diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..6f55ffb Binary files /dev/null and b/.DS_Store differ diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..8584905 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,11 @@ +{ + "extends": [ + "@eslint-kit/patch", + "@eslint-kit/base", + "@eslint-kit/typescript", + "@eslint-kit/node", + "@eslint-kit/react", + "@eslint-kit/prettier" + ], + "parser": "@typescript-eslint/parser" +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3c3629e..21db012 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ node_modules + +.next/ + +.next diff --git a/.next/build-manifest.json b/.next/build-manifest.json deleted file mode 100644 index ef17f05..0000000 --- a/.next/build-manifest.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "polyfillFiles": [ - "static/chunks/polyfills.js" - ], - "devFiles": [ - "static/chunks/react-refresh.js" - ], - "ampDevFiles": [], - "lowPriorityFiles": [ - "static/development/_buildManifest.js", - "static/development/_ssgManifest.js" - ], - "rootMainFiles": [], - "pages": { - "/": [ - "static/chunks/webpack.js", - "static/chunks/main.js", - "static/chunks/pages/index.js" - ], - "/_app": [ - "static/chunks/webpack.js", - "static/chunks/main.js", - "static/chunks/pages/_app.js" - ], - "/_error": [ - "static/chunks/webpack.js", - "static/chunks/main.js", - "static/chunks/pages/_error.js" - ] - }, - "ampFirstPages": [] -} \ No newline at end of file diff --git a/.next/cache/webpack/client-development/0.pack.gz b/.next/cache/webpack/client-development/0.pack.gz deleted file mode 100644 index b75cc2d..0000000 Binary files a/.next/cache/webpack/client-development/0.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/1.pack.gz b/.next/cache/webpack/client-development/1.pack.gz deleted file mode 100644 index b62a289..0000000 Binary files a/.next/cache/webpack/client-development/1.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/10.pack.gz b/.next/cache/webpack/client-development/10.pack.gz deleted file mode 100644 index d1d8c4b..0000000 Binary files a/.next/cache/webpack/client-development/10.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/11.pack.gz b/.next/cache/webpack/client-development/11.pack.gz deleted file mode 100644 index 0a1a629..0000000 Binary files a/.next/cache/webpack/client-development/11.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/12.pack.gz b/.next/cache/webpack/client-development/12.pack.gz deleted file mode 100644 index f354ced..0000000 Binary files a/.next/cache/webpack/client-development/12.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/2.pack.gz b/.next/cache/webpack/client-development/2.pack.gz deleted file mode 100644 index dc16dbe..0000000 Binary files a/.next/cache/webpack/client-development/2.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/3.pack.gz b/.next/cache/webpack/client-development/3.pack.gz deleted file mode 100644 index 29bcf89..0000000 Binary files a/.next/cache/webpack/client-development/3.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/4.pack.gz b/.next/cache/webpack/client-development/4.pack.gz deleted file mode 100644 index 668da6e..0000000 Binary files a/.next/cache/webpack/client-development/4.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/5.pack.gz b/.next/cache/webpack/client-development/5.pack.gz deleted file mode 100644 index 96e08e5..0000000 Binary files a/.next/cache/webpack/client-development/5.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/6.pack.gz b/.next/cache/webpack/client-development/6.pack.gz deleted file mode 100644 index 149a05b..0000000 Binary files a/.next/cache/webpack/client-development/6.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/7.pack.gz b/.next/cache/webpack/client-development/7.pack.gz deleted file mode 100644 index 8f3ab67..0000000 Binary files a/.next/cache/webpack/client-development/7.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/8.pack.gz b/.next/cache/webpack/client-development/8.pack.gz deleted file mode 100644 index b039659..0000000 Binary files a/.next/cache/webpack/client-development/8.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/9.pack.gz b/.next/cache/webpack/client-development/9.pack.gz deleted file mode 100644 index a36b2cc..0000000 Binary files a/.next/cache/webpack/client-development/9.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/index.pack.gz b/.next/cache/webpack/client-development/index.pack.gz deleted file mode 100644 index 8d14be8..0000000 Binary files a/.next/cache/webpack/client-development/index.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/index.pack.gz.old b/.next/cache/webpack/client-development/index.pack.gz.old deleted file mode 100644 index 42c2468..0000000 Binary files a/.next/cache/webpack/client-development/index.pack.gz.old and /dev/null differ diff --git a/.next/cache/webpack/server-development/0.pack.gz b/.next/cache/webpack/server-development/0.pack.gz deleted file mode 100644 index 21130c5..0000000 Binary files a/.next/cache/webpack/server-development/0.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/1.pack.gz b/.next/cache/webpack/server-development/1.pack.gz deleted file mode 100644 index 19e17d8..0000000 Binary files a/.next/cache/webpack/server-development/1.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/10.pack.gz b/.next/cache/webpack/server-development/10.pack.gz deleted file mode 100644 index ee0f0b0..0000000 Binary files a/.next/cache/webpack/server-development/10.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/11.pack.gz b/.next/cache/webpack/server-development/11.pack.gz deleted file mode 100644 index c65b1e7..0000000 Binary files a/.next/cache/webpack/server-development/11.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/12.pack.gz b/.next/cache/webpack/server-development/12.pack.gz deleted file mode 100644 index 619c552..0000000 Binary files a/.next/cache/webpack/server-development/12.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/13.pack.gz b/.next/cache/webpack/server-development/13.pack.gz deleted file mode 100644 index d7880c5..0000000 Binary files a/.next/cache/webpack/server-development/13.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/2.pack.gz b/.next/cache/webpack/server-development/2.pack.gz deleted file mode 100644 index 7c504d8..0000000 Binary files a/.next/cache/webpack/server-development/2.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/3.pack.gz b/.next/cache/webpack/server-development/3.pack.gz deleted file mode 100644 index 7011ada..0000000 Binary files a/.next/cache/webpack/server-development/3.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/4.pack.gz b/.next/cache/webpack/server-development/4.pack.gz deleted file mode 100644 index 369aeb3..0000000 Binary files a/.next/cache/webpack/server-development/4.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/5.pack.gz b/.next/cache/webpack/server-development/5.pack.gz deleted file mode 100644 index 5d54c80..0000000 Binary files a/.next/cache/webpack/server-development/5.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/6.pack.gz b/.next/cache/webpack/server-development/6.pack.gz deleted file mode 100644 index 03486b3..0000000 Binary files a/.next/cache/webpack/server-development/6.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/7.pack.gz b/.next/cache/webpack/server-development/7.pack.gz deleted file mode 100644 index 737169f..0000000 Binary files a/.next/cache/webpack/server-development/7.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/8.pack.gz b/.next/cache/webpack/server-development/8.pack.gz deleted file mode 100644 index 46edeb6..0000000 Binary files a/.next/cache/webpack/server-development/8.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/9.pack.gz b/.next/cache/webpack/server-development/9.pack.gz deleted file mode 100644 index 43205db..0000000 Binary files a/.next/cache/webpack/server-development/9.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/index.pack.gz b/.next/cache/webpack/server-development/index.pack.gz deleted file mode 100644 index ecd604c..0000000 Binary files a/.next/cache/webpack/server-development/index.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/index.pack.gz.old b/.next/cache/webpack/server-development/index.pack.gz.old deleted file mode 100644 index 60f593c..0000000 Binary files a/.next/cache/webpack/server-development/index.pack.gz.old and /dev/null differ diff --git a/.next/package.json b/.next/package.json deleted file mode 100644 index 7156107..0000000 --- a/.next/package.json +++ /dev/null @@ -1 +0,0 @@ -{"type": "commonjs"} \ No newline at end of file diff --git a/.next/react-loadable-manifest.json b/.next/react-loadable-manifest.json deleted file mode 100644 index e83b357..0000000 --- a/.next/react-loadable-manifest.json +++ /dev/null @@ -1,250 +0,0 @@ -{ - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Arc-QDJFTGH2.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Arc-QDJFTGH2.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Brave-YATE5BIM.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Brave-YATE5BIM.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Browser-HN7O5MN7.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Browser-HN7O5MN7.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Chrome-LGF33C3S.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Chrome-LGF33C3S.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Edge-K2JEGI5S.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Edge-K2JEGI5S.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Firefox-NP5SYEK5.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Firefox-NP5SYEK5.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Opera-KV54PXPA.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Opera-KV54PXPA.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Safari-2QIYKJ4P.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Safari-2QIYKJ4P.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./arbitrum-LYDBJZP3.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./arbitrum-LYDBJZP3.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./assets-26YY4GVD.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./assets-26YY4GVD.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./avalanche-TFPKP544.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./avalanche-TFPKP544.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./base-3MIUIYGA.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./base-3MIUIYGA.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./bsc-S2GSW6VX.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./bsc-S2GSW6VX.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./create-PAJXJDV3.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./create-PAJXJDV3.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./cronos-DQKKIEX7.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./cronos-DQKKIEX7.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./ethereum-4FY57XJF.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./ethereum-4FY57XJF.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./hardhat-ARRFHFKB.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./hardhat-ARRFHFKB.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./login-ZSMM5UYL.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./login-ZSMM5UYL.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./optimism-UUP5Y7TB.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./optimism-UUP5Y7TB.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./polygon-Z4QITDL7.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./polygon-Z4QITDL7.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./refresh-5KGGHTJP.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./refresh-5KGGHTJP.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./scan-HZBLXLM4.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./scan-HZBLXLM4.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./sign-FZVB2CS6.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./sign-FZVB2CS6.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./zora-KVO7WIOK.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./zora-KVO7WIOK.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./braveWallet-BTBH4MDN.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./braveWallet-BTBH4MDN.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./coinbaseWallet-2OUR5TUP.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./coinbaseWallet-2OUR5TUP.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./injectedWallet-EUKDEAIU.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./injectedWallet-EUKDEAIU.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./metaMaskWallet-ORHUNQRP.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./metaMaskWallet-ORHUNQRP.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./rainbowWallet-GGU64QEI.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./rainbowWallet-GGU64QEI.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./safeWallet-DFMLSLCR.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./safeWallet-DFMLSLCR.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js.js" - ] - }, - "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./walletConnectWallet-D6ZADJM7.js": { - "id": "../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./walletConnectWallet-D6ZADJM7.js", - "files": [ - "static/chunks/node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js.js" - ] - }, - "../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js -> @coinbase/wallet-sdk": { - "id": "../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js -> @coinbase/wallet-sdk", - "files": [ - "static/chunks/node_modules_coinbase_wallet-sdk_dist_index_js.js" - ] - }, - "../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js -> @walletconnect/ethereum-provider": { - "id": "../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js -> @walletconnect/ethereum-provider", - "files": [ - "static/chunks/node_modules_walletconnect_ethereum-provider_dist_index_es_js.js" - ] - }, - "../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js -> @walletconnect/legacy-provider": { - "id": "../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js -> @walletconnect/legacy-provider", - "files": [ - "static/chunks/node_modules_walletconnect_legacy-provider_dist_esm_index_js.js" - ] - }, - "../node_modules/@walletconnect/ethereum-provider/dist/index.es.js -> @walletconnect/modal": { - "id": "../node_modules/@walletconnect/ethereum-provider/dist/index.es.js -> @walletconnect/modal", - "files": [ - "static/chunks/node_modules_walletconnect_modal_dist_index_js.js" - ] - }, - "../node_modules/@walletconnect/modal/dist/index.js -> @walletconnect/modal-ui": { - "id": "../node_modules/@walletconnect/modal/dist/index.js -> @walletconnect/modal-ui", - "files": [ - "static/chunks/node_modules_walletconnect_modal-ui_dist_index_js.js" - ] - }, - "../node_modules/viem/dist/cjs/actions/public/call.js -> ../../utils/ccip.js": { - "id": "../node_modules/viem/dist/cjs/actions/public/call.js -> ../../utils/ccip.js", - "files": [] - }, - "../node_modules/viem/dist/cjs/utils/rpc.js -> isomorphic-ws": { - "id": "../node_modules/viem/dist/cjs/utils/rpc.js -> isomorphic-ws", - "files": [ - "static/chunks/node_modules_isomorphic-ws_browser_js.js" - ] - }, - "../node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1": { - "id": "../node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1", - "files": [ - "static/chunks/node_modules_noble_curves_esm_secp256k1_js.js" - ] - }, - "../node_modules/viem/dist/esm/actions/public/call.js -> ../../utils/ccip.js": { - "id": "../node_modules/viem/dist/esm/actions/public/call.js -> ../../utils/ccip.js", - "files": [] - }, - "../node_modules/viem/dist/esm/utils/rpc.js -> isomorphic-ws": { - "id": "../node_modules/viem/dist/esm/utils/rpc.js -> isomorphic-ws", - "files": [ - "static/chunks/node_modules_isomorphic-ws_browser_js.js" - ] - }, - "../node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1": { - "id": "../node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1", - "files": [ - "static/chunks/node_modules_noble_curves_esm_secp256k1_js.js" - ] - } -} \ No newline at end of file diff --git a/.next/server/_error.js b/.next/server/_error.js deleted file mode 100644 index 49accbe..0000000 --- a/.next/server/_error.js +++ /dev/null @@ -1,397 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "/_error"; -exports.ids = ["/_error"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2hlbHBlcnMuanM/OTlmZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module */ \"./node_modules/next/dist/server/future/route-modules/pages/module.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-route-loader/helpers */ \"./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! private-next-pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! private-next-pages/_app */ \"./pages/_app.tsx\");\n/* harmony import */ var _node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/next/dist/pages/_error.js */ \"./node_modules/next/dist/pages/_error.js\");\n/* harmony import */ var _node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__);\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__]);\nprivate_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n// @ts-ignore this need to be imported from next/dist to be external\n\n\n\n// Import the app and document modules.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// Import the userland code.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\nconst PagesRouteModule = next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule;\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"getServerSideProps\");\nconst config = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"config\");\nconst reportWebVitals = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/_error\",\n pathname: \"/_error\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Document: (private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: _node_modules_next_dist_pages_error_js__WEBPACK_IMPORTED_MODULE_5__\n});\n\n//# sourceMappingURL=pages.js.map\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGX2Vycm9yJnByZWZlcnJlZFJlZ2lvbj0mYWJzb2x1dGVQYWdlUGF0aD0uJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZwYWdlcyUyRl9lcnJvci5qcyZhYnNvbHV0ZUFwcFBhdGg9cHJpdmF0ZS1uZXh0LXBhZ2VzJTJGX2FwcCZhYnNvbHV0ZURvY3VtZW50UGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfZG9jdW1lbnQmbWlkZGxld2FyZUNvbmZpZ0Jhc2U2ND1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQzZFO0FBQ2Q7QUFDbUI7QUFDbEY7QUFDQTtBQUNvRDtBQUNwRDtBQUMwQztBQUMxQztBQUNBO0FBQ3FFO0FBQ3JFLHlCQUF5QixnR0FBdUI7QUFDaEQ7QUFDQSxpRUFBZSxnR0FBSyxDQUFDLG1FQUFRLFlBQVksRUFBQztBQUMxQztBQUNPLHVCQUF1QixnR0FBSyxDQUFDLG1FQUFRO0FBQ3JDLHVCQUF1QixnR0FBSyxDQUFDLG1FQUFRO0FBQ3JDLDJCQUEyQixnR0FBSyxDQUFDLG1FQUFRO0FBQ3pDLGVBQWUsZ0dBQUssQ0FBQyxtRUFBUTtBQUM3Qix3QkFBd0IsZ0dBQUssQ0FBQyxtRUFBUTtBQUM3QztBQUNPLGdDQUFnQyxnR0FBSyxDQUFDLG1FQUFRO0FBQzlDLGdDQUFnQyxnR0FBSyxDQUFDLG1FQUFRO0FBQzlDLGlDQUFpQyxnR0FBSyxDQUFDLG1FQUFRO0FBQy9DLGdDQUFnQyxnR0FBSyxDQUFDLG1FQUFRO0FBQzlDLG9DQUFvQyxnR0FBSyxDQUFDLG1FQUFRO0FBQ3pEO0FBQ087QUFDUDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsS0FBSztBQUNMLFlBQVk7QUFDWixDQUFDOztBQUVELGlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLz81NTlmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmUgdGhpcyBuZWVkIHRvIGJlIGltcG9ydGVkIGZyb20gbmV4dC9kaXN0IHRvIGJlIGV4dGVybmFsXG5pbXBvcnQgKiBhcyBtb2R1bGUgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuaW1wb3J0IHsgaG9pc3QgfSBmcm9tIFwibmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzXCI7XG4vLyBJbXBvcnQgdGhlIGFwcCBhbmQgZG9jdW1lbnQgbW9kdWxlcy5cbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcbmltcG9ydCBEb2N1bWVudCBmcm9tIFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19kb2N1bWVudFwiO1xuLy8gQHRzLWV4cGVjdC1lcnJvciAtIHJlcGxhY2VkIGJ5IHdlYnBhY2svdHVyYm9wYWNrIGxvYWRlclxuaW1wb3J0IEFwcCBmcm9tIFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19hcHBcIjtcbi8vIEltcG9ydCB0aGUgdXNlcmxhbmQgY29kZS5cbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcbmltcG9ydCAqIGFzIHVzZXJsYW5kIGZyb20gXCIuL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvcGFnZXMvX2Vycm9yLmpzXCI7XG5jb25zdCBQYWdlc1JvdXRlTW9kdWxlID0gbW9kdWxlLlBhZ2VzUm91dGVNb2R1bGU7XG4vLyBSZS1leHBvcnQgdGhlIGNvbXBvbmVudCAoc2hvdWxkIGJlIHRoZSBkZWZhdWx0IGV4cG9ydCkuXG5leHBvcnQgZGVmYXVsdCBob2lzdCh1c2VybGFuZCwgXCJkZWZhdWx0XCIpO1xuLy8gUmUtZXhwb3J0IG1ldGhvZHMuXG5leHBvcnQgY29uc3QgZ2V0U3RhdGljUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTdGF0aWNQcm9wc1wiKTtcbmV4cG9ydCBjb25zdCBnZXRTdGF0aWNQYXRocyA9IGhvaXN0KHVzZXJsYW5kLCBcImdldFN0YXRpY1BhdGhzXCIpO1xuZXhwb3J0IGNvbnN0IGdldFNlcnZlclNpZGVQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcImdldFNlcnZlclNpZGVQcm9wc1wiKTtcbmV4cG9ydCBjb25zdCBjb25maWcgPSBob2lzdCh1c2VybGFuZCwgXCJjb25maWdcIik7XG5leHBvcnQgY29uc3QgcmVwb3J0V2ViVml0YWxzID0gaG9pc3QodXNlcmxhbmQsIFwicmVwb3J0V2ViVml0YWxzXCIpO1xuLy8gUmUtZXhwb3J0IGxlZ2FjeSBtZXRob2RzLlxuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1Byb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUHJvcHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUGF0aHMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTdGF0aWNQYXRoc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQYXJhbXMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTdGF0aWNQYXJhbXNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U2VydmVyUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTZXJ2ZXJQcm9wc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTZXJ2ZXJTaWRlUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTZXJ2ZXJTaWRlUHJvcHNcIik7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBQYWdlc1JvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5QQUdFUyxcbiAgICAgICAgcGFnZTogXCIvX2Vycm9yXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9fZXJyb3JcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIlxuICAgIH0sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgICBBcHAsXG4gICAgICAgIERvY3VtZW50XG4gICAgfSxcbiAgICB1c2VybGFuZFxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhZ2VzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_document.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/pages/_document.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"../shared/lib/constants\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"../server/get-page-files\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"../server/htmlescape\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontext = __webpack_require__(/*! ../shared/lib/html-context */ \"../shared/lib/html-context\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: polyfill,\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props, _el_props_dangerouslySetInnerHTML;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props, _child_props_dangerouslySetInnerHTML;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !userDefinedConfig && /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }), /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }), (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n }));\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, webWorkerScripts, beforeInteractiveScripts);\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in \n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ _react.default.createElement(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n key: fontFile,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n });\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n key: file,\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file.src,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n })),\n ...preloadFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props, _c_props_href;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ _react.default.createElement(\"head\", getHeadHTMLProps(this.props), this.context.isDevelopment && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n }))), head, this.context.strictNextHead ? null : /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }), children, optimizeFonts && /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-font-preconnect\"\n }), nextFontLinkTags.preconnect, nextFontLinkTags.preload, true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }), !hasCanonicalRel && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"../server/utils\").cleanAmpPath)(dangerousAsPath)\n }), /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }), /*#__PURE__*/ _react.default.createElement(AmpStyles, {\n styles: styles\n }), /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })), /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })), !( true && inAmpMode) && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }), this.getBeforeInteractiveInlineScripts(), !optimizeCss && this.getCssLinks(files), !optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), optimizeCss && this.getCssLinks(files), optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }), styles || null), /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || []));\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find, _children_find_props, _children_find1, _children_find_props1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }), ampDevFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n })));\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n })) : null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }), disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files));\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ _react.default.createElement(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ _react.default.createElement(\"next-js-internal-body-render-target\", null);\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLFNBQVMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3JFLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHdEQUF5QjtBQUNwRCxNQUFNRSxnQkFBZ0JGLG1CQUFPQSxDQUFDLDBEQUEwQjtBQUN4RCxNQUFNRyxjQUFjSCxtQkFBT0EsQ0FBQyxrREFBc0I7QUFDbEQsTUFBTUksV0FBVyxXQUFXLEdBQUdMLHlCQUF5QkMsbUJBQU9BLENBQUMsaUVBQWlCO0FBQ2pGLE1BQU1LLGVBQWVMLG1CQUFPQSxDQUFDLDhEQUE0QjtBQUN6RCxTQUFTRCx5QkFBeUJPLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDaEIsU0FBU2dCO0lBQ2I7QUFDSjtBQUNBLDhFQUE4RSxHQUFHLE1BQU1FLHdCQUF3QixJQUFJQztBQUNuSCxTQUFTQyxpQkFBaUJDLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxTQUFTO0lBQ3hELE1BQU1DLGNB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LEdBQUdELDBCQUU3QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcz8zYjhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSGVhZDogbnVsbCxcbiAgICBOZXh0U2NyaXB0OiBudWxsLFxuICAgIEh0bWw6IG51bGwsXG4gICAgTWFpbjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZDtcbiAgICB9LFxuICAgIE5leHRTY3JpcHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNjcmlwdDtcbiAgICB9LFxuICAgIEh0bWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSHRtbDtcbiAgICB9LFxuICAgIE1haW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWFpbjtcbiAgICB9LFxuICAgIC8qKlxuICogYERvY3VtZW50YCBjb21wb25lbnQgaGFuZGxlcyB0aGUgaW5pdGlhbCBgZG9jdW1lbnRgIG1hcmt1cCBhbmQgcmVuZGVycyBvbmx5IG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqIENvbW1vbmx5IHVzZWQgZm9yIGltcGxlbWVudGluZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcgZm9yIGBjc3MtaW4tanNgIGxpYnJhcmllcy5cbiAqLyBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERvY3VtZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfZ2V0cGFnZWZpbGVzID0gcmVxdWlyZShcIi4uL3NlcnZlci9nZXQtcGFnZS1maWxlc1wiKTtcbmNvbnN0IF9odG1sZXNjYXBlID0gcmVxdWlyZShcIi4uL3NlcnZlci9odG1sZXNjYXBlXCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpKTtcbmNvbnN0IF9odG1sY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2h0bWwtY29udGV4dFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuLyoqIFNldCBvZiBwYWdlcyB0aGF0IGhhdmUgdHJpZ2dlcmVkIGEgbGFyZ2UgZGF0YSB3YXJuaW5nIG9uIHByb2R1Y3Rpb24gbW9kZS4gKi8gY29uc3QgbGFyZ2VQYWdlRGF0YVdhcm5pbmdzID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gZ2V0RG9jdW1lbnRGaWxlcyhidWlsZE1hbmlmZXN0LCBwYXRobmFtZSwgaW5BbXBNb2RlKSB7XG4gICAgY29uc3Qgc2hhcmVkRmlsZXMgPSAoMCwgX2dldHBhZ2VmaWxlcy5nZXRQYWdlRmlsZXMpKGJ1aWxkTWFuaWZlc3QsIFwiL19hcHBcIik7XG4gICAgY29uc3QgcGFnZUZpbGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBbXSA6ICgwLCBfZ2V0cGFnZWZpbGVzLmdldFBhZ2VGaWxlcykoYnVpbGRNYW5pZmVzdCwgcGF0aG5hbWUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNoYXJlZEZpbGVzLFxuICAgICAgICBwYWdlRmlsZXMsXG4gICAgICAgIGFsbEZpbGVzOiBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KFtcbiAgICAgICAgICAgICAgICAuLi5zaGFyZWRGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5wYWdlRmlsZXNcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF1cbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UG9seWZpbGxTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgLy8gcG9seWZpbGxzLmpzIGhhcyB0byBiZSByZW5kZXJlZCBhcyBub21vZHVsZSB3aXRob3V0IGFzeW5jXG4gICAgLy8gSXQgYWxzbyBoYXMgdG8gYmUgdGhlIGZpcnN0IHNjcmlwdCB0byBsb2FkXG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGJ1aWxkTWFuaWZlc3QgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcy5maWx0ZXIoKHBvbHlmaWxsKT0+cG9seWZpbGwuZW5kc1dpdGgoXCIuanNcIikgJiYgIXBvbHlmaWxsLmVuZHNXaXRoKFwiLm1vZHVsZS5qc1wiKSkubWFwKChwb2x5ZmlsbCk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBrZXk6IHBvbHlmaWxsLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgIG5vTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtwb2x5ZmlsbH0ke2Fzc2V0UXVlcnlTdHJpbmd9YFxuICAgICAgICB9KSk7XG59XG5mdW5jdGlvbiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkge1xuICAgIHJldHVybiAhIWNoaWxkICYmICEhY2hpbGQucHJvcHM7XG59XG5mdW5jdGlvbiBBbXBTdHlsZXMoeyBzdHlsZXMgIH0pIHtcbiAgICBpZiAoIXN0eWxlcykgcmV0dXJuIG51bGw7XG4gICAgLy8gdHJ5IHRvIHBhcnNlIHN0eWxlcyBmcm9tIGZyYWdtZW50IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgY29uc3QgY3VyU3R5bGVzID0gQXJyYXkuaXNBcnJheShzdHlsZXMpID8gc3R5bGVzIDogW107XG4gICAgaWYgKC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIHN0eWxlcy5wcm9wcyAmJiAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICBBcnJheS5pc0FycmF5KHN0eWxlcy5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgaGFzU3R5bGVzID0gKGVsKT0+e1xuICAgICAgICAgICAgdmFyIF9lbF9wcm9wcywgX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGVsID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzID0gZWwucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2VsX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgICAgIHN0eWxlcy5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkLmZvckVhY2goKGVsKT0+aGFzU3R5bGVzKGVsKSAmJiBjdXJTdHlsZXMucHVzaChlbCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTdHlsZXMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY3VyU3R5bGVzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyogQWRkIGN1c3RvbSBzdHlsZXMgYmVmb3JlIEFNUCBzdHlsZXMgdG8gcHJldmVudCBhY2NpZGVudGFsIG92ZXJyaWRlcyAqLyByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICBcImFtcC1jdXN0b21cIjogXCJcIixcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogY3VyU3R5bGVzLm1hcCgoc3R5bGUpPT5zdHlsZS5wcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpLmpvaW4oXCJcIikucmVwbGFjZSgvXFwvXFwqIyBzb3VyY2VNYXBwaW5nVVJMPS4qXFwqXFwvL2csIFwiXCIpLnJlcGxhY2UoL1xcL1xcKkAgc291cmNlVVJMPS4qP1xcKlxcLy9nLCBcIlwiKVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljQ2h1bmtzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGlzRGV2ZWxvcG1lbnQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLmpzXCIpIHx8IGZpbGVzLmFsbEZpbGVzLmluY2x1ZGVzKGZpbGUpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBhc3luYzogIWlzRGV2ZWxvcG1lbnQgJiYgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRTY3JpcHRzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIHZhciBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzO1xuICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBidWlsZE1hbmlmZXN0ICwgaXNEZXZlbG9wbWVudCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAsIGNyb3NzT3JpZ2luICB9ID0gY29udGV4dDtcbiAgICBjb25zdCBub3JtYWxTY3JpcHRzID0gZmlsZXMuYWxsRmlsZXMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgY29uc3QgbG93UHJpb3JpdHlTY3JpcHRzID0gKF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMgPSBidWlsZE1hbmlmZXN0Lmxvd1ByaW9yaXR5RmlsZXMpID09IG51bGwgPyB2b2lkIDAgOiBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuanNcIikpO1xuICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5vcm1hbFNjcmlwdHMsXG4gICAgICAgIC4uLmxvd1ByaW9yaXR5U2NyaXB0c1xuICAgIF0ubWFwKChmaWxlKT0+e1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFByZU5leHRXb3JrZXJTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIHNjcmlwdExvYWRlciAsIGNyb3NzT3JpZ2luICwgbmV4dFNjcmlwdFdvcmtlcnMgIH0gPSBjb250ZXh0O1xuICAgIC8vIGRpc2FibGUgYG5leHRTY3JpcHRXb3JrZXJzYCBpbiBlZGdlIHJ1bnRpbWVcbiAgICBpZiAoIW5leHRTY3JpcHRXb3JrZXJzIHx8IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHJldHVybiBudWxsO1xuICAgIHRyeSB7XG4gICAgICAgIGxldCB7IHBhcnR5dG93blNuaXBwZXQgIH0gPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcIkBidWlsZGVyLmlvL3BhcnR5dG93bi9pbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgXTtcbiAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSB1c2VyIGhhcyBkZWZpbmVkIHRoZWlyIG93biBQYXJ0eXRvd24gY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lZENvbmZpZyA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+e1xuICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcywgX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGhhc0NvbXBvbmVudFByb3BzKGNoaWxkKSAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfY2hpbGRfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sLmxlbmd0aCkgJiYgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIiBpbiBjaGlsZC5wcm9wcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsICF1c2VyRGVmaW5lZENvbmZpZyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgXG4gICAgICAgICAgICBwYXJ0eXRvd24gPSB7XG4gICAgICAgICAgICAgIGxpYjogXCIke2Fzc2V0UHJlZml4fS9fbmV4dC9zdGF0aWMvfnBhcnR5dG93bi9cIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93blwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IHBhcnR5dG93blNuaXBwZXQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgKHNjcmlwdExvYWRlci53b3JrZXIgfHwgW10pLm1hcCgoZmlsZSwgaW5kZXgpPT57XG4gICAgICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgc3JjICwgY2hpbGRyZW46IHNjcmlwdENoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBzcmNQcm9wcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNyYykge1xuICAgICAgICAgICAgICAgIC8vIFVzZSBleHRlcm5hbCBzcmMgaWYgcHJvdmlkZWRcbiAgICAgICAgICAgICAgICBzcmNQcm9wcy5zcmMgPSBzcmM7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgIC8vIEVtYmVkIGlubGluZSBzY3JpcHQgaWYgcHJvdmlkZWQgd2l0aCBkYW5nZXJvdXNseVNldElubmVySFRNTFxuICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgc3JjUHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSB7XG4gICAgICAgICAgICAgICAgICAgIF9faHRtbDogdHlwZW9mIHNjcmlwdENoaWxkcmVuID09PSBcInN0cmluZ1wiID8gc2NyaXB0Q2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KHNjcmlwdENoaWxkcmVuKSA/IHNjcmlwdENoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB1c2FnZSBvZiBuZXh0L3NjcmlwdC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBhIHNyYyBhdHRyaWJ1dGUgb3IgYW4gaW5saW5lIHNjcmlwdD8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1zY3JpcHRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zcmNQcm9wcyxcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRleHQvcGFydHl0b3duXCIsXG4gICAgICAgICAgICAgICAga2V5OiBzcmMgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwid29ya2VyXCIsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IHNjcmlwdExvYWRlciAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgY3Jvc3NPcmlnaW4gIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHdlYldvcmtlclNjcmlwdHMgPSBnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyhjb250ZXh0LCBwcm9wcyk7XG4gICAgY29uc3QgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzID0gKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkuZmlsdGVyKChzY3JpcHQpPT5zY3JpcHQuc3JjKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgICAgICBrZXk6IHNjcmlwdFByb3BzLnNyYyB8fCBpbmRleCxcbiAgICAgICAgICAgIGRlZmVyOiBzY3JpcHRQcm9wcy5kZWZlciA/PyAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcImJlZm9yZUludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgd2ViV29ya2VyU2NyaXB0cywgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzKTtcbn1cbmZ1bmN0aW9uIGdldEhlYWRIVE1MUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB7IGNyb3NzT3JpZ2luICwgbm9uY2UgLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIC8vIFRoaXMgYXNzaWdubWVudCBpcyBuZWNlc3NhcnkgZm9yIGFkZGl0aW9uYWwgdHlwZSBjaGVja2luZyB0byBhdm9pZCB1bnN1cHBvcnRlZCBhdHRyaWJ1dGVzIGluIDxoZWFkPlxuICAgIGNvbnN0IGhlYWRQcm9wcyA9IHJlc3RQcm9wcztcbiAgICByZXR1cm4gaGVhZFByb3BzO1xufVxuZnVuY3Rpb24gZ2V0QW1wUGF0aChhbXBQYXRoLCBhc1BhdGgpIHtcbiAgICByZXR1cm4gYW1wUGF0aCB8fCBgJHthc1BhdGh9JHthc1BhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIn1hbXA9MWA7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXggPSBcIlwiKSB7XG4gICAgaWYgKCFuZXh0Rm9udE1hbmlmZXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgICAgICAgICAgcHJlbG9hZDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tcIi9fYXBwXCJdO1xuICAgIGNvbnN0IHBhZ2VGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tkYW5nZXJvdXNBc1BhdGhdO1xuICAgIGNvbnN0IHByZWxvYWRlZEZvbnRGaWxlcyA9IFtcbiAgICAgICAgLi4uYXBwRm9udHNFbnRyeSA/PyBbXSxcbiAgICAgICAgLi4ucGFnZUZvbnRzRW50cnkgPz8gW11cbiAgICBdO1xuICAgIC8vIElmIG5vIGZvbnQgZmlsZXMgc2hvdWxkIHByZWxvYWQgYnV0IHRoZXJlJ3MgYW4gZW50cnkgZm9yIHRoZSBwYXRoLCBhZGQgYSBwcmVjb25uZWN0IHRhZy5cbiAgICBjb25zdCBwcmVjb25uZWN0VG9TZWxmID0gISEocHJlbG9hZGVkRm9udEZpbGVzLmxlbmd0aCA9PT0gMCAmJiAoYXBwRm9udHNFbnRyeSB8fCBwYWdlRm9udHNFbnRyeSkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWNvbm5lY3Q6IHByZWNvbm5lY3RUb1NlbGYgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWZvbnRcIjogbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1VzaW5nU2l6ZUFkanVzdCA/IFwic2l6ZS1hZGp1c3RcIiA6IFwiXCIsXG4gICAgICAgICAgICByZWw6IFwicHJlY29ubmVjdFwiLFxuICAgICAgICAgICAgaHJlZjogXCIvXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogXCJhbm9ueW1vdXNcIlxuICAgICAgICB9KSA6IG51bGwsXG4gICAgICAgIHByZWxvYWQ6IHByZWxvYWRlZEZvbnRGaWxlcyA/IHByZWxvYWRlZEZvbnRGaWxlcy5tYXAoKGZvbnRGaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gL1xcLih3b2ZmfHdvZmYyfGVvdHx0dGZ8b3RmKSQvLmV4ZWMoZm9udEZpbGUpWzFdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZm9udEZpbGUsXG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZm9udEZpbGUpfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IGBmb250LyR7ZXh0fWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCIsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBmb250RmlsZS5pbmNsdWRlcyhcIi1zXCIpID8gXCJzaXplLWFkanVzdFwiIDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pIDogbnVsbFxuICAgIH07XG59XG5jbGFzcyBIZWFkIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgI18gPSAoKCk9PntcbiAgICAgICAgdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dC5IdG1sQ29udGV4dDtcbiAgICB9KSgpO1xuICAgIGdldENzc0xpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgZHluYW1pY0ltcG9ydHMgLCBjcm9zc09yaWdpbiAsIG9wdGltaXplQ3NzICwgb3B0aW1pemVGb250cyAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGYpPT5mLmVuZHNXaXRoKFwiLmNzc1wiKSk7XG4gICAgICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gbmV3IFNldChmaWxlcy5zaGFyZWRGaWxlcyk7XG4gICAgICAgIC8vIFVubWFuYWdlZCBmaWxlcyBhcmUgQ1NTIGZpbGVzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZVxuICAgICAgICAvLyB3ZWJwYWNrIHJ1bnRpbWUgKGBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbmApLlxuICAgICAgICBsZXQgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoW10pO1xuICAgICAgICBsZXQgZHluYW1pY0Nzc0ZpbGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGR5bmFtaWNJbXBvcnRzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuY3NzXCIpKSkpO1xuICAgICAgICBpZiAoZHluYW1pY0Nzc0ZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgU2V0KGNzc0ZpbGVzKTtcbiAgICAgICAgICAgIGR5bmFtaWNDc3NGaWxlcyA9IGR5bmFtaWNDc3NGaWxlcy5maWx0ZXIoKGYpPT4hKGV4aXN0aW5nLmhhcyhmKSB8fCBzaGFyZWRGaWxlcy5oYXMoZikpKTtcbiAgICAgICAgICAgIHVubWFuZ2VkRmlsZXMgPSBuZXcgU2V0KGR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgICAgICBjc3NGaWxlcy5wdXNoKC4uLmR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNzc0xpbmtFbGVtZW50cyA9IFtdO1xuICAgICAgICBjc3NGaWxlcy5mb3JFYWNoKChmaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgaXNTaGFyZWRGaWxlID0gc2hhcmVkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgaWYgKCFvcHRpbWl6ZUNzcykge1xuICAgICAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGAke2ZpbGV9LXByZWxvYWRgLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzVW5tYW5hZ2VkRmlsZSA9IHVubWFuZ2VkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzLnB1c2goLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIHJlbDogXCJzdHlsZXNoZWV0XCIsXG4gICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uLWdcIjogaXNVbm1hbmFnZWRGaWxlID8gdW5kZWZpbmVkIDogaXNTaGFyZWRGaWxlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBcImRhdGEtbi1wXCI6IGlzVW5tYW5hZ2VkRmlsZSA/IHVuZGVmaW5lZCA6IGlzU2hhcmVkRmlsZSA/IHVuZGVmaW5lZCA6IFwiXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIG9wdGltaXplRm9udHMpIHtcbiAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cyA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjc3NMaW5rRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjc3NMaW5rRWxlbWVudHMubGVuZ3RoID09PSAwID8gbnVsbCA6IGNzc0xpbmtFbGVtZW50cztcbiAgICB9XG4gICAgZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLy8gRmlsdGVyIG91dCBudWxsZWQgc2NyaXB0c1xuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgc2NyaXB0TG9hZGVyICwgY3Jvc3NPcmlnaW4gIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHByZWxvYWRGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PntcbiAgICAgICAgICAgIHJldHVybiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUuc3JjLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogZmlsZS5zcmMsXG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLnByZWxvYWRGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCB7IHNjcmlwdExvYWRlciAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgeyBub25jZSAsIGNyb3NzT3JpZ2luICB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+IXNjcmlwdC5zcmMgJiYgKHNjcmlwdC5kYW5nZXJvdXNseVNldElubmVySFRNTCB8fCBzY3JpcHQuY2hpbGRyZW4pKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgY29uc3QgeyBzdHJhdGVneSAsIGNoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCBzcmMgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBodG1sID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCAmJiBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpIHtcbiAgICAgICAgICAgICAgICBodG1sID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGh0bWwgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuaWQgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IG5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4gfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBtYWtlU3R5bGVzaGVldEluZXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChub2RlLCAoYyk9PntcbiAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHMxO1xuICAgICAgICAgICAgaWYgKChjID09IG51bGwgPyB2b2lkIDAgOiBjLnR5cGUpID09PSBcImxpbmtcIiAmJiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzLmhyZWYpICYmIF9jb25zdGFudHMuT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTLnNvbWUoKHsgdXJsICB9KT0+e1xuICAgICAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHNfaHJlZjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wc19ocmVmID0gX2NfcHJvcHMuaHJlZikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzX2hyZWYuc3RhcnRzV2l0aCh1cmwpO1xuICAgICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWhyZWZcIjogYy5wcm9wcy5ocmVmLFxuICAgICAgICAgICAgICAgICAgICBocmVmOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wczEgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHMxLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoYy5wcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgLy8gQHR5cGVzL3JlYWN0IGJ1Zy4gUmV0dXJuZWQgdmFsdWUgZnJvbSAubWFwIHdpbGwgbm90IGJlIGBudWxsYCBpZiB5b3UgcGFzcyBpbiBgW251bGxdYFxuICAgICAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdHlsZXMgLCBhbXBQYXRoICwgaW5BbXBNb2RlICwgaHlicmlkQW1wICwgY2Fub25pY2FsQmFzZSAsIF9fTkVYVF9EQVRBX18gLCBkYW5nZXJvdXNBc1BhdGggLCBoZWFkVGFncyAsIHVuc3RhYmxlX3J1bnRpbWVKUyAsIHVuc3RhYmxlX0pzUHJlbG9hZCAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgb3B0aW1pemVDc3MgLCBvcHRpbWl6ZUZvbnRzICwgYXNzZXRQcmVmaXggLCBuZXh0Rm9udE1hbmlmZXN0ICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBkaXNhYmxlUnVudGltZUpTID0gdW5zdGFibGVfcnVudGltZUpTID09PSBmYWxzZTtcbiAgICAgICAgY29uc3QgZGlzYWJsZUpzUHJlbG9hZCA9IHVuc3RhYmxlX0pzUHJlbG9hZCA9PT0gZmFsc2UgfHwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nO1xuICAgICAgICB0aGlzLmNvbnRleHQuZG9jQ29tcG9uZW50c1JlbmRlcmVkLkhlYWQgPSB0cnVlO1xuICAgICAgICBsZXQgeyBoZWFkICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBsZXQgY3NzUHJlbG9hZHMgPSBbXTtcbiAgICAgICAgbGV0IG90aGVySGVhZEVsZW1lbnRzID0gW107XG4gICAgICAgIGlmIChoZWFkKSB7XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGMpPT57XG4gICAgICAgICAgICAgICAgbGV0IG1ldGFUYWc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhVGFnID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxXCJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjICYmIGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJwcmVsb2FkXCIgJiYgYy5wcm9wc1tcImFzXCJdID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyAmJiBjc3NQcmVsb2Fkcy5wdXNoKG1ldGFUYWcpO1xuICAgICAgICAgICAgICAgICAgICBjc3NQcmVsb2Fkcy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVRhZyAmJiAoYy50eXBlICE9PSBcIm1ldGFcIiB8fCAhYy5wcm9wc1tcImNoYXJTZXRcIl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJIZWFkRWxlbWVudHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGhlYWQgPSBjc3NQcmVsb2Fkcy5jb25jYXQob3RoZXJIZWFkRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodGhpcy5wcm9wcy5jaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAvLyBzaG93IGEgd2FybmluZyBpZiBIZWFkIGNvbnRhaW5zIDx0aXRsZT4gKG9ubHkgaW4gZGV2ZWxvcG1lbnQpXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgICAgICBjb25zdCBpc1JlYWN0SGVsbWV0ID0gY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF9wcm9wc1tcImRhdGEtcmVhY3QtaGVsbWV0XCJdO1xuICAgICAgICAgICAgICAgIGlmICghaXNSZWFjdEhlbG1ldCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2NoaWxkX3Byb3BzMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjaGlsZCA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQudHlwZSkgPT09IFwidGl0bGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiV2FybmluZzogPHRpdGxlPiBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC10aXRsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcIm1ldGFcIiAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMxID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHMxLm5hbWUpID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHZpZXdwb3J0IG1ldGEgdGFncyBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC12aWV3cG9ydC1tZXRhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBIZWFkYCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzICYmICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhc0FtcGh0bWxSZWwgPSBmYWxzZTtcbiAgICAgICAgbGV0IGhhc0Nhbm9uaWNhbFJlbCA9IGZhbHNlO1xuICAgICAgICAvLyBzaG93IHdhcm5pbmcgYW5kIHJlbW92ZSBjb25mbGljdGluZyBhbXAgaGVhZCB0YWdzXG4gICAgICAgIGhlYWQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5tYXAoaGVhZCB8fCBbXSwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKCFjaGlsZCkgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlICwgcHJvcHMgIH0gPSBjaGlsZDtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSkge1xuICAgICAgICAgICAgICAgIGxldCBiYWRQcm9wID0gXCJcIjtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJtZXRhXCIgJiYgcHJvcHMubmFtZSA9PT0gXCJ2aWV3cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSAnbmFtZT1cInZpZXdwb3J0XCInO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImNhbm9uaWNhbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Nhbm9uaWNhbFJlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcInNjcmlwdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYmxvY2sgaWZcbiAgICAgICAgICAgICAgICAgICAgLy8gMS4gaXQgaGFzIGEgc3JjIGFuZCBpc24ndCBwb2ludGluZyB0byBhbXBwcm9qZWN0J3MgQ0ROXG4gICAgICAgICAgICAgICAgICAgIC8vIDIuIGl0IGlzIHVzaW5nIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHdpdGhvdXQgYSB0eXBlIG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgdHlwZSBvZiB0ZXh0L2phdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLnNyYyAmJiBwcm9wcy5zcmMuaW5kZXhPZihcImFtcHByb2plY3RcIikgPCAtMSB8fCBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAmJiAoIXByb3BzLnR5cGUgfHwgcHJvcHMudHlwZSA9PT0gXCJ0ZXh0L2phdmFzY3JpcHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSBcIjxzY3JpcHRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKChwcm9wKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gYCAke3Byb3B9PVwiJHtwcm9wc1twcm9wXX1cImA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gXCIvPlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChiYWRQcm9wKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRm91bmQgY29uZmxpY3RpbmcgYW1wIHRhZyBcIiR7Y2hpbGQudHlwZX1cIiB3aXRoIGNvbmZsaWN0aW5nIHByb3AgJHtiYWRQcm9wfSBpbiAke19fTkVYVF9EQVRBX18ucGFnZX0uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NvbmZsaWN0aW5nLWFtcC10YWdgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBub24tYW1wIG1vZGVcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImFtcGh0bWxcIikge1xuICAgICAgICAgICAgICAgICAgICBoYXNBbXBodG1sUmVsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICBjb25zdCBuZXh0Rm9udExpbmtUYWdzID0gZ2V0TmV4dEZvbnRMaW5rVGFncyhuZXh0Rm9udE1hbmlmZXN0LCBkYW5nZXJvdXNBc1BhdGgsIGFzc2V0UHJlZml4KTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImhlYWRcIiwgZ2V0SGVhZEhUTUxQcm9wcyh0aGlzLnByb3BzKSwgdGhpcy5jb250ZXh0LmlzRGV2ZWxvcG1lbnQgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dC1oaWRlLWZvdWNcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBcInRydWVcIiA6IHVuZGVmaW5lZFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpibG9ja31gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKSksIGhlYWQsIHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1oZWFkLWNvdW50XCIsXG4gICAgICAgICAgICBjb250ZW50OiBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5jb3VudChoZWFkIHx8IFtdKS50b1N0cmluZygpXG4gICAgICAgIH0pLCBjaGlsZHJlbiwgb3B0aW1pemVGb250cyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1mb250LXByZWNvbm5lY3RcIlxuICAgICAgICB9KSwgbmV4dEZvbnRMaW5rVGFncy5wcmVjb25uZWN0LCBuZXh0Rm9udExpbmtUYWdzLnByZWxvYWQsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCxtaW5pbXVtLXNjYWxlPTEsaW5pdGlhbC1zY2FsZT0xXCJcbiAgICAgICAgfSksICFoYXNDYW5vbmljYWxSZWwgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwiY2Fub25pY2FsXCIsXG4gICAgICAgICAgICBocmVmOiBjYW5vbmljYWxCYXNlICsgcmVxdWlyZShcIi4uL3NlcnZlci91dGlsc1wiKS5jbGVhbkFtcFBhdGgoZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChBbXBTdHlsZXMsIHtcbiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImFtcC1ib2lsZXJwbGF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1vei1hbmltYXRpb246LWFtcC1zdGFydCA4cyBzdGVwcygxLGVuZCkgMHMgMSBub3JtYWwgYm90aDstbXMtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7YW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUAtbW96LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1zLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW8ta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUBrZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19YFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibm9zY3JpcHRcIiwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXstd2Via2l0LWFuaW1hdGlvbjpub25lOy1tb3otYW5pbWF0aW9uOm5vbmU7LW1zLWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICBzcmM6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICB9KSksICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgIWhhc0FtcGh0bWxSZWwgJiYgaHlicmlkQW1wICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgcmVsOiBcImFtcGh0bWxcIixcbiAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyBnZXRBbXBQYXRoKGFtcFBhdGgsIGRhbmdlcm91c0FzUGF0aClcbiAgICAgICAgfSksIHRoaXMuZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCksICFvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSwgIW9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksICFkaXNhYmxlUnVudGltZUpTICYmICFkaXNhYmxlSnNQcmVsb2FkICYmIHRoaXMuZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSwgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFByZU5leHRTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLCAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSwgb3B0aW1pemVDc3MgJiYgdGhpcy5nZXRDc3NMaW5rcyhmaWxlcyksIG9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8vIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIG1vdW50IGRldmVsb3BtZW50IHN0eWxlcyBzbyB0aGVcbiAgICAgICAgLy8gb3JkZXJpbmcgbWF0Y2hlcyBwcm9kdWN0aW9uXG4gICAgICAgIC8vIChieSBkZWZhdWx0LCBzdHlsZS1sb2FkZXIgaW5qZWN0cyBhdCB0aGUgYm90dG9tIG9mIDxoZWFkIC8+KVxuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICBpZDogXCJfX25leHRfY3NzX19ET19OT1RfVVNFX19cIlxuICAgICAgICB9KSwgc3R5bGVzIHx8IG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHt9LCAuLi5oZWFkVGFncyB8fCBbXSkpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcykge1xuICAgIHZhciBfY2hpbGRyZW5fZmluZCwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMsIF9jaGlsZHJlbl9maW5kMSwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMxO1xuICAgIGlmICghcHJvcHMuY2hpbGRyZW4pIHJldHVybjtcbiAgICBjb25zdCBzY3JpcHRMb2FkZXJJdGVtcyA9IFtdO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICBdO1xuICAgIGNvbnN0IGhlYWRDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZCA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gSGVhZCkpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkcmVuX2ZpbmRfcHJvcHMgPSBfY2hpbGRyZW5fZmluZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZDEgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PmNoaWxkLnR5cGUgPT09IFwiYm9keVwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wczEgPSBfY2hpbGRyZW5fZmluZDEucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRyZW5fZmluZF9wcm9wczEuY2hpbGRyZW47XG4gICAgLy8gU2NyaXB0cyB3aXRoIGJlZm9yZUludGVyYWN0aXZlIGNhbiBiZSBwbGFjZWQgaW5zaWRlIEhlYWQgb3IgPGJvZHk+IHNvIGNoaWxkcmVuIG9mIGJvdGggbmVlZHMgdG8gYmUgdHJhdmVyc2VkXG4gICAgY29uc3QgY29tYmluZWRDaGlsZHJlbiA9IFtcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShoZWFkQ2hpbGRyZW4pID8gaGVhZENoaWxkcmVuIDogW1xuICAgICAgICAgICAgaGVhZENoaWxkcmVuXG4gICAgICAgIF0sXG4gICAgICAgIC4uLkFycmF5LmlzQXJyYXkoYm9keUNoaWxkcmVuKSA/IGJvZHlDaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIGJvZHlDaGlsZHJlblxuICAgICAgICBdXG4gICAgXTtcbiAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5mb3JFYWNoKGNvbWJpbmVkQ2hpbGRyZW4sIChjaGlsZCk9PntcbiAgICAgICAgdmFyIF9jaGlsZF90eXBlO1xuICAgICAgICBpZiAoIWNoaWxkKSByZXR1cm47XG4gICAgICAgIC8vIFdoZW4gdXNpbmcgdGhlIGBuZXh0L3NjcmlwdGAgY29tcG9uZW50LCByZWdpc3RlciBpdCBpbiBzY3JpcHQgbG9hZGVyLlxuICAgICAgICBpZiAoKF9jaGlsZF90eXBlID0gY2hpbGQudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF90eXBlLl9fbmV4dFNjcmlwdCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLnByb3BzLnN0cmF0ZWd5ID09PSBcImJlZm9yZUludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgPSAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChbXG4gICAgICAgICAgICAgICAgXCJsYXp5T25sb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJhZnRlckludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJ3b3JrZXJcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcyhjaGlsZC5wcm9wcy5zdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXJJdGVtcy5wdXNoKGNoaWxkLnByb3BzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBfX05FWFRfREFUQV9fLnNjcmlwdExvYWRlciA9IHNjcmlwdExvYWRlckl0ZW1zO1xufVxuY2xhc3MgTmV4dFNjcmlwdCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gKCgpPT57XG4gICAgICAgIHRoaXMuY29udGV4dFR5cGUgPSBfaHRtbGNvbnRleHQuSHRtbENvbnRleHQ7XG4gICAgfSkoKTtcbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0SW5saW5lU2NyaXB0U291cmNlKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBfX05FWFRfREFUQV9fICwgbGFyZ2VQYWdlRGF0YUJ5dGVzICB9ID0gY29udGV4dDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShfX05FWFRfREFUQV9fKTtcbiAgICAgICAgICAgIGlmIChsYXJnZVBhZ2VEYXRhV2FybmluZ3MuaGFzKF9fTkVYVF9EQVRBX18ucGFnZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShkYXRhKS5idWZmZXIuYnl0ZUxlbmd0aCA6IEJ1ZmZlci5mcm9tKGRhdGEpLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBwcmV0dHlCeXRlcyA9IHJlcXVpcmUoXCIuLi9saWIvcHJldHR5LWJ5dGVzXCIpLmRlZmF1bHQ7XG4gICAgICAgICAgICBpZiAobGFyZ2VQYWdlRGF0YUJ5dGVzICYmIGJ5dGVzID4gbGFyZ2VQYWdlRGF0YUJ5dGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZVBhZ2VEYXRhV2FybmluZ3MuYWRkKF9fTkVYVF9EQVRBX18ucGFnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogZGF0YSBmb3IgcGFnZSBcIiR7X19ORVhUX0RBVEFfXy5wYWdlfVwiJHtfX05FWFRfREFUQV9fLnBhZ2UgPT09IGNvbnRleHQuZGFuZ2Vyb3VzQXNQYXRoID8gXCJcIiA6IGAgKHBhdGggXCIke2NvbnRleHQuZGFuZ2Vyb3VzQXNQYXRofVwiKWB9IGlzICR7cHJldHR5Qnl0ZXMoYnl0ZXMpfSB3aGljaCBleGNlZWRzIHRoZSB0aHJlc2hvbGQgb2YgJHtwcmV0dHlCeXRlcyhsYXJnZVBhZ2VEYXRhQnl0ZXMpfSwgdGhpcyBhbW91bnQgb2YgZGF0YSBjYW4gcmVkdWNlIHBlcmZvcm1hbmNlLlxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGFyZ2UtcGFnZS1kYXRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZihcImNpcmN1bGFyIHN0cnVjdHVyZVwiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENpcmN1bGFyIHN0cnVjdHVyZSBpbiBcImdldEluaXRpYWxQcm9wc1wiIHJlc3VsdCBvZiBwYWdlIFwiJHtfX05FWFRfREFUQV9fLnBhZ2V9XCIuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NpcmN1bGFyLXN0cnVjdHVyZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGluQW1wTW9kZSAsIGJ1aWxkTWFuaWZlc3QgLCB1bnN0YWJsZV9ydW50aW1lSlMgLCBkb2NDb21wb25lbnRzUmVuZGVyZWQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5OZXh0U2NyaXB0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbXBEZXZGaWxlcyA9IFtcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmRldkZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmFtcERldkZpbGVzXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHRydWVcbiAgICAgICAgICAgIH0pLCBhbXBEZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZmlsZX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jcm9zc09yaWdpbikgY29uc29sZS53YXJuKFwiV2FybmluZzogYE5leHRTY3JpcHRgIGF0dHJpYnV0ZSBgY3Jvc3NPcmlnaW5gIGlzIGRlcHJlY2F0ZWQuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2RvYy1jcm9zc29yaWdpbi1kZXByZWNhdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAhZGlzYWJsZVJ1bnRpbWVKUyAmJiBidWlsZE1hbmlmZXN0LmRldkZpbGVzID8gYnVpbGRNYW5pZmVzdC5kZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSkpIDogbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXREeW5hbWljQ2h1bmtzKGZpbGVzKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gSHRtbChwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlICwgZG9jQ29tcG9uZW50c1JlbmRlcmVkICwgbG9jYWxlICwgc2NyaXB0TG9hZGVyICwgX19ORVhUX0RBVEFfXyAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLkh0bWwgPSB0cnVlO1xuICAgIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcyk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImh0bWxcIiwge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbGFuZzogcHJvcHMubGFuZyB8fCBsb2NhbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhbXA6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IHVuZGVmaW5lZFxuICAgIH0pO1xufVxuZnVuY3Rpb24gTWFpbigpIHtcbiAgICBjb25zdCB7IGRvY0NvbXBvbmVudHNSZW5kZXJlZCAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk1haW4gPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmV4dC1qcy1pbnRlcm5hbC1ib2R5LXJlbmRlci10YXJnZXRcIiwgbnVsbCk7XG59XG5jbGFzcyBEb2N1bWVudCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAqIGBnZXRJbml0aWFsUHJvcHNgIGhvb2sgcmV0dXJucyB0aGUgY29udGV4dCBvYmplY3Qgd2l0aCB0aGUgYWRkaXRpb24gb2YgYHJlbmRlclBhZ2VgLlxuICAgKiBgcmVuZGVyUGFnZWAgY2FsbGJhY2sgZXhlY3V0ZXMgYFJlYWN0YCByZW5kZXJpbmcgbG9naWMgc3luY2hyb25vdXNseSB0byBzdXBwb3J0IHNlcnZlci1yZW5kZXJpbmcgd3JhcHBlcnNcbiAgICovIHN0YXRpYyBnZXRJbml0aWFsUHJvcHMoY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHguZGVmYXVsdEdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG4gICAgfVxufVxuLy8gQWRkIGEgc3BlY2lhbCBwcm9wZXJ0eSB0byB0aGUgYnVpbHQtaW4gYERvY3VtZW50YCBjb21wb25lbnQgc28gbGF0ZXIgd2UgY2FuXG4vLyBpZGVudGlmeSBpZiBhIHVzZXIgY3VzdG9taXplZCBgRG9jdW1lbnRgIGlzIHVzZWQgb3Igbm90LlxuY29uc3QgSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50ID0gZnVuY3Rpb24gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50KCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG59O1xuRG9jdW1lbnRbX2NvbnN0YW50cy5ORVhUX0JVSUxUSU5fRE9DVU1FTlRdID0gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZG9jdW1lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSGVhZCIsIk5leHRTY3JpcHQiLCJIdG1sIiwiTWFpbiIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEb2N1bWVudCIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2dldHBhZ2VmaWxlcyIsIl9odG1sZXNjYXBlIiwiX2lzZXJyb3IiLCJfaHRtbGNvbnRleHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwibGFyZ2VQYWdlRGF0YVdhcm5pbmdzIiwiU2V0IiwiZ2V0RG9jdW1lbnRGaWxlcyIsImJ1aWxkTWFuaWZlc3QiLCJwYXRobmFtZSIsImluQW1wTW9kZSIsInNoYXJlZEZpbGVzIiwiZ2V0UGFnZUZpbGVzIiwicGFnZUZpbGVzIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImFsbEZpbGVzIiwiZ2V0UG9seWZpbGxTY3JpcHRzIiwiY29udGV4dCIsInByb3BzIiwiYXNzZXRQcmVmaXgiLCJhc3NldFF1ZXJ5U3RyaW5nIiwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciLCJjcm9zc09yaWdpbiIsInBvbHlmaWxsRmlsZXMiLCJmaWx0ZXIiLCJwb2x5ZmlsbCIsImVuZHNXaXRoIiwibWFwIiwiY3JlYXRlRWxlbWVudCIsImtleSIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImhhc0NvbXBvbmVudFByb3BzIiwiY2hpbGQiLCJBbXBTdHlsZXMiLCJzdHlsZXMiLCJjdXJTdHlsZXMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZHJlbiIsImhhc1N0eWxlcyIsImVsIiwiX2VsX3Byb3BzIiwiX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJmb3JFYWNoIiwicHVzaCIsInN0eWxlIiwiam9pbiIsInJlcGxhY2UiLCJnZXREeW5hbWljQ2h1bmtzIiwiZmlsZXMiLCJkeW5hbWljSW1wb3J0cyIsImlzRGV2ZWxvcG1lbnQiLCJmaWxlIiwiaW5jbHVkZXMiLCJhc3luYyIsImVuY29kZVVSSSIsImdldFNjcmlwdHMiLCJfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzIiwibm9ybWFsU2NyaXB0cyIsImxvd1ByaW9yaXR5U2NyaXB0cyIsImxvd1ByaW9yaXR5RmlsZXMiLCJnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyIsInNjcmlwdExvYWRlciIsIm5leHRTY3JpcHRXb3JrZXJzIiwicGFydHl0b3duU25pcHBldCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwidXNlckRlZmluZWRDb25maWciLCJmaW5kIiwiX2NoaWxkX3Byb3BzIiwiX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwibGVuZ3RoIiwiRnJhZ21lbnQiLCJ3b3JrZXIiLCJpbmRleCIsInN0cmF0ZWd5Iiwic2NyaXB0Q2hpbGRyZW4iLCJzY3JpcHRQcm9wcyIsInNyY1Byb3BzIiwiRXJyb3IiLCJ0eXBlIiwiZXJyIiwiY29kZSIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImdldFByZU5leHRTY3JpcHRzIiwid2ViV29ya2VyU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlIiwic2NyaXB0IiwiZ2V0SGVhZEhUTUxQcm9wcyIsInJlc3RQcm9wcyIsImhlYWRQcm9wcyIsImdldEFtcFBhdGgiLCJhbXBQYXRoIiwiYXNQYXRoIiwiZ2V0TmV4dEZvbnRMaW5rVGFncyIsIm5leHRGb250TWFuaWZlc3QiLCJkYW5nZXJvdXNBc1BhdGgiLCJwcmVjb25uZWN0IiwicHJlbG9hZCIsImFwcEZvbnRzRW50cnkiLCJwYWdlcyIsInBhZ2VGb250c0VudHJ5IiwicHJlbG9hZGVkRm9udEZpbGVzIiwicHJlY29ubmVjdFRvU2VsZiIsInBhZ2VzVXNpbmdTaXplQWRqdXN0IiwicmVsIiwiaHJlZiIsImZvbnRGaWxlIiwiZXh0IiwiZXhlYyIsImFzIiwiQ29tcG9uZW50IiwiXyIsImNvbnRleHRUeXBlIiwiSHRtbENvbnRleHQiLCJnZXRDc3NMaW5rcyIsIm9wdGltaXplQ3NzIiwib3B0aW1pemVGb250cyIsImNzc0ZpbGVzIiwiZiIsInVubWFuZ2VkRmlsZXMiLCJkeW5hbWljQ3NzRmlsZXMiLCJmcm9tIiwiZXhpc3RpbmciLCJoYXMiLCJjc3NMaW5rRWxlbWVudHMiLCJpc1NoYXJlZEZpbGUiLCJpc1VubWFuYWdlZEZpbGUiLCJ1bmRlZmluZWQiLCJtYWtlU3R5bGVzaGVldEluZXJ0IiwiZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MiLCJCb29sZWFuIiwiZ2V0UHJlbG9hZE1haW5MaW5rcyIsInByZWxvYWRGaWxlcyIsImdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cyIsImh0bWwiLCJpZCIsIl9fTkVYVF9DUk9TU19PUklHSU4iLCJub2RlIiwiQ2hpbGRyZW4iLCJjIiwiX2NfcHJvcHMiLCJfY19wcm9wczEiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJzb21lIiwidXJsIiwiX2NfcHJvcHNfaHJlZiIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsImNsb25lRWxlbWVudCIsInJlbmRlciIsImh5YnJpZEFtcCIsImNhbm9uaWNhbEJhc2UiLCJfX05FWFRfREFUQV9fIiwiaGVhZFRhZ3MiLCJ1bnN0YWJsZV9ydW50aW1lSlMiLCJ1bnN0YWJsZV9Kc1ByZWxvYWQiLCJkaXNhYmxlUnVudGltZUpTIiwiZGlzYWJsZUpzUHJlbG9hZCIsImRvY0NvbXBvbmVudHNSZW5kZXJlZCIsImhlYWQiLCJjc3NQcmVsb2FkcyIsIm90aGVySGVhZEVsZW1lbnRzIiwibWV0YVRhZyIsInN0cmljdE5leHRIZWFkIiwiY29udGVudCIsImNvbmNhdCIsInRvQXJyYXkiLCJpc1JlYWN0SGVsbWV0IiwiX2NoaWxkX3Byb3BzMSIsImhhc0FtcGh0bWxSZWwiLCJoYXNDYW5vbmljYWxSZWwiLCJiYWRQcm9wIiwiaW5kZXhPZiIsImtleXMiLCJwcm9wIiwicGFnZSIsIm5leHRGb250TGlua1RhZ3MiLCJjb3VudCIsInRvU3RyaW5nIiwiY2xlYW5BbXBQYXRoIiwiaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyIsIl9jaGlsZHJlbl9maW5kIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMiLCJfY2hpbGRyZW5fZmluZDEiLCJfY2hpbGRyZW5fZmluZF9wcm9wczEiLCJzY3JpcHRMb2FkZXJJdGVtcyIsImhlYWRDaGlsZHJlbiIsImJvZHlDaGlsZHJlbiIsImNvbWJpbmVkQ2hpbGRyZW4iLCJfY2hpbGRfdHlwZSIsIl9fbmV4dFNjcmlwdCIsImdldElubGluZVNjcmlwdFNvdXJjZSIsImxhcmdlUGFnZURhdGFCeXRlcyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiaHRtbEVzY2FwZUpzb25TdHJpbmciLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiYnVmZmVyIiwiYnl0ZUxlbmd0aCIsIkJ1ZmZlciIsInByZXR0eUJ5dGVzIiwiYWRkIiwiYW1wRGV2RmlsZXMiLCJkZXZGaWxlcyIsImxvY2FsZSIsInVzZUh0bWxDb250ZXh0IiwibGFuZyIsImFtcCIsImdldEluaXRpYWxQcm9wcyIsImN0eCIsImRlZmF1bHRHZXRJbml0aWFsUHJvcHMiLCJJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/pages/_error.js ***! - \************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.error\n }, /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"title\", null, statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\")), /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.desc\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }), statusCode ? /*#__PURE__*/ _react.default.createElement(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1\n }, statusCode) : null, /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.wrap\n }, /*#__PURE__*/ _react.default.createElement(\"h2\", {\n style: styles.h2\n }, this.props.title || statusCode ? title : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, \"Application error: a client-side exception has occurred (see the browser console for more information)\"), \".\"))));\n }\n}\n(()=>{\n Error.displayName = \"ErrorPage\";\n})();\n(()=>{\n Error.getInitialProps = _getInitialProps;\n})();\n(()=>{\n Error.origGetInitialProps = _getInitialProps;\n})();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw2R0FBeUM7QUFDbEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyxvQkFBTztBQUN2RSxNQUFNRyxRQUFRLFdBQVcsR0FBR0oseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHVFQUFvQjtBQUNuRixNQUFNSSxjQUFjO0lBQ2hCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFDVDtBQUNBLFNBQVNDLGlCQUFpQkMsS0FBSztJQUMzQixJQUFJLEVBQUVDLEdBQUcsRUFBR0MsR0FBRyxFQUFHLEdBQUdGO0lBQ3JCLE1BQU1HLGFBQWFGLE9BQU9BLElBQUlFLFVBQVUsR0FBR0YsSUFBSUUsVUFBVSxHQUFHRCxNQUFNQSxJQUFJQyxVQUFVLEdBQUc7SUFDbkYsT0FBTztRQUNIQTtJQUNKO0FBQ0o7QUFDQSxNQUFNQyxTQUFTO0lBQ1hDLE9BQU87UUFDSCwwRkFBMEY7UUFDMUZDLFlBQVk7UUFDWkMsUUFBUTtRQUNSQyxXQUFXO1FBQ1hDLFNBQVM7UUFDVEMsZUFBZTtRQUNmQyxZQUFZO1FBQ1pDLGdCQUFnQjtJQUNwQjtJQUNBQyxNQUFNO1FBQ0ZDLFlBQVk7SUFDaEI7SUFDQUMsSUFBSTtRQUNBTixTQUFTO1FBQ1RPLFFBQVE7UUFDUkMsY0FBYztRQUNkQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsZUFBZTtJQUNuQjtJQUNBQyxJQUFJO1FBQ0FILFVBQVU7UUFDVkMsWUFBWTtRQUNaTCxZQUFZO0lBQ2hCO0lBQ0FRLE1BQU07UUFDRmIsU0FBUztJQUNiO0FBQ0o7QUFDQSxNQUFNakIsY0FBY0csT0FBTzRCLE9BQU8sQ0FBQ0MsU0FBUztJQUN4Q0MsU0FBUztRQUNMLE1BQU0sRUFBRXRCLFVBQVUsRUFBR3VCLGVBQWMsSUFBSSxFQUFHLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ3ZELE1BQU1DLFFBQVEsSUFBSSxDQUFDRCxLQUFLLENBQUNDLEtBQUssSUFBSTlCLFdBQVcsQ0FBQ0ssV0FBVyxJQUFJO1FBQzdELE9BQU8sV0FBVyxHQUFHUixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsT0FBTztZQUNyREMsT0FBTzFCLE9BQU9DLEtBQUs7UUFDdkIsR0FBRyxXQUFXLEdBQUdWLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQ2hDLE1BQU0wQixPQUFPLEVBQUUsTUFBTSxXQUFXLEdBQUc1QixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsU0FBUyxNQUFNMUIsYUFBYUEsYUFBYSxPQUFPeUIsUUFBUSw2REFBNkQsV0FBVyxHQUFHakMsT0FBTzRCLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLE9BQU87WUFDalJDLE9BQU8xQixPQUFPUyxJQUFJO1FBQ3RCLEdBQUcsV0FBVyxHQUFHbEIsT0FBTzRCLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLFNBQVM7WUFDbkRFLHlCQUF5QjtnQkFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQkQsR0FBR0MsUUFBUSxtR0FBb0dOLENBQUFBLGVBQWUsb0lBQW9JLEVBQUM7WUFDdFE7UUFDSixJQUFJdkIsYUFBYSxXQUFXLEdBQUdSLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQyxNQUFNO1lBQzlESSxXQUFXO1lBQ1hILE9BQU8xQixPQUFPVyxFQUFFO1FBQ3BCLEdBQUdaLGNBQWMsTUFBTSxXQUFXLEdBQUdSLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQyxPQUFPO1lBQ3JFQyxPQUFPMUIsT0FBT2tCLElBQUk7UUFDdEIsR0FBRyxXQUFXLEdBQUczQixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsTUFBTTtZQUNoREMsT0FBTzFCLE9BQU9pQixFQUFFO1FBQ3BCLEdBQUcsSUFBSSxDQUFDTSxLQUFLLENBQUNDLEtBQUssSUFBSXpCLGFBQWF5QixRQUFRLFdBQVcsR0FBR2pDLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQ2xDLE9BQU80QixPQUFPLENBQUNXLFFBQVEsRUFBRSxNQUFNLDJHQUEyRztJQUNyTztBQUNKO0FBQ0M7SUFDRzFDLE1BQU0yQyxXQUFXLEdBQUc7QUFDeEI7QUFDQztJQUNHM0MsTUFBTTRDLGVBQWUsR0FBR3JDO0FBQzVCO0FBQ0M7SUFDR1AsTUFBTTZDLG1CQUFtQixHQUFHdEM7QUFDaEM7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUW1DLE9BQU8sS0FBSyxjQUFlLE9BQU9uQyxRQUFRbUMsT0FBTyxLQUFLLFlBQVluQyxRQUFRbUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbkMsUUFBUW1DLE9BQU8sQ0FBQ2UsVUFBVSxLQUFLLGFBQWE7SUFDcktwRCxPQUFPQyxjQUFjLENBQUNDLFFBQVFtQyxPQUFPLEVBQUUsY0FBYztRQUFFbEMsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUQsTUFBTSxDQUFDbkQsUUFBUW1DLE9BQU8sRUFBRW5DO0lBQy9Cb0QsT0FBT3BELE9BQU8sR0FBR0EsUUFBUW1DLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcz8xOGYyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2hlYWQgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2hlYWRcIikpO1xuY29uc3Qgc3RhdHVzQ29kZXMgPSB7XG4gICAgNDAwOiBcIkJhZCBSZXF1ZXN0XCIsXG4gICAgNDA0OiBcIlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmRcIixcbiAgICA0MDU6IFwiTWV0aG9kIE5vdCBBbGxvd2VkXCIsXG4gICAgNTAwOiBcIkludGVybmFsIFNlcnZlciBFcnJvclwiXG59O1xuZnVuY3Rpb24gX2dldEluaXRpYWxQcm9wcyhwYXJhbSkge1xuICAgIGxldCB7IHJlcyAsIGVyciAgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSByZXMgJiYgcmVzLnN0YXR1c0NvZGUgPyByZXMuc3RhdHVzQ29kZSA6IGVyciA/IGVyci5zdGF0dXNDb2RlIDogNDA0O1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGVcbiAgICB9O1xufVxuY29uc3Qgc3R5bGVzID0ge1xuICAgIGVycm9yOiB7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9ibG9iL21haW4vbW9kZXJuLW5vcm1hbGl6ZS5jc3MjTDM4LUw1MlxuICAgICAgICBmb250RmFtaWx5OiAnc3lzdGVtLXVpLFwiU2Vnb2UgVUlcIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIicsXG4gICAgICAgIGhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxuICAgIH0sXG4gICAgZGVzYzoge1xuICAgICAgICBsaW5lSGVpZ2h0OiBcIjQ4cHhcIlxuICAgIH0sXG4gICAgaDE6IHtcbiAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgMjBweCAwIDBcIixcbiAgICAgICAgcGFkZGluZ1JpZ2h0OiAyMyxcbiAgICAgICAgZm9udFNpemU6IDI0LFxuICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgIHZlcnRpY2FsQWxpZ246IFwidG9wXCJcbiAgICB9LFxuICAgIGgyOiB7XG4gICAgICAgIGZvbnRTaXplOiAxNCxcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjI4cHhcIlxuICAgIH0sXG4gICAgd3JhcDoge1xuICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiXG4gICAgfVxufTtcbmNsYXNzIEVycm9yIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzQ29kZSAsIHdpdGhEYXJrTW9kZSA9dHJ1ZSAgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5wcm9wcy50aXRsZSB8fCBzdGF0dXNDb2Rlc1tzdGF0dXNDb2RlXSB8fCBcIkFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkXCI7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5lcnJvclxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2hlYWQuZGVmYXVsdCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwgbnVsbCwgc3RhdHVzQ29kZSA/IHN0YXR1c0NvZGUgKyBcIjogXCIgKyB0aXRsZSA6IFwiQXBwbGljYXRpb24gZXJyb3I6IGEgY2xpZW50LXNpZGUgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZFwiKSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLmRlc2NcbiAgICAgICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAvKiBDU1MgbWluaWZpZWQgZnJvbVxuICAgICAgICAgICAgICAgIGJvZHkgeyBtYXJnaW46IDA7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgICAgICAgICAgLm5leHQtZXJyb3ItaDEge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJHtcbiAgICAgICAgICAgICAgICAgIHdpdGhEYXJrTW9kZVxuICAgICAgICAgICAgICAgICAgICA/IGBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgICAgICAgICAgICBib2R5IHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgICAgICAgICAgICAgICAgIC5uZXh0LWVycm9yLWgxIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICovIF9faHRtbDogXCJib2R5e2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmZmO21hcmdpbjowfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMyl9XCIgKyAod2l0aERhcmtNb2RlID8gXCJAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe2JvZHl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwMDB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKX19XCIgOiBcIlwiKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgc3RhdHVzQ29kZSA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImgxXCIsIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0LWVycm9yLWgxXCIsXG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgxXG4gICAgICAgIH0sIHN0YXR1c0NvZGUpIDogbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMud3JhcFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoMlwiLCB7XG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgyXG4gICAgICAgIH0sIHRoaXMucHJvcHMudGl0bGUgfHwgc3RhdHVzQ29kZSA/IHRpdGxlIDogLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQgKHNlZSB0aGUgYnJvd3NlciBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uKVwiKSwgXCIuXCIpKSkpO1xuICAgIH1cbn1cbigoKT0+e1xuICAgIEVycm9yLmRpc3BsYXlOYW1lID0gXCJFcnJvclBhZ2VcIjtcbn0pKCk7XG4oKCk9PntcbiAgICBFcnJvci5nZXRJbml0aWFsUHJvcHMgPSBfZ2V0SW5pdGlhbFByb3BzO1xufSkoKTtcbigoKT0+e1xuICAgIEVycm9yLm9yaWdHZXRJbml0aWFsUHJvcHMgPSBfZ2V0SW5pdGlhbFByb3BzO1xufSkoKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X2Vycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJFcnJvciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX2hlYWQiLCJzdGF0dXNDb2RlcyIsIl9nZXRJbml0aWFsUHJvcHMiLCJwYXJhbSIsInJlcyIsImVyciIsInN0YXR1c0NvZGUiLCJzdHlsZXMiLCJlcnJvciIsImZvbnRGYW1pbHkiLCJoZWlnaHQiLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImRlc2MiLCJsaW5lSGVpZ2h0IiwiaDEiLCJtYXJnaW4iLCJwYWRkaW5nUmlnaHQiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJ2ZXJ0aWNhbEFsaWduIiwiaDIiLCJ3cmFwIiwiZGVmYXVsdCIsIkNvbXBvbmVudCIsInJlbmRlciIsIndpdGhEYXJrTW9kZSIsInByb3BzIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNsYXNzTmFtZSIsIkZyYWdtZW50IiwiZGlzcGxheU5hbWUiLCJnZXRJbml0aWFsUHJvcHMiLCJvcmlnR2V0SW5pdGlhbFByb3BzIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n defaultHead: function() {\n return defaultHead;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"react\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./side-effect\"));\nconst _ampcontext = __webpack_require__(/*! ./amp-context */ \"./amp-context\");\nconst _headmanagercontext = __webpack_require__(/*! ./head-manager-context */ \"./head-manager-context\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./amp-mode\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./utils/warn-once\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ _react.default.createElement(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontext.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontext.HeadManagerContext);\n return /*#__PURE__*/ _react.default.createElement(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState)\n }, children);\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoicURBQ2E7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDZHQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLCtHQUEwQztBQUNwRixNQUFNRSxTQUFTLFdBQVcsR0FBR0QsMEJBQTBCRSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3hFLE1BQU1JLGNBQWMsV0FBVyxHQUFHTCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsb0NBQWU7QUFDcEYsTUFBTUssY0FBY0wsbUJBQU9BLENBQUMsb0NBQWU7QUFDM0MsTUFBTU0sc0JBQXNCTixtQkFBT0EsQ0FBQyxzREFBd0I7QUFDNUQsTUFBTU8sV0FBV1AsbUJBQU9BLENBQUMsOEJBQVk7QUFDckMsTUFBTVEsWUFBWVIsbUJBQU9BLENBQUMsNENBQW1CO0FBRTdDLFNBQVNWLFlBQVltQixTQUFTO0lBQzFCLElBQUlBLGNBQWMsS0FBSyxHQUFHQSxZQUFZO0lBQ3RDLE1BQU1DLE9BQU87UUFDVCxXQUFXLEdBQUdSLE9BQU9YLE9BQU8sQ0FBQ29CLGFBQWEsQ0FBQyxRQUFRO1lBQy9DQyxTQUFTO1FBQ2I7S0FDSDtJQUNELElBQUksQ0FBQ0gsV0FBVztRQUNaQyxLQUFLRyxJQUFJ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R3RFLE9BQU9vRSxVQUFVLEVBQUVoRSxvQkFBb0JtRSxrQkFBa0I7SUFDakYsT0FBTyxXQUFXLEdBQUd2RSxPQUFPWCxPQUFPLENBQUNvQixhQUFhLENBQUNQLFlBQVliLE9BQU8sRUFBRTtRQUNuRW1GLHlCQUF5QnhCO1FBQ3pCc0IsYUFBYUE7UUFDYi9ELFdBQVcsQ0FBQyxHQUFHRixTQUFTb0UsV0FBVyxFQUFFTjtJQUN6QyxHQUFHN0M7QUFDUDtBQUNBLE1BQU0xQixXQUFXcUU7QUFFakIsSUFBSSxDQUFDLE9BQU9oRixRQUFRSSxPQUFPLEtBQUssY0FBZSxPQUFPSixRQUFRSSxPQUFPLEtBQUssWUFBWUosUUFBUUksT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPSixRQUFRSSxPQUFPLENBQUNxRixVQUFVLEtBQUssYUFBYTtJQUNySzNGLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUUksT0FBTyxFQUFFLGNBQWM7UUFBRUgsT0FBTztJQUFLO0lBQ25FSCxPQUFPNEYsTUFBTSxDQUFDMUYsUUFBUUksT0FBTyxFQUFFSjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRSSxPQUFPO0FBQ2xDLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2hlYWQuanM/ZmI1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdEhlYWQ6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0SGVhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0SGVhZDtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zaWRlZWZmZWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9zaWRlLWVmZmVjdFwiKSk7XG5jb25zdCBfYW1wY29udGV4dCA9IHJlcXVpcmUoXCIuL2FtcC1jb250ZXh0XCIpO1xuY29uc3QgX2hlYWRtYW5hZ2VyY29udGV4dCA9IHJlcXVpcmUoXCIuL2hlYWQtbWFuYWdlci1jb250ZXh0XCIpO1xuY29uc3QgX2FtcG1vZGUgPSByZXF1aXJlKFwiLi9hbXAtbW9kZVwiKTtcbmNvbnN0IF93YXJub25jZSA9IHJlcXVpcmUoXCIuL3V0aWxzL3dhcm4tb25jZVwiKTtcblxuZnVuY3Rpb24gZGVmYXVsdEhlYWQoaW5BbXBNb2RlKSB7XG4gICAgaWYgKGluQW1wTW9kZSA9PT0gdm9pZCAwKSBpbkFtcE1vZGUgPSBmYWxzZTtcbiAgICBjb25zdCBoZWFkID0gW1xuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIGNoYXJTZXQ6IFwidXRmLThcIlxuICAgICAgICB9KVxuICAgIF07XG4gICAgaWYgKCFpbkFtcE1vZGUpIHtcbiAgICAgICAgaGVhZC5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm1ldGFcIiwge1xuICAgICAgICAgICAgbmFtZTogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgY29udGVudDogXCJ3aWR0aD1kZXZpY2Utd2lkdGhcIlxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBoZWFkO1xufVxuZnVuY3Rpb24gb25seVJlYWN0RWxlbWVudChsaXN0LCBjaGlsZCkge1xuICAgIC8vIFJlYWN0IGNoaWxkcmVuIGNhbiBiZSBcInN0cmluZ1wiIG9yIFwibnVtYmVyXCIgaW4gdGhpcyBjYXNlIHdlIGlnbm9yZSB0aGVtIGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgY2hpbGQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuICAgIC8vIEFkZHMgc3VwcG9ydCBmb3IgUmVhY3QuRnJhZ21lbnRcbiAgICBpZiAoY2hpbGQudHlwZSA9PT0gX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQpIHtcbiAgICAgICAgcmV0dXJuIGxpc3QuY29uY2F0KC8vIEB0cy1leHBlY3QtZXJyb3IgQHR5cGVzL3JlYWN0IGRvZXMgbm90IHJlbW92ZSBmcmFnbWVudHMgYnV0IHRoaXMgY291bGQgYWxzbyByZXR1cm4gUmVhY3RQb3J0YWxbXVxuICAgICAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkLnByb3BzLmNoaWxkcmVuKS5yZWR1Y2UoLy8gQHRzLWV4cGVjdC1lcnJvciBAdHlwZXMvcmVhY3QgZG9lcyBub3QgcmVtb3ZlIGZyYWdtZW50cyBidXQgdGhpcyBjb3VsZCBhbHNvIHJldHVybiBSZWFjdFBvcnRhbFtdXG4gICAgICAgIChmcmFnbWVudExpc3QsIGZyYWdtZW50Q2hpbGQpPT57XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZyYWdtZW50Q2hpbGQgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIGZyYWdtZW50Q2hpbGQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRMaXN0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZyYWdtZW50TGlzdC5jb25jYXQoZnJhZ21lbnRDaGlsZCk7XG4gICAgICAgIH0sIFtdKSk7XG4gICAgfVxuICAgIHJldHVybiBsaXN0LmNvbmNhdChjaGlsZCk7XG59XG5jb25zdCBNRVRBVFlQRVMgPSBbXG4gICAgXCJuYW1lXCIsXG4gICAgXCJodHRwRXF1aXZcIixcbiAgICBcImNoYXJTZXRcIixcbiAgICBcIml0ZW1Qcm9wXCJcbl07XG4vKlxuIHJldHVybnMgYSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIGhlYWQgY2hpbGQgZWxlbWVudHNcbiB3aGljaCBzaG91bGRuJ3QgYmUgZHVwbGljYXRlZCwgbGlrZSA8dGl0bGUvPlxuIEFsc28gYWRkcyBzdXBwb3J0IGZvciBkZWR1cGxpY2F0ZWQgYGtleWAgcHJvcGVydGllc1xuKi8gZnVuY3Rpb24gdW5pcXVlKCkge1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgdGFncyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBtZXRhVHlwZXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgbWV0YUNhdGVnb3JpZXMgPSB7fTtcbiAgICByZXR1cm4gKGgpPT57XG4gICAgICAgIGxldCBpc1VuaXF1ZSA9IHRydWU7XG4gICAgICAgIGxldCBoYXNLZXkgPSBmYWxzZTtcbiAgICAgICAgaWYgKGgua2V5ICYmIHR5cGVvZiBoLmtleSAhPT0gXCJudW1iZXJcIiAmJiBoLmtleS5pbmRleE9mKFwiJFwiKSA+IDApIHtcbiAgICAgICAgICAgIGhhc0tleSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBoLmtleS5zbGljZShoLmtleS5pbmRleE9mKFwiJFwiKSArIDEpO1xuICAgICAgICAgICAgaWYgKGtleXMuaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZhdWx0LWNhc2VcbiAgICAgICAgc3dpdGNoKGgudHlwZSl7XG4gICAgICAgICAgICBjYXNlIFwidGl0bGVcIjpcbiAgICAgICAgICAgIGNhc2UgXCJiYXNlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHRhZ3MuaGFzKGgudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0YWdzLmFkZChoLnR5cGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJtZXRhXCI6XG4gICAgICAgICAgICAgICAgZm9yKGxldCBpID0gMCwgbGVuID0gTUVUQVRZUEVTLmxlbmd0aDsgaSA8IGxlbjsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWV0YXR5cGUgPSBNRVRBVFlQRVNbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghaC5wcm9wcy5oYXNPd25Qcm9wZXJ0eShtZXRhdHlwZSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWV0YXR5cGUgPT09IFwiY2hhclNldFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVR5cGVzLmhhcyhtZXRhdHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhVHlwZXMuYWRkKG1ldGF0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gaC5wcm9wc1ttZXRhdHlwZV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gbWV0YUNhdGVnb3JpZXNbbWV0YXR5cGVdIHx8IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgobWV0YXR5cGUgIT09IFwibmFtZVwiIHx8ICFoYXNLZXkpICYmIGNhdGVnb3JpZXMuaGFzKGNhdGVnb3J5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3JpZXMuYWRkKGNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gPSBjYXRlZ29yaWVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1VuaXF1ZTtcbiAgICB9O1xufVxuLyoqXG4gKlxuICogQHBhcmFtIGhlYWRDaGlsZHJlbkVsZW1lbnRzIExpc3Qgb2YgY2hpbGRyZW4gb2YgPEhlYWQ+XG4gKi8gZnVuY3Rpb24gcmVkdWNlQ29tcG9uZW50cyhoZWFkQ2hpbGRyZW5FbGVtZW50cywgcHJvcHMpIHtcbiAgICBjb25zdCB7IGluQW1wTW9kZSAgfSA9IHByb3BzO1xuICAgIHJldHVybiBoZWFkQ2hpbGRyZW5FbGVtZW50cy5yZWR1Y2Uob25seVJlYWN0RWxlbWVudCwgW10pLnJldmVyc2UoKS5jb25jYXQoZGVmYXVsdEhlYWQoaW5BbXBNb2RlKS5yZXZlcnNlKCkpLmZpbHRlcih1bmlxdWUoKSkucmV2ZXJzZSgpLm1hcCgoYywgaSk9PntcbiAgICAgICAgY29uc3Qga2V5ID0gYy5rZXkgfHwgaTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgJiYgcHJvY2Vzcy5lbnYuX19ORVhUX09QVElNSVpFX0ZPTlRTICYmICFpbkFtcE1vZGUpIHtcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJocmVmXCJdICYmIC8vIFRPRE8ocHJhdGVla2JoQCk6IFJlcGxhY2UgdGhpcyB3aXRoIGNvbnN0IGZyb20gYGNvbnN0YW50c2Agd2hlbiB0aGUgdHJlZSBzaGFraW5nIHdvcmtzLlxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3NcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L1wiXG4gICAgICAgICAgICBdLnNvbWUoKHVybCk9PmMucHJvcHNbXCJocmVmXCJdLnN0YXJ0c1dpdGgodXJsKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJkYXRhLWhyZWZcIl0gPSBuZXdQcm9wc1tcImhyZWZcIl07XG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJocmVmXCJdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGlzIGF0dHJpYnV0ZSB0byBtYWtlIGl0IGVhc3kgdG8gaWRlbnRpZnkgb3B0aW1pemVkIHRhZ3NcbiAgICAgICAgICAgICAgICBuZXdQcm9wc1tcImRhdGEtb3B0aW1pemVkLWZvbnRzXCJdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywgbmV3UHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAvLyBvbWl0IEpTT04tTEQgc3RydWN0dXJlZCBkYXRhIHNuaXBwZXRzIGZyb20gdGhlIHdhcm5pbmdcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09IFwic2NyaXB0XCIgJiYgYy5wcm9wc1tcInR5cGVcIl0gIT09IFwiYXBwbGljYXRpb24vbGQranNvblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3JjTWVzc2FnZSA9IGMucHJvcHNbXCJzcmNcIl0gPyAnPHNjcmlwdD4gdGFnIHdpdGggc3JjPVwiJyArIGMucHJvcHNbXCJzcmNcIl0gKyAnXCInIDogXCJpbmxpbmUgPHNjcmlwdD5cIjtcbiAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKShcIkRvIG5vdCBhZGQgPHNjcmlwdD4gdGFncyB1c2luZyBuZXh0L2hlYWQgKHNlZSBcIiArIHNyY01lc3NhZ2UgKyBcIikuIFVzZSBuZXh0L3NjcmlwdCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXNjcmlwdC10YWdzLWluLWhlYWQtY29tcG9uZW50XCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJyZWxcIl0gPT09IFwic3R5bGVzaGVldFwiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0RvIG5vdCBhZGQgc3R5bGVzaGVldHMgdXNpbmcgbmV4dC9oZWFkIChzZWUgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiPiB0YWcgd2l0aCBocmVmPVwiJyArIGMucHJvcHNbXCJocmVmXCJdICsgJ1wiKS4gVXNlIERvY3VtZW50IGluc3RlYWQuIFxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm8tc3R5bGVzaGVldHMtaW4taGVhZC1jb21wb25lbnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywge1xuICAgICAgICAgICAga2V5XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpbmplY3RzIGVsZW1lbnRzIHRvIGA8aGVhZD5gIG9mIHlvdXIgcGFnZS5cbiAqIFRvIGF2b2lkIGR1cGxpY2F0ZWQgYHRhZ3NgIGluIGA8aGVhZD5gIHlvdSBjYW4gdXNlIHRoZSBga2V5YCBwcm9wZXJ0eSwgd2hpY2ggd2lsbCBtYWtlIHN1cmUgZXZlcnkgdGFnIGlzIG9ubHkgcmVuZGVyZWQgb25jZS5cbiAqLyBmdW5jdGlvbiBIZWFkKHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4gIH0gPSBwYXJhbTtcbiAgICBjb25zdCBhbXBTdGF0ZSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FtcGNvbnRleHQuQW1wU3RhdGVDb250ZXh0KTtcbiAgICBjb25zdCBoZWFkTWFuYWdlciA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hlYWRtYW5hZ2VyY29udGV4dC5IZWFkTWFuYWdlckNvbnRleHQpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3NpZGVlZmZlY3QuZGVmYXVsdCwge1xuICAgICAgICByZWR1Y2VDb21wb25lbnRzVG9TdGF0ZTogcmVkdWNlQ29tcG9uZW50cyxcbiAgICAgICAgaGVhZE1hbmFnZXI6IGhlYWRNYW5hZ2VyLFxuICAgICAgICBpbkFtcE1vZGU6ICgwLCBfYW1wbW9kZS5pc0luQW1wTW9kZSkoYW1wU3RhdGUpXG4gICAgfSwgY2hpbGRyZW4pO1xufVxuY29uc3QgX2RlZmF1bHQgPSBIZWFkO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImRlZmF1bHRIZWFkIiwiZGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfcmVhY3QiLCJfIiwiX3NpZGVlZmZlY3QiLCJfYW1wY29udGV4dCIsIl9oZWFkbWFuYWdlcmNvbnRleHQiLCJfYW1wbW9kZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImhlYWQiLCJjcmVhdGVFbGVtZW50IiwiY2hhclNldCIsInB1c2giLCJjb250ZW50Iiwib25seVJlYWN0RWxlbWVudCIsImxpc3QiLCJjaGlsZCIsInR5cGUiLCJGcmFnbWVudCIsImNvbmNhdCIsIkNoaWxkcmVuIiwidG9BcnJheSIsInByb3BzIiwiY2hpbGRyZW4iLCJyZWR1Y2UiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwidW5pcXVlIiwia2V5cyIsIlNldCIsInRhZ3MiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJzbGljZSIsImhhcyIsImFkZCIsImkiLCJsZW4iLCJsZW5ndGgiLCJtZXRhdHlwZSIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcnkiLCJjYXRlZ29yaWVzIiwicmVkdWNlQ29tcG9uZW50cyIsImhlYWRDaGlsZHJlbkVsZW1lbnRzIiwicmV2ZXJzZSIsImZpbHRlciIsIm1hcCIsImMiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsIkhlYWQiLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsIkFtcFN0YXRlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJpc0luQW1wTW9kZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n"); - -/***/ }), - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"@rainbow-me/rainbowkit\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi */ \"wagmi\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/chains */ \"wagmi/chains\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! wagmi/providers/public */ \"wagmi/providers/public\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__]);\n([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp({ Component, pageProps }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_4__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyApp);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0I7QUFDWTtBQU1YO0FBRW1DO0FBUzdDO0FBQ2tDO0FBRXhELE1BQU0sRUFBRWMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLHFCQUFxQixFQUFFLEdBQUdiLHNEQUFlQSxDQUNyRTtJQUNFSyxpREFBT0E7SUFDUEUsaURBQU9BO0lBQ1BELGtEQUFRQTtJQUNSSCxrREFBUUE7SUFDUkssOENBQUlBO0lBQ0pKLGdEQUFNQTtJQUNOSyxpREFBT0E7T0FDSEssUUFBUUMsR0FBRyxDQUFDQywyQkFBMkIsS0FBSyxTQUFTO1FBQUNaLGdEQUFNQTtLQUFDLEdBQUcsRUFBRTtDQUN2RSxFQUNEO0lBQUNNLHNFQUFjQTtDQUFHO0FBR3BCLE1BQU0sRUFBRU8sVUFBVSxFQUFFLEdBQUdwQix5RUFBaUJBLENBQUM7SUFDdkNxQixTQUFTO0lBQ1RDLFdBQVc7SUFDWFI7QUFDRjtBQUVBLE1BQU1TLGNBQWNuQixtREFBWUEsQ0FBQztJQUMvQm9CLGFBQWE7SUFDYko7SUFDQUw7SUFDQUM7QUFDRjtBQUVBLFNBQVNTLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxTQUFTLEVBQVk7SUFDL0MscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0FBRUEsaUVBQWVGLEtBQUtBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n"); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./styles/globals.css": -/*!****************************!*\ - !*** ./styles/globals.css ***! - \****************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"../shared/lib/is-plain-object\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxvRUFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/pretty-bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/module.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/module.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PagesRouteModule: function() {\n return PagesRouteModule;\n },\n default: function() {\n return _default;\n }\n});\nconst _routemodule = __webpack_require__(/*! ../route-module */ \"../route-module\");\nconst _render = __webpack_require__(/*! ../../../render */ \"../../../render\");\nclass PagesRouteModule extends _routemodule.RouteModule {\n constructor(options){\n super(options);\n this.components = options.components;\n }\n render(req, res, context) {\n return (0, _render.renderToHTMLImpl)(req, res, context.page, context.query, context.renderOpts, {\n App: this.components.App,\n Document: this.components.Document\n });\n }\n}\nconst _default = PagesRouteModule;\n\n//# sourceMappingURL=module.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QscUJBQXFCLG1CQUFPLENBQUMsd0NBQWlCO0FBQzlDLGdCQUFnQixtQkFBTyxDQUFDLHdDQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlLmpzP2M5Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQYWdlc1JvdXRlTW9kdWxlOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUGFnZXNSb3V0ZU1vZHVsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlc1JvdXRlTW9kdWxlO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1vZHVsZSA9IHJlcXVpcmUoXCIuLi9yb3V0ZS1tb2R1bGVcIik7XG5jb25zdCBfcmVuZGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3JlbmRlclwiKTtcbmNsYXNzIFBhZ2VzUm91dGVNb2R1bGUgZXh0ZW5kcyBfcm91dGVtb2R1bGUuUm91dGVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpe1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzO1xuICAgIH1cbiAgICByZW5kZXIocmVxLCByZXMsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfcmVuZGVyLnJlbmRlclRvSFRNTEltcGwpKHJlcSwgcmVzLCBjb250ZXh0LnBhZ2UsIGNvbnRleHQucXVlcnksIGNvbnRleHQucmVuZGVyT3B0cywge1xuICAgICAgICAgICAgQXBwOiB0aGlzLmNvbXBvbmVudHMuQXBwLFxuICAgICAgICAgICAgRG9jdW1lbnQ6IHRoaXMuY29tcG9uZW50cy5Eb2N1bWVudFxuICAgICAgICB9KTtcbiAgICB9XG59XG5jb25zdCBfZGVmYXVsdCA9IFBhZ2VzUm91dGVNb2R1bGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.js\n"); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-dev-runtime.development.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-dev-runtime.development.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"react\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n\nvar jsxDEV$1 = jsxWithValidation ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV$1;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxvQkFBTzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxlQUFlO0FBQzFCLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjs7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz8xN2UxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcblxudmFyIGpzeERFViQxID0gIGpzeFdpdGhWYWxpZGF0aW9uIDtcblxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG5leHBvcnRzLmpzeERFViA9IGpzeERFViQxO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-dev-runtime.development.js\n"); - -/***/ }), - -/***/ "./node_modules/react/jsx-dev-runtime.js": -/*!***********************************************!*\ - !*** ./node_modules/react/jsx-dev-runtime.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx1SkFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzPzU3NzciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "../route-module": -/*!************************************************************************!*\ - !*** external "next/dist/server/future/route-modules/route-module.js" ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/future/route-modules/route-module.js"); - -/***/ }), - -/***/ "../server/get-page-files": -/*!*****************************************************!*\ - !*** external "next/dist/server/get-page-files.js" ***! - \*****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/get-page-files.js"); - -/***/ }), - -/***/ "../server/htmlescape": -/*!*************************************************!*\ - !*** external "next/dist/server/htmlescape.js" ***! - \*************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/htmlescape.js"); - -/***/ }), - -/***/ "../../../render": -/*!*********************************************!*\ - !*** external "next/dist/server/render.js" ***! - \*********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/render.js"); - -/***/ }), - -/***/ "../server/utils": -/*!********************************************!*\ - !*** external "next/dist/server/utils.js" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/utils.js"); - -/***/ }), - -/***/ "./amp-context": -/*!******************************************************!*\ - !*** external "next/dist/shared/lib/amp-context.js" ***! - \******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/amp-context.js"); - -/***/ }), - -/***/ "./amp-mode": -/*!***************************************************!*\ - !*** external "next/dist/shared/lib/amp-mode.js" ***! - \***************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/amp-mode.js"); - -/***/ }), - -/***/ "../shared/lib/constants": -/*!****************************************************!*\ - !*** external "next/dist/shared/lib/constants.js" ***! - \****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/constants.js"); - -/***/ }), - -/***/ "./head-manager-context": -/*!***************************************************************!*\ - !*** external "next/dist/shared/lib/head-manager-context.js" ***! - \***************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/head-manager-context.js"); - -/***/ }), - -/***/ "../shared/lib/html-context": -/*!*******************************************************!*\ - !*** external "next/dist/shared/lib/html-context.js" ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/html-context.js"); - -/***/ }), - -/***/ "../shared/lib/is-plain-object": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/is-plain-object.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/is-plain-object.js"); - -/***/ }), - -/***/ "./side-effect": -/*!******************************************************!*\ - !*** external "next/dist/shared/lib/side-effect.js" ***! - \******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/side-effect.js"); - -/***/ }), - -/***/ "./utils/warn-once": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/utils/warn-once.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/utils/warn-once.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("react"); - -/***/ }), - -/***/ "@rainbow-me/rainbowkit": -/*!*****************************************!*\ - !*** external "@rainbow-me/rainbowkit" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("@rainbow-me/rainbowkit");; - -/***/ }), - -/***/ "wagmi": -/*!************************!*\ - !*** external "wagmi" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi");; - -/***/ }), - -/***/ "wagmi/chains": -/*!*******************************!*\ - !*** external "wagmi/chains" ***! - \*******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/chains");; - -/***/ }), - -/***/ "wagmi/providers/public": -/*!*****************************************!*\ - !*** external "wagmi/providers/public" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/providers/public");; - -/***/ }), - -/***/ "./node_modules/@swc/helpers/cjs/_interop_require_default.cjs": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/cjs/_interop_require_default.cjs ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nexports._ = exports._interop_require_default = _interop_require_default;\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFNBQVMsR0FBRyxnQ0FBZ0M7QUFDNUM7QUFDQSwyQ0FBMkM7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzPzBhZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuXyA9IGV4cG9ydHMuX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0O1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\n"); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs": -/*!*********************************************************************!*\ - !*** ./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nexports._ = exports._interop_require_wildcard = _interop_require_wildcard;\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmNqcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFNBQVMsR0FBRyxpQ0FBaUM7QUFDN0M7QUFDQTtBQUNBLHVGQUF1Rjs7QUFFdkY7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9janMvX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5janM/YmJhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuXG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5leHBvcnRzLl8gPSBleHBvcnRzLl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkO1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0ge307XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICAgICAgICBlbHNlIG5ld09ialtrZXldID0gb2JqW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcblxuICAgIGlmIChjYWNoZSkgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcblxuICAgIHJldHVybiBuZXdPYmo7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\n"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!")); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/middleware-build-manifest.js b/.next/server/middleware-build-manifest.js deleted file mode 100644 index 8b8a87b..0000000 --- a/.next/server/middleware-build-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":[],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":[],"pages":{"/":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/index.js"],"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"]},"ampFirstPages":[]} \ No newline at end of file diff --git a/.next/server/middleware-manifest.json b/.next/server/middleware-manifest.json deleted file mode 100644 index 57712aa..0000000 --- a/.next/server/middleware-manifest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "sortedMiddleware": [], - "middleware": {}, - "functions": {}, - "version": 2 -} \ No newline at end of file diff --git a/.next/server/middleware-react-loadable-manifest.js b/.next/server/middleware-react-loadable-manifest.js deleted file mode 100644 index 9a28352..0000000 --- a/.next/server/middleware-react-loadable-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__REACT_LOADABLE_MANIFEST="{\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Arc-QDJFTGH2.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Arc-QDJFTGH2.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Brave-YATE5BIM.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Brave-YATE5BIM.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Browser-HN7O5MN7.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Browser-HN7O5MN7.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Chrome-LGF33C3S.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Chrome-LGF33C3S.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Edge-K2JEGI5S.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Edge-K2JEGI5S.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Firefox-NP5SYEK5.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Firefox-NP5SYEK5.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Opera-KV54PXPA.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Opera-KV54PXPA.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Safari-2QIYKJ4P.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./Safari-2QIYKJ4P.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./arbitrum-LYDBJZP3.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./arbitrum-LYDBJZP3.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./assets-26YY4GVD.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./assets-26YY4GVD.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./avalanche-TFPKP544.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./avalanche-TFPKP544.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./base-3MIUIYGA.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./base-3MIUIYGA.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./bsc-S2GSW6VX.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./bsc-S2GSW6VX.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./create-PAJXJDV3.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./create-PAJXJDV3.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./cronos-DQKKIEX7.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./cronos-DQKKIEX7.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./ethereum-4FY57XJF.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./ethereum-4FY57XJF.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./hardhat-ARRFHFKB.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./hardhat-ARRFHFKB.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./login-ZSMM5UYL.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./login-ZSMM5UYL.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./optimism-UUP5Y7TB.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./optimism-UUP5Y7TB.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./polygon-Z4QITDL7.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./polygon-Z4QITDL7.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./refresh-5KGGHTJP.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./refresh-5KGGHTJP.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./scan-HZBLXLM4.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./scan-HZBLXLM4.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./sign-FZVB2CS6.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./sign-FZVB2CS6.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./zora-KVO7WIOK.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js -> ./zora-KVO7WIOK.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./braveWallet-BTBH4MDN.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./braveWallet-BTBH4MDN.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./coinbaseWallet-2OUR5TUP.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./coinbaseWallet-2OUR5TUP.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./injectedWallet-EUKDEAIU.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./injectedWallet-EUKDEAIU.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./metaMaskWallet-ORHUNQRP.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./metaMaskWallet-ORHUNQRP.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./rainbowWallet-GGU64QEI.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./rainbowWallet-GGU64QEI.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./safeWallet-DFMLSLCR.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./safeWallet-DFMLSLCR.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js.js\"]},\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./walletConnectWallet-D6ZADJM7.js\":{\"id\":\"../node_modules/@rainbow-me/rainbowkit/dist/index.js -> ./walletConnectWallet-D6ZADJM7.js\",\"files\":[\"static/chunks/node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js.js\"]},\"../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js -> @coinbase/wallet-sdk\":{\"id\":\"../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js -> @coinbase/wallet-sdk\",\"files\":[\"static/chunks/node_modules_coinbase_wallet-sdk_dist_index_js.js\"]},\"../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js -> @walletconnect/ethereum-provider\":{\"id\":\"../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js -> @walletconnect/ethereum-provider\",\"files\":[\"static/chunks/node_modules_walletconnect_ethereum-provider_dist_index_es_js.js\"]},\"../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js -> @walletconnect/legacy-provider\":{\"id\":\"../node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js -> @walletconnect/legacy-provider\",\"files\":[\"static/chunks/node_modules_walletconnect_legacy-provider_dist_esm_index_js.js\"]},\"../node_modules/@walletconnect/ethereum-provider/dist/index.es.js -> @walletconnect/modal\":{\"id\":\"../node_modules/@walletconnect/ethereum-provider/dist/index.es.js -> @walletconnect/modal\",\"files\":[\"static/chunks/node_modules_walletconnect_modal_dist_index_js.js\"]},\"../node_modules/@walletconnect/modal/dist/index.js -> @walletconnect/modal-ui\":{\"id\":\"../node_modules/@walletconnect/modal/dist/index.js -> @walletconnect/modal-ui\",\"files\":[\"static/chunks/node_modules_walletconnect_modal-ui_dist_index_js.js\"]},\"../node_modules/viem/dist/cjs/actions/public/call.js -> ../../utils/ccip.js\":{\"id\":\"../node_modules/viem/dist/cjs/actions/public/call.js -> ../../utils/ccip.js\",\"files\":[]},\"../node_modules/viem/dist/cjs/utils/rpc.js -> isomorphic-ws\":{\"id\":\"../node_modules/viem/dist/cjs/utils/rpc.js -> isomorphic-ws\",\"files\":[\"static/chunks/node_modules_isomorphic-ws_browser_js.js\"]},\"../node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1\":{\"id\":\"../node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1\",\"files\":[\"static/chunks/node_modules_noble_curves_esm_secp256k1_js.js\"]},\"../node_modules/viem/dist/esm/actions/public/call.js -> ../../utils/ccip.js\":{\"id\":\"../node_modules/viem/dist/esm/actions/public/call.js -> ../../utils/ccip.js\",\"files\":[]},\"../node_modules/viem/dist/esm/utils/rpc.js -> isomorphic-ws\":{\"id\":\"../node_modules/viem/dist/esm/utils/rpc.js -> isomorphic-ws\",\"files\":[\"static/chunks/node_modules_isomorphic-ws_browser_js.js\"]},\"../node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1\":{\"id\":\"../node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js -> @noble/curves/secp256k1\",\"files\":[\"static/chunks/node_modules_noble_curves_esm_secp256k1_js.js\"]}}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.js b/.next/server/next-font-manifest.js deleted file mode 100644 index 5cc97eb..0000000 --- a/.next/server/next-font-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{},\"appUsingSizeAdjust\":false,\"pagesUsingSizeAdjust\":false}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.json b/.next/server/next-font-manifest.json deleted file mode 100644 index 25f78e7..0000000 --- a/.next/server/next-font-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/.next/server/pages-manifest.json b/.next/server/pages-manifest.json deleted file mode 100644 index 703c7ac..0000000 --- a/.next/server/pages-manifest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "/_app": "pages/_app.js", - "/_document": "pages/_document.js", - "/_error": "pages/_error.js", - "/": "pages/index.js" -} \ No newline at end of file diff --git a/.next/server/pages/_app.js b/.next/server/pages/_app.js deleted file mode 100644 index b2151d7..0000000 --- a/.next/server/pages/_app.js +++ /dev/null @@ -1,298 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/_app"; -exports.ids = ["pages/_app"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2hlbHBlcnMuanM/OTlmZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module */ \"./node_modules/next/dist/server/future/route-modules/pages/module.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-route-loader/helpers */ \"./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! private-next-pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! private-next-pages/_app */ \"./pages/_app.tsx\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__]);\nprivate_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n// @ts-ignore this need to be imported from next/dist to be external\n\n\n\n// Import the app and document modules.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// Import the userland code.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\nconst PagesRouteModule = next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule;\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"getServerSideProps\");\nconst config = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"config\");\nconst reportWebVitals = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/_app\",\n pathname: \"/_app\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Document: (private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__\n});\n\n//# sourceMappingURL=pages.js.map\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGX2FwcCZwcmVmZXJyZWRSZWdpb249JmFic29sdXRlUGFnZVBhdGg9cHJpdmF0ZS1uZXh0LXBhZ2VzJTJGX2FwcCZhYnNvbHV0ZUFwcFBhdGg9cHJpdmF0ZS1uZXh0LXBhZ2VzJTJGX2FwcCZhYnNvbHV0ZURvY3VtZW50UGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfZG9jdW1lbnQmbWlkZGxld2FyZUNvbmZpZ0Jhc2U2ND1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUM2RTtBQUNkO0FBQ21CO0FBQ2xGO0FBQ0E7QUFDb0Q7QUFDcEQ7QUFDMEM7QUFDMUM7QUFDQTtBQUNvRDtBQUNwRCx5QkFBeUIsZ0dBQXVCO0FBQ2hEO0FBQ0EsaUVBQWUsZ0dBQUssQ0FBQyxtREFBUSxZQUFZLEVBQUM7QUFDMUM7QUFDTyx1QkFBdUIsZ0dBQUssQ0FBQyxtREFBUTtBQUNyQyx1QkFBdUIsZ0dBQUssQ0FBQyxtREFBUTtBQUNyQywyQkFBMkIsZ0dBQUssQ0FBQyxtREFBUTtBQUN6QyxlQUFlLGdHQUFLLENBQUMsbURBQVE7QUFDN0Isd0JBQXdCLGdHQUFLLENBQUMsbURBQVE7QUFDN0M7QUFDTyxnQ0FBZ0MsZ0dBQUssQ0FBQyxtREFBUTtBQUM5QyxnQ0FBZ0MsZ0dBQUssQ0FBQyxtREFBUTtBQUM5QyxpQ0FBaUMsZ0dBQUssQ0FBQyxtREFBUTtBQUMvQyxnQ0FBZ0MsZ0dBQUssQ0FBQyxtREFBUTtBQUM5QyxvQ0FBb0MsZ0dBQUssQ0FBQyxtREFBUTtBQUN6RDtBQUNPO0FBQ1A7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLEtBQUs7QUFDTCxZQUFZO0FBQ1osQ0FBQzs7QUFFRCxpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8/ZDEwZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlIHRoaXMgbmVlZCB0byBiZSBpbXBvcnRlZCBmcm9tIG5leHQvZGlzdCB0byBiZSBleHRlcm5hbFxuaW1wb3J0ICogYXMgbW9kdWxlIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZVwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbmltcG9ydCB7IGhvaXN0IH0gZnJvbSBcIm5leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1yb3V0ZS1sb2FkZXIvaGVscGVyc1wiO1xuLy8gSW1wb3J0IHRoZSBhcHAgYW5kIGRvY3VtZW50IG1vZHVsZXMuXG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVwbGFjZWQgYnkgd2VicGFjay90dXJib3BhY2sgbG9hZGVyXG5pbXBvcnQgRG9jdW1lbnQgZnJvbSBcInByaXZhdGUtbmV4dC1wYWdlcy9fZG9jdW1lbnRcIjtcbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcbmltcG9ydCBBcHAgZnJvbSBcInByaXZhdGUtbmV4dC1wYWdlcy9fYXBwXCI7XG4vLyBJbXBvcnQgdGhlIHVzZXJsYW5kIGNvZGUuXG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVwbGFjZWQgYnkgd2VicGFjay90dXJib3BhY2sgbG9hZGVyXG5pbXBvcnQgKiBhcyB1c2VybGFuZCBmcm9tIFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19hcHBcIjtcbmNvbnN0IFBhZ2VzUm91dGVNb2R1bGUgPSBtb2R1bGUuUGFnZXNSb3V0ZU1vZHVsZTtcbi8vIFJlLWV4cG9ydCB0aGUgY29tcG9uZW50IChzaG91bGQgYmUgdGhlIGRlZmF1bHQgZXhwb3J0KS5cbmV4cG9ydCBkZWZhdWx0IGhvaXN0KHVzZXJsYW5kLCBcImRlZmF1bHRcIik7XG4vLyBSZS1leHBvcnQgbWV0aG9kcy5cbmV4cG9ydCBjb25zdCBnZXRTdGF0aWNQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcImdldFN0YXRpY1Byb3BzXCIpO1xuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1BhdGhzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U3RhdGljUGF0aHNcIik7XG5leHBvcnQgY29uc3QgZ2V0U2VydmVyU2lkZVByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U2VydmVyU2lkZVByb3BzXCIpO1xuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IGhvaXN0KHVzZXJsYW5kLCBcImNvbmZpZ1wiKTtcbmV4cG9ydCBjb25zdCByZXBvcnRXZWJWaXRhbHMgPSBob2lzdCh1c2VybGFuZCwgXCJyZXBvcnRXZWJWaXRhbHNcIik7XG4vLyBSZS1leHBvcnQgbGVnYWN5IG1ldGhvZHMuXG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTdGF0aWNQcm9wc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQYXRocyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1BhdGhzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1BhcmFtcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1BhcmFtc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTZXJ2ZXJQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFNlcnZlclByb3BzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFNlcnZlclNpZGVQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFNlcnZlclNpZGVQcm9wc1wiKTtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IFBhZ2VzUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLlBBR0VTLFxuICAgICAgICBwYWdlOiBcIi9fYXBwXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9fYXBwXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCJcbiAgICB9LFxuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgQXBwLFxuICAgICAgICBEb2N1bWVudFxuICAgIH0sXG4gICAgdXNlcmxhbmRcbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYWdlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_document.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/pages/_document.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"../shared/lib/constants\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"../server/get-page-files\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"../server/htmlescape\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontext = __webpack_require__(/*! ../shared/lib/html-context */ \"../shared/lib/html-context\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: polyfill,\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props, _el_props_dangerouslySetInnerHTML;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props, _child_props_dangerouslySetInnerHTML;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !userDefinedConfig && /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }), /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }), (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n }));\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, webWorkerScripts, beforeInteractiveScripts);\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in <head>\n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ _react.default.createElement(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n key: fontFile,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n });\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n key: file,\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file.src,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n })),\n ...preloadFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props, _c_props_href;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains <title> (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ _react.default.createElement(\"head\", getHeadHTMLProps(this.props), this.context.isDevelopment && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n }))), head, this.context.strictNextHead ? null : /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }), children, optimizeFonts && /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-font-preconnect\"\n }), nextFontLinkTags.preconnect, nextFontLinkTags.preload, true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }), !hasCanonicalRel && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"../server/utils\").cleanAmpPath)(dangerousAsPath)\n }), /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }), /*#__PURE__*/ _react.default.createElement(AmpStyles, {\n styles: styles\n }), /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })), /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })), !( true && inAmpMode) && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }), this.getBeforeInteractiveInlineScripts(), !optimizeCss && this.getCssLinks(files), !optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), optimizeCss && this.getCssLinks(files), optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }), styles || null), /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || []));\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find, _children_find_props, _children_find1, _children_find_props1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }), ampDevFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n })));\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n })) : null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }), disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files));\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ _react.default.createElement(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ _react.default.createElement(\"next-js-internal-body-render-target\", null);\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLFNBQVMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3JFLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHdEQUF5QjtBQUNwRCxNQUFNRSxnQkFBZ0JGLG1CQUFPQSxDQUFDLDBEQUEwQjtBQUN4RCxNQUFNRyxjQUFjSCxtQkFBT0EsQ0FBQyxrREFBc0I7QUFDbEQsTUFBTUksV0FBVyxXQUFXLEdBQUdMLHlCQUF5QkMsbUJBQU9BLENBQUMsaUVBQWlCO0FBQ2pGLE1BQU1LLGVBQWVMLG1CQUFPQSxDQUFDLDhEQUE0QjtBQUN6RCxTQUFTRCx5QkFBeUJPLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDaEIsU0FBU2dCO0lBQ2I7QUFDSjtBQUNBLDhFQUE4RSxHQUFHLE1BQU1FLHdCQUF3QixJQUFJQztBQUNuSCxTQUFTQyxpQkFBaUJDLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxTQUFTO0lBQ3hELE1BQU1DLGNB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LEdBQUdELDBCQUU3QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcz8zYjhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSGVhZDogbnVsbCxcbiAgICBOZXh0U2NyaXB0OiBudWxsLFxuICAgIEh0bWw6IG51bGwsXG4gICAgTWFpbjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZDtcbiAgICB9LFxuICAgIE5leHRTY3JpcHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNjcmlwdDtcbiAgICB9LFxuICAgIEh0bWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSHRtbDtcbiAgICB9LFxuICAgIE1haW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWFpbjtcbiAgICB9LFxuICAgIC8qKlxuICogYERvY3VtZW50YCBjb21wb25lbnQgaGFuZGxlcyB0aGUgaW5pdGlhbCBgZG9jdW1lbnRgIG1hcmt1cCBhbmQgcmVuZGVycyBvbmx5IG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqIENvbW1vbmx5IHVzZWQgZm9yIGltcGxlbWVudGluZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcgZm9yIGBjc3MtaW4tanNgIGxpYnJhcmllcy5cbiAqLyBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERvY3VtZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfZ2V0cGFnZWZpbGVzID0gcmVxdWlyZShcIi4uL3NlcnZlci9nZXQtcGFnZS1maWxlc1wiKTtcbmNvbnN0IF9odG1sZXNjYXBlID0gcmVxdWlyZShcIi4uL3NlcnZlci9odG1sZXNjYXBlXCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpKTtcbmNvbnN0IF9odG1sY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2h0bWwtY29udGV4dFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuLyoqIFNldCBvZiBwYWdlcyB0aGF0IGhhdmUgdHJpZ2dlcmVkIGEgbGFyZ2UgZGF0YSB3YXJuaW5nIG9uIHByb2R1Y3Rpb24gbW9kZS4gKi8gY29uc3QgbGFyZ2VQYWdlRGF0YVdhcm5pbmdzID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gZ2V0RG9jdW1lbnRGaWxlcyhidWlsZE1hbmlmZXN0LCBwYXRobmFtZSwgaW5BbXBNb2RlKSB7XG4gICAgY29uc3Qgc2hhcmVkRmlsZXMgPSAoMCwgX2dldHBhZ2VmaWxlcy5nZXRQYWdlRmlsZXMpKGJ1aWxkTWFuaWZlc3QsIFwiL19hcHBcIik7XG4gICAgY29uc3QgcGFnZUZpbGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBbXSA6ICgwLCBfZ2V0cGFnZWZpbGVzLmdldFBhZ2VGaWxlcykoYnVpbGRNYW5pZmVzdCwgcGF0aG5hbWUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNoYXJlZEZpbGVzLFxuICAgICAgICBwYWdlRmlsZXMsXG4gICAgICAgIGFsbEZpbGVzOiBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KFtcbiAgICAgICAgICAgICAgICAuLi5zaGFyZWRGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5wYWdlRmlsZXNcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF1cbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UG9seWZpbGxTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgLy8gcG9seWZpbGxzLmpzIGhhcyB0byBiZSByZW5kZXJlZCBhcyBub21vZHVsZSB3aXRob3V0IGFzeW5jXG4gICAgLy8gSXQgYWxzbyBoYXMgdG8gYmUgdGhlIGZpcnN0IHNjcmlwdCB0byBsb2FkXG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGJ1aWxkTWFuaWZlc3QgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcy5maWx0ZXIoKHBvbHlmaWxsKT0+cG9seWZpbGwuZW5kc1dpdGgoXCIuanNcIikgJiYgIXBvbHlmaWxsLmVuZHNXaXRoKFwiLm1vZHVsZS5qc1wiKSkubWFwKChwb2x5ZmlsbCk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBrZXk6IHBvbHlmaWxsLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgIG5vTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtwb2x5ZmlsbH0ke2Fzc2V0UXVlcnlTdHJpbmd9YFxuICAgICAgICB9KSk7XG59XG5mdW5jdGlvbiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkge1xuICAgIHJldHVybiAhIWNoaWxkICYmICEhY2hpbGQucHJvcHM7XG59XG5mdW5jdGlvbiBBbXBTdHlsZXMoeyBzdHlsZXMgIH0pIHtcbiAgICBpZiAoIXN0eWxlcykgcmV0dXJuIG51bGw7XG4gICAgLy8gdHJ5IHRvIHBhcnNlIHN0eWxlcyBmcm9tIGZyYWdtZW50IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgY29uc3QgY3VyU3R5bGVzID0gQXJyYXkuaXNBcnJheShzdHlsZXMpID8gc3R5bGVzIDogW107XG4gICAgaWYgKC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIHN0eWxlcy5wcm9wcyAmJiAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICBBcnJheS5pc0FycmF5KHN0eWxlcy5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgaGFzU3R5bGVzID0gKGVsKT0+e1xuICAgICAgICAgICAgdmFyIF9lbF9wcm9wcywgX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGVsID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzID0gZWwucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2VsX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgICAgIHN0eWxlcy5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkLmZvckVhY2goKGVsKT0+aGFzU3R5bGVzKGVsKSAmJiBjdXJTdHlsZXMucHVzaChlbCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTdHlsZXMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY3VyU3R5bGVzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyogQWRkIGN1c3RvbSBzdHlsZXMgYmVmb3JlIEFNUCBzdHlsZXMgdG8gcHJldmVudCBhY2NpZGVudGFsIG92ZXJyaWRlcyAqLyByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICBcImFtcC1jdXN0b21cIjogXCJcIixcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogY3VyU3R5bGVzLm1hcCgoc3R5bGUpPT5zdHlsZS5wcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpLmpvaW4oXCJcIikucmVwbGFjZSgvXFwvXFwqIyBzb3VyY2VNYXBwaW5nVVJMPS4qXFwqXFwvL2csIFwiXCIpLnJlcGxhY2UoL1xcL1xcKkAgc291cmNlVVJMPS4qP1xcKlxcLy9nLCBcIlwiKVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljQ2h1bmtzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGlzRGV2ZWxvcG1lbnQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLmpzXCIpIHx8IGZpbGVzLmFsbEZpbGVzLmluY2x1ZGVzKGZpbGUpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBhc3luYzogIWlzRGV2ZWxvcG1lbnQgJiYgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRTY3JpcHRzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIHZhciBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzO1xuICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBidWlsZE1hbmlmZXN0ICwgaXNEZXZlbG9wbWVudCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAsIGNyb3NzT3JpZ2luICB9ID0gY29udGV4dDtcbiAgICBjb25zdCBub3JtYWxTY3JpcHRzID0gZmlsZXMuYWxsRmlsZXMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgY29uc3QgbG93UHJpb3JpdHlTY3JpcHRzID0gKF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMgPSBidWlsZE1hbmlmZXN0Lmxvd1ByaW9yaXR5RmlsZXMpID09IG51bGwgPyB2b2lkIDAgOiBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuanNcIikpO1xuICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5vcm1hbFNjcmlwdHMsXG4gICAgICAgIC4uLmxvd1ByaW9yaXR5U2NyaXB0c1xuICAgIF0ubWFwKChmaWxlKT0+e1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFByZU5leHRXb3JrZXJTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIHNjcmlwdExvYWRlciAsIGNyb3NzT3JpZ2luICwgbmV4dFNjcmlwdFdvcmtlcnMgIH0gPSBjb250ZXh0O1xuICAgIC8vIGRpc2FibGUgYG5leHRTY3JpcHRXb3JrZXJzYCBpbiBlZGdlIHJ1bnRpbWVcbiAgICBpZiAoIW5leHRTY3JpcHRXb3JrZXJzIHx8IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHJldHVybiBudWxsO1xuICAgIHRyeSB7XG4gICAgICAgIGxldCB7IHBhcnR5dG93blNuaXBwZXQgIH0gPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcIkBidWlsZGVyLmlvL3BhcnR5dG93bi9pbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgXTtcbiAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSB1c2VyIGhhcyBkZWZpbmVkIHRoZWlyIG93biBQYXJ0eXRvd24gY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lZENvbmZpZyA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+e1xuICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcywgX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGhhc0NvbXBvbmVudFByb3BzKGNoaWxkKSAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfY2hpbGRfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sLmxlbmd0aCkgJiYgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIiBpbiBjaGlsZC5wcm9wcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsICF1c2VyRGVmaW5lZENvbmZpZyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgXG4gICAgICAgICAgICBwYXJ0eXRvd24gPSB7XG4gICAgICAgICAgICAgIGxpYjogXCIke2Fzc2V0UHJlZml4fS9fbmV4dC9zdGF0aWMvfnBhcnR5dG93bi9cIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93blwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IHBhcnR5dG93blNuaXBwZXQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgKHNjcmlwdExvYWRlci53b3JrZXIgfHwgW10pLm1hcCgoZmlsZSwgaW5kZXgpPT57XG4gICAgICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgc3JjICwgY2hpbGRyZW46IHNjcmlwdENoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBzcmNQcm9wcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNyYykge1xuICAgICAgICAgICAgICAgIC8vIFVzZSBleHRlcm5hbCBzcmMgaWYgcHJvdmlkZWRcbiAgICAgICAgICAgICAgICBzcmNQcm9wcy5zcmMgPSBzcmM7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgIC8vIEVtYmVkIGlubGluZSBzY3JpcHQgaWYgcHJvdmlkZWQgd2l0aCBkYW5nZXJvdXNseVNldElubmVySFRNTFxuICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgc3JjUHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSB7XG4gICAgICAgICAgICAgICAgICAgIF9faHRtbDogdHlwZW9mIHNjcmlwdENoaWxkcmVuID09PSBcInN0cmluZ1wiID8gc2NyaXB0Q2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KHNjcmlwdENoaWxkcmVuKSA/IHNjcmlwdENoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB1c2FnZSBvZiBuZXh0L3NjcmlwdC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBhIHNyYyBhdHRyaWJ1dGUgb3IgYW4gaW5saW5lIHNjcmlwdD8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1zY3JpcHRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zcmNQcm9wcyxcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRleHQvcGFydHl0b3duXCIsXG4gICAgICAgICAgICAgICAga2V5OiBzcmMgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwid29ya2VyXCIsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IHNjcmlwdExvYWRlciAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgY3Jvc3NPcmlnaW4gIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHdlYldvcmtlclNjcmlwdHMgPSBnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyhjb250ZXh0LCBwcm9wcyk7XG4gICAgY29uc3QgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzID0gKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkuZmlsdGVyKChzY3JpcHQpPT5zY3JpcHQuc3JjKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgICAgICBrZXk6IHNjcmlwdFByb3BzLnNyYyB8fCBpbmRleCxcbiAgICAgICAgICAgIGRlZmVyOiBzY3JpcHRQcm9wcy5kZWZlciA/PyAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcImJlZm9yZUludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgd2ViV29ya2VyU2NyaXB0cywgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzKTtcbn1cbmZ1bmN0aW9uIGdldEhlYWRIVE1MUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB7IGNyb3NzT3JpZ2luICwgbm9uY2UgLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIC8vIFRoaXMgYXNzaWdubWVudCBpcyBuZWNlc3NhcnkgZm9yIGFkZGl0aW9uYWwgdHlwZSBjaGVja2luZyB0byBhdm9pZCB1bnN1cHBvcnRlZCBhdHRyaWJ1dGVzIGluIDxoZWFkPlxuICAgIGNvbnN0IGhlYWRQcm9wcyA9IHJlc3RQcm9wcztcbiAgICByZXR1cm4gaGVhZFByb3BzO1xufVxuZnVuY3Rpb24gZ2V0QW1wUGF0aChhbXBQYXRoLCBhc1BhdGgpIHtcbiAgICByZXR1cm4gYW1wUGF0aCB8fCBgJHthc1BhdGh9JHthc1BhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIn1hbXA9MWA7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXggPSBcIlwiKSB7XG4gICAgaWYgKCFuZXh0Rm9udE1hbmlmZXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgICAgICAgICAgcHJlbG9hZDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tcIi9fYXBwXCJdO1xuICAgIGNvbnN0IHBhZ2VGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tkYW5nZXJvdXNBc1BhdGhdO1xuICAgIGNvbnN0IHByZWxvYWRlZEZvbnRGaWxlcyA9IFtcbiAgICAgICAgLi4uYXBwRm9udHNFbnRyeSA/PyBbXSxcbiAgICAgICAgLi4ucGFnZUZvbnRzRW50cnkgPz8gW11cbiAgICBdO1xuICAgIC8vIElmIG5vIGZvbnQgZmlsZXMgc2hvdWxkIHByZWxvYWQgYnV0IHRoZXJlJ3MgYW4gZW50cnkgZm9yIHRoZSBwYXRoLCBhZGQgYSBwcmVjb25uZWN0IHRhZy5cbiAgICBjb25zdCBwcmVjb25uZWN0VG9TZWxmID0gISEocHJlbG9hZGVkRm9udEZpbGVzLmxlbmd0aCA9PT0gMCAmJiAoYXBwRm9udHNFbnRyeSB8fCBwYWdlRm9udHNFbnRyeSkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWNvbm5lY3Q6IHByZWNvbm5lY3RUb1NlbGYgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWZvbnRcIjogbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1VzaW5nU2l6ZUFkanVzdCA/IFwic2l6ZS1hZGp1c3RcIiA6IFwiXCIsXG4gICAgICAgICAgICByZWw6IFwicHJlY29ubmVjdFwiLFxuICAgICAgICAgICAgaHJlZjogXCIvXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogXCJhbm9ueW1vdXNcIlxuICAgICAgICB9KSA6IG51bGwsXG4gICAgICAgIHByZWxvYWQ6IHByZWxvYWRlZEZvbnRGaWxlcyA/IHByZWxvYWRlZEZvbnRGaWxlcy5tYXAoKGZvbnRGaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gL1xcLih3b2ZmfHdvZmYyfGVvdHx0dGZ8b3RmKSQvLmV4ZWMoZm9udEZpbGUpWzFdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZm9udEZpbGUsXG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZm9udEZpbGUpfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IGBmb250LyR7ZXh0fWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCIsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBmb250RmlsZS5pbmNsdWRlcyhcIi1zXCIpID8gXCJzaXplLWFkanVzdFwiIDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pIDogbnVsbFxuICAgIH07XG59XG5jbGFzcyBIZWFkIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgI18gPSAoKCk9PntcbiAgICAgICAgdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dC5IdG1sQ29udGV4dDtcbiAgICB9KSgpO1xuICAgIGdldENzc0xpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgZHluYW1pY0ltcG9ydHMgLCBjcm9zc09yaWdpbiAsIG9wdGltaXplQ3NzICwgb3B0aW1pemVGb250cyAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGYpPT5mLmVuZHNXaXRoKFwiLmNzc1wiKSk7XG4gICAgICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gbmV3IFNldChmaWxlcy5zaGFyZWRGaWxlcyk7XG4gICAgICAgIC8vIFVubWFuYWdlZCBmaWxlcyBhcmUgQ1NTIGZpbGVzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZVxuICAgICAgICAvLyB3ZWJwYWNrIHJ1bnRpbWUgKGBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbmApLlxuICAgICAgICBsZXQgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoW10pO1xuICAgICAgICBsZXQgZHluYW1pY0Nzc0ZpbGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGR5bmFtaWNJbXBvcnRzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuY3NzXCIpKSkpO1xuICAgICAgICBpZiAoZHluYW1pY0Nzc0ZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgU2V0KGNzc0ZpbGVzKTtcbiAgICAgICAgICAgIGR5bmFtaWNDc3NGaWxlcyA9IGR5bmFtaWNDc3NGaWxlcy5maWx0ZXIoKGYpPT4hKGV4aXN0aW5nLmhhcyhmKSB8fCBzaGFyZWRGaWxlcy5oYXMoZikpKTtcbiAgICAgICAgICAgIHVubWFuZ2VkRmlsZXMgPSBuZXcgU2V0KGR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgICAgICBjc3NGaWxlcy5wdXNoKC4uLmR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNzc0xpbmtFbGVtZW50cyA9IFtdO1xuICAgICAgICBjc3NGaWxlcy5mb3JFYWNoKChmaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgaXNTaGFyZWRGaWxlID0gc2hhcmVkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgaWYgKCFvcHRpbWl6ZUNzcykge1xuICAgICAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGAke2ZpbGV9LXByZWxvYWRgLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzVW5tYW5hZ2VkRmlsZSA9IHVubWFuZ2VkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzLnB1c2goLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIHJlbDogXCJzdHlsZXNoZWV0XCIsXG4gICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uLWdcIjogaXNVbm1hbmFnZWRGaWxlID8gdW5kZWZpbmVkIDogaXNTaGFyZWRGaWxlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBcImRhdGEtbi1wXCI6IGlzVW5tYW5hZ2VkRmlsZSA/IHVuZGVmaW5lZCA6IGlzU2hhcmVkRmlsZSA/IHVuZGVmaW5lZCA6IFwiXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIG9wdGltaXplRm9udHMpIHtcbiAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cyA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjc3NMaW5rRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjc3NMaW5rRWxlbWVudHMubGVuZ3RoID09PSAwID8gbnVsbCA6IGNzc0xpbmtFbGVtZW50cztcbiAgICB9XG4gICAgZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLy8gRmlsdGVyIG91dCBudWxsZWQgc2NyaXB0c1xuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgc2NyaXB0TG9hZGVyICwgY3Jvc3NPcmlnaW4gIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHByZWxvYWRGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PntcbiAgICAgICAgICAgIHJldHVybiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUuc3JjLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogZmlsZS5zcmMsXG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLnByZWxvYWRGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCB7IHNjcmlwdExvYWRlciAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgeyBub25jZSAsIGNyb3NzT3JpZ2luICB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+IXNjcmlwdC5zcmMgJiYgKHNjcmlwdC5kYW5nZXJvdXNseVNldElubmVySFRNTCB8fCBzY3JpcHQuY2hpbGRyZW4pKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgY29uc3QgeyBzdHJhdGVneSAsIGNoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCBzcmMgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBodG1sID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCAmJiBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpIHtcbiAgICAgICAgICAgICAgICBodG1sID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGh0bWwgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuaWQgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IG5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4gfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBtYWtlU3R5bGVzaGVldEluZXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChub2RlLCAoYyk9PntcbiAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHMxO1xuICAgICAgICAgICAgaWYgKChjID09IG51bGwgPyB2b2lkIDAgOiBjLnR5cGUpID09PSBcImxpbmtcIiAmJiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzLmhyZWYpICYmIF9jb25zdGFudHMuT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTLnNvbWUoKHsgdXJsICB9KT0+e1xuICAgICAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHNfaHJlZjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wc19ocmVmID0gX2NfcHJvcHMuaHJlZikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzX2hyZWYuc3RhcnRzV2l0aCh1cmwpO1xuICAgICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWhyZWZcIjogYy5wcm9wcy5ocmVmLFxuICAgICAgICAgICAgICAgICAgICBocmVmOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wczEgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHMxLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoYy5wcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgLy8gQHR5cGVzL3JlYWN0IGJ1Zy4gUmV0dXJuZWQgdmFsdWUgZnJvbSAubWFwIHdpbGwgbm90IGJlIGBudWxsYCBpZiB5b3UgcGFzcyBpbiBgW251bGxdYFxuICAgICAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdHlsZXMgLCBhbXBQYXRoICwgaW5BbXBNb2RlICwgaHlicmlkQW1wICwgY2Fub25pY2FsQmFzZSAsIF9fTkVYVF9EQVRBX18gLCBkYW5nZXJvdXNBc1BhdGggLCBoZWFkVGFncyAsIHVuc3RhYmxlX3J1bnRpbWVKUyAsIHVuc3RhYmxlX0pzUHJlbG9hZCAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgb3B0aW1pemVDc3MgLCBvcHRpbWl6ZUZvbnRzICwgYXNzZXRQcmVmaXggLCBuZXh0Rm9udE1hbmlmZXN0ICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBkaXNhYmxlUnVudGltZUpTID0gdW5zdGFibGVfcnVudGltZUpTID09PSBmYWxzZTtcbiAgICAgICAgY29uc3QgZGlzYWJsZUpzUHJlbG9hZCA9IHVuc3RhYmxlX0pzUHJlbG9hZCA9PT0gZmFsc2UgfHwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nO1xuICAgICAgICB0aGlzLmNvbnRleHQuZG9jQ29tcG9uZW50c1JlbmRlcmVkLkhlYWQgPSB0cnVlO1xuICAgICAgICBsZXQgeyBoZWFkICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBsZXQgY3NzUHJlbG9hZHMgPSBbXTtcbiAgICAgICAgbGV0IG90aGVySGVhZEVsZW1lbnRzID0gW107XG4gICAgICAgIGlmIChoZWFkKSB7XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGMpPT57XG4gICAgICAgICAgICAgICAgbGV0IG1ldGFUYWc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhVGFnID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxXCJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjICYmIGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJwcmVsb2FkXCIgJiYgYy5wcm9wc1tcImFzXCJdID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyAmJiBjc3NQcmVsb2Fkcy5wdXNoKG1ldGFUYWcpO1xuICAgICAgICAgICAgICAgICAgICBjc3NQcmVsb2Fkcy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVRhZyAmJiAoYy50eXBlICE9PSBcIm1ldGFcIiB8fCAhYy5wcm9wc1tcImNoYXJTZXRcIl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJIZWFkRWxlbWVudHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGhlYWQgPSBjc3NQcmVsb2Fkcy5jb25jYXQob3RoZXJIZWFkRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodGhpcy5wcm9wcy5jaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAvLyBzaG93IGEgd2FybmluZyBpZiBIZWFkIGNvbnRhaW5zIDx0aXRsZT4gKG9ubHkgaW4gZGV2ZWxvcG1lbnQpXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgICAgICBjb25zdCBpc1JlYWN0SGVsbWV0ID0gY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF9wcm9wc1tcImRhdGEtcmVhY3QtaGVsbWV0XCJdO1xuICAgICAgICAgICAgICAgIGlmICghaXNSZWFjdEhlbG1ldCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2NoaWxkX3Byb3BzMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjaGlsZCA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQudHlwZSkgPT09IFwidGl0bGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiV2FybmluZzogPHRpdGxlPiBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC10aXRsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcIm1ldGFcIiAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMxID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHMxLm5hbWUpID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHZpZXdwb3J0IG1ldGEgdGFncyBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC12aWV3cG9ydC1tZXRhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBIZWFkYCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzICYmICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhc0FtcGh0bWxSZWwgPSBmYWxzZTtcbiAgICAgICAgbGV0IGhhc0Nhbm9uaWNhbFJlbCA9IGZhbHNlO1xuICAgICAgICAvLyBzaG93IHdhcm5pbmcgYW5kIHJlbW92ZSBjb25mbGljdGluZyBhbXAgaGVhZCB0YWdzXG4gICAgICAgIGhlYWQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5tYXAoaGVhZCB8fCBbXSwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKCFjaGlsZCkgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlICwgcHJvcHMgIH0gPSBjaGlsZDtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSkge1xuICAgICAgICAgICAgICAgIGxldCBiYWRQcm9wID0gXCJcIjtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJtZXRhXCIgJiYgcHJvcHMubmFtZSA9PT0gXCJ2aWV3cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSAnbmFtZT1cInZpZXdwb3J0XCInO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImNhbm9uaWNhbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Nhbm9uaWNhbFJlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcInNjcmlwdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYmxvY2sgaWZcbiAgICAgICAgICAgICAgICAgICAgLy8gMS4gaXQgaGFzIGEgc3JjIGFuZCBpc24ndCBwb2ludGluZyB0byBhbXBwcm9qZWN0J3MgQ0ROXG4gICAgICAgICAgICAgICAgICAgIC8vIDIuIGl0IGlzIHVzaW5nIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHdpdGhvdXQgYSB0eXBlIG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgdHlwZSBvZiB0ZXh0L2phdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLnNyYyAmJiBwcm9wcy5zcmMuaW5kZXhPZihcImFtcHByb2plY3RcIikgPCAtMSB8fCBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAmJiAoIXByb3BzLnR5cGUgfHwgcHJvcHMudHlwZSA9PT0gXCJ0ZXh0L2phdmFzY3JpcHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSBcIjxzY3JpcHRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKChwcm9wKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gYCAke3Byb3B9PVwiJHtwcm9wc1twcm9wXX1cImA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gXCIvPlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChiYWRQcm9wKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRm91bmQgY29uZmxpY3RpbmcgYW1wIHRhZyBcIiR7Y2hpbGQudHlwZX1cIiB3aXRoIGNvbmZsaWN0aW5nIHByb3AgJHtiYWRQcm9wfSBpbiAke19fTkVYVF9EQVRBX18ucGFnZX0uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NvbmZsaWN0aW5nLWFtcC10YWdgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBub24tYW1wIG1vZGVcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImFtcGh0bWxcIikge1xuICAgICAgICAgICAgICAgICAgICBoYXNBbXBodG1sUmVsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICBjb25zdCBuZXh0Rm9udExpbmtUYWdzID0gZ2V0TmV4dEZvbnRMaW5rVGFncyhuZXh0Rm9udE1hbmlmZXN0LCBkYW5nZXJvdXNBc1BhdGgsIGFzc2V0UHJlZml4KTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImhlYWRcIiwgZ2V0SGVhZEhUTUxQcm9wcyh0aGlzLnByb3BzKSwgdGhpcy5jb250ZXh0LmlzRGV2ZWxvcG1lbnQgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dC1oaWRlLWZvdWNcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBcInRydWVcIiA6IHVuZGVmaW5lZFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpibG9ja31gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKSksIGhlYWQsIHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1oZWFkLWNvdW50XCIsXG4gICAgICAgICAgICBjb250ZW50OiBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5jb3VudChoZWFkIHx8IFtdKS50b1N0cmluZygpXG4gICAgICAgIH0pLCBjaGlsZHJlbiwgb3B0aW1pemVGb250cyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1mb250LXByZWNvbm5lY3RcIlxuICAgICAgICB9KSwgbmV4dEZvbnRMaW5rVGFncy5wcmVjb25uZWN0LCBuZXh0Rm9udExpbmtUYWdzLnByZWxvYWQsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCxtaW5pbXVtLXNjYWxlPTEsaW5pdGlhbC1zY2FsZT0xXCJcbiAgICAgICAgfSksICFoYXNDYW5vbmljYWxSZWwgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwiY2Fub25pY2FsXCIsXG4gICAgICAgICAgICBocmVmOiBjYW5vbmljYWxCYXNlICsgcmVxdWlyZShcIi4uL3NlcnZlci91dGlsc1wiKS5jbGVhbkFtcFBhdGgoZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChBbXBTdHlsZXMsIHtcbiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImFtcC1ib2lsZXJwbGF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1vei1hbmltYXRpb246LWFtcC1zdGFydCA4cyBzdGVwcygxLGVuZCkgMHMgMSBub3JtYWwgYm90aDstbXMtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7YW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUAtbW96LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1zLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW8ta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUBrZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19YFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibm9zY3JpcHRcIiwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXstd2Via2l0LWFuaW1hdGlvbjpub25lOy1tb3otYW5pbWF0aW9uOm5vbmU7LW1zLWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICBzcmM6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICB9KSksICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgIWhhc0FtcGh0bWxSZWwgJiYgaHlicmlkQW1wICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgcmVsOiBcImFtcGh0bWxcIixcbiAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyBnZXRBbXBQYXRoKGFtcFBhdGgsIGRhbmdlcm91c0FzUGF0aClcbiAgICAgICAgfSksIHRoaXMuZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCksICFvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSwgIW9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksICFkaXNhYmxlUnVudGltZUpTICYmICFkaXNhYmxlSnNQcmVsb2FkICYmIHRoaXMuZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSwgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFByZU5leHRTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLCAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSwgb3B0aW1pemVDc3MgJiYgdGhpcy5nZXRDc3NMaW5rcyhmaWxlcyksIG9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8vIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIG1vdW50IGRldmVsb3BtZW50IHN0eWxlcyBzbyB0aGVcbiAgICAgICAgLy8gb3JkZXJpbmcgbWF0Y2hlcyBwcm9kdWN0aW9uXG4gICAgICAgIC8vIChieSBkZWZhdWx0LCBzdHlsZS1sb2FkZXIgaW5qZWN0cyBhdCB0aGUgYm90dG9tIG9mIDxoZWFkIC8+KVxuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICBpZDogXCJfX25leHRfY3NzX19ET19OT1RfVVNFX19cIlxuICAgICAgICB9KSwgc3R5bGVzIHx8IG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHt9LCAuLi5oZWFkVGFncyB8fCBbXSkpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcykge1xuICAgIHZhciBfY2hpbGRyZW5fZmluZCwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMsIF9jaGlsZHJlbl9maW5kMSwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMxO1xuICAgIGlmICghcHJvcHMuY2hpbGRyZW4pIHJldHVybjtcbiAgICBjb25zdCBzY3JpcHRMb2FkZXJJdGVtcyA9IFtdO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICBdO1xuICAgIGNvbnN0IGhlYWRDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZCA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gSGVhZCkpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkcmVuX2ZpbmRfcHJvcHMgPSBfY2hpbGRyZW5fZmluZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZDEgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PmNoaWxkLnR5cGUgPT09IFwiYm9keVwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wczEgPSBfY2hpbGRyZW5fZmluZDEucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRyZW5fZmluZF9wcm9wczEuY2hpbGRyZW47XG4gICAgLy8gU2NyaXB0cyB3aXRoIGJlZm9yZUludGVyYWN0aXZlIGNhbiBiZSBwbGFjZWQgaW5zaWRlIEhlYWQgb3IgPGJvZHk+IHNvIGNoaWxkcmVuIG9mIGJvdGggbmVlZHMgdG8gYmUgdHJhdmVyc2VkXG4gICAgY29uc3QgY29tYmluZWRDaGlsZHJlbiA9IFtcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShoZWFkQ2hpbGRyZW4pID8gaGVhZENoaWxkcmVuIDogW1xuICAgICAgICAgICAgaGVhZENoaWxkcmVuXG4gICAgICAgIF0sXG4gICAgICAgIC4uLkFycmF5LmlzQXJyYXkoYm9keUNoaWxkcmVuKSA/IGJvZHlDaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIGJvZHlDaGlsZHJlblxuICAgICAgICBdXG4gICAgXTtcbiAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5mb3JFYWNoKGNvbWJpbmVkQ2hpbGRyZW4sIChjaGlsZCk9PntcbiAgICAgICAgdmFyIF9jaGlsZF90eXBlO1xuICAgICAgICBpZiAoIWNoaWxkKSByZXR1cm47XG4gICAgICAgIC8vIFdoZW4gdXNpbmcgdGhlIGBuZXh0L3NjcmlwdGAgY29tcG9uZW50LCByZWdpc3RlciBpdCBpbiBzY3JpcHQgbG9hZGVyLlxuICAgICAgICBpZiAoKF9jaGlsZF90eXBlID0gY2hpbGQudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF90eXBlLl9fbmV4dFNjcmlwdCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLnByb3BzLnN0cmF0ZWd5ID09PSBcImJlZm9yZUludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgPSAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChbXG4gICAgICAgICAgICAgICAgXCJsYXp5T25sb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJhZnRlckludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJ3b3JrZXJcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcyhjaGlsZC5wcm9wcy5zdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXJJdGVtcy5wdXNoKGNoaWxkLnByb3BzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBfX05FWFRfREFUQV9fLnNjcmlwdExvYWRlciA9IHNjcmlwdExvYWRlckl0ZW1zO1xufVxuY2xhc3MgTmV4dFNjcmlwdCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gKCgpPT57XG4gICAgICAgIHRoaXMuY29udGV4dFR5cGUgPSBfaHRtbGNvbnRleHQuSHRtbENvbnRleHQ7XG4gICAgfSkoKTtcbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0SW5saW5lU2NyaXB0U291cmNlKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBfX05FWFRfREFUQV9fICwgbGFyZ2VQYWdlRGF0YUJ5dGVzICB9ID0gY29udGV4dDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShfX05FWFRfREFUQV9fKTtcbiAgICAgICAgICAgIGlmIChsYXJnZVBhZ2VEYXRhV2FybmluZ3MuaGFzKF9fTkVYVF9EQVRBX18ucGFnZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShkYXRhKS5idWZmZXIuYnl0ZUxlbmd0aCA6IEJ1ZmZlci5mcm9tKGRhdGEpLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBwcmV0dHlCeXRlcyA9IHJlcXVpcmUoXCIuLi9saWIvcHJldHR5LWJ5dGVzXCIpLmRlZmF1bHQ7XG4gICAgICAgICAgICBpZiAobGFyZ2VQYWdlRGF0YUJ5dGVzICYmIGJ5dGVzID4gbGFyZ2VQYWdlRGF0YUJ5dGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZVBhZ2VEYXRhV2FybmluZ3MuYWRkKF9fTkVYVF9EQVRBX18ucGFnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogZGF0YSBmb3IgcGFnZSBcIiR7X19ORVhUX0RBVEFfXy5wYWdlfVwiJHtfX05FWFRfREFUQV9fLnBhZ2UgPT09IGNvbnRleHQuZGFuZ2Vyb3VzQXNQYXRoID8gXCJcIiA6IGAgKHBhdGggXCIke2NvbnRleHQuZGFuZ2Vyb3VzQXNQYXRofVwiKWB9IGlzICR7cHJldHR5Qnl0ZXMoYnl0ZXMpfSB3aGljaCBleGNlZWRzIHRoZSB0aHJlc2hvbGQgb2YgJHtwcmV0dHlCeXRlcyhsYXJnZVBhZ2VEYXRhQnl0ZXMpfSwgdGhpcyBhbW91bnQgb2YgZGF0YSBjYW4gcmVkdWNlIHBlcmZvcm1hbmNlLlxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGFyZ2UtcGFnZS1kYXRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZihcImNpcmN1bGFyIHN0cnVjdHVyZVwiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENpcmN1bGFyIHN0cnVjdHVyZSBpbiBcImdldEluaXRpYWxQcm9wc1wiIHJlc3VsdCBvZiBwYWdlIFwiJHtfX05FWFRfREFUQV9fLnBhZ2V9XCIuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NpcmN1bGFyLXN0cnVjdHVyZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGluQW1wTW9kZSAsIGJ1aWxkTWFuaWZlc3QgLCB1bnN0YWJsZV9ydW50aW1lSlMgLCBkb2NDb21wb25lbnRzUmVuZGVyZWQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5OZXh0U2NyaXB0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbXBEZXZGaWxlcyA9IFtcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmRldkZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmFtcERldkZpbGVzXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHRydWVcbiAgICAgICAgICAgIH0pLCBhbXBEZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZmlsZX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jcm9zc09yaWdpbikgY29uc29sZS53YXJuKFwiV2FybmluZzogYE5leHRTY3JpcHRgIGF0dHJpYnV0ZSBgY3Jvc3NPcmlnaW5gIGlzIGRlcHJlY2F0ZWQuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2RvYy1jcm9zc29yaWdpbi1kZXByZWNhdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAhZGlzYWJsZVJ1bnRpbWVKUyAmJiBidWlsZE1hbmlmZXN0LmRldkZpbGVzID8gYnVpbGRNYW5pZmVzdC5kZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSkpIDogbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXREeW5hbWljQ2h1bmtzKGZpbGVzKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gSHRtbChwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlICwgZG9jQ29tcG9uZW50c1JlbmRlcmVkICwgbG9jYWxlICwgc2NyaXB0TG9hZGVyICwgX19ORVhUX0RBVEFfXyAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLkh0bWwgPSB0cnVlO1xuICAgIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcyk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImh0bWxcIiwge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbGFuZzogcHJvcHMubGFuZyB8fCBsb2NhbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhbXA6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IHVuZGVmaW5lZFxuICAgIH0pO1xufVxuZnVuY3Rpb24gTWFpbigpIHtcbiAgICBjb25zdCB7IGRvY0NvbXBvbmVudHNSZW5kZXJlZCAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk1haW4gPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmV4dC1qcy1pbnRlcm5hbC1ib2R5LXJlbmRlci10YXJnZXRcIiwgbnVsbCk7XG59XG5jbGFzcyBEb2N1bWVudCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAqIGBnZXRJbml0aWFsUHJvcHNgIGhvb2sgcmV0dXJucyB0aGUgY29udGV4dCBvYmplY3Qgd2l0aCB0aGUgYWRkaXRpb24gb2YgYHJlbmRlclBhZ2VgLlxuICAgKiBgcmVuZGVyUGFnZWAgY2FsbGJhY2sgZXhlY3V0ZXMgYFJlYWN0YCByZW5kZXJpbmcgbG9naWMgc3luY2hyb25vdXNseSB0byBzdXBwb3J0IHNlcnZlci1yZW5kZXJpbmcgd3JhcHBlcnNcbiAgICovIHN0YXRpYyBnZXRJbml0aWFsUHJvcHMoY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHguZGVmYXVsdEdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG4gICAgfVxufVxuLy8gQWRkIGEgc3BlY2lhbCBwcm9wZXJ0eSB0byB0aGUgYnVpbHQtaW4gYERvY3VtZW50YCBjb21wb25lbnQgc28gbGF0ZXIgd2UgY2FuXG4vLyBpZGVudGlmeSBpZiBhIHVzZXIgY3VzdG9taXplZCBgRG9jdW1lbnRgIGlzIHVzZWQgb3Igbm90LlxuY29uc3QgSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50ID0gZnVuY3Rpb24gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50KCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG59O1xuRG9jdW1lbnRbX2NvbnN0YW50cy5ORVhUX0JVSUxUSU5fRE9DVU1FTlRdID0gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZG9jdW1lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSGVhZCIsIk5leHRTY3JpcHQiLCJIdG1sIiwiTWFpbiIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEb2N1bWVudCIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2dldHBhZ2VmaWxlcyIsIl9odG1sZXNjYXBlIiwiX2lzZXJyb3IiLCJfaHRtbGNvbnRleHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwibGFyZ2VQYWdlRGF0YVdhcm5pbmdzIiwiU2V0IiwiZ2V0RG9jdW1lbnRGaWxlcyIsImJ1aWxkTWFuaWZlc3QiLCJwYXRobmFtZSIsImluQW1wTW9kZSIsInNoYXJlZEZpbGVzIiwiZ2V0UGFnZUZpbGVzIiwicGFnZUZpbGVzIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImFsbEZpbGVzIiwiZ2V0UG9seWZpbGxTY3JpcHRzIiwiY29udGV4dCIsInByb3BzIiwiYXNzZXRQcmVmaXgiLCJhc3NldFF1ZXJ5U3RyaW5nIiwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciLCJjcm9zc09yaWdpbiIsInBvbHlmaWxsRmlsZXMiLCJmaWx0ZXIiLCJwb2x5ZmlsbCIsImVuZHNXaXRoIiwibWFwIiwiY3JlYXRlRWxlbWVudCIsImtleSIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImhhc0NvbXBvbmVudFByb3BzIiwiY2hpbGQiLCJBbXBTdHlsZXMiLCJzdHlsZXMiLCJjdXJTdHlsZXMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZHJlbiIsImhhc1N0eWxlcyIsImVsIiwiX2VsX3Byb3BzIiwiX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJmb3JFYWNoIiwicHVzaCIsInN0eWxlIiwiam9pbiIsInJlcGxhY2UiLCJnZXREeW5hbWljQ2h1bmtzIiwiZmlsZXMiLCJkeW5hbWljSW1wb3J0cyIsImlzRGV2ZWxvcG1lbnQiLCJmaWxlIiwiaW5jbHVkZXMiLCJhc3luYyIsImVuY29kZVVSSSIsImdldFNjcmlwdHMiLCJfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzIiwibm9ybWFsU2NyaXB0cyIsImxvd1ByaW9yaXR5U2NyaXB0cyIsImxvd1ByaW9yaXR5RmlsZXMiLCJnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyIsInNjcmlwdExvYWRlciIsIm5leHRTY3JpcHRXb3JrZXJzIiwicGFydHl0b3duU25pcHBldCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwidXNlckRlZmluZWRDb25maWciLCJmaW5kIiwiX2NoaWxkX3Byb3BzIiwiX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwibGVuZ3RoIiwiRnJhZ21lbnQiLCJ3b3JrZXIiLCJpbmRleCIsInN0cmF0ZWd5Iiwic2NyaXB0Q2hpbGRyZW4iLCJzY3JpcHRQcm9wcyIsInNyY1Byb3BzIiwiRXJyb3IiLCJ0eXBlIiwiZXJyIiwiY29kZSIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImdldFByZU5leHRTY3JpcHRzIiwid2ViV29ya2VyU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlIiwic2NyaXB0IiwiZ2V0SGVhZEhUTUxQcm9wcyIsInJlc3RQcm9wcyIsImhlYWRQcm9wcyIsImdldEFtcFBhdGgiLCJhbXBQYXRoIiwiYXNQYXRoIiwiZ2V0TmV4dEZvbnRMaW5rVGFncyIsIm5leHRGb250TWFuaWZlc3QiLCJkYW5nZXJvdXNBc1BhdGgiLCJwcmVjb25uZWN0IiwicHJlbG9hZCIsImFwcEZvbnRzRW50cnkiLCJwYWdlcyIsInBhZ2VGb250c0VudHJ5IiwicHJlbG9hZGVkRm9udEZpbGVzIiwicHJlY29ubmVjdFRvU2VsZiIsInBhZ2VzVXNpbmdTaXplQWRqdXN0IiwicmVsIiwiaHJlZiIsImZvbnRGaWxlIiwiZXh0IiwiZXhlYyIsImFzIiwiQ29tcG9uZW50IiwiXyIsImNvbnRleHRUeXBlIiwiSHRtbENvbnRleHQiLCJnZXRDc3NMaW5rcyIsIm9wdGltaXplQ3NzIiwib3B0aW1pemVGb250cyIsImNzc0ZpbGVzIiwiZiIsInVubWFuZ2VkRmlsZXMiLCJkeW5hbWljQ3NzRmlsZXMiLCJmcm9tIiwiZXhpc3RpbmciLCJoYXMiLCJjc3NMaW5rRWxlbWVudHMiLCJpc1NoYXJlZEZpbGUiLCJpc1VubWFuYWdlZEZpbGUiLCJ1bmRlZmluZWQiLCJtYWtlU3R5bGVzaGVldEluZXJ0IiwiZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MiLCJCb29sZWFuIiwiZ2V0UHJlbG9hZE1haW5MaW5rcyIsInByZWxvYWRGaWxlcyIsImdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cyIsImh0bWwiLCJpZCIsIl9fTkVYVF9DUk9TU19PUklHSU4iLCJub2RlIiwiQ2hpbGRyZW4iLCJjIiwiX2NfcHJvcHMiLCJfY19wcm9wczEiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJzb21lIiwidXJsIiwiX2NfcHJvcHNfaHJlZiIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsImNsb25lRWxlbWVudCIsInJlbmRlciIsImh5YnJpZEFtcCIsImNhbm9uaWNhbEJhc2UiLCJfX05FWFRfREFUQV9fIiwiaGVhZFRhZ3MiLCJ1bnN0YWJsZV9ydW50aW1lSlMiLCJ1bnN0YWJsZV9Kc1ByZWxvYWQiLCJkaXNhYmxlUnVudGltZUpTIiwiZGlzYWJsZUpzUHJlbG9hZCIsImRvY0NvbXBvbmVudHNSZW5kZXJlZCIsImhlYWQiLCJjc3NQcmVsb2FkcyIsIm90aGVySGVhZEVsZW1lbnRzIiwibWV0YVRhZyIsInN0cmljdE5leHRIZWFkIiwiY29udGVudCIsImNvbmNhdCIsInRvQXJyYXkiLCJpc1JlYWN0SGVsbWV0IiwiX2NoaWxkX3Byb3BzMSIsImhhc0FtcGh0bWxSZWwiLCJoYXNDYW5vbmljYWxSZWwiLCJiYWRQcm9wIiwiaW5kZXhPZiIsImtleXMiLCJwcm9wIiwicGFnZSIsIm5leHRGb250TGlua1RhZ3MiLCJjb3VudCIsInRvU3RyaW5nIiwiY2xlYW5BbXBQYXRoIiwiaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyIsIl9jaGlsZHJlbl9maW5kIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMiLCJfY2hpbGRyZW5fZmluZDEiLCJfY2hpbGRyZW5fZmluZF9wcm9wczEiLCJzY3JpcHRMb2FkZXJJdGVtcyIsImhlYWRDaGlsZHJlbiIsImJvZHlDaGlsZHJlbiIsImNvbWJpbmVkQ2hpbGRyZW4iLCJfY2hpbGRfdHlwZSIsIl9fbmV4dFNjcmlwdCIsImdldElubGluZVNjcmlwdFNvdXJjZSIsImxhcmdlUGFnZURhdGFCeXRlcyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiaHRtbEVzY2FwZUpzb25TdHJpbmciLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiYnVmZmVyIiwiYnl0ZUxlbmd0aCIsIkJ1ZmZlciIsInByZXR0eUJ5dGVzIiwiYWRkIiwiYW1wRGV2RmlsZXMiLCJkZXZGaWxlcyIsImxvY2FsZSIsInVzZUh0bWxDb250ZXh0IiwibGFuZyIsImFtcCIsImdldEluaXRpYWxQcm9wcyIsImN0eCIsImRlZmF1bHRHZXRJbml0aWFsUHJvcHMiLCJJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); - -/***/ }), - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"@rainbow-me/rainbowkit\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi */ \"wagmi\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/chains */ \"wagmi/chains\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! wagmi/providers/public */ \"wagmi/providers/public\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__]);\n([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp({ Component, pageProps }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_4__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyApp);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0I7QUFDWTtBQU1YO0FBRW1DO0FBUzdDO0FBQ2tDO0FBRXhELE1BQU0sRUFBRWMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLHFCQUFxQixFQUFFLEdBQUdiLHNEQUFlQSxDQUNyRTtJQUNFSyxpREFBT0E7SUFDUEUsaURBQU9BO0lBQ1BELGtEQUFRQTtJQUNSSCxrREFBUUE7SUFDUkssOENBQUlBO0lBQ0pKLGdEQUFNQTtJQUNOSyxpREFBT0E7T0FDSEssUUFBUUMsR0FBRyxDQUFDQywyQkFBMkIsS0FBSyxTQUFTO1FBQUNaLGdEQUFNQTtLQUFDLEdBQUcsRUFBRTtDQUN2RSxFQUNEO0lBQUNNLHNFQUFjQTtDQUFHO0FBR3BCLE1BQU0sRUFBRU8sVUFBVSxFQUFFLEdBQUdwQix5RUFBaUJBLENBQUM7SUFDdkNxQixTQUFTO0lBQ1RDLFdBQVc7SUFDWFI7QUFDRjtBQUVBLE1BQU1TLGNBQWNuQixtREFBWUEsQ0FBQztJQUMvQm9CLGFBQWE7SUFDYko7SUFDQUw7SUFDQUM7QUFDRjtBQUVBLFNBQVNTLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxTQUFTLEVBQVk7SUFDL0MscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0FBRUEsaUVBQWVGLEtBQUtBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n"); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./styles/globals.css": -/*!****************************!*\ - !*** ./styles/globals.css ***! - \****************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"../shared/lib/is-plain-object\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxvRUFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/pretty-bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/module.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/module.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PagesRouteModule: function() {\n return PagesRouteModule;\n },\n default: function() {\n return _default;\n }\n});\nconst _routemodule = __webpack_require__(/*! ../route-module */ \"../route-module\");\nconst _render = __webpack_require__(/*! ../../../render */ \"../../../render\");\nclass PagesRouteModule extends _routemodule.RouteModule {\n constructor(options){\n super(options);\n this.components = options.components;\n }\n render(req, res, context) {\n return (0, _render.renderToHTMLImpl)(req, res, context.page, context.query, context.renderOpts, {\n App: this.components.App,\n Document: this.components.Document\n });\n }\n}\nconst _default = PagesRouteModule;\n\n//# sourceMappingURL=module.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QscUJBQXFCLG1CQUFPLENBQUMsd0NBQWlCO0FBQzlDLGdCQUFnQixtQkFBTyxDQUFDLHdDQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlLmpzP2M5Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQYWdlc1JvdXRlTW9kdWxlOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUGFnZXNSb3V0ZU1vZHVsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlc1JvdXRlTW9kdWxlO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1vZHVsZSA9IHJlcXVpcmUoXCIuLi9yb3V0ZS1tb2R1bGVcIik7XG5jb25zdCBfcmVuZGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3JlbmRlclwiKTtcbmNsYXNzIFBhZ2VzUm91dGVNb2R1bGUgZXh0ZW5kcyBfcm91dGVtb2R1bGUuUm91dGVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpe1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzO1xuICAgIH1cbiAgICByZW5kZXIocmVxLCByZXMsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfcmVuZGVyLnJlbmRlclRvSFRNTEltcGwpKHJlcSwgcmVzLCBjb250ZXh0LnBhZ2UsIGNvbnRleHQucXVlcnksIGNvbnRleHQucmVuZGVyT3B0cywge1xuICAgICAgICAgICAgQXBwOiB0aGlzLmNvbXBvbmVudHMuQXBwLFxuICAgICAgICAgICAgRG9jdW1lbnQ6IHRoaXMuY29tcG9uZW50cy5Eb2N1bWVudFxuICAgICAgICB9KTtcbiAgICB9XG59XG5jb25zdCBfZGVmYXVsdCA9IFBhZ2VzUm91dGVNb2R1bGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.js\n"); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-dev-runtime.development.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-dev-runtime.development.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"react\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n\nvar jsxDEV$1 = jsxWithValidation ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV$1;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxvQkFBTzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxlQUFlO0FBQzFCLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjs7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz8xN2UxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcblxudmFyIGpzeERFViQxID0gIGpzeFdpdGhWYWxpZGF0aW9uIDtcblxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG5leHBvcnRzLmpzeERFViA9IGpzeERFViQxO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-dev-runtime.development.js\n"); - -/***/ }), - -/***/ "./node_modules/react/jsx-dev-runtime.js": -/*!***********************************************!*\ - !*** ./node_modules/react/jsx-dev-runtime.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx1SkFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzPzU3NzciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "../route-module": -/*!************************************************************************!*\ - !*** external "next/dist/server/future/route-modules/route-module.js" ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/future/route-modules/route-module.js"); - -/***/ }), - -/***/ "../server/get-page-files": -/*!*****************************************************!*\ - !*** external "next/dist/server/get-page-files.js" ***! - \*****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/get-page-files.js"); - -/***/ }), - -/***/ "../server/htmlescape": -/*!*************************************************!*\ - !*** external "next/dist/server/htmlescape.js" ***! - \*************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/htmlescape.js"); - -/***/ }), - -/***/ "../../../render": -/*!*********************************************!*\ - !*** external "next/dist/server/render.js" ***! - \*********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/render.js"); - -/***/ }), - -/***/ "../server/utils": -/*!********************************************!*\ - !*** external "next/dist/server/utils.js" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/utils.js"); - -/***/ }), - -/***/ "../shared/lib/constants": -/*!****************************************************!*\ - !*** external "next/dist/shared/lib/constants.js" ***! - \****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/constants.js"); - -/***/ }), - -/***/ "../shared/lib/html-context": -/*!*******************************************************!*\ - !*** external "next/dist/shared/lib/html-context.js" ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/html-context.js"); - -/***/ }), - -/***/ "../shared/lib/is-plain-object": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/is-plain-object.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/is-plain-object.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("react"); - -/***/ }), - -/***/ "@rainbow-me/rainbowkit": -/*!*****************************************!*\ - !*** external "@rainbow-me/rainbowkit" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("@rainbow-me/rainbowkit");; - -/***/ }), - -/***/ "wagmi": -/*!************************!*\ - !*** external "wagmi" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi");; - -/***/ }), - -/***/ "wagmi/chains": -/*!*******************************!*\ - !*** external "wagmi/chains" ***! - \*******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/chains");; - -/***/ }), - -/***/ "wagmi/providers/public": -/*!*****************************************!*\ - !*** external "wagmi/providers/public" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/providers/public");; - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!")); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/pages/_document.js b/.next/server/pages/_document.js deleted file mode 100644 index f5199b1..0000000 --- a/.next/server/pages/_document.js +++ /dev/null @@ -1,298 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/_document"; -exports.ids = ["pages/_document"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2hlbHBlcnMuanM/OTlmZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module */ \"./node_modules/next/dist/server/future/route-modules/pages/module.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-route-loader/helpers */ \"./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! private-next-pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! private-next-pages/_app */ \"./pages/_app.tsx\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__]);\nprivate_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n// @ts-ignore this need to be imported from next/dist to be external\n\n\n\n// Import the app and document modules.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// Import the userland code.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\nconst PagesRouteModule = next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule;\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"getServerSideProps\");\nconst config = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"config\");\nconst reportWebVitals = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/_document\",\n pathname: \"/_document\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Document: (private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__\n});\n\n//# sourceMappingURL=pages.js.map\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGX2RvY3VtZW50JnByZWZlcnJlZFJlZ2lvbj0mYWJzb2x1dGVQYWdlUGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfZG9jdW1lbnQmYWJzb2x1dGVBcHBQYXRoPXByaXZhdGUtbmV4dC1wYWdlcyUyRl9hcHAmYWJzb2x1dGVEb2N1bWVudFBhdGg9cHJpdmF0ZS1uZXh0LXBhZ2VzJTJGX2RvY3VtZW50Jm1pZGRsZXdhcmVDb25maWdCYXNlNjQ9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDNkU7QUFDZDtBQUNtQjtBQUNsRjtBQUNBO0FBQ29EO0FBQ3BEO0FBQzBDO0FBQzFDO0FBQ0E7QUFDeUQ7QUFDekQseUJBQXlCLGdHQUF1QjtBQUNoRDtBQUNBLGlFQUFlLGdHQUFLLENBQUMsd0RBQVEsWUFBWSxFQUFDO0FBQzFDO0FBQ08sdUJBQXVCLGdHQUFLLENBQUMsd0RBQVE7QUFDckMsdUJBQXVCLGdHQUFLLENBQUMsd0RBQVE7QUFDckMsMkJBQTJCLGdHQUFLLENBQUMsd0RBQVE7QUFDekMsZUFBZSxnR0FBSyxDQUFDLHdEQUFRO0FBQzdCLHdCQUF3QixnR0FBSyxDQUFDLHdEQUFRO0FBQzdDO0FBQ08sZ0NBQWdDLGdHQUFLLENBQUMsd0RBQVE7QUFDOUMsZ0NBQWdDLGdHQUFLLENBQUMsd0RBQVE7QUFDOUMsaUNBQWlDLGdHQUFLLENBQUMsd0RBQVE7QUFDL0MsZ0NBQWdDLGdHQUFLLENBQUMsd0RBQVE7QUFDOUMsb0NBQW9DLGdHQUFLLENBQUMsd0RBQVE7QUFDekQ7QUFDTztBQUNQO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixLQUFLO0FBQ0wsWUFBWTtBQUNaLENBQUM7O0FBRUQsaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vPzBmM2MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZSB0aGlzIG5lZWQgdG8gYmUgaW1wb3J0ZWQgZnJvbSBuZXh0L2Rpc3QgdG8gYmUgZXh0ZXJuYWxcbmltcG9ydCAqIGFzIG1vZHVsZSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGVcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG5pbXBvcnQgeyBob2lzdCB9IGZyb20gXCJuZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2hlbHBlcnNcIjtcbi8vIEltcG9ydCB0aGUgYXBwIGFuZCBkb2N1bWVudCBtb2R1bGVzLlxuLy8gQHRzLWV4cGVjdC1lcnJvciAtIHJlcGxhY2VkIGJ5IHdlYnBhY2svdHVyYm9wYWNrIGxvYWRlclxuaW1wb3J0IERvY3VtZW50IGZyb20gXCJwcml2YXRlLW5leHQtcGFnZXMvX2RvY3VtZW50XCI7XG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVwbGFjZWQgYnkgd2VicGFjay90dXJib3BhY2sgbG9hZGVyXG5pbXBvcnQgQXBwIGZyb20gXCJwcml2YXRlLW5leHQtcGFnZXMvX2FwcFwiO1xuLy8gSW1wb3J0IHRoZSB1c2VybGFuZCBjb2RlLlxuLy8gQHRzLWV4cGVjdC1lcnJvciAtIHJlcGxhY2VkIGJ5IHdlYnBhY2svdHVyYm9wYWNrIGxvYWRlclxuaW1wb3J0ICogYXMgdXNlcmxhbmQgZnJvbSBcInByaXZhdGUtbmV4dC1wYWdlcy9fZG9jdW1lbnRcIjtcbmNvbnN0IFBhZ2VzUm91dGVNb2R1bGUgPSBtb2R1bGUuUGFnZXNSb3V0ZU1vZHVsZTtcbi8vIFJlLWV4cG9ydCB0aGUgY29tcG9uZW50IChzaG91bGQgYmUgdGhlIGRlZmF1bHQgZXhwb3J0KS5cbmV4cG9ydCBkZWZhdWx0IGhvaXN0KHVzZXJsYW5kLCBcImRlZmF1bHRcIik7XG4vLyBSZS1leHBvcnQgbWV0aG9kcy5cbmV4cG9ydCBjb25zdCBnZXRTdGF0aWNQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcImdldFN0YXRpY1Byb3BzXCIpO1xuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1BhdGhzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U3RhdGljUGF0aHNcIik7XG5leHBvcnQgY29uc3QgZ2V0U2VydmVyU2lkZVByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U2VydmVyU2lkZVByb3BzXCIpO1xuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IGhvaXN0KHVzZXJsYW5kLCBcImNvbmZpZ1wiKTtcbmV4cG9ydCBjb25zdCByZXBvcnRXZWJWaXRhbHMgPSBob2lzdCh1c2VybGFuZCwgXCJyZXBvcnRXZWJWaXRhbHNcIik7XG4vLyBSZS1leHBvcnQgbGVnYWN5IG1ldGhvZHMuXG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJ1bnN0YWJsZV9nZXRTdGF0aWNQcm9wc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQYXRocyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1BhdGhzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1BhcmFtcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1BhcmFtc1wiKTtcbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTZXJ2ZXJQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFNlcnZlclByb3BzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFNlcnZlclNpZGVQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFNlcnZlclNpZGVQcm9wc1wiKTtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IFBhZ2VzUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLlBBR0VTLFxuICAgICAgICBwYWdlOiBcIi9fZG9jdW1lbnRcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL19kb2N1bWVudFwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiXG4gICAgfSxcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIEFwcCxcbiAgICAgICAgRG9jdW1lbnRcbiAgICB9LFxuICAgIHVzZXJsYW5kXG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFnZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_document.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/pages/_document.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"../shared/lib/constants\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"../server/get-page-files\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"../server/htmlescape\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontext = __webpack_require__(/*! ../shared/lib/html-context */ \"../shared/lib/html-context\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: polyfill,\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props, _el_props_dangerouslySetInnerHTML;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props, _child_props_dangerouslySetInnerHTML;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !userDefinedConfig && /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }), /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }), (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n }));\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, webWorkerScripts, beforeInteractiveScripts);\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in <head>\n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ _react.default.createElement(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n key: fontFile,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n });\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n key: file,\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file.src,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n })),\n ...preloadFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props, _c_props_href;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains <title> (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ _react.default.createElement(\"head\", getHeadHTMLProps(this.props), this.context.isDevelopment && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n }))), head, this.context.strictNextHead ? null : /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }), children, optimizeFonts && /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-font-preconnect\"\n }), nextFontLinkTags.preconnect, nextFontLinkTags.preload, true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }), !hasCanonicalRel && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"../server/utils\").cleanAmpPath)(dangerousAsPath)\n }), /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }), /*#__PURE__*/ _react.default.createElement(AmpStyles, {\n styles: styles\n }), /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })), /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })), !( true && inAmpMode) && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }), this.getBeforeInteractiveInlineScripts(), !optimizeCss && this.getCssLinks(files), !optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), optimizeCss && this.getCssLinks(files), optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }), styles || null), /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || []));\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find, _children_find_props, _children_find1, _children_find_props1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }), ampDevFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n })));\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n })) : null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }), disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files));\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ _react.default.createElement(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ _react.default.createElement(\"next-js-internal-body-render-target\", null);\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLFNBQVMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3JFLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHdEQUF5QjtBQUNwRCxNQUFNRSxnQkFBZ0JGLG1CQUFPQSxDQUFDLDBEQUEwQjtBQUN4RCxNQUFNRyxjQUFjSCxtQkFBT0EsQ0FBQyxrREFBc0I7QUFDbEQsTUFBTUksV0FBVyxXQUFXLEdBQUdMLHlCQUF5QkMsbUJBQU9BLENBQUMsaUVBQWlCO0FBQ2pGLE1BQU1LLGVBQWVMLG1CQUFPQSxDQUFDLDhEQUE0QjtBQUN6RCxTQUFTRCx5QkFBeUJPLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDaEIsU0FBU2dCO0lBQ2I7QUFDSjtBQUNBLDhFQUE4RSxHQUFHLE1BQU1FLHdCQUF3QixJQUFJQztBQUNuSCxTQUFTQyxpQkFBaUJDLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxTQUFTO0lBQ3hELE1BQU1DLGNB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LEdBQUdELDBCQUU3QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcz8zYjhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSGVhZDogbnVsbCxcbiAgICBOZXh0U2NyaXB0OiBudWxsLFxuICAgIEh0bWw6IG51bGwsXG4gICAgTWFpbjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZDtcbiAgICB9LFxuICAgIE5leHRTY3JpcHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNjcmlwdDtcbiAgICB9LFxuICAgIEh0bWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSHRtbDtcbiAgICB9LFxuICAgIE1haW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWFpbjtcbiAgICB9LFxuICAgIC8qKlxuICogYERvY3VtZW50YCBjb21wb25lbnQgaGFuZGxlcyB0aGUgaW5pdGlhbCBgZG9jdW1lbnRgIG1hcmt1cCBhbmQgcmVuZGVycyBvbmx5IG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqIENvbW1vbmx5IHVzZWQgZm9yIGltcGxlbWVudGluZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcgZm9yIGBjc3MtaW4tanNgIGxpYnJhcmllcy5cbiAqLyBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERvY3VtZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfZ2V0cGFnZWZpbGVzID0gcmVxdWlyZShcIi4uL3NlcnZlci9nZXQtcGFnZS1maWxlc1wiKTtcbmNvbnN0IF9odG1sZXNjYXBlID0gcmVxdWlyZShcIi4uL3NlcnZlci9odG1sZXNjYXBlXCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpKTtcbmNvbnN0IF9odG1sY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2h0bWwtY29udGV4dFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuLyoqIFNldCBvZiBwYWdlcyB0aGF0IGhhdmUgdHJpZ2dlcmVkIGEgbGFyZ2UgZGF0YSB3YXJuaW5nIG9uIHByb2R1Y3Rpb24gbW9kZS4gKi8gY29uc3QgbGFyZ2VQYWdlRGF0YVdhcm5pbmdzID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gZ2V0RG9jdW1lbnRGaWxlcyhidWlsZE1hbmlmZXN0LCBwYXRobmFtZSwgaW5BbXBNb2RlKSB7XG4gICAgY29uc3Qgc2hhcmVkRmlsZXMgPSAoMCwgX2dldHBhZ2VmaWxlcy5nZXRQYWdlRmlsZXMpKGJ1aWxkTWFuaWZlc3QsIFwiL19hcHBcIik7XG4gICAgY29uc3QgcGFnZUZpbGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBbXSA6ICgwLCBfZ2V0cGFnZWZpbGVzLmdldFBhZ2VGaWxlcykoYnVpbGRNYW5pZmVzdCwgcGF0aG5hbWUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNoYXJlZEZpbGVzLFxuICAgICAgICBwYWdlRmlsZXMsXG4gICAgICAgIGFsbEZpbGVzOiBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KFtcbiAgICAgICAgICAgICAgICAuLi5zaGFyZWRGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5wYWdlRmlsZXNcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF1cbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UG9seWZpbGxTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgLy8gcG9seWZpbGxzLmpzIGhhcyB0byBiZSByZW5kZXJlZCBhcyBub21vZHVsZSB3aXRob3V0IGFzeW5jXG4gICAgLy8gSXQgYWxzbyBoYXMgdG8gYmUgdGhlIGZpcnN0IHNjcmlwdCB0byBsb2FkXG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGJ1aWxkTWFuaWZlc3QgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcy5maWx0ZXIoKHBvbHlmaWxsKT0+cG9seWZpbGwuZW5kc1dpdGgoXCIuanNcIikgJiYgIXBvbHlmaWxsLmVuZHNXaXRoKFwiLm1vZHVsZS5qc1wiKSkubWFwKChwb2x5ZmlsbCk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBrZXk6IHBvbHlmaWxsLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgIG5vTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtwb2x5ZmlsbH0ke2Fzc2V0UXVlcnlTdHJpbmd9YFxuICAgICAgICB9KSk7XG59XG5mdW5jdGlvbiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkge1xuICAgIHJldHVybiAhIWNoaWxkICYmICEhY2hpbGQucHJvcHM7XG59XG5mdW5jdGlvbiBBbXBTdHlsZXMoeyBzdHlsZXMgIH0pIHtcbiAgICBpZiAoIXN0eWxlcykgcmV0dXJuIG51bGw7XG4gICAgLy8gdHJ5IHRvIHBhcnNlIHN0eWxlcyBmcm9tIGZyYWdtZW50IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgY29uc3QgY3VyU3R5bGVzID0gQXJyYXkuaXNBcnJheShzdHlsZXMpID8gc3R5bGVzIDogW107XG4gICAgaWYgKC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIHN0eWxlcy5wcm9wcyAmJiAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICBBcnJheS5pc0FycmF5KHN0eWxlcy5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgaGFzU3R5bGVzID0gKGVsKT0+e1xuICAgICAgICAgICAgdmFyIF9lbF9wcm9wcywgX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGVsID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzID0gZWwucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2VsX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgICAgIHN0eWxlcy5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkLmZvckVhY2goKGVsKT0+aGFzU3R5bGVzKGVsKSAmJiBjdXJTdHlsZXMucHVzaChlbCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTdHlsZXMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY3VyU3R5bGVzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyogQWRkIGN1c3RvbSBzdHlsZXMgYmVmb3JlIEFNUCBzdHlsZXMgdG8gcHJldmVudCBhY2NpZGVudGFsIG92ZXJyaWRlcyAqLyByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICBcImFtcC1jdXN0b21cIjogXCJcIixcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogY3VyU3R5bGVzLm1hcCgoc3R5bGUpPT5zdHlsZS5wcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpLmpvaW4oXCJcIikucmVwbGFjZSgvXFwvXFwqIyBzb3VyY2VNYXBwaW5nVVJMPS4qXFwqXFwvL2csIFwiXCIpLnJlcGxhY2UoL1xcL1xcKkAgc291cmNlVVJMPS4qP1xcKlxcLy9nLCBcIlwiKVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljQ2h1bmtzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGlzRGV2ZWxvcG1lbnQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLmpzXCIpIHx8IGZpbGVzLmFsbEZpbGVzLmluY2x1ZGVzKGZpbGUpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBhc3luYzogIWlzRGV2ZWxvcG1lbnQgJiYgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRTY3JpcHRzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIHZhciBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzO1xuICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBidWlsZE1hbmlmZXN0ICwgaXNEZXZlbG9wbWVudCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAsIGNyb3NzT3JpZ2luICB9ID0gY29udGV4dDtcbiAgICBjb25zdCBub3JtYWxTY3JpcHRzID0gZmlsZXMuYWxsRmlsZXMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgY29uc3QgbG93UHJpb3JpdHlTY3JpcHRzID0gKF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMgPSBidWlsZE1hbmlmZXN0Lmxvd1ByaW9yaXR5RmlsZXMpID09IG51bGwgPyB2b2lkIDAgOiBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuanNcIikpO1xuICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5vcm1hbFNjcmlwdHMsXG4gICAgICAgIC4uLmxvd1ByaW9yaXR5U2NyaXB0c1xuICAgIF0ubWFwKChmaWxlKT0+e1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFByZU5leHRXb3JrZXJTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIHNjcmlwdExvYWRlciAsIGNyb3NzT3JpZ2luICwgbmV4dFNjcmlwdFdvcmtlcnMgIH0gPSBjb250ZXh0O1xuICAgIC8vIGRpc2FibGUgYG5leHRTY3JpcHRXb3JrZXJzYCBpbiBlZGdlIHJ1bnRpbWVcbiAgICBpZiAoIW5leHRTY3JpcHRXb3JrZXJzIHx8IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHJldHVybiBudWxsO1xuICAgIHRyeSB7XG4gICAgICAgIGxldCB7IHBhcnR5dG93blNuaXBwZXQgIH0gPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcIkBidWlsZGVyLmlvL3BhcnR5dG93bi9pbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgXTtcbiAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSB1c2VyIGhhcyBkZWZpbmVkIHRoZWlyIG93biBQYXJ0eXRvd24gY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lZENvbmZpZyA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+e1xuICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcywgX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGhhc0NvbXBvbmVudFByb3BzKGNoaWxkKSAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfY2hpbGRfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sLmxlbmd0aCkgJiYgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIiBpbiBjaGlsZC5wcm9wcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsICF1c2VyRGVmaW5lZENvbmZpZyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgXG4gICAgICAgICAgICBwYXJ0eXRvd24gPSB7XG4gICAgICAgICAgICAgIGxpYjogXCIke2Fzc2V0UHJlZml4fS9fbmV4dC9zdGF0aWMvfnBhcnR5dG93bi9cIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93blwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IHBhcnR5dG93blNuaXBwZXQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgKHNjcmlwdExvYWRlci53b3JrZXIgfHwgW10pLm1hcCgoZmlsZSwgaW5kZXgpPT57XG4gICAgICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgc3JjICwgY2hpbGRyZW46IHNjcmlwdENoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBzcmNQcm9wcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNyYykge1xuICAgICAgICAgICAgICAgIC8vIFVzZSBleHRlcm5hbCBzcmMgaWYgcHJvdmlkZWRcbiAgICAgICAgICAgICAgICBzcmNQcm9wcy5zcmMgPSBzcmM7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgIC8vIEVtYmVkIGlubGluZSBzY3JpcHQgaWYgcHJvdmlkZWQgd2l0aCBkYW5nZXJvdXNseVNldElubmVySFRNTFxuICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgc3JjUHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSB7XG4gICAgICAgICAgICAgICAgICAgIF9faHRtbDogdHlwZW9mIHNjcmlwdENoaWxkcmVuID09PSBcInN0cmluZ1wiID8gc2NyaXB0Q2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KHNjcmlwdENoaWxkcmVuKSA/IHNjcmlwdENoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB1c2FnZSBvZiBuZXh0L3NjcmlwdC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBhIHNyYyBhdHRyaWJ1dGUgb3IgYW4gaW5saW5lIHNjcmlwdD8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1zY3JpcHRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zcmNQcm9wcyxcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRleHQvcGFydHl0b3duXCIsXG4gICAgICAgICAgICAgICAga2V5OiBzcmMgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwid29ya2VyXCIsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IHNjcmlwdExvYWRlciAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgY3Jvc3NPcmlnaW4gIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHdlYldvcmtlclNjcmlwdHMgPSBnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyhjb250ZXh0LCBwcm9wcyk7XG4gICAgY29uc3QgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzID0gKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkuZmlsdGVyKChzY3JpcHQpPT5zY3JpcHQuc3JjKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgICAgICBrZXk6IHNjcmlwdFByb3BzLnNyYyB8fCBpbmRleCxcbiAgICAgICAgICAgIGRlZmVyOiBzY3JpcHRQcm9wcy5kZWZlciA/PyAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcImJlZm9yZUludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgd2ViV29ya2VyU2NyaXB0cywgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzKTtcbn1cbmZ1bmN0aW9uIGdldEhlYWRIVE1MUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB7IGNyb3NzT3JpZ2luICwgbm9uY2UgLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIC8vIFRoaXMgYXNzaWdubWVudCBpcyBuZWNlc3NhcnkgZm9yIGFkZGl0aW9uYWwgdHlwZSBjaGVja2luZyB0byBhdm9pZCB1bnN1cHBvcnRlZCBhdHRyaWJ1dGVzIGluIDxoZWFkPlxuICAgIGNvbnN0IGhlYWRQcm9wcyA9IHJlc3RQcm9wcztcbiAgICByZXR1cm4gaGVhZFByb3BzO1xufVxuZnVuY3Rpb24gZ2V0QW1wUGF0aChhbXBQYXRoLCBhc1BhdGgpIHtcbiAgICByZXR1cm4gYW1wUGF0aCB8fCBgJHthc1BhdGh9JHthc1BhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIn1hbXA9MWA7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXggPSBcIlwiKSB7XG4gICAgaWYgKCFuZXh0Rm9udE1hbmlmZXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgICAgICAgICAgcHJlbG9hZDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tcIi9fYXBwXCJdO1xuICAgIGNvbnN0IHBhZ2VGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tkYW5nZXJvdXNBc1BhdGhdO1xuICAgIGNvbnN0IHByZWxvYWRlZEZvbnRGaWxlcyA9IFtcbiAgICAgICAgLi4uYXBwRm9udHNFbnRyeSA/PyBbXSxcbiAgICAgICAgLi4ucGFnZUZvbnRzRW50cnkgPz8gW11cbiAgICBdO1xuICAgIC8vIElmIG5vIGZvbnQgZmlsZXMgc2hvdWxkIHByZWxvYWQgYnV0IHRoZXJlJ3MgYW4gZW50cnkgZm9yIHRoZSBwYXRoLCBhZGQgYSBwcmVjb25uZWN0IHRhZy5cbiAgICBjb25zdCBwcmVjb25uZWN0VG9TZWxmID0gISEocHJlbG9hZGVkRm9udEZpbGVzLmxlbmd0aCA9PT0gMCAmJiAoYXBwRm9udHNFbnRyeSB8fCBwYWdlRm9udHNFbnRyeSkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWNvbm5lY3Q6IHByZWNvbm5lY3RUb1NlbGYgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWZvbnRcIjogbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1VzaW5nU2l6ZUFkanVzdCA/IFwic2l6ZS1hZGp1c3RcIiA6IFwiXCIsXG4gICAgICAgICAgICByZWw6IFwicHJlY29ubmVjdFwiLFxuICAgICAgICAgICAgaHJlZjogXCIvXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogXCJhbm9ueW1vdXNcIlxuICAgICAgICB9KSA6IG51bGwsXG4gICAgICAgIHByZWxvYWQ6IHByZWxvYWRlZEZvbnRGaWxlcyA/IHByZWxvYWRlZEZvbnRGaWxlcy5tYXAoKGZvbnRGaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gL1xcLih3b2ZmfHdvZmYyfGVvdHx0dGZ8b3RmKSQvLmV4ZWMoZm9udEZpbGUpWzFdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZm9udEZpbGUsXG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZm9udEZpbGUpfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IGBmb250LyR7ZXh0fWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCIsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBmb250RmlsZS5pbmNsdWRlcyhcIi1zXCIpID8gXCJzaXplLWFkanVzdFwiIDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pIDogbnVsbFxuICAgIH07XG59XG5jbGFzcyBIZWFkIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgI18gPSAoKCk9PntcbiAgICAgICAgdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dC5IdG1sQ29udGV4dDtcbiAgICB9KSgpO1xuICAgIGdldENzc0xpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgZHluYW1pY0ltcG9ydHMgLCBjcm9zc09yaWdpbiAsIG9wdGltaXplQ3NzICwgb3B0aW1pemVGb250cyAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGYpPT5mLmVuZHNXaXRoKFwiLmNzc1wiKSk7XG4gICAgICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gbmV3IFNldChmaWxlcy5zaGFyZWRGaWxlcyk7XG4gICAgICAgIC8vIFVubWFuYWdlZCBmaWxlcyBhcmUgQ1NTIGZpbGVzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZVxuICAgICAgICAvLyB3ZWJwYWNrIHJ1bnRpbWUgKGBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbmApLlxuICAgICAgICBsZXQgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoW10pO1xuICAgICAgICBsZXQgZHluYW1pY0Nzc0ZpbGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGR5bmFtaWNJbXBvcnRzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuY3NzXCIpKSkpO1xuICAgICAgICBpZiAoZHluYW1pY0Nzc0ZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgU2V0KGNzc0ZpbGVzKTtcbiAgICAgICAgICAgIGR5bmFtaWNDc3NGaWxlcyA9IGR5bmFtaWNDc3NGaWxlcy5maWx0ZXIoKGYpPT4hKGV4aXN0aW5nLmhhcyhmKSB8fCBzaGFyZWRGaWxlcy5oYXMoZikpKTtcbiAgICAgICAgICAgIHVubWFuZ2VkRmlsZXMgPSBuZXcgU2V0KGR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgICAgICBjc3NGaWxlcy5wdXNoKC4uLmR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNzc0xpbmtFbGVtZW50cyA9IFtdO1xuICAgICAgICBjc3NGaWxlcy5mb3JFYWNoKChmaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgaXNTaGFyZWRGaWxlID0gc2hhcmVkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgaWYgKCFvcHRpbWl6ZUNzcykge1xuICAgICAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGAke2ZpbGV9LXByZWxvYWRgLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzVW5tYW5hZ2VkRmlsZSA9IHVubWFuZ2VkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzLnB1c2goLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIHJlbDogXCJzdHlsZXNoZWV0XCIsXG4gICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uLWdcIjogaXNVbm1hbmFnZWRGaWxlID8gdW5kZWZpbmVkIDogaXNTaGFyZWRGaWxlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBcImRhdGEtbi1wXCI6IGlzVW5tYW5hZ2VkRmlsZSA/IHVuZGVmaW5lZCA6IGlzU2hhcmVkRmlsZSA/IHVuZGVmaW5lZCA6IFwiXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIG9wdGltaXplRm9udHMpIHtcbiAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cyA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjc3NMaW5rRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjc3NMaW5rRWxlbWVudHMubGVuZ3RoID09PSAwID8gbnVsbCA6IGNzc0xpbmtFbGVtZW50cztcbiAgICB9XG4gICAgZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLy8gRmlsdGVyIG91dCBudWxsZWQgc2NyaXB0c1xuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgc2NyaXB0TG9hZGVyICwgY3Jvc3NPcmlnaW4gIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHByZWxvYWRGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PntcbiAgICAgICAgICAgIHJldHVybiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUuc3JjLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogZmlsZS5zcmMsXG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLnByZWxvYWRGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCB7IHNjcmlwdExvYWRlciAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgeyBub25jZSAsIGNyb3NzT3JpZ2luICB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+IXNjcmlwdC5zcmMgJiYgKHNjcmlwdC5kYW5nZXJvdXNseVNldElubmVySFRNTCB8fCBzY3JpcHQuY2hpbGRyZW4pKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgY29uc3QgeyBzdHJhdGVneSAsIGNoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCBzcmMgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBodG1sID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCAmJiBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpIHtcbiAgICAgICAgICAgICAgICBodG1sID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGh0bWwgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuaWQgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IG5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4gfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBtYWtlU3R5bGVzaGVldEluZXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChub2RlLCAoYyk9PntcbiAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHMxO1xuICAgICAgICAgICAgaWYgKChjID09IG51bGwgPyB2b2lkIDAgOiBjLnR5cGUpID09PSBcImxpbmtcIiAmJiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzLmhyZWYpICYmIF9jb25zdGFudHMuT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTLnNvbWUoKHsgdXJsICB9KT0+e1xuICAgICAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHNfaHJlZjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wc19ocmVmID0gX2NfcHJvcHMuaHJlZikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzX2hyZWYuc3RhcnRzV2l0aCh1cmwpO1xuICAgICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWhyZWZcIjogYy5wcm9wcy5ocmVmLFxuICAgICAgICAgICAgICAgICAgICBocmVmOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wczEgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHMxLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoYy5wcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgLy8gQHR5cGVzL3JlYWN0IGJ1Zy4gUmV0dXJuZWQgdmFsdWUgZnJvbSAubWFwIHdpbGwgbm90IGJlIGBudWxsYCBpZiB5b3UgcGFzcyBpbiBgW251bGxdYFxuICAgICAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdHlsZXMgLCBhbXBQYXRoICwgaW5BbXBNb2RlICwgaHlicmlkQW1wICwgY2Fub25pY2FsQmFzZSAsIF9fTkVYVF9EQVRBX18gLCBkYW5nZXJvdXNBc1BhdGggLCBoZWFkVGFncyAsIHVuc3RhYmxlX3J1bnRpbWVKUyAsIHVuc3RhYmxlX0pzUHJlbG9hZCAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgb3B0aW1pemVDc3MgLCBvcHRpbWl6ZUZvbnRzICwgYXNzZXRQcmVmaXggLCBuZXh0Rm9udE1hbmlmZXN0ICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBkaXNhYmxlUnVudGltZUpTID0gdW5zdGFibGVfcnVudGltZUpTID09PSBmYWxzZTtcbiAgICAgICAgY29uc3QgZGlzYWJsZUpzUHJlbG9hZCA9IHVuc3RhYmxlX0pzUHJlbG9hZCA9PT0gZmFsc2UgfHwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nO1xuICAgICAgICB0aGlzLmNvbnRleHQuZG9jQ29tcG9uZW50c1JlbmRlcmVkLkhlYWQgPSB0cnVlO1xuICAgICAgICBsZXQgeyBoZWFkICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBsZXQgY3NzUHJlbG9hZHMgPSBbXTtcbiAgICAgICAgbGV0IG90aGVySGVhZEVsZW1lbnRzID0gW107XG4gICAgICAgIGlmIChoZWFkKSB7XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGMpPT57XG4gICAgICAgICAgICAgICAgbGV0IG1ldGFUYWc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhVGFnID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxXCJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjICYmIGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJwcmVsb2FkXCIgJiYgYy5wcm9wc1tcImFzXCJdID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyAmJiBjc3NQcmVsb2Fkcy5wdXNoKG1ldGFUYWcpO1xuICAgICAgICAgICAgICAgICAgICBjc3NQcmVsb2Fkcy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVRhZyAmJiAoYy50eXBlICE9PSBcIm1ldGFcIiB8fCAhYy5wcm9wc1tcImNoYXJTZXRcIl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJIZWFkRWxlbWVudHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGhlYWQgPSBjc3NQcmVsb2Fkcy5jb25jYXQob3RoZXJIZWFkRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodGhpcy5wcm9wcy5jaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAvLyBzaG93IGEgd2FybmluZyBpZiBIZWFkIGNvbnRhaW5zIDx0aXRsZT4gKG9ubHkgaW4gZGV2ZWxvcG1lbnQpXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgICAgICBjb25zdCBpc1JlYWN0SGVsbWV0ID0gY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF9wcm9wc1tcImRhdGEtcmVhY3QtaGVsbWV0XCJdO1xuICAgICAgICAgICAgICAgIGlmICghaXNSZWFjdEhlbG1ldCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2NoaWxkX3Byb3BzMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjaGlsZCA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQudHlwZSkgPT09IFwidGl0bGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiV2FybmluZzogPHRpdGxlPiBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC10aXRsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcIm1ldGFcIiAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMxID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHMxLm5hbWUpID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHZpZXdwb3J0IG1ldGEgdGFncyBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC12aWV3cG9ydC1tZXRhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBIZWFkYCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzICYmICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhc0FtcGh0bWxSZWwgPSBmYWxzZTtcbiAgICAgICAgbGV0IGhhc0Nhbm9uaWNhbFJlbCA9IGZhbHNlO1xuICAgICAgICAvLyBzaG93IHdhcm5pbmcgYW5kIHJlbW92ZSBjb25mbGljdGluZyBhbXAgaGVhZCB0YWdzXG4gICAgICAgIGhlYWQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5tYXAoaGVhZCB8fCBbXSwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKCFjaGlsZCkgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlICwgcHJvcHMgIH0gPSBjaGlsZDtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSkge1xuICAgICAgICAgICAgICAgIGxldCBiYWRQcm9wID0gXCJcIjtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJtZXRhXCIgJiYgcHJvcHMubmFtZSA9PT0gXCJ2aWV3cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSAnbmFtZT1cInZpZXdwb3J0XCInO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImNhbm9uaWNhbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Nhbm9uaWNhbFJlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcInNjcmlwdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYmxvY2sgaWZcbiAgICAgICAgICAgICAgICAgICAgLy8gMS4gaXQgaGFzIGEgc3JjIGFuZCBpc24ndCBwb2ludGluZyB0byBhbXBwcm9qZWN0J3MgQ0ROXG4gICAgICAgICAgICAgICAgICAgIC8vIDIuIGl0IGlzIHVzaW5nIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHdpdGhvdXQgYSB0eXBlIG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgdHlwZSBvZiB0ZXh0L2phdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLnNyYyAmJiBwcm9wcy5zcmMuaW5kZXhPZihcImFtcHByb2plY3RcIikgPCAtMSB8fCBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAmJiAoIXByb3BzLnR5cGUgfHwgcHJvcHMudHlwZSA9PT0gXCJ0ZXh0L2phdmFzY3JpcHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSBcIjxzY3JpcHRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKChwcm9wKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gYCAke3Byb3B9PVwiJHtwcm9wc1twcm9wXX1cImA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gXCIvPlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChiYWRQcm9wKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRm91bmQgY29uZmxpY3RpbmcgYW1wIHRhZyBcIiR7Y2hpbGQudHlwZX1cIiB3aXRoIGNvbmZsaWN0aW5nIHByb3AgJHtiYWRQcm9wfSBpbiAke19fTkVYVF9EQVRBX18ucGFnZX0uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NvbmZsaWN0aW5nLWFtcC10YWdgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBub24tYW1wIG1vZGVcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImFtcGh0bWxcIikge1xuICAgICAgICAgICAgICAgICAgICBoYXNBbXBodG1sUmVsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICBjb25zdCBuZXh0Rm9udExpbmtUYWdzID0gZ2V0TmV4dEZvbnRMaW5rVGFncyhuZXh0Rm9udE1hbmlmZXN0LCBkYW5nZXJvdXNBc1BhdGgsIGFzc2V0UHJlZml4KTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImhlYWRcIiwgZ2V0SGVhZEhUTUxQcm9wcyh0aGlzLnByb3BzKSwgdGhpcy5jb250ZXh0LmlzRGV2ZWxvcG1lbnQgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dC1oaWRlLWZvdWNcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBcInRydWVcIiA6IHVuZGVmaW5lZFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpibG9ja31gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKSksIGhlYWQsIHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1oZWFkLWNvdW50XCIsXG4gICAgICAgICAgICBjb250ZW50OiBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5jb3VudChoZWFkIHx8IFtdKS50b1N0cmluZygpXG4gICAgICAgIH0pLCBjaGlsZHJlbiwgb3B0aW1pemVGb250cyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1mb250LXByZWNvbm5lY3RcIlxuICAgICAgICB9KSwgbmV4dEZvbnRMaW5rVGFncy5wcmVjb25uZWN0LCBuZXh0Rm9udExpbmtUYWdzLnByZWxvYWQsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCxtaW5pbXVtLXNjYWxlPTEsaW5pdGlhbC1zY2FsZT0xXCJcbiAgICAgICAgfSksICFoYXNDYW5vbmljYWxSZWwgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwiY2Fub25pY2FsXCIsXG4gICAgICAgICAgICBocmVmOiBjYW5vbmljYWxCYXNlICsgcmVxdWlyZShcIi4uL3NlcnZlci91dGlsc1wiKS5jbGVhbkFtcFBhdGgoZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChBbXBTdHlsZXMsIHtcbiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImFtcC1ib2lsZXJwbGF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1vei1hbmltYXRpb246LWFtcC1zdGFydCA4cyBzdGVwcygxLGVuZCkgMHMgMSBub3JtYWwgYm90aDstbXMtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7YW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUAtbW96LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1zLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW8ta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUBrZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19YFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibm9zY3JpcHRcIiwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXstd2Via2l0LWFuaW1hdGlvbjpub25lOy1tb3otYW5pbWF0aW9uOm5vbmU7LW1zLWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICBzcmM6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICB9KSksICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgIWhhc0FtcGh0bWxSZWwgJiYgaHlicmlkQW1wICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgcmVsOiBcImFtcGh0bWxcIixcbiAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyBnZXRBbXBQYXRoKGFtcFBhdGgsIGRhbmdlcm91c0FzUGF0aClcbiAgICAgICAgfSksIHRoaXMuZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCksICFvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSwgIW9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksICFkaXNhYmxlUnVudGltZUpTICYmICFkaXNhYmxlSnNQcmVsb2FkICYmIHRoaXMuZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSwgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFByZU5leHRTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLCAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSwgb3B0aW1pemVDc3MgJiYgdGhpcy5nZXRDc3NMaW5rcyhmaWxlcyksIG9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8vIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIG1vdW50IGRldmVsb3BtZW50IHN0eWxlcyBzbyB0aGVcbiAgICAgICAgLy8gb3JkZXJpbmcgbWF0Y2hlcyBwcm9kdWN0aW9uXG4gICAgICAgIC8vIChieSBkZWZhdWx0LCBzdHlsZS1sb2FkZXIgaW5qZWN0cyBhdCB0aGUgYm90dG9tIG9mIDxoZWFkIC8+KVxuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICBpZDogXCJfX25leHRfY3NzX19ET19OT1RfVVNFX19cIlxuICAgICAgICB9KSwgc3R5bGVzIHx8IG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHt9LCAuLi5oZWFkVGFncyB8fCBbXSkpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcykge1xuICAgIHZhciBfY2hpbGRyZW5fZmluZCwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMsIF9jaGlsZHJlbl9maW5kMSwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMxO1xuICAgIGlmICghcHJvcHMuY2hpbGRyZW4pIHJldHVybjtcbiAgICBjb25zdCBzY3JpcHRMb2FkZXJJdGVtcyA9IFtdO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICBdO1xuICAgIGNvbnN0IGhlYWRDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZCA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gSGVhZCkpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkcmVuX2ZpbmRfcHJvcHMgPSBfY2hpbGRyZW5fZmluZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZDEgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PmNoaWxkLnR5cGUgPT09IFwiYm9keVwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wczEgPSBfY2hpbGRyZW5fZmluZDEucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRyZW5fZmluZF9wcm9wczEuY2hpbGRyZW47XG4gICAgLy8gU2NyaXB0cyB3aXRoIGJlZm9yZUludGVyYWN0aXZlIGNhbiBiZSBwbGFjZWQgaW5zaWRlIEhlYWQgb3IgPGJvZHk+IHNvIGNoaWxkcmVuIG9mIGJvdGggbmVlZHMgdG8gYmUgdHJhdmVyc2VkXG4gICAgY29uc3QgY29tYmluZWRDaGlsZHJlbiA9IFtcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShoZWFkQ2hpbGRyZW4pID8gaGVhZENoaWxkcmVuIDogW1xuICAgICAgICAgICAgaGVhZENoaWxkcmVuXG4gICAgICAgIF0sXG4gICAgICAgIC4uLkFycmF5LmlzQXJyYXkoYm9keUNoaWxkcmVuKSA/IGJvZHlDaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIGJvZHlDaGlsZHJlblxuICAgICAgICBdXG4gICAgXTtcbiAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5mb3JFYWNoKGNvbWJpbmVkQ2hpbGRyZW4sIChjaGlsZCk9PntcbiAgICAgICAgdmFyIF9jaGlsZF90eXBlO1xuICAgICAgICBpZiAoIWNoaWxkKSByZXR1cm47XG4gICAgICAgIC8vIFdoZW4gdXNpbmcgdGhlIGBuZXh0L3NjcmlwdGAgY29tcG9uZW50LCByZWdpc3RlciBpdCBpbiBzY3JpcHQgbG9hZGVyLlxuICAgICAgICBpZiAoKF9jaGlsZF90eXBlID0gY2hpbGQudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF90eXBlLl9fbmV4dFNjcmlwdCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLnByb3BzLnN0cmF0ZWd5ID09PSBcImJlZm9yZUludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgPSAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChbXG4gICAgICAgICAgICAgICAgXCJsYXp5T25sb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJhZnRlckludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJ3b3JrZXJcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcyhjaGlsZC5wcm9wcy5zdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXJJdGVtcy5wdXNoKGNoaWxkLnByb3BzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBfX05FWFRfREFUQV9fLnNjcmlwdExvYWRlciA9IHNjcmlwdExvYWRlckl0ZW1zO1xufVxuY2xhc3MgTmV4dFNjcmlwdCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gKCgpPT57XG4gICAgICAgIHRoaXMuY29udGV4dFR5cGUgPSBfaHRtbGNvbnRleHQuSHRtbENvbnRleHQ7XG4gICAgfSkoKTtcbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0SW5saW5lU2NyaXB0U291cmNlKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBfX05FWFRfREFUQV9fICwgbGFyZ2VQYWdlRGF0YUJ5dGVzICB9ID0gY29udGV4dDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShfX05FWFRfREFUQV9fKTtcbiAgICAgICAgICAgIGlmIChsYXJnZVBhZ2VEYXRhV2FybmluZ3MuaGFzKF9fTkVYVF9EQVRBX18ucGFnZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShkYXRhKS5idWZmZXIuYnl0ZUxlbmd0aCA6IEJ1ZmZlci5mcm9tKGRhdGEpLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBwcmV0dHlCeXRlcyA9IHJlcXVpcmUoXCIuLi9saWIvcHJldHR5LWJ5dGVzXCIpLmRlZmF1bHQ7XG4gICAgICAgICAgICBpZiAobGFyZ2VQYWdlRGF0YUJ5dGVzICYmIGJ5dGVzID4gbGFyZ2VQYWdlRGF0YUJ5dGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZVBhZ2VEYXRhV2FybmluZ3MuYWRkKF9fTkVYVF9EQVRBX18ucGFnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogZGF0YSBmb3IgcGFnZSBcIiR7X19ORVhUX0RBVEFfXy5wYWdlfVwiJHtfX05FWFRfREFUQV9fLnBhZ2UgPT09IGNvbnRleHQuZGFuZ2Vyb3VzQXNQYXRoID8gXCJcIiA6IGAgKHBhdGggXCIke2NvbnRleHQuZGFuZ2Vyb3VzQXNQYXRofVwiKWB9IGlzICR7cHJldHR5Qnl0ZXMoYnl0ZXMpfSB3aGljaCBleGNlZWRzIHRoZSB0aHJlc2hvbGQgb2YgJHtwcmV0dHlCeXRlcyhsYXJnZVBhZ2VEYXRhQnl0ZXMpfSwgdGhpcyBhbW91bnQgb2YgZGF0YSBjYW4gcmVkdWNlIHBlcmZvcm1hbmNlLlxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGFyZ2UtcGFnZS1kYXRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZihcImNpcmN1bGFyIHN0cnVjdHVyZVwiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENpcmN1bGFyIHN0cnVjdHVyZSBpbiBcImdldEluaXRpYWxQcm9wc1wiIHJlc3VsdCBvZiBwYWdlIFwiJHtfX05FWFRfREFUQV9fLnBhZ2V9XCIuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NpcmN1bGFyLXN0cnVjdHVyZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGluQW1wTW9kZSAsIGJ1aWxkTWFuaWZlc3QgLCB1bnN0YWJsZV9ydW50aW1lSlMgLCBkb2NDb21wb25lbnRzUmVuZGVyZWQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5OZXh0U2NyaXB0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbXBEZXZGaWxlcyA9IFtcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmRldkZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmFtcERldkZpbGVzXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHRydWVcbiAgICAgICAgICAgIH0pLCBhbXBEZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZmlsZX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jcm9zc09yaWdpbikgY29uc29sZS53YXJuKFwiV2FybmluZzogYE5leHRTY3JpcHRgIGF0dHJpYnV0ZSBgY3Jvc3NPcmlnaW5gIGlzIGRlcHJlY2F0ZWQuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2RvYy1jcm9zc29yaWdpbi1kZXByZWNhdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAhZGlzYWJsZVJ1bnRpbWVKUyAmJiBidWlsZE1hbmlmZXN0LmRldkZpbGVzID8gYnVpbGRNYW5pZmVzdC5kZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSkpIDogbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXREeW5hbWljQ2h1bmtzKGZpbGVzKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gSHRtbChwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlICwgZG9jQ29tcG9uZW50c1JlbmRlcmVkICwgbG9jYWxlICwgc2NyaXB0TG9hZGVyICwgX19ORVhUX0RBVEFfXyAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLkh0bWwgPSB0cnVlO1xuICAgIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcyk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImh0bWxcIiwge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbGFuZzogcHJvcHMubGFuZyB8fCBsb2NhbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhbXA6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IHVuZGVmaW5lZFxuICAgIH0pO1xufVxuZnVuY3Rpb24gTWFpbigpIHtcbiAgICBjb25zdCB7IGRvY0NvbXBvbmVudHNSZW5kZXJlZCAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk1haW4gPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmV4dC1qcy1pbnRlcm5hbC1ib2R5LXJlbmRlci10YXJnZXRcIiwgbnVsbCk7XG59XG5jbGFzcyBEb2N1bWVudCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAqIGBnZXRJbml0aWFsUHJvcHNgIGhvb2sgcmV0dXJucyB0aGUgY29udGV4dCBvYmplY3Qgd2l0aCB0aGUgYWRkaXRpb24gb2YgYHJlbmRlclBhZ2VgLlxuICAgKiBgcmVuZGVyUGFnZWAgY2FsbGJhY2sgZXhlY3V0ZXMgYFJlYWN0YCByZW5kZXJpbmcgbG9naWMgc3luY2hyb25vdXNseSB0byBzdXBwb3J0IHNlcnZlci1yZW5kZXJpbmcgd3JhcHBlcnNcbiAgICovIHN0YXRpYyBnZXRJbml0aWFsUHJvcHMoY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHguZGVmYXVsdEdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG4gICAgfVxufVxuLy8gQWRkIGEgc3BlY2lhbCBwcm9wZXJ0eSB0byB0aGUgYnVpbHQtaW4gYERvY3VtZW50YCBjb21wb25lbnQgc28gbGF0ZXIgd2UgY2FuXG4vLyBpZGVudGlmeSBpZiBhIHVzZXIgY3VzdG9taXplZCBgRG9jdW1lbnRgIGlzIHVzZWQgb3Igbm90LlxuY29uc3QgSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50ID0gZnVuY3Rpb24gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50KCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG59O1xuRG9jdW1lbnRbX2NvbnN0YW50cy5ORVhUX0JVSUxUSU5fRE9DVU1FTlRdID0gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZG9jdW1lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSGVhZCIsIk5leHRTY3JpcHQiLCJIdG1sIiwiTWFpbiIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEb2N1bWVudCIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2dldHBhZ2VmaWxlcyIsIl9odG1sZXNjYXBlIiwiX2lzZXJyb3IiLCJfaHRtbGNvbnRleHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwibGFyZ2VQYWdlRGF0YVdhcm5pbmdzIiwiU2V0IiwiZ2V0RG9jdW1lbnRGaWxlcyIsImJ1aWxkTWFuaWZlc3QiLCJwYXRobmFtZSIsImluQW1wTW9kZSIsInNoYXJlZEZpbGVzIiwiZ2V0UGFnZUZpbGVzIiwicGFnZUZpbGVzIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImFsbEZpbGVzIiwiZ2V0UG9seWZpbGxTY3JpcHRzIiwiY29udGV4dCIsInByb3BzIiwiYXNzZXRQcmVmaXgiLCJhc3NldFF1ZXJ5U3RyaW5nIiwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciLCJjcm9zc09yaWdpbiIsInBvbHlmaWxsRmlsZXMiLCJmaWx0ZXIiLCJwb2x5ZmlsbCIsImVuZHNXaXRoIiwibWFwIiwiY3JlYXRlRWxlbWVudCIsImtleSIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImhhc0NvbXBvbmVudFByb3BzIiwiY2hpbGQiLCJBbXBTdHlsZXMiLCJzdHlsZXMiLCJjdXJTdHlsZXMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZHJlbiIsImhhc1N0eWxlcyIsImVsIiwiX2VsX3Byb3BzIiwiX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJmb3JFYWNoIiwicHVzaCIsInN0eWxlIiwiam9pbiIsInJlcGxhY2UiLCJnZXREeW5hbWljQ2h1bmtzIiwiZmlsZXMiLCJkeW5hbWljSW1wb3J0cyIsImlzRGV2ZWxvcG1lbnQiLCJmaWxlIiwiaW5jbHVkZXMiLCJhc3luYyIsImVuY29kZVVSSSIsImdldFNjcmlwdHMiLCJfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzIiwibm9ybWFsU2NyaXB0cyIsImxvd1ByaW9yaXR5U2NyaXB0cyIsImxvd1ByaW9yaXR5RmlsZXMiLCJnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyIsInNjcmlwdExvYWRlciIsIm5leHRTY3JpcHRXb3JrZXJzIiwicGFydHl0b3duU25pcHBldCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwidXNlckRlZmluZWRDb25maWciLCJmaW5kIiwiX2NoaWxkX3Byb3BzIiwiX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwibGVuZ3RoIiwiRnJhZ21lbnQiLCJ3b3JrZXIiLCJpbmRleCIsInN0cmF0ZWd5Iiwic2NyaXB0Q2hpbGRyZW4iLCJzY3JpcHRQcm9wcyIsInNyY1Byb3BzIiwiRXJyb3IiLCJ0eXBlIiwiZXJyIiwiY29kZSIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImdldFByZU5leHRTY3JpcHRzIiwid2ViV29ya2VyU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlIiwic2NyaXB0IiwiZ2V0SGVhZEhUTUxQcm9wcyIsInJlc3RQcm9wcyIsImhlYWRQcm9wcyIsImdldEFtcFBhdGgiLCJhbXBQYXRoIiwiYXNQYXRoIiwiZ2V0TmV4dEZvbnRMaW5rVGFncyIsIm5leHRGb250TWFuaWZlc3QiLCJkYW5nZXJvdXNBc1BhdGgiLCJwcmVjb25uZWN0IiwicHJlbG9hZCIsImFwcEZvbnRzRW50cnkiLCJwYWdlcyIsInBhZ2VGb250c0VudHJ5IiwicHJlbG9hZGVkRm9udEZpbGVzIiwicHJlY29ubmVjdFRvU2VsZiIsInBhZ2VzVXNpbmdTaXplQWRqdXN0IiwicmVsIiwiaHJlZiIsImZvbnRGaWxlIiwiZXh0IiwiZXhlYyIsImFzIiwiQ29tcG9uZW50IiwiXyIsImNvbnRleHRUeXBlIiwiSHRtbENvbnRleHQiLCJnZXRDc3NMaW5rcyIsIm9wdGltaXplQ3NzIiwib3B0aW1pemVGb250cyIsImNzc0ZpbGVzIiwiZiIsInVubWFuZ2VkRmlsZXMiLCJkeW5hbWljQ3NzRmlsZXMiLCJmcm9tIiwiZXhpc3RpbmciLCJoYXMiLCJjc3NMaW5rRWxlbWVudHMiLCJpc1NoYXJlZEZpbGUiLCJpc1VubWFuYWdlZEZpbGUiLCJ1bmRlZmluZWQiLCJtYWtlU3R5bGVzaGVldEluZXJ0IiwiZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MiLCJCb29sZWFuIiwiZ2V0UHJlbG9hZE1haW5MaW5rcyIsInByZWxvYWRGaWxlcyIsImdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cyIsImh0bWwiLCJpZCIsIl9fTkVYVF9DUk9TU19PUklHSU4iLCJub2RlIiwiQ2hpbGRyZW4iLCJjIiwiX2NfcHJvcHMiLCJfY19wcm9wczEiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJzb21lIiwidXJsIiwiX2NfcHJvcHNfaHJlZiIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsImNsb25lRWxlbWVudCIsInJlbmRlciIsImh5YnJpZEFtcCIsImNhbm9uaWNhbEJhc2UiLCJfX05FWFRfREFUQV9fIiwiaGVhZFRhZ3MiLCJ1bnN0YWJsZV9ydW50aW1lSlMiLCJ1bnN0YWJsZV9Kc1ByZWxvYWQiLCJkaXNhYmxlUnVudGltZUpTIiwiZGlzYWJsZUpzUHJlbG9hZCIsImRvY0NvbXBvbmVudHNSZW5kZXJlZCIsImhlYWQiLCJjc3NQcmVsb2FkcyIsIm90aGVySGVhZEVsZW1lbnRzIiwibWV0YVRhZyIsInN0cmljdE5leHRIZWFkIiwiY29udGVudCIsImNvbmNhdCIsInRvQXJyYXkiLCJpc1JlYWN0SGVsbWV0IiwiX2NoaWxkX3Byb3BzMSIsImhhc0FtcGh0bWxSZWwiLCJoYXNDYW5vbmljYWxSZWwiLCJiYWRQcm9wIiwiaW5kZXhPZiIsImtleXMiLCJwcm9wIiwicGFnZSIsIm5leHRGb250TGlua1RhZ3MiLCJjb3VudCIsInRvU3RyaW5nIiwiY2xlYW5BbXBQYXRoIiwiaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyIsIl9jaGlsZHJlbl9maW5kIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMiLCJfY2hpbGRyZW5fZmluZDEiLCJfY2hpbGRyZW5fZmluZF9wcm9wczEiLCJzY3JpcHRMb2FkZXJJdGVtcyIsImhlYWRDaGlsZHJlbiIsImJvZHlDaGlsZHJlbiIsImNvbWJpbmVkQ2hpbGRyZW4iLCJfY2hpbGRfdHlwZSIsIl9fbmV4dFNjcmlwdCIsImdldElubGluZVNjcmlwdFNvdXJjZSIsImxhcmdlUGFnZURhdGFCeXRlcyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiaHRtbEVzY2FwZUpzb25TdHJpbmciLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiYnVmZmVyIiwiYnl0ZUxlbmd0aCIsIkJ1ZmZlciIsInByZXR0eUJ5dGVzIiwiYWRkIiwiYW1wRGV2RmlsZXMiLCJkZXZGaWxlcyIsImxvY2FsZSIsInVzZUh0bWxDb250ZXh0IiwibGFuZyIsImFtcCIsImdldEluaXRpYWxQcm9wcyIsImN0eCIsImRlZmF1bHRHZXRJbml0aWFsUHJvcHMiLCJJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); - -/***/ }), - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"@rainbow-me/rainbowkit\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi */ \"wagmi\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/chains */ \"wagmi/chains\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! wagmi/providers/public */ \"wagmi/providers/public\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__]);\n([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp({ Component, pageProps }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_4__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyApp);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0I7QUFDWTtBQU1YO0FBRW1DO0FBUzdDO0FBQ2tDO0FBRXhELE1BQU0sRUFBRWMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLHFCQUFxQixFQUFFLEdBQUdiLHNEQUFlQSxDQUNyRTtJQUNFSyxpREFBT0E7SUFDUEUsaURBQU9BO0lBQ1BELGtEQUFRQTtJQUNSSCxrREFBUUE7SUFDUkssOENBQUlBO0lBQ0pKLGdEQUFNQTtJQUNOSyxpREFBT0E7T0FDSEssUUFBUUMsR0FBRyxDQUFDQywyQkFBMkIsS0FBSyxTQUFTO1FBQUNaLGdEQUFNQTtLQUFDLEdBQUcsRUFBRTtDQUN2RSxFQUNEO0lBQUNNLHNFQUFjQTtDQUFHO0FBR3BCLE1BQU0sRUFBRU8sVUFBVSxFQUFFLEdBQUdwQix5RUFBaUJBLENBQUM7SUFDdkNxQixTQUFTO0lBQ1RDLFdBQVc7SUFDWFI7QUFDRjtBQUVBLE1BQU1TLGNBQWNuQixtREFBWUEsQ0FBQztJQUMvQm9CLGFBQWE7SUFDYko7SUFDQUw7SUFDQUM7QUFDRjtBQUVBLFNBQVNTLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxTQUFTLEVBQVk7SUFDL0MscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0FBRUEsaUVBQWVGLEtBQUtBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n"); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./styles/globals.css": -/*!****************************!*\ - !*** ./styles/globals.css ***! - \****************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"../shared/lib/is-plain-object\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxvRUFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/pretty-bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/module.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/module.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PagesRouteModule: function() {\n return PagesRouteModule;\n },\n default: function() {\n return _default;\n }\n});\nconst _routemodule = __webpack_require__(/*! ../route-module */ \"../route-module\");\nconst _render = __webpack_require__(/*! ../../../render */ \"../../../render\");\nclass PagesRouteModule extends _routemodule.RouteModule {\n constructor(options){\n super(options);\n this.components = options.components;\n }\n render(req, res, context) {\n return (0, _render.renderToHTMLImpl)(req, res, context.page, context.query, context.renderOpts, {\n App: this.components.App,\n Document: this.components.Document\n });\n }\n}\nconst _default = PagesRouteModule;\n\n//# sourceMappingURL=module.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QscUJBQXFCLG1CQUFPLENBQUMsd0NBQWlCO0FBQzlDLGdCQUFnQixtQkFBTyxDQUFDLHdDQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlLmpzP2M5Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQYWdlc1JvdXRlTW9kdWxlOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUGFnZXNSb3V0ZU1vZHVsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlc1JvdXRlTW9kdWxlO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1vZHVsZSA9IHJlcXVpcmUoXCIuLi9yb3V0ZS1tb2R1bGVcIik7XG5jb25zdCBfcmVuZGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3JlbmRlclwiKTtcbmNsYXNzIFBhZ2VzUm91dGVNb2R1bGUgZXh0ZW5kcyBfcm91dGVtb2R1bGUuUm91dGVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpe1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzO1xuICAgIH1cbiAgICByZW5kZXIocmVxLCByZXMsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfcmVuZGVyLnJlbmRlclRvSFRNTEltcGwpKHJlcSwgcmVzLCBjb250ZXh0LnBhZ2UsIGNvbnRleHQucXVlcnksIGNvbnRleHQucmVuZGVyT3B0cywge1xuICAgICAgICAgICAgQXBwOiB0aGlzLmNvbXBvbmVudHMuQXBwLFxuICAgICAgICAgICAgRG9jdW1lbnQ6IHRoaXMuY29tcG9uZW50cy5Eb2N1bWVudFxuICAgICAgICB9KTtcbiAgICB9XG59XG5jb25zdCBfZGVmYXVsdCA9IFBhZ2VzUm91dGVNb2R1bGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.js\n"); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-dev-runtime.development.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-dev-runtime.development.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"react\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n\nvar jsxDEV$1 = jsxWithValidation ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV$1;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxvQkFBTzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxlQUFlO0FBQzFCLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjs7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz8xN2UxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcblxudmFyIGpzeERFViQxID0gIGpzeFdpdGhWYWxpZGF0aW9uIDtcblxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG5leHBvcnRzLmpzeERFViA9IGpzeERFViQxO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-dev-runtime.development.js\n"); - -/***/ }), - -/***/ "./node_modules/react/jsx-dev-runtime.js": -/*!***********************************************!*\ - !*** ./node_modules/react/jsx-dev-runtime.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx1SkFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzPzU3NzciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "../route-module": -/*!************************************************************************!*\ - !*** external "next/dist/server/future/route-modules/route-module.js" ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/future/route-modules/route-module.js"); - -/***/ }), - -/***/ "../server/get-page-files": -/*!*****************************************************!*\ - !*** external "next/dist/server/get-page-files.js" ***! - \*****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/get-page-files.js"); - -/***/ }), - -/***/ "../server/htmlescape": -/*!*************************************************!*\ - !*** external "next/dist/server/htmlescape.js" ***! - \*************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/htmlescape.js"); - -/***/ }), - -/***/ "../../../render": -/*!*********************************************!*\ - !*** external "next/dist/server/render.js" ***! - \*********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/render.js"); - -/***/ }), - -/***/ "../server/utils": -/*!********************************************!*\ - !*** external "next/dist/server/utils.js" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/utils.js"); - -/***/ }), - -/***/ "../shared/lib/constants": -/*!****************************************************!*\ - !*** external "next/dist/shared/lib/constants.js" ***! - \****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/constants.js"); - -/***/ }), - -/***/ "../shared/lib/html-context": -/*!*******************************************************!*\ - !*** external "next/dist/shared/lib/html-context.js" ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/html-context.js"); - -/***/ }), - -/***/ "../shared/lib/is-plain-object": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/is-plain-object.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/is-plain-object.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("react"); - -/***/ }), - -/***/ "@rainbow-me/rainbowkit": -/*!*****************************************!*\ - !*** external "@rainbow-me/rainbowkit" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("@rainbow-me/rainbowkit");; - -/***/ }), - -/***/ "wagmi": -/*!************************!*\ - !*** external "wagmi" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi");; - -/***/ }), - -/***/ "wagmi/chains": -/*!*******************************!*\ - !*** external "wagmi/chains" ***! - \*******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/chains");; - -/***/ }), - -/***/ "wagmi/providers/public": -/*!*****************************************!*\ - !*** external "wagmi/providers/public" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/providers/public");; - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!")); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/pages/_error.js b/.next/server/pages/_error.js deleted file mode 100644 index b1f5c46..0000000 --- a/.next/server/pages/_error.js +++ /dev/null @@ -1,397 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/_error"; -exports.ids = ["pages/_error"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2hlbHBlcnMuanM/OTlmZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module */ \"./node_modules/next/dist/server/future/route-modules/pages/module.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-route-loader/helpers */ \"./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! private-next-pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! private-next-pages/_app */ \"./pages/_app.tsx\");\n/* harmony import */ var private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! private-next-pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n/* harmony import */ var private_next_pages_error__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__);\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__]);\nprivate_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n// @ts-ignore this need to be imported from next/dist to be external\n\n\n\n// Import the app and document modules.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// Import the userland code.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\nconst PagesRouteModule = next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule;\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"getServerSideProps\");\nconst config = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"config\");\nconst reportWebVitals = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/_error\",\n pathname: \"/_error\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Document: (private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: private_next_pages_error__WEBPACK_IMPORTED_MODULE_5__\n});\n\n//# sourceMappingURL=pages.js.map\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGX2Vycm9yJnByZWZlcnJlZFJlZ2lvbj0mYWJzb2x1dGVQYWdlUGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfZXJyb3ImYWJzb2x1dGVBcHBQYXRoPXByaXZhdGUtbmV4dC1wYWdlcyUyRl9hcHAmYWJzb2x1dGVEb2N1bWVudFBhdGg9cHJpdmF0ZS1uZXh0LXBhZ2VzJTJGX2RvY3VtZW50Jm1pZGRsZXdhcmVDb25maWdCYXNlNjQ9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUM2RTtBQUNkO0FBQ21CO0FBQ2xGO0FBQ0E7QUFDb0Q7QUFDcEQ7QUFDMEM7QUFDMUM7QUFDQTtBQUNzRDtBQUN0RCx5QkFBeUIsZ0dBQXVCO0FBQ2hEO0FBQ0EsaUVBQWUsZ0dBQUssQ0FBQyxxREFBUSxZQUFZLEVBQUM7QUFDMUM7QUFDTyx1QkFBdUIsZ0dBQUssQ0FBQyxxREFBUTtBQUNyQyx1QkFBdUIsZ0dBQUssQ0FBQyxxREFBUTtBQUNyQywyQkFBMkIsZ0dBQUssQ0FBQyxxREFBUTtBQUN6QyxlQUFlLGdHQUFLLENBQUMscURBQVE7QUFDN0Isd0JBQXdCLGdHQUFLLENBQUMscURBQVE7QUFDN0M7QUFDTyxnQ0FBZ0MsZ0dBQUssQ0FBQyxxREFBUTtBQUM5QyxnQ0FBZ0MsZ0dBQUssQ0FBQyxxREFBUTtBQUM5QyxpQ0FBaUMsZ0dBQUssQ0FBQyxxREFBUTtBQUMvQyxnQ0FBZ0MsZ0dBQUssQ0FBQyxxREFBUTtBQUM5QyxvQ0FBb0MsZ0dBQUssQ0FBQyxxREFBUTtBQUN6RDtBQUNPO0FBQ1A7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLEtBQUs7QUFDTCxZQUFZO0FBQ1osQ0FBQzs7QUFFRCxpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8/NDAwYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlIHRoaXMgbmVlZCB0byBiZSBpbXBvcnRlZCBmcm9tIG5leHQvZGlzdCB0byBiZSBleHRlcm5hbFxuaW1wb3J0ICogYXMgbW9kdWxlIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZVwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbmltcG9ydCB7IGhvaXN0IH0gZnJvbSBcIm5leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1yb3V0ZS1sb2FkZXIvaGVscGVyc1wiO1xuLy8gSW1wb3J0IHRoZSBhcHAgYW5kIGRvY3VtZW50IG1vZHVsZXMuXG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVwbGFjZWQgYnkgd2VicGFjay90dXJib3BhY2sgbG9hZGVyXG5pbXBvcnQgRG9jdW1lbnQgZnJvbSBcInByaXZhdGUtbmV4dC1wYWdlcy9fZG9jdW1lbnRcIjtcbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcbmltcG9ydCBBcHAgZnJvbSBcInByaXZhdGUtbmV4dC1wYWdlcy9fYXBwXCI7XG4vLyBJbXBvcnQgdGhlIHVzZXJsYW5kIGNvZGUuXG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVwbGFjZWQgYnkgd2VicGFjay90dXJib3BhY2sgbG9hZGVyXG5pbXBvcnQgKiBhcyB1c2VybGFuZCBmcm9tIFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19lcnJvclwiO1xuY29uc3QgUGFnZXNSb3V0ZU1vZHVsZSA9IG1vZHVsZS5QYWdlc1JvdXRlTW9kdWxlO1xuLy8gUmUtZXhwb3J0IHRoZSBjb21wb25lbnQgKHNob3VsZCBiZSB0aGUgZGVmYXVsdCBleHBvcnQpLlxuZXhwb3J0IGRlZmF1bHQgaG9pc3QodXNlcmxhbmQsIFwiZGVmYXVsdFwiKTtcbi8vIFJlLWV4cG9ydCBtZXRob2RzLlxuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1Byb3BzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U3RhdGljUHJvcHNcIik7XG5leHBvcnQgY29uc3QgZ2V0U3RhdGljUGF0aHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTdGF0aWNQYXRoc1wiKTtcbmV4cG9ydCBjb25zdCBnZXRTZXJ2ZXJTaWRlUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTZXJ2ZXJTaWRlUHJvcHNcIik7XG5leHBvcnQgY29uc3QgY29uZmlnID0gaG9pc3QodXNlcmxhbmQsIFwiY29uZmlnXCIpO1xuZXhwb3J0IGNvbnN0IHJlcG9ydFdlYlZpdGFscyA9IGhvaXN0KHVzZXJsYW5kLCBcInJlcG9ydFdlYlZpdGFsc1wiKTtcbi8vIFJlLWV4cG9ydCBsZWdhY3kgbWV0aG9kcy5cbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1Byb3BzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1BhdGhzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUGF0aHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUGFyYW1zID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUGFyYW1zXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFNlcnZlclByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U2VydmVyUHJvcHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U2VydmVyU2lkZVByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U2VydmVyU2lkZVByb3BzXCIpO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgUGFnZXNSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuUEFHRVMsXG4gICAgICAgIHBhZ2U6IFwiL19lcnJvclwiLFxuICAgICAgICBwYXRobmFtZTogXCIvX2Vycm9yXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCJcbiAgICB9LFxuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgQXBwLFxuICAgICAgICBEb2N1bWVudFxuICAgIH0sXG4gICAgdXNlcmxhbmRcbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYWdlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_document.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/pages/_document.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"../shared/lib/constants\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"../server/get-page-files\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"../server/htmlescape\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontext = __webpack_require__(/*! ../shared/lib/html-context */ \"../shared/lib/html-context\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: polyfill,\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props, _el_props_dangerouslySetInnerHTML;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props, _child_props_dangerouslySetInnerHTML;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !userDefinedConfig && /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }), /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }), (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n }));\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, webWorkerScripts, beforeInteractiveScripts);\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in <head>\n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ _react.default.createElement(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n key: fontFile,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n });\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n key: file,\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file.src,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n })),\n ...preloadFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props, _c_props_href;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains <title> (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ _react.default.createElement(\"head\", getHeadHTMLProps(this.props), this.context.isDevelopment && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n }))), head, this.context.strictNextHead ? null : /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }), children, optimizeFonts && /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-font-preconnect\"\n }), nextFontLinkTags.preconnect, nextFontLinkTags.preload, true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }), !hasCanonicalRel && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"../server/utils\").cleanAmpPath)(dangerousAsPath)\n }), /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }), /*#__PURE__*/ _react.default.createElement(AmpStyles, {\n styles: styles\n }), /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })), /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })), !( true && inAmpMode) && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }), this.getBeforeInteractiveInlineScripts(), !optimizeCss && this.getCssLinks(files), !optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), optimizeCss && this.getCssLinks(files), optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }), styles || null), /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || []));\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find, _children_find_props, _children_find1, _children_find_props1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }), ampDevFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n })));\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n })) : null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }), disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files));\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ _react.default.createElement(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ _react.default.createElement(\"next-js-internal-body-render-target\", null);\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLFNBQVMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3JFLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHdEQUF5QjtBQUNwRCxNQUFNRSxnQkFBZ0JGLG1CQUFPQSxDQUFDLDBEQUEwQjtBQUN4RCxNQUFNRyxjQUFjSCxtQkFBT0EsQ0FBQyxrREFBc0I7QUFDbEQsTUFBTUksV0FBVyxXQUFXLEdBQUdMLHlCQUF5QkMsbUJBQU9BLENBQUMsaUVBQWlCO0FBQ2pGLE1BQU1LLGVBQWVMLG1CQUFPQSxDQUFDLDhEQUE0QjtBQUN6RCxTQUFTRCx5QkFBeUJPLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDaEIsU0FBU2dCO0lBQ2I7QUFDSjtBQUNBLDhFQUE4RSxHQUFHLE1BQU1FLHdCQUF3QixJQUFJQztBQUNuSCxTQUFTQyxpQkFBaUJDLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxTQUFTO0lBQ3hELE1BQU1DLGNBQWMsQ0FBQyxHQUFHWixjQUFjYSxZQUFZLEVBQUVKLGVBQWU7SUFDbkUsTUFBTUssWUFBWUMsS0FBbUMsSUFBSUosWUFBWSxFQUFFLEdBQUcsQ0FBQyxHQUFHWCxjQUFjYSxZQUFZLEVBQUVKLGVBQWVDO0lBQ3pILE9BQU87UUFDSEU7UUFDQUU7UUFDQUksVUFBVTtlQUNILElBQUlYLElBQUk7bUJBQ0pLO21CQUNBRTthQUNOO1NBQ0o7SUFDTDtBQUNKO0FBQ0EsU0FBU0ssbUJBQW1CQyxPQUFPLEVBQUVDLEtBQUs7SUFDdEMsNERBQTREO0lBQzVELDZDQUE2QztJQUM3QyxNQUFNLEVBQUVDLFdBQVcsRUFBR2IsYUFBYSxFQUFHYyxnQkFBZ0IsRUFBR0MsdUJBQXVCLEVBQUdDLFdBQVcsRUFBRyxHQUFHTDtJQUNwRyxPQUFPWCxjQUFjaUIsYUFBYSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsV0FBV0EsU0FBU0MsUUFBUSxDQUFDLFVBQVUsQ0FBQ0QsU0FBU0MsUUFBUSxDQUFDLGVBQWVDLEdBQUcsQ0FBQyxDQUFDRixXQUFXLFdBQVcsR0FBR2hDLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVO1lBQ2pMQyxLQUFLSjtZQUNMSyxPQUFPLENBQUNUO1lBQ1JVLE9BQU9iLE1BQU1hLEtBQUs7WUFDbEJULGFBQWFKLE1BQU1JLFdBQVcsSUFBSUE7WUFDbENVLFVBQVU7WUFDVkMsS0FBSyxDQUFDLEVBQUVkLFlBQVksT0FBTyxFQUFFTSxTQUFTLEVBQUVMLGlCQUFpQixDQUFDO1FBQzlEO0FBQ1I7QUFDQSxTQUFTYyxrQkFBa0JDLEtBQUs7SUFDNUIsT0FBTyxDQUFDLENBQUNBLFNBQVMsQ0FBQyxDQUFDQSxNQUFNakIsS0FBSztBQUNuQztBQUNBLFNBQVNrQixVQUFVLEVBQUVDLE1BQU0sRUFBRztJQUMxQixJQUFJLENBQUNBLFFBQVEsT0FBTztJQUNwQix5REFBeUQ7SUFDekQsTUFBTUMsWUFBWUMsTUFBTUMsT0FBTyxDQUFDSCxVQUFVQSxTQUFTLEVBQUU7SUFDckQsSUFDQUEsT0FBT25CLEtBQUssSUFBSSxrRUFBa0U7SUFDbEZxQixNQUFNQyxPQUFPLENBQUNILE9BQU9uQixLQUFLLENBQUN1QixRQUFRLEdBQUc7UUFDbEMsTUFBTUMsWUFBWSxDQUFDQztZQUNmLElBQUlDLFdBQVdDO1lBQ2YsT0FBT0YsTUFBTSxPQUFPLEtBQUssSUFBSSxDQUFDQyxZQUFZRCxHQUFHekIsS0FBSyxLQUFLLE9BQU8sS0FBSyxJQUFJLENBQUMyQixvQ0FBb0NELFVBQVVFLHVCQUF1QixLQUFLLE9BQU8sS0FBSyxJQUFJRCxrQ0FBa0NFLE1BQU07UUFDOU07UUFDQSxrRUFBa0U7UUFDbEVWLE9BQU9uQixLQUFLLENBQUN1QixRQUFRLENBQUNPLE9BQU8sQ0FBQyxDQUFDYjtZQUMzQixJQUFJSSxNQUFNQyxPQUFPLENBQUNMLFFBQVE7Z0JBQ3RCQSxNQUFNYSxPQUFPLENBQUMsQ0FBQ0wsS0FBS0QsVUFBVUMsT0FBT0wsVUFBVVcsSUFBSSxDQUFDTjtZQUN4RCxPQUFPLElBQUlELFVBQVVQLFFBQVE7Z0JBQ3pCRyxVQUFVVyxJQUFJLENBQUNkO1lBQ25CO1FBQ0o7SUFDSjtJQUNBLHVFQUF1RSxHQUFHLE9BQU8sV0FBVyxHQUFHMUMsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFNBQVM7UUFDakksY0FBYztRQUNka0IseUJBQXlCO1lBQ3JCQyxRQUFRVCxVQUFVWCxHQUFHLENBQUMsQ0FBQ3VCLFFBQVFBLE1BQU1oQyxLQUFLLENBQUM0Qix1QkFBdUIsQ0FBQ0MsTUFBTSxFQUFFSSxJQUFJLENBQUMsSUFBSUMsT0FBTyxDQUFDLGtDQUFrQyxJQUFJQSxPQUFPLENBQUMsNEJBQTRCO1FBQzFLO0lBQ0o7QUFDSjtBQUNBLFNBQVNDLGlCQUFpQnBDLE9BQU8sRUFBRUMsS0FBSyxFQUFFb0MsS0FBSztJQUMzQyxNQUFNLEVBQUVDLGNBQWMsRUFBR3BDLFdBQVcsRUFBR3FDLGFBQWEsRUFBR3BDLGdCQUFnQixFQUFHQyx1QkFBdUIsRUFBR0MsV0FBVyxFQUFHLEdBQUdMO0lBQ3JILE9BQU9zQyxlQUFlNUIsR0FBRyxDQUFDLENBQUM4QjtRQUN2QixJQUFJLENBQUNBLEtBQUsvQixRQUFRLENBQUMsVUFBVTRCLE1BQU12QyxRQUFRLENBQUMyQyxRQUFRLENBQUNELE9BQU8sT0FBTztRQUNuRSxPQUFPLFdBQVcsR0FBR2hFLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVO1lBQ3hEK0IsT0FBTyxDQUFDSCxpQkFBaUJuQztZQUN6QlMsT0FBTyxDQUFDVDtZQUNSUSxLQUFLNEI7WUFDTHhCLEtBQUssQ0FBQyxFQUFFZCxZQUFZLE9BQU8sRUFBRXlDLFVBQVVILE1BQU0sRUFBRXJDLGlCQUFpQixDQUFDO1lBQ2pFVyxPQUFPYixNQUFNYSxLQUFLO1lBQ2xCVCxhQUFhSixNQUFNSSxXQUFXLElBQUlBO1FBQ3RDO0lBQ0o7QUFDSjtBQUNBLFNBQVN1QyxXQUFXNUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVvQyxLQUFLO0lBQ3JDLElBQUlRO0lBQ0osTUFBTSxFQUFFM0MsV0FBVyxFQUFHYixhQUFhLEVBQUdrRCxhQUFhLEVBQUdwQyxnQkFBZ0IsRUFBR0MsdUJBQXVCLEVBQUdDLFdBQVcsRUFBRyxHQUFHTDtJQUNwSCxNQUFNOEMsZ0JBQWdCVCxNQUFNdkMsUUFBUSxDQUFDUyxNQUFNLENBQUMsQ0FBQ2lDLE9BQU9BLEtBQUsvQixRQUFRLENBQUM7SUFDbEUsTUFBTXNDLHFCQUFxQixDQUFDRixrQ0FBa0N4RCxjQUFjMkQsZ0JBQWdCLEtBQUssT0FBTyxLQUFLLElBQUlILGdDQUFnQ3RDLE1BQU0sQ0FBQyxDQUFDaUMsT0FBT0EsS0FBSy9CLFFBQVEsQ0FBQztJQUM5SyxPQUFPO1dBQ0FxQztXQUNBQztLQUNOLENBQUNyQyxHQUFHLENBQUMsQ0FBQzhCO1FBQ0gsT0FBTyxXQUFXLEdBQUdoRSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsVUFBVTtZQUN4REMsS0FBSzRCO1lBQ0x4QixLQUFLLENBQUMsRUFBRWQsWUFBWSxPQUFPLEVBQUV5QyxVQUFVSCxNQUFNLEVBQUVyQyxpQkFBaUIsQ0FBQztZQUNqRVcsT0FBT2IsTUFBTWEsS0FBSztZQUNsQjRCLE9BQU8sQ0FBQ0gsaUJBQWlCbkM7WUFDekJTLE9BQU8sQ0FBQ1Q7WUFDUkMsYUFBYUosTUFBTUksV0FBVyxJQUFJQTtRQUN0QztJQUNKO0FBQ0o7QUFDQSxTQUFTNEMsd0JBQXdCakQsT0FBTyxFQUFFQyxLQUFLO0lBQzNDLE1BQU0sRUFBRUMsV0FBVyxFQUFHZ0QsWUFBWSxFQUFHN0MsV0FBVyxFQUFHOEMsaUJBQWlCLEVBQUcsR0FBR25EO0lBQzFFLDhDQUE4QztJQUM5QyxJQUFJLENBQUNtRCxxQkFBcUJ4RCxRQUF3QixLQUFLLFFBQVEsT0FBTztJQUN0RSxJQUFJO1FBQ0EsSUFBSSxFQUFFeUQsZ0JBQWdCLEVBQUcsR0FBR0MsT0FBdUJBLENBQUM7UUFDcEQsTUFBTTdCLFdBQVdGLE1BQU1DLE9BQU8sQ0FBQ3RCLE1BQU11QixRQUFRLElBQUl2QixNQUFNdUIsUUFBUSxHQUFHO1lBQzlEdkIsTUFBTXVCLFFBQVE7U0FDakI7UUFDRCx5RUFBeUU7UUFDekUsTUFBTThCLG9CQUFvQjlCLFNBQVMrQixJQUFJLENBQUMsQ0FBQ3JDO1lBQ3JDLElBQUlzQyxjQUFjQztZQUNsQixPQUFPeEMsa0JBQWtCQyxVQUFXQSxDQUFBQSxTQUFTLE9BQU8sS0FBSyxJQUFJLENBQUNzQyxlQUFldEMsTUFBTWpCLEtBQUssS0FBSyxPQUFPLEtBQUssSUFBSSxDQUFDd0QsdUNBQXVDRCxhQUFhM0IsdUJBQXVCLEtBQUssT0FBTyxLQUFLLElBQUk0QixxQ0FBcUMzQixNQUFNLENBQUM0QixNQUFNLEtBQUssMkJBQTJCeEMsTUFBTWpCLEtBQUs7UUFDL1M7UUFDQSxPQUFPLFdBQVcsR0FBR3pCLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQ25DLE9BQU9SLE9BQU8sQ0FBQzJGLFFBQVEsRUFBRSxNQUFNLENBQUNMLHFCQUFxQixXQUFXLEdBQUc5RSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsVUFBVTtZQUN4Six5QkFBeUI7WUFDekJrQix5QkFBeUI7Z0JBQ3JCQyxRQUFRLENBQUM7O29CQUVMLEVBQUU1QixZQUFZOztVQUV4QixDQUFDO1lBQ0M7UUFDSixJQUFJLFdBQVcsR0FBRzFCLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVO1lBQ3JELGtCQUFrQjtZQUNsQmtCLHlCQUF5QjtnQkFDckJDLFFBQVFzQjtZQUNaO1FBQ0osSUFBSSxDQUFDRixhQUFhVSxNQUFNLElBQUksRUFBRSxFQUFFbEQsR0FBRyxDQUFDLENBQUM4QixNQUFNcUI7WUFDdkMsTUFBTSxFQUFFQyxRQUFRLEVBQUc5QyxHQUFHLEVBQUdRLFVBQVV1QyxjQUFjLEVBQUdsQyx1QkFBdUIsRUFBRyxHQUFHbUMsYUFBYSxHQUFHeEI7WUFDakcsSUFBSXlCLFdBQVcsQ0FBQztZQUNoQixJQUFJakQsS0FBSztnQkFDTCwrQkFBK0I7Z0JBQy9CaUQsU0FBU2pELEdBQUcsR0FBR0E7WUFDbkIsT0FBTyxJQUFJYSwyQkFBMkJBLHdCQUF3QkMsTUFBTSxFQUFFO2dCQUNsRSwrREFBK0Q7Z0JBQy9EbUMsU0FBU3BDLHVCQUF1QixHQUFHO29CQUMvQkMsUUFBUUQsd0JBQXdCQyxNQUFNO2dCQUMxQztZQUNKLE9BQU8sSUFBSWlDLGdCQUFnQjtnQkFDdkIsZ0RBQWdEO2dCQUNoREUsU0FBU3BDLHVCQUF1QixHQUFHO29CQUMvQkMsUUFBUSxPQUFPaUMsbUJBQW1CLFdBQVdBLGlCQUFpQnpDLE1BQU1DLE9BQU8sQ0FBQ3dDLGtCQUFrQkEsZUFBZTdCLElBQUksQ0FBQyxNQUFNO2dCQUM1SDtZQUNKLE9BQU87Z0JBQ0gsTUFBTSxJQUFJZ0MsTUFBTTtZQUNwQjtZQUNBLE9BQU8sV0FBVyxHQUFHMUYsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFVBQVU7Z0JBQ3hELEdBQUdzRCxRQUFRO2dCQUNYLEdBQUdELFdBQVc7Z0JBQ2RHLE1BQU07Z0JBQ052RCxLQUFLSSxPQUFPNkM7Z0JBQ1ovQyxPQUFPYixNQUFNYSxLQUFLO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCVCxhQUFhSixNQUFNSSxXQUFXLElBQUlBO1lBQ3RDO1FBQ0o7SUFDSixFQUFFLE9BQU8rRCxLQUFLO1FBQ1YsSUFBSSxDQUFDLEdBQUd0RixTQUFTZCxPQUFPLEVBQUVvRyxRQUFRQSxJQUFJQyxJQUFJLEtBQUssb0JBQW9CO1lBQy9EQyxRQUFRQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUVILElBQUlJLE9BQU8sQ0FBQyxDQUFDO1FBQzFDO1FBQ0EsT0FBTztJQUNYO0FBQ0o7QUFDQSxTQUFTQyxrQkFBa0J6RSxPQUFPLEVBQUVDLEtBQUs7SUFDckMsTUFBTSxFQUFFaUQsWUFBWSxFQUFHOUMsdUJBQXVCLEVBQUdDLFdBQVcsRUFBRyxHQUFHTDtJQUNsRSxNQUFNMEUsbUJBQW1CekIsd0JBQXdCakQsU0FBU0M7SUFDMUQsTUFBTTBFLDJCQUEyQixDQUFDekIsYUFBYTBCLGlCQUFpQixJQUFJLEVBQUUsRUFBRXJFLE1BQU0sQ0FBQyxDQUFDc0UsU0FBU0EsT0FBTzdELEdBQUcsRUFBRU4sR0FBRyxDQUFDLENBQUM4QixNQUFNcUI7UUFDNUcsTUFBTSxFQUFFQyxRQUFRLEVBQUcsR0FBR0UsYUFBYSxHQUFHeEI7UUFDdEMsT0FBTyxXQUFXLEdBQUdoRSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsVUFBVTtZQUN4RCxHQUFHcUQsV0FBVztZQUNkcEQsS0FBS29ELFlBQVloRCxHQUFHLElBQUk2QztZQUN4QmhELE9BQU9tRCxZQUFZbkQsS0FBSyxJQUFJLENBQUNUO1lBQzdCVSxPQUFPYixNQUFNYSxLQUFLO1lBQ2xCLGdCQUFnQjtZQUNoQlQsYUFBYUosTUFBTUksV0FBVyxJQUFJQTtRQUN0QztJQUNKO0lBQ0EsT0FBTyxXQUFXLEdBQUc3QixPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUNuQyxPQUFPUixPQUFPLENBQUMyRixRQUFRLEVBQUUsTUFBTWUsa0JBQWtCQztBQUN2RztBQUNBLFNBQVNHLGlCQUFpQjdFLEtBQUs7SUFDM0IsTUFBTSxFQUFFSSxXQUFXLEVBQUdTLEtBQUssRUFBRyxHQUFHaUUsV0FBVyxHQUFHOUU7SUFDL0Msc0dBQXNHO0lBQ3RHLE1BQU0rRSxZQUFZRDtJQUNsQixPQUFPQztBQUNYO0FBQ0EsU0FBU0MsV0FBV0MsT0FBTyxFQUFFQyxNQUFNO0lBQy9CLE9BQU9ELFdBQVcsQ0FBQyxFQUFFQyxPQUFPLEVBQUVBLE9BQU8xQyxRQUFRLENBQUMsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pFO0FBQ0EsU0FBUzJDLG9CQUFvQkMsZ0JBQWdCLEVBQUVDLGVBQWUsRUFBRXBGLGNBQWMsRUFBRTtJQUM1RSxJQUFJLENBQUNtRixrQkFBa0I7UUFDbkIsT0FBTztZQUNIRSxZQUFZO1lBQ1pDLFNBQVM7UUFDYjtJQUNKO0lBQ0EsTUFBTUMsZ0JBQWdCSixpQkFBaUJLLEtBQUssQ0FBQyxRQUFRO0lBQ3JELE1BQU1DLGlCQUFpQk4saUJBQWlCSyxLQUFLLENBQUNKLGdCQUFnQjtJQUM5RCxNQUFNTSxxQkFBcUI7V0FDcEJILGlCQUFpQixFQUFFO1dBQ25CRSxrQkFBa0IsRUFBRTtLQUMxQjtJQUNELDJGQUEyRjtJQUMzRixNQUFNRSxtQkFBbUIsQ0FBQyxDQUFFRCxDQUFBQSxtQkFBbUJsQyxNQUFNLEtBQUssS0FBTStCLENBQUFBLGlCQUFpQkUsY0FBYSxDQUFDO0lBQy9GLE9BQU87UUFDSEosWUFBWU0sbUJBQW1CLFdBQVcsR0FBR3JILE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO1lBQzlFLGtCQUFrQjBFLGlCQUFpQlMsb0JBQW9CLEdBQUcsZ0JBQWdCO1lBQzFFQyxLQUFLO1lBQ0xDLE1BQU07WUFDTjNGLGFBQWE7UUFDakIsS0FBSztRQUNMbUYsU0FBU0kscUJBQXFCQSxtQkFBbUJsRixHQUFHLENBQUMsQ0FBQ3VGO1lBQ2xELE1BQU1DLE1BQU0sOEJBQThCQyxJQUFJLENBQUNGLFNBQVMsQ0FBQyxFQUFFO1lBQzNELE9BQU8sV0FBVyxHQUFHekgsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFFBQVE7Z0JBQ3REQyxLQUFLcUY7Z0JBQ0xGLEtBQUs7Z0JBQ0xDLE1BQU0sQ0FBQyxFQUFFOUYsWUFBWSxPQUFPLEVBQUV5QyxVQUFVc0QsVUFBVSxDQUFDO2dCQUNuREcsSUFBSTtnQkFDSmpDLE1BQU0sQ0FBQyxLQUFLLEVBQUUrQixJQUFJLENBQUM7Z0JBQ25CN0YsYUFBYTtnQkFDYixrQkFBa0I0RixTQUFTeEQsUUFBUSxDQUFDLFFBQVEsZ0JBQWdCO1lBQ2hFO1FBQ0osS0FBSztJQUNUO0FBQ0o7QUFDQSxNQUFNN0UsYUFBYVksT0FBT1IsT0FBTyxDQUFDcUksU0FBUztJQUN2QyxPQUFPLENBQUNDLENBQUMsR0FBRyxDQUFDO1FBQ1QsSUFBSSxDQUFDQyxXQUFXLEdBQUd4SCxhQUFheUgsV0FBVztJQUMvQyxLQUFLO0lBQ0xDLFlBQVlwRSxLQUFLLEVBQUU7UUFDZixNQUFNLEVBQUVuQyxXQUFXLEVBQUdDLGdCQUFnQixFQUFHbUMsY0FBYyxFQUFHakMsV0FBVyxFQUFHcUcsV0FBVyxFQUFHQyxhQUFhLEVBQUcsR0FBRyxJQUFJLENBQUMzRyxPQUFPO1FBQ3JILE1BQU00RyxXQUFXdkUsTUFBTXZDLFFBQVEsQ0FBQ1MsTUFBTSxDQUFDLENBQUNzRyxJQUFJQSxFQUFFcEcsUUFBUSxDQUFDO1FBQ3ZELE1BQU1qQixjQUFjLElBQUlMLElBQUlrRCxNQUFNN0MsV0FBVztRQUM3QyxxRUFBcUU7UUFDckUsK0NBQStDO1FBQy9DLElBQUlzSCxnQkFBZ0IsSUFBSTNILElBQUksRUFBRTtRQUM5QixJQUFJNEgsa0JBQWtCekYsTUFBTTBGLElBQUksQ0FBQyxJQUFJN0gsSUFBSW1ELGVBQWUvQixNQUFNLENBQUMsQ0FBQ2lDLE9BQU9BLEtBQUsvQixRQUFRLENBQUM7UUFDckYsSUFBSXNHLGdCQUFnQnJELE1BQU0sRUFBRTtZQUN4QixNQUFNdUQsV0FBVyxJQUFJOUgsSUFBSXlIO1lBQ3pCRyxrQkFBa0JBLGdCQUFnQnhHLE1BQU0sQ0FBQyxDQUFDc0csSUFBSSxDQUFFSSxDQUFBQSxTQUFTQyxHQUFHLENBQUNMLE1BQU1ySCxZQUFZMEgsR0FBRyxDQUFDTCxFQUFDO1lBQ3BGQyxnQkFBZ0IsSUFBSTNILElBQUk0SDtZQUN4QkgsU0FBUzVFLElBQUksSUFBSStFO1FBQ3JCO1FBQ0EsSUFBSUksa0JBQWtCLEVBQUU7UUFDeEJQLFNBQVM3RSxPQUFPLENBQUMsQ0FBQ1M7WUFDZCxNQUFNNEUsZUFBZTVILFlBQVkwSCxHQUFHLENBQUMxRTtZQUNyQyxJQUFJLENBQUNrRSxhQUFhO2dCQUNkUyxnQkFBZ0JuRixJQUFJLENBQUMsV0FBVyxHQUFHeEQsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFFBQVE7b0JBQ3BFQyxLQUFLLENBQUMsRUFBRTRCLEtBQUssUUFBUSxDQUFDO29CQUN0QjFCLE9BQU8sSUFBSSxDQUFDYixLQUFLLENBQUNhLEtBQUs7b0JBQ3ZCaUYsS0FBSztvQkFDTEMsTUFBTSxDQUFDLEVBQUU5RixZQUFZLE9BQU8sRUFBRXlDLFVBQVVILE1BQU0sRUFBRXJDLGlCQUFpQixDQUFDO29CQUNsRWlHLElBQUk7b0JBQ0ovRixhQUFhLElBQUksQ0FBQ0osS0FBSyxDQUFDSSxXQUFXLElBQUlBO2dCQUMzQztZQUNKO1lBQ0EsTUFBTWdILGtCQUFrQlAsY0FBY0ksR0FBRyxDQUFDMUU7WUFDMUMyRSxnQkFBZ0JuRixJQUFJLENBQUMsV0FBVyxHQUFHeEQsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFFBQVE7Z0JBQ3BFQyxLQUFLNEI7Z0JBQ0wxQixPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDYSxLQUFLO2dCQUN2QmlGLEtBQUs7Z0JBQ0xDLE1BQU0sQ0FBQyxFQUFFOUYsWUFBWSxPQUFPLEVBQUV5QyxVQUFVSCxNQUFNLEVBQUVyQyxpQkFBaUIsQ0FBQztnQkFDbEVFLGFBQWEsSUFBSSxDQUFDSixLQUFLLENBQUNJLFdBQVcsSUFBSUE7Z0JBQ3ZDLFlBQVlnSCxrQkFBa0JDLFlBQVlGLGVBQWUsS0FBS0U7Z0JBQzlELFlBQVlELGtCQUFrQkMsWUFBWUYsZUFBZUUsWUFBWTtZQUN6RTtRQUNKO1FBQ0EsSUFBSTNILEtBQXVEZ0gsRUFBRSxFQUU1RDtRQUNELE9BQU9RLGdCQUFnQnpELE1BQU0sS0FBSyxJQUFJLE9BQU95RDtJQUNqRDtJQUNBSywwQkFBMEI7UUFDdEIsTUFBTSxFQUFFbEYsY0FBYyxFQUFHcEMsV0FBVyxFQUFHQyxnQkFBZ0IsRUFBR0UsV0FBVyxFQUFHLEdBQUcsSUFBSSxDQUFDTCxPQUFPO1FBQ3ZGLE9BQU9zQyxlQUFlNUIsR0FBRyxDQUFDLENBQUM4QjtZQUN2QixJQUFJLENBQUNBLEtBQUsvQixRQUFRLENBQUMsUUFBUTtnQkFDdkIsT0FBTztZQUNYO1lBQ0EsT0FBTyxXQUFXLEdBQUdqQyxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsUUFBUTtnQkFDdERvRixLQUFLO2dCQUNMbkYsS0FBSzRCO2dCQUNMd0QsTUFBTSxDQUFDLEVBQUU5RixZQUFZLE9BQU8sRUFBRXlDLFVBQVVILE1BQU0sRUFBRXJDLGlCQUFpQixDQUFDO2dCQUNsRWlHLElBQUk7Z0JBQ0p0RixPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDYSxLQUFLO2dCQUN2QlQsYUFBYSxJQUFJLENBQUNKLEtBQUssQ0FBQ0ksV0FBVyxJQUFJQTtZQUMzQztRQUNKLEdBQUUsNEJBQTRCO1NBQzdCRSxNQUFNLENBQUNrSDtJQUNaO0lBQ0FDLG9CQUFvQnJGLEtBQUssRUFBRTtRQUN2QixNQUFNLEVBQUVuQyxXQUFXLEVBQUdDLGdCQUFnQixFQUFHK0MsWUFBWSxFQUFHN0MsV0FBVyxFQUFHLEdBQUcsSUFBSSxDQUFDTCxPQUFPO1FBQ3JGLE1BQU0ySCxlQUFldEYsTUFBTXZDLFFBQVEsQ0FBQ1MsTUFBTSxDQUFDLENBQUNpQztZQUN4QyxPQUFPQSxLQUFLL0IsUUFBUSxDQUFDO1FBQ3pCO1FBQ0EsT0FBTztlQUNBLENBQUN5QyxhQUFhMEIsaUJBQWlCLElBQUksRUFBRSxFQUFFbEUsR0FBRyxDQUFDLENBQUM4QixPQUFPLFdBQVcsR0FBR2hFLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO29CQUNqR0MsS0FBSzRCLEtBQUt4QixHQUFHO29CQUNiRixPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDYSxLQUFLO29CQUN2QmlGLEtBQUs7b0JBQ0xDLE1BQU14RCxLQUFLeEIsR0FBRztvQkFDZG9GLElBQUk7b0JBQ0ovRixhQUFhLElBQUksQ0FBQ0osS0FBSyxDQUFDSSxXQUFXLElBQUlBO2dCQUMzQztlQUNEc0gsYUFBYWpILEdBQUcsQ0FBQyxDQUFDOEIsT0FBTyxXQUFXLEdBQUdoRSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsUUFBUTtvQkFDdkVDLEtBQUs0QjtvQkFDTDFCLE9BQU8sSUFBSSxDQUFDYixLQUFLLENBQUNhLEtBQUs7b0JBQ3ZCaUYsS0FBSztvQkFDTEMsTUFBTSxDQUFDLEVBQUU5RixZQUFZLE9BQU8sRUFBRXlDLFVBQVVILE1BQU0sRUFBRXJDLGlCQUFpQixDQUFDO29CQUNsRWlHLElBQUk7b0JBQ0ovRixhQUFhLElBQUksQ0FBQ0osS0FBSyxDQUFDSSxXQUFXLElBQUlBO2dCQUMzQztTQUNQO0lBQ0w7SUFDQXVILG9DQUFvQztRQUNoQyxNQUFNLEVBQUUxRSxZQUFZLEVBQUcsR0FBRyxJQUFJLENBQUNsRCxPQUFPO1FBQ3RDLE1BQU0sRUFBRWMsS0FBSyxFQUFHVCxXQUFXLEVBQUcsR0FBRyxJQUFJLENBQUNKLEtBQUs7UUFDM0MsT0FBTyxDQUFDaUQsYUFBYTBCLGlCQUFpQixJQUFJLEVBQUUsRUFBRXJFLE1BQU0sQ0FBQyxDQUFDc0UsU0FBUyxDQUFDQSxPQUFPN0QsR0FBRyxJQUFLNkQsQ0FBQUEsT0FBT2hELHVCQUF1QixJQUFJZ0QsT0FBT3JELFFBQVEsR0FBR2QsR0FBRyxDQUFDLENBQUM4QixNQUFNcUI7WUFDMUksTUFBTSxFQUFFQyxRQUFRLEVBQUd0QyxRQUFRLEVBQUdLLHVCQUF1QixFQUFHYixHQUFHLEVBQUcsR0FBR2dELGFBQWEsR0FBR3hCO1lBQ2pGLElBQUlxRixPQUFPO1lBQ1gsSUFBSWhHLDJCQUEyQkEsd0JBQXdCQyxNQUFNLEVBQUU7Z0JBQzNEK0YsT0FBT2hHLHdCQUF3QkMsTUFBTTtZQUN6QyxPQUFPLElBQUlOLFVBQVU7Z0JBQ2pCcUcsT0FBTyxPQUFPckcsYUFBYSxXQUFXQSxXQUFXRixNQUFNQyxPQUFPLENBQUNDLFlBQVlBLFNBQVNVLElBQUksQ0FBQyxNQUFNO1lBQ25HO1lBQ0EsT0FBTyxXQUFXLEdBQUcxRCxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsVUFBVTtnQkFDeEQsR0FBR3FELFdBQVc7Z0JBQ2RuQyx5QkFBeUI7b0JBQ3JCQyxRQUFRK0Y7Z0JBQ1o7Z0JBQ0FqSCxLQUFLb0QsWUFBWThELEVBQUUsSUFBSWpFO2dCQUN2Qi9DLE9BQU9BO2dCQUNQLGdCQUFnQjtnQkFDaEJULGFBQWFBLGVBQWVWLFNBQStCO1lBQy9EO1FBQ0o7SUFDSjtJQUNBeUMsaUJBQWlCQyxLQUFLLEVBQUU7UUFDcEIsT0FBT0QsaUJBQWlCLElBQUksQ0FBQ3BDLE9BQU8sRUFBRSxJQUFJLENBQUNDLEtBQUssRUFBRW9DO0lBQ3REO0lBQ0FvQyxvQkFBb0I7UUFDaEIsT0FBT0Esa0JBQWtCLElBQUksQ0FBQ3pFLE9BQU8sRUFBRSxJQUFJLENBQUNDLEtBQUs7SUFDckQ7SUFDQTJDLFdBQVdQLEtBQUssRUFBRTtRQUNkLE9BQU9PLFdBQVcsSUFBSSxDQUFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxFQUFFb0M7SUFDaEQ7SUFDQXRDLHFCQUFxQjtRQUNqQixPQUFPQSxtQkFBbUIsSUFBSSxDQUFDQyxPQUFPLEVBQUUsSUFBSSxDQUFDQyxLQUFLO0lBQ3REO0lBQ0FzSCxvQkFBb0JTLElBQUksRUFBRTtRQUN0QixPQUFPeEosT0FBT1IsT0FBTyxDQUFDaUssUUFBUSxDQUFDdkgsR0FBRyxDQUFDc0gsTUFBTSxDQUFDRTtZQUN0QyxJQUFJQyxVQUFVQztZQUNkLElBQUksQ0FBQ0YsS0FBSyxPQUFPLEtBQUssSUFBSUEsRUFBRS9ELElBQUksTUFBTSxVQUFXK0QsQ0FBQUEsS0FBSyxPQUFPLEtBQUssSUFBSSxDQUFDQyxXQUFXRCxFQUFFakksS0FBSyxLQUFLLE9BQU8sS0FBSyxJQUFJa0ksU0FBU25DLElBQUksS0FBS3JILFdBQVcwSix3QkFBd0IsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsRUFBRUMsR0FBRyxFQUFHO2dCQUM5SyxJQUFJSixVQUFVSztnQkFDZCxPQUFPTixLQUFLLE9BQU8sS0FBSyxJQUFJLENBQUNDLFdBQVdELEVBQUVqSSxLQUFLLEtBQUssT0FBTyxLQUFLLElBQUksQ0FBQ3VJLGdCQUFnQkwsU0FBU25DLElBQUksS0FBSyxPQUFPLEtBQUssSUFBSXdDLGNBQWNDLFVBQVUsQ0FBQ0Y7WUFDcEosSUFBSTtnQkFDQSxNQUFNRyxXQUFXO29CQUNiLEdBQUdSLEVBQUVqSSxLQUFLLElBQUksQ0FBQyxDQUFDO29CQUNoQixhQUFhaUksRUFBRWpJLEtBQUssQ0FBQytGLElBQUk7b0JBQ3pCQSxNQUFNc0I7Z0JBQ1Y7Z0JBQ0EsT0FBTyxXQUFXLEdBQUc5SSxPQUFPUixPQUFPLENBQUMySyxZQUFZLENBQUNULEdBQUdRO1lBQ3hELE9BQU8sSUFBSVIsS0FBSyxPQUFPLEtBQUssSUFBSSxDQUFDRSxZQUFZRixFQUFFakksS0FBSyxLQUFLLE9BQU8sS0FBSyxJQUFJbUksVUFBVTVHLFFBQVEsRUFBRTtnQkFDekYsTUFBTWtILFdBQVc7b0JBQ2IsR0FBR1IsRUFBRWpJLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQ2hCdUIsVUFBVSxJQUFJLENBQUMrRixtQkFBbUIsQ0FBQ1csRUFBRWpJLEtBQUssQ0FBQ3VCLFFBQVE7Z0JBQ3ZEO2dCQUNBLE9BQU8sV0FBVyxHQUFHaEQsT0FBT1IsT0FBTyxDQUFDMkssWUFBWSxDQUFDVCxHQUFHUTtZQUN4RDtZQUNBLE9BQU9SO1FBQ1gsd0ZBQXdGO1FBQ3hGLEdBQUczSCxNQUFNLENBQUNrSDtJQUNkO0lBQ0FtQixTQUFTO1FBQ0wsTUFBTSxFQUFFeEgsTUFBTSxFQUFHOEQsT0FBTyxFQUFHM0YsU0FBUyxFQUFHc0osU0FBUyxFQUFHQyxhQUFhLEVBQUdDLGFBQWEsRUFBR3pELGVBQWUsRUFBRzBELFFBQVEsRUFBR0Msa0JBQWtCLEVBQUdDLGtCQUFrQixFQUFHOUksdUJBQXVCLEVBQUdzRyxXQUFXLEVBQUdDLGFBQWEsRUFBR3pHLFdBQVcsRUFBR21GLGdCQUFnQixFQUFHLEdBQUcsSUFBSSxDQUFDckYsT0FBTztRQUNsUSxNQUFNbUosbUJBQW1CRix1QkFBdUI7UUFDaEQsTUFBTUcsbUJBQW1CRix1QkFBdUIsU0FBUyxDQUFDOUk7UUFDMUQsSUFBSSxDQUFDSixPQUFPLENBQUNxSixxQkFBcUIsQ0FBQ3pMLElBQUksR0FBRztRQUMxQyxJQUFJLEVBQUUwTCxJQUFJLEVBQUcsR0FBRyxJQUFJLENBQUN0SixPQUFPO1FBQzVCLElBQUl1SixjQUFjLEVBQUU7UUFDcEIsSUFBSUMsb0JBQW9CLEVBQUU7UUFDMUIsSUFBSUYsTUFBTTtZQUNOQSxLQUFLdkgsT0FBTyxDQUFDLENBQUNtRztnQkFDVixJQUFJdUI7Z0JBQ0osSUFBSSxJQUFJLENBQUN6SixPQUFPLENBQUMwSixjQUFjLEVBQUU7b0JBQzdCRCxVQUFVLFdBQVcsR0FBR2pMLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO3dCQUN6RHZDLE1BQU07d0JBQ051TCxTQUFTO29CQUNiO2dCQUNKO2dCQUNBLElBQUl6QixLQUFLQSxFQUFFL0QsSUFBSSxLQUFLLFVBQVUrRCxFQUFFakksS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhaUksRUFBRWpJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUztvQkFDckZ3SixXQUFXRixZQUFZdkgsSUFBSSxDQUFDeUg7b0JBQzVCRixZQUFZdkgsSUFBSSxDQUFDa0c7Z0JBQ3JCLE9BQU87b0JBQ0gsSUFBSUEsR0FBRzt3QkFDSCxJQUFJdUIsV0FBWXZCLENBQUFBLEVBQUUvRCxJQUFJLEtBQUssVUFBVSxDQUFDK0QsRUFBRWpJLEtBQUssQ0FBQyxVQUFVLEdBQUc7NEJBQ3ZEdUosa0JBQWtCeEgsSUFBSSxDQUFDeUg7d0JBQzNCO3dCQUNBRCxrQkFBa0J4SCxJQUFJLENBQUNrRztvQkFDM0I7Z0JBQ0o7WUFDSjtZQUNBb0IsT0FBT0MsWUFBWUssTUFBTSxDQUFDSjtRQUM5QjtRQUNBLElBQUloSSxXQUFXaEQsT0FBT1IsT0FBTyxDQUFDaUssUUFBUSxDQUFDNEIsT0FBTyxDQUFDLElBQUksQ0FBQzVKLEtBQUssQ0FBQ3VCLFFBQVEsRUFBRWpCLE1BQU0sQ0FBQ2tIO1FBQzNFLGdFQUFnRTtRQUNoRSxJQUFJOUgsSUFBcUMsRUFBRTtZQUN2QzZCLFdBQVdoRCxPQUFPUixPQUFPLENBQUNpSyxRQUFRLENBQUN2SCxHQUFHLENBQUNjLFVBQVUsQ0FBQ047Z0JBQzlDLElBQUlzQztnQkFDSixNQUFNc0csZ0JBQWdCNUksU0FBUyxPQUFPLEtBQUssSUFBSSxDQUFDc0MsZUFBZXRDLE1BQU1qQixLQUFLLEtBQUssT0FBTyxLQUFLLElBQUl1RCxZQUFZLENBQUMsb0JBQW9CO2dCQUNoSSxJQUFJLENBQUNzRyxlQUFlO29CQUNoQixJQUFJQztvQkFDSixJQUFJLENBQUM3SSxTQUFTLE9BQU8sS0FBSyxJQUFJQSxNQUFNaUQsSUFBSSxNQUFNLFNBQVM7d0JBQ25ERyxRQUFRQyxJQUFJLENBQUM7b0JBQ2pCLE9BQU8sSUFBSSxDQUFDckQsU0FBUyxPQUFPLEtBQUssSUFBSUEsTUFBTWlELElBQUksTUFBTSxVQUFVLENBQUNqRCxTQUFTLE9BQU8sS0FBSyxJQUFJLENBQUM2SSxnQkFBZ0I3SSxNQUFNakIsS0FBSyxLQUFLLE9BQU8sS0FBSyxJQUFJOEosY0FBYzNMLElBQUksTUFBTSxZQUFZO3dCQUMxS2tHLFFBQVFDLElBQUksQ0FBQztvQkFDakI7Z0JBQ0o7Z0JBQ0EsT0FBT3JEO1lBQ1gsd0ZBQXdGO1lBQ3hGO1lBQ0EsSUFBSSxJQUFJLENBQUNqQixLQUFLLENBQUNJLFdBQVcsRUFBRWlFLFFBQVFDLElBQUksQ0FBQztRQUM3QztRQUNBLElBQUk1RSxLQUE0RyxFQUFJLEVBRW5IO1FBQ0QsSUFBSXFLLGdCQUFnQjtRQUNwQixJQUFJQyxrQkFBa0I7UUFDdEIsb0RBQW9EO1FBQ3BEWCxPQUFPOUssT0FBT1IsT0FBTyxDQUFDaUssUUFBUSxDQUFDdkgsR0FBRyxDQUFDNEksUUFBUSxFQUFFLEVBQUUsQ0FBQ3BJO1lBQzVDLElBQUksQ0FBQ0EsT0FBTyxPQUFPQTtZQUNuQixNQUFNLEVBQUVpRCxJQUFJLEVBQUdsRSxLQUFLLEVBQUcsR0FBR2lCO1lBQzFCLElBQUl2QixLQUFtQyxJQUFJSixXQUFXO2dCQUNsRCxJQUFJMkssVUFBVTtnQkFDZCxJQUFJL0YsU0FBUyxVQUFVbEUsTUFBTTdCLElBQUksS0FBSyxZQUFZO29CQUM5QzhMLFVBQVU7Z0JBQ2QsT0FBTyxJQUFJL0YsU0FBUyxVQUFVbEUsTUFBTThGLEdBQUcsS0FBSyxhQUFhO29CQUNyRGtFLGtCQUFrQjtnQkFDdEIsT0FBTyxJQUFJOUYsU0FBUyxVQUFVO29CQUMxQixnQkFBZ0I7b0JBQ2hCLHlEQUF5RDtvQkFDekQsMkRBQTJEO29CQUMzRCw0QkFBNEI7b0JBQzVCLElBQUlsRSxNQUFNZSxHQUFHLElBQUlmLE1BQU1lLEdBQUcsQ0FBQ21KLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLbEssTUFBTTRCLHVCQUF1QixJQUFLLEVBQUM1QixNQUFNa0UsSUFBSSxJQUFJbEUsTUFBTWtFLElBQUksS0FBSyxpQkFBZ0IsR0FBSTt3QkFDekkrRixVQUFVO3dCQUNWM00sT0FBTzZNLElBQUksQ0FBQ25LLE9BQU84QixPQUFPLENBQUMsQ0FBQ3NJOzRCQUN4QkgsV0FBVyxDQUFDLENBQUMsRUFBRUcsS0FBSyxFQUFFLEVBQUVwSyxLQUFLLENBQUNvSyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUMxQzt3QkFDQUgsV0FBVztvQkFDZjtnQkFDSjtnQkFDQSxJQUFJQSxTQUFTO29CQUNUNUYsUUFBUUMsSUFBSSxDQUFDLENBQUMsMkJBQTJCLEVBQUVyRCxNQUFNaUQsSUFBSSxDQUFDLHdCQUF3QixFQUFFK0YsUUFBUSxJQUFJLEVBQUVuQixjQUFjdUIsSUFBSSxDQUFDLHNEQUFzRCxDQUFDO29CQUN4SyxPQUFPO2dCQUNYO1lBQ0osT0FBTztnQkFDSCxlQUFlO2dCQUNmLElBQUluRyxTQUFTLFVBQVVsRSxNQUFNOEYsR0FBRyxLQUFLLFdBQVc7b0JBQzVDaUUsZ0JBQWdCO2dCQUNwQjtZQUNKO1lBQ0EsT0FBTzlJO1FBQ1gsd0ZBQXdGO1FBQ3hGO1FBQ0EsTUFBTW1CLFFBQVFqRCxpQkFBaUIsSUFBSSxDQUFDWSxPQUFPLENBQUNYLGFBQWEsRUFBRSxJQUFJLENBQUNXLE9BQU8sQ0FBQytJLGFBQWEsQ0FBQ3VCLElBQUksRUFBRTNLLEtBQW1DLElBQUlKO1FBQ25JLE1BQU1nTCxtQkFBbUJuRixvQkFBb0JDLGtCQUFrQkMsaUJBQWlCcEY7UUFDaEYsT0FBTyxXQUFXLEdBQUcxQixPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsUUFBUW1FLGlCQUFpQixJQUFJLENBQUM3RSxLQUFLLEdBQUcsSUFBSSxDQUFDRCxPQUFPLENBQUN1QyxhQUFhLElBQUksV0FBVyxHQUFHL0QsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDbkMsT0FBT1IsT0FBTyxDQUFDMkYsUUFBUSxFQUFFLE1BQU0sV0FBVyxHQUFHbkYsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFNBQVM7WUFDaFAsdUJBQXVCO1lBQ3ZCLG1CQUFtQmhCLEtBQW1DLElBQUlKLFlBQVksU0FBUytIO1lBQy9FekYseUJBQXlCO2dCQUNyQkMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1lBQ2hDO1FBQ0osSUFBSSxXQUFXLEdBQUd0RCxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsWUFBWTtZQUN2RCx1QkFBdUI7WUFDdkIsbUJBQW1CaEIsS0FBbUMsSUFBSUosWUFBWSxTQUFTK0g7UUFDbkYsR0FBRyxXQUFXLEdBQUc5SSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsU0FBUztZQUNuRGtCLHlCQUF5QjtnQkFDckJDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNqQztRQUNKLE1BQU13SCxNQUFNLElBQUksQ0FBQ3RKLE9BQU8sQ0FBQzBKLGNBQWMsR0FBRyxPQUFPLFdBQVcsR0FBR2xMLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO1lBQ2hHdkMsTUFBTTtZQUNOdUwsU0FBU25MLE9BQU9SLE9BQU8sQ0FBQ2lLLFFBQVEsQ0FBQ3VDLEtBQUssQ0FBQ2xCLFFBQVEsRUFBRSxFQUFFbUIsUUFBUTtRQUMvRCxJQUFJakosVUFBVW1GLGlCQUFpQixXQUFXLEdBQUduSSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsUUFBUTtZQUM5RXZDLE1BQU07UUFDVixJQUFJbU0saUJBQWlCaEYsVUFBVSxFQUFFZ0YsaUJBQWlCL0UsT0FBTyxFQUFFN0YsS0FBbUMsSUFBSUosYUFBYSxXQUFXLEdBQUdmLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQ25DLE9BQU9SLE9BQU8sQ0FBQzJGLFFBQVEsRUFBRSxNQUFNLFdBQVcsR0FBR25GLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO1lBQ3hPdkMsTUFBTTtZQUNOdUwsU0FBUztRQUNiLElBQUksQ0FBQ00sbUJBQW1CLFdBQVcsR0FBR3pMLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO1lBQ3ZFb0YsS0FBSztZQUNMQyxNQUFNOEMsZ0JBQWdCcEssNEVBQXVDLENBQUM0RztRQUNsRSxJQUFJLFdBQVcsR0FBRzlHLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO1lBQ25Eb0YsS0FBSztZQUNMSyxJQUFJO1lBQ0pKLE1BQU07UUFDVixJQUFJLFdBQVcsR0FBR3hILE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQ1EsV0FBVztZQUN0REMsUUFBUUE7UUFDWixJQUFJLFdBQVcsR0FBRzVDLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxTQUFTO1lBQ3BELG1CQUFtQjtZQUNuQmtCLHlCQUF5QjtnQkFDckJDLFFBQVEsQ0FBQyxzbEJBQXNsQixDQUFDO1lBQ3BtQjtRQUNKLElBQUksV0FBVyxHQUFHdEQsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFlBQVksTUFBTSxXQUFXLEdBQUduQyxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsU0FBUztZQUNqSCxtQkFBbUI7WUFDbkJrQix5QkFBeUI7Z0JBQ3JCQyxRQUFRLENBQUMsa0ZBQWtGLENBQUM7WUFDaEc7UUFDSixLQUFLLFdBQVcsR0FBR3RELE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVO1lBQ3REK0IsT0FBTztZQUNQMUIsS0FBSztRQUNULEtBQUssQ0FBRXJCLENBQUFBLEtBQW1DLElBQUlKLFNBQVEsS0FBTSxXQUFXLEdBQUdmLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQ25DLE9BQU9SLE9BQU8sQ0FBQzJGLFFBQVEsRUFBRSxNQUFNLENBQUNxRyxpQkFBaUJuQixhQUFhLFdBQVcsR0FBR3JLLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRO1lBQ3BOb0YsS0FBSztZQUNMQyxNQUFNOEMsZ0JBQWdCN0QsV0FBV0MsU0FBU0k7UUFDOUMsSUFBSSxJQUFJLENBQUNzQyxpQ0FBaUMsSUFBSSxDQUFDbEIsZUFBZSxJQUFJLENBQUNELFdBQVcsQ0FBQ3BFLFFBQVEsQ0FBQ3FFLGVBQWUsV0FBVyxHQUFHbEksT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFlBQVk7WUFDMUosY0FBYyxJQUFJLENBQUNWLEtBQUssQ0FBQ2EsS0FBSyxJQUFJO1FBQ3RDLElBQUksQ0FBQ3FJLG9CQUFvQixDQUFDQyxvQkFBb0IsSUFBSSxDQUFDNUIsdUJBQXVCLElBQUksQ0FBQzJCLG9CQUFvQixDQUFDQyxvQkFBb0IsSUFBSSxDQUFDMUIsbUJBQW1CLENBQUNyRixRQUFRLENBQUNqQywyQkFBMkIsQ0FBQytJLG9CQUFvQixJQUFJLENBQUNwSixrQkFBa0IsSUFBSSxDQUFDSywyQkFBMkIsQ0FBQytJLG9CQUFvQixJQUFJLENBQUMxRSxpQkFBaUIsSUFBSSxDQUFDckUsMkJBQTJCLENBQUMrSSxvQkFBb0IsSUFBSSxDQUFDL0csZ0JBQWdCLENBQUNDLFFBQVEsQ0FBQ2pDLDJCQUEyQixDQUFDK0ksb0JBQW9CLElBQUksQ0FBQ3ZHLFVBQVUsQ0FBQ1AsUUFBUXFFLGVBQWUsSUFBSSxDQUFDRCxXQUFXLENBQUNwRSxRQUFRcUUsZUFBZSxXQUFXLEdBQUdsSSxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsWUFBWTtZQUNsakIsY0FBYyxJQUFJLENBQUNWLEtBQUssQ0FBQ2EsS0FBSyxJQUFJO1FBQ3RDLElBQUksSUFBSSxDQUFDZCxPQUFPLENBQUN1QyxhQUFhLElBQUksMERBQTBEO1FBQzVGLDhCQUE4QjtRQUM5QiwrREFBK0Q7UUFDL0QsV0FBVyxHQUFHL0QsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFlBQVk7WUFDbkRtSCxJQUFJO1FBQ1IsSUFBSTFHLFVBQVUsT0FBTyxXQUFXLEdBQUc1QyxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUNuQyxPQUFPUixPQUFPLENBQUMyRixRQUFRLEVBQUUsQ0FBQyxNQUFNcUYsWUFBWSxFQUFFO0lBQ2xIO0FBQ0o7QUFDQSxTQUFTMkIsZ0NBQWdDekgsWUFBWSxFQUFFNkYsYUFBYSxFQUFFOUksS0FBSztJQUN2RSxJQUFJMkssZ0JBQWdCQyxzQkFBc0JDLGlCQUFpQkM7SUFDM0QsSUFBSSxDQUFDOUssTUFBTXVCLFFBQVEsRUFBRTtJQUNyQixNQUFNd0osb0JBQW9CLEVBQUU7SUFDNUIsTUFBTXhKLFdBQVdGLE1BQU1DLE9BQU8sQ0FBQ3RCLE1BQU11QixRQUFRLElBQUl2QixNQUFNdUIsUUFBUSxHQUFHO1FBQzlEdkIsTUFBTXVCLFFBQVE7S0FDakI7SUFDRCxNQUFNeUosZUFBZSxDQUFDTCxpQkFBaUJwSixTQUFTK0IsSUFBSSxDQUFDLENBQUNyQyxRQUFRQSxNQUFNaUQsSUFBSSxLQUFLdkcsS0FBSSxLQUFNLE9BQU8sS0FBSyxJQUFJLENBQUNpTix1QkFBdUJELGVBQWUzSyxLQUFLLEtBQUssT0FBTyxLQUFLLElBQUk0SyxxQkFBcUJySixRQUFRO0lBQ3JNLE1BQU0wSixlQUFlLENBQUNKLGtCQUFrQnRKLFNBQVMrQixJQUFJLENBQUMsQ0FBQ3JDLFFBQVFBLE1BQU1pRCxJQUFJLEtBQUssT0FBTSxLQUFNLE9BQU8sS0FBSyxJQUFJLENBQUM0Ryx3QkFBd0JELGdCQUFnQjdLLEtBQUssS0FBSyxPQUFPLEtBQUssSUFBSThLLHNCQUFzQnZKLFFBQVE7SUFDM00sK0dBQStHO0lBQy9HLE1BQU0ySixtQkFBbUI7V0FDbEI3SixNQUFNQyxPQUFPLENBQUMwSixnQkFBZ0JBLGVBQWU7WUFDNUNBO1NBQ0g7V0FDRTNKLE1BQU1DLE9BQU8sQ0FBQzJKLGdCQUFnQkEsZUFBZTtZQUM1Q0E7U0FDSDtLQUNKO0lBQ0QxTSxPQUFPUixPQUFPLENBQUNpSyxRQUFRLENBQUNsRyxPQUFPLENBQUNvSixrQkFBa0IsQ0FBQ2pLO1FBQy9DLElBQUlrSztRQUNKLElBQUksQ0FBQ2xLLE9BQU87UUFDWix3RUFBd0U7UUFDeEUsSUFBSSxDQUFDa0ssY0FBY2xLLE1BQU1pRCxJQUFJLEtBQUssT0FBTyxLQUFLLElBQUlpSCxZQUFZQyxZQUFZLEVBQUU7WUFDeEUsSUFBSW5LLE1BQU1qQixLQUFLLENBQUM2RCxRQUFRLEtBQUsscUJBQXFCO2dCQUM5Q1osYUFBYTBCLGlCQUFpQixHQUFHLENBQUMxQixhQUFhMEIsaUJBQWlCLElBQUksRUFBRSxFQUFFZ0YsTUFBTSxDQUFDO29CQUMzRTt3QkFDSSxHQUFHMUksTUFBTWpCLEtBQUs7b0JBQ2xCO2lCQUNIO2dCQUNEO1lBQ0osT0FBTyxJQUFJO2dCQUNQO2dCQUNBO2dCQUNBO2FBQ0gsQ0FBQ3dDLFFBQVEsQ0FBQ3ZCLE1BQU1qQixLQUFLLENBQUM2RCxRQUFRLEdBQUc7Z0JBQzlCa0gsa0JBQWtCaEosSUFBSSxDQUFDZCxNQUFNakIsS0FBSztnQkFDbEM7WUFDSjtRQUNKO0lBQ0o7SUFDQThJLGNBQWM3RixZQUFZLEdBQUc4SDtBQUNqQztBQUNBLE1BQU1uTixtQkFBbUJXLE9BQU9SLE9BQU8sQ0FBQ3FJLFNBQVM7SUFDN0MsT0FBTyxDQUFDQyxDQUFDLEdBQUcsQ0FBQztRQUNULElBQUksQ0FBQ0MsV0FBVyxHQUFHeEgsYUFBYXlILFdBQVc7SUFDL0MsS0FBSztJQUNMcEUsaUJBQWlCQyxLQUFLLEVBQUU7UUFDcEIsT0FBT0QsaUJBQWlCLElBQUksQ0FBQ3BDLE9BQU8sRUFBRSxJQUFJLENBQUNDLEtBQUssRUFBRW9DO0lBQ3REO0lBQ0FvQyxvQkFBb0I7UUFDaEIsT0FBT0Esa0JBQWtCLElBQUksQ0FBQ3pFLE9BQU8sRUFBRSxJQUFJLENBQUNDLEtBQUs7SUFDckQ7SUFDQTJDLFdBQVdQLEtBQUssRUFBRTtRQUNkLE9BQU9PLFdBQVcsSUFBSSxDQUFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxFQUFFb0M7SUFDaEQ7SUFDQXRDLHFCQUFxQjtRQUNqQixPQUFPQSxtQkFBbUIsSUFBSSxDQUFDQyxPQUFPLEVBQUUsSUFBSSxDQUFDQyxLQUFLO0lBQ3REO0lBQ0EsT0FBT3FMLHNCQUFzQnRMLE9BQU8sRUFBRTtRQUNsQyxNQUFNLEVBQUUrSSxhQUFhLEVBQUd3QyxrQkFBa0IsRUFBRyxHQUFHdkw7UUFDaEQsSUFBSTtZQUNBLE1BQU13TCxPQUFPQyxLQUFLQyxTQUFTLENBQUMzQztZQUM1QixJQUFJN0osc0JBQXNCZ0ksR0FBRyxDQUFDNkIsY0FBY3VCLElBQUksR0FBRztnQkFDL0MsT0FBTyxDQUFDLEdBQUd6TCxZQUFZOE0sb0JBQW9CLEVBQUVIO1lBQ2pEO1lBQ0EsTUFBTUksUUFBUWpNLE1BQW1DLEdBQUcsQ0FBZ0QsR0FBR3NNLE9BQU9qRixJQUFJLENBQUN3RSxNQUFNUSxVQUFVO1lBQ25JLE1BQU1FLGNBQWN4TiwyR0FBc0M7WUFDMUQsSUFBSTZNLHNCQUFzQkssUUFBUUwsb0JBQW9CO2dCQUNsRCxJQUFJNUwsS0FBcUMsRUFBRSxFQUUxQztnQkFDRDJFLFFBQVFDLElBQUksQ0FBQyxDQUFDLHdCQUF3QixFQUFFd0UsY0FBY3VCLElBQUksQ0FBQyxDQUFDLEVBQUV2QixjQUFjdUIsSUFBSSxLQUFLdEssUUFBUXNGLGVBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFdEYsUUFBUXNGLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU0RyxZQUFZTixPQUFPLGdDQUFnQyxFQUFFTSxZQUFZWCxvQkFBb0IsbUhBQW1ILENBQUM7WUFDOVc7WUFDQSxPQUFPLENBQUMsR0FBRzFNLFlBQVk4TSxvQkFBb0IsRUFBRUg7UUFDakQsRUFBRSxPQUFPcEgsS0FBSztZQUNWLElBQUksQ0FBQyxHQUFHdEYsU0FBU2QsT0FBTyxFQUFFb0csUUFBUUEsSUFBSUksT0FBTyxDQUFDMkYsT0FBTyxDQUFDLDBCQUEwQixDQUFDLEdBQUc7Z0JBQ2hGLE1BQU0sSUFBSWpHLE1BQU0sQ0FBQyx3REFBd0QsRUFBRTZFLGNBQWN1QixJQUFJLENBQUMsc0RBQXNELENBQUM7WUFDeko7WUFDQSxNQUFNbEc7UUFDVjtJQUNKO0lBQ0F3RSxTQUFTO1FBQ0wsTUFBTSxFQUFFMUksV0FBVyxFQUFHWCxTQUFTLEVBQUdGLGFBQWEsRUFBRzRKLGtCQUFrQixFQUFHSSxxQkFBcUIsRUFBR2xKLGdCQUFnQixFQUFHQyx1QkFBdUIsRUFBR0MsV0FBVyxFQUFHLEdBQUcsSUFBSSxDQUFDTCxPQUFPO1FBQ3pLLE1BQU1tSixtQkFBbUJGLHVCQUF1QjtRQUNoREksc0JBQXNCeEwsVUFBVSxHQUFHO1FBQ25DLElBQUk4QixLQUFtQyxJQUFJSixXQUFXO1lBQ2xELElBQUlJLEtBQXFDLEVBQUUsRUFFMUM7WUFDRCxNQUFNeU0sY0FBYzttQkFDYi9NLGNBQWNnTixRQUFRO21CQUN0QmhOLGNBQWNpQixhQUFhO21CQUMzQmpCLGNBQWMrTSxXQUFXO2FBQy9CO1lBQ0QsT0FBTyxXQUFXLEdBQUc1TixPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUNuQyxPQUFPUixPQUFPLENBQUMyRixRQUFRLEVBQUUsTUFBTXdGLG1CQUFtQixPQUFPLFdBQVcsR0FBRzNLLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVO2dCQUM1Sm1ILElBQUk7Z0JBQ0ozRCxNQUFNO2dCQUNOckQsT0FBTyxJQUFJLENBQUNiLEtBQUssQ0FBQ2EsS0FBSztnQkFDdkJULGFBQWEsSUFBSSxDQUFDSixLQUFLLENBQUNJLFdBQVcsSUFBSUE7Z0JBQ3ZDd0IseUJBQXlCO29CQUNyQkMsUUFBUWpFLFdBQVd5TixxQkFBcUIsQ0FBQyxJQUFJLENBQUN0TCxPQUFPO2dCQUN6RDtnQkFDQSxtQkFBbUI7WUFDdkIsSUFBSW9NLFlBQVkxTCxHQUFHLENBQUMsQ0FBQzhCLE9BQU8sV0FBVyxHQUFHaEUsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFVBQVU7b0JBQ3pFQyxLQUFLNEI7b0JBQ0x4QixLQUFLLENBQUMsRUFBRWQsWUFBWSxPQUFPLEVBQUVzQyxLQUFLLEVBQUVyQyxpQkFBaUIsQ0FBQztvQkFDdERXLE9BQU8sSUFBSSxDQUFDYixLQUFLLENBQUNhLEtBQUs7b0JBQ3ZCVCxhQUFhLElBQUksQ0FBQ0osS0FBSyxDQUFDSSxXQUFXLElBQUlBO29CQUN2QyxtQkFBbUI7Z0JBQ3ZCO1FBQ1I7UUFDQSxJQUFJVixJQUFxQyxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDTSxLQUFLLENBQUNJLFdBQVcsRUFBRWlFLFFBQVFDLElBQUksQ0FBQztRQUM3QztRQUNBLE1BQU1sQyxRQUFRakQsaUJBQWlCLElBQUksQ0FBQ1ksT0FBTyxDQUFDWCxhQUFhLEVBQUUsSUFBSSxDQUFDVyxPQUFPLENBQUMrSSxhQUFhLENBQUN1QixJQUFJLEVBQUUzSyxLQUFtQyxJQUFJSjtRQUNuSSxPQUFPLFdBQVcsR0FBR2YsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDbkMsT0FBT1IsT0FBTyxDQUFDMkYsUUFBUSxFQUFFLE1BQU0sQ0FBQ3dGLG9CQUFvQjlKLGNBQWNnTixRQUFRLEdBQUdoTixjQUFjZ04sUUFBUSxDQUFDM0wsR0FBRyxDQUFDLENBQUM4QixPQUFPLFdBQVcsR0FBR2hFLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVO2dCQUMvTUMsS0FBSzRCO2dCQUNMeEIsS0FBSyxDQUFDLEVBQUVkLFlBQVksT0FBTyxFQUFFeUMsVUFBVUgsTUFBTSxFQUFFckMsaUJBQWlCLENBQUM7Z0JBQ2pFVyxPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDYSxLQUFLO2dCQUN2QlQsYUFBYSxJQUFJLENBQUNKLEtBQUssQ0FBQ0ksV0FBVyxJQUFJQTtZQUMzQyxNQUFNLE1BQU04SSxtQkFBbUIsT0FBTyxXQUFXLEdBQUczSyxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsVUFBVTtZQUMzRm1ILElBQUk7WUFDSjNELE1BQU07WUFDTnJELE9BQU8sSUFBSSxDQUFDYixLQUFLLENBQUNhLEtBQUs7WUFDdkJULGFBQWEsSUFBSSxDQUFDSixLQUFLLENBQUNJLFdBQVcsSUFBSUE7WUFDdkN3Qix5QkFBeUI7Z0JBQ3JCQyxRQUFRakUsV0FBV3lOLHFCQUFxQixDQUFDLElBQUksQ0FBQ3RMLE9BQU87WUFDekQ7UUFDSixJQUFJSSwyQkFBMkIsQ0FBQytJLG9CQUFvQixJQUFJLENBQUNwSixrQkFBa0IsSUFBSUssMkJBQTJCLENBQUMrSSxvQkFBb0IsSUFBSSxDQUFDMUUsaUJBQWlCLElBQUlyRSwyQkFBMkIsQ0FBQytJLG9CQUFvQixJQUFJLENBQUMvRyxnQkFBZ0IsQ0FBQ0MsUUFBUWpDLDJCQUEyQixDQUFDK0ksb0JBQW9CLElBQUksQ0FBQ3ZHLFVBQVUsQ0FBQ1A7SUFDM1M7QUFDSjtBQUNBLFNBQVN2RSxLQUFLbUMsS0FBSztJQUNmLE1BQU0sRUFBRVYsU0FBUyxFQUFHOEoscUJBQXFCLEVBQUdpRCxNQUFNLEVBQUdwSixZQUFZLEVBQUc2RixhQUFhLEVBQUcsR0FBRyxDQUFDLEdBQUdoSyxhQUFhd04sY0FBYztJQUN0SGxELHNCQUFzQnZMLElBQUksR0FBRztJQUM3QjZNLGdDQUFnQ3pILGNBQWM2RixlQUFlOUk7SUFDN0QsT0FBTyxXQUFXLEdBQUd6QixPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUMsUUFBUTtRQUN0RCxHQUFHVixLQUFLO1FBQ1J1TSxNQUFNdk0sTUFBTXVNLElBQUksSUFBSUYsVUFBVWhGO1FBQzlCbUYsS0FBSzlNLEtBQW1DLElBQUlKLFlBQVksS0FBSytIO1FBQzdELG1CQUFtQjNILEtBQW1DLElBQUlKLGFBQWFJLGtCQUF5QixlQUFlLEtBQUsySDtJQUN4SDtBQUNKO0FBQ0EsU0FBU3ZKO0lBQ0wsTUFBTSxFQUFFc0wscUJBQXFCLEVBQUcsR0FBRyxDQUFDLEdBQUd0SyxhQUFhd04sY0FBYztJQUNsRWxELHNCQUFzQnRMLElBQUksR0FBRztJQUM3QixhQUFhO0lBQ2IsT0FBTyxXQUFXLEdBQUdTLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyx1Q0FBdUM7QUFDN0Y7QUFDQSxNQUFNcEMsaUJBQWlCQyxPQUFPUixPQUFPLENBQUNxSSxTQUFTO0lBQzNDOzs7R0FHRCxHQUFHLE9BQU9xRyxnQkFBZ0JDLEdBQUcsRUFBRTtRQUMxQixPQUFPQSxJQUFJQyxzQkFBc0IsQ0FBQ0Q7SUFDdEM7SUFDQS9ELFNBQVM7UUFDTCxPQUFPLFdBQVcsR0FBR3BLLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQzdDLE1BQU0sTUFBTSxXQUFXLEdBQUdVLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQy9DLE1BQU0sT0FBTyxXQUFXLEdBQUdZLE9BQU9SLE9BQU8sQ0FBQzJDLGFBQWEsQ0FBQyxRQUFRLE1BQU0sV0FBVyxHQUFHbkMsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDNUMsTUFBTSxPQUFPLFdBQVcsR0FBR1MsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDOUMsWUFBWTtJQUNsUztBQUNKO0FBQ0EsOEVBQThFO0FBQzlFLDJEQUEyRDtBQUMzRCxNQUFNZ1AsMkJBQTJCLFNBQVNBO0lBQ3RDLE9BQU8sV0FBVyxHQUFHck8sT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDN0MsTUFBTSxNQUFNLFdBQVcsR0FBR1UsT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDL0MsTUFBTSxPQUFPLFdBQVcsR0FBR1ksT0FBT1IsT0FBTyxDQUFDMkMsYUFBYSxDQUFDLFFBQVEsTUFBTSxXQUFXLEdBQUduQyxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUM1QyxNQUFNLE9BQU8sV0FBVyxHQUFHUyxPQUFPUixPQUFPLENBQUMyQyxhQUFhLENBQUM5QyxZQUFZO0FBQ2xTO0FBQ0FVLFFBQVEsQ0FBQ0ksV0FBV21PLHFCQUFxQixDQUFDLEdBQUdELDBCQUU3QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcz8zYjhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSGVhZDogbnVsbCxcbiAgICBOZXh0U2NyaXB0OiBudWxsLFxuICAgIEh0bWw6IG51bGwsXG4gICAgTWFpbjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZDtcbiAgICB9LFxuICAgIE5leHRTY3JpcHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNjcmlwdDtcbiAgICB9LFxuICAgIEh0bWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSHRtbDtcbiAgICB9LFxuICAgIE1haW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWFpbjtcbiAgICB9LFxuICAgIC8qKlxuICogYERvY3VtZW50YCBjb21wb25lbnQgaGFuZGxlcyB0aGUgaW5pdGlhbCBgZG9jdW1lbnRgIG1hcmt1cCBhbmQgcmVuZGVycyBvbmx5IG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqIENvbW1vbmx5IHVzZWQgZm9yIGltcGxlbWVudGluZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcgZm9yIGBjc3MtaW4tanNgIGxpYnJhcmllcy5cbiAqLyBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERvY3VtZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfZ2V0cGFnZWZpbGVzID0gcmVxdWlyZShcIi4uL3NlcnZlci9nZXQtcGFnZS1maWxlc1wiKTtcbmNvbnN0IF9odG1sZXNjYXBlID0gcmVxdWlyZShcIi4uL3NlcnZlci9odG1sZXNjYXBlXCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpKTtcbmNvbnN0IF9odG1sY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2h0bWwtY29udGV4dFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuLyoqIFNldCBvZiBwYWdlcyB0aGF0IGhhdmUgdHJpZ2dlcmVkIGEgbGFyZ2UgZGF0YSB3YXJuaW5nIG9uIHByb2R1Y3Rpb24gbW9kZS4gKi8gY29uc3QgbGFyZ2VQYWdlRGF0YVdhcm5pbmdzID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gZ2V0RG9jdW1lbnRGaWxlcyhidWlsZE1hbmlmZXN0LCBwYXRobmFtZSwgaW5BbXBNb2RlKSB7XG4gICAgY29uc3Qgc2hhcmVkRmlsZXMgPSAoMCwgX2dldHBhZ2VmaWxlcy5nZXRQYWdlRmlsZXMpKGJ1aWxkTWFuaWZlc3QsIFwiL19hcHBcIik7XG4gICAgY29uc3QgcGFnZUZpbGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBbXSA6ICgwLCBfZ2V0cGFnZWZpbGVzLmdldFBhZ2VGaWxlcykoYnVpbGRNYW5pZmVzdCwgcGF0aG5hbWUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNoYXJlZEZpbGVzLFxuICAgICAgICBwYWdlRmlsZXMsXG4gICAgICAgIGFsbEZpbGVzOiBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KFtcbiAgICAgICAgICAgICAgICAuLi5zaGFyZWRGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5wYWdlRmlsZXNcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF1cbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UG9seWZpbGxTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgLy8gcG9seWZpbGxzLmpzIGhhcyB0byBiZSByZW5kZXJlZCBhcyBub21vZHVsZSB3aXRob3V0IGFzeW5jXG4gICAgLy8gSXQgYWxzbyBoYXMgdG8gYmUgdGhlIGZpcnN0IHNjcmlwdCB0byBsb2FkXG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGJ1aWxkTWFuaWZlc3QgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcy5maWx0ZXIoKHBvbHlmaWxsKT0+cG9seWZpbGwuZW5kc1dpdGgoXCIuanNcIikgJiYgIXBvbHlmaWxsLmVuZHNXaXRoKFwiLm1vZHVsZS5qc1wiKSkubWFwKChwb2x5ZmlsbCk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBrZXk6IHBvbHlmaWxsLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgIG5vTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtwb2x5ZmlsbH0ke2Fzc2V0UXVlcnlTdHJpbmd9YFxuICAgICAgICB9KSk7XG59XG5mdW5jdGlvbiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkge1xuICAgIHJldHVybiAhIWNoaWxkICYmICEhY2hpbGQucHJvcHM7XG59XG5mdW5jdGlvbiBBbXBTdHlsZXMoeyBzdHlsZXMgIH0pIHtcbiAgICBpZiAoIXN0eWxlcykgcmV0dXJuIG51bGw7XG4gICAgLy8gdHJ5IHRvIHBhcnNlIHN0eWxlcyBmcm9tIGZyYWdtZW50IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgY29uc3QgY3VyU3R5bGVzID0gQXJyYXkuaXNBcnJheShzdHlsZXMpID8gc3R5bGVzIDogW107XG4gICAgaWYgKC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIHN0eWxlcy5wcm9wcyAmJiAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICBBcnJheS5pc0FycmF5KHN0eWxlcy5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgaGFzU3R5bGVzID0gKGVsKT0+e1xuICAgICAgICAgICAgdmFyIF9lbF9wcm9wcywgX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGVsID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzID0gZWwucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2VsX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgICAgIHN0eWxlcy5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkLmZvckVhY2goKGVsKT0+aGFzU3R5bGVzKGVsKSAmJiBjdXJTdHlsZXMucHVzaChlbCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTdHlsZXMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY3VyU3R5bGVzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyogQWRkIGN1c3RvbSBzdHlsZXMgYmVmb3JlIEFNUCBzdHlsZXMgdG8gcHJldmVudCBhY2NpZGVudGFsIG92ZXJyaWRlcyAqLyByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICBcImFtcC1jdXN0b21cIjogXCJcIixcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogY3VyU3R5bGVzLm1hcCgoc3R5bGUpPT5zdHlsZS5wcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpLmpvaW4oXCJcIikucmVwbGFjZSgvXFwvXFwqIyBzb3VyY2VNYXBwaW5nVVJMPS4qXFwqXFwvL2csIFwiXCIpLnJlcGxhY2UoL1xcL1xcKkAgc291cmNlVVJMPS4qP1xcKlxcLy9nLCBcIlwiKVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljQ2h1bmtzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGlzRGV2ZWxvcG1lbnQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLmpzXCIpIHx8IGZpbGVzLmFsbEZpbGVzLmluY2x1ZGVzKGZpbGUpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBhc3luYzogIWlzRGV2ZWxvcG1lbnQgJiYgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRTY3JpcHRzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIHZhciBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzO1xuICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBidWlsZE1hbmlmZXN0ICwgaXNEZXZlbG9wbWVudCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAsIGNyb3NzT3JpZ2luICB9ID0gY29udGV4dDtcbiAgICBjb25zdCBub3JtYWxTY3JpcHRzID0gZmlsZXMuYWxsRmlsZXMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgY29uc3QgbG93UHJpb3JpdHlTY3JpcHRzID0gKF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMgPSBidWlsZE1hbmlmZXN0Lmxvd1ByaW9yaXR5RmlsZXMpID09IG51bGwgPyB2b2lkIDAgOiBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuanNcIikpO1xuICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5vcm1hbFNjcmlwdHMsXG4gICAgICAgIC4uLmxvd1ByaW9yaXR5U2NyaXB0c1xuICAgIF0ubWFwKChmaWxlKT0+e1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFByZU5leHRXb3JrZXJTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIHNjcmlwdExvYWRlciAsIGNyb3NzT3JpZ2luICwgbmV4dFNjcmlwdFdvcmtlcnMgIH0gPSBjb250ZXh0O1xuICAgIC8vIGRpc2FibGUgYG5leHRTY3JpcHRXb3JrZXJzYCBpbiBlZGdlIHJ1bnRpbWVcbiAgICBpZiAoIW5leHRTY3JpcHRXb3JrZXJzIHx8IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHJldHVybiBudWxsO1xuICAgIHRyeSB7XG4gICAgICAgIGxldCB7IHBhcnR5dG93blNuaXBwZXQgIH0gPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcIkBidWlsZGVyLmlvL3BhcnR5dG93bi9pbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgXTtcbiAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSB1c2VyIGhhcyBkZWZpbmVkIHRoZWlyIG93biBQYXJ0eXRvd24gY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lZENvbmZpZyA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+e1xuICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcywgX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGhhc0NvbXBvbmVudFByb3BzKGNoaWxkKSAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfY2hpbGRfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sLmxlbmd0aCkgJiYgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIiBpbiBjaGlsZC5wcm9wcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsICF1c2VyRGVmaW5lZENvbmZpZyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgXG4gICAgICAgICAgICBwYXJ0eXRvd24gPSB7XG4gICAgICAgICAgICAgIGxpYjogXCIke2Fzc2V0UHJlZml4fS9fbmV4dC9zdGF0aWMvfnBhcnR5dG93bi9cIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93blwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IHBhcnR5dG93blNuaXBwZXQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgKHNjcmlwdExvYWRlci53b3JrZXIgfHwgW10pLm1hcCgoZmlsZSwgaW5kZXgpPT57XG4gICAgICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgc3JjICwgY2hpbGRyZW46IHNjcmlwdENoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBzcmNQcm9wcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNyYykge1xuICAgICAgICAgICAgICAgIC8vIFVzZSBleHRlcm5hbCBzcmMgaWYgcHJvdmlkZWRcbiAgICAgICAgICAgICAgICBzcmNQcm9wcy5zcmMgPSBzcmM7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgIC8vIEVtYmVkIGlubGluZSBzY3JpcHQgaWYgcHJvdmlkZWQgd2l0aCBkYW5nZXJvdXNseVNldElubmVySFRNTFxuICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgc3JjUHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSB7XG4gICAgICAgICAgICAgICAgICAgIF9faHRtbDogdHlwZW9mIHNjcmlwdENoaWxkcmVuID09PSBcInN0cmluZ1wiID8gc2NyaXB0Q2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KHNjcmlwdENoaWxkcmVuKSA/IHNjcmlwdENoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB1c2FnZSBvZiBuZXh0L3NjcmlwdC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBhIHNyYyBhdHRyaWJ1dGUgb3IgYW4gaW5saW5lIHNjcmlwdD8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1zY3JpcHRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zcmNQcm9wcyxcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRleHQvcGFydHl0b3duXCIsXG4gICAgICAgICAgICAgICAga2V5OiBzcmMgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwid29ya2VyXCIsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IHNjcmlwdExvYWRlciAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgY3Jvc3NPcmlnaW4gIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHdlYldvcmtlclNjcmlwdHMgPSBnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyhjb250ZXh0LCBwcm9wcyk7XG4gICAgY29uc3QgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzID0gKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkuZmlsdGVyKChzY3JpcHQpPT5zY3JpcHQuc3JjKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgICAgICBrZXk6IHNjcmlwdFByb3BzLnNyYyB8fCBpbmRleCxcbiAgICAgICAgICAgIGRlZmVyOiBzY3JpcHRQcm9wcy5kZWZlciA/PyAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcImJlZm9yZUludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgd2ViV29ya2VyU2NyaXB0cywgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzKTtcbn1cbmZ1bmN0aW9uIGdldEhlYWRIVE1MUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB7IGNyb3NzT3JpZ2luICwgbm9uY2UgLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIC8vIFRoaXMgYXNzaWdubWVudCBpcyBuZWNlc3NhcnkgZm9yIGFkZGl0aW9uYWwgdHlwZSBjaGVja2luZyB0byBhdm9pZCB1bnN1cHBvcnRlZCBhdHRyaWJ1dGVzIGluIDxoZWFkPlxuICAgIGNvbnN0IGhlYWRQcm9wcyA9IHJlc3RQcm9wcztcbiAgICByZXR1cm4gaGVhZFByb3BzO1xufVxuZnVuY3Rpb24gZ2V0QW1wUGF0aChhbXBQYXRoLCBhc1BhdGgpIHtcbiAgICByZXR1cm4gYW1wUGF0aCB8fCBgJHthc1BhdGh9JHthc1BhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIn1hbXA9MWA7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXggPSBcIlwiKSB7XG4gICAgaWYgKCFuZXh0Rm9udE1hbmlmZXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgICAgICAgICAgcHJlbG9hZDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tcIi9fYXBwXCJdO1xuICAgIGNvbnN0IHBhZ2VGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tkYW5nZXJvdXNBc1BhdGhdO1xuICAgIGNvbnN0IHByZWxvYWRlZEZvbnRGaWxlcyA9IFtcbiAgICAgICAgLi4uYXBwRm9udHNFbnRyeSA/PyBbXSxcbiAgICAgICAgLi4ucGFnZUZvbnRzRW50cnkgPz8gW11cbiAgICBdO1xuICAgIC8vIElmIG5vIGZvbnQgZmlsZXMgc2hvdWxkIHByZWxvYWQgYnV0IHRoZXJlJ3MgYW4gZW50cnkgZm9yIHRoZSBwYXRoLCBhZGQgYSBwcmVjb25uZWN0IHRhZy5cbiAgICBjb25zdCBwcmVjb25uZWN0VG9TZWxmID0gISEocHJlbG9hZGVkRm9udEZpbGVzLmxlbmd0aCA9PT0gMCAmJiAoYXBwRm9udHNFbnRyeSB8fCBwYWdlRm9udHNFbnRyeSkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWNvbm5lY3Q6IHByZWNvbm5lY3RUb1NlbGYgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWZvbnRcIjogbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1VzaW5nU2l6ZUFkanVzdCA/IFwic2l6ZS1hZGp1c3RcIiA6IFwiXCIsXG4gICAgICAgICAgICByZWw6IFwicHJlY29ubmVjdFwiLFxuICAgICAgICAgICAgaHJlZjogXCIvXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogXCJhbm9ueW1vdXNcIlxuICAgICAgICB9KSA6IG51bGwsXG4gICAgICAgIHByZWxvYWQ6IHByZWxvYWRlZEZvbnRGaWxlcyA/IHByZWxvYWRlZEZvbnRGaWxlcy5tYXAoKGZvbnRGaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gL1xcLih3b2ZmfHdvZmYyfGVvdHx0dGZ8b3RmKSQvLmV4ZWMoZm9udEZpbGUpWzFdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZm9udEZpbGUsXG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZm9udEZpbGUpfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IGBmb250LyR7ZXh0fWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCIsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBmb250RmlsZS5pbmNsdWRlcyhcIi1zXCIpID8gXCJzaXplLWFkanVzdFwiIDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pIDogbnVsbFxuICAgIH07XG59XG5jbGFzcyBIZWFkIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgI18gPSAoKCk9PntcbiAgICAgICAgdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dC5IdG1sQ29udGV4dDtcbiAgICB9KSgpO1xuICAgIGdldENzc0xpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgZHluYW1pY0ltcG9ydHMgLCBjcm9zc09yaWdpbiAsIG9wdGltaXplQ3NzICwgb3B0aW1pemVGb250cyAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGYpPT5mLmVuZHNXaXRoKFwiLmNzc1wiKSk7XG4gICAgICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gbmV3IFNldChmaWxlcy5zaGFyZWRGaWxlcyk7XG4gICAgICAgIC8vIFVubWFuYWdlZCBmaWxlcyBhcmUgQ1NTIGZpbGVzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZVxuICAgICAgICAvLyB3ZWJwYWNrIHJ1bnRpbWUgKGBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbmApLlxuICAgICAgICBsZXQgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoW10pO1xuICAgICAgICBsZXQgZHluYW1pY0Nzc0ZpbGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGR5bmFtaWNJbXBvcnRzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuY3NzXCIpKSkpO1xuICAgICAgICBpZiAoZHluYW1pY0Nzc0ZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgU2V0KGNzc0ZpbGVzKTtcbiAgICAgICAgICAgIGR5bmFtaWNDc3NGaWxlcyA9IGR5bmFtaWNDc3NGaWxlcy5maWx0ZXIoKGYpPT4hKGV4aXN0aW5nLmhhcyhmKSB8fCBzaGFyZWRGaWxlcy5oYXMoZikpKTtcbiAgICAgICAgICAgIHVubWFuZ2VkRmlsZXMgPSBuZXcgU2V0KGR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgICAgICBjc3NGaWxlcy5wdXNoKC4uLmR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNzc0xpbmtFbGVtZW50cyA9IFtdO1xuICAgICAgICBjc3NGaWxlcy5mb3JFYWNoKChmaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgaXNTaGFyZWRGaWxlID0gc2hhcmVkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgaWYgKCFvcHRpbWl6ZUNzcykge1xuICAgICAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGAke2ZpbGV9LXByZWxvYWRgLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzVW5tYW5hZ2VkRmlsZSA9IHVubWFuZ2VkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzLnB1c2goLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIHJlbDogXCJzdHlsZXNoZWV0XCIsXG4gICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uLWdcIjogaXNVbm1hbmFnZWRGaWxlID8gdW5kZWZpbmVkIDogaXNTaGFyZWRGaWxlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBcImRhdGEtbi1wXCI6IGlzVW5tYW5hZ2VkRmlsZSA/IHVuZGVmaW5lZCA6IGlzU2hhcmVkRmlsZSA/IHVuZGVmaW5lZCA6IFwiXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIG9wdGltaXplRm9udHMpIHtcbiAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cyA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjc3NMaW5rRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjc3NMaW5rRWxlbWVudHMubGVuZ3RoID09PSAwID8gbnVsbCA6IGNzc0xpbmtFbGVtZW50cztcbiAgICB9XG4gICAgZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLy8gRmlsdGVyIG91dCBudWxsZWQgc2NyaXB0c1xuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgc2NyaXB0TG9hZGVyICwgY3Jvc3NPcmlnaW4gIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHByZWxvYWRGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PntcbiAgICAgICAgICAgIHJldHVybiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUuc3JjLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogZmlsZS5zcmMsXG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLnByZWxvYWRGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCB7IHNjcmlwdExvYWRlciAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgeyBub25jZSAsIGNyb3NzT3JpZ2luICB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+IXNjcmlwdC5zcmMgJiYgKHNjcmlwdC5kYW5nZXJvdXNseVNldElubmVySFRNTCB8fCBzY3JpcHQuY2hpbGRyZW4pKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgY29uc3QgeyBzdHJhdGVneSAsIGNoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCBzcmMgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBodG1sID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCAmJiBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpIHtcbiAgICAgICAgICAgICAgICBodG1sID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGh0bWwgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuaWQgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IG5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4gfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBtYWtlU3R5bGVzaGVldEluZXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChub2RlLCAoYyk9PntcbiAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHMxO1xuICAgICAgICAgICAgaWYgKChjID09IG51bGwgPyB2b2lkIDAgOiBjLnR5cGUpID09PSBcImxpbmtcIiAmJiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzLmhyZWYpICYmIF9jb25zdGFudHMuT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTLnNvbWUoKHsgdXJsICB9KT0+e1xuICAgICAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHNfaHJlZjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wc19ocmVmID0gX2NfcHJvcHMuaHJlZikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzX2hyZWYuc3RhcnRzV2l0aCh1cmwpO1xuICAgICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWhyZWZcIjogYy5wcm9wcy5ocmVmLFxuICAgICAgICAgICAgICAgICAgICBocmVmOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wczEgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHMxLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoYy5wcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgLy8gQHR5cGVzL3JlYWN0IGJ1Zy4gUmV0dXJuZWQgdmFsdWUgZnJvbSAubWFwIHdpbGwgbm90IGJlIGBudWxsYCBpZiB5b3UgcGFzcyBpbiBgW251bGxdYFxuICAgICAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdHlsZXMgLCBhbXBQYXRoICwgaW5BbXBNb2RlICwgaHlicmlkQW1wICwgY2Fub25pY2FsQmFzZSAsIF9fTkVYVF9EQVRBX18gLCBkYW5nZXJvdXNBc1BhdGggLCBoZWFkVGFncyAsIHVuc3RhYmxlX3J1bnRpbWVKUyAsIHVuc3RhYmxlX0pzUHJlbG9hZCAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgb3B0aW1pemVDc3MgLCBvcHRpbWl6ZUZvbnRzICwgYXNzZXRQcmVmaXggLCBuZXh0Rm9udE1hbmlmZXN0ICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBkaXNhYmxlUnVudGltZUpTID0gdW5zdGFibGVfcnVudGltZUpTID09PSBmYWxzZTtcbiAgICAgICAgY29uc3QgZGlzYWJsZUpzUHJlbG9hZCA9IHVuc3RhYmxlX0pzUHJlbG9hZCA9PT0gZmFsc2UgfHwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nO1xuICAgICAgICB0aGlzLmNvbnRleHQuZG9jQ29tcG9uZW50c1JlbmRlcmVkLkhlYWQgPSB0cnVlO1xuICAgICAgICBsZXQgeyBoZWFkICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBsZXQgY3NzUHJlbG9hZHMgPSBbXTtcbiAgICAgICAgbGV0IG90aGVySGVhZEVsZW1lbnRzID0gW107XG4gICAgICAgIGlmIChoZWFkKSB7XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGMpPT57XG4gICAgICAgICAgICAgICAgbGV0IG1ldGFUYWc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhVGFnID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxXCJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjICYmIGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJwcmVsb2FkXCIgJiYgYy5wcm9wc1tcImFzXCJdID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyAmJiBjc3NQcmVsb2Fkcy5wdXNoKG1ldGFUYWcpO1xuICAgICAgICAgICAgICAgICAgICBjc3NQcmVsb2Fkcy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVRhZyAmJiAoYy50eXBlICE9PSBcIm1ldGFcIiB8fCAhYy5wcm9wc1tcImNoYXJTZXRcIl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJIZWFkRWxlbWVudHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGhlYWQgPSBjc3NQcmVsb2Fkcy5jb25jYXQob3RoZXJIZWFkRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodGhpcy5wcm9wcy5jaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAvLyBzaG93IGEgd2FybmluZyBpZiBIZWFkIGNvbnRhaW5zIDx0aXRsZT4gKG9ubHkgaW4gZGV2ZWxvcG1lbnQpXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgICAgICBjb25zdCBpc1JlYWN0SGVsbWV0ID0gY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF9wcm9wc1tcImRhdGEtcmVhY3QtaGVsbWV0XCJdO1xuICAgICAgICAgICAgICAgIGlmICghaXNSZWFjdEhlbG1ldCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2NoaWxkX3Byb3BzMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjaGlsZCA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQudHlwZSkgPT09IFwidGl0bGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiV2FybmluZzogPHRpdGxlPiBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC10aXRsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcIm1ldGFcIiAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMxID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHMxLm5hbWUpID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHZpZXdwb3J0IG1ldGEgdGFncyBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC12aWV3cG9ydC1tZXRhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBIZWFkYCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzICYmICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhc0FtcGh0bWxSZWwgPSBmYWxzZTtcbiAgICAgICAgbGV0IGhhc0Nhbm9uaWNhbFJlbCA9IGZhbHNlO1xuICAgICAgICAvLyBzaG93IHdhcm5pbmcgYW5kIHJlbW92ZSBjb25mbGljdGluZyBhbXAgaGVhZCB0YWdzXG4gICAgICAgIGhlYWQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5tYXAoaGVhZCB8fCBbXSwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKCFjaGlsZCkgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlICwgcHJvcHMgIH0gPSBjaGlsZDtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSkge1xuICAgICAgICAgICAgICAgIGxldCBiYWRQcm9wID0gXCJcIjtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJtZXRhXCIgJiYgcHJvcHMubmFtZSA9PT0gXCJ2aWV3cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSAnbmFtZT1cInZpZXdwb3J0XCInO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImNhbm9uaWNhbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Nhbm9uaWNhbFJlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcInNjcmlwdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYmxvY2sgaWZcbiAgICAgICAgICAgICAgICAgICAgLy8gMS4gaXQgaGFzIGEgc3JjIGFuZCBpc24ndCBwb2ludGluZyB0byBhbXBwcm9qZWN0J3MgQ0ROXG4gICAgICAgICAgICAgICAgICAgIC8vIDIuIGl0IGlzIHVzaW5nIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHdpdGhvdXQgYSB0eXBlIG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgdHlwZSBvZiB0ZXh0L2phdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLnNyYyAmJiBwcm9wcy5zcmMuaW5kZXhPZihcImFtcHByb2plY3RcIikgPCAtMSB8fCBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAmJiAoIXByb3BzLnR5cGUgfHwgcHJvcHMudHlwZSA9PT0gXCJ0ZXh0L2phdmFzY3JpcHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSBcIjxzY3JpcHRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKChwcm9wKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gYCAke3Byb3B9PVwiJHtwcm9wc1twcm9wXX1cImA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gXCIvPlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChiYWRQcm9wKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRm91bmQgY29uZmxpY3RpbmcgYW1wIHRhZyBcIiR7Y2hpbGQudHlwZX1cIiB3aXRoIGNvbmZsaWN0aW5nIHByb3AgJHtiYWRQcm9wfSBpbiAke19fTkVYVF9EQVRBX18ucGFnZX0uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NvbmZsaWN0aW5nLWFtcC10YWdgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBub24tYW1wIG1vZGVcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImFtcGh0bWxcIikge1xuICAgICAgICAgICAgICAgICAgICBoYXNBbXBodG1sUmVsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICBjb25zdCBuZXh0Rm9udExpbmtUYWdzID0gZ2V0TmV4dEZvbnRMaW5rVGFncyhuZXh0Rm9udE1hbmlmZXN0LCBkYW5nZXJvdXNBc1BhdGgsIGFzc2V0UHJlZml4KTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImhlYWRcIiwgZ2V0SGVhZEhUTUxQcm9wcyh0aGlzLnByb3BzKSwgdGhpcy5jb250ZXh0LmlzRGV2ZWxvcG1lbnQgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dC1oaWRlLWZvdWNcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBcInRydWVcIiA6IHVuZGVmaW5lZFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpibG9ja31gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKSksIGhlYWQsIHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1oZWFkLWNvdW50XCIsXG4gICAgICAgICAgICBjb250ZW50OiBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5jb3VudChoZWFkIHx8IFtdKS50b1N0cmluZygpXG4gICAgICAgIH0pLCBjaGlsZHJlbiwgb3B0aW1pemVGb250cyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1mb250LXByZWNvbm5lY3RcIlxuICAgICAgICB9KSwgbmV4dEZvbnRMaW5rVGFncy5wcmVjb25uZWN0LCBuZXh0Rm9udExpbmtUYWdzLnByZWxvYWQsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCxtaW5pbXVtLXNjYWxlPTEsaW5pdGlhbC1zY2FsZT0xXCJcbiAgICAgICAgfSksICFoYXNDYW5vbmljYWxSZWwgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwiY2Fub25pY2FsXCIsXG4gICAgICAgICAgICBocmVmOiBjYW5vbmljYWxCYXNlICsgcmVxdWlyZShcIi4uL3NlcnZlci91dGlsc1wiKS5jbGVhbkFtcFBhdGgoZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChBbXBTdHlsZXMsIHtcbiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImFtcC1ib2lsZXJwbGF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1vei1hbmltYXRpb246LWFtcC1zdGFydCA4cyBzdGVwcygxLGVuZCkgMHMgMSBub3JtYWwgYm90aDstbXMtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7YW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUAtbW96LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1zLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW8ta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUBrZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19YFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibm9zY3JpcHRcIiwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXstd2Via2l0LWFuaW1hdGlvbjpub25lOy1tb3otYW5pbWF0aW9uOm5vbmU7LW1zLWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICBzcmM6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICB9KSksICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgIWhhc0FtcGh0bWxSZWwgJiYgaHlicmlkQW1wICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgcmVsOiBcImFtcGh0bWxcIixcbiAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyBnZXRBbXBQYXRoKGFtcFBhdGgsIGRhbmdlcm91c0FzUGF0aClcbiAgICAgICAgfSksIHRoaXMuZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCksICFvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSwgIW9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksICFkaXNhYmxlUnVudGltZUpTICYmICFkaXNhYmxlSnNQcmVsb2FkICYmIHRoaXMuZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSwgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFByZU5leHRTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLCAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSwgb3B0aW1pemVDc3MgJiYgdGhpcy5nZXRDc3NMaW5rcyhmaWxlcyksIG9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8vIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIG1vdW50IGRldmVsb3BtZW50IHN0eWxlcyBzbyB0aGVcbiAgICAgICAgLy8gb3JkZXJpbmcgbWF0Y2hlcyBwcm9kdWN0aW9uXG4gICAgICAgIC8vIChieSBkZWZhdWx0LCBzdHlsZS1sb2FkZXIgaW5qZWN0cyBhdCB0aGUgYm90dG9tIG9mIDxoZWFkIC8+KVxuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICBpZDogXCJfX25leHRfY3NzX19ET19OT1RfVVNFX19cIlxuICAgICAgICB9KSwgc3R5bGVzIHx8IG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHt9LCAuLi5oZWFkVGFncyB8fCBbXSkpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcykge1xuICAgIHZhciBfY2hpbGRyZW5fZmluZCwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMsIF9jaGlsZHJlbl9maW5kMSwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMxO1xuICAgIGlmICghcHJvcHMuY2hpbGRyZW4pIHJldHVybjtcbiAgICBjb25zdCBzY3JpcHRMb2FkZXJJdGVtcyA9IFtdO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICBdO1xuICAgIGNvbnN0IGhlYWRDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZCA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gSGVhZCkpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkcmVuX2ZpbmRfcHJvcHMgPSBfY2hpbGRyZW5fZmluZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZDEgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PmNoaWxkLnR5cGUgPT09IFwiYm9keVwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wczEgPSBfY2hpbGRyZW5fZmluZDEucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRyZW5fZmluZF9wcm9wczEuY2hpbGRyZW47XG4gICAgLy8gU2NyaXB0cyB3aXRoIGJlZm9yZUludGVyYWN0aXZlIGNhbiBiZSBwbGFjZWQgaW5zaWRlIEhlYWQgb3IgPGJvZHk+IHNvIGNoaWxkcmVuIG9mIGJvdGggbmVlZHMgdG8gYmUgdHJhdmVyc2VkXG4gICAgY29uc3QgY29tYmluZWRDaGlsZHJlbiA9IFtcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShoZWFkQ2hpbGRyZW4pID8gaGVhZENoaWxkcmVuIDogW1xuICAgICAgICAgICAgaGVhZENoaWxkcmVuXG4gICAgICAgIF0sXG4gICAgICAgIC4uLkFycmF5LmlzQXJyYXkoYm9keUNoaWxkcmVuKSA/IGJvZHlDaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIGJvZHlDaGlsZHJlblxuICAgICAgICBdXG4gICAgXTtcbiAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5mb3JFYWNoKGNvbWJpbmVkQ2hpbGRyZW4sIChjaGlsZCk9PntcbiAgICAgICAgdmFyIF9jaGlsZF90eXBlO1xuICAgICAgICBpZiAoIWNoaWxkKSByZXR1cm47XG4gICAgICAgIC8vIFdoZW4gdXNpbmcgdGhlIGBuZXh0L3NjcmlwdGAgY29tcG9uZW50LCByZWdpc3RlciBpdCBpbiBzY3JpcHQgbG9hZGVyLlxuICAgICAgICBpZiAoKF9jaGlsZF90eXBlID0gY2hpbGQudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF90eXBlLl9fbmV4dFNjcmlwdCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLnByb3BzLnN0cmF0ZWd5ID09PSBcImJlZm9yZUludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgPSAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChbXG4gICAgICAgICAgICAgICAgXCJsYXp5T25sb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJhZnRlckludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJ3b3JrZXJcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcyhjaGlsZC5wcm9wcy5zdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXJJdGVtcy5wdXNoKGNoaWxkLnByb3BzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBfX05FWFRfREFUQV9fLnNjcmlwdExvYWRlciA9IHNjcmlwdExvYWRlckl0ZW1zO1xufVxuY2xhc3MgTmV4dFNjcmlwdCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gKCgpPT57XG4gICAgICAgIHRoaXMuY29udGV4dFR5cGUgPSBfaHRtbGNvbnRleHQuSHRtbENvbnRleHQ7XG4gICAgfSkoKTtcbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0SW5saW5lU2NyaXB0U291cmNlKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBfX05FWFRfREFUQV9fICwgbGFyZ2VQYWdlRGF0YUJ5dGVzICB9ID0gY29udGV4dDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShfX05FWFRfREFUQV9fKTtcbiAgICAgICAgICAgIGlmIChsYXJnZVBhZ2VEYXRhV2FybmluZ3MuaGFzKF9fTkVYVF9EQVRBX18ucGFnZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShkYXRhKS5idWZmZXIuYnl0ZUxlbmd0aCA6IEJ1ZmZlci5mcm9tKGRhdGEpLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBwcmV0dHlCeXRlcyA9IHJlcXVpcmUoXCIuLi9saWIvcHJldHR5LWJ5dGVzXCIpLmRlZmF1bHQ7XG4gICAgICAgICAgICBpZiAobGFyZ2VQYWdlRGF0YUJ5dGVzICYmIGJ5dGVzID4gbGFyZ2VQYWdlRGF0YUJ5dGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZVBhZ2VEYXRhV2FybmluZ3MuYWRkKF9fTkVYVF9EQVRBX18ucGFnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogZGF0YSBmb3IgcGFnZSBcIiR7X19ORVhUX0RBVEFfXy5wYWdlfVwiJHtfX05FWFRfREFUQV9fLnBhZ2UgPT09IGNvbnRleHQuZGFuZ2Vyb3VzQXNQYXRoID8gXCJcIiA6IGAgKHBhdGggXCIke2NvbnRleHQuZGFuZ2Vyb3VzQXNQYXRofVwiKWB9IGlzICR7cHJldHR5Qnl0ZXMoYnl0ZXMpfSB3aGljaCBleGNlZWRzIHRoZSB0aHJlc2hvbGQgb2YgJHtwcmV0dHlCeXRlcyhsYXJnZVBhZ2VEYXRhQnl0ZXMpfSwgdGhpcyBhbW91bnQgb2YgZGF0YSBjYW4gcmVkdWNlIHBlcmZvcm1hbmNlLlxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGFyZ2UtcGFnZS1kYXRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZihcImNpcmN1bGFyIHN0cnVjdHVyZVwiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENpcmN1bGFyIHN0cnVjdHVyZSBpbiBcImdldEluaXRpYWxQcm9wc1wiIHJlc3VsdCBvZiBwYWdlIFwiJHtfX05FWFRfREFUQV9fLnBhZ2V9XCIuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NpcmN1bGFyLXN0cnVjdHVyZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGluQW1wTW9kZSAsIGJ1aWxkTWFuaWZlc3QgLCB1bnN0YWJsZV9ydW50aW1lSlMgLCBkb2NDb21wb25lbnRzUmVuZGVyZWQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5OZXh0U2NyaXB0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbXBEZXZGaWxlcyA9IFtcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmRldkZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmFtcERldkZpbGVzXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHRydWVcbiAgICAgICAgICAgIH0pLCBhbXBEZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZmlsZX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jcm9zc09yaWdpbikgY29uc29sZS53YXJuKFwiV2FybmluZzogYE5leHRTY3JpcHRgIGF0dHJpYnV0ZSBgY3Jvc3NPcmlnaW5gIGlzIGRlcHJlY2F0ZWQuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2RvYy1jcm9zc29yaWdpbi1kZXByZWNhdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAhZGlzYWJsZVJ1bnRpbWVKUyAmJiBidWlsZE1hbmlmZXN0LmRldkZpbGVzID8gYnVpbGRNYW5pZmVzdC5kZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSkpIDogbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXREeW5hbWljQ2h1bmtzKGZpbGVzKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gSHRtbChwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlICwgZG9jQ29tcG9uZW50c1JlbmRlcmVkICwgbG9jYWxlICwgc2NyaXB0TG9hZGVyICwgX19ORVhUX0RBVEFfXyAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLkh0bWwgPSB0cnVlO1xuICAgIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcyk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImh0bWxcIiwge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbGFuZzogcHJvcHMubGFuZyB8fCBsb2NhbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhbXA6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IHVuZGVmaW5lZFxuICAgIH0pO1xufVxuZnVuY3Rpb24gTWFpbigpIHtcbiAgICBjb25zdCB7IGRvY0NvbXBvbmVudHNSZW5kZXJlZCAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk1haW4gPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmV4dC1qcy1pbnRlcm5hbC1ib2R5LXJlbmRlci10YXJnZXRcIiwgbnVsbCk7XG59XG5jbGFzcyBEb2N1bWVudCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAqIGBnZXRJbml0aWFsUHJvcHNgIGhvb2sgcmV0dXJucyB0aGUgY29udGV4dCBvYmplY3Qgd2l0aCB0aGUgYWRkaXRpb24gb2YgYHJlbmRlclBhZ2VgLlxuICAgKiBgcmVuZGVyUGFnZWAgY2FsbGJhY2sgZXhlY3V0ZXMgYFJlYWN0YCByZW5kZXJpbmcgbG9naWMgc3luY2hyb25vdXNseSB0byBzdXBwb3J0IHNlcnZlci1yZW5kZXJpbmcgd3JhcHBlcnNcbiAgICovIHN0YXRpYyBnZXRJbml0aWFsUHJvcHMoY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHguZGVmYXVsdEdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG4gICAgfVxufVxuLy8gQWRkIGEgc3BlY2lhbCBwcm9wZXJ0eSB0byB0aGUgYnVpbHQtaW4gYERvY3VtZW50YCBjb21wb25lbnQgc28gbGF0ZXIgd2UgY2FuXG4vLyBpZGVudGlmeSBpZiBhIHVzZXIgY3VzdG9taXplZCBgRG9jdW1lbnRgIGlzIHVzZWQgb3Igbm90LlxuY29uc3QgSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50ID0gZnVuY3Rpb24gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50KCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG59O1xuRG9jdW1lbnRbX2NvbnN0YW50cy5ORVhUX0JVSUxUSU5fRE9DVU1FTlRdID0gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZG9jdW1lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSGVhZCIsIk5leHRTY3JpcHQiLCJIdG1sIiwiTWFpbiIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEb2N1bWVudCIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2dldHBhZ2VmaWxlcyIsIl9odG1sZXNjYXBlIiwiX2lzZXJyb3IiLCJfaHRtbGNvbnRleHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwibGFyZ2VQYWdlRGF0YVdhcm5pbmdzIiwiU2V0IiwiZ2V0RG9jdW1lbnRGaWxlcyIsImJ1aWxkTWFuaWZlc3QiLCJwYXRobmFtZSIsImluQW1wTW9kZSIsInNoYXJlZEZpbGVzIiwiZ2V0UGFnZUZpbGVzIiwicGFnZUZpbGVzIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImFsbEZpbGVzIiwiZ2V0UG9seWZpbGxTY3JpcHRzIiwiY29udGV4dCIsInByb3BzIiwiYXNzZXRQcmVmaXgiLCJhc3NldFF1ZXJ5U3RyaW5nIiwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciLCJjcm9zc09yaWdpbiIsInBvbHlmaWxsRmlsZXMiLCJmaWx0ZXIiLCJwb2x5ZmlsbCIsImVuZHNXaXRoIiwibWFwIiwiY3JlYXRlRWxlbWVudCIsImtleSIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImhhc0NvbXBvbmVudFByb3BzIiwiY2hpbGQiLCJBbXBTdHlsZXMiLCJzdHlsZXMiLCJjdXJTdHlsZXMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZHJlbiIsImhhc1N0eWxlcyIsImVsIiwiX2VsX3Byb3BzIiwiX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJmb3JFYWNoIiwicHVzaCIsInN0eWxlIiwiam9pbiIsInJlcGxhY2UiLCJnZXREeW5hbWljQ2h1bmtzIiwiZmlsZXMiLCJkeW5hbWljSW1wb3J0cyIsImlzRGV2ZWxvcG1lbnQiLCJmaWxlIiwiaW5jbHVkZXMiLCJhc3luYyIsImVuY29kZVVSSSIsImdldFNjcmlwdHMiLCJfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzIiwibm9ybWFsU2NyaXB0cyIsImxvd1ByaW9yaXR5U2NyaXB0cyIsImxvd1ByaW9yaXR5RmlsZXMiLCJnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyIsInNjcmlwdExvYWRlciIsIm5leHRTY3JpcHRXb3JrZXJzIiwicGFydHl0b3duU25pcHBldCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwidXNlckRlZmluZWRDb25maWciLCJmaW5kIiwiX2NoaWxkX3Byb3BzIiwiX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwibGVuZ3RoIiwiRnJhZ21lbnQiLCJ3b3JrZXIiLCJpbmRleCIsInN0cmF0ZWd5Iiwic2NyaXB0Q2hpbGRyZW4iLCJzY3JpcHRQcm9wcyIsInNyY1Byb3BzIiwiRXJyb3IiLCJ0eXBlIiwiZXJyIiwiY29kZSIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImdldFByZU5leHRTY3JpcHRzIiwid2ViV29ya2VyU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlIiwic2NyaXB0IiwiZ2V0SGVhZEhUTUxQcm9wcyIsInJlc3RQcm9wcyIsImhlYWRQcm9wcyIsImdldEFtcFBhdGgiLCJhbXBQYXRoIiwiYXNQYXRoIiwiZ2V0TmV4dEZvbnRMaW5rVGFncyIsIm5leHRGb250TWFuaWZlc3QiLCJkYW5nZXJvdXNBc1BhdGgiLCJwcmVjb25uZWN0IiwicHJlbG9hZCIsImFwcEZvbnRzRW50cnkiLCJwYWdlcyIsInBhZ2VGb250c0VudHJ5IiwicHJlbG9hZGVkRm9udEZpbGVzIiwicHJlY29ubmVjdFRvU2VsZiIsInBhZ2VzVXNpbmdTaXplQWRqdXN0IiwicmVsIiwiaHJlZiIsImZvbnRGaWxlIiwiZXh0IiwiZXhlYyIsImFzIiwiQ29tcG9uZW50IiwiXyIsImNvbnRleHRUeXBlIiwiSHRtbENvbnRleHQiLCJnZXRDc3NMaW5rcyIsIm9wdGltaXplQ3NzIiwib3B0aW1pemVGb250cyIsImNzc0ZpbGVzIiwiZiIsInVubWFuZ2VkRmlsZXMiLCJkeW5hbWljQ3NzRmlsZXMiLCJmcm9tIiwiZXhpc3RpbmciLCJoYXMiLCJjc3NMaW5rRWxlbWVudHMiLCJpc1NoYXJlZEZpbGUiLCJpc1VubWFuYWdlZEZpbGUiLCJ1bmRlZmluZWQiLCJtYWtlU3R5bGVzaGVldEluZXJ0IiwiZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MiLCJCb29sZWFuIiwiZ2V0UHJlbG9hZE1haW5MaW5rcyIsInByZWxvYWRGaWxlcyIsImdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cyIsImh0bWwiLCJpZCIsIl9fTkVYVF9DUk9TU19PUklHSU4iLCJub2RlIiwiQ2hpbGRyZW4iLCJjIiwiX2NfcHJvcHMiLCJfY19wcm9wczEiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJzb21lIiwidXJsIiwiX2NfcHJvcHNfaHJlZiIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsImNsb25lRWxlbWVudCIsInJlbmRlciIsImh5YnJpZEFtcCIsImNhbm9uaWNhbEJhc2UiLCJfX05FWFRfREFUQV9fIiwiaGVhZFRhZ3MiLCJ1bnN0YWJsZV9ydW50aW1lSlMiLCJ1bnN0YWJsZV9Kc1ByZWxvYWQiLCJkaXNhYmxlUnVudGltZUpTIiwiZGlzYWJsZUpzUHJlbG9hZCIsImRvY0NvbXBvbmVudHNSZW5kZXJlZCIsImhlYWQiLCJjc3NQcmVsb2FkcyIsIm90aGVySGVhZEVsZW1lbnRzIiwibWV0YVRhZyIsInN0cmljdE5leHRIZWFkIiwiY29udGVudCIsImNvbmNhdCIsInRvQXJyYXkiLCJpc1JlYWN0SGVsbWV0IiwiX2NoaWxkX3Byb3BzMSIsImhhc0FtcGh0bWxSZWwiLCJoYXNDYW5vbmljYWxSZWwiLCJiYWRQcm9wIiwiaW5kZXhPZiIsImtleXMiLCJwcm9wIiwicGFnZSIsIm5leHRGb250TGlua1RhZ3MiLCJjb3VudCIsInRvU3RyaW5nIiwiY2xlYW5BbXBQYXRoIiwiaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyIsIl9jaGlsZHJlbl9maW5kIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMiLCJfY2hpbGRyZW5fZmluZDEiLCJfY2hpbGRyZW5fZmluZF9wcm9wczEiLCJzY3JpcHRMb2FkZXJJdGVtcyIsImhlYWRDaGlsZHJlbiIsImJvZHlDaGlsZHJlbiIsImNvbWJpbmVkQ2hpbGRyZW4iLCJfY2hpbGRfdHlwZSIsIl9fbmV4dFNjcmlwdCIsImdldElubGluZVNjcmlwdFNvdXJjZSIsImxhcmdlUGFnZURhdGFCeXRlcyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiaHRtbEVzY2FwZUpzb25TdHJpbmciLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiYnVmZmVyIiwiYnl0ZUxlbmd0aCIsIkJ1ZmZlciIsInByZXR0eUJ5dGVzIiwiYWRkIiwiYW1wRGV2RmlsZXMiLCJkZXZGaWxlcyIsImxvY2FsZSIsInVzZUh0bWxDb250ZXh0IiwibGFuZyIsImFtcCIsImdldEluaXRpYWxQcm9wcyIsImN0eCIsImRlZmF1bHRHZXRJbml0aWFsUHJvcHMiLCJJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/pages/_error.js ***! - \************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.error\n }, /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"title\", null, statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\")), /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.desc\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }), statusCode ? /*#__PURE__*/ _react.default.createElement(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1\n }, statusCode) : null, /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.wrap\n }, /*#__PURE__*/ _react.default.createElement(\"h2\", {\n style: styles.h2\n }, this.props.title || statusCode ? title : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, \"Application error: a client-side exception has occurred (see the browser console for more information)\"), \".\"))));\n }\n}\n(()=>{\n Error.displayName = \"ErrorPage\";\n})();\n(()=>{\n Error.getInitialProps = _getInitialProps;\n})();\n(()=>{\n Error.origGetInitialProps = _getInitialProps;\n})();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw2R0FBeUM7QUFDbEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyxvQkFBTztBQUN2RSxNQUFNRyxRQUFRLFdBQVcsR0FBR0oseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHVFQUFvQjtBQUNuRixNQUFNSSxjQUFjO0lBQ2hCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFDVDtBQUNBLFNBQVNDLGlCQUFpQkMsS0FBSztJQUMzQixJQUFJLEVBQUVDLEdBQUcsRUFBR0MsR0FBRyxFQUFHLEdBQUdGO0lBQ3JCLE1BQU1HLGFBQWFGLE9BQU9BLElBQUlFLFVBQVUsR0FBR0YsSUFBSUUsVUFBVSxHQUFHRCxNQUFNQSxJQUFJQyxVQUFVLEdBQUc7SUFDbkYsT0FBTztRQUNIQTtJQUNKO0FBQ0o7QUFDQSxNQUFNQyxTQUFTO0lBQ1hDLE9BQU87UUFDSCwwRkFBMEY7UUFDMUZDLFlBQVk7UUFDWkMsUUFBUTtRQUNSQyxXQUFXO1FBQ1hDLFNBQVM7UUFDVEMsZUFBZTtRQUNmQyxZQUFZO1FBQ1pDLGdCQUFnQjtJQUNwQjtJQUNBQyxNQUFNO1FBQ0ZDLFlBQVk7SUFDaEI7SUFDQUMsSUFBSTtRQUNBTixTQUFTO1FBQ1RPLFFBQVE7UUFDUkMsY0FBYztRQUNkQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsZUFBZTtJQUNuQjtJQUNBQyxJQUFJO1FBQ0FILFVBQVU7UUFDVkMsWUFBWTtRQUNaTCxZQUFZO0lBQ2hCO0lBQ0FRLE1BQU07UUFDRmIsU0FBUztJQUNiO0FBQ0o7QUFDQSxNQUFNakIsY0FBY0csT0FBTzRCLE9BQU8sQ0FBQ0MsU0FBUztJQUN4Q0MsU0FBUztRQUNMLE1BQU0sRUFBRXRCLFVBQVUsRUFBR3VCLGVBQWMsSUFBSSxFQUFHLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ3ZELE1BQU1DLFFBQVEsSUFBSSxDQUFDRCxLQUFLLENBQUNDLEtBQUssSUFBSTlCLFdBQVcsQ0FBQ0ssV0FBVyxJQUFJO1FBQzdELE9BQU8sV0FBVyxHQUFHUixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsT0FBTztZQUNyREMsT0FBTzFCLE9BQU9DLEtBQUs7UUFDdkIsR0FBRyxXQUFXLEdBQUdWLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQ2hDLE1BQU0wQixPQUFPLEVBQUUsTUFBTSxXQUFXLEdBQUc1QixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsU0FBUyxNQUFNMUIsYUFBYUEsYUFBYSxPQUFPeUIsUUFBUSw2REFBNkQsV0FBVyxHQUFHakMsT0FBTzRCLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLE9BQU87WUFDalJDLE9BQU8xQixPQUFPUyxJQUFJO1FBQ3RCLEdBQUcsV0FBVyxHQUFHbEIsT0FBTzRCLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLFNBQVM7WUFDbkRFLHlCQUF5QjtnQkFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQkQsR0FBR0MsUUFBUSxtR0FBb0dOLENBQUFBLGVBQWUsb0lBQW9JLEVBQUM7WUFDdFE7UUFDSixJQUFJdkIsYUFBYSxXQUFXLEdBQUdSLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQyxNQUFNO1lBQzlESSxXQUFXO1lBQ1hILE9BQU8xQixPQUFPVyxFQUFFO1FBQ3BCLEdBQUdaLGNBQWMsTUFBTSxXQUFXLEdBQUdSLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQyxPQUFPO1lBQ3JFQyxPQUFPMUIsT0FBT2tCLElBQUk7UUFDdEIsR0FBRyxXQUFXLEdBQUczQixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsTUFBTTtZQUNoREMsT0FBTzFCLE9BQU9pQixFQUFFO1FBQ3BCLEdBQUcsSUFBSSxDQUFDTSxLQUFLLENBQUNDLEtBQUssSUFBSXpCLGFBQWF5QixRQUFRLFdBQVcsR0FBR2pDLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQ2xDLE9BQU80QixPQUFPLENBQUNXLFFBQVEsRUFBRSxNQUFNLDJHQUEyRztJQUNyTztBQUNKO0FBQ0M7SUFDRzFDLE1BQU0yQyxXQUFXLEdBQUc7QUFDeEI7QUFDQztJQUNHM0MsTUFBTTRDLGVBQWUsR0FBR3JDO0FBQzVCO0FBQ0M7SUFDR1AsTUFBTTZDLG1CQUFtQixHQUFHdEM7QUFDaEM7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUW1DLE9BQU8sS0FBSyxjQUFlLE9BQU9uQyxRQUFRbUMsT0FBTyxLQUFLLFlBQVluQyxRQUFRbUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbkMsUUFBUW1DLE9BQU8sQ0FBQ2UsVUFBVSxLQUFLLGFBQWE7SUFDcktwRCxPQUFPQyxjQUFjLENBQUNDLFFBQVFtQyxPQUFPLEVBQUUsY0FBYztRQUFFbEMsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUQsTUFBTSxDQUFDbkQsUUFBUW1DLE9BQU8sRUFBRW5DO0lBQy9Cb0QsT0FBT3BELE9BQU8sR0FBR0EsUUFBUW1DLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcz8xOGYyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2hlYWQgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2hlYWRcIikpO1xuY29uc3Qgc3RhdHVzQ29kZXMgPSB7XG4gICAgNDAwOiBcIkJhZCBSZXF1ZXN0XCIsXG4gICAgNDA0OiBcIlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmRcIixcbiAgICA0MDU6IFwiTWV0aG9kIE5vdCBBbGxvd2VkXCIsXG4gICAgNTAwOiBcIkludGVybmFsIFNlcnZlciBFcnJvclwiXG59O1xuZnVuY3Rpb24gX2dldEluaXRpYWxQcm9wcyhwYXJhbSkge1xuICAgIGxldCB7IHJlcyAsIGVyciAgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSByZXMgJiYgcmVzLnN0YXR1c0NvZGUgPyByZXMuc3RhdHVzQ29kZSA6IGVyciA/IGVyci5zdGF0dXNDb2RlIDogNDA0O1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGVcbiAgICB9O1xufVxuY29uc3Qgc3R5bGVzID0ge1xuICAgIGVycm9yOiB7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9ibG9iL21haW4vbW9kZXJuLW5vcm1hbGl6ZS5jc3MjTDM4LUw1MlxuICAgICAgICBmb250RmFtaWx5OiAnc3lzdGVtLXVpLFwiU2Vnb2UgVUlcIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIicsXG4gICAgICAgIGhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxuICAgIH0sXG4gICAgZGVzYzoge1xuICAgICAgICBsaW5lSGVpZ2h0OiBcIjQ4cHhcIlxuICAgIH0sXG4gICAgaDE6IHtcbiAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgMjBweCAwIDBcIixcbiAgICAgICAgcGFkZGluZ1JpZ2h0OiAyMyxcbiAgICAgICAgZm9udFNpemU6IDI0LFxuICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgIHZlcnRpY2FsQWxpZ246IFwidG9wXCJcbiAgICB9LFxuICAgIGgyOiB7XG4gICAgICAgIGZvbnRTaXplOiAxNCxcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjI4cHhcIlxuICAgIH0sXG4gICAgd3JhcDoge1xuICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiXG4gICAgfVxufTtcbmNsYXNzIEVycm9yIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzQ29kZSAsIHdpdGhEYXJrTW9kZSA9dHJ1ZSAgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5wcm9wcy50aXRsZSB8fCBzdGF0dXNDb2Rlc1tzdGF0dXNDb2RlXSB8fCBcIkFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkXCI7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5lcnJvclxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2hlYWQuZGVmYXVsdCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwgbnVsbCwgc3RhdHVzQ29kZSA/IHN0YXR1c0NvZGUgKyBcIjogXCIgKyB0aXRsZSA6IFwiQXBwbGljYXRpb24gZXJyb3I6IGEgY2xpZW50LXNpZGUgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZFwiKSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLmRlc2NcbiAgICAgICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAvKiBDU1MgbWluaWZpZWQgZnJvbVxuICAgICAgICAgICAgICAgIGJvZHkgeyBtYXJnaW46IDA7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgICAgICAgICAgLm5leHQtZXJyb3ItaDEge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJHtcbiAgICAgICAgICAgICAgICAgIHdpdGhEYXJrTW9kZVxuICAgICAgICAgICAgICAgICAgICA/IGBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgICAgICAgICAgICBib2R5IHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgICAgICAgICAgICAgICAgIC5uZXh0LWVycm9yLWgxIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICovIF9faHRtbDogXCJib2R5e2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmZmO21hcmdpbjowfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMyl9XCIgKyAod2l0aERhcmtNb2RlID8gXCJAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe2JvZHl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwMDB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKX19XCIgOiBcIlwiKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgc3RhdHVzQ29kZSA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImgxXCIsIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0LWVycm9yLWgxXCIsXG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgxXG4gICAgICAgIH0sIHN0YXR1c0NvZGUpIDogbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMud3JhcFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoMlwiLCB7XG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgyXG4gICAgICAgIH0sIHRoaXMucHJvcHMudGl0bGUgfHwgc3RhdHVzQ29kZSA/IHRpdGxlIDogLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQgKHNlZSB0aGUgYnJvd3NlciBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uKVwiKSwgXCIuXCIpKSkpO1xuICAgIH1cbn1cbigoKT0+e1xuICAgIEVycm9yLmRpc3BsYXlOYW1lID0gXCJFcnJvclBhZ2VcIjtcbn0pKCk7XG4oKCk9PntcbiAgICBFcnJvci5nZXRJbml0aWFsUHJvcHMgPSBfZ2V0SW5pdGlhbFByb3BzO1xufSkoKTtcbigoKT0+e1xuICAgIEVycm9yLm9yaWdHZXRJbml0aWFsUHJvcHMgPSBfZ2V0SW5pdGlhbFByb3BzO1xufSkoKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X2Vycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJFcnJvciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX2hlYWQiLCJzdGF0dXNDb2RlcyIsIl9nZXRJbml0aWFsUHJvcHMiLCJwYXJhbSIsInJlcyIsImVyciIsInN0YXR1c0NvZGUiLCJzdHlsZXMiLCJlcnJvciIsImZvbnRGYW1pbHkiLCJoZWlnaHQiLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImRlc2MiLCJsaW5lSGVpZ2h0IiwiaDEiLCJtYXJnaW4iLCJwYWRkaW5nUmlnaHQiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJ2ZXJ0aWNhbEFsaWduIiwiaDIiLCJ3cmFwIiwiZGVmYXVsdCIsIkNvbXBvbmVudCIsInJlbmRlciIsIndpdGhEYXJrTW9kZSIsInByb3BzIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNsYXNzTmFtZSIsIkZyYWdtZW50IiwiZGlzcGxheU5hbWUiLCJnZXRJbml0aWFsUHJvcHMiLCJvcmlnR2V0SW5pdGlhbFByb3BzIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n defaultHead: function() {\n return defaultHead;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"react\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./side-effect\"));\nconst _ampcontext = __webpack_require__(/*! ./amp-context */ \"./amp-context\");\nconst _headmanagercontext = __webpack_require__(/*! ./head-manager-context */ \"./head-manager-context\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./amp-mode\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./utils/warn-once\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ _react.default.createElement(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontext.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontext.HeadManagerContext);\n return /*#__PURE__*/ _react.default.createElement(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState)\n }, children);\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoicURBQ2E7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDZHQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLCtHQUEwQztBQUNwRixNQUFNRSxTQUFTLFdBQVcsR0FBR0QsMEJBQTBCRSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3hFLE1BQU1JLGNBQWMsV0FBVyxHQUFHTCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsb0NBQWU7QUFDcEYsTUFBTUssY0FBY0wsbUJBQU9BLENBQUMsb0NBQWU7QUFDM0MsTUFBTU0sc0JBQXNCTixtQkFBT0EsQ0FBQyxzREFBd0I7QUFDNUQsTUFBTU8sV0FBV1AsbUJBQU9BLENBQUMsOEJBQVk7QUFDckMsTUFBTVEsWUFBWVIsbUJBQU9BLENBQUMsNENBQW1CO0FBRTdDLFNBQVNWLFlBQVltQixTQUFTO0lBQzFCLElBQUlBLGNBQWMsS0FBSyxHQUFHQSxZQUFZO0lBQ3RDLE1BQU1DLE9BQU87UUFDVCxXQUFXLEdBQUdSLE9BQU9YLE9BQU8sQ0FBQ29CLGFBQWEsQ0FBQyxRQUFRO1lBQy9DQyxTQUFTO1FBQ2I7S0FDSDtJQUNELElBQUksQ0FBQ0gsV0FBVztRQUNaQyxLQUFLRyxJQUFJ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R3RFLE9BQU9vRSxVQUFVLEVBQUVoRSxvQkFBb0JtRSxrQkFBa0I7SUFDakYsT0FBTyxXQUFXLEdBQUd2RSxPQUFPWCxPQUFPLENBQUNvQixhQUFhLENBQUNQLFlBQVliLE9BQU8sRUFBRTtRQUNuRW1GLHlCQUF5QnhCO1FBQ3pCc0IsYUFBYUE7UUFDYi9ELFdBQVcsQ0FBQyxHQUFHRixTQUFTb0UsV0FBVyxFQUFFTjtJQUN6QyxHQUFHN0M7QUFDUDtBQUNBLE1BQU0xQixXQUFXcUU7QUFFakIsSUFBSSxDQUFDLE9BQU9oRixRQUFRSSxPQUFPLEtBQUssY0FBZSxPQUFPSixRQUFRSSxPQUFPLEtBQUssWUFBWUosUUFBUUksT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPSixRQUFRSSxPQUFPLENBQUNxRixVQUFVLEtBQUssYUFBYTtJQUNySzNGLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUUksT0FBTyxFQUFFLGNBQWM7UUFBRUgsT0FBTztJQUFLO0lBQ25FSCxPQUFPNEYsTUFBTSxDQUFDMUYsUUFBUUksT0FBTyxFQUFFSjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRSSxPQUFPO0FBQ2xDLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2hlYWQuanM/ZmI1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdEhlYWQ6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0SGVhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0SGVhZDtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zaWRlZWZmZWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9zaWRlLWVmZmVjdFwiKSk7XG5jb25zdCBfYW1wY29udGV4dCA9IHJlcXVpcmUoXCIuL2FtcC1jb250ZXh0XCIpO1xuY29uc3QgX2hlYWRtYW5hZ2VyY29udGV4dCA9IHJlcXVpcmUoXCIuL2hlYWQtbWFuYWdlci1jb250ZXh0XCIpO1xuY29uc3QgX2FtcG1vZGUgPSByZXF1aXJlKFwiLi9hbXAtbW9kZVwiKTtcbmNvbnN0IF93YXJub25jZSA9IHJlcXVpcmUoXCIuL3V0aWxzL3dhcm4tb25jZVwiKTtcblxuZnVuY3Rpb24gZGVmYXVsdEhlYWQoaW5BbXBNb2RlKSB7XG4gICAgaWYgKGluQW1wTW9kZSA9PT0gdm9pZCAwKSBpbkFtcE1vZGUgPSBmYWxzZTtcbiAgICBjb25zdCBoZWFkID0gW1xuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIGNoYXJTZXQ6IFwidXRmLThcIlxuICAgICAgICB9KVxuICAgIF07XG4gICAgaWYgKCFpbkFtcE1vZGUpIHtcbiAgICAgICAgaGVhZC5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm1ldGFcIiwge1xuICAgICAgICAgICAgbmFtZTogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgY29udGVudDogXCJ3aWR0aD1kZXZpY2Utd2lkdGhcIlxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBoZWFkO1xufVxuZnVuY3Rpb24gb25seVJlYWN0RWxlbWVudChsaXN0LCBjaGlsZCkge1xuICAgIC8vIFJlYWN0IGNoaWxkcmVuIGNhbiBiZSBcInN0cmluZ1wiIG9yIFwibnVtYmVyXCIgaW4gdGhpcyBjYXNlIHdlIGlnbm9yZSB0aGVtIGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgY2hpbGQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuICAgIC8vIEFkZHMgc3VwcG9ydCBmb3IgUmVhY3QuRnJhZ21lbnRcbiAgICBpZiAoY2hpbGQudHlwZSA9PT0gX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQpIHtcbiAgICAgICAgcmV0dXJuIGxpc3QuY29uY2F0KC8vIEB0cy1leHBlY3QtZXJyb3IgQHR5cGVzL3JlYWN0IGRvZXMgbm90IHJlbW92ZSBmcmFnbWVudHMgYnV0IHRoaXMgY291bGQgYWxzbyByZXR1cm4gUmVhY3RQb3J0YWxbXVxuICAgICAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkLnByb3BzLmNoaWxkcmVuKS5yZWR1Y2UoLy8gQHRzLWV4cGVjdC1lcnJvciBAdHlwZXMvcmVhY3QgZG9lcyBub3QgcmVtb3ZlIGZyYWdtZW50cyBidXQgdGhpcyBjb3VsZCBhbHNvIHJldHVybiBSZWFjdFBvcnRhbFtdXG4gICAgICAgIChmcmFnbWVudExpc3QsIGZyYWdtZW50Q2hpbGQpPT57XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZyYWdtZW50Q2hpbGQgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIGZyYWdtZW50Q2hpbGQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRMaXN0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZyYWdtZW50TGlzdC5jb25jYXQoZnJhZ21lbnRDaGlsZCk7XG4gICAgICAgIH0sIFtdKSk7XG4gICAgfVxuICAgIHJldHVybiBsaXN0LmNvbmNhdChjaGlsZCk7XG59XG5jb25zdCBNRVRBVFlQRVMgPSBbXG4gICAgXCJuYW1lXCIsXG4gICAgXCJodHRwRXF1aXZcIixcbiAgICBcImNoYXJTZXRcIixcbiAgICBcIml0ZW1Qcm9wXCJcbl07XG4vKlxuIHJldHVybnMgYSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIGhlYWQgY2hpbGQgZWxlbWVudHNcbiB3aGljaCBzaG91bGRuJ3QgYmUgZHVwbGljYXRlZCwgbGlrZSA8dGl0bGUvPlxuIEFsc28gYWRkcyBzdXBwb3J0IGZvciBkZWR1cGxpY2F0ZWQgYGtleWAgcHJvcGVydGllc1xuKi8gZnVuY3Rpb24gdW5pcXVlKCkge1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgdGFncyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBtZXRhVHlwZXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgbWV0YUNhdGVnb3JpZXMgPSB7fTtcbiAgICByZXR1cm4gKGgpPT57XG4gICAgICAgIGxldCBpc1VuaXF1ZSA9IHRydWU7XG4gICAgICAgIGxldCBoYXNLZXkgPSBmYWxzZTtcbiAgICAgICAgaWYgKGgua2V5ICYmIHR5cGVvZiBoLmtleSAhPT0gXCJudW1iZXJcIiAmJiBoLmtleS5pbmRleE9mKFwiJFwiKSA+IDApIHtcbiAgICAgICAgICAgIGhhc0tleSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBoLmtleS5zbGljZShoLmtleS5pbmRleE9mKFwiJFwiKSArIDEpO1xuICAgICAgICAgICAgaWYgKGtleXMuaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZhdWx0LWNhc2VcbiAgICAgICAgc3dpdGNoKGgudHlwZSl7XG4gICAgICAgICAgICBjYXNlIFwidGl0bGVcIjpcbiAgICAgICAgICAgIGNhc2UgXCJiYXNlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHRhZ3MuaGFzKGgudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0YWdzLmFkZChoLnR5cGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJtZXRhXCI6XG4gICAgICAgICAgICAgICAgZm9yKGxldCBpID0gMCwgbGVuID0gTUVUQVRZUEVTLmxlbmd0aDsgaSA8IGxlbjsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWV0YXR5cGUgPSBNRVRBVFlQRVNbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghaC5wcm9wcy5oYXNPd25Qcm9wZXJ0eShtZXRhdHlwZSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWV0YXR5cGUgPT09IFwiY2hhclNldFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVR5cGVzLmhhcyhtZXRhdHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhVHlwZXMuYWRkKG1ldGF0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gaC5wcm9wc1ttZXRhdHlwZV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gbWV0YUNhdGVnb3JpZXNbbWV0YXR5cGVdIHx8IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgobWV0YXR5cGUgIT09IFwibmFtZVwiIHx8ICFoYXNLZXkpICYmIGNhdGVnb3JpZXMuaGFzKGNhdGVnb3J5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3JpZXMuYWRkKGNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gPSBjYXRlZ29yaWVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1VuaXF1ZTtcbiAgICB9O1xufVxuLyoqXG4gKlxuICogQHBhcmFtIGhlYWRDaGlsZHJlbkVsZW1lbnRzIExpc3Qgb2YgY2hpbGRyZW4gb2YgPEhlYWQ+XG4gKi8gZnVuY3Rpb24gcmVkdWNlQ29tcG9uZW50cyhoZWFkQ2hpbGRyZW5FbGVtZW50cywgcHJvcHMpIHtcbiAgICBjb25zdCB7IGluQW1wTW9kZSAgfSA9IHByb3BzO1xuICAgIHJldHVybiBoZWFkQ2hpbGRyZW5FbGVtZW50cy5yZWR1Y2Uob25seVJlYWN0RWxlbWVudCwgW10pLnJldmVyc2UoKS5jb25jYXQoZGVmYXVsdEhlYWQoaW5BbXBNb2RlKS5yZXZlcnNlKCkpLmZpbHRlcih1bmlxdWUoKSkucmV2ZXJzZSgpLm1hcCgoYywgaSk9PntcbiAgICAgICAgY29uc3Qga2V5ID0gYy5rZXkgfHwgaTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgJiYgcHJvY2Vzcy5lbnYuX19ORVhUX09QVElNSVpFX0ZPTlRTICYmICFpbkFtcE1vZGUpIHtcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJocmVmXCJdICYmIC8vIFRPRE8ocHJhdGVla2JoQCk6IFJlcGxhY2UgdGhpcyB3aXRoIGNvbnN0IGZyb20gYGNvbnN0YW50c2Agd2hlbiB0aGUgdHJlZSBzaGFraW5nIHdvcmtzLlxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3NcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L1wiXG4gICAgICAgICAgICBdLnNvbWUoKHVybCk9PmMucHJvcHNbXCJocmVmXCJdLnN0YXJ0c1dpdGgodXJsKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJkYXRhLWhyZWZcIl0gPSBuZXdQcm9wc1tcImhyZWZcIl07XG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJocmVmXCJdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGlzIGF0dHJpYnV0ZSB0byBtYWtlIGl0IGVhc3kgdG8gaWRlbnRpZnkgb3B0aW1pemVkIHRhZ3NcbiAgICAgICAgICAgICAgICBuZXdQcm9wc1tcImRhdGEtb3B0aW1pemVkLWZvbnRzXCJdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywgbmV3UHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAvLyBvbWl0IEpTT04tTEQgc3RydWN0dXJlZCBkYXRhIHNuaXBwZXRzIGZyb20gdGhlIHdhcm5pbmdcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09IFwic2NyaXB0XCIgJiYgYy5wcm9wc1tcInR5cGVcIl0gIT09IFwiYXBwbGljYXRpb24vbGQranNvblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3JjTWVzc2FnZSA9IGMucHJvcHNbXCJzcmNcIl0gPyAnPHNjcmlwdD4gdGFnIHdpdGggc3JjPVwiJyArIGMucHJvcHNbXCJzcmNcIl0gKyAnXCInIDogXCJpbmxpbmUgPHNjcmlwdD5cIjtcbiAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKShcIkRvIG5vdCBhZGQgPHNjcmlwdD4gdGFncyB1c2luZyBuZXh0L2hlYWQgKHNlZSBcIiArIHNyY01lc3NhZ2UgKyBcIikuIFVzZSBuZXh0L3NjcmlwdCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXNjcmlwdC10YWdzLWluLWhlYWQtY29tcG9uZW50XCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJyZWxcIl0gPT09IFwic3R5bGVzaGVldFwiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0RvIG5vdCBhZGQgc3R5bGVzaGVldHMgdXNpbmcgbmV4dC9oZWFkIChzZWUgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiPiB0YWcgd2l0aCBocmVmPVwiJyArIGMucHJvcHNbXCJocmVmXCJdICsgJ1wiKS4gVXNlIERvY3VtZW50IGluc3RlYWQuIFxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm8tc3R5bGVzaGVldHMtaW4taGVhZC1jb21wb25lbnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywge1xuICAgICAgICAgICAga2V5XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpbmplY3RzIGVsZW1lbnRzIHRvIGA8aGVhZD5gIG9mIHlvdXIgcGFnZS5cbiAqIFRvIGF2b2lkIGR1cGxpY2F0ZWQgYHRhZ3NgIGluIGA8aGVhZD5gIHlvdSBjYW4gdXNlIHRoZSBga2V5YCBwcm9wZXJ0eSwgd2hpY2ggd2lsbCBtYWtlIHN1cmUgZXZlcnkgdGFnIGlzIG9ubHkgcmVuZGVyZWQgb25jZS5cbiAqLyBmdW5jdGlvbiBIZWFkKHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4gIH0gPSBwYXJhbTtcbiAgICBjb25zdCBhbXBTdGF0ZSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FtcGNvbnRleHQuQW1wU3RhdGVDb250ZXh0KTtcbiAgICBjb25zdCBoZWFkTWFuYWdlciA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hlYWRtYW5hZ2VyY29udGV4dC5IZWFkTWFuYWdlckNvbnRleHQpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3NpZGVlZmZlY3QuZGVmYXVsdCwge1xuICAgICAgICByZWR1Y2VDb21wb25lbnRzVG9TdGF0ZTogcmVkdWNlQ29tcG9uZW50cyxcbiAgICAgICAgaGVhZE1hbmFnZXI6IGhlYWRNYW5hZ2VyLFxuICAgICAgICBpbkFtcE1vZGU6ICgwLCBfYW1wbW9kZS5pc0luQW1wTW9kZSkoYW1wU3RhdGUpXG4gICAgfSwgY2hpbGRyZW4pO1xufVxuY29uc3QgX2RlZmF1bHQgPSBIZWFkO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImRlZmF1bHRIZWFkIiwiZGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfcmVhY3QiLCJfIiwiX3NpZGVlZmZlY3QiLCJfYW1wY29udGV4dCIsIl9oZWFkbWFuYWdlcmNvbnRleHQiLCJfYW1wbW9kZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImhlYWQiLCJjcmVhdGVFbGVtZW50IiwiY2hhclNldCIsInB1c2giLCJjb250ZW50Iiwib25seVJlYWN0RWxlbWVudCIsImxpc3QiLCJjaGlsZCIsInR5cGUiLCJGcmFnbWVudCIsImNvbmNhdCIsIkNoaWxkcmVuIiwidG9BcnJheSIsInByb3BzIiwiY2hpbGRyZW4iLCJyZWR1Y2UiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwidW5pcXVlIiwia2V5cyIsIlNldCIsInRhZ3MiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJzbGljZSIsImhhcyIsImFkZCIsImkiLCJsZW4iLCJsZW5ndGgiLCJtZXRhdHlwZSIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcnkiLCJjYXRlZ29yaWVzIiwicmVkdWNlQ29tcG9uZW50cyIsImhlYWRDaGlsZHJlbkVsZW1lbnRzIiwicmV2ZXJzZSIsImZpbHRlciIsIm1hcCIsImMiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsIkhlYWQiLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsIkFtcFN0YXRlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJpc0luQW1wTW9kZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n"); - -/***/ }), - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"@rainbow-me/rainbowkit\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi */ \"wagmi\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/chains */ \"wagmi/chains\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! wagmi/providers/public */ \"wagmi/providers/public\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__]);\n([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp({ Component, pageProps }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_4__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyApp);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0I7QUFDWTtBQU1YO0FBRW1DO0FBUzdDO0FBQ2tDO0FBRXhELE1BQU0sRUFBRWMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLHFCQUFxQixFQUFFLEdBQUdiLHNEQUFlQSxDQUNyRTtJQUNFSyxpREFBT0E7SUFDUEUsaURBQU9BO0lBQ1BELGtEQUFRQTtJQUNSSCxrREFBUUE7SUFDUkssOENBQUlBO0lBQ0pKLGdEQUFNQTtJQUNOSyxpREFBT0E7T0FDSEssUUFBUUMsR0FBRyxDQUFDQywyQkFBMkIsS0FBSyxTQUFTO1FBQUNaLGdEQUFNQTtLQUFDLEdBQUcsRUFBRTtDQUN2RSxFQUNEO0lBQUNNLHNFQUFjQTtDQUFHO0FBR3BCLE1BQU0sRUFBRU8sVUFBVSxFQUFFLEdBQUdwQix5RUFBaUJBLENBQUM7SUFDdkNxQixTQUFTO0lBQ1RDLFdBQVc7SUFDWFI7QUFDRjtBQUVBLE1BQU1TLGNBQWNuQixtREFBWUEsQ0FBQztJQUMvQm9CLGFBQWE7SUFDYko7SUFDQUw7SUFDQUM7QUFDRjtBQUVBLFNBQVNTLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxTQUFTLEVBQVk7SUFDL0MscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0FBRUEsaUVBQWVGLEtBQUtBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n"); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./styles/globals.css": -/*!****************************!*\ - !*** ./styles/globals.css ***! - \****************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"../shared/lib/is-plain-object\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxvRUFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/pretty-bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/module.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/module.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PagesRouteModule: function() {\n return PagesRouteModule;\n },\n default: function() {\n return _default;\n }\n});\nconst _routemodule = __webpack_require__(/*! ../route-module */ \"../route-module\");\nconst _render = __webpack_require__(/*! ../../../render */ \"../../../render\");\nclass PagesRouteModule extends _routemodule.RouteModule {\n constructor(options){\n super(options);\n this.components = options.components;\n }\n render(req, res, context) {\n return (0, _render.renderToHTMLImpl)(req, res, context.page, context.query, context.renderOpts, {\n App: this.components.App,\n Document: this.components.Document\n });\n }\n}\nconst _default = PagesRouteModule;\n\n//# sourceMappingURL=module.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QscUJBQXFCLG1CQUFPLENBQUMsd0NBQWlCO0FBQzlDLGdCQUFnQixtQkFBTyxDQUFDLHdDQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlLmpzP2M5Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQYWdlc1JvdXRlTW9kdWxlOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUGFnZXNSb3V0ZU1vZHVsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlc1JvdXRlTW9kdWxlO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1vZHVsZSA9IHJlcXVpcmUoXCIuLi9yb3V0ZS1tb2R1bGVcIik7XG5jb25zdCBfcmVuZGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3JlbmRlclwiKTtcbmNsYXNzIFBhZ2VzUm91dGVNb2R1bGUgZXh0ZW5kcyBfcm91dGVtb2R1bGUuUm91dGVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpe1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzO1xuICAgIH1cbiAgICByZW5kZXIocmVxLCByZXMsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfcmVuZGVyLnJlbmRlclRvSFRNTEltcGwpKHJlcSwgcmVzLCBjb250ZXh0LnBhZ2UsIGNvbnRleHQucXVlcnksIGNvbnRleHQucmVuZGVyT3B0cywge1xuICAgICAgICAgICAgQXBwOiB0aGlzLmNvbXBvbmVudHMuQXBwLFxuICAgICAgICAgICAgRG9jdW1lbnQ6IHRoaXMuY29tcG9uZW50cy5Eb2N1bWVudFxuICAgICAgICB9KTtcbiAgICB9XG59XG5jb25zdCBfZGVmYXVsdCA9IFBhZ2VzUm91dGVNb2R1bGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.js\n"); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-dev-runtime.development.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-dev-runtime.development.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"react\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n\nvar jsxDEV$1 = jsxWithValidation ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV$1;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxvQkFBTzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQSxTQUFTO0FBQ1QsdUJBQXVCO0FBQ3ZCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx3QkFBd0I7QUFDeEI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNULGlDQUFpQztBQUNqQztBQUNBLFNBQVM7QUFDVCwyQkFBMkI7QUFDM0I7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyREFBMkQ7O0FBRTNEO0FBQ0E7O0FBRUE7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7OztBQUdUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGFBQWEsa0JBQWtCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGdGQUFnRjtBQUNoRjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7OztBQUdsQjtBQUNBO0FBQ0EsY0FBYztBQUNkOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJIQUEySDtBQUMzSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxlQUFlO0FBQzFCLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjs7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz8xN2UxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcblxudmFyIGpzeERFViQxID0gIGpzeFdpdGhWYWxpZGF0aW9uIDtcblxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG5leHBvcnRzLmpzeERFViA9IGpzeERFViQxO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-dev-runtime.development.js\n"); - -/***/ }), - -/***/ "./node_modules/react/jsx-dev-runtime.js": -/*!***********************************************!*\ - !*** ./node_modules/react/jsx-dev-runtime.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx1SkFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzPzU3NzciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "../route-module": -/*!************************************************************************!*\ - !*** external "next/dist/server/future/route-modules/route-module.js" ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/future/route-modules/route-module.js"); - -/***/ }), - -/***/ "../server/get-page-files": -/*!*****************************************************!*\ - !*** external "next/dist/server/get-page-files.js" ***! - \*****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/get-page-files.js"); - -/***/ }), - -/***/ "../server/htmlescape": -/*!*************************************************!*\ - !*** external "next/dist/server/htmlescape.js" ***! - \*************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/htmlescape.js"); - -/***/ }), - -/***/ "../../../render": -/*!*********************************************!*\ - !*** external "next/dist/server/render.js" ***! - \*********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/render.js"); - -/***/ }), - -/***/ "../server/utils": -/*!********************************************!*\ - !*** external "next/dist/server/utils.js" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/utils.js"); - -/***/ }), - -/***/ "./amp-context": -/*!******************************************************!*\ - !*** external "next/dist/shared/lib/amp-context.js" ***! - \******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/amp-context.js"); - -/***/ }), - -/***/ "./amp-mode": -/*!***************************************************!*\ - !*** external "next/dist/shared/lib/amp-mode.js" ***! - \***************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/amp-mode.js"); - -/***/ }), - -/***/ "../shared/lib/constants": -/*!****************************************************!*\ - !*** external "next/dist/shared/lib/constants.js" ***! - \****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/constants.js"); - -/***/ }), - -/***/ "./head-manager-context": -/*!***************************************************************!*\ - !*** external "next/dist/shared/lib/head-manager-context.js" ***! - \***************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/head-manager-context.js"); - -/***/ }), - -/***/ "../shared/lib/html-context": -/*!*******************************************************!*\ - !*** external "next/dist/shared/lib/html-context.js" ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/html-context.js"); - -/***/ }), - -/***/ "../shared/lib/is-plain-object": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/is-plain-object.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/is-plain-object.js"); - -/***/ }), - -/***/ "./side-effect": -/*!******************************************************!*\ - !*** external "next/dist/shared/lib/side-effect.js" ***! - \******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/side-effect.js"); - -/***/ }), - -/***/ "./utils/warn-once": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/utils/warn-once.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/utils/warn-once.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("react"); - -/***/ }), - -/***/ "@rainbow-me/rainbowkit": -/*!*****************************************!*\ - !*** external "@rainbow-me/rainbowkit" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("@rainbow-me/rainbowkit");; - -/***/ }), - -/***/ "wagmi": -/*!************************!*\ - !*** external "wagmi" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi");; - -/***/ }), - -/***/ "wagmi/chains": -/*!*******************************!*\ - !*** external "wagmi/chains" ***! - \*******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/chains");; - -/***/ }), - -/***/ "wagmi/providers/public": -/*!*****************************************!*\ - !*** external "wagmi/providers/public" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/providers/public");; - -/***/ }), - -/***/ "./node_modules/@swc/helpers/cjs/_interop_require_default.cjs": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/cjs/_interop_require_default.cjs ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nexports._ = exports._interop_require_default = _interop_require_default;\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFNBQVMsR0FBRyxnQ0FBZ0M7QUFDNUM7QUFDQSwyQ0FBMkM7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzPzBhZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuXyA9IGV4cG9ydHMuX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0O1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\n"); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs": -/*!*********************************************************************!*\ - !*** ./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nexports._ = exports._interop_require_wildcard = _interop_require_wildcard;\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmNqcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFNBQVMsR0FBRyxpQ0FBaUM7QUFDN0M7QUFDQTtBQUNBLHVGQUF1Rjs7QUFFdkY7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9janMvX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5janM/YmJhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuXG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5leHBvcnRzLl8gPSBleHBvcnRzLl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkO1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0ge307XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICAgICAgICBlbHNlIG5ld09ialtrZXldID0gb2JqW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcblxuICAgIGlmIChjYWNoZSkgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcblxuICAgIHJldHVybiBuZXdPYmo7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\n"); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!")); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/pages/index.js b/.next/server/pages/index.js deleted file mode 100644 index d8e568c..0000000 --- a/.next/server/pages/index.js +++ /dev/null @@ -1,364 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "pages/index"; -exports.ids = ["pages/index"]; -exports.modules = { - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2hlbHBlcnMuanM/OTlmZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getServerSideProps: () => (/* binding */ getServerSideProps),\n/* harmony export */ getStaticPaths: () => (/* binding */ getStaticPaths),\n/* harmony export */ getStaticProps: () => (/* binding */ getStaticProps),\n/* harmony export */ reportWebVitals: () => (/* binding */ reportWebVitals),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ unstable_getServerProps: () => (/* binding */ unstable_getServerProps),\n/* harmony export */ unstable_getServerSideProps: () => (/* binding */ unstable_getServerSideProps),\n/* harmony export */ unstable_getStaticParams: () => (/* binding */ unstable_getStaticParams),\n/* harmony export */ unstable_getStaticPaths: () => (/* binding */ unstable_getStaticPaths),\n/* harmony export */ unstable_getStaticProps: () => (/* binding */ unstable_getStaticProps)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/pages/module */ \"./node_modules/next/dist/server/future/route-modules/pages/module.js\");\n/* harmony import */ var next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-route-loader/helpers */ \"./node_modules/next/dist/build/webpack/loaders/next-route-loader/helpers.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! private-next-pages/_document */ \"./node_modules/next/dist/pages/_document.js\");\n/* harmony import */ var private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(private_next_pages_document__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! private-next-pages/_app */ \"./pages/_app.tsx\");\n/* harmony import */ var _pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pages/index.tsx */ \"./pages/index.tsx\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, _pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__]);\n([private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__, _pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);\n// @ts-ignore this need to be imported from next/dist to be external\n\n\n\n// Import the app and document modules.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// @ts-expect-error - replaced by webpack/turbopack loader\n\n// Import the userland code.\n// @ts-expect-error - replaced by webpack/turbopack loader\n\nconst PagesRouteModule = next_dist_server_future_route_modules_pages_module__WEBPACK_IMPORTED_MODULE_0__.PagesRouteModule;\n// Re-export the component (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"default\"));\n// Re-export methods.\nconst getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"getStaticProps\");\nconst getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"getStaticPaths\");\nconst getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"getServerSideProps\");\nconst config = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"config\");\nconst reportWebVitals = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"reportWebVitals\");\n// Re-export legacy methods.\nconst unstable_getStaticProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticProps\");\nconst unstable_getStaticPaths = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticPaths\");\nconst unstable_getStaticParams = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getStaticParams\");\nconst unstable_getServerProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerProps\");\nconst unstable_getServerSideProps = (0,next_dist_build_webpack_loaders_next_route_loader_helpers__WEBPACK_IMPORTED_MODULE_2__.hoist)(_pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__, \"unstable_getServerSideProps\");\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES,\n page: \"/index\",\n pathname: \"/\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\"\n },\n components: {\n App: private_next_pages_app__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Document: (private_next_pages_document__WEBPACK_IMPORTED_MODULE_3___default())\n },\n userland: _pages_index_tsx__WEBPACK_IMPORTED_MODULE_5__\n});\n\n//# sourceMappingURL=pages.js.map\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9pbmRleC5qcz9raW5kPVBBR0VTJnBhZ2U9JTJGJnByZWZlcnJlZFJlZ2lvbj0mYWJzb2x1dGVQYWdlUGF0aD0uJTJGcGFnZXMlMkZpbmRleC50c3gmYWJzb2x1dGVBcHBQYXRoPXByaXZhdGUtbmV4dC1wYWdlcyUyRl9hcHAmYWJzb2x1dGVEb2N1bWVudFBhdGg9cHJpdmF0ZS1uZXh0LXBhZ2VzJTJGX2RvY3VtZW50Jm1pZGRsZXdhcmVDb25maWdCYXNlNjQ9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQzZFO0FBQ2Q7QUFDbUI7QUFDbEY7QUFDQTtBQUNvRDtBQUNwRDtBQUMwQztBQUMxQztBQUNBO0FBQzhDO0FBQzlDLHlCQUF5QixnR0FBdUI7QUFDaEQ7QUFDQSxpRUFBZSxnR0FBSyxDQUFDLDZDQUFRLFlBQVksRUFBQztBQUMxQztBQUNPLHVCQUF1QixnR0FBSyxDQUFDLDZDQUFRO0FBQ3JDLHVCQUF1QixnR0FBSyxDQUFDLDZDQUFRO0FBQ3JDLDJCQUEyQixnR0FBSyxDQUFDLDZDQUFRO0FBQ3pDLGVBQWUsZ0dBQUssQ0FBQyw2Q0FBUTtBQUM3Qix3QkFBd0IsZ0dBQUssQ0FBQyw2Q0FBUTtBQUM3QztBQUNPLGdDQUFnQyxnR0FBSyxDQUFDLDZDQUFRO0FBQzlDLGdDQUFnQyxnR0FBSyxDQUFDLDZDQUFRO0FBQzlDLGlDQUFpQyxnR0FBSyxDQUFDLDZDQUFRO0FBQy9DLGdDQUFnQyxnR0FBSyxDQUFDLDZDQUFRO0FBQzlDLG9DQUFvQyxnR0FBSyxDQUFDLDZDQUFRO0FBQ3pEO0FBQ087QUFDUDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsS0FBSztBQUNMLFlBQVk7QUFDWixDQUFDOztBQUVELGlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLz8xYzJjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmUgdGhpcyBuZWVkIHRvIGJlIGltcG9ydGVkIGZyb20gbmV4dC9kaXN0IHRvIGJlIGV4dGVybmFsXG5pbXBvcnQgKiBhcyBtb2R1bGUgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuaW1wb3J0IHsgaG9pc3QgfSBmcm9tIFwibmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXJvdXRlLWxvYWRlci9oZWxwZXJzXCI7XG4vLyBJbXBvcnQgdGhlIGFwcCBhbmQgZG9jdW1lbnQgbW9kdWxlcy5cbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcbmltcG9ydCBEb2N1bWVudCBmcm9tIFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19kb2N1bWVudFwiO1xuLy8gQHRzLWV4cGVjdC1lcnJvciAtIHJlcGxhY2VkIGJ5IHdlYnBhY2svdHVyYm9wYWNrIGxvYWRlclxuaW1wb3J0IEFwcCBmcm9tIFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19hcHBcIjtcbi8vIEltcG9ydCB0aGUgdXNlcmxhbmQgY29kZS5cbi8vIEB0cy1leHBlY3QtZXJyb3IgLSByZXBsYWNlZCBieSB3ZWJwYWNrL3R1cmJvcGFjayBsb2FkZXJcbmltcG9ydCAqIGFzIHVzZXJsYW5kIGZyb20gXCIuL3BhZ2VzL2luZGV4LnRzeFwiO1xuY29uc3QgUGFnZXNSb3V0ZU1vZHVsZSA9IG1vZHVsZS5QYWdlc1JvdXRlTW9kdWxlO1xuLy8gUmUtZXhwb3J0IHRoZSBjb21wb25lbnQgKHNob3VsZCBiZSB0aGUgZGVmYXVsdCBleHBvcnQpLlxuZXhwb3J0IGRlZmF1bHQgaG9pc3QodXNlcmxhbmQsIFwiZGVmYXVsdFwiKTtcbi8vIFJlLWV4cG9ydCBtZXRob2RzLlxuZXhwb3J0IGNvbnN0IGdldFN0YXRpY1Byb3BzID0gaG9pc3QodXNlcmxhbmQsIFwiZ2V0U3RhdGljUHJvcHNcIik7XG5leHBvcnQgY29uc3QgZ2V0U3RhdGljUGF0aHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTdGF0aWNQYXRoc1wiKTtcbmV4cG9ydCBjb25zdCBnZXRTZXJ2ZXJTaWRlUHJvcHMgPSBob2lzdCh1c2VybGFuZCwgXCJnZXRTZXJ2ZXJTaWRlUHJvcHNcIik7XG5leHBvcnQgY29uc3QgY29uZmlnID0gaG9pc3QodXNlcmxhbmQsIFwiY29uZmlnXCIpO1xuZXhwb3J0IGNvbnN0IHJlcG9ydFdlYlZpdGFscyA9IGhvaXN0KHVzZXJsYW5kLCBcInJlcG9ydFdlYlZpdGFsc1wiKTtcbi8vIFJlLWV4cG9ydCBsZWdhY3kgbWV0aG9kcy5cbmV4cG9ydCBjb25zdCB1bnN0YWJsZV9nZXRTdGF0aWNQcm9wcyA9IGhvaXN0KHVzZXJsYW5kLCBcInVuc3RhYmxlX2dldFN0YXRpY1Byb3BzXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFN0YXRpY1BhdGhzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUGF0aHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U3RhdGljUGFyYW1zID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U3RhdGljUGFyYW1zXCIpO1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX2dldFNlcnZlclByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U2VydmVyUHJvcHNcIik7XG5leHBvcnQgY29uc3QgdW5zdGFibGVfZ2V0U2VydmVyU2lkZVByb3BzID0gaG9pc3QodXNlcmxhbmQsIFwidW5zdGFibGVfZ2V0U2VydmVyU2lkZVByb3BzXCIpO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgUGFnZXNSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuUEFHRVMsXG4gICAgICAgIHBhZ2U6IFwiL2luZGV4XCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9cIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIlxuICAgIH0sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgICBBcHAsXG4gICAgICAgIERvY3VtZW50XG4gICAgfSxcbiAgICB1c2VybGFuZFxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhZ2VzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_document.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/pages/_document.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"../shared/lib/constants\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"../server/get-page-files\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"../server/htmlescape\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontext = __webpack_require__(/*! ../shared/lib/html-context */ \"../shared/lib/html-context\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: polyfill,\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props, _el_props_dangerouslySetInnerHTML;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props, _child_props_dangerouslySetInnerHTML;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !userDefinedConfig && /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }), /*#__PURE__*/ _react.default.createElement(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }), (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n }));\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, webWorkerScripts, beforeInteractiveScripts);\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in <head>\n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ _react.default.createElement(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n key: fontFile,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n });\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n key: file,\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file.src,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n })),\n ...preloadFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props, _c_props_href;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains <title> (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ _react.default.createElement(\"head\", getHeadHTMLProps(this.props), this.context.isDevelopment && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n }))), head, this.context.strictNextHead ? null : /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }), children, optimizeFonts && /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-font-preconnect\"\n }), nextFontLinkTags.preconnect, nextFontLinkTags.preload, true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }), !hasCanonicalRel && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"../server/utils\").cleanAmpPath)(dangerousAsPath)\n }), /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }), /*#__PURE__*/ _react.default.createElement(AmpStyles, {\n styles: styles\n }), /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }), /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })), /*#__PURE__*/ _react.default.createElement(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })), !( true && inAmpMode) && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ _react.default.createElement(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }), this.getBeforeInteractiveInlineScripts(), !optimizeCss && this.getCssLinks(files), !optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), optimizeCss && this.getCssLinks(files), optimizeCss && /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }), this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ _react.default.createElement(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }), styles || null), /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || []));\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find, _children_find_props, _children_find1, _children_find_props1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = (()=>{\n this.contextType = _htmlcontext.HtmlContext;\n })();\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }), ampDevFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n })));\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ _react.default.createElement(\"script\", {\n key: file,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n })) : null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }), disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files));\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ _react.default.createElement(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontext.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ _react.default.createElement(\"next-js-internal-body-render-target\", null);\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ _react.default.createElement(Html, null, /*#__PURE__*/ _react.default.createElement(Head, null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(Main, null), /*#__PURE__*/ _react.default.createElement(NextScript, null)));\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLFNBQVMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3JFLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHdEQUF5QjtBQUNwRCxNQUFNRSxnQkFBZ0JGLG1CQUFPQSxDQUFDLDBEQUEwQjtBQUN4RCxNQUFNRyxjQUFjSCxtQkFBT0EsQ0FBQyxrREFBc0I7QUFDbEQsTUFBTUksV0FBVyxXQUFXLEdBQUdMLHlCQUF5QkMsbUJBQU9BLENBQUMsaUVBQWlCO0FBQ2pGLE1BQU1LLGVBQWVMLG1CQUFPQSxDQUFDLDhEQUE0QjtBQUN6RCxTQUFTRCx5QkFBeUJPLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDaEIsU0FBU2dCO0lBQ2I7QUFDSjtBQUNBLDhFQUE4RSxHQUFHLE1BQU1FLHdCQUF3QixJQUFJQztBQUNuSCxTQUFTQyxpQkFBaUJDLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxTQUFTO0lBQ3hELE1BQU1DLGNB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LEdBQUdELDBCQUU3QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcz8zYjhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSGVhZDogbnVsbCxcbiAgICBOZXh0U2NyaXB0OiBudWxsLFxuICAgIEh0bWw6IG51bGwsXG4gICAgTWFpbjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZDtcbiAgICB9LFxuICAgIE5leHRTY3JpcHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNjcmlwdDtcbiAgICB9LFxuICAgIEh0bWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSHRtbDtcbiAgICB9LFxuICAgIE1haW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWFpbjtcbiAgICB9LFxuICAgIC8qKlxuICogYERvY3VtZW50YCBjb21wb25lbnQgaGFuZGxlcyB0aGUgaW5pdGlhbCBgZG9jdW1lbnRgIG1hcmt1cCBhbmQgcmVuZGVycyBvbmx5IG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqIENvbW1vbmx5IHVzZWQgZm9yIGltcGxlbWVudGluZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcgZm9yIGBjc3MtaW4tanNgIGxpYnJhcmllcy5cbiAqLyBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERvY3VtZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfZ2V0cGFnZWZpbGVzID0gcmVxdWlyZShcIi4uL3NlcnZlci9nZXQtcGFnZS1maWxlc1wiKTtcbmNvbnN0IF9odG1sZXNjYXBlID0gcmVxdWlyZShcIi4uL3NlcnZlci9odG1sZXNjYXBlXCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpKTtcbmNvbnN0IF9odG1sY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2h0bWwtY29udGV4dFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuLyoqIFNldCBvZiBwYWdlcyB0aGF0IGhhdmUgdHJpZ2dlcmVkIGEgbGFyZ2UgZGF0YSB3YXJuaW5nIG9uIHByb2R1Y3Rpb24gbW9kZS4gKi8gY29uc3QgbGFyZ2VQYWdlRGF0YVdhcm5pbmdzID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gZ2V0RG9jdW1lbnRGaWxlcyhidWlsZE1hbmlmZXN0LCBwYXRobmFtZSwgaW5BbXBNb2RlKSB7XG4gICAgY29uc3Qgc2hhcmVkRmlsZXMgPSAoMCwgX2dldHBhZ2VmaWxlcy5nZXRQYWdlRmlsZXMpKGJ1aWxkTWFuaWZlc3QsIFwiL19hcHBcIik7XG4gICAgY29uc3QgcGFnZUZpbGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBbXSA6ICgwLCBfZ2V0cGFnZWZpbGVzLmdldFBhZ2VGaWxlcykoYnVpbGRNYW5pZmVzdCwgcGF0aG5hbWUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNoYXJlZEZpbGVzLFxuICAgICAgICBwYWdlRmlsZXMsXG4gICAgICAgIGFsbEZpbGVzOiBbXG4gICAgICAgICAgICAuLi5uZXcgU2V0KFtcbiAgICAgICAgICAgICAgICAuLi5zaGFyZWRGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5wYWdlRmlsZXNcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF1cbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UG9seWZpbGxTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgLy8gcG9seWZpbGxzLmpzIGhhcyB0byBiZSByZW5kZXJlZCBhcyBub21vZHVsZSB3aXRob3V0IGFzeW5jXG4gICAgLy8gSXQgYWxzbyBoYXMgdG8gYmUgdGhlIGZpcnN0IHNjcmlwdCB0byBsb2FkXG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGJ1aWxkTWFuaWZlc3QgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcy5maWx0ZXIoKHBvbHlmaWxsKT0+cG9seWZpbGwuZW5kc1dpdGgoXCIuanNcIikgJiYgIXBvbHlmaWxsLmVuZHNXaXRoKFwiLm1vZHVsZS5qc1wiKSkubWFwKChwb2x5ZmlsbCk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBrZXk6IHBvbHlmaWxsLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgIG5vTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtwb2x5ZmlsbH0ke2Fzc2V0UXVlcnlTdHJpbmd9YFxuICAgICAgICB9KSk7XG59XG5mdW5jdGlvbiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkge1xuICAgIHJldHVybiAhIWNoaWxkICYmICEhY2hpbGQucHJvcHM7XG59XG5mdW5jdGlvbiBBbXBTdHlsZXMoeyBzdHlsZXMgIH0pIHtcbiAgICBpZiAoIXN0eWxlcykgcmV0dXJuIG51bGw7XG4gICAgLy8gdHJ5IHRvIHBhcnNlIHN0eWxlcyBmcm9tIGZyYWdtZW50IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgY29uc3QgY3VyU3R5bGVzID0gQXJyYXkuaXNBcnJheShzdHlsZXMpID8gc3R5bGVzIDogW107XG4gICAgaWYgKC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIHN0eWxlcy5wcm9wcyAmJiAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICBBcnJheS5pc0FycmF5KHN0eWxlcy5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgaGFzU3R5bGVzID0gKGVsKT0+e1xuICAgICAgICAgICAgdmFyIF9lbF9wcm9wcywgX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGVsID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzID0gZWwucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2VsX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgICAgIHN0eWxlcy5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkLmZvckVhY2goKGVsKT0+aGFzU3R5bGVzKGVsKSAmJiBjdXJTdHlsZXMucHVzaChlbCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTdHlsZXMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY3VyU3R5bGVzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyogQWRkIGN1c3RvbSBzdHlsZXMgYmVmb3JlIEFNUCBzdHlsZXMgdG8gcHJldmVudCBhY2NpZGVudGFsIG92ZXJyaWRlcyAqLyByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICBcImFtcC1jdXN0b21cIjogXCJcIixcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogY3VyU3R5bGVzLm1hcCgoc3R5bGUpPT5zdHlsZS5wcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpLmpvaW4oXCJcIikucmVwbGFjZSgvXFwvXFwqIyBzb3VyY2VNYXBwaW5nVVJMPS4qXFwqXFwvL2csIFwiXCIpLnJlcGxhY2UoL1xcL1xcKkAgc291cmNlVVJMPS4qP1xcKlxcLy9nLCBcIlwiKVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljQ2h1bmtzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGlzRGV2ZWxvcG1lbnQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLmpzXCIpIHx8IGZpbGVzLmFsbEZpbGVzLmluY2x1ZGVzKGZpbGUpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBhc3luYzogIWlzRGV2ZWxvcG1lbnQgJiYgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRTY3JpcHRzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIHZhciBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzO1xuICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBidWlsZE1hbmlmZXN0ICwgaXNEZXZlbG9wbWVudCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAsIGNyb3NzT3JpZ2luICB9ID0gY29udGV4dDtcbiAgICBjb25zdCBub3JtYWxTY3JpcHRzID0gZmlsZXMuYWxsRmlsZXMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgY29uc3QgbG93UHJpb3JpdHlTY3JpcHRzID0gKF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMgPSBidWlsZE1hbmlmZXN0Lmxvd1ByaW9yaXR5RmlsZXMpID09IG51bGwgPyB2b2lkIDAgOiBfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuanNcIikpO1xuICAgIHJldHVybiBbXG4gICAgICAgIC4uLm5vcm1hbFNjcmlwdHMsXG4gICAgICAgIC4uLmxvd1ByaW9yaXR5U2NyaXB0c1xuICAgIF0ubWFwKChmaWxlKT0+e1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFByZU5leHRXb3JrZXJTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCAsIHNjcmlwdExvYWRlciAsIGNyb3NzT3JpZ2luICwgbmV4dFNjcmlwdFdvcmtlcnMgIH0gPSBjb250ZXh0O1xuICAgIC8vIGRpc2FibGUgYG5leHRTY3JpcHRXb3JrZXJzYCBpbiBlZGdlIHJ1bnRpbWVcbiAgICBpZiAoIW5leHRTY3JpcHRXb3JrZXJzIHx8IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHJldHVybiBudWxsO1xuICAgIHRyeSB7XG4gICAgICAgIGxldCB7IHBhcnR5dG93blNuaXBwZXQgIH0gPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcIkBidWlsZGVyLmlvL3BhcnR5dG93bi9pbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgXTtcbiAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSB1c2VyIGhhcyBkZWZpbmVkIHRoZWlyIG93biBQYXJ0eXRvd24gY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lZENvbmZpZyA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+e1xuICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcywgX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MO1xuICAgICAgICAgICAgcmV0dXJuIGhhc0NvbXBvbmVudFByb3BzKGNoaWxkKSAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfY2hpbGRfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sLmxlbmd0aCkgJiYgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIiBpbiBjaGlsZC5wcm9wcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsICF1c2VyRGVmaW5lZENvbmZpZyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgXG4gICAgICAgICAgICBwYXJ0eXRvd24gPSB7XG4gICAgICAgICAgICAgIGxpYjogXCIke2Fzc2V0UHJlZml4fS9fbmV4dC9zdGF0aWMvfnBhcnR5dG93bi9cIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93blwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IHBhcnR5dG93blNuaXBwZXQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgKHNjcmlwdExvYWRlci53b3JrZXIgfHwgW10pLm1hcCgoZmlsZSwgaW5kZXgpPT57XG4gICAgICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgc3JjICwgY2hpbGRyZW46IHNjcmlwdENoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBzcmNQcm9wcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNyYykge1xuICAgICAgICAgICAgICAgIC8vIFVzZSBleHRlcm5hbCBzcmMgaWYgcHJvdmlkZWRcbiAgICAgICAgICAgICAgICBzcmNQcm9wcy5zcmMgPSBzcmM7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgIC8vIEVtYmVkIGlubGluZSBzY3JpcHQgaWYgcHJvdmlkZWQgd2l0aCBkYW5nZXJvdXNseVNldElubmVySFRNTFxuICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgc3JjUHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSB7XG4gICAgICAgICAgICAgICAgICAgIF9faHRtbDogdHlwZW9mIHNjcmlwdENoaWxkcmVuID09PSBcInN0cmluZ1wiID8gc2NyaXB0Q2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KHNjcmlwdENoaWxkcmVuKSA/IHNjcmlwdENoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB1c2FnZSBvZiBuZXh0L3NjcmlwdC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBhIHNyYyBhdHRyaWJ1dGUgb3IgYW4gaW5saW5lIHNjcmlwdD8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1zY3JpcHRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zcmNQcm9wcyxcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRleHQvcGFydHl0b3duXCIsXG4gICAgICAgICAgICAgICAga2V5OiBzcmMgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwid29ya2VyXCIsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IHNjcmlwdExvYWRlciAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgY3Jvc3NPcmlnaW4gIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHdlYldvcmtlclNjcmlwdHMgPSBnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyhjb250ZXh0LCBwcm9wcyk7XG4gICAgY29uc3QgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzID0gKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkuZmlsdGVyKChzY3JpcHQpPT5zY3JpcHQuc3JjKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICBjb25zdCB7IHN0cmF0ZWd5ICwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgICAgICBrZXk6IHNjcmlwdFByb3BzLnNyYyB8fCBpbmRleCxcbiAgICAgICAgICAgIGRlZmVyOiBzY3JpcHRQcm9wcy5kZWZlciA/PyAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcImJlZm9yZUludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgd2ViV29ya2VyU2NyaXB0cywgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzKTtcbn1cbmZ1bmN0aW9uIGdldEhlYWRIVE1MUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB7IGNyb3NzT3JpZ2luICwgbm9uY2UgLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIC8vIFRoaXMgYXNzaWdubWVudCBpcyBuZWNlc3NhcnkgZm9yIGFkZGl0aW9uYWwgdHlwZSBjaGVja2luZyB0byBhdm9pZCB1bnN1cHBvcnRlZCBhdHRyaWJ1dGVzIGluIDxoZWFkPlxuICAgIGNvbnN0IGhlYWRQcm9wcyA9IHJlc3RQcm9wcztcbiAgICByZXR1cm4gaGVhZFByb3BzO1xufVxuZnVuY3Rpb24gZ2V0QW1wUGF0aChhbXBQYXRoLCBhc1BhdGgpIHtcbiAgICByZXR1cm4gYW1wUGF0aCB8fCBgJHthc1BhdGh9JHthc1BhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIn1hbXA9MWA7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXggPSBcIlwiKSB7XG4gICAgaWYgKCFuZXh0Rm9udE1hbmlmZXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgICAgICAgICAgcHJlbG9hZDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tcIi9fYXBwXCJdO1xuICAgIGNvbnN0IHBhZ2VGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tkYW5nZXJvdXNBc1BhdGhdO1xuICAgIGNvbnN0IHByZWxvYWRlZEZvbnRGaWxlcyA9IFtcbiAgICAgICAgLi4uYXBwRm9udHNFbnRyeSA/PyBbXSxcbiAgICAgICAgLi4ucGFnZUZvbnRzRW50cnkgPz8gW11cbiAgICBdO1xuICAgIC8vIElmIG5vIGZvbnQgZmlsZXMgc2hvdWxkIHByZWxvYWQgYnV0IHRoZXJlJ3MgYW4gZW50cnkgZm9yIHRoZSBwYXRoLCBhZGQgYSBwcmVjb25uZWN0IHRhZy5cbiAgICBjb25zdCBwcmVjb25uZWN0VG9TZWxmID0gISEocHJlbG9hZGVkRm9udEZpbGVzLmxlbmd0aCA9PT0gMCAmJiAoYXBwRm9udHNFbnRyeSB8fCBwYWdlRm9udHNFbnRyeSkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWNvbm5lY3Q6IHByZWNvbm5lY3RUb1NlbGYgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWZvbnRcIjogbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1VzaW5nU2l6ZUFkanVzdCA/IFwic2l6ZS1hZGp1c3RcIiA6IFwiXCIsXG4gICAgICAgICAgICByZWw6IFwicHJlY29ubmVjdFwiLFxuICAgICAgICAgICAgaHJlZjogXCIvXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogXCJhbm9ueW1vdXNcIlxuICAgICAgICB9KSA6IG51bGwsXG4gICAgICAgIHByZWxvYWQ6IHByZWxvYWRlZEZvbnRGaWxlcyA/IHByZWxvYWRlZEZvbnRGaWxlcy5tYXAoKGZvbnRGaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gL1xcLih3b2ZmfHdvZmYyfGVvdHx0dGZ8b3RmKSQvLmV4ZWMoZm9udEZpbGUpWzFdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZm9udEZpbGUsXG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZm9udEZpbGUpfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IGBmb250LyR7ZXh0fWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCIsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBmb250RmlsZS5pbmNsdWRlcyhcIi1zXCIpID8gXCJzaXplLWFkanVzdFwiIDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pIDogbnVsbFxuICAgIH07XG59XG5jbGFzcyBIZWFkIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgI18gPSAoKCk9PntcbiAgICAgICAgdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dC5IdG1sQ29udGV4dDtcbiAgICB9KSgpO1xuICAgIGdldENzc0xpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgZHluYW1pY0ltcG9ydHMgLCBjcm9zc09yaWdpbiAsIG9wdGltaXplQ3NzICwgb3B0aW1pemVGb250cyAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGYpPT5mLmVuZHNXaXRoKFwiLmNzc1wiKSk7XG4gICAgICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gbmV3IFNldChmaWxlcy5zaGFyZWRGaWxlcyk7XG4gICAgICAgIC8vIFVubWFuYWdlZCBmaWxlcyBhcmUgQ1NTIGZpbGVzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZVxuICAgICAgICAvLyB3ZWJwYWNrIHJ1bnRpbWUgKGBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbmApLlxuICAgICAgICBsZXQgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoW10pO1xuICAgICAgICBsZXQgZHluYW1pY0Nzc0ZpbGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGR5bmFtaWNJbXBvcnRzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuY3NzXCIpKSkpO1xuICAgICAgICBpZiAoZHluYW1pY0Nzc0ZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgU2V0KGNzc0ZpbGVzKTtcbiAgICAgICAgICAgIGR5bmFtaWNDc3NGaWxlcyA9IGR5bmFtaWNDc3NGaWxlcy5maWx0ZXIoKGYpPT4hKGV4aXN0aW5nLmhhcyhmKSB8fCBzaGFyZWRGaWxlcy5oYXMoZikpKTtcbiAgICAgICAgICAgIHVubWFuZ2VkRmlsZXMgPSBuZXcgU2V0KGR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgICAgICBjc3NGaWxlcy5wdXNoKC4uLmR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNzc0xpbmtFbGVtZW50cyA9IFtdO1xuICAgICAgICBjc3NGaWxlcy5mb3JFYWNoKChmaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgaXNTaGFyZWRGaWxlID0gc2hhcmVkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgaWYgKCFvcHRpbWl6ZUNzcykge1xuICAgICAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGAke2ZpbGV9LXByZWxvYWRgLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzVW5tYW5hZ2VkRmlsZSA9IHVubWFuZ2VkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzLnB1c2goLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgIHJlbDogXCJzdHlsZXNoZWV0XCIsXG4gICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uLWdcIjogaXNVbm1hbmFnZWRGaWxlID8gdW5kZWZpbmVkIDogaXNTaGFyZWRGaWxlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBcImRhdGEtbi1wXCI6IGlzVW5tYW5hZ2VkRmlsZSA/IHVuZGVmaW5lZCA6IGlzU2hhcmVkRmlsZSA/IHVuZGVmaW5lZCA6IFwiXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIG9wdGltaXplRm9udHMpIHtcbiAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cyA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjc3NMaW5rRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjc3NMaW5rRWxlbWVudHMubGVuZ3RoID09PSAwID8gbnVsbCA6IGNzc0xpbmtFbGVtZW50cztcbiAgICB9XG4gICAgZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMgLCBhc3NldFByZWZpeCAsIGFzc2V0UXVlcnlTdHJpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLy8gRmlsdGVyIG91dCBudWxsZWQgc2NyaXB0c1xuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXggLCBhc3NldFF1ZXJ5U3RyaW5nICwgc2NyaXB0TG9hZGVyICwgY3Jvc3NPcmlnaW4gIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHByZWxvYWRGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PntcbiAgICAgICAgICAgIHJldHVybiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUuc3JjLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogZmlsZS5zcmMsXG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLnByZWxvYWRGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmaWxlLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCB7IHNjcmlwdExvYWRlciAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgeyBub25jZSAsIGNyb3NzT3JpZ2luICB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+IXNjcmlwdC5zcmMgJiYgKHNjcmlwdC5kYW5nZXJvdXNseVNldElubmVySFRNTCB8fCBzY3JpcHQuY2hpbGRyZW4pKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgY29uc3QgeyBzdHJhdGVneSAsIGNoaWxkcmVuICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCBzcmMgLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBodG1sID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCAmJiBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpIHtcbiAgICAgICAgICAgICAgICBodG1sID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGh0bWwgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuaWQgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IG5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4gfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBtYWtlU3R5bGVzaGVldEluZXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChub2RlLCAoYyk9PntcbiAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHMxO1xuICAgICAgICAgICAgaWYgKChjID09IG51bGwgPyB2b2lkIDAgOiBjLnR5cGUpID09PSBcImxpbmtcIiAmJiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzLmhyZWYpICYmIF9jb25zdGFudHMuT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTLnNvbWUoKHsgdXJsICB9KT0+e1xuICAgICAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHNfaHJlZjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wc19ocmVmID0gX2NfcHJvcHMuaHJlZikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzX2hyZWYuc3RhcnRzV2l0aCh1cmwpO1xuICAgICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWhyZWZcIjogYy5wcm9wcy5ocmVmLFxuICAgICAgICAgICAgICAgICAgICBocmVmOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wczEgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHMxLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoYy5wcm9wcy5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgLy8gQHR5cGVzL3JlYWN0IGJ1Zy4gUmV0dXJuZWQgdmFsdWUgZnJvbSAubWFwIHdpbGwgbm90IGJlIGBudWxsYCBpZiB5b3UgcGFzcyBpbiBgW251bGxdYFxuICAgICAgICB9KS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdHlsZXMgLCBhbXBQYXRoICwgaW5BbXBNb2RlICwgaHlicmlkQW1wICwgY2Fub25pY2FsQmFzZSAsIF9fTkVYVF9EQVRBX18gLCBkYW5nZXJvdXNBc1BhdGggLCBoZWFkVGFncyAsIHVuc3RhYmxlX3J1bnRpbWVKUyAsIHVuc3RhYmxlX0pzUHJlbG9hZCAsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICwgb3B0aW1pemVDc3MgLCBvcHRpbWl6ZUZvbnRzICwgYXNzZXRQcmVmaXggLCBuZXh0Rm9udE1hbmlmZXN0ICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBkaXNhYmxlUnVudGltZUpTID0gdW5zdGFibGVfcnVudGltZUpTID09PSBmYWxzZTtcbiAgICAgICAgY29uc3QgZGlzYWJsZUpzUHJlbG9hZCA9IHVuc3RhYmxlX0pzUHJlbG9hZCA9PT0gZmFsc2UgfHwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nO1xuICAgICAgICB0aGlzLmNvbnRleHQuZG9jQ29tcG9uZW50c1JlbmRlcmVkLkhlYWQgPSB0cnVlO1xuICAgICAgICBsZXQgeyBoZWFkICB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBsZXQgY3NzUHJlbG9hZHMgPSBbXTtcbiAgICAgICAgbGV0IG90aGVySGVhZEVsZW1lbnRzID0gW107XG4gICAgICAgIGlmIChoZWFkKSB7XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGMpPT57XG4gICAgICAgICAgICAgICAgbGV0IG1ldGFUYWc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhVGFnID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxXCJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjICYmIGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJwcmVsb2FkXCIgJiYgYy5wcm9wc1tcImFzXCJdID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyAmJiBjc3NQcmVsb2Fkcy5wdXNoKG1ldGFUYWcpO1xuICAgICAgICAgICAgICAgICAgICBjc3NQcmVsb2Fkcy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVRhZyAmJiAoYy50eXBlICE9PSBcIm1ldGFcIiB8fCAhYy5wcm9wc1tcImNoYXJTZXRcIl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJIZWFkRWxlbWVudHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGhlYWQgPSBjc3NQcmVsb2Fkcy5jb25jYXQob3RoZXJIZWFkRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodGhpcy5wcm9wcy5jaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAvLyBzaG93IGEgd2FybmluZyBpZiBIZWFkIGNvbnRhaW5zIDx0aXRsZT4gKG9ubHkgaW4gZGV2ZWxvcG1lbnQpXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgICAgICBjb25zdCBpc1JlYWN0SGVsbWV0ID0gY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF9wcm9wc1tcImRhdGEtcmVhY3QtaGVsbWV0XCJdO1xuICAgICAgICAgICAgICAgIGlmICghaXNSZWFjdEhlbG1ldCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2NoaWxkX3Byb3BzMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjaGlsZCA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQudHlwZSkgPT09IFwidGl0bGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiV2FybmluZzogPHRpdGxlPiBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC10aXRsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcIm1ldGFcIiAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMxID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHMxLm5hbWUpID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHZpZXdwb3J0IG1ldGEgdGFncyBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC12aWV3cG9ydC1tZXRhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBIZWFkYCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzICYmICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhc0FtcGh0bWxSZWwgPSBmYWxzZTtcbiAgICAgICAgbGV0IGhhc0Nhbm9uaWNhbFJlbCA9IGZhbHNlO1xuICAgICAgICAvLyBzaG93IHdhcm5pbmcgYW5kIHJlbW92ZSBjb25mbGljdGluZyBhbXAgaGVhZCB0YWdzXG4gICAgICAgIGhlYWQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5tYXAoaGVhZCB8fCBbXSwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKCFjaGlsZCkgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlICwgcHJvcHMgIH0gPSBjaGlsZDtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSkge1xuICAgICAgICAgICAgICAgIGxldCBiYWRQcm9wID0gXCJcIjtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJtZXRhXCIgJiYgcHJvcHMubmFtZSA9PT0gXCJ2aWV3cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSAnbmFtZT1cInZpZXdwb3J0XCInO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImNhbm9uaWNhbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Nhbm9uaWNhbFJlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcInNjcmlwdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYmxvY2sgaWZcbiAgICAgICAgICAgICAgICAgICAgLy8gMS4gaXQgaGFzIGEgc3JjIGFuZCBpc24ndCBwb2ludGluZyB0byBhbXBwcm9qZWN0J3MgQ0ROXG4gICAgICAgICAgICAgICAgICAgIC8vIDIuIGl0IGlzIHVzaW5nIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHdpdGhvdXQgYSB0eXBlIG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgdHlwZSBvZiB0ZXh0L2phdmFzY3JpcHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLnNyYyAmJiBwcm9wcy5zcmMuaW5kZXhPZihcImFtcHByb2plY3RcIikgPCAtMSB8fCBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAmJiAoIXByb3BzLnR5cGUgfHwgcHJvcHMudHlwZSA9PT0gXCJ0ZXh0L2phdmFzY3JpcHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgPSBcIjxzY3JpcHRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKChwcm9wKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gYCAke3Byb3B9PVwiJHtwcm9wc1twcm9wXX1cImA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhZFByb3AgKz0gXCIvPlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChiYWRQcm9wKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRm91bmQgY29uZmxpY3RpbmcgYW1wIHRhZyBcIiR7Y2hpbGQudHlwZX1cIiB3aXRoIGNvbmZsaWN0aW5nIHByb3AgJHtiYWRQcm9wfSBpbiAke19fTkVYVF9EQVRBX18ucGFnZX0uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NvbmZsaWN0aW5nLWFtcC10YWdgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBub24tYW1wIG1vZGVcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJsaW5rXCIgJiYgcHJvcHMucmVsID09PSBcImFtcGh0bWxcIikge1xuICAgICAgICAgICAgICAgICAgICBoYXNBbXBodG1sUmVsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICBjb25zdCBuZXh0Rm9udExpbmtUYWdzID0gZ2V0TmV4dEZvbnRMaW5rVGFncyhuZXh0Rm9udE1hbmlmZXN0LCBkYW5nZXJvdXNBc1BhdGgsIGFzc2V0UHJlZml4KTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImhlYWRcIiwgZ2V0SGVhZEhUTUxQcm9wcyh0aGlzLnByb3BzKSwgdGhpcy5jb250ZXh0LmlzRGV2ZWxvcG1lbnQgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dC1oaWRlLWZvdWNcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBcInRydWVcIiA6IHVuZGVmaW5lZFxuICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7ZGlzcGxheTpibG9ja31gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKSksIGhlYWQsIHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1oZWFkLWNvdW50XCIsXG4gICAgICAgICAgICBjb250ZW50OiBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5jb3VudChoZWFkIHx8IFtdKS50b1N0cmluZygpXG4gICAgICAgIH0pLCBjaGlsZHJlbiwgb3B0aW1pemVGb250cyAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1mb250LXByZWNvbm5lY3RcIlxuICAgICAgICB9KSwgbmV4dEZvbnRMaW5rVGFncy5wcmVjb25uZWN0LCBuZXh0Rm9udExpbmtUYWdzLnByZWxvYWQsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCxtaW5pbXVtLXNjYWxlPTEsaW5pdGlhbC1zY2FsZT0xXCJcbiAgICAgICAgfSksICFoYXNDYW5vbmljYWxSZWwgJiYgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwiY2Fub25pY2FsXCIsXG4gICAgICAgICAgICBocmVmOiBjYW5vbmljYWxCYXNlICsgcmVxdWlyZShcIi4uL3NlcnZlci91dGlsc1wiKS5jbGVhbkFtcFBhdGgoZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlua1wiLCB7XG4gICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChBbXBTdHlsZXMsIHtcbiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICBcImFtcC1ib2lsZXJwbGF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1vei1hbmltYXRpb246LWFtcC1zdGFydCA4cyBzdGVwcygxLGVuZCkgMHMgMSBub3JtYWwgYm90aDstbXMtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7YW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUAtbW96LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1zLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW8ta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUBrZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19YFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibm9zY3JpcHRcIiwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwge1xuICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXstd2Via2l0LWFuaW1hdGlvbjpub25lOy1tb3otYW5pbWF0aW9uOm5vbmU7LW1zLWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICBzcmM6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICB9KSksICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgIWhhc0FtcGh0bWxSZWwgJiYgaHlicmlkQW1wICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpbmtcIiwge1xuICAgICAgICAgICAgcmVsOiBcImFtcGh0bWxcIixcbiAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyBnZXRBbXBQYXRoKGFtcFBhdGgsIGRhbmdlcm91c0FzUGF0aClcbiAgICAgICAgfSksIHRoaXMuZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCksICFvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSwgIW9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksICFkaXNhYmxlUnVudGltZUpTICYmICFkaXNhYmxlSnNQcmVsb2FkICYmIHRoaXMuZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MoKSwgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSwgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFByZU5leHRTY3JpcHRzKCksICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLCAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSwgb3B0aW1pemVDc3MgJiYgdGhpcy5nZXRDc3NMaW5rcyhmaWxlcyksIG9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgfSksIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8vIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIG1vdW50IGRldmVsb3BtZW50IHN0eWxlcyBzbyB0aGVcbiAgICAgICAgLy8gb3JkZXJpbmcgbWF0Y2hlcyBwcm9kdWN0aW9uXG4gICAgICAgIC8vIChieSBkZWZhdWx0LCBzdHlsZS1sb2FkZXIgaW5qZWN0cyBhdCB0aGUgYm90dG9tIG9mIDxoZWFkIC8+KVxuICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICBpZDogXCJfX25leHRfY3NzX19ET19OT1RfVVNFX19cIlxuICAgICAgICB9KSwgc3R5bGVzIHx8IG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHt9LCAuLi5oZWFkVGFncyB8fCBbXSkpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcykge1xuICAgIHZhciBfY2hpbGRyZW5fZmluZCwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMsIF9jaGlsZHJlbl9maW5kMSwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMxO1xuICAgIGlmICghcHJvcHMuY2hpbGRyZW4pIHJldHVybjtcbiAgICBjb25zdCBzY3JpcHRMb2FkZXJJdGVtcyA9IFtdO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICBdO1xuICAgIGNvbnN0IGhlYWRDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZCA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gSGVhZCkpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkcmVuX2ZpbmRfcHJvcHMgPSBfY2hpbGRyZW5fZmluZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZDEgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PmNoaWxkLnR5cGUgPT09IFwiYm9keVwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wczEgPSBfY2hpbGRyZW5fZmluZDEucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRyZW5fZmluZF9wcm9wczEuY2hpbGRyZW47XG4gICAgLy8gU2NyaXB0cyB3aXRoIGJlZm9yZUludGVyYWN0aXZlIGNhbiBiZSBwbGFjZWQgaW5zaWRlIEhlYWQgb3IgPGJvZHk+IHNvIGNoaWxkcmVuIG9mIGJvdGggbmVlZHMgdG8gYmUgdHJhdmVyc2VkXG4gICAgY29uc3QgY29tYmluZWRDaGlsZHJlbiA9IFtcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShoZWFkQ2hpbGRyZW4pID8gaGVhZENoaWxkcmVuIDogW1xuICAgICAgICAgICAgaGVhZENoaWxkcmVuXG4gICAgICAgIF0sXG4gICAgICAgIC4uLkFycmF5LmlzQXJyYXkoYm9keUNoaWxkcmVuKSA/IGJvZHlDaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIGJvZHlDaGlsZHJlblxuICAgICAgICBdXG4gICAgXTtcbiAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5mb3JFYWNoKGNvbWJpbmVkQ2hpbGRyZW4sIChjaGlsZCk9PntcbiAgICAgICAgdmFyIF9jaGlsZF90eXBlO1xuICAgICAgICBpZiAoIWNoaWxkKSByZXR1cm47XG4gICAgICAgIC8vIFdoZW4gdXNpbmcgdGhlIGBuZXh0L3NjcmlwdGAgY29tcG9uZW50LCByZWdpc3RlciBpdCBpbiBzY3JpcHQgbG9hZGVyLlxuICAgICAgICBpZiAoKF9jaGlsZF90eXBlID0gY2hpbGQudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF90eXBlLl9fbmV4dFNjcmlwdCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLnByb3BzLnN0cmF0ZWd5ID09PSBcImJlZm9yZUludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgPSAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChbXG4gICAgICAgICAgICAgICAgXCJsYXp5T25sb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJhZnRlckludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJ3b3JrZXJcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcyhjaGlsZC5wcm9wcy5zdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXJJdGVtcy5wdXNoKGNoaWxkLnByb3BzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBfX05FWFRfREFUQV9fLnNjcmlwdExvYWRlciA9IHNjcmlwdExvYWRlckl0ZW1zO1xufVxuY2xhc3MgTmV4dFNjcmlwdCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gKCgpPT57XG4gICAgICAgIHRoaXMuY29udGV4dFR5cGUgPSBfaHRtbGNvbnRleHQuSHRtbENvbnRleHQ7XG4gICAgfSkoKTtcbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0SW5saW5lU2NyaXB0U291cmNlKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBfX05FWFRfREFUQV9fICwgbGFyZ2VQYWdlRGF0YUJ5dGVzICB9ID0gY29udGV4dDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShfX05FWFRfREFUQV9fKTtcbiAgICAgICAgICAgIGlmIChsYXJnZVBhZ2VEYXRhV2FybmluZ3MuaGFzKF9fTkVYVF9EQVRBX18ucGFnZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShkYXRhKS5idWZmZXIuYnl0ZUxlbmd0aCA6IEJ1ZmZlci5mcm9tKGRhdGEpLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBwcmV0dHlCeXRlcyA9IHJlcXVpcmUoXCIuLi9saWIvcHJldHR5LWJ5dGVzXCIpLmRlZmF1bHQ7XG4gICAgICAgICAgICBpZiAobGFyZ2VQYWdlRGF0YUJ5dGVzICYmIGJ5dGVzID4gbGFyZ2VQYWdlRGF0YUJ5dGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZVBhZ2VEYXRhV2FybmluZ3MuYWRkKF9fTkVYVF9EQVRBX18ucGFnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogZGF0YSBmb3IgcGFnZSBcIiR7X19ORVhUX0RBVEFfXy5wYWdlfVwiJHtfX05FWFRfREFUQV9fLnBhZ2UgPT09IGNvbnRleHQuZGFuZ2Vyb3VzQXNQYXRoID8gXCJcIiA6IGAgKHBhdGggXCIke2NvbnRleHQuZGFuZ2Vyb3VzQXNQYXRofVwiKWB9IGlzICR7cHJldHR5Qnl0ZXMoYnl0ZXMpfSB3aGljaCBleGNlZWRzIHRoZSB0aHJlc2hvbGQgb2YgJHtwcmV0dHlCeXRlcyhsYXJnZVBhZ2VEYXRhQnl0ZXMpfSwgdGhpcyBhbW91bnQgb2YgZGF0YSBjYW4gcmVkdWNlIHBlcmZvcm1hbmNlLlxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGFyZ2UtcGFnZS1kYXRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9odG1sZXNjYXBlLmh0bWxFc2NhcGVKc29uU3RyaW5nKShkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZihcImNpcmN1bGFyIHN0cnVjdHVyZVwiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENpcmN1bGFyIHN0cnVjdHVyZSBpbiBcImdldEluaXRpYWxQcm9wc1wiIHJlc3VsdCBvZiBwYWdlIFwiJHtfX05FWFRfREFUQV9fLnBhZ2V9XCIuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2NpcmN1bGFyLXN0cnVjdHVyZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBhc3NldFByZWZpeCAsIGluQW1wTW9kZSAsIGJ1aWxkTWFuaWZlc3QgLCB1bnN0YWJsZV9ydW50aW1lSlMgLCBkb2NDb21wb25lbnRzUmVuZGVyZWQgLCBhc3NldFF1ZXJ5U3RyaW5nICwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgLCBjcm9zc09yaWdpbiAgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5OZXh0U2NyaXB0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbXBEZXZGaWxlcyA9IFtcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmRldkZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmFtcERldkZpbGVzXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHRydWVcbiAgICAgICAgICAgIH0pLCBhbXBEZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZmlsZX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jcm9zc09yaWdpbikgY29uc29sZS53YXJuKFwiV2FybmluZzogYE5leHRTY3JpcHRgIGF0dHJpYnV0ZSBgY3Jvc3NPcmlnaW5gIGlzIGRlcHJlY2F0ZWQuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2RvYy1jcm9zc29yaWdpbi1kZXByZWNhdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0RG9jdW1lbnRGaWxlcyh0aGlzLmNvbnRleHQuYnVpbGRNYW5pZmVzdCwgdGhpcy5jb250ZXh0Ll9fTkVYVF9EQVRBX18ucGFnZSwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAhZGlzYWJsZVJ1bnRpbWVKUyAmJiBidWlsZE1hbmlmZXN0LmRldkZpbGVzID8gYnVpbGRNYW5pZmVzdC5kZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIGtleTogZmlsZSxcbiAgICAgICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSkpIDogbnVsbCwgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXREeW5hbWljQ2h1bmtzKGZpbGVzKSwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gSHRtbChwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlICwgZG9jQ29tcG9uZW50c1JlbmRlcmVkICwgbG9jYWxlICwgc2NyaXB0TG9hZGVyICwgX19ORVhUX0RBVEFfXyAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLkh0bWwgPSB0cnVlO1xuICAgIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcyk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImh0bWxcIiwge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbGFuZzogcHJvcHMubGFuZyB8fCBsb2NhbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhbXA6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IHVuZGVmaW5lZFxuICAgIH0pO1xufVxuZnVuY3Rpb24gTWFpbigpIHtcbiAgICBjb25zdCB7IGRvY0NvbXBvbmVudHNSZW5kZXJlZCAgfSA9ICgwLCBfaHRtbGNvbnRleHQudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk1haW4gPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmV4dC1qcy1pbnRlcm5hbC1ib2R5LXJlbmRlci10YXJnZXRcIiwgbnVsbCk7XG59XG5jbGFzcyBEb2N1bWVudCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAqIGBnZXRJbml0aWFsUHJvcHNgIGhvb2sgcmV0dXJucyB0aGUgY29udGV4dCBvYmplY3Qgd2l0aCB0aGUgYWRkaXRpb24gb2YgYHJlbmRlclBhZ2VgLlxuICAgKiBgcmVuZGVyUGFnZWAgY2FsbGJhY2sgZXhlY3V0ZXMgYFJlYWN0YCByZW5kZXJpbmcgbG9naWMgc3luY2hyb25vdXNseSB0byBzdXBwb3J0IHNlcnZlci1yZW5kZXJpbmcgd3JhcHBlcnNcbiAgICovIHN0YXRpYyBnZXRJbml0aWFsUHJvcHMoY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHguZGVmYXVsdEdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG4gICAgfVxufVxuLy8gQWRkIGEgc3BlY2lhbCBwcm9wZXJ0eSB0byB0aGUgYnVpbHQtaW4gYERvY3VtZW50YCBjb21wb25lbnQgc28gbGF0ZXIgd2UgY2FuXG4vLyBpZGVudGlmeSBpZiBhIHVzZXIgY3VzdG9taXplZCBgRG9jdW1lbnRgIGlzIHVzZWQgb3Igbm90LlxuY29uc3QgSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50ID0gZnVuY3Rpb24gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50KCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSHRtbCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIG51bGwpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChNYWluLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KE5leHRTY3JpcHQsIG51bGwpKSk7XG59O1xuRG9jdW1lbnRbX2NvbnN0YW50cy5ORVhUX0JVSUxUSU5fRE9DVU1FTlRdID0gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZG9jdW1lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSGVhZCIsIk5leHRTY3JpcHQiLCJIdG1sIiwiTWFpbiIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEb2N1bWVudCIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2dldHBhZ2VmaWxlcyIsIl9odG1sZXNjYXBlIiwiX2lzZXJyb3IiLCJfaHRtbGNvbnRleHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwibGFyZ2VQYWdlRGF0YVdhcm5pbmdzIiwiU2V0IiwiZ2V0RG9jdW1lbnRGaWxlcyIsImJ1aWxkTWFuaWZlc3QiLCJwYXRobmFtZSIsImluQW1wTW9kZSIsInNoYXJlZEZpbGVzIiwiZ2V0UGFnZUZpbGVzIiwicGFnZUZpbGVzIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImFsbEZpbGVzIiwiZ2V0UG9seWZpbGxTY3JpcHRzIiwiY29udGV4dCIsInByb3BzIiwiYXNzZXRQcmVmaXgiLCJhc3NldFF1ZXJ5U3RyaW5nIiwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciLCJjcm9zc09yaWdpbiIsInBvbHlmaWxsRmlsZXMiLCJmaWx0ZXIiLCJwb2x5ZmlsbCIsImVuZHNXaXRoIiwibWFwIiwiY3JlYXRlRWxlbWVudCIsImtleSIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImhhc0NvbXBvbmVudFByb3BzIiwiY2hpbGQiLCJBbXBTdHlsZXMiLCJzdHlsZXMiLCJjdXJTdHlsZXMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZHJlbiIsImhhc1N0eWxlcyIsImVsIiwiX2VsX3Byb3BzIiwiX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJmb3JFYWNoIiwicHVzaCIsInN0eWxlIiwiam9pbiIsInJlcGxhY2UiLCJnZXREeW5hbWljQ2h1bmtzIiwiZmlsZXMiLCJkeW5hbWljSW1wb3J0cyIsImlzRGV2ZWxvcG1lbnQiLCJmaWxlIiwiaW5jbHVkZXMiLCJhc3luYyIsImVuY29kZVVSSSIsImdldFNjcmlwdHMiLCJfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzIiwibm9ybWFsU2NyaXB0cyIsImxvd1ByaW9yaXR5U2NyaXB0cyIsImxvd1ByaW9yaXR5RmlsZXMiLCJnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyIsInNjcmlwdExvYWRlciIsIm5leHRTY3JpcHRXb3JrZXJzIiwicGFydHl0b3duU25pcHBldCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwidXNlckRlZmluZWRDb25maWciLCJmaW5kIiwiX2NoaWxkX3Byb3BzIiwiX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwibGVuZ3RoIiwiRnJhZ21lbnQiLCJ3b3JrZXIiLCJpbmRleCIsInN0cmF0ZWd5Iiwic2NyaXB0Q2hpbGRyZW4iLCJzY3JpcHRQcm9wcyIsInNyY1Byb3BzIiwiRXJyb3IiLCJ0eXBlIiwiZXJyIiwiY29kZSIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImdldFByZU5leHRTY3JpcHRzIiwid2ViV29ya2VyU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyIsImJlZm9yZUludGVyYWN0aXZlIiwic2NyaXB0IiwiZ2V0SGVhZEhUTUxQcm9wcyIsInJlc3RQcm9wcyIsImhlYWRQcm9wcyIsImdldEFtcFBhdGgiLCJhbXBQYXRoIiwiYXNQYXRoIiwiZ2V0TmV4dEZvbnRMaW5rVGFncyIsIm5leHRGb250TWFuaWZlc3QiLCJkYW5nZXJvdXNBc1BhdGgiLCJwcmVjb25uZWN0IiwicHJlbG9hZCIsImFwcEZvbnRzRW50cnkiLCJwYWdlcyIsInBhZ2VGb250c0VudHJ5IiwicHJlbG9hZGVkRm9udEZpbGVzIiwicHJlY29ubmVjdFRvU2VsZiIsInBhZ2VzVXNpbmdTaXplQWRqdXN0IiwicmVsIiwiaHJlZiIsImZvbnRGaWxlIiwiZXh0IiwiZXhlYyIsImFzIiwiQ29tcG9uZW50IiwiXyIsImNvbnRleHRUeXBlIiwiSHRtbENvbnRleHQiLCJnZXRDc3NMaW5rcyIsIm9wdGltaXplQ3NzIiwib3B0aW1pemVGb250cyIsImNzc0ZpbGVzIiwiZiIsInVubWFuZ2VkRmlsZXMiLCJkeW5hbWljQ3NzRmlsZXMiLCJmcm9tIiwiZXhpc3RpbmciLCJoYXMiLCJjc3NMaW5rRWxlbWVudHMiLCJpc1NoYXJlZEZpbGUiLCJpc1VubWFuYWdlZEZpbGUiLCJ1bmRlZmluZWQiLCJtYWtlU3R5bGVzaGVldEluZXJ0IiwiZ2V0UHJlbG9hZER5bmFtaWNDaHVua3MiLCJCb29sZWFuIiwiZ2V0UHJlbG9hZE1haW5MaW5rcyIsInByZWxvYWRGaWxlcyIsImdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cyIsImh0bWwiLCJpZCIsIl9fTkVYVF9DUk9TU19PUklHSU4iLCJub2RlIiwiQ2hpbGRyZW4iLCJjIiwiX2NfcHJvcHMiLCJfY19wcm9wczEiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJzb21lIiwidXJsIiwiX2NfcHJvcHNfaHJlZiIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsImNsb25lRWxlbWVudCIsInJlbmRlciIsImh5YnJpZEFtcCIsImNhbm9uaWNhbEJhc2UiLCJfX05FWFRfREFUQV9fIiwiaGVhZFRhZ3MiLCJ1bnN0YWJsZV9ydW50aW1lSlMiLCJ1bnN0YWJsZV9Kc1ByZWxvYWQiLCJkaXNhYmxlUnVudGltZUpTIiwiZGlzYWJsZUpzUHJlbG9hZCIsImRvY0NvbXBvbmVudHNSZW5kZXJlZCIsImhlYWQiLCJjc3NQcmVsb2FkcyIsIm90aGVySGVhZEVsZW1lbnRzIiwibWV0YVRhZyIsInN0cmljdE5leHRIZWFkIiwiY29udGVudCIsImNvbmNhdCIsInRvQXJyYXkiLCJpc1JlYWN0SGVsbWV0IiwiX2NoaWxkX3Byb3BzMSIsImhhc0FtcGh0bWxSZWwiLCJoYXNDYW5vbmljYWxSZWwiLCJiYWRQcm9wIiwiaW5kZXhPZiIsImtleXMiLCJwcm9wIiwicGFnZSIsIm5leHRGb250TGlua1RhZ3MiLCJjb3VudCIsInRvU3RyaW5nIiwiY2xlYW5BbXBQYXRoIiwiaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyIsIl9jaGlsZHJlbl9maW5kIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMiLCJfY2hpbGRyZW5fZmluZDEiLCJfY2hpbGRyZW5fZmluZF9wcm9wczEiLCJzY3JpcHRMb2FkZXJJdGVtcyIsImhlYWRDaGlsZHJlbiIsImJvZHlDaGlsZHJlbiIsImNvbWJpbmVkQ2hpbGRyZW4iLCJfY2hpbGRfdHlwZSIsIl9fbmV4dFNjcmlwdCIsImdldElubGluZVNjcmlwdFNvdXJjZSIsImxhcmdlUGFnZURhdGFCeXRlcyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiaHRtbEVzY2FwZUpzb25TdHJpbmciLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiYnVmZmVyIiwiYnl0ZUxlbmd0aCIsIkJ1ZmZlciIsInByZXR0eUJ5dGVzIiwiYWRkIiwiYW1wRGV2RmlsZXMiLCJkZXZGaWxlcyIsImxvY2FsZSIsInVzZUh0bWxDb250ZXh0IiwibGFuZyIsImFtcCIsImdldEluaXRpYWxQcm9wcyIsImN0eCIsImRlZmF1bHRHZXRJbml0aWFsUHJvcHMiLCJJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); - -/***/ }), - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"@rainbow-me/rainbowkit\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi */ \"wagmi\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/chains */ \"wagmi/chains\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! wagmi/providers/public */ \"wagmi/providers/public\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__]);\n([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__, wagmi__WEBPACK_IMPORTED_MODULE_4__, wagmi_chains__WEBPACK_IMPORTED_MODULE_5__, wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_6__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_4__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp({ Component, pageProps }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_4__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_3__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyApp);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0I7QUFDWTtBQU1YO0FBRW1DO0FBUzdDO0FBQ2tDO0FBRXhELE1BQU0sRUFBRWMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLHFCQUFxQixFQUFFLEdBQUdiLHNEQUFlQSxDQUNyRTtJQUNFSyxpREFBT0E7SUFDUEUsaURBQU9BO0lBQ1BELGtEQUFRQTtJQUNSSCxrREFBUUE7SUFDUkssOENBQUlBO0lBQ0pKLGdEQUFNQTtJQUNOSyxpREFBT0E7T0FDSEssUUFBUUMsR0FBRyxDQUFDQywyQkFBMkIsS0FBSyxTQUFTO1FBQUNaLGdEQUFNQTtLQUFDLEdBQUcsRUFBRTtDQUN2RSxFQUNEO0lBQUNNLHNFQUFjQTtDQUFHO0FBR3BCLE1BQU0sRUFBRU8sVUFBVSxFQUFFLEdBQUdwQix5RUFBaUJBLENBQUM7SUFDdkNxQixTQUFTO0lBQ1RDLFdBQVc7SUFDWFI7QUFDRjtBQUVBLE1BQU1TLGNBQWNuQixtREFBWUEsQ0FBQztJQUMvQm9CLGFBQWE7SUFDYko7SUFDQUw7SUFDQUM7QUFDRjtBQUVBLFNBQVNTLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxTQUFTLEVBQVk7SUFDL0MscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0FBRUEsaUVBQWVGLEtBQUtBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n"); - -/***/ }), - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full lg:max-w-full px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CreditCard);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQTBCOzs7Ozs7MENBQ3pDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7QUFFQSxpRUFBZUYsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGxnOm1heC13LWZ1bGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1leHRyYWJvbGQgdGV4dC0yeGxcIj5ERVBPU0lUPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREMgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+MTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTVcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+UEFZUEFMPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n"); - -/***/ }), - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"@rainbow-me/rainbowkit\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__]);\n_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DigitalWallet);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQ2hFLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUczRCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0FBRUEsaUVBQWVULGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBZT1VSIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgc2hvd0JhbGFuY2U9e3tcbiAgICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoYWluU3RhdHVzPVwiaWNvblwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n"); - -/***/ }), - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"react-scroll\");\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_scroll__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: elem?.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-20 text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FrontPage);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9DO0FBRXBDLE1BQU1DLFlBQVk7SUFDaEIsTUFBTUMsZUFBZSxDQUFDQztRQUNwQkEsRUFBRUMsY0FBYztRQUNoQixtQ0FBbUM7UUFDbkMsTUFBTUMsV0FBV0YsRUFBRUcsYUFBYSxDQUFDQyxJQUFJLENBQUNDLE9BQU8sQ0FBQyxRQUFRO1FBQ3RELE1BQU1DLE9BQU9DLFNBQVNDLGNBQWMsQ0FBQ047UUFDckNPLE9BQU9DLFFBQVEsQ0FBQztZQUNkQyxLQUFLTCxNQUFNTSx3QkFBd0JEO1lBQ25DRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUF1RTtzQ0FFbkYsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztBQUVBLGlFQUFlakIsU0FBU0EsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIG14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTIwIHRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsInByZXZlbnREZWZhdWx0IiwidGFyZ2V0SWQiLCJjdXJyZW50VGFyZ2V0IiwiaHJlZiIsInJlcGxhY2UiLCJlbGVtIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n"); - -/***/ }), - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-20 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-20 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Navigation);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7QUFFQSxpRUFBZUgsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0yMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0yMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n"); - -/***/ }), - -/***/ "./pages/index.tsx": -/*!*************************!*\ - !*** ./pages/index.tsx ***! - \*************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Navigation */ \"./pages/components/Navigation.tsx\");\n/* harmony import */ var _components_FrontPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/FrontPage */ \"./pages/components/FrontPage.tsx\");\n/* harmony import */ var _components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/DigitalWallet */ \"./pages/components/DigitalWallet.tsx\");\n/* harmony import */ var _components_CreditCard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/CreditCard */ \"./pages/components/CreditCard.tsx\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__]);\n_components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n\n//Components\n\n\n\n\nconst Home = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"title\", {\n children: \" Buy Me a Crypto\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Navigation__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_FrontPage__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 18,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_CreditCard__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 19,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 14,\n columnNumber: 5\n }, undefined);\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Home);\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9pbmRleC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFLQSxZQUFZO0FBQ3FDO0FBQ0Y7QUFDUTtBQUNOO0FBRWpELE1BQU1JLE9BQWlCO0lBQ3JCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDOzBCQUFNOzs7Ozs7MEJBQ1AsOERBQUNOLDhEQUFVQTs7Ozs7MEJBQ1gsOERBQUNDLDZEQUFTQTs7Ozs7MEJBQ1YsOERBQUNDLGlFQUFhQTs7Ozs7MEJBQ2QsOERBQUNDLDhEQUFVQTs7Ozs7Ozs7Ozs7QUFHakI7QUFFQSxpRUFBZUMsSUFBSUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL3BhZ2VzL2luZGV4LnRzeD8wN2ZmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuaW1wb3J0IHR5cGUgeyBOZXh0UGFnZSB9IGZyb20gXCJuZXh0XCI7XG5pbXBvcnQgSGVhZCBmcm9tIFwibmV4dC9oZWFkXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuLi9zdHlsZXMvSG9tZS5tb2R1bGUuY3NzXCI7XG5cbi8vQ29tcG9uZW50c1xuaW1wb3J0IE5hdmlnYXRpb24gZnJvbSBcIi4vY29tcG9uZW50cy9OYXZpZ2F0aW9uXCI7XG5pbXBvcnQgRnJvbnRQYWdlIGZyb20gXCIuL2NvbXBvbmVudHMvRnJvbnRQYWdlXCI7XG5pbXBvcnQgRGlnaXRhbFdhbGxldCBmcm9tIFwiLi9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXRcIjtcbmltcG9ydCBDcmVkaXRDYXJkIGZyb20gXCIuL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZFwiO1xuXG5jb25zdCBIb21lOiBOZXh0UGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPHRpdGxlPiBCdXkgTWUgYSBDcnlwdG88L3RpdGxlPlxuICAgICAgPE5hdmlnYXRpb24gLz5cbiAgICAgIDxGcm9udFBhZ2UgLz5cbiAgICAgIDxEaWdpdGFsV2FsbGV0IC8+XG4gICAgICA8Q3JlZGl0Q2FyZCAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgSG9tZTtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiRnJvbnRQYWdlIiwiRGlnaXRhbFdhbGxldCIsIkNyZWRpdENhcmQiLCJIb21lIiwiZGl2IiwidGl0bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/index.tsx\n"); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \************************************************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./styles/globals.css": -/*!****************************!*\ - !*** ./styles/globals.css ***! - \****************************/ -/***/ (() => { - - - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"../shared/lib/is-plain-object\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxvRUFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/pretty-bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-kind.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-kind.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2J1eW1lYWNyeXB0by8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/route-modules/pages/module.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/route-modules/pages/module.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PagesRouteModule: function() {\n return PagesRouteModule;\n },\n default: function() {\n return _default;\n }\n});\nconst _routemodule = __webpack_require__(/*! ../route-module */ \"../route-module\");\nconst _render = __webpack_require__(/*! ../../../render */ \"../../../render\");\nclass PagesRouteModule extends _routemodule.RouteModule {\n constructor(options){\n super(options);\n this.components = options.components;\n }\n render(req, res, context) {\n return (0, _render.renderToHTMLImpl)(req, res, context.page, context.query, context.renderOpts, {\n App: this.components.App,\n Document: this.components.Document\n });\n }\n}\nconst _default = PagesRouteModule;\n\n//# sourceMappingURL=module.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QscUJBQXFCLG1CQUFPLENBQUMsd0NBQWlCO0FBQzlDLGdCQUFnQixtQkFBTyxDQUFDLHdDQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYnV5bWVhY3J5cHRvLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvbW9kdWxlLmpzP2M5Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQYWdlc1JvdXRlTW9kdWxlOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUGFnZXNSb3V0ZU1vZHVsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlc1JvdXRlTW9kdWxlO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1vZHVsZSA9IHJlcXVpcmUoXCIuLi9yb3V0ZS1tb2R1bGVcIik7XG5jb25zdCBfcmVuZGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3JlbmRlclwiKTtcbmNsYXNzIFBhZ2VzUm91dGVNb2R1bGUgZXh0ZW5kcyBfcm91dGVtb2R1bGUuUm91dGVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpe1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzO1xuICAgIH1cbiAgICByZW5kZXIocmVxLCByZXMsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfcmVuZGVyLnJlbmRlclRvSFRNTEltcGwpKHJlcSwgcmVzLCBjb250ZXh0LnBhZ2UsIGNvbnRleHQucXVlcnksIGNvbnRleHQucmVuZGVyT3B0cywge1xuICAgICAgICAgICAgQXBwOiB0aGlzLmNvbXBvbmVudHMuQXBwLFxuICAgICAgICAgICAgRG9jdW1lbnQ6IHRoaXMuY29tcG9uZW50cy5Eb2N1bWVudFxuICAgICAgICB9KTtcbiAgICB9XG59XG5jb25zdCBfZGVmYXVsdCA9IFBhZ2VzUm91dGVNb2R1bGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.js\n"); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-dev-runtime.development.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-dev-runtime.development.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"react\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n\nvar jsxDEV$1 = jsxWithValidation ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV$1;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxvQkFBTzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxlQUFlO0FBQzFCLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjs7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz8xN2UxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIEFUVEVOVElPTlxuLy8gV2hlbiBhZGRpbmcgbmV3IHN5bWJvbHMgdG8gdGhpcyBmaWxlLFxuLy8gUGxlYXNlIGNvbnNpZGVyIGFsc28gYWRkaW5nIHRvICdyZWFjdC1kZXZ0b29scy1zaGFyZWQvc3JjL2JhY2tlbmQvUmVhY3RTeW1ib2xzJ1xuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpO1xudmFyIFJFQUNUX1BPUlRBTF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucG9ydGFsJyk7XG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50Jyk7XG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJyk7XG52YXIgUkVBQ1RfUFJPRklMRVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb2ZpbGVyJyk7XG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJyk7XG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubGF6eScpO1xudmFyIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Qub2Zmc2NyZWVuJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIHtcbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcmludFdhcm5pbmcobGV2ZWwsIGZvcm1hdCwgYXJncykge1xuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cbiAgLy8gdXBkYXRlIGNvbnNvbGVXaXRoU3RhY2tEZXYud3d3LmpzIGFzIHdlbGwuXG4gIHtcbiAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICBpZiAoc3RhY2sgIT09ICcnKSB7XG4gICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIFN0cmluZyhpdGVtKTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRTtcblxue1xuICBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QubW9kdWxlLnJlZmVyZW5jZScpO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gTm90ZTogdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgKGUuZy4gaWYgaXQncyBhIHBvbHlmaWxsKS5cblxuXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgZW5hYmxlRGVidWdUcmFjaW5nICB8fCB0eXBlID09PSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFIHx8IGVuYWJsZUxlZ2FjeUhpZGRlbiAgfHwgdHlwZSA9PT0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEUgfHwgZW5hYmxlU2NvcGVBUEkgIHx8IGVuYWJsZUNhY2hlRWxlbWVudCAgfHwgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIFRoaXMgbmVlZHMgdG8gaW5jbHVkZSBhbGwgcG9zc2libGUgbW9kdWxlIHJlZmVyZW5jZSBvYmplY3RcbiAgICAvLyB0eXBlcyBzdXBwb3J0ZWQgYnkgYW55IEZsaWdodCBjb25maWd1cmF0aW9uIGFueXdoZXJlIHNpbmNlXG4gICAgLy8gd2UgZG9uJ3Qga25vdyB3aGljaCBGbGlnaHQgYnVpbGQgdGhpcyB3aWxsIGVuZCB1cCBiZWluZyB1c2VkXG4gICAgLy8gd2l0aC5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFIHx8IHR5cGUuZ2V0TW9kdWxlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICBpZiAocHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEV4dHJhY3QgdGhlIFZNIHNwZWNpZmljIHByZWZpeCB1c2VkIGJ5IGVhY2ggbGluZS5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgIHByZWZpeCA9IG1hdGNoICYmIG1hdGNoWzFdIHx8ICcnO1xuICAgICAgfVxuICAgIH0gLy8gV2UgdXNlIHRoZSBwcmVmaXggdG8gZW5zdXJlIG91ciBzdGFja3MgbGluZSB1cCB3aXRoIG5hdGl2ZSBzdGFjayBmcmFtZXMuXG5cblxuICAgIHJldHVybiAnXFxuJyArIHByZWZpeCArIG5hbWU7XG4gIH1cbn1cbnZhciByZWVudHJ5ID0gZmFsc2U7XG52YXIgY29tcG9uZW50RnJhbWVDYWNoZTtcblxue1xuICB2YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwO1xuICBjb21wb25lbnRGcmFtZUNhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgLy8gSWYgc29tZXRoaW5nIGFza2VkIGZvciBhIHN0YWNrIGluc2lkZSBhIGZha2UgcmVuZGVyLCBpdCBzaG91bGQgZ2V0IGlnbm9yZWQuXG4gIGlmICggIWZuIHx8IHJlZW50cnkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB7XG4gICAgdmFyIGZyYW1lID0gY29tcG9uZW50RnJhbWVDYWNoZS5nZXQoZm4pO1xuXG4gICAgaWYgKGZyYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmcmFtZTtcbiAgICB9XG4gIH1cblxuICB2YXIgY29udHJvbDtcbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWUgSXQgZG9lcyBhY2NlcHQgdW5kZWZpbmVkLlxuXG4gIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdW5kZWZpbmVkO1xuICB2YXIgcHJldmlvdXNEaXNwYXRjaGVyO1xuXG4gIHtcbiAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7IC8vIFNldCB0aGUgZGlzcGF0Y2hlciBpbiBERVYgYmVjYXVzZSB0aGlzIG1pZ2h0IGJlIGNhbGwgaW4gdGhlIHJlbmRlciBmdW5jdGlvblxuICAgIC8vIGZvciB3YXJuaW5ncy5cblxuICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgc291cmNlLCBvd25lckZuKSB7XG4gIHtcbiAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgZmFsc2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcbiAgdmFyIHByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4gIHJldHVybiAhIShwcm90b3R5cGUgJiYgcHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSwgc291cmNlLCBvd25lckZuKSB7XG5cbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUsIHNob3VsZENvbnN0cnVjdCh0eXBlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSh0eXBlKTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2UnKTtcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZUxpc3QnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAvLyBNZW1vIG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUudHlwZSwgc291cmNlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBzb3VyY2UsIG93bmVyRm4pO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZWxlbWVudCkge1xuICB7XG4gICAgLy8gJEZsb3dGaXhNZSBUaGlzIGlzIG9rYXkgYnV0IEZsb3cgZG9lc24ndCBrbm93IGl0LlxuICAgIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoaGFzT3duUHJvcGVydHkpO1xuXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yJDEgPSB2b2lkIDA7IC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICsgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nKTtcbiAgICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVycm9yJDEgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsICdTRUNSRVRfRE9fTk9UX1BBU1NfVEhJU19PUl9ZT1VfV0lMTF9CRV9GSVJFRCcpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgIGVycm9yJDEgPSBleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxICYmICEoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJXMnICsgJyBgJXNgIGlzIGludmFsaWQ7IHRoZSB0eXBlIGNoZWNrZXIgJyArICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAlcy4gJyArICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICsgJ2NyZWF0b3IgKGFycmF5T2YsIGluc3RhbmNlT2YsIG9iamVjdE9mLCBvbmVPZiwgb25lT2ZUeXBlLCBhbmQgJyArICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJywgY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnLCBsb2NhdGlvbiwgdHlwZVNwZWNOYW1lLCB0eXBlb2YgZXJyb3IkMSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvciQxLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yJDEubWVzc2FnZV0gPSB0cnVlO1xuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgICAgICAgZXJyb3IoJ0ZhaWxlZCAlcyB0eXBlOiAlcycsIGxvY2F0aW9uLCBlcnJvciQxLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vKlxuICogVGhlIGAnJyArIHZhbHVlYCBwYXR0ZXJuICh1c2VkIGluIGluIHBlcmYtc2Vuc2l0aXZlIGNvZGUpIHRocm93cyBmb3IgU3ltYm9sXG4gKiBhbmQgVGVtcG9yYWwuKiB0eXBlcy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzIyMDY0LlxuICpcbiAqIFRoZSBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlYXNpZXItdG8tdW5kZXJzdGFuZCxcbiAqIGVhc2llci10by1kZWJ1ZyBleGNlcHRpb24gd2l0aCBhIGNsZWFyIGVycm9ycyBtZXNzYWdlIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGVcbiAqIHByb2JsZW0uIChJbnN0ZWFkIG9mIGEgY29uZnVzaW5nIGV4Y2VwdGlvbiB0aHJvd24gaW5zaWRlIHRoZSBpbXBsZW1lbnRhdGlvblxuICogb2YgdGhlIGB2YWx1ZWAgb2JqZWN0KS5cbiAqL1xuLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cbmZ1bmN0aW9uIHR5cGVOYW1lKHZhbHVlKSB7XG4gIHtcbiAgICAvLyB0b1N0cmluZ1RhZyBpcyBuZWVkZWQgZm9yIG5hbWVzcGFjZWQgdHlwZXMgbGlrZSBUZW1wb3JhbC5JbnN0YW50XG4gICAgdmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wudG9TdHJpbmdUYWc7XG4gICAgdmFyIHR5cGUgPSBoYXNUb1N0cmluZ1RhZyAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddIHx8IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHwgJ09iamVjdCc7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn0gLy8gJEZsb3dGaXhNZSBvbmx5IGNhbGxlZCBpbiBERVYsIHNvIHZvaWQgcmV0dXJuIGlzIG5vdCBwb3NzaWJsZS5cblxuXG5mdW5jdGlvbiB3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkge1xuICB7XG4gICAgdHJ5IHtcbiAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAvLyBJZiB5b3UgZW5kZWQgdXAgaGVyZSBieSBmb2xsb3dpbmcgYW4gZXhjZXB0aW9uIGNhbGwgc3RhY2ssIGhlcmUncyB3aGF0J3NcbiAgLy8gaGFwcGVuZWQ6IHlvdSBzdXBwbGllZCBhbiBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIFJlYWN0IChhcyBhIHByb3AsIGtleSxcbiAgLy8gRE9NIGF0dHJpYnV0ZSwgQ1NTIHByb3BlcnR5LCBzdHJpbmcgcmVmLCBldGMuKSBhbmQgd2hlbiBSZWFjdCB0cmllZCB0b1xuICAvLyBjb2VyY2UgaXQgdG8gYSBzdHJpbmcgdXNpbmcgYCcnICsgdmFsdWVgLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi5cbiAgLy9cbiAgLy8gVGhlIG1vc3QgY29tbW9uIHR5cGVzIHRoYXQgd2lsbCBjYXVzZSB0aGlzIGV4Y2VwdGlvbiBhcmUgYFN5bWJvbGAgaW5zdGFuY2VzXG4gIC8vIGFuZCBUZW1wb3JhbCBvYmplY3RzIGxpa2UgYFRlbXBvcmFsLkluc3RhbnRgLiBCdXQgYW55IG9iamVjdCB0aGF0IGhhcyBhXG4gIC8vIGB2YWx1ZU9mYCBvciBgW1N5bWJvbC50b1ByaW1pdGl2ZV1gIG1ldGhvZCB0aGF0IHRocm93cyB3aWxsIGFsc28gY2F1c2UgdGhpc1xuICAvLyBleGNlcHRpb24uIChMaWJyYXJ5IGF1dGhvcnMgZG8gdGhpcyB0byBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgYnVpbHQtaW5cbiAgLy8gbnVtZXJpYyBvcGVyYXRvcnMgbGlrZSBgK2Agb3IgY29tcGFyaXNvbiBvcGVyYXRvcnMgbGlrZSBgPj1gIGJlY2F1c2UgY3VzdG9tXG4gIC8vIG1ldGhvZHMgYXJlIG5lZWRlZCB0byBwZXJmb3JtIGFjY3VyYXRlIGFyaXRobWV0aWMgb3IgY29tcGFyaXNvbi4pXG4gIC8vXG4gIC8vIFRvIGZpeCB0aGUgcHJvYmxlbSwgY29lcmNlIHRoaXMgb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyBiZWZvcmVcbiAgLy8gcGFzc2luZyBpdCB0byBSZWFjdC4gVGhlIG1vc3QgcmVsaWFibGUgd2F5IGlzIHVzdWFsbHkgYFN0cmluZyh2YWx1ZSlgLlxuICAvL1xuICAvLyBUbyBmaW5kIHdoaWNoIHZhbHVlIGlzIHRocm93aW5nLCBjaGVjayB0aGUgYnJvd3NlciBvciBkZWJ1Z2dlciBjb25zb2xlLlxuICAvLyBCZWZvcmUgdGhpcyBleGNlcHRpb24gd2FzIHRocm93biwgdGhlcmUgc2hvdWxkIGJlIGBjb25zb2xlLmVycm9yYCBvdXRwdXRcbiAgLy8gdGhhdCBzaG93cyB0aGUgdHlwZSAoU3ltYm9sLCBUZW1wb3JhbC5QbGFpbkRhdGUsIGV0Yy4pIHRoYXQgY2F1c2VkIHRoZVxuICAvLyBwcm9ibGVtIGFuZCBob3cgdGhhdCB0eXBlIHdhcyB1c2VkOiBrZXksIGF0cnJpYnV0ZSwgaW5wdXQgdmFsdWUgcHJvcCwgZXRjLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIGNvbnNvbGUgb3V0cHV0IGFsc28gc2hvd3MgdGhlIGNvbXBvbmVudCBhbmQgaXRzXG4gIC8vIGFuY2VzdG9yIGNvbXBvbmVudHMgd2hlcmUgdGhlIGV4Y2VwdGlvbiBoYXBwZW5lZC5cbiAgLy9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gIHJldHVybiAnJyArIHZhbHVlO1xufVxuZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgYW4gdW5zdXBwb3J0ZWQgdHlwZSAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bjtcbnZhciBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bjtcbnZhciBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzO1xuXG57XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRSZWYoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAncmVmJykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdrZXknKSkge1xuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xuXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5rZXkgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcucmVmID09PSAnc3RyaW5nJyAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50ICYmIHNlbGYgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC5zdGF0ZU5vZGUgIT09IHNlbGYpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKSwgY29uZmlnLnJlZik7XG5cbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB7XG4gICAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd2FybkFib3V0QWNjZXNzaW5nUmVmLmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG59XG4vKipcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXG4gKiB0aGUgY2xhc3MgcGF0dGVybiwgc28gZG8gbm90IHVzZSBuZXcgdG8gY2FsbCBpdC4gQWxzbywgaW5zdGFuY2VvZiBjaGVja1xuICogd2lsbCBub3Qgd29yay4gSW5zdGVhZCB0ZXN0ICQkdHlwZW9mIGZpZWxkIGFnYWluc3QgU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIHRvIGNoZWNrXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7Kn0gdHlwZVxuICogQHBhcmFtIHsqfSBwcm9wc1xuICogQHBhcmFtIHsqfSBrZXlcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gcmVmXG4gKiBAcGFyYW0geyp9IG93bmVyXG4gKiBAcGFyYW0geyp9IHNlbGYgQSAqdGVtcG9yYXJ5KiBoZWxwZXIgdG8gZGV0ZWN0IHBsYWNlcyB3aGVyZSBgdGhpc2AgaXNcbiAqIGRpZmZlcmVudCBmcm9tIHRoZSBgb3duZXJgIHdoZW4gUmVhY3QuY3JlYXRlRWxlbWVudCBpcyBjYWxsZWQsIHNvIHRoYXQgd2VcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XG4gKiBmdW5jdGlvbnMsIGFuZCBhcyBsb25nIGFzIGB0aGlzYCBhbmQgb3duZXIgYXJlIHRoZSBzYW1lLCB0aGVyZSB3aWxsIGJlIG5vXG4gKiBjaGFuZ2UgaW4gYmVoYXZpb3IuXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcbiAqIGluZGljYXRpbmcgZmlsZW5hbWUsIGxpbmUgbnVtYmVyLCBhbmQvb3Igb3RoZXIgaW5mb3JtYXRpb24uXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gIHZhciBlbGVtZW50ID0ge1xuICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXG4gICAgLy8gQnVpbHQtaW4gcHJvcGVydGllcyB0aGF0IGJlbG9uZyBvbiB0aGUgZWxlbWVudFxuICAgIHR5cGU6IHR5cGUsXG4gICAga2V5OiBrZXksXG4gICAgcmVmOiByZWYsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBvd25lclxuICB9O1xuXG4gIHtcbiAgICAvLyBUaGUgdmFsaWRhdGlvbiBmbGFnIGlzIGN1cnJlbnRseSBtdXRhdGl2ZS4gV2UgcHV0IGl0IG9uXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cbiAgICAvLyBUaGlzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgV2Vha01hcCBvbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIGluXG4gICAgLy8gY29tbW9ubHkgdXNlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBmbGFnIG5vbi1lbnVtZXJhYmxlICh3aGVyZSBwb3NzaWJsZSwgd2hpY2ggc2hvdWxkXG4gICAgLy8gaW5jbHVkZSBldmVyeSBlbnZpcm9ubWVudCB3ZSBydW4gdGVzdHMgaW4pLCBzbyB0aGUgdGVzdCBmcmFtZXdvcmtcbiAgICAvLyBpZ25vcmVzIGl0LlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQuX3N0b3JlLCAndmFsaWRhdGVkJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTsgLy8gc2VsZiBhbmQgc291cmNlIGFyZSBERVYgb25seSBwcm9wZXJ0aWVzLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzZWxmXG4gICAgfSk7IC8vIFR3byBlbGVtZW50cyBjcmVhdGVkIGluIHR3byBkaWZmZXJlbnQgcGxhY2VzIHNob3VsZCBiZSBjb25zaWRlcmVkXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zb3VyY2UnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc291cmNlXG4gICAgfSk7XG5cbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50LnByb3BzKTtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZmNzL3B1bGwvMTA3XG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICovXG5cbmZ1bmN0aW9uIGpzeERFVih0eXBlLCBjb25maWcsIG1heWJlS2V5LCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIGtleSA9IG51bGw7XG4gICAgdmFyIHJlZiA9IG51bGw7IC8vIEN1cnJlbnRseSwga2V5IGNhbiBiZSBzcHJlYWQgaW4gYXMgYSBwcm9wLiBUaGlzIGNhdXNlcyBhIHBvdGVudGlhbFxuICAgIC8vIGlzc3VlIGlmIGtleSBpcyBhbHNvIGV4cGxpY2l0bHkgZGVjbGFyZWQgKGllLiA8ZGl2IHsuLi5wcm9wc30ga2V5PVwiSGlcIiAvPlxuICAgIC8vIG9yIDxkaXYga2V5PVwiSGlcIiB7Li4ucHJvcHN9IC8+ICkuIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGtleSBzcHJlYWQsXG4gICAgLy8gYnV0IGFzIGFuIGludGVybWVkaWFyeSBzdGVwLCB3ZSB3aWxsIHVzZSBqc3hERVYgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0XG4gICAgLy8gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz4sIGJlY2F1c2Ugd2UgYXJlbid0IGN1cnJlbnRseSBhYmxlIHRvIHRlbGwgaWZcbiAgICAvLyBrZXkgaXMgZXhwbGljaXRseSBkZWNsYXJlZCB0byBiZSB1bmRlZmluZWQgb3Igbm90LlxuXG4gICAgaWYgKG1heWJlS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihtYXliZUtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgbWF5YmVLZXk7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZywgc2VsZik7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gICAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICB2YXIgc3RhY2sgPSBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoZWxlbWVudC50eXBlLCBlbGVtZW50Ll9zb3VyY2UsIG93bmVyID8gb3duZXIudHlwZSA6IG51bGwpO1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKSB7XG4gIHtcbiAgICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcL10vLCAnJyk7XG4gICAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10gPSB0cnVlOyAvLyBVc3VhbGx5IHRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBvZmZlbmRlciwgYnV0IGlmIGl0IGFjY2VwdHMgY2hpbGRyZW4gYXMgYVxuICAgIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgICB2YXIgY2hpbGRPd25lciA9ICcnO1xuXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAge1xuICAgIGlmICh0eXBlb2Ygbm9kZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRW50cnkgaXRlcmF0b3JzIHVzZWQgdG8gcHJvdmlkZSBpbXBsaWNpdCBrZXlzLFxuICAgICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChub2RlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGpzeFdpdGhWYWxpZGF0aW9uKHR5cGUsIHByb3BzLCBrZXksIGlzU3RhdGljQ2hpbGRyZW4sIHNvdXJjZSwgc2VsZikge1xuICB7XG4gICAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuXG4gICAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBzb3VyY2VJbmZvID0gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oc291cmNlKTtcblxuICAgICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgICAgaW5mbyArPSBzb3VyY2VJbmZvO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgc291cmNlLCBzZWxmKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cbiAgICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAgIC8vIFdlIGRvbid0IHdhbnQgZXhjZXB0aW9uIGJlaGF2aW9yIHRvIGRpZmZlciBiZXR3ZWVuIGRldiBhbmQgcHJvZC5cbiAgICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAgIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gICAgaWYgKHZhbGlkVHlwZSkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIGlmIChjaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuW2ldLCB0eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCdSZWFjdC5qc3g6IFN0YXRpYyBjaGlsZHJlbiBzaG91bGQgYWx3YXlzIGJlIGFuIGFycmF5LiAnICsgJ1lvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gJyArICdVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbiwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgdmFsaWRhdGVGcmFnbWVudFByb3BzKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufSAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGV4aXN0IHRvIHN0aWxsIGdldCBjaGlsZCB3YXJuaW5ncyBpbiBkZXZcblxudmFyIGpzeERFViQxID0gIGpzeFdpdGhWYWxpZGF0aW9uIDtcblxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG5leHBvcnRzLmpzeERFViA9IGpzeERFViQxO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-dev-runtime.development.js\n"); - -/***/ }), - -/***/ "./node_modules/react/jsx-dev-runtime.js": -/*!***********************************************!*\ - !*** ./node_modules/react/jsx-dev-runtime.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx1SkFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9idXltZWFjcnlwdG8vLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzPzU3NzciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-dev-runtime.js\n"); - -/***/ }), - -/***/ "../route-module": -/*!************************************************************************!*\ - !*** external "next/dist/server/future/route-modules/route-module.js" ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/future/route-modules/route-module.js"); - -/***/ }), - -/***/ "../server/get-page-files": -/*!*****************************************************!*\ - !*** external "next/dist/server/get-page-files.js" ***! - \*****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/get-page-files.js"); - -/***/ }), - -/***/ "../server/htmlescape": -/*!*************************************************!*\ - !*** external "next/dist/server/htmlescape.js" ***! - \*************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/htmlescape.js"); - -/***/ }), - -/***/ "../../../render": -/*!*********************************************!*\ - !*** external "next/dist/server/render.js" ***! - \*********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/render.js"); - -/***/ }), - -/***/ "../server/utils": -/*!********************************************!*\ - !*** external "next/dist/server/utils.js" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/utils.js"); - -/***/ }), - -/***/ "../shared/lib/constants": -/*!****************************************************!*\ - !*** external "next/dist/shared/lib/constants.js" ***! - \****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/constants.js"); - -/***/ }), - -/***/ "../shared/lib/html-context": -/*!*******************************************************!*\ - !*** external "next/dist/shared/lib/html-context.js" ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/html-context.js"); - -/***/ }), - -/***/ "../shared/lib/is-plain-object": -/*!**********************************************************!*\ - !*** external "next/dist/shared/lib/is-plain-object.js" ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/shared/lib/is-plain-object.js"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "react" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("react"); - -/***/ }), - -/***/ "react-scroll": -/*!*******************************!*\ - !*** external "react-scroll" ***! - \*******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("react-scroll"); - -/***/ }), - -/***/ "@rainbow-me/rainbowkit": -/*!*****************************************!*\ - !*** external "@rainbow-me/rainbowkit" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("@rainbow-me/rainbowkit");; - -/***/ }), - -/***/ "wagmi": -/*!************************!*\ - !*** external "wagmi" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi");; - -/***/ }), - -/***/ "wagmi/chains": -/*!*******************************!*\ - !*** external "wagmi/chains" ***! - \*******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/chains");; - -/***/ }), - -/***/ "wagmi/providers/public": -/*!*****************************************!*\ - !*** external "wagmi/providers/public" ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = import("wagmi/providers/public");; - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!")); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/webpack-runtime.js b/.next/server/webpack-runtime.js deleted file mode 100644 index dd29b11..0000000 --- a/.next/server/webpack-runtime.js +++ /dev/null @@ -1,237 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete __webpack_module_cache__[moduleId]; -/******/ } -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/async module */ -/******/ (() => { -/******/ var webpackQueues = typeof Symbol === "function" ? Symbol("webpack queues") : "__webpack_queues__"; -/******/ var webpackExports = typeof Symbol === "function" ? Symbol("webpack exports") : "__webpack_exports__"; -/******/ var webpackError = typeof Symbol === "function" ? Symbol("webpack error") : "__webpack_error__"; -/******/ var resolveQueue = (queue) => { -/******/ if(queue && !queue.d) { -/******/ queue.d = 1; -/******/ queue.forEach((fn) => (fn.r--)); -/******/ queue.forEach((fn) => (fn.r-- ? fn.r++ : fn())); -/******/ } -/******/ } -/******/ var wrapDeps = (deps) => (deps.map((dep) => { -/******/ if(dep !== null && typeof dep === "object") { -/******/ if(dep[webpackQueues]) return dep; -/******/ if(dep.then) { -/******/ var queue = []; -/******/ queue.d = 0; -/******/ dep.then((r) => { -/******/ obj[webpackExports] = r; -/******/ resolveQueue(queue); -/******/ }, (e) => { -/******/ obj[webpackError] = e; -/******/ resolveQueue(queue); -/******/ }); -/******/ var obj = {}; -/******/ obj[webpackQueues] = (fn) => (fn(queue)); -/******/ return obj; -/******/ } -/******/ } -/******/ var ret = {}; -/******/ ret[webpackQueues] = x => {}; -/******/ ret[webpackExports] = dep; -/******/ return ret; -/******/ })); -/******/ __webpack_require__.a = (module, body, hasAwait) => { -/******/ var queue; -/******/ hasAwait && ((queue = []).d = 1); -/******/ var depQueues = new Set(); -/******/ var exports = module.exports; -/******/ var currentDeps; -/******/ var outerResolve; -/******/ var reject; -/******/ var promise = new Promise((resolve, rej) => { -/******/ reject = rej; -/******/ outerResolve = resolve; -/******/ }); -/******/ promise[webpackExports] = exports; -/******/ promise[webpackQueues] = (fn) => (queue && fn(queue), depQueues.forEach(fn), promise["catch"](x => {})); -/******/ module.exports = promise; -/******/ body((deps) => { -/******/ currentDeps = wrapDeps(deps); -/******/ var fn; -/******/ var getResult = () => (currentDeps.map((d) => { -/******/ if(d[webpackError]) throw d[webpackError]; -/******/ return d[webpackExports]; -/******/ })) -/******/ var promise = new Promise((resolve) => { -/******/ fn = () => (resolve(getResult)); -/******/ fn.r = 0; -/******/ var fnQueue = (q) => (q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn)))); -/******/ currentDeps.map((dep) => (dep[webpackQueues](fnQueue))); -/******/ }); -/******/ return fn.r ? promise : getResult(); -/******/ }, (err) => ((err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue))); -/******/ queue && (queue.d = 0); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks and sibling chunks for the entrypoint -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return undefined; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/startup entrypoint */ -/******/ (() => { -/******/ __webpack_require__.X = (result, chunkIds, fn) => { -/******/ // arguments: chunkIds, moduleId are deprecated -/******/ var moduleId = chunkIds; -/******/ if(!fn) chunkIds = result, fn = () => (__webpack_require__(__webpack_require__.s = moduleId)); -/******/ chunkIds.map(__webpack_require__.e, __webpack_require__) -/******/ var r = fn(); -/******/ return r === undefined ? result : r; -/******/ } -/******/ })(); -/******/ -/******/ /* webpack/runtime/require chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded chunks -/******/ // "1" means "loaded", otherwise not loaded yet -/******/ var installedChunks = { -/******/ "webpack-runtime": 1 -/******/ }; -/******/ -/******/ // no on chunks loaded -/******/ -/******/ var installChunk = (chunk) => { -/******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime; -/******/ for(var moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) runtime(__webpack_require__); -/******/ for(var i = 0; i < chunkIds.length; i++) -/******/ installedChunks[chunkIds[i]] = 1; -/******/ -/******/ }; -/******/ -/******/ // require() chunk loading for javascript -/******/ __webpack_require__.f.require = (chunkId, promises) => { -/******/ // "1" is the signal for "already loaded" -/******/ if(!installedChunks[chunkId]) { -/******/ if("webpack-runtime" != chunkId) { -/******/ installChunk(require("./" + __webpack_require__.u(chunkId))); -/******/ } else installedChunks[chunkId] = 1; -/******/ } -/******/ }; -/******/ -/******/ module.exports = __webpack_require__; -/******/ __webpack_require__.C = installChunk; -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ -/******/ })() -; \ No newline at end of file diff --git a/.next/static/chunks/_error.js b/.next/static/chunks/_error.js deleted file mode 100644 index 86259b3..0000000 --- a/.next/static/chunks/_error.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["/_error"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!": -/*!**************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error! ***! - \**************************************************************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! ./node_modules/next/dist/pages/_error.js */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD0lMkZVc2VycyUyRm11YWFkaG0lMkZmcm9udGVuZCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGcGFnZXMlMkZfZXJyb3IuanMmcGFnZT0lMkZfZXJyb3IhIiwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsMEZBQTBDO0FBQ2pFO0FBQ0E7QUFDQSxPQUFPLElBQVU7QUFDakIsTUFBTSxVQUFVO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz8xOTMxIl0sInNvdXJjZXNDb250ZW50IjpbIlxuICAgICh3aW5kb3cuX19ORVhUX1AgPSB3aW5kb3cuX19ORVhUX1AgfHwgW10pLnB1c2goW1xuICAgICAgXCIvX2Vycm9yXCIsXG4gICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlKFwiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qc1wiKTtcbiAgICAgIH1cbiAgICBdKTtcbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgICAgICB3aW5kb3cuX19ORVhUX1AucHVzaChbXCIvX2Vycm9yXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/main.js b/.next/static/chunks/main.js deleted file mode 100644 index 34c834a..0000000 --- a/.next/static/chunks/main.js +++ /dev/null @@ -1,1164 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["main"],{ - -/***/ "./node_modules/next/dist/build/polyfills/polyfill-module.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/polyfill-module.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(o){return r.resolve(t()).then(function(){return o})},function(o){return r.resolve(t()).then(function(){throw o})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9wb2x5ZmlsbC1tb2R1bGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsbVFBQW1RLCtCQUErQix1Q0FBdUMsc0JBQXNCLDREQUE0RCw2RUFBNkUsdUNBQXVDLDRCQUE0QixvRUFBb0UsOENBQThDLGdDQUFnQyw2QkFBNkIsc0NBQXNDLFNBQVMsRUFBRSxhQUFhLHNDQUFzQyxRQUFRLEVBQUUsRUFBRSxzREFBc0QsMENBQTBDLHNCQUFzQixHQUFHLEVBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvcG9seWZpbGwtbW9kdWxlLmpzPzY5YzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ0cmltU3RhcnRcImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1TdGFydD1TdHJpbmcucHJvdG90eXBlLnRyaW1MZWZ0KSxcInRyaW1FbmRcImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQ9U3RyaW5nLnByb3RvdHlwZS50cmltUmlnaHQpLFwiZGVzY3JpcHRpb25cImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLFwiZGVzY3JpcHRpb25cIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciB0PS9cXCgoLiopXFwpLy5leGVjKHRoaXMudG9TdHJpbmcoKSk7cmV0dXJuIHQ/dFsxXTp2b2lkIDB9fSksQXJyYXkucHJvdG90eXBlLmZsYXR8fChBcnJheS5wcm90b3R5cGUuZmxhdD1mdW5jdGlvbih0LHIpe3JldHVybiByPXRoaXMuY29uY2F0LmFwcGx5KFtdLHRoaXMpLHQ+MSYmci5zb21lKEFycmF5LmlzQXJyYXkpP3IuZmxhdCh0LTEpOnJ9LEFycmF5LnByb3RvdHlwZS5mbGF0TWFwPWZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMubWFwKHQscikuZmxhdCgpfSksUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KFByb21pc2UucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24odCl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdClyZXR1cm4gdGhpcy50aGVuKHQsdCk7dmFyIHI9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiByLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG99KX0sZnVuY3Rpb24obyl7cmV0dXJuIHIucmVzb2x2ZSh0KCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBvfSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuZnJvbSh0KS5yZWR1Y2UoZnVuY3Rpb24odCxyKXtyZXR1cm4gdFtyWzBdXT1yWzFdLHR9LHt9KX0pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/polyfills/polyfill-module.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/@next/react-dev-overlay/dist/client.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-dev-overlay/dist/client.js ***! - \********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){\"use strict\";var e={876:function(e,t){Object.defineProperty(t,\"__esModule\",{value:true});0&&0;function _export(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:true,get:t[r]})}_export(t,{hydrationErrorWarning:function(){return r},hydrationErrorComponentStack:function(){return n},patchConsoleError:function(){return patchConsoleError}});let r;let n;const a=new Set(['Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s',\"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\",'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s']);function patchConsoleError(){const e=console.error;console.error=function(t,o,i,l){if(a.has(t)){r=t.replace(\"%s\",o).replace(\"%s\",i).replace(\"%s\",\"\");n=l}e.apply(console,arguments)}}if((typeof t.default===\"function\"||typeof t.default===\"object\"&&t.default!==null)&&typeof t.default.__esModule===\"undefined\"){Object.defineProperty(t.default,\"__esModule\",{value:true});Object.assign(t.default,t);e.exports=t.default}},659:function(e,t){Object.defineProperty(t,\"__esModule\",{value:true});Object.defineProperty(t,\"parseComponentStack\",{enumerable:true,get:function(){return parseComponentStack}});function parseComponentStack(e){const t=[];for(const n of e.trim().split(\"\\n\")){const e=/at ([^ ]+)( \\((.*)\\))?/.exec(n);if(e==null?void 0:e[1]){const n=e[1];const a=e[3];if(a==null?void 0:a.includes(\"next/dist\")){break}const o=a==null?void 0:a.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/,\"\");var r;const[i,l,s]=(r=o==null?void 0:o.split(\":\"))!=null?r:[];t.push({component:n,file:i,lineNumber:l?Number(l):undefined,column:s?Number(s):undefined})}}return t}if((typeof t.default===\"function\"||typeof t.default===\"object\"&&t.default!==null)&&typeof t.default.__esModule===\"undefined\"){Object.defineProperty(t.default,\"__esModule\",{value:true});Object.assign(t.default,t);e.exports=t.default}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var a=t[r]={exports:{}};var o=true;try{e[r](a,a.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return a.exports}!function(){__nccwpck_require__.n=function(e){var t=e&&e.__esModule?function(){return e[\"default\"]}:function(){return e};__nccwpck_require__.d(t,{a:t});return t}}();!function(){__nccwpck_require__.d=function(e,t){for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}}();!function(){__nccwpck_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();!function(){__nccwpck_require__.r=function(e){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(e,\"__esModule\",{value:true})}}();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r={};!function(){__nccwpck_require__.r(r);__nccwpck_require__.d(r,{ReactDevOverlay:function(){return Zt},getErrorByType:function(){return getErrorByType},getServerError:function(){return getServerError},onBeforeRefresh:function(){return onBeforeRefresh},onBuildError:function(){return onBuildError},onBuildOk:function(){return onBuildOk},onRefresh:function(){return onRefresh},register:function(){return register},unregister:function(){return unregister}});const e=\"build-ok\";const t=\"build-error\";const n=\"fast-refresh\";const a=\"before-fast-refresh\";const o=\"unhandled-error\";const i=\"unhandled-rejection\";let l=new Set;let s=[];function drain(){setTimeout((function(){while(Boolean(s.length)&&Boolean(l.size)){const e=s.shift();l.forEach((t=>t(e)))}}),1)}function emit(e){s.push(Object.freeze({...e}));drain()}function on(e){if(l.has(e)){return false}l.add(e);drain();return true}function off(e){if(l.has(e)){l.delete(e);return true}return false}var u=__webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");const c=/\\/_next(\\/static\\/.+)/g;function parseStack(e){const t=(0,u.parse)(e);return t.map((e=>{try{const t=new URL(e.file);const r=c.exec(t.pathname);if(r){const t=\"/Users/muaadhm/frontend/.next\"?.replace(/\\\\/g,\"/\")?.replace(/\\/$/,\"\");if(t){e.file=\"file://\"+t.concat(r.pop())}}}catch{}return e}))}var d=__nccwpck_require__(659);var f=__nccwpck_require__(876);function getFilesystemFrame(e){const t={...e};if(typeof t.file===\"string\"){if(t.file.startsWith(\"/\")||/^[a-z]:\\\\/i.test(t.file)||t.file.startsWith(\"\\\\\\\\\")){t.file=`file://${t.file}`}}return t}const m=Symbol(\"NextjsError\");function getErrorSource(e){return e[m]||null}function decorateServerError(e,t){Object.defineProperty(e,m,{writable:false,enumerable:false,configurable:false,value:t})}function getServerError(e,t){let r;try{throw new Error(e.message)}catch(e){r=e}r.name=e.name;try{r.stack=`${r.toString()}\\n${(0,u.parse)(e.stack).map(getFilesystemFrame).map((e=>{let t=` at ${e.methodName}`;if(e.file){let r=e.file;if(e.lineNumber){r+=`:${e.lineNumber}`;if(e.column){r+=`:${e.column}`}}t+=` (${r})`}return t})).join(\"\\n\")}`}catch{r.stack=e.stack}decorateServerError(r,t);return r}function getOriginalStackFrame(e,t,r){async function _getOriginalStackFrame(){const n=new URLSearchParams;n.append(\"isServer\",String(t===\"server\"));n.append(\"isEdgeServer\",String(t===\"edge-server\"));n.append(\"errorMessage\",r);for(const t in e){n.append(t,(e[t]??\"\").toString())}const a=new AbortController;const o=setTimeout((()=>a.abort()),3e3);const i=await self.fetch(`${ false||\"\"}/__nextjs_original-stack-frame?${n.toString()}`,{signal:a.signal}).finally((()=>{clearTimeout(o)}));if(!i.ok||i.status===204){return Promise.reject(new Error(await i.text()))}const l=await i.json();return{error:false,reason:null,external:false,expanded:!Boolean((e.file?.includes(\"node_modules\")||l.originalStackFrame?.file?.includes(\"node_modules\"))??true),sourceStackFrame:e,originalStackFrame:l.originalStackFrame,originalCodeFrame:l.originalCodeFrame||null}}if(!(e.file?.startsWith(\"webpack-internal:\")||e.file?.startsWith(\"file:\"))){return Promise.resolve({error:false,reason:null,external:true,expanded:false,sourceStackFrame:e,originalStackFrame:null,originalCodeFrame:null})}return _getOriginalStackFrame().catch((t=>({error:true,reason:t?.message??t?.toString()??\"Unknown Error\",external:false,expanded:false,sourceStackFrame:e,originalStackFrame:null,originalCodeFrame:null})))}function getOriginalStackFrames(e,t,r){return Promise.all(e.map((e=>getOriginalStackFrame(e,t,r))))}function getFrameSource(e){let t=\"\";try{const r=new URL(e.file);if(typeof globalThis!==\"undefined\"&&globalThis.location?.origin!==r.origin){if(r.origin===\"null\"){t+=r.protocol}else{t+=r.origin}}t+=r.pathname;t+=\" \"}catch{t+=(e.file||\"(unknown)\")+\" \"}if(e.lineNumber!=null){if(e.column!=null){t+=`(${e.lineNumber}:${e.column}) `}else{t+=`(${e.lineNumber}) `}}return t.slice(0,-1)}async function getErrorByType(e){const{id:t,event:r}=e;switch(r.type){case o:case i:{const e={id:t,runtime:true,error:r.reason,frames:await getOriginalStackFrames(r.frames,getErrorSource(r.reason),r.reason.toString())};if(r.type===o){e.componentStack=r.componentStack}return e}default:{break}}const n=r;throw new Error(\"type system invariant violation\")}var p=__webpack_require__(/*! react */ \"./node_modules/react/index.js\");var b=__nccwpck_require__.n(p);var g=__webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");const v=function Portal({children:e,globalOverlay:t}){let r=p.useRef(null);let n=p.useRef(null);let a=p.useRef(null);let[,o]=p.useState();p.useLayoutEffect((()=>{const e=t?document:r.current.ownerDocument;n.current=e.createElement(\"nextjs-portal\");a.current=n.current.attachShadow({mode:\"open\"});e.body.appendChild(n.current);o({});return()=>{if(n.current&&n.current.ownerDocument){n.current.ownerDocument.body.removeChild(n.current)}}}),[t]);return a.current?(0,g.createPortal)(e,a.current):t?null:p.createElement(\"span\",{ref:r})};function useOnClickOutside(e,t){p.useEffect((()=>{if(e==null||t==null){return}const listener=r=>{if(!e||e.contains(r.target)){return}t(r)};const r=e.getRootNode();r.addEventListener(\"mousedown\",listener);r.addEventListener(\"touchstart\",listener);return function(){r.removeEventListener(\"mousedown\",listener);r.removeEventListener(\"touchstart\",listener)}}),[t,e])}const h=function Dialog({children:e,type:t,onClose:r,...n}){const[a,o]=p.useState(null);const i=p.useCallback((e=>{o(e)}),[]);useOnClickOutside(a,r);p.useEffect((()=>{if(a==null){return}const e=a.getRootNode();if(!(e instanceof ShadowRoot)){return}const t=e;function handler(e){const r=t.activeElement;if(e.key===\"Enter\"&&r instanceof HTMLElement&&r.getAttribute(\"role\")===\"link\"){e.preventDefault();e.stopPropagation();r.click()}}t.addEventListener(\"keydown\",handler);return()=>t.removeEventListener(\"keydown\",handler)}),[a]);return p.createElement(\"div\",{ref:i,\"data-nextjs-dialog\":true,tabIndex:-1,role:\"dialog\",\"aria-labelledby\":n[\"aria-labelledby\"],\"aria-describedby\":n[\"aria-describedby\"],\"aria-modal\":\"true\"},p.createElement(\"div\",{\"data-nextjs-dialog-banner\":true,className:`banner-${t}`}),e)};const x=function DialogBody({children:e,className:t}){return p.createElement(\"div\",{\"data-nextjs-dialog-body\":true,className:t},e)};const y=function DialogContent({children:e,className:t}){return p.createElement(\"div\",{\"data-nextjs-dialog-content\":true,className:t},e)};const E=function DialogHeader({children:e,className:t}){return p.createElement(\"div\",{\"data-nextjs-dialog-header\":true,className:t},e)};function noop(e,...t){const r=e.length-1;return e.slice(0,r).reduce(((e,r,n)=>e+r+t[n]),\"\")+e[r]}const w=noop`\n [data-nextjs-dialog] {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n outline: none;\n background: var(--color-background);\n border-radius: var(--size-gap);\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\n rgba(0, 0, 0, 0.25);\n max-height: calc(100% - 56px);\n overflow-y: hidden;\n }\n\n @media (max-height: 812px) {\n [data-nextjs-dialog-overlay] {\n max-height: calc(100% - 15px);\n }\n }\n\n @media (min-width: 576px) {\n [data-nextjs-dialog] {\n max-width: 540px;\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\n }\n }\n\n @media (min-width: 768px) {\n [data-nextjs-dialog] {\n max-width: 720px;\n }\n }\n\n @media (min-width: 992px) {\n [data-nextjs-dialog] {\n max-width: 960px;\n }\n }\n\n [data-nextjs-dialog-banner] {\n position: relative;\n }\n [data-nextjs-dialog-banner].banner-warning {\n border-color: var(--color-ansi-yellow);\n }\n [data-nextjs-dialog-banner].banner-error {\n border-color: var(--color-ansi-red);\n }\n\n [data-nextjs-dialog-banner]::after {\n z-index: 2;\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n /* banner width: */\n border-top-width: var(--size-gap-half);\n border-bottom-width: 0;\n border-top-style: solid;\n border-bottom-style: solid;\n border-top-color: inherit;\n border-bottom-color: transparent;\n }\n\n [data-nextjs-dialog-content] {\n overflow-y: auto;\n border: none;\n margin: 0;\n /* calc(padding + banner width offset) */\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\n var(--size-gap-double);\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\n flex-shrink: 0;\n margin-bottom: var(--size-gap-double);\n }\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\n position: relative;\n flex: 1 1 auto;\n }\n`;var k=__webpack_require__(/*! next/dist/compiled/platform */ \"./node_modules/next/dist/compiled/platform/platform.js\");var S=__nccwpck_require__.n(k);var _=__webpack_require__(/*! next/dist/compiled/css.escape */ \"./node_modules/next/dist/compiled/css.escape/css.escape.js\");var T=__nccwpck_require__.n(_);function nodeArray(e){if(!e){return[]}if(Array.isArray(e)){return e}if(e.nodeType!==undefined){return[e]}if(typeof e===\"string\"){e=document.querySelectorAll(e)}if(e.length!==undefined){return[].slice.call(e,0)}throw new TypeError(\"unexpected input \"+String(e))}function contextToElement(e){var t=e.context,r=e.label,n=r===undefined?\"context-to-element\":r,a=e.resolveDocument,o=e.defaultToDocument;var i=nodeArray(t)[0];if(a&&i&&i.nodeType===Node.DOCUMENT_NODE){i=i.documentElement}if(!i&&o){return document.documentElement}if(!i){throw new TypeError(n+\" requires valid options.context\")}if(i.nodeType!==Node.ELEMENT_NODE&&i.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){throw new TypeError(n+\" requires options.context to be an Element\")}return i}function getShadowHost(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context;var r=contextToElement({label:\"get/shadow-host\",context:t});var n=null;while(r){n=r;r=r.parentNode}if(n.nodeType===n.DOCUMENT_FRAGMENT_NODE&&n.host){return n.host}return null}function getDocument(e){if(!e){return document}if(e.nodeType===Node.DOCUMENT_NODE){return e}return e.ownerDocument||document}function isActiveElement(e){var t=contextToElement({label:\"is/active-element\",resolveDocument:true,context:e});var r=getDocument(t);if(r.activeElement===t){return true}var n=getShadowHost({context:t});if(n&&n.shadowRoot.activeElement===t){return true}return false}function getParents(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context;var r=[];var n=contextToElement({label:\"get/parents\",context:t});while(n){r.push(n);n=n.parentNode;if(n&&n.nodeType!==Node.ELEMENT_NODE){n=null}}return r}var C=[\"matches\",\"webkitMatchesSelector\",\"mozMatchesSelector\",\"msMatchesSelector\"];var j=null;function findMethodName(e){C.some((function(t){if(!e[t]){return false}j=t;return true}))}function elementMatches(e,t){if(!j){findMethodName(e)}return e[j](t)}var A=JSON.parse(JSON.stringify(S()));var O=A.os.family||\"\";var N=O===\"Android\";var I=O.slice(0,7)===\"Windows\";var L=O===\"OS X\";var F=O===\"iOS\";var D=A.layout===\"Blink\";var M=A.layout===\"Gecko\";var R=A.layout===\"Trident\";var z=A.layout===\"EdgeHTML\";var B=A.layout===\"WebKit\";var H=parseFloat(A.version);var q=Math.floor(H);A.majorVersion=q;A.is={ANDROID:N,WINDOWS:I,OSX:L,IOS:F,BLINK:D,GECKO:M,TRIDENT:R,EDGE:z,WEBKIT:B,IE9:R&&q===9,IE10:R&&q===10,IE11:R&&q===11};function before(){var e={activeElement:document.activeElement,windowScrollTop:window.scrollTop,windowScrollLeft:window.scrollLeft,bodyScrollTop:document.body.scrollTop,bodyScrollLeft:document.body.scrollLeft};var t=document.createElement(\"iframe\");t.setAttribute(\"style\",\"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");t.setAttribute(\"aria-live\",\"off\");t.setAttribute(\"aria-busy\",\"true\");t.setAttribute(\"aria-hidden\",\"true\");document.body.appendChild(t);var r=t.contentWindow;var n=r.document;n.open();n.close();var a=n.createElement(\"div\");n.body.appendChild(a);e.iframe=t;e.wrapper=a;e.window=r;e.document=n;return e}function test(e,t){e.wrapper.innerHTML=\"\";var r=typeof t.element===\"string\"?e.document.createElement(t.element):t.element(e.wrapper,e.document);var n=t.mutate&&t.mutate(r,e.wrapper,e.document);if(!n&&n!==false){n=r}!r.parentNode&&e.wrapper.appendChild(r);n&&n.focus&&n.focus();return t.validate?t.validate(r,n,e.document):e.document.activeElement===n}function after(e){if(e.activeElement===document.body){document.activeElement&&document.activeElement.blur&&document.activeElement.blur();if(A.is.IE10){document.body.focus()}}else{e.activeElement&&e.activeElement.focus&&e.activeElement.focus()}document.body.removeChild(e.iframe);window.scrollTop=e.windowScrollTop;window.scrollLeft=e.windowScrollLeft;document.body.scrollTop=e.bodyScrollTop;document.body.scrollLeft=e.bodyScrollLeft}function detectFocus(e){var t=before();var r={};Object.keys(e).map((function(n){r[n]=test(t,e[n])}));after(t);return r}var P=\"1.4.1\";function readLocalStorage(e){var t=void 0;try{t=window.localStorage&&window.localStorage.getItem(e);t=t?JSON.parse(t):{}}catch(e){t={}}return t}function writeLocalStorage(e,t){if(!document.hasFocus()){try{window.localStorage&&window.localStorage.removeItem(e)}catch(e){}return}try{window.localStorage&&window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}}var W=typeof window!==\"undefined\"&&window.navigator.userAgent||\"\";var V=\"ally-supports-cache\";var $=readLocalStorage(V);if($.userAgent!==W||$.version!==P){$={}}$.userAgent=W;$.version=P;var K={get:function get(){return $},set:function set(e){Object.keys(e).forEach((function(t){$[t]=e[t]}));$.time=(new Date).toISOString();writeLocalStorage(V,$)}};function cssShadowPiercingDeepCombinator(){var e=void 0;try{document.querySelector(\"html >>> :first-child\");e=\">>>\"}catch(t){try{document.querySelector(\"html /deep/ :first-child\");e=\"/deep/\"}catch(t){e=\"\"}}return e}var Z=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";var U={element:\"div\",mutate:function mutate(e){e.innerHTML='<map name=\"image-map-tabindex-test\">'+'<area shape=\"rect\" coords=\"63,19,144,45\"></map>'+'<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"'+Z+'\">';return e.querySelector(\"area\")}};var G={element:\"div\",mutate:function mutate(e){e.innerHTML='<map name=\"image-map-tabindex-test\">'+'<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>'+'<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"'+Z+'\">';return false},validate:function validate(e,t,r){if(A.is.GECKO){return true}var n=e.querySelector(\"area\");n.focus();return r.activeElement===n}};var X={element:\"div\",mutate:function mutate(e){e.innerHTML='<map name=\"image-map-area-href-test\">'+'<area shape=\"rect\" coords=\"63,19,144,45\"></map>'+'<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"'+Z+'\">';return e.querySelector(\"area\")},validate:function validate(e,t,r){if(A.is.GECKO){return true}return r.activeElement===t}};var J={name:\"can-focus-audio-without-controls\",element:\"audio\",mutate:function mutate(e){try{e.setAttribute(\"src\",Z)}catch(e){}}};var Q=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";var Y={element:\"div\",mutate:function mutate(e){e.innerHTML='<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>'+'<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"'+Q+'\">';return e.querySelector(\"area\")}};var ee={element:\"div\",mutate:function mutate(e){e.setAttribute(\"tabindex\",\"-1\");e.setAttribute(\"style\",\"display: -webkit-flex; display: -ms-flexbox; display: flex;\");e.innerHTML='<span style=\"display: block;\">hello</span>';return e.querySelector(\"span\")}};var te={element:\"fieldset\",mutate:function mutate(e){e.setAttribute(\"tabindex\",0);e.setAttribute(\"disabled\",\"disabled\")}};var re={element:\"fieldset\",mutate:function mutate(e){e.innerHTML=\"<legend>legend</legend><p>content</p>\"}};var ne={element:\"span\",mutate:function mutate(e){e.setAttribute(\"style\",\"display: -webkit-flex; display: -ms-flexbox; display: flex;\");e.innerHTML='<span style=\"display: block;\">hello</span>'}};var ae={element:\"form\",mutate:function mutate(e){e.setAttribute(\"tabindex\",0);e.setAttribute(\"disabled\",\"disabled\")}};var oe={element:\"a\",mutate:function mutate(e){e.href=\"#void\";e.innerHTML='<img ismap src=\"'+Z+'\" alt=\"\">';return e.querySelector(\"img\")}};var ie={element:\"div\",mutate:function mutate(e){e.innerHTML='<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>'+'<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" '+'src=\"'+Z+'\">';return e.querySelector(\"img\")}};var le={element:function element(e,t){var r=t.createElement(\"iframe\");e.appendChild(r);var n=r.contentWindow.document;n.open();n.close();return r},mutate:function mutate(e){e.style.visibility=\"hidden\";var t=e.contentWindow.document;var r=t.createElement(\"input\");t.body.appendChild(r);return r},validate:function validate(e){var t=e.contentWindow.document;var r=t.querySelector(\"input\");return t.activeElement===r}};var se=!A.is.WEBKIT;function focusInZeroDimensionObject(){return se}var ue={element:\"div\",mutate:function mutate(e){e.setAttribute(\"tabindex\",\"invalid-value\")}};var ce={element:\"label\",mutate:function mutate(e){e.setAttribute(\"tabindex\",\"-1\")},validate:function validate(e,t,r){var n=e.offsetHeight;e.focus();return r.activeElement===e}};var de=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\"+\"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\"+\"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";var fe={element:\"object\",mutate:function mutate(e){e.setAttribute(\"type\",\"image/svg+xml\");e.setAttribute(\"data\",de);e.setAttribute(\"width\",\"200\");e.setAttribute(\"height\",\"50\");e.style.visibility=\"hidden\"}};var me={name:\"can-focus-object-svg\",element:\"object\",mutate:function mutate(e){e.setAttribute(\"type\",\"image/svg+xml\");e.setAttribute(\"data\",de);e.setAttribute(\"width\",\"200\");e.setAttribute(\"height\",\"50\")},validate:function validate(e,t,r){if(A.is.GECKO){return true}return r.activeElement===e}};var pe=!A.is.IE9;function focusObjectSwf(){return pe}var be={element:\"div\",mutate:function mutate(e){e.innerHTML='<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>'+'<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" '+'src=\"'+Z+'\">';return e.querySelector(\"img\")},validate:function validate(e,t,r){var n=e.querySelector(\"area\");return r.activeElement===n}};var ge={element:\"fieldset\",mutate:function mutate(e){e.innerHTML='<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';return false},validate:function validate(e,t,r){var n=e.querySelector('input[tabindex=\"-1\"]');var a=e.querySelector('input[tabindex=\"0\"]');e.focus();e.querySelector(\"legend\").focus();return r.activeElement===n&&\"focusable\"||r.activeElement===a&&\"tabbable\"||\"\"}};var ve={element:\"div\",mutate:function mutate(e){e.setAttribute(\"style\",\"width: 100px; height: 50px; overflow: auto;\");e.innerHTML='<div style=\"width: 500px; height: 40px;\">scrollable content</div>';return e.querySelector(\"div\")}};var he={element:\"div\",mutate:function mutate(e){e.setAttribute(\"style\",\"width: 100px; height: 50px;\");e.innerHTML='<div style=\"width: 500px; height: 40px;\">scrollable content</div>'}};var xe={element:\"div\",mutate:function mutate(e){e.setAttribute(\"style\",\"width: 100px; height: 50px; overflow: auto;\");e.innerHTML='<div style=\"width: 500px; height: 40px;\">scrollable content</div>'}};var ye={element:\"details\",mutate:function mutate(e){e.innerHTML=\"<summary>foo</summary><p>content</p>\";return e.firstElementChild}};function makeFocusableForeignObject(){var e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"foreignObject\");e.width.baseVal.value=30;e.height.baseVal.value=30;e.appendChild(document.createElement(\"input\"));e.lastChild.type=\"text\";return e}function focusSvgForeignObjectHack(e){var t=e.ownerSVGElement||e.nodeName.toLowerCase()===\"svg\";if(!t){return false}var r=makeFocusableForeignObject();e.appendChild(r);var n=r.querySelector(\"input\");n.focus();n.disabled=true;e.removeChild(r);return true}function generate(e){return'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">'+e+\"</svg>\"}function maintain_tab_focus_focus(e){if(e.focus){return}try{HTMLElement.prototype.focus.call(e)}catch(t){focusSvgForeignObjectHack(e)}}function validate(e,t,r){maintain_tab_focus_focus(t);return r.activeElement===t}var Ee={element:\"div\",mutate:function mutate(e){e.innerHTML=generate('<text focusable=\"true\">a</text>');return e.querySelector(\"text\")},validate:validate};var we={element:\"div\",mutate:function mutate(e){e.innerHTML=generate('<text tabindex=\"0\">a</text>');return e.querySelector(\"text\")},validate:validate};var ke={element:\"div\",mutate:function mutate(e){e.innerHTML=generate('<text tabindex=\"-1\">a</text>');return e.querySelector(\"text\")},validate:validate};var Se={element:\"div\",mutate:function mutate(e){e.innerHTML=generate(['<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>','<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'].join(\"\"));return e.querySelector(\"use\")},validate:validate};var _e={element:\"div\",mutate:function mutate(e){e.innerHTML=generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');return e.querySelector(\"foreignObject\")||e.getElementsByTagName(\"foreignObject\")[0]},validate:validate};var Te=Boolean(A.is.GECKO&&typeof SVGElement!==\"undefined\"&&SVGElement.prototype.focus);function focusSvgInIframe(){return Te}var Ce={element:\"div\",mutate:function mutate(e){e.innerHTML=generate(\"\");return e.firstChild},validate:validate};var je={element:\"div\",mutate:function mutate(e){e.setAttribute(\"tabindex\",\"3x\")}};var Ae={element:\"table\",mutate:function mutate(e,t,r){var n=r.createDocumentFragment();n.innerHTML=\"<tr><td>cell</td></tr>\";e.appendChild(n)}};var Oe={element:\"video\",mutate:function mutate(e){try{e.setAttribute(\"src\",Z)}catch(e){}}};var Ne=A.is.GECKO||A.is.TRIDENT||A.is.EDGE;function tabsequenceAreaAtImgPosition(){return Ne}var Ie={cssShadowPiercingDeepCombinator:cssShadowPiercingDeepCombinator,focusInZeroDimensionObject:focusInZeroDimensionObject,focusObjectSwf:focusObjectSwf,focusSvgInIframe:focusSvgInIframe,tabsequenceAreaAtImgPosition:tabsequenceAreaAtImgPosition};var Le={focusAreaImgTabindex:U,focusAreaTabindex:G,focusAreaWithoutHref:X,focusAudioWithoutControls:J,focusBrokenImageMap:Y,focusChildrenOfFocusableFlexbox:ee,focusFieldsetDisabled:te,focusFieldset:re,focusFlexboxContainer:ne,focusFormDisabled:ae,focusImgIsmap:oe,focusImgUsemapTabindex:ie,focusInHiddenIframe:le,focusInvalidTabindex:ue,focusLabelTabindex:ce,focusObjectSvg:me,focusObjectSvgHidden:fe,focusRedirectImgUsemap:be,focusRedirectLegend:ge,focusScrollBody:ve,focusScrollContainerWithoutOverflow:he,focusScrollContainer:xe,focusSummary:ye,focusSvgFocusableAttribute:Ee,focusSvgTabindexAttribute:we,focusSvgNegativeTabindexAttribute:ke,focusSvgUseTabindex:Se,focusSvgForeignobjectTabindex:_e,focusSvg:Ce,focusTabindexTrailingCharacters:je,focusTable:Ae,focusVideoWithoutControls:Oe};function executeTests(){var e=detectFocus(Le);Object.keys(Ie).forEach((function(t){e[t]=Ie[t]()}));return e}var Fe=null;function _supports(){if(Fe){return Fe}Fe=K.get();if(!Fe.time){K.set(executeTests());Fe=K.get()}return Fe}var De=void 0;var Me=/^\\s*(-|\\+)?[0-9]+\\s*$/;var Re=/^\\s*(-|\\+)?[0-9]+.*$/;function isValidTabindex(e){if(!De){De=_supports()}var t=De.focusTabindexTrailingCharacters?Re:Me;var r=contextToElement({label:\"is/valid-tabindex\",resolveDocument:true,context:e});var n=r.hasAttribute(\"tabindex\");var a=r.hasAttribute(\"tabIndex\");if(!n&&!a){return false}var o=r.ownerSVGElement||r.nodeName.toLowerCase()===\"svg\";if(o&&!De.focusSvgTabindexAttribute){return false}if(De.focusInvalidTabindex){return true}var i=r.getAttribute(n?\"tabindex\":\"tabIndex\");if(i===\"-32768\"){return false}return Boolean(i&&t.test(i))}function tabindexValue(e){if(!isValidTabindex(e)){return null}var t=e.hasAttribute(\"tabindex\");var r=t?\"tabindex\":\"tabIndex\";var n=parseInt(e.getAttribute(r),10);return isNaN(n)?-1:n}function isUserModifyWritable(e){var t=e.webkitUserModify||\"\";return Boolean(t&&t.indexOf(\"write\")!==-1)}function hasCssOverflowScroll(e){return[e.getPropertyValue(\"overflow\"),e.getPropertyValue(\"overflow-x\"),e.getPropertyValue(\"overflow-y\")].some((function(e){return e===\"auto\"||e===\"scroll\"}))}function hasCssDisplayFlex(e){return e.display.indexOf(\"flex\")>-1}function isScrollableContainer(e,t,r,n){if(t!==\"div\"&&t!==\"span\"){return false}if(r&&r!==\"div\"&&r!==\"span\"&&!hasCssOverflowScroll(n)){return false}return e.offsetHeight<e.scrollHeight||e.offsetWidth<e.scrollWidth}var ze=void 0;function isFocusRelevantRules(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.except,n=r===undefined?{flexbox:false,scrollable:false,shadow:false}:r;if(!ze){ze=_supports()}var a=contextToElement({label:\"is/focus-relevant\",resolveDocument:true,context:t});if(!n.shadow&&a.shadowRoot){return true}var o=a.nodeName.toLowerCase();if(o===\"input\"&&a.type===\"hidden\"){return false}if(o===\"input\"||o===\"select\"||o===\"button\"||o===\"textarea\"){return true}if(o===\"legend\"&&ze.focusRedirectLegend){return true}if(o===\"label\"){return true}if(o===\"area\"){return true}if(o===\"a\"&&a.hasAttribute(\"href\")){return true}if(o===\"object\"&&a.hasAttribute(\"usemap\")){return false}if(o===\"object\"){var i=a.getAttribute(\"type\");if(!ze.focusObjectSvg&&i===\"image/svg+xml\"){return false}else if(!ze.focusObjectSwf&&i===\"application/x-shockwave-flash\"){return false}}if(o===\"iframe\"||o===\"object\"){return true}if(o===\"embed\"||o===\"keygen\"){return true}if(a.hasAttribute(\"contenteditable\")){return true}if(o===\"audio\"&&(ze.focusAudioWithoutControls||a.hasAttribute(\"controls\"))){return true}if(o===\"video\"&&(ze.focusVideoWithoutControls||a.hasAttribute(\"controls\"))){return true}if(ze.focusSummary&&o===\"summary\"){return true}var l=isValidTabindex(a);if(o===\"img\"&&a.hasAttribute(\"usemap\")){return l&&ze.focusImgUsemapTabindex||ze.focusRedirectImgUsemap}if(ze.focusTable&&(o===\"table\"||o===\"td\")){return true}if(ze.focusFieldset&&o===\"fieldset\"){return true}var s=o===\"svg\";var u=a.ownerSVGElement;var c=a.getAttribute(\"focusable\");var d=tabindexValue(a);if(o===\"use\"&&d!==null&&!ze.focusSvgUseTabindex){return false}if(o===\"foreignobject\"){return d!==null&&ze.focusSvgForeignobjectTabindex}if(elementMatches(a,\"svg a\")&&a.hasAttribute(\"xlink:href\")){return true}if((s||u)&&a.focus&&!ze.focusSvgNegativeTabindexAttribute&&d<0){return false}if(s){return l||ze.focusSvg||ze.focusSvgInIframe||Boolean(ze.focusSvgFocusableAttribute&&c&&c===\"true\")}if(u){if(ze.focusSvgTabindexAttribute&&l){return true}if(ze.focusSvgFocusableAttribute){return c===\"true\"}}if(l){return true}var f=window.getComputedStyle(a,null);if(isUserModifyWritable(f)){return true}if(ze.focusImgIsmap&&o===\"img\"&&a.hasAttribute(\"ismap\")){var m=getParents({context:a}).some((function(e){return e.nodeName.toLowerCase()===\"a\"&&e.hasAttribute(\"href\")}));if(m){return true}}if(!n.scrollable&&ze.focusScrollContainer){if(ze.focusScrollContainerWithoutOverflow){if(isScrollableContainer(a,o)){return true}}else if(hasCssOverflowScroll(f)){return true}}if(!n.flexbox&&ze.focusFlexboxContainer&&hasCssDisplayFlex(f)){return true}var p=a.parentElement;if(!n.scrollable&&p){var b=p.nodeName.toLowerCase();var g=window.getComputedStyle(p,null);if(ze.focusScrollBody&&isScrollableContainer(p,o,b,g)){return true}if(ze.focusChildrenOfFocusableFlexbox){if(hasCssDisplayFlex(g)){return true}}}return false}isFocusRelevantRules.except=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var t=function isFocusRelevant(t){return isFocusRelevantRules({context:t,except:e})};t.rules=isFocusRelevantRules;return t};var Be=isFocusRelevantRules.except({});function findIndex(e,t){if(e.findIndex){return e.findIndex(t)}var r=e.length;if(r===0){return-1}for(var n=0;n<r;n++){if(t(e[n],n,e)){return n}}return-1}function getContentDocument(e){try{return e.contentDocument||e.contentWindow&&e.contentWindow.document||e.getSVGDocument&&e.getSVGDocument()||null}catch(e){return null}}function getWindow(e){var t=getDocument(e);return t.defaultView||window}var He=void 0;function selectInShadows(e){if(typeof He!==\"string\"){var t=cssShadowPiercingDeepCombinator();if(t){He=\", html \"+t+\" \"}}if(!He){return e}return e+He+e.replace(/\\s*,\\s*/g,\",\").split(\",\").join(He)}var qe=void 0;function findDocumentHostElement(e){if(!qe){qe=selectInShadows(\"object, iframe\")}if(e._frameElement!==undefined){return e._frameElement}e._frameElement=null;var t=e.parent.document.querySelectorAll(qe);[].some.call(t,(function(t){var r=getContentDocument(t);if(r!==e.document){return false}e._frameElement=t;return true}));return e._frameElement}function getFrameElement(e){var t=getWindow(e);if(!t.parent||t.parent===t){return null}try{return t.frameElement||findDocumentHostElement(t)}catch(e){return null}}var Pe=/^(area)$/;function computedStyle(e,t){return window.getComputedStyle(e,null).getPropertyValue(t)}function notDisplayed(e){return e.some((function(e){return computedStyle(e,\"display\")===\"none\"}))}function notVisible(e){var t=findIndex(e,(function(e){var t=computedStyle(e,\"visibility\");return t===\"hidden\"||t===\"collapse\"}));if(t===-1){return false}var r=findIndex(e,(function(e){return computedStyle(e,\"visibility\")===\"visible\"}));if(r===-1){return true}if(t<r){return true}return false}function collapsedParent(e){var t=1;if(e[0].nodeName.toLowerCase()===\"summary\"){t=2}return e.slice(t).some((function(e){return e.nodeName.toLowerCase()===\"details\"&&e.open===false}))}function isVisibleRules(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.except,n=r===undefined?{notRendered:false,cssDisplay:false,cssVisibility:false,detailsElement:false,browsingContext:false}:r;var a=contextToElement({label:\"is/visible\",resolveDocument:true,context:t});var o=a.nodeName.toLowerCase();if(!n.notRendered&&Pe.test(o)){return true}var i=getParents({context:a});var l=o===\"audio\"&&!a.hasAttribute(\"controls\");if(!n.cssDisplay&¬Displayed(l?i.slice(1):i)){return false}if(!n.cssVisibility&¬Visible(i)){return false}if(!n.detailsElement&&collapsedParent(i)){return false}if(!n.browsingContext){var s=getFrameElement(a);var u=isVisibleRules.except(n);if(s&&!u(s)){return false}}return true}isVisibleRules.except=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var t=function isVisible(t){return isVisibleRules({context:t,except:e})};t.rules=isVisibleRules;return t};var We=isVisibleRules.except({});function getMapByName(e,t){var r=t.querySelector('map[name=\"'+T()(e)+'\"]');return r||null}function getImageOfArea(e){var t=e.parentElement;if(!t.name||t.nodeName.toLowerCase()!==\"map\"){return null}var r=getDocument(e);return r.querySelector('img[usemap=\"#'+T()(t.name)+'\"]')||null}var Ve=void 0;function isValidArea(e){if(!Ve){Ve=_supports()}var t=contextToElement({label:\"is/valid-area\",context:e});var r=t.nodeName.toLowerCase();if(r!==\"area\"){return false}var n=t.hasAttribute(\"tabindex\");if(!Ve.focusAreaTabindex&&n){return false}var a=getImageOfArea(t);if(!a||!We(a)){return false}if(!Ve.focusBrokenImageMap&&(!a.complete||!a.naturalHeight||a.offsetWidth<=0||a.offsetHeight<=0)){return false}if(!Ve.focusAreaWithoutHref&&!t.href){return Ve.focusAreaTabindex&&n||Ve.focusAreaImgTabindex&&a.hasAttribute(\"tabindex\")}var o=getParents({context:a}).slice(1).some((function(e){var t=e.nodeName.toLowerCase();return t===\"button\"||t===\"a\"}));if(o){return false}return true}var $e=void 0;var Ke=void 0;var Ze={input:true,select:true,textarea:true,button:true,fieldset:true,form:true};function isNativeDisabledSupported(e){if(!$e){$e=_supports();if($e.focusFieldsetDisabled){delete Ze.fieldset}if($e.focusFormDisabled){delete Ze.form}Ke=new RegExp(\"^(\"+Object.keys(Ze).join(\"|\")+\")$\")}var t=contextToElement({label:\"is/native-disabled-supported\",context:e});var r=t.nodeName.toLowerCase();return Boolean(Ke.test(r))}var Ue=void 0;function isDisabledFieldset(e){var t=e.nodeName.toLowerCase();return t===\"fieldset\"&&e.disabled}function isDisabledForm(e){var t=e.nodeName.toLowerCase();return t===\"form\"&&e.disabled}function isDisabled(e){if(!Ue){Ue=_supports()}var t=contextToElement({label:\"is/disabled\",context:e});if(t.hasAttribute(\"data-ally-disabled\")){return true}if(!isNativeDisabledSupported(t)){return false}if(t.disabled){return true}var r=getParents({context:t});if(r.some(isDisabledFieldset)){return true}if(!Ue.focusFormDisabled&&r.some(isDisabledForm)){return true}return false}function isOnlyTabbableRules(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.except,n=r===undefined?{onlyFocusableBrowsingContext:false,visible:false}:r;var a=contextToElement({label:\"is/only-tabbable\",resolveDocument:true,context:t});if(!n.visible&&!We(a)){return false}if(!n.onlyFocusableBrowsingContext&&(A.is.GECKO||A.is.TRIDENT||A.is.EDGE)){var o=getFrameElement(a);if(o){if(tabindexValue(o)<0){return false}}}var i=a.nodeName.toLowerCase();var l=tabindexValue(a);if(i===\"label\"&&A.is.GECKO){return l!==null&&l>=0}if(A.is.GECKO&&a.ownerSVGElement&&!a.focus){if(i===\"a\"&&a.hasAttribute(\"xlink:href\")){if(A.is.GECKO){return true}}}return false}isOnlyTabbableRules.except=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var t=function isOnlyTabbable(t){return isOnlyTabbableRules({context:t,except:e})};t.rules=isOnlyTabbableRules;return t};var Ge=isOnlyTabbableRules.except({});var Xe=void 0;function isOnlyFocusRelevant(e){var t=e.nodeName.toLowerCase();if(t===\"embed\"||t===\"keygen\"){return true}var r=tabindexValue(e);if(e.shadowRoot&&r===null){return true}if(t===\"label\"){return!Xe.focusLabelTabindex||r===null}if(t===\"legend\"){return r===null}if(Xe.focusSvgFocusableAttribute&&(e.ownerSVGElement||t===\"svg\")){var n=e.getAttribute(\"focusable\");return n&&n===\"false\"}if(t===\"img\"&&e.hasAttribute(\"usemap\")){return r===null||!Xe.focusImgUsemapTabindex}if(t===\"area\"){return!isValidArea(e)}return false}function isFocusableRules(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.except,n=r===undefined?{disabled:false,visible:false,onlyTabbable:false}:r;if(!Xe){Xe=_supports()}var a=Ge.rules.except({onlyFocusableBrowsingContext:true,visible:n.visible});var o=contextToElement({label:\"is/focusable\",resolveDocument:true,context:t});var i=Be.rules({context:o,except:n});if(!i||isOnlyFocusRelevant(o)){return false}if(!n.disabled&&isDisabled(o)){return false}if(!n.onlyTabbable&&a(o)){return false}if(!n.visible){var l={context:o,except:{}};if(Xe.focusInHiddenIframe){l.except.browsingContext=true}if(Xe.focusObjectSvgHidden){var s=o.nodeName.toLowerCase();if(s===\"object\"){l.except.cssVisibility=true}}if(!We.rules(l)){return false}}var u=getFrameElement(o);if(u){var c=u.nodeName.toLowerCase();if(c===\"object\"&&!Xe.focusInZeroDimensionObject){if(!u.offsetWidth||!u.offsetHeight){return false}}}var d=o.nodeName.toLowerCase();if(d===\"svg\"&&Xe.focusSvgInIframe&&!u&&o.getAttribute(\"tabindex\")===null){return false}return true}isFocusableRules.except=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var t=function isFocusable(t){return isFocusableRules({context:t,except:e})};t.rules=isFocusableRules;return t};var Je=isFocusableRules.except({});function createFilter(e){var t=function filter(t){if(t.shadowRoot){return NodeFilter.FILTER_ACCEPT}if(e(t)){return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP};t.acceptNode=t;return t}var Qe=createFilter(Be);function queryFocusableStrict(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.includeContext,n=e.includeOnlyTabbable,a=e.strategy;if(!t){t=document.documentElement}var o=Je.rules.except({onlyTabbable:n});var i=getDocument(t);var l=i.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,a===\"all\"?Qe:createFilter(o),false);var s=[];while(l.nextNode()){if(l.currentNode.shadowRoot){if(o(l.currentNode)){s.push(l.currentNode)}s=s.concat(queryFocusableStrict({context:l.currentNode.shadowRoot,includeOnlyTabbable:n,strategy:a}))}else{s.push(l.currentNode)}}if(r){if(a===\"all\"){if(Be(t)){s.unshift(t)}}else if(o(t)){s.unshift(t)}}return s}var Ye=void 0;var et=void 0;function selector$2(){if(!Ye){Ye=_supports()}if(typeof et===\"string\"){return et}et=\"\"+(Ye.focusTable?\"table, td,\":\"\")+(Ye.focusFieldset?\"fieldset,\":\"\")+\"svg a,\"+\"a[href],\"+\"area[href],\"+\"input, select, textarea, button,\"+\"iframe, object, embed,\"+\"keygen,\"+(Ye.focusAudioWithoutControls?\"audio,\":\"audio[controls],\")+(Ye.focusVideoWithoutControls?\"video,\":\"video[controls],\")+(Ye.focusSummary?\"summary,\":\"\")+\"[tabindex],\"+\"[contenteditable]\";et=selectInShadows(et);return et}function queryFocusableQuick(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.includeContext,n=e.includeOnlyTabbable;var a=selector$2();var o=t.querySelectorAll(a);var i=Je.rules.except({onlyTabbable:n});var l=[].filter.call(o,i);if(r&&i(t)){l.unshift(t)}return l}function queryFocusable(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.includeContext,n=e.includeOnlyTabbable,a=e.strategy,o=a===undefined?\"quick\":a;var i=contextToElement({label:\"query/focusable\",resolveDocument:true,defaultToDocument:true,context:t});var l={context:i,includeContext:r,includeOnlyTabbable:n,strategy:o};if(o===\"quick\"){return queryFocusableQuick(l)}else if(o===\"strict\"||o===\"all\"){return queryFocusableStrict(l)}throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]')}var tt=void 0;var rt=/^(fieldset|table|td|body)$/;function isTabbableRules(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.except,n=r===undefined?{flexbox:false,scrollable:false,shadow:false,visible:false,onlyTabbable:false}:r;if(!tt){tt=_supports()}var a=contextToElement({label:\"is/tabbable\",resolveDocument:true,context:t});if(A.is.BLINK&&A.is.ANDROID&&A.majorVersion>42){return false}var o=getFrameElement(a);if(o){if(A.is.WEBKIT&&A.is.IOS){return false}if(tabindexValue(o)<0){return false}if(!n.visible&&(A.is.BLINK||A.is.WEBKIT)&&!We(o)){return false}var i=o.nodeName.toLowerCase();if(i===\"object\"){var l=A.name===\"Chrome\"&&A.majorVersion>=54||A.name===\"Opera\"&&A.majorVersion>=41;if(A.is.WEBKIT||A.is.BLINK&&!l){return false}}}var s=a.nodeName.toLowerCase();var u=tabindexValue(a);var c=u===null?null:u>=0;if(A.is.EDGE&&A.majorVersion>=14&&o&&a.ownerSVGElement&&u<0){return true}var d=c!==false;var f=u!==null&&u>=0;if(a.hasAttribute(\"contenteditable\")){return d}if(rt.test(s)&&c!==true){return false}if(A.is.WEBKIT&&A.is.IOS){var m=s===\"input\"&&a.type===\"text\"||a.type===\"password\"||s===\"select\"||s===\"textarea\"||a.hasAttribute(\"contenteditable\");if(!m){var p=window.getComputedStyle(a,null);m=isUserModifyWritable(p)}if(!m){return false}}if(s===\"use\"&&u!==null){if(A.is.BLINK||A.is.WEBKIT&&A.majorVersion===9){return true}}if(elementMatches(a,\"svg a\")&&a.hasAttribute(\"xlink:href\")){if(d){return true}if(a.focus&&!tt.focusSvgNegativeTabindexAttribute){return true}}if(s===\"svg\"&&tt.focusSvgInIframe&&d){return true}if(A.is.TRIDENT||A.is.EDGE){if(s===\"svg\"){if(tt.focusSvg){return true}return a.hasAttribute(\"focusable\")||f}if(a.ownerSVGElement){if(tt.focusSvgTabindexAttribute&&f){return true}return a.hasAttribute(\"focusable\")}}if(a.tabIndex===undefined){return Boolean(n.onlyTabbable)}if(s===\"audio\"){if(!a.hasAttribute(\"controls\")){return false}else if(A.is.BLINK){return true}}if(s===\"video\"){if(!a.hasAttribute(\"controls\")){if(A.is.TRIDENT||A.is.EDGE){return false}}else if(A.is.BLINK||A.is.GECKO){return true}}if(s===\"object\"){if(A.is.BLINK||A.is.WEBKIT){return false}}if(s===\"iframe\"){return false}if(!n.scrollable&&A.is.GECKO){var b=window.getComputedStyle(a,null);if(hasCssOverflowScroll(b)){return d}}if(A.is.TRIDENT||A.is.EDGE){if(s===\"area\"){var g=getImageOfArea(a);if(g&&tabindexValue(g)<0){return false}}var v=window.getComputedStyle(a,null);if(isUserModifyWritable(v)){return a.tabIndex>=0}if(!n.flexbox&&hasCssDisplayFlex(v)){if(u!==null){return f}return nt(a)&&at(a)}if(isScrollableContainer(a,s)){return false}var h=a.parentElement;if(h){var x=h.nodeName.toLowerCase();var y=window.getComputedStyle(h,null);if(isScrollableContainer(h,s,x,y)){return false}if(hasCssDisplayFlex(y)){return f}}}return a.tabIndex>=0}isTabbableRules.except=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var t=function isTabbable(t){return isTabbableRules({context:t,except:e})};t.rules=isTabbableRules;return t};var nt=Be.rules.except({flexbox:true});var at=isTabbableRules.except({flexbox:true});var ot=isTabbableRules.except({});function queryTabbable(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.includeContext,n=e.includeOnlyTabbable,a=e.strategy;var o=ot.rules.except({onlyTabbable:n});return queryFocusable({context:t,includeContext:r,includeOnlyTabbable:n,strategy:a}).filter(o)}function compareDomPosition(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function sortDomOrder(e){return e.sort(compareDomPosition)}function getFirstSuccessorOffset(e,t){return findIndex(e,(function(e){return t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING}))}function findInsertionOffsets(e,t,r){var n=[];t.forEach((function(t){var a=true;var o=e.indexOf(t);if(o===-1){o=getFirstSuccessorOffset(e,t);a=false}if(o===-1){o=e.length}var i=nodeArray(r?r(t):t);if(!i.length){return}n.push({offset:o,replace:a,elements:i})}));return n}function insertElementsAtOffsets(e,t){var r=0;t.sort((function(e,t){return e.offset-t.offset}));t.forEach((function(t){var n=t.replace?1:0;var a=[t.offset+r,n].concat(t.elements);e.splice.apply(e,a);r+=t.elements.length-n}))}function mergeInDomOrder(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.list,r=e.elements,n=e.resolveElement;var a=t.slice(0);var o=nodeArray(r).slice(0);sortDomOrder(o);var i=findInsertionOffsets(a,o,n);insertElementsAtOffsets(a,i);return a}var it=function(){function defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if(\"value\"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}return function(e,t,r){if(t)defineProperties(e.prototype,t);if(r)defineProperties(e,r);return e}}();function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}var lt=function(){function Maps(e){_classCallCheck(this,Maps);this._document=getDocument(e);this.maps={}}it(Maps,[{key:\"getAreasFor\",value:function getAreasFor(e){if(!this.maps[e]){this.addMapByName(e)}return this.maps[e]}},{key:\"addMapByName\",value:function addMapByName(e){var t=getMapByName(e,this._document);if(!t){return}this.maps[t.name]=queryTabbable({context:t})}},{key:\"extractAreasFromList\",value:function extractAreasFromList(e){return e.filter((function(e){var t=e.nodeName.toLowerCase();if(t!==\"area\"){return true}var r=e.parentNode;if(!this.maps[r.name]){this.maps[r.name]=[]}this.maps[r.name].push(e);return false}),this)}}]);return Maps}();function sortArea(e,t){var r=t.querySelectorAll(\"img[usemap]\");var n=new lt(t);var a=n.extractAreasFromList(e);if(!r.length){return a}return mergeInDomOrder({list:a,elements:r,resolveElement:function resolveElement(e){var t=e.getAttribute(\"usemap\").slice(1);return n.getAreasFor(t)}})}var st=function(){function defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if(\"value\"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}return function(e,t,r){if(t)defineProperties(e.prototype,t);if(r)defineProperties(e,r);return e}}();function _classCallCheck$1(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}var ut=function(){function Shadows(e,t){_classCallCheck$1(this,Shadows);this.context=e;this.sortElements=t;this.hostCounter=1;this.inHost={};this.inDocument=[];this.hosts={};this.elements={}}st(Shadows,[{key:\"_registerHost\",value:function _registerHost(e){if(e._sortingId){return}e._sortingId=\"shadow-\"+this.hostCounter++;this.hosts[e._sortingId]=e;var t=getShadowHost({context:e});if(t){this._registerHost(t);this._registerHostParent(e,t)}else{this.inDocument.push(e)}}},{key:\"_registerHostParent\",value:function _registerHostParent(e,t){if(!this.inHost[t._sortingId]){this.inHost[t._sortingId]=[]}this.inHost[t._sortingId].push(e)}},{key:\"_registerElement\",value:function _registerElement(e,t){if(!this.elements[t._sortingId]){this.elements[t._sortingId]=[]}this.elements[t._sortingId].push(e)}},{key:\"extractElements\",value:function extractElements(e){return e.filter((function(e){var t=getShadowHost({context:e});if(!t){return true}this._registerHost(t);this._registerElement(e,t);return false}),this)}},{key:\"sort\",value:function sort(e){var t=this._injectHosts(e);t=this._replaceHosts(t);this._cleanup();return t}},{key:\"_injectHosts\",value:function _injectHosts(e){Object.keys(this.hosts).forEach((function(e){var t=this.elements[e];var r=this.inHost[e];var n=this.hosts[e].shadowRoot;this.elements[e]=this._merge(t,r,n)}),this);return this._merge(e,this.inDocument,this.context)}},{key:\"_merge\",value:function _merge(e,t,r){var n=mergeInDomOrder({list:e,elements:t});return this.sortElements(n,r)}},{key:\"_replaceHosts\",value:function _replaceHosts(e){return mergeInDomOrder({list:e,elements:this.inDocument,resolveElement:this._resolveHostElement.bind(this)})}},{key:\"_resolveHostElement\",value:function _resolveHostElement(e){var t=mergeInDomOrder({list:this.elements[e._sortingId],elements:this.inHost[e._sortingId],resolveElement:this._resolveHostElement.bind(this)});var r=tabindexValue(e);if(r!==null&&r>-1){return[e].concat(t)}return t}},{key:\"_cleanup\",value:function _cleanup(){Object.keys(this.hosts).forEach((function(e){delete this.hosts[e]._sortingId}),this)}}]);return Shadows}();function sortShadowed(e,t,r){var n=new ut(t,r);var a=n.extractElements(e);if(a.length===e.length){return r(e)}return n.sort(a)}function sortTabindex(e){var t={};var r=[];var n=e.filter((function(e){var n=e.tabIndex;if(n===undefined){n=tabindexValue(e)}if(n<=0||n===null||n===undefined){return true}if(!t[n]){t[n]=[];r.push(n)}t[n].push(e);return false}));var a=r.sort().map((function(e){return t[e]})).reduceRight((function(e,t){return t.concat(e)}),n);return a}var ct=void 0;function moveContextToBeginning(e,t){var r=e.indexOf(t);if(r>0){var n=e.splice(r,1);return n.concat(e)}return e}function sortElements(e,t){if(ct.tabsequenceAreaAtImgPosition){e=sortArea(e,t)}e=sortTabindex(e);return e}function queryTabsequence(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.context,r=e.includeContext,n=e.includeOnlyTabbable,a=e.strategy;if(!ct){ct=_supports()}var o=nodeArray(t)[0]||document.documentElement;var i=queryTabbable({context:o,includeContext:r,includeOnlyTabbable:n,strategy:a});if(document.body.createShadowRoot&&A.is.BLINK){i=sortShadowed(i,o,sortElements)}else{i=sortElements(i,o)}if(r){i=moveContextToBeginning(i,o)}return i}var dt={tab:9,left:37,up:38,right:39,down:40,pageUp:33,\"page-up\":33,pageDown:34,\"page-down\":34,end:35,home:36,enter:13,escape:27,space:32,shift:16,capsLock:20,\"caps-lock\":20,ctrl:17,alt:18,meta:91,pause:19,insert:45,delete:46,backspace:8,_alias:{91:[92,93,224]}};for(var ft=1;ft<26;ft++){dt[\"f\"+ft]=ft+111}for(var mt=0;mt<10;mt++){var pt=mt+48;var bt=mt+96;dt[mt]=pt;dt[\"num-\"+mt]=bt;dt._alias[pt]=[bt]}for(var gt=0;gt<26;gt++){var vt=gt+65;var ht=String.fromCharCode(vt).toLowerCase();dt[ht]=vt}var xt={alt:\"altKey\",ctrl:\"ctrlKey\",meta:\"metaKey\",shift:\"shiftKey\"};var yt=Object.keys(xt).map((function(e){return xt[e]}));function createExpectedModifiers(e){var t=e?null:false;return{altKey:t,ctrlKey:t,metaKey:t,shiftKey:t}}function resolveModifiers(e){var t=e.indexOf(\"*\")!==-1;var r=createExpectedModifiers(t);e.forEach((function(e){if(e===\"*\"){return}var t=true;var n=e.slice(0,1);if(n===\"?\"){t=null}else if(n===\"!\"){t=false}if(t!==true){e=e.slice(1)}var a=xt[e];if(!a){throw new TypeError('Unknown modifier \"'+e+'\"')}r[a]=t}));return r}function resolveKey(e){var t=dt[e]||parseInt(e,10);if(!t||typeof t!==\"number\"||isNaN(t)){throw new TypeError('Unknown key \"'+e+'\"')}return[t].concat(dt._alias[t]||[])}function matchModifiers(e,t){return!yt.some((function(r){return typeof e[r]===\"boolean\"&&Boolean(t[r])!==e[r]}))}function keyBinding(e){return e.split(/\\s+/).map((function(e){var t=e.split(\"+\");var r=resolveModifiers(t.slice(0,-1));var n=resolveKey(t.slice(-1));return{keyCodes:n,modifiers:r,matchModifiers:matchModifiers.bind(null,r)}}))}function getParentComparator(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},t=e.parent,r=e.element,n=e.includeSelf;if(t){return function isChildOf(e){return Boolean(n&&e===t||t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)}}else if(r){return function isParentOf(e){return Boolean(n&&r===e||e.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_CONTAINED_BY)}}throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\")}function whenKey(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var t={};var r=nodeArray(e.context)[0]||document.documentElement;delete e.context;var n=nodeArray(e.filter);delete e.filter;var a=Object.keys(e);if(!a.length){throw new TypeError(\"when/key requires at least one option key\")}var o=function registerBinding(e){e.keyCodes.forEach((function(r){if(!t[r]){t[r]=[]}t[r].push(e)}))};a.forEach((function(t){if(typeof e[t]!==\"function\"){throw new TypeError('when/key requires option[\"'+t+'\"] to be a function')}var r=function addCallback(r){r.callback=e[t];return r};keyBinding(t).map(r).forEach(o)}));var i=function handleKeyDown(e){if(e.defaultPrevented){return}if(n.length){var a=getParentComparator({element:e.target,includeSelf:true});if(n.some(a)){return}}var o=e.keyCode||e.which;if(!t[o]){return}t[o].forEach((function(t){if(!t.matchModifiers(e)){return}t.callback.call(r,e,l)}))};r.addEventListener(\"keydown\",i,false);var l=function disengage(){r.removeEventListener(\"keydown\",i,false)};return{disengage:l}}function maintain_tab_focus({context:e}={}){if(!e){e=document.documentElement}queryTabsequence();return whenKey({\"?alt+?shift+tab\":function altShiftTab(t){t.preventDefault();var r=queryTabsequence({context:e});var n=t.shiftKey;var a=r[0];var o=r[r.length-1];var i=n?a:o;var l=n?o:a;if(isActiveElement(i)){l.focus();return}var s=void 0;var u=r.some((function(e,t){if(!isActiveElement(e)){return false}s=t;return true}));if(!u){a.focus();return}var c=n?-1:1;r[s+c].focus()}})}let Et;let wt;let kt=0;function lock(){setTimeout((()=>{if(kt++>0){return}const e=window.innerWidth-document.documentElement.clientWidth;if(e>0){Et=document.body.style.paddingRight;document.body.style.paddingRight=`${e}px`}wt=document.body.style.overflow;document.body.style.overflow=\"hidden\"}))}function unlock(){setTimeout((()=>{if(kt===0||--kt!==0){return}if(Et!==undefined){document.body.style.paddingRight=Et;Et=undefined}if(wt!==undefined){document.body.style.overflow=wt;wt=undefined}}))}const St=function Overlay({className:e,children:t,fixed:r}){p.useEffect((()=>{lock();return()=>{unlock()}}),[]);const[n,a]=p.useState(null);const o=p.useCallback((e=>{a(e)}),[]);p.useEffect((()=>{if(n==null){return}const e=maintain_tab_focus({context:n});return()=>{e.disengage()}}),[n]);return p.createElement(\"div\",{\"data-nextjs-dialog-overlay\":true,className:e,ref:o},p.createElement(\"div\",{\"data-nextjs-dialog-backdrop\":true,\"data-nextjs-dialog-backdrop-fixed\":r?true:undefined}),t)};var _t=__webpack_require__(/*! next/dist/compiled/anser */ \"./node_modules/next/dist/compiled/anser/index.js\");var Tt=__nccwpck_require__.n(_t);const Ct=function Terminal({content:e}){const t=p.useMemo((()=>Tt().ansiToJson(e,{json:true,use_classes:true,remove_empty:true})),[e]);return p.createElement(\"div\",{\"data-nextjs-terminal\":true},p.createElement(\"pre\",null,t.map(((e,t)=>p.createElement(\"span\",{key:`terminal-entry-${t}`,style:{color:e.fg?`var(--color-${e.fg})`:undefined,...e.decoration===\"bold\"?{fontWeight:800}:e.decoration===\"italic\"?{fontStyle:\"italic\"}:undefined}},e.content)))))};const jt=function BuildError({message:e}){const t=p.useCallback((()=>{}),[]);return p.createElement(St,{fixed:true},p.createElement(h,{type:\"error\",\"aria-labelledby\":\"nextjs__container_build_error_label\",\"aria-describedby\":\"nextjs__container_build_error_desc\",onClose:t},p.createElement(y,null,p.createElement(E,{className:\"nextjs-container-build-error-header\"},p.createElement(\"h4\",{id:\"nextjs__container_build_error_label\"},\"Failed to compile\")),p.createElement(x,{className:\"nextjs-container-build-error-body\"},p.createElement(Ct,{content:e}),p.createElement(\"footer\",null,p.createElement(\"p\",{id:\"nextjs__container_build_error_desc\"},p.createElement(\"small\",null,\"This error occurred during the build process and can only be dismissed by fixing the error.\")))))))};const At=noop`\n .nextjs-container-build-error-header > h4 {\n line-height: 1.5;\n margin: 0;\n padding: 0;\n }\n\n .nextjs-container-build-error-body footer {\n margin-top: var(--size-gap);\n }\n .nextjs-container-build-error-body footer p {\n margin: 0;\n }\n\n .nextjs-container-build-error-body small {\n color: var(--color-font);\n }\n`;const CloseIcon=()=>p.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},p.createElement(\"path\",{d:\"M18 6L6 18\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),p.createElement(\"path\",{d:\"M6 6L18 18\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}));const Ot=function LeftRightDialogHeader({children:e,className:t,previous:r,next:n,close:a}){const o=p.useRef(null);const i=p.useRef(null);const l=p.useRef(null);const[s,u]=p.useState(null);const c=p.useCallback((e=>{u(e)}),[]);p.useEffect((()=>{if(s==null){return}const e=s.getRootNode();const t=self.document;function handler(t){if(t.key===\"ArrowLeft\"){t.stopPropagation();if(o.current){o.current.focus()}r&&r()}else if(t.key===\"ArrowRight\"){t.stopPropagation();if(i.current){i.current.focus()}n&&n()}else if(t.key===\"Escape\"){t.stopPropagation();if(e instanceof ShadowRoot){const t=e.activeElement;if(t&&t!==l.current&&t instanceof HTMLElement){t.blur();return}}if(a){a()}}}e.addEventListener(\"keydown\",handler);if(e!==t){t.addEventListener(\"keydown\",handler)}return function(){e.removeEventListener(\"keydown\",handler);if(e!==t){t.removeEventListener(\"keydown\",handler)}}}),[a,s,n,r]);p.useEffect((()=>{if(s==null){return}const e=s.getRootNode();if(e instanceof ShadowRoot){const t=e.activeElement;if(r==null){if(o.current&&t===o.current){o.current.blur()}}else if(n==null){if(i.current&&t===i.current){i.current.blur()}}}}),[s,n,r]);return p.createElement(\"div\",{\"data-nextjs-dialog-left-right\":true,className:t},p.createElement(\"nav\",{ref:c},p.createElement(\"button\",{ref:o,type:\"button\",disabled:r==null?true:undefined,\"aria-disabled\":r==null?true:undefined,onClick:r??undefined},p.createElement(\"svg\",{viewBox:\"0 0 14 14\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},p.createElement(\"title\",null,\"previous\"),p.createElement(\"path\",{d:\"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}))),p.createElement(\"button\",{ref:i,type:\"button\",disabled:n==null?true:undefined,\"aria-disabled\":n==null?true:undefined,onClick:n??undefined},p.createElement(\"svg\",{viewBox:\"0 0 14 14\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},p.createElement(\"title\",null,\"next\"),p.createElement(\"path\",{d:\"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}))),\" \",e),a?p.createElement(\"button\",{\"data-nextjs-errors-dialog-left-right-close-button\":true,ref:l,type:\"button\",onClick:a,\"aria-label\":\"Close\"},p.createElement(\"span\",{\"aria-hidden\":\"true\"},p.createElement(CloseIcon,null))):null)};const Nt=noop`\n [data-nextjs-dialog-left-right] {\n display: flex;\n flex-direction: row;\n align-content: center;\n align-items: center;\n justify-content: space-between;\n }\n [data-nextjs-dialog-left-right] > nav > button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n width: calc(var(--size-gap-double) + var(--size-gap));\n height: calc(var(--size-gap-double) + var(--size-gap));\n font-size: 0;\n border: none;\n background-color: rgba(255, 85, 85, 0.1);\n color: var(--color-ansi-red);\n cursor: pointer;\n transition: background-color 0.25s ease;\n }\n [data-nextjs-dialog-left-right] > nav > button > svg {\n width: auto;\n height: calc(var(--size-gap) + var(--size-gap-half));\n }\n [data-nextjs-dialog-left-right] > nav > button:hover {\n background-color: rgba(255, 85, 85, 0.2);\n }\n [data-nextjs-dialog-left-right] > nav > button:disabled {\n background-color: rgba(255, 85, 85, 0.1);\n color: rgba(255, 85, 85, 0.4);\n cursor: not-allowed;\n }\n\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\n margin-right: 1px;\n }\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\n }\n\n [data-nextjs-dialog-left-right] > button:last-of-type {\n border: 0;\n padding: 0;\n\n background-color: transparent;\n appearance: none;\n\n opacity: 0.4;\n transition: opacity 0.25s ease;\n\n color: var(--color-font);\n }\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\n opacity: 0.7;\n }\n`;const It=noop`\n [data-nextjs-toast] {\n position: fixed;\n bottom: var(--size-gap-double);\n left: var(--size-gap-double);\n max-width: 420px;\n z-index: 9000;\n }\n\n @media (max-width: 440px) {\n [data-nextjs-toast] {\n max-width: 90vw;\n left: 5vw;\n }\n }\n\n [data-nextjs-toast-wrapper] {\n padding: 16px;\n border-radius: var(--size-gap-half);\n font-weight: 500;\n color: var(--color-ansi-bright-white);\n background-color: var(--color-ansi-red);\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\n rgba(0, 0, 0, 0.25);\n }\n`;const Lt=function Toast({onClick:e,children:t,className:r}){return p.createElement(\"div\",{\"data-nextjs-toast\":true,onClick:e,className:r},p.createElement(\"div\",{\"data-nextjs-toast-wrapper\":true},t))};var Ft=__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\");var Dt=__nccwpck_require__.n(Ft);const Mt=function CodeFrame({stackFrame:e,codeFrame:t}){const r=p.useMemo((()=>{const e=t.split(/\\r?\\n/g);const r=e.map((e=>/^>? +\\d+ +\\| [ ]+/.exec(Dt()(e))===null?null:/^>? +\\d+ +\\| ( *)/.exec(Dt()(e)))).filter(Boolean).map((e=>e.pop())).reduce(((e,t)=>isNaN(e)?t.length:Math.min(e,t.length)),NaN);if(r>1){const t=\" \".repeat(r);return e.map(((e,r)=>~(r=e.indexOf(\"|\"))?e.substring(0,r)+e.substring(r).replace(t,\"\"):e)).join(\"\\n\")}return e.join(\"\\n\")}),[t]);const n=p.useMemo((()=>Tt().ansiToJson(r,{json:true,use_classes:true,remove_empty:true})),[r]);const a=p.useCallback((()=>{const t=new URLSearchParams;for(const r in e){t.append(r,(e[r]??\"\").toString())}self.fetch(`${ false||\"\"}/__nextjs_launch-editor?${t.toString()}`).then((()=>{}),(()=>{console.error(\"There was an issue opening this code in your editor.\")}))}),[e]);return p.createElement(\"div\",{\"data-nextjs-codeframe\":true},p.createElement(\"div\",null,p.createElement(\"p\",{role:\"link\",onClick:a,tabIndex:1,title:\"Click to open in your editor\"},p.createElement(\"span\",null,getFrameSource(e),\" @ \",e.methodName),p.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},p.createElement(\"path\",{d:\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}),p.createElement(\"polyline\",{points:\"15 3 21 3 21 9\"}),p.createElement(\"line\",{x1:\"10\",y1:\"14\",x2:\"21\",y2:\"3\"})))),p.createElement(\"pre\",null,n.map(((e,t)=>p.createElement(\"span\",{key:`frame-${t}`,style:{color:e.fg?`var(--color-${e.fg})`:undefined,...e.decoration===\"bold\"?{fontWeight:800}:e.decoration===\"italic\"?{fontStyle:\"italic\"}:undefined}},e.content)))))};const Rt=function CallStackFrame({frame:e}){const t=e.originalStackFrame??e.sourceStackFrame;const r=Boolean(e.originalCodeFrame);const n=p.useCallback((()=>{if(!r)return;const e=new URLSearchParams;for(const r in t){e.append(r,(t[r]??\"\").toString())}self.fetch(`${ false||\"\"}/__nextjs_launch-editor?${e.toString()}`).then((()=>{}),(()=>{console.error(\"There was an issue opening this code in your editor.\")}))}),[r,t]);return p.createElement(\"div\",{\"data-nextjs-call-stack-frame\":true},p.createElement(\"h3\",{\"data-nextjs-frame-expanded\":Boolean(e.expanded)},t.methodName),p.createElement(\"div\",{\"data-has-source\":r?\"true\":undefined,tabIndex:r?10:undefined,role:r?\"link\":undefined,onClick:n,title:r?\"Click to open in your editor\":undefined},p.createElement(\"span\",null,getFrameSource(t)),p.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},p.createElement(\"path\",{d:\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}),p.createElement(\"polyline\",{points:\"15 3 21 3 21 9\"}),p.createElement(\"line\",{x1:\"10\",y1:\"14\",x2:\"21\",y2:\"3\"}))))};const zt=function RuntimeError({error:e}){const t=p.useMemo((()=>e.frames.findIndex((e=>e.expanded&&Boolean(e.originalCodeFrame)&&Boolean(e.originalStackFrame)))),[e.frames]);const r=p.useMemo((()=>e.frames[t]??null),[e.frames,t]);const n=p.useMemo((()=>t<0?[]:e.frames.slice(0,t)),[e.frames,t]);const[a,o]=p.useState(r==null);const i=p.useCallback((()=>{o((e=>!e))}),[]);const l=p.useMemo((()=>n.filter((e=>e.expanded||a))),[a,n]);const s=p.useMemo((()=>e.frames.slice(t+1)),[e.frames,t]);const u=p.useMemo((()=>s.filter((e=>e.expanded||a))),[a,s]);const c=p.useMemo((()=>s.length!==u.length||a&&r!=null),[a,s.length,r,u.length]);return p.createElement(p.Fragment,null,r?p.createElement(p.Fragment,null,p.createElement(\"h2\",null,\"Source\"),l.map(((e,t)=>p.createElement(Rt,{key:`leading-frame-${t}-${a}`,frame:e}))),p.createElement(Mt,{stackFrame:r.originalStackFrame,codeFrame:r.originalCodeFrame})):undefined,e.componentStack?p.createElement(p.Fragment,null,p.createElement(\"h2\",null,\"Component Stack\"),e.componentStack.map(((e,t)=>p.createElement(\"div\",{key:t,\"data-nextjs-component-stack-frame\":true},p.createElement(\"h3\",null,e))))):null,u.length?p.createElement(p.Fragment,null,p.createElement(\"h2\",null,\"Call Stack\"),u.map(((e,t)=>p.createElement(Rt,{key:`call-stack-${t}-${a}`,frame:e})))):undefined,c?p.createElement(p.Fragment,null,p.createElement(\"button\",{tabIndex:10,\"data-nextjs-data-runtime-error-collapsed-action\":true,type:\"button\",onClick:i},a?\"Hide\":\"Show\",\" collapsed frames\")):undefined)};const Bt=noop`\n button[data-nextjs-data-runtime-error-collapsed-action] {\n background: none;\n border: none;\n padding: 0;\n font-size: var(--size-font-small);\n line-height: var(--size-font-bigger);\n color: var(--color-accents-3);\n }\n\n [data-nextjs-call-stack-frame]:not(:last-child),\n [data-nextjs-component-stack-frame]:not(:last-child) {\n margin-bottom: var(--size-gap-double);\n }\n\n [data-nextjs-call-stack-frame] > h3,\n [data-nextjs-component-stack-frame] > h3 {\n margin-top: 0;\n margin-bottom: var(--size-gap);\n font-family: var(--font-stack-monospace);\n color: var(--color-stack-h6);\n }\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\n color: var(--color-stack-headline);\n }\n [data-nextjs-call-stack-frame] > div {\n display: flex;\n align-items: center;\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\n font-size: var(--size-font-small);\n color: var(--color-stack-subline);\n }\n [data-nextjs-call-stack-frame] > div > svg {\n width: auto;\n height: var(--size-font-small);\n margin-left: var(--size-gap);\n\n display: none;\n }\n\n [data-nextjs-call-stack-frame] > div[data-has-source] {\n cursor: pointer;\n }\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg {\n display: unset;\n }\n`;function getErrorSignature(e){const{event:t}=e;switch(t.type){case o:case i:{return`${t.reason.name}::${t.reason.message}::${t.reason.stack}`}default:{}}const r=t;return\"\"}const Ht=function HotlinkedText(e){const{text:t}=e;const r=/https?:\\/\\/[^\\s/$.?#].[^\\s)'\"]*/i;return p.createElement(p.Fragment,null,r.test(t)?t.split(\" \").map(((e,t,n)=>{if(r.test(e)){const a=r.exec(e);return p.createElement(p.Fragment,{key:`link-${t}`},a&&p.createElement(\"a\",{href:a[0],target:\"_blank\",rel:\"noreferrer noopener\"},e),t===n.length-1?\"\":\" \")}return t===n.length-1?p.createElement(p.Fragment,{key:`text-${t}`},e):p.createElement(p.Fragment,{key:`text-${t}`},e,\" \")})):t)};const qt=function Errors({errors:e}){const[t,r]=p.useState({});const[n,a]=p.useMemo((()=>{let r=[];let n=null;for(let a=0;a<e.length;++a){const o=e[a];const{id:i}=o;if(i in t){r.push(t[i]);continue}if(a>0){const t=e[a-1];if(getErrorSignature(t)===getErrorSignature(o)){continue}}n=o;break}return[r,n]}),[e,t]);const o=p.useMemo((()=>n.length<1&&Boolean(e.length)),[e.length,n.length]);p.useEffect((()=>{if(a==null){return}let e=true;getErrorByType(a).then((t=>{if(e){r((e=>({...e,[t.id]:t})))}}),(()=>{}));return()=>{e=false}}),[a]);const[i,l]=p.useState(\"fullscreen\");const[s,u]=p.useState(0);const c=p.useCallback((e=>{e?.preventDefault();u((e=>Math.max(0,e-1)))}),[]);const d=p.useCallback((e=>{e?.preventDefault();u((e=>Math.max(0,Math.min(n.length-1,e+1))))}),[n.length]);const f=p.useMemo((()=>n[s]??null),[s,n]);p.useEffect((()=>{if(e.length<1){r({});l(\"hidden\");u(0)}}),[e.length]);const m=p.useCallback((e=>{e?.preventDefault();l(\"minimized\")}),[]);const b=p.useCallback((e=>{e?.preventDefault();l(\"hidden\")}),[]);const g=p.useCallback((e=>{e?.preventDefault();l(\"fullscreen\")}),[]);if(e.length<1||f==null){return null}if(o){return p.createElement(St,null)}if(i===\"hidden\"){return null}if(i===\"minimized\"){return p.createElement(Lt,{className:\"nextjs-toast-errors-parent\",onClick:g},p.createElement(\"div\",{className:\"nextjs-toast-errors\"},p.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},p.createElement(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),p.createElement(\"line\",{x1:\"12\",y1:\"8\",x2:\"12\",y2:\"12\"}),p.createElement(\"line\",{x1:\"12\",y1:\"16\",x2:\"12.01\",y2:\"16\"})),p.createElement(\"span\",null,n.length,\" error\",n.length>1?\"s\":\"\"),p.createElement(\"button\",{\"data-nextjs-toast-errors-hide-button\":true,className:\"nextjs-toast-errors-hide-button\",type:\"button\",onClick:e=>{e.stopPropagation();b()},\"aria-label\":\"Hide Errors\"},p.createElement(CloseIcon,null))))}const v=[\"server\",\"edge-server\"].includes(getErrorSource(f.error)||\"\");return p.createElement(St,null,p.createElement(h,{type:\"error\",\"aria-labelledby\":\"nextjs__container_errors_label\",\"aria-describedby\":\"nextjs__container_errors_desc\",onClose:v?undefined:m},p.createElement(y,null,p.createElement(E,{className:\"nextjs-container-errors-header\"},p.createElement(Ot,{previous:s>0?c:null,next:s<n.length-1?d:null,close:v?undefined:m},p.createElement(\"small\",null,p.createElement(\"span\",null,s+1),\" of\",\" \",p.createElement(\"span\",null,n.length),\" unhandled error\",n.length<2?\"\":\"s\")),p.createElement(\"h1\",{id:\"nextjs__container_errors_label\"},v?\"Server Error\":\"Unhandled Runtime Error\"),p.createElement(\"p\",{id:\"nextjs__container_errors_desc\"},f.error.name,\":\",\" \",p.createElement(Ht,{text:f.error.message})),v?p.createElement(\"div\",null,p.createElement(\"small\",null,\"This error happened while generating the page. Any console logs will be displayed in the terminal window.\")):undefined),p.createElement(x,{className:\"nextjs-container-errors-body\"},p.createElement(zt,{key:f.id.toString(),error:f})))))};const Pt=noop`\n .nextjs-container-errors-header > h1 {\n font-size: var(--size-font-big);\n line-height: var(--size-font-bigger);\n font-weight: bold;\n margin: 0;\n margin-top: calc(var(--size-gap-double) + var(--size-gap-half));\n }\n .nextjs-container-errors-header small {\n font-size: var(--size-font-small);\n color: var(--color-accents-1);\n margin-left: var(--size-gap-double);\n }\n .nextjs-container-errors-header small > span {\n font-family: var(--font-stack-monospace);\n }\n .nextjs-container-errors-header > p {\n font-family: var(--font-stack-monospace);\n font-size: var(--size-font-small);\n line-height: var(--size-font-big);\n font-weight: bold;\n margin: 0;\n margin-top: var(--size-gap-half);\n color: var(--color-ansi-red);\n white-space: pre-wrap;\n }\n .nextjs-container-errors-header > div > small {\n margin: 0;\n margin-top: var(--size-gap-half);\n }\n .nextjs-container-errors-header > p > a {\n color: var(--color-ansi-red);\n }\n\n .nextjs-container-errors-body > h2:not(:first-child) {\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\n }\n .nextjs-container-errors-body > h2 {\n margin-bottom: var(--size-gap);\n font-size: var(--size-font-big);\n }\n\n .nextjs-toast-errors-parent {\n cursor: pointer;\n transition: transform 0.2s ease;\n }\n .nextjs-toast-errors-parent:hover {\n transform: scale(1.1);\n }\n .nextjs-toast-errors {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n }\n .nextjs-toast-errors > svg {\n margin-right: var(--size-gap);\n }\n .nextjs-toast-errors-hide-button {\n margin-left: var(--size-gap-triple);\n border: none;\n background: none;\n color: var(--color-ansi-bright-white);\n padding: 0;\n transition: opacity 0.25s ease;\n opacity: 0.7;\n }\n .nextjs-toast-errors-hide-button:hover {\n opacity: 1;\n }\n`;class ErrorBoundary extends b().PureComponent{constructor(){super(...arguments);this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError(e,t?.componentStack||null);if(!this.props.globalOverlay){this.setState({error:e})}}render(){return this.state.error||this.props.globalOverlay&&this.props.isMounted?this.props.globalOverlay?b().createElement(\"html\",null,b().createElement(\"head\",null),b().createElement(\"body\",null)):null:this.props.children}}function Base(){return p.createElement(\"style\",null,noop`\n :host {\n --size-gap-half: 4px;\n --size-gap: 8px;\n --size-gap-double: 16px;\n --size-gap-triple: 24px;\n --size-gap-quad: 32px;\n\n --size-font-small: 14px;\n --size-font: 16px;\n --size-font-big: 20px;\n --size-font-bigger: 24px;\n\n --color-background: white;\n --color-font: #757575;\n --color-backdrop: rgba(17, 17, 17, 0.2);\n\n --color-stack-h6: #222;\n --color-stack-headline: #666;\n --color-stack-subline: #999;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\n Menlo, Courier, monospace;\n\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\n --color-ansi-bg: #111111;\n --color-ansi-fg: #cccccc;\n\n --color-ansi-white: #777777;\n --color-ansi-black: #141414;\n --color-ansi-blue: #00aaff;\n --color-ansi-cyan: #88ddff;\n --color-ansi-green: #98ec65;\n --color-ansi-magenta: #aa88ff;\n --color-ansi-red: #ff5555;\n --color-ansi-yellow: #ffcc33;\n --color-ansi-bright-white: #ffffff;\n --color-ansi-bright-black: #777777;\n --color-ansi-bright-blue: #33bbff;\n --color-ansi-bright-cyan: #bbecff;\n --color-ansi-bright-green: #b6f292;\n --color-ansi-bright-magenta: #cebbff;\n --color-ansi-bright-red: #ff8888;\n --color-ansi-bright-yellow: #ffd966;\n }\n\n @media (prefers-color-scheme: dark) {\n :host {\n --color-background: rgb(28, 28, 30);\n --color-font: white;\n --color-backdrop: rgb(44, 44, 46);\n\n --color-stack-h6: rgb(200, 200, 204);\n --color-stack-headline: rgb(99, 99, 102);\n --color-stack-subline: rgba(142, 142, 147);\n\n --color-accents-3: rgb(118, 118, 118);\n }\n }\n\n .mono {\n font-family: var(--font-stack-monospace);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: var(--size-gap);\n font-weight: 500;\n line-height: 1.5;\n }\n `)}const Wt=noop`\n [data-nextjs-codeframe] {\n overflow: auto;\n border-radius: var(--size-gap-half);\n background-color: var(--color-ansi-bg);\n color: var(--color-ansi-fg);\n }\n [data-nextjs-codeframe]::selection,\n [data-nextjs-codeframe] *::selection {\n background-color: var(--color-ansi-selection);\n }\n [data-nextjs-codeframe] * {\n color: inherit;\n background-color: transparent;\n font-family: var(--font-stack-monospace);\n }\n\n [data-nextjs-codeframe] > * {\n margin: 0;\n padding: calc(var(--size-gap) + var(--size-gap-half))\n calc(var(--size-gap-double) + var(--size-gap-half));\n }\n [data-nextjs-codeframe] > div {\n display: inline-block;\n width: auto;\n min-width: 100%;\n border-bottom: 1px solid var(--color-ansi-bright-black);\n }\n [data-nextjs-codeframe] > div > p {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0;\n }\n [data-nextjs-codeframe] > div > p:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-codeframe] div > p > svg {\n width: auto;\n height: 1em;\n margin-left: 8px;\n }\n [data-nextjs-codeframe] div > pre {\n overflow: hidden;\n display: inline-block;\n }\n`;const Vt=noop`\n [data-nextjs-dialog-overlay] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 9000;\n\n display: flex;\n align-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10vh 15px 0;\n }\n\n @media (max-height: 812px) {\n [data-nextjs-dialog-overlay] {\n padding: 15px 15px 0;\n }\n }\n\n [data-nextjs-dialog-backdrop] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--color-backdrop);\n pointer-events: all;\n z-index: -1;\n }\n\n [data-nextjs-dialog-backdrop-fixed] {\n cursor: not-allowed;\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n }\n`;const $t=noop`\n [data-nextjs-terminal] {\n border-radius: var(--size-gap-half);\n background-color: var(--color-ansi-bg);\n color: var(--color-ansi-fg);\n }\n [data-nextjs-terminal]::selection,\n [data-nextjs-terminal] *::selection {\n background-color: var(--color-ansi-selection);\n }\n [data-nextjs-terminal] * {\n color: inherit;\n background-color: transparent;\n font-family: var(--font-stack-monospace);\n }\n [data-nextjs-terminal] > * {\n margin: 0;\n padding: calc(var(--size-gap) + var(--size-gap-half))\n calc(var(--size-gap-double) + var(--size-gap-half));\n }\n\n [data-nextjs-terminal] pre {\n white-space: pre-wrap;\n word-break: break-word;\n }\n`;function ComponentStyles(){return p.createElement(\"style\",null,noop`\n ${Vt}\n ${It}\n ${w}\n ${Nt}\n ${Wt}\n ${$t}\n \n ${At}\n ${Pt}\n ${Bt}\n `)}function CssReset(){return p.createElement(\"style\",null,noop`\n :host {\n all: initial;\n\n /* the direction property is not reset by 'all' */\n direction: ltr;\n }\n\n /*!\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n\n article,\n aside,\n figcaption,\n figure,\n footer,\n header,\n hgroup,\n main,\n nav,\n section {\n display: block;\n }\n\n :host {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n color: var(--color-font);\n text-align: left;\n background-color: #fff;\n }\n\n [tabindex='-1']:focus:not(:focus-visible) {\n outline: 0 !important;\n }\n\n hr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n margin-bottom: 8px;\n }\n\n p {\n margin-top: 0;\n margin-bottom: 16px;\n }\n\n abbr[title],\n abbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n }\n\n address {\n margin-bottom: 16px;\n font-style: normal;\n line-height: inherit;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 16px;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: 700;\n }\n\n dd {\n margin-bottom: 8px;\n margin-left: 0;\n }\n\n blockquote {\n margin: 0 0 16px;\n }\n\n b,\n strong {\n font-weight: bolder;\n }\n\n small {\n font-size: 80%;\n }\n\n sub,\n sup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n a {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n }\n\n a:hover {\n color: #0056b3;\n text-decoration: underline;\n }\n\n a:not([href]) {\n color: inherit;\n text-decoration: none;\n }\n\n a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n }\n\n pre,\n code,\n kbd,\n samp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;\n font-size: 1em;\n }\n\n pre {\n margin-top: 0;\n margin-bottom: 16px;\n overflow: auto;\n }\n\n figure {\n margin: 0 0 16px;\n }\n\n img {\n vertical-align: middle;\n border-style: none;\n }\n\n svg {\n overflow: hidden;\n vertical-align: middle;\n }\n\n table {\n border-collapse: collapse;\n }\n\n caption {\n padding-top: 12px;\n padding-bottom: 12px;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n }\n\n th {\n text-align: inherit;\n }\n\n label {\n display: inline-block;\n margin-bottom: 8px;\n }\n\n button {\n border-radius: 0;\n }\n\n button:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n }\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n select {\n word-wrap: normal;\n }\n\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n -webkit-appearance: button;\n }\n\n button:not(:disabled),\n [type='button']:not(:disabled),\n [type='reset']:not(:disabled),\n [type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n button::-moz-focus-inner,\n [type='button']::-moz-focus-inner,\n [type='reset']::-moz-focus-inner,\n [type='submit']::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n\n input[type='radio'],\n input[type='checkbox'] {\n box-sizing: border-box;\n padding: 0;\n }\n\n input[type='date'],\n input[type='time'],\n input[type='datetime-local'],\n input[type='month'] {\n -webkit-appearance: listbox;\n }\n\n textarea {\n overflow: auto;\n resize: vertical;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n\n legend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: 8px;\n font-size: 24px;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n [type='number']::-webkit-inner-spin-button,\n [type='number']::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type='search'] {\n outline-offset: -2px;\n -webkit-appearance: none;\n }\n\n [type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n }\n\n output {\n display: inline-block;\n }\n\n summary {\n display: list-item;\n cursor: pointer;\n }\n\n template {\n display: none;\n }\n\n [hidden] {\n display: none !important;\n }\n `)}function pushErrorFilterDuplicates(e,t){return[...e.filter((e=>e.event.reason!==t.event.reason)),t]}function reducer(r,l){switch(l.type){case e:{return{...r,buildError:null}}case t:{return{...r,buildError:l.message}}case a:{return{...r,refreshState:{type:\"pending\",errors:[]}}}case n:{return{...r,buildError:null,errors:r.refreshState.type===\"pending\"?r.refreshState.errors:[],refreshState:{type:\"idle\"}}}case o:case i:{switch(r.refreshState.type){case\"idle\":{return{...r,nextId:r.nextId+1,errors:pushErrorFilterDuplicates(r.errors,{id:r.nextId,event:l})}}case\"pending\":{return{...r,nextId:r.nextId+1,refreshState:{...r.refreshState,errors:pushErrorFilterDuplicates(r.refreshState.errors,{id:r.nextId,event:l})}}}default:const e=r.refreshState;return r}}default:{const e=l;return r}}}const shouldPreventDisplay=(e,t)=>{if(!t||!e){return false}return t.includes(e)};const Kt=function ReactDevOverlay({children:e,preventDisplay:t,globalOverlay:r}){const[n,a]=p.useReducer(reducer,{nextId:1,buildError:null,errors:[],refreshState:{type:\"idle\"}});p.useEffect((()=>{on(a);return function(){off(a)}}),[a]);const o=p.useCallback(((e,t)=>{}),[]);const i=n.buildError!=null;const l=Boolean(n.errors.length);const s=i?\"build\":l?\"runtime\":null;const u=s!==null;return p.createElement(p.Fragment,null,p.createElement(ErrorBoundary,{globalOverlay:r,isMounted:u,onError:o},e??null),u?p.createElement(v,{globalOverlay:r},p.createElement(CssReset,null),p.createElement(Base,null),p.createElement(ComponentStyles,null),shouldPreventDisplay(s,t)?null:i?p.createElement(jt,{message:n.buildError}):l?p.createElement(qt,{errors:n.errors}):undefined):undefined)};var Zt=Kt;(0,f.patchConsoleError)();let Ut=false;let Gt=undefined;function onUnhandledError(e){const t=e?.error;if(!t||!(t instanceof Error)||typeof t.stack!==\"string\"){return}if(t.message.match(/(hydration|content does not match|did not match)/i)){if(f.hydrationErrorWarning){t.message+=\"\\n\\n\"+f.hydrationErrorWarning}t.message+=`\\n\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error`}const r=t;const n=typeof f.hydrationErrorComponentStack===\"string\"?(0,d.parseComponentStack)(f.hydrationErrorComponentStack).map((e=>e.component)):undefined;emit({type:o,reason:t,frames:parseStack(r.stack),componentStack:n})}function onUnhandledRejection(e){const t=e?.reason;if(!t||!(t instanceof Error)||typeof t.stack!==\"string\"){return}const r=t;emit({type:i,reason:t,frames:parseStack(r.stack)})}function register(){if(Ut){return}Ut=true;try{const e=Error.stackTraceLimit;Error.stackTraceLimit=50;Gt=e}catch{}window.addEventListener(\"error\",onUnhandledError);window.addEventListener(\"unhandledrejection\",onUnhandledRejection)}function unregister(){if(!Ut){return}Ut=false;if(Gt!==undefined){try{Error.stackTraceLimit=Gt}catch{}Gt=undefined}window.removeEventListener(\"error\",onUnhandledError);window.removeEventListener(\"unhandledrejection\",onUnhandledRejection)}function onBuildOk(){emit({type:e})}function onBuildError(e){emit({type:t,message:e})}function onRefresh(){emit({type:n})}function onBeforeRefresh(){emit({type:a})}}();module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LWRldi1vdmVybGF5L2Rpc3QvY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxZQUFZLGFBQWEsT0FBTyxrQkFBa0Isc0NBQXNDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxzQkFBc0IsMENBQTBDLHlCQUF5QixFQUFFLFdBQVcsaUNBQWlDLFNBQVMseUNBQXlDLFNBQVMsOEJBQThCLDBCQUEwQixFQUFFLE1BQU0sTUFBTSxrWUFBa1ksNkJBQTZCLHNCQUFzQixnQ0FBZ0MsYUFBYSxxREFBcUQsSUFBSSw0QkFBNEIsOEhBQThILDhDQUE4QyxXQUFXLEVBQUUsMkJBQTJCLHFCQUFxQixtQkFBbUIsc0NBQXNDLFdBQVcsRUFBRSwrQ0FBK0MsK0JBQStCLDRCQUE0QixFQUFFLGdDQUFnQyxXQUFXLHFDQUFxQyx5Q0FBeUMsd0JBQXdCLGFBQWEsYUFBYSwyQ0FBMkMsTUFBTSx1RkFBdUYsTUFBTSx3REFBd0QsUUFBUSxpRkFBaUYsR0FBRyxTQUFTLDhIQUE4SCw4Q0FBOEMsV0FBVyxFQUFFLDJCQUEyQix1QkFBdUIsU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLFlBQVksa0NBQWtDLGlDQUFpQyxvQkFBb0IsWUFBWSxVQUFVLHlCQUF5QixJQUFJLEVBQUUsVUFBVSxHQUFHLFlBQVksb0NBQW9DLGdCQUFnQiw0REFBNEQsMkJBQTJCLHlCQUF5QixLQUFLLEdBQUcsWUFBWSxvQ0FBb0Msa0RBQWtELEdBQUcsWUFBWSxrQ0FBa0Msb0RBQW9ELDRDQUE0QyxlQUFlLEVBQUUsc0NBQXNDLFdBQVcsR0FBRyxHQUFHLG1FQUFtRSxTQUFTLEtBQUssU0FBUyxZQUFZLHlCQUF5Qix5QkFBeUIsMkJBQTJCLFVBQVUsMkJBQTJCLHNCQUFzQiwyQkFBMkIsc0JBQXNCLDRCQUE0Qix1QkFBdUIseUJB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSwyQkFBMkI7QUFDN0IsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTLG9CQUFvQjtBQUM3QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHdDQUF3Qyw0REFBNEQsc0JBQXNCLGVBQWUsUUFBUSxPQUFPLHNCQUFzQixRQUFRLE9BQU8sMkJBQTJCLFFBQVEsT0FBTyxtQkFBbUIsMkJBQTJCLFFBQVEsT0FBTyxtR0FBbUcsY0FBYyxlQUFlLDRCQUE0QixZQUFZLE9BQU8sa0VBQWtFLG9CQUFvQixHQUFHLGVBQWUsT0FBTyxxQ0FBcUMsMEVBQTBFLG9CQUFvQixJQUFJLCtCQUErQixVQUFVLFNBQVMsVUFBVSxXQUFXLG1DQUFtQyxXQUFXLGFBQWEsc0JBQXNCLG1DQUFtQyw0Q0FBNEMsRUFBRSxpQ0FBaUMsaURBQWlELGFBQWEsRUFBRSxrQkFBa0IsTUFBTSxrQkFBa0IsUUFBUSxPQUFPLGdDQUFnQyxNQUFNLDJCQUEyQixpQ0FBaUMsbUNBQW1DLGlCQUFpQixzRUFBc0Usc0NBQXNDLCtCQUErQixnQkFBZ0Isc0pBQXNKLHFCQUFxQix3QkFBd0IsZ0JBQWdCLHlCQUF5QixVQUFVLDBCQUEwQixhQUFhLGlCQUFpQiw2QkFBNkIsaUJBQWlCLHlEQUF5RCxPQUFPLHlFQUF5RSw0QkFBNEIsMENBQTBDLDRGQUE0RixVQUFVLG1KQUFtSixNQUFNLDREQUE0RCxFQUFFLGlDQUFpQyxrQkFBa0IseURBQXlELE9BQU8sVUFBVSxNQUFNLDJDQUEyQyxFQUFFLG9CQUFvQixPQUFPLE9BQU8sUUFBUSxJQUFJLDhCQUE4Qix5QkFBeUIsS0FBSyxPQUFPLGtEQUFrRCxtRUFBbUUsc0JBQXNCLFFBQVEsT0FBTyxTQUFTLG1CQUFtQixJQUFJLHlCQUF5QixPQUFPLGFBQWEscURBQXFELHNFQUFzRSxxQkFBcUIsTUFBTSxPQUFPLEVBQUUseUJBQXlCLE1BQU0saUJBQWlCLEVBQUUscUJBQXFCLE1BQU0sT0FBTyxFQUFFLDJCQUEyQixNQUFNLE9BQU8sR0FBRyxHQUFHLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LWRldi1vdmVybGF5L2Rpc3QvY2xpZW50LmpzPzRkMzAiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezg3NjpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7MCYmMDtmdW5jdGlvbiBfZXhwb3J0KGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTp0cnVlLGdldDp0W3JdfSl9X2V4cG9ydCh0LHtoeWRyYXRpb25FcnJvcldhcm5pbmc6ZnVuY3Rpb24oKXtyZXR1cm4gcn0saHlkcmF0aW9uRXJyb3JDb21wb25lbnRTdGFjazpmdW5jdGlvbigpe3JldHVybiBufSxwYXRjaENvbnNvbGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwYXRjaENvbnNvbGVFcnJvcn19KTtsZXQgcjtsZXQgbjtjb25zdCBhPW5ldyBTZXQoWydXYXJuaW5nOiBUZXh0IGNvbnRlbnQgZGlkIG5vdCBtYXRjaC4gU2VydmVyOiBcIiVzXCIgQ2xpZW50OiBcIiVzXCIlcycsXCJXYXJuaW5nOiBFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgPCVzPiBpbiA8JXM+LiVzXCIsJ1dhcm5pbmc6IEV4cGVjdGVkIHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSBtYXRjaGluZyB0ZXh0IG5vZGUgZm9yIFwiJXNcIiBpbiA8JXM+LiVzJyxcIldhcm5pbmc6IERpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJXNcIiwnV2FybmluZzogRGlkIG5vdCBleHBlY3Qgc2VydmVyIEhUTUwgdG8gY29udGFpbiB0aGUgdGV4dCBub2RlIFwiJXNcIiBpbiA8JXM+LiVzJ10pO2Z1bmN0aW9uIHBhdGNoQ29uc29sZUVycm9yKCl7Y29uc3QgZT1jb25zb2xlLmVycm9yO2NvbnNvbGUuZXJyb3I9ZnVuY3Rpb24odCxvLGksbCl7aWYoYS5oYXModCkpe3I9dC5yZXBsYWNlKFwiJXNcIixvKS5yZXBsYWNlKFwiJXNcIixpKS5yZXBsYWNlKFwiJXNcIixcIlwiKTtuPWx9ZS5hcHBseShjb25zb2xlLGFyZ3VtZW50cyl9fWlmKCh0eXBlb2YgdC5kZWZhdWx0PT09XCJmdW5jdGlvblwifHx0eXBlb2YgdC5kZWZhdWx0PT09XCJvYmplY3RcIiYmdC5kZWZhdWx0IT09bnVsbCkmJnR5cGVvZiB0LmRlZmF1bHQuX19lc01vZHVsZT09PVwidW5kZWZpbmVkXCIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTtPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KTtlLmV4cG9ydHM9dC5kZWZhdWx0fX0sNjU5OmZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcInBhcnNlQ29tcG9uZW50U3RhY2tcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBwYXJzZUNvbXBvbmVudFN0YWNrfX0pO2Z1bmN0aW9uIHBhcnNlQ29tcG9uZW50U3RhY2soZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBvZiBlLnRyaW0oKS5zcGxpdChcIlxcblwiKSl7Y29uc3QgZT0vYXQgKFteIF0rKSggXFwoKC4qKVxcKSk/Ly5leGVjKG4pO2lmKGU9PW51bGw/dm9pZCAwOmVbMV0pe2NvbnN0IG49ZVsxXTtjb25zdCBhPWVbM107aWYoYT09bnVsbD92b2lkIDA6YS5pbmNsdWRlcyhcIm5leHQvZGlzdFwiKSl7YnJlYWt9Y29uc3Qgbz1hPT1udWxsP3ZvaWQgMDphLnJlcGxhY2UoL14od2VicGFjay1pbnRlcm5hbDpcXC9cXC9cXC98ZmlsZTpcXC9cXC8pKFxcKC4qXFwpXFwvKT8vLFwiXCIpO3ZhciByO2NvbnN0W2ksbCxzXT0ocj1vPT1udWxsP3ZvaWQgMDpvLnNwbGl0KFwiOlwiKSkhPW51bGw/cjpbXTt0LnB1c2goe2NvbXBvbmVudDpuLGZpbGU6aSxsaW5lTnVtYmVyOmw/TnVtYmVyKGwpOnVuZGVmaW5lZCxjb2x1bW46cz9OdW1iZXIocyk6dW5kZWZpbmVkfSl9fXJldHVybiB0fWlmKCh0eXBlb2YgdC5kZWZhdWx0PT09XCJmdW5jdGlvblwifHx0eXBlb2YgdC5kZWZhdWx0PT09XCJvYmplY3RcIiYmdC5kZWZhdWx0IT09bnVsbCkmJnR5cGVvZiB0LmRlZmF1bHQuX19lc01vZHVsZT09PVwidW5kZWZpbmVkXCIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTtPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KTtlLmV4cG9ydHM9dC5kZWZhdWx0fX19O3ZhciB0PXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18ocil7dmFyIG49dFtyXTtpZihuIT09dW5kZWZpbmVkKXtyZXR1cm4gbi5leHBvcnRzfXZhciBhPXRbcl09e2V4cG9ydHM6e319O3ZhciBvPXRydWU7dHJ5e2Vbcl0oYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bz1mYWxzZX1maW5hbGx5e2lmKG8pZGVsZXRlIHRbcl19cmV0dXJuIGEuZXhwb3J0c30hZnVuY3Rpb24oKXtfX25jY3dwY2tfcmVxdWlyZV9fLm49ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIGVbXCJkZWZhdWx0XCJdfTpmdW5jdGlvbigpe3JldHVybiBlfTtfX25jY3dwY2tfcmVxdWlyZV9fLmQodCx7YTp0fSk7cmV0dXJuIHR9fSgpOyFmdW5jdGlvbigpe19fbmNjd3Bja19yZXF1aXJlX18uZD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KXtpZihfX25jY3dwY2tfcmVxdWlyZV9fLm8odCxyKSYmIV9fbmNjd3Bja19yZXF1aXJlX18ubyhlLHIpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOnRydWUsZ2V0OnRbcl19KX19fX0oKTshZnVuY3Rpb24oKXtfX25jY3dwY2tfcmVxdWlyZV9fLm89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9fSgpOyFmdW5jdGlvbigpe19fbmNjd3Bja19yZXF1aXJlX18ucj1mdW5jdGlvbihlKXtpZih0eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIiYmU3ltYm9sLnRvU3RyaW5nVGFnKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlwiTW9kdWxlXCJ9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pfX0oKTtpZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHI9e307IWZ1bmN0aW9uKCl7X19uY2N3cGNrX3JlcXVpcmVfXy5yKHIpO19fbmNjd3Bja19yZXF1aXJlX18uZChyLHtSZWFjdERldk92ZXJsYXk6ZnVuY3Rpb24oKXtyZXR1cm4gWnR9LGdldEVycm9yQnlUeXBlOmZ1bmN0aW9uKCl7cmV0dXJuIGdldEVycm9yQnlUeXBlfSxnZXRTZXJ2ZXJFcnJvcjpmdW5jdGlvbigpe3JldHVybiBnZXRTZXJ2ZXJFcnJvcn0sb25CZWZvcmVSZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIG9uQmVmb3JlUmVmcmVzaH0sb25CdWlsZEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG9uQnVpbGRFcnJvcn0sb25CdWlsZE9rOmZ1bmN0aW9uKCl7cmV0dXJuIG9uQnVpbGRPa30sb25SZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIG9uUmVmcmVzaH0scmVnaXN0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcmVnaXN0ZXJ9LHVucmVnaXN0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdW5yZWdpc3Rlcn19KTtjb25zdCBlPVwiYnVpbGQtb2tcIjtjb25zdCB0PVwiYnVpbGQtZXJyb3JcIjtjb25zdCBuPVwiZmFzdC1yZWZyZXNoXCI7Y29uc3QgYT1cImJlZm9yZS1mYXN0LXJlZnJlc2hcIjtjb25zdCBvPVwidW5oYW5kbGVkLWVycm9yXCI7Y29uc3QgaT1cInVuaGFuZGxlZC1yZWplY3Rpb25cIjtsZXQgbD1uZXcgU2V0O2xldCBzPVtdO2Z1bmN0aW9uIGRyYWluKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt3aGlsZShCb29sZWFuKHMubGVuZ3RoKSYmQm9vbGVhbihsLnNpemUpKXtjb25zdCBlPXMuc2hpZnQoKTtsLmZvckVhY2goKHQ9PnQoZSkpKX19KSwxKX1mdW5jdGlvbiBlbWl0KGUpe3MucHVzaChPYmplY3QuZnJlZXplKHsuLi5lfSkpO2RyYWluKCl9ZnVuY3Rpb24gb24oZSl7aWYobC5oYXMoZSkpe3JldHVybiBmYWxzZX1sLmFkZChlKTtkcmFpbigpO3JldHVybiB0cnVlfWZ1bmN0aW9uIG9mZihlKXtpZihsLmhhcyhlKSl7bC5kZWxldGUoZSk7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfXZhciB1PXJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXJcIik7Y29uc3QgYz0vXFwvX25leHQoXFwvc3RhdGljXFwvLispL2c7ZnVuY3Rpb24gcGFyc2VTdGFjayhlKXtjb25zdCB0PSgwLHUucGFyc2UpKGUpO3JldHVybiB0Lm1hcCgoZT0+e3RyeXtjb25zdCB0PW5ldyBVUkwoZS5maWxlKTtjb25zdCByPWMuZXhlYyh0LnBhdGhuYW1lKTtpZihyKXtjb25zdCB0PXByb2Nlc3MuZW52Ll9fTkVYVF9ESVNUX0RJUj8ucmVwbGFjZSgvXFxcXC9nLFwiL1wiKT8ucmVwbGFjZSgvXFwvJC8sXCJcIik7aWYodCl7ZS5maWxlPVwiZmlsZTovL1wiK3QuY29uY2F0KHIucG9wKCkpfX19Y2F0Y2h7fXJldHVybiBlfSkpfXZhciBkPV9fbmNjd3Bja19yZXF1aXJlX18oNjU5KTt2YXIgZj1fX25jY3dwY2tfcmVxdWlyZV9fKDg3Nik7ZnVuY3Rpb24gZ2V0RmlsZXN5c3RlbUZyYW1lKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKHR5cGVvZiB0LmZpbGU9PT1cInN0cmluZ1wiKXtpZih0LmZpbGUuc3RhcnRzV2l0aChcIi9cIil8fC9eW2Etel06XFxcXC9pLnRlc3QodC5maWxlKXx8dC5maWxlLnN0YXJ0c1dpdGgoXCJcXFxcXFxcXFwiKSl7dC5maWxlPWBmaWxlOi8vJHt0LmZpbGV9YH19cmV0dXJuIHR9Y29uc3QgbT1TeW1ib2woXCJOZXh0anNFcnJvclwiKTtmdW5jdGlvbiBnZXRFcnJvclNvdXJjZShlKXtyZXR1cm4gZVttXXx8bnVsbH1mdW5jdGlvbiBkZWNvcmF0ZVNlcnZlckVycm9yKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbSx7d3JpdGFibGU6ZmFsc2UsZW51bWVyYWJsZTpmYWxzZSxjb25maWd1cmFibGU6ZmFsc2UsdmFsdWU6dH0pfWZ1bmN0aW9uIGdldFNlcnZlckVycm9yKGUsdCl7bGV0IHI7dHJ5e3Rocm93IG5ldyBFcnJvcihlLm1lc3NhZ2UpfWNhdGNoKGUpe3I9ZX1yLm5hbWU9ZS5uYW1lO3RyeXtyLnN0YWNrPWAke3IudG9TdHJpbmcoKX1cXG4keygwLHUucGFyc2UpKGUuc3RhY2spLm1hcChnZXRGaWxlc3lzdGVtRnJhbWUpLm1hcCgoZT0+e2xldCB0PWAgICAgYXQgJHtlLm1ldGhvZE5hbWV9YDtpZihlLmZpbGUpe2xldCByPWUuZmlsZTtpZihlLmxpbmVOdW1iZXIpe3IrPWA6JHtlLmxpbmVOdW1iZXJ9YDtpZihlLmNvbHVtbil7cis9YDoke2UuY29sdW1ufWB9fXQrPWAgKCR7cn0pYH1yZXR1cm4gdH0pKS5qb2luKFwiXFxuXCIpfWB9Y2F0Y2h7ci5zdGFjaz1lLnN0YWNrfWRlY29yYXRlU2VydmVyRXJyb3Iocix0KTtyZXR1cm4gcn1mdW5jdGlvbiBnZXRPcmlnaW5hbFN0YWNrRnJhbWUoZSx0LHIpe2FzeW5jIGZ1bmN0aW9uIF9nZXRPcmlnaW5hbFN0YWNrRnJhbWUoKXtjb25zdCBuPW5ldyBVUkxTZWFyY2hQYXJhbXM7bi5hcHBlbmQoXCJpc1NlcnZlclwiLFN0cmluZyh0PT09XCJzZXJ2ZXJcIikpO24uYXBwZW5kKFwiaXNFZGdlU2VydmVyXCIsU3RyaW5nKHQ9PT1cImVkZ2Utc2VydmVyXCIpKTtuLmFwcGVuZChcImVycm9yTWVzc2FnZVwiLHIpO2Zvcihjb25zdCB0IGluIGUpe24uYXBwZW5kKHQsKGVbdF0/P1wiXCIpLnRvU3RyaW5nKCkpfWNvbnN0IGE9bmV3IEFib3J0Q29udHJvbGxlcjtjb25zdCBvPXNldFRpbWVvdXQoKCgpPT5hLmFib3J0KCkpLDNlMyk7Y29uc3QgaT1hd2FpdCBzZWxmLmZldGNoKGAke3Byb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEh8fFwiXCJ9L19fbmV4dGpzX29yaWdpbmFsLXN0YWNrLWZyYW1lPyR7bi50b1N0cmluZygpfWAse3NpZ25hbDphLnNpZ25hbH0pLmZpbmFsbHkoKCgpPT57Y2xlYXJUaW1lb3V0KG8pfSkpO2lmKCFpLm9rfHxpLnN0YXR1cz09PTIwNCl7cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihhd2FpdCBpLnRleHQoKSkpfWNvbnN0IGw9YXdhaXQgaS5qc29uKCk7cmV0dXJue2Vycm9yOmZhbHNlLHJlYXNvbjpudWxsLGV4dGVybmFsOmZhbHNlLGV4cGFuZGVkOiFCb29sZWFuKChlLmZpbGU/LmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpfHxsLm9yaWdpbmFsU3RhY2tGcmFtZT8uZmlsZT8uaW5jbHVkZXMoXCJub2RlX21vZHVsZXNcIikpPz90cnVlKSxzb3VyY2VTdGFja0ZyYW1lOmUsb3JpZ2luYWxTdGFja0ZyYW1lOmwub3JpZ2luYWxTdGFja0ZyYW1lLG9yaWdpbmFsQ29kZUZyYW1lOmwub3JpZ2luYWxDb2RlRnJhbWV8fG51bGx9fWlmKCEoZS5maWxlPy5zdGFydHNXaXRoKFwid2VicGFjay1pbnRlcm5hbDpcIil8fGUuZmlsZT8uc3RhcnRzV2l0aChcImZpbGU6XCIpKSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7ZXJyb3I6ZmFsc2UscmVhc29uOm51bGwsZXh0ZXJuYWw6dHJ1ZSxleHBhbmRlZDpmYWxzZSxzb3VyY2VTdGFja0ZyYW1lOmUsb3JpZ2luYWxTdGFja0ZyYW1lOm51bGwsb3JpZ2luYWxDb2RlRnJhbWU6bnVsbH0pfXJldHVybiBfZ2V0T3JpZ2luYWxTdGFja0ZyYW1lKCkuY2F0Y2goKHQ9Pih7ZXJyb3I6dHJ1ZSxyZWFzb246dD8ubWVzc2FnZT8/dD8udG9TdHJpbmcoKT8/XCJVbmtub3duIEVycm9yXCIsZXh0ZXJuYWw6ZmFsc2UsZXhwYW5kZWQ6ZmFsc2Usc291cmNlU3RhY2tGcmFtZTplLG9yaWdpbmFsU3RhY2tGcmFtZTpudWxsLG9yaWdpbmFsQ29kZUZyYW1lOm51bGx9KSkpfWZ1bmN0aW9uIGdldE9yaWdpbmFsU3RhY2tGcmFtZXMoZSx0LHIpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcCgoZT0+Z2V0T3JpZ2luYWxTdGFja0ZyYW1lKGUsdCxyKSkpKX1mdW5jdGlvbiBnZXRGcmFtZVNvdXJjZShlKXtsZXQgdD1cIlwiO3RyeXtjb25zdCByPW5ldyBVUkwoZS5maWxlKTtpZih0eXBlb2YgZ2xvYmFsVGhpcyE9PVwidW5kZWZpbmVkXCImJmdsb2JhbFRoaXMubG9jYXRpb24/Lm9yaWdpbiE9PXIub3JpZ2luKXtpZihyLm9yaWdpbj09PVwibnVsbFwiKXt0Kz1yLnByb3RvY29sfWVsc2V7dCs9ci5vcmlnaW59fXQrPXIucGF0aG5hbWU7dCs9XCIgXCJ9Y2F0Y2h7dCs9KGUuZmlsZXx8XCIodW5rbm93bilcIikrXCIgXCJ9aWYoZS5saW5lTnVtYmVyIT1udWxsKXtpZihlLmNvbHVtbiE9bnVsbCl7dCs9YCgke2UubGluZU51bWJlcn06JHtlLmNvbHVtbn0pIGB9ZWxzZXt0Kz1gKCR7ZS5saW5lTnVtYmVyfSkgYH19cmV0dXJuIHQuc2xpY2UoMCwtMSl9YXN5bmMgZnVuY3Rpb24gZ2V0RXJyb3JCeVR5cGUoZSl7Y29uc3R7aWQ6dCxldmVudDpyfT1lO3N3aXRjaChyLnR5cGUpe2Nhc2UgbzpjYXNlIGk6e2NvbnN0IGU9e2lkOnQscnVudGltZTp0cnVlLGVycm9yOnIucmVhc29uLGZyYW1lczphd2FpdCBnZXRPcmlnaW5hbFN0YWNrRnJhbWVzKHIuZnJhbWVzLGdldEVycm9yU291cmNlKHIucmVhc29uKSxyLnJlYXNvbi50b1N0cmluZygpKX07aWYoci50eXBlPT09byl7ZS5jb21wb25lbnRTdGFjaz1yLmNvbXBvbmVudFN0YWNrfXJldHVybiBlfWRlZmF1bHQ6e2JyZWFrfX1jb25zdCBuPXI7dGhyb3cgbmV3IEVycm9yKFwidHlwZSBzeXN0ZW0gaW52YXJpYW50IHZpb2xhdGlvblwiKX12YXIgcD1yZXF1aXJlKFwicmVhY3RcIik7dmFyIGI9X19uY2N3cGNrX3JlcXVpcmVfXy5uKHApO3ZhciBnPXJlcXVpcmUoXCJyZWFjdC1kb21cIik7Y29uc3Qgdj1mdW5jdGlvbiBQb3J0YWwoe2NoaWxkcmVuOmUsZ2xvYmFsT3ZlcmxheTp0fSl7bGV0IHI9cC51c2VSZWYobnVsbCk7bGV0IG49cC51c2VSZWYobnVsbCk7bGV0IGE9cC51c2VSZWYobnVsbCk7bGV0WyxvXT1wLnVzZVN0YXRlKCk7cC51c2VMYXlvdXRFZmZlY3QoKCgpPT57Y29uc3QgZT10P2RvY3VtZW50OnIuY3VycmVudC5vd25lckRvY3VtZW50O24uY3VycmVudD1lLmNyZWF0ZUVsZW1lbnQoXCJuZXh0anMtcG9ydGFsXCIpO2EuY3VycmVudD1uLmN1cnJlbnQuYXR0YWNoU2hhZG93KHttb2RlOlwib3BlblwifSk7ZS5ib2R5LmFwcGVuZENoaWxkKG4uY3VycmVudCk7byh7fSk7cmV0dXJuKCk9PntpZihuLmN1cnJlbnQmJm4uY3VycmVudC5vd25lckRvY3VtZW50KXtuLmN1cnJlbnQub3duZXJEb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG4uY3VycmVudCl9fX0pLFt0XSk7cmV0dXJuIGEuY3VycmVudD8oMCxnLmNyZWF0ZVBvcnRhbCkoZSxhLmN1cnJlbnQpOnQ/bnVsbDpwLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse3JlZjpyfSl9O2Z1bmN0aW9uIHVzZU9uQ2xpY2tPdXRzaWRlKGUsdCl7cC51c2VFZmZlY3QoKCgpPT57aWYoZT09bnVsbHx8dD09bnVsbCl7cmV0dXJufWNvbnN0IGxpc3RlbmVyPXI9PntpZighZXx8ZS5jb250YWlucyhyLnRhcmdldCkpe3JldHVybn10KHIpfTtjb25zdCByPWUuZ2V0Um9vdE5vZGUoKTtyLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIixsaXN0ZW5lcik7ci5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLGxpc3RlbmVyKTtyZXR1cm4gZnVuY3Rpb24oKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIixsaXN0ZW5lcik7ci5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLGxpc3RlbmVyKX19KSxbdCxlXSl9Y29uc3QgaD1mdW5jdGlvbiBEaWFsb2coe2NoaWxkcmVuOmUsdHlwZTp0LG9uQ2xvc2U6ciwuLi5ufSl7Y29uc3RbYSxvXT1wLnVzZVN0YXRlKG51bGwpO2NvbnN0IGk9cC51c2VDYWxsYmFjaygoZT0+e28oZSl9KSxbXSk7dXNlT25DbGlja091dHNpZGUoYSxyKTtwLnVzZUVmZmVjdCgoKCk9PntpZihhPT1udWxsKXtyZXR1cm59Y29uc3QgZT1hLmdldFJvb3ROb2RlKCk7aWYoIShlIGluc3RhbmNlb2YgU2hhZG93Um9vdCkpe3JldHVybn1jb25zdCB0PWU7ZnVuY3Rpb24gaGFuZGxlcihlKXtjb25zdCByPXQuYWN0aXZlRWxlbWVudDtpZihlLmtleT09PVwiRW50ZXJcIiYmciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZyLmdldEF0dHJpYnV0ZShcInJvbGVcIik9PT1cImxpbmtcIil7ZS5wcmV2ZW50RGVmYXVsdCgpO2Uuc3RvcFByb3BhZ2F0aW9uKCk7ci5jbGljaygpfX10LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsaGFuZGxlcik7cmV0dXJuKCk9PnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixoYW5kbGVyKX0pLFthXSk7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChcImRpdlwiLHtyZWY6aSxcImRhdGEtbmV4dGpzLWRpYWxvZ1wiOnRydWUsdGFiSW5kZXg6LTEscm9sZTpcImRpYWxvZ1wiLFwiYXJpYS1sYWJlbGxlZGJ5XCI6bltcImFyaWEtbGFiZWxsZWRieVwiXSxcImFyaWEtZGVzY3JpYmVkYnlcIjpuW1wiYXJpYS1kZXNjcmliZWRieVwiXSxcImFyaWEtbW9kYWxcIjpcInRydWVcIn0scC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse1wiZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lclwiOnRydWUsY2xhc3NOYW1lOmBiYW5uZXItJHt0fWB9KSxlKX07Y29uc3QgeD1mdW5jdGlvbiBEaWFsb2dCb2R5KHtjaGlsZHJlbjplLGNsYXNzTmFtZTp0fSl7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChcImRpdlwiLHtcImRhdGEtbmV4dGpzLWRpYWxvZy1ib2R5XCI6dHJ1ZSxjbGFzc05hbWU6dH0sZSl9O2NvbnN0IHk9ZnVuY3Rpb24gRGlhbG9nQ29udGVudCh7Y2hpbGRyZW46ZSxjbGFzc05hbWU6dH0pe3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7XCJkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudFwiOnRydWUsY2xhc3NOYW1lOnR9LGUpfTtjb25zdCBFPWZ1bmN0aW9uIERpYWxvZ0hlYWRlcih7Y2hpbGRyZW46ZSxjbGFzc05hbWU6dH0pe3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7XCJkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyXCI6dHJ1ZSxjbGFzc05hbWU6dH0sZSl9O2Z1bmN0aW9uIG5vb3AoZSwuLi50KXtjb25zdCByPWUubGVuZ3RoLTE7cmV0dXJuIGUuc2xpY2UoMCxyKS5yZWR1Y2UoKChlLHIsbik9PmUrcit0W25dKSxcIlwiKStlW3JdfWNvbnN0IHc9bm9vcGBcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZ10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcCk7XG4gICAgYm94LXNoYWRvdzogMCB2YXIoLS1zaXplLWdhcC1oYWxmKSB2YXIoLS1zaXplLWdhcC1kb3VibGUpXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDU2cHgpO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LWhlaWdodDogODEycHgpIHtcbiAgICBbZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXldIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwIHZhcigtLXNpemUtZ2FwKSB2YXIoLS1zaXplLWdhcC1xdWFkKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcbiAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgW2RhdGEtbmV4dGpzLWRpYWxvZ10ge1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB9XG4gIH1cblxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl0uYmFubmVyLXdhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS15ZWxsb3cpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXS5iYW5uZXItZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS1yZWQpO1xuICB9XG5cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXJdOjphZnRlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIGJhbm5lciB3aWR0aDogKi9cbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnRdIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgLyogY2FsYyhwYWRkaW5nICsgYmFubmVyIHdpZHRoIG9mZnNldCkgKi9cbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSlcbiAgICAgIHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnRdID4gW2RhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXJdIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudF0gPiBbZGF0YS1uZXh0anMtZGlhbG9nLWJvZHldIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbmA7dmFyIGs9cmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9wbGF0Zm9ybVwiKTt2YXIgUz1fX25jY3dwY2tfcmVxdWlyZV9fLm4oayk7dmFyIF89cmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9jc3MuZXNjYXBlXCIpO3ZhciBUPV9fbmNjd3Bja19yZXF1aXJlX18ubihfKTtmdW5jdGlvbiBub2RlQXJyYXkoZSl7aWYoIWUpe3JldHVybltdfWlmKEFycmF5LmlzQXJyYXkoZSkpe3JldHVybiBlfWlmKGUubm9kZVR5cGUhPT11bmRlZmluZWQpe3JldHVybltlXX1pZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe2U9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlKX1pZihlLmxlbmd0aCE9PXVuZGVmaW5lZCl7cmV0dXJuW10uc2xpY2UuY2FsbChlLDApfXRocm93IG5ldyBUeXBlRXJyb3IoXCJ1bmV4cGVjdGVkIGlucHV0IFwiK1N0cmluZyhlKSl9ZnVuY3Rpb24gY29udGV4dFRvRWxlbWVudChlKXt2YXIgdD1lLmNvbnRleHQscj1lLmxhYmVsLG49cj09PXVuZGVmaW5lZD9cImNvbnRleHQtdG8tZWxlbWVudFwiOnIsYT1lLnJlc29sdmVEb2N1bWVudCxvPWUuZGVmYXVsdFRvRG9jdW1lbnQ7dmFyIGk9bm9kZUFycmF5KHQpWzBdO2lmKGEmJmkmJmkubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpe2k9aS5kb2N1bWVudEVsZW1lbnR9aWYoIWkmJm8pe3JldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9aWYoIWkpe3Rocm93IG5ldyBUeXBlRXJyb3IobitcIiByZXF1aXJlcyB2YWxpZCBvcHRpb25zLmNvbnRleHRcIil9aWYoaS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiZpLm5vZGVUeXBlIT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKXt0aHJvdyBuZXcgVHlwZUVycm9yKG4rXCIgcmVxdWlyZXMgb3B0aW9ucy5jb250ZXh0IHRvIGJlIGFuIEVsZW1lbnRcIil9cmV0dXJuIGl9ZnVuY3Rpb24gZ2V0U2hhZG93SG9zdCgpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fSx0PWUuY29udGV4dDt2YXIgcj1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImdldC9zaGFkb3ctaG9zdFwiLGNvbnRleHQ6dH0pO3ZhciBuPW51bGw7d2hpbGUocil7bj1yO3I9ci5wYXJlbnROb2RlfWlmKG4ubm9kZVR5cGU9PT1uLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUmJm4uaG9zdCl7cmV0dXJuIG4uaG9zdH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnZXREb2N1bWVudChlKXtpZighZSl7cmV0dXJuIGRvY3VtZW50fWlmKGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpe3JldHVybiBlfXJldHVybiBlLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50fWZ1bmN0aW9uIGlzQWN0aXZlRWxlbWVudChlKXt2YXIgdD1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImlzL2FjdGl2ZS1lbGVtZW50XCIscmVzb2x2ZURvY3VtZW50OnRydWUsY29udGV4dDplfSk7dmFyIHI9Z2V0RG9jdW1lbnQodCk7aWYoci5hY3RpdmVFbGVtZW50PT09dCl7cmV0dXJuIHRydWV9dmFyIG49Z2V0U2hhZG93SG9zdCh7Y29udGV4dDp0fSk7aWYobiYmbi5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ9PT10KXtyZXR1cm4gdHJ1ZX1yZXR1cm4gZmFsc2V9ZnVuY3Rpb24gZ2V0UGFyZW50cygpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fSx0PWUuY29udGV4dDt2YXIgcj1bXTt2YXIgbj1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImdldC9wYXJlbnRzXCIsY29udGV4dDp0fSk7d2hpbGUobil7ci5wdXNoKG4pO249bi5wYXJlbnROb2RlO2lmKG4mJm4ubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSl7bj1udWxsfX1yZXR1cm4gcn12YXIgQz1bXCJtYXRjaGVzXCIsXCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3JcIixcIm1vek1hdGNoZXNTZWxlY3RvclwiLFwibXNNYXRjaGVzU2VsZWN0b3JcIl07dmFyIGo9bnVsbDtmdW5jdGlvbiBmaW5kTWV0aG9kTmFtZShlKXtDLnNvbWUoKGZ1bmN0aW9uKHQpe2lmKCFlW3RdKXtyZXR1cm4gZmFsc2V9aj10O3JldHVybiB0cnVlfSkpfWZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVzKGUsdCl7aWYoIWope2ZpbmRNZXRob2ROYW1lKGUpfXJldHVybiBlW2pdKHQpfXZhciBBPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoUygpKSk7dmFyIE89QS5vcy5mYW1pbHl8fFwiXCI7dmFyIE49Tz09PVwiQW5kcm9pZFwiO3ZhciBJPU8uc2xpY2UoMCw3KT09PVwiV2luZG93c1wiO3ZhciBMPU89PT1cIk9TIFhcIjt2YXIgRj1PPT09XCJpT1NcIjt2YXIgRD1BLmxheW91dD09PVwiQmxpbmtcIjt2YXIgTT1BLmxheW91dD09PVwiR2Vja29cIjt2YXIgUj1BLmxheW91dD09PVwiVHJpZGVudFwiO3ZhciB6PUEubGF5b3V0PT09XCJFZGdlSFRNTFwiO3ZhciBCPUEubGF5b3V0PT09XCJXZWJLaXRcIjt2YXIgSD1wYXJzZUZsb2F0KEEudmVyc2lvbik7dmFyIHE9TWF0aC5mbG9vcihIKTtBLm1ham9yVmVyc2lvbj1xO0EuaXM9e0FORFJPSUQ6TixXSU5ET1dTOkksT1NYOkwsSU9TOkYsQkxJTks6RCxHRUNLTzpNLFRSSURFTlQ6UixFREdFOnosV0VCS0lUOkIsSUU5OlImJnE9PT05LElFMTA6UiYmcT09PTEwLElFMTE6UiYmcT09PTExfTtmdW5jdGlvbiBiZWZvcmUoKXt2YXIgZT17YWN0aXZlRWxlbWVudDpkb2N1bWVudC5hY3RpdmVFbGVtZW50LHdpbmRvd1Njcm9sbFRvcDp3aW5kb3cuc2Nyb2xsVG9wLHdpbmRvd1Njcm9sbExlZnQ6d2luZG93LnNjcm9sbExlZnQsYm9keVNjcm9sbFRvcDpkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxib2R5U2Nyb2xsTGVmdDpkb2N1bWVudC5ib2R5LnNjcm9sbExlZnR9O3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIik7dC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLFwicG9zaXRpb246YWJzb2x1dGU7IHBvc2l0aW9uOmZpeGVkOyB0b3A6MDsgbGVmdDotMnB4OyB3aWR0aDoxcHg7IGhlaWdodDoxcHg7IG92ZXJmbG93OmhpZGRlbjtcIik7dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIixcIm9mZlwiKTt0LnNldEF0dHJpYnV0ZShcImFyaWEtYnVzeVwiLFwidHJ1ZVwiKTt0LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIHI9dC5jb250ZW50V2luZG93O3ZhciBuPXIuZG9jdW1lbnQ7bi5vcGVuKCk7bi5jbG9zZSgpO3ZhciBhPW4uY3JlYXRlRWxlbWVudChcImRpdlwiKTtuLmJvZHkuYXBwZW5kQ2hpbGQoYSk7ZS5pZnJhbWU9dDtlLndyYXBwZXI9YTtlLndpbmRvdz1yO2UuZG9jdW1lbnQ9bjtyZXR1cm4gZX1mdW5jdGlvbiB0ZXN0KGUsdCl7ZS53cmFwcGVyLmlubmVySFRNTD1cIlwiO3ZhciByPXR5cGVvZiB0LmVsZW1lbnQ9PT1cInN0cmluZ1wiP2UuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0LmVsZW1lbnQpOnQuZWxlbWVudChlLndyYXBwZXIsZS5kb2N1bWVudCk7dmFyIG49dC5tdXRhdGUmJnQubXV0YXRlKHIsZS53cmFwcGVyLGUuZG9jdW1lbnQpO2lmKCFuJiZuIT09ZmFsc2Upe249cn0hci5wYXJlbnROb2RlJiZlLndyYXBwZXIuYXBwZW5kQ2hpbGQocik7biYmbi5mb2N1cyYmbi5mb2N1cygpO3JldHVybiB0LnZhbGlkYXRlP3QudmFsaWRhdGUocixuLGUuZG9jdW1lbnQpOmUuZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PW59ZnVuY3Rpb24gYWZ0ZXIoZSl7aWYoZS5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtpZihBLmlzLklFMTApe2RvY3VtZW50LmJvZHkuZm9jdXMoKX19ZWxzZXtlLmFjdGl2ZUVsZW1lbnQmJmUuYWN0aXZlRWxlbWVudC5mb2N1cyYmZS5hY3RpdmVFbGVtZW50LmZvY3VzKCl9ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlLmlmcmFtZSk7d2luZG93LnNjcm9sbFRvcD1lLndpbmRvd1Njcm9sbFRvcDt3aW5kb3cuc2Nyb2xsTGVmdD1lLndpbmRvd1Njcm9sbExlZnQ7ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A9ZS5ib2R5U2Nyb2xsVG9wO2RvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdD1lLmJvZHlTY3JvbGxMZWZ0fWZ1bmN0aW9uIGRldGVjdEZvY3VzKGUpe3ZhciB0PWJlZm9yZSgpO3ZhciByPXt9O09iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24obil7cltuXT10ZXN0KHQsZVtuXSl9KSk7YWZ0ZXIodCk7cmV0dXJuIHJ9dmFyIFA9XCIxLjQuMVwiO2Z1bmN0aW9uIHJlYWRMb2NhbFN0b3JhZ2UoZSl7dmFyIHQ9dm9pZCAwO3RyeXt0PXdpbmRvdy5sb2NhbFN0b3JhZ2UmJndpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTt0PXQ/SlNPTi5wYXJzZSh0KTp7fX1jYXRjaChlKXt0PXt9fXJldHVybiB0fWZ1bmN0aW9uIHdyaXRlTG9jYWxTdG9yYWdlKGUsdCl7aWYoIWRvY3VtZW50Lmhhc0ZvY3VzKCkpe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiZ3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSl9Y2F0Y2goZSl7fXJldHVybn10cnl7d2luZG93LmxvY2FsU3RvcmFnZSYmd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsSlNPTi5zdHJpbmdpZnkodCkpfWNhdGNoKGUpe319dmFyIFc9dHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50fHxcIlwiO3ZhciBWPVwiYWxseS1zdXBwb3J0cy1jYWNoZVwiO3ZhciAkPXJlYWRMb2NhbFN0b3JhZ2UoVik7aWYoJC51c2VyQWdlbnQhPT1XfHwkLnZlcnNpb24hPT1QKXskPXt9fSQudXNlckFnZW50PVc7JC52ZXJzaW9uPVA7dmFyIEs9e2dldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gJH0sc2V0OmZ1bmN0aW9uIHNldChlKXtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbih0KXskW3RdPWVbdF19KSk7JC50aW1lPShuZXcgRGF0ZSkudG9JU09TdHJpbmcoKTt3cml0ZUxvY2FsU3RvcmFnZShWLCQpfX07ZnVuY3Rpb24gY3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvcigpe3ZhciBlPXZvaWQgMDt0cnl7ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImh0bWwgPj4+IDpmaXJzdC1jaGlsZFwiKTtlPVwiPj4+XCJ9Y2F0Y2godCl7dHJ5e2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJodG1sIC9kZWVwLyA6Zmlyc3QtY2hpbGRcIik7ZT1cIi9kZWVwL1wifWNhdGNoKHQpe2U9XCJcIn19cmV0dXJuIGV9dmFyIFo9XCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTdcIjt2YXIgVT17ZWxlbWVudDpcImRpdlwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9JzxtYXAgbmFtZT1cImltYWdlLW1hcC10YWJpbmRleC10ZXN0XCI+JysnPGFyZWEgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JysnPGltZyB1c2VtYXA9XCIjaW1hZ2UtbWFwLXRhYmluZGV4LXRlc3RcIiB0YWJpbmRleD1cIi0xXCIgYWx0PVwiXCIgc3JjPVwiJytaKydcIj4nO3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoXCJhcmVhXCIpfX07dmFyIEc9e2VsZW1lbnQ6XCJkaXZcIixtdXRhdGU6ZnVuY3Rpb24gbXV0YXRlKGUpe2UuaW5uZXJIVE1MPSc8bWFwIG5hbWU9XCJpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiPicrJzxhcmVhIGhyZWY9XCIjdm9pZFwiIHRhYmluZGV4PVwiLTFcIiBzaGFwZT1cInJlY3RcIiBjb29yZHM9XCI2MywxOSwxNDQsNDVcIj48L21hcD4nKyc8aW1nIHVzZW1hcD1cIiNpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiIGFsdD1cIlwiIHNyYz1cIicrWisnXCI+JztyZXR1cm4gZmFsc2V9LHZhbGlkYXRlOmZ1bmN0aW9uIHZhbGlkYXRlKGUsdCxyKXtpZihBLmlzLkdFQ0tPKXtyZXR1cm4gdHJ1ZX12YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoXCJhcmVhXCIpO24uZm9jdXMoKTtyZXR1cm4gci5hY3RpdmVFbGVtZW50PT09bn19O3ZhciBYPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLmlubmVySFRNTD0nPG1hcCBuYW1lPVwiaW1hZ2UtbWFwLWFyZWEtaHJlZi10ZXN0XCI+JysnPGFyZWEgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JysnPGltZyB1c2VtYXA9XCIjaW1hZ2UtbWFwLWFyZWEtaHJlZi10ZXN0XCIgYWx0PVwiXCIgc3JjPVwiJytaKydcIj4nO3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoXCJhcmVhXCIpfSx2YWxpZGF0ZTpmdW5jdGlvbiB2YWxpZGF0ZShlLHQscil7aWYoQS5pcy5HRUNLTyl7cmV0dXJuIHRydWV9cmV0dXJuIHIuYWN0aXZlRWxlbWVudD09PXR9fTt2YXIgSj17bmFtZTpcImNhbi1mb2N1cy1hdWRpby13aXRob3V0LWNvbnRyb2xzXCIsZWxlbWVudDpcImF1ZGlvXCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXt0cnl7ZS5zZXRBdHRyaWJ1dGUoXCJzcmNcIixaKX1jYXRjaChlKXt9fX07dmFyIFE9XCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL1paWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpcIjt2YXIgWT17ZWxlbWVudDpcImRpdlwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9JzxtYXAgbmFtZT1cImJyb2tlbi1pbWFnZS1tYXAtdGVzdFwiPjxhcmVhIGhyZWY9XCIjdm9pZFwiIHNoYXBlPVwicmVjdFwiIGNvb3Jkcz1cIjYzLDE5LDE0NCw0NVwiPjwvbWFwPicrJzxpbWcgdXNlbWFwPVwiI2Jyb2tlbi1pbWFnZS1tYXAtdGVzdFwiIGFsdD1cIlwiIHNyYz1cIicrUSsnXCI+JztyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKFwiYXJlYVwiKX19O3ZhciBlZT17ZWxlbWVudDpcImRpdlwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLFwiLTFcIik7ZS5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLFwiZGlzcGxheTogLXdlYmtpdC1mbGV4OyBkaXNwbGF5OiAtbXMtZmxleGJveDsgZGlzcGxheTogZmxleDtcIik7ZS5pbm5lckhUTUw9JzxzcGFuIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+aGVsbG88L3NwYW4+JztyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKFwic3BhblwiKX19O3ZhciB0ZT17ZWxlbWVudDpcImZpZWxkc2V0XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsMCk7ZS5zZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiLFwiZGlzYWJsZWRcIil9fTt2YXIgcmU9e2VsZW1lbnQ6XCJmaWVsZHNldFwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9XCI8bGVnZW5kPmxlZ2VuZDwvbGVnZW5kPjxwPmNvbnRlbnQ8L3A+XCJ9fTt2YXIgbmU9e2VsZW1lbnQ6XCJzcGFuXCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsXCJkaXNwbGF5OiAtd2Via2l0LWZsZXg7IGRpc3BsYXk6IC1tcy1mbGV4Ym94OyBkaXNwbGF5OiBmbGV4O1wiKTtlLmlubmVySFRNTD0nPHNwYW4gc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIj5oZWxsbzwvc3Bhbj4nfX07dmFyIGFlPXtlbGVtZW50OlwiZm9ybVwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLDApO2Uuc2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIixcImRpc2FibGVkXCIpfX07dmFyIG9lPXtlbGVtZW50OlwiYVwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5ocmVmPVwiI3ZvaWRcIjtlLmlubmVySFRNTD0nPGltZyBpc21hcCBzcmM9XCInK1orJ1wiIGFsdD1cIlwiPic7cmV0dXJuIGUucXVlcnlTZWxlY3RvcihcImltZ1wiKX19O3ZhciBpZT17ZWxlbWVudDpcImRpdlwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9JzxtYXAgbmFtZT1cImltYWdlLW1hcC10YWJpbmRleC10ZXN0XCI+PGFyZWEgaHJlZj1cIiN2b2lkXCIgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JysnPGltZyB1c2VtYXA9XCIjaW1hZ2UtbWFwLXRhYmluZGV4LXRlc3RcIiB0YWJpbmRleD1cIi0xXCIgYWx0PVwiXCIgJysnc3JjPVwiJytaKydcIj4nO3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoXCJpbWdcIil9fTt2YXIgbGU9e2VsZW1lbnQ6ZnVuY3Rpb24gZWxlbWVudChlLHQpe3ZhciByPXQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtlLmFwcGVuZENoaWxkKHIpO3ZhciBuPXIuY29udGVudFdpbmRvdy5kb2N1bWVudDtuLm9wZW4oKTtuLmNsb3NlKCk7cmV0dXJuIHJ9LG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5zdHlsZS52aXNpYmlsaXR5PVwiaGlkZGVuXCI7dmFyIHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50O3ZhciByPXQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO3QuYm9keS5hcHBlbmRDaGlsZChyKTtyZXR1cm4gcn0sdmFsaWRhdGU6ZnVuY3Rpb24gdmFsaWRhdGUoZSl7dmFyIHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50O3ZhciByPXQucXVlcnlTZWxlY3RvcihcImlucHV0XCIpO3JldHVybiB0LmFjdGl2ZUVsZW1lbnQ9PT1yfX07dmFyIHNlPSFBLmlzLldFQktJVDtmdW5jdGlvbiBmb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCgpe3JldHVybiBzZX12YXIgdWU9e2VsZW1lbnQ6XCJkaXZcIixtdXRhdGU6ZnVuY3Rpb24gbXV0YXRlKGUpe2Uuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIixcImludmFsaWQtdmFsdWVcIil9fTt2YXIgY2U9e2VsZW1lbnQ6XCJsYWJlbFwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLFwiLTFcIil9LHZhbGlkYXRlOmZ1bmN0aW9uIHZhbGlkYXRlKGUsdCxyKXt2YXIgbj1lLm9mZnNldEhlaWdodDtlLmZvY3VzKCk7cmV0dXJuIHIuYWN0aXZlRWxlbWVudD09PWV9fTt2YXIgZGU9XCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0YlwiK1wiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCcFpEMGljM1puSWo0OGRHVjRkQ0I0UFNJeE1DSWdlVDBpTWpBaUlHbGtQU0pcIitcInpkbWN0YkdsdWF5MTBaWGgwSWo1MFpYaDBQQzkwWlhoMFBqd3ZjM1puUGc9PVwiO3ZhciBmZT17ZWxlbWVudDpcIm9iamVjdFwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJpbWFnZS9zdmcreG1sXCIpO2Uuc2V0QXR0cmlidXRlKFwiZGF0YVwiLGRlKTtlLnNldEF0dHJpYnV0ZShcIndpZHRoXCIsXCIyMDBcIik7ZS5zZXRBdHRyaWJ1dGUoXCJoZWlnaHRcIixcIjUwXCIpO2Uuc3R5bGUudmlzaWJpbGl0eT1cImhpZGRlblwifX07dmFyIG1lPXtuYW1lOlwiY2FuLWZvY3VzLW9iamVjdC1zdmdcIixlbGVtZW50Olwib2JqZWN0XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInR5cGVcIixcImltYWdlL3N2Zyt4bWxcIik7ZS5zZXRBdHRyaWJ1dGUoXCJkYXRhXCIsZGUpO2Uuc2V0QXR0cmlidXRlKFwid2lkdGhcIixcIjIwMFwiKTtlLnNldEF0dHJpYnV0ZShcImhlaWdodFwiLFwiNTBcIil9LHZhbGlkYXRlOmZ1bmN0aW9uIHZhbGlkYXRlKGUsdCxyKXtpZihBLmlzLkdFQ0tPKXtyZXR1cm4gdHJ1ZX1yZXR1cm4gci5hY3RpdmVFbGVtZW50PT09ZX19O3ZhciBwZT0hQS5pcy5JRTk7ZnVuY3Rpb24gZm9jdXNPYmplY3RTd2YoKXtyZXR1cm4gcGV9dmFyIGJlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLmlubmVySFRNTD0nPG1hcCBuYW1lPVwiZm9jdXMtcmVkaXJlY3QtaW1nLXVzZW1hcFwiPjxhcmVhIGhyZWY9XCIjdm9pZFwiIHNoYXBlPVwicmVjdFwiIGNvb3Jkcz1cIjYzLDE5LDE0NCw0NVwiPjwvbWFwPicrJzxpbWcgdXNlbWFwPVwiI2ZvY3VzLXJlZGlyZWN0LWltZy11c2VtYXBcIiBhbHQ9XCJcIiAnKydzcmM9XCInK1orJ1wiPic7cmV0dXJuIGUucXVlcnlTZWxlY3RvcihcImltZ1wiKX0sdmFsaWRhdGU6ZnVuY3Rpb24gdmFsaWRhdGUoZSx0LHIpe3ZhciBuPWUucXVlcnlTZWxlY3RvcihcImFyZWFcIik7cmV0dXJuIHIuYWN0aXZlRWxlbWVudD09PW59fTt2YXIgZ2U9e2VsZW1lbnQ6XCJmaWVsZHNldFwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9JzxsZWdlbmQ+bGVnZW5kPC9sZWdlbmQ+PGlucHV0IHRhYmluZGV4PVwiLTFcIj48aW5wdXQgdGFiaW5kZXg9XCIwXCI+JztyZXR1cm4gZmFsc2V9LHZhbGlkYXRlOmZ1bmN0aW9uIHZhbGlkYXRlKGUsdCxyKXt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3RhYmluZGV4PVwiLTFcIl0nKTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3RhYmluZGV4PVwiMFwiXScpO2UuZm9jdXMoKTtlLnF1ZXJ5U2VsZWN0b3IoXCJsZWdlbmRcIikuZm9jdXMoKTtyZXR1cm4gci5hY3RpdmVFbGVtZW50PT09biYmXCJmb2N1c2FibGVcInx8ci5hY3RpdmVFbGVtZW50PT09YSYmXCJ0YWJiYWJsZVwifHxcIlwifX07dmFyIHZlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsXCJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweDsgb3ZlcmZsb3c6IGF1dG87XCIpO2UuaW5uZXJIVE1MPSc8ZGl2IHN0eWxlPVwid2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDQwcHg7XCI+c2Nyb2xsYWJsZSBjb250ZW50PC9kaXY+JztyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKFwiZGl2XCIpfX07dmFyIGhlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsXCJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweDtcIik7ZS5pbm5lckhUTUw9JzxkaXYgc3R5bGU9XCJ3aWR0aDogNTAwcHg7IGhlaWdodDogNDBweDtcIj5zY3JvbGxhYmxlIGNvbnRlbnQ8L2Rpdj4nfX07dmFyIHhlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsXCJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweDsgb3ZlcmZsb3c6IGF1dG87XCIpO2UuaW5uZXJIVE1MPSc8ZGl2IHN0eWxlPVwid2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDQwcHg7XCI+c2Nyb2xsYWJsZSBjb250ZW50PC9kaXY+J319O3ZhciB5ZT17ZWxlbWVudDpcImRldGFpbHNcIixtdXRhdGU6ZnVuY3Rpb24gbXV0YXRlKGUpe2UuaW5uZXJIVE1MPVwiPHN1bW1hcnk+Zm9vPC9zdW1tYXJ5PjxwPmNvbnRlbnQ8L3A+XCI7cmV0dXJuIGUuZmlyc3RFbGVtZW50Q2hpbGR9fTtmdW5jdGlvbiBtYWtlRm9jdXNhYmxlRm9yZWlnbk9iamVjdCgpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXCJmb3JlaWduT2JqZWN0XCIpO2Uud2lkdGguYmFzZVZhbC52YWx1ZT0zMDtlLmhlaWdodC5iYXNlVmFsLnZhbHVlPTMwO2UuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKTtlLmxhc3RDaGlsZC50eXBlPVwidGV4dFwiO3JldHVybiBlfWZ1bmN0aW9uIGZvY3VzU3ZnRm9yZWlnbk9iamVjdEhhY2soZSl7dmFyIHQ9ZS5vd25lclNWR0VsZW1lbnR8fGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PVwic3ZnXCI7aWYoIXQpe3JldHVybiBmYWxzZX12YXIgcj1tYWtlRm9jdXNhYmxlRm9yZWlnbk9iamVjdCgpO2UuYXBwZW5kQ2hpbGQocik7dmFyIG49ci5xdWVyeVNlbGVjdG9yKFwiaW5wdXRcIik7bi5mb2N1cygpO24uZGlzYWJsZWQ9dHJ1ZTtlLnJlbW92ZUNoaWxkKHIpO3JldHVybiB0cnVlfWZ1bmN0aW9uIGdlbmVyYXRlKGUpe3JldHVybic8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj4nK2UrXCI8L3N2Zz5cIn1mdW5jdGlvbiBtYWludGFpbl90YWJfZm9jdXNfZm9jdXMoZSl7aWYoZS5mb2N1cyl7cmV0dXJufXRyeXtIVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMuY2FsbChlKX1jYXRjaCh0KXtmb2N1c1N2Z0ZvcmVpZ25PYmplY3RIYWNrKGUpfX1mdW5jdGlvbiB2YWxpZGF0ZShlLHQscil7bWFpbnRhaW5fdGFiX2ZvY3VzX2ZvY3VzKHQpO3JldHVybiByLmFjdGl2ZUVsZW1lbnQ9PT10fXZhciBFZT17ZWxlbWVudDpcImRpdlwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9Z2VuZXJhdGUoJzx0ZXh0IGZvY3VzYWJsZT1cInRydWVcIj5hPC90ZXh0PicpO3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoXCJ0ZXh0XCIpfSx2YWxpZGF0ZTp2YWxpZGF0ZX07dmFyIHdlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLmlubmVySFRNTD1nZW5lcmF0ZSgnPHRleHQgdGFiaW5kZXg9XCIwXCI+YTwvdGV4dD4nKTtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKFwidGV4dFwiKX0sdmFsaWRhdGU6dmFsaWRhdGV9O3ZhciBrZT17ZWxlbWVudDpcImRpdlwiLG11dGF0ZTpmdW5jdGlvbiBtdXRhdGUoZSl7ZS5pbm5lckhUTUw9Z2VuZXJhdGUoJzx0ZXh0IHRhYmluZGV4PVwiLTFcIj5hPC90ZXh0PicpO3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoXCJ0ZXh0XCIpfSx2YWxpZGF0ZTp2YWxpZGF0ZX07dmFyIFNlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLmlubmVySFRNTD1nZW5lcmF0ZShbJzxnIGlkPVwiYWxseS10ZXN0LXRhcmdldFwiPjxhIHhsaW5rOmhyZWY9XCIjdm9pZFwiPjx0ZXh0Pmxpbms8L3RleHQ+PC9hPjwvZz4nLCc8dXNlIHhsaW5rOmhyZWY9XCIjYWxseS10ZXN0LXRhcmdldFwiIHg9XCIwXCIgeT1cIjBcIiB0YWJpbmRleD1cIi0xXCIgLz4nXS5qb2luKFwiXCIpKTtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKFwidXNlXCIpfSx2YWxpZGF0ZTp2YWxpZGF0ZX07dmFyIF9lPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLmlubmVySFRNTD1nZW5lcmF0ZSgnPGZvcmVpZ25PYmplY3QgdGFiaW5kZXg9XCItMVwiPjxpbnB1dCB0eXBlPVwidGV4dFwiIC8+PC9mb3JlaWduT2JqZWN0PicpO3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoXCJmb3JlaWduT2JqZWN0XCIpfHxlLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiZm9yZWlnbk9iamVjdFwiKVswXX0sdmFsaWRhdGU6dmFsaWRhdGV9O3ZhciBUZT1Cb29sZWFuKEEuaXMuR0VDS08mJnR5cGVvZiBTVkdFbGVtZW50IT09XCJ1bmRlZmluZWRcIiYmU1ZHRWxlbWVudC5wcm90b3R5cGUuZm9jdXMpO2Z1bmN0aW9uIGZvY3VzU3ZnSW5JZnJhbWUoKXtyZXR1cm4gVGV9dmFyIENlPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLmlubmVySFRNTD1nZW5lcmF0ZShcIlwiKTtyZXR1cm4gZS5maXJzdENoaWxkfSx2YWxpZGF0ZTp2YWxpZGF0ZX07dmFyIGplPXtlbGVtZW50OlwiZGl2XCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXtlLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsXCIzeFwiKX19O3ZhciBBZT17ZWxlbWVudDpcInRhYmxlXCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlLHQscil7dmFyIG49ci5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bi5pbm5lckhUTUw9XCI8dHI+PHRkPmNlbGw8L3RkPjwvdHI+XCI7ZS5hcHBlbmRDaGlsZChuKX19O3ZhciBPZT17ZWxlbWVudDpcInZpZGVvXCIsbXV0YXRlOmZ1bmN0aW9uIG11dGF0ZShlKXt0cnl7ZS5zZXRBdHRyaWJ1dGUoXCJzcmNcIixaKX1jYXRjaChlKXt9fX07dmFyIE5lPUEuaXMuR0VDS098fEEuaXMuVFJJREVOVHx8QS5pcy5FREdFO2Z1bmN0aW9uIHRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb24oKXtyZXR1cm4gTmV9dmFyIEllPXtjc3NTaGFkb3dQaWVyY2luZ0RlZXBDb21iaW5hdG9yOmNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3IsZm9jdXNJblplcm9EaW1lbnNpb25PYmplY3Q6Zm9jdXNJblplcm9EaW1lbnNpb25PYmplY3QsZm9jdXNPYmplY3RTd2Y6Zm9jdXNPYmplY3RTd2YsZm9jdXNTdmdJbklmcmFtZTpmb2N1c1N2Z0luSWZyYW1lLHRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb246dGFic2VxdWVuY2VBcmVhQXRJbWdQb3NpdGlvbn07dmFyIExlPXtmb2N1c0FyZWFJbWdUYWJpbmRleDpVLGZvY3VzQXJlYVRhYmluZGV4OkcsZm9jdXNBcmVhV2l0aG91dEhyZWY6WCxmb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzOkosZm9jdXNCcm9rZW5JbWFnZU1hcDpZLGZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3g6ZWUsZm9jdXNGaWVsZHNldERpc2FibGVkOnRlLGZvY3VzRmllbGRzZXQ6cmUsZm9jdXNGbGV4Ym94Q29udGFpbmVyOm5lLGZvY3VzRm9ybURpc2FibGVkOmFlLGZvY3VzSW1nSXNtYXA6b2UsZm9jdXNJbWdVc2VtYXBUYWJpbmRleDppZSxmb2N1c0luSGlkZGVuSWZyYW1lOmxlLGZvY3VzSW52YWxpZFRhYmluZGV4OnVlLGZvY3VzTGFiZWxUYWJpbmRleDpjZSxmb2N1c09iamVjdFN2ZzptZSxmb2N1c09iamVjdFN2Z0hpZGRlbjpmZSxmb2N1c1JlZGlyZWN0SW1nVXNlbWFwOmJlLGZvY3VzUmVkaXJlY3RMZWdlbmQ6Z2UsZm9jdXNTY3JvbGxCb2R5OnZlLGZvY3VzU2Nyb2xsQ29udGFpbmVyV2l0aG91dE92ZXJmbG93OmhlLGZvY3VzU2Nyb2xsQ29udGFpbmVyOnhlLGZvY3VzU3VtbWFyeTp5ZSxmb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZTpFZSxmb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlOndlLGZvY3VzU3ZnTmVnYXRpdmVUYWJpbmRleEF0dHJpYnV0ZTprZSxmb2N1c1N2Z1VzZVRhYmluZGV4OlNlLGZvY3VzU3ZnRm9yZWlnbm9iamVjdFRhYmluZGV4Ol9lLGZvY3VzU3ZnOkNlLGZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnM6amUsZm9jdXNUYWJsZTpBZSxmb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzOk9lfTtmdW5jdGlvbiBleGVjdXRlVGVzdHMoKXt2YXIgZT1kZXRlY3RGb2N1cyhMZSk7T2JqZWN0LmtleXMoSWUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbdF09SWVbdF0oKX0pKTtyZXR1cm4gZX12YXIgRmU9bnVsbDtmdW5jdGlvbiBfc3VwcG9ydHMoKXtpZihGZSl7cmV0dXJuIEZlfUZlPUsuZ2V0KCk7aWYoIUZlLnRpbWUpe0suc2V0KGV4ZWN1dGVUZXN0cygpKTtGZT1LLmdldCgpfXJldHVybiBGZX12YXIgRGU9dm9pZCAwO3ZhciBNZT0vXlxccyooLXxcXCspP1swLTldK1xccyokLzt2YXIgUmU9L15cXHMqKC18XFwrKT9bMC05XSsuKiQvO2Z1bmN0aW9uIGlzVmFsaWRUYWJpbmRleChlKXtpZighRGUpe0RlPV9zdXBwb3J0cygpfXZhciB0PURlLmZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnM/UmU6TWU7dmFyIHI9Y29udGV4dFRvRWxlbWVudCh7bGFiZWw6XCJpcy92YWxpZC10YWJpbmRleFwiLHJlc29sdmVEb2N1bWVudDp0cnVlLGNvbnRleHQ6ZX0pO3ZhciBuPXIuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIik7dmFyIGE9ci5oYXNBdHRyaWJ1dGUoXCJ0YWJJbmRleFwiKTtpZighbiYmIWEpe3JldHVybiBmYWxzZX12YXIgbz1yLm93bmVyU1ZHRWxlbWVudHx8ci5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09XCJzdmdcIjtpZihvJiYhRGUuZm9jdXNTdmdUYWJpbmRleEF0dHJpYnV0ZSl7cmV0dXJuIGZhbHNlfWlmKERlLmZvY3VzSW52YWxpZFRhYmluZGV4KXtyZXR1cm4gdHJ1ZX12YXIgaT1yLmdldEF0dHJpYnV0ZShuP1widGFiaW5kZXhcIjpcInRhYkluZGV4XCIpO2lmKGk9PT1cIi0zMjc2OFwiKXtyZXR1cm4gZmFsc2V9cmV0dXJuIEJvb2xlYW4oaSYmdC50ZXN0KGkpKX1mdW5jdGlvbiB0YWJpbmRleFZhbHVlKGUpe2lmKCFpc1ZhbGlkVGFiaW5kZXgoZSkpe3JldHVybiBudWxsfXZhciB0PWUuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIik7dmFyIHI9dD9cInRhYmluZGV4XCI6XCJ0YWJJbmRleFwiO3ZhciBuPXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKHIpLDEwKTtyZXR1cm4gaXNOYU4obik/LTE6bn1mdW5jdGlvbiBpc1VzZXJNb2RpZnlXcml0YWJsZShlKXt2YXIgdD1lLndlYmtpdFVzZXJNb2RpZnl8fFwiXCI7cmV0dXJuIEJvb2xlYW4odCYmdC5pbmRleE9mKFwid3JpdGVcIikhPT0tMSl9ZnVuY3Rpb24gaGFzQ3NzT3ZlcmZsb3dTY3JvbGwoZSl7cmV0dXJuW2UuZ2V0UHJvcGVydHlWYWx1ZShcIm92ZXJmbG93XCIpLGUuZ2V0UHJvcGVydHlWYWx1ZShcIm92ZXJmbG93LXhcIiksZS5nZXRQcm9wZXJ0eVZhbHVlKFwib3ZlcmZsb3cteVwiKV0uc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1cImF1dG9cInx8ZT09PVwic2Nyb2xsXCJ9KSl9ZnVuY3Rpb24gaGFzQ3NzRGlzcGxheUZsZXgoZSl7cmV0dXJuIGUuZGlzcGxheS5pbmRleE9mKFwiZmxleFwiKT4tMX1mdW5jdGlvbiBpc1Njcm9sbGFibGVDb250YWluZXIoZSx0LHIsbil7aWYodCE9PVwiZGl2XCImJnQhPT1cInNwYW5cIil7cmV0dXJuIGZhbHNlfWlmKHImJnIhPT1cImRpdlwiJiZyIT09XCJzcGFuXCImJiFoYXNDc3NPdmVyZmxvd1Njcm9sbChuKSl7cmV0dXJuIGZhbHNlfXJldHVybiBlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodHx8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRofXZhciB6ZT12b2lkIDA7ZnVuY3Rpb24gaXNGb2N1c1JlbGV2YW50UnVsZXMoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e30sdD1lLmNvbnRleHQscj1lLmV4Y2VwdCxuPXI9PT11bmRlZmluZWQ/e2ZsZXhib3g6ZmFsc2Usc2Nyb2xsYWJsZTpmYWxzZSxzaGFkb3c6ZmFsc2V9OnI7aWYoIXplKXt6ZT1fc3VwcG9ydHMoKX12YXIgYT1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImlzL2ZvY3VzLXJlbGV2YW50XCIscmVzb2x2ZURvY3VtZW50OnRydWUsY29udGV4dDp0fSk7aWYoIW4uc2hhZG93JiZhLnNoYWRvd1Jvb3Qpe3JldHVybiB0cnVlfXZhciBvPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihvPT09XCJpbnB1dFwiJiZhLnR5cGU9PT1cImhpZGRlblwiKXtyZXR1cm4gZmFsc2V9aWYobz09PVwiaW5wdXRcInx8bz09PVwic2VsZWN0XCJ8fG89PT1cImJ1dHRvblwifHxvPT09XCJ0ZXh0YXJlYVwiKXtyZXR1cm4gdHJ1ZX1pZihvPT09XCJsZWdlbmRcIiYmemUuZm9jdXNSZWRpcmVjdExlZ2VuZCl7cmV0dXJuIHRydWV9aWYobz09PVwibGFiZWxcIil7cmV0dXJuIHRydWV9aWYobz09PVwiYXJlYVwiKXtyZXR1cm4gdHJ1ZX1pZihvPT09XCJhXCImJmEuaGFzQXR0cmlidXRlKFwiaHJlZlwiKSl7cmV0dXJuIHRydWV9aWYobz09PVwib2JqZWN0XCImJmEuaGFzQXR0cmlidXRlKFwidXNlbWFwXCIpKXtyZXR1cm4gZmFsc2V9aWYobz09PVwib2JqZWN0XCIpe3ZhciBpPWEuZ2V0QXR0cmlidXRlKFwidHlwZVwiKTtpZighemUuZm9jdXNPYmplY3RTdmcmJmk9PT1cImltYWdlL3N2Zyt4bWxcIil7cmV0dXJuIGZhbHNlfWVsc2UgaWYoIXplLmZvY3VzT2JqZWN0U3dmJiZpPT09XCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaFwiKXtyZXR1cm4gZmFsc2V9fWlmKG89PT1cImlmcmFtZVwifHxvPT09XCJvYmplY3RcIil7cmV0dXJuIHRydWV9aWYobz09PVwiZW1iZWRcInx8bz09PVwia2V5Z2VuXCIpe3JldHVybiB0cnVlfWlmKGEuaGFzQXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIpKXtyZXR1cm4gdHJ1ZX1pZihvPT09XCJhdWRpb1wiJiYoemUuZm9jdXNBdWRpb1dpdGhvdXRDb250cm9sc3x8YS5oYXNBdHRyaWJ1dGUoXCJjb250cm9sc1wiKSkpe3JldHVybiB0cnVlfWlmKG89PT1cInZpZGVvXCImJih6ZS5mb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzfHxhLmhhc0F0dHJpYnV0ZShcImNvbnRyb2xzXCIpKSl7cmV0dXJuIHRydWV9aWYoemUuZm9jdXNTdW1tYXJ5JiZvPT09XCJzdW1tYXJ5XCIpe3JldHVybiB0cnVlfXZhciBsPWlzVmFsaWRUYWJpbmRleChhKTtpZihvPT09XCJpbWdcIiYmYS5oYXNBdHRyaWJ1dGUoXCJ1c2VtYXBcIikpe3JldHVybiBsJiZ6ZS5mb2N1c0ltZ1VzZW1hcFRhYmluZGV4fHx6ZS5mb2N1c1JlZGlyZWN0SW1nVXNlbWFwfWlmKHplLmZvY3VzVGFibGUmJihvPT09XCJ0YWJsZVwifHxvPT09XCJ0ZFwiKSl7cmV0dXJuIHRydWV9aWYoemUuZm9jdXNGaWVsZHNldCYmbz09PVwiZmllbGRzZXRcIil7cmV0dXJuIHRydWV9dmFyIHM9bz09PVwic3ZnXCI7dmFyIHU9YS5vd25lclNWR0VsZW1lbnQ7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoXCJmb2N1c2FibGVcIik7dmFyIGQ9dGFiaW5kZXhWYWx1ZShhKTtpZihvPT09XCJ1c2VcIiYmZCE9PW51bGwmJiF6ZS5mb2N1c1N2Z1VzZVRhYmluZGV4KXtyZXR1cm4gZmFsc2V9aWYobz09PVwiZm9yZWlnbm9iamVjdFwiKXtyZXR1cm4gZCE9PW51bGwmJnplLmZvY3VzU3ZnRm9yZWlnbm9iamVjdFRhYmluZGV4fWlmKGVsZW1lbnRNYXRjaGVzKGEsXCJzdmcgYVwiKSYmYS5oYXNBdHRyaWJ1dGUoXCJ4bGluazpocmVmXCIpKXtyZXR1cm4gdHJ1ZX1pZigoc3x8dSkmJmEuZm9jdXMmJiF6ZS5mb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGUmJmQ8MCl7cmV0dXJuIGZhbHNlfWlmKHMpe3JldHVybiBsfHx6ZS5mb2N1c1N2Z3x8emUuZm9jdXNTdmdJbklmcmFtZXx8Qm9vbGVhbih6ZS5mb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZSYmYyYmYz09PVwidHJ1ZVwiKX1pZih1KXtpZih6ZS5mb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlJiZsKXtyZXR1cm4gdHJ1ZX1pZih6ZS5mb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZSl7cmV0dXJuIGM9PT1cInRydWVcIn19aWYobCl7cmV0dXJuIHRydWV9dmFyIGY9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSxudWxsKTtpZihpc1VzZXJNb2RpZnlXcml0YWJsZShmKSl7cmV0dXJuIHRydWV9aWYoemUuZm9jdXNJbWdJc21hcCYmbz09PVwiaW1nXCImJmEuaGFzQXR0cmlidXRlKFwiaXNtYXBcIikpe3ZhciBtPWdldFBhcmVudHMoe2NvbnRleHQ6YX0pLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1cImFcIiYmZS5oYXNBdHRyaWJ1dGUoXCJocmVmXCIpfSkpO2lmKG0pe3JldHVybiB0cnVlfX1pZighbi5zY3JvbGxhYmxlJiZ6ZS5mb2N1c1Njcm9sbENvbnRhaW5lcil7aWYoemUuZm9jdXNTY3JvbGxDb250YWluZXJXaXRob3V0T3ZlcmZsb3cpe2lmKGlzU2Nyb2xsYWJsZUNvbnRhaW5lcihhLG8pKXtyZXR1cm4gdHJ1ZX19ZWxzZSBpZihoYXNDc3NPdmVyZmxvd1Njcm9sbChmKSl7cmV0dXJuIHRydWV9fWlmKCFuLmZsZXhib3gmJnplLmZvY3VzRmxleGJveENvbnRhaW5lciYmaGFzQ3NzRGlzcGxheUZsZXgoZikpe3JldHVybiB0cnVlfXZhciBwPWEucGFyZW50RWxlbWVudDtpZighbi5zY3JvbGxhYmxlJiZwKXt2YXIgYj1wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7dmFyIGc9d2luZG93LmdldENvbXB1dGVkU3R5bGUocCxudWxsKTtpZih6ZS5mb2N1c1Njcm9sbEJvZHkmJmlzU2Nyb2xsYWJsZUNvbnRhaW5lcihwLG8sYixnKSl7cmV0dXJuIHRydWV9aWYoemUuZm9jdXNDaGlsZHJlbk9mRm9jdXNhYmxlRmxleGJveCl7aWYoaGFzQ3NzRGlzcGxheUZsZXgoZykpe3JldHVybiB0cnVlfX19cmV0dXJuIGZhbHNlfWlzRm9jdXNSZWxldmFudFJ1bGVzLmV4Y2VwdD1mdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fTt2YXIgdD1mdW5jdGlvbiBpc0ZvY3VzUmVsZXZhbnQodCl7cmV0dXJuIGlzRm9jdXNSZWxldmFudFJ1bGVzKHtjb250ZXh0OnQsZXhjZXB0OmV9KX07dC5ydWxlcz1pc0ZvY3VzUmVsZXZhbnRSdWxlcztyZXR1cm4gdH07dmFyIEJlPWlzRm9jdXNSZWxldmFudFJ1bGVzLmV4Y2VwdCh7fSk7ZnVuY3Rpb24gZmluZEluZGV4KGUsdCl7aWYoZS5maW5kSW5kZXgpe3JldHVybiBlLmZpbmRJbmRleCh0KX12YXIgcj1lLmxlbmd0aDtpZihyPT09MCl7cmV0dXJuLTF9Zm9yKHZhciBuPTA7bjxyO24rKyl7aWYodChlW25dLG4sZSkpe3JldHVybiBufX1yZXR1cm4tMX1mdW5jdGlvbiBnZXRDb250ZW50RG9jdW1lbnQoZSl7dHJ5e3JldHVybiBlLmNvbnRlbnREb2N1bWVudHx8ZS5jb250ZW50V2luZG93JiZlLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnR8fGUuZ2V0U1ZHRG9jdW1lbnQmJmUuZ2V0U1ZHRG9jdW1lbnQoKXx8bnVsbH1jYXRjaChlKXtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gZ2V0V2luZG93KGUpe3ZhciB0PWdldERvY3VtZW50KGUpO3JldHVybiB0LmRlZmF1bHRWaWV3fHx3aW5kb3d9dmFyIEhlPXZvaWQgMDtmdW5jdGlvbiBzZWxlY3RJblNoYWRvd3MoZSl7aWYodHlwZW9mIEhlIT09XCJzdHJpbmdcIil7dmFyIHQ9Y3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvcigpO2lmKHQpe0hlPVwiLCBodG1sIFwiK3QrXCIgXCJ9fWlmKCFIZSl7cmV0dXJuIGV9cmV0dXJuIGUrSGUrZS5yZXBsYWNlKC9cXHMqLFxccyovZyxcIixcIikuc3BsaXQoXCIsXCIpLmpvaW4oSGUpfXZhciBxZT12b2lkIDA7ZnVuY3Rpb24gZmluZERvY3VtZW50SG9zdEVsZW1lbnQoZSl7aWYoIXFlKXtxZT1zZWxlY3RJblNoYWRvd3MoXCJvYmplY3QsIGlmcmFtZVwiKX1pZihlLl9mcmFtZUVsZW1lbnQhPT11bmRlZmluZWQpe3JldHVybiBlLl9mcmFtZUVsZW1lbnR9ZS5fZnJhbWVFbGVtZW50PW51bGw7dmFyIHQ9ZS5wYXJlbnQuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChxZSk7W10uc29tZS5jYWxsKHQsKGZ1bmN0aW9uKHQpe3ZhciByPWdldENvbnRlbnREb2N1bWVudCh0KTtpZihyIT09ZS5kb2N1bWVudCl7cmV0dXJuIGZhbHNlfWUuX2ZyYW1lRWxlbWVudD10O3JldHVybiB0cnVlfSkpO3JldHVybiBlLl9mcmFtZUVsZW1lbnR9ZnVuY3Rpb24gZ2V0RnJhbWVFbGVtZW50KGUpe3ZhciB0PWdldFdpbmRvdyhlKTtpZighdC5wYXJlbnR8fHQucGFyZW50PT09dCl7cmV0dXJuIG51bGx9dHJ5e3JldHVybiB0LmZyYW1lRWxlbWVudHx8ZmluZERvY3VtZW50SG9zdEVsZW1lbnQodCl9Y2F0Y2goZSl7cmV0dXJuIG51bGx9fXZhciBQZT0vXihhcmVhKSQvO2Z1bmN0aW9uIGNvbXB1dGVkU3R5bGUoZSx0KXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHQpfWZ1bmN0aW9uIG5vdERpc3BsYXllZChlKXtyZXR1cm4gZS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gY29tcHV0ZWRTdHlsZShlLFwiZGlzcGxheVwiKT09PVwibm9uZVwifSkpfWZ1bmN0aW9uIG5vdFZpc2libGUoZSl7dmFyIHQ9ZmluZEluZGV4KGUsKGZ1bmN0aW9uKGUpe3ZhciB0PWNvbXB1dGVkU3R5bGUoZSxcInZpc2liaWxpdHlcIik7cmV0dXJuIHQ9PT1cImhpZGRlblwifHx0PT09XCJjb2xsYXBzZVwifSkpO2lmKHQ9PT0tMSl7cmV0dXJuIGZhbHNlfXZhciByPWZpbmRJbmRleChlLChmdW5jdGlvbihlKXtyZXR1cm4gY29tcHV0ZWRTdHlsZShlLFwidmlzaWJpbGl0eVwiKT09PVwidmlzaWJsZVwifSkpO2lmKHI9PT0tMSl7cmV0dXJuIHRydWV9aWYodDxyKXtyZXR1cm4gdHJ1ZX1yZXR1cm4gZmFsc2V9ZnVuY3Rpb24gY29sbGFwc2VkUGFyZW50KGUpe3ZhciB0PTE7aWYoZVswXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09XCJzdW1tYXJ5XCIpe3Q9Mn1yZXR1cm4gZS5zbGljZSh0KS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09XCJkZXRhaWxzXCImJmUub3Blbj09PWZhbHNlfSkpfWZ1bmN0aW9uIGlzVmlzaWJsZVJ1bGVzKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzBdOnt9LHQ9ZS5jb250ZXh0LHI9ZS5leGNlcHQsbj1yPT09dW5kZWZpbmVkP3tub3RSZW5kZXJlZDpmYWxzZSxjc3NEaXNwbGF5OmZhbHNlLGNzc1Zpc2liaWxpdHk6ZmFsc2UsZGV0YWlsc0VsZW1lbnQ6ZmFsc2UsYnJvd3NpbmdDb250ZXh0OmZhbHNlfTpyO3ZhciBhPWNvbnRleHRUb0VsZW1lbnQoe2xhYmVsOlwiaXMvdmlzaWJsZVwiLHJlc29sdmVEb2N1bWVudDp0cnVlLGNvbnRleHQ6dH0pO3ZhciBvPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZighbi5ub3RSZW5kZXJlZCYmUGUudGVzdChvKSl7cmV0dXJuIHRydWV9dmFyIGk9Z2V0UGFyZW50cyh7Y29udGV4dDphfSk7dmFyIGw9bz09PVwiYXVkaW9cIiYmIWEuaGFzQXR0cmlidXRlKFwiY29udHJvbHNcIik7aWYoIW4uY3NzRGlzcGxheSYmbm90RGlzcGxheWVkKGw/aS5zbGljZSgxKTppKSl7cmV0dXJuIGZhbHNlfWlmKCFuLmNzc1Zpc2liaWxpdHkmJm5vdFZpc2libGUoaSkpe3JldHVybiBmYWxzZX1pZighbi5kZXRhaWxzRWxlbWVudCYmY29sbGFwc2VkUGFyZW50KGkpKXtyZXR1cm4gZmFsc2V9aWYoIW4uYnJvd3NpbmdDb250ZXh0KXt2YXIgcz1nZXRGcmFtZUVsZW1lbnQoYSk7dmFyIHU9aXNWaXNpYmxlUnVsZXMuZXhjZXB0KG4pO2lmKHMmJiF1KHMpKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfWlzVmlzaWJsZVJ1bGVzLmV4Y2VwdD1mdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fTt2YXIgdD1mdW5jdGlvbiBpc1Zpc2libGUodCl7cmV0dXJuIGlzVmlzaWJsZVJ1bGVzKHtjb250ZXh0OnQsZXhjZXB0OmV9KX07dC5ydWxlcz1pc1Zpc2libGVSdWxlcztyZXR1cm4gdH07dmFyIFdlPWlzVmlzaWJsZVJ1bGVzLmV4Y2VwdCh7fSk7ZnVuY3Rpb24gZ2V0TWFwQnlOYW1lKGUsdCl7dmFyIHI9dC5xdWVyeVNlbGVjdG9yKCdtYXBbbmFtZT1cIicrVCgpKGUpKydcIl0nKTtyZXR1cm4gcnx8bnVsbH1mdW5jdGlvbiBnZXRJbWFnZU9mQXJlYShlKXt2YXIgdD1lLnBhcmVudEVsZW1lbnQ7aWYoIXQubmFtZXx8dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09XCJtYXBcIil7cmV0dXJuIG51bGx9dmFyIHI9Z2V0RG9jdW1lbnQoZSk7cmV0dXJuIHIucXVlcnlTZWxlY3RvcignaW1nW3VzZW1hcD1cIiMnK1QoKSh0Lm5hbWUpKydcIl0nKXx8bnVsbH12YXIgVmU9dm9pZCAwO2Z1bmN0aW9uIGlzVmFsaWRBcmVhKGUpe2lmKCFWZSl7VmU9X3N1cHBvcnRzKCl9dmFyIHQ9Y29udGV4dFRvRWxlbWVudCh7bGFiZWw6XCJpcy92YWxpZC1hcmVhXCIsY29udGV4dDplfSk7dmFyIHI9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKHIhPT1cImFyZWFcIil7cmV0dXJuIGZhbHNlfXZhciBuPXQuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIik7aWYoIVZlLmZvY3VzQXJlYVRhYmluZGV4JiZuKXtyZXR1cm4gZmFsc2V9dmFyIGE9Z2V0SW1hZ2VPZkFyZWEodCk7aWYoIWF8fCFXZShhKSl7cmV0dXJuIGZhbHNlfWlmKCFWZS5mb2N1c0Jyb2tlbkltYWdlTWFwJiYoIWEuY29tcGxldGV8fCFhLm5hdHVyYWxIZWlnaHR8fGEub2Zmc2V0V2lkdGg8PTB8fGEub2Zmc2V0SGVpZ2h0PD0wKSl7cmV0dXJuIGZhbHNlfWlmKCFWZS5mb2N1c0FyZWFXaXRob3V0SHJlZiYmIXQuaHJlZil7cmV0dXJuIFZlLmZvY3VzQXJlYVRhYmluZGV4JiZufHxWZS5mb2N1c0FyZWFJbWdUYWJpbmRleCYmYS5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKX12YXIgbz1nZXRQYXJlbnRzKHtjb250ZXh0OmF9KS5zbGljZSgxKS5zb21lKChmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT1cImJ1dHRvblwifHx0PT09XCJhXCJ9KSk7aWYobyl7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfXZhciAkZT12b2lkIDA7dmFyIEtlPXZvaWQgMDt2YXIgWmU9e2lucHV0OnRydWUsc2VsZWN0OnRydWUsdGV4dGFyZWE6dHJ1ZSxidXR0b246dHJ1ZSxmaWVsZHNldDp0cnVlLGZvcm06dHJ1ZX07ZnVuY3Rpb24gaXNOYXRpdmVEaXNhYmxlZFN1cHBvcnRlZChlKXtpZighJGUpeyRlPV9zdXBwb3J0cygpO2lmKCRlLmZvY3VzRmllbGRzZXREaXNhYmxlZCl7ZGVsZXRlIFplLmZpZWxkc2V0fWlmKCRlLmZvY3VzRm9ybURpc2FibGVkKXtkZWxldGUgWmUuZm9ybX1LZT1uZXcgUmVnRXhwKFwiXihcIitPYmplY3Qua2V5cyhaZSkuam9pbihcInxcIikrXCIpJFwiKX12YXIgdD1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImlzL25hdGl2ZS1kaXNhYmxlZC1zdXBwb3J0ZWRcIixjb250ZXh0OmV9KTt2YXIgcj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEJvb2xlYW4oS2UudGVzdChyKSl9dmFyIFVlPXZvaWQgMDtmdW5jdGlvbiBpc0Rpc2FibGVkRmllbGRzZXQoZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJmaWVsZHNldFwiJiZlLmRpc2FibGVkfWZ1bmN0aW9uIGlzRGlzYWJsZWRGb3JtKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PVwiZm9ybVwiJiZlLmRpc2FibGVkfWZ1bmN0aW9uIGlzRGlzYWJsZWQoZSl7aWYoIVVlKXtVZT1fc3VwcG9ydHMoKX12YXIgdD1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImlzL2Rpc2FibGVkXCIsY29udGV4dDplfSk7aWYodC5oYXNBdHRyaWJ1dGUoXCJkYXRhLWFsbHktZGlzYWJsZWRcIikpe3JldHVybiB0cnVlfWlmKCFpc05hdGl2ZURpc2FibGVkU3VwcG9ydGVkKHQpKXtyZXR1cm4gZmFsc2V9aWYodC5kaXNhYmxlZCl7cmV0dXJuIHRydWV9dmFyIHI9Z2V0UGFyZW50cyh7Y29udGV4dDp0fSk7aWYoci5zb21lKGlzRGlzYWJsZWRGaWVsZHNldCkpe3JldHVybiB0cnVlfWlmKCFVZS5mb2N1c0Zvcm1EaXNhYmxlZCYmci5zb21lKGlzRGlzYWJsZWRGb3JtKSl7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIGlzT25seVRhYmJhYmxlUnVsZXMoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e30sdD1lLmNvbnRleHQscj1lLmV4Y2VwdCxuPXI9PT11bmRlZmluZWQ/e29ubHlGb2N1c2FibGVCcm93c2luZ0NvbnRleHQ6ZmFsc2UsdmlzaWJsZTpmYWxzZX06cjt2YXIgYT1jb250ZXh0VG9FbGVtZW50KHtsYWJlbDpcImlzL29ubHktdGFiYmFibGVcIixyZXNvbHZlRG9jdW1lbnQ6dHJ1ZSxjb250ZXh0OnR9KTtpZighbi52aXNpYmxlJiYhV2UoYSkpe3JldHVybiBmYWxzZX1pZighbi5vbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0JiYoQS5pcy5HRUNLT3x8QS5pcy5UUklERU5UfHxBLmlzLkVER0UpKXt2YXIgbz1nZXRGcmFtZUVsZW1lbnQoYSk7aWYobyl7aWYodGFiaW5kZXhWYWx1ZShvKTwwKXtyZXR1cm4gZmFsc2V9fX12YXIgaT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7dmFyIGw9dGFiaW5kZXhWYWx1ZShhKTtpZihpPT09XCJsYWJlbFwiJiZBLmlzLkdFQ0tPKXtyZXR1cm4gbCE9PW51bGwmJmw+PTB9aWYoQS5pcy5HRUNLTyYmYS5vd25lclNWR0VsZW1lbnQmJiFhLmZvY3VzKXtpZihpPT09XCJhXCImJmEuaGFzQXR0cmlidXRlKFwieGxpbms6aHJlZlwiKSl7aWYoQS5pcy5HRUNLTyl7cmV0dXJuIHRydWV9fX1yZXR1cm4gZmFsc2V9aXNPbmx5VGFiYmFibGVSdWxlcy5leGNlcHQ9ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e307dmFyIHQ9ZnVuY3Rpb24gaXNPbmx5VGFiYmFibGUodCl7cmV0dXJuIGlzT25seVRhYmJhYmxlUnVsZXMoe2NvbnRleHQ6dCxleGNlcHQ6ZX0pfTt0LnJ1bGVzPWlzT25seVRhYmJhYmxlUnVsZXM7cmV0dXJuIHR9O3ZhciBHZT1pc09ubHlUYWJiYWJsZVJ1bGVzLmV4Y2VwdCh7fSk7dmFyIFhlPXZvaWQgMDtmdW5jdGlvbiBpc09ubHlGb2N1c1JlbGV2YW50KGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZih0PT09XCJlbWJlZFwifHx0PT09XCJrZXlnZW5cIil7cmV0dXJuIHRydWV9dmFyIHI9dGFiaW5kZXhWYWx1ZShlKTtpZihlLnNoYWRvd1Jvb3QmJnI9PT1udWxsKXtyZXR1cm4gdHJ1ZX1pZih0PT09XCJsYWJlbFwiKXtyZXR1cm4hWGUuZm9jdXNMYWJlbFRhYmluZGV4fHxyPT09bnVsbH1pZih0PT09XCJsZWdlbmRcIil7cmV0dXJuIHI9PT1udWxsfWlmKFhlLmZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlJiYoZS5vd25lclNWR0VsZW1lbnR8fHQ9PT1cInN2Z1wiKSl7dmFyIG49ZS5nZXRBdHRyaWJ1dGUoXCJmb2N1c2FibGVcIik7cmV0dXJuIG4mJm49PT1cImZhbHNlXCJ9aWYodD09PVwiaW1nXCImJmUuaGFzQXR0cmlidXRlKFwidXNlbWFwXCIpKXtyZXR1cm4gcj09PW51bGx8fCFYZS5mb2N1c0ltZ1VzZW1hcFRhYmluZGV4fWlmKHQ9PT1cImFyZWFcIil7cmV0dXJuIWlzVmFsaWRBcmVhKGUpfXJldHVybiBmYWxzZX1mdW5jdGlvbiBpc0ZvY3VzYWJsZVJ1bGVzKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzBdOnt9LHQ9ZS5jb250ZXh0LHI9ZS5leGNlcHQsbj1yPT09dW5kZWZpbmVkP3tkaXNhYmxlZDpmYWxzZSx2aXNpYmxlOmZhbHNlLG9ubHlUYWJiYWJsZTpmYWxzZX06cjtpZighWGUpe1hlPV9zdXBwb3J0cygpfXZhciBhPUdlLnJ1bGVzLmV4Y2VwdCh7b25seUZvY3VzYWJsZUJyb3dzaW5nQ29udGV4dDp0cnVlLHZpc2libGU6bi52aXNpYmxlfSk7dmFyIG89Y29udGV4dFRvRWxlbWVudCh7bGFiZWw6XCJpcy9mb2N1c2FibGVcIixyZXNvbHZlRG9jdW1lbnQ6dHJ1ZSxjb250ZXh0OnR9KTt2YXIgaT1CZS5ydWxlcyh7Y29udGV4dDpvLGV4Y2VwdDpufSk7aWYoIWl8fGlzT25seUZvY3VzUmVsZXZhbnQobykpe3JldHVybiBmYWxzZX1pZighbi5kaXNhYmxlZCYmaXNEaXNhYmxlZChvKSl7cmV0dXJuIGZhbHNlfWlmKCFuLm9ubHlUYWJiYWJsZSYmYShvKSl7cmV0dXJuIGZhbHNlfWlmKCFuLnZpc2libGUpe3ZhciBsPXtjb250ZXh0Om8sZXhjZXB0Ont9fTtpZihYZS5mb2N1c0luSGlkZGVuSWZyYW1lKXtsLmV4Y2VwdC5icm93c2luZ0NvbnRleHQ9dHJ1ZX1pZihYZS5mb2N1c09iamVjdFN2Z0hpZGRlbil7dmFyIHM9by5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKHM9PT1cIm9iamVjdFwiKXtsLmV4Y2VwdC5jc3NWaXNpYmlsaXR5PXRydWV9fWlmKCFXZS5ydWxlcyhsKSl7cmV0dXJuIGZhbHNlfX12YXIgdT1nZXRGcmFtZUVsZW1lbnQobyk7aWYodSl7dmFyIGM9dS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKGM9PT1cIm9iamVjdFwiJiYhWGUuZm9jdXNJblplcm9EaW1lbnNpb25PYmplY3Qpe2lmKCF1Lm9mZnNldFdpZHRofHwhdS5vZmZzZXRIZWlnaHQpe3JldHVybiBmYWxzZX19fXZhciBkPW8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihkPT09XCJzdmdcIiYmWGUuZm9jdXNTdmdJbklmcmFtZSYmIXUmJm8uZ2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIik9PT1udWxsKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9aXNGb2N1c2FibGVSdWxlcy5leGNlcHQ9ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e307dmFyIHQ9ZnVuY3Rpb24gaXNGb2N1c2FibGUodCl7cmV0dXJuIGlzRm9jdXNhYmxlUnVsZXMoe2NvbnRleHQ6dCxleGNlcHQ6ZX0pfTt0LnJ1bGVzPWlzRm9jdXNhYmxlUnVsZXM7cmV0dXJuIHR9O3ZhciBKZT1pc0ZvY3VzYWJsZVJ1bGVzLmV4Y2VwdCh7fSk7ZnVuY3Rpb24gY3JlYXRlRmlsdGVyKGUpe3ZhciB0PWZ1bmN0aW9uIGZpbHRlcih0KXtpZih0LnNoYWRvd1Jvb3Qpe3JldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFR9aWYoZSh0KSl7cmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVH1yZXR1cm4gTm9kZUZpbHRlci5GSUxURVJfU0tJUH07dC5hY2NlcHROb2RlPXQ7cmV0dXJuIHR9dmFyIFFlPWNyZWF0ZUZpbHRlcihCZSk7ZnVuY3Rpb24gcXVlcnlGb2N1c2FibGVTdHJpY3QoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e30sdD1lLmNvbnRleHQscj1lLmluY2x1ZGVDb250ZXh0LG49ZS5pbmNsdWRlT25seVRhYmJhYmxlLGE9ZS5zdHJhdGVneTtpZighdCl7dD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9dmFyIG89SmUucnVsZXMuZXhjZXB0KHtvbmx5VGFiYmFibGU6bn0pO3ZhciBpPWdldERvY3VtZW50KHQpO3ZhciBsPWkuY3JlYXRlVHJlZVdhbGtlcih0LE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULGE9PT1cImFsbFwiP1FlOmNyZWF0ZUZpbHRlcihvKSxmYWxzZSk7dmFyIHM9W107d2hpbGUobC5uZXh0Tm9kZSgpKXtpZihsLmN1cnJlbnROb2RlLnNoYWRvd1Jvb3Qpe2lmKG8obC5jdXJyZW50Tm9kZSkpe3MucHVzaChsLmN1cnJlbnROb2RlKX1zPXMuY29uY2F0KHF1ZXJ5Rm9jdXNhYmxlU3RyaWN0KHtjb250ZXh0OmwuY3VycmVudE5vZGUuc2hhZG93Um9vdCxpbmNsdWRlT25seVRhYmJhYmxlOm4sc3RyYXRlZ3k6YX0pKX1lbHNle3MucHVzaChsLmN1cnJlbnROb2RlKX19aWYocil7aWYoYT09PVwiYWxsXCIpe2lmKEJlKHQpKXtzLnVuc2hpZnQodCl9fWVsc2UgaWYobyh0KSl7cy51bnNoaWZ0KHQpfX1yZXR1cm4gc312YXIgWWU9dm9pZCAwO3ZhciBldD12b2lkIDA7ZnVuY3Rpb24gc2VsZWN0b3IkMigpe2lmKCFZZSl7WWU9X3N1cHBvcnRzKCl9aWYodHlwZW9mIGV0PT09XCJzdHJpbmdcIil7cmV0dXJuIGV0fWV0PVwiXCIrKFllLmZvY3VzVGFibGU/XCJ0YWJsZSwgdGQsXCI6XCJcIikrKFllLmZvY3VzRmllbGRzZXQ/XCJmaWVsZHNldCxcIjpcIlwiKStcInN2ZyBhLFwiK1wiYVtocmVmXSxcIitcImFyZWFbaHJlZl0sXCIrXCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYnV0dG9uLFwiK1wiaWZyYW1lLCBvYmplY3QsIGVtYmVkLFwiK1wia2V5Z2VuLFwiKyhZZS5mb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzP1wiYXVkaW8sXCI6XCJhdWRpb1tjb250cm9sc10sXCIpKyhZZS5mb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzP1widmlkZW8sXCI6XCJ2aWRlb1tjb250cm9sc10sXCIpKyhZZS5mb2N1c1N1bW1hcnk/XCJzdW1tYXJ5LFwiOlwiXCIpK1wiW3RhYmluZGV4XSxcIitcIltjb250ZW50ZWRpdGFibGVdXCI7ZXQ9c2VsZWN0SW5TaGFkb3dzKGV0KTtyZXR1cm4gZXR9ZnVuY3Rpb24gcXVlcnlGb2N1c2FibGVRdWljaygpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fSx0PWUuY29udGV4dCxyPWUuaW5jbHVkZUNvbnRleHQsbj1lLmluY2x1ZGVPbmx5VGFiYmFibGU7dmFyIGE9c2VsZWN0b3IkMigpO3ZhciBvPXQucXVlcnlTZWxlY3RvckFsbChhKTt2YXIgaT1KZS5ydWxlcy5leGNlcHQoe29ubHlUYWJiYWJsZTpufSk7dmFyIGw9W10uZmlsdGVyLmNhbGwobyxpKTtpZihyJiZpKHQpKXtsLnVuc2hpZnQodCl9cmV0dXJuIGx9ZnVuY3Rpb24gcXVlcnlGb2N1c2FibGUoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e30sdD1lLmNvbnRleHQscj1lLmluY2x1ZGVDb250ZXh0LG49ZS5pbmNsdWRlT25seVRhYmJhYmxlLGE9ZS5zdHJhdGVneSxvPWE9PT11bmRlZmluZWQ/XCJxdWlja1wiOmE7dmFyIGk9Y29udGV4dFRvRWxlbWVudCh7bGFiZWw6XCJxdWVyeS9mb2N1c2FibGVcIixyZXNvbHZlRG9jdW1lbnQ6dHJ1ZSxkZWZhdWx0VG9Eb2N1bWVudDp0cnVlLGNvbnRleHQ6dH0pO3ZhciBsPXtjb250ZXh0OmksaW5jbHVkZUNvbnRleHQ6cixpbmNsdWRlT25seVRhYmJhYmxlOm4sc3RyYXRlZ3k6b307aWYobz09PVwicXVpY2tcIil7cmV0dXJuIHF1ZXJ5Rm9jdXNhYmxlUXVpY2sobCl9ZWxzZSBpZihvPT09XCJzdHJpY3RcInx8bz09PVwiYWxsXCIpe3JldHVybiBxdWVyeUZvY3VzYWJsZVN0cmljdChsKX10aHJvdyBuZXcgVHlwZUVycm9yKCdxdWVyeS9mb2N1c2FibGUgcmVxdWlyZXMgb3B0aW9uLnN0cmF0ZWd5IHRvIGJlIG9uZSBvZiBbXCJxdWlja1wiLCBcInN0cmljdFwiLCBcImFsbFwiXScpfXZhciB0dD12b2lkIDA7dmFyIHJ0PS9eKGZpZWxkc2V0fHRhYmxlfHRkfGJvZHkpJC87ZnVuY3Rpb24gaXNUYWJiYWJsZVJ1bGVzKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzBdOnt9LHQ9ZS5jb250ZXh0LHI9ZS5leGNlcHQsbj1yPT09dW5kZWZpbmVkP3tmbGV4Ym94OmZhbHNlLHNjcm9sbGFibGU6ZmFsc2Usc2hhZG93OmZhbHNlLHZpc2libGU6ZmFsc2Usb25seVRhYmJhYmxlOmZhbHNlfTpyO2lmKCF0dCl7dHQ9X3N1cHBvcnRzKCl9dmFyIGE9Y29udGV4dFRvRWxlbWVudCh7bGFiZWw6XCJpcy90YWJiYWJsZVwiLHJlc29sdmVEb2N1bWVudDp0cnVlLGNvbnRleHQ6dH0pO2lmKEEuaXMuQkxJTksmJkEuaXMuQU5EUk9JRCYmQS5tYWpvclZlcnNpb24+NDIpe3JldHVybiBmYWxzZX12YXIgbz1nZXRGcmFtZUVsZW1lbnQoYSk7aWYobyl7aWYoQS5pcy5XRUJLSVQmJkEuaXMuSU9TKXtyZXR1cm4gZmFsc2V9aWYodGFiaW5kZXhWYWx1ZShvKTwwKXtyZXR1cm4gZmFsc2V9aWYoIW4udmlzaWJsZSYmKEEuaXMuQkxJTkt8fEEuaXMuV0VCS0lUKSYmIVdlKG8pKXtyZXR1cm4gZmFsc2V9dmFyIGk9by5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKGk9PT1cIm9iamVjdFwiKXt2YXIgbD1BLm5hbWU9PT1cIkNocm9tZVwiJiZBLm1ham9yVmVyc2lvbj49NTR8fEEubmFtZT09PVwiT3BlcmFcIiYmQS5tYWpvclZlcnNpb24+PTQxO2lmKEEuaXMuV0VCS0lUfHxBLmlzLkJMSU5LJiYhbCl7cmV0dXJuIGZhbHNlfX19dmFyIHM9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3ZhciB1PXRhYmluZGV4VmFsdWUoYSk7dmFyIGM9dT09PW51bGw/bnVsbDp1Pj0wO2lmKEEuaXMuRURHRSYmQS5tYWpvclZlcnNpb24+PTE0JiZvJiZhLm93bmVyU1ZHRWxlbWVudCYmdTwwKXtyZXR1cm4gdHJ1ZX12YXIgZD1jIT09ZmFsc2U7dmFyIGY9dSE9PW51bGwmJnU+PTA7aWYoYS5oYXNBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIikpe3JldHVybiBkfWlmKHJ0LnRlc3QocykmJmMhPT10cnVlKXtyZXR1cm4gZmFsc2V9aWYoQS5pcy5XRUJLSVQmJkEuaXMuSU9TKXt2YXIgbT1zPT09XCJpbnB1dFwiJiZhLnR5cGU9PT1cInRleHRcInx8YS50eXBlPT09XCJwYXNzd29yZFwifHxzPT09XCJzZWxlY3RcInx8cz09PVwidGV4dGFyZWFcInx8YS5oYXNBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIik7aWYoIW0pe3ZhciBwPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCk7bT1pc1VzZXJNb2RpZnlXcml0YWJsZShwKX1pZighbSl7cmV0dXJuIGZhbHNlfX1pZihzPT09XCJ1c2VcIiYmdSE9PW51bGwpe2lmKEEuaXMuQkxJTkt8fEEuaXMuV0VCS0lUJiZBLm1ham9yVmVyc2lvbj09PTkpe3JldHVybiB0cnVlfX1pZihlbGVtZW50TWF0Y2hlcyhhLFwic3ZnIGFcIikmJmEuaGFzQXR0cmlidXRlKFwieGxpbms6aHJlZlwiKSl7aWYoZCl7cmV0dXJuIHRydWV9aWYoYS5mb2N1cyYmIXR0LmZvY3VzU3ZnTmVnYXRpdmVUYWJpbmRleEF0dHJpYnV0ZSl7cmV0dXJuIHRydWV9fWlmKHM9PT1cInN2Z1wiJiZ0dC5mb2N1c1N2Z0luSWZyYW1lJiZkKXtyZXR1cm4gdHJ1ZX1pZihBLmlzLlRSSURFTlR8fEEuaXMuRURHRSl7aWYocz09PVwic3ZnXCIpe2lmKHR0LmZvY3VzU3ZnKXtyZXR1cm4gdHJ1ZX1yZXR1cm4gYS5oYXNBdHRyaWJ1dGUoXCJmb2N1c2FibGVcIil8fGZ9aWYoYS5vd25lclNWR0VsZW1lbnQpe2lmKHR0LmZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGUmJmYpe3JldHVybiB0cnVlfXJldHVybiBhLmhhc0F0dHJpYnV0ZShcImZvY3VzYWJsZVwiKX19aWYoYS50YWJJbmRleD09PXVuZGVmaW5lZCl7cmV0dXJuIEJvb2xlYW4obi5vbmx5VGFiYmFibGUpfWlmKHM9PT1cImF1ZGlvXCIpe2lmKCFhLmhhc0F0dHJpYnV0ZShcImNvbnRyb2xzXCIpKXtyZXR1cm4gZmFsc2V9ZWxzZSBpZihBLmlzLkJMSU5LKXtyZXR1cm4gdHJ1ZX19aWYocz09PVwidmlkZW9cIil7aWYoIWEuaGFzQXR0cmlidXRlKFwiY29udHJvbHNcIikpe2lmKEEuaXMuVFJJREVOVHx8QS5pcy5FREdFKXtyZXR1cm4gZmFsc2V9fWVsc2UgaWYoQS5pcy5CTElOS3x8QS5pcy5HRUNLTyl7cmV0dXJuIHRydWV9fWlmKHM9PT1cIm9iamVjdFwiKXtpZihBLmlzLkJMSU5LfHxBLmlzLldFQktJVCl7cmV0dXJuIGZhbHNlfX1pZihzPT09XCJpZnJhbWVcIil7cmV0dXJuIGZhbHNlfWlmKCFuLnNjcm9sbGFibGUmJkEuaXMuR0VDS08pe3ZhciBiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCk7aWYoaGFzQ3NzT3ZlcmZsb3dTY3JvbGwoYikpe3JldHVybiBkfX1pZihBLmlzLlRSSURFTlR8fEEuaXMuRURHRSl7aWYocz09PVwiYXJlYVwiKXt2YXIgZz1nZXRJbWFnZU9mQXJlYShhKTtpZihnJiZ0YWJpbmRleFZhbHVlKGcpPDApe3JldHVybiBmYWxzZX19dmFyIHY9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSxudWxsKTtpZihpc1VzZXJNb2RpZnlXcml0YWJsZSh2KSl7cmV0dXJuIGEudGFiSW5kZXg+PTB9aWYoIW4uZmxleGJveCYmaGFzQ3NzRGlzcGxheUZsZXgodikpe2lmKHUhPT1udWxsKXtyZXR1cm4gZn1yZXR1cm4gbnQoYSkmJmF0KGEpfWlmKGlzU2Nyb2xsYWJsZUNvbnRhaW5lcihhLHMpKXtyZXR1cm4gZmFsc2V9dmFyIGg9YS5wYXJlbnRFbGVtZW50O2lmKGgpe3ZhciB4PWgubm9kZU5hbWUudG9Mb3dlckNhc2UoKTt2YXIgeT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoLG51bGwpO2lmKGlzU2Nyb2xsYWJsZUNvbnRhaW5lcihoLHMseCx5KSl7cmV0dXJuIGZhbHNlfWlmKGhhc0Nzc0Rpc3BsYXlGbGV4KHkpKXtyZXR1cm4gZn19fXJldHVybiBhLnRhYkluZGV4Pj0wfWlzVGFiYmFibGVSdWxlcy5leGNlcHQ9ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e307dmFyIHQ9ZnVuY3Rpb24gaXNUYWJiYWJsZSh0KXtyZXR1cm4gaXNUYWJiYWJsZVJ1bGVzKHtjb250ZXh0OnQsZXhjZXB0OmV9KX07dC5ydWxlcz1pc1RhYmJhYmxlUnVsZXM7cmV0dXJuIHR9O3ZhciBudD1CZS5ydWxlcy5leGNlcHQoe2ZsZXhib3g6dHJ1ZX0pO3ZhciBhdD1pc1RhYmJhYmxlUnVsZXMuZXhjZXB0KHtmbGV4Ym94OnRydWV9KTt2YXIgb3Q9aXNUYWJiYWJsZVJ1bGVzLmV4Y2VwdCh7fSk7ZnVuY3Rpb24gcXVlcnlUYWJiYWJsZSgpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fSx0PWUuY29udGV4dCxyPWUuaW5jbHVkZUNvbnRleHQsbj1lLmluY2x1ZGVPbmx5VGFiYmFibGUsYT1lLnN0cmF0ZWd5O3ZhciBvPW90LnJ1bGVzLmV4Y2VwdCh7b25seVRhYmJhYmxlOm59KTtyZXR1cm4gcXVlcnlGb2N1c2FibGUoe2NvbnRleHQ6dCxpbmNsdWRlQ29udGV4dDpyLGluY2x1ZGVPbmx5VGFiYmFibGU6bixzdHJhdGVneTphfSkuZmlsdGVyKG8pfWZ1bmN0aW9uIGNvbXBhcmVEb21Qb3NpdGlvbihlLHQpe3JldHVybiBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOjF9ZnVuY3Rpb24gc29ydERvbU9yZGVyKGUpe3JldHVybiBlLnNvcnQoY29tcGFyZURvbVBvc2l0aW9uKX1mdW5jdGlvbiBnZXRGaXJzdFN1Y2Nlc3Nvck9mZnNldChlLHQpe3JldHVybiBmaW5kSW5kZXgoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkd9KSl9ZnVuY3Rpb24gZmluZEluc2VydGlvbk9mZnNldHMoZSx0LHIpe3ZhciBuPVtdO3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGE9dHJ1ZTt2YXIgbz1lLmluZGV4T2YodCk7aWYobz09PS0xKXtvPWdldEZpcnN0U3VjY2Vzc29yT2Zmc2V0KGUsdCk7YT1mYWxzZX1pZihvPT09LTEpe289ZS5sZW5ndGh9dmFyIGk9bm9kZUFycmF5KHI/cih0KTp0KTtpZighaS5sZW5ndGgpe3JldHVybn1uLnB1c2goe29mZnNldDpvLHJlcGxhY2U6YSxlbGVtZW50czppfSl9KSk7cmV0dXJuIG59ZnVuY3Rpb24gaW5zZXJ0RWxlbWVudHNBdE9mZnNldHMoZSx0KXt2YXIgcj0wO3Quc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5vZmZzZXQtdC5vZmZzZXR9KSk7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbj10LnJlcGxhY2U/MTowO3ZhciBhPVt0Lm9mZnNldCtyLG5dLmNvbmNhdCh0LmVsZW1lbnRzKTtlLnNwbGljZS5hcHBseShlLGEpO3IrPXQuZWxlbWVudHMubGVuZ3RoLW59KSl9ZnVuY3Rpb24gbWVyZ2VJbkRvbU9yZGVyKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzBdOnt9LHQ9ZS5saXN0LHI9ZS5lbGVtZW50cyxuPWUucmVzb2x2ZUVsZW1lbnQ7dmFyIGE9dC5zbGljZSgwKTt2YXIgbz1ub2RlQXJyYXkocikuc2xpY2UoMCk7c29ydERvbU9yZGVyKG8pO3ZhciBpPWZpbmRJbnNlcnRpb25PZmZzZXRzKGEsbyxuKTtpbnNlcnRFbGVtZW50c0F0T2Zmc2V0cyhhLGkpO3JldHVybiBhfXZhciBpdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoZSx0KXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHxmYWxzZTtuLmNvbmZpZ3VyYWJsZT10cnVlO2lmKFwidmFsdWVcImluIG4pbi53cml0YWJsZT10cnVlO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1yZXR1cm4gZnVuY3Rpb24oZSx0LHIpe2lmKHQpZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSx0KTtpZihyKWRlZmluZVByb3BlcnRpZXMoZSxyKTtyZXR1cm4gZX19KCk7ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9fXZhciBsdD1mdW5jdGlvbigpe2Z1bmN0aW9uIE1hcHMoZSl7X2NsYXNzQ2FsbENoZWNrKHRoaXMsTWFwcyk7dGhpcy5fZG9jdW1lbnQ9Z2V0RG9jdW1lbnQoZSk7dGhpcy5tYXBzPXt9fWl0KE1hcHMsW3trZXk6XCJnZXRBcmVhc0ZvclwiLHZhbHVlOmZ1bmN0aW9uIGdldEFyZWFzRm9yKGUpe2lmKCF0aGlzLm1hcHNbZV0pe3RoaXMuYWRkTWFwQnlOYW1lKGUpfXJldHVybiB0aGlzLm1hcHNbZV19fSx7a2V5OlwiYWRkTWFwQnlOYW1lXCIsdmFsdWU6ZnVuY3Rpb24gYWRkTWFwQnlOYW1lKGUpe3ZhciB0PWdldE1hcEJ5TmFtZShlLHRoaXMuX2RvY3VtZW50KTtpZighdCl7cmV0dXJufXRoaXMubWFwc1t0Lm5hbWVdPXF1ZXJ5VGFiYmFibGUoe2NvbnRleHQ6dH0pfX0se2tleTpcImV4dHJhY3RBcmVhc0Zyb21MaXN0XCIsdmFsdWU6ZnVuY3Rpb24gZXh0cmFjdEFyZWFzRnJvbUxpc3QoZSl7cmV0dXJuIGUuZmlsdGVyKChmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYodCE9PVwiYXJlYVwiKXtyZXR1cm4gdHJ1ZX12YXIgcj1lLnBhcmVudE5vZGU7aWYoIXRoaXMubWFwc1tyLm5hbWVdKXt0aGlzLm1hcHNbci5uYW1lXT1bXX10aGlzLm1hcHNbci5uYW1lXS5wdXNoKGUpO3JldHVybiBmYWxzZX0pLHRoaXMpfX1dKTtyZXR1cm4gTWFwc30oKTtmdW5jdGlvbiBzb3J0QXJlYShlLHQpe3ZhciByPXQucXVlcnlTZWxlY3RvckFsbChcImltZ1t1c2VtYXBdXCIpO3ZhciBuPW5ldyBsdCh0KTt2YXIgYT1uLmV4dHJhY3RBcmVhc0Zyb21MaXN0KGUpO2lmKCFyLmxlbmd0aCl7cmV0dXJuIGF9cmV0dXJuIG1lcmdlSW5Eb21PcmRlcih7bGlzdDphLGVsZW1lbnRzOnIscmVzb2x2ZUVsZW1lbnQ6ZnVuY3Rpb24gcmVzb2x2ZUVsZW1lbnQoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoXCJ1c2VtYXBcIikuc2xpY2UoMSk7cmV0dXJuIG4uZ2V0QXJlYXNGb3IodCl9fSl9dmFyIHN0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhlLHQpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10W3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fGZhbHNlO24uY29uZmlndXJhYmxlPXRydWU7aWYoXCJ2YWx1ZVwiaW4gbiluLndyaXRhYmxlPXRydWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbi5rZXksbil9fXJldHVybiBmdW5jdGlvbihlLHQscil7aWYodClkZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpO2lmKHIpZGVmaW5lUHJvcGVydGllcyhlLHIpO3JldHVybiBlfX0oKTtmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2skMShlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX12YXIgdXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBTaGFkb3dzKGUsdCl7X2NsYXNzQ2FsbENoZWNrJDEodGhpcyxTaGFkb3dzKTt0aGlzLmNvbnRleHQ9ZTt0aGlzLnNvcnRFbGVtZW50cz10O3RoaXMuaG9zdENvdW50ZXI9MTt0aGlzLmluSG9zdD17fTt0aGlzLmluRG9jdW1lbnQ9W107dGhpcy5ob3N0cz17fTt0aGlzLmVsZW1lbnRzPXt9fXN0KFNoYWRvd3MsW3trZXk6XCJfcmVnaXN0ZXJIb3N0XCIsdmFsdWU6ZnVuY3Rpb24gX3JlZ2lzdGVySG9zdChlKXtpZihlLl9zb3J0aW5nSWQpe3JldHVybn1lLl9zb3J0aW5nSWQ9XCJzaGFkb3ctXCIrdGhpcy5ob3N0Q291bnRlcisrO3RoaXMuaG9zdHNbZS5fc29ydGluZ0lkXT1lO3ZhciB0PWdldFNoYWRvd0hvc3Qoe2NvbnRleHQ6ZX0pO2lmKHQpe3RoaXMuX3JlZ2lzdGVySG9zdCh0KTt0aGlzLl9yZWdpc3Rlckhvc3RQYXJlbnQoZSx0KX1lbHNle3RoaXMuaW5Eb2N1bWVudC5wdXNoKGUpfX19LHtrZXk6XCJfcmVnaXN0ZXJIb3N0UGFyZW50XCIsdmFsdWU6ZnVuY3Rpb24gX3JlZ2lzdGVySG9zdFBhcmVudChlLHQpe2lmKCF0aGlzLmluSG9zdFt0Ll9zb3J0aW5nSWRdKXt0aGlzLmluSG9zdFt0Ll9zb3J0aW5nSWRdPVtdfXRoaXMuaW5Ib3N0W3QuX3NvcnRpbmdJZF0ucHVzaChlKX19LHtrZXk6XCJfcmVnaXN0ZXJFbGVtZW50XCIsdmFsdWU6ZnVuY3Rpb24gX3JlZ2lzdGVyRWxlbWVudChlLHQpe2lmKCF0aGlzLmVsZW1lbnRzW3QuX3NvcnRpbmdJZF0pe3RoaXMuZWxlbWVudHNbdC5fc29ydGluZ0lkXT1bXX10aGlzLmVsZW1lbnRzW3QuX3NvcnRpbmdJZF0ucHVzaChlKX19LHtrZXk6XCJleHRyYWN0RWxlbWVudHNcIix2YWx1ZTpmdW5jdGlvbiBleHRyYWN0RWxlbWVudHMoZSl7cmV0dXJuIGUuZmlsdGVyKChmdW5jdGlvbihlKXt2YXIgdD1nZXRTaGFkb3dIb3N0KHtjb250ZXh0OmV9KTtpZighdCl7cmV0dXJuIHRydWV9dGhpcy5fcmVnaXN0ZXJIb3N0KHQpO3RoaXMuX3JlZ2lzdGVyRWxlbWVudChlLHQpO3JldHVybiBmYWxzZX0pLHRoaXMpfX0se2tleTpcInNvcnRcIix2YWx1ZTpmdW5jdGlvbiBzb3J0KGUpe3ZhciB0PXRoaXMuX2luamVjdEhvc3RzKGUpO3Q9dGhpcy5fcmVwbGFjZUhvc3RzKHQpO3RoaXMuX2NsZWFudXAoKTtyZXR1cm4gdH19LHtrZXk6XCJfaW5qZWN0SG9zdHNcIix2YWx1ZTpmdW5jdGlvbiBfaW5qZWN0SG9zdHMoZSl7T2JqZWN0LmtleXModGhpcy5ob3N0cykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lbGVtZW50c1tlXTt2YXIgcj10aGlzLmluSG9zdFtlXTt2YXIgbj10aGlzLmhvc3RzW2VdLnNoYWRvd1Jvb3Q7dGhpcy5lbGVtZW50c1tlXT10aGlzLl9tZXJnZSh0LHIsbil9KSx0aGlzKTtyZXR1cm4gdGhpcy5fbWVyZ2UoZSx0aGlzLmluRG9jdW1lbnQsdGhpcy5jb250ZXh0KX19LHtrZXk6XCJfbWVyZ2VcIix2YWx1ZTpmdW5jdGlvbiBfbWVyZ2UoZSx0LHIpe3ZhciBuPW1lcmdlSW5Eb21PcmRlcih7bGlzdDplLGVsZW1lbnRzOnR9KTtyZXR1cm4gdGhpcy5zb3J0RWxlbWVudHMobixyKX19LHtrZXk6XCJfcmVwbGFjZUhvc3RzXCIsdmFsdWU6ZnVuY3Rpb24gX3JlcGxhY2VIb3N0cyhlKXtyZXR1cm4gbWVyZ2VJbkRvbU9yZGVyKHtsaXN0OmUsZWxlbWVudHM6dGhpcy5pbkRvY3VtZW50LHJlc29sdmVFbGVtZW50OnRoaXMuX3Jlc29sdmVIb3N0RWxlbWVudC5iaW5kKHRoaXMpfSl9fSx7a2V5OlwiX3Jlc29sdmVIb3N0RWxlbWVudFwiLHZhbHVlOmZ1bmN0aW9uIF9yZXNvbHZlSG9zdEVsZW1lbnQoZSl7dmFyIHQ9bWVyZ2VJbkRvbU9yZGVyKHtsaXN0OnRoaXMuZWxlbWVudHNbZS5fc29ydGluZ0lkXSxlbGVtZW50czp0aGlzLmluSG9zdFtlLl9zb3J0aW5nSWRdLHJlc29sdmVFbGVtZW50OnRoaXMuX3Jlc29sdmVIb3N0RWxlbWVudC5iaW5kKHRoaXMpfSk7dmFyIHI9dGFiaW5kZXhWYWx1ZShlKTtpZihyIT09bnVsbCYmcj4tMSl7cmV0dXJuW2VdLmNvbmNhdCh0KX1yZXR1cm4gdH19LHtrZXk6XCJfY2xlYW51cFwiLHZhbHVlOmZ1bmN0aW9uIF9jbGVhbnVwKCl7T2JqZWN0LmtleXModGhpcy5ob3N0cykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZGVsZXRlIHRoaXMuaG9zdHNbZV0uX3NvcnRpbmdJZH0pLHRoaXMpfX1dKTtyZXR1cm4gU2hhZG93c30oKTtmdW5jdGlvbiBzb3J0U2hhZG93ZWQoZSx0LHIpe3ZhciBuPW5ldyB1dCh0LHIpO3ZhciBhPW4uZXh0cmFjdEVsZW1lbnRzKGUpO2lmKGEubGVuZ3RoPT09ZS5sZW5ndGgpe3JldHVybiByKGUpfXJldHVybiBuLnNvcnQoYSl9ZnVuY3Rpb24gc29ydFRhYmluZGV4KGUpe3ZhciB0PXt9O3ZhciByPVtdO3ZhciBuPWUuZmlsdGVyKChmdW5jdGlvbihlKXt2YXIgbj1lLnRhYkluZGV4O2lmKG49PT11bmRlZmluZWQpe249dGFiaW5kZXhWYWx1ZShlKX1pZihuPD0wfHxuPT09bnVsbHx8bj09PXVuZGVmaW5lZCl7cmV0dXJuIHRydWV9aWYoIXRbbl0pe3Rbbl09W107ci5wdXNoKG4pfXRbbl0ucHVzaChlKTtyZXR1cm4gZmFsc2V9KSk7dmFyIGE9ci5zb3J0KCkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKS5yZWR1Y2VSaWdodCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5jb25jYXQoZSl9KSxuKTtyZXR1cm4gYX12YXIgY3Q9dm9pZCAwO2Z1bmN0aW9uIG1vdmVDb250ZXh0VG9CZWdpbm5pbmcoZSx0KXt2YXIgcj1lLmluZGV4T2YodCk7aWYocj4wKXt2YXIgbj1lLnNwbGljZShyLDEpO3JldHVybiBuLmNvbmNhdChlKX1yZXR1cm4gZX1mdW5jdGlvbiBzb3J0RWxlbWVudHMoZSx0KXtpZihjdC50YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uKXtlPXNvcnRBcmVhKGUsdCl9ZT1zb3J0VGFiaW5kZXgoZSk7cmV0dXJuIGV9ZnVuY3Rpb24gcXVlcnlUYWJzZXF1ZW5jZSgpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dW5kZWZpbmVkP2FyZ3VtZW50c1swXTp7fSx0PWUuY29udGV4dCxyPWUuaW5jbHVkZUNvbnRleHQsbj1lLmluY2x1ZGVPbmx5VGFiYmFibGUsYT1lLnN0cmF0ZWd5O2lmKCFjdCl7Y3Q9X3N1cHBvcnRzKCl9dmFyIG89bm9kZUFycmF5KHQpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dmFyIGk9cXVlcnlUYWJiYWJsZSh7Y29udGV4dDpvLGluY2x1ZGVDb250ZXh0OnIsaW5jbHVkZU9ubHlUYWJiYWJsZTpuLHN0cmF0ZWd5OmF9KTtpZihkb2N1bWVudC5ib2R5LmNyZWF0ZVNoYWRvd1Jvb3QmJkEuaXMuQkxJTkspe2k9c29ydFNoYWRvd2VkKGksbyxzb3J0RWxlbWVudHMpfWVsc2V7aT1zb3J0RWxlbWVudHMoaSxvKX1pZihyKXtpPW1vdmVDb250ZXh0VG9CZWdpbm5pbmcoaSxvKX1yZXR1cm4gaX12YXIgZHQ9e3RhYjo5LGxlZnQ6MzcsdXA6MzgscmlnaHQ6MzksZG93bjo0MCxwYWdlVXA6MzMsXCJwYWdlLXVwXCI6MzMscGFnZURvd246MzQsXCJwYWdlLWRvd25cIjozNCxlbmQ6MzUsaG9tZTozNixlbnRlcjoxMyxlc2NhcGU6Mjcsc3BhY2U6MzIsc2hpZnQ6MTYsY2Fwc0xvY2s6MjAsXCJjYXBzLWxvY2tcIjoyMCxjdHJsOjE3LGFsdDoxOCxtZXRhOjkxLHBhdXNlOjE5LGluc2VydDo0NSxkZWxldGU6NDYsYmFja3NwYWNlOjgsX2FsaWFzOns5MTpbOTIsOTMsMjI0XX19O2Zvcih2YXIgZnQ9MTtmdDwyNjtmdCsrKXtkdFtcImZcIitmdF09ZnQrMTExfWZvcih2YXIgbXQ9MDttdDwxMDttdCsrKXt2YXIgcHQ9bXQrNDg7dmFyIGJ0PW10Kzk2O2R0W210XT1wdDtkdFtcIm51bS1cIittdF09YnQ7ZHQuX2FsaWFzW3B0XT1bYnRdfWZvcih2YXIgZ3Q9MDtndDwyNjtndCsrKXt2YXIgdnQ9Z3QrNjU7dmFyIGh0PVN0cmluZy5mcm9tQ2hhckNvZGUodnQpLnRvTG93ZXJDYXNlKCk7ZHRbaHRdPXZ0fXZhciB4dD17YWx0OlwiYWx0S2V5XCIsY3RybDpcImN0cmxLZXlcIixtZXRhOlwibWV0YUtleVwiLHNoaWZ0Olwic2hpZnRLZXlcIn07dmFyIHl0PU9iamVjdC5rZXlzKHh0KS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB4dFtlXX0pKTtmdW5jdGlvbiBjcmVhdGVFeHBlY3RlZE1vZGlmaWVycyhlKXt2YXIgdD1lP251bGw6ZmFsc2U7cmV0dXJue2FsdEtleTp0LGN0cmxLZXk6dCxtZXRhS2V5OnQsc2hpZnRLZXk6dH19ZnVuY3Rpb24gcmVzb2x2ZU1vZGlmaWVycyhlKXt2YXIgdD1lLmluZGV4T2YoXCIqXCIpIT09LTE7dmFyIHI9Y3JlYXRlRXhwZWN0ZWRNb2RpZmllcnModCk7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZihlPT09XCIqXCIpe3JldHVybn12YXIgdD10cnVlO3ZhciBuPWUuc2xpY2UoMCwxKTtpZihuPT09XCI/XCIpe3Q9bnVsbH1lbHNlIGlmKG49PT1cIiFcIil7dD1mYWxzZX1pZih0IT09dHJ1ZSl7ZT1lLnNsaWNlKDEpfXZhciBhPXh0W2VdO2lmKCFhKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIG1vZGlmaWVyIFwiJytlKydcIicpfXJbYV09dH0pKTtyZXR1cm4gcn1mdW5jdGlvbiByZXNvbHZlS2V5KGUpe3ZhciB0PWR0W2VdfHxwYXJzZUludChlLDEwKTtpZighdHx8dHlwZW9mIHQhPT1cIm51bWJlclwifHxpc05hTih0KSl7dGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBrZXkgXCInK2UrJ1wiJyl9cmV0dXJuW3RdLmNvbmNhdChkdC5fYWxpYXNbdF18fFtdKX1mdW5jdGlvbiBtYXRjaE1vZGlmaWVycyhlLHQpe3JldHVybiF5dC5zb21lKChmdW5jdGlvbihyKXtyZXR1cm4gdHlwZW9mIGVbcl09PT1cImJvb2xlYW5cIiYmQm9vbGVhbih0W3JdKSE9PWVbcl19KSl9ZnVuY3Rpb24ga2V5QmluZGluZyhlKXtyZXR1cm4gZS5zcGxpdCgvXFxzKy8pLm1hcCgoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zcGxpdChcIitcIik7dmFyIHI9cmVzb2x2ZU1vZGlmaWVycyh0LnNsaWNlKDAsLTEpKTt2YXIgbj1yZXNvbHZlS2V5KHQuc2xpY2UoLTEpKTtyZXR1cm57a2V5Q29kZXM6bixtb2RpZmllcnM6cixtYXRjaE1vZGlmaWVyczptYXRjaE1vZGlmaWVycy5iaW5kKG51bGwscil9fSkpfWZ1bmN0aW9uIGdldFBhcmVudENvbXBhcmF0b3IoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXVuZGVmaW5lZD9hcmd1bWVudHNbMF06e30sdD1lLnBhcmVudCxyPWUuZWxlbWVudCxuPWUuaW5jbHVkZVNlbGY7aWYodCl7cmV0dXJuIGZ1bmN0aW9uIGlzQ2hpbGRPZihlKXtyZXR1cm4gQm9vbGVhbihuJiZlPT09dHx8dC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl9fWVsc2UgaWYocil7cmV0dXJuIGZ1bmN0aW9uIGlzUGFyZW50T2YoZSl7cmV0dXJuIEJvb2xlYW4obiYmcj09PWV8fGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocikmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpfX10aHJvdyBuZXcgVHlwZUVycm9yKFwidXRpbC9jb21wYXJlLXBvc2l0aW9uI2dldFBhcmVudENvbXBhcmF0b3IgcmVxdWlyZWQgZWl0aGVyIG9wdGlvbnMucGFyZW50IG9yIG9wdGlvbnMuZWxlbWVudFwiKX1mdW5jdGlvbiB3aGVuS2V5KCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzBdOnt9O3ZhciB0PXt9O3ZhciByPW5vZGVBcnJheShlLmNvbnRleHQpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZGVsZXRlIGUuY29udGV4dDt2YXIgbj1ub2RlQXJyYXkoZS5maWx0ZXIpO2RlbGV0ZSBlLmZpbHRlcjt2YXIgYT1PYmplY3Qua2V5cyhlKTtpZighYS5sZW5ndGgpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJ3aGVuL2tleSByZXF1aXJlcyBhdCBsZWFzdCBvbmUgb3B0aW9uIGtleVwiKX12YXIgbz1mdW5jdGlvbiByZWdpc3RlckJpbmRpbmcoZSl7ZS5rZXlDb2Rlcy5mb3JFYWNoKChmdW5jdGlvbihyKXtpZighdFtyXSl7dFtyXT1bXX10W3JdLnB1c2goZSl9KSl9O2EuZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYodHlwZW9mIGVbdF0hPT1cImZ1bmN0aW9uXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoJ3doZW4va2V5IHJlcXVpcmVzIG9wdGlvbltcIicrdCsnXCJdIHRvIGJlIGEgZnVuY3Rpb24nKX12YXIgcj1mdW5jdGlvbiBhZGRDYWxsYmFjayhyKXtyLmNhbGxiYWNrPWVbdF07cmV0dXJuIHJ9O2tleUJpbmRpbmcodCkubWFwKHIpLmZvckVhY2gobyl9KSk7dmFyIGk9ZnVuY3Rpb24gaGFuZGxlS2V5RG93bihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpe3JldHVybn1pZihuLmxlbmd0aCl7dmFyIGE9Z2V0UGFyZW50Q29tcGFyYXRvcih7ZWxlbWVudDplLnRhcmdldCxpbmNsdWRlU2VsZjp0cnVlfSk7aWYobi5zb21lKGEpKXtyZXR1cm59fXZhciBvPWUua2V5Q29kZXx8ZS53aGljaDtpZighdFtvXSl7cmV0dXJufXRbb10uZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYoIXQubWF0Y2hNb2RpZmllcnMoZSkpe3JldHVybn10LmNhbGxiYWNrLmNhbGwocixlLGwpfSkpfTtyLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsaSxmYWxzZSk7dmFyIGw9ZnVuY3Rpb24gZGlzZW5nYWdlKCl7ci5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGksZmFsc2UpfTtyZXR1cm57ZGlzZW5nYWdlOmx9fWZ1bmN0aW9uIG1haW50YWluX3RhYl9mb2N1cyh7Y29udGV4dDplfT17fSl7aWYoIWUpe2U9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fXF1ZXJ5VGFic2VxdWVuY2UoKTtyZXR1cm4gd2hlbktleSh7XCI/YWx0Kz9zaGlmdCt0YWJcIjpmdW5jdGlvbiBhbHRTaGlmdFRhYih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIHI9cXVlcnlUYWJzZXF1ZW5jZSh7Y29udGV4dDplfSk7dmFyIG49dC5zaGlmdEtleTt2YXIgYT1yWzBdO3ZhciBvPXJbci5sZW5ndGgtMV07dmFyIGk9bj9hOm87dmFyIGw9bj9vOmE7aWYoaXNBY3RpdmVFbGVtZW50KGkpKXtsLmZvY3VzKCk7cmV0dXJufXZhciBzPXZvaWQgMDt2YXIgdT1yLnNvbWUoKGZ1bmN0aW9uKGUsdCl7aWYoIWlzQWN0aXZlRWxlbWVudChlKSl7cmV0dXJuIGZhbHNlfXM9dDtyZXR1cm4gdHJ1ZX0pKTtpZighdSl7YS5mb2N1cygpO3JldHVybn12YXIgYz1uPy0xOjE7cltzK2NdLmZvY3VzKCl9fSl9bGV0IEV0O2xldCB3dDtsZXQga3Q9MDtmdW5jdGlvbiBsb2NrKCl7c2V0VGltZW91dCgoKCk9PntpZihrdCsrPjApe3JldHVybn1jb25zdCBlPXdpbmRvdy5pbm5lcldpZHRoLWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtpZihlPjApe0V0PWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0O2RvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PWAke2V9cHhgfXd0PWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c7ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwifSkpfWZ1bmN0aW9uIHVubG9jaygpe3NldFRpbWVvdXQoKCgpPT57aWYoa3Q9PT0wfHwtLWt0IT09MCl7cmV0dXJufWlmKEV0IT09dW5kZWZpbmVkKXtkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1FdDtFdD11bmRlZmluZWR9aWYod3QhPT11bmRlZmluZWQpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9d3Q7d3Q9dW5kZWZpbmVkfX0pKX1jb25zdCBTdD1mdW5jdGlvbiBPdmVybGF5KHtjbGFzc05hbWU6ZSxjaGlsZHJlbjp0LGZpeGVkOnJ9KXtwLnVzZUVmZmVjdCgoKCk9Pntsb2NrKCk7cmV0dXJuKCk9Pnt1bmxvY2soKX19KSxbXSk7Y29uc3RbbixhXT1wLnVzZVN0YXRlKG51bGwpO2NvbnN0IG89cC51c2VDYWxsYmFjaygoZT0+e2EoZSl9KSxbXSk7cC51c2VFZmZlY3QoKCgpPT57aWYobj09bnVsbCl7cmV0dXJufWNvbnN0IGU9bWFpbnRhaW5fdGFiX2ZvY3VzKHtjb250ZXh0Om59KTtyZXR1cm4oKT0+e2UuZGlzZW5nYWdlKCl9fSksW25dKTtyZXR1cm4gcC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse1wiZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXlcIjp0cnVlLGNsYXNzTmFtZTplLHJlZjpvfSxwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7XCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3BcIjp0cnVlLFwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wLWZpeGVkXCI6cj90cnVlOnVuZGVmaW5lZH0pLHQpfTt2YXIgX3Q9cmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9hbnNlclwiKTt2YXIgVHQ9X19uY2N3cGNrX3JlcXVpcmVfXy5uKF90KTtjb25zdCBDdD1mdW5jdGlvbiBUZXJtaW5hbCh7Y29udGVudDplfSl7Y29uc3QgdD1wLnVzZU1lbW8oKCgpPT5UdCgpLmFuc2lUb0pzb24oZSx7anNvbjp0cnVlLHVzZV9jbGFzc2VzOnRydWUscmVtb3ZlX2VtcHR5OnRydWV9KSksW2VdKTtyZXR1cm4gcC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse1wiZGF0YS1uZXh0anMtdGVybWluYWxcIjp0cnVlfSxwLmNyZWF0ZUVsZW1lbnQoXCJwcmVcIixudWxsLHQubWFwKCgoZSx0KT0+cC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtrZXk6YHRlcm1pbmFsLWVudHJ5LSR7dH1gLHN0eWxlOntjb2xvcjplLmZnP2B2YXIoLS1jb2xvci0ke2UuZmd9KWA6dW5kZWZpbmVkLC4uLmUuZGVjb3JhdGlvbj09PVwiYm9sZFwiP3tmb250V2VpZ2h0OjgwMH06ZS5kZWNvcmF0aW9uPT09XCJpdGFsaWNcIj97Zm9udFN0eWxlOlwiaXRhbGljXCJ9OnVuZGVmaW5lZH19LGUuY29udGVudCkpKSkpfTtjb25zdCBqdD1mdW5jdGlvbiBCdWlsZEVycm9yKHttZXNzYWdlOmV9KXtjb25zdCB0PXAudXNlQ2FsbGJhY2soKCgpPT57fSksW10pO3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoU3Qse2ZpeGVkOnRydWV9LHAuY3JlYXRlRWxlbWVudChoLHt0eXBlOlwiZXJyb3JcIixcImFyaWEtbGFiZWxsZWRieVwiOlwibmV4dGpzX19jb250YWluZXJfYnVpbGRfZXJyb3JfbGFiZWxcIixcImFyaWEtZGVzY3JpYmVkYnlcIjpcIm5leHRqc19fY29udGFpbmVyX2J1aWxkX2Vycm9yX2Rlc2NcIixvbkNsb3NlOnR9LHAuY3JlYXRlRWxlbWVudCh5LG51bGwscC5jcmVhdGVFbGVtZW50KEUse2NsYXNzTmFtZTpcIm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItaGVhZGVyXCJ9LHAuY3JlYXRlRWxlbWVudChcImg0XCIse2lkOlwibmV4dGpzX19jb250YWluZXJfYnVpbGRfZXJyb3JfbGFiZWxcIn0sXCJGYWlsZWQgdG8gY29tcGlsZVwiKSkscC5jcmVhdGVFbGVtZW50KHgse2NsYXNzTmFtZTpcIm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItYm9keVwifSxwLmNyZWF0ZUVsZW1lbnQoQ3Qse2NvbnRlbnQ6ZX0pLHAuY3JlYXRlRWxlbWVudChcImZvb3RlclwiLG51bGwscC5jcmVhdGVFbGVtZW50KFwicFwiLHtpZDpcIm5leHRqc19fY29udGFpbmVyX2J1aWxkX2Vycm9yX2Rlc2NcIn0scC5jcmVhdGVFbGVtZW50KFwic21hbGxcIixudWxsLFwiVGhpcyBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MgYW5kIGNhbiBvbmx5IGJlIGRpc21pc3NlZCBieSBmaXhpbmcgdGhlIGVycm9yLlwiKSkpKSkpKX07Y29uc3QgQXQ9bm9vcGBcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItaGVhZGVyID4gaDQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1ib2R5IGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS1nYXApO1xuICB9XG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLWJvZHkgZm9vdGVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLWJvZHkgc21hbGwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1mb250KTtcbiAgfVxuYDtjb25zdCBDbG9zZUljb249KCk9PnAuY3JlYXRlRWxlbWVudChcInN2Z1wiLHt3aWR0aDpcIjI0XCIsaGVpZ2h0OlwiMjRcIix2aWV3Qm94OlwiMCAwIDI0IDI0XCIsZmlsbDpcIm5vbmVcIix4bWxuczpcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJ9LHAuY3JlYXRlRWxlbWVudChcInBhdGhcIix7ZDpcIk0xOCA2TDYgMThcIixzdHJva2U6XCJjdXJyZW50Q29sb3JcIixzdHJva2VXaWR0aDpcIjJcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCJ9KSxwLmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIse2Q6XCJNNiA2TDE4IDE4XCIsc3Ryb2tlOlwiY3VycmVudENvbG9yXCIsc3Ryb2tlV2lkdGg6XCIyXCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwifSkpO2NvbnN0IE90PWZ1bmN0aW9uIExlZnRSaWdodERpYWxvZ0hlYWRlcih7Y2hpbGRyZW46ZSxjbGFzc05hbWU6dCxwcmV2aW91czpyLG5leHQ6bixjbG9zZTphfSl7Y29uc3Qgbz1wLnVzZVJlZihudWxsKTtjb25zdCBpPXAudXNlUmVmKG51bGwpO2NvbnN0IGw9cC51c2VSZWYobnVsbCk7Y29uc3Rbcyx1XT1wLnVzZVN0YXRlKG51bGwpO2NvbnN0IGM9cC51c2VDYWxsYmFjaygoZT0+e3UoZSl9KSxbXSk7cC51c2VFZmZlY3QoKCgpPT57aWYocz09bnVsbCl7cmV0dXJufWNvbnN0IGU9cy5nZXRSb290Tm9kZSgpO2NvbnN0IHQ9c2VsZi5kb2N1bWVudDtmdW5jdGlvbiBoYW5kbGVyKHQpe2lmKHQua2V5PT09XCJBcnJvd0xlZnRcIil7dC5zdG9wUHJvcGFnYXRpb24oKTtpZihvLmN1cnJlbnQpe28uY3VycmVudC5mb2N1cygpfXImJnIoKX1lbHNlIGlmKHQua2V5PT09XCJBcnJvd1JpZ2h0XCIpe3Quc3RvcFByb3BhZ2F0aW9uKCk7aWYoaS5jdXJyZW50KXtpLmN1cnJlbnQuZm9jdXMoKX1uJiZuKCl9ZWxzZSBpZih0LmtleT09PVwiRXNjYXBlXCIpe3Quc3RvcFByb3BhZ2F0aW9uKCk7aWYoZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Qpe2NvbnN0IHQ9ZS5hY3RpdmVFbGVtZW50O2lmKHQmJnQhPT1sLmN1cnJlbnQmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7dC5ibHVyKCk7cmV0dXJufX1pZihhKXthKCl9fX1lLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsaGFuZGxlcik7aWYoZSE9PXQpe3QuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixoYW5kbGVyKX1yZXR1cm4gZnVuY3Rpb24oKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsaGFuZGxlcik7aWYoZSE9PXQpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixoYW5kbGVyKX19fSksW2EscyxuLHJdKTtwLnVzZUVmZmVjdCgoKCk9PntpZihzPT1udWxsKXtyZXR1cm59Y29uc3QgZT1zLmdldFJvb3ROb2RlKCk7aWYoZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Qpe2NvbnN0IHQ9ZS5hY3RpdmVFbGVtZW50O2lmKHI9PW51bGwpe2lmKG8uY3VycmVudCYmdD09PW8uY3VycmVudCl7by5jdXJyZW50LmJsdXIoKX19ZWxzZSBpZihuPT1udWxsKXtpZihpLmN1cnJlbnQmJnQ9PT1pLmN1cnJlbnQpe2kuY3VycmVudC5ibHVyKCl9fX19KSxbcyxuLHJdKTtyZXR1cm4gcC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse1wiZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRcIjp0cnVlLGNsYXNzTmFtZTp0fSxwLmNyZWF0ZUVsZW1lbnQoXCJuYXZcIix7cmVmOmN9LHAuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtyZWY6byx0eXBlOlwiYnV0dG9uXCIsZGlzYWJsZWQ6cj09bnVsbD90cnVlOnVuZGVmaW5lZCxcImFyaWEtZGlzYWJsZWRcIjpyPT1udWxsP3RydWU6dW5kZWZpbmVkLG9uQ2xpY2s6cj8/dW5kZWZpbmVkfSxwLmNyZWF0ZUVsZW1lbnQoXCJzdmdcIix7dmlld0JveDpcIjAgMCAxNCAxNFwiLGZpbGw6XCJub25lXCIseG1sbnM6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wifSxwLmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLG51bGwsXCJwcmV2aW91c1wiKSxwLmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIse2Q6XCJNNi45OTk5NiAxLjE2NjY2TDEuMTY2NjMgNi45OTk5OUw2Ljk5OTk2IDEyLjgzMzNNMTIuODMzMyA2Ljk5OTk5SDEuOTk5OTZIMTIuODMzM1pcIixzdHJva2U6XCJjdXJyZW50Q29sb3JcIixzdHJva2VXaWR0aDpcIjJcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCJ9KSkpLHAuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtyZWY6aSx0eXBlOlwiYnV0dG9uXCIsZGlzYWJsZWQ6bj09bnVsbD90cnVlOnVuZGVmaW5lZCxcImFyaWEtZGlzYWJsZWRcIjpuPT1udWxsP3RydWU6dW5kZWZpbmVkLG9uQ2xpY2s6bj8/dW5kZWZpbmVkfSxwLmNyZWF0ZUVsZW1lbnQoXCJzdmdcIix7dmlld0JveDpcIjAgMCAxNCAxNFwiLGZpbGw6XCJub25lXCIseG1sbnM6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wifSxwLmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLG51bGwsXCJuZXh0XCIpLHAuY3JlYXRlRWxlbWVudChcInBhdGhcIix7ZDpcIk02Ljk5OTk2IDEuMTY2NjZMMTIuODMzMyA2Ljk5OTk5TDYuOTk5OTYgMTIuODMzM00xLjE2NjYzIDYuOTk5OTlIMTJIMS4xNjY2M1pcIixzdHJva2U6XCJjdXJyZW50Q29sb3JcIixzdHJva2VXaWR0aDpcIjJcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCJ9KSkpLFwiwqBcIixlKSxhP3AuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtcImRhdGEtbmV4dGpzLWVycm9ycy1kaWFsb2ctbGVmdC1yaWdodC1jbG9zZS1idXR0b25cIjp0cnVlLHJlZjpsLHR5cGU6XCJidXR0b25cIixvbkNsaWNrOmEsXCJhcmlhLWxhYmVsXCI6XCJDbG9zZVwifSxwLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse1wiYXJpYS1oaWRkZW5cIjpcInRydWVcIn0scC5jcmVhdGVFbGVtZW50KENsb3NlSWNvbixudWxsKSkpOm51bGwpfTtjb25zdCBOdD1ub29wYFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXApKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwKSk7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZTtcbiAgfVxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uID4gc3ZnIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc2l6ZS1nYXApICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA4NSwgODUsIDAuMik7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC4xKTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC40KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcC1oYWxmKSAwIDAgdmFyKC0tc2l6ZS1nYXAtaGFsZik7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tc2l6ZS1nYXAtaGFsZikgdmFyKC0tc2l6ZS1nYXAtaGFsZikgMDtcbiAgfVxuXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWZvbnQpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbmA7Y29uc3QgSXQ9bm9vcGBcbiAgW2RhdGEtbmV4dGpzLXRvYXN0XSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogdmFyKC0tc2l6ZS1nYXAtZG91YmxlKTtcbiAgICBsZWZ0OiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgei1pbmRleDogOTAwMDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIFtkYXRhLW5leHRqcy10b2FzdF0ge1xuICAgICAgbWF4LXdpZHRoOiA5MHZ3O1xuICAgICAgbGVmdDogNXZ3O1xuICAgIH1cbiAgfVxuXG4gIFtkYXRhLW5leHRqcy10b2FzdC13cmFwcGVyXSB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWJyaWdodC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS1yZWQpO1xuICAgIGJveC1zaGFkb3c6IDBweCB2YXIoLS1zaXplLWdhcC1kb3VibGUpIHZhcigtLXNpemUtZ2FwLXF1YWQpXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB9XG5gO2NvbnN0IEx0PWZ1bmN0aW9uIFRvYXN0KHtvbkNsaWNrOmUsY2hpbGRyZW46dCxjbGFzc05hbWU6cn0pe3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7XCJkYXRhLW5leHRqcy10b2FzdFwiOnRydWUsb25DbGljazplLGNsYXNzTmFtZTpyfSxwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7XCJkYXRhLW5leHRqcy10b2FzdC13cmFwcGVyXCI6dHJ1ZX0sdCkpfTt2YXIgRnQ9cmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpXCIpO3ZhciBEdD1fX25jY3dwY2tfcmVxdWlyZV9fLm4oRnQpO2NvbnN0IE10PWZ1bmN0aW9uIENvZGVGcmFtZSh7c3RhY2tGcmFtZTplLGNvZGVGcmFtZTp0fSl7Y29uc3Qgcj1wLnVzZU1lbW8oKCgpPT57Y29uc3QgZT10LnNwbGl0KC9cXHI/XFxuL2cpO2NvbnN0IHI9ZS5tYXAoKGU9Pi9ePj8gK1xcZCsgK1xcfCBbIF0rLy5leGVjKER0KCkoZSkpPT09bnVsbD9udWxsOi9ePj8gK1xcZCsgK1xcfCAoICopLy5leGVjKER0KCkoZSkpKSkuZmlsdGVyKEJvb2xlYW4pLm1hcCgoZT0+ZS5wb3AoKSkpLnJlZHVjZSgoKGUsdCk9PmlzTmFOKGUpP3QubGVuZ3RoOk1hdGgubWluKGUsdC5sZW5ndGgpKSxOYU4pO2lmKHI+MSl7Y29uc3QgdD1cIiBcIi5yZXBlYXQocik7cmV0dXJuIGUubWFwKCgoZSxyKT0+fihyPWUuaW5kZXhPZihcInxcIikpP2Uuc3Vic3RyaW5nKDAscikrZS5zdWJzdHJpbmcocikucmVwbGFjZSh0LFwiXCIpOmUpKS5qb2luKFwiXFxuXCIpfXJldHVybiBlLmpvaW4oXCJcXG5cIil9KSxbdF0pO2NvbnN0IG49cC51c2VNZW1vKCgoKT0+VHQoKS5hbnNpVG9Kc29uKHIse2pzb246dHJ1ZSx1c2VfY2xhc3Nlczp0cnVlLHJlbW92ZV9lbXB0eTp0cnVlfSkpLFtyXSk7Y29uc3QgYT1wLnVzZUNhbGxiYWNrKCgoKT0+e2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcztmb3IoY29uc3QgciBpbiBlKXt0LmFwcGVuZChyLChlW3JdPz9cIlwiKS50b1N0cmluZygpKX1zZWxmLmZldGNoKGAke3Byb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEh8fFwiXCJ9L19fbmV4dGpzX2xhdW5jaC1lZGl0b3I/JHt0LnRvU3RyaW5nKCl9YCkudGhlbigoKCk9Pnt9KSwoKCk9Pntjb25zb2xlLmVycm9yKFwiVGhlcmUgd2FzIGFuIGlzc3VlIG9wZW5pbmcgdGhpcyBjb2RlIGluIHlvdXIgZWRpdG9yLlwiKX0pKX0pLFtlXSk7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChcImRpdlwiLHtcImRhdGEtbmV4dGpzLWNvZGVmcmFtZVwiOnRydWV9LHAuY3JlYXRlRWxlbWVudChcImRpdlwiLG51bGwscC5jcmVhdGVFbGVtZW50KFwicFwiLHtyb2xlOlwibGlua1wiLG9uQ2xpY2s6YSx0YWJJbmRleDoxLHRpdGxlOlwiQ2xpY2sgdG8gb3BlbiBpbiB5b3VyIGVkaXRvclwifSxwLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsbnVsbCxnZXRGcmFtZVNvdXJjZShlKSxcIiBAIFwiLGUubWV0aG9kTmFtZSkscC5jcmVhdGVFbGVtZW50KFwic3ZnXCIse3htbG5zOlwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIix2aWV3Qm94OlwiMCAwIDI0IDI0XCIsZmlsbDpcIm5vbmVcIixzdHJva2U6XCJjdXJyZW50Q29sb3JcIixzdHJva2VXaWR0aDpcIjJcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCJ9LHAuY3JlYXRlRWxlbWVudChcInBhdGhcIix7ZDpcIk0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2XCJ9KSxwLmNyZWF0ZUVsZW1lbnQoXCJwb2x5bGluZVwiLHtwb2ludHM6XCIxNSAzIDIxIDMgMjEgOVwifSkscC5jcmVhdGVFbGVtZW50KFwibGluZVwiLHt4MTpcIjEwXCIseTE6XCIxNFwiLHgyOlwiMjFcIix5MjpcIjNcIn0pKSkpLHAuY3JlYXRlRWxlbWVudChcInByZVwiLG51bGwsbi5tYXAoKChlLHQpPT5wLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2tleTpgZnJhbWUtJHt0fWAsc3R5bGU6e2NvbG9yOmUuZmc/YHZhcigtLWNvbG9yLSR7ZS5mZ30pYDp1bmRlZmluZWQsLi4uZS5kZWNvcmF0aW9uPT09XCJib2xkXCI/e2ZvbnRXZWlnaHQ6ODAwfTplLmRlY29yYXRpb249PT1cIml0YWxpY1wiP3tmb250U3R5bGU6XCJpdGFsaWNcIn06dW5kZWZpbmVkfX0sZS5jb250ZW50KSkpKSl9O2NvbnN0IFJ0PWZ1bmN0aW9uIENhbGxTdGFja0ZyYW1lKHtmcmFtZTplfSl7Y29uc3QgdD1lLm9yaWdpbmFsU3RhY2tGcmFtZT8/ZS5zb3VyY2VTdGFja0ZyYW1lO2NvbnN0IHI9Qm9vbGVhbihlLm9yaWdpbmFsQ29kZUZyYW1lKTtjb25zdCBuPXAudXNlQ2FsbGJhY2soKCgpPT57aWYoIXIpcmV0dXJuO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztmb3IoY29uc3QgciBpbiB0KXtlLmFwcGVuZChyLCh0W3JdPz9cIlwiKS50b1N0cmluZygpKX1zZWxmLmZldGNoKGAke3Byb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEh8fFwiXCJ9L19fbmV4dGpzX2xhdW5jaC1lZGl0b3I/JHtlLnRvU3RyaW5nKCl9YCkudGhlbigoKCk9Pnt9KSwoKCk9Pntjb25zb2xlLmVycm9yKFwiVGhlcmUgd2FzIGFuIGlzc3VlIG9wZW5pbmcgdGhpcyBjb2RlIGluIHlvdXIgZWRpdG9yLlwiKX0pKX0pLFtyLHRdKTtyZXR1cm4gcC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse1wiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZVwiOnRydWV9LHAuY3JlYXRlRWxlbWVudChcImgzXCIse1wiZGF0YS1uZXh0anMtZnJhbWUtZXhwYW5kZWRcIjpCb29sZWFuKGUuZXhwYW5kZWQpfSx0Lm1ldGhvZE5hbWUpLHAuY3JlYXRlRWxlbWVudChcImRpdlwiLHtcImRhdGEtaGFzLXNvdXJjZVwiOnI/XCJ0cnVlXCI6dW5kZWZpbmVkLHRhYkluZGV4OnI/MTA6dW5kZWZpbmVkLHJvbGU6cj9cImxpbmtcIjp1bmRlZmluZWQsb25DbGljazpuLHRpdGxlOnI/XCJDbGljayB0byBvcGVuIGluIHlvdXIgZWRpdG9yXCI6dW5kZWZpbmVkfSxwLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsbnVsbCxnZXRGcmFtZVNvdXJjZSh0KSkscC5jcmVhdGVFbGVtZW50KFwic3ZnXCIse3htbG5zOlwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIix2aWV3Qm94OlwiMCAwIDI0IDI0XCIsZmlsbDpcIm5vbmVcIixzdHJva2U6XCJjdXJyZW50Q29sb3JcIixzdHJva2VXaWR0aDpcIjJcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCJ9LHAuY3JlYXRlRWxlbWVudChcInBhdGhcIix7ZDpcIk0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2XCJ9KSxwLmNyZWF0ZUVsZW1lbnQoXCJwb2x5bGluZVwiLHtwb2ludHM6XCIxNSAzIDIxIDMgMjEgOVwifSkscC5jcmVhdGVFbGVtZW50KFwibGluZVwiLHt4MTpcIjEwXCIseTE6XCIxNFwiLHgyOlwiMjFcIix5MjpcIjNcIn0pKSkpfTtjb25zdCB6dD1mdW5jdGlvbiBSdW50aW1lRXJyb3Ioe2Vycm9yOmV9KXtjb25zdCB0PXAudXNlTWVtbygoKCk9PmUuZnJhbWVzLmZpbmRJbmRleCgoZT0+ZS5leHBhbmRlZCYmQm9vbGVhbihlLm9yaWdpbmFsQ29kZUZyYW1lKSYmQm9vbGVhbihlLm9yaWdpbmFsU3RhY2tGcmFtZSkpKSksW2UuZnJhbWVzXSk7Y29uc3Qgcj1wLnVzZU1lbW8oKCgpPT5lLmZyYW1lc1t0XT8/bnVsbCksW2UuZnJhbWVzLHRdKTtjb25zdCBuPXAudXNlTWVtbygoKCk9PnQ8MD9bXTplLmZyYW1lcy5zbGljZSgwLHQpKSxbZS5mcmFtZXMsdF0pO2NvbnN0W2Esb109cC51c2VTdGF0ZShyPT1udWxsKTtjb25zdCBpPXAudXNlQ2FsbGJhY2soKCgpPT57bygoZT0+IWUpKX0pLFtdKTtjb25zdCBsPXAudXNlTWVtbygoKCk9Pm4uZmlsdGVyKChlPT5lLmV4cGFuZGVkfHxhKSkpLFthLG5dKTtjb25zdCBzPXAudXNlTWVtbygoKCk9PmUuZnJhbWVzLnNsaWNlKHQrMSkpLFtlLmZyYW1lcyx0XSk7Y29uc3QgdT1wLnVzZU1lbW8oKCgpPT5zLmZpbHRlcigoZT0+ZS5leHBhbmRlZHx8YSkpKSxbYSxzXSk7Y29uc3QgYz1wLnVzZU1lbW8oKCgpPT5zLmxlbmd0aCE9PXUubGVuZ3RofHxhJiZyIT1udWxsKSxbYSxzLmxlbmd0aCxyLHUubGVuZ3RoXSk7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LG51bGwscj9wLmNyZWF0ZUVsZW1lbnQocC5GcmFnbWVudCxudWxsLHAuY3JlYXRlRWxlbWVudChcImgyXCIsbnVsbCxcIlNvdXJjZVwiKSxsLm1hcCgoKGUsdCk9PnAuY3JlYXRlRWxlbWVudChSdCx7a2V5OmBsZWFkaW5nLWZyYW1lLSR7dH0tJHthfWAsZnJhbWU6ZX0pKSkscC5jcmVhdGVFbGVtZW50KE10LHtzdGFja0ZyYW1lOnIub3JpZ2luYWxTdGFja0ZyYW1lLGNvZGVGcmFtZTpyLm9yaWdpbmFsQ29kZUZyYW1lfSkpOnVuZGVmaW5lZCxlLmNvbXBvbmVudFN0YWNrP3AuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LG51bGwscC5jcmVhdGVFbGVtZW50KFwiaDJcIixudWxsLFwiQ29tcG9uZW50IFN0YWNrXCIpLGUuY29tcG9uZW50U3RhY2subWFwKCgoZSx0KT0+cC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2tleTp0LFwiZGF0YS1uZXh0anMtY29tcG9uZW50LXN0YWNrLWZyYW1lXCI6dHJ1ZX0scC5jcmVhdGVFbGVtZW50KFwiaDNcIixudWxsLGUpKSkpKTpudWxsLHUubGVuZ3RoP3AuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LG51bGwscC5jcmVhdGVFbGVtZW50KFwiaDJcIixudWxsLFwiQ2FsbCBTdGFja1wiKSx1Lm1hcCgoKGUsdCk9PnAuY3JlYXRlRWxlbWVudChSdCx7a2V5OmBjYWxsLXN0YWNrLSR7dH0tJHthfWAsZnJhbWU6ZX0pKSkpOnVuZGVmaW5lZCxjP3AuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LG51bGwscC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIse3RhYkluZGV4OjEwLFwiZGF0YS1uZXh0anMtZGF0YS1ydW50aW1lLWVycm9yLWNvbGxhcHNlZC1hY3Rpb25cIjp0cnVlLHR5cGU6XCJidXR0b25cIixvbkNsaWNrOml9LGE/XCJIaWRlXCI6XCJTaG93XCIsXCIgY29sbGFwc2VkIGZyYW1lc1wiKSk6dW5kZWZpbmVkKX07Y29uc3QgQnQ9bm9vcGBcbiAgYnV0dG9uW2RhdGEtbmV4dGpzLWRhdGEtcnVudGltZS1lcnJvci1jb2xsYXBzZWQtYWN0aW9uXSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IHZhcigtLXNpemUtZm9udC1zbWFsbCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpemUtZm9udC1iaWdnZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnRzLTMpO1xuICB9XG5cbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdOm5vdCg6bGFzdC1jaGlsZCksXG4gIFtkYXRhLW5leHRqcy1jb21wb25lbnQtc3RhY2stZnJhbWVdOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XG4gIH1cblxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBoMyxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV0gPiBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stbW9ub3NwYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhY2staDYpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGgzW2RhdGEtbmV4dGpzLWZyYW1lLWV4cGFuZGVkPSdmYWxzZSddIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhY2staGVhZGxpbmUpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGFjay1zdWJsaW5lKTtcbiAgfVxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBkaXYgPiBzdmcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXApO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGRpdltkYXRhLWhhcy1zb3VyY2VdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdID4gZGl2W2RhdGEtaGFzLXNvdXJjZV06aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgfVxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBkaXZbZGF0YS1oYXMtc291cmNlXSA+IHN2ZyB7XG4gICAgZGlzcGxheTogdW5zZXQ7XG4gIH1cbmA7ZnVuY3Rpb24gZ2V0RXJyb3JTaWduYXR1cmUoZSl7Y29uc3R7ZXZlbnQ6dH09ZTtzd2l0Y2godC50eXBlKXtjYXNlIG86Y2FzZSBpOntyZXR1cm5gJHt0LnJlYXNvbi5uYW1lfTo6JHt0LnJlYXNvbi5tZXNzYWdlfTo6JHt0LnJlYXNvbi5zdGFja31gfWRlZmF1bHQ6e319Y29uc3Qgcj10O3JldHVyblwiXCJ9Y29uc3QgSHQ9ZnVuY3Rpb24gSG90bGlua2VkVGV4dChlKXtjb25zdHt0ZXh0OnR9PWU7Y29uc3Qgcj0vaHR0cHM/OlxcL1xcL1teXFxzLyQuPyNdLlteXFxzKSdcIl0qL2k7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LG51bGwsci50ZXN0KHQpP3Quc3BsaXQoXCIgXCIpLm1hcCgoKGUsdCxuKT0+e2lmKHIudGVzdChlKSl7Y29uc3QgYT1yLmV4ZWMoZSk7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LHtrZXk6YGxpbmstJHt0fWB9LGEmJnAuY3JlYXRlRWxlbWVudChcImFcIix7aHJlZjphWzBdLHRhcmdldDpcIl9ibGFua1wiLHJlbDpcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIn0sZSksdD09PW4ubGVuZ3RoLTE/XCJcIjpcIiBcIil9cmV0dXJuIHQ9PT1uLmxlbmd0aC0xP3AuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LHtrZXk6YHRleHQtJHt0fWB9LGUpOnAuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LHtrZXk6YHRleHQtJHt0fWB9LGUsXCIgXCIpfSkpOnQpfTtjb25zdCBxdD1mdW5jdGlvbiBFcnJvcnMoe2Vycm9yczplfSl7Y29uc3RbdCxyXT1wLnVzZVN0YXRlKHt9KTtjb25zdFtuLGFdPXAudXNlTWVtbygoKCk9PntsZXQgcj1bXTtsZXQgbj1udWxsO2ZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7KythKXtjb25zdCBvPWVbYV07Y29uc3R7aWQ6aX09bztpZihpIGluIHQpe3IucHVzaCh0W2ldKTtjb250aW51ZX1pZihhPjApe2NvbnN0IHQ9ZVthLTFdO2lmKGdldEVycm9yU2lnbmF0dXJlKHQpPT09Z2V0RXJyb3JTaWduYXR1cmUobykpe2NvbnRpbnVlfX1uPW87YnJlYWt9cmV0dXJuW3Isbl19KSxbZSx0XSk7Y29uc3Qgbz1wLnVzZU1lbW8oKCgpPT5uLmxlbmd0aDwxJiZCb29sZWFuKGUubGVuZ3RoKSksW2UubGVuZ3RoLG4ubGVuZ3RoXSk7cC51c2VFZmZlY3QoKCgpPT57aWYoYT09bnVsbCl7cmV0dXJufWxldCBlPXRydWU7Z2V0RXJyb3JCeVR5cGUoYSkudGhlbigodD0+e2lmKGUpe3IoKGU9Pih7Li4uZSxbdC5pZF06dH0pKSl9fSksKCgpPT57fSkpO3JldHVybigpPT57ZT1mYWxzZX19KSxbYV0pO2NvbnN0W2ksbF09cC51c2VTdGF0ZShcImZ1bGxzY3JlZW5cIik7Y29uc3Rbcyx1XT1wLnVzZVN0YXRlKDApO2NvbnN0IGM9cC51c2VDYWxsYmFjaygoZT0+e2U/LnByZXZlbnREZWZhdWx0KCk7dSgoZT0+TWF0aC5tYXgoMCxlLTEpKSl9KSxbXSk7Y29uc3QgZD1wLnVzZUNhbGxiYWNrKChlPT57ZT8ucHJldmVudERlZmF1bHQoKTt1KChlPT5NYXRoLm1heCgwLE1hdGgubWluKG4ubGVuZ3RoLTEsZSsxKSkpKX0pLFtuLmxlbmd0aF0pO2NvbnN0IGY9cC51c2VNZW1vKCgoKT0+bltzXT8/bnVsbCksW3Msbl0pO3AudXNlRWZmZWN0KCgoKT0+e2lmKGUubGVuZ3RoPDEpe3Ioe30pO2woXCJoaWRkZW5cIik7dSgwKX19KSxbZS5sZW5ndGhdKTtjb25zdCBtPXAudXNlQ2FsbGJhY2soKGU9PntlPy5wcmV2ZW50RGVmYXVsdCgpO2woXCJtaW5pbWl6ZWRcIil9KSxbXSk7Y29uc3QgYj1wLnVzZUNhbGxiYWNrKChlPT57ZT8ucHJldmVudERlZmF1bHQoKTtsKFwiaGlkZGVuXCIpfSksW10pO2NvbnN0IGc9cC51c2VDYWxsYmFjaygoZT0+e2U/LnByZXZlbnREZWZhdWx0KCk7bChcImZ1bGxzY3JlZW5cIil9KSxbXSk7aWYoZS5sZW5ndGg8MXx8Zj09bnVsbCl7cmV0dXJuIG51bGx9aWYobyl7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChTdCxudWxsKX1pZihpPT09XCJoaWRkZW5cIil7cmV0dXJuIG51bGx9aWYoaT09PVwibWluaW1pemVkXCIpe3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoTHQse2NsYXNzTmFtZTpcIm5leHRqcy10b2FzdC1lcnJvcnMtcGFyZW50XCIsb25DbGljazpnfSxwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwibmV4dGpzLXRvYXN0LWVycm9yc1wifSxwLmNyZWF0ZUVsZW1lbnQoXCJzdmdcIix7eG1sbnM6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLHdpZHRoOlwiMjRcIixoZWlnaHQ6XCIyNFwiLHZpZXdCb3g6XCIwIDAgMjQgMjRcIixmaWxsOlwibm9uZVwiLHN0cm9rZTpcImN1cnJlbnRDb2xvclwiLHN0cm9rZVdpZHRoOlwiMlwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIn0scC5jcmVhdGVFbGVtZW50KFwiY2lyY2xlXCIse2N4OlwiMTJcIixjeTpcIjEyXCIscjpcIjEwXCJ9KSxwLmNyZWF0ZUVsZW1lbnQoXCJsaW5lXCIse3gxOlwiMTJcIix5MTpcIjhcIix4MjpcIjEyXCIseTI6XCIxMlwifSkscC5jcmVhdGVFbGVtZW50KFwibGluZVwiLHt4MTpcIjEyXCIseTE6XCIxNlwiLHgyOlwiMTIuMDFcIix5MjpcIjE2XCJ9KSkscC5jcmVhdGVFbGVtZW50KFwic3BhblwiLG51bGwsbi5sZW5ndGgsXCIgZXJyb3JcIixuLmxlbmd0aD4xP1wic1wiOlwiXCIpLHAuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtcImRhdGEtbmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvblwiOnRydWUsY2xhc3NOYW1lOlwibmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvblwiLHR5cGU6XCJidXR0b25cIixvbkNsaWNrOmU9PntlLnN0b3BQcm9wYWdhdGlvbigpO2IoKX0sXCJhcmlhLWxhYmVsXCI6XCJIaWRlIEVycm9yc1wifSxwLmNyZWF0ZUVsZW1lbnQoQ2xvc2VJY29uLG51bGwpKSkpfWNvbnN0IHY9W1wic2VydmVyXCIsXCJlZGdlLXNlcnZlclwiXS5pbmNsdWRlcyhnZXRFcnJvclNvdXJjZShmLmVycm9yKXx8XCJcIik7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChTdCxudWxsLHAuY3JlYXRlRWxlbWVudChoLHt0eXBlOlwiZXJyb3JcIixcImFyaWEtbGFiZWxsZWRieVwiOlwibmV4dGpzX19jb250YWluZXJfZXJyb3JzX2xhYmVsXCIsXCJhcmlhLWRlc2NyaWJlZGJ5XCI6XCJuZXh0anNfX2NvbnRhaW5lcl9lcnJvcnNfZGVzY1wiLG9uQ2xvc2U6dj91bmRlZmluZWQ6bX0scC5jcmVhdGVFbGVtZW50KHksbnVsbCxwLmNyZWF0ZUVsZW1lbnQoRSx7Y2xhc3NOYW1lOlwibmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtaGVhZGVyXCJ9LHAuY3JlYXRlRWxlbWVudChPdCx7cHJldmlvdXM6cz4wP2M6bnVsbCxuZXh0OnM8bi5sZW5ndGgtMT9kOm51bGwsY2xvc2U6dj91bmRlZmluZWQ6bX0scC5jcmVhdGVFbGVtZW50KFwic21hbGxcIixudWxsLHAuY3JlYXRlRWxlbWVudChcInNwYW5cIixudWxsLHMrMSksXCIgb2ZcIixcIiBcIixwLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsbnVsbCxuLmxlbmd0aCksXCIgdW5oYW5kbGVkIGVycm9yXCIsbi5sZW5ndGg8Mj9cIlwiOlwic1wiKSkscC5jcmVhdGVFbGVtZW50KFwiaDFcIix7aWQ6XCJuZXh0anNfX2NvbnRhaW5lcl9lcnJvcnNfbGFiZWxcIn0sdj9cIlNlcnZlciBFcnJvclwiOlwiVW5oYW5kbGVkIFJ1bnRpbWUgRXJyb3JcIikscC5jcmVhdGVFbGVtZW50KFwicFwiLHtpZDpcIm5leHRqc19fY29udGFpbmVyX2Vycm9yc19kZXNjXCJ9LGYuZXJyb3IubmFtZSxcIjpcIixcIiBcIixwLmNyZWF0ZUVsZW1lbnQoSHQse3RleHQ6Zi5lcnJvci5tZXNzYWdlfSkpLHY/cC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsbnVsbCxwLmNyZWF0ZUVsZW1lbnQoXCJzbWFsbFwiLG51bGwsXCJUaGlzIGVycm9yIGhhcHBlbmVkIHdoaWxlIGdlbmVyYXRpbmcgdGhlIHBhZ2UuIEFueSBjb25zb2xlIGxvZ3Mgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHRlcm1pbmFsIHdpbmRvdy5cIikpOnVuZGVmaW5lZCkscC5jcmVhdGVFbGVtZW50KHgse2NsYXNzTmFtZTpcIm5leHRqcy1jb250YWluZXItZXJyb3JzLWJvZHlcIn0scC5jcmVhdGVFbGVtZW50KHp0LHtrZXk6Zi5pZC50b1N0cmluZygpLGVycm9yOmZ9KSkpKSl9O2NvbnN0IFB0PW5vb3BgXG4gIC5uZXh0anMtY29udGFpbmVyLWVycm9ycy1oZWFkZXIgPiBoMSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtYmlnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l6ZS1mb250LWJpZ2dlcik7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcbiAgfVxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtaGVhZGVyIHNtYWxsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXNpemUtZm9udC1zbWFsbCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudHMtMSk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XG4gIH1cbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciBzbWFsbCA+IHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XG4gIH1cbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciA+IHAge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXplLWZvbnQtYmlnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS1nYXAtaGFsZik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIH1cbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciA+IGRpdiA+IHNtYWxsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS1nYXAtaGFsZik7XG4gIH1cbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciA+IHAgPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1yZWQpO1xuICB9XG5cbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWJvZHkgPiBoMjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXApKTtcbiAgfVxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtYm9keSA+IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtYmlnKTtcbiAgfVxuXG4gIC5uZXh0anMtdG9hc3QtZXJyb3JzLXBhcmVudCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gIH1cbiAgLm5leHRqcy10b2FzdC1lcnJvcnMtcGFyZW50OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbiAgLm5leHRqcy10b2FzdC1lcnJvcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5leHRqcy10b2FzdC1lcnJvcnMgPiBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS1nYXApO1xuICB9XG4gIC5uZXh0anMtdG9hc3QtZXJyb3JzLWhpZGUtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXAtdHJpcGxlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtd2hpdGUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAubmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgYigpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuc3RhdGU9e2Vycm9yOm51bGx9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJue2Vycm9yOmV9fWNvbXBvbmVudERpZENhdGNoKGUsdCl7dGhpcy5wcm9wcy5vbkVycm9yKGUsdD8uY29tcG9uZW50U3RhY2t8fG51bGwpO2lmKCF0aGlzLnByb3BzLmdsb2JhbE92ZXJsYXkpe3RoaXMuc2V0U3RhdGUoe2Vycm9yOmV9KX19cmVuZGVyKCl7cmV0dXJuIHRoaXMuc3RhdGUuZXJyb3J8fHRoaXMucHJvcHMuZ2xvYmFsT3ZlcmxheSYmdGhpcy5wcm9wcy5pc01vdW50ZWQ/dGhpcy5wcm9wcy5nbG9iYWxPdmVybGF5P2IoKS5jcmVhdGVFbGVtZW50KFwiaHRtbFwiLG51bGwsYigpLmNyZWF0ZUVsZW1lbnQoXCJoZWFkXCIsbnVsbCksYigpLmNyZWF0ZUVsZW1lbnQoXCJib2R5XCIsbnVsbCkpOm51bGw6dGhpcy5wcm9wcy5jaGlsZHJlbn19ZnVuY3Rpb24gQmFzZSgpe3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLG51bGwsbm9vcGBcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIC0tc2l6ZS1nYXAtaGFsZjogNHB4O1xuICAgICAgICAgIC0tc2l6ZS1nYXA6IDhweDtcbiAgICAgICAgICAtLXNpemUtZ2FwLWRvdWJsZTogMTZweDtcbiAgICAgICAgICAtLXNpemUtZ2FwLXRyaXBsZTogMjRweDtcbiAgICAgICAgICAtLXNpemUtZ2FwLXF1YWQ6IDMycHg7XG5cbiAgICAgICAgICAtLXNpemUtZm9udC1zbWFsbDogMTRweDtcbiAgICAgICAgICAtLXNpemUtZm9udDogMTZweDtcbiAgICAgICAgICAtLXNpemUtZm9udC1iaWc6IDIwcHg7XG4gICAgICAgICAgLS1zaXplLWZvbnQtYmlnZ2VyOiAyNHB4O1xuXG4gICAgICAgICAgLS1jb2xvci1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAtLWNvbG9yLWZvbnQ6ICM3NTc1NzU7XG4gICAgICAgICAgLS1jb2xvci1iYWNrZHJvcDogcmdiYSgxNywgMTcsIDE3LCAwLjIpO1xuXG4gICAgICAgICAgLS1jb2xvci1zdGFjay1oNjogIzIyMjtcbiAgICAgICAgICAtLWNvbG9yLXN0YWNrLWhlYWRsaW5lOiAjNjY2O1xuICAgICAgICAgIC0tY29sb3Itc3RhY2stc3VibGluZTogIzk5OTtcblxuICAgICAgICAgIC0tY29sb3ItYWNjZW50cy0xOiAjODA4MDgwO1xuICAgICAgICAgIC0tY29sb3ItYWNjZW50cy0yOiAjMjIyMjIyO1xuICAgICAgICAgIC0tY29sb3ItYWNjZW50cy0zOiAjNDA0MDQwO1xuXG4gICAgICAgICAgLS1mb250LXN0YWNrLW1vbm9zcGFjZTogJ1NGTW9uby1SZWd1bGFyJywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLFxuICAgICAgICAgICAgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZTtcblxuICAgICAgICAgIC0tY29sb3ItYW5zaS1zZWxlY3Rpb246IHJnYmEoOTUsIDEyNiwgMTUxLCAwLjQ4KTtcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYmc6ICMxMTExMTE7XG4gICAgICAgICAgLS1jb2xvci1hbnNpLWZnOiAjY2NjY2NjO1xuXG4gICAgICAgICAgLS1jb2xvci1hbnNpLXdoaXRlOiAjNzc3Nzc3O1xuICAgICAgICAgIC0tY29sb3ItYW5zaS1ibGFjazogIzE0MTQxNDtcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYmx1ZTogIzAwYWFmZjtcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktY3lhbjogIzg4ZGRmZjtcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktZ3JlZW46ICM5OGVjNjU7XG4gICAgICAgICAgLS1jb2xvci1hbnNpLW1hZ2VudGE6ICNhYTg4ZmY7XG4gICAgICAgICAgLS1jb2xvci1hbnNpLXJlZDogI2ZmNTU1NTtcbiAgICAgICAgICAtLWNvbG9yLWFuc2kteWVsbG93OiAjZmZjYzMzO1xuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQtd2hpdGU6ICNmZmZmZmY7XG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1ibGFjazogIzc3Nzc3NztcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYnJpZ2h0LWJsdWU6ICMzM2JiZmY7XG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1jeWFuOiAjYmJlY2ZmO1xuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQtZ3JlZW46ICNiNmYyOTI7XG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1tYWdlbnRhOiAjY2ViYmZmO1xuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQtcmVkOiAjZmY4ODg4O1xuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQteWVsbG93OiAjZmZkOTY2O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgIC0tY29sb3ItYmFja2dyb3VuZDogcmdiKDI4LCAyOCwgMzApO1xuICAgICAgICAgICAgLS1jb2xvci1mb250OiB3aGl0ZTtcbiAgICAgICAgICAgIC0tY29sb3ItYmFja2Ryb3A6IHJnYig0NCwgNDQsIDQ2KTtcblxuICAgICAgICAgICAgLS1jb2xvci1zdGFjay1oNjogcmdiKDIwMCwgMjAwLCAyMDQpO1xuICAgICAgICAgICAgLS1jb2xvci1zdGFjay1oZWFkbGluZTogcmdiKDk5LCA5OSwgMTAyKTtcbiAgICAgICAgICAgIC0tY29sb3Itc3RhY2stc3VibGluZTogcmdiYSgxNDIsIDE0MiwgMTQ3KTtcblxuICAgICAgICAgICAgLS1jb2xvci1hY2NlbnRzLTM6IHJnYigxMTgsIDExOCwgMTE4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9ubyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stbW9ub3NwYWNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxLFxuICAgICAgICBoMixcbiAgICAgICAgaDMsXG4gICAgICAgIGg0LFxuICAgICAgICBoNSxcbiAgICAgICAgaDYge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgIGApfWNvbnN0IFd0PW5vb3BgXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1mZyk7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV06OnNlbGVjdGlvbixcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gKjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXNlbGVjdGlvbik7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stbW9ub3NwYWNlKTtcbiAgfVxuXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc2l6ZS1nYXApICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpXG4gICAgICBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWFuc2ktYnJpZ2h0LWJsYWNrKTtcbiAgfVxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSA+IGRpdiA+IHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSA+IGRpdiA+IHA6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgfVxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSBkaXYgPiBwID4gc3ZnIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICB9XG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIGRpdiA+IHByZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbmA7Y29uc3QgVnQ9bm9vcGBcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1vdmVybGF5XSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB6LWluZGV4OiA5MDAwO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwdmggMTVweCAwO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiA4MTJweCkge1xuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheV0ge1xuICAgICAgcGFkZGluZzogMTVweCAxNXB4IDA7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcF0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2Ryb3ApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wLWZpeGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICB9XG5gO2NvbnN0ICR0PW5vb3BgXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0ge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWZnKTtcbiAgfVxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdOjpzZWxlY3Rpb24sXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gKjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXNlbGVjdGlvbik7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLXRlcm1pbmFsXSAqIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xuICB9XG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gPiAqIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSlcbiAgICAgIGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcbiAgfVxuXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gcHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuYDtmdW5jdGlvbiBDb21wb25lbnRTdHlsZXMoKXtyZXR1cm4gcC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIixudWxsLG5vb3BgXG4gICAgICAgICR7VnR9XG4gICAgICAgICR7SXR9XG4gICAgICAgICR7d31cbiAgICAgICAgJHtOdH1cbiAgICAgICAgJHtXdH1cbiAgICAgICAgJHskdH1cbiAgICAgICAgXG4gICAgICAgICR7QXR9XG4gICAgICAgICR7UHR9XG4gICAgICAgICR7QnR9XG4gICAgICBgKX1mdW5jdGlvbiBDc3NSZXNldCgpe3JldHVybiBwLmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiLG51bGwsbm9vcGBcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGFsbDogaW5pdGlhbDtcblxuICAgICAgICAgIC8qIHRoZSBkaXJlY3Rpb24gcHJvcGVydHkgaXMgbm90IHJlc2V0IGJ5ICdhbGwnICovXG4gICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiFcbiAgICAgICAgICogQm9vdHN0cmFwIFJlYm9vdCB2NC40LjEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gICAgICAgICAqIENvcHlyaWdodCAyMDExLTIwMTkgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gICAgICAgICAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICAgICAgICAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICAgICAgICAgKiBGb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzLCBsaWNlbnNlZCBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZClcbiAgICAgICAgICovXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFydGljbGUsXG4gICAgICAgIGFzaWRlLFxuICAgICAgICBmaWdjYXB0aW9uLFxuICAgICAgICBmaWd1cmUsXG4gICAgICAgIGZvb3RlcixcbiAgICAgICAgaGVhZGVyLFxuICAgICAgICBoZ3JvdXAsXG4gICAgICAgIG1haW4sXG4gICAgICAgIG5hdixcbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90byxcbiAgICAgICAgICAgICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCAnTm90byBTYW5zJywgc2Fucy1zZXJpZixcbiAgICAgICAgICAgICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsICdTZWdvZSBVSSBTeW1ib2wnLFxuICAgICAgICAgICAgJ05vdG8gQ29sb3IgRW1vamknO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWZvbnQpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0YWJpbmRleD0nLTEnXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQsXG4gICAgICAgIGg1LFxuICAgICAgICBoNiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhYmJyW3RpdGxlXSxcbiAgICAgICAgYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgICAgICAgIGN1cnNvcjogaGVscDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgb2wsXG4gICAgICAgIHVsLFxuICAgICAgICBkbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgb2wgb2wsXG4gICAgICAgIHVsIHVsLFxuICAgICAgICBvbCB1bCxcbiAgICAgICAgdWwgb2wge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBkdCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYixcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ViLFxuICAgICAgICBzdXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzdWIge1xuICAgICAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cCB7XG4gICAgICAgICAgdG9wOiAtMC41ZW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwN2JmZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzAwNTZiMztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6bm90KFtocmVmXSkge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6bm90KFtocmVmXSk6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZSxcbiAgICAgICAgY29kZSxcbiAgICAgICAga2JkLFxuICAgICAgICBzYW1wIHtcbiAgICAgICAgICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLFxuICAgICAgICAgICAgJ0xpYmVyYXRpb24gTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjYXB0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgICAgICAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgYnV0dG9uLFxuICAgICAgICBzZWxlY3QsXG4gICAgICAgIG9wdGdyb3VwLFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLFxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgW3R5cGU9J2J1dHRvbiddLFxuICAgICAgICBbdHlwZT0ncmVzZXQnXSxcbiAgICAgICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbjpub3QoOmRpc2FibGVkKSxcbiAgICAgICAgW3R5cGU9J2J1dHRvbiddOm5vdCg6ZGlzYWJsZWQpLFxuICAgICAgICBbdHlwZT0ncmVzZXQnXTpub3QoOmRpc2FibGVkKSxcbiAgICAgICAgW3R5cGU9J3N1Ym1pdCddOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgICAgIFt0eXBlPSdidXR0b24nXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAgICAgW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgICAgIFt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdkYXRlJ10sXG4gICAgICAgIGlucHV0W3R5cGU9J3RpbWUnXSxcbiAgICAgICAgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgICAgICAgaW5wdXRbdHlwZT0nbW9udGgnXSB7XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xuICAgICAgICB9XG5cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgIH1cblxuICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJvZ3Jlc3Mge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBbdHlwZT0nc2VhcmNoJ10ge1xuICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRlbXBsYXRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgW2hpZGRlbl0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYCl9ZnVuY3Rpb24gcHVzaEVycm9yRmlsdGVyRHVwbGljYXRlcyhlLHQpe3JldHVyblsuLi5lLmZpbHRlcigoZT0+ZS5ldmVudC5yZWFzb24hPT10LmV2ZW50LnJlYXNvbikpLHRdfWZ1bmN0aW9uIHJlZHVjZXIocixsKXtzd2l0Y2gobC50eXBlKXtjYXNlIGU6e3JldHVybnsuLi5yLGJ1aWxkRXJyb3I6bnVsbH19Y2FzZSB0OntyZXR1cm57Li4ucixidWlsZEVycm9yOmwubWVzc2FnZX19Y2FzZSBhOntyZXR1cm57Li4ucixyZWZyZXNoU3RhdGU6e3R5cGU6XCJwZW5kaW5nXCIsZXJyb3JzOltdfX19Y2FzZSBuOntyZXR1cm57Li4ucixidWlsZEVycm9yOm51bGwsZXJyb3JzOnIucmVmcmVzaFN0YXRlLnR5cGU9PT1cInBlbmRpbmdcIj9yLnJlZnJlc2hTdGF0ZS5lcnJvcnM6W10scmVmcmVzaFN0YXRlOnt0eXBlOlwiaWRsZVwifX19Y2FzZSBvOmNhc2UgaTp7c3dpdGNoKHIucmVmcmVzaFN0YXRlLnR5cGUpe2Nhc2VcImlkbGVcIjp7cmV0dXJuey4uLnIsbmV4dElkOnIubmV4dElkKzEsZXJyb3JzOnB1c2hFcnJvckZpbHRlckR1cGxpY2F0ZXMoci5lcnJvcnMse2lkOnIubmV4dElkLGV2ZW50Omx9KX19Y2FzZVwicGVuZGluZ1wiOntyZXR1cm57Li4ucixuZXh0SWQ6ci5uZXh0SWQrMSxyZWZyZXNoU3RhdGU6ey4uLnIucmVmcmVzaFN0YXRlLGVycm9yczpwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzKHIucmVmcmVzaFN0YXRlLmVycm9ycyx7aWQ6ci5uZXh0SWQsZXZlbnQ6bH0pfX19ZGVmYXVsdDpjb25zdCBlPXIucmVmcmVzaFN0YXRlO3JldHVybiByfX1kZWZhdWx0Ontjb25zdCBlPWw7cmV0dXJuIHJ9fX1jb25zdCBzaG91bGRQcmV2ZW50RGlzcGxheT0oZSx0KT0+e2lmKCF0fHwhZSl7cmV0dXJuIGZhbHNlfXJldHVybiB0LmluY2x1ZGVzKGUpfTtjb25zdCBLdD1mdW5jdGlvbiBSZWFjdERldk92ZXJsYXkoe2NoaWxkcmVuOmUscHJldmVudERpc3BsYXk6dCxnbG9iYWxPdmVybGF5OnJ9KXtjb25zdFtuLGFdPXAudXNlUmVkdWNlcihyZWR1Y2VyLHtuZXh0SWQ6MSxidWlsZEVycm9yOm51bGwsZXJyb3JzOltdLHJlZnJlc2hTdGF0ZTp7dHlwZTpcImlkbGVcIn19KTtwLnVzZUVmZmVjdCgoKCk9PntvbihhKTtyZXR1cm4gZnVuY3Rpb24oKXtvZmYoYSl9fSksW2FdKTtjb25zdCBvPXAudXNlQ2FsbGJhY2soKChlLHQpPT57fSksW10pO2NvbnN0IGk9bi5idWlsZEVycm9yIT1udWxsO2NvbnN0IGw9Qm9vbGVhbihuLmVycm9ycy5sZW5ndGgpO2NvbnN0IHM9aT9cImJ1aWxkXCI6bD9cInJ1bnRpbWVcIjpudWxsO2NvbnN0IHU9cyE9PW51bGw7cmV0dXJuIHAuY3JlYXRlRWxlbWVudChwLkZyYWdtZW50LG51bGwscC5jcmVhdGVFbGVtZW50KEVycm9yQm91bmRhcnkse2dsb2JhbE92ZXJsYXk6cixpc01vdW50ZWQ6dSxvbkVycm9yOm99LGU/P251bGwpLHU/cC5jcmVhdGVFbGVtZW50KHYse2dsb2JhbE92ZXJsYXk6cn0scC5jcmVhdGVFbGVtZW50KENzc1Jlc2V0LG51bGwpLHAuY3JlYXRlRWxlbWVudChCYXNlLG51bGwpLHAuY3JlYXRlRWxlbWVudChDb21wb25lbnRTdHlsZXMsbnVsbCksc2hvdWxkUHJldmVudERpc3BsYXkocyx0KT9udWxsOmk/cC5jcmVhdGVFbGVtZW50KGp0LHttZXNzYWdlOm4uYnVpbGRFcnJvcn0pOmw/cC5jcmVhdGVFbGVtZW50KHF0LHtlcnJvcnM6bi5lcnJvcnN9KTp1bmRlZmluZWQpOnVuZGVmaW5lZCl9O3ZhciBadD1LdDsoMCxmLnBhdGNoQ29uc29sZUVycm9yKSgpO2xldCBVdD1mYWxzZTtsZXQgR3Q9dW5kZWZpbmVkO2Z1bmN0aW9uIG9uVW5oYW5kbGVkRXJyb3IoZSl7Y29uc3QgdD1lPy5lcnJvcjtpZighdHx8ISh0IGluc3RhbmNlb2YgRXJyb3IpfHx0eXBlb2YgdC5zdGFjayE9PVwic3RyaW5nXCIpe3JldHVybn1pZih0Lm1lc3NhZ2UubWF0Y2goLyhoeWRyYXRpb258Y29udGVudCBkb2VzIG5vdCBtYXRjaHxkaWQgbm90IG1hdGNoKS9pKSl7aWYoZi5oeWRyYXRpb25FcnJvcldhcm5pbmcpe3QubWVzc2FnZSs9XCJcXG5cXG5cIitmLmh5ZHJhdGlvbkVycm9yV2FybmluZ310Lm1lc3NhZ2UrPWBcXG5cXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3JlYWN0LWh5ZHJhdGlvbi1lcnJvcmB9Y29uc3Qgcj10O2NvbnN0IG49dHlwZW9mIGYuaHlkcmF0aW9uRXJyb3JDb21wb25lbnRTdGFjaz09PVwic3RyaW5nXCI/KDAsZC5wYXJzZUNvbXBvbmVudFN0YWNrKShmLmh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2spLm1hcCgoZT0+ZS5jb21wb25lbnQpKTp1bmRlZmluZWQ7ZW1pdCh7dHlwZTpvLHJlYXNvbjp0LGZyYW1lczpwYXJzZVN0YWNrKHIuc3RhY2spLGNvbXBvbmVudFN0YWNrOm59KX1mdW5jdGlvbiBvblVuaGFuZGxlZFJlamVjdGlvbihlKXtjb25zdCB0PWU/LnJlYXNvbjtpZighdHx8ISh0IGluc3RhbmNlb2YgRXJyb3IpfHx0eXBlb2YgdC5zdGFjayE9PVwic3RyaW5nXCIpe3JldHVybn1jb25zdCByPXQ7ZW1pdCh7dHlwZTppLHJlYXNvbjp0LGZyYW1lczpwYXJzZVN0YWNrKHIuc3RhY2spfSl9ZnVuY3Rpb24gcmVnaXN0ZXIoKXtpZihVdCl7cmV0dXJufVV0PXRydWU7dHJ5e2NvbnN0IGU9RXJyb3Iuc3RhY2tUcmFjZUxpbWl0O0Vycm9yLnN0YWNrVHJhY2VMaW1pdD01MDtHdD1lfWNhdGNoe313aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsb25VbmhhbmRsZWRFcnJvcik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmhhbmRsZWRyZWplY3Rpb25cIixvblVuaGFuZGxlZFJlamVjdGlvbil9ZnVuY3Rpb24gdW5yZWdpc3Rlcigpe2lmKCFVdCl7cmV0dXJufVV0PWZhbHNlO2lmKEd0IT09dW5kZWZpbmVkKXt0cnl7RXJyb3Iuc3RhY2tUcmFjZUxpbWl0PUd0fWNhdGNoe31HdD11bmRlZmluZWR9d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLG9uVW5oYW5kbGVkRXJyb3IpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwidW5oYW5kbGVkcmVqZWN0aW9uXCIsb25VbmhhbmRsZWRSZWplY3Rpb24pfWZ1bmN0aW9uIG9uQnVpbGRPaygpe2VtaXQoe3R5cGU6ZX0pfWZ1bmN0aW9uIG9uQnVpbGRFcnJvcihlKXtlbWl0KHt0eXBlOnQsbWVzc2FnZTplfSl9ZnVuY3Rpb24gb25SZWZyZXNoKCl7ZW1pdCh7dHlwZTpufSl9ZnVuY3Rpb24gb25CZWZvcmVSZWZyZXNoKCl7ZW1pdCh7dHlwZTphfSl9fSgpO21vZHVsZS5leHBvcnRzPXJ9KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-dev-overlay/dist/client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLHVIQUE0QztBQUMzRSxNQUFNQywwQkFBMEJELG1CQUFPQSxDQUFDLCtGQUE0QjtBQUNwRSxNQUFNRSxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNMLFlBQVlRLElBQUksRUFBRUMsUUFBUTtJQUMvQixPQUFPLENBQUMsR0FBR04sd0JBQXdCTywwQkFBMEIsRUFBRUwsTUFBdURJLEdBQUdELENBQUlBLEdBQUcsQ0FBQyxHQUFHUCxlQUFlVyxhQUFhLEVBQUVKLE1BQU1KO0FBQzVLO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQm9CLE9BQU9wQixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1iYXNlLXBhdGguanM/NjEzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZEJhc2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRCYXNlUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9hZGRwYXRocHJlZml4ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmVudi5fX05FWFRfUk9VVEVSX0JBU0VQQVRIIHx8IFwiXCI7XG5mdW5jdGlvbiBhZGRCYXNlUGF0aChwYXRoLCByZXF1aXJlZCkge1xuICAgIHJldHVybiAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCAmJiAhcmVxdWlyZWQgPyBwYXRoIDogKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGgsIGJhc2VQYXRoKSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZEJhc2VQYXRoIiwiX2FkZHBhdGhwcmVmaXgiLCJyZXF1aXJlIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInJlcXVpcmVkIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJhZGRQYXRoUHJlZml4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/add-locale.js": -/*!*****************************************************!*\ - !*** ./node_modules/next/dist/client/add-locale.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywwQkFBMEJDLG1CQUFPQSxDQUFDLCtGQUE0QjtBQUNwRSxNQUFNRixZQUFZLFNBQVNHLElBQUk7SUFDM0IsSUFBSSxJQUFJQyxPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLE9BQU8sSUFBSUMsTUFBTUosT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUssT0FBTyxHQUFHQSxPQUFPTCxNQUFNSyxPQUFPO1FBQ3RHRixJQUFJLENBQUNFLE9BQU8sRUFBRSxHQUFHSixTQUFTLENBQUNJLEtBQUs7SUFDcEM7SUFDQSxJQUFJQyxLQUErQixFQUFFLEVBRXBDO0lBQ0QsT0FBT1A7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPUCxRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzP2UyZDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhZGRMb2NhbGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZExvY2FsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgYWRkTG9jYWxlID0gZnVuY3Rpb24ocGF0aCkge1xuICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICByZXR1cm4gKDAsIF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoLm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoKShyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLWxvY2FsZVwiKS5hZGRMb2NhbGUocGF0aCwgLi4uYXJncykpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZExvY2FsZSIsIl9ub3JtYWxpemV0cmFpbGluZ3NsYXNoIiwicmVxdWlyZSIsInBhdGgiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/detect-domain-locale.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/detect-domain-locale.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nconst detectDomainLocale = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (false) {}\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=detect-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsc0RBQXFEO0lBQ2pESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUEscUJBQXFCO0lBQ3ZCLElBQUksSUFBSUMsT0FBT0MsVUFBVUMsTUFBTSxFQUFFQyxPQUFPLElBQUlDLE1BQU1KLE9BQU9LLE9BQU8sR0FBR0EsT0FBT0wsTUFBTUssT0FBTztRQUNuRkYsSUFBSSxDQUFDRSxLQUFLLEdBQUdKLFNBQVMsQ0FBQ0ksS0FBSztJQUNoQztJQUNBLElBQUlDLEtBQStCLEVBQUUsRUFFcEM7QUFDTDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9Ca0IsT0FBT2xCLE9BQU8sR0FBR0EsUUFBUWUsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcz8wM2I1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGV0ZWN0RG9tYWluTG9jYWxlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZXRlY3REb21haW5Mb2NhbGU7XG4gICAgfVxufSk7XG5jb25zdCBkZXRlY3REb21haW5Mb2NhbGUgPSBmdW5jdGlvbigpIHtcbiAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9pMThuL2RldGVjdC1kb21haW4tbG9jYWxlXCIpLmRldGVjdERvbWFpbkxvY2FsZSguLi5hcmdzKTtcbiAgICB9XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZXRlY3QtZG9tYWluLWxvY2FsZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/detect-domain-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/dev-build-watcher.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/dev-build-watcher.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type. Fix no-use-before-define violations.\n/* eslint-disable @typescript-eslint/no-use-before-define */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return initializeBuildWatcher;\n }\n}));\nconst _websocket = __webpack_require__(/*! ./error-overlay/websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nfunction initializeBuildWatcher(toggleCallback, position) {\n if (position === void 0) position = \"bottom-right\";\n const shadowHost = document.createElement(\"div\");\n const [verticalProperty, horizontalProperty] = position.split(\"-\");\n shadowHost.id = \"__next-build-watcher\";\n // Make sure container is fixed and on a high zIndex so it shows\n shadowHost.style.position = \"fixed\";\n shadowHost.style[verticalProperty] = \"10px\";\n shadowHost.style[horizontalProperty] = \"20px\";\n shadowHost.style.width = 0;\n shadowHost.style.height = 0;\n shadowHost.style.zIndex = 99999;\n document.body.appendChild(shadowHost);\n let shadowRoot;\n let prefix = \"\";\n if (shadowHost.attachShadow) {\n shadowRoot = shadowHost.attachShadow({\n mode: \"open\"\n });\n } else {\n // If attachShadow is undefined then the browser does not support\n // the Shadow DOM, we need to prefix all the names so there\n // will be no conflicts\n shadowRoot = shadowHost;\n prefix = \"__next-build-watcher-\";\n }\n // Container\n const container = createContainer(prefix);\n shadowRoot.appendChild(container);\n // CSS\n const css = createCss(prefix, {\n horizontalProperty,\n verticalProperty\n });\n shadowRoot.appendChild(css);\n // State\n let isVisible = false;\n let isBuilding = false;\n let timeoutId = null;\n // Handle events\n (0, _websocket.addMessageListener)((event)=>{\n // This is the heartbeat event\n if (event.data === \"\\uD83D\\uDC93\") {\n return;\n }\n try {\n handleMessage(event);\n } catch (e) {}\n });\n function handleMessage(event) {\n const obj = typeof event === \"string\" ? {\n action: event\n } : JSON.parse(event.data);\n // eslint-disable-next-line default-case\n switch(obj.action){\n case \"building\":\n timeoutId && clearTimeout(timeoutId);\n isVisible = true;\n isBuilding = true;\n updateContainer();\n break;\n case \"built\":\n case \"sync\":\n isBuilding = false;\n // Wait for the fade out transition to complete\n timeoutId = setTimeout(()=>{\n isVisible = false;\n updateContainer();\n }, 100);\n updateContainer();\n break;\n }\n }\n toggleCallback(handleMessage);\n function updateContainer() {\n if (isBuilding) {\n container.classList.add(\"\" + prefix + \"building\");\n } else {\n container.classList.remove(\"\" + prefix + \"building\");\n }\n if (isVisible) {\n container.classList.add(\"\" + prefix + \"visible\");\n } else {\n container.classList.remove(\"\" + prefix + \"visible\");\n }\n }\n}\nfunction createContainer(prefix) {\n const container = document.createElement(\"div\");\n container.id = \"\" + prefix + \"container\";\n container.innerHTML = '\\n <div id=\"' + prefix + 'icon-wrapper\">\\n <svg viewBox=\"0 0 226 200\">\\n <defs>\\n <linearGradient\\n x1=\"114.720775%\"\\n y1=\"181.283245%\"\\n x2=\"39.5399306%\"\\n y2=\"100%\"\\n id=\"' + prefix + 'linear-gradient\"\\n >\\n <stop stop-color=\"#000000\" offset=\"0%\" />\\n <stop stop-color=\"#FFFFFF\" offset=\"100%\" />\\n </linearGradient>\\n </defs>\\n <g id=\"' + prefix + 'icon-group\" fill=\"none\" stroke=\"url(#' + prefix + 'linear-gradient)\" stroke-width=\"18\">\\n <path d=\"M113,5.08219117 L4.28393801,197.5 L221.716062,197.5 L113,5.08219117 Z\" />\\n </g>\\n </svg>\\n </div>\\n ';\n return container;\n}\nfunction createCss(prefix, param) {\n let { horizontalProperty, verticalProperty } = param;\n const css = document.createElement(\"style\");\n css.textContent = \"\\n #\" + prefix + \"container {\\n position: absolute;\\n \" + verticalProperty + \": 10px;\\n \" + horizontalProperty + \": 30px;\\n\\n border-radius: 3px;\\n background: #000;\\n color: #fff;\\n font: initial;\\n cursor: initial;\\n letter-spacing: initial;\\n text-shadow: initial;\\n text-transform: initial;\\n visibility: initial;\\n\\n padding: 7px 10px 8px 10px;\\n align-items: center;\\n box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\n\\n display: none;\\n opacity: 0;\\n transition: opacity 0.1s ease, \" + verticalProperty + \" 0.1s ease;\\n animation: \" + prefix + \"fade-in 0.1s ease-in-out;\\n }\\n\\n #\" + prefix + \"container.\" + prefix + \"visible {\\n display: flex;\\n }\\n\\n #\" + prefix + \"container.\" + prefix + \"building {\\n \" + verticalProperty + \": 20px;\\n opacity: 1;\\n }\\n\\n #\" + prefix + \"icon-wrapper {\\n width: 16px;\\n height: 16px;\\n }\\n\\n #\" + prefix + \"icon-wrapper > svg {\\n width: 100%;\\n height: 100%;\\n }\\n\\n #\" + prefix + \"icon-group {\\n animation: \" + prefix + \"strokedash 1s ease-in-out both infinite;\\n }\\n\\n @keyframes \" + prefix + \"fade-in {\\n from {\\n \" + verticalProperty + \": 10px;\\n opacity: 0;\\n }\\n to {\\n \" + verticalProperty + \": 20px;\\n opacity: 1;\\n }\\n }\\n\\n @keyframes \" + prefix + \"strokedash {\\n 0% {\\n stroke-dasharray: 0 226;\\n }\\n 80%,\\n 100% {\\n stroke-dasharray: 659 226;\\n }\\n }\\n \";\n return css;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=dev-build-watcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZGV2LWJ1aWxkLXdhdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUVBQXVFO0FBQ3ZFLDBEQUEwRCxHQUFnQjtBQUMxRUEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGFBQWFDLG1CQUFPQSxDQUFDLGlHQUEyQjtBQUN0RCxTQUFTRix1QkFBdUJHLGNBQWMsRUFBRUMsUUFBUTtJQUNwRCxJQUFJQSxhQUFhLEtBQUssR0FBR0EsV0FBVztJQUNwQyxNQUFNQyxhQUFhQyxTQUFTQyxhQUFhLENBQUM7SUFDMUMsTUFBTSxDQUFDQyxrQkFBa0JDLG1CQUFtQixHQUFHTCxTQUFTTSxLQUFLLENBQUM7SUFDOURMLFdBQVdNLEVBQUUsR0FBRztJQUNoQixnRUFBZ0U7SUFDaEVOLFdBQVdPLEtBQUssQ0FBQ1IsUUFBUSxHQUFHO0lBQzVCQyxXQUFXTyxLQUFLLENBQUNKLGlCQUFpQixHQUFHO0lBQ3JDSCxXQUFXTyxLQUFLLENBQUNILG1CQUFtQixHQUFHO0lBQ3ZDSixXQUFXTyxLQUFLLENBQUNDLEtBQUssR0FBRztJQUN6QlIsV0FBV08sS0FBSyxDQUFDRSxNQUFNLEdBQUc7SUFDMUJULFdBQVdPLEtBQUssQ0FBQ0csTUFBTSxHQUFHO0lBQzFCVCxTQUFTVSxJQUFJLENBQUNDLFdBQVcsQ0FBQ1o7SUFDMUIsSUFBSWE7SUFDSixJQUFJQyxTQUFTO0lBQ2IsSUFBSWQsV0FBV2UsWUFBWSxFQUFFO1FBQ3pCRixhQUFhYixXQUFXZSxZQUFZLENBQUM7WUFDakNDLE1BQU07UUFDVjtJQUNKLE9BQU87UUFDSCxpRUFBaUU7UUFDakUsMkRBQTJEO1FBQzNELHVCQUF1QjtRQUN2QkgsYUFBYWI7UUFDYmMsU0FBUztJQUNiO0lBQ0EsWUFBWTtJQUNaLE1BQU1H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SUFDL0JzRCxPQUFPdEQsT0FBTyxHQUFHQSxRQUFRbUQsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZGV2LWJ1aWxkLXdhdGNoZXIuanM/N2IzNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBSZW1vdmUgdXNlIG9mIGBhbnlgIHR5cGUuIEZpeCBuby11c2UtYmVmb3JlLWRlZmluZSB2aW9sYXRpb25zLlxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUJ1aWxkV2F0Y2hlcjtcbiAgICB9XG59KTtcbmNvbnN0IF93ZWJzb2NrZXQgPSByZXF1aXJlKFwiLi9lcnJvci1vdmVybGF5L3dlYnNvY2tldFwiKTtcbmZ1bmN0aW9uIGluaXRpYWxpemVCdWlsZFdhdGNoZXIodG9nZ2xlQ2FsbGJhY2ssIHBvc2l0aW9uKSB7XG4gICAgaWYgKHBvc2l0aW9uID09PSB2b2lkIDApIHBvc2l0aW9uID0gXCJib3R0b20tcmlnaHRcIjtcbiAgICBjb25zdCBzaGFkb3dIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBjb25zdCBbdmVydGljYWxQcm9wZXJ0eSwgaG9yaXpvbnRhbFByb3BlcnR5XSA9IHBvc2l0aW9uLnNwbGl0KFwiLVwiKTtcbiAgICBzaGFkb3dIb3N0LmlkID0gXCJfX25leHQtYnVpbGQtd2F0Y2hlclwiO1xuICAgIC8vIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgZml4ZWQgYW5kIG9uIGEgaGlnaCB6SW5kZXggc28gaXQgc2hvd3NcbiAgICBzaGFkb3dIb3N0LnN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiO1xuICAgIHNoYWRvd0hvc3Quc3R5bGVbdmVydGljYWxQcm9wZXJ0eV0gPSBcIjEwcHhcIjtcbiAgICBzaGFkb3dIb3N0LnN0eWxlW2hvcml6b250YWxQcm9wZXJ0eV0gPSBcIjIwcHhcIjtcbiAgICBzaGFkb3dIb3N0LnN0eWxlLndpZHRoID0gMDtcbiAgICBzaGFkb3dIb3N0LnN0eWxlLmhlaWdodCA9IDA7XG4gICAgc2hhZG93SG9zdC5zdHlsZS56SW5kZXggPSA5OTk5OTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNoYWRvd0hvc3QpO1xuICAgIGxldCBzaGFkb3dSb290O1xuICAgIGxldCBwcmVmaXggPSBcIlwiO1xuICAgIGlmIChzaGFkb3dIb3N0LmF0dGFjaFNoYWRvdykge1xuICAgICAgICBzaGFkb3dSb290ID0gc2hhZG93SG9zdC5hdHRhY2hTaGFkb3coe1xuICAgICAgICAgICAgbW9kZTogXCJvcGVuXCJcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgYXR0YWNoU2hhZG93IGlzIHVuZGVmaW5lZCB0aGVuIHRoZSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnRcbiAgICAgICAgLy8gdGhlIFNoYWRvdyBET00sIHdlIG5lZWQgdG8gcHJlZml4IGFsbCB0aGUgbmFtZXMgc28gdGhlcmVcbiAgICAgICAgLy8gd2lsbCBiZSBubyBjb25mbGljdHNcbiAgICAgICAgc2hhZG93Um9vdCA9IHNoYWRvd0hvc3Q7XG4gICAgICAgIHByZWZpeCA9IFwiX19uZXh0LWJ1aWxkLXdhdGNoZXItXCI7XG4gICAgfVxuICAgIC8vIENvbnRhaW5lclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNyZWF0ZUNvbnRhaW5lcihwcmVmaXgpO1xuICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAvLyBDU1NcbiAgICBjb25zdCBjc3MgPSBjcmVhdGVDc3MocHJlZml4LCB7XG4gICAgICAgIGhvcml6b250YWxQcm9wZXJ0eSxcbiAgICAgICAgdmVydGljYWxQcm9wZXJ0eVxuICAgIH0pO1xuICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY3NzKTtcbiAgICAvLyBTdGF0ZVxuICAgIGxldCBpc1Zpc2libGUgPSBmYWxzZTtcbiAgICBsZXQgaXNCdWlsZGluZyA9IGZhbHNlO1xuICAgIGxldCB0aW1lb3V0SWQgPSBudWxsO1xuICAgIC8vIEhhbmRsZSBldmVudHNcbiAgICAoMCwgX3dlYnNvY2tldC5hZGRNZXNzYWdlTGlzdGVuZXIpKChldmVudCk9PntcbiAgICAgICAgLy8gVGhpcyBpcyB0aGUgaGVhcnRiZWF0IGV2ZW50XG4gICAgICAgIGlmIChldmVudC5kYXRhID09PSBcIlxcdUQ4M0RcXHVEQzkzXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaGFuZGxlTWVzc2FnZShldmVudCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gaGFuZGxlTWVzc2FnZShldmVudCkge1xuICAgICAgICBjb25zdCBvYmogPSB0eXBlb2YgZXZlbnQgPT09IFwic3RyaW5nXCIgPyB7XG4gICAgICAgICAgICBhY3Rpb246IGV2ZW50XG4gICAgICAgIH0gOiBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVmYXVsdC1jYXNlXG4gICAgICAgIHN3aXRjaChvYmouYWN0aW9uKXtcbiAgICAgICAgICAgIGNhc2UgXCJidWlsZGluZ1wiOlxuICAgICAgICAgICAgICAgIHRpbWVvdXRJZCAmJiBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgICAgICAgICBpc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlzQnVpbGRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRhaW5lcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImJ1aWx0XCI6XG4gICAgICAgICAgICBjYXNlIFwic3luY1wiOlxuICAgICAgICAgICAgICAgIGlzQnVpbGRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyBXYWl0IGZvciB0aGUgZmFkZSBvdXQgdHJhbnNpdGlvbiB0byBjb21wbGV0ZVxuICAgICAgICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRhaW5lcigpO1xuICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgICAgdXBkYXRlQ29udGFpbmVyKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdG9nZ2xlQ2FsbGJhY2soaGFuZGxlTWVzc2FnZSk7XG4gICAgZnVuY3Rpb24gdXBkYXRlQ29udGFpbmVyKCkge1xuICAgICAgICBpZiAoaXNCdWlsZGluZykge1xuICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJcIiArIHByZWZpeCArIFwiYnVpbGRpbmdcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZShcIlwiICsgcHJlZml4ICsgXCJidWlsZGluZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZChcIlwiICsgcHJlZml4ICsgXCJ2aXNpYmxlXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoXCJcIiArIHByZWZpeCArIFwidmlzaWJsZVwiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcihwcmVmaXgpIHtcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIGNvbnRhaW5lci5pZCA9IFwiXCIgKyBwcmVmaXggKyBcImNvbnRhaW5lclwiO1xuICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnXFxuICAgIDxkaXYgaWQ9XCInICsgcHJlZml4ICsgJ2ljb24td3JhcHBlclwiPlxcbiAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyMjYgMjAwXCI+XFxuICAgICAgICA8ZGVmcz5cXG4gICAgICAgICAgPGxpbmVhckdyYWRpZW50XFxuICAgICAgICAgICAgeDE9XCIxMTQuNzIwNzc1JVwiXFxuICAgICAgICAgICAgeTE9XCIxODEuMjgzMjQ1JVwiXFxuICAgICAgICAgICAgeDI9XCIzOS41Mzk5MzA2JVwiXFxuICAgICAgICAgICAgeTI9XCIxMDAlXCJcXG4gICAgICAgICAgICBpZD1cIicgKyBwcmVmaXggKyAnbGluZWFyLWdyYWRpZW50XCJcXG4gICAgICAgICAgPlxcbiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjMDAwMDAwXCIgb2Zmc2V0PVwiMCVcIiAvPlxcbiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRkZGRkZGXCIgb2Zmc2V0PVwiMTAwJVwiIC8+XFxuICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XFxuICAgICAgICA8L2RlZnM+XFxuICAgICAgICA8ZyBpZD1cIicgKyBwcmVmaXggKyAnaWNvbi1ncm91cFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwidXJsKCMnICsgcHJlZml4ICsgJ2xpbmVhci1ncmFkaWVudClcIiBzdHJva2Utd2lkdGg9XCIxOFwiPlxcbiAgICAgICAgICA8cGF0aCBkPVwiTTExMyw1LjA4MjE5MTE3IEw0LjI4MzkzODAxLDE5Ny41IEwyMjEuNzE2MDYyLDE5Ny41IEwxMTMsNS4wODIxOTExNyBaXCIgLz5cXG4gICAgICAgIDwvZz5cXG4gICAgICA8L3N2Zz5cXG4gICAgPC9kaXY+XFxuICAnO1xuICAgIHJldHVybiBjb250YWluZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVDc3MocHJlZml4LCBwYXJhbSkge1xuICAgIGxldCB7IGhvcml6b250YWxQcm9wZXJ0eSAsIHZlcnRpY2FsUHJvcGVydHkgIH0gPSBwYXJhbTtcbiAgICBjb25zdCBjc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgY3NzLnRleHRDb250ZW50ID0gXCJcXG4gICAgI1wiICsgcHJlZml4ICsgXCJjb250YWluZXIge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICBcIiArIHZlcnRpY2FsUHJvcGVydHkgKyBcIjogMTBweDtcXG4gICAgICBcIiArIGhvcml6b250YWxQcm9wZXJ0eSArIFwiOiAzMHB4O1xcblxcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xcbiAgICAgIGNvbG9yOiAjZmZmO1xcbiAgICAgIGZvbnQ6IGluaXRpYWw7XFxuICAgICAgY3Vyc29yOiBpbml0aWFsO1xcbiAgICAgIGxldHRlci1zcGFjaW5nOiBpbml0aWFsO1xcbiAgICAgIHRleHQtc2hhZG93OiBpbml0aWFsO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xcbiAgICAgIHZpc2liaWxpdHk6IGluaXRpYWw7XFxuXFxuICAgICAgcGFkZGluZzogN3B4IDEwcHggOHB4IDEwcHg7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICBib3gtc2hhZG93OiAwIDExcHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcblxcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgICAgb3BhY2l0eTogMDtcXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgXCIgKyB2ZXJ0aWNhbFByb3BlcnR5ICsgXCIgMC4xcyBlYXNlO1xcbiAgICAgIGFuaW1hdGlvbjogXCIgKyBwcmVmaXggKyBcImZhZGUtaW4gMC4xcyBlYXNlLWluLW91dDtcXG4gICAgfVxcblxcbiAgICAjXCIgKyBwcmVmaXggKyBcImNvbnRhaW5lci5cIiArIHByZWZpeCArIFwidmlzaWJsZSB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgfVxcblxcbiAgICAjXCIgKyBwcmVmaXggKyBcImNvbnRhaW5lci5cIiArIHByZWZpeCArIFwiYnVpbGRpbmcge1xcbiAgICAgIFwiICsgdmVydGljYWxQcm9wZXJ0eSArIFwiOiAyMHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7XFxuICAgIH1cXG5cXG4gICAgI1wiICsgcHJlZml4ICsgXCJpY29uLXdyYXBwZXIge1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgfVxcblxcbiAgICAjXCIgKyBwcmVmaXggKyBcImljb24td3JhcHBlciA+IHN2ZyB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICB9XFxuXFxuICAgICNcIiArIHByZWZpeCArIFwiaWNvbi1ncm91cCB7XFxuICAgICAgYW5pbWF0aW9uOiBcIiArIHByZWZpeCArIFwic3Ryb2tlZGFzaCAxcyBlYXNlLWluLW91dCBib3RoIGluZmluaXRlO1xcbiAgICB9XFxuXFxuICAgIEBrZXlmcmFtZXMgXCIgKyBwcmVmaXggKyBcImZhZGUtaW4ge1xcbiAgICAgIGZyb20ge1xcbiAgICAgICAgXCIgKyB2ZXJ0aWNhbFByb3BlcnR5ICsgXCI6IDEwcHg7XFxuICAgICAgICBvcGFjaXR5OiAwO1xcbiAgICAgIH1cXG4gICAgICB0byB7XFxuICAgICAgICBcIiArIHZlcnRpY2FsUHJvcGVydHkgKyBcIjogMjBweDtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIEBrZXlmcmFtZXMgXCIgKyBwcmVmaXggKyBcInN0cm9rZWRhc2gge1xcbiAgICAgIDAlIHtcXG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgMjI2O1xcbiAgICAgIH1cXG4gICAgICA4MCUsXFxuICAgICAgMTAwJSB7XFxuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA2NTkgMjI2O1xcbiAgICAgIH1cXG4gICAgfVxcbiAgXCI7XG4gICAgcmV0dXJuIGNzcztcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGV2LWJ1aWxkLXdhdGNoZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImluaXRpYWxpemVCdWlsZFdhdGNoZXIiLCJfd2Vic29ja2V0IiwicmVxdWlyZSIsInRvZ2dsZUNhbGxiYWNrIiwicG9zaXRpb24iLCJzaGFkb3dIb3N0IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwidmVydGljYWxQcm9wZXJ0eSIsImhvcml6b250YWxQcm9wZXJ0eSIsInNwbGl0IiwiaWQiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0IiwiekluZGV4IiwiYm9keSIsImFwcGVuZENoaWxkIiwic2hhZG93Um9vdCIsInByZWZpeCIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJjb250YWluZXIiLCJjcmVhdGVDb250YWluZXIiLCJjc3MiLCJjcmVhdGVDc3MiLCJpc1Zpc2libGUiLCJpc0J1aWxkaW5nIiwidGltZW91dElkIiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwiZXZlbnQiLCJkYXRhIiwiaGFuZGxlTWVzc2FnZSIsImUiLCJvYmoiLCJhY3Rpb24iLCJKU09OIiwicGFyc2UiLCJjbGVhclRpbWVvdXQiLCJ1cGRhdGVDb250YWluZXIiLCJzZXRUaW1lb3V0IiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwiaW5uZXJIVE1MIiwicGFyYW0iLCJ0ZXh0Q29udGVudCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/dev-build-watcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js ***! - \************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occured in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS9mb3JtYXQtd2VicGFjay1tZXNzYWdlcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQSxHQUFnQjtBQUNoQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLGFBQWEsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNEZBQStCO0FBQ25HLHFLQUFxSztBQUNySywwREFBMEQ7QUFDMUQsTUFBTUcsMkJBQTJCO0FBQ2pDLE1BQU1DLG9DQUFvQztBQUMxQyxTQUFTQyxxQkFBcUJDLE9BQU87SUFDakMsT0FBTyxDQUFDLEdBQUdMLFdBQVdNLE9BQU8sRUFBRUQsU0FBU0UsUUFBUSxDQUFDTDtBQUNyRDtBQUNBLElBQUlNLHNCQUFzQjtBQUMxQixvQ0FBb0M7QUFDcEMsU0FBU0MsY0FBY0osT0FBTyxFQUFFSyxPQUFPLEVBQUVDLGVBQWU7SUFDcEQsOENBQThDO0lBQzlDLElBQUksT0FBT04sWUFBWSxZQUFZQSxRQUFRQSxPQUFPLEVBQUU7UUFDaEQsTUFBTU8sc0JBQXNCUCxRQUFRUSxXQUFXLElBQUlSLFFBQVFRLFdBQVcsQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLFFBQVEsQ0FBQyxnRUFBZ0VDLElBQUksQ0FBQ0QsTUFBTUUsVUFBVTtRQUM3SyxJQUFJQyxPQUFPYixRQUFRQSxPQUFPO1FBQzFCLE1BQU1jLHNCQUFzQkQsS0FBS0UsT0FBTyxDQUFDakI7UUFDekMsSUFBSWdCLHVCQUF1QixHQUFHO1lBQzFCRCxPQUFPQSxLQUFLRyxLQUFLLENBQUMsR0FBR0Y7UUFDekI7UUFDQWQsVUFBVSxD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UVAsZUFBZSxDQUFDTSxFQUFFO1FBQ2hDLElBQUlDLE1BQU03QyxRQUFRLENBQUMsK0JBQStCO1lBQzlDMkMsNkJBQTZCQztZQUM3QjtRQUNKO0lBQ0o7SUFDQSw4REFBOEQ7SUFDOUQsSUFBSUQsK0JBQStCLENBQUMsR0FBRztRQUNuQyxNQUFNRSxRQUFRUCxnQkFBZ0JOLE1BQU0sQ0FBQ1csNEJBQTRCO1FBQ2pFTCxnQkFBZ0JRLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7SUFDcEM7SUFDQSxNQUFNRSxTQUFTO1FBQ1gsR0FBR1YsSUFBSTtRQUNQRSxRQUFRRDtRQUNSSSxVQUFVRDtJQUNkO0lBQ0EsSUFBSSxDQUFDdEMsV0FBVzRDLE9BQU9SLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDbkQsdUJBQXVCO1FBQ3RELGtEQUFrRDtRQUNsRGtELE9BQU9SLE1BQU0sR0FBR1EsT0FBT1IsTUFBTSxDQUFDaEMsTUFBTSxDQUFDVjtRQUNyQ2tELE9BQU9MLFFBQVEsR0FBRyxFQUFFO0lBQ3hCO0lBQ0EsT0FBT0s7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPN0QsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDa0QsVUFBVSxLQUFLLGFBQWE7SUFDcktqRSxPQUFPQyxjQUFjLENBQUNDLFFBQVFhLE9BQU8sRUFBRSxjQUFjO1FBQUVaLE9BQU87SUFBSztJQUNuRUgsT0FBT2tFLE1BQU0sQ0FBQ2hFLFFBQVFhLE9BQU8sRUFBRWI7SUFDL0JpRSxPQUFPakUsT0FBTyxHQUFHQSxRQUFRYSxPQUFPO0FBQ2xDLEVBRUEsbURBQW1EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9lcnJvci1vdmVybGF5L2Zvcm1hdC13ZWJwYWNrLW1lc3NhZ2VzLmpzPzc1ZWMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxub2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xudG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG5mdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG5BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG5MSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcblNPRlRXQVJFLlxuKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXZWJwYWNrTWVzc2FnZXM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3N0cmlwYW5zaSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpXCIpKTtcbi8vIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svY3JlYXRlLXJlYWN0LWFwcC9ibG9iLzdiMWEzMmJlNmVjOWY5OWE2YzlhM2M2NjgxM2YzYWMwOWM0NzM2YjkvcGFja2FnZXMvcmVhY3QtZGV2LXV0aWxzL2Zvcm1hdFdlYnBhY2tNZXNzYWdlcy5qc1xuLy8gSXQncyBiZWVuIGVkaXRlZCB0byByZW1vdmUgY2hhbGsgYW5kIENSQS1zcGVjaWZpYyBsb2dpY1xuY29uc3QgZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsID0gXCJTeW50YXggZXJyb3I6XCI7XG5jb25zdCBXRUJQQUNLX0JSRUFLSU5HX0NIQU5HRV9QT0xZRklMTFMgPSBcIlxcblxcbkJSRUFLSU5HIENIQU5HRTogd2VicGFjayA8IDUgdXNlZCB0byBpbmNsdWRlIHBvbHlmaWxscyBmb3Igbm9kZS5qcyBjb3JlIG1vZHVsZXMgYnkgZGVmYXVsdC5cIjtcbmZ1bmN0aW9uIGlzTGlrZWx5QVN5bnRheEVycm9yKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkobWVzc2FnZSkuaW5jbHVkZXMoZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsKTtcbn1cbmxldCBoYWRNaXNzaW5nU2Fzc0Vycm9yID0gZmFsc2U7XG4vLyBDbGVhbnMgdXAgd2VicGFjayBlcnJvciBtZXNzYWdlcy5cbmZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2UobWVzc2FnZSwgdmVyYm9zZSwgaW1wb3J0VHJhY2VOb3RlKSB7XG4gICAgLy8gVE9ETzogUmVwbGFjZSB0aGlzIG9uY2Ugd2VicGFjayA1IGlzIHN0YWJsZVxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gXCJvYmplY3RcIiAmJiBtZXNzYWdlLm1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRNb2R1bGVUcmFjZSA9IG1lc3NhZ2UubW9kdWxlVHJhY2UgJiYgbWVzc2FnZS5tb2R1bGVUcmFjZS5maWx0ZXIoKHRyYWNlKT0+IS9uZXh0LShtaWRkbGV3YXJlfGNsaWVudC1wYWdlc3xyb3V0ZXxlZGdlLWZ1bmN0aW9uKS1sb2FkZXJcXC5qcy8udGVzdCh0cmFjZS5vcmlnaW5OYW1lKSk7XG4gICAgICAgIGxldCBib2R5ID0gbWVzc2FnZS5tZXNzYWdlO1xuICAgICAgICBjb25zdCBicmVha2luZ0NoYW5nZUluZGV4ID0gYm9keS5pbmRleE9mKFdFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyk7XG4gICAgICAgIGlmIChicmVha2luZ0NoYW5nZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGJvZHkgPSBib2R5LnNsaWNlKDAsIGJyZWFraW5nQ2hhbmdlSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIG1lc3NhZ2UgPSAobWVzc2FnZS5tb2R1bGVOYW1lID8gKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkobWVzc2FnZS5tb2R1bGVOYW1lKSArIFwiXFxuXCIgOiBcIlwiKSArIChtZXNzYWdlLmZpbGUgPyAoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShtZXNzYWdlLmZpbGUpICsgXCJcXG5cIiA6IFwiXCIpICsgYm9keSArIChtZXNzYWdlLmRldGFpbHMgJiYgdmVyYm9zZSA/IFwiXFxuXCIgKyBtZXNzYWdlLmRldGFpbHMgOiBcIlwiKSArIChmaWx0ZXJlZE1vZHVsZVRyYWNlICYmIGZpbHRlcmVkTW9kdWxlVHJhY2UubGVuZ3RoID8gKGltcG9ydFRyYWNlTm90ZSB8fCBcIlxcblxcbkltcG9ydCB0cmFjZSBmb3IgcmVxdWVzdGVkIG1vZHVsZTpcIikgKyBmaWx0ZXJlZE1vZHVsZVRyYWNlLm1hcCgodHJhY2UpPT5cIlxcblwiICsgdHJhY2UubW9kdWxlTmFtZSkuam9pbihcIlwiKSA6IFwiXCIpICsgKG1lc3NhZ2Uuc3RhY2sgJiYgdmVyYm9zZSA/IFwiXFxuXCIgKyBtZXNzYWdlLnN0YWNrIDogXCJcIik7XG4gICAgfVxuICAgIGxldCBsaW5lcyA9IG1lc3NhZ2Uuc3BsaXQoXCJcXG5cIik7XG4gICAgLy8gU3RyaXAgV2VicGFjay1hZGRlZCBoZWFkZXJzIG9mZiBlcnJvcnMvd2FybmluZ3NcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrL2Jsb2IvbWFzdGVyL2xpYi9Nb2R1bGVFcnJvci5qc1xuICAgIGxpbmVzID0gbGluZXMuZmlsdGVyKChsaW5lKT0+IS9Nb2R1bGUgW0EteiBdK1xcKGZyb20vLnRlc3QobGluZSkpO1xuICAgIC8vIFRyYW5zZm9ybSBwYXJzaW5nIGVycm9yIGludG8gc3ludGF4IGVycm9yXG4gICAgLy8gVE9ETzogbW92ZSB0aGlzIHRvIG91ciBFU0xpbnQgZm9ybWF0dGVyP1xuICAgIGxpbmVzID0gbGluZXMubWFwKChsaW5lKT0+e1xuICAgICAgICBjb25zdCBwYXJzaW5nRXJyb3IgPSAvTGluZSAoXFxkKyk6KD86KFxcZCspOik/XFxzKlBhcnNpbmcgZXJyb3I6ICguKykkLy5leGVjKGxpbmUpO1xuICAgICAgICBpZiAoIXBhcnNpbmdFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGxpbmU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgWywgZXJyb3JMaW5lLCBlcnJvckNvbHVtbiwgZXJyb3JNZXNzYWdlXSA9IHBhcnNpbmdFcnJvcjtcbiAgICAgICAgcmV0dXJuIGZyaWVuZGx5U3ludGF4RXJyb3JMYWJlbCArIFwiIFwiICsgZXJyb3JNZXNzYWdlICsgXCIgKFwiICsgZXJyb3JMaW5lICsgXCI6XCIgKyBlcnJvckNvbHVtbiArIFwiKVwiO1xuICAgIH0pO1xuICAgIG1lc3NhZ2UgPSBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIC8vIFNtb29zaCBzeW50YXggZXJyb3JzIChjb21tb25seSBmb3VuZCBpbiBDU1MpXG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvU3ludGF4RXJyb3JcXHMrXFwoKFxcZCspOihcXGQrKVxcKVxccyooLis/KVxcbi9nLCBcIlwiICsgZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsICsgXCIgJDMgKCQxOiQyKVxcblwiKTtcbiAgICAvLyBDbGVhbiB1cCBleHBvcnQgZXJyb3JzXG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvXi4qZXhwb3J0ICcoLis/KScgd2FzIG5vdCBmb3VuZCBpbiAnKC4rPyknLiokL2dtLCBcIkF0dGVtcHRlZCBpbXBvcnQgZXJyb3I6ICckMScgaXMgbm90IGV4cG9ydGVkIGZyb20gJyQyJy5cIik7XG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvXi4qZXhwb3J0ICdkZWZhdWx0JyBcXChpbXBvcnRlZCBhcyAnKC4rPyknXFwpIHdhcyBub3QgZm91bmQgaW4gJyguKz8pJy4qJC9nbSwgXCJBdHRlbXB0ZWQgaW1wb3J0IGVycm9yOiAnJDInIGRvZXMgbm90IGNvbnRhaW4gYSBkZWZhdWx0IGV4cG9ydCAoaW1wb3J0ZWQgYXMgJyQxJykuXCIpO1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL14uKmV4cG9ydCAnKC4rPyknIFxcKGltcG9ydGVkIGFzICcoLis/KSdcXCkgd2FzIG5vdCBmb3VuZCBpbiAnKC4rPyknLiokL2dtLCBcIkF0dGVtcHRlZCBpbXBvcnQgZXJyb3I6ICckMScgaXMgbm90IGV4cG9ydGVkIGZyb20gJyQzJyAoaW1wb3J0ZWQgYXMgJyQyJykuXCIpO1xuICAgIGxpbmVzID0gbWVzc2FnZS5zcGxpdChcIlxcblwiKTtcbiAgICAvLyBSZW1vdmUgbGVhZGluZyBuZXdsaW5lXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDIgJiYgbGluZXNbMV0udHJpbSgpID09PSBcIlwiKSB7XG4gICAgICAgIGxpbmVzLnNwbGljZSgxLCAxKTtcbiAgICB9XG4gICAgLy8gQ2xlYW5zIHVwIHZlcmJvc2UgXCJtb2R1bGUgbm90IGZvdW5kXCIgbWVzc2FnZXMgZm9yIGZpbGVzIGFuZCBwYWNrYWdlcy5cbiAgICBpZiAobGluZXNbMV0gJiYgbGluZXNbMV0uaW5kZXhPZihcIk1vZHVsZSBub3QgZm91bmQ6IFwiKSA9PT0gMCkge1xuICAgICAgICBsaW5lcyA9IFtcbiAgICAgICAgICAgIGxpbmVzWzBdLFxuICAgICAgICAgICAgbGluZXNbMV0ucmVwbGFjZShcIkVycm9yOiBcIiwgXCJcIikucmVwbGFjZShcIk1vZHVsZSBub3QgZm91bmQ6IENhbm5vdCBmaW5kIGZpbGU6XCIsIFwiQ2Fubm90IGZpbmQgZmlsZTpcIiksXG4gICAgICAgICAgICAuLi5saW5lcy5zbGljZSgyKVxuICAgICAgICBdO1xuICAgIH1cbiAgICAvLyBBZGQgaGVscGZ1bCBtZXNzYWdlIGZvciB1c2VycyB0cnlpbmcgdG8gdXNlIFNhc3MgZm9yIHRoZSBmaXJzdCB0aW1lXG4gICAgaWYgKGxpbmVzWzFdICYmIGxpbmVzWzFdLm1hdGNoKC9DYW5ub3QgZmluZCBtb2R1bGUuK3Nhc3MvKSkge1xuICAgICAgICAvLyAuL2ZpbGUubW9kdWxlLnNjc3MgKDw8bG9hZGVyIGluZm8+PikgPT4gLi9maWxlLm1vZHVsZS5zY3NzXG4gICAgICAgIGNvbnN0IGZpcnN0TGluZSA9IGxpbmVzWzBdLnNwbGl0KFwiIVwiKTtcbiAgICAgICAgbGluZXNbMF0gPSBmaXJzdExpbmVbZmlyc3RMaW5lLmxlbmd0aCAtIDFdO1xuICAgICAgICBsaW5lc1sxXSA9IFwiVG8gdXNlIE5leHQuanMnIGJ1aWx0LWluIFNhc3Mgc3VwcG9ydCwgeW91IGZpcnN0IG5lZWQgdG8gaW5zdGFsbCBgc2Fzc2AuXFxuXCI7XG4gICAgICAgIGxpbmVzWzFdICs9IFwiUnVuIGBucG0gaSBzYXNzYCBvciBgeWFybiBhZGQgc2Fzc2AgaW5zaWRlIHlvdXIgd29ya3NwYWNlLlxcblwiO1xuICAgICAgICBsaW5lc1sxXSArPSBcIlxcbkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2luc3RhbGwtc2Fzc1wiO1xuICAgICAgICAvLyBkaXNwb3NlIG9mIHVuaGVscGZ1bCBzdGFjayB0cmFjZVxuICAgICAgICBsaW5lcyA9IGxpbmVzLnNsaWNlKDAsIDIpO1xuICAgICAgICBoYWRNaXNzaW5nU2Fzc0Vycm9yID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGhhZE1pc3NpbmdTYXNzRXJyb3IgJiYgbWVzc2FnZS5tYXRjaCgvKHNhc3MtbG9hZGVyfHJlc29sdmUtdXJsLWxvYWRlcjogQ1NTIGVycm9yKS8pKSB7XG4gICAgICAgIC8vIGRpc3Bvc2Ugb2YgdW5oZWxwZnVsIHN0YWNrIHRyYWNlIGZvbGxvd2luZyBtaXNzaW5nIHNhc3MgbW9kdWxlXG4gICAgICAgIGxpbmVzID0gW107XG4gICAgfVxuICAgIGlmICghdmVyYm9zZSkge1xuICAgICAgICBtZXNzYWdlID0gbGluZXMuam9pbihcIlxcblwiKTtcbiAgICAgICAgLy8gSW50ZXJuYWwgc3RhY2tzIGFyZSBnZW5lcmFsbHkgdXNlbGVzcyBzbyB3ZSBzdHJpcCB0aGVtLi4uIHdpdGggdGhlXG4gICAgICAgIC8vIGV4Y2VwdGlvbiBvZiBzdGFja3MgY29udGFpbmluZyBgd2VicGFjazpgIGJlY2F1c2UgdGhleSdyZSBub3JtYWxseVxuICAgICAgICAvLyBmcm9tIHVzZXIgY29kZSBnZW5lcmF0ZWQgYnkgV2VicGFjay4gRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9jcmVhdGUtcmVhY3QtYXBwL3B1bGwvMTA1MFxuICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9eXFxzKmF0XFxzKCg/IXdlYnBhY2s6KS4pKjpcXGQrOlxcZCtbXFxzKV0qKFxcbnwkKS9nbSwgXCJcIikgLy8gYXQgLi4uIC4uLjp4OnlcbiAgICAgICAgO1xuICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9eXFxzKmF0XFxzPGFub255bW91cz4oXFxufCQpL2dtLCBcIlwiKSAvLyBhdCA8YW5vbnltb3VzPlxuICAgICAgICA7XG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL0ZpbGUgd2FzIHByb2Nlc3NlZCB3aXRoIHRoZXNlIGxvYWRlcnM6XFxuKC4rW1xcXFwvXShuZXh0W1xcXFwvXWRpc3RbXFxcXC9dLit8QG5leHRbXFxcXC9dcmVhY3QtcmVmcmVzaC11dGlsc1tcXFxcL11sb2FkZXIpXFwuanNcXG4pKllvdSBtYXkgbmVlZCBhbiBhZGRpdGlvbmFsIGxvYWRlciB0byBoYW5kbGUgdGhlIHJlc3VsdCBvZiB0aGVzZSBsb2FkZXJzLlxcbi9nLCBcIlwiKTtcbiAgICAgICAgbGluZXMgPSBtZXNzYWdlLnNwbGl0KFwiXFxuXCIpO1xuICAgIH1cbiAgICAvLyBSZW1vdmUgZHVwbGljYXRlZCBuZXdsaW5lc1xuICAgIGxpbmVzID0gbGluZXMuZmlsdGVyKChsaW5lLCBpbmRleCwgYXJyKT0+aW5kZXggPT09IDAgfHwgbGluZS50cmltKCkgIT09IFwiXCIgfHwgbGluZS50cmltKCkgIT09IGFycltpbmRleCAtIDFdLnRyaW0oKSk7XG4gICAgLy8gUmVhc3NlbWJsZSB0aGUgbWVzc2FnZVxuICAgIG1lc3NhZ2UgPSBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIHJldHVybiBtZXNzYWdlLnRyaW0oKTtcbn1cbmZ1bmN0aW9uIGZvcm1hdFdlYnBhY2tNZXNzYWdlcyhqc29uLCB2ZXJib3NlKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkRXJyb3JzID0ganNvbi5lcnJvcnMubWFwKChtZXNzYWdlKT0+e1xuICAgICAgICBjb25zdCBpc1Vua25vd25OZXh0Rm9udEVycm9yID0gbWVzc2FnZS5tZXNzYWdlLmluY2x1ZGVzKFwiQW4gZXJyb3Igb2NjdXJlZCBpbiBgbmV4dC9mb250YC5cIik7XG4gICAgICAgIHJldHVybiBmb3JtYXRNZXNzYWdlKG1lc3NhZ2UsIGlzVW5rbm93bk5leHRGb250RXJyb3IgfHwgdmVyYm9zZSk7XG4gICAgfSk7XG4gICAgY29uc3QgZm9ybWF0dGVkV2FybmluZ3MgPSBqc29uLndhcm5pbmdzLm1hcCgobWVzc2FnZSk9PntcbiAgICAgICAgcmV0dXJuIGZvcm1hdE1lc3NhZ2UobWVzc2FnZSwgdmVyYm9zZSk7XG4gICAgfSk7XG4gICAgLy8gUmVvcmRlciBlcnJvcnMgdG8gcHV0IHRoZSBtb3N0IHJlbGV2YW50IG9uZXMgZmlyc3QuXG4gICAgbGV0IHJlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yID0gLTE7XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGZvcm1hdHRlZEVycm9ycy5sZW5ndGg7IGkrKyl7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZm9ybWF0dGVkRXJyb3JzW2ldO1xuICAgICAgICBpZiAoZXJyb3IuaW5jbHVkZXMoXCJSZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvclwiKSkge1xuICAgICAgICAgICAgcmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgPSBpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gTW92ZSB0aGUgcmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgdG8gdGhlIHRvcCBpZiBpdCBleGlzdHNcbiAgICBpZiAocmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZm9ybWF0dGVkRXJyb3JzLnNwbGljZShyZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciwgMSk7XG4gICAgICAgIGZvcm1hdHRlZEVycm9ycy51bnNoaWZ0KGVycm9yWzBdKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAuLi5qc29uLFxuICAgICAgICBlcnJvcnM6IGZvcm1hdHRlZEVycm9ycyxcbiAgICAgICAgd2FybmluZ3M6IGZvcm1hdHRlZFdhcm5pbmdzXG4gICAgfTtcbiAgICBpZiAoIXZlcmJvc2UgJiYgcmVzdWx0LmVycm9ycy5zb21lKGlzTGlrZWx5QVN5bnRheEVycm9yKSkge1xuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgYW55IHN5bnRheCBlcnJvcnMsIHNob3cganVzdCB0aGVtLlxuICAgICAgICByZXN1bHQuZXJyb3JzID0gcmVzdWx0LmVycm9ycy5maWx0ZXIoaXNMaWtlbHlBU3ludGF4RXJyb3IpO1xuICAgICAgICByZXN1bHQud2FybmluZ3MgPSBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0LXdlYnBhY2stbWVzc2FnZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZvcm1hdFdlYnBhY2tNZXNzYWdlcyIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfc3RyaXBhbnNpIiwiXyIsImZyaWVuZGx5U3ludGF4RXJyb3JMYWJlbCIsIldFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyIsImlzTGlrZWx5QVN5bnRheEVycm9yIiwibWVzc2FnZSIsImRlZmF1bHQiLCJpbmNsdWRlcyIsImhhZE1pc3NpbmdTYXNzRXJyb3IiLCJmb3JtYXRNZXNzYWdlIiwidmVyYm9zZSIsImltcG9ydFRyYWNlTm90ZSIsImZpbHRlcmVkTW9kdWxlVHJhY2UiLCJtb2R1bGVUcmFjZSIsImZpbHRlciIsInRyYWNlIiwidGVzdCIsIm9yaWdpbk5hbWUiLCJib2R5IiwiYnJlYWtpbmdDaGFuZ2VJbmRleCIsImluZGV4T2YiLCJzbGljZSIsIm1vZHVsZU5hbWUiLCJmaWxlIiwiZGV0YWlscyIsImxlbmd0aCIsIm1hcCIsImpvaW4iLCJzdGFjayIsImxpbmVzIiwic3BsaXQiLCJsaW5lIiwicGFyc2luZ0Vycm9yIiwiZXhlYyIsImVycm9yTGluZSIsImVycm9yQ29sdW1uIiwiZXJyb3JNZXNzYWdlIiwicmVwbGFjZSIsInRyaW0iLCJzcGxpY2UiLCJtYXRjaCIsImZpcnN0TGluZSIsImluZGV4IiwiYXJyIiwianNvbiIsImZvcm1hdHRlZEVycm9ycyIsImVycm9ycyIsImlzVW5rbm93bk5leHRGb250RXJyb3IiLCJmb3JtYXR0ZWRXYXJuaW5ncyIsIndhcm5pbmdzIiwicmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IiLCJpIiwiZXJyb3IiLCJ1bnNoaWZ0IiwicmVzdWx0Iiwic29tZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/error-overlay/hot-dev-client.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/error-overlay/hot-dev-client.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type. Fix no-use-before-define violations.\n/* eslint-disable @typescript-eslint/no-use-before-define */ /**\n * MIT License\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */ // This file is a modified version of the Create React App HMR dev client that\n// can be found here:\n// https://github.com/facebook/create-react-app/blob/v3.4.1/packages/react-dev-utils/webpackHotDevClient.js\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return connect;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _client = __webpack_require__(/*! next/dist/compiled/@next/react-dev-overlay/dist/client */ \"./node_modules/next/dist/compiled/@next/react-dev-overlay/dist/client.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _websocket = __webpack_require__(/*! ./websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./format-webpack-messages */ \"./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\"));\nwindow.__nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet hadRuntimeError = false;\nlet customHmrEventHandler;\nfunction connect() {\n (0, _client.register)();\n (0, _websocket.addMessageListener)((event)=>{\n try {\n const payload = JSON.parse(event.data);\n if (!(\"action\" in payload)) return;\n processMessage(payload);\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n });\n return {\n subscribeToHmrEvent (handler) {\n customHmrEventHandler = handler;\n },\n onUnrecoverableError () {\n hadRuntimeError = true;\n }\n };\n}\n// Remember some state related to hot module replacement.\nvar isFirstCompilation = true;\nvar mostRecentCompilationHash = null;\nvar hasCompileErrors = false;\nfunction clearOutdatedErrors() {\n // Clean up outdated compile errors, if any.\n if (typeof console !== \"undefined\" && typeof console.clear === \"function\") {\n if (hasCompileErrors) {\n console.clear();\n }\n }\n}\n// Successful compilation.\nfunction handleSuccess() {\n clearOutdatedErrors();\n const isHotUpdate = !isFirstCompilation || window.__NEXT_DATA__.page !== \"/_error\" && isUpdateAvailable();\n isFirstCompilation = false;\n hasCompileErrors = false;\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);\n }\n}\n// Compilation with warnings (e.g. ESLint).\nfunction handleWarnings(warnings) {\n clearOutdatedErrors();\n const isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n function printWarnings() {\n // Print warnings to the console.\n const formatted = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n if (typeof console !== \"undefined\" && typeof console.warn === \"function\") {\n var _formatted_warnings;\n for(let i = 0; i < ((_formatted_warnings = formatted.warnings) == null ? void 0 : _formatted_warnings.length); i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formatted.warnings[i]));\n }\n }\n }\n printWarnings();\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);\n }\n}\n// Compilation with errors (e.g. syntax error or missing modules).\nfunction handleErrors(errors) {\n clearOutdatedErrors();\n isFirstCompilation = false;\n hasCompileErrors = true;\n // \"Massage\" webpack messages.\n var formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n (0, _client.onBuildError)(formatted.errors[0]);\n // Also log them to the console.\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n for(var i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n}\nlet startLatency = undefined;\nfunction onBeforeFastRefresh(hasUpdates) {\n if (hasUpdates) {\n // Only trigger a pending state if we have updates to apply\n // (cf. onFastRefresh)\n (0, _client.onBeforeRefresh)();\n }\n}\nfunction onFastRefresh(hasUpdates) {\n (0, _client.onBuildOk)();\n if (hasUpdates) {\n // Only complete a pending state if we applied updates\n // (cf. onBeforeFastRefresh)\n (0, _client.onRefresh)();\n }\n if (startLatency) {\n const endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency\n }));\n if (self.__NEXT_HMR_LATENCY_CB) {\n self.__NEXT_HMR_LATENCY_CB(latency);\n }\n }\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n// Handle messages from the server.\nfunction processMessage(obj) {\n switch(obj.action){\n case \"building\":\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case \"built\":\n case \"sync\":\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n const hasErrors = Boolean(errors && errors.length);\n if (hasErrors) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: window.__nextDevClientId\n }));\n return handleErrors(errors);\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: window.__nextDevClientId\n }));\n return handleWarnings(warnings);\n }\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-success\",\n clientId: window.__nextDevClientId\n }));\n return handleSuccess();\n }\n case \"serverComponentChanges\":\n {\n window.location.reload();\n return;\n }\n case \"serverError\":\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n default:\n {\n if (customHmrEventHandler) {\n customHmrEventHandler(obj);\n break;\n }\n break;\n }\n }\n}\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.addStatusHandler(handler);\n }\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeHotUpdate, onHotUpdateSuccess) {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n if (false) {}\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n (0, _client.onBuildOk)();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (hadRuntimeError) {\n console.warn(\"[Fast Refresh] performing full reload because your application had an unrecoverable error\");\n }\n performFullReload(err);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(hasUpdates);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n // However, this time, don't trigger a pending refresh state.\n tryApplyUpdates(hasUpdates ? undefined : onBeforeHotUpdate, hasUpdates ? _client.onBuildOk : onHotUpdateSuccess);\n } else {\n (0, _client.onBuildOk)();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeHotUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeHotUpdate(hasUpdates);\n }\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\nfunction performFullReload(err) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!hadRuntimeError\n }));\n window.location.reload();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-dev-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS9ob3QtZGV2LWNsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx1RUFBdUU7QUFDdkUsMERBQTBELEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQjVELEdBQUcsOEVBQThFO0FBQ2xGLHFCQUFxQjtBQUNyQiwyR0FBMkc7QUFDOUY7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLFVBQVVELG1CQUFPQSxDQUFDLHdJQUF3RDtBQUNoRixNQUFNRSxhQUFhLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLDRGQUErQjtBQUNuRyxNQUFNSSxhQUFhSixtQkFBT0EsQ0FBQyxtRkFBYTtBQUN4QyxNQUFNSyx5QkFBeUIsV0FBVyxHQUFHTix5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsK0dBQTJCO0FBQzNHTSxPQUFPQyxpQkFBaUIsR0FBR0MsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUssTUFBTUMsS0FBS0MsR0FBRztBQUNwRSxJQUFJQyxrQkFBa0I7QUFDdEIsSUFBSUM7QUFDSixTQUFTaEI7SUFDSixJQUFHRyxRQUFRYyxRQUFRO0lBQ25CLElBQUdYLFdBQVdZLGtCQUFrQixFQUFFLENBQUNDO1FBQ2hDLElBQUk7WUFDQSxNQUFNQyxVQUFVQyxLQUFLQyxLQUFLLENBQUNILE1BQU1JLElBQUk7WUFDckMsSUFBSSxDQUFFLGFBQVlILE9BQU0sR0FBSTtZQUM1QkksZUFBZUo7UUFDbkIsRUFBRSxPQUFPSyxLQUFLO1lBQ1YsSUFBSUM7WUFDSkMsUUFBUUMsSUFBSSxDQUFDLDRCQUE0QlQsTUFB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T0FBTyxFQUFFLGNBQWM7UUFBRXJELE9BQU87SUFBSztJQUNuRUgsT0FBT3lILE1BQU0sQ0FBQ3ZILFFBQVFzRCxPQUFPLEVBQUV0RDtJQUMvQm1HLE9BQU9uRyxPQUFPLEdBQUdBLFFBQVFzRCxPQUFPO0FBQ2xDLEVBRUEsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9lcnJvci1vdmVybGF5L2hvdC1kZXYtY2xpZW50LmpzPzE2MDAiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogUmVtb3ZlIHVzZSBvZiBgYW55YCB0eXBlLiBGaXggbm8tdXNlLWJlZm9yZS1kZWZpbmUgdmlvbGF0aW9ucy5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqLyAvKipcbiAqIE1JVCBMaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqLyAvLyBUaGlzIGZpbGUgaXMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBDcmVhdGUgUmVhY3QgQXBwIEhNUiBkZXYgY2xpZW50IHRoYXRcbi8vIGNhbiBiZSBmb3VuZCBoZXJlOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvYmxvYi92My40LjEvcGFja2FnZXMvcmVhY3QtZGV2LXV0aWxzL3dlYnBhY2tIb3REZXZDbGllbnQuanNcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29ubmVjdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfY2xpZW50ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9AbmV4dC9yZWFjdC1kZXYtb3ZlcmxheS9kaXN0L2NsaWVudFwiKTtcbmNvbnN0IF9zdHJpcGFuc2kgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaVwiKSk7XG5jb25zdCBfd2Vic29ja2V0ID0gcmVxdWlyZShcIi4vd2Vic29ja2V0XCIpO1xuY29uc3QgX2Zvcm1hdHdlYnBhY2ttZXNzYWdlcyA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vZm9ybWF0LXdlYnBhY2stbWVzc2FnZXNcIikpO1xud2luZG93Ll9fbmV4dERldkNsaWVudElkID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwICsgRGF0ZS5ub3coKSk7XG5sZXQgaGFkUnVudGltZUVycm9yID0gZmFsc2U7XG5sZXQgY3VzdG9tSG1yRXZlbnRIYW5kbGVyO1xuZnVuY3Rpb24gY29ubmVjdCgpIHtcbiAgICAoMCwgX2NsaWVudC5yZWdpc3RlcikoKTtcbiAgICAoMCwgX3dlYnNvY2tldC5hZGRNZXNzYWdlTGlzdGVuZXIpKChldmVudCk9PntcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xuICAgICAgICAgICAgaWYgKCEoXCJhY3Rpb25cIiBpbiBwYXlsb2FkKSkgcmV0dXJuO1xuICAgICAgICAgICAgcHJvY2Vzc01lc3NhZ2UocGF5bG9hZCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdmFyIF9lcnJfc3RhY2s7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbSE1SXSBJbnZhbGlkIG1lc3NhZ2U6IFwiICsgZXZlbnQuZGF0YSArIFwiXFxuXCIgKyAoKF9lcnJfc3RhY2sgPSBlcnIgPT0gbnVsbCA/IHZvaWQgMCA6IGVyci5zdGFjaykgIT0gbnVsbCA/IF9lcnJfc3RhY2sgOiBcIlwiKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBzdWJzY3JpYmVUb0htckV2ZW50IChoYW5kbGVyKSB7XG4gICAgICAgICAgICBjdXN0b21IbXJFdmVudEhhbmRsZXIgPSBoYW5kbGVyO1xuICAgICAgICB9LFxuICAgICAgICBvblVucmVjb3ZlcmFibGVFcnJvciAoKSB7XG4gICAgICAgICAgICBoYWRSdW50aW1lRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbi8vIFJlbWVtYmVyIHNvbWUgc3RhdGUgcmVsYXRlZCB0byBob3QgbW9kdWxlIHJlcGxhY2VtZW50LlxudmFyIGlzRmlyc3RDb21waWxhdGlvbiA9IHRydWU7XG52YXIgbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCA9IG51bGw7XG52YXIgaGFzQ29tcGlsZUVycm9ycyA9IGZhbHNlO1xuZnVuY3Rpb24gY2xlYXJPdXRkYXRlZEVycm9ycygpIHtcbiAgICAvLyBDbGVhbiB1cCBvdXRkYXRlZCBjb21waWxlIGVycm9ycywgaWYgYW55LlxuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2YgY29uc29sZS5jbGVhciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGlmIChoYXNDb21waWxlRXJyb3JzKSB7XG4gICAgICAgICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBTdWNjZXNzZnVsIGNvbXBpbGF0aW9uLlxuZnVuY3Rpb24gaGFuZGxlU3VjY2VzcygpIHtcbiAgICBjbGVhck91dGRhdGVkRXJyb3JzKCk7XG4gICAgY29uc3QgaXNIb3RVcGRhdGUgPSAhaXNGaXJzdENvbXBpbGF0aW9uIHx8IHdpbmRvdy5fX05FWFRfREFUQV9fLnBhZ2UgIT09IFwiL19lcnJvclwiICYmIGlzVXBkYXRlQXZhaWxhYmxlKCk7XG4gICAgaXNGaXJzdENvbXBpbGF0aW9uID0gZmFsc2U7XG4gICAgaGFzQ29tcGlsZUVycm9ycyA9IGZhbHNlO1xuICAgIC8vIEF0dGVtcHQgdG8gYXBwbHkgaG90IHVwZGF0ZXMgb3IgcmVsb2FkLlxuICAgIGlmIChpc0hvdFVwZGF0ZSkge1xuICAgICAgICB0cnlBcHBseVVwZGF0ZXMob25CZWZvcmVGYXN0UmVmcmVzaCwgb25GYXN0UmVmcmVzaCk7XG4gICAgfVxufVxuLy8gQ29tcGlsYXRpb24gd2l0aCB3YXJuaW5ncyAoZS5nLiBFU0xpbnQpLlxuZnVuY3Rpb24gaGFuZGxlV2FybmluZ3Mod2FybmluZ3MpIHtcbiAgICBjbGVhck91dGRhdGVkRXJyb3JzKCk7XG4gICAgY29uc3QgaXNIb3RVcGRhdGUgPSAhaXNGaXJzdENvbXBpbGF0aW9uO1xuICAgIGlzRmlyc3RDb21waWxhdGlvbiA9IGZhbHNlO1xuICAgIGhhc0NvbXBpbGVFcnJvcnMgPSBmYWxzZTtcbiAgICBmdW5jdGlvbiBwcmludFdhcm5pbmdzKCkge1xuICAgICAgICAvLyBQcmludCB3YXJuaW5ncyB0byB0aGUgY29uc29sZS5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gKDAsIF9mb3JtYXR3ZWJwYWNrbWVzc2FnZXMuZGVmYXVsdCkoe1xuICAgICAgICAgICAgd2FybmluZ3M6IHdhcm5pbmdzLFxuICAgICAgICAgICAgZXJyb3JzOiBbXVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBjb25zb2xlLndhcm4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdmFyIF9mb3JtYXR0ZWRfd2FybmluZ3M7XG4gICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgKChfZm9ybWF0dGVkX3dhcm5pbmdzID0gZm9ybWF0dGVkLndhcm5pbmdzKSA9PSBudWxsID8gdm9pZCAwIDogX2Zvcm1hdHRlZF93YXJuaW5ncy5sZW5ndGgpOyBpKyspe1xuICAgICAgICAgICAgICAgIGlmIChpID09PSA1KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlRoZXJlIHdlcmUgbW9yZSB3YXJuaW5ncyBpbiBvdGhlciBmaWxlcy5cXG5cIiArIFwiWW91IGNhbiBmaW5kIGEgY29tcGxldGUgbG9nIGluIHRoZSB0ZXJtaW5hbC5cIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkoZm9ybWF0dGVkLndhcm5pbmdzW2ldKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpbnRXYXJuaW5ncygpO1xuICAgIC8vIEF0dGVtcHQgdG8gYXBwbHkgaG90IHVwZGF0ZXMgb3IgcmVsb2FkLlxuICAgIGlmIChpc0hvdFVwZGF0ZSkge1xuICAgICAgICB0cnlBcHBseVVwZGF0ZXMob25CZWZvcmVGYXN0UmVmcmVzaCwgb25GYXN0UmVmcmVzaCk7XG4gICAgfVxufVxuLy8gQ29tcGlsYXRpb24gd2l0aCBlcnJvcnMgKGUuZy4gc3ludGF4IGVycm9yIG9yIG1pc3NpbmcgbW9kdWxlcykuXG5mdW5jdGlvbiBoYW5kbGVFcnJvcnMoZXJyb3JzKSB7XG4gICAgY2xlYXJPdXRkYXRlZEVycm9ycygpO1xuICAgIGlzRmlyc3RDb21waWxhdGlvbiA9IGZhbHNlO1xuICAgIGhhc0NvbXBpbGVFcnJvcnMgPSB0cnVlO1xuICAgIC8vIFwiTWFzc2FnZVwiIHdlYnBhY2sgbWVzc2FnZXMuXG4gICAgdmFyIGZvcm1hdHRlZCA9ICgwLCBfZm9ybWF0d2VicGFja21lc3NhZ2VzLmRlZmF1bHQpKHtcbiAgICAgICAgZXJyb3JzOiBlcnJvcnMsXG4gICAgICAgIHdhcm5pbmdzOiBbXVxuICAgIH0pO1xuICAgIC8vIE9ubHkgc2hvdyB0aGUgZmlyc3QgZXJyb3IuXG4gICAgKDAsIF9jbGllbnQub25CdWlsZEVycm9yKShmb3JtYXR0ZWQuZXJyb3JzWzBdKTtcbiAgICAvLyBBbHNvIGxvZyB0aGVtIHRvIHRoZSBjb25zb2xlLlxuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2YgY29uc29sZS5lcnJvciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCBmb3JtYXR0ZWQuZXJyb3JzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkoZm9ybWF0dGVkLmVycm9yc1tpXSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIERvIG5vdCBhdHRlbXB0IHRvIHJlbG9hZCBub3cuXG4gICAgLy8gV2Ugd2lsbCByZWxvYWQgb24gbmV4dCBzdWNjZXNzIGluc3RlYWQuXG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xuICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCKGZvcm1hdHRlZC5lcnJvcnNbMF0pO1xuICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbmxldCBzdGFydExhdGVuY3kgPSB1bmRlZmluZWQ7XG5mdW5jdGlvbiBvbkJlZm9yZUZhc3RSZWZyZXNoKGhhc1VwZGF0ZXMpIHtcbiAgICBpZiAoaGFzVXBkYXRlcykge1xuICAgICAgICAvLyBPbmx5IHRyaWdnZXIgYSBwZW5kaW5nIHN0YXRlIGlmIHdlIGhhdmUgdXBkYXRlcyB0byBhcHBseVxuICAgICAgICAvLyAoY2YuIG9uRmFzdFJlZnJlc2gpXG4gICAgICAgICgwLCBfY2xpZW50Lm9uQmVmb3JlUmVmcmVzaCkoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBvbkZhc3RSZWZyZXNoKGhhc1VwZGF0ZXMpIHtcbiAgICAoMCwgX2NsaWVudC5vbkJ1aWxkT2spKCk7XG4gICAgaWYgKGhhc1VwZGF0ZXMpIHtcbiAgICAgICAgLy8gT25seSBjb21wbGV0ZSBhIHBlbmRpbmcgc3RhdGUgaWYgd2UgYXBwbGllZCB1cGRhdGVzXG4gICAgICAgIC8vIChjZi4gb25CZWZvcmVGYXN0UmVmcmVzaClcbiAgICAgICAgKDAsIF9jbGllbnQub25SZWZyZXNoKSgpO1xuICAgIH1cbiAgICBpZiAoc3RhcnRMYXRlbmN5KSB7XG4gICAgICAgIGNvbnN0IGVuZExhdGVuY3kgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBsYXRlbmN5ID0gZW5kTGF0ZW5jeSAtIHN0YXJ0TGF0ZW5jeTtcbiAgICAgICAgY29uc29sZS5sb2coXCJbRmFzdCBSZWZyZXNoXSBkb25lIGluIFwiICsgbGF0ZW5jeSArIFwibXNcIik7XG4gICAgICAgICgwLCBfd2Vic29ja2V0LnNlbmRNZXNzYWdlKShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBldmVudDogXCJjbGllbnQtaG1yLWxhdGVuY3lcIixcbiAgICAgICAgICAgIGlkOiB3aW5kb3cuX19uZXh0RGV2Q2xpZW50SWQsXG4gICAgICAgICAgICBzdGFydFRpbWU6IHN0YXJ0TGF0ZW5jeSxcbiAgICAgICAgICAgIGVuZFRpbWU6IGVuZExhdGVuY3lcbiAgICAgICAgfSkpO1xuICAgICAgICBpZiAoc2VsZi5fX05FWFRfSE1SX0xBVEVOQ1lfQ0IpIHtcbiAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9MQVRFTkNZX0NCKGxhdGVuY3kpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gVGhlcmUgaXMgYSBuZXdlciB2ZXJzaW9uIG9mIHRoZSBjb2RlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIGhhbmRsZUF2YWlsYWJsZUhhc2goaGFzaCkge1xuICAgIC8vIFVwZGF0ZSBsYXN0IGtub3duIGNvbXBpbGF0aW9uIGhhc2guXG4gICAgbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCA9IGhhc2g7XG59XG4vLyBIYW5kbGUgbWVzc2FnZXMgZnJvbSB0aGUgc2VydmVyLlxuZnVuY3Rpb24gcHJvY2Vzc01lc3NhZ2Uob2JqKSB7XG4gICAgc3dpdGNoKG9iai5hY3Rpb24pe1xuICAgICAgICBjYXNlIFwiYnVpbGRpbmdcIjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzdGFydExhdGVuY3kgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW0Zhc3QgUmVmcmVzaF0gcmVidWlsZGluZ1wiKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBcImJ1aWx0XCI6XG4gICAgICAgIGNhc2UgXCJzeW5jXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNoKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUF2YWlsYWJsZUhhc2gob2JqLmhhc2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycyAsIHdhcm5pbmdzICB9ID0gb2JqO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Vycm9ycyA9IEJvb2xlYW4oZXJyb3JzICYmIGVycm9ycy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNFcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgKDAsIF93ZWJzb2NrZXQuc2VuZE1lc3NhZ2UpKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1lcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JDb3VudDogZXJyb3JzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB3aW5kb3cuX19uZXh0RGV2Q2xpZW50SWRcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlRXJyb3JzKGVycm9ycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc1dhcm5pbmdzID0gQm9vbGVhbih3YXJuaW5ncyAmJiB3YXJuaW5ncy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNXYXJuaW5ncykge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX3dlYnNvY2tldC5zZW5kTWVzc2FnZSkoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2xpZW50LXdhcm5pbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdDb3VudDogd2FybmluZ3MubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHdpbmRvdy5fX25leHREZXZDbGllbnRJZFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVXYXJuaW5ncyh3YXJuaW5ncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICgwLCBfd2Vic29ja2V0LnNlbmRNZXNzYWdlKShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1zdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB3aW5kb3cuX19uZXh0RGV2Q2xpZW50SWRcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZVN1Y2Nlc3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBcInNlcnZlckNvbXBvbmVudENoYW5nZXNcIjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIFwic2VydmVyRXJyb3JcIjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ySlNPTiAgfSA9IG9iajtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JKU09OKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSAsIHN0YWNrICB9ID0gSlNPTi5wYXJzZShlcnJvckpTT04pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3Iuc3RhY2sgPSBzdGFjaztcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXJyb3JzKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKGN1c3RvbUhtckV2ZW50SGFuZGxlcikge1xuICAgICAgICAgICAgICAgICAgICBjdXN0b21IbXJFdmVudEhhbmRsZXIob2JqKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgIH1cbn1cbi8vIElzIHRoZXJlIGEgbmV3ZXIgdmVyc2lvbiBvZiB0aGlzIGNvZGUgYXZhaWxhYmxlP1xuZnVuY3Rpb24gaXNVcGRhdGVBdmFpbGFibGUoKSB7XG4gICAgLyogZ2xvYmFscyBfX3dlYnBhY2tfaGFzaF9fICovIC8vIF9fd2VicGFja19oYXNoX18gaXMgdGhlIGhhc2ggb2YgdGhlIGN1cnJlbnQgY29tcGlsYXRpb24uXG4gICAgLy8gSXQncyBhIGdsb2JhbCB2YXJpYWJsZSBpbmplY3RlZCBieSBXZWJwYWNrLlxuICAgIHJldHVybiBtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoICE9PSBfX3dlYnBhY2tfaGFzaF9fO1xufVxuLy8gV2VicGFjayBkaXNhbGxvd3MgdXBkYXRlcyBpbiBvdGhlciBzdGF0ZXMuXG5mdW5jdGlvbiBjYW5BcHBseVVwZGF0ZXMoKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBtb2R1bGUuaG90IGV4aXN0cyBidXQgdHlwZSBuZWVkcyB0byBiZSBhZGRlZC4gQ2FuJ3QgdXNlIGBhcyBhbnlgIGhlcmUgYXMgd2VicGFjayBwYXJzZXMgZm9yIGBtb2R1bGUuaG90YCBjYWxscy5cbiAgICByZXR1cm4gbW9kdWxlLmhvdC5zdGF0dXMoKSA9PT0gXCJpZGxlXCI7XG59XG5mdW5jdGlvbiBhZnRlckFwcGx5VXBkYXRlcyhmbikge1xuICAgIGlmIChjYW5BcHBseVVwZGF0ZXMoKSkge1xuICAgICAgICBmbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoc3RhdHVzKSB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcImlkbGVcIikge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogbW9kdWxlLmhvdCBleGlzdHMgYnV0IHR5cGUgbmVlZHMgdG8gYmUgYWRkZWQuIENhbid0IHVzZSBgYXMgYW55YCBoZXJlIGFzIHdlYnBhY2sgcGFyc2VzIGZvciBgbW9kdWxlLmhvdGAgY2FsbHMuXG4gICAgICAgICAgICAgICAgbW9kdWxlLmhvdC5yZW1vdmVTdGF0dXNIYW5kbGVyKGhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIGZuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBtb2R1bGUuaG90IGV4aXN0cyBidXQgdHlwZSBuZWVkcyB0byBiZSBhZGRlZC4gQ2FuJ3QgdXNlIGBhcyBhbnlgIGhlcmUgYXMgd2VicGFjayBwYXJzZXMgZm9yIGBtb2R1bGUuaG90YCBjYWxscy5cbiAgICAgICAgbW9kdWxlLmhvdC5hZGRTdGF0dXNIYW5kbGVyKGhhbmRsZXIpO1xuICAgIH1cbn1cbi8vIEF0dGVtcHQgdG8gdXBkYXRlIGNvZGUgb24gdGhlIGZseSwgZmFsbCBiYWNrIHRvIGEgaGFyZCByZWxvYWQuXG5mdW5jdGlvbiB0cnlBcHBseVVwZGF0ZXMob25CZWZvcmVIb3RVcGRhdGUsIG9uSG90VXBkYXRlU3VjY2Vzcykge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogbW9kdWxlLmhvdCBleGlzdHMgYnV0IHR5cGUgbmVlZHMgdG8gYmUgYWRkZWQuIENhbid0IHVzZSBgYXMgYW55YCBoZXJlIGFzIHdlYnBhY2sgcGFyc2VzIGZvciBgbW9kdWxlLmhvdGAgY2FsbHMuXG4gICAgaWYgKCFtb2R1bGUuaG90KSB7XG4gICAgICAgIC8vIEhvdE1vZHVsZVJlcGxhY2VtZW50UGx1Z2luIGlzIG5vdCBpbiBXZWJwYWNrIGNvbmZpZ3VyYXRpb24uXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJIb3RNb2R1bGVSZXBsYWNlbWVudFBsdWdpbiBpcyBub3QgaW4gV2VicGFjayBjb25maWd1cmF0aW9uLlwiKTtcbiAgICAgICAgLy8gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaXNVcGRhdGVBdmFpbGFibGUoKSB8fCAhY2FuQXBwbHlVcGRhdGVzKCkpIHtcbiAgICAgICAgKDAsIF9jbGllbnQub25CdWlsZE9rKSgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbmRsZUFwcGx5VXBkYXRlcyhlcnIsIHVwZGF0ZWRNb2R1bGVzKSB7XG4gICAgICAgIGlmIChlcnIgfHwgaGFkUnVudGltZUVycm9yIHx8ICF1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltGYXN0IFJlZnJlc2hdIHBlcmZvcm1pbmcgZnVsbCByZWxvYWRcXG5cXG5cIiArIFwiRmFzdCBSZWZyZXNoIHdpbGwgcGVyZm9ybSBhIGZ1bGwgcmVsb2FkIHdoZW4geW91IGVkaXQgYSBmaWxlIHRoYXQncyBpbXBvcnRlZCBieSBtb2R1bGVzIG91dHNpZGUgb2YgdGhlIFJlYWN0IHJlbmRlcmluZyB0cmVlLlxcblwiICsgXCJZb3UgbWlnaHQgaGF2ZSBhIGZpbGUgd2hpY2ggZXhwb3J0cyBhIFJlYWN0IGNvbXBvbmVudCBidXQgYWxzbyBleHBvcnRzIGEgdmFsdWUgdGhhdCBpcyBpbXBvcnRlZCBieSBhIG5vbi1SZWFjdCBjb21wb25lbnQgZmlsZS5cXG5cIiArIFwiQ29uc2lkZXIgbWlncmF0aW5nIHRoZSBub24tUmVhY3QgY29tcG9uZW50IGV4cG9ydCB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGltcG9ydGluZyBpdCBpbnRvIGJvdGggZmlsZXMuXFxuXFxuXCIgKyBcIkl0IGlzIGFsc28gcG9zc2libGUgdGhlIHBhcmVudCBjb21wb25lbnQgb2YgdGhlIGNvbXBvbmVudCB5b3UgZWRpdGVkIGlzIGEgY2xhc3MgY29tcG9uZW50LCB3aGljaCBkaXNhYmxlcyBGYXN0IFJlZnJlc2guXFxuXCIgKyBcIkZhc3QgUmVmcmVzaCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgcGFyZW50IGZ1bmN0aW9uIGNvbXBvbmVudCBpbiB5b3VyIFJlYWN0IHRyZWUuXCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYWRSdW50aW1lRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbRmFzdCBSZWZyZXNoXSBwZXJmb3JtaW5nIGZ1bGwgcmVsb2FkIGJlY2F1c2UgeW91ciBhcHBsaWNhdGlvbiBoYWQgYW4gdW5yZWNvdmVyYWJsZSBlcnJvclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBlcmZvcm1GdWxsUmVsb2FkKGVycik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGFzVXBkYXRlcyA9IEJvb2xlYW4odXBkYXRlZE1vZHVsZXMubGVuZ3RoKTtcbiAgICAgICAgaWYgKHR5cGVvZiBvbkhvdFVwZGF0ZVN1Y2Nlc3MgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgLy8gTWF5YmUgd2Ugd2FudCB0byBkbyBzb21ldGhpbmcuXG4gICAgICAgICAgICBvbkhvdFVwZGF0ZVN1Y2Nlc3MoaGFzVXBkYXRlcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzVXBkYXRlQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgIC8vIFdoaWxlIHdlIHdlcmUgdXBkYXRpbmcsIHRoZXJlIHdhcyBhIG5ldyB1cGRhdGUhIERvIGl0IGFnYWluLlxuICAgICAgICAgICAgLy8gSG93ZXZlciwgdGhpcyB0aW1lLCBkb24ndCB0cmlnZ2VyIGEgcGVuZGluZyByZWZyZXNoIHN0YXRlLlxuICAgICAgICAgICAgdHJ5QXBwbHlVcGRhdGVzKGhhc1VwZGF0ZXMgPyB1bmRlZmluZWQgOiBvbkJlZm9yZUhvdFVwZGF0ZSwgaGFzVXBkYXRlcyA/IF9jbGllbnQub25CdWlsZE9rIDogb25Ib3RVcGRhdGVTdWNjZXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICgwLCBfY2xpZW50Lm9uQnVpbGRPaykoKTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVEVTVF9NT0RFKSB7XG4gICAgICAgICAgICAgICAgYWZ0ZXJBcHBseVVwZGF0ZXMoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaHR0cHM6Ly93ZWJwYWNrLmpzLm9yZy9hcGkvaG90LW1vZHVsZS1yZXBsYWNlbWVudC8jY2hlY2tcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IG1vZHVsZS5ob3QgZXhpc3RzIGJ1dCB0eXBlIG5lZWRzIHRvIGJlIGFkZGVkLiBDYW4ndCB1c2UgYGFzIGFueWAgaGVyZSBhcyB3ZWJwYWNrIHBhcnNlcyBmb3IgYG1vZHVsZS5ob3RgIGNhbGxzLlxuICAgIG1vZHVsZS5ob3QuY2hlY2soLyogYXV0b0FwcGx5ICovIGZhbHNlKS50aGVuKCh1cGRhdGVkTW9kdWxlcyk9PntcbiAgICAgICAgaWYgKCF1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBvbkJlZm9yZUhvdFVwZGF0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICBjb25zdCBoYXNVcGRhdGVzID0gQm9vbGVhbih1cGRhdGVkTW9kdWxlcy5sZW5ndGgpO1xuICAgICAgICAgICAgb25CZWZvcmVIb3RVcGRhdGUoaGFzVXBkYXRlcyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBtb2R1bGUuaG90IGV4aXN0cyBidXQgdHlwZSBuZWVkcyB0byBiZSBhZGRlZC4gQ2FuJ3QgdXNlIGBhcyBhbnlgIGhlcmUgYXMgd2VicGFjayBwYXJzZXMgZm9yIGBtb2R1bGUuaG90YCBjYWxscy5cbiAgICAgICAgcmV0dXJuIG1vZHVsZS5ob3QuYXBwbHkoKTtcbiAgICB9KS50aGVuKCh1cGRhdGVkTW9kdWxlcyk9PntcbiAgICAgICAgaGFuZGxlQXBwbHlVcGRhdGVzKG51bGwsIHVwZGF0ZWRNb2R1bGVzKTtcbiAgICB9LCAoZXJyKT0+e1xuICAgICAgICBoYW5kbGVBcHBseVVwZGF0ZXMoZXJyLCBudWxsKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHBlcmZvcm1GdWxsUmVsb2FkKGVycikge1xuICAgIGNvbnN0IHN0YWNrVHJhY2UgPSBlcnIgJiYgKGVyci5zdGFjayAmJiBlcnIuc3RhY2suc3BsaXQoXCJcXG5cIikuc2xpY2UoMCwgNSkuam9pbihcIlxcblwiKSB8fCBlcnIubWVzc2FnZSB8fCBlcnIgKyBcIlwiKTtcbiAgICAoMCwgX3dlYnNvY2tldC5zZW5kTWVzc2FnZSkoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBldmVudDogXCJjbGllbnQtZnVsbC1yZWxvYWRcIixcbiAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgaGFkUnVudGltZUVycm9yOiAhIWhhZFJ1bnRpbWVFcnJvclxuICAgIH0pKTtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhvdC1kZXYtY2xpZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjb25uZWN0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfc3RyaXBhbnNpIiwiXyIsIl93ZWJzb2NrZXQiLCJfZm9ybWF0d2VicGFja21lc3NhZ2VzIiwid2luZG93IiwiX19uZXh0RGV2Q2xpZW50SWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJEYXRlIiwibm93IiwiaGFkUnVudGltZUVycm9yIiwiY3VzdG9tSG1yRXZlbnRIYW5kbGVyIiwicmVnaXN0ZXIiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJldmVudCIsInBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJkYXRhIiwicHJvY2Vzc01lc3NhZ2UiLCJlcnIiLCJfZXJyX3N0YWNrIiwiY29uc29sZSIsIndhcm4iLCJzdGFjayIsInN1YnNjcmliZVRvSG1yRXZlbnQiLCJoYW5kbGVyIiwib25VbnJlY292ZXJhYmxlRXJyb3IiLCJpc0ZpcnN0Q29tcGlsYXRpb24iLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiaGFzQ29tcGlsZUVycm9ycyIsImNsZWFyT3V0ZGF0ZWRFcnJvcnMiLCJjbGVhciIsImhhbmRsZVN1Y2Nlc3MiLCJpc0hvdFVwZGF0ZSIsIl9fTkVYVF9EQVRBX18iLCJwYWdlIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwib25GYXN0UmVmcmVzaCIsImhhbmRsZVdhcm5pbmdzIiwid2FybmluZ3MiLCJwcmludFdhcm5pbmdzIiwiZm9ybWF0dGVkIiwiZGVmYXVsdCIsImVycm9ycyIsIl9mb3JtYXR0ZWRfd2FybmluZ3MiLCJpIiwibGVuZ3RoIiwiaGFuZGxlRXJyb3JzIiwib25CdWlsZEVycm9yIiwiZXJyb3IiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1RFU1RfTU9ERSIsInNlbGYiLCJfX05FWFRfSE1SX0NCIiwic3RhcnRMYXRlbmN5IiwidW5kZWZpbmVkIiwiaGFzVXBkYXRlcyIsIm9uQmVmb3JlUmVmcmVzaCIsIm9uQnVpbGRPayIsIm9uUmVmcmVzaCIsImVuZExhdGVuY3kiLCJsYXRlbmN5IiwibG9nIiwic2VuZE1lc3NhZ2UiLCJzdHJpbmdpZnkiLCJpZCIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJfX05FWFRfSE1SX0xBVEVOQ1lfQ0IiLCJoYW5kbGVBdmFpbGFibGVIYXNoIiwiaGFzaCIsIm9iaiIsImFjdGlvbiIsImhhc0Vycm9ycyIsIkJvb2xlYW4iLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsImxvY2F0aW9uIiwicmVsb2FkIiwiZXJyb3JKU09OIiwibWVzc2FnZSIsIkVycm9yIiwiX193ZWJwYWNrX2hhc2hfXyIsImNhbkFwcGx5VXBkYXRlcyIsIm1vZHVsZSIsImhvdCIsInN0YXR1cyIsImFmdGVyQXBwbHlVcGRhdGVzIiwiZm4iLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsIm9uQmVmb3JlSG90VXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwidXBkYXRlZE1vZHVsZXMiLCJwZXJmb3JtRnVsbFJlbG9hZCIsImNoZWNrIiwidGhlbiIsImFwcGx5Iiwic3RhY2tUcmFjZSIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/error-overlay/hot-dev-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/error-overlay/websocket.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/error-overlay/websocket.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n addMessageListener: function() {\n return addMessageListener;\n },\n sendMessage: function() {\n return sendMessage;\n },\n connectHMR: function() {\n return connectHMR;\n }\n});\nlet source;\nconst eventCallbacks = [];\nlet lastActivity = Date.now();\nfunction getSocketProtocol(assetPrefix) {\n let protocol = location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (_) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction addMessageListener(cb) {\n eventCallbacks.push(cb);\n}\nfunction sendMessage(data) {\n if (!source || source.readyState !== source.OPEN) return;\n return source.send(data);\n}\nfunction connectHMR(options) {\n if (!options.timeout) {\n options.timeout = 5 * 1000;\n }\n function init() {\n if (source) source.close();\n function handleOnline() {\n window.console.log(\"[HMR] connected\");\n lastActivity = Date.now();\n }\n function handleMessage(event) {\n lastActivity = Date.now();\n eventCallbacks.forEach((cb)=>{\n cb(event);\n });\n }\n let timer;\n function handleDisconnect() {\n clearInterval(timer);\n source.onerror = null;\n source.close();\n setTimeout(init, options.timeout);\n }\n timer = setInterval(function() {\n if (Date.now() - lastActivity > options.timeout) {\n handleDisconnect();\n }\n }, options.timeout / 2);\n const { hostname, port } = location;\n const protocol = getSocketProtocol(options.assetPrefix || \"\");\n const assetPrefix = options.assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (assetPrefix ? \"/\" + assetPrefix : \"\");\n if (assetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + assetPrefix.split(\"://\")[1];\n }\n source = new window.WebSocket(\"\" + url + options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onmessage = handleMessage;\n }\n init();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=websocket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS93ZWJzb2NrZXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFlBQVk7UUFDUixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxJQUFJTztBQUNKLE1BQU1DLGlCQUFpQixFQUFFO0FBQ3pCLElBQUlDLGVBQWVDLEtBQUtDLEdBQUc7QUFDM0IsU0FBU0Msa0JBQWtCQyxXQUFXO0lBQ2xDLElBQUlDLFdBQVdDLFNBQVNELFFBQVE7SUFDaEMsSUFBSTtRQUNBLHVCQUF1QjtRQUN2QkEsV0FBVyxJQUFJRSxJQUFJSCxhQUFhQyxRQUFRO0lBQzVDLEVBQUUsT0FBT0csR0FBRyxDQUFDO0lBQ2IsT0FBT0gsYUFBYSxVQUFVLE9BQU87QUFDekM7QUFDQSxTQUFTaEIsbUJBQW1Cb0IsRUFBRTtJQUMxQlYsZUFBZVcsSUFBSSxDQUFDRDtBQUN4QjtBQUNBLFNBQVNuQixZQUFZcUIsSUFBSTtJQUNyQixJQUFJLENBQUNiLFVBQVVBLE9BQU9jLFVBQVUsS0FBS2QsT0FBT2UsSUFBSSxFQUFFO0lBQ2xELE9BQU9mLE9BQU9nQixJQUFJLENBQUNIO0FBQ3ZCO0FBQ0EsU0FBU3BCLFdBQVd3QixPQUFPO0lBQ3ZCLElBQUksQ0FBQ0EsUUFBUUMsT0FBTyxFQUFFO1FBQ2xCRCxRQUFRQyxPQUFPLEdBQUcsSUFBSTtJQUMxQjtJQUNBLFNBQVNDO1FBQ0wsSUFBSW5CLFFBQVFBLE9BQU9vQixLQUFLO1FBQ3hCLFNBQVNDO1lBQ0xDLE9BQU9DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDO1lBQ25CdEIsZUFBZUMsS0FBS0MsR0FBRztRQUMzQjtRQUNBLFNBQVNxQixjQUFjQyxLQUFLO1lBQ3hCeEIsZUFBZUMsS0FBS0MsR0FBRztZQUN2QkgsZUFBZTBCLE9BQU8sQ0FBQyxDQUFDaEI7Z0JBQ3BCQSxHQUFHZTtZQUNQO1FBQ0o7UUFDQSxJQUFJRTtRQUNKLFNBQVNDO1lBQ0xDLGNBQWNGO1lBQ2Q1QixPQUFPK0IsT0FBTyxHQUFHO1lBQ2pCL0IsT0FBT29CLEtBQUs7WUFDWlksV0FBV2IsTUFBTUYsUUFBUUMsT0FBTztRQUNwQztRQUNBVSxRQUFRSyxZQUFZO1lBQ2hCLElBQUk5QixLQUFLQyxHQUFHLEtBQUtGLGVBQWVlLFFBQVFDLE9BQU8sRUFBRTtnQkFDN0NXO1lBQ0o7UUFDSixHQUFHWixRQUFRQyxPQUFPLEdBQUc7UUFDckIsTUFBTSxFQUFFZ0IsUUFBUSxFQUFHQyxJQUFJLEVBQUcsR0FBRzNCO1FBQzdCLE1BQU1ELFdBQVdGLGtCQUFrQlksUUFBUVgsV0FBVyxJQUFJO1FBQzFELE1BQU1BLGNBQWNXLFFBQVFYLFdBQVcsQ0FBQzhCLE9BQU8sQ0FBQyxRQUFRO1FBQ3hELElBQUlDLE1BQU05QixXQUFXLFFBQVEyQixXQUFXLE1BQU1DLE9BQVE3QixDQUFBQSxjQUFjLE1BQU1BLGNBQWMsRUFBQztRQUN6RixJQUFJQSxZQUFZZ0MsVUFBVSxDQUFDLFNBQVM7WUFDaENELE1BQU05QixXQUFXLFFBQVFELFlBQVlpQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDeEQ7UUFDQXZDLFNBQVMsSUFBSXNCLE9BQU9rQixTQUFTLENBQUMsS0FBS0gsTUFBTXBCLFFBQVF3QixJQUFJO1FBQ3JEekMsT0FBTzBDLE1BQU0sR0FBR3JCO1FBQ2hCckIsT0FBTytCLE9BQU8sR0FBR0Y7UUFDakI3QixPQUFPMkMsU0FBUyxHQUFHbEI7SUFDdkI7SUFDQU47QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPL0IsUUFBUXdELE9BQU8sS0FBSyxjQUFlLE9BQU94RCxRQUFRd0QsT0FBTyxLQUFLLFlBQVl4RCxRQUFRd0QsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPeEQsUUFBUXdELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckszRCxPQUFPQyxjQUFjLENBQUNDLFFBQVF3RCxPQUFPLEVBQUUsY0FBYztRQUFFdkQsT0FBTztJQUFLO0lBQ25FSCxPQUFPNEQsTUFBTSxDQUFDMUQsUUFBUXdELE9BQU8sRUFBRXhEO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF3RCxPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9lcnJvci1vdmVybGF5L3dlYnNvY2tldC5qcz9hOWJlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgYWRkTWVzc2FnZUxpc3RlbmVyOiBudWxsLFxuICAgIHNlbmRNZXNzYWdlOiBudWxsLFxuICAgIGNvbm5lY3RITVI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgYWRkTWVzc2FnZUxpc3RlbmVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZE1lc3NhZ2VMaXN0ZW5lcjtcbiAgICB9LFxuICAgIHNlbmRNZXNzYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNlbmRNZXNzYWdlO1xuICAgIH0sXG4gICAgY29ubmVjdEhNUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjb25uZWN0SE1SO1xuICAgIH1cbn0pO1xubGV0IHNvdXJjZTtcbmNvbnN0IGV2ZW50Q2FsbGJhY2tzID0gW107XG5sZXQgbGFzdEFjdGl2aXR5ID0gRGF0ZS5ub3coKTtcbmZ1bmN0aW9uIGdldFNvY2tldFByb3RvY29sKGFzc2V0UHJlZml4KSB7XG4gICAgbGV0IHByb3RvY29sID0gbG9jYXRpb24ucHJvdG9jb2w7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gYXNzZXRQcmVmaXggaXMgYSB1cmxcbiAgICAgICAgcHJvdG9jb2wgPSBuZXcgVVJMKGFzc2V0UHJlZml4KS5wcm90b2NvbDtcbiAgICB9IGNhdGNoIChfKSB7fVxuICAgIHJldHVybiBwcm90b2NvbCA9PT0gXCJodHRwOlwiID8gXCJ3c1wiIDogXCJ3c3NcIjtcbn1cbmZ1bmN0aW9uIGFkZE1lc3NhZ2VMaXN0ZW5lcihjYikge1xuICAgIGV2ZW50Q2FsbGJhY2tzLnB1c2goY2IpO1xufVxuZnVuY3Rpb24gc2VuZE1lc3NhZ2UoZGF0YSkge1xuICAgIGlmICghc291cmNlIHx8IHNvdXJjZS5yZWFkeVN0YXRlICE9PSBzb3VyY2UuT1BFTikgcmV0dXJuO1xuICAgIHJldHVybiBzb3VyY2Uuc2VuZChkYXRhKTtcbn1cbmZ1bmN0aW9uIGNvbm5lY3RITVIob3B0aW9ucykge1xuICAgIGlmICghb3B0aW9ucy50aW1lb3V0KSB7XG4gICAgICAgIG9wdGlvbnMudGltZW91dCA9IDUgKiAxMDAwO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICBpZiAoc291cmNlKSBzb3VyY2UuY2xvc2UoKTtcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlT25saW5lKCkge1xuICAgICAgICAgICAgd2luZG93LmNvbnNvbGUubG9nKFwiW0hNUl0gY29ubmVjdGVkXCIpO1xuICAgICAgICAgICAgbGFzdEFjdGl2aXR5ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYW5kbGVNZXNzYWdlKGV2ZW50KSB7XG4gICAgICAgICAgICBsYXN0QWN0aXZpdHkgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgZXZlbnRDYWxsYmFja3MuZm9yRWFjaCgoY2IpPT57XG4gICAgICAgICAgICAgICAgY2IoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHRpbWVyO1xuICAgICAgICBmdW5jdGlvbiBoYW5kbGVEaXNjb25uZWN0KCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcik7XG4gICAgICAgICAgICBzb3VyY2Uub25lcnJvciA9IG51bGw7XG4gICAgICAgICAgICBzb3VyY2UuY2xvc2UoKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoaW5pdCwgb3B0aW9ucy50aW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgICB0aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgaWYgKERhdGUubm93KCkgLSBsYXN0QWN0aXZpdHkgPiBvcHRpb25zLnRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVEaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIG9wdGlvbnMudGltZW91dCAvIDIpO1xuICAgICAgICBjb25zdCB7IGhvc3RuYW1lICwgcG9ydCAgfSA9IGxvY2F0aW9uO1xuICAgICAgICBjb25zdCBwcm90b2NvbCA9IGdldFNvY2tldFByb3RvY29sKG9wdGlvbnMuYXNzZXRQcmVmaXggfHwgXCJcIik7XG4gICAgICAgIGNvbnN0IGFzc2V0UHJlZml4ID0gb3B0aW9ucy5hc3NldFByZWZpeC5yZXBsYWNlKC9eXFwvKy8sIFwiXCIpO1xuICAgICAgICBsZXQgdXJsID0gcHJvdG9jb2wgKyBcIjovL1wiICsgaG9zdG5hbWUgKyBcIjpcIiArIHBvcnQgKyAoYXNzZXRQcmVmaXggPyBcIi9cIiArIGFzc2V0UHJlZml4IDogXCJcIik7XG4gICAgICAgIGlmIChhc3NldFByZWZpeC5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xuICAgICAgICAgICAgdXJsID0gcHJvdG9jb2wgKyBcIjovL1wiICsgYXNzZXRQcmVmaXguc3BsaXQoXCI6Ly9cIilbMV07XG4gICAgICAgIH1cbiAgICAgICAgc291cmNlID0gbmV3IHdpbmRvdy5XZWJTb2NrZXQoXCJcIiArIHVybCArIG9wdGlvbnMucGF0aCk7XG4gICAgICAgIHNvdXJjZS5vbm9wZW4gPSBoYW5kbGVPbmxpbmU7XG4gICAgICAgIHNvdXJjZS5vbmVycm9yID0gaGFuZGxlRGlzY29ubmVjdDtcbiAgICAgICAgc291cmNlLm9ubWVzc2FnZSA9IGhhbmRsZU1lc3NhZ2U7XG4gICAgfVxuICAgIGluaXQoKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2Vic29ja2V0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImFkZE1lc3NhZ2VMaXN0ZW5lciIsInNlbmRNZXNzYWdlIiwiY29ubmVjdEhNUiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInNvdXJjZSIsImV2ZW50Q2FsbGJhY2tzIiwibGFzdEFjdGl2aXR5IiwiRGF0ZSIsIm5vdyIsImdldFNvY2tldFByb3RvY29sIiwiYXNzZXRQcmVmaXgiLCJwcm90b2NvbCIsImxvY2F0aW9uIiwiVVJMIiwiXyIsImNiIiwicHVzaCIsImRhdGEiLCJyZWFkeVN0YXRlIiwiT1BFTiIsInNlbmQiLCJvcHRpb25zIiwidGltZW91dCIsImluaXQiLCJjbG9zZSIsImhhbmRsZU9ubGluZSIsIndpbmRvdyIsImNvbnNvbGUiLCJsb2ciLCJoYW5kbGVNZXNzYWdlIiwiZXZlbnQiLCJmb3JFYWNoIiwidGltZXIiLCJoYW5kbGVEaXNjb25uZWN0IiwiY2xlYXJJbnRlcnZhbCIsIm9uZXJyb3IiLCJzZXRUaW1lb3V0Iiwic2V0SW50ZXJ2YWwiLCJob3N0bmFtZSIsInBvcnQiLCJyZXBsYWNlIiwidXJsIiwic3RhcnRzV2l0aCIsInNwbGl0IiwiV2ViU29ja2V0IiwicGF0aCIsIm9ub3BlbiIsIm9ubWVzc2FnZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/error-overlay/websocket.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/fouc.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/dev/fouc.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This wrapper function is used to safely select the best available function\n// to schedule removal of the no-FOUC styles workaround. requestAnimationFrame\n// is the ideal choice, but when used in iframes, there are no guarantees that\n// the callback will actually be called, which could stall the promise returned\n// from displayContent.\n//\n// See: https://www.vector-logic.com/blog/posts/on-request-animation-frame-and-embedded-iframes\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"displayContent\", ({\n enumerable: true,\n get: function() {\n return displayContent;\n }\n}));\nconst safeCallbackQueue = (callback)=>{\n if (window.requestAnimationFrame && window.self === window.top) {\n window.requestAnimationFrame(callback);\n } else {\n window.setTimeout(callback);\n }\n};\nfunction displayContent() {\n return new Promise((resolve)=>{\n safeCallbackQueue(function() {\n for(var x = document.querySelectorAll(\"[data-next-hide-fouc]\"), i = x.length; i--;){\n x[i].parentNode.removeChild(x[i]);\n }\n resolve();\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fouc.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZm91Yy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsdUJBQXVCO0FBQ3ZCLEVBQUU7QUFDRiwrRkFBK0Y7QUFDbEY7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLG9CQUFvQixDQUFDQztJQUN2QixJQUFJQyxPQUFPQyxxQkFBcUIsSUFBSUQsT0FBT0UsSUFBSSxLQUFLRixPQUFPRyxHQUFHLEVBQUU7UUFDNURILE9BQU9DLHFCQUFxQixDQUFDRjtJQUNqQyxPQUFPO1FBQ0hDLE9BQU9JLFVBQVUsQ0FBQ0w7SUFDdEI7QUFDSjtBQUNBLFNBQVNGO0lBQ0wsT0FBTyxJQUFJUSxRQUFRLENBQUNDO1FBQ2hCUixrQkFBa0I7WUFDZCxJQUFJLElBQUlTLElBQUlDLFNBQVNDLGdCQUFnQixDQUFDLDBCQUEwQkMsSUFBSUgsRUFBRUksTUFBTSxFQUFFRCxLQUFLO2dCQUMvRUgsQ0FBQyxDQUFDRyxFQUFFLENBQUNFLFVBQVUsQ0FBQ0MsV0FBVyxDQUFDTixDQUFDLENBQUNHLEVBQUU7WUFDcEM7WUFDQUo7UUFDSjtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2IsUUFBUXFCLE9BQU8sS0FBSyxjQUFlLE9BQU9yQixRQUFRcUIsT0FBTyxLQUFLLFlBQVlyQixRQUFRcUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPckIsUUFBUXFCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckt4QixPQUFPQyxjQUFjLENBQUNDLFFBQVFxQixPQUFPLEVBQUUsY0FBYztRQUFFcEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPeUIsTUFBTSxDQUFDdkIsUUFBUXFCLE9BQU8sRUFBRXJCO0lBQy9Cd0IsT0FBT3hCLE9BQU8sR0FBR0EsUUFBUXFCLE9BQU87QUFDbEMsRUFFQSxnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV2L2ZvdWMuanM/MDA4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gaXMgdXNlZCB0byBzYWZlbHkgc2VsZWN0IHRoZSBiZXN0IGF2YWlsYWJsZSBmdW5jdGlvblxuLy8gdG8gc2NoZWR1bGUgcmVtb3ZhbCBvZiB0aGUgbm8tRk9VQyBzdHlsZXMgd29ya2Fyb3VuZC4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lXG4vLyBpcyB0aGUgaWRlYWwgY2hvaWNlLCBidXQgd2hlbiB1c2VkIGluIGlmcmFtZXMsIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIHRoYXRcbi8vIHRoZSBjYWxsYmFjayB3aWxsIGFjdHVhbGx5IGJlIGNhbGxlZCwgd2hpY2ggY291bGQgc3RhbGwgdGhlIHByb21pc2UgcmV0dXJuZWRcbi8vIGZyb20gZGlzcGxheUNvbnRlbnQuXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy52ZWN0b3ItbG9naWMuY29tL2Jsb2cvcG9zdHMvb24tcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtYW5kLWVtYmVkZGVkLWlmcmFtZXNcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGlzcGxheUNvbnRlbnRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlDb250ZW50O1xuICAgIH1cbn0pO1xuY29uc3Qgc2FmZUNhbGxiYWNrUXVldWUgPSAoY2FsbGJhY2spPT57XG4gICAgaWYgKHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgJiYgd2luZG93LnNlbGYgPT09IHdpbmRvdy50b3ApIHtcbiAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShjYWxsYmFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoY2FsbGJhY2spO1xuICAgIH1cbn07XG5mdW5jdGlvbiBkaXNwbGF5Q29udGVudCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpPT57XG4gICAgICAgIHNhZmVDYWxsYmFja1F1ZXVlKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgZm9yKHZhciB4ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLW5leHQtaGlkZS1mb3VjXVwiKSwgaSA9IHgubGVuZ3RoOyBpLS07KXtcbiAgICAgICAgICAgICAgICB4W2ldLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoeFtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3VjLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJkaXNwbGF5Q29udGVudCIsInNhZmVDYWxsYmFja1F1ZXVlIiwiY2FsbGJhY2siLCJ3aW5kb3ciLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJzZWxmIiwidG9wIiwic2V0VGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwieCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImkiLCJsZW5ndGgiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/fouc.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/on-demand-entries-client.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/on-demand-entries-client.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../router */ \"./node_modules/next/dist/client/router.js\"));\nconst _websocket = __webpack_require__(/*! ./error-overlay/websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nconst _default = async (page)=>{\n if (page) {\n // in AMP the router isn't initialized on the client and\n // client-transitions don't occur so ping initial page\n setInterval(()=>{\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page\n }));\n }, 2500);\n } else {\n _router.default.ready(()=>{\n setInterval(()=>{\n // when notFound: true is returned we should use the notFoundPage\n // as the Router.pathname will point to the 404 page but we want\n // to ping the source page that returned notFound: true instead\n const notFoundSrcPage = self.__NEXT_DATA__.notFoundSrcPage;\n const pathname = (_router.default.pathname === \"/404\" || _router.default.pathname === \"/_error\") && notFoundSrcPage ? notFoundSrcPage : _router.default.pathname;\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page: pathname\n }));\n }, 2500);\n });\n }\n (0, _websocket.addMessageListener)((event)=>{\n if (!event.data.includes(\"{\")) return;\n try {\n const payload = JSON.parse(event.data);\n // don't attempt fetching the page if we're already showing\n // the dev overlay as this can cause the error to be triggered\n // repeatedly\n if (payload.event === \"pong\" && payload.invalid && !self.__NEXT_DATA__.err) {\n // Payload can be invalid even if the page does exist.\n // So, we check if it can be created.\n fetch(location.href, {\n credentials: \"same-origin\"\n }).then((pageRes)=>{\n if (pageRes.status === 200) {\n // Page exists now, reload\n location.reload();\n } else {\n // Page doesn't exist\n if (self.__NEXT_DATA__.page === _router.default.pathname && _router.default.pathname !== \"/_error\") {\n // We are still on the page,\n // reload to show 404 error page\n location.reload();\n }\n }\n });\n }\n } catch (err) {\n console.error(\"on-demand-entries failed to parse response\", err);\n }\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-demand-entries-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRixNQUFNQyxVQUFVLFdBQVcsR0FBR0YseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDREQUFXO0FBQzVFLE1BQU1HLGFBQWFILG1CQUFPQSxDQUFDLGlHQUEyQjtBQUN0RCxNQUFNRixXQUFXLE9BQU9NO0lBQ3BCLElBQUlBLE1BQU07UUFDTix3REFBd0Q7UUFDeEQsc0RBQXNEO1FBQ3REQyxZQUFZO1lBQ1AsSUFBR0YsV0FBV0csV0FBVyxFQUFFQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ3ZDQyxPQUFPO2dCQUNQTDtZQUNKO1FBQ0osR0FBRztJQUNQLE9BQU87UUFDSEgsUUFBUVMsT0FBTyxDQUFDQyxLQUFLLENBQUM7WUFDbEJOLFlBQVk7Z0JBQ1IsaUVBQWlFO2dCQUNqRSxnRUFBZ0U7Z0JBQ2hFLCtEQUErRDtnQkFDL0QsTUFBTU8sa0JBQWtCQyxLQUFLQyxhQUFhLENBQUNGLGVBQWU7Z0JBQzFELE1BQU1HLFdBQVcsQ0FBQ2QsUUFBUVMsT0FBTyxDQUFDSyxRQUFRLEtBQUssVUFBVWQsUUFBUVMsT0FBTyxDQUFDSyxRQUFRLEtBQUssU0FBUSxLQUFNSCxrQkFBa0JBLGtCQUFrQlgsUUFBUVMsT0FBTyxDQUFDSyxRQUFRO2dCQUMvSixJQUFHWixXQUFXRyxXQUFXLEVBQUVDLEtBQUtDLFNBQVMsQ0FBQztvQkFDdkNDLE9BQU87b0JBQ1BMLE1BQU1XO2dCQUNWO1lBQ0osR0FBRztRQUNQO0lBQ0o7SUFDQyxJQUFHWixXQUFXYSxrQkFBa0IsRUFBRSxDQUFDUDtRQUNoQyxJQUFJLENBQUNBLE1BQU1RLElBQUksQ0FBQ0MsUUFBUSxDQUFDLE1BQU07UUFDL0IsSUFBSTtZQUNBLE1BQU1DLFVBQVVaLEtBQUthLEtBQUssQ0FBQ1gsTUFBTVEsSUFBSTtZQUNyQywyREFBMkQ7WUFDM0QsOERBQThEO1lBQzlELGFBQWE7WUFDYixJQUFJRSxRQUFRVixLQUFLLEtBQUssVUFBVVUsUUFBUUUsT0FBTyxJQUFJLENBQUNSLEtBQUtDLGFBQWEsQ0FBQ1EsR0FBRyxFQUFFO2dCQUN4RSxzREFBc0Q7Z0JBQ3RELHFDQUFxQztnQkFDckNDLE1BQU1DLFNBQVNDLElBQUksRUFBRTtvQkFDakJDLGFBQWE7Z0JBQ2pCLEdBQUdDLElBQUksQ0FBQyxDQUFDQztvQkFDTCxJQUFJQSxRQUFRQyxNQUFNLEtBQUssS0FBSzt3QkFDeEIsMEJBQTBCO3dCQUMxQkwsU0FBU00sTUFBTTtvQkFDbkIsT0FBTzt3QkFDSCxxQkFBcUI7d0JBQ3JCLElBQUlqQixLQUFLQyxhQUFhLENBQUNWLElBQUksS0FBS0gsUUFBUVMsT0FBTyxDQUFDSyxRQUFRLElBQUlkLFFBQVFTLE9BQU8sQ0FBQ0ssUUFBUSxLQUFLLFdBQVc7NEJBQ2hHLDRCQUE0Qjs0QkFDNUIsZ0NBQWdDOzRCQUNoQ1MsU0FBU00sTUFBTTt3QkFDbkI7b0JBQ0o7Z0JBQ0o7WUFDSjtRQUNKLEVBQUUsT0FBT1IsS0FBSztZQUNWUyxRQUFRQyxLQUFLLENBQUMsOENBQThDVjtRQUNoRTtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBTzVCLFFBQVFnQixPQUFPLEtBQUssY0FBZSxPQUFPaEIsUUFBUWdCLE9BQU8sS0FBSyxZQUFZaEIsUUFBUWdCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2hCLFFBQVFnQixPQUFPLENBQUN1QixVQUFVLEtBQUssYUFBYTtJQUNyS3pDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWdCLE9BQU8sRUFBRSxjQUFjO1FBQUVmLE9BQU87SUFBSztJQUNuRUgsT0FBTzBDLE1BQU0sQ0FBQ3hDLFFBQVFnQixPQUFPLEVBQUVoQjtJQUMvQnlDLE9BQU96QyxPQUFPLEdBQUdBLFFBQVFnQixPQUFPO0FBQ2xDLEVBRUEsb0RBQW9EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9vbi1kZW1hbmQtZW50cmllcy1jbGllbnQuanM/ODQ1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9yb3V0ZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuLi9yb3V0ZXJcIikpO1xuY29uc3QgX3dlYnNvY2tldCA9IHJlcXVpcmUoXCIuL2Vycm9yLW92ZXJsYXkvd2Vic29ja2V0XCIpO1xuY29uc3QgX2RlZmF1bHQgPSBhc3luYyAocGFnZSk9PntcbiAgICBpZiAocGFnZSkge1xuICAgICAgICAvLyBpbiBBTVAgdGhlIHJvdXRlciBpc24ndCBpbml0aWFsaXplZCBvbiB0aGUgY2xpZW50IGFuZFxuICAgICAgICAvLyBjbGllbnQtdHJhbnNpdGlvbnMgZG9uJ3Qgb2NjdXIgc28gcGluZyBpbml0aWFsIHBhZ2VcbiAgICAgICAgc2V0SW50ZXJ2YWwoKCk9PntcbiAgICAgICAgICAgICgwLCBfd2Vic29ja2V0LnNlbmRNZXNzYWdlKShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwicGluZ1wiLFxuICAgICAgICAgICAgICAgIHBhZ2VcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSwgMjUwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgX3JvdXRlci5kZWZhdWx0LnJlYWR5KCgpPT57XG4gICAgICAgICAgICBzZXRJbnRlcnZhbCgoKT0+e1xuICAgICAgICAgICAgICAgIC8vIHdoZW4gbm90Rm91bmQ6IHRydWUgaXMgcmV0dXJuZWQgd2Ugc2hvdWxkIHVzZSB0aGUgbm90Rm91bmRQYWdlXG4gICAgICAgICAgICAgICAgLy8gYXMgdGhlIFJvdXRlci5wYXRobmFtZSB3aWxsIHBvaW50IHRvIHRoZSA0MDQgcGFnZSBidXQgd2Ugd2FudFxuICAgICAgICAgICAgICAgIC8vIHRvIHBpbmcgdGhlIHNvdXJjZSBwYWdlIHRoYXQgcmV0dXJuZWQgbm90Rm91bmQ6IHRydWUgaW5zdGVhZFxuICAgICAgICAgICAgICAgIGNvbnN0IG5vdEZvdW5kU3JjUGFnZSA9IHNlbGYuX19ORVhUX0RBVEFfXy5ub3RGb3VuZFNyY1BhZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aG5hbWUgPSAoX3JvdXRlci5kZWZhdWx0LnBhdGhuYW1lID09PSBcIi80MDRcIiB8fCBfcm91dGVyLmRlZmF1bHQucGF0aG5hbWUgPT09IFwiL19lcnJvclwiKSAmJiBub3RGb3VuZFNyY1BhZ2UgPyBub3RGb3VuZFNyY1BhZ2UgOiBfcm91dGVyLmRlZmF1bHQucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgKDAsIF93ZWJzb2NrZXQuc2VuZE1lc3NhZ2UpKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwicGluZ1wiLFxuICAgICAgICAgICAgICAgICAgICBwYWdlOiBwYXRobmFtZVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0sIDI1MDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgKDAsIF93ZWJzb2NrZXQuYWRkTWVzc2FnZUxpc3RlbmVyKSgoZXZlbnQpPT57XG4gICAgICAgIGlmICghZXZlbnQuZGF0YS5pbmNsdWRlcyhcIntcIikpIHJldHVybjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xuICAgICAgICAgICAgLy8gZG9uJ3QgYXR0ZW1wdCBmZXRjaGluZyB0aGUgcGFnZSBpZiB3ZSdyZSBhbHJlYWR5IHNob3dpbmdcbiAgICAgICAgICAgIC8vIHRoZSBkZXYgb3ZlcmxheSBhcyB0aGlzIGNhbiBjYXVzZSB0aGUgZXJyb3IgdG8gYmUgdHJpZ2dlcmVkXG4gICAgICAgICAgICAvLyByZXBlYXRlZGx5XG4gICAgICAgICAgICBpZiAocGF5bG9hZC5ldmVudCA9PT0gXCJwb25nXCIgJiYgcGF5bG9hZC5pbnZhbGlkICYmICFzZWxmLl9fTkVYVF9EQVRBX18uZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gUGF5bG9hZCBjYW4gYmUgaW52YWxpZCBldmVuIGlmIHRoZSBwYWdlIGRvZXMgZXhpc3QuXG4gICAgICAgICAgICAgICAgLy8gU28sIHdlIGNoZWNrIGlmIGl0IGNhbiBiZSBjcmVhdGVkLlxuICAgICAgICAgICAgICAgIGZldGNoKGxvY2F0aW9uLmhyZWYsIHtcbiAgICAgICAgICAgICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICAgICAgICAgIH0pLnRoZW4oKHBhZ2VSZXMpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmIChwYWdlUmVzLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWdlIGV4aXN0cyBub3csIHJlbG9hZFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWdlIGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxmLl9fTkVYVF9EQVRBX18ucGFnZSA9PT0gX3JvdXRlci5kZWZhdWx0LnBhdGhuYW1lICYmIF9yb3V0ZXIuZGVmYXVsdC5wYXRobmFtZSAhPT0gXCIvX2Vycm9yXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgc3RpbGwgb24gdGhlIHBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVsb2FkIHRvIHNob3cgNDA0IGVycm9yIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJvbi1kZW1hbmQtZW50cmllcyBmYWlsZWQgdG8gcGFyc2UgcmVzcG9uc2VcIiwgZXJyKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZGVmYXVsdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcm91dGVyIiwiXyIsIl93ZWJzb2NrZXQiLCJwYWdlIiwic2V0SW50ZXJ2YWwiLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsImRlZmF1bHQiLCJyZWFkeSIsIm5vdEZvdW5kU3JjUGFnZSIsInNlbGYiLCJfX05FWFRfREFUQV9fIiwicGF0aG5hbWUiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJkYXRhIiwiaW5jbHVkZXMiLCJwYXlsb2FkIiwicGFyc2UiLCJpbnZhbGlkIiwiZXJyIiwiZmV0Y2giLCJsb2NhdGlvbiIsImhyZWYiLCJjcmVkZW50aWFscyIsInRoZW4iLCJwYWdlUmVzIiwic3RhdHVzIiwicmVsb2FkIiwiY29uc29sZSIsImVycm9yIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/on-demand-entries-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/dev/webpack-hot-middleware-client.js": -/*!****************************************************************************!*\ - !*** ./node_modules/next/dist/client/dev/webpack-hot-middleware-client.js ***! - \****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _hotdevclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./error-overlay/hot-dev-client */ \"./node_modules/next/dist/client/dev/error-overlay/hot-dev-client.js\"));\nconst _websocket = __webpack_require__(/*! ./error-overlay/websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nconst _default = ()=>{\n const devClient = (0, _hotdevclient.default)();\n devClient.subscribeToHmrEvent((obj)=>{\n if (obj.action === \"reloadPage\") {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-reload-page\",\n clientId: window.__nextDevClientId\n }));\n return window.location.reload();\n }\n if (obj.action === \"removedPage\") {\n const [page] = obj.data;\n if (page === window.next.router.pathname) {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-removed-page\",\n clientId: window.__nextDevClientId,\n page\n }));\n return window.location.reload();\n }\n return;\n }\n if (obj.action === \"addedPage\") {\n const [page] = obj.data;\n if (page === window.next.router.pathname && typeof window.next.router.components[page] === \"undefined\") {\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"client-added-page\",\n clientId: window.__nextDevClientId,\n page\n }));\n return window.location.reload();\n }\n return;\n }\n if (obj.action === \"serverError\" || obj.action === \"devPagesManifestUpdate\") {\n return;\n }\n throw new Error(\"Unexpected action \" + obj.action);\n });\n return devClient;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=webpack-hot-middleware-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvd2VicGFjay1ob3QtbWlkZGxld2FyZS1jbGllbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLGdCQUFnQixXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQywyR0FBZ0M7QUFDdkcsTUFBTUcsYUFBYUgsbUJBQU9BLENBQUMsaUdBQTJCO0FBQ3RELE1BQU1GLFdBQVc7SUFDYixNQUFNTSxZQUFZLENBQUMsR0FBR0gsY0FBY0ksT0FBTztJQUMzQ0QsVUFBVUUsbUJBQW1CLENBQUMsQ0FBQ0M7UUFDM0IsSUFBSUEsSUFBSUMsTUFBTSxLQUFLLGNBQWM7WUFDNUIsSUFBR0wsV0FBV00sV0FBVyxFQUFFQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ3ZDQyxPQUFPO2dCQUNQQyxVQUFVQyxPQUFPQyxpQkFBaUI7WUFDdEM7WUFDQSxPQUFPRCxPQUFPRSxRQUFRLENBQUNDLE1BQU07UUFDakM7UUFDQSxJQUFJVixJQUFJQyxNQUFNLEtBQUssZUFBZTtZQUM5QixNQUFNLENBQUNVLEtBQUssR0FBR1gsSUFBSVksSUFBSTtZQUN2QixJQUFJRCxTQUFTSixPQUFPTSxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxFQUFFO2dCQUNyQyxJQUFHbkIsV0FBV00sV0FBVyxFQUFFQyxLQUFLQyxTQUFTLENBQUM7b0JBQ3ZDQyxPQUFPO29CQUNQQyxVQUFVQyxPQUFPQyxpQkFBaUI7b0JBQ2xDRztnQkFDSjtnQkFDQSxPQUFPSixPQUFPRSxRQUFRLENBQUNDLE1BQU07WUFDakM7WUFDQTtRQUNKO1FBQ0EsSUFBSVYsSUFBSUMsTUFBTSxLQUFLLGFBQWE7WUFDNUIsTUFBTSxDQUFDVSxLQUFLLEdBQUdYLElBQUlZLElBQUk7WUFDdkIsSUFBSUQsU0FBU0osT0FBT00sSUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVEsSUFBSSxPQUFPUixPQUFPTSxJQUFJLENBQUNDLE1BQU0sQ0FBQ0UsVUFBVSxDQUFDTCxLQUFLLEtBQUssYUFBYTtnQkFDbkcsSUFBR2YsV0FBV00sV0FBVyxFQUFFQyxLQUFLQyxTQUFTLENBQUM7b0JBQ3ZDQyxPQUFPO29CQUNQQyxVQUFVQyxPQUFPQyxpQkFBaUI7b0JBQ2xDRztnQkFDSjtnQkFDQSxPQUFPSixPQUFPRSxRQUFRLENBQUNDLE1BQU07WUFDakM7WUFDQTtRQUNKO1FBQ0EsSUFBSVYsSUFBSUMsTUFBTSxLQUFLLGlCQUFpQkQsSUFBSUMsTUFBTSxLQUFLLDBCQUEwQjtZQUN6RTtRQUNKO1FBQ0EsTUFBTSxJQUFJZ0IsTUFBTSx1QkFBdUJqQixJQUFJQyxNQUFNO0lBQ3JEO0lBQ0EsT0FBT0o7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPVixRQUFRVyxPQUFPLEtBQUssY0FBZSxPQUFPWCxRQUFRVyxPQUFPLEtBQUssWUFBWVgsUUFBUVcsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPWCxRQUFRVyxPQUFPLENBQUNvQixVQUFVLEtBQUssYUFBYTtJQUNyS2pDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVcsT0FBTyxFQUFFLGNBQWM7UUFBRVYsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0MsTUFBTSxDQUFDaEMsUUFBUVcsT0FBTyxFQUFFWDtJQUMvQmlDLE9BQU9qQyxPQUFPLEdBQUdBLFFBQVFXLE9BQU87QUFDbEMsRUFFQSx5REFBeUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV2L3dlYnBhY2staG90LW1pZGRsZXdhcmUtY2xpZW50LmpzPzlhZDIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfaG90ZGV2Y2xpZW50ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9lcnJvci1vdmVybGF5L2hvdC1kZXYtY2xpZW50XCIpKTtcbmNvbnN0IF93ZWJzb2NrZXQgPSByZXF1aXJlKFwiLi9lcnJvci1vdmVybGF5L3dlYnNvY2tldFwiKTtcbmNvbnN0IF9kZWZhdWx0ID0gKCk9PntcbiAgICBjb25zdCBkZXZDbGllbnQgPSAoMCwgX2hvdGRldmNsaWVudC5kZWZhdWx0KSgpO1xuICAgIGRldkNsaWVudC5zdWJzY3JpYmVUb0htckV2ZW50KChvYmopPT57XG4gICAgICAgIGlmIChvYmouYWN0aW9uID09PSBcInJlbG9hZFBhZ2VcIikge1xuICAgICAgICAgICAgKDAsIF93ZWJzb2NrZXQuc2VuZE1lc3NhZ2UpKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBldmVudDogXCJjbGllbnQtcmVsb2FkLXBhZ2VcIixcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogd2luZG93Ll9fbmV4dERldkNsaWVudElkXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmouYWN0aW9uID09PSBcInJlbW92ZWRQYWdlXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IFtwYWdlXSA9IG9iai5kYXRhO1xuICAgICAgICAgICAgaWYgKHBhZ2UgPT09IHdpbmRvdy5uZXh0LnJvdXRlci5wYXRobmFtZSkge1xuICAgICAgICAgICAgICAgICgwLCBfd2Vic29ja2V0LnNlbmRNZXNzYWdlKShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1yZW1vdmVkLXBhZ2VcIixcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHdpbmRvdy5fX25leHREZXZDbGllbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgcGFnZVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmouYWN0aW9uID09PSBcImFkZGVkUGFnZVwiKSB7XG4gICAgICAgICAgICBjb25zdCBbcGFnZV0gPSBvYmouZGF0YTtcbiAgICAgICAgICAgIGlmIChwYWdlID09PSB3aW5kb3cubmV4dC5yb3V0ZXIucGF0aG5hbWUgJiYgdHlwZW9mIHdpbmRvdy5uZXh0LnJvdXRlci5jb21wb25lbnRzW3BhZ2VdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF93ZWJzb2NrZXQuc2VuZE1lc3NhZ2UpKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2xpZW50LWFkZGVkLXBhZ2VcIixcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHdpbmRvdy5fX25leHREZXZDbGllbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgcGFnZVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmouYWN0aW9uID09PSBcInNlcnZlckVycm9yXCIgfHwgb2JqLmFjdGlvbiA9PT0gXCJkZXZQYWdlc01hbmlmZXN0VXBkYXRlXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIGFjdGlvbiBcIiArIG9iai5hY3Rpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiBkZXZDbGllbnQ7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13ZWJwYWNrLWhvdC1taWRkbGV3YXJlLWNsaWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2hvdGRldmNsaWVudCIsIl8iLCJfd2Vic29ja2V0IiwiZGV2Q2xpZW50IiwiZGVmYXVsdCIsInN1YnNjcmliZVRvSG1yRXZlbnQiLCJvYmoiLCJhY3Rpb24iLCJzZW5kTWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsImNsaWVudElkIiwid2luZG93IiwiX19uZXh0RGV2Q2xpZW50SWQiLCJsb2NhdGlvbiIsInJlbG9hZCIsInBhZ2UiLCJkYXRhIiwibmV4dCIsInJvdXRlciIsInBhdGhuYW1lIiwiY29tcG9uZW50cyIsIkVycm9yIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/webpack-hot-middleware-client.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/has-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/has-base-path.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLHVIQUE0QztBQUMzRSxNQUFNQyxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNKLFlBQVlPLElBQUk7SUFDckIsT0FBTyxDQUFDLEdBQUdOLGVBQWVPLGFBQWEsRUFBRUQsTUFBTUo7QUFDbkQ7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWEsT0FBTyxFQUFFLGNBQWM7UUFBRVosT0FBTztJQUFLO0lBQ25FSCxPQUFPaUIsTUFBTSxDQUFDZixRQUFRYSxPQUFPLEVBQUViO0lBQy9CZ0IsT0FBT2hCLE9BQU8sR0FBR0EsUUFBUWEsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzPzVhNDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYXNCYXNlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGFzQmFzZVBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfcGF0aGhhc3ByZWZpeCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXRoLWhhcy1wcmVmaXhcIik7XG5jb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIjtcbmZ1bmN0aW9uIGhhc0Jhc2VQYXRoKHBhdGgpIHtcbiAgICByZXR1cm4gKDAsIF9wYXRoaGFzcHJlZml4LnBhdGhIYXNQcmVmaXgpKHBhdGgsIGJhc2VQYXRoKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzLWJhc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaGFzQmFzZVBhdGgiLCJfcGF0aGhhc3ByZWZpeCIsInJlcXVpcmUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInBhdGhIYXNQcmVmaXgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/has-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/head-manager.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/head-manager.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DOMAttributeNames: function() {\n return DOMAttributeNames;\n },\n isEqualNode: function() {\n return isEqualNode;\n },\n default: function() {\n return initHeadManager;\n }\n});\nconst DOMAttributeNames = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n noModule: \"noModule\"\n};\nfunction reactElementToDOM(param) {\n let { type, props } = param;\n const el = document.createElement(type);\n for(const p in props){\n if (!props.hasOwnProperty(p)) continue;\n if (p === \"children\" || p === \"dangerouslySetInnerHTML\") continue;\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n if (type === \"script\" && (attr === \"async\" || attr === \"defer\" || attr === \"noModule\")) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n const { children, dangerouslySetInnerHTML } = props;\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return el;\n}\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(\"nonce\");\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(\"nonce\")) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute(\"nonce\", \"\");\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n return oldTag.isEqualNode(newTag);\n}\nlet updateElements;\nif (false) {} else {\n updateElements = (type, components)=>{\n const headEl = document.getElementsByTagName(\"head\")[0];\n const headCountEl = headEl.querySelector(\"meta[name=next-head-count]\");\n if (true) {\n if (!headCountEl) {\n console.error(\"Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing\");\n return;\n }\n }\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n for(let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null){\n var _j_tagName;\n if ((j == null ? void 0 : (_j_tagName = j.tagName) == null ? void 0 : _j_tagName.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n const newTags = components.map(reactElementToDOM).filter((newTag)=>{\n for(let k = 0, len = oldTags.length; k < len; k++){\n const oldTag = oldTags[k];\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n return true;\n });\n oldTags.forEach((t)=>{\n var _t_parentNode;\n return (_t_parentNode = t.parentNode) == null ? void 0 : _t_parentNode.removeChild(t);\n });\n newTags.forEach((t)=>headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n };\n}\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: (head)=>{\n const tags = {};\n head.forEach((h)=>{\n if (// it won't be inlined. In this case revert to the original behavior\n h.type === \"link\" && h.props[\"data-optimized-fonts\"]) {\n if (document.querySelector('style[data-href=\"' + h.props[\"data-href\"] + '\"]')) {\n return;\n } else {\n h.props.href = h.props[\"data-href\"];\n h.props[\"data-href\"] = undefined;\n }\n }\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = \"\";\n if (titleComponent) {\n const { children } = titleComponent.props;\n title = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n if (title !== document.title) document.title = title;\n [\n \"meta\",\n \"base\",\n \"link\",\n \"style\",\n \"script\"\n ].forEach((type)=>{\n updateElements(type, tags[type] || []);\n });\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head-manager.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oZWFkLW1hbmFnZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1ULG9CQUFvQjtJQUN0QlUsZUFBZTtJQUNmQyxXQUFXO0lBQ1hDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxVQUFVO0FBQ2Q7QUFDQSxTQUFTQyxrQkFBa0JDLEtBQUs7SUFDNUIsSUFBSSxFQUFFQyxJQUFJLEVBQUdDLEtBQUssRUFBRyxHQUFHRjtJQUN4QixNQUFNRyxLQUFLQyxTQUFTQyxhQUFhLENBQUNKO0lBQ2xDLElBQUksTUFBTUssS0FBS0osTUFBTTtRQUNqQixJQUFJLENBQUNBLE1BQU1LLGNBQWMsQ0FBQ0QsSUFBSTtRQUM5QixJQUFJQSxNQUFNLGNBQWNBLE1BQU0sMkJBQTJCO1FBQ3pELDZDQUE2QztRQUM3QyxJQUFJSixLQUFLLENBQUNJLEVBQUUsS0FBS0UsV0FBVztRQUM1QixNQUFNQyxPQUFPekIsaUJBQWlCLENBQUNzQixFQUFFLElBQUlBLEVBQUVJLFdBQVc7UUFDbEQsSUFBSVQsU0FBUyxZQUFhUSxDQUFBQSxTQUFTLFdBQVdBLFNBQVMsV0FBV0EsU0FBUyxVQUFTLEdBQUk7WUFDcEZOLEVBQUUsQ0FBQ00sS0FBSyxHQUFHLENBQUMsQ0FBQ1AsS0FBSyxDQUFD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LE1BQU02RSxJQUFJLENBQUM3RSxLQUFLLElBQUksRUFBRTtZQUN6QztRQUNKO0lBQ0o7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPcEIsUUFBUUssT0FBTyxLQUFLLGNBQWUsT0FBT0wsUUFBUUssT0FBTyxLQUFLLFlBQVlMLFFBQVFLLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0wsUUFBUUssT0FBTyxDQUFDaUcsVUFBVSxLQUFLLGFBQWE7SUFDckt4RyxPQUFPQyxjQUFjLENBQUNDLFFBQVFLLE9BQU8sRUFBRSxjQUFjO1FBQUVKLE9BQU87SUFBSztJQUNuRUgsT0FBT3lHLE1BQU0sQ0FBQ3ZHLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oZWFkLW1hbmFnZXIuanM/Y2E0YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIERPTUF0dHJpYnV0ZU5hbWVzOiBudWxsLFxuICAgIGlzRXF1YWxOb2RlOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRE9NQXR0cmlidXRlTmFtZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRE9NQXR0cmlidXRlTmFtZXM7XG4gICAgfSxcbiAgICBpc0VxdWFsTm9kZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0VxdWFsTm9kZTtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW5pdEhlYWRNYW5hZ2VyO1xuICAgIH1cbn0pO1xuY29uc3QgRE9NQXR0cmlidXRlTmFtZXMgPSB7XG4gICAgYWNjZXB0Q2hhcnNldDogXCJhY2NlcHQtY2hhcnNldFwiLFxuICAgIGNsYXNzTmFtZTogXCJjbGFzc1wiLFxuICAgIGh0bWxGb3I6IFwiZm9yXCIsXG4gICAgaHR0cEVxdWl2OiBcImh0dHAtZXF1aXZcIixcbiAgICBub01vZHVsZTogXCJub01vZHVsZVwiXG59O1xuZnVuY3Rpb24gcmVhY3RFbGVtZW50VG9ET00ocGFyYW0pIHtcbiAgICBsZXQgeyB0eXBlICwgcHJvcHMgIH0gPSBwYXJhbTtcbiAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgZm9yKGNvbnN0IHAgaW4gcHJvcHMpe1xuICAgICAgICBpZiAoIXByb3BzLmhhc093blByb3BlcnR5KHApKSBjb250aW51ZTtcbiAgICAgICAgaWYgKHAgPT09IFwiY2hpbGRyZW5cIiB8fCBwID09PSBcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCIpIGNvbnRpbnVlO1xuICAgICAgICAvLyB3ZSBkb24ndCByZW5kZXIgdW5kZWZpbmVkIHByb3BzIHRvIHRoZSBET01cbiAgICAgICAgaWYgKHByb3BzW3BdID09PSB1bmRlZmluZWQpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBhdHRyID0gRE9NQXR0cmlidXRlTmFtZXNbcF0gfHwgcC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAodHlwZSA9PT0gXCJzY3JpcHRcIiAmJiAoYXR0ciA9PT0gXCJhc3luY1wiIHx8IGF0dHIgPT09IFwiZGVmZXJcIiB8fCBhdHRyID09PSBcIm5vTW9kdWxlXCIpKSB7XG4gICAgICAgICAgICBlbFthdHRyXSA9ICEhcHJvcHNbcF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoYXR0ciwgcHJvcHNbcF0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHsgY2hpbGRyZW4gLCBkYW5nZXJvdXNseVNldElubmVySFRNTCAgfSA9IHByb3BzO1xuICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCkge1xuICAgICAgICBlbC5pbm5lckhUTUwgPSBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgfHwgXCJcIjtcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgIGVsLnRleHRDb250ZW50ID0gdHlwZW9mIGNoaWxkcmVuID09PSBcInN0cmluZ1wiID8gY2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSA/IGNoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiO1xuICAgIH1cbiAgICByZXR1cm4gZWw7XG59XG5mdW5jdGlvbiBpc0VxdWFsTm9kZShvbGRUYWcsIG5ld1RhZykge1xuICAgIGlmIChvbGRUYWcgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBuZXdUYWcgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCBub25jZSA9IG5ld1RhZy5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKTtcbiAgICAgICAgLy8gT25seSBzdHJpcCB0aGUgbm9uY2UgaWYgYG9sZFRhZ2AgaGFzIGhhZCBpdCBzdHJpcHBlZC4gQW4gZWxlbWVudCdzIG5vbmNlIGF0dHJpYnV0ZSB3aWxsIG5vdFxuICAgICAgICAvLyBiZSBzdHJpcHBlZCBpZiB0aGVyZSBpcyBubyBjb250ZW50IHNlY3VyaXR5IHBvbGljeSByZXNwb25zZSBoZWFkZXIgdGhhdCBpbmNsdWRlcyBhIG5vbmNlLlxuICAgICAgICBpZiAobm9uY2UgJiYgIW9sZFRhZy5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKSkge1xuICAgICAgICAgICAgY29uc3QgY2xvbmVUYWcgPSBuZXdUYWcuY2xvbmVOb2RlKHRydWUpO1xuICAgICAgICAgICAgY2xvbmVUYWcuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwgXCJcIik7XG4gICAgICAgICAgICBjbG9uZVRhZy5ub25jZSA9IG5vbmNlO1xuICAgICAgICAgICAgcmV0dXJuIG5vbmNlID09PSBvbGRUYWcubm9uY2UgJiYgb2xkVGFnLmlzRXF1YWxOb2RlKGNsb25lVGFnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2xkVGFnLmlzRXF1YWxOb2RlKG5ld1RhZyk7XG59XG5sZXQgdXBkYXRlRWxlbWVudHM7XG5pZiAocHJvY2Vzcy5lbnYuX19ORVhUX1NUUklDVF9ORVhUX0hFQUQpIHtcbiAgICB1cGRhdGVFbGVtZW50cyA9ICh0eXBlLCBjb21wb25lbnRzKT0+e1xuICAgICAgICBjb25zdCBoZWFkRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaGVhZFwiKTtcbiAgICAgICAgaWYgKCFoZWFkRWwpIHJldHVybjtcbiAgICAgICAgY29uc3QgaGVhZE1ldGFUYWdzID0gaGVhZEVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ21ldGFbbmFtZT1cIm5leHQtaGVhZFwiXScpIHx8IFtdO1xuICAgICAgICBjb25zdCBvbGRUYWdzID0gW107XG4gICAgICAgIGlmICh0eXBlID09PSBcIm1ldGFcIikge1xuICAgICAgICAgICAgY29uc3QgbWV0YUNoYXJzZXQgPSBoZWFkRWwucXVlcnlTZWxlY3RvcihcIm1ldGFbY2hhcnNldF1cIik7XG4gICAgICAgICAgICBpZiAobWV0YUNoYXJzZXQpIHtcbiAgICAgICAgICAgICAgICBvbGRUYWdzLnB1c2gobWV0YUNoYXJzZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBoZWFkTWV0YVRhZ3MubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgdmFyIF9oZWFkVGFnX3RhZ05hbWU7XG4gICAgICAgICAgICBjb25zdCBtZXRhVGFnID0gaGVhZE1ldGFUYWdzW2ldO1xuICAgICAgICAgICAgY29uc3QgaGVhZFRhZyA9IG1ldGFUYWcubmV4dFNpYmxpbmc7XG4gICAgICAgICAgICBpZiAoKGhlYWRUYWcgPT0gbnVsbCA/IHZvaWQgMCA6IChfaGVhZFRhZ190YWdOYW1lID0gaGVhZFRhZy50YWdOYW1lKSA9PSBudWxsID8gdm9pZCAwIDogX2hlYWRUYWdfdGFnTmFtZS50b0xvd2VyQ2FzZSgpKSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICAgIG9sZFRhZ3MucHVzaChoZWFkVGFnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdUYWdzID0gY29tcG9uZW50cy5tYXAocmVhY3RFbGVtZW50VG9ET00pLmZpbHRlcigobmV3VGFnKT0+e1xuICAgICAgICAgICAgZm9yKGxldCBrID0gMCwgbGVuID0gb2xkVGFncy5sZW5ndGg7IGsgPCBsZW47IGsrKyl7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkVGFnID0gb2xkVGFnc1trXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNFcXVhbE5vZGUob2xkVGFnLCBuZXdUYWcpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9sZFRhZ3Muc3BsaWNlKGssIDEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgICBvbGRUYWdzLmZvckVhY2goKHQpPT57XG4gICAgICAgICAgICB2YXIgX3RfcGFyZW50Tm9kZTtcbiAgICAgICAgICAgIGNvbnN0IG1ldGFUYWcgPSB0LnByZXZpb3VzU2libGluZztcbiAgICAgICAgICAgIGlmIChtZXRhVGFnICYmIG1ldGFUYWcuZ2V0QXR0cmlidXRlKFwibmFtZVwiKSA9PT0gXCJuZXh0LWhlYWRcIikge1xuICAgICAgICAgICAgICAgIHZhciBfdF9wYXJlbnROb2RlMTtcbiAgICAgICAgICAgICAgICAoX3RfcGFyZW50Tm9kZTEgPSB0LnBhcmVudE5vZGUpID09IG51bGwgPyB2b2lkIDAgOiBfdF9wYXJlbnROb2RlMS5yZW1vdmVDaGlsZChtZXRhVGFnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIChfdF9wYXJlbnROb2RlID0gdC5wYXJlbnROb2RlKSA9PSBudWxsID8gdm9pZCAwIDogX3RfcGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIG5ld1RhZ3MuZm9yRWFjaCgodCk9PntcbiAgICAgICAgICAgIHZhciBfdF90YWdOYW1lO1xuICAgICAgICAgICAgY29uc3QgbWV0YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIpO1xuICAgICAgICAgICAgbWV0YS5uYW1lID0gXCJuZXh0LWhlYWRcIjtcbiAgICAgICAgICAgIG1ldGEuY29udGVudCA9IFwiMVwiO1xuICAgICAgICAgICAgLy8gbWV0YVtjaGFyc2V0XSBtdXN0IGJlIGZpcnN0IGVsZW1lbnQgc28gc3BlY2lhbCBjYXNlXG4gICAgICAgICAgICBpZiAoISgoKF90X3RhZ05hbWUgPSB0LnRhZ05hbWUpID09IG51bGwgPyB2b2lkIDAgOiBfdF90YWdOYW1lLnRvTG93ZXJDYXNlKCkpID09PSBcIm1ldGFcIiAmJiB0LmdldEF0dHJpYnV0ZShcImNoYXJzZXRcIikpKSB7XG4gICAgICAgICAgICAgICAgaGVhZEVsLmFwcGVuZENoaWxkKG1ldGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaGVhZEVsLmFwcGVuZENoaWxkKHQpO1xuICAgICAgICB9KTtcbiAgICB9O1xufSBlbHNlIHtcbiAgICB1cGRhdGVFbGVtZW50cyA9ICh0eXBlLCBjb21wb25lbnRzKT0+e1xuICAgICAgICBjb25zdCBoZWFkRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07XG4gICAgICAgIGNvbnN0IGhlYWRDb3VudEVsID0gaGVhZEVsLnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9bmV4dC1oZWFkLWNvdW50XVwiKTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgaWYgKCFoZWFkQ291bnRFbCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJXYXJuaW5nOiBuZXh0LWhlYWQtY291bnQgaXMgbWlzc2luZy4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1oZWFkLWNvdW50LW1pc3NpbmdcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhlYWRDb3VudCA9IE51bWJlcihoZWFkQ291bnRFbC5jb250ZW50KTtcbiAgICAgICAgY29uc3Qgb2xkVGFncyA9IFtdO1xuICAgICAgICBmb3IobGV0IGkgPSAwLCBqID0gaGVhZENvdW50RWwucHJldmlvdXNFbGVtZW50U2libGluZzsgaSA8IGhlYWRDb3VudDsgaSsrLCBqID0gKGogPT0gbnVsbCA/IHZvaWQgMCA6IGoucHJldmlvdXNFbGVtZW50U2libGluZykgfHwgbnVsbCl7XG4gICAgICAgICAgICB2YXIgX2pfdGFnTmFtZTtcbiAgICAgICAgICAgIGlmICgoaiA9PSBudWxsID8gdm9pZCAwIDogKF9qX3RhZ05hbWUgPSBqLnRhZ05hbWUpID09IG51bGwgPyB2b2lkIDAgOiBfal90YWdOYW1lLnRvTG93ZXJDYXNlKCkpID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgb2xkVGFncy5wdXNoKGopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1RhZ3MgPSBjb21wb25lbnRzLm1hcChyZWFjdEVsZW1lbnRUb0RPTSkuZmlsdGVyKChuZXdUYWcpPT57XG4gICAgICAgICAgICBmb3IobGV0IGsgPSAwLCBsZW4gPSBvbGRUYWdzLmxlbmd0aDsgayA8IGxlbjsgaysrKXtcbiAgICAgICAgICAgICAgICBjb25zdCBvbGRUYWcgPSBvbGRUYWdzW2tdO1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsTm9kZShvbGRUYWcsIG5ld1RhZykpIHtcbiAgICAgICAgICAgICAgICAgICAgb2xkVGFncy5zcGxpY2UoaywgMSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIG9sZFRhZ3MuZm9yRWFjaCgodCk9PntcbiAgICAgICAgICAgIHZhciBfdF9wYXJlbnROb2RlO1xuICAgICAgICAgICAgcmV0dXJuIChfdF9wYXJlbnROb2RlID0gdC5wYXJlbnROb2RlKSA9PSBudWxsID8gdm9pZCAwIDogX3RfcGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIG5ld1RhZ3MuZm9yRWFjaCgodCk9PmhlYWRFbC5pbnNlcnRCZWZvcmUodCwgaGVhZENvdW50RWwpKTtcbiAgICAgICAgaGVhZENvdW50RWwuY29udGVudCA9IChoZWFkQ291bnQgLSBvbGRUYWdzLmxlbmd0aCArIG5ld1RhZ3MubGVuZ3RoKS50b1N0cmluZygpO1xuICAgIH07XG59XG5mdW5jdGlvbiBpbml0SGVhZE1hbmFnZXIoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbW91bnRlZEluc3RhbmNlczogbmV3IFNldCgpLFxuICAgICAgICB1cGRhdGVIZWFkOiAoaGVhZCk9PntcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSB7fTtcbiAgICAgICAgICAgIGhlYWQuZm9yRWFjaCgoaCk9PntcbiAgICAgICAgICAgICAgICBpZiAoLy8gSWYgdGhlIGZvbnQgdGFnIGlzIGxvYWRlZCBvbmx5IG9uIGNsaWVudCBuYXZpZ2F0aW9uXG4gICAgICAgICAgICAgICAgLy8gaXQgd29uJ3QgYmUgaW5saW5lZC4gSW4gdGhpcyBjYXNlIHJldmVydCB0byB0aGUgb3JpZ2luYWwgYmVoYXZpb3JcbiAgICAgICAgICAgICAgICBoLnR5cGUgPT09IFwibGlua1wiICYmIGgucHJvcHNbXCJkYXRhLW9wdGltaXplZC1mb250c1wiXSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS1ocmVmPVwiJyArIGgucHJvcHNbXCJkYXRhLWhyZWZcIl0gKyAnXCJdJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGgucHJvcHMuaHJlZiA9IGgucHJvcHNbXCJkYXRhLWhyZWZcIl07XG4gICAgICAgICAgICAgICAgICAgICAgICBoLnByb3BzW1wiZGF0YS1ocmVmXCJdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0YWdzW2gudHlwZV0gfHwgW107XG4gICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGgpO1xuICAgICAgICAgICAgICAgIHRhZ3NbaC50eXBlXSA9IGNvbXBvbmVudHM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHRpdGxlQ29tcG9uZW50ID0gdGFncy50aXRsZSA/IHRhZ3MudGl0bGVbMF0gOiBudWxsO1xuICAgICAgICAgICAgbGV0IHRpdGxlID0gXCJcIjtcbiAgICAgICAgICAgIGlmICh0aXRsZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2hpbGRyZW4gIH0gPSB0aXRsZUNvbXBvbmVudC5wcm9wcztcbiAgICAgICAgICAgICAgICB0aXRsZSA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gXCJzdHJpbmdcIiA/IGNoaWxkcmVuIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbi5qb2luKFwiXCIpIDogXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aXRsZSAhPT0gZG9jdW1lbnQudGl0bGUpIGRvY3VtZW50LnRpdGxlID0gdGl0bGU7XG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgXCJtZXRhXCIsXG4gICAgICAgICAgICAgICAgXCJiYXNlXCIsXG4gICAgICAgICAgICAgICAgXCJsaW5rXCIsXG4gICAgICAgICAgICAgICAgXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgIFwic2NyaXB0XCJcbiAgICAgICAgICAgIF0uZm9yRWFjaCgodHlwZSk9PntcbiAgICAgICAgICAgICAgICB1cGRhdGVFbGVtZW50cyh0eXBlLCB0YWdzW3R5cGVdIHx8IFtdKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZC1tYW5hZ2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkRPTUF0dHJpYnV0ZU5hbWVzIiwiaXNFcXVhbE5vZGUiLCJkZWZhdWx0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaW5pdEhlYWRNYW5hZ2VyIiwiYWNjZXB0Q2hhcnNldCIsImNsYXNzTmFtZSIsImh0bWxGb3IiLCJodHRwRXF1aXYiLCJub01vZHVsZSIsInJlYWN0RWxlbWVudFRvRE9NIiwicGFyYW0iLCJ0eXBlIiwicHJvcHMiLCJlbCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInAiLCJoYXNPd25Qcm9wZXJ0eSIsInVuZGVmaW5lZCIsImF0dHIiLCJ0b0xvd2VyQ2FzZSIsInNldEF0dHJpYnV0ZSIsImNoaWxkcmVuIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJpbm5lckhUTUwiLCJfX2h0bWwiLCJ0ZXh0Q29udGVudCIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iLCJvbGRUYWciLCJuZXdUYWciLCJIVE1MRWxlbWVudCIsIm5vbmNlIiwiZ2V0QXR0cmlidXRlIiwiY2xvbmVUYWciLCJjbG9uZU5vZGUiLCJ1cGRhdGVFbGVtZW50cyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfU1RSSUNUX05FWFRfSEVBRCIsImNvbXBvbmVudHMiLCJoZWFkRWwiLCJxdWVyeVNlbGVjdG9yIiwiaGVhZE1ldGFUYWdzIiwicXVlcnlTZWxlY3RvckFsbCIsIm9sZFRhZ3MiLCJtZXRhQ2hhcnNldCIsInB1c2giLCJpIiwibGVuZ3RoIiwiX2hlYWRUYWdfdGFnTmFtZSIsIm1ldGFUYWciLCJoZWFkVGFnIiwibmV4dFNpYmxpbmciLCJ0YWdOYW1lIiwibmV3VGFncyIsIm1hcCIsImZpbHRlciIsImsiLCJsZW4iLCJzcGxpY2UiLCJmb3JFYWNoIiwidCIsIl90X3BhcmVudE5vZGUiLCJwcmV2aW91c1NpYmxpbmciLCJfdF9wYXJlbnROb2RlMSIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsIl90X3RhZ05hbWUiLCJtZXRhIiwiY29udGVudCIsImFwcGVuZENoaWxkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJoZWFkQ291bnRFbCIsImNvbnNvbGUiLCJlcnJvciIsImhlYWRDb3VudCIsIk51bWJlciIsImoiLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiX2pfdGFnTmFtZSIsImluc2VydEJlZm9yZSIsInRvU3RyaW5nIiwibW91bnRlZEluc3RhbmNlcyIsIlNldCIsInVwZGF0ZUhlYWQiLCJoZWFkIiwidGFncyIsImgiLCJocmVmIiwidGl0bGVDb21wb25lbnQiLCJ0aXRsZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/head-manager.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/index.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/client/index.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global location */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$();\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n version: function() {\n return version;\n },\n router: function() {\n return router;\n },\n emitter: function() {\n return emitter;\n },\n initialize: function() {\n return initialize;\n },\n hydrate: function() {\n return hydrate;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\n__webpack_require__(/*! ../build/polyfills/polyfill-module */ \"./node_modules/next/dist/build/polyfills/polyfill-module.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\"));\nconst _headmanagercontext = __webpack_require__(/*! ../shared/lib/head-manager-context */ \"./node_modules/next/dist/shared/lib/head-manager-context.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _routercontext = __webpack_require__(/*! ../shared/lib/router-context */ \"./node_modules/next/dist/shared/lib/router-context.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../shared/lib/router/utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _isdynamic = __webpack_require__(/*! ../shared/lib/router/utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _runtimeconfig = __webpack_require__(/*! ../shared/lib/runtime-config */ \"./node_modules/next/dist/shared/lib/runtime-config.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _portal = __webpack_require__(/*! ./portal */ \"./node_modules/next/dist/client/portal/index.js\");\nconst _headmanager = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\"));\nconst _pageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./page-loader */ \"./node_modules/next/dist/client/page-loader.js\"));\nconst _performancerelayer = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./performance-relayer */ \"./node_modules/next/dist/client/performance-relayer.js\"));\nconst _routeannouncer = __webpack_require__(/*! ./route-announcer */ \"./node_modules/next/dist/client/route-announcer.js\");\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nconst _iserror = __webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\");\nconst _imageconfigcontext = __webpack_require__(/*! ../shared/lib/image-config-context */ \"./node_modules/next/dist/shared/lib/image-config-context.js\");\nconst _removebasepath = __webpack_require__(/*! ./remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _approutercontext = __webpack_require__(/*! ../shared/lib/app-router-context */ \"./node_modules/next/dist/shared/lib/app-router-context.js\");\nconst _adapters = __webpack_require__(/*! ../shared/lib/router/adapters */ \"./node_modules/next/dist/shared/lib/router/adapters.js\");\nconst _hooksclientcontext = __webpack_require__(/*! ../shared/lib/hooks-client-context */ \"./node_modules/next/dist/shared/lib/hooks-client-context.js\");\nconst _onrecoverableerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./on-recoverable-error */ \"./node_modules/next/dist/client/on-recoverable-error.js\"));\nconst version = \"13.4.13\";\nlet router;\nconst emitter = (0, _mitt.default)();\nconst looseToArray = (input)=>[].slice.call(input);\nlet initialData;\nlet defaultLocale = undefined;\nlet asPath;\nlet pageLoader;\nlet appElement;\nlet headManager;\nlet initialMatchesMiddleware = false;\nlet lastAppProps;\nlet lastRenderReject;\nlet webpackHMR;\nlet CachedApp, onPerfEntry;\nlet CachedComponent;\nclass Container extends _react.default.Component {\n componentDidCatch(componentErr, info) {\n this.props.fn(componentErr, info);\n }\n componentDidMount() {\n this.scrollToHash();\n // We need to replace the router state if:\n // - the page was (auto) exported and has a query string or search (hash)\n // - it was auto exported and is a dynamic route (to provide params)\n // - if it is a client-side skeleton (fallback render)\n // - if middleware matches the current page (may have rewrite params)\n // - if rewrites in next.config.js match (may have rewrite params)\n if (router.isSsr && (initialData.isFallback || initialData.nextExport && ((0, _isdynamic.isDynamicRoute)(router.pathname) || location.search || false || initialMatchesMiddleware) || initialData.props && initialData.props.__N_SSG && (location.search || false || initialMatchesMiddleware))) {\n // update query on mount for exported pages\n router.replace(router.pathname + \"?\" + String((0, _querystring.assign)((0, _querystring.urlQueryToSearchParams)(router.query), new URLSearchParams(location.search))), asPath, {\n // @ts-ignore\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n // Fallback pages must trigger the data fetch, so the transition is\n // not shallow.\n // Other pages (strictly updating query) happens shallowly, as data\n // requirements would already be present.\n shallow: !initialData.isFallback && !initialMatchesMiddleware\n }).catch((err)=>{\n if (!err.cancelled) throw err;\n });\n }\n }\n componentDidUpdate() {\n this.scrollToHash();\n }\n scrollToHash() {\n let { hash } = location;\n hash = hash && hash.substring(1);\n if (!hash) return;\n const el = document.getElementById(hash);\n if (!el) return;\n // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n setTimeout(()=>el.scrollIntoView(), 0);\n }\n render() {\n if (false) {} else {\n const { ReactDevOverlay } = __webpack_require__(/*! next/dist/compiled/@next/react-dev-overlay/dist/client */ \"./node_modules/next/dist/compiled/@next/react-dev-overlay/dist/client.js\");\n return /*#__PURE__*/ _react.default.createElement(ReactDevOverlay, null, this.props.children);\n }\n }\n}\nasync function initialize(opts) {\n if (opts === void 0) opts = {};\n // This makes sure this specific lines are removed in production\n if (true) {\n webpackHMR = opts.webpackHMR;\n }\n initialData = JSON.parse(document.getElementById(\"__NEXT_DATA__\").textContent);\n window.__NEXT_DATA__ = initialData;\n defaultLocale = initialData.defaultLocale;\n const prefix = initialData.assetPrefix || \"\";\n self.__next_set_public_path__(\"\" + prefix + \"/_next/\") //eslint-disable-line\n ;\n // Initialize next/config with the environment configuration\n (0, _runtimeconfig.setConfig)({\n serverRuntimeConfig: {},\n publicRuntimeConfig: initialData.runtimeConfig || {}\n });\n asPath = (0, _utils.getURL)();\n // make sure not to attempt stripping basePath for 404s\n if ((0, _hasbasepath.hasBasePath)(asPath)) {\n asPath = (0, _removebasepath.removeBasePath)(asPath);\n }\n if (false) {}\n if (initialData.scriptLoader) {\n const { initScriptLoader } = __webpack_require__(/*! ./script */ \"./node_modules/next/dist/client/script.js\");\n initScriptLoader(initialData.scriptLoader);\n }\n pageLoader = new _pageloader.default(initialData.buildId, prefix);\n const register = (param)=>{\n let [r, f] = param;\n return pageLoader.routeLoader.onEntrypoint(r, f);\n };\n if (window.__NEXT_P) {\n // Defer page registration for another tick. This will increase the overall\n // latency in hydrating the page, but reduce the total blocking time.\n window.__NEXT_P.map((p)=>setTimeout(()=>register(p), 0));\n }\n window.__NEXT_P = [];\n window.__NEXT_P.push = register;\n headManager = (0, _headmanager.default)();\n headManager.getIsSsr = ()=>{\n return router.isSsr;\n };\n appElement = document.getElementById(\"__next\");\n return {\n assetPrefix: prefix\n };\n}\nfunction renderApp(App, appProps) {\n return /*#__PURE__*/ _react.default.createElement(App, appProps);\n}\nfunction AppContainer(param) {\n _s();\n let { children } = param;\n // Create a memoized value for next/navigation router context.\n const adaptedForAppRouter = _react.default.useMemo(()=>{\n return (0, _adapters.adaptForAppRouterInstance)(router);\n }, []);\n var _self___NEXT_DATA___autoExport;\n return /*#__PURE__*/ _react.default.createElement(Container, {\n fn: (error)=>// eslint-disable-next-line @typescript-eslint/no-use-before-define\n renderError({\n App: CachedApp,\n err: error\n }).catch((err)=>console.error(\"Error rendering page: \", err))\n }, /*#__PURE__*/ _react.default.createElement(_approutercontext.AppRouterContext.Provider, {\n value: adaptedForAppRouter\n }, /*#__PURE__*/ _react.default.createElement(_hooksclientcontext.SearchParamsContext.Provider, {\n value: (0, _adapters.adaptForSearchParams)(router)\n }, /*#__PURE__*/ _react.default.createElement(_adapters.PathnameContextProviderAdapter, {\n router: router,\n isAutoExport: (_self___NEXT_DATA___autoExport = self.__NEXT_DATA__.autoExport) != null ? _self___NEXT_DATA___autoExport : false\n }, /*#__PURE__*/ _react.default.createElement(_routercontext.RouterContext.Provider, {\n value: (0, _router.makePublicRouterInstance)(router)\n }, /*#__PURE__*/ _react.default.createElement(_headmanagercontext.HeadManagerContext.Provider, {\n value: headManager\n }, /*#__PURE__*/ _react.default.createElement(_imageconfigcontext.ImageConfigContext.Provider, {\n value: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n }, children)))))));\n}\n_s(AppContainer, \"F6BSfrFQNeqenuPnUMVY/6gI8uE=\");\n_c = AppContainer;\nconst wrapApp = (App)=>(wrappedAppProps)=>{\n const appProps = {\n ...wrappedAppProps,\n Component: CachedComponent,\n err: initialData.err,\n router\n };\n return /*#__PURE__*/ _react.default.createElement(AppContainer, null, renderApp(App, appProps));\n };\n// This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\nfunction renderError(renderErrorProps) {\n let { App, err } = renderErrorProps;\n // In development runtime errors are caught by our overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n if (true) {\n // A Next.js rendering runtime error is always unrecoverable\n // FIXME: let's make this recoverable (error in GIP client-transition)\n webpackHMR.onUnrecoverableError();\n // We need to render an empty <App> so that the `<ReactDevOverlay>` can\n // render itself.\n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return doRender({\n App: ()=>null,\n props: {},\n Component: ()=>null,\n styleSheets: []\n });\n }\n // Make sure we log the error to the console, otherwise users can't track down issues.\n console.error(err);\n console.error(\"A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred\");\n return pageLoader.loadPage(\"/_error\").then((param)=>{\n let { page: ErrorComponent, styleSheets } = param;\n return (lastAppProps == null ? void 0 : lastAppProps.Component) === ErrorComponent ? Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../pages/_error */ \"./node_modules/next/dist/pages/_error.js\"))).then((errorModule)=>{\n return Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../pages/_app */ \"./node_modules/next/dist/pages/_app.js\"))).then((appModule)=>{\n App = appModule.default;\n renderErrorProps.App = App;\n return errorModule;\n });\n }).then((m)=>({\n ErrorComponent: m.default,\n styleSheets: []\n })) : {\n ErrorComponent,\n styleSheets\n };\n }).then((param)=>{\n let { ErrorComponent, styleSheets } = param;\n var _renderErrorProps_props;\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n const AppTree = wrapApp(App);\n const appCtx = {\n Component: ErrorComponent,\n AppTree,\n router,\n ctx: {\n err,\n pathname: initialData.page,\n query: initialData.query,\n asPath,\n AppTree\n }\n };\n return Promise.resolve(((_renderErrorProps_props = renderErrorProps.props) == null ? void 0 : _renderErrorProps_props.err) ? renderErrorProps.props : (0, _utils.loadGetInitialProps)(App, appCtx)).then((initProps)=>// eslint-disable-next-line @typescript-eslint/no-use-before-define\n doRender({\n ...renderErrorProps,\n err,\n Component: ErrorComponent,\n styleSheets,\n props: initProps\n }));\n });\n}\n// Dummy component that we render as a child of Root so that we can\n// toggle the correct styles before the page is rendered.\nfunction Head(param) {\n _s1();\n let { callback } = param;\n // We use `useLayoutEffect` to guarantee the callback is executed\n // as soon as React flushes the update.\n _react.default.useLayoutEffect(()=>callback(), [\n callback\n ]);\n return null;\n}\n_s1(Head, \"n7/vCynhJvM+pLkyL2DMQUF0odM=\");\n_c1 = Head;\nlet reactRoot = null;\n// On initial render a hydrate should always happen\nlet shouldHydrate = true;\nfunction clearMarks() {\n [\n \"beforeRender\",\n \"afterHydrate\",\n \"afterRender\",\n \"routeChange\"\n ].forEach((mark)=>performance.clearMarks(mark));\n}\nfunction markHydrateComplete() {\n if (!_utils.ST) return;\n performance.mark(\"afterHydrate\") // mark end of hydration\n ;\n performance.measure(\"Next.js-before-hydration\", \"navigationStart\", \"beforeRender\");\n performance.measure(\"Next.js-hydration\", \"beforeRender\", \"afterHydrate\");\n if (onPerfEntry) {\n performance.getEntriesByName(\"Next.js-hydration\").forEach(onPerfEntry);\n }\n clearMarks();\n}\nfunction markRenderComplete() {\n if (!_utils.ST) return;\n performance.mark(\"afterRender\") // mark end of render\n ;\n const navStartEntries = performance.getEntriesByName(\"routeChange\", \"mark\");\n if (!navStartEntries.length) return;\n performance.measure(\"Next.js-route-change-to-render\", navStartEntries[0].name, \"beforeRender\");\n performance.measure(\"Next.js-render\", \"beforeRender\", \"afterRender\");\n if (onPerfEntry) {\n performance.getEntriesByName(\"Next.js-render\").forEach(onPerfEntry);\n performance.getEntriesByName(\"Next.js-route-change-to-render\").forEach(onPerfEntry);\n }\n clearMarks();\n [\n \"Next.js-route-change-to-render\",\n \"Next.js-render\"\n ].forEach((measure)=>performance.clearMeasures(measure));\n}\nfunction renderReactElement(domEl, fn) {\n // mark start of hydrate/render\n if (_utils.ST) {\n performance.mark(\"beforeRender\");\n }\n const reactEl = fn(shouldHydrate ? markHydrateComplete : markRenderComplete);\n if (!reactRoot) {\n // Unlike with createRoot, you don't need a separate root.render() call here\n reactRoot = _client.default.hydrateRoot(domEl, reactEl, {\n onRecoverableError: _onrecoverableerror.default\n });\n // TODO: Remove shouldHydrate variable when React 18 is stable as it can depend on `reactRoot` existing\n shouldHydrate = false;\n } else {\n const startTransition = _react.default.startTransition;\n startTransition(()=>{\n reactRoot.render(reactEl);\n });\n }\n}\nfunction Root(param) {\n _s2();\n let { callbacks, children } = param;\n // We use `useLayoutEffect` to guarantee the callbacks are executed\n // as soon as React flushes the update\n _react.default.useLayoutEffect(()=>callbacks.forEach((callback)=>callback()), [\n callbacks\n ]);\n // We should ask to measure the Web Vitals after rendering completes so we\n // don't cause any hydration delay:\n _react.default.useEffect(()=>{\n (0, _performancerelayer.default)(onPerfEntry);\n }, []);\n if (false) {}\n return children;\n}\n_s2(Root, \"Gjgl5rfcc2T4sFnfEMfRvL6K4Q4=\");\n_c2 = Root;\nfunction doRender(input) {\n let { App, Component, props, err } = input;\n let styleSheets = \"initial\" in input ? undefined : input.styleSheets;\n Component = Component || lastAppProps.Component;\n props = props || lastAppProps.props;\n const appProps = {\n ...props,\n Component,\n err,\n router\n };\n // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n lastAppProps = appProps;\n let canceled = false;\n let resolvePromise;\n const renderPromise = new Promise((resolve, reject)=>{\n if (lastRenderReject) {\n lastRenderReject();\n }\n resolvePromise = ()=>{\n lastRenderReject = null;\n resolve();\n };\n lastRenderReject = ()=>{\n canceled = true;\n lastRenderReject = null;\n const error = new Error(\"Cancel rendering route\");\n error.cancelled = true;\n reject(error);\n };\n });\n // This function has a return type to ensure it doesn't start returning a\n // Promise. It should remain synchronous.\n function onStart() {\n if (!styleSheets || // We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n \"development\" !== \"production\") {\n return false;\n }\n const currentStyleTags = looseToArray(document.querySelectorAll(\"style[data-n-href]\"));\n const currentHrefs = new Set(currentStyleTags.map((tag)=>tag.getAttribute(\"data-n-href\")));\n const noscript = document.querySelector(\"noscript[data-n-css]\");\n const nonce = noscript == null ? void 0 : noscript.getAttribute(\"data-n-css\");\n styleSheets.forEach((param)=>{\n let { href, text } = param;\n if (!currentHrefs.has(href)) {\n const styleTag = document.createElement(\"style\");\n styleTag.setAttribute(\"data-n-href\", href);\n styleTag.setAttribute(\"media\", \"x\");\n if (nonce) {\n styleTag.setAttribute(\"nonce\", nonce);\n }\n document.head.appendChild(styleTag);\n styleTag.appendChild(document.createTextNode(text));\n }\n });\n return true;\n }\n function onHeadCommit() {\n if (// unless we're in production:\n false) {}\n if (input.scroll) {\n const { x, y } = input.scroll;\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n window.scrollTo(x, y);\n });\n }\n }\n function onRootCommit() {\n resolvePromise();\n }\n onStart();\n const elem = /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Head, {\n callback: onHeadCommit\n }), /*#__PURE__*/ _react.default.createElement(AppContainer, null, renderApp(App, appProps), /*#__PURE__*/ _react.default.createElement(_portal.Portal, {\n type: \"next-route-announcer\"\n }, /*#__PURE__*/ _react.default.createElement(_routeannouncer.RouteAnnouncer, null))));\n // We catch runtime errors using componentDidCatch which will trigger renderError\n renderReactElement(appElement, (callback)=>/*#__PURE__*/ _react.default.createElement(Root, {\n callbacks: [\n callback,\n onRootCommit\n ]\n }, true ? /*#__PURE__*/ _react.default.createElement(_react.default.StrictMode, null, elem) : 0));\n return renderPromise;\n}\nasync function render(renderingProps) {\n if (renderingProps.err) {\n await renderError(renderingProps);\n return;\n }\n try {\n await doRender(renderingProps);\n } catch (err) {\n const renderErr = (0, _iserror.getProperError)(err);\n // bubble up cancelation errors\n if (renderErr.cancelled) {\n throw renderErr;\n }\n if (true) {\n // Ensure this error is displayed in the overlay in development\n setTimeout(()=>{\n throw renderErr;\n });\n }\n await renderError({\n ...renderingProps,\n err: renderErr\n });\n }\n}\nasync function hydrate(opts) {\n let initialErr = initialData.err;\n try {\n const appEntrypoint = await pageLoader.routeLoader.whenEntrypoint(\"/_app\");\n if (\"error\" in appEntrypoint) {\n throw appEntrypoint.error;\n }\n const { component: app, exports: mod } = appEntrypoint;\n CachedApp = app;\n if (mod && mod.reportWebVitals) {\n onPerfEntry = (param)=>{\n let { id, name, startTime, value, duration, entryType, entries, attribution } = param;\n // Combines timestamp with random number for unique ID\n const uniqueID = Date.now() + \"-\" + (Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n let perfStartEntry;\n if (entries && entries.length) {\n perfStartEntry = entries[0].startTime;\n }\n const webVitals = {\n id: id || uniqueID,\n name,\n startTime: startTime || perfStartEntry,\n value: value == null ? duration : value,\n label: entryType === \"mark\" || entryType === \"measure\" ? \"custom\" : \"web-vital\"\n };\n if (attribution) {\n webVitals.attribution = attribution;\n }\n mod.reportWebVitals(webVitals);\n };\n }\n const pageEntrypoint = // error, so we need to skip waiting for the entrypoint.\n true && initialData.err ? {\n error: initialData.err\n } : await pageLoader.routeLoader.whenEntrypoint(initialData.page);\n if (\"error\" in pageEntrypoint) {\n throw pageEntrypoint.error;\n }\n CachedComponent = pageEntrypoint.component;\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(CachedComponent)) {\n throw new Error('The default export is not a React Component in page: \"' + initialData.page + '\"');\n }\n }\n } catch (error) {\n // This catches errors like throwing in the top level of a module\n initialErr = (0, _iserror.getProperError)(error);\n }\n if (true) {\n const { getServerError } = __webpack_require__(/*! next/dist/compiled/@next/react-dev-overlay/dist/client */ \"./node_modules/next/dist/compiled/@next/react-dev-overlay/dist/client.js\");\n // Server-side runtime errors need to be re-thrown on the client-side so\n // that the overlay is rendered.\n if (initialErr) {\n if (initialErr === initialData.err) {\n setTimeout(()=>{\n let error;\n try {\n // Generate a new error object. We `throw` it because some browsers\n // will set the `stack` when thrown, and we want to ensure ours is\n // not overridden when we re-throw it below.\n throw new Error(initialErr.message);\n } catch (e) {\n error = e;\n }\n error.name = initialErr.name;\n error.stack = initialErr.stack;\n throw getServerError(error, initialErr.source);\n });\n } else {\n setTimeout(()=>{\n throw initialErr;\n });\n }\n }\n }\n if (window.__NEXT_PRELOADREADY) {\n await window.__NEXT_PRELOADREADY(initialData.dynamicIds);\n }\n router = (0, _router.createRouter)(initialData.page, initialData.query, asPath, {\n initialProps: initialData.props,\n pageLoader,\n App: CachedApp,\n Component: CachedComponent,\n wrapApp,\n err: initialErr,\n isFallback: Boolean(initialData.isFallback),\n subscription: (info, App, scroll)=>render(Object.assign({}, info, {\n App,\n scroll\n })),\n locale: initialData.locale,\n locales: initialData.locales,\n defaultLocale,\n domainLocales: initialData.domainLocales,\n isPreview: initialData.isPreview\n });\n initialMatchesMiddleware = await router._initialMatchesMiddlewarePromise;\n const renderCtx = {\n App: CachedApp,\n initial: true,\n Component: CachedComponent,\n props: initialData.props,\n err: initialErr\n };\n if (opts == null ? void 0 : opts.beforeRender) {\n await opts.beforeRender();\n }\n render(renderCtx);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"AppContainer\");\n$RefreshReg$(_c1, \"Head\");\n$RefreshReg$(_c2, \"Root\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUIsR0FBZ0I7Ozs7OztBQUNuQ0EsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FNTjtBQUNBLFNBQVNNLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlaLE9BQU9DLGNBQWMsQ0FBQ1UsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUixTQUFTO0lBQ2JHLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0lBQ0FDLFlBQVk7UUFDUixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTywyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRkEsbUJBQU9BLENBQUMsdUdBQW9DO0FBQzVDLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNENBQU87QUFDdkUsTUFBTUcsVUFBVSxXQUFXLEdBQUdKLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyw0REFBa0I7QUFDbkYsTUFBTUksc0JBQXNCSixtQkFBT0EsQ0FBQyx1R0FBb0M7QUFDeEUsTUFBTUssUUFBUSxXQUFXLEdBQUdOLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx1RUFBb0I7QUFDbkYsTUFBTU0saUJBQWlCTixtQkFBT0EsQ0FBQywyRkFBOEI7QUFDN0QsTUFBTU8sc0JBQXNCUCxtQkFBT0EsQ0FBQyxpSUFBaUQ7QUFDckYsTUFBTVEsYUFBYVIsbUJBQU9BLENBQUMsNkdBQXVDO0FBQ2xFLE1BQU1TLGVBQWVULG1CQUFPQSxDQUFDLCtHQUF3QztBQUNyRSxNQUFNVSxpQkFBaUJWLG1CQUFPQSxDQUFDLDJGQUE4QjtBQUM3RCxNQUFNVyxTQUFTWCxtQkFBT0EsQ0FBQyx5RUFBcUI7QUFDNUMsTUFBTVksVUFBVVosbUJBQU9BLENBQUMsaUVBQVU7QUFDbEMsTUFBTWEsZUFBZSxXQUFXLEdBQUdkLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx1RUFBZ0I7QUFDdEYsTUFBTWMsY0FBYyxXQUFXLEdBQUdmLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyxxRUFBZTtBQUNwRixNQUFNZSxzQkFBc0IsV0FBVyxHQUFHaEIseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHFGQUF1QjtBQUNwRyxNQUFNZ0Isa0JBQWtCaEIsbUJBQU9BLENBQUMsNkVBQW1CO0FBQ25ELE1BQU1pQixVQUFVakIsbUJBQU9BLENBQUMsMkRBQVU7QUFDbEMsTUFBTWtCLFdBQVdsQixtQkFBT0EsQ0FBQyxpRUFBaUI7QUFDMUMsTUFBTW1CLHNCQUFzQm5CLG1CQUFPQSxDQUFDLHVHQUFvQztBQUN4RSxNQUFNb0Isa0JBQWtCcEIsbUJBQU9BLENBQUMsK0VBQW9CO0FBQ3BELE1BQU1xQixlQUFlckIsbUJBQU9BLENBQUMseUVBQWlCO0FBQzlDLE1BQU1zQixvQkFBb0J0QixtQkFBT0EsQ0FBQyxtR0FBa0M7QUFDcEUsTUFBTXVCLFlBQVl2QixtQkFBT0EsQ0FBQyw2RkFBK0I7QUFDekQsTUFBTXdCLHNCQUFzQnhCLG1CQUFPQSxDQUFDLHVHQUFvQztBQUN4RSxNQUFNeUIsc0JBQXNCLFdBQVcsR0FBRzFCLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx1RkFBd0I7QUFDckcsTUFBTVosVUFBVTtBQUNoQixJQUFJQztBQUNKLE1BQU1DLFVBQVUsQ0FBQyxHQUFHZSxNQUFNcUIsT0FBTztBQUNqQyxNQUFNQyxlQUFlLENBQUNDLFFBQVEsRUFBRSxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FBQ0Y7QUFDNUMsSUFBSUc7QUFDSixJQUFJQyxnQkFBZ0JDO0FBQ3BCLElBQUlDO0FBQ0osSUFBSUM7QUFDSixJQUFJQztBQUNKLElBQUlDO0FBQ0osSUFBSUMsMkJBQTJCO0FBQy9CLElBQUlDO0FBQ0osSUFBSUM7QUFDSixJQUFJQztBQUNKLElBQUlDLFdBQVdDO0FBQ2YsSUFBSUM7QUFDSixNQUFNQyxrQkFBa0I1QyxPQUFPeUIsT0FBTyxDQUFDb0IsU0FBUztJQUM1Q0Msa0JBQWtCQyxZQUFZLEVBQUVDLElBQUksRUFBRTtRQUNsQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsRUFBRSxDQUFDSCxjQUFjQztJQUNoQztJQUNBRyxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDQyxZQUFZO1FBQ2pCLDBDQUEwQztRQUMxQyx5RUFBeUU7UUFDekUsb0VBQW9FO1FBQ3BFLHNEQUFzRDtRQUN0RCxxRUFBcUU7UUFDckUsa0VBQWtFO1FBQ2xFLElBQUloRSxPQUFPaUUsS0FBSyxJQUFLdkIsQ0FBQUEsWUFBWXdCLFVBQVUsSUFBSXhCLFlBQVl5QixVQUFVLElBQUssRUFBQyxHQUFHaEQsV0FBV2lELGNBQWMsRUFBRXBFLE9BQU9xRSxRQUFRLEtBQUtDLFNBQVNDLE1BQU0sSUFBSUMsS0FBK0IsSUFBSXZCLHdCQUF1QixLQUFNUCxZQUFZbUIsS0FBSyxJQUFJbkIsWUFBWW1CLEtBQUssQ0FBQ2MsT0FBTyxJQUFLTCxDQUFBQSxTQUFTQyxNQUFNLElBQUlDLEtBQStCLElBQUl2Qix3QkFBdUIsQ0FBQyxHQUFJO1lBQ2pWLDJDQUEyQztZQUMzQ2pELE9BQU80RSxPQUFPLENBQUM1RSxPQUFPcUUsUUFBUSxHQUFHLE1BQU1RLE9BQU8sQ0FBQyxHQUFHekQsYUFBYTBELE1BQU0sRUFBRSxDQUFDLEdBQUcxRCxhQUFhMkQsc0JBQXNCLEVBQUUvRSxPQUFPZ0YsS0FBSyxHQUFHLElBQUlDLGdCQUFnQlgsU0FBU0MsTUFBTSxLQUFLMUIsUUFBUTtnQkFDM0ssYUFBYTtnQkFDYiwwREFBMEQ7Z0JBQzFELG9FQUFvRTtnQkFDcEUsNENBQTRDO2dCQUM1Q3FDLElBQUk7Z0JBQ0osbUVBQW1FO2dCQUNuRSxlQUFlO2dCQUNmLG1FQUFtRTtnQkFDbkUseUNBQXlDO2dCQUN6Q0MsU0FBUyxDQUFDekMsWUFBWXdCLFVBQVUsSUFBSSxDQUFDakI7WUFDekMsR0FBR21DLEtBQUssQ0FBQyxDQUFDQztnQkFDTixJQUFJLENBQUNBLElBQUlDLFNBQVMsRUFBRSxNQUFNRDtZQUM5QjtRQUNKO0lBQ0o7SUFDQUUscUJBQXFCO1FBQ2pCLElBQUksQ0FBQ3ZCLFlBQVk7SUFDckI7SUFDQUEsZUFBZTtRQUNYLElBQUksRUFBRXdCLElBQUksRUFBRyxHQUFHbEI7UUFDaEJrQixPQUFPQSxRQUFRQSxLQUFLQyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDRCxNQUFNO1FBQ1gsTUFBTUUsS0FBS0MsU0FBU0MsY0FBYyxDQUFDSjtRQUNuQyxJQUFJLENBQUNFLElBQUk7UUFDVCwyREFBMkQ7UUFDM0QsNEJBQTRCO1FBQzVCRyxXQUFXLElBQUlILEdBQUdJLGNBQWMsSUFBSTtJQUN4QztJQUNBQyxTQUFTO1FBQ0wsSUFBSXZCLEtBQXFDLEVBQUUsRUFFMUMsTUFBTTtZQUNILE1BQU0sRUFBRXlCLGVBQWUsRUFBRyxHQUFHdEYsbUJBQU9BLENBQUMsd0lBQXdEO1lBQzdGLE9BQU8sV0FBVyxHQUFHQyxPQUFPeUIsT0FBTyxDQUFDNkQsYUFBYSxDQUFDRCxpQkFBaUIsTUFBTSxJQUFJLENBQUNwQyxLQUFLLENBQUNtQyxRQUFRO1FBQ2hHO0lBQ0o7QUFDSjtBQUNBLGVBQWU5RixXQUFXaUcsSUFBSTtJQUMxQixJQUFJQSxTQUFTLEtBQUssR0FBR0EsT0FBTyxDQUFDO0lBQzdCLGdFQUFnRTtJQUNoRSxJQUFJM0IsSUFBc0MsRUFBRTtRQUN4Q3BCLGFBQWErQyxLQUFLL0MsVUFBVTtJQUNoQztJQUNBVixjQUFjMEQsS0FBS0MsS0FBSyxDQUFDVixTQUFTQyxjQUFjLENBQUMsaUJBQWlCVSxXQUFXO0lBQzdFQyxPQUFPQyxhQUFhLEdBQUc5RDtJQUN2QkMsZ0JBQWdCRCxZQUFZQyxhQUFhO0lBQ3pDLE1BQU04RCxTQUFTL0QsWUFBWWdFLFdBQVcsSUFBSTtJQUMxQ0MsS0FBS0Msd0JBQXdCLENBQUMsS0FBS0gsU0FBUyxXQUFXLHFCQUFxQjs7SUFFNUUsNERBQTREO0lBQzNELElBQUdwRixlQUFld0YsU0FBUyxFQUFFO1FBQzFCQyxxQkFBcUIsQ0FBQztRQUN0QkMscUJBQXFCckUsWUFBWXNFLGFBQWEsSUFBSSxDQUFDO0lBQ3ZEO0lBQ0FuRSxTQUFTLENBQUMsR0FBR3ZCLE9BQU8yRixNQUFNO0lBQzFCLHVEQUF1RDtJQUN2RCxJQUFJLENBQUMsR0FBR2pGLGFBQWFrRixXQUFXLEVBQUVyRSxTQUFTO1FBQ3ZDQSxTQUFTLENBQUMsR0FBR2QsZ0JBQWdCb0YsY0FBYyxFQUFFdEU7SUFDakQ7SUFDQSxJQUFJMkIsS0FBK0IsRUFBRSxFQXlCcEM7SUFDRCxJQUFJOUIsWUFBWXVGLFlBQVksRUFBRTtRQUMxQixNQUFNLEVBQUVDLGdCQUFnQixFQUFHLEdBQUd2SCxtQkFBT0EsQ0FBQywyREFBVTtRQUNoRHVILGlCQUFpQnhGLFlBQVl1RixZQUFZO0lBQzdDO0lBQ0FuRixhQUFhLElBQUlyQixZQUFZWSxPQUFPLENBQUNLLFlBQVl5RixPQUFPLEVBQUUxQjtJQUMxRCxNQUFNMkIsV0FBVyxDQUFDQztRQUNkLElBQUksQ0FBQ0MsR0FBR0MsRUFBRSxHQUFHRjtRQUNiLE9BQU92RixXQUFXMEYsV0FBVyxDQUFDQyxZQUFZLENBQUNILEdBQUdDO0lBQ2xEO0lBQ0EsSUFBSWhDLE9BQU9tQyxRQUFRLEVBQUU7UUFDakIsMkVBQTJFO1FBQzNFLHFFQUFxRTtRQUNyRW5DLE9BQU9tQyxRQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJL0MsV0FBVyxJQUFJdUMsU0FBU1EsSUFBSTtJQUN6RDtJQUNBckMsT0FBT21DLFFBQVEsR0FBRyxFQUFFO0lBQ3BCbkMsT0FBT21DLFFBQVEsQ0FBQ0csSUFBSSxHQUFHVDtJQUN2QnBGLGNBQWMsQ0FBQyxHQUFHeEIsYUFBYWEsT0FBTztJQUN0Q1csWUFBWThGLFFBQVEsR0FBRztRQUNuQixPQUFPOUksT0FBT2lFLEtBQUs7SUFDdkI7SUFDQWxCLGFBQWE0QyxTQUFTQyxjQUFjLENBQUM7SUFDckMsT0FBTztRQUNIYyxhQUFhRDtJQUNqQjtBQUNKO0FBQ0EsU0FBU3NDLFVBQVVDLEdBQUcsRUFBRUMsUUFBUTtJQUM1QixPQUFPLFdBQVcsR0FBR3JJLE9BQU95QixPQUFPLENBQUM2RCxhQUFhLENBQUM4QyxLQUFLQztBQUMzRDtBQUNBLFNBQVNDLGFBQWFiLEtBQUs7O0lBQ3ZCLElBQUksRUFBRXJDLFFBQVEsRUFBRyxHQUFHcUM7SUFDcEIsOERBQThEO0lBQzlELE1BQU1jLHNCQUFzQnZJLE9BQU95QixPQUFPLENBQUMrRyxPQUFPLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUdsSCxVQUFVbUgseUJBQXlCLEVBQUVySjtJQUNwRCxHQUFHLEVBQUU7SUFDTCxJQUFJc0o7SUFDSixPQUFPLFdBQVcsR0FBRzFJLE9BQU95QixPQUFPLENBQUM2RCxhQUFhLENBQUMxQyxXQUFXO1FBQ3pETSxJQUFJLENBQUN5RixRQUNELG1FQUFtRTtZQUNuRUMsWUFBWTtnQkFDUlIsS0FBSzNGO2dCQUNMZ0MsS0FBS2tFO1lBQ1QsR0FBR25FLEtBQUssQ0FBQyxDQUFDQyxNQUFNb0UsUUFBUUYsS0FBSyxDQUFDLDBCQUEwQmxFO0lBQ2hFLEdBQUcsV0FBVyxHQUFHekUsT0FBT3lCLE9BQU8sQ0FBQzZELGFBQWEsQ0FBQ2pFLGtCQUFrQnlILGdCQUFnQixDQUFDQyxRQUFRLEVBQUU7UUFDdkY5SixPQUFPc0o7SUFDWCxHQUFHLFdBQVcsR0FBR3ZJLE9BQU95QixPQUFPLENBQUM2RCxhQUFhLENBQUMvRCxvQkFBb0J5SCxtQkFBbUIsQ0FBQ0QsUUFBUSxFQUFFO1FBQzVGOUosT0FBTyxDQUFDLEdBQUdxQyxVQUFVMkgsb0JBQW9CLEVBQUU3SjtJQUMvQyxHQUFHLFdBQVcsR0FBR1ksT0FBT3lCLE9BQU8sQ0FBQzZELGFBQWEsQ0FBQ2hFLFVBQVU0SCw4QkFBOEIsRUFBRTtRQUNwRjlKLFFBQVFBO1FBQ1IrSixjQUFjLENBQUNULGlDQUFpQzNDLEtBQUtILGFBQWEsQ0FBQ3dELFVBQVUsS0FBSyxPQUFPVixpQ0FBaUM7SUFDOUgsR0FBRyxXQUFXLEdBQUcxSSxPQUFPeUIsT0FBTyxDQUFDNkQsYUFBYSxDQUFDakYsZUFBZWdKLGFBQWEsQ0FBQ04sUUFBUSxFQUFFO1FBQ2pGOUosT0FBTyxDQUFDLEdBQUcrQixRQUFRc0ksd0JBQXdCLEVBQUVsSztJQUNqRCxHQUFHLFdBQVcsR0FBR1ksT0FBT3lCLE9BQU8sQ0FBQzZELGFBQWEsQ0FBQ25GLG9CQUFvQm9KLGtCQUFrQixDQUFDUixRQUFRLEVBQUU7UUFDM0Y5SixPQUFPbUQ7SUFDWCxHQUFHLFdBQVcsR0FBR3BDLE9BQU95QixPQUFPLENBQUM2RCxhQUFhLENBQUNwRSxvQkFBb0JzSSxrQkFBa0IsQ0FBQ1QsUUFBUSxFQUFFO1FBQzNGOUosT0FBTzJFLDBOQUE2QjtJQUN4QyxHQUFHd0I7QUFDUDtHQTVCU2tEO0tBQUFBO0FBNkJULE1BQU1vQixVQUFVLENBQUN0QixNQUFNLENBQUN1QjtRQUNoQixNQUFNdEIsV0FBVztZQUNiLEdBQUdzQixlQUFlO1lBQ2xCOUcsV0FBV0Y7WUFDWDhCLEtBQUszQyxZQUFZMkMsR0FBRztZQUNwQnJGO1FBQ0o7UUFDQSxPQUFPLFdBQVcsR0FBR1ksT0FBT3lCLE9BQU8sQ0FBQzZELGFBQWEsQ0FBQ2dELGNBQWMsTUFBTUgsVUFBVUMsS0FBS0M7SUFDekY7QUFDSixvREFBb0Q7QUFDcEQsZ0RBQWdEO0FBQ2hELHdEQUF3RDtBQUN4RCxTQUFTTyxZQUFZZ0IsZ0JBQWdCO0lBQ2pDLElBQUksRUFBRXhCLEdBQUcsRUFBRzNELEdBQUcsRUFBRyxHQUFHbUY7SUFDckIsMERBQTBEO0lBQzFELCtGQUErRjtJQUMvRixJQUFJaEcsSUFBcUMsRUFBRTtRQUN2Qyw0REFBNEQ7UUFDNUQsc0VBQXNFO1FBQ3RFcEIsV0FBV3FILG9CQUFvQjtRQUMvQix1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLGlDQUFpQztRQUNqQyxtRUFBbUU7UUFDbkUsT0FBT0MsU0FBUztZQUNaMUIsS0FBSyxJQUFJO1lBQ1RuRixPQUFPLENBQUM7WUFDUkosV0FBVyxJQUFJO1lBQ2ZrSCxhQUFhLEVBQUU7UUFDbkI7SUFDSjtJQUNBLHNGQUFzRjtJQUN0RmxCLFFBQVFGLEtBQUssQ0FBQ2xFO0lBQ2RvRSxRQUFRRixLQUFLLENBQUM7SUFDZCxPQUFPekcsV0FBVzhILFFBQVEsQ0FBQyxXQUFXQyxJQUFJLENBQUMsQ0FBQ3hDO1FBQ3hDLElBQUksRUFBRXlDLE1BQU1DLGNBQWMsRUFBR0osV0FBVyxFQUFHLEdBQUd0QztRQUM5QyxPQUFPLENBQUNuRixnQkFBZ0IsT0FBTyxLQUFLLElBQUlBLGFBQWFPLFNBQVMsTUFBTXNILGlCQUFpQix5RkFBTyxpRUFBaUIsSUFBRUYsSUFBSSxDQUFDLENBQUNHO1lBQ2pILE9BQU8seUZBQU8sNkRBQWUsSUFBRUgsSUFBSSxDQUFDLENBQUNJO2dCQUNqQ2pDLE1BQU1pQyxVQUFVNUksT0FBTztnQkFDdkJtSSxpQkFBaUJ4QixHQUFHLEdBQUdBO2dCQUN2QixPQUFPZ0M7WUFDWDtRQUNKLEdBQUdILElBQUksQ0FBQyxDQUFDSyxJQUFLO2dCQUNOSCxnQkFBZ0JHLEVBQUU3SSxPQUFPO2dCQUN6QnNJLGFBQWEsRUFBRTtZQUNuQixNQUFNO1lBQ05JO1lBQ0FKO1FBQ0o7SUFDSixHQUFHRSxJQUFJLENBQUMsQ0FBQ3hDO1FBQ0wsSUFBSSxFQUFFMEMsY0FBYyxFQUFHSixXQUFXLEVBQUcsR0FBR3RDO1FBQ3hDLElBQUk4QztRQUNKLDhFQUE4RTtRQUM5RSxrRkFBa0Y7UUFDbEYseUVBQXlFO1FBQ3pFLE1BQU1DLFVBQVVkLFFBQVF0QjtRQUN4QixNQUFNcUMsU0FBUztZQUNYNUgsV0FBV3NIO1lBQ1hLO1lBQ0FwTDtZQUNBc0wsS0FBSztnQkFDRGpHO2dCQUNBaEIsVUFBVTNCLFlBQVlvSSxJQUFJO2dCQUMxQjlGLE9BQU90QyxZQUFZc0MsS0FBSztnQkFDeEJuQztnQkFDQXVJO1lBQ0o7UUFDSjtRQUNBLE9BQU9HLFFBQVFDLE9BQU8sQ0FBQyxDQUFDLENBQUNMLDBCQUEwQlgsaUJBQWlCM0csS0FBSyxLQUFLLE9BQU8sS0FBSyxJQUFJc0gsd0JBQXdCOUYsR0FBRyxJQUFJbUYsaUJBQWlCM0csS0FBSyxHQUFHLENBQUMsR0FBR3ZDLE9BQU9tSyxtQkFBbUIsRUFBRXpDLEtBQUtxQyxTQUFTUixJQUFJLENBQUMsQ0FBQ2EsWUFDdE0sbUVBQW1FO1lBQ25FaEIsU0FBUztnQkFDTCxHQUFHRixnQkFBZ0I7Z0JBQ25CbkY7Z0JBQ0E1QixXQUFXc0g7Z0JBQ1hKO2dCQUNBOUcsT0FBTzZIO1lBQ1g7SUFDUjtBQUNKO0FBQ0EsbUVBQW1FO0FBQ25FLHlEQUF5RDtBQUN6RCxTQUFTQyxLQUFLdEQsS0FBSzs7SUFDZixJQUFJLEVBQUV1RCxRQUFRLEVBQUcsR0FBR3ZEO0lBQ3BCLGlFQUFpRTtJQUNqRSx1Q0FBdUM7SUFDdkN6SCxPQUFPeUIsT0FBTyxDQUFDd0osZUFBZSxDQUFDLElBQUlELFlBQVk7UUFDM0NBO0tBQ0g7SUFDRCxPQUFPO0FBQ1g7SUFSU0Q7TUFBQUE7QUFTVCxJQUFJRyxZQUFZO0FBQ2hCLG1EQUFtRDtBQUNuRCxJQUFJQyxnQkFBZ0I7QUFDcEIsU0FBU0M7SUFDTDtRQUNJO1FBQ0E7UUFDQTtRQUNBO0tBQ0gsQ0FBQ0MsT0FBTyxDQUFDLENBQUNDLE9BQU9DLFlBQVlILFVBQVUsQ0FBQ0U7QUFDN0M7QUFDQSxTQUFTRTtJQUNMLElBQUksQ0FBQzlLLE9BQU8rSyxFQUFFLEVBQUU7SUFDaEJGLFlBQVlELElBQUksQ0FBQyxnQkFBZ0Isd0JBQXdCOztJQUV6REMsWUFBWUcsT0FBTyxDQUFDLDRCQUE0QixtQkFBbUI7SUFDbkVILFlBQVlHLE9BQU8sQ0FBQyxxQkFBcUIsZ0JBQWdCO0lBQ3pELElBQUloSixhQUFhO1FBQ2I2SSxZQUFZSSxnQkFBZ0IsQ0FBQyxxQkFBcUJOLE9BQU8sQ0FBQzNJO0lBQzlEO0lBQ0EwSTtBQUNKO0FBQ0EsU0FBU1E7SUFDTCxJQUFJLENBQUNsTCxPQUFPK0ssRUFBRSxFQUFFO0lBQ2hCRixZQUFZRCxJQUFJLENBQUMsZUFBZSxxQkFBcUI7O0lBRXJELE1BQU1PLGtCQUFrQk4sWUFBWUksZ0JBQWdCLENBQUMsZUFBZTtJQUNwRSxJQUFJLENBQUNFLGdCQUFnQkMsTUFBTSxFQUFFO0lBQzdCUCxZQUFZRyxPQUFPLENBQUMsa0NBQWtDRyxlQUFlLENBQUMsRUFBRSxDQUFDbE0sSUFBSSxFQUFFO0lBQy9FNEwsWUFBWUcsT0FBTyxDQUFDLGtCQUFrQixnQkFBZ0I7SUFDdEQsSUFBSWhKLGFBQWE7UUFDYjZJLFlBQVlJLGdCQUFnQixDQUFDLGtCQUFrQk4sT0FBTyxDQUFDM0k7UUFDdkQ2SSxZQUFZSSxnQkFBZ0IsQ0FBQyxrQ0FBa0NOLE9BQU8sQ0FBQzNJO0lBQzNFO0lBQ0EwSTtJQUNBO1FBQ0k7UUFDQTtLQUNILENBQUNDLE9BQU8sQ0FBQyxDQUFDSyxVQUFVSCxZQUFZUSxhQUFhLENBQUNMO0FBQ25EO0FBQ0EsU0FBU00sbUJBQW1CQyxLQUFLLEVBQUUvSSxFQUFFO0lBQ2pDLCtCQUErQjtJQUMvQixJQUFJeEMsT0FBTytLLEVBQUUsRUFBRTtRQUNYRixZQUFZRCxJQUFJLENBQUM7SUFDckI7SUFDQSxNQUFNWSxVQUFVaEosR0FBR2lJLGdCQUFnQkssc0JBQXNCSTtJQUN6RCxJQUFJLENBQUNWLFdBQVc7UUFDWiw0RUFBNEU7UUFDNUVBLFlBQVloTCxRQUFRdUIsT0FBTyxDQUFDMEssV0FBVyxDQUFDRixPQUFPQyxTQUFTO1lBQ3BERSxvQkFBb0I1SyxvQkFBb0JDLE9BQU87UUFDbkQ7UUFDQSx1R0FBdUc7UUFDdkcwSixnQkFBZ0I7SUFDcEIsT0FBTztRQUNILE1BQU1rQixrQkFBa0JyTSxPQUFPeUIsT0FBTyxDQUFDNEssZUFBZTtRQUN0REEsZ0JBQWdCO1lBQ1puQixVQUFVL0YsTUFBTSxDQUFDK0c7UUFDckI7SUFDSjtBQUNKO0FBQ0EsU0FBU0ksS0FBSzdFLEtBQUs7O0lBQ2YsSUFBSSxFQUFFOEUsU0FBUyxFQUFHbkgsUUFBUSxFQUFHLEdBQUdxQztJQUNoQyxtRUFBbUU7SUFDbkUsc0NBQXNDO0lBQ3RDekgsT0FBT3lCLE9BQU8sQ0FBQ3dKLGVBQWUsQ0FBQyxJQUFJc0IsVUFBVWxCLE9BQU8sQ0FBQyxDQUFDTCxXQUFXQSxhQUFhO1FBQzFFdUI7S0FDSDtJQUNELDBFQUEwRTtJQUMxRSxtQ0FBbUM7SUFDbkN2TSxPQUFPeUIsT0FBTyxDQUFDK0ssU0FBUyxDQUFDO1FBQ3BCLElBQUcxTCxvQkFBb0JXLE9BQU8sRUFBRWlCO0lBQ3JDLEdBQUcsRUFBRTtJQUNMLElBQUlrQixLQUE0QixFQUFFLEVBUWpDO0lBQ0QsT0FBT3dCO0FBQ1g7SUF0QlNrSDtNQUFBQTtBQXVCVCxTQUFTeEMsU0FBU25JLEtBQUs7SUFDbkIsSUFBSSxFQUFFeUcsR0FBRyxFQUFHdkYsU0FBUyxFQUFHSSxLQUFLLEVBQUd3QixHQUFHLEVBQUcsR0FBRzlDO0lBQ3pDLElBQUlvSSxjQUFjLGFBQWFwSSxRQUFRSyxZQUFZTCxNQUFNb0ksV0FBVztJQUNwRWxILFlBQVlBLGFBQWFQLGFBQWFPLFNBQVM7SUFDL0NJLFFBQVFBLFNBQVNYLGFBQWFXLEtBQUs7SUFDbkMsTUFBTW9GLFdBQVc7UUFDYixHQUFHcEYsS0FBSztRQUNSSjtRQUNBNEI7UUFDQXJGO0lBQ0o7SUFDQSwrRkFBK0Y7SUFDL0ZrRCxlQUFlK0Y7SUFDZixJQUFJdUUsV0FBVztJQUNmLElBQUlDO0lBQ0osTUFBTUMsZ0JBQWdCLElBQUluQyxRQUFRLENBQUNDLFNBQVNtQztRQUN4QyxJQUFJeEssa0JBQWtCO1lBQ2xCQTtRQUNKO1FBQ0FzSyxpQkFBaUI7WUFDYnRLLG1CQUFtQjtZQUNuQnFJO1FBQ0o7UUFDQXJJLG1CQUFtQjtZQUNmcUssV0FBVztZQUNYckssbUJBQW1CO1lBQ25CLE1BQU1vRyxRQUFRLElBQUlxRSxNQUFNO1lBQ3hCckUsTUFBTWpFLFNBQVMsR0FBRztZQUNsQnFJLE9BQU9wRTtRQUNYO0lBQ0o7SUFDQSx5RUFBeUU7SUFDekUseUNBQXlDO0lBQ3pDLFNBQVNzRTtRQUNMLElBQUksQ0FBQ2xELGVBQWUsd0VBQXdFO1FBQzVGLDhCQUE4QjtRQXpidEMsa0JBMGJpQyxjQUFjO1lBQ25DLE9BQU87UUFDWDtRQUNBLE1BQU1tRCxtQkFBbUJ4TCxhQUFhcUQsU0FBU29JLGdCQUFnQixDQUFDO1FBQ2hFLE1BQU1DLGVBQWUsSUFBSUMsSUFBSUgsaUJBQWlCbkYsR0FBRyxDQUFDLENBQUN1RixNQUFNQSxJQUFJQyxZQUFZLENBQUM7UUFDMUUsTUFBTUMsV0FBV3pJLFNBQVMwSSxhQUFhLENBQUM7UUFDeEMsTUFBTUMsUUFBUUYsWUFBWSxPQUFPLEtBQUssSUFBSUEsU0FBU0QsWUFBWSxDQUFDO1FBQ2hFeEQsWUFBWXNCLE9BQU8sQ0FBQyxDQUFDNUQ7WUFDakIsSUFBSSxFQUFFa0csSUFBSSxFQUFHQyxJQUFJLEVBQUcsR0FBR25HO1lBQ3ZCLElBQUksQ0FBQzJGLGFBQWFTLEdBQUcsQ0FBQ0YsT0FBTztnQkFDekIsTUFBTUcsV0FBVy9JLFNBQVNPLGFBQWEsQ0FBQztnQkFDeEN3SSxTQUFTQyxZQUFZLENBQUMsZUFBZUo7Z0JBQ3JDRyxTQUFTQyxZQUFZLENBQUMsU0FBUztnQkFDL0IsSUFBSUwsT0FBTztvQkFDUEksU0FBU0MsWUFBWSxDQUFDLFNBQVNMO2dCQUNuQztnQkFDQTNJLFNBQVNpSixJQUFJLENBQUNDLFdBQVcsQ0FBQ0g7Z0JBQzFCQSxTQUFTRyxXQUFXLENBQUNsSixTQUFTbUosY0FBYyxDQUFDTjtZQUNqRDtRQUNKO1FBQ0EsT0FBTztJQUNYO0lBQ0EsU0FBU087UUFDTCxJQUNBLDhCQUE4QjtRQWxkdEMsS0FzZGlCdkIsRUFBRSxFQThCVjtRQUNELElBQUlqTCxNQUFNbU4sTUFBTSxFQUFFO1lBQ2QsTUFBTSxFQUFFQyxDQUFDLEVBQUdDLENBQUMsRUFBRyxHQUFHck4sTUFBTW1OLE1BQU07WUFDOUIsSUFBR3hPLG9CQUFvQjJPLGtCQUFrQixFQUFFO2dCQUN4Q3RKLE9BQU91SixRQUFRLENBQUNILEdBQUdDO1lBQ3ZCO1FBQ0o7SUFDSjtJQUNBLFNBQVNHO1FBQ0x0QztJQUNKO0lBQ0FJO0lBQ0EsTUFBTW1DLE9BQU8sV0FBVyxHQUFHcFAsT0FBT3lCLE9BQU8sQ0FBQzZELGFBQWEsQ0FBQ3RGLE9BQU95QixPQUFPLENBQUM0TixRQUFRLEVBQUUsTUFBTSxXQUFXLEdBQUdyUCxPQUFPeUIsT0FBTyxDQUFDNkQsYUFBYSxDQUFDeUYsTUFBTTtRQUNwSUMsVUFBVW1EO0lBQ2QsSUFBSSxXQUFXLEdBQUduTyxPQUFPeUIsT0FBTyxDQUFDNkQsYUFBYSxDQUFDZ0QsY0FBYyxNQUFNSCxVQUFVQyxLQUFLQyxXQUFXLFdBQVcsR0FBR3JJLE9BQU95QixPQUFPLENBQUM2RCxhQUFhLENBQUMzRSxRQUFRMk8sTUFBTSxFQUFFO1FBQ3BKQyxNQUFNO0lBQ1YsR0FBRyxXQUFXLEdBQUd2UCxPQUFPeUIsT0FBTyxDQUFDNkQsYUFBYSxDQUFDdkUsZ0JBQWdCeU8sY0FBYyxFQUFFO0lBQzlFLGlGQUFpRjtJQUNqRnhELG1CQUFtQjdKLFlBQVksQ0FBQzZJLFdBQVcsV0FBVyxHQUFHaEwsT0FBT3lCLE9BQU8sQ0FBQzZELGFBQWEsQ0FBQ2dILE1BQU07WUFDcEZDLFdBQVc7Z0JBQ1B2QjtnQkFDQW1FO2FBQ0g7UUFDTCxHQUFHdkwsS0FBOEIsR0FBRyxXQUFXLEdBQUc1RCxPQUFPeUIsT0FBTyxDQUFDNkQsYUFBYSxDQUFDdEYsT0FBT3lCLE9BQU8sQ0FBQ2lPLFVBQVUsRUFBRSxNQUFNTixRQUFRQSxDQUFJQTtJQUNoSSxPQUFPdEM7QUFDWDtBQUNBLGVBQWUzSCxPQUFPd0ssY0FBYztJQUNoQyxJQUFJQSxlQUFlbEwsR0FBRyxFQUFFO1FBQ3BCLE1BQU1tRSxZQUFZK0c7UUFDbEI7SUFDSjtJQUNBLElBQUk7UUFDQSxNQUFNN0YsU0FBUzZGO0lBQ25CLEVBQUUsT0FBT2xMLEtBQUs7UUFDVixNQUFNbUwsWUFBWSxDQUFDLEdBQUczTyxTQUFTNE8sY0FBYyxFQUFFcEw7UUFDL0MsK0JBQStCO1FBQy9CLElBQUltTCxVQUFVbEwsU0FBUyxFQUFFO1lBQ3JCLE1BQU1rTDtRQUNWO1FBQ0EsSUFBSWhNLElBQXNDLEVBQUU7WUFDeEMsK0RBQStEO1lBQy9EcUIsV0FBVztnQkFDUCxNQUFNMks7WUFDVjtRQUNKO1FBQ0EsTUFBTWhILFlBQVk7WUFDZCxHQUFHK0csY0FBYztZQUNqQmxMLEtBQUttTDtRQUNUO0lBQ0o7QUFDSjtBQUNBLGVBQWVyUSxRQUFRZ0csSUFBSTtJQUN2QixJQUFJdUssYUFBYWhPLFlBQVkyQyxHQUFHO0lBQ2hDLElBQUk7UUFDQSxNQUFNc0wsZ0JBQWdCLE1BQU03TixXQUFXMEYsV0FBVyxDQUFDb0ksY0FBYyxDQUFDO1FBQ2xFLElBQUksV0FBV0QsZUFBZTtZQUMxQixNQUFNQSxjQUFjcEgsS0FBSztRQUM3QjtRQUNBLE1BQU0sRUFBRXNILFdBQVdDLEdBQUcsRUFBR2xSLFNBQVNtUixHQUFHLEVBQUcsR0FBR0o7UUFDM0N0TixZQUFZeU47UUFDWixJQUFJQyxPQUFPQSxJQUFJQyxlQUFlLEVBQUU7WUFDNUIxTixjQUFjLENBQUMrRTtnQkFDWCxJQUFJLEVBQUU0SSxFQUFFLEVBQUcxUSxJQUFJLEVBQUcyUSxTQUFTLEVBQUdyUixLQUFLLEVBQUdzUixRQUFRLEVBQUdDLFNBQVMsRUFBR0MsT0FBTyxFQUFHQyxXQUFXLEVBQUcsR0FBR2pKO2dCQUN4RixzREFBc0Q7Z0JBQ3RELE1BQU1rSixXQUFXQyxLQUFLQyxHQUFHLEtBQUssTUFBT0MsQ0FBQUEsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQU0sUUFBTyxNQUFNLElBQUc7Z0JBQ2pGLElBQUlDO2dCQUNKLElBQUlSLFdBQVdBLFFBQVEzRSxNQUFNLEVBQUU7b0JBQzNCbUYsaUJBQWlCUixPQUFPLENBQUMsRUFBRSxDQUFDSCxTQUFTO2dCQUN6QztnQkFDQSxNQUFNWSxZQUFZO29CQUNkYixJQUFJQSxNQUFNTTtvQkFDVmhSO29CQUNBMlEsV0FBV0EsYUFBYVc7b0JBQ3hCaFMsT0FBT0EsU0FBUyxPQUFPc1IsV0FBV3RSO29CQUNsQ2tTLE9BQU9YLGNBQWMsVUFBVUEsY0FBYyxZQUFZLFdBQVc7Z0JBQ3hFO2dCQUNBLElBQUlFLGFBQWE7b0JBQ2JRLFVBQVVSLFdBQVcsR0FBR0E7Z0JBQzVCO2dCQUNBUCxJQUFJQyxlQUFlLENBQUNjO1lBQ3hCO1FBQ0o7UUFDQSxNQUFNRSxpQkFDTix3REFBd0Q7UUF2a0JoRSxLQXdrQjhDLElBQUl0UCxZQUFZMkMsR0FBRyxHQUFHO1lBQ3hEa0UsT0FBTzdHLFlBQVkyQyxHQUFHO1FBQzFCLElBQUksTUFBTXZDLFdBQVcwRixXQUFXLENBQUNvSSxjQUFjLENBQUNsTyxZQUFZb0ksSUFBSTtRQUNoRSxJQUFJLFdBQVdrSCxnQkFBZ0I7WUFDM0IsTUFBTUEsZUFBZXpJLEtBQUs7UUFDOUI7UUFDQWhHLGtCQUFrQnlPLGVBQWVuQixTQUFTO1FBQzFDLElBQUlyTSxJQUFxQyxFQUFFO1lBQ3ZDLE1BQU0sRUFBRXlOLGtCQUFrQixFQUFHLEdBQUd0UixtQkFBT0EsQ0FBQyx3RkFBNkI7WUFDckUsSUFBSSxDQUFDc1IsbUJBQW1CMU8sa0JBQWtCO2dCQUN0QyxNQUFNLElBQUlxSyxNQUFNLDJEQUEyRGxMLFlBQVlvSSxJQUFJLEdBQUc7WUFDbEc7UUFDSjtJQUNKLEVBQUUsT0FBT3ZCLE9BQU87UUFDWixpRUFBaUU7UUFDakVtSCxhQUFhLENBQUMsR0FBRzdPLFNBQVM0TyxjQUFjLEVBQUVsSDtJQUM5QztJQUNBLElBQUkvRSxJQUFzQyxFQUFFO1FBQ3hDLE1BQU0sRUFBRTBOLGNBQWMsRUFBRyxHQUFHdlIsbUJBQU9BLENBQUMsd0lBQXdEO1FBQzVGLHdFQUF3RTtRQUN4RSxnQ0FBZ0M7UUFDaEMsSUFBSStQLFlBQVk7WUFDWixJQUFJQSxlQUFlaE8sWUFBWTJDLEdBQUcsRUFBRTtnQkFDaENRLFdBQVc7b0JBQ1AsSUFBSTBEO29CQUNKLElBQUk7d0JBQ0EsbUVBQW1FO3dCQUNuRSxrRUFBa0U7d0JBQ2xFLDRDQUE0Qzt3QkFDNUMsTUFBTSxJQUFJcUUsTUFBTThDLFdBQVd5QixPQUFPO29CQUN0QyxFQUFFLE9BQU9DLEdBQUc7d0JBQ1I3SSxRQUFRNkk7b0JBQ1o7b0JBQ0E3SSxNQUFNaEosSUFBSSxHQUFHbVEsV0FBV25RLElBQUk7b0JBQzVCZ0osTUFBTThJLEtBQUssR0FBRzNCLFdBQVcyQixLQUFLO29CQUM5QixNQUFNSCxlQUFlM0ksT0FBT21ILFdBQVc0QixNQUFNO2dCQUNqRDtZQUNKLE9BQU87Z0JBQ0h6TSxXQUFXO29CQUNQLE1BQU02SztnQkFDVjtZQUNKO1FBQ0o7SUFDSjtJQUNBLElBQUluSyxPQUFPZ00sbUJBQW1CLEVBQUU7UUFDNUIsTUFBTWhNLE9BQU9nTSxtQkFBbUIsQ0FBQzdQLFlBQVk4UCxVQUFVO0lBQzNEO0lBQ0F4UyxTQUFTLENBQUMsR0FBRzRCLFFBQVE2USxZQUFZLEVBQUUvUCxZQUFZb0ksSUFBSSxFQUFFcEksWUFBWXNDLEtBQUssRUFBRW5DLFFBQVE7UUFDNUU2UCxjQUFjaFEsWUFBWW1CLEtBQUs7UUFDL0JmO1FBQ0FrRyxLQUFLM0Y7UUFDTEksV0FBV0Y7UUFDWCtHO1FBQ0FqRixLQUFLcUw7UUFDTHhNLFlBQVl5TyxRQUFRalEsWUFBWXdCLFVBQVU7UUFDMUMwTyxjQUFjLENBQUNoUCxNQUFNb0YsS0FBSzBHLFNBQVMzSixPQUFPckcsT0FBT29GLE1BQU0sQ0FBQyxDQUFDLEdBQUdsQixNQUFNO2dCQUMxRG9GO2dCQUNBMEc7WUFDSjtRQUNKN0gsUUFBUW5GLFlBQVltRixNQUFNO1FBQzFCSixTQUFTL0UsWUFBWStFLE9BQU87UUFDNUI5RTtRQUNBa1EsZUFBZW5RLFlBQVltUSxhQUFhO1FBQ3hDQyxXQUFXcFEsWUFBWW9RLFNBQVM7SUFDcEM7SUFDQTdQLDJCQUEyQixNQUFNakQsT0FBTytTLGdDQUFnQztJQUN4RSxNQUFNQyxZQUFZO1FBQ2RoSyxLQUFLM0Y7UUFDTDRQLFNBQVM7UUFDVHhQLFdBQVdGO1FBQ1hNLE9BQU9uQixZQUFZbUIsS0FBSztRQUN4QndCLEtBQUtxTDtJQUNUO0lBQ0EsSUFBSXZLLFFBQVEsT0FBTyxLQUFLLElBQUlBLEtBQUsrTSxZQUFZLEVBQUU7UUFDM0MsTUFBTS9NLEtBQUsrTSxZQUFZO0lBQzNCO0lBQ0FuTixPQUFPaU47QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPcFQsUUFBUXlDLE9BQU8sS0FBSyxjQUFlLE9BQU96QyxRQUFReUMsT0FBTyxLQUFLLFlBQVl6QyxRQUFReUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPekMsUUFBUXlDLE9BQU8sQ0FBQzhRLFVBQVUsS0FBSyxhQUFhO0lBQ3JLelQsT0FBT0MsY0FBYyxDQUFDQyxRQUFReUMsT0FBTyxFQUFFLGNBQWM7UUFBRXhDLE9BQU87SUFBSztJQUNuRUgsT0FBT29GLE1BQU0sQ0FBQ2xGLFFBQVF5QyxPQUFPLEVBQUV6QztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFReUMsT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbmRleC5qcz80NmNiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBsb2NhdGlvbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHZlcnNpb246IG51bGwsXG4gICAgcm91dGVyOiBudWxsLFxuICAgIGVtaXR0ZXI6IG51bGwsXG4gICAgaW5pdGlhbGl6ZTogbnVsbCxcbiAgICBoeWRyYXRlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHZlcnNpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmVyc2lvbjtcbiAgICB9LFxuICAgIHJvdXRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByb3V0ZXI7XG4gICAgfSxcbiAgICBlbWl0dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVtaXR0ZXI7XG4gICAgfSxcbiAgICBpbml0aWFsaXplOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGluaXRpYWxpemU7XG4gICAgfSxcbiAgICBoeWRyYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGh5ZHJhdGU7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xucmVxdWlyZShcIi4uL2J1aWxkL3BvbHlmaWxscy9wb2x5ZmlsbC1tb2R1bGVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfY2xpZW50ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3QtZG9tL2NsaWVudFwiKSk7XG5jb25zdCBfaGVhZG1hbmFnZXJjb250ZXh0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHRcIik7XG5jb25zdCBfbWl0dCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4uL3NoYXJlZC9saWIvbWl0dFwiKSk7XG5jb25zdCBfcm91dGVyY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0XCIpO1xuY29uc3QgX2hhbmRsZXNtb290aHNjcm9sbCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbFwiKTtcbmNvbnN0IF9pc2R5bmFtaWMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pY1wiKTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZ1wiKTtcbmNvbnN0IF9ydW50aW1lY29uZmlnID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcnVudGltZS1jb25maWdcIik7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi91dGlsc1wiKTtcbmNvbnN0IF9wb3J0YWwgPSByZXF1aXJlKFwiLi9wb3J0YWxcIik7XG5jb25zdCBfaGVhZG1hbmFnZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL2hlYWQtbWFuYWdlclwiKSk7XG5jb25zdCBfcGFnZWxvYWRlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vcGFnZS1sb2FkZXJcIikpO1xuY29uc3QgX3BlcmZvcm1hbmNlcmVsYXllciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vcGVyZm9ybWFuY2UtcmVsYXllclwiKSk7XG5jb25zdCBfcm91dGVhbm5vdW5jZXIgPSByZXF1aXJlKFwiLi9yb3V0ZS1hbm5vdW5jZXJcIik7XG5jb25zdCBfcm91dGVyID0gcmVxdWlyZShcIi4vcm91dGVyXCIpO1xuY29uc3QgX2lzZXJyb3IgPSByZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpO1xuY29uc3QgX2ltYWdlY29uZmlnY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0XCIpO1xuY29uc3QgX3JlbW92ZWJhc2VwYXRoID0gcmVxdWlyZShcIi4vcmVtb3ZlLWJhc2UtcGF0aFwiKTtcbmNvbnN0IF9oYXNiYXNlcGF0aCA9IHJlcXVpcmUoXCIuL2hhcy1iYXNlLXBhdGhcIik7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dFwiKTtcbmNvbnN0IF9hZGFwdGVycyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci9hZGFwdGVyc1wiKTtcbmNvbnN0IF9ob29rc2NsaWVudGNvbnRleHQgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dFwiKTtcbmNvbnN0IF9vbnJlY292ZXJhYmxlZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL29uLXJlY292ZXJhYmxlLWVycm9yXCIpKTtcbmNvbnN0IHZlcnNpb24gPSBcIjEzLjQuMTNcIjtcbmxldCByb3V0ZXI7XG5jb25zdCBlbWl0dGVyID0gKDAsIF9taXR0LmRlZmF1bHQpKCk7XG5jb25zdCBsb29zZVRvQXJyYXkgPSAoaW5wdXQpPT5bXS5zbGljZS5jYWxsKGlucHV0KTtcbmxldCBpbml0aWFsRGF0YTtcbmxldCBkZWZhdWx0TG9jYWxlID0gdW5kZWZpbmVkO1xubGV0IGFzUGF0aDtcbmxldCBwYWdlTG9hZGVyO1xubGV0IGFwcEVsZW1lbnQ7XG5sZXQgaGVhZE1hbmFnZXI7XG5sZXQgaW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlID0gZmFsc2U7XG5sZXQgbGFzdEFwcFByb3BzO1xubGV0IGxhc3RSZW5kZXJSZWplY3Q7XG5sZXQgd2VicGFja0hNUjtcbmxldCBDYWNoZWRBcHAsIG9uUGVyZkVudHJ5O1xubGV0IENhY2hlZENvbXBvbmVudDtcbmNsYXNzIENvbnRhaW5lciBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgY29tcG9uZW50RGlkQ2F0Y2goY29tcG9uZW50RXJyLCBpbmZvKSB7XG4gICAgICAgIHRoaXMucHJvcHMuZm4oY29tcG9uZW50RXJyLCBpbmZvKTtcbiAgICB9XG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9IYXNoKCk7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gcmVwbGFjZSB0aGUgcm91dGVyIHN0YXRlIGlmOlxuICAgICAgICAvLyAtIHRoZSBwYWdlIHdhcyAoYXV0bykgZXhwb3J0ZWQgYW5kIGhhcyBhIHF1ZXJ5IHN0cmluZyBvciBzZWFyY2ggKGhhc2gpXG4gICAgICAgIC8vIC0gaXQgd2FzIGF1dG8gZXhwb3J0ZWQgYW5kIGlzIGEgZHluYW1pYyByb3V0ZSAodG8gcHJvdmlkZSBwYXJhbXMpXG4gICAgICAgIC8vIC0gaWYgaXQgaXMgYSBjbGllbnQtc2lkZSBza2VsZXRvbiAoZmFsbGJhY2sgcmVuZGVyKVxuICAgICAgICAvLyAtIGlmIG1pZGRsZXdhcmUgbWF0Y2hlcyB0aGUgY3VycmVudCBwYWdlIChtYXkgaGF2ZSByZXdyaXRlIHBhcmFtcylcbiAgICAgICAgLy8gLSBpZiByZXdyaXRlcyBpbiBuZXh0LmNvbmZpZy5qcyBtYXRjaCAobWF5IGhhdmUgcmV3cml0ZSBwYXJhbXMpXG4gICAgICAgIGlmIChyb3V0ZXIuaXNTc3IgJiYgKGluaXRpYWxEYXRhLmlzRmFsbGJhY2sgfHwgaW5pdGlhbERhdGEubmV4dEV4cG9ydCAmJiAoKDAsIF9pc2R5bmFtaWMuaXNEeW5hbWljUm91dGUpKHJvdXRlci5wYXRobmFtZSkgfHwgbG9jYXRpb24uc2VhcmNoIHx8IHByb2Nlc3MuZW52Ll9fTkVYVF9IQVNfUkVXUklURVMgfHwgaW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlKSB8fCBpbml0aWFsRGF0YS5wcm9wcyAmJiBpbml0aWFsRGF0YS5wcm9wcy5fX05fU1NHICYmIChsb2NhdGlvbi5zZWFyY2ggfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0hBU19SRVdSSVRFUyB8fCBpbml0aWFsTWF0Y2hlc01pZGRsZXdhcmUpKSkge1xuICAgICAgICAgICAgLy8gdXBkYXRlIHF1ZXJ5IG9uIG1vdW50IGZvciBleHBvcnRlZCBwYWdlc1xuICAgICAgICAgICAgcm91dGVyLnJlcGxhY2Uocm91dGVyLnBhdGhuYW1lICsgXCI/XCIgKyBTdHJpbmcoKDAsIF9xdWVyeXN0cmluZy5hc3NpZ24pKCgwLCBfcXVlcnlzdHJpbmcudXJsUXVlcnlUb1NlYXJjaFBhcmFtcykocm91dGVyLnF1ZXJ5KSwgbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpKSksIGFzUGF0aCwge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBXQVJOSU5HOiBgX2hgIGlzIGFuIGludGVybmFsIG9wdGlvbiBmb3IgaGFuZGluZyBOZXh0LmpzXG4gICAgICAgICAgICAgICAgLy8gY2xpZW50LXNpZGUgaHlkcmF0aW9uLiBZb3VyIGFwcCBzaG91bGQgX25ldmVyXyB1c2UgdGhpcyBwcm9wZXJ0eS5cbiAgICAgICAgICAgICAgICAvLyBJdCBtYXkgY2hhbmdlIGF0IGFueSB0aW1lIHdpdGhvdXQgbm90aWNlLlxuICAgICAgICAgICAgICAgIF9oOiAxLFxuICAgICAgICAgICAgICAgIC8vIEZhbGxiYWNrIHBhZ2VzIG11c3QgdHJpZ2dlciB0aGUgZGF0YSBmZXRjaCwgc28gdGhlIHRyYW5zaXRpb24gaXNcbiAgICAgICAgICAgICAgICAvLyBub3Qgc2hhbGxvdy5cbiAgICAgICAgICAgICAgICAvLyBPdGhlciBwYWdlcyAoc3RyaWN0bHkgdXBkYXRpbmcgcXVlcnkpIGhhcHBlbnMgc2hhbGxvd2x5LCBhcyBkYXRhXG4gICAgICAgICAgICAgICAgLy8gcmVxdWlyZW1lbnRzIHdvdWxkIGFscmVhZHkgYmUgcHJlc2VudC5cbiAgICAgICAgICAgICAgICBzaGFsbG93OiAhaW5pdGlhbERhdGEuaXNGYWxsYmFjayAmJiAhaW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlXG4gICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICAgICAgICAgIGlmICghZXJyLmNhbmNlbGxlZCkgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgICB0aGlzLnNjcm9sbFRvSGFzaCgpO1xuICAgIH1cbiAgICBzY3JvbGxUb0hhc2goKSB7XG4gICAgICAgIGxldCB7IGhhc2ggIH0gPSBsb2NhdGlvbjtcbiAgICAgICAgaGFzaCA9IGhhc2ggJiYgaGFzaC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGlmICghaGFzaCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGhhc2gpO1xuICAgICAgICBpZiAoIWVsKSByZXR1cm47XG4gICAgICAgIC8vIElmIHdlIGNhbGwgc2Nyb2xsSW50b1ZpZXcoKSBpbiBoZXJlIHdpdGhvdXQgYSBzZXRUaW1lb3V0XG4gICAgICAgIC8vIGl0IHdvbid0IHNjcm9sbCBwcm9wZXJseS5cbiAgICAgICAgc2V0VGltZW91dCgoKT0+ZWwuc2Nyb2xsSW50b1ZpZXcoKSwgMCk7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB7IFJlYWN0RGV2T3ZlcmxheSAgfSA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtZGV2LW92ZXJsYXkvZGlzdC9jbGllbnRcIik7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFJlYWN0RGV2T3ZlcmxheSwgbnVsbCwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICB9XG59XG5hc3luYyBmdW5jdGlvbiBpbml0aWFsaXplKG9wdHMpIHtcbiAgICBpZiAob3B0cyA9PT0gdm9pZCAwKSBvcHRzID0ge307XG4gICAgLy8gVGhpcyBtYWtlcyBzdXJlIHRoaXMgc3BlY2lmaWMgbGluZXMgYXJlIHJlbW92ZWQgaW4gcHJvZHVjdGlvblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIHdlYnBhY2tITVIgPSBvcHRzLndlYnBhY2tITVI7XG4gICAgfVxuICAgIGluaXRpYWxEYXRhID0gSlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIl9fTkVYVF9EQVRBX19cIikudGV4dENvbnRlbnQpO1xuICAgIHdpbmRvdy5fX05FWFRfREFUQV9fID0gaW5pdGlhbERhdGE7XG4gICAgZGVmYXVsdExvY2FsZSA9IGluaXRpYWxEYXRhLmRlZmF1bHRMb2NhbGU7XG4gICAgY29uc3QgcHJlZml4ID0gaW5pdGlhbERhdGEuYXNzZXRQcmVmaXggfHwgXCJcIjtcbiAgICBzZWxmLl9fbmV4dF9zZXRfcHVibGljX3BhdGhfXyhcIlwiICsgcHJlZml4ICsgXCIvX25leHQvXCIpIC8vZXNsaW50LWRpc2FibGUtbGluZVxuICAgIDtcbiAgICAvLyBJbml0aWFsaXplIG5leHQvY29uZmlnIHdpdGggdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25cbiAgICAoMCwgX3J1bnRpbWVjb25maWcuc2V0Q29uZmlnKSh7XG4gICAgICAgIHNlcnZlclJ1bnRpbWVDb25maWc6IHt9LFxuICAgICAgICBwdWJsaWNSdW50aW1lQ29uZmlnOiBpbml0aWFsRGF0YS5ydW50aW1lQ29uZmlnIHx8IHt9XG4gICAgfSk7XG4gICAgYXNQYXRoID0gKDAsIF91dGlscy5nZXRVUkwpKCk7XG4gICAgLy8gbWFrZSBzdXJlIG5vdCB0byBhdHRlbXB0IHN0cmlwcGluZyBiYXNlUGF0aCBmb3IgNDA0c1xuICAgIGlmICgoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShhc1BhdGgpKSB7XG4gICAgICAgIGFzUGF0aCA9ICgwLCBfcmVtb3ZlYmFzZXBhdGgucmVtb3ZlQmFzZVBhdGgpKGFzUGF0aCk7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgIGNvbnN0IHsgbm9ybWFsaXplTG9jYWxlUGF0aCAgfSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoXCIpO1xuICAgICAgICBjb25zdCB7IGRldGVjdERvbWFpbkxvY2FsZSAgfSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2kxOG4vZGV0ZWN0LWRvbWFpbi1sb2NhbGVcIik7XG4gICAgICAgIGNvbnN0IHsgcGFyc2VSZWxhdGl2ZVVybCAgfSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1yZWxhdGl2ZS11cmxcIik7XG4gICAgICAgIGNvbnN0IHsgZm9ybWF0VXJsICB9ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmxcIik7XG4gICAgICAgIGlmIChpbml0aWFsRGF0YS5sb2NhbGVzKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRBcyA9IHBhcnNlUmVsYXRpdmVVcmwoYXNQYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsZVBhdGhSZXN1bHQgPSBub3JtYWxpemVMb2NhbGVQYXRoKHBhcnNlZEFzLnBhdGhuYW1lLCBpbml0aWFsRGF0YS5sb2NhbGVzKTtcbiAgICAgICAgICAgIGlmIChsb2NhbGVQYXRoUmVzdWx0LmRldGVjdGVkTG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkQXMucGF0aG5hbWUgPSBsb2NhbGVQYXRoUmVzdWx0LnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgIGFzUGF0aCA9IGZvcm1hdFVybChwYXJzZWRBcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGRlcml2ZSB0aGUgZGVmYXVsdCBsb2NhbGUgaWYgaXQgd2Fzbid0IGRldGVjdGVkIGluIHRoZSBhc1BhdGhcbiAgICAgICAgICAgICAgICAvLyBzaW5jZSB3ZSBkb24ndCBwcmVyZW5kZXIgc3RhdGljIHBhZ2VzIHdpdGggYWxsIHBvc3NpYmxlIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAvLyBsb2NhbGVzXG4gICAgICAgICAgICAgICAgZGVmYXVsdExvY2FsZSA9IGluaXRpYWxEYXRhLmxvY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGF0dGVtcHQgZGV0ZWN0aW5nIGRlZmF1bHQgbG9jYWxlIGJhc2VkIG9uIGhvc3RuYW1lXG4gICAgICAgICAgICBjb25zdCBkZXRlY3RlZERvbWFpbiA9IGRldGVjdERvbWFpbkxvY2FsZShwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9ET01BSU5TLCB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xuICAgICAgICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgaWYgZGVmYXVsdExvY2FsZSBuZWVkcyB0byBiZSBwb3B1bGF0ZWQgYWZ0ZXJcbiAgICAgICAgICAgIC8vIGh5ZHJhdGlvbiB0byBwcmV2ZW50IG1pc21hdGNoZWQgcmVuZGVyc1xuICAgICAgICAgICAgaWYgKGRldGVjdGVkRG9tYWluKSB7XG4gICAgICAgICAgICAgICAgZGVmYXVsdExvY2FsZSA9IGRldGVjdGVkRG9tYWluLmRlZmF1bHRMb2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGluaXRpYWxEYXRhLnNjcmlwdExvYWRlcikge1xuICAgICAgICBjb25zdCB7IGluaXRTY3JpcHRMb2FkZXIgIH0gPSByZXF1aXJlKFwiLi9zY3JpcHRcIik7XG4gICAgICAgIGluaXRTY3JpcHRMb2FkZXIoaW5pdGlhbERhdGEuc2NyaXB0TG9hZGVyKTtcbiAgICB9XG4gICAgcGFnZUxvYWRlciA9IG5ldyBfcGFnZWxvYWRlci5kZWZhdWx0KGluaXRpYWxEYXRhLmJ1aWxkSWQsIHByZWZpeCk7XG4gICAgY29uc3QgcmVnaXN0ZXIgPSAocGFyYW0pPT57XG4gICAgICAgIGxldCBbciwgZl0gPSBwYXJhbTtcbiAgICAgICAgcmV0dXJuIHBhZ2VMb2FkZXIucm91dGVMb2FkZXIub25FbnRyeXBvaW50KHIsIGYpO1xuICAgIH07XG4gICAgaWYgKHdpbmRvdy5fX05FWFRfUCkge1xuICAgICAgICAvLyBEZWZlciBwYWdlIHJlZ2lzdHJhdGlvbiBmb3IgYW5vdGhlciB0aWNrLiBUaGlzIHdpbGwgaW5jcmVhc2UgdGhlIG92ZXJhbGxcbiAgICAgICAgLy8gbGF0ZW5jeSBpbiBoeWRyYXRpbmcgdGhlIHBhZ2UsIGJ1dCByZWR1Y2UgdGhlIHRvdGFsIGJsb2NraW5nIHRpbWUuXG4gICAgICAgIHdpbmRvdy5fX05FWFRfUC5tYXAoKHApPT5zZXRUaW1lb3V0KCgpPT5yZWdpc3RlcihwKSwgMCkpO1xuICAgIH1cbiAgICB3aW5kb3cuX19ORVhUX1AgPSBbXTtcbiAgICB3aW5kb3cuX19ORVhUX1AucHVzaCA9IHJlZ2lzdGVyO1xuICAgIGhlYWRNYW5hZ2VyID0gKDAsIF9oZWFkbWFuYWdlci5kZWZhdWx0KSgpO1xuICAgIGhlYWRNYW5hZ2VyLmdldElzU3NyID0gKCk9PntcbiAgICAgICAgcmV0dXJuIHJvdXRlci5pc1NzcjtcbiAgICB9O1xuICAgIGFwcEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIl9fbmV4dFwiKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhc3NldFByZWZpeDogcHJlZml4XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlbmRlckFwcChBcHAsIGFwcFByb3BzKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChBcHAsIGFwcFByb3BzKTtcbn1cbmZ1bmN0aW9uIEFwcENvbnRhaW5lcihwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuICB9ID0gcGFyYW07XG4gICAgLy8gQ3JlYXRlIGEgbWVtb2l6ZWQgdmFsdWUgZm9yIG5leHQvbmF2aWdhdGlvbiByb3V0ZXIgY29udGV4dC5cbiAgICBjb25zdCBhZGFwdGVkRm9yQXBwUm91dGVyID0gX3JlYWN0LmRlZmF1bHQudXNlTWVtbygoKT0+e1xuICAgICAgICByZXR1cm4gKDAsIF9hZGFwdGVycy5hZGFwdEZvckFwcFJvdXRlckluc3RhbmNlKShyb3V0ZXIpO1xuICAgIH0sIFtdKTtcbiAgICB2YXIgX3NlbGZfX19ORVhUX0RBVEFfX19hdXRvRXhwb3J0O1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoQ29udGFpbmVyLCB7XG4gICAgICAgIGZuOiAoZXJyb3IpPT4vLyBUT0RPOiBGaXggZGlzYWJsZWQgZXNsaW50IHJ1bGVcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgICAgICAgIHJlbmRlckVycm9yKHtcbiAgICAgICAgICAgICAgICBBcHA6IENhY2hlZEFwcCxcbiAgICAgICAgICAgICAgICBlcnI6IGVycm9yXG4gICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+Y29uc29sZS5lcnJvcihcIkVycm9yIHJlbmRlcmluZyBwYWdlOiBcIiwgZXJyKSlcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2FwcHJvdXRlcmNvbnRleHQuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICB2YWx1ZTogYWRhcHRlZEZvckFwcFJvdXRlclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfaG9va3NjbGllbnRjb250ZXh0LlNlYXJjaFBhcmFtc0NvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgdmFsdWU6ICgwLCBfYWRhcHRlcnMuYWRhcHRGb3JTZWFyY2hQYXJhbXMpKHJvdXRlcilcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2FkYXB0ZXJzLlBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlciwge1xuICAgICAgICByb3V0ZXI6IHJvdXRlcixcbiAgICAgICAgaXNBdXRvRXhwb3J0OiAoX3NlbGZfX19ORVhUX0RBVEFfX19hdXRvRXhwb3J0ID0gc2VsZi5fX05FWFRfREFUQV9fLmF1dG9FeHBvcnQpICE9IG51bGwgPyBfc2VsZl9fX05FWFRfREFUQV9fX2F1dG9FeHBvcnQgOiBmYWxzZVxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcm91dGVyY29udGV4dC5Sb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiAoMCwgX3JvdXRlci5tYWtlUHVibGljUm91dGVySW5zdGFuY2UpKHJvdXRlcilcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2hlYWRtYW5hZ2VyY29udGV4dC5IZWFkTWFuYWdlckNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgdmFsdWU6IGhlYWRNYW5hZ2VyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9pbWFnZWNvbmZpZ2NvbnRleHQuSW1hZ2VDb25maWdDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiBwcm9jZXNzLmVudi5fX05FWFRfSU1BR0VfT1BUU1xuICAgIH0sIGNoaWxkcmVuKSkpKSkpKTtcbn1cbmNvbnN0IHdyYXBBcHAgPSAoQXBwKT0+KHdyYXBwZWRBcHBQcm9wcyk9PntcbiAgICAgICAgY29uc3QgYXBwUHJvcHMgPSB7XG4gICAgICAgICAgICAuLi53cmFwcGVkQXBwUHJvcHMsXG4gICAgICAgICAgICBDb21wb25lbnQ6IENhY2hlZENvbXBvbmVudCxcbiAgICAgICAgICAgIGVycjogaW5pdGlhbERhdGEuZXJyLFxuICAgICAgICAgICAgcm91dGVyXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoQXBwQ29udGFpbmVyLCBudWxsLCByZW5kZXJBcHAoQXBwLCBhcHBQcm9wcykpO1xuICAgIH07XG4vLyBUaGlzIG1ldGhvZCBoYW5kbGVzIGFsbCBydW50aW1lIGFuZCBkZWJ1ZyBlcnJvcnMuXG4vLyA0MDQgYW5kIDUwMCBlcnJvcnMgYXJlIHNwZWNpYWwga2luZCBvZiBlcnJvcnNcbi8vIGFuZCB0aGV5IGFyZSBzdGlsbCBoYW5kbGUgdmlhIHRoZSBtYWluIHJlbmRlciBtZXRob2QuXG5mdW5jdGlvbiByZW5kZXJFcnJvcihyZW5kZXJFcnJvclByb3BzKSB7XG4gICAgbGV0IHsgQXBwICwgZXJyICB9ID0gcmVuZGVyRXJyb3JQcm9wcztcbiAgICAvLyBJbiBkZXZlbG9wbWVudCBydW50aW1lIGVycm9ycyBhcmUgY2F1Z2h0IGJ5IG91ciBvdmVybGF5XG4gICAgLy8gSW4gcHJvZHVjdGlvbiB3ZSBjYXRjaCBydW50aW1lIGVycm9ycyB1c2luZyBjb21wb25lbnREaWRDYXRjaCB3aGljaCB3aWxsIHRyaWdnZXIgcmVuZGVyRXJyb3JcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIC8vIEEgTmV4dC5qcyByZW5kZXJpbmcgcnVudGltZSBlcnJvciBpcyBhbHdheXMgdW5yZWNvdmVyYWJsZVxuICAgICAgICAvLyBGSVhNRTogbGV0J3MgbWFrZSB0aGlzIHJlY292ZXJhYmxlIChlcnJvciBpbiBHSVAgY2xpZW50LXRyYW5zaXRpb24pXG4gICAgICAgIHdlYnBhY2tITVIub25VbnJlY292ZXJhYmxlRXJyb3IoKTtcbiAgICAgICAgLy8gV2UgbmVlZCB0byByZW5kZXIgYW4gZW1wdHkgPEFwcD4gc28gdGhhdCB0aGUgYDxSZWFjdERldk92ZXJsYXk+YCBjYW5cbiAgICAgICAgLy8gcmVuZGVyIGl0c2VsZi5cbiAgICAgICAgLy8gVE9ETzogRml4IGRpc2FibGVkIGVzbGludCBydWxlXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgICAgcmV0dXJuIGRvUmVuZGVyKHtcbiAgICAgICAgICAgIEFwcDogKCk9Pm51bGwsXG4gICAgICAgICAgICBwcm9wczoge30sXG4gICAgICAgICAgICBDb21wb25lbnQ6ICgpPT5udWxsLFxuICAgICAgICAgICAgc3R5bGVTaGVldHM6IFtdXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBNYWtlIHN1cmUgd2UgbG9nIHRoZSBlcnJvciB0byB0aGUgY29uc29sZSwgb3RoZXJ3aXNlIHVzZXJzIGNhbid0IHRyYWNrIGRvd24gaXNzdWVzLlxuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICBjb25zb2xlLmVycm9yKFwiQSBjbGllbnQtc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkLCBzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9jbGllbnQtc2lkZS1leGNlcHRpb24tb2NjdXJyZWRcIik7XG4gICAgcmV0dXJuIHBhZ2VMb2FkZXIubG9hZFBhZ2UoXCIvX2Vycm9yXCIpLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICBsZXQgeyBwYWdlOiBFcnJvckNvbXBvbmVudCAsIHN0eWxlU2hlZXRzICB9ID0gcGFyYW07XG4gICAgICAgIHJldHVybiAobGFzdEFwcFByb3BzID09IG51bGwgPyB2b2lkIDAgOiBsYXN0QXBwUHJvcHMuQ29tcG9uZW50KSA9PT0gRXJyb3JDb21wb25lbnQgPyBpbXBvcnQoXCIuLi9wYWdlcy9fZXJyb3JcIikudGhlbigoZXJyb3JNb2R1bGUpPT57XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiLi4vcGFnZXMvX2FwcFwiKS50aGVuKChhcHBNb2R1bGUpPT57XG4gICAgICAgICAgICAgICAgQXBwID0gYXBwTW9kdWxlLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgcmVuZGVyRXJyb3JQcm9wcy5BcHAgPSBBcHA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yTW9kdWxlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLnRoZW4oKG0pPT4oe1xuICAgICAgICAgICAgICAgIEVycm9yQ29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgc3R5bGVTaGVldHM6IFtdXG4gICAgICAgICAgICB9KSkgOiB7XG4gICAgICAgICAgICBFcnJvckNvbXBvbmVudCxcbiAgICAgICAgICAgIHN0eWxlU2hlZXRzXG4gICAgICAgIH07XG4gICAgfSkudGhlbigocGFyYW0pPT57XG4gICAgICAgIGxldCB7IEVycm9yQ29tcG9uZW50ICwgc3R5bGVTaGVldHMgIH0gPSBwYXJhbTtcbiAgICAgICAgdmFyIF9yZW5kZXJFcnJvclByb3BzX3Byb3BzO1xuICAgICAgICAvLyBJbiBwcm9kdWN0aW9uIHdlIGRvIGEgbm9ybWFsIHJlbmRlciB3aXRoIHRoZSBgRXJyb3JDb21wb25lbnRgIGFzIGNvbXBvbmVudC5cbiAgICAgICAgLy8gSWYgd2UndmUgZ290dGVuIGhlcmUgdXBvbiBpbml0aWFsIHJlbmRlciwgd2UgY2FuIHVzZSB0aGUgcHJvcHMgZnJvbSB0aGUgc2VydmVyLlxuICAgICAgICAvLyBPdGhlcndpc2UsIHdlIG5lZWQgdG8gY2FsbCBgZ2V0SW5pdGlhbFByb3BzYCBvbiBgQXBwYCBiZWZvcmUgbW91bnRpbmcuXG4gICAgICAgIGNvbnN0IEFwcFRyZWUgPSB3cmFwQXBwKEFwcCk7XG4gICAgICAgIGNvbnN0IGFwcEN0eCA9IHtcbiAgICAgICAgICAgIENvbXBvbmVudDogRXJyb3JDb21wb25lbnQsXG4gICAgICAgICAgICBBcHBUcmVlLFxuICAgICAgICAgICAgcm91dGVyLFxuICAgICAgICAgICAgY3R4OiB7XG4gICAgICAgICAgICAgICAgZXJyLFxuICAgICAgICAgICAgICAgIHBhdGhuYW1lOiBpbml0aWFsRGF0YS5wYWdlLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBpbml0aWFsRGF0YS5xdWVyeSxcbiAgICAgICAgICAgICAgICBhc1BhdGgsXG4gICAgICAgICAgICAgICAgQXBwVHJlZVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCgoX3JlbmRlckVycm9yUHJvcHNfcHJvcHMgPSByZW5kZXJFcnJvclByb3BzLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX3JlbmRlckVycm9yUHJvcHNfcHJvcHMuZXJyKSA/IHJlbmRlckVycm9yUHJvcHMucHJvcHMgOiAoMCwgX3V0aWxzLmxvYWRHZXRJbml0aWFsUHJvcHMpKEFwcCwgYXBwQ3R4KSkudGhlbigoaW5pdFByb3BzKT0+Ly8gVE9ETzogRml4IGRpc2FibGVkIGVzbGludCBydWxlXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgICAgICAgICBkb1JlbmRlcih7XG4gICAgICAgICAgICAgICAgLi4ucmVuZGVyRXJyb3JQcm9wcyxcbiAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgQ29tcG9uZW50OiBFcnJvckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBzdHlsZVNoZWV0cyxcbiAgICAgICAgICAgICAgICBwcm9wczogaW5pdFByb3BzXG4gICAgICAgICAgICB9KSk7XG4gICAgfSk7XG59XG4vLyBEdW1teSBjb21wb25lbnQgdGhhdCB3ZSByZW5kZXIgYXMgYSBjaGlsZCBvZiBSb290IHNvIHRoYXQgd2UgY2FuXG4vLyB0b2dnbGUgdGhlIGNvcnJlY3Qgc3R5bGVzIGJlZm9yZSB0aGUgcGFnZSBpcyByZW5kZXJlZC5cbmZ1bmN0aW9uIEhlYWQocGFyYW0pIHtcbiAgICBsZXQgeyBjYWxsYmFjayAgfSA9IHBhcmFtO1xuICAgIC8vIFdlIHVzZSBgdXNlTGF5b3V0RWZmZWN0YCB0byBndWFyYW50ZWUgdGhlIGNhbGxiYWNrIGlzIGV4ZWN1dGVkXG4gICAgLy8gYXMgc29vbiBhcyBSZWFjdCBmbHVzaGVzIHRoZSB1cGRhdGUuXG4gICAgX3JlYWN0LmRlZmF1bHQudXNlTGF5b3V0RWZmZWN0KCgpPT5jYWxsYmFjaygpLCBbXG4gICAgICAgIGNhbGxiYWNrXG4gICAgXSk7XG4gICAgcmV0dXJuIG51bGw7XG59XG5sZXQgcmVhY3RSb290ID0gbnVsbDtcbi8vIE9uIGluaXRpYWwgcmVuZGVyIGEgaHlkcmF0ZSBzaG91bGQgYWx3YXlzIGhhcHBlblxubGV0IHNob3VsZEh5ZHJhdGUgPSB0cnVlO1xuZnVuY3Rpb24gY2xlYXJNYXJrcygpIHtcbiAgICBbXG4gICAgICAgIFwiYmVmb3JlUmVuZGVyXCIsXG4gICAgICAgIFwiYWZ0ZXJIeWRyYXRlXCIsXG4gICAgICAgIFwiYWZ0ZXJSZW5kZXJcIixcbiAgICAgICAgXCJyb3V0ZUNoYW5nZVwiXG4gICAgXS5mb3JFYWNoKChtYXJrKT0+cGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhtYXJrKSk7XG59XG5mdW5jdGlvbiBtYXJrSHlkcmF0ZUNvbXBsZXRlKCkge1xuICAgIGlmICghX3V0aWxzLlNUKSByZXR1cm47XG4gICAgcGVyZm9ybWFuY2UubWFyayhcImFmdGVySHlkcmF0ZVwiKSAvLyBtYXJrIGVuZCBvZiBoeWRyYXRpb25cbiAgICA7XG4gICAgcGVyZm9ybWFuY2UubWVhc3VyZShcIk5leHQuanMtYmVmb3JlLWh5ZHJhdGlvblwiLCBcIm5hdmlnYXRpb25TdGFydFwiLCBcImJlZm9yZVJlbmRlclwiKTtcbiAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKFwiTmV4dC5qcy1oeWRyYXRpb25cIiwgXCJiZWZvcmVSZW5kZXJcIiwgXCJhZnRlckh5ZHJhdGVcIik7XG4gICAgaWYgKG9uUGVyZkVudHJ5KSB7XG4gICAgICAgIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoXCJOZXh0LmpzLWh5ZHJhdGlvblwiKS5mb3JFYWNoKG9uUGVyZkVudHJ5KTtcbiAgICB9XG4gICAgY2xlYXJNYXJrcygpO1xufVxuZnVuY3Rpb24gbWFya1JlbmRlckNvbXBsZXRlKCkge1xuICAgIGlmICghX3V0aWxzLlNUKSByZXR1cm47XG4gICAgcGVyZm9ybWFuY2UubWFyayhcImFmdGVyUmVuZGVyXCIpIC8vIG1hcmsgZW5kIG9mIHJlbmRlclxuICAgIDtcbiAgICBjb25zdCBuYXZTdGFydEVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKFwicm91dGVDaGFuZ2VcIiwgXCJtYXJrXCIpO1xuICAgIGlmICghbmF2U3RhcnRFbnRyaWVzLmxlbmd0aCkgcmV0dXJuO1xuICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoXCJOZXh0LmpzLXJvdXRlLWNoYW5nZS10by1yZW5kZXJcIiwgbmF2U3RhcnRFbnRyaWVzWzBdLm5hbWUsIFwiYmVmb3JlUmVuZGVyXCIpO1xuICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoXCJOZXh0LmpzLXJlbmRlclwiLCBcImJlZm9yZVJlbmRlclwiLCBcImFmdGVyUmVuZGVyXCIpO1xuICAgIGlmIChvblBlcmZFbnRyeSkge1xuICAgICAgICBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKFwiTmV4dC5qcy1yZW5kZXJcIikuZm9yRWFjaChvblBlcmZFbnRyeSk7XG4gICAgICAgIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoXCJOZXh0LmpzLXJvdXRlLWNoYW5nZS10by1yZW5kZXJcIikuZm9yRWFjaChvblBlcmZFbnRyeSk7XG4gICAgfVxuICAgIGNsZWFyTWFya3MoKTtcbiAgICBbXG4gICAgICAgIFwiTmV4dC5qcy1yb3V0ZS1jaGFuZ2UtdG8tcmVuZGVyXCIsXG4gICAgICAgIFwiTmV4dC5qcy1yZW5kZXJcIlxuICAgIF0uZm9yRWFjaCgobWVhc3VyZSk9PnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMobWVhc3VyZSkpO1xufVxuZnVuY3Rpb24gcmVuZGVyUmVhY3RFbGVtZW50KGRvbUVsLCBmbikge1xuICAgIC8vIG1hcmsgc3RhcnQgb2YgaHlkcmF0ZS9yZW5kZXJcbiAgICBpZiAoX3V0aWxzLlNUKSB7XG4gICAgICAgIHBlcmZvcm1hbmNlLm1hcmsoXCJiZWZvcmVSZW5kZXJcIik7XG4gICAgfVxuICAgIGNvbnN0IHJlYWN0RWwgPSBmbihzaG91bGRIeWRyYXRlID8gbWFya0h5ZHJhdGVDb21wbGV0ZSA6IG1hcmtSZW5kZXJDb21wbGV0ZSk7XG4gICAgaWYgKCFyZWFjdFJvb3QpIHtcbiAgICAgICAgLy8gVW5saWtlIHdpdGggY3JlYXRlUm9vdCwgeW91IGRvbid0IG5lZWQgYSBzZXBhcmF0ZSByb290LnJlbmRlcigpIGNhbGwgaGVyZVxuICAgICAgICByZWFjdFJvb3QgPSBfY2xpZW50LmRlZmF1bHQuaHlkcmF0ZVJvb3QoZG9tRWwsIHJlYWN0RWwsIHtcbiAgICAgICAgICAgIG9uUmVjb3ZlcmFibGVFcnJvcjogX29ucmVjb3ZlcmFibGVlcnJvci5kZWZhdWx0XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBUT0RPOiBSZW1vdmUgc2hvdWxkSHlkcmF0ZSB2YXJpYWJsZSB3aGVuIFJlYWN0IDE4IGlzIHN0YWJsZSBhcyBpdCBjYW4gZGVwZW5kIG9uIGByZWFjdFJvb3RgIGV4aXN0aW5nXG4gICAgICAgIHNob3VsZEh5ZHJhdGUgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGFydFRyYW5zaXRpb24gPSBfcmVhY3QuZGVmYXVsdC5zdGFydFRyYW5zaXRpb247XG4gICAgICAgIHN0YXJ0VHJhbnNpdGlvbigoKT0+e1xuICAgICAgICAgICAgcmVhY3RSb290LnJlbmRlcihyZWFjdEVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZnVuY3Rpb24gUm9vdChwYXJhbSkge1xuICAgIGxldCB7IGNhbGxiYWNrcyAsIGNoaWxkcmVuICB9ID0gcGFyYW07XG4gICAgLy8gV2UgdXNlIGB1c2VMYXlvdXRFZmZlY3RgIHRvIGd1YXJhbnRlZSB0aGUgY2FsbGJhY2tzIGFyZSBleGVjdXRlZFxuICAgIC8vIGFzIHNvb24gYXMgUmVhY3QgZmx1c2hlcyB0aGUgdXBkYXRlXG4gICAgX3JlYWN0LmRlZmF1bHQudXNlTGF5b3V0RWZmZWN0KCgpPT5jYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spPT5jYWxsYmFjaygpKSwgW1xuICAgICAgICBjYWxsYmFja3NcbiAgICBdKTtcbiAgICAvLyBXZSBzaG91bGQgYXNrIHRvIG1lYXN1cmUgdGhlIFdlYiBWaXRhbHMgYWZ0ZXIgcmVuZGVyaW5nIGNvbXBsZXRlcyBzbyB3ZVxuICAgIC8vIGRvbid0IGNhdXNlIGFueSBoeWRyYXRpb24gZGVsYXk6XG4gICAgX3JlYWN0LmRlZmF1bHQudXNlRWZmZWN0KCgpPT57XG4gICAgICAgICgwLCBfcGVyZm9ybWFuY2VyZWxheWVyLmRlZmF1bHQpKG9uUGVyZkVudHJ5KTtcbiAgICB9LCBbXSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgIF9yZWFjdC5kZWZhdWx0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICAgICAgd2luZG93Ll9fTkVYVF9IWURSQVRFRCA9IHRydWU7XG4gICAgICAgICAgICBpZiAod2luZG93Ll9fTkVYVF9IWURSQVRFRF9DQikge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5fX05FWFRfSFlEUkFURURfQ0IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgW10pO1xuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW47XG59XG5mdW5jdGlvbiBkb1JlbmRlcihpbnB1dCkge1xuICAgIGxldCB7IEFwcCAsIENvbXBvbmVudCAsIHByb3BzICwgZXJyICB9ID0gaW5wdXQ7XG4gICAgbGV0IHN0eWxlU2hlZXRzID0gXCJpbml0aWFsXCIgaW4gaW5wdXQgPyB1bmRlZmluZWQgOiBpbnB1dC5zdHlsZVNoZWV0cztcbiAgICBDb21wb25lbnQgPSBDb21wb25lbnQgfHwgbGFzdEFwcFByb3BzLkNvbXBvbmVudDtcbiAgICBwcm9wcyA9IHByb3BzIHx8IGxhc3RBcHBQcm9wcy5wcm9wcztcbiAgICBjb25zdCBhcHBQcm9wcyA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIENvbXBvbmVudCxcbiAgICAgICAgZXJyLFxuICAgICAgICByb3V0ZXJcbiAgICB9O1xuICAgIC8vIGxhc3RBcHBQcm9wcyBoYXMgdG8gYmUgc2V0IGJlZm9yZSBSZWFjdERvbS5yZW5kZXIgdG8gYWNjb3VudCBmb3IgUmVhY3REb20gdGhyb3dpbmcgYW4gZXJyb3IuXG4gICAgbGFzdEFwcFByb3BzID0gYXBwUHJvcHM7XG4gICAgbGV0IGNhbmNlbGVkID0gZmFsc2U7XG4gICAgbGV0IHJlc29sdmVQcm9taXNlO1xuICAgIGNvbnN0IHJlbmRlclByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICBpZiAobGFzdFJlbmRlclJlamVjdCkge1xuICAgICAgICAgICAgbGFzdFJlbmRlclJlamVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJlc29sdmVQcm9taXNlID0gKCk9PntcbiAgICAgICAgICAgIGxhc3RSZW5kZXJSZWplY3QgPSBudWxsO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9O1xuICAgICAgICBsYXN0UmVuZGVyUmVqZWN0ID0gKCk9PntcbiAgICAgICAgICAgIGNhbmNlbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGxhc3RSZW5kZXJSZWplY3QgPSBudWxsO1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXCJDYW5jZWwgcmVuZGVyaW5nIHJvdXRlXCIpO1xuICAgICAgICAgICAgZXJyb3IuY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBoYXMgYSByZXR1cm4gdHlwZSB0byBlbnN1cmUgaXQgZG9lc24ndCBzdGFydCByZXR1cm5pbmcgYVxuICAgIC8vIFByb21pc2UuIEl0IHNob3VsZCByZW1haW4gc3luY2hyb25vdXMuXG4gICAgZnVuY3Rpb24gb25TdGFydCgpIHtcbiAgICAgICAgaWYgKCFzdHlsZVNoZWV0cyB8fCAvLyBXZSB1c2UgYHN0eWxlLWxvYWRlcmAgaW4gZGV2ZWxvcG1lbnQsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmdcbiAgICAgICAgLy8gdW5sZXNzIHdlJ3JlIGluIHByb2R1Y3Rpb246XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTdHlsZVRhZ3MgPSBsb29zZVRvQXJyYXkoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlW2RhdGEtbi1ocmVmXVwiKSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRIcmVmcyA9IG5ldyBTZXQoY3VycmVudFN0eWxlVGFncy5tYXAoKHRhZyk9PnRhZy5nZXRBdHRyaWJ1dGUoXCJkYXRhLW4taHJlZlwiKSkpO1xuICAgICAgICBjb25zdCBub3NjcmlwdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJub3NjcmlwdFtkYXRhLW4tY3NzXVwiKTtcbiAgICAgICAgY29uc3Qgbm9uY2UgPSBub3NjcmlwdCA9PSBudWxsID8gdm9pZCAwIDogbm9zY3JpcHQuZ2V0QXR0cmlidXRlKFwiZGF0YS1uLWNzc1wiKTtcbiAgICAgICAgc3R5bGVTaGVldHMuZm9yRWFjaCgocGFyYW0pPT57XG4gICAgICAgICAgICBsZXQgeyBocmVmICwgdGV4dCAgfSA9IHBhcmFtO1xuICAgICAgICAgICAgaWYgKCFjdXJyZW50SHJlZnMuaGFzKGhyZWYpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3R5bGVUYWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgICAgICAgICAgc3R5bGVUYWcuc2V0QXR0cmlidXRlKFwiZGF0YS1uLWhyZWZcIiwgaHJlZik7XG4gICAgICAgICAgICAgICAgc3R5bGVUYWcuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgXCJ4XCIpO1xuICAgICAgICAgICAgICAgIGlmIChub25jZSkge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZVRhZy5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLCBub25jZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVUYWcpO1xuICAgICAgICAgICAgICAgIHN0eWxlVGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBvbkhlYWRDb21taXQoKSB7XG4gICAgICAgIGlmICgvLyBXZSB1c2UgYHN0eWxlLWxvYWRlcmAgaW4gZGV2ZWxvcG1lbnQsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmdcbiAgICAgICAgLy8gdW5sZXNzIHdlJ3JlIGluIHByb2R1Y3Rpb246XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiAmJiAvLyBXZSBjYW4gc2tpcCB0aGlzIGR1cmluZyBoeWRyYXRpb24uIFJ1bm5pbmcgaXQgd29udCBjYXVzZSBhbnkgaGFybSwgYnV0XG4gICAgICAgIC8vIHdlIG1heSBhcyB3ZWxsIHNhdmUgdGhlIENQVSBjeWNsZXM6XG4gICAgICAgIHN0eWxlU2hlZXRzICYmIC8vIEVuc3VyZSB0aGlzIHJlbmRlciB3YXMgbm90IGNhbmNlbGVkXG4gICAgICAgICFjYW5jZWxlZCkge1xuICAgICAgICAgICAgY29uc3QgZGVzaXJlZEhyZWZzID0gbmV3IFNldChzdHlsZVNoZWV0cy5tYXAoKHMpPT5zLmhyZWYpKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdHlsZVRhZ3MgPSBsb29zZVRvQXJyYXkoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlW2RhdGEtbi1ocmVmXVwiKSk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SHJlZnMgPSBjdXJyZW50U3R5bGVUYWdzLm1hcCgodGFnKT0+dGFnLmdldEF0dHJpYnV0ZShcImRhdGEtbi1ocmVmXCIpKTtcbiAgICAgICAgICAgIC8vIFRvZ2dsZSBgPHN0eWxlPmAgdGFncyBvbiBvciBvZmYgZGVwZW5kaW5nIG9uIGlmIHRoZXkncmUgbmVlZGVkOlxuICAgICAgICAgICAgZm9yKGxldCBpZHggPSAwOyBpZHggPCBjdXJyZW50SHJlZnMubGVuZ3RoOyArK2lkeCl7XG4gICAgICAgICAgICAgICAgaWYgKGRlc2lyZWRIcmVmcy5oYXMoY3VycmVudEhyZWZzW2lkeF0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdHlsZVRhZ3NbaWR4XS5yZW1vdmVBdHRyaWJ1dGUoXCJtZWRpYVwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50U3R5bGVUYWdzW2lkeF0uc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgXCJ4XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFJlb3JkZXIgc3R5bGVzIGludG8gaW50ZW5kZWQgb3JkZXI6XG4gICAgICAgICAgICBsZXQgcmVmZXJlbmNlTm9kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJub3NjcmlwdFtkYXRhLW4tY3NzXVwiKTtcbiAgICAgICAgICAgIGlmICgvLyBUaGlzIHNob3VsZCBiZSBhbiBpbnZhcmlhbnQ6XG4gICAgICAgICAgICByZWZlcmVuY2VOb2RlKSB7XG4gICAgICAgICAgICAgICAgc3R5bGVTaGVldHMuZm9yRWFjaCgocGFyYW0pPT57XG4gICAgICAgICAgICAgICAgICAgIGxldCB7IGhyZWYgIH0gPSBwYXJhbTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0VGFnID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS1uLWhyZWY9XCInICsgaHJlZiArICdcIl0nKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKC8vIFRoaXMgc2hvdWxkIGJlIGFuIGludmFyaWFudDpcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VGFnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VOb2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRhcmdldFRhZywgcmVmZXJlbmNlTm9kZS5uZXh0U2libGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VOb2RlID0gdGFyZ2V0VGFnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGaW5hbGx5LCBjbGVhbiB1cCBzZXJ2ZXIgcmVuZGVyZWQgc3R5bGVzaGVldHM6XG4gICAgICAgICAgICBsb29zZVRvQXJyYXkoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcImxpbmtbZGF0YS1uLXBdXCIpKS5mb3JFYWNoKChlbCk9PntcbiAgICAgICAgICAgICAgICBlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnB1dC5zY3JvbGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgeCAsIHkgIH0gPSBpbnB1dC5zY3JvbGw7XG4gICAgICAgICAgICAoMCwgX2hhbmRsZXNtb290aHNjcm9sbC5oYW5kbGVTbW9vdGhTY3JvbGwpKCgpPT57XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHgsIHkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gb25Sb290Q29tbWl0KCkge1xuICAgICAgICByZXNvbHZlUHJvbWlzZSgpO1xuICAgIH1cbiAgICBvblN0YXJ0KCk7XG4gICAgY29uc3QgZWxlbSA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEhlYWQsIHtcbiAgICAgICAgY2FsbGJhY2s6IG9uSGVhZENvbW1pdFxuICAgIH0pLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoQXBwQ29udGFpbmVyLCBudWxsLCByZW5kZXJBcHAoQXBwLCBhcHBQcm9wcyksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcG9ydGFsLlBvcnRhbCwge1xuICAgICAgICB0eXBlOiBcIm5leHQtcm91dGUtYW5ub3VuY2VyXCJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JvdXRlYW5ub3VuY2VyLlJvdXRlQW5ub3VuY2VyLCBudWxsKSkpKTtcbiAgICAvLyBXZSBjYXRjaCBydW50aW1lIGVycm9ycyB1c2luZyBjb21wb25lbnREaWRDYXRjaCB3aGljaCB3aWxsIHRyaWdnZXIgcmVuZGVyRXJyb3JcbiAgICByZW5kZXJSZWFjdEVsZW1lbnQoYXBwRWxlbWVudCwgKGNhbGxiYWNrKT0+LyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFJvb3QsIHtcbiAgICAgICAgICAgIGNhbGxiYWNrczogW1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrLFxuICAgICAgICAgICAgICAgIG9uUm9vdENvbW1pdFxuICAgICAgICAgICAgXVxuICAgICAgICB9LCBwcm9jZXNzLmVudi5fX05FWFRfU1RSSUNUX01PREUgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuU3RyaWN0TW9kZSwgbnVsbCwgZWxlbSkgOiBlbGVtKSk7XG4gICAgcmV0dXJuIHJlbmRlclByb21pc2U7XG59XG5hc3luYyBmdW5jdGlvbiByZW5kZXIocmVuZGVyaW5nUHJvcHMpIHtcbiAgICBpZiAocmVuZGVyaW5nUHJvcHMuZXJyKSB7XG4gICAgICAgIGF3YWl0IHJlbmRlckVycm9yKHJlbmRlcmluZ1Byb3BzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBhd2FpdCBkb1JlbmRlcihyZW5kZXJpbmdQcm9wcyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlckVyciA9ICgwLCBfaXNlcnJvci5nZXRQcm9wZXJFcnJvcikoZXJyKTtcbiAgICAgICAgLy8gYnViYmxlIHVwIGNhbmNlbGF0aW9uIGVycm9yc1xuICAgICAgICBpZiAocmVuZGVyRXJyLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgdGhyb3cgcmVuZGVyRXJyO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAvLyBFbnN1cmUgdGhpcyBlcnJvciBpcyBkaXNwbGF5ZWQgaW4gdGhlIG92ZXJsYXkgaW4gZGV2ZWxvcG1lbnRcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICAgICB0aHJvdyByZW5kZXJFcnI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCByZW5kZXJFcnJvcih7XG4gICAgICAgICAgICAuLi5yZW5kZXJpbmdQcm9wcyxcbiAgICAgICAgICAgIGVycjogcmVuZGVyRXJyXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmFzeW5jIGZ1bmN0aW9uIGh5ZHJhdGUob3B0cykge1xuICAgIGxldCBpbml0aWFsRXJyID0gaW5pdGlhbERhdGEuZXJyO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGFwcEVudHJ5cG9pbnQgPSBhd2FpdCBwYWdlTG9hZGVyLnJvdXRlTG9hZGVyLndoZW5FbnRyeXBvaW50KFwiL19hcHBcIik7XG4gICAgICAgIGlmIChcImVycm9yXCIgaW4gYXBwRW50cnlwb2ludCkge1xuICAgICAgICAgICAgdGhyb3cgYXBwRW50cnlwb2ludC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGNvbXBvbmVudDogYXBwICwgZXhwb3J0czogbW9kICB9ID0gYXBwRW50cnlwb2ludDtcbiAgICAgICAgQ2FjaGVkQXBwID0gYXBwO1xuICAgICAgICBpZiAobW9kICYmIG1vZC5yZXBvcnRXZWJWaXRhbHMpIHtcbiAgICAgICAgICAgIG9uUGVyZkVudHJ5ID0gKHBhcmFtKT0+e1xuICAgICAgICAgICAgICAgIGxldCB7IGlkICwgbmFtZSAsIHN0YXJ0VGltZSAsIHZhbHVlICwgZHVyYXRpb24gLCBlbnRyeVR5cGUgLCBlbnRyaWVzICwgYXR0cmlidXRpb24gIH0gPSBwYXJhbTtcbiAgICAgICAgICAgICAgICAvLyBDb21iaW5lcyB0aW1lc3RhbXAgd2l0aCByYW5kb20gbnVtYmVyIGZvciB1bmlxdWUgSURcbiAgICAgICAgICAgICAgICBjb25zdCB1bmlxdWVJRCA9IERhdGUubm93KCkgKyBcIi1cIiArIChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoOWUxMiAtIDEpKSArIDFlMTIpO1xuICAgICAgICAgICAgICAgIGxldCBwZXJmU3RhcnRFbnRyeTtcbiAgICAgICAgICAgICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBwZXJmU3RhcnRFbnRyeSA9IGVudHJpZXNbMF0uc3RhcnRUaW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB3ZWJWaXRhbHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpZCB8fCB1bmlxdWVJRCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBzdGFydFRpbWUgfHwgcGVyZlN0YXJ0RW50cnksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSA9PSBudWxsID8gZHVyYXRpb24gOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudHJ5VHlwZSA9PT0gXCJtYXJrXCIgfHwgZW50cnlUeXBlID09PSBcIm1lYXN1cmVcIiA/IFwiY3VzdG9tXCIgOiBcIndlYi12aXRhbFwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAoYXR0cmlidXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgd2ViVml0YWxzLmF0dHJpYnV0aW9uID0gYXR0cmlidXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1vZC5yZXBvcnRXZWJWaXRhbHMod2ViVml0YWxzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFnZUVudHJ5cG9pbnQgPSAvLyBUaGUgZGV2IHNlcnZlciBmYWlscyB0byBzZXJ2ZSBzY3JpcHQgYXNzZXRzIHdoZW4gdGhlcmUncyBhIGh5ZHJhdGlvblxuICAgICAgICAvLyBlcnJvciwgc28gd2UgbmVlZCB0byBza2lwIHdhaXRpbmcgZm9yIHRoZSBlbnRyeXBvaW50LlxuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiICYmIGluaXRpYWxEYXRhLmVyciA/IHtcbiAgICAgICAgICAgIGVycm9yOiBpbml0aWFsRGF0YS5lcnJcbiAgICAgICAgfSA6IGF3YWl0IHBhZ2VMb2FkZXIucm91dGVMb2FkZXIud2hlbkVudHJ5cG9pbnQoaW5pdGlhbERhdGEucGFnZSk7XG4gICAgICAgIGlmIChcImVycm9yXCIgaW4gcGFnZUVudHJ5cG9pbnQpIHtcbiAgICAgICAgICAgIHRocm93IHBhZ2VFbnRyeXBvaW50LmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIENhY2hlZENvbXBvbmVudCA9IHBhZ2VFbnRyeXBvaW50LmNvbXBvbmVudDtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgY29uc3QgeyBpc1ZhbGlkRWxlbWVudFR5cGUgIH0gPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzXCIpO1xuICAgICAgICAgICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUoQ2FjaGVkQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRlZmF1bHQgZXhwb3J0IGlzIG5vdCBhIFJlYWN0IENvbXBvbmVudCBpbiBwYWdlOiBcIicgKyBpbml0aWFsRGF0YS5wYWdlICsgJ1wiJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBUaGlzIGNhdGNoZXMgZXJyb3JzIGxpa2UgdGhyb3dpbmcgaW4gdGhlIHRvcCBsZXZlbCBvZiBhIG1vZHVsZVxuICAgICAgICBpbml0aWFsRXJyID0gKDAsIF9pc2Vycm9yLmdldFByb3BlckVycm9yKShlcnJvcik7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIGNvbnN0IHsgZ2V0U2VydmVyRXJyb3IgIH0gPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LWRldi1vdmVybGF5L2Rpc3QvY2xpZW50XCIpO1xuICAgICAgICAvLyBTZXJ2ZXItc2lkZSBydW50aW1lIGVycm9ycyBuZWVkIHRvIGJlIHJlLXRocm93biBvbiB0aGUgY2xpZW50LXNpZGUgc29cbiAgICAgICAgLy8gdGhhdCB0aGUgb3ZlcmxheSBpcyByZW5kZXJlZC5cbiAgICAgICAgaWYgKGluaXRpYWxFcnIpIHtcbiAgICAgICAgICAgIGlmIChpbml0aWFsRXJyID09PSBpbml0aWFsRGF0YS5lcnIpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGxldCBlcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYXRlIGEgbmV3IGVycm9yIG9iamVjdC4gV2UgYHRocm93YCBpdCBiZWNhdXNlIHNvbWUgYnJvd3NlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpbGwgc2V0IHRoZSBgc3RhY2tgIHdoZW4gdGhyb3duLCBhbmQgd2Ugd2FudCB0byBlbnN1cmUgb3VycyBpc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm90IG92ZXJyaWRkZW4gd2hlbiB3ZSByZS10aHJvdyBpdCBiZWxvdy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihpbml0aWFsRXJyLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXJyb3IubmFtZSA9IGluaXRpYWxFcnIubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3Iuc3RhY2sgPSBpbml0aWFsRXJyLnN0YWNrO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBnZXRTZXJ2ZXJFcnJvcihlcnJvciwgaW5pdGlhbEVyci5zb3VyY2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGluaXRpYWxFcnI7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHdpbmRvdy5fX05FWFRfUFJFTE9BRFJFQURZKSB7XG4gICAgICAgIGF3YWl0IHdpbmRvdy5fX05FWFRfUFJFTE9BRFJFQURZKGluaXRpYWxEYXRhLmR5bmFtaWNJZHMpO1xuICAgIH1cbiAgICByb3V0ZXIgPSAoMCwgX3JvdXRlci5jcmVhdGVSb3V0ZXIpKGluaXRpYWxEYXRhLnBhZ2UsIGluaXRpYWxEYXRhLnF1ZXJ5LCBhc1BhdGgsIHtcbiAgICAgICAgaW5pdGlhbFByb3BzOiBpbml0aWFsRGF0YS5wcm9wcyxcbiAgICAgICAgcGFnZUxvYWRlcixcbiAgICAgICAgQXBwOiBDYWNoZWRBcHAsXG4gICAgICAgIENvbXBvbmVudDogQ2FjaGVkQ29tcG9uZW50LFxuICAgICAgICB3cmFwQXBwLFxuICAgICAgICBlcnI6IGluaXRpYWxFcnIsXG4gICAgICAgIGlzRmFsbGJhY2s6IEJvb2xlYW4oaW5pdGlhbERhdGEuaXNGYWxsYmFjayksXG4gICAgICAgIHN1YnNjcmlwdGlvbjogKGluZm8sIEFwcCwgc2Nyb2xsKT0+cmVuZGVyKE9iamVjdC5hc3NpZ24oe30sIGluZm8sIHtcbiAgICAgICAgICAgICAgICBBcHAsXG4gICAgICAgICAgICAgICAgc2Nyb2xsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgIGxvY2FsZTogaW5pdGlhbERhdGEubG9jYWxlLFxuICAgICAgICBsb2NhbGVzOiBpbml0aWFsRGF0YS5sb2NhbGVzLFxuICAgICAgICBkZWZhdWx0TG9jYWxlLFxuICAgICAgICBkb21haW5Mb2NhbGVzOiBpbml0aWFsRGF0YS5kb21haW5Mb2NhbGVzLFxuICAgICAgICBpc1ByZXZpZXc6IGluaXRpYWxEYXRhLmlzUHJldmlld1xuICAgIH0pO1xuICAgIGluaXRpYWxNYXRjaGVzTWlkZGxld2FyZSA9IGF3YWl0IHJvdXRlci5faW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlUHJvbWlzZTtcbiAgICBjb25zdCByZW5kZXJDdHggPSB7XG4gICAgICAgIEFwcDogQ2FjaGVkQXBwLFxuICAgICAgICBpbml0aWFsOiB0cnVlLFxuICAgICAgICBDb21wb25lbnQ6IENhY2hlZENvbXBvbmVudCxcbiAgICAgICAgcHJvcHM6IGluaXRpYWxEYXRhLnByb3BzLFxuICAgICAgICBlcnI6IGluaXRpYWxFcnJcbiAgICB9O1xuICAgIGlmIChvcHRzID09IG51bGwgPyB2b2lkIDAgOiBvcHRzLmJlZm9yZVJlbmRlcikge1xuICAgICAgICBhd2FpdCBvcHRzLmJlZm9yZVJlbmRlcigpO1xuICAgIH1cbiAgICByZW5kZXIocmVuZGVyQ3R4KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwidmVyc2lvbiIsInJvdXRlciIsImVtaXR0ZXIiLCJpbml0aWFsaXplIiwiaHlkcmF0ZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX2NsaWVudCIsIl9oZWFkbWFuYWdlcmNvbnRleHQiLCJfbWl0dCIsIl9yb3V0ZXJjb250ZXh0IiwiX2hhbmRsZXNtb290aHNjcm9sbCIsIl9pc2R5bmFtaWMiLCJfcXVlcnlzdHJpbmciLCJfcnVudGltZWNvbmZpZyIsIl91dGlscyIsIl9wb3J0YWwiLCJfaGVhZG1hbmFnZXIiLCJfcGFnZWxvYWRlciIsIl9wZXJmb3JtYW5jZXJlbGF5ZXIiLCJfcm91dGVhbm5vdW5jZXIiLCJfcm91dGVyIiwiX2lzZXJyb3IiLCJfaW1hZ2Vjb25maWdjb250ZXh0IiwiX3JlbW92ZWJhc2VwYXRoIiwiX2hhc2Jhc2VwYXRoIiwiX2FwcHJvdXRlcmNvbnRleHQiLCJfYWRhcHRlcnMiLCJfaG9va3NjbGllbnRjb250ZXh0IiwiX29ucmVjb3ZlcmFibGVlcnJvciIsImRlZmF1bHQiLCJsb29zZVRvQXJyYXkiLCJpbnB1dCIsInNsaWNlIiwiY2FsbCIsImluaXRpYWxEYXRhIiwiZGVmYXVsdExvY2FsZSIsInVuZGVmaW5lZCIsImFzUGF0aCIsInBhZ2VMb2FkZXIiLCJhcHBFbGVtZW50IiwiaGVhZE1hbmFnZXIiLCJpbml0aWFsTWF0Y2hlc01pZGRsZXdhcmUiLCJsYXN0QXBwUHJvcHMiLCJsYXN0UmVuZGVyUmVqZWN0Iiwid2VicGFja0hNUiIsIkNhY2hlZEFwcCIsIm9uUGVyZkVudHJ5IiwiQ2FjaGVkQ29tcG9uZW50IiwiQ29udGFpbmVyIiwiQ29tcG9uZW50IiwiY29tcG9uZW50RGlkQ2F0Y2giLCJjb21wb25lbnRFcnIiLCJpbmZvIiwicHJvcHMiLCJmbiIsImNvbXBvbmVudERpZE1vdW50Iiwic2Nyb2xsVG9IYXNoIiwiaXNTc3IiLCJpc0ZhbGxiYWNrIiwibmV4dEV4cG9ydCIsImlzRHluYW1pY1JvdXRlIiwicGF0aG5hbWUiLCJsb2NhdGlvbiIsInNlYXJjaCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSEFTX1JFV1JJVEVTIiwiX19OX1NTRyIsInJlcGxhY2UiLCJTdHJpbmciLCJhc3NpZ24iLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwicXVlcnkiLCJVUkxTZWFyY2hQYXJhbXMiLCJfaCIsInNoYWxsb3ciLCJjYXRjaCIsImVyciIsImNhbmNlbGxlZCIsImNvbXBvbmVudERpZFVwZGF0ZSIsImhhc2giLCJzdWJzdHJpbmciLCJlbCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsSW50b1ZpZXciLCJyZW5kZXIiLCJjaGlsZHJlbiIsIlJlYWN0RGV2T3ZlcmxheSIsImNyZWF0ZUVsZW1lbnQiLCJvcHRzIiwiSlNPTiIsInBhcnNlIiwidGV4dENvbnRlbnQiLCJ3aW5kb3ciLCJfX05FWFRfREFUQV9fIiwicHJlZml4IiwiYXNzZXRQcmVmaXgiLCJzZWxmIiwiX19uZXh0X3NldF9wdWJsaWNfcGF0aF9fIiwic2V0Q29uZmlnIiwic2VydmVyUnVudGltZUNvbmZpZyIsInB1YmxpY1J1bnRpbWVDb25maWciLCJydW50aW1lQ29uZmlnIiwiZ2V0VVJMIiwiaGFzQmFzZVBhdGgiLCJyZW1vdmVCYXNlUGF0aCIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwicGFyc2VSZWxhdGl2ZVVybCIsImZvcm1hdFVybCIsImxvY2FsZXMiLCJwYXJzZWRBcyIsImxvY2FsZVBhdGhSZXN1bHQiLCJkZXRlY3RlZExvY2FsZSIsImxvY2FsZSIsImRldGVjdGVkRG9tYWluIiwiX19ORVhUX0kxOE5fRE9NQUlOUyIsImhvc3RuYW1lIiwic2NyaXB0TG9hZGVyIiwiaW5pdFNjcmlwdExvYWRlciIsImJ1aWxkSWQiLCJyZWdpc3RlciIsInBhcmFtIiwiciIsImYiLCJyb3V0ZUxvYWRlciIsIm9uRW50cnlwb2ludCIsIl9fTkVYVF9QIiwibWFwIiwicCIsInB1c2giLCJnZXRJc1NzciIsInJlbmRlckFwcCIsIkFwcCIsImFwcFByb3BzIiwiQXBwQ29udGFpbmVyIiwiYWRhcHRlZEZvckFwcFJvdXRlciIsInVzZU1lbW8iLCJhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlIiwiX3NlbGZfX19ORVhUX0RBVEFfX19hdXRvRXhwb3J0IiwiZXJyb3IiLCJyZW5kZXJFcnJvciIsImNvbnNvbGUiLCJBcHBSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJTZWFyY2hQYXJhbXNDb250ZXh0IiwiYWRhcHRGb3JTZWFyY2hQYXJhbXMiLCJQYXRobmFtZUNvbnRleHRQcm92aWRlckFkYXB0ZXIiLCJpc0F1dG9FeHBvcnQiLCJhdXRvRXhwb3J0IiwiUm91dGVyQ29udGV4dCIsIm1ha2VQdWJsaWNSb3V0ZXJJbnN0YW5jZSIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIkltYWdlQ29uZmlnQ29udGV4dCIsIl9fTkVYVF9JTUFHRV9PUFRTIiwid3JhcEFwcCIsIndyYXBwZWRBcHBQcm9wcyIsInJlbmRlckVycm9yUHJvcHMiLCJvblVucmVjb3ZlcmFibGVFcnJvciIsImRvUmVuZGVyIiwic3R5bGVTaGVldHMiLCJsb2FkUGFnZSIsInRoZW4iLCJwYWdlIiwiRXJyb3JDb21wb25lbnQiLCJlcnJvck1vZHVsZSIsImFwcE1vZHVsZSIsIm0iLCJfcmVuZGVyRXJyb3JQcm9wc19wcm9wcyIsIkFwcFRyZWUiLCJhcHBDdHgiLCJjdHgiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJpbml0UHJvcHMiLCJIZWFkIiwiY2FsbGJhY2siLCJ1c2VMYXlvdXRFZmZlY3QiLCJyZWFjdFJvb3QiLCJzaG91bGRIeWRyYXRlIiwiY2xlYXJNYXJrcyIsImZvckVhY2giLCJtYXJrIiwicGVyZm9ybWFuY2UiLCJtYXJrSHlkcmF0ZUNvbXBsZXRlIiwiU1QiLCJtZWFzdXJlIiwiZ2V0RW50cmllc0J5TmFtZSIsIm1hcmtSZW5kZXJDb21wbGV0ZSIsIm5hdlN0YXJ0RW50cmllcyIsImxlbmd0aCIsImNsZWFyTWVhc3VyZXMiLCJyZW5kZXJSZWFjdEVsZW1lbnQiLCJkb21FbCIsInJlYWN0RWwiLCJoeWRyYXRlUm9vdCIsIm9uUmVjb3ZlcmFibGVFcnJvciIsInN0YXJ0VHJhbnNpdGlvbiIsIlJvb3QiLCJjYWxsYmFja3MiLCJ1c2VFZmZlY3QiLCJfX05FWFRfVEVTVF9NT0RFIiwiX19ORVhUX0hZRFJBVEVEIiwiX19ORVhUX0hZRFJBVEVEX0NCIiwiY2FuY2VsZWQiLCJyZXNvbHZlUHJvbWlzZSIsInJlbmRlclByb21pc2UiLCJyZWplY3QiLCJFcnJvciIsIm9uU3RhcnQiLCJjdXJyZW50U3R5bGVUYWdzIiwicXVlcnlTZWxlY3RvckFsbCIsImN1cnJlbnRIcmVmcyIsIlNldCIsInRhZyIsImdldEF0dHJpYnV0ZSIsIm5vc2NyaXB0IiwicXVlcnlTZWxlY3RvciIsIm5vbmNlIiwiaHJlZiIsInRleHQiLCJoYXMiLCJzdHlsZVRhZyIsInNldEF0dHJpYnV0ZSIsImhlYWQiLCJhcHBlbmRDaGlsZCIsImNyZWF0ZVRleHROb2RlIiwib25IZWFkQ29tbWl0IiwiZGVzaXJlZEhyZWZzIiwicyIsImlkeCIsInJlbW92ZUF0dHJpYnV0ZSIsInJlZmVyZW5jZU5vZGUiLCJ0YXJnZXRUYWciLCJwYXJlbnROb2RlIiwiaW5zZXJ0QmVmb3JlIiwibmV4dFNpYmxpbmciLCJyZW1vdmVDaGlsZCIsInNjcm9sbCIsIngiLCJ5IiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwic2Nyb2xsVG8iLCJvblJvb3RDb21taXQiLCJlbGVtIiwiRnJhZ21lbnQiLCJQb3J0YWwiLCJ0eXBlIiwiUm91dGVBbm5vdW5jZXIiLCJfX05FWFRfU1RSSUNUX01PREUiLCJTdHJpY3RNb2RlIiwicmVuZGVyaW5nUHJvcHMiLCJyZW5kZXJFcnIiLCJnZXRQcm9wZXJFcnJvciIsImluaXRpYWxFcnIiLCJhcHBFbnRyeXBvaW50Iiwid2hlbkVudHJ5cG9pbnQiLCJjb21wb25lbnQiLCJhcHAiLCJtb2QiLCJyZXBvcnRXZWJWaXRhbHMiLCJpZCIsInN0YXJ0VGltZSIsImR1cmF0aW9uIiwiZW50cnlUeXBlIiwiZW50cmllcyIsImF0dHJpYnV0aW9uIiwidW5pcXVlSUQiLCJEYXRlIiwibm93IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwicGVyZlN0YXJ0RW50cnkiLCJ3ZWJWaXRhbHMiLCJsYWJlbCIsInBhZ2VFbnRyeXBvaW50IiwiaXNWYWxpZEVsZW1lbnRUeXBlIiwiZ2V0U2VydmVyRXJyb3IiLCJtZXNzYWdlIiwiZSIsInN0YWNrIiwic291cmNlIiwiX19ORVhUX1BSRUxPQURSRUFEWSIsImR5bmFtaWNJZHMiLCJjcmVhdGVSb3V0ZXIiLCJpbml0aWFsUHJvcHMiLCJCb29sZWFuIiwic3Vic2NyaXB0aW9uIiwiZG9tYWluTG9jYWxlcyIsImlzUHJldmlldyIsIl9pbml0aWFsTWF0Y2hlc01pZGRsZXdhcmVQcm9taXNlIiwicmVuZGVyQ3R4IiwiaW5pdGlhbCIsImJlZm9yZVJlbmRlciIsIl9fZXNNb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/next-dev.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/client/next-dev.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// TODO: Remove use of `any` type.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\n__webpack_require__(/*! ./webpack */ \"./node_modules/next/dist/client/webpack.js\");\nconst _ = __webpack_require__(/*! ./ */ \"./node_modules/next/dist/client/index.js\");\nconst _ondemandentriesclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/on-demand-entries-client */ \"./node_modules/next/dist/client/dev/on-demand-entries-client.js\"));\nconst _webpackhotmiddlewareclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/webpack-hot-middleware-client */ \"./node_modules/next/dist/client/dev/webpack-hot-middleware-client.js\"));\nconst _devbuildwatcher = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./dev/dev-build-watcher */ \"./node_modules/next/dist/client/dev/dev-build-watcher.js\"));\nconst _fouc = __webpack_require__(/*! ./dev/fouc */ \"./node_modules/next/dist/client/dev/fouc.js\");\nconst _websocket = __webpack_require__(/*! ./dev/error-overlay/websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\n__webpack_require__(/*! ./setup-hydration-warning */ \"./node_modules/next/dist/client/setup-hydration-warning.js\");\nwindow.next = {\n version: _.version,\n // router is initialized later so it has to be live-binded\n get router () {\n return _.router;\n },\n emitter: _.emitter\n};\nconst webpackHMR = (0, _webpackhotmiddlewareclient.default)();\n(0, _.initialize)({\n webpackHMR\n}).then((param)=>{\n let { assetPrefix } = param;\n (0, _websocket.connectHMR)({\n assetPrefix,\n path: \"/_next/webpack-hmr\"\n });\n return (0, _.hydrate)({\n beforeRender: _fouc.displayContent\n }).then(()=>{\n (0, _ondemandentriesclient.default)();\n let buildIndicatorHandler = ()=>{};\n function devPagesHmrListener(event) {\n let payload;\n try {\n payload = JSON.parse(event.data);\n } catch (e) {}\n if (payload.event === \"server-error\" && payload.errorJSON) {\n const { stack, message } = JSON.parse(payload.errorJSON);\n const error = new Error(message);\n error.stack = stack;\n throw error;\n } else if (payload.action === \"reloadPage\") {\n window.location.reload();\n } else if (payload.action === \"devPagesManifestUpdate\") {\n fetch(\"\" + assetPrefix + \"/_next/static/development/_devPagesManifest.json\").then((res)=>res.json()).then((manifest)=>{\n window.__DEV_PAGES_MANIFEST = manifest;\n }).catch((err)=>{\n console.log(\"Failed to fetch devPagesManifest\", err);\n });\n } else if (payload.event === \"middlewareChanges\") {\n return window.location.reload();\n } else if (payload.event === \"serverOnlyChanges\") {\n const { pages } = payload;\n // Make sure to reload when the dev-overlay is showing for an\n // API route\n if (pages.includes(_.router.query.__NEXT_PAGE)) {\n return window.location.reload();\n }\n if (!_.router.clc && pages.includes(_.router.pathname)) {\n console.log(\"Refreshing page data due to server-side change\");\n buildIndicatorHandler(\"building\");\n const clearIndicator = ()=>buildIndicatorHandler(\"built\");\n _.router.replace(_.router.pathname + \"?\" + String((0, _querystring.assign)((0, _querystring.urlQueryToSearchParams)(_.router.query), new URLSearchParams(location.search))), _.router.asPath, {\n scroll: false\n }).catch(()=>{\n // trigger hard reload when failing to refresh data\n // to show error overlay properly\n location.reload();\n }).finally(clearIndicator);\n }\n }\n }\n (0, _websocket.addMessageListener)(devPagesHmrListener);\n if (true) {\n (0, _devbuildwatcher.default)((handler)=>{\n buildIndicatorHandler = handler;\n }, \"bottom-right\");\n }\n });\n}).catch((err)=>{\n console.error(\"Error was not caught\", err);\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=next-dev.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9uZXh0LWRldi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7QUFDckI7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEZBLG1CQUFPQSxDQUFDLDZEQUFXO0FBQ25CLE1BQU1DLElBQUlELG1CQUFPQSxDQUFDLG9EQUFJO0FBQ3RCLE1BQU1FLHlCQUF5QixXQUFXLEdBQUdILHlCQUF5QkUsQ0FBQyxDQUFDRCxtQkFBT0EsQ0FBQyx1R0FBZ0M7QUFDaEgsTUFBTUcsOEJBQThCLFdBQVcsR0FBR0oseUJBQXlCRSxDQUFDLENBQUNELG1CQUFPQSxDQUFDLGlIQUFxQztBQUMxSCxNQUFNSSxtQkFBbUIsV0FBVyxHQUFHTCx5QkFBeUJFLENBQUMsQ0FBQ0QsbUJBQU9BLENBQUMseUZBQXlCO0FBQ25HLE1BQU1LLFFBQVFMLG1CQUFPQSxDQUFDLCtEQUFZO0FBQ2xDLE1BQU1NLGFBQWFOLG1CQUFPQSxDQUFDLHFHQUErQjtBQUMxRCxNQUFNTyxlQUFlUCxtQkFBT0EsQ0FBQywrR0FBd0M7QUFDckVBLG1CQUFPQSxDQUFDLDZGQUEyQjtBQUNuQ1EsT0FBT0MsSUFBSSxHQUFHO0lBQ1ZDLFNBQVNULEVBQUVTLE9BQU87SUFDbEIsMERBQTBEO0lBQzFELElBQUlDLFVBQVU7UUFDVixPQUFPVixFQUFFVSxNQUFNO0lBQ25CO0lBQ0FDLFNBQVNYLEVBQUVXLE9BQU87QUFDdEI7QUFDQSxNQUFNQyxhQUFhLENBQUMsR0FBR1YsNEJBQTRCVyxPQUFPO0FBQ3pELElBQUdiLEVBQUVjLFVBQVUsRUFBRTtJQUNkRjtBQUNKLEdBQUdHLElBQUksQ0FBQyxDQUFDQztJQUNMLElBQUksRUFBRUMsV0FBVyxFQUFHLEdBQUdEO0lBQ3RCLElBQUdYLFdBQVdhLFVBQVUsRUFBRTtRQUN2QkQ7UUFDQUUsTUFBTTtJQUNWO0lBQ0EsT0FB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QUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ3lELFVBQVUsS0FBSyxhQUFhO0lBQ3JLNUUsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBTytELE1BQU0sQ0FBQzdELFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQjJFLE9BQU8zRSxPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEsb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L25leHQtZGV2LmpzPzM1MTUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogUmVtb3ZlIHVzZSBvZiBgYW55YCB0eXBlLlxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xucmVxdWlyZShcIi4vd2VicGFja1wiKTtcbmNvbnN0IF8gPSByZXF1aXJlKFwiLi9cIik7XG5jb25zdCBfb25kZW1hbmRlbnRyaWVzY2xpZW50ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50XCIpKTtcbmNvbnN0IF93ZWJwYWNraG90bWlkZGxld2FyZWNsaWVudCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vZGV2L3dlYnBhY2staG90LW1pZGRsZXdhcmUtY2xpZW50XCIpKTtcbmNvbnN0IF9kZXZidWlsZHdhdGNoZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL2Rldi9kZXYtYnVpbGQtd2F0Y2hlclwiKSk7XG5jb25zdCBfZm91YyA9IHJlcXVpcmUoXCIuL2Rldi9mb3VjXCIpO1xuY29uc3QgX3dlYnNvY2tldCA9IHJlcXVpcmUoXCIuL2Rldi9lcnJvci1vdmVybGF5L3dlYnNvY2tldFwiKTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZ1wiKTtcbnJlcXVpcmUoXCIuL3NldHVwLWh5ZHJhdGlvbi13YXJuaW5nXCIpO1xud2luZG93Lm5leHQgPSB7XG4gICAgdmVyc2lvbjogXy52ZXJzaW9uLFxuICAgIC8vIHJvdXRlciBpcyBpbml0aWFsaXplZCBsYXRlciBzbyBpdCBoYXMgdG8gYmUgbGl2ZS1iaW5kZWRcbiAgICBnZXQgcm91dGVyICgpIHtcbiAgICAgICAgcmV0dXJuIF8ucm91dGVyO1xuICAgIH0sXG4gICAgZW1pdHRlcjogXy5lbWl0dGVyXG59O1xuY29uc3Qgd2VicGFja0hNUiA9ICgwLCBfd2VicGFja2hvdG1pZGRsZXdhcmVjbGllbnQuZGVmYXVsdCkoKTtcbigwLCBfLmluaXRpYWxpemUpKHtcbiAgICB3ZWJwYWNrSE1SXG59KS50aGVuKChwYXJhbSk9PntcbiAgICBsZXQgeyBhc3NldFByZWZpeCAgfSA9IHBhcmFtO1xuICAgICgwLCBfd2Vic29ja2V0LmNvbm5lY3RITVIpKHtcbiAgICAgICAgYXNzZXRQcmVmaXgsXG4gICAgICAgIHBhdGg6IFwiL19uZXh0L3dlYnBhY2staG1yXCJcbiAgICB9KTtcbiAgICByZXR1cm4gKDAsIF8uaHlkcmF0ZSkoe1xuICAgICAgICBiZWZvcmVSZW5kZXI6IF9mb3VjLmRpc3BsYXlDb250ZW50XG4gICAgfSkudGhlbigoKT0+e1xuICAgICAgICAoMCwgX29uZGVtYW5kZW50cmllc2NsaWVudC5kZWZhdWx0KSgpO1xuICAgICAgICBsZXQgYnVpbGRJbmRpY2F0b3JIYW5kbGVyID0gKCk9Pnt9O1xuICAgICAgICBmdW5jdGlvbiBkZXZQYWdlc0htckxpc3RlbmVyKGV2ZW50KSB7XG4gICAgICAgICAgICBsZXQgcGF5bG9hZDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGF5bG9hZCA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICAgICAgaWYgKHBheWxvYWQuZXZlbnQgPT09IFwic2VydmVyLWVycm9yXCIgJiYgcGF5bG9hZC5lcnJvckpTT04pIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YWNrICwgbWVzc2FnZSAgfSA9IEpTT04ucGFyc2UocGF5bG9hZC5lcnJvckpTT04pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGVycm9yLnN0YWNrID0gc3RhY2s7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBheWxvYWQuYWN0aW9uID09PSBcInJlbG9hZFBhZ2VcIikge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGF5bG9hZC5hY3Rpb24gPT09IFwiZGV2UGFnZXNNYW5pZmVzdFVwZGF0ZVwiKSB7XG4gICAgICAgICAgICAgICAgZmV0Y2goXCJcIiArIGFzc2V0UHJlZml4ICsgXCIvX25leHQvc3RhdGljL2RldmVsb3BtZW50L19kZXZQYWdlc01hbmlmZXN0Lmpzb25cIikudGhlbigocmVzKT0+cmVzLmpzb24oKSkudGhlbigobWFuaWZlc3QpPT57XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5fX0RFVl9QQUdFU19NQU5JRkVTVCA9IG1hbmlmZXN0O1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRmFpbGVkIHRvIGZldGNoIGRldlBhZ2VzTWFuaWZlc3RcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGF5bG9hZC5ldmVudCA9PT0gXCJtaWRkbGV3YXJlQ2hhbmdlc1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGF5bG9hZC5ldmVudCA9PT0gXCJzZXJ2ZXJPbmx5Q2hhbmdlc1wiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBwYWdlcyAgfSA9IHBheWxvYWQ7XG4gICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRvIHJlbG9hZCB3aGVuIHRoZSBkZXYtb3ZlcmxheSBpcyBzaG93aW5nIGZvciBhblxuICAgICAgICAgICAgICAgIC8vIEFQSSByb3V0ZVxuICAgICAgICAgICAgICAgIGlmIChwYWdlcy5pbmNsdWRlcyhfLnJvdXRlci5xdWVyeS5fX05FWFRfUEFHRSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFfLnJvdXRlci5jbGMgJiYgcGFnZXMuaW5jbHVkZXMoXy5yb3V0ZXIucGF0aG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUmVmcmVzaGluZyBwYWdlIGRhdGEgZHVlIHRvIHNlcnZlci1zaWRlIGNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRJbmRpY2F0b3JIYW5kbGVyKFwiYnVpbGRpbmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsZWFySW5kaWNhdG9yID0gKCk9PmJ1aWxkSW5kaWNhdG9ySGFuZGxlcihcImJ1aWx0XCIpO1xuICAgICAgICAgICAgICAgICAgICBfLnJvdXRlci5yZXBsYWNlKF8ucm91dGVyLnBhdGhuYW1lICsgXCI/XCIgKyBTdHJpbmcoKDAsIF9xdWVyeXN0cmluZy5hc3NpZ24pKCgwLCBfcXVlcnlzdHJpbmcudXJsUXVlcnlUb1NlYXJjaFBhcmFtcykoXy5yb3V0ZXIucXVlcnkpLCBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCkpKSwgXy5yb3V0ZXIuYXNQYXRoLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKCgpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmlnZ2VyIGhhcmQgcmVsb2FkIHdoZW4gZmFpbGluZyB0byByZWZyZXNoIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvIHNob3cgZXJyb3Igb3ZlcmxheSBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLmZpbmFsbHkoY2xlYXJJbmRpY2F0b3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAoMCwgX3dlYnNvY2tldC5hZGRNZXNzYWdlTGlzdGVuZXIpKGRldlBhZ2VzSG1yTGlzdGVuZXIpO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0JVSUxEX0lORElDQVRPUikge1xuICAgICAgICAgICAgKDAsIF9kZXZidWlsZHdhdGNoZXIuZGVmYXVsdCkoKGhhbmRsZXIpPT57XG4gICAgICAgICAgICAgICAgYnVpbGRJbmRpY2F0b3JIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgICAgICAgIH0sIHByb2Nlc3MuZW52Ll9fTkVYVF9CVUlMRF9JTkRJQ0FUT1JfUE9TSVRJT04pO1xuICAgICAgICB9XG4gICAgfSk7XG59KS5jYXRjaCgoZXJyKT0+e1xuICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciB3YXMgbm90IGNhdWdodFwiLCBlcnIpO1xufSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5leHQtZGV2LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfIiwiX29uZGVtYW5kZW50cmllc2NsaWVudCIsIl93ZWJwYWNraG90bWlkZGxld2FyZWNsaWVudCIsIl9kZXZidWlsZHdhdGNoZXIiLCJfZm91YyIsIl93ZWJzb2NrZXQiLCJfcXVlcnlzdHJpbmciLCJ3aW5kb3ciLCJuZXh0IiwidmVyc2lvbiIsInJvdXRlciIsImVtaXR0ZXIiLCJ3ZWJwYWNrSE1SIiwiZGVmYXVsdCIsImluaXRpYWxpemUiLCJ0aGVuIiwicGFyYW0iLCJhc3NldFByZWZpeCIsImNvbm5lY3RITVIiLCJwYXRoIiwiaHlkcmF0ZSIsImJlZm9yZVJlbmRlciIsImRpc3BsYXlDb250ZW50IiwiYnVpbGRJbmRpY2F0b3JIYW5kbGVyIiwiZGV2UGFnZXNIbXJMaXN0ZW5lciIsImV2ZW50IiwicGF5bG9hZCIsIkpTT04iLCJwYXJzZSIsImRhdGEiLCJlIiwiZXJyb3JKU09OIiwic3RhY2siLCJtZXNzYWdlIiwiZXJyb3IiLCJFcnJvciIsImFjdGlvbiIsImxvY2F0aW9uIiwicmVsb2FkIiwiZmV0Y2giLCJyZXMiLCJqc29uIiwibWFuaWZlc3QiLCJfX0RFVl9QQUdFU19NQU5JRkVTVCIsImNhdGNoIiwiZXJyIiwiY29uc29sZSIsImxvZyIsInBhZ2VzIiwiaW5jbHVkZXMiLCJxdWVyeSIsIl9fTkVYVF9QQUdFIiwiY2xjIiwicGF0aG5hbWUiLCJjbGVhckluZGljYXRvciIsInJlcGxhY2UiLCJTdHJpbmciLCJhc3NpZ24iLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiYXNQYXRoIiwic2Nyb2xsIiwiZmluYWxseSIsImFkZE1lc3NhZ2VMaXN0ZW5lciIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQlVJTERfSU5ESUNBVE9SIiwiaGFuZGxlciIsIl9fTkVYVF9CVUlMRF9JTkRJQ0FUT1JfUE9TSVRJT04iLCJfX2VzTW9kdWxlIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/next-dev.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/normalize-trailing-slash.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhEQUE2RDtJQUN6REksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsbUlBQWtEO0FBQ3ZGLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLDZHQUF1QztBQUNsRSxNQUFNRiw2QkFBNkIsQ0FBQ0k7SUFDaEMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNuRSxPQUFPRjtJQUNYO0lBQ0EsTUFBTSxFQUFFSyxRQUFRLEVBQUdDLEtBQUssRUFBR0MsSUFBSSxFQUFHLEdBQUcsQ0FBQyxHQUFHUixXQUFXUyxTQUFTLEVBQUVSO0lBQy9ELElBQUlFLEtBQWlDLEVBQUUsRUFRdEM7SUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHTCxxQkFBcUJjLG1CQUFtQixFQUFFTixZQUFZQyxRQUFRQztBQUNsRjtBQUVBLElBQUksQ0FBQyxPQUFPZixRQUFRcUIsT0FBTyxLQUFLLGNBQWUsT0FBT3JCLFFBQVFxQixPQUFPLEtBQUssWUFBWXJCLFFBQVFxQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9yQixRQUFRcUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXFCLE9BQU8sRUFBRSxjQUFjO1FBQUVwQixPQUFPO0lBQUs7SUFDbkVILE9BQU95QixNQUFNLENBQUN2QixRQUFRcUIsT0FBTyxFQUFFckI7SUFDL0J3QixPQUFPeEIsT0FBTyxHQUFHQSxRQUFRcUIsT0FBTztBQUNsQyxFQUVBLG9EQUFvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanM/NGMyZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aFwiKTtcbmNvbnN0IG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoID0gKHBhdGgpPT57XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8IHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgLCBxdWVyeSAsIGhhc2ggIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICAgICAgaWYgKC9cXC5bXi9dK1xcLz8kLy50ZXN0KHBhdGhuYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkocGF0aG5hbWUpICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9IGVsc2UgaWYgKHBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyBwYXRobmFtZSArIHF1ZXJ5ICsgaGFzaDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZSArIFwiL1wiICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcIlwiICsgKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHBhdGhuYW1lKSArIHF1ZXJ5ICsgaGFzaDtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsInJlcXVpcmUiLCJfcGFyc2VwYXRoIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX01BTlVBTF9UUkFJTElOR19TTEFTSCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwidGVzdCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJlbmRzV2l0aCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/normalize-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/on-recoverable-error.js": -/*!***************************************************************!*\ - !*** ./node_modules/next/dist/client/on-recoverable-error.js ***! - \***************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return onRecoverableError;\n }\n}));\nconst _nossrerror = __webpack_require__(/*! ../shared/lib/lazy-dynamic/no-ssr-error */ \"./node_modules/next/dist/shared/lib/lazy-dynamic/no-ssr-error.js\");\nfunction onRecoverableError(err) {\n // Using default react onRecoverableError\n // x-ref: https://github.com/facebook/react/blob/d4bc16a7d69eb2ea38a88c8ac0b461d5f72cdcab/packages/react-dom/src/client/ReactDOMRoot.js#L83\n const defaultOnRecoverableError = typeof reportError === \"function\" ? reportError : (error)=>{\n window.console.error(error);\n };\n // Skip certain custom errors which are not expected to be reported on client\n if (err.digest === _nossrerror.NEXT_DYNAMIC_NO_SSR_CODE) return;\n defaultOnRecoverableError(err);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=on-recoverable-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9vbi1yZWNvdmVyYWJsZS1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsY0FBY0MsbUJBQU9BLENBQUMsaUhBQXlDO0FBQ3JFLFNBQVNGLG1CQUFtQkcsR0FBRztJQUMzQix5Q0FBeUM7SUFDekMsMklBQTJJO0lBQzNJLE1BQU1DLDRCQUE0QixPQUFPQyxnQkFBZ0IsYUFDekRBLGNBQWMsQ0FBQ0M7UUFDWEMsT0FBT0MsT0FBTyxDQUFDRixLQUFLLENBQUNBO0lBQ3pCO0lBQ0EsNkVBQTZFO0lBQzdFLElBQUlILElBQUlNLE1BQU0sS0FBS1IsWUFBWVMsd0JBQXdCLEVBQUU7SUFDekROLDBCQUEwQkQ7QUFDOUI7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWUsT0FBTyxLQUFLLGNBQWUsT0FBT2YsUUFBUWUsT0FBTyxLQUFLLFlBQVlmLFFBQVFlLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2YsUUFBUWUsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2xCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWUsT0FBTyxFQUFFLGNBQWM7UUFBRWQsT0FBTztJQUFLO0lBQ25FSCxPQUFPbUIsTUFBTSxDQUFDakIsUUFBUWUsT0FBTyxFQUFFZjtJQUMvQmtCLE9BQU9sQixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvb24tcmVjb3ZlcmFibGUtZXJyb3IuanM/ZWI5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG9uUmVjb3ZlcmFibGVFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9ub3NzcmVycm9yID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvbGF6eS1keW5hbWljL25vLXNzci1lcnJvclwiKTtcbmZ1bmN0aW9uIG9uUmVjb3ZlcmFibGVFcnJvcihlcnIpIHtcbiAgICAvLyBVc2luZyBkZWZhdWx0IHJlYWN0IG9uUmVjb3ZlcmFibGVFcnJvclxuICAgIC8vIHgtcmVmOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvYmxvYi9kNGJjMTZhN2Q2OWViMmVhMzhhODhjOGFjMGI0NjFkNWY3MmNkY2FiL3BhY2thZ2VzL3JlYWN0LWRvbS9zcmMvY2xpZW50L1JlYWN0RE9NUm9vdC5qcyNMODNcbiAgICBjb25zdCBkZWZhdWx0T25SZWNvdmVyYWJsZUVycm9yID0gdHlwZW9mIHJlcG9ydEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyAvLyBlbXVsYXRpbmcgYW4gdW5jYXVnaHQgSmF2YVNjcmlwdCBlcnJvci5cbiAgICByZXBvcnRFcnJvciA6IChlcnJvcik9PntcbiAgICAgICAgd2luZG93LmNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH07XG4gICAgLy8gU2tpcCBjZXJ0YWluIGN1c3RvbSBlcnJvcnMgd2hpY2ggYXJlIG5vdCBleHBlY3RlZCB0byBiZSByZXBvcnRlZCBvbiBjbGllbnRcbiAgICBpZiAoZXJyLmRpZ2VzdCA9PT0gX25vc3NyZXJyb3IuTkVYVF9EWU5BTUlDX05PX1NTUl9DT0RFKSByZXR1cm47XG4gICAgZGVmYXVsdE9uUmVjb3ZlcmFibGVFcnJvcihlcnIpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1vbi1yZWNvdmVyYWJsZS1lcnJvci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwib25SZWNvdmVyYWJsZUVycm9yIiwiX25vc3NyZXJyb3IiLCJyZXF1aXJlIiwiZXJyIiwiZGVmYXVsdE9uUmVjb3ZlcmFibGVFcnJvciIsInJlcG9ydEVycm9yIiwiZXJyb3IiLCJ3aW5kb3ciLCJjb25zb2xlIiwiZGlnZXN0IiwiTkVYVF9EWU5BTUlDX05PX1NTUl9DT0RFIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/on-recoverable-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/page-loader.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/page-loader.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return PageLoader;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _isdynamic = __webpack_require__(/*! ../shared/lib/router/utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ../shared/lib/router/utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ./route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nclass PageLoader {\n getPageList() {\n if (false) {} else {\n if (window.__DEV_PAGES_MANIFEST) {\n return window.__DEV_PAGES_MANIFEST.pages;\n } else {\n this.promisedDevPagesManifest || (this.promisedDevPagesManifest = fetch(\"\" + this.assetPrefix + \"/_next/static/development/_devPagesManifest.json\").then((res)=>res.json()).then((manifest)=>{\n window.__DEV_PAGES_MANIFEST = manifest;\n return manifest.pages;\n }).catch((err)=>{\n console.log(\"Failed to fetch devPagesManifest:\", err);\n throw new Error(\"Failed to fetch _devPagesManifest.json. Is something blocking that network request?\\n\" + \"Read more: https://nextjs.org/docs/messages/failed-to-fetch-devpagesmanifest\");\n }));\n return this.promisedDevPagesManifest;\n }\n }\n }\n getMiddleware() {\n if (false) {} else {\n if (window.__DEV_MIDDLEWARE_MATCHERS) {\n return window.__DEV_MIDDLEWARE_MATCHERS;\n } else {\n if (!this.promisedMiddlewareMatchers) {\n // TODO: Decide what should happen when fetching fails instead of asserting\n // @ts-ignore\n this.promisedMiddlewareMatchers = fetch(this.assetPrefix + \"/_next/static/\" + this.buildId + \"/_devMiddlewareManifest.json\").then((res)=>res.json()).then((matchers)=>{\n window.__DEV_MIDDLEWARE_MATCHERS = matchers;\n return matchers;\n }).catch((err)=>{\n console.log(\"Failed to fetch _devMiddlewareManifest\", err);\n });\n }\n // TODO Remove this assertion as this could be undefined\n return this.promisedMiddlewareMatchers;\n }\n }\n }\n getDataHref(params) {\n const { asPath, href, locale } = params;\n const { pathname: hrefPathname, query, search } = (0, _parserelativeurl.parseRelativeUrl)(href);\n const { pathname: asPathname } = (0, _parserelativeurl.parseRelativeUrl)(asPath);\n const route = (0, _removetrailingslash.removeTrailingSlash)(hrefPathname);\n if (route[0] !== \"/\") {\n throw new Error('Route name should start with a \"/\", got \"' + route + '\"');\n }\n const getHrefForSlug = (path)=>{\n const dataRoute = (0, _getassetpathfromroute.default)((0, _removetrailingslash.removeTrailingSlash)((0, _addlocale.addLocale)(path, locale)), \".json\");\n return (0, _addbasepath.addBasePath)(\"/_next/data/\" + this.buildId + dataRoute + search, true);\n };\n return getHrefForSlug(params.skipInterpolation ? asPathname : (0, _isdynamic.isDynamicRoute)(route) ? (0, _interpolateas.interpolateAs)(hrefPathname, asPathname, query).result : route);\n }\n _isSsg(/** the route (file-system path) */ route) {\n return this.promisedSsgManifest.then((manifest)=>manifest.has(route));\n }\n loadPage(route) {\n return this.routeLoader.loadRoute(route).then((res)=>{\n if (\"component\" in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map((o)=>({\n href: o.href,\n text: o.content\n }))\n };\n }\n throw res.error;\n });\n }\n prefetch(route) {\n return this.routeLoader.prefetch(route);\n }\n constructor(buildId, assetPrefix){\n this.routeLoader = (0, _routeloader.createRouteLoader)(assetPrefix);\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n this.promisedSsgManifest = new Promise((resolve)=>{\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST);\n } else {\n window.__SSG_MANIFEST_CB = ()=>{\n resolve(window.__SSG_MANIFEST);\n };\n }\n });\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=page-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wYWdlLWxvYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsZUFBZUQsbUJBQU9BLENBQUMseUVBQWlCO0FBQzlDLE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMscUhBQTJDO0FBQzFFLE1BQU1HLHlCQUF5QixXQUFXLEdBQUdKLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQywySUFBc0Q7QUFDdEksTUFBTUssYUFBYUwsbUJBQU9BLENBQUMsbUVBQWM7QUFDekMsTUFBTU0sYUFBYU4sbUJBQU9BLENBQUMsNkdBQXVDO0FBQ2xFLE1BQU1PLG9CQUFvQlAsbUJBQU9BLENBQUMsNkhBQStDO0FBQ2pGLE1BQU1RLHVCQUF1QlIsbUJBQU9BLENBQUMsbUlBQWtEO0FBQ3ZGLE1BQU1TLGVBQWVULG1CQUFPQSxDQUFDLHVFQUFnQjtBQUM3QyxNQUFNRjtJQUNGWSxjQUFjO1FBQ1YsSUFBSUMsS0FBcUMsRUFBRSxFQUUxQyxNQUFNO1lBQ0gsSUFBSUssT0FBT0Msb0JBQW9CLEVBQUU7Z0JBQzdCLE9BQU9ELE9BQU9DLG9CQUFvQixDQUFDQyxLQUFLO1lBQzVDLE9BQU87Z0JBQ0gsSUFBSSxDQUFDQyx3QkFBd0IsSUFBSyxLQUFJLENBQUNBLHdCQUF3QixHQUFHQyxNQUFNLEtBQUssSUFBSSxDQUFDQyxXQUFXLEdBQUcsb0RBQW9EUixJQUFJLENBQUMsQ0FBQ1MsTUFBTUEsSUFBSUMsSUFBSSxJQUFJVixJQUFJLENBQUMsQ0FBQ0M7b0JBQzlLRSxPQUFPQyxvQkFBb0IsR0FBR0g7b0JBQzlCLE9BQU9BLFNBQVNJLEtBQUs7Z0JBQ3pC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QUNuQjtnQkFDUjtZQUNKO1lBQ0EsTUFBTXRELElBQUl1RCxLQUFLO1FBQ25CO0lBQ0o7SUFDQUMsU0FBUzVCLEtBQUssRUFBRTtRQUNaLE9BQU8sSUFBSSxDQUFDZ0IsV0FBVyxDQUFDWSxRQUFRLENBQUM1QjtJQUNyQztJQUNBNkIsWUFBWTFDLE9BQU8sRUFBRWhCLFdBQVcsQ0FBQztRQUM3QixJQUFJLENBQUM2QyxXQUFXLEdBQUcsQ0FBQyxHQUFHekQsYUFBYXVFLGlCQUFpQixFQUFFM0Q7UUFDdkQsSUFBSSxDQUFDZ0IsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ2hCLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDMEMsbUJBQW1CLEdBQUcsSUFBSWtCLFFBQVEsQ0FBQ0M7WUFDcEMsSUFBSWxFLE9BQU9tRSxjQUFjLEVBQUU7Z0JBQ3ZCRCxRQUFRbEUsT0FBT21FLGNBQWM7WUFDakMsT0FBTztnQkFDSG5FLE9BQU9vRSxpQkFBaUIsR0FBRztvQkFDdkJGLFFBQVFsRSxPQUFPbUUsY0FBYztnQkFDakM7WUFDSjtRQUNKO0lBQ0o7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPekYsUUFBUTZELE9BQU8sS0FBSyxjQUFlLE9BQU83RCxRQUFRNkQsT0FBTyxLQUFLLFlBQVk3RCxRQUFRNkQsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0QsUUFBUTZELE9BQU8sQ0FBQzhCLFVBQVUsS0FBSyxhQUFhO0lBQ3JLN0YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRNkQsT0FBTyxFQUFFLGNBQWM7UUFBRTVELE9BQU87SUFBSztJQUNuRUgsT0FBTzhGLE1BQU0sQ0FBQzVGLFFBQVE2RCxPQUFPLEVBQUU3RDtJQUMvQjZGLE9BQU83RixPQUFPLEdBQUdBLFFBQVE2RCxPQUFPO0FBQ2xDLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3BhZ2UtbG9hZGVyLmpzP2U4N2EiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlTG9hZGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9hZGRiYXNlcGF0aCA9IHJlcXVpcmUoXCIuL2FkZC1iYXNlLXBhdGhcIik7XG5jb25zdCBfaW50ZXJwb2xhdGVhcyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbnRlcnBvbGF0ZS1hc1wiKTtcbmNvbnN0IF9nZXRhc3NldHBhdGhmcm9tcm91dGUgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9nZXQtYXNzZXQtcGF0aC1mcm9tLXJvdXRlXCIpKTtcbmNvbnN0IF9hZGRsb2NhbGUgPSByZXF1aXJlKFwiLi9hZGQtbG9jYWxlXCIpO1xuY29uc3QgX2lzZHluYW1pYyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1keW5hbWljXCIpO1xuY29uc3QgX3BhcnNlcmVsYXRpdmV1cmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcmVsYXRpdmUtdXJsXCIpO1xuY29uc3QgX3JlbW92ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgX3JvdXRlbG9hZGVyID0gcmVxdWlyZShcIi4vcm91dGUtbG9hZGVyXCIpO1xuY2xhc3MgUGFnZUxvYWRlciB7XG4gICAgZ2V0UGFnZUxpc3QoKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX3JvdXRlbG9hZGVyLmdldENsaWVudEJ1aWxkTWFuaWZlc3QpKCkudGhlbigobWFuaWZlc3QpPT5tYW5pZmVzdC5zb3J0ZWRQYWdlcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAod2luZG93Ll9fREVWX1BBR0VTX01BTklGRVNUKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5fX0RFVl9QQUdFU19NQU5JRkVTVC5wYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9taXNlZERldlBhZ2VzTWFuaWZlc3QgfHwgKHRoaXMucHJvbWlzZWREZXZQYWdlc01hbmlmZXN0ID0gZmV0Y2goXCJcIiArIHRoaXMuYXNzZXRQcmVmaXggKyBcIi9fbmV4dC9zdGF0aWMvZGV2ZWxvcG1lbnQvX2RldlBhZ2VzTWFuaWZlc3QuanNvblwiKS50aGVuKChyZXMpPT5yZXMuanNvbigpKS50aGVuKChtYW5pZmVzdCk9PntcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Ll9fREVWX1BBR0VTX01BTklGRVNUID0gbWFuaWZlc3Q7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtYW5pZmVzdC5wYWdlcztcbiAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZhaWxlZCB0byBmZXRjaCBkZXZQYWdlc01hbmlmZXN0OlwiLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZmV0Y2ggX2RldlBhZ2VzTWFuaWZlc3QuanNvbi4gSXMgc29tZXRoaW5nIGJsb2NraW5nIHRoYXQgbmV0d29yayByZXF1ZXN0P1xcblwiICsgXCJSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2ZhaWxlZC10by1mZXRjaC1kZXZwYWdlc21hbmlmZXN0XCIpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9taXNlZERldlBhZ2VzTWFuaWZlc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0TWlkZGxld2FyZSgpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgY29uc3QgbWlkZGxld2FyZU1hdGNoZXJzID0gcHJvY2Vzcy5lbnYuX19ORVhUX01JRERMRVdBUkVfTUFUQ0hFUlM7XG4gICAgICAgICAgICB3aW5kb3cuX19NSURETEVXQVJFX01BVENIRVJTID0gbWlkZGxld2FyZU1hdGNoZXJzID8gbWlkZGxld2FyZU1hdGNoZXJzIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5fX01JRERMRVdBUkVfTUFUQ0hFUlM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAod2luZG93Ll9fREVWX01JRERMRVdBUkVfTUFUQ0hFUlMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93Ll9fREVWX01JRERMRVdBUkVfTUFUQ0hFUlM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5wcm9taXNlZE1pZGRsZXdhcmVNYXRjaGVycykge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBEZWNpZGUgd2hhdCBzaG91bGQgaGFwcGVuIHdoZW4gZmV0Y2hpbmcgZmFpbHMgaW5zdGVhZCBvZiBhc3NlcnRpbmdcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb21pc2VkTWlkZGxld2FyZU1hdGNoZXJzID0gZmV0Y2godGhpcy5hc3NldFByZWZpeCArIFwiL19uZXh0L3N0YXRpYy9cIiArIHRoaXMuYnVpbGRJZCArIFwiL19kZXZNaWRkbGV3YXJlTWFuaWZlc3QuanNvblwiKS50aGVuKChyZXMpPT5yZXMuanNvbigpKS50aGVuKChtYXRjaGVycyk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5fX0RFVl9NSURETEVXQVJFX01BVENIRVJTID0gbWF0Y2hlcnM7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlcnM7XG4gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZhaWxlZCB0byBmZXRjaCBfZGV2TWlkZGxld2FyZU1hbmlmZXN0XCIsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBUT0RPIFJlbW92ZSB0aGlzIGFzc2VydGlvbiBhcyB0aGlzIGNvdWxkIGJlIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb21pc2VkTWlkZGxld2FyZU1hdGNoZXJzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGdldERhdGFIcmVmKHBhcmFtcykge1xuICAgICAgICBjb25zdCB7IGFzUGF0aCAsIGhyZWYgLCBsb2NhbGUgIH0gPSBwYXJhbXM7XG4gICAgICAgIGNvbnN0IHsgcGF0aG5hbWU6IGhyZWZQYXRobmFtZSAsIHF1ZXJ5ICwgc2VhcmNoICB9ID0gKDAsIF9wYXJzZXJlbGF0aXZldXJsLnBhcnNlUmVsYXRpdmVVcmwpKGhyZWYpO1xuICAgICAgICBjb25zdCB7IHBhdGhuYW1lOiBhc1BhdGhuYW1lICB9ID0gKDAsIF9wYXJzZXJlbGF0aXZldXJsLnBhcnNlUmVsYXRpdmVVcmwpKGFzUGF0aCk7XG4gICAgICAgIGNvbnN0IHJvdXRlID0gKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKGhyZWZQYXRobmFtZSk7XG4gICAgICAgIGlmIChyb3V0ZVswXSAhPT0gXCIvXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUm91dGUgbmFtZSBzaG91bGQgc3RhcnQgd2l0aCBhIFwiL1wiLCBnb3QgXCInICsgcm91dGUgKyAnXCInKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBnZXRIcmVmRm9yU2x1ZyA9IChwYXRoKT0+e1xuICAgICAgICAgICAgY29uc3QgZGF0YVJvdXRlID0gKDAsIF9nZXRhc3NldHBhdGhmcm9tcm91dGUuZGVmYXVsdCkoKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKCgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkocGF0aCwgbG9jYWxlKSksIFwiLmpzb25cIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoXCIvX25leHQvZGF0YS9cIiArIHRoaXMuYnVpbGRJZCArIGRhdGFSb3V0ZSArIHNlYXJjaCwgdHJ1ZSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBnZXRIcmVmRm9yU2x1ZyhwYXJhbXMuc2tpcEludGVycG9sYXRpb24gPyBhc1BhdGhuYW1lIDogKDAsIF9pc2R5bmFtaWMuaXNEeW5hbWljUm91dGUpKHJvdXRlKSA/ICgwLCBfaW50ZXJwb2xhdGVhcy5pbnRlcnBvbGF0ZUFzKShocmVmUGF0aG5hbWUsIGFzUGF0aG5hbWUsIHF1ZXJ5KS5yZXN1bHQgOiByb3V0ZSk7XG4gICAgfVxuICAgIF9pc1NzZygvKiogdGhlIHJvdXRlIChmaWxlLXN5c3RlbSBwYXRoKSAqLyByb3V0ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9taXNlZFNzZ01hbmlmZXN0LnRoZW4oKG1hbmlmZXN0KT0+bWFuaWZlc3QuaGFzKHJvdXRlKSk7XG4gICAgfVxuICAgIGxvYWRQYWdlKHJvdXRlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlTG9hZGVyLmxvYWRSb3V0ZShyb3V0ZSkudGhlbigocmVzKT0+e1xuICAgICAgICAgICAgaWYgKFwiY29tcG9uZW50XCIgaW4gcmVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogcmVzLmNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgbW9kOiByZXMuZXhwb3J0cyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGVTaGVldHM6IHJlcy5zdHlsZXMubWFwKChvKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBvLmhyZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogby5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgcmVzLmVycm9yO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJlZmV0Y2gocm91dGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVMb2FkZXIucHJlZmV0Y2gocm91dGUpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihidWlsZElkLCBhc3NldFByZWZpeCl7XG4gICAgICAgIHRoaXMucm91dGVMb2FkZXIgPSAoMCwgX3JvdXRlbG9hZGVyLmNyZWF0ZVJvdXRlTG9hZGVyKShhc3NldFByZWZpeCk7XG4gICAgICAgIHRoaXMuYnVpbGRJZCA9IGJ1aWxkSWQ7XG4gICAgICAgIHRoaXMuYXNzZXRQcmVmaXggPSBhc3NldFByZWZpeDtcbiAgICAgICAgdGhpcy5wcm9taXNlZFNzZ01hbmlmZXN0ID0gbmV3IFByb21pc2UoKHJlc29sdmUpPT57XG4gICAgICAgICAgICBpZiAod2luZG93Ll9fU1NHX01BTklGRVNUKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh3aW5kb3cuX19TU0dfTUFOSUZFU1QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuX19TU0dfTUFOSUZFU1RfQ0IgPSAoKT0+e1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHdpbmRvdy5fX1NTR19NQU5JRkVTVCk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYWdlLWxvYWRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUGFnZUxvYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfYWRkYmFzZXBhdGgiLCJfaW50ZXJwb2xhdGVhcyIsIl9nZXRhc3NldHBhdGhmcm9tcm91dGUiLCJfIiwiX2FkZGxvY2FsZSIsIl9pc2R5bmFtaWMiLCJfcGFyc2VyZWxhdGl2ZXVybCIsIl9yZW1vdmV0cmFpbGluZ3NsYXNoIiwiX3JvdXRlbG9hZGVyIiwiZ2V0UGFnZUxpc3QiLCJwcm9jZXNzIiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsInRoZW4iLCJtYW5pZmVzdCIsInNvcnRlZFBhZ2VzIiwid2luZG93IiwiX19ERVZfUEFHRVNfTUFOSUZFU1QiLCJwYWdlcyIsInByb21pc2VkRGV2UGFnZXNNYW5pZmVzdCIsImZldGNoIiwiYXNzZXRQcmVmaXgiLCJyZXMiLCJqc29uIiwiY2F0Y2giLCJlcnIiLCJjb25zb2xlIiwibG9nIiwiRXJyb3IiLCJnZXRNaWRkbGV3YXJlIiwibWlkZGxld2FyZU1hdGNoZXJzIiwiZW52IiwiX19ORVhUX01JRERMRVdBUkVfTUFUQ0hFUlMiLCJfX01JRERMRVdBUkVfTUFUQ0hFUlMiLCJ1bmRlZmluZWQiLCJfX0RFVl9NSURETEVXQVJFX01BVENIRVJTIiwicHJvbWlzZWRNaWRkbGV3YXJlTWF0Y2hlcnMiLCJidWlsZElkIiwibWF0Y2hlcnMiLCJnZXREYXRhSHJlZiIsInBhcmFtcyIsImFzUGF0aCIsImhyZWYiLCJsb2NhbGUiLCJwYXRobmFtZSIsImhyZWZQYXRobmFtZSIsInF1ZXJ5Iiwic2VhcmNoIiwicGFyc2VSZWxhdGl2ZVVybCIsImFzUGF0aG5hbWUiLCJyb3V0ZSIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJnZXRIcmVmRm9yU2x1ZyIsInBhdGgiLCJkYXRhUm91dGUiLCJkZWZhdWx0IiwiYWRkTG9jYWxlIiwiYWRkQmFzZVBhdGgiLCJza2lwSW50ZXJwb2xhdGlvbiIsImlzRHluYW1pY1JvdXRlIiwiaW50ZXJwb2xhdGVBcyIsInJlc3VsdCIsIl9pc1NzZyIsInByb21pc2VkU3NnTWFuaWZlc3QiLCJoYXMiLCJsb2FkUGFnZSIsInJvdXRlTG9hZGVyIiwibG9hZFJvdXRlIiwicGFnZSIsImNvbXBvbmVudCIsIm1vZCIsInN0eWxlU2hlZXRzIiwic3R5bGVzIiwibWFwIiwibyIsInRleHQiLCJjb250ZW50IiwiZXJyb3IiLCJwcmVmZXRjaCIsImNvbnN0cnVjdG9yIiwiY3JlYXRlUm91dGVMb2FkZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9fU1NHX01BTklGRVNUIiwiX19TU0dfTUFOSUZFU1RfQ0IiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/page-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/performance-relayer.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/client/performance-relayer.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global location */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\n// copied to prevent pulling in un-necessary utils\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nconst initialHref = location.href;\nlet isRegistered = false;\nlet userReportHandler;\nfunction onReport(metric) {\n if (userReportHandler) {\n userReportHandler(metric);\n }\n // This code is not shipped, executed, or present in the client-side\n // JavaScript bundle unless explicitly enabled in your application.\n //\n // When this feature is enabled, we'll make it very clear by printing a\n // message during the build (`next build`).\n if (false) { var _window___NEXT_DATA__; }\n}\nconst _default = (onPerfEntry)=>{\n // Update function if it changes:\n userReportHandler = onPerfEntry;\n // Only register listeners once:\n if (isRegistered) {\n return;\n }\n isRegistered = true;\n const attributions = undefined;\n for (const webVital of WEB_VITALS){\n try {\n let mod;\n if (false) {}\n if (!mod) {\n mod = __webpack_require__(/*! next/dist/compiled/web-vitals */ \"./node_modules/next/dist/compiled/web-vitals/web-vitals.js\");\n }\n mod[\"on\" + webVital](onReport);\n } catch (err) {\n // Do nothing if the module fails to load\n console.warn(\"Failed to track \" + webVital + \" web-vital\", err);\n }\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=performance-relayer.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wZXJmb3JtYW5jZS1yZWxheWVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixHQUFnQjtBQUNuQ0EsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLGtEQUFrRDtBQUNsRCxNQUFNQyxhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxNQUFNQyxjQUFjQyxTQUFTQyxJQUFJO0FBQ2pDLElBQUlDLGVBQWU7QUFDbkIsSUFBSUM7QUFDSixTQUFTQyxTQUFTQyxNQUFNO0lBQ3BCLElBQUlGLG1CQUFtQjtRQUNuQkEsa0JBQWtCRTtJQUN0QjtJQUNBLG9FQUFvRTtJQUNwRSxtRUFBbUU7SUFDbkUsRUFBRTtJQUNGLHVFQUF1RTtJQUN2RSwyQ0FBMkM7SUFDM0MsSUFBSUMsS0FDMkIsRUFBRSw4QkFtQ2hDO0FBQ0w7QUFDQSxNQUFNVCxXQUFXLENBQUN5QztJQUNkLGlDQUFpQztJQUNqQ25DLG9CQUFvQm1DO0lBQ3BCLGdDQUFnQztJQUNoQyxJQUFJcEMsY0FBYztRQUNkO0lBQ0o7SUFDQUEsZUFBZTtJQUNmLE1BQU1xQyxlQUFlakMsU0FBeUM7SUFDOUQsS0FBSyxNQUFNbUMsWUFBWTNDLFdBQVc7UUFDOUIsSUFBSTtZQUNBLElBQUk0QztZQUNKLElBQUlwQyxLQUE2QyxFQUFFLEVBSWxEO1lBQ0QsSUFBSSxDQUFDb0MsS0FBSztnQkFDTkEsTUFBTUcsbUJBQU9BLENBQUMsaUdBQStCO1lBQ2pEO1lBQ0FILEdBQUcsQ0FBQyxPQUFPRCxTQUFTLENBQUNyQztRQUN6QixFQUFFLE9BQU9pQyxLQUFLO1lBQ1YseUNBQXlDO1lBQ3pDRixRQUFRVyxJQUFJLENBQUMscUJBQXFCTCxXQUFXLGNBQWNKO1FBQy9EO0lBQ0o7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPNUMsUUFBUXNELE9BQU8sS0FBSyxjQUFlLE9BQU90RCxRQUFRc0QsT0FBTyxLQUFLLFlBQVl0RCxRQUFRc0QsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPdEQsUUFBUXNELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckt6RCxPQUFPQyxjQUFjLENBQUNDLFFBQVFzRCxPQUFPLEVBQUUsY0FBYztRQUFFckQsT0FBTztJQUFLO0lBQ25FSCxPQUFPMEQsTUFBTSxDQUFDeEQsUUFBUXNELE9BQU8sRUFBRXREO0lBQy9CeUQsT0FBT3pELE9BQU8sR0FBR0EsUUFBUXNELE9BQU87QUFDbEMsRUFFQSwrQ0FBK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcGVyZm9ybWFuY2UtcmVsYXllci5qcz9lZjcxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBsb2NhdGlvbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuLy8gY29waWVkIHRvIHByZXZlbnQgcHVsbGluZyBpbiB1bi1uZWNlc3NhcnkgdXRpbHNcbmNvbnN0IFdFQl9WSVRBTFMgPSBbXG4gICAgXCJDTFNcIixcbiAgICBcIkZDUFwiLFxuICAgIFwiRklEXCIsXG4gICAgXCJJTlBcIixcbiAgICBcIkxDUFwiLFxuICAgIFwiVFRGQlwiXG5dO1xuY29uc3QgaW5pdGlhbEhyZWYgPSBsb2NhdGlvbi5ocmVmO1xubGV0IGlzUmVnaXN0ZXJlZCA9IGZhbHNlO1xubGV0IHVzZXJSZXBvcnRIYW5kbGVyO1xuZnVuY3Rpb24gb25SZXBvcnQobWV0cmljKSB7XG4gICAgaWYgKHVzZXJSZXBvcnRIYW5kbGVyKSB7XG4gICAgICAgIHVzZXJSZXBvcnRIYW5kbGVyKG1ldHJpYyk7XG4gICAgfVxuICAgIC8vIFRoaXMgY29kZSBpcyBub3Qgc2hpcHBlZCwgZXhlY3V0ZWQsIG9yIHByZXNlbnQgaW4gdGhlIGNsaWVudC1zaWRlXG4gICAgLy8gSmF2YVNjcmlwdCBidW5kbGUgdW5sZXNzIGV4cGxpY2l0bHkgZW5hYmxlZCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgIC8vXG4gICAgLy8gV2hlbiB0aGlzIGZlYXR1cmUgaXMgZW5hYmxlZCwgd2UnbGwgbWFrZSBpdCB2ZXJ5IGNsZWFyIGJ5IHByaW50aW5nIGFcbiAgICAvLyBtZXNzYWdlIGR1cmluZyB0aGUgYnVpbGQgKGBuZXh0IGJ1aWxkYCkuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiAmJiAvLyBUaGlzIGZpZWxkIGlzIGVtcHR5IHVubGVzcyB5b3UgZXhwbGljaXRseSBjb25maWd1cmUgaXQ6XG4gICAgcHJvY2Vzcy5lbnYuX19ORVhUX0FOQUxZVElDU19JRCkge1xuICAgICAgICB2YXIgX3dpbmRvd19fX05FWFRfREFUQV9fO1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgZHNuOiBwcm9jZXNzLmVudi5fX05FWFRfQU5BTFlUSUNTX0lELFxuICAgICAgICAgICAgaWQ6IG1ldHJpYy5pZCxcbiAgICAgICAgICAgIHBhZ2U6IChfd2luZG93X19fTkVYVF9EQVRBX18gPSB3aW5kb3cuX19ORVhUX0RBVEFfXykgPT0gbnVsbCA/IHZvaWQgMCA6IF93aW5kb3dfX19ORVhUX0RBVEFfXy5wYWdlLFxuICAgICAgICAgICAgaHJlZjogaW5pdGlhbEhyZWYsXG4gICAgICAgICAgICBldmVudF9uYW1lOiBtZXRyaWMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBtZXRyaWMudmFsdWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHNwZWVkOiBcImNvbm5lY3Rpb25cIiBpbiBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yW1wiY29ubmVjdGlvblwiXSAmJiBcImVmZmVjdGl2ZVR5cGVcIiBpbiBuYXZpZ2F0b3JbXCJjb25uZWN0aW9uXCJdID8gbmF2aWdhdG9yW1wiY29ubmVjdGlvblwiXVtcImVmZmVjdGl2ZVR5cGVcIl0gOiBcIlwiXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbXG4gICAgICAgICAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKGJvZHkpLnRvU3RyaW5nKClcbiAgICAgICAgXSwge1xuICAgICAgICAgICAgLy8gVGhpcyBjb250ZW50IHR5cGUgaXMgbmVjZXNzYXJ5IGZvciBgc2VuZEJlYWNvbmA6XG4gICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB2aXRhbHNVcmwgPSBcImh0dHBzOi8vdml0YWxzLnZlcmNlbC1pbnNpZ2h0cy5jb20vdjEvdml0YWxzXCI7XG4gICAgICAgIC8vIE5hdmlnYXRvciBoYXMgdG8gYmUgYm91bmQgdG8gZW5zdXJlIGl0IGRvZXMgbm90IGVycm9yIGluIHNvbWUgYnJvd3NlcnNcbiAgICAgICAgLy8gaHR0cHM6Ly94Z3dhbmcubWUvcG9zdHMveW91LW1heS1ub3Qta25vdy1iZWFjb24vI2l0LW1heS10aHJvdy1lcnJvciUyQy1iZS1zdXJlLXRvLWNhdGNoXG4gICAgICAgIGNvbnN0IHNlbmQgPSBuYXZpZ2F0b3Iuc2VuZEJlYWNvbiAmJiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbi5iaW5kKG5hdmlnYXRvcik7XG4gICAgICAgIGZ1bmN0aW9uIGZhbGxiYWNrU2VuZCgpIHtcbiAgICAgICAgICAgIGZldGNoKHZpdGFsc1VybCwge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJsb2IsXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogXCJvbWl0XCIsXG4gICAgICAgICAgICAgICAga2VlcGFsaXZlOiB0cnVlXG4gICAgICAgICAgICB9KS5jYXRjaChjb25zb2xlLmVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gSWYgc2VuZCBpcyB1bmRlZmluZWQgaXQnbGwgdGhyb3cgYXMgd2VsbC4gVGhpcyByZWR1Y2VzIG91dHB1dCBjb2RlIHNpemUuXG4gICAgICAgICAgICBzZW5kKHZpdGFsc1VybCwgYmxvYikgfHwgZmFsbGJhY2tTZW5kKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgZmFsbGJhY2tTZW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5jb25zdCBfZGVmYXVsdCA9IChvblBlcmZFbnRyeSk9PntcbiAgICAvLyBVcGRhdGUgZnVuY3Rpb24gaWYgaXQgY2hhbmdlczpcbiAgICB1c2VyUmVwb3J0SGFuZGxlciA9IG9uUGVyZkVudHJ5O1xuICAgIC8vIE9ubHkgcmVnaXN0ZXIgbGlzdGVuZXJzIG9uY2U6XG4gICAgaWYgKGlzUmVnaXN0ZXJlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlzUmVnaXN0ZXJlZCA9IHRydWU7XG4gICAgY29uc3QgYXR0cmlidXRpb25zID0gcHJvY2Vzcy5lbnYuX19ORVhUX1dFQl9WSVRBTFNfQVRUUklCVVRJT047XG4gICAgZm9yIChjb25zdCB3ZWJWaXRhbCBvZiBXRUJfVklUQUxTKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCBtb2Q7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0hBU19XRUJfVklUQUxTX0FUVFJJQlVUSU9OKSB7XG4gICAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogYXR0cmlidXRpb25zLmluY2x1ZGVzKHdlYlZpdGFsKSkge1xuICAgICAgICAgICAgICAgICAgICBtb2QgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMtYXR0cmlidXRpb25cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFtb2QpIHtcbiAgICAgICAgICAgICAgICBtb2QgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHNcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtb2RbXCJvblwiICsgd2ViVml0YWxdKG9uUmVwb3J0KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAvLyBEbyBub3RoaW5nIGlmIHRoZSBtb2R1bGUgZmFpbHMgdG8gbG9hZFxuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiRmFpbGVkIHRvIHRyYWNrIFwiICsgd2ViVml0YWwgKyBcIiB3ZWItdml0YWxcIiwgZXJyKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlcmZvcm1hbmNlLXJlbGF5ZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiV0VCX1ZJVEFMUyIsImluaXRpYWxIcmVmIiwibG9jYXRpb24iLCJocmVmIiwiaXNSZWdpc3RlcmVkIiwidXNlclJlcG9ydEhhbmRsZXIiLCJvblJlcG9ydCIsIm1ldHJpYyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQU5BTFlUSUNTX0lEIiwiX3dpbmRvd19fX05FWFRfREFUQV9fIiwiYm9keSIsImRzbiIsImlkIiwicGFnZSIsIndpbmRvdyIsIl9fTkVYVF9EQVRBX18iLCJldmVudF9uYW1lIiwibmFtZSIsInRvU3RyaW5nIiwic3BlZWQiLCJuYXZpZ2F0b3IiLCJibG9iIiwiQmxvYiIsIlVSTFNlYXJjaFBhcmFtcyIsInR5cGUiLCJ2aXRhbHNVcmwiLCJzZW5kIiwic2VuZEJlYWNvbiIsImJpbmQiLCJmYWxsYmFja1NlbmQiLCJmZXRjaCIsIm1ldGhvZCIsImNyZWRlbnRpYWxzIiwia2VlcGFsaXZlIiwiY2F0Y2giLCJjb25zb2xlIiwiZXJyb3IiLCJlcnIiLCJvblBlcmZFbnRyeSIsImF0dHJpYnV0aW9ucyIsIl9fTkVYVF9XRUJfVklUQUxTX0FUVFJJQlVUSU9OIiwid2ViVml0YWwiLCJtb2QiLCJfX05FWFRfSEFTX1dFQl9WSVRBTFNfQVRUUklCVVRJT04iLCJpbmNsdWRlcyIsInJlcXVpcmUiLCJ3YXJuIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/performance-relayer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/portal/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/portal/index.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Portal\", ({\n enumerable: true,\n get: function() {\n return Portal;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nconst Portal = (param)=>{\n let { children, type } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const element = document.createElement(type);\n document.body.appendChild(element);\n setPortalNode(element);\n return ()=>{\n document.body.removeChild(element);\n };\n }, [\n type\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, portalNode) : null;\n};\n_c = Portal;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\nvar _c;\n$RefreshReg$(_c, \"Portal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wb3J0YWwvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBDQUF5QztJQUNyQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLDRDQUFPO0FBQzlCLE1BQU1DLFlBQVlELG1CQUFPQSxDQUFDLG9EQUFXO0FBQ3JDLE1BQU1GLFNBQVMsQ0FBQ0k7SUFDWixJQUFJLEVBQUVDLFFBQVEsRUFBR0MsSUFBSSxFQUFHLEdBQUdGO0lBQzNCLE1BQU0sQ0FBQ0csWUFBWUMsY0FBYyxHQUFHLENBQUMsR0FBR1AsT0FBT1EsUUFBUSxFQUFFO0lBQ3hELElBQUdSLE9BQU9TLFNBQVMsRUFBRTtRQUNsQixNQUFNQyxVQUFVQyxTQUFTQyxhQUFhLENBQUNQO1FBQ3ZDTSxTQUFTRSxJQUFJLENBQUNDLFdBQVcsQ0FBQ0o7UUFDMUJILGNBQWNHO1FBQ2QsT0FBTztZQUNIQyxTQUFTRSxJQUFJLENBQUNFLFdBQVcsQ0FBQ0w7UUFDOUI7SUFDSixHQUFHO1FBQ0NMO0tBQ0g7SUFDRCxPQUFPQyxhQUEyQixXQUFILEdBQUksSUFBR0osVUFBVWMsWUFBWSxFQUFFWixVQUFVRSxjQUFjO0FBQzFGO0tBZE1QO0FBZ0JOLElBQUksQ0FBQyxPQUFPSixRQUFRc0IsT0FBTyxLQUFLLGNBQWUsT0FBT3RCLFFBQVFzQixPQUFPLEtBQUssWUFBWXRCLFFBQVFzQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU90QixRQUFRc0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXNCLE9BQU8sRUFBRSxjQUFjO1FBQUVyQixPQUFPO0lBQUs7SUFDbkVILE9BQU8wQixNQUFNLENBQUN4QixRQUFRc0IsT0FBTyxFQUFFdEI7SUFDL0J5QixPQUFPekIsT0FBTyxHQUFHQSxRQUFRc0IsT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9wb3J0YWwvaW5kZXguanM/MzFhMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlBvcnRhbFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUG9ydGFsO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuY29uc3QgX3JlYWN0ZG9tID0gcmVxdWlyZShcInJlYWN0LWRvbVwiKTtcbmNvbnN0IFBvcnRhbCA9IChwYXJhbSk9PntcbiAgICBsZXQgeyBjaGlsZHJlbiAsIHR5cGUgIH0gPSBwYXJhbTtcbiAgICBjb25zdCBbcG9ydGFsTm9kZSwgc2V0UG9ydGFsTm9kZV0gPSAoMCwgX3JlYWN0LnVzZVN0YXRlKShudWxsKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIHNldFBvcnRhbE5vZGUoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIHR5cGVcbiAgICBdKTtcbiAgICByZXR1cm4gcG9ydGFsTm9kZSA/IC8qI19fUFVSRV9fKi8gKDAsIF9yZWFjdGRvbS5jcmVhdGVQb3J0YWwpKGNoaWxkcmVuLCBwb3J0YWxOb2RlKSA6IG51bGw7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUG9ydGFsIiwiX3JlYWN0IiwicmVxdWlyZSIsIl9yZWFjdGRvbSIsInBhcmFtIiwiY2hpbGRyZW4iLCJ0eXBlIiwicG9ydGFsTm9kZSIsInNldFBvcnRhbE5vZGUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImNyZWF0ZVBvcnRhbCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/portal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-base-path.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-base-path.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrREFBaUQ7SUFDN0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxlQUFlQyxtQkFBT0EsQ0FBQyx5RUFBaUI7QUFDOUMsTUFBTUMsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTSixlQUFlTyxJQUFJO0lBQ3hCLElBQUlILEtBQTBDLEVBQUUsRUFJL0M7SUFDRCxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFDbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQU1BO0lBQ3hDLE9BQU9BO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWlCLE9BQU8sS0FBSyxjQUFlLE9BQU9qQixRQUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktwQixPQUFPQyxjQUFjLENBQUNDLFFBQVFpQixPQUFPLEVBQUUsY0FBYztRQUFFaEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9Cb0IsT0FBT3BCLE9BQU8sR0FBR0EsUUFBUWlCLE9BQU87QUFDbEMsRUFFQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC5qcz9iNGYxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVtb3ZlQmFzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZUJhc2VQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2hhc2Jhc2VwYXRoID0gcmVxdWlyZShcIi4vaGFzLWJhc2UtcGF0aFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiO1xuZnVuY3Rpb24gcmVtb3ZlQmFzZVBhdGgocGF0aCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgpIHtcbiAgICAgICAgaWYgKCEoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShwYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQ2FuJ3QgdHJpbSB0aGUgYmFzZVBhdGggaWYgaXQgaGFzIHplcm8gbGVuZ3RoIVxuICAgIGlmIChiYXNlUGF0aC5sZW5ndGggPT09IDApIHJldHVybiBwYXRoO1xuICAgIHBhdGggPSBwYXRoLnNsaWNlKGJhc2VQYXRoLmxlbmd0aCk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSBwYXRoID0gXCIvXCIgKyBwYXRoO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW1vdmUtYmFzZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZW1vdmVCYXNlUGF0aCIsIl9oYXNiYXNlcGF0aCIsInJlcXVpcmUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImhhc0Jhc2VQYXRoIiwibGVuZ3RoIiwic2xpY2UiLCJzdGFydHNXaXRoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-base-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/remove-locale.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/remove-locale.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeLocale\", ({\n enumerable: true,\n get: function() {\n return removeLocale;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction removeLocale(path, locale) {\n if (false) {}\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnREFBK0M7SUFDM0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxhQUFhQyxtQkFBT0EsQ0FBQyw2R0FBdUM7QUFDbEUsU0FBU0YsYUFBYUcsSUFBSSxFQUFFQyxNQUFNO0lBQzlCLElBQUlDLEtBQStCLEVBQUUsRUFLcEM7SUFDRCxPQUFPRjtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9QLFFBQVFvQixPQUFPLEtBQUssY0FBZSxPQUFPcEIsUUFBUW9CLE9BQU8sS0FBSyxZQUFZcEIsUUFBUW9CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BCLFFBQVFvQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdkIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRb0IsT0FBTyxFQUFFLGNBQWM7UUFBRW5CLE9BQU87SUFBSztJQUNuRUgsT0FBT3dCLE1BQU0sQ0FBQ3RCLFFBQVFvQixPQUFPLEVBQUVwQjtJQUMvQnVCLE9BQU92QixPQUFPLEdBQUdBLFFBQVFvQixPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlbW92ZS1sb2NhbGUuanM/NDc1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlbW92ZUxvY2FsZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVtb3ZlTG9jYWxlO1xuICAgIH1cbn0pO1xuY29uc3QgX3BhcnNlcGF0aCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gcmVtb3ZlTG9jYWxlKHBhdGgsIGxvY2FsZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgIGNvbnN0IHsgcGF0aG5hbWUgIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgICAgICBjb25zdCBwYXRoTG93ZXIgPSBwYXRobmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBsb2NhbGVMb3dlciA9IGxvY2FsZSA9PSBudWxsID8gdm9pZCAwIDogbG9jYWxlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBsb2NhbGUgJiYgKHBhdGhMb3dlci5zdGFydHNXaXRoKFwiL1wiICsgbG9jYWxlTG93ZXIgKyBcIi9cIikgfHwgcGF0aExvd2VyID09PSBcIi9cIiArIGxvY2FsZUxvd2VyKSA/IFwiXCIgKyAocGF0aG5hbWUubGVuZ3RoID09PSBsb2NhbGUubGVuZ3RoICsgMSA/IFwiL1wiIDogXCJcIikgKyBwYXRoLnNsaWNlKGxvY2FsZS5sZW5ndGggKyAxKSA6IHBhdGg7XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW1vdmUtbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZW1vdmVMb2NhbGUiLCJfcGFyc2VwYXRoIiwicmVxdWlyZSIsInBhdGgiLCJsb2NhbGUiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsInBhdGhuYW1lIiwicGFyc2VQYXRoIiwicGF0aExvd2VyIiwidG9Mb3dlckNhc2UiLCJsb2NhbGVMb3dlciIsInN0YXJ0c1dpdGgiLCJsZW5ndGgiLCJzbGljZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/request-idle-callback.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/client/request-idle-callback.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n requestIdleCallback: function() {\n return requestIdleCallback;\n },\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNRCxzQkFBc0IsT0FBT1EsU0FBUyxlQUFlQSxLQUFLUixtQkFBbUIsSUFBSVEsS0FBS1IsbUJBQW1CLENBQUNTLElBQUksQ0FBQ0MsV0FBVyxTQUFTQyxFQUFFO0lBQ3ZJLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ25CSixHQUFHO1lBQ0NLLFlBQVk7WUFDWkMsZUFBZTtnQkFDWCxPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUk7WUFDOUM7UUFDSjtJQUNKLEdBQUc7QUFDUDtBQUNBLE1BQU1YLHFCQUFxQixPQUFPTyxTQUFTLGVBQWVBLEtBQUtQLGtCQUFrQixJQUFJTyxLQUFLUCxrQkFBa0IsQ0FBQ1EsSUFBSSxDQUFDQyxXQUFXLFNBQVNVLEVBQUU7SUFDcEksT0FBT0MsYUFBYUQ7QUFDeEI7QUFFQSxJQUFJLENBQUMsT0FBT3ZCLFFBQVF5QixPQUFPLEtBQUssY0FBZSxPQUFPekIsUUFBUXlCLE9BQU8sS0FBSyxZQUFZekIsUUFBUXlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3pCLFFBQVF5QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLNUIsT0FBT0MsY0FBYyxDQUFDQyxRQUFReUIsT0FBTyxFQUFFLGNBQWM7UUFBRXhCLE9BQU87SUFBSztJQUNuRUgsT0FBTzZCLE1BQU0sQ0FBQzNCLFFBQVF5QixPQUFPLEVBQUV6QjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFReUIsT0FBTztBQUNsQyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanM/MWUyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IG51bGwsXG4gICAgY2FuY2VsSWRsZUNhbGxiYWNrOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVxdWVzdElkbGVDYWxsYmFjaztcbiAgICB9LFxuICAgIGNhbmNlbElkbGVDYWxsYmFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjYW5jZWxJZGxlQ2FsbGJhY2s7XG4gICAgfVxufSk7XG5jb25zdCByZXF1ZXN0SWRsZUNhbGxiYWNrID0gdHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrICYmIHNlbGYucmVxdWVzdElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oY2IpIHtcbiAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgIHJldHVybiBzZWxmLnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgIGNiKHtcbiAgICAgICAgICAgIGRpZFRpbWVvdXQ6IGZhbHNlLFxuICAgICAgICAgICAgdGltZVJlbWFpbmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIDUwIC0gKERhdGUubm93KCkgLSBzdGFydCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCAxKTtcbn07XG5jb25zdCBjYW5jZWxJZGxlQ2FsbGJhY2sgPSB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjayAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oaWQpIHtcbiAgICByZXR1cm4gY2xlYXJUaW1lb3V0KGlkKTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3QtaWRsZS1jYWxsYmFjay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VsZiIsImJpbmQiLCJ3aW5kb3ciLCJjYiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJkaWRUaW1lb3V0IiwidGltZVJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJpZCIsImNsZWFyVGltZW91dCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/request-idle-callback.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-announcer.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/client/route-announcer.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RouteAnnouncer: function() {\n return RouteAnnouncer;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nconst nextjsRouteAnnouncerStyles = {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n top: 0,\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n};\nconst RouteAnnouncer = ()=>{\n _s();\n const { asPath } = (0, _router.useRouter)();\n const [routeAnnouncement, setRouteAnnouncement] = _react.default.useState(\"\");\n // Only announce the path change, but not for the first load because screen\n // reader will do that automatically.\n const previouslyLoadedPath = _react.default.useRef(asPath);\n // Every time the path changes, announce the new page’s title following this\n // priority: first the document title (from head), otherwise the first h1, or\n // if none of these exist, then the pathname from the URL. This methodology is\n // inspired by Marcy Sutton’s accessible client routing user testing. More\n // information can be found here:\n // https://www.gatsbyjs.com/blog/2019-07-11-user-testing-accessible-client-routing/\n _react.default.useEffect(()=>{\n // If the path hasn't change, we do nothing.\n if (previouslyLoadedPath.current === asPath) return;\n previouslyLoadedPath.current = asPath;\n if (document.title) {\n setRouteAnnouncement(document.title);\n } else {\n const pageHeader = document.querySelector(\"h1\");\n var _pageHeader_innerText;\n const content = (_pageHeader_innerText = pageHeader == null ? void 0 : pageHeader.innerText) != null ? _pageHeader_innerText : pageHeader == null ? void 0 : pageHeader.textContent;\n setRouteAnnouncement(content || asPath);\n }\n }, [\n asPath\n ]);\n return /*#__PURE__*/ _react.default.createElement(\"p\", {\n \"aria-live\": \"assertive\" // Make the announcement immediately.\n ,\n id: \"__next-route-announcer__\",\n role: \"alert\",\n style: nextjsRouteAnnouncerStyles\n }, routeAnnouncement);\n};\n_s(RouteAnnouncer, \"YC5SCNeVaenA6x7RBk3t0O2D/M8=\");\n_c = RouteAnnouncer;\nconst _default = RouteAnnouncer;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-announcer.js.map\nvar _c;\n$RefreshReg$(_c, \"RouteAnnouncer\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1hbm5vdW5jZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDRDQUFPO0FBQ3ZFLE1BQU1HLFVBQVVILG1CQUFPQSxDQUFDLDJEQUFVO0FBQ2xDLE1BQU1JLDZCQUE2QjtJQUMvQkMsUUFBUTtJQUNSQyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsUUFBUTtJQUNSQyxVQUFVO0lBQ1ZDLFNBQVM7SUFDVEMsVUFBVTtJQUNWQyxLQUFLO0lBQ0xDLE9BQU87SUFDUCx3RkFBd0Y7SUFDeEZDLFlBQVk7SUFDWkMsVUFBVTtBQUNkO0FBQ0EsTUFBTXpCLGlCQUFpQjs7SUFDbkIsTUFBTSxFQUFFMEIsTUFBTSxFQUFHLEdBQUcsQ0FBQyxHQUFHYixRQUFRYyxTQUFTO0lBQ3pDLE1BQU0sQ0FBQ0MsbUJBQW1CQyxxQkFBcUIsR0FBR2xCLE9BQU9WLE9BQU8sQ0FBQzZCLFFBQVEsQ0FBQztJQUMxRSwyRUFBMkU7SUFDM0UscUNBQXFDO0lBQ3JDLE1BQU1DLHVCQUF1QnBCLE9BQU9WLE9BQU8sQ0FBQytCLE1BQU0sQ0FBQ047SUFDbkQsNEVBQTRFO0lBQzVFLDZFQUE2RTtJQUM3RSw4RUFBOEU7SUFDOUUsMEVBQTBFO0lBQzFFLGlDQUFpQztJQUNqQyxtRkFBbUY7SUFDbkZmLE9BQU9WLE9BQU8sQ0FBQ2dDLFNBQVMsQ0FBQztRQUNyQiw0Q0FBNEM7UUFDNUMsSUFBSUYscUJBQXFCRyxPQUFPLEtBQUtSLFFBQVE7UUFDN0NLLHFCQUFxQkcsT0FBTyxHQUFHUjtRQUMvQixJQUFJUyxTQUFTQyxLQUFLLEVBQUU7WUFDaEJQLHFCQUFxQk0sU0FBU0MsS0FBSztRQUN2QyxPQUFPO1lBQ0gsTUFBTUMsYUFBYUYsU0FBU0csYUFBYSxDQUFDO1lBQzFDLElBQUlDO1lBQ0osTUFBTUMsVUFBVSxDQUFDRCx3QkFBd0JGLGNBQWMsT0FBTyxLQUFLLElBQUlBLFdBQVdJLFNBQVMsS0FBSyxPQUFPRix3QkFBd0JGLGNBQWMsT0FBTyxLQUFLLElBQUlBLFdBQVdLLFdBQVc7WUFDbkxiLHFCQUFxQlcsV0FBV2Q7UUFDcEM7SUFDSixHQUNBO1FBQ0lBO0tBQ0g7SUFDRCxPQUFPLFdBQVcsR0FBR2YsT0FBT1YsT0FBTyxDQUFDMEMsYUFBYSxDQUFDLEtBQUs7UUFDbkQsYUFBYSxZQUFZLHFDQUFxQzs7UUFFOURDLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxPQUFPaEM7SUFDWCxHQUFHYztBQUNQO0dBbkNNNUI7S0FBQUE7QUFvQ04sTUFBTVEsV0FBV1I7QUFFakIsSUFBSSxDQUFDLE9BQU9ILFFBQVFJLE9BQU8sS0FBSyxjQUFlLE9BQU9KLFFBQVFJLE9BQU8sS0FBSyxZQUFZSixRQUFRSSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9KLFFBQVFJLE9BQU8sQ0FBQzhDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRSSxPQUFPLEVBQUUsY0FBYztRQUFFSCxPQUFPO0lBQUs7SUFDbkVILE9BQU9xRCxNQUFNLENBQUNuRCxRQUFRSSxPQUFPLEVBQUVKO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFJLE9BQU87QUFDbEMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcm91dGUtYW5ub3VuY2VyLmpzPzU4MjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSb3V0ZUFubm91bmNlcjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJvdXRlQW5ub3VuY2VyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlQW5ub3VuY2VyO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfcm91dGVyID0gcmVxdWlyZShcIi4vcm91dGVyXCIpO1xuY29uc3QgbmV4dGpzUm91dGVBbm5vdW5jZXJTdHlsZXMgPSB7XG4gICAgYm9yZGVyOiAwLFxuICAgIGNsaXA6IFwicmVjdCgwIDAgMCAwKVwiLFxuICAgIGhlaWdodDogXCIxcHhcIixcbiAgICBtYXJnaW46IFwiLTFweFwiLFxuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IFwiMXB4XCIsXG4gICAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gICAgd29yZFdyYXA6IFwibm9ybWFsXCJcbn07XG5jb25zdCBSb3V0ZUFubm91bmNlciA9ICgpPT57XG4gICAgY29uc3QgeyBhc1BhdGggIH0gPSAoMCwgX3JvdXRlci51c2VSb3V0ZXIpKCk7XG4gICAgY29uc3QgW3JvdXRlQW5ub3VuY2VtZW50LCBzZXRSb3V0ZUFubm91bmNlbWVudF0gPSBfcmVhY3QuZGVmYXVsdC51c2VTdGF0ZShcIlwiKTtcbiAgICAvLyBPbmx5IGFubm91bmNlIHRoZSBwYXRoIGNoYW5nZSwgYnV0IG5vdCBmb3IgdGhlIGZpcnN0IGxvYWQgYmVjYXVzZSBzY3JlZW5cbiAgICAvLyByZWFkZXIgd2lsbCBkbyB0aGF0IGF1dG9tYXRpY2FsbHkuXG4gICAgY29uc3QgcHJldmlvdXNseUxvYWRlZFBhdGggPSBfcmVhY3QuZGVmYXVsdC51c2VSZWYoYXNQYXRoKTtcbiAgICAvLyBFdmVyeSB0aW1lIHRoZSBwYXRoIGNoYW5nZXMsIGFubm91bmNlIHRoZSBuZXcgcGFnZeKAmXMgdGl0bGUgZm9sbG93aW5nIHRoaXNcbiAgICAvLyBwcmlvcml0eTogZmlyc3QgdGhlIGRvY3VtZW50IHRpdGxlIChmcm9tIGhlYWQpLCBvdGhlcndpc2UgdGhlIGZpcnN0IGgxLCBvclxuICAgIC8vIGlmIG5vbmUgb2YgdGhlc2UgZXhpc3QsIHRoZW4gdGhlIHBhdGhuYW1lIGZyb20gdGhlIFVSTC4gVGhpcyBtZXRob2RvbG9neSBpc1xuICAgIC8vIGluc3BpcmVkIGJ5IE1hcmN5IFN1dHRvbuKAmXMgYWNjZXNzaWJsZSBjbGllbnQgcm91dGluZyB1c2VyIHRlc3RpbmcuIE1vcmVcbiAgICAvLyBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaGVyZTpcbiAgICAvLyBodHRwczovL3d3dy5nYXRzYnlqcy5jb20vYmxvZy8yMDE5LTA3LTExLXVzZXItdGVzdGluZy1hY2Nlc3NpYmxlLWNsaWVudC1yb3V0aW5nL1xuICAgIF9yZWFjdC5kZWZhdWx0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICAvLyBJZiB0aGUgcGF0aCBoYXNuJ3QgY2hhbmdlLCB3ZSBkbyBub3RoaW5nLlxuICAgICAgICBpZiAocHJldmlvdXNseUxvYWRlZFBhdGguY3VycmVudCA9PT0gYXNQYXRoKSByZXR1cm47XG4gICAgICAgIHByZXZpb3VzbHlMb2FkZWRQYXRoLmN1cnJlbnQgPSBhc1BhdGg7XG4gICAgICAgIGlmIChkb2N1bWVudC50aXRsZSkge1xuICAgICAgICAgICAgc2V0Um91dGVBbm5vdW5jZW1lbnQoZG9jdW1lbnQudGl0bGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFnZUhlYWRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJoMVwiKTtcbiAgICAgICAgICAgIHZhciBfcGFnZUhlYWRlcl9pbm5lclRleHQ7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gKF9wYWdlSGVhZGVyX2lubmVyVGV4dCA9IHBhZ2VIZWFkZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VIZWFkZXIuaW5uZXJUZXh0KSAhPSBudWxsID8gX3BhZ2VIZWFkZXJfaW5uZXJUZXh0IDogcGFnZUhlYWRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZUhlYWRlci50ZXh0Q29udGVudDtcbiAgICAgICAgICAgIHNldFJvdXRlQW5ub3VuY2VtZW50KGNvbnRlbnQgfHwgYXNQYXRoKTtcbiAgICAgICAgfVxuICAgIH0sIC8vIFRPRE86IHN3aXRjaCB0byBwYXRobmFtZSArIHF1ZXJ5IG9iamVjdCBvZiBkeW5hbWljIHJvdXRlIHJlcXVpcmVtZW50c1xuICAgIFtcbiAgICAgICAgYXNQYXRoXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInBcIiwge1xuICAgICAgICBcImFyaWEtbGl2ZVwiOiBcImFzc2VydGl2ZVwiIC8vIE1ha2UgdGhlIGFubm91bmNlbWVudCBpbW1lZGlhdGVseS5cbiAgICAgICAgLFxuICAgICAgICBpZDogXCJfX25leHQtcm91dGUtYW5ub3VuY2VyX19cIixcbiAgICAgICAgcm9sZTogXCJhbGVydFwiLFxuICAgICAgICBzdHlsZTogbmV4dGpzUm91dGVBbm5vdW5jZXJTdHlsZXNcbiAgICB9LCByb3V0ZUFubm91bmNlbWVudCk7XG59O1xuY29uc3QgX2RlZmF1bHQgPSBSb3V0ZUFubm91bmNlcjtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUtYW5ub3VuY2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJvdXRlQW5ub3VuY2VyIiwiZGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfcm91dGVyIiwibmV4dGpzUm91dGVBbm5vdW5jZXJTdHlsZXMiLCJib3JkZXIiLCJjbGlwIiwiaGVpZ2h0IiwibWFyZ2luIiwib3ZlcmZsb3ciLCJwYWRkaW5nIiwicG9zaXRpb24iLCJ0b3AiLCJ3aWR0aCIsIndoaXRlU3BhY2UiLCJ3b3JkV3JhcCIsImFzUGF0aCIsInVzZVJvdXRlciIsInJvdXRlQW5ub3VuY2VtZW50Iiwic2V0Um91dGVBbm5vdW5jZW1lbnQiLCJ1c2VTdGF0ZSIsInByZXZpb3VzbHlMb2FkZWRQYXRoIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImRvY3VtZW50IiwidGl0bGUiLCJwYWdlSGVhZGVyIiwicXVlcnlTZWxlY3RvciIsIl9wYWdlSGVhZGVyX2lubmVyVGV4dCIsImNvbnRlbnQiLCJpbm5lclRleHQiLCJ0ZXh0Q29udGVudCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsInJvbGUiLCJzdHlsZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-announcer.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/route-loader.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/client/route-loader.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n markAssetError: function() {\n return markAssetError;\n },\n isAssetError: function() {\n return isAssetError;\n },\n getClientBuildManifest: function() {\n return getClientBuildManifest;\n },\n createRouteLoader: function() {\n return createRouteLoader;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _trustedtypes = __webpack_require__(/*! ./trusted-types */ \"./node_modules/next/dist/client/trusted-types.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800;\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n if (entry) {\n if (\"future\" in entry) {\n return entry.future;\n }\n return Promise.resolve(entry);\n }\n let resolver;\n const prom = new Promise((resolve)=>{\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? generator() // eslint-disable-next-line no-sequences\n .then((value)=>(resolver(value), value)).catch((err)=>{\n map.delete(key);\n throw err;\n }) : prom;\n}\nconst ASSET_LOAD_ERROR = Symbol(\"ASSET_LOAD_ERROR\");\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\nfunction hasPrefetch(link) {\n try {\n link = document.createElement(\"link\");\n return(// with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports(\"prefetch\"));\n } catch (e) {\n return false;\n }\n}\nconst canPrefetch = hasPrefetch();\nconst getAssetQueryString = ()=>{\n return false ? 0 : \"\";\n};\nfunction prefetchViaDom(href, as, link) {\n return new Promise((resolve, reject)=>{\n const selector = '\\n link[rel=\"prefetch\"][href^=\"' + href + '\"],\\n link[rel=\"preload\"][href^=\"' + href + '\"],\\n script[src^=\"' + href + '\"]';\n if (document.querySelector(selector)) {\n return resolve();\n }\n link = document.createElement(\"link\");\n // The order of property assignment here is intentional:\n if (as) link.as = as;\n link.rel = \"prefetch\";\n link.crossOrigin = undefined;\n link.onload = resolve;\n link.onerror = ()=>reject(markAssetError(new Error(\"Failed to prefetch: \" + href)));\n // `href` should always be last:\n link.href = href;\n document.head.appendChild(link);\n });\n}\nfunction appendScript(src, script) {\n return new Promise((resolve, reject)=>{\n script = document.createElement(\"script\");\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve;\n script.onerror = ()=>reject(markAssetError(new Error(\"Failed to load script: \" + src)));\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = undefined;\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src;\n document.body.appendChild(script);\n });\n}\n// We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\nlet devBuildPromise;\n// Resolve a promise that times out after given amount of milliseconds.\nfunction resolvePromiseWithTimeout(p, ms, err) {\n return new Promise((resolve, reject)=>{\n let cancelled = false;\n p.then((r)=>{\n // Resolved, cancel the timeout\n cancelled = true;\n resolve(r);\n }).catch(reject);\n // We wrap these checks separately for better dead-code elimination in\n // production bundles.\n if (true) {\n (devBuildPromise || Promise.resolve()).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>setTimeout(()=>{\n if (!cancelled) {\n reject(err);\n }\n }, ms));\n });\n }\n if (false) {}\n });\n}\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n const onBuildManifest = new Promise((resolve)=>{\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n self.__BUILD_MANIFEST_CB = ()=>{\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Failed to load client build manifest\")));\n}\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n const scriptUrl = assetPrefix + \"/_next/static/chunks/pages\" + encodeURI((0, _getassetpathfromroute.default)(route, \".js\")) + getAssetQueryString();\n return Promise.resolve({\n scripts: [\n (0, _trustedtypes.__unsafeCreateTrustedScriptURL)(scriptUrl)\n ],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n return getClientBuildManifest().then((manifest)=>{\n if (!(route in manifest)) {\n throw markAssetError(new Error(\"Failed to lookup route: \" + route));\n }\n const allFiles = manifest[route].map((entry)=>assetPrefix + \"/_next/\" + encodeURI(entry));\n return {\n scripts: allFiles.filter((v)=>v.endsWith(\".js\")).map((v)=>(0, _trustedtypes.__unsafeCreateTrustedScriptURL)(v) + getAssetQueryString()),\n css: allFiles.filter((v)=>v.endsWith(\".css\")).map((v)=>v + getAssetQueryString())\n };\n });\n}\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n function maybeExecuteScript(src) {\n // With HMR we might need to \"reload\" scripts when they are\n // disposed and readded. Executing scripts twice has no functional\n // differences\n if (false) {} else {\n return appendScript(src);\n }\n }\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n if (prom) {\n return prom;\n }\n styleSheets.set(href, prom = fetch(href).then((res)=>{\n if (!res.ok) {\n throw new Error(\"Failed to load stylesheet: \" + href);\n }\n return res.text().then((text)=>({\n href: href,\n content: text\n }));\n }).catch((err)=>{\n throw markAssetError(err);\n }));\n return prom;\n }\n return {\n whenEntrypoint (route) {\n return withFuture(route, entrypoints);\n },\n onEntrypoint (route, execute) {\n (execute ? Promise.resolve().then(()=>execute()).then((exports1)=>({\n component: exports1 && exports1.default || exports1,\n exports: exports1\n }), (err)=>({\n error: err\n })) : Promise.resolve(undefined)).then((input)=>{\n const old = entrypoints.get(route);\n if (old && \"resolve\" in old) {\n if (input) {\n entrypoints.set(route, input);\n old.resolve(input);\n }\n } else {\n if (input) {\n entrypoints.set(route, input);\n } else {\n entrypoints.delete(route);\n }\n // when this entrypoint has been resolved before\n // the route is outdated and we want to invalidate\n // this cache entry\n routes.delete(route);\n }\n });\n },\n loadRoute (route, prefetch) {\n return withFuture(route, routes, ()=>{\n let devBuildPromiseResolve;\n if (true) {\n devBuildPromise = new Promise((resolve)=>{\n devBuildPromiseResolve = resolve;\n });\n }\n return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then((param)=>{\n let { scripts, css } = param;\n return Promise.all([\n entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet))\n ]);\n }).then((res)=>{\n return this.whenEntrypoint(route).then((entrypoint)=>({\n entrypoint,\n styles: res[1]\n }));\n }), MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Route did not complete loading: \" + route))).then((param)=>{\n let { entrypoint, styles } = param;\n const res = Object.assign({\n styles: styles\n }, entrypoint);\n return \"error\" in entrypoint ? entrypoint : res;\n }).catch((err)=>{\n if (prefetch) {\n // we don't want to cache errors during prefetch\n throw err;\n }\n return {\n error: err\n };\n }).finally(()=>{\n return devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve();\n });\n });\n },\n prefetch (route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n return getFilesForRoute(assetPrefix, route).then((output)=>Promise.all(canPrefetch ? output.scripts.map((script)=>prefetchViaDom(script.toString(), \"script\")) : [])).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>this.loadRoute(route, true).catch(()=>{}));\n }).catch(()=>{});\n }\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=route-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsd0JBQXdCO1FBQ3BCLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMseUJBQXlCLFdBQVcsR0FBR0YseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDJJQUFzRDtBQUN0SSxNQUFNRyxnQkFBZ0JILG1CQUFPQSxDQUFDLHlFQUFpQjtBQUMvQyxNQUFNSSx1QkFBdUJKLG1CQUFPQSxDQUFDLHlGQUF5QjtBQUM5RCx1RUFBdUU7QUFDdkUseUVBQXlFO0FBQ3pFLDJFQUEyRTtBQUMzRSxvQ0FBb0M7QUFDcEMsTUFBTUssb0JBQW9CO0FBQzFCLFNBQVNDLFdBQVdDLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxTQUFTO0lBQ25DLElBQUlDLFFBQVFGLElBQUlWLEdBQUcsQ0FBQ1M7SUFDcEIsSUFBSUcsT0FBTztRQUNQLElBQUksWUFBWUEsT0FBTztZQUNuQixPQUFPQSxNQUFNQyxNQUFNO1FBQ3ZCO1FBQ0EsT0FBT0MsUUFBUUMsT0FBTyxDQUFDSDtJQUMzQjtJQUNBLElBQUlJO0lBQ0osTUFBTUMsT0FBTyxJQUFJSCxRQUFR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Q1gsc0hBQXNIO1lBQ3RILHNCQUFzQjtZQUN0QixJQUFJMkM7WUFDSixJQUFJQSxLQUFLQyxVQUFVQyxVQUFVLEVBQUU7Z0JBQzNCLHlEQUF5RDtnQkFDekQsSUFBSUYsR0FBR0csUUFBUSxJQUFJLEtBQUtDLElBQUksQ0FBQ0osR0FBR0ssYUFBYSxHQUFHLE9BQU8zRyxRQUFRQyxPQUFPO1lBQzFFO1lBQ0EsT0FBT3dELGlCQUFpQkMsYUFBYUMsT0FBT3RELElBQUksQ0FBQyxDQUFDdUcsU0FBUzVHLFFBQVFqQixHQUFHLENBQUNzQyxjQUFjdUYsT0FBTzdDLE9BQU8sQ0FBQ25FLEdBQUcsQ0FBQyxDQUFDOEMsU0FBU2hCLGVBQWVnQixPQUFPbUMsUUFBUSxJQUFJLGFBQWEsRUFBRSxHQUFHeEUsSUFBSSxDQUFDO2dCQUN0SyxJQUFHYixxQkFBcUIwRCxtQkFBbUIsRUFBRSxJQUFJLElBQUksQ0FBQzJDLFNBQVMsQ0FBQ2xDLE9BQU8sTUFBTXJELEtBQUssQ0FBQyxLQUFLO1lBQzdGLEdBQUdBLEtBQUssQ0FDUixLQUFLO1FBQ1Q7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9oQyxRQUFRd0YsT0FBTyxLQUFLLGNBQWUsT0FBT3hGLFFBQVF3RixPQUFPLEtBQUssWUFBWXhGLFFBQVF3RixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU94RixRQUFRd0YsT0FBTyxDQUFDK0MsVUFBVSxLQUFLLGFBQWE7SUFDckt6SSxPQUFPQyxjQUFjLENBQUNDLFFBQVF3RixPQUFPLEVBQUUsY0FBYztRQUFFdkYsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0ksTUFBTSxDQUFDOUgsUUFBUXdGLE9BQU8sRUFBRXhGO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF3RixPQUFPO0FBQ2xDLEVBRUEsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JvdXRlLWxvYWRlci5qcz9lYTM0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbWFya0Fzc2V0RXJyb3I6IG51bGwsXG4gICAgaXNBc3NldEVycm9yOiBudWxsLFxuICAgIGdldENsaWVudEJ1aWxkTWFuaWZlc3Q6IG51bGwsXG4gICAgY3JlYXRlUm91dGVMb2FkZXI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgbWFya0Fzc2V0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbWFya0Fzc2V0RXJyb3I7XG4gICAgfSxcbiAgICBpc0Fzc2V0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNBc3NldEVycm9yO1xuICAgIH0sXG4gICAgZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRDbGllbnRCdWlsZE1hbmlmZXN0O1xuICAgIH0sXG4gICAgY3JlYXRlUm91dGVMb2FkZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUm91dGVMb2FkZXI7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2dldGFzc2V0cGF0aGZyb21yb3V0ZSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGVcIikpO1xuY29uc3QgX3RydXN0ZWR0eXBlcyA9IHJlcXVpcmUoXCIuL3RydXN0ZWQtdHlwZXNcIik7XG5jb25zdCBfcmVxdWVzdGlkbGVjYWxsYmFjayA9IHJlcXVpcmUoXCIuL3JlcXVlc3QtaWRsZS1jYWxsYmFja1wiKTtcbi8vIDMuOHMgd2FzIGFyYml0cmFyaWx5IGNob3NlbiBhcyBpdCdzIHdoYXQgaHR0cHM6Ly93ZWIuZGV2L2ludGVyYWN0aXZlXG4vLyBjb25zaWRlcnMgYXMgXCJHb29kXCIgdGltZS10by1pbnRlcmFjdGl2ZS4gV2UgbXVzdCBhc3N1bWUgc29tZXRoaW5nIHdlbnRcbi8vIHdyb25nIGJleW9uZCB0aGlzIHBvaW50LCBhbmQgdGhlbiBmYWxsLWJhY2sgdG8gYSBmdWxsIHBhZ2UgdHJhbnNpdGlvbiB0b1xuLy8gc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgb2YgdmFsdWUuXG5jb25zdCBNU19NQVhfSURMRV9ERUxBWSA9IDM4MDA7XG5mdW5jdGlvbiB3aXRoRnV0dXJlKGtleSwgbWFwLCBnZW5lcmF0b3IpIHtcbiAgICBsZXQgZW50cnkgPSBtYXAuZ2V0KGtleSk7XG4gICAgaWYgKGVudHJ5KSB7XG4gICAgICAgIGlmIChcImZ1dHVyZVwiIGluIGVudHJ5KSB7XG4gICAgICAgICAgICByZXR1cm4gZW50cnkuZnV0dXJlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW50cnkpO1xuICAgIH1cbiAgICBsZXQgcmVzb2x2ZXI7XG4gICAgY29uc3QgcHJvbSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKT0+e1xuICAgICAgICByZXNvbHZlciA9IHJlc29sdmU7XG4gICAgfSk7XG4gICAgbWFwLnNldChrZXksIGVudHJ5ID0ge1xuICAgICAgICByZXNvbHZlOiByZXNvbHZlcixcbiAgICAgICAgZnV0dXJlOiBwcm9tXG4gICAgfSk7XG4gICAgcmV0dXJuIGdlbmVyYXRvciA/IGdlbmVyYXRvcigpLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlcXVlbmNlc1xuICAgIC50aGVuKCh2YWx1ZSk9PihyZXNvbHZlcih2YWx1ZSksIHZhbHVlKSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgbWFwLmRlbGV0ZShrZXkpO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfSkgOiBwcm9tO1xufVxuY29uc3QgQVNTRVRfTE9BRF9FUlJPUiA9IFN5bWJvbChcIkFTU0VUX0xPQURfRVJST1JcIik7XG5mdW5jdGlvbiBtYXJrQXNzZXRFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGVyciwgQVNTRVRfTE9BRF9FUlJPUiwge30pO1xufVxuZnVuY3Rpb24gaXNBc3NldEVycm9yKGVycikge1xuICAgIHJldHVybiBlcnIgJiYgQVNTRVRfTE9BRF9FUlJPUiBpbiBlcnI7XG59XG5mdW5jdGlvbiBoYXNQcmVmZXRjaChsaW5rKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuICAgICAgICByZXR1cm4oLy8gZGV0ZWN0IElFMTEgc2luY2UgaXQgc3VwcG9ydHMgcHJlZmV0Y2ggYnV0IGlzbid0IGRldGVjdGVkXG4gICAgICAgIC8vIHdpdGggcmVsTGlzdC5zdXBwb3J0XG4gICAgICAgICEhd2luZG93Lk1TSW5wdXRNZXRob2RDb250ZXh0ICYmICEhZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGxpbmsucmVsTGlzdC5zdXBwb3J0cyhcInByZWZldGNoXCIpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5jb25zdCBjYW5QcmVmZXRjaCA9IGhhc1ByZWZldGNoKCk7XG5jb25zdCBnZXRBc3NldFF1ZXJ5U3RyaW5nID0gKCk9PntcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEID8gXCI/ZHBsPVwiICsgcHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEIDogXCJcIjtcbn07XG5mdW5jdGlvbiBwcmVmZXRjaFZpYURvbShocmVmLCBhcywgbGluaykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICBjb25zdCBzZWxlY3RvciA9ICdcXG4gICAgICBsaW5rW3JlbD1cInByZWZldGNoXCJdW2hyZWZePVwiJyArIGhyZWYgKyAnXCJdLFxcbiAgICAgIGxpbmtbcmVsPVwicHJlbG9hZFwiXVtocmVmXj1cIicgKyBocmVmICsgJ1wiXSxcXG4gICAgICBzY3JpcHRbc3JjXj1cIicgKyBocmVmICsgJ1wiXSc7XG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG4gICAgICAgIC8vIFRoZSBvcmRlciBvZiBwcm9wZXJ0eSBhc3NpZ25tZW50IGhlcmUgaXMgaW50ZW50aW9uYWw6XG4gICAgICAgIGlmIChhcykgbGluay5hcyA9IGFzO1xuICAgICAgICBsaW5rLnJlbCA9IFwicHJlZmV0Y2hcIjtcbiAgICAgICAgbGluay5jcm9zc09yaWdpbiA9IHByb2Nlc3MuZW52Ll9fTkVYVF9DUk9TU19PUklHSU47XG4gICAgICAgIGxpbmsub25sb2FkID0gcmVzb2x2ZTtcbiAgICAgICAgbGluay5vbmVycm9yID0gKCk9PnJlamVjdChtYXJrQXNzZXRFcnJvcihuZXcgRXJyb3IoXCJGYWlsZWQgdG8gcHJlZmV0Y2g6IFwiICsgaHJlZikpKTtcbiAgICAgICAgLy8gYGhyZWZgIHNob3VsZCBhbHdheXMgYmUgbGFzdDpcbiAgICAgICAgbGluay5ocmVmID0gaHJlZjtcbiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGFwcGVuZFNjcmlwdChzcmMsIHNjcmlwdCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICAvLyBUaGUgb3JkZXIgb2YgcHJvcGVydHkgYXNzaWdubWVudCBoZXJlIGlzIGludGVudGlvbmFsLlxuICAgICAgICAvLyAxLiBTZXR1cCBzdWNjZXNzL2ZhaWx1cmUgaG9va3MgaW4gY2FzZSB0aGUgYnJvd3NlciBzeW5jaHJvbm91c2x5XG4gICAgICAgIC8vICAgIGV4ZWN1dGVzIHdoZW4gYHNyY2AgaXMgc2V0LlxuICAgICAgICBzY3JpcHQub25sb2FkID0gcmVzb2x2ZTtcbiAgICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoKT0+cmVqZWN0KG1hcmtBc3NldEVycm9yKG5ldyBFcnJvcihcIkZhaWxlZCB0byBsb2FkIHNjcmlwdDogXCIgKyBzcmMpKSk7XG4gICAgICAgIC8vIDIuIENvbmZpZ3VyZSB0aGUgY3Jvc3Mtb3JpZ2luIGF0dHJpYnV0ZSBiZWZvcmUgc2V0dGluZyBgc3JjYCBpbiBjYXNlIHRoZVxuICAgICAgICAvLyAgICBicm93c2VyIGJlZ2lucyB0byBmZXRjaC5cbiAgICAgICAgc2NyaXB0LmNyb3NzT3JpZ2luID0gcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTjtcbiAgICAgICAgLy8gMy4gRmluYWxseSwgc2V0IHRoZSBzb3VyY2UgYW5kIGluamVjdCBpbnRvIHRoZSBET00gaW4gY2FzZSB0aGUgY2hpbGRcbiAgICAgICAgLy8gICAgbXVzdCBiZSBhcHBlbmRlZCBmb3IgZmV0Y2hpbmcgdG8gc3RhcnQuXG4gICAgICAgIHNjcmlwdC5zcmMgPSBzcmM7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICB9KTtcbn1cbi8vIFdlIHdhaXQgZm9yIHBhZ2VzIHRvIGJlIGJ1aWx0IGluIGRldiBiZWZvcmUgd2Ugc3RhcnQgdGhlIHJvdXRlIHRyYW5zaXRpb25cbi8vIHRpbWVvdXQgdG8gcHJldmVudCBhbiB1bi1uZWNlc3NhcnkgaGFyZCBuYXZpZ2F0aW9uIGluIGRldmVsb3BtZW50LlxubGV0IGRldkJ1aWxkUHJvbWlzZTtcbi8vIFJlc29sdmUgYSBwcm9taXNlIHRoYXQgdGltZXMgb3V0IGFmdGVyIGdpdmVuIGFtb3VudCBvZiBtaWxsaXNlY29uZHMuXG5mdW5jdGlvbiByZXNvbHZlUHJvbWlzZVdpdGhUaW1lb3V0KHAsIG1zLCBlcnIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgICAgICBwLnRoZW4oKHIpPT57XG4gICAgICAgICAgICAvLyBSZXNvbHZlZCwgY2FuY2VsIHRoZSB0aW1lb3V0XG4gICAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmVzb2x2ZShyKTtcbiAgICAgICAgfSkuY2F0Y2gocmVqZWN0KTtcbiAgICAgICAgLy8gV2Ugd3JhcCB0aGVzZSBjaGVja3Mgc2VwYXJhdGVseSBmb3IgYmV0dGVyIGRlYWQtY29kZSBlbGltaW5hdGlvbiBpblxuICAgICAgICAvLyBwcm9kdWN0aW9uIGJ1bmRsZXMuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAoZGV2QnVpbGRQcm9taXNlIHx8IFByb21pc2UucmVzb2x2ZSgpKS50aGVuKCgpPT57XG4gICAgICAgICAgICAgICAgKDAsIF9yZXF1ZXN0aWRsZWNhbGxiYWNrLnJlcXVlc3RJZGxlQ2FsbGJhY2spKCgpPT5zZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCBtcykpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgICgwLCBfcmVxdWVzdGlkbGVjYWxsYmFjay5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+c2V0VGltZW91dCgoKT0+e1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBtcykpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRDbGllbnRCdWlsZE1hbmlmZXN0KCkge1xuICAgIGlmIChzZWxmLl9fQlVJTERfTUFOSUZFU1QpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzZWxmLl9fQlVJTERfTUFOSUZFU1QpO1xuICAgIH1cbiAgICBjb25zdCBvbkJ1aWxkTWFuaWZlc3QgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PntcbiAgICAgICAgLy8gTWFuZGF0b3J5IGJlY2F1c2UgdGhpcyBpcyBub3QgY29uY3VycmVudCBzYWZlOlxuICAgICAgICBjb25zdCBjYiA9IHNlbGYuX19CVUlMRF9NQU5JRkVTVF9DQjtcbiAgICAgICAgc2VsZi5fX0JVSUxEX01BTklGRVNUX0NCID0gKCk9PntcbiAgICAgICAgICAgIHJlc29sdmUoc2VsZi5fX0JVSUxEX01BTklGRVNUKTtcbiAgICAgICAgICAgIGNiICYmIGNiKCk7XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQob25CdWlsZE1hbmlmZXN0LCBNU19NQVhfSURMRV9ERUxBWSwgbWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKFwiRmFpbGVkIHRvIGxvYWQgY2xpZW50IGJ1aWxkIG1hbmlmZXN0XCIpKSk7XG59XG5mdW5jdGlvbiBnZXRGaWxlc0ZvclJvdXRlKGFzc2V0UHJlZml4LCByb3V0ZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIGNvbnN0IHNjcmlwdFVybCA9IGFzc2V0UHJlZml4ICsgXCIvX25leHQvc3RhdGljL2NodW5rcy9wYWdlc1wiICsgZW5jb2RlVVJJKCgwLCBfZ2V0YXNzZXRwYXRoZnJvbXJvdXRlLmRlZmF1bHQpKHJvdXRlLCBcIi5qc1wiKSkgKyBnZXRBc3NldFF1ZXJ5U3RyaW5nKCk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgc2NyaXB0czogW1xuICAgICAgICAgICAgICAgICgwLCBfdHJ1c3RlZHR5cGVzLl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCkoc2NyaXB0VXJsKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIC8vIFN0eWxlcyBhcmUgaGFuZGxlZCBieSBgc3R5bGUtbG9hZGVyYCBpbiBkZXZlbG9wbWVudDpcbiAgICAgICAgICAgIGNzczogW11cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXRDbGllbnRCdWlsZE1hbmlmZXN0KCkudGhlbigobWFuaWZlc3QpPT57XG4gICAgICAgIGlmICghKHJvdXRlIGluIG1hbmlmZXN0KSkge1xuICAgICAgICAgICAgdGhyb3cgbWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKFwiRmFpbGVkIHRvIGxvb2t1cCByb3V0ZTogXCIgKyByb3V0ZSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFsbEZpbGVzID0gbWFuaWZlc3Rbcm91dGVdLm1hcCgoZW50cnkpPT5hc3NldFByZWZpeCArIFwiL19uZXh0L1wiICsgZW5jb2RlVVJJKGVudHJ5KSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY3JpcHRzOiBhbGxGaWxlcy5maWx0ZXIoKHYpPT52LmVuZHNXaXRoKFwiLmpzXCIpKS5tYXAoKHYpPT4oMCwgX3RydXN0ZWR0eXBlcy5fX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwpKHYpICsgZ2V0QXNzZXRRdWVyeVN0cmluZygpKSxcbiAgICAgICAgICAgIGNzczogYWxsRmlsZXMuZmlsdGVyKCh2KT0+di5lbmRzV2l0aChcIi5jc3NcIikpLm1hcCgodik9PnYgKyBnZXRBc3NldFF1ZXJ5U3RyaW5nKCkpXG4gICAgICAgIH07XG4gICAgfSk7XG59XG5mdW5jdGlvbiBjcmVhdGVSb3V0ZUxvYWRlcihhc3NldFByZWZpeCkge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGxvYWRlZFNjcmlwdHMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3Qgc3R5bGVTaGVldHMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3Qgcm91dGVzID0gbmV3IE1hcCgpO1xuICAgIGZ1bmN0aW9uIG1heWJlRXhlY3V0ZVNjcmlwdChzcmMpIHtcbiAgICAgICAgLy8gV2l0aCBITVIgd2UgbWlnaHQgbmVlZCB0byBcInJlbG9hZFwiIHNjcmlwdHMgd2hlbiB0aGV5IGFyZVxuICAgICAgICAvLyBkaXNwb3NlZCBhbmQgcmVhZGRlZC4gRXhlY3V0aW5nIHNjcmlwdHMgdHdpY2UgaGFzIG5vIGZ1bmN0aW9uYWxcbiAgICAgICAgLy8gZGlmZmVyZW5jZXNcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIGxldCBwcm9tID0gbG9hZGVkU2NyaXB0cy5nZXQoc3JjLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgaWYgKHByb20pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNraXAgZXhlY3V0aW5nIHNjcmlwdCBpZiBpdCdzIGFscmVhZHkgaW4gdGhlIERPTTpcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHRbc3JjXj1cIicgKyBzcmMgKyAnXCJdJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2FkZWRTY3JpcHRzLnNldChzcmMudG9TdHJpbmcoKSwgcHJvbSA9IGFwcGVuZFNjcmlwdChzcmMpKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9tO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFwcGVuZFNjcmlwdChzcmMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZldGNoU3R5bGVTaGVldChocmVmKSB7XG4gICAgICAgIGxldCBwcm9tID0gc3R5bGVTaGVldHMuZ2V0KGhyZWYpO1xuICAgICAgICBpZiAocHJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIHByb207XG4gICAgICAgIH1cbiAgICAgICAgc3R5bGVTaGVldHMuc2V0KGhyZWYsIHByb20gPSBmZXRjaChocmVmKS50aGVuKChyZXMpPT57XG4gICAgICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byBsb2FkIHN0eWxlc2hlZXQ6IFwiICsgaHJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzLnRleHQoKS50aGVuKCh0ZXh0KT0+KHtcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogaHJlZixcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdGV4dFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgIHRocm93IG1hcmtBc3NldEVycm9yKGVycik7XG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIHByb207XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHdoZW5FbnRyeXBvaW50IChyb3V0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHdpdGhGdXR1cmUocm91dGUsIGVudHJ5cG9pbnRzKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25FbnRyeXBvaW50IChyb3V0ZSwgZXhlY3V0ZSkge1xuICAgICAgICAgICAgKGV4ZWN1dGUgPyBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5leGVjdXRlKCkpLnRoZW4oKGV4cG9ydHMxKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBleHBvcnRzMSAmJiBleHBvcnRzMS5kZWZhdWx0IHx8IGV4cG9ydHMxLFxuICAgICAgICAgICAgICAgICAgICBleHBvcnRzOiBleHBvcnRzMVxuICAgICAgICAgICAgICAgIH0pLCAoZXJyKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVyclxuICAgICAgICAgICAgICAgIH0pKSA6IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpKS50aGVuKChpbnB1dCk9PntcbiAgICAgICAgICAgICAgICBjb25zdCBvbGQgPSBlbnRyeXBvaW50cy5nZXQocm91dGUpO1xuICAgICAgICAgICAgICAgIGlmIChvbGQgJiYgXCJyZXNvbHZlXCIgaW4gb2xkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuc2V0KHJvdXRlLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbGQucmVzb2x2ZShpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5cG9pbnRzLnNldChyb3V0ZSwgaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuZGVsZXRlKHJvdXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoaXMgZW50cnlwb2ludCBoYXMgYmVlbiByZXNvbHZlZCBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHJvdXRlIGlzIG91dGRhdGVkIGFuZCB3ZSB3YW50IHRvIGludmFsaWRhdGVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBjYWNoZSBlbnRyeVxuICAgICAgICAgICAgICAgICAgICByb3V0ZXMuZGVsZXRlKHJvdXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZFJvdXRlIChyb3V0ZSwgcHJlZmV0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiB3aXRoRnV0dXJlKHJvdXRlLCByb3V0ZXMsICgpPT57XG4gICAgICAgICAgICAgICAgbGV0IGRldkJ1aWxkUHJvbWlzZVJlc29sdmU7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGV2QnVpbGRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXZCdWlsZFByb21pc2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlUHJvbWlzZVdpdGhUaW1lb3V0KGdldEZpbGVzRm9yUm91dGUoYXNzZXRQcmVmaXgsIHJvdXRlKS50aGVuKChwYXJhbSk9PntcbiAgICAgICAgICAgICAgICAgICAgbGV0IHsgc2NyaXB0cyAsIGNzcyAgfSA9IHBhcmFtO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuaGFzKHJvdXRlKSA/IFtdIDogUHJvbWlzZS5hbGwoc2NyaXB0cy5tYXAobWF5YmVFeGVjdXRlU2NyaXB0KSksXG4gICAgICAgICAgICAgICAgICAgICAgICBQcm9taXNlLmFsbChjc3MubWFwKGZldGNoU3R5bGVTaGVldCkpXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH0pLnRoZW4oKHJlcyk9PntcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMud2hlbkVudHJ5cG9pbnQocm91dGUpLnRoZW4oKGVudHJ5cG9pbnQpPT4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVzOiByZXNbMV1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9KSwgTVNfTUFYX0lETEVfREVMQVksIG1hcmtBc3NldEVycm9yKG5ldyBFcnJvcihcIlJvdXRlIGRpZCBub3QgY29tcGxldGUgbG9hZGluZzogXCIgKyByb3V0ZSkpKS50aGVuKChwYXJhbSk9PntcbiAgICAgICAgICAgICAgICAgICAgbGV0IHsgZW50cnlwb2ludCAsIHN0eWxlcyAgfSA9IHBhcmFtO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgICAgICAgICAgICAgIH0sIGVudHJ5cG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJlcnJvclwiIGluIGVudHJ5cG9pbnQgPyBlbnRyeXBvaW50IDogcmVzO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVmZXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0byBjYWNoZSBlcnJvcnMgZHVyaW5nIHByZWZldGNoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KS5maW5hbGx5KCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZXZCdWlsZFByb21pc2VSZXNvbHZlID09IG51bGwgPyB2b2lkIDAgOiBkZXZCdWlsZFByb21pc2VSZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgcHJlZmV0Y2ggKHJvdXRlKSB7XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vR29vZ2xlQ2hyb21lTGFicy9xdWlja2xpbmsvYmxvYi80NTNhNjYxZmExZmE5NDBlMmQyZTA0NDQ1MjM5OGUzOGM2N2E5OGZiL3NyYy9pbmRleC5tanMjTDExNS1MMTE4XG4gICAgICAgICAgICAvLyBMaWNlbnNlOiBBcGFjaGUgMi4wXG4gICAgICAgICAgICBsZXQgY247XG4gICAgICAgICAgICBpZiAoY24gPSBuYXZpZ2F0b3IuY29ubmVjdGlvbikge1xuICAgICAgICAgICAgICAgIC8vIERvbid0IHByZWZldGNoIGlmIHVzaW5nIDJHIG9yIGlmIFNhdmUtRGF0YSBpcyBlbmFibGVkLlxuICAgICAgICAgICAgICAgIGlmIChjbi5zYXZlRGF0YSB8fCAvMmcvLnRlc3QoY24uZWZmZWN0aXZlVHlwZSkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRGaWxlc0ZvclJvdXRlKGFzc2V0UHJlZml4LCByb3V0ZSkudGhlbigob3V0cHV0KT0+UHJvbWlzZS5hbGwoY2FuUHJlZmV0Y2ggPyBvdXRwdXQuc2NyaXB0cy5tYXAoKHNjcmlwdCk9PnByZWZldGNoVmlhRG9tKHNjcmlwdC50b1N0cmluZygpLCBcInNjcmlwdFwiKSkgOiBbXSkpLnRoZW4oKCk9PntcbiAgICAgICAgICAgICAgICAoMCwgX3JlcXVlc3RpZGxlY2FsbGJhY2sucmVxdWVzdElkbGVDYWxsYmFjaykoKCk9PnRoaXMubG9hZFJvdXRlKHJvdXRlLCB0cnVlKS5jYXRjaCgoKT0+e30pKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKC8vIHN3YWxsb3cgcHJlZmV0Y2ggZXJyb3JzXG4gICAgICAgICAgICAoKT0+e30pO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUtbG9hZGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm1hcmtBc3NldEVycm9yIiwiaXNBc3NldEVycm9yIiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsImNyZWF0ZVJvdXRlTG9hZGVyIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9nZXRhc3NldHBhdGhmcm9tcm91dGUiLCJfIiwiX3RydXN0ZWR0eXBlcyIsIl9yZXF1ZXN0aWRsZWNhbGxiYWNrIiwiTVNfTUFYX0lETEVfREVMQVkiLCJ3aXRoRnV0dXJlIiwia2V5IiwibWFwIiwiZ2VuZXJhdG9yIiwiZW50cnkiLCJmdXR1cmUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc29sdmVyIiwicHJvbSIsInNldCIsInRoZW4iLCJjYXRjaCIsImVyciIsImRlbGV0ZSIsIkFTU0VUX0xPQURfRVJST1IiLCJTeW1ib2wiLCJoYXNQcmVmZXRjaCIsImxpbmsiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ3aW5kb3ciLCJNU0lucHV0TWV0aG9kQ29udGV4dCIsImRvY3VtZW50TW9kZSIsInJlbExpc3QiLCJzdXBwb3J0cyIsImUiLCJjYW5QcmVmZXRjaCIsImdldEFzc2V0UXVlcnlTdHJpbmciLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwicHJlZmV0Y2hWaWFEb20iLCJocmVmIiwiYXMiLCJyZWplY3QiLCJzZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZWwiLCJjcm9zc09yaWdpbiIsIl9fTkVYVF9DUk9TU19PUklHSU4iLCJvbmxvYWQiLCJvbmVycm9yIiwiRXJyb3IiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJhcHBlbmRTY3JpcHQiLCJzcmMiLCJzY3JpcHQiLCJib2R5IiwiZGV2QnVpbGRQcm9taXNlIiwicmVzb2x2ZVByb21pc2VXaXRoVGltZW91dCIsInAiLCJtcyIsImNhbmNlbGxlZCIsInIiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwic2V0VGltZW91dCIsInNlbGYiLCJfX0JVSUxEX01BTklGRVNUIiwib25CdWlsZE1hbmlmZXN0IiwiY2IiLCJfX0JVSUxEX01BTklGRVNUX0NCIiwiZ2V0RmlsZXNGb3JSb3V0ZSIsImFzc2V0UHJlZml4Iiwicm91dGUiLCJzY3JpcHRVcmwiLCJlbmNvZGVVUkkiLCJkZWZhdWx0Iiwic2NyaXB0cyIsIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCIsImNzcyIsIm1hbmlmZXN0IiwiYWxsRmlsZXMiLCJmaWx0ZXIiLCJ2IiwiZW5kc1dpdGgiLCJlbnRyeXBvaW50cyIsIk1hcCIsImxvYWRlZFNjcmlwdHMiLCJzdHlsZVNoZWV0cyIsInJvdXRlcyIsIm1heWJlRXhlY3V0ZVNjcmlwdCIsInRvU3RyaW5nIiwiZmV0Y2hTdHlsZVNoZWV0IiwiZmV0Y2giLCJyZXMiLCJvayIsInRleHQiLCJjb250ZW50Iiwid2hlbkVudHJ5cG9pbnQiLCJvbkVudHJ5cG9pbnQiLCJleGVjdXRlIiwiZXhwb3J0czEiLCJjb21wb25lbnQiLCJlcnJvciIsInVuZGVmaW5lZCIsImlucHV0Iiwib2xkIiwibG9hZFJvdXRlIiwicHJlZmV0Y2giLCJkZXZCdWlsZFByb21pc2VSZXNvbHZlIiwicGFyYW0iLCJoYXMiLCJlbnRyeXBvaW50Iiwic3R5bGVzIiwiYXNzaWduIiwiZmluYWxseSIsImNuIiwibmF2aWdhdG9yIiwiY29ubmVjdGlvbiIsInNhdmVEYXRhIiwidGVzdCIsImVmZmVjdGl2ZVR5cGUiLCJvdXRwdXQiLCJfX2VzTW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-loader.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/router.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/router.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* global window */ \nvar _s = $RefreshSig$();\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Router: function() {\n return _router.default;\n },\n // Export the singletonRouter and this is the public API.\n default: function() {\n return _default;\n },\n withRouter: function() {\n return _withrouter.default;\n },\n useRouter: function() {\n return useRouter;\n },\n createRouter: function() {\n return createRouter;\n },\n makePublicRouterInstance: function() {\n return makePublicRouterInstance;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/router */ \"./node_modules/next/dist/shared/lib/router/router.js\"));\nconst _routercontext = __webpack_require__(/*! ../shared/lib/router-context */ \"./node_modules/next/dist/shared/lib/router-context.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _withrouter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./with-router */ \"./node_modules/next/dist/client/with-router.js\"));\nconst singletonRouter = {\n router: null,\n readyCallbacks: [],\n ready (cb) {\n if (this.router) return cb();\n if (true) {\n this.readyCallbacks.push(cb);\n }\n }\n};\n// Create public properties and methods of the router in the singletonRouter\nconst urlPropertyFields = [\n \"pathname\",\n \"route\",\n \"query\",\n \"asPath\",\n \"components\",\n \"isFallback\",\n \"basePath\",\n \"locale\",\n \"locales\",\n \"defaultLocale\",\n \"isReady\",\n \"isPreview\",\n \"isLocaleDomain\",\n \"domainLocales\"\n];\nconst routerEvents = [\n \"routeChangeStart\",\n \"beforeHistoryChange\",\n \"routeChangeComplete\",\n \"routeChangeError\",\n \"hashChangeStart\",\n \"hashChangeComplete\"\n];\nconst coreMethodFields = [\n \"push\",\n \"replace\",\n \"reload\",\n \"back\",\n \"prefetch\",\n \"beforePopState\"\n];\n// Events is a static property on the router, the router doesn't have to be initialized to use it\nObject.defineProperty(singletonRouter, \"events\", {\n get () {\n return _router.default.events;\n }\n});\nfunction getRouter() {\n if (!singletonRouter.router) {\n const message = \"No router instance found.\\n\" + 'You should only use \"next/router\" on the client side of your app.\\n';\n throw new Error(message);\n }\n return singletonRouter.router;\n}\nurlPropertyFields.forEach((field)=>{\n // Here we need to use Object.defineProperty because we need to return\n // the property assigned to the actual router\n // The value might get changed as we change routes and this is the\n // proper way to access it\n Object.defineProperty(singletonRouter, field, {\n get () {\n const router = getRouter();\n return router[field];\n }\n });\n});\ncoreMethodFields.forEach((field)=>{\n singletonRouter[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const router = getRouter();\n return router[field](...args);\n };\n});\nrouterEvents.forEach((event)=>{\n singletonRouter.ready(()=>{\n _router.default.events.on(event, function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const eventField = \"on\" + event.charAt(0).toUpperCase() + event.substring(1);\n const _singletonRouter = singletonRouter;\n if (_singletonRouter[eventField]) {\n try {\n _singletonRouter[eventField](...args);\n } catch (err) {\n console.error(\"Error when running the Router event: \" + eventField);\n console.error((0, _iserror.default)(err) ? err.message + \"\\n\" + err.stack : err + \"\");\n }\n }\n });\n });\n});\nconst _default = singletonRouter;\nfunction useRouter() {\n _s();\n const router = _react.default.useContext(_routercontext.RouterContext);\n if (!router) {\n throw new Error(\"NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted\");\n }\n return router;\n}\n_s(useRouter, \"rbAhEc3dLGnVlsHWaSDsgP4MZS0=\");\nfunction createRouter() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n singletonRouter.router = new _router.default(...args);\n singletonRouter.readyCallbacks.forEach((cb)=>cb());\n singletonRouter.readyCallbacks = [];\n return singletonRouter.router;\n}\nfunction makePublicRouterInstance(router) {\n const scopedRouter = router;\n const instance = {};\n for (const property of urlPropertyFields){\n if (typeof scopedRouter[property] === \"object\") {\n instance[property] = Object.assign(Array.isArray(scopedRouter[property]) ? [] : {}, scopedRouter[property]) // makes sure query is not stateful\n ;\n continue;\n }\n instance[property] = scopedRouter[property];\n }\n // Events is a static property on the router, the router doesn't have to be initialized to use it\n instance.events = _router.default.events;\n coreMethodFields.forEach((field)=>{\n instance[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return scopedRouter[field](...args);\n };\n });\n return instance;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCLEdBQWdCOztBQUNqQ0EsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FPTjtBQUNBLFNBQVNPLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUliLE9BQU9DLGNBQWMsQ0FBQ1csUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRVCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPWSxRQUFRWCxPQUFPO0lBQzFCO0lBQ0EseURBQXlEO0lBQ3pEQSxTQUFTO1FBQ0wsT0FBT1k7SUFDWDtJQUNBWCxZQUFZO1FBQ1IsT0FBT1ksWUFBWWIsT0FBTztJQUM5QjtJQUNBRSxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtJQUNBQyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVUsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyw0Q0FBTztBQUN2RSxNQUFNSixVQUFVLFdBQVcsR0FBR0cseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHlGQUE2QjtBQUM5RixNQUFNRyxpQkFBaUJILG1CQUFPQSxDQUFDLDJGQUE4QjtBQUM3RCxNQUFNSSxXQUFXLFdBQVcsR0FBR0wseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLGlFQUFpQjtBQUNuRixNQUFNRixjQUFjLFdBQVcsR0FBR0MseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHFFQUFlO0FBQ3BGLE1BQU1LLGtCQUFrQjtJQUNwQkMsUUFBUTtJQUNSQyxn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SyxHQUFHSixTQUFTLENBQUNJLEtBQUs7WUFDaEM7WUFDQSxPQUFPYyxZQUFZLENBQUNwQixNQUFNLElBQUlJO1FBQ2xDO0lBQ0o7SUFDQSxPQUFPaUI7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPM0QsUUFBUUksT0FBTyxLQUFLLGNBQWUsT0FBT0osUUFBUUksT0FBTyxLQUFLLFlBQVlKLFFBQVFJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0osUUFBUUksT0FBTyxDQUFDMkQsVUFBVSxLQUFLLGFBQWE7SUFDcktqRSxPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU87SUFBSztJQUNuRUgsT0FBTytELE1BQU0sQ0FBQzdELFFBQVFJLE9BQU8sRUFBRUo7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZXIuanM/MzFmYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd2luZG93ICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUm91dGVyOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgd2l0aFJvdXRlcjogbnVsbCxcbiAgICB1c2VSb3V0ZXI6IG51bGwsXG4gICAgY3JlYXRlUm91dGVyOiBudWxsLFxuICAgIG1ha2VQdWJsaWNSb3V0ZXJJbnN0YW5jZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSb3V0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JvdXRlci5kZWZhdWx0O1xuICAgIH0sXG4gICAgLy8gRXhwb3J0IHRoZSBzaW5nbGV0b25Sb3V0ZXIgYW5kIHRoaXMgaXMgdGhlIHB1YmxpYyBBUEkuXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9LFxuICAgIHdpdGhSb3V0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3dpdGhyb3V0ZXIuZGVmYXVsdDtcbiAgICB9LFxuICAgIHVzZVJvdXRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VSb3V0ZXI7XG4gICAgfSxcbiAgICBjcmVhdGVSb3V0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUm91dGVyO1xuICAgIH0sXG4gICAgbWFrZVB1YmxpY1JvdXRlckluc3RhbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG1ha2VQdWJsaWNSb3V0ZXJJbnN0YW5jZTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfcm91dGVyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvcm91dGVyXCIpKTtcbmNvbnN0IF9yb3V0ZXJjb250ZXh0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHRcIik7XG5jb25zdCBfaXNlcnJvciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4uL2xpYi9pcy1lcnJvclwiKSk7XG5jb25zdCBfd2l0aHJvdXRlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vd2l0aC1yb3V0ZXJcIikpO1xuY29uc3Qgc2luZ2xldG9uUm91dGVyID0ge1xuICAgIHJvdXRlcjogbnVsbCxcbiAgICByZWFkeUNhbGxiYWNrczogW10sXG4gICAgcmVhZHkgKGNiKSB7XG4gICAgICAgIGlmICh0aGlzLnJvdXRlcikgcmV0dXJuIGNiKCk7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aGlzLnJlYWR5Q2FsbGJhY2tzLnB1c2goY2IpO1xuICAgICAgICB9XG4gICAgfVxufTtcbi8vIENyZWF0ZSBwdWJsaWMgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBvZiB0aGUgcm91dGVyIGluIHRoZSBzaW5nbGV0b25Sb3V0ZXJcbmNvbnN0IHVybFByb3BlcnR5RmllbGRzID0gW1xuICAgIFwicGF0aG5hbWVcIixcbiAgICBcInJvdXRlXCIsXG4gICAgXCJxdWVyeVwiLFxuICAgIFwiYXNQYXRoXCIsXG4gICAgXCJjb21wb25lbnRzXCIsXG4gICAgXCJpc0ZhbGxiYWNrXCIsXG4gICAgXCJiYXNlUGF0aFwiLFxuICAgIFwibG9jYWxlXCIsXG4gICAgXCJsb2NhbGVzXCIsXG4gICAgXCJkZWZhdWx0TG9jYWxlXCIsXG4gICAgXCJpc1JlYWR5XCIsXG4gICAgXCJpc1ByZXZpZXdcIixcbiAgICBcImlzTG9jYWxlRG9tYWluXCIsXG4gICAgXCJkb21haW5Mb2NhbGVzXCJcbl07XG5jb25zdCByb3V0ZXJFdmVudHMgPSBbXG4gICAgXCJyb3V0ZUNoYW5nZVN0YXJ0XCIsXG4gICAgXCJiZWZvcmVIaXN0b3J5Q2hhbmdlXCIsXG4gICAgXCJyb3V0ZUNoYW5nZUNvbXBsZXRlXCIsXG4gICAgXCJyb3V0ZUNoYW5nZUVycm9yXCIsXG4gICAgXCJoYXNoQ2hhbmdlU3RhcnRcIixcbiAgICBcImhhc2hDaGFuZ2VDb21wbGV0ZVwiXG5dO1xuY29uc3QgY29yZU1ldGhvZEZpZWxkcyA9IFtcbiAgICBcInB1c2hcIixcbiAgICBcInJlcGxhY2VcIixcbiAgICBcInJlbG9hZFwiLFxuICAgIFwiYmFja1wiLFxuICAgIFwicHJlZmV0Y2hcIixcbiAgICBcImJlZm9yZVBvcFN0YXRlXCJcbl07XG4vLyBFdmVudHMgaXMgYSBzdGF0aWMgcHJvcGVydHkgb24gdGhlIHJvdXRlciwgdGhlIHJvdXRlciBkb2Vzbid0IGhhdmUgdG8gYmUgaW5pdGlhbGl6ZWQgdG8gdXNlIGl0XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoc2luZ2xldG9uUm91dGVyLCBcImV2ZW50c1wiLCB7XG4gICAgZ2V0ICgpIHtcbiAgICAgICAgcmV0dXJuIF9yb3V0ZXIuZGVmYXVsdC5ldmVudHM7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBnZXRSb3V0ZXIoKSB7XG4gICAgaWYgKCFzaW5nbGV0b25Sb3V0ZXIucm91dGVyKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBcIk5vIHJvdXRlciBpbnN0YW5jZSBmb3VuZC5cXG5cIiArICdZb3Ugc2hvdWxkIG9ubHkgdXNlIFwibmV4dC9yb3V0ZXJcIiBvbiB0aGUgY2xpZW50IHNpZGUgb2YgeW91ciBhcHAuXFxuJztcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gc2luZ2xldG9uUm91dGVyLnJvdXRlcjtcbn1cbnVybFByb3BlcnR5RmllbGRzLmZvckVhY2goKGZpZWxkKT0+e1xuICAgIC8vIEhlcmUgd2UgbmVlZCB0byB1c2UgT2JqZWN0LmRlZmluZVByb3BlcnR5IGJlY2F1c2Ugd2UgbmVlZCB0byByZXR1cm5cbiAgICAvLyB0aGUgcHJvcGVydHkgYXNzaWduZWQgdG8gdGhlIGFjdHVhbCByb3V0ZXJcbiAgICAvLyBUaGUgdmFsdWUgbWlnaHQgZ2V0IGNoYW5nZWQgYXMgd2UgY2hhbmdlIHJvdXRlcyBhbmQgdGhpcyBpcyB0aGVcbiAgICAvLyBwcm9wZXIgd2F5IHRvIGFjY2VzcyBpdFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzaW5nbGV0b25Sb3V0ZXIsIGZpZWxkLCB7XG4gICAgICAgIGdldCAoKSB7XG4gICAgICAgICAgICBjb25zdCByb3V0ZXIgPSBnZXRSb3V0ZXIoKTtcbiAgICAgICAgICAgIHJldHVybiByb3V0ZXJbZmllbGRdO1xuICAgICAgICB9XG4gICAgfSk7XG59KTtcbmNvcmVNZXRob2RGaWVsZHMuZm9yRWFjaCgoZmllbGQpPT57XG4gICAgc2luZ2xldG9uUm91dGVyW2ZpZWxkXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvdXRlciA9IGdldFJvdXRlcigpO1xuICAgICAgICByZXR1cm4gcm91dGVyW2ZpZWxkXSguLi5hcmdzKTtcbiAgICB9O1xufSk7XG5yb3V0ZXJFdmVudHMuZm9yRWFjaCgoZXZlbnQpPT57XG4gICAgc2luZ2xldG9uUm91dGVyLnJlYWR5KCgpPT57XG4gICAgICAgIF9yb3V0ZXIuZGVmYXVsdC5ldmVudHMub24oZXZlbnQsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICAgICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBldmVudEZpZWxkID0gXCJvblwiICsgZXZlbnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBldmVudC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICBjb25zdCBfc2luZ2xldG9uUm91dGVyID0gc2luZ2xldG9uUm91dGVyO1xuICAgICAgICAgICAgaWYgKF9zaW5nbGV0b25Sb3V0ZXJbZXZlbnRGaWVsZF0pIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBfc2luZ2xldG9uUm91dGVyW2V2ZW50RmllbGRdKC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3Igd2hlbiBydW5uaW5nIHRoZSBSb3V0ZXIgZXZlbnQ6IFwiICsgZXZlbnRGaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgPyBlcnIubWVzc2FnZSArIFwiXFxuXCIgKyBlcnIuc3RhY2sgOiBlcnIgKyBcIlwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufSk7XG5jb25zdCBfZGVmYXVsdCA9IHNpbmdsZXRvblJvdXRlcjtcbmZ1bmN0aW9uIHVzZVJvdXRlcigpIHtcbiAgICBjb25zdCByb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9yb3V0ZXJjb250ZXh0LlJvdXRlckNvbnRleHQpO1xuICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5leHRSb3V0ZXIgd2FzIG5vdCBtb3VudGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXJvdXRlci1ub3QtbW91bnRlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdXRlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVJvdXRlcigpIHtcbiAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuICAgIHNpbmdsZXRvblJvdXRlci5yb3V0ZXIgPSBuZXcgX3JvdXRlci5kZWZhdWx0KC4uLmFyZ3MpO1xuICAgIHNpbmdsZXRvblJvdXRlci5yZWFkeUNhbGxiYWNrcy5mb3JFYWNoKChjYik9PmNiKCkpO1xuICAgIHNpbmdsZXRvblJvdXRlci5yZWFkeUNhbGxiYWNrcyA9IFtdO1xuICAgIHJldHVybiBzaW5nbGV0b25Sb3V0ZXIucm91dGVyO1xufVxuZnVuY3Rpb24gbWFrZVB1YmxpY1JvdXRlckluc3RhbmNlKHJvdXRlcikge1xuICAgIGNvbnN0IHNjb3BlZFJvdXRlciA9IHJvdXRlcjtcbiAgICBjb25zdCBpbnN0YW5jZSA9IHt9O1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgdXJsUHJvcGVydHlGaWVsZHMpe1xuICAgICAgICBpZiAodHlwZW9mIHNjb3BlZFJvdXRlcltwcm9wZXJ0eV0gPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGluc3RhbmNlW3Byb3BlcnR5XSA9IE9iamVjdC5hc3NpZ24oQXJyYXkuaXNBcnJheShzY29wZWRSb3V0ZXJbcHJvcGVydHldKSA/IFtdIDoge30sIHNjb3BlZFJvdXRlcltwcm9wZXJ0eV0pIC8vIG1ha2VzIHN1cmUgcXVlcnkgaXMgbm90IHN0YXRlZnVsXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpbnN0YW5jZVtwcm9wZXJ0eV0gPSBzY29wZWRSb3V0ZXJbcHJvcGVydHldO1xuICAgIH1cbiAgICAvLyBFdmVudHMgaXMgYSBzdGF0aWMgcHJvcGVydHkgb24gdGhlIHJvdXRlciwgdGhlIHJvdXRlciBkb2Vzbid0IGhhdmUgdG8gYmUgaW5pdGlhbGl6ZWQgdG8gdXNlIGl0XG4gICAgaW5zdGFuY2UuZXZlbnRzID0gX3JvdXRlci5kZWZhdWx0LmV2ZW50cztcbiAgICBjb3JlTWV0aG9kRmllbGRzLmZvckVhY2goKGZpZWxkKT0+e1xuICAgICAgICBpbnN0YW5jZVtmaWVsZF0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHNjb3BlZFJvdXRlcltmaWVsZF0oLi4uYXJncyk7XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUm91dGVyIiwiZGVmYXVsdCIsIndpdGhSb3V0ZXIiLCJ1c2VSb3V0ZXIiLCJjcmVhdGVSb3V0ZXIiLCJtYWtlUHVibGljUm91dGVySW5zdGFuY2UiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfcm91dGVyIiwiX2RlZmF1bHQiLCJfd2l0aHJvdXRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX3JvdXRlcmNvbnRleHQiLCJfaXNlcnJvciIsInNpbmdsZXRvblJvdXRlciIsInJvdXRlciIsInJlYWR5Q2FsbGJhY2tzIiwicmVhZHkiLCJjYiIsInB1c2giLCJ1cmxQcm9wZXJ0eUZpZWxkcyIsInJvdXRlckV2ZW50cyIsImNvcmVNZXRob2RGaWVsZHMiLCJldmVudHMiLCJnZXRSb3V0ZXIiLCJtZXNzYWdlIiwiRXJyb3IiLCJmb3JFYWNoIiwiZmllbGQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImV2ZW50Iiwib24iLCJldmVudEZpZWxkIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJfc2luZ2xldG9uUm91dGVyIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RhY2siLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsInNjb3BlZFJvdXRlciIsImluc3RhbmNlIiwicHJvcGVydHkiLCJhc3NpZ24iLCJpc0FycmF5IiwiX19lc01vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/script.js": -/*!*************************************************!*\ - !*** ./node_modules/next/dist/client/script.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n handleClientScriptLoad: function() {\n return handleClientScriptLoad;\n },\n initScriptLoader: function() {\n return initScriptLoader;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _headmanagercontext = __webpack_require__(/*! ../shared/lib/head-manager-context */ \"./node_modules/next/dist/shared/lib/head-manager-context.js\");\nconst _headmanager = __webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst ScriptCache = new Map();\nconst LoadCache = new Set();\nconst ignoreProps = [\n \"onLoad\",\n \"onReady\",\n \"dangerouslySetInnerHTML\",\n \"children\",\n \"onError\",\n \"strategy\",\n \"stylesheets\"\n];\nconst insertStylesheets = (stylesheets)=>{\n // Case 1: Styles for afterInteractive/lazyOnload with appDir injected via handleClientScriptLoad\n //\n // Using ReactDOM.preinit to feature detect appDir and inject styles\n // Stylesheets might have already been loaded if initialized with Script component\n // Re-inject styles here to handle scripts loaded via handleClientScriptLoad\n // ReactDOM.preinit handles dedup and ensures the styles are loaded only once\n if (_reactdom.default.preinit) {\n stylesheets.forEach((stylesheet)=>{\n _reactdom.default.preinit(stylesheet, {\n as: \"style\"\n });\n });\n return;\n }\n // Case 2: Styles for afterInteractive/lazyOnload with pages injected via handleClientScriptLoad\n //\n // We use this function to load styles when appdir is not detected\n // TODO: Use React float APIs to load styles once available for pages dir\n if (true) {\n let head = document.head;\n stylesheets.forEach((stylesheet)=>{\n let link = document.createElement(\"link\");\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = stylesheet;\n head.appendChild(link);\n });\n }\n};\nconst loadScript = (props)=>{\n const { src, id, onLoad = ()=>{}, onReady = null, dangerouslySetInnerHTML, children = \"\", strategy = \"afterInteractive\", onError, stylesheets } = props;\n const cacheKey = id || src;\n // Script has already loaded\n if (cacheKey && LoadCache.has(cacheKey)) {\n return;\n }\n // Contents of this script are already loading/loaded\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey);\n // It is possible that multiple `next/script` components all have same \"src\", but has different \"onLoad\"\n // This is to make sure the same remote script will only load once, but \"onLoad\" are executed in order\n ScriptCache.get(src).then(onLoad, onError);\n return;\n }\n /** Execute after the script first loaded */ const afterLoad = ()=>{\n // Run onReady for the first time after load event\n if (onReady) {\n onReady();\n }\n // add cacheKey to LoadCache when load successfully\n LoadCache.add(cacheKey);\n };\n const el = document.createElement(\"script\");\n const loadPromise = new Promise((resolve, reject)=>{\n el.addEventListener(\"load\", function(e) {\n resolve();\n if (onLoad) {\n onLoad.call(this, e);\n }\n afterLoad();\n });\n el.addEventListener(\"error\", function(e) {\n reject(e);\n });\n }).catch(function(e) {\n if (onError) {\n onError(e);\n }\n });\n if (dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n afterLoad();\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n afterLoad();\n } else if (src) {\n el.src = src;\n // do not add cacheKey into LoadCache for remote script here\n // cacheKey will be added to LoadCache when it is actually loaded (see loadPromise above)\n ScriptCache.set(src, loadPromise);\n }\n for (const [k, value] of Object.entries(props)){\n if (value === undefined || ignoreProps.includes(k)) {\n continue;\n }\n const attr = _headmanager.DOMAttributeNames[k] || k.toLowerCase();\n el.setAttribute(attr, value);\n }\n if (strategy === \"worker\") {\n el.setAttribute(\"type\", \"text/partytown\");\n }\n el.setAttribute(\"data-nscript\", strategy);\n // Load styles associated with this script\n if (stylesheets) {\n insertStylesheets(stylesheets);\n }\n document.body.appendChild(el);\n};\nfunction handleClientScriptLoad(props) {\n const { strategy = \"afterInteractive\" } = props;\n if (strategy === \"lazyOnload\") {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n } else {\n loadScript(props);\n }\n}\nfunction loadLazyScript(props) {\n if (document.readyState === \"complete\") {\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n } else {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n }\n}\nfunction addBeforeInteractiveToCache() {\n const scripts = [\n ...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'),\n ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]')\n ];\n scripts.forEach((script)=>{\n const cacheKey = script.id || script.getAttribute(\"src\");\n LoadCache.add(cacheKey);\n });\n}\nfunction initScriptLoader(scriptLoaderItems) {\n scriptLoaderItems.forEach(handleClientScriptLoad);\n addBeforeInteractiveToCache();\n}\nfunction Script(props) {\n const { id, src = \"\", onLoad = ()=>{}, onReady = null, strategy = \"afterInteractive\", onError, stylesheets, ...restProps } = props;\n // Context is available only during SSR\n const { updateScripts, scripts, getIsSsr, appDir, nonce } = (0, _react.useContext)(_headmanagercontext.HeadManagerContext);\n /**\n * - First mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script hasn't loaded yet (not in LoadCache)\n * onReady is skipped, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. hasLoadScriptEffectCalled.current is false, loadScript executes\n * Once the script is loaded, the onLoad and onReady will be called by then\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n *\n * - Second mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script has already loaded (found in LoadCache)\n * onReady is called, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. The script is already loaded, loadScript bails out\n * [If strict mode is enabled / is wrapped in <OffScreen /> component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n */ const hasOnReadyEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n const cacheKey = id || src;\n if (!hasOnReadyEffectCalled.current) {\n // Run onReady if script has loaded before but component is re-mounted\n if (onReady && cacheKey && LoadCache.has(cacheKey)) {\n onReady();\n }\n hasOnReadyEffectCalled.current = true;\n }\n }, [\n onReady,\n id,\n src\n ]);\n const hasLoadScriptEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n if (!hasLoadScriptEffectCalled.current) {\n if (strategy === \"afterInteractive\") {\n loadScript(props);\n } else if (strategy === \"lazyOnload\") {\n loadLazyScript(props);\n }\n hasLoadScriptEffectCalled.current = true;\n }\n }, [\n props,\n strategy\n ]);\n if (strategy === \"beforeInteractive\" || strategy === \"worker\") {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([\n {\n id,\n src,\n onLoad,\n onReady,\n onError,\n ...restProps\n }\n ]);\n updateScripts(scripts);\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(id || src);\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props);\n }\n }\n // For the app directory, we need React Float to preload these scripts.\n if (appDir) {\n // Injecting stylesheets here handles beforeInteractive and worker scripts correctly\n // For other strategies injecting here ensures correct stylesheet order\n // ReactDOM.preinit handles loading the styles in the correct order,\n // also ensures the stylesheet is loaded only once and in a consistent manner\n //\n // Case 1: Styles for beforeInteractive/worker with appDir - handled here\n // Case 2: Styles for beforeInteractive/worker with pages dir - Not handled yet\n // Case 3: Styles for afterInteractive/lazyOnload with appDir - handled here\n // Case 4: Styles for afterInteractive/lazyOnload with pages dir - handled in insertStylesheets function\n if (stylesheets) {\n stylesheets.forEach((styleSrc)=>{\n _reactdom.default.preinit(styleSrc, {\n as: \"style\"\n });\n });\n }\n // Before interactive scripts need to be loaded by Next.js' runtime instead\n // of native <script> tags, because they no longer have `defer`.\n if (strategy === \"beforeInteractive\") {\n if (!src) {\n // For inlined scripts, we put the content in `children`.\n if (restProps.dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n restProps.children = restProps.dangerouslySetInnerHTML.__html;\n delete restProps.dangerouslySetInnerHTML;\n }\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n 0,\n {\n ...restProps\n }\n ]) + \")\"\n }\n });\n } else {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity\n } : {\n as: \"script\"\n });\n return /*#__PURE__*/ _react.default.createElement(\"script\", {\n nonce: nonce,\n dangerouslySetInnerHTML: {\n __html: \"(self.__next_s=self.__next_s||[]).push(\" + JSON.stringify([\n src\n ]) + \")\"\n }\n });\n }\n } else if (strategy === \"afterInteractive\") {\n if (src) {\n // @ts-ignore\n _reactdom.default.preload(src, restProps.integrity ? {\n as: \"script\",\n integrity: restProps.integrity\n } : {\n as: \"script\"\n });\n }\n }\n }\n return null;\n}\n_c = Script;\nObject.defineProperty(Script, \"__nextScript\", {\n value: true\n});\nconst _default = Script;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=script.js.map\nvar _c;\n$RefreshReg$(_c, \"Script\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zY3JpcHQuanMiLCJtYXBwaW5ncyI6InFEQUNhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLDhHQUEwQztBQUNwRixNQUFNRSxZQUFZLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG9EQUFXO0FBQzlFLE1BQU1JLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJFLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsNENBQU87QUFDeEUsTUFBTUssc0JBQXNCTCxtQkFBT0EsQ0FBQyx1R0FBb0M7QUFDeEUsTUFBTU0sZUFBZU4sbUJBQU9BLENBQUMsdUVBQWdCO0FBQzdDLE1BQU1PLHVCQUF1QlAsbUJBQU9BLENBQUMseUZBQXlCO0FBRTlELE1BQU1RLGNBQWMsSUFBSUM7QUFDeEIsTUFBTUMsWUFBWSxJQUFJQztBQUN0QixNQUFNQyxjQUFjO0lBQ2hCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxNQUFNQyxvQkFBb0IsQ0FBQ0M7SUFDdkIsaUdBQWlHO0lBQ2pHLEVBQUU7SUFDRixvRUFBb0U7SUFDcEUsa0ZBQWtGO0lBQ2xGLDRF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SztJQUNuRUgsT0FBT2lILE1BQU0sQ0FBQy9HLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zY3JpcHQuanM/YmQ2YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaGFuZGxlQ2xpZW50U2NyaXB0TG9hZDogbnVsbCxcbiAgICBpbml0U2NyaXB0TG9hZGVyOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaGFuZGxlQ2xpZW50U2NyaXB0TG9hZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoYW5kbGVDbGllbnRTY3JpcHRMb2FkO1xuICAgIH0sXG4gICAgaW5pdFNjcmlwdExvYWRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbml0U2NyaXB0TG9hZGVyO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfcmVhY3Rkb20gPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdC1kb21cIikpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9oZWFkbWFuYWdlcmNvbnRleHQgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9oZWFkLW1hbmFnZXItY29udGV4dFwiKTtcbmNvbnN0IF9oZWFkbWFuYWdlciA9IHJlcXVpcmUoXCIuL2hlYWQtbWFuYWdlclwiKTtcbmNvbnN0IF9yZXF1ZXN0aWRsZWNhbGxiYWNrID0gcmVxdWlyZShcIi4vcmVxdWVzdC1pZGxlLWNhbGxiYWNrXCIpO1xuXG5jb25zdCBTY3JpcHRDYWNoZSA9IG5ldyBNYXAoKTtcbmNvbnN0IExvYWRDYWNoZSA9IG5ldyBTZXQoKTtcbmNvbnN0IGlnbm9yZVByb3BzID0gW1xuICAgIFwib25Mb2FkXCIsXG4gICAgXCJvblJlYWR5XCIsXG4gICAgXCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiLFxuICAgIFwiY2hpbGRyZW5cIixcbiAgICBcIm9uRXJyb3JcIixcbiAgICBcInN0cmF0ZWd5XCIsXG4gICAgXCJzdHlsZXNoZWV0c1wiXG5dO1xuY29uc3QgaW5zZXJ0U3R5bGVzaGVldHMgPSAoc3R5bGVzaGVldHMpPT57XG4gICAgLy8gQ2FzZSAxOiBTdHlsZXMgZm9yIGFmdGVySW50ZXJhY3RpdmUvbGF6eU9ubG9hZCB3aXRoIGFwcERpciBpbmplY3RlZCB2aWEgaGFuZGxlQ2xpZW50U2NyaXB0TG9hZFxuICAgIC8vXG4gICAgLy8gVXNpbmcgUmVhY3RET00ucHJlaW5pdCB0byBmZWF0dXJlIGRldGVjdCBhcHBEaXIgYW5kIGluamVjdCBzdHlsZXNcbiAgICAvLyBTdHlsZXNoZWV0cyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBsb2FkZWQgaWYgaW5pdGlhbGl6ZWQgd2l0aCBTY3JpcHQgY29tcG9uZW50XG4gICAgLy8gUmUtaW5qZWN0IHN0eWxlcyBoZXJlIHRvIGhhbmRsZSBzY3JpcHRzIGxvYWRlZCB2aWEgaGFuZGxlQ2xpZW50U2NyaXB0TG9hZFxuICAgIC8vIFJlYWN0RE9NLnByZWluaXQgaGFuZGxlcyBkZWR1cCBhbmQgZW5zdXJlcyB0aGUgc3R5bGVzIGFyZSBsb2FkZWQgb25seSBvbmNlXG4gICAgaWYgKF9yZWFjdGRvbS5kZWZhdWx0LnByZWluaXQpIHtcbiAgICAgICAgc3R5bGVzaGVldHMuZm9yRWFjaCgoc3R5bGVzaGVldCk9PntcbiAgICAgICAgICAgIF9yZWFjdGRvbS5kZWZhdWx0LnByZWluaXQoc3R5bGVzaGVldCwge1xuICAgICAgICAgICAgICAgIGFzOiBcInN0eWxlXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBDYXNlIDI6IFN0eWxlcyBmb3IgYWZ0ZXJJbnRlcmFjdGl2ZS9sYXp5T25sb2FkIHdpdGggcGFnZXMgaW5qZWN0ZWQgdmlhIGhhbmRsZUNsaWVudFNjcmlwdExvYWRcbiAgICAvL1xuICAgIC8vIFdlIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIGxvYWQgc3R5bGVzIHdoZW4gYXBwZGlyIGlzIG5vdCBkZXRlY3RlZFxuICAgIC8vIFRPRE86IFVzZSBSZWFjdCBmbG9hdCBBUElzIHRvIGxvYWQgc3R5bGVzIG9uY2UgYXZhaWxhYmxlIGZvciBwYWdlcyBkaXJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBsZXQgaGVhZCA9IGRvY3VtZW50LmhlYWQ7XG4gICAgICAgIHN0eWxlc2hlZXRzLmZvckVhY2goKHN0eWxlc2hlZXQpPT57XG4gICAgICAgICAgICBsZXQgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuICAgICAgICAgICAgbGluay50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuICAgICAgICAgICAgbGluay5yZWwgPSBcInN0eWxlc2hlZXRcIjtcbiAgICAgICAgICAgIGxpbmsuaHJlZiA9IHN0eWxlc2hlZXQ7XG4gICAgICAgICAgICBoZWFkLmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgICB9KTtcbiAgICB9XG59O1xuY29uc3QgbG9hZFNjcmlwdCA9IChwcm9wcyk9PntcbiAgICBjb25zdCB7IHNyYyAsIGlkICwgb25Mb2FkID0oKT0+e30gLCBvblJlYWR5ID1udWxsICwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgLCBjaGlsZHJlbiA9XCJcIiAsIHN0cmF0ZWd5ID1cImFmdGVySW50ZXJhY3RpdmVcIiAsIG9uRXJyb3IgLCBzdHlsZXNoZWV0cyAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gaWQgfHwgc3JjO1xuICAgIC8vIFNjcmlwdCBoYXMgYWxyZWFkeSBsb2FkZWRcbiAgICBpZiAoY2FjaGVLZXkgJiYgTG9hZENhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBDb250ZW50cyBvZiB0aGlzIHNjcmlwdCBhcmUgYWxyZWFkeSBsb2FkaW5nL2xvYWRlZFxuICAgIGlmIChTY3JpcHRDYWNoZS5oYXMoc3JjKSkge1xuICAgICAgICBMb2FkQ2FjaGUuYWRkKGNhY2hlS2V5KTtcbiAgICAgICAgLy8gSXQgaXMgcG9zc2libGUgdGhhdCBtdWx0aXBsZSBgbmV4dC9zY3JpcHRgIGNvbXBvbmVudHMgYWxsIGhhdmUgc2FtZSBcInNyY1wiLCBidXQgaGFzIGRpZmZlcmVudCBcIm9uTG9hZFwiXG4gICAgICAgIC8vIFRoaXMgaXMgdG8gbWFrZSBzdXJlIHRoZSBzYW1lIHJlbW90ZSBzY3JpcHQgd2lsbCBvbmx5IGxvYWQgb25jZSwgYnV0IFwib25Mb2FkXCIgYXJlIGV4ZWN1dGVkIGluIG9yZGVyXG4gICAgICAgIFNjcmlwdENhY2hlLmdldChzcmMpLnRoZW4ob25Mb2FkLCBvbkVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKiogRXhlY3V0ZSBhZnRlciB0aGUgc2NyaXB0IGZpcnN0IGxvYWRlZCAqLyBjb25zdCBhZnRlckxvYWQgPSAoKT0+e1xuICAgICAgICAvLyBSdW4gb25SZWFkeSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgbG9hZCBldmVudFxuICAgICAgICBpZiAob25SZWFkeSkge1xuICAgICAgICAgICAgb25SZWFkeSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFkZCBjYWNoZUtleSB0byBMb2FkQ2FjaGUgd2hlbiBsb2FkIHN1Y2Nlc3NmdWxseVxuICAgICAgICBMb2FkQ2FjaGUuYWRkKGNhY2hlS2V5KTtcbiAgICB9O1xuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICBjb25zdCBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIGlmIChvbkxvYWQpIHtcbiAgICAgICAgICAgICAgICBvbkxvYWQuY2FsbCh0aGlzLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFmdGVyTG9hZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfSk7XG4gICAgfSkuY2F0Y2goZnVuY3Rpb24oZSkge1xuICAgICAgICBpZiAob25FcnJvcikge1xuICAgICAgICAgICAgb25FcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCkge1xuICAgICAgICAvLyBDYXN0aW5nIHNpbmNlIGxpYi5kb20uZC50cyBkb2Vzbid0IGhhdmUgVHJ1c3RlZEhUTUwgeWV0LlxuICAgICAgICBlbC5pbm5lckhUTUwgPSBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgfHwgXCJcIjtcbiAgICAgICAgYWZ0ZXJMb2FkKCk7XG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICBlbC50ZXh0Q29udGVudCA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gXCJzdHJpbmdcIiA/IGNoaWxkcmVuIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbi5qb2luKFwiXCIpIDogXCJcIjtcbiAgICAgICAgYWZ0ZXJMb2FkKCk7XG4gICAgfSBlbHNlIGlmIChzcmMpIHtcbiAgICAgICAgZWwuc3JjID0gc3JjO1xuICAgICAgICAvLyBkbyBub3QgYWRkIGNhY2hlS2V5IGludG8gTG9hZENhY2hlIGZvciByZW1vdGUgc2NyaXB0IGhlcmVcbiAgICAgICAgLy8gY2FjaGVLZXkgd2lsbCBiZSBhZGRlZCB0byBMb2FkQ2FjaGUgd2hlbiBpdCBpcyBhY3R1YWxseSBsb2FkZWQgKHNlZSBsb2FkUHJvbWlzZSBhYm92ZSlcbiAgICAgICAgU2NyaXB0Q2FjaGUuc2V0KHNyYywgbG9hZFByb21pc2UpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtrLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocHJvcHMpKXtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgaWdub3JlUHJvcHMuaW5jbHVkZXMoaykpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGF0dHIgPSBfaGVhZG1hbmFnZXIuRE9NQXR0cmlidXRlTmFtZXNba10gfHwgay50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoYXR0ciwgdmFsdWUpO1xuICAgIH1cbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwid29ya2VyXCIpIHtcbiAgICAgICAgZWwuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcInRleHQvcGFydHl0b3duXCIpO1xuICAgIH1cbiAgICBlbC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW5zY3JpcHRcIiwgc3RyYXRlZ3kpO1xuICAgIC8vIExvYWQgc3R5bGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNjcmlwdFxuICAgIGlmIChzdHlsZXNoZWV0cykge1xuICAgICAgICBpbnNlcnRTdHlsZXNoZWV0cyhzdHlsZXNoZWV0cyk7XG4gICAgfVxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpO1xufTtcbmZ1bmN0aW9uIGhhbmRsZUNsaWVudFNjcmlwdExvYWQocHJvcHMpIHtcbiAgICBjb25zdCB7IHN0cmF0ZWd5ID1cImFmdGVySW50ZXJhY3RpdmVcIiAgfSA9IHByb3BzO1xuICAgIGlmIChzdHJhdGVneSA9PT0gXCJsYXp5T25sb2FkXCIpIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsICgpPT57XG4gICAgICAgICAgICAoMCwgX3JlcXVlc3RpZGxlY2FsbGJhY2sucmVxdWVzdElkbGVDYWxsYmFjaykoKCk9PmxvYWRTY3JpcHQocHJvcHMpKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbG9hZFNjcmlwdChwcm9wcyk7XG4gICAgfVxufVxuZnVuY3Rpb24gbG9hZExhenlTY3JpcHQocHJvcHMpIHtcbiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJjb21wbGV0ZVwiKSB7XG4gICAgICAgICgwLCBfcmVxdWVzdGlkbGVjYWxsYmFjay5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+bG9hZFNjcmlwdChwcm9wcykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCAoKT0+e1xuICAgICAgICAgICAgKDAsIF9yZXF1ZXN0aWRsZWNhbGxiYWNrLnJlcXVlc3RJZGxlQ2FsbGJhY2spKCgpPT5sb2FkU2NyaXB0KHByb3BzKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFkZEJlZm9yZUludGVyYWN0aXZlVG9DYWNoZSgpIHtcbiAgICBjb25zdCBzY3JpcHRzID0gW1xuICAgICAgICAuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1uc2NyaXB0PVwiYmVmb3JlSW50ZXJhY3RpdmVcIl0nKSxcbiAgICAgICAgLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtbnNjcmlwdD1cImJlZm9yZVBhZ2VSZW5kZXJcIl0nKVxuICAgIF07XG4gICAgc2NyaXB0cy5mb3JFYWNoKChzY3JpcHQpPT57XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gc2NyaXB0LmlkIHx8IHNjcmlwdC5nZXRBdHRyaWJ1dGUoXCJzcmNcIik7XG4gICAgICAgIExvYWRDYWNoZS5hZGQoY2FjaGVLZXkpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gaW5pdFNjcmlwdExvYWRlcihzY3JpcHRMb2FkZXJJdGVtcykge1xuICAgIHNjcmlwdExvYWRlckl0ZW1zLmZvckVhY2goaGFuZGxlQ2xpZW50U2NyaXB0TG9hZCk7XG4gICAgYWRkQmVmb3JlSW50ZXJhY3RpdmVUb0NhY2hlKCk7XG59XG5mdW5jdGlvbiBTY3JpcHQocHJvcHMpIHtcbiAgICBjb25zdCB7IGlkICwgc3JjID1cIlwiICwgb25Mb2FkID0oKT0+e30gLCBvblJlYWR5ID1udWxsICwgc3RyYXRlZ3kgPVwiYWZ0ZXJJbnRlcmFjdGl2ZVwiICwgb25FcnJvciAsIHN0eWxlc2hlZXRzICwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcbiAgICAvLyBDb250ZXh0IGlzIGF2YWlsYWJsZSBvbmx5IGR1cmluZyBTU1JcbiAgICBjb25zdCB7IHVwZGF0ZVNjcmlwdHMgLCBzY3JpcHRzICwgZ2V0SXNTc3IgLCBhcHBEaXIgLCBub25jZSAgfSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hlYWRtYW5hZ2VyY29udGV4dC5IZWFkTWFuYWdlckNvbnRleHQpO1xuICAgIC8qKlxuICAgKiAtIEZpcnN0IG1vdW50OlxuICAgKiAgIDEuIFRoZSB1c2VFZmZlY3QgZm9yIG9uUmVhZHkgZXhlY3V0ZXNcbiAgICogICAyLiBoYXNPblJlYWR5RWZmZWN0Q2FsbGVkLmN1cnJlbnQgaXMgZmFsc2UsIGJ1dCB0aGUgc2NyaXB0IGhhc24ndCBsb2FkZWQgeWV0IChub3QgaW4gTG9hZENhY2hlKVxuICAgKiAgICAgIG9uUmVhZHkgaXMgc2tpcHBlZCwgc2V0IGhhc09uUmVhZHlFZmZlY3RDYWxsZWQuY3VycmVudCB0byB0cnVlXG4gICAqICAgMy4gVGhlIHVzZUVmZmVjdCBmb3IgbG9hZFNjcmlwdCBleGVjdXRlc1xuICAgKiAgIDQuIGhhc0xvYWRTY3JpcHRFZmZlY3RDYWxsZWQuY3VycmVudCBpcyBmYWxzZSwgbG9hZFNjcmlwdCBleGVjdXRlc1xuICAgKiAgICAgIE9uY2UgdGhlIHNjcmlwdCBpcyBsb2FkZWQsIHRoZSBvbkxvYWQgYW5kIG9uUmVhZHkgd2lsbCBiZSBjYWxsZWQgYnkgdGhlblxuICAgKiAgIFtJZiBzdHJpY3QgbW9kZSBpcyBlbmFibGVkIC8gaXMgd3JhcHBlZCBpbiA8T2ZmU2NyZWVuIC8+IGNvbXBvbmVudF1cbiAgICogICA1LiBUaGUgdXNlRWZmZWN0IGZvciBvblJlYWR5IGV4ZWN1dGVzIGFnYWluXG4gICAqICAgNi4gaGFzT25SZWFkeUVmZmVjdENhbGxlZC5jdXJyZW50IGlzIHRydWUsIHNvIGVudGlyZSBlZmZlY3QgaXMgc2tpcHBlZFxuICAgKiAgIDcuIFRoZSB1c2VFZmZlY3QgZm9yIGxvYWRTY3JpcHQgZXhlY3V0ZXMgYWdhaW5cbiAgICogICA4LiBoYXNMb2FkU2NyaXB0RWZmZWN0Q2FsbGVkLmN1cnJlbnQgaXMgdHJ1ZSwgc28gZW50aXJlIGVmZmVjdCBpcyBza2lwcGVkXG4gICAqXG4gICAqIC0gU2Vjb25kIG1vdW50OlxuICAgKiAgIDEuIFRoZSB1c2VFZmZlY3QgZm9yIG9uUmVhZHkgZXhlY3V0ZXNcbiAgICogICAyLiBoYXNPblJlYWR5RWZmZWN0Q2FsbGVkLmN1cnJlbnQgaXMgZmFsc2UsIGJ1dCB0aGUgc2NyaXB0IGhhcyBhbHJlYWR5IGxvYWRlZCAoZm91bmQgaW4gTG9hZENhY2hlKVxuICAgKiAgICAgIG9uUmVhZHkgaXMgY2FsbGVkLCBzZXQgaGFzT25SZWFkeUVmZmVjdENhbGxlZC5jdXJyZW50IHRvIHRydWVcbiAgICogICAzLiBUaGUgdXNlRWZmZWN0IGZvciBsb2FkU2NyaXB0IGV4ZWN1dGVzXG4gICAqICAgNC4gVGhlIHNjcmlwdCBpcyBhbHJlYWR5IGxvYWRlZCwgbG9hZFNjcmlwdCBiYWlscyBvdXRcbiAgICogICBbSWYgc3RyaWN0IG1vZGUgaXMgZW5hYmxlZCAvIGlzIHdyYXBwZWQgaW4gPE9mZlNjcmVlbiAvPiBjb21wb25lbnRdXG4gICAqICAgNS4gVGhlIHVzZUVmZmVjdCBmb3Igb25SZWFkeSBleGVjdXRlcyBhZ2FpblxuICAgKiAgIDYuIGhhc09uUmVhZHlFZmZlY3RDYWxsZWQuY3VycmVudCBpcyB0cnVlLCBzbyBlbnRpcmUgZWZmZWN0IGlzIHNraXBwZWRcbiAgICogICA3LiBUaGUgdXNlRWZmZWN0IGZvciBsb2FkU2NyaXB0IGV4ZWN1dGVzIGFnYWluXG4gICAqICAgOC4gaGFzTG9hZFNjcmlwdEVmZmVjdENhbGxlZC5jdXJyZW50IGlzIHRydWUsIHNvIGVudGlyZSBlZmZlY3QgaXMgc2tpcHBlZFxuICAgKi8gY29uc3QgaGFzT25SZWFkeUVmZmVjdENhbGxlZCA9ICgwLCBfcmVhY3QudXNlUmVmKShmYWxzZSk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gaWQgfHwgc3JjO1xuICAgICAgICBpZiAoIWhhc09uUmVhZHlFZmZlY3RDYWxsZWQuY3VycmVudCkge1xuICAgICAgICAgICAgLy8gUnVuIG9uUmVhZHkgaWYgc2NyaXB0IGhhcyBsb2FkZWQgYmVmb3JlIGJ1dCBjb21wb25lbnQgaXMgcmUtbW91bnRlZFxuICAgICAgICAgICAgaWYgKG9uUmVhZHkgJiYgY2FjaGVLZXkgJiYgTG9hZENhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgICAgICAgICAgICBvblJlYWR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoYXNPblJlYWR5RWZmZWN0Q2FsbGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBvblJlYWR5LFxuICAgICAgICBpZCxcbiAgICAgICAgc3JjXG4gICAgXSk7XG4gICAgY29uc3QgaGFzTG9hZFNjcmlwdEVmZmVjdENhbGxlZCA9ICgwLCBfcmVhY3QudXNlUmVmKShmYWxzZSk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGlmICghaGFzTG9hZFNjcmlwdEVmZmVjdENhbGxlZC5jdXJyZW50KSB7XG4gICAgICAgICAgICBpZiAoc3RyYXRlZ3kgPT09IFwiYWZ0ZXJJbnRlcmFjdGl2ZVwiKSB7XG4gICAgICAgICAgICAgICAgbG9hZFNjcmlwdChwcm9wcyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmF0ZWd5ID09PSBcImxhenlPbmxvYWRcIikge1xuICAgICAgICAgICAgICAgIGxvYWRMYXp5U2NyaXB0KHByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhhc0xvYWRTY3JpcHRFZmZlY3RDYWxsZWQuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIHByb3BzLFxuICAgICAgICBzdHJhdGVneVxuICAgIF0pO1xuICAgIGlmIChzdHJhdGVneSA9PT0gXCJiZWZvcmVJbnRlcmFjdGl2ZVwiIHx8IHN0cmF0ZWd5ID09PSBcIndvcmtlclwiKSB7XG4gICAgICAgIGlmICh1cGRhdGVTY3JpcHRzKSB7XG4gICAgICAgICAgICBzY3JpcHRzW3N0cmF0ZWd5XSA9IChzY3JpcHRzW3N0cmF0ZWd5XSB8fCBbXSkuY29uY2F0KFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICBzcmMsXG4gICAgICAgICAgICAgICAgICAgIG9uTG9hZCxcbiAgICAgICAgICAgICAgICAgICAgb25SZWFkeSxcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVzdFByb3BzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB1cGRhdGVTY3JpcHRzKHNjcmlwdHMpO1xuICAgICAgICB9IGVsc2UgaWYgKGdldElzU3NyICYmIGdldElzU3NyKCkpIHtcbiAgICAgICAgICAgIC8vIFNjcmlwdCBoYXMgYWxyZWFkeSBsb2FkZWQgZHVyaW5nIFNTUlxuICAgICAgICAgICAgTG9hZENhY2hlLmFkZChpZCB8fCBzcmMpO1xuICAgICAgICB9IGVsc2UgaWYgKGdldElzU3NyICYmICFnZXRJc1NzcigpKSB7XG4gICAgICAgICAgICBsb2FkU2NyaXB0KHByb3BzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBGb3IgdGhlIGFwcCBkaXJlY3RvcnksIHdlIG5lZWQgUmVhY3QgRmxvYXQgdG8gcHJlbG9hZCB0aGVzZSBzY3JpcHRzLlxuICAgIGlmIChhcHBEaXIpIHtcbiAgICAgICAgLy8gSW5qZWN0aW5nIHN0eWxlc2hlZXRzIGhlcmUgaGFuZGxlcyBiZWZvcmVJbnRlcmFjdGl2ZSBhbmQgd29ya2VyIHNjcmlwdHMgY29ycmVjdGx5XG4gICAgICAgIC8vIEZvciBvdGhlciBzdHJhdGVnaWVzIGluamVjdGluZyBoZXJlIGVuc3VyZXMgY29ycmVjdCBzdHlsZXNoZWV0IG9yZGVyXG4gICAgICAgIC8vIFJlYWN0RE9NLnByZWluaXQgaGFuZGxlcyBsb2FkaW5nIHRoZSBzdHlsZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIsXG4gICAgICAgIC8vIGFsc28gZW5zdXJlcyB0aGUgc3R5bGVzaGVldCBpcyBsb2FkZWQgb25seSBvbmNlIGFuZCBpbiBhIGNvbnNpc3RlbnQgbWFubmVyXG4gICAgICAgIC8vXG4gICAgICAgIC8vIENhc2UgMTogU3R5bGVzIGZvciBiZWZvcmVJbnRlcmFjdGl2ZS93b3JrZXIgd2l0aCBhcHBEaXIgLSBoYW5kbGVkIGhlcmVcbiAgICAgICAgLy8gQ2FzZSAyOiBTdHlsZXMgZm9yIGJlZm9yZUludGVyYWN0aXZlL3dvcmtlciB3aXRoIHBhZ2VzIGRpciAtIE5vdCBoYW5kbGVkIHlldFxuICAgICAgICAvLyBDYXNlIDM6IFN0eWxlcyBmb3IgYWZ0ZXJJbnRlcmFjdGl2ZS9sYXp5T25sb2FkIHdpdGggYXBwRGlyIC0gaGFuZGxlZCBoZXJlXG4gICAgICAgIC8vIENhc2UgNDogU3R5bGVzIGZvciBhZnRlckludGVyYWN0aXZlL2xhenlPbmxvYWQgd2l0aCBwYWdlcyBkaXIgLSBoYW5kbGVkIGluIGluc2VydFN0eWxlc2hlZXRzIGZ1bmN0aW9uXG4gICAgICAgIGlmIChzdHlsZXNoZWV0cykge1xuICAgICAgICAgICAgc3R5bGVzaGVldHMuZm9yRWFjaCgoc3R5bGVTcmMpPT57XG4gICAgICAgICAgICAgICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlaW5pdChzdHlsZVNyYywge1xuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBCZWZvcmUgaW50ZXJhY3RpdmUgc2NyaXB0cyBuZWVkIHRvIGJlIGxvYWRlZCBieSBOZXh0LmpzJyBydW50aW1lIGluc3RlYWRcbiAgICAgICAgLy8gb2YgbmF0aXZlIDxzY3JpcHQ+IHRhZ3MsIGJlY2F1c2UgdGhleSBubyBsb25nZXIgaGF2ZSBgZGVmZXJgLlxuICAgICAgICBpZiAoc3RyYXRlZ3kgPT09IFwiYmVmb3JlSW50ZXJhY3RpdmVcIikge1xuICAgICAgICAgICAgaWYgKCFzcmMpIHtcbiAgICAgICAgICAgICAgICAvLyBGb3IgaW5saW5lZCBzY3JpcHRzLCB3ZSBwdXQgdGhlIGNvbnRlbnQgaW4gYGNoaWxkcmVuYC5cbiAgICAgICAgICAgICAgICBpZiAocmVzdFByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENhc3Rpbmcgc2luY2UgbGliLmRvbS5kLnRzIGRvZXNuJ3QgaGF2ZSBUcnVzdGVkSFRNTCB5ZXQuXG4gICAgICAgICAgICAgICAgICAgIHJlc3RQcm9wcy5jaGlsZHJlbiA9IHJlc3RQcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWw7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSByZXN0UHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBub25jZTogbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IFwiKHNlbGYuX19uZXh0X3M9c2VsZi5fX25leHRfc3x8W10pLnB1c2goXCIgKyBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc3RQcm9wc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF0pICsgXCIpXCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlbG9hZChzcmMsIHJlc3RQcm9wcy5pbnRlZ3JpdHkgPyB7XG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBpbnRlZ3JpdHk6IHJlc3RQcm9wcy5pbnRlZ3JpdHlcbiAgICAgICAgICAgICAgICB9IDoge1xuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBub25jZTogbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IFwiKHNlbGYuX19uZXh0X3M9c2VsZi5fX25leHRfc3x8W10pLnB1c2goXCIgKyBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSArIFwiKVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzdHJhdGVneSA9PT0gXCJhZnRlckludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgIGlmIChzcmMpIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlbG9hZChzcmMsIHJlc3RQcm9wcy5pbnRlZ3JpdHkgPyB7XG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBpbnRlZ3JpdHk6IHJlc3RQcm9wcy5pbnRlZ3JpdHlcbiAgICAgICAgICAgICAgICB9IDoge1xuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFNjcmlwdCwgXCJfX25leHRTY3JpcHRcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmNvbnN0IF9kZWZhdWx0ID0gU2NyaXB0O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zY3JpcHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiaGFuZGxlQ2xpZW50U2NyaXB0TG9hZCIsImluaXRTY3JpcHRMb2FkZXIiLCJkZWZhdWx0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9yZWFjdGRvbSIsIl8iLCJfcmVhY3QiLCJfaGVhZG1hbmFnZXJjb250ZXh0IiwiX2hlYWRtYW5hZ2VyIiwiX3JlcXVlc3RpZGxlY2FsbGJhY2siLCJTY3JpcHRDYWNoZSIsIk1hcCIsIkxvYWRDYWNoZSIsIlNldCIsImlnbm9yZVByb3BzIiwiaW5zZXJ0U3R5bGVzaGVldHMiLCJzdHlsZXNoZWV0cyIsInByZWluaXQiLCJmb3JFYWNoIiwic3R5bGVzaGVldCIsImFzIiwiaGVhZCIsImRvY3VtZW50IiwibGluayIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwicmVsIiwiaHJlZiIsImFwcGVuZENoaWxkIiwibG9hZFNjcmlwdCIsInByb3BzIiwic3JjIiwiaWQiLCJvbkxvYWQiLCJvblJlYWR5IiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJjaGlsZHJlbiIsInN0cmF0ZWd5Iiwib25FcnJvciIsImNhY2hlS2V5IiwiaGFzIiwiYWRkIiwidGhlbiIsImFmdGVyTG9hZCIsImVsIiwibG9hZFByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwiY2FsbCIsImNhdGNoIiwiaW5uZXJIVE1MIiwiX19odG1sIiwidGV4dENvbnRlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwic2V0IiwiayIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsImF0dHIiLCJET01BdHRyaWJ1dGVOYW1lcyIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiYm9keSIsIndpbmRvdyIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJsb2FkTGF6eVNjcmlwdCIsInJlYWR5U3RhdGUiLCJhZGRCZWZvcmVJbnRlcmFjdGl2ZVRvQ2FjaGUiLCJzY3JpcHRzIiwicXVlcnlTZWxlY3RvckFsbCIsInNjcmlwdCIsImdldEF0dHJpYnV0ZSIsInNjcmlwdExvYWRlckl0ZW1zIiwiU2NyaXB0IiwicmVzdFByb3BzIiwidXBkYXRlU2NyaXB0cyIsImdldElzU3NyIiwiYXBwRGlyIiwibm9uY2UiLCJ1c2VDb250ZXh0IiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiaGFzT25SZWFkeUVmZmVjdENhbGxlZCIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJoYXNMb2FkU2NyaXB0RWZmZWN0Q2FsbGVkIiwiY29uY2F0Iiwic3R5bGVTcmMiLCJKU09OIiwic3RyaW5naWZ5IiwicHJlbG9hZCIsImludGVncml0eSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/script.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/setup-hydration-warning.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/client/setup-hydration-warning.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nif (!window._nextSetupHydrationWarning) {\n const origConsoleError = window.console.error;\n window.console.error = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const isHydrateError = args.some((arg)=>typeof arg === \"string\" && arg.match(/(hydration|content does not match|did not match)/i));\n if (isHydrateError) {\n args = [\n ...args,\n \"\\n\\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error\"\n ];\n }\n origConsoleError.apply(window.console, args);\n };\n window._nextSetupHydrationWarning = true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=setup-hydration-warning.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9zZXR1cC1oeWRyYXRpb24td2FybmluZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixJQUFJLENBQUNDLE9BQU9DLDBCQUEwQixFQUFFO0lBQ3BDLE1BQU1DLG1CQUFtQkYsT0FBT0csT0FBTyxDQUFDQyxLQUFLO0lBQzdDSixPQUFPRyxPQUFPLENBQUNDLEtBQUssR0FBRztRQUNuQixJQUFJLElBQUlDLE9BQU9DLFVBQVVDLE1BQU0sRUFBRUMsT0FBTyxJQUFJQyxNQUFNSixPQUFPSyxPQUFPLEdBQUdBLE9BQU9MLE1BQU1LLE9BQU87WUFDbkZGLElBQUksQ0FBQ0UsS0FBSyxHQUFHSixTQUFTLENBQUNJLEtBQUs7UUFDaEM7UUFDQSxNQUFNQyxpQkFBaUJILEtBQUtJLElBQUksQ0FBQyxDQUFDQyxNQUFNLE9BQU9BLFFBQVEsWUFBWUEsSUFBSUMsS0FBSyxDQUFDO1FBQzdFLElBQUlILGdCQUFnQjtZQUNoQkgsT0FBTzttQkFDQUE7Z0JBQ0g7YUFDSDtRQUNMO1FBQ0FOLGlCQUFpQmEsS0FBSyxDQUFDZixPQUFPRyxPQUFPLEVBQUVLO0lBQzNDO0lBQ0FSLE9BQU9DLDBCQUEwQixHQUFHO0FBQ3hDO0FBRUEsSUFBSSxDQUFDLE9BQU9ILFFBQVFrQixPQUFPLEtBQUssY0FBZSxPQUFPbEIsUUFBUWtCLE9BQU8sS0FBSyxZQUFZbEIsUUFBUWtCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2xCLFFBQVFrQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLckIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRa0IsT0FBTyxFQUFFLGNBQWM7UUFBRWpCLE9BQU87SUFBSztJQUNuRUgsT0FBT3NCLE1BQU0sQ0FBQ3BCLFFBQVFrQixPQUFPLEVBQUVsQjtJQUMvQnFCLE9BQU9yQixPQUFPLEdBQUdBLFFBQVFrQixPQUFPO0FBQ2xDLEVBRUEsbURBQW1EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3NldHVwLWh5ZHJhdGlvbi13YXJuaW5nLmpzPzdkZGEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5pZiAoIXdpbmRvdy5fbmV4dFNldHVwSHlkcmF0aW9uV2FybmluZykge1xuICAgIGNvbnN0IG9yaWdDb25zb2xlRXJyb3IgPSB3aW5kb3cuY29uc29sZS5lcnJvcjtcbiAgICB3aW5kb3cuY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzSHlkcmF0ZUVycm9yID0gYXJncy5zb21lKChhcmcpPT50eXBlb2YgYXJnID09PSBcInN0cmluZ1wiICYmIGFyZy5tYXRjaCgvKGh5ZHJhdGlvbnxjb250ZW50IGRvZXMgbm90IG1hdGNofGRpZCBub3QgbWF0Y2gpL2kpKTtcbiAgICAgICAgaWYgKGlzSHlkcmF0ZUVycm9yKSB7XG4gICAgICAgICAgICBhcmdzID0gW1xuICAgICAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICAgICAgXCJcXG5cXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3JlYWN0LWh5ZHJhdGlvbi1lcnJvclwiXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIG9yaWdDb25zb2xlRXJyb3IuYXBwbHkod2luZG93LmNvbnNvbGUsIGFyZ3MpO1xuICAgIH07XG4gICAgd2luZG93Ll9uZXh0U2V0dXBIeWRyYXRpb25XYXJuaW5nID0gdHJ1ZTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0dXAtaHlkcmF0aW9uLXdhcm5pbmcuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwid2luZG93IiwiX25leHRTZXR1cEh5ZHJhdGlvbldhcm5pbmciLCJvcmlnQ29uc29sZUVycm9yIiwiY29uc29sZSIsImVycm9yIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJpc0h5ZHJhdGVFcnJvciIsInNvbWUiLCJhcmciLCJtYXRjaCIsImFwcGx5IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/setup-hydration-warning.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/trusted-types.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/trusted-types.js ***! - \********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Stores the Trusted Types Policy. Starts as undefined and can be set to null\n * if Trusted Types is not supported in the browser.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"__unsafeCreateTrustedScriptURL\", ({\n enumerable: true,\n get: function() {\n return __unsafeCreateTrustedScriptURL;\n }\n}));\nlet policy;\n/**\n * Getter for the Trusted Types Policy. If it is undefined, it is instantiated\n * here or set to null if Trusted Types is not supported in the browser.\n */ function getPolicy() {\n if (typeof policy === \"undefined\" && \"object\" !== \"undefined\") {\n var _window_trustedTypes;\n policy = ((_window_trustedTypes = window.trustedTypes) == null ? void 0 : _window_trustedTypes.createPolicy(\"nextjs\", {\n createHTML: (input)=>input,\n createScript: (input)=>input,\n createScriptURL: (input)=>input\n })) || null;\n }\n return policy;\n}\nfunction __unsafeCreateTrustedScriptURL(url) {\n var _getPolicy;\n return ((_getPolicy = getPolicy()) == null ? void 0 : _getPolicy.createScriptURL(url)) || url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=trusted-types.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cnVzdGVkLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtFQUFpRTtJQUM3REksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLElBQUlDO0FBQ0o7OztDQUdDLEdBQUcsU0FBU0M7SUFDVCxJQUFJLE9BQU9ELFdBQVcsZUFBZSxhQUFrQixhQUFhO1FBQ2hFLElBQUlFO1FBQ0pGLFNBQVMsQ0FBQyxDQUFDRSx1QkFBdUJDLE9BQU9DLFlBQVksS0FBSyxPQUFPLEtBQUssSUFBSUYscUJBQXFCRyxZQUFZLENBQUMsVUFBVTtZQUNsSEMsWUFBWSxDQUFDQyxRQUFRQTtZQUNyQkMsY0FBYyxDQUFDRCxRQUFRQTtZQUN2QkUsaUJBQWlCLENBQUNGLFFBQVFBO1FBQzlCLEVBQUMsS0FBTTtJQUNYO0lBQ0EsT0FBT1A7QUFDWDtBQUNBLFNBQVNELCtCQUErQlcsR0FBRztJQUN2QyxJQUFJQztJQUNKLE9BQU8sQ0FBQyxDQUFDQSxhQUFhVixXQUFVLEtBQU0sT0FBTyxLQUFLLElBQUlVLFdBQVdGLGVBQWUsQ0FBQ0MsSUFBRyxLQUFNQTtBQUM5RjtBQUVBLElBQUksQ0FBQyxPQUFPZixRQUFRaUIsT0FBTyxLQUFLLGNBQWUsT0FBT2pCLFFBQVFpQixPQUFPLEtBQUssWUFBWWpCLFFBQVFpQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9qQixRQUFRaUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3BCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWlCLE9BQU8sRUFBRSxjQUFjO1FBQUVoQixPQUFPO0lBQUs7SUFDbkVILE9BQU9xQixNQUFNLENBQUNuQixRQUFRaUIsT0FBTyxFQUFFakI7SUFDL0JvQixPQUFPcEIsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC90cnVzdGVkLXR5cGVzLmpzP2E0MTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdG9yZXMgdGhlIFRydXN0ZWQgVHlwZXMgUG9saWN5LiBTdGFydHMgYXMgdW5kZWZpbmVkIGFuZCBjYW4gYmUgc2V0IHRvIG51bGxcbiAqIGlmIFRydXN0ZWQgVHlwZXMgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgYnJvd3Nlci5cbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX191bnNhZmVDcmVhdGVUcnVzdGVkU2NyaXB0VVJMO1xuICAgIH1cbn0pO1xubGV0IHBvbGljeTtcbi8qKlxuICogR2V0dGVyIGZvciB0aGUgVHJ1c3RlZCBUeXBlcyBQb2xpY3kuIElmIGl0IGlzIHVuZGVmaW5lZCwgaXQgaXMgaW5zdGFudGlhdGVkXG4gKiBoZXJlIG9yIHNldCB0byBudWxsIGlmIFRydXN0ZWQgVHlwZXMgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgYnJvd3Nlci5cbiAqLyBmdW5jdGlvbiBnZXRQb2xpY3koKSB7XG4gICAgaWYgKHR5cGVvZiBwb2xpY3kgPT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICB2YXIgX3dpbmRvd190cnVzdGVkVHlwZXM7XG4gICAgICAgIHBvbGljeSA9ICgoX3dpbmRvd190cnVzdGVkVHlwZXMgPSB3aW5kb3cudHJ1c3RlZFR5cGVzKSA9PSBudWxsID8gdm9pZCAwIDogX3dpbmRvd190cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KFwibmV4dGpzXCIsIHtcbiAgICAgICAgICAgIGNyZWF0ZUhUTUw6IChpbnB1dCk9PmlucHV0LFxuICAgICAgICAgICAgY3JlYXRlU2NyaXB0OiAoaW5wdXQpPT5pbnB1dCxcbiAgICAgICAgICAgIGNyZWF0ZVNjcmlwdFVSTDogKGlucHV0KT0+aW5wdXRcbiAgICAgICAgfSkpIHx8IG51bGw7XG4gICAgfVxuICAgIHJldHVybiBwb2xpY3k7XG59XG5mdW5jdGlvbiBfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwodXJsKSB7XG4gICAgdmFyIF9nZXRQb2xpY3k7XG4gICAgcmV0dXJuICgoX2dldFBvbGljeSA9IGdldFBvbGljeSgpKSA9PSBudWxsID8gdm9pZCAwIDogX2dldFBvbGljeS5jcmVhdGVTY3JpcHRVUkwodXJsKSkgfHwgdXJsO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD10cnVzdGVkLXR5cGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwiLCJwb2xpY3kiLCJnZXRQb2xpY3kiLCJfd2luZG93X3RydXN0ZWRUeXBlcyIsIndpbmRvdyIsInRydXN0ZWRUeXBlcyIsImNyZWF0ZVBvbGljeSIsImNyZWF0ZUhUTUwiLCJpbnB1dCIsImNyZWF0ZVNjcmlwdCIsImNyZWF0ZVNjcmlwdFVSTCIsInVybCIsIl9nZXRQb2xpY3kiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/trusted-types.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/webpack.js": -/*!**************************************************!*\ - !*** ./node_modules/next/dist/client/webpack.js ***! - \**************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst addChunkSuffix = (getOriginalChunk)=>(chunkId)=>{\n return getOriginalChunk(chunkId) + (\"\" + ( false ? 0 : \"\"));\n };\n// ensure dynamic imports have deployment id added if enabled\nconst getChunkScriptFilename = __webpack_require__.u;\n// eslint-disable-next-line no-undef\n__webpack_require__.u = addChunkSuffix(getChunkScriptFilename);\n// eslint-disable-next-line no-undef\nconst getChunkCssFilename = __webpack_require__.k;\n// eslint-disable-next-line no-undef\n__webpack_require__.k = addChunkSuffix(getChunkCssFilename);\n// eslint-disable-next-line no-undef\nconst getMiniCssFilename = __webpack_require__.miniCssF;\n// eslint-disable-next-line no-undef\n__webpack_require__.miniCssF = addChunkSuffix(getMiniCssFilename);\nself.__next_require__ = __webpack_require__;\nself.__next_set_public_path__ = (path)=>{\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __webpack_require__.p = path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=webpack.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93ZWJwYWNrLmpzIiwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUNoRDtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUIsQ0FBQ0MsbUJBQW1CLENBQUNDO1FBQ3BDLE9BQU9ELGlCQUFpQkMsV0FBWSxNQUFNQyxDQUFBQSxNQUE4QixHQUFHLENBQXdDLEdBQUcsRUFBQyxDQUFDO0lBQzVIO0FBQ0osNkRBQTZEO0FBQzdELE1BQU1HLHlCQUF5QkMsbUJBQW1CQSxDQUFDQyxDQUFDO0FBQ3BELG9DQUFvQztBQUNwQ0QsbUJBQW1CQSxDQUFDQyxDQUFDLEdBQUdSLGVBQWVNO0FBQ3ZDLG9DQUFvQztBQUNwQyxNQUFNRyxzQkFBc0JGLG1CQUFtQkEsQ0FBQ0csQ0FBQztBQUNqRCxvQ0FBb0M7QUFDcENILG1CQUFtQkEsQ0FBQ0csQ0FBQyxHQUFHVixlQUFlUztBQUN2QyxvQ0FBb0M7QUFDcEMsTUFBTUUscUJBQXFCSixtQkFBbUJBLENBQUNLLFFBQVE7QUFDdkQsb0NBQW9DO0FBQ3BDTCxtQkFBbUJBLENBQUNLLFFBQVEsR0FBR1osZUFBZVc7QUFDOUNFLEtBQUtDLGdCQUFnQixHQUFHUCxtQkFBbUJBO0FBQzNDTSxLQUFLRSx3QkFBd0IsR0FBRyxDQUFDQztJQUM3Qiw2REFBNkQ7SUFDN0RDLHFCQUF1QkEsR0FBR0Q7QUFDOUI7QUFFQSxJQUFJLENBQUMsT0FBT2xCLFFBQVFvQixPQUFPLEtBQUssY0FBZSxPQUFPcEIsUUFBUW9CLE9BQU8sS0FBSyxZQUFZcEIsUUFBUW9CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BCLFFBQVFvQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdkIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRb0IsT0FBTyxFQUFFLGNBQWM7UUFBRW5CLE9BQU87SUFBSztJQUNuRUgsT0FBT3dCLE1BQU0sQ0FBQ3RCLFFBQVFvQixPQUFPLEVBQUVwQjtJQUMvQnVCLE9BQU92QixPQUFPLEdBQUdBLFFBQVFvQixPQUFPO0FBQ2xDLEVBRUEsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3dlYnBhY2suanM/MDhkOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbmNvbnN0IGFkZENodW5rU3VmZml4ID0gKGdldE9yaWdpbmFsQ2h1bmspPT4oY2h1bmtJZCk9PntcbiAgICAgICAgcmV0dXJuIGdldE9yaWdpbmFsQ2h1bmsoY2h1bmtJZCkgKyAoXCJcIiArIChwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSUQgPyBcIj9kcGw9XCIgKyBwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSUQgOiBcIlwiKSk7XG4gICAgfTtcbi8vIGVuc3VyZSBkeW5hbWljIGltcG9ydHMgaGF2ZSBkZXBsb3ltZW50IGlkIGFkZGVkIGlmIGVuYWJsZWRcbmNvbnN0IGdldENodW5rU2NyaXB0RmlsZW5hbWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLnU7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbl9fd2VicGFja19yZXF1aXJlX18udSA9IGFkZENodW5rU3VmZml4KGdldENodW5rU2NyaXB0RmlsZW5hbWUpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5jb25zdCBnZXRDaHVua0Nzc0ZpbGVuYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXy5rO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmsgPSBhZGRDaHVua1N1ZmZpeChnZXRDaHVua0Nzc0ZpbGVuYW1lKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuY29uc3QgZ2V0TWluaUNzc0ZpbGVuYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXy5taW5pQ3NzRjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuX193ZWJwYWNrX3JlcXVpcmVfXy5taW5pQ3NzRiA9IGFkZENodW5rU3VmZml4KGdldE1pbmlDc3NGaWxlbmFtZSk7XG5zZWxmLl9fbmV4dF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fO1xuc2VsZi5fX25leHRfc2V0X3B1YmxpY19wYXRoX18gPSAocGF0aCk9PntcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gPSBwYXRoO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2VicGFjay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJhZGRDaHVua1N1ZmZpeCIsImdldE9yaWdpbmFsQ2h1bmsiLCJjaHVua0lkIiwicHJvY2VzcyIsImVudiIsIk5FWFRfREVQTE9ZTUVOVF9JRCIsImdldENodW5rU2NyaXB0RmlsZW5hbWUiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwidSIsImdldENodW5rQ3NzRmlsZW5hbWUiLCJrIiwiZ2V0TWluaUNzc0ZpbGVuYW1lIiwibWluaUNzc0YiLCJzZWxmIiwiX19uZXh0X3JlcXVpcmVfXyIsIl9fbmV4dF9zZXRfcHVibGljX3BhdGhfXyIsInBhdGgiLCJfX3dlYnBhY2tfcHVibGljX3BhdGhfXyIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/webpack.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/client/with-router.js": -/*!******************************************************!*\ - !*** ./node_modules/next/dist/client/with-router.js ***! - \******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return withRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _router = __webpack_require__(/*! ./router */ \"./node_modules/next/dist/client/router.js\");\nfunction withRouter(ComposedComponent) {\n function WithRouterWrapper(props) {\n return /*#__PURE__*/ _react.default.createElement(ComposedComponent, {\n router: (0, _router.useRouter)(),\n ...props\n });\n }\n WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps;\n WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;\n if (true) {\n const name = ComposedComponent.displayName || ComposedComponent.name || \"Unknown\";\n WithRouterWrapper.displayName = \"withRouter(\" + name + \")\";\n }\n return WithRouterWrapper;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=with-router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93aXRoLXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyw0Q0FBTztBQUN2RSxNQUFNRyxVQUFVSCxtQkFBT0EsQ0FBQywyREFBVTtBQUNsQyxTQUFTRixXQUFXTSxpQkFBaUI7SUFDakMsU0FBU0Msa0JBQWtCQyxLQUFLO1FBQzVCLE9BQU8sV0FBVyxHQUFHTCxPQUFPTSxPQUFPLENBQUNDLGFBQWEsQ0FBQ0osbUJBQW1CO1lBQ2pFSyxRQUFRLENBQUMsR0FBR04sUUFBUU8sU0FBUztZQUM3QixHQUFHSixLQUFLO1FBQ1o7SUFDSjtJQUNBRCxrQkFBa0JNLGVBQWUsR0FBR1Asa0JBQWtCTyxlQUFlO0lBQ3JFTixrQkFBa0JPLG1CQUFtQixHQUFHUixrQkFBa0JRLG1CQUFtQjtJQUM3RSxJQUFJQyxJQUFxQyxFQUFFO1FBQ3ZDLE1BQU1DLE9BQU9WLGtCQUFrQlcsV0FBVyxJQUFJWCxrQkFBa0JVLElBQUksSUFBSTtRQUN4RVQsa0JBQWtCVSxXQUFXLEdBQUcsZ0JBQWdCRCxPQUFPO0lBQzNEO0lBQ0EsT0FBT1Q7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRYSxPQUFPLEtBQUssY0FBZSxPQUFPYixRQUFRYSxPQUFPLEtBQUssWUFBWWIsUUFBUWEsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPYixRQUFRYSxPQUFPLENBQUNTLFVBQVUsS0FBSyxhQUFhO0lBQ3JLeEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYSxPQUFPLEVBQUUsY0FBYztRQUFFWixPQUFPO0lBQUs7SUFDbkVILE9BQU95QixNQUFNLENBQUN2QixRQUFRYSxPQUFPLEVBQUViO0lBQy9Cd0IsT0FBT3hCLE9BQU8sR0FBR0EsUUFBUWEsT0FBTztBQUNsQyxFQUVBLHVDQUF1QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC93aXRoLXJvdXRlci5qcz9hYzdjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gd2l0aFJvdXRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfcm91dGVyID0gcmVxdWlyZShcIi4vcm91dGVyXCIpO1xuZnVuY3Rpb24gd2l0aFJvdXRlcihDb21wb3NlZENvbXBvbmVudCkge1xuICAgIGZ1bmN0aW9uIFdpdGhSb3V0ZXJXcmFwcGVyKHByb3BzKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoQ29tcG9zZWRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHJvdXRlcjogKDAsIF9yb3V0ZXIudXNlUm91dGVyKSgpLFxuICAgICAgICAgICAgLi4ucHJvcHNcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIFdpdGhSb3V0ZXJXcmFwcGVyLmdldEluaXRpYWxQcm9wcyA9IENvbXBvc2VkQ29tcG9uZW50LmdldEluaXRpYWxQcm9wcztcbiAgICBXaXRoUm91dGVyV3JhcHBlci5vcmlnR2V0SW5pdGlhbFByb3BzID0gQ29tcG9zZWRDb21wb25lbnQub3JpZ0dldEluaXRpYWxQcm9wcztcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBDb21wb3NlZENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb3NlZENvbXBvbmVudC5uYW1lIHx8IFwiVW5rbm93blwiO1xuICAgICAgICBXaXRoUm91dGVyV3JhcHBlci5kaXNwbGF5TmFtZSA9IFwid2l0aFJvdXRlcihcIiArIG5hbWUgKyBcIilcIjtcbiAgICB9XG4gICAgcmV0dXJuIFdpdGhSb3V0ZXJXcmFwcGVyO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13aXRoLXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwid2l0aFJvdXRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX3JvdXRlciIsIkNvbXBvc2VkQ29tcG9uZW50IiwiV2l0aFJvdXRlcldyYXBwZXIiLCJwcm9wcyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwicm91dGVyIiwidXNlUm91dGVyIiwiZ2V0SW5pdGlhbFByb3BzIiwib3JpZ0dldEluaXRpYWxQcm9wcyIsInByb2Nlc3MiLCJuYW1lIiwiZGlzcGxheU5hbWUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/with-router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/strip-ansi/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("var __dirname = \"/\";\n\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = function() {\n let { onlyFirst: e = false } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7QUFBQztJQUFLO0lBQWEsSUFBSUEsSUFBRTtRQUFDLEtBQUlBLENBQUFBO1lBQUlBLEVBQUVDLE9BQU8sR0FBQztvQkFBQyxFQUFDQyxXQUFVRixJQUFFLEtBQUssRUFBQyxvRUFBQyxDQUFDO2dCQUFLLE1BQU1HLElBQUU7b0JBQUM7b0JBQStIO2lCQUEyRCxDQUFDQyxJQUFJLENBQUM7Z0JBQUssT0FBTyxJQUFJQyxPQUFPRixHQUFFSCxJQUFFTSxZQUFVO1lBQUk7UUFBQztRQUFFLEtBQUksQ0FBQ04sR0FBRUcsR0FBRUk7WUFBSyxNQUFNQyxJQUFFRCxFQUFFO1lBQUtQLEVBQUVDLE9BQU8sR0FBQ0QsQ0FBQUEsSUFBRyxPQUFPQSxNQUFJLFdBQVNBLEVBQUVTLE9BQU8sQ0FBQ0QsS0FBSSxNQUFJUjtRQUFDO0lBQUM7SUFBRSxJQUFJRyxJQUFFLENBQUM7SUFBRSxTQUFTTyxvQkFBb0JILENBQUM7UUFBRSxJQUFJQyxJQUFFTCxDQUFDLENBQUNJLEVBQUU7UUFBQyxJQUFHQyxNQUFJRixXQUFVO1lBQUMsT0FBT0UsRUFBRVAsT0FBTztRQUFBO1FBQUMsSUFBSVUsSUFBRVIsQ0FBQyxDQUFDSSxFQUFFLEdBQUM7WUFBQ04sU0FBUSxDQUFDO1FBQUM7UUFBRSxJQUFJVyxJQUFFO1FBQUssSUFBRztZQUFDWixDQUFDLENBQUNPLEVBQUUsQ0FBQ0ksR0FBRUEsRUFBRVYsT0FBTyxFQUFDUztZQUFxQkUsSUFBRTtRQUFLLFNBQVE7WUFBQyxJQUFHQSxHQUFFLE9BQU9ULENBQUMsQ0FBQ0ksRUFBRTtRQUFBO1FBQUMsT0FBT0ksRUFBRVYsT0FBTztJQUFBO0lBQUMsSUFBRyxPQUFPUyx3QkFBc0IsYUFBWUEsb0JBQW9CRyxFQUFFLEdBQUNDLFNBQVNBLEdBQUM7SUFBSSxJQUFJUCxJQUFFRyxvQkFBb0I7SUFBS0ssT0FBT2QsT0FBTyxHQUFDTTtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaS9pbmRleC5qcz8xMWZhIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs1MTE6ZT0+e2UuZXhwb3J0cz0oe29ubHlGaXJzdDplPWZhbHNlfT17fSk9Pntjb25zdCByPVtcIltcXFxcdTAwMUJcXFxcdTAwOUJdW1tcXFxcXSgpIzs/XSooPzooPzooPzooPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10rKSp8W2EtekEtWlxcXFxkXSsoPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10qKSopP1xcXFx1MDAwNylcIixcIig/Oig/OlxcXFxkezEsNH0oPzo7XFxcXGR7MCw0fSkqKT9bXFxcXGRBLVBSLVRaY2YtbnRxcnk9Pjx+XSkpXCJdLmpvaW4oXCJ8XCIpO3JldHVybiBuZXcgUmVnRXhwKHIsZT91bmRlZmluZWQ6XCJnXCIpfX0sNTMyOihlLHIsXyk9Pntjb25zdCB0PV8oNTExKTtlLmV4cG9ydHM9ZT0+dHlwZW9mIGU9PT1cInN0cmluZ1wiP2UucmVwbGFjZSh0KCksXCJcIik6ZX19O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18oXyl7dmFyIHQ9cltfXTtpZih0IT09dW5kZWZpbmVkKXtyZXR1cm4gdC5leHBvcnRzfXZhciBhPXJbX109e2V4cG9ydHM6e319O3ZhciBuPXRydWU7dHJ5e2VbX10oYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bj1mYWxzZX1maW5hbGx5e2lmKG4pZGVsZXRlIHJbX119cmV0dXJuIGEuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIF89X19uY2N3cGNrX3JlcXVpcmVfXyg1MzIpO21vZHVsZS5leHBvcnRzPV99KSgpOyJdLCJuYW1lcyI6WyJlIiwiZXhwb3J0cyIsIm9ubHlGaXJzdCIsInIiLCJqb2luIiwiUmVnRXhwIiwidW5kZWZpbmVkIiwiXyIsInQiLCJyZXBsYWNlIiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsImEiLCJuIiwiYWIiLCJfX2Rpcm5hbWUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/strip-ansi/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_app.js": -/*!**********************************************!*\ - !*** ./node_modules/next/dist/pages/_app.js ***! - \**********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return App;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */ async function appGetInitialProps(param) {\n let { Component, ctx } = param;\n const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx);\n return {\n pageProps\n };\n}\nclass App extends _react.default.Component {\n render() {\n const { Component, pageProps } = this.props;\n return /*#__PURE__*/ _react.default.createElement(Component, pageProps);\n }\n}\n(()=>{\n App.origGetInitialProps = appGetInitialProps;\n})();\n(()=>{\n App.getInitialProps = appGetInitialProps;\n})();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_app.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19hcHAuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNENBQU87QUFDdkUsTUFBTUcsU0FBU0gsbUJBQU9BLENBQUMseUVBQXFCO0FBQzVDOzs7Q0FHQyxHQUFHLGVBQWVJLG1CQUFtQkMsS0FBSztJQUN2QyxJQUFJLEVBQUVDLFNBQVMsRUFBR0MsR0FBRyxFQUFHLEdBQUdGO0lBQzNCLE1BQU1HLFlBQVksTUFBTSxDQUFDLEdBQUdMLE9BQU9NLG1CQUFtQixFQUFFSCxXQUFXQztJQUNuRSxPQUFPO1FBQ0hDO0lBQ0o7QUFDSjtBQUNBLE1BQU1WLFlBQVlHLE9BQU9TLE9BQU8sQ0FBQ0osU0FBUztJQUN0Q0ssU0FBUztRQUNMLE1BQU0sRUFBRUwsU0FBUyxFQUFHRSxTQUFTLEVBQUcsR0FBRyxJQUFJLENBQUNJLEtBQUs7UUFDN0MsT0FBTyxXQUFXLEdBQUdYLE9BQU9TLE9BQU8sQ0FBQ0csYUFBYSxDQUFDUCxXQUFXRTtJQUNqRTtBQUNKO0FBQ0M7SUFDR1YsSUFBSWdCLG1CQUFtQixHQUFHVjtBQUM5QjtBQUNDO0lBQ0dOLElBQUlpQixlQUFlLEdBQUdYO0FBQzFCO0FBRUEsSUFBSSxDQUFDLE9BQU9WLFFBQVFnQixPQUFPLEtBQUssY0FBZSxPQUFPaEIsUUFBUWdCLE9BQU8sS0FBSyxZQUFZaEIsUUFBUWdCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2hCLFFBQVFnQixPQUFPLENBQUNNLFVBQVUsS0FBSyxhQUFhO0lBQ3JLeEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZ0IsT0FBTyxFQUFFLGNBQWM7UUFBRWYsT0FBTztJQUFLO0lBQ25FSCxPQUFPeUIsTUFBTSxDQUFDdkIsUUFBUWdCLE9BQU8sRUFBRWhCO0lBQy9Cd0IsT0FBT3hCLE9BQU8sR0FBR0EsUUFBUWdCLE9BQU87QUFDbEMsRUFFQSxnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fYXBwLmpzPzk2MWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBcHA7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvdXRpbHNcIik7XG4vKipcbiAqIGBBcHBgIGNvbXBvbmVudCBpcyB1c2VkIGZvciBpbml0aWFsaXplIG9mIHBhZ2VzLiBJdCBhbGxvd3MgZm9yIG92ZXJ3cml0aW5nIGFuZCBmdWxsIGNvbnRyb2wgb2YgdGhlIGBwYWdlYCBpbml0aWFsaXphdGlvbi5cbiAqIFRoaXMgYWxsb3dzIGZvciBrZWVwaW5nIHN0YXRlIGJldHdlZW4gbmF2aWdhdGlvbiwgY3VzdG9tIGVycm9yIGhhbmRsaW5nLCBpbmplY3RpbmcgYWRkaXRpb25hbCBkYXRhLlxuICovIGFzeW5jIGZ1bmN0aW9uIGFwcEdldEluaXRpYWxQcm9wcyhwYXJhbSkge1xuICAgIGxldCB7IENvbXBvbmVudCAsIGN0eCAgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHBhZ2VQcm9wcyA9IGF3YWl0ICgwLCBfdXRpbHMubG9hZEdldEluaXRpYWxQcm9wcykoQ29tcG9uZW50LCBjdHgpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VQcm9wc1xuICAgIH07XG59XG5jbGFzcyBBcHAgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBDb21wb25lbnQgLCBwYWdlUHJvcHMgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgcGFnZVByb3BzKTtcbiAgICB9XG59XG4oKCk9PntcbiAgICBBcHAub3JpZ0dldEluaXRpYWxQcm9wcyA9IGFwcEdldEluaXRpYWxQcm9wcztcbn0pKCk7XG4oKCk9PntcbiAgICBBcHAuZ2V0SW5pdGlhbFByb3BzID0gYXBwR2V0SW5pdGlhbFByb3BzO1xufSkoKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X2FwcC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQXBwIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfdXRpbHMiLCJhcHBHZXRJbml0aWFsUHJvcHMiLCJwYXJhbSIsIkNvbXBvbmVudCIsImN0eCIsInBhZ2VQcm9wcyIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJkZWZhdWx0IiwicmVuZGVyIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50Iiwib3JpZ0dldEluaXRpYWxQcm9wcyIsImdldEluaXRpYWxQcm9wcyIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_app.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/pages/_error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/pages/_error.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.error\n }, /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"title\", null, statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\")), /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.desc\n }, /*#__PURE__*/ _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }), statusCode ? /*#__PURE__*/ _react.default.createElement(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1\n }, statusCode) : null, /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.wrap\n }, /*#__PURE__*/ _react.default.createElement(\"h2\", {\n style: styles.h2\n }, this.props.title || statusCode ? title : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, \"Application error: a client-side exception has occurred (see the browser console for more information)\"), \".\"))));\n }\n}\n(()=>{\n Error.displayName = \"ErrorPage\";\n})();\n(()=>{\n Error.getInitialProps = _getInitialProps;\n})();\n(()=>{\n Error.origGetInitialProps = _getInitialProps;\n})();\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyw0Q0FBTztBQUN2RSxNQUFNRyxRQUFRLFdBQVcsR0FBR0oseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHVFQUFvQjtBQUNuRixNQUFNSSxjQUFjO0lBQ2hCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFDVDtBQUNBLFNBQVNDLGlCQUFpQkMsS0FBSztJQUMzQixJQUFJLEVBQUVDLEdBQUcsRUFBR0MsR0FBRyxFQUFHLEdBQUdGO0lBQ3JCLE1BQU1HLGFBQWFGLE9BQU9BLElBQUlFLFVBQVUsR0FBR0YsSUFBSUUsVUFBVSxHQUFHRCxNQUFNQSxJQUFJQyxVQUFVLEdBQUc7SUFDbkYsT0FBTztRQUNIQTtJQUNKO0FBQ0o7QUFDQSxNQUFNQyxTQUFTO0lBQ1hDLE9BQU87UUFDSCwwRkFBMEY7UUFDMUZDLFlBQVk7UUFDWkMsUUFBUTtRQUNSQyxXQUFXO1FBQ1hDLFNBQVM7UUFDVEMsZUFBZTtRQUNmQyxZQUFZO1FBQ1pDLGdCQUFnQjtJQUNwQjtJQUNBQyxNQUFNO1FBQ0ZDLFlBQVk7SUFDaEI7SUFDQUMsSUFBSTtRQUNBTixTQUFTO1FBQ1RPLFFBQVE7UUFDUkMsY0FBYztRQUNkQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsZUFBZTtJQUNuQjtJQUNBQyxJQUFJO1FBQ0FILFVBQVU7UUFDVkMsWUFBWTtRQUNaTCxZQUFZO0lBQ2hCO0lBQ0FRLE1BQU07UUFDRmIsU0FBUztJQUNiO0FBQ0o7QUFDQSxNQUFNakIsY0FBY0csT0FBTzRCLE9BQU8sQ0FBQ0MsU0FBUztJQUN4Q0MsU0FBUztRQUNMLE1BQU0sRUFBRXRCLFVBQVUsRUFBR3VCLGVBQWMsSUFBSSxFQUFHLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ3ZELE1BQU1DLFFBQVEsSUFBSSxDQUFDRCxLQUFLLENBQUNDLEtBQUssSUFBSTlCLFdBQVcsQ0FBQ0ssV0FBVyxJQUFJO1FBQzdELE9BQU8sV0FBVyxHQUFHUixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsT0FBTztZQUNyREMsT0FBTzFCLE9BQU9DLEtBQUs7UUFDdkIsR0FBRyxXQUFXLEdBQUdWLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQ2hDLE1BQU0wQixPQUFPLEVBQUUsTUFBTSxXQUFXLEdBQUc1QixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsU0FBUyxNQUFNMUIsYUFBYUEsYUFBYSxPQUFPeUIsUUFBUSw2REFBNkQsV0FBVyxHQUFHakMsT0FBTzRCLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLE9BQU87WUFDalJDLE9BQU8xQixPQUFPUyxJQUFJO1FBQ3RCLEdBQUcsV0FBVyxHQUFHbEIsT0FBTzRCLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLFNBQVM7WUFDbkRFLHlCQUF5QjtnQkFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQkQsR0FBR0MsUUFBUSxtR0FBb0dOLENBQUFBLGVBQWUsb0lBQW9JLEVBQUM7WUFDdFE7UUFDSixJQUFJdkIsYUFBYSxXQUFXLEdBQUdSLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQyxNQUFNO1lBQzlESSxXQUFXO1lBQ1hILE9BQU8xQixPQUFPVyxFQUFFO1FBQ3BCLEdBQUdaLGNBQWMsTUFBTSxXQUFXLEdBQUdSLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQyxPQUFPO1lBQ3JFQyxPQUFPMUIsT0FBT2tCLElBQUk7UUFDdEIsR0FBRyxXQUFXLEdBQUczQixPQUFPNEIsT0FBTyxDQUFDTSxhQUFhLENBQUMsTUFBTTtZQUNoREMsT0FBTzFCLE9BQU9pQixFQUFFO1FBQ3BCLEdBQUcsSUFBSSxDQUFDTSxLQUFLLENBQUNDLEtBQUssSUFBSXpCLGFBQWF5QixRQUFRLFdBQVcsR0FBR2pDLE9BQU80QixPQUFPLENBQUNNLGFBQWEsQ0FBQ2xDLE9BQU80QixPQUFPLENBQUNXLFFBQVEsRUFBRSxNQUFNLDJHQUEyRztJQUNyTztBQUNKO0FBQ0M7SUFDRzFDLE1BQU0yQyxXQUFXLEdBQUc7QUFDeEI7QUFDQztJQUNHM0MsTUFBTTRDLGVBQWUsR0FBR3JDO0FBQzVCO0FBQ0M7SUFDR1AsTUFBTTZDLG1CQUFtQixHQUFHdEM7QUFDaEM7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUW1DLE9BQU8sS0FBSyxjQUFlLE9BQU9uQyxRQUFRbUMsT0FBTyxLQUFLLFlBQVluQyxRQUFRbUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbkMsUUFBUW1DLE9BQU8sQ0FBQ2UsVUFBVSxLQUFLLGFBQWE7SUFDcktwRCxPQUFPQyxjQUFjLENBQUNDLFFBQVFtQyxPQUFPLEVBQUUsY0FBYztRQUFFbEMsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUQsTUFBTSxDQUFDbkQsUUFBUW1DLE9BQU8sRUFBRW5DO0lBQy9Cb0QsT0FBT3BELE9BQU8sR0FBR0EsUUFBUW1DLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fZXJyb3IuanM/MThmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVycm9yO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9oZWFkID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9oZWFkXCIpKTtcbmNvbnN0IHN0YXR1c0NvZGVzID0ge1xuICAgIDQwMDogXCJCYWQgUmVxdWVzdFwiLFxuICAgIDQwNDogXCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kXCIsXG4gICAgNDA1OiBcIk1ldGhvZCBOb3QgQWxsb3dlZFwiLFxuICAgIDUwMDogXCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcIlxufTtcbmZ1bmN0aW9uIF9nZXRJbml0aWFsUHJvcHMocGFyYW0pIHtcbiAgICBsZXQgeyByZXMgLCBlcnIgIH0gPSBwYXJhbTtcbiAgICBjb25zdCBzdGF0dXNDb2RlID0gcmVzICYmIHJlcy5zdGF0dXNDb2RlID8gcmVzLnN0YXR1c0NvZGUgOiBlcnIgPyBlcnIuc3RhdHVzQ29kZSA6IDQwNDtcbiAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXNDb2RlXG4gICAgfTtcbn1cbmNvbnN0IHN0eWxlcyA9IHtcbiAgICBlcnJvcjoge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvYmxvYi9tYWluL21vZGVybi1ub3JtYWxpemUuY3NzI0wzOC1MNTJcbiAgICAgICAgZm9udEZhbWlseTogJ3N5c3RlbS11aSxcIlNlZ29lIFVJXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCInLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJcbiAgICB9LFxuICAgIGRlc2M6IHtcbiAgICAgICAgbGluZUhlaWdodDogXCI0OHB4XCJcbiAgICB9LFxuICAgIGgxOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgIG1hcmdpbjogXCIwIDIwcHggMCAwXCIsXG4gICAgICAgIHBhZGRpbmdSaWdodDogMjMsXG4gICAgICAgIGZvbnRTaXplOiAyNCxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB2ZXJ0aWNhbEFsaWduOiBcInRvcFwiXG4gICAgfSxcbiAgICBoMjoge1xuICAgICAgICBmb250U2l6ZTogMTQsXG4gICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgbGluZUhlaWdodDogXCIyOHB4XCJcbiAgICB9LFxuICAgIHdyYXA6IHtcbiAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIlxuICAgIH1cbn07XG5jbGFzcyBFcnJvciBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHN0YXR1c0NvZGUgLCB3aXRoRGFya01vZGUgPXRydWUgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMucHJvcHMudGl0bGUgfHwgc3RhdHVzQ29kZXNbc3RhdHVzQ29kZV0gfHwgXCJBbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZFwiO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMuZXJyb3JcbiAgICAgICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9oZWFkLmRlZmF1bHQsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIG51bGwsIHN0YXR1c0NvZGUgPyBzdGF0dXNDb2RlICsgXCI6IFwiICsgdGl0bGUgOiBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWRcIikpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5kZXNjXG4gICAgICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIsIHtcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgLyogQ1NTIG1pbmlmaWVkIGZyb21cbiAgICAgICAgICAgICAgICBib2R5IHsgbWFyZ2luOiAwOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICAgICAgICAgICAgIC5uZXh0LWVycm9yLWgxIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICR7XG4gICAgICAgICAgICAgICAgICB3aXRoRGFya01vZGVcbiAgICAgICAgICAgICAgICAgICAgPyBgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAgICAgICAgICAgYm9keSB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gICAgICAgICAgICAgICAgICAubmV4dC1lcnJvci1oMSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAqLyBfX2h0bWw6IFwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfVwiICsgKHdpdGhEYXJrTW9kZSA/IFwiQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMDAwfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyl9fVwiIDogXCJcIilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksIHN0YXR1c0NvZGUgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoMVwiLCB7XG4gICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dC1lcnJvci1oMVwiLFxuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5oMVxuICAgICAgICB9LCBzdGF0dXNDb2RlKSA6IG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgICAgICBzdHlsZTogc3R5bGVzLndyYXBcbiAgICAgICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaDJcIiwge1xuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5oMlxuICAgICAgICB9LCB0aGlzLnByb3BzLnRpdGxlIHx8IHN0YXR1c0NvZGUgPyB0aXRsZSA6IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgXCJBcHBsaWNhdGlvbiBlcnJvcjogYSBjbGllbnQtc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIChzZWUgdGhlIGJyb3dzZXIgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbilcIiksIFwiLlwiKSkpKTtcbiAgICB9XG59XG4oKCk9PntcbiAgICBFcnJvci5kaXNwbGF5TmFtZSA9IFwiRXJyb3JQYWdlXCI7XG59KSgpO1xuKCgpPT57XG4gICAgRXJyb3IuZ2V0SW5pdGlhbFByb3BzID0gX2dldEluaXRpYWxQcm9wcztcbn0pKCk7XG4oKCk9PntcbiAgICBFcnJvci5vcmlnR2V0SW5pdGlhbFByb3BzID0gX2dldEluaXRpYWxQcm9wcztcbn0pKCk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPV9lcnJvci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRXJyb3IiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsIl9oZWFkIiwic3RhdHVzQ29kZXMiLCJfZ2V0SW5pdGlhbFByb3BzIiwicGFyYW0iLCJyZXMiLCJlcnIiLCJzdGF0dXNDb2RlIiwic3R5bGVzIiwiZXJyb3IiLCJmb250RmFtaWx5IiwiaGVpZ2h0IiwidGV4dEFsaWduIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJkZXNjIiwibGluZUhlaWdodCIsImgxIiwibWFyZ2luIiwicGFkZGluZ1JpZ2h0IiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwidmVydGljYWxBbGlnbiIsImgyIiwid3JhcCIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJ3aXRoRGFya01vZGUiLCJwcm9wcyIsInRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJjbGFzc05hbWUiLCJGcmFnbWVudCIsImRpc3BsYXlOYW1lIiwiZ2V0SW5pdGlhbFByb3BzIiwib3JpZ0dldEluaXRpYWxQcm9wcyIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-context.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-context.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNENBQU87QUFDdkUsTUFBTUYsa0JBQWtCRyxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBQ3RELElBQUlDLElBQXFDLEVBQUU7SUFDdkNQLGdCQUFnQlEsV0FBVyxHQUFHO0FBQ2xDLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5qcz9lNWE3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQW1wU3RhdGVDb250ZXh0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBbXBTdGF0ZUNvbnRleHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgQW1wU3RhdGVDb250ZXh0ID0gX3JlYWN0LmRlZmF1bHQuY3JlYXRlQ29udGV4dCh7fSk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgQW1wU3RhdGVDb250ZXh0LmRpc3BsYXlOYW1lID0gXCJBbXBTdGF0ZUNvbnRleHRcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YW1wLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkFtcFN0YXRlQ29udGV4dCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiZGVmYXVsdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-context.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/amp-mode.js": -/*!*******************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! - \*******************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFlBQVlDLEtBQUs7SUFDdEIsSUFBSSxFQUFFQyxXQUFVLEtBQUssRUFBR0MsU0FBUSxLQUFLLEVBQUdDLFdBQVUsS0FBSyxFQUFHLEdBQUdILFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7SUFDckYsT0FBT0MsWUFBWUMsVUFBVUM7QUFDakMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2FtcC1tb2RlLmpzPzYyMzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0luQW1wTW9kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNJbkFtcE1vZGU7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0luQW1wTW9kZShwYXJhbSkge1xuICAgIGxldCB7IGFtcEZpcnN0ID1mYWxzZSAsIGh5YnJpZCA9ZmFsc2UgLCBoYXNRdWVyeSA9ZmFsc2UgIH0gPSBwYXJhbSA9PT0gdm9pZCAwID8ge30gOiBwYXJhbTtcbiAgICByZXR1cm4gYW1wRmlyc3QgfHwgaHlicmlkICYmIGhhc1F1ZXJ5O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hbXAtbW9kZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-mode.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/app-router-context.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/app-router-context.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n CacheStates: function() {\n return CacheStates;\n },\n AppRouterContext: function() {\n return AppRouterContext;\n },\n LayoutRouterContext: function() {\n return LayoutRouterContext;\n },\n GlobalLayoutRouterContext: function() {\n return GlobalLayoutRouterContext;\n },\n TemplateContext: function() {\n return TemplateContext;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nvar CacheStates;\n(function(CacheStates) {\n CacheStates[\"LAZY_INITIALIZED\"] = \"LAZYINITIALIZED\";\n CacheStates[\"DATA_FETCH\"] = \"DATAFETCH\";\n CacheStates[\"READY\"] = \"READY\";\n})(CacheStates || (CacheStates = {}));\nconst AppRouterContext = _react.default.createContext(null);\nconst LayoutRouterContext = _react.default.createContext(null);\nconst GlobalLayoutRouterContext = _react.default.createContext(null);\nconst TemplateContext = _react.default.createContext(null);\nif (true) {\n AppRouterContext.displayName = \"AppRouterContext\";\n LayoutRouterContext.displayName = \"LayoutRouterContext\";\n GlobalLayoutRouterContext.displayName = \"GlobalLayoutRouterContext\";\n TemplateContext.displayName = \"TemplateContext\";\n} //# sourceMappingURL=app-router-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiJxREFDYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTywyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDRDQUFPO0FBRXZFLElBQUlaO0FBQ0gsVUFBU0EsV0FBVztJQUNqQkEsV0FBVyxDQUFDLG1CQUFtQixHQUFHO0lBQ2xDQSxXQUFXLENBQUMsYUFBYSxHQUFHO0lBQzVCQSxXQUFXLENBQUMsUUFBUSxHQUFHO0FBQzNCLEdBQUdBLGVBQWdCQSxDQUFBQSxjQUFjLENBQUM7QUFDbEMsTUFBTUMsbUJBQW1CWSxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQztBQUN0RCxNQUFNZCxzQkFBc0JXLE9BQU9FLE9BQU8sQ0FBQ0MsYUFBYSxDQUFDO0FBQ3pELE1BQU1iLDRCQUE0QlUsT0FBT0UsT0FBTyxDQUFDQyxhQUFhLENBQUM7QUFDL0QsTUFBTVosa0JBQWtCUyxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQztBQUNyRCxJQUFJQyxJQUFxQyxFQUFFO0lBQ3ZDaEIsaUJBQWlCaUIsV0FBVyxHQUFHO0lBQy9CaEIsb0JBQW9CZ0IsV0FBVyxHQUFHO0lBQ2xDZiwwQkFBMEJlLFdBQVcsR0FBRztJQUN4Q2QsZ0JBQWdCYyxXQUFXLEdBQUc7QUFDbEMsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5qcz9kYmRhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBDYWNoZVN0YXRlczogbnVsbCxcbiAgICBBcHBSb3V0ZXJDb250ZXh0OiBudWxsLFxuICAgIExheW91dFJvdXRlckNvbnRleHQ6IG51bGwsXG4gICAgR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dDogbnVsbCxcbiAgICBUZW1wbGF0ZUNvbnRleHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgQ2FjaGVTdGF0ZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ2FjaGVTdGF0ZXM7XG4gICAgfSxcbiAgICBBcHBSb3V0ZXJDb250ZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlckNvbnRleHQ7XG4gICAgfSxcbiAgICBMYXlvdXRSb3V0ZXJDb250ZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIExheW91dFJvdXRlckNvbnRleHQ7XG4gICAgfSxcbiAgICBHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdsb2JhbExheW91dFJvdXRlckNvbnRleHQ7XG4gICAgfSxcbiAgICBUZW1wbGF0ZUNvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gVGVtcGxhdGVDb250ZXh0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIENhY2hlU3RhdGVzO1xuKGZ1bmN0aW9uKENhY2hlU3RhdGVzKSB7XG4gICAgQ2FjaGVTdGF0ZXNbXCJMQVpZX0lOSVRJQUxJWkVEXCJdID0gXCJMQVpZSU5JVElBTElaRURcIjtcbiAgICBDYWNoZVN0YXRlc1tcIkRBVEFfRkVUQ0hcIl0gPSBcIkRBVEFGRVRDSFwiO1xuICAgIENhY2hlU3RhdGVzW1wiUkVBRFlcIl0gPSBcIlJFQURZXCI7XG59KShDYWNoZVN0YXRlcyB8fCAoQ2FjaGVTdGF0ZXMgPSB7fSkpO1xuY29uc3QgQXBwUm91dGVyQ29udGV4dCA9IF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7XG5jb25zdCBMYXlvdXRSb3V0ZXJDb250ZXh0ID0gX3JlYWN0LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKTtcbmNvbnN0IEdsb2JhbExheW91dFJvdXRlckNvbnRleHQgPSBfcmVhY3QuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpO1xuY29uc3QgVGVtcGxhdGVDb250ZXh0ID0gX3JlYWN0LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICBBcHBSb3V0ZXJDb250ZXh0LmRpc3BsYXlOYW1lID0gXCJBcHBSb3V0ZXJDb250ZXh0XCI7XG4gICAgTGF5b3V0Um91dGVyQ29udGV4dC5kaXNwbGF5TmFtZSA9IFwiTGF5b3V0Um91dGVyQ29udGV4dFwiO1xuICAgIEdsb2JhbExheW91dFJvdXRlckNvbnRleHQuZGlzcGxheU5hbWUgPSBcIkdsb2JhbExheW91dFJvdXRlckNvbnRleHRcIjtcbiAgICBUZW1wbGF0ZUNvbnRleHQuZGlzcGxheU5hbWUgPSBcIlRlbXBsYXRlQ29udGV4dFwiO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiQ2FjaGVTdGF0ZXMiLCJBcHBSb3V0ZXJDb250ZXh0IiwiTGF5b3V0Um91dGVyQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJUZW1wbGF0ZUNvbnRleHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsImRlZmF1bHQiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/app-router-context.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/bloom-filter.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/bloom-filter.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// minimal implementation MurmurHash2 hash function\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"BloomFilter\", ({\n enumerable: true,\n get: function() {\n return BloomFilter;\n }\n}));\nfunction murmurhash2(str) {\n let h = 0;\n for(let i = 0; i < str.length; i++){\n const c = str.charCodeAt(i);\n h = Math.imul(h ^ c, 0x5bd1e995);\n h ^= h >>> 13;\n h = Math.imul(h, 0x5bd1e995);\n }\n return h >>> 0;\n}\nclass BloomFilter {\n static from(items, errorRate) {\n if (errorRate === void 0) errorRate = 0.01;\n const filter = new BloomFilter(items.length, errorRate);\n for (const item of items){\n filter.add(item);\n }\n return filter;\n }\n export() {\n const data = {\n numItems: this.numItems,\n errorRate: this.errorRate,\n numBits: this.numBits,\n numHashes: this.numHashes,\n bitArray: this.bitArray\n };\n if (false) {}\n return data;\n }\n import(data) {\n this.numItems = data.numItems;\n this.errorRate = data.errorRate;\n this.numBits = data.numBits;\n this.numHashes = data.numHashes;\n this.bitArray = data.bitArray;\n }\n add(item) {\n const hashValues = this.getHashValues(item);\n hashValues.forEach((hash)=>{\n this.bitArray[hash] = 1;\n });\n }\n contains(item) {\n const hashValues = this.getHashValues(item);\n return hashValues.every((hash)=>this.bitArray[hash]);\n }\n getHashValues(item) {\n const hashValues = [];\n for(let i = 1; i <= this.numHashes; i++){\n const hash = murmurhash2(\"\" + item + i) % this.numBits;\n hashValues.push(hash);\n }\n return hashValues;\n }\n constructor(numItems, errorRate){\n this.numItems = numItems;\n this.errorRate = errorRate;\n this.numBits = Math.ceil(-(numItems * Math.log(errorRate)) / (Math.log(2) * Math.log(2)));\n this.numHashes = Math.ceil(this.numBits / numItems * Math.log(2));\n this.bitArray = new Array(this.numBits).fill(0);\n }\n} //# sourceMappingURL=bloom-filter.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYmxvb20tZmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDtBQUN0QztBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsK0NBQThDO0lBQzFDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0MsWUFBWUMsR0FBRztJQUNwQixJQUFJQyxJQUFJO0lBQ1IsSUFBSSxJQUFJQyxJQUFJLEdBQUdBLElBQUlGLElBQUlHLE1BQU0sRUFBRUQsSUFBSTtRQUMvQixNQUFNRSxJQUFJSixJQUFJSyxVQUFVLENBQUNIO1FBQ3pCRCxJQUFJSyxLQUFLQyxJQUFJLENBQUNOLElBQUlHLEdBQUc7UUFDckJILEtBQUtBLE1BQU07UUFDWEEsSUFBSUssS0FBS0MsSUFBSSxDQUFDTixHQUFHO0lBQ3JCO0lBQ0EsT0FBT0EsTUFBTTtBQUNqQjtBQUNBLE1BQU1IO0lBQ0YsT0FBT1UsS0FBS0MsS0FBSyxFQUFFQyxTQUFTLEVBQUU7UUFDMUIsSUFBSUEsY0FBYyxLQUFLLEdBQUdBLFlBQVk7UUFDdEMsTUFBTUMsU0FBUyxJQUFJYixZQUFZVyxNQUFNTixNQUFNLEVBQUVPO1FBQzdDLEtBQUssTUFBTUUsUUFBUUgsTUFBTTtZQUNyQkUsT0FBT0UsR0FBRyxDQUFDRDtRQUNmO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBRyxTQUFTO1FBQ0wsTUFBTUMsT0FBTztZQUNUQyxVQUFVLElBQUksQ0FBQ0EsUUFBUTtZQUN2Qk4sV0FBVyxJQUFJLENBQUNBLFNBQVM7WUFDekJPLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1lBQ3JCQyxXQUFXLElBQUksQ0FBQ0EsU0FBUztZQUN6QkMsVUFBVSxJQUFJLENBQUNBLFFBQVE7UUFDM0I7UUFDQSxJQUFJLEtBQW9FLEVBQUUsRUFRekU7UUFDRCxPQUFPSjtJQUNYO0lBQ0FnQixPQUFPaEIsSUFBSSxFQUFFO1FBQ1QsSUFBSSxDQUFDQyxRQUFRLEdBQUdELEtBQUtDLFFBQVE7UUFDN0IsSUFBSSxDQUFDTixTQUFTLEdBQUdLLEtBQUtMLFNBQVM7UUFDL0IsSUFBSSxDQUFDTyxPQUFPLEdBQUdGLEtBQUtFLE9BQU87UUFDM0IsSUFBSSxDQUFDQyxTQUFTLEdBQUdILEtBQUtHLFNBQVM7UUFDL0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdKLEtBQUtJLFFBQVE7SUFDakM7SUFDQU4sSUFBSUQsSUFBSSxFQUFFO1FBQ04sTUFBTW9CLGFBQWEsSUFBSSxDQUFDQyxhQUFhLENBQUNyQjtRQUN0Q29CLFdBQVdFLE9BQU8sQ0FBQyxDQUFDQztZQUNoQixJQUFJLENBQUNoQixRQUFRLENBQUNnQixLQUFLLEdBQUc7UUFDMUI7SUFDSjtJQUNBQyxTQUFTeEIsSUFBSSxFQUFFO1FBQ1gsTUFBTW9CLGFBQWEsSUFBSSxDQUFDQyxhQUFhLENBQUNyQjtRQUN0QyxPQUFPb0IsV0FBV0ssS0FBSyxDQUFDLENBQUNGLE9BQU8sSUFBSSxDQUFDaEIsUUFBUSxDQUFDZ0IsS0FBSztJQUN2RDtJQUNBRixjQUFjckIsSUFBSSxFQUFFO1FBQ2hCLE1BQU1vQixhQUFhLEVBQUU7UUFDckIsSUFBSSxJQUFJOUIsSUFBSSxHQUFHQSxLQUFLLElBQUksQ0FBQ2dCLFNBQVMsRUFBRWhCLElBQUk7WUFDcEMsTUFBTWlDLE9BQU9wQyxZQUFZLEtBQUthLE9BQU9WLEtBQUssSUFBSSxDQUFDZSxPQUFPO1lBQ3REZSxXQUFXTSxJQUFJLENBQUNIO1FBQ3BCO1FBQ0EsT0FBT0g7SUFDWDtJQUNBTyxZQUFZdkIsUUFBUSxFQUFFTixTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDTSxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ04sU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNPLE9BQU8sR0FBR1gsS0FBS2tDLElBQUksQ0FBQyxDQUFFeEIsQ0FBQUEsV0FBV1YsS0FBS21DLEdBQUcsQ0FBQy9CLFVBQVMsSUFBTUosQ0FBQUEsS0FBS21DLEdBQUcsQ0FBQyxLQUFLbkMsS0FBS21DLEdBQUcsQ0FBQyxFQUFDO1FBQ3RGLElBQUksQ0FBQ3ZCLFNBQVMsR0FBR1osS0FBS2tDLElBQUksQ0FBQyxJQUFJLENBQUN2QixPQUFPLEdBQUdELFdBQVdWLEtBQUttQyxHQUFHLENBQUM7UUFDOUQsSUFBSSxDQUFDdEIsUUFBUSxHQUFHLElBQUl1QixNQUFNLElBQUksQ0FBQ3pCLE9BQU8sRUFBRTBCLElBQUksQ0FBQztJQUNqRDtBQUNKLEVBRUEsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9ibG9vbS1maWx0ZXIuanM/ODUzOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtaW5pbWFsIGltcGxlbWVudGF0aW9uIE11cm11ckhhc2gyIGhhc2ggZnVuY3Rpb25cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQmxvb21GaWx0ZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJsb29tRmlsdGVyO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gbXVybXVyaGFzaDIoc3RyKSB7XG4gICAgbGV0IGggPSAwO1xuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspe1xuICAgICAgICBjb25zdCBjID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGggPSBNYXRoLmltdWwoaCBeIGMsIDB4NWJkMWU5OTUpO1xuICAgICAgICBoIF49IGggPj4+IDEzO1xuICAgICAgICBoID0gTWF0aC5pbXVsKGgsIDB4NWJkMWU5OTUpO1xuICAgIH1cbiAgICByZXR1cm4gaCA+Pj4gMDtcbn1cbmNsYXNzIEJsb29tRmlsdGVyIHtcbiAgICBzdGF0aWMgZnJvbShpdGVtcywgZXJyb3JSYXRlKSB7XG4gICAgICAgIGlmIChlcnJvclJhdGUgPT09IHZvaWQgMCkgZXJyb3JSYXRlID0gMC4wMTtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IEJsb29tRmlsdGVyKGl0ZW1zLmxlbmd0aCwgZXJyb3JSYXRlKTtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKXtcbiAgICAgICAgICAgIGZpbHRlci5hZGQoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG4gICAgZXhwb3J0KCkge1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgbnVtSXRlbXM6IHRoaXMubnVtSXRlbXMsXG4gICAgICAgICAgICBlcnJvclJhdGU6IHRoaXMuZXJyb3JSYXRlLFxuICAgICAgICAgICAgbnVtQml0czogdGhpcy5udW1CaXRzLFxuICAgICAgICAgICAgbnVtSGFzaGVzOiB0aGlzLm51bUhhc2hlcyxcbiAgICAgICAgICAgIGJpdEFycmF5OiB0aGlzLmJpdEFycmF5XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiICYmIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVycm9yUmF0ZSA8IDAuMDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3ppcFNpemUgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL2d6aXAtc2l6ZVwiKS5zeW5jKGZpbHRlckRhdGEpO1xuICAgICAgICAgICAgICAgIGlmIChnemlwU2l6ZSA+IDEwMjQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ3JlYXRpbmcgZmlsdGVyIHdpdGggZXJyb3IgcmF0ZSBsZXNzIHRoYW4gMSUgKDAuMDEpIGNhbiBpbmNyZWFzZSB0aGUgc2l6ZSBkcmFtYXRpY2FsbHkgcHJvY2VlZCB3aXRoIGNhdXRpb24uIFJlY2VpdmVkIGVycm9yIHJhdGUgXCIgKyB0aGlzLmVycm9yUmF0ZSArIFwiIHJlc3VsdGVkIGluIHNpemUgXCIgKyBmaWx0ZXJEYXRhLmxlbmd0aCArIFwiIGJ5dGVzLCBcIiArIGd6aXBTaXplICsgXCIgYnl0ZXMgKGd6aXApXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgaW1wb3J0KGRhdGEpIHtcbiAgICAgICAgdGhpcy5udW1JdGVtcyA9IGRhdGEubnVtSXRlbXM7XG4gICAgICAgIHRoaXMuZXJyb3JSYXRlID0gZGF0YS5lcnJvclJhdGU7XG4gICAgICAgIHRoaXMubnVtQml0cyA9IGRhdGEubnVtQml0cztcbiAgICAgICAgdGhpcy5udW1IYXNoZXMgPSBkYXRhLm51bUhhc2hlcztcbiAgICAgICAgdGhpcy5iaXRBcnJheSA9IGRhdGEuYml0QXJyYXk7XG4gICAgfVxuICAgIGFkZChpdGVtKSB7XG4gICAgICAgIGNvbnN0IGhhc2hWYWx1ZXMgPSB0aGlzLmdldEhhc2hWYWx1ZXMoaXRlbSk7XG4gICAgICAgIGhhc2hWYWx1ZXMuZm9yRWFjaCgoaGFzaCk9PntcbiAgICAgICAgICAgIHRoaXMuYml0QXJyYXlbaGFzaF0gPSAxO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29udGFpbnMoaXRlbSkge1xuICAgICAgICBjb25zdCBoYXNoVmFsdWVzID0gdGhpcy5nZXRIYXNoVmFsdWVzKGl0ZW0pO1xuICAgICAgICByZXR1cm4gaGFzaFZhbHVlcy5ldmVyeSgoaGFzaCk9PnRoaXMuYml0QXJyYXlbaGFzaF0pO1xuICAgIH1cbiAgICBnZXRIYXNoVmFsdWVzKGl0ZW0pIHtcbiAgICAgICAgY29uc3QgaGFzaFZhbHVlcyA9IFtdO1xuICAgICAgICBmb3IobGV0IGkgPSAxOyBpIDw9IHRoaXMubnVtSGFzaGVzOyBpKyspe1xuICAgICAgICAgICAgY29uc3QgaGFzaCA9IG11cm11cmhhc2gyKFwiXCIgKyBpdGVtICsgaSkgJSB0aGlzLm51bUJpdHM7XG4gICAgICAgICAgICBoYXNoVmFsdWVzLnB1c2goaGFzaCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhhc2hWYWx1ZXM7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKG51bUl0ZW1zLCBlcnJvclJhdGUpe1xuICAgICAgICB0aGlzLm51bUl0ZW1zID0gbnVtSXRlbXM7XG4gICAgICAgIHRoaXMuZXJyb3JSYXRlID0gZXJyb3JSYXRlO1xuICAgICAgICB0aGlzLm51bUJpdHMgPSBNYXRoLmNlaWwoLShudW1JdGVtcyAqIE1hdGgubG9nKGVycm9yUmF0ZSkpIC8gKE1hdGgubG9nKDIpICogTWF0aC5sb2coMikpKTtcbiAgICAgICAgdGhpcy5udW1IYXNoZXMgPSBNYXRoLmNlaWwodGhpcy5udW1CaXRzIC8gbnVtSXRlbXMgKiBNYXRoLmxvZygyKSk7XG4gICAgICAgIHRoaXMuYml0QXJyYXkgPSBuZXcgQXJyYXkodGhpcy5udW1CaXRzKS5maWxsKDApO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Ymxvb20tZmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJCbG9vbUZpbHRlciIsIm11cm11cmhhc2gyIiwic3RyIiwiaCIsImkiLCJsZW5ndGgiLCJjIiwiY2hhckNvZGVBdCIsIk1hdGgiLCJpbXVsIiwiZnJvbSIsIml0ZW1zIiwiZXJyb3JSYXRlIiwiZmlsdGVyIiwiaXRlbSIsImFkZCIsImV4cG9ydCIsImRhdGEiLCJudW1JdGVtcyIsIm51bUJpdHMiLCJudW1IYXNoZXMiLCJiaXRBcnJheSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJmaWx0ZXJEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsImd6aXBTaXplIiwicmVxdWlyZSIsInN5bmMiLCJjb25zb2xlIiwid2FybiIsImltcG9ydCIsImhhc2hWYWx1ZXMiLCJnZXRIYXNoVmFsdWVzIiwiZm9yRWFjaCIsImhhc2giLCJjb250YWlucyIsImV2ZXJ5IiwicHVzaCIsImNvbnN0cnVjdG9yIiwiY2VpbCIsImxvZyIsIkFycmF5IiwiZmlsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/bloom-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/escape-regexp.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7QUFDN0Q7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNGLG1CQUFtQkcsR0FBRztJQUMzQiwrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3ZCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3hDO0lBQ0EsT0FBT0M7QUFDWCxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcz9kYmZiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZ2V4cCBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2VzY2FwZS1zdHJpbmctcmVnZXhwXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVzY2FwZVN0cmluZ1JlZ2V4cFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXNjYXBlU3RyaW5nUmVnZXhwO1xuICAgIH1cbn0pO1xuY29uc3QgcmVIYXNSZWdFeHAgPSAvW3xcXFxce30oKVtcXF1eJCsqPy4tXS87XG5jb25zdCByZVJlcGxhY2VSZWdFeHAgPSAvW3xcXFxce30oKVtcXF1eJCsqPy4tXS9nO1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nUmVnZXhwKHN0cikge1xuICAgIC8vIHNlZSBhbHNvOiBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iLzJkYTAyNGMzYjRmOTk0N2E0ODUxNzYzOWRlNzU2MDQ1N2NkNGVjNmMvZXNjYXBlUmVnRXhwLmpzI0wyM1xuICAgIGlmIChyZUhhc1JlZ0V4cC50ZXN0KHN0cikpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKHJlUmVwbGFjZVJlZ0V4cCwgXCJcXFxcJCZcIik7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzY2FwZS1yZWdleHAuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsInJlSGFzUmVnRXhwIiwicmVSZXBsYWNlUmVnRXhwIiwic3RyIiwidGVzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/escape-regexp.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head-manager-context.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head-manager-context.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HeadManagerContext\", ({\n enumerable: true,\n get: function() {\n return HeadManagerContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst HeadManagerContext = _react.default.createContext({});\nif (true) {\n HeadManagerContext.displayName = \"HeadManagerContext\";\n} //# sourceMappingURL=head-manager-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNENBQU87QUFDdkUsTUFBTUYscUJBQXFCRyxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBQ3pELElBQUlDLElBQXFDLEVBQUU7SUFDdkNQLG1CQUFtQlEsV0FBVyxHQUFHO0FBQ3JDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLW1hbmFnZXItY29udGV4dC5qcz83NmViIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSGVhZE1hbmFnZXJDb250ZXh0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBIZWFkTWFuYWdlckNvbnRleHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgSGVhZE1hbmFnZXJDb250ZXh0ID0gX3JlYWN0LmRlZmF1bHQuY3JlYXRlQ29udGV4dCh7fSk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgSGVhZE1hbmFnZXJDb250ZXh0LmRpc3BsYXlOYW1lID0gXCJIZWFkTWFuYWdlckNvbnRleHRcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZC1tYW5hZ2VyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiZGVmYXVsdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head-manager-context.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/head.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/head.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n defaultHead: function() {\n return defaultHead;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontext = __webpack_require__(/*! ./amp-context */ \"./node_modules/next/dist/shared/lib/amp-context.js\");\nconst _headmanagercontext = __webpack_require__(/*! ./head-manager-context */ \"./node_modules/next/dist/shared/lib/head-manager-context.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ _react.default.createElement(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontext.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontext.HeadManagerContext);\n return /*#__PURE__*/ _react.default.createElement(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState)\n }, children);\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoicURBQ2E7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLDhHQUEwQztBQUNwRixNQUFNRSxTQUFTLFdBQVcsR0FBR0QsMEJBQTBCRSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLDRDQUFPO0FBQ3hFLE1BQU1JLGNBQWMsV0FBVyxHQUFHTCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMseUVBQWU7QUFDcEYsTUFBTUssY0FBY0wsbUJBQU9BLENBQUMseUVBQWU7QUFDM0MsTUFBTU0sc0JBQXNCTixtQkFBT0EsQ0FBQywyRkFBd0I7QUFDNUQsTUFBTU8sV0FBV1AsbUJBQU9BLENBQUMsbUVBQVk7QUFDckMsTUFBTVEsWUFBWVIsbUJBQU9BLENBQUMsaUZBQW1CO0FBRTdDLFNBQVNWLFlBQVltQixTQUFTO0lBQzFCLElBQUlBLGNBQWMsS0FBSyxHQUFHQSxZQUFZO0lBQ3RDLE1BQU1DLE9BQU87UUFDVCxXQUFXLEdBQUdSLE9BQU9YLE9BQU8sQ0FBQ29CLGFBQWEsQ0FBQyxRQUFRO1lBQy9DQyxTQUFTO1FBQ2I7S0FDSDtJQUNELElBQUksQ0FBQ0gsV0FBVztRQUNaQyxLQUFLRyxJQUFJ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R3RFLE9BQU9vRSxVQUFVLEVBQUVoRSxvQkFBb0JtRSxrQkFBa0I7SUFDakYsT0FBTyxXQUFXLEdBQUd2RSxPQUFPWCxPQUFPLENBQUNvQixhQUFhLENBQUNQLFlBQVliLE9BQU8sRUFBRTtRQUNuRW1GLHlCQUF5QnhCO1FBQ3pCc0IsYUFBYUE7UUFDYi9ELFdBQVcsQ0FBQyxHQUFHRixTQUFTb0UsV0FBVyxFQUFFTjtJQUN6QyxHQUFHN0M7QUFDUDtLQVRhMkM7QUFVYixNQUFNckUsV0FBV3FFO0FBRWpCLElBQUksQ0FBQyxPQUFPaEYsUUFBUUksT0FBTyxLQUFLLGNBQWUsT0FBT0osUUFBUUksT0FBTyxLQUFLLFlBQVlKLFFBQVFJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0osUUFBUUksT0FBTyxDQUFDcUYsVUFBVSxLQUFLLGFBQWE7SUFDckszRixPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU87SUFBSztJQUNuRUgsT0FBTzRGLE1BQU0sQ0FBQzFGLFFBQVFJLE9BQU8sRUFBRUo7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUksT0FBTztBQUNsQyxFQUVBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcz9mYjVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBkZWZhdWx0SGVhZDogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGRlZmF1bHRIZWFkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRIZWFkO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3NpZGVlZmZlY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL3NpZGUtZWZmZWN0XCIpKTtcbmNvbnN0IF9hbXBjb250ZXh0ID0gcmVxdWlyZShcIi4vYW1wLWNvbnRleHRcIik7XG5jb25zdCBfaGVhZG1hbmFnZXJjb250ZXh0ID0gcmVxdWlyZShcIi4vaGVhZC1tYW5hZ2VyLWNvbnRleHRcIik7XG5jb25zdCBfYW1wbW9kZSA9IHJlcXVpcmUoXCIuL2FtcC1tb2RlXCIpO1xuY29uc3QgX3dhcm5vbmNlID0gcmVxdWlyZShcIi4vdXRpbHMvd2Fybi1vbmNlXCIpO1xuXG5mdW5jdGlvbiBkZWZhdWx0SGVhZChpbkFtcE1vZGUpIHtcbiAgICBpZiAoaW5BbXBNb2RlID09PSB2b2lkIDApIGluQW1wTW9kZSA9IGZhbHNlO1xuICAgIGNvbnN0IGhlYWQgPSBbXG4gICAgICAgIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm1ldGFcIiwge1xuICAgICAgICAgICAgY2hhclNldDogXCJ1dGYtOFwiXG4gICAgICAgIH0pXG4gICAgXTtcbiAgICBpZiAoIWluQW1wTW9kZSkge1xuICAgICAgICBoZWFkLnB1c2goLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aFwiXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWQ7XG59XG5mdW5jdGlvbiBvbmx5UmVhY3RFbGVtZW50KGxpc3QsIGNoaWxkKSB7XG4gICAgLy8gUmVhY3QgY2hpbGRyZW4gY2FuIGJlIFwic3RyaW5nXCIgb3IgXCJudW1iZXJcIiBpbiB0aGlzIGNhc2Ugd2UgaWdub3JlIHRoZW0gZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAgICBpZiAodHlwZW9mIGNoaWxkID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBjaGlsZCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICB9XG4gICAgLy8gQWRkcyBzdXBwb3J0IGZvciBSZWFjdC5GcmFnbWVudFxuICAgIGlmIChjaGlsZC50eXBlID09PSBfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCkge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoLy8gQHRzLWV4cGVjdC1lcnJvciBAdHlwZXMvcmVhY3QgZG9lcyBub3QgcmVtb3ZlIGZyYWdtZW50cyBidXQgdGhpcyBjb3VsZCBhbHNvIHJldHVybiBSZWFjdFBvcnRhbFtdXG4gICAgICAgIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkoY2hpbGQucHJvcHMuY2hpbGRyZW4pLnJlZHVjZSgvLyBAdHMtZXhwZWN0LWVycm9yIEB0eXBlcy9yZWFjdCBkb2VzIG5vdCByZW1vdmUgZnJhZ21lbnRzIGJ1dCB0aGlzIGNvdWxkIGFsc28gcmV0dXJuIFJlYWN0UG9ydGFsW11cbiAgICAgICAgKGZyYWdtZW50TGlzdCwgZnJhZ21lbnRDaGlsZCk9PntcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmcmFnbWVudExpc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRMaXN0LmNvbmNhdChmcmFnbWVudENoaWxkKTtcbiAgICAgICAgfSwgW10pKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KGNoaWxkKTtcbn1cbmNvbnN0IE1FVEFUWVBFUyA9IFtcbiAgICBcIm5hbWVcIixcbiAgICBcImh0dHBFcXVpdlwiLFxuICAgIFwiY2hhclNldFwiLFxuICAgIFwiaXRlbVByb3BcIlxuXTtcbi8qXG4gcmV0dXJucyBhIGZ1bmN0aW9uIGZvciBmaWx0ZXJpbmcgaGVhZCBjaGlsZCBlbGVtZW50c1xuIHdoaWNoIHNob3VsZG4ndCBiZSBkdXBsaWNhdGVkLCBsaWtlIDx0aXRsZS8+XG4gQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGRlZHVwbGljYXRlZCBga2V5YCBwcm9wZXJ0aWVzXG4qLyBmdW5jdGlvbiB1bmlxdWUoKSB7XG4gICAgY29uc3Qga2V5cyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB0YWdzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IG1ldGFUeXBlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBtZXRhQ2F0ZWdvcmllcyA9IHt9O1xuICAgIHJldHVybiAoaCk9PntcbiAgICAgICAgbGV0IGlzVW5pcXVlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGhhc0tleSA9IGZhbHNlO1xuICAgICAgICBpZiAoaC5rZXkgJiYgdHlwZW9mIGgua2V5ICE9PSBcIm51bWJlclwiICYmIGgua2V5LmluZGV4T2YoXCIkXCIpID4gMCkge1xuICAgICAgICAgICAgaGFzS2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGgua2V5LnNsaWNlKGgua2V5LmluZGV4T2YoXCIkXCIpICsgMSk7XG4gICAgICAgICAgICBpZiAoa2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleXMuYWRkKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmF1bHQtY2FzZVxuICAgICAgICBzd2l0Y2goaC50eXBlKXtcbiAgICAgICAgICAgIGNhc2UgXCJ0aXRsZVwiOlxuICAgICAgICAgICAgY2FzZSBcImJhc2VcIjpcbiAgICAgICAgICAgICAgICBpZiAodGFncy5oYXMoaC50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhZ3MuYWRkKGgudHlwZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm1ldGFcIjpcbiAgICAgICAgICAgICAgICBmb3IobGV0IGkgPSAwLCBsZW4gPSBNRVRBVFlQRVMubGVuZ3RoOyBpIDwgbGVuOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXRhdHlwZSA9IE1FVEFUWVBFU1tpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoLnByb3BzLmhhc093blByb3BlcnR5KG1ldGF0eXBlKSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXRhdHlwZSA9PT0gXCJjaGFyU2V0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXRhVHlwZXMuaGFzKG1ldGF0eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFUeXBlcy5hZGQobWV0YXR5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBoLnByb3BzW21ldGF0eXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gfHwgbmV3IFNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChtZXRhdHlwZSAhPT0gXCJuYW1lXCIgfHwgIWhhc0tleSkgJiYgY2F0ZWdvcmllcy5oYXMoY2F0ZWdvcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllcy5hZGQoY2F0ZWdvcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFDYXRlZ29yaWVzW21ldGF0eXBlXSA9IGNhdGVnb3JpZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzVW5pcXVlO1xuICAgIH07XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gaGVhZENoaWxkcmVuRWxlbWVudHMgTGlzdCBvZiBjaGlsZHJlbiBvZiA8SGVhZD5cbiAqLyBmdW5jdGlvbiByZWR1Y2VDb21wb25lbnRzKGhlYWRDaGlsZHJlbkVsZW1lbnRzLCBwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlICB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIGhlYWRDaGlsZHJlbkVsZW1lbnRzLnJlZHVjZShvbmx5UmVhY3RFbGVtZW50LCBbXSkucmV2ZXJzZSgpLmNvbmNhdChkZWZhdWx0SGVhZChpbkFtcE1vZGUpLnJldmVyc2UoKSkuZmlsdGVyKHVuaXF1ZSgpKS5yZXZlcnNlKCkubWFwKChjLCBpKT0+e1xuICAgICAgICBjb25zdCBrZXkgPSBjLmtleSB8fCBpO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBwcm9jZXNzLmVudi5fX05FWFRfT1BUSU1JWkVfRk9OVFMgJiYgIWluQW1wTW9kZSkge1xuICAgICAgICAgICAgaWYgKGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcImhyZWZcIl0gJiYgLy8gVE9ETyhwcmF0ZWVrYmhAKTogUmVwbGFjZSB0aGlzIHdpdGggY29uc3QgZnJvbSBgY29uc3RhbnRzYCB3aGVuIHRoZSB0cmVlIHNoYWtpbmcgd29ya3MuXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzc1wiLFxuICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvXCJcbiAgICAgICAgICAgIF0uc29tZSgodXJsKT0+Yy5wcm9wc1tcImhyZWZcIl0uc3RhcnRzV2l0aCh1cmwpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Byb3BzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jLnByb3BzIHx8IHt9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBuZXdQcm9wc1tcImRhdGEtaHJlZlwiXSA9IG5ld1Byb3BzW1wiaHJlZlwiXTtcbiAgICAgICAgICAgICAgICBuZXdQcm9wc1tcImhyZWZcIl0gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgLy8gQWRkIHRoaXMgYXR0cmlidXRlIHRvIG1ha2UgaXQgZWFzeSB0byBpZGVudGlmeSBvcHRpbWl6ZWQgdGFnc1xuICAgICAgICAgICAgICAgIG5ld1Byb3BzW1wiZGF0YS1vcHRpbWl6ZWQtZm9udHNcIl0gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCBuZXdQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIC8vIG9taXQgSlNPTi1MRCBzdHJ1Y3R1cmVkIGRhdGEgc25pcHBldHMgZnJvbSB0aGUgd2FybmluZ1xuICAgICAgICAgICAgaWYgKGMudHlwZSA9PT0gXCJzY3JpcHRcIiAmJiBjLnByb3BzW1widHlwZVwiXSAhPT0gXCJhcHBsaWNhdGlvbi9sZCtqc29uXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcmNNZXNzYWdlID0gYy5wcm9wc1tcInNyY1wiXSA/ICc8c2NyaXB0PiB0YWcgd2l0aCBzcmM9XCInICsgYy5wcm9wc1tcInNyY1wiXSArICdcIicgOiBcImlubGluZSA8c2NyaXB0PlwiO1xuICAgICAgICAgICAgICAgICgwLCBfd2Fybm9uY2Uud2Fybk9uY2UpKFwiRG8gbm90IGFkZCA8c2NyaXB0PiB0YWdzIHVzaW5nIG5leHQvaGVhZCAoc2VlIFwiICsgc3JjTWVzc2FnZSArIFwiKS4gVXNlIG5leHQvc2NyaXB0IGluc3RlYWQuIFxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm8tc2NyaXB0LXRhZ3MtaW4taGVhZC1jb21wb25lbnRcIik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJzdHlsZXNoZWV0XCIpIHtcbiAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKSgnRG8gbm90IGFkZCBzdHlsZXNoZWV0cyB1c2luZyBuZXh0L2hlYWQgKHNlZSA8bGluayByZWw9XCJzdHlsZXNoZWV0XCI+IHRhZyB3aXRoIGhyZWY9XCInICsgYy5wcm9wc1tcImhyZWZcIl0gKyAnXCIpLiBVc2UgRG9jdW1lbnQgaW5zdGVhZC4gXFxuU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1zdHlsZXNoZWV0cy1pbi1oZWFkLWNvbXBvbmVudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjLCB7XG4gICAgICAgICAgICBrZXlcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGluamVjdHMgZWxlbWVudHMgdG8gYDxoZWFkPmAgb2YgeW91ciBwYWdlLlxuICogVG8gYXZvaWQgZHVwbGljYXRlZCBgdGFnc2AgaW4gYDxoZWFkPmAgeW91IGNhbiB1c2UgdGhlIGBrZXlgIHByb3BlcnR5LCB3aGljaCB3aWxsIG1ha2Ugc3VyZSBldmVyeSB0YWcgaXMgb25seSByZW5kZXJlZCBvbmNlLlxuICovIGZ1bmN0aW9uIEhlYWQocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiAgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGFtcFN0YXRlID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYW1wY29udGV4dC5BbXBTdGF0ZUNvbnRleHQpO1xuICAgIGNvbnN0IGhlYWRNYW5hZ2VyID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaGVhZG1hbmFnZXJjb250ZXh0LkhlYWRNYW5hZ2VyQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfc2lkZWVmZmVjdC5kZWZhdWx0LCB7XG4gICAgICAgIHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlOiByZWR1Y2VDb21wb25lbnRzLFxuICAgICAgICBoZWFkTWFuYWdlcjogaGVhZE1hbmFnZXIsXG4gICAgICAgIGluQW1wTW9kZTogKDAsIF9hbXBtb2RlLmlzSW5BbXBNb2RlKShhbXBTdGF0ZSlcbiAgICB9LCBjaGlsZHJlbik7XG59XG5jb25zdCBfZGVmYXVsdCA9IEhlYWQ7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZGVmYXVsdEhlYWQiLCJkZWZhdWx0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9yZWFjdCIsIl8iLCJfc2lkZWVmZmVjdCIsIl9hbXBjb250ZXh0IiwiX2hlYWRtYW5hZ2VyY29udGV4dCIsIl9hbXBtb2RlIiwiX3dhcm5vbmNlIiwiaW5BbXBNb2RlIiwiaGVhZCIsImNyZWF0ZUVsZW1lbnQiLCJjaGFyU2V0IiwicHVzaCIsImNvbnRlbnQiLCJvbmx5UmVhY3RFbGVtZW50IiwibGlzdCIsImNoaWxkIiwidHlwZSIsIkZyYWdtZW50IiwiY29uY2F0IiwiQ2hpbGRyZW4iLCJ0b0FycmF5IiwicHJvcHMiLCJjaGlsZHJlbiIsInJlZHVjZSIsImZyYWdtZW50TGlzdCIsImZyYWdtZW50Q2hpbGQiLCJNRVRBVFlQRVMiLCJ1bmlxdWUiLCJrZXlzIiwiU2V0IiwidGFncyIsIm1ldGFUeXBlcyIsIm1ldGFDYXRlZ29yaWVzIiwiaCIsImlzVW5pcXVlIiwiaGFzS2V5Iiwia2V5IiwiaW5kZXhPZiIsInNsaWNlIiwiaGFzIiwiYWRkIiwiaSIsImxlbiIsImxlbmd0aCIsIm1ldGF0eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYXRlZ29yeSIsImNhdGVnb3JpZXMiLCJyZWR1Y2VDb21wb25lbnRzIiwiaGVhZENoaWxkcmVuRWxlbWVudHMiLCJyZXZlcnNlIiwiZmlsdGVyIiwibWFwIiwiYyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfT1BUSU1JWkVfRk9OVFMiLCJzb21lIiwidXJsIiwic3RhcnRzV2l0aCIsIm5ld1Byb3BzIiwidW5kZWZpbmVkIiwiY2xvbmVFbGVtZW50Iiwic3JjTWVzc2FnZSIsIndhcm5PbmNlIiwiSGVhZCIsInBhcmFtIiwiYW1wU3RhdGUiLCJ1c2VDb250ZXh0IiwiQW1wU3RhdGVDb250ZXh0IiwiaGVhZE1hbmFnZXIiLCJIZWFkTWFuYWdlckNvbnRleHQiLCJyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZSIsImlzSW5BbXBNb2RlIiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/hooks-client-context.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/hooks-client-context.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n SearchParamsContext: function() {\n return SearchParamsContext;\n },\n PathnameContext: function() {\n return PathnameContext;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nconst SearchParamsContext = (0, _react.createContext)(null);\nconst PathnameContext = (0, _react.createContext)(null);\nif (true) {\n SearchParamsContext.displayName = \"SearchParamsContext\";\n PathnameContext.displayName = \"PathnameContext\";\n} //# sourceMappingURL=hooks-client-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuanMiLCJtYXBwaW5ncyI6InFEQUNhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxTQUFTQyxtQkFBT0EsQ0FBQyw0Q0FBTztBQUU5QixNQUFNVCxzQkFBc0IsQ0FBQyxHQUFHUSxPQUFPRSxhQUFhLEVBQUU7QUFDdEQsTUFBTVQsa0JBQWtCLENBQUMsR0FBR08sT0FBT0UsYUFBYSxFQUFFO0FBQ2xELElBQUlDLElBQXFDLEVBQUU7SUFDdkNYLG9CQUFvQlksV0FBVyxHQUFHO0lBQ2xDWCxnQkFBZ0JXLFdBQVcsR0FBRztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuanM/ODQ3ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgU2VhcmNoUGFyYW1zQ29udGV4dDogbnVsbCxcbiAgICBQYXRobmFtZUNvbnRleHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgU2VhcmNoUGFyYW1zQ29udGV4dDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTZWFyY2hQYXJhbXNDb250ZXh0O1xuICAgIH0sXG4gICAgUGF0aG5hbWVDb250ZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBhdGhuYW1lQ29udGV4dDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcblxuY29uc3QgU2VhcmNoUGFyYW1zQ29udGV4dCA9ICgwLCBfcmVhY3QuY3JlYXRlQ29udGV4dCkobnVsbCk7XG5jb25zdCBQYXRobmFtZUNvbnRleHQgPSAoMCwgX3JlYWN0LmNyZWF0ZUNvbnRleHQpKG51bGwpO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIFNlYXJjaFBhcmFtc0NvbnRleHQuZGlzcGxheU5hbWUgPSBcIlNlYXJjaFBhcmFtc0NvbnRleHRcIjtcbiAgICBQYXRobmFtZUNvbnRleHQuZGlzcGxheU5hbWUgPSBcIlBhdGhuYW1lQ29udGV4dFwiO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob29rcy1jbGllbnQtY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJTZWFyY2hQYXJhbXNDb250ZXh0IiwiUGF0aG5hbWVDb250ZXh0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JlYWN0IiwicmVxdWlyZSIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/hooks-client-context.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG9CQUFvQkMsUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osK0RBQStEO0lBQy9ELE1BQU1DLGdCQUFnQkgsU0FBU0ksS0FBSyxDQUFDO0lBQ3BDSCxDQUFBQSxXQUFXLEVBQUUsRUFBRUksSUFBSSxDQUFDLENBQUNDO1FBQ2xCLElBQUlILGFBQWEsQ0FBQyxFQUFFLElBQUlBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUFJO1lBQzdFTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNYO1FBQ0EsT0FBTztJQUNYO0lBQ0EsT0FBTztRQUNIVDtRQUNBRTtJQUNKO0FBQ0osRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzPzA0M2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJub3JtYWxpemVMb2NhbGVQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVMb2NhbGVQYXRoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gbm9ybWFsaXplTG9jYWxlUGF0aChwYXRobmFtZSwgbG9jYWxlcykge1xuICAgIGxldCBkZXRlY3RlZExvY2FsZTtcbiAgICAvLyBmaXJzdCBpdGVtIHdpbGwgYmUgZW1wdHkgc3RyaW5nIGZyb20gc3BsaXR0aW5nIGF0IGZpcnN0IGNoYXJcbiAgICBjb25zdCBwYXRobmFtZVBhcnRzID0gcGF0aG5hbWUuc3BsaXQoXCIvXCIpO1xuICAgIChsb2NhbGVzIHx8IFtdKS5zb21lKChsb2NhbGUpPT57XG4gICAgICAgIGlmIChwYXRobmFtZVBhcnRzWzFdICYmIHBhdGhuYW1lUGFydHNbMV0udG9Mb3dlckNhc2UoKSA9PT0gbG9jYWxlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGRldGVjdGVkTG9jYWxlID0gbG9jYWxlO1xuICAgICAgICAgICAgcGF0aG5hbWVQYXJ0cy5zcGxpY2UoMSwgMSk7XG4gICAgICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lUGFydHMuam9pbihcIi9cIikgfHwgXCIvXCI7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIGRldGVjdGVkTG9jYWxlXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwicGF0aG5hbWUiLCJsb2NhbGVzIiwiZGV0ZWN0ZWRMb2NhbGUiLCJwYXRobmFtZVBhcnRzIiwic3BsaXQiLCJzb21lIiwibG9jYWxlIiwidG9Mb3dlckNhc2UiLCJzcGxpY2UiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/image-config-context.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config-context.js ***! - \*******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNENBQU87QUFDdkUsTUFBTUcsZUFBZUgsbUJBQU9BLENBQUMsMkVBQWdCO0FBQzdDLE1BQU1GLHFCQUFxQkcsT0FBT0csT0FBTyxDQUFDQyxhQUFhLENBQUNGLGFBQWFHLGtCQUFrQjtBQUN2RixJQUFJQyxJQUFxQyxFQUFFO0lBQ3ZDVCxtQkFBbUJVLFdBQVcsR0FBRztBQUNyQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLWNvbnRleHQuanM/MzlmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkltYWdlQ29uZmlnQ29udGV4dFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSW1hZ2VDb25maWdDb250ZXh0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9pbWFnZWNvbmZpZyA9IHJlcXVpcmUoXCIuL2ltYWdlLWNvbmZpZ1wiKTtcbmNvbnN0IEltYWdlQ29uZmlnQ29udGV4dCA9IF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUNvbnRleHQoX2ltYWdlY29uZmlnLmltYWdlQ29uZmlnRGVmYXVsdCk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgSW1hZ2VDb25maWdDb250ZXh0LmRpc3BsYXlOYW1lID0gXCJJbWFnZUNvbmZpZ0NvbnRleHRcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UtY29uZmlnLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkltYWdlQ29uZmlnQ29udGV4dCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX2ltYWdlY29uZmlnIiwiZGVmYXVsdCIsImNyZWF0ZUNvbnRleHQiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/image-config-context.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/image-config.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/image-config.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTUQsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELE1BQU1DLHFCQUFxQjtJQUN2Qk8sYUFBYTtRQUNUO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7S0FDSDtJQUNEQyxZQUFZO1FBQ1I7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNIO0lBQ0RDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUNMO0tBQ0g7SUFDREMscUJBQXFCO0lBQ3JCQyx1QkFBdUI7SUFDdkJDLHdCQUF3QjtJQUN4QkMsZ0JBQWdCLEVBQUU7SUFDbEJDLGFBQWE7QUFDakIsR0FFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy5qcz8zMTI2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgVkFMSURfTE9BREVSUzogbnVsbCxcbiAgICBpbWFnZUNvbmZpZ0RlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgVkFMSURfTE9BREVSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBWQUxJRF9MT0FERVJTO1xuICAgIH0sXG4gICAgaW1hZ2VDb25maWdEZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGltYWdlQ29uZmlnRGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IFZBTElEX0xPQURFUlMgPSBbXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJpbWdpeFwiLFxuICAgIFwiY2xvdWRpbmFyeVwiLFxuICAgIFwiYWthbWFpXCIsXG4gICAgXCJjdXN0b21cIlxuXTtcbmNvbnN0IGltYWdlQ29uZmlnRGVmYXVsdCA9IHtcbiAgICBkZXZpY2VTaXplczogW1xuICAgICAgICA2NDAsXG4gICAgICAgIDc1MCxcbiAgICAgICAgODI4LFxuICAgICAgICAxMDgwLFxuICAgICAgICAxMjAwLFxuICAgICAgICAxOTIwLFxuICAgICAgICAyMDQ4LFxuICAgICAgICAzODQwXG4gICAgXSxcbiAgICBpbWFnZVNpemVzOiBbXG4gICAgICAgIDE2LFxuICAgICAgICAzMixcbiAgICAgICAgNDgsXG4gICAgICAgIDY0LFxuICAgICAgICA5NixcbiAgICAgICAgMTI4LFxuICAgICAgICAyNTYsXG4gICAgICAgIDM4NFxuICAgIF0sXG4gICAgcGF0aDogXCIvX25leHQvaW1hZ2VcIixcbiAgICBsb2FkZXI6IFwiZGVmYXVsdFwiLFxuICAgIGxvYWRlckZpbGU6IFwiXCIsXG4gICAgZG9tYWluczogW10sXG4gICAgZGlzYWJsZVN0YXRpY0ltYWdlczogZmFsc2UsXG4gICAgbWluaW11bUNhY2hlVFRMOiA2MCxcbiAgICBmb3JtYXRzOiBbXG4gICAgICAgIFwiaW1hZ2Uvd2VicFwiXG4gICAgXSxcbiAgICBkYW5nZXJvdXNseUFsbG93U1ZHOiBmYWxzZSxcbiAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IFwic2NyaXB0LXNyYyAnbm9uZSc7IGZyYW1lLXNyYyAnbm9uZSc7IHNhbmRib3g7XCIsXG4gICAgY29udGVudERpc3Bvc2l0aW9uVHlwZTogXCJpbmxpbmVcIixcbiAgICByZW1vdGVQYXR0ZXJuczogW10sXG4gICAgdW5vcHRpbWl6ZWQ6IGZhbHNlXG59O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1jb25maWcuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiVkFMSURfTE9BREVSUyIsImltYWdlQ29uZmlnRGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImRldmljZVNpemVzIiwiaW1hZ2VTaXplcyIsInBhdGgiLCJsb2FkZXIiLCJsb2FkZXJGaWxlIiwiZG9tYWlucyIsImRpc2FibGVTdGF0aWNJbWFnZXMiLCJtaW5pbXVtQ2FjaGVUVEwiLCJmb3JtYXRzIiwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyIsImNvbnRlbnRTZWN1cml0eVBvbGljeSIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiLCJyZW1vdGVQYXR0ZXJucyIsInVub3B0aW1pemVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/image-config.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0Qsb0JBQW9CRixLQUFLO0lBQzlCLE9BQU9ILE9BQU9hLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNaO0FBQzFDO0FBQ0EsU0FBU0csY0FBY0gsS0FBSztJQUN4QixJQUFJRSxvQkFBb0JGLFdBQVcsbUJBQW1CO1FBQ2xELE9BQU87SUFDWDtJQUNBLE1BQU1VLFlBQVliLE9BQU9nQixjQUFjLENBQUNiO0lBQ3hDOzs7Ozs7OztHQVFELEdBQUcsT0FBT1UsY0FBYyxRQUFRQSxVQUFVSSxjQUFjLENBQUM7QUFDNUQsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdC5qcz8zNzQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0T2JqZWN0Q2xhc3NMYWJlbDogbnVsbCxcbiAgICBpc1BsYWluT2JqZWN0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldE9iamVjdENsYXNzTGFiZWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0T2JqZWN0Q2xhc3NMYWJlbDtcbiAgICB9LFxuICAgIGlzUGxhaW5PYmplY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNQbGFpbk9iamVjdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldE9iamVjdENsYXNzTGFiZWwodmFsdWUpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgICBpZiAoZ2V0T2JqZWN0Q2xhc3NMYWJlbCh2YWx1ZSkgIT09IFwiW29iamVjdCBPYmplY3RdXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICAgIC8qKlxuICAgKiB0aGlzIHVzZWQgdG8gYmUgcHJldmlvdXNseTpcbiAgICpcbiAgICogYHJldHVybiBwcm90b3R5cGUgPT09IG51bGwgfHwgcHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlYFxuICAgKlxuICAgKiBidXQgRWRnZSBSdW50aW1lIGV4cG9zZSBPYmplY3QgZnJvbSB2bSwgYmVpbmcgdGhhdCBraW5kIG9mIHR5cGUtY2hlY2tpbmcgd3JvbmdseSBmYWlsLlxuICAgKlxuICAgKiBJdCB3YXMgY2hhbmdlZCB0byB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzaW5jZSBpdCdzIHJlc2lsaWVudCB0byBzZXJpYWxpemF0aW9uLlxuICAgKi8gcmV0dXJuIHByb3RvdHlwZSA9PT0gbnVsbCB8fCBwcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCJpc1Byb3RvdHlwZU9mXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1wbGFpbi1vYmplY3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0T2JqZWN0Q2xhc3NMYWJlbCIsImlzUGxhaW5PYmplY3QiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJnZXRQcm90b3R5cGVPZiIsImhhc093blByb3BlcnR5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/lazy-dynamic/no-ssr-error.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/no-ssr-error.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NEXT_DYNAMIC_NO_SSR_CODE\", ({\n enumerable: true,\n get: function() {\n return NEXT_DYNAMIC_NO_SSR_CODE;\n }\n}));\nconst NEXT_DYNAMIC_NO_SSR_CODE = \"NEXT_DYNAMIC_NO_SSR_CODE\"; //# sourceMappingURL=no-ssr-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL25vLXNzci1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBQSwrR0FBK0c7QUFDbEc7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDREQUEyRDtJQUN2REksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1BLDJCQUEyQiw0QkFFakMsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvbm8tc3NyLWVycm9yLmpzPzMwYjgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBoYXMgdG8gYmUgYSBzaGFyZWQgbW9kdWxlIHdoaWNoIGlzIHNoYXJlZCBiZXR3ZWVuIGNsaWVudCBjb21wb25lbnQgZXJyb3IgYm91bmRhcnkgYW5kIGR5bmFtaWMgY29tcG9uZW50XG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk5FWFRfRFlOQU1JQ19OT19TU1JfQ09ERVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9EWU5BTUlDX05PX1NTUl9DT0RFO1xuICAgIH1cbn0pO1xuY29uc3QgTkVYVF9EWU5BTUlDX05PX1NTUl9DT0RFID0gXCJORVhUX0RZTkFNSUNfTk9fU1NSX0NPREVcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm8tc3NyLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJORVhUX0RZTkFNSUNfTk9fU1NSX0NPREUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/lazy-dynamic/no-ssr-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/mitt.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/mitt.js ***! - \***************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*\nMIT License\n\nCopyright (c) Jason Miller (https://jasonformat.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ // This file is based on https://github.com/developit/mitt/blob/v1.1.3/src/index.js\n// It's been edited for the needs of this script\n// See the LICENSE at the top of the file\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return mitt;\n }\n}));\nfunction mitt() {\n const all = Object.create(null);\n return {\n on (type, handler) {\n (all[type] || (all[type] = [])).push(handler);\n },\n off (type, handler) {\n if (all[type]) {\n all[type].splice(all[type].indexOf(handler) >>> 0, 1);\n }\n },\n emit (type) {\n for(var _len = arguments.length, evts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n evts[_key - 1] = arguments[_key];\n }\n (all[type] || []).slice().map((handler)=>{\n handler(...evts);\n });\n }\n };\n} //# sourceMappingURL=mitt.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWl0dC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztBQVVBLEdBQUcsbUZBQW1GO0FBQ3RGLGdEQUFnRDtBQUNoRCx5Q0FBeUM7QUFDNUI7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBO0lBQ0wsTUFBTUMsTUFBTVAsT0FBT1EsTUFBTSxDQUFDO0lBQzFCLE9BQU87UUFDSEMsSUFBSUMsSUFBSSxFQUFFQyxPQUFPO1lBQ1pKLENBQUFBLEdBQUcsQ0FBQ0csS0FBSyxJQUFLSCxDQUFBQSxHQUFHLENBQUNHLEtBQUssR0FBRyxFQUFFLEdBQUdFLElBQUksQ0FBQ0Q7UUFDekM7UUFDQUUsS0FBS0gsSUFBSSxFQUFFQyxPQUFPO1lBQ2QsSUFBSUosR0FBRyxDQUFDRyxLQUFLLEVBQUU7Z0JBQ1hILEdBQUcsQ0FBQ0csS0FBSyxDQUFDSSxNQUFNLENBQUNQLEdBQUcsQ0FBQ0csS0FBSyxDQUFDSyxPQUFPLENBQUNKLGFBQWEsR0FBRztZQUN2RDtRQUNKO1FBQ0FLLE1BQU1OLElBQUk7WUFDTixJQUFJLElBQUlPLE9BQU9DLFVBQVVDLE1BQU0sRUFBRUMsT0FBTyxJQUFJQyxNQUFNSixPQUFPLElBQUlBLE9BQU8sSUFBSSxJQUFJSyxPQUFPLEdBQUdBLE9BQU9MLE1BQU1LLE9BQU87Z0JBQ3RHRixJQUFJLENBQUNFLE9BQU8sRUFBRSxHQUFHSixTQUFTLENBQUNJLEtBQUs7WUFDcEM7WUFDQ2YsQ0FBQUEsR0FBRyxDQUFDRyxLQUFLLElBQUksRUFBRSxFQUFFYSxLQUFLLEdBQUdDLEdBQUcsQ0FBQyxDQUFDYjtnQkFDM0JBLFdBQVdTO1lBQ2Y7UUFDSjtJQUNKO0FBQ0osRUFFQSxnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL21pdHQuanM/ODUxZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTUlUIExpY2Vuc2VcblxuQ29weXJpZ2h0IChjKSBKYXNvbiBNaWxsZXIgKGh0dHBzOi8vamFzb25mb3JtYXQuY29tLylcblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuKi8gLy8gVGhpcyBmaWxlIGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9kZXZlbG9waXQvbWl0dC9ibG9iL3YxLjEuMy9zcmMvaW5kZXguanNcbi8vIEl0J3MgYmVlbiBlZGl0ZWQgZm9yIHRoZSBuZWVkcyBvZiB0aGlzIHNjcmlwdFxuLy8gU2VlIHRoZSBMSUNFTlNFIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGVcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbWl0dDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIG1pdHQoKSB7XG4gICAgY29uc3QgYWxsID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBvbiAodHlwZSwgaGFuZGxlcikge1xuICAgICAgICAgICAgKGFsbFt0eXBlXSB8fCAoYWxsW3R5cGVdID0gW10pKS5wdXNoKGhhbmRsZXIpO1xuICAgICAgICB9LFxuICAgICAgICBvZmYgKHR5cGUsIGhhbmRsZXIpIHtcbiAgICAgICAgICAgIGlmIChhbGxbdHlwZV0pIHtcbiAgICAgICAgICAgICAgICBhbGxbdHlwZV0uc3BsaWNlKGFsbFt0eXBlXS5pbmRleE9mKGhhbmRsZXIpID4+PiAwLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZW1pdCAodHlwZSkge1xuICAgICAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgZXZ0cyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAgICAgICAgICBldnRzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIChhbGxbdHlwZV0gfHwgW10pLnNsaWNlKCkubWFwKChoYW5kbGVyKT0+e1xuICAgICAgICAgICAgICAgIGhhbmRsZXIoLi4uZXZ0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pdHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIm1pdHQiLCJhbGwiLCJjcmVhdGUiLCJvbiIsInR5cGUiLCJoYW5kbGVyIiwicHVzaCIsIm9mZiIsInNwbGljZSIsImluZGV4T2YiLCJlbWl0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImV2dHMiLCJBcnJheSIsIl9rZXkiLCJzbGljZSIsIm1hcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/mitt.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsdURBQXNEO0lBQ2xESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsa0ZBQWlCO0FBQ3hDLE1BQU1DLG9CQUFvQkQsbUJBQU9BLENBQUMsaUdBQXNCO0FBQ3hELFNBQVNGLG9CQUFvQkksSUFBSTtJQUM3QixJQUFJQyxRQUFRLENBQUMsR0FBR0Ysa0JBQWtCRyxnQkFBZ0IsRUFBRUY7SUFDcEQsT0FBT0MsTUFBTUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUdOLE9BQU9PLGNBQWMsRUFBRUgsU0FBU0EsTUFBTUksS0FBSyxDQUFDLEtBQUtKLFVBQVUsV0FBV0EsUUFBUTtBQUM3SCxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcz9kZTBmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVub3JtYWxpemVQYWdlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGVub3JtYWxpemVQYWdlUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi9yb3V0ZXIvdXRpbHNcIik7XG5jb25zdCBfbm9ybWFsaXplcGF0aHNlcCA9IHJlcXVpcmUoXCIuL25vcm1hbGl6ZS1wYXRoLXNlcFwiKTtcbmZ1bmN0aW9uIGRlbm9ybWFsaXplUGFnZVBhdGgocGFnZSkge1xuICAgIGxldCBfcGFnZSA9ICgwLCBfbm9ybWFsaXplcGF0aHNlcC5ub3JtYWxpemVQYXRoU2VwKShwYWdlKTtcbiAgICByZXR1cm4gX3BhZ2Uuc3RhcnRzV2l0aChcIi9pbmRleC9cIikgJiYgISgwLCBfdXRpbHMuaXNEeW5hbWljUm91dGUpKF9wYWdlKSA/IF9wYWdlLnNsaWNlKDYpIDogX3BhZ2UgIT09IFwiL2luZGV4XCIgPyBfcGFnZSA6IFwiL1wiO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZW5vcm1hbGl6ZS1wYWdlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImRlbm9ybWFsaXplUGFnZVBhdGgiLCJfdXRpbHMiLCJyZXF1aXJlIiwiX25vcm1hbGl6ZXBhdGhzZXAiLCJwYWdlIiwiX3BhZ2UiLCJub3JtYWxpemVQYXRoU2VwIiwic3RhcnRzV2l0aCIsImlzRHluYW1pY1JvdXRlIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! - \*****************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsSUFBSTtJQUM1QixPQUFPQSxLQUFLQyxVQUFVLENBQUMsT0FBT0QsT0FBTyxNQUFNQTtBQUMvQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzP2NmMzIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIGEgbGVhZGluZyBzbGFzaC5cbiAqIElmIHRoZXJlIGlzIG5vdCBhIGxlYWRpbmcgc2xhc2gsIG9uZSBpcyBhZGRlZCwgb3RoZXJ3aXNlIGl0IGlzIG5vb3AuXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnN1cmVMZWFkaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVuc3VyZUxlYWRpbmdTbGFzaDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGVuc3VyZUxlYWRpbmdTbGFzaChwYXRoKSB7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBwYXRoIDogXCIvXCIgKyBwYXRoO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnN1cmUtbGVhZGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwicGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsaUJBQWlCQyxJQUFJO0lBQzFCLE9BQU9BLEtBQUtDLE9BQU8sQ0FBQyxPQUFPO0FBQy9CLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvbm9ybWFsaXplLXBhdGgtc2VwLmpzP2JhYjgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIG5vIGJhY2tzbGFzaFxuICogZXNjYXBpbmcgc2xhc2hlcyBpbiB0aGUgcGF0aC4gRXhhbXBsZTpcbiAqICAtIGBmb29cXC9iYXJcXC9iYXpgIC0+IGBmb28vYmFyL2JhemBcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhdGhTZXBcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVBhdGhTZXA7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBub3JtYWxpemVQYXRoU2VwKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLXBhdGgtc2VwLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVQYXRoU2VwIiwicGF0aCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router-context.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router-context.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGlEQUFnRDtJQUM1Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNEdBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsNENBQU87QUFDdkUsTUFBTUYsZ0JBQWdCRyxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQztBQUNuRCxJQUFJQyxJQUFxQyxFQUFFO0lBQ3ZDUCxjQUFjUSxXQUFXLEdBQUc7QUFDaEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0LmpzPzVlOTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZXJDb250ZXh0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSb3V0ZXJDb250ZXh0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IFJvdXRlckNvbnRleHQgPSBfcmVhY3QuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIFJvdXRlckNvbnRleHQuZGlzcGxheU5hbWUgPSBcIlJvdXRlckNvbnRleHRcIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlJvdXRlckNvbnRleHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsImRlZmF1bHQiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router-context.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/adapters.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/adapters.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n adaptForAppRouterInstance: function() {\n return adaptForAppRouterInstance;\n },\n adaptForSearchParams: function() {\n return adaptForSearchParams;\n },\n PathnameContextProviderAdapter: function() {\n return PathnameContextProviderAdapter;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst _hooksclientcontext = __webpack_require__(/*! ../hooks-client-context */ \"./node_modules/next/dist/shared/lib/hooks-client-context.js\");\nconst _utils = __webpack_require__(/*! ./utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nfunction adaptForAppRouterInstance(router) {\n return {\n back () {\n router.back();\n },\n forward () {\n router.forward();\n },\n refresh () {\n router.reload();\n },\n push (href, param) {\n let { scroll } = param === void 0 ? {} : param;\n void router.push(href, undefined, {\n scroll\n });\n },\n replace (href, param) {\n let { scroll } = param === void 0 ? {} : param;\n void router.replace(href, undefined, {\n scroll\n });\n },\n prefetch (href) {\n void router.prefetch(href);\n }\n };\n}\n/**\n * transforms the ParsedUrlQuery into a URLSearchParams.\n *\n * @param query the query to transform\n * @returns URLSearchParams\n */ function transformQuery(query) {\n const params = new URLSearchParams();\n for (const [name, value] of Object.entries(query)){\n if (Array.isArray(value)) {\n for (const val of value){\n params.append(name, val);\n }\n } else if (typeof value !== \"undefined\") {\n params.append(name, value);\n }\n }\n return params;\n}\nfunction adaptForSearchParams(router) {\n if (!router.isReady || !router.query) {\n return new URLSearchParams();\n }\n return transformQuery(router.query);\n}\nfunction PathnameContextProviderAdapter(param) {\n let { children, router, ...props } = param;\n const ref = (0, _react.useRef)(props.isAutoExport);\n const value = (0, _react.useMemo)(()=>{\n // isAutoExport is only ever `true` on the first render from the server,\n // so reset it to `false` after we read it for the first time as `true`. If\n // we don't use the value, then we don't need it.\n const isAutoExport = ref.current;\n if (isAutoExport) {\n ref.current = false;\n }\n // When the route is a dynamic route, we need to do more processing to\n // determine if we need to stop showing the pathname.\n if ((0, _utils.isDynamicRoute)(router.pathname)) {\n // When the router is rendering the fallback page, it can't possibly know\n // the path, so return `null` here. Read more about fallback pages over\n // at:\n // https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#fallback-pages\n if (router.isFallback) {\n return null;\n }\n // When `isAutoExport` is true, meaning this is a page page has been\n // automatically statically optimized, and the router is not ready, then\n // we can't know the pathname yet. Read more about automatic static\n // optimization at:\n // https://nextjs.org/docs/advanced-features/automatic-static-optimization\n if (isAutoExport && !router.isReady) {\n return null;\n }\n }\n // The `router.asPath` contains the pathname seen by the browser (including\n // any query strings), so it should have that stripped. Read more about the\n // `asPath` option over at:\n // https://nextjs.org/docs/api-reference/next/router#router-object\n let url;\n try {\n url = new URL(router.asPath, \"http://f\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n return \"/\";\n }\n return url.pathname;\n }, [\n router.asPath,\n router.isFallback,\n router.isReady,\n router.pathname\n ]);\n return /*#__PURE__*/ _react.default.createElement(_hooksclientcontext.PathnameContext.Provider, {\n value: value\n }, children);\n} //# sourceMappingURL=adapters.js.map\n_c = PathnameContextProviderAdapter;\nvar _c;\n$RefreshReg$(_c, \"PathnameContextProviderAdapter\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FkYXB0ZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sNEJBQTRCQyxtQkFBT0EsQ0FBQyw4R0FBMEM7QUFDcEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyw0Q0FBTztBQUN4RSxNQUFNRyxzQkFBc0JILG1CQUFPQSxDQUFDLDRGQUF5QjtBQUM3RCxNQUFNSSxTQUFTSixtQkFBT0EsQ0FBQywwRUFBUztBQUNoQyxTQUFTViwwQkFBMEJlLE1BQU07SUFDckMsT0FBTztRQUNIQztZQUNJRCxPQUFPQyxJQUFJO1FBQ2Y7UUFDQUM7WUFDSUYsT0FBT0UsT0FBTztRQUNsQjtRQUNBQztZQUNJSCxPQUFPSSxNQUFNO1FBQ2pCO1FBQ0FDLE1BQU1DLElBQUksRUFBRUMsS0FBSztZQUNiLElBQUksRUFBRUMsTUFBTSxFQUFHLEdBQUdELFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7WUFDMUMsS0FBS1AsT0FBT0ssSUFBSSxDQUFDQyxNQUFNRyxXQUFXO2dCQUM5QkQ7WUFDSjtRQUNKO1FBQ0FFLFNBQVNKLElBQUksRUFBRUMsS0FBSztZQUNoQixJQUFJLEVBQUVDLE1BQU0sRUFBRyxHQUFHRCxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUlBO1lBQzFDLEtBQUtQLE9BQU9VLE9BQU8sQ0FBQ0osTUFBTUcsV0FBVztnQkFDakNEO1lBQ0o7UUFDSjtRQUNBRyxVQUFVTCxJQUFJO1lBQ1YsS0FBS04sT0FBT1csUUFBUSxDQUFDTDtRQUN6QjtJQUNKO0FBQ0o7QUFDQTs7Ozs7Q0FLQyxHQUFHLFNBQVNNLGVBQWVDLEtBQUs7SUFDN0IsTUFBTUMsU0FBUyxJQUFJQztJQUNuQixLQUFLLE1BQU0sQ0FBQ3hCLE1BQU1SLE1BQU0sSUFBSUgsT0FBT29DLE9BQU8sQ0FBQ0gsT0FBTztRQUM5QyxJQUFJSSxNQUFNQyxPQUFPLENBQUNuQyxRQUFRO1lBQ3RCLEtBQUssTUFBTW9DLE9BQU9wQyxNQUFNO2dCQUNwQitCLE9BQU9NLE1BQU0sQ0FBQzdCLE1BQU00QjtZQUN4QjtRQUNKLE9BQU8sSUFBSSxPQUFPcEMsVUFBVSxhQUFhO1lBQ3JDK0IsT0FBT00sTUFBTSxDQUFDN0IsTUFBTVI7UUFDeEI7SUFDSjtJQUNBLE9BQU8rQjtBQUNYO0FBQ0EsU0FBUzVCLHFCQUFxQmMsTUFBTTtJQUNoQyxJQUFJLENBQUNBLE9BQU9xQixPQUFPLElBQUksQ0FBQ3JCLE9BQU9hLEtBQUssRUFBRTtRQUNsQyxPQUFPLElBQUlFO0lBQ2Y7SUFDQSxPQUFPSCxlQUFlWixPQUFPYSxLQUFLO0FBQ3RDO0FBQ0EsU0FBUzFCLCtCQUErQm9CLEtBQUs7SUFDekMsSUFBSSxFQUFFZSxRQUFRLEVBQUd0QixNQUFNLEVBQUcsR0FBR3VCLE9BQU8sR0FBR2hCO0lBQ3ZDLE1BQU1pQixNQUFNLENBQUMsR0FBRzVCLE9BQU82QixNQUFNLEVBQUVGLE1BQU1HLFlBQVk7SUFDakQsTUFBTTNDLFFBQVEsQ0FBQyxHQUFHYSxPQUFPK0IsT0FBTyxFQUFFO1FBQzlCLHdFQUF3RTtRQUN4RSwyRUFBMkU7UUFDM0UsaURBQWlEO1FBQ2pELE1BQU1ELGVBQWVGLElBQUlJLE9BQU87UUFDaEMsSUFBSUYsY0FBYztZQUNkRixJQUFJSSxPQUFPLEdBQUc7UUFDbEI7UUFDQSxzRUFBc0U7UUFDdEUscURBQXFEO1FBQ3JELElBQUksQ0FBQyxHQUFHN0IsT0FBTzhCLGNBQWMsRUFBRTdCLE9BQU84QixRQUFRLEdBQUc7WUFDN0MseUVBQXlFO1lBQ3pFLHVFQUF1RTtZQUN2RSxNQUFNO1lBQ04sc0ZBQXNGO1lBQ3RGLElBQUk5QixPQUFPK0IsVUFBVSxFQUFFO2dCQUNuQixPQUFPO1lBQ1g7WUFDQSxvRUFBb0U7WUFDcEUsd0VBQXdFO1lBQ3hFLG1FQUFtRTtZQUNuRSxtQkFBbUI7WUFDbkIsMEVBQTBFO1lBQzFFLElBQUlMLGdCQUFnQixDQUFDMUIsT0FBT3FCLE9BQU8sRUFBRTtnQkFDakMsT0FBTztZQUNYO1FBQ0o7UUFDQSwyRUFBMkU7UUFDM0UsMkVBQTJFO1FBQzNFLDJCQUEyQjtRQUMzQixrRUFBa0U7UUFDbEUsSUFBSVc7UUFDSixJQUFJO1lBQ0FBLE1BQU0sSUFBSUMsSUFBSWpDLE9BQU9rQyxNQUFNLEVBQUU7UUFDakMsRUFBRSxPQUFPckMsR0FBRztZQUNSLGtEQUFrRDtZQUNsRCxPQUFPO1FBQ1g7UUFDQSxPQUFPbUMsSUFBSUYsUUFBUTtJQUN2QixHQUFHO1FBQ0M5QixPQUFPa0MsTUFBTTtRQUNibEMsT0FBTytCLFVBQVU7UUFDakIvQixPQUFPcUIsT0FBTztRQUNkckIsT0FBTzhCLFFBQVE7S0FDbEI7SUFDRCxPQUFPLFdBQVcsR0FBR2xDLE9BQU91QyxPQUFPLENBQUNDLGFBQWEsQ0FBQ3RDLG9CQUFvQnVDLGVBQWUsQ0FBQ0MsUUFBUSxFQUFFO1FBQzVGdkQsT0FBT0E7SUFDWCxHQUFHdUM7QUFDUCxFQUVBLG9DQUFvQztLQXJEM0JuQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FkYXB0ZXJzLmpzP2U2NzUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlOiBudWxsLFxuICAgIGFkYXB0Rm9yU2VhcmNoUGFyYW1zOiBudWxsLFxuICAgIFBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBhZGFwdEZvckFwcFJvdXRlckluc3RhbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkYXB0Rm9yQXBwUm91dGVySW5zdGFuY2U7XG4gICAgfSxcbiAgICBhZGFwdEZvclNlYXJjaFBhcmFtczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGFwdEZvclNlYXJjaFBhcmFtcztcbiAgICB9LFxuICAgIFBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYXRobmFtZUNvbnRleHRQcm92aWRlckFkYXB0ZXI7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2hvb2tzY2xpZW50Y29udGV4dCA9IHJlcXVpcmUoXCIuLi9ob29rcy1jbGllbnQtY29udGV4dFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuZnVuY3Rpb24gYWRhcHRGb3JBcHBSb3V0ZXJJbnN0YW5jZShyb3V0ZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBiYWNrICgpIHtcbiAgICAgICAgICAgIHJvdXRlci5iYWNrKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGZvcndhcmQgKCkge1xuICAgICAgICAgICAgcm91dGVyLmZvcndhcmQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVmcmVzaCAoKSB7XG4gICAgICAgICAgICByb3V0ZXIucmVsb2FkKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHB1c2ggKGhyZWYsIHBhcmFtKSB7XG4gICAgICAgICAgICBsZXQgeyBzY3JvbGwgIH0gPSBwYXJhbSA9PT0gdm9pZCAwID8ge30gOiBwYXJhbTtcbiAgICAgICAgICAgIHZvaWQgcm91dGVyLnB1c2goaHJlZiwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVwbGFjZSAoaHJlZiwgcGFyYW0pIHtcbiAgICAgICAgICAgIGxldCB7IHNjcm9sbCAgfSA9IHBhcmFtID09PSB2b2lkIDAgPyB7fSA6IHBhcmFtO1xuICAgICAgICAgICAgdm9pZCByb3V0ZXIucmVwbGFjZShocmVmLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBwcmVmZXRjaCAoaHJlZikge1xuICAgICAgICAgICAgdm9pZCByb3V0ZXIucHJlZmV0Y2goaHJlZik7XG4gICAgICAgIH1cbiAgICB9O1xufVxuLyoqXG4gKiB0cmFuc2Zvcm1zIHRoZSBQYXJzZWRVcmxRdWVyeSBpbnRvIGEgVVJMU2VhcmNoUGFyYW1zLlxuICpcbiAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnkgdG8gdHJhbnNmb3JtXG4gKiBAcmV0dXJucyBVUkxTZWFyY2hQYXJhbXNcbiAqLyBmdW5jdGlvbiB0cmFuc2Zvcm1RdWVyeShxdWVyeSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocXVlcnkpKXtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhbCBvZiB2YWx1ZSl7XG4gICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChuYW1lLCB2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChuYW1lLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGFkYXB0Rm9yU2VhcmNoUGFyYW1zKHJvdXRlcikge1xuICAgIGlmICghcm91dGVyLmlzUmVhZHkgfHwgIXJvdXRlci5xdWVyeSkge1xuICAgICAgICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtUXVlcnkocm91dGVyLnF1ZXJ5KTtcbn1cbmZ1bmN0aW9uIFBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlcihwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuICwgcm91dGVyICwgLi4ucHJvcHMgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHJlZiA9ICgwLCBfcmVhY3QudXNlUmVmKShwcm9wcy5pc0F1dG9FeHBvcnQpO1xuICAgIGNvbnN0IHZhbHVlID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICAvLyBpc0F1dG9FeHBvcnQgaXMgb25seSBldmVyIGB0cnVlYCBvbiB0aGUgZmlyc3QgcmVuZGVyIGZyb20gdGhlIHNlcnZlcixcbiAgICAgICAgLy8gc28gcmVzZXQgaXQgdG8gYGZhbHNlYCBhZnRlciB3ZSByZWFkIGl0IGZvciB0aGUgZmlyc3QgdGltZSBhcyBgdHJ1ZWAuIElmXG4gICAgICAgIC8vIHdlIGRvbid0IHVzZSB0aGUgdmFsdWUsIHRoZW4gd2UgZG9uJ3QgbmVlZCBpdC5cbiAgICAgICAgY29uc3QgaXNBdXRvRXhwb3J0ID0gcmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmIChpc0F1dG9FeHBvcnQpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gV2hlbiB0aGUgcm91dGUgaXMgYSBkeW5hbWljIHJvdXRlLCB3ZSBuZWVkIHRvIGRvIG1vcmUgcHJvY2Vzc2luZyB0b1xuICAgICAgICAvLyBkZXRlcm1pbmUgaWYgd2UgbmVlZCB0byBzdG9wIHNob3dpbmcgdGhlIHBhdGhuYW1lLlxuICAgICAgICBpZiAoKDAsIF91dGlscy5pc0R5bmFtaWNSb3V0ZSkocm91dGVyLnBhdGhuYW1lKSkge1xuICAgICAgICAgICAgLy8gV2hlbiB0aGUgcm91dGVyIGlzIHJlbmRlcmluZyB0aGUgZmFsbGJhY2sgcGFnZSwgaXQgY2FuJ3QgcG9zc2libHkga25vd1xuICAgICAgICAgICAgLy8gdGhlIHBhdGgsIHNvIHJldHVybiBgbnVsbGAgaGVyZS4gUmVhZCBtb3JlIGFib3V0IGZhbGxiYWNrIHBhZ2VzIG92ZXJcbiAgICAgICAgICAgIC8vIGF0OlxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9kYXRhLWZldGNoaW5nL2dldC1zdGF0aWMtcGF0aHMjZmFsbGJhY2stcGFnZXNcbiAgICAgICAgICAgIGlmIChyb3V0ZXIuaXNGYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gV2hlbiBgaXNBdXRvRXhwb3J0YCBpcyB0cnVlLCBtZWFuaW5nIHRoaXMgaXMgYSBwYWdlIHBhZ2UgaGFzIGJlZW5cbiAgICAgICAgICAgIC8vIGF1dG9tYXRpY2FsbHkgc3RhdGljYWxseSBvcHRpbWl6ZWQsIGFuZCB0aGUgcm91dGVyIGlzIG5vdCByZWFkeSwgdGhlblxuICAgICAgICAgICAgLy8gd2UgY2FuJ3Qga25vdyB0aGUgcGF0aG5hbWUgeWV0LiBSZWFkIG1vcmUgYWJvdXQgYXV0b21hdGljIHN0YXRpY1xuICAgICAgICAgICAgLy8gb3B0aW1pemF0aW9uIGF0OlxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYWR2YW5jZWQtZmVhdHVyZXMvYXV0b21hdGljLXN0YXRpYy1vcHRpbWl6YXRpb25cbiAgICAgICAgICAgIGlmIChpc0F1dG9FeHBvcnQgJiYgIXJvdXRlci5pc1JlYWR5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGByb3V0ZXIuYXNQYXRoYCBjb250YWlucyB0aGUgcGF0aG5hbWUgc2VlbiBieSB0aGUgYnJvd3NlciAoaW5jbHVkaW5nXG4gICAgICAgIC8vIGFueSBxdWVyeSBzdHJpbmdzKSwgc28gaXQgc2hvdWxkIGhhdmUgdGhhdCBzdHJpcHBlZC4gUmVhZCBtb3JlIGFib3V0IHRoZVxuICAgICAgICAvLyBgYXNQYXRoYCBvcHRpb24gb3ZlciBhdDpcbiAgICAgICAgLy8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L3JvdXRlciNyb3V0ZXItb2JqZWN0XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cmwgPSBuZXcgVVJMKHJvdXRlci5hc1BhdGgsIFwiaHR0cDovL2ZcIik7XG4gICAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgIC8vIGZhbGxiYWNrIHRvIC8gZm9yIGludmFsaWQgYXNQYXRoIHZhbHVlcyBlLmcuIC8vXG4gICAgICAgICAgICByZXR1cm4gXCIvXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wYXRobmFtZTtcbiAgICB9LCBbXG4gICAgICAgIHJvdXRlci5hc1BhdGgsXG4gICAgICAgIHJvdXRlci5pc0ZhbGxiYWNrLFxuICAgICAgICByb3V0ZXIuaXNSZWFkeSxcbiAgICAgICAgcm91dGVyLnBhdGhuYW1lXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfaG9va3NjbGllbnRjb250ZXh0LlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICB9LCBjaGlsZHJlbik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkYXB0ZXJzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImFkYXB0Rm9yQXBwUm91dGVySW5zdGFuY2UiLCJhZGFwdEZvclNlYXJjaFBhcmFtcyIsIlBhdGhuYW1lQ29udGV4dFByb3ZpZGVyQWRhcHRlciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsIl9ob29rc2NsaWVudGNvbnRleHQiLCJfdXRpbHMiLCJyb3V0ZXIiLCJiYWNrIiwiZm9yd2FyZCIsInJlZnJlc2giLCJyZWxvYWQiLCJwdXNoIiwiaHJlZiIsInBhcmFtIiwic2Nyb2xsIiwidW5kZWZpbmVkIiwicmVwbGFjZSIsInByZWZldGNoIiwidHJhbnNmb3JtUXVlcnkiLCJxdWVyeSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImVudHJpZXMiLCJBcnJheSIsImlzQXJyYXkiLCJ2YWwiLCJhcHBlbmQiLCJpc1JlYWR5IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsInVzZVJlZiIsImlzQXV0b0V4cG9ydCIsInVzZU1lbW8iLCJjdXJyZW50IiwiaXNEeW5hbWljUm91dGUiLCJwYXRobmFtZSIsImlzRmFsbGJhY2siLCJ1cmwiLCJVUkwiLCJhc1BhdGgiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlBhdGhuYW1lQ29udGV4dCIsIlByb3ZpZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/adapters.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/router.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/router.js ***! - \************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// tslint:disable:no-console\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return Router;\n },\n matchesMiddleware: function() {\n return matchesMiddleware;\n },\n createKey: function() {\n return createKey;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./utils/remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _routeloader = __webpack_require__(/*! ../../../client/route-loader */ \"./node_modules/next/dist/client/route-loader.js\");\nconst _script = __webpack_require__(/*! ../../../client/script */ \"./node_modules/next/dist/client/script.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ../../../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _denormalizepagepath = __webpack_require__(/*! ../page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizelocalepath = __webpack_require__(/*! ../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _mitt = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../mitt */ \"./node_modules/next/dist/shared/lib/mitt.js\"));\nconst _utils = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _isdynamic = __webpack_require__(/*! ./utils/is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _parserelativeurl = __webpack_require__(/*! ./utils/parse-relative-url */ \"./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nconst _resolverewrites = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./utils/resolve-rewrites */ \"?506d\"));\nconst _routematcher = __webpack_require__(/*! ./utils/route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./utils/route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _formaturl = __webpack_require__(/*! ./utils/format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _detectdomainlocale = __webpack_require__(/*! ../../../client/detect-domain-locale */ \"./node_modules/next/dist/client/detect-domain-locale.js\");\nconst _parsepath = __webpack_require__(/*! ./utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst _addlocale = __webpack_require__(/*! ../../../client/add-locale */ \"./node_modules/next/dist/client/add-locale.js\");\nconst _removelocale = __webpack_require__(/*! ../../../client/remove-locale */ \"./node_modules/next/dist/client/remove-locale.js\");\nconst _removebasepath = __webpack_require__(/*! ../../../client/remove-base-path */ \"./node_modules/next/dist/client/remove-base-path.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../client/add-base-path */ \"./node_modules/next/dist/client/add-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst _isapiroute = __webpack_require__(/*! ../../../lib/is-api-route */ \"./node_modules/next/dist/lib/is-api-route.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ./utils/get-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ./utils/format-next-pathname-info */ \"./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _comparestates = __webpack_require__(/*! ./utils/compare-states */ \"./node_modules/next/dist/shared/lib/router/utils/compare-states.js\");\nconst _islocalurl = __webpack_require__(/*! ./utils/is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _isbot = __webpack_require__(/*! ./utils/is-bot */ \"./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _omit = __webpack_require__(/*! ./utils/omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _resolvehref = __webpack_require__(/*! ./utils/resolve-href */ \"./node_modules/next/dist/shared/lib/router/utils/resolve-href.js\");\nconst _interpolateas = __webpack_require__(/*! ./utils/interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ./utils/handle-smooth-scroll */ \"./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nfunction buildCancellationError() {\n return Object.assign(new Error(\"Route Cancelled\"), {\n cancelled: true\n });\n}\nasync function matchesMiddleware(options) {\n const matchers = await Promise.resolve(options.router.pageLoader.getMiddleware());\n if (!matchers) return false;\n const { pathname: asPathname } = (0, _parsepath.parsePath)(options.asPath);\n // remove basePath first since path prefix has to be in the order of `/${basePath}/${locale}`\n const cleanedAs = (0, _hasbasepath.hasBasePath)(asPathname) ? (0, _removebasepath.removeBasePath)(asPathname) : asPathname;\n const asWithBasePathAndLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(cleanedAs, options.locale));\n // Check only path match on client. Matching \"has\" should be done on server\n // where we can access more info such as headers, HttpOnly cookie, etc.\n return matchers.some((m)=>new RegExp(m.regexp).test(asWithBasePathAndLocale));\n}\nfunction stripOrigin(url) {\n const origin = (0, _utils.getLocationOrigin)();\n return url.startsWith(origin) ? url.substring(origin.length) : url;\n}\nfunction prepareUrlAs(router, url, as) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(router, url, true);\n const origin = (0, _utils.getLocationOrigin)();\n const hrefWasAbsolute = resolvedHref.startsWith(origin);\n const asWasAbsolute = resolvedAs && resolvedAs.startsWith(origin);\n resolvedHref = stripOrigin(resolvedHref);\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs;\n const preparedUrl = hrefWasAbsolute ? resolvedHref : (0, _addbasepath.addBasePath)(resolvedHref);\n const preparedAs = as ? stripOrigin((0, _resolvehref.resolveHref)(router, as)) : resolvedAs || resolvedHref;\n return {\n url: preparedUrl,\n as: asWasAbsolute ? preparedAs : (0, _addbasepath.addBasePath)(preparedAs)\n };\n}\nfunction resolveDynamicRoute(pathname, pages) {\n const cleanPathname = (0, _removetrailingslash.removeTrailingSlash)((0, _denormalizepagepath.denormalizePagePath)(pathname));\n if (cleanPathname === \"/404\" || cleanPathname === \"/_error\") {\n return pathname;\n }\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page)=>{\n if ((0, _isdynamic.isDynamicRoute)(page) && (0, _routeregex.getRouteRegex)(page).re.test(cleanPathname)) {\n pathname = page;\n return true;\n }\n });\n }\n return (0, _removetrailingslash.removeTrailingSlash)(pathname);\n}\nfunction getMiddlewareData(source, response, options) {\n const nextConfig = {\n basePath: options.router.basePath,\n i18n: {\n locales: options.router.locales\n },\n trailingSlash: Boolean(false)\n };\n const rewriteHeader = response.headers.get(\"x-nextjs-rewrite\");\n let rewriteTarget = rewriteHeader || response.headers.get(\"x-nextjs-matched-path\");\n const matchedPath = response.headers.get(\"x-matched-path\");\n if (matchedPath && !rewriteTarget && !matchedPath.includes(\"__next_data_catchall\") && !matchedPath.includes(\"/_error\") && !matchedPath.includes(\"/404\")) {\n // leverage x-matched-path to detect next.config.js rewrites\n rewriteTarget = matchedPath;\n }\n if (rewriteTarget) {\n if (rewriteTarget.startsWith(\"/\") || undefined) {\n const parsedRewriteTarget = (0, _parserelativeurl.parseRelativeUrl)(rewriteTarget);\n const pathnameInfo = (0, _getnextpathnameinfo.getNextPathnameInfo)(parsedRewriteTarget.pathname, {\n nextConfig,\n parseData: true\n });\n let fsPathname = (0, _removetrailingslash.removeTrailingSlash)(pathnameInfo.pathname);\n return Promise.all([\n options.router.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)()\n ]).then((param)=>{\n let [pages, { __rewrites: rewrites }] = param;\n let as = (0, _addlocale.addLocale)(pathnameInfo.pathname, pathnameInfo.locale);\n if ((0, _isdynamic.isDynamicRoute)(as) || !rewriteHeader && pages.includes((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(as), options.router.locales).pathname)) {\n const parsedSource = (0, _getnextpathnameinfo.getNextPathnameInfo)((0, _parserelativeurl.parseRelativeUrl)(source).pathname, {\n nextConfig: false ? 0 : nextConfig,\n parseData: true\n });\n as = (0, _addbasepath.addBasePath)(parsedSource.pathname);\n parsedRewriteTarget.pathname = as;\n }\n if (false) {} else if (!pages.includes(fsPathname)) {\n const resolvedPathname = resolveDynamicRoute(fsPathname, pages);\n if (resolvedPathname !== fsPathname) {\n fsPathname = resolvedPathname;\n }\n }\n const resolvedHref = !pages.includes(fsPathname) ? resolveDynamicRoute((0, _normalizelocalepath.normalizeLocalePath)((0, _removebasepath.removeBasePath)(parsedRewriteTarget.pathname), options.router.locales).pathname, pages) : fsPathname;\n if ((0, _isdynamic.isDynamicRoute)(resolvedHref)) {\n const matches = (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(resolvedHref))(as);\n Object.assign(parsedRewriteTarget.query, matches || {});\n }\n return {\n type: \"rewrite\",\n parsedAs: parsedRewriteTarget,\n resolvedHref\n };\n });\n }\n const src = (0, _parsepath.parsePath)(source);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-external\",\n destination: \"\" + pathname + src.query + src.hash\n });\n }\n const redirectTarget = response.headers.get(\"x-nextjs-redirect\");\n if (redirectTarget) {\n if (redirectTarget.startsWith(\"/\")) {\n const src = (0, _parsepath.parsePath)(redirectTarget);\n const pathname = (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n ...(0, _getnextpathnameinfo.getNextPathnameInfo)(src.pathname, {\n nextConfig,\n parseData: true\n }),\n defaultLocale: options.router.defaultLocale,\n buildId: \"\"\n });\n return Promise.resolve({\n type: \"redirect-internal\",\n newAs: \"\" + pathname + src.query + src.hash,\n newUrl: \"\" + pathname + src.query + src.hash\n });\n }\n return Promise.resolve({\n type: \"redirect-external\",\n destination: redirectTarget\n });\n }\n return Promise.resolve({\n type: \"next\"\n });\n}\nasync function withMiddlewareEffects(options) {\n const matches = await matchesMiddleware(options);\n if (!matches || !options.fetchData) {\n return null;\n }\n try {\n const data = await options.fetchData();\n const effect = await getMiddlewareData(data.dataHref, data.response, options);\n return {\n dataHref: data.dataHref,\n json: data.json,\n response: data.response,\n text: data.text,\n cacheKey: data.cacheKey,\n effect\n };\n } catch (e) {\n /**\n * TODO: Revisit this in the future.\n * For now we will not consider middleware data errors to be fatal.\n * maybe we should revisit in the future.\n */ return null;\n }\n}\nconst manualScrollRestoration = false && 0;\nconst SSG_DATA_NOT_FOUND = Symbol(\"SSG_DATA_NOT_FOUND\");\nfunction fetchRetry(url, attempts, options) {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: \"same-origin\",\n method: options.method || \"GET\",\n headers: Object.assign({}, options.headers, {\n \"x-nextjs-data\": \"1\"\n })\n }).then((response)=>{\n return !response.ok && attempts > 1 && response.status >= 500 ? fetchRetry(url, attempts - 1, options) : response;\n });\n}\nfunction tryToParseAsJSON(text) {\n try {\n return JSON.parse(text);\n } catch (error) {\n return null;\n }\n}\nfunction fetchNextData(param) {\n let { dataHref, inflightCache, isPrefetch, hasMiddleware, isServerRender, parseJSON, persistCache, isBackground, unstable_skipClientCache } = param;\n const { href: cacheKey } = new URL(dataHref, window.location.href);\n var _params_method;\n const getData = (params)=>{\n return fetchRetry(dataHref, isServerRender ? 3 : 1, {\n headers: Object.assign({}, isPrefetch ? {\n purpose: \"prefetch\"\n } : {}, isPrefetch && hasMiddleware ? {\n \"x-middleware-prefetch\": \"1\"\n } : {}),\n method: (_params_method = params == null ? void 0 : params.method) != null ? _params_method : \"GET\"\n }).then((response)=>{\n if (response.ok && (params == null ? void 0 : params.method) === \"HEAD\") {\n return {\n dataHref,\n response,\n text: \"\",\n json: {},\n cacheKey\n };\n }\n return response.text().then((text)=>{\n if (!response.ok) {\n /**\n * When the data response is a redirect because of a middleware\n * we do not consider it an error. The headers must bring the\n * mapped location.\n * TODO: Change the status code in the handler.\n */ if (hasMiddleware && [\n 301,\n 302,\n 307,\n 308\n ].includes(response.status)) {\n return {\n dataHref,\n response,\n text,\n json: {},\n cacheKey\n };\n }\n if (response.status === 404) {\n var _tryToParseAsJSON;\n if ((_tryToParseAsJSON = tryToParseAsJSON(text)) == null ? void 0 : _tryToParseAsJSON.notFound) {\n return {\n dataHref,\n json: {\n notFound: SSG_DATA_NOT_FOUND\n },\n response,\n text,\n cacheKey\n };\n }\n }\n const error = new Error(\"Failed to load static props\");\n /**\n * We should only trigger a server-side transition if this was\n * caused on a client-side transition. Otherwise, we'd get into\n * an infinite loop.\n */ if (!isServerRender) {\n (0, _routeloader.markAssetError)(error);\n }\n throw error;\n }\n return {\n dataHref,\n json: parseJSON ? tryToParseAsJSON(text) : null,\n response,\n text,\n cacheKey\n };\n });\n }).then((data)=>{\n if (!persistCache || \"development\" !== \"production\" || 0) {\n delete inflightCache[cacheKey];\n }\n return data;\n }).catch((err)=>{\n if (!unstable_skipClientCache) {\n delete inflightCache[cacheKey];\n }\n if (err.message === \"Failed to fetch\" || // firefox\n err.message === \"NetworkError when attempting to fetch resource.\" || // safari\n err.message === \"Load failed\") {\n (0, _routeloader.markAssetError)(err);\n }\n throw err;\n });\n };\n // when skipping client cache we wait to update\n // inflight cache until successful data response\n // this allows racing click event with fetching newer data\n // without blocking navigation when stale data is available\n if (unstable_skipClientCache && persistCache) {\n return getData({}).then((data)=>{\n inflightCache[cacheKey] = Promise.resolve(data);\n return data;\n });\n }\n if (inflightCache[cacheKey] !== undefined) {\n return inflightCache[cacheKey];\n }\n return inflightCache[cacheKey] = getData(isBackground ? {\n method: \"HEAD\"\n } : {});\n}\nfunction createKey() {\n return Math.random().toString(36).slice(2, 10);\n}\nfunction handleHardNavigation(param) {\n let { url, router } = param;\n // ensure we don't trigger a hard navigation to the same\n // URL as this can end up with an infinite refresh\n if (url === (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(router.asPath, router.locale))) {\n throw new Error(\"Invariant: attempted to hard navigate to the same URL \" + url + \" \" + location.href);\n }\n window.location.href = url;\n}\nconst getCancelledHandler = (param)=>{\n let { route, router } = param;\n let cancelled = false;\n const cancel = router.clc = ()=>{\n cancelled = true;\n };\n const handleCancelled = ()=>{\n if (cancelled) {\n const error = new Error('Abort fetching component for route: \"' + route + '\"');\n error.cancelled = true;\n throw error;\n }\n if (cancel === router.clc) {\n router.clc = null;\n }\n };\n return handleCancelled;\n};\nclass Router {\n reload() {\n window.location.reload();\n }\n /**\n * Go back in history\n */ back() {\n window.history.back();\n }\n /**\n * Go forward in history\n */ forward() {\n window.history.forward();\n }\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ push(url, as, options) {\n if (options === void 0) options = {};\n if (false) {}\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"pushState\", url, as, options);\n }\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */ replace(url, as, options) {\n if (options === void 0) options = {};\n ({ url, as } = prepareUrlAs(this, url, as));\n return this.change(\"replaceState\", url, as, options);\n }\n async _bfl(as, resolvedAs, locale, skipNavigate) {\n if (true) {\n let matchesBflStatic = false;\n let matchesBflDynamic = false;\n for (const curAs of [\n as,\n resolvedAs\n ]){\n if (curAs) {\n const asNoSlash = (0, _removetrailingslash.removeTrailingSlash)(new URL(curAs, \"http://n\").pathname);\n const asNoSlashLocale = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(asNoSlash, locale || this.locale));\n if (asNoSlash !== (0, _removetrailingslash.removeTrailingSlash)(new URL(this.asPath, \"http://n\").pathname)) {\n var _this__bfl_s, _this__bfl_s1;\n matchesBflStatic = matchesBflStatic || !!((_this__bfl_s = this._bfl_s) == null ? void 0 : _this__bfl_s.contains(asNoSlash)) || !!((_this__bfl_s1 = this._bfl_s) == null ? void 0 : _this__bfl_s1.contains(asNoSlashLocale));\n for (const normalizedAS of [\n asNoSlash,\n asNoSlashLocale\n ]){\n // if any sub-path of as matches a dynamic filter path\n // it should be hard navigated\n const curAsParts = normalizedAS.split(\"/\");\n for(let i = 0; !matchesBflDynamic && i < curAsParts.length + 1; i++){\n var _this__bfl_d;\n const currentPart = curAsParts.slice(0, i).join(\"/\");\n if (currentPart && ((_this__bfl_d = this._bfl_d) == null ? void 0 : _this__bfl_d.contains(currentPart))) {\n matchesBflDynamic = true;\n break;\n }\n }\n }\n // if the client router filter is matched then we trigger\n // a hard navigation\n if (matchesBflStatic || matchesBflDynamic) {\n if (skipNavigate) {\n return true;\n }\n handleHardNavigation({\n url: (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, locale || this.locale, this.defaultLocale)),\n router: this\n });\n return new Promise(()=>{});\n }\n }\n }\n }\n }\n return false;\n }\n async change(method, url, as, options, forcedScroll) {\n var _this_components_pathname;\n if (!(0, _islocalurl.isLocalURL)(url)) {\n handleHardNavigation({\n url,\n router: this\n });\n return false;\n }\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n const isQueryUpdating = options._h === 1;\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, undefined, options.locale);\n }\n let shouldResolveHref = isQueryUpdating || options._shouldResolveHref || (0, _parsepath.parsePath)(url).pathname === (0, _parsepath.parsePath)(as).pathname;\n const nextState = {\n ...this.state\n };\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n // or a navigation has occurred\n const readyStateChange = this.isReady !== true;\n this.isReady = true;\n const isSsr = this.isSsr;\n if (!isQueryUpdating) {\n this.isSsr = false;\n }\n // if a route transition is already in progress before\n // the query updating is triggered ignore query updating\n if (isQueryUpdating && this.clc) {\n return false;\n }\n const prevLocale = nextState.locale;\n if (false) { var _this_locales; }\n // marking route changes as a navigation start entry\n if (_utils.ST) {\n performance.mark(\"routeChange\");\n }\n const { shallow = false, scroll = true } = options;\n const routeProps = {\n shallow\n };\n if (this._inFlightRoute && this.clc) {\n if (!isSsr) {\n Router.events.emit(\"routeChangeError\", buildCancellationError(), this._inFlightRoute, routeProps);\n }\n this.clc();\n this.clc = null;\n }\n as = (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, options.locale, this.defaultLocale));\n const cleanedAs = (0, _removelocale.removeLocale)((0, _hasbasepath.hasBasePath)(as) ? (0, _removebasepath.removeBasePath)(as) : as, nextState.locale);\n this._inFlightRoute = as;\n const localeChange = prevLocale !== nextState.locale;\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n if (!isQueryUpdating && this.onlyAHashChange(cleanedAs) && !localeChange) {\n nextState.asPath = cleanedAs;\n Router.events.emit(\"hashChangeStart\", as, routeProps);\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, {\n ...options,\n scroll: false\n });\n if (scroll) {\n this.scrollToHash(cleanedAs);\n }\n try {\n await this.set(nextState, this.components[nextState.route], null);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n Router.events.emit(\"hashChangeComplete\", as, routeProps);\n return true;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n let { pathname, query } = parsed;\n // if we detected the path as app route during prefetching\n // trigger hard navigation\n if ((_this_components_pathname = this.components[pathname]) == null ? void 0 : _this_components_pathname.__appRouter) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages, rewrites;\n try {\n [pages, { __rewrites: rewrites }] = await Promise.all([\n this.pageLoader.getPageList(),\n (0, _routeloader.getClientBuildManifest)(),\n this.pageLoader.getMiddleware()\n ]);\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = \"replaceState\";\n }\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as;\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname ? (0, _removetrailingslash.removeTrailingSlash)((0, _removebasepath.removeBasePath)(pathname)) : pathname;\n let route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n const parsedAsPathname = as.startsWith(\"/\") && (0, _parserelativeurl.parseRelativeUrl)(as).pathname;\n const isMiddlewareRewrite = !!(parsedAsPathname && route !== parsedAsPathname && (!(0, _isdynamic.isDynamicRoute)(route) || !(0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(route))(parsedAsPathname)));\n // we don't attempt resolve asPath when we need to execute\n // middleware as the resolving will occur server-side\n const isMiddlewareMatch = !options.shallow && await matchesMiddleware({\n asPath: as,\n locale: nextState.locale,\n router: this\n });\n if (isQueryUpdating && isMiddlewareMatch) {\n shouldResolveHref = false;\n }\n if (shouldResolveHref && pathname !== \"/_error\") {\n options._shouldResolveHref = true;\n if (false) {} else {\n parsed.pathname = resolveDynamicRoute(pathname, pages);\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname;\n parsed.pathname = (0, _addbasepath.addBasePath)(pathname);\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n }\n }\n if (!(0, _islocalurl.isLocalURL)(as)) {\n if (true) {\n throw new Error('Invalid href: \"' + url + '\" and as: \"' + as + '\", received relative href and external as' + \"\\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as\");\n }\n handleHardNavigation({\n url: as,\n router: this\n });\n return false;\n }\n resolvedAs = (0, _removelocale.removeLocale)((0, _removebasepath.removeBasePath)(resolvedAs), nextState.locale);\n route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n let routeMatch = false;\n if ((0, _isdynamic.isDynamicRoute)(route)) {\n const parsedAs = (0, _parserelativeurl.parseRelativeUrl)(resolvedAs);\n const asPathname = parsedAs.pathname;\n const routeRegex = (0, _routeregex.getRouteRegex)(route);\n routeMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(asPathname);\n const shouldInterpolate = route === asPathname;\n const interpolatedAs = shouldInterpolate ? (0, _interpolateas.interpolateAs)(route, asPathname, query) : {};\n if (!routeMatch || shouldInterpolate && !interpolatedAs.result) {\n const missingParams = Object.keys(routeRegex.groups).filter((param)=>!query[param] && !routeRegex.groups[param].optional);\n if (missingParams.length > 0 && !isMiddlewareMatch) {\n if (true) {\n console.warn(\"\" + (shouldInterpolate ? \"Interpolating href\" : \"Mismatching `as` and `href`\") + \" failed to manually provide \" + (\"the params: \" + missingParams.join(\", \") + \" in the `href`'s `query`\"));\n }\n throw new Error((shouldInterpolate ? \"The provided `href` (\" + url + \") value is missing query values (\" + missingParams.join(\", \") + \") to be interpolated properly. \" : \"The provided `as` value (\" + asPathname + \") is incompatible with the `href` value (\" + route + \"). \") + (\"Read more: https://nextjs.org/docs/messages/\" + (shouldInterpolate ? \"href-interpolation-failed\" : \"incompatible-href-as\")));\n }\n } else if (shouldInterpolate) {\n as = (0, _formaturl.formatWithValidation)(Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: (0, _omit.omit)(query, interpolatedAs.params)\n }));\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch);\n }\n }\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeStart\", as, routeProps);\n }\n const isErrorRoute = this.pathname === \"/404\" || this.pathname === \"/_error\";\n try {\n var _self___NEXT_DATA___props, _self___NEXT_DATA___props_pageProps, _routeInfo_props;\n let routeInfo = await this.getRouteInfo({\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n hasMiddleware: isMiddlewareMatch,\n unstable_skipClientCache: options.unstable_skipClientCache,\n isQueryUpdating: isQueryUpdating && !this.isFallback,\n isMiddlewareRewrite\n });\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, \"resolvedAs\" in routeInfo ? routeInfo.resolvedAs : undefined, nextState.locale);\n }\n if (\"route\" in routeInfo && isMiddlewareMatch) {\n pathname = routeInfo.route || route;\n route = pathname;\n if (!routeProps.shallow) {\n query = Object.assign({}, routeInfo.query || {}, query);\n }\n const cleanedParsedPathname = (0, _hasbasepath.hasBasePath)(parsed.pathname) ? (0, _removebasepath.removeBasePath)(parsed.pathname) : parsed.pathname;\n if (routeMatch && pathname !== cleanedParsedPathname) {\n Object.keys(routeMatch).forEach((key)=>{\n if (routeMatch && query[key] === routeMatch[key]) {\n delete query[key];\n }\n });\n }\n if ((0, _isdynamic.isDynamicRoute)(pathname)) {\n const prefixedAs = !routeProps.shallow && routeInfo.resolvedAs ? routeInfo.resolvedAs : (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(new URL(as, location.href).pathname, nextState.locale), true);\n let rewriteAs = prefixedAs;\n if ((0, _hasbasepath.hasBasePath)(rewriteAs)) {\n rewriteAs = (0, _removebasepath.removeBasePath)(rewriteAs);\n }\n if (false) {}\n const routeRegex = (0, _routeregex.getRouteRegex)(pathname);\n const curRouteMatch = (0, _routematcher.getRouteMatcher)(routeRegex)(new URL(rewriteAs, location.href).pathname);\n if (curRouteMatch) {\n Object.assign(query, curRouteMatch);\n }\n }\n }\n // If the routeInfo brings a redirect we simply apply it.\n if (\"type\" in routeInfo) {\n if (routeInfo.type === \"redirect-internal\") {\n return this.change(method, routeInfo.newUrl, routeInfo.newAs, options);\n } else {\n handleHardNavigation({\n url: routeInfo.destination,\n router: this\n });\n return new Promise(()=>{});\n }\n }\n const component = routeInfo.Component;\n if (component && component.unstable_scriptLoader) {\n const scripts = [].concat(component.unstable_scriptLoader());\n scripts.forEach((script)=>{\n (0, _script.handleClientScriptLoad)(script.props);\n });\n }\n // handle redirect on client-transition\n if ((routeInfo.__N_SSG || routeInfo.__N_SSP) && routeInfo.props) {\n if (routeInfo.props.pageProps && routeInfo.props.pageProps.__N_REDIRECT) {\n // Use the destination from redirect without adding locale\n options.locale = false;\n const destination = routeInfo.props.pageProps.__N_REDIRECT;\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (destination.startsWith(\"/\") && routeInfo.props.pageProps.__N_REDIRECT_BASE_PATH !== false) {\n const parsedHref = (0, _parserelativeurl.parseRelativeUrl)(destination);\n parsedHref.pathname = resolveDynamicRoute(parsedHref.pathname, pages);\n const { url: newUrl, as: newAs } = prepareUrlAs(this, destination, destination);\n return this.change(method, newUrl, newAs, options);\n }\n handleHardNavigation({\n url: destination,\n router: this\n });\n return new Promise(()=>{});\n }\n nextState.isPreview = !!routeInfo.props.__N_PREVIEW;\n // handle SSG data 404\n if (routeInfo.props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute;\n try {\n await this.fetchComponent(\"/404\");\n notFoundRoute = \"/404\";\n } catch (_) {\n notFoundRoute = \"/_error\";\n }\n routeInfo = await this.getRouteInfo({\n route: notFoundRoute,\n pathname: notFoundRoute,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isNotFound: true\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on /404\");\n }\n }\n }\n if (isQueryUpdating && this.pathname === \"/_error\" && ((_self___NEXT_DATA___props = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps = _self___NEXT_DATA___props.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps.statusCode) === 500 && ((_routeInfo_props = routeInfo.props) == null ? void 0 : _routeInfo_props.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n var _routeInfo_route;\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute = options.shallow && nextState.route === ((_routeInfo_route = routeInfo.route) != null ? _routeInfo_route : route);\n var _options_scroll;\n const shouldScroll = (_options_scroll = options.scroll) != null ? _options_scroll : !isQueryUpdating && !isValidShallowRoute;\n const resetScroll = shouldScroll ? {\n x: 0,\n y: 0\n } : null;\n const upcomingScrollState = forcedScroll != null ? forcedScroll : resetScroll;\n // the new state that the router gonna set\n const upcomingRouterState = {\n ...nextState,\n route,\n pathname,\n query,\n asPath: cleanedAs,\n isFallback: false\n };\n // When the page being rendered is the 404 page, we should only update the\n // query parameters. Route changes here might add the basePath when it\n // wasn't originally present. This is also why this block is before the\n // below `changeState` call which updates the browser's history (changing\n // the URL).\n if (isQueryUpdating && isErrorRoute) {\n var _self___NEXT_DATA___props1, _self___NEXT_DATA___props_pageProps1, _routeInfo_props1;\n routeInfo = await this.getRouteInfo({\n route: this.pathname,\n pathname: this.pathname,\n query,\n as,\n resolvedAs,\n routeProps: {\n shallow: false\n },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isQueryUpdating: isQueryUpdating && !this.isFallback\n });\n if (\"type\" in routeInfo) {\n throw new Error(\"Unexpected middleware effect on \" + this.pathname);\n }\n if (this.pathname === \"/_error\" && ((_self___NEXT_DATA___props1 = self.__NEXT_DATA__.props) == null ? void 0 : (_self___NEXT_DATA___props_pageProps1 = _self___NEXT_DATA___props1.pageProps) == null ? void 0 : _self___NEXT_DATA___props_pageProps1.statusCode) === 500 && ((_routeInfo_props1 = routeInfo.props) == null ? void 0 : _routeInfo_props1.pageProps)) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500;\n }\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n Router.events.emit(\"routeChangeError\", err, cleanedAs, routeProps);\n }\n throw err;\n }\n return true;\n }\n Router.events.emit(\"beforeHistoryChange\", as, routeProps);\n this.changeState(method, url, as, options);\n // for query updates we can skip it if the state is unchanged and we don't\n // need to scroll\n // https://github.com/vercel/next.js/issues/37139\n const canSkipUpdating = isQueryUpdating && !upcomingScrollState && !readyStateChange && !localeChange && (0, _comparestates.compareRouterStates)(upcomingRouterState, this.state);\n if (!canSkipUpdating) {\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState);\n } catch (e) {\n if (e.cancelled) routeInfo.error = routeInfo.error || e;\n else throw e;\n }\n if (routeInfo.error) {\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeError\", routeInfo.error, cleanedAs, routeProps);\n }\n throw routeInfo.error;\n }\n if (false) {}\n if (!isQueryUpdating) {\n Router.events.emit(\"routeChangeComplete\", as, routeProps);\n }\n // A hash mark # is the optional last part of a URL\n const hashRegex = /#.+$/;\n if (shouldScroll && hashRegex.test(as)) {\n this.scrollToHash(as);\n }\n }\n return true;\n } catch (err) {\n if ((0, _iserror.default)(err) && err.cancelled) {\n return false;\n }\n throw err;\n }\n }\n changeState(method, url, as, options) {\n if (options === void 0) options = {};\n if (true) {\n if (typeof window.history === \"undefined\") {\n console.error(\"Warning: window.history is not available.\");\n return;\n }\n if (typeof window.history[method] === \"undefined\") {\n console.error(\"Warning: window.history.\" + method + \" is not available\");\n return;\n }\n }\n if (method !== \"pushState\" || (0, _utils.getURL)() !== as) {\n this._shallow = options.shallow;\n window.history[method]({\n url,\n as,\n options,\n __N: true,\n key: this._key = method !== \"pushState\" ? this._key : createKey()\n }, // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n \"\", as);\n }\n }\n async handleRouteInfoError(err, pathname, query, as, routeProps, loadErrorFail) {\n console.error(err);\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err;\n }\n if ((0, _routeloader.isAssetError)(err) || loadErrorFail) {\n Router.events.emit(\"routeChangeError\", err, as, routeProps);\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n // So, doing a hard reload is the proper way to deal with this.\n handleHardNavigation({\n url: as,\n router: this\n });\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError();\n }\n try {\n let props;\n const { page: Component, styleSheets } = await this.fetchComponent(\"/_error\");\n const routeInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err\n };\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query\n });\n } catch (gipErr) {\n console.error(\"Error in error page `getInitialProps`: \", gipErr);\n routeInfo.props = {};\n }\n }\n return routeInfo;\n } catch (routeInfoErr) {\n return this.handleRouteInfoError((0, _iserror.default)(routeInfoErr) ? routeInfoErr : new Error(routeInfoErr + \"\"), pathname, query, as, routeProps, true);\n }\n }\n async getRouteInfo(param) {\n let { route: requestedRoute, pathname, query, as, resolvedAs, routeProps, locale, hasMiddleware, isPreview, unstable_skipClientCache, isQueryUpdating, isMiddlewareRewrite, isNotFound } = param;\n /**\n * This `route` binding can change if there's a rewrite\n * so we keep a reference to the original requested route\n * so we can store the cache for it and avoid re-requesting every time\n * for shallow routing purposes.\n */ let route = requestedRoute;\n try {\n var _data_effect, _data_effect1, _data_effect2, _data_response;\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n let existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route) {\n return existingInfo;\n }\n if (hasMiddleware) {\n existingInfo = undefined;\n }\n let cachedRouteInfo = existingInfo && !(\"initial\" in existingInfo) && \"development\" !== \"development\" ? 0 : undefined;\n const isBackground = isQueryUpdating;\n const fetchNextDataParams = {\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n skipInterpolation: true,\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: isBackground ? this.sbc : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache,\n isBackground\n };\n let data = isQueryUpdating && !isMiddlewareRewrite ? null : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData(fetchNextDataParams),\n asPath: isNotFound ? \"/404\" : resolvedAs,\n locale: locale,\n router: this\n }).catch((err)=>{\n // we don't hard error during query updating\n // as it's un-necessary and doesn't need to be fatal\n // unless it is a fallback route and the props can't\n // be loaded\n if (isQueryUpdating) {\n return null;\n }\n throw err;\n });\n // when rendering error routes we don't apply middleware\n // effects\n if (data && (pathname === \"/_error\" || pathname === \"/404\")) {\n data.effect = undefined;\n }\n if (isQueryUpdating) {\n if (!data) {\n data = {\n json: self.__NEXT_DATA__.props\n };\n } else {\n data.json = self.__NEXT_DATA__.props;\n }\n }\n handleCancelled();\n if ((data == null ? void 0 : (_data_effect = data.effect) == null ? void 0 : _data_effect.type) === \"redirect-internal\" || (data == null ? void 0 : (_data_effect1 = data.effect) == null ? void 0 : _data_effect1.type) === \"redirect-external\") {\n return data.effect;\n }\n if ((data == null ? void 0 : (_data_effect2 = data.effect) == null ? void 0 : _data_effect2.type) === \"rewrite\") {\n const resolvedRoute = (0, _removetrailingslash.removeTrailingSlash)(data.effect.resolvedHref);\n const pages = await this.pageLoader.getPageList();\n // during query updating the page must match although during\n // client-transition a redirect that doesn't match a page\n // can be returned and this should trigger a hard navigation\n // which is valid for incremental migration\n if (!isQueryUpdating || pages.includes(resolvedRoute)) {\n route = resolvedRoute;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = (0, _removebasepath.removeBasePath)((0, _normalizelocalepath.normalizeLocalePath)(data.effect.parsedAs.pathname, this.locales).pathname);\n // Check again the cache with the new destination.\n existingInfo = this.components[route];\n if (routeProps.shallow && existingInfo && this.route === route && !hasMiddleware) {\n // If we have a match with the current route due to rewrite,\n // we can copy the existing information to the rewritten one.\n // Then, we return the information along with the matched route.\n return {\n ...existingInfo,\n route\n };\n }\n }\n }\n if ((0, _isapiroute.isAPIRoute)(route)) {\n handleHardNavigation({\n url: as,\n router: this\n });\n return new Promise(()=>{});\n }\n const routeInfo = cachedRouteInfo || await this.fetchComponent(route).then((res)=>({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP\n }));\n if (true) {\n const { isValidElementType } = __webpack_require__(/*! next/dist/compiled/react-is */ \"./node_modules/next/dist/compiled/react-is/index.js\");\n if (!isValidElementType(routeInfo.Component)) {\n throw new Error('The default export is not a React Component in page: \"' + pathname + '\"');\n }\n }\n const wasBailedPrefetch = data == null ? void 0 : (_data_response = data.response) == null ? void 0 : _data_response.headers.get(\"x-middleware-skip\");\n const shouldFetchData = routeInfo.__N_SSG || routeInfo.__N_SSP;\n // For non-SSG prefetches that bailed before sending data\n // we clear the cache to fetch full response\n if (wasBailedPrefetch && (data == null ? void 0 : data.dataHref)) {\n delete this.sdc[data.dataHref];\n }\n const { props, cacheKey } = await this._getData(async ()=>{\n if (shouldFetchData) {\n if ((data == null ? void 0 : data.json) && !wasBailedPrefetch) {\n return {\n cacheKey: data.cacheKey,\n props: data.json\n };\n }\n const dataHref = (data == null ? void 0 : data.dataHref) ? data.dataHref : this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname,\n query\n }),\n asPath: resolvedAs,\n locale\n });\n const fetched = await fetchNextData({\n dataHref,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: wasBailedPrefetch ? {} : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache\n });\n return {\n cacheKey: fetched.cacheKey,\n props: fetched.json || {}\n };\n }\n return {\n headers: {},\n props: await this.getInitialProps(routeInfo.Component, {\n pathname,\n query,\n asPath: as,\n locale,\n locales: this.locales,\n defaultLocale: this.defaultLocale\n })\n };\n });\n // Only bust the data cache for SSP routes although\n // middleware can skip cache per request with\n // x-middleware-cache: no-cache as well\n if (routeInfo.__N_SSP && fetchNextDataParams.dataHref && cacheKey) {\n delete this.sdc[cacheKey];\n }\n // we kick off a HEAD request in the background\n // when a non-prefetch request is made to signal revalidation\n if (!this.isPreview && routeInfo.__N_SSG && \"development\" !== \"development\" && 0) {}\n props.pageProps = Object.assign({}, props.pageProps);\n routeInfo.props = props;\n routeInfo.route = route;\n routeInfo.query = query;\n routeInfo.resolvedAs = resolvedAs;\n this.components[route] = routeInfo;\n return routeInfo;\n } catch (err) {\n return this.handleRouteInfoError((0, _iserror.getProperError)(err), pathname, query, as, routeProps);\n }\n }\n set(state, data, resetScroll) {\n this.state = state;\n return this.sub(data, this.components[\"/_app\"].Component, resetScroll);\n }\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */ beforePopState(cb) {\n this._bps = cb;\n }\n onlyAHashChange(as) {\n if (!this.asPath) return false;\n const [oldUrlNoHash, oldHash] = this.asPath.split(\"#\");\n const [newUrlNoHash, newHash] = as.split(\"#\");\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true;\n }\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false;\n }\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash;\n }\n scrollToHash(as) {\n const [, hash = \"\"] = as.split(\"#\");\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === \"\" || hash === \"top\") {\n window.scrollTo(0, 0);\n return;\n }\n // Decode hash to make non-latin anchor works.\n const rawHash = decodeURIComponent(hash);\n // First we check if the element by id is found\n const idEl = document.getElementById(rawHash);\n if (idEl) {\n idEl.scrollIntoView();\n return;\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(rawHash)[0];\n if (nameEl) {\n nameEl.scrollIntoView();\n }\n }, {\n onlyHashChange: this.onlyAHashChange(as)\n });\n }\n urlIsNew(asPath) {\n return this.asPath !== asPath;\n }\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */ async prefetch(url, asPath, options) {\n if (asPath === void 0) asPath = url;\n if (options === void 0) options = {};\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (true) {\n return;\n }\n if ( true && (0, _isbot.isBot)(window.navigator.userAgent)) {\n // No prefetches for bots that render the link since they are typically navigating\n // links via the equivalent of a hard navigation and hence never utilize these\n // prefetches.\n return;\n }\n let parsed = (0, _parserelativeurl.parseRelativeUrl)(url);\n const urlPathname = parsed.pathname;\n let { pathname, query } = parsed;\n const originalPathname = pathname;\n if (false) {}\n const pages = await this.pageLoader.getPageList();\n let resolvedAs = asPath;\n const locale = typeof options.locale !== \"undefined\" ? options.locale || undefined : this.locale;\n const isMiddlewareMatch = await matchesMiddleware({\n asPath: asPath,\n locale: locale,\n router: this\n });\n if (false) {}\n parsed.pathname = resolveDynamicRoute(parsed.pathname, pages);\n if ((0, _isdynamic.isDynamicRoute)(parsed.pathname)) {\n pathname = parsed.pathname;\n parsed.pathname = pathname;\n Object.assign(query, (0, _routematcher.getRouteMatcher)((0, _routeregex.getRouteRegex)(parsed.pathname))((0, _parsepath.parsePath)(asPath).pathname) || {});\n if (!isMiddlewareMatch) {\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n }\n const data = false ? 0 : await withMiddlewareEffects({\n fetchData: ()=>fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: (0, _formaturl.formatWithValidation)({\n pathname: originalPathname,\n query\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true\n }),\n asPath: asPath,\n locale: locale,\n router: this\n });\n /**\n * If there was a rewrite we apply the effects of the rewrite on the\n * current parameters for the prefetch.\n */ if ((data == null ? void 0 : data.effect.type) === \"rewrite\") {\n parsed.pathname = data.effect.resolvedHref;\n pathname = data.effect.resolvedHref;\n query = {\n ...query,\n ...data.effect.parsedAs.query\n };\n resolvedAs = data.effect.parsedAs.pathname;\n url = (0, _formaturl.formatWithValidation)(parsed);\n }\n /**\n * If there is a redirect to an external destination then we don't have\n * to prefetch content as it will be unused.\n */ if ((data == null ? void 0 : data.effect.type) === \"redirect-external\") {\n return;\n }\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n if (await this._bfl(asPath, resolvedAs, options.locale, true)) {\n this.components[urlPathname] = {\n __appRouter: true\n };\n }\n await Promise.all([\n this.pageLoader._isSsg(route).then((isSsg)=>{\n return isSsg ? fetchNextData({\n dataHref: (data == null ? void 0 : data.json) ? data == null ? void 0 : data.dataHref : this.pageLoader.getDataHref({\n href: url,\n asPath: resolvedAs,\n locale: locale\n }),\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n unstable_skipClientCache: options.unstable_skipClientCache || options.priority && !!true\n }).then(()=>false).catch(()=>false) : false;\n }),\n this.pageLoader[options.priority ? \"loadPage\" : \"prefetch\"](route)\n ]);\n }\n async fetchComponent(route) {\n const handleCancelled = getCancelledHandler({\n route,\n router: this\n });\n try {\n const componentResult = await this.pageLoader.loadPage(route);\n handleCancelled();\n return componentResult;\n } catch (err) {\n handleCancelled();\n throw err;\n }\n }\n _getData(fn) {\n let cancelled = false;\n const cancel = ()=>{\n cancelled = true;\n };\n this.clc = cancel;\n return fn().then((data)=>{\n if (cancel === this.clc) {\n this.clc = null;\n }\n if (cancelled) {\n const err = new Error(\"Loading initial props cancelled\");\n err.cancelled = true;\n throw err;\n }\n return data;\n });\n }\n _getFlightData(dataHref) {\n // Do not cache RSC flight response since it's not a static resource\n return fetchNextData({\n dataHref,\n isServerRender: true,\n parseJSON: false,\n inflightCache: this.sdc,\n persistCache: false,\n isPrefetch: false\n }).then((param)=>{\n let { text } = param;\n return {\n data: text\n };\n });\n }\n getInitialProps(Component, ctx) {\n const { Component: App } = this.components[\"/_app\"];\n const AppTree = this._wrapApp(App);\n ctx.AppTree = AppTree;\n return (0, _utils.loadGetInitialProps)(App, {\n AppTree,\n Component,\n router: this,\n ctx\n });\n }\n get route() {\n return this.state.route;\n }\n get pathname() {\n return this.state.pathname;\n }\n get query() {\n return this.state.query;\n }\n get asPath() {\n return this.state.asPath;\n }\n get locale() {\n return this.state.locale;\n }\n get isFallback() {\n return this.state.isFallback;\n }\n get isPreview() {\n return this.state.isPreview;\n }\n constructor(pathname, query, as, { initialProps, pageLoader, App, wrapApp, Component, err, subscription, isFallback, locale, locales, defaultLocale, domainLocales, isPreview }){\n // Server Data Cache (full data requests)\n this.sdc = {};\n // Server Background Cache (HEAD requests)\n this.sbc = {};\n this.isFirstPopStateEvent = true;\n this._key = createKey();\n this.onPopState = (e)=>{\n const { isFirstPopStateEvent } = this;\n this.isFirstPopStateEvent = false;\n const state = e.state;\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this;\n this.changeState(\"replaceState\", (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), (0, _utils.getURL)());\n return;\n }\n // __NA is used to identify if the history entry can be handled by the app-router.\n if (state.__NA) {\n window.location.reload();\n return;\n }\n if (!state.__N) {\n return;\n }\n // Safari fires popstateevent when reopening the browser.\n if (isFirstPopStateEvent && this.locale === state.options.locale && state.as === this.asPath) {\n return;\n }\n let forcedScroll;\n const { url, as, options, key } = state;\n if (false) {}\n this._key = key;\n const { pathname } = (0, _parserelativeurl.parseRelativeUrl)(url);\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (this.isSsr && as === (0, _addbasepath.addBasePath)(this.asPath) && pathname === (0, _addbasepath.addBasePath)(this.pathname)) {\n return;\n }\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return;\n }\n this.change(\"replaceState\", url, as, Object.assign({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n // @ts-ignore internal value not exposed on types\n _h: 0\n }), forcedScroll);\n };\n // represents the current component key\n const route = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n // set up the component cache (by route keys)\n this.components = {};\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== \"/_error\") {\n this.components[route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP\n };\n }\n this.components[\"/_app\"] = {\n Component: App,\n styleSheets: []\n };\n if (true) {\n const { BloomFilter } = __webpack_require__(/*! ../../lib/bloom-filter */ \"./node_modules/next/dist/shared/lib/bloom-filter.js\");\n const staticFilterData = {\"numItems\":0,\"errorRate\":0.01,\"numBits\":0,\"numHashes\":null,\"bitArray\":[]};\n const dynamicFilterData = {\"numItems\":0,\"errorRate\":0.01,\"numBits\":0,\"numHashes\":null,\"bitArray\":[]};\n if (staticFilterData == null ? void 0 : staticFilterData.numHashes) {\n this._bfl_s = new BloomFilter(staticFilterData.numItems, staticFilterData.errorRate);\n this._bfl_s.import(staticFilterData);\n }\n if (dynamicFilterData == null ? void 0 : dynamicFilterData.numHashes) {\n this._bfl_d = new BloomFilter(dynamicFilterData.numItems, dynamicFilterData.errorRate);\n this._bfl_d.import(dynamicFilterData);\n }\n }\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events;\n this.pageLoader = pageLoader;\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic = (0, _isdynamic.isDynamicRoute)(pathname) && self.__NEXT_DATA__.autoExport;\n this.basePath = false || \"\";\n this.sub = subscription;\n this.clc = null;\n this._wrapApp = wrapApp;\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true;\n this.isLocaleDomain = false;\n this.isReady = !!(self.__NEXT_DATA__.gssp || self.__NEXT_DATA__.gip || self.__NEXT_DATA__.appGip && !self.__NEXT_DATA__.gsp || !autoExportDynamic && !self.location.search && !false);\n if (false) {}\n this.state = {\n route,\n pathname,\n query,\n asPath: autoExportDynamic ? pathname : as,\n isPreview: !!isPreview,\n locale: false ? 0 : undefined,\n isFallback\n };\n this._initialMatchesMiddlewarePromise = Promise.resolve(false);\n if (true) {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (!as.startsWith(\"//\")) {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n const options = {\n locale\n };\n const asPath = (0, _utils.getURL)();\n this._initialMatchesMiddlewarePromise = matchesMiddleware({\n router: this,\n locale,\n asPath\n }).then((matches)=>{\n options._shouldResolveHref = as !== pathname;\n this.changeState(\"replaceState\", matches ? asPath : (0, _formaturl.formatWithValidation)({\n pathname: (0, _addbasepath.addBasePath)(pathname),\n query\n }), asPath, options);\n return matches;\n });\n }\n window.addEventListener(\"popstate\", this.onPopState);\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (false) {}\n }\n }\n}\n(()=>{\n Router.events = (0, _mitt.default)();\n})(); //# sourceMappingURL=router.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3JvdXRlci5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDZjtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsU0FBUztRQUNMLE9BQU9TO0lBQ1g7SUFDQVIsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVEsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyw4R0FBMEM7QUFDcEYsTUFBTUUsdUJBQXVCRixtQkFBT0EsQ0FBQyxnSEFBK0I7QUFDcEUsTUFBTUcsZUFBZUgsbUJBQU9BLENBQUMscUZBQThCO0FBQzNELE1BQU1JLFVBQVVKLG1CQUFPQSxDQUFDLHlFQUF3QjtBQUNoRCxNQUFNSyxXQUFXLFdBQVcsR0FBR0osMEJBQTBCSyxDQUFDLENBQUNOLG1CQUFPQSxDQUFDLHVFQUF1QjtBQUMxRixNQUFNTyx1QkFBdUJQLG1CQUFPQSxDQUFDLGtIQUFvQztBQUN6RSxNQUFNUSx1QkFBdUJSLG1CQUFPQSxDQUFDLHdHQUErQjtBQUNwRSxNQUFNUyxRQUFRLFdBQVcsR0FBR1YseUJBQXlCTyxDQUFDLENBQUNOLG1CQUFPQSxDQUFDLDREQUFTO0FBQ3hFLE1BQU1VLFNBQVNWLG1CQUFPQSxDQUFDLDhEQUFVO0FBQ2pDLE1BQU1XLGFBQWFYLG1CQUFPQSxDQUFDLDBGQUFvQjtBQUMvQyxNQUFNWSxvQkFB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QyxHQUFHdFosUUFBUUMsT0FBTyxDQUFDO1FBQ3hELElBQUksSUFBNkIsRUFBRTtZQUMvQixrRUFBa0U7WUFDbEUsNENBQTRDO1lBQzVDLElBQUksQ0FBQzRCLEdBQUdKLFVBQVUsQ0FBQyxPQUFPO2dCQUN0QiwyREFBMkQ7Z0JBQzNELDREQUE0RDtnQkFDNUQsTUFBTTNCLFVBQVU7b0JBQ1ppQjtnQkFDSjtnQkFDQSxNQUFNUCxTQUFTLENBQUMsR0FBR3RDLE9BQU9vVixNQUFNO2dCQUNoQyxJQUFJLENBQUNnRyxnQ0FBZ0MsR0FBR3hjLGtCQUFrQjtvQkFDdERvRCxRQUFRLElBQUk7b0JBQ1phO29CQUNBUDtnQkFDSixHQUFHZ0UsSUFBSSxDQUFDLENBQUNjO29CQUNMeEYsUUFBUTJNLGtCQUFrQixHQUFHNUssT0FBT3hCO29CQUNwQyxJQUFJLENBQUNvTyxXQUFXLENBQUMsZ0JBQWdCbkosVUFBVTlFLFNBQVMsQ0FBQyxHQUFHaEMsV0FBVzJPLG9CQUFvQixFQUFFO3dCQUNyRjlNLFVBQVUsQ0FBQyxHQUFHdkIsYUFBYStCLFdBQVcsRUFBRVI7d0JBQ3hDNEU7b0JBQ0osSUFBSXpFLFFBQVFWO29CQUNaLE9BQU93RjtnQkFDWDtZQUNKO1lBQ0F1QixPQUFPMFMsZ0JBQWdCLENBQUMsWUFBWSxJQUFJLENBQUN0QixVQUFVO1lBQ25ELDJEQUEyRDtZQUMzRCxtREFBbUQ7WUFDbkQsSUFBSXpVLEtBQXFDLEVBQUUsRUFJMUM7UUFDTDtJQUNKO0FBQ0o7QUFDQztJQUNHbEcsT0FBTzhRLE1BQU0sR0FBRyxDQUFDLEdBQUduUSxNQUFNcEIsT0FBTztBQUNyQyxNQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3JvdXRlci5qcz84Njg0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLWNvbnNvbGVcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBtYXRjaGVzTWlkZGxld2FyZTogbnVsbCxcbiAgICBjcmVhdGVLZXk6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSb3V0ZXI7XG4gICAgfSxcbiAgICBtYXRjaGVzTWlkZGxld2FyZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXRjaGVzTWlkZGxld2FyZTtcbiAgICB9LFxuICAgIGNyZWF0ZUtleTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVLZXk7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3JlbW92ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi91dGlscy9yZW1vdmUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBfcm91dGVsb2FkZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L3JvdXRlLWxvYWRlclwiKTtcbmNvbnN0IF9zY3JpcHQgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L3NjcmlwdFwiKTtcbmNvbnN0IF9pc2Vycm9yID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcIi4uLy4uLy4uL2xpYi9pcy1lcnJvclwiKSk7XG5jb25zdCBfZGVub3JtYWxpemVwYWdlcGF0aCA9IHJlcXVpcmUoXCIuLi9wYWdlLXBhdGgvZGVub3JtYWxpemUtcGFnZS1wYXRoXCIpO1xuY29uc3QgX25vcm1hbGl6ZWxvY2FsZXBhdGggPSByZXF1aXJlKFwiLi4vaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGhcIik7XG5jb25zdCBfbWl0dCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4uL21pdHRcIikpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3V0aWxzXCIpO1xuY29uc3QgX2lzZHluYW1pYyA9IHJlcXVpcmUoXCIuL3V0aWxzL2lzLWR5bmFtaWNcIik7XG5jb25zdCBfcGFyc2VyZWxhdGl2ZXVybCA9IHJlcXVpcmUoXCIuL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybFwiKTtcbmNvbnN0IF9yZXNvbHZlcmV3cml0ZXMgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL3V0aWxzL3Jlc29sdmUtcmV3cml0ZXNcIikpO1xuY29uc3QgX3JvdXRlbWF0Y2hlciA9IHJlcXVpcmUoXCIuL3V0aWxzL3JvdXRlLW1hdGNoZXJcIik7XG5jb25zdCBfcm91dGVyZWdleCA9IHJlcXVpcmUoXCIuL3V0aWxzL3JvdXRlLXJlZ2V4XCIpO1xuY29uc3QgX2Zvcm1hdHVybCA9IHJlcXVpcmUoXCIuL3V0aWxzL2Zvcm1hdC11cmxcIik7XG5jb25zdCBfZGV0ZWN0ZG9tYWlubG9jYWxlID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZVwiKTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi91dGlscy9wYXJzZS1wYXRoXCIpO1xuY29uc3QgX2FkZGxvY2FsZSA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jbGllbnQvYWRkLWxvY2FsZVwiKTtcbmNvbnN0IF9yZW1vdmVsb2NhbGUgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L3JlbW92ZS1sb2NhbGVcIik7XG5jb25zdCBfcmVtb3ZlYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L3JlbW92ZS1iYXNlLXBhdGhcIik7XG5jb25zdCBfYWRkYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L2FkZC1iYXNlLXBhdGhcIik7XG5jb25zdCBfaGFzYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L2hhcy1iYXNlLXBhdGhcIik7XG5jb25zdCBfaXNhcGlyb3V0ZSA9IHJlcXVpcmUoXCIuLi8uLi8uLi9saWIvaXMtYXBpLXJvdXRlXCIpO1xuY29uc3QgX2dldG5leHRwYXRobmFtZWluZm8gPSByZXF1aXJlKFwiLi91dGlscy9nZXQtbmV4dC1wYXRobmFtZS1pbmZvXCIpO1xuY29uc3QgX2Zvcm1hdG5leHRwYXRobmFtZWluZm8gPSByZXF1aXJlKFwiLi91dGlscy9mb3JtYXQtbmV4dC1wYXRobmFtZS1pbmZvXCIpO1xuY29uc3QgX2NvbXBhcmVzdGF0ZXMgPSByZXF1aXJlKFwiLi91dGlscy9jb21wYXJlLXN0YXRlc1wiKTtcbmNvbnN0IF9pc2xvY2FsdXJsID0gcmVxdWlyZShcIi4vdXRpbHMvaXMtbG9jYWwtdXJsXCIpO1xuY29uc3QgX2lzYm90ID0gcmVxdWlyZShcIi4vdXRpbHMvaXMtYm90XCIpO1xuY29uc3QgX29taXQgPSByZXF1aXJlKFwiLi91dGlscy9vbWl0XCIpO1xuY29uc3QgX3Jlc29sdmVocmVmID0gcmVxdWlyZShcIi4vdXRpbHMvcmVzb2x2ZS1ocmVmXCIpO1xuY29uc3QgX2ludGVycG9sYXRlYXMgPSByZXF1aXJlKFwiLi91dGlscy9pbnRlcnBvbGF0ZS1hc1wiKTtcbmNvbnN0IF9oYW5kbGVzbW9vdGhzY3JvbGwgPSByZXF1aXJlKFwiLi91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbFwiKTtcbmZ1bmN0aW9uIGJ1aWxkQ2FuY2VsbGF0aW9uRXJyb3IoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IEVycm9yKFwiUm91dGUgQ2FuY2VsbGVkXCIpLCB7XG4gICAgICAgIGNhbmNlbGxlZDogdHJ1ZVxuICAgIH0pO1xufVxuYXN5bmMgZnVuY3Rpb24gbWF0Y2hlc01pZGRsZXdhcmUob3B0aW9ucykge1xuICAgIGNvbnN0IG1hdGNoZXJzID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKG9wdGlvbnMucm91dGVyLnBhZ2VMb2FkZXIuZ2V0TWlkZGxld2FyZSgpKTtcbiAgICBpZiAoIW1hdGNoZXJzKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgeyBwYXRobmFtZTogYXNQYXRobmFtZSAgfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkob3B0aW9ucy5hc1BhdGgpO1xuICAgIC8vIHJlbW92ZSBiYXNlUGF0aCBmaXJzdCBzaW5jZSBwYXRoIHByZWZpeCBoYXMgdG8gYmUgaW4gdGhlIG9yZGVyIG9mIGAvJHtiYXNlUGF0aH0vJHtsb2NhbGV9YFxuICAgIGNvbnN0IGNsZWFuZWRBcyA9ICgwLCBfaGFzYmFzZXBhdGguaGFzQmFzZVBhdGgpKGFzUGF0aG5hbWUpID8gKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkoYXNQYXRobmFtZSkgOiBhc1BhdGhuYW1lO1xuICAgIGNvbnN0IGFzV2l0aEJhc2VQYXRoQW5kTG9jYWxlID0gKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShjbGVhbmVkQXMsIG9wdGlvbnMubG9jYWxlKSk7XG4gICAgLy8gQ2hlY2sgb25seSBwYXRoIG1hdGNoIG9uIGNsaWVudC4gTWF0Y2hpbmcgXCJoYXNcIiBzaG91bGQgYmUgZG9uZSBvbiBzZXJ2ZXJcbiAgICAvLyB3aGVyZSB3ZSBjYW4gYWNjZXNzIG1vcmUgaW5mbyBzdWNoIGFzIGhlYWRlcnMsIEh0dHBPbmx5IGNvb2tpZSwgZXRjLlxuICAgIHJldHVybiBtYXRjaGVycy5zb21lKChtKT0+bmV3IFJlZ0V4cChtLnJlZ2V4cCkudGVzdChhc1dpdGhCYXNlUGF0aEFuZExvY2FsZSkpO1xufVxuZnVuY3Rpb24gc3RyaXBPcmlnaW4odXJsKSB7XG4gICAgY29uc3Qgb3JpZ2luID0gKDAsIF91dGlscy5nZXRMb2NhdGlvbk9yaWdpbikoKTtcbiAgICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgob3JpZ2luKSA/IHVybC5zdWJzdHJpbmcob3JpZ2luLmxlbmd0aCkgOiB1cmw7XG59XG5mdW5jdGlvbiBwcmVwYXJlVXJsQXMocm91dGVyLCB1cmwsIGFzKSB7XG4gICAgLy8gSWYgdXJsIGFuZCBhcyBwcm92aWRlZCBhcyBhbiBvYmplY3QgcmVwcmVzZW50YXRpb24sXG4gICAgLy8gd2UnbGwgZm9ybWF0IHRoZW0gaW50byB0aGUgc3RyaW5nIHZlcnNpb24gaGVyZS5cbiAgICBsZXQgW3Jlc29sdmVkSHJlZiwgcmVzb2x2ZWRBc10gPSAoMCwgX3Jlc29sdmVocmVmLnJlc29sdmVIcmVmKShyb3V0ZXIsIHVybCwgdHJ1ZSk7XG4gICAgY29uc3Qgb3JpZ2luID0gKDAsIF91dGlscy5nZXRMb2NhdGlvbk9yaWdpbikoKTtcbiAgICBjb25zdCBocmVmV2FzQWJzb2x1dGUgPSByZXNvbHZlZEhyZWYuc3RhcnRzV2l0aChvcmlnaW4pO1xuICAgIGNvbnN0IGFzV2FzQWJzb2x1dGUgPSByZXNvbHZlZEFzICYmIHJlc29sdmVkQXMuc3RhcnRzV2l0aChvcmlnaW4pO1xuICAgIHJlc29sdmVkSHJlZiA9IHN0cmlwT3JpZ2luKHJlc29sdmVkSHJlZik7XG4gICAgcmVzb2x2ZWRBcyA9IHJlc29sdmVkQXMgPyBzdHJpcE9yaWdpbihyZXNvbHZlZEFzKSA6IHJlc29sdmVkQXM7XG4gICAgY29uc3QgcHJlcGFyZWRVcmwgPSBocmVmV2FzQWJzb2x1dGUgPyByZXNvbHZlZEhyZWYgOiAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShyZXNvbHZlZEhyZWYpO1xuICAgIGNvbnN0IHByZXBhcmVkQXMgPSBhcyA/IHN0cmlwT3JpZ2luKCgwLCBfcmVzb2x2ZWhyZWYucmVzb2x2ZUhyZWYpKHJvdXRlciwgYXMpKSA6IHJlc29sdmVkQXMgfHwgcmVzb2x2ZWRIcmVmO1xuICAgIHJldHVybiB7XG4gICAgICAgIHVybDogcHJlcGFyZWRVcmwsXG4gICAgICAgIGFzOiBhc1dhc0Fic29sdXRlID8gcHJlcGFyZWRBcyA6ICgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKHByZXBhcmVkQXMpXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVEeW5hbWljUm91dGUocGF0aG5hbWUsIHBhZ2VzKSB7XG4gICAgY29uc3QgY2xlYW5QYXRobmFtZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKSgoMCwgX2Rlbm9ybWFsaXplcGFnZXBhdGguZGVub3JtYWxpemVQYWdlUGF0aCkocGF0aG5hbWUpKTtcbiAgICBpZiAoY2xlYW5QYXRobmFtZSA9PT0gXCIvNDA0XCIgfHwgY2xlYW5QYXRobmFtZSA9PT0gXCIvX2Vycm9yXCIpIHtcbiAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgIH1cbiAgICAvLyBoYW5kbGUgcmVzb2x2aW5nIGhyZWYgZm9yIGR5bmFtaWMgcm91dGVzXG4gICAgaWYgKCFwYWdlcy5pbmNsdWRlcyhjbGVhblBhdGhuYW1lKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyYXktY2FsbGJhY2stcmV0dXJuXG4gICAgICAgIHBhZ2VzLnNvbWUoKHBhZ2UpPT57XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2R5bmFtaWMuaXNEeW5hbWljUm91dGUpKHBhZ2UpICYmICgwLCBfcm91dGVyZWdleC5nZXRSb3V0ZVJlZ2V4KShwYWdlKS5yZS50ZXN0KGNsZWFuUGF0aG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSBwYWdlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG59XG5mdW5jdGlvbiBnZXRNaWRkbGV3YXJlRGF0YShzb3VyY2UsIHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgY29uc3QgbmV4dENvbmZpZyA9IHtcbiAgICAgICAgYmFzZVBhdGg6IG9wdGlvbnMucm91dGVyLmJhc2VQYXRoLFxuICAgICAgICBpMThuOiB7XG4gICAgICAgICAgICBsb2NhbGVzOiBvcHRpb25zLnJvdXRlci5sb2NhbGVzXG4gICAgICAgIH0sXG4gICAgICAgIHRyYWlsaW5nU2xhc2g6IEJvb2xlYW4ocHJvY2Vzcy5lbnYuX19ORVhUX1RSQUlMSU5HX1NMQVNIKVxuICAgIH07XG4gICAgY29uc3QgcmV3cml0ZUhlYWRlciA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwieC1uZXh0anMtcmV3cml0ZVwiKTtcbiAgICBsZXQgcmV3cml0ZVRhcmdldCA9IHJld3JpdGVIZWFkZXIgfHwgcmVzcG9uc2UuaGVhZGVycy5nZXQoXCJ4LW5leHRqcy1tYXRjaGVkLXBhdGhcIik7XG4gICAgY29uc3QgbWF0Y2hlZFBhdGggPSByZXNwb25zZS5oZWFkZXJzLmdldChcIngtbWF0Y2hlZC1wYXRoXCIpO1xuICAgIGlmIChtYXRjaGVkUGF0aCAmJiAhcmV3cml0ZVRhcmdldCAmJiAhbWF0Y2hlZFBhdGguaW5jbHVkZXMoXCJfX25leHRfZGF0YV9jYXRjaGFsbFwiKSAmJiAhbWF0Y2hlZFBhdGguaW5jbHVkZXMoXCIvX2Vycm9yXCIpICYmICFtYXRjaGVkUGF0aC5pbmNsdWRlcyhcIi80MDRcIikpIHtcbiAgICAgICAgLy8gbGV2ZXJhZ2UgeC1tYXRjaGVkLXBhdGggdG8gZGV0ZWN0IG5leHQuY29uZmlnLmpzIHJld3JpdGVzXG4gICAgICAgIHJld3JpdGVUYXJnZXQgPSBtYXRjaGVkUGF0aDtcbiAgICB9XG4gICAgaWYgKHJld3JpdGVUYXJnZXQpIHtcbiAgICAgICAgaWYgKHJld3JpdGVUYXJnZXQuc3RhcnRzV2l0aChcIi9cIikgfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0VYVEVSTkFMX01JRERMRVdBUkVfUkVXUklURV9SRVNPTFZFKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRSZXdyaXRlVGFyZ2V0ID0gKDAsIF9wYXJzZXJlbGF0aXZldXJsLnBhcnNlUmVsYXRpdmVVcmwpKHJld3JpdGVUYXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgcGF0aG5hbWVJbmZvID0gKDAsIF9nZXRuZXh0cGF0aG5hbWVpbmZvLmdldE5leHRQYXRobmFtZUluZm8pKHBhcnNlZFJld3JpdGVUYXJnZXQucGF0aG5hbWUsIHtcbiAgICAgICAgICAgICAgICBuZXh0Q29uZmlnLFxuICAgICAgICAgICAgICAgIHBhcnNlRGF0YTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBsZXQgZnNQYXRobmFtZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZUluZm8ucGF0aG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnJvdXRlci5wYWdlTG9hZGVyLmdldFBhZ2VMaXN0KCksXG4gICAgICAgICAgICAgICAgKDAsIF9yb3V0ZWxvYWRlci5nZXRDbGllbnRCdWlsZE1hbmlmZXN0KSgpXG4gICAgICAgICAgICBdKS50aGVuKChwYXJhbSk9PntcbiAgICAgICAgICAgICAgICBsZXQgW3BhZ2VzLCB7IF9fcmV3cml0ZXM6IHJld3JpdGVzICB9XSA9IHBhcmFtO1xuICAgICAgICAgICAgICAgIGxldCBhcyA9ICgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkocGF0aG5hbWVJbmZvLnBhdGhuYW1lLCBwYXRobmFtZUluZm8ubG9jYWxlKTtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc2R5bmFtaWMuaXNEeW5hbWljUm91dGUpKGFzKSB8fCAhcmV3cml0ZUhlYWRlciAmJiBwYWdlcy5pbmNsdWRlcygoMCwgX25vcm1hbGl6ZWxvY2FsZXBhdGgubm9ybWFsaXplTG9jYWxlUGF0aCkoKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkoYXMpLCBvcHRpb25zLnJvdXRlci5sb2NhbGVzKS5wYXRobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkU291cmNlID0gKDAsIF9nZXRuZXh0cGF0aG5hbWVpbmZvLmdldE5leHRQYXRobmFtZUluZm8pKCgwLCBfcGFyc2VyZWxhdGl2ZXVybC5wYXJzZVJlbGF0aXZlVXJsKShzb3VyY2UpLnBhdGhuYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0Q29uZmlnOiBwcm9jZXNzLmVudi5fX05FWFRfSEFTX1JFV1JJVEVTID8gdW5kZWZpbmVkIDogbmV4dENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlRGF0YTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYXMgPSAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShwYXJzZWRTb3VyY2UucGF0aG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lID0gYXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSEFTX1JFV1JJVEVTKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9ICgwLCBfcmVzb2x2ZXJld3JpdGVzLmRlZmF1bHQpKGFzLCBwYWdlcywgcmV3cml0ZXMsIHBhcnNlZFJld3JpdGVUYXJnZXQucXVlcnksIChwYXRoKT0+cmVzb2x2ZUR5bmFtaWNSb3V0ZShwYXRoLCBwYWdlcyksIG9wdGlvbnMucm91dGVyLmxvY2FsZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lm1hdGNoZWRQYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lID0gcmVzdWx0LnBhcnNlZEFzLnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXMgPSBwYXJzZWRSZXdyaXRlVGFyZ2V0LnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJzZWRSZXdyaXRlVGFyZ2V0LnF1ZXJ5LCByZXN1bHQucGFyc2VkQXMucXVlcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghcGFnZXMuaW5jbHVkZXMoZnNQYXRobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXRobmFtZSA9IHJlc29sdmVEeW5hbWljUm91dGUoZnNQYXRobmFtZSwgcGFnZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZWRQYXRobmFtZSAhPT0gZnNQYXRobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZnNQYXRobmFtZSA9IHJlc29sdmVkUGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gIXBhZ2VzLmluY2x1ZGVzKGZzUGF0aG5hbWUpID8gcmVzb2x2ZUR5bmFtaWNSb3V0ZSgoMCwgX25vcm1hbGl6ZWxvY2FsZXBhdGgubm9ybWFsaXplTG9jYWxlUGF0aCkoKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkocGFyc2VkUmV3cml0ZVRhcmdldC5wYXRobmFtZSksIG9wdGlvbnMucm91dGVyLmxvY2FsZXMpLnBhdGhuYW1lLCBwYWdlcykgOiBmc1BhdGhuYW1lO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzZHluYW1pYy5pc0R5bmFtaWNSb3V0ZSkocmVzb2x2ZWRIcmVmKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gKDAsIF9yb3V0ZW1hdGNoZXIuZ2V0Um91dGVNYXRjaGVyKSgoMCwgX3JvdXRlcmVnZXguZ2V0Um91dGVSZWdleCkocmVzb2x2ZWRIcmVmKSkoYXMpO1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcnNlZFJld3JpdGVUYXJnZXQucXVlcnksIG1hdGNoZXMgfHwge30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJld3JpdGVcIixcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VkQXM6IHBhcnNlZFJld3JpdGVUYXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVkSHJlZlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzcmMgPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHNvdXJjZSk7XG4gICAgICAgIGNvbnN0IHBhdGhuYW1lID0gKDAsIF9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvLmZvcm1hdE5leHRQYXRobmFtZUluZm8pKHtcbiAgICAgICAgICAgIC4uLigwLCBfZ2V0bmV4dHBhdGhuYW1laW5mby5nZXROZXh0UGF0aG5hbWVJbmZvKShzcmMucGF0aG5hbWUsIHtcbiAgICAgICAgICAgICAgICBuZXh0Q29uZmlnLFxuICAgICAgICAgICAgICAgIHBhcnNlRGF0YTogdHJ1ZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBkZWZhdWx0TG9jYWxlOiBvcHRpb25zLnJvdXRlci5kZWZhdWx0TG9jYWxlLFxuICAgICAgICAgICAgYnVpbGRJZDogXCJcIlxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICB0eXBlOiBcInJlZGlyZWN0LWV4dGVybmFsXCIsXG4gICAgICAgICAgICBkZXN0aW5hdGlvbjogXCJcIiArIHBhdGhuYW1lICsgc3JjLnF1ZXJ5ICsgc3JjLmhhc2hcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHJlZGlyZWN0VGFyZ2V0ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoXCJ4LW5leHRqcy1yZWRpcmVjdFwiKTtcbiAgICBpZiAocmVkaXJlY3RUYXJnZXQpIHtcbiAgICAgICAgaWYgKHJlZGlyZWN0VGFyZ2V0LnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHJlZGlyZWN0VGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhuYW1lID0gKDAsIF9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvLmZvcm1hdE5leHRQYXRobmFtZUluZm8pKHtcbiAgICAgICAgICAgICAgICAuLi4oMCwgX2dldG5leHRwYXRobmFtZWluZm8uZ2V0TmV4dFBhdGhuYW1lSW5mbykoc3JjLnBhdGhuYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgIG5leHRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlRGF0YTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRMb2NhbGU6IG9wdGlvbnMucm91dGVyLmRlZmF1bHRMb2NhbGUsXG4gICAgICAgICAgICAgICAgYnVpbGRJZDogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInJlZGlyZWN0LWludGVybmFsXCIsXG4gICAgICAgICAgICAgICAgbmV3QXM6IFwiXCIgKyBwYXRobmFtZSArIHNyYy5xdWVyeSArIHNyYy5oYXNoLFxuICAgICAgICAgICAgICAgIG5ld1VybDogXCJcIiArIHBhdGhuYW1lICsgc3JjLnF1ZXJ5ICsgc3JjLmhhc2hcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgdHlwZTogXCJyZWRpcmVjdC1leHRlcm5hbFwiLFxuICAgICAgICAgICAgZGVzdGluYXRpb246IHJlZGlyZWN0VGFyZ2V0XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgdHlwZTogXCJuZXh0XCJcbiAgICB9KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHdpdGhNaWRkbGV3YXJlRWZmZWN0cyhvcHRpb25zKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGF3YWl0IG1hdGNoZXNNaWRkbGV3YXJlKG9wdGlvbnMpO1xuICAgIGlmICghbWF0Y2hlcyB8fCAhb3B0aW9ucy5mZXRjaERhdGEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBvcHRpb25zLmZldGNoRGF0YSgpO1xuICAgICAgICBjb25zdCBlZmZlY3QgPSBhd2FpdCBnZXRNaWRkbGV3YXJlRGF0YShkYXRhLmRhdGFIcmVmLCBkYXRhLnJlc3BvbnNlLCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGFIcmVmOiBkYXRhLmRhdGFIcmVmLFxuICAgICAgICAgICAganNvbjogZGF0YS5qc29uLFxuICAgICAgICAgICAgcmVzcG9uc2U6IGRhdGEucmVzcG9uc2UsXG4gICAgICAgICAgICB0ZXh0OiBkYXRhLnRleHQsXG4gICAgICAgICAgICBjYWNoZUtleTogZGF0YS5jYWNoZUtleSxcbiAgICAgICAgICAgIGVmZmVjdFxuICAgICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLyoqXG4gICAgICogVE9ETzogUmV2aXNpdCB0aGlzIGluIHRoZSBmdXR1cmUuXG4gICAgICogRm9yIG5vdyB3ZSB3aWxsIG5vdCBjb25zaWRlciBtaWRkbGV3YXJlIGRhdGEgZXJyb3JzIHRvIGJlIGZhdGFsLlxuICAgICAqIG1heWJlIHdlIHNob3VsZCByZXZpc2l0IGluIHRoZSBmdXR1cmUuXG4gICAgICovIHJldHVybiBudWxsO1xuICAgIH1cbn1cbmNvbnN0IG1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uID0gcHJvY2Vzcy5lbnYuX19ORVhUX1NDUk9MTF9SRVNUT1JBVElPTiAmJiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIFwic2Nyb2xsUmVzdG9yYXRpb25cIiBpbiB3aW5kb3cuaGlzdG9yeSAmJiAhIWZ1bmN0aW9uKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGxldCB2ID0gXCJfX25leHRcIjtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlcXVlbmNlc1xuICAgICAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh2LCB2KSwgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSh2KSwgdHJ1ZTtcbiAgICB9IGNhdGNoIChuKSB7fVxufSgpO1xuY29uc3QgU1NHX0RBVEFfTk9UX0ZPVU5EID0gU3ltYm9sKFwiU1NHX0RBVEFfTk9UX0ZPVU5EXCIpO1xuZnVuY3Rpb24gZmV0Y2hSZXRyeSh1cmwsIGF0dGVtcHRzLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGZldGNoKHVybCwge1xuICAgICAgICAvLyBDb29raWVzIGFyZSByZXF1aXJlZCB0byBiZSBwcmVzZW50IGZvciBOZXh0LmpzJyBTU0cgXCJQcmV2aWV3IE1vZGVcIi5cbiAgICAgICAgLy8gQ29va2llcyBtYXkgYWxzbyBiZSByZXF1aXJlZCBmb3IgYGdldFNlcnZlclNpZGVQcm9wc2AuXG4gICAgICAgIC8vXG4gICAgICAgIC8vID4gYGZldGNoYCB3b27igJl0IHNlbmQgY29va2llcywgdW5sZXNzIHlvdSBzZXQgdGhlIGNyZWRlbnRpYWxzIGluaXRcbiAgICAgICAgLy8gPiBvcHRpb24uXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9GZXRjaF9BUEkvVXNpbmdfRmV0Y2hcbiAgICAgICAgLy9cbiAgICAgICAgLy8gPiBGb3IgbWF4aW11bSBicm93c2VyIGNvbXBhdGliaWxpdHkgd2hlbiBpdCBjb21lcyB0byBzZW5kaW5nICZcbiAgICAgICAgLy8gPiByZWNlaXZpbmcgY29va2llcywgYWx3YXlzIHN1cHBseSB0aGUgYGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nYFxuICAgICAgICAvLyA+IG9wdGlvbiBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRlZmF1bHQuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZmV0Y2gjY2F2ZWF0c1xuICAgICAgICBjcmVkZW50aWFsczogXCJzYW1lLW9yaWdpblwiLFxuICAgICAgICBtZXRob2Q6IG9wdGlvbnMubWV0aG9kIHx8IFwiR0VUXCIsXG4gICAgICAgIGhlYWRlcnM6IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuaGVhZGVycywge1xuICAgICAgICAgICAgXCJ4LW5leHRqcy1kYXRhXCI6IFwiMVwiXG4gICAgICAgIH0pXG4gICAgfSkudGhlbigocmVzcG9uc2UpPT57XG4gICAgICAgIHJldHVybiAhcmVzcG9uc2Uub2sgJiYgYXR0ZW1wdHMgPiAxICYmIHJlc3BvbnNlLnN0YXR1cyA+PSA1MDAgPyBmZXRjaFJldHJ5KHVybCwgYXR0ZW1wdHMgLSAxLCBvcHRpb25zKSA6IHJlc3BvbnNlO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gdHJ5VG9QYXJzZUFzSlNPTih0ZXh0KSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGV4dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZmV0Y2hOZXh0RGF0YShwYXJhbSkge1xuICAgIGxldCB7IGRhdGFIcmVmICwgaW5mbGlnaHRDYWNoZSAsIGlzUHJlZmV0Y2ggLCBoYXNNaWRkbGV3YXJlICwgaXNTZXJ2ZXJSZW5kZXIgLCBwYXJzZUpTT04gLCBwZXJzaXN0Q2FjaGUgLCBpc0JhY2tncm91bmQgLCB1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUgIH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGhyZWY6IGNhY2hlS2V5ICB9ID0gbmV3IFVSTChkYXRhSHJlZiwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgIHZhciBfcGFyYW1zX21ldGhvZDtcbiAgICBjb25zdCBnZXREYXRhID0gKHBhcmFtcyk9PntcbiAgICAgICAgcmV0dXJuIGZldGNoUmV0cnkoZGF0YUhyZWYsIGlzU2VydmVyUmVuZGVyID8gMyA6IDEsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGlzUHJlZmV0Y2ggPyB7XG4gICAgICAgICAgICAgICAgcHVycG9zZTogXCJwcmVmZXRjaFwiXG4gICAgICAgICAgICB9IDoge30sIGlzUHJlZmV0Y2ggJiYgaGFzTWlkZGxld2FyZSA/IHtcbiAgICAgICAgICAgICAgICBcIngtbWlkZGxld2FyZS1wcmVmZXRjaFwiOiBcIjFcIlxuICAgICAgICAgICAgfSA6IHt9KSxcbiAgICAgICAgICAgIG1ldGhvZDogKF9wYXJhbXNfbWV0aG9kID0gcGFyYW1zID09IG51bGwgPyB2b2lkIDAgOiBwYXJhbXMubWV0aG9kKSAhPSBudWxsID8gX3BhcmFtc19tZXRob2QgOiBcIkdFVFwiXG4gICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rICYmIChwYXJhbXMgPT0gbnVsbCA/IHZvaWQgMCA6IHBhcmFtcy5tZXRob2QpID09PSBcIkhFQURcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFIcmVmLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAganNvbjoge30sXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCkudGhlbigodGV4dCk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogV2hlbiB0aGUgZGF0YSByZXNwb25zZSBpcyBhIHJlZGlyZWN0IGJlY2F1c2Ugb2YgYSBtaWRkbGV3YXJlXG4gICAgICAgICAgICAgKiB3ZSBkbyBub3QgY29uc2lkZXIgaXQgYW4gZXJyb3IuIFRoZSBoZWFkZXJzIG11c3QgYnJpbmcgdGhlXG4gICAgICAgICAgICAgKiBtYXBwZWQgbG9jYXRpb24uXG4gICAgICAgICAgICAgKiBUT0RPOiBDaGFuZ2UgdGhlIHN0YXR1cyBjb2RlIGluIHRoZSBoYW5kbGVyLlxuICAgICAgICAgICAgICovIGlmIChoYXNNaWRkbGV3YXJlICYmIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwMixcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwNyxcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwOFxuICAgICAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKHJlc3BvbnNlLnN0YXR1cykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUhyZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfdHJ5VG9QYXJzZUFzSlNPTjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoX3RyeVRvUGFyc2VBc0pTT04gPSB0cnlUb1BhcnNlQXNKU09OKHRleHQpKSA9PSBudWxsID8gdm9pZCAwIDogX3RyeVRvUGFyc2VBc0pTT04ubm90Rm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhSHJlZixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmQ6IFNTR19EQVRBX05PVF9GT1VORFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFwiRmFpbGVkIHRvIGxvYWQgc3RhdGljIHByb3BzXCIpO1xuICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdlIHNob3VsZCBvbmx5IHRyaWdnZXIgYSBzZXJ2ZXItc2lkZSB0cmFuc2l0aW9uIGlmIHRoaXMgd2FzXG4gICAgICAgICAgICAgKiBjYXVzZWQgb24gYSBjbGllbnQtc2lkZSB0cmFuc2l0aW9uLiBPdGhlcndpc2UsIHdlJ2QgZ2V0IGludG9cbiAgICAgICAgICAgICAqIGFuIGluZmluaXRlIGxvb3AuXG4gICAgICAgICAgICAgKi8gaWYgKCFpc1NlcnZlclJlbmRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9yb3V0ZWxvYWRlci5tYXJrQXNzZXRFcnJvcikoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBkYXRhSHJlZixcbiAgICAgICAgICAgICAgICAgICAganNvbjogcGFyc2VKU09OID8gdHJ5VG9QYXJzZUFzSlNPTih0ZXh0KSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICAgICAgICBjYWNoZUtleVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkudGhlbigoZGF0YSk9PntcbiAgICAgICAgICAgIGlmICghcGVyc2lzdENhY2hlIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiB8fCBkYXRhLnJlc3BvbnNlLmhlYWRlcnMuZ2V0KFwieC1taWRkbGV3YXJlLWNhY2hlXCIpID09PSBcIm5vLWNhY2hlXCIpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgaW5mbGlnaHRDYWNoZVtjYWNoZUtleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgIGlmICghdW5zdGFibGVfc2tpcENsaWVudENhY2hlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGluZmxpZ2h0Q2FjaGVbY2FjaGVLZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKC8vIGNocm9tZVxuICAgICAgICAgICAgZXJyLm1lc3NhZ2UgPT09IFwiRmFpbGVkIHRvIGZldGNoXCIgfHwgLy8gZmlyZWZveFxuICAgICAgICAgICAgZXJyLm1lc3NhZ2UgPT09IFwiTmV0d29ya0Vycm9yIHdoZW4gYXR0ZW1wdGluZyB0byBmZXRjaCByZXNvdXJjZS5cIiB8fCAvLyBzYWZhcmlcbiAgICAgICAgICAgIGVyci5tZXNzYWdlID09PSBcIkxvYWQgZmFpbGVkXCIpIHtcbiAgICAgICAgICAgICAgICAoMCwgX3JvdXRlbG9hZGVyLm1hcmtBc3NldEVycm9yKShlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIC8vIHdoZW4gc2tpcHBpbmcgY2xpZW50IGNhY2hlIHdlIHdhaXQgdG8gdXBkYXRlXG4gICAgLy8gaW5mbGlnaHQgY2FjaGUgdW50aWwgc3VjY2Vzc2Z1bCBkYXRhIHJlc3BvbnNlXG4gICAgLy8gdGhpcyBhbGxvd3MgcmFjaW5nIGNsaWNrIGV2ZW50IHdpdGggZmV0Y2hpbmcgbmV3ZXIgZGF0YVxuICAgIC8vIHdpdGhvdXQgYmxvY2tpbmcgbmF2aWdhdGlvbiB3aGVuIHN0YWxlIGRhdGEgaXMgYXZhaWxhYmxlXG4gICAgaWYgKHVuc3RhYmxlX3NraXBDbGllbnRDYWNoZSAmJiBwZXJzaXN0Q2FjaGUpIHtcbiAgICAgICAgcmV0dXJuIGdldERhdGEoe30pLnRoZW4oKGRhdGEpPT57XG4gICAgICAgICAgICBpbmZsaWdodENhY2hlW2NhY2hlS2V5XSA9IFByb21pc2UucmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGluZmxpZ2h0Q2FjaGVbY2FjaGVLZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGluZmxpZ2h0Q2FjaGVbY2FjaGVLZXldO1xuICAgIH1cbiAgICByZXR1cm4gaW5mbGlnaHRDYWNoZVtjYWNoZUtleV0gPSBnZXREYXRhKGlzQmFja2dyb3VuZCA/IHtcbiAgICAgICAgbWV0aG9kOiBcIkhFQURcIlxuICAgIH0gOiB7fSk7XG59XG5mdW5jdGlvbiBjcmVhdGVLZXkoKSB7XG4gICAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDEwKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHBhcmFtKSB7XG4gICAgbGV0IHsgdXJsICwgcm91dGVyICB9ID0gcGFyYW07XG4gICAgLy8gZW5zdXJlIHdlIGRvbid0IHRyaWdnZXIgYSBoYXJkIG5hdmlnYXRpb24gdG8gdGhlIHNhbWVcbiAgICAvLyBVUkwgYXMgdGhpcyBjYW4gZW5kIHVwIHdpdGggYW4gaW5maW5pdGUgcmVmcmVzaFxuICAgIGlmICh1cmwgPT09ICgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKCgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkocm91dGVyLmFzUGF0aCwgcm91dGVyLmxvY2FsZSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogYXR0ZW1wdGVkIHRvIGhhcmQgbmF2aWdhdGUgdG8gdGhlIHNhbWUgVVJMIFwiICsgdXJsICsgXCIgXCIgKyBsb2NhdGlvbi5ocmVmKTtcbiAgICB9XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG59XG5jb25zdCBnZXRDYW5jZWxsZWRIYW5kbGVyID0gKHBhcmFtKT0+e1xuICAgIGxldCB7IHJvdXRlICwgcm91dGVyICB9ID0gcGFyYW07XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGNhbmNlbCA9IHJvdXRlci5jbGMgPSAoKT0+e1xuICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgIH07XG4gICAgY29uc3QgaGFuZGxlQ2FuY2VsbGVkID0gKCk9PntcbiAgICAgICAgaWYgKGNhbmNlbGxlZCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ0Fib3J0IGZldGNoaW5nIGNvbXBvbmVudCBmb3Igcm91dGU6IFwiJyArIHJvdXRlICsgJ1wiJyk7XG4gICAgICAgICAgICBlcnJvci5jYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhbmNlbCA9PT0gcm91dGVyLmNsYykge1xuICAgICAgICAgICAgcm91dGVyLmNsYyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBoYW5kbGVDYW5jZWxsZWQ7XG59O1xuY2xhc3MgUm91dGVyIHtcbiAgICByZWxvYWQoKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIEdvIGJhY2sgaW4gaGlzdG9yeVxuICAgKi8gYmFjaygpIHtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICogR28gZm9yd2FyZCBpbiBoaXN0b3J5XG4gICAqLyBmb3J3YXJkKCkge1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5mb3J3YXJkKCk7XG4gICAgfVxuICAgIC8qKlxuICAgKiBQZXJmb3JtcyBhIGBwdXNoU3RhdGVgIHdpdGggYXJndW1lbnRzXG4gICAqIEBwYXJhbSB1cmwgb2YgdGhlIHJvdXRlXG4gICAqIEBwYXJhbSBhcyBtYXNrcyBgdXJsYCBmb3IgdGhlIGJyb3dzZXJcbiAgICogQHBhcmFtIG9wdGlvbnMgb2JqZWN0IHlvdSBjYW4gZGVmaW5lIGBzaGFsbG93YCBhbmQgb3RoZXIgb3B0aW9uc1xuICAgKi8gcHVzaCh1cmwsIGFzLCBvcHRpb25zKSB7XG4gICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9TQ1JPTExfUkVTVE9SQVRJT04pIHtcbiAgICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSBpbiB0aGUgZnV0dXJlIHdoZW4gd2UgdXBkYXRlIGhpc3RvcnkgYmVmb3JlIHJvdXRlIGNoYW5nZVxuICAgICAgICAgICAgLy8gaXMgY29tcGxldGUsIGFzIHRoZSBwb3BzdGF0ZSBldmVudCBzaG91bGQgaGFuZGxlIHRoaXMgY2FwdHVyZS5cbiAgICAgICAgICAgIGlmIChtYW51YWxTY3JvbGxSZXN0b3JhdGlvbikge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNuYXBzaG90IHNjcm9sbCBwb3NpdGlvbiByaWdodCBiZWZvcmUgbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlOlxuICAgICAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwiX19uZXh0X3Njcm9sbF9cIiArIHRoaXMuX2tleSwgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogc2VsZi5wYWdlWE9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IHNlbGYucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKHsgdXJsICwgYXMgIH0gPSBwcmVwYXJlVXJsQXModGhpcywgdXJsLCBhcykpO1xuICAgICAgICByZXR1cm4gdGhpcy5jaGFuZ2UoXCJwdXNoU3RhdGVcIiwgdXJsLCBhcywgb3B0aW9ucyk7XG4gICAgfVxuICAgIC8qKlxuICAgKiBQZXJmb3JtcyBhIGByZXBsYWNlU3RhdGVgIHdpdGggYXJndW1lbnRzXG4gICAqIEBwYXJhbSB1cmwgb2YgdGhlIHJvdXRlXG4gICAqIEBwYXJhbSBhcyBtYXNrcyBgdXJsYCBmb3IgdGhlIGJyb3dzZXJcbiAgICogQHBhcmFtIG9wdGlvbnMgb2JqZWN0IHlvdSBjYW4gZGVmaW5lIGBzaGFsbG93YCBhbmQgb3RoZXIgb3B0aW9uc1xuICAgKi8gcmVwbGFjZSh1cmwsIGFzLCBvcHRpb25zKSB7XG4gICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgKHsgdXJsICwgYXMgIH0gPSBwcmVwYXJlVXJsQXModGhpcywgdXJsLCBhcykpO1xuICAgICAgICByZXR1cm4gdGhpcy5jaGFuZ2UoXCJyZXBsYWNlU3RhdGVcIiwgdXJsLCBhcywgb3B0aW9ucyk7XG4gICAgfVxuICAgIGFzeW5jIF9iZmwoYXMsIHJlc29sdmVkQXMsIGxvY2FsZSwgc2tpcE5hdmlnYXRlKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1JPVVRFUl9GSUxURVJfRU5BQkxFRCkge1xuICAgICAgICAgICAgbGV0IG1hdGNoZXNCZmxTdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBtYXRjaGVzQmZsRHluYW1pYyA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjdXJBcyBvZiBbXG4gICAgICAgICAgICAgICAgYXMsXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRBc1xuICAgICAgICAgICAgXSl7XG4gICAgICAgICAgICAgICAgaWYgKGN1ckFzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzTm9TbGFzaCA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShuZXcgVVJMKGN1ckFzLCBcImh0dHA6Ly9uXCIpLnBhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXNOb1NsYXNoTG9jYWxlID0gKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShhc05vU2xhc2gsIGxvY2FsZSB8fCB0aGlzLmxvY2FsZSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYXNOb1NsYXNoICE9PSAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkobmV3IFVSTCh0aGlzLmFzUGF0aCwgXCJodHRwOi8vblwiKS5wYXRobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfdGhpc19fYmZsX3MsIF90aGlzX19iZmxfczE7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVzQmZsU3RhdGljID0gbWF0Y2hlc0JmbFN0YXRpYyB8fCAhISgoX3RoaXNfX2JmbF9zID0gdGhpcy5fYmZsX3MpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19fYmZsX3MuY29udGFpbnMoYXNOb1NsYXNoKSkgfHwgISEoKF90aGlzX19iZmxfczEgPSB0aGlzLl9iZmxfcykgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzX19iZmxfczEuY29udGFpbnMoYXNOb1NsYXNoTG9jYWxlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5vcm1hbGl6ZWRBUyBvZiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNOb1NsYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzTm9TbGFzaExvY2FsZVxuICAgICAgICAgICAgICAgICAgICAgICAgXSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgYW55IHN1Yi1wYXRoIG9mIGFzIG1hdGNoZXMgYSBkeW5hbWljIGZpbHRlciBwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXQgc2hvdWxkIGJlIGhhcmQgbmF2aWdhdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VyQXNQYXJ0cyA9IG5vcm1hbGl6ZWRBUy5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgIW1hdGNoZXNCZmxEeW5hbWljICYmIGkgPCBjdXJBc1BhcnRzLmxlbmd0aCArIDE7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfdGhpc19fYmZsX2Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXJ0ID0gY3VyQXNQYXJ0cy5zbGljZSgwLCBpKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXJ0ICYmICgoX3RoaXNfX2JmbF9kID0gdGhpcy5fYmZsX2QpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19fYmZsX2QuY29udGFpbnMoY3VycmVudFBhcnQpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlc0JmbER5bmFtaWMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGUgY2xpZW50IHJvdXRlciBmaWx0ZXIgaXMgbWF0Y2hlZCB0aGVuIHdlIHRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGEgaGFyZCBuYXZpZ2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hlc0JmbFN0YXRpYyB8fCBtYXRjaGVzQmZsRHluYW1pYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChza2lwTmF2aWdhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKSgoMCwgX2FkZGxvY2FsZS5hZGRMb2NhbGUpKGFzLCBsb2NhbGUgfHwgdGhpcy5sb2NhbGUsIHRoaXMuZGVmYXVsdExvY2FsZSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKCk9Pnt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGFzeW5jIGNoYW5nZShtZXRob2QsIHVybCwgYXMsIG9wdGlvbnMsIGZvcmNlZFNjcm9sbCkge1xuICAgICAgICB2YXIgX3RoaXNfY29tcG9uZW50c19wYXRobmFtZTtcbiAgICAgICAgaWYgKCEoMCwgX2lzbG9jYWx1cmwuaXNMb2NhbFVSTCkodXJsKSkge1xuICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIFdBUk5JTkc6IGBfaGAgaXMgYW4gaW50ZXJuYWwgb3B0aW9uIGZvciBoYW5kaW5nIE5leHQuanMgY2xpZW50LXNpZGVcbiAgICAgICAgLy8gaHlkcmF0aW9uLiBZb3VyIGFwcCBzaG91bGQgX25ldmVyXyB1c2UgdGhpcyBwcm9wZXJ0eS4gSXQgbWF5IGNoYW5nZSBhdFxuICAgICAgICAvLyBhbnkgdGltZSB3aXRob3V0IG5vdGljZS5cbiAgICAgICAgY29uc3QgaXNRdWVyeVVwZGF0aW5nID0gb3B0aW9ucy5faCA9PT0gMTtcbiAgICAgICAgaWYgKCFpc1F1ZXJ5VXBkYXRpbmcgJiYgIW9wdGlvbnMuc2hhbGxvdykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fYmZsKGFzLCB1bmRlZmluZWQsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgc2hvdWxkUmVzb2x2ZUhyZWYgPSBpc1F1ZXJ5VXBkYXRpbmcgfHwgb3B0aW9ucy5fc2hvdWxkUmVzb2x2ZUhyZWYgfHwgKDAsIF9wYXJzZXBhdGgucGFyc2VQYXRoKSh1cmwpLnBhdGhuYW1lID09PSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKGFzKS5wYXRobmFtZTtcbiAgICAgICAgY29uc3QgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZVxuICAgICAgICB9O1xuICAgICAgICAvLyBmb3Igc3RhdGljIHBhZ2VzIHdpdGggcXVlcnkgcGFyYW1zIGluIHRoZSBVUkwgd2UgZGVsYXlcbiAgICAgICAgLy8gbWFya2luZyB0aGUgcm91dGVyIHJlYWR5IHVudGlsIGFmdGVyIHRoZSBxdWVyeSBpcyB1cGRhdGVkXG4gICAgICAgIC8vIG9yIGEgbmF2aWdhdGlvbiBoYXMgb2NjdXJyZWRcbiAgICAgICAgY29uc3QgcmVhZHlTdGF0ZUNoYW5nZSA9IHRoaXMuaXNSZWFkeSAhPT0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc1JlYWR5ID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaXNTc3IgPSB0aGlzLmlzU3NyO1xuICAgICAgICBpZiAoIWlzUXVlcnlVcGRhdGluZykge1xuICAgICAgICAgICAgdGhpcy5pc1NzciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIGEgcm91dGUgdHJhbnNpdGlvbiBpcyBhbHJlYWR5IGluIHByb2dyZXNzIGJlZm9yZVxuICAgICAgICAvLyB0aGUgcXVlcnkgdXBkYXRpbmcgaXMgdHJpZ2dlcmVkIGlnbm9yZSBxdWVyeSB1cGRhdGluZ1xuICAgICAgICBpZiAoaXNRdWVyeVVwZGF0aW5nICYmIHRoaXMuY2xjKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJldkxvY2FsZSA9IG5leHRTdGF0ZS5sb2NhbGU7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgICAgICBuZXh0U3RhdGUubG9jYWxlID0gb3B0aW9ucy5sb2NhbGUgPT09IGZhbHNlID8gdGhpcy5kZWZhdWx0TG9jYWxlIDogb3B0aW9ucy5sb2NhbGUgfHwgbmV4dFN0YXRlLmxvY2FsZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5sb2NhbGUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLmxvY2FsZSA9IG5leHRTdGF0ZS5sb2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRBcyA9ICgwLCBfcGFyc2VyZWxhdGl2ZXVybC5wYXJzZVJlbGF0aXZlVXJsKSgoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShhcykgPyAoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKShhcykgOiBhcyk7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGVQYXRoUmVzdWx0ID0gKDAsIF9ub3JtYWxpemVsb2NhbGVwYXRoLm5vcm1hbGl6ZUxvY2FsZVBhdGgpKHBhcnNlZEFzLnBhdGhuYW1lLCB0aGlzLmxvY2FsZXMpO1xuICAgICAgICAgICAgaWYgKGxvY2FsZVBhdGhSZXN1bHQuZGV0ZWN0ZWRMb2NhbGUpIHtcbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUubG9jYWxlID0gbG9jYWxlUGF0aFJlc3VsdC5kZXRlY3RlZExvY2FsZTtcbiAgICAgICAgICAgICAgICBwYXJzZWRBcy5wYXRobmFtZSA9ICgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKHBhcnNlZEFzLnBhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICBhcyA9ICgwLCBfZm9ybWF0dXJsLmZvcm1hdFdpdGhWYWxpZGF0aW9uKShwYXJzZWRBcyk7XG4gICAgICAgICAgICAgICAgdXJsID0gKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9ub3JtYWxpemVsb2NhbGVwYXRoLm5vcm1hbGl6ZUxvY2FsZVBhdGgpKCgwLCBfaGFzYmFzZXBhdGguaGFzQmFzZVBhdGgpKHVybCkgPyAoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKSh1cmwpIDogdXJsLCB0aGlzLmxvY2FsZXMpLnBhdGhuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBkaWROYXZpZ2F0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gd2UgbmVlZCB0byB3cmFwIHRoaXMgaW4gdGhlIGVudiBjaGVjayBhZ2FpbiBzaW5jZSByZWdlbmVyYXRvciBydW50aW1lXG4gICAgICAgICAgICAvLyBtb3ZlcyB0aGlzIG9uIGl0cyBvd24gZHVlIHRvIHRoZSByZXR1cm5cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzX2xvY2FsZXM7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIGxvY2FsZSBpc24ndCBjb25maWd1cmVkIGhhcmQgbmF2aWdhdGUgdG8gc2hvdyA0MDQgcGFnZVxuICAgICAgICAgICAgICAgIGlmICghKChfdGhpc19sb2NhbGVzID0gdGhpcy5sb2NhbGVzKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXNfbG9jYWxlcy5pbmNsdWRlcyhuZXh0U3RhdGUubG9jYWxlKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VkQXMucGF0aG5hbWUgPSAoMCwgX2FkZGxvY2FsZS5hZGRMb2NhbGUpKHBhcnNlZEFzLnBhdGhuYW1lLCBuZXh0U3RhdGUubG9jYWxlKTtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikocGFyc2VkQXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHdhcyBwcmV2aW91c2x5IGEgcmV0dXJuIGJ1dCB3YXMgcmVtb3ZlZCBpbiBmYXZvclxuICAgICAgICAgICAgICAgICAgICAvLyBvZiBiZXR0ZXIgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdpdGggcmVnZW5lcmF0b3IgcnVudGltZVxuICAgICAgICAgICAgICAgICAgICBkaWROYXZpZ2F0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGV0ZWN0ZWREb21haW4gPSAoMCwgX2RldGVjdGRvbWFpbmxvY2FsZS5kZXRlY3REb21haW5Mb2NhbGUpKHRoaXMuZG9tYWluTG9jYWxlcywgdW5kZWZpbmVkLCBuZXh0U3RhdGUubG9jYWxlKTtcbiAgICAgICAgICAgIC8vIHdlIG5lZWQgdG8gd3JhcCB0aGlzIGluIHRoZSBlbnYgY2hlY2sgYWdhaW4gc2luY2UgcmVnZW5lcmF0b3IgcnVudGltZVxuICAgICAgICAgICAgLy8gbW92ZXMgdGhpcyBvbiBpdHMgb3duIGR1ZSB0byB0aGUgcmV0dXJuXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICAgICAgICAgIC8vIGlmIHdlIGFyZSBuYXZpZ2F0aW5nIHRvIGEgZG9tYWluIGxvY2FsZSBlbnN1cmUgd2UgcmVkaXJlY3QgdG8gdGhlXG4gICAgICAgICAgICAgICAgLy8gY29ycmVjdCBkb21haW5cbiAgICAgICAgICAgICAgICBpZiAoIWRpZE5hdmlnYXRlICYmIGRldGVjdGVkRG9tYWluICYmIHRoaXMuaXNMb2NhbGVEb21haW4gJiYgc2VsZi5sb2NhdGlvbi5ob3N0bmFtZSAhPT0gZGV0ZWN0ZWREb21haW4uZG9tYWluKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzTm9CYXNlUGF0aCA9ICgwLCBfcmVtb3ZlYmFzZXBhdGgucmVtb3ZlQmFzZVBhdGgpKGFzKTtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBcImh0dHBcIiArIChkZXRlY3RlZERvbWFpbi5odHRwID8gXCJcIiA6IFwic1wiKSArIFwiOi8vXCIgKyBkZXRlY3RlZERvbWFpbi5kb21haW4gKyAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShcIlwiICsgKG5leHRTdGF0ZS5sb2NhbGUgPT09IGRldGVjdGVkRG9tYWluLmRlZmF1bHRMb2NhbGUgPyBcIlwiIDogXCIvXCIgKyBuZXh0U3RhdGUubG9jYWxlKSArIChhc05vQmFzZVBhdGggPT09IFwiL1wiID8gXCJcIiA6IGFzTm9CYXNlUGF0aCkgfHwgXCIvXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHdhcyBwcmV2aW91c2x5IGEgcmV0dXJuIGJ1dCB3YXMgcmVtb3ZlZCBpbiBmYXZvclxuICAgICAgICAgICAgICAgICAgICAvLyBvZiBiZXR0ZXIgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdpdGggcmVnZW5lcmF0b3IgcnVudGltZVxuICAgICAgICAgICAgICAgICAgICBkaWROYXZpZ2F0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRpZE5hdmlnYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKCgpPT57fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWFya2luZyByb3V0ZSBjaGFuZ2VzIGFzIGEgbmF2aWdhdGlvbiBzdGFydCBlbnRyeVxuICAgICAgICBpZiAoX3V0aWxzLlNUKSB7XG4gICAgICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKFwicm91dGVDaGFuZ2VcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzaGFsbG93ID1mYWxzZSAsIHNjcm9sbCA9dHJ1ZSAgfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHJvdXRlUHJvcHMgPSB7XG4gICAgICAgICAgICBzaGFsbG93XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLl9pbkZsaWdodFJvdXRlICYmIHRoaXMuY2xjKSB7XG4gICAgICAgICAgICBpZiAoIWlzU3NyKSB7XG4gICAgICAgICAgICAgICAgUm91dGVyLmV2ZW50cy5lbWl0KFwicm91dGVDaGFuZ2VFcnJvclwiLCBidWlsZENhbmNlbGxhdGlvbkVycm9yKCksIHRoaXMuX2luRmxpZ2h0Um91dGUsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jbGMoKTtcbiAgICAgICAgICAgIHRoaXMuY2xjID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBhcyA9ICgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKCgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkoKDAsIF9oYXNiYXNlcGF0aC5oYXNCYXNlUGF0aCkoYXMpID8gKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkoYXMpIDogYXMsIG9wdGlvbnMubG9jYWxlLCB0aGlzLmRlZmF1bHRMb2NhbGUpKTtcbiAgICAgICAgY29uc3QgY2xlYW5lZEFzID0gKDAsIF9yZW1vdmVsb2NhbGUucmVtb3ZlTG9jYWxlKSgoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShhcykgPyAoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKShhcykgOiBhcywgbmV4dFN0YXRlLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuX2luRmxpZ2h0Um91dGUgPSBhcztcbiAgICAgICAgY29uc3QgbG9jYWxlQ2hhbmdlID0gcHJldkxvY2FsZSAhPT0gbmV4dFN0YXRlLmxvY2FsZTtcbiAgICAgICAgLy8gSWYgdGhlIHVybCBjaGFuZ2UgaXMgb25seSByZWxhdGVkIHRvIGEgaGFzaCBjaGFuZ2VcbiAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCBwcm9jZWVkLiBXZSBzaG91bGQgb25seSBjaGFuZ2UgdGhlIHN0YXRlLlxuICAgICAgICBpZiAoIWlzUXVlcnlVcGRhdGluZyAmJiB0aGlzLm9ubHlBSGFzaENoYW5nZShjbGVhbmVkQXMpICYmICFsb2NhbGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIG5leHRTdGF0ZS5hc1BhdGggPSBjbGVhbmVkQXM7XG4gICAgICAgICAgICBSb3V0ZXIuZXZlbnRzLmVtaXQoXCJoYXNoQ2hhbmdlU3RhcnRcIiwgYXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgLy8gVE9ETzogZG8gd2UgbmVlZCB0aGUgcmVzb2x2ZWQgaHJlZiB3aGVuIG9ubHkgYSBoYXNoIGNoYW5nZT9cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU3RhdGUobWV0aG9kLCB1cmwsIGFzLCB7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBzY3JvbGw6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChzY3JvbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvSGFzaChjbGVhbmVkQXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNldChuZXh0U3RhdGUsIHRoaXMuY29tcG9uZW50c1tuZXh0U3RhdGUucm91dGVdLCBudWxsKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzZXJyb3IuZGVmYXVsdCkoZXJyKSAmJiBlcnIuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcInJvdXRlQ2hhbmdlRXJyb3JcIiwgZXJyLCBjbGVhbmVkQXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBSb3V0ZXIuZXZlbnRzLmVtaXQoXCJoYXNoQ2hhbmdlQ29tcGxldGVcIiwgYXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHBhcnNlZCA9ICgwLCBfcGFyc2VyZWxhdGl2ZXVybC5wYXJzZVJlbGF0aXZlVXJsKSh1cmwpO1xuICAgICAgICBsZXQgeyBwYXRobmFtZSAsIHF1ZXJ5ICB9ID0gcGFyc2VkO1xuICAgICAgICAvLyBpZiB3ZSBkZXRlY3RlZCB0aGUgcGF0aCBhcyBhcHAgcm91dGUgZHVyaW5nIHByZWZldGNoaW5nXG4gICAgICAgIC8vIHRyaWdnZXIgaGFyZCBuYXZpZ2F0aW9uXG4gICAgICAgIGlmICgoX3RoaXNfY29tcG9uZW50c19wYXRobmFtZSA9IHRoaXMuY29tcG9uZW50c1twYXRobmFtZV0pID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19jb21wb25lbnRzX3BhdGhuYW1lLl9fYXBwUm91dGVyKSB7XG4gICAgICAgICAgICBoYW5kbGVIYXJkTmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgdXJsOiBhcyxcbiAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKCgpPT57fSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGJ1aWxkIG1hbmlmZXN0IG5lZWRzIHRvIGJlIGxvYWRlZCBiZWZvcmUgYXV0by1zdGF0aWMgZHluYW1pYyBwYWdlc1xuICAgICAgICAvLyBnZXQgdGhlaXIgcXVlcnkgcGFyYW1ldGVycyB0byBhbGxvdyBlbnN1cmluZyB0aGV5IGNhbiBiZSBwYXJzZWQgcHJvcGVybHlcbiAgICAgICAgLy8gd2hlbiByZXdyaXR0ZW4gdG9cbiAgICAgICAgbGV0IHBhZ2VzLCByZXdyaXRlcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFtwYWdlcywgeyBfX3Jld3JpdGVzOiByZXdyaXRlcyAgfV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlTG9hZGVyLmdldFBhZ2VMaXN0KCksXG4gICAgICAgICAgICAgICAgKDAsIF9yb3V0ZWxvYWRlci5nZXRDbGllbnRCdWlsZE1hbmlmZXN0KSgpLFxuICAgICAgICAgICAgICAgIHRoaXMucGFnZUxvYWRlci5nZXRNaWRkbGV3YXJlKClcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGZhaWwgdG8gcmVzb2x2ZSB0aGUgcGFnZSBsaXN0IG9yIGNsaWVudC1idWlsZCBtYW5pZmVzdCwgd2UgbXVzdFxuICAgICAgICAgICAgLy8gZG8gYSBzZXJ2ZXItc2lkZSB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIHVybDogYXMsXG4gICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBhc2tlZCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgVVJMIHdlIHNob3VsZCByZWxvYWQgdGhlIGN1cnJlbnQgcGFnZVxuICAgICAgICAvLyAobm90IGxvY2F0aW9uLnJlbG9hZCgpIGJ1dCByZWxvYWQgZ2V0SW5pdGlhbFByb3BzIGFuZCBvdGhlciBOZXh0LmpzIHN0dWZmcylcbiAgICAgICAgLy8gV2UgYWxzbyBuZWVkIHRvIHNldCB0aGUgbWV0aG9kID0gcmVwbGFjZVN0YXRlIGFsd2F5c1xuICAgICAgICAvLyBhcyB0aGlzIHNob3VsZCBub3QgZ28gaW50byB0aGUgaGlzdG9yeSAoVGhhdCdzIGhvdyBicm93c2VycyB3b3JrKVxuICAgICAgICAvLyBXZSBzaG91bGQgY29tcGFyZSB0aGUgbmV3IGFzUGF0aCB0byB0aGUgY3VycmVudCBhc1BhdGgsIG5vdCB0aGUgdXJsXG4gICAgICAgIGlmICghdGhpcy51cmxJc05ldyhjbGVhbmVkQXMpICYmICFsb2NhbGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIG1ldGhvZCA9IFwicmVwbGFjZVN0YXRlXCI7XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2UgbmVlZCB0byByZXNvbHZlIHRoZSBhcyB2YWx1ZSB1c2luZyByZXdyaXRlcyBmb3IgZHluYW1pYyBTU0dcbiAgICAgICAgLy8gcGFnZXMgdG8gYWxsb3cgYnVpbGRpbmcgdGhlIGRhdGEgVVJMIGNvcnJlY3RseVxuICAgICAgICBsZXQgcmVzb2x2ZWRBcyA9IGFzO1xuICAgICAgICAvLyB1cmwgYW5kIGFzIHNob3VsZCBhbHdheXMgYmUgcHJlZml4ZWQgd2l0aCBiYXNlUGF0aCBieSB0aGlzXG4gICAgICAgIC8vIHBvaW50IGJ5IGVpdGhlciBuZXh0L2xpbmsgb3Igcm91dGVyLnB1c2gvcmVwbGFjZSBzbyBzdHJpcCB0aGVcbiAgICAgICAgLy8gYmFzZVBhdGggZnJvbSB0aGUgcGF0aG5hbWUgdG8gbWF0Y2ggdGhlIHBhZ2VzIGRpciAxLXRvLTFcbiAgICAgICAgcGF0aG5hbWUgPSBwYXRobmFtZSA/ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKSgoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKShwYXRobmFtZSkpIDogcGF0aG5hbWU7XG4gICAgICAgIGxldCByb3V0ZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG4gICAgICAgIGNvbnN0IHBhcnNlZEFzUGF0aG5hbWUgPSBhcy5zdGFydHNXaXRoKFwiL1wiKSAmJiAoMCwgX3BhcnNlcmVsYXRpdmV1cmwucGFyc2VSZWxhdGl2ZVVybCkoYXMpLnBhdGhuYW1lO1xuICAgICAgICBjb25zdCBpc01pZGRsZXdhcmVSZXdyaXRlID0gISEocGFyc2VkQXNQYXRobmFtZSAmJiByb3V0ZSAhPT0gcGFyc2VkQXNQYXRobmFtZSAmJiAoISgwLCBfaXNkeW5hbWljLmlzRHluYW1pY1JvdXRlKShyb3V0ZSkgfHwgISgwLCBfcm91dGVtYXRjaGVyLmdldFJvdXRlTWF0Y2hlcikoKDAsIF9yb3V0ZXJlZ2V4LmdldFJvdXRlUmVnZXgpKHJvdXRlKSkocGFyc2VkQXNQYXRobmFtZSkpKTtcbiAgICAgICAgLy8gd2UgZG9uJ3QgYXR0ZW1wdCByZXNvbHZlIGFzUGF0aCB3aGVuIHdlIG5lZWQgdG8gZXhlY3V0ZVxuICAgICAgICAvLyBtaWRkbGV3YXJlIGFzIHRoZSByZXNvbHZpbmcgd2lsbCBvY2N1ciBzZXJ2ZXItc2lkZVxuICAgICAgICBjb25zdCBpc01pZGRsZXdhcmVNYXRjaCA9ICFvcHRpb25zLnNoYWxsb3cgJiYgYXdhaXQgbWF0Y2hlc01pZGRsZXdhcmUoe1xuICAgICAgICAgICAgYXNQYXRoOiBhcyxcbiAgICAgICAgICAgIGxvY2FsZTogbmV4dFN0YXRlLmxvY2FsZSxcbiAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzUXVlcnlVcGRhdGluZyAmJiBpc01pZGRsZXdhcmVNYXRjaCkge1xuICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZUhyZWYgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkUmVzb2x2ZUhyZWYgJiYgcGF0aG5hbWUgIT09IFwiL19lcnJvclwiKSB7XG4gICAgICAgICAgICBvcHRpb25zLl9zaG91bGRSZXNvbHZlSHJlZiA9IHRydWU7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0hBU19SRVdSSVRFUyAmJiBhcy5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJld3JpdGVzUmVzdWx0ID0gKDAsIF9yZXNvbHZlcmV3cml0ZXMuZGVmYXVsdCkoKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShjbGVhbmVkQXMsIG5leHRTdGF0ZS5sb2NhbGUpLCB0cnVlKSwgcGFnZXMsIHJld3JpdGVzLCBxdWVyeSwgKHApPT5yZXNvbHZlRHluYW1pY1JvdXRlKHAsIHBhZ2VzKSwgdGhpcy5sb2NhbGVzKTtcbiAgICAgICAgICAgICAgICBpZiAocmV3cml0ZXNSZXN1bHQuZXh0ZXJuYWxEZXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYXMsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWlzTWlkZGxld2FyZU1hdGNoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVkQXMgPSByZXdyaXRlc1Jlc3VsdC5hc1BhdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXdyaXRlc1Jlc3VsdC5tYXRjaGVkUGFnZSAmJiByZXdyaXRlc1Jlc3VsdC5yZXNvbHZlZEhyZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBkaXJlY3RseSBtYXRjaGVzIGEgcGFnZSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaHJlZiB0b1xuICAgICAgICAgICAgICAgICAgICAvLyBhbGxvdyB0aGUgY29ycmVjdCBwYWdlIGNodW5rIHRvIGJlIGxvYWRlZFxuICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSA9IHJld3JpdGVzUmVzdWx0LnJlc29sdmVkSHJlZjtcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkocGF0aG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTWlkZGxld2FyZU1hdGNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikocGFyc2VkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gcmVzb2x2ZUR5bmFtaWNSb3V0ZShwYXRobmFtZSwgcGFnZXMpO1xuICAgICAgICAgICAgICAgIGlmIChwYXJzZWQucGF0aG5hbWUgIT09IHBhdGhuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lID0gcGFyc2VkLnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWQucGF0aG5hbWUgPSAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShwYXRobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNNaWRkbGV3YXJlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9ICgwLCBfZm9ybWF0dXJsLmZvcm1hdFdpdGhWYWxpZGF0aW9uKShwYXJzZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghKDAsIF9pc2xvY2FsdXJsLmlzTG9jYWxVUkwpKGFzKSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBocmVmOiBcIicgKyB1cmwgKyAnXCIgYW5kIGFzOiBcIicgKyBhcyArICdcIiwgcmVjZWl2ZWQgcmVsYXRpdmUgaHJlZiBhbmQgZXh0ZXJuYWwgYXMnICsgXCJcXG5TZWUgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9pbnZhbGlkLXJlbGF0aXZlLXVybC1leHRlcm5hbC1hc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICB1cmw6IGFzLFxuICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZWRBcyA9ICgwLCBfcmVtb3ZlbG9jYWxlLnJlbW92ZUxvY2FsZSkoKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkocmVzb2x2ZWRBcyksIG5leHRTdGF0ZS5sb2NhbGUpO1xuICAgICAgICByb3V0ZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG4gICAgICAgIGxldCByb3V0ZU1hdGNoID0gZmFsc2U7XG4gICAgICAgIGlmICgoMCwgX2lzZHluYW1pYy5pc0R5bmFtaWNSb3V0ZSkocm91dGUpKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRBcyA9ICgwLCBfcGFyc2VyZWxhdGl2ZXVybC5wYXJzZVJlbGF0aXZlVXJsKShyZXNvbHZlZEFzKTtcbiAgICAgICAgICAgIGNvbnN0IGFzUGF0aG5hbWUgPSBwYXJzZWRBcy5wYXRobmFtZTtcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlUmVnZXggPSAoMCwgX3JvdXRlcmVnZXguZ2V0Um91dGVSZWdleCkocm91dGUpO1xuICAgICAgICAgICAgcm91dGVNYXRjaCA9ICgwLCBfcm91dGVtYXRjaGVyLmdldFJvdXRlTWF0Y2hlcikocm91dGVSZWdleCkoYXNQYXRobmFtZSk7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRJbnRlcnBvbGF0ZSA9IHJvdXRlID09PSBhc1BhdGhuYW1lO1xuICAgICAgICAgICAgY29uc3QgaW50ZXJwb2xhdGVkQXMgPSBzaG91bGRJbnRlcnBvbGF0ZSA/ICgwLCBfaW50ZXJwb2xhdGVhcy5pbnRlcnBvbGF0ZUFzKShyb3V0ZSwgYXNQYXRobmFtZSwgcXVlcnkpIDoge307XG4gICAgICAgICAgICBpZiAoIXJvdXRlTWF0Y2ggfHwgc2hvdWxkSW50ZXJwb2xhdGUgJiYgIWludGVycG9sYXRlZEFzLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1pc3NpbmdQYXJhbXMgPSBPYmplY3Qua2V5cyhyb3V0ZVJlZ2V4Lmdyb3VwcykuZmlsdGVyKChwYXJhbSk9PiFxdWVyeVtwYXJhbV0gJiYgIXJvdXRlUmVnZXguZ3JvdXBzW3BhcmFtXS5vcHRpb25hbCk7XG4gICAgICAgICAgICAgICAgaWYgKG1pc3NpbmdQYXJhbXMubGVuZ3RoID4gMCAmJiAhaXNNaWRkbGV3YXJlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiXCIgKyAoc2hvdWxkSW50ZXJwb2xhdGUgPyBcIkludGVycG9sYXRpbmcgaHJlZlwiIDogXCJNaXNtYXRjaGluZyBgYXNgIGFuZCBgaHJlZmBcIikgKyBcIiBmYWlsZWQgdG8gbWFudWFsbHkgcHJvdmlkZSBcIiArIChcInRoZSBwYXJhbXM6IFwiICsgbWlzc2luZ1BhcmFtcy5qb2luKFwiLCBcIikgKyBcIiBpbiB0aGUgYGhyZWZgJ3MgYHF1ZXJ5YFwiKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKChzaG91bGRJbnRlcnBvbGF0ZSA/IFwiVGhlIHByb3ZpZGVkIGBocmVmYCAoXCIgKyB1cmwgKyBcIikgdmFsdWUgaXMgbWlzc2luZyBxdWVyeSB2YWx1ZXMgKFwiICsgbWlzc2luZ1BhcmFtcy5qb2luKFwiLCBcIikgKyBcIikgdG8gYmUgaW50ZXJwb2xhdGVkIHByb3Blcmx5LiBcIiA6IFwiVGhlIHByb3ZpZGVkIGBhc2AgdmFsdWUgKFwiICsgYXNQYXRobmFtZSArIFwiKSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgYGhyZWZgIHZhbHVlIChcIiArIHJvdXRlICsgXCIpLiBcIikgKyAoXCJSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL1wiICsgKHNob3VsZEludGVycG9sYXRlID8gXCJocmVmLWludGVycG9sYXRpb24tZmFpbGVkXCIgOiBcImluY29tcGF0aWJsZS1ocmVmLWFzXCIpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChzaG91bGRJbnRlcnBvbGF0ZSkge1xuICAgICAgICAgICAgICAgIGFzID0gKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKE9iamVjdC5hc3NpZ24oe30sIHBhcnNlZEFzLCB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiBpbnRlcnBvbGF0ZWRBcy5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiAoMCwgX29taXQub21pdCkocXVlcnksIGludGVycG9sYXRlZEFzLnBhcmFtcylcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE1lcmdlIHBhcmFtcyBpbnRvIGBxdWVyeWAsIG92ZXJ3cml0aW5nIGFueSBzcGVjaWZpZWQgaW4gc2VhcmNoXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihxdWVyeSwgcm91dGVNYXRjaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1F1ZXJ5VXBkYXRpbmcpIHtcbiAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcInJvdXRlQ2hhbmdlU3RhcnRcIiwgYXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzRXJyb3JSb3V0ZSA9IHRoaXMucGF0aG5hbWUgPT09IFwiLzQwNFwiIHx8IHRoaXMucGF0aG5hbWUgPT09IFwiL19lcnJvclwiO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIF9zZWxmX19fTkVYVF9EQVRBX19fcHJvcHMsIF9zZWxmX19fTkVYVF9EQVRBX19fcHJvcHNfcGFnZVByb3BzLCBfcm91dGVJbmZvX3Byb3BzO1xuICAgICAgICAgICAgbGV0IHJvdXRlSW5mbyA9IGF3YWl0IHRoaXMuZ2V0Um91dGVJbmZvKHtcbiAgICAgICAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICBhcyxcbiAgICAgICAgICAgICAgICByZXNvbHZlZEFzLFxuICAgICAgICAgICAgICAgIHJvdXRlUHJvcHMsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBuZXh0U3RhdGUubG9jYWxlLFxuICAgICAgICAgICAgICAgIGlzUHJldmlldzogbmV4dFN0YXRlLmlzUHJldmlldyxcbiAgICAgICAgICAgICAgICBoYXNNaWRkbGV3YXJlOiBpc01pZGRsZXdhcmVNYXRjaCxcbiAgICAgICAgICAgICAgICB1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGU6IG9wdGlvbnMudW5zdGFibGVfc2tpcENsaWVudENhY2hlLFxuICAgICAgICAgICAgICAgIGlzUXVlcnlVcGRhdGluZzogaXNRdWVyeVVwZGF0aW5nICYmICF0aGlzLmlzRmFsbGJhY2ssXG4gICAgICAgICAgICAgICAgaXNNaWRkbGV3YXJlUmV3cml0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIWlzUXVlcnlVcGRhdGluZyAmJiAhb3B0aW9ucy5zaGFsbG93KSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fYmZsKGFzLCBcInJlc29sdmVkQXNcIiBpbiByb3V0ZUluZm8gPyByb3V0ZUluZm8ucmVzb2x2ZWRBcyA6IHVuZGVmaW5lZCwgbmV4dFN0YXRlLmxvY2FsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXCJyb3V0ZVwiIGluIHJvdXRlSW5mbyAmJiBpc01pZGRsZXdhcmVNYXRjaCkge1xuICAgICAgICAgICAgICAgIHBhdGhuYW1lID0gcm91dGVJbmZvLnJvdXRlIHx8IHJvdXRlO1xuICAgICAgICAgICAgICAgIHJvdXRlID0gcGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCFyb3V0ZVByb3BzLnNoYWxsb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBPYmplY3QuYXNzaWduKHt9LCByb3V0ZUluZm8ucXVlcnkgfHwge30sIHF1ZXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgY2xlYW5lZFBhcnNlZFBhdGhuYW1lID0gKDAsIF9oYXNiYXNlcGF0aC5oYXNCYXNlUGF0aCkocGFyc2VkLnBhdGhuYW1lKSA/ICgwLCBfcmVtb3ZlYmFzZXBhdGgucmVtb3ZlQmFzZVBhdGgpKHBhcnNlZC5wYXRobmFtZSkgOiBwYXJzZWQucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlTWF0Y2ggJiYgcGF0aG5hbWUgIT09IGNsZWFuZWRQYXJzZWRQYXRobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhyb3V0ZU1hdGNoKS5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocm91dGVNYXRjaCAmJiBxdWVyeVtrZXldID09PSByb3V0ZU1hdGNoW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgcXVlcnlba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzZHluYW1pYy5pc0R5bmFtaWNSb3V0ZSkocGF0aG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZWZpeGVkQXMgPSAhcm91dGVQcm9wcy5zaGFsbG93ICYmIHJvdXRlSW5mby5yZXNvbHZlZEFzID8gcm91dGVJbmZvLnJlc29sdmVkQXMgOiAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKSgoMCwgX2FkZGxvY2FsZS5hZGRMb2NhbGUpKG5ldyBVUkwoYXMsIGxvY2F0aW9uLmhyZWYpLnBhdGhuYW1lLCBuZXh0U3RhdGUubG9jYWxlKSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZXdyaXRlQXMgPSBwcmVmaXhlZEFzO1xuICAgICAgICAgICAgICAgICAgICBpZiAoKDAsIF9oYXNiYXNlcGF0aC5oYXNCYXNlUGF0aCkocmV3cml0ZUFzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV3cml0ZUFzID0gKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkocmV3cml0ZUFzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlUmVzdWx0ID0gKDAsIF9ub3JtYWxpemVsb2NhbGVwYXRoLm5vcm1hbGl6ZUxvY2FsZVBhdGgpKHJld3JpdGVBcywgdGhpcy5sb2NhbGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHRTdGF0ZS5sb2NhbGUgPSBsb2NhbGVSZXN1bHQuZGV0ZWN0ZWRMb2NhbGUgfHwgbmV4dFN0YXRlLmxvY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVBcyA9IGxvY2FsZVJlc3VsdC5wYXRobmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3V0ZVJlZ2V4ID0gKDAsIF9yb3V0ZXJlZ2V4LmdldFJvdXRlUmVnZXgpKHBhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VyUm91dGVNYXRjaCA9ICgwLCBfcm91dGVtYXRjaGVyLmdldFJvdXRlTWF0Y2hlcikocm91dGVSZWdleCkobmV3IFVSTChyZXdyaXRlQXMsIGxvY2F0aW9uLmhyZWYpLnBhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1clJvdXRlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ocXVlcnksIGN1clJvdXRlTWF0Y2gpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhlIHJvdXRlSW5mbyBicmluZ3MgYSByZWRpcmVjdCB3ZSBzaW1wbHkgYXBwbHkgaXQuXG4gICAgICAgICAgICBpZiAoXCJ0eXBlXCIgaW4gcm91dGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlSW5mby50eXBlID09PSBcInJlZGlyZWN0LWludGVybmFsXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhbmdlKG1ldGhvZCwgcm91dGVJbmZvLm5ld1VybCwgcm91dGVJbmZvLm5ld0FzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVIYXJkTmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJvdXRlSW5mby5kZXN0aW5hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKCgpPT57fSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gcm91dGVJbmZvLkNvbXBvbmVudDtcbiAgICAgICAgICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50LnVuc3RhYmxlX3NjcmlwdExvYWRlcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdHMgPSBbXS5jb25jYXQoY29tcG9uZW50LnVuc3RhYmxlX3NjcmlwdExvYWRlcigpKTtcbiAgICAgICAgICAgICAgICBzY3JpcHRzLmZvckVhY2goKHNjcmlwdCk9PntcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9zY3JpcHQuaGFuZGxlQ2xpZW50U2NyaXB0TG9hZCkoc2NyaXB0LnByb3BzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGhhbmRsZSByZWRpcmVjdCBvbiBjbGllbnQtdHJhbnNpdGlvblxuICAgICAgICAgICAgaWYgKChyb3V0ZUluZm8uX19OX1NTRyB8fCByb3V0ZUluZm8uX19OX1NTUCkgJiYgcm91dGVJbmZvLnByb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlSW5mby5wcm9wcy5wYWdlUHJvcHMgJiYgcm91dGVJbmZvLnByb3BzLnBhZ2VQcm9wcy5fX05fUkVESVJFQ1QpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBkZXN0aW5hdGlvbiBmcm9tIHJlZGlyZWN0IHdpdGhvdXQgYWRkaW5nIGxvY2FsZVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmxvY2FsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXN0aW5hdGlvbiA9IHJvdXRlSW5mby5wcm9wcy5wYWdlUHJvcHMuX19OX1JFRElSRUNUO1xuICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBkZXN0aW5hdGlvbiBpcyBpbnRlcm5hbCAocmVzb2x2ZXMgdG8gYSBwYWdlKSBhbmQgYXR0ZW1wdFxuICAgICAgICAgICAgICAgICAgICAvLyBjbGllbnQtbmF2aWdhdGlvbiBpZiBpdCBpcyBmYWxsaW5nIGJhY2sgdG8gaGFyZCBuYXZpZ2F0aW9uIGlmXG4gICAgICAgICAgICAgICAgICAgIC8vIGl0J3Mgbm90XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZXN0aW5hdGlvbi5zdGFydHNXaXRoKFwiL1wiKSAmJiByb3V0ZUluZm8ucHJvcHMucGFnZVByb3BzLl9fTl9SRURJUkVDVF9CQVNFX1BBVEggIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRIcmVmID0gKDAsIF9wYXJzZXJlbGF0aXZldXJsLnBhcnNlUmVsYXRpdmVVcmwpKGRlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZEhyZWYucGF0aG5hbWUgPSByZXNvbHZlRHluYW1pY1JvdXRlKHBhcnNlZEhyZWYucGF0aG5hbWUsIHBhZ2VzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgdXJsOiBuZXdVcmwgLCBhczogbmV3QXMgIH0gPSBwcmVwYXJlVXJsQXModGhpcywgZGVzdGluYXRpb24sIGRlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYW5nZShtZXRob2QsIG5ld1VybCwgbmV3QXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUhhcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZGVzdGluYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgoKT0+e30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUuaXNQcmV2aWV3ID0gISFyb3V0ZUluZm8ucHJvcHMuX19OX1BSRVZJRVc7XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIFNTRyBkYXRhIDQwNFxuICAgICAgICAgICAgICAgIGlmIChyb3V0ZUluZm8ucHJvcHMubm90Rm91bmQgPT09IFNTR19EQVRBX05PVF9GT1VORCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbm90Rm91bmRSb3V0ZTtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZmV0Y2hDb21wb25lbnQoXCIvNDA0XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmRSb3V0ZSA9IFwiLzQwNFwiO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZFJvdXRlID0gXCIvX2Vycm9yXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcm91dGVJbmZvID0gYXdhaXQgdGhpcy5nZXRSb3V0ZUluZm8oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGU6IG5vdEZvdW5kUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZTogbm90Rm91bmRSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXMsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlZEFzLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVQcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWxsb3c6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBuZXh0U3RhdGUubG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNQcmV2aWV3OiBuZXh0U3RhdGUuaXNQcmV2aWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNOb3RGb3VuZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFwidHlwZVwiIGluIHJvdXRlSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5leHBlY3RlZCBtaWRkbGV3YXJlIGVmZmVjdCBvbiAvNDA0XCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzUXVlcnlVcGRhdGluZyAmJiB0aGlzLnBhdGhuYW1lID09PSBcIi9fZXJyb3JcIiAmJiAoKF9zZWxmX19fTkVYVF9EQVRBX19fcHJvcHMgPSBzZWxmLl9fTkVYVF9EQVRBX18ucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wc19wYWdlUHJvcHMgPSBfc2VsZl9fX05FWFRfREFUQV9fX3Byb3BzLnBhZ2VQcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9zZWxmX19fTkVYVF9EQVRBX19fcHJvcHNfcGFnZVByb3BzLnN0YXR1c0NvZGUpID09PSA1MDAgJiYgKChfcm91dGVJbmZvX3Byb3BzID0gcm91dGVJbmZvLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX3JvdXRlSW5mb19wcm9wcy5wYWdlUHJvcHMpKSB7XG4gICAgICAgICAgICAgICAgLy8gZW5zdXJlIHN0YXR1c0NvZGUgaXMgc3RpbGwgY29ycmVjdCBmb3Igc3RhdGljIDUwMCBwYWdlXG4gICAgICAgICAgICAgICAgLy8gd2hlbiB1cGRhdGluZyBxdWVyeSBpbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgIHJvdXRlSW5mby5wcm9wcy5wYWdlUHJvcHMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBfcm91dGVJbmZvX3JvdXRlO1xuICAgICAgICAgICAgLy8gc2hhbGxvdyByb3V0aW5nIGlzIG9ubHkgYWxsb3dlZCBmb3Igc2FtZSBwYWdlIFVSTCBjaGFuZ2VzLlxuICAgICAgICAgICAgY29uc3QgaXNWYWxpZFNoYWxsb3dSb3V0ZSA9IG9wdGlvbnMuc2hhbGxvdyAmJiBuZXh0U3RhdGUucm91dGUgPT09ICgoX3JvdXRlSW5mb19yb3V0ZSA9IHJvdXRlSW5mby5yb3V0ZSkgIT0gbnVsbCA/IF9yb3V0ZUluZm9fcm91dGUgOiByb3V0ZSk7XG4gICAgICAgICAgICB2YXIgX29wdGlvbnNfc2Nyb2xsO1xuICAgICAgICAgICAgY29uc3Qgc2hvdWxkU2Nyb2xsID0gKF9vcHRpb25zX3Njcm9sbCA9IG9wdGlvbnMuc2Nyb2xsKSAhPSBudWxsID8gX29wdGlvbnNfc2Nyb2xsIDogIWlzUXVlcnlVcGRhdGluZyAmJiAhaXNWYWxpZFNoYWxsb3dSb3V0ZTtcbiAgICAgICAgICAgIGNvbnN0IHJlc2V0U2Nyb2xsID0gc2hvdWxkU2Nyb2xsID8ge1xuICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgeTogMFxuICAgICAgICAgICAgfSA6IG51bGw7XG4gICAgICAgICAgICBjb25zdCB1cGNvbWluZ1Njcm9sbFN0YXRlID0gZm9yY2VkU2Nyb2xsICE9IG51bGwgPyBmb3JjZWRTY3JvbGwgOiByZXNldFNjcm9sbDtcbiAgICAgICAgICAgIC8vIHRoZSBuZXcgc3RhdGUgdGhhdCB0aGUgcm91dGVyIGdvbm5hIHNldFxuICAgICAgICAgICAgY29uc3QgdXBjb21pbmdSb3V0ZXJTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICAuLi5uZXh0U3RhdGUsXG4gICAgICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgYXNQYXRoOiBjbGVhbmVkQXMsXG4gICAgICAgICAgICAgICAgaXNGYWxsYmFjazogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyBXaGVuIHRoZSBwYWdlIGJlaW5nIHJlbmRlcmVkIGlzIHRoZSA0MDQgcGFnZSwgd2Ugc2hvdWxkIG9ubHkgdXBkYXRlIHRoZVxuICAgICAgICAgICAgLy8gcXVlcnkgcGFyYW1ldGVycy4gUm91dGUgY2hhbmdlcyBoZXJlIG1pZ2h0IGFkZCB0aGUgYmFzZVBhdGggd2hlbiBpdFxuICAgICAgICAgICAgLy8gd2Fzbid0IG9yaWdpbmFsbHkgcHJlc2VudC4gVGhpcyBpcyBhbHNvIHdoeSB0aGlzIGJsb2NrIGlzIGJlZm9yZSB0aGVcbiAgICAgICAgICAgIC8vIGJlbG93IGBjaGFuZ2VTdGF0ZWAgY2FsbCB3aGljaCB1cGRhdGVzIHRoZSBicm93c2VyJ3MgaGlzdG9yeSAoY2hhbmdpbmdcbiAgICAgICAgICAgIC8vIHRoZSBVUkwpLlxuICAgICAgICAgICAgaWYgKGlzUXVlcnlVcGRhdGluZyAmJiBpc0Vycm9yUm91dGUpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wczEsIF9zZWxmX19fTkVYVF9EQVRBX19fcHJvcHNfcGFnZVByb3BzMSwgX3JvdXRlSW5mb19wcm9wczE7XG4gICAgICAgICAgICAgICAgcm91dGVJbmZvID0gYXdhaXQgdGhpcy5nZXRSb3V0ZUluZm8oe1xuICAgICAgICAgICAgICAgICAgICByb3V0ZTogdGhpcy5wYXRobmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWU6IHRoaXMucGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICBhcyxcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgcm91dGVQcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hhbGxvdzogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBuZXh0U3RhdGUubG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICBpc1ByZXZpZXc6IG5leHRTdGF0ZS5pc1ByZXZpZXcsXG4gICAgICAgICAgICAgICAgICAgIGlzUXVlcnlVcGRhdGluZzogaXNRdWVyeVVwZGF0aW5nICYmICF0aGlzLmlzRmFsbGJhY2tcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoXCJ0eXBlXCIgaW4gcm91dGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgbWlkZGxld2FyZSBlZmZlY3Qgb24gXCIgKyB0aGlzLnBhdGhuYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGF0aG5hbWUgPT09IFwiL19lcnJvclwiICYmICgoX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wczEgPSBzZWxmLl9fTkVYVF9EQVRBX18ucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wc19wYWdlUHJvcHMxID0gX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wczEucGFnZVByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wc19wYWdlUHJvcHMxLnN0YXR1c0NvZGUpID09PSA1MDAgJiYgKChfcm91dGVJbmZvX3Byb3BzMSA9IHJvdXRlSW5mby5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9yb3V0ZUluZm9fcHJvcHMxLnBhZ2VQcm9wcykpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHN0YXR1c0NvZGUgaXMgc3RpbGwgY29ycmVjdCBmb3Igc3RhdGljIDUwMCBwYWdlXG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdXBkYXRpbmcgcXVlcnkgaW5mb3JtYXRpb25cbiAgICAgICAgICAgICAgICAgICAgcm91dGVJbmZvLnByb3BzLnBhZ2VQcm9wcy5zdGF0dXNDb2RlID0gNTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNldCh1cGNvbWluZ1JvdXRlclN0YXRlLCByb3V0ZUluZm8sIHVwY29taW5nU2Nyb2xsU3RhdGUpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgUm91dGVyLmV2ZW50cy5lbWl0KFwicm91dGVDaGFuZ2VFcnJvclwiLCBlcnIsIGNsZWFuZWRBcywgcm91dGVQcm9wcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcImJlZm9yZUhpc3RvcnlDaGFuZ2VcIiwgYXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VTdGF0ZShtZXRob2QsIHVybCwgYXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgLy8gZm9yIHF1ZXJ5IHVwZGF0ZXMgd2UgY2FuIHNraXAgaXQgaWYgdGhlIHN0YXRlIGlzIHVuY2hhbmdlZCBhbmQgd2UgZG9uJ3RcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gc2Nyb2xsXG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvaXNzdWVzLzM3MTM5XG4gICAgICAgICAgICBjb25zdCBjYW5Ta2lwVXBkYXRpbmcgPSBpc1F1ZXJ5VXBkYXRpbmcgJiYgIXVwY29taW5nU2Nyb2xsU3RhdGUgJiYgIXJlYWR5U3RhdGVDaGFuZ2UgJiYgIWxvY2FsZUNoYW5nZSAmJiAoMCwgX2NvbXBhcmVzdGF0ZXMuY29tcGFyZVJvdXRlclN0YXRlcykodXBjb21pbmdSb3V0ZXJTdGF0ZSwgdGhpcy5zdGF0ZSk7XG4gICAgICAgICAgICBpZiAoIWNhblNraXBVcGRhdGluZykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0KHVwY29taW5nUm91dGVyU3RhdGUsIHJvdXRlSW5mbywgdXBjb21pbmdTY3JvbGxTdGF0ZSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5jYW5jZWxsZWQpIHJvdXRlSW5mby5lcnJvciA9IHJvdXRlSW5mby5lcnJvciB8fCBlO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIHRocm93IGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyb3V0ZUluZm8uZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1F1ZXJ5VXBkYXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcInJvdXRlQ2hhbmdlRXJyb3JcIiwgcm91dGVJbmZvLmVycm9yLCBjbGVhbmVkQXMsIHJvdXRlUHJvcHMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJvdXRlSW5mby5lcnJvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9JMThOX1NVUFBPUlQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHRTdGF0ZS5sb2NhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nID0gbmV4dFN0YXRlLmxvY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWlzUXVlcnlVcGRhdGluZykge1xuICAgICAgICAgICAgICAgICAgICBSb3V0ZXIuZXZlbnRzLmVtaXQoXCJyb3V0ZUNoYW5nZUNvbXBsZXRlXCIsIGFzLCByb3V0ZVByb3BzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gQSBoYXNoIG1hcmsgIyBpcyB0aGUgb3B0aW9uYWwgbGFzdCBwYXJ0IG9mIGEgVVJMXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzaFJlZ2V4ID0gLyMuKyQvO1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRTY3JvbGwgJiYgaGFzaFJlZ2V4LnRlc3QoYXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9IYXNoKGFzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjaGFuZ2VTdGF0ZShtZXRob2QsIHVybCwgYXMsIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgb3B0aW9ucyA9IHt9O1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy5oaXN0b3J5ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIldhcm5pbmc6IHdpbmRvdy5oaXN0b3J5IGlzIG5vdCBhdmFpbGFibGUuXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93Lmhpc3RvcnlbbWV0aG9kXSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJXYXJuaW5nOiB3aW5kb3cuaGlzdG9yeS5cIiArIG1ldGhvZCArIFwiIGlzIG5vdCBhdmFpbGFibGVcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgIT09IFwicHVzaFN0YXRlXCIgfHwgKDAsIF91dGlscy5nZXRVUkwpKCkgIT09IGFzKSB7XG4gICAgICAgICAgICB0aGlzLl9zaGFsbG93ID0gb3B0aW9ucy5zaGFsbG93O1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnlbbWV0aG9kXSh7XG4gICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgIGFzLFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgX19OOiB0cnVlLFxuICAgICAgICAgICAgICAgIGtleTogdGhpcy5fa2V5ID0gbWV0aG9kICE9PSBcInB1c2hTdGF0ZVwiID8gdGhpcy5fa2V5IDogY3JlYXRlS2V5KClcbiAgICAgICAgICAgIH0sIC8vIE1vc3QgYnJvd3NlcnMgY3VycmVudGx5IGlnbm9yZXMgdGhpcyBwYXJhbWV0ZXIsIGFsdGhvdWdoIHRoZXkgbWF5IHVzZSBpdCBpbiB0aGUgZnV0dXJlLlxuICAgICAgICAgICAgLy8gUGFzc2luZyB0aGUgZW1wdHkgc3RyaW5nIGhlcmUgc2hvdWxkIGJlIHNhZmUgYWdhaW5zdCBmdXR1cmUgY2hhbmdlcyB0byB0aGUgbWV0aG9kLlxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0hpc3RvcnkvcmVwbGFjZVN0YXRlXG4gICAgICAgICAgICBcIlwiLCBhcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgaGFuZGxlUm91dGVJbmZvRXJyb3IoZXJyLCBwYXRobmFtZSwgcXVlcnksIGFzLCByb3V0ZVByb3BzLCBsb2FkRXJyb3JGYWlsKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgaWYgKGVyci5jYW5jZWxsZWQpIHtcbiAgICAgICAgICAgIC8vIGJ1YmJsZSB1cCBjYW5jZWxsYXRpb24gZXJyb3JzXG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgwLCBfcm91dGVsb2FkZXIuaXNBc3NldEVycm9yKShlcnIpIHx8IGxvYWRFcnJvckZhaWwpIHtcbiAgICAgICAgICAgIFJvdXRlci5ldmVudHMuZW1pdChcInJvdXRlQ2hhbmdlRXJyb3JcIiwgZXJyLCBhcywgcm91dGVQcm9wcyk7XG4gICAgICAgICAgICAvLyBJZiB3ZSBjYW4ndCBsb2FkIHRoZSBwYWdlIGl0IGNvdWxkIGJlIG9uZSBvZiBmb2xsb3dpbmcgcmVhc29uc1xuICAgICAgICAgICAgLy8gIDEuIFBhZ2UgZG9lc24ndCBleGlzdHNcbiAgICAgICAgICAgIC8vICAyLiBQYWdlIGRvZXMgZXhpc3QgaW4gYSBkaWZmZXJlbnQgem9uZVxuICAgICAgICAgICAgLy8gIDMuIEludGVybmFsIGVycm9yIHdoaWxlIGxvYWRpbmcgdGhlIHBhZ2VcbiAgICAgICAgICAgIC8vIFNvLCBkb2luZyBhIGhhcmQgcmVsb2FkIGlzIHRoZSBwcm9wZXIgd2F5IHRvIGRlYWwgd2l0aCB0aGlzLlxuICAgICAgICAgICAgaGFuZGxlSGFyZE5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIHVybDogYXMsXG4gICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRoZSBVUkwgZG9lc24ndCBibG9jayBleGVjdXRpbmcgdGhlIGN1cnJlbnQgY29kZSBwYXRoLlxuICAgICAgICAgICAgLy8gU28gbGV0J3MgdGhyb3cgYSBjYW5jZWxsYXRpb24gZXJyb3Igc3RvcCB0aGUgcm91dGluZyBsb2dpYy5cbiAgICAgICAgICAgIHRocm93IGJ1aWxkQ2FuY2VsbGF0aW9uRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IHByb3BzO1xuICAgICAgICAgICAgY29uc3QgeyBwYWdlOiBDb21wb25lbnQgLCBzdHlsZVNoZWV0cyAgfSA9IGF3YWl0IHRoaXMuZmV0Y2hDb21wb25lbnQoXCIvX2Vycm9yXCIpO1xuICAgICAgICAgICAgY29uc3Qgcm91dGVJbmZvID0ge1xuICAgICAgICAgICAgICAgIHByb3BzLFxuICAgICAgICAgICAgICAgIENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBzdHlsZVNoZWV0cyxcbiAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVyclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICghcm91dGVJbmZvLnByb3BzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVJbmZvLnByb3BzID0gYXdhaXQgdGhpcy5nZXRJbml0aWFsUHJvcHMoQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGdpcEVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgaW4gZXJyb3IgcGFnZSBgZ2V0SW5pdGlhbFByb3BzYDogXCIsIGdpcEVycik7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlSW5mby5wcm9wcyA9IHt9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByb3V0ZUluZm87XG4gICAgICAgIH0gY2F0Y2ggKHJvdXRlSW5mb0Vycikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUm91dGVJbmZvRXJyb3IoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKHJvdXRlSW5mb0VycikgPyByb3V0ZUluZm9FcnIgOiBuZXcgRXJyb3Iocm91dGVJbmZvRXJyICsgXCJcIiksIHBhdGhuYW1lLCBxdWVyeSwgYXMsIHJvdXRlUHJvcHMsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGdldFJvdXRlSW5mbyhwYXJhbSkge1xuICAgICAgICBsZXQgeyByb3V0ZTogcmVxdWVzdGVkUm91dGUgLCBwYXRobmFtZSAsIHF1ZXJ5ICwgYXMgLCByZXNvbHZlZEFzICwgcm91dGVQcm9wcyAsIGxvY2FsZSAsIGhhc01pZGRsZXdhcmUgLCBpc1ByZXZpZXcgLCB1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUgLCBpc1F1ZXJ5VXBkYXRpbmcgLCBpc01pZGRsZXdhcmVSZXdyaXRlICwgaXNOb3RGb3VuZCAgfSA9IHBhcmFtO1xuICAgICAgICAvKipcbiAgICAgKiBUaGlzIGByb3V0ZWAgYmluZGluZyBjYW4gY2hhbmdlIGlmIHRoZXJlJ3MgYSByZXdyaXRlXG4gICAgICogc28gd2Uga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdGVkIHJvdXRlXG4gICAgICogc28gd2UgY2FuIHN0b3JlIHRoZSBjYWNoZSBmb3IgaXQgYW5kIGF2b2lkIHJlLXJlcXVlc3RpbmcgZXZlcnkgdGltZVxuICAgICAqIGZvciBzaGFsbG93IHJvdXRpbmcgcHVycG9zZXMuXG4gICAgICovIGxldCByb3V0ZSA9IHJlcXVlc3RlZFJvdXRlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIF9kYXRhX2VmZmVjdCwgX2RhdGFfZWZmZWN0MSwgX2RhdGFfZWZmZWN0MiwgX2RhdGFfcmVzcG9uc2U7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVDYW5jZWxsZWQgPSBnZXRDYW5jZWxsZWRIYW5kbGVyKHtcbiAgICAgICAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbGV0IGV4aXN0aW5nSW5mbyA9IHRoaXMuY29tcG9uZW50c1tyb3V0ZV07XG4gICAgICAgICAgICBpZiAocm91dGVQcm9wcy5zaGFsbG93ICYmIGV4aXN0aW5nSW5mbyAmJiB0aGlzLnJvdXRlID09PSByb3V0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBleGlzdGluZ0luZm87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaGFzTWlkZGxld2FyZSkge1xuICAgICAgICAgICAgICAgIGV4aXN0aW5nSW5mbyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBjYWNoZWRSb3V0ZUluZm8gPSBleGlzdGluZ0luZm8gJiYgIShcImluaXRpYWxcIiBpbiBleGlzdGluZ0luZm8pICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgPyBleGlzdGluZ0luZm8gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpc0JhY2tncm91bmQgPSBpc1F1ZXJ5VXBkYXRpbmc7XG4gICAgICAgICAgICBjb25zdCBmZXRjaE5leHREYXRhUGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIGRhdGFIcmVmOiB0aGlzLnBhZ2VMb2FkZXIuZ2V0RGF0YUhyZWYoe1xuICAgICAgICAgICAgICAgICAgICBocmVmOiAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgc2tpcEludGVycG9sYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGFzUGF0aDogaXNOb3RGb3VuZCA/IFwiLzQwNFwiIDogcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaGFzTWlkZGxld2FyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpc1NlcnZlclJlbmRlcjogdGhpcy5pc1NzcixcbiAgICAgICAgICAgICAgICBwYXJzZUpTT046IHRydWUsXG4gICAgICAgICAgICAgICAgaW5mbGlnaHRDYWNoZTogaXNCYWNrZ3JvdW5kID8gdGhpcy5zYmMgOiB0aGlzLnNkYyxcbiAgICAgICAgICAgICAgICBwZXJzaXN0Q2FjaGU6ICFpc1ByZXZpZXcsXG4gICAgICAgICAgICAgICAgaXNQcmVmZXRjaDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdW5zdGFibGVfc2tpcENsaWVudENhY2hlLFxuICAgICAgICAgICAgICAgIGlzQmFja2dyb3VuZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGxldCBkYXRhID0gaXNRdWVyeVVwZGF0aW5nICYmICFpc01pZGRsZXdhcmVSZXdyaXRlID8gbnVsbCA6IGF3YWl0IHdpdGhNaWRkbGV3YXJlRWZmZWN0cyh7XG4gICAgICAgICAgICAgICAgZmV0Y2hEYXRhOiAoKT0+ZmV0Y2hOZXh0RGF0YShmZXRjaE5leHREYXRhUGFyYW1zKSxcbiAgICAgICAgICAgICAgICBhc1BhdGg6IGlzTm90Rm91bmQgPyBcIi80MDRcIiA6IHJlc29sdmVkQXMsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICAgICAgICAgIC8vIHdlIGRvbid0IGhhcmQgZXJyb3IgZHVyaW5nIHF1ZXJ5IHVwZGF0aW5nXG4gICAgICAgICAgICAgICAgLy8gYXMgaXQncyB1bi1uZWNlc3NhcnkgYW5kIGRvZXNuJ3QgbmVlZCB0byBiZSBmYXRhbFxuICAgICAgICAgICAgICAgIC8vIHVubGVzcyBpdCBpcyBhIGZhbGxiYWNrIHJvdXRlIGFuZCB0aGUgcHJvcHMgY2FuJ3RcbiAgICAgICAgICAgICAgICAvLyBiZSBsb2FkZWRcbiAgICAgICAgICAgICAgICBpZiAoaXNRdWVyeVVwZGF0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIHdoZW4gcmVuZGVyaW5nIGVycm9yIHJvdXRlcyB3ZSBkb24ndCBhcHBseSBtaWRkbGV3YXJlXG4gICAgICAgICAgICAvLyBlZmZlY3RzXG4gICAgICAgICAgICBpZiAoZGF0YSAmJiAocGF0aG5hbWUgPT09IFwiL19lcnJvclwiIHx8IHBhdGhuYW1lID09PSBcIi80MDRcIikpIHtcbiAgICAgICAgICAgICAgICBkYXRhLmVmZmVjdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1F1ZXJ5VXBkYXRpbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb246IHNlbGYuX19ORVhUX0RBVEFfXy5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEuanNvbiA9IHNlbGYuX19ORVhUX0RBVEFfXy5wcm9wcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoYW5kbGVDYW5jZWxsZWQoKTtcbiAgICAgICAgICAgIGlmICgoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogKF9kYXRhX2VmZmVjdCA9IGRhdGEuZWZmZWN0KSA9PSBudWxsID8gdm9pZCAwIDogX2RhdGFfZWZmZWN0LnR5cGUpID09PSBcInJlZGlyZWN0LWludGVybmFsXCIgfHwgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IChfZGF0YV9lZmZlY3QxID0gZGF0YS5lZmZlY3QpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YV9lZmZlY3QxLnR5cGUpID09PSBcInJlZGlyZWN0LWV4dGVybmFsXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5lZmZlY3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IChfZGF0YV9lZmZlY3QyID0gZGF0YS5lZmZlY3QpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YV9lZmZlY3QyLnR5cGUpID09PSBcInJld3JpdGVcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkUm91dGUgPSAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZGF0YS5lZmZlY3QucmVzb2x2ZWRIcmVmKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYWdlcyA9IGF3YWl0IHRoaXMucGFnZUxvYWRlci5nZXRQYWdlTGlzdCgpO1xuICAgICAgICAgICAgICAgIC8vIGR1cmluZyBxdWVyeSB1cGRhdGluZyB0aGUgcGFnZSBtdXN0IG1hdGNoIGFsdGhvdWdoIGR1cmluZ1xuICAgICAgICAgICAgICAgIC8vIGNsaWVudC10cmFuc2l0aW9uIGEgcmVkaXJlY3QgdGhhdCBkb2Vzbid0IG1hdGNoIGEgcGFnZVxuICAgICAgICAgICAgICAgIC8vIGNhbiBiZSByZXR1cm5lZCBhbmQgdGhpcyBzaG91bGQgdHJpZ2dlciBhIGhhcmQgbmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIC8vIHdoaWNoIGlzIHZhbGlkIGZvciBpbmNyZW1lbnRhbCBtaWdyYXRpb25cbiAgICAgICAgICAgICAgICBpZiAoIWlzUXVlcnlVcGRhdGluZyB8fCBwYWdlcy5pbmNsdWRlcyhyZXNvbHZlZFJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByb3V0ZSA9IHJlc29sdmVkUm91dGU7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lID0gZGF0YS5lZmZlY3QucmVzb2x2ZWRIcmVmO1xuICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZGF0YS5lZmZlY3QucGFyc2VkQXMucXVlcnlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRBcyA9ICgwLCBfcmVtb3ZlYmFzZXBhdGgucmVtb3ZlQmFzZVBhdGgpKCgwLCBfbm9ybWFsaXplbG9jYWxlcGF0aC5ub3JtYWxpemVMb2NhbGVQYXRoKShkYXRhLmVmZmVjdC5wYXJzZWRBcy5wYXRobmFtZSwgdGhpcy5sb2NhbGVzKS5wYXRobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGFnYWluIHRoZSBjYWNoZSB3aXRoIHRoZSBuZXcgZGVzdGluYXRpb24uXG4gICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nSW5mbyA9IHRoaXMuY29tcG9uZW50c1tyb3V0ZV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChyb3V0ZVByb3BzLnNoYWxsb3cgJiYgZXhpc3RpbmdJbmZvICYmIHRoaXMucm91dGUgPT09IHJvdXRlICYmICFoYXNNaWRkbGV3YXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgbWF0Y2ggd2l0aCB0aGUgY3VycmVudCByb3V0ZSBkdWUgdG8gcmV3cml0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIGNhbiBjb3B5IHRoZSBleGlzdGluZyBpbmZvcm1hdGlvbiB0byB0aGUgcmV3cml0dGVuIG9uZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZW4sIHdlIHJldHVybiB0aGUgaW5mb3JtYXRpb24gYWxvbmcgd2l0aCB0aGUgbWF0Y2hlZCByb3V0ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZXhpc3RpbmdJbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCgwLCBfaXNhcGlyb3V0ZS5pc0FQSVJvdXRlKShyb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVIYXJkTmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgIHVybDogYXMsXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpc1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgoKT0+e30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgcm91dGVJbmZvID0gY2FjaGVkUm91dGVJbmZvIHx8IGF3YWl0IHRoaXMuZmV0Y2hDb21wb25lbnQocm91dGUpLnRoZW4oKHJlcyk9Pih7XG4gICAgICAgICAgICAgICAgICAgIENvbXBvbmVudDogcmVzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlU2hlZXRzOiByZXMuc3R5bGVTaGVldHMsXG4gICAgICAgICAgICAgICAgICAgIF9fTl9TU0c6IHJlcy5tb2QuX19OX1NTRyxcbiAgICAgICAgICAgICAgICAgICAgX19OX1NTUDogcmVzLm1vZC5fX05fU1NQXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgaXNWYWxpZEVsZW1lbnRUeXBlICB9ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdC1pc1wiKTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRFbGVtZW50VHlwZShyb3V0ZUluZm8uQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkZWZhdWx0IGV4cG9ydCBpcyBub3QgYSBSZWFjdCBDb21wb25lbnQgaW4gcGFnZTogXCInICsgcGF0aG5hbWUgKyAnXCInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB3YXNCYWlsZWRQcmVmZXRjaCA9IGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IChfZGF0YV9yZXNwb25zZSA9IGRhdGEucmVzcG9uc2UpID09IG51bGwgPyB2b2lkIDAgOiBfZGF0YV9yZXNwb25zZS5oZWFkZXJzLmdldChcIngtbWlkZGxld2FyZS1za2lwXCIpO1xuICAgICAgICAgICAgY29uc3Qgc2hvdWxkRmV0Y2hEYXRhID0gcm91dGVJbmZvLl9fTl9TU0cgfHwgcm91dGVJbmZvLl9fTl9TU1A7XG4gICAgICAgICAgICAvLyBGb3Igbm9uLVNTRyBwcmVmZXRjaGVzIHRoYXQgYmFpbGVkIGJlZm9yZSBzZW5kaW5nIGRhdGFcbiAgICAgICAgICAgIC8vIHdlIGNsZWFyIHRoZSBjYWNoZSB0byBmZXRjaCBmdWxsIHJlc3BvbnNlXG4gICAgICAgICAgICBpZiAod2FzQmFpbGVkUHJlZmV0Y2ggJiYgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuZGF0YUhyZWYpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuc2RjW2RhdGEuZGF0YUhyZWZdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBwcm9wcyAsIGNhY2hlS2V5ICB9ID0gYXdhaXQgdGhpcy5fZ2V0RGF0YShhc3luYyAoKT0+e1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRGZXRjaERhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLmpzb24pICYmICF3YXNCYWlsZWRQcmVmZXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleTogZGF0YS5jYWNoZUtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogZGF0YS5qc29uXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFIcmVmID0gKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuZGF0YUhyZWYpID8gZGF0YS5kYXRhSHJlZiA6IHRoaXMucGFnZUxvYWRlci5nZXREYXRhSHJlZih7XG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmOiAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzUGF0aDogcmVzb2x2ZWRBcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmV0Y2hlZCA9IGF3YWl0IGZldGNoTmV4dERhdGEoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUhyZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1NlcnZlclJlbmRlcjogdGhpcy5pc1NzcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSlNPTjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZmxpZ2h0Q2FjaGU6IHdhc0JhaWxlZFByZWZldGNoID8ge30gOiB0aGlzLnNkYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNpc3RDYWNoZTogIWlzUHJldmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUHJlZmV0Y2g6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5zdGFibGVfc2tpcENsaWVudENhY2hlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXk6IGZldGNoZWQuY2FjaGVLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogZmV0Y2hlZC5qc29uIHx8IHt9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogYXdhaXQgdGhpcy5nZXRJbml0aWFsUHJvcHMocm91dGVJbmZvLkNvbXBvbmVudCwgLy8gd2UgcHJvdmlkZSBBcHBUcmVlIGxhdGVyIHNvIHRoaXMgbmVlZHMgdG8gYmUgYGFueWBcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzUGF0aDogYXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzOiB0aGlzLmxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TG9jYWxlOiB0aGlzLmRlZmF1bHRMb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBPbmx5IGJ1c3QgdGhlIGRhdGEgY2FjaGUgZm9yIFNTUCByb3V0ZXMgYWx0aG91Z2hcbiAgICAgICAgICAgIC8vIG1pZGRsZXdhcmUgY2FuIHNraXAgY2FjaGUgcGVyIHJlcXVlc3Qgd2l0aFxuICAgICAgICAgICAgLy8geC1taWRkbGV3YXJlLWNhY2hlOiBuby1jYWNoZSBhcyB3ZWxsXG4gICAgICAgICAgICBpZiAocm91dGVJbmZvLl9fTl9TU1AgJiYgZmV0Y2hOZXh0RGF0YVBhcmFtcy5kYXRhSHJlZiAmJiBjYWNoZUtleSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnNkY1tjYWNoZUtleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB3ZSBraWNrIG9mZiBhIEhFQUQgcmVxdWVzdCBpbiB0aGUgYmFja2dyb3VuZFxuICAgICAgICAgICAgLy8gd2hlbiBhIG5vbi1wcmVmZXRjaCByZXF1ZXN0IGlzIG1hZGUgdG8gc2lnbmFsIHJldmFsaWRhdGlvblxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyAmJiByb3V0ZUluZm8uX19OX1NTRyAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmICFpc1F1ZXJ5VXBkYXRpbmcpIHtcbiAgICAgICAgICAgICAgICBmZXRjaE5leHREYXRhKE9iamVjdC5hc3NpZ24oe30sIGZldGNoTmV4dERhdGFQYXJhbXMsIHtcbiAgICAgICAgICAgICAgICAgICAgaXNCYWNrZ3JvdW5kOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwZXJzaXN0Q2FjaGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpbmZsaWdodENhY2hlOiB0aGlzLnNiY1xuICAgICAgICAgICAgICAgIH0pKS5jYXRjaCgoKT0+e30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvcHMucGFnZVByb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMucGFnZVByb3BzKTtcbiAgICAgICAgICAgIHJvdXRlSW5mby5wcm9wcyA9IHByb3BzO1xuICAgICAgICAgICAgcm91dGVJbmZvLnJvdXRlID0gcm91dGU7XG4gICAgICAgICAgICByb3V0ZUluZm8ucXVlcnkgPSBxdWVyeTtcbiAgICAgICAgICAgIHJvdXRlSW5mby5yZXNvbHZlZEFzID0gcmVzb2x2ZWRBcztcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50c1tyb3V0ZV0gPSByb3V0ZUluZm87XG4gICAgICAgICAgICByZXR1cm4gcm91dGVJbmZvO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJvdXRlSW5mb0Vycm9yKCgwLCBfaXNlcnJvci5nZXRQcm9wZXJFcnJvcikoZXJyKSwgcGF0aG5hbWUsIHF1ZXJ5LCBhcywgcm91dGVQcm9wcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0KHN0YXRlLCBkYXRhLCByZXNldFNjcm9sbCkge1xuICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YihkYXRhLCB0aGlzLmNvbXBvbmVudHNbXCIvX2FwcFwiXS5Db21wb25lbnQsIHJlc2V0U2Nyb2xsKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGV4ZWN1dGUgYmVmb3JlIHJlcGxhY2luZyByb3V0ZXIgc3RhdGVcbiAgICogQHBhcmFtIGNiIGNhbGxiYWNrIHRvIGJlIGV4ZWN1dGVkXG4gICAqLyBiZWZvcmVQb3BTdGF0ZShjYikge1xuICAgICAgICB0aGlzLl9icHMgPSBjYjtcbiAgICB9XG4gICAgb25seUFIYXNoQ2hhbmdlKGFzKSB7XG4gICAgICAgIGlmICghdGhpcy5hc1BhdGgpIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgW29sZFVybE5vSGFzaCwgb2xkSGFzaF0gPSB0aGlzLmFzUGF0aC5zcGxpdChcIiNcIik7XG4gICAgICAgIGNvbnN0IFtuZXdVcmxOb0hhc2gsIG5ld0hhc2hdID0gYXMuc3BsaXQoXCIjXCIpO1xuICAgICAgICAvLyBNYWtlcyBzdXJlIHdlIHNjcm9sbCB0byB0aGUgcHJvdmlkZWQgaGFzaCBpZiB0aGUgdXJsL2hhc2ggYXJlIHRoZSBzYW1lXG4gICAgICAgIGlmIChuZXdIYXNoICYmIG9sZFVybE5vSGFzaCA9PT0gbmV3VXJsTm9IYXNoICYmIG9sZEhhc2ggPT09IG5ld0hhc2gpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSB1cmxzIGFyZSBjaGFuZ2UsIHRoZXJlJ3MgbW9yZSB0aGFuIGEgaGFzaCBjaGFuZ2VcbiAgICAgICAgaWYgKG9sZFVybE5vSGFzaCAhPT0gbmV3VXJsTm9IYXNoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhlIGhhc2ggaGFzIGNoYW5nZWQsIHRoZW4gaXQncyBhIGhhc2ggb25seSBjaGFuZ2UuXG4gICAgICAgIC8vIFRoaXMgY2hlY2sgaXMgbmVjZXNzYXJ5IHRvIGhhbmRsZSBib3RoIHRoZSBlbnRlciBhbmRcbiAgICAgICAgLy8gbGVhdmUgaGFzaCA9PT0gJycgY2FzZXMuIFRoZSBpZGVudGl0eSBjYXNlIGZhbGxzIHRocm91Z2hcbiAgICAgICAgLy8gYW5kIGlzIHRyZWF0ZWQgYXMgYSBuZXh0IHJlbG9hZC5cbiAgICAgICAgcmV0dXJuIG9sZEhhc2ggIT09IG5ld0hhc2g7XG4gICAgfVxuICAgIHNjcm9sbFRvSGFzaChhcykge1xuICAgICAgICBjb25zdCBbLCBoYXNoID0gXCJcIl0gPSBhcy5zcGxpdChcIiNcIik7XG4gICAgICAgICgwLCBfaGFuZGxlc21vb3Roc2Nyb2xsLmhhbmRsZVNtb290aFNjcm9sbCkoKCk9PntcbiAgICAgICAgICAgIC8vIFNjcm9sbCB0byB0b3AgaWYgdGhlIGhhc2ggaXMganVzdCBgI2Agd2l0aCBubyB2YWx1ZSBvciBgI3RvcGBcbiAgICAgICAgICAgIC8vIFRvIG1pcnJvciBicm93c2Vyc1xuICAgICAgICAgICAgaWYgKGhhc2ggPT09IFwiXCIgfHwgaGFzaCA9PT0gXCJ0b3BcIikge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBEZWNvZGUgaGFzaCB0byBtYWtlIG5vbi1sYXRpbiBhbmNob3Igd29ya3MuXG4gICAgICAgICAgICBjb25zdCByYXdIYXNoID0gZGVjb2RlVVJJQ29tcG9uZW50KGhhc2gpO1xuICAgICAgICAgICAgLy8gRmlyc3Qgd2UgY2hlY2sgaWYgdGhlIGVsZW1lbnQgYnkgaWQgaXMgZm91bmRcbiAgICAgICAgICAgIGNvbnN0IGlkRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyYXdIYXNoKTtcbiAgICAgICAgICAgIGlmIChpZEVsKSB7XG4gICAgICAgICAgICAgICAgaWRFbC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gZWxlbWVudCB3aXRoIHRoZSBpZCwgd2UgY2hlY2sgdGhlIGBuYW1lYCBwcm9wZXJ0eVxuICAgICAgICAgICAgLy8gVG8gbWlycm9yIGJyb3dzZXJzXG4gICAgICAgICAgICBjb25zdCBuYW1lRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShyYXdIYXNoKVswXTtcbiAgICAgICAgICAgIGlmIChuYW1lRWwpIHtcbiAgICAgICAgICAgICAgICBuYW1lRWwuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwge1xuICAgICAgICAgICAgb25seUhhc2hDaGFuZ2U6IHRoaXMub25seUFIYXNoQ2hhbmdlKGFzKVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdXJsSXNOZXcoYXNQYXRoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFzUGF0aCAhPT0gYXNQYXRoO1xuICAgIH1cbiAgICAvKipcbiAgICogUHJlZmV0Y2ggcGFnZSBjb2RlLCB5b3UgbWF5IHdhaXQgZm9yIHRoZSBkYXRhIGR1cmluZyBwYWdlIHJlbmRlcmluZy5cbiAgICogVGhpcyBmZWF0dXJlIG9ubHkgd29ya3MgaW4gcHJvZHVjdGlvbiFcbiAgICogQHBhcmFtIHVybCB0aGUgaHJlZiBvZiBwcmVmZXRjaGVkIHBhZ2VcbiAgICogQHBhcmFtIGFzUGF0aCB0aGUgYXMgcGF0aCBvZiB0aGUgcHJlZmV0Y2hlZCBwYWdlXG4gICAqLyBhc3luYyBwcmVmZXRjaCh1cmwsIGFzUGF0aCwgb3B0aW9ucykge1xuICAgICAgICBpZiAoYXNQYXRoID09PSB2b2lkIDApIGFzUGF0aCA9IHVybDtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgb3B0aW9ucyA9IHt9O1xuICAgICAgICAvLyBQcmVmZXRjaCBpcyBub3Qgc3VwcG9ydGVkIGluIGRldmVsb3BtZW50IG1vZGUgYmVjYXVzZSBpdCB3b3VsZCB0cmlnZ2VyIG9uLWRlbWFuZC1lbnRyaWVzXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiAoMCwgX2lzYm90LmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpIHtcbiAgICAgICAgICAgIC8vIE5vIHByZWZldGNoZXMgZm9yIGJvdHMgdGhhdCByZW5kZXIgdGhlIGxpbmsgc2luY2UgdGhleSBhcmUgdHlwaWNhbGx5IG5hdmlnYXRpbmdcbiAgICAgICAgICAgIC8vIGxpbmtzIHZpYSB0aGUgZXF1aXZhbGVudCBvZiBhIGhhcmQgbmF2aWdhdGlvbiBhbmQgaGVuY2UgbmV2ZXIgdXRpbGl6ZSB0aGVzZVxuICAgICAgICAgICAgLy8gcHJlZmV0Y2hlcy5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyc2VkID0gKDAsIF9wYXJzZXJlbGF0aXZldXJsLnBhcnNlUmVsYXRpdmVVcmwpKHVybCk7XG4gICAgICAgIGNvbnN0IHVybFBhdGhuYW1lID0gcGFyc2VkLnBhdGhuYW1lO1xuICAgICAgICBsZXQgeyBwYXRobmFtZSAsIHF1ZXJ5ICB9ID0gcGFyc2VkO1xuICAgICAgICBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gcGF0aG5hbWU7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5sb2NhbGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSAoMCwgX25vcm1hbGl6ZWxvY2FsZXBhdGgubm9ybWFsaXplTG9jYWxlUGF0aCkocGF0aG5hbWUsIHRoaXMubG9jYWxlcykucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gcGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgdXJsID0gKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHBhcnNlZCk7XG4gICAgICAgICAgICAgICAgbGV0IHBhcnNlZEFzID0gKDAsIF9wYXJzZXJlbGF0aXZldXJsLnBhcnNlUmVsYXRpdmVVcmwpKGFzUGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlUGF0aFJlc3VsdCA9ICgwLCBfbm9ybWFsaXplbG9jYWxlcGF0aC5ub3JtYWxpemVMb2NhbGVQYXRoKShwYXJzZWRBcy5wYXRobmFtZSwgdGhpcy5sb2NhbGVzKTtcbiAgICAgICAgICAgICAgICBwYXJzZWRBcy5wYXRobmFtZSA9IGxvY2FsZVBhdGhSZXN1bHQucGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5sb2NhbGUgPSBsb2NhbGVQYXRoUmVzdWx0LmRldGVjdGVkTG9jYWxlIHx8IHRoaXMuZGVmYXVsdExvY2FsZTtcbiAgICAgICAgICAgICAgICBhc1BhdGggPSAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikocGFyc2VkQXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhZ2VzID0gYXdhaXQgdGhpcy5wYWdlTG9hZGVyLmdldFBhZ2VMaXN0KCk7XG4gICAgICAgIGxldCByZXNvbHZlZEFzID0gYXNQYXRoO1xuICAgICAgICBjb25zdCBsb2NhbGUgPSB0eXBlb2Ygb3B0aW9ucy5sb2NhbGUgIT09IFwidW5kZWZpbmVkXCIgPyBvcHRpb25zLmxvY2FsZSB8fCB1bmRlZmluZWQgOiB0aGlzLmxvY2FsZTtcbiAgICAgICAgY29uc3QgaXNNaWRkbGV3YXJlTWF0Y2ggPSBhd2FpdCBtYXRjaGVzTWlkZGxld2FyZSh7XG4gICAgICAgICAgICBhc1BhdGg6IGFzUGF0aCxcbiAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgICAgICAgcm91dGVyOiB0aGlzXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0hBU19SRVdSSVRFUyAmJiBhc1BhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgIGxldCByZXdyaXRlcztcbiAgICAgICAgICAgICh7IF9fcmV3cml0ZXM6IHJld3JpdGVzICB9ID0gYXdhaXQgKDAsIF9yb3V0ZWxvYWRlci5nZXRDbGllbnRCdWlsZE1hbmlmZXN0KSgpKTtcbiAgICAgICAgICAgIGNvbnN0IHJld3JpdGVzUmVzdWx0ID0gKDAsIF9yZXNvbHZlcmV3cml0ZXMuZGVmYXVsdCkoKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShhc1BhdGgsIHRoaXMubG9jYWxlKSwgdHJ1ZSksIHBhZ2VzLCByZXdyaXRlcywgcGFyc2VkLnF1ZXJ5LCAocCk9PnJlc29sdmVEeW5hbWljUm91dGUocCwgcGFnZXMpLCB0aGlzLmxvY2FsZXMpO1xuICAgICAgICAgICAgaWYgKHJld3JpdGVzUmVzdWx0LmV4dGVybmFsRGVzdCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaXNNaWRkbGV3YXJlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlZEFzID0gKDAsIF9yZW1vdmVsb2NhbGUucmVtb3ZlTG9jYWxlKSgoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKShyZXdyaXRlc1Jlc3VsdC5hc1BhdGgpLCB0aGlzLmxvY2FsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmV3cml0ZXNSZXN1bHQubWF0Y2hlZFBhZ2UgJiYgcmV3cml0ZXNSZXN1bHQucmVzb2x2ZWRIcmVmKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBkaXJlY3RseSBtYXRjaGVzIGEgcGFnZSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaHJlZiB0b1xuICAgICAgICAgICAgICAgIC8vIGFsbG93IHRoZSBjb3JyZWN0IHBhZ2UgY2h1bmsgdG8gYmUgbG9hZGVkXG4gICAgICAgICAgICAgICAgcGF0aG5hbWUgPSByZXdyaXRlc1Jlc3VsdC5yZXNvbHZlZEhyZWY7XG4gICAgICAgICAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gcGF0aG5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCFpc01pZGRsZXdhcmVNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICB1cmwgPSAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikocGFyc2VkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkLnBhdGhuYW1lID0gcmVzb2x2ZUR5bmFtaWNSb3V0ZShwYXJzZWQucGF0aG5hbWUsIHBhZ2VzKTtcbiAgICAgICAgaWYgKCgwLCBfaXNkeW5hbWljLmlzRHluYW1pY1JvdXRlKShwYXJzZWQucGF0aG5hbWUpKSB7XG4gICAgICAgICAgICBwYXRobmFtZSA9IHBhcnNlZC5wYXRobmFtZTtcbiAgICAgICAgICAgIHBhcnNlZC5wYXRobmFtZSA9IHBhdGhuYW1lO1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihxdWVyeSwgKDAsIF9yb3V0ZW1hdGNoZXIuZ2V0Um91dGVNYXRjaGVyKSgoMCwgX3JvdXRlcmVnZXguZ2V0Um91dGVSZWdleCkocGFyc2VkLnBhdGhuYW1lKSkoKDAsIF9wYXJzZXBhdGgucGFyc2VQYXRoKShhc1BhdGgpLnBhdGhuYW1lKSB8fCB7fSk7XG4gICAgICAgICAgICBpZiAoIWlzTWlkZGxld2FyZU1hdGNoKSB7XG4gICAgICAgICAgICAgICAgdXJsID0gKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHBhcnNlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9NSURETEVXQVJFX1BSRUZFVENIID09PSBcInN0cmljdFwiID8gbnVsbCA6IGF3YWl0IHdpdGhNaWRkbGV3YXJlRWZmZWN0cyh7XG4gICAgICAgICAgICBmZXRjaERhdGE6ICgpPT5mZXRjaE5leHREYXRhKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YUhyZWY6IHRoaXMucGFnZUxvYWRlci5nZXREYXRhSHJlZih7XG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmOiAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiBvcmlnaW5hbFBhdGhuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBJbnRlcnBvbGF0aW9uOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXNQYXRoOiByZXNvbHZlZEFzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBoYXNNaWRkbGV3YXJlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBpc1NlcnZlclJlbmRlcjogdGhpcy5pc1NzcixcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VKU09OOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBpbmZsaWdodENhY2hlOiB0aGlzLnNkYyxcbiAgICAgICAgICAgICAgICAgICAgcGVyc2lzdENhY2hlOiAhdGhpcy5pc1ByZXZpZXcsXG4gICAgICAgICAgICAgICAgICAgIGlzUHJlZmV0Y2g6IHRydWVcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGFzUGF0aDogYXNQYXRoLFxuICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgfSk7XG4gICAgICAgIC8qKlxuICAgICAqIElmIHRoZXJlIHdhcyBhIHJld3JpdGUgd2UgYXBwbHkgdGhlIGVmZmVjdHMgb2YgdGhlIHJld3JpdGUgb24gdGhlXG4gICAgICogY3VycmVudCBwYXJhbWV0ZXJzIGZvciB0aGUgcHJlZmV0Y2guXG4gICAgICovIGlmICgoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5lZmZlY3QudHlwZSkgPT09IFwicmV3cml0ZVwiKSB7XG4gICAgICAgICAgICBwYXJzZWQucGF0aG5hbWUgPSBkYXRhLmVmZmVjdC5yZXNvbHZlZEhyZWY7XG4gICAgICAgICAgICBwYXRobmFtZSA9IGRhdGEuZWZmZWN0LnJlc29sdmVkSHJlZjtcbiAgICAgICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgICAgICAgIC4uLmRhdGEuZWZmZWN0LnBhcnNlZEFzLnF1ZXJ5XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzb2x2ZWRBcyA9IGRhdGEuZWZmZWN0LnBhcnNlZEFzLnBhdGhuYW1lO1xuICAgICAgICAgICAgdXJsID0gKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHBhcnNlZCk7XG4gICAgICAgIH1cbiAgICAgICAgLyoqXG4gICAgICogSWYgdGhlcmUgaXMgYSByZWRpcmVjdCB0byBhbiBleHRlcm5hbCBkZXN0aW5hdGlvbiB0aGVuIHdlIGRvbid0IGhhdmVcbiAgICAgKiB0byBwcmVmZXRjaCBjb250ZW50IGFzIGl0IHdpbGwgYmUgdW51c2VkLlxuICAgICAqLyBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuZWZmZWN0LnR5cGUpID09PSBcInJlZGlyZWN0LWV4dGVybmFsXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3V0ZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG4gICAgICAgIGlmIChhd2FpdCB0aGlzLl9iZmwoYXNQYXRoLCByZXNvbHZlZEFzLCBvcHRpb25zLmxvY2FsZSwgdHJ1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50c1t1cmxQYXRobmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgX19hcHBSb3V0ZXI6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgdGhpcy5wYWdlTG9hZGVyLl9pc1NzZyhyb3V0ZSkudGhlbigoaXNTc2cpPT57XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzU3NnID8gZmV0Y2hOZXh0RGF0YSh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFIcmVmOiAoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5qc29uKSA/IGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuZGF0YUhyZWYgOiB0aGlzLnBhZ2VMb2FkZXIuZ2V0RGF0YUhyZWYoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogdXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXNQYXRoOiByZXNvbHZlZEFzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGlzU2VydmVyUmVuZGVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VKU09OOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBpbmZsaWdodENhY2hlOiB0aGlzLnNkYyxcbiAgICAgICAgICAgICAgICAgICAgcGVyc2lzdENhY2hlOiAhdGhpcy5pc1ByZXZpZXcsXG4gICAgICAgICAgICAgICAgICAgIGlzUHJlZmV0Y2g6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHVuc3RhYmxlX3NraXBDbGllbnRDYWNoZTogb3B0aW9ucy51bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUgfHwgb3B0aW9ucy5wcmlvcml0eSAmJiAhIXByb2Nlc3MuZW52Ll9fTkVYVF9PUFRJTUlTVElDX0NMSUVOVF9DQUNIRVxuICAgICAgICAgICAgICAgIH0pLnRoZW4oKCk9PmZhbHNlKS5jYXRjaCgoKT0+ZmFsc2UpIDogZmFsc2U7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRoaXMucGFnZUxvYWRlcltvcHRpb25zLnByaW9yaXR5ID8gXCJsb2FkUGFnZVwiIDogXCJwcmVmZXRjaFwiXShyb3V0ZSlcbiAgICAgICAgXSk7XG4gICAgfVxuICAgIGFzeW5jIGZldGNoQ29tcG9uZW50KHJvdXRlKSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZUNhbmNlbGxlZCA9IGdldENhbmNlbGxlZEhhbmRsZXIoe1xuICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICByb3V0ZXI6IHRoaXNcbiAgICAgICAgfSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZXN1bHQgPSBhd2FpdCB0aGlzLnBhZ2VMb2FkZXIubG9hZFBhZ2Uocm91dGUpO1xuICAgICAgICAgICAgaGFuZGxlQ2FuY2VsbGVkKCk7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVzdWx0O1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGhhbmRsZUNhbmNlbGxlZCgpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9nZXREYXRhKGZuKSB7XG4gICAgICAgIGxldCBjYW5jZWxsZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgY2FuY2VsID0gKCk9PntcbiAgICAgICAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2xjID0gY2FuY2VsO1xuICAgICAgICByZXR1cm4gZm4oKS50aGVuKChkYXRhKT0+e1xuICAgICAgICAgICAgaWYgKGNhbmNlbCA9PT0gdGhpcy5jbGMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsYyA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKFwiTG9hZGluZyBpbml0aWFsIHByb3BzIGNhbmNlbGxlZFwiKTtcbiAgICAgICAgICAgICAgICBlcnIuY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9nZXRGbGlnaHREYXRhKGRhdGFIcmVmKSB7XG4gICAgICAgIC8vIERvIG5vdCBjYWNoZSBSU0MgZmxpZ2h0IHJlc3BvbnNlIHNpbmNlIGl0J3Mgbm90IGEgc3RhdGljIHJlc291cmNlXG4gICAgICAgIHJldHVybiBmZXRjaE5leHREYXRhKHtcbiAgICAgICAgICAgIGRhdGFIcmVmLFxuICAgICAgICAgICAgaXNTZXJ2ZXJSZW5kZXI6IHRydWUsXG4gICAgICAgICAgICBwYXJzZUpTT046IGZhbHNlLFxuICAgICAgICAgICAgaW5mbGlnaHRDYWNoZTogdGhpcy5zZGMsXG4gICAgICAgICAgICBwZXJzaXN0Q2FjaGU6IGZhbHNlLFxuICAgICAgICAgICAgaXNQcmVmZXRjaDogZmFsc2VcbiAgICAgICAgfSkudGhlbigocGFyYW0pPT57XG4gICAgICAgICAgICBsZXQgeyB0ZXh0ICB9ID0gcGFyYW07XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRhdGE6IHRleHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXRJbml0aWFsUHJvcHMoQ29tcG9uZW50LCBjdHgpIHtcbiAgICAgICAgY29uc3QgeyBDb21wb25lbnQ6IEFwcCAgfSA9IHRoaXMuY29tcG9uZW50c1tcIi9fYXBwXCJdO1xuICAgICAgICBjb25zdCBBcHBUcmVlID0gdGhpcy5fd3JhcEFwcChBcHApO1xuICAgICAgICBjdHguQXBwVHJlZSA9IEFwcFRyZWU7XG4gICAgICAgIHJldHVybiAoMCwgX3V0aWxzLmxvYWRHZXRJbml0aWFsUHJvcHMpKEFwcCwge1xuICAgICAgICAgICAgQXBwVHJlZSxcbiAgICAgICAgICAgIENvbXBvbmVudCxcbiAgICAgICAgICAgIHJvdXRlcjogdGhpcyxcbiAgICAgICAgICAgIGN0eFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IHJvdXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5yb3V0ZTtcbiAgICB9XG4gICAgZ2V0IHBhdGhuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5wYXRobmFtZTtcbiAgICB9XG4gICAgZ2V0IHF1ZXJ5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5xdWVyeTtcbiAgICB9XG4gICAgZ2V0IGFzUGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuYXNQYXRoO1xuICAgIH1cbiAgICBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5sb2NhbGU7XG4gICAgfVxuICAgIGdldCBpc0ZhbGxiYWNrKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc0ZhbGxiYWNrO1xuICAgIH1cbiAgICBnZXQgaXNQcmV2aWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1ByZXZpZXc7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhdGhuYW1lLCBxdWVyeSwgYXMsIHsgaW5pdGlhbFByb3BzICwgcGFnZUxvYWRlciAsIEFwcCAsIHdyYXBBcHAgLCBDb21wb25lbnQgLCBlcnIgLCBzdWJzY3JpcHRpb24gLCBpc0ZhbGxiYWNrICwgbG9jYWxlICwgbG9jYWxlcyAsIGRlZmF1bHRMb2NhbGUgLCBkb21haW5Mb2NhbGVzICwgaXNQcmV2aWV3ICB9KXtcbiAgICAgICAgLy8gU2VydmVyIERhdGEgQ2FjaGUgKGZ1bGwgZGF0YSByZXF1ZXN0cylcbiAgICAgICAgdGhpcy5zZGMgPSB7fTtcbiAgICAgICAgLy8gU2VydmVyIEJhY2tncm91bmQgQ2FjaGUgKEhFQUQgcmVxdWVzdHMpXG4gICAgICAgIHRoaXMuc2JjID0ge307XG4gICAgICAgIHRoaXMuaXNGaXJzdFBvcFN0YXRlRXZlbnQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9rZXkgPSBjcmVhdGVLZXkoKTtcbiAgICAgICAgdGhpcy5vblBvcFN0YXRlID0gKGUpPT57XG4gICAgICAgICAgICBjb25zdCB7IGlzRmlyc3RQb3BTdGF0ZUV2ZW50ICB9ID0gdGhpcztcbiAgICAgICAgICAgIHRoaXMuaXNGaXJzdFBvcFN0YXRlRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZS5zdGF0ZTtcbiAgICAgICAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBnZXQgc3RhdGUgYXMgdW5kZWZpbmVkIGZvciB0d28gcmVhc29ucy5cbiAgICAgICAgICAgICAgICAvLyAgMS4gV2l0aCBvbGRlciBzYWZhcmkgKDwgOCkgYW5kIG9sZGVyIGNocm9tZSAoPCAzNClcbiAgICAgICAgICAgICAgICAvLyAgMi4gV2hlbiB0aGUgVVJMIGNoYW5nZWQgd2l0aCAjXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAvLyBJbiB0aGUgYm90aCBjYXNlcywgd2UgZG9uJ3QgbmVlZCB0byBwcm9jZWVkIGFuZCBjaGFuZ2UgdGhlIHJvdXRlLlxuICAgICAgICAgICAgICAgIC8vIChhcyBpdCdzIGFscmVhZHkgY2hhbmdlZClcbiAgICAgICAgICAgICAgICAvLyBCdXQgd2UgY2FuIHNpbXBseSByZXBsYWNlIHRoZSBzdGF0ZSB3aXRoIHRoZSBuZXcgY2hhbmdlcy5cbiAgICAgICAgICAgICAgICAvLyBBY3R1YWxseSwgZm9yICgxKSB3ZSBkb24ndCBuZWVkIHRvIG5vdGhpbmcuIEJ1dCBpdCdzIGhhcmQgdG8gZGV0ZWN0IHRoYXQgZXZlbnQuXG4gICAgICAgICAgICAgICAgLy8gU28sIGRvaW5nIHRoZSBmb2xsb3dpbmcgZm9yICgxKSBkb2VzIG5vIGhhcm0uXG4gICAgICAgICAgICAgICAgY29uc3QgeyBwYXRobmFtZSAsIHF1ZXJ5ICB9ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVN0YXRlKFwicmVwbGFjZVN0YXRlXCIsICgwLCBfZm9ybWF0dXJsLmZvcm1hdFdpdGhWYWxpZGF0aW9uKSh7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShwYXRobmFtZSksXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5XG4gICAgICAgICAgICAgICAgfSksICgwLCBfdXRpbHMuZ2V0VVJMKSgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBfX05BIGlzIHVzZWQgdG8gaWRlbnRpZnkgaWYgdGhlIGhpc3RvcnkgZW50cnkgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGFwcC1yb3V0ZXIuXG4gICAgICAgICAgICBpZiAoc3RhdGUuX19OQSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXN0YXRlLl9fTikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNhZmFyaSBmaXJlcyBwb3BzdGF0ZWV2ZW50IHdoZW4gcmVvcGVuaW5nIHRoZSBicm93c2VyLlxuICAgICAgICAgICAgaWYgKGlzRmlyc3RQb3BTdGF0ZUV2ZW50ICYmIHRoaXMubG9jYWxlID09PSBzdGF0ZS5vcHRpb25zLmxvY2FsZSAmJiBzdGF0ZS5hcyA9PT0gdGhpcy5hc1BhdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZm9yY2VkU2Nyb2xsO1xuICAgICAgICAgICAgY29uc3QgeyB1cmwgLCBhcyAsIG9wdGlvbnMgLCBrZXkgIH0gPSBzdGF0ZTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfU0NST0xMX1JFU1RPUkFUSU9OKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9rZXkgIT09IGtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU25hcHNob3QgY3VycmVudCBzY3JvbGwgcG9zaXRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJfX25leHRfc2Nyb2xsX1wiICsgdGhpcy5fa2V5LCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IHNlbGYucGFnZVhPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IHNlbGYucGFnZVlPZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBvbGQgc2Nyb2xsIHBvc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcIl9fbmV4dF9zY3JvbGxfXCIgKyBrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlZFNjcm9sbCA9IEpTT04ucGFyc2Uodik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2VkU2Nyb2xsID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2tleSA9IGtleTtcbiAgICAgICAgICAgIGNvbnN0IHsgcGF0aG5hbWUgIH0gPSAoMCwgX3BhcnNlcmVsYXRpdmV1cmwucGFyc2VSZWxhdGl2ZVVybCkodXJsKTtcbiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBkb24ndCByZS1yZW5kZXIgb24gaW5pdGlhbCBsb2FkLFxuICAgICAgICAgICAgLy8gY2FuIGJlIGNhdXNlZCBieSBuYXZpZ2F0aW5nIGJhY2sgZnJvbSBhbiBleHRlcm5hbCBzaXRlXG4gICAgICAgICAgICBpZiAodGhpcy5pc1NzciAmJiBhcyA9PT0gKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkodGhpcy5hc1BhdGgpICYmIHBhdGhuYW1lID09PSAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKSh0aGlzLnBhdGhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSBkb3duc3RyZWFtIGFwcGxpY2F0aW9uIHJldHVybnMgZmFsc3ksIHJldHVybi5cbiAgICAgICAgICAgIC8vIFRoZXkgd2lsbCB0aGVuIGJlIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyB0aGUgZXZlbnQuXG4gICAgICAgICAgICBpZiAodGhpcy5fYnBzICYmICF0aGlzLl9icHMoc3RhdGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UoXCJyZXBsYWNlU3RhdGVcIiwgdXJsLCBhcywgT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucywge1xuICAgICAgICAgICAgICAgIHNoYWxsb3c6IG9wdGlvbnMuc2hhbGxvdyAmJiB0aGlzLl9zaGFsbG93LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogb3B0aW9ucy5sb2NhbGUgfHwgdGhpcy5kZWZhdWx0TG9jYWxlLFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgaW50ZXJuYWwgdmFsdWUgbm90IGV4cG9zZWQgb24gdHlwZXNcbiAgICAgICAgICAgICAgICBfaDogMFxuICAgICAgICAgICAgfSksIGZvcmNlZFNjcm9sbCk7XG4gICAgICAgIH07XG4gICAgICAgIC8vIHJlcHJlc2VudHMgdGhlIGN1cnJlbnQgY29tcG9uZW50IGtleVxuICAgICAgICBjb25zdCByb3V0ZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG4gICAgICAgIC8vIHNldCB1cCB0aGUgY29tcG9uZW50IGNhY2hlIChieSByb3V0ZSBrZXlzKVxuICAgICAgICB0aGlzLmNvbXBvbmVudHMgPSB7fTtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCBrZWVwIHRoZSBjYWNoZSwgaWYgdGhlcmUncyBhbiBlcnJvclxuICAgICAgICAvLyBPdGhlcndpc2UsIHRoaXMgY2F1c2UgaXNzdWVzIHdoZW4gd2hlbiBnb2luZyBiYWNrIGFuZFxuICAgICAgICAvLyBjb21lIGFnYWluIHRvIHRoZSBlcnJvcmVkIHBhZ2UuXG4gICAgICAgIGlmIChwYXRobmFtZSAhPT0gXCIvX2Vycm9yXCIpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50c1tyb3V0ZV0gPSB7XG4gICAgICAgICAgICAgICAgQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGluaXRpYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGluaXRpYWxQcm9wcyxcbiAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgX19OX1NTRzogaW5pdGlhbFByb3BzICYmIGluaXRpYWxQcm9wcy5fX05fU1NHLFxuICAgICAgICAgICAgICAgIF9fTl9TU1A6IGluaXRpYWxQcm9wcyAmJiBpbml0aWFsUHJvcHMuX19OX1NTUFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbXBvbmVudHNbXCIvX2FwcFwiXSA9IHtcbiAgICAgICAgICAgIENvbXBvbmVudDogQXBwLFxuICAgICAgICAgICAgc3R5bGVTaGVldHM6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1JPVVRFUl9GSUxURVJfRU5BQkxFRCkge1xuICAgICAgICAgICAgY29uc3QgeyBCbG9vbUZpbHRlciAgfSA9IHJlcXVpcmUoXCIuLi8uLi9saWIvYmxvb20tZmlsdGVyXCIpO1xuICAgICAgICAgICAgY29uc3Qgc3RhdGljRmlsdGVyRGF0YSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfUk9VVEVSX1NfRklMVEVSO1xuICAgICAgICAgICAgY29uc3QgZHluYW1pY0ZpbHRlckRhdGEgPSBwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1JPVVRFUl9EX0ZJTFRFUjtcbiAgICAgICAgICAgIGlmIChzdGF0aWNGaWx0ZXJEYXRhID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNGaWx0ZXJEYXRhLm51bUhhc2hlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2JmbF9zID0gbmV3IEJsb29tRmlsdGVyKHN0YXRpY0ZpbHRlckRhdGEubnVtSXRlbXMsIHN0YXRpY0ZpbHRlckRhdGEuZXJyb3JSYXRlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9iZmxfcy5pbXBvcnQoc3RhdGljRmlsdGVyRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZHluYW1pY0ZpbHRlckRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGR5bmFtaWNGaWx0ZXJEYXRhLm51bUhhc2hlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2JmbF9kID0gbmV3IEJsb29tRmlsdGVyKGR5bmFtaWNGaWx0ZXJEYXRhLm51bUl0ZW1zLCBkeW5hbWljRmlsdGVyRGF0YS5lcnJvclJhdGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2JmbF9kLmltcG9ydChkeW5hbWljRmlsdGVyRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdCBmb3IgUm91dGVyLnJvdXRlci5ldmVudHNcbiAgICAgICAgLy8gVE9ETzogU2hvdWxkIGJlIHJlbW92ZSB0aGUgZm9sbG93aW5nIG1ham9yIHZlcnNpb24gYXMgaXQgd2FzIG5ldmVyIGRvY3VtZW50ZWRcbiAgICAgICAgdGhpcy5ldmVudHMgPSBSb3V0ZXIuZXZlbnRzO1xuICAgICAgICB0aGlzLnBhZ2VMb2FkZXIgPSBwYWdlTG9hZGVyO1xuICAgICAgICAvLyBpZiBhdXRvIHByZXJlbmRlcmVkIGFuZCBkeW5hbWljIHJvdXRlIHdhaXQgdG8gdXBkYXRlIGFzUGF0aFxuICAgICAgICAvLyB1bnRpbCBhZnRlciBtb3VudCB0byBwcmV2ZW50IGh5ZHJhdGlvbiBtaXNtYXRjaFxuICAgICAgICBjb25zdCBhdXRvRXhwb3J0RHluYW1pYyA9ICgwLCBfaXNkeW5hbWljLmlzRHluYW1pY1JvdXRlKShwYXRobmFtZSkgJiYgc2VsZi5fX05FWFRfREFUQV9fLmF1dG9FeHBvcnQ7XG4gICAgICAgIHRoaXMuYmFzZVBhdGggPSBwcm9jZXNzLmVudi5fX05FWFRfUk9VVEVSX0JBU0VQQVRIIHx8IFwiXCI7XG4gICAgICAgIHRoaXMuc3ViID0gc3Vic2NyaXB0aW9uO1xuICAgICAgICB0aGlzLmNsYyA9IG51bGw7XG4gICAgICAgIHRoaXMuX3dyYXBBcHAgPSB3cmFwQXBwO1xuICAgICAgICAvLyBtYWtlIHN1cmUgdG8gaWdub3JlIGV4dHJhIHBvcFN0YXRlIGluIHNhZmFyaSBvbiBuYXZpZ2F0aW5nXG4gICAgICAgIC8vIGJhY2sgZnJvbSBleHRlcm5hbCBzaXRlXG4gICAgICAgIHRoaXMuaXNTc3IgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzTG9jYWxlRG9tYWluID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNSZWFkeSA9ICEhKHNlbGYuX19ORVhUX0RBVEFfXy5nc3NwIHx8IHNlbGYuX19ORVhUX0RBVEFfXy5naXAgfHwgc2VsZi5fX05FWFRfREFUQV9fLmFwcEdpcCAmJiAhc2VsZi5fX05FWFRfREFUQV9fLmdzcCB8fCAhYXV0b0V4cG9ydER5bmFtaWMgJiYgIXNlbGYubG9jYXRpb24uc2VhcmNoICYmICFwcm9jZXNzLmVudi5fX05FWFRfSEFTX1JFV1JJVEVTKTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9JMThOX1NVUFBPUlQpIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxlcyA9IGxvY2FsZXM7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRMb2NhbGUgPSBkZWZhdWx0TG9jYWxlO1xuICAgICAgICAgICAgdGhpcy5kb21haW5Mb2NhbGVzID0gZG9tYWluTG9jYWxlcztcbiAgICAgICAgICAgIHRoaXMuaXNMb2NhbGVEb21haW4gPSAhISgwLCBfZGV0ZWN0ZG9tYWlubG9jYWxlLmRldGVjdERvbWFpbkxvY2FsZSkoZG9tYWluTG9jYWxlcywgc2VsZi5sb2NhdGlvbi5ob3N0bmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgIGFzUGF0aDogYXV0b0V4cG9ydER5bmFtaWMgPyBwYXRobmFtZSA6IGFzLFxuICAgICAgICAgICAgaXNQcmV2aWV3OiAhIWlzUHJldmlldyxcbiAgICAgICAgICAgIGxvY2FsZTogcHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCA/IGxvY2FsZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGlzRmFsbGJhY2tcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5faW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAvLyBtYWtlIHN1cmUgXCJhc1wiIGRvZXNuJ3Qgc3RhcnQgd2l0aCBkb3VibGUgc2xhc2hlcyBvciBlbHNlIGl0IGNhblxuICAgICAgICAgICAgLy8gdGhyb3cgYW4gZXJyb3IgYXMgaXQncyBjb25zaWRlcmVkIGludmFsaWRcbiAgICAgICAgICAgIGlmICghYXMuc3RhcnRzV2l0aChcIi8vXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gb3JkZXIgZm9yIGBlLnN0YXRlYCB0byB3b3JrIG9uIHRoZSBgb25wb3BzdGF0ZWAgZXZlbnRcbiAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIHRvIHJlZ2lzdGVyIHRoZSBpbml0aWFsIHJvdXRlIHVwb24gaW5pdGlhbGl6YXRpb25cbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICBsb2NhbGVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGFzUGF0aCA9ICgwLCBfdXRpbHMuZ2V0VVJMKSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2UgPSBtYXRjaGVzTWlkZGxld2FyZSh7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlcjogdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgICAgICBhc1BhdGhcbiAgICAgICAgICAgICAgICB9KS50aGVuKChtYXRjaGVzKT0+e1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLl9zaG91bGRSZXNvbHZlSHJlZiA9IGFzICE9PSBwYXRobmFtZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VTdGF0ZShcInJlcGxhY2VTdGF0ZVwiLCBtYXRjaGVzID8gYXNQYXRoIDogKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShwYXRobmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVxuICAgICAgICAgICAgICAgICAgICB9KSwgYXNQYXRoLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXM7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIHRoaXMub25Qb3BTdGF0ZSk7XG4gICAgICAgICAgICAvLyBlbmFibGUgY3VzdG9tIHNjcm9sbCByZXN0b3JhdGlvbiBoYW5kbGluZyB3aGVuIGF2YWlsYWJsZVxuICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIGZhbGxiYWNrIHRvIGJyb3dzZXIncyBkZWZhdWx0IGhhbmRsaW5nXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1NDUk9MTF9SRVNUT1JBVElPTikge1xuICAgICAgICAgICAgICAgIGlmIChtYW51YWxTY3JvbGxSZXN0b3JhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5zY3JvbGxSZXN0b3JhdGlvbiA9IFwibWFudWFsXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuKCgpPT57XG4gICAgUm91dGVyLmV2ZW50cyA9ICgwLCBfbWl0dC5kZWZhdWx0KSgpO1xufSkoKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImRlZmF1bHQiLCJtYXRjaGVzTWlkZGxld2FyZSIsImNyZWF0ZUtleSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIlJvdXRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX3JlbW92ZXRyYWlsaW5nc2xhc2giLCJfcm91dGVsb2FkZXIiLCJfc2NyaXB0IiwiX2lzZXJyb3IiLCJfIiwiX2Rlbm9ybWFsaXplcGFnZXBhdGgiLCJfbm9ybWFsaXplbG9jYWxlcGF0aCIsIl9taXR0IiwiX3V0aWxzIiwiX2lzZHluYW1pYyIsIl9wYXJzZXJlbGF0aXZldXJsIiwiX3Jlc29sdmVyZXdyaXRlcyIsIl9yb3V0ZW1hdGNoZXIiLCJfcm91dGVyZWdleCIsIl9mb3JtYXR1cmwiLCJfZGV0ZWN0ZG9tYWlubG9jYWxlIiwiX3BhcnNlcGF0aCIsIl9hZGRsb2NhbGUiLCJfcmVtb3ZlbG9jYWxlIiwiX3JlbW92ZWJhc2VwYXRoIiwiX2FkZGJhc2VwYXRoIiwiX2hhc2Jhc2VwYXRoIiwiX2lzYXBpcm91dGUiLCJfZ2V0bmV4dHBhdGhuYW1laW5mbyIsIl9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvIiwiX2NvbXBhcmVzdGF0ZXMiLCJfaXNsb2NhbHVybCIsIl9pc2JvdCIsIl9vbWl0IiwiX3Jlc29sdmVocmVmIiwiX2ludGVycG9sYXRlYXMiLCJfaGFuZGxlc21vb3Roc2Nyb2xsIiwiYnVpbGRDYW5jZWxsYXRpb25FcnJvciIsImFzc2lnbiIsIkVycm9yIiwiY2FuY2VsbGVkIiwib3B0aW9ucyIsIm1hdGNoZXJzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyb3V0ZXIiLCJwYWdlTG9hZGVyIiwiZ2V0TWlkZGxld2FyZSIsInBhdGhuYW1lIiwiYXNQYXRobmFtZSIsInBhcnNlUGF0aCIsImFzUGF0aCIsImNsZWFuZWRBcyIsImhhc0Jhc2VQYXRoIiwicmVtb3ZlQmFzZVBhdGgiLCJhc1dpdGhCYXNlUGF0aEFuZExvY2FsZSIsImFkZEJhc2VQYXRoIiwiYWRkTG9jYWxlIiwibG9jYWxlIiwic29tZSIsIm0iLCJSZWdFeHAiLCJyZWdleHAiLCJ0ZXN0Iiwic3RyaXBPcmlnaW4iLCJ1cmwiLCJvcmlnaW4iLCJnZXRMb2NhdGlvbk9yaWdpbiIsInN0YXJ0c1dpdGgiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJwcmVwYXJlVXJsQXMiLCJhcyIsInJlc29sdmVkSHJlZiIsInJlc29sdmVkQXMiLCJyZXNvbHZlSHJlZiIsImhyZWZXYXNBYnNvbHV0ZSIsImFzV2FzQWJzb2x1dGUiLCJwcmVwYXJlZFVybCIsInByZXBhcmVkQXMiLCJyZXNvbHZlRHluYW1pY1JvdXRlIiwicGFnZXMiLCJjbGVhblBhdGhuYW1lIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsImRlbm9ybWFsaXplUGFnZVBhdGgiLCJpbmNsdWRlcyIsInBhZ2UiLCJpc0R5bmFtaWNSb3V0ZSIsImdldFJvdXRlUmVnZXgiLCJyZSIsImdldE1pZGRsZXdhcmVEYXRhIiwic291cmNlIiwicmVzcG9uc2UiLCJuZXh0Q29uZmlnIiwiYmFzZVBhdGgiLCJpMThuIiwibG9jYWxlcyIsInRyYWlsaW5nU2xhc2giLCJCb29sZWFuIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9UUkFJTElOR19TTEFTSCIsInJld3JpdGVIZWFkZXIiLCJoZWFkZXJzIiwicmV3cml0ZVRhcmdldCIsIm1hdGNoZWRQYXRoIiwiX19ORVhUX0VYVEVSTkFMX01JRERMRVdBUkVfUkVXUklURV9SRVNPTFZFIiwicGFyc2VkUmV3cml0ZVRhcmdldCIsInBhcnNlUmVsYXRpdmVVcmwiLCJwYXRobmFtZUluZm8iLCJnZXROZXh0UGF0aG5hbWVJbmZvIiwicGFyc2VEYXRhIiwiZnNQYXRobmFtZSIsImdldFBhZ2VMaXN0IiwiZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCIsInRoZW4iLCJwYXJhbSIsIl9fcmV3cml0ZXMiLCJyZXdyaXRlcyIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJwYXJzZWRTb3VyY2UiLCJfX05FWFRfSEFTX1JFV1JJVEVTIiwidW5kZWZpbmVkIiwicmVzdWx0IiwicXVlcnkiLCJwYXRoIiwibWF0Y2hlZFBhZ2UiLCJwYXJzZWRBcyIsInJlc29sdmVkUGF0aG5hbWUiLCJtYXRjaGVzIiwiZ2V0Um91dGVNYXRjaGVyIiwidHlwZSIsInNyYyIsImZvcm1hdE5leHRQYXRobmFtZUluZm8iLCJkZWZhdWx0TG9jYWxlIiwiYnVpbGRJZCIsImRlc3RpbmF0aW9uIiwiaGFzaCIsInJlZGlyZWN0VGFyZ2V0IiwibmV3QXMiLCJuZXdVcmwiLCJ3aXRoTWlkZGxld2FyZUVmZmVjdHMiLCJmZXRjaERhdGEiLCJkYXRhIiwiZWZmZWN0IiwiZGF0YUhyZWYiLCJqc29uIiwidGV4dCIsImNhY2hlS2V5IiwiZSIsIm1hbnVhbFNjcm9sbFJlc3RvcmF0aW9uIiwiX19ORVhUX1NDUk9MTF9SRVNUT1JBVElPTiIsIndpbmRvdyIsImhpc3RvcnkiLCJ2Iiwic2Vzc2lvblN0b3JhZ2UiLCJzZXRJdGVtIiwicmVtb3ZlSXRlbSIsIm4iLCJTU0dfREFUQV9OT1RfRk9VTkQiLCJTeW1ib2wiLCJmZXRjaFJldHJ5IiwiYXR0ZW1wdHMiLCJmZXRjaCIsImNyZWRlbnRpYWxzIiwibWV0aG9kIiwib2siLCJzdGF0dXMiLCJ0cnlUb1BhcnNlQXNKU09OIiwiSlNPTiIsInBhcnNlIiwiZXJyb3IiLCJmZXRjaE5leHREYXRhIiwiaW5mbGlnaHRDYWNoZSIsImlzUHJlZmV0Y2giLCJoYXNNaWRkbGV3YXJlIiwiaXNTZXJ2ZXJSZW5kZXIiLCJwYXJzZUpTT04iLCJwZXJzaXN0Q2FjaGUiLCJpc0JhY2tncm91bmQiLCJ1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUiLCJocmVmIiwiVVJMIiwibG9jYXRpb24iLCJfcGFyYW1zX21ldGhvZCIsImdldERhdGEiLCJwYXJhbXMiLCJwdXJwb3NlIiwiX3RyeVRvUGFyc2VBc0pTT04iLCJub3RGb3VuZCIsIm1hcmtBc3NldEVycm9yIiwiY2F0Y2giLCJlcnIiLCJtZXNzYWdlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic2xpY2UiLCJoYW5kbGVIYXJkTmF2aWdhdGlvbiIsImdldENhbmNlbGxlZEhhbmRsZXIiLCJyb3V0ZSIsImNhbmNlbCIsImNsYyIsImhhbmRsZUNhbmNlbGxlZCIsInJlbG9hZCIsImJhY2siLCJmb3J3YXJkIiwicHVzaCIsIl9rZXkiLCJzdHJpbmdpZnkiLCJ4Iiwic2VsZiIsInBhZ2VYT2Zmc2V0IiwieSIsInBhZ2VZT2Zmc2V0IiwiY2hhbmdlIiwicmVwbGFjZSIsIl9iZmwiLCJza2lwTmF2aWdhdGUiLCJfX05FWFRfQ0xJRU5UX1JPVVRFUl9GSUxURVJfRU5BQkxFRCIsIm1hdGNoZXNCZmxTdGF0aWMiLCJtYXRjaGVzQmZsRHluYW1pYyIsImN1ckFzIiwiYXNOb1NsYXNoIiwiYXNOb1NsYXNoTG9jYWxlIiwiX3RoaXNfX2JmbF9zIiwiX3RoaXNfX2JmbF9zMSIsIl9iZmxfcyIsImNvbnRhaW5zIiwibm9ybWFsaXplZEFTIiwiY3VyQXNQYXJ0cyIsInNwbGl0IiwiaSIsIl90aGlzX19iZmxfZCIsImN1cnJlbnRQYXJ0Iiwiam9pbiIsIl9iZmxfZCIsImZvcmNlZFNjcm9sbCIsIl90aGlzX2NvbXBvbmVudHNfcGF0aG5hbWUiLCJpc0xvY2FsVVJMIiwiaXNRdWVyeVVwZGF0aW5nIiwiX2giLCJzaGFsbG93Iiwic2hvdWxkUmVzb2x2ZUhyZWYiLCJfc2hvdWxkUmVzb2x2ZUhyZWYiLCJuZXh0U3RhdGUiLCJzdGF0ZSIsInJlYWR5U3RhdGVDaGFuZ2UiLCJpc1JlYWR5IiwiaXNTc3IiLCJwcmV2TG9jYWxlIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsImxvY2FsZVBhdGhSZXN1bHQiLCJkZXRlY3RlZExvY2FsZSIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwiZGlkTmF2aWdhdGUiLCJfdGhpc19sb2NhbGVzIiwiZGV0ZWN0ZWREb21haW4iLCJkZXRlY3REb21haW5Mb2NhbGUiLCJkb21haW5Mb2NhbGVzIiwiaXNMb2NhbGVEb21haW4iLCJob3N0bmFtZSIsImRvbWFpbiIsImFzTm9CYXNlUGF0aCIsImh0dHAiLCJTVCIsInBlcmZvcm1hbmNlIiwibWFyayIsInNjcm9sbCIsInJvdXRlUHJvcHMiLCJfaW5GbGlnaHRSb3V0ZSIsImV2ZW50cyIsImVtaXQiLCJyZW1vdmVMb2NhbGUiLCJsb2NhbGVDaGFuZ2UiLCJvbmx5QUhhc2hDaGFuZ2UiLCJjaGFuZ2VTdGF0ZSIsInNjcm9sbFRvSGFzaCIsInNldCIsImNvbXBvbmVudHMiLCJwYXJzZWQiLCJfX2FwcFJvdXRlciIsInVybElzTmV3IiwicGFyc2VkQXNQYXRobmFtZSIsImlzTWlkZGxld2FyZVJld3JpdGUiLCJpc01pZGRsZXdhcmVNYXRjaCIsInJld3JpdGVzUmVzdWx0IiwicCIsImV4dGVybmFsRGVzdCIsInJvdXRlTWF0Y2giLCJyb3V0ZVJlZ2V4Iiwic2hvdWxkSW50ZXJwb2xhdGUiLCJpbnRlcnBvbGF0ZWRBcyIsImludGVycG9sYXRlQXMiLCJtaXNzaW5nUGFyYW1zIiwia2V5cyIsImdyb3VwcyIsImZpbHRlciIsIm9wdGlvbmFsIiwiY29uc29sZSIsIndhcm4iLCJvbWl0IiwiaXNFcnJvclJvdXRlIiwiX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wcyIsIl9zZWxmX19fTkVYVF9EQVRBX19fcHJvcHNfcGFnZVByb3BzIiwiX3JvdXRlSW5mb19wcm9wcyIsInJvdXRlSW5mbyIsImdldFJvdXRlSW5mbyIsImlzUHJldmlldyIsImlzRmFsbGJhY2siLCJjbGVhbmVkUGFyc2VkUGF0aG5hbWUiLCJmb3JFYWNoIiwia2V5IiwicHJlZml4ZWRBcyIsInJld3JpdGVBcyIsImxvY2FsZVJlc3VsdCIsImN1clJvdXRlTWF0Y2giLCJjb21wb25lbnQiLCJDb21wb25lbnQiLCJ1bnN0YWJsZV9zY3JpcHRMb2FkZXIiLCJzY3JpcHRzIiwiY29uY2F0Iiwic2NyaXB0IiwiaGFuZGxlQ2xpZW50U2NyaXB0TG9hZCIsInByb3BzIiwiX19OX1NTRyIsIl9fTl9TU1AiLCJwYWdlUHJvcHMiLCJfX05fUkVESVJFQ1QiLCJfX05fUkVESVJFQ1RfQkFTRV9QQVRIIiwicGFyc2VkSHJlZiIsIl9fTl9QUkVWSUVXIiwibm90Rm91bmRSb3V0ZSIsImZldGNoQ29tcG9uZW50IiwiaXNOb3RGb3VuZCIsIl9fTkVYVF9EQVRBX18iLCJzdGF0dXNDb2RlIiwiX3JvdXRlSW5mb19yb3V0ZSIsImlzVmFsaWRTaGFsbG93Um91dGUiLCJfb3B0aW9uc19zY3JvbGwiLCJzaG91bGRTY3JvbGwiLCJyZXNldFNjcm9sbCIsInVwY29taW5nU2Nyb2xsU3RhdGUiLCJ1cGNvbWluZ1JvdXRlclN0YXRlIiwiX3NlbGZfX19ORVhUX0RBVEFfX19wcm9wczEiLCJfc2VsZl9fX05FWFRfREFUQV9fX3Byb3BzX3BhZ2VQcm9wczEiLCJfcm91dGVJbmZvX3Byb3BzMSIsImNhblNraXBVcGRhdGluZyIsImNvbXBhcmVSb3V0ZXJTdGF0ZXMiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImxhbmciLCJoYXNoUmVnZXgiLCJnZXRVUkwiLCJfc2hhbGxvdyIsIl9fTiIsImhhbmRsZVJvdXRlSW5mb0Vycm9yIiwibG9hZEVycm9yRmFpbCIsImlzQXNzZXRFcnJvciIsInN0eWxlU2hlZXRzIiwiZ2V0SW5pdGlhbFByb3BzIiwiZ2lwRXJyIiwicm91dGVJbmZvRXJyIiwicmVxdWVzdGVkUm91dGUiLCJfZGF0YV9lZmZlY3QiLCJfZGF0YV9lZmZlY3QxIiwiX2RhdGFfZWZmZWN0MiIsIl9kYXRhX3Jlc3BvbnNlIiwiZXhpc3RpbmdJbmZvIiwiY2FjaGVkUm91dGVJbmZvIiwiZmV0Y2hOZXh0RGF0YVBhcmFtcyIsImdldERhdGFIcmVmIiwic2tpcEludGVycG9sYXRpb24iLCJzYmMiLCJzZGMiLCJyZXNvbHZlZFJvdXRlIiwiaXNBUElSb3V0ZSIsInJlcyIsIm1vZCIsImlzVmFsaWRFbGVtZW50VHlwZSIsIndhc0JhaWxlZFByZWZldGNoIiwic2hvdWxkRmV0Y2hEYXRhIiwiX2dldERhdGEiLCJmZXRjaGVkIiwiZ2V0UHJvcGVyRXJyb3IiLCJzdWIiLCJiZWZvcmVQb3BTdGF0ZSIsImNiIiwiX2JwcyIsIm9sZFVybE5vSGFzaCIsIm9sZEhhc2giLCJuZXdVcmxOb0hhc2giLCJuZXdIYXNoIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwic2Nyb2xsVG8iLCJyYXdIYXNoIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiaWRFbCIsImdldEVsZW1lbnRCeUlkIiwic2Nyb2xsSW50b1ZpZXciLCJuYW1lRWwiLCJnZXRFbGVtZW50c0J5TmFtZSIsIm9ubHlIYXNoQ2hhbmdlIiwicHJlZmV0Y2giLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInVybFBhdGhuYW1lIiwib3JpZ2luYWxQYXRobmFtZSIsIl9fTkVYVF9NSURETEVXQVJFX1BSRUZFVENIIiwiX2lzU3NnIiwiaXNTc2ciLCJwcmlvcml0eSIsIl9fTkVYVF9PUFRJTUlTVElDX0NMSUVOVF9DQUNIRSIsImNvbXBvbmVudFJlc3VsdCIsImxvYWRQYWdlIiwiZm4iLCJfZ2V0RmxpZ2h0RGF0YSIsImN0eCIsIkFwcCIsIkFwcFRyZWUiLCJfd3JhcEFwcCIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxQcm9wcyIsIndyYXBBcHAiLCJzdWJzY3JpcHRpb24iLCJpc0ZpcnN0UG9wU3RhdGVFdmVudCIsIm9uUG9wU3RhdGUiLCJfX05BIiwiZ2V0SXRlbSIsImluaXRpYWwiLCJCbG9vbUZpbHRlciIsInN0YXRpY0ZpbHRlckRhdGEiLCJfX05FWFRfQ0xJRU5UX1JPVVRFUl9TX0ZJTFRFUiIsImR5bmFtaWNGaWx0ZXJEYXRhIiwiX19ORVhUX0NMSUVOVF9ST1VURVJfRF9GSUxURVIiLCJudW1IYXNoZXMiLCJudW1JdGVtcyIsImVycm9yUmF0ZSIsImltcG9ydCIsImF1dG9FeHBvcnREeW5hbWljIiwiYXV0b0V4cG9ydCIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJnc3NwIiwiZ2lwIiwiYXBwR2lwIiwiZ3NwIiwic2VhcmNoIiwiX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2UiLCJhZGRFdmVudExpc3RlbmVyIiwic2Nyb2xsUmVzdG9yYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/router.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-locale.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-locale.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/api\")) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/\" + locale.toLowerCase())) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, \"/\" + locale);\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlCQUFpQkMsbUJBQU9BLENBQUMsOEZBQW1CO0FBQ2xELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsOEZBQW1CO0FBQ2xELFNBQVNGLFVBQVVJLElBQUksRUFBRUMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDeEQsNEVBQTRFO0lBQzVFLHNCQUFzQjtJQUN0QixJQUFJLENBQUNGLFVBQVVBLFdBQVdDLGVBQWUsT0FBT0Y7SUFDaEQsTUFBTUksUUFBUUosS0FBS0ssV0FBVztJQUM5QiwyRUFBMkU7SUFDM0UsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQ0YsY0FBYztRQUNmLElBQUksQ0FBQyxHQUFHSixlQUFlTyxhQUFhLEVBQUVGLE9BQU8sU0FBUyxPQUFPSjtRQUM3RCxJQUFJLENBQUMsR0FBR0QsZUFBZU8sYUFBYSxFQUFFRixPQUFPLE1BQU1ILE9BQU9JLFdBQVcsS0FBSyxPQUFPTDtJQUNyRjtJQUNBLHFDQUFxQztJQUNyQyxPQUFPLENBQUMsR0FBR0gsZUFBZVUsYUFBYSxFQUFFUCxNQUFNLE1BQU1DO0FBQ3pELEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLWxvY2FsZS5qcz8wMjMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkTG9jYWxlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRMb2NhbGU7XG4gICAgfVxufSk7XG5jb25zdCBfYWRkcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuL2FkZC1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4vcGF0aC1oYXMtcHJlZml4XCIpO1xuZnVuY3Rpb24gYWRkTG9jYWxlKHBhdGgsIGxvY2FsZSwgZGVmYXVsdExvY2FsZSwgaWdub3JlUHJlZml4KSB7XG4gICAgLy8gSWYgbm8gbG9jYWxlIHdhcyBnaXZlbiBvciB0aGUgbG9jYWxlIGlzIHRoZSBkZWZhdWx0IGxvY2FsZSwgd2UgZG9uJ3QgbmVlZFxuICAgIC8vIHRvIHByZWZpeCB0aGUgcGF0aC5cbiAgICBpZiAoIWxvY2FsZSB8fCBsb2NhbGUgPT09IGRlZmF1bHRMb2NhbGUpIHJldHVybiBwYXRoO1xuICAgIGNvbnN0IGxvd2VyID0gcGF0aC50b0xvd2VyQ2FzZSgpO1xuICAgIC8vIElmIHRoZSBwYXRoIGlzIGFuIEFQSSBwYXRoIG9yIHRoZSBwYXRoIGFscmVhZHkgaGFzIHRoZSBsb2NhbGUgcHJlZml4LCB3ZVxuICAgIC8vIGRvbid0IG5lZWQgdG8gcHJlZml4IHRoZSBwYXRoLlxuICAgIGlmICghaWdub3JlUHJlZml4KSB7XG4gICAgICAgIGlmICgoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkobG93ZXIsIFwiL2FwaVwiKSkgcmV0dXJuIHBhdGg7XG4gICAgICAgIGlmICgoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkobG93ZXIsIFwiL1wiICsgbG9jYWxlLnRvTG93ZXJDYXNlKCkpKSByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgLy8gQWRkIHRoZSBsb2NhbGUgcHJlZml4IHRvIHRoZSBwYXRoLlxuICAgIHJldHVybiAoMCwgX2FkZHBhdGhwcmVmaXguYWRkUGF0aFByZWZpeCkocGF0aCwgXCIvXCIgKyBsb2NhbGUpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGQtbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhZGRMb2NhbGUiLCJfYWRkcGF0aHByZWZpeCIsInJlcXVpcmUiLCJfcGF0aGhhc3ByZWZpeCIsInBhdGgiLCJsb2NhbGUiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwibG93ZXIiLCJ0b0xvd2VyQ2FzZSIsInBhdGhIYXNQcmVmaXgiLCJhZGRQYXRoUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-locale.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsb0ZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUdDLEtBQUssRUFBR0MsSUFBSSxFQUFHLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQy9ELE9BQU8sS0FBS0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXguanM/YzEyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZFBhdGhQcmVmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZFBhdGhQcmVmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGFyc2VwYXRoID0gcmVxdWlyZShcIi4vcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIGFkZFBhdGhQcmVmaXgocGF0aCwgcHJlZml4KSB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8ICFwcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgLCBxdWVyeSAsIGhhc2ggIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBcIlwiICsgcHJlZml4ICsgcGF0aG5hbWUgKyBxdWVyeSArIGhhc2g7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1wYXRoLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkUGF0aFByZWZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith(\"/\") || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + pathname + suffix + query + hash;\n} //# sourceMappingURL=add-path-suffix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsb0ZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUdDLEtBQUssRUFBR0MsSUFBSSxFQUFHLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQy9ELE9BQU8sS0FBS0csV0FBV0YsU0FBU0csUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1zdWZmaXguanM/N2IzNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZFBhdGhTdWZmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZFBhdGhTdWZmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGFyc2VwYXRoID0gcmVxdWlyZShcIi4vcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIGFkZFBhdGhTdWZmaXgocGF0aCwgc3VmZml4KSB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8ICFzdWZmaXgpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgLCBxdWVyeSAsIGhhc2ggIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBcIlwiICsgcGF0aG5hbWUgKyBzdWZmaXggKyBxdWVyeSArIGhhc2g7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1wYXRoLXN1ZmZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkUGF0aFN1ZmZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInN1ZmZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": -/*!*********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! - \*********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscPath: function() {\n return normalizeRscPath;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if (segment[0] === \"(\" && segment.endsWith(\")\")) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscPath(pathname, enabled) {\n return enabled ? pathname.replace(/\\.rsc($|\\?)/, \"$1\") : pathname;\n} //# sourceMappingURL=app-paths.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLG1IQUFzQztBQUMxRSxTQUFTVCxpQkFBaUJVLEtBQUs7SUFDM0IsT0FBTyxDQUFDLEdBQUdGLG9CQUFvQkcsa0JBQWtCLEVBQUVELE1BQU1FLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUMsQ0FBQ0MsVUFBVUMsU0FBU0MsT0FBT0M7UUFDbEcsOEJBQThCO1FBQzlCLElBQUksQ0FBQ0YsU0FBUztZQUNWLE9BQU9EO1FBQ1g7UUFDQSxzQkFBc0I7UUFDdEIsSUFBSUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPQSxRQUFRRyxRQUFRLENBQUMsTUFBTTtZQUM3QyxPQUFPSjtRQUNYO1FBQ0EsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNwQixPQUFPRDtRQUNYO1FBQ0EsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLE9BQU0sS0FBTUMsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQUc7WUFDOUUsT0FBT0w7UUFDWDtRQUNBLE9BQU9BLFdBQVcsTUFBTUM7SUFDNUIsR0FBRztBQUNQO0FBQ0EsU0FBU2QsaUJBQWlCYSxRQUFRLEVBQUVNLE9BQU87SUFDdkMsT0FBT0EsVUFBVU4sU0FBU08sT0FBTyxDQUFDLGVBQ2xDLFFBQVFQO0FBQ1osRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHMuanM/N2U1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIG5vcm1hbGl6ZUFwcFBhdGg6IG51bGwsXG4gICAgbm9ybWFsaXplUnNjUGF0aDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBub3JtYWxpemVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUFwcFBhdGg7XG4gICAgfSxcbiAgICBub3JtYWxpemVSc2NQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJzY1BhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfZW5zdXJlbGVhZGluZ3NsYXNoID0gcmVxdWlyZShcIi4uLy4uL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaFwiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZUFwcFBhdGgocm91dGUpIHtcbiAgICByZXR1cm4gKDAsIF9lbnN1cmVsZWFkaW5nc2xhc2guZW5zdXJlTGVhZGluZ1NsYXNoKShyb3V0ZS5zcGxpdChcIi9cIikucmVkdWNlKChwYXRobmFtZSwgc2VnbWVudCwgaW5kZXgsIHNlZ21lbnRzKT0+e1xuICAgICAgICAvLyBFbXB0eSBzZWdtZW50cyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKCFzZWdtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gR3JvdXBzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoc2VnbWVudFswXSA9PT0gXCIoXCIgJiYgc2VnbWVudC5lbmRzV2l0aChcIilcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQYXJhbGxlbCBzZWdtZW50cyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKHNlZ21lbnRbMF0gPT09IFwiQFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGxhc3Qgc2VnbWVudCAoaWYgaXQncyBhIGxlYWYpIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgICAgICBpZiAoKHNlZ21lbnQgPT09IFwicGFnZVwiIHx8IHNlZ21lbnQgPT09IFwicm91dGVcIikgJiYgaW5kZXggPT09IHNlZ21lbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGF0aG5hbWUgKyBcIi9cIiArIHNlZ21lbnQ7XG4gICAgfSwgXCJcIikpO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplUnNjUGF0aChwYXRobmFtZSwgZW5hYmxlZCkge1xuICAgIHJldHVybiBlbmFibGVkID8gcGF0aG5hbWUucmVwbGFjZSgvXFwucnNjKCR8XFw/KS8sIC8vICQxIGVuc3VyZXMgYD9gIGlzIHByZXNlcnZlZFxuICAgIFwiJDFcIikgOiBwYXRobmFtZTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhdGhzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vcm1hbGl6ZUFwcFBhdGgiLCJub3JtYWxpemVSc2NQYXRoIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2Vuc3VyZWxlYWRpbmdzbGFzaCIsInJlcXVpcmUiLCJyb3V0ZSIsImVuc3VyZUxlYWRpbmdTbGFzaCIsInNwbGl0IiwicmVkdWNlIiwicGF0aG5hbWUiLCJzZWdtZW50IiwiaW5kZXgiLCJzZWdtZW50cyIsImVuZHNXaXRoIiwibGVuZ3RoIiwiZW5hYmxlZCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/compare-states.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/compare-states.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"compareRouterStates\", ({\n enumerable: true,\n get: function() {\n return compareRouterStates;\n }\n}));\nfunction compareRouterStates(a, b) {\n const stateKeys = Object.keys(a);\n if (stateKeys.length !== Object.keys(b).length) return false;\n for(let i = stateKeys.length; i--;){\n const key = stateKeys[i];\n if (key === \"query\") {\n const queryKeys = Object.keys(a.query);\n if (queryKeys.length !== Object.keys(b.query).length) {\n return false;\n }\n for(let j = queryKeys.length; j--;){\n const queryKey = queryKeys[j];\n if (!b.query.hasOwnProperty(queryKey) || a.query[queryKey] !== b.query[queryKey]) {\n return false;\n }\n }\n } else if (!b.hasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n} //# sourceMappingURL=compare-states.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2NvbXBhcmUtc3RhdGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLENBQUMsRUFBRUMsQ0FBQztJQUM3QixNQUFNQyxZQUFZVCxPQUFPVSxJQUFJLENBQUNIO0lBQzlCLElBQUlFLFVBQVVFLE1BQU0sS0FBS1gsT0FBT1UsSUFBSSxDQUFDRixHQUFHRyxNQUFNLEVBQUUsT0FBTztJQUN2RCxJQUFJLElBQUlDLElBQUlILFVBQVVFLE1BQU0sRUFBRUMsS0FBSztRQUMvQixNQUFNQyxNQUFNSixTQUFTLENBQUNHLEVBQUU7UUFDeEIsSUFBSUMsUUFBUSxTQUFTO1lBQ2pCLE1BQU1DLFlBQVlkLE9BQU9VLElBQUksQ0FBQ0gsRUFBRVEsS0FBSztZQUNyQyxJQUFJRCxVQUFVSCxNQUFNLEtBQUtYLE9BQU9VLElBQUksQ0FBQ0YsRUFBRU8sS0FBSyxFQUFFSixNQUFNLEVBQUU7Z0JBQ2xELE9BQU87WUFDWDtZQUNBLElBQUksSUFBSUssSUFBSUYsVUFBVUgsTUFBTSxFQUFFSyxLQUFLO2dCQUMvQixNQUFNQyxXQUFXSCxTQUFTLENBQUNFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQ1IsRUFBRU8sS0FBSyxDQUFDRyxjQUFjLENBQUNELGFBQWFWLEVBQUVRLEtBQUssQ0FBQ0UsU0FBUyxLQUFLVCxFQUFFTyxLQUFLLENBQUNFLFNBQVMsRUFBRTtvQkFDOUUsT0FBTztnQkFDWDtZQUNKO1FBQ0osT0FBTyxJQUFJLENBQUNULEVBQUVVLGNBQWMsQ0FBQ0wsUUFBUU4sQ0FBQyxDQUFDTSxJQUFJLEtBQUtMLENBQUMsQ0FBQ0ssSUFBSSxFQUFFO1lBQ3BELE9BQU87UUFDWDtJQUNKO0lBQ0EsT0FBTztBQUNYLEVBRUEsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvY29tcGFyZS1zdGF0ZXMuanM/ZWEwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNvbXBhcmVSb3V0ZXJTdGF0ZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVSb3V0ZXJTdGF0ZXM7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBjb21wYXJlUm91dGVyU3RhdGVzKGEsIGIpIHtcbiAgICBjb25zdCBzdGF0ZUtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBpZiAoc3RhdGVLZXlzLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoYikubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgZm9yKGxldCBpID0gc3RhdGVLZXlzLmxlbmd0aDsgaS0tOyl7XG4gICAgICAgIGNvbnN0IGtleSA9IHN0YXRlS2V5c1tpXTtcbiAgICAgICAgaWYgKGtleSA9PT0gXCJxdWVyeVwiKSB7XG4gICAgICAgICAgICBjb25zdCBxdWVyeUtleXMgPSBPYmplY3Qua2V5cyhhLnF1ZXJ5KTtcbiAgICAgICAgICAgIGlmIChxdWVyeUtleXMubGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiLnF1ZXJ5KS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IobGV0IGogPSBxdWVyeUtleXMubGVuZ3RoOyBqLS07KXtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUtleSA9IHF1ZXJ5S2V5c1tqXTtcbiAgICAgICAgICAgICAgICBpZiAoIWIucXVlcnkuaGFzT3duUHJvcGVydHkocXVlcnlLZXkpIHx8IGEucXVlcnlbcXVlcnlLZXldICE9PSBiLnF1ZXJ5W3F1ZXJ5S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFiLmhhc093blByb3BlcnR5KGtleSkgfHwgYVtrZXldICE9PSBiW2tleV0pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29tcGFyZS1zdGF0ZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNvbXBhcmVSb3V0ZXJTdGF0ZXMiLCJhIiwiYiIsInN0YXRlS2V5cyIsImtleXMiLCJsZW5ndGgiLCJpIiwia2V5IiwicXVlcnlLZXlzIiwicXVlcnkiLCJqIiwicXVlcnlLZXkiLCJoYXNPd25Qcm9wZXJ0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/compare-states.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"./node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, \"/_next/data/\" + info.buildId), info.pathname === \"/\" ? \"index.json\" : \".json\");\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith(\"/\") ? (0, _addpathsuffix.addPathSuffix)(pathname, \"/\") : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBEQUF5RDtJQUNyREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsMEdBQXlCO0FBQzlELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsOEZBQW1CO0FBQ2xELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsOEZBQW1CO0FBQ2xELE1BQU1HLGFBQWFILG1CQUFPQSxDQUFDLG9GQUFjO0FBQ3pDLFNBQVNGLHVCQUF1Qk0sSUFBSTtJQUNoQyxJQUFJQyxXQUFXLENBQUMsR0FBR0YsV0FBV0csU0FBUyxFQUFFRixLQUFLQyxRQUFRLEVBQUVELEtBQUtHLE1BQU0sRUFBRUgsS0FBS0ksT0FBTyxHQUFHQyxZQUFZTCxLQUFLTSxhQUFhLEVBQUVOLEtBQUtPLFlBQVk7SUFDckksSUFBSVAsS0FBS0ksT0FBTyxJQUFJLENBQUNKLEtBQUtRLGFBQWEsRUFBRTtRQUNyQ1AsV0FBVyxDQUFDLEdBQUdOLHFCQUFxQmMsbUJBQW1CLEVBQUVSO0lBQzdEO0lBQ0EsSUFBSUQsS0FBS0ksT0FBTyxFQUFFO1FBQ2RILFdBQVcsQ0FBQyxHQUFHSCxlQUFlWSxhQUFhLEVBQUUsQ0FBQyxHQUFHYixlQUFlYyxhQUFhLEVBQUVWLFVBQVUsaUJBQWlCRCxLQUFLSSxPQUFPLEdBQUdKLEtBQUtDLFFBQVEsS0FBSyxNQUFNLGVBQWU7SUFDcEs7SUFDQUEsV0FBVyxDQUFDLEdBQUdKLGVBQWVjLGFBQWEsRUFBRVYsVUFBVUQsS0FBS1ksUUFBUTtJQUNwRSxPQUFPLENBQUNaLEtBQUtJLE9BQU8sSUFBSUosS0FBS1EsYUFBYSxHQUFHLENBQUNQLFNBQVNZLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBR2YsZUFBZVksYUFBYSxFQUFFVCxVQUFVLE9BQU9BLFdBQVcsQ0FBQyxHQUFHTixxQkFBcUJjLG1CQUFtQixFQUFFUjtBQUN2TCxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanM/YjE0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdE5leHRQYXRobmFtZUluZm9cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdE5leHRQYXRobmFtZUluZm87XG4gICAgfVxufSk7XG5jb25zdCBfcmVtb3ZldHJhaWxpbmdzbGFzaCA9IHJlcXVpcmUoXCIuL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IF9hZGRwYXRocHJlZml4ID0gcmVxdWlyZShcIi4vYWRkLXBhdGgtcHJlZml4XCIpO1xuY29uc3QgX2FkZHBhdGhzdWZmaXggPSByZXF1aXJlKFwiLi9hZGQtcGF0aC1zdWZmaXhcIik7XG5jb25zdCBfYWRkbG9jYWxlID0gcmVxdWlyZShcIi4vYWRkLWxvY2FsZVwiKTtcbmZ1bmN0aW9uIGZvcm1hdE5leHRQYXRobmFtZUluZm8oaW5mbykge1xuICAgIGxldCBwYXRobmFtZSA9ICgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkoaW5mby5wYXRobmFtZSwgaW5mby5sb2NhbGUsIGluZm8uYnVpbGRJZCA/IHVuZGVmaW5lZCA6IGluZm8uZGVmYXVsdExvY2FsZSwgaW5mby5pZ25vcmVQcmVmaXgpO1xuICAgIGlmIChpbmZvLmJ1aWxkSWQgfHwgIWluZm8udHJhaWxpbmdTbGFzaCkge1xuICAgICAgICBwYXRobmFtZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG4gICAgfVxuICAgIGlmIChpbmZvLmJ1aWxkSWQpIHtcbiAgICAgICAgcGF0aG5hbWUgPSAoMCwgX2FkZHBhdGhzdWZmaXguYWRkUGF0aFN1ZmZpeCkoKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGhuYW1lLCBcIi9fbmV4dC9kYXRhL1wiICsgaW5mby5idWlsZElkKSwgaW5mby5wYXRobmFtZSA9PT0gXCIvXCIgPyBcImluZGV4Lmpzb25cIiA6IFwiLmpzb25cIik7XG4gICAgfVxuICAgIHBhdGhuYW1lID0gKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGhuYW1lLCBpbmZvLmJhc2VQYXRoKTtcbiAgICByZXR1cm4gIWluZm8uYnVpbGRJZCAmJiBpbmZvLnRyYWlsaW5nU2xhc2ggPyAhcGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpID8gKDAsIF9hZGRwYXRoc3VmZml4LmFkZFBhdGhTdWZmaXgpKHBhdGhuYW1lLCBcIi9cIikgOiBwYXRobmFtZSA6ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZvcm1hdE5leHRQYXRobmFtZUluZm8iLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsInJlcXVpcmUiLCJfYWRkcGF0aHByZWZpeCIsIl9hZGRwYXRoc3VmZml4IiwiX2FkZGxvY2FsZSIsImluZm8iLCJwYXRobmFtZSIsImFkZExvY2FsZSIsImxvY2FsZSIsImJ1aWxkSWQiLCJ1bmRlZmluZWQiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwidHJhaWxpbmdTbGFzaCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJhZGRQYXRoU3VmZml4IiwiYWRkUGF0aFByZWZpeCIsImJhc2VQYXRoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/format-url.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Format function modified from nodejs\n// 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\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7QUFDNUI7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLDhHQUEwQztBQUNwRixNQUFNQyxlQUFlLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHNGQUFlO0FBQ3RGLE1BQU1HLG1CQUFtQjtBQUN6QixTQUFTYixVQUFVYyxNQUFNO0lBQ3JCLElBQUksRUFBRUMsSUFBSSxFQUFHQyxRQUFRLEVBQUcsR0FBR0Y7SUFDM0IsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQU87SUFDWE4sT0FBT0EsT0FBT08sbUJBQW1CUCxNQUFNUSxPQUFPLENBQUMsUUFBUSxPQUFPLE1BQU07SUFDcEUsSUFBSVQsT0FBT08sSUFBSSxFQUFFO1FBQ2JBLE9BQU9OLE9BQU9ELE9BQU9PLElBQUk7SUFDN0IsT0FBTyxJQUFJTCxVQUFVO1FBQ2pCSyxPQUFPTixPQUFRLEVBQUNDLFNBQVNRLE9BQU8sQ0FBQyxPQUFPLE1BQU1SLFdBQVcsTUFBTUEsUUFBTztRQUN0RSxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDYkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzdCO0lBQ0o7SUFDQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUNwQ0EsUUFBUU0sT0FBT2YsYUFBYWdCLHNCQUFzQixDQUFDUDtJQUN2RDtJQUNBLElBQUlRLFNBQVNkLE9BQU9jLE1BQU0sSUFBSVIsU0FBUyxNQUFNQSxTQUFTO0lBQ3RELElBQUlILFlBQVksQ0FBQ0EsU0FBU1ksUUFBUSxDQUFDLE1BQU1aLFlBQVk7SUFDckQsSUFBSUgsT0FBT2dCLE9BQU8sSUFBSSxDQUFDLENBQUNiLFlBQVlKLGlCQUFpQmtCLElBQUksQ0FBQ2QsU0FBUSxLQUFNSSxTQUFTLE9BQU87UUFDcEZBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUSxFQUFDO1FBQ3hCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUMxRCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNkQSxPQUFPO0lBQ1g7SUFDQSxJQUFJRixRQUFRQSxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUtBLE9BQU8sTUFBTUE7SUFDMUMsSUFBSVMsVUFBVUEsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxTQUFTLE1BQU1BO0lBQ2hEVixXQUFXQSxTQUFTSyxPQUFPLENBQUMsU0FBU0Q7SUFDckNNLFNBQVNBLE9BQU9MLE9BQU8sQ0FBQyxLQUFLO0lBQzdCLE9BQU8sS0FBS04sV0FBV0ksT0FBT0gsV0FBV1UsU0FBU1Q7QUFDdEQ7QUFDQSxNQUFNbEIsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU0MscUJBQXFCOEIsR0FBRztJQUM3QixJQUFJQyxJQUFzQyxFQUFFO1FBQ3hDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDekNyQyxPQUFPdUMsSUFBSSxDQUFDRixLQUFLRyxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ3RCLElBQUksQ0FBQ25DLGNBQWNvQyxRQUFRLENBQUNELE1BQU07b0JBQzlCRSxRQUFRQyxJQUFJLENBQUMsdURBQXVESDtnQkFDeEU7WUFDSjtRQUNKO0lBQ0o7SUFDQSxPQUFPcEMsVUFBVWdDO0FBQ3JCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcz83YjUzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZvcm1hdCBmdW5jdGlvbiBtb2RpZmllZCBmcm9tIG5vZGVqc1xuLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGZvcm1hdFVybDogbnVsbCxcbiAgICB1cmxPYmplY3RLZXlzOiBudWxsLFxuICAgIGZvcm1hdFdpdGhWYWxpZGF0aW9uOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGZvcm1hdFVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRVcmw7XG4gICAgfSxcbiAgICB1cmxPYmplY3RLZXlzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVybE9iamVjdEtleXM7XG4gICAgfSxcbiAgICBmb3JtYXRXaXRoVmFsaWRhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXaXRoVmFsaWRhdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCIuL3F1ZXJ5c3RyaW5nXCIpKTtcbmNvbnN0IHNsYXNoZWRQcm90b2NvbHMgPSAvaHR0cHM/fGZ0cHxnb3BoZXJ8ZmlsZS87XG5mdW5jdGlvbiBmb3JtYXRVcmwodXJsT2JqKSB7XG4gICAgbGV0IHsgYXV0aCAsIGhvc3RuYW1lICB9ID0gdXJsT2JqO1xuICAgIGxldCBwcm90b2NvbCA9IHVybE9iai5wcm90b2NvbCB8fCBcIlwiO1xuICAgIGxldCBwYXRobmFtZSA9IHVybE9iai5wYXRobmFtZSB8fCBcIlwiO1xuICAgIGxldCBoYXNoID0gdXJsT2JqLmhhc2ggfHwgXCJcIjtcbiAgICBsZXQgcXVlcnkgPSB1cmxPYmoucXVlcnkgfHwgXCJcIjtcbiAgICBsZXQgaG9zdCA9IGZhbHNlO1xuICAgIGF1dGggPSBhdXRoID8gZW5jb2RlVVJJQ29tcG9uZW50KGF1dGgpLnJlcGxhY2UoLyUzQS9pLCBcIjpcIikgKyBcIkBcIiA6IFwiXCI7XG4gICAgaWYgKHVybE9iai5ob3N0KSB7XG4gICAgICAgIGhvc3QgPSBhdXRoICsgdXJsT2JqLmhvc3Q7XG4gICAgfSBlbHNlIGlmIChob3N0bmFtZSkge1xuICAgICAgICBob3N0ID0gYXV0aCArICh+aG9zdG5hbWUuaW5kZXhPZihcIjpcIikgPyBcIltcIiArIGhvc3RuYW1lICsgXCJdXCIgOiBob3N0bmFtZSk7XG4gICAgICAgIGlmICh1cmxPYmoucG9ydCkge1xuICAgICAgICAgICAgaG9zdCArPSBcIjpcIiArIHVybE9iai5wb3J0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChxdWVyeSAmJiB0eXBlb2YgcXVlcnkgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcXVlcnkgPSBTdHJpbmcoX3F1ZXJ5c3RyaW5nLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMocXVlcnkpKTtcbiAgICB9XG4gICAgbGV0IHNlYXJjaCA9IHVybE9iai5zZWFyY2ggfHwgcXVlcnkgJiYgXCI/XCIgKyBxdWVyeSB8fCBcIlwiO1xuICAgIGlmIChwcm90b2NvbCAmJiAhcHJvdG9jb2wuZW5kc1dpdGgoXCI6XCIpKSBwcm90b2NvbCArPSBcIjpcIjtcbiAgICBpZiAodXJsT2JqLnNsYXNoZXMgfHwgKCFwcm90b2NvbCB8fCBzbGFzaGVkUHJvdG9jb2xzLnRlc3QocHJvdG9jb2wpKSAmJiBob3N0ICE9PSBmYWxzZSkge1xuICAgICAgICBob3N0ID0gXCIvL1wiICsgKGhvc3QgfHwgXCJcIik7XG4gICAgICAgIGlmIChwYXRobmFtZSAmJiBwYXRobmFtZVswXSAhPT0gXCIvXCIpIHBhdGhuYW1lID0gXCIvXCIgKyBwYXRobmFtZTtcbiAgICB9IGVsc2UgaWYgKCFob3N0KSB7XG4gICAgICAgIGhvc3QgPSBcIlwiO1xuICAgIH1cbiAgICBpZiAoaGFzaCAmJiBoYXNoWzBdICE9PSBcIiNcIikgaGFzaCA9IFwiI1wiICsgaGFzaDtcbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaFswXSAhPT0gXCI/XCIpIHNlYXJjaCA9IFwiP1wiICsgc2VhcmNoO1xuICAgIHBhdGhuYW1lID0gcGF0aG5hbWUucmVwbGFjZSgvWz8jXS9nLCBlbmNvZGVVUklDb21wb25lbnQpO1xuICAgIHNlYXJjaCA9IHNlYXJjaC5yZXBsYWNlKFwiI1wiLCBcIiUyM1wiKTtcbiAgICByZXR1cm4gXCJcIiArIHByb3RvY29sICsgaG9zdCArIHBhdGhuYW1lICsgc2VhcmNoICsgaGFzaDtcbn1cbmNvbnN0IHVybE9iamVjdEtleXMgPSBbXG4gICAgXCJhdXRoXCIsXG4gICAgXCJoYXNoXCIsXG4gICAgXCJob3N0XCIsXG4gICAgXCJob3N0bmFtZVwiLFxuICAgIFwiaHJlZlwiLFxuICAgIFwicGF0aFwiLFxuICAgIFwicGF0aG5hbWVcIixcbiAgICBcInBvcnRcIixcbiAgICBcInByb3RvY29sXCIsXG4gICAgXCJxdWVyeVwiLFxuICAgIFwic2VhcmNoXCIsXG4gICAgXCJzbGFzaGVzXCJcbl07XG5mdW5jdGlvbiBmb3JtYXRXaXRoVmFsaWRhdGlvbih1cmwpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICBpZiAodXJsICE9PSBudWxsICYmIHR5cGVvZiB1cmwgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHVybCkuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgICAgIGlmICghdXJsT2JqZWN0S2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVua25vd24ga2V5IHBhc3NlZCB2aWEgdXJsT2JqZWN0IGludG8gdXJsLmZvcm1hdDogXCIgKyBrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRVcmwodXJsKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0LXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJmb3JtYXRVcmwiLCJ1cmxPYmplY3RLZXlzIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9xdWVyeXN0cmluZyIsIl8iLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiZW5kc1dpdGgiLCJzbGFzaGVzIiwidGVzdCIsInVybCIsInByb2Nlc3MiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIiwiY29uc29sZSIsIndhcm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/format-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js ***! - \*************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Translates a logical route into its pages asset path (relative from a common prefix)\n// \"asset path\" being its javascript file, data file, prerendered html,...\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return getAssetPathFromRoute;\n }\n}));\nfunction getAssetPathFromRoute(route, ext) {\n if (ext === void 0) ext = \"\";\n const path = route === \"/\" ? \"/index\" : /^\\/index(\\/|$)/.test(route) ? \"/index\" + route : \"\" + route;\n return path + ext;\n} //# sourceMappingURL=get-asset-path-from-route.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBQ3ZGLDBFQUEwRTtBQUM3RDtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0Esc0JBQXNCQyxLQUFLLEVBQUVDLEdBQUc7SUFDckMsSUFBSUEsUUFBUSxLQUFLLEdBQUdBLE1BQU07SUFDMUIsTUFBTUMsT0FBT0YsVUFBVSxNQUFNLFdBQVcsaUJBQWlCRyxJQUFJLENBQUNILFNBQVMsV0FBV0EsUUFBUSxLQUFLQTtJQUMvRixPQUFPRSxPQUFPRDtBQUNsQixFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1hc3NldC1wYXRoLWZyb20tcm91dGUuanM/YTZmZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUcmFuc2xhdGVzIGEgbG9naWNhbCByb3V0ZSBpbnRvIGl0cyBwYWdlcyBhc3NldCBwYXRoIChyZWxhdGl2ZSBmcm9tIGEgY29tbW9uIHByZWZpeClcbi8vIFwiYXNzZXQgcGF0aFwiIGJlaW5nIGl0cyBqYXZhc2NyaXB0IGZpbGUsIGRhdGEgZmlsZSwgcHJlcmVuZGVyZWQgaHRtbCwuLi5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXNzZXRQYXRoRnJvbVJvdXRlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0QXNzZXRQYXRoRnJvbVJvdXRlKHJvdXRlLCBleHQpIHtcbiAgICBpZiAoZXh0ID09PSB2b2lkIDApIGV4dCA9IFwiXCI7XG4gICAgY29uc3QgcGF0aCA9IHJvdXRlID09PSBcIi9cIiA/IFwiL2luZGV4XCIgOiAvXlxcL2luZGV4KFxcL3wkKS8udGVzdChyb3V0ZSkgPyBcIi9pbmRleFwiICsgcm91dGUgOiBcIlwiICsgcm91dGU7XG4gICAgcmV0dXJuIHBhdGggKyBleHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1hc3NldC1wYXRoLWZyb20tcm91dGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldEFzc2V0UGF0aEZyb21Sb3V0ZSIsInJvdXRlIiwiZXh0IiwicGF0aCIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***! - \**********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n var _options_nextConfig;\n const { basePath, i18n, trailingSlash } = (_options_nextConfig = options.nextConfig) != null ? _options_nextConfig : {};\n const info = {\n pathname: pathname,\n trailingSlash: pathname !== \"/\" ? pathname.endsWith(\"/\") : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n if (options.parseData === true && info.pathname.startsWith(\"/_next/data/\") && info.pathname.endsWith(\".json\")) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, \"\").replace(/\\.json$/, \"\").split(\"/\");\n const buildId = paths[0];\n info.pathname = paths[1] !== \"index\" ? \"/\" + paths.slice(1).join(\"/\") : \"/\";\n info.buildId = buildId;\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (options.i18nProvider) {\n const result = options.i18nProvider.analyze(info.pathname);\n info.locale = result.detectedLocale;\n var _result_pathname;\n info.pathname = (_result_pathname = result.pathname) != null ? _result_pathname : info.pathname;\n } else if (i18n) {\n const pathLocale = (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = pathLocale.detectedLocale;\n var _pathLocale_pathname;\n info.pathname = (_pathLocale_pathname = pathLocale.pathname) != null ? _pathLocale_pathname : info.pathname;\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsMkdBQWtDO0FBQ3ZFLE1BQU1DLG9CQUFvQkQsbUJBQU9BLENBQUMsb0dBQXNCO0FBQ3hELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsOEZBQW1CO0FBQ2xELFNBQVNGLG9CQUFvQkssUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osTUFBTSxFQUFFQyxRQUFRLEVBQUdDLElBQUksRUFBR0MsYUFBYSxFQUFHLEdBQUcsQ0FBQ0gsc0JBQXNCRCxRQUFRSyxVQUFVLEtBQUssT0FBT0osc0JBQXNCLENBQUM7SUFDekgsTUFBTUssT0FBTztRQUNUUCxVQUFVQTtRQUNWSyxlQUFlTCxhQUFhLE1BQU1BLFNBQVNRLFFBQVEsQ0FBQyxPQUFPSDtJQUMvRDtJQUNBLElBQUlGLFlBQVksQ0FBQyxHQUFHSixlQUFlVSxhQUFhLEVBQUVGLEtBQUtQLFFBQVEsRUFBRUcsV0FBVztRQUN4RUksS0FBS1AsUUFBUSxHQUFHLENBQUMsR0FBR0Ysa0JBQWtCWSxnQkFBZ0IsRUFBRUgsS0FBS1AsUUFBUSxFQUFFRztRQUN2RUksS0FBS0osUUFBUSxHQUFHQTtJQUNwQjtJQUNBLElBQUlGLFFBQVFVLFNBQVMsS0FBSyxRQUFRSixLQUFLUCxRQUFRLENBQUNZLFVBQVUsQ0FBQyxtQkFBbUJMLEtBQUtQLFFBQVEsQ0FBQ1EsUUFBUSxDQUFDLFVBQVU7UUFDM0csTUFBTUssUUFBUU4sS0FBS1AsUUFBUSxDQUFDYyxPQUFPLENBQUMsb0JBQW9CLElBQUlBLE9BQU8sQ0FBQyxXQUFXLElBQUlDLEtBQUssQ0FBQztRQUN6RixNQUFNQyxVQUFVSCxLQUFLLENBQUMsRUFBRTtRQUN4Qk4sS0FBS1AsUUFBUSxHQUFHYSxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVUsTUFBTUEsTUFBTUksS0FBSyxDQUFDLEdBQUdDLElBQUksQ0FBQyxPQUFPO1FBQ3hFWCxLQUFLUyxPQUFPLEdBQUdBO0lBQ25CO0lBQ0EsNEVBQTRFO0lBQzVFLHlCQUF5QjtJQUN6QixJQUFJZixRQUFRa0IsWUFBWSxFQUFFO1FBQ3RCLE1BQU1DLFNBQVNuQixRQUFRa0IsWUFBWSxDQUFDRSxPQUFPLENBQUNkLEtBQUtQLFFBQVE7UUFDekRPLEtBQUtlLE1BQU0sR0FBR0YsT0FBT0csY0FBYztRQUNuQyxJQUFJQztRQUNKakIsS0FBS1AsUUFBUSxHQUFHLENBQUN3QixtQkFBbUJKLE9BQU9wQixRQUFRLEtBQUssT0FBT3dCLG1CQUFtQmpCLEtBQUtQLFFBQVE7SUFDbkcsT0FBTyxJQUFJSSxNQUFNO1FBQ2IsTUFBTXFCLGFBQWEsQ0FBQyxHQUFHN0IscUJBQXFCOEIsbUJBQW1CLEVBQUVuQixLQUFLUCxRQUFRLEVBQUVJLEtBQUt1QixPQUFPO1FBQzVGcEIsS0FBS2UsTUFBTSxHQUFHRyxXQUFXRixjQUFjO1FBQ3ZDLElBQUlLO1FBQ0pyQixLQUFLUCxRQUFRLEdBQUcsQ0FBQzRCLHVCQUF1QkgsV0FBV3pCLFFBQVEsS0FBSyxPQUFPNEIsdUJBQXVCckIsS0FBS1AsUUFBUTtJQUMvRztJQUNBLE9BQU9PO0FBQ1gsRUFFQSxrREFBa0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9nZXQtbmV4dC1wYXRobmFtZS1pbmZvLmpzPzBkMjYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXROZXh0UGF0aG5hbWVJbmZvXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXROZXh0UGF0aG5hbWVJbmZvO1xuICAgIH1cbn0pO1xuY29uc3QgX25vcm1hbGl6ZWxvY2FsZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGhcIik7XG5jb25zdCBfcmVtb3ZlcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuL3JlbW92ZS1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4vcGF0aC1oYXMtcHJlZml4XCIpO1xuZnVuY3Rpb24gZ2V0TmV4dFBhdGhuYW1lSW5mbyhwYXRobmFtZSwgb3B0aW9ucykge1xuICAgIHZhciBfb3B0aW9uc19uZXh0Q29uZmlnO1xuICAgIGNvbnN0IHsgYmFzZVBhdGggLCBpMThuICwgdHJhaWxpbmdTbGFzaCAgfSA9IChfb3B0aW9uc19uZXh0Q29uZmlnID0gb3B0aW9ucy5uZXh0Q29uZmlnKSAhPSBudWxsID8gX29wdGlvbnNfbmV4dENvbmZpZyA6IHt9O1xuICAgIGNvbnN0IGluZm8gPSB7XG4gICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgICAgdHJhaWxpbmdTbGFzaDogcGF0aG5hbWUgIT09IFwiL1wiID8gcGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpIDogdHJhaWxpbmdTbGFzaFxuICAgIH07XG4gICAgaWYgKGJhc2VQYXRoICYmICgwLCBfcGF0aGhhc3ByZWZpeC5wYXRoSGFzUHJlZml4KShpbmZvLnBhdGhuYW1lLCBiYXNlUGF0aCkpIHtcbiAgICAgICAgaW5mby5wYXRobmFtZSA9ICgwLCBfcmVtb3ZlcGF0aHByZWZpeC5yZW1vdmVQYXRoUHJlZml4KShpbmZvLnBhdGhuYW1lLCBiYXNlUGF0aCk7XG4gICAgICAgIGluZm8uYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMucGFyc2VEYXRhID09PSB0cnVlICYmIGluZm8ucGF0aG5hbWUuc3RhcnRzV2l0aChcIi9fbmV4dC9kYXRhL1wiKSAmJiBpbmZvLnBhdGhuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29uc3QgcGF0aHMgPSBpbmZvLnBhdGhuYW1lLnJlcGxhY2UoL15cXC9fbmV4dFxcL2RhdGFcXC8vLCBcIlwiKS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiXCIpLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgY29uc3QgYnVpbGRJZCA9IHBhdGhzWzBdO1xuICAgICAgICBpbmZvLnBhdGhuYW1lID0gcGF0aHNbMV0gIT09IFwiaW5kZXhcIiA/IFwiL1wiICsgcGF0aHMuc2xpY2UoMSkuam9pbihcIi9cIikgOiBcIi9cIjtcbiAgICAgICAgaW5mby5idWlsZElkID0gYnVpbGRJZDtcbiAgICB9XG4gICAgLy8gSWYgcHJvdmlkZWQsIHVzZSB0aGUgbG9jYWxlIHJvdXRlIG5vcm1hbGl6ZXIgdG8gZGV0ZWN0IHRoZSBsb2NhbGUgaW5zdGVhZFxuICAgIC8vIG9mIHRoZSBmdW5jdGlvbiBiZWxvdy5cbiAgICBpZiAob3B0aW9ucy5pMThuUHJvdmlkZXIpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gb3B0aW9ucy5pMThuUHJvdmlkZXIuYW5hbHl6ZShpbmZvLnBhdGhuYW1lKTtcbiAgICAgICAgaW5mby5sb2NhbGUgPSByZXN1bHQuZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgIHZhciBfcmVzdWx0X3BhdGhuYW1lO1xuICAgICAgICBpbmZvLnBhdGhuYW1lID0gKF9yZXN1bHRfcGF0aG5hbWUgPSByZXN1bHQucGF0aG5hbWUpICE9IG51bGwgPyBfcmVzdWx0X3BhdGhuYW1lIDogaW5mby5wYXRobmFtZTtcbiAgICB9IGVsc2UgaWYgKGkxOG4pIHtcbiAgICAgICAgY29uc3QgcGF0aExvY2FsZSA9ICgwLCBfbm9ybWFsaXplbG9jYWxlcGF0aC5ub3JtYWxpemVMb2NhbGVQYXRoKShpbmZvLnBhdGhuYW1lLCBpMThuLmxvY2FsZXMpO1xuICAgICAgICBpbmZvLmxvY2FsZSA9IHBhdGhMb2NhbGUuZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgIHZhciBfcGF0aExvY2FsZV9wYXRobmFtZTtcbiAgICAgICAgaW5mby5wYXRobmFtZSA9IChfcGF0aExvY2FsZV9wYXRobmFtZSA9IHBhdGhMb2NhbGUucGF0aG5hbWUpICE9IG51bGwgPyBfcGF0aExvY2FsZV9wYXRobmFtZSA6IGluZm8ucGF0aG5hbWU7XG4gICAgfVxuICAgIHJldHVybiBpbmZvO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtbmV4dC1wYXRobmFtZS1pbmZvLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXROZXh0UGF0aG5hbWVJbmZvIiwiX25vcm1hbGl6ZWxvY2FsZXBhdGgiLCJyZXF1aXJlIiwiX3JlbW92ZXBhdGhwcmVmaXgiLCJfcGF0aGhhc3ByZWZpeCIsInBhdGhuYW1lIiwib3B0aW9ucyIsIl9vcHRpb25zX25leHRDb25maWciLCJiYXNlUGF0aCIsImkxOG4iLCJ0cmFpbGluZ1NsYXNoIiwibmV4dENvbmZpZyIsImluZm8iLCJlbmRzV2l0aCIsInBhdGhIYXNQcmVmaXgiLCJyZW1vdmVQYXRoUHJlZml4IiwicGFyc2VEYXRhIiwic3RhcnRzV2l0aCIsInBhdGhzIiwicmVwbGFjZSIsInNwbGl0IiwiYnVpbGRJZCIsInNsaWNlIiwiam9pbiIsImkxOG5Qcm92aWRlciIsInJlc3VsdCIsImFuYWx5emUiLCJsb2NhbGUiLCJkZXRlY3RlZExvY2FsZSIsIl9yZXN1bHRfcGF0aG5hbWUiLCJwYXRoTG9jYWxlIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsImxvY2FsZXMiLCJfcGF0aExvY2FsZV9wYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": -/*!********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! - \********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsRUFBRSxFQUFFQyxPQUFPO0lBQ25DLElBQUlBLFlBQVksS0FBSyxHQUFHQSxVQUFVLENBQUM7SUFDbkMseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDeEJGO1FBQ0E7SUFDSjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUMxQiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM5QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDdkMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbC5qcz82NTYzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVuIGZ1bmN0aW9uIHdpdGggYHNjcm9sbC1iZWhhdmlvcjogYXV0b2AgYXBwbGllZCB0byBgPGh0bWwvPmAuXG4gKiBUaGlzIGNzcyBjaGFuZ2Ugd2lsbCBiZSByZXZlcnRlZCBhZnRlciB0aGUgZnVuY3Rpb24gZmluaXNoZXMuXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYW5kbGVTbW9vdGhTY3JvbGxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZVNtb290aFNjcm9sbDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGhhbmRsZVNtb290aFNjcm9sbChmbiwgb3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAvLyBpZiBvbmx5IHRoZSBoYXNoIGlzIGNoYW5nZWQsIHdlIGRvbid0IG5lZWQgdG8gZGlzYWJsZSBzbW9vdGggc2Nyb2xsaW5nXG4gICAgLy8gd2Ugb25seSBjYXJlIHRvIHByZXZlbnQgc21vb3RoIHNjcm9sbGluZyB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZSB0byBhdm9pZCBqYXJyaW5nIFVYXG4gICAgaWYgKG9wdGlvbnMub25seUhhc2hDaGFuZ2UpIHtcbiAgICAgICAgZm4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBjb25zdCBleGlzdGluZyA9IGh0bWxFbGVtZW50LnN0eWxlLnNjcm9sbEJlaGF2aW9yO1xuICAgIGh0bWxFbGVtZW50LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gXCJhdXRvXCI7XG4gICAgaWYgKCFvcHRpb25zLmRvbnRGb3JjZUxheW91dCkge1xuICAgICAgICAvLyBJbiBDaHJvbWUtYmFzZWQgYnJvd3NlcnMgd2UgbmVlZCB0byBmb3JjZSByZWZsb3cgYmVmb3JlIGNhbGxpbmcgYHNjcm9sbFRvYC5cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGl0IHdpbGwgbm90IHBpY2t1cCB0aGUgY2hhbmdlIGluIHNjcm9sbEJlaGF2aW9yXG4gICAgICAgIC8vIE1vcmUgaW5mbyBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvaXNzdWVzLzQwNzE5I2lzc3VlY29tbWVudC0xMzM2MjQ4MDQyXG4gICAgICAgIGh0bWxFbGVtZW50LmdldENsaWVudFJlY3RzKCk7XG4gICAgfVxuICAgIGZuKCk7XG4gICAgaHRtbEVsZW1lbnQuc3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSBleGlzdGluZztcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFuZGxlLXNtb290aC1zY3JvbGwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImhhbmRsZVNtb290aFNjcm9sbCIsImZuIiwib3B0aW9ucyIsIm9ubHlIYXNoQ2hhbmdlIiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImV4aXN0aW5nIiwic3R5bGUiLCJzY3JvbGxCZWhhdmlvciIsImRvbnRGb3JjZUxheW91dCIsImdldENsaWVudFJlY3RzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! - \*****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQkFBaUI7UUFDYixPQUFPUSxjQUFjUixlQUFlO0lBQ3hDO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9RLFdBQVdSLGNBQWM7SUFDcEM7QUFDSjtBQUNBLE1BQU1PLGdCQUFnQkUsbUJBQU9BLENBQUMsMEZBQWlCO0FBQy9DLE1BQU1ELGFBQWFDLG1CQUFPQSxDQUFDLG9GQUFjLEdBRXpDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzP2Y1MjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRTb3J0ZWRSb3V0ZXM6IG51bGwsXG4gICAgaXNEeW5hbWljUm91dGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0U29ydGVkUm91dGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zb3J0ZWRyb3V0ZXMuZ2V0U29ydGVkUm91dGVzO1xuICAgIH0sXG4gICAgaXNEeW5hbWljUm91dGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2lzZHluYW1pYy5pc0R5bmFtaWNSb3V0ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9zb3J0ZWRyb3V0ZXMgPSByZXF1aXJlKFwiLi9zb3J0ZWQtcm91dGVzXCIpO1xuY29uc3QgX2lzZHluYW1pYyA9IHJlcXVpcmUoXCIuL2lzLWR5bmFtaWNcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldFNvcnRlZFJvdXRlcyIsImlzRHluYW1pY1JvdXRlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NvcnRlZHJvdXRlcyIsIl9pc2R5bmFtaWMiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! - \**************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxnQkFBZ0JDLG1CQUFPQSxDQUFDLDBGQUFpQjtBQUMvQyxNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyxzRkFBZTtBQUMzQyxTQUFTRixjQUFjSSxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsS0FBSztJQUMzQyxJQUFJQyxvQkFBb0I7SUFDeEIsTUFBTUMsZUFBZSxDQUFDLEdBQUdMLFlBQVlNLGFBQWEsRUFBRUw7SUFDcEQsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUNOLENBQUNQLGVBQWVELFFBQVEsQ0FBQyxHQUFHSCxjQUFjWSxlQUFlLEVBQUVMLGNBQWNILGNBQWMsRUFBQyxLQUFNLGdEQUFnRDtJQUM5SSxzRUFBc0U7SUFDdEVDO0lBQ0FDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU3BCLE9BQU9xQixJQUFJLENBQUNMO0lBQzNCLElBQUksQ0FBQ0ksT0FBT0UsS0FBSyxDQUFDLENBQUNDO1FBQ2YsSUFBSXBCLFFBQVFlLGNBQWMsQ0FBQ0ssTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUMsTUFBTSxFQUFHQyxRQUFRLEVBQUcsR0FBR1QsYUFBYSxDQUFDTyxNQUFNO1FBQ25ELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUcsV0FBVyxNQUFPRixDQUFBQSxTQUFTLFFBQVEsRUFBQyxJQUFLRCxRQUFRO1FBQ3JELElBQUlFLFVBQVU7WUFDVkMsV0FBVyxDQUFDLENBQUN2QixRQUFRLE1BQU0sRUFBQyxJQUFLLE1BQU11QixXQUFXO1FBQ3REO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUN6QixRQUFRQSxRQUFRO1lBQ3pDQTtTQUNIO1FBQ0QsT0FBTyxDQUFDc0IsWUFBWUYsU0FBU0wsY0FBYSxLQUFNLDZDQUE2QztRQUM1RkwsQ0FBQUEsb0JBQW9CQSxrQkFBa0JnQixPQUFPLENBQUNILFVBQVVGLFNBQVNyQixNQUFNMkIsR0FBRyxDQUMzRSx1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFVQyxtQkFBbUJELFVBQVVFLElBQUksQ0FBQyxPQUFPRCxtQkFBbUI3QixXQUFXLEdBQUU7SUFDeEYsSUFBSTtRQUNBVSxvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTlELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDbEQ7SUFDQSxPQUFPO1FBQ0hPO1FBQ0FjLFFBQVFyQjtJQUNaO0FBQ0osRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbnRlcnBvbGF0ZS1hcy5qcz9kMGU0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaW50ZXJwb2xhdGVBc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW50ZXJwb2xhdGVBcztcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1hdGNoZXIgPSByZXF1aXJlKFwiLi9yb3V0ZS1tYXRjaGVyXCIpO1xuY29uc3QgX3JvdXRlcmVnZXggPSByZXF1aXJlKFwiLi9yb3V0ZS1yZWdleFwiKTtcbmZ1bmN0aW9uIGludGVycG9sYXRlQXMocm91dGUsIGFzUGF0aG5hbWUsIHF1ZXJ5KSB7XG4gICAgbGV0IGludGVycG9sYXRlZFJvdXRlID0gXCJcIjtcbiAgICBjb25zdCBkeW5hbWljUmVnZXggPSAoMCwgX3JvdXRlcmVnZXguZ2V0Um91dGVSZWdleCkocm91dGUpO1xuICAgIGNvbnN0IGR5bmFtaWNHcm91cHMgPSBkeW5hbWljUmVnZXguZ3JvdXBzO1xuICAgIGNvbnN0IGR5bmFtaWNNYXRjaGVzID0gLy8gVHJ5IHRvIG1hdGNoIHRoZSBkeW5hbWljIHJvdXRlIGFnYWluc3QgdGhlIGFzUGF0aFxuICAgIChhc1BhdGhuYW1lICE9PSByb3V0ZSA/ICgwLCBfcm91dGVtYXRjaGVyLmdldFJvdXRlTWF0Y2hlcikoZHluYW1pY1JlZ2V4KShhc1BhdGhuYW1lKSA6IFwiXCIpIHx8IC8vIEZhbGwgYmFjayB0byByZWFkaW5nIHRoZSB2YWx1ZXMgZnJvbSB0aGUgaHJlZlxuICAgIC8vIFRPRE86IHNob3VsZCB0aGlzIHRha2UgcHJpb3JpdHk7IGFsc28gbmVlZCB0byBjaGFuZ2UgaW4gdGhlIHJvdXRlci5cbiAgICBxdWVyeTtcbiAgICBpbnRlcnBvbGF0ZWRSb3V0ZSA9IHJvdXRlO1xuICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5rZXlzKGR5bmFtaWNHcm91cHMpO1xuICAgIGlmICghcGFyYW1zLmV2ZXJ5KChwYXJhbSk9PntcbiAgICAgICAgbGV0IHZhbHVlID0gZHluYW1pY01hdGNoZXNbcGFyYW1dIHx8IFwiXCI7XG4gICAgICAgIGNvbnN0IHsgcmVwZWF0ICwgb3B0aW9uYWwgIH0gPSBkeW5hbWljR3JvdXBzW3BhcmFtXTtcbiAgICAgICAgLy8gc3VwcG9ydCBzaW5nbGUtbGV2ZWwgY2F0Y2gtYWxsXG4gICAgICAgIC8vIFRPRE86IG1vcmUgcm9idXN0IGhhbmRsaW5nIGZvciB1c2VyLWVycm9yIChwYXNzaW5nIGAvYClcbiAgICAgICAgbGV0IHJlcGxhY2VkID0gXCJbXCIgKyAocmVwZWF0ID8gXCIuLi5cIiA6IFwiXCIpICsgcGFyYW0gKyBcIl1cIjtcbiAgICAgICAgaWYgKG9wdGlvbmFsKSB7XG4gICAgICAgICAgICByZXBsYWNlZCA9ICghdmFsdWUgPyBcIi9cIiA6IFwiXCIpICsgXCJbXCIgKyByZXBsYWNlZCArIFwiXVwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXBlYXQgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZSA9IFtcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiAob3B0aW9uYWwgfHwgcGFyYW0gaW4gZHluYW1pY01hdGNoZXMpICYmIC8vIEludGVycG9sYXRlIGdyb3VwIGludG8gZGF0YSBVUkwgaWYgcHJlc2VudFxuICAgICAgICAoaW50ZXJwb2xhdGVkUm91dGUgPSBpbnRlcnBvbGF0ZWRSb3V0ZS5yZXBsYWNlKHJlcGxhY2VkLCByZXBlYXQgPyB2YWx1ZS5tYXAoLy8gdGhlc2UgdmFsdWVzIHNob3VsZCBiZSBmdWxseSBlbmNvZGVkIGluc3RlYWQgb2YganVzdFxuICAgICAgICAvLyBwYXRoIGRlbGltaXRlciBlc2NhcGVkIHNpbmNlIHRoZXkgYXJlIGJlaW5nIGluc2VydGVkXG4gICAgICAgIC8vIGludG8gdGhlIFVSTCBhbmQgd2UgZXhwZWN0IFVSTCBlbmNvZGVkIHNlZ21lbnRzXG4gICAgICAgIC8vIHdoZW4gcGFyc2luZyBkeW5hbWljIHJvdXRlIHBhcmFtc1xuICAgICAgICAoc2VnbWVudCk9PmVuY29kZVVSSUNvbXBvbmVudChzZWdtZW50KSkuam9pbihcIi9cIikgOiBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKSB8fCBcIi9cIik7XG4gICAgfSkpIHtcbiAgICAgICAgaW50ZXJwb2xhdGVkUm91dGUgPSBcIlwiIC8vIGRpZCBub3Qgc2F0aXNmeSBhbGwgcmVxdWlyZW1lbnRzXG4gICAgICAgIDtcbiAgICAvLyBuLmIuIFdlIGlnbm9yZSB0aGlzIGVycm9yIGJlY2F1c2Ugd2UgaGFuZGxlIHdhcm5pbmcgZm9yIHRoaXMgY2FzZSBpblxuICAgIC8vIGRldmVsb3BtZW50IGluIHRoZSBgPExpbms+YCBjb21wb25lbnQgZGlyZWN0bHkuXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgcmVzdWx0OiBpbnRlcnBvbGF0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVycG9sYXRlLWFzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpbnRlcnBvbGF0ZUFzIiwiX3JvdXRlbWF0Y2hlciIsInJlcXVpcmUiLCJfcm91dGVyZWdleCIsInJvdXRlIiwiYXNQYXRobmFtZSIsInF1ZXJ5IiwiaW50ZXJwb2xhdGVkUm91dGUiLCJkeW5hbWljUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwiZHluYW1pY0dyb3VwcyIsImdyb3VwcyIsImR5bmFtaWNNYXRjaGVzIiwiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW1zIiwia2V5cyIsImV2ZXJ5IiwicGFyYW0iLCJyZXBlYXQiLCJvcHRpb25hbCIsInJlcGxhY2VkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVwbGFjZSIsIm1hcCIsInNlZ21lbnQiLCJlbmNvZGVVUklDb21wb25lbnQiLCJqb2luIiwicmVzdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-bot.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! - \******************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseUNBQXdDO0lBQ3BDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsTUFBTUMsU0FBUztJQUNwQixPQUFPLG9WQUFvVkMsSUFBSSxDQUFDRDtBQUNwVyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcz8wNzE1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNCb3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzQm90O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNCb3QodXNlckFnZW50KSB7XG4gICAgcmV0dXJuIC9Hb29nbGVib3R8TWVkaWFwYXJ0bmVycy1Hb29nbGV8QWRzQm90LUdvb2dsZXxnb29nbGV3ZWJsaWdodHxTdG9yZWJvdC1Hb29nbGV8R29vZ2xlLVBhZ2VSZW5kZXJlcnxCaW5nYm90fEJpbmdQcmV2aWV3fFNsdXJwfER1Y2tEdWNrQm90fGJhaWR1c3BpZGVyfHlhbmRleHxzb2dvdXxMaW5rZWRJbkJvdHxiaXRseWJvdHx0dW1ibHJ8dmtTaGFyZXxxdW9yYSBsaW5rIHByZXZpZXd8ZmFjZWJvb2tleHRlcm5hbGhpdHxmYWNlYm9va2NhdGFsb2d8VHdpdHRlcmJvdHxhcHBsZWJvdHxyZWRkaXRib3R8U2xhY2tib3R8RGlzY29yZGJvdHxXaGF0c0FwcHxTa3lwZVVyaVByZXZpZXd8aWFfYXJjaGl2ZXIvaS50ZXN0KHVzZXJBZ2VudCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWJvdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNCb3QiLCJ1c2VyQWdlbnQiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Identify /[param]/ in route string\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6IkFBQUEscUNBQXFDO0FBQ3hCO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrREFBaUQ7SUFDN0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxhQUFhO0FBQ25CLFNBQVNELGVBQWVFLEtBQUs7SUFDekIsT0FBT0QsV0FBV0UsSUFBSSxDQUFDRDtBQUMzQixFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanM/NDZmOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJZGVudGlmeSAvW3BhcmFtXS8gaW4gcm91dGUgc3RyaW5nXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzRHluYW1pY1JvdXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0R5bmFtaWNSb3V0ZTtcbiAgICB9XG59KTtcbmNvbnN0IFRFU1RfUk9VVEUgPSAvXFwvXFxbW14vXSs/XFxdKD89XFwvfCQpLztcbmZ1bmN0aW9uIGlzRHluYW1pY1JvdXRlKHJvdXRlKSB7XG4gICAgcmV0dXJuIFRFU1RfUk9VVEUudGVzdChyb3V0ZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWR5bmFtaWMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzRHluYW1pY1JvdXRlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsaUVBQWE7QUFDcEMsTUFBTUMsZUFBZUQsbUJBQU9BLENBQUMsMEZBQWtDO0FBQy9ELFNBQVNGLFdBQVdJLEdBQUc7SUFDbkIsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQyxDQUFDLEdBQUdILE9BQU9JLGFBQWEsRUFBRUQsTUFBTSxPQUFPO0lBQzVDLElBQUk7UUFDQSw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCLENBQUMsR0FBR0wsT0FBT00saUJBQWlCO1FBQ25ELE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0IsQ0FBQyxHQUFHSCxhQUFhUSxXQUFXLEVBQUVILFNBQVNJLFFBQVE7SUFDaEcsRUFBRSxPQUFPQyxHQUFHO1FBQ1IsT0FBTztJQUNYO0FBQ0osRUFFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwuanM/NWQyOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzTG9jYWxVUkxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzTG9jYWxVUkw7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHNcIik7XG5jb25zdCBfaGFzYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vY2xpZW50L2hhcy1iYXNlLXBhdGhcIik7XG5mdW5jdGlvbiBpc0xvY2FsVVJMKHVybCkge1xuICAgIC8vIHByZXZlbnQgYSBoeWRyYXRpb24gbWlzbWF0Y2ggb24gaHJlZiBmb3IgdXJsIHdpdGggYW5jaG9yIHJlZnNcbiAgICBpZiAoISgwLCBfdXRpbHMuaXNBYnNvbHV0ZVVybCkodXJsKSkgcmV0dXJuIHRydWU7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gYWJzb2x1dGUgdXJscyBjYW4gYmUgbG9jYWwgaWYgdGhleSBhcmUgb24gdGhlIHNhbWUgb3JpZ2luXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uT3JpZ2luID0gKDAsIF91dGlscy5nZXRMb2NhdGlvbk9yaWdpbikoKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBuZXcgVVJMKHVybCwgbG9jYXRpb25PcmlnaW4pO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZWQub3JpZ2luID09PSBsb2NhdGlvbk9yaWdpbiAmJiAoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShyZXNvbHZlZC5wYXRobmFtZSk7XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1sb2NhbC11cmwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzTG9jYWxVUkwiLCJfdXRpbHMiLCJyZXF1aXJlIiwiX2hhc2Jhc2VwYXRoIiwidXJsIiwiaXNBYnNvbHV0ZVVybCIsImxvY2F0aW9uT3JpZ2luIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJyZXNvbHZlZCIsIlVSTCIsIm9yaWdpbiIsImhhc0Jhc2VQYXRoIiwicGF0aG5hbWUiLCJfIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/omit.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! - \****************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHdDQUF1QztJQUNuQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLEtBQUtDLE1BQU0sRUFBRUMsSUFBSTtJQUN0QixNQUFNQyxVQUFVLENBQUM7SUFDakJULE9BQU9RLElBQUksQ0FBQ0QsUUFBUUcsT0FBTyxDQUFDLENBQUNDO1FBQ3pCLElBQUksQ0FBQ0gsS0FBS0ksUUFBUSxDQUFDRCxNQUFNO1lBQ3JCRixPQUFPLENBQUNFLElBQUksR0FBR0osTUFBTSxDQUFDSSxJQUFJO1FBQzlCO0lBQ0o7SUFDQSxPQUFPRjtBQUNYLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcz9mYjc4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwib21pdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gb21pdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIG9taXQob2JqZWN0LCBrZXlzKSB7XG4gICAgY29uc3Qgb21pdHRlZCA9IHt9O1xuICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICBpZiAoIWtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgb21pdHRlZFtrZXldID0gb2JqZWN0W2tleV07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb21pdHRlZDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b21pdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/omit.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-path.js": -/*!**********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! - \**********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFVBQVVDLElBQUk7SUFDbkIsTUFBTUMsWUFBWUQsS0FBS0UsT0FBTyxDQUFDO0lBQy9CLE1BQU1DLGFBQWFILEtBQUtFLE9BQU8sQ0FBQztJQUNoQyxNQUFNRSxXQUFXRCxhQUFhLENBQUMsS0FBTUYsQ0FBQUEsWUFBWSxLQUFLRSxhQUFhRixTQUFRO0lBQzNFLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzVCLE9BQU87WUFDSEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUFXSixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUFhO1lBQ3ZGQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ25EO0lBQ0o7SUFDQSxPQUFPO1FBQ0hJLFVBQVVMO1FBQ1ZPLE9BQU87UUFDUEUsTUFBTTtJQUNWO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoLmpzP2U1MmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHaXZlbiBhIHBhdGggdGhpcyBmdW5jdGlvbiB3aWxsIGZpbmQgdGhlIHBhdGhuYW1lLCBxdWVyeSBhbmQgaGFzaCBhbmQgcmV0dXJuXG4gKiB0aGVtLiBUaGlzIGlzIHVzZWZ1bCB0byBwYXJzZSBmdWxsIHBhdGhzIG9uIHRoZSBjbGllbnQgc2lkZS5cbiAqIEBwYXJhbSBwYXRoIEEgcGF0aCB0byBwYXJzZSBlLmcuIC9mb28vYmFyP2lkPTEjaGFzaFxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVBhdGg7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBwYXJzZVBhdGgocGF0aCkge1xuICAgIGNvbnN0IGhhc2hJbmRleCA9IHBhdGguaW5kZXhPZihcIiNcIik7XG4gICAgY29uc3QgcXVlcnlJbmRleCA9IHBhdGguaW5kZXhPZihcIj9cIik7XG4gICAgY29uc3QgaGFzUXVlcnkgPSBxdWVyeUluZGV4ID4gLTEgJiYgKGhhc2hJbmRleCA8IDAgfHwgcXVlcnlJbmRleCA8IGhhc2hJbmRleCk7XG4gICAgaWYgKGhhc1F1ZXJ5IHx8IGhhc2hJbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRobmFtZTogcGF0aC5zdWJzdHJpbmcoMCwgaGFzUXVlcnkgPyBxdWVyeUluZGV4IDogaGFzaEluZGV4KSxcbiAgICAgICAgICAgIHF1ZXJ5OiBoYXNRdWVyeSA/IHBhdGguc3Vic3RyaW5nKHF1ZXJ5SW5kZXgsIGhhc2hJbmRleCA+IC0xID8gaGFzaEluZGV4IDogdW5kZWZpbmVkKSA6IFwiXCIsXG4gICAgICAgICAgICBoYXNoOiBoYXNoSW5kZXggPiAtMSA/IHBhdGguc2xpY2UoaGFzaEluZGV4KSA6IFwiXCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWU6IHBhdGgsXG4gICAgICAgIHF1ZXJ5OiBcIlwiLFxuICAgICAgICBoYXNoOiBcIlwiXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFyc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGFyc2VQYXRoIiwicGF0aCIsImhhc2hJbmRleCIsImluZGV4T2YiLCJxdWVyeUluZGV4IiwiaGFzUXVlcnkiLCJwYXRobmFtZSIsInN1YnN0cmluZyIsInF1ZXJ5IiwidW5kZWZpbmVkIiwiaGFzaCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseRelativeUrl\", ({\n enumerable: true,\n get: function() {\n return parseRelativeUrl;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _querystring = __webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nfunction parseRelativeUrl(url, base) {\n const globalBase = new URL( false ? 0 : (0, _utils.getLocationOrigin)());\n const resolvedBase = base ? new URL(base, globalBase) : url.startsWith(\".\") ? new URL( false ? 0 : window.location.href) : globalBase;\n const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase);\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \" + url);\n }\n return {\n pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length)\n };\n} //# sourceMappingURL=parse-relative-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsaUVBQWE7QUFDcEMsTUFBTUMsZUFBZUQsbUJBQU9BLENBQUMsc0ZBQWU7QUFDNUMsU0FBU0YsaUJBQWlCSSxHQUFHLEVBQUVDLElBQUk7SUFDL0IsTUFBTUMsYUFBYSxJQUFJQyxJQUFJLE1BQTZCLEdBQUcsQ0FBVSxHQUFHLENBQUMsR0FBR04sT0FBT08saUJBQWlCO0lBQ3BHLE1BQU1DLGVBQWVKLE9BQU8sSUFBSUUsSUFBSUYsTUFBTUMsY0FBY0YsSUFBSU0sVUFBVSxDQUFDLE9BQU8sSUFBSUgsSUFBSSxNQUE2QixHQUFHLENBQVUsR0FBR0ksT0FBT0MsUUFBUSxDQUFDQyxJQUFJLElBQUlQO0lBQzNKLE1BQU0sRUFBRVEsUUFBUSxFQUFHQyxZQUFZLEVBQUdDLE1BQU0sRUFBR0MsSUFBSSxFQUFHSixJQUFJLEVBQUdLLE1BQU0sRUFBRyxHQUFHLElBQUlYLElBQUlILEtBQUtLO0lBQ2xGLElBQUlTLFdBQVdaLFdBQVdZLE1BQU0sRUFBRTtRQUM5QixNQUFNLElBQUlDLE1BQU0sc0RBQXNEZjtJQUMxRTtJQUNBLE9BQU87UUFDSFU7UUFDQU0sT0FBTyxDQUFDLEdBQUdqQixhQUFha0Isc0JBQXNCLEVBQUVOO1FBQ2hEQztRQUNBQztRQUNBSixNQUFNQSxLQUFLUyxLQUFLLENBQUNoQixXQUFXWSxNQUFNLENBQUNLLE1BQU07SUFDN0M7QUFDSixFQUVBLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcz80ZWRmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VSZWxhdGl2ZVVybFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZVVybDtcbiAgICB9XG59KTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi8uLi91dGlsc1wiKTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IHJlcXVpcmUoXCIuL3F1ZXJ5c3RyaW5nXCIpO1xuZnVuY3Rpb24gcGFyc2VSZWxhdGl2ZVVybCh1cmwsIGJhc2UpIHtcbiAgICBjb25zdCBnbG9iYWxCYXNlID0gbmV3IFVSTCh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiID8gXCJodHRwOi8vblwiIDogKDAsIF91dGlscy5nZXRMb2NhdGlvbk9yaWdpbikoKSk7XG4gICAgY29uc3QgcmVzb2x2ZWRCYXNlID0gYmFzZSA/IG5ldyBVUkwoYmFzZSwgZ2xvYmFsQmFzZSkgOiB1cmwuc3RhcnRzV2l0aChcIi5cIikgPyBuZXcgVVJMKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIgPyBcImh0dHA6Ly9uXCIgOiB3aW5kb3cubG9jYXRpb24uaHJlZikgOiBnbG9iYWxCYXNlO1xuICAgIGNvbnN0IHsgcGF0aG5hbWUgLCBzZWFyY2hQYXJhbXMgLCBzZWFyY2ggLCBoYXNoICwgaHJlZiAsIG9yaWdpbiAgfSA9IG5ldyBVUkwodXJsLCByZXNvbHZlZEJhc2UpO1xuICAgIGlmIChvcmlnaW4gIT09IGdsb2JhbEJhc2Uub3JpZ2luKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFyaWFudDogaW52YWxpZCByZWxhdGl2ZSBVUkwsIHJvdXRlciByZWNlaXZlZCBcIiArIHVybCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHBhdGhuYW1lLFxuICAgICAgICBxdWVyeTogKDAsIF9xdWVyeXN0cmluZy5zZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KShzZWFyY2hQYXJhbXMpLFxuICAgICAgICBzZWFyY2gsXG4gICAgICAgIGhhc2gsXG4gICAgICAgIGhyZWY6IGhyZWYuc2xpY2UoZ2xvYmFsQmFzZS5vcmlnaW4ubGVuZ3RoKVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlLXJlbGF0aXZlLXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGFyc2VSZWxhdGl2ZVVybCIsIl91dGlscyIsInJlcXVpcmUiLCJfcXVlcnlzdHJpbmciLCJ1cmwiLCJiYXNlIiwiZ2xvYmFsQmFzZSIsIlVSTCIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWRCYXNlIiwic3RhcnRzV2l0aCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGFzaCIsIm9yaWdpbiIsIkVycm9yIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": -/*!***************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! - \***************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsb0ZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksT0FBT0QsU0FBUyxVQUFVO1FBQzFCLE9BQU87SUFDWDtJQUNBLE1BQU0sRUFBRUUsUUFBUSxFQUFHLEdBQUcsQ0FBQyxHQUFHSixXQUFXSyxTQUFTLEVBQUVIO0lBQ2hELE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUMvRCxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcz9iNTM4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGF0aEhhc1ByZWZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0aEhhc1ByZWZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gcGF0aEhhc1ByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgICBpZiAodHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IHBhdGhuYW1lICB9ID0gKDAsIF9wYXJzZXBhdGgucGFyc2VQYXRoKShwYXRoKTtcbiAgICByZXR1cm4gcGF0aG5hbWUgPT09IHByZWZpeCB8fCBwYXRobmFtZS5zdGFydHNXaXRoKHByZWZpeCArIFwiL1wiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGF0aC1oYXMtcHJlZml4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJwYXRoSGFzUHJlZml4IiwiX3BhcnNlcGF0aCIsInJlcXVpcmUiLCJwYXRoIiwicHJlZml4IiwicGF0aG5hbWUiLCJwYXJzZVBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/querystring.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n },\n assign: function() {\n return assign;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0YsdUJBQXVCUyxZQUFZO0lBQ3hDLE1BQU1DLFFBQVEsQ0FBQztJQUNmRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ2IsT0FBT2M7UUFDekIsSUFBSSxPQUFPRixLQUFLLENBQUNFLElBQUksS0FBSyxhQUFhO1lBQ25DRixLQUFLLENBQUNFLElBQUksR0FBR2Q7UUFDakIsT0FBTyxJQUFJZSxNQUFNQyxPQUFPLENBQUNKLEtBQUssQ0FBQ0UsSUFBSSxHQUFHO1lBQ2xDRixLQUFLLENBQUNFLElBQUksQ0FBQ0csSUFBSSxDQUFDakI7UUFDcEIsT0FBTztZQUNIWSxLQUFLLENBQUNFLElBQUksR0FBRztnQkFDVEYsS0FBSyxDQUFDRSxJQUFJO2dCQUNWZDthQUNIO1FBQ0w7SUFDSjtJQUNBLE9BQU9ZO0FBQ1g7QUFDQSxTQUFTTSx1QkFBdUJDLEtBQUs7SUFDakMsSUFBSSxPQUFPQSxVQUFVLFlBQVksT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQVUsT0FBT0EsVUFBVSxXQUFXO1FBQ3ZHLE9BQU9FLE9BQU9GO0lBQ2xCLE9BQU87UUFDSCxPQUFPO0lBQ1g7QUFDSjtBQUNBLFNBQVNoQix1QkFBdUJtQixRQUFRO0lBQ3BDLE1BQU1DLFNBQVMsSUFBSUM7SUFDbkIzQixPQUFPNEIsT0FBTyxDQUFDSCxVQUFVVCxPQUFPLENBQUMsQ0FBQ007UUFDOUIsSUFBSSxDQUFDTCxLQUFLZCxNQUFNLEdBQUdtQjtRQUNuQixJQUFJSixNQUFNQyxPQUFPLENBQUNoQixRQUFRO1lBQ3RCQSxNQUFNYSxPQUFPLENBQUMsQ0FBQ2EsT0FBT0gsT0FBT0ksTUFBTSxDQUFDYixLQUFLSSx1QkFBdUJRO1FBQ3BFLE9BQU87WUFDSEgsT0FBT0ssR0FBRyxDQUFDZCxLQUFLSSx1QkFBdUJsQjtRQUMzQztJQUNKO0lBQ0EsT0FBT3VCO0FBQ1g7QUFDQSxTQUFTbkIsT0FBT0UsTUFBTTtJQUNsQixJQUFJLElBQUl1QixPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLG1CQUFtQixJQUFJakIsTUFBTWMsT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUksT0FBTyxHQUFHQSxPQUFPSixNQUFNSSxPQUFPO1FBQ2xIRCxnQkFBZ0IsQ0FBQ0MsT0FBTyxFQUFFLEdBQUdILFNBQVMsQ0FBQ0csS0FBSztJQUNoRDtJQUNBRCxpQkFBaUJuQixPQUFPLENBQUMsQ0FBQ0Y7UUFDdEJJLE1BQU1tQixJQUFJLENBQUN2QixhQUFhd0IsSUFBSSxJQUFJdEIsT0FBTyxDQUFDLENBQUNDLE1BQU1SLE9BQU84QixNQUFNLENBQUN0QjtRQUM3REgsYUFBYUUsT0FBTyxDQUFDLENBQUNiLE9BQU9jLE1BQU1SLE9BQU9xQixNQUFNLENBQUNiLEtBQUtkO0lBQzFEO0lBQ0EsT0FBT007QUFDWCxFQUVBLHVDQUF1QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzPzAxNDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5OiBudWxsLFxuICAgIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6IG51bGwsXG4gICAgYXNzaWduOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHNlYXJjaFBhcmFtc1RvVXJsUXVlcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2VhcmNoUGFyYW1zVG9VcmxRdWVyeTtcbiAgICB9LFxuICAgIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXJsUXVlcnlUb1NlYXJjaFBhcmFtcztcbiAgICB9LFxuICAgIGFzc2lnbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhc3NpZ247XG4gICAgfVxufSk7XG5mdW5jdGlvbiBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KHNlYXJjaFBhcmFtcykge1xuICAgIGNvbnN0IHF1ZXJ5ID0ge307XG4gICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpPT57XG4gICAgICAgIGlmICh0eXBlb2YgcXVlcnlba2V5XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcXVlcnlba2V5XSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocXVlcnlba2V5XSkpIHtcbiAgICAgICAgICAgIHF1ZXJ5W2tleV0ucHVzaCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeVtrZXldID0gW1xuICAgICAgICAgICAgICAgIHF1ZXJ5W2tleV0sXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcXVlcnk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKHBhcmFtKSB7XG4gICAgaWYgKHR5cGVvZiBwYXJhbSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgcGFyYW0gPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHBhcmFtKSB8fCB0eXBlb2YgcGFyYW0gPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcocGFyYW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXModXJsUXVlcnkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgT2JqZWN0LmVudHJpZXModXJsUXVlcnkpLmZvckVhY2goKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2tleSwgdmFsdWVdID0gcGFyYW07XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSk9PnJlc3VsdC5hcHBlbmQoa2V5LCBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKGl0ZW0pKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgc3RyaW5naWZ5VXJsUXVlcnlQYXJhbSh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGFzc2lnbih0YXJnZXQpIHtcbiAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzZWFyY2hQYXJhbXNMaXN0ID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICBzZWFyY2hQYXJhbXNMaXN0W19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG4gICAgc2VhcmNoUGFyYW1zTGlzdC5mb3JFYWNoKChzZWFyY2hQYXJhbXMpPT57XG4gICAgICAgIEFycmF5LmZyb20oc2VhcmNoUGFyYW1zLmtleXMoKSkuZm9yRWFjaCgoa2V5KT0+dGFyZ2V0LmRlbGV0ZShrZXkpKTtcbiAgICAgICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpPT50YXJnZXQuYXBwZW5kKGtleSwgdmFsdWUpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeXN0cmluZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsImFzc2lnbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJzdHJpbmdpZnlVcmxRdWVyeVBhcmFtIiwicGFyYW0iLCJpc05hTiIsIlN0cmluZyIsInVybFF1ZXJ5IiwicmVzdWx0IiwiVVJMU2VhcmNoUGFyYW1zIiwiZW50cmllcyIsIml0ZW0iLCJhcHBlbmQiLCJzZXQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2VhcmNoUGFyYW1zTGlzdCIsIl9rZXkiLCJmcm9tIiwia2V5cyIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/querystring.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***! - \******************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith(\"/\")) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return \"/\" + withoutPrefix;\n} //# sourceMappingURL=remove-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQyw4RkFBbUI7QUFDbEQsU0FBU0YsaUJBQWlCRyxJQUFJLEVBQUVDLE1BQU07SUFDbEMseUVBQXlFO0lBQ3pFLDBFQUEwRTtJQUMxRSxrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsSUFBSSxDQUFDLENBQUMsR0FBR0gsZUFBZUksYUFBYSxFQUFFRixNQUFNQyxTQUFTO1FBQ2xELE9BQU9EO0lBQ1g7SUFDQSwrQ0FBK0M7SUFDL0MsTUFBTUcsZ0JBQWdCSCxLQUFLSSxLQUFLLENBQUNILE9BQU9JLE1BQU07SUFDOUMsMkVBQTJFO0lBQzNFLElBQUlGLGNBQWNHLFVBQVUsQ0FBQyxNQUFNO1FBQy9CLE9BQU9IO0lBQ1g7SUFDQSw0RUFBNEU7SUFDNUUsbURBQW1EO0lBQ25ELE9BQU8sTUFBTUE7QUFDakIsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtcGF0aC1wcmVmaXguanM/NjE0MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlbW92ZVBhdGhQcmVmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZVBhdGhQcmVmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGF0aGhhc3ByZWZpeCA9IHJlcXVpcmUoXCIuL3BhdGgtaGFzLXByZWZpeFwiKTtcbmZ1bmN0aW9uIHJlbW92ZVBhdGhQcmVmaXgocGF0aCwgcHJlZml4KSB7XG4gICAgLy8gSWYgdGhlIHBhdGggZG9lc24ndCBzdGFydCB3aXRoIHRoZSBwcmVmaXggd2UgY2FuIHJldHVybiBpdCBhcyBpcy4gVGhpc1xuICAgIC8vIHByb3RlY3RzIHVzIGZyb20gc2l0dWF0aW9ucyB3aGVyZSB0aGUgcHJlZml4IGlzIGEgc3Vic3RyaW5nIG9mIHRoZSBwYXRoXG4gICAgLy8gcHJlZml4IHN1Y2ggYXM6XG4gICAgLy9cbiAgICAvLyBGb3IgcHJlZml4OiAvYmxvZ1xuICAgIC8vXG4gICAgLy8gICAvYmxvZyAtPiB0cnVlXG4gICAgLy8gICAvYmxvZy8gLT4gdHJ1ZVxuICAgIC8vICAgL2Jsb2cvMSAtPiB0cnVlXG4gICAgLy8gICAvYmxvZ2dpbmcgLT4gZmFsc2VcbiAgICAvLyAgIC9ibG9nZ2luZy8gLT4gZmFsc2VcbiAgICAvLyAgIC9ibG9nZ2luZy8xIC0+IGZhbHNlXG4gICAgaWYgKCEoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkocGF0aCwgcHJlZml4KSkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHRoZSBwcmVmaXggZnJvbSB0aGUgcGF0aCB2aWEgc2xpY2luZy5cbiAgICBjb25zdCB3aXRob3V0UHJlZml4ID0gcGF0aC5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICAvLyBJZiB0aGUgcGF0aCB3aXRob3V0IHRoZSBwcmVmaXggc3RhcnRzIHdpdGggYSBgL2Agd2UgY2FuIHJldHVybiBpdCBhcyBpcy5cbiAgICBpZiAod2l0aG91dFByZWZpeC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICByZXR1cm4gd2l0aG91dFByZWZpeDtcbiAgICB9XG4gICAgLy8gSWYgdGhlIHBhdGggd2l0aG91dCB0aGUgcHJlZml4IGRvZXNuJ3Qgc3RhcnQgd2l0aCBhIGAvYCB3ZSBuZWVkIHRvIGFkZCBpdFxuICAgIC8vIGJhY2sgdG8gdGhlIHBhdGggdG8gbWFrZSBzdXJlIGl0J3MgYSB2YWxpZCBwYXRoLlxuICAgIHJldHVybiBcIi9cIiArIHdpdGhvdXRQcmVmaXg7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS1wYXRoLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlUGF0aFByZWZpeCIsIl9wYXRoaGFzcHJlZml4IiwicmVxdWlyZSIsInBhdGgiLCJwcmVmaXgiLCJwYXRoSGFzUHJlZml4Iiwid2l0aG91dFByZWZpeCIsInNsaWNlIiwibGVuZ3RoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! - \*********************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLEtBQUs7SUFDOUIsT0FBT0EsTUFBTUMsT0FBTyxDQUFDLE9BQU8sT0FBTztBQUN2QyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcz9lYzA2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVtb3ZlcyB0aGUgdHJhaWxpbmcgc2xhc2ggZm9yIGEgZ2l2ZW4gcm91dGUgb3IgcGFnZSBwYXRoLiBQcmVzZXJ2ZXMgdGhlXG4gKiByb290IHBhZ2UuIEV4YW1wbGVzOlxuICogICAtIGAvZm9vL2Jhci9gIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2Zvby9iYXJgIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2AgLT4gYC9gXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZW1vdmVUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZW1vdmVUcmFpbGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gcmVtb3ZlVHJhaWxpbmdTbGFzaChyb3V0ZSkge1xuICAgIHJldHVybiByb3V0ZS5yZXBsYWNlKC9cXC8kLywgXCJcIikgfHwgXCIvXCI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/resolve-href.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/resolve-href.js ***! - \************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ./querystring */ \"./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ./format-url */ \"./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ./omit */ \"./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ../../../../client/normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ./is-local-url */ \"./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\");\nconst _interpolateas = __webpack_require__(/*! ./interpolate-as */ \"./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\");\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _isdynamic.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n} //# sourceMappingURL=resolve-href.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3Jlc29sdmUtaHJlZi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsK0NBQThDO0lBQzFDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZUFBZUMsbUJBQU9BLENBQUMsc0ZBQWU7QUFDNUMsTUFBTUMsYUFBYUQsbUJBQU9BLENBQUMsb0ZBQWM7QUFDekMsTUFBTUUsUUFBUUYsbUJBQU9BLENBQUMsd0VBQVE7QUFDOUIsTUFBTUcsU0FBU0gsbUJBQU9BLENBQUMsaUVBQWE7QUFDcEMsTUFBTUksMEJBQTBCSixtQkFBT0EsQ0FBQyxnSEFBNkM7QUFDckYsTUFBTUssY0FBY0wsbUJBQU9BLENBQUMsd0ZBQWdCO0FBQzVDLE1BQU1NLGFBQWFOLG1CQUFPQSxDQUFDLG9GQUFjO0FBQ3pDLE1BQU1PLGlCQUFpQlAsbUJBQU9BLENBQUMsNEZBQWtCO0FBQ2pELFNBQVNGLFlBQVlVLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTO0lBQ3hDLDRDQUE0QztJQUM1QyxJQUFJQztJQUNKLElBQUlDLGNBQWMsT0FBT0gsU0FBUyxXQUFXQSxPQUFPLENBQUMsR0FBR1IsV0FBV1ksb0JBQW9CLEVBQUVKO0lBQ3pGLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFBZ0JGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUFJTjtJQUN4RixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQztJQUMxQyxJQUFJLENBQUNELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBQyxFQUFHSixLQUFLLENBQUMsY0FBYztRQUN4Q00sUUFBUUMsS0FBSyxDQUFDLG1CQUFtQlYsY0FBYyx1Q0FBdUNKLE9BQU9lLFFBQVEsR0FBRztRQUN4RyxNQUFNQyxnQkFBZ0IsQ0FBQyxHQUFHckIsT0FBT3NCLHdCQUF3QixFQUFFVDtRQUMzREosY0FBYyxDQUFDRSxnQkFBZ0JBLGFBQWEsQ0FBQyxFQUFFLEdBQUcsRUFBQyxJQUFLVTtJQUM1RDtJQUNBLDJEQUEyRDtJQUMzRCxJQUFJLENBQUMsQ0FBQyxHQUFHbkIsWUFBWXFCLFVBQVUsRUFBRWQsY0FBYztRQUMzQyxPQUFPRixZQUFZO1lBQ2ZFO1NBQ0gsR0FBR0E7SUFDUjtJQUNBLElBQUk7UUFDQUQsT0FBTyxJQUFJZ0IsSUFBSWYsWUFBWWdCLFVBQVUsQ0FBQyxPQUFPcEIsT0FBT3FCLE1BQU0sR0FBR3JCLE9BQU9lLFFBQVEsRUFBRTtJQUNsRixFQUFFLE9BQU9PLEdBQUc7UUFDUixrREFBa0Q7UUFDbERuQixPQUFPLElBQUlnQixJQUFJLEtBQUs7SUFDeEI7SUFDQSxJQUFJO1FBQ0EsTUFBTUksV0FBVyxJQUFJSixJQUFJZixhQUFhRDtRQUN0Q29CLFNBQVNSLFFBQVEsR0FBRyxDQUFDLEdBQUduQix3QkFBd0I0QiwwQkFBMEIsRUFBRUQsU0FBU1IsUUFBUTtRQUM3RixJQUFJVSxpQkFBaUI7UUFDckIsSUFBSSxDQUFDLEdBQUczQixXQUFXNEIsY0FBYyxFQUFFSCxTQUFTUixRQUFRLEtBQUtRLFNBQVNJLFlBQVksSUFBSXpCLFdBQVc7WUFDekYsTUFBTTBCLFFBQVEsQ0FBQyxHQUFHckMsYUFBYXNDLHNCQUFzQixFQUFFTixTQUFTSSxZQUFZO1lBQzVFLE1BQU0sRUFBRUcsTUFBTSxFQUFHQyxNQUFNLEVBQUcsR0FBRyxDQUFDLEdBQUdoQyxlQUFlaUMsYUFBYSxFQUFFVCxTQUFTUixRQUFRLEVBQUVRLFNBQVNSLFFBQVEsRUFBRWE7WUFDckcsSUFBSUUsUUFBUTtnQkFDUkwsaUJBQWlCLENBQUMsR0FBR2hDLFdBQVdZLG9CQUFvQixFQUFFO29CQUNsRFUsVUFBVWU7b0JBQ1ZHLE1BQU1WLFNBQVNVLElBQUk7b0JBQ25CTCxPQUFPLENBQUMsR0FBR2xDLE1BQU13QyxJQUFJLEVBQUVOLE9BQU9HO2dCQUNsQztZQUNKO1FBQ0o7UUFDQSxvRUFBb0U7UUFDcEUsTUFBTUksZUFBZVosU0FBU2EsTUFBTSxLQUFLakMsS0FBS2lDLE1BQU0sR0FBR2IsU0FBU3RCLElBQUksQ0FBQ1EsS0FBSyxDQUFDYyxTQUFTYSxNQUFNLENBQUMxQixNQUFNLElBQUlhLFNBQVN0QixJQUFJO1FBQ2xILE9BQU9DLFlBQVk7WUFDZmlDO1lBQ0FWLGtCQUFrQlU7U0FDckIsR0FBR0E7SUFDUixFQUFFLE9BQU9iLEdBQUc7UUFDUixPQUFPcEIsWUFBWTtZQUNmRTtTQUNILEdBQUdBO0lBQ1I7QUFDSixFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3Jlc29sdmUtaHJlZi5qcz9kNTllIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVzb2x2ZUhyZWZcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVIcmVmO1xuICAgIH1cbn0pO1xuY29uc3QgX3F1ZXJ5c3RyaW5nID0gcmVxdWlyZShcIi4vcXVlcnlzdHJpbmdcIik7XG5jb25zdCBfZm9ybWF0dXJsID0gcmVxdWlyZShcIi4vZm9ybWF0LXVybFwiKTtcbmNvbnN0IF9vbWl0ID0gcmVxdWlyZShcIi4vb21pdFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi8uLi91dGlsc1wiKTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBfaXNsb2NhbHVybCA9IHJlcXVpcmUoXCIuL2lzLWxvY2FsLXVybFwiKTtcbmNvbnN0IF9pc2R5bmFtaWMgPSByZXF1aXJlKFwiLi9pcy1keW5hbWljXCIpO1xuY29uc3QgX2ludGVycG9sYXRlYXMgPSByZXF1aXJlKFwiLi9pbnRlcnBvbGF0ZS1hc1wiKTtcbmZ1bmN0aW9uIHJlc29sdmVIcmVmKHJvdXRlciwgaHJlZiwgcmVzb2x2ZUFzKSB7XG4gICAgLy8gd2UgdXNlIGEgZHVtbXkgYmFzZSB1cmwgZm9yIHJlbGF0aXZlIHVybHNcbiAgICBsZXQgYmFzZTtcbiAgICBsZXQgdXJsQXNTdHJpbmcgPSB0eXBlb2YgaHJlZiA9PT0gXCJzdHJpbmdcIiA/IGhyZWYgOiAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikoaHJlZik7XG4gICAgLy8gcmVwZWF0ZWQgc2xhc2hlcyBhbmQgYmFja3NsYXNoZXMgaW4gdGhlIFVSTCBhcmUgY29uc2lkZXJlZFxuICAgIC8vIGludmFsaWQgYW5kIHdpbGwgbmV2ZXIgbWF0Y2ggYSBOZXh0LmpzIHBhZ2UvZmlsZVxuICAgIGNvbnN0IHVybFByb3RvTWF0Y2ggPSB1cmxBc1N0cmluZy5tYXRjaCgvXlthLXpBLVpdezEsfTpcXC9cXC8vKTtcbiAgICBjb25zdCB1cmxBc1N0cmluZ05vUHJvdG8gPSB1cmxQcm90b01hdGNoID8gdXJsQXNTdHJpbmcuc2xpY2UodXJsUHJvdG9NYXRjaFswXS5sZW5ndGgpIDogdXJsQXNTdHJpbmc7XG4gICAgY29uc3QgdXJsUGFydHMgPSB1cmxBc1N0cmluZ05vUHJvdG8uc3BsaXQoXCI/XCIpO1xuICAgIGlmICgodXJsUGFydHNbMF0gfHwgXCJcIikubWF0Y2goLyhcXC9cXC98XFxcXCkvKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBocmVmICdcIiArIHVybEFzU3RyaW5nICsgXCInIHBhc3NlZCB0byBuZXh0L3JvdXRlciBpbiBwYWdlOiAnXCIgKyByb3V0ZXIucGF0aG5hbWUgKyBcIicuIFJlcGVhdGVkIGZvcndhcmQtc2xhc2hlcyAoLy8pIG9yIGJhY2tzbGFzaGVzIFxcXFwgYXJlIG5vdCB2YWxpZCBpbiB0aGUgaHJlZi5cIik7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRVcmwgPSAoMCwgX3V0aWxzLm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcykodXJsQXNTdHJpbmdOb1Byb3RvKTtcbiAgICAgICAgdXJsQXNTdHJpbmcgPSAodXJsUHJvdG9NYXRjaCA/IHVybFByb3RvTWF0Y2hbMF0gOiBcIlwiKSArIG5vcm1hbGl6ZWRVcmw7XG4gICAgfVxuICAgIC8vIFJldHVybiBiZWNhdXNlIGl0IGNhbm5vdCBiZSByb3V0ZWQgYnkgdGhlIE5leHQuanMgcm91dGVyXG4gICAgaWYgKCEoMCwgX2lzbG9jYWx1cmwuaXNMb2NhbFVSTCkodXJsQXNTdHJpbmcpKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlQXMgPyBbXG4gICAgICAgICAgICB1cmxBc1N0cmluZ1xuICAgICAgICBdIDogdXJsQXNTdHJpbmc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGJhc2UgPSBuZXcgVVJMKHVybEFzU3RyaW5nLnN0YXJ0c1dpdGgoXCIjXCIpID8gcm91dGVyLmFzUGF0aCA6IHJvdXRlci5wYXRobmFtZSwgXCJodHRwOi8vblwiKTtcbiAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgIC8vIGZhbGxiYWNrIHRvIC8gZm9yIGludmFsaWQgYXNQYXRoIHZhbHVlcyBlLmcuIC8vXG4gICAgICAgIGJhc2UgPSBuZXcgVVJMKFwiL1wiLCBcImh0dHA6Ly9uXCIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBjb25zdCBmaW5hbFVybCA9IG5ldyBVUkwodXJsQXNTdHJpbmcsIGJhc2UpO1xuICAgICAgICBmaW5hbFVybC5wYXRobmFtZSA9ICgwLCBfbm9ybWFsaXpldHJhaWxpbmdzbGFzaC5ub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCkoZmluYWxVcmwucGF0aG5hbWUpO1xuICAgICAgICBsZXQgaW50ZXJwb2xhdGVkQXMgPSBcIlwiO1xuICAgICAgICBpZiAoKDAsIF9pc2R5bmFtaWMuaXNEeW5hbWljUm91dGUpKGZpbmFsVXJsLnBhdGhuYW1lKSAmJiBmaW5hbFVybC5zZWFyY2hQYXJhbXMgJiYgcmVzb2x2ZUFzKSB7XG4gICAgICAgICAgICBjb25zdCBxdWVyeSA9ICgwLCBfcXVlcnlzdHJpbmcuc2VhcmNoUGFyYW1zVG9VcmxRdWVyeSkoZmluYWxVcmwuc2VhcmNoUGFyYW1zKTtcbiAgICAgICAgICAgIGNvbnN0IHsgcmVzdWx0ICwgcGFyYW1zICB9ID0gKDAsIF9pbnRlcnBvbGF0ZWFzLmludGVycG9sYXRlQXMpKGZpbmFsVXJsLnBhdGhuYW1lLCBmaW5hbFVybC5wYXRobmFtZSwgcXVlcnkpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGludGVycG9sYXRlZEFzID0gKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWU6IHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgaGFzaDogZmluYWxVcmwuaGFzaCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnk6ICgwLCBfb21pdC5vbWl0KShxdWVyeSwgcGFyYW1zKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHRoZSBvcmlnaW4gZGlkbid0IGNoYW5nZSwgaXQgbWVhbnMgd2UgcmVjZWl2ZWQgYSByZWxhdGl2ZSBocmVmXG4gICAgICAgIGNvbnN0IHJlc29sdmVkSHJlZiA9IGZpbmFsVXJsLm9yaWdpbiA9PT0gYmFzZS5vcmlnaW4gPyBmaW5hbFVybC5ocmVmLnNsaWNlKGZpbmFsVXJsLm9yaWdpbi5sZW5ndGgpIDogZmluYWxVcmwuaHJlZjtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBcyA/IFtcbiAgICAgICAgICAgIHJlc29sdmVkSHJlZixcbiAgICAgICAgICAgIGludGVycG9sYXRlZEFzIHx8IHJlc29sdmVkSHJlZlxuICAgICAgICBdIDogcmVzb2x2ZWRIcmVmO1xuICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBcyA/IFtcbiAgICAgICAgICAgIHVybEFzU3RyaW5nXG4gICAgICAgIF0gOiB1cmxBc1N0cmluZztcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlc29sdmUtaHJlZi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVzb2x2ZUhyZWYiLCJfcXVlcnlzdHJpbmciLCJyZXF1aXJlIiwiX2Zvcm1hdHVybCIsIl9vbWl0IiwiX3V0aWxzIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJfaXNsb2NhbHVybCIsIl9pc2R5bmFtaWMiLCJfaW50ZXJwb2xhdGVhcyIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/resolve-href.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLGlFQUFhO0FBQ3BDLFNBQVNGLGdCQUFnQkcsS0FBSztJQUMxQixJQUFJLEVBQUVDLEVBQUUsRUFBR0MsTUFBTSxFQUFHLEdBQUdGO0lBQ3ZCLE9BQU8sQ0FBQ0c7UUFDSixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNiLE9BQU87UUFDWDtRQUNBLE1BQU1FLFNBQVMsQ0FBQ047WUFDWixJQUFJO2dCQUNBLE9BQU9PLG1CQUFtQlA7WUFDOUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNSLE1BQU0sSUFBSVYsT0FBT1csV0FBVyxDQUFDO1lBQ2pDO1FBQ0o7UUFDQSxNQUFNQyxTQUFTLENBQUM7UUFDaEJuQixPQUFPb0IsSUFBSSxDQUFDVCxRQUFRVSxPQUFPLENBQUMsQ0FBQ0M7WUFDekIsTUFBTUMsSUFBSVosTUFBTSxDQUFDVyxTQUFTO1lBQzFCLE1BQU1FLElBQUlYLFVBQVUsQ0FBQ1UsRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ2pCUCxNQUFNLENBQUNHLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FBT0gsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFRZixPQUFPZSxVQUFVUCxFQUFFUSxNQUFNLEdBQUc7b0JBQ3ZGaEIsT0FBT1M7aUJBQ1YsR0FBR1QsT0FBT1M7WUFDZjtRQUNKO1FBQ0EsT0FBT0w7SUFDWDtBQUNKLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcz9jODZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Um91dGVNYXRjaGVyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRSb3V0ZU1hdGNoZXI7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHNcIik7XG5mdW5jdGlvbiBnZXRSb3V0ZU1hdGNoZXIocGFyYW0pIHtcbiAgICBsZXQgeyByZSAsIGdyb3VwcyAgfSA9IHBhcmFtO1xuICAgIHJldHVybiAocGF0aG5hbWUpPT57XG4gICAgICAgIGNvbnN0IHJvdXRlTWF0Y2ggPSByZS5leGVjKHBhdGhuYW1lKTtcbiAgICAgICAgaWYgKCFyb3V0ZU1hdGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGVjb2RlID0gKHBhcmFtKT0+e1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHBhcmFtKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgX3V0aWxzLkRlY29kZUVycm9yKFwiZmFpbGVkIHRvIGRlY29kZSBwYXJhbVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKGdyb3VwcykuZm9yRWFjaCgoc2x1Z05hbWUpPT57XG4gICAgICAgICAgICBjb25zdCBnID0gZ3JvdXBzW3NsdWdOYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IG0gPSByb3V0ZU1hdGNoW2cucG9zXTtcbiAgICAgICAgICAgIGlmIChtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNbc2x1Z05hbWVdID0gfm0uaW5kZXhPZihcIi9cIikgPyBtLnNwbGl0KFwiL1wiKS5tYXAoKGVudHJ5KT0+ZGVjb2RlKGVudHJ5KSkgOiBnLnJlcGVhdCA/IFtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2RlKG0pXG4gICAgICAgICAgICAgICAgXSA6IGRlY29kZShtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUtbWF0Y2hlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0Um91dGVNYXRjaGVyIiwiX3V0aWxzIiwicmVxdWlyZSIsInBhcmFtIiwicmUiLCJncm91cHMiLCJwYXRobmFtZSIsInJvdXRlTWF0Y2giLCJleGVjIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiXyIsIkRlY29kZUVycm9yIiwicGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJzbHVnTmFtZSIsImciLCJtIiwicG9zIiwidW5kZWZpbmVkIiwiaW5kZXhPZiIsInNwbGl0IiwibWFwIiwiZW50cnkiLCJyZXBlYXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/route-regex.js": -/*!***********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! - \***********************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getRouteRegex: function() {\n return getRouteRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let routeKeyCharCode = 97;\n let routeKeyCharLength = 1;\n return ()=>{\n let routeKey = \"\";\n for(let i = 0; i < routeKeyCharLength; i++){\n routeKey += String.fromCharCode(routeKeyCharCode);\n routeKeyCharCode++;\n if (routeKeyCharCode > 122) {\n routeKeyCharLength++;\n routeKeyCharCode = 97;\n }\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { segment, routeKeys, keyPrefix } = param;\n const getSafeRouteKey = buildGetSafeRouteKey();\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = \"\" + key;\n }\n return repeat ? optional ? \"(?:/(?<\" + cleanedKey + \">.+?))?\" : \"/(?<\" + cleanedKey + \">.+?)\" : \"/(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n return getSafeKeyFromSegment({\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sc0JBQXNCQyxtQkFBT0EsQ0FBQyxvSUFBdUQ7QUFDM0YsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyxpRkFBcUI7QUFDbkQsTUFBTUUsdUJBQXVCRixtQkFBT0EsQ0FBQywwR0FBeUI7QUFDOUQsTUFBTUcsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQUN4Qzs7Ozs7OztDQU9DLEdBQUcsU0FBU0MsZUFBZUMsS0FBSztJQUM3QixNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDVkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1QjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1JMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN4QjtJQUNBLE9BQU87UUFDSEUsS0FBS047UUFDTEs7UUFDQUo7SUFDSjtBQUNKO0FBQ0EsU0FBU00scUJBQXFCQyxLQUFLO0lBQy9CLE1BQU1DLFdBQVcsQ0FBQyxH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T2hCLFNBQVM7SUFDL0I7QUFDSjtBQUNBLFNBQVNuRCx3QkFBd0J3QyxlQUFlLEVBQUU2QixPQUFPO0lBQ3JELE1BQU0sRUFBRXpDLGtCQUFrQixFQUFHLEdBQUdQLHFCQUFxQm1CO0lBQ3JELE1BQU0sRUFBRThCLFdBQVUsSUFBSSxFQUFHLEdBQUdEO0lBQzVCLElBQUl6Qyx1QkFBdUIsS0FBSztRQUM1QixJQUFJMkMsZ0JBQWdCRCxXQUFXLE9BQU87UUFDdEMsT0FBTztZQUNIRixZQUFZLE9BQU9HLGdCQUFnQjtRQUN2QztJQUNKO0lBQ0EsTUFBTSxFQUFFVCx1QkFBdUIsRUFBRyxHQUFHRiwwQkFBMEJwQixpQkFBaUI7SUFDaEYsSUFBSWdDLHVCQUF1QkYsV0FBVyxlQUFlO0lBQ3JELE9BQU87UUFDSEYsWUFBWSxNQUFNTiwwQkFBMEJVLHVCQUF1QjtJQUN2RTtBQUNKLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtcmVnZXguanM/ZWFjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFJvdXRlUmVnZXg6IG51bGwsXG4gICAgZ2V0TmFtZWRSb3V0ZVJlZ2V4OiBudWxsLFxuICAgIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldFJvdXRlUmVnZXg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0Um91dGVSZWdleDtcbiAgICB9LFxuICAgIGdldE5hbWVkUm91dGVSZWdleDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXROYW1lZFJvdXRlUmVnZXg7XG4gICAgfSxcbiAgICBnZXROYW1lZE1pZGRsZXdhcmVSZWdleDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXROYW1lZE1pZGRsZXdhcmVSZWdleDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcmNlcHRpb25yb3V0ZXMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXNcIik7XG5jb25zdCBfZXNjYXBlcmVnZXhwID0gcmVxdWlyZShcIi4uLy4uL2VzY2FwZS1yZWdleHBcIik7XG5jb25zdCBfcmVtb3ZldHJhaWxpbmdzbGFzaCA9IHJlcXVpcmUoXCIuL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IE5FWFRfUVVFUllfUEFSQU1fUFJFRklYID0gXCJueHRQXCI7XG5jb25zdCBORVhUX0lOVEVSQ0VQVElPTl9NQVJLRVJfUFJFRklYID0gXCJueHRJXCI7XG4vKipcbiAqIFBhcnNlcyBhIGdpdmVuIHBhcmFtZXRlciBmcm9tIGEgcm91dGUgdG8gYSBkYXRhIHN0cnVjdHVyZSB0aGF0IGNhbiBiZSB1c2VkXG4gKiB0byBnZW5lcmF0ZSB0aGUgcGFyYW1ldHJpemVkIHJvdXRlLiBFeGFtcGxlczpcbiAqICAgLSBgWy4uLnNsdWddYCAtPiBgeyBrZXk6ICdzbHVnJywgcmVwZWF0OiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9YFxuICogICAtIGAuLi5zbHVnYCAtPiBgeyBrZXk6ICdzbHVnJywgcmVwZWF0OiB0cnVlLCBvcHRpb25hbDogZmFsc2UgfWBcbiAqICAgLSBgW2Zvb11gIC0+IGB7IGtleTogJ2ZvbycsIHJlcGVhdDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlIH1gXG4gKiAgIC0gYGJhcmAgLT4gYHsga2V5OiAnYmFyJywgcmVwZWF0OiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlIH1gXG4gKi8gZnVuY3Rpb24gcGFyc2VQYXJhbWV0ZXIocGFyYW0pIHtcbiAgICBjb25zdCBvcHRpb25hbCA9IHBhcmFtLnN0YXJ0c1dpdGgoXCJbXCIpICYmIHBhcmFtLmVuZHNXaXRoKFwiXVwiKTtcbiAgICBpZiAob3B0aW9uYWwpIHtcbiAgICAgICAgcGFyYW0gPSBwYXJhbS5zbGljZSgxLCAtMSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcGVhdCA9IHBhcmFtLnN0YXJ0c1dpdGgoXCIuLi5cIik7XG4gICAgaWYgKHJlcGVhdCkge1xuICAgICAgICBwYXJhbSA9IHBhcmFtLnNsaWNlKDMpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IHBhcmFtLFxuICAgICAgICByZXBlYXQsXG4gICAgICAgIG9wdGlvbmFsXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhcmFtZXRyaXplZFJvdXRlKHJvdXRlKSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkocm91dGUpLnNsaWNlKDEpLnNwbGl0KFwiL1wiKTtcbiAgICBjb25zdCBncm91cHMgPSB7fTtcbiAgICBsZXQgZ3JvdXBJbmRleCA9IDE7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGFyYW1ldGVyaXplZFJvdXRlOiBzZWdtZW50cy5tYXAoKHNlZ21lbnQpPT57XG4gICAgICAgICAgICBjb25zdCBtYXJrZXJNYXRjaCA9IF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgICAgICBjb25zdCBwYXJhbU1hdGNoZXMgPSBzZWdtZW50Lm1hdGNoKC9cXFsoKD86XFxbLipcXF0pfC4rKVxcXS8pIC8vIENoZWNrIGZvciBwYXJhbWV0ZXJzXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBpZiAobWFya2VyTWF0Y2ggJiYgcGFyYW1NYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBrZXkgLCBvcHRpb25hbCAsIHJlcGVhdCAgfSA9IHBhcnNlUGFyYW1ldGVyKHBhcmFtTWF0Y2hlc1sxXSk7XG4gICAgICAgICAgICAgICAgZ3JvdXBzW2tleV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHBvczogZ3JvdXBJbmRleCsrLFxuICAgICAgICAgICAgICAgICAgICByZXBlYXQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIvXCIgKyAoMCwgX2VzY2FwZXJlZ2V4cC5lc2NhcGVTdHJpbmdSZWdleHApKG1hcmtlck1hdGNoKSArIFwiKFteL10rPylcIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW1NYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBrZXkgLCByZXBlYXQgLCBvcHRpb25hbCAgfSA9IHBhcnNlUGFyYW1ldGVyKHBhcmFtTWF0Y2hlc1sxXSk7XG4gICAgICAgICAgICAgICAgZ3JvdXBzW2tleV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHBvczogZ3JvdXBJbmRleCsrLFxuICAgICAgICAgICAgICAgICAgICByZXBlYXQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVwZWF0ID8gb3B0aW9uYWwgPyBcIig/Oi8oLis/KSk/XCIgOiBcIi8oLis/KVwiIDogXCIvKFteL10rPylcIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiL1wiICsgKDAsIF9lc2NhcGVyZWdleHAuZXNjYXBlU3RyaW5nUmVnZXhwKShzZWdtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuam9pbihcIlwiKSxcbiAgICAgICAgZ3JvdXBzXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFJvdXRlUmVnZXgobm9ybWFsaXplZFJvdXRlKSB7XG4gICAgY29uc3QgeyBwYXJhbWV0ZXJpemVkUm91dGUgLCBncm91cHMgIH0gPSBnZXRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlOiBuZXcgUmVnRXhwKFwiXlwiICsgcGFyYW1ldGVyaXplZFJvdXRlICsgXCIoPzovKT8kXCIpLFxuICAgICAgICBncm91cHM6IGdyb3Vwc1xuICAgIH07XG59XG4vKipcbiAqIEJ1aWxkcyBhIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGEgbWluaW1hbCByb3V0ZUtleSB1c2luZyBvbmx5IGEteiBhbmQgbWluaW1hbFxuICogbnVtYmVyIG9mIGNoYXJhY3RlcnMuXG4gKi8gZnVuY3Rpb24gYnVpbGRHZXRTYWZlUm91dGVLZXkoKSB7XG4gICAgbGV0IHJvdXRlS2V5Q2hhckNvZGUgPSA5NztcbiAgICBsZXQgcm91dGVLZXlDaGFyTGVuZ3RoID0gMTtcbiAgICByZXR1cm4gKCk9PntcbiAgICAgICAgbGV0IHJvdXRlS2V5ID0gXCJcIjtcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IHJvdXRlS2V5Q2hhckxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIHJvdXRlS2V5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUocm91dGVLZXlDaGFyQ29kZSk7XG4gICAgICAgICAgICByb3V0ZUtleUNoYXJDb2RlKys7XG4gICAgICAgICAgICBpZiAocm91dGVLZXlDaGFyQ29kZSA+IDEyMikge1xuICAgICAgICAgICAgICAgIHJvdXRlS2V5Q2hhckxlbmd0aCsrO1xuICAgICAgICAgICAgICAgIHJvdXRlS2V5Q2hhckNvZGUgPSA5NztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm91dGVLZXk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFNhZmVLZXlGcm9tU2VnbWVudChwYXJhbSkge1xuICAgIGxldCB7IHNlZ21lbnQgLCByb3V0ZUtleXMgLCBrZXlQcmVmaXggIH0gPSBwYXJhbTtcbiAgICBjb25zdCBnZXRTYWZlUm91dGVLZXkgPSBidWlsZEdldFNhZmVSb3V0ZUtleSgpO1xuICAgIGNvbnN0IHsga2V5ICwgb3B0aW9uYWwgLCByZXBlYXQgIH0gPSBwYXJzZVBhcmFtZXRlcihzZWdtZW50KTtcbiAgICAvLyByZXBsYWNlIGFueSBub24td29yZCBjaGFyYWN0ZXJzIHNpbmNlIHRoZXkgY2FuIGJyZWFrXG4gICAgLy8gdGhlIG5hbWVkIHJlZ2V4XG4gICAgbGV0IGNsZWFuZWRLZXkgPSBrZXkucmVwbGFjZSgvXFxXL2csIFwiXCIpO1xuICAgIGlmIChrZXlQcmVmaXgpIHtcbiAgICAgICAgY2xlYW5lZEtleSA9IFwiXCIgKyBrZXlQcmVmaXggKyBjbGVhbmVkS2V5O1xuICAgIH1cbiAgICBsZXQgaW52YWxpZEtleSA9IGZhbHNlO1xuICAgIC8vIGNoZWNrIGlmIHRoZSBrZXkgaXMgc3RpbGwgaW52YWxpZCBhbmQgZmFsbGJhY2sgdG8gdXNpbmcgYSBrbm93blxuICAgIC8vIHNhZmUga2V5XG4gICAgaWYgKGNsZWFuZWRLZXkubGVuZ3RoID09PSAwIHx8IGNsZWFuZWRLZXkubGVuZ3RoID4gMzApIHtcbiAgICAgICAgaW52YWxpZEtleSA9IHRydWU7XG4gICAgfVxuICAgIGlmICghaXNOYU4ocGFyc2VJbnQoY2xlYW5lZEtleS5zbGljZSgwLCAxKSkpKSB7XG4gICAgICAgIGludmFsaWRLZXkgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaW52YWxpZEtleSkge1xuICAgICAgICBjbGVhbmVkS2V5ID0gZ2V0U2FmZVJvdXRlS2V5KCk7XG4gICAgfVxuICAgIGlmIChrZXlQcmVmaXgpIHtcbiAgICAgICAgcm91dGVLZXlzW2NsZWFuZWRLZXldID0gXCJcIiArIGtleVByZWZpeCArIGtleTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByb3V0ZUtleXNbY2xlYW5lZEtleV0gPSBcIlwiICsga2V5O1xuICAgIH1cbiAgICByZXR1cm4gcmVwZWF0ID8gb3B0aW9uYWwgPyBcIig/Oi8oPzxcIiArIGNsZWFuZWRLZXkgKyBcIj4uKz8pKT9cIiA6IFwiLyg/PFwiICsgY2xlYW5lZEtleSArIFwiPi4rPylcIiA6IFwiLyg/PFwiICsgY2xlYW5lZEtleSArIFwiPlteL10rPylcIjtcbn1cbmZ1bmN0aW9uIGdldE5hbWVkUGFyYW1ldHJpemVkUm91dGUocm91dGUsIHByZWZpeFJvdXRlS2V5cykge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHJvdXRlKS5zbGljZSgxKS5zcGxpdChcIi9cIik7XG4gICAgY29uc3Qgcm91dGVLZXlzID0ge307XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZWRQYXJhbWV0ZXJpemVkUm91dGU6IHNlZ21lbnRzLm1hcCgoc2VnbWVudCk9PntcbiAgICAgICAgICAgIGNvbnN0IGhhc0ludGVyY2VwdGlvbk1hcmtlciA9IF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZSgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgICAgICBjb25zdCBwYXJhbU1hdGNoZXMgPSBzZWdtZW50Lm1hdGNoKC9cXFsoKD86XFxbLipcXF0pfC4rKVxcXS8pIC8vIENoZWNrIGZvciBwYXJhbWV0ZXJzXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBpZiAoaGFzSW50ZXJjZXB0aW9uTWFya2VyICYmIHBhcmFtTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRTYWZlS2V5RnJvbVNlZ21lbnQoe1xuICAgICAgICAgICAgICAgICAgICBzZWdtZW50OiBwYXJhbU1hdGNoZXNbMV0sXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlS2V5cyxcbiAgICAgICAgICAgICAgICAgICAga2V5UHJlZml4OiBwcmVmaXhSb3V0ZUtleXMgPyBORVhUX0lOVEVSQ0VQVElPTl9NQVJLRVJfUFJFRklYIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmFtTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRTYWZlS2V5RnJvbVNlZ21lbnQoe1xuICAgICAgICAgICAgICAgICAgICBzZWdtZW50OiBwYXJhbU1hdGNoZXNbMV0sXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlS2V5cyxcbiAgICAgICAgICAgICAgICAgICAga2V5UHJlZml4OiBwcmVmaXhSb3V0ZUtleXMgPyBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIvXCIgKyAoMCwgX2VzY2FwZXJlZ2V4cC5lc2NhcGVTdHJpbmdSZWdleHApKHNlZ21lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5qb2luKFwiXCIpLFxuICAgICAgICByb3V0ZUtleXNcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0TmFtZWRSb3V0ZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSwgcHJlZml4Um91dGVLZXkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlKG5vcm1hbGl6ZWRSb3V0ZSwgcHJlZml4Um91dGVLZXkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmdldFJvdXRlUmVnZXgobm9ybWFsaXplZFJvdXRlKSxcbiAgICAgICAgbmFtZWRSZWdleDogXCJeXCIgKyByZXN1bHQubmFtZWRQYXJhbWV0ZXJpemVkUm91dGUgKyBcIig/Oi8pPyRcIixcbiAgICAgICAgcm91dGVLZXlzOiByZXN1bHQucm91dGVLZXlzXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSwgb3B0aW9ucykge1xuICAgIGNvbnN0IHsgcGFyYW1ldGVyaXplZFJvdXRlICB9ID0gZ2V0UGFyYW1ldHJpemVkUm91dGUobm9ybWFsaXplZFJvdXRlKTtcbiAgICBjb25zdCB7IGNhdGNoQWxsID10cnVlICB9ID0gb3B0aW9ucztcbiAgICBpZiAocGFyYW1ldGVyaXplZFJvdXRlID09PSBcIi9cIikge1xuICAgICAgICBsZXQgY2F0Y2hBbGxSZWdleCA9IGNhdGNoQWxsID8gXCIuKlwiIDogXCJcIjtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWVkUmVnZXg6IFwiXi9cIiArIGNhdGNoQWxsUmVnZXggKyBcIiRcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB7IG5hbWVkUGFyYW1ldGVyaXplZFJvdXRlICB9ID0gZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUsIGZhbHNlKTtcbiAgICBsZXQgY2F0Y2hBbGxHcm91cGVkUmVnZXggPSBjYXRjaEFsbCA/IFwiKD86KC8uKik/KVwiIDogXCJcIjtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lZFJlZ2V4OiBcIl5cIiArIG5hbWVkUGFyYW1ldGVyaXplZFJvdXRlICsgY2F0Y2hBbGxHcm91cGVkUmVnZXggKyBcIiRcIlxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlLXJlZ2V4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldFJvdXRlUmVnZXgiLCJnZXROYW1lZFJvdXRlUmVnZXgiLCJnZXROYW1lZE1pZGRsZXdhcmVSZWdleCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcmNlcHRpb25yb3V0ZXMiLCJyZXF1aXJlIiwiX2VzY2FwZXJlZ2V4cCIsIl9yZW1vdmV0cmFpbGluZ3NsYXNoIiwiTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgiLCJORVhUX0lOVEVSQ0VQVElPTl9NQVJLRVJfUFJFRklYIiwicGFyc2VQYXJhbWV0ZXIiLCJwYXJhbSIsIm9wdGlvbmFsIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic2xpY2UiLCJyZXBlYXQiLCJrZXkiLCJnZXRQYXJhbWV0cml6ZWRSb3V0ZSIsInJvdXRlIiwic2VnbWVudHMiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwic3BsaXQiLCJncm91cHMiLCJncm91cEluZGV4IiwicGFyYW1ldGVyaXplZFJvdXRlIiwibWFwIiwic2VnbWVudCIsIm1hcmtlck1hdGNoIiwiSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMiLCJmaW5kIiwibSIsInBhcmFtTWF0Y2hlcyIsIm1hdGNoIiwicG9zIiwiZXNjYXBlU3RyaW5nUmVnZXhwIiwiam9pbiIsIm5vcm1hbGl6ZWRSb3V0ZSIsInJlIiwiUmVnRXhwIiwiYnVpbGRHZXRTYWZlUm91dGVLZXkiLCJyb3V0ZUtleUNoYXJDb2RlIiwicm91dGVLZXlDaGFyTGVuZ3RoIiwicm91dGVLZXkiLCJpIiwiU3RyaW5nIiwiZnJvbUNoYXJDb2RlIiwiZ2V0U2FmZUtleUZyb21TZWdtZW50Iiwicm91dGVLZXlzIiwia2V5UHJlZml4IiwiZ2V0U2FmZVJvdXRlS2V5IiwiY2xlYW5lZEtleSIsInJlcGxhY2UiLCJpbnZhbGlkS2V5IiwibGVuZ3RoIiwiaXNOYU4iLCJwYXJzZUludCIsImdldE5hbWVkUGFyYW1ldHJpemVkUm91dGUiLCJwcmVmaXhSb3V0ZUtleXMiLCJuYW1lZFBhcmFtZXRlcml6ZWRSb3V0ZSIsImhhc0ludGVyY2VwdGlvbk1hcmtlciIsInNvbWUiLCJ1bmRlZmluZWQiLCJwcmVmaXhSb3V0ZUtleSIsInJlc3VsdCIsIm5hbWVkUmVnZXgiLCJvcHRpb25zIiwiY2F0Y2hBbGwiLCJjYXRjaEFsbFJlZ2V4IiwiY2F0Y2hBbGxHcm91cGVkUmVnZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": -/*!*************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! - \*************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DO0lBQ0ZDLE9BQU9DLE9BQU8sRUFBRTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN6RDtJQUNBQyxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDdkI7SUFDQUEsUUFBUUMsTUFBTSxFQUFFO1FBQ1osSUFBSUEsV0FBVyxLQUFLLEdBQUdBLFNBQVM7UUFDaEMsTUFBTUMsZ0JBQWdCO2VBQ2YsSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FDeEIsQ0FBQ0MsSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUN4QkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUN0RDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM1QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN6RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3BDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQzNEO1FBQ0EsTUFBTUcsU0FBU1QsY0FBY1UsR0FBRyxDQUFDLENBQUNDLElBQUksSUFBSSxDQUFDVixRQUFRLENBQUNiLEdBQUcsQ0FBQ3VCLEdBQUdiLE9BQU8sQ0FBQyxLQUFLQyxTQUFTWSxJQUFJLE1BQU1DLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFPO21C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QyxJQUFJLENBQUN4QixRQUFRLENBQUNvQyxHQUFHLENBQUNaLGNBQWM7WUFDakMsSUFBSSxDQUFDeEIsUUFBUSxDQUFDcUMsR0FBRyxDQUFDYixhQUFhLElBQUluQztRQUN2QztRQUNBLElBQUksQ0FBQ1csUUFBUSxDQUFDYixHQUFHLENBQUNxQyxhQUFhaEMsT0FBTyxDQUFDNEIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQ3pFO0lBQ0FnQixhQUFhO1FBQ1QsSUFBSSxDQUFDdkIsV0FBVyxHQUFHO1FBQ25CLElBQUksQ0FBQ2YsUUFBUSxHQUFHLElBQUl1QztRQUNwQixJQUFJLENBQUNwQyxRQUFRLEdBQUc7UUFDaEIsSUFBSSxDQUFDRyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxDQUFDQyxvQkFBb0IsR0FBRztJQUNoQztBQUNKO0FBQ0EsU0FBU25CLGdCQUFnQm9ELGVBQWU7SUFDcEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFDM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBQ2pCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQlAsT0FBTyxDQUFDLENBQUNTLFdBQVdELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNoRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDdEIsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLmpzPzJmNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTb3J0ZWRSb3V0ZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNvcnRlZFJvdXRlcztcbiAgICB9XG59KTtcbmNsYXNzIFVybE5vZGUge1xuICAgIGluc2VydCh1cmxQYXRoKSB7XG4gICAgICAgIHRoaXMuX2luc2VydCh1cmxQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbiksIFtdLCBmYWxzZSk7XG4gICAgfVxuICAgIHNtb29zaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Ntb29zaCgpO1xuICAgIH1cbiAgICBfc21vb3NoKHByZWZpeCkge1xuICAgICAgICBpZiAocHJlZml4ID09PSB2b2lkIDApIHByZWZpeCA9IFwiL1wiO1xuICAgICAgICBjb25zdCBjaGlsZHJlblBhdGhzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5jaGlsZHJlbi5rZXlzKClcbiAgICAgICAgXS5zb3J0KCk7XG4gICAgICAgIGlmICh0aGlzLnNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbLi4uXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIltbLi4uXV1cIiksIDEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IGNoaWxkcmVuUGF0aHMubWFwKChjKT0+dGhpcy5jaGlsZHJlbi5nZXQoYykuX3Ntb29zaChcIlwiICsgcHJlZml4ICsgYyArIFwiL1wiKSkucmVkdWNlKChwcmV2LCBjdXJyKT0+W1xuICAgICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgICAgLi4uY3VyclxuICAgICAgICAgICAgXSwgW10pO1xuICAgICAgICBpZiAodGhpcy5zbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm91dGVzLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoXCJbXVwiKS5fc21vb3NoKHByZWZpeCArIFwiW1wiICsgdGhpcy5zbHVnTmFtZSArIFwiXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgY29uc3QgciA9IHByZWZpeCA9PT0gXCIvXCIgPyBcIi9cIiA6IHByZWZpeC5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGRlZmluZSBhIHJvdXRlIHdpdGggdGhlIHNhbWUgc3BlY2lmaWNpdHkgYXMgYSBvcHRpb25hbCBjYXRjaC1hbGwgcm91dGUgKFwiJyArIHIgKyAnXCIgYW5kIFwiJyArIHIgKyBcIltbLi4uXCIgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgJ11dXCIpLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm91dGVzLnVuc2hpZnQocik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIlsuLi5dXCIpLl9zbW9vc2gocHJlZml4ICsgXCJbLi4uXCIgKyB0aGlzLnJlc3RTbHVnTmFtZSArIFwiXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIltbLi4uXV1cIikuX3Ntb29zaChwcmVmaXggKyBcIltbLi4uXCIgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgXCJdXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3V0ZXM7XG4gICAgfVxuICAgIF9pbnNlcnQodXJsUGF0aHMsIHNsdWdOYW1lcywgaXNDYXRjaEFsbCkge1xuICAgICAgICBpZiAodXJsUGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ2F0Y2hBbGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhdGNoLWFsbCBtdXN0IGJlIHRoZSBsYXN0IHBhcnQgb2YgdGhlIFVSTC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIG5leHQgc2VnbWVudCBpbiB0aGUgdXJsUGF0aHMgbGlzdFxuICAgICAgICBsZXQgbmV4dFNlZ21lbnQgPSB1cmxQYXRoc1swXTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNlZ21lbnQgbWF0Y2hlcyBgW3NvbWV0aGluZ11gXG4gICAgICAgIGlmIChuZXh0U2VnbWVudC5zdGFydHNXaXRoKFwiW1wiKSAmJiBuZXh0U2VnbWVudC5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgIC8vIFN0cmlwIGBbYCBhbmQgYF1gLCBsZWF2aW5nIG9ubHkgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgIGxldCBzZWdtZW50TmFtZSA9IG5leHRTZWdtZW50LnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgIGxldCBpc09wdGlvbmFsID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIltcIikgJiYgc2VnbWVudE5hbWUuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gU3RyaXAgb3B0aW9uYWwgYFtgIGFuZCBgXWAsIGxlYXZpbmcgb25seSBgc29tZXRoaW5nYFxuICAgICAgICAgICAgICAgIHNlZ21lbnROYW1lID0gc2VnbWVudE5hbWUuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgICAgIGlzT3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCIuLi5cIikpIHtcbiAgICAgICAgICAgICAgICAvLyBTdHJpcCBgLi4uYCwgbGVhdmluZyBvbmx5IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgc2VnbWVudE5hbWUgPSBzZWdtZW50TmFtZS5zdWJzdHJpbmcoMyk7XG4gICAgICAgICAgICAgICAgaXNDYXRjaEFsbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIltcIikgfHwgc2VnbWVudE5hbWUuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIGV4dHJhIGJyYWNrZXRzICgnXCIgKyBzZWdtZW50TmFtZSArIFwiJykuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggZXJyb25lb3VzIHBlcmlvZHMgKCdcIiArIHNlZ21lbnROYW1lICsgXCInKS5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVTbHVnKHByZXZpb3VzU2x1ZywgbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTbHVnICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBzcGVjaWZpYyBzZWdtZW50IGFscmVhZHkgaGFzIGEgc2x1ZyBidXQgdGhlIHNsdWcgaXMgbm90IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgcHJldmVudHMgY29sbGlzaW9ucyBsaWtlOlxuICAgICAgICAgICAgICAgICAgICAvLyBwYWdlcy9bcG9zdF0vaW5kZXguanNcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFnZXMvW2lkXS9pbmRleC5qc1xuICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIGN1cnJlbnRseSBtdWx0aXBsZSBkeW5hbWljIHBhcmFtcyBvbiB0aGUgc2FtZSBzZWdtZW50IGxldmVsIGFyZSBub3Qgc3VwcG9ydGVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1NsdWcgIT09IG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIHNlZW1zIHRvIGJlIGNvbmZ1c2luZyBmb3IgdXNlcnMsIG5lZWRzIGFuIGVycm9yIGxpbmssIHRoZSBkZXNjcmlwdGlvbiBjYW4gYmUgYmFzZWQgb24gYWJvdmUgY29tbWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3QgdXNlIGRpZmZlcmVudCBzbHVnIG5hbWVzIGZvciB0aGUgc2FtZSBkeW5hbWljIHBhdGggKCdcIiArIHByZXZpb3VzU2x1ZyArIFwiJyAhPT0gJ1wiICsgbmV4dFNsdWcgKyBcIicpLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzbHVnTmFtZXMuZm9yRWFjaCgoc2x1Zyk9PntcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNsdWcgPT09IG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgaGF2ZSB0aGUgc2FtZSBzbHVnIG5hbWUgXCInICsgbmV4dFNsdWcgKyAnXCIgcmVwZWF0IHdpdGhpbiBhIHNpbmdsZSBkeW5hbWljIHBhdGgnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoc2x1Zy5yZXBsYWNlKC9cXFcvZywgXCJcIikgPT09IG5leHRTZWdtZW50LnJlcGxhY2UoL1xcVy9nLCBcIlwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGhhdmUgdGhlIHNsdWcgbmFtZXMgXCInICsgc2x1ZyArICdcIiBhbmQgXCInICsgbmV4dFNsdWcgKyAnXCIgZGlmZmVyIG9ubHkgYnkgbm9uLXdvcmQgc3ltYm9scyB3aXRoaW4gYSBzaW5nbGUgZHluYW1pYyBwYXRoJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzbHVnTmFtZXMucHVzaChuZXh0U2x1Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgICAgIGlmIChpc09wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgdXNlIGJvdGggYW4gcmVxdWlyZWQgYW5kIG9wdGlvbmFsIGNhdGNoLWFsbCByb3V0ZSBhdCB0aGUgc2FtZSBsZXZlbCAoXCJbLi4uJyArIHRoaXMucmVzdFNsdWdOYW1lICsgJ11cIiBhbmQgXCInICsgdXJsUGF0aHNbMF0gKyAnXCIgKS4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFtbLi4uXV0gc28gdGhhdCBpdCBjYW4gbGF0ZXIgYmUgc29ydGVkIHNwZWNpZmljYWxseVxuICAgICAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiW1suLi5dXVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCB1c2UgYm90aCBhbiBvcHRpb25hbCBhbmQgcmVxdWlyZWQgY2F0Y2gtYWxsIHJvdXRlIGF0IHRoZSBzYW1lIGxldmVsIChcIltbLi4uJyArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyAnXV1cIiBhbmQgXCInICsgdXJsUGF0aHNbMF0gKyAnXCIpLicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5yZXN0U2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3RTbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICAvLyBuZXh0U2VnbWVudCBpcyBvdmVyd3JpdHRlbiB0byBbLi4uXSBzbyB0aGF0IGl0IGNhbiBsYXRlciBiZSBzb3J0ZWQgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbLi4uXVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPcHRpb25hbCByb3V0ZSBwYXJhbWV0ZXJzIGFyZSBub3QgeWV0IHN1cHBvcnRlZCAoXCInICsgdXJsUGF0aHNbMF0gKyAnXCIpLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMuc2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgdGhpcy5zbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFtdIHNvIHRoYXQgaXQgY2FuIGxhdGVyIGJlIHNvcnRlZCBzcGVjaWZpY2FsbHlcbiAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiW11cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGlzIFVybE5vZGUgZG9lc24ndCBoYXZlIHRoZSBuZXh0U2VnbWVudCB5ZXQgd2UgY3JlYXRlIGEgbmV3IGNoaWxkIFVybE5vZGVcbiAgICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuLmhhcyhuZXh0U2VnbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4uc2V0KG5leHRTZWdtZW50LCBuZXcgVXJsTm9kZSgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoaWxkcmVuLmdldChuZXh0U2VnbWVudCkuX2luc2VydCh1cmxQYXRocy5zbGljZSgxKSwgc2x1Z05hbWVzLCBpc0NhdGNoQWxsKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuc2x1Z05hbWUgPSBudWxsO1xuICAgICAgICB0aGlzLnJlc3RTbHVnTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgPSBudWxsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFNvcnRlZFJvdXRlcyhub3JtYWxpemVkUGFnZXMpIHtcbiAgICAvLyBGaXJzdCB0aGUgVXJsTm9kZSBpcyBjcmVhdGVkLCBhbmQgZXZlcnkgVXJsTm9kZSBjYW4gaGF2ZSBvbmx5IDEgZHluYW1pYyBzZWdtZW50XG4gICAgLy8gRWcgeW91IGNhbid0IGhhdmUgcGFnZXMvW3Bvc3RdL2FiYy5qcyBhbmQgcGFnZXMvW2hlbGxvXS9zb21ldGhpbmctZWxzZS5qc1xuICAgIC8vIE9ubHkgMSBkeW5hbWljIHNlZ21lbnQgcGVyIG5lc3RpbmcgbGV2ZWxcbiAgICAvLyBTbyBpbiB0aGUgY2FzZSB0aGF0IGlzIHRlc3QvaW50ZWdyYXRpb24vZHluYW1pYy1yb3V0aW5nIGl0J2xsIGJlIHRoaXM6XG4gICAgLy8gcGFnZXMvW3Bvc3RdL2NvbW1lbnRzLmpzXG4gICAgLy8gcGFnZXMvYmxvZy9bcG9zdF0vY29tbWVudC9baWRdLmpzXG4gICAgLy8gQm90aCBhcmUgZmluZSBiZWNhdXNlIGBwYWdlcy9bcG9zdF1gIGFuZCBgcGFnZXMvYmxvZ2AgYXJlIG9uIHRoZSBzYW1lIGxldmVsXG4gICAgLy8gU28gaW4gdGhpcyBjYXNlIGBVcmxOb2RlYCBjcmVhdGVkIGhlcmUgaGFzIGB0aGlzLnNsdWdOYW1lID09PSAncG9zdCdgXG4gICAgLy8gQW5kIHNpbmNlIHlvdXIgUFIgcGFzc2VkIHRocm91Z2ggYHNsdWdOYW1lYCBhcyBhbiBhcnJheSBiYXNpY2FsbHkgaXQnZCBpbmNsdWRpbmcgaXQgaW4gdG9vIG1hbnkgcG9zc2liaWxpdGllc1xuICAgIC8vIEluc3RlYWQgd2hhdCBoYXMgdG8gYmUgcGFzc2VkIHRocm91Z2ggaXMgdGhlIHVwd2FyZHMgcGF0aCdzIGR5bmFtaWMgbmFtZXNcbiAgICBjb25zdCByb290ID0gbmV3IFVybE5vZGUoKTtcbiAgICAvLyBIZXJlIHRoZSBgcm9vdGAgZ2V0cyBpbmplY3RlZCBtdWx0aXBsZSBwYXRocywgYW5kIGluc2VydCB3aWxsIGJyZWFrIHRoZW0gdXAgaW50byBzdWJsZXZlbHNcbiAgICBub3JtYWxpemVkUGFnZXMuZm9yRWFjaCgocGFnZVBhdGgpPT5yb290Lmluc2VydChwYWdlUGF0aCkpO1xuICAgIC8vIFNtb29zaCB3aWxsIHRoZW4gc29ydCB0aG9zZSBzdWJsZXZlbHMgdXAgdG8gdGhlIHBvaW50IHdoZXJlIHlvdSBnZXQgdGhlIGNvcnJlY3Qgcm91dGUgZGVmaW5pdGlvbiBwcmlvcml0eVxuICAgIHJldHVybiByb290LnNtb29zaCgpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zb3J0ZWQtcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRTb3J0ZWRSb3V0ZXMiLCJVcmxOb2RlIiwiaW5zZXJ0IiwidXJsUGF0aCIsIl9pbnNlcnQiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJzbW9vc2giLCJfc21vb3NoIiwicHJlZml4IiwiY2hpbGRyZW5QYXRocyIsImNoaWxkcmVuIiwia2V5cyIsInNvcnQiLCJzbHVnTmFtZSIsInNwbGljZSIsImluZGV4T2YiLCJyZXN0U2x1Z05hbWUiLCJvcHRpb25hbFJlc3RTbHVnTmFtZSIsInJvdXRlcyIsIm1hcCIsImMiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsInB1c2giLCJwbGFjZWhvbGRlciIsInIiLCJzbGljZSIsIkVycm9yIiwidW5zaGlmdCIsInVybFBhdGhzIiwic2x1Z05hbWVzIiwiaXNDYXRjaEFsbCIsImxlbmd0aCIsIm5leHRTZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic2VnbWVudE5hbWUiLCJpc09wdGlvbmFsIiwic3Vic3RyaW5nIiwiaGFuZGxlU2x1ZyIsInByZXZpb3VzU2x1ZyIsIm5leHRTbHVnIiwiZm9yRWFjaCIsInNsdWciLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiY29uc3RydWN0b3IiLCJNYXAiLCJub3JtYWxpemVkUGFnZXMiLCJyb290IiwicGFnZVBhdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/runtime-config.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/runtime-config.js ***! - \*************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n setConfig: function() {\n return setConfig;\n }\n});\nlet runtimeConfig;\nconst _default = ()=>{\n return runtimeConfig;\n};\nfunction setConfig(configValue) {\n runtimeConfig = configValue;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=runtime-config.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcnVudGltZS1jb25maWcuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFNBQVM7UUFDTCxPQUFPUTtJQUNYO0lBQ0FQLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxJQUFJUTtBQUNKLE1BQU1ELFdBQVc7SUFDYixPQUFPQztBQUNYO0FBQ0EsU0FBU1IsVUFBVVMsV0FBVztJQUMxQkQsZ0JBQWdCQztBQUNwQjtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRRyxPQUFPLEtBQUssY0FBZSxPQUFPSCxRQUFRRyxPQUFPLEtBQUssWUFBWUgsUUFBUUcsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPSCxRQUFRRyxPQUFPLENBQUNXLFVBQVUsS0FBSyxhQUFhO0lBQ3JLaEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRRyxPQUFPLEVBQUUsY0FBYztRQUFFRixPQUFPO0lBQUs7SUFDbkVILE9BQU9pQixNQUFNLENBQUNmLFFBQVFHLE9BQU8sRUFBRUg7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUcsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcnVudGltZS1jb25maWcuanM/ZTBhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgc2V0Q29uZmlnOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfSxcbiAgICBzZXRDb25maWc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2V0Q29uZmlnO1xuICAgIH1cbn0pO1xubGV0IHJ1bnRpbWVDb25maWc7XG5jb25zdCBfZGVmYXVsdCA9ICgpPT57XG4gICAgcmV0dXJuIHJ1bnRpbWVDb25maWc7XG59O1xuZnVuY3Rpb24gc2V0Q29uZmlnKGNvbmZpZ1ZhbHVlKSB7XG4gICAgcnVudGltZUNvbmZpZyA9IGNvbmZpZ1ZhbHVlO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ydW50aW1lLWNvbmZpZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJkZWZhdWx0Iiwic2V0Q29uZmlnIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJydW50aW1lQ29uZmlnIiwiY29uZmlnVmFsdWUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/runtime-config.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/side-effect.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nconst isServer = \"object\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLDhHQUEwQztBQUNwRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDRDQUFPO0FBQ3hFLE1BQU1HLFdBQVcsYUFBa0I7QUFDbkMsTUFBTUMsNEJBQTRCRCxXQUFXLEtBQUssSUFBSUYsT0FBT0ksZUFBZTtBQUM1RSxNQUFNQyxzQkFBc0JILFdBQVcsS0FBSyxJQUFJRixPQUFPTSxTQUFTO0FBQ2hFLFNBQVNULFdBQVdVLEtBQUs7O0lBQ3JCLE1BQU0sRUFBRUMsV0FBVyxFQUFHQyx1QkFBdUIsRUFBRyxHQUFHRjtJQUNuRCxTQUFTRztRQUNMLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQzdDLE1BQU1DLGVBQWVaLE9BQU9hLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNQyxJQUFJLENBQUNSLFlBQVlHLGdCQUFnQixFQUFFTSxNQUFNLENBQUNDO1lBQzdGVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDakU7SUFDSjtJQUNBLElBQUlMLFVBQVU7UUFDVixJQUFJa0I7UUFDSlosZUFBZSxPQUFPLEtBQUssSUFBSSxDQUFDWSxnQ0FBZ0NaLFlBQVlHLGdCQUFnQixLQUFLLE9BQU8sS0FBSyxJQUFJUyw4QkFBOEJDLEdBQUcsQ0FBQ2QsTUFBTWUsUUFBUTtRQUNqS1o7SUFDSjtJQUNBUCwwQkFBMEI7UUFDdEIsSUFBSWlCO1FBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCQyxHQUFHLENBQUNkLE1BQU1lLFFBQVE7UUFDakssT0FBTztZQUNILElBQUlGO1lBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCRyxNQUFNLENBQUNoQixNQUFNZSxRQUFRO1FBQ3hLO0lBQ0o7SUFDQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbkIsMEJBQTBCO1FBQ3RCLElBQUlLLGFBQWE7WUFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7UUFDakM7UUFDQSxPQUFPO1lBQ0gsSUFBSUYsYUFBYTtnQkFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7WUFDakM7UUFDSjtJQUNKO0lBQ0FMLG9CQUFvQjtRQUNoQixJQUFJRyxlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO1lBQzNDaEIsWUFBWWdCLGNBQWM7WUFDMUJoQixZQUFZZ0IsY0FBYyxHQUFHO1FBQ2pDO1FBQ0EsT0FBTztZQUNILElBQUloQixlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO2dCQUMzQ2hCLFlBQVlnQixjQUFjO2dCQUMxQmhCLFlBQVlnQixjQUFjLEdBQUc7WUFDakM7UUFDSjtJQUNKO0lBQ0EsT0FBTztBQUNYLEVBRUEsdUNBQXVDO0dBbkQ5QjNCOztRQWFMTTtRQWFBQTtRQVVBRTs7O0tBcENLUiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanM/NDA4YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNpZGVFZmZlY3Q7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgaXNTZXJ2ZXIgPSB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiO1xuY29uc3QgdXNlQ2xpZW50T25seUxheW91dEVmZmVjdCA9IGlzU2VydmVyID8gKCk9Pnt9IDogX3JlYWN0LnVzZUxheW91dEVmZmVjdDtcbmNvbnN0IHVzZUNsaWVudE9ubHlFZmZlY3QgPSBpc1NlcnZlciA/ICgpPT57fSA6IF9yZWFjdC51c2VFZmZlY3Q7XG5mdW5jdGlvbiBTaWRlRWZmZWN0KHByb3BzKSB7XG4gICAgY29uc3QgeyBoZWFkTWFuYWdlciAsIHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlICB9ID0gcHJvcHM7XG4gICAgZnVuY3Rpb24gZW1pdENoYW5nZSgpIHtcbiAgICAgICAgaWYgKGhlYWRNYW5hZ2VyICYmIGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRFbGVtZW50cyA9IF9yZWFjdC5DaGlsZHJlbi50b0FycmF5KEFycmF5LmZyb20oaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykuZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyLnVwZGF0ZUhlYWQocmVkdWNlQ29tcG9uZW50c1RvU3RhdGUoaGVhZEVsZW1lbnRzLCBwcm9wcykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgICB2YXIgX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXM7XG4gICAgICAgIGhlYWRNYW5hZ2VyID09IG51bGwgPyB2b2lkIDAgOiAoX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMgPSBoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzKSA9PSBudWxsID8gdm9pZCAwIDogX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMuYWRkKHByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgZW1pdENoYW5nZSgpO1xuICAgIH1cbiAgICB1c2VDbGllbnRPbmx5TGF5b3V0RWZmZWN0KCgpPT57XG4gICAgICAgIHZhciBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcztcbiAgICAgICAgaGVhZE1hbmFnZXIgPT0gbnVsbCA/IHZvaWQgMCA6IChfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcyA9IGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcy5hZGQocHJvcHMuY2hpbGRyZW4pO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIHZhciBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcztcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyID09IG51bGwgPyB2b2lkIDAgOiAoX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMgPSBoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzKSA9PSBudWxsID8gdm9pZCAwIDogX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMuZGVsZXRlKHByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICAvLyBXZSBuZWVkIHRvIGNhbGwgYHVwZGF0ZUhlYWRgIG1ldGhvZCB3aGVuZXZlciB0aGUgYFNpZGVFZmZlY3RgIGlzIHRyaWdnZXIgaW4gYWxsXG4gICAgLy8gbGlmZS1jeWNsZXM6IG1vdW50LCB1cGRhdGUsIHVubW91bnQuIEhvd2V2ZXIsIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBgU2lkZUVmZmVjdGBzXG4gICAgLy8gYmVpbmcgcmVuZGVyZWQsIHdlIG9ubHkgdHJpZ2dlciB0aGUgbWV0aG9kIGZyb20gdGhlIGxhc3Qgb25lLlxuICAgIC8vIFRoaXMgaXMgZW5zdXJlZCBieSBrZWVwaW5nIHRoZSBsYXN0IHVuZmx1c2hlZCBgdXBkYXRlSGVhZGAgaW4gdGhlIGBfcGVuZGluZ1VwZGF0ZWBcbiAgICAvLyBzaW5nbGV0b24gaW4gdGhlIGxheW91dCBlZmZlY3QgcGFzcywgYW5kIGFjdHVhbGx5IHRyaWdnZXIgaXQgaW4gdGhlIGVmZmVjdCBwYXNzLlxuICAgIHVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKGhlYWRNYW5hZ2VyKSB7XG4gICAgICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IGVtaXRDaGFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBpZiAoaGVhZE1hbmFnZXIpIHtcbiAgICAgICAgICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IGVtaXRDaGFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgdXNlQ2xpZW50T25seUVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAoaGVhZE1hbmFnZXIgJiYgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUpIHtcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlKCk7XG4gICAgICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBpZiAoaGVhZE1hbmFnZXIgJiYgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSgpO1xuICAgICAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gbnVsbDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2lkZS1lZmZlY3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlNpZGVFZmZlY3QiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJpc1NlcnZlciIsInVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDbGllbnRPbmx5RWZmZWN0IiwidXNlRWZmZWN0IiwicHJvcHMiLCJoZWFkTWFuYWdlciIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiZW1pdENoYW5nZSIsIm1vdW50ZWRJbnN0YW5jZXMiLCJoZWFkRWxlbWVudHMiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJCb29sZWFuIiwidXBkYXRlSGVhZCIsIl9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/side-effect.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils.js ***! - \****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n isResSent: function() {\n return isResSent;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n DecodeError: function() {\n return DecodeError;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FrQk47QUFDQSxTQUFTa0IsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXhCLE9BQU9DLGNBQWMsQ0FBQ3NCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXBCLFNBQVM7SUFDYkcsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxtQkFBbUI7UUFDZixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1oQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQyxTQUFTc0IsRUFBRTtJQUNoQixJQUFJQyxPQUFPO0lBQ1gsSUFBSUM7SUFD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SSxDQUFDLEtBQUs3RCxlQUFlaUQsT0FBTztRQUM1QztJQUNKO0lBQ0EsT0FBT1M7QUFDWDtBQUNBLE1BQU10RCxLQUFLLE9BQU8wRCxnQkFBZ0I7QUFDbEMsTUFBTXpELEtBQUtELE1BQU07SUFDYjtJQUNBO0lBQ0E7Q0FDSCxDQUFDMkQsS0FBSyxDQUFDLENBQUNDLFNBQVMsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFDakQsTUFBTTFELG9CQUFvQmtEO0FBQzFCO0FBQ0EsTUFBTWpELHVCQUF1QmlEO0FBQzdCO0FBQ0EsTUFBTWhELDBCQUEwQmdEO0lBQzVCUyxZQUFZQyxJQUFJLENBQUM7UUFDYixLQUFLO1FBQ0wsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNwRCxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUN3QyxPQUFPLEdBQUcsa0NBQWtDVztJQUNyRDtBQUNKO0FBQ0EsTUFBTXpELDBCQUEwQitDO0lBQzVCUyxZQUFZQyxJQUFJLEVBQUVYLE9BQU8sQ0FBQztRQUN0QixLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQTBDVyxPQUFPLE1BQU1YO0lBQzFFO0FBQ0o7QUFDQSxNQUFNN0MsZ0NBQWdDOEM7SUFDbENTLGFBQWE7UUFDVCxLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNaLE9BQU8sR0FBRztJQUNuQjtBQUNKO0FBQ0EsU0FBUzVDLGVBQWV5RCxLQUFLO0lBQ3pCLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUNsQmYsU0FBU2EsTUFBTWIsT0FBTztRQUN0QmdCLE9BQU9ILE1BQU1HLEtBQUs7SUFDdEI7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanM/ZTdmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFdFQl9WSVRBTFM6IG51bGwsXG4gICAgZXhlY09uY2U6IG51bGwsXG4gICAgaXNBYnNvbHV0ZVVybDogbnVsbCxcbiAgICBnZXRMb2NhdGlvbk9yaWdpbjogbnVsbCxcbiAgICBnZXRVUkw6IG51bGwsXG4gICAgZ2V0RGlzcGxheU5hbWU6IG51bGwsXG4gICAgaXNSZXNTZW50OiBudWxsLFxuICAgIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlczogbnVsbCxcbiAgICBsb2FkR2V0SW5pdGlhbFByb3BzOiBudWxsLFxuICAgIFNQOiBudWxsLFxuICAgIFNUOiBudWxsLFxuICAgIERlY29kZUVycm9yOiBudWxsLFxuICAgIE5vcm1hbGl6ZUVycm9yOiBudWxsLFxuICAgIFBhZ2VOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIE1pc3NpbmdTdGF0aWNQYWdlOiBudWxsLFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIHN0cmluZ2lmeUVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFdFQl9WSVRBTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gV0VCX1ZJVEFMUztcbiAgICB9LFxuICAgIGV4ZWNPbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4ZWNPbmNlO1xuICAgIH0sXG4gICAgaXNBYnNvbHV0ZVVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Fic29sdXRlVXJsO1xuICAgIH0sXG4gICAgZ2V0TG9jYXRpb25PcmlnaW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TG9jYXRpb25PcmlnaW47XG4gICAgfSxcbiAgICBnZXRVUkw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VVJMO1xuICAgIH0sXG4gICAgZ2V0RGlzcGxheU5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzcGxheU5hbWU7XG4gICAgfSxcbiAgICBpc1Jlc1NlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNSZXNTZW50O1xuICAgIH0sXG4gICAgbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcztcbiAgICB9LFxuICAgIGxvYWRHZXRJbml0aWFsUHJvcHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbG9hZEdldEluaXRpYWxQcm9wcztcbiAgICB9LFxuICAgIFNQOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNQO1xuICAgIH0sXG4gICAgU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1Q7XG4gICAgfSxcbiAgICBEZWNvZGVFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEZWNvZGVFcnJvcjtcbiAgICB9LFxuICAgIE5vcm1hbGl6ZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5vcm1hbGl6ZUVycm9yO1xuICAgIH0sXG4gICAgUGFnZU5vdEZvdW5kRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUGFnZU5vdEZvdW5kRXJyb3I7XG4gICAgfSxcbiAgICBNaXNzaW5nU3RhdGljUGFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNaXNzaW5nU3RhdGljUGFnZTtcbiAgICB9LFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5RXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBXRUJfVklUQUxTID0gW1xuICAgIFwiQ0xTXCIsXG4gICAgXCJGQ1BcIixcbiAgICBcIkZJRFwiLFxuICAgIFwiSU5QXCIsXG4gICAgXCJMQ1BcIixcbiAgICBcIlRURkJcIlxuXTtcbmZ1bmN0aW9uIGV4ZWNPbmNlKGZuKSB7XG4gICAgbGV0IHVzZWQgPSBmYWxzZTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXVzZWQpIHtcbiAgICAgICAgICAgIHVzZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmVzdWx0ID0gZm4oLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xufVxuLy8gU2NoZW1lOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMVxuLy8gQWJzb2x1dGUgVVJMOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTQuM1xuY29uc3QgQUJTT0xVVEVfVVJMX1JFR0VYID0gL15bYS16QS1aXVthLXpBLVpcXGQrXFwtLl0qPzovO1xuY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmwpPT5BQlNPTFVURV9VUkxfUkVHRVgudGVzdCh1cmwpO1xuZnVuY3Rpb24gZ2V0TG9jYXRpb25PcmlnaW4oKSB7XG4gICAgY29uc3QgeyBwcm90b2NvbCAsIGhvc3RuYW1lICwgcG9ydCAgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICByZXR1cm4gcHJvdG9jb2wgKyBcIi8vXCIgKyBob3N0bmFtZSArIChwb3J0ID8gXCI6XCIgKyBwb3J0IDogXCJcIik7XG59XG5mdW5jdGlvbiBnZXRVUkwoKSB7XG4gICAgY29uc3QgeyBocmVmICB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIGNvbnN0IG9yaWdpbiA9IGdldExvY2F0aW9uT3JpZ2luKCk7XG4gICAgcmV0dXJuIGhyZWYuc3Vic3RyaW5nKG9yaWdpbi5sZW5ndGgpO1xufVxuZnVuY3Rpb24gZ2V0RGlzcGxheU5hbWUoQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBDb21wb25lbnQgPT09IFwic3RyaW5nXCIgPyBDb21wb25lbnQgOiBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgXCJVbmtub3duXCI7XG59XG5mdW5jdGlvbiBpc1Jlc1NlbnQocmVzKSB7XG4gICAgcmV0dXJuIHJlcy5maW5pc2hlZCB8fCByZXMuaGVhZGVyc1NlbnQ7XG59XG5mdW5jdGlvbiBub3JtYWxpemVSZXBlYXRlZFNsYXNoZXModXJsKSB7XG4gICAgY29uc3QgdXJsUGFydHMgPSB1cmwuc3BsaXQoXCI/XCIpO1xuICAgIGNvbnN0IHVybE5vUXVlcnkgPSB1cmxQYXJ0c1swXTtcbiAgICByZXR1cm4gdXJsTm9RdWVyeS8vIGZpcnN0IHdlIHJlcGxhY2UgYW55IG5vbi1lbmNvZGVkIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZFxuICAgIC8vIHRoZW4gbm9ybWFsaXplIHJlcGVhdGVkIGZvcndhcmQgc2xhc2hlc1xuICAgIC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKS5yZXBsYWNlKC9cXC9cXC8rL2csIFwiL1wiKSArICh1cmxQYXJ0c1sxXSA/IFwiP1wiICsgdXJsUGFydHMuc2xpY2UoMSkuam9pbihcIj9cIikgOiBcIlwiKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRHZXRJbml0aWFsUHJvcHMoQXBwLCBjdHgpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIHZhciBfQXBwX3Byb3RvdHlwZTtcbiAgICAgICAgaWYgKChfQXBwX3Byb3RvdHlwZSA9IEFwcC5wcm90b3R5cGUpID09IG51bGwgPyB2b2lkIDAgOiBfQXBwX3Byb3RvdHlwZS5nZXRJbml0aWFsUHJvcHMpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnXCInICsgZ2V0RGlzcGxheU5hbWUoQXBwKSArICcuZ2V0SW5pdGlhbFByb3BzKClcIiBpcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIG1ldGhvZCAtIHZpc2l0IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dldC1pbml0aWFsLXByb3BzLWFzLWFuLWluc3RhbmNlLW1ldGhvZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHdoZW4gY2FsbGVkIGZyb20gX2FwcCBgY3R4YCBpcyBuZXN0ZWQgaW4gYGN0eGBcbiAgICBjb25zdCByZXMgPSBjdHgucmVzIHx8IGN0eC5jdHggJiYgY3R4LmN0eC5yZXM7XG4gICAgaWYgKCFBcHAuZ2V0SW5pdGlhbFByb3BzKSB7XG4gICAgICAgIGlmIChjdHguY3R4ICYmIGN0eC5Db21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgcGFnZVByb3BzIGRlZmF1bHRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcGFnZVByb3BzOiBhd2FpdCBsb2FkR2V0SW5pdGlhbFByb3BzKGN0eC5Db21wb25lbnQsIGN0eC5jdHgpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3QgcHJvcHMgPSBhd2FpdCBBcHAuZ2V0SW5pdGlhbFByb3BzKGN0eCk7XG4gICAgaWYgKHJlcyAmJiBpc1Jlc1NlbnQocmVzKSkge1xuICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuICAgIGlmICghcHJvcHMpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdcIicgKyBnZXREaXNwbGF5TmFtZShBcHApICsgJy5nZXRJbml0aWFsUHJvcHMoKVwiIHNob3VsZCByZXNvbHZlIHRvIGFuIG9iamVjdC4gQnV0IGZvdW5kIFwiJyArIHByb3BzICsgJ1wiIGluc3RlYWQuJztcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhwcm9wcykubGVuZ3RoID09PSAwICYmICFjdHguY3R4KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJcIiArIGdldERpc3BsYXlOYW1lKEFwcCkgKyBcIiByZXR1cm5lZCBhbiBlbXB0eSBvYmplY3QgZnJvbSBgZ2V0SW5pdGlhbFByb3BzYC4gVGhpcyBkZS1vcHRpbWl6ZXMgYW5kIHByZXZlbnRzIGF1dG9tYXRpYyBzdGF0aWMgb3B0aW1pemF0aW9uLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9lbXB0eS1vYmplY3QtZ2V0SW5pdGlhbFByb3BzXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9wcztcbn1cbmNvbnN0IFNQID0gdHlwZW9mIHBlcmZvcm1hbmNlICE9PSBcInVuZGVmaW5lZFwiO1xuY29uc3QgU1QgPSBTUCAmJiBbXG4gICAgXCJtYXJrXCIsXG4gICAgXCJtZWFzdXJlXCIsXG4gICAgXCJnZXRFbnRyaWVzQnlOYW1lXCJcbl0uZXZlcnkoKG1ldGhvZCk9PnR5cGVvZiBwZXJmb3JtYW5jZVttZXRob2RdID09PSBcImZ1bmN0aW9uXCIpO1xuY2xhc3MgRGVjb2RlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG59XG5jbGFzcyBOb3JtYWxpemVFcnJvciBleHRlbmRzIEVycm9yIHtcbn1cbmNsYXNzIFBhZ2VOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHBhZ2Upe1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNvZGUgPSBcIkVOT0VOVFwiO1xuICAgICAgICB0aGlzLm5hbWUgPSBcIlBhZ2VOb3RGb3VuZEVycm9yXCI7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IFwiQ2Fubm90IGZpbmQgbW9kdWxlIGZvciBwYWdlOiBcIiArIHBhZ2U7XG4gICAgfVxufVxuY2xhc3MgTWlzc2luZ1N0YXRpY1BhZ2UgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocGFnZSwgbWVzc2FnZSl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IFwiRmFpbGVkIHRvIGxvYWQgc3RhdGljIGZpbGUgZm9yIHBhZ2U6IFwiICsgcGFnZSArIFwiIFwiICsgbWVzc2FnZTtcbiAgICB9XG59XG5jbGFzcyBNaWRkbGV3YXJlTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNvZGUgPSBcIkVOT0VOVFwiO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBcIkNhbm5vdCBmaW5kIHRoZSBtaWRkbGV3YXJlIG1vZHVsZVwiO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeUVycm9yKGVycm9yKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgc3RhY2s6IGVycm9yLnN0YWNrXG4gICAgfSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIldFQl9WSVRBTFMiLCJleGVjT25jZSIsImlzQWJzb2x1dGVVcmwiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImdldERpc3BsYXlOYW1lIiwiaXNSZXNTZW50Iiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwibG9hZEdldEluaXRpYWxQcm9wcyIsIlNQIiwiU1QiLCJEZWNvZGVFcnJvciIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIiwic3RyaW5naWZ5RXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIkFCU09MVVRFX1VSTF9SRUdFWCIsInVybCIsInRlc3QiLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicG9ydCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsIm9yaWdpbiIsInN1YnN0cmluZyIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJfQXBwX3Byb3RvdHlwZSIsInByb3RvdHlwZSIsImdldEluaXRpYWxQcm9wcyIsIm1lc3NhZ2UiLCJFcnJvciIsInBhZ2VQcm9wcyIsInByb3BzIiwia2V5cyIsImNvbnNvbGUiLCJ3YXJuIiwicGVyZm9ybWFuY2UiLCJldmVyeSIsIm1ldGhvZCIsImNvbnN0cnVjdG9yIiwicGFnZSIsImNvZGUiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFjayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/shared/lib/utils/warn-once.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! - \**************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw0Q0FBMkM7SUFDdkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQSxXQUFXLENBQUNDLEtBQUs7QUFDckIsSUFBSUMsSUFBcUMsRUFBRTtJQUN2QyxNQUFNQyxXQUFXLElBQUlDO0lBQ3JCSixXQUFXLENBQUNLO1FBQ1IsSUFBSSxDQUFDRixTQUFTRyxHQUFHLENBQUNELE1BQU07WUFDcEJFLFFBQVFDLElBQUksQ0FBQ0g7UUFDakI7UUFDQUYsU0FBU00sR0FBRyxDQUFDSjtJQUNqQjtBQUNKLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UuanM/NzM5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIndhcm5PbmNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YXJuT25jZTtcbiAgICB9XG59KTtcbmxldCB3YXJuT25jZSA9IChfKT0+e307XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgY29uc3Qgd2FybmluZ3MgPSBuZXcgU2V0KCk7XG4gICAgd2Fybk9uY2UgPSAobXNnKT0+e1xuICAgICAgICBpZiAoIXdhcm5pbmdzLmhhcyhtc2cpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4obXNnKTtcbiAgICAgICAgfVxuICAgICAgICB3YXJuaW5ncy5hZGQobXNnKTtcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXJuLW9uY2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils/warn-once.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/anser/index.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/compiled/anser/index.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";var e={211:e=>{var r=function(){function defineProperties(e,r){for(var n=0;n<r.length;n++){var s=r[n];s.enumerable=s.enumerable||false;s.configurable=true;if(\"value\"in s)s.writable=true;Object.defineProperty(e,s.key,s)}}return function(e,r,n){if(r)defineProperties(e.prototype,r);if(n)defineProperties(e,n);return e}}();function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError(\"Cannot call a class as a function\")}}var n=[[{color:\"0, 0, 0\",class:\"ansi-black\"},{color:\"187, 0, 0\",class:\"ansi-red\"},{color:\"0, 187, 0\",class:\"ansi-green\"},{color:\"187, 187, 0\",class:\"ansi-yellow\"},{color:\"0, 0, 187\",class:\"ansi-blue\"},{color:\"187, 0, 187\",class:\"ansi-magenta\"},{color:\"0, 187, 187\",class:\"ansi-cyan\"},{color:\"255,255,255\",class:\"ansi-white\"}],[{color:\"85, 85, 85\",class:\"ansi-bright-black\"},{color:\"255, 85, 85\",class:\"ansi-bright-red\"},{color:\"0, 255, 0\",class:\"ansi-bright-green\"},{color:\"255, 255, 85\",class:\"ansi-bright-yellow\"},{color:\"85, 85, 255\",class:\"ansi-bright-blue\"},{color:\"255, 85, 255\",class:\"ansi-bright-magenta\"},{color:\"85, 255, 255\",class:\"ansi-bright-cyan\"},{color:\"255, 255, 255\",class:\"ansi-bright-white\"}]];var s=function(){r(Anser,null,[{key:\"escapeForHtml\",value:function escapeForHtml(e){return(new Anser).escapeForHtml(e)}},{key:\"linkify\",value:function linkify(e){return(new Anser).linkify(e)}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return(new Anser).ansiToHtml(e,r)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){return(new Anser).ansiToJson(e,r)}},{key:\"ansiToText\",value:function ansiToText(e){return(new Anser).ansiToText(e)}}]);function Anser(){_classCallCheck(this,Anser);this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null;this.bright=0}r(Anser,[{key:\"setupPalette\",value:function setupPalette(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e){for(var r=0;r<8;++r){this.PALETTE_COLORS.push(n[e][r].color)}}var s=[0,95,135,175,215,255];var i=function format(e,r,n){return s[e]+\", \"+s[r]+\", \"+s[n]};var t=void 0,o=void 0,a=void 0;for(var l=0;l<6;++l){for(var c=0;c<6;++c){for(var u=0;u<6;++u){this.PALETTE_COLORS.push(i(l,c,u))}}}var f=8;for(var h=0;h<24;++h,f+=10){this.PALETTE_COLORS.push(i(f,f,f))}}},{key:\"escapeForHtml\",value:function escapeForHtml(e){return e.replace(/[&<>]/gm,(function(e){return e==\"&\"?\"&\":e==\"<\"?\"<\":e==\">\"?\">\":\"\"}))}},{key:\"linkify\",value:function linkify(e){return e.replace(/(https?:\\/\\/[^\\s]+)/gm,(function(e){return'<a href=\"'+e+'\">'+e+\"</a>\"}))}},{key:\"ansiToHtml\",value:function ansiToHtml(e,r){return this.process(e,r,true)}},{key:\"ansiToJson\",value:function ansiToJson(e,r){r=r||{};r.json=true;r.clearLine=false;return this.process(e,r,true)}},{key:\"ansiToText\",value:function ansiToText(e){return this.process(e,{},false)}},{key:\"process\",value:function process(e,r,n){var s=this;var i=this;var t=e.split(/\\033\\[/);var o=t.shift();if(r===undefined||r===null){r={}}r.clearLine=/\\r/.test(e);var a=t.map((function(e){return s.processChunk(e,r,n)}));if(r&&r.json){var l=i.processChunkJson(\"\");l.content=o;l.clearLine=r.clearLine;a.unshift(l);if(r.remove_empty){a=a.filter((function(e){return!e.isEmpty()}))}return a}else{a.unshift(o)}return a.join(\"\")}},{key:\"processChunkJson\",value:function processChunkJson(e,r,s){r=typeof r==\"undefined\"?{}:r;var i=r.use_classes=typeof r.use_classes!=\"undefined\"&&r.use_classes;var t=r.key=i?\"class\":\"color\";var o={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:r.clearLine,decoration:null,was_processed:false,isEmpty:function isEmpty(){return!o.content}};var a=e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);if(!a)return o;var l=o.content=a[4];var c=a[2].split(\";\");if(a[1]!==\"\"||a[3]!==\"m\"){return o}if(!s){return o}var u=this;u.decoration=null;while(c.length>0){var f=c.shift();var h=parseInt(f);if(isNaN(h)||h===0){u.fg=u.bg=u.decoration=null}else if(h===1){u.decoration=\"bold\"}else if(h===2){u.decoration=\"dim\"}else if(h==3){u.decoration=\"italic\"}else if(h==4){u.decoration=\"underline\"}else if(h==5){u.decoration=\"blink\"}else if(h===7){u.decoration=\"reverse\"}else if(h===8){u.decoration=\"hidden\"}else if(h===9){u.decoration=\"strikethrough\"}else if(h==39){u.fg=null}else if(h==49){u.bg=null}else if(h>=30&&h<38){u.fg=n[0][h%10][t]}else if(h>=90&&h<98){u.fg=n[1][h%10][t]}else if(h>=40&&h<48){u.bg=n[0][h%10][t]}else if(h>=100&&h<108){u.bg=n[1][h%10][t]}else if(h===38||h===48){var p=h===38;if(c.length>=1){var g=c.shift();if(g===\"5\"&&c.length>=1){var v=parseInt(c.shift());if(v>=0&&v<=255){if(!i){if(!this.PALETTE_COLORS){u.setupPalette()}if(p){u.fg=this.PALETTE_COLORS[v]}else{u.bg=this.PALETTE_COLORS[v]}}else{var d=v>=16?\"ansi-palette-\"+v:n[v>7?1:0][v%8][\"class\"];if(p){u.fg=d}else{u.bg=d}}}}else if(g===\"2\"&&c.length>=3){var _=parseInt(c.shift());var b=parseInt(c.shift());var y=parseInt(c.shift());if(_>=0&&_<=255&&b>=0&&b<=255&&y>=0&&y<=255){var k=_+\", \"+b+\", \"+y;if(!i){if(p){u.fg=k}else{u.bg=k}}else{if(p){u.fg=\"ansi-truecolor\";u.fg_truecolor=k}else{u.bg=\"ansi-truecolor\";u.bg_truecolor=k}}}}}}}if(u.fg===null&&u.bg===null&&u.decoration===null){return o}else{var T=[];var m=[];var w={};o.fg=u.fg;o.bg=u.bg;o.fg_truecolor=u.fg_truecolor;o.bg_truecolor=u.bg_truecolor;o.decoration=u.decoration;o.was_processed=true;return o}}},{key:\"processChunk\",value:function processChunk(e,r,n){var s=this;var i=this;r=r||{};var t=this.processChunkJson(e,r,n);if(r.json){return t}if(t.isEmpty()){return\"\"}if(!t.was_processed){return t.content}var o=r.use_classes;var a=[];var l=[];var c={};var u=function render_data(e){var r=[];var n=void 0;for(n in e){if(e.hasOwnProperty(n)){r.push(\"data-\"+n+'=\"'+s.escapeForHtml(e[n])+'\"')}}return r.length>0?\" \"+r.join(\" \"):\"\"};if(t.fg){if(o){l.push(t.fg+\"-fg\");if(t.fg_truecolor!==null){c[\"ansi-truecolor-fg\"]=t.fg_truecolor;t.fg_truecolor=null}}else{a.push(\"color:rgb(\"+t.fg+\")\")}}if(t.bg){if(o){l.push(t.bg+\"-bg\");if(t.bg_truecolor!==null){c[\"ansi-truecolor-bg\"]=t.bg_truecolor;t.bg_truecolor=null}}else{a.push(\"background-color:rgb(\"+t.bg+\")\")}}if(t.decoration){if(o){l.push(\"ansi-\"+t.decoration)}else if(t.decoration===\"bold\"){a.push(\"font-weight:bold\")}else if(t.decoration===\"dim\"){a.push(\"opacity:0.5\")}else if(t.decoration===\"italic\"){a.push(\"font-style:italic\")}else if(t.decoration===\"reverse\"){a.push(\"filter:invert(100%)\")}else if(t.decoration===\"hidden\"){a.push(\"visibility:hidden\")}else if(t.decoration===\"strikethrough\"){a.push(\"text-decoration:line-through\")}else{a.push(\"text-decoration:\"+t.decoration)}}if(o){return'<span class=\"'+l.join(\" \")+'\"'+u(c)+\">\"+t.content+\"</span>\"}else{return'<span style=\"'+a.join(\";\")+'\"'+u(c)+\">\"+t.content+\"</span>\"}}}]);return Anser}();e.exports=s}};var r={};function __nccwpck_require__(n){var s=r[n];if(s!==undefined){return s.exports}var i=r[n]={exports:{}};var t=true;try{e[n](i,i.exports,__nccwpck_require__);t=false}finally{if(t)delete r[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n=__nccwpck_require__(211);module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLGFBQWEsT0FBTyxRQUFRLGlCQUFpQiwrQkFBK0IsWUFBWSxXQUFXLEtBQUssV0FBVyxpQ0FBaUMsb0JBQW9CLCtCQUErQixrQ0FBa0MsdUJBQXVCLHFDQUFxQywyQkFBMkIsVUFBVSxHQUFHLDhCQUE4QixzQkFBc0IsMERBQTBELFNBQVMsbUNBQW1DLEVBQUUsbUNBQW1DLEVBQUUscUNBQXFDLEVBQUUsd0NBQXdDLEVBQUUsb0NBQW9DLEVBQUUseUNBQXlDLEVBQUUsc0NBQXNDLEVBQUUsdUNBQXVDLElBQUksNkNBQTZDLEVBQUUsNENBQTRDLEVBQUUsNENBQTRDLEVBQUUsZ0RBQWdELEVBQUUsNkNBQTZDLEVBQUUsaURBQWlELEVBQUUsOENBQThDLEVBQUUsZ0RBQWdELEdBQUcsaUJBQWlCLGVBQWUsb0RBQW9ELG9DQUFvQyxFQUFFLHdDQUF3Qyw4QkFBOEIsRUFBRSxnREFBZ0QsbUNBQW1DLEVBQUUsZ0RBQWdELG1DQUFtQyxFQUFFLDhDQUE4QyxpQ0FBaUMsR0FBRyxpQkFBaUIsNEJBQTRCLHlEQUF5RCxjQUFjLFVBQVUsaURBQWlELHVCQUF1QixZQUFZLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyx5Q0FBeUMsNkJBQTZCLDZCQUE2QixpQ0FBaUMsK0JBQStCLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLHFDQUFxQyxRQUFRLFlBQVksS0FBSyxXQUFXLHFDQUFxQyxFQUFFLG9EQUFvRCx3Q0FBd0Msb0JBQW9CLGNBQWMsY0FBYyxLQUFLLElBQUksRUFBRSx3Q0FBd0Msc0RBQXNELGtDQUFrQyxJQUFJLEVBQUUsZ0RBQWdELCtCQUErQixFQUFFLGdEQUFnRCxRQUFRLFlBQVksa0JBQWtCLCtCQUErQixFQUFFLDhDQUE4Qyx3QkFBd0IsU0FBUyxFQUFFLDRDQUE0QyxXQUFXLFdBQVcsd0JBQXdCLGdCQUFnQiw0QkFBNEIsS0FBSyx5QkFBeUIseUJBQXlCLDZCQUE2QixHQUFHLGNBQWMsNkJBQTZCLFlBQVksd0JBQXdCLGFBQWEsbUJBQW1CLHdCQUF3QixtQkFBbUIsR0FBRyxTQUFTLEtBQUssYUFBYSxtQkFBbUIsRUFBRSw4REFBOEQsMEJBQTBCLEdBQUcscUVBQXFFLDhCQUE4QixPQUFPLG1KQUFtSixtQkFBbUIsb0NBQW9DLHlDQUF5QyxlQUFlLHFCQUFxQixtQkFBbUIsR0FBRywwQkFBMEIsU0FBUyxPQUFPLFNBQVMsV0FBVyxrQkFBa0Isa0JBQWtCLGdCQUFnQixrQkFBa0Isb0JBQW9CLDRCQUE0QixlQUFlLG9CQUFvQixlQUFlLG1CQUFtQixjQUFjLHNCQUFzQixjQUFjLHlCQUF5QixjQUFjLHFCQUFxQixlQUFlLHVCQUF1QixlQUFlLHNCQUFzQixlQUFlLDZCQUE2QixlQUFlLFVBQVUsZUFBZSxVQUFVLHFCQUFxQixtQkFBbUIscUJBQXFCLG1CQUFtQixxQkFBcUIsbUJBQW1CLHVCQUF1QixtQkFBbUIsd0JBQXdCLGFBQWEsZ0JBQWdCLGdCQUFnQix5QkFBeUIsMEJBQTBCLGlCQUFpQixPQUFPLHlCQUF5QixpQkFBaUIsTUFBTSw0QkFBNEIsS0FBSyw2QkFBNkIsS0FBSyx1REFBdUQsTUFBTSxPQUFPLEtBQUssVUFBVSw4QkFBOEIsMEJBQTBCLDBCQUEwQiwwQkFBMEIsNkNBQTZDLHNCQUFzQixPQUFPLE1BQU0sT0FBTyxLQUFLLFFBQVEsS0FBSyxNQUFNLHNCQUFzQixpQkFBaUIsS0FBSyxzQkFBc0IsdUJBQXVCLGtEQUFrRCxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsVUFBVSxVQUFVLDhCQUE4Qiw4QkFBOEIsMEJBQTBCLHFCQUFxQixXQUFXLEVBQUUsc0RBQXNELFdBQVcsV0FBVyxRQUFRLG1DQUFtQyxXQUFXLFNBQVMsZ0JBQWdCLFNBQVMscUJBQXFCLGlCQUFpQixvQkFBb0IsU0FBUyxTQUFTLFNBQVMsOEJBQThCLFNBQVMsYUFBYSxZQUFZLHdCQUF3QixrREFBa0Qsc0NBQXNDLFNBQVMsTUFBTSxtQkFBbUIsMEJBQTBCLHNDQUFzQyxxQkFBcUIsS0FBSywrQkFBK0IsU0FBUyxNQUFNLG1CQUFtQiwwQkFBMEIsc0NBQXNDLHFCQUFxQixLQUFLLDBDQUEwQyxpQkFBaUIsTUFBTSw2QkFBNkIsK0JBQStCLDJCQUEyQiw4QkFBOEIsc0JBQXNCLGlDQUFpQyw0QkFBNEIsa0NBQWtDLDhCQUE4QixpQ0FBaUMsNEJBQTRCLHdDQUF3Qyx1Q0FBdUMsS0FBSyx5Q0FBeUMsTUFBTSxtRUFBbUUsS0FBSywrQkFBK0Isc0NBQXNDLEdBQUcsYUFBYSxHQUFHLGNBQWMsU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzPzQyZGQiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezIxMTplPT57dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGUscil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBzPXJbbl07cy5lbnVtZXJhYmxlPXMuZW51bWVyYWJsZXx8ZmFsc2U7cy5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBzKXMud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLmtleSxzKX19cmV0dXJuIGZ1bmN0aW9uKGUscixuKXtpZihyKWRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUscik7aWYobilkZWZpbmVQcm9wZXJ0aWVzKGUsbik7cmV0dXJuIGV9fSgpO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHIpe2lmKCEoZSBpbnN0YW5jZW9mIHIpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX12YXIgbj1bW3tjb2xvcjpcIjAsIDAsIDBcIixjbGFzczpcImFuc2ktYmxhY2tcIn0se2NvbG9yOlwiMTg3LCAwLCAwXCIsY2xhc3M6XCJhbnNpLXJlZFwifSx7Y29sb3I6XCIwLCAxODcsIDBcIixjbGFzczpcImFuc2ktZ3JlZW5cIn0se2NvbG9yOlwiMTg3LCAxODcsIDBcIixjbGFzczpcImFuc2kteWVsbG93XCJ9LHtjb2xvcjpcIjAsIDAsIDE4N1wiLGNsYXNzOlwiYW5zaS1ibHVlXCJ9LHtjb2xvcjpcIjE4NywgMCwgMTg3XCIsY2xhc3M6XCJhbnNpLW1hZ2VudGFcIn0se2NvbG9yOlwiMCwgMTg3LCAxODdcIixjbGFzczpcImFuc2ktY3lhblwifSx7Y29sb3I6XCIyNTUsMjU1LDI1NVwiLGNsYXNzOlwiYW5zaS13aGl0ZVwifV0sW3tjb2xvcjpcIjg1LCA4NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWJsYWNrXCJ9LHtjb2xvcjpcIjI1NSwgODUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1yZWRcIn0se2NvbG9yOlwiMCwgMjU1LCAwXCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ncmVlblwifSx7Y29sb3I6XCIyNTUsIDI1NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXllbGxvd1wifSx7Y29sb3I6XCI4NSwgODUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtYmx1ZVwifSx7Y29sb3I6XCIyNTUsIDg1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LW1hZ2VudGFcIn0se2NvbG9yOlwiODUsIDI1NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1jeWFuXCJ9LHtjb2xvcjpcIjI1NSwgMjU1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXdoaXRlXCJ9XV07dmFyIHM9ZnVuY3Rpb24oKXtyKEFuc2VyLG51bGwsW3trZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4obmV3IEFuc2VyKS5lc2NhcGVGb3JIdG1sKGUpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybihuZXcgQW5zZXIpLmxpbmtpZnkoZSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9IdG1sKGUscil9fSx7a2V5OlwiYW5zaVRvSnNvblwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0pzb24oZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9Kc29uKGUscil9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvVGV4dChlKX19XSk7ZnVuY3Rpb24gQW5zZXIoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxBbnNlcik7dGhpcy5mZz10aGlzLmJnPXRoaXMuZmdfdHJ1ZWNvbG9yPXRoaXMuYmdfdHJ1ZWNvbG9yPW51bGw7dGhpcy5icmlnaHQ9MH1yKEFuc2VyLFt7a2V5Olwic2V0dXBQYWxldHRlXCIsdmFsdWU6ZnVuY3Rpb24gc2V0dXBQYWxldHRlKCl7dGhpcy5QQUxFVFRFX0NPTE9SUz1bXTtmb3IodmFyIGU9MDtlPDI7KytlKXtmb3IodmFyIHI9MDtyPDg7KytyKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2gobltlXVtyXS5jb2xvcil9fXZhciBzPVswLDk1LDEzNSwxNzUsMjE1LDI1NV07dmFyIGk9ZnVuY3Rpb24gZm9ybWF0KGUscixuKXtyZXR1cm4gc1tlXStcIiwgXCIrc1tyXStcIiwgXCIrc1tuXX07dmFyIHQ9dm9pZCAwLG89dm9pZCAwLGE9dm9pZCAwO2Zvcih2YXIgbD0wO2w8NjsrK2wpe2Zvcih2YXIgYz0wO2M8NjsrK2Mpe2Zvcih2YXIgdT0wO3U8NjsrK3Upe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChpKGwsYyx1KSl9fX12YXIgZj04O2Zvcih2YXIgaD0wO2g8MjQ7KytoLGYrPTEwKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2goaShmLGYsZikpfX19LHtrZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9bJjw+XS9nbSwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PVwiJlwiP1wiJmFtcDtcIjplPT1cIjxcIj9cIiZsdDtcIjplPT1cIj5cIj9cIiZndDtcIjpcIlwifSkpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybiBlLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvW15cXHNdKykvZ20sKGZ1bmN0aW9uKGUpe3JldHVybic8YSBocmVmPVwiJytlKydcIj4nK2UrXCI8L2E+XCJ9KSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4gdGhpcy5wcm9jZXNzKGUscix0cnVlKX19LHtrZXk6XCJhbnNpVG9Kc29uXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSnNvbihlLHIpe3I9cnx8e307ci5qc29uPXRydWU7ci5jbGVhckxpbmU9ZmFsc2U7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHIsdHJ1ZSl9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHt9LGZhbHNlKX19LHtrZXk6XCJwcm9jZXNzXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2VzcyhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3ZhciB0PWUuc3BsaXQoL1xcMDMzXFxbLyk7dmFyIG89dC5zaGlmdCgpO2lmKHI9PT11bmRlZmluZWR8fHI9PT1udWxsKXtyPXt9fXIuY2xlYXJMaW5lPS9cXHIvLnRlc3QoZSk7dmFyIGE9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBzLnByb2Nlc3NDaHVuayhlLHIsbil9KSk7aWYociYmci5qc29uKXt2YXIgbD1pLnByb2Nlc3NDaHVua0pzb24oXCJcIik7bC5jb250ZW50PW87bC5jbGVhckxpbmU9ci5jbGVhckxpbmU7YS51bnNoaWZ0KGwpO2lmKHIucmVtb3ZlX2VtcHR5KXthPWEuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hZS5pc0VtcHR5KCl9KSl9cmV0dXJuIGF9ZWxzZXthLnVuc2hpZnQobyl9cmV0dXJuIGEuam9pbihcIlwiKX19LHtrZXk6XCJwcm9jZXNzQ2h1bmtKc29uXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2Vzc0NodW5rSnNvbihlLHIscyl7cj10eXBlb2Ygcj09XCJ1bmRlZmluZWRcIj97fTpyO3ZhciBpPXIudXNlX2NsYXNzZXM9dHlwZW9mIHIudXNlX2NsYXNzZXMhPVwidW5kZWZpbmVkXCImJnIudXNlX2NsYXNzZXM7dmFyIHQ9ci5rZXk9aT9cImNsYXNzXCI6XCJjb2xvclwiO3ZhciBvPXtjb250ZW50OmUsZmc6bnVsbCxiZzpudWxsLGZnX3RydWVjb2xvcjpudWxsLGJnX3RydWVjb2xvcjpudWxsLGNsZWFyTGluZTpyLmNsZWFyTGluZSxkZWNvcmF0aW9uOm51bGwsd2FzX3Byb2Nlc3NlZDpmYWxzZSxpc0VtcHR5OmZ1bmN0aW9uIGlzRW1wdHkoKXtyZXR1cm4hby5jb250ZW50fX07dmFyIGE9ZS5tYXRjaCgvXihbIVxceDNjLVxceDNmXSopKFtcXGQ7XSopKFtcXHgyMC1cXHgyY10qW1xceDQwLVxceDdlXSkoW1xcc1xcU10qKS9tKTtpZighYSlyZXR1cm4gbzt2YXIgbD1vLmNvbnRlbnQ9YVs0XTt2YXIgYz1hWzJdLnNwbGl0KFwiO1wiKTtpZihhWzFdIT09XCJcInx8YVszXSE9PVwibVwiKXtyZXR1cm4gb31pZighcyl7cmV0dXJuIG99dmFyIHU9dGhpczt1LmRlY29yYXRpb249bnVsbDt3aGlsZShjLmxlbmd0aD4wKXt2YXIgZj1jLnNoaWZ0KCk7dmFyIGg9cGFyc2VJbnQoZik7aWYoaXNOYU4oaCl8fGg9PT0wKXt1LmZnPXUuYmc9dS5kZWNvcmF0aW9uPW51bGx9ZWxzZSBpZihoPT09MSl7dS5kZWNvcmF0aW9uPVwiYm9sZFwifWVsc2UgaWYoaD09PTIpe3UuZGVjb3JhdGlvbj1cImRpbVwifWVsc2UgaWYoaD09Myl7dS5kZWNvcmF0aW9uPVwiaXRhbGljXCJ9ZWxzZSBpZihoPT00KXt1LmRlY29yYXRpb249XCJ1bmRlcmxpbmVcIn1lbHNlIGlmKGg9PTUpe3UuZGVjb3JhdGlvbj1cImJsaW5rXCJ9ZWxzZSBpZihoPT09Nyl7dS5kZWNvcmF0aW9uPVwicmV2ZXJzZVwifWVsc2UgaWYoaD09PTgpe3UuZGVjb3JhdGlvbj1cImhpZGRlblwifWVsc2UgaWYoaD09PTkpe3UuZGVjb3JhdGlvbj1cInN0cmlrZXRocm91Z2hcIn1lbHNlIGlmKGg9PTM5KXt1LmZnPW51bGx9ZWxzZSBpZihoPT00OSl7dS5iZz1udWxsfWVsc2UgaWYoaD49MzAmJmg8Mzgpe3UuZmc9blswXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTkwJiZoPDk4KXt1LmZnPW5bMV1baCUxMF1bdF19ZWxzZSBpZihoPj00MCYmaDw0OCl7dS5iZz1uWzBdW2glMTBdW3RdfWVsc2UgaWYoaD49MTAwJiZoPDEwOCl7dS5iZz1uWzFdW2glMTBdW3RdfWVsc2UgaWYoaD09PTM4fHxoPT09NDgpe3ZhciBwPWg9PT0zODtpZihjLmxlbmd0aD49MSl7dmFyIGc9Yy5zaGlmdCgpO2lmKGc9PT1cIjVcIiYmYy5sZW5ndGg+PTEpe3ZhciB2PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYodj49MCYmdjw9MjU1KXtpZighaSl7aWYoIXRoaXMuUEFMRVRURV9DT0xPUlMpe3Uuc2V0dXBQYWxldHRlKCl9aWYocCl7dS5mZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfWVsc2V7dS5iZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfX1lbHNle3ZhciBkPXY+PTE2P1wiYW5zaS1wYWxldHRlLVwiK3Y6blt2Pjc/MTowXVt2JThdW1wiY2xhc3NcIl07aWYocCl7dS5mZz1kfWVsc2V7dS5iZz1kfX19fWVsc2UgaWYoZz09PVwiMlwiJiZjLmxlbmd0aD49Myl7dmFyIF89cGFyc2VJbnQoYy5zaGlmdCgpKTt2YXIgYj1wYXJzZUludChjLnNoaWZ0KCkpO3ZhciB5PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYoXz49MCYmXzw9MjU1JiZiPj0wJiZiPD0yNTUmJnk+PTAmJnk8PTI1NSl7dmFyIGs9XytcIiwgXCIrYitcIiwgXCIreTtpZighaSl7aWYocCl7dS5mZz1rfWVsc2V7dS5iZz1rfX1lbHNle2lmKHApe3UuZmc9XCJhbnNpLXRydWVjb2xvclwiO3UuZmdfdHJ1ZWNvbG9yPWt9ZWxzZXt1LmJnPVwiYW5zaS10cnVlY29sb3JcIjt1LmJnX3RydWVjb2xvcj1rfX19fX19fWlmKHUuZmc9PT1udWxsJiZ1LmJnPT09bnVsbCYmdS5kZWNvcmF0aW9uPT09bnVsbCl7cmV0dXJuIG99ZWxzZXt2YXIgVD1bXTt2YXIgbT1bXTt2YXIgdz17fTtvLmZnPXUuZmc7by5iZz11LmJnO28uZmdfdHJ1ZWNvbG9yPXUuZmdfdHJ1ZWNvbG9yO28uYmdfdHJ1ZWNvbG9yPXUuYmdfdHJ1ZWNvbG9yO28uZGVjb3JhdGlvbj11LmRlY29yYXRpb247by53YXNfcHJvY2Vzc2VkPXRydWU7cmV0dXJuIG99fX0se2tleTpcInByb2Nlc3NDaHVua1wiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3NDaHVuayhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3I9cnx8e307dmFyIHQ9dGhpcy5wcm9jZXNzQ2h1bmtKc29uKGUscixuKTtpZihyLmpzb24pe3JldHVybiB0fWlmKHQuaXNFbXB0eSgpKXtyZXR1cm5cIlwifWlmKCF0Lndhc19wcm9jZXNzZWQpe3JldHVybiB0LmNvbnRlbnR9dmFyIG89ci51c2VfY2xhc3Nlczt2YXIgYT1bXTt2YXIgbD1bXTt2YXIgYz17fTt2YXIgdT1mdW5jdGlvbiByZW5kZXJfZGF0YShlKXt2YXIgcj1bXTt2YXIgbj12b2lkIDA7Zm9yKG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7ci5wdXNoKFwiZGF0YS1cIituKyc9XCInK3MuZXNjYXBlRm9ySHRtbChlW25dKSsnXCInKX19cmV0dXJuIHIubGVuZ3RoPjA/XCIgXCIrci5qb2luKFwiIFwiKTpcIlwifTtpZih0LmZnKXtpZihvKXtsLnB1c2godC5mZytcIi1mZ1wiKTtpZih0LmZnX3RydWVjb2xvciE9PW51bGwpe2NbXCJhbnNpLXRydWVjb2xvci1mZ1wiXT10LmZnX3RydWVjb2xvcjt0LmZnX3RydWVjb2xvcj1udWxsfX1lbHNle2EucHVzaChcImNvbG9yOnJnYihcIit0LmZnK1wiKVwiKX19aWYodC5iZyl7aWYobyl7bC5wdXNoKHQuYmcrXCItYmdcIik7aWYodC5iZ190cnVlY29sb3IhPT1udWxsKXtjW1wiYW5zaS10cnVlY29sb3ItYmdcIl09dC5iZ190cnVlY29sb3I7dC5iZ190cnVlY29sb3I9bnVsbH19ZWxzZXthLnB1c2goXCJiYWNrZ3JvdW5kLWNvbG9yOnJnYihcIit0LmJnK1wiKVwiKX19aWYodC5kZWNvcmF0aW9uKXtpZihvKXtsLnB1c2goXCJhbnNpLVwiK3QuZGVjb3JhdGlvbil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImJvbGRcIil7YS5wdXNoKFwiZm9udC13ZWlnaHQ6Ym9sZFwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiZGltXCIpe2EucHVzaChcIm9wYWNpdHk6MC41XCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJpdGFsaWNcIil7YS5wdXNoKFwiZm9udC1zdHlsZTppdGFsaWNcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cInJldmVyc2VcIil7YS5wdXNoKFwiZmlsdGVyOmludmVydCgxMDAlKVwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiaGlkZGVuXCIpe2EucHVzaChcInZpc2liaWxpdHk6aGlkZGVuXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJzdHJpa2V0aHJvdWdoXCIpe2EucHVzaChcInRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2hcIil9ZWxzZXthLnB1c2goXCJ0ZXh0LWRlY29yYXRpb246XCIrdC5kZWNvcmF0aW9uKX19aWYobyl7cmV0dXJuJzxzcGFuIGNsYXNzPVwiJytsLmpvaW4oXCIgXCIpKydcIicrdShjKStcIj5cIit0LmNvbnRlbnQrXCI8L3NwYW4+XCJ9ZWxzZXtyZXR1cm4nPHNwYW4gc3R5bGU9XCInK2Euam9pbihcIjtcIikrJ1wiJyt1KGMpK1wiPlwiK3QuY29udGVudCtcIjwvc3Bhbj5cIn19fV0pO3JldHVybiBBbnNlcn0oKTtlLmV4cG9ydHM9c319O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18obil7dmFyIHM9cltuXTtpZihzIT09dW5kZWZpbmVkKXtyZXR1cm4gcy5leHBvcnRzfXZhciBpPXJbbl09e2V4cG9ydHM6e319O3ZhciB0PXRydWU7dHJ5e2Vbbl0oaSxpLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7dD1mYWxzZX1maW5hbGx5e2lmKHQpZGVsZXRlIHJbbl19cmV0dXJuIGkuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXygyMTEpO21vZHVsZS5leHBvcnRzPW59KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/anser/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/css.escape/css.escape.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={553:function(e){(function(r,t){if(true){e.exports=t(r)}else{}})(typeof __webpack_require__.g!=\"undefined\"?__webpack_require__.g:this,(function(e){if(e.CSS&&e.CSS.escape){return e.CSS.escape}var cssEscape=function(e){if(arguments.length==0){throw new TypeError(\"`CSS.escape` requires an argument.\")}var r=String(e);var t=r.length;var n=-1;var a;var i=\"\";var u=r.charCodeAt(0);while(++n<t){a=r.charCodeAt(n);if(a==0){i+=\"�\";continue}if(a>=1&&a<=31||a==127||n==0&&a>=48&&a<=57||n==1&&a>=48&&a<=57&&u==45){i+=\"\\\\\"+a.toString(16)+\" \";continue}if(n==0&&t==1&&a==45){i+=\"\\\\\"+r.charAt(n);continue}if(a>=128||a==45||a==95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){i+=r.charAt(n);continue}i+=\"\\\\\"+r.charAt(n)}return i};if(!e.CSS){e.CSS={}}e.CSS.escape=cssEscape;return cssEscape}))}};var r={};function __nccwpck_require__(t){var n=r[t];if(n!==undefined){return n.exports}var a=r[t]={exports:{}};var i=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete r[t]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(553);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nzcy5lc2NhcGUvY3NzLmVzY2FwZS5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxPQUFPLGdCQUFnQixlQUFlLEdBQUcsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLENBQUMsU0FBUyxxQkFBTSxjQUFjLHFCQUFNLG1CQUFtQix3QkFBd0Isb0JBQW9CLDBCQUEwQix3QkFBd0IsMERBQTBELGdCQUFnQixlQUFlLFNBQVMsTUFBTSxTQUFTLHNCQUFzQixhQUFhLGtCQUFrQixTQUFTLE9BQU8sU0FBUyx1RUFBdUUsMkJBQTJCLFNBQVMsc0JBQXNCLG9CQUFvQixTQUFTLG9FQUFvRSxlQUFlLFNBQVMsb0JBQW9CLFVBQVUsV0FBVyxTQUFTLHVCQUF1QixpQkFBaUIsS0FBSyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxxREFBcUQsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvY3NzLmVzY2FwZS9jc3MuZXNjYXBlLmpzPzQ3MzMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU1MzpmdW5jdGlvbihlKXsoZnVuY3Rpb24ocix0KXtpZih0cnVlKXtlLmV4cG9ydHM9dChyKX1lbHNle319KSh0eXBlb2YgZ2xvYmFsIT1cInVuZGVmaW5lZFwiP2dsb2JhbDp0aGlzLChmdW5jdGlvbihlKXtpZihlLkNTUyYmZS5DU1MuZXNjYXBlKXtyZXR1cm4gZS5DU1MuZXNjYXBlfXZhciBjc3NFc2NhcGU9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aD09MCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcImBDU1MuZXNjYXBlYCByZXF1aXJlcyBhbiBhcmd1bWVudC5cIil9dmFyIHI9U3RyaW5nKGUpO3ZhciB0PXIubGVuZ3RoO3ZhciBuPS0xO3ZhciBhO3ZhciBpPVwiXCI7dmFyIHU9ci5jaGFyQ29kZUF0KDApO3doaWxlKCsrbjx0KXthPXIuY2hhckNvZGVBdChuKTtpZihhPT0wKXtpKz1cIu+/vVwiO2NvbnRpbnVlfWlmKGE+PTEmJmE8PTMxfHxhPT0xMjd8fG49PTAmJmE+PTQ4JiZhPD01N3x8bj09MSYmYT49NDgmJmE8PTU3JiZ1PT00NSl7aSs9XCJcXFxcXCIrYS50b1N0cmluZygxNikrXCIgXCI7Y29udGludWV9aWYobj09MCYmdD09MSYmYT09NDUpe2krPVwiXFxcXFwiK3IuY2hhckF0KG4pO2NvbnRpbnVlfWlmKGE+PTEyOHx8YT09NDV8fGE9PTk1fHxhPj00OCYmYTw9NTd8fGE+PTY1JiZhPD05MHx8YT49OTcmJmE8PTEyMil7aSs9ci5jaGFyQXQobik7Y29udGludWV9aSs9XCJcXFxcXCIrci5jaGFyQXQobil9cmV0dXJuIGl9O2lmKCFlLkNTUyl7ZS5DU1M9e319ZS5DU1MuZXNjYXBlPWNzc0VzY2FwZTtyZXR1cm4gY3NzRXNjYXBlfSkpfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgbj1yW3RdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIGE9clt0XT17ZXhwb3J0czp7fX07dmFyIGk9dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtpPWZhbHNlfWZpbmFsbHl7aWYoaSlkZWxldGUgclt0XX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU1Myk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/css.escape/css.escape.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/platform/platform.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/platform/platform.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{var e={541:function(e,i,t){e=t.nmd(e);\n/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */(function(){\"use strict\";var t={function:true,object:true};var r=t[typeof window]&&window||this;var a=r;var n=t[typeof i]&&i;var o=t[\"object\"]&&e&&!e.nodeType&&e;var l=n&&o&&typeof __webpack_require__.g==\"object\"&&__webpack_require__.g;if(l&&(l.global===l||l.window===l||l.self===l)){r=l}var s=Math.pow(2,53)-1;var f=/\\bOpera/;var b=this;var c=Object.prototype;var p=c.hasOwnProperty;var u=c.toString;function capitalize(e){e=String(e);return e.charAt(0).toUpperCase()+e.slice(1)}function cleanupOS(e,i,t){var r={\"10.0\":\"10\",6.4:\"10 Technical Preview\",6.3:\"8.1\",6.2:\"8\",6.1:\"Server 2008 R2 / 7\",\"6.0\":\"Server 2008 / Vista\",5.2:\"Server 2003 / XP 64-bit\",5.1:\"XP\",5.01:\"2000 SP1\",\"5.0\":\"2000\",\"4.0\":\"NT\",\"4.90\":\"ME\"};if(i&&t&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(r=r[/[\\d.]+$/.exec(e)])){e=\"Windows \"+r}e=String(e);if(i&&t){e=e.replace(RegExp(i,\"i\"),t)}e=format(e.replace(/ ce$/i,\" CE\").replace(/\\bhpw/i,\"web\").replace(/\\bMacintosh\\b/,\"Mac OS\").replace(/_PowerPC\\b/i,\" OS\").replace(/\\b(OS X) [^ \\d]+/i,\"$1\").replace(/\\bMac (OS X)\\b/,\"$1\").replace(/\\/(\\d)/,\" $1\").replace(/_/g,\".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i,\"\").replace(/\\bx86\\.64\\b/gi,\"x86_64\").replace(/\\b(Windows Phone) OS\\b/,\"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/,\"$1\").split(\" on \")[0]);return e}function each(e,i){var t=-1,r=e?e.length:0;if(typeof r==\"number\"&&r>-1&&r<=s){while(++t<r){i(e[t],t,e)}}else{forOwn(e,i)}}function format(e){e=trim(e);return/^(?:webOS|i(?:OS|P))/.test(e)?e:capitalize(e)}function forOwn(e,i){for(var t in e){if(p.call(e,t)){i(e[t],t,e)}}}function getClassOf(e){return e==null?capitalize(e):u.call(e).slice(8,-1)}function isHostType(e,i){var t=e!=null?typeof e[i]:\"number\";return!/^(?:boolean|number|string|undefined)$/.test(t)&&(t==\"object\"?!!e[i]:true)}function qualify(e){return String(e).replace(/([ -])(?!$)/g,\"$1?\")}function reduce(e,i){var t=null;each(e,(function(r,a){t=i(t,r,a,e)}));return t}function trim(e){return String(e).replace(/^ +| +$/g,\"\")}function parse(e){var i=r;var t=e&&typeof e==\"object\"&&getClassOf(e)!=\"String\";if(t){i=e;e=null}var n=i.navigator||{};var o=n.userAgent||\"\";e||(e=o);var l=t||b==a;var s=t?!!n.likeChrome:/\\bChrome\\b/.test(e)&&!/internal|\\n/i.test(u.toString());var c=\"Object\",p=t?c:\"ScriptBridgingProxyObject\",d=t?c:\"Environment\",S=t&&i.java?\"JavaPackage\":getClassOf(i.java),x=t?c:\"RuntimeObject\";var m=/\\bJava/.test(S)&&i.java;var g=m&&getClassOf(i.environment)==d;var h=m?\"a\":\"α\";var v=m?\"b\":\"β\";var O=i.document||{};var y=i.operamini||i.opera;var w=f.test(w=t&&y?y[\"[[Class]]\"]:getClassOf(y))?w:y=null;var M;var E=e;var P=[];var C=null;var k=e==o;var B=k&&y&&typeof y.version==\"function\"&&y.version();var W;var _=getLayout([{label:\"EdgeHTML\",pattern:\"Edge\"},\"Trident\",{label:\"WebKit\",pattern:\"AppleWebKit\"},\"iCab\",\"Presto\",\"NetFront\",\"Tasman\",\"KHTML\",\"Gecko\"]);var R=getName([\"Adobe AIR\",\"Arora\",\"Avant Browser\",\"Breach\",\"Camino\",\"Electron\",\"Epiphany\",\"Fennec\",\"Flock\",\"Galeon\",\"GreenBrowser\",\"iCab\",\"Iceweasel\",\"K-Meleon\",\"Konqueror\",\"Lunascape\",\"Maxthon\",{label:\"Microsoft Edge\",pattern:\"(?:Edge|Edg|EdgA|EdgiOS)\"},\"Midori\",\"Nook Browser\",\"PaleMoon\",\"PhantomJS\",\"Raven\",\"Rekonq\",\"RockMelt\",{label:\"Samsung Internet\",pattern:\"SamsungBrowser\"},\"SeaMonkey\",{label:\"Silk\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Sleipnir\",\"SlimBrowser\",{label:\"SRWare Iron\",pattern:\"Iron\"},\"Sunrise\",\"Swiftfox\",\"Vivaldi\",\"Waterfox\",\"WebPositive\",{label:\"Yandex Browser\",pattern:\"YaBrowser\"},{label:\"UC Browser\",pattern:\"UCBrowser\"},\"Opera Mini\",{label:\"Opera Mini\",pattern:\"OPiOS\"},\"Opera\",{label:\"Opera\",pattern:\"OPR\"},\"Chromium\",\"Chrome\",{label:\"Chrome\",pattern:\"(?:HeadlessChrome)\"},{label:\"Chrome Mobile\",pattern:\"(?:CriOS|CrMo)\"},{label:\"Firefox\",pattern:\"(?:Firefox|Minefield)\"},{label:\"Firefox for iOS\",pattern:\"FxiOS\"},{label:\"IE\",pattern:\"IEMobile\"},{label:\"IE\",pattern:\"MSIE\"},\"Safari\"]);var A=getProduct([{label:\"BlackBerry\",pattern:\"BB10\"},\"BlackBerry\",{label:\"Galaxy S\",pattern:\"GT-I9000\"},{label:\"Galaxy S2\",pattern:\"GT-I9100\"},{label:\"Galaxy S3\",pattern:\"GT-I9300\"},{label:\"Galaxy S4\",pattern:\"GT-I9500\"},{label:\"Galaxy S5\",pattern:\"SM-G900\"},{label:\"Galaxy S6\",pattern:\"SM-G920\"},{label:\"Galaxy S6 Edge\",pattern:\"SM-G925\"},{label:\"Galaxy S7\",pattern:\"SM-G930\"},{label:\"Galaxy S7 Edge\",pattern:\"SM-G935\"},\"Google TV\",\"Lumia\",\"iPad\",\"iPod\",\"iPhone\",\"Kindle\",{label:\"Kindle Fire\",pattern:\"(?:Cloud9|Silk-Accelerated)\"},\"Nexus\",\"Nook\",\"PlayBook\",\"PlayStation Vita\",\"PlayStation\",\"TouchPad\",\"Transformer\",{label:\"Wii U\",pattern:\"WiiU\"},\"Wii\",\"Xbox One\",{label:\"Xbox 360\",pattern:\"Xbox\"},\"Xoom\"]);var I=getManufacturer({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,\"Kindle Fire\":1},Asus:{Transformer:1},\"Barnes & Noble\":{Nook:1},BlackBerry:{PlayBook:1},Google:{\"Google TV\":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,\"Xbox One\":1},Motorola:{Xoom:1},Nintendo:{\"Wii U\":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{\"Galaxy S\":1,\"Galaxy S2\":1,\"Galaxy S3\":1,\"Galaxy S4\":1},Sony:{PlayStation:1,\"PlayStation Vita\":1},Xiaomi:{Mi:1,Redmi:1}});var T=getOS([\"Windows Phone\",\"KaiOS\",\"Android\",\"CentOS\",{label:\"Chrome OS\",pattern:\"CrOS\"},\"Debian\",{label:\"DragonFly BSD\",pattern:\"DragonFly\"},\"Fedora\",\"FreeBSD\",\"Gentoo\",\"Haiku\",\"Kubuntu\",\"Linux Mint\",\"OpenBSD\",\"Red Hat\",\"SuSE\",\"Ubuntu\",\"Xubuntu\",\"Cygwin\",\"Symbian OS\",\"hpwOS\",\"webOS \",\"webOS\",\"Tablet OS\",\"Tizen\",\"Linux\",\"Mac OS X\",\"Macintosh\",\"Mac\",\"Windows 98;\",\"Windows \"]);function getLayout(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getManufacturer(i){return reduce(i,(function(i,t,r){return i||(t[A]||t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)]||RegExp(\"\\\\b\"+qualify(r)+\"(?:\\\\b|\\\\w*\\\\d)\",\"i\").exec(e))&&r}))}function getName(i){return reduce(i,(function(i,t){return i||RegExp(\"\\\\b\"+(t.pattern||qualify(t))+\"\\\\b\",\"i\").exec(e)&&(t.label||t)}))}function getOS(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\"(?:/[\\\\d.]+|[ \\\\w.]*)\",\"i\").exec(e))){i=cleanupOS(i,r,t.label||t)}return i}))}function getProduct(i){return reduce(i,(function(i,t){var r=t.pattern||qualify(t);if(!i&&(i=RegExp(\"\\\\b\"+r+\" *\\\\d+[.\\\\w_]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\" *\\\\w+-[\\\\w]*\",\"i\").exec(e)||RegExp(\"\\\\b\"+r+\"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\",\"i\").exec(e))){if((i=String(t.label&&!RegExp(r,\"i\").test(t.label)?t.label:i).split(\"/\"))[1]&&!/[\\d.]+/.test(i[0])){i[0]+=\" \"+i[1]}t=t.label||t;i=format(i[0].replace(RegExp(r,\"i\"),t).replace(RegExp(\"; *(?:\"+t+\"[_-])?\",\"i\"),\" \").replace(RegExp(\"(\"+t+\")[-_.]?(\\\\w)\",\"i\"),\"$1 $2\"))}return i}))}function getVersion(i){return reduce(i,(function(i,t){return i||(RegExp(t+\"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\",\"i\").exec(e)||0)[1]||null}))}function toStringPlatform(){return this.description||\"\"}_&&(_=[_]);if(/\\bAndroid\\b/.test(T)&&!A&&(M=/\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))){A=trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i,\"\")||null}if(I&&!A){A=getProduct([I])}else if(I&&A){A=A.replace(RegExp(\"^(\"+qualify(I)+\")[-_.\\\\s]\",\"i\"),I+\" \").replace(RegExp(\"^(\"+qualify(I)+\")[-_.]?(\\\\w)\",\"i\"),I+\" $2\")}if(M=/\\bGoogle TV\\b/.exec(A)){A=M[0]}if(/\\bSimulator\\b/i.test(e)){A=(A?A+\" \":\"\")+\"Simulator\"}if(R==\"Opera Mini\"&&/\\bOPiOS\\b/.test(e)){P.push(\"running in Turbo/Uncompressed mode\")}if(R==\"IE\"&&/\\blike iPhone OS\\b/.test(e)){M=parse(e.replace(/like iPhone OS/,\"\"));I=M.manufacturer;A=M.product}else if(/^iP/.test(A)){R||(R=\"Safari\");T=\"iOS\"+((M=/ OS ([\\d_]+)/i.exec(e))?\" \"+M[1].replace(/_/g,\".\"):\"\")}else if(R==\"Konqueror\"&&/^Linux\\b/i.test(T)){T=\"Kubuntu\"}else if(I&&I!=\"Google\"&&(/Chrome/.test(R)&&!/\\bMobile Safari\\b/i.test(e)||/\\bVita\\b/.test(A))||/\\bAndroid\\b/.test(T)&&/^Chrome/.test(R)&&/\\bVersion\\//i.test(e)){R=\"Android Browser\";T=/\\bAndroid\\b/.test(T)?T:\"Android\"}else if(R==\"Silk\"){if(!/\\bMobi/i.test(e)){T=\"Android\";P.unshift(\"desktop mode\")}if(/Accelerated *= *true/i.test(e)){P.unshift(\"accelerated\")}}else if(R==\"UC Browser\"&&/\\bUCWEB\\b/.test(e)){P.push(\"speed mode\")}else if(R==\"PaleMoon\"&&(M=/\\bFirefox\\/([\\d.]+)\\b/.exec(e))){P.push(\"identifying as Firefox \"+M[1])}else if(R==\"Firefox\"&&(M=/\\b(Mobile|Tablet|TV)\\b/i.exec(e))){T||(T=\"Firefox OS\");A||(A=M[1])}else if(!R||(M=!/\\bMinefield\\b/i.test(e)&&/\\b(?:Firefox|Safari)\\b/.exec(R))){if(R&&!A&&/[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M+\"/\")+8))){R=null}if((M=A||I||T)&&(A||I||/\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))){R=/[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T)?T:M)+\" Browser\"}}else if(R==\"Electron\"&&(M=(/\\bChrome\\/([\\d.]+)\\b/.exec(e)||0)[1])){P.push(\"Chromium \"+M)}if(!B){B=getVersion([\"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\"Version\",qualify(R),\"(?:Firefox|Minefield|NetFront)\"])}if(M=_==\"iCab\"&&parseFloat(B)>3&&\"WebKit\"||/\\bOpera\\b/.test(R)&&(/\\bOPR\\b/.test(e)?\"Blink\":\"Presto\")||/\\b(?:Midori|Nook|Safari)\\b/i.test(e)&&!/^(?:Trident|EdgeHTML)$/.test(_)&&\"WebKit\"||!_&&/\\bMSIE\\b/i.test(e)&&(T==\"Mac OS\"?\"Tasman\":\"Trident\")||_==\"WebKit\"&&/\\bPlayStation\\b(?! Vita\\b)/i.test(R)&&\"NetFront\"){_=[M]}if(R==\"IE\"&&(M=(/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e)||0)[1])){R+=\" Mobile\";T=\"Windows Phone \"+(/\\+$/.test(M)?M:M+\".x\");P.unshift(\"desktop mode\")}else if(/\\bWPDesktop\\b/i.test(e)){R=\"IE Mobile\";T=\"Windows Phone 8.x\";P.unshift(\"desktop mode\");B||(B=(/\\brv:([\\d.]+)/.exec(e)||0)[1])}else if(R!=\"IE\"&&_==\"Trident\"&&(M=/\\brv:([\\d.]+)/.exec(e))){if(R){P.push(\"identifying as \"+R+(B?\" \"+B:\"\"))}R=\"IE\";B=M[1]}if(k){if(isHostType(i,\"global\")){if(m){M=m.lang.System;E=M.getProperty(\"os.arch\");T=T||M.getProperty(\"os.name\")+\" \"+M.getProperty(\"os.version\")}if(g){try{B=i.require(\"ringo/engine\").version.join(\".\");R=\"RingoJS\"}catch(e){if((M=i.system)&&M.global.system==i.system){R=\"Narwhal\";T||(T=M[0].os||null)}}if(!R){R=\"Rhino\"}}else if(typeof i.process==\"object\"&&!i.process.browser&&(M=i.process)){if(typeof M.versions==\"object\"){if(typeof M.versions.electron==\"string\"){P.push(\"Node \"+M.versions.node);R=\"Electron\";B=M.versions.electron}else if(typeof M.versions.nw==\"string\"){P.push(\"Chromium \"+B,\"Node \"+M.versions.node);R=\"NW.js\";B=M.versions.nw}}if(!R){R=\"Node.js\";E=M.arch;T=M.platform;B=/[\\d.]+/.exec(M.version);B=B?B[0]:null}}}else if(getClassOf(M=i.runtime)==p){R=\"Adobe AIR\";T=M.flash.system.Capabilities.os}else if(getClassOf(M=i.phantom)==x){R=\"PhantomJS\";B=(M=M.version||null)&&M.major+\".\"+M.minor+\".\"+M.patch}else if(typeof O.documentMode==\"number\"&&(M=/\\bTrident\\/(\\d+)/i.exec(e))){B=[B,O.documentMode];if((M=+M[1]+4)!=B[1]){P.push(\"IE \"+B[1]+\" mode\");_&&(_[1]=\"\");B[1]=M}B=R==\"IE\"?String(B[1].toFixed(1)):B[0]}else if(typeof O.documentMode==\"number\"&&/^(?:Chrome|Firefox)\\b/.test(R)){P.push(\"masking as \"+R+\" \"+B);R=\"IE\";B=\"11.0\";_=[\"Trident\"];T=\"Windows\"}T=T&&format(T)}if(B&&(M=/(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B)||/(?:alpha|beta)(?: ?\\d)?/i.exec(e+\";\"+(k&&n.appMinorVersion))||/\\bMinefield\\b/i.test(e)&&\"a\")){C=/b/i.test(M)?\"beta\":\"alpha\";B=B.replace(RegExp(M+\"\\\\+?$\"),\"\")+(C==\"beta\"?v:h)+(/\\d+\\+?/.exec(M)||\"\")}if(R==\"Fennec\"||R==\"Firefox\"&&/\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)){R=\"Firefox Mobile\"}else if(R==\"Maxthon\"&&B){B=B.replace(/\\.[\\d.]+/,\".x\")}else if(/\\bXbox\\b/i.test(A)){if(A==\"Xbox 360\"){T=null}if(A==\"Xbox 360\"&&/\\bIEMobile\\b/.test(e)){P.unshift(\"mobile mode\")}}else if((/^(?:Chrome|IE|Opera)$/.test(R)||R&&!A&&!/Browser|Mobi/.test(R))&&(T==\"Windows CE\"||/Mobi/i.test(e))){R+=\" Mobile\"}else if(R==\"IE\"&&k){try{if(i.external===null){P.unshift(\"platform preview\")}}catch(e){P.unshift(\"embedded\")}}else if((/\\bBlackBerry\\b/.test(A)||/\\bBB10\\b/.test(e))&&(M=(RegExp(A.replace(/ +/g,\" *\")+\"/([.\\\\d]+)\",\"i\").exec(e)||0)[1]||B)){M=[M,/BB10/.test(e)];T=(M[1]?(A=null,I=\"BlackBerry\"):\"Device Software\")+\" \"+M[0];B=null}else if(this!=forOwn&&A!=\"Wii\"&&(k&&y||/Opera/.test(R)&&/\\b(?:MSIE|Firefox)\\b/i.test(e)||R==\"Firefox\"&&/\\bOS X (?:\\d+\\.){2,}/.test(T)||R==\"IE\"&&(T&&!/^Win/.test(T)&&B>5.5||/\\bWindows XP\\b/.test(T)&&B>8||B==8&&!/\\bTrident\\b/.test(e)))&&!f.test(M=parse.call(forOwn,e.replace(f,\"\")+\";\"))&&M.name){M=\"ing as \"+M.name+((M=M.version)?\" \"+M:\"\");if(f.test(R)){if(/\\bIE\\b/.test(M)&&T==\"Mac OS\"){T=null}M=\"identify\"+M}else{M=\"mask\"+M;if(w){R=format(w.replace(/([a-z])([A-Z])/g,\"$1 $2\"))}else{R=\"Opera\"}if(/\\bIE\\b/.test(M)){T=null}if(!k){B=null}}_=[\"Presto\"];P.push(M)}if(M=(/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e)||0)[1]){M=[parseFloat(M.replace(/\\.(\\d)$/,\".0$1\")),M];if(R==\"Safari\"&&M[1].slice(-1)==\"+\"){R=\"WebKit Nightly\";C=\"alpha\";B=M[1].slice(0,-1)}else if(B==M[1]||B==(M[2]=(/\\bSafari\\/([\\d.]+\\+?)/i.exec(e)||0)[1])){B=null}M[1]=(/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e)||0)[1];if(M[0]==537.36&&M[2]==537.36&&parseFloat(M[1])>=28&&_==\"WebKit\"){_=[\"Blink\"]}if(!k||!s&&!M[1]){_&&(_[1]=\"like Safari\");M=(M=M[0],M<400?1:M<500?2:M<526?3:M<533?4:M<534?\"4+\":M<535?5:M<537?6:M<538?7:M<601?8:M<602?9:M<604?10:M<606?11:M<608?12:\"12\")}else{_&&(_[1]=\"like Chrome\");M=M[1]||(M=M[0],M<530?1:M<532?2:M<532.05?3:M<533?4:M<534.03?5:M<534.07?6:M<534.1?7:M<534.13?8:M<534.16?9:M<534.24?10:M<534.3?11:M<535.01?12:M<535.02?\"13+\":M<535.07?15:M<535.11?16:M<535.19?17:M<536.05?18:M<536.1?19:M<537.01?20:M<537.11?\"21+\":M<537.13?23:M<537.18?24:M<537.24?25:M<537.36?26:_!=\"Blink\"?\"27\":\"28\")}_&&(_[1]+=\" \"+(M+=typeof M==\"number\"?\".x\":/[.+]/.test(M)?\"\":\"+\"));if(R==\"Safari\"&&(!B||parseInt(B)>45)){B=M}else if(R==\"Chrome\"&&/\\bHeadlessChrome/i.test(e)){P.unshift(\"headless\")}}if(R==\"Opera\"&&(M=/\\bzbov|zvav$/.exec(T))){R+=\" \";P.unshift(\"desktop mode\");if(M==\"zvav\"){R+=\"Mini\";B=null}else{R+=\"Mobile\"}T=T.replace(RegExp(\" *\"+M+\"$\"),\"\")}else if(R==\"Safari\"&&/\\bChrome\\b/.exec(_&&_[1])){P.unshift(\"desktop mode\");R=\"Chrome Mobile\";B=null;if(/\\bOS X\\b/.test(T)){I=\"Apple\";T=\"iOS 4.3+\"}else{T=null}}else if(/\\bSRWare Iron\\b/.test(R)&&!B){B=getVersion(\"Chrome\")}if(B&&B.indexOf(M=/[\\d.]+$/.exec(T))==0&&e.indexOf(\"/\"+M+\"-\")>-1){T=trim(T.replace(M,\"\"))}if(T&&T.indexOf(R)!=-1&&!RegExp(R+\" OS\").test(T)){T=T.replace(RegExp(\" *\"+qualify(R)+\" *\"),\"\")}if(_&&!/\\b(?:Avant|Nook)\\b/.test(R)&&(/Browser|Lunascape|Maxthon/.test(R)||R!=\"Safari\"&&/^iOS/.test(T)&&/\\bSafari\\b/.test(_[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R)&&_[1])){(M=_[_.length-1])&&P.push(M)}if(P.length){P=[\"(\"+P.join(\"; \")+\")\"]}if(I&&A&&A.indexOf(I)<0){P.push(\"on \"+I)}if(A){P.push((/^on /.test(P[P.length-1])?\"\":\"on \")+A)}if(T){M=/ ([\\d.+]+)$/.exec(T);W=M&&T.charAt(T.length-M[0].length-1)==\"/\";T={architecture:32,family:M&&!W?T.replace(M[0],\"\"):T,version:M?M[1]:null,toString:function(){var e=this.version;return this.family+(e&&!W?\" \"+e:\"\")+(this.architecture==64?\" 64-bit\":\"\")}}}if((M=/\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E))&&!/\\bi686\\b/i.test(E)){if(T){T.architecture=64;T.family=T.family.replace(RegExp(\" *\"+M),\"\")}if(R&&(/\\bWOW64\\b/i.test(e)||k&&/\\w(?:86|32)$/.test(n.cpuClass||n.platform)&&!/\\bWin64; x64\\b/i.test(e))){P.unshift(\"32-bit\")}}else if(T&&/^OS X/.test(T.family)&&R==\"Chrome\"&&parseFloat(B)>=39){T.architecture=64}e||(e=null);var F={};F.description=e;F.layout=_&&_[0];F.manufacturer=I;F.name=R;F.prerelease=C;F.product=A;F.ua=e;F.version=R&&B;F.os=T||{architecture:null,family:null,version:null,toString:function(){return\"null\"}};F.parse=parse;F.toString=toStringPlatform;if(F.version){P.unshift(B)}if(F.name){P.unshift(R)}if(T&&R&&!(T==String(T).split(\" \")[0]&&(T==R.split(\" \")[0]||A))){P.push(A?\"(\"+T+\")\":\"on \"+T)}if(P.length){F.description=P.join(\" \")}return F}var d=parse();if(n&&o){forOwn(d,(function(e,i){n[i]=e}))}else{r.platform=d}}).call(this)}};var i={};function __nccwpck_require__(t){var r=i[t];if(r!==undefined){return r.exports}var a=i[t]={id:t,loaded:false,exports:{}};var n=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);n=false}finally{if(n)delete i[t]}a.loaded=true;return a.exports}(()=>{__nccwpck_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(541);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLE9BQU8sb0JBQW9CO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWEsT0FBTywyQkFBMkIscUNBQXFDLFFBQVEscUJBQXFCLHFDQUFxQyxtQkFBbUIscUJBQU0sWUFBWSxxQkFBTSxDQUFDLGdEQUFnRCxJQUFJLHVCQUF1QixnQkFBZ0IsV0FBVyx1QkFBdUIsdUJBQXVCLGlCQUFpQix1QkFBdUIsWUFBWSw0Q0FBNEMsMEJBQTBCLE9BQU8sME1BQTBNLGlGQUFpRixlQUFlLFlBQVksU0FBUyw2QkFBNkIsbVpBQW1aLFNBQVMsbUJBQW1CLHdCQUF3QixtQ0FBbUMsYUFBYSxhQUFhLEtBQUssYUFBYSxtQkFBbUIsVUFBVSxxREFBcUQscUJBQXFCLGdCQUFnQixnQkFBZ0IsY0FBYyx1QkFBdUIsbURBQW1ELHlCQUF5QixtQ0FBbUMsa0ZBQWtGLG9CQUFvQiwrQ0FBK0MscUJBQXFCLFdBQVcsc0JBQXNCLGFBQWEsR0FBRyxTQUFTLGlCQUFpQix3Q0FBd0Msa0JBQWtCLFFBQVEscURBQXFELE1BQU0sSUFBSSxPQUFPLHNCQUFzQixzQkFBc0IsU0FBUyxjQUFjLGdGQUFnRix3SUFBd0ksK0JBQStCLHNDQUFzQyxnQkFBZ0IsZ0JBQWdCLHFCQUFxQiwyQkFBMkIsMkRBQTJELE1BQU0sUUFBUSxTQUFTLFdBQVcsV0FBVyxzREFBc0QsTUFBTSxrQkFBa0IsZ0NBQWdDLFlBQVkscUNBQXFDLHVEQUF1RCxxTUFBcU0sMERBQTBELDZFQUE2RSxrREFBa0QsY0FBYyxtREFBbUQsMkJBQTJCLG1DQUFtQywwREFBMEQsMkNBQTJDLEVBQUUsdUNBQXVDLGVBQWUsbUNBQW1DLFVBQVUsNEJBQTRCLHNCQUFzQiw0Q0FBNEMsRUFBRSwrQ0FBK0MsRUFBRSxnREFBZ0QsRUFBRSx3Q0FBd0MsRUFBRSw4QkFBOEIsRUFBRSwwQkFB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QXdCLDhIQUE4SCxLQUFLLHdCQUF3Qix1VEFBdVQsa0VBQWtFLHNDQUFzQyxJQUFJLGtEQUFrRCx1QkFBdUIsMkNBQTJDLE9BQU8sMEJBQTBCLGNBQWMsVUFBVSxPQUFPLEtBQUssWUFBWSxtQ0FBbUMsaURBQWlELDBCQUEwQixrQkFBa0IsT0FBTyx1QkFBdUIsVUFBVSxhQUFhLEtBQUssUUFBUSx1Q0FBdUMsdUJBQXVCLGtFQUFrRSx3QkFBd0Isa0RBQWtELDZDQUE2Qyw4UEFBOFAsNkJBQTZCLGFBQWEsaUJBQWlCLFFBQVEseUJBQXlCLGdCQUFnQixNQUFNLGdEQUFnRCxNQUFNLHdCQUF3QiwyQ0FBMkMsR0FBRywwRkFBMEYsbUJBQW1CLDJFQUEyRSx5RUFBeUUsTUFBTSxrQkFBa0IsNkNBQTZDLHdGQUF3RixrQkFBa0IscUJBQXFCLG1FQUFtRSxrQkFBa0IsWUFBWSxTQUFTLGdCQUFnQixpQkFBaUIsaUJBQWlCLFNBQVMsZUFBZSxZQUFZLE9BQU8sZUFBZSxTQUFTLCtEQUErRCxlQUFlLGNBQWMsNEJBQTRCLGNBQWMsYUFBYSxXQUFXLGFBQWEsaUVBQWlFLDRCQUE0QixhQUFhLDBCQUEwQixTQUFTLGNBQWMsU0FBUyx3QkFBd0IsT0FBTyxHQUFHLEtBQUssY0FBYyxlQUFlLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLDhCQUE4QixXQUFXLElBQUkscURBQXFELFFBQVEsUUFBUSxpQkFBaUIsY0FBYyxpQkFBaUIsTUFBTSw0QkFBNEIsV0FBVyw2QkFBNkIsVUFBVSxJQUFJLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzP2VhZmYiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU0MTpmdW5jdGlvbihlLGksdCl7ZT10Lm5tZChlKTtcbi8qIVxuICogUGxhdGZvcm0uanMgdjEuMy42XG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIwIEJlbmphbWluIFRhblxuICogQ29weXJpZ2h0IDIwMTEtMjAxMyBKb2huLURhdmlkIERhbHRvblxuICogQXZhaWxhYmxlIHVuZGVyIE1JVCBsaWNlbnNlXG4gKi8oZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdD17ZnVuY3Rpb246dHJ1ZSxvYmplY3Q6dHJ1ZX07dmFyIHI9dFt0eXBlb2Ygd2luZG93XSYmd2luZG93fHx0aGlzO3ZhciBhPXI7dmFyIG49dFt0eXBlb2YgaV0mJmk7dmFyIG89dFtcIm9iamVjdFwiXSYmZSYmIWUubm9kZVR5cGUmJmU7dmFyIGw9biYmbyYmdHlwZW9mIGdsb2JhbD09XCJvYmplY3RcIiYmZ2xvYmFsO2lmKGwmJihsLmdsb2JhbD09PWx8fGwud2luZG93PT09bHx8bC5zZWxmPT09bCkpe3I9bH12YXIgcz1NYXRoLnBvdygyLDUzKS0xO3ZhciBmPS9cXGJPcGVyYS87dmFyIGI9dGhpczt2YXIgYz1PYmplY3QucHJvdG90eXBlO3ZhciBwPWMuaGFzT3duUHJvcGVydHk7dmFyIHU9Yy50b1N0cmluZztmdW5jdGlvbiBjYXBpdGFsaXplKGUpe2U9U3RyaW5nKGUpO3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9ZnVuY3Rpb24gY2xlYW51cE9TKGUsaSx0KXt2YXIgcj17XCIxMC4wXCI6XCIxMFwiLDYuNDpcIjEwIFRlY2huaWNhbCBQcmV2aWV3XCIsNi4zOlwiOC4xXCIsNi4yOlwiOFwiLDYuMTpcIlNlcnZlciAyMDA4IFIyIC8gN1wiLFwiNi4wXCI6XCJTZXJ2ZXIgMjAwOCAvIFZpc3RhXCIsNS4yOlwiU2VydmVyIDIwMDMgLyBYUCA2NC1iaXRcIiw1LjE6XCJYUFwiLDUuMDE6XCIyMDAwIFNQMVwiLFwiNS4wXCI6XCIyMDAwXCIsXCI0LjBcIjpcIk5UXCIsXCI0LjkwXCI6XCJNRVwifTtpZihpJiZ0JiYvXldpbi9pLnRlc3QoZSkmJiEvXldpbmRvd3MgUGhvbmUgL2kudGVzdChlKSYmKHI9clsvW1xcZC5dKyQvLmV4ZWMoZSldKSl7ZT1cIldpbmRvd3MgXCIrcn1lPVN0cmluZyhlKTtpZihpJiZ0KXtlPWUucmVwbGFjZShSZWdFeHAoaSxcImlcIiksdCl9ZT1mb3JtYXQoZS5yZXBsYWNlKC8gY2UkL2ksXCIgQ0VcIikucmVwbGFjZSgvXFxiaHB3L2ksXCJ3ZWJcIikucmVwbGFjZSgvXFxiTWFjaW50b3NoXFxiLyxcIk1hYyBPU1wiKS5yZXBsYWNlKC9fUG93ZXJQQ1xcYi9pLFwiIE9TXCIpLnJlcGxhY2UoL1xcYihPUyBYKSBbXiBcXGRdKy9pLFwiJDFcIikucmVwbGFjZSgvXFxiTWFjIChPUyBYKVxcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXC8oXFxkKS8sXCIgJDFcIikucmVwbGFjZSgvXy9nLFwiLlwiKS5yZXBsYWNlKC8oPzogQmVQQ3xbIC5dKmZjWyBcXGQuXSspJC9pLFwiXCIpLnJlcGxhY2UoL1xcYng4NlxcLjY0XFxiL2dpLFwieDg2XzY0XCIpLnJlcGxhY2UoL1xcYihXaW5kb3dzIFBob25lKSBPU1xcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXGIoQ2hyb21lIE9TIFxcdyspIFtcXGQuXStcXGIvLFwiJDFcIikuc3BsaXQoXCIgb24gXCIpWzBdKTtyZXR1cm4gZX1mdW5jdGlvbiBlYWNoKGUsaSl7dmFyIHQ9LTEscj1lP2UubGVuZ3RoOjA7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI+LTEmJnI8PXMpe3doaWxlKCsrdDxyKXtpKGVbdF0sdCxlKX19ZWxzZXtmb3JPd24oZSxpKX19ZnVuY3Rpb24gZm9ybWF0KGUpe2U9dHJpbShlKTtyZXR1cm4vXig/OndlYk9TfGkoPzpPU3xQKSkvLnRlc3QoZSk/ZTpjYXBpdGFsaXplKGUpfWZ1bmN0aW9uIGZvck93bihlLGkpe2Zvcih2YXIgdCBpbiBlKXtpZihwLmNhbGwoZSx0KSl7aShlW3RdLHQsZSl9fX1mdW5jdGlvbiBnZXRDbGFzc09mKGUpe3JldHVybiBlPT1udWxsP2NhcGl0YWxpemUoZSk6dS5jYWxsKGUpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIGlzSG9zdFR5cGUoZSxpKXt2YXIgdD1lIT1udWxsP3R5cGVvZiBlW2ldOlwibnVtYmVyXCI7cmV0dXJuIS9eKD86Ym9vbGVhbnxudW1iZXJ8c3RyaW5nfHVuZGVmaW5lZCkkLy50ZXN0KHQpJiYodD09XCJvYmplY3RcIj8hIWVbaV06dHJ1ZSl9ZnVuY3Rpb24gcXVhbGlmeShlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoLyhbIC1dKSg/ISQpL2csXCIkMT9cIil9ZnVuY3Rpb24gcmVkdWNlKGUsaSl7dmFyIHQ9bnVsbDtlYWNoKGUsKGZ1bmN0aW9uKHIsYSl7dD1pKHQscixhLGUpfSkpO3JldHVybiB0fWZ1bmN0aW9uIHRyaW0oZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC9eICt8ICskL2csXCJcIil9ZnVuY3Rpb24gcGFyc2UoZSl7dmFyIGk9cjt2YXIgdD1lJiZ0eXBlb2YgZT09XCJvYmplY3RcIiYmZ2V0Q2xhc3NPZihlKSE9XCJTdHJpbmdcIjtpZih0KXtpPWU7ZT1udWxsfXZhciBuPWkubmF2aWdhdG9yfHx7fTt2YXIgbz1uLnVzZXJBZ2VudHx8XCJcIjtlfHwoZT1vKTt2YXIgbD10fHxiPT1hO3ZhciBzPXQ/ISFuLmxpa2VDaHJvbWU6L1xcYkNocm9tZVxcYi8udGVzdChlKSYmIS9pbnRlcm5hbHxcXG4vaS50ZXN0KHUudG9TdHJpbmcoKSk7dmFyIGM9XCJPYmplY3RcIixwPXQ/YzpcIlNjcmlwdEJyaWRnaW5nUHJveHlPYmplY3RcIixkPXQ/YzpcIkVudmlyb25tZW50XCIsUz10JiZpLmphdmE/XCJKYXZhUGFja2FnZVwiOmdldENsYXNzT2YoaS5qYXZhKSx4PXQ/YzpcIlJ1bnRpbWVPYmplY3RcIjt2YXIgbT0vXFxiSmF2YS8udGVzdChTKSYmaS5qYXZhO3ZhciBnPW0mJmdldENsYXNzT2YoaS5lbnZpcm9ubWVudCk9PWQ7dmFyIGg9bT9cImFcIjpcIs6xXCI7dmFyIHY9bT9cImJcIjpcIs6yXCI7dmFyIE89aS5kb2N1bWVudHx8e307dmFyIHk9aS5vcGVyYW1pbml8fGkub3BlcmE7dmFyIHc9Zi50ZXN0KHc9dCYmeT95W1wiW1tDbGFzc11dXCJdOmdldENsYXNzT2YoeSkpP3c6eT1udWxsO3ZhciBNO3ZhciBFPWU7dmFyIFA9W107dmFyIEM9bnVsbDt2YXIgaz1lPT1vO3ZhciBCPWsmJnkmJnR5cGVvZiB5LnZlcnNpb249PVwiZnVuY3Rpb25cIiYmeS52ZXJzaW9uKCk7dmFyIFc7dmFyIF89Z2V0TGF5b3V0KFt7bGFiZWw6XCJFZGdlSFRNTFwiLHBhdHRlcm46XCJFZGdlXCJ9LFwiVHJpZGVudFwiLHtsYWJlbDpcIldlYktpdFwiLHBhdHRlcm46XCJBcHBsZVdlYktpdFwifSxcImlDYWJcIixcIlByZXN0b1wiLFwiTmV0RnJvbnRcIixcIlRhc21hblwiLFwiS0hUTUxcIixcIkdlY2tvXCJdKTt2YXIgUj1nZXROYW1lKFtcIkFkb2JlIEFJUlwiLFwiQXJvcmFcIixcIkF2YW50IEJyb3dzZXJcIixcIkJyZWFjaFwiLFwiQ2FtaW5vXCIsXCJFbGVjdHJvblwiLFwiRXBpcGhhbnlcIixcIkZlbm5lY1wiLFwiRmxvY2tcIixcIkdhbGVvblwiLFwiR3JlZW5Ccm93c2VyXCIsXCJpQ2FiXCIsXCJJY2V3ZWFzZWxcIixcIkstTWVsZW9uXCIsXCJLb25xdWVyb3JcIixcIkx1bmFzY2FwZVwiLFwiTWF4dGhvblwiLHtsYWJlbDpcIk1pY3Jvc29mdCBFZGdlXCIscGF0dGVybjpcIig/OkVkZ2V8RWRnfEVkZ0F8RWRnaU9TKVwifSxcIk1pZG9yaVwiLFwiTm9vayBCcm93c2VyXCIsXCJQYWxlTW9vblwiLFwiUGhhbnRvbUpTXCIsXCJSYXZlblwiLFwiUmVrb25xXCIsXCJSb2NrTWVsdFwiLHtsYWJlbDpcIlNhbXN1bmcgSW50ZXJuZXRcIixwYXR0ZXJuOlwiU2Ftc3VuZ0Jyb3dzZXJcIn0sXCJTZWFNb25rZXlcIix7bGFiZWw6XCJTaWxrXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIlNsZWlwbmlyXCIsXCJTbGltQnJvd3NlclwiLHtsYWJlbDpcIlNSV2FyZSBJcm9uXCIscGF0dGVybjpcIklyb25cIn0sXCJTdW5yaXNlXCIsXCJTd2lmdGZveFwiLFwiVml2YWxkaVwiLFwiV2F0ZXJmb3hcIixcIldlYlBvc2l0aXZlXCIse2xhYmVsOlwiWWFuZGV4IEJyb3dzZXJcIixwYXR0ZXJuOlwiWWFCcm93c2VyXCJ9LHtsYWJlbDpcIlVDIEJyb3dzZXJcIixwYXR0ZXJuOlwiVUNCcm93c2VyXCJ9LFwiT3BlcmEgTWluaVwiLHtsYWJlbDpcIk9wZXJhIE1pbmlcIixwYXR0ZXJuOlwiT1BpT1NcIn0sXCJPcGVyYVwiLHtsYWJlbDpcIk9wZXJhXCIscGF0dGVybjpcIk9QUlwifSxcIkNocm9taXVtXCIsXCJDaHJvbWVcIix7bGFiZWw6XCJDaHJvbWVcIixwYXR0ZXJuOlwiKD86SGVhZGxlc3NDaHJvbWUpXCJ9LHtsYWJlbDpcIkNocm9tZSBNb2JpbGVcIixwYXR0ZXJuOlwiKD86Q3JpT1N8Q3JNbylcIn0se2xhYmVsOlwiRmlyZWZveFwiLHBhdHRlcm46XCIoPzpGaXJlZm94fE1pbmVmaWVsZClcIn0se2xhYmVsOlwiRmlyZWZveCBmb3IgaU9TXCIscGF0dGVybjpcIkZ4aU9TXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIklFTW9iaWxlXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIk1TSUVcIn0sXCJTYWZhcmlcIl0pO3ZhciBBPWdldFByb2R1Y3QoW3tsYWJlbDpcIkJsYWNrQmVycnlcIixwYXR0ZXJuOlwiQkIxMFwifSxcIkJsYWNrQmVycnlcIix7bGFiZWw6XCJHYWxheHkgU1wiLHBhdHRlcm46XCJHVC1JOTAwMFwifSx7bGFiZWw6XCJHYWxheHkgUzJcIixwYXR0ZXJuOlwiR1QtSTkxMDBcIn0se2xhYmVsOlwiR2FsYXh5IFMzXCIscGF0dGVybjpcIkdULUk5MzAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNFwiLHBhdHRlcm46XCJHVC1JOTUwMFwifSx7bGFiZWw6XCJHYWxheHkgUzVcIixwYXR0ZXJuOlwiU00tRzkwMFwifSx7bGFiZWw6XCJHYWxheHkgUzZcIixwYXR0ZXJuOlwiU00tRzkyMFwifSx7bGFiZWw6XCJHYWxheHkgUzYgRWRnZVwiLHBhdHRlcm46XCJTTS1HOTI1XCJ9LHtsYWJlbDpcIkdhbGF4eSBTN1wiLHBhdHRlcm46XCJTTS1HOTMwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNyBFZGdlXCIscGF0dGVybjpcIlNNLUc5MzVcIn0sXCJHb29nbGUgVFZcIixcIkx1bWlhXCIsXCJpUGFkXCIsXCJpUG9kXCIsXCJpUGhvbmVcIixcIktpbmRsZVwiLHtsYWJlbDpcIktpbmRsZSBGaXJlXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIk5leHVzXCIsXCJOb29rXCIsXCJQbGF5Qm9va1wiLFwiUGxheVN0YXRpb24gVml0YVwiLFwiUGxheVN0YXRpb25cIixcIlRvdWNoUGFkXCIsXCJUcmFuc2Zvcm1lclwiLHtsYWJlbDpcIldpaSBVXCIscGF0dGVybjpcIldpaVVcIn0sXCJXaWlcIixcIlhib3ggT25lXCIse2xhYmVsOlwiWGJveCAzNjBcIixwYXR0ZXJuOlwiWGJveFwifSxcIlhvb21cIl0pO3ZhciBJPWdldE1hbnVmYWN0dXJlcih7QXBwbGU6e2lQYWQ6MSxpUGhvbmU6MSxpUG9kOjF9LEFsY2F0ZWw6e30sQXJjaG9zOnt9LEFtYXpvbjp7S2luZGxlOjEsXCJLaW5kbGUgRmlyZVwiOjF9LEFzdXM6e1RyYW5zZm9ybWVyOjF9LFwiQmFybmVzICYgTm9ibGVcIjp7Tm9vazoxfSxCbGFja0JlcnJ5OntQbGF5Qm9vazoxfSxHb29nbGU6e1wiR29vZ2xlIFRWXCI6MSxOZXh1czoxfSxIUDp7VG91Y2hQYWQ6MX0sSFRDOnt9LEh1YXdlaTp7fSxMZW5vdm86e30sTEc6e30sTWljcm9zb2Z0OntYYm94OjEsXCJYYm94IE9uZVwiOjF9LE1vdG9yb2xhOntYb29tOjF9LE5pbnRlbmRvOntcIldpaSBVXCI6MSxXaWk6MX0sTm9raWE6e0x1bWlhOjF9LE9wcG86e30sU2Ftc3VuZzp7XCJHYWxheHkgU1wiOjEsXCJHYWxheHkgUzJcIjoxLFwiR2FsYXh5IFMzXCI6MSxcIkdhbGF4eSBTNFwiOjF9LFNvbnk6e1BsYXlTdGF0aW9uOjEsXCJQbGF5U3RhdGlvbiBWaXRhXCI6MX0sWGlhb21pOntNaToxLFJlZG1pOjF9fSk7dmFyIFQ9Z2V0T1MoW1wiV2luZG93cyBQaG9uZVwiLFwiS2FpT1NcIixcIkFuZHJvaWRcIixcIkNlbnRPU1wiLHtsYWJlbDpcIkNocm9tZSBPU1wiLHBhdHRlcm46XCJDck9TXCJ9LFwiRGViaWFuXCIse2xhYmVsOlwiRHJhZ29uRmx5IEJTRFwiLHBhdHRlcm46XCJEcmFnb25GbHlcIn0sXCJGZWRvcmFcIixcIkZyZWVCU0RcIixcIkdlbnRvb1wiLFwiSGFpa3VcIixcIkt1YnVudHVcIixcIkxpbnV4IE1pbnRcIixcIk9wZW5CU0RcIixcIlJlZCBIYXRcIixcIlN1U0VcIixcIlVidW50dVwiLFwiWHVidW50dVwiLFwiQ3lnd2luXCIsXCJTeW1iaWFuIE9TXCIsXCJocHdPU1wiLFwid2ViT1MgXCIsXCJ3ZWJPU1wiLFwiVGFibGV0IE9TXCIsXCJUaXplblwiLFwiTGludXhcIixcIk1hYyBPUyBYXCIsXCJNYWNpbnRvc2hcIixcIk1hY1wiLFwiV2luZG93cyA5ODtcIixcIldpbmRvd3MgXCJdKTtmdW5jdGlvbiBnZXRMYXlvdXQoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHxSZWdFeHAoXCJcXFxcYlwiKyh0LnBhdHRlcm58fHF1YWxpZnkodCkpK1wiXFxcXGJcIixcImlcIikuZXhlYyhlKSYmKHQubGFiZWx8fHQpfSkpfWZ1bmN0aW9uIGdldE1hbnVmYWN0dXJlcihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCxyKXtyZXR1cm4gaXx8KHRbQV18fHRbL15bYS16XSsoPzogK1thLXpdK1xcYikqL2kuZXhlYyhBKV18fFJlZ0V4cChcIlxcXFxiXCIrcXVhbGlmeShyKStcIig/OlxcXFxifFxcXFx3KlxcXFxkKVwiLFwiaVwiKS5leGVjKGUpKSYmcn0pKX1mdW5jdGlvbiBnZXROYW1lKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8UmVnRXhwKFwiXFxcXGJcIisodC5wYXR0ZXJufHxxdWFsaWZ5KHQpKStcIlxcXFxiXCIsXCJpXCIpLmV4ZWMoZSkmJih0LmxhYmVsfHx0KX0pKX1mdW5jdGlvbiBnZXRPUyhpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIoPzovW1xcXFxkLl0rfFsgXFxcXHcuXSopXCIsXCJpXCIpLmV4ZWMoZSkpKXtpPWNsZWFudXBPUyhpLHIsdC5sYWJlbHx8dCl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0UHJvZHVjdChpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIgKlxcXFxkK1suXFxcXHdfXSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiICpcXFxcdystW1xcXFx3XSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiKD86OyAqKD86W2Etel0rW18tXSk/W2Etel0rXFxcXGQrfFteICgpOy1dKilcIixcImlcIikuZXhlYyhlKSkpe2lmKChpPVN0cmluZyh0LmxhYmVsJiYhUmVnRXhwKHIsXCJpXCIpLnRlc3QodC5sYWJlbCk/dC5sYWJlbDppKS5zcGxpdChcIi9cIikpWzFdJiYhL1tcXGQuXSsvLnRlc3QoaVswXSkpe2lbMF0rPVwiIFwiK2lbMV19dD10LmxhYmVsfHx0O2k9Zm9ybWF0KGlbMF0ucmVwbGFjZShSZWdFeHAocixcImlcIiksdCkucmVwbGFjZShSZWdFeHAoXCI7ICooPzpcIit0K1wiW18tXSk/XCIsXCJpXCIpLFwiIFwiKS5yZXBsYWNlKFJlZ0V4cChcIihcIit0K1wiKVstXy5dPyhcXFxcdylcIixcImlcIiksXCIkMSAkMlwiKSl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0VmVyc2lvbihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fChSZWdFeHAodCtcIig/Oi1bXFxcXGQuXSsvfCg/OiBmb3IgW1xcXFx3LV0rKT9bIC8tXSkoW1xcXFxkLl0rW14gKCk7L18tXSopXCIsXCJpXCIpLmV4ZWMoZSl8fDApWzFdfHxudWxsfSkpfWZ1bmN0aW9uIHRvU3RyaW5nUGxhdGZvcm0oKXtyZXR1cm4gdGhpcy5kZXNjcmlwdGlvbnx8XCJcIn1fJiYoXz1bX10pO2lmKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpJiYhQSYmKE09L1xcYkFuZHJvaWRbXjtdKjsoLio/KSg/OkJ1aWxkfFxcKSBBcHBsZVdlYktpdClcXGIvaS5leGVjKGUpKSl7QT10cmltKE1bMV0pLnJlcGxhY2UoL15bYS16XXsyfS1bYS16XXsyfTtcXHMqL2ksXCJcIil8fG51bGx9aWYoSSYmIUEpe0E9Z2V0UHJvZHVjdChbSV0pfWVsc2UgaWYoSSYmQSl7QT1BLnJlcGxhY2UoUmVnRXhwKFwiXihcIitxdWFsaWZ5KEkpK1wiKVstXy5cXFxcc11cIixcImlcIiksSStcIiBcIikucmVwbGFjZShSZWdFeHAoXCJeKFwiK3F1YWxpZnkoSSkrXCIpWy1fLl0/KFxcXFx3KVwiLFwiaVwiKSxJK1wiICQyXCIpfWlmKE09L1xcYkdvb2dsZSBUVlxcYi8uZXhlYyhBKSl7QT1NWzBdfWlmKC9cXGJTaW11bGF0b3JcXGIvaS50ZXN0KGUpKXtBPShBP0ErXCIgXCI6XCJcIikrXCJTaW11bGF0b3JcIn1pZihSPT1cIk9wZXJhIE1pbmlcIiYmL1xcYk9QaU9TXFxiLy50ZXN0KGUpKXtQLnB1c2goXCJydW5uaW5nIGluIFR1cmJvL1VuY29tcHJlc3NlZCBtb2RlXCIpfWlmKFI9PVwiSUVcIiYmL1xcYmxpa2UgaVBob25lIE9TXFxiLy50ZXN0KGUpKXtNPXBhcnNlKGUucmVwbGFjZSgvbGlrZSBpUGhvbmUgT1MvLFwiXCIpKTtJPU0ubWFudWZhY3R1cmVyO0E9TS5wcm9kdWN0fWVsc2UgaWYoL15pUC8udGVzdChBKSl7Unx8KFI9XCJTYWZhcmlcIik7VD1cImlPU1wiKygoTT0vIE9TIChbXFxkX10rKS9pLmV4ZWMoZSkpP1wiIFwiK01bMV0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIlwiKX1lbHNlIGlmKFI9PVwiS29ucXVlcm9yXCImJi9eTGludXhcXGIvaS50ZXN0KFQpKXtUPVwiS3VidW50dVwifWVsc2UgaWYoSSYmSSE9XCJHb29nbGVcIiYmKC9DaHJvbWUvLnRlc3QoUikmJiEvXFxiTW9iaWxlIFNhZmFyaVxcYi9pLnRlc3QoZSl8fC9cXGJWaXRhXFxiLy50ZXN0KEEpKXx8L1xcYkFuZHJvaWRcXGIvLnRlc3QoVCkmJi9eQ2hyb21lLy50ZXN0KFIpJiYvXFxiVmVyc2lvblxcLy9pLnRlc3QoZSkpe1I9XCJBbmRyb2lkIEJyb3dzZXJcIjtUPS9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6XCJBbmRyb2lkXCJ9ZWxzZSBpZihSPT1cIlNpbGtcIil7aWYoIS9cXGJNb2JpL2kudGVzdChlKSl7VD1cIkFuZHJvaWRcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIil9aWYoL0FjY2VsZXJhdGVkICo9ICp0cnVlL2kudGVzdChlKSl7UC51bnNoaWZ0KFwiYWNjZWxlcmF0ZWRcIil9fWVsc2UgaWYoUj09XCJVQyBCcm93c2VyXCImJi9cXGJVQ1dFQlxcYi8udGVzdChlKSl7UC5wdXNoKFwic3BlZWQgbW9kZVwiKX1lbHNlIGlmKFI9PVwiUGFsZU1vb25cIiYmKE09L1xcYkZpcmVmb3hcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSkpKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBGaXJlZm94IFwiK01bMV0pfWVsc2UgaWYoUj09XCJGaXJlZm94XCImJihNPS9cXGIoTW9iaWxlfFRhYmxldHxUVilcXGIvaS5leGVjKGUpKSl7VHx8KFQ9XCJGaXJlZm94IE9TXCIpO0F8fChBPU1bMV0pfWVsc2UgaWYoIVJ8fChNPSEvXFxiTWluZWZpZWxkXFxiL2kudGVzdChlKSYmL1xcYig/OkZpcmVmb3h8U2FmYXJpKVxcYi8uZXhlYyhSKSkpe2lmKFImJiFBJiYvW1xcLyxdfF5bXihdKz9cXCkvLnRlc3QoZS5zbGljZShlLmluZGV4T2YoTStcIi9cIikrOCkpKXtSPW51bGx9aWYoKE09QXx8SXx8VCkmJihBfHxJfHwvXFxiKD86QW5kcm9pZHxTeW1iaWFuIE9TfFRhYmxldCBPU3x3ZWJPUylcXGIvLnRlc3QoVCkpKXtSPS9bYS16XSsoPzogSGF0KT8vaS5leGVjKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6TSkrXCIgQnJvd3NlclwifX1lbHNlIGlmKFI9PVwiRWxlY3Ryb25cIiYmKE09KC9cXGJDaHJvbWVcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSl8fDApWzFdKSl7UC5wdXNoKFwiQ2hyb21pdW0gXCIrTSl9aWYoIUIpe0I9Z2V0VmVyc2lvbihbXCIoPzpDbG91ZDl8Q3JpT1N8Q3JNb3xFZGdlfEVkZ3xFZGdBfEVkZ2lPU3xGeGlPU3xIZWFkbGVzc0Nocm9tZXxJRU1vYmlsZXxJcm9ufE9wZXJhID9NaW5pfE9QaU9TfE9QUnxSYXZlbnxTYW1zdW5nQnJvd3NlcnxTaWxrKD8hL1tcXFxcZC5dKyQpfFVDQnJvd3NlcnxZYUJyb3dzZXIpXCIsXCJWZXJzaW9uXCIscXVhbGlmeShSKSxcIig/OkZpcmVmb3h8TWluZWZpZWxkfE5ldEZyb250KVwiXSl9aWYoTT1fPT1cImlDYWJcIiYmcGFyc2VGbG9hdChCKT4zJiZcIldlYktpdFwifHwvXFxiT3BlcmFcXGIvLnRlc3QoUikmJigvXFxiT1BSXFxiLy50ZXN0KGUpP1wiQmxpbmtcIjpcIlByZXN0b1wiKXx8L1xcYig/Ok1pZG9yaXxOb29rfFNhZmFyaSlcXGIvaS50ZXN0KGUpJiYhL14oPzpUcmlkZW50fEVkZ2VIVE1MKSQvLnRlc3QoXykmJlwiV2ViS2l0XCJ8fCFfJiYvXFxiTVNJRVxcYi9pLnRlc3QoZSkmJihUPT1cIk1hYyBPU1wiP1wiVGFzbWFuXCI6XCJUcmlkZW50XCIpfHxfPT1cIldlYktpdFwiJiYvXFxiUGxheVN0YXRpb25cXGIoPyEgVml0YVxcYikvaS50ZXN0KFIpJiZcIk5ldEZyb250XCIpe189W01dfWlmKFI9PVwiSUVcIiYmKE09KC87ICooPzpYQkxXUHxadW5lV1ApKFxcZCspL2kuZXhlYyhlKXx8MClbMV0pKXtSKz1cIiBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSBcIisoL1xcKyQvLnRlc3QoTSk/TTpNK1wiLnhcIik7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpfWVsc2UgaWYoL1xcYldQRGVza3RvcFxcYi9pLnRlc3QoZSkpe1I9XCJJRSBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSA4LnhcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7Qnx8KEI9KC9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSl8fDApWzFdKX1lbHNlIGlmKFIhPVwiSUVcIiYmXz09XCJUcmlkZW50XCImJihNPS9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSkpKXtpZihSKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBcIitSKyhCP1wiIFwiK0I6XCJcIikpfVI9XCJJRVwiO0I9TVsxXX1pZihrKXtpZihpc0hvc3RUeXBlKGksXCJnbG9iYWxcIikpe2lmKG0pe009bS5sYW5nLlN5c3RlbTtFPU0uZ2V0UHJvcGVydHkoXCJvcy5hcmNoXCIpO1Q9VHx8TS5nZXRQcm9wZXJ0eShcIm9zLm5hbWVcIikrXCIgXCIrTS5nZXRQcm9wZXJ0eShcIm9zLnZlcnNpb25cIil9aWYoZyl7dHJ5e0I9aS5yZXF1aXJlKFwicmluZ28vZW5naW5lXCIpLnZlcnNpb24uam9pbihcIi5cIik7Uj1cIlJpbmdvSlNcIn1jYXRjaChlKXtpZigoTT1pLnN5c3RlbSkmJk0uZ2xvYmFsLnN5c3RlbT09aS5zeXN0ZW0pe1I9XCJOYXJ3aGFsXCI7VHx8KFQ9TVswXS5vc3x8bnVsbCl9fWlmKCFSKXtSPVwiUmhpbm9cIn19ZWxzZSBpZih0eXBlb2YgaS5wcm9jZXNzPT1cIm9iamVjdFwiJiYhaS5wcm9jZXNzLmJyb3dzZXImJihNPWkucHJvY2Vzcykpe2lmKHR5cGVvZiBNLnZlcnNpb25zPT1cIm9iamVjdFwiKXtpZih0eXBlb2YgTS52ZXJzaW9ucy5lbGVjdHJvbj09XCJzdHJpbmdcIil7UC5wdXNoKFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJFbGVjdHJvblwiO0I9TS52ZXJzaW9ucy5lbGVjdHJvbn1lbHNlIGlmKHR5cGVvZiBNLnZlcnNpb25zLm53PT1cInN0cmluZ1wiKXtQLnB1c2goXCJDaHJvbWl1bSBcIitCLFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJOVy5qc1wiO0I9TS52ZXJzaW9ucy5ud319aWYoIVIpe1I9XCJOb2RlLmpzXCI7RT1NLmFyY2g7VD1NLnBsYXRmb3JtO0I9L1tcXGQuXSsvLmV4ZWMoTS52ZXJzaW9uKTtCPUI/QlswXTpudWxsfX19ZWxzZSBpZihnZXRDbGFzc09mKE09aS5ydW50aW1lKT09cCl7Uj1cIkFkb2JlIEFJUlwiO1Q9TS5mbGFzaC5zeXN0ZW0uQ2FwYWJpbGl0aWVzLm9zfWVsc2UgaWYoZ2V0Q2xhc3NPZihNPWkucGhhbnRvbSk9PXgpe1I9XCJQaGFudG9tSlNcIjtCPShNPU0udmVyc2lvbnx8bnVsbCkmJk0ubWFqb3IrXCIuXCIrTS5taW5vcitcIi5cIitNLnBhdGNofWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYoTT0vXFxiVHJpZGVudFxcLyhcXGQrKS9pLmV4ZWMoZSkpKXtCPVtCLE8uZG9jdW1lbnRNb2RlXTtpZigoTT0rTVsxXSs0KSE9QlsxXSl7UC5wdXNoKFwiSUUgXCIrQlsxXStcIiBtb2RlXCIpO18mJihfWzFdPVwiXCIpO0JbMV09TX1CPVI9PVwiSUVcIj9TdHJpbmcoQlsxXS50b0ZpeGVkKDEpKTpCWzBdfWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYvXig/OkNocm9tZXxGaXJlZm94KVxcYi8udGVzdChSKSl7UC5wdXNoKFwibWFza2luZyBhcyBcIitSK1wiIFwiK0IpO1I9XCJJRVwiO0I9XCIxMS4wXCI7Xz1bXCJUcmlkZW50XCJdO1Q9XCJXaW5kb3dzXCJ9VD1UJiZmb3JtYXQoVCl9aWYoQiYmKE09Lyg/OlthYl18ZHB8cHJlfFthYl1cXGQrcHJlKSg/OlxcZCtcXCs/KT8kL2kuZXhlYyhCKXx8Lyg/OmFscGhhfGJldGEpKD86ID9cXGQpPy9pLmV4ZWMoZStcIjtcIisoayYmbi5hcHBNaW5vclZlcnNpb24pKXx8L1xcYk1pbmVmaWVsZFxcYi9pLnRlc3QoZSkmJlwiYVwiKSl7Qz0vYi9pLnRlc3QoTSk/XCJiZXRhXCI6XCJhbHBoYVwiO0I9Qi5yZXBsYWNlKFJlZ0V4cChNK1wiXFxcXCs/JFwiKSxcIlwiKSsoQz09XCJiZXRhXCI/djpoKSsoL1xcZCtcXCs/Ly5leGVjKE0pfHxcIlwiKX1pZihSPT1cIkZlbm5lY1wifHxSPT1cIkZpcmVmb3hcIiYmL1xcYig/OkFuZHJvaWR8RmlyZWZveCBPU3xLYWlPUylcXGIvLnRlc3QoVCkpe1I9XCJGaXJlZm94IE1vYmlsZVwifWVsc2UgaWYoUj09XCJNYXh0aG9uXCImJkIpe0I9Qi5yZXBsYWNlKC9cXC5bXFxkLl0rLyxcIi54XCIpfWVsc2UgaWYoL1xcYlhib3hcXGIvaS50ZXN0KEEpKXtpZihBPT1cIlhib3ggMzYwXCIpe1Q9bnVsbH1pZihBPT1cIlhib3ggMzYwXCImJi9cXGJJRU1vYmlsZVxcYi8udGVzdChlKSl7UC51bnNoaWZ0KFwibW9iaWxlIG1vZGVcIil9fWVsc2UgaWYoKC9eKD86Q2hyb21lfElFfE9wZXJhKSQvLnRlc3QoUil8fFImJiFBJiYhL0Jyb3dzZXJ8TW9iaS8udGVzdChSKSkmJihUPT1cIldpbmRvd3MgQ0VcInx8L01vYmkvaS50ZXN0KGUpKSl7Uis9XCIgTW9iaWxlXCJ9ZWxzZSBpZihSPT1cIklFXCImJmspe3RyeXtpZihpLmV4dGVybmFsPT09bnVsbCl7UC51bnNoaWZ0KFwicGxhdGZvcm0gcHJldmlld1wiKX19Y2F0Y2goZSl7UC51bnNoaWZ0KFwiZW1iZWRkZWRcIil9fWVsc2UgaWYoKC9cXGJCbGFja0JlcnJ5XFxiLy50ZXN0KEEpfHwvXFxiQkIxMFxcYi8udGVzdChlKSkmJihNPShSZWdFeHAoQS5yZXBsYWNlKC8gKy9nLFwiICpcIikrXCIvKFsuXFxcXGRdKylcIixcImlcIikuZXhlYyhlKXx8MClbMV18fEIpKXtNPVtNLC9CQjEwLy50ZXN0KGUpXTtUPShNWzFdPyhBPW51bGwsST1cIkJsYWNrQmVycnlcIik6XCJEZXZpY2UgU29mdHdhcmVcIikrXCIgXCIrTVswXTtCPW51bGx9ZWxzZSBpZih0aGlzIT1mb3JPd24mJkEhPVwiV2lpXCImJihrJiZ5fHwvT3BlcmEvLnRlc3QoUikmJi9cXGIoPzpNU0lFfEZpcmVmb3gpXFxiL2kudGVzdChlKXx8Uj09XCJGaXJlZm94XCImJi9cXGJPUyBYICg/OlxcZCtcXC4pezIsfS8udGVzdChUKXx8Uj09XCJJRVwiJiYoVCYmIS9eV2luLy50ZXN0KFQpJiZCPjUuNXx8L1xcYldpbmRvd3MgWFBcXGIvLnRlc3QoVCkmJkI+OHx8Qj09OCYmIS9cXGJUcmlkZW50XFxiLy50ZXN0KGUpKSkmJiFmLnRlc3QoTT1wYXJzZS5jYWxsKGZvck93bixlLnJlcGxhY2UoZixcIlwiKStcIjtcIikpJiZNLm5hbWUpe009XCJpbmcgYXMgXCIrTS5uYW1lKygoTT1NLnZlcnNpb24pP1wiIFwiK006XCJcIik7aWYoZi50ZXN0KFIpKXtpZigvXFxiSUVcXGIvLnRlc3QoTSkmJlQ9PVwiTWFjIE9TXCIpe1Q9bnVsbH1NPVwiaWRlbnRpZnlcIitNfWVsc2V7TT1cIm1hc2tcIitNO2lmKHcpe1I9Zm9ybWF0KHcucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZyxcIiQxICQyXCIpKX1lbHNle1I9XCJPcGVyYVwifWlmKC9cXGJJRVxcYi8udGVzdChNKSl7VD1udWxsfWlmKCFrKXtCPW51bGx9fV89W1wiUHJlc3RvXCJdO1AucHVzaChNKX1pZihNPSgvXFxiQXBwbGVXZWJLaXRcXC8oW1xcZC5dK1xcKz8pL2kuZXhlYyhlKXx8MClbMV0pe009W3BhcnNlRmxvYXQoTS5yZXBsYWNlKC9cXC4oXFxkKSQvLFwiLjAkMVwiKSksTV07aWYoUj09XCJTYWZhcmlcIiYmTVsxXS5zbGljZSgtMSk9PVwiK1wiKXtSPVwiV2ViS2l0IE5pZ2h0bHlcIjtDPVwiYWxwaGFcIjtCPU1bMV0uc2xpY2UoMCwtMSl9ZWxzZSBpZihCPT1NWzFdfHxCPT0oTVsyXT0oL1xcYlNhZmFyaVxcLyhbXFxkLl0rXFwrPykvaS5leGVjKGUpfHwwKVsxXSkpe0I9bnVsbH1NWzFdPSgvXFxiKD86SGVhZGxlc3MpP0Nocm9tZVxcLyhbXFxkLl0rKS9pLmV4ZWMoZSl8fDApWzFdO2lmKE1bMF09PTUzNy4zNiYmTVsyXT09NTM3LjM2JiZwYXJzZUZsb2F0KE1bMV0pPj0yOCYmXz09XCJXZWJLaXRcIil7Xz1bXCJCbGlua1wiXX1pZigha3x8IXMmJiFNWzFdKXtfJiYoX1sxXT1cImxpa2UgU2FmYXJpXCIpO009KE09TVswXSxNPDQwMD8xOk08NTAwPzI6TTw1MjY/MzpNPDUzMz80Ok08NTM0P1wiNCtcIjpNPDUzNT81Ok08NTM3PzY6TTw1Mzg/NzpNPDYwMT84Ok08NjAyPzk6TTw2MDQ/MTA6TTw2MDY/MTE6TTw2MDg/MTI6XCIxMlwiKX1lbHNle18mJihfWzFdPVwibGlrZSBDaHJvbWVcIik7TT1NWzFdfHwoTT1NWzBdLE08NTMwPzE6TTw1MzI/MjpNPDUzMi4wNT8zOk08NTMzPzQ6TTw1MzQuMDM/NTpNPDUzNC4wNz82Ok08NTM0LjE/NzpNPDUzNC4xMz84Ok08NTM0LjE2Pzk6TTw1MzQuMjQ/MTA6TTw1MzQuMz8xMTpNPDUzNS4wMT8xMjpNPDUzNS4wMj9cIjEzK1wiOk08NTM1LjA3PzE1Ok08NTM1LjExPzE2Ok08NTM1LjE5PzE3Ok08NTM2LjA1PzE4Ok08NTM2LjE/MTk6TTw1MzcuMDE/MjA6TTw1MzcuMTE/XCIyMStcIjpNPDUzNy4xMz8yMzpNPDUzNy4xOD8yNDpNPDUzNy4yND8yNTpNPDUzNy4zNj8yNjpfIT1cIkJsaW5rXCI/XCIyN1wiOlwiMjhcIil9XyYmKF9bMV0rPVwiIFwiKyhNKz10eXBlb2YgTT09XCJudW1iZXJcIj9cIi54XCI6L1suK10vLnRlc3QoTSk/XCJcIjpcIitcIikpO2lmKFI9PVwiU2FmYXJpXCImJighQnx8cGFyc2VJbnQoQik+NDUpKXtCPU19ZWxzZSBpZihSPT1cIkNocm9tZVwiJiYvXFxiSGVhZGxlc3NDaHJvbWUvaS50ZXN0KGUpKXtQLnVuc2hpZnQoXCJoZWFkbGVzc1wiKX19aWYoUj09XCJPcGVyYVwiJiYoTT0vXFxiemJvdnx6dmF2JC8uZXhlYyhUKSkpe1IrPVwiIFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtpZihNPT1cInp2YXZcIil7Uis9XCJNaW5pXCI7Qj1udWxsfWVsc2V7Uis9XCJNb2JpbGVcIn1UPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK00rXCIkXCIpLFwiXCIpfWVsc2UgaWYoUj09XCJTYWZhcmlcIiYmL1xcYkNocm9tZVxcYi8uZXhlYyhfJiZfWzFdKSl7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO1I9XCJDaHJvbWUgTW9iaWxlXCI7Qj1udWxsO2lmKC9cXGJPUyBYXFxiLy50ZXN0KFQpKXtJPVwiQXBwbGVcIjtUPVwiaU9TIDQuMytcIn1lbHNle1Q9bnVsbH19ZWxzZSBpZigvXFxiU1JXYXJlIElyb25cXGIvLnRlc3QoUikmJiFCKXtCPWdldFZlcnNpb24oXCJDaHJvbWVcIil9aWYoQiYmQi5pbmRleE9mKE09L1tcXGQuXSskLy5leGVjKFQpKT09MCYmZS5pbmRleE9mKFwiL1wiK00rXCItXCIpPi0xKXtUPXRyaW0oVC5yZXBsYWNlKE0sXCJcIikpfWlmKFQmJlQuaW5kZXhPZihSKSE9LTEmJiFSZWdFeHAoUitcIiBPU1wiKS50ZXN0KFQpKXtUPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK3F1YWxpZnkoUikrXCIgKlwiKSxcIlwiKX1pZihfJiYhL1xcYig/OkF2YW50fE5vb2spXFxiLy50ZXN0KFIpJiYoL0Jyb3dzZXJ8THVuYXNjYXBlfE1heHRob24vLnRlc3QoUil8fFIhPVwiU2FmYXJpXCImJi9eaU9TLy50ZXN0KFQpJiYvXFxiU2FmYXJpXFxiLy50ZXN0KF9bMV0pfHwvXig/OkFkb2JlfEFyb3JhfEJyZWFjaHxNaWRvcml8T3BlcmF8UGhhbnRvbXxSZWtvbnF8Um9ja3xTYW1zdW5nIEludGVybmV0fFNsZWlwbmlyfFNSV2FyZSBJcm9ufFZpdmFsZGl8V2ViKS8udGVzdChSKSYmX1sxXSkpeyhNPV9bXy5sZW5ndGgtMV0pJiZQLnB1c2goTSl9aWYoUC5sZW5ndGgpe1A9W1wiKFwiK1Auam9pbihcIjsgXCIpK1wiKVwiXX1pZihJJiZBJiZBLmluZGV4T2YoSSk8MCl7UC5wdXNoKFwib24gXCIrSSl9aWYoQSl7UC5wdXNoKCgvXm9uIC8udGVzdChQW1AubGVuZ3RoLTFdKT9cIlwiOlwib24gXCIpK0EpfWlmKFQpe009LyAoW1xcZC4rXSspJC8uZXhlYyhUKTtXPU0mJlQuY2hhckF0KFQubGVuZ3RoLU1bMF0ubGVuZ3RoLTEpPT1cIi9cIjtUPXthcmNoaXRlY3R1cmU6MzIsZmFtaWx5Ok0mJiFXP1QucmVwbGFjZShNWzBdLFwiXCIpOlQsdmVyc2lvbjpNP01bMV06bnVsbCx0b1N0cmluZzpmdW5jdGlvbigpe3ZhciBlPXRoaXMudmVyc2lvbjtyZXR1cm4gdGhpcy5mYW1pbHkrKGUmJiFXP1wiIFwiK2U6XCJcIikrKHRoaXMuYXJjaGl0ZWN0dXJlPT02ND9cIiA2NC1iaXRcIjpcIlwiKX19fWlmKChNPS9cXGIoPzpBTUR8SUF8V2lufFdPV3x4ODZffHgpNjRcXGIvaS5leGVjKEUpKSYmIS9cXGJpNjg2XFxiL2kudGVzdChFKSl7aWYoVCl7VC5hcmNoaXRlY3R1cmU9NjQ7VC5mYW1pbHk9VC5mYW1pbHkucmVwbGFjZShSZWdFeHAoXCIgKlwiK00pLFwiXCIpfWlmKFImJigvXFxiV09XNjRcXGIvaS50ZXN0KGUpfHxrJiYvXFx3KD86ODZ8MzIpJC8udGVzdChuLmNwdUNsYXNzfHxuLnBsYXRmb3JtKSYmIS9cXGJXaW42NDsgeDY0XFxiL2kudGVzdChlKSkpe1AudW5zaGlmdChcIjMyLWJpdFwiKX19ZWxzZSBpZihUJiYvXk9TIFgvLnRlc3QoVC5mYW1pbHkpJiZSPT1cIkNocm9tZVwiJiZwYXJzZUZsb2F0KEIpPj0zOSl7VC5hcmNoaXRlY3R1cmU9NjR9ZXx8KGU9bnVsbCk7dmFyIEY9e307Ri5kZXNjcmlwdGlvbj1lO0YubGF5b3V0PV8mJl9bMF07Ri5tYW51ZmFjdHVyZXI9STtGLm5hbWU9UjtGLnByZXJlbGVhc2U9QztGLnByb2R1Y3Q9QTtGLnVhPWU7Ri52ZXJzaW9uPVImJkI7Ri5vcz1UfHx7YXJjaGl0ZWN0dXJlOm51bGwsZmFtaWx5Om51bGwsdmVyc2lvbjpudWxsLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuXCJudWxsXCJ9fTtGLnBhcnNlPXBhcnNlO0YudG9TdHJpbmc9dG9TdHJpbmdQbGF0Zm9ybTtpZihGLnZlcnNpb24pe1AudW5zaGlmdChCKX1pZihGLm5hbWUpe1AudW5zaGlmdChSKX1pZihUJiZSJiYhKFQ9PVN0cmluZyhUKS5zcGxpdChcIiBcIilbMF0mJihUPT1SLnNwbGl0KFwiIFwiKVswXXx8QSkpKXtQLnB1c2goQT9cIihcIitUK1wiKVwiOlwib24gXCIrVCl9aWYoUC5sZW5ndGgpe0YuZGVzY3JpcHRpb249UC5qb2luKFwiIFwiKX1yZXR1cm4gRn12YXIgZD1wYXJzZSgpO2lmKG4mJm8pe2Zvck93bihkLChmdW5jdGlvbihlLGkpe25baV09ZX0pKX1lbHNle3IucGxhdGZvcm09ZH19KS5jYWxsKHRoaXMpfX07dmFyIGk9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgcj1pW3RdO2lmKHIhPT11bmRlZmluZWQpe3JldHVybiByLmV4cG9ydHN9dmFyIGE9aVt0XT17aWQ6dCxsb2FkZWQ6ZmFsc2UsZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgaVt0XX1hLmxvYWRlZD10cnVlO3JldHVybiBhLmV4cG9ydHN9KCgpPT57X19uY2N3cGNrX3JlcXVpcmVfXy5ubWQ9ZT0+e2UucGF0aHM9W107aWYoIWUuY2hpbGRyZW4pZS5jaGlsZHJlbj1bXTtyZXR1cm4gZX19KSgpO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU0MSk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/platform/platform.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js": -/*!******************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUI7QUFDdkIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixZQUFZO0FBQ1osY0FBYztBQUNkLGdCQUFnQjtBQUNoQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtaXMvY2pzL3JlYWN0LWlzLmRldmVsb3BtZW50LmpzP2VjODUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2VydmVyX2NvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlOyAvLyBUcmFjayB3aGljaCBGaWJlcihzKSBzY2hlZHVsZSByZW5kZXIgd29yay5cblxudmFyIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0U7XG5cbntcbiAgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1vZHVsZS5yZWZlcmVuY2UnKTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBUaGlzIG5lZWRzIHRvIGluY2x1ZGUgYWxsIHBvc3NpYmxlIG1vZHVsZSByZWZlcmVuY2Ugb2JqZWN0XG4gICAgLy8gdHlwZXMgc3VwcG9ydGVkIGJ5IGFueSBGbGlnaHQgY29uZmlndXJhdGlvbiBhbnl3aGVyZSBzaW5jZVxuICAgIC8vIHdlIGRvbid0IGtub3cgd2hpY2ggRmxpZ2h0IGJ1aWxkIHRoaXMgd2lsbCBlbmQgdXAgYmVpbmcgdXNlZFxuICAgIC8vIHdpdGguXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHlwZU9mKG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyICQkdHlwZW9mID0gb2JqZWN0LiQkdHlwZW9mO1xuXG4gICAgc3dpdGNoICgkJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIHZhciB0eXBlID0gb2JqZWN0LnR5cGU7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJCR0eXBlb2ZUeXBlO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgcmV0dXJuICQkdHlwZW9mO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG52YXIgQ29udGV4dENvbnN1bWVyID0gUkVBQ1RfQ09OVEVYVF9UWVBFO1xudmFyIENvbnRleHRQcm92aWRlciA9IFJFQUNUX1BST1ZJREVSX1RZUEU7XG52YXIgRWxlbWVudCA9IFJFQUNUX0VMRU1FTlRfVFlQRTtcbnZhciBGb3J3YXJkUmVmID0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbnZhciBGcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG52YXIgTGF6eSA9IFJFQUNUX0xBWllfVFlQRTtcbnZhciBNZW1vID0gUkVBQ1RfTUVNT19UWVBFO1xudmFyIFBvcnRhbCA9IFJFQUNUX1BPUlRBTF9UWVBFO1xudmFyIFByb2ZpbGVyID0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbnZhciBTdHJpY3RNb2RlID0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbnZhciBTdXNwZW5zZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XG52YXIgU3VzcGVuc2VMaXN0ID0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFO1xudmFyIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlID0gZmFsc2U7XG52YXIgaGFzV2FybmVkQWJvdXREZXByZWNhdGVkSXNDb25jdXJyZW50TW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUpIHtcbiAgICAgIGhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQ29uY3VycmVudE1vZGUgPSB0cnVlOyAvLyBVc2luZyBjb25zb2xlWyd3YXJuJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuXG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1RoZSBSZWFjdElzLmlzQ29uY3VycmVudE1vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTgrLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2VMaXN0KG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcbn1cblxuZXhwb3J0cy5Db250ZXh0Q29uc3VtZXIgPSBDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLkNvbnRleHRQcm92aWRlciA9IENvbnRleHRQcm92aWRlcjtcbmV4cG9ydHMuRWxlbWVudCA9IEVsZW1lbnQ7XG5leHBvcnRzLkZvcndhcmRSZWYgPSBGb3J3YXJkUmVmO1xuZXhwb3J0cy5GcmFnbWVudCA9IEZyYWdtZW50O1xuZXhwb3J0cy5MYXp5ID0gTGF6eTtcbmV4cG9ydHMuTWVtbyA9IE1lbW87XG5leHBvcnRzLlBvcnRhbCA9IFBvcnRhbDtcbmV4cG9ydHMuUHJvZmlsZXIgPSBQcm9maWxlcjtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFN0cmljdE1vZGU7XG5leHBvcnRzLlN1c3BlbnNlID0gU3VzcGVuc2U7XG5leHBvcnRzLlN1c3BlbnNlTGlzdCA9IFN1c3BlbnNlTGlzdDtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1N1c3BlbnNlTGlzdCA9IGlzU3VzcGVuc2VMaXN0O1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-is/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-is/index.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/next/dist/compiled/react-is/cjs/react-is.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LWlzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSkFBeUQ7QUFDM0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1pcy9pbmRleC5qcz80MjNkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-is/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! - \*************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;Object.defineProperty(r,\"__esModule\",{value:true});var n=\"<unknown>\";function parse(e){var r=e.split(\"\\n\");return r.reduce((function(e,r){var n=parseChrome(r)||parseWinjs(r)||parseGecko(r)||parseNode(r)||parseJSC(r);if(n){e.push(n)}return e}),[])}var a=/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;var l=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;function parseChrome(e){var r=a.exec(e);if(!r){return null}var u=r[2]&&r[2].indexOf(\"native\")===0;var t=r[2]&&r[2].indexOf(\"eval\")===0;var i=l.exec(r[2]);if(t&&i!=null){r[2]=i[1];r[3]=i[2];r[4]=i[3]}return{file:!u?r[2]:null,methodName:r[1]||n,arguments:u?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var u=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseWinjs(e){var r=u.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}var t=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;var i=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;function parseGecko(e){var r=t.exec(e);if(!r){return null}var a=r[3]&&r[3].indexOf(\" > eval\")>-1;var l=i.exec(r[3]);if(a&&l!=null){r[3]=l[1];r[4]=l[2];r[5]=null}return{file:r[3],methodName:r[1]||n,arguments:r[2]?r[2].split(\",\"):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var s=/^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;function parseJSC(e){var r=s.exec(e);if(!r){return null}return{file:r[3],methodName:r[1]||n,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}}var o=/^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;function parseNode(e){var r=o.exec(e);if(!r){return null}return{file:r[2],methodName:r[1]||n,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}}r.parse=parse})();module.exports=e})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyL3N0YWNrLXRyYWNlLXBhcnNlci5janMuanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sYUFBYSxtRUFBbUUsU0FBUyxLQUFLLFNBQVMsTUFBTSxRQUFRLHNDQUFzQyxXQUFXLEVBQUUsa0JBQWtCLGtCQUFrQixvQkFBb0IsK0JBQStCLDhFQUE4RSxNQUFNLFVBQVUsU0FBUyxNQUFNLGtKQUFrSixzQ0FBc0Msd0JBQXdCLGdCQUFnQixPQUFPLFlBQVksdUNBQXVDLHFDQUFxQyxtQkFBbUIsZUFBZSxVQUFVLFVBQVUsVUFBVSxPQUFPLDhHQUE4RyxzSEFBc0gsdUJBQXVCLGdCQUFnQixPQUFPLFlBQVksT0FBTyxtRkFBbUYsd0lBQXdJLHNEQUFzRCx1QkFBdUIsZ0JBQWdCLE9BQU8sWUFBWSx1Q0FBdUMsbUJBQW1CLGVBQWUsVUFBVSxVQUFVLFVBQVUsT0FBTyxrSEFBa0gscUVBQXFFLHFCQUFxQixnQkFBZ0IsT0FBTyxZQUFZLE9BQU8sbUZBQW1GLHNHQUFzRyxzQkFBc0IsZ0JBQWdCLE9BQU8sWUFBWSxPQUFPLG1GQUFtRixjQUFjLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXIvc3RhY2stdHJhY2UtcGFyc2VyLmNqcy5qcz9mZTBlIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgZT17fTsoKCk9Pnt2YXIgcj1lO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dmFyIG49XCI8dW5rbm93bj5cIjtmdW5jdGlvbiBwYXJzZShlKXt2YXIgcj1lLnNwbGl0KFwiXFxuXCIpO3JldHVybiByLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1wYXJzZUNocm9tZShyKXx8cGFyc2VXaW5qcyhyKXx8cGFyc2VHZWNrbyhyKXx8cGFyc2VOb2RlKHIpfHxwYXJzZUpTQyhyKTtpZihuKXtlLnB1c2gobil9cmV0dXJuIGV9KSxbXSl9dmFyIGE9L15cXHMqYXQgKC4qPykgP1xcKCgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZS1leHRlbnNpb258bmF0aXZlfGV2YWx8d2VicGFja3w8YW5vbnltb3VzPnxcXC98W2Etel06XFxcXHxcXFxcXFxcXCkuKj8pKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFwpP1xccyokL2k7dmFyIGw9L1xcKChcXFMqKSg/OjooXFxkKykpKD86OihcXGQrKSlcXCkvO2Z1bmN0aW9uIHBhcnNlQ2hyb21lKGUpe3ZhciByPWEuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIHU9clsyXSYmclsyXS5pbmRleE9mKFwibmF0aXZlXCIpPT09MDt2YXIgdD1yWzJdJiZyWzJdLmluZGV4T2YoXCJldmFsXCIpPT09MDt2YXIgaT1sLmV4ZWMoclsyXSk7aWYodCYmaSE9bnVsbCl7clsyXT1pWzFdO3JbM109aVsyXTtyWzRdPWlbM119cmV0dXJue2ZpbGU6IXU/clsyXTpudWxsLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6dT9bclsyXV06W10sbGluZU51bWJlcjpyWzNdPytyWzNdOm51bGwsY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHU9L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pPy4rKSApP1xcKD8oKD86ZmlsZXxtcy1hcHB4fGh0dHBzP3x3ZWJwYWNrfGJsb2IpOi4qPyk6KFxcZCspKD86OihcXGQrKSk/XFwpP1xccyokL2k7ZnVuY3Rpb24gcGFyc2VXaW5qcyhlKXt2YXIgcj11LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXZhciB0PS9eXFxzKiguKj8pKD86XFwoKC4qPylcXCkpPyg/Ol58QCkoKD86ZmlsZXxodHRwcz98YmxvYnxjaHJvbWV8d2VicGFja3xyZXNvdXJjZXxcXFtuYXRpdmUpLio/fFteQF0qYnVuZGxlKSg/OjooXFxkKykpPyg/OjooXFxkKykpP1xccyokL2k7dmFyIGk9LyhcXFMrKSBsaW5lIChcXGQrKSg/OiA+IGV2YWwgbGluZSBcXGQrKSogPiBldmFsL2k7ZnVuY3Rpb24gcGFyc2VHZWNrbyhlKXt2YXIgcj10LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXZhciBhPXJbM10mJnJbM10uaW5kZXhPZihcIiA+IGV2YWxcIik+LTE7dmFyIGw9aS5leGVjKHJbM10pO2lmKGEmJmwhPW51bGwpe3JbM109bFsxXTtyWzRdPWxbMl07cls1XT1udWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpyWzJdP3JbMl0uc3BsaXQoXCIsXCIpOltdLGxpbmVOdW1iZXI6cls0XT8rcls0XTpudWxsLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBzPS9eXFxzKig/OihbXkBdKikoPzpcXCgoLio/KVxcKSk/QCk/KFxcUy4qPyk6KFxcZCspKD86OihcXGQrKSk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZUpTQyhlKXt2YXIgcj1zLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzRdLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBvPS9eXFxzKmF0ICg/OigoPzpcXFtvYmplY3Qgb2JqZWN0XFxdKT9bXlxcXFwvXSsoPzogXFxbYXMgXFxTK1xcXSk/KSApP1xcKD8oLio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZU5vZGUoZSl7dmFyIHI9by5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH1yZXR1cm57ZmlsZTpyWzJdLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6W10sbGluZU51bWJlcjorclszXSxjb2x1bW46cls0XT8rcls0XTpudWxsfX1yLnBhcnNlPXBhcnNlfSkoKTttb2R1bGUuZXhwb3J0cz1lfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/web-vitals/web-vitals.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/web-vitals/web-vitals.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){\"use strict\";var n={};!function(){n.d=function(y,T){for(var C in T){if(n.o(T,C)&&!n.o(y,C)){Object.defineProperty(y,C,{enumerable:true,get:T[C]})}}}}();!function(){n.o=function(n,y){return Object.prototype.hasOwnProperty.call(n,y)}}();!function(){n.r=function(n){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(n,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(n,\"__esModule\",{value:true})}}();if(typeof n!==\"undefined\")n.ab=__dirname+\"/\";var y={};n.r(y);n.d(y,{getCLS:function(){return E},getFCP:function(){return g},getFID:function(){return F},getINP:function(){return O},getLCP:function(){return _},getTTFB:function(){return G},onCLS:function(){return E},onFCP:function(){return g},onFID:function(){return F},onINP:function(){return O},onLCP:function(){return _},onTTFB:function(){return G}});var T,C,w,P,I,k=-1,o=function(n){addEventListener(\"pageshow\",(function(y){y.persisted&&(k=y.timeStamp,n(y))}),!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},u=function(){var n=c();return n&&n.activationStart||0},f=function(n,y){var T=c(),C=\"navigate\";return k>=0?C=\"back-forward-cache\":T&&(C=document.prerendering||u()>0?\"prerender\":T.type.replace(/_/g,\"-\")),{name:n,value:void 0===y?-1:y,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:C}},s=function(n,y,T){try{if(PerformanceObserver.supportedEntryTypes.includes(n)){var C=new PerformanceObserver((function(n){y(n.getEntries())}));return C.observe(Object.assign({type:n,buffered:!0},T||{})),C}}catch(n){}},d=function(n,y){var T=function t(T){\"pagehide\"!==T.type&&\"hidden\"!==document.visibilityState||(n(T),y&&(removeEventListener(\"visibilitychange\",t,!0),removeEventListener(\"pagehide\",t,!0)))};addEventListener(\"visibilitychange\",T,!0),addEventListener(\"pagehide\",T,!0)},l=function(n,y,T,C){var w,P;return function(I){y.value>=0&&(I||C)&&((P=y.value-(w||0))||void 0===w)&&(w=y.value,y.delta=P,y.rating=function(n,y){return n>y[1]?\"poor\":n>y[0]?\"needs-improvement\":\"good\"}(y.value,T),n(y))}},N=-1,v=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},m=function(){d((function(n){var y=n.timeStamp;N=y}),!0)},h=function(){return N<0&&(N=v(),m(),o((function(){setTimeout((function(){N=v(),m()}),0)}))),{get firstHiddenTime(){return N}}},g=function(n,y){y=y||{};var T,C=[1800,3e3],w=h(),P=f(\"FCP\"),c=function(n){n.forEach((function(n){\"first-contentful-paint\"===n.name&&(k&&k.disconnect(),n.startTime<w.firstHiddenTime&&(P.value=n.startTime-u(),P.entries.push(n),T(!0)))}))},I=window.performance&&window.performance.getEntriesByName&&window.performance.getEntriesByName(\"first-contentful-paint\")[0],k=I?null:s(\"paint\",c);(I||k)&&(T=l(n,P,C,y.reportAllChanges),I&&c([I]),o((function(w){P=f(\"FCP\"),T=l(n,P,C,y.reportAllChanges),requestAnimationFrame((function(){requestAnimationFrame((function(){P.value=performance.now()-w.timeStamp,T(!0)}))}))})))},j=!1,q=-1,E=function(n,y){y=y||{};var T=[.1,.25];j||(g((function(n){q=n.value})),j=!0);var C,i=function(y){q>-1&&n(y)},w=f(\"CLS\",0),P=0,I=[],p=function(n){n.forEach((function(n){if(!n.hadRecentInput){var y=I[0],T=I[I.length-1];P&&n.startTime-T.startTime<1e3&&n.startTime-y.startTime<5e3?(P+=n.value,I.push(n)):(P=n.value,I=[n]),P>w.value&&(w.value=P,w.entries=I,C())}}))},k=s(\"layout-shift\",p);k&&(C=l(i,w,T,y.reportAllChanges),d((function(){p(k.takeRecords()),C(!0)})),o((function(){P=0,q=-1,w=f(\"CLS\",0),C=l(i,w,T,y.reportAllChanges)})))},x={passive:!0,capture:!0},z=new Date,L=function(n,y){T||(T=y,C=n,w=new Date,A(removeEventListener),S())},S=function(){if(C>=0&&C<w-z){var n={entryType:\"first-input\",name:T.type,target:T.target,cancelable:T.cancelable,startTime:T.timeStamp,processingStart:T.timeStamp+C};P.forEach((function(y){y(n)})),P=[]}},b=function(n){if(n.cancelable){var y=(n.timeStamp>1e12?new Date:performance.now())-n.timeStamp;\"pointerdown\"==n.type?function(n,y){var t=function(){L(n,y),i()},r=function(){i()},i=function(){removeEventListener(\"pointerup\",t,x),removeEventListener(\"pointercancel\",r,x)};addEventListener(\"pointerup\",t,x),addEventListener(\"pointercancel\",r,x)}(y,n):L(y,n)}},A=function(n){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(y){return n(y,b,x)}))},F=function(n,y){y=y||{};var w,I=[100,300],k=h(),N=f(\"FID\"),v=function(n){n.startTime<k.firstHiddenTime&&(N.value=n.processingStart-n.startTime,N.entries.push(n),w(!0))},m=function(n){n.forEach(v)},j=s(\"first-input\",m);w=l(n,N,I,y.reportAllChanges),j&&d((function(){m(j.takeRecords()),j.disconnect()}),!0),j&&o((function(){var k;N=f(\"FID\"),w=l(n,N,I,y.reportAllChanges),P=[],C=-1,T=null,A(addEventListener),k=v,P.push(k),S()}))},J=0,K=1/0,Q=0,M=function(n){n.forEach((function(n){n.interactionId&&(K=Math.min(K,n.interactionId),Q=Math.max(Q,n.interactionId),J=Q?(Q-K)/7+1:0)}))},B=function(){return I?J:performance.interactionCount||0},D=function(){\"interactionCount\"in performance||I||(I=s(\"event\",M,{type:\"event\",buffered:!0,durationThreshold:0}))},U=0,R=function(){return B()-U},V=[],W={},H=function(n){var y=V[V.length-1],T=W[n.interactionId];if(T||V.length<10||n.duration>y.latency){if(T)T.entries.push(n),T.latency=Math.max(T.latency,n.duration);else{var C={id:n.interactionId,latency:n.duration,entries:[n]};W[C.id]=C,V.push(C)}V.sort((function(n,y){return y.latency-n.latency})),V.splice(10).forEach((function(n){delete W[n.id]}))}},O=function(n,y){y=y||{};var T=[200,500];D();var C,w=f(\"INP\"),a=function(n){n.forEach((function(n){(n.interactionId&&H(n),\"first-input\"===n.entryType)&&(!V.some((function(y){return y.entries.some((function(y){return n.duration===y.duration&&n.startTime===y.startTime}))}))&&H(n))}));var y,T=(y=Math.min(V.length-1,Math.floor(R()/50)),V[y]);T&&T.latency!==w.value&&(w.value=T.latency,w.entries=T.entries,C())},P=s(\"event\",a,{durationThreshold:y.durationThreshold||40});C=l(n,w,T,y.reportAllChanges),P&&(P.observe({type:\"first-input\",buffered:!0}),d((function(){a(P.takeRecords()),w.value<0&&R()>0&&(w.value=0,w.entries=[]),C(!0)})),o((function(){V=[],U=B(),w=f(\"INP\"),C=l(n,w,T,y.reportAllChanges)})))},X={},_=function(n,y){y=y||{};var T,C=[2500,4e3],w=h(),P=f(\"LCP\"),c=function(n){var y=n[n.length-1];if(y){var C=y.startTime-u();C<w.firstHiddenTime&&(P.value=C,P.entries=[y],T())}},I=s(\"largest-contentful-paint\",c);if(I){T=l(n,P,C,y.reportAllChanges);var v=function(){X[P.id]||(c(I.takeRecords()),I.disconnect(),X[P.id]=!0,T(!0))};[\"keydown\",\"click\"].forEach((function(n){addEventListener(n,v,{once:!0,capture:!0})})),d(v,!0),o((function(w){P=f(\"LCP\"),T=l(n,P,C,y.reportAllChanges),requestAnimationFrame((function(){requestAnimationFrame((function(){P.value=performance.now()-w.timeStamp,X[P.id]=!0,T(!0)}))}))}))}},Y=function e(n){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e(n)}),!0):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(n)}),!0):setTimeout(n,0)},G=function(n,y){y=y||{};var T=[800,1800],C=f(\"TTFB\"),w=l(n,C,T,y.reportAllChanges);Y((function(){var P=c();if(P){if(C.value=Math.max(P.responseStart-u(),0),C.value<0||C.value>performance.now())return;C.entries=[P],w(!0),o((function(){C=f(\"TTFB\",0),(w=l(n,C,T,y.reportAllChanges))(!0)}))}}))};module.exports=y})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMvd2ViLXZpdGFscy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxhQUFhLFNBQVMsWUFBWSxrQkFBa0IsZ0JBQWdCLHdCQUF3QiwyQkFBMkIseUJBQXlCLEtBQUssR0FBRyxZQUFZLGtCQUFrQixrREFBa0QsR0FBRyxZQUFZLGdCQUFnQixvREFBb0QsNENBQTRDLGVBQWUsRUFBRSxzQ0FBc0MsV0FBVyxHQUFHLEdBQUcsK0JBQStCLFNBQVMsS0FBSyxTQUFTLE9BQU8sT0FBTyxrQkFBa0IsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxvQkFBb0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxtQkFBbUIsVUFBVSxFQUFFLGlDQUFpQyx5Q0FBeUMsa0NBQWtDLE1BQU0sY0FBYyx1R0FBdUcsY0FBYyxVQUFVLCtCQUErQixpQkFBaUIsdUJBQXVCLDZHQUE2RyxxS0FBcUssbUJBQW1CLElBQUksd0RBQXdELDJDQUEyQyxrQkFBa0IsR0FBRyxnQ0FBZ0MsbUJBQW1CLE1BQU0sTUFBTSxXQUFXLGlCQUFpQixvQkFBb0IseUpBQXlKLDRFQUE0RSxxQkFBcUIsUUFBUSxtQkFBbUIsa0dBQWtHLHVEQUF1RCxtQkFBbUIsbUJBQW1CLHVFQUF1RSxjQUFjLGVBQWUsa0JBQWtCLElBQUksTUFBTSxjQUFjLHFDQUFxQyx1QkFBdUIsVUFBVSxLQUFLLEtBQUssc0JBQXNCLFdBQVcsaUJBQWlCLFFBQVEsa0RBQWtELHVCQUF1Qix3SUFBd0ksR0FBRyxtSkFBbUosZ0VBQWdFLDJFQUEyRSxrQ0FBa0MsNENBQTRDLEdBQUcsR0FBRyxJQUFJLDJCQUEyQixRQUFRLGVBQWUsbUJBQW1CLFVBQVUsU0FBUyxvQkFBb0IsV0FBVyxxQ0FBcUMsdUJBQXVCLHNCQUFzQiwyQkFBMkIsNklBQTZJLEdBQUcsdUJBQXVCLGdEQUFnRCx5QkFBeUIsaUJBQWlCLG9EQUFvRCxJQUFJLElBQUksc0JBQXNCLDRCQUE0QixtREFBbUQsY0FBYyxnQkFBZ0IsT0FBTyxpSUFBaUksdUJBQXVCLEtBQUssU0FBUyxlQUFlLGlCQUFpQixnRUFBZ0Usb0NBQW9DLGlCQUFpQixXQUFXLGNBQWMsSUFBSSxjQUFjLCtFQUErRSx3RUFBd0UsY0FBYyxlQUFlLHdFQUF3RSxnQkFBZ0IsR0FBRyxpQkFBaUIsUUFBUSxpREFBaUQsK0ZBQStGLGVBQWUsYUFBYSxzQkFBc0IsK0NBQStDLGtDQUFrQyx1QkFBdUIsTUFBTSxnR0FBZ0csR0FBRyw2QkFBNkIsdUJBQXVCLCtGQUErRixHQUFHLGNBQWMsMkNBQTJDLGNBQWMscURBQXFELDZDQUE2QyxHQUFHLGtCQUFrQixhQUFhLFVBQVUsZUFBZSx5Q0FBeUMseUNBQXlDLGdFQUFnRSxLQUFLLE9BQU8sbURBQW1ELG9CQUFvQixzQkFBc0IsMkJBQTJCLHFDQUFxQyxlQUFlLElBQUksaUJBQWlCLFFBQVEsZ0JBQWdCLElBQUksK0JBQStCLHVCQUF1QiwyRUFBMkUsbUNBQW1DLDBEQUEwRCxHQUFHLFVBQVUsR0FBRyx5REFBeUQsb0VBQW9FLGdCQUFnQiwwQ0FBMEMsRUFBRSw2Q0FBNkMsK0JBQStCLGdCQUFnQixvRUFBb0UsaUJBQWlCLG9EQUFvRCxJQUFJLEtBQUssaUJBQWlCLFFBQVEsa0RBQWtELG9CQUFvQixNQUFNLHNCQUFzQixvREFBb0QsbUNBQW1DLE1BQU0sOEJBQThCLGlCQUFpQiwrREFBK0QseUNBQXlDLHNCQUFzQixtQkFBbUIsRUFBRSwwQkFBMEIsMkVBQTJFLGtDQUFrQyx1REFBdUQsR0FBRyxHQUFHLElBQUksaUJBQWlCLHdFQUF3RSxZQUFZLDJFQUEyRSxZQUFZLHNCQUFzQixpQkFBaUIsUUFBUSwyREFBMkQsY0FBYyxVQUFVLE1BQU0sdUZBQXVGLGtDQUFrQyxrREFBa0QsSUFBSSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3dlYi12aXRhbHMvd2ViLXZpdGFscy5qcz8wOWY0Il0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBuPXt9OyFmdW5jdGlvbigpe24uZD1mdW5jdGlvbih5LFQpe2Zvcih2YXIgQyBpbiBUKXtpZihuLm8oVCxDKSYmIW4ubyh5LEMpKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoeSxDLHtlbnVtZXJhYmxlOnRydWUsZ2V0OlRbQ119KX19fX0oKTshZnVuY3Rpb24oKXtuLm89ZnVuY3Rpb24obix5KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4seSl9fSgpOyFmdW5jdGlvbigpe24ucj1mdW5jdGlvbihuKXtpZih0eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIiYmU3ltYm9sLnRvU3RyaW5nVGFnKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlwiTW9kdWxlXCJ9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pfX0oKTtpZih0eXBlb2YgbiE9PVwidW5kZWZpbmVkXCIpbi5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHk9e307bi5yKHkpO24uZCh5LHtnZXRDTFM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0RkNQOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGdldEZJRDpmdW5jdGlvbigpe3JldHVybiBGfSxnZXRJTlA6ZnVuY3Rpb24oKXtyZXR1cm4gT30sZ2V0TENQOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGdldFRURkI6ZnVuY3Rpb24oKXtyZXR1cm4gR30sb25DTFM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sb25GQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sb25GSUQ6ZnVuY3Rpb24oKXtyZXR1cm4gRn0sb25JTlA6ZnVuY3Rpb24oKXtyZXR1cm4gT30sb25MQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gX30sb25UVEZCOmZ1bmN0aW9uKCl7cmV0dXJuIEd9fSk7dmFyIFQsQyx3LFAsSSxrPS0xLG89ZnVuY3Rpb24obil7YWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VzaG93XCIsKGZ1bmN0aW9uKHkpe3kucGVyc2lzdGVkJiYoaz15LnRpbWVTdGFtcCxuKHkpKX0pLCEwKX0sYz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpWzBdfSx1PWZ1bmN0aW9uKCl7dmFyIG49YygpO3JldHVybiBuJiZuLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihuLHkpe3ZhciBUPWMoKSxDPVwibmF2aWdhdGVcIjtyZXR1cm4gaz49MD9DPVwiYmFjay1mb3J3YXJkLWNhY2hlXCI6VCYmKEM9ZG9jdW1lbnQucHJlcmVuZGVyaW5nfHx1KCk+MD9cInByZXJlbmRlclwiOlQudHlwZS5yZXBsYWNlKC9fL2csXCItXCIpKSx7bmFtZTpuLHZhbHVlOnZvaWQgMD09PXk/LTE6eSxyYXRpbmc6XCJnb29kXCIsZGVsdGE6MCxlbnRyaWVzOltdLGlkOlwidjMtXCIuY29uY2F0KERhdGUubm93KCksXCItXCIpLmNvbmNhdChNYXRoLmZsb29yKDg5OTk5OTk5OTk5OTkqTWF0aC5yYW5kb20oKSkrMWUxMiksbmF2aWdhdGlvblR5cGU6Q319LHM9ZnVuY3Rpb24obix5LFQpe3RyeXtpZihQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMobikpe3ZhciBDPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChmdW5jdGlvbihuKXt5KG4uZ2V0RW50cmllcygpKX0pKTtyZXR1cm4gQy5vYnNlcnZlKE9iamVjdC5hc3NpZ24oe3R5cGU6bixidWZmZXJlZDohMH0sVHx8e30pKSxDfX1jYXRjaChuKXt9fSxkPWZ1bmN0aW9uKG4seSl7dmFyIFQ9ZnVuY3Rpb24gdChUKXtcInBhZ2VoaWRlXCIhPT1ULnR5cGUmJlwiaGlkZGVuXCIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGV8fChuKFQpLHkmJihyZW1vdmVFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLHQsITApLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYWdlaGlkZVwiLHQsITApKSl9O2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsVCwhMCl9LGw9ZnVuY3Rpb24obix5LFQsQyl7dmFyIHcsUDtyZXR1cm4gZnVuY3Rpb24oSSl7eS52YWx1ZT49MCYmKEl8fEMpJiYoKFA9eS52YWx1ZS0od3x8MCkpfHx2b2lkIDA9PT13KSYmKHc9eS52YWx1ZSx5LmRlbHRhPVAseS5yYXRpbmc9ZnVuY3Rpb24obix5KXtyZXR1cm4gbj55WzFdP1wicG9vclwiOm4+eVswXT9cIm5lZWRzLWltcHJvdmVtZW50XCI6XCJnb29kXCJ9KHkudmFsdWUsVCksbih5KSl9fSxOPS0xLHY9ZnVuY3Rpb24oKXtyZXR1cm5cImhpZGRlblwiIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlfHxkb2N1bWVudC5wcmVyZW5kZXJpbmc/MS8wOjB9LG09ZnVuY3Rpb24oKXtkKChmdW5jdGlvbihuKXt2YXIgeT1uLnRpbWVTdGFtcDtOPXl9KSwhMCl9LGg9ZnVuY3Rpb24oKXtyZXR1cm4gTjwwJiYoTj12KCksbSgpLG8oKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtOPXYoKSxtKCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gTn19fSxnPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgVCxDPVsxODAwLDNlM10sdz1oKCksUD1mKFwiRkNQXCIpLGM9ZnVuY3Rpb24obil7bi5mb3JFYWNoKChmdW5jdGlvbihuKXtcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIj09PW4ubmFtZSYmKGsmJmsuZGlzY29ubmVjdCgpLG4uc3RhcnRUaW1lPHcuZmlyc3RIaWRkZW5UaW1lJiYoUC52YWx1ZT1uLnN0YXJ0VGltZS11KCksUC5lbnRyaWVzLnB1c2gobiksVCghMCkpKX0pKX0sST13aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIilbMF0saz1JP251bGw6cyhcInBhaW50XCIsYyk7KEl8fGspJiYoVD1sKG4sUCxDLHkucmVwb3J0QWxsQ2hhbmdlcyksSSYmYyhbSV0pLG8oKGZ1bmN0aW9uKHcpe1A9ZihcIkZDUFwiKSxUPWwobixQLEMseS5yZXBvcnRBbGxDaGFuZ2VzKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe1AudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktdy50aW1lU3RhbXAsVCghMCl9KSl9KSl9KSkpfSxqPSExLHE9LTEsRT1mdW5jdGlvbihuLHkpe3k9eXx8e307dmFyIFQ9Wy4xLC4yNV07anx8KGcoKGZ1bmN0aW9uKG4pe3E9bi52YWx1ZX0pKSxqPSEwKTt2YXIgQyxpPWZ1bmN0aW9uKHkpe3E+LTEmJm4oeSl9LHc9ZihcIkNMU1wiLDApLFA9MCxJPVtdLHA9ZnVuY3Rpb24obil7bi5mb3JFYWNoKChmdW5jdGlvbihuKXtpZighbi5oYWRSZWNlbnRJbnB1dCl7dmFyIHk9SVswXSxUPUlbSS5sZW5ndGgtMV07UCYmbi5zdGFydFRpbWUtVC5zdGFydFRpbWU8MWUzJiZuLnN0YXJ0VGltZS15LnN0YXJ0VGltZTw1ZTM/KFArPW4udmFsdWUsSS5wdXNoKG4pKTooUD1uLnZhbHVlLEk9W25dKSxQPncudmFsdWUmJih3LnZhbHVlPVAsdy5lbnRyaWVzPUksQygpKX19KSl9LGs9cyhcImxheW91dC1zaGlmdFwiLHApO2smJihDPWwoaSx3LFQseS5yZXBvcnRBbGxDaGFuZ2VzKSxkKChmdW5jdGlvbigpe3Aoay50YWtlUmVjb3JkcygpKSxDKCEwKX0pKSxvKChmdW5jdGlvbigpe1A9MCxxPS0xLHc9ZihcIkNMU1wiLDApLEM9bChpLHcsVCx5LnJlcG9ydEFsbENoYW5nZXMpfSkpKX0seD17cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSx6PW5ldyBEYXRlLEw9ZnVuY3Rpb24obix5KXtUfHwoVD15LEM9bix3PW5ldyBEYXRlLEEocmVtb3ZlRXZlbnRMaXN0ZW5lciksUygpKX0sUz1mdW5jdGlvbigpe2lmKEM+PTAmJkM8dy16KXt2YXIgbj17ZW50cnlUeXBlOlwiZmlyc3QtaW5wdXRcIixuYW1lOlQudHlwZSx0YXJnZXQ6VC50YXJnZXQsY2FuY2VsYWJsZTpULmNhbmNlbGFibGUsc3RhcnRUaW1lOlQudGltZVN0YW1wLHByb2Nlc3NpbmdTdGFydDpULnRpbWVTdGFtcCtDfTtQLmZvckVhY2goKGZ1bmN0aW9uKHkpe3kobil9KSksUD1bXX19LGI9ZnVuY3Rpb24obil7aWYobi5jYW5jZWxhYmxlKXt2YXIgeT0obi50aW1lU3RhbXA+MWUxMj9uZXcgRGF0ZTpwZXJmb3JtYW5jZS5ub3coKSktbi50aW1lU3RhbXA7XCJwb2ludGVyZG93blwiPT1uLnR5cGU/ZnVuY3Rpb24obix5KXt2YXIgdD1mdW5jdGlvbigpe0wobix5KSxpKCl9LHI9ZnVuY3Rpb24oKXtpKCl9LGk9ZnVuY3Rpb24oKXtyZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsdCx4KSxyZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmNhbmNlbFwiLHIseCl9O2FkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LHgpLGFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscix4KX0oeSxuKTpMKHksbil9fSxBPWZ1bmN0aW9uKG4pe1tcIm1vdXNlZG93blwiLFwia2V5ZG93blwiLFwidG91Y2hzdGFydFwiLFwicG9pbnRlcmRvd25cIl0uZm9yRWFjaCgoZnVuY3Rpb24oeSl7cmV0dXJuIG4oeSxiLHgpfSkpfSxGPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgdyxJPVsxMDAsMzAwXSxrPWgoKSxOPWYoXCJGSURcIiksdj1mdW5jdGlvbihuKXtuLnN0YXJ0VGltZTxrLmZpcnN0SGlkZGVuVGltZSYmKE4udmFsdWU9bi5wcm9jZXNzaW5nU3RhcnQtbi5zdGFydFRpbWUsTi5lbnRyaWVzLnB1c2gobiksdyghMCkpfSxtPWZ1bmN0aW9uKG4pe24uZm9yRWFjaCh2KX0saj1zKFwiZmlyc3QtaW5wdXRcIixtKTt3PWwobixOLEkseS5yZXBvcnRBbGxDaGFuZ2VzKSxqJiZkKChmdW5jdGlvbigpe20oai50YWtlUmVjb3JkcygpKSxqLmRpc2Nvbm5lY3QoKX0pLCEwKSxqJiZvKChmdW5jdGlvbigpe3ZhciBrO049ZihcIkZJRFwiKSx3PWwobixOLEkseS5yZXBvcnRBbGxDaGFuZ2VzKSxQPVtdLEM9LTEsVD1udWxsLEEoYWRkRXZlbnRMaXN0ZW5lciksaz12LFAucHVzaChrKSxTKCl9KSl9LEo9MCxLPTEvMCxRPTAsTT1mdW5jdGlvbihuKXtuLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uaW50ZXJhY3Rpb25JZCYmKEs9TWF0aC5taW4oSyxuLmludGVyYWN0aW9uSWQpLFE9TWF0aC5tYXgoUSxuLmludGVyYWN0aW9uSWQpLEo9UT8oUS1LKS83KzE6MCl9KSl9LEI9ZnVuY3Rpb24oKXtyZXR1cm4gST9KOnBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnR8fDB9LEQ9ZnVuY3Rpb24oKXtcImludGVyYWN0aW9uQ291bnRcImluIHBlcmZvcm1hbmNlfHxJfHwoST1zKFwiZXZlbnRcIixNLHt0eXBlOlwiZXZlbnRcIixidWZmZXJlZDohMCxkdXJhdGlvblRocmVzaG9sZDowfSkpfSxVPTAsUj1mdW5jdGlvbigpe3JldHVybiBCKCktVX0sVj1bXSxXPXt9LEg9ZnVuY3Rpb24obil7dmFyIHk9VltWLmxlbmd0aC0xXSxUPVdbbi5pbnRlcmFjdGlvbklkXTtpZihUfHxWLmxlbmd0aDwxMHx8bi5kdXJhdGlvbj55LmxhdGVuY3kpe2lmKFQpVC5lbnRyaWVzLnB1c2gobiksVC5sYXRlbmN5PU1hdGgubWF4KFQubGF0ZW5jeSxuLmR1cmF0aW9uKTtlbHNle3ZhciBDPXtpZDpuLmludGVyYWN0aW9uSWQsbGF0ZW5jeTpuLmR1cmF0aW9uLGVudHJpZXM6W25dfTtXW0MuaWRdPUMsVi5wdXNoKEMpfVYuc29ydCgoZnVuY3Rpb24obix5KXtyZXR1cm4geS5sYXRlbmN5LW4ubGF0ZW5jeX0pKSxWLnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZGVsZXRlIFdbbi5pZF19KSl9fSxPPWZ1bmN0aW9uKG4seSl7eT15fHx7fTt2YXIgVD1bMjAwLDUwMF07RCgpO3ZhciBDLHc9ZihcIklOUFwiKSxhPWZ1bmN0aW9uKG4pe24uZm9yRWFjaCgoZnVuY3Rpb24obil7KG4uaW50ZXJhY3Rpb25JZCYmSChuKSxcImZpcnN0LWlucHV0XCI9PT1uLmVudHJ5VHlwZSkmJighVi5zb21lKChmdW5jdGlvbih5KXtyZXR1cm4geS5lbnRyaWVzLnNvbWUoKGZ1bmN0aW9uKHkpe3JldHVybiBuLmR1cmF0aW9uPT09eS5kdXJhdGlvbiYmbi5zdGFydFRpbWU9PT15LnN0YXJ0VGltZX0pKX0pKSYmSChuKSl9KSk7dmFyIHksVD0oeT1NYXRoLm1pbihWLmxlbmd0aC0xLE1hdGguZmxvb3IoUigpLzUwKSksVlt5XSk7VCYmVC5sYXRlbmN5IT09dy52YWx1ZSYmKHcudmFsdWU9VC5sYXRlbmN5LHcuZW50cmllcz1ULmVudHJpZXMsQygpKX0sUD1zKFwiZXZlbnRcIixhLHtkdXJhdGlvblRocmVzaG9sZDp5LmR1cmF0aW9uVGhyZXNob2xkfHw0MH0pO0M9bChuLHcsVCx5LnJlcG9ydEFsbENoYW5nZXMpLFAmJihQLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksZCgoZnVuY3Rpb24oKXthKFAudGFrZVJlY29yZHMoKSksdy52YWx1ZTwwJiZSKCk+MCYmKHcudmFsdWU9MCx3LmVudHJpZXM9W10pLEMoITApfSkpLG8oKGZ1bmN0aW9uKCl7Vj1bXSxVPUIoKSx3PWYoXCJJTlBcIiksQz1sKG4sdyxULHkucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSxYPXt9LF89ZnVuY3Rpb24obix5KXt5PXl8fHt9O3ZhciBULEM9WzI1MDAsNGUzXSx3PWgoKSxQPWYoXCJMQ1BcIiksYz1mdW5jdGlvbihuKXt2YXIgeT1uW24ubGVuZ3RoLTFdO2lmKHkpe3ZhciBDPXkuc3RhcnRUaW1lLXUoKTtDPHcuZmlyc3RIaWRkZW5UaW1lJiYoUC52YWx1ZT1DLFAuZW50cmllcz1beV0sVCgpKX19LEk9cyhcImxhcmdlc3QtY29udGVudGZ1bC1wYWludFwiLGMpO2lmKEkpe1Q9bChuLFAsQyx5LnJlcG9ydEFsbENoYW5nZXMpO3ZhciB2PWZ1bmN0aW9uKCl7WFtQLmlkXXx8KGMoSS50YWtlUmVjb3JkcygpKSxJLmRpc2Nvbm5lY3QoKSxYW1AuaWRdPSEwLFQoITApKX07W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24obil7YWRkRXZlbnRMaXN0ZW5lcihuLHYse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLGQodiwhMCksbygoZnVuY3Rpb24odyl7UD1mKFwiTENQXCIpLFQ9bChuLFAsQyx5LnJlcG9ydEFsbENoYW5nZXMpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7UC52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS13LnRpbWVTdGFtcCxYW1AuaWRdPSEwLFQoITApfSkpfSkpfSkpfX0sWT1mdW5jdGlvbiBlKG4pe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6XCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLChmdW5jdGlvbigpe3JldHVybiBlKG4pfSksITApOnNldFRpbWVvdXQobiwwKX0sRz1mdW5jdGlvbihuLHkpe3k9eXx8e307dmFyIFQ9WzgwMCwxODAwXSxDPWYoXCJUVEZCXCIpLHc9bChuLEMsVCx5LnJlcG9ydEFsbENoYW5nZXMpO1koKGZ1bmN0aW9uKCl7dmFyIFA9YygpO2lmKFApe2lmKEMudmFsdWU9TWF0aC5tYXgoUC5yZXNwb25zZVN0YXJ0LXUoKSwwKSxDLnZhbHVlPDB8fEMudmFsdWU+cGVyZm9ybWFuY2Uubm93KCkpcmV0dXJuO0MuZW50cmllcz1bUF0sdyghMCksbygoZnVuY3Rpb24oKXtDPWYoXCJUVEZCXCIsMCksKHc9bChuLEMsVCx5LnJlcG9ydEFsbENoYW5nZXMpKSghMCl9KSl9fSkpfTttb2R1bGUuZXhwb3J0cz15fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/web-vitals/web-vitals.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-api-route.js": -/*!****************************************************!*\ - !*** ./node_modules/next/dist/lib/is-api-route.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isAPIRoute\", ({\n enumerable: true,\n get: function() {\n return isAPIRoute;\n }\n}));\nfunction isAPIRoute(value) {\n return value === \"/api\" || Boolean(value == null ? void 0 : value.startsWith(\"/api/\"));\n}\n\n//# sourceMappingURL=is-api-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1hcGktcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRiw4Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtYXBpLXJvdXRlLmpzPzE2ODEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0FQSVJvdXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0FQSVJvdXRlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNBUElSb3V0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gXCIvYXBpXCIgfHwgQm9vbGVhbih2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuc3RhcnRzV2l0aChcIi9hcGkvXCIpKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtYXBpLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-api-route.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/lib/is-error.js": -/*!************************************************!*\ - !*** ./node_modules/next/dist/lib/is-error.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtZXJyb3IuanM/MTc4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgZ2V0UHJvcGVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Vycm9yO1xuICAgIH0sXG4gICAgZ2V0UHJvcGVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJvcGVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaXNwbGFpbm9iamVjdCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdFwiKTtcbmZ1bmN0aW9uIGlzRXJyb3IoZXJyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnIgPT09IFwib2JqZWN0XCIgJiYgZXJyICE9PSBudWxsICYmIFwibmFtZVwiIGluIGVyciAmJiBcIm1lc3NhZ2VcIiBpbiBlcnI7XG59XG5mdW5jdGlvbiBnZXRQcm9wZXJFcnJvcihlcnIpIHtcbiAgICBpZiAoaXNFcnJvcihlcnIpKSB7XG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIC8vIHByb3ZpZGUgYmV0dGVyIGVycm9yIGZvciBjYXNlIHdoZXJlIGB0aHJvdyB1bmRlZmluZWRgXG4gICAgICAgIC8vIGlzIGNhbGxlZCBpbiBkZXZlbG9wbWVudFxuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkFuIHVuZGVmaW5lZCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnIgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJBIG51bGwgZXJyb3Igd2FzIHRocm93biwgXCIgKyBcInNlZSBoZXJlIGZvciBtb3JlIGluZm86IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3RocmV3LXVuZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEVycm9yKCgwLCBfaXNwbGFpbm9iamVjdC5pc1BsYWluT2JqZWN0KShlcnIpID8gSlNPTi5zdHJpbmdpZnkoZXJyKSA6IGVyciArIFwiXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1lcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanM/MzVjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBudWxsLFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBudWxsLFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTO1xuICAgIH0sXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyA9IFtcbiAgICBcIiguLikoLi4pXCIsXG4gICAgXCIoLilcIixcbiAgICBcIiguLilcIixcbiAgICBcIiguLi4pXCJcbl07XG5mdW5jdGlvbiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChwYXRoKSB7XG4gICAgLy8gVE9ETy1BUFA6IGFkZCBtb3JlIHNlcmlvdXMgdmFsaWRhdGlvblxuICAgIHJldHVybiBwYXRoLnNwbGl0KFwiL1wiKS5maW5kKChzZWdtZW50KT0+SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbihwYXRoKSB7XG4gICAgbGV0IGludGVyY2VwdGluZ1JvdXRlLCBtYXJrZXIsIGludGVyY2VwdGVkUm91dGU7XG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc3BsaXQoXCIvXCIpKXtcbiAgICAgICAgbWFya2VyID0gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgICAgIFtpbnRlcmNlcHRpbmdSb3V0ZSwgaW50ZXJjZXB0ZWRSb3V0ZV0gPSBwYXRoLnNwbGl0KG1hcmtlciwgMik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWludGVyY2VwdGluZ1JvdXRlIHx8ICFtYXJrZXIgfHwgIWludGVyY2VwdGVkUm91dGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApO1xuICAgIH1cbiAgICBpbnRlcmNlcHRpbmdSb3V0ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoaW50ZXJjZXB0aW5nUm91dGUpIC8vIG5vcm1hbGl6ZSB0aGUgcGF0aCwgZS5nLiAvKGJsb2cpL2ZlZWQgLT4gL2ZlZWRcbiAgICA7XG4gICAgc3dpdGNoKG1hcmtlcil7XG4gICAgICAgIGNhc2UgXCIoLilcIjpcbiAgICAgICAgICAgIC8vICguKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggd2l0aCBzaWJsaW5nIHJvdXRlcywgc28gd2UganVzdCBuZWVkIHRvIGFwcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGUgdG8gdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBgLyR7aW50ZXJjZXB0ZWRSb3V0ZX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUgKyBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLilcIjpcbiAgICAgICAgICAgIC8vICguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IG9uZSBsZXZlbCB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCwgdXNlICguKSBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uLikgd2lsbCBtYXRjaCB0aGUgcm91dGUgc2VnbWVudCBpbiB0aGUgcm9vdCBkaXJlY3RvcnksIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSByb290IGRpcmVjdG9yeSB0byBwcmVwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKSguLilcIjpcbiAgICAgICAgICAgIC8vICguLikoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCB0d28gbGV2ZWxzIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCB0d28gc2VnbWVudHMgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgY29uc3Qgc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChzcGxpdEludGVyY2VwdGluZ1JvdXRlLmxlbmd0aCA8PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUuc2xpY2UoMCwgLTIpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW50ZXJjZXB0aW5nUm91dGUsXG4gICAgICAgIGludGVyY2VwdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmNlcHRpb24tcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/cjs/react-dom.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar Scheduler = __webpack_require__(/*! scheduler */ \"./node_modules/scheduler/index.js\");\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for <textarea> elements\nvar warnAboutStringRefs = false; // -----------------------------------------------------------------------------\n// Debugging and DevTools\n// -----------------------------------------------------------------------------\n// Adds user timing marks for e.g. state updates, suspense, and work loop stuff,\n// for an experimental timeline tool.\n\nvar enableSchedulingProfiler = true; // Helps identify side effects in render-phase lifecycle hooks and setState\n\nvar enableProfilerTimer = true; // Record durations for commit and passive effects phases.\n\nvar enableProfilerCommitHooks = true; // Phase param passed to onRender callback differentiates between an \"update\" and a \"cascading-update\".\n\nvar allNativeEvents = new Set();\n/**\n * Mapping from registration name to event name\n */\n\n\nvar registrationNameDependencies = {};\n/**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in true.\n * @type {Object}\n */\n\nvar possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true\n\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + 'Capture', dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n {\n if (registrationNameDependencies[registrationName]) {\n error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName);\n }\n }\n\n registrationNameDependencies[registrationName] = dependencies;\n\n {\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n\n for (var i = 0; i < dependencies.length; i++) {\n allNativeEvents.add(dependencies[i]);\n }\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\n\nfunction checkAttributeStringCoercion(value, attributeName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` attribute is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', attributeName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkPropStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` prop is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkCSSPropertyStringCoercion(value, propName) {\n {\n if (willCoercionThrow(value)) {\n error('The provided `%s` CSS property is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', propName, typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkHtmlStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided HTML markup uses a value of unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\nfunction checkFormFieldValueStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('Form field values (value, checked, defaultValue, or defaultChecked props)' + ' must be strings, not %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nvar RESERVED = 0; // A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\n\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\n\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\n\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\n\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\n\nvar POSITIVE_NUMERIC = 6;\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\n return true;\n }\n\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n\n {\n error('Invalid attribute name: `%s`', attributeName);\n }\n\n return false;\n}\nfunction shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null) {\n return propertyInfo.type === RESERVED;\n }\n\n if (isCustomComponentTag) {\n return false;\n }\n\n if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {\n return true;\n }\n\n return false;\n}\nfunction shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {\n if (propertyInfo !== null && propertyInfo.type === RESERVED) {\n return false;\n }\n\n switch (typeof value) {\n case 'function': // $FlowIssue symbol is perfectly valid here\n\n case 'symbol':\n // eslint-disable-line\n return true;\n\n case 'boolean':\n {\n if (isCustomComponentTag) {\n return false;\n }\n\n if (propertyInfo !== null) {\n return !propertyInfo.acceptsBooleans;\n } else {\n var prefix = name.toLowerCase().slice(0, 5);\n return prefix !== 'data-' && prefix !== 'aria-';\n }\n }\n\n default:\n return false;\n }\n}\nfunction shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {\n if (value === null || typeof value === 'undefined') {\n return true;\n }\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {\n return true;\n }\n\n if (isCustomComponentTag) {\n\n return false;\n }\n\n if (propertyInfo !== null) {\n\n switch (propertyInfo.type) {\n case BOOLEAN:\n return !value;\n\n case OVERLOADED_BOOLEAN:\n return value === false;\n\n case NUMERIC:\n return isNaN(value);\n\n case POSITIVE_NUMERIC:\n return isNaN(value) || value < 1;\n }\n }\n\n return false;\n}\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {\n this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n} // When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\n\n\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\n\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\n// elements (not just inputs). Now that ReactDOMInput assigns to the\n// defaultValue property -- do we need this?\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\n\nreservedProps.forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\n var name = _ref[0],\n attributeName = _ref[1];\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML boolean attributes.\n\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\n// on the client side because the browsers are inconsistent. Instead we call focus().\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\n'itemScope'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\n// disabled with `removeAttribute`. We have special logic for handling this.\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be positive numbers.\n\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These are HTML attributes that must be numbers.\n\n['rowSpan', 'start'].forEach(function (name) {\n properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n});\nvar CAMELIZE = /[\\-\\:]([a-z])/g;\n\nvar capitalize = function (token) {\n return token[1].toUpperCase();\n}; // This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n\n\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // String SVG attributes with the xlink namespace.\n\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL\n false);\n}); // String SVG attributes with the xml namespace.\n\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n var name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL\n false);\n}); // These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false);\n}); // These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\n\nvar xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\n'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL\nfalse);\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\n properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true);\n});\n\n// and any newline or tab are filtered out as if they're not part of the URL.\n// https://url.spec.whatwg.org/#url-parsing\n// Tab or newline are defined as \\r\\n\\t:\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\n// A C0 control is a code point in the range \\u0000 NULL to \\u001F\n// INFORMATION SEPARATOR ONE, inclusive:\n// https://infra.spec.whatwg.org/#c0-control-or-space\n\n/* eslint-disable max-len */\n\nvar isJavaScriptProtocol = /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i;\nvar didWarn = false;\n\nfunction sanitizeURL(url) {\n {\n if (!didWarn && isJavaScriptProtocol.test(url)) {\n didWarn = true;\n\n error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));\n }\n }\n}\n\n/**\n * Get the value for a property on a node. Only used in DEV for SSR validation.\n * The \"expected\" argument is used as a hint of what the expected value is.\n * Some properties have multiple equivalent values.\n */\nfunction getValueForProperty(node, name, expected, propertyInfo) {\n {\n if (propertyInfo.mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n return node[propertyName];\n } else {\n // This check protects multiple uses of `expected`, which is why the\n // react-internal/safe-string-coercion rule is disabled in several spots\n // below.\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if ( propertyInfo.sanitizeURL) {\n // If we haven't fully disabled javascript: URLs, and if\n // the hydration is successful of a javascript: URL, we\n // still want to warn on the client.\n // eslint-disable-next-line react-internal/safe-string-coercion\n sanitizeURL('' + expected);\n }\n\n var attributeName = propertyInfo.attributeName;\n var stringValue = null;\n\n if (propertyInfo.type === OVERLOADED_BOOLEAN) {\n if (node.hasAttribute(attributeName)) {\n var value = node.getAttribute(attributeName);\n\n if (value === '') {\n return true;\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return value;\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n } else if (node.hasAttribute(attributeName)) {\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n // We had an attribute but shouldn't have had one, so read it\n // for the error message.\n return node.getAttribute(attributeName);\n }\n\n if (propertyInfo.type === BOOLEAN) {\n // If this was a boolean, it doesn't matter what the value is\n // the fact that we have it is the same as the expected.\n return expected;\n } // Even if this property uses a namespace we use getAttribute\n // because we assume its namespaced name is the same as our config.\n // To use getAttributeNS we need the local name which we don't have\n // in our config atm.\n\n\n stringValue = node.getAttribute(attributeName);\n }\n\n if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\n return stringValue === null ? expected : stringValue; // eslint-disable-next-line react-internal/safe-string-coercion\n } else if (stringValue === '' + expected) {\n return expected;\n } else {\n return stringValue;\n }\n }\n }\n}\n/**\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\n * The third argument is used as a hint of what the expected value is. Some\n * attributes have multiple equivalent values.\n */\n\nfunction getValueForAttribute(node, name, expected, isCustomComponentTag) {\n {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (!node.hasAttribute(name)) {\n return expected === undefined ? undefined : null;\n }\n\n var value = node.getAttribute(name);\n\n {\n checkAttributeStringCoercion(expected, name);\n }\n\n if (value === '' + expected) {\n return expected;\n }\n\n return value;\n }\n}\n/**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n\nfunction setValueForProperty(node, name, value, isCustomComponentTag) {\n var propertyInfo = getPropertyInfo(name);\n\n if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {\n return;\n }\n\n if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {\n value = null;\n }\n\n\n if (isCustomComponentTag || propertyInfo === null) {\n if (isAttributeNameSafe(name)) {\n var _attributeName = name;\n\n if (value === null) {\n node.removeAttribute(_attributeName);\n } else {\n {\n checkAttributeStringCoercion(value, name);\n }\n\n node.setAttribute(_attributeName, '' + value);\n }\n }\n\n return;\n }\n\n var mustUseProperty = propertyInfo.mustUseProperty;\n\n if (mustUseProperty) {\n var propertyName = propertyInfo.propertyName;\n\n if (value === null) {\n var type = propertyInfo.type;\n node[propertyName] = type === BOOLEAN ? false : '';\n } else {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyName] = value;\n }\n\n return;\n } // The rest are treated as attributes with special cases.\n\n\n var attributeName = propertyInfo.attributeName,\n attributeNamespace = propertyInfo.attributeNamespace;\n\n if (value === null) {\n node.removeAttribute(attributeName);\n } else {\n var _type = propertyInfo.type;\n var attributeValue;\n\n if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {\n // If attribute type is boolean, we know for sure it won't be an execution sink\n // and we won't require Trusted Type here.\n attributeValue = '';\n } else {\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n {\n {\n checkAttributeStringCoercion(value, attributeName);\n }\n\n attributeValue = '' + value;\n }\n\n if (propertyInfo.sanitizeURL) {\n sanitizeURL(attributeValue.toString());\n }\n }\n\n if (attributeNamespace) {\n node.setAttributeNS(attributeNamespace, attributeName, attributeValue);\n } else {\n node.setAttribute(attributeName, attributeValue);\n }\n }\n}\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_SCOPE_TYPE = Symbol.for('react.scope');\nvar REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for('react.debug_trace_mode');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\n\nfunction describeClassComponentFrame(ctor, source, ownerFn) {\n {\n return describeNativeComponentFrame(ctor, true);\n }\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nfunction describeFiber(fiber) {\n var owner = fiber._debugOwner ? fiber._debugOwner.type : null ;\n var source = fiber._debugSource ;\n\n switch (fiber.tag) {\n case HostComponent:\n return describeBuiltInComponentFrame(fiber.type);\n\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(fiber.type);\n\n case ForwardRef:\n return describeFunctionComponentFrame(fiber.type.render);\n\n case ClassComponent:\n return describeClassComponentFrame(fiber.type);\n\n default:\n return '';\n }\n}\n\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = '';\n var node = workInProgress;\n\n do {\n info += describeFiber(node);\n node = node.return;\n } while (node);\n\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nfunction getWrappedName$1(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n} // Keep in sync with shared/getComponentNameFromType\n\n\nfunction getContextName$1(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentNameFromFiber(fiber) {\n var tag = fiber.tag,\n type = fiber.type;\n\n switch (tag) {\n case CacheComponent:\n return 'Cache';\n\n case ContextConsumer:\n var context = type;\n return getContextName$1(context) + '.Consumer';\n\n case ContextProvider:\n var provider = type;\n return getContextName$1(provider._context) + '.Provider';\n\n case DehydratedFragment:\n return 'DehydratedFragment';\n\n case ForwardRef:\n return getWrappedName$1(type, type.render, 'ForwardRef');\n\n case Fragment:\n return 'Fragment';\n\n case HostComponent:\n // Host component type is the display name (e.g. \"div\", \"View\")\n return type;\n\n case HostPortal:\n return 'Portal';\n\n case HostRoot:\n return 'Root';\n\n case HostText:\n return 'Text';\n\n case LazyComponent:\n // Name comes from the type in this case; we don't have a tag.\n return getComponentNameFromType(type);\n\n case Mode:\n if (type === REACT_STRICT_MODE_TYPE) {\n // Don't be less specific than shared/getComponentNameFromType\n return 'StrictMode';\n }\n\n return 'Mode';\n\n case OffscreenComponent:\n return 'Offscreen';\n\n case Profiler:\n return 'Profiler';\n\n case ScopeComponent:\n return 'Scope';\n\n case SuspenseComponent:\n return 'Suspense';\n\n case SuspenseListComponent:\n return 'SuspenseList';\n\n case TracingMarkerComponent:\n return 'TracingMarker';\n // The display name for this tags come from the user-provided type:\n\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n break;\n\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar current = null;\nvar isRendering = false;\nfunction getCurrentFiberOwnerNameInDevOrNull() {\n {\n if (current === null) {\n return null;\n }\n\n var owner = current._debugOwner;\n\n if (owner !== null && typeof owner !== 'undefined') {\n return getComponentNameFromFiber(owner);\n }\n }\n\n return null;\n}\n\nfunction getCurrentFiberStackInDev() {\n {\n if (current === null) {\n return '';\n } // Safe because if current fiber exists, we are reconciling,\n // and it is guaranteed to be the work-in-progress version.\n\n\n return getStackByFiberInDevAndProd(current);\n }\n}\n\nfunction resetCurrentFiber() {\n {\n ReactDebugCurrentFrame.getCurrentStack = null;\n current = null;\n isRendering = false;\n }\n}\nfunction setCurrentFiber(fiber) {\n {\n ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;\n current = fiber;\n isRendering = false;\n }\n}\nfunction getCurrentFiber() {\n {\n return current;\n }\n}\nfunction setIsRendering(rendering) {\n {\n isRendering = rendering;\n }\n}\n\n// Flow does not allow string concatenation of most non-string types. To work\n// around this limitation, we use an opaque type that can only be obtained by\n// passing the value through getToStringValue first.\nfunction toString(value) {\n // The coercion safety check is performed in getToStringValue().\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n\n case 'object':\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n return value;\n\n default:\n // function, symbol are assigned as empty strings\n return '';\n }\n}\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\nfunction checkControlledValueProps(tagName, props) {\n {\n if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) {\n error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n\n if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) {\n error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n }\n }\n}\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(node) {\n return node._valueTracker;\n}\n\nfunction detachTracker(node) {\n node._valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value = '';\n\n if (!node) {\n return value;\n }\n\n if (isCheckable(node)) {\n value = node.checked ? 'true' : 'false';\n } else {\n value = node.value;\n }\n\n return value;\n}\n\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n {\n checkFormFieldValueStringCoercion(node[valueField]);\n }\n\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: true,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n set.call(this, value);\n }\n }); // We could've passed this the first time\n // but it triggers a bug in IE11 and Edge 14/15.\n // Calling defineProperty() again should be equivalent.\n // https://github.com/facebook/react/issues/11768\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n var tracker = {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n {\n checkFormFieldValueStringCoercion(value);\n }\n\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(node);\n delete node[valueField];\n }\n };\n return tracker;\n}\n\nfunction track(node) {\n if (getTracker(node)) {\n return;\n } // TODO: Once it's just Fiber we can move this to node._wrapperState\n\n\n node._valueTracker = trackValueOnNode(node);\n}\nfunction updateValueIfChanged(node) {\n if (!node) {\n return false;\n }\n\n var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\n // that trying again will succeed\n\n if (!tracker) {\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(node);\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n}\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\n\nfunction getHostProps(element, props) {\n var node = element;\n var checked = props.checked;\n var hostProps = assign({}, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: undefined,\n checked: checked != null ? checked : node._wrapperState.initialChecked\n });\n return hostProps;\n}\nfunction initWrapperState(element, props) {\n {\n checkControlledValueProps('input', props);\n\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\n\n didWarnValueDefaultValue = true;\n }\n }\n\n var node = element;\n var defaultValue = props.defaultValue == null ? '' : props.defaultValue;\n node._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: getToStringValue(props.value != null ? props.value : defaultValue),\n controlled: isControlled(props)\n };\n}\nfunction updateChecked(element, props) {\n var node = element;\n var checked = props.checked;\n\n if (checked != null) {\n setValueForProperty(node, 'checked', checked, false);\n }\n}\nfunction updateWrapper(element, props) {\n var node = element;\n\n {\n var controlled = isControlled(props);\n\n if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnUncontrolledToControlled = true;\n }\n\n if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components');\n\n didWarnControlledToUncontrolled = true;\n }\n }\n\n updateChecked(element, props);\n var value = getToStringValue(props.value);\n var type = props.type;\n\n if (value != null) {\n if (type === 'number') {\n if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\n // eslint-disable-next-line\n node.value != value) {\n node.value = toString(value);\n }\n } else if (node.value !== toString(value)) {\n node.value = toString(value);\n }\n } else if (type === 'submit' || type === 'reset') {\n // Submit/reset inputs need the attribute removed completely to avoid\n // blank-text buttons.\n node.removeAttribute('value');\n return;\n }\n\n {\n // When syncing the value attribute, the value comes from a cascade of\n // properties:\n // 1. The value React property\n // 2. The defaultValue React property\n // 3. Otherwise there should be no change\n if (props.hasOwnProperty('value')) {\n setDefaultValue(node, props.type, value);\n } else if (props.hasOwnProperty('defaultValue')) {\n setDefaultValue(node, props.type, getToStringValue(props.defaultValue));\n }\n }\n\n {\n // When syncing the checked attribute, it only changes when it needs\n // to be removed, such as transitioning from a checkbox into a text input\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n}\nfunction postMountWrapper(element, props, isHydrating) {\n var node = element; // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {\n var type = props.type;\n var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\n // default value provided by the browser. See: #12872\n\n if (isButton && (props.value === undefined || props.value === null)) {\n return;\n }\n\n var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input\n // from being lost during SSR hydration.\n\n if (!isHydrating) {\n {\n // When syncing the value attribute, the value property should use\n // the wrapperState._initialValue property. This uses:\n //\n // 1. The value React property when present\n // 2. The defaultValue React property when present\n // 3. An empty string\n if (initialValue !== node.value) {\n node.value = initialValue;\n }\n }\n }\n\n {\n // Otherwise, the value attribute is synchronized to the property,\n // so we assign defaultValue to the same thing as the value property\n // assignment step above.\n node.defaultValue = initialValue;\n }\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var name = node.name;\n\n if (name !== '') {\n node.name = '';\n }\n\n {\n // When syncing the checked attribute, both the checked property and\n // attribute are assigned at the same time using defaultChecked. This uses:\n //\n // 1. The checked React property when present\n // 2. The defaultChecked React property when present\n // 3. Otherwise, false\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !!node._wrapperState.initialChecked;\n }\n\n if (name !== '') {\n node.name = name;\n }\n}\nfunction restoreControlledState(element, props) {\n var node = element;\n updateWrapper(node, props);\n updateNamedCousins(node, props);\n}\n\nfunction updateNamedCousins(rootNode, props) {\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form. It might not even be in the\n // document. Let's just use the local `querySelectorAll` to ensure we don't\n // miss anything.\n\n\n {\n checkAttributeStringCoercion(name, 'name');\n }\n\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherProps = getFiberCurrentPropsFromNode(otherNode);\n\n if (!otherProps) {\n throw new Error('ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.');\n } // We need update the tracked value on the named cousin since the value\n // was changed but the input saw no event or value set\n\n\n updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n updateWrapper(otherNode, otherProps);\n }\n }\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\n// For number inputs, the display value loses trailing decimal points. For email inputs,\n// Chrome raises \"The specified value <x> is not a valid email address\".\n//\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\n// when the user is inputting text\n//\n// https://github.com/facebook/react/issues/7253\n\n\nfunction setDefaultValue(node, type, value) {\n if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\n type !== 'number' || getActiveElement(node.ownerDocument) !== node) {\n if (value == null) {\n node.defaultValue = toString(node._wrapperState.initialValue);\n } else if (node.defaultValue !== toString(value)) {\n node.defaultValue = toString(value);\n }\n }\n}\n\nvar didWarnSelectedSetOnOption = false;\nvar didWarnInvalidChild = false;\nvar didWarnInvalidInnerHTML = false;\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\nfunction validateProps(element, props) {\n {\n // If a value is not provided, then the children must be simple.\n if (props.value == null) {\n if (typeof props.children === 'object' && props.children !== null) {\n React.Children.forEach(props.children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return;\n }\n\n if (!didWarnInvalidChild) {\n didWarnInvalidChild = true;\n\n error('Cannot infer the option value of complex children. ' + 'Pass a `value` prop or use a plain string as children to <option>.');\n }\n });\n } else if (props.dangerouslySetInnerHTML != null) {\n if (!didWarnInvalidInnerHTML) {\n didWarnInvalidInnerHTML = true;\n\n error('Pass a `value` prop if you set dangerouslyInnerHTML so React knows ' + 'which value should be selected.');\n }\n }\n } // TODO: Remove support for `selected` in <option>.\n\n\n if (props.selected != null && !didWarnSelectedSetOnOption) {\n error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\n\n didWarnSelectedSetOnOption = true;\n }\n }\n}\nfunction postMountWrapper$1(element, props) {\n // value=\"\" should make a value attribute (#6219)\n if (props.value != null) {\n element.setAttribute('value', toString(getToStringValue(props.value)));\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\nvar didWarnValueDefaultValue$1;\n\n{\n didWarnValueDefaultValue$1 = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n return '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n */\n\nfunction checkSelectPropTypes(props) {\n {\n checkControlledValueProps('select', props);\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var propNameIsArray = isArray(props[propName]);\n\n if (props.multiple && !propNameIsArray) {\n error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\n } else if (!props.multiple && propNameIsArray) {\n error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\n }\n }\n }\n}\n\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n var options = node.options;\n\n if (multiple) {\n var selectedValues = propValue;\n var selectedValue = {};\n\n for (var i = 0; i < selectedValues.length; i++) {\n // Prefix to avoid chaos with special keys.\n selectedValue['$' + selectedValues[i]] = true;\n }\n\n for (var _i = 0; _i < options.length; _i++) {\n var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\n\n if (options[_i].selected !== selected) {\n options[_i].selected = selected;\n }\n\n if (selected && setDefaultSelected) {\n options[_i].defaultSelected = true;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n var _selectedValue = toString(getToStringValue(propValue));\n\n var defaultSelected = null;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n if (options[_i2].value === _selectedValue) {\n options[_i2].selected = true;\n\n if (setDefaultSelected) {\n options[_i2].defaultSelected = true;\n }\n\n return;\n }\n\n if (defaultSelected === null && !options[_i2].disabled) {\n defaultSelected = options[_i2];\n }\n }\n\n if (defaultSelected !== null) {\n defaultSelected.selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nfunction getHostProps$1(element, props) {\n return assign({}, props, {\n value: undefined\n });\n}\nfunction initWrapperState$1(element, props) {\n var node = element;\n\n {\n checkSelectPropTypes(props);\n }\n\n node._wrapperState = {\n wasMultiple: !!props.multiple\n };\n\n {\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\n error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components');\n\n didWarnValueDefaultValue$1 = true;\n }\n }\n}\nfunction postMountWrapper$2(element, props) {\n var node = element;\n node.multiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n }\n}\nfunction postUpdateWrapper(element, props) {\n var node = element;\n var wasMultiple = node._wrapperState.wasMultiple;\n node._wrapperState.wasMultiple = !!props.multiple;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n } else if (wasMultiple !== !!props.multiple) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(node, !!props.multiple, props.defaultValue, true);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);\n }\n }\n}\nfunction restoreControlledState$1(element, props) {\n var node = element;\n var value = props.value;\n\n if (value != null) {\n updateOptions(node, !!props.multiple, value, false);\n }\n}\n\nvar didWarnValDefaultVal = false;\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nfunction getHostProps$2(element, props) {\n var node = element;\n\n if (props.dangerouslySetInnerHTML != null) {\n throw new Error('`dangerouslySetInnerHTML` does not make sense on <textarea>.');\n } // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this\n // solution. The value can be a boolean or object so that's why it's forced\n // to be a string.\n\n\n var hostProps = assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: toString(node._wrapperState.initialValue)\n });\n\n return hostProps;\n}\nfunction initWrapperState$2(element, props) {\n var node = element;\n\n {\n checkControlledValueProps('textarea', props);\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\n\n didWarnValDefaultVal = true;\n }\n }\n\n var initialValue = props.value; // Only bother fetching default value if we're going to use it\n\n if (initialValue == null) {\n var children = props.children,\n defaultValue = props.defaultValue;\n\n if (children != null) {\n {\n error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\n }\n\n {\n if (defaultValue != null) {\n throw new Error('If you supply `defaultValue` on a <textarea>, do not pass children.');\n }\n\n if (isArray(children)) {\n if (children.length > 1) {\n throw new Error('<textarea> can only have at most one child.');\n }\n\n children = children[0];\n }\n\n defaultValue = children;\n }\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n node._wrapperState = {\n initialValue: getToStringValue(initialValue)\n };\n}\nfunction updateWrapper$1(element, props) {\n var node = element;\n var value = getToStringValue(props.value);\n var defaultValue = getToStringValue(props.defaultValue);\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n }\n\n if (props.defaultValue == null && node.defaultValue !== newValue) {\n node.defaultValue = newValue;\n }\n }\n\n if (defaultValue != null) {\n node.defaultValue = toString(defaultValue);\n }\n}\nfunction postMountWrapper$3(element, props) {\n var node = element; // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === node._wrapperState.initialValue) {\n if (textContent !== '' && textContent !== null) {\n node.value = textContent;\n }\n }\n}\nfunction restoreControlledState$2(element, props) {\n // DOM component is still mounted; update\n updateWrapper$1(element, props);\n}\n\nvar HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; // Assumes there is no parent namespace.\n\nfunction getIntrinsicNamespace(type) {\n switch (type) {\n case 'svg':\n return SVG_NAMESPACE;\n\n case 'math':\n return MATH_NAMESPACE;\n\n default:\n return HTML_NAMESPACE;\n }\n}\nfunction getChildNamespace(parentNamespace, type) {\n if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {\n // No (or default) parent namespace: potential entry point.\n return getIntrinsicNamespace(type);\n }\n\n if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {\n // We're leaving SVG.\n return HTML_NAMESPACE;\n } // By default, pass namespace below.\n\n\n return parentNamespace;\n}\n\n/* globals MSApp */\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nvar reusableSVGContainer;\n/**\n * Set the innerHTML property of a node\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\n\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n if (node.namespaceURI === SVG_NAMESPACE) {\n\n if (!('innerHTML' in node)) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n\n return;\n }\n }\n\n node.innerHTML = html;\n});\n\n/**\n * HTML nodeType values that represent the type of the node\n */\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar DOCUMENT_NODE = 9;\nvar DOCUMENT_FRAGMENT_NODE = 11;\n\n/**\n * Set the textContent property of a node. For text updates, it's faster\n * to set the `nodeValue` of the Text node directly instead of using\n * `.textContent` which will remove the existing node and create a new one.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n};\n\n// List derived from Gecko source code:\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\nvar shorthandToLonghand = {\n animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\n background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\n backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\n border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\n borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\n borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\n borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\n borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\n borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\n borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\n borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\n borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\n columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\n columns: ['columnCount', 'columnWidth'],\n flex: ['flexBasis', 'flexGrow', 'flexShrink'],\n flexFlow: ['flexDirection', 'flexWrap'],\n font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\n fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\n gap: ['columnGap', 'rowGap'],\n grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\n gridColumn: ['gridColumnEnd', 'gridColumnStart'],\n gridColumnGap: ['columnGap'],\n gridGap: ['columnGap', 'rowGap'],\n gridRow: ['gridRowEnd', 'gridRowStart'],\n gridRowGap: ['rowGap'],\n gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n marker: ['markerEnd', 'markerMid', 'markerStart'],\n mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\n maskPosition: ['maskPositionX', 'maskPositionY'],\n outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\n overflow: ['overflowX', 'overflowY'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n placeContent: ['alignContent', 'justifyContent'],\n placeItems: ['alignItems', 'justifyItems'],\n placeSelf: ['alignSelf', 'justifySelf'],\n textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\n textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\n wordWrap: ['overflowWrap']\n};\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\nvar isUnitlessNumber = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\n\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n {\n checkCSSPropertyStringCoercion(value, name);\n }\n\n return ('' + value).trim();\n}\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\n\nfunction hyphenateStyleName(name) {\n return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\nvar warnValidStyle = function () {};\n\n{\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n var msPattern$1 = /^-ms-/;\n var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\n\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n var warnedForInfinityValue = false;\n\n var camelize = function (string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n };\n\n var warnHyphenatedStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\n // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n // is converted to lowercase `ms`.\n camelize(name.replace(msPattern$1, 'ms-')));\n };\n\n var warnBadVendoredStyleName = function (name) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n\n error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\n };\n\n var warnStyleValueWithSemicolon = function (name, value) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n\n error(\"Style property values shouldn't contain a semicolon. \" + 'Try \"%s: %s\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\n };\n\n var warnStyleValueIsNaN = function (name, value) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n\n error('`NaN` is an invalid value for the `%s` css style property.', name);\n };\n\n var warnStyleValueIsInfinity = function (name, value) {\n if (warnedForInfinityValue) {\n return;\n }\n\n warnedForInfinityValue = true;\n\n error('`Infinity` is an invalid value for the `%s` css style property.', name);\n };\n\n warnValidStyle = function (name, value) {\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value);\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n warnStyleValueIsNaN(name, value);\n } else if (!isFinite(value)) {\n warnStyleValueIsInfinity(name, value);\n }\n }\n };\n}\n\nvar warnValidStyle$1 = warnValidStyle;\n\n/**\n * Operations for dealing with CSS properties.\n */\n\n/**\n * This creates a string that is expected to be equivalent to the style\n * attribute generated by server-side rendering. It by-passes warnings and\n * security checks so it's not safe to use this value for anything other than\n * comparison. It is only used in DEV for SSR validation.\n */\n\nfunction createDangerousStringForStyles(styles) {\n {\n var serialized = '';\n var delimiter = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var styleValue = styles[styleName];\n\n if (styleValue != null) {\n var isCustomProperty = styleName.indexOf('--') === 0;\n serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);\n delimiter = ';';\n }\n }\n\n return serialized || null;\n }\n}\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n {\n if (!isCustomProperty) {\n warnValidStyle$1(styleName, styles[styleName]);\n }\n }\n\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nfunction isValueEmpty(value) {\n return value == null || typeof value === 'boolean' || value === '';\n}\n/**\n * Given {color: 'red', overflow: 'hidden'} returns {\n * color: 'color',\n * overflowX: 'overflow',\n * overflowY: 'overflow',\n * }. This can be read as \"the overflowY property was set by the overflow\n * shorthand\". That is, the values are the property that each was derived from.\n */\n\n\nfunction expandShorthandMap(styles) {\n var expanded = {};\n\n for (var key in styles) {\n var longhands = shorthandToLonghand[key] || [key];\n\n for (var i = 0; i < longhands.length; i++) {\n expanded[longhands[i]] = key;\n }\n }\n\n return expanded;\n}\n/**\n * When mixing shorthand and longhand property names, we warn during updates if\n * we expect an incorrect result to occur. In particular, we warn for:\n *\n * Updating a shorthand property (longhand gets overwritten):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\n * becomes .style.font = 'baz'\n * Removing a shorthand property (longhand gets lost too):\n * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\n * becomes .style.font = ''\n * Removing a longhand property (should revert to shorthand; doesn't):\n * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\n * becomes .style.fontVariant = ''\n */\n\n\nfunction validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {\n {\n if (!nextStyles) {\n return;\n }\n\n var expandedUpdates = expandShorthandMap(styleUpdates);\n var expandedStyles = expandShorthandMap(nextStyles);\n var warnedAbout = {};\n\n for (var key in expandedUpdates) {\n var originalKey = expandedUpdates[key];\n var correctOriginalKey = expandedStyles[key];\n\n if (correctOriginalKey && originalKey !== correctOriginalKey) {\n var warningKey = originalKey + ',' + correctOriginalKey;\n\n if (warnedAbout[warningKey]) {\n continue;\n }\n\n warnedAbout[warningKey] = true;\n\n error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \"avoid this, don't mix shorthand and non-shorthand properties \" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\n }\n }\n }\n}\n\n// For HTML, certain tags should omit their close tag. We keep a list for\n// those special-case tags.\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\n\n};\n\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = assign({\n menuitem: true\n}, omittedCloseTags);\n\nvar HTML = '__html';\n\nfunction assertValidProps(tag, props) {\n if (!props) {\n return;\n } // Note the use of `==` which checks for null or undefined.\n\n\n if (voidElementTags[tag]) {\n if (props.children != null || props.dangerouslySetInnerHTML != null) {\n throw new Error(tag + \" is a void element tag and must neither have `children` nor \" + 'use `dangerouslySetInnerHTML`.');\n }\n }\n\n if (props.dangerouslySetInnerHTML != null) {\n if (props.children != null) {\n throw new Error('Can only set one of `children` or `props.dangerouslySetInnerHTML`.');\n }\n\n if (typeof props.dangerouslySetInnerHTML !== 'object' || !(HTML in props.dangerouslySetInnerHTML)) {\n throw new Error('`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://reactjs.org/link/dangerously-set-inner-html ' + 'for more information.');\n }\n }\n\n {\n if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {\n error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\n }\n }\n\n if (props.style != null && typeof props.style !== 'object') {\n throw new Error('The `style` prop expects a mapping from style properties to values, ' + \"not a string. For example, style={{marginRight: spacing + 'em'}} when \" + 'using JSX.');\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return typeof props.is === 'string';\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this list too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n\n default:\n return true;\n }\n}\n\n// When adding attributes to the HTML or SVG allowed attribute list, be sure to\n// also add them to this module to ensure casing and incorrect name\n// warnings.\nvar possibleStandardNames = {\n // HTML\n accept: 'accept',\n acceptcharset: 'acceptCharset',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n challenge: 'challenge',\n charset: 'charSet',\n checked: 'checked',\n children: 'children',\n cite: 'cite',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlslist: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n disablepictureinpicture: 'disablePictureInPicture',\n disableremoteplayback: 'disableRemotePlayback',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n enterkeyhint: 'enterKeyHint',\n for: 'htmlFor',\n form: 'form',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n imagesizes: 'imageSizes',\n imagesrcset: 'imageSrcSet',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nomodule: 'noModule',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n // SVG\n about: 'about',\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n accumulate: 'accumulate',\n additive: 'additive',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n alphabetic: 'alphabetic',\n amplitude: 'amplitude',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n ascent: 'ascent',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n azimuth: 'azimuth',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n bbox: 'bbox',\n begin: 'begin',\n bias: 'bias',\n by: 'by',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clip: 'clip',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n color: 'color',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n cursor: 'cursor',\n cx: 'cx',\n cy: 'cy',\n d: 'd',\n datatype: 'datatype',\n decelerate: 'decelerate',\n descent: 'descent',\n diffuseconstant: 'diffuseConstant',\n direction: 'direction',\n display: 'display',\n divisor: 'divisor',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n dur: 'dur',\n dx: 'dx',\n dy: 'dy',\n edgemode: 'edgeMode',\n elevation: 'elevation',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n end: 'end',\n exponent: 'exponent',\n externalresourcesrequired: 'externalResourcesRequired',\n fill: 'fill',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filter: 'filter',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n focusable: 'focusable',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n format: 'format',\n from: 'from',\n fx: 'fx',\n fy: 'fy',\n g1: 'g1',\n g2: 'g2',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n hanging: 'hanging',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 'ideographic',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n in2: 'in2',\n in: 'in',\n inlist: 'inlist',\n intercept: 'intercept',\n k1: 'k1',\n k2: 'k2',\n k3: 'k3',\n k4: 'k4',\n k: 'k',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n kerning: 'kerning',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n local: 'local',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n mask: 'mask',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n mathematical: 'mathematical',\n mode: 'mode',\n numoctaves: 'numOctaves',\n offset: 'offset',\n opacity: 'opacity',\n operator: 'operator',\n order: 'order',\n orient: 'orient',\n orientation: 'orientation',\n origin: 'origin',\n overflow: 'overflow',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n panose1: 'panose1',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n points: 'points',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n prefix: 'prefix',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n property: 'property',\n r: 'r',\n radius: 'radius',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n resource: 'resource',\n restart: 'restart',\n result: 'result',\n results: 'results',\n rotate: 'rotate',\n rx: 'rx',\n ry: 'ry',\n scale: 'scale',\n security: 'security',\n seed: 'seed',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n slope: 'slope',\n spacing: 'spacing',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n speed: 'speed',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stemh: 'stemh',\n stemv: 'stemv',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 'string',\n stroke: 'stroke',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n to: 'to',\n transform: 'transform',\n typeof: 'typeof',\n u1: 'u1',\n u2: 'u2',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicode: 'unicode',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n values: 'values',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n version: 'version',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n visibility: 'visibility',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n vocab: 'vocab',\n widths: 'widths',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n x1: 'x1',\n x2: 'x2',\n x: 'x',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n xmlns: 'xmlns',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n y1: 'y1',\n y2: 'y2',\n y: 'y',\n ychannelselector: 'yChannelSelector',\n z: 'z',\n zoomandpan: 'zoomAndPan'\n};\n\nvar ariaProperties = {\n 'aria-current': 0,\n // state\n 'aria-description': 0,\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n};\n\nvar warnedProperties = {};\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\nfunction validateProperty(tagName, name) {\n {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) {\n return true;\n }\n\n if (rARIACamel.test(name)) {\n var ariaName = 'aria-' + name.slice(4).toLowerCase();\n var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (correctName == null) {\n error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\n\n warnedProperties[name] = true;\n return true;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== correctName) {\n error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n\n if (rARIA.test(name)) {\n var lowerCasedName = name.toLowerCase();\n var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\n // DOM properties, then it is an invalid aria-* attribute.\n\n if (standardName == null) {\n warnedProperties[name] = true;\n return false;\n } // aria-* attributes should be lowercase; suggest the lowercase version.\n\n\n if (name !== standardName) {\n error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties[name] = true;\n return true;\n }\n }\n }\n\n return true;\n}\n\nfunction warnInvalidARIAProps(type, props) {\n {\n var invalidProps = [];\n\n for (var key in props) {\n var isValid = validateProperty(type, key);\n\n if (!isValid) {\n invalidProps.push(key);\n }\n }\n\n var unknownPropString = invalidProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (invalidProps.length === 1) {\n error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n } else if (invalidProps.length > 1) {\n error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://reactjs.org/link/invalid-aria-props', unknownPropString, type);\n }\n }\n}\n\nfunction validateProperties(type, props) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnInvalidARIAProps(type, props);\n}\n\nvar didWarnValueNull = false;\nfunction validateProperties$1(type, props) {\n {\n if (type !== 'input' && type !== 'textarea' && type !== 'select') {\n return;\n }\n\n if (props != null && props.value === null && !didWarnValueNull) {\n didWarnValueNull = true;\n\n if (type === 'select' && props.multiple) {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\n } else {\n error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\n }\n }\n }\n}\n\nvar validateProperty$1 = function () {};\n\n{\n var warnedProperties$1 = {};\n var EVENT_NAME_REGEX = /^on./;\n var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\n var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\n var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\n\n validateProperty$1 = function (tagName, name, value, eventRegistry) {\n if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\n return true;\n }\n\n var lowerCasedName = name.toLowerCase();\n\n if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\n error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\n\n warnedProperties$1[name] = true;\n return true;\n } // We can't rely on the event system being injected on the server.\n\n\n if (eventRegistry != null) {\n var registrationNameDependencies = eventRegistry.registrationNameDependencies,\n possibleRegistrationNames = eventRegistry.possibleRegistrationNames;\n\n if (registrationNameDependencies.hasOwnProperty(name)) {\n return true;\n }\n\n var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\n\n if (registrationName != null) {\n error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (EVENT_NAME_REGEX.test(name)) {\n error('Unknown event handler property `%s`. It will be ignored.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (EVENT_NAME_REGEX.test(name)) {\n // If no event plugins have been injected, we are in a server environment.\n // So we can't tell if the event name is correct for sure, but we can filter\n // out known bad ones like `onclick`. We can't suggest a specific replacement though.\n if (INVALID_EVENT_NAME_REGEX.test(name)) {\n error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Let the ARIA attribute hook validate ARIA attributes\n\n\n if (rARIA$1.test(name) || rARIACamel$1.test(name)) {\n return true;\n }\n\n if (lowerCasedName === 'innerhtml') {\n error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'aria') {\n error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\n error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n var propertyInfo = getPropertyInfo(name);\n var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.\n\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n var standardName = possibleStandardNames[lowerCasedName];\n\n if (standardName !== name) {\n error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n } else if (!isReserved && name !== lowerCasedName) {\n // Unknown attributes should have lowercase casing since that's how they\n // will be cased anyway with server rendering.\n error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n if (value) {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.', value, name, name, value, name);\n } else {\n error('Received `%s` for a non-boolean attribute `%s`.\\n\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\"%s\" or %s={value.toString()}.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\n }\n\n warnedProperties$1[name] = true;\n return true;\n } // Now that we've validated casing, do not validate\n // data types for reserved props\n\n\n if (isReserved) {\n return true;\n } // Warn when a known attribute is a bad type\n\n\n if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\n warnedProperties$1[name] = true;\n return false;\n } // Warn when passing the strings 'false' or 'true' into a boolean prop\n\n\n if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {\n error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \"false\".', name, value);\n\n warnedProperties$1[name] = true;\n return true;\n }\n\n return true;\n };\n}\n\nvar warnUnknownProperties = function (type, props, eventRegistry) {\n {\n var unknownProps = [];\n\n for (var key in props) {\n var isValid = validateProperty$1(type, key, props[key], eventRegistry);\n\n if (!isValid) {\n unknownProps.push(key);\n }\n }\n\n var unknownPropString = unknownProps.map(function (prop) {\n return '`' + prop + '`';\n }).join(', ');\n\n if (unknownProps.length === 1) {\n error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n } else if (unknownProps.length > 1) {\n error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://reactjs.org/link/attribute-behavior ', unknownPropString, type);\n }\n }\n};\n\nfunction validateProperties$2(type, props, eventRegistry) {\n if (isCustomComponent(type, props)) {\n return;\n }\n\n warnUnknownProperties(type, props, eventRegistry);\n}\n\nvar IS_EVENT_HANDLE_NON_MANAGED_NODE = 1;\nvar IS_NON_DELEGATED = 1 << 1;\nvar IS_CAPTURE_PHASE = 1 << 2;\n// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when\n// we call willDeferLaterForLegacyFBSupport, thus not bailing out\n// will result in endless cycles like an infinite loop.\n// We also don't want to defer during event replaying.\n\nvar SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE;\n\n// This exists to avoid circular dependency between ReactDOMEventReplaying\n// and DOMPluginEventSystem.\nvar currentReplayingEvent = null;\nfunction setReplayingEvent(event) {\n {\n if (currentReplayingEvent !== null) {\n error('Expected currently replaying event to be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = event;\n}\nfunction resetReplayingEvent() {\n {\n if (currentReplayingEvent === null) {\n error('Expected currently replaying event to not be null. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n }\n\n currentReplayingEvent = null;\n}\nfunction isReplayingEvent(event) {\n return event === currentReplayingEvent;\n}\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n // Fallback to nativeEvent.srcElement for IE9\n // https://github.com/facebook/react/issues/12506\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === TEXT_NODE ? target.parentNode : target;\n}\n\nvar restoreImpl = null;\nvar restoreTarget = null;\nvar restoreQueue = null;\n\nfunction restoreStateOfTarget(target) {\n // We perform this translation at the end of the event loop so that we\n // always receive the correct fiber here\n var internalInstance = getInstanceFromNode(target);\n\n if (!internalInstance) {\n // Unmounted\n return;\n }\n\n if (typeof restoreImpl !== 'function') {\n throw new Error('setRestoreImplementation() needs to be called to handle a target for controlled ' + 'events. This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\n\n if (stateNode) {\n var _props = getFiberCurrentPropsFromNode(stateNode);\n\n restoreImpl(internalInstance.stateNode, internalInstance.type, _props);\n }\n}\n\nfunction setRestoreImplementation(impl) {\n restoreImpl = impl;\n}\nfunction enqueueStateRestore(target) {\n if (restoreTarget) {\n if (restoreQueue) {\n restoreQueue.push(target);\n } else {\n restoreQueue = [target];\n }\n } else {\n restoreTarget = target;\n }\n}\nfunction needsStateRestore() {\n return restoreTarget !== null || restoreQueue !== null;\n}\nfunction restoreStateIfNeeded() {\n if (!restoreTarget) {\n return;\n }\n\n var target = restoreTarget;\n var queuedTargets = restoreQueue;\n restoreTarget = null;\n restoreQueue = null;\n restoreStateOfTarget(target);\n\n if (queuedTargets) {\n for (var i = 0; i < queuedTargets.length; i++) {\n restoreStateOfTarget(queuedTargets[i]);\n }\n }\n}\n\n// the renderer. Such as when we're dispatching events or if third party\n// libraries need to call batchedUpdates. Eventually, this API will go away when\n// everything is batched by default. We'll then have a similar API to opt-out of\n// scheduled work and instead do synchronous work.\n// Defaults\n\nvar batchedUpdatesImpl = function (fn, bookkeeping) {\n return fn(bookkeeping);\n};\n\nvar flushSyncImpl = function () {};\n\nvar isInsideEventHandler = false;\n\nfunction finishEventHandler() {\n // Here we wait until all updates have propagated, which is important\n // when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n // Then we restore state of any controlled component.\n var controlledComponentsHavePendingUpdates = needsStateRestore();\n\n if (controlledComponentsHavePendingUpdates) {\n // If a controlled event was fired, we may need to restore the state of\n // the DOM node back to the controlled value. This is necessary when React\n // bails out of the update without touching the DOM.\n // TODO: Restore state in the microtask, after the discrete updates flush,\n // instead of early flushing them here.\n flushSyncImpl();\n restoreStateIfNeeded();\n }\n}\n\nfunction batchedUpdates(fn, a, b) {\n if (isInsideEventHandler) {\n // If we are currently inside another batch, we need to wait until it\n // fully completes before restoring state.\n return fn(a, b);\n }\n\n isInsideEventHandler = true;\n\n try {\n return batchedUpdatesImpl(fn, a, b);\n } finally {\n isInsideEventHandler = false;\n finishEventHandler();\n }\n} // TODO: Replace with flushSync\nfunction setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushSyncImpl) {\n batchedUpdatesImpl = _batchedUpdatesImpl;\n flushSyncImpl = _flushSyncImpl;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n case 'onMouseEnter':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n\n\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n\n if (stateNode === null) {\n // Work in progress (ex: onload events in incremental mode).\n return null;\n }\n\n var props = getFiberCurrentPropsFromNode(stateNode);\n\n if (props === null) {\n // Work in progress.\n return null;\n }\n\n var listener = props[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\n return null;\n }\n\n if (listener && typeof listener !== 'function') {\n throw new Error(\"Expected `\" + registrationName + \"` listener to be a function, instead got a value of `\" + typeof listener + \"` type.\");\n }\n\n return listener;\n}\n\nvar passiveBrowserEventsSupported = false; // Check if browser support events with passive listeners\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\nif (canUseDOM) {\n try {\n var options = {}; // $FlowFixMe: Ignore Flow complaining about needing a value\n\n Object.defineProperty(options, 'passive', {\n get: function () {\n passiveBrowserEventsSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (e) {\n passiveBrowserEventsSupported = false;\n }\n}\n\nfunction invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) {\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n try {\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n}\n\nvar invokeGuardedCallbackImpl = invokeGuardedCallbackProd;\n\n{\n // In DEV mode, we swap out invokeGuardedCallback for a special version\n // that plays more nicely with the browser's DevTools. The idea is to preserve\n // \"Pause on exceptions\" behavior. Because React wraps all user-provided\n // functions in invokeGuardedCallback, and the production version of\n // invokeGuardedCallback uses a try-catch, all user exceptions are treated\n // like caught exceptions, and the DevTools won't pause unless the developer\n // takes the extra step of enabling pause on caught exceptions. This is\n // unintuitive, though, because even though React has caught the error, from\n // the developer's perspective, the error is uncaught.\n //\n // To preserve the expected \"Pause on exceptions\" behavior, we don't use a\n // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\n // DOM node, and call the user-provided callback from inside an event handler\n // for that fake event. If the callback throws, the error is \"captured\" using\n // a global event handler. But because the error happens in a different\n // event loop context, it does not interrupt the normal program flow.\n // Effectively, this gives us try-catch behavior without actually using\n // try-catch. Neat!\n // Check that the browser supports the APIs we need to implement our special\n // DEV version of invokeGuardedCallback\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n\n invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) {\n // If document doesn't exist we know for sure we will crash in this method\n // when we call document.createEvent(). However this can cause confusing\n // errors: https://github.com/facebook/create-react-app/issues/3482\n // So we preemptively throw with a better message instead.\n if (typeof document === 'undefined' || document === null) {\n throw new Error('The `document` global was defined when React was initialized, but is not ' + 'defined anymore. This can happen in a test environment if a component ' + 'schedules an update from an asynchronous callback, but the test has already ' + 'finished running. To solve this, you can either unmount the component at ' + 'the end of your test (and ensure that any asynchronous operations get ' + 'canceled in `componentWillUnmount`), or you can change the test itself ' + 'to be asynchronous.');\n }\n\n var evt = document.createEvent('Event');\n var didCall = false; // Keeps track of whether the user-provided callback threw an error. We\n // set this to true at the beginning, then set it to false right after\n // calling the function. If the function errors, `didError` will never be\n // set to false. This strategy works even if the browser is flaky and\n // fails to call our global error handler, because it doesn't rely on\n // the error event at all.\n\n var didError = true; // Keeps track of the value of window.event so that we can reset it\n // during the callback to let user code access window.event in the\n // browsers that support it.\n\n var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\n // dispatching: https://github.com/facebook/react/issues/13688\n\n var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event');\n\n function restoreAfterDispatch() {\n // We immediately remove the callback from event listeners so that\n // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\n // nested call would trigger the fake event handlers of any call higher\n // in the stack.\n fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\n // window.event assignment in both IE <= 10 as they throw an error\n // \"Member not found\" in strict mode, and in Firefox which does not\n // support window.event.\n\n if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\n window.event = windowEvent;\n }\n } // Create an event handler for our fake event. We will synchronously\n // dispatch our fake event using `dispatchEvent`. Inside the handler, we\n // call the user-provided callback.\n\n\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n\n function callCallback() {\n didCall = true;\n restoreAfterDispatch();\n func.apply(context, funcArgs);\n didError = false;\n } // Create a global error event handler. We use this to capture the value\n // that was thrown. It's possible that this error handler will fire more\n // than once; for example, if non-React code also calls `dispatchEvent`\n // and a handler for that event throws. We should be resilient to most of\n // those cases. Even if our error event handler fires more than once, the\n // last error event is always used. If the callback actually does error,\n // we know that the last error event is the correct one, because it's not\n // possible for anything else to have happened in between our callback\n // erroring and the code that follows the `dispatchEvent` call below. If\n // the callback doesn't error, but the error event was fired, we know to\n // ignore it because `didError` will be false, as described above.\n\n\n var error; // Use this to track whether the error event is ever called.\n\n var didSetError = false;\n var isCrossOriginError = false;\n\n function handleWindowError(event) {\n error = event.error;\n didSetError = true;\n\n if (error === null && event.colno === 0 && event.lineno === 0) {\n isCrossOriginError = true;\n }\n\n if (event.defaultPrevented) {\n // Some other error handler has prevented default.\n // Browsers silence the error report if this happens.\n // We'll remember this to later decide whether to log it or not.\n if (error != null && typeof error === 'object') {\n try {\n error._suppressLogging = true;\n } catch (inner) {// Ignore.\n }\n }\n }\n } // Create a fake event type.\n\n\n var evtType = \"react-\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\n\n window.addEventListener('error', handleWindowError);\n fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\n // errors, it will trigger our global error handler.\n\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n\n if (windowEventDescriptor) {\n Object.defineProperty(window, 'event', windowEventDescriptor);\n }\n\n if (didCall && didError) {\n if (!didSetError) {\n // The callback errored, but the error event never fired.\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error('An error was thrown inside one of your components, but React ' + \"doesn't know what it was. This is likely due to browser \" + 'flakiness. React does its best to preserve the \"Pause on ' + 'exceptions\" behavior of the DevTools, which requires some ' + \"DEV-mode only tricks. It's possible that these don't work in \" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\n } else if (isCrossOriginError) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(\"A cross-origin error was thrown. React doesn't have access to \" + 'the actual error object in development. ' + 'See https://reactjs.org/link/crossorigin-error for more information.');\n }\n\n this.onError(error);\n } // Remove our event listeners\n\n\n window.removeEventListener('error', handleWindowError);\n\n if (!didCall) {\n // Something went really wrong, and our event was not dispatched.\n // https://github.com/facebook/react/issues/16734\n // https://github.com/facebook/react/issues/16585\n // Fall back to the production implementation.\n restoreAfterDispatch();\n return invokeGuardedCallbackProd.apply(this, arguments);\n }\n };\n }\n}\n\nvar invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;\n\nvar hasError = false;\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\n\nvar hasRethrowError = false;\nvar rethrowError = null;\nvar reporter = {\n onError: function (error) {\n hasError = true;\n caughtError = error;\n }\n};\n/**\n * Call a function while guarding against errors that happens within it.\n * Returns an error if it throws, otherwise null.\n *\n * In production, this is implemented using a try-catch. The reason we don't\n * use a try-catch directly is so that we can swap out a different\n * implementation in DEV mode.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = false;\n caughtError = null;\n invokeGuardedCallbackImpl$1.apply(reporter, arguments);\n}\n/**\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\n * TODO: See if caughtError and rethrowError can be unified.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} context The context to use when calling the function\n * @param {...*} args Arguments for function\n */\n\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\n invokeGuardedCallback.apply(this, arguments);\n\n if (hasError) {\n var error = clearCaughtError();\n\n if (!hasRethrowError) {\n hasRethrowError = true;\n rethrowError = error;\n }\n }\n}\n/**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n\nfunction rethrowCaughtError() {\n if (hasRethrowError) {\n var error = rethrowError;\n hasRethrowError = false;\n rethrowError = null;\n throw error;\n }\n}\nfunction hasCaughtError() {\n return hasError;\n}\nfunction clearCaughtError() {\n if (hasError) {\n var error = caughtError;\n hasError = false;\n caughtError = null;\n return error;\n } else {\n throw new Error('clearCaughtError was called but no error was captured. This error ' + 'is likely caused by a bug in React. Please file an issue.');\n }\n}\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n *\n * Note that this module is currently shared and assumed to be stateless.\n * If this becomes an actual Map, that will break.\n */\nfunction get(key) {\n return key._reactInternals;\n}\nfunction has(key) {\n return key._reactInternals !== undefined;\n}\nfunction set(key, value) {\n key._reactInternals = value;\n}\n\n// Don't change these two values. They're used by React Dev Tools.\nvar NoFlags =\n/* */\n0;\nvar PerformedWork =\n/* */\n1; // You can change the rest (and add more).\n\nvar Placement =\n/* */\n2;\nvar Update =\n/* */\n4;\nvar ChildDeletion =\n/* */\n16;\nvar ContentReset =\n/* */\n32;\nvar Callback =\n/* */\n64;\nvar DidCapture =\n/* */\n128;\nvar ForceClientRender =\n/* */\n256;\nvar Ref =\n/* */\n512;\nvar Snapshot =\n/* */\n1024;\nvar Passive =\n/* */\n2048;\nvar Hydrating =\n/* */\n4096;\nvar Visibility =\n/* */\n8192;\nvar StoreConsistency =\n/* */\n16384;\nvar LifecycleEffectMask = Passive | Update | Callback | Ref | Snapshot | StoreConsistency; // Union of all commit flags (flags with the lifetime of a particular commit)\n\nvar HostEffectMask =\n/* */\n32767; // These are not really side effects, but we still reuse this field.\n\nvar Incomplete =\n/* */\n32768;\nvar ShouldCapture =\n/* */\n65536;\nvar ForceUpdateForLegacySuspense =\n/* */\n131072;\nvar Forked =\n/* */\n1048576; // Static tags describe aspects of a fiber that are not specific to a render,\n// e.g. a fiber uses a passive effect (even if there are no updates on this particular render).\n// This enables us to defer more work in the unmount case,\n// since we can defer traversing the tree during layout to look for Passive effects,\n// and instead rely on the static flag as a signal that there may be cleanup work.\n\nvar RefStatic =\n/* */\n2097152;\nvar LayoutStatic =\n/* */\n4194304;\nvar PassiveStatic =\n/* */\n8388608; // These flags allow us to traverse to fibers that have effects on mount\n// without traversing the entire tree after every commit for\n// double invoking\n\nvar MountLayoutDev =\n/* */\n16777216;\nvar MountPassiveDev =\n/* */\n33554432; // Groups of flags that are used in the commit phase to skip over trees that\n// don't contain effects, by checking subtreeFlags.\n\nvar BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility\n// flag logic (see #20043)\nUpdate | Snapshot | ( 0);\nvar MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility;\nvar LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask\n\nvar PassiveMask = Passive | ChildDeletion; // Union of tags that don't get reset on clones.\n// This allows certain concepts to persist without recalculating them,\n// e.g. whether a subtree contains passive effects or portals.\n\nvar StaticMask = LayoutStatic | PassiveStatic | RefStatic;\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nfunction getNearestMountedFiber(fiber) {\n var node = fiber;\n var nearestMounted = fiber;\n\n if (!fiber.alternate) {\n // If there is no alternate, this might be a new tree that isn't inserted\n // yet. If it is, then it will have a pending insertion effect on it.\n var nextNode = node;\n\n do {\n node = nextNode;\n\n if ((node.flags & (Placement | Hydrating)) !== NoFlags) {\n // This is an insertion or in-progress hydration. The nearest possible\n // mounted fiber is the parent but we need to continue to figure out\n // if that one is still mounted.\n nearestMounted = node.return;\n }\n\n nextNode = node.return;\n } while (nextNode);\n } else {\n while (node.return) {\n node = node.return;\n }\n }\n\n if (node.tag === HostRoot) {\n // TODO: Check if this was a nested HostRoot when used with\n // renderContainerIntoSubtree.\n return nearestMounted;\n } // If we didn't hit the root, that means that we're in an disconnected tree\n // that has been unmounted.\n\n\n return null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (fiber.tag === SuspenseComponent) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState === null) {\n var current = fiber.alternate;\n\n if (current !== null) {\n suspenseState = current.memoizedState;\n }\n }\n\n if (suspenseState !== null) {\n return suspenseState.dehydrated;\n }\n }\n\n return null;\n}\nfunction getContainerFromFiber(fiber) {\n return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\n}\nfunction isFiberMounted(fiber) {\n return getNearestMountedFiber(fiber) === fiber;\n}\nfunction isMounted(component) {\n {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null && owner.tag === ClassComponent) {\n var ownerFiber = owner;\n var instance = ownerFiber.stateNode;\n\n if (!instance._warnedAboutRefsInRender) {\n error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromFiber(ownerFiber) || 'A component');\n }\n\n instance._warnedAboutRefsInRender = true;\n }\n }\n\n var fiber = get(component);\n\n if (!fiber) {\n return false;\n }\n\n return getNearestMountedFiber(fiber) === fiber;\n}\n\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n}\n\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n\n if (!alternate) {\n // If there is no alternate, then we only need to check if it is mounted.\n var nearestMounted = getNearestMountedFiber(fiber);\n\n if (nearestMounted === null) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (nearestMounted !== fiber) {\n return null;\n }\n\n return fiber;\n } // If we have two possible branches, we'll walk backwards up to the root\n // to see what path the root points to. On the way we may hit one of the\n // special cases and we'll deal with them.\n\n\n var a = fiber;\n var b = alternate;\n\n while (true) {\n var parentA = a.return;\n\n if (parentA === null) {\n // We're at the root.\n break;\n }\n\n var parentB = parentA.alternate;\n\n if (parentB === null) {\n // There is no alternate. This is an unusual case. Currently, it only\n // happens when a Suspense component is hidden. An extra fragment fiber\n // is inserted in between the Suspense fiber and its children. Skip\n // over this extra fragment fiber and proceed to the next parent.\n var nextParent = parentA.return;\n\n if (nextParent !== null) {\n a = b = nextParent;\n continue;\n } // If there's no parent, we're at the root.\n\n\n break;\n } // If both copies of the parent fiber point to the same child, we can\n // assume that the child is current. This happens when we bailout on low\n // priority: the bailed out fiber's child reuses the current child.\n\n\n if (parentA.child === parentB.child) {\n var child = parentA.child;\n\n while (child) {\n if (child === a) {\n // We've determined that A is the current branch.\n assertIsMounted(parentA);\n return fiber;\n }\n\n if (child === b) {\n // We've determined that B is the current branch.\n assertIsMounted(parentA);\n return alternate;\n }\n\n child = child.sibling;\n } // We should never have an alternate for any mounting node. So the only\n // way this could possibly happen is if this was unmounted, if at all.\n\n\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.return !== b.return) {\n // The return pointer of A and the return pointer of B point to different\n // fibers. We assume that return pointers never criss-cross, so A must\n // belong to the child set of A.return, and B must belong to the child\n // set of B.return.\n a = parentA;\n b = parentB;\n } else {\n // The return pointers point to the same fiber. We'll have to use the\n // default, slow path: scan the child sets of each parent alternate to see\n // which child belongs to which set.\n //\n // Search parent A's child set\n var didFindChild = false;\n var _child = parentA.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentA;\n b = parentB;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentA;\n a = parentB;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n // Search parent B's child set\n _child = parentB.child;\n\n while (_child) {\n if (_child === a) {\n didFindChild = true;\n a = parentB;\n b = parentA;\n break;\n }\n\n if (_child === b) {\n didFindChild = true;\n b = parentB;\n a = parentA;\n break;\n }\n\n _child = _child.sibling;\n }\n\n if (!didFindChild) {\n throw new Error('Child was not found in either parent set. This indicates a bug ' + 'in React related to the return pointer. Please file an issue.');\n }\n }\n }\n\n if (a.alternate !== b) {\n throw new Error(\"Return fibers should always be each others' alternates. \" + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n } // If the root is not a host container, we're in a disconnected tree. I.e.\n // unmounted.\n\n\n if (a.tag !== HostRoot) {\n throw new Error('Unable to find node on an unmounted component.');\n }\n\n if (a.stateNode.current === a) {\n // We've determined that A is the current branch.\n return fiber;\n } // Otherwise B has to be current branch.\n\n\n return alternate;\n}\nfunction findCurrentHostFiber(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n var match = findCurrentHostFiberImpl(child);\n\n if (match !== null) {\n return match;\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\nfunction findCurrentHostFiberWithNoPortals(parent) {\n var currentParent = findCurrentFiberUsingSlowPath(parent);\n return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null;\n}\n\nfunction findCurrentHostFiberWithNoPortalsImpl(node) {\n // Next we'll drill down this component to find the first HostComponent/Text.\n if (node.tag === HostComponent || node.tag === HostText) {\n return node;\n }\n\n var child = node.child;\n\n while (child !== null) {\n if (child.tag !== HostPortal) {\n var match = findCurrentHostFiberWithNoPortalsImpl(child);\n\n if (match !== null) {\n return match;\n }\n }\n\n child = child.sibling;\n }\n\n return null;\n}\n\n// This module only exists as an ESM wrapper around the external CommonJS\nvar scheduleCallback = Scheduler.unstable_scheduleCallback;\nvar cancelCallback = Scheduler.unstable_cancelCallback;\nvar shouldYield = Scheduler.unstable_shouldYield;\nvar requestPaint = Scheduler.unstable_requestPaint;\nvar now = Scheduler.unstable_now;\nvar getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel;\nvar ImmediatePriority = Scheduler.unstable_ImmediatePriority;\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority;\nvar NormalPriority = Scheduler.unstable_NormalPriority;\nvar LowPriority = Scheduler.unstable_LowPriority;\nvar IdlePriority = Scheduler.unstable_IdlePriority;\n// this doesn't actually exist on the scheduler, but it *does*\n// on scheduler/unstable_mock, which we'll need for internal testing\nvar unstable_yieldValue = Scheduler.unstable_yieldValue;\nvar unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue;\n\nvar rendererID = null;\nvar injectedHook = null;\nvar injectedProfilingHooks = null;\nvar hasLoggedError = false;\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\nfunction injectInternals(internals) {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // No DevTools\n return false;\n }\n\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // https://github.com/facebook/react/issues/3877\n return true;\n }\n\n if (!hook.supportsFiber) {\n {\n error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://reactjs.org/link/react-devtools');\n } // DevTools exists, even though it doesn't support Fiber.\n\n\n return true;\n }\n\n try {\n if (enableSchedulingProfiler) {\n // Conditionally inject these hooks only if Timeline profiler is supported by this build.\n // This gives DevTools a way to feature detect that isn't tied to version number\n // (since profiling and timeline are controlled by different feature flags).\n internals = assign({}, internals, {\n getLaneLabelMap: getLaneLabelMap,\n injectProfilingHooks: injectProfilingHooks\n });\n }\n\n rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\n\n injectedHook = hook;\n } catch (err) {\n // Catch all errors because it is unsafe to throw during initialization.\n {\n error('React instrumentation encountered an error: %s.', err);\n }\n }\n\n if (hook.checkDCE) {\n // This is the real DevTools.\n return true;\n } else {\n // This is likely a hook installed by Fast Refresh runtime.\n return false;\n }\n}\nfunction onScheduleRoot(root, children) {\n {\n if (injectedHook && typeof injectedHook.onScheduleFiberRoot === 'function') {\n try {\n injectedHook.onScheduleFiberRoot(rendererID, root, children);\n } catch (err) {\n if ( !hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitRoot(root, eventPriority) {\n if (injectedHook && typeof injectedHook.onCommitFiberRoot === 'function') {\n try {\n var didError = (root.current.flags & DidCapture) === DidCapture;\n\n if (enableProfilerTimer) {\n var schedulerPriority;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n schedulerPriority = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriority = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n\n default:\n schedulerPriority = NormalPriority;\n break;\n }\n\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n } else {\n injectedHook.onCommitFiberRoot(rendererID, root, undefined, didError);\n }\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onPostCommitRoot(root) {\n if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === 'function') {\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction onCommitUnmount(fiber) {\n if (injectedHook && typeof injectedHook.onCommitFiberUnmount === 'function') {\n try {\n injectedHook.onCommitFiberUnmount(rendererID, fiber);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n {\n if (typeof unstable_yieldValue === 'function') {\n // We're in a test because Scheduler.unstable_yieldValue only exists\n // in SchedulerMock. To reduce the noise in strict mode tests,\n // suppress warnings and disable scheduler yielding during the double render\n unstable_setDisableYieldValue(newIsStrictMode);\n setSuppressWarning(newIsStrictMode);\n }\n\n if (injectedHook && typeof injectedHook.setStrictMode === 'function') {\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n {\n if (!hasLoggedError) {\n hasLoggedError = true;\n\n error('React instrumentation encountered an error: %s', err);\n }\n }\n }\n }\n }\n} // Profiler API hooks\n\nfunction injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n}\n\nfunction getLaneLabelMap() {\n {\n var map = new Map();\n var lane = 1;\n\n for (var index = 0; index < TotalLanes; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n\n return map;\n }\n}\n\nfunction markCommitStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === 'function') {\n injectedProfilingHooks.markCommitStarted(lanes);\n }\n }\n}\nfunction markCommitStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === 'function') {\n injectedProfilingHooks.markCommitStopped();\n }\n }\n}\nfunction markComponentRenderStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === 'function') {\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n }\n}\nfunction markComponentRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === 'function') {\n injectedProfilingHooks.markComponentRenderStopped();\n }\n }\n}\nfunction markComponentPassiveEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectMountStopped();\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentPassiveEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectMountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectMountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectMountStopped();\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStarted(fiber) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber);\n }\n }\n}\nfunction markComponentLayoutEffectUnmountStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === 'function') {\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped();\n }\n }\n}\nfunction markComponentErrored(fiber, thrownValue, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === 'function') {\n injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes);\n }\n }\n}\nfunction markComponentSuspended(fiber, wakeable, lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === 'function') {\n injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes);\n }\n }\n}\nfunction markLayoutEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === 'function') {\n injectedProfilingHooks.markLayoutEffectsStarted(lanes);\n }\n }\n}\nfunction markLayoutEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === 'function') {\n injectedProfilingHooks.markLayoutEffectsStopped();\n }\n }\n}\nfunction markPassiveEffectsStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === 'function') {\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n }\n }\n}\nfunction markPassiveEffectsStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === 'function') {\n injectedProfilingHooks.markPassiveEffectsStopped();\n }\n }\n}\nfunction markRenderStarted(lanes) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === 'function') {\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n }\n}\nfunction markRenderYielded() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === 'function') {\n injectedProfilingHooks.markRenderYielded();\n }\n }\n}\nfunction markRenderStopped() {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === 'function') {\n injectedProfilingHooks.markRenderStopped();\n }\n }\n}\nfunction markRenderScheduled(lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === 'function') {\n injectedProfilingHooks.markRenderScheduled(lane);\n }\n }\n}\nfunction markForceUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === 'function') {\n injectedProfilingHooks.markForceUpdateScheduled(fiber, lane);\n }\n }\n}\nfunction markStateUpdateScheduled(fiber, lane) {\n {\n if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === 'function') {\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n }\n}\n\nvar NoMode =\n/* */\n0; // TODO: Remove ConcurrentMode by reading from the root tag instead\n\nvar ConcurrentMode =\n/* */\n1;\nvar ProfileMode =\n/* */\n2;\nvar StrictLegacyMode =\n/* */\n8;\nvar StrictEffectsMode =\n/* */\n16;\n\n// TODO: This is pretty well supported by browsers. Maybe we can drop it.\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; // Count leading zeros.\n// Based on:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nfunction clz32Fallback(x) {\n var asUint = x >>> 0;\n\n if (asUint === 0) {\n return 32;\n }\n\n return 31 - (log(asUint) / LN2 | 0) | 0;\n}\n\n// If those values are changed that package should be rebuilt and redeployed.\n\nvar TotalLanes = 31;\nvar NoLanes =\n/* */\n0;\nvar NoLane =\n/* */\n0;\nvar SyncLane =\n/* */\n1;\nvar InputContinuousHydrationLane =\n/* */\n2;\nvar InputContinuousLane =\n/* */\n4;\nvar DefaultHydrationLane =\n/* */\n8;\nvar DefaultLane =\n/* */\n16;\nvar TransitionHydrationLane =\n/* */\n32;\nvar TransitionLanes =\n/* */\n4194240;\nvar TransitionLane1 =\n/* */\n64;\nvar TransitionLane2 =\n/* */\n128;\nvar TransitionLane3 =\n/* */\n256;\nvar TransitionLane4 =\n/* */\n512;\nvar TransitionLane5 =\n/* */\n1024;\nvar TransitionLane6 =\n/* */\n2048;\nvar TransitionLane7 =\n/* */\n4096;\nvar TransitionLane8 =\n/* */\n8192;\nvar TransitionLane9 =\n/* */\n16384;\nvar TransitionLane10 =\n/* */\n32768;\nvar TransitionLane11 =\n/* */\n65536;\nvar TransitionLane12 =\n/* */\n131072;\nvar TransitionLane13 =\n/* */\n262144;\nvar TransitionLane14 =\n/* */\n524288;\nvar TransitionLane15 =\n/* */\n1048576;\nvar TransitionLane16 =\n/* */\n2097152;\nvar RetryLanes =\n/* */\n130023424;\nvar RetryLane1 =\n/* */\n4194304;\nvar RetryLane2 =\n/* */\n8388608;\nvar RetryLane3 =\n/* */\n16777216;\nvar RetryLane4 =\n/* */\n33554432;\nvar RetryLane5 =\n/* */\n67108864;\nvar SomeRetryLane = RetryLane1;\nvar SelectiveHydrationLane =\n/* */\n134217728;\nvar NonIdleLanes =\n/* */\n268435455;\nvar IdleHydrationLane =\n/* */\n268435456;\nvar IdleLane =\n/* */\n536870912;\nvar OffscreenLane =\n/* */\n1073741824; // This function is used for the experimental timeline (react-devtools-timeline)\n// It should be kept in sync with the Lanes values above.\n\nfunction getLabelForLane(lane) {\n {\n if (lane & SyncLane) {\n return 'Sync';\n }\n\n if (lane & InputContinuousHydrationLane) {\n return 'InputContinuousHydration';\n }\n\n if (lane & InputContinuousLane) {\n return 'InputContinuous';\n }\n\n if (lane & DefaultHydrationLane) {\n return 'DefaultHydration';\n }\n\n if (lane & DefaultLane) {\n return 'Default';\n }\n\n if (lane & TransitionHydrationLane) {\n return 'TransitionHydration';\n }\n\n if (lane & TransitionLanes) {\n return 'Transition';\n }\n\n if (lane & RetryLanes) {\n return 'Retry';\n }\n\n if (lane & SelectiveHydrationLane) {\n return 'SelectiveHydration';\n }\n\n if (lane & IdleHydrationLane) {\n return 'IdleHydration';\n }\n\n if (lane & IdleLane) {\n return 'Idle';\n }\n\n if (lane & OffscreenLane) {\n return 'Offscreen';\n }\n }\n}\nvar NoTimestamp = -1;\nvar nextTransitionLane = TransitionLane1;\nvar nextRetryLane = RetryLane1;\n\nfunction getHighestPriorityLanes(lanes) {\n switch (getHighestPriorityLane(lanes)) {\n case SyncLane:\n return SyncLane;\n\n case InputContinuousHydrationLane:\n return InputContinuousHydrationLane;\n\n case InputContinuousLane:\n return InputContinuousLane;\n\n case DefaultHydrationLane:\n return DefaultHydrationLane;\n\n case DefaultLane:\n return DefaultLane;\n\n case TransitionHydrationLane:\n return TransitionHydrationLane;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return lanes & TransitionLanes;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n return lanes & RetryLanes;\n\n case SelectiveHydrationLane:\n return SelectiveHydrationLane;\n\n case IdleHydrationLane:\n return IdleHydrationLane;\n\n case IdleLane:\n return IdleLane;\n\n case OffscreenLane:\n return OffscreenLane;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n } // This shouldn't be reachable, but as a fallback, return the entire bitmask.\n\n\n return lanes;\n }\n}\n\nfunction getNextLanes(root, wipLanes) {\n // Early bailout if there's no pending work left.\n var pendingLanes = root.pendingLanes;\n\n if (pendingLanes === NoLanes) {\n return NoLanes;\n }\n\n var nextLanes = NoLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes; // Do not work on any idle work until all the non-idle work has finished,\n // even if the work is suspended.\n\n var nonIdlePendingLanes = pendingLanes & NonIdleLanes;\n\n if (nonIdlePendingLanes !== NoLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n\n if (nonIdleUnblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes);\n } else {\n var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes;\n\n if (nonIdlePingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(nonIdlePingedLanes);\n }\n }\n } else {\n // The only remaining work is Idle.\n var unblockedLanes = pendingLanes & ~suspendedLanes;\n\n if (unblockedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(unblockedLanes);\n } else {\n if (pingedLanes !== NoLanes) {\n nextLanes = getHighestPriorityLanes(pingedLanes);\n }\n }\n }\n\n if (nextLanes === NoLanes) {\n // This should only be reachable if we're suspended\n // TODO: Consider warning in this path if a fallback timer is not scheduled.\n return NoLanes;\n } // If we're already in the middle of a render, switching lanes will interrupt\n // it and we'll lose our progress. We should only do this if the new lanes are\n // higher priority.\n\n\n if (wipLanes !== NoLanes && wipLanes !== nextLanes && // If we already suspended with a delay, then interrupting is fine. Don't\n // bother waiting until the root is complete.\n (wipLanes & suspendedLanes) === NoLanes) {\n var nextLane = getHighestPriorityLane(nextLanes);\n var wipLane = getHighestPriorityLane(wipLanes);\n\n if ( // Tests whether the next lane is equal or lower priority than the wip\n // one. This works because the bits decrease in priority as you go left.\n nextLane >= wipLane || // Default priority updates should not interrupt transition updates. The\n // only difference between default updates and transition updates is that\n // default updates do not support refresh transitions.\n nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) {\n // Keep working on the existing in-progress tree. Do not interrupt.\n return wipLanes;\n }\n }\n\n if ((nextLanes & InputContinuousLane) !== NoLanes) {\n // When updates are sync by default, we entangle continuous priority updates\n // and default updates, so they render in the same batch. The only reason\n // they use separate lanes is because continuous updates should interrupt\n // transitions, but default updates should not.\n nextLanes |= pendingLanes & DefaultLane;\n } // Check for entangled lanes and add them to the batch.\n //\n // A lane is said to be entangled with another when it's not allowed to render\n // in a batch that does not also include the other lane. Typically we do this\n // when multiple updates have the same source, and we only want to respond to\n // the most recent event from that source.\n //\n // Note that we apply entanglements *after* checking for partial work above.\n // This means that if a lane is entangled during an interleaved event while\n // it's already rendering, we won't interrupt it. This is intentional, since\n // entanglement is usually \"best effort\": we'll try our best to render the\n // lanes in the same batch, but it's not worth throwing out partially\n // completed work in order to do it.\n // TODO: Reconsider this. The counter-argument is that the partial work\n // represents an intermediate state, which we don't want to show to the user.\n // And by spending extra time finishing it, we're increasing the amount of\n // time it takes to show the final state, which is what they are actually\n // waiting for.\n //\n // For those exceptions where entanglement is semantically important, like\n // useMutableSource, we should ensure that there is no partial work at the\n // time we apply the entanglement.\n\n\n var entangledLanes = root.entangledLanes;\n\n if (entangledLanes !== NoLanes) {\n var entanglements = root.entanglements;\n var lanes = nextLanes & entangledLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n nextLanes |= entanglements[index];\n lanes &= ~lane;\n }\n }\n\n return nextLanes;\n}\nfunction getMostRecentEventTime(root, lanes) {\n var eventTimes = root.eventTimes;\n var mostRecentEventTime = NoTimestamp;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var eventTime = eventTimes[index];\n\n if (eventTime > mostRecentEventTime) {\n mostRecentEventTime = eventTime;\n }\n\n lanes &= ~lane;\n }\n\n return mostRecentEventTime;\n}\n\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case SyncLane:\n case InputContinuousHydrationLane:\n case InputContinuousLane:\n // User interactions should expire slightly more quickly.\n //\n // NOTE: This is set to the corresponding constant as in Scheduler.js.\n // When we made it larger, a product metric in www regressed, suggesting\n // there's a user interaction that's being starved by a series of\n // synchronous updates. If that theory is correct, the proper solution is\n // to fix the starvation. However, this scenario supports the idea that\n // expiration times are an important safeguard when starvation\n // does happen.\n return currentTime + 250;\n\n case DefaultHydrationLane:\n case DefaultLane:\n case TransitionHydrationLane:\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n return currentTime + 5000;\n\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n // TODO: Retries should be allowed to expire if they are CPU bound for\n // too long, but when I made this change it caused a spike in browser\n // crashes. There must be some other underlying bug; not super urgent but\n // ideally should figure out why and fix it. Unfortunately we don't have\n // a repro for the crashes, only detected via production metrics.\n return NoTimestamp;\n\n case SelectiveHydrationLane:\n case IdleHydrationLane:\n case IdleLane:\n case OffscreenLane:\n // Anything idle priority or lower should never expire.\n return NoTimestamp;\n\n default:\n {\n error('Should have found matching lanes. This is a bug in React.');\n }\n\n return NoTimestamp;\n }\n}\n\nfunction markStarvedLanesAsExpired(root, currentTime) {\n // TODO: This gets called every time we yield. We can optimize by storing\n // the earliest expiration time on the root. Then use that to quickly bail out\n // of this function.\n var pendingLanes = root.pendingLanes;\n var suspendedLanes = root.suspendedLanes;\n var pingedLanes = root.pingedLanes;\n var expirationTimes = root.expirationTimes; // Iterate through the pending lanes and check if we've reached their\n // expiration time. If so, we'll assume the update is being starved and mark\n // it as expired to force it to finish.\n\n var lanes = pendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n var expirationTime = expirationTimes[index];\n\n if (expirationTime === NoTimestamp) {\n // Found a pending lane with no expiration time. If it's not suspended, or\n // if it's pinged, assume it's CPU-bound. Compute a new expiration time\n // using the current time.\n if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) {\n // Assumes timestamps are monotonically increasing.\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n }\n } else if (expirationTime <= currentTime) {\n // This lane expired\n root.expiredLanes |= lane;\n }\n\n lanes &= ~lane;\n }\n} // This returns the highest priority pending lanes regardless of whether they\n// are suspended.\n\nfunction getHighestPriorityPendingLanes(root) {\n return getHighestPriorityLanes(root.pendingLanes);\n}\nfunction getLanesToRetrySynchronouslyOnError(root) {\n var everythingButOffscreen = root.pendingLanes & ~OffscreenLane;\n\n if (everythingButOffscreen !== NoLanes) {\n return everythingButOffscreen;\n }\n\n if (everythingButOffscreen & OffscreenLane) {\n return OffscreenLane;\n }\n\n return NoLanes;\n}\nfunction includesSyncLane(lanes) {\n return (lanes & SyncLane) !== NoLanes;\n}\nfunction includesNonIdleWork(lanes) {\n return (lanes & NonIdleLanes) !== NoLanes;\n}\nfunction includesOnlyRetries(lanes) {\n return (lanes & RetryLanes) === lanes;\n}\nfunction includesOnlyNonUrgentLanes(lanes) {\n var UrgentLanes = SyncLane | InputContinuousLane | DefaultLane;\n return (lanes & UrgentLanes) === NoLanes;\n}\nfunction includesOnlyTransitions(lanes) {\n return (lanes & TransitionLanes) === lanes;\n}\nfunction includesBlockingLane(root, lanes) {\n\n var SyncDefaultLanes = InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane;\n return (lanes & SyncDefaultLanes) !== NoLanes;\n}\nfunction includesExpiredLane(root, lanes) {\n // This is a separate check from includesBlockingLane because a lane can\n // expire after a render has already started.\n return (lanes & root.expiredLanes) !== NoLanes;\n}\nfunction isTransitionLane(lane) {\n return (lane & TransitionLanes) !== NoLanes;\n}\nfunction claimNextTransitionLane() {\n // Cycle through the lanes, assigning each new transition to the next lane.\n // In most cases, this means every transition gets its own lane, until we\n // run out of lanes and cycle back to the beginning.\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n\n if ((nextTransitionLane & TransitionLanes) === NoLanes) {\n nextTransitionLane = TransitionLane1;\n }\n\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n\n if ((nextRetryLane & RetryLanes) === NoLanes) {\n nextRetryLane = RetryLane1;\n }\n\n return lane;\n}\nfunction getHighestPriorityLane(lanes) {\n return lanes & -lanes;\n}\nfunction pickArbitraryLane(lanes) {\n // This wrapper function gets inlined. Only exists so to communicate that it\n // doesn't matter which bit is selected; you can pick any bit without\n // affecting the algorithms where its used. Here I'm using\n // getHighestPriorityLane because it requires the fewest operations.\n return getHighestPriorityLane(lanes);\n}\n\nfunction pickArbitraryLaneIndex(lanes) {\n return 31 - clz32(lanes);\n}\n\nfunction laneToIndex(lane) {\n return pickArbitraryLaneIndex(lane);\n}\n\nfunction includesSomeLane(a, b) {\n return (a & b) !== NoLanes;\n}\nfunction isSubsetOfLanes(set, subset) {\n return (set & subset) === subset;\n}\nfunction mergeLanes(a, b) {\n return a | b;\n}\nfunction removeLanes(set, subset) {\n return set & ~subset;\n}\nfunction intersectLanes(a, b) {\n return a & b;\n} // Seems redundant, but it changes the type from a single lane (used for\n// updates) to a group of lanes (used for flushing work).\n\nfunction laneToLanes(lane) {\n return lane;\n}\nfunction higherPriorityLane(a, b) {\n // This works because the bit ranges decrease in priority as you go left.\n return a !== NoLane && a < b ? a : b;\n}\nfunction createLaneMap(initial) {\n // Intentionally pushing one by one.\n // https://v8.dev/blog/elements-kinds#avoid-creating-holes\n var laneMap = [];\n\n for (var i = 0; i < TotalLanes; i++) {\n laneMap.push(initial);\n }\n\n return laneMap;\n}\nfunction markRootUpdated(root, updateLane, eventTime) {\n root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update\n // could unblock them. Clear the suspended lanes so that we can try rendering\n // them again.\n //\n // TODO: We really only need to unsuspend only lanes that are in the\n // `subtreeLanes` of the updated fiber, or the update lanes of the return\n // path. This would exclude suspended updates in an unrelated sibling tree,\n // since there's no way for this update to unblock it.\n //\n // We don't do this if the incoming update is idle, because we never process\n // idle updates until after all the regular updates have finished; there's no\n // way it could unblock a transition.\n\n if (updateLane !== IdleLane) {\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n }\n\n var eventTimes = root.eventTimes;\n var index = laneToIndex(updateLane); // We can always overwrite an existing timestamp because we prefer the most\n // recent event, and we assume time is monotonically increasing.\n\n eventTimes[index] = eventTime;\n}\nfunction markRootSuspended(root, suspendedLanes) {\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times.\n\n var expirationTimes = root.expirationTimes;\n var lanes = suspendedLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootPinged(root, pingedLanes, eventTime) {\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n}\nfunction markRootFinished(root, remainingLanes) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes; // Let's try everything again\n\n root.suspendedLanes = NoLanes;\n root.pingedLanes = NoLanes;\n root.expiredLanes &= remainingLanes;\n root.mutableReadLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n var entanglements = root.entanglements;\n var eventTimes = root.eventTimes;\n var expirationTimes = root.expirationTimes; // Clear the lanes that no longer have pending work\n\n var lanes = noLongerPendingLanes;\n\n while (lanes > 0) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n entanglements[index] = NoLanes;\n eventTimes[index] = NoTimestamp;\n expirationTimes[index] = NoTimestamp;\n lanes &= ~lane;\n }\n}\nfunction markRootEntangled(root, entangledLanes) {\n // In addition to entangling each of the given lanes with each other, we also\n // have to consider _transitive_ entanglements. For each lane that is already\n // entangled with *any* of the given lanes, that lane is now transitively\n // entangled with *all* the given lanes.\n //\n // Translated: If C is entangled with A, then entangling A with B also\n // entangles C with B.\n //\n // If this is hard to grasp, it might help to intentionally break this\n // function and look at the tests that fail in ReactTransition-test.js. Try\n // commenting out one of the conditions below.\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n var entanglements = root.entanglements;\n var lanes = rootEntangledLanes;\n\n while (lanes) {\n var index = pickArbitraryLaneIndex(lanes);\n var lane = 1 << index;\n\n if ( // Is this one of the newly entangled lanes?\n lane & entangledLanes | // Is this lane transitively entangled with the newly entangled lanes?\n entanglements[index] & entangledLanes) {\n entanglements[index] |= entangledLanes;\n }\n\n lanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = getHighestPriorityLane(renderLanes);\n var lane;\n\n switch (renderLane) {\n case InputContinuousLane:\n lane = InputContinuousHydrationLane;\n break;\n\n case DefaultLane:\n lane = DefaultHydrationLane;\n break;\n\n case TransitionLane1:\n case TransitionLane2:\n case TransitionLane3:\n case TransitionLane4:\n case TransitionLane5:\n case TransitionLane6:\n case TransitionLane7:\n case TransitionLane8:\n case TransitionLane9:\n case TransitionLane10:\n case TransitionLane11:\n case TransitionLane12:\n case TransitionLane13:\n case TransitionLane14:\n case TransitionLane15:\n case TransitionLane16:\n case RetryLane1:\n case RetryLane2:\n case RetryLane3:\n case RetryLane4:\n case RetryLane5:\n lane = TransitionHydrationLane;\n break;\n\n case IdleLane:\n lane = IdleHydrationLane;\n break;\n\n default:\n // Everything else is already either a hydration lane, or shouldn't\n // be retried at a hydration lane.\n lane = NoLane;\n break;\n } // Check if the lane we chose is suspended. If so, that indicates that we\n // already attempted and failed to hydrate at that level. Also check if we're\n // already rendering that lane, which is rare but could happen.\n\n\n if ((lane & (root.suspendedLanes | renderLanes)) !== NoLane) {\n // Give up trying to hydrate and fall back to client render.\n return NoLane;\n }\n\n return lane;\n}\nfunction addFiberToLanesMap(root, fiber, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n updaters.add(fiber);\n lanes &= ~lane;\n }\n}\nfunction movePendingFibersToMemoized(root, lanes) {\n\n if (!isDevToolsPresent) {\n return;\n }\n\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap;\n var memoizedUpdaters = root.memoizedUpdaters;\n\n while (lanes > 0) {\n var index = laneToIndex(lanes);\n var lane = 1 << index;\n var updaters = pendingUpdatersLaneMap[index];\n\n if (updaters.size > 0) {\n updaters.forEach(function (fiber) {\n var alternate = fiber.alternate;\n\n if (alternate === null || !memoizedUpdaters.has(alternate)) {\n memoizedUpdaters.add(fiber);\n }\n });\n updaters.clear();\n }\n\n lanes &= ~lane;\n }\n}\nfunction getTransitionsForLanes(root, lanes) {\n {\n return null;\n }\n}\n\nvar DiscreteEventPriority = SyncLane;\nvar ContinuousEventPriority = InputContinuousLane;\nvar DefaultEventPriority = DefaultLane;\nvar IdleEventPriority = IdleLane;\nvar currentUpdatePriority = NoLane;\nfunction getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nfunction setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = currentUpdatePriority;\n\n try {\n currentUpdatePriority = priority;\n return fn();\n } finally {\n currentUpdatePriority = previousPriority;\n }\n}\nfunction higherEventPriority(a, b) {\n return a !== 0 && a < b ? a : b;\n}\nfunction lowerEventPriority(a, b) {\n return a === 0 || a > b ? a : b;\n}\nfunction isHigherEventPriority(a, b) {\n return a !== 0 && a < b;\n}\nfunction lanesToEventPriority(lanes) {\n var lane = getHighestPriorityLane(lanes);\n\n if (!isHigherEventPriority(DiscreteEventPriority, lane)) {\n return DiscreteEventPriority;\n }\n\n if (!isHigherEventPriority(ContinuousEventPriority, lane)) {\n return ContinuousEventPriority;\n }\n\n if (includesNonIdleWork(lane)) {\n return DefaultEventPriority;\n }\n\n return IdleEventPriority;\n}\n\n// This is imported by the event replaying implementation in React DOM. It's\n// in a separate file to break a circular dependency between the renderer and\n// the reconciler.\nfunction isRootDehydrated(root) {\n var currentState = root.current.memoizedState;\n return currentState.isDehydrated;\n}\n\nvar _attemptSynchronousHydration;\n\nfunction setAttemptSynchronousHydration(fn) {\n _attemptSynchronousHydration = fn;\n}\nfunction attemptSynchronousHydration(fiber) {\n _attemptSynchronousHydration(fiber);\n}\nvar attemptContinuousHydration;\nfunction setAttemptContinuousHydration(fn) {\n attemptContinuousHydration = fn;\n}\nvar attemptHydrationAtCurrentPriority;\nfunction setAttemptHydrationAtCurrentPriority(fn) {\n attemptHydrationAtCurrentPriority = fn;\n}\nvar getCurrentUpdatePriority$1;\nfunction setGetCurrentUpdatePriority(fn) {\n getCurrentUpdatePriority$1 = fn;\n}\nvar attemptHydrationAtPriority;\nfunction setAttemptHydrationAtPriority(fn) {\n attemptHydrationAtPriority = fn;\n} // TODO: Upgrade this definition once we're on a newer version of Flow that\n// has this definition built-in.\n\nvar hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.\n\nvar queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.\n// if the last target was dehydrated.\n\nvar queuedFocus = null;\nvar queuedDrag = null;\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\n\nvar queuedPointers = new Map();\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\n\nvar queuedExplicitHydrationTargets = [];\nvar discreteReplayableEvents = ['mousedown', 'mouseup', 'touchcancel', 'touchend', 'touchstart', 'auxclick', 'dblclick', 'pointercancel', 'pointerdown', 'pointerup', 'dragend', 'dragstart', 'drop', 'compositionend', 'compositionstart', 'keydown', 'keypress', 'keyup', 'input', 'textInput', // Intentionally camelCase\n'copy', 'cut', 'paste', 'click', 'change', 'contextmenu', 'reset', 'submit'];\nfunction isDiscreteEventThatRequiresHydration(eventType) {\n return discreteReplayableEvents.indexOf(eventType) > -1;\n}\n\nfunction createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n return {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n };\n}\n\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'focusin':\n case 'focusout':\n queuedFocus = null;\n break;\n\n case 'dragenter':\n case 'dragleave':\n queuedDrag = null;\n break;\n\n case 'mouseover':\n case 'mouseout':\n queuedMouse = null;\n break;\n\n case 'pointerover':\n case 'pointerout':\n {\n var pointerId = nativeEvent.pointerId;\n queuedPointers.delete(pointerId);\n break;\n }\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n {\n var _pointerId = nativeEvent.pointerId;\n queuedPointerCaptures.delete(_pointerId);\n break;\n }\n }\n}\n\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\n var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn !== null) {\n var _fiber2 = getInstanceFromNode(blockedOn);\n\n if (_fiber2 !== null) {\n // Attempt to increase the priority of this target.\n attemptContinuousHydration(_fiber2);\n }\n }\n\n return queuedEvent;\n } // If we have already queued this exact event, then it's because\n // the different event systems have different DOM event listeners.\n // We can accumulate the flags, and the targetContainers, and\n // store a single event to be replayed.\n\n\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n var targetContainers = existingQueuedEvent.targetContainers;\n\n if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) {\n targetContainers.push(targetContainer);\n }\n\n return existingQueuedEvent;\n}\n\nfunction queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // These set relatedTarget to null because the replayed event will be treated as if we\n // moved from outside the window (no target) onto the target once it hydrates.\n // Instead of mutating we could clone the event.\n switch (domEventName) {\n case 'focusin':\n {\n var focusEvent = nativeEvent;\n queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, focusEvent);\n return true;\n }\n\n case 'dragenter':\n {\n var dragEvent = nativeEvent;\n queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, dragEvent);\n return true;\n }\n\n case 'mouseover':\n {\n var mouseEvent = nativeEvent;\n queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, mouseEvent);\n return true;\n }\n\n case 'pointerover':\n {\n var pointerEvent = nativeEvent;\n var pointerId = pointerEvent.pointerId;\n queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent));\n return true;\n }\n\n case 'gotpointercapture':\n {\n var _pointerEvent = nativeEvent;\n var _pointerId2 = _pointerEvent.pointerId;\n queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent));\n return true;\n }\n }\n\n return false;\n} // Check if this target is unblocked. Returns true if it's unblocked.\n\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n // TODO: This function shares a lot of logic with findInstanceBlockingEvent.\n // Try to unify them. It's a bit tricky since it would require two return\n // values.\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted !== null) {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // We're blocked on hydrating this boundary.\n // Increase its priority.\n queuedTarget.blockedOn = instance;\n attemptHydrationAtPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\n // a root other than sync.\n\n return;\n }\n }\n }\n }\n\n queuedTarget.blockedOn = null;\n}\n\nfunction queueExplicitHydrationTarget(target) {\n // TODO: This will read the priority if it's dispatched by the React\n // event system but not native events. Should read window.event.type, like\n // we do for updates (getCurrentEventPriority).\n var updatePriority = getCurrentUpdatePriority$1();\n var queuedTarget = {\n blockedOn: null,\n target: target,\n priority: updatePriority\n };\n var i = 0;\n\n for (; i < queuedExplicitHydrationTargets.length; i++) {\n // Stop once we hit the first target with lower priority than\n if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) {\n break;\n }\n }\n\n queuedExplicitHydrationTargets.splice(i, 0, queuedTarget);\n\n if (i === 0) {\n attemptExplicitHydrationTarget(queuedTarget);\n }\n}\n\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (queuedEvent.blockedOn !== null) {\n return false;\n }\n\n var targetContainers = queuedEvent.targetContainers;\n\n while (targetContainers.length > 0) {\n var targetContainer = targetContainers[0];\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.domEventName, queuedEvent.eventSystemFlags, targetContainer, queuedEvent.nativeEvent);\n\n if (nextBlockedOn === null) {\n {\n var nativeEvent = queuedEvent.nativeEvent;\n var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n setReplayingEvent(nativeEventClone);\n nativeEvent.target.dispatchEvent(nativeEventClone);\n resetReplayingEvent();\n }\n } else {\n // We're still blocked. Try again later.\n var _fiber3 = getInstanceFromNode(nextBlockedOn);\n\n if (_fiber3 !== null) {\n attemptContinuousHydration(_fiber3);\n }\n\n queuedEvent.blockedOn = nextBlockedOn;\n return false;\n } // This target container was successfully dispatched. Try the next.\n\n\n targetContainers.shift();\n }\n\n return true;\n}\n\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\n map.delete(key);\n }\n}\n\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = false;\n\n\n if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\n queuedFocus = null;\n }\n\n if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\n queuedDrag = null;\n }\n\n if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\n queuedMouse = null;\n }\n\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\n\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n\n if (!hasScheduledReplayAttempt) {\n hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\n // now unblocked. This first might not actually be unblocked yet.\n // We could check it early to avoid scheduling an unnecessary callback.\n\n Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\n }\n }\n}\n\nfunction retryIfBlockedOn(unblocked) {\n // Mark anything that was blocked on this as no longer blocked\n // and eligible for a replay.\n if (queuedDiscreteEvents.length > 0) {\n scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's\n // worth it because we expect very few discrete events to queue up and once\n // we are actually fully unblocked it will be fast to replay them.\n\n for (var i = 1; i < queuedDiscreteEvents.length; i++) {\n var queuedEvent = queuedDiscreteEvents[i];\n\n if (queuedEvent.blockedOn === unblocked) {\n queuedEvent.blockedOn = null;\n }\n }\n }\n\n if (queuedFocus !== null) {\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n }\n\n if (queuedDrag !== null) {\n scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n }\n\n if (queuedMouse !== null) {\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n }\n\n var unblock = function (queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n };\n\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n\n for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {\n var queuedTarget = queuedExplicitHydrationTargets[_i];\n\n if (queuedTarget.blockedOn === unblocked) {\n queuedTarget.blockedOn = null;\n }\n }\n\n while (queuedExplicitHydrationTargets.length > 0) {\n var nextExplicitTarget = queuedExplicitHydrationTargets[0];\n\n if (nextExplicitTarget.blockedOn !== null) {\n // We're still blocked.\n break;\n } else {\n attemptExplicitHydrationTarget(nextExplicitTarget);\n\n if (nextExplicitTarget.blockedOn === null) {\n // We're unblocked.\n queuedExplicitHydrationTargets.shift();\n }\n }\n }\n}\n\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; // TODO: can we stop exporting these?\n\nvar _enabled = true; // This is exported in FB builds for use by legacy FB layer infra.\n// We'd like to remove this but it's not clear if this is safe.\n\nfunction setEnabled(enabled) {\n _enabled = !!enabled;\n}\nfunction isEnabled() {\n return _enabled;\n}\nfunction createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) {\n var eventPriority = getEventPriority(domEventName);\n var listenerWrapper;\n\n switch (eventPriority) {\n case DiscreteEventPriority:\n listenerWrapper = dispatchDiscreteEvent;\n break;\n\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n\n case DefaultEventPriority:\n default:\n listenerWrapper = dispatchEvent;\n break;\n }\n\n return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer);\n}\n\nfunction dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(DiscreteEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = null;\n\n try {\n setCurrentUpdatePriority(ContinuousEventPriority);\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n}\n\nfunction dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n if (!_enabled) {\n return;\n }\n\n {\n dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n }\n}\n\nfunction dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n var blockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (blockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n clearIfContinuousEvent(domEventName, nativeEvent);\n return;\n }\n\n if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) {\n nativeEvent.stopPropagation();\n return;\n } // We need to clear only if we didn't queue because\n // queueing is accumulative.\n\n\n clearIfContinuousEvent(domEventName, nativeEvent);\n\n if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) {\n while (blockedOn !== null) {\n var fiber = getInstanceFromNode(blockedOn);\n\n if (fiber !== null) {\n attemptSynchronousHydration(fiber);\n }\n\n var nextBlockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent);\n\n if (nextBlockedOn === null) {\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer);\n }\n\n if (nextBlockedOn === blockedOn) {\n break;\n }\n\n blockedOn = nextBlockedOn;\n }\n\n if (blockedOn !== null) {\n nativeEvent.stopPropagation();\n }\n\n return;\n } // This is not replayable so we'll invoke it but without a target,\n // in case the event system needs to trace it.\n\n\n dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer);\n}\n\nvar return_targetInst = null; // Returns a SuspenseInstance or Container if it's blocked.\n// The return_targetInst field above is conceptually part of the return value.\n\nfunction findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {\n // TODO: Warn if _enabled is false.\n return_targetInst = null;\n var nativeEventTarget = getEventTarget(nativeEvent);\n var targetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (targetInst !== null) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n\n if (nearestMounted === null) {\n // This tree has been unmounted already. Dispatch without a target.\n targetInst = null;\n } else {\n var tag = nearestMounted.tag;\n\n if (tag === SuspenseComponent) {\n var instance = getSuspenseInstanceFromFiber(nearestMounted);\n\n if (instance !== null) {\n // Queue the event to be replayed later. Abort dispatching since we\n // don't want this event dispatched twice through the event system.\n // TODO: If this is the first discrete event in the queue. Schedule an increased\n // priority for this boundary.\n return instance;\n } // This shouldn't happen, something went wrong but to avoid blocking\n // the whole system, dispatch the event without a target.\n // TODO: Warn.\n\n\n targetInst = null;\n } else if (tag === HostRoot) {\n var root = nearestMounted.stateNode;\n\n if (isRootDehydrated(root)) {\n // If this happens during a replay something went wrong and it might block\n // the whole system.\n return getContainerFromFiber(nearestMounted);\n }\n\n targetInst = null;\n } else if (nearestMounted !== targetInst) {\n // If we get an event (ex: img onload) before committing that\n // component's mount, ignore it for now (that is, treat it as if it was an\n // event on a non-React tree). We might also consider queueing events and\n // dispatching them after the mount.\n targetInst = null;\n }\n }\n }\n\n return_targetInst = targetInst; // We're not blocked on anything.\n\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n // Used by SimpleEventPlugin:\n case 'cancel':\n case 'click':\n case 'close':\n case 'contextmenu':\n case 'copy':\n case 'cut':\n case 'auxclick':\n case 'dblclick':\n case 'dragend':\n case 'dragstart':\n case 'drop':\n case 'focusin':\n case 'focusout':\n case 'input':\n case 'invalid':\n case 'keydown':\n case 'keypress':\n case 'keyup':\n case 'mousedown':\n case 'mouseup':\n case 'paste':\n case 'pause':\n case 'play':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointerup':\n case 'ratechange':\n case 'reset':\n case 'resize':\n case 'seeked':\n case 'submit':\n case 'touchcancel':\n case 'touchend':\n case 'touchstart':\n case 'volumechange': // Used by polyfills:\n // eslint-disable-next-line no-fallthrough\n\n case 'change':\n case 'selectionchange':\n case 'textInput':\n case 'compositionstart':\n case 'compositionend':\n case 'compositionupdate': // Only enableCreateEventHandleAPI:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeblur':\n case 'afterblur': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'beforeinput':\n case 'blur':\n case 'fullscreenchange':\n case 'focus':\n case 'hashchange':\n case 'popstate':\n case 'select':\n case 'selectstart':\n return DiscreteEventPriority;\n\n case 'drag':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'scroll':\n case 'toggle':\n case 'touchmove':\n case 'wheel': // Not used by React but could be by user code:\n // eslint-disable-next-line no-fallthrough\n\n case 'mouseenter':\n case 'mouseleave':\n case 'pointerenter':\n case 'pointerleave':\n return ContinuousEventPriority;\n\n case 'message':\n {\n // We might be in the Scheduler callback.\n // Eventually this mechanism will be replaced by a check\n // of the current priority on the native scheduler.\n var schedulerPriority = getCurrentPriorityLevel();\n\n switch (schedulerPriority) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n\n case UserBlockingPriority:\n return ContinuousEventPriority;\n\n case NormalPriority:\n case LowPriority:\n // TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.\n return DefaultEventPriority;\n\n case IdlePriority:\n return IdleEventPriority;\n\n default:\n return DefaultEventPriority;\n }\n }\n\n default:\n return DefaultEventPriority;\n }\n}\n\nfunction addEventBubbleListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, false);\n return listener;\n}\nfunction addEventCaptureListener(target, eventType, listener) {\n target.addEventListener(eventType, listener, true);\n return listener;\n}\nfunction addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n capture: true,\n passive: passive\n });\n return listener;\n}\nfunction addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) {\n target.addEventListener(eventType, listener, {\n passive: passive\n });\n return listener;\n}\n\n/**\n * These variables store information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n *\n */\nvar root = null;\nvar startText = null;\nvar fallbackText = null;\nfunction initialize(nativeEventTarget) {\n root = nativeEventTarget;\n startText = getText();\n return true;\n}\nfunction reset() {\n root = null;\n startText = null;\n fallbackText = null;\n}\nfunction getData() {\n if (fallbackText) {\n return fallbackText;\n }\n\n var start;\n var startValue = startText;\n var startLength = startValue.length;\n var end;\n var endValue = getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n fallbackText = endValue.slice(start, sliceTail);\n return fallbackText;\n}\nfunction getText() {\n if ('value' in root) {\n return root.value;\n }\n\n return root.textContent;\n}\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\n // report Enter as charCode 10 when ctrl is pressed.\n\n\n if (charCode === 10) {\n charCode = 13;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nfunction functionThatReturnsTrue() {\n return true;\n}\n\nfunction functionThatReturnsFalse() {\n return false;\n} // This is intentionally a factory so that we have different returned constructors.\n// If we had a single constructor, it would be megamorphic and engines would deopt.\n\n\nfunction createSyntheticEvent(Interface) {\n /**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n */\n function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n\n for (var _propName in Interface) {\n if (!Interface.hasOwnProperty(_propName)) {\n continue;\n }\n\n var normalize = Interface[_propName];\n\n if (normalize) {\n this[_propName] = normalize(nativeEvent);\n } else {\n this[_propName] = nativeEvent[_propName];\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = functionThatReturnsTrue;\n } else {\n this.isDefaultPrevented = functionThatReturnsFalse;\n }\n\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = functionThatReturnsTrue;\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // $FlowFixMe - flow is not aware of `unknown` in IE\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = functionThatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {// Modern event system doesn't use pooling.\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n};\nvar SyntheticEvent = createSyntheticEvent(EventInterface);\n\nvar UIEventInterface = assign({}, EventInterface, {\n view: 0,\n detail: 0\n});\n\nvar SyntheticUIEvent = createSyntheticEvent(UIEventInterface);\nvar lastMovementX;\nvar lastMovementY;\nvar lastMouseEvent;\n\nfunction updateMouseMovementPolyfillState(event) {\n if (event !== lastMouseEvent) {\n if (lastMouseEvent && event.type === 'mousemove') {\n lastMovementX = event.screenX - lastMouseEvent.screenX;\n lastMovementY = event.screenY - lastMouseEvent.screenY;\n } else {\n lastMovementX = 0;\n lastMovementY = 0;\n }\n\n lastMouseEvent = event;\n }\n}\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;\n return event.relatedTarget;\n },\n movementX: function (event) {\n if ('movementX' in event) {\n return event.movementX;\n }\n\n updateMouseMovementPolyfillState(event);\n return lastMovementX;\n },\n movementY: function (event) {\n if ('movementY' in event) {\n return event.movementY;\n } // Don't need to call updateMouseMovementPolyfillState() here\n // because it's guaranteed to have already run when movementX\n // was copied.\n\n\n return lastMovementY;\n }\n});\n\nvar SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface);\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar DragEventInterface = assign({}, MouseEventInterface, {\n dataTransfer: 0\n});\n\nvar SyntheticDragEvent = createSyntheticEvent(DragEventInterface);\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar FocusEventInterface = assign({}, UIEventInterface, {\n relatedTarget: 0\n});\n\nvar SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\nvar AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\nvar ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n});\n\nvar SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\nvar CompositionEventInterface = assign({}, EventInterface, {\n data: 0\n});\n\nvar SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n// Happens to share the same list for now.\n\nvar SyntheticInputEvent = SyntheticCompositionEvent;\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n '8': 'Backspace',\n '9': 'Tab',\n '12': 'Clear',\n '13': 'Enter',\n '16': 'Shift',\n '17': 'Control',\n '18': 'Alt',\n '19': 'Pause',\n '20': 'CapsLock',\n '27': 'Escape',\n '32': ' ',\n '33': 'PageUp',\n '34': 'PageDown',\n '35': 'End',\n '36': 'Home',\n '37': 'ArrowLeft',\n '38': 'ArrowUp',\n '39': 'ArrowRight',\n '40': 'ArrowDown',\n '45': 'Insert',\n '46': 'Delete',\n '112': 'F1',\n '113': 'F2',\n '114': 'F3',\n '115': 'F4',\n '116': 'F5',\n '117': 'F6',\n '118': 'F7',\n '119': 'F8',\n '120': 'F9',\n '121': 'F10',\n '122': 'F11',\n '123': 'F12',\n '144': 'NumLock',\n '145': 'ScrollLock',\n '224': 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\n// getModifierState. If getModifierState is not supported, we map it to a set of\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: getEventKey,\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n});\n\nvar SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface);\n/**\n * @interface PointerEvent\n * @see http://www.w3.org/TR/pointerevents/\n */\n\nvar PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n});\n\nvar SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface);\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\nvar TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n});\n\nvar SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface);\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\nvar TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n});\n\nvar SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface);\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: 0,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: 0\n});\n\nvar SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface);\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nfunction registerEvents() {\n registerTwoPhaseEvent('onBeforeInput', ['compositionend', 'keypress', 'textInput', 'paste']);\n registerTwoPhaseEvent('onCompositionEnd', ['compositionend', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionStart', ['compositionstart', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n registerTwoPhaseEvent('onCompositionUpdate', ['compositionupdate', 'focusout', 'keydown', 'keypress', 'keyup', 'mousedown']);\n} // Track whether we've ever handled a keypress on the space key.\n\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n */\n\n\nfunction getCompositionEventType(domEventName) {\n switch (domEventName) {\n case 'compositionstart':\n return 'onCompositionStart';\n\n case 'compositionend':\n return 'onCompositionEnd';\n\n case 'compositionupdate':\n return 'onCompositionUpdate';\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n */\n\n\nfunction isFallbackCompositionStart(domEventName, nativeEvent) {\n return domEventName === 'keydown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n */\n\n\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'keyup':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'keydown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'keypress':\n case 'mousedown':\n case 'focusout':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n}\n/**\n * Check if a composition event was triggered by Korean IME.\n * Our fallback mode does not work well with IE's Korean IME,\n * so just use native composition events when Korean IME is used.\n * Although CompositionEvent.locale property is deprecated,\n * it is available in IE, where our fallback mode is enabled.\n *\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isUsingKoreanIME(nativeEvent) {\n return nativeEvent.locale === 'ko';\n} // Track the current IME composition status, if any.\n\n\nvar isComposing = false;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(domEventName);\n } else if (!isComposing) {\n if (isFallbackCompositionStart(domEventName, nativeEvent)) {\n eventType = 'onCompositionStart';\n }\n } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) {\n eventType = 'onCompositionEnd';\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!isComposing && eventType === 'onCompositionStart') {\n isComposing = initialize(nativeEventTarget);\n } else if (eventType === 'onCompositionEnd') {\n if (isComposing) {\n fallbackData = getData();\n }\n }\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, eventType);\n\n if (listeners.length > 0) {\n var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n event.data = customData;\n }\n }\n }\n}\n\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case 'compositionend':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'keypress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'textInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to ignore it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n */\n\n\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (isComposing) {\n if (domEventName === 'compositionend' || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) {\n var chars = getData();\n reset();\n isComposing = false;\n return chars;\n }\n\n return null;\n }\n\n switch (domEventName) {\n case 'paste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'keypress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (!isKeypressCommand(nativeEvent)) {\n // IE fires the `keypress` event when a user types an emoji via\n // Touch keyboard of Windows. In such a case, the `char` property\n // holds an emoji character like `\\uD83D\\uDE0A`. Because its length\n // is 2, the property `which` does not represent an emoji correctly.\n // In such a case, we directly return the `char` property instead of\n // using `which`.\n if (nativeEvent.char && nativeEvent.char.length > 1) {\n return nativeEvent.char;\n } else if (nativeEvent.which) {\n return String.fromCharCode(nativeEvent.which);\n }\n }\n\n return null;\n\n case 'compositionend':\n return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(domEventName, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(domEventName, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var listeners = accumulateTwoPhaseListeners(targetInst, 'onBeforeInput');\n\n if (listeners.length > 0) {\n var event = new SyntheticInputEvent('onBeforeInput', 'beforeinput', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.data = chars;\n }\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nfunction extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n}\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\nfunction isEventSupported(eventNameSuffix) {\n if (!canUseDOM) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n return isSupported;\n}\n\nfunction registerEvents$1() {\n registerTwoPhaseEvent('onChange', ['change', 'click', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'selectionchange']);\n}\n\nfunction createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {\n // Flag this event loop as needing state restore.\n enqueueStateRestore(target);\n var listeners = accumulateTwoPhaseListeners(inst, 'onChange');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onChange', 'change', null, nativeEvent, target);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement = null;\nvar activeElementInst = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(dispatchQueue, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n batchedUpdates(runEventInBatch, dispatchQueue);\n}\n\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\n\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n\n if (updateValueIfChanged(targetNode)) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (domEventName === 'change') {\n return targetInst;\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n activeElement = null;\n activeElementInst = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n if (domEventName === 'focusin') {\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (domEventName === 'focusout') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(domEventName, targetInst) {\n if (domEventName === 'selectionchange' || domEventName === 'keyup' || domEventName === 'keydown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (domEventName === 'click') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (domEventName === 'input' || domEventName === 'change') {\n return getInstIfValueChanged(targetInst);\n }\n}\n\nfunction handleControlledInputBlur(node) {\n var state = node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n }\n\n {\n // If controlled, assign the value attribute to the current value on blur\n setDefaultValue(node, 'number', node.value);\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nfunction extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(domEventName, targetInst);\n\n if (inst) {\n createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget);\n return;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(domEventName, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (domEventName === 'focusout') {\n handleControlledInputBlur(targetNode);\n }\n}\n\nfunction registerEvents$2() {\n registerDirectEvent('onMouseEnter', ['mouseout', 'mouseover']);\n registerDirectEvent('onMouseLeave', ['mouseout', 'mouseover']);\n registerDirectEvent('onPointerEnter', ['pointerout', 'pointerover']);\n registerDirectEvent('onPointerLeave', ['pointerout', 'pointerover']);\n}\n/**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n\n\nfunction extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var isOverEvent = domEventName === 'mouseover' || domEventName === 'pointerover';\n var isOutEvent = domEventName === 'mouseout' || domEventName === 'pointerout';\n\n if (isOverEvent && !isReplayingEvent(nativeEvent)) {\n // If this is an over event with a target, we might have already dispatched\n // the event in the out event of the other target. If this is replayed,\n // then it's because we couldn't dispatch against this target previously\n // so we have to do it now instead.\n var related = nativeEvent.relatedTarget || nativeEvent.fromElement;\n\n if (related) {\n // If the related node is managed by React, we can assume that we have\n // already dispatched the corresponding events during its mouseout.\n if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) {\n return;\n }\n }\n }\n\n if (!isOutEvent && !isOverEvent) {\n // Must not be a mouse or pointer in or out - ignoring.\n return;\n }\n\n var win; // TODO: why is this nullable in the types but we read from it?\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (isOutEvent) {\n var _related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\n from = targetInst;\n to = _related ? getClosestInstanceFromNode(_related) : null;\n\n if (to !== null) {\n var nearestMounted = getNearestMountedFiber(to);\n\n if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {\n to = null;\n }\n }\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return;\n }\n\n var SyntheticEventCtor = SyntheticMouseEvent;\n var leaveEventType = 'onMouseLeave';\n var enterEventType = 'onMouseEnter';\n var eventTypePrefix = 'mouse';\n\n if (domEventName === 'pointerout' || domEventName === 'pointerover') {\n SyntheticEventCtor = SyntheticPointerEvent;\n leaveEventType = 'onPointerLeave';\n enterEventType = 'onPointerEnter';\n eventTypePrefix = 'pointer';\n }\n\n var fromNode = from == null ? win : getNodeFromInstance(from);\n var toNode = to == null ? win : getNodeFromInstance(to);\n var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + 'leave', from, nativeEvent, nativeEventTarget);\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = null; // We should only process this nativeEvent if we are processing\n // the first ancestor. Next time, we will ignore the event.\n\n var nativeTargetInst = getClosestInstanceFromNode(nativeEventTarget);\n\n if (nativeTargetInst === targetInst) {\n var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + 'enter', to, nativeEvent, nativeEventTarget);\n enterEvent.target = toNode;\n enterEvent.relatedTarget = fromNode;\n enter = enterEvent;\n }\n\n accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to);\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n var currentKey = keysA[i];\n\n if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === TEXT_NODE) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\n/**\n * @param {DOMElement} outerNode\n * @return {?object}\n */\n\nfunction getOffsets(outerNode) {\n var ownerDocument = outerNode.ownerDocument;\n var win = ownerDocument && ownerDocument.defaultView || window;\n var selection = win.getSelection && win.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode,\n anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode,\n focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \"anonymous divs\", e.g. the\n // up/down buttons on an <input type=\"number\">. Anonymous divs do not seem to\n // expose properties, triggering a \"Permission denied error\" if any of its\n // properties are accessed. The only seemingly possible way to avoid erroring\n // is to access a property that typically works for non-anonymous divs and\n // catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable no-unused-expressions */\n anchorNode.nodeType;\n focusNode.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\n}\n/**\n * Returns {start, end} where `start` is the character/codepoint index of\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\n * `end` is the index of (focusNode, focusOffset).\n *\n * Returns null if you pass in garbage input but we should probably just crash.\n *\n * Exported only for testing.\n */\n\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\n var length = 0;\n var start = -1;\n var end = -1;\n var indexWithinAnchor = 0;\n var indexWithinFocus = 0;\n var node = outerNode;\n var parentNode = null;\n\n outer: while (true) {\n var next = null;\n\n while (true) {\n if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\n start = length + anchorOffset;\n }\n\n if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\n end = length + focusOffset;\n }\n\n if (node.nodeType === TEXT_NODE) {\n length += node.nodeValue.length;\n }\n\n if ((next = node.firstChild) === null) {\n break;\n } // Moving from `node` to its first child `next`.\n\n\n parentNode = node;\n node = next;\n }\n\n while (true) {\n if (node === outerNode) {\n // If `outerNode` has children, this is always the second time visiting\n // it. If it has no children, this is still the first loop, and the only\n // valid selection is anchorNode and focusNode both equal to this node\n // and both offsets 0, in which case we will have handled above.\n break outer;\n }\n\n if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\n start = length;\n }\n\n if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\n end = length;\n }\n\n if ((next = node.nextSibling) !== null) {\n break;\n }\n\n node = parentNode;\n parentNode = node.parentNode;\n } // Moving from `node` to its next sibling `next`.\n\n\n node = next;\n }\n\n if (start === -1 || end === -1) {\n // This should never happen. (Would happen if the anchor/focus nodes aren't\n // actually inside the passed-in node.)\n return null;\n }\n\n return {\n start: start,\n end: end\n };\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\nfunction setOffsets(node, offsets) {\n var doc = node.ownerDocument || document;\n var win = doc && doc.defaultView || window; // Edge fails with \"Object expected\" in some scenarios.\n // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\n // fails when pasting 100+ items)\n\n if (!win.getSelection) {\n return;\n }\n\n var selection = win.getSelection();\n var length = node.textContent.length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\n return;\n }\n\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nfunction isTextNode(node) {\n return node && node.nodeType === TEXT_NODE;\n}\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nfunction isInDocument(node) {\n return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\n}\n\nfunction isSameOriginFrame(iframe) {\n try {\n // Accessing the contentDocument of a HTMLIframeElement can cause the browser\n // to throw, e.g. if it has a cross-origin src attribute.\n // Safari will show an error in the console when the access results in \"Blocked a frame with origin\". e.g:\n // iframe.contentDocument.defaultView;\n // A safety way is to access one of the cross origin properties: Window or Location\n // Which might result in \"SecurityError\" DOM Exception and it is compatible to Safari.\n // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\n return typeof iframe.contentWindow.location.href === 'string';\n } catch (err) {\n return false;\n }\n}\n\nfunction getActiveElementDeep() {\n var win = window;\n var element = getActiveElement();\n\n while (element instanceof win.HTMLIFrameElement) {\n if (isSameOriginFrame(element)) {\n win = element.contentWindow;\n } else {\n return element;\n }\n\n element = getActiveElement(win.document);\n }\n\n return element;\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n/**\n * @hasSelectionCapabilities: we get the element types that support selection\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\n * and `selectionEnd` rows.\n */\n\n\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\n}\nfunction getSelectionInformation() {\n var focusedElem = getActiveElementDeep();\n return {\n focusedElem: focusedElem,\n selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null\n };\n}\n/**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n\nfunction restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElementDeep();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\n setSelection(priorFocusedElem, priorSelectionRange);\n } // Focusing a node can change the scroll position, which is undesirable\n\n\n var ancestors = [];\n var ancestor = priorFocusedElem;\n\n while (ancestor = ancestor.parentNode) {\n if (ancestor.nodeType === ELEMENT_NODE) {\n ancestors.push({\n element: ancestor,\n left: ancestor.scrollLeft,\n top: ancestor.scrollTop\n });\n }\n }\n\n if (typeof priorFocusedElem.focus === 'function') {\n priorFocusedElem.focus();\n }\n\n for (var i = 0; i < ancestors.length; i++) {\n var info = ancestors[i];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n}\n/**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n\nfunction getSelection(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else {\n // Content editable or old IE textarea.\n selection = getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n}\n/**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n\nfunction setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else {\n setOffsets(input, offsets);\n }\n}\n\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nfunction registerEvents$3() {\n registerTwoPhaseEvent('onSelect', ['focusout', 'contextmenu', 'dragend', 'focusin', 'keydown', 'keyup', 'mousedown', 'mouseup', 'selectionchange']);\n}\n\nvar activeElement$1 = null;\nvar activeElementInst$1 = null;\nvar lastSelection = null;\nvar mouseDown = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n */\n\nfunction getSelection$1(node) {\n if ('selectionStart' in node && hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else {\n var win = node.ownerDocument && node.ownerDocument.defaultView || window;\n var selection = win.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n }\n}\n/**\n * Get document associated with the event target.\n */\n\n\nfunction getEventTargetDocument(eventTarget) {\n return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @param {object} nativeEventTarget\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n var doc = getEventTargetDocument(nativeEventTarget);\n\n if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {\n return;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection$1(activeElement$1);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var listeners = accumulateTwoPhaseListeners(activeElementInst$1, 'onSelect');\n\n if (listeners.length > 0) {\n var event = new SyntheticEvent('onSelect', 'select', null, nativeEvent, nativeEventTarget);\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n event.target = activeElement$1;\n }\n }\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nfunction extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var targetNode = targetInst ? getNodeFromInstance(targetInst) : window;\n\n switch (domEventName) {\n // Track the input node that has focus.\n case 'focusin':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement$1 = targetNode;\n activeElementInst$1 = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'focusout':\n activeElement$1 = null;\n activeElementInst$1 = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'mousedown':\n mouseDown = true;\n break;\n\n case 'contextmenu':\n case 'mouseup':\n case 'dragend':\n mouseDown = false;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'selectionchange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'keydown':\n case 'keyup':\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n}\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return eventName;\n}\n\nvar ANIMATION_END = getVendorPrefixedEventName('animationend');\nvar ANIMATION_ITERATION = getVendorPrefixedEventName('animationiteration');\nvar ANIMATION_START = getVendorPrefixedEventName('animationstart');\nvar TRANSITION_END = getVendorPrefixedEventName('transitionend');\n\nvar topLevelEventsToReactNames = new Map(); // NOTE: Capitalization is important in this list!\n//\n// E.g. it needs \"pointerDown\", not \"pointerdown\".\n// This is because we derive both React name (\"onPointerDown\")\n// and DOM name (\"pointerdown\") from the same list.\n//\n// Exceptions that don't match this convention are listed separately.\n//\n// prettier-ignore\n\nvar simpleEventPluginEvents = ['abort', 'auxClick', 'cancel', 'canPlay', 'canPlayThrough', 'click', 'close', 'contextMenu', 'copy', 'cut', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'gotPointerCapture', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'lostPointerCapture', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'pointerCancel', 'pointerDown', 'pointerMove', 'pointerOut', 'pointerOver', 'pointerUp', 'progress', 'rateChange', 'reset', 'resize', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchStart', 'volumeChange', 'scroll', 'toggle', 'touchMove', 'waiting', 'wheel'];\n\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\n\nfunction registerSimpleEvents() {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i];\n var domEventName = eventName.toLowerCase();\n var capitalizedEvent = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, 'on' + capitalizedEvent);\n } // Special cases where event names don't match.\n\n\n registerSimpleEvent(ANIMATION_END, 'onAnimationEnd');\n registerSimpleEvent(ANIMATION_ITERATION, 'onAnimationIteration');\n registerSimpleEvent(ANIMATION_START, 'onAnimationStart');\n registerSimpleEvent('dblclick', 'onDoubleClick');\n registerSimpleEvent('focusin', 'onFocus');\n registerSimpleEvent('focusout', 'onBlur');\n registerSimpleEvent(TRANSITION_END, 'onTransitionEnd');\n}\n\nfunction extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n\n if (reactName === undefined) {\n return;\n }\n\n var SyntheticEventCtor = SyntheticEvent;\n var reactEventType = domEventName;\n\n switch (domEventName) {\n case 'keypress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return;\n }\n\n /* falls through */\n\n case 'keydown':\n case 'keyup':\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n\n case 'focusin':\n reactEventType = 'focus';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'focusout':\n reactEventType = 'blur';\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'beforeblur':\n case 'afterblur':\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n\n case 'click':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return;\n }\n\n /* falls through */\n\n case 'auxclick':\n case 'dblclick':\n case 'mousedown':\n case 'mousemove':\n case 'mouseup': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'mouseout':\n case 'mouseover':\n case 'contextmenu':\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n\n case 'drag':\n case 'dragend':\n case 'dragenter':\n case 'dragexit':\n case 'dragleave':\n case 'dragover':\n case 'dragstart':\n case 'drop':\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n\n case 'touchcancel':\n case 'touchend':\n case 'touchmove':\n case 'touchstart':\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n\n case 'scroll':\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n\n case 'wheel':\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n\n case 'copy':\n case 'cut':\n case 'paste':\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n\n case 'gotpointercapture':\n case 'lostpointercapture':\n case 'pointercancel':\n case 'pointerdown':\n case 'pointermove':\n case 'pointerout':\n case 'pointerover':\n case 'pointerup':\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n }\n\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n {\n // Some events don't bubble in the browser.\n // In the past, React has always bubbled them, but this can be surprising.\n // We're going to try aligning closer to the browser behavior by not bubbling\n // them in React either. We'll start by not bubbling onScroll, and then expand.\n var accumulateTargetOnly = !inCapturePhase && // TODO: ideally, we'd eventually add all events from\n // nonDelegatedEvents list in DOMPluginEventSystem.\n // Then we can remove this special list.\n // This is a breaking change that can wait until React 18.\n domEventName === 'scroll';\n\n var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly);\n\n if (_listeners.length > 0) {\n // Intentionally create event lazily.\n var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget);\n\n dispatchQueue.push({\n event: _event,\n listeners: _listeners\n });\n }\n }\n}\n\n// TODO: remove top-level side effect.\nregisterSimpleEvents();\nregisterEvents$2();\nregisterEvents$1();\nregisterEvents$3();\nregisterEvents();\n\nfunction extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) {\n // TODO: we should remove the concept of a \"SimpleEventPlugin\".\n // This is the basic functionality of the event system. All\n // the other plugins are essentially polyfills. So the plugin\n // should probably be inlined somewhere and have its logic\n // be core the to event system. This would potentially allow\n // us to ship builds of React without the polyfilled plugins below.\n extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n var shouldProcessPolyfillPlugins = (eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0; // We don't process these events unless we are in the\n // event's native \"bubble\" phase, which means that we're\n // not in the capture phase. That's because we emulate\n // the capture phase here still. This is a trade-off,\n // because in an ideal world we would not emulate and use\n // the phases properly, like we do with the SimpleEvent\n // plugin. However, the plugins below either expect\n // emulation (EnterLeave) or use state localized to that\n // plugin (BeforeInput, Change, Select). The state in\n // these modules complicates things, as you'll essentially\n // get the case where the capture phase event might change\n // state, only for the following bubble event to come in\n // later and not trigger anything as the state now\n // invalidates the heuristics of the event plugin. We\n // could alter all these plugins to work in such ways, but\n // that might cause other unknown side-effects that we\n // can't foresee right now.\n\n if (shouldProcessPolyfillPlugins) {\n extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget);\n }\n} // List of events that need to be individually attached to media elements.\n\n\nvar mediaEventTypes = ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'encrypted', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'resize', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting']; // We should not delegate these events to the container, but rather\n// set them on the actual target element itself. This is primarily\n// because these events do not consistently bubble in the DOM.\n\nvar nonDelegatedEvents = new Set(['cancel', 'close', 'invalid', 'load', 'scroll', 'toggle'].concat(mediaEventTypes));\n\nfunction executeDispatch(event, listener, currentTarget) {\n var type = event.type || 'unknown-event';\n event.currentTarget = currentTarget;\n invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\n event.currentTarget = null;\n}\n\nfunction processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) {\n var previousInstance;\n\n if (inCapturePhase) {\n for (var i = dispatchListeners.length - 1; i >= 0; i--) {\n var _dispatchListeners$i = dispatchListeners[i],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget,\n listener = _dispatchListeners$i.listener;\n\n if (instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, listener, currentTarget);\n previousInstance = instance;\n }\n } else {\n for (var _i = 0; _i < dispatchListeners.length; _i++) {\n var _dispatchListeners$_i = dispatchListeners[_i],\n _instance = _dispatchListeners$_i.instance,\n _currentTarget = _dispatchListeners$_i.currentTarget,\n _listener = _dispatchListeners$_i.listener;\n\n if (_instance !== previousInstance && event.isPropagationStopped()) {\n return;\n }\n\n executeDispatch(event, _listener, _currentTarget);\n previousInstance = _instance;\n }\n }\n}\n\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0;\n\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event,\n listeners = _dispatchQueue$i.listeners;\n processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); // event system doesn't use pooling.\n } // This would be a good time to rethrow if any of the event handlers threw.\n\n\n rethrowCaughtError();\n}\n\nfunction dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var nativeEventTarget = getEventTarget(nativeEvent);\n var dispatchQueue = [];\n extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n}\n\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n {\n if (!nonDelegatedEvents.has(domEventName)) {\n error('Did not expect a listenToNonDelegatedEvent() call for \"%s\". ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var isCapturePhaseListener = false;\n var listenerSet = getEventListenerSet(targetElement);\n var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener);\n\n if (!listenerSet.has(listenerSetKey)) {\n addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener);\n listenerSet.add(listenerSetKey);\n }\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n {\n if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) {\n error('Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. ' + 'This is a bug in React. Please file an issue.', domEventName);\n }\n }\n\n var eventSystemFlags = 0;\n\n if (isCapturePhaseListener) {\n eventSystemFlags |= IS_CAPTURE_PHASE;\n }\n\n addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener);\n} // This is only used by createEventHandle when the\nvar listeningMarker = '_reactListening' + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = true;\n allNativeEvents.forEach(function (domEventName) {\n // We handle selectionchange separately because it\n // doesn't bubble and needs to be on the document.\n if (domEventName !== 'selectionchange') {\n if (!nonDelegatedEvents.has(domEventName)) {\n listenToNativeEvent(domEventName, false, rootContainerElement);\n }\n\n listenToNativeEvent(domEventName, true, rootContainerElement);\n }\n });\n var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n\n if (ownerDocument !== null) {\n // The selectionchange event also needs deduplication\n // but it is attached to the document.\n if (!ownerDocument[listeningMarker]) {\n ownerDocument[listeningMarker] = true;\n listenToNativeEvent('selectionchange', false, ownerDocument);\n }\n }\n }\n}\n\nfunction addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) {\n var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); // If passive option is not supported, then the event will be\n // active and not passive.\n\n var isPassiveListener = undefined;\n\n if (passiveBrowserEventsSupported) {\n // Browsers introduced an intervention, making these events\n // passive by default on document. React doesn't bind them\n // to document anymore, but changing this now would undo\n // the performance wins from the change. So we emulate\n // the existing behavior manually on the roots now.\n // https://github.com/facebook/react/issues/19651\n if (domEventName === 'touchstart' || domEventName === 'touchmove' || domEventName === 'wheel') {\n isPassiveListener = true;\n }\n }\n\n targetContainer = targetContainer;\n var unsubscribeListener; // When legacyFBSupport is enabled, it's for when we\n\n\n if (isCapturePhaseListener) {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventCaptureListener(targetContainer, domEventName, listener);\n }\n } else {\n if (isPassiveListener !== undefined) {\n unsubscribeListener = addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener);\n } else {\n unsubscribeListener = addEventBubbleListener(targetContainer, domEventName, listener);\n }\n }\n}\n\nfunction isMatchingRootContainer(grandContainer, targetContainer) {\n return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer;\n}\n\nfunction dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) {\n var ancestorInst = targetInst;\n\n if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) {\n var targetContainerNode = targetContainer; // If we are using the legacy FB support flag, we\n\n if (targetInst !== null) {\n // The below logic attempts to work out if we need to change\n // the target fiber to a different ancestor. We had similar logic\n // in the legacy event system, except the big difference between\n // systems is that the modern event system now has an event listener\n // attached to each React Root and React Portal Root. Together,\n // the DOM nodes representing these roots are the \"rootContainer\".\n // To figure out which ancestor instance we should use, we traverse\n // up the fiber tree from the target instance and attempt to find\n // root boundaries that match that of our current \"rootContainer\".\n // If we find that \"rootContainer\", we find the parent fiber\n // sub-tree for that root and make that our ancestor instance.\n var node = targetInst;\n\n mainLoop: while (true) {\n if (node === null) {\n return;\n }\n\n var nodeTag = node.tag;\n\n if (nodeTag === HostRoot || nodeTag === HostPortal) {\n var container = node.stateNode.containerInfo;\n\n if (isMatchingRootContainer(container, targetContainerNode)) {\n break;\n }\n\n if (nodeTag === HostPortal) {\n // The target is a portal, but it's not the rootContainer we're looking for.\n // Normally portals handle their own events all the way down to the root.\n // So we should be able to stop now. However, we don't know if this portal\n // was part of *our* root.\n var grandNode = node.return;\n\n while (grandNode !== null) {\n var grandTag = grandNode.tag;\n\n if (grandTag === HostRoot || grandTag === HostPortal) {\n var grandContainer = grandNode.stateNode.containerInfo;\n\n if (isMatchingRootContainer(grandContainer, targetContainerNode)) {\n // This is the rootContainer we're looking for and we found it as\n // a parent of the Portal. That means we can ignore it because the\n // Portal will bubble through to us.\n return;\n }\n }\n\n grandNode = grandNode.return;\n }\n } // Now we need to find it's corresponding host fiber in the other\n // tree. To do this we can use getClosestInstanceFromNode, but we\n // need to validate that the fiber is a host instance, otherwise\n // we need to traverse up through the DOM till we find the correct\n // node that is from the other tree.\n\n\n while (container !== null) {\n var parentNode = getClosestInstanceFromNode(container);\n\n if (parentNode === null) {\n return;\n }\n\n var parentTag = parentNode.tag;\n\n if (parentTag === HostComponent || parentTag === HostText) {\n node = ancestorInst = parentNode;\n continue mainLoop;\n }\n\n container = container.parentNode;\n }\n }\n\n node = node.return;\n }\n }\n }\n\n batchedUpdates(function () {\n return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst);\n });\n}\n\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\n\nfunction accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) {\n var captureName = reactName !== null ? reactName + 'Capture' : null;\n var reactEventName = inCapturePhase ? captureName : reactName;\n var listeners = [];\n var instance = targetFiber;\n var lastHostComponent = null; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance2 = instance,\n stateNode = _instance2.stateNode,\n tag = _instance2.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n lastHostComponent = stateNode; // createEventHandle listeners\n\n\n if (reactEventName !== null) {\n var listener = getListener(instance, reactEventName);\n\n if (listener != null) {\n listeners.push(createDispatchListener(instance, listener, lastHostComponent));\n }\n }\n } // If we are only accumulating events for the target, then we don't\n // continue to propagate through the React fiber tree to find other\n // listeners.\n\n\n if (accumulateTargetOnly) {\n break;\n } // If we are processing the onBeforeBlur event, then we need to take\n\n instance = instance.return;\n }\n\n return listeners;\n} // We should only use this function for:\n// - BeforeInputEventPlugin\n// - ChangeEventPlugin\n// - SelectEventPlugin\n// This is because we only process these plugins\n// in the bubble phase, so we need to accumulate two\n// phase event listeners (via emulation).\n\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n var captureName = reactName + 'Capture';\n var listeners = [];\n var instance = targetFiber; // Accumulate all instances and listeners via the target -> root path.\n\n while (instance !== null) {\n var _instance3 = instance,\n stateNode = _instance3.stateNode,\n tag = _instance3.tag; // Handle listeners that are on HostComponents (i.e. <div>)\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n var captureListener = getListener(instance, captureName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n\n var bubbleListener = getListener(instance, reactName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n\n instance = instance.return;\n }\n\n return listeners;\n}\n\nfunction getParent(inst) {\n if (inst === null) {\n return null;\n }\n\n do {\n inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\n // That is depending on if we want nested subtrees (layers) to bubble\n // events to their parent. We could also go through parentNode on the\n // host node but that wouldn't work for React Native and doesn't let us\n // do the portal feature.\n } while (inst && inst.tag !== HostComponent);\n\n if (inst) {\n return inst;\n }\n\n return null;\n}\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n var nodeA = instA;\n var nodeB = instB;\n var depthA = 0;\n\n for (var tempA = nodeA; tempA; tempA = getParent(tempA)) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = nodeB; tempB; tempB = getParent(tempB)) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n nodeA = getParent(nodeA);\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n nodeB = getParent(nodeB);\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) {\n return nodeA;\n }\n\n nodeA = getParent(nodeA);\n nodeB = getParent(nodeB);\n }\n\n return null;\n}\n\nfunction accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {\n var registrationName = event._reactName;\n var listeners = [];\n var instance = target;\n\n while (instance !== null) {\n if (instance === common) {\n break;\n }\n\n var _instance4 = instance,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode,\n tag = _instance4.tag;\n\n if (alternate !== null && alternate === common) {\n break;\n }\n\n if (tag === HostComponent && stateNode !== null) {\n var currentTarget = stateNode;\n\n if (inCapturePhase) {\n var captureListener = getListener(instance, registrationName);\n\n if (captureListener != null) {\n listeners.unshift(createDispatchListener(instance, captureListener, currentTarget));\n }\n } else if (!inCapturePhase) {\n var bubbleListener = getListener(instance, registrationName);\n\n if (bubbleListener != null) {\n listeners.push(createDispatchListener(instance, bubbleListener, currentTarget));\n }\n }\n }\n\n instance = instance.return;\n }\n\n if (listeners.length !== 0) {\n dispatchQueue.push({\n event: event,\n listeners: listeners\n });\n }\n} // We should only use this function for:\n// - EnterLeaveEventPlugin\n// This is because we only process this plugin\n// in the bubble phase, so we need to accumulate two\n// phase event listeners.\n\n\nfunction accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\n if (from !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false);\n }\n\n if (to !== null && enterEvent !== null) {\n accumulateEnterLeaveListenersForEvent(dispatchQueue, enterEvent, to, common, true);\n }\n}\nfunction getListenerSetKey(domEventName, capture) {\n return domEventName + \"__\" + (capture ? 'capture' : 'bubble');\n}\n\nvar didWarnInvalidHydration = false;\nvar DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';\nvar SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\nvar AUTOFOCUS = 'autoFocus';\nvar CHILDREN = 'children';\nvar STYLE = 'style';\nvar HTML$1 = '__html';\nvar warnedUnknownTags;\nvar validatePropertiesInDevelopment;\nvar warnForPropDifference;\nvar warnForExtraAttributes;\nvar warnForInvalidEventListener;\nvar canDiffStyleForHydrationWarning;\nvar normalizeHTML;\n\n{\n warnedUnknownTags = {\n // There are working polyfills for <dialog>. Let people use it.\n dialog: true,\n // Electron ships a custom <webview> tag to display external web content in\n // an isolated frame and process.\n // This tag is not present in non Electron environments such as JSDom which\n // is often used for testing purposes.\n // @see https://electronjs.org/docs/api/webview-tag\n webview: true\n };\n\n validatePropertiesInDevelopment = function (type, props) {\n validateProperties(type, props);\n validateProperties$1(type, props);\n validateProperties$2(type, props, {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n });\n }; // IE 11 parses & normalizes the style attribute as opposed to other\n // browsers. It adds spaces and sorts the properties in some\n // non-alphabetical order. Handling that would require sorting CSS\n // properties in the client & server versions or applying\n // `expectedStyle` to a temporary DOM node to read its `style` attribute\n // normalized. Since it only affects IE, we're skipping style warnings\n // in that browser completely in favor of doing all that work.\n // See https://github.com/facebook/react/issues/11807\n\n\n canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode;\n\n warnForPropDifference = function (propName, serverValue, clientValue) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\n var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\n\n if (normalizedServerValue === normalizedClientValue) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\n };\n\n warnForExtraAttributes = function (attributeNames) {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n var names = [];\n attributeNames.forEach(function (name) {\n names.push(name);\n });\n\n error('Extra attributes from the server: %s', names);\n };\n\n warnForInvalidEventListener = function (registrationName, listener) {\n if (listener === false) {\n error('Expected `%s` listener to be a function, instead got `false`.\\n\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\n } else {\n error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\n }\n }; // Parse the HTML and read it back to normalize the HTML string so that it\n // can be used for comparison.\n\n\n normalizeHTML = function (parent, html) {\n // We could have created a separate document here to avoid\n // re-initializing custom elements if they exist. But this breaks\n // how <noscript> is being handled. So we use the same document.\n // See the discussion in https://github.com/facebook/react/pull/11157.\n var testElement = parent.namespaceURI === HTML_NAMESPACE ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);\n testElement.innerHTML = html;\n return testElement.innerHTML;\n };\n} // HTML parsing normalizes CR and CRLF to LF.\n// It also can turn \\u0000 into \\uFFFD inside attributes.\n// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\n// If we have a mismatch, it might be caused by that.\n// We will still patch up in this case but not fire the warning.\n\n\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g;\nvar NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\n\nfunction normalizeMarkupForTextOrAttribute(markup) {\n {\n checkHtmlStringCoercion(markup);\n }\n\n var markupString = typeof markup === 'string' ? markup : '' + markup;\n return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\n}\n\nfunction checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) {\n var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\n var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\n\n if (normalizedServerText === normalizedClientText) {\n return;\n }\n\n if (shouldWarnDev) {\n {\n if (!didWarnInvalidHydration) {\n didWarnInvalidHydration = true;\n\n error('Text content did not match. Server: \"%s\" Client: \"%s\"', normalizedServerText, normalizedClientText);\n }\n }\n }\n\n if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) {\n // In concurrent roots, we throw when there's a text mismatch and revert to\n // client rendering, up to the nearest Suspense boundary.\n throw new Error('Text content does not match server-rendered HTML.');\n }\n}\n\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\n}\n\nfunction noop() {}\n\nfunction trapClickOnNonInteractiveElement(node) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // https://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n // Just set it using the onclick property so that we don't have to manage any\n // bookkeeping for it. Not sure if we need to clear it when the listener is\n // removed.\n // TODO: Only do this for the relevant Safaris maybe?\n node.onclick = noop;\n}\n\nfunction setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {\n for (var propKey in nextProps) {\n if (!nextProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = nextProps[propKey];\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n } // Relies on `updateStylesByID` not mutating `styleUpdates`.\n\n\n setValueForStyles(domElement, nextProp);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n setInnerHTML(domElement, nextHtml);\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string') {\n // Avoid setting initial textContent when the text is empty. In IE11 setting\n // textContent on a <textarea> will cause the placeholder to not\n // show within the <textarea> until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n var canSetTextContent = tag !== 'textarea' || nextProp !== '';\n\n if (canSetTextContent) {\n setTextContent(domElement, nextProp);\n }\n } else if (typeof nextProp === 'number') {\n setTextContent(domElement, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (nextProp != null) {\n setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);\n }\n }\n}\n\nfunction updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {\n // TODO: Handle wasCustomComponentTag\n for (var i = 0; i < updatePayload.length; i += 2) {\n var propKey = updatePayload[i];\n var propValue = updatePayload[i + 1];\n\n if (propKey === STYLE) {\n setValueForStyles(domElement, propValue);\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n setInnerHTML(domElement, propValue);\n } else if (propKey === CHILDREN) {\n setTextContent(domElement, propValue);\n } else {\n setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);\n }\n }\n}\n\nfunction createElement(type, props, rootContainerElement, parentNamespace) {\n var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n\n var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);\n var domElement;\n var namespaceURI = parentNamespace;\n\n if (namespaceURI === HTML_NAMESPACE) {\n namespaceURI = getIntrinsicNamespace(type);\n }\n\n if (namespaceURI === HTML_NAMESPACE) {\n {\n isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to\n // allow <SVG> or <mATH>.\n\n if (!isCustomComponentTag && type !== type.toLowerCase()) {\n error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\n }\n }\n\n if (type === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n\n div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\n // This is guaranteed to yield a script element.\n\n var firstChild = div.firstChild;\n domElement = div.removeChild(firstChild);\n } else if (typeof props.is === 'string') {\n // $FlowIssue `createElement` should be updated for Web Components\n domElement = ownerDocument.createElement(type, {\n is: props.is\n });\n } else {\n // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`\n // attributes on `select`s needs to be added before `option`s are inserted.\n // This prevents:\n // - a bug where the `select` does not scroll to the correct option because singular\n // `select` elements automatically pick the first item #13222\n // - a bug where the `select` set the first item as selected despite the `size` attribute #14239\n // See https://github.com/facebook/react/issues/13222\n // and https://github.com/facebook/react/issues/14239\n\n if (type === 'select') {\n var node = domElement;\n\n if (props.multiple) {\n node.multiple = true;\n } else if (props.size) {\n // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\n // it is possible that no option is selected.\n //\n // This is only necessary when a select in \"single selection mode\".\n node.size = props.size;\n }\n }\n }\n } else {\n domElement = ownerDocument.createElementNS(namespaceURI, type);\n }\n\n {\n if (namespaceURI === HTML_NAMESPACE) {\n if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !hasOwnProperty.call(warnedUnknownTags, type)) {\n warnedUnknownTags[type] = true;\n\n error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\n }\n }\n }\n\n return domElement;\n}\nfunction createTextNode(text, rootContainerElement) {\n return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);\n}\nfunction setInitialProperties(domElement, tag, rawProps, rootContainerElement) {\n var isCustomComponentTag = isCustomComponent(tag, rawProps);\n\n {\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n var props;\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n props = rawProps;\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n props = rawProps;\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n props = rawProps;\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n props = rawProps;\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n props = rawProps;\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps);\n props = getHostProps(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n props = rawProps;\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps);\n props = getHostProps$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps);\n props = getHostProps$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n default:\n props = rawProps;\n }\n\n assertValidProps(tag, props);\n setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, false);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'option':\n postMountWrapper$1(domElement, rawProps);\n break;\n\n case 'select':\n postMountWrapper$2(domElement, rawProps);\n break;\n\n default:\n if (typeof props.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n} // Calculate the diff between the two objects.\n\nfunction diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {\n {\n validatePropertiesInDevelopment(tag, nextRawProps);\n }\n\n var updatePayload = null;\n var lastProps;\n var nextProps;\n\n switch (tag) {\n case 'input':\n lastProps = getHostProps(domElement, lastRawProps);\n nextProps = getHostProps(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'select':\n lastProps = getHostProps$1(domElement, lastRawProps);\n nextProps = getHostProps$1(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n case 'textarea':\n lastProps = getHostProps$2(domElement, lastRawProps);\n nextProps = getHostProps$2(domElement, nextRawProps);\n updatePayload = [];\n break;\n\n default:\n lastProps = lastRawProps;\n nextProps = nextRawProps;\n\n if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n assertValidProps(tag, nextProps);\n var propKey;\n var styleName;\n var styleUpdates = null;\n\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n var lastStyle = lastProps[propKey];\n\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" fiber pointer gets updated so we need a commit\n // to update this element.\n if (!updatePayload) {\n updatePayload = [];\n }\n } else {\n // For all other deleted properties we add it to the queue. We use\n // the allowed property list in the commit phase instead.\n (updatePayload = updatePayload || []).push(propKey, null);\n }\n }\n\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = lastProps != null ? lastProps[propKey] : undefined;\n\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n {\n if (nextProp) {\n // Freeze the next style object so that we can assume it won't be\n // mutated. We have already warned for this in the past.\n Object.freeze(nextProp);\n }\n }\n\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = '';\n }\n } // Update styles that changed since `lastProp`.\n\n\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n if (!styleUpdates) {\n styleUpdates = {};\n }\n\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n if (!styleUpdates) {\n if (!updatePayload) {\n updatePayload = [];\n }\n\n updatePayload.push(propKey, styleUpdates);\n }\n\n styleUpdates = nextProp;\n }\n } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n var lastHtml = lastProp ? lastProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n (updatePayload = updatePayload || []).push(propKey, nextHtml);\n }\n }\n } else if (propKey === CHILDREN) {\n if (typeof nextProp === 'string' || typeof nextProp === 'number') {\n (updatePayload = updatePayload || []).push(propKey, '' + nextProp);\n }\n } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n // We eagerly listen to this even though we haven't committed yet.\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n\n if (!updatePayload && lastProp !== nextProp) {\n // This is a special case. If any listener updates we need to ensure\n // that the \"current\" props pointer gets updated so we need a commit\n // to update this element.\n updatePayload = [];\n }\n } else {\n // For any other property we always add it to the queue and then we\n // filter it out using the allowed property list during the commit.\n (updatePayload = updatePayload || []).push(propKey, nextProp);\n }\n }\n\n if (styleUpdates) {\n {\n validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);\n }\n\n (updatePayload = updatePayload || []).push(STYLE, styleUpdates);\n }\n\n return updatePayload;\n} // Apply the diff.\n\nfunction updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {\n // Update checked *before* name.\n // In the middle of an update, it is possible to have multiple checked.\n // When a checked radio tries to change name, browser makes another radio's checked false.\n if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {\n updateChecked(domElement, nextRawProps);\n }\n\n var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);\n var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.\n\n updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props\n // changed.\n\n switch (tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n updateWrapper(domElement, nextRawProps);\n break;\n\n case 'textarea':\n updateWrapper$1(domElement, nextRawProps);\n break;\n\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n postUpdateWrapper(domElement, nextRawProps);\n break;\n }\n}\n\nfunction getPossibleStandardName(propName) {\n {\n var lowerCasedName = propName.toLowerCase();\n\n if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n return null;\n }\n\n return possibleStandardNames[lowerCasedName] || null;\n }\n}\n\nfunction diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement, isConcurrentMode, shouldWarnDev) {\n var isCustomComponentTag;\n var extraAttributeNames;\n\n {\n isCustomComponentTag = isCustomComponent(tag, rawProps);\n validatePropertiesInDevelopment(tag, rawProps);\n } // TODO: Make sure that we check isMounted before firing any of these events.\n\n\n switch (tag) {\n case 'dialog':\n listenToNonDelegatedEvent('cancel', domElement);\n listenToNonDelegatedEvent('close', domElement);\n break;\n\n case 'iframe':\n case 'object':\n case 'embed':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the load event.\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'video':\n case 'audio':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for all the media events.\n for (var i = 0; i < mediaEventTypes.length; i++) {\n listenToNonDelegatedEvent(mediaEventTypes[i], domElement);\n }\n\n break;\n\n case 'source':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the error event.\n listenToNonDelegatedEvent('error', domElement);\n break;\n\n case 'img':\n case 'image':\n case 'link':\n // We listen to these events in case to ensure emulated bubble\n // listeners still fire for error and load events.\n listenToNonDelegatedEvent('error', domElement);\n listenToNonDelegatedEvent('load', domElement);\n break;\n\n case 'details':\n // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the toggle event.\n listenToNonDelegatedEvent('toggle', domElement);\n break;\n\n case 'input':\n initWrapperState(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'option':\n validateProps(domElement, rawProps);\n break;\n\n case 'select':\n initWrapperState$1(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n\n case 'textarea':\n initWrapperState$2(domElement, rawProps); // We listen to this event in case to ensure emulated bubble\n // listeners still fire for the invalid event.\n\n listenToNonDelegatedEvent('invalid', domElement);\n break;\n }\n\n assertValidProps(tag, rawProps);\n\n {\n extraAttributeNames = new Set();\n var attributes = domElement.attributes;\n\n for (var _i = 0; _i < attributes.length; _i++) {\n var name = attributes[_i].name.toLowerCase();\n\n switch (name) {\n // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n case 'value':\n break;\n\n case 'checked':\n break;\n\n case 'selected':\n break;\n\n default:\n // Intentionally use the original name.\n // See discussion in https://github.com/facebook/react/pull/10676.\n extraAttributeNames.add(attributes[_i].name);\n }\n }\n }\n\n var updatePayload = null;\n\n for (var propKey in rawProps) {\n if (!rawProps.hasOwnProperty(propKey)) {\n continue;\n }\n\n var nextProp = rawProps[propKey];\n\n if (propKey === CHILDREN) {\n // For text content children we compare against textContent. This\n // might match additional HTML that is hidden when we read it using\n // textContent. E.g. \"foo\" will match \"f<span>oo</span>\" but that still\n // satisfies our requirement. Our requirement is not to produce perfect\n // HTML and attributes. Ideally we should preserve structure but it's\n // ok not to if the visible content is still enough to indicate what\n // even listeners these nodes might be wired up to.\n // TODO: Warn if there is more than a single textNode as a child.\n // TODO: Should we use domElement.firstChild.nodeValue to compare?\n if (typeof nextProp === 'string') {\n if (domElement.textContent !== nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, nextProp];\n }\n } else if (typeof nextProp === 'number') {\n if (domElement.textContent !== '' + nextProp) {\n if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev);\n }\n\n updatePayload = [CHILDREN, '' + nextProp];\n }\n }\n } else if (registrationNameDependencies.hasOwnProperty(propKey)) {\n if (nextProp != null) {\n if ( typeof nextProp !== 'function') {\n warnForInvalidEventListener(propKey, nextProp);\n }\n\n if (propKey === 'onScroll') {\n listenToNonDelegatedEvent('scroll', domElement);\n }\n }\n } else if (shouldWarnDev && true && // Convince Flow we've calculated it (it's DEV-only in this method.)\n typeof isCustomComponentTag === 'boolean') {\n // Validate that the properties correspond to their expected values.\n var serverValue = void 0;\n var propertyInfo = isCustomComponentTag && enableCustomElementPropertySupport ? null : getPropertyInfo(propKey);\n\n if (rawProps[SUPPRESS_HYDRATION_WARNING] === true) ; else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated\n // TODO: Only ignore them on controlled tags.\n propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\n var serverHTML = domElement.innerHTML;\n var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\n\n if (nextHtml != null) {\n var expectedHTML = normalizeHTML(domElement, nextHtml);\n\n if (expectedHTML !== serverHTML) {\n warnForPropDifference(propKey, serverHTML, expectedHTML);\n }\n }\n } else if (propKey === STYLE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey);\n\n if (canDiffStyleForHydrationWarning) {\n var expectedStyle = createDangerousStringForStyles(nextProp);\n serverValue = domElement.getAttribute('style');\n\n if (expectedStyle !== serverValue) {\n warnForPropDifference(propKey, serverValue, expectedStyle);\n }\n }\n } else if (isCustomComponentTag && !enableCustomElementPropertySupport) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n\n if (nextProp !== serverValue) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {\n var isMismatchDueToBadCasing = false;\n\n if (propertyInfo !== null) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propertyInfo.attributeName);\n serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);\n } else {\n var ownNamespace = parentNamespace;\n\n if (ownNamespace === HTML_NAMESPACE) {\n ownNamespace = getIntrinsicNamespace(tag);\n }\n\n if (ownNamespace === HTML_NAMESPACE) {\n // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.delete(propKey.toLowerCase());\n } else {\n var standardName = getPossibleStandardName(propKey);\n\n if (standardName !== null && standardName !== propKey) {\n // If an SVG prop is supplied with bad casing, it will\n // be successfully parsed from HTML, but will produce a mismatch\n // (and would be incorrectly rendered on the client).\n // However, we already warn about bad casing elsewhere.\n // So we'll skip the misleading extra mismatch warning in this case.\n isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.\n\n extraAttributeNames.delete(standardName);\n } // $FlowFixMe - Should be inferred as not undefined.\n\n\n extraAttributeNames.delete(propKey);\n }\n\n serverValue = getValueForAttribute(domElement, propKey, nextProp);\n }\n\n var dontWarnCustomElement = enableCustomElementPropertySupport ;\n\n if (!dontWarnCustomElement && nextProp !== serverValue && !isMismatchDueToBadCasing) {\n warnForPropDifference(propKey, serverValue, nextProp);\n }\n }\n }\n }\n\n {\n if (shouldWarnDev) {\n if ( // $FlowFixMe - Should be inferred as not undefined.\n extraAttributeNames.size > 0 && rawProps[SUPPRESS_HYDRATION_WARNING] !== true) {\n // $FlowFixMe - Should be inferred as not undefined.\n warnForExtraAttributes(extraAttributeNames);\n }\n }\n }\n\n switch (tag) {\n case 'input':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper(domElement, rawProps, true);\n break;\n\n case 'textarea':\n // TODO: Make sure we check if this is still unmounted or do any clean\n // up necessary since we never stop tracking anymore.\n track(domElement);\n postMountWrapper$3(domElement);\n break;\n\n case 'select':\n case 'option':\n // For input and textarea we current always set the value property at\n // post mount to force it to diverge from attributes. However, for\n // option and select we don't quite do the same thing and select\n // is not resilient to the DOM state changing so we don't do that here.\n // TODO: Consider not doing this for input and textarea.\n break;\n\n default:\n if (typeof rawProps.onClick === 'function') {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(domElement);\n }\n\n break;\n }\n\n return updatePayload;\n}\nfunction diffHydratedText(textNode, text, isConcurrentMode) {\n var isDifferent = textNode.nodeValue !== text;\n return isDifferent;\n}\nfunction warnForDeletedHydratableElement(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForDeletedHydratableText(parentNode, child) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Did not expect server HTML to contain the text node \"%s\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\n {\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\n }\n}\nfunction warnForInsertedHydratedText(parentNode, text) {\n {\n if (text === '') {\n // We expect to insert empty text nodes since they're not represented in\n // the HTML.\n // TODO: Remove this special case if we can just avoid inserting empty\n // text nodes.\n return;\n }\n\n if (didWarnInvalidHydration) {\n return;\n }\n\n didWarnInvalidHydration = true;\n\n error('Expected server HTML to contain a matching text node for \"%s\" in <%s>.', text, parentNode.nodeName.toLowerCase());\n }\n}\nfunction restoreControlledState$3(domElement, tag, props) {\n switch (tag) {\n case 'input':\n restoreControlledState(domElement, props);\n return;\n\n case 'textarea':\n restoreControlledState$2(domElement, props);\n return;\n\n case 'select':\n restoreControlledState$1(domElement, props);\n return;\n }\n}\n\nvar validateDOMNesting = function () {};\n\nvar updatedAncestorInfo = function () {};\n\n{\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\n var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n var emptyAncestorInfo = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n updatedAncestorInfo = function (oldInfo, tag) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo);\n\n var info = {\n tag: tag\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n /**\n * Returns whether\n */\n\n\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body' || tag === 'frameset';\n\n case 'frameset':\n return tag === 'frame';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frameset':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n /**\n * Returns whether\n */\n\n\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n var didWarn$1 = {};\n\n validateDOMNesting = function (childTag, childText, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n if (childTag != null) {\n error('validateDOMNesting: when childText is passed, childTag should be null');\n }\n\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var invalidParentOrAncestor = invalidParent || invalidAncestor;\n\n if (!invalidParentOrAncestor) {\n return;\n }\n\n var ancestorTag = invalidParentOrAncestor.tag;\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag;\n\n if (didWarn$1[warnKey]) {\n return;\n }\n\n didWarn$1[warnKey] = true;\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);\n } else {\n error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);\n }\n };\n}\n\nvar SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';\nvar SUSPENSE_START_DATA = '$';\nvar SUSPENSE_END_DATA = '/$';\nvar SUSPENSE_PENDING_START_DATA = '$?';\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\nvar STYLE$1 = 'style';\nvar eventsEnabled = null;\nvar selectionInformation = null;\nfunction getRootHostContext(rootContainerInstance) {\n var type;\n var namespace;\n var nodeType = rootContainerInstance.nodeType;\n\n switch (nodeType) {\n case DOCUMENT_NODE:\n case DOCUMENT_FRAGMENT_NODE:\n {\n type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\n var root = rootContainerInstance.documentElement;\n namespace = root ? root.namespaceURI : getChildNamespace(null, '');\n break;\n }\n\n default:\n {\n var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\n var ownNamespace = container.namespaceURI || null;\n type = container.tagName;\n namespace = getChildNamespace(ownNamespace, type);\n break;\n }\n }\n\n {\n var validatedTag = type.toLowerCase();\n var ancestorInfo = updatedAncestorInfo(null, validatedTag);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getChildHostContext(parentHostContext, type, rootContainerInstance) {\n {\n var parentHostContextDev = parentHostContext;\n var namespace = getChildNamespace(parentHostContextDev.namespace, type);\n var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);\n return {\n namespace: namespace,\n ancestorInfo: ancestorInfo\n };\n }\n}\nfunction getPublicInstance(instance) {\n return instance;\n}\nfunction prepareForCommit(containerInfo) {\n eventsEnabled = isEnabled();\n selectionInformation = getSelectionInformation();\n var activeInstance = null;\n\n setEnabled(false);\n return activeInstance;\n}\nfunction resetAfterCommit(containerInfo) {\n restoreSelection(selectionInformation);\n setEnabled(eventsEnabled);\n eventsEnabled = null;\n selectionInformation = null;\n}\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\n var parentNamespace;\n\n {\n // TODO: take namespace into account when validating.\n var hostContextDev = hostContext;\n validateDOMNesting(type, null, hostContextDev.ancestorInfo);\n\n if (typeof props.children === 'string' || typeof props.children === 'number') {\n var string = '' + props.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n\n parentNamespace = hostContextDev.namespace;\n }\n\n var domElement = createElement(type, props, rootContainerInstance, parentNamespace);\n precacheFiberNode(internalInstanceHandle, domElement);\n updateFiberProps(domElement, props);\n return domElement;\n}\nfunction appendInitialChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {\n setInitialProperties(domElement, type, props, rootContainerInstance);\n\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n return !!props.autoFocus;\n\n case 'img':\n return true;\n\n default:\n return false;\n }\n}\nfunction prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {\n {\n var hostContextDev = hostContext;\n\n if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {\n var string = '' + newProps.children;\n var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\n validateDOMNesting(null, string, ownAncestorInfo);\n }\n }\n\n return diffProperties(domElement, type, oldProps, newProps);\n}\nfunction shouldSetTextContent(type, props) {\n return type === 'textarea' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\n}\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\n {\n var hostContextDev = hostContext;\n validateDOMNesting(null, text, hostContextDev.ancestorInfo);\n }\n\n var textNode = createTextNode(text, rootContainerInstance);\n precacheFiberNode(internalInstanceHandle, textNode);\n return textNode;\n}\nfunction getCurrentEventPriority() {\n var currentEvent = window.event;\n\n if (currentEvent === undefined) {\n return DefaultEventPriority;\n }\n\n return getEventPriority(currentEvent.type);\n}\n// if a component just imports ReactDOM (e.g. for findDOMNode).\n// Some environments might not have setTimeout or clearTimeout.\n\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\nvar noTimeout = -1;\nvar localPromise = typeof Promise === 'function' ? Promise : undefined; // -------------------\nvar scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : typeof localPromise !== 'undefined' ? function (callback) {\n return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n} : scheduleTimeout; // TODO: Determine the best fallback here.\n\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n} // -------------------\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\n // Despite the naming that might imply otherwise, this method only\n // fires if there is an `Update` effect scheduled during mounting.\n // This happens if `finalizeInitialChildren` returns `true` (which it\n // does to implement the `autoFocus` attribute on the client). But\n // there are also other cases when this might happen (such as patching\n // up text content during hydration mismatch). So we'll check this again.\n switch (type) {\n case 'button':\n case 'input':\n case 'select':\n case 'textarea':\n if (newProps.autoFocus) {\n domElement.focus();\n }\n\n return;\n\n case 'img':\n {\n if (newProps.src) {\n domElement.src = newProps.src;\n }\n\n return;\n }\n }\n}\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\n // Apply the diff to the DOM node.\n updateProperties(domElement, updatePayload, type, oldProps, newProps); // Update the props handle so that we know which props are the ones with\n // with current event handlers.\n\n updateFiberProps(domElement, newProps);\n}\nfunction resetTextContent(domElement) {\n setTextContent(domElement, '');\n}\nfunction commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n}\nfunction appendChild(parentInstance, child) {\n parentInstance.appendChild(child);\n}\nfunction appendChildToContainer(container, child) {\n var parentNode;\n\n if (container.nodeType === COMMENT_NODE) {\n parentNode = container.parentNode;\n parentNode.insertBefore(child, container);\n } else {\n parentNode = container;\n parentNode.appendChild(child);\n } // This container might be used for a portal.\n // If something inside a portal is clicked, that click should bubble\n // through the React tree. However, on Mobile Safari the click would\n // never bubble through the *DOM* tree unless an ancestor with onclick\n // event exists. So we wouldn't see it and dispatch it.\n // This is why we ensure that non React root containers have inline onclick\n // defined.\n // https://github.com/facebook/react/issues/11918\n\n\n var reactRootContainer = container._reactRootContainer;\n\n if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\n // TODO: This cast may not be sound for SVG, MathML or custom elements.\n trapClickOnNonInteractiveElement(parentNode);\n }\n}\nfunction insertBefore(parentInstance, child, beforeChild) {\n parentInstance.insertBefore(child, beforeChild);\n}\nfunction insertInContainerBefore(container, child, beforeChild) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.insertBefore(child, beforeChild);\n } else {\n container.insertBefore(child, beforeChild);\n }\n}\n\nfunction removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n}\nfunction removeChildFromContainer(container, child) {\n if (container.nodeType === COMMENT_NODE) {\n container.parentNode.removeChild(child);\n } else {\n container.removeChild(child);\n }\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance; // Delete all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n\n if (nextNode && nextNode.nodeType === COMMENT_NODE) {\n var data = nextNode.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n parentInstance.removeChild(nextNode); // Retry if any event replaying was blocked on this.\n\n retryIfBlockedOn(suspenseInstance);\n return;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) {\n depth++;\n }\n }\n\n node = nextNode;\n } while (node); // TODO: Warn, we didn't find the end comment boundary.\n // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearSuspenseBoundaryFromContainer(container, suspenseInstance) {\n if (container.nodeType === COMMENT_NODE) {\n clearSuspenseBoundary(container.parentNode, suspenseInstance);\n } else if (container.nodeType === ELEMENT_NODE) {\n clearSuspenseBoundary(container, suspenseInstance);\n } // Retry if any event replaying was blocked on this.\n\n\n retryIfBlockedOn(container);\n}\nfunction hideInstance(instance) {\n // TODO: Does this work for all element types? What about MathML? Should we\n // pass host context to this method?\n instance = instance;\n var style = instance.style;\n\n if (typeof style.setProperty === 'function') {\n style.setProperty('display', 'none', 'important');\n } else {\n style.display = 'none';\n }\n}\nfunction hideTextInstance(textInstance) {\n textInstance.nodeValue = '';\n}\nfunction unhideInstance(instance, props) {\n instance = instance;\n var styleProp = props[STYLE$1];\n var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\n instance.style.display = dangerousStyleValue('display', display);\n}\nfunction unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n}\nfunction clearContainer(container) {\n if (container.nodeType === ELEMENT_NODE) {\n container.textContent = '';\n } else if (container.nodeType === DOCUMENT_NODE) {\n if (container.documentElement) {\n container.removeChild(container.documentElement);\n }\n }\n} // -------------------\nfunction canHydrateInstance(instance, type, props) {\n if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {\n return null;\n } // This has now been refined to an element node.\n\n\n return instance;\n}\nfunction canHydrateTextInstance(instance, text) {\n if (text === '' || instance.nodeType !== TEXT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a text node.\n\n\n return instance;\n}\nfunction canHydrateSuspenseInstance(instance) {\n if (instance.nodeType !== COMMENT_NODE) {\n // Empty strings are not parsed by HTML so there won't be a correct match here.\n return null;\n } // This has now been refined to a suspense node.\n\n\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return instance.data === SUSPENSE_PENDING_START_DATA;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return instance.data === SUSPENSE_FALLBACK_START_DATA;\n}\nfunction getSuspenseInstanceFallbackErrorDetails(instance) {\n var dataset = instance.nextSibling && instance.nextSibling.dataset;\n var digest, message, stack;\n\n if (dataset) {\n digest = dataset.dgst;\n\n {\n message = dataset.msg;\n stack = dataset.stck;\n }\n }\n\n {\n return {\n message: message,\n digest: digest,\n stack: stack\n };\n } // let value = {message: undefined, hash: undefined};\n // const nextSibling = instance.nextSibling;\n // if (nextSibling) {\n // const dataset = ((nextSibling: any): HTMLTemplateElement).dataset;\n // value.message = dataset.msg;\n // value.hash = dataset.hash;\n // if (true) {\n // value.stack = dataset.stack;\n // }\n // }\n // return value;\n\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n instance._reactRetry = callback;\n}\n\nfunction getNextHydratable(node) {\n // Skip non-hydratable nodes.\n for (; node != null; node = node.nextSibling) {\n var nodeType = node.nodeType;\n\n if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\n break;\n }\n\n if (nodeType === COMMENT_NODE) {\n var nodeData = node.data;\n\n if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA) {\n break;\n }\n\n if (nodeData === SUSPENSE_END_DATA) {\n return null;\n }\n }\n }\n\n return node;\n}\n\nfunction getNextHydratableSibling(instance) {\n return getNextHydratable(instance.nextSibling);\n}\nfunction getFirstHydratableChild(parentInstance) {\n return getNextHydratable(parentInstance.firstChild);\n}\nfunction getFirstHydratableChildWithinContainer(parentContainer) {\n return getNextHydratable(parentContainer.firstChild);\n}\nfunction getFirstHydratableChildWithinSuspenseInstance(parentInstance) {\n return getNextHydratable(parentInstance.nextSibling);\n}\nfunction hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\n // get attached.\n\n updateFiberProps(instance, props);\n var parentNamespace;\n\n {\n var hostContextDev = hostContext;\n parentNamespace = hostContextDev.namespace;\n } // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance, isConcurrentMode, shouldWarnDev);\n}\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) {\n precacheFiberNode(internalInstanceHandle, textInstance); // TODO: Temporary hack to check if we're in a concurrent root. We can delete\n // when the legacy root API is removed.\n\n var isConcurrentMode = (internalInstanceHandle.mode & ConcurrentMode) !== NoMode;\n return diffHydratedText(textInstance, text);\n}\nfunction hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) {\n precacheFiberNode(internalInstanceHandle, suspenseInstance);\n}\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_END_DATA) {\n if (depth === 0) {\n return getNextHydratableSibling(node);\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n depth++;\n }\n }\n\n node = node.nextSibling;\n } // TODO: Warn, we didn't find the end comment boundary.\n\n\n return null;\n} // Returns the SuspenseInstance if this node is a direct child of a\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\n// SUSPENSE_x_START_DATA. Otherwise, null.\n\nfunction getParentSuspenseInstance(targetInstance) {\n var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\n // There might be nested nodes so we need to keep track of how\n // deep we are and only break out when we're back on top.\n\n var depth = 0;\n\n while (node) {\n if (node.nodeType === COMMENT_NODE) {\n var data = node.data;\n\n if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\n if (depth === 0) {\n return node;\n } else {\n depth--;\n }\n } else if (data === SUSPENSE_END_DATA) {\n depth++;\n }\n }\n\n node = node.previousSibling;\n }\n\n return null;\n}\nfunction commitHydratedContainer(container) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(container);\n}\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\n // Retry if any event replaying was blocked on this.\n retryIfBlockedOn(suspenseInstance);\n}\nfunction shouldDeleteUnhydratedTailInstances(parentType) {\n return parentType !== 'head' && parentType !== 'body';\n}\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n}\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode) {\n if (parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n var shouldWarnDev = true;\n checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, shouldWarnDev);\n }\n}\nfunction didNotHydrateInstanceWithinContainer(parentContainer, instance) {\n {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentContainer, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentContainer, instance);\n }\n }\n}\nfunction didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n\n if (parentNode !== null) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentNode, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentNode, instance);\n }\n }\n }\n}\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n if (instance.nodeType === ELEMENT_NODE) {\n warnForDeletedHydratableElement(parentInstance, instance);\n } else if (instance.nodeType === COMMENT_NODE) ; else {\n warnForDeletedHydratableText(parentInstance, instance);\n }\n }\n }\n}\nfunction didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) {\n {\n warnForInsertedHydratedElement(parentContainer, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) {\n {\n warnForInsertedHydratedText(parentContainer, text);\n }\n}\nfunction didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type);\n }\n}\nfunction didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) {\n {\n // $FlowFixMe: Only Element or Document can be parent nodes.\n var parentNode = parentInstance.parentNode;\n if (parentNode !== null) warnForInsertedHydratedText(parentNode, text);\n }\n}\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedElement(parentInstance, type);\n }\n }\n}\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) {\n {\n if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\n warnForInsertedHydratedText(parentInstance, text);\n }\n }\n}\nfunction errorHydratingContainer(parentContainer) {\n {\n // TODO: This gets logged by onRecoverableError, too, so we should be\n // able to remove it.\n error('An error occurred during hydration. The server HTML was replaced with client content in <%s>.', parentContainer.nodeName.toLowerCase());\n }\n}\nfunction preparePortalMount(portalInstance) {\n listenToAllSupportedEvents(portalInstance);\n}\n\nvar randomKey = Math.random().toString(36).slice(2);\nvar internalInstanceKey = '__reactFiber$' + randomKey;\nvar internalPropsKey = '__reactProps$' + randomKey;\nvar internalContainerInstanceKey = '__reactContainer$' + randomKey;\nvar internalEventHandlersKey = '__reactEvents$' + randomKey;\nvar internalEventHandlerListenersKey = '__reactListeners$' + randomKey;\nvar internalEventHandlesSetKey = '__reactHandles$' + randomKey;\nfunction detachDeletedInstance(node) {\n // TODO: This function is only called on host components. I don't think all of\n // these fields are relevant.\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction precacheFiberNode(hostInst, node) {\n node[internalInstanceKey] = hostInst;\n}\nfunction markContainerAsRoot(hostRoot, node) {\n node[internalContainerInstanceKey] = hostRoot;\n}\nfunction unmarkContainerAsRoot(node) {\n node[internalContainerInstanceKey] = null;\n}\nfunction isContainerMarkedAsRoot(node) {\n return !!node[internalContainerInstanceKey];\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\n// If the target node is part of a hydrated or not yet rendered subtree, then\n// this may also return a SuspenseComponent or HostRoot to indicate that.\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\n// pass the Container node as the targetNode, you will not actually get the\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\n// The same thing applies to Suspense boundaries.\n\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n\n if (targetInst) {\n // Don't return HostRoot or SuspenseComponent here.\n return targetInst;\n } // If the direct event target isn't a React owned DOM node, we need to look\n // to see if one of its parents is a React owned DOM node.\n\n\n var parentNode = targetNode.parentNode;\n\n while (parentNode) {\n // We'll check if this is a container root that could include\n // React nodes in the future. We need to check this first because\n // if we're a child of a dehydrated container, we need to first\n // find that inner container before moving on to finding the parent\n // instance. Note that we don't check this field on the targetNode\n // itself because the fibers are conceptually between the container\n // node and the first child. It isn't surrounding the container node.\n // If it's not a container, we check if it's an instance.\n targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\n\n if (targetInst) {\n // Since this wasn't the direct target of the event, we might have\n // stepped past dehydrated DOM nodes to get here. However they could\n // also have been non-React nodes. We need to answer which one.\n // If we the instance doesn't have any children, then there can't be\n // a nested suspense boundary within it. So we can use this as a fast\n // bailout. Most of the time, when people add non-React children to\n // the tree, it is using a ref to a child-less DOM node.\n // Normally we'd only need to check one of the fibers because if it\n // has ever gone from having children to deleting them or vice versa\n // it would have deleted the dehydrated boundary nested inside already.\n // However, since the HostRoot starts out with an alternate it might\n // have one on the alternate so we need to check in case this was a\n // root.\n var alternate = targetInst.alternate;\n\n if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\n // Next we need to figure out if the node that skipped past is\n // nested within a dehydrated boundary and if so, which one.\n var suspenseInstance = getParentSuspenseInstance(targetNode);\n\n while (suspenseInstance !== null) {\n // We found a suspense instance. That means that we haven't\n // hydrated it yet. Even though we leave the comments in the\n // DOM after hydrating, and there are boundaries in the DOM\n // that could already be hydrated, we wouldn't have found them\n // through this pass since if the target is hydrated it would\n // have had an internalInstanceKey on it.\n // Let's get the fiber associated with the SuspenseComponent\n // as the deepest instance.\n var targetSuspenseInst = suspenseInstance[internalInstanceKey];\n\n if (targetSuspenseInst) {\n return targetSuspenseInst;\n } // If we don't find a Fiber on the comment, it might be because\n // we haven't gotten to hydrate it yet. There might still be a\n // parent boundary that hasn't above this one so we need to find\n // the outer most that is known.\n\n\n suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\n // host component also hasn't hydrated yet. We can return it\n // below since it will bail out on the isMounted check later.\n }\n }\n\n return targetInst;\n }\n\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n\n return null;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\nfunction getInstanceFromNode(node) {\n var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\n\n if (inst) {\n if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {\n return inst;\n } else {\n return null;\n }\n }\n\n return null;\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\nfunction getNodeFromInstance(inst) {\n if (inst.tag === HostComponent || inst.tag === HostText) {\n // In Fiber this, is just the state node right now. We assume it will be\n // a host component or host text.\n return inst.stateNode;\n } // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n\n\n throw new Error('getNodeFromInstance: Invalid argument.');\n}\nfunction getFiberCurrentPropsFromNode(node) {\n return node[internalPropsKey] || null;\n}\nfunction updateFiberProps(node, props) {\n node[internalPropsKey] = props;\n}\nfunction getEventListenerSet(node) {\n var elementListenerSet = node[internalEventHandlersKey];\n\n if (elementListenerSet === undefined) {\n elementListenerSet = node[internalEventHandlersKey] = new Set();\n }\n\n return elementListenerSet;\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar valueStack = [];\nvar fiberStack;\n\n{\n fiberStack = [];\n}\n\nvar index = -1;\n\nfunction createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n}\n\nfunction pop(cursor, fiber) {\n if (index < 0) {\n {\n error('Unexpected pop.');\n }\n\n return;\n }\n\n {\n if (fiber !== fiberStack[index]) {\n error('Unexpected Fiber popped.');\n }\n }\n\n cursor.current = valueStack[index];\n valueStack[index] = null;\n\n {\n fiberStack[index] = null;\n }\n\n index--;\n}\n\nfunction push(cursor, value, fiber) {\n index++;\n valueStack[index] = cursor.current;\n\n {\n fiberStack[index] = fiber;\n }\n\n cursor.current = value;\n}\n\nvar warnedAboutMissingGetChildContext;\n\n{\n warnedAboutMissingGetChildContext = {};\n}\n\nvar emptyContextObject = {};\n\n{\n Object.freeze(emptyContextObject);\n} // A cursor to the current merged context object on the stack.\n\n\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\n\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\n// We use this to get access to the parent context after we have already\n// pushed the next context provider, and now need to merge their contexts.\n\nvar previousContext = emptyContextObject;\n\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\n {\n if (didPushOwnContextIfProvider && isContextProvider(Component)) {\n // If the fiber is a context provider itself, when we read its context\n // we may have already pushed its own child context on the stack. A context\n // provider should not \"see\" its own child context. Therefore we read the\n // previous (parent) context instead for a context provider.\n return previousContext;\n }\n\n return contextStackCursor.current;\n }\n}\n\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\n {\n var instance = workInProgress.stateNode;\n instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\n instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\n }\n}\n\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n {\n var type = workInProgress.type;\n var contextTypes = type.contextTypes;\n\n if (!contextTypes) {\n return emptyContextObject;\n } // Avoid recreating masked context unless unmasked context has changed.\n // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\n // This may trigger infinite loops if componentWillReceiveProps calls setState.\n\n\n var instance = workInProgress.stateNode;\n\n if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\n return instance.__reactInternalMemoizedMaskedChildContext;\n }\n\n var context = {};\n\n for (var key in contextTypes) {\n context[key] = unmaskedContext[key];\n }\n\n {\n var name = getComponentNameFromFiber(workInProgress) || 'Unknown';\n checkPropTypes(contextTypes, context, 'context', name);\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // Context is created before the class component is instantiated so check for instance.\n\n\n if (instance) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return context;\n }\n}\n\nfunction hasContextChanged() {\n {\n return didPerformWorkStackCursor.current;\n }\n}\n\nfunction isContextProvider(type) {\n {\n var childContextTypes = type.childContextTypes;\n return childContextTypes !== null && childContextTypes !== undefined;\n }\n}\n\nfunction popContext(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction popTopLevelContextObject(fiber) {\n {\n pop(didPerformWorkStackCursor, fiber);\n pop(contextStackCursor, fiber);\n }\n}\n\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n {\n if (contextStackCursor.current !== emptyContextObject) {\n throw new Error('Unexpected context found on stack. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n push(contextStackCursor, context, fiber);\n push(didPerformWorkStackCursor, didChange, fiber);\n }\n}\n\nfunction processChildContext(fiber, type, parentContext) {\n {\n var instance = fiber.stateNode;\n var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\n // It has only been added in Fiber to match the (unintentional) behavior in Stack.\n\n if (typeof instance.getChildContext !== 'function') {\n {\n var componentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n if (!warnedAboutMissingGetChildContext[componentName]) {\n warnedAboutMissingGetChildContext[componentName] = true;\n\n error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\n }\n }\n\n return parentContext;\n }\n\n var childContext = instance.getChildContext();\n\n for (var contextKey in childContext) {\n if (!(contextKey in childContextTypes)) {\n throw new Error((getComponentNameFromFiber(fiber) || 'Unknown') + \".getChildContext(): key \\\"\" + contextKey + \"\\\" is not defined in childContextTypes.\");\n }\n }\n\n {\n var name = getComponentNameFromFiber(fiber) || 'Unknown';\n checkPropTypes(childContextTypes, childContext, 'child context', name);\n }\n\n return assign({}, parentContext, childContext);\n }\n}\n\nfunction pushContextProvider(workInProgress) {\n {\n var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\n // If the instance does not exist yet, we will push null at first,\n // and replace it on the stack later when invalidating the context.\n\n var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\n // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\n\n previousContext = contextStackCursor.current;\n push(contextStackCursor, memoizedMergedChildContext, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\n return true;\n }\n}\n\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n {\n var instance = workInProgress.stateNode;\n\n if (!instance) {\n throw new Error('Expected to have an instance by this point. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n if (didChange) {\n // Merge parent and own context.\n // Skip this if we're not updating due to sCU.\n // This avoids unnecessarily recomputing memoized values.\n var mergedContext = processChildContext(workInProgress, type, previousContext);\n instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\n // It is important to unwind the context in the reverse order.\n\n pop(didPerformWorkStackCursor, workInProgress);\n pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\n\n push(contextStackCursor, mergedContext, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n } else {\n pop(didPerformWorkStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didChange, workInProgress);\n }\n }\n}\n\nfunction findCurrentUnmaskedContext(fiber) {\n {\n // Currently this is only used with renderSubtreeIntoContainer; not sure if it\n // makes sense elsewhere\n if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) {\n throw new Error('Expected subtree parent to be a mounted class component. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n var node = fiber;\n\n do {\n switch (node.tag) {\n case HostRoot:\n return node.stateNode.context;\n\n case ClassComponent:\n {\n var Component = node.type;\n\n if (isContextProvider(Component)) {\n return node.stateNode.__reactInternalMemoizedMergedChildContext;\n }\n\n break;\n }\n }\n\n node = node.return;\n } while (node !== null);\n\n throw new Error('Found unexpected detached subtree parent. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n}\n\nvar LegacyRoot = 0;\nvar ConcurrentRoot = 1;\n\nvar syncQueue = null;\nvar includesLegacySyncCallbacks = false;\nvar isFlushingSyncQueue = false;\nfunction scheduleSyncCallback(callback) {\n // Push this callback into an internal queue. We'll flush these either in\n // the next tick, or earlier if something calls `flushSyncCallbackQueue`.\n if (syncQueue === null) {\n syncQueue = [callback];\n } else {\n // Push onto existing queue. Don't need to schedule a callback because\n // we already scheduled one when we created the queue.\n syncQueue.push(callback);\n }\n}\nfunction scheduleLegacySyncCallback(callback) {\n includesLegacySyncCallbacks = true;\n scheduleSyncCallback(callback);\n}\nfunction flushSyncCallbacksOnlyInLegacyMode() {\n // Only flushes the queue if there's a legacy sync callback scheduled.\n // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So\n // it might make more sense for the queue to be a list of roots instead of a\n // list of generic callbacks. Then we can have two: one for legacy roots, one\n // for concurrent roots. And this method would only flush the legacy ones.\n if (includesLegacySyncCallbacks) {\n flushSyncCallbacks();\n }\n}\nfunction flushSyncCallbacks() {\n if (!isFlushingSyncQueue && syncQueue !== null) {\n // Prevent re-entrance.\n isFlushingSyncQueue = true;\n var i = 0;\n var previousUpdatePriority = getCurrentUpdatePriority();\n\n try {\n var isSync = true;\n var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this\n // queue is in the render or commit phases.\n\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(isSync);\n } while (callback !== null);\n }\n\n syncQueue = null;\n includesLegacySyncCallbacks = false;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n if (syncQueue !== null) {\n syncQueue = syncQueue.slice(i + 1);\n } // Resume flushing in the next tick\n\n\n scheduleCallback(ImmediatePriority, flushSyncCallbacks);\n throw error;\n } finally {\n setCurrentUpdatePriority(previousUpdatePriority);\n isFlushingSyncQueue = false;\n }\n }\n\n return null;\n}\n\n// TODO: Use the unified fiber stack module instead of this local one?\n// Intentionally not using it yet to derisk the initial implementation, because\n// the way we push/pop these values is a bit unusual. If there's a mistake, I'd\n// rather the ids be wrong than crash the whole reconciler.\nvar forkStack = [];\nvar forkStackIndex = 0;\nvar treeForkProvider = null;\nvar treeForkCount = 0;\nvar idStack = [];\nvar idStackIndex = 0;\nvar treeContextProvider = null;\nvar treeContextId = 1;\nvar treeContextOverflow = '';\nfunction isForkedChild(workInProgress) {\n warnIfNotHydrating();\n return (workInProgress.flags & Forked) !== NoFlags;\n}\nfunction getForksAtLevel(workInProgress) {\n warnIfNotHydrating();\n return treeForkCount;\n}\nfunction getTreeId() {\n var overflow = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n var id = idWithLeadingBit & ~getLeadingBit(idWithLeadingBit);\n return id.toString(32) + overflow;\n}\nfunction pushTreeFork(workInProgress, totalChildren) {\n // This is called right after we reconcile an array (or iterator) of child\n // fibers, because that's the only place where we know how many children in\n // the whole set without doing extra work later, or storing addtional\n // information on the fiber.\n //\n // That's why this function is separate from pushTreeId — it's called during\n // the render phase of the fork parent, not the child, which is where we push\n // the other context values.\n //\n // In the Fizz implementation this is much simpler because the child is\n // rendered in the same callstack as the parent.\n //\n // It might be better to just add a `forks` field to the Fiber type. It would\n // make this module simpler.\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n var baseOverflow = treeContextOverflow; // The leftmost 1 marks the end of the sequence, non-inclusive. It's not part\n // of the id; we use it to account for leading 0s.\n\n var baseLength = getBitLength(baseIdWithLeadingBit) - 1;\n var baseId = baseIdWithLeadingBit & ~(1 << baseLength);\n var slot = index + 1;\n var length = getBitLength(totalChildren) + baseLength; // 30 is the max length we can store without overflowing, taking into\n // consideration the leading 1 we use to mark the end of the sequence.\n\n if (length > 30) {\n // We overflowed the bitwise-safe range. Fall back to slower algorithm.\n // This branch assumes the length of the base id is greater than 5; it won't\n // work for smaller ids, because you need 5 bits per character.\n //\n // We encode the id in multiple steps: first the base id, then the\n // remaining digits.\n //\n // Each 5 bit sequence corresponds to a single base 32 character. So for\n // example, if the current id is 23 bits long, we can convert 20 of those\n // bits into a string of 4 characters, with 3 bits left over.\n //\n // First calculate how many bits in the base id represent a complete\n // sequence of characters.\n var numberOfOverflowBits = baseLength - baseLength % 5; // Then create a bitmask that selects only those bits.\n\n var newOverflowBits = (1 << numberOfOverflowBits) - 1; // Select the bits, and convert them to a base 32 string.\n\n var newOverflow = (baseId & newOverflowBits).toString(32); // Now we can remove those bits from the base id.\n\n var restOfBaseId = baseId >> numberOfOverflowBits;\n var restOfBaseLength = baseLength - numberOfOverflowBits; // Finally, encode the rest of the bits using the normal algorithm. Because\n // we made more room, this time it won't overflow.\n\n var restOfLength = getBitLength(totalChildren) + restOfBaseLength;\n var restOfNewBits = slot << restOfBaseLength;\n var id = restOfNewBits | restOfBaseId;\n var overflow = newOverflow + baseOverflow;\n treeContextId = 1 << restOfLength | id;\n treeContextOverflow = overflow;\n } else {\n // Normal path\n var newBits = slot << baseLength;\n\n var _id = newBits | baseId;\n\n var _overflow = baseOverflow;\n treeContextId = 1 << length | _id;\n treeContextOverflow = _overflow;\n }\n}\nfunction pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating(); // This component materialized an id. This will affect any ids that appear\n // in its children.\n\n var returnFiber = workInProgress.return;\n\n if (returnFiber !== null) {\n var numberOfForks = 1;\n var slotIndex = 0;\n pushTreeFork(workInProgress, numberOfForks);\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n}\n\nfunction getBitLength(number) {\n return 32 - clz32(number);\n}\n\nfunction getLeadingBit(id) {\n return 1 << getBitLength(id) - 1;\n}\n\nfunction popTreeContext(workInProgress) {\n // Restore the previous values.\n // This is a bit more complicated than other context-like modules in Fiber\n // because the same Fiber may appear on the stack multiple times and for\n // different reasons. We have to keep popping until the work-in-progress is\n // no longer at the top of the stack.\n while (workInProgress === treeForkProvider) {\n treeForkProvider = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n treeForkCount = forkStack[--forkStackIndex];\n forkStack[forkStackIndex] = null;\n }\n\n while (workInProgress === treeContextProvider) {\n treeContextProvider = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextOverflow = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n treeContextId = idStack[--idStackIndex];\n idStack[idStackIndex] = null;\n }\n}\nfunction getSuspendedTreeContext() {\n warnIfNotHydrating();\n\n if (treeContextProvider !== null) {\n return {\n id: treeContextId,\n overflow: treeContextOverflow\n };\n } else {\n return null;\n }\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\n\nfunction warnIfNotHydrating() {\n {\n if (!getIsHydrating()) {\n error('Expected to be hydrating. This is a bug in React. Please file ' + 'an issue.');\n }\n }\n}\n\n// This may have been an insertion or a hydration.\n\nvar hydrationParentFiber = null;\nvar nextHydratableInstance = null;\nvar isHydrating = false; // This flag allows for warning supression when we expect there to be mismatches\n// due to earlier mismatches or a suspended fiber.\n\nvar didSuspendOrErrorDEV = false; // Hydration errors that were thrown inside this boundary\n\nvar hydrationErrors = null;\n\nfunction warnIfHydrating() {\n {\n if (isHydrating) {\n error('We should not be hydrating here. This is a bug in React. Please file a bug.');\n }\n }\n}\n\nfunction markDidThrowWhileHydratingDEV() {\n {\n didSuspendOrErrorDEV = true;\n }\n}\nfunction didSuspendOrErrorWhileHydratingDEV() {\n {\n return didSuspendOrErrorDEV;\n }\n}\n\nfunction enterHydrationState(fiber) {\n\n var parentInstance = fiber.stateNode.containerInfo;\n nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n return true;\n}\n\nfunction reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) {\n\n nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance);\n hydrationParentFiber = fiber;\n isHydrating = true;\n hydrationErrors = null;\n didSuspendOrErrorDEV = false;\n\n if (treeContext !== null) {\n restoreSuspendedTreeContext(fiber, treeContext);\n }\n\n return true;\n}\n\nfunction warnUnhydratedInstance(returnFiber, instance) {\n {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance);\n break;\n }\n\n case HostComponent:\n {\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance);\n break;\n }\n }\n }\n}\n\nfunction deleteHydratableInstance(returnFiber, instance) {\n warnUnhydratedInstance(returnFiber, instance);\n var childToDelete = createFiberFromHostInstanceForDeletion();\n childToDelete.stateNode = instance;\n childToDelete.return = returnFiber;\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n}\n\nfunction warnNonhydratedInstance(returnFiber, fiber) {\n {\n if (didSuspendOrErrorDEV) {\n // Inside a boundary that already suspended. We're currently rendering the\n // siblings of a suspended node. The mismatch may be due to the missing\n // data, so it's probably a false positive.\n return;\n }\n\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n\n switch (fiber.tag) {\n case HostComponent:\n var type = fiber.type;\n var props = fiber.pendingProps;\n didNotFindHydratableInstanceWithinContainer(parentContainer, type);\n break;\n\n case HostText:\n var text = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinContainer(parentContainer, text);\n break;\n }\n\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n switch (fiber.tag) {\n case HostComponent:\n {\n var _type = fiber.type;\n var _props = fiber.pendingProps;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostText:\n {\n var _text = fiber.pendingProps;\n\n var _isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode);\n break;\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n var suspenseState = returnFiber.memoizedState;\n var _parentInstance = suspenseState.dehydrated;\n if (_parentInstance !== null) switch (fiber.tag) {\n case HostComponent:\n var _type2 = fiber.type;\n var _props2 = fiber.pendingProps;\n didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2);\n break;\n\n case HostText:\n var _text2 = fiber.pendingProps;\n didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2);\n break;\n }\n break;\n }\n\n default:\n return;\n }\n }\n}\n\nfunction insertNonHydratedInstance(returnFiber, fiber) {\n fiber.flags = fiber.flags & ~Hydrating | Placement;\n warnNonhydratedInstance(returnFiber, fiber);\n}\n\nfunction tryHydrate(fiber, nextInstance) {\n switch (fiber.tag) {\n case HostComponent:\n {\n var type = fiber.type;\n var props = fiber.pendingProps;\n var instance = canHydrateInstance(nextInstance, type);\n\n if (instance !== null) {\n fiber.stateNode = instance;\n hydrationParentFiber = fiber;\n nextHydratableInstance = getFirstHydratableChild(instance);\n return true;\n }\n\n return false;\n }\n\n case HostText:\n {\n var text = fiber.pendingProps;\n var textInstance = canHydrateTextInstance(nextInstance, text);\n\n if (textInstance !== null) {\n fiber.stateNode = textInstance;\n hydrationParentFiber = fiber; // Text Instances don't have children so there's nothing to hydrate.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n case SuspenseComponent:\n {\n var suspenseInstance = canHydrateSuspenseInstance(nextInstance);\n\n if (suspenseInstance !== null) {\n var suspenseState = {\n dehydrated: suspenseInstance,\n treeContext: getSuspendedTreeContext(),\n retryLane: OffscreenLane\n };\n fiber.memoizedState = suspenseState; // Store the dehydrated fragment as a child fiber.\n // This simplifies the code for getHostSibling and deleting nodes,\n // since it doesn't have to consider all Suspense boundaries and\n // check if they're dehydrated ones or not.\n\n var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance);\n dehydratedFragment.return = fiber;\n fiber.child = dehydratedFragment;\n hydrationParentFiber = fiber; // While a Suspense Instance does have children, we won't step into\n // it during the first pass. Instead, we'll reenter it later.\n\n nextHydratableInstance = null;\n return true;\n }\n\n return false;\n }\n\n default:\n return false;\n }\n}\n\nfunction shouldClientRenderOnMismatch(fiber) {\n return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags;\n}\n\nfunction throwOnHydrationMismatch(fiber) {\n throw new Error('Hydration failed because the initial UI does not match what was ' + 'rendered on the server.');\n}\n\nfunction tryToClaimNextHydratableInstance(fiber) {\n if (!isHydrating) {\n return;\n }\n\n var nextInstance = nextHydratableInstance;\n\n if (!nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // Nothing to hydrate. Make it an insertion.\n\n\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n }\n\n var firstAttemptedInstance = nextInstance;\n\n if (!tryHydrate(fiber, nextInstance)) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnNonhydratedInstance(hydrationParentFiber, fiber);\n throwOnHydrationMismatch();\n } // If we can't hydrate this instance let's try the next one.\n // We use this as a heuristic. It's based on intuition and not data so it\n // might be flawed or unnecessary.\n\n\n nextInstance = getNextHydratableSibling(firstAttemptedInstance);\n var prevHydrationParentFiber = hydrationParentFiber;\n\n if (!nextInstance || !tryHydrate(fiber, nextInstance)) {\n // Nothing to hydrate. Make it an insertion.\n insertNonHydratedInstance(hydrationParentFiber, fiber);\n isHydrating = false;\n hydrationParentFiber = fiber;\n return;\n } // We matched the next one, we'll now assume that the first one was\n // superfluous and we'll delete it. Since we can't eagerly delete it\n // we'll have to schedule a deletion. To do that, this node needs a dummy\n // fiber associated with it.\n\n\n deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance);\n }\n}\n\nfunction prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {\n\n var instance = fiber.stateNode;\n var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV;\n var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber, shouldWarnIfMismatchDev); // TODO: Type this specific to this type of component.\n\n fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update.\n\n if (updatePayload !== null) {\n return true;\n }\n\n return false;\n}\n\nfunction prepareToHydrateHostTextInstance(fiber) {\n\n var textInstance = fiber.stateNode;\n var textContent = fiber.memoizedProps;\n var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\n\n if (shouldUpdate) {\n // We assume that prepareToHydrateHostTextInstance is called in a context where the\n // hydration parent is the parent host component of this host text.\n var returnFiber = hydrationParentFiber;\n\n if (returnFiber !== null) {\n switch (returnFiber.tag) {\n case HostRoot:\n {\n var parentContainer = returnFiber.stateNode.containerInfo;\n var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode;\n didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n isConcurrentMode);\n break;\n }\n\n case HostComponent:\n {\n var parentType = returnFiber.type;\n var parentProps = returnFiber.memoizedProps;\n var parentInstance = returnFiber.stateNode;\n\n var _isConcurrentMode2 = (returnFiber.mode & ConcurrentMode) !== NoMode;\n\n didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, // TODO: Delete this argument when we remove the legacy root API.\n _isConcurrentMode2);\n break;\n }\n }\n }\n }\n\n return shouldUpdate;\n}\n\nfunction prepareToHydrateHostSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n hydrateSuspenseInstance(suspenseInstance, fiber);\n}\n\nfunction skipPastDehydratedSuspenseInstance(fiber) {\n\n var suspenseState = fiber.memoizedState;\n var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\n\n if (!suspenseInstance) {\n throw new Error('Expected to have a hydrated suspense instance. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\n}\n\nfunction popToNextHostParent(fiber) {\n var parent = fiber.return;\n\n while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {\n parent = parent.return;\n }\n\n hydrationParentFiber = parent;\n}\n\nfunction popHydrationState(fiber) {\n\n if (fiber !== hydrationParentFiber) {\n // We're deeper than the current hydration context, inside an inserted\n // tree.\n return false;\n }\n\n if (!isHydrating) {\n // If we're not currently hydrating but we're in a hydration context, then\n // we were an insertion and now need to pop up reenter hydration of our\n // siblings.\n popToNextHostParent(fiber);\n isHydrating = true;\n return false;\n } // If we have any remaining hydratable nodes, we need to delete them now.\n // We only do this deeper than head and body since they tend to have random\n // other nodes in them. We also ignore components with pure text content in\n // side of them. We also don't delete anything inside the root container.\n\n\n if (fiber.tag !== HostRoot && (fiber.tag !== HostComponent || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps))) {\n var nextInstance = nextHydratableInstance;\n\n if (nextInstance) {\n if (shouldClientRenderOnMismatch(fiber)) {\n warnIfUnhydratedTailNodes(fiber);\n throwOnHydrationMismatch();\n } else {\n while (nextInstance) {\n deleteHydratableInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n }\n }\n }\n\n popToNextHostParent(fiber);\n\n if (fiber.tag === SuspenseComponent) {\n nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\n } else {\n nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\n }\n\n return true;\n}\n\nfunction hasUnhydratedTailNodes() {\n return isHydrating && nextHydratableInstance !== null;\n}\n\nfunction warnIfUnhydratedTailNodes(fiber) {\n var nextInstance = nextHydratableInstance;\n\n while (nextInstance) {\n warnUnhydratedInstance(fiber, nextInstance);\n nextInstance = getNextHydratableSibling(nextInstance);\n }\n}\n\nfunction resetHydrationState() {\n\n hydrationParentFiber = null;\n nextHydratableInstance = null;\n isHydrating = false;\n didSuspendOrErrorDEV = false;\n}\n\nfunction upgradeHydrationErrorsToRecoverable() {\n if (hydrationErrors !== null) {\n // Successfully completed a forced client render. The errors that occurred\n // during the hydration attempt are now recovered. We will log them in\n // commit phase, once the entire tree has finished.\n queueRecoverableErrors(hydrationErrors);\n hydrationErrors = null;\n }\n}\n\nfunction getIsHydrating() {\n return isHydrating;\n}\n\nfunction queueHydrationError(error) {\n if (hydrationErrors === null) {\n hydrationErrors = [error];\n } else {\n hydrationErrors.push(error);\n }\n}\n\nvar ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar NoTransition = null;\nfunction requestCurrentTransition() {\n return ReactCurrentBatchConfig$1.transition;\n}\n\nvar ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function (fiber, instance) {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function (fiber, instance) {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n};\n\n{\n var findStrictRoot = function (fiber) {\n var maybeStrictRoot = null;\n var node = fiber;\n\n while (node !== null) {\n if (node.mode & StrictLegacyMode) {\n maybeStrictRoot = node;\n }\n\n node = node.return;\n }\n\n return maybeStrictRoot;\n };\n\n var setToSortedString = function (set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(', ');\n };\n\n var pendingComponentWillMountWarnings = [];\n var pendingUNSAFE_ComponentWillMountWarnings = [];\n var pendingComponentWillReceivePropsWarnings = [];\n var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n var pendingComponentWillUpdateWarnings = [];\n var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\n\n var didWarnAboutUnsafeLifecycles = new Set();\n\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\n // Dedupe strategy: Warn once per component.\n if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\n return;\n }\n\n if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\n instance.componentWillMount.__suppressDeprecationWarning !== true) {\n pendingComponentWillMountWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === 'function') {\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n pendingComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n pendingComponentWillUpdateWarnings.push(fiber);\n }\n\n if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n // We do an initial pass to gather component names\n var componentWillMountUniqueNames = new Set();\n\n if (pendingComponentWillMountWarnings.length > 0) {\n pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillMountWarnings = [];\n }\n\n var UNSAFE_componentWillMountUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\n pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillMountWarnings = [];\n }\n\n var componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingComponentWillReceivePropsWarnings.length > 0) {\n pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillReceivePropsWarnings = [];\n }\n\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\n pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n }\n\n var componentWillUpdateUniqueNames = new Set();\n\n if (pendingComponentWillUpdateWarnings.length > 0) {\n pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingComponentWillUpdateWarnings = [];\n }\n\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n\n if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\n pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n });\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n } // Finally, we flush all the warnings\n // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\n\n\n if (UNSAFE_componentWillMountUniqueNames.size > 0) {\n var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\n\n error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '\\nPlease update the following components: %s', sortedNames);\n }\n\n if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\n\n error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, \" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '\\nPlease update the following components: %s', _sortedNames);\n }\n\n if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\n\n error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '\\nPlease update the following components: %s', _sortedNames2);\n }\n\n if (componentWillMountUniqueNames.size > 0) {\n var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\n\n warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames3);\n }\n\n if (componentWillReceivePropsUniqueNames.size > 0) {\n var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\n\n warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + \"* If you're updating state whenever props change, refactor your \" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames4);\n }\n\n if (componentWillUpdateUniqueNames.size > 0) {\n var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\n\n warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n' + '\\nPlease update the following components: %s', _sortedNames5);\n }\n };\n\n var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\n\n var didWarnAboutLegacyContext = new Set();\n\n ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\n var strictRoot = findStrictRoot(fiber);\n\n if (strictRoot === null) {\n error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n\n return;\n } // Dedup strategy: Warn once per component.\n\n\n if (didWarnAboutLegacyContext.has(fiber.type)) {\n return;\n }\n\n var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\n\n if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\n if (warningsForRoot === undefined) {\n warningsForRoot = [];\n pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\n }\n\n warningsForRoot.push(fiber);\n }\n };\n\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\n if (fiberArray.length === 0) {\n return;\n }\n\n var firstFiber = fiberArray[0];\n var uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || 'Component');\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n\n try {\n setCurrentFiber(firstFiber);\n\n error('Legacy context API has been detected within a strict-mode tree.' + '\\n\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\n\\nPlease update the following components: %s' + '\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context', sortedNames);\n } finally {\n resetCurrentFiber();\n }\n });\n };\n\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n}\n\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n // Resolve default props. Taken from ReactElement\n var props = assign({}, baseProps);\n var defaultProps = Component.defaultProps;\n\n for (var propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n }\n\n return baseProps;\n}\n\nvar valueCursor = createCursor(null);\nvar rendererSigil;\n\n{\n // Use this to detect multiple renderers using the same context\n rendererSigil = {};\n}\n\nvar currentlyRenderingFiber = null;\nvar lastContextDependency = null;\nvar lastFullyObservedContext = null;\nvar isDisallowedContextReadInDEV = false;\nfunction resetContextDependencies() {\n // This is called right before React yields execution, to ensure `readContext`\n // cannot be called outside the render phase.\n currentlyRenderingFiber = null;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction enterDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = true;\n }\n}\nfunction exitDisallowedContextReadInDEV() {\n {\n isDisallowedContextReadInDEV = false;\n }\n}\nfunction pushProvider(providerFiber, context, nextValue) {\n {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n\n {\n if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\n error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\n }\n\n context._currentRenderer = rendererSigil;\n }\n }\n}\nfunction popProvider(context, providerFiber) {\n var currentValue = valueCursor.current;\n pop(valueCursor, providerFiber);\n\n {\n {\n context._currentValue = currentValue;\n }\n }\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n // Update the child lanes of all the ancestors, including the alternates.\n var node = parent;\n\n while (node !== null) {\n var alternate = node.alternate;\n\n if (!isSubsetOfLanes(node.childLanes, renderLanes)) {\n node.childLanes = mergeLanes(node.childLanes, renderLanes);\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes)) {\n alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes);\n }\n\n if (node === propagationRoot) {\n break;\n }\n\n node = node.return;\n }\n\n {\n if (node !== propagationRoot) {\n error('Expected to find the propagation root when scheduling context work. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n }\n}\nfunction propagateContextChange(workInProgress, context, renderLanes) {\n {\n propagateContextChange_eager(workInProgress, context, renderLanes);\n }\n}\n\nfunction propagateContextChange_eager(workInProgress, context, renderLanes) {\n\n var fiber = workInProgress.child;\n\n if (fiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n fiber.return = workInProgress;\n }\n\n while (fiber !== null) {\n var nextFiber = void 0; // Visit this fiber.\n\n var list = fiber.dependencies;\n\n if (list !== null) {\n nextFiber = fiber.child;\n var dependency = list.firstContext;\n\n while (dependency !== null) {\n // Check if the context matches.\n if (dependency.context === context) {\n // Match! Schedule an update on this fiber.\n if (fiber.tag === ClassComponent) {\n // Schedule a force update on the work-in-progress.\n var lane = pickArbitraryLane(renderLanes);\n var update = createUpdate(NoTimestamp, lane);\n update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\n // update to the current fiber, too, which means it will persist even if\n // this render is thrown away. Since it's a race condition, not sure it's\n // worth fixing.\n // Inlined `enqueueUpdate` to remove interleaved update check\n\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) ; else {\n var sharedQueue = updateQueue.shared;\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update;\n }\n }\n\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, workInProgress); // Mark the updated lanes on the list, too.\n\n list.lanes = mergeLanes(list.lanes, renderLanes); // Since we already found a match, we can stop traversing the\n // dependency list.\n\n break;\n }\n\n dependency = dependency.next;\n }\n } else if (fiber.tag === ContextProvider) {\n // Don't scan deeper if this is a matching provider\n nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\n } else if (fiber.tag === DehydratedFragment) {\n // If a dehydrated suspense boundary is in this subtree, we don't know\n // if it will have any context consumers in it. The best we can do is\n // mark it as having updates.\n var parentSuspense = fiber.return;\n\n if (parentSuspense === null) {\n throw new Error('We just came from a parent so we must have had a parent. This is a bug in React.');\n }\n\n parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes);\n var _alternate = parentSuspense.alternate;\n\n if (_alternate !== null) {\n _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes);\n } // This is intentionally passing this fiber as the parent\n // because we want to schedule this fiber as having work\n // on its children. We'll use the childLanes on\n // this fiber to indicate that a context has changed.\n\n\n scheduleContextWorkOnParentPath(parentSuspense, renderLanes, workInProgress);\n nextFiber = fiber.sibling;\n } else {\n // Traverse down.\n nextFiber = fiber.child;\n }\n\n if (nextFiber !== null) {\n // Set the return pointer of the child to the work-in-progress fiber.\n nextFiber.return = fiber;\n } else {\n // No child. Traverse to next sibling.\n nextFiber = fiber;\n\n while (nextFiber !== null) {\n if (nextFiber === workInProgress) {\n // We're back to the root of this subtree. Exit.\n nextFiber = null;\n break;\n }\n\n var sibling = nextFiber.sibling;\n\n if (sibling !== null) {\n // Set the return pointer of the sibling to the work-in-progress fiber.\n sibling.return = nextFiber.return;\n nextFiber = sibling;\n break;\n } // No more siblings. Traverse up.\n\n\n nextFiber = nextFiber.return;\n }\n }\n\n fiber = nextFiber;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n lastFullyObservedContext = null;\n var dependencies = workInProgress.dependencies;\n\n if (dependencies !== null) {\n {\n var firstContext = dependencies.firstContext;\n\n if (firstContext !== null) {\n if (includesSomeLane(dependencies.lanes, renderLanes)) {\n // Context list has a pending update. Mark that this fiber performed work.\n markWorkInProgressReceivedUpdate();\n } // Reset the work-in-progress list\n\n\n dependencies.firstContext = null;\n }\n }\n }\n}\nfunction readContext(context) {\n {\n // This warning would fire if you read context inside a Hook like useMemo.\n // Unlike the class check below, it's not enforced in production for perf.\n if (isDisallowedContextReadInDEV) {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n }\n }\n\n var value = context._currentValue ;\n\n if (lastFullyObservedContext === context) ; else {\n var contextItem = {\n context: context,\n memoizedValue: value,\n next: null\n };\n\n if (lastContextDependency === null) {\n if (currentlyRenderingFiber === null) {\n throw new Error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n } // This is the first dependency for this component. Create a new list.\n\n\n lastContextDependency = contextItem;\n currentlyRenderingFiber.dependencies = {\n lanes: NoLanes,\n firstContext: contextItem\n };\n } else {\n // Append a new context item.\n lastContextDependency = lastContextDependency.next = contextItem;\n }\n }\n\n return value;\n}\n\n// render. When this render exits, either because it finishes or because it is\n// interrupted, the interleaved updates will be transferred onto the main part\n// of the queue.\n\nvar concurrentQueues = null;\nfunction pushConcurrentUpdateQueue(queue) {\n if (concurrentQueues === null) {\n concurrentQueues = [queue];\n } else {\n concurrentQueues.push(queue);\n }\n}\nfunction finishQueueingConcurrentUpdates() {\n // Transfer the interleaved updates onto the main queue. Each queue has a\n // `pending` field and an `interleaved` field. When they are not null, they\n // point to the last node in a circular linked list. We need to append the\n // interleaved list to the end of the pending list by joining them into a\n // single, circular list.\n if (concurrentQueues !== null) {\n for (var i = 0; i < concurrentQueues.length; i++) {\n var queue = concurrentQueues[i];\n var lastInterleavedUpdate = queue.interleaved;\n\n if (lastInterleavedUpdate !== null) {\n queue.interleaved = null;\n var firstInterleavedUpdate = lastInterleavedUpdate.next;\n var lastPendingUpdate = queue.pending;\n\n if (lastPendingUpdate !== null) {\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = firstInterleavedUpdate;\n lastInterleavedUpdate.next = firstPendingUpdate;\n }\n\n queue.pending = lastInterleavedUpdate;\n }\n }\n\n concurrentQueues = null;\n }\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n}\nfunction enqueueConcurrentClassUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n\n if (interleaved === null) {\n // This is the first update. Create a circular list.\n update.next = update; // At the end of the current render, this queue's interleaved updates will\n // be transferred to the pending queue.\n\n pushConcurrentUpdateQueue(queue);\n } else {\n update.next = interleaved.next;\n interleaved.next = update;\n }\n\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n} // Calling this function outside this module should only be done for backwards\n// compatibility and should always be accompanied by a warning.\n\nvar unsafe_markUpdateLaneFromFiberToRoot = markUpdateLaneFromFiberToRoot;\n\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n // Update the source fiber's lanes\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane);\n var alternate = sourceFiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, lane);\n }\n\n {\n if (alternate === null && (sourceFiber.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n } // Walk the parent path to the root and update the child lanes.\n\n\n var node = sourceFiber;\n var parent = sourceFiber.return;\n\n while (parent !== null) {\n parent.childLanes = mergeLanes(parent.childLanes, lane);\n alternate = parent.alternate;\n\n if (alternate !== null) {\n alternate.childLanes = mergeLanes(alternate.childLanes, lane);\n } else {\n {\n if ((parent.flags & (Placement | Hydrating)) !== NoFlags) {\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n }\n }\n }\n\n node = parent;\n parent = parent.return;\n }\n\n if (node.tag === HostRoot) {\n var root = node.stateNode;\n return root;\n } else {\n return null;\n }\n}\n\nvar UpdateState = 0;\nvar ReplaceState = 1;\nvar ForceUpdate = 2;\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\n// It should only be read right after calling `processUpdateQueue`, via\n// `checkHasForceUpdateAfterProcessing`.\n\nvar hasForceUpdate = false;\nvar didWarnUpdateInsideUpdate;\nvar currentlyProcessingQueue;\n\n{\n didWarnUpdateInsideUpdate = false;\n currentlyProcessingQueue = null;\n}\n\nfunction initializeUpdateQueue(fiber) {\n var queue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: {\n pending: null,\n interleaved: null,\n lanes: NoLanes\n },\n effects: null\n };\n fiber.updateQueue = queue;\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n // Clone the update queue from current. Unless it's already a clone.\n var queue = workInProgress.updateQueue;\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n var clone = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: currentQueue.firstBaseUpdate,\n lastBaseUpdate: currentQueue.lastBaseUpdate,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = clone;\n }\n}\nfunction createUpdate(eventTime, lane) {\n var update = {\n eventTime: eventTime,\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n return update;\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return null;\n }\n\n var sharedQueue = updateQueue.shared;\n\n {\n if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\n error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');\n\n didWarnUpdateInsideUpdate = true;\n }\n }\n\n if (isUnsafeClassRenderPhaseUpdate()) {\n // This is an unsafe render phase update. Add directly to the update\n // queue so we can process it immediately during the current render.\n var pending = sharedQueue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n sharedQueue.pending = update; // Update the childLanes even though we're most likely already rendering\n // this fiber. This is for backwards compatibility in the case where you\n // update a different component during render phase than the one that is\n // currently renderings (a pattern that is accompanied by a warning).\n\n return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane);\n } else {\n return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane);\n }\n}\nfunction entangleTransitions(root, fiber, lane) {\n var updateQueue = fiber.updateQueue;\n\n if (updateQueue === null) {\n // Only occurs if the fiber has been unmounted.\n return;\n }\n\n var sharedQueue = updateQueue.shared;\n\n if (isTransitionLane(lane)) {\n var queueLanes = sharedQueue.lanes; // If any entangled lanes are no longer pending on the root, then they must\n // have finished. We can remove them from the shared queue, which represents\n // a superset of the actually pending lanes. In some cases we may entangle\n // more than we need to, but that's OK. In fact it's worse if we *don't*\n // entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n sharedQueue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n // Captured updates are updates that are thrown by a child during the render\n // phase. They should be discarded if the render is aborted. Therefore,\n // we should only put them on the work-in-progress queue, not the current one.\n var queue = workInProgress.updateQueue; // Check if the work-in-progress queue is a clone.\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n var currentQueue = current.updateQueue;\n\n if (queue === currentQueue) {\n // The work-in-progress queue is the same as current. This happens when\n // we bail out on a parent fiber that then captures an error thrown by\n // a child. Since we want to append the update only to the work-in\n // -progress queue, we need to clone the updates. We usually clone during\n // processUpdateQueue, but that didn't happen in this case because we\n // skipped over the parent when we bailed out.\n var newFirst = null;\n var newLast = null;\n var firstBaseUpdate = queue.firstBaseUpdate;\n\n if (firstBaseUpdate !== null) {\n // Loop through the updates and clone them.\n var update = firstBaseUpdate;\n\n do {\n var clone = {\n eventTime: update.eventTime,\n lane: update.lane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLast === null) {\n newFirst = newLast = clone;\n } else {\n newLast.next = clone;\n newLast = clone;\n }\n\n update = update.next;\n } while (update !== null); // Append the captured update the end of the cloned list.\n\n\n if (newLast === null) {\n newFirst = newLast = capturedUpdate;\n } else {\n newLast.next = capturedUpdate;\n newLast = capturedUpdate;\n }\n } else {\n // There are no base updates.\n newFirst = newLast = capturedUpdate;\n }\n\n queue = {\n baseState: currentQueue.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: currentQueue.shared,\n effects: currentQueue.effects\n };\n workInProgress.updateQueue = queue;\n return;\n }\n } // Append the update to the end of the list.\n\n\n var lastBaseUpdate = queue.lastBaseUpdate;\n\n if (lastBaseUpdate === null) {\n queue.firstBaseUpdate = capturedUpdate;\n } else {\n lastBaseUpdate.next = capturedUpdate;\n }\n\n queue.lastBaseUpdate = capturedUpdate;\n}\n\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\n switch (update.tag) {\n case ReplaceState:\n {\n var payload = update.payload;\n\n if (typeof payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n var nextState = payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n\n return nextState;\n } // State object\n\n\n return payload;\n }\n\n case CaptureUpdate:\n {\n workInProgress.flags = workInProgress.flags & ~ShouldCapture | DidCapture;\n }\n // Intentional fallthrough\n\n case UpdateState:\n {\n var _payload = update.payload;\n var partialState;\n\n if (typeof _payload === 'function') {\n // Updater function\n {\n enterDisallowedContextReadInDEV();\n }\n\n partialState = _payload.call(instance, prevState, nextProps);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n _payload.call(instance, prevState, nextProps);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n exitDisallowedContextReadInDEV();\n }\n } else {\n // Partial state object\n partialState = _payload;\n }\n\n if (partialState === null || partialState === undefined) {\n // Null and undefined are treated as no-ops.\n return prevState;\n } // Merge the partial state and the previous state.\n\n\n return assign({}, prevState, partialState);\n }\n\n case ForceUpdate:\n {\n hasForceUpdate = true;\n return prevState;\n }\n }\n\n return prevState;\n}\n\nfunction processUpdateQueue(workInProgress, props, instance, renderLanes) {\n // This is always non-null on a ClassComponent or HostRoot\n var queue = workInProgress.updateQueue;\n hasForceUpdate = false;\n\n {\n currentlyProcessingQueue = queue.shared;\n }\n\n var firstBaseUpdate = queue.firstBaseUpdate;\n var lastBaseUpdate = queue.lastBaseUpdate; // Check if there are pending updates. If so, transfer them to the base queue.\n\n var pendingQueue = queue.shared.pending;\n\n if (pendingQueue !== null) {\n queue.shared.pending = null; // The pending queue is circular. Disconnect the pointer between first\n // and last so that it's non-circular.\n\n var lastPendingUpdate = pendingQueue;\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null; // Append pending updates to base queue\n\n if (lastBaseUpdate === null) {\n firstBaseUpdate = firstPendingUpdate;\n } else {\n lastBaseUpdate.next = firstPendingUpdate;\n }\n\n lastBaseUpdate = lastPendingUpdate; // If there's a current queue, and it's different from the base queue, then\n // we need to transfer the updates to that queue, too. Because the base\n // queue is a singly-linked list with no cycles, we can append to both\n // lists and take advantage of structural sharing.\n // TODO: Pass `current` as argument\n\n var current = workInProgress.alternate;\n\n if (current !== null) {\n // This is always non-null on a ClassComponent or HostRoot\n var currentQueue = current.updateQueue;\n var currentLastBaseUpdate = currentQueue.lastBaseUpdate;\n\n if (currentLastBaseUpdate !== lastBaseUpdate) {\n if (currentLastBaseUpdate === null) {\n currentQueue.firstBaseUpdate = firstPendingUpdate;\n } else {\n currentLastBaseUpdate.next = firstPendingUpdate;\n }\n\n currentQueue.lastBaseUpdate = lastPendingUpdate;\n }\n }\n } // These values may change as we process the queue.\n\n\n if (firstBaseUpdate !== null) {\n // Iterate through the list of updates to compute the result.\n var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes\n // from the original lanes.\n\n var newLanes = NoLanes;\n var newBaseState = null;\n var newFirstBaseUpdate = null;\n var newLastBaseUpdate = null;\n var update = firstBaseUpdate;\n\n do {\n var updateLane = update.lane;\n var updateEventTime = update.eventTime;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n eventTime: updateEventTime,\n lane: updateLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n\n if (newLastBaseUpdate === null) {\n newFirstBaseUpdate = newLastBaseUpdate = clone;\n newBaseState = newState;\n } else {\n newLastBaseUpdate = newLastBaseUpdate.next = clone;\n } // Update the remaining priority in the queue.\n\n\n newLanes = mergeLanes(newLanes, updateLane);\n } else {\n // This update does have sufficient priority.\n if (newLastBaseUpdate !== null) {\n var _clone = {\n eventTime: updateEventTime,\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n tag: update.tag,\n payload: update.payload,\n callback: update.callback,\n next: null\n };\n newLastBaseUpdate = newLastBaseUpdate.next = _clone;\n } // Process this update.\n\n\n newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\n var callback = update.callback;\n\n if (callback !== null && // If the update was already committed, we should not queue its\n // callback again.\n update.lane !== NoLane) {\n workInProgress.flags |= Callback;\n var effects = queue.effects;\n\n if (effects === null) {\n queue.effects = [update];\n } else {\n effects.push(update);\n }\n }\n }\n\n update = update.next;\n\n if (update === null) {\n pendingQueue = queue.shared.pending;\n\n if (pendingQueue === null) {\n break;\n } else {\n // An update was scheduled from inside a reducer. Add the new\n // pending updates to the end of the list and keep processing.\n var _lastPendingUpdate = pendingQueue; // Intentionally unsound. Pending updates form a circular list, but we\n // unravel them when transferring them to the base queue.\n\n var _firstPendingUpdate = _lastPendingUpdate.next;\n _lastPendingUpdate.next = null;\n update = _firstPendingUpdate;\n queue.lastBaseUpdate = _lastPendingUpdate;\n queue.shared.pending = null;\n }\n }\n } while (true);\n\n if (newLastBaseUpdate === null) {\n newBaseState = newState;\n }\n\n queue.baseState = newBaseState;\n queue.firstBaseUpdate = newFirstBaseUpdate;\n queue.lastBaseUpdate = newLastBaseUpdate; // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n var lastInterleaved = queue.shared.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n newLanes = mergeLanes(newLanes, interleaved.lane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (firstBaseUpdate === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.shared.lanes = NoLanes;\n } // Set the remaining expiration time to be whatever is remaining in the queue.\n // This should be fine because the only two other things that contribute to\n // expiration time are props and context. We're already in the middle of the\n // begin phase by the time we start processing the queue, so we've already\n // dealt with the props. Context in components that specify\n // shouldComponentUpdate is tricky; but we'll have to account for\n // that regardless.\n\n\n markSkippedUpdateLanes(newLanes);\n workInProgress.lanes = newLanes;\n workInProgress.memoizedState = newState;\n }\n\n {\n currentlyProcessingQueue = null;\n }\n}\n\nfunction callCallback(callback, context) {\n if (typeof callback !== 'function') {\n throw new Error('Invalid argument passed as callback. Expected a function. Instead ' + (\"received: \" + callback));\n }\n\n callback.call(context);\n}\n\nfunction resetHasForceUpdateBeforeProcessing() {\n hasForceUpdate = false;\n}\nfunction checkHasForceUpdateAfterProcessing() {\n return hasForceUpdate;\n}\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\n // Commit the effects\n var effects = finishedQueue.effects;\n finishedQueue.effects = null;\n\n if (effects !== null) {\n for (var i = 0; i < effects.length; i++) {\n var effect = effects[i];\n var callback = effect.callback;\n\n if (callback !== null) {\n effect.callback = null;\n callCallback(callback, instance);\n }\n }\n }\n}\n\nvar fakeInternalInstance = {}; // React.Component uses a shared frozen object by default.\n// We'll use it to determine whether we need to initialize legacy refs.\n\nvar emptyRefsObject = new React.Component().refs;\nvar didWarnAboutStateAssignmentForComponent;\nvar didWarnAboutUninitializedState;\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\nvar didWarnAboutUndefinedDerivedState;\nvar warnOnUndefinedDerivedState;\nvar warnOnInvalidCallback;\nvar didWarnAboutDirectlyAssigningPropsToState;\nvar didWarnAboutContextTypeAndContextTypes;\nvar didWarnAboutInvalidateContextType;\n\n{\n didWarnAboutStateAssignmentForComponent = new Set();\n didWarnAboutUninitializedState = new Set();\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n didWarnAboutDirectlyAssigningPropsToState = new Set();\n didWarnAboutUndefinedDerivedState = new Set();\n didWarnAboutContextTypeAndContextTypes = new Set();\n didWarnAboutInvalidateContextType = new Set();\n var didWarnOnInvalidCallback = new Set();\n\n warnOnInvalidCallback = function (callback, callerName) {\n if (callback === null || typeof callback === 'function') {\n return;\n }\n\n var key = callerName + '_' + callback;\n\n if (!didWarnOnInvalidCallback.has(key)) {\n didWarnOnInvalidCallback.add(key);\n\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n };\n\n warnOnUndefinedDerivedState = function (type, partialState) {\n if (partialState === undefined) {\n var componentName = getComponentNameFromType(type) || 'Component';\n\n if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\n didWarnAboutUndefinedDerivedState.add(componentName);\n\n error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\n }\n }\n }; // This is so gross but it's at least non-critical and can be removed if\n // it causes problems. This is meant to give a nicer error message for\n // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\n // ...)) which otherwise throws a \"_processChildContext is not a function\"\n // exception.\n\n\n Object.defineProperty(fakeInternalInstance, '_processChildContext', {\n enumerable: false,\n value: function () {\n throw new Error('_processChildContext is not available in React 16+. This likely ' + 'means you have multiple copies of React and are attempting to nest ' + 'a React 15 tree inside a React 16 tree using ' + \"unstable_renderSubtreeIntoContainer, which isn't supported. Try \" + 'to make sure you have only one copy of React (and ideally, switch ' + 'to ReactDOM.createPortal).');\n }\n });\n Object.freeze(fakeInternalInstance);\n}\n\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\n var prevState = workInProgress.memoizedState;\n var partialState = getDerivedStateFromProps(nextProps, prevState);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n warnOnUndefinedDerivedState(ctor, partialState);\n } // Merge the partial state and the previous state.\n\n\n var memoizedState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);\n workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\n // base state.\n\n if (workInProgress.lanes === NoLanes) {\n // Queue is always non-null for classes\n var updateQueue = workInProgress.updateQueue;\n updateQueue.baseState = memoizedState;\n }\n}\n\nvar classComponentUpdater = {\n isMounted: isMounted,\n enqueueSetState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'setState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueReplaceState: function (inst, payload, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ReplaceState;\n update.payload = payload;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'replaceState');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n },\n enqueueForceUpdate: function (inst, callback) {\n var fiber = get(inst);\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(fiber);\n var update = createUpdate(eventTime, lane);\n update.tag = ForceUpdate;\n\n if (callback !== undefined && callback !== null) {\n {\n warnOnInvalidCallback(callback, 'forceUpdate');\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(fiber, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitions(root, fiber, lane);\n }\n\n {\n markForceUpdateScheduled(fiber, lane);\n }\n }\n};\n\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\n var instance = workInProgress.stateNode;\n\n if (typeof instance.shouldComponentUpdate === 'function') {\n var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n // Invoke the function an extra time to help detect side-effects.\n shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n if (shouldUpdate === undefined) {\n error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentNameFromType(ctor) || 'Component');\n }\n }\n\n return shouldUpdate;\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent) {\n return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\n }\n\n return true;\n}\n\nfunction checkClassInstance(workInProgress, ctor, newProps) {\n var instance = workInProgress.stateNode;\n\n {\n var name = getComponentNameFromType(ctor) || 'Component';\n var renderPresent = instance.render;\n\n if (!renderPresent) {\n if (ctor.prototype && typeof ctor.prototype.render === 'function') {\n error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);\n } else {\n error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);\n }\n }\n\n if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\n error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\n }\n\n if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\n }\n\n if (instance.propTypes) {\n error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\n }\n\n if (instance.contextType) {\n error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\n }\n\n {\n if (instance.contextTypes) {\n error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\n }\n\n if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\n didWarnAboutContextTypeAndContextTypes.add(ctor);\n\n error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\n }\n }\n\n if (typeof instance.componentShouldUpdate === 'function') {\n error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\n }\n\n if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\n error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentNameFromType(ctor) || 'A pure component');\n }\n\n if (typeof instance.componentDidUnmount === 'function') {\n error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\n }\n\n if (typeof instance.componentDidReceiveProps === 'function') {\n error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\n }\n\n if (typeof instance.componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\n }\n\n if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\n error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\n }\n\n var hasMutatedProps = instance.props !== newProps;\n\n if (instance.props !== undefined && hasMutatedProps) {\n error('%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", name, name);\n }\n\n if (instance.defaultProps) {\n error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\n\n error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentNameFromType(ctor));\n }\n\n if (typeof instance.getDerivedStateFromProps === 'function') {\n error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof instance.getDerivedStateFromError === 'function') {\n error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\n }\n\n if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\n error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\n }\n\n var _state = instance.state;\n\n if (_state && (typeof _state !== 'object' || isArray(_state))) {\n error('%s.state: must be set to an object or null', name);\n }\n\n if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\n error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\n }\n }\n}\n\nfunction adoptClassInstance(workInProgress, instance) {\n instance.updater = classComponentUpdater;\n workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\n\n set(instance, workInProgress);\n\n {\n instance._reactInternalInstance = fakeInternalInstance;\n }\n}\n\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = false;\n var unmaskedContext = emptyContextObject;\n var context = emptyContextObject;\n var contextType = ctor.contextType;\n\n {\n if ('contextType' in ctor) {\n var isValid = // Allow null for conditional declaration\n contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>\n\n if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\n didWarnAboutInvalidateContextType.add(ctor);\n var addendum = '';\n\n if (contextType === undefined) {\n addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\n } else if (typeof contextType !== 'object') {\n addendum = ' However, it is set to a ' + typeof contextType + '.';\n } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {\n addendum = ' Did you accidentally pass the Context.Provider instead?';\n } else if (contextType._context !== undefined) {\n // <Context.Consumer>\n addendum = ' Did you accidentally pass the Context.Consumer instead?';\n } else {\n addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\n }\n\n error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentNameFromType(ctor) || 'Component', addendum);\n }\n }\n }\n\n if (typeof contextType === 'object' && contextType !== null) {\n context = readContext(contextType);\n } else {\n unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n var contextTypes = ctor.contextTypes;\n isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\n context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\n }\n\n var instance = new ctor(props, context); // Instantiate twice to help detect side-effects.\n\n {\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance = new ctor(props, context); // eslint-disable-line no-new\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\n adoptClassInstance(workInProgress, instance);\n\n {\n if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutUninitializedState.has(componentName)) {\n didWarnAboutUninitializedState.add(componentName);\n\n error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\n }\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Warn about these lifecycles if they are present.\n // Don't warn about react-lifecycles-compat polyfilled methods though.\n\n\n if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\n foundWillMountName = 'componentWillMount';\n } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var _componentName = getComponentNameFromType(ctor) || 'Component';\n\n var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n\n if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\n didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\n\n error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://reactjs.org/link/unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \"\\n \" + foundWillMountName : '', foundWillReceivePropsName !== null ? \"\\n \" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \"\\n \" + foundWillUpdateName : '');\n }\n }\n }\n } // Cache unmasked context so we can avoid recreating masked context unless necessary.\n // ReactFiberContext usually updates this cache but can't for newly-created instances.\n\n\n if (isLegacyContextConsumer) {\n cacheContext(workInProgress, unmaskedContext, context);\n }\n\n return instance;\n}\n\nfunction callComponentWillMount(workInProgress, instance) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n\n if (oldState !== instance.state) {\n {\n error('%s.componentWillMount(): Assigning directly to this.state is ' + \"deprecated (except inside a component's \" + 'constructor). Use setState instead.', getComponentNameFromFiber(workInProgress) || 'Component');\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n}\n\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\n var oldState = instance.state;\n\n if (typeof instance.componentWillReceiveProps === 'function') {\n instance.componentWillReceiveProps(newProps, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n }\n\n if (instance.state !== oldState) {\n {\n var componentName = getComponentNameFromFiber(workInProgress) || 'Component';\n\n if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\n didWarnAboutStateAssignmentForComponent.add(componentName);\n\n error('%s.componentWillReceiveProps(): Assigning directly to ' + \"this.state is deprecated (except inside a component's \" + 'constructor). Use setState instead.', componentName);\n }\n }\n\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n} // Invokes the mount life-cycles on a previously never rendered instance.\n\n\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n {\n checkClassInstance(workInProgress, ctor, newProps);\n }\n\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = emptyRefsObject;\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n\n if (typeof contextType === 'object' && contextType !== null) {\n instance.context = readContext(contextType);\n } else {\n var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n instance.context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n {\n if (instance.state === newProps) {\n var componentName = getComponentNameFromType(ctor) || 'Component';\n\n if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\n didWarnAboutDirectlyAssigningPropsToState.add(componentName);\n\n error('%s: It is not recommended to assign props directly to state ' + \"because updates to props won't be reflected in state. \" + 'In most cases, it is better to use props directly.', componentName);\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\n }\n\n {\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\n }\n }\n\n instance.state = workInProgress.memoizedState;\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n instance.state = workInProgress.memoizedState;\n } // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n\n if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\n // process them now.\n\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n instance.state = workInProgress.memoizedState;\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n}\n\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n var oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (oldProps !== newProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= fiberFlags;\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\n if (typeof instance.componentWillMount === 'function') {\n instance.componentWillMount();\n }\n\n if (typeof instance.UNSAFE_componentWillMount === 'function') {\n instance.UNSAFE_componentWillMount();\n }\n }\n\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags = Update;\n\n {\n _fiberFlags |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidMount === 'function') {\n var _fiberFlags2 = Update;\n\n {\n _fiberFlags2 |= LayoutStatic;\n }\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n _fiberFlags2 |= MountLayoutDev;\n }\n\n workInProgress.flags |= _fiberFlags2;\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\n\n\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n var unresolvedOldProps = workInProgress.memoizedProps;\n var oldProps = workInProgress.type === workInProgress.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress.type, unresolvedOldProps);\n instance.props = oldProps;\n var unresolvedNewProps = workInProgress.pendingProps;\n var oldContext = instance.context;\n var contextType = ctor.contextType;\n var nextContext = emptyContextObject;\n\n if (typeof contextType === 'object' && contextType !== null) {\n nextContext = readContext(contextType);\n } else {\n var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\n nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\n }\n\n var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\n var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\n // ever the previously attempted to render - not the \"current\". However,\n // during componentDidUpdate we pass the \"current\" props.\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\n if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) {\n callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\n }\n }\n\n resetHasForceUpdateBeforeProcessing();\n var oldState = workInProgress.memoizedState;\n var newState = instance.state = oldState;\n processUpdateQueue(workInProgress, newProps, instance, renderLanes);\n newState = workInProgress.memoizedState;\n\n if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !(enableLazyContextPropagation )) {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n }\n\n return false;\n }\n\n if (typeof getDerivedStateFromProps === 'function') {\n applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\n newState = workInProgress.memoizedState;\n }\n\n var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) || // TODO: In some cases, we'll end up checking if context has changed twice,\n // both before and after `shouldComponentUpdate` has been called. Not ideal,\n // but I'm loath to refactor this function. This only happens for memoized\n // components so it's not that common.\n enableLazyContextPropagation ;\n\n if (shouldUpdate) {\n // In order to support react-lifecycles-compat polyfilled components,\n // Unsafe lifecycles should not be invoked for components using the new APIs.\n if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\n if (typeof instance.componentWillUpdate === 'function') {\n instance.componentWillUpdate(newProps, newState, nextContext);\n }\n\n if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\n instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\n }\n }\n\n if (typeof instance.componentDidUpdate === 'function') {\n workInProgress.flags |= Update;\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n workInProgress.flags |= Snapshot;\n }\n } else {\n // If an update was already in progress, we should schedule an Update\n // effect even though we're bailing out, so that cWU/cDU are called.\n if (typeof instance.componentDidUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Update;\n }\n }\n\n if (typeof instance.getSnapshotBeforeUpdate === 'function') {\n if (unresolvedOldProps !== current.memoizedProps || oldState !== current.memoizedState) {\n workInProgress.flags |= Snapshot;\n }\n } // If shouldComponentUpdate returned false, we should still update the\n // memoized props/state to indicate that this work can be reused.\n\n\n workInProgress.memoizedProps = newProps;\n workInProgress.memoizedState = newState;\n } // Update the existing instance's state, props, and context pointers even\n // if shouldComponentUpdate returns false.\n\n\n instance.props = newProps;\n instance.state = newState;\n instance.context = nextContext;\n return shouldUpdate;\n}\n\nvar didWarnAboutMaps;\nvar didWarnAboutGenerators;\nvar didWarnAboutStringRefs;\nvar ownerHasKeyUseWarning;\nvar ownerHasFunctionTypeWarning;\n\nvar warnForMissingKey = function (child, returnFiber) {};\n\n{\n didWarnAboutMaps = false;\n didWarnAboutGenerators = false;\n didWarnAboutStringRefs = {};\n /**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n ownerHasKeyUseWarning = {};\n ownerHasFunctionTypeWarning = {};\n\n warnForMissingKey = function (child, returnFiber) {\n if (child === null || typeof child !== 'object') {\n return;\n }\n\n if (!child._store || child._store.validated || child.key != null) {\n return;\n }\n\n if (typeof child._store !== 'object') {\n throw new Error('React Component in warnForMissingKey should have a _store. ' + 'This error is likely caused by a bug in React. Please file an issue.');\n }\n\n child._store.validated = true;\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasKeyUseWarning[componentName]) {\n return;\n }\n\n ownerHasKeyUseWarning[componentName] = true;\n\n error('Each child in a list should have a unique ' + '\"key\" prop. See https://reactjs.org/link/warning-keys for ' + 'more information.');\n };\n}\n\nfunction coerceRef(returnFiber, current, element) {\n var mixedRef = element.ref;\n\n if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\n {\n // TODO: Clean this up once we turn on the string ref warning for\n // everyone, because the strict mode case will no longer be relevant\n if ((returnFiber.mode & StrictLegacyMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs\n // because these cannot be automatically converted to an arrow function\n // using a codemod. Therefore, we don't have to warn about string refs again.\n !(element._owner && element._self && element._owner.stateNode !== element._self)) {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (!didWarnAboutStringRefs[componentName]) {\n {\n error('A string ref, \"%s\", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', mixedRef);\n }\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n\n if (element._owner) {\n var owner = element._owner;\n var inst;\n\n if (owner) {\n var ownerFiber = owner;\n\n if (ownerFiber.tag !== ClassComponent) {\n throw new Error('Function components cannot have string refs. ' + 'We recommend using useRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref');\n }\n\n inst = ownerFiber.stateNode;\n }\n\n if (!inst) {\n throw new Error(\"Missing owner for string ref \" + mixedRef + \". This error is likely caused by a \" + 'bug in React. Please file an issue.');\n } // Assigning this to a const so Flow knows it won't change in the closure\n\n\n var resolvedInst = inst;\n\n {\n checkPropStringCoercion(mixedRef, 'ref');\n }\n\n var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref\n\n if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\n return current.ref;\n }\n\n var ref = function (value) {\n var refs = resolvedInst.refs;\n\n if (refs === emptyRefsObject) {\n // This is a lazy pooled frozen object, so we need to initialize.\n refs = resolvedInst.refs = {};\n }\n\n if (value === null) {\n delete refs[stringRef];\n } else {\n refs[stringRef] = value;\n }\n };\n\n ref._stringRef = stringRef;\n return ref;\n } else {\n if (typeof mixedRef !== 'string') {\n throw new Error('Expected ref to be a function, a string, an object returned by React.createRef(), or null.');\n }\n\n if (!element._owner) {\n throw new Error(\"Element ref was specified as a string (\" + mixedRef + \") but no owner was set. This could happen for one of\" + ' the following reasons:\\n' + '1. You may be adding a ref to a function component\\n' + \"2. You may be adding a ref to a component that was not created inside a component's render method\\n\" + '3. You have multiple copies of React loaded\\n' + 'See https://reactjs.org/link/refs-must-have-owner for more information.');\n }\n }\n }\n\n return mixedRef;\n}\n\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n var childString = Object.prototype.toString.call(newChild);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childString === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : childString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n}\n\nfunction warnOnFunctionType(returnFiber) {\n {\n var componentName = getComponentNameFromFiber(returnFiber) || 'Component';\n\n if (ownerHasFunctionTypeWarning[componentName]) {\n return;\n }\n\n ownerHasFunctionTypeWarning[componentName] = true;\n\n error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');\n }\n}\n\nfunction resolveLazy(lazyType) {\n var payload = lazyType._payload;\n var init = lazyType._init;\n return init(payload);\n} // This wrapper function exists because I expect to clone the code in each path\n// to be able to optimize each path individually by branching early. This needs\n// a compiler or we can do it manually. Helpers that don't need this branching\n// live outside of this function.\n\n\nfunction ChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return;\n }\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [childToDelete];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(childToDelete);\n }\n }\n\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) {\n // Noop.\n return null;\n } // TODO: For the shouldClone case, this could be micro-optimized a bit by\n // assuming that after the first child we've already added everything.\n\n\n var childToDelete = currentFirstChild;\n\n while (childToDelete !== null) {\n deleteChild(returnFiber, childToDelete);\n childToDelete = childToDelete.sibling;\n }\n\n return null;\n }\n\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n // Add the remaining children to a temporary map so that we can find them by\n // keys quickly. Implicit (null) keys get added to this set with their index\n // instead.\n var existingChildren = new Map();\n var existingChild = currentFirstChild;\n\n while (existingChild !== null) {\n if (existingChild.key !== null) {\n existingChildren.set(existingChild.key, existingChild);\n } else {\n existingChildren.set(existingChild.index, existingChild);\n }\n\n existingChild = existingChild.sibling;\n }\n\n return existingChildren;\n }\n\n function useFiber(fiber, pendingProps) {\n // We currently set sibling to null and index to 0 here because it is easy\n // to forget to do before returning it. E.g. for the single child case.\n var clone = createWorkInProgress(fiber, pendingProps);\n clone.index = 0;\n clone.sibling = null;\n return clone;\n }\n\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n\n if (!shouldTrackSideEffects) {\n // During hydration, the useId algorithm needs to know which fibers are\n // part of a list of children (arrays, iterators).\n newFiber.flags |= Forked;\n return lastPlacedIndex;\n }\n\n var current = newFiber.alternate;\n\n if (current !== null) {\n var oldIndex = current.index;\n\n if (oldIndex < lastPlacedIndex) {\n // This is a move.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n } else {\n // This item can stay in place.\n return oldIndex;\n }\n } else {\n // This is an insertion.\n newFiber.flags |= Placement;\n return lastPlacedIndex;\n }\n }\n\n function placeSingleChild(newFiber) {\n // This is simpler for the single child case. We only need to do a\n // placement for inserting new children.\n if (shouldTrackSideEffects && newFiber.alternate === null) {\n newFiber.flags |= Placement;\n }\n\n return newFiber;\n }\n\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (current === null || current.tag !== HostText) {\n // Insert\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, textContent);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n return updateFragment(returnFiber, current, element.props.children, lanes, element.key);\n }\n\n if (current !== null) {\n if (current.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(current, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current.type) {\n // Move based on index\n var existing = useFiber(current, element.props);\n existing.ref = coerceRef(returnFiber, current, element);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } // Insert\n\n\n var created = createFiberFromElement(element, returnFiber.mode, lanes);\n created.ref = coerceRef(returnFiber, current, element);\n created.return = returnFiber;\n return created;\n }\n\n function updatePortal(returnFiber, current, portal, lanes) {\n if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\n // Insert\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, portal.children || []);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (current === null || current.tag !== Fragment) {\n // Insert\n var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);\n created.return = returnFiber;\n return created;\n } else {\n // Update\n var existing = useFiber(current, fragment);\n existing.return = returnFiber;\n return existing;\n }\n }\n\n function createChild(returnFiber, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n var created = createFiberFromText('' + newChild, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _created = createFiberFromElement(newChild, returnFiber.mode, lanes);\n\n _created.ref = coerceRef(returnFiber, null, newChild);\n _created.return = returnFiber;\n return _created;\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n\n _created2.return = returnFiber;\n return _created2;\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return createChild(returnFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null);\n\n _created3.return = returnFiber;\n return _created3;\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n // Update the fiber if the keys match, otherwise return null.\n var key = oldFiber !== null ? oldFiber.key : null;\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys. If the previous node is implicitly keyed\n // we can continue to replace it without aborting even if it is not a text\n // node.\n if (key !== null) {\n return null;\n }\n\n return updateTextNode(returnFiber, oldFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n if (newChild.key === key) {\n return updateElement(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_PORTAL_TYPE:\n {\n if (newChild.key === key) {\n return updatePortal(returnFiber, oldFiber, newChild, lanes);\n } else {\n return null;\n }\n }\n\n case REACT_LAZY_TYPE:\n {\n var payload = newChild._payload;\n var init = newChild._init;\n return updateSlot(returnFiber, oldFiber, init(payload), lanes);\n }\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n if (key !== null) {\n return null;\n }\n\n return updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n\n function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n // Text nodes don't have keys, so we neither have to check the old nor\n // new node for the key. If both are text nodes, they match.\n var matchedFiber = existingChildren.get(newIdx) || null;\n return updateTextNode(returnFiber, matchedFiber, '' + newChild, lanes);\n }\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n {\n var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updateElement(returnFiber, _matchedFiber, newChild, lanes);\n }\n\n case REACT_PORTAL_TYPE:\n {\n var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\n\n return updatePortal(returnFiber, _matchedFiber2, newChild, lanes);\n }\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init;\n return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes);\n }\n\n if (isArray(newChild) || getIteratorFn(newChild)) {\n var _matchedFiber3 = existingChildren.get(newIdx) || null;\n\n return updateFragment(returnFiber, _matchedFiber3, newChild, lanes, null);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n }\n\n return null;\n }\n /**\n * Warns if there is a duplicate or missing key\n */\n\n\n function warnOnInvalidKey(child, knownKeys, returnFiber) {\n {\n if (typeof child !== 'object' || child === null) {\n return knownKeys;\n }\n\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(child, returnFiber);\n var key = child.key;\n\n if (typeof key !== 'string') {\n break;\n }\n\n if (knownKeys === null) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n\n error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\n\n break;\n\n case REACT_LAZY_TYPE:\n var payload = child._payload;\n var init = child._init;\n warnOnInvalidKey(init(payload), knownKeys, returnFiber);\n break;\n }\n }\n\n return knownKeys;\n }\n\n function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {\n // This algorithm can't optimize by searching from both ends since we\n // don't have backpointers on fibers. I'm trying to see how far we can get\n // with that model. If it ends up not being worth the tradeoffs, we can\n // add it later.\n // Even with a two ended optimization, we'd want to optimize for the case\n // where there are few changes and brute force the comparison instead of\n // going for the Map. It'd like to explore hitting that path first in\n // forward-only mode and only go for the Map once we notice that we need\n // lots of look ahead. This doesn't handle reversal as well as two ended\n // search but that's unusual. Besides, for the two ended optimization to\n // work on Iterables, we'd need to copy the whole set.\n // In this first iteration, we'll just live with hitting the bad case\n // (adding everything to a Map) in for every insert/move.\n // If you change this code, also update reconcileChildrenIterator() which\n // uses the same algorithm.\n {\n // First, validate keys.\n var knownKeys = null;\n\n for (var i = 0; i < newChildren.length; i++) {\n var child = newChildren[i];\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n\n for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (newIdx === newChildren.length) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes);\n\n if (_newFiber === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber;\n } else {\n previousNewFiber.sibling = _newFiber;\n }\n\n previousNewFiber = _newFiber;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks = newIdx;\n pushTreeFork(returnFiber, _numberOfForks);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; newIdx < newChildren.length; newIdx++) {\n var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes);\n\n if (_newFiber2 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber2.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber2;\n } else {\n previousNewFiber.sibling = _newFiber2;\n }\n\n previousNewFiber = _newFiber2;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks2 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks2);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {\n // This is the same implementation as reconcileChildrenArray(),\n // but using the iterator instead.\n var iteratorFn = getIteratorFn(newChildrenIterable);\n\n if (typeof iteratorFn !== 'function') {\n throw new Error('An object is not an iterable. This error is likely caused by a bug in ' + 'React. Please file an issue.');\n }\n\n {\n // We don't support rendering Generators because it's a mutation.\n // See https://github.com/facebook/react/issues/12995\n if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag\n newChildrenIterable[Symbol.toStringTag] === 'Generator') {\n if (!didWarnAboutGenerators) {\n error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\n }\n\n didWarnAboutGenerators = true;\n } // Warn about using Maps as children\n\n\n if (newChildrenIterable.entries === iteratorFn) {\n if (!didWarnAboutMaps) {\n error('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n } // First, validate keys.\n // We'll get a different iterator later for the main pass.\n\n\n var _newChildren = iteratorFn.call(newChildrenIterable);\n\n if (_newChildren) {\n var knownKeys = null;\n\n var _step = _newChildren.next();\n\n for (; !_step.done; _step = _newChildren.next()) {\n var child = _step.value;\n knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber);\n }\n }\n }\n\n var newChildren = iteratorFn.call(newChildrenIterable);\n\n if (newChildren == null) {\n throw new Error('An iterable object provided no iterator.');\n }\n\n var resultingFirstChild = null;\n var previousNewFiber = null;\n var oldFiber = currentFirstChild;\n var lastPlacedIndex = 0;\n var newIdx = 0;\n var nextOldFiber = null;\n var step = newChildren.next();\n\n for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\n if (oldFiber.index > newIdx) {\n nextOldFiber = oldFiber;\n oldFiber = null;\n } else {\n nextOldFiber = oldFiber.sibling;\n }\n\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n\n if (newFiber === null) {\n // TODO: This breaks on empty slots like null children. That's\n // unfortunate because it triggers the slow path all the time. We need\n // a better way to communicate whether this was a miss or null,\n // boolean, undefined, etc.\n if (oldFiber === null) {\n oldFiber = nextOldFiber;\n }\n\n break;\n }\n\n if (shouldTrackSideEffects) {\n if (oldFiber && newFiber.alternate === null) {\n // We matched the slot, but we didn't reuse the existing fiber, so we\n // need to delete the existing child.\n deleteChild(returnFiber, oldFiber);\n }\n }\n\n lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = newFiber;\n } else {\n // TODO: Defer siblings if we're not at the right index for this slot.\n // I.e. if we had null values before, then we want to defer this\n // for each null value. However, we also don't want to call updateSlot\n // with the previous one.\n previousNewFiber.sibling = newFiber;\n }\n\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n\n if (step.done) {\n // We've reached the end of the new children. We can delete the rest.\n deleteRemainingChildren(returnFiber, oldFiber);\n\n if (getIsHydrating()) {\n var numberOfForks = newIdx;\n pushTreeFork(returnFiber, numberOfForks);\n }\n\n return resultingFirstChild;\n }\n\n if (oldFiber === null) {\n // If we don't have any more existing children we can choose a fast path\n // since the rest will all be insertions.\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber3 = createChild(returnFiber, step.value, lanes);\n\n if (_newFiber3 === null) {\n continue;\n }\n\n lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n // TODO: Move out of the loop. This only happens for the first run.\n resultingFirstChild = _newFiber3;\n } else {\n previousNewFiber.sibling = _newFiber3;\n }\n\n previousNewFiber = _newFiber3;\n }\n\n if (getIsHydrating()) {\n var _numberOfForks3 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks3);\n }\n\n return resultingFirstChild;\n } // Add all children to a key map for quick lookups.\n\n\n var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\n\n for (; !step.done; newIdx++, step = newChildren.next()) {\n var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes);\n\n if (_newFiber4 !== null) {\n if (shouldTrackSideEffects) {\n if (_newFiber4.alternate !== null) {\n // The new fiber is a work in progress, but if there exists a\n // current, that means that we reused the fiber. We need to delete\n // it from the child list so that we don't add it to the deletion\n // list.\n existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\n }\n }\n\n lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\n\n if (previousNewFiber === null) {\n resultingFirstChild = _newFiber4;\n } else {\n previousNewFiber.sibling = _newFiber4;\n }\n\n previousNewFiber = _newFiber4;\n }\n }\n\n if (shouldTrackSideEffects) {\n // Any existing children that weren't consumed above were deleted. We need\n // to add them to the deletion list.\n existingChildren.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n }\n\n if (getIsHydrating()) {\n var _numberOfForks4 = newIdx;\n pushTreeFork(returnFiber, _numberOfForks4);\n }\n\n return resultingFirstChild;\n }\n\n function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) {\n // There's no need to check for keys on text nodes since we don't have a\n // way to define them.\n if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\n // We already have an existing node so let's just update it and delete\n // the rest.\n deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\n var existing = useFiber(currentFirstChild, textContent);\n existing.return = returnFiber;\n return existing;\n } // The existing first child is not a text node so we need to create one\n // and delete the existing ones.\n\n\n deleteRemainingChildren(returnFiber, currentFirstChild);\n var created = createFiberFromText(textContent, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n }\n\n function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes) {\n var key = element.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n var elementType = element.type;\n\n if (elementType === REACT_FRAGMENT_TYPE) {\n if (child.tag === Fragment) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, element.props.children);\n existing.return = returnFiber;\n\n {\n existing._debugSource = element._source;\n existing._debugOwner = element._owner;\n }\n\n return existing;\n }\n } else {\n if (child.elementType === elementType || ( // Keep this check inline so it only runs on the false path:\n isCompatibleFamilyForHotReloading(child, element) ) || // Lazy types should reconcile their resolved type.\n // We need to do this after the Hot Reloading check above,\n // because hot reloading has different semantics than prod because\n // it doesn't resuspend. So we can't let the call below suspend.\n typeof elementType === 'object' && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) {\n deleteRemainingChildren(returnFiber, child.sibling);\n\n var _existing = useFiber(child, element.props);\n\n _existing.ref = coerceRef(returnFiber, child, element);\n _existing.return = returnFiber;\n\n {\n _existing._debugSource = element._source;\n _existing._debugOwner = element._owner;\n }\n\n return _existing;\n }\n } // Didn't match.\n\n\n deleteRemainingChildren(returnFiber, child);\n break;\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n if (element.type === REACT_FRAGMENT_TYPE) {\n var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key);\n created.return = returnFiber;\n return created;\n } else {\n var _created4 = createFiberFromElement(element, returnFiber.mode, lanes);\n\n _created4.ref = coerceRef(returnFiber, currentFirstChild, element);\n _created4.return = returnFiber;\n return _created4;\n }\n }\n\n function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes) {\n var key = portal.key;\n var child = currentFirstChild;\n\n while (child !== null) {\n // TODO: If key === null and child.key === null, then this only applies to\n // the first item in the list.\n if (child.key === key) {\n if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\n deleteRemainingChildren(returnFiber, child.sibling);\n var existing = useFiber(child, portal.children || []);\n existing.return = returnFiber;\n return existing;\n } else {\n deleteRemainingChildren(returnFiber, child);\n break;\n }\n } else {\n deleteChild(returnFiber, child);\n }\n\n child = child.sibling;\n }\n\n var created = createFiberFromPortal(portal, returnFiber.mode, lanes);\n created.return = returnFiber;\n return created;\n } // This API will tag the children with the side-effect of the reconciliation\n // itself. They will be added to the side-effect list as we pass through the\n // children and the parent.\n\n\n function reconcileChildFibers(returnFiber, currentFirstChild, newChild, lanes) {\n // This function is not recursive.\n // If the top level item is an array, we treat it as a set of children,\n // not as a fragment. Nested arrays on the other hand will be treated as\n // fragment nodes. Recursion happens at the normal flow.\n // Handle top level unkeyed fragments as if they were arrays.\n // This leads to an ambiguity between <>{[...]}</> and <>...</>.\n // We treat the ambiguous cases above the same.\n var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\n\n if (isUnkeyedTopLevelFragment) {\n newChild = newChild.props.children;\n } // Handle object types\n\n\n if (typeof newChild === 'object' && newChild !== null) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_PORTAL_TYPE:\n return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes));\n\n case REACT_LAZY_TYPE:\n var payload = newChild._payload;\n var init = newChild._init; // TODO: This function is supposed to be non-recursive.\n\n return reconcileChildFibers(returnFiber, currentFirstChild, init(payload), lanes);\n }\n\n if (isArray(newChild)) {\n return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n if (getIteratorFn(newChild)) {\n return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);\n }\n\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n\n if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') {\n return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, lanes));\n }\n\n {\n if (typeof newChild === 'function') {\n warnOnFunctionType(returnFiber);\n }\n } // Remaining cases are all treated as empty.\n\n\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n\n return reconcileChildFibers;\n}\n\nvar reconcileChildFibers = ChildReconciler(true);\nvar mountChildFibers = ChildReconciler(false);\nfunction cloneChildFibers(current, workInProgress) {\n if (current !== null && workInProgress.child !== current.child) {\n throw new Error('Resuming work not yet implemented.');\n }\n\n if (workInProgress.child === null) {\n return;\n }\n\n var currentChild = workInProgress.child;\n var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\n workInProgress.child = newChild;\n newChild.return = workInProgress;\n\n while (currentChild.sibling !== null) {\n currentChild = currentChild.sibling;\n newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\n newChild.return = workInProgress;\n }\n\n newChild.sibling = null;\n} // Reset a workInProgress child set to prepare it for a second pass.\n\nfunction resetChildFibers(workInProgress, lanes) {\n var child = workInProgress.child;\n\n while (child !== null) {\n resetWorkInProgress(child, lanes);\n child = child.sibling;\n }\n}\n\nvar NO_CONTEXT = {};\nvar contextStackCursor$1 = createCursor(NO_CONTEXT);\nvar contextFiberStackCursor = createCursor(NO_CONTEXT);\nvar rootInstanceStackCursor = createCursor(NO_CONTEXT);\n\nfunction requiredContext(c) {\n if (c === NO_CONTEXT) {\n throw new Error('Expected host context to exist. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n\n return c;\n}\n\nfunction getRootHostContainer() {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n return rootInstance;\n}\n\nfunction pushHostContainer(fiber, nextRootInstance) {\n // Push current root instance onto the stack;\n // This allows us to reset root when portals are popped.\n push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\n // However, we can't just call getRootHostContext() and push it because\n // we'd have a different number of entries on the stack depending on\n // whether getRootHostContext() throws somewhere in renderer code or not.\n // So we push an empty value first. This lets us safely unwind on errors.\n\n push(contextStackCursor$1, NO_CONTEXT, fiber);\n var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\n\n pop(contextStackCursor$1, fiber);\n push(contextStackCursor$1, nextRootContext, fiber);\n}\n\nfunction popHostContainer(fiber) {\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n}\n\nfunction getHostContext() {\n var context = requiredContext(contextStackCursor$1.current);\n return context;\n}\n\nfunction pushHostContext(fiber) {\n var rootInstance = requiredContext(rootInstanceStackCursor.current);\n var context = requiredContext(contextStackCursor$1.current);\n var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\n\n if (context === nextContext) {\n return;\n } // Track the context and the Fiber that provided it.\n // This enables us to pop only Fibers that provide unique contexts.\n\n\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor$1, nextContext, fiber);\n}\n\nfunction popHostContext(fiber) {\n // Do not pop unless this Fiber provided the current context.\n // pushHostContext() only pushes Fibers that provide unique contexts.\n if (contextFiberStackCursor.current !== fiber) {\n return;\n }\n\n pop(contextStackCursor$1, fiber);\n pop(contextFiberStackCursor, fiber);\n}\n\nvar DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is\n// inherited deeply down the subtree. The upper bits only affect\n// this immediate suspense boundary and gets reset each new\n// boundary or suspense list.\n\nvar SubtreeSuspenseContextMask = 1; // Subtree Flags:\n// InvisibleParentSuspenseContext indicates that one of our parent Suspense\n// boundaries is not currently showing visible main content.\n// Either because it is already showing a fallback or is not mounted at all.\n// We can use this to determine if it is desirable to trigger a fallback at\n// the parent. If not, then we might need to trigger undesirable boundaries\n// and/or suspend the commit to avoid hiding the parent content.\n\nvar InvisibleParentSuspenseContext = 1; // Shallow Flags:\n// ForceSuspenseFallback can be used by SuspenseList to force newly added\n// items into their fallback state during one of the render passes.\n\nvar ForceSuspenseFallback = 2;\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\nfunction hasSuspenseContext(parentContext, flag) {\n return (parentContext & flag) !== 0;\n}\nfunction setDefaultShallowSuspenseContext(parentContext) {\n return parentContext & SubtreeSuspenseContextMask;\n}\nfunction setShallowSuspenseContext(parentContext, shallowContext) {\n return parentContext & SubtreeSuspenseContextMask | shallowContext;\n}\nfunction addSubtreeSuspenseContext(parentContext, subtreeContext) {\n return parentContext | subtreeContext;\n}\nfunction pushSuspenseContext(fiber, newContext) {\n push(suspenseStackCursor, newContext, fiber);\n}\nfunction popSuspenseContext(fiber) {\n pop(suspenseStackCursor, fiber);\n}\n\nfunction shouldCaptureSuspense(workInProgress, hasInvisibleParent) {\n // If it was the primary children that just suspended, capture and render the\n // fallback. Otherwise, don't capture and bubble to the next boundary.\n var nextState = workInProgress.memoizedState;\n\n if (nextState !== null) {\n if (nextState.dehydrated !== null) {\n // A dehydrated boundary always captures.\n return true;\n }\n\n return false;\n }\n\n var props = workInProgress.memoizedProps; // Regular boundaries always capture.\n\n {\n return true;\n } // If it's a boundary we should avoid, then we prefer to bubble up to the\n}\nfunction findFirstSuspended(row) {\n var node = row;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n var dehydrated = state.dehydrated;\n\n if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\n return node;\n }\n }\n } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\n // keep track of whether it suspended or not.\n node.memoizedProps.revealOrder !== undefined) {\n var didSuspend = (node.flags & DidCapture) !== NoFlags;\n\n if (didSuspend) {\n return node;\n }\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === row) {\n return null;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === row) {\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n\n return null;\n}\n\nvar NoFlags$1 =\n/* */\n0; // Represents whether effect should fire.\n\nvar HasEffect =\n/* */\n1; // Represents the phase in which the effect (not the clean-up) fires.\n\nvar Insertion =\n/* */\n2;\nvar Layout =\n/* */\n4;\nvar Passive$1 =\n/* */\n8;\n\n// and should be reset before starting a new render.\n// This tracks which mutable sources need to be reset after a render.\n\nvar workInProgressSources = [];\nfunction resetWorkInProgressVersions() {\n for (var i = 0; i < workInProgressSources.length; i++) {\n var mutableSource = workInProgressSources[i];\n\n {\n mutableSource._workInProgressVersionPrimary = null;\n }\n }\n\n workInProgressSources.length = 0;\n}\n// This ensures that the version used for server rendering matches the one\n// that is eventually read during hydration.\n// If they don't match there's a potential tear and a full deopt render is required.\n\nfunction registerMutableSourceForHydration(root, mutableSource) {\n var getVersion = mutableSource._getVersion;\n var version = getVersion(mutableSource._source); // TODO Clear this data once all pending hydration work is finished.\n // Retaining it forever may interfere with GC.\n\n if (root.mutableSourceEagerHydrationData == null) {\n root.mutableSourceEagerHydrationData = [mutableSource, version];\n } else {\n root.mutableSourceEagerHydrationData.push(mutableSource, version);\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;\nvar didWarnAboutMismatchedHooksForComponent;\nvar didWarnUncachedGetSnapshot;\n\n{\n didWarnAboutMismatchedHooksForComponent = new Set();\n}\n\n// These are set right before calling the component.\nvar renderLanes = NoLanes; // The work-in-progress fiber. I've named it differently to distinguish it from\n// the work-in-progress hook.\n\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\n// current hook list is the list that belongs to the current fiber. The\n// work-in-progress hook list is a new list that will be added to the\n// work-in-progress fiber.\n\nvar currentHook = null;\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\n// does not get reset if we do another render pass; only when we're completely\n// finished evaluating this component. This is an optimization so we know\n// whether we need to clear render phase updates after a throw.\n\nvar didScheduleRenderPhaseUpdate = false; // Where an update was scheduled only during the current render pass. This\n// gets reset after each attempt.\n// TODO: Maybe there's some way to consolidate this with\n// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.\n\nvar didScheduleRenderPhaseUpdateDuringThisPass = false; // Counts the number of useId hooks in this component.\n\nvar localIdCounter = 0; // Used for ids that are generated completely client-side (i.e. not during\n// hydration). This counter is global, so client ids are not stable across\n// render attempts.\n\nvar globalClientIdCounter = 0;\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\n\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\n// The list stores the order of hooks used during the initial render (mount).\n// Subsequent renders (updates) reference this list.\n\nvar hookTypesDev = null;\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\n// When true, such Hooks will always be \"remounted\". Only used during hot reload.\n\nvar ignorePreviousDependencies = false;\n\nfunction mountHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev === null) {\n hookTypesDev = [hookName];\n } else {\n hookTypesDev.push(hookName);\n }\n }\n}\n\nfunction updateHookTypesDev() {\n {\n var hookName = currentHookNameInDev;\n\n if (hookTypesDev !== null) {\n hookTypesUpdateIndexDev++;\n\n if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\n warnOnHookMismatchInDev(hookName);\n }\n }\n }\n}\n\nfunction checkDepsAreArrayDev(deps) {\n {\n if (deps !== undefined && deps !== null && !isArray(deps)) {\n // Verify deps, but only on mount to avoid extra checks.\n // It's unlikely their type would change as usually you define them inline.\n error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\n }\n }\n}\n\nfunction warnOnHookMismatchInDev(currentHookName) {\n {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1);\n\n if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\n didWarnAboutMismatchedHooksForComponent.add(componentName);\n\n if (hookTypesDev !== null) {\n var table = '';\n var secondColumnStart = 30;\n\n for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i];\n var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\n var row = i + 1 + \". \" + oldHookName; // Extra space so second column lines up\n // lol @ IE not supporting String#repeat\n\n while (row.length < secondColumnStart) {\n row += ' ';\n }\n\n row += newHookName + '\\n';\n table += row;\n }\n\n error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n' + ' Previous render Next render\\n' + ' ------------------------------------------------------\\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', componentName, table);\n }\n }\n }\n}\n\nfunction throwInvalidHookError() {\n throw new Error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n}\n\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n {\n if (ignorePreviousDependencies) {\n // Only true when this component is being hot reloaded.\n return false;\n }\n }\n\n if (prevDeps === null) {\n {\n error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\n }\n\n return false;\n }\n\n {\n // Don't bother comparing lengths in prod because these arrays should be\n // passed inline.\n if (nextDeps.length !== prevDeps.length) {\n error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\n\\n' + 'Previous: %s\\n' + 'Incoming: %s', currentHookNameInDev, \"[\" + prevDeps.join(', ') + \"]\", \"[\" + nextDeps.join(', ') + \"]\");\n }\n }\n\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\n if (objectIs(nextDeps[i], prevDeps[i])) {\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n\n {\n hookTypesDev = current !== null ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1; // Used for hot reloading:\n\n ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\n }\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = NoLanes; // The following should have already been reset\n // currentHook = null;\n // workInProgressHook = null;\n // didScheduleRenderPhaseUpdate = false;\n // localIdCounter = 0;\n // TODO Warn if no hooks are used at all during mount, then some are used during update.\n // Currently we will identify the update render as a mount because memoizedState === null.\n // This is tricky because it's valid for certain types of components (e.g. React.lazy)\n // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\n // Non-stateful hooks (e.g. context) don't get added to memoizedState,\n // so memoizedState would be null during updates and mounts.\n\n {\n if (current !== null && current.memoizedState !== null) {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;\n } else if (hookTypesDev !== null) {\n // This dispatcher handles an edge case where a component is updating,\n // but no stateful hooks have been used.\n // We want to match the production code behavior (which will use HooksDispatcherOnMount),\n // but with the extra DEV validation to ensure hooks ordering hasn't changed.\n // This dispatcher does that.\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;\n } else {\n ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;\n }\n }\n\n var children = Component(props, secondArg); // Check if there was a render phase update\n\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n // Keep rendering in a loop for as long as render phase updates continue to\n // be scheduled. Use a counter to prevent infinite loops.\n var numberOfReRenders = 0;\n\n do {\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n\n if (numberOfReRenders >= RE_RENDER_LIMIT) {\n throw new Error('Too many re-renders. React limits the number of renders to prevent ' + 'an infinite loop.');\n }\n\n numberOfReRenders += 1;\n\n {\n // Even when hot reloading, allow dependencies to stabilize\n // after first render to prevent infinite render phase updates.\n ignorePreviousDependencies = false;\n } // Start over from the beginning of the list\n\n\n currentHook = null;\n workInProgressHook = null;\n workInProgress.updateQueue = null;\n\n {\n // Also validate hook order for cascading updates.\n hookTypesUpdateIndexDev = -1;\n }\n\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV ;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n } // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n\n\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n {\n workInProgress._debugHookTypes = hookTypesDev;\n } // This check uses currentHook so that it works the same in DEV and prod bundles.\n // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\n\n\n var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n currentHookNameInDev = null;\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1; // Confirm that a static flag was not added or removed since the last\n // render. If this fires, it suggests that we incorrectly reset the static\n // flags in some other part of the codebase. This has happened before, for\n // example, in the SuspenseList implementation.\n\n if (current !== null && (current.flags & StaticMask) !== (workInProgress.flags & StaticMask) && // Disable this warning in legacy mode, because legacy Suspense is weird\n // and creates false positives. To make this work in legacy mode, we'd\n // need to mark fibers that commit in an incomplete state, somehow. For\n // now I'll disable the warning that most of the bugs that would trigger\n // it are either exclusive to concurrent mode or exist in both.\n (current.mode & ConcurrentMode) !== NoMode) {\n error('Internal React error: Expected static flag was missing. Please ' + 'notify the React team.');\n }\n }\n\n didScheduleRenderPhaseUpdate = false; // This is reset by checkDidRenderIdHook\n // localIdCounter = 0;\n\n if (didRenderTooFewHooks) {\n throw new Error('Rendered fewer hooks than expected. This may be caused by an accidental ' + 'early return statement.');\n }\n\n return children;\n}\nfunction checkDidRenderIdHook() {\n // This should be called immediately after every renderWithHooks call.\n // Conceptually, it's part of the return value of renderWithHooks; it's only a\n // separate function to avoid using an array tuple.\n var didRenderIdHook = localIdCounter !== 0;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the\n // complete phase (bubbleProperties).\n\n if ( (workInProgress.mode & StrictEffectsMode) !== NoMode) {\n workInProgress.flags &= ~(MountPassiveDev | MountLayoutDev | Passive | Update);\n } else {\n workInProgress.flags &= ~(Passive | Update);\n }\n\n current.lanes = removeLanes(current.lanes, lanes);\n}\nfunction resetHooksAfterThrow() {\n // We can assume the previous dispatcher is always this one, since we set it\n // at the beginning of the render phase and there's no re-entrance.\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n\n if (didScheduleRenderPhaseUpdate) {\n // There were render phase updates. These are only valid for this render\n // phase, which we are now aborting. Remove the updates from the queues so\n // they do not persist to the next render. Do not remove updates from hooks\n // that weren't processed.\n //\n // Only reset the updates from the queue if it has a clone. If it does\n // not have a clone, that means it wasn't processed, and the updates were\n // scheduled before we entered the render phase.\n var hook = currentlyRenderingFiber$1.memoizedState;\n\n while (hook !== null) {\n var queue = hook.queue;\n\n if (queue !== null) {\n queue.pending = null;\n }\n\n hook = hook.next;\n }\n\n didScheduleRenderPhaseUpdate = false;\n }\n\n renderLanes = NoLanes;\n currentlyRenderingFiber$1 = null;\n currentHook = null;\n workInProgressHook = null;\n\n {\n hookTypesDev = null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n isUpdatingOpaqueValueInRenderPhase = false;\n }\n\n didScheduleRenderPhaseUpdateDuringThisPass = false;\n localIdCounter = 0;\n}\n\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\n } else {\n // Append to the end of the list\n workInProgressHook = workInProgressHook.next = hook;\n }\n\n return workInProgressHook;\n}\n\nfunction updateWorkInProgressHook() {\n // This function is used both for updates and for re-renders triggered by a\n // render phase update. It assumes there is either a current hook we can\n // clone, or a work-in-progress hook from a previous render pass that we can\n // use as a base. When we reach the end of the base list, we must switch to\n // the dispatcher used for mounts.\n var nextCurrentHook;\n\n if (currentHook === null) {\n var current = currentlyRenderingFiber$1.alternate;\n\n if (current !== null) {\n nextCurrentHook = current.memoizedState;\n } else {\n nextCurrentHook = null;\n }\n } else {\n nextCurrentHook = currentHook.next;\n }\n\n var nextWorkInProgressHook;\n\n if (workInProgressHook === null) {\n nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\n } else {\n nextWorkInProgressHook = workInProgressHook.next;\n }\n\n if (nextWorkInProgressHook !== null) {\n // There's already a work-in-progress. Reuse it.\n workInProgressHook = nextWorkInProgressHook;\n nextWorkInProgressHook = workInProgressHook.next;\n currentHook = nextCurrentHook;\n } else {\n // Clone from the current hook.\n if (nextCurrentHook === null) {\n throw new Error('Rendered more hooks than during the previous render.');\n }\n\n currentHook = nextCurrentHook;\n var newHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n\n if (workInProgressHook === null) {\n // This is the first hook in the list.\n currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\n } else {\n // Append to the end of the list.\n workInProgressHook = workInProgressHook.next = newHook;\n }\n }\n\n return workInProgressHook;\n}\n\nfunction createFunctionComponentUpdateQueue() {\n return {\n lastEffect: null,\n stores: null\n };\n}\n\nfunction basicStateReducer(state, action) {\n // $FlowFixMe: Flow doesn't like mixed types\n return typeof action === 'function' ? action(state) : action;\n}\n\nfunction mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n var initialState;\n\n if (init !== undefined) {\n initialState = init(initialArg);\n } else {\n initialState = initialArg;\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer;\n var current = currentHook; // The last rebase update that is NOT part of the base state.\n\n var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.\n\n var pendingQueue = queue.pending;\n\n if (pendingQueue !== null) {\n // We have new updates that haven't been processed yet.\n // We'll add them to the base queue.\n if (baseQueue !== null) {\n // Merge the pending queue and the base queue.\n var baseFirst = baseQueue.next;\n var pendingFirst = pendingQueue.next;\n baseQueue.next = pendingFirst;\n pendingQueue.next = baseFirst;\n }\n\n {\n if (current.baseQueue !== baseQueue) {\n // Internal invariant that should never happen, but feasibly could in\n // the future if we implement resuming, or some form of that.\n error('Internal error: Expected work-in-progress queue to be a clone. ' + 'This is a bug in React.');\n }\n }\n\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n\n if (baseQueue !== null) {\n // We have a queue to process.\n var first = baseQueue.next;\n var newState = current.baseState;\n var newBaseState = null;\n var newBaseQueueFirst = null;\n var newBaseQueueLast = null;\n var update = first;\n\n do {\n var updateLane = update.lane;\n\n if (!isSubsetOfLanes(renderLanes, updateLane)) {\n // Priority is insufficient. Skip this update. If this is the first\n // skipped update, the previous update/state is the new base\n // update/state.\n var clone = {\n lane: updateLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n\n if (newBaseQueueLast === null) {\n newBaseQueueFirst = newBaseQueueLast = clone;\n newBaseState = newState;\n } else {\n newBaseQueueLast = newBaseQueueLast.next = clone;\n } // Update the remaining priority in the queue.\n // TODO: Don't need to accumulate this. Instead, we can remove\n // renderLanes from the original lanes.\n\n\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);\n markSkippedUpdateLanes(updateLane);\n } else {\n // This update does have sufficient priority.\n if (newBaseQueueLast !== null) {\n var _clone = {\n // This update is going to be committed so we never want uncommit\n // it. Using NoLane works because 0 is a subset of all bitmasks, so\n // this will never be skipped by the check above.\n lane: NoLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n newBaseQueueLast = newBaseQueueLast.next = _clone;\n } // Process this update.\n\n\n if (update.hasEagerState) {\n // If this update is a state update (not a reducer) and was processed eagerly,\n // we can use the eagerly computed state\n newState = update.eagerState;\n } else {\n var action = update.action;\n newState = reducer(newState, action);\n }\n }\n\n update = update.next;\n } while (update !== null && update !== first);\n\n if (newBaseQueueLast === null) {\n newBaseState = newState;\n } else {\n newBaseQueueLast.next = newBaseQueueFirst;\n } // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState;\n hook.baseState = newBaseState;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = newState;\n } // Interleaved updates are stored on a separate queue. We aren't going to\n // process them during this render, but we do need to track which lanes\n // are remaining.\n\n\n var lastInterleaved = queue.interleaved;\n\n if (lastInterleaved !== null) {\n var interleaved = lastInterleaved;\n\n do {\n var interleavedLane = interleaved.lane;\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, interleavedLane);\n markSkippedUpdateLanes(interleavedLane);\n interleaved = interleaved.next;\n } while (interleaved !== lastInterleaved);\n } else if (baseQueue === null) {\n // `queue.lanes` is used for entangling transitions. We can set it back to\n // zero once the queue is empty.\n queue.lanes = NoLanes;\n }\n\n var dispatch = queue.dispatch;\n return [hook.memoizedState, dispatch];\n}\n\nfunction rerenderReducer(reducer, initialArg, init) {\n var hook = updateWorkInProgressHook();\n var queue = hook.queue;\n\n if (queue === null) {\n throw new Error('Should have a queue. This is likely a bug in React. Please file an issue.');\n }\n\n queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\n // work-in-progress hook.\n\n var dispatch = queue.dispatch;\n var lastRenderPhaseUpdate = queue.pending;\n var newState = hook.memoizedState;\n\n if (lastRenderPhaseUpdate !== null) {\n // The queue doesn't persist past this render pass.\n queue.pending = null;\n var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\n var update = firstRenderPhaseUpdate;\n\n do {\n // Process this render phase update. We don't have to check the\n // priority because it will always be the same as the current\n // render's.\n var action = update.action;\n newState = reducer(newState, action);\n update = update.next;\n } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\n // different from the current state.\n\n\n if (!objectIs(newState, hook.memoizedState)) {\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\n // the base state unless the queue is empty.\n // TODO: Not sure if this is the desired semantics, but it's what we\n // do for gDSFP. I can't remember why.\n\n if (hook.baseQueue === null) {\n hook.baseState = newState;\n }\n\n queue.lastRenderedState = newState;\n }\n\n return [newState, dispatch];\n}\n\nfunction mountMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction updateMutableSource(source, getSnapshot, subscribe) {\n {\n return undefined;\n }\n}\n\nfunction mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = mountWorkInProgressHook();\n var nextSnapshot;\n var isHydrating = getIsHydrating();\n\n if (isHydrating) {\n if (getServerSnapshot === undefined) {\n throw new Error('Missing getServerSnapshot, which is required for ' + 'server-rendered content. Will revert to client rendering.');\n }\n\n nextSnapshot = getServerSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n if (nextSnapshot !== getServerSnapshot()) {\n error('The result of getServerSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n } else {\n nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n //\n // We won't do this if we're hydrating server-rendered content, because if\n // the content is stale, it's already visible anyway. Instead we'll patch\n // it up in a passive effect.\n\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n } // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n\n hook.memoizedState = nextSnapshot;\n var inst = {\n value: nextSnapshot,\n getSnapshot: getSnapshot\n };\n hook.queue = inst; // Schedule an effect to subscribe to the store.\n\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Schedule an effect to update the mutable instance fields. We will update\n // this whenever subscribe, getSnapshot, or value changes. Because there's no\n // clean-up function, and we track the deps correctly, we can call pushEffect\n // directly, without storing any additional state. For the same reason, we\n // don't need to set a static flag, either.\n // TODO: We can move this to the passive phase once we add a pre-commit\n // consistency check. See the next comment.\n\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null);\n return nextSnapshot;\n}\n\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1;\n var hook = updateWorkInProgressHook(); // Read the current snapshot from the store on every render. This breaks the\n // normal rules of React, and only works because store updates are\n // always synchronous.\n\n var nextSnapshot = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedSnapshot = getSnapshot();\n\n if (!objectIs(nextSnapshot, cachedSnapshot)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n var prevSnapshot = hook.memoizedState;\n var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot);\n\n if (snapshotChanged) {\n hook.memoizedState = nextSnapshot;\n markWorkInProgressReceivedUpdate();\n }\n\n var inst = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (inst.getSnapshot !== getSnapshot || snapshotChanged || // Check if the susbcribe function changed. We can save some memory by\n // checking whether we scheduled a subscription effect above.\n workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {\n fiber.flags |= Passive;\n pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), undefined, null); // Unless we're rendering a blocking lane, schedule a consistency check.\n // Right before committing, we will walk the tree and check if any of the\n // stores were mutated.\n\n var root = getWorkInProgressRoot();\n\n if (root === null) {\n throw new Error('Expected a work-in-progress root. This is a bug in React. Please file an issue.');\n }\n\n if (!includesBlockingLane(root, renderLanes)) {\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n }\n\n return nextSnapshot;\n}\n\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= StoreConsistency;\n var check = {\n getSnapshot: getSnapshot,\n value: renderedSnapshot\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.stores = [check];\n } else {\n var stores = componentUpdateQueue.stores;\n\n if (stores === null) {\n componentUpdateQueue.stores = [check];\n } else {\n stores.push(check);\n }\n }\n}\n\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n // These are updated in the passive phase\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot; // Something may have been mutated in between render and commit. This could\n // have been in an event that fired before the passive effects, or it could\n // have been in a layout effect. In that case, we would have used the old\n // snapsho and getSnapshot values to bail out. We need to check one more time.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n}\n\nfunction subscribeToStore(fiber, inst, subscribe) {\n var handleStoreChange = function () {\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceStoreRerender(fiber);\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n}\n\nfunction mountState(initialState) {\n var hook = mountWorkInProgressHook();\n\n if (typeof initialState === 'function') {\n // $FlowFixMe: Flow doesn't like mixed types\n initialState = initialState();\n }\n\n hook.memoizedState = hook.baseState = initialState;\n var queue = {\n pending: null,\n interleaved: null,\n lanes: NoLanes,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = queue;\n var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n return [hook.memoizedState, dispatch];\n}\n\nfunction updateState(initialState) {\n return updateReducer(basicStateReducer);\n}\n\nfunction rerenderState(initialState) {\n return rerenderReducer(basicStateReducer);\n}\n\nfunction pushEffect(tag, create, destroy, deps) {\n var effect = {\n tag: tag,\n create: create,\n destroy: destroy,\n deps: deps,\n // Circular\n next: null\n };\n var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\n\n if (componentUpdateQueue === null) {\n componentUpdateQueue = createFunctionComponentUpdateQueue();\n currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var lastEffect = componentUpdateQueue.lastEffect;\n\n if (lastEffect === null) {\n componentUpdateQueue.lastEffect = effect.next = effect;\n } else {\n var firstEffect = lastEffect.next;\n lastEffect.next = effect;\n effect.next = firstEffect;\n componentUpdateQueue.lastEffect = effect;\n }\n }\n\n return effect;\n}\n\nfunction mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n\n {\n var _ref2 = {\n current: initialValue\n };\n hook.memoizedState = _ref2;\n return _ref2;\n }\n}\n\nfunction updateRef(initialValue) {\n var hook = updateWorkInProgressHook();\n return hook.memoizedState;\n}\n\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, undefined, nextDeps);\n}\n\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var destroy = undefined;\n\n if (currentHook !== null) {\n var prevEffect = currentHook.memoizedState;\n destroy = prevEffect.destroy;\n\n if (nextDeps !== null) {\n var prevDeps = prevEffect.deps;\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n hook.memoizedState = pushEffect(hookFlags, create, destroy, nextDeps);\n return;\n }\n }\n }\n\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(HasEffect | hookFlags, create, destroy, nextDeps);\n}\n\nfunction mountEffect(create, deps) {\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n return mountEffectImpl(MountPassiveDev | Passive | PassiveStatic, Passive$1, create, deps);\n } else {\n return mountEffectImpl(Passive | PassiveStatic, Passive$1, create, deps);\n }\n}\n\nfunction updateEffect(create, deps) {\n return updateEffectImpl(Passive, Passive$1, create, deps);\n}\n\nfunction mountInsertionEffect(create, deps) {\n return mountEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(Update, Insertion, create, deps);\n}\n\nfunction mountLayoutEffect(create, deps) {\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n}\n\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(Update, Layout, create, deps);\n}\n\nfunction imperativeHandleEffect(create, ref) {\n if (typeof ref === 'function') {\n var refCallback = ref;\n\n var _inst = create();\n\n refCallback(_inst);\n return function () {\n refCallback(null);\n };\n } else if (ref !== null && ref !== undefined) {\n var refObject = ref;\n\n {\n if (!refObject.hasOwnProperty('current')) {\n error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\n }\n }\n\n var _inst2 = create();\n\n refObject.current = _inst2;\n return function () {\n refObject.current = null;\n };\n }\n}\n\nfunction mountImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n var fiberFlags = Update;\n\n {\n fiberFlags |= LayoutStatic;\n }\n\n if ( (currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) {\n fiberFlags |= MountLayoutDev;\n }\n\n return mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction updateImperativeHandle(ref, create, deps) {\n {\n if (typeof create !== 'function') {\n error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\n }\n } // TODO: If deps are provided, should we skip comparing the ref itself?\n\n\n var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\n return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\n}\n\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\n // The react-debug-hooks package injects its own implementation\n // so that e.g. DevTools can display custom hook values.\n}\n\nvar updateDebugValue = mountDebugValue;\n\nfunction mountCallback(callback, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n hook.memoizedState = [callback, nextDeps];\n return callback;\n}\n\nfunction mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n var nextDeps = deps === undefined ? null : deps;\n var prevState = hook.memoizedState;\n\n if (prevState !== null) {\n // Assume these are defined. If they're not, areHookInputsEqual will warn.\n if (nextDeps !== null) {\n var prevDeps = prevState[1];\n\n if (areHookInputsEqual(nextDeps, prevDeps)) {\n return prevState[0];\n }\n }\n }\n\n var nextValue = nextCreate();\n hook.memoizedState = [nextValue, nextDeps];\n return nextValue;\n}\n\nfunction mountDeferredValue(value) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = value;\n return value;\n}\n\nfunction updateDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n var resolvedCurrentHook = currentHook;\n var prevValue = resolvedCurrentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n}\n\nfunction rerenderDeferredValue(value) {\n var hook = updateWorkInProgressHook();\n\n if (currentHook === null) {\n // This is a rerender during a mount.\n hook.memoizedState = value;\n return value;\n } else {\n // This is a rerender during an update.\n var prevValue = currentHook.memoizedState;\n return updateDeferredValueImpl(hook, prevValue, value);\n }\n}\n\nfunction updateDeferredValueImpl(hook, prevValue, value) {\n var shouldDeferValue = !includesOnlyNonUrgentLanes(renderLanes);\n\n if (shouldDeferValue) {\n // This is an urgent update. If the value has changed, keep using the\n // previous value and spawn a deferred render to update it later.\n if (!objectIs(value, prevValue)) {\n // Schedule a deferred render\n var deferredLane = claimNextTransitionLane();\n currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);\n markSkippedUpdateLanes(deferredLane); // Set this to true to indicate that the rendered value is inconsistent\n // from the latest value. The name \"baseState\" doesn't really match how we\n // use it because we're reusing a state hook field instead of creating a\n // new one.\n\n hook.baseState = true;\n } // Reuse the previous value\n\n\n return prevValue;\n } else {\n // This is not an urgent update, so we can use the latest value regardless\n // of what it is. No need to defer it.\n // However, if we're currently inside a spawned render, then we need to mark\n // this as an update to prevent the fiber from bailing out.\n //\n // `baseState` is true when the current value is different from the rendered\n // value. The name doesn't really match how we use it because we're reusing\n // a state hook field instead of creating a new one.\n if (hook.baseState) {\n // Flip this back to false.\n hook.baseState = false;\n markWorkInProgressReceivedUpdate();\n }\n\n hook.memoizedState = value;\n return value;\n }\n}\n\nfunction startTransition(setPending, callback, options) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority));\n setPending(true);\n var prevTransition = ReactCurrentBatchConfig$2.transition;\n ReactCurrentBatchConfig$2.transition = {};\n var currentTransition = ReactCurrentBatchConfig$2.transition;\n\n {\n ReactCurrentBatchConfig$2.transition._updatedFibers = new Set();\n }\n\n try {\n setPending(false);\n callback();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$2.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nfunction mountTransition() {\n var _mountState = mountState(false),\n isPending = _mountState[0],\n setPending = _mountState[1]; // The `start` method never changes.\n\n\n var start = startTransition.bind(null, setPending);\n var hook = mountWorkInProgressHook();\n hook.memoizedState = start;\n return [isPending, start];\n}\n\nfunction updateTransition() {\n var _updateState = updateState(),\n isPending = _updateState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nfunction rerenderTransition() {\n var _rerenderState = rerenderState(),\n isPending = _rerenderState[0];\n\n var hook = updateWorkInProgressHook();\n var start = hook.memoizedState;\n return [isPending, start];\n}\n\nvar isUpdatingOpaqueValueInRenderPhase = false;\nfunction getIsUpdatingOpaqueValueInRenderPhaseInDEV() {\n {\n return isUpdatingOpaqueValueInRenderPhase;\n }\n}\n\nfunction mountId() {\n var hook = mountWorkInProgressHook();\n var root = getWorkInProgressRoot(); // TODO: In Fizz, id generation is specific to each server config. Maybe we\n // should do this in Fiber, too? Deferring this decision for now because\n // there's no other place to store the prefix except for an internal field on\n // the public createRoot object, which the fiber tree does not currently have\n // a reference to.\n\n var identifierPrefix = root.identifierPrefix;\n var id;\n\n if (getIsHydrating()) {\n var treeId = getTreeId(); // Use a captial R prefix for server-generated ids.\n\n id = ':' + identifierPrefix + 'R' + treeId; // Unless this is the first id at this level, append a number at the end\n // that represents the position of this useId hook among all the useId\n // hooks for this fiber.\n\n var localId = localIdCounter++;\n\n if (localId > 0) {\n id += 'H' + localId.toString(32);\n }\n\n id += ':';\n } else {\n // Use a lowercase r prefix for client-generated ids.\n var globalClientId = globalClientIdCounter++;\n id = ':' + identifierPrefix + 'r' + globalClientId.toString(32) + ':';\n }\n\n hook.memoizedState = id;\n return id;\n}\n\nfunction updateId() {\n var hook = updateWorkInProgressHook();\n var id = hook.memoizedState;\n return id;\n}\n\nfunction dispatchReducerAction(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction dispatchSetState(fiber, queue, action) {\n {\n if (typeof arguments[3] === 'function') {\n error(\"State updates from the useState() and useReducer() Hooks don't support the \" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\n }\n }\n\n var lane = requestUpdateLane(fiber);\n var update = {\n lane: lane,\n action: action,\n hasEagerState: false,\n eagerState: null,\n next: null\n };\n\n if (isRenderPhaseUpdate(fiber)) {\n enqueueRenderPhaseUpdate(queue, update);\n } else {\n var alternate = fiber.alternate;\n\n if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) {\n // The queue is currently empty, which means we can eagerly compute the\n // next state before entering the render phase. If the new state is the\n // same as the current state, we may be able to bail out entirely.\n var lastRenderedReducer = queue.lastRenderedReducer;\n\n if (lastRenderedReducer !== null) {\n var prevDispatcher;\n\n {\n prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n }\n\n try {\n var currentState = queue.lastRenderedState;\n var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\n // it, on the update object. If the reducer hasn't changed by the\n // time we enter the render phase, then the eager state can be used\n // without calling the reducer again.\n\n update.hasEagerState = true;\n update.eagerState = eagerState;\n\n if (objectIs(eagerState, currentState)) {\n // Fast path. We can bail out without scheduling React to re-render.\n // It's still possible that we'll need to rebase this update later,\n // if the component re-renders for a different reason and by that\n // time the reducer has changed.\n // TODO: Do we still need to entangle transitions in this case?\n enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane);\n return;\n }\n } catch (error) {// Suppress the error. It will throw again in the render phase.\n } finally {\n {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n }\n }\n }\n\n var root = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n entangleTransitionUpdate(root, queue, lane);\n }\n }\n\n markUpdateInDevTools(fiber, lane);\n}\n\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1;\n}\n\nfunction enqueueRenderPhaseUpdate(queue, update) {\n // This is a render phase update. Stash it in a lazily-created map of\n // queue -> linked list of updates. After this render pass, we'll restart\n // and apply the stashed updates on top of the work-in-progress hook.\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;\n var pending = queue.pending;\n\n if (pending === null) {\n // This is the first update. Create a circular list.\n update.next = update;\n } else {\n update.next = pending.next;\n pending.next = update;\n }\n\n queue.pending = update;\n} // TODO: Move to ReactFiberConcurrentUpdates?\n\n\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (isTransitionLane(lane)) {\n var queueLanes = queue.lanes; // If any entangled lanes are no longer pending on the root, then they\n // must have finished. We can remove them from the shared queue, which\n // represents a superset of the actually pending lanes. In some cases we\n // may entangle more than we need to, but that's OK. In fact it's worse if\n // we *don't* entangle when we should.\n\n queueLanes = intersectLanes(queueLanes, root.pendingLanes); // Entangle the new transition lane with the other transition lanes.\n\n var newQueueLanes = mergeLanes(queueLanes, lane);\n queue.lanes = newQueueLanes; // Even if queue.lanes already include lane, we don't know for certain if\n // the lane finished since the last time we entangled it. So we need to\n // entangle it again, just to be sure.\n\n markRootEntangled(root, newQueueLanes);\n }\n}\n\nfunction markUpdateInDevTools(fiber, lane, action) {\n\n {\n markStateUpdateScheduled(fiber, lane);\n }\n}\n\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useMutableSource: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n unstable_isNewReconciler: enableNewReconciler\n};\n\nvar HooksDispatcherOnMountInDEV = null;\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\nvar HooksDispatcherOnUpdateInDEV = null;\nvar HooksDispatcherOnRerenderInDEV = null;\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n\n{\n var warnInvalidContextAccess = function () {\n error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\n };\n\n var warnInvalidHookAccess = function () {\n error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://reactjs.org/link/rules-of-hooks');\n };\n\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;\n\n try {\n return mountState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = 'useCallback';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = 'useContext';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, deps) {\n currentHookNameInDev = 'useEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffect(create, deps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = 'useImperativeHandle';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = 'useInsertionEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateInsertionEffect(create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = 'useLayoutEffect';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = 'useMemo';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return updateMemo(create, deps);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = 'useReducer';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = 'useRef';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateRef();\n },\n useState: function (initialState) {\n currentHookNameInDev = 'useState';\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactCurrentDispatcher$1.current;\n ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\n\n try {\n return rerenderState(initialState);\n } finally {\n ReactCurrentDispatcher$1.current = prevDispatcher;\n }\n },\n useDebugValue: function (value, formatterFn) {\n currentHookNameInDev = 'useDebugValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDebugValue();\n },\n useDeferredValue: function (value) {\n currentHookNameInDev = 'useDeferredValue';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value);\n },\n useTransition: function () {\n currentHookNameInDev = 'useTransition';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useMutableSource: function (source, getSnapshot, subscribe) {\n currentHookNameInDev = 'useMutableSource';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateMutableSource();\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n currentHookNameInDev = 'useSyncExternalStore';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(subscribe, getSnapshot);\n },\n useId: function () {\n currentHookNameInDev = 'useId';\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateId();\n },\n unstable_isNewReconciler: enableNewReconciler\n };\n}\n\nvar now$1 = Scheduler.unstable_now;\nvar commitTime = 0;\nvar layoutEffectStartTime = -1;\nvar profilerStartTime = -1;\nvar passiveEffectStartTime = -1;\n/**\n * Tracks whether the current update was a nested/cascading update (scheduled from a layout effect).\n *\n * The overall sequence is:\n * 1. render\n * 2. commit (and call `onRender`, `onCommit`)\n * 3. check for nested updates\n * 4. flush passive effects (and call `onPostCommit`)\n *\n * Nested updates are identified in step 3 above,\n * but step 4 still applies to the work that was just committed.\n * We use two flags to track nested updates then:\n * one tracks whether the upcoming update is a nested update,\n * and the other tracks whether the current update was a nested update.\n * The first value gets synced to the second at the start of the render phase.\n */\n\nvar currentUpdateIsNested = false;\nvar nestedUpdateScheduled = false;\n\nfunction isCurrentUpdateNested() {\n return currentUpdateIsNested;\n}\n\nfunction markNestedUpdateScheduled() {\n {\n nestedUpdateScheduled = true;\n }\n}\n\nfunction resetNestedUpdateFlag() {\n {\n currentUpdateIsNested = false;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction syncNestedUpdateFlag() {\n {\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = false;\n }\n}\n\nfunction getCommitTime() {\n return commitTime;\n}\n\nfunction recordCommitTime() {\n\n commitTime = now$1();\n}\n\nfunction startProfilerTimer(fiber) {\n\n profilerStartTime = now$1();\n\n if (fiber.actualStartTime < 0) {\n fiber.actualStartTime = now$1();\n }\n}\n\nfunction stopProfilerTimerIfRunning(fiber) {\n\n profilerStartTime = -1;\n}\n\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\n\n if (profilerStartTime >= 0) {\n var elapsedTime = now$1() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n\n if (overrideBaseTime) {\n fiber.selfBaseDuration = elapsedTime;\n }\n\n profilerStartTime = -1;\n }\n}\n\nfunction recordLayoutEffectDuration(fiber) {\n\n if (layoutEffectStartTime >= 0) {\n var elapsedTime = now$1() - layoutEffectStartTime;\n layoutEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += elapsedTime;\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += elapsedTime;\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction recordPassiveEffectDuration(fiber) {\n\n if (passiveEffectStartTime >= 0) {\n var elapsedTime = now$1() - passiveEffectStartTime;\n passiveEffectStartTime = -1; // Store duration on the next nearest Profiler ancestor\n // Or the root (for the DevTools Profiler to read)\n\n var parentFiber = fiber.return;\n\n while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n\n if (root !== null) {\n root.passiveEffectDuration += elapsedTime;\n }\n\n return;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n\n if (parentStateNode !== null) {\n // Detached fibers have their state node cleared out.\n // In this case, the return pointer is also cleared out,\n // so we won't be able to report the time spent in this Profiler's subtree.\n parentStateNode.passiveEffectDuration += elapsedTime;\n }\n\n return;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n}\n\nfunction startLayoutEffectTimer() {\n\n layoutEffectStartTime = now$1();\n}\n\nfunction startPassiveEffectTimer() {\n\n passiveEffectStartTime = now$1();\n}\n\nfunction transferActualDuration(fiber) {\n // Transfer time spent rendering these children so we don't lose it\n // after we rerender. This is used as a helper in special cases\n // where we should count the work of multiple passes.\n var child = fiber.child;\n\n while (child) {\n fiber.actualDuration += child.actualDuration;\n child = child.sibling;\n }\n}\n\nfunction createCapturedValueAtFiber(value, source) {\n // If the value is an error, call this function immediately after it is thrown\n // so the stack is accurate.\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source),\n digest: null\n };\n}\nfunction createCapturedValue(value, digest, stack) {\n return {\n value: value,\n source: null,\n stack: stack != null ? stack : null,\n digest: digest != null ? digest : null\n };\n}\n\n// This module is forked in different environments.\n// By default, return `true` to log errors to the console.\n// Forks can return `false` if this isn't desirable.\nfunction showErrorDialog(boundary, errorInfo) {\n return true;\n}\n\nfunction logCapturedError(boundary, errorInfo) {\n try {\n var logError = showErrorDialog(boundary, errorInfo); // Allow injected showErrorDialog() to prevent default console.error logging.\n // This enables renderers like ReactNative to better manage redbox behavior.\n\n if (logError === false) {\n return;\n }\n\n var error = errorInfo.value;\n\n if (true) {\n var source = errorInfo.source;\n var stack = errorInfo.stack;\n var componentStack = stack !== null ? stack : ''; // Browsers support silencing uncaught errors by calling\n // `preventDefault()` in window `error` handler.\n // We record this information as an expando on the error.\n\n if (error != null && error._suppressLogging) {\n if (boundary.tag === ClassComponent) {\n // The error is recoverable and was silenced.\n // Ignore it and don't print the stack addendum.\n // This is handy for testing error boundaries without noise.\n return;\n } // The error is fatal. Since the silencing might have\n // been accidental, we'll surface it anyway.\n // However, the browser would have silenced the original error\n // so we'll print it first, and then print the stack addendum.\n\n\n console['error'](error); // Don't transform to our wrapper\n // For a more detailed description of this block, see:\n // https://github.com/facebook/react/pull/13384\n }\n\n var componentName = source ? getComponentNameFromFiber(source) : null;\n var componentNameMessage = componentName ? \"The above error occurred in the <\" + componentName + \"> component:\" : 'The above error occurred in one of your React components:';\n var errorBoundaryMessage;\n\n if (boundary.tag === HostRoot) {\n errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\n' + 'Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.';\n } else {\n var errorBoundaryName = getComponentNameFromFiber(boundary) || 'Anonymous';\n errorBoundaryMessage = \"React will try to recreate this component tree from scratch \" + (\"using the error boundary you provided, \" + errorBoundaryName + \".\");\n }\n\n var combinedMessage = componentNameMessage + \"\\n\" + componentStack + \"\\n\\n\" + (\"\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\n // We don't include the original error message and JS stack because the browser\n // has already printed it. Even if the application swallows the error, it is still\n // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\n\n console['error'](combinedMessage); // Don't transform to our wrapper\n } else {}\n } catch (e) {\n // This method must not throw, or React internal state will get messed up.\n // If console.error is overridden, or logCapturedError() shows a dialog that throws,\n // we want to report this error outside of the normal stack as a last resort.\n // https://github.com/facebook/react/issues/13188\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nvar PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\n\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane); // Unmount the root by rendering null.\n\n update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: null\n };\n var error = errorInfo.value;\n\n update.callback = function () {\n onUncaughtError(error);\n logCapturedError(fiber, errorInfo);\n };\n\n return update;\n}\n\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n var update = createUpdate(NoTimestamp, lane);\n update.tag = CaptureUpdate;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n\n if (typeof getDerivedStateFromError === 'function') {\n var error$1 = errorInfo.value;\n\n update.payload = function () {\n return getDerivedStateFromError(error$1);\n };\n\n update.callback = function () {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n };\n }\n\n var inst = fiber.stateNode;\n\n if (inst !== null && typeof inst.componentDidCatch === 'function') {\n update.callback = function callback() {\n {\n markFailedErrorBoundaryForHotReloading(fiber);\n }\n\n logCapturedError(fiber, errorInfo);\n\n if (typeof getDerivedStateFromError !== 'function') {\n // To preserve the preexisting retry behavior of error boundaries,\n // we keep track of which ones already failed during this batch.\n // This gets reset before we yield back to the browser.\n // TODO: Warn in strict mode if getDerivedStateFromError is\n // not defined.\n markLegacyErrorBoundaryAsFailed(this);\n }\n\n var error$1 = errorInfo.value;\n var stack = errorInfo.stack;\n this.componentDidCatch(error$1, {\n componentStack: stack !== null ? stack : ''\n });\n\n {\n if (typeof getDerivedStateFromError !== 'function') {\n // If componentDidCatch is the only error boundary method defined,\n // then it needs to call setState to recover from errors.\n // If no state update is scheduled then the boundary will swallow the error.\n if (!includesSomeLane(fiber.lanes, SyncLane)) {\n error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentNameFromFiber(fiber) || 'Unknown');\n }\n }\n }\n };\n }\n\n return update;\n}\n\nfunction attachPingListener(root, wakeable, lanes) {\n // Attach a ping listener\n //\n // The data might resolve before we have a chance to commit the fallback. Or,\n // in the case of a refresh, we'll never commit a fallback. So we need to\n // attach a listener now. When it resolves (\"pings\"), we can decide whether to\n // try rendering the tree again.\n //\n // Only attach a listener if one does not already exist for the lanes\n // we're currently rendering (which acts like a \"thread ID\" here).\n //\n // We only need to do this in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n var pingCache = root.pingCache;\n var threadIDs;\n\n if (pingCache === null) {\n pingCache = root.pingCache = new PossiblyWeakMap$1();\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else {\n threadIDs = pingCache.get(wakeable);\n\n if (threadIDs === undefined) {\n threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n }\n }\n\n if (!threadIDs.has(lanes)) {\n // Memoize using the thread ID to prevent redundant listeners.\n threadIDs.add(lanes);\n var ping = pingSuspendedRoot.bind(null, root, wakeable, lanes);\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, lanes);\n }\n }\n\n wakeable.then(ping, ping);\n }\n}\n\nfunction attachRetryListener(suspenseBoundary, root, wakeable, lanes) {\n // Retry listener\n //\n // If the fallback does commit, we need to attach a different type of\n // listener. This one schedules an update on the Suspense boundary to turn\n // the fallback state off.\n //\n // Stash the wakeable on the boundary fiber so we can access it in the\n // commit phase.\n //\n // When the wakeable resolves, we'll attempt to render the boundary\n // again (\"retry\").\n var wakeables = suspenseBoundary.updateQueue;\n\n if (wakeables === null) {\n var updateQueue = new Set();\n updateQueue.add(wakeable);\n suspenseBoundary.updateQueue = updateQueue;\n } else {\n wakeables.add(wakeable);\n }\n}\n\nfunction resetSuspendedComponent(sourceFiber, rootRenderLanes) {\n // A legacy mode Suspense quirk, only relevant to hook components.\n\n\n var tag = sourceFiber.tag;\n\n if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) {\n var currentSource = sourceFiber.alternate;\n\n if (currentSource) {\n sourceFiber.updateQueue = currentSource.updateQueue;\n sourceFiber.memoizedState = currentSource.memoizedState;\n sourceFiber.lanes = currentSource.lanes;\n } else {\n sourceFiber.updateQueue = null;\n sourceFiber.memoizedState = null;\n }\n }\n}\n\nfunction getNearestSuspenseBoundaryToCapture(returnFiber) {\n var node = returnFiber;\n\n do {\n if (node.tag === SuspenseComponent && shouldCaptureSuspense(node)) {\n return node;\n } // This boundary already captured during this render. Continue to the next\n // boundary.\n\n\n node = node.return;\n } while (node !== null);\n\n return null;\n}\n\nfunction markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes) {\n // This marks a Suspense boundary so that when we're unwinding the stack,\n // it captures the suspended \"exception\" and does a second (fallback) pass.\n if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) {\n // Legacy Mode Suspense\n //\n // If the boundary is in legacy mode, we should *not*\n // suspend the commit. Pretend as if the suspended component rendered\n // null and keep rendering. When the Suspense boundary completes,\n // we'll do a second pass to render the fallback.\n if (suspenseBoundary === returnFiber) {\n // Special case where we suspended while reconciling the children of\n // a Suspense boundary's inner Offscreen wrapper fiber. This happens\n // when a React.lazy component is a direct child of a\n // Suspense boundary.\n //\n // Suspense boundaries are implemented as multiple fibers, but they\n // are a single conceptual unit. The legacy mode behavior where we\n // pretend the suspended fiber committed as `null` won't work,\n // because in this case the \"suspended\" fiber is the inner\n // Offscreen wrapper.\n //\n // Because the contents of the boundary haven't started rendering\n // yet (i.e. nothing in the tree has partially rendered) we can\n // switch to the regular, concurrent mode behavior: mark the\n // boundary with ShouldCapture and enter the unwind phase.\n suspenseBoundary.flags |= ShouldCapture;\n } else {\n suspenseBoundary.flags |= DidCapture;\n sourceFiber.flags |= ForceUpdateForLegacySuspense; // We're going to commit this fiber even though it didn't complete.\n // But we shouldn't call any lifecycle methods or callbacks. Remove\n // all lifecycle effect tags.\n\n sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete);\n\n if (sourceFiber.tag === ClassComponent) {\n var currentSourceFiber = sourceFiber.alternate;\n\n if (currentSourceFiber === null) {\n // This is a new mount. Change the tag so it's not mistaken for a\n // completed class component. For example, we should not call\n // componentWillUnmount if it is deleted.\n sourceFiber.tag = IncompleteClassComponent;\n } else {\n // When we try rendering again, we should not reuse the current fiber,\n // since it's known to be in an inconsistent state. Use a force update to\n // prevent a bail out.\n var update = createUpdate(NoTimestamp, SyncLane);\n update.tag = ForceUpdate;\n enqueueUpdate(sourceFiber, update, SyncLane);\n }\n } // The source fiber did not complete. Mark it with Sync priority to\n // indicate that it still has pending work.\n\n\n sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane);\n }\n\n return suspenseBoundary;\n } // Confirmed that the boundary is in a concurrent mode tree. Continue\n // with the normal suspend path.\n //\n // After this we'll use a set of heuristics to determine whether this\n // render pass will run to completion or restart or \"suspend\" the commit.\n // The actual logic for this is spread out in different places.\n //\n // This first principle is that if we're going to suspend when we complete\n // a root, then we should also restart if we get an update or ping that\n // might unsuspend it, and vice versa. The only reason to suspend is\n // because you think you might want to restart before committing. However,\n // it doesn't make sense to restart only while in the period we're suspended.\n //\n // Restarting too aggressively is also not good because it starves out any\n // intermediate loading state. So we use heuristics to determine when.\n // Suspense Heuristics\n //\n // If nothing threw a Promise or all the same fallbacks are already showing,\n // then don't suspend/restart.\n //\n // If this is an initial render of a new tree of Suspense boundaries and\n // those trigger a fallback, then don't suspend/restart. We want to ensure\n // that we can show the initial loading state as quickly as possible.\n //\n // If we hit a \"Delayed\" case, such as when we'd switch from content back into\n // a fallback, then we should always suspend/restart. Transitions apply\n // to this case. If none is defined, JND is used instead.\n //\n // If we're already showing a fallback and it gets \"retried\", allowing us to show\n // another level, but there's still an inner boundary that would show a fallback,\n // then we suspend/restart for 500ms since the last time we showed a fallback\n // anywhere in the tree. This effectively throttles progressive loading into a\n // consistent train of commits. This also gives us an opportunity to restart to\n // get to the completed state slightly earlier.\n //\n // If there's ambiguity due to batching it's resolved in preference of:\n // 1) \"delayed\", 2) \"initial render\", 3) \"retry\".\n //\n // We want to ensure that a \"busy\" state doesn't get force committed. We want to\n // ensure that new initial loading states can commit as soon as possible.\n\n\n suspenseBoundary.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in\n // the begin phase to prevent an early bailout.\n\n suspenseBoundary.lanes = rootRenderLanes;\n return suspenseBoundary;\n}\n\nfunction throwException(root, returnFiber, sourceFiber, value, rootRenderLanes) {\n // The source fiber did not complete.\n sourceFiber.flags |= Incomplete;\n\n {\n if (isDevToolsPresent) {\n // If we have pending work still, restore the original updaters\n restorePendingUpdaters(root, rootRenderLanes);\n }\n }\n\n if (value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // This is a wakeable. The component suspended.\n var wakeable = value;\n resetSuspendedComponent(sourceFiber);\n\n {\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n }\n }\n\n\n var suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber);\n\n if (suspenseBoundary !== null) {\n suspenseBoundary.flags &= ~ForceClientRender;\n markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // We only attach ping listeners in concurrent mode. Legacy Suspense always\n // commits fallbacks synchronously, so there are no pings.\n\n if (suspenseBoundary.mode & ConcurrentMode) {\n attachPingListener(root, wakeable, rootRenderLanes);\n }\n\n attachRetryListener(suspenseBoundary, root, wakeable);\n return;\n } else {\n // No boundary was found. Unless this is a sync update, this is OK.\n // We can suspend and wait for more data to arrive.\n if (!includesSyncLane(rootRenderLanes)) {\n // This is not a sync update. Suspend. Since we're not activating a\n // Suspense boundary, this will unwind all the way to the root without\n // performing a second pass to render a fallback. (This is arguably how\n // refresh transitions should work, too, since we're not going to commit\n // the fallbacks anyway.)\n //\n // This case also applies to initial hydration.\n attachPingListener(root, wakeable, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return;\n } // This is a sync/discrete update. We treat this case like an error\n // because discrete renders are expected to produce a complete tree\n // synchronously to maintain consistency with external state.\n\n\n var uncaughtSuspenseError = new Error('A component suspended while responding to synchronous input. This ' + 'will cause the UI to be replaced with a loading indicator. To ' + 'fix, updates that suspend should be wrapped ' + 'with startTransition.'); // If we're outside a transition, fall through to the regular error path.\n // The error will be caught by the nearest suspense boundary.\n\n value = uncaughtSuspenseError;\n }\n } else {\n // This is a regular error, not a Suspense wakeable.\n if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) {\n markDidThrowWhileHydratingDEV();\n\n var _suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); // If the error was thrown during hydration, we may be able to recover by\n // discarding the dehydrated content and switching to a client render.\n // Instead of surfacing the error, find the nearest Suspense boundary\n // and render it again without hydration.\n\n\n if (_suspenseBoundary !== null) {\n if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags) {\n // Set a flag to indicate that we should try rendering the normal\n // children again, not the fallback.\n _suspenseBoundary.flags |= ForceClientRender;\n }\n\n markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root, rootRenderLanes); // Even though the user may not be affected by this error, we should\n // still log it so it can be fixed.\n\n queueHydrationError(createCapturedValueAtFiber(value, sourceFiber));\n return;\n }\n }\n }\n\n value = createCapturedValueAtFiber(value, sourceFiber);\n renderDidError(value); // We didn't find a boundary that could handle this type of exception. Start\n // over and traverse parent path again, this time treating the exception\n // as an error.\n\n var workInProgress = returnFiber;\n\n do {\n switch (workInProgress.tag) {\n case HostRoot:\n {\n var _errorInfo = value;\n workInProgress.flags |= ShouldCapture;\n var lane = pickArbitraryLane(rootRenderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane);\n var update = createRootErrorUpdate(workInProgress, _errorInfo, lane);\n enqueueCapturedUpdate(workInProgress, update);\n return;\n }\n\n case ClassComponent:\n // Capture and retry\n var errorInfo = value;\n var ctor = workInProgress.type;\n var instance = workInProgress.stateNode;\n\n if ((workInProgress.flags & DidCapture) === NoFlags && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\n workInProgress.flags |= ShouldCapture;\n\n var _lane = pickArbitraryLane(rootRenderLanes);\n\n workInProgress.lanes = mergeLanes(workInProgress.lanes, _lane); // Schedule the error boundary to re-render using updated state\n\n var _update = createClassErrorUpdate(workInProgress, errorInfo, _lane);\n\n enqueueCapturedUpdate(workInProgress, _update);\n return;\n }\n\n break;\n }\n\n workInProgress = workInProgress.return;\n } while (workInProgress !== null);\n}\n\nfunction getSuspendedCache() {\n {\n return null;\n } // This function is called when a Suspense boundary suspends. It returns the\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar didReceiveUpdate = false;\nvar didWarnAboutBadClass;\nvar didWarnAboutModulePatternComponent;\nvar didWarnAboutContextTypeOnFunctionComponent;\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\nvar didWarnAboutFunctionRefs;\nvar didWarnAboutReassigningProps;\nvar didWarnAboutRevealOrder;\nvar didWarnAboutTailOptions;\n\n{\n didWarnAboutBadClass = {};\n didWarnAboutModulePatternComponent = {};\n didWarnAboutContextTypeOnFunctionComponent = {};\n didWarnAboutGetDerivedStateOnFunctionComponent = {};\n didWarnAboutFunctionRefs = {};\n didWarnAboutReassigningProps = false;\n didWarnAboutRevealOrder = {};\n didWarnAboutTailOptions = {};\n}\n\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n if (current === null) {\n // If this is a fresh new component that hasn't been rendered yet, we\n // won't update its child set by applying minimal side-effects. Instead,\n // we will add them all to the child before it gets rendered. That means\n // we can optimize this reconciliation pass by not tracking side-effects.\n workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n // If the current child is the same as the work in progress, it means that\n // we haven't yet started any work on these children. Therefore, we use\n // the clone algorithm to create a copy of all the current children.\n // If we had any progressed work already, that is invalid at this point so\n // let's throw it out.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);\n }\n}\n\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes) {\n // This function is fork of reconcileChildren. It's used in cases where we\n // want to reconcile without matching against the existing set. This has the\n // effect of all current children being unmounted; even if the type and key\n // are the same, the old child is unmounted and a new child is created.\n //\n // To do this, we're going to go through the reconcile algorithm twice. In\n // the first pass, we schedule a deletion for all the current children by\n // passing null.\n workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes); // In the second pass, we mount the new children. The trick here is that we\n // pass null in place of where we usually pass the current child set. This has\n // the effect of remounting all children regardless of whether their\n // identities match.\n\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n}\n\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens after the first render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var render = Component.render;\n var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n if (current === null) {\n var type = Component.type;\n\n if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\n Component.defaultProps === undefined) {\n var resolvedType = type;\n\n {\n resolvedType = resolveFunctionForHotReloading(type);\n } // If this is a plain function component without default props,\n // and with only the default shallow comparison, we upgrade it\n // to a SimpleMemoComponent to allow fast path updates.\n\n\n workInProgress.tag = SimpleMemoComponent;\n workInProgress.type = resolvedType;\n\n {\n validateFunctionComponentInDev(workInProgress, type);\n }\n\n return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, renderLanes);\n }\n\n {\n var innerPropTypes = type.propTypes;\n\n if (innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(type));\n }\n }\n\n var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);\n child.ref = workInProgress.ref;\n child.return = workInProgress;\n workInProgress.child = child;\n return child;\n }\n\n {\n var _type = Component.type;\n var _innerPropTypes = _type.propTypes;\n\n if (_innerPropTypes) {\n // Inner memo component props aren't currently validated in createElement.\n // We could move it there, but we'd still need this for lazy code path.\n checkPropTypes(_innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(_type));\n }\n }\n\n var currentChild = current.child; // This is always exactly one child\n\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext) {\n // This will be the props with resolved defaultProps,\n // unlike current.memoizedProps which will be the unresolved ones.\n var prevProps = currentChild.memoizedProps; // Default to shallow comparison\n\n var compare = Component.compare;\n compare = compare !== null ? compare : shallowEqual;\n\n if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n var newChild = createWorkInProgress(currentChild, nextProps);\n newChild.ref = workInProgress.ref;\n newChild.return = workInProgress;\n workInProgress.child = newChild;\n return newChild;\n}\n\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, renderLanes) {\n // TODO: current can be non-null here even if the component\n // hasn't yet mounted. This happens when the inner render suspends.\n // We'll need to figure out if this is fine or can cause issues.\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var outerMemoType = workInProgress.elementType;\n\n if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {\n // We warn when you define propTypes on lazy()\n // so let's just skip over it to find memo() outer wrapper.\n // Inner props for memo are validated later.\n var lazyComponent = outerMemoType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n outerMemoType = init(payload);\n } catch (x) {\n outerMemoType = null;\n } // Inner propTypes will be validated in the function component path.\n\n\n var outerPropTypes = outerMemoType && outerMemoType.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)\n 'prop', getComponentNameFromType(outerMemoType));\n }\n }\n }\n }\n\n if (current !== null) {\n var prevProps = current.memoizedProps;\n\n if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\n workInProgress.type === current.type )) {\n didReceiveUpdate = false; // The props are shallowly equal. Reuse the previous props object, like we\n // would during a normal fiber bailout.\n //\n // We don't have strong guarantees that the props object is referentially\n // equal during updates where we can't bail out anyway — like if the props\n // are shallowly equal, but there's a local state or context update in the\n // same batch.\n //\n // However, as a principle, we should aim to make the behavior consistent\n // across different ways of memoizing a component. For example, React.memo\n // has a different internal Fiber layout if you pass a normal function\n // component (SimpleMemoComponent) versus if you pass a different type\n // like forwardRef (MemoComponent). But this is an implementation detail.\n // Wrapping a component in forwardRef (or React.lazy, etc) shouldn't\n // affect whether the props object is reused during a bailout.\n\n workInProgress.pendingProps = nextProps = prevProps;\n\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n // The pending lanes were cleared at the beginning of beginWork. We're\n // about to bail out, but there might be other lanes that weren't\n // included in the current render. Usually, the priority level of the\n // remaining updates is accumulated during the evaluation of the\n // component (i.e. when processing the update queue). But since since\n // we're bailing out early *without* evaluating the component, we need\n // to account for it here, too. Reset to the value of the current fiber.\n // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\n // because a MemoComponent fiber does not have hooks or an update queue;\n // rather, it wraps around an inner component, which may or may not\n // contains hooks.\n // TODO: Move the reset at in beginWork out of the common path so that\n // this is no longer necessary.\n workInProgress.lanes = current.lanes;\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n } else if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n }\n }\n }\n\n return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);\n}\n\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n var prevState = current !== null ? current.memoizedState : null;\n\n if (nextProps.mode === 'hidden' || enableLegacyHidden ) {\n // Rendering a hidden tree.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy sync mode, don't defer the subtree. Render it now.\n // TODO: Consider how Offscreen should work with transitions in the future\n var nextState = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = nextState;\n\n pushRenderLanes(workInProgress, renderLanes);\n } else if (!includesSomeLane(renderLanes, OffscreenLane)) {\n var spawnedCachePool = null; // We're hidden, and we're not rendering at Offscreen. We will bail out\n // and resume this tree later.\n\n var nextBaseLanes;\n\n if (prevState !== null) {\n var prevBaseLanes = prevState.baseLanes;\n nextBaseLanes = mergeLanes(prevBaseLanes, renderLanes);\n } else {\n nextBaseLanes = renderLanes;\n } // Schedule this fiber to re-render at offscreen priority. Then bailout.\n\n\n workInProgress.lanes = workInProgress.childLanes = laneToLanes(OffscreenLane);\n var _nextState = {\n baseLanes: nextBaseLanes,\n cachePool: spawnedCachePool,\n transitions: null\n };\n workInProgress.memoizedState = _nextState;\n workInProgress.updateQueue = null;\n // to avoid a push/pop misalignment.\n\n\n pushRenderLanes(workInProgress, nextBaseLanes);\n\n return null;\n } else {\n // This is the second render. The surrounding visible content has already\n // committed. Now we resume rendering the hidden tree.\n // Rendering at offscreen, so we can clear the base lanes.\n var _nextState2 = {\n baseLanes: NoLanes,\n cachePool: null,\n transitions: null\n };\n workInProgress.memoizedState = _nextState2; // Push the lanes that were skipped when we bailed out.\n\n var subtreeRenderLanes = prevState !== null ? prevState.baseLanes : renderLanes;\n\n pushRenderLanes(workInProgress, subtreeRenderLanes);\n }\n } else {\n // Rendering a visible tree.\n var _subtreeRenderLanes;\n\n if (prevState !== null) {\n // We're going from hidden -> visible.\n _subtreeRenderLanes = mergeLanes(prevState.baseLanes, renderLanes);\n\n workInProgress.memoizedState = null;\n } else {\n // We weren't previously hidden, and we still aren't, so there's nothing\n // special to do. Need to push to the stack regardless, though, to avoid\n // a push/pop misalignment.\n _subtreeRenderLanes = renderLanes;\n }\n\n pushRenderLanes(workInProgress, _subtreeRenderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n} // Note: These happen to have identical begin phases, for now. We shouldn't hold\n\nfunction updateFragment(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateMode(current, workInProgress, renderLanes) {\n var nextChildren = workInProgress.pendingProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateProfiler(current, workInProgress, renderLanes) {\n {\n workInProgress.flags |= Update;\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n var nextProps = workInProgress.pendingProps;\n var nextChildren = nextProps.children;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n\n if (current === null && ref !== null || current !== null && current.ref !== ref) {\n // Schedule a Ref effect\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n }\n}\n\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n var nextChildren;\n var hasId;\n prepareToReadContext(workInProgress, renderLanes);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n\n if (current !== null && !didReceiveUpdate) {\n bailoutHooks(current, workInProgress, renderLanes);\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {\n {\n // This is used by DevTools to force a boundary to error.\n switch (shouldError(workInProgress)) {\n case false:\n {\n var _instance = workInProgress.stateNode;\n var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack.\n // Is there a better way to do this?\n\n var tempInstance = new ctor(workInProgress.memoizedProps, _instance.context);\n var state = tempInstance.state;\n\n _instance.updater.enqueueSetState(_instance, state, null);\n\n break;\n }\n\n case true:\n {\n workInProgress.flags |= DidCapture;\n workInProgress.flags |= ShouldCapture; // eslint-disable-next-line react-internal/prod-error-codes\n\n var error$1 = new Error('Simulated error coming from DevTools');\n var lane = pickArbitraryLane(renderLanes);\n workInProgress.lanes = mergeLanes(workInProgress.lanes, lane); // Schedule the error boundary to re-render using updated state\n\n var update = createClassErrorUpdate(workInProgress, createCapturedValueAtFiber(error$1, workInProgress), lane);\n enqueueCapturedUpdate(workInProgress, update);\n break;\n }\n }\n\n if (workInProgress.type !== workInProgress.elementType) {\n // Lazy component props can't be validated in createElement\n // because they're only guaranteed to be resolved here.\n var innerPropTypes = Component.propTypes;\n\n if (innerPropTypes) {\n checkPropTypes(innerPropTypes, nextProps, // Resolved props\n 'prop', getComponentNameFromType(Component));\n }\n }\n } // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var instance = workInProgress.stateNode;\n var shouldUpdate;\n\n if (instance === null) {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress); // In the initial pass we might need to construct the instance.\n\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n shouldUpdate = true;\n } else if (current === null) {\n // In a resume, we'll already have an instance we can reuse.\n shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderLanes);\n } else {\n shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderLanes);\n }\n\n var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes);\n\n {\n var inst = workInProgress.stateNode;\n\n if (shouldUpdate && inst.props !== nextProps) {\n if (!didWarnAboutReassigningProps) {\n error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentNameFromFiber(workInProgress) || 'a component');\n }\n\n didWarnAboutReassigningProps = true;\n }\n }\n\n return nextUnitOfWork;\n}\n\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {\n // Refs should update even if shouldComponentUpdate returns false\n markRef(current, workInProgress);\n var didCaptureError = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (!shouldUpdate && !didCaptureError) {\n // Context providers should defer to sCU for rendering\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, false);\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n var instance = workInProgress.stateNode; // Rerender\n\n ReactCurrentOwner$1.current = workInProgress;\n var nextChildren;\n\n if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\n // If we captured an error, but getDerivedStateFromError is not defined,\n // unmount all the children. componentDidCatch will schedule an update to\n // re-render a fallback. This is temporary until we migrate everyone to\n // the new API.\n // TODO: Warn in a future release.\n nextChildren = null;\n\n {\n stopProfilerTimerIfRunning();\n }\n } else {\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n setIsRendering(true);\n nextChildren = instance.render();\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n instance.render();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n }\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n if (current !== null && didCaptureError) {\n // If we're recovering from an error, reconcile without reusing any of\n // the existing children. Conceptually, the normal children and the children\n // that are shown on error are two different sets, so we shouldn't reuse\n // normal children even if their identities match.\n forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n } // Memoize state using the values we just used to render.\n // TODO: Restructure so we never read values from the instance.\n\n\n workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\n\n if (hasContext) {\n invalidateContextProvider(workInProgress, Component, true);\n }\n\n return workInProgress.child;\n}\n\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n\n if (root.pendingContext) {\n pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\n } else if (root.context) {\n // Should always be set\n pushTopLevelContextObject(workInProgress, root.context, false);\n }\n\n pushHostContainer(workInProgress, root.containerInfo);\n}\n\nfunction updateHostRoot(current, workInProgress, renderLanes) {\n pushHostRootContext(workInProgress);\n\n if (current === null) {\n throw new Error('Should have a current fiber. This is a bug in React.');\n }\n\n var nextProps = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n var prevChildren = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n var root = workInProgress.stateNode;\n // being called \"element\".\n\n\n var nextChildren = nextState.element;\n\n if ( prevState.isDehydrated) {\n // This is a hydration root whose shell has not yet hydrated. We should\n // attempt to hydrate.\n // Flip isDehydrated to false to indicate that when this render\n // finishes, the root will no longer be dehydrated.\n var overrideState = {\n element: nextChildren,\n isDehydrated: false,\n cache: nextState.cache,\n pendingSuspenseBoundaries: nextState.pendingSuspenseBoundaries,\n transitions: nextState.transitions\n };\n var updateQueue = workInProgress.updateQueue; // `baseState` can always be the last state because the root doesn't\n // have reducer functions so it doesn't need rebasing.\n\n updateQueue.baseState = overrideState;\n workInProgress.memoizedState = overrideState;\n\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during a previous attempt to hydrate the shell, so we\n // forced a client render.\n var recoverableError = createCapturedValueAtFiber(new Error('There was an error while hydrating. Because the error happened outside ' + 'of a Suspense boundary, the entire root will switch to ' + 'client rendering.'), workInProgress);\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError);\n } else if (nextChildren !== prevChildren) {\n var _recoverableError = createCapturedValueAtFiber(new Error('This root received an early update, before anything was able ' + 'hydrate. Switched the entire root to client rendering.'), workInProgress);\n\n return mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, _recoverableError);\n } else {\n // The outermost shell has not hydrated yet. Start hydrating.\n enterHydrationState(workInProgress);\n\n var child = mountChildFibers(workInProgress, null, nextChildren, renderLanes);\n workInProgress.child = child;\n var node = child;\n\n while (node) {\n // Mark each child as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n node.flags = node.flags & ~Placement | Hydrating;\n node = node.sibling;\n }\n }\n } else {\n // Root is not dehydrated. Either this is a client-only root, or it\n // already hydrated.\n resetHydrationState();\n\n if (nextChildren === prevChildren) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nfunction mountHostRootWithoutHydrating(current, workInProgress, nextChildren, renderLanes, recoverableError) {\n // Revert to client rendering.\n resetHydrationState();\n queueHydrationError(recoverableError);\n workInProgress.flags |= ForceClientRender;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostComponent(current, workInProgress, renderLanes) {\n pushHostContext(workInProgress);\n\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n }\n\n var type = workInProgress.type;\n var nextProps = workInProgress.pendingProps;\n var prevProps = current !== null ? current.memoizedProps : null;\n var nextChildren = nextProps.children;\n var isDirectTextChild = shouldSetTextContent(type, nextProps);\n\n if (isDirectTextChild) {\n // We special case a direct text child of a host node. This is a common\n // case. We won't handle it as a reified child. We will instead handle\n // this in the host environment that also has access to this prop. That\n // avoids allocating another HostText fiber and traversing it.\n nextChildren = null;\n } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\n // If we're switching from a direct text child to a normal child, or to\n // empty, we need to schedule the text content to be reset.\n workInProgress.flags |= ContentReset;\n }\n\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction updateHostText(current, workInProgress) {\n if (current === null) {\n tryToClaimNextHydratableInstance(workInProgress);\n } // Nothing to do here. This is terminal. We'll do the completion step\n // immediately after.\n\n\n return null;\n}\n\nfunction mountLazyComponent(_current, workInProgress, elementType, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var lazyComponent = elementType;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n var Component = init(payload); // Store the unwrapped component in the type.\n\n workInProgress.type = Component;\n var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\n var resolvedProps = resolveDefaultProps(Component, props);\n var child;\n\n switch (resolvedTag) {\n case FunctionComponent:\n {\n {\n validateFunctionComponentInDev(workInProgress, Component);\n workInProgress.type = Component = resolveFunctionForHotReloading(Component);\n }\n\n child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ClassComponent:\n {\n {\n workInProgress.type = Component = resolveClassForHotReloading(Component);\n }\n\n child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case ForwardRef:\n {\n {\n workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\n }\n\n child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderLanes);\n return child;\n }\n\n case MemoComponent:\n {\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = Component.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only\n 'prop', getComponentNameFromType(Component));\n }\n }\n }\n\n child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\n renderLanes);\n return child;\n }\n }\n\n var hint = '';\n\n {\n if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\n hint = ' Did you wrap a component in React.lazy() more than once?';\n }\n } // This message intentionally doesn't mention ForwardRef or MemoComponent\n // because the fact that it's a separate type of work is an\n // implementation detail.\n\n\n throw new Error(\"Element type is invalid. Received a promise that resolves to: \" + Component + \". \" + (\"Lazy element type must resolve to a class or function.\" + hint));\n}\n\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress); // Promote the fiber to a class and try rendering again.\n\n workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\n // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n constructClassInstance(workInProgress, Component, nextProps);\n mountClassInstance(workInProgress, Component, nextProps, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n}\n\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderLanes) {\n resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress);\n var props = workInProgress.pendingProps;\n var context;\n\n {\n var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\n context = getMaskedContext(workInProgress, unmaskedContext);\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var value;\n var hasId;\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n {\n if (Component.prototype && typeof Component.prototype.render === 'function') {\n var componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutBadClass[componentName]) {\n error(\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\n\n didWarnAboutBadClass[componentName] = true;\n }\n }\n\n if (workInProgress.mode & StrictLegacyMode) {\n ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\n }\n\n setIsRendering(true);\n ReactCurrentOwner$1.current = workInProgress;\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n\n {\n // Support for module components is deprecated and is removed behind a flag.\n // Whether or not it would crash later, we want to show a good message in DEV first.\n if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n var _componentName = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\n\n didWarnAboutModulePatternComponent[_componentName] = true;\n }\n }\n }\n\n if ( // Run these checks in production only if the flag is off.\n // Eventually we'll delete this branch altogether.\n typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\n {\n var _componentName2 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutModulePatternComponent[_componentName2]) {\n error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \"If you can't use a class try assigning the prototype on the function as a workaround. \" + \"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \" + 'cannot be called with `new` by React.', _componentName2, _componentName2, _componentName2);\n\n didWarnAboutModulePatternComponent[_componentName2] = true;\n }\n } // Proceed under the assumption that this is a class instance\n\n\n workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\n\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\n // During mounting we don't know the child context yet as the instance doesn't exist.\n // We will invalidate the child context in finishClassComponent() right after rendering.\n\n var hasContext = false;\n\n if (isContextProvider(Component)) {\n hasContext = true;\n pushContextProvider(workInProgress);\n } else {\n hasContext = false;\n }\n\n workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\n initializeUpdateQueue(workInProgress);\n adoptClassInstance(workInProgress, value);\n mountClassInstance(workInProgress, Component, props, renderLanes);\n return finishClassComponent(null, workInProgress, Component, true, hasContext, renderLanes);\n } else {\n // Proceed under the assumption that this is a function component\n workInProgress.tag = FunctionComponent;\n\n {\n\n if ( workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(true);\n\n try {\n value = renderWithHooks(null, workInProgress, Component, props, context, renderLanes);\n hasId = checkDidRenderIdHook();\n } finally {\n setIsStrictModeForDevtools(false);\n }\n }\n }\n\n if (getIsHydrating() && hasId) {\n pushMaterializedTreeId(workInProgress);\n }\n\n reconcileChildren(null, workInProgress, value, renderLanes);\n\n {\n validateFunctionComponentInDev(workInProgress, Component);\n }\n\n return workInProgress.child;\n }\n}\n\nfunction validateFunctionComponentInDev(workInProgress, Component) {\n {\n if (Component) {\n if (Component.childContextTypes) {\n error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');\n }\n }\n\n if (workInProgress.ref !== null) {\n var info = '';\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n\n var warningKey = ownerName || '';\n var debugSource = workInProgress._debugSource;\n\n if (debugSource) {\n warningKey = debugSource.fileName + ':' + debugSource.lineNumber;\n }\n\n if (!didWarnAboutFunctionRefs[warningKey]) {\n didWarnAboutFunctionRefs[warningKey] = true;\n\n error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\n }\n }\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n var _componentName3 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) {\n error('%s: Function components do not support getDerivedStateFromProps.', _componentName3);\n\n didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true;\n }\n }\n\n if (typeof Component.contextType === 'object' && Component.contextType !== null) {\n var _componentName4 = getComponentNameFromType(Component) || 'Unknown';\n\n if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) {\n error('%s: Function components do not support contextType.', _componentName4);\n\n didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true;\n }\n }\n }\n}\n\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: NoLane\n};\n\nfunction mountSuspenseOffscreenState(renderLanes) {\n return {\n baseLanes: renderLanes,\n cachePool: getSuspendedCache(),\n transitions: null\n };\n}\n\nfunction updateSuspenseOffscreenState(prevOffscreenState, renderLanes) {\n var cachePool = null;\n\n return {\n baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes),\n cachePool: cachePool,\n transitions: prevOffscreenState.transitions\n };\n} // TODO: Probably should inline this back\n\n\nfunction shouldRemainOnFallback(suspenseContext, current, workInProgress, renderLanes) {\n // If we're already showing a fallback, there are cases where we need to\n // remain on that fallback regardless of whether the content has resolved.\n // For example, SuspenseList coordinates when nested content appears.\n if (current !== null) {\n var suspenseState = current.memoizedState;\n\n if (suspenseState === null) {\n // Currently showing content. Don't hide it, even if ForceSuspenseFallback\n // is true. More precise name might be \"ForceRemainSuspenseFallback\".\n // Note: This is a factoring smell. Can't remain on a fallback if there's\n // no fallback to remain on.\n return false;\n }\n } // Not currently showing content. Consult the Suspense context.\n\n\n return hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n}\n\nfunction getRemainingWorkInPrimaryTree(current, renderLanes) {\n // TODO: Should not remove render lanes that were pinged during this render\n return removeLanes(current.childLanes, renderLanes);\n}\n\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\n\n {\n if (shouldSuspend(workInProgress)) {\n workInProgress.flags |= DidCapture;\n }\n }\n\n var suspenseContext = suspenseStackCursor.current;\n var showFallback = false;\n var didSuspend = (workInProgress.flags & DidCapture) !== NoFlags;\n\n if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {\n // Something in this boundary's subtree already suspended. Switch to\n // rendering the fallback children.\n showFallback = true;\n workInProgress.flags &= ~DidCapture;\n } else {\n // Attempting the main content\n if (current === null || current.memoizedState !== null) {\n // This is a new mount or this boundary is already showing a fallback state.\n // Mark this subtree context as having at least one invisible parent that could\n // handle the fallback state.\n // Avoided boundaries are not considered since they cannot handle preferred fallback states.\n {\n suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);\n }\n }\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n pushSuspenseContext(workInProgress, suspenseContext); // OK, the next part is confusing. We're about to reconcile the Suspense\n // boundary's children. This involves some custom reconciliation logic. Two\n // main reasons this is so complicated.\n //\n // First, Legacy Mode has different semantics for backwards compatibility. The\n // primary tree will commit in an inconsistent state, so when we do the\n // second pass to render the fallback, we do some exceedingly, uh, clever\n // hacks to make that not totally break. Like transferring effects and\n // deletions from hidden tree. In Concurrent Mode, it's much simpler,\n // because we bailout on the primary tree completely and leave it in its old\n // state, no effects. Same as what we do for Offscreen (except that\n // Offscreen doesn't have the first render pass).\n //\n // Second is hydration. During hydration, the Suspense fiber has a slightly\n // different layout, where the child points to a dehydrated fragment, which\n // contains the DOM rendered by the server.\n //\n // Third, even if you set all that aside, Suspense is like error boundaries in\n // that we first we try to render one tree, and if that fails, we render again\n // and switch to a different tree. Like a try/catch block. So we have to track\n // which branch we're currently rendering. Ideally we would model this using\n // a stack.\n\n if (current === null) {\n // Initial mount\n // Special path for hydration\n // If we're currently hydrating, try to hydrate this boundary.\n tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.\n\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null) {\n var dehydrated = suspenseState.dehydrated;\n\n if (dehydrated !== null) {\n return mountDehydratedSuspenseComponent(workInProgress, dehydrated);\n }\n }\n\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n\n if (showFallback) {\n var fallbackFragment = mountSuspenseFallbackChildren(workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var primaryChildFragment = workInProgress.child;\n primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n\n return fallbackFragment;\n } else {\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n } else {\n // This is an update.\n // Special path for hydration\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var _dehydrated = prevState.dehydrated;\n\n if (_dehydrated !== null) {\n return updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, _dehydrated, prevState, renderLanes);\n }\n }\n\n if (showFallback) {\n var _nextFallbackChildren = nextProps.fallback;\n var _nextPrimaryChildren = nextProps.children;\n var fallbackChildFragment = updateSuspenseFallbackChildren(current, workInProgress, _nextPrimaryChildren, _nextFallbackChildren, renderLanes);\n var _primaryChildFragment2 = workInProgress.child;\n var prevOffscreenState = current.child.memoizedState;\n _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes);\n\n _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current, renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n } else {\n var _nextPrimaryChildren2 = nextProps.children;\n\n var _primaryChildFragment3 = updateSuspensePrimaryChildren(current, workInProgress, _nextPrimaryChildren2, renderLanes);\n\n workInProgress.memoizedState = null;\n return _primaryChildFragment3;\n }\n }\n}\n\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren, renderLanes) {\n var mode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n primaryChildFragment.return = workInProgress;\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var progressedPrimaryFragment = workInProgress.child;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n var fallbackChildFragment;\n\n if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) {\n // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = 0;\n primaryChildFragment.treeBaseDuration = 0;\n }\n\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n } else {\n primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode);\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);\n }\n\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes) {\n // The props argument to `createFiberFromOffscreen` is `any` typed, so we use\n // this wrapper function to constrain it.\n return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null);\n}\n\nfunction updateWorkInProgressOffscreenFiber(current, offscreenProps) {\n // The props argument to `createWorkInProgress` is `any` typed, so we use this\n // wrapper function to constrain it.\n return createWorkInProgress(current, offscreenProps);\n}\n\nfunction updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, {\n mode: 'visible',\n children: primaryChildren\n });\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n primaryChildFragment.lanes = renderLanes;\n }\n\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = null;\n\n if (currentFallbackChildFragment !== null) {\n // Delete the fallback child fragment\n var deletions = workInProgress.deletions;\n\n if (deletions === null) {\n workInProgress.deletions = [currentFallbackChildFragment];\n workInProgress.flags |= ChildDeletion;\n } else {\n deletions.push(currentFallbackChildFragment);\n }\n }\n\n workInProgress.child = primaryChildFragment;\n return primaryChildFragment;\n}\n\nfunction updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var mode = workInProgress.mode;\n var currentPrimaryChildFragment = current.child;\n var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\n var primaryChildProps = {\n mode: 'hidden',\n children: primaryChildren\n };\n var primaryChildFragment;\n\n if ( // In legacy mode, we commit the primary tree as if it successfully\n // completed, even though it's in an inconsistent state.\n (mode & ConcurrentMode) === NoMode && // Make sure we're on the second pass, i.e. the primary child fragment was\n // already cloned. In legacy mode, the only case where this isn't true is\n // when DevTools forces us to display a fallback; we skip the first render\n // pass entirely and go straight to rendering the fallback. (In Concurrent\n // Mode, SuspenseList can also trigger this scenario, but this is a legacy-\n // only codepath.)\n workInProgress.child !== currentPrimaryChildFragment) {\n var progressedPrimaryFragment = workInProgress.child;\n primaryChildFragment = progressedPrimaryFragment;\n primaryChildFragment.childLanes = NoLanes;\n primaryChildFragment.pendingProps = primaryChildProps;\n\n if ( workInProgress.mode & ProfileMode) {\n // Reset the durations from the first pass so they aren't included in the\n // final amounts. This seems counterintuitive, since we're intentionally\n // not measuring part of the render phase, but this makes it match what we\n // do in Concurrent Mode.\n primaryChildFragment.actualDuration = 0;\n primaryChildFragment.actualStartTime = -1;\n primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration;\n primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration;\n } // The fallback fiber was added as a deletion during the first pass.\n // However, since we're going to remain on the fallback, we no longer want\n // to delete it.\n\n\n workInProgress.deletions = null;\n } else {\n primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); // Since we're reusing a current tree, we need to reuse the flags, too.\n // (We don't do this in legacy mode, because in legacy mode we don't re-use\n // the current tree; see previous branch.)\n\n primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask;\n }\n\n var fallbackChildFragment;\n\n if (currentFallbackChildFragment !== null) {\n fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren);\n } else {\n fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes, null); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n }\n\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n return fallbackChildFragment;\n}\n\nfunction retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, recoverableError) {\n // Falling back to client rendering. Because this has performance\n // implications, it's considered a recoverable error, even though the user\n // likely won't observe anything wrong with the UI.\n //\n // The error is passed in as an argument to enforce that every caller provide\n // a custom message, or explicitly opt out (currently the only path that opts\n // out is legacy mode; every concurrent path provides an error).\n if (recoverableError !== null) {\n queueHydrationError(recoverableError);\n } // This will add the old fiber to the deletion list\n\n\n reconcileChildFibers(workInProgress, current.child, null, renderLanes); // We're now not suspended nor dehydrated.\n\n var nextProps = workInProgress.pendingProps;\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Needs a placement effect because the parent (the Suspense boundary) already\n // mounted but this is a new fiber.\n\n primaryChildFragment.flags |= Placement;\n workInProgress.memoizedState = null;\n return primaryChildFragment;\n}\n\nfunction mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {\n var fiberMode = workInProgress.mode;\n var primaryChildProps = {\n mode: 'visible',\n children: primaryChildren\n };\n var primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, fiberMode);\n var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes, null); // Needs a placement effect because the parent (the Suspense\n // boundary) already mounted but this is a new fiber.\n\n fallbackChildFragment.flags |= Placement;\n primaryChildFragment.return = workInProgress;\n fallbackChildFragment.return = workInProgress;\n primaryChildFragment.sibling = fallbackChildFragment;\n workInProgress.child = primaryChildFragment;\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // We will have dropped the effect list which contains the\n // deletion. We need to reconcile to delete the current child.\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n }\n\n return fallbackChildFragment;\n}\n\nfunction mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderLanes) {\n // During the first pass, we'll bail out and not drill into the children.\n // Instead, we'll leave the content in place and try to hydrate it later.\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n {\n error('Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOMClient.hydrateRoot(container, <App />)' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');\n }\n\n workInProgress.lanes = laneToLanes(SyncLane);\n } else if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This is a client-only boundary. Since we won't get any content from the server\n // for this, we need to schedule that at a higher priority based on when it would\n // have timed out. In theory we could render it in this pass but it would have the\n // wrong priority associated with it and will prevent hydration of parent path.\n // Instead, we'll leave work left on it to render it in a separate commit.\n // TODO This time should be the time at which the server rendered response that is\n // a parent to this boundary was displayed. However, since we currently don't have\n // a protocol to transfer that time, we'll just estimate it by using the current\n // time. This will mean that Suspense timeouts are slightly shifted to later than\n // they should be.\n // Schedule a normal pri update to render this content.\n workInProgress.lanes = laneToLanes(DefaultHydrationLane);\n } else {\n // We'll continue hydrating the rest at offscreen priority since we'll already\n // be showing the right content coming from the server, it is no rush.\n workInProgress.lanes = laneToLanes(OffscreenLane);\n }\n\n return null;\n}\n\nfunction updateDehydratedSuspenseComponent(current, workInProgress, didSuspend, nextProps, suspenseInstance, suspenseState, renderLanes) {\n if (!didSuspend) {\n // This is the first render pass. Attempt to hydrate.\n // We should never be hydrating at this point because it is the first pass,\n // but after we've already committed once.\n warnIfHydrating();\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, // TODO: When we delete legacy mode, we should make this error argument\n // required — every concurrent mode path that causes hydration to\n // de-opt to client rendering should have an error message.\n null);\n }\n\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n // This boundary is in a permanent fallback state. In this case, we'll never\n // get an update and we'll never be able to hydrate the final content. Let's just try the\n // client side render instead.\n var digest, message, stack;\n\n {\n var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance);\n\n digest = _getSuspenseInstanceF.digest;\n message = _getSuspenseInstanceF.message;\n stack = _getSuspenseInstanceF.stack;\n }\n\n var error;\n\n if (message) {\n // eslint-disable-next-line react-internal/prod-error-codes\n error = new Error(message);\n } else {\n error = new Error('The server could not finish this Suspense boundary, likely ' + 'due to an error during server rendering. Switched to ' + 'client rendering.');\n }\n\n var capturedValue = createCapturedValue(error, digest, stack);\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, capturedValue);\n }\n // any context has changed, we need to treat is as if the input might have changed.\n\n\n var hasContextChanged = includesSomeLane(renderLanes, current.childLanes);\n\n if (didReceiveUpdate || hasContextChanged) {\n // This boundary has changed since the first render. This means that we are now unable to\n // hydrate it. We might still be able to hydrate it using a higher priority lane.\n var root = getWorkInProgressRoot();\n\n if (root !== null) {\n var attemptHydrationAtLane = getBumpedLaneForHydration(root, renderLanes);\n\n if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) {\n // Intentionally mutating since this render will get interrupted. This\n // is one of the very rare times where we mutate the current tree\n // during the render phase.\n suspenseState.retryLane = attemptHydrationAtLane; // TODO: Ideally this would inherit the event time of the current render\n\n var eventTime = NoTimestamp;\n enqueueConcurrentRenderForLane(current, attemptHydrationAtLane);\n scheduleUpdateOnFiber(root, current, attemptHydrationAtLane, eventTime);\n }\n } // If we have scheduled higher pri work above, this will probably just abort the render\n // since we now have higher priority work, but in case it doesn't, we need to prepare to\n // render something, if we time out. Even if that requires us to delete everything and\n // skip hydration.\n // Delay having to do this as long as the suspense timeout allows us.\n\n\n renderDidSuspendDelayIfPossible();\n\n var _capturedValue = createCapturedValue(new Error('This Suspense boundary received an update before it finished ' + 'hydrating. This caused the boundary to switch to client rendering. ' + 'The usual way to fix this is to wrap the original update ' + 'in startTransition.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue);\n } else if (isSuspenseInstancePending(suspenseInstance)) {\n // This component is still pending more data from the server, so we can't hydrate its\n // content. We treat it as if this component suspended itself. It might seem as if\n // we could just try to render it client-side instead. However, this will perform a\n // lot of unnecessary work and is unlikely to complete since it often will suspend\n // on missing data anyway. Additionally, the server might be able to render more\n // than we can on the client yet. In that case we'd end up with more fallback states\n // on the client than if we just leave it alone. If the server times out or errors\n // these should update this boundary to the permanent Fallback state instead.\n // Mark it as having captured (i.e. suspended).\n workInProgress.flags |= DidCapture; // Leave the child in place. I.e. the dehydrated fragment.\n\n workInProgress.child = current.child; // Register a callback to retry this boundary once the server has sent the result.\n\n var retry = retryDehydratedSuspenseBoundary.bind(null, current);\n registerSuspenseInstanceRetry(suspenseInstance, retry);\n return null;\n } else {\n // This is the first attempt.\n reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress, suspenseInstance, suspenseState.treeContext);\n var primaryChildren = nextProps.children;\n var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress, primaryChildren); // Mark the children as hydrating. This is a fast path to know whether this\n // tree is part of a hydrating tree. This is used to determine if a child\n // node has fully mounted yet, and for scheduling event replaying.\n // Conceptually this is similar to Placement in that a new subtree is\n // inserted into the React tree here. It just happens to not need DOM\n // mutations because it already exists.\n\n primaryChildFragment.flags |= Hydrating;\n return primaryChildFragment;\n }\n } else {\n // This is the second render pass. We already attempted to hydrated, but\n // something either suspended or errored.\n if (workInProgress.flags & ForceClientRender) {\n // Something errored during hydration. Try again without hydrating.\n workInProgress.flags &= ~ForceClientRender;\n\n var _capturedValue2 = createCapturedValue(new Error('There was an error while hydrating this Suspense boundary. ' + 'Switched to client rendering.'));\n\n return retrySuspenseComponentWithoutHydrating(current, workInProgress, renderLanes, _capturedValue2);\n } else if (workInProgress.memoizedState !== null) {\n // Something suspended and we should still be in dehydrated mode.\n // Leave the existing child in place.\n workInProgress.child = current.child; // The dehydrated completion pass expects this flag to be there\n // but the normal suspense pass doesn't.\n\n workInProgress.flags |= DidCapture;\n return null;\n } else {\n // Suspended but we should no longer be in dehydrated mode.\n // Therefore we now have to render the fallback.\n var nextPrimaryChildren = nextProps.children;\n var nextFallbackChildren = nextProps.fallback;\n var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current, workInProgress, nextPrimaryChildren, nextFallbackChildren, renderLanes);\n var _primaryChildFragment4 = workInProgress.child;\n _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes);\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return fallbackChildFragment;\n }\n }\n}\n\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes = mergeLanes(fiber.lanes, renderLanes);\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.lanes = mergeLanes(alternate.lanes, renderLanes);\n }\n\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\n\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderLanes) {\n // Mark any Suspense boundaries with fallbacks as having work to do.\n // If they were previously forced into fallbacks, they may now be able\n // to unblock.\n var node = firstChild;\n\n while (node !== null) {\n if (node.tag === SuspenseComponent) {\n var state = node.memoizedState;\n\n if (state !== null) {\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n }\n } else if (node.tag === SuspenseListComponent) {\n // If the tail is hidden there might not be an Suspense boundaries\n // to schedule work on. In this case we have to schedule it on the\n // list itself.\n // We don't have to traverse to the children of the list since\n // the list will propagate the change when it rerenders.\n scheduleSuspenseWorkOnFiber(node, renderLanes, workInProgress);\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\n\nfunction findLastContentRow(firstChild) {\n // This is going to find the last row among these children that is already\n // showing content on the screen, as opposed to being in fallback state or\n // new. If a row has multiple Suspense boundaries, any of them being in the\n // fallback state, counts as the whole row being in a fallback state.\n // Note that the \"rows\" will be workInProgress, but any nested children\n // will still be current since we haven't rendered them yet. The mounted\n // order may not be the same as the new order. We use the new order.\n var row = firstChild;\n var lastContentRow = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n lastContentRow = row;\n }\n\n row = row.sibling;\n }\n\n return lastContentRow;\n}\n\nfunction validateRevealOrder(revealOrder) {\n {\n if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\n didWarnAboutRevealOrder[revealOrder] = true;\n\n if (typeof revealOrder === 'string') {\n switch (revealOrder.toLowerCase()) {\n case 'together':\n case 'forwards':\n case 'backwards':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \"%s\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n case 'forward':\n case 'backward':\n {\n error('\"%s\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \"%ss\" instead.', revealOrder, revealOrder.toLowerCase());\n\n break;\n }\n\n default:\n error('\"%s\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n\n break;\n }\n } else {\n error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \"together\", \"forwards\" or \"backwards\"?', revealOrder);\n }\n }\n }\n}\n\nfunction validateTailOptions(tailMode, revealOrder) {\n {\n if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\n if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('\"%s\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \"collapsed\" or \"hidden\"?', tailMode);\n } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\n didWarnAboutTailOptions[tailMode] = true;\n\n error('<SuspenseList tail=\"%s\" /> is only valid if revealOrder is ' + '\"forwards\" or \"backwards\". ' + 'Did you mean to specify revealOrder=\"forwards\"?', tailMode);\n }\n }\n }\n}\n\nfunction validateSuspenseListNestedChild(childSlot, index) {\n {\n var isAnArray = isArray(childSlot);\n var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === 'function';\n\n if (isAnArray || isIterable) {\n var type = isAnArray ? 'array' : 'iterable';\n\n error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\n\n return false;\n }\n }\n\n return true;\n}\n\nfunction validateSuspenseListChildren(children, revealOrder) {\n {\n if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n if (!validateSuspenseListNestedChild(children[i], i)) {\n return;\n }\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var childrenIterator = iteratorFn.call(children);\n\n if (childrenIterator) {\n var step = childrenIterator.next();\n var _i = 0;\n\n for (; !step.done; step = childrenIterator.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) {\n return;\n }\n\n _i++;\n }\n }\n } else {\n error('A single row was passed to a <SuspenseList revealOrder=\"%s\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\n }\n }\n }\n }\n}\n\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n };\n } else {\n // We can reuse the existing object from previous renders.\n renderState.isBackwards = isBackwards;\n renderState.rendering = null;\n renderState.renderingStartTime = 0;\n renderState.last = lastContentRow;\n renderState.tail = tail;\n renderState.tailMode = tailMode;\n }\n} // This can end up rendering this component multiple passes.\n// The first pass splits the children fibers into two sets. A head and tail.\n// We first render the head. If anything is in fallback state, we do another\n// pass through beginWork to rerender all children (including the tail) with\n// the force suspend context. If the first render didn't have anything in\n// in fallback state. Then we render each row in the tail one-by-one.\n// That happens in the completeWork phase without going back to beginWork.\n\n\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps;\n var revealOrder = nextProps.revealOrder;\n var tailMode = nextProps.tail;\n var newChildren = nextProps.children;\n validateRevealOrder(revealOrder);\n validateTailOptions(tailMode, revealOrder);\n validateSuspenseListChildren(newChildren, revealOrder);\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n var suspenseContext = suspenseStackCursor.current;\n var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\n\n if (shouldForceFallback) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n workInProgress.flags |= DidCapture;\n } else {\n var didSuspendBefore = current !== null && (current.flags & DidCapture) !== NoFlags;\n\n if (didSuspendBefore) {\n // If we previously forced a fallback, we need to schedule work\n // on any nested boundaries to let them know to try to render\n // again. This is the same as context updating.\n propagateSuspenseContextChange(workInProgress, workInProgress.child, renderLanes);\n }\n\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext);\n\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n // In legacy mode, SuspenseList doesn't work so we just\n // use make it a noop by treating it as the default revealOrder.\n workInProgress.memoizedState = null;\n } else {\n switch (revealOrder) {\n case 'forwards':\n {\n var lastContentRow = findLastContentRow(workInProgress.child);\n var tail;\n\n if (lastContentRow === null) {\n // The whole list is part of the tail.\n // TODO: We could fast path by just rendering the tail now.\n tail = workInProgress.child;\n workInProgress.child = null;\n } else {\n // Disconnect the tail rows after the content row.\n // We're going to render them separately later.\n tail = lastContentRow.sibling;\n lastContentRow.sibling = null;\n }\n\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n tail, lastContentRow, tailMode);\n break;\n }\n\n case 'backwards':\n {\n // We're going to find the first row that has existing content.\n // At the same time we're going to reverse the list of everything\n // we pass in the meantime. That's going to be our tail in reverse\n // order.\n var _tail = null;\n var row = workInProgress.child;\n workInProgress.child = null;\n\n while (row !== null) {\n var currentRow = row.alternate; // New rows can't be content rows.\n\n if (currentRow !== null && findFirstSuspended(currentRow) === null) {\n // This is the beginning of the main content.\n workInProgress.child = row;\n break;\n }\n\n var nextRow = row.sibling;\n row.sibling = _tail;\n _tail = row;\n row = nextRow;\n } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\n\n\n initSuspenseListRenderState(workInProgress, true, // isBackwards\n _tail, null, // last\n tailMode);\n break;\n }\n\n case 'together':\n {\n initSuspenseListRenderState(workInProgress, false, // isBackwards\n null, // tail\n null, // last\n undefined);\n break;\n }\n\n default:\n {\n // The default reveal order is the same as not having\n // a boundary.\n workInProgress.memoizedState = null;\n }\n }\n }\n\n return workInProgress.child;\n}\n\nfunction updatePortalComponent(current, workInProgress, renderLanes) {\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n var nextChildren = workInProgress.pendingProps;\n\n if (current === null) {\n // Portals are special because we don't append the children during mount\n // but at commit. Therefore we need to track insertions which the normal\n // flow doesn't do during mount. This doesn't happen at the root because\n // the root always starts with a \"current\" with a null child.\n // TODO: Consider unifying this with how the root works.\n workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes);\n } else {\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n }\n\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingNoValuePropOnContextProvider = false;\n\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var providerType = workInProgress.type;\n var context = providerType._context;\n var newProps = workInProgress.pendingProps;\n var oldProps = workInProgress.memoizedProps;\n var newValue = newProps.value;\n\n {\n if (!('value' in newProps)) {\n if (!hasWarnedAboutUsingNoValuePropOnContextProvider) {\n hasWarnedAboutUsingNoValuePropOnContextProvider = true;\n\n error('The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?');\n }\n }\n\n var providerPropTypes = workInProgress.type.propTypes;\n\n if (providerPropTypes) {\n checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider');\n }\n }\n\n pushProvider(workInProgress, context, newValue);\n\n {\n if (oldProps !== null) {\n var oldValue = oldProps.value;\n\n if (objectIs(oldValue, newValue)) {\n // No change. Bailout early if children are the same.\n if (oldProps.children === newProps.children && !hasContextChanged()) {\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n } else {\n // The context value changed. Search for matching consumers and schedule\n // them to update.\n propagateContextChange(workInProgress, context, renderLanes);\n }\n }\n }\n\n var newChildren = newProps.children;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nvar hasWarnedAboutUsingContextAsConsumer = false;\n\nfunction updateContextConsumer(current, workInProgress, renderLanes) {\n var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In\n // DEV mode, we create a separate object for Context.Consumer that acts\n // like a proxy to Context. This proxy object adds unnecessary code in PROD\n // so we use the old behaviour (Context.Consumer references Context) to\n // reduce size and overhead. The separate object references context via\n // a property called \"_context\", which also gives us the ability to check\n // in DEV mode if this property exists or not and warn if it does not.\n\n {\n if (context._context === undefined) {\n // This may be because it's a Context (rather than a Consumer).\n // Or it may be because it's older React where they're the same thing.\n // We only want to warn if we're sure it's a new React.\n if (context !== context.Consumer) {\n if (!hasWarnedAboutUsingContextAsConsumer) {\n hasWarnedAboutUsingContextAsConsumer = true;\n\n error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n }\n } else {\n context = context._context;\n }\n }\n\n var newProps = workInProgress.pendingProps;\n var render = newProps.children;\n\n {\n if (typeof render !== 'function') {\n error('A context consumer was rendered with multiple children, or a child ' + \"that isn't a function. A context consumer expects a single child \" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\n }\n }\n\n prepareToReadContext(workInProgress, renderLanes);\n var newValue = readContext(context);\n\n {\n markComponentRenderStarted(workInProgress);\n }\n\n var newChildren;\n\n {\n ReactCurrentOwner$1.current = workInProgress;\n setIsRendering(true);\n newChildren = render(newValue);\n setIsRendering(false);\n }\n\n {\n markComponentRenderStopped();\n } // React DevTools reads this flag.\n\n\n workInProgress.flags |= PerformedWork;\n reconcileChildren(current, workInProgress, newChildren, renderLanes);\n return workInProgress.child;\n}\n\nfunction markWorkInProgressReceivedUpdate() {\n didReceiveUpdate = true;\n}\n\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n if ((workInProgress.mode & ConcurrentMode) === NoMode) {\n if (current !== null) {\n // A lazy component only mounts if it suspended inside a non-\n // concurrent tree, in an inconsistent state. We want to treat it like\n // a new mount, even though an empty version of it already committed.\n // Disconnect the alternate pointers.\n current.alternate = null;\n workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\n\n workInProgress.flags |= Placement;\n }\n }\n}\n\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n if (current !== null) {\n // Reuse previous dependencies\n workInProgress.dependencies = current.dependencies;\n }\n\n {\n // Don't update \"base\" render times for bailouts.\n stopProfilerTimerIfRunning();\n }\n\n markSkippedUpdateLanes(workInProgress.lanes); // Check if the children have any pending work.\n\n if (!includesSomeLane(renderLanes, workInProgress.childLanes)) {\n // The children don't have any work either. We can skip them.\n // TODO: Once we add back resuming, we should check if the children are\n // a work-in-progress set. If so, we need to transfer their effects.\n {\n return null;\n }\n } // This fiber doesn't have work, but its subtree does. Clone the child\n // fibers and continue.\n\n\n cloneChildFibers(current, workInProgress);\n return workInProgress.child;\n}\n\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\n {\n var returnFiber = oldWorkInProgress.return;\n\n if (returnFiber === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Cannot swap the root fiber.');\n } // Disconnect from the old current.\n // It will get deleted.\n\n\n current.alternate = null;\n oldWorkInProgress.alternate = null; // Connect to the new tree.\n\n newWorkInProgress.index = oldWorkInProgress.index;\n newWorkInProgress.sibling = oldWorkInProgress.sibling;\n newWorkInProgress.return = oldWorkInProgress.return;\n newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.\n\n if (oldWorkInProgress === returnFiber.child) {\n returnFiber.child = newWorkInProgress;\n } else {\n var prevSibling = returnFiber.child;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected parent to have a child.');\n }\n\n while (prevSibling.sibling !== oldWorkInProgress) {\n prevSibling = prevSibling.sibling;\n\n if (prevSibling === null) {\n // eslint-disable-next-line react-internal/prod-error-codes\n throw new Error('Expected to find the previous sibling.');\n }\n }\n\n prevSibling.sibling = newWorkInProgress;\n } // Delete the old fiber and place the new one.\n // Since the old fiber is disconnected, we have to schedule it manually.\n\n\n var deletions = returnFiber.deletions;\n\n if (deletions === null) {\n returnFiber.deletions = [current];\n returnFiber.flags |= ChildDeletion;\n } else {\n deletions.push(current);\n }\n\n newWorkInProgress.flags |= Placement; // Restart work from the new fiber.\n\n return newWorkInProgress;\n }\n}\n\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n // Before performing an early bailout, we must check if there are pending\n // updates or context.\n var updateLanes = current.lanes;\n\n if (includesSomeLane(updateLanes, renderLanes)) {\n return true;\n } // No pending update, but because context is propagated lazily, we need\n\n return false;\n}\n\nfunction attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes) {\n // This fiber does not have any pending work. Bailout without entering\n // the begin phase. There's still some bookkeeping we that needs to be done\n // in this optimized path, mostly pushing stuff onto the stack.\n switch (workInProgress.tag) {\n case HostRoot:\n pushHostRootContext(workInProgress);\n var root = workInProgress.stateNode;\n\n resetHydrationState();\n break;\n\n case HostComponent:\n pushHostContext(workInProgress);\n break;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n pushContextProvider(workInProgress);\n }\n\n break;\n }\n\n case HostPortal:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n\n case ContextProvider:\n {\n var newValue = workInProgress.memoizedProps.value;\n var context = workInProgress.type._context;\n pushProvider(workInProgress, context, newValue);\n break;\n }\n\n case Profiler:\n {\n // Profiler should only call onRender when one of its descendants actually rendered.\n var hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (hasChildWork) {\n workInProgress.flags |= Update;\n }\n\n {\n // Reset effect durations for the next eventual effect phase.\n // These are reset during render to allow the DevTools commit hook a chance to read them,\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n }\n\n break;\n\n case SuspenseComponent:\n {\n var state = workInProgress.memoizedState;\n\n if (state !== null) {\n if (state.dehydrated !== null) {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // We know that this component will suspend again because if it has\n // been unsuspended it has committed as a resolved Suspense component.\n // If it needs to be retried, it should have work scheduled on it.\n\n workInProgress.flags |= DidCapture; // We should never render the children of a dehydrated boundary until we\n // upgrade it. We return null instead of bailoutOnAlreadyFinishedWork.\n\n return null;\n } // If this boundary is currently timed out, we need to decide\n // whether to retry the primary children, or to skip over it and\n // go straight to the fallback. Check the priority of the primary\n // child fragment.\n\n\n var primaryChildFragment = workInProgress.child;\n var primaryChildLanes = primaryChildFragment.childLanes;\n\n if (includesSomeLane(renderLanes, primaryChildLanes)) {\n // The primary children have pending work. Use the normal path\n // to attempt to render the primary children again.\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n } else {\n // The primary child fragment does not have pending work marked\n // on it\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient\n // priority. Bailout.\n\n var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n\n if (child !== null) {\n // The fallback children have pending work. Skip over the\n // primary children and work on the fallback.\n return child.sibling;\n } else {\n // Note: We can return `null` here because we already checked\n // whether there were nested context consumers, via the call to\n // `bailoutOnAlreadyFinishedWork` above.\n return null;\n }\n }\n } else {\n pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));\n }\n\n break;\n }\n\n case SuspenseListComponent:\n {\n var didSuspendBefore = (current.flags & DidCapture) !== NoFlags;\n\n var _hasChildWork = includesSomeLane(renderLanes, workInProgress.childLanes);\n\n if (didSuspendBefore) {\n if (_hasChildWork) {\n // If something was in fallback state last time, and we have all the\n // same children then we're still in progressive loading state.\n // Something might get unblocked by state updates or retries in the\n // tree which will affect the tail. So we need to use the normal\n // path to compute the correct tail.\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n } // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n\n\n workInProgress.flags |= DidCapture;\n } // If nothing suspended before and we're rendering the same children,\n // then the tail doesn't matter. Anything new that suspends will work\n // in the \"together\" mode, so we can continue from the state we had.\n\n\n var renderState = workInProgress.memoizedState;\n\n if (renderState !== null) {\n // Reset to the \"together\" mode in case we've started a different\n // update in the past but didn't complete it.\n renderState.rendering = null;\n renderState.tail = null;\n renderState.lastEffect = null;\n }\n\n pushSuspenseContext(workInProgress, suspenseStackCursor.current);\n\n if (_hasChildWork) {\n break;\n } else {\n // If none of the children had any work, that means that none of\n // them got retried so they'll still be blocked in the same way\n // as before. We can fast bail out.\n return null;\n }\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n // Need to check if the tree still needs to be deferred. This is\n // almost identical to the logic used in the normal update path,\n // so we'll just enter that. The only difference is we'll bail out\n // at the next level instead of this one, because the child props\n // have not changed. Which is fine.\n // TODO: Probably should refactor `beginWork` to split the bailout\n // path from the normal path. I'm tempted to do a labeled break here\n // but I won't :)\n workInProgress.lanes = NoLanes;\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\n\nfunction beginWork(current, workInProgress, renderLanes) {\n {\n if (workInProgress._debugNeedsRemount && current !== null) {\n // This will restart the begin phase with a new fiber.\n return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.lanes));\n }\n }\n\n if (current !== null) {\n var oldProps = current.memoizedProps;\n var newProps = workInProgress.pendingProps;\n\n if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\n workInProgress.type !== current.type )) {\n // If props or context changed, mark the fiber as having performed work.\n // This may be unset if the props are determined to be equal later (memo).\n didReceiveUpdate = true;\n } else {\n // Neither props nor legacy context changes. Check if there's a pending\n // update or context change.\n var hasScheduledUpdateOrContext = checkScheduledUpdateOrContext(current, renderLanes);\n\n if (!hasScheduledUpdateOrContext && // If this is the second pass of an error or suspense boundary, there\n // may not be work scheduled on `current`, so we check for this flag.\n (workInProgress.flags & DidCapture) === NoFlags) {\n // No pending updates or context. Bail out now.\n didReceiveUpdate = false;\n return attemptEarlyBailoutIfNoScheduledUpdate(current, workInProgress, renderLanes);\n }\n\n if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {\n // This is a special case that only exists for legacy mode.\n // See https://github.com/facebook/react/pull/19216.\n didReceiveUpdate = true;\n } else {\n // An update was scheduled on this fiber, but there are no new props\n // nor legacy context. Set this to false. If an update queue or context\n // consumer produces a changed value, it will set this to true. Otherwise,\n // the component will assume the children have not changed and bail out.\n didReceiveUpdate = false;\n }\n }\n } else {\n didReceiveUpdate = false;\n\n if (getIsHydrating() && isForkedChild(workInProgress)) {\n // Check if this child belongs to a list of muliple children in\n // its parent.\n //\n // In a true multi-threaded implementation, we would render children on\n // parallel threads. This would represent the beginning of a new render\n // thread for this subtree.\n //\n // We only use this for id generation during hydration, which is why the\n // logic is located in this special branch.\n var slotIndex = workInProgress.index;\n var numberOfForks = getForksAtLevel();\n pushTreeId(workInProgress, numberOfForks, slotIndex);\n }\n } // Before entering the begin phase, clear pending update priority.\n // TODO: This assumes that we're about to evaluate the component and process\n // the update queue. However, there's an exception: SimpleMemoComponent\n // sometimes bails out later in the begin phase. This indicates that we should\n // move this assignment out of the common path and into each branch.\n\n\n workInProgress.lanes = NoLanes;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n {\n return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderLanes);\n }\n\n case LazyComponent:\n {\n var elementType = workInProgress.elementType;\n return mountLazyComponent(current, workInProgress, elementType, renderLanes);\n }\n\n case FunctionComponent:\n {\n var Component = workInProgress.type;\n var unresolvedProps = workInProgress.pendingProps;\n var resolvedProps = workInProgress.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps);\n return updateFunctionComponent(current, workInProgress, Component, resolvedProps, renderLanes);\n }\n\n case ClassComponent:\n {\n var _Component = workInProgress.type;\n var _unresolvedProps = workInProgress.pendingProps;\n\n var _resolvedProps = workInProgress.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps);\n\n return updateClassComponent(current, workInProgress, _Component, _resolvedProps, renderLanes);\n }\n\n case HostRoot:\n return updateHostRoot(current, workInProgress, renderLanes);\n\n case HostComponent:\n return updateHostComponent(current, workInProgress, renderLanes);\n\n case HostText:\n return updateHostText(current, workInProgress);\n\n case SuspenseComponent:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n\n case HostPortal:\n return updatePortalComponent(current, workInProgress, renderLanes);\n\n case ForwardRef:\n {\n var type = workInProgress.type;\n var _unresolvedProps2 = workInProgress.pendingProps;\n\n var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\n\n return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderLanes);\n }\n\n case Fragment:\n return updateFragment(current, workInProgress, renderLanes);\n\n case Mode:\n return updateMode(current, workInProgress, renderLanes);\n\n case Profiler:\n return updateProfiler(current, workInProgress, renderLanes);\n\n case ContextProvider:\n return updateContextProvider(current, workInProgress, renderLanes);\n\n case ContextConsumer:\n return updateContextConsumer(current, workInProgress, renderLanes);\n\n case MemoComponent:\n {\n var _type2 = workInProgress.type;\n var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\n\n var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);\n\n {\n if (workInProgress.type !== workInProgress.elementType) {\n var outerPropTypes = _type2.propTypes;\n\n if (outerPropTypes) {\n checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only\n 'prop', getComponentNameFromType(_type2));\n }\n }\n }\n\n _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);\n return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, renderLanes);\n }\n\n case SimpleMemoComponent:\n {\n return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, renderLanes);\n }\n\n case IncompleteClassComponent:\n {\n var _Component2 = workInProgress.type;\n var _unresolvedProps4 = workInProgress.pendingProps;\n\n var _resolvedProps4 = workInProgress.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4);\n\n return mountIncompleteClassComponent(current, workInProgress, _Component2, _resolvedProps4, renderLanes);\n }\n\n case SuspenseListComponent:\n {\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n {\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction markUpdate(workInProgress) {\n // Tag the fiber with an update effect. This turns a Placement into\n // a PlacementAndUpdate.\n workInProgress.flags |= Update;\n}\n\nfunction markRef$1(workInProgress) {\n workInProgress.flags |= Ref;\n\n {\n workInProgress.flags |= RefStatic;\n }\n}\n\nvar appendAllChildren;\nvar updateHostContainer;\nvar updateHostComponent$1;\nvar updateHostText$1;\n\n{\n // Mutation mode\n appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {\n // We only have the top Fiber that was created but we need recurse down its\n // children to find all the terminal nodes.\n var node = workInProgress.child;\n\n while (node !== null) {\n if (node.tag === HostComponent || node.tag === HostText) {\n appendInitialChild(parent, node.stateNode);\n } else if (node.tag === HostPortal) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === workInProgress) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === workInProgress) {\n return;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n };\n\n updateHostContainer = function (current, workInProgress) {// Noop\n };\n\n updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {\n // If we have an alternate, that means this is an update and we need to\n // schedule a side-effect to do the updates.\n var oldProps = current.memoizedProps;\n\n if (oldProps === newProps) {\n // In mutation mode, this is sufficient for a bailout because\n // we won't touch this node even if children changed.\n return;\n } // If we get updated because one of our children updated, we don't\n // have newProps so we'll have to reuse them.\n // TODO: Split the update API as separate for the props vs. children.\n // Even better would be if children weren't special cased at all tho.\n\n\n var instance = workInProgress.stateNode;\n var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host\n // component is hitting the resume path. Figure out why. Possibly\n // related to `hidden`.\n\n var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.\n\n workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\n // is a new ref we mark this as an update. All the work is done in commitWork.\n\n if (updatePayload) {\n markUpdate(workInProgress);\n }\n };\n\n updateHostText$1 = function (current, workInProgress, oldText, newText) {\n // If the text differs, mark it as an update. All the work in done in commitWork.\n if (oldText !== newText) {\n markUpdate(workInProgress);\n }\n };\n}\n\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (getIsHydrating()) {\n // If we're hydrating, we should consume as many items as we can\n // so we don't leave any behind.\n return;\n }\n\n switch (renderState.tailMode) {\n case 'hidden':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var tailNode = renderState.tail;\n var lastTailNode = null;\n\n while (tailNode !== null) {\n if (tailNode.alternate !== null) {\n lastTailNode = tailNode;\n }\n\n tailNode = tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (lastTailNode === null) {\n // All remaining items in the tail are insertions.\n renderState.tail = null;\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n lastTailNode.sibling = null;\n }\n\n break;\n }\n\n case 'collapsed':\n {\n // Any insertions at the end of the tail list after this point\n // should be invisible. If there are already mounted boundaries\n // anything before them are not considered for collapsing.\n // Therefore we need to go through the whole tail to find if\n // there are any.\n var _tailNode = renderState.tail;\n var _lastTailNode = null;\n\n while (_tailNode !== null) {\n if (_tailNode.alternate !== null) {\n _lastTailNode = _tailNode;\n }\n\n _tailNode = _tailNode.sibling;\n } // Next we're simply going to delete all insertions after the\n // last rendered item.\n\n\n if (_lastTailNode === null) {\n // All remaining items in the tail are insertions.\n if (!hasRenderedATailFallback && renderState.tail !== null) {\n // We suspended during the head. We want to show at least one\n // row at the tail. So we'll keep on and cut off the rest.\n renderState.tail.sibling = null;\n } else {\n renderState.tail = null;\n }\n } else {\n // Detach the insertion after the last node that was already\n // inserted.\n _lastTailNode.sibling = null;\n }\n\n break;\n }\n }\n}\n\nfunction bubbleProperties(completedWork) {\n var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child;\n var newChildLanes = NoLanes;\n var subtreeFlags = NoFlags;\n\n if (!didBailout) {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var actualDuration = completedWork.actualDuration;\n var treeBaseDuration = completedWork.selfBaseDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes));\n subtreeFlags |= child.subtreeFlags;\n subtreeFlags |= child.flags; // When a fiber is cloned, its actualDuration is reset to 0. This value will\n // only be updated if work is done on the fiber (i.e. it doesn't bailout).\n // When work is done, it should bubble to the parent's actualDuration. If\n // the fiber has not been cloned though, (meaning no work was done), then\n // this value will reflect the amount of time spent working on a previous\n // render. In that case it should not bubble. We determine whether it was\n // cloned by comparing the child pointer.\n\n actualDuration += child.actualDuration;\n treeBaseDuration += child.treeBaseDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n completedWork.treeBaseDuration = treeBaseDuration;\n } else {\n var _child = completedWork.child;\n\n while (_child !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes));\n subtreeFlags |= _child.subtreeFlags;\n subtreeFlags |= _child.flags; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child.return = completedWork;\n _child = _child.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n } else {\n // Bubble up the earliest expiration time.\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // In profiling mode, resetChildExpirationTime is also used to reset\n // profiler durations.\n var _treeBaseDuration = completedWork.selfBaseDuration;\n var _child2 = completedWork.child;\n\n while (_child2 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child2.subtreeFlags & StaticMask;\n subtreeFlags |= _child2.flags & StaticMask;\n _treeBaseDuration += _child2.treeBaseDuration;\n _child2 = _child2.sibling;\n }\n\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else {\n var _child3 = completedWork.child;\n\n while (_child3 !== null) {\n newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); // \"Static\" flags share the lifetime of the fiber/hook they belong to,\n // so we should bubble those up even during a bailout. All the other\n // flags have a lifetime only of a single render + commit, so we should\n // ignore them.\n\n subtreeFlags |= _child3.subtreeFlags & StaticMask;\n subtreeFlags |= _child3.flags & StaticMask; // Update the return pointer so the tree is consistent. This is a code\n // smell because it assumes the commit phase is never concurrent with\n // the render phase. Will address during refactor to alternate model.\n\n _child3.return = completedWork;\n _child3 = _child3.sibling;\n }\n }\n\n completedWork.subtreeFlags |= subtreeFlags;\n }\n\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\n\nfunction completeDehydratedSuspenseBoundary(current, workInProgress, nextState) {\n if (hasUnhydratedTailNodes() && (workInProgress.mode & ConcurrentMode) !== NoMode && (workInProgress.flags & DidCapture) === NoFlags) {\n warnIfUnhydratedTailNodes(workInProgress);\n resetHydrationState();\n workInProgress.flags |= ForceClientRender | Incomplete | ShouldCapture;\n return false;\n }\n\n var wasHydrated = popHydrationState(workInProgress);\n\n if (nextState !== null && nextState.dehydrated !== null) {\n // We might be inside a hydration state the first time we're picking up this\n // Suspense boundary, and also after we've reentered it for further hydration.\n if (current === null) {\n if (!wasHydrated) {\n throw new Error('A dehydrated suspense component was completed without a hydrated node. ' + 'This is probably a bug in React.');\n }\n\n prepareToHydrateHostSuspenseInstance(workInProgress);\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var isTimedOutSuspense = nextState !== null;\n\n if (isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n } else {\n // We might have reentered this boundary to hydrate it. If so, we need to reset the hydration\n // state since we're now exiting out of it. popHydrationState doesn't do that for us.\n resetHydrationState();\n\n if ((workInProgress.flags & DidCapture) === NoFlags) {\n // This boundary did not suspend so it's now hydrated and unsuspended.\n workInProgress.memoizedState = null;\n } // If nothing suspended, we need to schedule an effect to mark this boundary\n // as having hydrated so events know that they're free to be invoked.\n // It's also a signal to replay events and the suspense callback.\n // If something suspended, schedule an effect to attach retry listeners.\n // So we might as well always mark this.\n\n\n workInProgress.flags |= Update;\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n var _isTimedOutSuspense = nextState !== null;\n\n if (_isTimedOutSuspense) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var _primaryChildFragment = workInProgress.child;\n\n if (_primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= _primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return false;\n }\n } else {\n // Successfully completed this tree. If this was a forced client render,\n // there may have been recoverable errors during first hydration\n // attempt. If so, add them to a queue so we can log them in the\n // commit phase.\n upgradeHydrationErrorsToRecoverable(); // Fall through to normal Suspense path\n\n return true;\n }\n}\n\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps; // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case LazyComponent:\n case SimpleMemoComponent:\n case FunctionComponent:\n case ForwardRef:\n case Fragment:\n case Mode:\n case Profiler:\n case ContextConsumer:\n case MemoComponent:\n bubbleProperties(workInProgress);\n return null;\n\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostRoot:\n {\n var fiberRoot = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n\n if (fiberRoot.pendingContext) {\n fiberRoot.context = fiberRoot.pendingContext;\n fiberRoot.pendingContext = null;\n }\n\n if (current === null || current.child === null) {\n // If we hydrated, pop so that we can delete any remaining children\n // that weren't hydrated.\n var wasHydrated = popHydrationState(workInProgress);\n\n if (wasHydrated) {\n // If we hydrated, then we'll need to schedule an update for\n // the commit side-effects on the root.\n markUpdate(workInProgress);\n } else {\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if ( // Check if this is a client root\n !prevState.isDehydrated || // Check if we reverted to client rendering (e.g. due to an error)\n (workInProgress.flags & ForceClientRender) !== NoFlags) {\n // Schedule an effect to clear this container at the start of the\n // next commit. This handles the case of React rendering into a\n // container with previous children. It's also safe to do for\n // updates too, because current.child would only be null if the\n // previous render was null (so the container would already\n // be empty).\n workInProgress.flags |= Snapshot; // If this was a forced client render, there may have been\n // recoverable errors during first hydration attempt. If so, add\n // them to a queue so we can log them in the commit phase.\n\n upgradeHydrationErrorsToRecoverable();\n }\n }\n }\n }\n\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n\n return null;\n }\n\n case HostComponent:\n {\n popHostContext(workInProgress);\n var rootContainerInstance = getRootHostContainer();\n var type = workInProgress.type;\n\n if (current !== null && workInProgress.stateNode != null) {\n updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);\n\n if (current.ref !== workInProgress.ref) {\n markRef$1(workInProgress);\n }\n } else {\n if (!newProps) {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\n // \"stack\" as the parent. Then append children as we go in beginWork\n // or completeWork depending on whether we want to add them top->down or\n // bottom->up. Top->down is faster in IE11.\n\n var _wasHydrated = popHydrationState(workInProgress);\n\n if (_wasHydrated) {\n // TODO: Move this and createInstance step into the beginPhase\n // to consolidate.\n if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {\n // If changes to the hydrated node need to be applied at the\n // commit-phase we mark this as such.\n markUpdate(workInProgress);\n }\n } else {\n var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);\n appendAllChildren(instance, workInProgress, false, false);\n workInProgress.stateNode = instance; // Certain renderers require commit-time effects for initial mount.\n // (eg DOM renderer supports auto-focus for certain elements).\n // Make sure such renderers get scheduled for later work.\n\n if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {\n markUpdate(workInProgress);\n }\n }\n\n if (workInProgress.ref !== null) {\n // If there is a ref on a host node we need to schedule a callback\n markRef$1(workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case HostText:\n {\n var newText = newProps;\n\n if (current && workInProgress.stateNode != null) {\n var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\n // to schedule a side-effect to do the updates.\n\n updateHostText$1(current, workInProgress, oldText, newText);\n } else {\n if (typeof newText !== 'string') {\n if (workInProgress.stateNode === null) {\n throw new Error('We must have new props for new mounts. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n } // This can happen when we abort work.\n\n }\n\n var _rootContainerInstance = getRootHostContainer();\n\n var _currentHostContext = getHostContext();\n\n var _wasHydrated2 = popHydrationState(workInProgress);\n\n if (_wasHydrated2) {\n if (prepareToHydrateHostTextInstance(workInProgress)) {\n markUpdate(workInProgress);\n }\n } else {\n workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);\n }\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var nextState = workInProgress.memoizedState; // Special path for dehydrated boundaries. We may eventually move this\n // to its own fiber type so that we can add other kinds of hydration\n // boundaries that aren't associated with a Suspense tree. In anticipation\n // of such a refactor, all the hydration logic is contained in\n // this branch.\n\n if (current === null || current.memoizedState !== null && current.memoizedState.dehydrated !== null) {\n var fallthroughToNormalSuspensePath = completeDehydratedSuspenseBoundary(current, workInProgress, nextState);\n\n if (!fallthroughToNormalSuspensePath) {\n if (workInProgress.flags & ShouldCapture) {\n // Special case. There were remaining unhydrated nodes. We treat\n // this as a mismatch. Revert to client rendering.\n return workInProgress;\n } else {\n // Did not finish hydrating, either because this is the initial\n // render or because something suspended.\n return null;\n }\n } // Continue with the normal Suspense path.\n\n }\n\n if ((workInProgress.flags & DidCapture) !== NoFlags) {\n // Something suspended. Re-render with the fallback children.\n workInProgress.lanes = renderLanes; // Do not reset the effect list.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n } // Don't bubble properties in this case.\n\n\n return workInProgress;\n }\n\n var nextDidTimeout = nextState !== null;\n var prevDidTimeout = current !== null && current.memoizedState !== null;\n // a passive effect, which is when we process the transitions\n\n\n if (nextDidTimeout !== prevDidTimeout) {\n // an effect to toggle the subtree's visibility. When we switch from\n // fallback -> primary, the inner Offscreen fiber schedules this effect\n // as part of its normal complete phase. But when we switch from\n // primary -> fallback, the inner Offscreen fiber does not have a complete\n // phase. So we need to schedule its effect here.\n //\n // We also use this flag to connect/disconnect the effects, but the same\n // logic applies: when re-connecting, the Offscreen fiber's complete\n // phase will handle scheduling the effect. It's only when the fallback\n // is active that we have to do anything special.\n\n\n if (nextDidTimeout) {\n var _offscreenFiber2 = workInProgress.child;\n _offscreenFiber2.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything\n // in the concurrent tree already suspended during this render.\n // This is a known bug.\n\n if ((workInProgress.mode & ConcurrentMode) !== NoMode) {\n // TODO: Move this back to throwException because this is too late\n // if this is a large tree which is common for initial loads. We\n // don't know if we should restart a render or not until we get\n // this marker, and this is too late.\n // If this render already had a ping or lower pri updates,\n // and this is the first time we know we're going to suspend we\n // should be able to immediately restart from within throwException.\n var hasInvisibleChildContext = current === null && (workInProgress.memoizedProps.unstable_avoidThisFallback !== true || !enableSuspenseAvoidThisFallback);\n\n if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {\n // If this was in an invisible tree or a new render, then showing\n // this boundary is ok.\n renderDidSuspend();\n } else {\n // Otherwise, we're going to have to hide content so we should\n // suspend for longer if possible.\n renderDidSuspendDelayIfPossible();\n }\n }\n }\n }\n\n var wakeables = workInProgress.updateQueue;\n\n if (wakeables !== null) {\n // Schedule an effect to attach a retry listener to the promise.\n // TODO: Move to passive phase\n workInProgress.flags |= Update;\n }\n\n bubbleProperties(workInProgress);\n\n {\n if ((workInProgress.mode & ProfileMode) !== NoMode) {\n if (nextDidTimeout) {\n // Don't count time spent in a timed out Suspense subtree as part of the base duration.\n var primaryChildFragment = workInProgress.child;\n\n if (primaryChildFragment !== null) {\n // $FlowFixMe Flow doesn't support type casting in combination with the -= operator\n workInProgress.treeBaseDuration -= primaryChildFragment.treeBaseDuration;\n }\n }\n }\n }\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n updateHostContainer(current, workInProgress);\n\n if (current === null) {\n preparePortalMount(workInProgress.stateNode.containerInfo);\n }\n\n bubbleProperties(workInProgress);\n return null;\n\n case ContextProvider:\n // Pop provider fiber\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n\n case IncompleteClassComponent:\n {\n // Same as class component case. I put it down here so that the tags are\n // sequential to ensure this switch is compiled to a jump table.\n var _Component = workInProgress.type;\n\n if (isContextProvider(_Component)) {\n popContext(workInProgress);\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress);\n var renderState = workInProgress.memoizedState;\n\n if (renderState === null) {\n // We're running in the default, \"independent\" mode.\n // We don't do anything in this mode.\n bubbleProperties(workInProgress);\n return null;\n }\n\n var didSuspendAlready = (workInProgress.flags & DidCapture) !== NoFlags;\n var renderedTail = renderState.rendering;\n\n if (renderedTail === null) {\n // We just rendered the head.\n if (!didSuspendAlready) {\n // This is the first pass. We need to figure out if anything is still\n // suspended in the rendered set.\n // If new content unsuspended, but there's still some content that\n // didn't. Then we need to do a second pass that forces everything\n // to keep showing their fallbacks.\n // We might be suspended if something in this render pass suspended, or\n // something in the previous committed pass suspended. Otherwise,\n // there's no chance so we can skip the expensive call to\n // findFirstSuspended.\n var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.flags & DidCapture) === NoFlags);\n\n if (!cannotBeSuspended) {\n var row = workInProgress.child;\n\n while (row !== null) {\n var suspended = findFirstSuspended(row);\n\n if (suspended !== null) {\n didSuspendAlready = true;\n workInProgress.flags |= DidCapture;\n cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\n // part of the second pass. In that case nothing will subscribe to\n // its thenables. Instead, we'll transfer its thenables to the\n // SuspenseList so that it can retry if they resolve.\n // There might be multiple of these in the list but since we're\n // going to wait for all of them anyway, it doesn't really matter\n // which ones gets to ping. In theory we could get clever and keep\n // track of how many dependencies remain but it gets tricky because\n // in the meantime, we can add/remove/change items and dependencies.\n // We might bail out of the loop before finding any but that\n // doesn't matter since that means that the other boundaries that\n // we did find already has their listeners attached.\n\n var newThenables = suspended.updateQueue;\n\n if (newThenables !== null) {\n workInProgress.updateQueue = newThenables;\n workInProgress.flags |= Update;\n } // Rerender the whole list, but this time, we'll force fallbacks\n // to stay in place.\n // Reset the effect flags before doing the second pass since that's now invalid.\n // Reset the child fibers to their original state.\n\n\n workInProgress.subtreeFlags = NoFlags;\n resetChildFibers(workInProgress, renderLanes); // Set up the Suspense Context to force suspense and immediately\n // rerender the children.\n\n pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); // Don't bubble properties in this case.\n\n return workInProgress.child;\n }\n\n row = row.sibling;\n }\n }\n\n if (renderState.tail !== null && now() > getRenderTargetTime()) {\n // We have already passed our CPU deadline but we still have rows\n // left in the tail. We'll just give up further attempts to render\n // the main content and only render fallbacks.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n } else {\n cutOffTailIfNeeded(renderState, false);\n } // Next we're going to render the tail.\n\n } else {\n // Append the rendered row to the child list.\n if (!didSuspendAlready) {\n var _suspended = findFirstSuspended(renderedTail);\n\n if (_suspended !== null) {\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\n // get lost if this row ends up dropped during a second pass.\n\n var _newThenables = _suspended.updateQueue;\n\n if (_newThenables !== null) {\n workInProgress.updateQueue = _newThenables;\n workInProgress.flags |= Update;\n }\n\n cutOffTailIfNeeded(renderState, true); // This might have been modified.\n\n if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate && !getIsHydrating() // We don't cut it if we're hydrating.\n ) {\n // We're done.\n bubbleProperties(workInProgress);\n return null;\n }\n } else if ( // The time it took to render last row is greater than the remaining\n // time we have to render. So rendering one more row would likely\n // exceed it.\n now() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes !== OffscreenLane) {\n // We have now passed our CPU deadline and we'll just give up further\n // attempts to render the main content and only render fallbacks.\n // The assumption is that this is usually faster.\n workInProgress.flags |= DidCapture;\n didSuspendAlready = true;\n cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\n // to get it started back up to attempt the next item. While in terms\n // of priority this work has the same priority as this current render,\n // it's not part of the same transition once the transition has\n // committed. If it's sync, we still want to yield so that it can be\n // painted. Conceptually, this is really the same as pinging.\n // We can use any RetryLane even if it's the one currently rendering\n // since we're leaving it behind on this node.\n\n workInProgress.lanes = SomeRetryLane;\n }\n }\n\n if (renderState.isBackwards) {\n // The effect list of the backwards tail will have been added\n // to the end. This breaks the guarantee that life-cycles fire in\n // sibling order but that isn't a strong guarantee promised by React.\n // Especially since these might also just pop in during future commits.\n // Append to the beginning of the list.\n renderedTail.sibling = workInProgress.child;\n workInProgress.child = renderedTail;\n } else {\n var previousSibling = renderState.last;\n\n if (previousSibling !== null) {\n previousSibling.sibling = renderedTail;\n } else {\n workInProgress.child = renderedTail;\n }\n\n renderState.last = renderedTail;\n }\n }\n\n if (renderState.tail !== null) {\n // We still have tail rows to render.\n // Pop a row.\n var next = renderState.tail;\n renderState.rendering = next;\n renderState.tail = next.sibling;\n renderState.renderingStartTime = now();\n next.sibling = null; // Restore the context.\n // TODO: We can probably just avoid popping it instead and only\n // setting it the first time we go from not suspended to suspended.\n\n var suspenseContext = suspenseStackCursor.current;\n\n if (didSuspendAlready) {\n suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\n } else {\n suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\n }\n\n pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.\n // Don't bubble properties in this case.\n\n return next;\n }\n\n bubbleProperties(workInProgress);\n return null;\n }\n\n case ScopeComponent:\n {\n\n break;\n }\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n {\n popRenderLanes(workInProgress);\n var _nextState = workInProgress.memoizedState;\n var nextIsHidden = _nextState !== null;\n\n if (current !== null) {\n var _prevState = current.memoizedState;\n var prevIsHidden = _prevState !== null;\n\n if (prevIsHidden !== nextIsHidden && ( // LegacyHidden doesn't do any hiding — it only pre-renders.\n !enableLegacyHidden )) {\n workInProgress.flags |= Visibility;\n }\n }\n\n if (!nextIsHidden || (workInProgress.mode & ConcurrentMode) === NoMode) {\n bubbleProperties(workInProgress);\n } else {\n // Don't bubble properties for hidden children unless we're rendering\n // at offscreen priority.\n if (includesSomeLane(subtreeRenderLanes, OffscreenLane)) {\n bubbleProperties(workInProgress);\n\n {\n // Check if there was an insertion or update in the hidden subtree.\n // If so, we need to hide those nodes in the commit phase, so\n // schedule a visibility effect.\n if ( workInProgress.subtreeFlags & (Placement | Update)) {\n workInProgress.flags |= Visibility;\n }\n }\n }\n }\n return null;\n }\n\n case CacheComponent:\n {\n\n return null;\n }\n\n case TracingMarkerComponent:\n {\n\n return null;\n }\n }\n\n throw new Error(\"Unknown unit of work tag (\" + workInProgress.tag + \"). This error is likely caused by a bug in \" + 'React. Please file an issue.');\n}\n\nfunction unwindWork(current, workInProgress, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(workInProgress);\n\n switch (workInProgress.tag) {\n case ClassComponent:\n {\n var Component = workInProgress.type;\n\n if (isContextProvider(Component)) {\n popContext(workInProgress);\n }\n\n var flags = workInProgress.flags;\n\n if (flags & ShouldCapture) {\n workInProgress.flags = flags & ~ShouldCapture | DidCapture;\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case HostRoot:\n {\n var root = workInProgress.stateNode;\n popHostContainer(workInProgress);\n popTopLevelContextObject(workInProgress);\n resetWorkInProgressVersions();\n var _flags = workInProgress.flags;\n\n if ((_flags & ShouldCapture) !== NoFlags && (_flags & DidCapture) === NoFlags) {\n // There was an error during render that wasn't captured by a suspense\n // boundary. Do a second pass on the root to unmount the children.\n workInProgress.flags = _flags & ~ShouldCapture | DidCapture;\n return workInProgress;\n } // We unwound to the root without completing it. Exit.\n\n\n return null;\n }\n\n case HostComponent:\n {\n // TODO: popHydrationState\n popHostContext(workInProgress);\n return null;\n }\n\n case SuspenseComponent:\n {\n popSuspenseContext(workInProgress);\n var suspenseState = workInProgress.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n if (workInProgress.alternate === null) {\n throw new Error('Threw in newly mounted dehydrated component. This is likely a bug in ' + 'React. Please file an issue.');\n }\n\n resetHydrationState();\n }\n\n var _flags2 = workInProgress.flags;\n\n if (_flags2 & ShouldCapture) {\n workInProgress.flags = _flags2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\n\n if ( (workInProgress.mode & ProfileMode) !== NoMode) {\n transferActualDuration(workInProgress);\n }\n\n return workInProgress;\n }\n\n return null;\n }\n\n case SuspenseListComponent:\n {\n popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\n // caught by a nested boundary. If not, it should bubble through.\n\n return null;\n }\n\n case HostPortal:\n popHostContainer(workInProgress);\n return null;\n\n case ContextProvider:\n var context = workInProgress.type._context;\n popProvider(context, workInProgress);\n return null;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(workInProgress);\n return null;\n\n case CacheComponent:\n\n return null;\n\n default:\n return null;\n }\n}\n\nfunction unwindInterruptedWork(current, interruptedWork, renderLanes) {\n // Note: This intentionally doesn't check if we're hydrating because comparing\n // to the current tree provider fiber is just as fast and less error-prone.\n // Ideally we would have a special version of the work loop only\n // for hydration.\n popTreeContext(interruptedWork);\n\n switch (interruptedWork.tag) {\n case ClassComponent:\n {\n var childContextTypes = interruptedWork.type.childContextTypes;\n\n if (childContextTypes !== null && childContextTypes !== undefined) {\n popContext(interruptedWork);\n }\n\n break;\n }\n\n case HostRoot:\n {\n var root = interruptedWork.stateNode;\n popHostContainer(interruptedWork);\n popTopLevelContextObject(interruptedWork);\n resetWorkInProgressVersions();\n break;\n }\n\n case HostComponent:\n {\n popHostContext(interruptedWork);\n break;\n }\n\n case HostPortal:\n popHostContainer(interruptedWork);\n break;\n\n case SuspenseComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case SuspenseListComponent:\n popSuspenseContext(interruptedWork);\n break;\n\n case ContextProvider:\n var context = interruptedWork.type._context;\n popProvider(context, interruptedWork);\n break;\n\n case OffscreenComponent:\n case LegacyHiddenComponent:\n popRenderLanes(interruptedWork);\n break;\n }\n}\n\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n\n{\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n} // Used during the commit phase to track the state of the Offscreen component stack.\n// Allows us to avoid traversing the return path to find the nearest Offscreen ancestor.\n// Only used when enableSuspenseLayoutEffectSemantics is enabled.\n\n\nvar offscreenSubtreeIsHidden = false;\nvar offscreenSubtreeWasHidden = false;\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\nvar nextEffect = null; // Used for Profiling builds to track updaters.\n\nvar inProgressLanes = null;\nvar inProgressRoot = null;\nfunction reportUncaughtErrorInDEV(error) {\n // Wrapping each small part of the commit phase into a guarded\n // callback is a bit too slow (https://github.com/facebook/react/pull/21666).\n // But we rely on it to surface errors to DEV tools like overlays\n // (https://github.com/facebook/react/issues/21712).\n // As a compromise, rethrow only caught errors in a guard.\n {\n invokeGuardedCallback(null, function () {\n throw error;\n });\n clearCaughtError();\n }\n}\n\nvar callComponentWillUnmountWithTimer = function (current, instance) {\n instance.props = current.memoizedProps;\n instance.state = current.memoizedState;\n\n if ( current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentWillUnmount();\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n instance.componentWillUnmount();\n }\n}; // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallCommitHookLayoutEffectListMount(current, nearestMountedAncestor) {\n try {\n commitHookEffectListMount(Layout, current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt unmounting.\n\n\nfunction safelyCallComponentWillUnmount(current, nearestMountedAncestor, instance) {\n try {\n callComponentWillUnmountWithTimer(current, instance);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyCallComponentDidMount(current, nearestMountedAncestor, instance) {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n} // Capture errors so they don't interrupt mounting.\n\n\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n commitAttachRef(current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n\n if (ref !== null) {\n if (typeof ref === 'function') {\n var retVal;\n\n try {\n if (enableProfilerTimer && enableProfilerCommitHooks && current.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(null);\n } finally {\n recordLayoutEffectDuration(current);\n }\n } else {\n retVal = ref(null);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(current));\n }\n }\n } else {\n ref.current = null;\n }\n }\n}\n\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\n\nvar focusedInstanceHandle = null;\nvar shouldFireAfterActiveInstanceBlur = false;\nfunction commitBeforeMutationEffects(root, firstChild) {\n focusedInstanceHandle = prepareForCommit(root.containerInfo);\n nextEffect = firstChild;\n commitBeforeMutationEffects_begin(); // We no longer need to track the active instance fiber\n\n var shouldFire = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = false;\n focusedInstanceHandle = null;\n return shouldFire;\n}\n\nfunction commitBeforeMutationEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect; // This phase is only used for beforeActiveInstanceBlur.\n\n var child = fiber.child;\n\n if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitBeforeMutationEffects_complete();\n }\n }\n}\n\nfunction commitBeforeMutationEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n setCurrentFiber(fiber);\n\n try {\n commitBeforeMutationEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitBeforeMutationEffectsOnFiber(finishedWork) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags;\n\n if ((flags & Snapshot) !== NoFlags) {\n setCurrentFiber(finishedWork);\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n break;\n }\n\n case ClassComponent:\n {\n if (current !== null) {\n var prevProps = current.memoizedProps;\n var prevState = current.memoizedState;\n var instance = finishedWork.stateNode; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\n\n {\n var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\n\n if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\n didWarnSet.add(finishedWork.type);\n\n error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));\n }\n }\n\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n\n break;\n }\n\n case HostRoot:\n {\n {\n var root = finishedWork.stateNode;\n clearContainer(root.containerInfo);\n }\n\n break;\n }\n\n case HostComponent:\n case HostText:\n case HostPortal:\n case IncompleteClassComponent:\n // Nothing to do for these component types\n break;\n\n default:\n {\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n // Unmount\n var destroy = effect.destroy;\n effect.destroy = undefined;\n\n if (destroy !== undefined) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStarted(finishedWork);\n }\n }\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectUnmountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitHookEffectListMount(flags, finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n if ((effect.tag & flags) === flags) {\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStarted(finishedWork);\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStarted(finishedWork);\n }\n } // Mount\n\n\n var create = effect.create;\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(true);\n }\n }\n\n effect.destroy = create();\n\n {\n if ((flags & Insertion) !== NoFlags$1) {\n setIsRunningInsertionEffect(false);\n }\n }\n\n {\n if ((flags & Passive$1) !== NoFlags$1) {\n markComponentPassiveEffectMountStopped();\n } else if ((flags & Layout) !== NoFlags$1) {\n markComponentLayoutEffectMountStopped();\n }\n }\n\n {\n var destroy = effect.destroy;\n\n if (destroy !== undefined && typeof destroy !== 'function') {\n var hookName = void 0;\n\n if ((effect.tag & Layout) !== NoFlags) {\n hookName = 'useLayoutEffect';\n } else if ((effect.tag & Insertion) !== NoFlags) {\n hookName = 'useInsertionEffect';\n } else {\n hookName = 'useEffect';\n }\n\n var addendum = void 0;\n\n if (destroy === null) {\n addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\n } else if (typeof destroy.then === 'function') {\n addendum = '\\n\\nIt looks like you wrote ' + hookName + '(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + hookName + '(() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n' + ' fetchData();\\n' + \"}, [someId]); // Or [] if effect doesn't need props or state\\n\\n\" + 'Learn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching';\n } else {\n addendum = ' You returned: ' + destroy;\n }\n\n error('%s must not return anything besides a function, ' + 'which is used for clean-up.%s', hookName, addendum);\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n}\n\nfunction commitPassiveEffectDurations(finishedRoot, finishedWork) {\n {\n // Only Profilers with work in their subtree will have an Update effect scheduled.\n if ((finishedWork.flags & Update) !== NoFlags) {\n switch (finishedWork.tag) {\n case Profiler:\n {\n var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration;\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onPostCommit = _finishedWork$memoize.onPostCommit; // This value will still reflect the previous commit phase.\n // It does not get reset until the start of the next commit phase.\n\n var commitTime = getCommitTime();\n var phase = finishedWork.alternate === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onPostCommit === 'function') {\n onPostCommit(id, phase, passiveEffectDuration, commitTime);\n } // Bubble times to the next nearest ancestor Profiler.\n // After we process that Profiler, we'll bubble further up.\n\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.passiveEffectDuration += passiveEffectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.passiveEffectDuration += passiveEffectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork, committedLanes) {\n if ((finishedWork.flags & LayoutMask) !== NoFlags) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( !offscreenSubtreeWasHidden) {\n // At this point layout effects have already been destroyed (during mutation phase).\n // This is done to prevent sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Layout | HasEffect, finishedWork);\n }\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = finishedWork.stateNode;\n\n if (finishedWork.flags & Update) {\n if (!offscreenSubtreeWasHidden) {\n if (current === null) {\n // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidMount();\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidMount();\n }\n } else {\n var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\n var prevState = current.memoizedState; // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n }\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\n }\n }\n }\n } // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n\n\n var updateQueue = finishedWork.updateQueue;\n\n if (updateQueue !== null) {\n {\n if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\n if (instance.props !== finishedWork.memoizedProps) {\n error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n\n if (instance.state !== finishedWork.memoizedState) {\n error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');\n }\n }\n } // We could update instance props and state here,\n // but instead we rely on them being set during last render.\n // TODO: revisit this when we implement resuming.\n\n\n commitUpdateQueue(finishedWork, updateQueue, instance);\n }\n\n break;\n }\n\n case HostRoot:\n {\n // TODO: I think this is now always non-null by the time it reaches the\n // commit phase. Consider removing the type check.\n var _updateQueue = finishedWork.updateQueue;\n\n if (_updateQueue !== null) {\n var _instance = null;\n\n if (finishedWork.child !== null) {\n switch (finishedWork.child.tag) {\n case HostComponent:\n _instance = getPublicInstance(finishedWork.child.stateNode);\n break;\n\n case ClassComponent:\n _instance = finishedWork.child.stateNode;\n break;\n }\n }\n\n commitUpdateQueue(finishedWork, _updateQueue, _instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted\n // (eg DOM renderer may schedule auto-focus for inputs and form controls).\n // These effects should only be committed when components are first mounted,\n // aka when there is no current/alternate.\n\n if (current === null && finishedWork.flags & Update) {\n var type = finishedWork.type;\n var props = finishedWork.memoizedProps;\n commitMount(_instance2, type, props);\n }\n\n break;\n }\n\n case HostText:\n {\n // We have no life-cycles associated with text.\n break;\n }\n\n case HostPortal:\n {\n // We have no life-cycles associated with portals.\n break;\n }\n\n case Profiler:\n {\n {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n onCommit = _finishedWork$memoize2.onCommit,\n onRender = _finishedWork$memoize2.onRender;\n var effectDuration = finishedWork.stateNode.effectDuration;\n var commitTime = getCommitTime();\n var phase = current === null ? 'mount' : 'update';\n\n {\n if (isCurrentUpdateNested()) {\n phase = 'nested-update';\n }\n }\n\n if (typeof onRender === 'function') {\n onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime);\n }\n\n {\n if (typeof onCommit === 'function') {\n onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime);\n } // Schedule a passive effect for this Profiler to call onPostCommit hooks.\n // This effect should be scheduled even if there is no onPostCommit callback for this Profiler,\n // because the effect is also where times bubble to parent Profilers.\n\n\n enqueuePendingPassiveProfilerEffect(finishedWork); // Propagate layout effect durations to the next nearest Profiler ancestor.\n // Do not reset these values until the next render so DevTools has a chance to read them first.\n\n var parentFiber = finishedWork.return;\n\n outer: while (parentFiber !== null) {\n switch (parentFiber.tag) {\n case HostRoot:\n var root = parentFiber.stateNode;\n root.effectDuration += effectDuration;\n break outer;\n\n case Profiler:\n var parentStateNode = parentFiber.stateNode;\n parentStateNode.effectDuration += effectDuration;\n break outer;\n }\n\n parentFiber = parentFiber.return;\n }\n }\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n }\n\n case SuspenseListComponent:\n case IncompleteClassComponent:\n case ScopeComponent:\n case OffscreenComponent:\n case LegacyHiddenComponent:\n case TracingMarkerComponent:\n {\n break;\n }\n\n default:\n throw new Error('This unit of work tag should not have side-effects. This error is ' + 'likely caused by a bug in React. Please file an issue.');\n }\n }\n\n if ( !offscreenSubtreeWasHidden) {\n {\n if (finishedWork.flags & Ref) {\n commitAttachRef(finishedWork);\n }\n }\n }\n}\n\nfunction reappearLayoutEffectsOnFiber(node) {\n // Turn on layout effects in a tree that previously disappeared.\n // TODO (Offscreen) Check: flags & LayoutStatic\n switch (node.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( node.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n } finally {\n recordLayoutEffectDuration(node);\n }\n } else {\n safelyCallCommitHookLayoutEffectListMount(node, node.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = node.stateNode;\n\n if (typeof instance.componentDidMount === 'function') {\n safelyCallComponentDidMount(node, node.return, instance);\n }\n\n safelyAttachRef(node, node.return);\n break;\n }\n\n case HostComponent:\n {\n safelyAttachRef(node, node.return);\n break;\n }\n }\n}\n\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\n // Only hide or unhide the top-most host nodes.\n var hostSubtreeRoot = null;\n\n {\n // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n var node = finishedWork;\n\n while (true) {\n if (node.tag === HostComponent) {\n if (hostSubtreeRoot === null) {\n hostSubtreeRoot = node;\n\n try {\n var instance = node.stateNode;\n\n if (isHidden) {\n hideInstance(instance);\n } else {\n unhideInstance(node.stateNode, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if (node.tag === HostText) {\n if (hostSubtreeRoot === null) {\n try {\n var _instance3 = node.stateNode;\n\n if (isHidden) {\n hideTextInstance(_instance3);\n } else {\n unhideTextInstance(_instance3, node.memoizedProps);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork) ; else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === finishedWork) {\n return;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node = node.return;\n }\n\n if (hostSubtreeRoot === node) {\n hostSubtreeRoot = null;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n}\n\nfunction commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n\n if (ref !== null) {\n var instance = finishedWork.stateNode;\n var instanceToUse;\n\n switch (finishedWork.tag) {\n case HostComponent:\n instanceToUse = getPublicInstance(instance);\n break;\n\n default:\n instanceToUse = instance;\n } // Moved outside to ensure DCE works with this flag\n\n if (typeof ref === 'function') {\n var retVal;\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n retVal = ref(instanceToUse);\n } finally {\n recordLayoutEffectDuration(finishedWork);\n }\n } else {\n retVal = ref(instanceToUse);\n }\n\n {\n if (typeof retVal === 'function') {\n error('Unexpected return value from a callback ref in %s. ' + 'A callback ref should not return a function.', getComponentNameFromFiber(finishedWork));\n }\n }\n } else {\n {\n if (!ref.hasOwnProperty('current')) {\n error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().', getComponentNameFromFiber(finishedWork));\n }\n }\n\n ref.current = instanceToUse;\n }\n }\n}\n\nfunction detachFiberMutation(fiber) {\n // Cut off the return pointer to disconnect it from the tree.\n // This enables us to detect and warn against state updates on an unmounted component.\n // It also prevents events from bubbling from within disconnected components.\n //\n // Ideally, we should also clear the child pointer of the parent alternate to let this\n // get GC:ed but we don't know which for sure which parent is the current\n // one so we'll settle for GC:ing the subtree of this child.\n // This child itself will be GC:ed when the parent updates the next time.\n //\n // Note that we can't clear child or sibling pointers yet.\n // They're needed for passive effects and for findDOMNode.\n // We defer those fields, and all other cleanup, to the passive phase (see detachFiberAfterEffects).\n //\n // Don't reset the alternate yet, either. We need that so we can detach the\n // alternate's fields in the passive phase. Clearing the return pointer is\n // sufficient for findDOMNode semantics.\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n alternate.return = null;\n }\n\n fiber.return = null;\n}\n\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n\n if (alternate !== null) {\n fiber.alternate = null;\n detachFiberAfterEffects(alternate);\n } // Note: Defensively using negation instead of < in case\n // `deletedTreeCleanUpLevel` is undefined.\n\n\n {\n // Clear cyclical Fiber fields. This level alone is designed to roughly\n // approximate the planned Fiber refactor. In that world, `setState` will be\n // bound to a special \"instance\" object instead of a Fiber. The Instance\n // object will not have any of these fields. It will only be connected to\n // the fiber tree via a single link at the root. So if this level alone is\n // sufficient to fix memory issues, that bodes well for our plans.\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null; // The `stateNode` is cyclical because on host nodes it points to the host\n // tree, which has its own pointers to children, parents, and siblings.\n // The other host nodes also point back to fibers, so we should detach that\n // one, too.\n\n if (fiber.tag === HostComponent) {\n var hostInstance = fiber.stateNode;\n\n if (hostInstance !== null) {\n detachDeletedInstance(hostInstance);\n }\n }\n\n fiber.stateNode = null; // I'm intentionally not clearing the `return` field in this level. We\n // already disconnect the `return` pointer at the root of the deleted\n // subtree (in `detachFiberMutation`). Besides, `return` by itself is not\n // cyclical — it's only cyclical when combined with `child`, `sibling`, and\n // `alternate`. But we'll clear it in the next level anyway, just in case.\n\n {\n fiber._debugOwner = null;\n }\n\n {\n // Theoretically, nothing in here should be necessary, because we already\n // disconnected the fiber from the tree. So even if something leaks this\n // particular fiber, it won't leak anything else\n //\n // The purpose of this branch is to be super aggressive so we can measure\n // if there's any difference in memory impact. If there is, that could\n // indicate a React leak we don't know about.\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead.\n\n fiber.updateQueue = null;\n }\n }\n}\n\nfunction getHostParentFiber(fiber) {\n var parent = fiber.return;\n\n while (parent !== null) {\n if (isHostParent(parent)) {\n return parent;\n }\n\n parent = parent.return;\n }\n\n throw new Error('Expected to find a host parent. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n}\n\nfunction isHostParent(fiber) {\n return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;\n}\n\nfunction getHostSibling(fiber) {\n // We're going to search forward into the tree until we find a sibling host\n // node. Unfortunately, if multiple insertions are done in a row we have to\n // search past them. This leads to exponential search for the next sibling.\n // TODO: Find a more efficient way to do this.\n var node = fiber;\n\n siblings: while (true) {\n // If we didn't find anything, let's try the next sibling.\n while (node.sibling === null) {\n if (node.return === null || isHostParent(node.return)) {\n // If we pop out of the root or hit the parent the fiber we are the\n // last sibling.\n return null;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n\n while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {\n // If it is not host node and, we might have a host node inside it.\n // Try to search down until we find one.\n if (node.flags & Placement) {\n // If we don't have a child, try the siblings instead.\n continue siblings;\n } // If we don't have a child, try the siblings instead.\n // We also skip portals because they are not part of this host tree.\n\n\n if (node.child === null || node.tag === HostPortal) {\n continue siblings;\n } else {\n node.child.return = node;\n node = node.child;\n }\n } // Check if this host node is stable or about to be placed.\n\n\n if (!(node.flags & Placement)) {\n // Found it!\n return node.stateNode;\n }\n }\n}\n\nfunction commitPlacement(finishedWork) {\n\n\n var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.\n\n switch (parentFiber.tag) {\n case HostComponent:\n {\n var parent = parentFiber.stateNode;\n\n if (parentFiber.flags & ContentReset) {\n // Reset the text content of the parent before doing any insertions\n resetTextContent(parent); // Clear ContentReset from the effect tag\n\n parentFiber.flags &= ~ContentReset;\n }\n\n var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\n // children to find all the terminal nodes.\n\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n }\n\n case HostRoot:\n case HostPortal:\n {\n var _parent = parentFiber.stateNode.containerInfo;\n\n var _before = getHostSibling(finishedWork);\n\n insertOrAppendPlacementNodeIntoContainer(finishedWork, _before, _parent);\n break;\n }\n // eslint-disable-next-line-no-fallthrough\n\n default:\n throw new Error('Invalid host parent fiber. This error is likely caused by a bug ' + 'in React. Please file an issue.');\n }\n}\n\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertInContainerBefore(parent, stateNode, before);\n } else {\n appendChildToContainer(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNodeIntoContainer(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n}\n\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n var isHost = tag === HostComponent || tag === HostText;\n\n if (isHost) {\n var stateNode = node.stateNode;\n\n if (before) {\n insertBefore(parent, stateNode, before);\n } else {\n appendChild(parent, stateNode);\n }\n } else if (tag === HostPortal) ; else {\n var child = node.child;\n\n if (child !== null) {\n insertOrAppendPlacementNode(child, before, parent);\n var sibling = child.sibling;\n\n while (sibling !== null) {\n insertOrAppendPlacementNode(sibling, before, parent);\n sibling = sibling.sibling;\n }\n }\n }\n} // These are tracked on the stack as we recursively traverse a\n// deleted subtree.\n// TODO: Update these during the whole mutation phase, not just during\n// a deletion.\n\n\nvar hostParent = null;\nvar hostParentIsContainer = false;\n\nfunction commitDeletionEffects(root, returnFiber, deletedFiber) {\n {\n // We only have the top Fiber that was deleted but we need to recurse down its\n // children to find all the terminal nodes.\n // Recursively delete all host nodes from the parent, detach refs, clean\n // up mounted layout effects, and call componentWillUnmount.\n // We only need to remove the topmost host child in each branch. But then we\n // still need to keep traversing to unmount effects, refs, and cWU. TODO: We\n // could split this into two separate traversals functions, where the second\n // one doesn't include any removeChild logic. This is maybe the same\n // function as \"disappearLayoutEffects\" (or whatever that turns into after\n // the layout phase is refactored to use recursion).\n // Before starting, find the nearest host parent on the stack so we know\n // which instance/container to remove the children from.\n // TODO: Instead of searching up the fiber return path on every deletion, we\n // can track the nearest host component on the JS stack as we traverse the\n // tree during the commit phase. This would make insertions faster, too.\n var parent = returnFiber;\n\n findParent: while (parent !== null) {\n switch (parent.tag) {\n case HostComponent:\n {\n hostParent = parent.stateNode;\n hostParentIsContainer = false;\n break findParent;\n }\n\n case HostRoot:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n\n case HostPortal:\n {\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = true;\n break findParent;\n }\n }\n\n parent = parent.return;\n }\n\n if (hostParent === null) {\n throw new Error('Expected to find a host parent. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n }\n\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = false;\n }\n\n detachFiberMutation(deletedFiber);\n}\n\nfunction recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {\n // TODO: Use a static flag to skip trees that don't have unmount effects\n var child = parent.child;\n\n while (child !== null) {\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child);\n child = child.sibling;\n }\n}\n\nfunction commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {\n onCommitUnmount(deletedFiber); // The cases in this outer switch modify the stack before they traverse\n // into their subtree. There are simpler cases in the inner switch\n // that don't modify the stack.\n\n switch (deletedFiber.tag) {\n case HostComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n } // Intentional fallthrough to next branch\n\n }\n // eslint-disable-next-line-no-fallthrough\n\n case HostText:\n {\n // We only need to remove the nearest host child. Set the host parent\n // to `null` on the stack to indicate that nested children don't\n // need to be removed.\n {\n var prevHostParent = hostParent;\n var prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n\n if (hostParent !== null) {\n // Now that all the child effects have unmounted, we can remove the\n // node from the tree.\n if (hostParentIsContainer) {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n removeChild(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case DehydratedFragment:\n {\n // Delete the dehydrated suspense boundary and all of its content.\n\n\n {\n if (hostParent !== null) {\n if (hostParentIsContainer) {\n clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode);\n } else {\n clearSuspenseBoundary(hostParent, deletedFiber.stateNode);\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n {\n // When we go into a portal, it becomes the parent to remove from.\n var _prevHostParent = hostParent;\n var _prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = true;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n hostParent = _prevHostParent;\n hostParentIsContainer = _prevHostParentIsContainer;\n }\n\n return;\n }\n\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n var updateQueue = deletedFiber.updateQueue;\n\n if (updateQueue !== null) {\n var lastEffect = updateQueue.lastEffect;\n\n if (lastEffect !== null) {\n var firstEffect = lastEffect.next;\n var effect = firstEffect;\n\n do {\n var _effect = effect,\n destroy = _effect.destroy,\n tag = _effect.tag;\n\n if (destroy !== undefined) {\n if ((tag & Insertion) !== NoFlags$1) {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n } else if ((tag & Layout) !== NoFlags$1) {\n {\n markComponentLayoutEffectUnmountStarted(deletedFiber);\n }\n\n if ( deletedFiber.mode & ProfileMode) {\n startLayoutEffectTimer();\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n recordLayoutEffectDuration(deletedFiber);\n } else {\n safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy);\n }\n\n {\n markComponentLayoutEffectUnmountStopped();\n }\n }\n }\n\n effect = effect.next;\n } while (effect !== firstEffect);\n }\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ClassComponent:\n {\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, instance);\n }\n }\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case ScopeComponent:\n {\n\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n\n case OffscreenComponent:\n {\n if ( // TODO: Remove this dead flag\n deletedFiber.mode & ConcurrentMode) {\n // If this offscreen component is hidden, we already unmounted it. Before\n // deleting the children, track that it's already unmounted so that we\n // don't attempt to unmount the effects again.\n // TODO: If the tree is hidden, in most cases we should be able to skip\n // over the nested children entirely. An exception is we haven't yet found\n // the topmost host node to delete, which we already track on the stack.\n // But the other case is portals, which need to be detached no matter how\n // deeply they are nested. We should use a subtree flag to track whether a\n // subtree includes a nested portal.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null;\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n }\n\n break;\n }\n\n default:\n {\n recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);\n return;\n }\n }\n}\n\nfunction commitSuspenseCallback(finishedWork) {\n // TODO: Move this to passive phase\n var newState = finishedWork.memoizedState;\n}\n\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n\n var newState = finishedWork.memoizedState;\n\n if (newState === null) {\n var current = finishedWork.alternate;\n\n if (current !== null) {\n var prevState = current.memoizedState;\n\n if (prevState !== null) {\n var suspenseInstance = prevState.dehydrated;\n\n if (suspenseInstance !== null) {\n commitHydratedSuspenseInstance(suspenseInstance);\n }\n }\n }\n }\n}\n\nfunction attachSuspenseRetryListeners(finishedWork) {\n // If this boundary just timed out, then it will have a set of wakeables.\n // For each wakeable, attach a listener so that when it resolves, React\n // attempts to re-render the boundary in the primary (pre-timeout) state.\n var wakeables = finishedWork.updateQueue;\n\n if (wakeables !== null) {\n finishedWork.updateQueue = null;\n var retryCache = finishedWork.stateNode;\n\n if (retryCache === null) {\n retryCache = finishedWork.stateNode = new PossiblyWeakSet();\n }\n\n wakeables.forEach(function (wakeable) {\n // Memoize using the boundary fiber to prevent redundant listeners.\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n\n {\n if (isDevToolsPresent) {\n if (inProgressLanes !== null && inProgressRoot !== null) {\n // If we have pending work still, associate the original updaters with it.\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n } else {\n throw Error('Expected finished root and lanes to be set. This is a bug in React.');\n }\n }\n }\n\n wakeable.then(retry, retry);\n }\n });\n }\n} // This function detects when a Suspense boundary goes from visible to hidden.\nfunction commitMutationEffects(root, finishedWork, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n setCurrentFiber(finishedWork);\n commitMutationEffectsOnFiber(finishedWork, root);\n setCurrentFiber(finishedWork);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction recursivelyTraverseMutationEffects(root, parentFiber, lanes) {\n // Deletions effects can be scheduled on any fiber type. They need to happen\n // before the children effects hae fired.\n var deletions = parentFiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n\n try {\n commitDeletionEffects(root, parentFiber, childToDelete);\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n }\n\n var prevDebugFiber = getCurrentFiber();\n\n if (parentFiber.subtreeFlags & MutationMask) {\n var child = parentFiber.child;\n\n while (child !== null) {\n setCurrentFiber(child);\n commitMutationEffectsOnFiber(child, root);\n child = child.sibling;\n }\n }\n\n setCurrentFiber(prevDebugFiber);\n}\n\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate;\n var flags = finishedWork.flags; // The effect flag should be checked *after* we refine the type of fiber,\n // because the fiber tag is more specific. An exception is any flag related\n // to reconcilation, because those can be set on all fiber types.\n\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n try {\n commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return);\n commitHookEffectListMount(Insertion | HasEffect, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Layout effects are destroyed during the mutation phase so that all\n // destroy functions for all fibers are called before any create functions.\n // This prevents sibling component effects from interfering with each other,\n // e.g. a destroy function in one component should never override a ref set\n // by a create function in another component during the same commit.\n\n\n if ( finishedWork.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n recordLayoutEffectDuration(finishedWork);\n } else {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case ClassComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n return;\n }\n\n case HostComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Ref) {\n if (current !== null) {\n safelyDetachRef(current, current.return);\n }\n }\n\n {\n // TODO: ContentReset gets cleared by the children during the commit\n // phase. This is a refactor hazard because it means we must read\n // flags the flags after `commitReconciliationEffects` has already run;\n // the order matters. We should refactor so that ContentReset does not\n // rely on mutating the flag during commit. Like by setting a flag\n // during the render phase instead.\n if (finishedWork.flags & ContentReset) {\n var instance = finishedWork.stateNode;\n\n try {\n resetTextContent(instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n\n if (flags & Update) {\n var _instance4 = finishedWork.stateNode;\n\n if (_instance4 != null) {\n // Commit the work prepared earlier.\n var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldProps = current !== null ? current.memoizedProps : newProps;\n var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\n\n var updatePayload = finishedWork.updateQueue;\n finishedWork.updateQueue = null;\n\n if (updatePayload !== null) {\n try {\n commitUpdate(_instance4, updatePayload, type, oldProps, newProps, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostText:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (finishedWork.stateNode === null) {\n throw new Error('This should have a text node initialized. This error is likely ' + 'caused by a bug in React. Please file an issue.');\n }\n\n var textInstance = finishedWork.stateNode;\n var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\n // as the newProps. The updatePayload will contain the real change in\n // this case.\n\n var oldText = current !== null ? current.memoizedProps : newText;\n\n try {\n commitTextUpdate(textInstance, oldText, newText);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n\n return;\n }\n\n case HostRoot:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n {\n if (current !== null) {\n var prevRootState = current.memoizedState;\n\n if (prevRootState.isDehydrated) {\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n }\n }\n\n return;\n }\n\n case HostPortal:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n return;\n }\n\n case SuspenseComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n var offscreenFiber = finishedWork.child;\n\n if (offscreenFiber.flags & Visibility) {\n var offscreenInstance = offscreenFiber.stateNode;\n var newState = offscreenFiber.memoizedState;\n var isHidden = newState !== null; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n offscreenInstance.isHidden = isHidden;\n\n if (isHidden) {\n var wasHidden = offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null;\n\n if (!wasHidden) {\n // TODO: Move to passive phase\n markCommitTimeOfFallback();\n }\n }\n }\n\n if (flags & Update) {\n try {\n commitSuspenseCallback(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case OffscreenComponent:\n {\n var _wasHidden = current !== null && current.memoizedState !== null;\n\n if ( // TODO: Remove this dead flag\n finishedWork.mode & ConcurrentMode) {\n // Before committing the children, track on the stack whether this\n // offscreen subtree was already hidden, so that we don't unmount the\n // effects again.\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n } else {\n recursivelyTraverseMutationEffects(root, finishedWork);\n }\n\n commitReconciliationEffects(finishedWork);\n\n if (flags & Visibility) {\n var _offscreenInstance = finishedWork.stateNode;\n var _newState = finishedWork.memoizedState;\n\n var _isHidden = _newState !== null;\n\n var offscreenBoundary = finishedWork; // Track the current state on the Offscreen instance so we can\n // read it during an event\n\n _offscreenInstance.isHidden = _isHidden;\n\n {\n if (_isHidden) {\n if (!_wasHidden) {\n if ((offscreenBoundary.mode & ConcurrentMode) !== NoMode) {\n nextEffect = offscreenBoundary;\n var offscreenChild = offscreenBoundary.child;\n\n while (offscreenChild !== null) {\n nextEffect = offscreenChild;\n disappearLayoutEffects_begin(offscreenChild);\n offscreenChild = offscreenChild.sibling;\n }\n }\n }\n }\n }\n\n {\n // TODO: This needs to run whenever there's an insertion or update\n // inside a hidden Offscreen tree.\n hideOrUnhideAllChildren(offscreenBoundary, _isHidden);\n }\n }\n\n return;\n }\n\n case SuspenseListComponent:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n\n if (flags & Update) {\n attachSuspenseRetryListeners(finishedWork);\n }\n\n return;\n }\n\n case ScopeComponent:\n {\n\n return;\n }\n\n default:\n {\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n return;\n }\n }\n}\n\nfunction commitReconciliationEffects(finishedWork) {\n // Placement effects (insertions, reorders) can be scheduled on any fiber\n // type. They needs to happen after the children effects have fired, but\n // before the effects on this fiber have fired.\n var flags = finishedWork.flags;\n\n if (flags & Placement) {\n try {\n commitPlacement(finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n } // Clear the \"placement\" from effect tag so that we know that this is\n // inserted, before any life-cycles like componentDidMount gets called.\n // TODO: findDOMNode doesn't rely on this any more but isMounted does\n // and isMounted is deprecated anyway so we should be able to kill this.\n\n\n finishedWork.flags &= ~Placement;\n }\n\n if (flags & Hydrating) {\n finishedWork.flags &= ~Hydrating;\n }\n}\n\nfunction commitLayoutEffects(finishedWork, root, committedLanes) {\n inProgressLanes = committedLanes;\n inProgressRoot = root;\n nextEffect = finishedWork;\n commitLayoutEffects_begin(finishedWork, root, committedLanes);\n inProgressLanes = null;\n inProgressRoot = null;\n}\n\nfunction commitLayoutEffects_begin(subtreeRoot, root, committedLanes) {\n // Suspense layout effects semantics don't change for legacy roots.\n var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode;\n\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ( fiber.tag === OffscreenComponent && isModernRoot) {\n // Keep track of the current Offscreen stack's state.\n var isHidden = fiber.memoizedState !== null;\n var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;\n\n if (newOffscreenSubtreeIsHidden) {\n // The Offscreen tree is hidden. Skip over its layout effects.\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n } else {\n // TODO (Offscreen) Also check: subtreeFlags & LayoutMask\n var current = fiber.alternate;\n var wasHidden = current !== null && current.memoizedState !== null;\n var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; // Traverse the Offscreen subtree with the current Offscreen as the root.\n\n offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;\n\n if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {\n // This is the root of a reappearing boundary. Turn its layout effects\n // back on.\n nextEffect = fiber;\n reappearLayoutEffects_begin(fiber);\n }\n\n var child = firstChild;\n\n while (child !== null) {\n nextEffect = child;\n commitLayoutEffects_begin(child, // New root; bubble back up to here and stop.\n root, committedLanes);\n child = child.sibling;\n } // Restore Offscreen state and resume in our-progress traversal.\n\n\n nextEffect = fiber;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n continue;\n }\n }\n\n if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);\n }\n }\n}\n\nfunction commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & LayoutMask) !== NoFlags) {\n var current = fiber.alternate;\n setCurrentFiber(fiber);\n\n try {\n commitLayoutEffectOnFiber(root, current, fiber, committedLanes);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction disappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child; // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)\n\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ( fiber.mode & ProfileMode) {\n try {\n startLayoutEffectTimer();\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n } finally {\n recordLayoutEffectDuration(fiber);\n }\n } else {\n commitHookEffectListUnmount(Layout, fiber, fiber.return);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n // TODO (Offscreen) Check: flags & RefStatic\n safelyDetachRef(fiber, fiber.return);\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n\n case HostComponent:\n {\n safelyDetachRef(fiber, fiber.return);\n break;\n }\n\n case OffscreenComponent:\n {\n // Check if this is a\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is already hidden. Don't disappear\n // its effects.\n disappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n\n break;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n disappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction disappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction reappearLayoutEffects_begin(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if (fiber.tag === OffscreenComponent) {\n var isHidden = fiber.memoizedState !== null;\n\n if (isHidden) {\n // Nested Offscreen tree is still hidden. Don't re-appear its effects.\n reappearLayoutEffects_complete(subtreeRoot);\n continue;\n }\n } // TODO (Offscreen) Check: subtreeFlags & LayoutStatic\n\n\n if (firstChild !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n reappearLayoutEffects_complete(subtreeRoot);\n }\n }\n}\n\nfunction reappearLayoutEffects_complete(subtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // TODO (Offscreen) Check: flags & LayoutStatic\n\n setCurrentFiber(fiber);\n\n try {\n reappearLayoutEffectsOnFiber(fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n // This node may have been reused from a previous render, so we can't\n // assume its return pointer is correct.\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountEffects(root, finishedWork, committedLanes, committedTransitions) {\n nextEffect = finishedWork;\n commitPassiveMountEffects_begin(finishedWork, root, committedLanes, committedTransitions);\n}\n\nfunction commitPassiveMountEffects_begin(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var firstChild = fiber.child;\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && firstChild !== null) {\n firstChild.return = fiber;\n nextEffect = firstChild;\n } else {\n commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions);\n }\n }\n}\n\nfunction commitPassiveMountEffects_complete(subtreeRoot, root, committedLanes, committedTransitions) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n\n try {\n commitPassiveMountOnFiber(root, fiber, committedLanes, committedTransitions);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n resetCurrentFiber();\n }\n\n if (fiber === subtreeRoot) {\n nextEffect = null;\n return;\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n } finally {\n recordPassiveEffectDuration(finishedWork);\n }\n } else {\n commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffects(firstChild) {\n nextEffect = firstChild;\n commitPassiveUnmountEffects_begin();\n}\n\nfunction commitPassiveUnmountEffects_begin() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var child = fiber.child;\n\n if ((nextEffect.flags & ChildDeletion) !== NoFlags) {\n var deletions = fiber.deletions;\n\n if (deletions !== null) {\n for (var i = 0; i < deletions.length; i++) {\n var fiberToDelete = deletions[i];\n nextEffect = fiberToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber);\n }\n\n {\n // A fiber was deleted from this parent fiber, but it's still part of\n // the previous (alternate) parent fiber's list of children. Because\n // children are a linked list, an earlier sibling that's still alive\n // will be connected to the deleted fiber via its `alternate`:\n //\n // live fiber\n // --alternate--> previous live fiber\n // --sibling--> deleted fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted\n // yet, but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = fiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n }\n\n nextEffect = fiber;\n }\n }\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffects_complete();\n }\n }\n}\n\nfunction commitPassiveUnmountEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n commitPassiveUnmountOnFiber(fiber);\n resetCurrentFiber();\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we\n // do this, still need to handle `deletedTreeCleanUpLevel` correctly.)\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return;\n\n {\n // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( current.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n recordPassiveEffectDuration(current);\n } else {\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n }\n\n break;\n }\n }\n} // TODO: Reuse reappearLayoutEffects traversal here?\n\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nvar COMPONENT_TYPE = 0;\nvar HAS_PSEUDO_CLASS_TYPE = 1;\nvar ROLE_TYPE = 2;\nvar TEST_NAME_TYPE = 3;\nvar TEXT_TYPE = 4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor('selector.component');\n HAS_PSEUDO_CLASS_TYPE = symbolFor('selector.has_pseudo_class');\n ROLE_TYPE = symbolFor('selector.role');\n TEST_NAME_TYPE = symbolFor('selector.test_id');\n TEXT_TYPE = symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot$1() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowExpectedError - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar ceil = Math.ceil;\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes; // Stack that allows components to change the render lanes for its subtree\n// This is a superset of the lanes we started working on at the root. The only\n// case where it's different from `workInProgressRootRenderLanes` is when we\n// enter a subtree that is hidden and needs to be unhidden: Suspense and\n// Offscreen component.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with subtreeRenderLanes.\n\nvar subtreeRenderLanes = NoLanes;\nvar subtreeRenderLanesCursor = createCursor(NoLanes); // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // \"Included\" lanes refer to lanes that were worked on during this render. It's\n// slightly different than `renderLanes` because `renderLanes` can change as you\n// enter and exit an Offscreen tree. This value is the combination of all render\n// lanes for the entire render phase.\n\nvar workInProgressRootIncludedLanes = NoLanes; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // The most recent time we committed a fallback. This lets us ensure a train\n// model where we don't commit new loading states in too quick succession.\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 500; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null; // If two updates are scheduled within the same event, we should treat their\n// event times as simultaneous, even if the actual clock time has advanced\n// between the first and second call.\n\nvar currentEventTime = NoTimestamp;\nvar currentEventTransitionLane = NoLanes;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction requestEventTime() {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // We're inside React, so it's fine to read the actual time.\n return now();\n } // We're not inside React, so we may be in the middle of a browser event.\n\n\n if (currentEventTime !== NoTimestamp) {\n // Use the same start time for all updates until we enter React again.\n return currentEventTime;\n } // This is the first update since React yielded. Compute a new start time.\n\n\n currentEventTime = now();\n return currentEventTime;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ( (executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var isTransition = requestCurrentTransition() !== NoTransition;\n\n if (isTransition) {\n if ( ReactCurrentBatchConfig$3.transition !== null) {\n var transition = ReactCurrentBatchConfig$3.transition;\n\n if (!transition._updatedFibers) {\n transition._updatedFibers = new Set();\n }\n\n transition._updatedFibers.add(fiber);\n } // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n\n\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n checkForNestedUpdates();\n\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane, eventTime);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root. Unless the\n // `deferRenderPhaseUpdateToNextBatch` flag is off and this is a render\n // phase update. In that case, we don't treat render phase updates as if\n // they were interleaved, for backwards compat reasons.\n if ( (executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended$1(root, workInProgressRootRenderLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane, eventTime) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (// TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We\n // decided not to enable it.\n (executionContext & RenderContext) !== NoContext\n );\n} // Use this function to schedule a task for a root. There's only one task per\n// root; if a task was already scheduled, we'll check to make sure the priority\n// of the existing task is the same as the priority of the next level that the\n// root has work on. This function is called on every update, and right before\n// exiting a task.\n\nfunction ensureRootIsScheduled(root, currentTime) {\n var existingCallbackNode = root.callbackNode; // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (nextLanes === NoLanes) {\n // Special case: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback$1(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return;\n } // We use the highest priority lane to represent the priority of the callback.\n\n\n var newCallbackPriority = getHighestPriorityLane(nextLanes); // Check if there's an existing task. We may be able to reuse it.\n\n var existingCallbackPriority = root.callbackPriority;\n\n if (existingCallbackPriority === newCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-scheduled\n // on the `act` queue.\n !( ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) {\n {\n // If we're going to re-use an existing task, it needs to exist.\n // Assume that discrete update microtasks are non-cancellable and null.\n // TODO: Temporary until we confirm this warning is not fired.\n if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) {\n error('Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.');\n }\n } // The priority hasn't changed. We can reuse the existing task. Exit.\n\n\n return;\n }\n\n if (existingCallbackNode != null) {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback$1(existingCallbackNode);\n } // Schedule a new callback.\n\n\n var newCallbackNode;\n\n if (newCallbackPriority === SyncLane) {\n // Special case: Sync React callbacks are scheduled on a special\n // internal queue\n if (root.tag === LegacyRoot) {\n if ( ReactCurrentActQueue$1.isBatchingLegacy !== null) {\n ReactCurrentActQueue$1.didScheduleLegacyUpdate = true;\n }\n\n scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root));\n } else {\n scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\n }\n\n {\n // Flush the queue in a microtask.\n if ( ReactCurrentActQueue$1.current !== null) {\n // Inside `act`, use our internal `act` queue so that these get flushed\n // at the end of the current scope even when using the sync version\n // of `act`.\n ReactCurrentActQueue$1.current.push(flushSyncCallbacks);\n } else {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n flushSyncCallbacks();\n }\n });\n }\n }\n\n newCallbackNode = null;\n } else {\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority;\n break;\n }\n\n newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n }\n\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n } // Since we know we're in a React event, we can clear the current\n // event time. The next update will compute a new event time.\n\n\n currentEventTime = NoTimestamp;\n currentEventTransitionLane = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && ( !didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n if (exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll\n // render synchronously to block concurrent data mutations, and we'll\n // includes all pending updates are included. If it still fails after\n // the second attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n //\n // This should only happen during a concurrent render, not a discrete or\n // synchronous update. We should have already checked for this when we\n // unwound the stack.\n markRootSuspended$1(root, lanes);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var renderWasConcurrent = !includesBlockingLane(root, lanes);\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We need to check again if something threw\n\n if (exitStatus === RootErrored) {\n var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (_errorRetryLanes !== NoLanes) {\n lanes = _errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, _errorRetryLanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var _fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw _fatalError;\n }\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, lanes);\n }\n }\n\n ensureRootIsScheduled(root, now());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\n\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n\n if (isRootDehydrated(root)) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, lanes) {\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n // Flow knows about invariant, so it complains if I add a break\n // statement, but eslint doesn't know about invariant, so it complains\n // if I do. eslint-disable-next-line no-fallthrough\n\n case RootErrored:\n {\n // We should have already attempted to retry this tree. If we reached\n // this point, it errored again. Commit it.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspended:\n {\n markRootSuspended$1(root, lanes); // We have an acceptable loading state. We need to figure out if we\n // should immediately commit it or wait a bit.\n\n if (includesOnlyRetries(lanes) && // do not delay if we're inside an act() scope\n !shouldForceFlushFallbacksInDEV()) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work on this root.\n break;\n }\n\n var suspendedLanes = root.suspendedLanes;\n\n if (!isSubsetOfLanes(suspendedLanes, lanes)) {\n // We should prefer to render the fallback of at the last\n // suspended level. Ping the last suspended level to try\n // rendering it again.\n // FIXME: What if the suspended lanes are Idle? Should not restart.\n var eventTime = requestEventTime();\n markRootPinged(root, suspendedLanes);\n break;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n\n\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout);\n break;\n }\n } // The work expired. Commit immediately.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspendedWithDelay:\n {\n markRootSuspended$1(root, lanes);\n\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n break;\n }\n\n if (!shouldForceFlushFallbacksInDEV()) {\n // This is not a transition, but we did trigger an avoided state.\n // Schedule a placeholder to display after a short delay, using the Just\n // Noticeable Difference.\n // TODO: Is the JND optimization worth the added complexity? If this is\n // the only reason we track the event time, then probably not.\n // Consider removing.\n var mostRecentEventTime = getMostRecentEventTime(root, lanes);\n var eventTimeMs = mostRecentEventTime;\n var timeElapsedMs = now() - eventTimeMs;\n\n var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; // Don't bother with a very short suspense time.\n\n\n if (_msUntilTimeout > 10) {\n // Instead of committing the fallback immediately, wait for more data\n // to arrive.\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout);\n break;\n }\n } // Commit the placeholder.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootCompleted:\n {\n // The work completed. Ready to commit.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n}\n\nfunction markRootSuspended$1(root, suspendedLanes) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n // TODO: Lol maybe there's a better way to factor this besides this\n // obnoxiously named function :)\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n markRootSuspended(root, suspendedLanes);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root) {\n {\n syncNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n flushPassiveEffects();\n var lanes = getNextLanes(root, NoLanes);\n\n if (!includesSomeLane(lanes, SyncLane)) {\n // There's no remaining sync work left.\n ensureRootIsScheduled(root, now());\n return null;\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n throw new Error('Root did not complete. This is a bug in React.');\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root, now());\n return null;\n}\n\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n markRootEntangled(root, mergeLanes(lanes, SyncLane));\n ensureRootIsScheduled(root, now());\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer();\n flushSyncCallbacks();\n }\n }\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction discreteUpdates(fn, a, b, c, d) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n return fn(a, b, c, d);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n if (executionContext === NoContext) {\n resetRenderTimer();\n }\n }\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncCallbacks();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\nfunction pushRenderLanes(fiber, lanes) {\n push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber);\n subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes);\n workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes);\n}\nfunction popRenderLanes(fiber) {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor, fiber);\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n if (workInProgress !== null) {\n var interruptedWork = workInProgress.return;\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n }\n\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction handleError(root, thrownValue) {\n do {\n var erroredWork = workInProgress;\n\n try {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksAfterThrow();\n resetCurrentFiber(); // TODO: I found and added this missing line while investigating a\n // separate issue. Write a regression test using string refs.\n\n ReactCurrentOwner$2.current = null;\n\n if (erroredWork === null || erroredWork.return === null) {\n // Expected to be working on a non-root fiber. This is a fatal error\n // because there's no ancestor that can handle it; the root is\n // supposed to capture all errors that weren't caught by an error\n // boundary.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n return;\n }\n\n if (enableProfilerTimer && erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n if (enableSchedulingProfiler) {\n markComponentRenderStopped();\n\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n } else {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n }\n }\n\n throwException(root, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes);\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n // Something in the return path also threw.\n thrownValue = yetAnotherThrownValue;\n\n if (workInProgress === erroredWork && erroredWork !== null) {\n // If this boundary has already errored, then we had trouble processing\n // the error. Bubble it to the next boundary.\n erroredWork = erroredWork.return;\n workInProgress = erroredWork;\n } else {\n erroredWork = workInProgress;\n }\n\n continue;\n } // Return to the normal work loop.\n\n\n return;\n } while (true);\n}\n\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher$2.current = prevDispatcher;\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n } // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n\n if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n}\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes;\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Already timed out, so perform work without checking if we need to yield.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$2.current = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = completedWork.alternate;\n var returnFiber = completedWork.return; // Check if the work completed or if something threw.\n\n if ((completedWork.flags & Incomplete) === NoFlags) {\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ( (completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, subtreeRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, subtreeRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n } else {\n // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n var _next = unwindWork(current, completedWork); // Because this fiber did not complete, don't reset its lanes.\n\n\n if (_next !== null) {\n // If completing this work spawned new work, do that next. We'll come\n // back here again.\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n _next.flags &= HostEffectMask;\n workInProgress = _next;\n return;\n }\n\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = completedWork.actualDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n }\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags;\n returnFiber.deletions = null;\n } else {\n // We've unwound all the way to the root.\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n return;\n }\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction commitRoot(root, recoverableErrors, transitions) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, previousUpdateLanePriority);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, renderPriorityLevel) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane; // Update the first and last pending times on this root. The new first\n // pending time is whatever is left on the root fiber.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes);\n markRootFinished(root, remainingLanes);\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n ReactCurrentBatchConfig$3.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n var shouldFireAfterActiveInstanceBlur = commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root.current, false);\n }\n }\n\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot$1();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root, now());\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var componentStack = recoverableError.stack;\n var digest = recoverableError.digest;\n onRecoverableError(recoverableError.value, {\n componentStack: componentStack,\n digest: digest\n });\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes;\n\n if (includesSomeLane(remainingLanes, SyncLane)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncCallbacks();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var _fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, _fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root.current, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = null;\n\n {\n fiber = nearestMountedAncestor;\n }\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning\n // will fire for errors that are thrown by destroy functions inside deleted\n // trees. What it should instead do is propagate the error to the parent of\n // the deleted tree. In the meantime, do not add this warning to the\n // allowlist; this is only for our internal use.\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Likely ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n var eventTime = requestEventTime();\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Restart from the root.\n prepareFreshStack(root, NoLanes);\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var eventTime = requestEventTime();\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n} // Computes the next Just Noticeable Difference (JND) boundary.\n// The theory is that a person can't tell the difference between small differences in time.\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\n// difference in the experience. However, waiting for longer might mean that we can avoid\n// showing an intermediate loading state. The longer we have already waited, the harder it\n// is to tell small differences in time. Therefore, the longer we've already waited,\n// the longer we can wait additionally. At some point we have to give up though.\n// We pick a train model where the next boundary commits at a consistent schedule.\n// These particular numbers are vague estimates. We expect to adjust them based on research.\n\nfunction jnd(timeElapsed) {\n return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\n}\n\nfunction checkForNestedUpdates() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = null;\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n\n {\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current !== null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child !== null && primarySubtreeFlag !== NoFlags) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n }\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork$1;\n\n{\n var dummyFiber = null;\n\n beginWork$1 = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Keep this code in sync with handleError; any changes here must have\n // corresponding changes there.\n\n\n resetContextDependencies();\n resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if ( unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {};\n\nfunction scheduleCallback$1(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue$1.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback(priorityLevel, callback);\n }\n }\n}\n\nfunction cancelCallback$1(callbackNode) {\n if ( callbackNode === fakeActCallbackNode) {\n return;\n } // In production, always call Scheduler. This function will be stripped out.\n\n\n return cancelCallback(callbackNode);\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue$1.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue$1.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\n\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType);\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var _root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (_root !== null) {\n scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags;\n this.subtreeFlags = NoFlags;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugSource = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nvar createFiber = function (tag, pendingProps, key, mode) {\n // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n};\n\nfunction shouldConstruct$1(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct$1(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugSource = current._debugSource;\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode;\n\n {\n mode |= StrictEffectsMode;\n }\n }\n } else {\n mode = NoMode;\n }\n\n if ( isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point–\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct$1(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n fiberTag = HostComponent;\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ( (mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_SCOPE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_CACHE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_TRACING_MARKER_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = ContextProvider;\n break getTag;\n\n case REACT_CONTEXT_TYPE:\n // This is a consumer\n fiberTag = ContextConsumer;\n break getTag;\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugSource = element._source;\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n isHidden: false\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugSource = source._debugSource;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.context = null;\n this.pendingContext = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.eventTimes = createLaneMap(NoLanes);\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.mutableReadLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.mutableSourceEagerHydrationData = null;\n }\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks) {\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var _initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: null,\n // not enabled yet\n transitions: null,\n pendingSuspenseBoundaries: null\n };\n uninitializedFiber.memoizedState = _initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.2.0';\n\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return hostFiber.stateNode;\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current);\n var update = createUpdate(eventTime, lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane, eventTime);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(eventTime, lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane, eventTime);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration$1(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, SyncLane, eventTime);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\nfunction attemptContinuousHydration$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n\n var container = root.containerInfo;\n\n if (container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(root.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \"root.unmount() to empty a root's container.\");\n }\n }\n }\n }\n\n updateContainer(children, root, null, null);\n};\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function () {\n {\n if (typeof arguments[0] === 'function') {\n error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('createRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render(<App />);');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.transitionCallbacks !== undefined) {\n transitionCallbacks = options.transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n return new ReactDOMRoot(root);\n}\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n}\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('hydrateRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, <App />)');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null; // TODO: Delete this option\n\n var mutableSources = options != null && options.hydratedSources || null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container); // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container);\n\n if (mutableSources) {\n for (var i = 0; i < mutableSources.length; i++) {\n var mutableSource = mutableSources[i];\n registerMutableSourceForHydration(root, mutableSource);\n }\n }\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('createRoot(): Creating roots directly with document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try using a container element created ' + 'for your app.');\n }\n\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n flushSync();\n return root;\n } else {\n // First clear any existing content.\n var rootSibling;\n\n while (rootSibling = container.lastChild) {\n container.removeChild(rootSibling);\n }\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback$1(callback, callerName) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('unmountComponentAtNode(...): Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nsetAttemptSynchronousHydration(attemptSynchronousHydration$1);\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\nsetGetCurrentUpdatePriority(getCurrentUpdatePriority);\nsetAttemptHydrationAtPriority(runWithPriority);\n\n{\n if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nsetRestoreImplementation(restoreControlledState$3);\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync);\n\nfunction createPortal$1(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nvar Internals = {\n usingClientEntryPoint: false,\n // Keep in sync with ReactTestUtils.js.\n // This is an array for better minification.\n Events: [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1]\n};\n\nfunction createRoot$1(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot(container, options);\n}\n\nfunction hydrateRoot$1(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync$1(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync(fn);\n}\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal$1;\nexports.createRoot = createRoot$1;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync$1;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot$1;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLDRDQUFPO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLG9EQUFXOztBQUVuQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RixhQUFhO0FBQzFHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDOztBQUVoQyxrQkFBa0I7O0FBRWxCLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUEsaUNBQWlDOztBQUVqQywwQ0FBMEM7O0FBRTFDLGdDQUFnQzs7QUFFaEMsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEO0FBQ2hELGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQzs7QUFFaEMsc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjs7QUFFQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IseUJBQXlCO0FBQzNDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7O0FBRUEsMkJBQTJCO0FBQzNCO0FBQ0E7O0FBRUEsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTs7QUFFQSw0QkFBNEI7QUFDNUI7O0FBRUEsaUJBQWlCO0FBQ2pCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRzs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZOzs7QUFHWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBLDhEQUE4RDtBQUM5RCxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsR0FBRztBQUNkOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNULHdCQUF3QjtBQUN4QjtBQUNBLFNBQVM7QUFDVCxpQ0FBaUM7QUFDakM7QUFDQSxTQUFTO0FBQ1QsMkJBQTJCO0FBQzNCO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkRBQTJEOztBQUUzRDtBQUNBOztBQUVBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCOzs7QUFHbEI7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0Isa0JBQWtCO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSwrQkFBK0I7QUFDL0I7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7OztBQUdBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7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Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUlBQWlJLDhCQUE4QjtBQUMvSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1GQUFtRjtBQUNuRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdHQUFnRztBQUNoRzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDBDQUEwQzs7O0FBR2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxN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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEOztBQUV2RCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLG9CQUFvQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFO0FBQ3JFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUEsdUNBQXVDOztBQUV2QywrQkFBK0I7QUFDL0I7O0FBRUE7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLDJDQUEyQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTs7QUFFQSxvQkFBb0IsaUNBQWlDO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLDRDQUE0QztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0RUFBNEU7O0FBRTVFLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQSw4QkFBOEI7QUFDOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFFBQVE7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxrREFBa0Q7QUFDbEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0EsZ0ZBQWdGO0FBQ2hGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFNBQVM7QUFDckI7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhHQUE4RztBQUM5RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osa0JBQWtCLGtCQUFrQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0JBQXdCO0FBQ25DLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQyxZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkMsV0FBVyxRQUFRO0FBQ25COztBQUVBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0VBQStFO0FBQy9FOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLG9DQUFvQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVB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O0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsT0FBTztBQUNqQztBQUNBOztBQUVBOztBQUVBLDBCQUEwQixPQUFPO0FBQ2pDO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTSwyRUFBMkUsb0dBQW9HLGtDQUFrQztBQUN2TjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNLG9HQUFvRztBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUVBQW1FOztBQUVuRSwrRkFBK0Y7QUFDL0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLDRCQUE0QjtBQUNsRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsd0JBQXdCO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyREFBMkQ7QUFDM0Q7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsMnZCQUEydkI7O0FBRTN2QjtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBLEVBQUUsbUJBQW1COztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RTtBQUN6RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUksY0FBYztBQUNsQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksZ0JBQWdCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLGNBQWM7QUFDdkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLCtDQUErQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0NBQStDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwrQ0FBK0M7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJIQUEySDtBQUMzSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsMkRBQTJEOztBQUUzRCxxREFBcUQ7QUFDckQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTs7QUFFQSwySEFBMkg7QUFDM0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTs7QUFFQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QjtBQUM3Qjs7QUFFQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDLGdCQUFnQjs7QUFFaEI7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQsMkRBQTJEOztBQUUzRCwrREFBK0Q7O0FBRS9EO0FBQ0EsOERBQThEO0FBQzlEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUEsa0NBQWtDOztBQUVsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0Esc0pBQXNKOztBQUV0SixxQ0FBcUM7QUFDckM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7QUFDOUQscURBQXFEO0FBQ3JELDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNEOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0Qjs7QUFFNUI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0ZBQXNGOztBQUV0Riw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDOztBQUUxQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKLGlHQUFpRztBQUNqRyxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDOztBQUV2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhJQUE4STs7QUFFOUk7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFVBQVU7QUFDVixrRUFBa0UsNENBQTRDO0FBQzlHOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZDQUE2QztBQUM3QyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQSxzREFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtSUFBbUk7QUFDbkk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1JQUFtSTtBQUNuSTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7OztBQUdSOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOEhBQThILHlDQUF5QztBQUN2Szs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxrREFBa0Q7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsNkJBQTZCO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLDZCQUE2QjtBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBLGVBQWUsYUFBYTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLGlDQUFpQztBQUM1QztBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxZQUFZO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR04sd0VBQXdFOztBQUV4RSxXQUFXLFlBQVk7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFD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Q0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkI7O0FBRTdCLHFDQUFxQzs7QUFFckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMkNBQTJDO0FBQ2pEOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjs7QUFFckIsaUZBQWlGO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtGQUFrRjtBQUNsRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnSUFBZ0k7QUFDaEk7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHlLQUF5SywwQ0FBMEM7QUFDbk47QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7OztBQUduQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDhCQUE4Qjs7QUFFOUIsZ0RBQWdEO0FBQ2hEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNFQUFzRTtBQUN0RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGVBQWU7QUFDekIsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0VBQWdFOztBQUVoRTtBQUNBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLFFBQVEsSUFBSTtBQUNaO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBOzs7QUFHQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQSxpSEFBaUg7QUFDakg7QUFDQTtBQUNBOztBQUVBLHlDQUF5QztBQUN6QyxNQUFNLEtBQUssRUFLTjtBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQsOEJBQThCO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTtB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QTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0M7O0FBRXBDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ04sbUNBQW1DO0FBQ25DOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQSx5RUFBeUU7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDOztBQUUzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7OztBQUdBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxzRUFBc0U7O0FBRXRFLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTix5Q0FBeUM7O0FBRXpDO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXREOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOzs7QUFHQTtBQUNBLElBQUk7QUFDSiwrR0FBK0c7QUFDL0c7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSixnR0FBZ0c7QUFDaEc7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLElBQUk7OztBQUdKLDBFQUEwRTs7QUFFMUU7QUFDQTtBQUNBLDRGQUE0RjtBQUM1Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVHQUF1RztBQUN2Rzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQzs7QUFFMUMsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsZ0dBQWdHO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseU5BQXlOLEdBQUc7O0FBRTVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7O0FBR1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047OztBQUdBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQSwwQ0FBMEM7O0FBRTFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDtBQUNBOztBQUVBLGdEQUFnRDtBQUNoRDs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGdIQUFnSDtBQUNoSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7OztBQUdBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLG9DQUFvQztBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOzs7QUFHQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLHNIQUFzSDs7QUFFdEgsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQSxrR0FBa0c7QUFDbEc7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDOztBQUUzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsY0FBYzs7O0FBR2Q7QUFDQTtBQUNBOztBQUVBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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Q0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx3RUFBd0U7O0FBRXhFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7OztBQUdWOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZCxrT0FBa08scUNBQXFDLHdGQUF3RiwyQkFBMkIscUJBQXFCLFFBQVEsYUFBYTtBQUNwYSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FO0FBQ25FOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7OztBQUdBLGlFQUFpRTtBQUNqRTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxRQUFRLDRJQUE0STtBQUNwSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7QUFDQTs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7O0FBRXZFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7O0FBRTVCOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0Rjs7QUFFNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUIsa0NBQWtDOztBQUVsQywrQkFBK0I7O0FBRS9CLDJCQUEyQjs7QUFFM0IsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0RBQXNEOztBQUV0RCxtREFBbUQ7O0FBRW5ELHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7O0FBRUEsK0NBQStDO0FBQy9DOztBQUVBLDhDQUE4Qzs7QUFFOUMseURBQXlEOztBQUV6RCw2Q0FBNkM7O0FBRTdDLCtDQUErQztBQUMvQzs7QUFFQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUEsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQSxnREFBZ0Q7O0FBRWhEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0osK0RBQStEOztBQUUvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2RUFBNkU7QUFDN0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFO0FBQ2xFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGOztBQUU1RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0VBQW9FOzs7QUFHcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTs7O0FBR1Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixtQkFBbUI7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxvRkFBb0Y7QUFDcEY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUVBQXFFOztBQUVyRTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDRCQUE0QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNENBQTRDO0FBQ3BEOzs7QUFHQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBLGtEQUFrRDs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1IQUFtSDs7QUFFbkg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEdBQUc7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4TEFBOEwsb0RBQW9ELEVBQUU7QUFDcFAsUUFBUTtBQUNSO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1PQUFtTyxvREFBb0QsRUFBRTtBQUN6UjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osZ0RBQWdEOztBQUVoRCx3Q0FBd0M7QUFDeEM7O0FBRUEsb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7O0FBRWxEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7O0FBRXRELHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7QUFFekM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0xBQXdMOztBQUV4TCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMEVBQTBFO0FBQzFFO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsR0FBRztBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEOztBQUV4RDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQSxtQ0FBbUM7O0FBRW5DOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTixzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RCxRQUFROztBQUVoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxnTEFBZ0wsOEJBQThCO0FBQzlNO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRDs7QUFFaEQ7O0FBRUE7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQSw4RUFBOEU7O0FBRTlFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsZUFBZTtBQUNmLG1CQUFtQjtBQUNuQixjQUFjO0FBQ2QsOEJBQThCO0FBQzlCLCtCQUErQjtBQUMvQiwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanM/YWM4OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1kb20uZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFNjaGVkdWxlciA9IHJlcXVpcmUoJ3NjaGVkdWxlcicpO1xuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxudmFyIHN1cHByZXNzV2FybmluZyA9IGZhbHNlO1xuZnVuY3Rpb24gc2V0U3VwcHJlc3NXYXJuaW5nKG5ld1N1cHByZXNzV2FybmluZykge1xuICB7XG4gICAgc3VwcHJlc3NXYXJuaW5nID0gbmV3U3VwcHJlc3NXYXJuaW5nO1xuICB9XG59IC8vIEluIERFViwgY2FsbHMgdG8gY29uc29sZS53YXJuIGFuZCBjb25zb2xlLmVycm9yIGdldCByZXBsYWNlZFxuLy8gYnkgY2FsbHMgdG8gdGhlc2UgbWV0aG9kcyBieSBhIEJhYmVsIHBsdWdpbi5cbi8vXG4vLyBJbiBQUk9EIChvciBpbiBwYWNrYWdlcyB3aXRob3V0IGFjY2VzcyB0byBSZWFjdCBpbnRlcm5hbHMpLFxuLy8gdGhleSBhcmUgbGVmdCBhcyB0aGV5IGFyZSBpbnN0ZWFkLlxuXG5mdW5jdGlvbiB3YXJuKGZvcm1hdCkge1xuICB7XG4gICAgaWYgKCFzdXBwcmVzc1dhcm5pbmcpIHtcbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGlmICghc3VwcHJlc3NXYXJuaW5nKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgRnVuY3Rpb25Db21wb25lbnQgPSAwO1xudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcbnZhciBJbmRldGVybWluYXRlQ29tcG9uZW50ID0gMjsgLy8gQmVmb3JlIHdlIGtub3cgd2hldGhlciBpdCBpcyBmdW5jdGlvbiBvciBjbGFzc1xuXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cblxudmFyIEhvc3RQb3J0YWwgPSA0OyAvLyBBIHN1YnRyZWUuIENvdWxkIGJlIGFuIGVudHJ5IHBvaW50IHRvIGEgZGlmZmVyZW50IHJlbmRlcmVyLlxuXG52YXIgSG9zdENvbXBvbmVudCA9IDU7XG52YXIgSG9zdFRleHQgPSA2O1xudmFyIEZyYWdtZW50ID0gNztcbnZhciBNb2RlID0gODtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSA5O1xudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xudmFyIEZvcndhcmRSZWYgPSAxMTtcbnZhciBQcm9maWxlciA9IDEyO1xudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XG52YXIgTWVtb0NvbXBvbmVudCA9IDE0O1xudmFyIFNpbXBsZU1lbW9Db21wb25lbnQgPSAxNTtcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XG52YXIgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50ID0gMTc7XG52YXIgRGVoeWRyYXRlZEZyYWdtZW50ID0gMTg7XG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XG52YXIgU2NvcGVDb21wb25lbnQgPSAyMTtcbnZhciBPZmZzY3JlZW5Db21wb25lbnQgPSAyMjtcbnZhciBMZWdhY3lIaWRkZW5Db21wb25lbnQgPSAyMztcbnZhciBDYWNoZUNvbXBvbmVudCA9IDI0O1xudmFyIFRyYWNpbmdNYXJrZXJDb21wb25lbnQgPSAyNTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudmFyIGVuYWJsZUNsaWVudFJlbmRlckZhbGxiYWNrT25UZXh0TWlzbWF0Y2ggPSB0cnVlOyAvLyBUT0RPOiBOZWVkIHRvIHJldmlldyB0aGlzIGNvZGUgb25lIG1vcmUgdGltZSBiZWZvcmUgbGFuZGluZ1xuLy8gdGhlIHJlYWN0LXJlY29uY2lsZXIgcGFja2FnZS5cblxudmFyIGVuYWJsZU5ld1JlY29uY2lsZXIgPSBmYWxzZTsgLy8gU3VwcG9ydCBsZWdhY3kgUHJpbWVyIHN1cHBvcnQgb24gaW50ZXJuYWwgRkIgd3d3XG5cbnZhciBlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uID0gZmFsc2U7IC8vIEZCLW9ubHkgdXNhZ2UuIFRoZSBuZXcgQVBJIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzLlxuXG52YXIgZW5hYmxlTGVnYWN5SGlkZGVuID0gZmFsc2U7IC8vIEVuYWJsZXMgdW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgZmVhdHVyZSBpbiBGaWJlclxuXG52YXIgZW5hYmxlU3VzcGVuc2VBdm9pZFRoaXNGYWxsYmFjayA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRml6elxuLy8gUmVhY3QgRE9NIENob3BwaW5nIEJsb2NrXG4vL1xuLy8gU2ltaWxhciB0byBtYWluIENob3BwaW5nIEJsb2NrIGJ1dCBvbmx5IGZsYWdzIHJlbGF0ZWQgdG8gUmVhY3QgRE9NLiBUaGVzZSBhcmVcbi8vIGdyb3VwZWQgYmVjYXVzZSB3ZSB3aWxsIGxpa2VseSBiYXRjaCBhbGwgb2YgdGhlbSBpbnRvIGEgc2luZ2xlIG1ham9yIHJlbGVhc2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGlzYWJsZSBzdXBwb3J0IGZvciBjb21tZW50IG5vZGVzIGFzIFJlYWN0IERPTSBjb250YWluZXJzLiBBbHJlYWR5IGRpc2FibGVkXG4vLyBpbiBvcGVuIHNvdXJjZSwgYnV0IHd3dyBjb2RlYmFzZSBzdGlsbCByZWxpZXMgb24gaXQuIE5lZWQgdG8gcmVtb3ZlLlxuXG52YXIgZGlzYWJsZUNvbW1lbnRzQXNET01Db250YWluZXJzID0gdHJ1ZTsgLy8gRGlzYWJsZSBqYXZhc2NyaXB0OiBVUkwgc3RyaW5ncyBpbiBocmVmIGZvciBYU1MgcHJvdGVjdGlvbi5cbi8vIGFuZCBjbGllbnQgcmVuZGVyaW5nLCBtb3N0bHkgdG8gYWxsb3cgSlNYIGF0dHJpYnV0ZXMgdG8gYXBwbHkgdG8gdGhlIGN1c3RvbVxuLy8gZWxlbWVudCdzIG9iamVjdCBwcm9wZXJ0aWVzIGluc3RlYWQgb2Ygb25seSBIVE1MIGF0dHJpYnV0ZXMuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExMzQ3XG5cbnZhciBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ID0gZmFsc2U7IC8vIERpc2FibGVzIGNoaWxkcmVuIGZvciA8dGV4dGFyZWE+IGVsZW1lbnRzXG52YXIgd2FybkFib3V0U3RyaW5nUmVmcyA9IGZhbHNlOyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVidWdnaW5nIGFuZCBEZXZUb29sc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFkZHMgdXNlciB0aW1pbmcgbWFya3MgZm9yIGUuZy4gc3RhdGUgdXBkYXRlcywgc3VzcGVuc2UsIGFuZCB3b3JrIGxvb3Agc3R1ZmYsXG4vLyBmb3IgYW4gZXhwZXJpbWVudGFsIHRpbWVsaW5lIHRvb2wuXG5cbnZhciBlbmFibGVTY2hlZHVsaW5nUHJvZmlsZXIgPSB0cnVlOyAvLyBIZWxwcyBpZGVudGlmeSBzaWRlIGVmZmVjdHMgaW4gcmVuZGVyLXBoYXNlIGxpZmVjeWNsZSBob29rcyBhbmQgc2V0U3RhdGVcblxudmFyIGVuYWJsZVByb2ZpbGVyVGltZXIgPSB0cnVlOyAvLyBSZWNvcmQgZHVyYXRpb25zIGZvciBjb21taXQgYW5kIHBhc3NpdmUgZWZmZWN0cyBwaGFzZXMuXG5cbnZhciBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzID0gdHJ1ZTsgLy8gUGhhc2UgcGFyYW0gcGFzc2VkIHRvIG9uUmVuZGVyIGNhbGxiYWNrIGRpZmZlcmVudGlhdGVzIGJldHdlZW4gYW4gXCJ1cGRhdGVcIiBhbmQgYSBcImNhc2NhZGluZy11cGRhdGVcIi5cblxudmFyIGFsbE5hdGl2ZUV2ZW50cyA9IG5ldyBTZXQoKTtcbi8qKlxuICogTWFwcGluZyBmcm9tIHJlZ2lzdHJhdGlvbiBuYW1lIHRvIGV2ZW50IG5hbWVcbiAqL1xuXG5cbnZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0ge307XG4vKipcbiAqIE1hcHBpbmcgZnJvbSBsb3dlcmNhc2UgcmVnaXN0cmF0aW9uIG5hbWVzIHRvIHRoZSBwcm9wZXJseSBjYXNlZCB2ZXJzaW9uLFxuICogdXNlZCB0byB3YXJuIGluIHRoZSBjYXNlIG9mIG1pc3NpbmcgZXZlbnQgaGFuZGxlcnMuIEF2YWlsYWJsZVxuICogb25seSBpbiB0cnVlLlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuXG52YXIgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyA9ICB7fSA7IC8vIFRydXN0IHRoZSBkZXZlbG9wZXIgdG8gb25seSB1c2UgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcyBpbiB0cnVlXG5cbmZ1bmN0aW9uIHJlZ2lzdGVyVHdvUGhhc2VFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpIHtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudChyZWdpc3RyYXRpb25OYW1lLCBkZXBlbmRlbmNpZXMpO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUgKyAnQ2FwdHVyZScsIGRlcGVuZGVuY2llcyk7XG59XG5mdW5jdGlvbiByZWdpc3RlckRpcmVjdEV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGRlcGVuZGVuY2llcykge1xuICB7XG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0pIHtcbiAgICAgIGVycm9yKCdFdmVudFJlZ2lzdHJ5OiBNb3JlIHRoYW4gb25lIHBsdWdpbiBhdHRlbXB0ZWQgdG8gcHVibGlzaCB0aGUgc2FtZSAnICsgJ3JlZ2lzdHJhdGlvbiBuYW1lLCBgJXNgLicsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBkZXBlbmRlbmNpZXM7XG5cbiAge1xuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHJlZ2lzdHJhdGlvbk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA9IHJlZ2lzdHJhdGlvbk5hbWU7XG5cbiAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSA9PT0gJ29uRG91YmxlQ2xpY2snKSB7XG4gICAgICBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLm9uZGJsY2xpY2sgPSByZWdpc3RyYXRpb25OYW1lO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVwZW5kZW5jaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYWxsTmF0aXZlRXZlbnRzLmFkZChkZXBlbmRlbmNpZXNbaV0pO1xuICB9XG59XG5cbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1RoZSBwcm92aWRlZCBgJXNgIGF0dHJpYnV0ZSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBhdHRyaWJ1dGVOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tQcm9wU3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgcHJvcCBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCBwcm9wTmFtZSwgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjaGVja0NTU1Byb3BlcnR5U3RyaW5nQ29lcmNpb24odmFsdWUsIHByb3BOYW1lKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGAlc2AgQ1NTIHByb3BlcnR5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHByb3BOYW1lLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrSHRtbFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIEhUTUwgbWFya3VwIHVzZXMgYSB2YWx1ZSBvZiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSBiZWZvcmUgdXNpbmcgaXQgaGVyZS4nLCB0eXBlTmFtZSh2YWx1ZSkpO1xuXG4gICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTsgLy8gdGhyb3cgKHRvIGhlbHAgY2FsbGVycyBmaW5kIHRyb3VibGVzaG9vdGluZyBjb21tZW50cylcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICB7XG4gICAgaWYgKHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ0Zvcm0gZmllbGQgdmFsdWVzICh2YWx1ZSwgY2hlY2tlZCwgZGVmYXVsdFZhbHVlLCBvciBkZWZhdWx0Q2hlY2tlZCBwcm9wcyknICsgJyBtdXN0IGJlIHN0cmluZ3MsIG5vdCAlcy4nICsgJyBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgYmVmb3JlIHVzaW5nIGl0IGhlcmUuJywgdHlwZU5hbWUodmFsdWUpKTtcblxuICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7IC8vIHRocm93ICh0byBoZWxwIGNhbGxlcnMgZmluZCB0cm91Ymxlc2hvb3RpbmcgY29tbWVudHMpXG4gICAgfVxuICB9XG59XG5cbi8vIEEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxuLy8gSXQgaXMgaGFuZGxlZCBieSBSZWFjdCBzZXBhcmF0ZWx5IGFuZCBzaG91bGRuJ3QgYmUgd3JpdHRlbiB0byB0aGUgRE9NLlxudmFyIFJFU0VSVkVEID0gMDsgLy8gQSBzaW1wbGUgc3RyaW5nIGF0dHJpYnV0ZS5cbi8vIEF0dHJpYnV0ZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIGZpbHRlciBhcmUgcHJlc3VtZWQgdG8gaGF2ZSB0aGlzIHR5cGUuXG5cbnZhciBTVFJJTkcgPSAxOyAvLyBBIHN0cmluZyBhdHRyaWJ1dGUgdGhhdCBhY2NlcHRzIGJvb2xlYW5zIGluIFJlYWN0LiBJbiBIVE1MLCB0aGVzZSBhcmUgY2FsbGVkXG4vLyBcImVudW1lcmF0ZWRcIiBhdHRyaWJ1dGVzIHdpdGggXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIiBhcyBwb3NzaWJsZSB2YWx1ZXMuXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBzZXQgdG8gYSBcInRydWVcIiBzdHJpbmcuXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXCJmYWxzZVwiIHN0cmluZy5cblxudmFyIEJPT0xFQU5JU0hfU1RSSU5HID0gMjsgLy8gQSByZWFsIGJvb2xlYW4gYXR0cmlidXRlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG5cbnZhciBCT09MRUFOID0gMzsgLy8gQW4gYXR0cmlidXRlIHRoYXQgY2FuIGJlIHVzZWQgYXMgYSBmbGFnIGFzIHdlbGwgYXMgd2l0aCBhIHZhbHVlLlxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgcHJlc2VudCAoc2V0IGVpdGhlciB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaXRzIG5hbWUpLlxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXG4vLyBGb3IgYW55IG90aGVyIHZhbHVlLCBzaG91bGQgYmUgcHJlc2VudCB3aXRoIHRoYXQgdmFsdWUuXG5cbnZhciBPVkVSTE9BREVEX0JPT0xFQU4gPSA0OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBudW1lcmljLlxuLy8gV2hlbiBmYWxzeSwgaXQgc2hvdWxkIGJlIHJlbW92ZWQuXG5cbnZhciBOVU1FUklDID0gNTsgLy8gQW4gYXR0cmlidXRlIHRoYXQgbXVzdCBiZSBwb3NpdGl2ZSBudW1lcmljIG9yIHBhcnNlIGFzIGEgcG9zaXRpdmUgbnVtZXJpYy5cbi8vIFdoZW4gZmFsc3ksIGl0IHNob3VsZCBiZSByZW1vdmVkLlxuXG52YXIgUE9TSVRJVkVfTlVNRVJJQyA9IDY7XG5cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbnZhciBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSID0gXCI6QS1aX2EtelxcXFx1MDBDMC1cXFxcdTAwRDZcXFxcdTAwRDgtXFxcXHUwMEY2XFxcXHUwMEY4LVxcXFx1MDJGRlxcXFx1MDM3MC1cXFxcdTAzN0RcXFxcdTAzN0YtXFxcXHUxRkZGXFxcXHUyMDBDLVxcXFx1MjAwRFxcXFx1MjA3MC1cXFxcdTIxOEZcXFxcdTJDMDAtXFxcXHUyRkVGXFxcXHUzMDAxLVxcXFx1RDdGRlxcXFx1RjkwMC1cXFxcdUZEQ0ZcXFxcdUZERjAtXFxcXHVGRkZEXCI7XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblxudmFyIEFUVFJJQlVURV9OQU1FX0NIQVIgPSBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgXCJcXFxcLS4wLTlcXFxcdTAwQjdcXFxcdTAzMDAtXFxcXHUwMzZGXFxcXHUyMDNGLVxcXFx1MjA0MFwiO1xudmFyIFZBTElEX0FUVFJJQlVURV9OQU1FX1JFR0VYID0gbmV3IFJlZ0V4cCgnXlsnICsgQVRUUklCVVRFX05BTUVfU1RBUlRfQ0hBUiArICddWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xudmFyIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGlzQXR0cmlidXRlTmFtZVNhZmUoYXR0cmlidXRlTmFtZSkge1xuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUsIGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChWQUxJRF9BVFRSSUJVVEVfTkFNRV9SRUdFWC50ZXN0KGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgdmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlW2F0dHJpYnV0ZU5hbWVdID0gdHJ1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xuXG4gIHtcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgIHJldHVybiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7XG4gIH1cblxuICBpZiAoaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPiAyICYmIChuYW1lWzBdID09PSAnbycgfHwgbmFtZVswXSA9PT0gJ08nKSAmJiAobmFtZVsxXSA9PT0gJ24nIHx8IG5hbWVbMV0gPT09ICdOJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICdmdW5jdGlvbic6IC8vICRGbG93SXNzdWUgc3ltYm9sIGlzIHBlcmZlY3RseSB2YWxpZCBoZXJlXG5cbiAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgcHJlZml4ID0gbmFtZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsIDUpO1xuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuXG4gICAgc3dpdGNoIChwcm9wZXJ0eUluZm8udHlwZSkge1xuICAgICAgY2FzZSBCT09MRUFOOlxuICAgICAgICByZXR1cm4gIXZhbHVlO1xuXG4gICAgICBjYXNlIE9WRVJMT0FERURfQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBmYWxzZTtcblxuICAgICAgY2FzZSBOVU1FUklDOlxuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpO1xuXG4gICAgICBjYXNlIFBPU0lUSVZFX05VTUVSSUM6XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGdldFByb3BlcnR5SW5mbyhuYW1lKSB7XG4gIHJldHVybiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KG5hbWUpID8gcHJvcGVydGllc1tuYW1lXSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCB0eXBlLCBtdXN0VXNlUHJvcGVydHksIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZU5hbWVzcGFjZSwgc2FuaXRpemVVUkwsIHJlbW92ZUVtcHR5U3RyaW5nKSB7XG4gIHRoaXMuYWNjZXB0c0Jvb2xlYW5zID0gdHlwZSA9PT0gQk9PTEVBTklTSF9TVFJJTkcgfHwgdHlwZSA9PT0gQk9PTEVBTiB8fCB0eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU47XG4gIHRoaXMuYXR0cmlidXRlTmFtZSA9IGF0dHJpYnV0ZU5hbWU7XG4gIHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlID0gYXR0cmlidXRlTmFtZXNwYWNlO1xuICB0aGlzLm11c3RVc2VQcm9wZXJ0eSA9IG11c3RVc2VQcm9wZXJ0eTtcbiAgdGhpcy5wcm9wZXJ0eU5hbWUgPSBuYW1lO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLnNhbml0aXplVVJMID0gc2FuaXRpemVVUkw7XG4gIHRoaXMucmVtb3ZlRW1wdHlTdHJpbmcgPSByZW1vdmVFbXB0eVN0cmluZztcbn0gLy8gV2hlbiBhZGRpbmcgYXR0cmlidXRlcyB0byB0aGlzIGxpc3QsIGJlIHN1cmUgdG8gYWxzbyBhZGQgdGhlbSB0b1xuLy8gdGhlIGBwb3NzaWJsZVN0YW5kYXJkTmFtZXNgIG1vZHVsZSB0byBlbnN1cmUgY2FzaW5nIGFuZCBpbmNvcnJlY3Rcbi8vIG5hbWUgd2FybmluZ3MuXG5cblxudmFyIHByb3BlcnRpZXMgPSB7fTsgLy8gVGhlc2UgcHJvcHMgYXJlIHJlc2VydmVkIGJ5IFJlYWN0LiBUaGV5IHNob3VsZG4ndCBiZSB3cml0dGVuIHRvIHRoZSBET00uXG5cbnZhciByZXNlcnZlZFByb3BzID0gWydjaGlsZHJlbicsICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsIC8vIFRPRE86IFRoaXMgcHJldmVudHMgdGhlIGFzc2lnbm1lbnQgb2YgZGVmYXVsdFZhbHVlIHRvIHJlZ3VsYXJcbi8vIGVsZW1lbnRzIChub3QganVzdCBpbnB1dHMpLiBOb3cgdGhhdCBSZWFjdERPTUlucHV0IGFzc2lnbnMgdG8gdGhlXG4vLyBkZWZhdWx0VmFsdWUgcHJvcGVydHkgLS0gZG8gd2UgbmVlZCB0aGlzP1xuJ2RlZmF1bHRWYWx1ZScsICdkZWZhdWx0Q2hlY2tlZCcsICdpbm5lckhUTUwnLCAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJywgJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsICdzdHlsZSddO1xuXG5yZXNlcnZlZFByb3BzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgUkVTRVJWRUQsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBBIGZldyBSZWFjdCBzdHJpbmcgYXR0cmlidXRlcyBoYXZlIGEgZGlmZmVyZW50IG5hbWUuXG4vLyBUaGlzIGlzIGEgbWFwcGluZyBmcm9tIFJlYWN0IHByb3AgbmFtZXMgdG8gdGhlIGF0dHJpYnV0ZSBuYW1lcy5cblxuW1snYWNjZXB0Q2hhcnNldCcsICdhY2NlcHQtY2hhcnNldCddLCBbJ2NsYXNzTmFtZScsICdjbGFzcyddLCBbJ2h0bWxGb3InLCAnZm9yJ10sIFsnaHR0cEVxdWl2JywgJ2h0dHAtZXF1aXYnXV0uZm9yRWFjaChmdW5jdGlvbiAoX3JlZikge1xuICB2YXIgbmFtZSA9IF9yZWZbMF0sXG4gICAgICBhdHRyaWJ1dGVOYW1lID0gX3JlZlsxXTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIFwiZW51bWVyYXRlZFwiIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBcInRydWVcIiBhbmQgXCJmYWxzZVwiLlxuLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuLy8gdGhlc2UgYXJlbid0IGJvb2xlYW4gYXR0cmlidXRlcyAodGhleSBhcmUgY29lcmNlZCB0byBzdHJpbmdzKS5cblxuWydjb250ZW50RWRpdGFibGUnLCAnZHJhZ2dhYmxlJywgJ3NwZWxsQ2hlY2snLCAndmFsdWUnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU5JU0hfU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgXCJlbnVtZXJhdGVkXCIgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXCJ0cnVlXCIgYW5kIFwiZmFsc2VcIi5cbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcbi8vIHRoZXNlIGFyZW4ndCBib29sZWFuIGF0dHJpYnV0ZXMgKHRoZXkgYXJlIGNvZXJjZWQgdG8gc3RyaW5ncykuXG4vLyBTaW5jZSB0aGVzZSBhcmUgU1ZHIGF0dHJpYnV0ZXMsIHRoZWlyIGF0dHJpYnV0ZSBuYW1lcyBhcmUgY2FzZS1zZW5zaXRpdmUuXG5cblsnYXV0b1JldmVyc2UnLCAnZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCcsICdmb2N1c2FibGUnLCAncHJlc2VydmVBbHBoYSddLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTklTSF9TVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgSFRNTCBib29sZWFuIGF0dHJpYnV0ZXMuXG5cblsnYWxsb3dGdWxsU2NyZWVuJywgJ2FzeW5jJywgLy8gTm90ZTogdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIHdyaXR0ZW4gdG8gdGhlIERPTVxuLy8gb24gdGhlIGNsaWVudCBzaWRlIGJlY2F1c2UgdGhlIGJyb3dzZXJzIGFyZSBpbmNvbnNpc3RlbnQuIEluc3RlYWQgd2UgY2FsbCBmb2N1cygpLlxuJ2F1dG9Gb2N1cycsICdhdXRvUGxheScsICdjb250cm9scycsICdkZWZhdWx0JywgJ2RlZmVyJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVQaWN0dXJlSW5QaWN0dXJlJywgJ2Rpc2FibGVSZW1vdGVQbGF5YmFjaycsICdmb3JtTm9WYWxpZGF0ZScsICdoaWRkZW4nLCAnbG9vcCcsICdub01vZHVsZScsICdub1ZhbGlkYXRlJywgJ29wZW4nLCAncGxheXNJbmxpbmUnLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAncmV2ZXJzZWQnLCAnc2NvcGVkJywgJ3NlYW1sZXNzJywgLy8gTWljcm9kYXRhXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgdGhlIGZldyBSZWFjdCBwcm9wcyB0aGF0IHdlIHNldCBhcyBET00gcHJvcGVydGllc1xuLy8gcmF0aGVyIHRoYW4gYXR0cmlidXRlcy4gVGhlc2UgYXJlIGFsbCBib29sZWFucy5cblxuWydjaGVja2VkJywgLy8gTm90ZTogYG9wdGlvbi5zZWxlY3RlZGAgaXMgbm90IHVwZGF0ZWQgaWYgYHNlbGVjdC5tdWx0aXBsZWAgaXNcbi8vIGRpc2FibGVkIHdpdGggYHJlbW92ZUF0dHJpYnV0ZWAuIFdlIGhhdmUgc3BlY2lhbCBsb2dpYyBmb3IgaGFuZGxpbmcgdGhpcy5cbidtdWx0aXBsZScsICdtdXRlZCcsICdzZWxlY3RlZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTiwgdHJ1ZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFyZSBcIm92ZXJsb2FkZWQgYm9vbGVhbnNcIjogdGhleSBiZWhhdmUgbGlrZVxuLy8gYm9vbGVhbnMsIGJ1dCBjYW4gYWxzbyBhY2NlcHQgYSBzdHJpbmcgdmFsdWUuXG5cblsnY2FwdHVyZScsICdkb3dubG9hZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgT1ZFUkxPQURFRF9CT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cblxuWydjb2xzJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGFuJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgbnVtYmVycy5cblxuWydyb3dTcGFuJywgJ3N0YXJ0J10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBOVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pO1xudmFyIENBTUVMSVpFID0gL1tcXC1cXDpdKFthLXpdKS9nO1xuXG52YXIgY2FwaXRhbGl6ZSA9IGZ1bmN0aW9uICh0b2tlbikge1xuICByZXR1cm4gdG9rZW5bMV0udG9VcHBlckNhc2UoKTtcbn07IC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBTVkcgYXR0cmlidXRlcyB0aGF0IG5lZWQgc3BlY2lhbCBjYXNpbmcsIG5hbWVzcGFjaW5nLFxuLy8gb3IgYm9vbGVhbiB2YWx1ZSBhc3NpZ25tZW50LiBSZWd1bGFyIGF0dHJpYnV0ZXMgdGhhdCBqdXN0IGFjY2VwdCBzdHJpbmdzXG4vLyBhbmQgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcmUgb21pdHRlZCwganVzdCBsaWtlIGluIHRoZSBIVE1MIGF0dHJpYnV0ZSBmaWx0ZXIuXG4vLyBTb21lIG9mIHRoZXNlIGF0dHJpYnV0ZXMgY2FuIGJlIGhhcmQgdG8gZmluZC4gVGhpcyBsaXN0IHdhcyBjcmVhdGVkIGJ5XG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXG5cblxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcbiAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVOYW1lLnJlcGxhY2UoQ0FNRUxJWkUsIGNhcGl0YWxpemUpO1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlLCAvLyBzYW5pdGl6ZVVSTFxuICBmYWxzZSk7XG59KTsgLy8gU3RyaW5nIFNWRyBhdHRyaWJ1dGVzIHdpdGggdGhlIHhsaW5rIG5hbWVzcGFjZS5cblxuWyd4bGluazphY3R1YXRlJywgJ3hsaW5rOmFyY3JvbGUnLCAneGxpbms6cm9sZScsICd4bGluazpzaG93JywgJ3hsaW5rOnRpdGxlJywgJ3hsaW5rOnR5cGUnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgZmFsc2UsIC8vIHNhbml0aXplVVJMXG4gIGZhbHNlKTtcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeG1sIG5hbWVzcGFjZS5cblxuWyd4bWw6YmFzZScsICd4bWw6bGFuZycsICd4bWw6c3BhY2UnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnLCBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZSBleGlzdHMgYm90aCBpbiBIVE1MIGFuZCBTVkcuXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXG4vLyB0aGUgUmVhY3QgbmFtZSBsaWtlIHdlIGRvIGZvciBhdHRyaWJ1dGVzIHRoYXQgZXhpc3Qgb25seSBpbiBIVE1MLlxuXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xuICBwcm9wZXJ0aWVzW2F0dHJpYnV0ZU5hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChhdHRyaWJ1dGVOYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSwgLy8gc2FuaXRpemVVUkxcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZXMgYWNjZXB0IFVSTHMuIFRoZXNlIG11c3Qgbm90IGFsbG93IGphdmFzY3JpcHQ6IFVSTFMuXG4vLyBUaGVzZSB3aWxsIGFsc28gbmVlZCB0byBhY2NlcHQgVHJ1c3RlZCBUeXBlcyBvYmplY3QgaW4gdGhlIGZ1dHVyZS5cblxudmFyIHhsaW5rSHJlZiA9ICd4bGlua0hyZWYnO1xucHJvcGVydGllc1t4bGlua0hyZWZdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZCgneGxpbmtIcmVmJywgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4neGxpbms6aHJlZicsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgdHJ1ZSwgLy8gc2FuaXRpemVVUkxcbmZhbHNlKTtcblsnc3JjJywgJ2hyZWYnLCAnYWN0aW9uJywgJ2Zvcm1BY3Rpb24nXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIHRydWUsIC8vIHNhbml0aXplVVJMXG4gIHRydWUpO1xufSk7XG5cbi8vIGFuZCBhbnkgbmV3bGluZSBvciB0YWIgYXJlIGZpbHRlcmVkIG91dCBhcyBpZiB0aGV5J3JlIG5vdCBwYXJ0IG9mIHRoZSBVUkwuXG4vLyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybC1wYXJzaW5nXG4vLyBUYWIgb3IgbmV3bGluZSBhcmUgZGVmaW5lZCBhcyBcXHJcXG5cXHQ6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYXNjaWktdGFiLW9yLW5ld2xpbmVcbi8vIEEgQzAgY29udHJvbCBpcyBhIGNvZGUgcG9pbnQgaW4gdGhlIHJhbmdlIFxcdTAwMDAgTlVMTCB0byBcXHUwMDFGXG4vLyBJTkZPUk1BVElPTiBTRVBBUkFUT1IgT05FLCBpbmNsdXNpdmU6XG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYzAtY29udHJvbC1vci1zcGFjZVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5cbnZhciBpc0phdmFTY3JpcHRQcm90b2NvbCA9IC9eW1xcdTAwMDAtXFx1MDAxRiBdKmpbXFxyXFxuXFx0XSphW1xcclxcblxcdF0qdltcXHJcXG5cXHRdKmFbXFxyXFxuXFx0XSpzW1xcclxcblxcdF0qY1tcXHJcXG5cXHRdKnJbXFxyXFxuXFx0XSppW1xcclxcblxcdF0qcFtcXHJcXG5cXHRdKnRbXFxyXFxuXFx0XSpcXDovaTtcbnZhciBkaWRXYXJuID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNhbml0aXplVVJMKHVybCkge1xuICB7XG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xuICAgICAgZGlkV2FybiA9IHRydWU7XG5cbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXG4gKiBUaGUgXCJleHBlY3RlZFwiIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLlxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlRm9yUHJvcGVydHkobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbykge1xuICB7XG4gICAgaWYgKHByb3BlcnR5SW5mby5tdXN0VXNlUHJvcGVydHkpIHtcbiAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUluZm8ucHJvcGVydHlOYW1lO1xuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBjaGVjayBwcm90ZWN0cyBtdWx0aXBsZSB1c2VzIG9mIGBleHBlY3RlZGAsIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uIHJ1bGUgaXMgZGlzYWJsZWQgaW4gc2V2ZXJhbCBzcG90c1xuICAgICAgLy8gYmVsb3cuXG4gICAgICB7XG4gICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24oZXhwZWN0ZWQsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIHByb3BlcnR5SW5mby5zYW5pdGl6ZVVSTCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IGZ1bGx5IGRpc2FibGVkIGphdmFzY3JpcHQ6IFVSTHMsIGFuZCBpZlxuICAgICAgICAvLyB0aGUgaHlkcmF0aW9uIGlzIHN1Y2Nlc3NmdWwgb2YgYSBqYXZhc2NyaXB0OiBVUkwsIHdlXG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdG8gd2FybiBvbiB0aGUgY2xpZW50LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XG4gICAgICB2YXIgc3RyaW5nVmFsdWUgPSBudWxsO1xuXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xuICAgICAgICBpZiAobm9kZS5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIGFuIGF0dHJpYnV0ZSBidXQgc2hvdWxkbid0IGhhdmUgaGFkIG9uZSwgc28gcmVhZCBpdFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IEJPT0xFQU4pIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBhIGJvb2xlYW4sIGl0IGRvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIHZhbHVlIGlzXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgIH0gLy8gRXZlbiBpZiB0aGlzIHByb3BlcnR5IHVzZXMgYSBuYW1lc3BhY2Ugd2UgdXNlIGdldEF0dHJpYnV0ZVxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXG4gICAgICAgIC8vIFRvIHVzZSBnZXRBdHRyaWJ1dGVOUyB3ZSBuZWVkIHRoZSBsb2NhbCBuYW1lIHdoaWNoIHdlIGRvbid0IGhhdmVcbiAgICAgICAgLy8gaW4gb3VyIGNvbmZpZyBhdG0uXG5cblxuICAgICAgICBzdHJpbmdWYWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICogVGhlIHRoaXJkIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLiBTb21lXG4gKiBhdHRyaWJ1dGVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIHtcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG51bGw7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUobmFtZSk7XG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKGV4cGVjdGVkLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcbiAgICAgIHJldHVybiBleHBlY3RlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbi8qKlxuICogU2V0cyB0aGUgdmFsdWUgZm9yIGEgcHJvcGVydHkgb24gYSBub2RlLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAqL1xuXG5mdW5jdGlvbiBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsIG5hbWUsIHZhbHVlLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKG5hbWUpO1xuXG4gIGlmIChzaG91bGRJZ25vcmVBdHRyaWJ1dGUobmFtZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSkge1xuICAgIHZhbHVlID0gbnVsbDtcbiAgfVxuXG5cbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xuICAgIGlmIChpc0F0dHJpYnV0ZU5hbWVTYWZlKG5hbWUpKSB7XG4gICAgICB2YXIgX2F0dHJpYnV0ZU5hbWUgPSBuYW1lO1xuXG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAge1xuICAgICAgICAgIGNoZWNrQXR0cmlidXRlU3RyaW5nQ29lcmNpb24odmFsdWUsIG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUsICAnJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbXVzdFVzZVByb3BlcnR5ID0gcHJvcGVydHlJbmZvLm11c3RVc2VQcm9wZXJ0eTtcblxuICBpZiAobXVzdFVzZVByb3BlcnR5KSB7XG4gICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHZhciB0eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udHJhcnkgdG8gYHNldEF0dHJpYnV0ZWAsIG9iamVjdCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseVxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxuICAgICAgbm9kZVtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoZSByZXN0IGFyZSB0cmVhdGVkIGFzIGF0dHJpYnV0ZXMgd2l0aCBzcGVjaWFsIGNhc2VzLlxuXG5cbiAgdmFyIGF0dHJpYnV0ZU5hbWUgPSBwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XG5cbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF90eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xuXG4gICAgaWYgKF90eXBlID09PSBCT09MRUFOIHx8IF90eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU4gJiYgdmFsdWUgPT09IHRydWUpIHtcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcbiAgICAgIC8vIGFuZCB3ZSB3b24ndCByZXF1aXJlIFRydXN0ZWQgVHlwZSBoZXJlLlxuICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgLy8gKCcnICsgdmFsdWUpIG1ha2VzIGl0IG91dHB1dCB0aGUgY29ycmVjdCB0b1N0cmluZygpLXZhbHVlLlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgY2hlY2tBdHRyaWJ1dGVTdHJpbmdDb2VyY2lvbih2YWx1ZSwgYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eUluZm8uc2FuaXRpemVVUkwpIHtcbiAgICAgICAgc2FuaXRpemVVUkwoYXR0cmlidXRlVmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGVOUyhhdHRyaWJ1dGVOYW1lc3BhY2UsIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKTtcbnZhciBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmRlYnVnX3RyYWNlX21vZGUnKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0xFR0FDWV9ISURERU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxlZ2FjeV9oaWRkZW4nKTtcbnZhciBSRUFDVF9DQUNIRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuY2FjaGUnKTtcbnZhciBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QudHJhY2luZ19tYXJrZXInKTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSBTeW1ib2wuaXRlcmF0b3I7XG52YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7XG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbWF5YmVJdGVyYXRvciA9IE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF07XG5cbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1heWJlSXRlcmF0b3I7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8vIEhlbHBlcnMgdG8gcGF0Y2ggY29uc29sZS5sb2dzIHRvIGF2b2lkIGxvZ2dpbmcgZHVyaW5nIHNpZGUtZWZmZWN0IGZyZWVcbi8vIHJlcGxheWluZyBvbiByZW5kZXIgZnVuY3Rpb24uIFRoaXMgY3VycmVudGx5IG9ubHkgcGF0Y2hlcyB0aGUgb2JqZWN0XG4vLyBsYXppbHkgd2hpY2ggd29uJ3QgY292ZXIgaWYgdGhlIGxvZyBmdW5jdGlvbiB3YXMgZXh0cmFjdGVkIGVhZ2VybHkuXG4vLyBXZSBjb3VsZCBhbHNvIGVhZ2VybHkgcGF0Y2ggdGhlIG1ldGhvZC5cbnZhciBkaXNhYmxlZERlcHRoID0gMDtcbnZhciBwcmV2TG9nO1xudmFyIHByZXZJbmZvO1xudmFyIHByZXZXYXJuO1xudmFyIHByZXZFcnJvcjtcbnZhciBwcmV2R3JvdXA7XG52YXIgcHJldkdyb3VwQ29sbGFwc2VkO1xudmFyIHByZXZHcm91cEVuZDtcblxuZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuXG5kaXNhYmxlZExvZy5fX3JlYWN0RGlzYWJsZWRMb2cgPSB0cnVlO1xuZnVuY3Rpb24gZGlzYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICBwcmV2TG9nID0gY29uc29sZS5sb2c7XG4gICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgIHByZXZXYXJuID0gY29uc29sZS53YXJuO1xuICAgICAgcHJldkVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICBwcmV2R3JvdXBDb2xsYXBzZWQgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkO1xuICAgICAgcHJldkdyb3VwRW5kID0gY29uc29sZS5ncm91cEVuZDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTA5OVxuXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGRpc2FibGVkTG9nLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoICFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRyb2w7XG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBzaG91bGQgYmUgc2V0dGluZyB0aGUgcHJvcHMgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZha2UucHJvdG90eXBlLCAncHJvcHMnLCB7XG4gICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQgd29uJ3QgdGhyb3cgaW4gYSBub24tc3RyaWN0IG1vZGUgZnVuY3Rpb24uXG4gICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAvLyBmcmFtZXMgYWRkZWQgYnkgdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICB0cnkge1xuICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBjb250cm9sID0geDtcbiAgICAgIH1cblxuICAgICAgZm4oKTtcbiAgICB9XG4gIH0gY2F0Y2ggKHNhbXBsZSkge1xuICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGUuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIGNvbnRyb2xMaW5lcyA9IGNvbnRyb2wuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgdmFyIGMgPSBjb250cm9sTGluZXMubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgLy8gVHlwaWNhbGx5IHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBtb3N0IG9uZS4gSG93ZXZlciwgc3RhY2sgZnJhbWVzIG1heSBiZVxuICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAvLyBhbmQgdGhlcmUgZm9yIGN1dCBvZmYgZWFybGllci4gU28gd2Ugc2hvdWxkIGZpbmQgdGhlIHJvb3QgbW9zdCBmcmFtZSBpblxuICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgYy0tO1xuICAgICAgfVxuXG4gICAgICBmb3IgKDsgcyA+PSAxICYmIGMgPj0gMDsgcy0tLCBjLS0pIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBmaW5kIHRoZSBmaXJzdCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSB3aGljaCBzaG91bGQgYmUgdGhlXG4gICAgICAgIC8vIGZyYW1lIHRoYXQgY2FsbGVkIG91ciBzYW1wbGUgZnVuY3Rpb24gYW5kIHRoZSBjb250cm9sLlxuICAgICAgICBpZiAoc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIEluIFY4LCB0aGUgZmlyc3QgbGluZSBpcyBkZXNjcmliaW5nIHRoZSBtZXNzYWdlIGJ1dCBvdGhlciBWTXMgZG9uJ3QuXG4gICAgICAgICAgLy8gSWYgd2UncmUgYWJvdXQgdG8gcmV0dXJuIHRoZSBmaXJzdCBsaW5lLCBhbmQgdGhlIGNvbnRyb2wgaXMgYWxzbyBvbiB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxpbmUsIHRoYXQncyBhIHByZXR0eSBnb29kIGluZGljYXRvciB0aGF0IG91ciBzYW1wbGUgdGhyZXcgYXQgc2FtZSBsaW5lIGFzXG4gICAgICAgICAgLy8gdGhlIGNvbnRyb2wuIEkuZS4gYmVmb3JlIHdlIGVudGVyZWQgdGhlIHNhbXBsZSBmcmFtZS4gU28gd2UgaWdub3JlIHRoaXMgcmVzdWx0LlxuICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB5b3UgcGFzc2VkIGEgY2xhc3MgdG8gZnVuY3Rpb24gY29tcG9uZW50LCBvciBub24tZnVuY3Rpb24uXG4gICAgICAgICAgaWYgKHMgIT09IDEgfHwgYyAhPT0gMSkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICBzLS07XG4gICAgICAgICAgICAgIGMtLTsgLy8gV2UgbWF5IHN0aWxsIGhhdmUgc2ltaWxhciBpbnRlcm1lZGlhdGUgZnJhbWVzIGZyb20gdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgICAvLyBUaGUgbmV4dCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSBzaG91bGQgYmUgb3VyIG1hdGNoIHRob3VnaC5cblxuICAgICAgICAgICAgICBpZiAoYyA8IDAgfHwgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgICAgICAgIC8vIFY4IGFkZHMgYSBcIm5ld1wiIHByZWZpeCBmb3IgbmF0aXZlIGNsYXNzZXMuIExldCdzIHJlbW92ZSBpdCB0byBtYWtlIGl0IHByZXR0aWVyLlxuICAgICAgICAgICAgICAgIHZhciBfZnJhbWUgPSAnXFxuJyArIHNhbXBsZUxpbmVzW3NdLnJlcGxhY2UoJyBhdCBuZXcgJywgJyBhdCAnKTsgLy8gSWYgb3VyIGNvbXBvbmVudCBmcmFtZSBpcyBsYWJlbGVkIFwiPGFub255bW91cz5cIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBoYXZlIGEgdXNlci1wcm92aWRlZCBcImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgICAvLyBzcGxpY2UgaXQgaW4gdG8gbWFrZSB0aGUgc3RhY2sgbW9yZSByZWFkYWJsZS5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGZuLmRpc3BsYXlOYW1lICYmIF9mcmFtZS5pbmNsdWRlcygnPGFub255bW91cz4nKSkge1xuICAgICAgICAgICAgICAgICAgX2ZyYW1lID0gX2ZyYW1lLnJlcGxhY2UoJzxhbm9ueW1vdXM+JywgZm4uZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlQ2xhc3NDb21wb25lbnRGcmFtZShjdG9yLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGN0b3IsIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIHNvdXJjZSwgb3duZXJGbikge1xuXG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB7XG4gICAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZSh0eXBlLCBzaG91bGRDb25zdHJ1Y3QodHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUodHlwZSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlJyk7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2VMaXN0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgLy8gTWVtbyBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUsIHNvdXJjZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgc291cmNlLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBkZXNjcmliZUZpYmVyKGZpYmVyKSB7XG4gIHZhciBvd25lciA9ICBmaWJlci5fZGVidWdPd25lciA/IGZpYmVyLl9kZWJ1Z093bmVyLnR5cGUgOiBudWxsIDtcbiAgdmFyIHNvdXJjZSA9ICBmaWJlci5fZGVidWdTb3VyY2UgO1xuXG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKGZpYmVyLnR5cGUpO1xuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdMYXp5Jyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmaWJlci50eXBlKTtcblxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZS5yZW5kZXIpO1xuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHJldHVybiBkZXNjcmliZUNsYXNzQ29tcG9uZW50RnJhbWUoZmliZXIudHlwZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZCh3b3JrSW5Qcm9ncmVzcykge1xuICB0cnkge1xuICAgIHZhciBpbmZvID0gJyc7XG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcztcblxuICAgIGRvIHtcbiAgICAgIGluZm8gKz0gZGVzY3JpYmVGaWJlcihub2RlKTtcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChub2RlKTtcblxuICAgIHJldHVybiBpbmZvO1xuICB9IGNhdGNoICh4KSB7XG4gICAgcmV0dXJuICdcXG5FcnJvciBnZW5lcmF0aW5nIHN0YWNrOiAnICsgeC5tZXNzYWdlICsgJ1xcbicgKyB4LnN0YWNrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSkge1xuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKHR5cGVvZiB0eXBlLnRhZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoKS4gJyArICdUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICByZXR1cm4gJ1Byb2ZpbGVyJztcblxuICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xuXG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB2YXIgcHJvdmlkZXIgPSB0eXBlO1xuICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgdmFyIG91dGVyTmFtZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbDtcblxuICAgICAgICBpZiAob3V0ZXJOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIG91dGVyTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnTWVtbyc7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShpbml0KHBheWxvYWQpKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lJDEob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBvdXRlclR5cGUuZGlzcGxheU5hbWUgfHwgKGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZSk7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcblxuXG5mdW5jdGlvbiBnZXRDb250ZXh0TmFtZSQxKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB7XG4gIHZhciB0YWcgPSBmaWJlci50YWcsXG4gICAgICB0eXBlID0gZmliZXIudHlwZTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ0NhY2hlJztcblxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgICAgdmFyIGNvbnRleHQgPSB0eXBlO1xuICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lJDEoY29udGV4dCkgKyAnLkNvbnN1bWVyJztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZSQxKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgY2FzZSBEZWh5ZHJhdGVkRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0RlaHlkcmF0ZWRGcmFnbWVudCc7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUkMSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIC8vIEhvc3QgY29tcG9uZW50IHR5cGUgaXMgdGhlIGRpc3BsYXkgbmFtZSAoZS5nLiBcImRpdlwiLCBcIlZpZXdcIilcbiAgICAgIHJldHVybiB0eXBlO1xuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHJldHVybiAnUm9vdCc7XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgcmV0dXJuICdUZXh0JztcblxuICAgIGNhc2UgTGF6eUNvbXBvbmVudDpcbiAgICAgIC8vIE5hbWUgY29tZXMgZnJvbSB0aGUgdHlwZSBpbiB0aGlzIGNhc2U7IHdlIGRvbid0IGhhdmUgYSB0YWcuXG4gICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgaWYgKHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUpIHtcbiAgICAgICAgLy8gRG9uJ3QgYmUgbGVzcyBzcGVjaWZpYyB0aGFuIHNoYXJlZC9nZXRDb21wb25lbnROYW1lRnJvbVR5cGVcbiAgICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNb2RlJztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgcmV0dXJuICdPZmZzY3JlZW4nO1xuXG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU2NvcGUnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICByZXR1cm4gJ1RyYWNpbmdNYXJrZXInO1xuICAgIC8vIFRoZSBkaXNwbGF5IG5hbWUgZm9yIHRoaXMgdGFncyBjb21lIGZyb20gdGhlIHVzZXItcHJvdmlkZWQgdHlwZTpcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG52YXIgY3VycmVudCA9IG51bGw7XG52YXIgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBvd25lciA9IGN1cnJlbnQuX2RlYnVnT3duZXI7XG5cbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgdHlwZW9mIG93bmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCkge1xuICB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IC8vIFNhZmUgYmVjYXVzZSBpZiBjdXJyZW50IGZpYmVyIGV4aXN0cywgd2UgYXJlIHJlY29uY2lsaW5nLFxuICAgIC8vIGFuZCBpdCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSB3b3JrLWluLXByb2dyZXNzIHZlcnNpb24uXG5cblxuICAgIHJldHVybiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoY3VycmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRDdXJyZW50RmliZXIoKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG4gICAgY3VycmVudCA9IG51bGw7XG4gICAgaXNSZW5kZXJpbmcgPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0Q3VycmVudEZpYmVyKGZpYmVyKSB7XG4gIHtcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IGZpYmVyID09PSBudWxsID8gbnVsbCA6IGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXY7XG4gICAgY3VycmVudCA9IGZpYmVyO1xuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlcigpIHtcbiAge1xuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBzZXRJc1JlbmRlcmluZyhyZW5kZXJpbmcpIHtcbiAge1xuICAgIGlzUmVuZGVyaW5nID0gcmVuZGVyaW5nO1xuICB9XG59XG5cbi8vIEZsb3cgZG9lcyBub3QgYWxsb3cgc3RyaW5nIGNvbmNhdGVuYXRpb24gb2YgbW9zdCBub24tc3RyaW5nIHR5cGVzLiBUbyB3b3JrXG4vLyBhcm91bmQgdGhpcyBsaW1pdGF0aW9uLCB3ZSB1c2UgYW4gb3BhcXVlIHR5cGUgdGhhdCBjYW4gb25seSBiZSBvYnRhaW5lZCBieVxuLy8gcGFzc2luZyB0aGUgdmFsdWUgdGhyb3VnaCBnZXRUb1N0cmluZ1ZhbHVlIGZpcnN0LlxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gVGhlIGNvZXJjaW9uIHNhZmV0eSBjaGVjayBpcyBwZXJmb3JtZWQgaW4gZ2V0VG9TdHJpbmdWYWx1ZSgpLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbnZhciBoYXNSZWFkT25seVZhbHVlID0ge1xuICBidXR0b246IHRydWUsXG4gIGNoZWNrYm94OiB0cnVlLFxuICBpbWFnZTogdHJ1ZSxcbiAgaGlkZGVuOiB0cnVlLFxuICByYWRpbzogdHJ1ZSxcbiAgcmVzZXQ6IHRydWUsXG4gIHN1Ym1pdDogdHJ1ZVxufTtcbmZ1bmN0aW9uIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHModGFnTmFtZSwgcHJvcHMpIHtcbiAge1xuICAgIGlmICghKGhhc1JlYWRPbmx5VmFsdWVbcHJvcHMudHlwZV0gfHwgcHJvcHMub25DaGFuZ2UgfHwgcHJvcHMub25JbnB1dCB8fCBwcm9wcy5yZWFkT25seSB8fCBwcm9wcy5kaXNhYmxlZCB8fCBwcm9wcy52YWx1ZSA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGB2YWx1ZWAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0VmFsdWVgLiBPdGhlcndpc2UsICcgKyAnc2V0IGVpdGhlciBgb25DaGFuZ2VgIG9yIGByZWFkT25seWAuJyk7XG4gICAgfVxuXG4gICAgaWYgKCEocHJvcHMub25DaGFuZ2UgfHwgcHJvcHMucmVhZE9ubHkgfHwgcHJvcHMuZGlzYWJsZWQgfHwgcHJvcHMuY2hlY2tlZCA9PSBudWxsKSkge1xuICAgICAgZXJyb3IoJ1lvdSBwcm92aWRlZCBhIGBjaGVja2VkYCBwcm9wIHRvIGEgZm9ybSBmaWVsZCB3aXRob3V0IGFuICcgKyAnYG9uQ2hhbmdlYCBoYW5kbGVyLiBUaGlzIHdpbGwgcmVuZGVyIGEgcmVhZC1vbmx5IGZpZWxkLiBJZiAnICsgJ3RoZSBmaWVsZCBzaG91bGQgYmUgbXV0YWJsZSB1c2UgYGRlZmF1bHRDaGVja2VkYC4gT3RoZXJ3aXNlLCAnICsgJ3NldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NoZWNrYWJsZShlbGVtKSB7XG4gIHZhciB0eXBlID0gZWxlbS50eXBlO1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgbm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyAmJiAodHlwZSA9PT0gJ2NoZWNrYm94JyB8fCB0eXBlID09PSAncmFkaW8nKTtcbn1cblxuZnVuY3Rpb24gZ2V0VHJhY2tlcihub2RlKSB7XG4gIHJldHVybiBub2RlLl92YWx1ZVRyYWNrZXI7XG59XG5cbmZ1bmN0aW9uIGRldGFjaFRyYWNrZXIobm9kZSkge1xuICBub2RlLl92YWx1ZVRyYWNrZXIgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZUZyb21Ob2RlKG5vZGUpIHtcbiAgdmFyIHZhbHVlID0gJyc7XG5cbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaWYgKGlzQ2hlY2thYmxlKG5vZGUpKSB7XG4gICAgdmFsdWUgPSBub2RlLmNoZWNrZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlID0gbm9kZS52YWx1ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gdHJhY2tWYWx1ZU9uTm9kZShub2RlKSB7XG4gIHZhciB2YWx1ZUZpZWxkID0gaXNDaGVja2FibGUobm9kZSkgPyAnY2hlY2tlZCcgOiAndmFsdWUnO1xuICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobm9kZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHZhbHVlRmllbGQpO1xuXG4gIHtcbiAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24obm9kZVt2YWx1ZUZpZWxkXSk7XG4gIH1cblxuICB2YXIgY3VycmVudFZhbHVlID0gJycgKyBub2RlW3ZhbHVlRmllbGRdOyAvLyBpZiBzb21lb25lIGhhcyBhbHJlYWR5IGRlZmluZWQgYSB2YWx1ZSBvciBTYWZhcmksIHRoZW4gYmFpbFxuICAvLyBhbmQgZG9uJ3QgdHJhY2sgdmFsdWUgd2lsbCBjYXVzZSBvdmVyIHJlcG9ydGluZyBvZiBjaGFuZ2VzLFxuICAvLyBidXQgaXQncyBiZXR0ZXIgdGhlbiBhIGhhcmQgZmFpbHVyZVxuICAvLyAobmVlZGVkIGZvciBjZXJ0YWluIHRlc3RzIHRoYXQgc3B5T24gaW5wdXQgdmFsdWVzIGFuZCBTYWZhcmkpXG5cbiAgaWYgKG5vZGUuaGFzT3duUHJvcGVydHkodmFsdWVGaWVsZCkgfHwgdHlwZW9mIGRlc2NyaXB0b3IgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkZXNjcmlwdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5zZXQgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZ2V0ID0gZGVzY3JpcHRvci5nZXQsXG4gICAgICBzZXQgPSBkZXNjcmlwdG9yLnNldDtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vZGUsIHZhbHVlRmllbGQsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0LmNhbGwodGhpcyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAge1xuICAgICAgICBjaGVja0Zvcm1GaWVsZFZhbHVlU3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfSk7IC8vIFdlIGNvdWxkJ3ZlIHBhc3NlZCB0aGlzIHRoZSBmaXJzdCB0aW1lXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxuICAvLyBDYWxsaW5nIGRlZmluZVByb3BlcnR5KCkgYWdhaW4gc2hvdWxkIGJlIGVxdWl2YWxlbnQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE3NjhcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZSwgdmFsdWVGaWVsZCwge1xuICAgIGVudW1lcmFibGU6IGRlc2NyaXB0b3IuZW51bWVyYWJsZVxuICB9KTtcbiAgdmFyIHRyYWNrZXIgPSB7XG4gICAgZ2V0VmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfSxcbiAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrRm9ybUZpZWxkVmFsdWVTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgfSxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGRldGFjaFRyYWNrZXIobm9kZSk7XG4gICAgICBkZWxldGUgbm9kZVt2YWx1ZUZpZWxkXTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0cmFja2VyO1xufVxuXG5mdW5jdGlvbiB0cmFjayhub2RlKSB7XG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRPRE86IE9uY2UgaXQncyBqdXN0IEZpYmVyIHdlIGNhbiBtb3ZlIHRoaXMgdG8gbm9kZS5fd3JhcHBlclN0YXRlXG5cblxuICBub2RlLl92YWx1ZVRyYWNrZXIgPSB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpO1xufVxuZnVuY3Rpb24gdXBkYXRlVmFsdWVJZkNoYW5nZWQobm9kZSkge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XG4gIC8vIHRoYXQgdHJ5aW5nIGFnYWluIHdpbGwgc3VjY2VlZFxuXG4gIGlmICghdHJhY2tlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIGxhc3RWYWx1ZSA9IHRyYWNrZXIuZ2V0VmFsdWUoKTtcbiAgdmFyIG5leHRWYWx1ZSA9IGdldFZhbHVlRnJvbU5vZGUobm9kZSk7XG5cbiAgaWYgKG5leHRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgdHJhY2tlci5zZXRWYWx1ZShuZXh0VmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50KGRvYykge1xuICBkb2MgPSBkb2MgfHwgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZCk7XG5cbiAgaWYgKHR5cGVvZiBkb2MgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBkb2MuYWN0aXZlRWxlbWVudCB8fCBkb2MuYm9keTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkb2MuYm9keTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XG52YXIgZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCA9IGZhbHNlO1xudmFyIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSBmYWxzZTtcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGlzQ29udHJvbGxlZChwcm9wcykge1xuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XG4gIHJldHVybiB1c2VzQ2hlY2tlZCA/IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA6IHByb3BzLnZhbHVlICE9IG51bGw7XG59XG4vKipcbiAqIEltcGxlbWVudHMgYW4gPGlucHV0PiBob3N0IGNvbXBvbmVudCB0aGF0IGFsbG93cyBzZXR0aW5nIHRoZXNlIG9wdGlvbmFsXG4gKiBwcm9wczogYGNoZWNrZWRgLCBgdmFsdWVgLCBgZGVmYXVsdENoZWNrZWRgLCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKlxuICogSWYgYGNoZWNrZWRgIG9yIGB2YWx1ZWAgYXJlIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnNcbiAqIHRoYXQgYWZmZWN0IHRoZSBjaGVja2VkIHN0YXRlIG9yIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIHRoZXkgYXJlIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbCBub3RcbiAqIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgZWxlbWVudC4gSW5zdGVhZCwgdGhlIHByb3BzIG11c3QgY2hhbmdlIGluIG9yZGVyIGZvclxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIGFzIHVuY2hlY2tlZCAob3IgYGRlZmF1bHRDaGVja2VkYClcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cbiAqXG4gKiBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1odG1sNS0yMDEyMTAyNS90aGUtaW5wdXQtZWxlbWVudC5odG1sXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgY2hlY2tlZCA9IHByb3BzLmNoZWNrZWQ7XG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgZGVmYXVsdENoZWNrZWQ6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIGNoZWNrZWQ6IGNoZWNrZWQgIT0gbnVsbCA/IGNoZWNrZWQgOiBub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWRcbiAgfSk7XG4gIHJldHVybiBob3N0UHJvcHM7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdpbnB1dCcsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdENoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycsIGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCkgfHwgJ0EgY29tcG9uZW50JywgcHJvcHMudHlwZSk7XG5cbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcbiAgICAgIGVycm9yKCclcyBjb250YWlucyBhbiBpbnB1dCBvZiB0eXBlICVzIHdpdGggYm90aCB2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgYW5kIHJlbW92ZSBvbmUgb2YgdGhlc2UgcHJvcHMuIE1vcmUgaW5mbzogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnLCBwcm9wcy50eXBlKTtcblxuICAgICAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMuZGVmYXVsdFZhbHVlO1xuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgaW5pdGlhbENoZWNrZWQ6IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA/IHByb3BzLmNoZWNrZWQgOiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCxcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUgIT0gbnVsbCA/IHByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlKSxcbiAgICBjb250cm9sbGVkOiBpc0NvbnRyb2xsZWQocHJvcHMpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIGNoZWNrZWQgPSBwcm9wcy5jaGVja2VkO1xuXG4gIGlmIChjaGVja2VkICE9IG51bGwpIHtcbiAgICBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCwgZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcblxuICB7XG4gICAgdmFyIGNvbnRyb2xsZWQgPSBpc0NvbnRyb2xsZWQocHJvcHMpO1xuXG4gICAgaWYgKCFub2RlLl93cmFwcGVyU3RhdGUuY29udHJvbGxlZCAmJiBjb250cm9sbGVkICYmICFkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYW4gdW5jb250cm9sbGVkIGlucHV0IHRvIGJlIGNvbnRyb2xsZWQuICcgKyAnVGhpcyBpcyBsaWtlbHkgY2F1c2VkIGJ5IHRoZSB2YWx1ZSBjaGFuZ2luZyBmcm9tIHVuZGVmaW5lZCB0byAnICsgJ2EgZGVmaW5lZCB2YWx1ZSwgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4uICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnKTtcblxuICAgICAgZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmICFjb250cm9sbGVkICYmICFkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgY2hhbmdpbmcgYSBjb250cm9sbGVkIGlucHV0IHRvIGJlIHVuY29udHJvbGxlZC4gJyArICdUaGlzIGlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIHZhbHVlIGNoYW5naW5nIGZyb20gYSBkZWZpbmVkIHRvICcgKyAndW5kZWZpbmVkLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbi4gJyArICdEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuIE1vcmUgaW5mbzogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDaGVja2VkKGVsZW1lbnQsIHByb3BzKTtcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XG4gIHZhciB0eXBlID0gcHJvcHMudHlwZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHZhbHVlID09PSAwICYmIG5vZGUudmFsdWUgPT09ICcnIHx8IC8vIFdlIGV4cGxpY2l0bHkgd2FudCB0byBjb2VyY2UgdG8gbnVtYmVyIGhlcmUgaWYgcG9zc2libGUuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcbiAgICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS52YWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xuICAgIC8vIFN1Ym1pdC9yZXNldCBpbnB1dHMgbmVlZCB0aGUgYXR0cmlidXRlIHJlbW92ZWQgY29tcGxldGVseSB0byBhdm9pZFxuICAgIC8vIGJsYW5rLXRleHQgYnV0dG9ucy5cbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSB2YWx1ZSBhdHRyaWJ1dGUsIHRoZSB2YWx1ZSBjb21lcyBmcm9tIGEgY2FzY2FkZSBvZlxuICAgIC8vIHByb3BlcnRpZXM6XG4gICAgLy8gIDEuIFRoZSB2YWx1ZSBSZWFjdCBwcm9wZXJ0eVxuICAgIC8vICAyLiBUaGUgZGVmYXVsdFZhbHVlIFJlYWN0IHByb3BlcnR5XG4gICAgLy8gIDMuIE90aGVyd2lzZSB0aGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlXG4gICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgdmFsdWUpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRWYWx1ZScpKSB7XG4gICAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgcHJvcHMudHlwZSwgZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy5kZWZhdWx0VmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgaXQgb25seSBjaGFuZ2VzIHdoZW4gaXQgbmVlZHNcbiAgICAvLyB0byBiZSByZW1vdmVkLCBzdWNoIGFzIHRyYW5zaXRpb25pbmcgZnJvbSBhIGNoZWNrYm94IGludG8gYSB0ZXh0IGlucHV0XG4gICAgaWYgKHByb3BzLmNoZWNrZWQgPT0gbnVsbCAmJiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCAhPSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFwcm9wcy5kZWZhdWx0Q2hlY2tlZDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RNb3VudFdyYXBwZXIoZWxlbWVudCwgcHJvcHMsIGlzSHlkcmF0aW5nKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcbiAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSB8fCBwcm9wcy5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdFZhbHVlJykpIHtcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGU7XG4gICAgdmFyIGlzQnV0dG9uID0gdHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0JzsgLy8gQXZvaWQgc2V0dGluZyB2YWx1ZSBhdHRyaWJ1dGUgb24gc3VibWl0L3Jlc2V0IGlucHV0cyBhcyBpdCBvdmVycmlkZXMgdGhlXG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBwcm92aWRlZCBieSB0aGUgYnJvd3Nlci4gU2VlOiAjMTI4NzJcblxuICAgIGlmIChpc0J1dHRvbiAmJiAocHJvcHMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy52YWx1ZSA9PT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaW5pdGlhbFZhbHVlID0gdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSk7IC8vIERvIG5vdCBhc3NpZ24gdmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQuIFRoaXMgcHJldmVudHMgdXNlciB0ZXh0IGlucHV0XG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxuXG4gICAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgICAge1xuICAgICAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCB1c2VcbiAgICAgICAgLy8gdGhlIHdyYXBwZXJTdGF0ZS5faW5pdGlhbFZhbHVlIHByb3BlcnR5LiBUaGlzIHVzZXM6XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgICAgICAvLyAgIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUgIT09IG5vZGUudmFsdWUpIHtcbiAgICAgICAgICBub2RlLnZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgdmFsdWUgYXR0cmlidXRlIGlzIHN5bmNocm9uaXplZCB0byB0aGUgcHJvcGVydHksXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxuICAgICAgLy8gYXNzaWdubWVudCBzdGVwIGFib3ZlLlxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBpbml0aWFsVmFsdWU7XG4gICAgfVxuICB9IC8vIE5vcm1hbGx5LCB3ZSdkIGp1c3QgZG8gYG5vZGUuY2hlY2tlZCA9IG5vZGUuY2hlY2tlZGAgdXBvbiBpbml0aWFsIG1vdW50LCBsZXNzIHRoaXMgYnVnXG4gIC8vIHRoaXMgaXMgbmVlZGVkIHRvIHdvcmsgYXJvdW5kIGEgY2hyb21lIGJ1ZyB3aGVyZSBzZXR0aW5nIGRlZmF1bHRDaGVja2VkXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cbiAgLy8gUmVmZXJlbmNlOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD02MDg0MTZcbiAgLy8gV2UgbmVlZCB0byB0ZW1wb3JhcmlseSB1bnNldCBuYW1lIHRvIGF2b2lkIGRpc3J1cHRpbmcgcmFkaW8gYnV0dG9uIGdyb3Vwcy5cblxuXG4gIHZhciBuYW1lID0gbm9kZS5uYW1lO1xuXG4gIGlmIChuYW1lICE9PSAnJykge1xuICAgIG5vZGUubmFtZSA9ICcnO1xuICB9XG5cbiAge1xuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGJvdGggdGhlIGNoZWNrZWQgcHJvcGVydHkgYW5kXG4gICAgLy8gYXR0cmlidXRlIGFyZSBhc3NpZ25lZCBhdCB0aGUgc2FtZSB0aW1lIHVzaW5nIGRlZmF1bHRDaGVja2VkLiBUaGlzIHVzZXM6XG4gICAgLy9cbiAgICAvLyAgIDEuIFRoZSBjaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMi4gVGhlIGRlZmF1bHRDaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxuICAgIC8vICAgMy4gT3RoZXJ3aXNlLCBmYWxzZVxuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhbm9kZS5kZWZhdWx0Q2hlY2tlZDtcbiAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQ7XG4gIH1cblxuICBpZiAobmFtZSAhPT0gJycpIHtcbiAgICBub2RlLm5hbWUgPSBuYW1lO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdXBkYXRlV3JhcHBlcihub2RlLCBwcm9wcyk7XG4gIHVwZGF0ZU5hbWVkQ291c2lucyhub2RlLCBwcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU5hbWVkQ291c2lucyhyb290Tm9kZSwgcHJvcHMpIHtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuXG4gIGlmIChwcm9wcy50eXBlID09PSAncmFkaW8nICYmIG5hbWUgIT0gbnVsbCkge1xuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcblxuICAgIHdoaWxlIChxdWVyeVJvb3QucGFyZW50Tm9kZSkge1xuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XG4gICAgfSAvLyBJZiBgcm9vdE5vZGUuZm9ybWAgd2FzIG5vbi1udWxsLCB0aGVuIHdlIGNvdWxkIHRyeSBgZm9ybS5lbGVtZW50c2AsXG4gICAgLy8gYnV0IHRoYXQgc29tZXRpbWVzIGJlaGF2ZXMgc3RyYW5nZWx5IGluIElFOC4gV2UgY291bGQgYWxzbyB0cnkgdXNpbmdcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXG4gICAgLy8gYW5kIHdvbid0IGluY2x1ZGUgaW5wdXRzIHRoYXQgdXNlIHRoZSBIVE1MNSBgZm9ybT1gIGF0dHJpYnV0ZS4gU2luY2VcbiAgICAvLyB0aGUgaW5wdXQgbWlnaHQgbm90IGV2ZW4gYmUgaW4gYSBmb3JtLiBJdCBtaWdodCBub3QgZXZlbiBiZSBpbiB0aGVcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcbiAgICAvLyBtaXNzIGFueXRoaW5nLlxuXG5cbiAgICB7XG4gICAgICBjaGVja0F0dHJpYnV0ZVN0cmluZ0NvZXJjaW9uKG5hbWUsICduYW1lJyk7XG4gICAgfVxuXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9JyArIEpTT04uc3RyaW5naWZ5KCcnICsgbmFtZSkgKyAnXVt0eXBlPVwicmFkaW9cIl0nKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBvdGhlck5vZGUgPSBncm91cFtpXTtcblxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IC8vIFRoaXMgd2lsbCB0aHJvdyBpZiByYWRpbyBidXR0b25zIHJlbmRlcmVkIGJ5IGRpZmZlcmVudCBjb3BpZXMgb2YgUmVhY3RcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxuICAgICAgLy8gVGhhdCdzIHByb2JhYmx5IG9rYXk7IHdlIGRvbid0IHN1cHBvcnQgaXQganVzdCBhcyB3ZSBkb24ndCBzdXBwb3J0XG4gICAgICAvLyBtaXhpbmcgUmVhY3QgcmFkaW8gYnV0dG9ucyB3aXRoIG5vbi1SZWFjdCBvbmVzLlxuXG5cbiAgICAgIHZhciBvdGhlclByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShvdGhlck5vZGUpO1xuXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgJyArICdzYW1lIGBuYW1lYCBpcyBub3Qgc3VwcG9ydGVkLicpO1xuICAgICAgfSAvLyBXZSBuZWVkIHVwZGF0ZSB0aGUgdHJhY2tlZCB2YWx1ZSBvbiB0aGUgbmFtZWQgY291c2luIHNpbmNlIHRoZSB2YWx1ZVxuICAgICAgLy8gd2FzIGNoYW5nZWQgYnV0IHRoZSBpbnB1dCBzYXcgbm8gZXZlbnQgb3IgdmFsdWUgc2V0XG5cblxuICAgICAgdXBkYXRlVmFsdWVJZkNoYW5nZWQob3RoZXJOb2RlKTsgLy8gSWYgdGhpcyBpcyBhIGNvbnRyb2xsZWQgcmFkaW8gYnV0dG9uIGdyb3VwLCBmb3JjaW5nIHRoZSBpbnB1dCB0aGF0XG4gICAgICAvLyB3YXMgcHJldmlvdXNseSBjaGVja2VkIHRvIHVwZGF0ZSB3aWxsIGNhdXNlIGl0IHRvIGJlIGNvbWUgcmUtY2hlY2tlZFxuICAgICAgLy8gYXMgYXBwcm9wcmlhdGUuXG5cbiAgICAgIHVwZGF0ZVdyYXBwZXIob3RoZXJOb2RlLCBvdGhlclByb3BzKTtcbiAgICB9XG4gIH1cbn0gLy8gSW4gQ2hyb21lLCBhc3NpZ25pbmcgZGVmYXVsdFZhbHVlIHRvIGNlcnRhaW4gaW5wdXQgdHlwZXMgdHJpZ2dlcnMgaW5wdXQgdmFsaWRhdGlvbi5cbi8vIEZvciBudW1iZXIgaW5wdXRzLCB0aGUgZGlzcGxheSB2YWx1ZSBsb3NlcyB0cmFpbGluZyBkZWNpbWFsIHBvaW50cy4gRm9yIGVtYWlsIGlucHV0cyxcbi8vIENocm9tZSByYWlzZXMgXCJUaGUgc3BlY2lmaWVkIHZhbHVlIDx4PiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXCIuXG4vL1xuLy8gSGVyZSB3ZSBjaGVjayB0byBzZWUgaWYgdGhlIGRlZmF1bHRWYWx1ZSBoYXMgYWN0dWFsbHkgY2hhbmdlZCwgYXZvaWRpbmcgdGhlc2UgcHJvYmxlbXNcbi8vIHdoZW4gdGhlIHVzZXIgaXMgaW5wdXR0aW5nIHRleHRcbi8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzcyNTNcblxuXG5mdW5jdGlvbiBzZXREZWZhdWx0VmFsdWUobm9kZSwgdHlwZSwgdmFsdWUpIHtcbiAgaWYgKCAvLyBGb2N1c2VkIG51bWJlciBpbnB1dHMgc3luY2hyb25pemUgb24gYmx1ci4gU2VlIENoYW5nZUV2ZW50UGx1Z2luLmpzXG4gIHR5cGUgIT09ICdudW1iZXInIHx8IGdldEFjdGl2ZUVsZW1lbnQobm9kZS5vd25lckRvY3VtZW50KSAhPT0gbm9kZSkge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IHRvU3RyaW5nKG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5kZWZhdWx0VmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBkaWRXYXJuU2VsZWN0ZWRTZXRPbk9wdGlvbiA9IGZhbHNlO1xudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcbnZhciBkaWRXYXJuSW52YWxpZElubmVySFRNTCA9IGZhbHNlO1xuLyoqXG4gKiBJbXBsZW1lbnRzIGFuIDxvcHRpb24+IGhvc3QgY29tcG9uZW50IHRoYXQgd2FybnMgd2hlbiBgc2VsZWN0ZWRgIGlzIHNldC5cbiAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BzKGVsZW1lbnQsIHByb3BzKSB7XG4gIHtcbiAgICAvLyBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgdGhlbiB0aGUgY2hpbGRyZW4gbXVzdCBiZSBzaW1wbGUuXG4gICAgaWYgKHByb3BzLnZhbHVlID09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdvYmplY3QnICYmIHByb3BzLmNoaWxkcmVuICE9PSBudWxsKSB7XG4gICAgICAgIFJlYWN0LkNoaWxkcmVuLmZvckVhY2gocHJvcHMuY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZGlkV2FybkludmFsaWRDaGlsZCkge1xuICAgICAgICAgICAgZGlkV2FybkludmFsaWRDaGlsZCA9IHRydWU7XG5cbiAgICAgICAgICAgIGVycm9yKCdDYW5ub3QgaW5mZXIgdGhlIG9wdGlvbiB2YWx1ZSBvZiBjb21wbGV4IGNoaWxkcmVuLiAnICsgJ1Bhc3MgYSBgdmFsdWVgIHByb3Agb3IgdXNlIGEgcGxhaW4gc3RyaW5nIGFzIGNoaWxkcmVuIHRvIDxvcHRpb24+LicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZElubmVySFRNTCkge1xuICAgICAgICAgIGRpZFdhcm5JbnZhbGlkSW5uZXJIVE1MID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCdQYXNzIGEgYHZhbHVlYCBwcm9wIGlmIHlvdSBzZXQgZGFuZ2Vyb3VzbHlJbm5lckhUTUwgc28gUmVhY3Qga25vd3MgJyArICd3aGljaCB2YWx1ZSBzaG91bGQgYmUgc2VsZWN0ZWQuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFRPRE86IFJlbW92ZSBzdXBwb3J0IGZvciBgc2VsZWN0ZWRgIGluIDxvcHRpb24+LlxuXG5cbiAgICBpZiAocHJvcHMuc2VsZWN0ZWQgIT0gbnVsbCAmJiAhZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24pIHtcbiAgICAgIGVycm9yKCdVc2UgdGhlIGBkZWZhdWx0VmFsdWVgIG9yIGB2YWx1ZWAgcHJvcHMgb24gPHNlbGVjdD4gaW5zdGVhZCBvZiAnICsgJ3NldHRpbmcgYHNlbGVjdGVkYCBvbiA8b3B0aW9uPi4nKTtcblxuICAgICAgZGlkV2FyblNlbGVjdGVkU2V0T25PcHRpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIC8vIHZhbHVlPVwiXCIgc2hvdWxkIG1ha2UgYSB2YWx1ZSBhdHRyaWJ1dGUgKCM2MjE5KVxuICBpZiAocHJvcHMudmFsdWUgIT0gbnVsbCkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUpKSk7XG4gIH1cbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDE7XG5cbntcbiAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEgPSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcblxuICBpZiAob3duZXJOYW1lKSB7XG4gICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG93bmVyTmFtZSArICdgLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbnZhciB2YWx1ZVByb3BOYW1lcyA9IFsndmFsdWUnLCAnZGVmYXVsdFZhbHVlJ107XG4vKipcbiAqIFZhbGlkYXRpb24gZnVuY3Rpb24gZm9yIGB2YWx1ZWAgYW5kIGBkZWZhdWx0VmFsdWVgLlxuICovXG5cbmZ1bmN0aW9uIGNoZWNrU2VsZWN0UHJvcFR5cGVzKHByb3BzKSB7XG4gIHtcbiAgICBjaGVja0NvbnRyb2xsZWRWYWx1ZVByb3BzKCdzZWxlY3QnLCBwcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcHJvcE5hbWUgPSB2YWx1ZVByb3BOYW1lc1tpXTtcblxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcHJvcE5hbWVJc0FycmF5ID0gaXNBcnJheShwcm9wc1twcm9wTmFtZV0pO1xuXG4gICAgICBpZiAocHJvcHMubXVsdGlwbGUgJiYgIXByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGFuIGFycmF5IGlmICcgKyAnYG11bHRpcGxlYCBpcyB0cnVlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb3BzLm11bHRpcGxlICYmIHByb3BOYW1lSXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XG4gIHZhciBvcHRpb25zID0gbm9kZS5vcHRpb25zO1xuXG4gIGlmIChtdWx0aXBsZSkge1xuICAgIHZhciBzZWxlY3RlZFZhbHVlcyA9IHByb3BWYWx1ZTtcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZSA9IHt9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gUHJlZml4IHRvIGF2b2lkIGNoYW9zIHdpdGggc3BlY2lhbCBrZXlzLlxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIHNlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnJCcgKyBvcHRpb25zW19pXS52YWx1ZSk7XG5cbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgb3B0aW9uc1tfaV0uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGVkICYmIHNldERlZmF1bHRTZWxlY3RlZCkge1xuICAgICAgICBvcHRpb25zW19pXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxuICAgIC8vIGJyb3dzZXJzIGZvciBhbGwgY2FzZXMuXG4gICAgdmFyIF9zZWxlY3RlZFZhbHVlID0gdG9TdHJpbmcoZ2V0VG9TdHJpbmdWYWx1ZShwcm9wVmFsdWUpKTtcblxuICAgIHZhciBkZWZhdWx0U2VsZWN0ZWQgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICBpZiAob3B0aW9uc1tfaTJdLnZhbHVlID09PSBfc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBvcHRpb25zW19pMl0uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXREZWZhdWx0U2VsZWN0ZWQpIHtcbiAgICAgICAgICBvcHRpb25zW19pMl0uZGVmYXVsdFNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlZmF1bHRTZWxlY3RlZCA9PT0gbnVsbCAmJiAhb3B0aW9uc1tfaTJdLmRpc2FibGVkKSB7XG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFNlbGVjdGVkICE9PSBudWxsKSB7XG4gICAgICBkZWZhdWx0U2VsZWN0ZWQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgPHNlbGVjdD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgb3B0aW9uYWxseSBzZXR0aW5nIHRoZVxuICogcHJvcHMgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuIElmIGBtdWx0aXBsZWAgaXMgZmFsc2UsIHRoZSBwcm9wIG11c3QgYmUgYVxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGNoYW5nZSB0aGVcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cbiAqXG4gKiBJZiBpdCBpcyBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBvcHRpb25zIHdpbGwgbm90XG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIG9wdGlvbnMgdG8gdXBkYXRlLlxuICpcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxuICogc2VsZWN0ZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMShlbGVtZW50LCBwcm9wcykge1xuICByZXR1cm4gYXNzaWduKHt9LCBwcm9wcywge1xuICAgIHZhbHVlOiB1bmRlZmluZWRcbiAgfSk7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIHtcbiAgICBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcyk7XG4gIH1cblxuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XG4gICAgd2FzTXVsdGlwbGU6ICEhcHJvcHMubXVsdGlwbGVcbiAgfTtcblxuICB7XG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSQxKSB7XG4gICAgICBlcnJvcignU2VsZWN0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBzZWxlY3QgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2NvbnRyb2xsZWQtY29tcG9uZW50cycpO1xuXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICBub2RlLm11bHRpcGxlID0gISFwcm9wcy5tdWx0aXBsZTtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH0gZWxzZSBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RVcGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHdhc011bHRpcGxlID0gbm9kZS5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlO1xuICBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xuICB2YXIgdmFsdWUgPSBwcm9wcy52YWx1ZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgdmFsdWUsIGZhbHNlKTtcbiAgfSBlbHNlIGlmICh3YXNNdWx0aXBsZSAhPT0gISFwcm9wcy5tdWx0aXBsZSkge1xuICAgIC8vIEZvciBzaW1wbGljaXR5LCByZWFwcGx5IGBkZWZhdWx0VmFsdWVgIGlmIGBtdWx0aXBsZWAgaXMgdG9nZ2xlZC5cbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmV2ZXJ0IHRoZSBzZWxlY3QgYmFjayB0byBpdHMgZGVmYXVsdCB1bnNlbGVjdGVkIHN0YXRlLlxuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5tdWx0aXBsZSA/IFtdIDogJycsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xuICB9XG59XG5cbnZhciBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IGZhbHNlO1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXG4gKiBgZGVmYXVsdFZhbHVlYC4gVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWRpdGlvbmFsIERPTSBBUEkgYmVjYXVzZSB2YWx1ZSBpc1xuICogdXN1YWxseSBzZXQgYXMgUENEQVRBIGNoaWxkcmVuLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGFmZmVjdCB0aGVcbiAqIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgc3VwcGxpZWQgKGFuZCBub3QgbnVsbC91bmRlZmluZWQpLCB0aGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsXG4gKiBub3QgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIHdpdGggYW4gZW1wdHkgdmFsdWUsIHRoZSBwcm9wXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cbiAqL1xuZnVuY3Rpb24gZ2V0SG9zdFByb3BzJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugb24gPHRleHRhcmVhPi4nKTtcbiAgfSAvLyBBbHdheXMgc2V0IGNoaWxkcmVuIHRvIHRoZSBzYW1lIHRoaW5nLiBJbiBJRTksIHRoZSBzZWxlY3Rpb24gcmFuZ2Ugd2lsbFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcbiAgLy8gdG8gb25seSBzZXQgdGhlIHZhbHVlIGlmL3doZW4gdGhlIHZhbHVlIGRpZmZlcnMgZnJvbSB0aGUgbm9kZSB2YWx1ZSAod2hpY2ggd291bGRcbiAgLy8gY29tcGxldGVseSBzb2x2ZSB0aGlzIElFOSBidWcpLCBidXQgU2ViYXN0aWFuK1NvcGhpZSBzZWVtZWQgdG8gbGlrZSB0aGlzXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxuICAvLyB0byBiZSBhIHN0cmluZy5cblxuXG4gIHZhciBob3N0UHJvcHMgPSBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICBjaGlsZHJlbjogdG9TdHJpbmcobm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSlcbiAgfSk7XG5cbiAgcmV0dXJuIGhvc3RQcm9wcztcbn1cbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG5cbiAge1xuICAgIGNoZWNrQ29udHJvbGxlZFZhbHVlUHJvcHMoJ3RleHRhcmVhJywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWRpZFdhcm5WYWxEZWZhdWx0VmFsKSB7XG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYSB0ZXh0YXJlYSB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdUZXh0YXJlYSBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgdGV4dGFyZWEgJyArICdhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcpO1xuXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluaXRpYWxWYWx1ZSA9IHByb3BzLnZhbHVlOyAvLyBPbmx5IGJvdGhlciBmZXRjaGluZyBkZWZhdWx0IHZhbHVlIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdFxuXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAoY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJZiB5b3Ugc3VwcGx5IGBkZWZhdWx0VmFsdWVgIG9uIGEgPHRleHRhcmVhPiwgZG8gbm90IHBhc3MgY2hpbGRyZW4uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCc8dGV4dGFyZWE+IGNhbiBvbmx5IGhhdmUgYXQgbW9zdCBvbmUgY2hpbGQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlblswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGNoaWxkcmVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gbnVsbCkge1xuICAgICAgZGVmYXVsdFZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgaW5pdGlhbFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0VG9TdHJpbmdWYWx1ZShpbml0aWFsVmFsdWUpXG4gIH07XG59XG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcbiAgdmFyIGRlZmF1bHRWYWx1ZSA9IGdldFRvU3RyaW5nVmFsdWUocHJvcHMuZGVmYXVsdFZhbHVlKTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIC8vIENhc3QgYHZhbHVlYCB0byBhIHN0cmluZyB0byBlbnN1cmUgdGhlIHZhbHVlIGlzIHNldCBjb3JyZWN0bHkuIFdoaWxlXG4gICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGRvIHRoaXMgYXMgbmVjZXNzYXJ5LCBqc2RvbSBkb2Vzbid0LlxuICAgIHZhciBuZXdWYWx1ZSA9IHRvU3RyaW5nKHZhbHVlKTsgLy8gVG8gYXZvaWQgc2lkZSBlZmZlY3RzIChzdWNoIGFzIGxvc2luZyB0ZXh0IHNlbGVjdGlvbiksIG9ubHkgc2V0IHZhbHVlIGlmIGNoYW5nZWRcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xuICAgICAgbm9kZS52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCAmJiBub2RlLmRlZmF1bHRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyhkZWZhdWx0VmFsdWUpO1xuICB9XG59XG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBUaGlzIGlzIGluIHBvc3RNb3VudCBiZWNhdXNlIHdlIG5lZWQgYWNjZXNzIHRvIHRoZSBET00gbm9kZSwgd2hpY2ggaXMgbm90XG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxuXG4gIHZhciB0ZXh0Q29udGVudCA9IG5vZGUudGV4dENvbnRlbnQ7IC8vIE9ubHkgc2V0IG5vZGUudmFsdWUgaWYgdGV4dENvbnRlbnQgaXMgZXF1YWwgdG8gdGhlIGV4cGVjdGVkXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXG4gIC8vIHdpbGwgcG9wdWxhdGUgdGV4dENvbnRlbnQgYXMgd2VsbC5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTAxNTI1L1xuXG4gIGlmICh0ZXh0Q29udGVudCA9PT0gbm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSkge1xuICAgIGlmICh0ZXh0Q29udGVudCAhPT0gJycgJiYgdGV4dENvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgIG5vZGUudmFsdWUgPSB0ZXh0Q29udGVudDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMihlbGVtZW50LCBwcm9wcykge1xuICAvLyBET00gY29tcG9uZW50IGlzIHN0aWxsIG1vdW50ZWQ7IHVwZGF0ZVxuICB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpO1xufVxuXG52YXIgSFRNTF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7XG52YXIgTUFUSF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCc7XG52YXIgU1ZHX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cblxuZnVuY3Rpb24gZ2V0SW50cmluc2ljTmFtZXNwYWNlKHR5cGUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnc3ZnJzpcbiAgICAgIHJldHVybiBTVkdfTkFNRVNQQUNFO1xuXG4gICAgY2FzZSAnbWF0aCc6XG4gICAgICByZXR1cm4gTUFUSF9OQU1FU1BBQ0U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEhUTUxfTkFNRVNQQUNFO1xuICB9XG59XG5mdW5jdGlvbiBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnROYW1lc3BhY2UsIHR5cGUpIHtcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAvLyBObyAob3IgZGVmYXVsdCkgcGFyZW50IG5hbWVzcGFjZTogcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICAgIHJldHVybiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XG4gIH1cblxuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBTVkdfTkFNRVNQQUNFICYmIHR5cGUgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxuICAgIHJldHVybiBIVE1MX05BTUVTUEFDRTtcbiAgfSAvLyBCeSBkZWZhdWx0LCBwYXNzIG5hbWVzcGFjZSBiZWxvdy5cblxuXG4gIHJldHVybiBwYXJlbnROYW1lc3BhY2U7XG59XG5cbi8qIGdsb2JhbHMgTVNBcHAgKi9cblxuLyoqXG4gKiBDcmVhdGUgYSBmdW5jdGlvbiB3aGljaCBoYXMgJ3Vuc2FmZScgcHJpdmlsZWdlcyAocmVxdWlyZWQgYnkgd2luZG93czggYXBwcylcbiAqL1xudmFyIGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24gPSBmdW5jdGlvbiAoZnVuYykge1xuICBpZiAodHlwZW9mIE1TQXBwICE9PSAndW5kZWZpbmVkJyAmJiBNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZnVuYyhhcmcwLCBhcmcxLCBhcmcyLCBhcmczKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cbn07XG5cbnZhciByZXVzYWJsZVNWR0NvbnRhaW5lcjtcbi8qKlxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuICogQGludGVybmFsXG4gKi9cblxudmFyIHNldElubmVySFRNTCA9IGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKG5vZGUsIGh0bWwpIHtcbiAgaWYgKG5vZGUubmFtZXNwYWNlVVJJID09PSBTVkdfTkFNRVNQQUNFKSB7XG5cbiAgICBpZiAoISgnaW5uZXJIVE1MJyBpbiBub2RlKSkge1xuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXG4gICAgICAvLyBuZXcgbWFya3VwIGluIGEgdGVtcCBub2RlIGFuZCB0aGVuIG1vdmUgdGhlIGNoaWxkIG5vZGVzIGFjcm9zcyBpbnRvXG4gICAgICAvLyB0aGUgdGFyZ2V0IG5vZGVcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZXVzYWJsZVNWR0NvbnRhaW5lci5pbm5lckhUTUwgPSAnPHN2Zz4nICsgaHRtbC52YWx1ZU9mKCkudG9TdHJpbmcoKSArICc8L3N2Zz4nO1xuICAgICAgdmFyIHN2Z05vZGUgPSByZXVzYWJsZVNWR0NvbnRhaW5lci5maXJzdENoaWxkO1xuXG4gICAgICB3aGlsZSAobm9kZS5maXJzdENoaWxkKSB7XG4gICAgICAgIG5vZGUucmVtb3ZlQ2hpbGQobm9kZS5maXJzdENoaWxkKTtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKHN2Z05vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLmFwcGVuZENoaWxkKHN2Z05vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLmlubmVySFRNTCA9IGh0bWw7XG59KTtcblxuLyoqXG4gKiBIVE1MIG5vZGVUeXBlIHZhbHVlcyB0aGF0IHJlcHJlc2VudCB0aGUgdHlwZSBvZiB0aGUgbm9kZVxuICovXG52YXIgRUxFTUVOVF9OT0RFID0gMTtcbnZhciBURVhUX05PREUgPSAzO1xudmFyIENPTU1FTlRfTk9ERSA9IDg7XG52YXIgRE9DVU1FTlRfTk9ERSA9IDk7XG52YXIgRE9DVU1FTlRfRlJBR01FTlRfTk9ERSA9IDExO1xuXG4vKipcbiAqIFNldCB0aGUgdGV4dENvbnRlbnQgcHJvcGVydHkgb2YgYSBub2RlLiBGb3IgdGV4dCB1cGRhdGVzLCBpdCdzIGZhc3RlclxuICogdG8gc2V0IHRoZSBgbm9kZVZhbHVlYCBvZiB0aGUgVGV4dCBub2RlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmdcbiAqIGAudGV4dENvbnRlbnRgIHdoaWNoIHdpbGwgcmVtb3ZlIHRoZSBleGlzdGluZyBub2RlIGFuZCBjcmVhdGUgYSBuZXcgb25lLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEBpbnRlcm5hbFxuICovXG5cbnZhciBzZXRUZXh0Q29udGVudCA9IGZ1bmN0aW9uIChub2RlLCB0ZXh0KSB7XG4gIGlmICh0ZXh0KSB7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcbiAgICAgIGZpcnN0Q2hpbGQubm9kZVZhbHVlID0gdGV4dDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn07XG5cbi8vIExpc3QgZGVyaXZlZCBmcm9tIEdlY2tvIHNvdXJjZSBjb2RlOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvNGU2MzhlZmM3MS9sYXlvdXQvc3R5bGUvdGVzdC9wcm9wZXJ0eV9kYXRhYmFzZS5qc1xudmFyIHNob3J0aGFuZFRvTG9uZ2hhbmQgPSB7XG4gIGFuaW1hdGlvbjogWydhbmltYXRpb25EZWxheScsICdhbmltYXRpb25EaXJlY3Rpb24nLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnYW5pbWF0aW9uRmlsbE1vZGUnLCAnYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnLCAnYW5pbWF0aW9uTmFtZScsICdhbmltYXRpb25QbGF5U3RhdGUnLCAnYW5pbWF0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgYmFja2dyb3VuZDogWydiYWNrZ3JvdW5kQXR0YWNobWVudCcsICdiYWNrZ3JvdW5kQ2xpcCcsICdiYWNrZ3JvdW5kQ29sb3InLCAnYmFja2dyb3VuZEltYWdlJywgJ2JhY2tncm91bmRPcmlnaW4nLCAnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJywgJ2JhY2tncm91bmRSZXBlYXQnLCAnYmFja2dyb3VuZFNpemUnXSxcbiAgYmFja2dyb3VuZFBvc2l0aW9uOiBbJ2JhY2tncm91bmRQb3NpdGlvblgnLCAnYmFja2dyb3VuZFBvc2l0aW9uWSddLFxuICBib3JkZXI6IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnLCAnYm9yZGVySW1hZ2VPdXRzZXQnLCAnYm9yZGVySW1hZ2VSZXBlYXQnLCAnYm9yZGVySW1hZ2VTbGljZScsICdib3JkZXJJbWFnZVNvdXJjZScsICdib3JkZXJJbWFnZVdpZHRoJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyTGVmdFdpZHRoJywgJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJywgJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrRW5kOiBbJ2JvcmRlckJsb2NrRW5kQ29sb3InLCAnYm9yZGVyQmxvY2tFbmRTdHlsZScsICdib3JkZXJCbG9ja0VuZFdpZHRoJ10sXG4gIGJvcmRlckJsb2NrU3RhcnQ6IFsnYm9yZGVyQmxvY2tTdGFydENvbG9yJywgJ2JvcmRlckJsb2NrU3RhcnRTdHlsZScsICdib3JkZXJCbG9ja1N0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyQm90dG9tOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckJvdHRvbVdpZHRoJ10sXG4gIGJvcmRlckNvbG9yOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlclRvcENvbG9yJ10sXG4gIGJvcmRlckltYWdlOiBbJ2JvcmRlckltYWdlT3V0c2V0JywgJ2JvcmRlckltYWdlUmVwZWF0JywgJ2JvcmRlckltYWdlU2xpY2UnLCAnYm9yZGVySW1hZ2VTb3VyY2UnLCAnYm9yZGVySW1hZ2VXaWR0aCddLFxuICBib3JkZXJJbmxpbmVFbmQ6IFsnYm9yZGVySW5saW5lRW5kQ29sb3InLCAnYm9yZGVySW5saW5lRW5kU3R5bGUnLCAnYm9yZGVySW5saW5lRW5kV2lkdGgnXSxcbiAgYm9yZGVySW5saW5lU3RhcnQ6IFsnYm9yZGVySW5saW5lU3RhcnRDb2xvcicsICdib3JkZXJJbmxpbmVTdGFydFN0eWxlJywgJ2JvcmRlcklubGluZVN0YXJ0V2lkdGgnXSxcbiAgYm9yZGVyTGVmdDogWydib3JkZXJMZWZ0Q29sb3InLCAnYm9yZGVyTGVmdFN0eWxlJywgJ2JvcmRlckxlZnRXaWR0aCddLFxuICBib3JkZXJSYWRpdXM6IFsnYm9yZGVyQm90dG9tTGVmdFJhZGl1cycsICdib3JkZXJCb3R0b21SaWdodFJhZGl1cycsICdib3JkZXJUb3BMZWZ0UmFkaXVzJywgJ2JvcmRlclRvcFJpZ2h0UmFkaXVzJ10sXG4gIGJvcmRlclJpZ2h0OiBbJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJ10sXG4gIGJvcmRlclN0eWxlOiBbJ2JvcmRlckJvdHRvbVN0eWxlJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclRvcFN0eWxlJ10sXG4gIGJvcmRlclRvcDogWydib3JkZXJUb3BDb2xvcicsICdib3JkZXJUb3BTdHlsZScsICdib3JkZXJUb3BXaWR0aCddLFxuICBib3JkZXJXaWR0aDogWydib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRXaWR0aCcsICdib3JkZXJUb3BXaWR0aCddLFxuICBjb2x1bW5SdWxlOiBbJ2NvbHVtblJ1bGVDb2xvcicsICdjb2x1bW5SdWxlU3R5bGUnLCAnY29sdW1uUnVsZVdpZHRoJ10sXG4gIGNvbHVtbnM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uV2lkdGgnXSxcbiAgZmxleDogWydmbGV4QmFzaXMnLCAnZmxleEdyb3cnLCAnZmxleFNocmluayddLFxuICBmbGV4RmxvdzogWydmbGV4RGlyZWN0aW9uJywgJ2ZsZXhXcmFwJ10sXG4gIGZvbnQ6IFsnZm9udEZhbWlseScsICdmb250RmVhdHVyZVNldHRpbmdzJywgJ2ZvbnRLZXJuaW5nJywgJ2ZvbnRMYW5ndWFnZU92ZXJyaWRlJywgJ2ZvbnRTaXplJywgJ2ZvbnRTaXplQWRqdXN0JywgJ2ZvbnRTdHJldGNoJywgJ2ZvbnRTdHlsZScsICdmb250VmFyaWFudCcsICdmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJywgJ2ZvbnRXZWlnaHQnLCAnbGluZUhlaWdodCddLFxuICBmb250VmFyaWFudDogWydmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJ10sXG4gIGdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWQ6IFsnZ3JpZEF1dG9Db2x1bW5zJywgJ2dyaWRBdXRvRmxvdycsICdncmlkQXV0b1Jvd3MnLCAnZ3JpZFRlbXBsYXRlQXJlYXMnLCAnZ3JpZFRlbXBsYXRlQ29sdW1ucycsICdncmlkVGVtcGxhdGVSb3dzJ10sXG4gIGdyaWRBcmVhOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXG4gIGdyaWRDb2x1bW46IFsnZ3JpZENvbHVtbkVuZCcsICdncmlkQ29sdW1uU3RhcnQnXSxcbiAgZ3JpZENvbHVtbkdhcDogWydjb2x1bW5HYXAnXSxcbiAgZ3JpZEdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXG4gIGdyaWRSb3c6IFsnZ3JpZFJvd0VuZCcsICdncmlkUm93U3RhcnQnXSxcbiAgZ3JpZFJvd0dhcDogWydyb3dHYXAnXSxcbiAgZ3JpZFRlbXBsYXRlOiBbJ2dyaWRUZW1wbGF0ZUFyZWFzJywgJ2dyaWRUZW1wbGF0ZUNvbHVtbnMnLCAnZ3JpZFRlbXBsYXRlUm93cyddLFxuICBsaXN0U3R5bGU6IFsnbGlzdFN0eWxlSW1hZ2UnLCAnbGlzdFN0eWxlUG9zaXRpb24nLCAnbGlzdFN0eWxlVHlwZSddLFxuICBtYXJnaW46IFsnbWFyZ2luQm90dG9tJywgJ21hcmdpbkxlZnQnLCAnbWFyZ2luUmlnaHQnLCAnbWFyZ2luVG9wJ10sXG4gIG1hcmtlcjogWydtYXJrZXJFbmQnLCAnbWFya2VyTWlkJywgJ21hcmtlclN0YXJ0J10sXG4gIG1hc2s6IFsnbWFza0NsaXAnLCAnbWFza0NvbXBvc2l0ZScsICdtYXNrSW1hZ2UnLCAnbWFza01vZGUnLCAnbWFza09yaWdpbicsICdtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknLCAnbWFza1JlcGVhdCcsICdtYXNrU2l6ZSddLFxuICBtYXNrUG9zaXRpb246IFsnbWFza1Bvc2l0aW9uWCcsICdtYXNrUG9zaXRpb25ZJ10sXG4gIG91dGxpbmU6IFsnb3V0bGluZUNvbG9yJywgJ291dGxpbmVTdHlsZScsICdvdXRsaW5lV2lkdGgnXSxcbiAgb3ZlcmZsb3c6IFsnb3ZlcmZsb3dYJywgJ292ZXJmbG93WSddLFxuICBwYWRkaW5nOiBbJ3BhZGRpbmdCb3R0b20nLCAncGFkZGluZ0xlZnQnLCAncGFkZGluZ1JpZ2h0JywgJ3BhZGRpbmdUb3AnXSxcbiAgcGxhY2VDb250ZW50OiBbJ2FsaWduQ29udGVudCcsICdqdXN0aWZ5Q29udGVudCddLFxuICBwbGFjZUl0ZW1zOiBbJ2FsaWduSXRlbXMnLCAnanVzdGlmeUl0ZW1zJ10sXG4gIHBsYWNlU2VsZjogWydhbGlnblNlbGYnLCAnanVzdGlmeVNlbGYnXSxcbiAgdGV4dERlY29yYXRpb246IFsndGV4dERlY29yYXRpb25Db2xvcicsICd0ZXh0RGVjb3JhdGlvbkxpbmUnLCAndGV4dERlY29yYXRpb25TdHlsZSddLFxuICB0ZXh0RW1waGFzaXM6IFsndGV4dEVtcGhhc2lzQ29sb3InLCAndGV4dEVtcGhhc2lzU3R5bGUnXSxcbiAgdHJhbnNpdGlvbjogWyd0cmFuc2l0aW9uRGVsYXknLCAndHJhbnNpdGlvbkR1cmF0aW9uJywgJ3RyYW5zaXRpb25Qcm9wZXJ0eScsICd0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24nXSxcbiAgd29yZFdyYXA6IFsnb3ZlcmZsb3dXcmFwJ11cbn07XG5cbi8qKlxuICogQ1NTIHByb3BlcnRpZXMgd2hpY2ggYWNjZXB0IG51bWJlcnMgYnV0IGFyZSBub3QgaW4gdW5pdHMgb2YgXCJweFwiLlxuICovXG52YXIgaXNVbml0bGVzc051bWJlciA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IHRydWUsXG4gIGFzcGVjdFJhdGlvOiB0cnVlLFxuICBib3JkZXJJbWFnZU91dHNldDogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogdHJ1ZSxcbiAgYm94RmxleDogdHJ1ZSxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxuICBib3hPcmRpbmFsR3JvdXA6IHRydWUsXG4gIGNvbHVtbkNvdW50OiB0cnVlLFxuICBjb2x1bW5zOiB0cnVlLFxuICBmbGV4OiB0cnVlLFxuICBmbGV4R3JvdzogdHJ1ZSxcbiAgZmxleFBvc2l0aXZlOiB0cnVlLFxuICBmbGV4U2hyaW5rOiB0cnVlLFxuICBmbGV4TmVnYXRpdmU6IHRydWUsXG4gIGZsZXhPcmRlcjogdHJ1ZSxcbiAgZ3JpZEFyZWE6IHRydWUsXG4gIGdyaWRSb3c6IHRydWUsXG4gIGdyaWRSb3dFbmQ6IHRydWUsXG4gIGdyaWRSb3dTcGFuOiB0cnVlLFxuICBncmlkUm93U3RhcnQ6IHRydWUsXG4gIGdyaWRDb2x1bW46IHRydWUsXG4gIGdyaWRDb2x1bW5FbmQ6IHRydWUsXG4gIGdyaWRDb2x1bW5TcGFuOiB0cnVlLFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXG4gIGZvbnRXZWlnaHQ6IHRydWUsXG4gIGxpbmVDbGFtcDogdHJ1ZSxcbiAgbGluZUhlaWdodDogdHJ1ZSxcbiAgb3BhY2l0eTogdHJ1ZSxcbiAgb3JkZXI6IHRydWUsXG4gIG9ycGhhbnM6IHRydWUsXG4gIHRhYlNpemU6IHRydWUsXG4gIHdpZG93czogdHJ1ZSxcbiAgekluZGV4OiB0cnVlLFxuICB6b29tOiB0cnVlLFxuICAvLyBTVkctcmVsYXRlZCBwcm9wZXJ0aWVzXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxuICBmbG9vZE9wYWNpdHk6IHRydWUsXG4gIHN0b3BPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXG4gIHN0cm9rZURhc2hvZmZzZXQ6IHRydWUsXG4gIHN0cm9rZU1pdGVybGltaXQ6IHRydWUsXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXG4gIHN0cm9rZVdpZHRoOiB0cnVlXG59O1xuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJlZml4IHZlbmRvci1zcGVjaWZpYyBwcmVmaXgsIGVnOiBXZWJraXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgc3R5bGUgbmFtZSwgZWc6IHRyYW5zaXRpb25EdXJhdGlvblxuICogQHJldHVybiB7c3RyaW5nfSBzdHlsZSBuYW1lIHByZWZpeGVkIHdpdGggYHByZWZpeGAsIHByb3Blcmx5IGNhbWVsQ2FzZWQsIGVnOlxuICogV2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uXG4gKi9cblxuZnVuY3Rpb24gcHJlZml4S2V5KHByZWZpeCwga2V5KSB7XG4gIHJldHVybiBwcmVmaXggKyBrZXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBrZXkuc3Vic3RyaW5nKDEpO1xufVxuLyoqXG4gKiBTdXBwb3J0IHN0eWxlIG5hbWVzIHRoYXQgbWF5IGNvbWUgcGFzc2VkIGluIHByZWZpeGVkIGJ5IGFkZGluZyBwZXJtdXRhdGlvbnNcbiAqIG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciBwcmVmaXhlcyA9IFsnV2Via2l0JywgJ21zJywgJ01veicsICdPJ107IC8vIFVzaW5nIE9iamVjdC5rZXlzIGhlcmUsIG9yIGVsc2UgdGhlIHZhbmlsbGEgZm9yLWluIGxvb3AgbWFrZXMgSUU4IGdvIGludG8gYW5cbi8vIGluZmluaXRlIGxvb3AsIGJlY2F1c2UgaXQgaXRlcmF0ZXMgb3ZlciB0aGUgbmV3bHkgYWRkZWQgcHJvcHMgdG9vLlxuXG5PYmplY3Qua2V5cyhpc1VuaXRsZXNzTnVtYmVyKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHByZWZpeGVzLmZvckVhY2goZnVuY3Rpb24gKHByZWZpeCkge1xuICAgIGlzVW5pdGxlc3NOdW1iZXJbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gaXNVbml0bGVzc051bWJlcltwcm9wXTtcbiAgfSk7XG59KTtcblxuLyoqXG4gKiBDb252ZXJ0IGEgdmFsdWUgaW50byB0aGUgcHJvcGVyIGNzcyB3cml0YWJsZSB2YWx1ZS4gVGhlIHN0eWxlIG5hbWUgYG5hbWVgXG4gKiBzaG91bGQgYmUgbG9naWNhbCAobm8gaHlwaGVucyksIGFzIHNwZWNpZmllZFxuICogaW4gYENTU1Byb3BlcnR5LmlzVW5pdGxlc3NOdW1iZXJgLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBwcm9wZXJ0eSBuYW1lIHN1Y2ggYXMgYHRvcE1hcmdpbmAuXG4gKiBAcGFyYW0geyp9IHZhbHVlIENTUyBwcm9wZXJ0eSB2YWx1ZSBzdWNoIGFzIGAxMHB4YC5cbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBzdHlsZSB2YWx1ZSB3aXRoIGRpbWVuc2lvbnMgYXBwbGllZC5cbiAqL1xuXG5mdW5jdGlvbiBkYW5nZXJvdXNTdHlsZVZhbHVlKG5hbWUsIHZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KSB7XG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcbiAgLy8gd2hvbGUgc3RyaW5nIHdpbGwgYmUgZXNjYXBlZCB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgaW5qZWN0ZWQgaW50b1xuICAvLyB0aGUgbWFya3VwLiBJZiB5b3UgcHJvdmlkZSB1bnNhZmUgdXNlciBkYXRhIGhlcmUgdGhleSBjYW4gaW5qZWN0XG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxuICAvLyBodHRwczovL3d3dy5vd2FzcC5vcmcvaW5kZXgucGhwL1hTU19GaWx0ZXJfRXZhc2lvbl9DaGVhdF9TaGVldFxuICAvLyBodHRwOi8vd3d3LnRoZXNwYW5uZXIuY28udWsvMjAwNy8xMS8yNi91bHRpbWF0ZS14c3MtY3NzLWluamVjdGlvbi9cbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxuICAvLyB3aGljaCBoYXMgbGVhZCB0byBhIGdyZWF0ZXIgZGlzY3Vzc2lvbiBhYm91dCBob3cgd2UncmUgZ29pbmcgdG9cbiAgLy8gdHJ1c3QgVVJMcyBtb3ZpbmcgZm9yd2FyZC4gU2VlICMyMTE1OTAxXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKGlzVW5pdGxlc3NOdW1iZXIuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgaXNVbml0bGVzc051bWJlcltuYW1lXSkpIHtcbiAgICByZXR1cm4gdmFsdWUgKyAncHgnOyAvLyBQcmVzdW1lcyBpbXBsaWNpdCAncHgnIHN1ZmZpeCBmb3IgdW5pdGxlc3MgbnVtYmVyc1xuICB9XG5cbiAge1xuICAgIGNoZWNrQ1NTUHJvcGVydHlTdHJpbmdDb2VyY2lvbih2YWx1ZSwgbmFtZSk7XG4gIH1cblxuICByZXR1cm4gKCcnICsgdmFsdWUpLnRyaW0oKTtcbn1cblxudmFyIHVwcGVyY2FzZVBhdHRlcm4gPSAvKFtBLVpdKS9nO1xudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgQ1NTIHByb3BlcnR5IG5hbWUsIGZvciBleGFtcGxlOlxuICpcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ2JhY2tncm91bmRDb2xvcicpXG4gKiAgIDwgXCJiYWNrZ3JvdW5kLWNvbG9yXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ01velRyYW5zaXRpb24nKVxuICogICA8IFwiLW1vei10cmFuc2l0aW9uXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ21zVHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbXMtdHJhbnNpdGlvblwiXG4gKlxuICogQXMgTW9kZXJuaXpyIHN1Z2dlc3RzIChodHRwOi8vbW9kZXJuaXpyLmNvbS9kb2NzLyNwcmVmaXhlZCksIGFuIGBtc2AgcHJlZml4XG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxuICovXG5cbmZ1bmN0aW9uIGh5cGhlbmF0ZVN0eWxlTmFtZShuYW1lKSB7XG4gIHJldHVybiBuYW1lLnJlcGxhY2UodXBwZXJjYXNlUGF0dGVybiwgJy0kMScpLnRvTG93ZXJDYXNlKCkucmVwbGFjZShtc1BhdHRlcm4sICctbXMtJyk7XG59XG5cbnZhciB3YXJuVmFsaWRTdHlsZSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIC8vICdtc1RyYW5zZm9ybScgaXMgY29ycmVjdCwgYnV0IHRoZSBvdGhlciBwcmVmaXhlcyBzaG91bGQgYmUgY2FwaXRhbGl6ZWRcbiAgdmFyIGJhZFZlbmRvcmVkU3R5bGVOYW1lUGF0dGVybiA9IC9eKD86d2Via2l0fG1venxvKVtBLVpdLztcbiAgdmFyIG1zUGF0dGVybiQxID0gL14tbXMtLztcbiAgdmFyIGh5cGhlblBhdHRlcm4gPSAvLSguKS9nOyAvLyBzdHlsZSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb25cblxuICB2YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXHMqJC87XG4gIHZhciB3YXJuZWRTdHlsZU5hbWVzID0ge307XG4gIHZhciB3YXJuZWRTdHlsZVZhbHVlcyA9IHt9O1xuICB2YXIgd2FybmVkRm9yTmFOVmFsdWUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSBmYWxzZTtcblxuICB2YXIgY2FtZWxpemUgPSBmdW5jdGlvbiAoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcbiAgICAgIHJldHVybiBjaGFyYWN0ZXIudG9VcHBlckNhc2UoKTtcbiAgICB9KTtcbiAgfTtcblxuICB2YXIgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZU5hbWVzW25hbWVdID0gdHJ1ZTtcblxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcbiAgICAvLyAoaHR0cDovL3d3dy5hbmRpc21pdGguY29tL2Jsb2cvMjAxMi8wMi9tb2Rlcm5penItcHJlZml4ZWQvKSwgYW4gYC1tc2AgcHJlZml4XG4gICAgLy8gaXMgY29udmVydGVkIHRvIGxvd2VyY2FzZSBgbXNgLlxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4kMSwgJ21zLScpKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlTmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIHZlbmRvci1wcmVmaXhlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpKTtcbiAgfTtcblxuICB2YXIgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlVmFsdWVzLmhhc093blByb3BlcnR5KHZhbHVlKSAmJiB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoXCJTdHlsZSBwcm9wZXJ0eSB2YWx1ZXMgc2hvdWxkbid0IGNvbnRhaW4gYSBzZW1pY29sb24uIFwiICsgJ1RyeSBcIiVzOiAlc1wiIGluc3RlYWQuJywgbmFtZSwgdmFsdWUucmVwbGFjZShiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4sICcnKSk7XG4gIH07XG5cbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNOYU4gPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9yTmFOVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3YXJuZWRGb3JOYU5WYWx1ZSA9IHRydWU7XG5cbiAgICBlcnJvcignYE5hTmAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHZhciB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkgPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkRm9ySW5maW5pdHlWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSB0cnVlO1xuXG4gICAgZXJyb3IoJ2BJbmZpbml0eWAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xuICB9O1xuXG4gIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XG4gICAgaWYgKG5hbWUuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAgIHdhcm5IeXBoZW5hdGVkU3R5bGVOYW1lKG5hbWUpO1xuICAgIH0gZWxzZSBpZiAoYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICAgIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZShuYW1lKTtcbiAgICB9IGVsc2UgaWYgKGJhZFN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uUGF0dGVybi50ZXN0KHZhbHVlKSkge1xuICAgICAgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzTmFOKG5hbWUsIHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICB3YXJuU3R5bGVWYWx1ZUlzSW5maW5pdHkobmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxudmFyIHdhcm5WYWxpZFN0eWxlJDEgPSB3YXJuVmFsaWRTdHlsZTtcblxuLyoqXG4gKiBPcGVyYXRpb25zIGZvciBkZWFsaW5nIHdpdGggQ1NTIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBUaGlzIGNyZWF0ZXMgYSBzdHJpbmcgdGhhdCBpcyBleHBlY3RlZCB0byBiZSBlcXVpdmFsZW50IHRvIHRoZSBzdHlsZVxuICogYXR0cmlidXRlIGdlbmVyYXRlZCBieSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIEl0IGJ5LXBhc3NlcyB3YXJuaW5ncyBhbmRcbiAqIHNlY3VyaXR5IGNoZWNrcyBzbyBpdCdzIG5vdCBzYWZlIHRvIHVzZSB0aGlzIHZhbHVlIGZvciBhbnl0aGluZyBvdGhlciB0aGFuXG4gKiBjb21wYXJpc29uLiBJdCBpcyBvbmx5IHVzZWQgaW4gREVWIGZvciBTU1IgdmFsaWRhdGlvbi5cbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMoc3R5bGVzKSB7XG4gIHtcbiAgICB2YXIgc2VyaWFsaXplZCA9ICcnO1xuICAgIHZhciBkZWxpbWl0ZXIgPSAnJztcblxuICAgIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICAgIGlmICghc3R5bGVzLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHlsZVZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XG5cbiAgICAgIGlmIChzdHlsZVZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcbiAgICAgICAgc2VyaWFsaXplZCArPSBkZWxpbWl0ZXIgKyAoaXNDdXN0b21Qcm9wZXJ0eSA/IHN0eWxlTmFtZSA6IGh5cGhlbmF0ZVN0eWxlTmFtZShzdHlsZU5hbWUpKSArICc6JztcbiAgICAgICAgc2VyaWFsaXplZCArPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVWYWx1ZSwgaXNDdXN0b21Qcm9wZXJ0eSk7XG4gICAgICAgIGRlbGltaXRlciA9ICc7JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZCB8fCBudWxsO1xuICB9XG59XG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBtdWx0aXBsZSBzdHlsZXMgb24gYSBub2RlLiAgSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgYXNcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xuICovXG5cbmZ1bmN0aW9uIHNldFZhbHVlRm9yU3R5bGVzKG5vZGUsIHN0eWxlcykge1xuICB2YXIgc3R5bGUgPSBub2RlLnN0eWxlO1xuXG4gIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcbiAgICBpZiAoIXN0eWxlcy5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuXG4gICAge1xuICAgICAgaWYgKCFpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICAgIHdhcm5WYWxpZFN0eWxlJDEoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHN0eWxlVmFsdWUgPSBkYW5nZXJvdXNTdHlsZVZhbHVlKHN0eWxlTmFtZSwgc3R5bGVzW3N0eWxlTmFtZV0sIGlzQ3VzdG9tUHJvcGVydHkpO1xuXG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xuICAgICAgc3R5bGVOYW1lID0gJ2Nzc0Zsb2F0JztcbiAgICB9XG5cbiAgICBpZiAoaXNDdXN0b21Qcm9wZXJ0eSkge1xuICAgICAgc3R5bGUuc2V0UHJvcGVydHkoc3R5bGVOYW1lLCBzdHlsZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVbc3R5bGVOYW1lXSA9IHN0eWxlVmFsdWU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVmFsdWVFbXB0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XG59XG4vKipcbiAqIEdpdmVuIHtjb2xvcjogJ3JlZCcsIG92ZXJmbG93OiAnaGlkZGVuJ30gcmV0dXJucyB7XG4gKiAgIGNvbG9yOiAnY29sb3InLFxuICogICBvdmVyZmxvd1g6ICdvdmVyZmxvdycsXG4gKiAgIG92ZXJmbG93WTogJ292ZXJmbG93JyxcbiAqIH0uIFRoaXMgY2FuIGJlIHJlYWQgYXMgXCJ0aGUgb3ZlcmZsb3dZIHByb3BlcnR5IHdhcyBzZXQgYnkgdGhlIG92ZXJmbG93XG4gKiBzaG9ydGhhbmRcIi4gVGhhdCBpcywgdGhlIHZhbHVlcyBhcmUgdGhlIHByb3BlcnR5IHRoYXQgZWFjaCB3YXMgZGVyaXZlZCBmcm9tLlxuICovXG5cblxuZnVuY3Rpb24gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlcykge1xuICB2YXIgZXhwYW5kZWQgPSB7fTtcblxuICBmb3IgKHZhciBrZXkgaW4gc3R5bGVzKSB7XG4gICAgdmFyIGxvbmdoYW5kcyA9IHNob3J0aGFuZFRvTG9uZ2hhbmRba2V5XSB8fCBba2V5XTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9uZ2hhbmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBleHBhbmRlZFtsb25naGFuZHNbaV1dID0ga2V5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBhbmRlZDtcbn1cbi8qKlxuICogV2hlbiBtaXhpbmcgc2hvcnRoYW5kIGFuZCBsb25naGFuZCBwcm9wZXJ0eSBuYW1lcywgd2Ugd2FybiBkdXJpbmcgdXBkYXRlcyBpZlxuICogd2UgZXhwZWN0IGFuIGluY29ycmVjdCByZXN1bHQgdG8gb2NjdXIuIEluIHBhcnRpY3VsYXIsIHdlIHdhcm4gZm9yOlxuICpcbiAqIFVwZGF0aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIG92ZXJ3cml0dGVuKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250OiAnYmF6JywgZm9udFZhcmlhbnQ6ICdiYXInfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250ID0gJ2JheidcbiAqIFJlbW92aW5nIGEgc2hvcnRoYW5kIHByb3BlcnR5IChsb25naGFuZCBnZXRzIGxvc3QgdG9vKTpcbiAqICAge2ZvbnQ6ICdmb28nLCBmb250VmFyaWFudDogJ2Jhcid9IC0+IHtmb250VmFyaWFudDogJ2Jhcid9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnJ1xuICogUmVtb3ZpbmcgYSBsb25naGFuZCBwcm9wZXJ0eSAoc2hvdWxkIHJldmVydCB0byBzaG9ydGhhbmQ7IGRvZXNuJ3QpOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdmb28nfVxuICogICBiZWNvbWVzIC5zdHlsZS5mb250VmFyaWFudCA9ICcnXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0U3R5bGVzKSB7XG4gIHtcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXhwYW5kZWRVcGRhdGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKHN0eWxlVXBkYXRlcyk7XG4gICAgdmFyIGV4cGFuZGVkU3R5bGVzID0gZXhwYW5kU2hvcnRoYW5kTWFwKG5leHRTdHlsZXMpO1xuICAgIHZhciB3YXJuZWRBYm91dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGV4cGFuZGVkVXBkYXRlcykge1xuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW2tleV07XG4gICAgICB2YXIgY29ycmVjdE9yaWdpbmFsS2V5ID0gZXhwYW5kZWRTdHlsZXNba2V5XTtcblxuICAgICAgaWYgKGNvcnJlY3RPcmlnaW5hbEtleSAmJiBvcmlnaW5hbEtleSAhPT0gY29ycmVjdE9yaWdpbmFsS2V5KSB7XG4gICAgICAgIHZhciB3YXJuaW5nS2V5ID0gb3JpZ2luYWxLZXkgKyAnLCcgKyBjb3JyZWN0T3JpZ2luYWxLZXk7XG5cbiAgICAgICAgaWYgKHdhcm5lZEFib3V0W3dhcm5pbmdLZXldKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB3YXJuZWRBYm91dFt3YXJuaW5nS2V5XSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzIGEgc3R5bGUgcHJvcGVydHkgZHVyaW5nIHJlcmVuZGVyICglcykgd2hlbiBhICcgKyAnY29uZmxpY3RpbmcgcHJvcGVydHkgaXMgc2V0ICglcykgY2FuIGxlYWQgdG8gc3R5bGluZyBidWdzLiBUbyAnICsgXCJhdm9pZCB0aGlzLCBkb24ndCBtaXggc2hvcnRoYW5kIGFuZCBub24tc2hvcnRoYW5kIHByb3BlcnRpZXMgXCIgKyAnZm9yIHRoZSBzYW1lIHZhbHVlOyBpbnN0ZWFkLCByZXBsYWNlIHRoZSBzaG9ydGhhbmQgd2l0aCAnICsgJ3NlcGFyYXRlIHZhbHVlcy4nLCBpc1ZhbHVlRW1wdHkoc3R5bGVVcGRhdGVzW29yaWdpbmFsS2V5XSkgPyAnUmVtb3ZpbmcnIDogJ1VwZGF0aW5nJywgb3JpZ2luYWxLZXksIGNvcnJlY3RPcmlnaW5hbEtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvciBIVE1MLCBjZXJ0YWluIHRhZ3Mgc2hvdWxkIG9taXQgdGhlaXIgY2xvc2UgdGFnLiBXZSBrZWVwIGEgbGlzdCBmb3Jcbi8vIHRob3NlIHNwZWNpYWwtY2FzZSB0YWdzLlxudmFyIG9taXR0ZWRDbG9zZVRhZ3MgPSB7XG4gIGFyZWE6IHRydWUsXG4gIGJhc2U6IHRydWUsXG4gIGJyOiB0cnVlLFxuICBjb2w6IHRydWUsXG4gIGVtYmVkOiB0cnVlLFxuICBocjogdHJ1ZSxcbiAgaW1nOiB0cnVlLFxuICBpbnB1dDogdHJ1ZSxcbiAga2V5Z2VuOiB0cnVlLFxuICBsaW5rOiB0cnVlLFxuICBtZXRhOiB0cnVlLFxuICBwYXJhbTogdHJ1ZSxcbiAgc291cmNlOiB0cnVlLFxuICB0cmFjazogdHJ1ZSxcbiAgd2JyOiB0cnVlIC8vIE5PVEU6IG1lbnVpdGVtJ3MgY2xvc2UgdGFnIHNob3VsZCBiZSBvbWl0dGVkLCBidXQgdGhhdCBjYXVzZXMgcHJvYmxlbXMuXG5cbn07XG5cbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cblxudmFyIHZvaWRFbGVtZW50VGFncyA9IGFzc2lnbih7XG4gIG1lbnVpdGVtOiB0cnVlXG59LCBvbWl0dGVkQ2xvc2VUYWdzKTtcblxudmFyIEhUTUwgPSAnX19odG1sJztcblxuZnVuY3Rpb24gYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKSB7XG4gIGlmICghcHJvcHMpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gTm90ZSB0aGUgdXNlIG9mIGA9PWAgd2hpY2ggY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZC5cblxuXG4gIGlmICh2b2lkRWxlbWVudFRhZ3NbdGFnXSkge1xuICAgIGlmIChwcm9wcy5jaGlsZHJlbiAhPSBudWxsIHx8IHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0YWcgKyBcIiBpcyBhIHZvaWQgZWxlbWVudCB0YWcgYW5kIG11c3QgbmVpdGhlciBoYXZlIGBjaGlsZHJlbmAgbm9yIFwiICsgJ3VzZSBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XG4gICAgaWYgKHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG9ubHkgc2V0IG9uZSBvZiBgY2hpbGRyZW5gIG9yIGBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gJ29iamVjdCcgfHwgIShIVE1MIGluIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIG11c3QgYmUgaW4gdGhlIGZvcm0gYHtfX2h0bWw6IC4uLn1gLiAnICsgJ1BsZWFzZSB2aXNpdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGFuZ2Vyb3VzbHktc2V0LWlubmVyLWh0bWwgJyArICdmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKCFwcm9wcy5zdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcgJiYgcHJvcHMuY29udGVudEVkaXRhYmxlICYmIHByb3BzLmNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBgY29udGVudEVkaXRhYmxlYCBhbmQgY29udGFpbnMgYGNoaWxkcmVuYCBtYW5hZ2VkIGJ5ICcgKyAnUmVhY3QuIEl0IGlzIG5vdyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGd1YXJhbnRlZSB0aGF0IG5vbmUgb2YgJyArICd0aG9zZSBub2RlcyBhcmUgdW5leHBlY3RlZGx5IG1vZGlmaWVkIG9yIGR1cGxpY2F0ZWQuIFRoaXMgaXMgJyArICdwcm9iYWJseSBub3QgaW50ZW50aW9uYWwuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnN0eWxlICE9IG51bGwgJiYgdHlwZW9mIHByb3BzLnN0eWxlICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBzdHlsZWAgcHJvcCBleHBlY3RzIGEgbWFwcGluZyBmcm9tIHN0eWxlIHByb3BlcnRpZXMgdG8gdmFsdWVzLCAnICsgXCJub3QgYSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdHlsZT17e21hcmdpblJpZ2h0OiBzcGFjaW5nICsgJ2VtJ319IHdoZW4gXCIgKyAndXNpbmcgSlNYLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ3VzdG9tQ29tcG9uZW50KHRhZ05hbWUsIHByb3BzKSB7XG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJztcbiAgfVxuXG4gIHN3aXRjaCAodGFnTmFtZSkge1xuICAgIC8vIFRoZXNlIGFyZSByZXNlcnZlZCBTVkcgYW5kIE1hdGhNTCBlbGVtZW50cy5cbiAgICAvLyBXZSBkb24ndCBtaW5kIHRoaXMgbGlzdCB0b28gbXVjaCBiZWNhdXNlIHdlIGV4cGVjdCBpdCB0byBuZXZlciBncm93LlxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxuICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNjdXN0b20tZWxlbWVudHMtY29yZS1jb25jZXB0c1xuICAgIGNhc2UgJ2Fubm90YXRpb24teG1sJzpcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcbiAgICBjYXNlICdmb250LWZhY2UnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1zcmMnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1mb3JtYXQnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1uYW1lJzpcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBIVE1MIG9yIFNWRyBhbGxvd2VkIGF0dHJpYnV0ZSBsaXN0LCBiZSBzdXJlIHRvXG4vLyBhbHNvIGFkZCB0aGVtIHRvIHRoaXMgbW9kdWxlIHRvIGVuc3VyZSBjYXNpbmcgYW5kIGluY29ycmVjdCBuYW1lXG4vLyB3YXJuaW5ncy5cbnZhciBwb3NzaWJsZVN0YW5kYXJkTmFtZXMgPSB7XG4gIC8vIEhUTUxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcbiAgYWNjZXB0Y2hhcnNldDogJ2FjY2VwdENoYXJzZXQnLFxuICAnYWNjZXB0LWNoYXJzZXQnOiAnYWNjZXB0Q2hhcnNldCcsXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXG4gIGFjdGlvbjogJ2FjdGlvbicsXG4gIGFsbG93ZnVsbHNjcmVlbjogJ2FsbG93RnVsbFNjcmVlbicsXG4gIGFsdDogJ2FsdCcsXG4gIGFzOiAnYXMnLFxuICBhc3luYzogJ2FzeW5jJyxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXG4gIGF1dG9jb21wbGV0ZTogJ2F1dG9Db21wbGV0ZScsXG4gIGF1dG9jb3JyZWN0OiAnYXV0b0NvcnJlY3QnLFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxuICBhdXRvcGxheTogJ2F1dG9QbGF5JyxcbiAgYXV0b3NhdmU6ICdhdXRvU2F2ZScsXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcbiAgY2VsbHBhZGRpbmc6ICdjZWxsUGFkZGluZycsXG4gIGNlbGxzcGFjaW5nOiAnY2VsbFNwYWNpbmcnLFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxuICBjaGFyc2V0OiAnY2hhclNldCcsXG4gIGNoZWNrZWQ6ICdjaGVja2VkJyxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXG4gIGNpdGU6ICdjaXRlJyxcbiAgY2xhc3M6ICdjbGFzc05hbWUnLFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXG4gIGNsYXNzbmFtZTogJ2NsYXNzTmFtZScsXG4gIGNvbHM6ICdjb2xzJyxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxuICBjb250ZW50OiAnY29udGVudCcsXG4gIGNvbnRlbnRlZGl0YWJsZTogJ2NvbnRlbnRFZGl0YWJsZScsXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxuICBjb250cm9sczogJ2NvbnRyb2xzJyxcbiAgY29udHJvbHNsaXN0OiAnY29udHJvbHNMaXN0JyxcbiAgY29vcmRzOiAnY29vcmRzJyxcbiAgY3Jvc3NvcmlnaW46ICdjcm9zc09yaWdpbicsXG4gIGRhbmdlcm91c2x5c2V0aW5uZXJodG1sOiAnZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwnLFxuICBkYXRhOiAnZGF0YScsXG4gIGRhdGV0aW1lOiAnZGF0ZVRpbWUnLFxuICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxuICBkZWZhdWx0dmFsdWU6ICdkZWZhdWx0VmFsdWUnLFxuICBkZWZlcjogJ2RlZmVyJyxcbiAgZGlyOiAnZGlyJyxcbiAgZGlzYWJsZWQ6ICdkaXNhYmxlZCcsXG4gIGRpc2FibGVwaWN0dXJlaW5waWN0dXJlOiAnZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUnLFxuICBkaXNhYmxlcmVtb3RlcGxheWJhY2s6ICdkaXNhYmxlUmVtb3RlUGxheWJhY2snLFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcbiAgZHJhZ2dhYmxlOiAnZHJhZ2dhYmxlJyxcbiAgZW5jdHlwZTogJ2VuY1R5cGUnLFxuICBlbnRlcmtleWhpbnQ6ICdlbnRlcktleUhpbnQnLFxuICBmb3I6ICdodG1sRm9yJyxcbiAgZm9ybTogJ2Zvcm0nLFxuICBmb3JtbWV0aG9kOiAnZm9ybU1ldGhvZCcsXG4gIGZvcm1hY3Rpb246ICdmb3JtQWN0aW9uJyxcbiAgZm9ybWVuY3R5cGU6ICdmb3JtRW5jVHlwZScsXG4gIGZvcm1ub3ZhbGlkYXRlOiAnZm9ybU5vVmFsaWRhdGUnLFxuICBmb3JtdGFyZ2V0OiAnZm9ybVRhcmdldCcsXG4gIGZyYW1lYm9yZGVyOiAnZnJhbWVCb3JkZXInLFxuICBoZWFkZXJzOiAnaGVhZGVycycsXG4gIGhlaWdodDogJ2hlaWdodCcsXG4gIGhpZGRlbjogJ2hpZGRlbicsXG4gIGhpZ2g6ICdoaWdoJyxcbiAgaHJlZjogJ2hyZWYnLFxuICBocmVmbGFuZzogJ2hyZWZMYW5nJyxcbiAgaHRtbGZvcjogJ2h0bWxGb3InLFxuICBodHRwZXF1aXY6ICdodHRwRXF1aXYnLFxuICAnaHR0cC1lcXVpdic6ICdodHRwRXF1aXYnLFxuICBpY29uOiAnaWNvbicsXG4gIGlkOiAnaWQnLFxuICBpbWFnZXNpemVzOiAnaW1hZ2VTaXplcycsXG4gIGltYWdlc3Jjc2V0OiAnaW1hZ2VTcmNTZXQnLFxuICBpbm5lcmh0bWw6ICdpbm5lckhUTUwnLFxuICBpbnB1dG1vZGU6ICdpbnB1dE1vZGUnLFxuICBpbnRlZ3JpdHk6ICdpbnRlZ3JpdHknLFxuICBpczogJ2lzJyxcbiAgaXRlbWlkOiAnaXRlbUlEJyxcbiAgaXRlbXByb3A6ICdpdGVtUHJvcCcsXG4gIGl0ZW1yZWY6ICdpdGVtUmVmJyxcbiAgaXRlbXNjb3BlOiAnaXRlbVNjb3BlJyxcbiAgaXRlbXR5cGU6ICdpdGVtVHlwZScsXG4gIGtleXBhcmFtczogJ2tleVBhcmFtcycsXG4gIGtleXR5cGU6ICdrZXlUeXBlJyxcbiAga2luZDogJ2tpbmQnLFxuICBsYWJlbDogJ2xhYmVsJyxcbiAgbGFuZzogJ2xhbmcnLFxuICBsaXN0OiAnbGlzdCcsXG4gIGxvb3A6ICdsb29wJyxcbiAgbG93OiAnbG93JyxcbiAgbWFuaWZlc3Q6ICdtYW5pZmVzdCcsXG4gIG1hcmdpbndpZHRoOiAnbWFyZ2luV2lkdGgnLFxuICBtYXJnaW5oZWlnaHQ6ICdtYXJnaW5IZWlnaHQnLFxuICBtYXg6ICdtYXgnLFxuICBtYXhsZW5ndGg6ICdtYXhMZW5ndGgnLFxuICBtZWRpYTogJ21lZGlhJyxcbiAgbWVkaWFncm91cDogJ21lZGlhR3JvdXAnLFxuICBtZXRob2Q6ICdtZXRob2QnLFxuICBtaW46ICdtaW4nLFxuICBtaW5sZW5ndGg6ICdtaW5MZW5ndGgnLFxuICBtdWx0aXBsZTogJ211bHRpcGxlJyxcbiAgbXV0ZWQ6ICdtdXRlZCcsXG4gIG5hbWU6ICduYW1lJyxcbiAgbm9tb2R1bGU6ICdub01vZHVsZScsXG4gIG5vbmNlOiAnbm9uY2UnLFxuICBub3ZhbGlkYXRlOiAnbm9WYWxpZGF0ZScsXG4gIG9wZW46ICdvcGVuJyxcbiAgb3B0aW11bTogJ29wdGltdW0nLFxuICBwYXR0ZXJuOiAncGF0dGVybicsXG4gIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxuICBwbGF5c2lubGluZTogJ3BsYXlzSW5saW5lJyxcbiAgcG9zdGVyOiAncG9zdGVyJyxcbiAgcHJlbG9hZDogJ3ByZWxvYWQnLFxuICBwcm9maWxlOiAncHJvZmlsZScsXG4gIHJhZGlvZ3JvdXA6ICdyYWRpb0dyb3VwJyxcbiAgcmVhZG9ubHk6ICdyZWFkT25seScsXG4gIHJlZmVycmVycG9saWN5OiAncmVmZXJyZXJQb2xpY3knLFxuICByZWw6ICdyZWwnLFxuICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcbiAgcmV2ZXJzZWQ6ICdyZXZlcnNlZCcsXG4gIHJvbGU6ICdyb2xlJyxcbiAgcm93czogJ3Jvd3MnLFxuICByb3dzcGFuOiAncm93U3BhbicsXG4gIHNhbmRib3g6ICdzYW5kYm94JyxcbiAgc2NvcGU6ICdzY29wZScsXG4gIHNjb3BlZDogJ3Njb3BlZCcsXG4gIHNjcm9sbGluZzogJ3Njcm9sbGluZycsXG4gIHNlYW1sZXNzOiAnc2VhbWxlc3MnLFxuICBzZWxlY3RlZDogJ3NlbGVjdGVkJyxcbiAgc2hhcGU6ICdzaGFwZScsXG4gIHNpemU6ICdzaXplJyxcbiAgc2l6ZXM6ICdzaXplcycsXG4gIHNwYW46ICdzcGFuJyxcbiAgc3BlbGxjaGVjazogJ3NwZWxsQ2hlY2snLFxuICBzcmM6ICdzcmMnLFxuICBzcmNkb2M6ICdzcmNEb2MnLFxuICBzcmNsYW5nOiAnc3JjTGFuZycsXG4gIHNyY3NldDogJ3NyY1NldCcsXG4gIHN0YXJ0OiAnc3RhcnQnLFxuICBzdGVwOiAnc3RlcCcsXG4gIHN0eWxlOiAnc3R5bGUnLFxuICBzdW1tYXJ5OiAnc3VtbWFyeScsXG4gIHRhYmluZGV4OiAndGFiSW5kZXgnLFxuICB0YXJnZXQ6ICd0YXJnZXQnLFxuICB0aXRsZTogJ3RpdGxlJyxcbiAgdHlwZTogJ3R5cGUnLFxuICB1c2VtYXA6ICd1c2VNYXAnLFxuICB2YWx1ZTogJ3ZhbHVlJyxcbiAgd2lkdGg6ICd3aWR0aCcsXG4gIHdtb2RlOiAnd21vZGUnLFxuICB3cmFwOiAnd3JhcCcsXG4gIC8vIFNWR1xuICBhYm91dDogJ2Fib3V0JyxcbiAgYWNjZW50aGVpZ2h0OiAnYWNjZW50SGVpZ2h0JyxcbiAgJ2FjY2VudC1oZWlnaHQnOiAnYWNjZW50SGVpZ2h0JyxcbiAgYWNjdW11bGF0ZTogJ2FjY3VtdWxhdGUnLFxuICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcbiAgYWxpZ25tZW50YmFzZWxpbmU6ICdhbGlnbm1lbnRCYXNlbGluZScsXG4gICdhbGlnbm1lbnQtYmFzZWxpbmUnOiAnYWxpZ25tZW50QmFzZWxpbmUnLFxuICBhbGxvd3Jlb3JkZXI6ICdhbGxvd1Jlb3JkZXInLFxuICBhbHBoYWJldGljOiAnYWxwaGFiZXRpYycsXG4gIGFtcGxpdHVkZTogJ2FtcGxpdHVkZScsXG4gIGFyYWJpY2Zvcm06ICdhcmFiaWNGb3JtJyxcbiAgJ2FyYWJpYy1mb3JtJzogJ2FyYWJpY0Zvcm0nLFxuICBhc2NlbnQ6ICdhc2NlbnQnLFxuICBhdHRyaWJ1dGVuYW1lOiAnYXR0cmlidXRlTmFtZScsXG4gIGF0dHJpYnV0ZXR5cGU6ICdhdHRyaWJ1dGVUeXBlJyxcbiAgYXV0b3JldmVyc2U6ICdhdXRvUmV2ZXJzZScsXG4gIGF6aW11dGg6ICdhemltdXRoJyxcbiAgYmFzZWZyZXF1ZW5jeTogJ2Jhc2VGcmVxdWVuY3knLFxuICBiYXNlbGluZXNoaWZ0OiAnYmFzZWxpbmVTaGlmdCcsXG4gICdiYXNlbGluZS1zaGlmdCc6ICdiYXNlbGluZVNoaWZ0JyxcbiAgYmFzZXByb2ZpbGU6ICdiYXNlUHJvZmlsZScsXG4gIGJib3g6ICdiYm94JyxcbiAgYmVnaW46ICdiZWdpbicsXG4gIGJpYXM6ICdiaWFzJyxcbiAgYnk6ICdieScsXG4gIGNhbGNtb2RlOiAnY2FsY01vZGUnLFxuICBjYXBoZWlnaHQ6ICdjYXBIZWlnaHQnLFxuICAnY2FwLWhlaWdodCc6ICdjYXBIZWlnaHQnLFxuICBjbGlwOiAnY2xpcCcsXG4gIGNsaXBwYXRoOiAnY2xpcFBhdGgnLFxuICAnY2xpcC1wYXRoJzogJ2NsaXBQYXRoJyxcbiAgY2xpcHBhdGh1bml0czogJ2NsaXBQYXRoVW5pdHMnLFxuICBjbGlwcnVsZTogJ2NsaXBSdWxlJyxcbiAgJ2NsaXAtcnVsZSc6ICdjbGlwUnVsZScsXG4gIGNvbG9yOiAnY29sb3InLFxuICBjb2xvcmludGVycG9sYXRpb246ICdjb2xvckludGVycG9sYXRpb24nLFxuICAnY29sb3ItaW50ZXJwb2xhdGlvbic6ICdjb2xvckludGVycG9sYXRpb24nLFxuICBjb2xvcmludGVycG9sYXRpb25maWx0ZXJzOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXG4gIGNvbG9ycHJvZmlsZTogJ2NvbG9yUHJvZmlsZScsXG4gICdjb2xvci1wcm9maWxlJzogJ2NvbG9yUHJvZmlsZScsXG4gIGNvbG9ycmVuZGVyaW5nOiAnY29sb3JSZW5kZXJpbmcnLFxuICAnY29sb3ItcmVuZGVyaW5nJzogJ2NvbG9yUmVuZGVyaW5nJyxcbiAgY29udGVudHNjcmlwdHR5cGU6ICdjb250ZW50U2NyaXB0VHlwZScsXG4gIGNvbnRlbnRzdHlsZXR5cGU6ICdjb250ZW50U3R5bGVUeXBlJyxcbiAgY3Vyc29yOiAnY3Vyc29yJyxcbiAgY3g6ICdjeCcsXG4gIGN5OiAnY3knLFxuICBkOiAnZCcsXG4gIGRhdGF0eXBlOiAnZGF0YXR5cGUnLFxuICBkZWNlbGVyYXRlOiAnZGVjZWxlcmF0ZScsXG4gIGRlc2NlbnQ6ICdkZXNjZW50JyxcbiAgZGlmZnVzZWNvbnN0YW50OiAnZGlmZnVzZUNvbnN0YW50JyxcbiAgZGlyZWN0aW9uOiAnZGlyZWN0aW9uJyxcbiAgZGlzcGxheTogJ2Rpc3BsYXknLFxuICBkaXZpc29yOiAnZGl2aXNvcicsXG4gIGRvbWluYW50YmFzZWxpbmU6ICdkb21pbmFudEJhc2VsaW5lJyxcbiAgJ2RvbWluYW50LWJhc2VsaW5lJzogJ2RvbWluYW50QmFzZWxpbmUnLFxuICBkdXI6ICdkdXInLFxuICBkeDogJ2R4JyxcbiAgZHk6ICdkeScsXG4gIGVkZ2Vtb2RlOiAnZWRnZU1vZGUnLFxuICBlbGV2YXRpb246ICdlbGV2YXRpb24nLFxuICBlbmFibGViYWNrZ3JvdW5kOiAnZW5hYmxlQmFja2dyb3VuZCcsXG4gICdlbmFibGUtYmFja2dyb3VuZCc6ICdlbmFibGVCYWNrZ3JvdW5kJyxcbiAgZW5kOiAnZW5kJyxcbiAgZXhwb25lbnQ6ICdleHBvbmVudCcsXG4gIGV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQ6ICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyxcbiAgZmlsbDogJ2ZpbGwnLFxuICBmaWxsb3BhY2l0eTogJ2ZpbGxPcGFjaXR5JyxcbiAgJ2ZpbGwtb3BhY2l0eSc6ICdmaWxsT3BhY2l0eScsXG4gIGZpbGxydWxlOiAnZmlsbFJ1bGUnLFxuICAnZmlsbC1ydWxlJzogJ2ZpbGxSdWxlJyxcbiAgZmlsdGVyOiAnZmlsdGVyJyxcbiAgZmlsdGVycmVzOiAnZmlsdGVyUmVzJyxcbiAgZmlsdGVydW5pdHM6ICdmaWx0ZXJVbml0cycsXG4gIGZsb29kb3BhY2l0eTogJ2Zsb29kT3BhY2l0eScsXG4gICdmbG9vZC1vcGFjaXR5JzogJ2Zsb29kT3BhY2l0eScsXG4gIGZsb29kY29sb3I6ICdmbG9vZENvbG9yJyxcbiAgJ2Zsb29kLWNvbG9yJzogJ2Zsb29kQ29sb3InLFxuICBmb2N1c2FibGU6ICdmb2N1c2FibGUnLFxuICBmb250ZmFtaWx5OiAnZm9udEZhbWlseScsXG4gICdmb250LWZhbWlseSc6ICdmb250RmFtaWx5JyxcbiAgZm9udHNpemU6ICdmb250U2l6ZScsXG4gICdmb250LXNpemUnOiAnZm9udFNpemUnLFxuICBmb250c2l6ZWFkanVzdDogJ2ZvbnRTaXplQWRqdXN0JyxcbiAgJ2ZvbnQtc2l6ZS1hZGp1c3QnOiAnZm9udFNpemVBZGp1c3QnLFxuICBmb250c3RyZXRjaDogJ2ZvbnRTdHJldGNoJyxcbiAgJ2ZvbnQtc3RyZXRjaCc6ICdmb250U3RyZXRjaCcsXG4gIGZvbnRzdHlsZTogJ2ZvbnRTdHlsZScsXG4gICdmb250LXN0eWxlJzogJ2ZvbnRTdHlsZScsXG4gIGZvbnR2YXJpYW50OiAnZm9udFZhcmlhbnQnLFxuICAnZm9udC12YXJpYW50JzogJ2ZvbnRWYXJpYW50JyxcbiAgZm9udHdlaWdodDogJ2ZvbnRXZWlnaHQnLFxuICAnZm9udC13ZWlnaHQnOiAnZm9udFdlaWdodCcsXG4gIGZvcm1hdDogJ2Zvcm1hdCcsXG4gIGZyb206ICdmcm9tJyxcbiAgZng6ICdmeCcsXG4gIGZ5OiAnZnknLFxuICBnMTogJ2cxJyxcbiAgZzI6ICdnMicsXG4gIGdseXBobmFtZTogJ2dseXBoTmFtZScsXG4gICdnbHlwaC1uYW1lJzogJ2dseXBoTmFtZScsXG4gIGdseXBob3JpZW50YXRpb25ob3Jpem9udGFsOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxuICAnZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCc6ICdnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCcsXG4gIGdseXBob3JpZW50YXRpb252ZXJ0aWNhbDogJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCc6ICdnbHlwaE9yaWVudGF0aW9uVmVydGljYWwnLFxuICBnbHlwaHJlZjogJ2dseXBoUmVmJyxcbiAgZ3JhZGllbnR0cmFuc2Zvcm06ICdncmFkaWVudFRyYW5zZm9ybScsXG4gIGdyYWRpZW50dW5pdHM6ICdncmFkaWVudFVuaXRzJyxcbiAgaGFuZ2luZzogJ2hhbmdpbmcnLFxuICBob3JpemFkdng6ICdob3JpekFkdlgnLFxuICAnaG9yaXotYWR2LXgnOiAnaG9yaXpBZHZYJyxcbiAgaG9yaXpvcmlnaW54OiAnaG9yaXpPcmlnaW5YJyxcbiAgJ2hvcml6LW9yaWdpbi14JzogJ2hvcml6T3JpZ2luWCcsXG4gIGlkZW9ncmFwaGljOiAnaWRlb2dyYXBoaWMnLFxuICBpbWFnZXJlbmRlcmluZzogJ2ltYWdlUmVuZGVyaW5nJyxcbiAgJ2ltYWdlLXJlbmRlcmluZyc6ICdpbWFnZVJlbmRlcmluZycsXG4gIGluMjogJ2luMicsXG4gIGluOiAnaW4nLFxuICBpbmxpc3Q6ICdpbmxpc3QnLFxuICBpbnRlcmNlcHQ6ICdpbnRlcmNlcHQnLFxuICBrMTogJ2sxJyxcbiAgazI6ICdrMicsXG4gIGszOiAnazMnLFxuICBrNDogJ2s0JyxcbiAgazogJ2snLFxuICBrZXJuZWxtYXRyaXg6ICdrZXJuZWxNYXRyaXgnLFxuICBrZXJuZWx1bml0bGVuZ3RoOiAna2VybmVsVW5pdExlbmd0aCcsXG4gIGtlcm5pbmc6ICdrZXJuaW5nJyxcbiAga2V5cG9pbnRzOiAna2V5UG9pbnRzJyxcbiAga2V5c3BsaW5lczogJ2tleVNwbGluZXMnLFxuICBrZXl0aW1lczogJ2tleVRpbWVzJyxcbiAgbGVuZ3RoYWRqdXN0OiAnbGVuZ3RoQWRqdXN0JyxcbiAgbGV0dGVyc3BhY2luZzogJ2xldHRlclNwYWNpbmcnLFxuICAnbGV0dGVyLXNwYWNpbmcnOiAnbGV0dGVyU3BhY2luZycsXG4gIGxpZ2h0aW5nY29sb3I6ICdsaWdodGluZ0NvbG9yJyxcbiAgJ2xpZ2h0aW5nLWNvbG9yJzogJ2xpZ2h0aW5nQ29sb3InLFxuICBsaW1pdGluZ2NvbmVhbmdsZTogJ2xpbWl0aW5nQ29uZUFuZ2xlJyxcbiAgbG9jYWw6ICdsb2NhbCcsXG4gIG1hcmtlcmVuZDogJ21hcmtlckVuZCcsXG4gICdtYXJrZXItZW5kJzogJ21hcmtlckVuZCcsXG4gIG1hcmtlcmhlaWdodDogJ21hcmtlckhlaWdodCcsXG4gIG1hcmtlcm1pZDogJ21hcmtlck1pZCcsXG4gICdtYXJrZXItbWlkJzogJ21hcmtlck1pZCcsXG4gIG1hcmtlcnN0YXJ0OiAnbWFya2VyU3RhcnQnLFxuICAnbWFya2VyLXN0YXJ0JzogJ21hcmtlclN0YXJ0JyxcbiAgbWFya2VydW5pdHM6ICdtYXJrZXJVbml0cycsXG4gIG1hcmtlcndpZHRoOiAnbWFya2VyV2lkdGgnLFxuICBtYXNrOiAnbWFzaycsXG4gIG1hc2tjb250ZW50dW5pdHM6ICdtYXNrQ29udGVudFVuaXRzJyxcbiAgbWFza3VuaXRzOiAnbWFza1VuaXRzJyxcbiAgbWF0aGVtYXRpY2FsOiAnbWF0aGVtYXRpY2FsJyxcbiAgbW9kZTogJ21vZGUnLFxuICBudW1vY3RhdmVzOiAnbnVtT2N0YXZlcycsXG4gIG9mZnNldDogJ29mZnNldCcsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgb3BlcmF0b3I6ICdvcGVyYXRvcicsXG4gIG9yZGVyOiAnb3JkZXInLFxuICBvcmllbnQ6ICdvcmllbnQnLFxuICBvcmllbnRhdGlvbjogJ29yaWVudGF0aW9uJyxcbiAgb3JpZ2luOiAnb3JpZ2luJyxcbiAgb3ZlcmZsb3c6ICdvdmVyZmxvdycsXG4gIG92ZXJsaW5lcG9zaXRpb246ICdvdmVybGluZVBvc2l0aW9uJyxcbiAgJ292ZXJsaW5lLXBvc2l0aW9uJzogJ292ZXJsaW5lUG9zaXRpb24nLFxuICBvdmVybGluZXRoaWNrbmVzczogJ292ZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ292ZXJsaW5lLXRoaWNrbmVzcyc6ICdvdmVybGluZVRoaWNrbmVzcycsXG4gIHBhaW50b3JkZXI6ICdwYWludE9yZGVyJyxcbiAgJ3BhaW50LW9yZGVyJzogJ3BhaW50T3JkZXInLFxuICBwYW5vc2UxOiAncGFub3NlMScsXG4gICdwYW5vc2UtMSc6ICdwYW5vc2UxJyxcbiAgcGF0aGxlbmd0aDogJ3BhdGhMZW5ndGgnLFxuICBwYXR0ZXJuY29udGVudHVuaXRzOiAncGF0dGVybkNvbnRlbnRVbml0cycsXG4gIHBhdHRlcm50cmFuc2Zvcm06ICdwYXR0ZXJuVHJhbnNmb3JtJyxcbiAgcGF0dGVybnVuaXRzOiAncGF0dGVyblVuaXRzJyxcbiAgcG9pbnRlcmV2ZW50czogJ3BvaW50ZXJFdmVudHMnLFxuICAncG9pbnRlci1ldmVudHMnOiAncG9pbnRlckV2ZW50cycsXG4gIHBvaW50czogJ3BvaW50cycsXG4gIHBvaW50c2F0eDogJ3BvaW50c0F0WCcsXG4gIHBvaW50c2F0eTogJ3BvaW50c0F0WScsXG4gIHBvaW50c2F0ejogJ3BvaW50c0F0WicsXG4gIHByZWZpeDogJ3ByZWZpeCcsXG4gIHByZXNlcnZlYWxwaGE6ICdwcmVzZXJ2ZUFscGhhJyxcbiAgcHJlc2VydmVhc3BlY3RyYXRpbzogJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLFxuICBwcmltaXRpdmV1bml0czogJ3ByaW1pdGl2ZVVuaXRzJyxcbiAgcHJvcGVydHk6ICdwcm9wZXJ0eScsXG4gIHI6ICdyJyxcbiAgcmFkaXVzOiAncmFkaXVzJyxcbiAgcmVmeDogJ3JlZlgnLFxuICByZWZ5OiAncmVmWScsXG4gIHJlbmRlcmluZ2ludGVudDogJ3JlbmRlcmluZ0ludGVudCcsXG4gICdyZW5kZXJpbmctaW50ZW50JzogJ3JlbmRlcmluZ0ludGVudCcsXG4gIHJlcGVhdGNvdW50OiAncmVwZWF0Q291bnQnLFxuICByZXBlYXRkdXI6ICdyZXBlYXREdXInLFxuICByZXF1aXJlZGV4dGVuc2lvbnM6ICdyZXF1aXJlZEV4dGVuc2lvbnMnLFxuICByZXF1aXJlZGZlYXR1cmVzOiAncmVxdWlyZWRGZWF0dXJlcycsXG4gIHJlc291cmNlOiAncmVzb3VyY2UnLFxuICByZXN0YXJ0OiAncmVzdGFydCcsXG4gIHJlc3VsdDogJ3Jlc3VsdCcsXG4gIHJlc3VsdHM6ICdyZXN1bHRzJyxcbiAgcm90YXRlOiAncm90YXRlJyxcbiAgcng6ICdyeCcsXG4gIHJ5OiAncnknLFxuICBzY2FsZTogJ3NjYWxlJyxcbiAgc2VjdXJpdHk6ICdzZWN1cml0eScsXG4gIHNlZWQ6ICdzZWVkJyxcbiAgc2hhcGVyZW5kZXJpbmc6ICdzaGFwZVJlbmRlcmluZycsXG4gICdzaGFwZS1yZW5kZXJpbmcnOiAnc2hhcGVSZW5kZXJpbmcnLFxuICBzbG9wZTogJ3Nsb3BlJyxcbiAgc3BhY2luZzogJ3NwYWNpbmcnLFxuICBzcGVjdWxhcmNvbnN0YW50OiAnc3BlY3VsYXJDb25zdGFudCcsXG4gIHNwZWN1bGFyZXhwb25lbnQ6ICdzcGVjdWxhckV4cG9uZW50JyxcbiAgc3BlZWQ6ICdzcGVlZCcsXG4gIHNwcmVhZG1ldGhvZDogJ3NwcmVhZE1ldGhvZCcsXG4gIHN0YXJ0b2Zmc2V0OiAnc3RhcnRPZmZzZXQnLFxuICBzdGRkZXZpYXRpb246ICdzdGREZXZpYXRpb24nLFxuICBzdGVtaDogJ3N0ZW1oJyxcbiAgc3RlbXY6ICdzdGVtdicsXG4gIHN0aXRjaHRpbGVzOiAnc3RpdGNoVGlsZXMnLFxuICBzdG9wY29sb3I6ICdzdG9wQ29sb3InLFxuICAnc3RvcC1jb2xvcic6ICdzdG9wQ29sb3InLFxuICBzdG9wb3BhY2l0eTogJ3N0b3BPcGFjaXR5JyxcbiAgJ3N0b3Atb3BhY2l0eSc6ICdzdG9wT3BhY2l0eScsXG4gIHN0cmlrZXRocm91Z2hwb3NpdGlvbjogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gICdzdHJpa2V0aHJvdWdoLXBvc2l0aW9uJzogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXG4gIHN0cmlrZXRocm91Z2h0aGlja25lc3M6ICdzdHJpa2V0aHJvdWdoVGhpY2tuZXNzJyxcbiAgJ3N0cmlrZXRocm91Z2gtdGhpY2tuZXNzJzogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxuICBzdHJpbmc6ICdzdHJpbmcnLFxuICBzdHJva2U6ICdzdHJva2UnLFxuICBzdHJva2VkYXNoYXJyYXk6ICdzdHJva2VEYXNoYXJyYXknLFxuICAnc3Ryb2tlLWRhc2hhcnJheSc6ICdzdHJva2VEYXNoYXJyYXknLFxuICBzdHJva2VkYXNob2Zmc2V0OiAnc3Ryb2tlRGFzaG9mZnNldCcsXG4gICdzdHJva2UtZGFzaG9mZnNldCc6ICdzdHJva2VEYXNob2Zmc2V0JyxcbiAgc3Ryb2tlbGluZWNhcDogJ3N0cm9rZUxpbmVjYXAnLFxuICAnc3Ryb2tlLWxpbmVjYXAnOiAnc3Ryb2tlTGluZWNhcCcsXG4gIHN0cm9rZWxpbmVqb2luOiAnc3Ryb2tlTGluZWpvaW4nLFxuICAnc3Ryb2tlLWxpbmVqb2luJzogJ3N0cm9rZUxpbmVqb2luJyxcbiAgc3Ryb2tlbWl0ZXJsaW1pdDogJ3N0cm9rZU1pdGVybGltaXQnLFxuICAnc3Ryb2tlLW1pdGVybGltaXQnOiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXG4gIHN0cm9rZXdpZHRoOiAnc3Ryb2tlV2lkdGgnLFxuICAnc3Ryb2tlLXdpZHRoJzogJ3N0cm9rZVdpZHRoJyxcbiAgc3Ryb2tlb3BhY2l0eTogJ3N0cm9rZU9wYWNpdHknLFxuICAnc3Ryb2tlLW9wYWNpdHknOiAnc3Ryb2tlT3BhY2l0eScsXG4gIHN1cHByZXNzY29udGVudGVkaXRhYmxld2FybmluZzogJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZycsXG4gIHN1cHByZXNzaHlkcmF0aW9ud2FybmluZzogJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsXG4gIHN1cmZhY2VzY2FsZTogJ3N1cmZhY2VTY2FsZScsXG4gIHN5c3RlbWxhbmd1YWdlOiAnc3lzdGVtTGFuZ3VhZ2UnLFxuICB0YWJsZXZhbHVlczogJ3RhYmxlVmFsdWVzJyxcbiAgdGFyZ2V0eDogJ3RhcmdldFgnLFxuICB0YXJnZXR5OiAndGFyZ2V0WScsXG4gIHRleHRhbmNob3I6ICd0ZXh0QW5jaG9yJyxcbiAgJ3RleHQtYW5jaG9yJzogJ3RleHRBbmNob3InLFxuICB0ZXh0ZGVjb3JhdGlvbjogJ3RleHREZWNvcmF0aW9uJyxcbiAgJ3RleHQtZGVjb3JhdGlvbic6ICd0ZXh0RGVjb3JhdGlvbicsXG4gIHRleHRsZW5ndGg6ICd0ZXh0TGVuZ3RoJyxcbiAgdGV4dHJlbmRlcmluZzogJ3RleHRSZW5kZXJpbmcnLFxuICAndGV4dC1yZW5kZXJpbmcnOiAndGV4dFJlbmRlcmluZycsXG4gIHRvOiAndG8nLFxuICB0cmFuc2Zvcm06ICd0cmFuc2Zvcm0nLFxuICB0eXBlb2Y6ICd0eXBlb2YnLFxuICB1MTogJ3UxJyxcbiAgdTI6ICd1MicsXG4gIHVuZGVybGluZXBvc2l0aW9uOiAndW5kZXJsaW5lUG9zaXRpb24nLFxuICAndW5kZXJsaW5lLXBvc2l0aW9uJzogJ3VuZGVybGluZVBvc2l0aW9uJyxcbiAgdW5kZXJsaW5ldGhpY2tuZXNzOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgJ3VuZGVybGluZS10aGlja25lc3MnOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcbiAgdW5pY29kZTogJ3VuaWNvZGUnLFxuICB1bmljb2RlYmlkaTogJ3VuaWNvZGVCaWRpJyxcbiAgJ3VuaWNvZGUtYmlkaSc6ICd1bmljb2RlQmlkaScsXG4gIHVuaWNvZGVyYW5nZTogJ3VuaWNvZGVSYW5nZScsXG4gICd1bmljb2RlLXJhbmdlJzogJ3VuaWNvZGVSYW5nZScsXG4gIHVuaXRzcGVyZW06ICd1bml0c1BlckVtJyxcbiAgJ3VuaXRzLXBlci1lbSc6ICd1bml0c1BlckVtJyxcbiAgdW5zZWxlY3RhYmxlOiAndW5zZWxlY3RhYmxlJyxcbiAgdmFscGhhYmV0aWM6ICd2QWxwaGFiZXRpYycsXG4gICd2LWFscGhhYmV0aWMnOiAndkFscGhhYmV0aWMnLFxuICB2YWx1ZXM6ICd2YWx1ZXMnLFxuICB2ZWN0b3JlZmZlY3Q6ICd2ZWN0b3JFZmZlY3QnLFxuICAndmVjdG9yLWVmZmVjdCc6ICd2ZWN0b3JFZmZlY3QnLFxuICB2ZXJzaW9uOiAndmVyc2lvbicsXG4gIHZlcnRhZHZ5OiAndmVydEFkdlknLFxuICAndmVydC1hZHYteSc6ICd2ZXJ0QWR2WScsXG4gIHZlcnRvcmlnaW54OiAndmVydE9yaWdpblgnLFxuICAndmVydC1vcmlnaW4teCc6ICd2ZXJ0T3JpZ2luWCcsXG4gIHZlcnRvcmlnaW55OiAndmVydE9yaWdpblknLFxuICAndmVydC1vcmlnaW4teSc6ICd2ZXJ0T3JpZ2luWScsXG4gIHZoYW5naW5nOiAndkhhbmdpbmcnLFxuICAndi1oYW5naW5nJzogJ3ZIYW5naW5nJyxcbiAgdmlkZW9ncmFwaGljOiAndklkZW9ncmFwaGljJyxcbiAgJ3YtaWRlb2dyYXBoaWMnOiAndklkZW9ncmFwaGljJyxcbiAgdmlld2JveDogJ3ZpZXdCb3gnLFxuICB2aWV3dGFyZ2V0OiAndmlld1RhcmdldCcsXG4gIHZpc2liaWxpdHk6ICd2aXNpYmlsaXR5JyxcbiAgdm1hdGhlbWF0aWNhbDogJ3ZNYXRoZW1hdGljYWwnLFxuICAndi1tYXRoZW1hdGljYWwnOiAndk1hdGhlbWF0aWNhbCcsXG4gIHZvY2FiOiAndm9jYWInLFxuICB3aWR0aHM6ICd3aWR0aHMnLFxuICB3b3Jkc3BhY2luZzogJ3dvcmRTcGFjaW5nJyxcbiAgJ3dvcmQtc3BhY2luZyc6ICd3b3JkU3BhY2luZycsXG4gIHdyaXRpbmdtb2RlOiAnd3JpdGluZ01vZGUnLFxuICAnd3JpdGluZy1tb2RlJzogJ3dyaXRpbmdNb2RlJyxcbiAgeDE6ICd4MScsXG4gIHgyOiAneDInLFxuICB4OiAneCcsXG4gIHhjaGFubmVsc2VsZWN0b3I6ICd4Q2hhbm5lbFNlbGVjdG9yJyxcbiAgeGhlaWdodDogJ3hIZWlnaHQnLFxuICAneC1oZWlnaHQnOiAneEhlaWdodCcsXG4gIHhsaW5rYWN0dWF0ZTogJ3hsaW5rQWN0dWF0ZScsXG4gICd4bGluazphY3R1YXRlJzogJ3hsaW5rQWN0dWF0ZScsXG4gIHhsaW5rYXJjcm9sZTogJ3hsaW5rQXJjcm9sZScsXG4gICd4bGluazphcmNyb2xlJzogJ3hsaW5rQXJjcm9sZScsXG4gIHhsaW5raHJlZjogJ3hsaW5rSHJlZicsXG4gICd4bGluazpocmVmJzogJ3hsaW5rSHJlZicsXG4gIHhsaW5rcm9sZTogJ3hsaW5rUm9sZScsXG4gICd4bGluazpyb2xlJzogJ3hsaW5rUm9sZScsXG4gIHhsaW5rc2hvdzogJ3hsaW5rU2hvdycsXG4gICd4bGluazpzaG93JzogJ3hsaW5rU2hvdycsXG4gIHhsaW5rdGl0bGU6ICd4bGlua1RpdGxlJyxcbiAgJ3hsaW5rOnRpdGxlJzogJ3hsaW5rVGl0bGUnLFxuICB4bGlua3R5cGU6ICd4bGlua1R5cGUnLFxuICAneGxpbms6dHlwZSc6ICd4bGlua1R5cGUnLFxuICB4bWxiYXNlOiAneG1sQmFzZScsXG4gICd4bWw6YmFzZSc6ICd4bWxCYXNlJyxcbiAgeG1sbGFuZzogJ3htbExhbmcnLFxuICAneG1sOmxhbmcnOiAneG1sTGFuZycsXG4gIHhtbG5zOiAneG1sbnMnLFxuICAneG1sOnNwYWNlJzogJ3htbFNwYWNlJyxcbiAgeG1sbnN4bGluazogJ3htbG5zWGxpbmsnLFxuICAneG1sbnM6eGxpbmsnOiAneG1sbnNYbGluaycsXG4gIHhtbHNwYWNlOiAneG1sU3BhY2UnLFxuICB5MTogJ3kxJyxcbiAgeTI6ICd5MicsXG4gIHk6ICd5JyxcbiAgeWNoYW5uZWxzZWxlY3RvcjogJ3lDaGFubmVsU2VsZWN0b3InLFxuICB6OiAneicsXG4gIHpvb21hbmRwYW46ICd6b29tQW5kUGFuJ1xufTtcblxudmFyIGFyaWFQcm9wZXJ0aWVzID0ge1xuICAnYXJpYS1jdXJyZW50JzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEtZGVzY3JpcHRpb24nOiAwLFxuICAnYXJpYS1kZXRhaWxzJzogMCxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1oaWRkZW4nOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1pbnZhbGlkJzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcbiAgJ2FyaWEtbGFiZWwnOiAwLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAwLFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xuICAnYXJpYS1hdXRvY29tcGxldGUnOiAwLFxuICAnYXJpYS1jaGVja2VkJzogMCxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxuICAnYXJpYS1oYXNwb3B1cCc6IDAsXG4gICdhcmlhLWxldmVsJzogMCxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxuICAnYXJpYS1tdWx0aWxpbmUnOiAwLFxuICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiAwLFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXG4gICdhcmlhLXBsYWNlaG9sZGVyJzogMCxcbiAgJ2FyaWEtcHJlc3NlZCc6IDAsXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcbiAgJ2FyaWEtcmVxdWlyZWQnOiAwLFxuICAnYXJpYS1zZWxlY3RlZCc6IDAsXG4gICdhcmlhLXNvcnQnOiAwLFxuICAnYXJpYS12YWx1ZW1heCc6IDAsXG4gICdhcmlhLXZhbHVlbWluJzogMCxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxuICAnYXJpYS12YWx1ZXRleHQnOiAwLFxuICAvLyBMaXZlIFJlZ2lvbiBBdHRyaWJ1dGVzXG4gICdhcmlhLWF0b21pYyc6IDAsXG4gICdhcmlhLWJ1c3knOiAwLFxuICAnYXJpYS1saXZlJzogMCxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxuICAvLyBEcmFnLWFuZC1Ecm9wIEF0dHJpYnV0ZXNcbiAgJ2FyaWEtZHJvcGVmZmVjdCc6IDAsXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxuICAvLyBSZWxhdGlvbnNoaXAgQXR0cmlidXRlc1xuICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JzogMCxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxuICAnYXJpYS1jb2xpbmRleCc6IDAsXG4gICdhcmlhLWNvbHNwYW4nOiAwLFxuICAnYXJpYS1jb250cm9scyc6IDAsXG4gICdhcmlhLWRlc2NyaWJlZGJ5JzogMCxcbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJzogMCxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IDAsXG4gICdhcmlhLW93bnMnOiAwLFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXG4gICdhcmlhLXJvd2NvdW50JzogMCxcbiAgJ2FyaWEtcm93aW5kZXgnOiAwLFxuICAnYXJpYS1yb3dzcGFuJzogMCxcbiAgJ2FyaWEtc2V0c2l6ZSc6IDBcbn07XG5cbnZhciB3YXJuZWRQcm9wZXJ0aWVzID0ge307XG52YXIgckFSSUEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFByb3BlcnRpZXMsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChyQVJJQUNhbWVsLnRlc3QobmFtZSkpIHtcbiAgICAgIHZhciBhcmlhTmFtZSA9ICdhcmlhLScgKyBuYW1lLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgY29ycmVjdE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShhcmlhTmFtZSkgPyBhcmlhTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxuICAgICAgLy8gRE9NIHByb3BlcnRpZXMsIHRoZW4gaXQgaXMgYW4gaW52YWxpZCBhcmlhLSogYXR0cmlidXRlLlxuXG4gICAgICBpZiAoY29ycmVjdE5hbWUgPT0gbnVsbCkge1xuICAgICAgICBlcnJvcignSW52YWxpZCBBUklBIGF0dHJpYnV0ZSBgJXNgLiBBUklBIGF0dHJpYnV0ZXMgZm9sbG93IHRoZSBwYXR0ZXJuIGFyaWEtKiBhbmQgbXVzdCBiZSBsb3dlcmNhc2UuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgY29ycmVjdE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAockFSSUEudGVzdChuYW1lKSkge1xuICAgICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGFyaWFQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSA/IGxvd2VyQ2FzZWROYW1lIDogbnVsbDsgLy8gSWYgdGhpcyBpcyBhbiBhcmlhLSogYXR0cmlidXRlLCBidXQgaXMgbm90IGxpc3RlZCBpbiB0aGUga25vd24gRE9NXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXG5cbiAgICAgIGlmIChzdGFuZGFyZE5hbWUgPT0gbnVsbCkge1xuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cblxuXG4gICAgICBpZiAobmFtZSAhPT0gc3RhbmRhcmROYW1lKSB7XG4gICAgICAgIGVycm9yKCdVbmtub3duIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB3YXJuSW52YWxpZEFSSUFQcm9wcyh0eXBlLCBwcm9wcykge1xuICB7XG4gICAgdmFyIGludmFsaWRQcm9wcyA9IFtdO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5KTtcblxuICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgIGludmFsaWRQcm9wcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gaW52YWxpZFByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgcmV0dXJuICdgJyArIHByb3AgKyAnYCc7XG4gICAgfSkuam9pbignLCAnKTtcblxuICAgIGlmIChpbnZhbGlkUHJvcHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3AgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAoaW52YWxpZFByb3BzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGFyaWEgcHJvcHMgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1hcmlhLXByb3BzJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXModHlwZSwgcHJvcHMpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKTtcbn1cblxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQxKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICE9IG51bGwgJiYgcHJvcHMudmFsdWUgPT09IG51bGwgJiYgIWRpZFdhcm5WYWx1ZU51bGwpIHtcbiAgICAgIGRpZFdhcm5WYWx1ZU51bGwgPSB0cnVlO1xuXG4gICAgICBpZiAodHlwZSA9PT0gJ3NlbGVjdCcgJiYgcHJvcHMubXVsdGlwbGUpIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBhcnJheSB3aGVuIGBtdWx0aXBsZWAgaXMgc2V0IHRvIGB0cnVlYCAnICsgJ3RvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgZm9yIHVuY29udHJvbGxlZCBjb21wb25lbnRzLicsIHR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ2B2YWx1ZWAgcHJvcCBvbiBgJXNgIHNob3VsZCBub3QgYmUgbnVsbC4gJyArICdDb25zaWRlciB1c2luZyBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCAnICsgJ2ZvciB1bmNvbnRyb2xsZWQgY29tcG9uZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIHZhbGlkYXRlUHJvcGVydHkkMSA9IGZ1bmN0aW9uICgpIHt9O1xuXG57XG4gIHZhciB3YXJuZWRQcm9wZXJ0aWVzJDEgPSB7fTtcbiAgdmFyIEVWRU5UX05BTUVfUkVHRVggPSAvXm9uLi87XG4gIHZhciBJTlZBTElEX0VWRU5UX05BTUVfUkVHRVggPSAvXm9uW15BLVpdLztcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbiAgdmFyIHJBUklBQ2FtZWwkMSA9IG5ldyBSZWdFeHAoJ14oYXJpYSlbQS1aXVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcblxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGV2ZW50UmVnaXN0cnkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c2luJyB8fCBsb3dlckNhc2VkTmFtZSA9PT0gJ29uZm9jdXNvdXQnKSB7XG4gICAgICBlcnJvcignUmVhY3QgdXNlcyBvbkZvY3VzIGFuZCBvbkJsdXIgaW5zdGVhZCBvZiBvbkZvY3VzSW4gYW5kIG9uRm9jdXNPdXQuICcgKyAnQWxsIFJlYWN0IGV2ZW50cyBhcmUgbm9ybWFsaXplZCB0byBidWJibGUsIHNvIG9uRm9jdXNJbiBhbmQgb25Gb2N1c091dCAnICsgJ2FyZSBub3QgbmVlZGVkL3N1cHBvcnRlZCBieSBSZWFjdC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gLy8gV2UgY2FuJ3QgcmVseSBvbiB0aGUgZXZlbnQgc3lzdGVtIGJlaW5nIGluamVjdGVkIG9uIHRoZSBzZXJ2ZXIuXG5cblxuICAgIGlmIChldmVudFJlZ2lzdHJ5ICE9IG51bGwpIHtcbiAgICAgIHZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0gZXZlbnRSZWdpc3RyeS5yZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMgPSBldmVudFJlZ2lzdHJ5LnBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXM7XG5cbiAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVnaXN0cmF0aW9uTmFtZSA9IHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpID8gcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1tsb3dlckNhc2VkTmFtZV0gOiBudWxsO1xuXG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIGV2ZW50IGhhbmRsZXIgcHJvcGVydHkgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBJdCB3aWxsIGJlIGlnbm9yZWQuJywgbmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChFVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgIC8vIElmIG5vIGV2ZW50IHBsdWdpbnMgaGF2ZSBiZWVuIGluamVjdGVkLCB3ZSBhcmUgaW4gYSBzZXJ2ZXIgZW52aXJvbm1lbnQuXG4gICAgICAvLyBTbyB3ZSBjYW4ndCB0ZWxsIGlmIHRoZSBldmVudCBuYW1lIGlzIGNvcnJlY3QgZm9yIHN1cmUsIGJ1dCB3ZSBjYW4gZmlsdGVyXG4gICAgICAvLyBvdXQga25vd24gYmFkIG9uZXMgbGlrZSBgb25jbGlja2AuIFdlIGNhbid0IHN1Z2dlc3QgYSBzcGVjaWZpYyByZXBsYWNlbWVudCB0aG91Z2guXG4gICAgICBpZiAoSU5WQUxJRF9FVkVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiAnICsgJ1JlYWN0IGV2ZW50cyB1c2UgdGhlIGNhbWVsQ2FzZSBuYW1pbmcgY29udmVudGlvbiwgZm9yIGV4YW1wbGUgYG9uQ2xpY2tgLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBMZXQgdGhlIEFSSUEgYXR0cmlidXRlIGhvb2sgdmFsaWRhdGUgQVJJQSBhdHRyaWJ1dGVzXG5cblxuICAgIGlmIChyQVJJQSQxLnRlc3QobmFtZSkgfHwgckFSSUFDYW1lbCQxLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lubmVyaHRtbCcpIHtcbiAgICAgIGVycm9yKCdEaXJlY3RseSBzZXR0aW5nIHByb3BlcnR5IGBpbm5lckhUTUxgIGlzIG5vdCBwZXJtaXR0ZWQuICcgKyAnRm9yIG1vcmUgaW5mb3JtYXRpb24sIGxvb2t1cCBkb2N1bWVudGF0aW9uIG9uIGBkYW5nZXJvdXNseVNldElubmVySFRNTGAuJyk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdhcmlhJykge1xuICAgICAgZXJyb3IoJ1RoZSBgYXJpYWAgYXR0cmlidXRlIGlzIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIGluIFJlYWN0LiAnICsgJ1Bhc3MgaW5kaXZpZHVhbCBgYXJpYS1gIGF0dHJpYnV0ZXMgaW5zdGVhZC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lzJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBOYU4gZm9yIHRoZSBgJXNgIGF0dHJpYnV0ZS4gSWYgdGhpcyBpcyBleHBlY3RlZCwgY2FzdCAnICsgJ3RoZSB2YWx1ZSB0byBhIHN0cmluZy4nLCBuYW1lKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8obmFtZSk7XG4gICAgdmFyIGlzUmVzZXJ2ZWQgPSBwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEOyAvLyBLbm93biBhdHRyaWJ1dGVzIHNob3VsZCBtYXRjaCB0aGUgY2FzaW5nIHNwZWNpZmllZCBpbiB0aGUgcHJvcGVydHkgY29uZmlnLlxuXG4gICAgaWYgKHBvc3NpYmxlU3RhbmRhcmROYW1lcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkpIHtcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBwb3NzaWJsZVN0YW5kYXJkTmFtZXNbbG93ZXJDYXNlZE5hbWVdO1xuXG4gICAgICBpZiAoc3RhbmRhcmROYW1lICE9PSBuYW1lKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIERPTSBwcm9wZXJ0eSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCBzdGFuZGFyZE5hbWUpO1xuXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlzUmVzZXJ2ZWQgJiYgbmFtZSAhPT0gbG93ZXJDYXNlZE5hbWUpIHtcbiAgICAgIC8vIFVua25vd24gYXR0cmlidXRlcyBzaG91bGQgaGF2ZSBsb3dlcmNhc2UgY2FzaW5nIHNpbmNlIHRoYXQncyBob3cgdGhleVxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgICAgZXJyb3IoJ1JlYWN0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgYCVzYCBwcm9wIG9uIGEgRE9NIGVsZW1lbnQuIElmIHlvdSAnICsgJ2ludGVudGlvbmFsbHkgd2FudCBpdCB0byBhcHBlYXIgaW4gdGhlIERPTSBhcyBhIGN1c3RvbSAnICsgJ2F0dHJpYnV0ZSwgc3BlbGwgaXQgYXMgbG93ZXJjYXNlIGAlc2AgaW5zdGVhZC4gJyArICdJZiB5b3UgYWNjaWRlbnRhbGx5IHBhc3NlZCBpdCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCwgcmVtb3ZlICcgKyAnaXQgZnJvbSB0aGUgRE9NIGVsZW1lbnQuJywgbmFtZSwgbG93ZXJDYXNlZE5hbWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcblxcbicgKyAnSWYgeW91IHdhbnQgdG8gd3JpdGUgaXQgdG8gdGhlIERPTSwgcGFzcyBhIHN0cmluZyBpbnN0ZWFkOiAnICsgJyVzPVwiJXNcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUsIG5hbWUsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBOb3cgdGhhdCB3ZSd2ZSB2YWxpZGF0ZWQgY2FzaW5nLCBkbyBub3QgdmFsaWRhdGVcbiAgICAvLyBkYXRhIHR5cGVzIGZvciByZXNlcnZlZCBwcm9wc1xuXG5cbiAgICBpZiAoaXNSZXNlcnZlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxuXG5cbiAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxuXG5cbiAgICBpZiAoKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSAndHJ1ZScpICYmIHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gQk9PTEVBTikge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIHRoZSBzdHJpbmcgYCVzYCBmb3IgdGhlIGJvb2xlYW4gYXR0cmlidXRlIGAlc2AuICcgKyAnJXMgJyArICdEaWQgeW91IG1lYW4gJXM9eyVzfT8nLCB2YWx1ZSwgbmFtZSwgdmFsdWUgPT09ICdmYWxzZScgPyAnVGhlIGJyb3dzZXIgd2lsbCBpbnRlcnByZXQgaXQgYXMgYSB0cnV0aHkgdmFsdWUuJyA6ICdBbHRob3VnaCB0aGlzIHdvcmtzLCBpdCB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIGlmIHlvdSBwYXNzIHRoZSBzdHJpbmcgXCJmYWxzZVwiLicsIG5hbWUsIHZhbHVlKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xufVxuXG52YXIgd2FyblVua25vd25Qcm9wZXJ0aWVzID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzLCBldmVudFJlZ2lzdHJ5KSB7XG4gIHtcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgZXZlbnRSZWdpc3RyeSk7XG5cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB1bmtub3duUHJvcHMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IHVua25vd25Qcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xuICAgIH0pLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodW5rbm93blByb3BzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIHByb3AgJXMgb24gPCVzPiB0YWcuIEVpdGhlciByZW1vdmUgaXQgZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIGl0IGluIHRoZSBET00uICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvYXR0cmlidXRlLWJlaGF2aW9yICcsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHVua25vd25Qcm9wcy5sZW5ndGggPiAxKSB7XG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZXMgZm9yIHByb3BzICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIHRoZW0gaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9hdHRyaWJ1dGUtYmVoYXZpb3IgJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzJDIodHlwZSwgcHJvcHMsIGV2ZW50UmVnaXN0cnkpIHtcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdhcm5Vbmtub3duUHJvcGVydGllcyh0eXBlLCBwcm9wcywgZXZlbnRSZWdpc3RyeSk7XG59XG5cbnZhciBJU19FVkVOVF9IQU5ETEVfTk9OX01BTkFHRURfTk9ERSA9IDE7XG52YXIgSVNfTk9OX0RFTEVHQVRFRCA9IDEgPDwgMTtcbnZhciBJU19DQVBUVVJFX1BIQVNFID0gMSA8PCAyO1xuLy8gc2V0IHRvIExFR0FDWV9GQl9TVVBQT1JULiBMRUdBQ1lfRkJfU1VQUE9SVCBvbmx5IGdldHMgc2V0IHdoZW5cbi8vIHdlIGNhbGwgd2lsbERlZmVyTGF0ZXJGb3JMZWdhY3lGQlN1cHBvcnQsIHRodXMgbm90IGJhaWxpbmcgb3V0XG4vLyB3aWxsIHJlc3VsdCBpbiBlbmRsZXNzIGN5Y2xlcyBsaWtlIGFuIGluZmluaXRlIGxvb3AuXG4vLyBXZSBhbHNvIGRvbid0IHdhbnQgdG8gZGVmZXIgZHVyaW5nIGV2ZW50IHJlcGxheWluZy5cblxudmFyIFNIT1VMRF9OT1RfUFJPQ0VTU19QT0xZRklMTF9FVkVOVF9QTFVHSU5TID0gSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUgfCBJU19OT05fREVMRUdBVEVEIHwgSVNfQ0FQVFVSRV9QSEFTRTtcblxuLy8gVGhpcyBleGlzdHMgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBiZXR3ZWVuIFJlYWN0RE9NRXZlbnRSZXBsYXlpbmdcbi8vIGFuZCBET01QbHVnaW5FdmVudFN5c3RlbS5cbnZhciBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBudWxsO1xuZnVuY3Rpb24gc2V0UmVwbGF5aW5nRXZlbnQoZXZlbnQpIHtcbiAge1xuICAgIGlmIChjdXJyZW50UmVwbGF5aW5nRXZlbnQgIT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBjdXJyZW50bHkgcmVwbGF5aW5nIGV2ZW50IHRvIGJlIG51bGwuIFRoaXMgZXJyb3IgJyArICdpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJyZW50UmVwbGF5aW5nRXZlbnQgPSBldmVudDtcbn1cbmZ1bmN0aW9uIHJlc2V0UmVwbGF5aW5nRXZlbnQoKSB7XG4gIHtcbiAgICBpZiAoY3VycmVudFJlcGxheWluZ0V2ZW50ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgY3VycmVudGx5IHJlcGxheWluZyBldmVudCB0byBub3QgYmUgbnVsbC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRSZXBsYXlpbmdFdmVudCA9IG51bGw7XG59XG5mdW5jdGlvbiBpc1JlcGxheWluZ0V2ZW50KGV2ZW50KSB7XG4gIHJldHVybiBldmVudCA9PT0gY3VycmVudFJlcGxheWluZ0V2ZW50O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRhcmdldCBub2RlIGZyb20gYSBuYXRpdmUgYnJvd3NlciBldmVudCBieSBhY2NvdW50aW5nIGZvclxuICogaW5jb25zaXN0ZW5jaWVzIGluIGJyb3dzZXIgRE9NIEFQSXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7RE9NRXZlbnRUYXJnZXR9IFRhcmdldCBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSB7XG4gIC8vIEZhbGxiYWNrIHRvIG5hdGl2ZUV2ZW50LnNyY0VsZW1lbnQgZm9yIElFOVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTA2XG4gIHZhciB0YXJnZXQgPSBuYXRpdmVFdmVudC50YXJnZXQgfHwgbmF0aXZlRXZlbnQuc3JjRWxlbWVudCB8fCB3aW5kb3c7IC8vIE5vcm1hbGl6ZSBTVkcgPHVzZT4gZWxlbWVudCBldmVudHMgIzQ5NjNcblxuICBpZiAodGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSB7XG4gICAgdGFyZ2V0ID0gdGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50O1xuICB9IC8vIFNhZmFyaSBtYXkgZmlyZSBldmVudHMgb24gdGV4dCBub2RlcyAoTm9kZS5URVhUX05PREUgaXMgMykuXG4gIC8vIEBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9qcy9ldmVudHNfcHJvcGVydGllcy5odG1sXG5cblxuICByZXR1cm4gdGFyZ2V0Lm5vZGVUeXBlID09PSBURVhUX05PREUgPyB0YXJnZXQucGFyZW50Tm9kZSA6IHRhcmdldDtcbn1cblxudmFyIHJlc3RvcmVJbXBsID0gbnVsbDtcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbnZhciByZXN0b3JlUXVldWUgPSBudWxsO1xuXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcbiAgLy8gV2UgcGVyZm9ybSB0aGlzIHRyYW5zbGF0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IGxvb3Agc28gdGhhdCB3ZVxuICAvLyBhbHdheXMgcmVjZWl2ZSB0aGUgY29ycmVjdCBmaWJlciBoZXJlXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xuXG4gIGlmICghaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgIC8vIFVubW91bnRlZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmVzdG9yZUltcGwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFJlc3RvcmVJbXBsZW1lbnRhdGlvbigpIG5lZWRzIHRvIGJlIGNhbGxlZCB0byBoYW5kbGUgYSB0YXJnZXQgZm9yIGNvbnRyb2xsZWQgJyArICdldmVudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB2YXIgc3RhdGVOb2RlID0gaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGU7IC8vIEd1YXJkIGFnYWluc3QgRmliZXIgYmVpbmcgdW5tb3VudGVkLlxuXG4gIGlmIChzdGF0ZU5vZGUpIHtcbiAgICB2YXIgX3Byb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gICAgcmVzdG9yZUltcGwoaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGUsIGludGVybmFsSW5zdGFuY2UudHlwZSwgX3Byb3BzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRSZXN0b3JlSW1wbGVtZW50YXRpb24oaW1wbCkge1xuICByZXN0b3JlSW1wbCA9IGltcGw7XG59XG5mdW5jdGlvbiBlbnF1ZXVlU3RhdGVSZXN0b3JlKHRhcmdldCkge1xuICBpZiAocmVzdG9yZVRhcmdldCkge1xuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcbiAgICAgIHJlc3RvcmVRdWV1ZS5wdXNoKHRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG59XG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcbiAgcmV0dXJuIHJlc3RvcmVUYXJnZXQgIT09IG51bGwgfHwgcmVzdG9yZVF1ZXVlICE9PSBudWxsO1xufVxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XG4gIGlmICghcmVzdG9yZVRhcmdldCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciB0YXJnZXQgPSByZXN0b3JlVGFyZ2V0O1xuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcbiAgcmVzdG9yZVRhcmdldCA9IG51bGw7XG4gIHJlc3RvcmVRdWV1ZSA9IG51bGw7XG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHF1ZXVlZFRhcmdldHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHF1ZXVlZFRhcmdldHNbaV0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyB0aGUgcmVuZGVyZXIuIFN1Y2ggYXMgd2hlbiB3ZSdyZSBkaXNwYXRjaGluZyBldmVudHMgb3IgaWYgdGhpcmQgcGFydHlcbi8vIGxpYnJhcmllcyBuZWVkIHRvIGNhbGwgYmF0Y2hlZFVwZGF0ZXMuIEV2ZW50dWFsbHksIHRoaXMgQVBJIHdpbGwgZ28gYXdheSB3aGVuXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxuLy8gc2NoZWR1bGVkIHdvcmsgYW5kIGluc3RlYWQgZG8gc3luY2hyb25vdXMgd29yay5cbi8vIERlZmF1bHRzXG5cbnZhciBiYXRjaGVkVXBkYXRlc0ltcGwgPSBmdW5jdGlvbiAoZm4sIGJvb2trZWVwaW5nKSB7XG4gIHJldHVybiBmbihib29ra2VlcGluZyk7XG59O1xuXG52YXIgZmx1c2hTeW5jSW1wbCA9IGZ1bmN0aW9uICgpIHt9O1xuXG52YXIgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gZmluaXNoRXZlbnRIYW5kbGVyKCkge1xuICAvLyBIZXJlIHdlIHdhaXQgdW50aWwgYWxsIHVwZGF0ZXMgaGF2ZSBwcm9wYWdhdGVkLCB3aGljaCBpcyBpbXBvcnRhbnRcbiAgLy8gd2hlbiB1c2luZyBjb250cm9sbGVkIGNvbXBvbmVudHMgd2l0aGluIGxheWVyczpcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNjk4XG4gIC8vIFRoZW4gd2UgcmVzdG9yZSBzdGF0ZSBvZiBhbnkgY29udHJvbGxlZCBjb21wb25lbnQuXG4gIHZhciBjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcyA9IG5lZWRzU3RhdGVSZXN0b3JlKCk7XG5cbiAgaWYgKGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzKSB7XG4gICAgLy8gSWYgYSBjb250cm9sbGVkIGV2ZW50IHdhcyBmaXJlZCwgd2UgbWF5IG5lZWQgdG8gcmVzdG9yZSB0aGUgc3RhdGUgb2ZcbiAgICAvLyB0aGUgRE9NIG5vZGUgYmFjayB0byB0aGUgY29udHJvbGxlZCB2YWx1ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiBSZWFjdFxuICAgIC8vIGJhaWxzIG91dCBvZiB0aGUgdXBkYXRlIHdpdGhvdXQgdG91Y2hpbmcgdGhlIERPTS5cbiAgICAvLyBUT0RPOiBSZXN0b3JlIHN0YXRlIGluIHRoZSBtaWNyb3Rhc2ssIGFmdGVyIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIGZsdXNoLFxuICAgIC8vIGluc3RlYWQgb2YgZWFybHkgZmx1c2hpbmcgdGhlbSBoZXJlLlxuICAgIGZsdXNoU3luY0ltcGwoKTtcbiAgICByZXN0b3JlU3RhdGVJZk5lZWRlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzKGZuLCBhLCBiKSB7XG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xuICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgaW5zaWRlIGFub3RoZXIgYmF0Y2gsIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxuICAgIHJldHVybiBmbihhLCBiKTtcbiAgfVxuXG4gIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gdHJ1ZTtcblxuICB0cnkge1xuICAgIHJldHVybiBiYXRjaGVkVXBkYXRlc0ltcGwoZm4sIGEsIGIpO1xuICB9IGZpbmFsbHkge1xuICAgIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG4gICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gIH1cbn0gLy8gVE9ETzogUmVwbGFjZSB3aXRoIGZsdXNoU3luY1xuZnVuY3Rpb24gc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihfYmF0Y2hlZFVwZGF0ZXNJbXBsLCBfZGlzY3JldGVVcGRhdGVzSW1wbCwgX2ZsdXNoU3luY0ltcGwpIHtcbiAgYmF0Y2hlZFVwZGF0ZXNJbXBsID0gX2JhdGNoZWRVcGRhdGVzSW1wbDtcbiAgZmx1c2hTeW5jSW1wbCA9IF9mbHVzaFN5bmNJbXBsO1xufVxuXG5mdW5jdGlvbiBpc0ludGVyYWN0aXZlKHRhZykge1xuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ29uQ2xpY2snOlxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrJzpcbiAgICBjYXNlICdvbkRvdWJsZUNsaWNrQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxuICAgIGNhc2UgJ29uTW91c2VEb3duQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZU1vdmUnOlxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZVVwJzpcbiAgICBjYXNlICdvbk1vdXNlVXBDYXB0dXJlJzpcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxuICAgICAgcmV0dXJuICEhKHByb3BzLmRpc2FibGVkICYmIGlzSW50ZXJhY3RpdmUodHlwZSkpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gaW5zdCBUaGUgaW5zdGFuY2UsIHdoaWNoIGlzIHRoZSBzb3VyY2Ugb2YgZXZlbnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxuICogQHJldHVybiB7P2Z1bmN0aW9ufSBUaGUgc3RvcmVkIGNhbGxiYWNrLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSkge1xuICB2YXIgc3RhdGVOb2RlID0gaW5zdC5zdGF0ZU5vZGU7XG5cbiAgaWYgKHN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHByb3BzID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZShzdGF0ZU5vZGUpO1xuXG4gIGlmIChwcm9wcyA9PT0gbnVsbCkge1xuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgbGlzdGVuZXIgPSBwcm9wc1tyZWdpc3RyYXRpb25OYW1lXTtcblxuICBpZiAoc2hvdWxkUHJldmVudE1vdXNlRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgaW5zdC50eXBlLCBwcm9wcykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChsaXN0ZW5lciAmJiB0eXBlb2YgbGlzdGVuZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBgXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXCJgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYFwiICsgdHlwZW9mIGxpc3RlbmVyICsgXCJgIHR5cGUuXCIpO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG52YXIgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTsgLy8gQ2hlY2sgaWYgYnJvd3NlciBzdXBwb3J0IGV2ZW50cyB3aXRoIHBhc3NpdmUgbGlzdGVuZXJzXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lciNTYWZlbHlfZGV0ZWN0aW5nX29wdGlvbl9zdXBwb3J0XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0aW9ucyA9IHt9OyAvLyAkRmxvd0ZpeE1lOiBJZ25vcmUgRmxvdyBjb21wbGFpbmluZyBhYm91dCBuZWVkaW5nIGEgdmFsdWVcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLCAncGFzc2l2ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBvcHRpb25zLCBvcHRpb25zKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcGFzc2l2ZUJyb3dzZXJFdmVudHNTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICB0cnkge1xuICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRoaXMub25FcnJvcihlcnJvcik7XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBpbnZva2VHdWFyZGVkQ2FsbGJhY2tQcm9kO1xuXG57XG4gIC8vIEluIERFViBtb2RlLCB3ZSBzd2FwIG91dCBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgZm9yIGEgc3BlY2lhbCB2ZXJzaW9uXG4gIC8vIHRoYXQgcGxheXMgbW9yZSBuaWNlbHkgd2l0aCB0aGUgYnJvd3NlcidzIERldlRvb2xzLiBUaGUgaWRlYSBpcyB0byBwcmVzZXJ2ZVxuICAvLyBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvci4gQmVjYXVzZSBSZWFjdCB3cmFwcyBhbGwgdXNlci1wcm92aWRlZFxuICAvLyBmdW5jdGlvbnMgaW4gaW52b2tlR3VhcmRlZENhbGxiYWNrLCBhbmQgdGhlIHByb2R1Y3Rpb24gdmVyc2lvbiBvZlxuICAvLyBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgdXNlcyBhIHRyeS1jYXRjaCwgYWxsIHVzZXIgZXhjZXB0aW9ucyBhcmUgdHJlYXRlZFxuICAvLyBsaWtlIGNhdWdodCBleGNlcHRpb25zLCBhbmQgdGhlIERldlRvb2xzIHdvbid0IHBhdXNlIHVubGVzcyB0aGUgZGV2ZWxvcGVyXG4gIC8vIHRha2VzIHRoZSBleHRyYSBzdGVwIG9mIGVuYWJsaW5nIHBhdXNlIG9uIGNhdWdodCBleGNlcHRpb25zLiBUaGlzIGlzXG4gIC8vIHVuaW50dWl0aXZlLCB0aG91Z2gsIGJlY2F1c2UgZXZlbiB0aG91Z2ggUmVhY3QgaGFzIGNhdWdodCB0aGUgZXJyb3IsIGZyb21cbiAgLy8gdGhlIGRldmVsb3BlcidzIHBlcnNwZWN0aXZlLCB0aGUgZXJyb3IgaXMgdW5jYXVnaHQuXG4gIC8vXG4gIC8vIFRvIHByZXNlcnZlIHRoZSBleHBlY3RlZCBcIlBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcbiAgLy8gdHJ5LWNhdGNoIGluIERFVi4gSW5zdGVhZCwgd2Ugc3luY2hyb25vdXNseSBkaXNwYXRjaCBhIGZha2UgZXZlbnQgdG8gYSBmYWtlXG4gIC8vIERPTSBub2RlLCBhbmQgY2FsbCB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayBmcm9tIGluc2lkZSBhbiBldmVudCBoYW5kbGVyXG4gIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcImNhcHR1cmVkXCIgdXNpbmdcbiAgLy8gYSBnbG9iYWwgZXZlbnQgaGFuZGxlci4gQnV0IGJlY2F1c2UgdGhlIGVycm9yIGhhcHBlbnMgaW4gYSBkaWZmZXJlbnRcbiAgLy8gZXZlbnQgbG9vcCBjb250ZXh0LCBpdCBkb2VzIG5vdCBpbnRlcnJ1cHQgdGhlIG5vcm1hbCBwcm9ncmFtIGZsb3cuXG4gIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIGdpdmVzIHVzIHRyeS1jYXRjaCBiZWhhdmlvciB3aXRob3V0IGFjdHVhbGx5IHVzaW5nXG4gIC8vIHRyeS1jYXRjaC4gTmVhdCFcbiAgLy8gQ2hlY2sgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgQVBJcyB3ZSBuZWVkIHRvIGltcGxlbWVudCBvdXIgc3BlY2lhbFxuICAvLyBERVYgdmVyc2lvbiBvZiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZGlzcGF0Y2hFdmVudCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFdmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBmYWtlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JlYWN0Jyk7XG5cbiAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2tJbXBsID0gZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrRGV2KG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgICAgIC8vIElmIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3Qgd2Uga25vdyBmb3Igc3VyZSB3ZSB3aWxsIGNyYXNoIGluIHRoaXMgbWV0aG9kXG4gICAgICAvLyB3aGVuIHdlIGNhbGwgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKS4gSG93ZXZlciB0aGlzIGNhbiBjYXVzZSBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9yczogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvaXNzdWVzLzM0ODJcbiAgICAgIC8vIFNvIHdlIHByZWVtcHRpdmVseSB0aHJvdyB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8IGRvY3VtZW50ID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGBkb2N1bWVudGAgZ2xvYmFsIHdhcyBkZWZpbmVkIHdoZW4gUmVhY3Qgd2FzIGluaXRpYWxpemVkLCBidXQgaXMgbm90ICcgKyAnZGVmaW5lZCBhbnltb3JlLiBUaGlzIGNhbiBoYXBwZW4gaW4gYSB0ZXN0IGVudmlyb25tZW50IGlmIGEgY29tcG9uZW50ICcgKyAnc2NoZWR1bGVzIGFuIHVwZGF0ZSBmcm9tIGFuIGFzeW5jaHJvbm91cyBjYWxsYmFjaywgYnV0IHRoZSB0ZXN0IGhhcyBhbHJlYWR5ICcgKyAnZmluaXNoZWQgcnVubmluZy4gVG8gc29sdmUgdGhpcywgeW91IGNhbiBlaXRoZXIgdW5tb3VudCB0aGUgY29tcG9uZW50IGF0ICcgKyAndGhlIGVuZCBvZiB5b3VyIHRlc3QgKGFuZCBlbnN1cmUgdGhhdCBhbnkgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgZ2V0ICcgKyAnY2FuY2VsZWQgaW4gYGNvbXBvbmVudFdpbGxVbm1vdW50YCksIG9yIHlvdSBjYW4gY2hhbmdlIHRoZSB0ZXN0IGl0c2VsZiAnICsgJ3RvIGJlIGFzeW5jaHJvbm91cy4nKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgICAgdmFyIGRpZENhbGwgPSBmYWxzZTsgLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayB0aHJldyBhbiBlcnJvci4gV2VcbiAgICAgIC8vIHNldCB0aGlzIHRvIHRydWUgYXQgdGhlIGJlZ2lubmluZywgdGhlbiBzZXQgaXQgdG8gZmFsc2UgcmlnaHQgYWZ0ZXJcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcbiAgICAgIC8vIHNldCB0byBmYWxzZS4gVGhpcyBzdHJhdGVneSB3b3JrcyBldmVuIGlmIHRoZSBicm93c2VyIGlzIGZsYWt5IGFuZFxuICAgICAgLy8gZmFpbHMgdG8gY2FsbCBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxuXG4gICAgICB2YXIgZGlkRXJyb3IgPSB0cnVlOyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgdmFsdWUgb2Ygd2luZG93LmV2ZW50IHNvIHRoYXQgd2UgY2FuIHJlc2V0IGl0XG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcbiAgICAgIC8vIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cblxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxuICAgICAgLy8gZGlzcGF0Y2hpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2ODhcblxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTtcblxuICAgICAgZnVuY3Rpb24gcmVzdG9yZUFmdGVyRGlzcGF0Y2goKSB7XG4gICAgICAgIC8vIFdlIGltbWVkaWF0ZWx5IHJlbW92ZSB0aGUgY2FsbGJhY2sgZnJvbSBldmVudCBsaXN0ZW5lcnMgc28gdGhhdFxuICAgICAgICAvLyBuZXN0ZWQgYGludm9rZUd1YXJkZWRDYWxsYmFja2AgY2FsbHMgZG8gbm90IGNsYXNoLiBPdGhlcndpc2UsIGFcbiAgICAgICAgLy8gbmVzdGVkIGNhbGwgd291bGQgdHJpZ2dlciB0aGUgZmFrZSBldmVudCBoYW5kbGVycyBvZiBhbnkgY2FsbCBoaWdoZXJcbiAgICAgICAgLy8gaW4gdGhlIHN0YWNrLlxuICAgICAgICBmYWtlTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBXZSBjaGVjayBmb3Igd2luZG93Lmhhc093blByb3BlcnR5KCdldmVudCcpIHRvIHByZXZlbnQgdGhlXG4gICAgICAgIC8vIHdpbmRvdy5ldmVudCBhc3NpZ25tZW50IGluIGJvdGggSUUgPD0gMTAgYXMgdGhleSB0aHJvdyBhbiBlcnJvclxuICAgICAgICAvLyBcIk1lbWJlciBub3QgZm91bmRcIiBpbiBzdHJpY3QgbW9kZSwgYW5kIGluIEZpcmVmb3ggd2hpY2ggZG9lcyBub3RcbiAgICAgICAgLy8gc3VwcG9ydCB3aW5kb3cuZXZlbnQuXG5cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSkge1xuICAgICAgICAgIHdpbmRvdy5ldmVudCA9IHdpbmRvd0V2ZW50O1xuICAgICAgICB9XG4gICAgICB9IC8vIENyZWF0ZSBhbiBldmVudCBoYW5kbGVyIGZvciBvdXIgZmFrZSBldmVudC4gV2Ugd2lsbCBzeW5jaHJvbm91c2x5XG4gICAgICAvLyBkaXNwYXRjaCBvdXIgZmFrZSBldmVudCB1c2luZyBgZGlzcGF0Y2hFdmVudGAuIEluc2lkZSB0aGUgaGFuZGxlciwgd2VcbiAgICAgIC8vIGNhbGwgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2suXG5cblxuICAgICAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xuICAgICAgICBkaWRDYWxsID0gdHJ1ZTtcbiAgICAgICAgcmVzdG9yZUFmdGVyRGlzcGF0Y2goKTtcbiAgICAgICAgZnVuYy5hcHBseShjb250ZXh0LCBmdW5jQXJncyk7XG4gICAgICAgIGRpZEVycm9yID0gZmFsc2U7XG4gICAgICB9IC8vIENyZWF0ZSBhIGdsb2JhbCBlcnJvciBldmVudCBoYW5kbGVyLiBXZSB1c2UgdGhpcyB0byBjYXB0dXJlIHRoZSB2YWx1ZVxuICAgICAgLy8gdGhhdCB3YXMgdGhyb3duLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBlcnJvciBoYW5kbGVyIHdpbGwgZmlyZSBtb3JlXG4gICAgICAvLyB0aGFuIG9uY2U7IGZvciBleGFtcGxlLCBpZiBub24tUmVhY3QgY29kZSBhbHNvIGNhbGxzIGBkaXNwYXRjaEV2ZW50YFxuICAgICAgLy8gYW5kIGEgaGFuZGxlciBmb3IgdGhhdCBldmVudCB0aHJvd3MuIFdlIHNob3VsZCBiZSByZXNpbGllbnQgdG8gbW9zdCBvZlxuICAgICAgLy8gdGhvc2UgY2FzZXMuIEV2ZW4gaWYgb3VyIGVycm9yIGV2ZW50IGhhbmRsZXIgZmlyZXMgbW9yZSB0aGFuIG9uY2UsIHRoZVxuICAgICAgLy8gbGFzdCBlcnJvciBldmVudCBpcyBhbHdheXMgdXNlZC4gSWYgdGhlIGNhbGxiYWNrIGFjdHVhbGx5IGRvZXMgZXJyb3IsXG4gICAgICAvLyB3ZSBrbm93IHRoYXQgdGhlIGxhc3QgZXJyb3IgZXZlbnQgaXMgdGhlIGNvcnJlY3Qgb25lLCBiZWNhdXNlIGl0J3Mgbm90XG4gICAgICAvLyBwb3NzaWJsZSBmb3IgYW55dGhpbmcgZWxzZSB0byBoYXZlIGhhcHBlbmVkIGluIGJldHdlZW4gb3VyIGNhbGxiYWNrXG4gICAgICAvLyBlcnJvcmluZyBhbmQgdGhlIGNvZGUgdGhhdCBmb2xsb3dzIHRoZSBgZGlzcGF0Y2hFdmVudGAgY2FsbCBiZWxvdy4gSWZcbiAgICAgIC8vIHRoZSBjYWxsYmFjayBkb2Vzbid0IGVycm9yLCBidXQgdGhlIGVycm9yIGV2ZW50IHdhcyBmaXJlZCwgd2Uga25vdyB0b1xuICAgICAgLy8gaWdub3JlIGl0IGJlY2F1c2UgYGRpZEVycm9yYCB3aWxsIGJlIGZhbHNlLCBhcyBkZXNjcmliZWQgYWJvdmUuXG5cblxuICAgICAgdmFyIGVycm9yOyAvLyBVc2UgdGhpcyB0byB0cmFjayB3aGV0aGVyIHRoZSBlcnJvciBldmVudCBpcyBldmVyIGNhbGxlZC5cblxuICAgICAgdmFyIGRpZFNldEVycm9yID0gZmFsc2U7XG4gICAgICB2YXIgaXNDcm9zc09yaWdpbkVycm9yID0gZmFsc2U7XG5cbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVdpbmRvd0Vycm9yKGV2ZW50KSB7XG4gICAgICAgIGVycm9yID0gZXZlbnQuZXJyb3I7XG4gICAgICAgIGRpZFNldEVycm9yID0gdHJ1ZTtcblxuICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwgJiYgZXZlbnQuY29sbm8gPT09IDAgJiYgZXZlbnQubGluZW5vID09PSAwKSB7XG4gICAgICAgICAgaXNDcm9zc09yaWdpbkVycm9yID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cbiAgICAgICAgICAvLyBCcm93c2VycyBzaWxlbmNlIHRoZSBlcnJvciByZXBvcnQgaWYgdGhpcyBoYXBwZW5zLlxuICAgICAgICAgIC8vIFdlJ2xsIHJlbWVtYmVyIHRoaXMgdG8gbGF0ZXIgZGVjaWRlIHdoZXRoZXIgdG8gbG9nIGl0IG9yIG5vdC5cbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBlcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyBDcmVhdGUgYSBmYWtlIGV2ZW50IHR5cGUuXG5cblxuICAgICAgdmFyIGV2dFR5cGUgPSBcInJlYWN0LVwiICsgKG5hbWUgPyBuYW1lIDogJ2ludm9rZWd1YXJkZWRjYWxsYmFjaycpOyAvLyBBdHRhY2ggb3VyIGV2ZW50IGhhbmRsZXJzXG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcbiAgICAgIGZha2VOb2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZ0VHlwZSwgY2FsbENhbGxiYWNrLCBmYWxzZSk7IC8vIFN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggb3VyIGZha2UgZXZlbnQuIElmIHRoZSB1c2VyLXByb3ZpZGVkIGZ1bmN0aW9uXG4gICAgICAvLyBlcnJvcnMsIGl0IHdpbGwgdHJpZ2dlciBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXG5cbiAgICAgIGV2dC5pbml0RXZlbnQoZXZ0VHlwZSwgZmFsc2UsIGZhbHNlKTtcbiAgICAgIGZha2VOb2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcblxuICAgICAgaWYgKHdpbmRvd0V2ZW50RGVzY3JpcHRvcikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZXZlbnQnLCB3aW5kb3dFdmVudERlc2NyaXB0b3IpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlkQ2FsbCAmJiBkaWRFcnJvcikge1xuICAgICAgICBpZiAoIWRpZFNldEVycm9yKSB7XG4gICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGVycm9yZWQsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgbmV2ZXIgZmlyZWQuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgb25lIG9mIHlvdXIgY29tcG9uZW50cywgYnV0IFJlYWN0ICcgKyBcImRvZXNuJ3Qga25vdyB3aGF0IGl0IHdhcy4gVGhpcyBpcyBsaWtlbHkgZHVlIHRvIGJyb3dzZXIgXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcIlBhdXNlIG9uICcgKyAnZXhjZXB0aW9uc1wiIGJlaGF2aW9yIG9mIHRoZSBEZXZUb29scywgd2hpY2ggcmVxdWlyZXMgc29tZSAnICsgXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXCIgKyAneW91ciBicm93c2VyLiBUcnkgdHJpZ2dlcmluZyB0aGUgZXJyb3IgaW4gcHJvZHVjdGlvbiBtb2RlLCAnICsgJ29yIHN3aXRjaGluZyB0byBhIG1vZGVybiBicm93c2VyLiBJZiB5b3Ugc3VzcGVjdCB0aGF0IHRoaXMgaXMgJyArICdhY3R1YWxseSBhbiBpc3N1ZSB3aXRoIFJlYWN0LCBwbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKFwiQSBjcm9zcy1vcmlnaW4gZXJyb3Igd2FzIHRocm93bi4gUmVhY3QgZG9lc24ndCBoYXZlIGFjY2VzcyB0byBcIiArICd0aGUgYWN0dWFsIGVycm9yIG9iamVjdCBpbiBkZXZlbG9wbWVudC4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Nyb3Nzb3JpZ2luLWVycm9yIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKTtcbiAgICAgIH0gLy8gUmVtb3ZlIG91ciBldmVudCBsaXN0ZW5lcnNcblxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XG5cbiAgICAgIGlmICghZGlkQ2FsbCkge1xuICAgICAgICAvLyBTb21ldGhpbmcgd2VudCByZWFsbHkgd3JvbmcsIGFuZCBvdXIgZXZlbnQgd2FzIG5vdCBkaXNwYXRjaGVkLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE2NzM0XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTY1ODVcbiAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBwcm9kdWN0aW9uIGltcGxlbWVudGF0aW9uLlxuICAgICAgICByZXN0b3JlQWZ0ZXJEaXNwYXRjaCgpO1xuICAgICAgICByZXR1cm4gaW52b2tlR3VhcmRlZENhbGxiYWNrUHJvZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMSA9IGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGw7XG5cbnZhciBoYXNFcnJvciA9IGZhbHNlO1xudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cblxudmFyIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XG52YXIgcmVwb3J0ZXIgPSB7XG4gIG9uRXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xuICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICB9XG59O1xuLyoqXG4gKiBDYWxsIGEgZnVuY3Rpb24gd2hpbGUgZ3VhcmRpbmcgYWdhaW5zdCBlcnJvcnMgdGhhdCBoYXBwZW5zIHdpdGhpbiBpdC5cbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cbiAqXG4gKiBJbiBwcm9kdWN0aW9uLCB0aGlzIGlzIGltcGxlbWVudGVkIHVzaW5nIGEgdHJ5LWNhdGNoLiBUaGUgcmVhc29uIHdlIGRvbid0XG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcbiAqIGltcGxlbWVudGF0aW9uIGluIERFViBtb2RlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBUaGUgY29udGV4dCB0byB1c2Ugd2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvblxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBjYXVnaHRFcnJvciA9IG51bGw7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMS5hcHBseShyZXBvcnRlciwgYXJndW1lbnRzKTtcbn1cbi8qKlxuICogU2FtZSBhcyBpbnZva2VHdWFyZGVkQ2FsbGJhY2ssIGJ1dCBpbnN0ZWFkIG9mIHJldHVybmluZyBhbiBlcnJvciwgaXQgc3RvcmVzXG4gKiBpdCBpbiBhIGdsb2JhbCBzbyBpdCBjYW4gYmUgcmV0aHJvd24gYnkgYHJldGhyb3dDYXVnaHRFcnJvcmAgbGF0ZXIuXG4gKiBUT0RPOiBTZWUgaWYgY2F1Z2h0RXJyb3IgYW5kIHJldGhyb3dFcnJvciBjYW4gYmUgdW5pZmllZC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBvZiB0aGUgZ3VhcmQgdG8gdXNlIGZvciBsb2dnaW5nIG9yIGRlYnVnZ2luZ1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgVGhlIGNvbnRleHQgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25cbiAqIEBwYXJhbSB7Li4uKn0gYXJncyBBcmd1bWVudHMgZm9yIGZ1bmN0aW9uXG4gKi9cblxuZnVuY3Rpb24gaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKG5hbWUsIGZ1bmMsIGNvbnRleHQsIGEsIGIsIGMsIGQsIGUsIGYpIHtcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgaWYgKGhhc0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgaWYgKCFoYXNSZXRocm93RXJyb3IpIHtcbiAgICAgIGhhc1JldGhyb3dFcnJvciA9IHRydWU7XG4gICAgICByZXRocm93RXJyb3IgPSBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRHVyaW5nIGV4ZWN1dGlvbiBvZiBndWFyZGVkIGZ1bmN0aW9ucyB3ZSB3aWxsIGNhcHR1cmUgdGhlIGZpcnN0IGVycm9yIHdoaWNoXG4gKiB3ZSB3aWxsIHJldGhyb3cgdG8gYmUgaGFuZGxlZCBieSB0aGUgdG9wIGxldmVsIGVycm9yIGhhbmRsZXIuXG4gKi9cblxuZnVuY3Rpb24gcmV0aHJvd0NhdWdodEVycm9yKCkge1xuICBpZiAoaGFzUmV0aHJvd0Vycm9yKSB7XG4gICAgdmFyIGVycm9yID0gcmV0aHJvd0Vycm9yO1xuICAgIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xuICAgIHJldGhyb3dFcnJvciA9IG51bGw7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cbmZ1bmN0aW9uIGhhc0NhdWdodEVycm9yKCkge1xuICByZXR1cm4gaGFzRXJyb3I7XG59XG5mdW5jdGlvbiBjbGVhckNhdWdodEVycm9yKCkge1xuICBpZiAoaGFzRXJyb3IpIHtcbiAgICB2YXIgZXJyb3IgPSBjYXVnaHRFcnJvcjtcbiAgICBoYXNFcnJvciA9IGZhbHNlO1xuICAgIGNhdWdodEVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhckNhdWdodEVycm9yIHdhcyBjYWxsZWQgYnV0IG5vIGVycm9yIHdhcyBjYXB0dXJlZC4gVGhpcyBlcnJvciAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbi8qKlxuICogYFJlYWN0SW5zdGFuY2VNYXBgIG1haW50YWlucyBhIG1hcHBpbmcgZnJvbSBhIHB1YmxpYyBmYWNpbmcgc3RhdGVmdWxcbiAqIGluc3RhbmNlIChrZXkpIGFuZCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKHZhbHVlKS4gVGhpcyBhbGxvd3MgcHVibGljXG4gKiBtZXRob2RzIHRvIGFjY2VwdCB0aGUgdXNlciBmYWNpbmcgaW5zdGFuY2UgYXMgYW4gYXJndW1lbnQgYW5kIG1hcCB0aGVtIGJhY2tcbiAqIHRvIGludGVybmFsIG1ldGhvZHMuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbW9kdWxlIGlzIGN1cnJlbnRseSBzaGFyZWQgYW5kIGFzc3VtZWQgdG8gYmUgc3RhdGVsZXNzLlxuICogSWYgdGhpcyBiZWNvbWVzIGFuIGFjdHVhbCBNYXAsIHRoYXQgd2lsbCBicmVhay5cbiAqL1xuZnVuY3Rpb24gZ2V0KGtleSkge1xuICByZXR1cm4ga2V5Ll9yZWFjdEludGVybmFscztcbn1cbmZ1bmN0aW9uIGhhcyhrZXkpIHtcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbHMgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XG4gIGtleS5fcmVhY3RJbnRlcm5hbHMgPSB2YWx1ZTtcbn1cblxuLy8gRG9uJ3QgY2hhbmdlIHRoZXNlIHR3byB2YWx1ZXMuIFRoZXkncmUgdXNlZCBieSBSZWFjdCBEZXYgVG9vbHMuXG52YXIgTm9GbGFncyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBQZXJmb3JtZWRXb3JrID1cbi8qICAgICAgICAgICAgICAgICovXG4xOyAvLyBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzdCAoYW5kIGFkZCBtb3JlKS5cblxudmFyIFBsYWNlbWVudCA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgVXBkYXRlID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDtcbnZhciBDaGlsZERlbGV0aW9uID1cbi8qICAgICAgICAgICAgICAgICovXG4xNjtcbnZhciBDb250ZW50UmVzZXQgPVxuLyogICAgICAgICAgICAgICAgICovXG4zMjtcbnZhciBDYWxsYmFjayA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG42NDtcbnZhciBEaWRDYXB0dXJlID1cbi8qICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgRm9yY2VDbGllbnRSZW5kZXIgPVxuLyogICAgICAgICAgICAqL1xuMjU2O1xudmFyIFJlZiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjUxMjtcbnZhciBTbmFwc2hvdCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFBhc3NpdmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgKi9cbjIwNDg7XG52YXIgSHlkcmF0aW5nID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuNDA5NjtcbnZhciBWaXNpYmlsaXR5ID1cbi8qICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFN0b3JlQ29uc2lzdGVuY3kgPVxuLyogICAgICAgICAgICAgKi9cbjE2Mzg0O1xudmFyIExpZmVjeWNsZUVmZmVjdE1hc2sgPSBQYXNzaXZlIHwgVXBkYXRlIHwgQ2FsbGJhY2sgfCBSZWYgfCBTbmFwc2hvdCB8IFN0b3JlQ29uc2lzdGVuY3k7IC8vIFVuaW9uIG9mIGFsbCBjb21taXQgZmxhZ3MgKGZsYWdzIHdpdGggdGhlIGxpZmV0aW1lIG9mIGEgcGFydGljdWxhciBjb21taXQpXG5cbnZhciBIb3N0RWZmZWN0TWFzayA9XG4vKiAgICAgICAgICAgICAgICovXG4zMjc2NzsgLy8gVGhlc2UgYXJlIG5vdCByZWFsbHkgc2lkZSBlZmZlY3RzLCBidXQgd2Ugc3RpbGwgcmV1c2UgdGhpcyBmaWVsZC5cblxudmFyIEluY29tcGxldGUgPVxuLyogICAgICAgICAgICAgICAgICAgKi9cbjMyNzY4O1xudmFyIFNob3VsZENhcHR1cmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIEZvcmNlVXBkYXRlRm9yTGVnYWN5U3VzcGVuc2UgPVxuLyogKi9cbjEzMTA3MjtcbnZhciBGb3JrZWQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2OyAvLyBTdGF0aWMgdGFncyBkZXNjcmliZSBhc3BlY3RzIG9mIGEgZmliZXIgdGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIGEgcmVuZGVyLFxuLy8gZS5nLiBhIGZpYmVyIHVzZXMgYSBwYXNzaXZlIGVmZmVjdCAoZXZlbiBpZiB0aGVyZSBhcmUgbm8gdXBkYXRlcyBvbiB0aGlzIHBhcnRpY3VsYXIgcmVuZGVyKS5cbi8vIFRoaXMgZW5hYmxlcyB1cyB0byBkZWZlciBtb3JlIHdvcmsgaW4gdGhlIHVubW91bnQgY2FzZSxcbi8vIHNpbmNlIHdlIGNhbiBkZWZlciB0cmF2ZXJzaW5nIHRoZSB0cmVlIGR1cmluZyBsYXlvdXQgdG8gbG9vayBmb3IgUGFzc2l2ZSBlZmZlY3RzLFxuLy8gYW5kIGluc3RlYWQgcmVseSBvbiB0aGUgc3RhdGljIGZsYWcgYXMgYSBzaWduYWwgdGhhdCB0aGVyZSBtYXkgYmUgY2xlYW51cCB3b3JrLlxuXG52YXIgUmVmU3RhdGljID1cbi8qICAgICAgICAgICAgICAgICAgICAqL1xuMjA5NzE1MjtcbnZhciBMYXlvdXRTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgICovXG40MTk0MzA0O1xudmFyIFBhc3NpdmVTdGF0aWMgPVxuLyogICAgICAgICAgICAgICAgKi9cbjgzODg2MDg7IC8vIFRoZXNlIGZsYWdzIGFsbG93IHVzIHRvIHRyYXZlcnNlIHRvIGZpYmVycyB0aGF0IGhhdmUgZWZmZWN0cyBvbiBtb3VudFxuLy8gd2l0aG91dCB0cmF2ZXJzaW5nIHRoZSBlbnRpcmUgdHJlZSBhZnRlciBldmVyeSBjb21taXQgZm9yXG4vLyBkb3VibGUgaW52b2tpbmdcblxudmFyIE1vdW50TGF5b3V0RGV2ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE2Nzc3MjE2O1xudmFyIE1vdW50UGFzc2l2ZURldiA9XG4vKiAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyOyAvLyBHcm91cHMgb2YgZmxhZ3MgdGhhdCBhcmUgdXNlZCBpbiB0aGUgY29tbWl0IHBoYXNlIHRvIHNraXAgb3ZlciB0cmVlcyB0aGF0XG4vLyBkb24ndCBjb250YWluIGVmZmVjdHMsIGJ5IGNoZWNraW5nIHN1YnRyZWVGbGFncy5cblxudmFyIEJlZm9yZU11dGF0aW9uTWFzayA9IC8vIFRPRE86IFJlbW92ZSBVcGRhdGUgZmxhZyBmcm9tIGJlZm9yZSBtdXRhdGlvbiBwaGFzZSBieSByZS1sYW5kaW5nIFZpc2liaWxpdHlcbi8vIGZsYWcgbG9naWMgKHNlZSAjMjAwNDMpXG5VcGRhdGUgfCBTbmFwc2hvdCB8ICggMCk7XG52YXIgTXV0YXRpb25NYXNrID0gUGxhY2VtZW50IHwgVXBkYXRlIHwgQ2hpbGREZWxldGlvbiB8IENvbnRlbnRSZXNldCB8IFJlZiB8IEh5ZHJhdGluZyB8IFZpc2liaWxpdHk7XG52YXIgTGF5b3V0TWFzayA9IFVwZGF0ZSB8IENhbGxiYWNrIHwgUmVmIHwgVmlzaWJpbGl0eTsgLy8gVE9ETzogU3BsaXQgaW50byBQYXNzaXZlTW91bnRNYXNrIGFuZCBQYXNzaXZlVW5tb3VudE1hc2tcblxudmFyIFBhc3NpdmVNYXNrID0gUGFzc2l2ZSB8IENoaWxkRGVsZXRpb247IC8vIFVuaW9uIG9mIHRhZ3MgdGhhdCBkb24ndCBnZXQgcmVzZXQgb24gY2xvbmVzLlxuLy8gVGhpcyBhbGxvd3MgY2VydGFpbiBjb25jZXB0cyB0byBwZXJzaXN0IHdpdGhvdXQgcmVjYWxjdWxhdGluZyB0aGVtLFxuLy8gZS5nLiB3aGV0aGVyIGEgc3VidHJlZSBjb250YWlucyBwYXNzaXZlIGVmZmVjdHMgb3IgcG9ydGFscy5cblxudmFyIFN0YXRpY01hc2sgPSBMYXlvdXRTdGF0aWMgfCBQYXNzaXZlU3RhdGljIHwgUmVmU3RhdGljO1xuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbmZ1bmN0aW9uIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpIHtcbiAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgdmFyIG5lYXJlc3RNb3VudGVkID0gZmliZXI7XG5cbiAgaWYgKCFmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBhbHRlcm5hdGUsIHRoaXMgbWlnaHQgYmUgYSBuZXcgdHJlZSB0aGF0IGlzbid0IGluc2VydGVkXG4gICAgLy8geWV0LiBJZiBpdCBpcywgdGhlbiBpdCB3aWxsIGhhdmUgYSBwZW5kaW5nIGluc2VydGlvbiBlZmZlY3Qgb24gaXQuXG4gICAgdmFyIG5leHROb2RlID0gbm9kZTtcblxuICAgIGRvIHtcbiAgICAgIG5vZGUgPSBuZXh0Tm9kZTtcblxuICAgICAgaWYgKChub2RlLmZsYWdzICYgKFBsYWNlbWVudCB8IEh5ZHJhdGluZykpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcbiAgICAgICAgLy8gbW91bnRlZCBmaWJlciBpcyB0aGUgcGFyZW50IGJ1dCB3ZSBuZWVkIHRvIGNvbnRpbnVlIHRvIGZpZ3VyZSBvdXRcbiAgICAgICAgLy8gaWYgdGhhdCBvbmUgaXMgc3RpbGwgbW91bnRlZC5cbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9IHdoaWxlIChuZXh0Tm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXG4gICAgLy8gcmVuZGVyQ29udGFpbmVySW50b1N1YnRyZWUuXG4gICAgcmV0dXJuIG5lYXJlc3RNb3VudGVkO1xuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxuICAvLyB0aGF0IGhhcyBiZWVuIHVubW91bnRlZC5cblxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xuICBpZiAoZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5lckZyb21GaWJlcihmaWJlcikge1xuICByZXR1cm4gZmliZXIudGFnID09PSBIb3N0Um9vdCA/IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRmliZXJNb3VudGVkKGZpYmVyKSB7XG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5mdW5jdGlvbiBpc01vdW50ZWQoY29tcG9uZW50KSB7XG4gIHtcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XG4gICAgICB2YXIgaW5zdGFuY2UgPSBvd25lckZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKCFpbnN0YW5jZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIpIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIGFjY2Vzc2luZyBpc01vdW50ZWQgaW5zaWRlIGl0cyByZW5kZXIoKSBmdW5jdGlvbi4gJyArICdyZW5kZXIoKSBzaG91bGQgYmUgYSBwdXJlIGZ1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZS4gSXQgc2hvdWxkICcgKyAnbmV2ZXIgYWNjZXNzIHNvbWV0aGluZyB0aGF0IHJlcXVpcmVzIHN0YWxlIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgJyArICdyZW5kZXIsIHN1Y2ggYXMgcmVmcy4gTW92ZSB0aGlzIGxvZ2ljIHRvIGNvbXBvbmVudERpZE1vdW50IGFuZCAnICsgJ2NvbXBvbmVudERpZFVwZGF0ZSBpbnN0ZWFkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIob3duZXJGaWJlcikgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gZ2V0KGNvbXBvbmVudCk7XG5cbiAgaWYgKCFmaWJlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5cbmZ1bmN0aW9uIGFzc2VydElzTW91bnRlZChmaWJlcikge1xuICBpZiAoZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgIT09IGZpYmVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoIWFsdGVybmF0ZSkge1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYgaXQgaXMgbW91bnRlZC5cbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKTtcblxuICAgIGlmIChuZWFyZXN0TW91bnRlZCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIElmIHdlIGhhdmUgdHdvIHBvc3NpYmxlIGJyYW5jaGVzLCB3ZSdsbCB3YWxrIGJhY2t3YXJkcyB1cCB0byB0aGUgcm9vdFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcbiAgLy8gc3BlY2lhbCBjYXNlcyBhbmQgd2UnbGwgZGVhbCB3aXRoIHRoZW0uXG5cblxuICB2YXIgYSA9IGZpYmVyO1xuICB2YXIgYiA9IGFsdGVybmF0ZTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHZhciBwYXJlbnRBID0gYS5yZXR1cm47XG5cbiAgICBpZiAocGFyZW50QSA9PT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgYXQgdGhlIHJvb3QuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKHBhcmVudEIgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxuICAgICAgLy8gaGFwcGVucyB3aGVuIGEgU3VzcGVuc2UgY29tcG9uZW50IGlzIGhpZGRlbi4gQW4gZXh0cmEgZnJhZ21lbnQgZmliZXJcbiAgICAgIC8vIGlzIGluc2VydGVkIGluIGJldHdlZW4gdGhlIFN1c3BlbnNlIGZpYmVyIGFuZCBpdHMgY2hpbGRyZW4uIFNraXBcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXG4gICAgICB2YXIgbmV4dFBhcmVudCA9IHBhcmVudEEucmV0dXJuO1xuXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICBhID0gYiA9IG5leHRQYXJlbnQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXG5cblxuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiBib3RoIGNvcGllcyBvZiB0aGUgcGFyZW50IGZpYmVyIHBvaW50IHRvIHRoZSBzYW1lIGNoaWxkLCB3ZSBjYW5cbiAgICAvLyBhc3N1bWUgdGhhdCB0aGUgY2hpbGQgaXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW4gd2UgYmFpbG91dCBvbiBsb3dcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXG5cblxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XG4gICAgICB2YXIgY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBhKSB7XG4gICAgICAgICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcbiAgICAgICAgICByZXR1cm4gZmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQiBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xuICAgICAgICAgIHJldHVybiBhbHRlcm5hdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9IC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIGFuIGFsdGVybmF0ZSBmb3IgYW55IG1vdW50aW5nIG5vZGUuIFNvIHRoZSBvbmx5XG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXG5cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKGEucmV0dXJuICE9PSBiLnJldHVybikge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVyIG9mIEEgYW5kIHRoZSByZXR1cm4gcG9pbnRlciBvZiBCIHBvaW50IHRvIGRpZmZlcmVudFxuICAgICAgLy8gZmliZXJzLiBXZSBhc3N1bWUgdGhhdCByZXR1cm4gcG9pbnRlcnMgbmV2ZXIgY3Jpc3MtY3Jvc3MsIHNvIEEgbXVzdFxuICAgICAgLy8gYmVsb25nIHRvIHRoZSBjaGlsZCBzZXQgb2YgQS5yZXR1cm4sIGFuZCBCIG11c3QgYmVsb25nIHRvIHRoZSBjaGlsZFxuICAgICAgLy8gc2V0IG9mIEIucmV0dXJuLlxuICAgICAgYSA9IHBhcmVudEE7XG4gICAgICBiID0gcGFyZW50QjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVycyBwb2ludCB0byB0aGUgc2FtZSBmaWJlci4gV2UnbGwgaGF2ZSB0byB1c2UgdGhlXG4gICAgICAvLyBkZWZhdWx0LCBzbG93IHBhdGg6IHNjYW4gdGhlIGNoaWxkIHNldHMgb2YgZWFjaCBwYXJlbnQgYWx0ZXJuYXRlIHRvIHNlZVxuICAgICAgLy8gd2hpY2ggY2hpbGQgYmVsb25ncyB0byB3aGljaCBzZXQuXG4gICAgICAvL1xuICAgICAgLy8gU2VhcmNoIHBhcmVudCBBJ3MgY2hpbGQgc2V0XG4gICAgICB2YXIgZGlkRmluZENoaWxkID0gZmFsc2U7XG4gICAgICB2YXIgX2NoaWxkID0gcGFyZW50QS5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZCkge1xuICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgZGlkRmluZENoaWxkID0gdHJ1ZTtcbiAgICAgICAgICBhID0gcGFyZW50QTtcbiAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgIGIgPSBwYXJlbnRBO1xuICAgICAgICAgIGEgPSBwYXJlbnRCO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGlmICghZGlkRmluZENoaWxkKSB7XG4gICAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQidzIGNoaWxkIHNldFxuICAgICAgICBfY2hpbGQgPSBwYXJlbnRCLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChfY2hpbGQpIHtcbiAgICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XG4gICAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgICAgYSA9IHBhcmVudEI7XG4gICAgICAgICAgICBiID0gcGFyZW50QTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChfY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgICBiID0gcGFyZW50QjtcbiAgICAgICAgICAgIGEgPSBwYXJlbnRBO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRpZEZpbmRDaGlsZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2hpbGQgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgcGFyZW50IHNldC4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgJyArICdpbiBSZWFjdCByZWxhdGVkIHRvIHRoZSByZXR1cm4gcG9pbnRlci4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYS5hbHRlcm5hdGUgIT09IGIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJldHVybiBmaWJlcnMgc2hvdWxkIGFsd2F5cyBiZSBlYWNoIG90aGVycycgYWx0ZXJuYXRlcy4gXCIgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH0gLy8gSWYgdGhlIHJvb3QgaXMgbm90IGEgaG9zdCBjb250YWluZXIsIHdlJ3JlIGluIGEgZGlzY29ubmVjdGVkIHRyZWUuIEkuZS5cbiAgLy8gdW5tb3VudGVkLlxuXG5cbiAgaWYgKGEudGFnICE9PSBIb3N0Um9vdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LicpO1xuICB9XG5cbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcbiAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cblxuXG4gIHJldHVybiBhbHRlcm5hdGU7XG59XG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcihwYXJlbnQpIHtcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xuICByZXR1cm4gY3VycmVudFBhcmVudCAhPT0gbnVsbCA/IGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChjdXJyZW50UGFyZW50KSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVySW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJJbXBsKGNoaWxkKTtcblxuICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cblxuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMocGFyZW50KSB7XG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcbiAgcmV0dXJuIGN1cnJlbnRQYXJlbnQgIT09IG51bGwgPyBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHNJbXBsKGN1cnJlbnRQYXJlbnQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChub2RlKSB7XG4gIC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgaWYgKGNoaWxkLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xuICAgICAgdmFyIG1hdGNoID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzSW1wbChjaGlsZCk7XG5cbiAgICAgIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRoaXMgbW9kdWxlIG9ubHkgZXhpc3RzIGFzIGFuIEVTTSB3cmFwcGVyIGFyb3VuZCB0aGUgZXh0ZXJuYWwgQ29tbW9uSlNcbnZhciBzY2hlZHVsZUNhbGxiYWNrID0gU2NoZWR1bGVyLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG52YXIgY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG52YXIgc2hvdWxkWWllbGQgPSBTY2hlZHVsZXIudW5zdGFibGVfc2hvdWxkWWllbGQ7XG52YXIgcmVxdWVzdFBhaW50ID0gU2NoZWR1bGVyLnVuc3RhYmxlX3JlcXVlc3RQYWludDtcbnZhciBub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93O1xudmFyIGdldEN1cnJlbnRQcmlvcml0eUxldmVsID0gU2NoZWR1bGVyLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsO1xudmFyIEltbWVkaWF0ZVByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5O1xudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5O1xudmFyIE5vcm1hbFByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5O1xudmFyIExvd1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX0xvd1ByaW9yaXR5O1xudmFyIElkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XG4vLyB0aGlzIGRvZXNuJ3QgYWN0dWFsbHkgZXhpc3Qgb24gdGhlIHNjaGVkdWxlciwgYnV0IGl0ICpkb2VzKlxuLy8gb24gc2NoZWR1bGVyL3Vuc3RhYmxlX21vY2ssIHdoaWNoIHdlJ2xsIG5lZWQgZm9yIGludGVybmFsIHRlc3RpbmdcbnZhciB1bnN0YWJsZV95aWVsZFZhbHVlID0gU2NoZWR1bGVyLnVuc3RhYmxlX3lpZWxkVmFsdWU7XG52YXIgdW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWUgPSBTY2hlZHVsZXIudW5zdGFibGVfc2V0RGlzYWJsZVlpZWxkVmFsdWU7XG5cbnZhciByZW5kZXJlcklEID0gbnVsbDtcbnZhciBpbmplY3RlZEhvb2sgPSBudWxsO1xudmFyIGluamVjdGVkUHJvZmlsaW5nSG9va3MgPSBudWxsO1xudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XG52YXIgaXNEZXZUb29sc1ByZXNlbnQgPSB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJztcbmZ1bmN0aW9uIGluamVjdEludGVybmFscyhpbnRlcm5hbHMpIHtcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gTm8gRGV2VG9vbHNcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgaG9vayA9IF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuICBpZiAoaG9vay5pc0Rpc2FibGVkKSB7XG4gICAgLy8gVGhpcyBpc24ndCBhIHJlYWwgcHJvcGVydHkgb24gdGhlIGhvb2ssIGJ1dCBpdCBjYW4gYmUgc2V0IHRvIG9wdCBvdXRcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzM4NzdcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghaG9vay5zdXBwb3J0c0ZpYmVyKSB7XG4gICAge1xuICAgICAgZXJyb3IoJ1RoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiBSZWFjdCBEZXZUb29scyBpcyB0b28gb2xkIGFuZCB3aWxsIG5vdCB3b3JrICcgKyAnd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFJlYWN0LiBQbGVhc2UgdXBkYXRlIFJlYWN0IERldlRvb2xzLiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9yZWFjdC1kZXZ0b29scycpO1xuICAgIH0gLy8gRGV2VG9vbHMgZXhpc3RzLCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IHN1cHBvcnQgRmliZXIuXG5cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlU2NoZWR1bGluZ1Byb2ZpbGVyKSB7XG4gICAgICAvLyBDb25kaXRpb25hbGx5IGluamVjdCB0aGVzZSBob29rcyBvbmx5IGlmIFRpbWVsaW5lIHByb2ZpbGVyIGlzIHN1cHBvcnRlZCBieSB0aGlzIGJ1aWxkLlxuICAgICAgLy8gVGhpcyBnaXZlcyBEZXZUb29scyBhIHdheSB0byBmZWF0dXJlIGRldGVjdCB0aGF0IGlzbid0IHRpZWQgdG8gdmVyc2lvbiBudW1iZXJcbiAgICAgIC8vIChzaW5jZSBwcm9maWxpbmcgYW5kIHRpbWVsaW5lIGFyZSBjb250cm9sbGVkIGJ5IGRpZmZlcmVudCBmZWF0dXJlIGZsYWdzKS5cbiAgICAgIGludGVybmFscyA9IGFzc2lnbih7fSwgaW50ZXJuYWxzLCB7XG4gICAgICAgIGdldExhbmVMYWJlbE1hcDogZ2V0TGFuZUxhYmVsTWFwLFxuICAgICAgICBpbmplY3RQcm9maWxpbmdIb29rczogaW5qZWN0UHJvZmlsaW5nSG9va3NcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxuXG4gICAgaW5qZWN0ZWRIb29rID0gaG9vaztcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gQ2F0Y2ggYWxsIGVycm9ycyBiZWNhdXNlIGl0IGlzIHVuc2FmZSB0byB0aHJvdyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMuJywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaG9vay5jaGVja0RDRSkge1xuICAgIC8vIFRoaXMgaXMgdGhlIHJlYWwgRGV2VG9vbHMuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyBsaWtlbHkgYSBob29rIGluc3RhbGxlZCBieSBGYXN0IFJlZnJlc2ggcnVudGltZS5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIG9uU2NoZWR1bGVSb290KHJvb3QsIGNoaWxkcmVuKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25TY2hlZHVsZUZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uU2NoZWR1bGVGaWJlclJvb3QocmVuZGVyZXJJRCwgcm9vdCwgY2hpbGRyZW4pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICggIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3Qocm9vdCwgZXZlbnRQcmlvcml0eSkge1xuICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2sub25Db21taXRGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIGRpZEVycm9yID0gKHJvb3QuY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBEaWRDYXB0dXJlO1xuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xuICAgICAgICB2YXIgc2NoZWR1bGVyUHJpb3JpdHk7XG5cbiAgICAgICAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgICAgICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIENvbnRpbnVvdXNFdmVudFByaW9yaXR5OlxuICAgICAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHkgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgSWRsZUV2ZW50UHJpb3JpdHk6XG4gICAgICAgICAgICBzY2hlZHVsZXJQcmlvcml0eSA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHNjaGVkdWxlclByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBzY2hlZHVsZXJQcmlvcml0eSwgZGlkRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIHVuZGVmaW5lZCwgZGlkRXJyb3IpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvblBvc3RDb21taXRSb290KHJvb3QpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uUG9zdENvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBpbmplY3RlZEhvb2sub25Qb3N0Q29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAge1xuICAgICAgICBpZiAoIWhhc0xvZ2dlZEVycm9yKSB7XG4gICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkNvbW1pdFVubW91bnQoZmliZXIpIHtcbiAgaWYgKGluamVjdGVkSG9vayAmJiB0eXBlb2YgaW5qZWN0ZWRIb29rLm9uQ29tbWl0RmliZXJVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGVkSG9vay5vbkNvbW1pdEZpYmVyVW5tb3VudChyZW5kZXJlcklELCBmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB7XG4gICAgICAgIGlmICghaGFzTG9nZ2VkRXJyb3IpIHtcbiAgICAgICAgICBoYXNMb2dnZWRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKG5ld0lzU3RyaWN0TW9kZSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiB1bnN0YWJsZV95aWVsZFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBXZSdyZSBpbiBhIHRlc3QgYmVjYXVzZSBTY2hlZHVsZXIudW5zdGFibGVfeWllbGRWYWx1ZSBvbmx5IGV4aXN0c1xuICAgICAgLy8gaW4gU2NoZWR1bGVyTW9jay4gVG8gcmVkdWNlIHRoZSBub2lzZSBpbiBzdHJpY3QgbW9kZSB0ZXN0cyxcbiAgICAgIC8vIHN1cHByZXNzIHdhcm5pbmdzIGFuZCBkaXNhYmxlIHNjaGVkdWxlciB5aWVsZGluZyBkdXJpbmcgdGhlIGRvdWJsZSByZW5kZXJcbiAgICAgIHVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlKG5ld0lzU3RyaWN0TW9kZSk7XG4gICAgICBzZXRTdXBwcmVzc1dhcm5pbmcobmV3SXNTdHJpY3RNb2RlKTtcbiAgICB9XG5cbiAgICBpZiAoaW5qZWN0ZWRIb29rICYmIHR5cGVvZiBpbmplY3RlZEhvb2suc2V0U3RyaWN0TW9kZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5qZWN0ZWRIb29rLnNldFN0cmljdE1vZGUocmVuZGVyZXJJRCwgbmV3SXNTdHJpY3RNb2RlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIFByb2ZpbGVyIEFQSSBob29rc1xuXG5mdW5jdGlvbiBpbmplY3RQcm9maWxpbmdIb29rcyhwcm9maWxpbmdIb29rcykge1xuICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzID0gcHJvZmlsaW5nSG9va3M7XG59XG5cbmZ1bmN0aW9uIGdldExhbmVMYWJlbE1hcCgpIHtcbiAge1xuICAgIHZhciBtYXAgPSBuZXcgTWFwKCk7XG4gICAgdmFyIGxhbmUgPSAxO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IFRvdGFsTGFuZXM7IGluZGV4KyspIHtcbiAgICAgIHZhciBsYWJlbCA9IGdldExhYmVsRm9yTGFuZShsYW5lKTtcbiAgICAgIG1hcC5zZXQobGFuZSwgbGFiZWwpO1xuICAgICAgbGFuZSAqPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21taXRTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21taXRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZChmaWJlcikge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdGFydGVkKGZpYmVyKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RhcnRlZChmaWJlcik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0TW91bnRTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmliZXIpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudExheW91dEVmZmVjdFVubW91bnRTdG9wcGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudEVycm9yZWQoZmliZXIsIHRocm93blZhbHVlLCBsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrQ29tcG9uZW50U3VzcGVuZGVkKGZpYmVyLCB3YWtlYWJsZSwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtDb21wb25lbnRTdXNwZW5kZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0NvbXBvbmVudFN1c3BlbmRlZChmaWJlciwgd2FrZWFibGUsIGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcykge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtMYXlvdXRFZmZlY3RzU3RhcnRlZChsYW5lcyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQoKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrTGF5b3V0RWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkKGxhbmVzKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUGFzc2l2ZUVmZmVjdHNTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtQYXNzaXZlRWZmZWN0c1N0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1Bhc3NpdmVFZmZlY3RzU3RvcHBlZCgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpIHtcbiAge1xuICAgIGlmIChpbmplY3RlZFByb2ZpbGluZ0hvb2tzICE9PSBudWxsICYmIHR5cGVvZiBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJZaWVsZGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlcllpZWxkZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTdG9wcGVkKCkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1JlbmRlclNjaGVkdWxlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrUmVuZGVyU2NoZWR1bGVkKGxhbmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKSB7XG4gIHtcbiAgICBpZiAoaW5qZWN0ZWRQcm9maWxpbmdIb29rcyAhPT0gbnVsbCAmJiB0eXBlb2YgaW5qZWN0ZWRQcm9maWxpbmdIb29rcy5tYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya0ZvcmNlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSkge1xuICB7XG4gICAgaWYgKGluamVjdGVkUHJvZmlsaW5nSG9va3MgIT09IG51bGwgJiYgdHlwZW9mIGluamVjdGVkUHJvZmlsaW5nSG9va3MubWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbmplY3RlZFByb2ZpbGluZ0hvb2tzLm1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBOb01vZGUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjA7IC8vIFRPRE86IFJlbW92ZSBDb25jdXJyZW50TW9kZSBieSByZWFkaW5nIGZyb20gdGhlIHJvb3QgdGFnIGluc3RlYWRcblxudmFyIENvbmN1cnJlbnRNb2RlID1cbi8qICAgICAgICAgICAgICAgICAqL1xuMTtcbnZhciBQcm9maWxlTW9kZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjI7XG52YXIgU3RyaWN0TGVnYWN5TW9kZSA9XG4vKiAgICAgICAgICAgICAgICovXG44O1xudmFyIFN0cmljdEVmZmVjdHNNb2RlID1cbi8qICAgICAgICAgICAgICAqL1xuMTY7XG5cbi8vIFRPRE86IFRoaXMgaXMgcHJldHR5IHdlbGwgc3VwcG9ydGVkIGJ5IGJyb3dzZXJzLiBNYXliZSB3ZSBjYW4gZHJvcCBpdC5cbnZhciBjbHozMiA9IE1hdGguY2x6MzIgPyBNYXRoLmNsejMyIDogY2x6MzJGYWxsYmFjazsgLy8gQ291bnQgbGVhZGluZyB6ZXJvcy5cbi8vIEJhc2VkIG9uOlxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvTWF0aC9jbHozMlxuXG52YXIgbG9nID0gTWF0aC5sb2c7XG52YXIgTE4yID0gTWF0aC5MTjI7XG5cbmZ1bmN0aW9uIGNsejMyRmFsbGJhY2soeCkge1xuICB2YXIgYXNVaW50ID0geCA+Pj4gMDtcblxuICBpZiAoYXNVaW50ID09PSAwKSB7XG4gICAgcmV0dXJuIDMyO1xuICB9XG5cbiAgcmV0dXJuIDMxIC0gKGxvZyhhc1VpbnQpIC8gTE4yIHwgMCkgfCAwO1xufVxuXG4vLyBJZiB0aG9zZSB2YWx1ZXMgYXJlIGNoYW5nZWQgdGhhdCBwYWNrYWdlIHNob3VsZCBiZSByZWJ1aWx0IGFuZCByZWRlcGxveWVkLlxuXG52YXIgVG90YWxMYW5lcyA9IDMxO1xudmFyIE5vTGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuMDtcbnZhciBOb0xhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICovXG4wO1xudmFyIFN5bmNMYW5lID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSA9XG4vKiAgICAqL1xuMjtcbnZhciBJbnB1dENvbnRpbnVvdXNMYW5lID1cbi8qICAgICAgICAgICAgICovXG40O1xudmFyIERlZmF1bHRIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgKi9cbjg7XG52YXIgRGVmYXVsdExhbmUgPVxuLyogICAgICAgICAgICAgICAgICAgICAqL1xuMTY7XG52YXIgVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmUgPVxuLyogICAgICAgICAgICAgICAgKi9cbjMyO1xudmFyIFRyYW5zaXRpb25MYW5lcyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjQxOTQyNDA7XG52YXIgVHJhbnNpdGlvbkxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY0O1xudmFyIFRyYW5zaXRpb25MYW5lMiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMjg7XG52YXIgVHJhbnNpdGlvbkxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI1NjtcbnZhciBUcmFuc2l0aW9uTGFuZTQgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTEyO1xudmFyIFRyYW5zaXRpb25MYW5lNSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xMDI0O1xudmFyIFRyYW5zaXRpb25MYW5lNiA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4yMDQ4O1xudmFyIFRyYW5zaXRpb25MYW5lNyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG40MDk2O1xudmFyIFRyYW5zaXRpb25MYW5lOCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG44MTkyO1xudmFyIFRyYW5zaXRpb25MYW5lOSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG4xNjM4NDtcbnZhciBUcmFuc2l0aW9uTGFuZTEwID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuMzI3Njg7XG52YXIgVHJhbnNpdGlvbkxhbmUxMSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjY1NTM2O1xudmFyIFRyYW5zaXRpb25MYW5lMTIgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMzEwNzI7XG52YXIgVHJhbnNpdGlvbkxhbmUxMyA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgKi9cbjI2MjE0NDtcbnZhciBUcmFuc2l0aW9uTGFuZTE0ID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAqL1xuNTI0Mjg4O1xudmFyIFRyYW5zaXRpb25MYW5lMTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4xMDQ4NTc2O1xudmFyIFRyYW5zaXRpb25MYW5lMTYgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICovXG4yMDk3MTUyO1xudmFyIFJldHJ5TGFuZXMgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjEzMDAyMzQyNDtcbnZhciBSZXRyeUxhbmUxID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuNDE5NDMwNDtcbnZhciBSZXRyeUxhbmUyID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuODM4ODYwODtcbnZhciBSZXRyeUxhbmUzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMTY3NzcyMTY7XG52YXIgUmV0cnlMYW5lNCA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbjMzNTU0NDMyO1xudmFyIFJldHJ5TGFuZTUgPVxuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG42NzEwODg2NDtcbnZhciBTb21lUmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcbnZhciBTZWxlY3RpdmVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICovXG4xMzQyMTc3Mjg7XG52YXIgTm9uSWRsZUxhbmVzID1cbi8qICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuMjY4NDM1NDU1O1xudmFyIElkbGVIeWRyYXRpb25MYW5lID1cbi8qICAgICAgICAgICAgICAgKi9cbjI2ODQzNTQ1NjtcbnZhciBJZGxlTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAgICAgICovXG41MzY4NzA5MTI7XG52YXIgT2Zmc2NyZWVuTGFuZSA9XG4vKiAgICAgICAgICAgICAgICAgICAqL1xuMTA3Mzc0MTgyNDsgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciB0aGUgZXhwZXJpbWVudGFsIHRpbWVsaW5lIChyZWFjdC1kZXZ0b29scy10aW1lbGluZSlcbi8vIEl0IHNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgTGFuZXMgdmFsdWVzIGFib3ZlLlxuXG5mdW5jdGlvbiBnZXRMYWJlbEZvckxhbmUobGFuZSkge1xuICB7XG4gICAgaWYgKGxhbmUgJiBTeW5jTGFuZSkge1xuICAgICAgcmV0dXJuICdTeW5jJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIElucHV0Q29udGludW91c0xhbmUpIHtcbiAgICAgIHJldHVybiAnSW5wdXRDb250aW51b3VzJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIERlZmF1bHRIeWRyYXRpb25MYW5lKSB7XG4gICAgICByZXR1cm4gJ0RlZmF1bHRIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgRGVmYXVsdExhbmUpIHtcbiAgICAgIHJldHVybiAnRGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBUcmFuc2l0aW9uSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uSHlkcmF0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFRyYW5zaXRpb25MYW5lcykge1xuICAgICAgcmV0dXJuICdUcmFuc2l0aW9uJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIFJldHJ5TGFuZXMpIHtcbiAgICAgIHJldHVybiAnUmV0cnknO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgU2VsZWN0aXZlSHlkcmF0aW9uTGFuZSkge1xuICAgICAgcmV0dXJuICdTZWxlY3RpdmVIeWRyYXRpb24nO1xuICAgIH1cblxuICAgIGlmIChsYW5lICYgSWRsZUh5ZHJhdGlvbkxhbmUpIHtcbiAgICAgIHJldHVybiAnSWRsZUh5ZHJhdGlvbic7XG4gICAgfVxuXG4gICAgaWYgKGxhbmUgJiBJZGxlTGFuZSkge1xuICAgICAgcmV0dXJuICdJZGxlJztcbiAgICB9XG5cbiAgICBpZiAobGFuZSAmIE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgIHJldHVybiAnT2Zmc2NyZWVuJztcbiAgICB9XG4gIH1cbn1cbnZhciBOb1RpbWVzdGFtcCA9IC0xO1xudmFyIG5leHRUcmFuc2l0aW9uTGFuZSA9IFRyYW5zaXRpb25MYW5lMTtcbnZhciBuZXh0UmV0cnlMYW5lID0gUmV0cnlMYW5lMTtcblxuZnVuY3Rpb24gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobGFuZXMpIHtcbiAgc3dpdGNoIChnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKSkge1xuICAgIGNhc2UgU3luY0xhbmU6XG4gICAgICByZXR1cm4gU3luY0xhbmU7XG5cbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSW5wdXRDb250aW51b3VzTGFuZTpcbiAgICAgIHJldHVybiBJbnB1dENvbnRpbnVvdXNMYW5lO1xuXG4gICAgY2FzZSBEZWZhdWx0SHlkcmF0aW9uTGFuZTpcbiAgICAgIHJldHVybiBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgRGVmYXVsdExhbmU6XG4gICAgICByZXR1cm4gRGVmYXVsdExhbmU7XG5cbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgICAgcmV0dXJuIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgICAgcmV0dXJuIGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzO1xuXG4gICAgY2FzZSBSZXRyeUxhbmUxOlxuICAgIGNhc2UgUmV0cnlMYW5lMjpcbiAgICBjYXNlIFJldHJ5TGFuZTM6XG4gICAgY2FzZSBSZXRyeUxhbmU0OlxuICAgIGNhc2UgUmV0cnlMYW5lNTpcbiAgICAgIHJldHVybiBsYW5lcyAmIFJldHJ5TGFuZXM7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gU2VsZWN0aXZlSHlkcmF0aW9uTGFuZTtcblxuICAgIGNhc2UgSWRsZUh5ZHJhdGlvbkxhbmU6XG4gICAgICByZXR1cm4gSWRsZUh5ZHJhdGlvbkxhbmU7XG5cbiAgICBjYXNlIElkbGVMYW5lOlxuICAgICAgcmV0dXJuIElkbGVMYW5lO1xuXG4gICAgY2FzZSBPZmZzY3JlZW5MYW5lOlxuICAgICAgcmV0dXJuIE9mZnNjcmVlbkxhbmU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICBlcnJvcignU2hvdWxkIGhhdmUgZm91bmQgbWF0Y2hpbmcgbGFuZXMuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9IC8vIFRoaXMgc2hvdWxkbid0IGJlIHJlYWNoYWJsZSwgYnV0IGFzIGEgZmFsbGJhY2ssIHJldHVybiB0aGUgZW50aXJlIGJpdG1hc2suXG5cblxuICAgICAgcmV0dXJuIGxhbmVzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5leHRMYW5lcyhyb290LCB3aXBMYW5lcykge1xuICAvLyBFYXJseSBiYWlsb3V0IGlmIHRoZXJlJ3Mgbm8gcGVuZGluZyB3b3JrIGxlZnQuXG4gIHZhciBwZW5kaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAocGVuZGluZ0xhbmVzID09PSBOb0xhbmVzKSB7XG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH1cblxuICB2YXIgbmV4dExhbmVzID0gTm9MYW5lcztcbiAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcbiAgdmFyIHBpbmdlZExhbmVzID0gcm9vdC5waW5nZWRMYW5lczsgLy8gRG8gbm90IHdvcmsgb24gYW55IGlkbGUgd29yayB1bnRpbCBhbGwgdGhlIG5vbi1pZGxlIHdvcmsgaGFzIGZpbmlzaGVkLFxuICAvLyBldmVuIGlmIHRoZSB3b3JrIGlzIHN1c3BlbmRlZC5cblxuICB2YXIgbm9uSWRsZVBlbmRpbmdMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIE5vbklkbGVMYW5lcztcblxuICBpZiAobm9uSWRsZVBlbmRpbmdMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgIHZhciBub25JZGxlVW5ibG9ja2VkTGFuZXMgPSBub25JZGxlUGVuZGluZ0xhbmVzICYgfnN1c3BlbmRlZExhbmVzO1xuXG4gICAgaWYgKG5vbklkbGVVbmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMobm9uSWRsZVVuYmxvY2tlZExhbmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIG5vbklkbGVQaW5nZWRMYW5lcyA9IG5vbklkbGVQZW5kaW5nTGFuZXMgJiBwaW5nZWRMYW5lcztcblxuICAgICAgaWYgKG5vbklkbGVQaW5nZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgICBuZXh0TGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lcyhub25JZGxlUGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgb25seSByZW1haW5pbmcgd29yayBpcyBJZGxlLlxuICAgIHZhciB1bmJsb2NrZWRMYW5lcyA9IHBlbmRpbmdMYW5lcyAmIH5zdXNwZW5kZWRMYW5lcztcblxuICAgIGlmICh1bmJsb2NrZWRMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXModW5ibG9ja2VkTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGluZ2VkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbmV4dExhbmVzID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocGluZ2VkTGFuZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChuZXh0TGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBvbmx5IGJlIHJlYWNoYWJsZSBpZiB3ZSdyZSBzdXNwZW5kZWRcbiAgICAvLyBUT0RPOiBDb25zaWRlciB3YXJuaW5nIGluIHRoaXMgcGF0aCBpZiBhIGZhbGxiYWNrIHRpbWVyIGlzIG5vdCBzY2hlZHVsZWQuXG4gICAgcmV0dXJuIE5vTGFuZXM7XG4gIH0gLy8gSWYgd2UncmUgYWxyZWFkeSBpbiB0aGUgbWlkZGxlIG9mIGEgcmVuZGVyLCBzd2l0Y2hpbmcgbGFuZXMgd2lsbCBpbnRlcnJ1cHRcbiAgLy8gaXQgYW5kIHdlJ2xsIGxvc2Ugb3VyIHByb2dyZXNzLiBXZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHRoZSBuZXcgbGFuZXMgYXJlXG4gIC8vIGhpZ2hlciBwcmlvcml0eS5cblxuXG4gIGlmICh3aXBMYW5lcyAhPT0gTm9MYW5lcyAmJiB3aXBMYW5lcyAhPT0gbmV4dExhbmVzICYmIC8vIElmIHdlIGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgdGhlbiBpbnRlcnJ1cHRpbmcgaXMgZmluZS4gRG9uJ3RcbiAgLy8gYm90aGVyIHdhaXRpbmcgdW50aWwgdGhlIHJvb3QgaXMgY29tcGxldGUuXG4gICh3aXBMYW5lcyAmIHN1c3BlbmRlZExhbmVzKSA9PT0gTm9MYW5lcykge1xuICAgIHZhciBuZXh0TGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobmV4dExhbmVzKTtcbiAgICB2YXIgd2lwTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUod2lwTGFuZXMpO1xuXG4gICAgaWYgKCAvLyBUZXN0cyB3aGV0aGVyIHRoZSBuZXh0IGxhbmUgaXMgZXF1YWwgb3IgbG93ZXIgcHJpb3JpdHkgdGhhbiB0aGUgd2lwXG4gICAgLy8gb25lLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIGJpdHMgZGVjcmVhc2UgaW4gcHJpb3JpdHkgYXMgeW91IGdvIGxlZnQuXG4gICAgbmV4dExhbmUgPj0gd2lwTGFuZSB8fCAvLyBEZWZhdWx0IHByaW9yaXR5IHVwZGF0ZXMgc2hvdWxkIG5vdCBpbnRlcnJ1cHQgdHJhbnNpdGlvbiB1cGRhdGVzLiBUaGVcbiAgICAvLyBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBkZWZhdWx0IHVwZGF0ZXMgYW5kIHRyYW5zaXRpb24gdXBkYXRlcyBpcyB0aGF0XG4gICAgLy8gZGVmYXVsdCB1cGRhdGVzIGRvIG5vdCBzdXBwb3J0IHJlZnJlc2ggdHJhbnNpdGlvbnMuXG4gICAgbmV4dExhbmUgPT09IERlZmF1bHRMYW5lICYmICh3aXBMYW5lICYgVHJhbnNpdGlvbkxhbmVzKSAhPT0gTm9MYW5lcykge1xuICAgICAgLy8gS2VlcCB3b3JraW5nIG9uIHRoZSBleGlzdGluZyBpbi1wcm9ncmVzcyB0cmVlLiBEbyBub3QgaW50ZXJydXB0LlxuICAgICAgcmV0dXJuIHdpcExhbmVzO1xuICAgIH1cbiAgfVxuXG4gIGlmICgobmV4dExhbmVzICYgSW5wdXRDb250aW51b3VzTGFuZSkgIT09IE5vTGFuZXMpIHtcbiAgICAvLyBXaGVuIHVwZGF0ZXMgYXJlIHN5bmMgYnkgZGVmYXVsdCwgd2UgZW50YW5nbGUgY29udGludW91cyBwcmlvcml0eSB1cGRhdGVzXG4gICAgLy8gYW5kIGRlZmF1bHQgdXBkYXRlcywgc28gdGhleSByZW5kZXIgaW4gdGhlIHNhbWUgYmF0Y2guIFRoZSBvbmx5IHJlYXNvblxuICAgIC8vIHRoZXkgdXNlIHNlcGFyYXRlIGxhbmVzIGlzIGJlY2F1c2UgY29udGludW91cyB1cGRhdGVzIHNob3VsZCBpbnRlcnJ1cHRcbiAgICAvLyB0cmFuc2l0aW9ucywgYnV0IGRlZmF1bHQgdXBkYXRlcyBzaG91bGQgbm90LlxuICAgIG5leHRMYW5lcyB8PSBwZW5kaW5nTGFuZXMgJiBEZWZhdWx0TGFuZTtcbiAgfSAvLyBDaGVjayBmb3IgZW50YW5nbGVkIGxhbmVzIGFuZCBhZGQgdGhlbSB0byB0aGUgYmF0Y2guXG4gIC8vXG4gIC8vIEEgbGFuZSBpcyBzYWlkIHRvIGJlIGVudGFuZ2xlZCB3aXRoIGFub3RoZXIgd2hlbiBpdCdzIG5vdCBhbGxvd2VkIHRvIHJlbmRlclxuICAvLyBpbiBhIGJhdGNoIHRoYXQgZG9lcyBub3QgYWxzbyBpbmNsdWRlIHRoZSBvdGhlciBsYW5lLiBUeXBpY2FsbHkgd2UgZG8gdGhpc1xuICAvLyB3aGVuIG11bHRpcGxlIHVwZGF0ZXMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsIGFuZCB3ZSBvbmx5IHdhbnQgdG8gcmVzcG9uZCB0b1xuICAvLyB0aGUgbW9zdCByZWNlbnQgZXZlbnQgZnJvbSB0aGF0IHNvdXJjZS5cbiAgLy9cbiAgLy8gTm90ZSB0aGF0IHdlIGFwcGx5IGVudGFuZ2xlbWVudHMgKmFmdGVyKiBjaGVja2luZyBmb3IgcGFydGlhbCB3b3JrIGFib3ZlLlxuICAvLyBUaGlzIG1lYW5zIHRoYXQgaWYgYSBsYW5lIGlzIGVudGFuZ2xlZCBkdXJpbmcgYW4gaW50ZXJsZWF2ZWQgZXZlbnQgd2hpbGVcbiAgLy8gaXQncyBhbHJlYWR5IHJlbmRlcmluZywgd2Ugd29uJ3QgaW50ZXJydXB0IGl0LiBUaGlzIGlzIGludGVudGlvbmFsLCBzaW5jZVxuICAvLyBlbnRhbmdsZW1lbnQgaXMgdXN1YWxseSBcImJlc3QgZWZmb3J0XCI6IHdlJ2xsIHRyeSBvdXIgYmVzdCB0byByZW5kZXIgdGhlXG4gIC8vIGxhbmVzIGluIHRoZSBzYW1lIGJhdGNoLCBidXQgaXQncyBub3Qgd29ydGggdGhyb3dpbmcgb3V0IHBhcnRpYWxseVxuICAvLyBjb21wbGV0ZWQgd29yayBpbiBvcmRlciB0byBkbyBpdC5cbiAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzLiBUaGUgY291bnRlci1hcmd1bWVudCBpcyB0aGF0IHRoZSBwYXJ0aWFsIHdvcmtcbiAgLy8gcmVwcmVzZW50cyBhbiBpbnRlcm1lZGlhdGUgc3RhdGUsIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gc2hvdyB0byB0aGUgdXNlci5cbiAgLy8gQW5kIGJ5IHNwZW5kaW5nIGV4dHJhIHRpbWUgZmluaXNoaW5nIGl0LCB3ZSdyZSBpbmNyZWFzaW5nIHRoZSBhbW91bnQgb2ZcbiAgLy8gdGltZSBpdCB0YWtlcyB0byBzaG93IHRoZSBmaW5hbCBzdGF0ZSwgd2hpY2ggaXMgd2hhdCB0aGV5IGFyZSBhY3R1YWxseVxuICAvLyB3YWl0aW5nIGZvci5cbiAgLy9cbiAgLy8gRm9yIHRob3NlIGV4Y2VwdGlvbnMgd2hlcmUgZW50YW5nbGVtZW50IGlzIHNlbWFudGljYWxseSBpbXBvcnRhbnQsIGxpa2VcbiAgLy8gdXNlTXV0YWJsZVNvdXJjZSwgd2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZXJlIGlzIG5vIHBhcnRpYWwgd29yayBhdCB0aGVcbiAgLy8gdGltZSB3ZSBhcHBseSB0aGUgZW50YW5nbGVtZW50LlxuXG5cbiAgdmFyIGVudGFuZ2xlZExhbmVzID0gcm9vdC5lbnRhbmdsZWRMYW5lcztcblxuICBpZiAoZW50YW5nbGVkTGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICB2YXIgZW50YW5nbGVtZW50cyA9IHJvb3QuZW50YW5nbGVtZW50cztcbiAgICB2YXIgbGFuZXMgPSBuZXh0TGFuZXMgJiBlbnRhbmdsZWRMYW5lcztcblxuICAgIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgICAgbmV4dExhbmVzIHw9IGVudGFuZ2xlbWVudHNbaW5kZXhdO1xuICAgICAgbGFuZXMgJj0gfmxhbmU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHRMYW5lcztcbn1cbmZ1bmN0aW9uIGdldE1vc3RSZWNlbnRFdmVudFRpbWUocm9vdCwgbGFuZXMpIHtcbiAgdmFyIGV2ZW50VGltZXMgPSByb290LmV2ZW50VGltZXM7XG4gIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgZXZlbnRUaW1lID0gZXZlbnRUaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXZlbnRUaW1lID4gbW9zdFJlY2VudEV2ZW50VGltZSkge1xuICAgICAgbW9zdFJlY2VudEV2ZW50VGltZSA9IGV2ZW50VGltZTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxuXG4gIHJldHVybiBtb3N0UmVjZW50RXZlbnRUaW1lO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpIHtcbiAgc3dpdGNoIChsYW5lKSB7XG4gICAgY2FzZSBTeW5jTGFuZTpcbiAgICBjYXNlIElucHV0Q29udGludW91c0h5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJbnB1dENvbnRpbnVvdXNMYW5lOlxuICAgICAgLy8gVXNlciBpbnRlcmFjdGlvbnMgc2hvdWxkIGV4cGlyZSBzbGlnaHRseSBtb3JlIHF1aWNrbHkuXG4gICAgICAvL1xuICAgICAgLy8gTk9URTogVGhpcyBpcyBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgY29uc3RhbnQgYXMgaW4gU2NoZWR1bGVyLmpzLlxuICAgICAgLy8gV2hlbiB3ZSBtYWRlIGl0IGxhcmdlciwgYSBwcm9kdWN0IG1ldHJpYyBpbiB3d3cgcmVncmVzc2VkLCBzdWdnZXN0aW5nXG4gICAgICAvLyB0aGVyZSdzIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0J3MgYmVpbmcgc3RhcnZlZCBieSBhIHNlcmllcyBvZlxuICAgICAgLy8gc3luY2hyb25vdXMgdXBkYXRlcy4gSWYgdGhhdCB0aGVvcnkgaXMgY29ycmVjdCwgdGhlIHByb3BlciBzb2x1dGlvbiBpc1xuICAgICAgLy8gdG8gZml4IHRoZSBzdGFydmF0aW9uLiBIb3dldmVyLCB0aGlzIHNjZW5hcmlvIHN1cHBvcnRzIHRoZSBpZGVhIHRoYXRcbiAgICAgIC8vIGV4cGlyYXRpb24gdGltZXMgYXJlIGFuIGltcG9ydGFudCBzYWZlZ3VhcmQgd2hlbiBzdGFydmF0aW9uXG4gICAgICAvLyBkb2VzIGhhcHBlbi5cbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDI1MDtcblxuICAgIGNhc2UgRGVmYXVsdEh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICBjYXNlIFRyYW5zaXRpb25IeWRyYXRpb25MYW5lOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU0OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU2OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU3OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU4OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmU5OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEyOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMzpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE1OlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNjpcbiAgICAgIHJldHVybiBjdXJyZW50VGltZSArIDUwMDA7XG5cbiAgICBjYXNlIFJldHJ5TGFuZTE6XG4gICAgY2FzZSBSZXRyeUxhbmUyOlxuICAgIGNhc2UgUmV0cnlMYW5lMzpcbiAgICBjYXNlIFJldHJ5TGFuZTQ6XG4gICAgY2FzZSBSZXRyeUxhbmU1OlxuICAgICAgLy8gVE9ETzogUmV0cmllcyBzaG91bGQgYmUgYWxsb3dlZCB0byBleHBpcmUgaWYgdGhleSBhcmUgQ1BVIGJvdW5kIGZvclxuICAgICAgLy8gdG9vIGxvbmcsIGJ1dCB3aGVuIEkgbWFkZSB0aGlzIGNoYW5nZSBpdCBjYXVzZWQgYSBzcGlrZSBpbiBicm93c2VyXG4gICAgICAvLyBjcmFzaGVzLiBUaGVyZSBtdXN0IGJlIHNvbWUgb3RoZXIgdW5kZXJseWluZyBidWc7IG5vdCBzdXBlciB1cmdlbnQgYnV0XG4gICAgICAvLyBpZGVhbGx5IHNob3VsZCBmaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmVcbiAgICAgIC8vIGEgcmVwcm8gZm9yIHRoZSBjcmFzaGVzLCBvbmx5IGRldGVjdGVkIHZpYSBwcm9kdWN0aW9uIG1ldHJpY3MuXG4gICAgICByZXR1cm4gTm9UaW1lc3RhbXA7XG5cbiAgICBjYXNlIFNlbGVjdGl2ZUh5ZHJhdGlvbkxhbmU6XG4gICAgY2FzZSBJZGxlSHlkcmF0aW9uTGFuZTpcbiAgICBjYXNlIElkbGVMYW5lOlxuICAgIGNhc2UgT2Zmc2NyZWVuTGFuZTpcbiAgICAgIC8vIEFueXRoaW5nIGlkbGUgcHJpb3JpdHkgb3IgbG93ZXIgc2hvdWxkIG5ldmVyIGV4cGlyZS5cbiAgICAgIHJldHVybiBOb1RpbWVzdGFtcDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGVycm9yKCdTaG91bGQgaGF2ZSBmb3VuZCBtYXRjaGluZyBsYW5lcy4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5vVGltZXN0YW1wO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGFydmVkTGFuZXNBc0V4cGlyZWQocm9vdCwgY3VycmVudFRpbWUpIHtcbiAgLy8gVE9ETzogVGhpcyBnZXRzIGNhbGxlZCBldmVyeSB0aW1lIHdlIHlpZWxkLiBXZSBjYW4gb3B0aW1pemUgYnkgc3RvcmluZ1xuICAvLyB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSByb290LiBUaGVuIHVzZSB0aGF0IHRvIHF1aWNrbHkgYmFpbCBvdXRcbiAgLy8gb2YgdGhpcyBmdW5jdGlvbi5cbiAgdmFyIHBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzO1xuICB2YXIgc3VzcGVuZGVkTGFuZXMgPSByb290LnN1c3BlbmRlZExhbmVzO1xuICB2YXIgcGluZ2VkTGFuZXMgPSByb290LnBpbmdlZExhbmVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgcGVuZGluZyBsYW5lcyBhbmQgY2hlY2sgaWYgd2UndmUgcmVhY2hlZCB0aGVpclxuICAvLyBleHBpcmF0aW9uIHRpbWUuIElmIHNvLCB3ZSdsbCBhc3N1bWUgdGhlIHVwZGF0ZSBpcyBiZWluZyBzdGFydmVkIGFuZCBtYXJrXG4gIC8vIGl0IGFzIGV4cGlyZWQgdG8gZm9yY2UgaXQgdG8gZmluaXNoLlxuXG4gIHZhciBsYW5lcyA9IHBlbmRpbmdMYW5lcztcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciBleHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lc1tpbmRleF07XG5cbiAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5vVGltZXN0YW1wKSB7XG4gICAgICAvLyBGb3VuZCBhIHBlbmRpbmcgbGFuZSB3aXRoIG5vIGV4cGlyYXRpb24gdGltZS4gSWYgaXQncyBub3Qgc3VzcGVuZGVkLCBvclxuICAgICAgLy8gaWYgaXQncyBwaW5nZWQsIGFzc3VtZSBpdCdzIENQVS1ib3VuZC4gQ29tcHV0ZSBhIG5ldyBleHBpcmF0aW9uIHRpbWVcbiAgICAgIC8vIHVzaW5nIHRoZSBjdXJyZW50IHRpbWUuXG4gICAgICBpZiAoKGxhbmUgJiBzdXNwZW5kZWRMYW5lcykgPT09IE5vTGFuZXMgfHwgKGxhbmUgJiBwaW5nZWRMYW5lcykgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgLy8gQXNzdW1lcyB0aW1lc3RhbXBzIGFyZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuXG4gICAgICAgIGV4cGlyYXRpb25UaW1lc1tpbmRleF0gPSBjb21wdXRlRXhwaXJhdGlvblRpbWUobGFuZSwgY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRoaXMgbGFuZSBleHBpcmVkXG4gICAgICByb290LmV4cGlyZWRMYW5lcyB8PSBsYW5lO1xuICAgIH1cblxuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59IC8vIFRoaXMgcmV0dXJucyB0aGUgaGlnaGVzdCBwcmlvcml0eSBwZW5kaW5nIGxhbmVzIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5XG4vLyBhcmUgc3VzcGVuZGVkLlxuXG5mdW5jdGlvbiBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCkge1xuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZXMocm9vdC5wZW5kaW5nTGFuZXMpO1xufVxuZnVuY3Rpb24gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCkge1xuICB2YXIgZXZlcnl0aGluZ0J1dE9mZnNjcmVlbiA9IHJvb3QucGVuZGluZ0xhbmVzICYgfk9mZnNjcmVlbkxhbmU7XG5cbiAgaWYgKGV2ZXJ5dGhpbmdCdXRPZmZzY3JlZW4gIT09IE5vTGFuZXMpIHtcbiAgICByZXR1cm4gZXZlcnl0aGluZ0J1dE9mZnNjcmVlbjtcbiAgfVxuXG4gIGlmIChldmVyeXRoaW5nQnV0T2Zmc2NyZWVuICYgT2Zmc2NyZWVuTGFuZSkge1xuICAgIHJldHVybiBPZmZzY3JlZW5MYW5lO1xuICB9XG5cbiAgcmV0dXJuIE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc1N5bmNMYW5lKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBTeW5jTGFuZSkgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc05vbklkbGVXb3JrKGxhbmVzKSB7XG4gIHJldHVybiAobGFuZXMgJiBOb25JZGxlTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5UmV0cmllcyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgUmV0cnlMYW5lcykgPT09IGxhbmVzO1xufVxuZnVuY3Rpb24gaW5jbHVkZXNPbmx5Tm9uVXJnZW50TGFuZXMobGFuZXMpIHtcbiAgdmFyIFVyZ2VudExhbmVzID0gU3luY0xhbmUgfCBJbnB1dENvbnRpbnVvdXNMYW5lIHwgRGVmYXVsdExhbmU7XG4gIHJldHVybiAobGFuZXMgJiBVcmdlbnRMYW5lcykgPT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykge1xuICByZXR1cm4gKGxhbmVzICYgVHJhbnNpdGlvbkxhbmVzKSA9PT0gbGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCBsYW5lcykge1xuXG4gIHZhciBTeW5jRGVmYXVsdExhbmVzID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZSB8IElucHV0Q29udGludW91c0xhbmUgfCBEZWZhdWx0SHlkcmF0aW9uTGFuZSB8IERlZmF1bHRMYW5lO1xuICByZXR1cm4gKGxhbmVzICYgU3luY0RlZmF1bHRMYW5lcykgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSB7XG4gIC8vIFRoaXMgaXMgYSBzZXBhcmF0ZSBjaGVjayBmcm9tIGluY2x1ZGVzQmxvY2tpbmdMYW5lIGJlY2F1c2UgYSBsYW5lIGNhblxuICAvLyBleHBpcmUgYWZ0ZXIgYSByZW5kZXIgaGFzIGFscmVhZHkgc3RhcnRlZC5cbiAgcmV0dXJuIChsYW5lcyAmIHJvb3QuZXhwaXJlZExhbmVzKSAhPT0gTm9MYW5lcztcbn1cbmZ1bmN0aW9uIGlzVHJhbnNpdGlvbkxhbmUobGFuZSkge1xuICByZXR1cm4gKGxhbmUgJiBUcmFuc2l0aW9uTGFuZXMpICE9PSBOb0xhbmVzO1xufVxuZnVuY3Rpb24gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKSB7XG4gIC8vIEN5Y2xlIHRocm91Z2ggdGhlIGxhbmVzLCBhc3NpZ25pbmcgZWFjaCBuZXcgdHJhbnNpdGlvbiB0byB0aGUgbmV4dCBsYW5lLlxuICAvLyBJbiBtb3N0IGNhc2VzLCB0aGlzIG1lYW5zIGV2ZXJ5IHRyYW5zaXRpb24gZ2V0cyBpdHMgb3duIGxhbmUsIHVudGlsIHdlXG4gIC8vIHJ1biBvdXQgb2YgbGFuZXMgYW5kIGN5Y2xlIGJhY2sgdG8gdGhlIGJlZ2lubmluZy5cbiAgdmFyIGxhbmUgPSBuZXh0VHJhbnNpdGlvbkxhbmU7XG4gIG5leHRUcmFuc2l0aW9uTGFuZSA8PD0gMTtcblxuICBpZiAoKG5leHRUcmFuc2l0aW9uTGFuZSAmIFRyYW5zaXRpb25MYW5lcykgPT09IE5vTGFuZXMpIHtcbiAgICBuZXh0VHJhbnNpdGlvbkxhbmUgPSBUcmFuc2l0aW9uTGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGNsYWltTmV4dFJldHJ5TGFuZSgpIHtcbiAgdmFyIGxhbmUgPSBuZXh0UmV0cnlMYW5lO1xuICBuZXh0UmV0cnlMYW5lIDw8PSAxO1xuXG4gIGlmICgobmV4dFJldHJ5TGFuZSAmIFJldHJ5TGFuZXMpID09PSBOb0xhbmVzKSB7XG4gICAgbmV4dFJldHJ5TGFuZSA9IFJldHJ5TGFuZTE7XG4gIH1cblxuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGdldEhpZ2hlc3RQcmlvcml0eUxhbmUobGFuZXMpIHtcbiAgcmV0dXJuIGxhbmVzICYgLWxhbmVzO1xufVxuZnVuY3Rpb24gcGlja0FyYml0cmFyeUxhbmUobGFuZXMpIHtcbiAgLy8gVGhpcyB3cmFwcGVyIGZ1bmN0aW9uIGdldHMgaW5saW5lZC4gT25seSBleGlzdHMgc28gdG8gY29tbXVuaWNhdGUgdGhhdCBpdFxuICAvLyBkb2Vzbid0IG1hdHRlciB3aGljaCBiaXQgaXMgc2VsZWN0ZWQ7IHlvdSBjYW4gcGljayBhbnkgYml0IHdpdGhvdXRcbiAgLy8gYWZmZWN0aW5nIHRoZSBhbGdvcml0aG1zIHdoZXJlIGl0cyB1c2VkLiBIZXJlIEknbSB1c2luZ1xuICAvLyBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lIGJlY2F1c2UgaXQgcmVxdWlyZXMgdGhlIGZld2VzdCBvcGVyYXRpb25zLlxuICByZXR1cm4gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShsYW5lcyk7XG59XG5cbmZ1bmN0aW9uIHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpIHtcbiAgcmV0dXJuIDMxIC0gY2x6MzIobGFuZXMpO1xufVxuXG5mdW5jdGlvbiBsYW5lVG9JbmRleChsYW5lKSB7XG4gIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmUpO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlc1NvbWVMYW5lKGEsIGIpIHtcbiAgcmV0dXJuIChhICYgYikgIT09IE5vTGFuZXM7XG59XG5mdW5jdGlvbiBpc1N1YnNldE9mTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIChzZXQgJiBzdWJzZXQpID09PSBzdWJzZXQ7XG59XG5mdW5jdGlvbiBtZXJnZUxhbmVzKGEsIGIpIHtcbiAgcmV0dXJuIGEgfCBiO1xufVxuZnVuY3Rpb24gcmVtb3ZlTGFuZXMoc2V0LCBzdWJzZXQpIHtcbiAgcmV0dXJuIHNldCAmIH5zdWJzZXQ7XG59XG5mdW5jdGlvbiBpbnRlcnNlY3RMYW5lcyhhLCBiKSB7XG4gIHJldHVybiBhICYgYjtcbn0gLy8gU2VlbXMgcmVkdW5kYW50LCBidXQgaXQgY2hhbmdlcyB0aGUgdHlwZSBmcm9tIGEgc2luZ2xlIGxhbmUgKHVzZWQgZm9yXG4vLyB1cGRhdGVzKSB0byBhIGdyb3VwIG9mIGxhbmVzICh1c2VkIGZvciBmbHVzaGluZyB3b3JrKS5cblxuZnVuY3Rpb24gbGFuZVRvTGFuZXMobGFuZSkge1xuICByZXR1cm4gbGFuZTtcbn1cbmZ1bmN0aW9uIGhpZ2hlclByaW9yaXR5TGFuZShhLCBiKSB7XG4gIC8vIFRoaXMgd29ya3MgYmVjYXVzZSB0aGUgYml0IHJhbmdlcyBkZWNyZWFzZSBpbiBwcmlvcml0eSBhcyB5b3UgZ28gbGVmdC5cbiAgcmV0dXJuIGEgIT09IE5vTGFuZSAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gY3JlYXRlTGFuZU1hcChpbml0aWFsKSB7XG4gIC8vIEludGVudGlvbmFsbHkgcHVzaGluZyBvbmUgYnkgb25lLlxuICAvLyBodHRwczovL3Y4LmRldi9ibG9nL2VsZW1lbnRzLWtpbmRzI2F2b2lkLWNyZWF0aW5nLWhvbGVzXG4gIHZhciBsYW5lTWFwID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBUb3RhbExhbmVzOyBpKyspIHtcbiAgICBsYW5lTWFwLnB1c2goaW5pdGlhbCk7XG4gIH1cblxuICByZXR1cm4gbGFuZU1hcDtcbn1cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZChyb290LCB1cGRhdGVMYW5lLCBldmVudFRpbWUpIHtcbiAgcm9vdC5wZW5kaW5nTGFuZXMgfD0gdXBkYXRlTGFuZTsgLy8gSWYgdGhlcmUgYXJlIGFueSBzdXNwZW5kZWQgdHJhbnNpdGlvbnMsIGl0J3MgcG9zc2libGUgdGhpcyBuZXcgdXBkYXRlXG4gIC8vIGNvdWxkIHVuYmxvY2sgdGhlbS4gQ2xlYXIgdGhlIHN1c3BlbmRlZCBsYW5lcyBzbyB0aGF0IHdlIGNhbiB0cnkgcmVuZGVyaW5nXG4gIC8vIHRoZW0gYWdhaW4uXG4gIC8vXG4gIC8vIFRPRE86IFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gdW5zdXNwZW5kIG9ubHkgbGFuZXMgdGhhdCBhcmUgaW4gdGhlXG4gIC8vIGBzdWJ0cmVlTGFuZXNgIG9mIHRoZSB1cGRhdGVkIGZpYmVyLCBvciB0aGUgdXBkYXRlIGxhbmVzIG9mIHRoZSByZXR1cm5cbiAgLy8gcGF0aC4gVGhpcyB3b3VsZCBleGNsdWRlIHN1c3BlbmRlZCB1cGRhdGVzIGluIGFuIHVucmVsYXRlZCBzaWJsaW5nIHRyZWUsXG4gIC8vIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGZvciB0aGlzIHVwZGF0ZSB0byB1bmJsb2NrIGl0LlxuICAvL1xuICAvLyBXZSBkb24ndCBkbyB0aGlzIGlmIHRoZSBpbmNvbWluZyB1cGRhdGUgaXMgaWRsZSwgYmVjYXVzZSB3ZSBuZXZlciBwcm9jZXNzXG4gIC8vIGlkbGUgdXBkYXRlcyB1bnRpbCBhZnRlciBhbGwgdGhlIHJlZ3VsYXIgdXBkYXRlcyBoYXZlIGZpbmlzaGVkOyB0aGVyZSdzIG5vXG4gIC8vIHdheSBpdCBjb3VsZCB1bmJsb2NrIGEgdHJhbnNpdGlvbi5cblxuICBpZiAodXBkYXRlTGFuZSAhPT0gSWRsZUxhbmUpIHtcbiAgICByb290LnN1c3BlbmRlZExhbmVzID0gTm9MYW5lcztcbiAgICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgfVxuXG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleCh1cGRhdGVMYW5lKTsgLy8gV2UgY2FuIGFsd2F5cyBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgdGltZXN0YW1wIGJlY2F1c2Ugd2UgcHJlZmVyIHRoZSBtb3N0XG4gIC8vIHJlY2VudCBldmVudCwgYW5kIHdlIGFzc3VtZSB0aW1lIGlzIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy5cblxuICBldmVudFRpbWVzW2luZGV4XSA9IGV2ZW50VGltZTtcbn1cbmZ1bmN0aW9uIG1hcmtSb290U3VzcGVuZGVkKHJvb3QsIHN1c3BlbmRlZExhbmVzKSB7XG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgfD0gc3VzcGVuZGVkTGFuZXM7XG4gIHJvb3QucGluZ2VkTGFuZXMgJj0gfnN1c3BlbmRlZExhbmVzOyAvLyBUaGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBubyBsb25nZXIgQ1BVLWJvdW5kLiBDbGVhciB0aGVpciBleHBpcmF0aW9uIHRpbWVzLlxuXG4gIHZhciBleHBpcmF0aW9uVGltZXMgPSByb290LmV4cGlyYXRpb25UaW1lcztcbiAgdmFyIGxhbmVzID0gc3VzcGVuZGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzID4gMCkge1xuICAgIHZhciBpbmRleCA9IHBpY2tBcmJpdHJhcnlMYW5lSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICBleHBpcmF0aW9uVGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgbGFuZXMgJj0gfmxhbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSb290UGluZ2VkKHJvb3QsIHBpbmdlZExhbmVzLCBldmVudFRpbWUpIHtcbiAgcm9vdC5waW5nZWRMYW5lcyB8PSByb290LnN1c3BlbmRlZExhbmVzICYgcGluZ2VkTGFuZXM7XG59XG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkKHJvb3QsIHJlbWFpbmluZ0xhbmVzKSB7XG4gIHZhciBub0xvbmdlclBlbmRpbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzICYgfnJlbWFpbmluZ0xhbmVzO1xuICByb290LnBlbmRpbmdMYW5lcyA9IHJlbWFpbmluZ0xhbmVzOyAvLyBMZXQncyB0cnkgZXZlcnl0aGluZyBhZ2FpblxuXG4gIHJvb3Quc3VzcGVuZGVkTGFuZXMgPSBOb0xhbmVzO1xuICByb290LnBpbmdlZExhbmVzID0gTm9MYW5lcztcbiAgcm9vdC5leHBpcmVkTGFuZXMgJj0gcmVtYWluaW5nTGFuZXM7XG4gIHJvb3QubXV0YWJsZVJlYWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgcm9vdC5lbnRhbmdsZWRMYW5lcyAmPSByZW1haW5pbmdMYW5lcztcbiAgdmFyIGVudGFuZ2xlbWVudHMgPSByb290LmVudGFuZ2xlbWVudHM7XG4gIHZhciBldmVudFRpbWVzID0gcm9vdC5ldmVudFRpbWVzO1xuICB2YXIgZXhwaXJhdGlvblRpbWVzID0gcm9vdC5leHBpcmF0aW9uVGltZXM7IC8vIENsZWFyIHRoZSBsYW5lcyB0aGF0IG5vIGxvbmdlciBoYXZlIHBlbmRpbmcgd29ya1xuXG4gIHZhciBsYW5lcyA9IG5vTG9uZ2VyUGVuZGluZ0xhbmVzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBwaWNrQXJiaXRyYXJ5TGFuZUluZGV4KGxhbmVzKTtcbiAgICB2YXIgbGFuZSA9IDEgPDwgaW5kZXg7XG4gICAgZW50YW5nbGVtZW50c1tpbmRleF0gPSBOb0xhbmVzO1xuICAgIGV2ZW50VGltZXNbaW5kZXhdID0gTm9UaW1lc3RhbXA7XG4gICAgZXhwaXJhdGlvblRpbWVzW2luZGV4XSA9IE5vVGltZXN0YW1wO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBlbnRhbmdsZWRMYW5lcykge1xuICAvLyBJbiBhZGRpdGlvbiB0byBlbnRhbmdsaW5nIGVhY2ggb2YgdGhlIGdpdmVuIGxhbmVzIHdpdGggZWFjaCBvdGhlciwgd2UgYWxzb1xuICAvLyBoYXZlIHRvIGNvbnNpZGVyIF90cmFuc2l0aXZlXyBlbnRhbmdsZW1lbnRzLiBGb3IgZWFjaCBsYW5lIHRoYXQgaXMgYWxyZWFkeVxuICAvLyBlbnRhbmdsZWQgd2l0aCAqYW55KiBvZiB0aGUgZ2l2ZW4gbGFuZXMsIHRoYXQgbGFuZSBpcyBub3cgdHJhbnNpdGl2ZWx5XG4gIC8vIGVudGFuZ2xlZCB3aXRoICphbGwqIHRoZSBnaXZlbiBsYW5lcy5cbiAgLy9cbiAgLy8gVHJhbnNsYXRlZDogSWYgQyBpcyBlbnRhbmdsZWQgd2l0aCBBLCB0aGVuIGVudGFuZ2xpbmcgQSB3aXRoIEIgYWxzb1xuICAvLyBlbnRhbmdsZXMgQyB3aXRoIEIuXG4gIC8vXG4gIC8vIElmIHRoaXMgaXMgaGFyZCB0byBncmFzcCwgaXQgbWlnaHQgaGVscCB0byBpbnRlbnRpb25hbGx5IGJyZWFrIHRoaXNcbiAgLy8gZnVuY3Rpb24gYW5kIGxvb2sgYXQgdGhlIHRlc3RzIHRoYXQgZmFpbCBpbiBSZWFjdFRyYW5zaXRpb24tdGVzdC5qcy4gVHJ5XG4gIC8vIGNvbW1lbnRpbmcgb3V0IG9uZSBvZiB0aGUgY29uZGl0aW9ucyBiZWxvdy5cbiAgdmFyIHJvb3RFbnRhbmdsZWRMYW5lcyA9IHJvb3QuZW50YW5nbGVkTGFuZXMgfD0gZW50YW5nbGVkTGFuZXM7XG4gIHZhciBlbnRhbmdsZW1lbnRzID0gcm9vdC5lbnRhbmdsZW1lbnRzO1xuICB2YXIgbGFuZXMgPSByb290RW50YW5nbGVkTGFuZXM7XG5cbiAgd2hpbGUgKGxhbmVzKSB7XG4gICAgdmFyIGluZGV4ID0gcGlja0FyYml0cmFyeUxhbmVJbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuXG4gICAgaWYgKCAvLyBJcyB0aGlzIG9uZSBvZiB0aGUgbmV3bHkgZW50YW5nbGVkIGxhbmVzP1xuICAgIGxhbmUgJiBlbnRhbmdsZWRMYW5lcyB8IC8vIElzIHRoaXMgbGFuZSB0cmFuc2l0aXZlbHkgZW50YW5nbGVkIHdpdGggdGhlIG5ld2x5IGVudGFuZ2xlZCBsYW5lcz9cbiAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSAmIGVudGFuZ2xlZExhbmVzKSB7XG4gICAgICBlbnRhbmdsZW1lbnRzW2luZGV4XSB8PSBlbnRhbmdsZWRMYW5lcztcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0QnVtcGVkTGFuZUZvckh5ZHJhdGlvbihyb290LCByZW5kZXJMYW5lcykge1xuICB2YXIgcmVuZGVyTGFuZSA9IGdldEhpZ2hlc3RQcmlvcml0eUxhbmUocmVuZGVyTGFuZXMpO1xuICB2YXIgbGFuZTtcblxuICBzd2l0Y2ggKHJlbmRlckxhbmUpIHtcbiAgICBjYXNlIElucHV0Q29udGludW91c0xhbmU6XG4gICAgICBsYW5lID0gSW5wdXRDb250aW51b3VzSHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0TGFuZTpcbiAgICAgIGxhbmUgPSBEZWZhdWx0SHlkcmF0aW9uTGFuZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTM6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTQ6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTY6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTc6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTg6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTk6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEwOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxMTpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTI6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTEzOlxuICAgIGNhc2UgVHJhbnNpdGlvbkxhbmUxNDpcbiAgICBjYXNlIFRyYW5zaXRpb25MYW5lMTU6XG4gICAgY2FzZSBUcmFuc2l0aW9uTGFuZTE2OlxuICAgIGNhc2UgUmV0cnlMYW5lMTpcbiAgICBjYXNlIFJldHJ5TGFuZTI6XG4gICAgY2FzZSBSZXRyeUxhbmUzOlxuICAgIGNhc2UgUmV0cnlMYW5lNDpcbiAgICBjYXNlIFJldHJ5TGFuZTU6XG4gICAgICBsYW5lID0gVHJhbnNpdGlvbkh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSWRsZUxhbmU6XG4gICAgICBsYW5lID0gSWRsZUh5ZHJhdGlvbkxhbmU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBFdmVyeXRoaW5nIGVsc2UgaXMgYWxyZWFkeSBlaXRoZXIgYSBoeWRyYXRpb24gbGFuZSwgb3Igc2hvdWxkbid0XG4gICAgICAvLyBiZSByZXRyaWVkIGF0IGEgaHlkcmF0aW9uIGxhbmUuXG4gICAgICBsYW5lID0gTm9MYW5lO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGxhbmUgd2UgY2hvc2UgaXMgc3VzcGVuZGVkLiBJZiBzbywgdGhhdCBpbmRpY2F0ZXMgdGhhdCB3ZVxuICAvLyBhbHJlYWR5IGF0dGVtcHRlZCBhbmQgZmFpbGVkIHRvIGh5ZHJhdGUgYXQgdGhhdCBsZXZlbC4gQWxzbyBjaGVjayBpZiB3ZSdyZVxuICAvLyBhbHJlYWR5IHJlbmRlcmluZyB0aGF0IGxhbmUsIHdoaWNoIGlzIHJhcmUgYnV0IGNvdWxkIGhhcHBlbi5cblxuXG4gIGlmICgobGFuZSAmIChyb290LnN1c3BlbmRlZExhbmVzIHwgcmVuZGVyTGFuZXMpKSAhPT0gTm9MYW5lKSB7XG4gICAgLy8gR2l2ZSB1cCB0cnlpbmcgdG8gaHlkcmF0ZSBhbmQgZmFsbCBiYWNrIHRvIGNsaWVudCByZW5kZXIuXG4gICAgcmV0dXJuIE5vTGFuZTtcbiAgfVxuXG4gIHJldHVybiBsYW5lO1xufVxuZnVuY3Rpb24gYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lcykge1xuXG4gIGlmICghaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcCA9IHJvb3QucGVuZGluZ1VwZGF0ZXJzTGFuZU1hcDtcblxuICB3aGlsZSAobGFuZXMgPiAwKSB7XG4gICAgdmFyIGluZGV4ID0gbGFuZVRvSW5kZXgobGFuZXMpO1xuICAgIHZhciBsYW5lID0gMSA8PCBpbmRleDtcbiAgICB2YXIgdXBkYXRlcnMgPSBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwW2luZGV4XTtcbiAgICB1cGRhdGVycy5hZGQoZmliZXIpO1xuICAgIGxhbmVzICY9IH5sYW5lO1xuICB9XG59XG5mdW5jdGlvbiBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpIHtcblxuICBpZiAoIWlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHBlbmRpbmdVcGRhdGVyc0xhbmVNYXAgPSByb290LnBlbmRpbmdVcGRhdGVyc0xhbmVNYXA7XG4gIHZhciBtZW1vaXplZFVwZGF0ZXJzID0gcm9vdC5tZW1vaXplZFVwZGF0ZXJzO1xuXG4gIHdoaWxlIChsYW5lcyA+IDApIHtcbiAgICB2YXIgaW5kZXggPSBsYW5lVG9JbmRleChsYW5lcyk7XG4gICAgdmFyIGxhbmUgPSAxIDw8IGluZGV4O1xuICAgIHZhciB1cGRhdGVycyA9IHBlbmRpbmdVcGRhdGVyc0xhbmVNYXBbaW5kZXhdO1xuXG4gICAgaWYgKHVwZGF0ZXJzLnNpemUgPiAwKSB7XG4gICAgICB1cGRhdGVycy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgPT09IG51bGwgfHwgIW1lbW9pemVkVXBkYXRlcnMuaGFzKGFsdGVybmF0ZSkpIHtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmFkZChmaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdXBkYXRlcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBsYW5lcyAmPSB+bGFuZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcyhyb290LCBsYW5lcykge1xuICB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIERpc2NyZXRlRXZlbnRQcmlvcml0eSA9IFN5bmNMYW5lO1xudmFyIENvbnRpbnVvdXNFdmVudFByaW9yaXR5ID0gSW5wdXRDb250aW51b3VzTGFuZTtcbnZhciBEZWZhdWx0RXZlbnRQcmlvcml0eSA9IERlZmF1bHRMYW5lO1xudmFyIElkbGVFdmVudFByaW9yaXR5ID0gSWRsZUxhbmU7XG52YXIgY3VycmVudFVwZGF0ZVByaW9yaXR5ID0gTm9MYW5lO1xuZnVuY3Rpb24gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZVByaW9yaXR5O1xufVxuZnVuY3Rpb24gc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KG5ld1ByaW9yaXR5KSB7XG4gIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IG5ld1ByaW9yaXR5O1xufVxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5KHByaW9yaXR5LCBmbikge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGN1cnJlbnRVcGRhdGVQcmlvcml0eTtcblxuICB0cnkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByaW9yaXR5O1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRVcGRhdGVQcmlvcml0eSA9IHByZXZpb3VzUHJpb3JpdHk7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZ2hlckV2ZW50UHJpb3JpdHkoYSwgYikge1xuICByZXR1cm4gYSAhPT0gMCAmJiBhIDwgYiA/IGEgOiBiO1xufVxuZnVuY3Rpb24gbG93ZXJFdmVudFByaW9yaXR5KGEsIGIpIHtcbiAgcmV0dXJuIGEgPT09IDAgfHwgYSA+IGIgPyBhIDogYjtcbn1cbmZ1bmN0aW9uIGlzSGlnaGVyRXZlbnRQcmlvcml0eShhLCBiKSB7XG4gIHJldHVybiBhICE9PSAwICYmIGEgPCBiO1xufVxuZnVuY3Rpb24gbGFuZXNUb0V2ZW50UHJpb3JpdHkobGFuZXMpIHtcbiAgdmFyIGxhbmUgPSBnZXRIaWdoZXN0UHJpb3JpdHlMYW5lKGxhbmVzKTtcblxuICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHksIGxhbmUpKSB7XG4gICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmICghaXNIaWdoZXJFdmVudFByaW9yaXR5KENvbnRpbnVvdXNFdmVudFByaW9yaXR5LCBsYW5lKSkge1xuICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcbiAgfVxuXG4gIGlmIChpbmNsdWRlc05vbklkbGVXb3JrKGxhbmUpKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIElkbGVFdmVudFByaW9yaXR5O1xufVxuXG4vLyBUaGlzIGlzIGltcG9ydGVkIGJ5IHRoZSBldmVudCByZXBsYXlpbmcgaW1wbGVtZW50YXRpb24gaW4gUmVhY3QgRE9NLiBJdCdzXG4vLyBpbiBhIHNlcGFyYXRlIGZpbGUgdG8gYnJlYWsgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHJlbmRlcmVyIGFuZFxuLy8gdGhlIHJlY29uY2lsZXIuXG5mdW5jdGlvbiBpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpIHtcbiAgdmFyIGN1cnJlbnRTdGF0ZSA9IHJvb3QuY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gY3VycmVudFN0YXRlLmlzRGVoeWRyYXRlZDtcbn1cblxudmFyIF9hdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb247XG5cbmZ1bmN0aW9uIHNldEF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmbikge1xuICBfYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uID0gZm47XG59XG5mdW5jdGlvbiBhdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oZmliZXIpIHtcbiAgX2F0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG59XG52YXIgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb247XG5mdW5jdGlvbiBzZXRBdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihmbikge1xuICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eTtcbmZ1bmN0aW9uIHNldEF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eShmbikge1xuICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkgPSBmbjtcbn1cbnZhciBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMTtcbmZ1bmN0aW9uIHNldEdldEN1cnJlbnRVcGRhdGVQcmlvcml0eShmbikge1xuICBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkkMSA9IGZuO1xufVxudmFyIGF0dGVtcHRIeWRyYXRpb25BdFByaW9yaXR5O1xuZnVuY3Rpb24gc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkoZm4pIHtcbiAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkgPSBmbjtcbn0gLy8gVE9ETzogVXBncmFkZSB0aGlzIGRlZmluaXRpb24gb25jZSB3ZSdyZSBvbiBhIG5ld2VyIHZlcnNpb24gb2YgRmxvdyB0aGF0XG4vLyBoYXMgdGhpcyBkZWZpbml0aW9uIGJ1aWx0LWluLlxuXG52YXIgaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCA9IGZhbHNlOyAvLyBUaGUgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzIHRvIGJlIHJlcGxheWVkLlxuXG52YXIgcXVldWVkRGlzY3JldGVFdmVudHMgPSBbXTsgLy8gSW5kaWNhdGVzIGlmIGFueSBjb250aW51b3VzIGV2ZW50IHRhcmdldHMgYXJlIG5vbi1udWxsIGZvciBlYXJseSBiYWlsb3V0LlxuLy8gaWYgdGhlIGxhc3QgdGFyZ2V0IHdhcyBkZWh5ZHJhdGVkLlxuXG52YXIgcXVldWVkRm9jdXMgPSBudWxsO1xudmFyIHF1ZXVlZERyYWcgPSBudWxsO1xudmFyIHF1ZXVlZE1vdXNlID0gbnVsbDsgLy8gRm9yIHBvaW50ZXIgZXZlbnRzIHRoZXJlIGNhbiBiZSBvbmUgbGF0ZXN0IGV2ZW50IHBlciBwb2ludGVySWQuXG5cbnZhciBxdWV1ZWRQb2ludGVycyA9IG5ldyBNYXAoKTtcbnZhciBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMgPSBuZXcgTWFwKCk7IC8vIFdlIGNvdWxkIGNvbnNpZGVyIHJlcGxheWluZyBzZWxlY3Rpb25jaGFuZ2UgYW5kIHRvdWNobW92ZXMgdG9vLlxuXG52YXIgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzID0gW107XG52YXIgZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzID0gWydtb3VzZWRvd24nLCAnbW91c2V1cCcsICd0b3VjaGNhbmNlbCcsICd0b3VjaGVuZCcsICd0b3VjaHN0YXJ0JywgJ2F1eGNsaWNrJywgJ2RibGNsaWNrJywgJ3BvaW50ZXJjYW5jZWwnLCAncG9pbnRlcmRvd24nLCAncG9pbnRlcnVwJywgJ2RyYWdlbmQnLCAnZHJhZ3N0YXJ0JywgJ2Ryb3AnLCAnY29tcG9zaXRpb25lbmQnLCAnY29tcG9zaXRpb25zdGFydCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ2lucHV0JywgJ3RleHRJbnB1dCcsIC8vIEludGVudGlvbmFsbHkgY2FtZWxDYXNlXG4nY29weScsICdjdXQnLCAncGFzdGUnLCAnY2xpY2snLCAnY2hhbmdlJywgJ2NvbnRleHRtZW51JywgJ3Jlc2V0JywgJ3N1Ym1pdCddO1xuZnVuY3Rpb24gaXNEaXNjcmV0ZUV2ZW50VGhhdFJlcXVpcmVzSHlkcmF0aW9uKGV2ZW50VHlwZSkge1xuICByZXR1cm4gZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzLmluZGV4T2YoZXZlbnRUeXBlKSA+IC0xO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBibG9ja2VkT246IGJsb2NrZWRPbixcbiAgICBkb21FdmVudE5hbWU6IGRvbUV2ZW50TmFtZSxcbiAgICBldmVudFN5c3RlbUZsYWdzOiBldmVudFN5c3RlbUZsYWdzLFxuICAgIG5hdGl2ZUV2ZW50OiBuYXRpdmVFdmVudCxcbiAgICB0YXJnZXRDb250YWluZXJzOiBbdGFyZ2V0Q29udGFpbmVyXVxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2xlYXZlJzpcbiAgICAgIHF1ZXVlZERyYWcgPSBudWxsO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgICAge1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVycy5kZWxldGUocG9pbnRlcklkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgY2FzZSAnbG9zdHBvaW50ZXJjYXB0dXJlJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVySWQgPSBuYXRpdmVFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5kZWxldGUoX3BvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoZXhpc3RpbmdRdWV1ZWRFdmVudCwgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9maWJlcjIgPSBnZXRJbnN0YW5jZUZyb21Ob2RlKGJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gaW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgdGFyZ2V0LlxuICAgICAgICBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihfZmliZXIyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVldWVkRXZlbnQ7XG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxuICAvLyB0aGUgZGlmZmVyZW50IGV2ZW50IHN5c3RlbXMgaGF2ZSBkaWZmZXJlbnQgRE9NIGV2ZW50IGxpc3RlbmVycy5cbiAgLy8gV2UgY2FuIGFjY3VtdWxhdGUgdGhlIGZsYWdzLCBhbmQgdGhlIHRhcmdldENvbnRhaW5lcnMsIGFuZFxuICAvLyBzdG9yZSBhIHNpbmdsZSBldmVudCB0byBiZSByZXBsYXllZC5cblxuXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xuICB2YXIgdGFyZ2V0Q29udGFpbmVycyA9IGV4aXN0aW5nUXVldWVkRXZlbnQudGFyZ2V0Q29udGFpbmVycztcblxuICBpZiAodGFyZ2V0Q29udGFpbmVyICE9PSBudWxsICYmIHRhcmdldENvbnRhaW5lcnMuaW5kZXhPZih0YXJnZXRDb250YWluZXIpID09PSAtMSkge1xuICAgIHRhcmdldENvbnRhaW5lcnMucHVzaCh0YXJnZXRDb250YWluZXIpO1xuICB9XG5cbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgLy8gVGhlc2Ugc2V0IHJlbGF0ZWRUYXJnZXQgdG8gbnVsbCBiZWNhdXNlIHRoZSByZXBsYXllZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgaWYgd2VcbiAgLy8gbW92ZWQgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cgKG5vIHRhcmdldCkgb250byB0aGUgdGFyZ2V0IG9uY2UgaXQgaHlkcmF0ZXMuXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAge1xuICAgICAgICB2YXIgZm9jdXNFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRGb2N1cyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRm9jdXMsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIGZvY3VzRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgICB7XG4gICAgICAgIHZhciBkcmFnRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgZHJhZ0V2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgICAge1xuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICBxdWV1ZWRNb3VzZSA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkTW91c2UsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG1vdXNlRXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgcG9pbnRlcklkID0gcG9pbnRlckV2ZW50LnBvaW50ZXJJZDtcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlICdnb3Rwb2ludGVyY2FwdHVyZSc6XG4gICAgICB7XG4gICAgICAgIHZhciBfcG9pbnRlckV2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHZhciBfcG9pbnRlcklkMiA9IF9wb2ludGVyRXZlbnQucG9pbnRlcklkO1xuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxuXG5mdW5jdGlvbiBhdHRlbXB0RXhwbGljaXRIeWRyYXRpb25UYXJnZXQocXVldWVkVGFyZ2V0KSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudC5cbiAgLy8gVHJ5IHRvIHVuaWZ5IHRoZW0uIEl0J3MgYSBiaXQgdHJpY2t5IHNpbmNlIGl0IHdvdWxkIHJlcXVpcmUgdHdvIHJldHVyblxuICAvLyB2YWx1ZXMuXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSB7XG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xuXG4gICAgICBpZiAodGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIC8vIEluY3JlYXNlIGl0cyBwcmlvcml0eS5cbiAgICAgICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gaW5zdGFuY2U7XG4gICAgICAgICAgYXR0ZW1wdEh5ZHJhdGlvbkF0UHJpb3JpdHkocXVldWVkVGFyZ2V0LnByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IGdldENvbnRhaW5lckZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7IC8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGEgd2F5IHRvIGluY3JlYXNlIHRoZSBwcmlvcml0eSBvZlxuICAgICAgICAgIC8vIGEgcm9vdCBvdGhlciB0aGFuIHN5bmMuXG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcXVldWVFeHBsaWNpdEh5ZHJhdGlvblRhcmdldCh0YXJnZXQpIHtcbiAgLy8gVE9ETzogVGhpcyB3aWxsIHJlYWQgdGhlIHByaW9yaXR5IGlmIGl0J3MgZGlzcGF0Y2hlZCBieSB0aGUgUmVhY3RcbiAgLy8gZXZlbnQgc3lzdGVtIGJ1dCBub3QgbmF0aXZlIGV2ZW50cy4gU2hvdWxkIHJlYWQgd2luZG93LmV2ZW50LnR5cGUsIGxpa2VcbiAgLy8gd2UgZG8gZm9yIHVwZGF0ZXMgKGdldEN1cnJlbnRFdmVudFByaW9yaXR5KS5cbiAgdmFyIHVwZGF0ZVByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5JDEoKTtcbiAgdmFyIHF1ZXVlZFRhcmdldCA9IHtcbiAgICBibG9ja2VkT246IG51bGwsXG4gICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgcHJpb3JpdHk6IHVwZGF0ZVByaW9yaXR5XG4gIH07XG4gIHZhciBpID0gMDtcblxuICBmb3IgKDsgaSA8IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgIC8vIFN0b3Agb25jZSB3ZSBoaXQgdGhlIGZpcnN0IHRhcmdldCB3aXRoIGxvd2VyIHByaW9yaXR5IHRoYW5cbiAgICBpZiAoIWlzSGlnaGVyRXZlbnRQcmlvcml0eSh1cGRhdGVQcmlvcml0eSwgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzW2ldLnByaW9yaXR5KSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNwbGljZShpLCAwLCBxdWV1ZWRUYXJnZXQpO1xuXG4gIGlmIChpID09PSAwKSB7XG4gICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHF1ZXVlZFRhcmdldCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkge1xuICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHRhcmdldENvbnRhaW5lcnMgPSBxdWV1ZWRFdmVudC50YXJnZXRDb250YWluZXJzO1xuXG4gIHdoaWxlICh0YXJnZXRDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyID0gdGFyZ2V0Q29udGFpbmVyc1swXTtcbiAgICB2YXIgbmV4dEJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQocXVldWVkRXZlbnQuZG9tRXZlbnROYW1lLCBxdWV1ZWRFdmVudC5ldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50KTtcblxuICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHZhciBuYXRpdmVFdmVudCA9IHF1ZXVlZEV2ZW50Lm5hdGl2ZUV2ZW50O1xuICAgICAgICB2YXIgbmF0aXZlRXZlbnRDbG9uZSA9IG5ldyBuYXRpdmVFdmVudC5jb25zdHJ1Y3RvcihuYXRpdmVFdmVudC50eXBlLCBuYXRpdmVFdmVudCk7XG4gICAgICAgIHNldFJlcGxheWluZ0V2ZW50KG5hdGl2ZUV2ZW50Q2xvbmUpO1xuICAgICAgICBuYXRpdmVFdmVudC50YXJnZXQuZGlzcGF0Y2hFdmVudChuYXRpdmVFdmVudENsb25lKTtcbiAgICAgICAgcmVzZXRSZXBsYXlpbmdFdmVudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICB2YXIgX2ZpYmVyMyA9IGdldEluc3RhbmNlRnJvbU5vZGUobmV4dEJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXIzICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjMpO1xuICAgICAgfVxuXG4gICAgICBxdWV1ZWRFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gVGhpcyB0YXJnZXQgY29udGFpbmVyIHdhcyBzdWNjZXNzZnVsbHkgZGlzcGF0Y2hlZC4gVHJ5IHRoZSBuZXh0LlxuXG5cbiAgICB0YXJnZXRDb250YWluZXJzLnNoaWZ0KCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudEluTWFwKHF1ZXVlZEV2ZW50LCBrZXksIG1hcCkge1xuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRXZlbnRzKCkge1xuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7XG5cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcbiAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZERyYWcpKSB7XG4gICAgcXVldWVkRHJhZyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkTW91c2UgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRNb3VzZSkpIHtcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XG4gIH1cblxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRFdmVudCwgdW5ibG9ja2VkKSB7XG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XG5cbiAgICBpZiAoIWhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQpIHtcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxuICAgICAgLy8gbm93IHVuYmxvY2tlZC4gVGhpcyBmaXJzdCBtaWdodCBub3QgYWN0dWFsbHkgYmUgdW5ibG9ja2VkIHlldC5cbiAgICAgIC8vIFdlIGNvdWxkIGNoZWNrIGl0IGVhcmx5IHRvIGF2b2lkIHNjaGVkdWxpbmcgYW4gdW5uZWNlc3NhcnkgY2FsbGJhY2suXG5cbiAgICAgIFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwgcmVwbGF5VW5ibG9ja2VkRXZlbnRzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcbiAgLy8gTWFyayBhbnl0aGluZyB0aGF0IHdhcyBibG9ja2VkIG9uIHRoaXMgYXMgbm8gbG9uZ2VyIGJsb2NrZWRcbiAgLy8gYW5kIGVsaWdpYmxlIGZvciBhIHJlcGxheS5cbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRGlzY3JldGVFdmVudHNbMF0sIHVuYmxvY2tlZCk7IC8vIFRoaXMgaXMgYSBleHBvbmVudGlhbCBzZWFyY2ggZm9yIGVhY2ggYm91bmRhcnkgdGhhdCBjb21taXRzLiBJIHRoaW5rIGl0J3NcbiAgICAvLyB3b3J0aCBpdCBiZWNhdXNlIHdlIGV4cGVjdCB2ZXJ5IGZldyBkaXNjcmV0ZSBldmVudHMgdG8gcXVldWUgdXAgYW5kIG9uY2VcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cblxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgcXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xuXG4gICAgICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uID09PSB1bmJsb2NrZWQpIHtcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWREcmFnLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgaWYgKHF1ZXVlZE1vdXNlICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZE1vdXNlLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgdmFyIHVuYmxvY2sgPSBmdW5jdGlvbiAocXVldWVkRXZlbnQpIHtcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xuICB9O1xuXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKHVuYmxvY2spO1xuXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIHF1ZXVlZFRhcmdldCA9IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0c1tfaV07XG5cbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XG4gICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICB3aGlsZSAocXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xuXG4gICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XG5cbiAgICAgIGlmIChuZXh0RXhwbGljaXRUYXJnZXQuYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cbiAgICAgICAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOyAvLyBUT0RPOiBjYW4gd2Ugc3RvcCBleHBvcnRpbmcgdGhlc2U/XG5cbnZhciBfZW5hYmxlZCA9IHRydWU7IC8vIFRoaXMgaXMgZXhwb3J0ZWQgaW4gRkIgYnVpbGRzIGZvciB1c2UgYnkgbGVnYWN5IEZCIGxheWVyIGluZnJhLlxuLy8gV2UnZCBsaWtlIHRvIHJlbW92ZSB0aGlzIGJ1dCBpdCdzIG5vdCBjbGVhciBpZiB0aGlzIGlzIHNhZmUuXG5cbmZ1bmN0aW9uIHNldEVuYWJsZWQoZW5hYmxlZCkge1xuICBfZW5hYmxlZCA9ICEhZW5hYmxlZDtcbn1cbmZ1bmN0aW9uIGlzRW5hYmxlZCgpIHtcbiAgcmV0dXJuIF9lbmFibGVkO1xufVxuZnVuY3Rpb24gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGV2ZW50UHJpb3JpdHkgPSBnZXRFdmVudFByaW9yaXR5KGRvbUV2ZW50TmFtZSk7XG4gIHZhciBsaXN0ZW5lcldyYXBwZXI7XG5cbiAgc3dpdGNoIChldmVudFByaW9yaXR5KSB7XG4gICAgY2FzZSBEaXNjcmV0ZUV2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaERpc2NyZXRlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGludW91c0V2ZW50UHJpb3JpdHk6XG4gICAgICBsaXN0ZW5lcldyYXBwZXIgPSBkaXNwYXRjaENvbnRpbnVvdXNFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICBkZWZhdWx0OlxuICAgICAgbGlzdGVuZXJXcmFwcGVyID0gZGlzcGF0Y2hFdmVudDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyV3JhcHBlci5iaW5kKG51bGwsIGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hEaXNjcmV0ZUV2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIGRpc3BhdGNoRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShDb250aW51b3VzRXZlbnRQcmlvcml0eSk7XG4gICAgZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICB9IGZpbmFsbHkge1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKCFfZW5hYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICBkaXNwYXRjaEV2ZW50V2l0aEVuYWJsZUNhcHR1cmVQaGFzZVNlbGVjdGl2ZUh5ZHJhdGlvbldpdGhvdXREaXNjcmV0ZUV2ZW50UmVwbGF5KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudFdpdGhFbmFibGVDYXB0dXJlUGhhc2VTZWxlY3RpdmVIeWRyYXRpb25XaXRob3V0RGlzY3JldGVFdmVudFJlcGxheShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGJsb2NrZWRPbiA9IGZpbmRJbnN0YW5jZUJsb2NraW5nRXZlbnQoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcblxuICBpZiAoYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgZGlzcGF0Y2hFdmVudEZvclBsdWdpbkV2ZW50U3lzdGVtKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHJldHVybl90YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpO1xuICAgIGNsZWFySWZDb250aW51b3VzRXZlbnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpKSB7XG4gICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgcmV0dXJuO1xuICB9IC8vIFdlIG5lZWQgdG8gY2xlYXIgb25seSBpZiB3ZSBkaWRuJ3QgcXVldWUgYmVjYXVzZVxuICAvLyBxdWV1ZWluZyBpcyBhY2N1bXVsYXRpdmUuXG5cblxuICBjbGVhcklmQ29udGludW91c0V2ZW50KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpO1xuXG4gIGlmIChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSAmJiBpc0Rpc2NyZXRlRXZlbnRUaGF0UmVxdWlyZXNIeWRyYXRpb24oZG9tRXZlbnROYW1lKSkge1xuICAgIHdoaWxlIChibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIHZhciBmaWJlciA9IGdldEluc3RhbmNlRnJvbU5vZGUoYmxvY2tlZE9uKTtcblxuICAgICAgaWYgKGZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRTeW5jaHJvbm91c0h5ZHJhdGlvbihmaWJlcik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0QmxvY2tlZE9uID0gZmluZEluc3RhbmNlQmxvY2tpbmdFdmVudChkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgICBpZiAobmV4dEJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgICAgICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgcmV0dXJuX3RhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0QmxvY2tlZE9uID09PSBibG9ja2VkT24pIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XG4gICAgfVxuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgbmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoaXMgaXMgbm90IHJlcGxheWFibGUgc28gd2UnbGwgaW52b2tlIGl0IGJ1dCB3aXRob3V0IGEgdGFyZ2V0LFxuICAvLyBpbiBjYXNlIHRoZSBldmVudCBzeXN0ZW0gbmVlZHMgdG8gdHJhY2UgaXQuXG5cblxuICBkaXNwYXRjaEV2ZW50Rm9yUGx1Z2luRXZlbnRTeXN0ZW0oZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgbnVsbCwgdGFyZ2V0Q29udGFpbmVyKTtcbn1cblxudmFyIHJldHVybl90YXJnZXRJbnN0ID0gbnVsbDsgLy8gUmV0dXJucyBhIFN1c3BlbnNlSW5zdGFuY2Ugb3IgQ29udGFpbmVyIGlmIGl0J3MgYmxvY2tlZC5cbi8vIFRoZSByZXR1cm5fdGFyZ2V0SW5zdCBmaWVsZCBhYm92ZSBpcyBjb25jZXB0dWFsbHkgcGFydCBvZiB0aGUgcmV0dXJuIHZhbHVlLlxuXG5mdW5jdGlvbiBmaW5kSW5zdGFuY2VCbG9ja2luZ0V2ZW50KGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICAvLyBUT0RPOiBXYXJuIGlmIF9lbmFibGVkIGlzIGZhbHNlLlxuICByZXR1cm5fdGFyZ2V0SW5zdCA9IG51bGw7XG4gIHZhciBuYXRpdmVFdmVudFRhcmdldCA9IGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KTtcbiAgdmFyIHRhcmdldEluc3QgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHRyZWUgaGFzIGJlZW4gdW5tb3VudGVkIGFscmVhZHkuIERpc3BhdGNoIHdpdGhvdXQgYSB0YXJnZXQuXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHRhZyA9IG5lYXJlc3RNb3VudGVkLnRhZztcblxuICAgICAgaWYgKHRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gUXVldWUgdGhlIGV2ZW50IHRvIGJlIHJlcGxheWVkIGxhdGVyLiBBYm9ydCBkaXNwYXRjaGluZyBzaW5jZSB3ZVxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBkaXNjcmV0ZSBldmVudCBpbiB0aGUgcXVldWUuIFNjaGVkdWxlIGFuIGluY3JlYXNlZFxuICAgICAgICAgIC8vIHByaW9yaXR5IGZvciB0aGlzIGJvdW5kYXJ5LlxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIHNvbWV0aGluZyB3ZW50IHdyb25nIGJ1dCB0byBhdm9pZCBibG9ja2luZ1xuICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLCBkaXNwYXRjaCB0aGUgZXZlbnQgd2l0aG91dCBhIHRhcmdldC5cbiAgICAgICAgLy8gVE9ETzogV2Fybi5cblxuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIHZhciByb290ID0gbmVhcmVzdE1vdW50ZWQuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc1Jvb3REZWh5ZHJhdGVkKHJvb3QpKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyBoYXBwZW5zIGR1cmluZyBhIHJlcGxheSBzb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgaXQgbWlnaHQgYmxvY2tcbiAgICAgICAgICAvLyB0aGUgd2hvbGUgc3lzdGVtLlxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKG5lYXJlc3RNb3VudGVkICE9PSB0YXJnZXRJbnN0KSB7XG4gICAgICAgIC8vIElmIHdlIGdldCBhbiBldmVudCAoZXg6IGltZyBvbmxvYWQpIGJlZm9yZSBjb21taXR0aW5nIHRoYXRcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cbiAgICAgICAgLy8gZXZlbnQgb24gYSBub24tUmVhY3QgdHJlZSkuIFdlIG1pZ2h0IGFsc28gY29uc2lkZXIgcXVldWVpbmcgZXZlbnRzIGFuZFxuICAgICAgICAvLyBkaXNwYXRjaGluZyB0aGVtIGFmdGVyIHRoZSBtb3VudC5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuX3RhcmdldEluc3QgPSB0YXJnZXRJbnN0OyAvLyBXZSdyZSBub3QgYmxvY2tlZCBvbiBhbnl0aGluZy5cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHkoZG9tRXZlbnROYW1lKSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgLy8gVXNlZCBieSBTaW1wbGVFdmVudFBsdWdpbjpcbiAgICBjYXNlICdjYW5jZWwnOlxuICAgIGNhc2UgJ2NsaWNrJzpcbiAgICBjYXNlICdjbG9zZSc6XG4gICAgY2FzZSAnY29udGV4dG1lbnUnOlxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdkcmFnZW5kJzpcbiAgICBjYXNlICdkcmFnc3RhcnQnOlxuICAgIGNhc2UgJ2Ryb3AnOlxuICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgY2FzZSAnaW52YWxpZCc6XG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ2tleXVwJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNldXAnOlxuICAgIGNhc2UgJ3Bhc3RlJzpcbiAgICBjYXNlICdwYXVzZSc6XG4gICAgY2FzZSAncGxheSc6XG4gICAgY2FzZSAncG9pbnRlcmNhbmNlbCc6XG4gICAgY2FzZSAncG9pbnRlcmRvd24nOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgY2FzZSAncmF0ZWNoYW5nZSc6XG4gICAgY2FzZSAncmVzZXQnOlxuICAgIGNhc2UgJ3Jlc2l6ZSc6XG4gICAgY2FzZSAnc2Vla2VkJzpcbiAgICBjYXNlICdzdWJtaXQnOlxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2hzdGFydCc6XG4gICAgY2FzZSAndm9sdW1lY2hhbmdlJzogLy8gVXNlZCBieSBwb2x5ZmlsbHM6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdjaGFuZ2UnOlxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgY2FzZSAndGV4dElucHV0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICBjYXNlICdjb21wb3NpdGlvbmVuZCc6XG4gICAgY2FzZSAnY29tcG9zaXRpb251cGRhdGUnOiAvLyBPbmx5IGVuYWJsZUNyZWF0ZUV2ZW50SGFuZGxlQVBJOlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSAnYmVmb3JlYmx1cic6XG4gICAgY2FzZSAnYWZ0ZXJibHVyJzogLy8gTm90IHVzZWQgYnkgUmVhY3QgYnV0IGNvdWxkIGJlIGJ5IHVzZXIgY29kZTpcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgJ2JlZm9yZWlucHV0JzpcbiAgICBjYXNlICdibHVyJzpcbiAgICBjYXNlICdmdWxsc2NyZWVuY2hhbmdlJzpcbiAgICBjYXNlICdmb2N1cyc6XG4gICAgY2FzZSAnaGFzaGNoYW5nZSc6XG4gICAgY2FzZSAncG9wc3RhdGUnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAnc2VsZWN0c3RhcnQnOlxuICAgICAgcmV0dXJuIERpc2NyZXRlRXZlbnRQcmlvcml0eTtcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2VvdXQnOlxuICAgIGNhc2UgJ21vdXNlb3Zlcic6XG4gICAgY2FzZSAncG9pbnRlcm1vdmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdXQnOlxuICAgIGNhc2UgJ3BvaW50ZXJvdmVyJzpcbiAgICBjYXNlICdzY3JvbGwnOlxuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd3aGVlbCc6IC8vIE5vdCB1c2VkIGJ5IFJlYWN0IGJ1dCBjb3VsZCBiZSBieSB1c2VyIGNvZGU6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICBjYXNlICdwb2ludGVyZW50ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJsZWF2ZSc6XG4gICAgICByZXR1cm4gQ29udGludW91c0V2ZW50UHJpb3JpdHk7XG5cbiAgICBjYXNlICdtZXNzYWdlJzpcbiAgICAgIHtcbiAgICAgICAgLy8gV2UgbWlnaHQgYmUgaW4gdGhlIFNjaGVkdWxlciBjYWxsYmFjay5cbiAgICAgICAgLy8gRXZlbnR1YWxseSB0aGlzIG1lY2hhbmlzbSB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgY2hlY2tcbiAgICAgICAgLy8gb2YgdGhlIGN1cnJlbnQgcHJpb3JpdHkgb24gdGhlIG5hdGl2ZSBzY2hlZHVsZXIuXG4gICAgICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XG5cbiAgICAgICAgc3dpdGNoIChzY2hlZHVsZXJQcmlvcml0eSkge1xuICAgICAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICAgICAgICByZXR1cm4gRGlzY3JldGVFdmVudFByaW9yaXR5O1xuXG4gICAgICAgICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBDb250aW51b3VzRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAgICAgY2FzZSBMb3dQcmlvcml0eTpcbiAgICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSBMb3dTY2hlZHVsZXJQcmlvcml0eSwgc29tZWhvdy4gTWF5YmUgdGhlIHNhbWUgbGFuZSBhcyBoeWRyYXRpb24uXG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG5cbiAgICAgICAgICBjYXNlIElkbGVQcmlvcml0eTpcbiAgICAgICAgICAgIHJldHVybiBJZGxlRXZlbnRQcmlvcml0eTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gRGVmYXVsdEV2ZW50UHJpb3JpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkRXZlbnRCdWJibGVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgZmFsc2UpO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgY2FwdHVyZTogdHJ1ZSxcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH0pO1xuICByZXR1cm4gbGlzdGVuZXI7XG59XG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyV2l0aFBhc3NpdmVGbGFnKHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgcGFzc2l2ZSkge1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB7XG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9KTtcbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG4vKipcbiAqIFRoZXNlIHZhcmlhYmxlcyBzdG9yZSBpbmZvcm1hdGlvbiBhYm91dCB0ZXh0IGNvbnRlbnQgb2YgYSB0YXJnZXQgbm9kZSxcbiAqIGFsbG93aW5nIGNvbXBhcmlzb24gb2YgY29udGVudCBiZWZvcmUgYW5kIGFmdGVyIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogSWRlbnRpZnkgdGhlIG5vZGUgd2hlcmUgc2VsZWN0aW9uIGN1cnJlbnRseSBiZWdpbnMsIHRoZW4gb2JzZXJ2ZVxuICogYm90aCBpdHMgdGV4dCBjb250ZW50IGFuZCBpdHMgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgRE9NLiBTaW5jZSB0aGVcbiAqIGJyb3dzZXIgbWF5IG5hdGl2ZWx5IHJlcGxhY2UgdGhlIHRhcmdldCBub2RlIGR1cmluZyBjb21wb3NpdGlvbiwgd2UgY2FuXG4gKiB1c2UgaXRzIHBvc2l0aW9uIHRvIGZpbmQgaXRzIHJlcGxhY2VtZW50LlxuICpcbiAqXG4gKi9cbnZhciByb290ID0gbnVsbDtcbnZhciBzdGFydFRleHQgPSBudWxsO1xudmFyIGZhbGxiYWNrVGV4dCA9IG51bGw7XG5mdW5jdGlvbiBpbml0aWFsaXplKG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gIHJvb3QgPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgc3RhcnRUZXh0ID0gZ2V0VGV4dCgpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIHJlc2V0KCkge1xuICByb290ID0gbnVsbDtcbiAgc3RhcnRUZXh0ID0gbnVsbDtcbiAgZmFsbGJhY2tUZXh0ID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldERhdGEoKSB7XG4gIGlmIChmYWxsYmFja1RleHQpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tUZXh0O1xuICB9XG5cbiAgdmFyIHN0YXJ0O1xuICB2YXIgc3RhcnRWYWx1ZSA9IHN0YXJ0VGV4dDtcbiAgdmFyIHN0YXJ0TGVuZ3RoID0gc3RhcnRWYWx1ZS5sZW5ndGg7XG4gIHZhciBlbmQ7XG4gIHZhciBlbmRWYWx1ZSA9IGdldFRleHQoKTtcbiAgdmFyIGVuZExlbmd0aCA9IGVuZFZhbHVlLmxlbmd0aDtcblxuICBmb3IgKHN0YXJ0ID0gMDsgc3RhcnQgPCBzdGFydExlbmd0aDsgc3RhcnQrKykge1xuICAgIGlmIChzdGFydFZhbHVlW3N0YXJ0XSAhPT0gZW5kVmFsdWVbc3RhcnRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgbWluRW5kID0gc3RhcnRMZW5ndGggLSBzdGFydDtcblxuICBmb3IgKGVuZCA9IDE7IGVuZCA8PSBtaW5FbmQ7IGVuZCsrKSB7XG4gICAgaWYgKHN0YXJ0VmFsdWVbc3RhcnRMZW5ndGggLSBlbmRdICE9PSBlbmRWYWx1ZVtlbmRMZW5ndGggLSBlbmRdKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB2YXIgc2xpY2VUYWlsID0gZW5kID4gMSA/IDEgLSBlbmQgOiB1bmRlZmluZWQ7XG4gIGZhbGxiYWNrVGV4dCA9IGVuZFZhbHVlLnNsaWNlKHN0YXJ0LCBzbGljZVRhaWwpO1xuICByZXR1cm4gZmFsbGJhY2tUZXh0O1xufVxuZnVuY3Rpb24gZ2V0VGV4dCgpIHtcbiAgaWYgKCd2YWx1ZScgaW4gcm9vdCkge1xuICAgIHJldHVybiByb290LnZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJvb3QudGV4dENvbnRlbnQ7XG59XG5cbi8qKlxuICogYGNoYXJDb2RlYCByZXByZXNlbnRzIHRoZSBhY3R1YWwgXCJjaGFyYWN0ZXIgY29kZVwiIGFuZCBpcyBzYWZlIHRvIHVzZSB3aXRoXG4gKiBgU3RyaW5nLmZyb21DaGFyQ29kZWAuIEFzIHN1Y2gsIG9ubHkga2V5cyB0aGF0IGNvcnJlc3BvbmQgdG8gcHJpbnRhYmxlXG4gKiBjaGFyYWN0ZXJzIHByb2R1Y2UgYSB2YWxpZCBgY2hhckNvZGVgLCB0aGUgb25seSBleGNlcHRpb24gdG8gdGhpcyBpcyBFbnRlci5cbiAqIFRoZSBUYWIta2V5IGlzIGNvbnNpZGVyZWQgbm9uLXByaW50YWJsZSBhbmQgZG9lcyBub3QgaGF2ZSBhIGBjaGFyQ29kZWAsXG4gKiBwcmVzdW1hYmx5IGJlY2F1c2UgaXQgZG9lcyBub3QgcHJvZHVjZSBhIHRhYi1jaGFyYWN0ZXIgaW4gYnJvd3NlcnMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7bnVtYmVyfSBOb3JtYWxpemVkIGBjaGFyQ29kZWAgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEV2ZW50Q2hhckNvZGUobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNoYXJDb2RlO1xuICB2YXIga2V5Q29kZSA9IG5hdGl2ZUV2ZW50LmtleUNvZGU7XG5cbiAgaWYgKCdjaGFyQ29kZScgaW4gbmF0aXZlRXZlbnQpIHtcbiAgICBjaGFyQ29kZSA9IG5hdGl2ZUV2ZW50LmNoYXJDb2RlOyAvLyBGRiBkb2VzIG5vdCBzZXQgYGNoYXJDb2RlYCBmb3IgdGhlIEVudGVyLWtleSwgY2hlY2sgYWdhaW5zdCBga2V5Q29kZWAuXG5cbiAgICBpZiAoY2hhckNvZGUgPT09IDAgJiYga2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGNoYXJDb2RlID0gMTM7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElFOCBkb2VzIG5vdCBpbXBsZW1lbnQgYGNoYXJDb2RlYCwgYnV0IGBrZXlDb2RlYCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUuXG4gICAgY2hhckNvZGUgPSBrZXlDb2RlO1xuICB9IC8vIElFIGFuZCBFZGdlIChvbiBXaW5kb3dzKSBhbmQgQ2hyb21lIC8gU2FmYXJpIChvbiBXaW5kb3dzIGFuZCBMaW51eClcbiAgLy8gcmVwb3J0IEVudGVyIGFzIGNoYXJDb2RlIDEwIHdoZW4gY3RybCBpcyBwcmVzc2VkLlxuXG5cbiAgaWYgKGNoYXJDb2RlID09PSAxMCkge1xuICAgIGNoYXJDb2RlID0gMTM7XG4gIH0gLy8gU29tZSBub24tcHJpbnRhYmxlIGtleXMgYXJlIHJlcG9ydGVkIGluIGBjaGFyQ29kZWAvYGtleUNvZGVgLCBkaXNjYXJkIHRoZW0uXG4gIC8vIE11c3Qgbm90IGRpc2NhcmQgdGhlIChub24tKXByaW50YWJsZSBFbnRlci1rZXkuXG5cblxuICBpZiAoY2hhckNvZGUgPj0gMzIgfHwgY2hhckNvZGUgPT09IDEzKSB7XG4gICAgcmV0dXJuIGNoYXJDb2RlO1xuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlKCkge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59IC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhIGZhY3Rvcnkgc28gdGhhdCB3ZSBoYXZlIGRpZmZlcmVudCByZXR1cm5lZCBjb25zdHJ1Y3RvcnMuXG4vLyBJZiB3ZSBoYWQgYSBzaW5nbGUgY29uc3RydWN0b3IsIGl0IHdvdWxkIGJlIG1lZ2Ftb3JwaGljIGFuZCBlbmdpbmVzIHdvdWxkIGRlb3B0LlxuXG5cbmZ1bmN0aW9uIGNyZWF0ZVN5bnRoZXRpY0V2ZW50KEludGVyZmFjZSkge1xuICAvKipcbiAgICogU3ludGhldGljIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCBieSBldmVudCBwbHVnaW5zLCB0eXBpY2FsbHkgaW4gcmVzcG9uc2UgdG8gYVxuICAgKiB0b3AtbGV2ZWwgZXZlbnQgZGVsZWdhdGlvbiBoYW5kbGVyLlxuICAgKlxuICAgKiBUaGVzZSBzeXN0ZW1zIHNob3VsZCBnZW5lcmFsbHkgdXNlIHBvb2xpbmcgdG8gcmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgZ2FyYmFnZVxuICAgKiBjb2xsZWN0aW9uLiBUaGUgc3lzdGVtIHNob3VsZCBjaGVjayBgaXNQZXJzaXN0ZW50YCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGVcbiAgICogZXZlbnQgc2hvdWxkIGJlIHJlbGVhc2VkIGludG8gdGhlIHBvb2wgYWZ0ZXIgYmVpbmcgZGlzcGF0Y2hlZC4gVXNlcnMgdGhhdFxuICAgKiBuZWVkIGEgcGVyc2lzdGVkIGV2ZW50IHNob3VsZCBpbnZva2UgYHBlcnNpc3RgLlxuICAgKlxuICAgKiBTeW50aGV0aWMgZXZlbnRzIChhbmQgc3ViY2xhc3NlcykgaW1wbGVtZW50IHRoZSBET00gTGV2ZWwgMyBFdmVudHMgQVBJIGJ5XG4gICAqIG5vcm1hbGl6aW5nIGJyb3dzZXIgcXVpcmtzLiBTdWJjbGFzc2VzIGRvIG5vdCBuZWNlc3NhcmlseSBoYXZlIHRvIGltcGxlbWVudCBhXG4gICAqIERPTSBpbnRlcmZhY2U7IGN1c3RvbSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBldmVudHMgY2FuIGFsc28gc3ViY2xhc3MgdGhpcy5cbiAgICovXG4gIGZ1bmN0aW9uIFN5bnRoZXRpY0Jhc2VFdmVudChyZWFjdE5hbWUsIHJlYWN0RXZlbnRUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgICB0aGlzLl9yZWFjdE5hbWUgPSByZWFjdE5hbWU7XG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XG4gICAgdGhpcy50eXBlID0gcmVhY3RFdmVudFR5cGU7XG4gICAgdGhpcy5uYXRpdmVFdmVudCA9IG5hdGl2ZUV2ZW50O1xuICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnRUYXJnZXQ7XG4gICAgdGhpcy5jdXJyZW50VGFyZ2V0ID0gbnVsbDtcblxuICAgIGZvciAodmFyIF9wcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcbiAgICAgIGlmICghSW50ZXJmYWNlLmhhc093blByb3BlcnR5KF9wcm9wTmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbX3Byb3BOYW1lXTtcblxuICAgICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgICB0aGlzW19wcm9wTmFtZV0gPSBub3JtYWxpemUobmF0aXZlRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1tfcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbX3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdFByZXZlbnRlZCA9IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgIT0gbnVsbCA/IG5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgOiBuYXRpdmVFdmVudC5yZXR1cm5WYWx1ZSA9PT0gZmFsc2U7XG5cbiAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzc2lnbihTeW50aGV0aWNCYXNlRXZlbnQucHJvdG90eXBlLCB7XG4gICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gICAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xuXG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LnJldHVyblZhbHVlICE9PSAndW5rbm93bicpIHtcbiAgICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgICB9LFxuICAgIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcblxuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vICRGbG93Rml4TWUgLSBmbG93IGlzIG5vdCBhd2FyZSBvZiBgdW5rbm93bmAgaW4gSUVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LmNhbmNlbEJ1YmJsZSAhPT0gJ3Vua25vd24nKSB7XG4gICAgICAgIC8vIFRoZSBDaGFuZ2VFdmVudFBsdWdpbiByZWdpc3RlcnMgYSBcInByb3BlcnR5Y2hhbmdlXCIgZXZlbnQgZm9yXG4gICAgICAgIC8vIElFLiBUaGlzIGV2ZW50IGRvZXMgbm90IHN1cHBvcnQgYnViYmxpbmcgb3IgY2FuY2VsbGluZywgYW5kXG4gICAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcIk1lbWJlciBub3QgZm91bmRcIi4gIEFcbiAgICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFwidW5rbm93blwiIGNpcmN1bXZlbnRzIHRoaXMgaXNzdWUgKGFuZCBpcyBhbHNvXG4gICAgICAgIC8vIElFIHNwZWNpZmljKS5cbiAgICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBXZSByZWxlYXNlIGFsbCBkaXNwYXRjaGVkIGBTeW50aGV0aWNFdmVudGBzIGFmdGVyIGVhY2ggZXZlbnQgbG9vcCwgYWRkaW5nXG4gICAgICogdGhlbSBiYWNrIGludG8gdGhlIHBvb2wuIFRoaXMgYWxsb3dzIGEgd2F5IHRvIGhvbGQgb250byBhIHJlZmVyZW5jZSB0aGF0XG4gICAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxuICAgICAqL1xuICAgIHBlcnNpc3Q6IGZ1bmN0aW9uICgpIHsvLyBNb2Rlcm4gZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGlzIGV2ZW50IHNob3VsZCBiZSByZWxlYXNlZCBiYWNrIGludG8gdGhlIHBvb2wuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoaXMgc2hvdWxkIG5vdCBiZSByZWxlYXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc1RydWVcbiAgfSk7XG4gIHJldHVybiBTeW50aGV0aWNCYXNlRXZlbnQ7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cblxudmFyIEV2ZW50SW50ZXJmYWNlID0ge1xuICBldmVudFBoYXNlOiAwLFxuICBidWJibGVzOiAwLFxuICBjYW5jZWxhYmxlOiAwLFxuICB0aW1lU3RhbXA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcbiAgfSxcbiAgZGVmYXVsdFByZXZlbnRlZDogMCxcbiAgaXNUcnVzdGVkOiAwXG59O1xudmFyIFN5bnRoZXRpY0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRXZlbnRJbnRlcmZhY2UpO1xuXG52YXIgVUlFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgdmlldzogMCxcbiAgZGV0YWlsOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChVSUV2ZW50SW50ZXJmYWNlKTtcbnZhciBsYXN0TW92ZW1lbnRYO1xudmFyIGxhc3RNb3ZlbWVudFk7XG52YXIgbGFzdE1vdXNlRXZlbnQ7XG5cbmZ1bmN0aW9uIHVwZGF0ZU1vdXNlTW92ZW1lbnRQb2x5ZmlsbFN0YXRlKGV2ZW50KSB7XG4gIGlmIChldmVudCAhPT0gbGFzdE1vdXNlRXZlbnQpIHtcbiAgICBpZiAobGFzdE1vdXNlRXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScpIHtcbiAgICAgIGxhc3RNb3ZlbWVudFggPSBldmVudC5zY3JlZW5YIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWDtcbiAgICAgIGxhc3RNb3ZlbWVudFkgPSBldmVudC5zY3JlZW5ZIC0gbGFzdE1vdXNlRXZlbnQuc2NyZWVuWTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdE1vdmVtZW50WCA9IDA7XG4gICAgICBsYXN0TW92ZW1lbnRZID0gMDtcbiAgICB9XG5cbiAgICBsYXN0TW91c2VFdmVudCA9IGV2ZW50O1xuICB9XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgTW91c2VFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBzY3JlZW5YOiAwLFxuICBzY3JlZW5ZOiAwLFxuICBjbGllbnRYOiAwLFxuICBjbGllbnRZOiAwLFxuICBwYWdlWDogMCxcbiAgcGFnZVk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgYnV0dG9uOiAwLFxuICBidXR0b25zOiAwLFxuICByZWxhdGVkVGFyZ2V0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZXZlbnQuZnJvbUVsZW1lbnQgPT09IGV2ZW50LnNyY0VsZW1lbnQgPyBldmVudC50b0VsZW1lbnQgOiBldmVudC5mcm9tRWxlbWVudDtcbiAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldDtcbiAgfSxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WCcgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFg7XG4gICAgfVxuXG4gICAgdXBkYXRlTW91c2VNb3ZlbWVudFBvbHlmaWxsU3RhdGUoZXZlbnQpO1xuICAgIHJldHVybiBsYXN0TW92ZW1lbnRYO1xuICB9LFxuICBtb3ZlbWVudFk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIGlmICgnbW92ZW1lbnRZJyBpbiBldmVudCkge1xuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WTtcbiAgICB9IC8vIERvbid0IG5lZWQgdG8gY2FsbCB1cGRhdGVNb3VzZU1vdmVtZW50UG9seWZpbGxTdGF0ZSgpIGhlcmVcbiAgICAvLyBiZWNhdXNlIGl0J3MgZ3VhcmFudGVlZCB0byBoYXZlIGFscmVhZHkgcnVuIHdoZW4gbW92ZW1lbnRYXG4gICAgLy8gd2FzIGNvcGllZC5cblxuXG4gICAgcmV0dXJuIGxhc3RNb3ZlbWVudFk7XG4gIH1cbn0pO1xuXG52YXIgU3ludGhldGljTW91c2VFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KE1vdXNlRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIERyYWdFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgTW91c2VFdmVudEludGVyZmFjZSwge1xuICBkYXRhVHJhbnNmZXI6IDBcbn0pO1xuXG52YXIgU3ludGhldGljRHJhZ0V2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoRHJhZ0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBGb2N1c0V2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG52YXIgRm9jdXNFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICByZWxhdGVkVGFyZ2V0OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0ZvY3VzRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChGb2N1c0V2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQW5pbWF0aW9uRXZlbnRcbiAqL1xuXG52YXIgQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIEV2ZW50SW50ZXJmYWNlLCB7XG4gIGFuaW1hdGlvbk5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoQW5pbWF0aW9uRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2NsaXBib2FyZC1hcGlzL1xuICovXG5cbnZhciBDbGlwYm9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgRXZlbnRJbnRlcmZhY2UsIHtcbiAgY2xpcGJvYXJkRGF0YTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmREYXRhJyBpbiBldmVudCA/IGV2ZW50LmNsaXBib2FyZERhdGEgOiB3aW5kb3cuY2xpcGJvYXJkRGF0YTtcbiAgfVxufSk7XG5cbnZhciBTeW50aGV0aWNDbGlwYm9hcmRFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KENsaXBib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1jb21wb3NpdGlvbmV2ZW50c1xuICovXG5cbnZhciBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBkYXRhOiAwXG59KTtcblxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNVxuICogICAgICAvI2V2ZW50cy1pbnB1dGV2ZW50c1xuICovXG4vLyBIYXBwZW5zIHRvIHNoYXJlIHRoZSBzYW1lIGxpc3QgZm9yIG5vdy5cblxudmFyIFN5bnRoZXRpY0lucHV0RXZlbnQgPSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50O1xuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciBub3JtYWxpemVLZXkgPSB7XG4gIEVzYzogJ0VzY2FwZScsXG4gIFNwYWNlYmFyOiAnICcsXG4gIExlZnQ6ICdBcnJvd0xlZnQnLFxuICBVcDogJ0Fycm93VXAnLFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxuICBEb3duOiAnQXJyb3dEb3duJyxcbiAgRGVsOiAnRGVsZXRlJyxcbiAgV2luOiAnT1MnLFxuICBNZW51OiAnQ29udGV4dE1lbnUnLFxuICBBcHBzOiAnQ29udGV4dE1lbnUnLFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcbiAgTW96UHJpbnRhYmxlS2V5OiAnVW5pZGVudGlmaWVkJ1xufTtcbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBsZWdhY3kgYGtleUNvZGVgIHRvIEhUTUw1IGBrZXlgXG4gKiBPbmx5IHNwZWNpYWwga2V5cyBzdXBwb3J0ZWQsIGFsbCBvdGhlcnMgZGVwZW5kIG9uIGtleWJvYXJkIGxheW91dCBvciBicm93c2VyXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcbiAgJzgnOiAnQmFja3NwYWNlJyxcbiAgJzknOiAnVGFiJyxcbiAgJzEyJzogJ0NsZWFyJyxcbiAgJzEzJzogJ0VudGVyJyxcbiAgJzE2JzogJ1NoaWZ0JyxcbiAgJzE3JzogJ0NvbnRyb2wnLFxuICAnMTgnOiAnQWx0JyxcbiAgJzE5JzogJ1BhdXNlJyxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcbiAgJzI3JzogJ0VzY2FwZScsXG4gICczMic6ICcgJyxcbiAgJzMzJzogJ1BhZ2VVcCcsXG4gICczNCc6ICdQYWdlRG93bicsXG4gICczNSc6ICdFbmQnLFxuICAnMzYnOiAnSG9tZScsXG4gICczNyc6ICdBcnJvd0xlZnQnLFxuICAnMzgnOiAnQXJyb3dVcCcsXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcbiAgJzQwJzogJ0Fycm93RG93bicsXG4gICc0NSc6ICdJbnNlcnQnLFxuICAnNDYnOiAnRGVsZXRlJyxcbiAgJzExMic6ICdGMScsXG4gICcxMTMnOiAnRjInLFxuICAnMTE0JzogJ0YzJyxcbiAgJzExNSc6ICdGNCcsXG4gICcxMTYnOiAnRjUnLFxuICAnMTE3JzogJ0Y2JyxcbiAgJzExOCc6ICdGNycsXG4gICcxMTknOiAnRjgnLFxuICAnMTIwJzogJ0Y5JyxcbiAgJzEyMSc6ICdGMTAnLFxuICAnMTIyJzogJ0YxMScsXG4gICcxMjMnOiAnRjEyJyxcbiAgJzE0NCc6ICdOdW1Mb2NrJyxcbiAgJzE0NSc6ICdTY3JvbGxMb2NrJyxcbiAgJzIyNCc6ICdNZXRhJ1xufTtcbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIGBrZXlgIHByb3BlcnR5LlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50S2V5KG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5rZXkpIHtcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cbiAgICAvLyBpbXBsZW1lbnRhdGlvbnMgb2YgYSB3b3JraW5nIGRyYWZ0IHNwZWNpZmljYXRpb24uXG4gICAgLy8gRmlyZUZveCBpbXBsZW1lbnRzIGBrZXlgIGJ1dCByZXR1cm5zIGBNb3pQcmludGFibGVLZXlgIGZvciBhbGxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cbiAgICB2YXIga2V5ID0gbm9ybWFsaXplS2V5W25hdGl2ZUV2ZW50LmtleV0gfHwgbmF0aXZlRXZlbnQua2V5O1xuXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cblxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgdmFyIGNoYXJDb2RlID0gZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCk7IC8vIFRoZSBlbnRlci1rZXkgaXMgdGVjaG5pY2FsbHkgYm90aCBwcmludGFibGUgYW5kIG5vbi1wcmludGFibGUgYW5kIGNhblxuICAgIC8vIHRodXMgYmUgY2FwdHVyZWQgYnkgYGtleXByZXNzYCwgbm8gb3RoZXIgbm9uLXByaW50YWJsZSBrZXkgc2hvdWxkLlxuXG4gICAgcmV0dXJuIGNoYXJDb2RlID09PSAxMyA/ICdFbnRlcicgOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoYXJDb2RlKTtcbiAgfVxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5ZG93bicgfHwgbmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleXVwJykge1xuICAgIC8vIFdoaWxlIHVzZXIga2V5Ym9hcmQgbGF5b3V0IGRldGVybWluZXMgdGhlIGFjdHVhbCBtZWFuaW5nIG9mIGVhY2hcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxuICAgIHJldHVybiB0cmFuc2xhdGVUb0tleVtuYXRpdmVFdmVudC5rZXlDb2RlXSB8fCAnVW5pZGVudGlmaWVkJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBtb2RpZmllciBrZXkgdG8gdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaW4gdGhlIGV2ZW50LlxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2tleXMtTW9kaWZpZXJzXG4gKi9cblxuXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XG4gIEFsdDogJ2FsdEtleScsXG4gIENvbnRyb2w6ICdjdHJsS2V5JyxcbiAgTWV0YTogJ21ldGFLZXknLFxuICBTaGlmdDogJ3NoaWZ0S2V5J1xufTsgLy8gT2xkZXIgYnJvd3NlcnMgKFNhZmFyaSA8PSAxMCwgaU9TIFNhZmFyaSA8PSAxMC4yKSBkbyBub3Qgc3VwcG9ydFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2Zcbi8vIG1vZGlmaWVyIGtleXMgZXhwb3NlZCBieSB0aGUgZXZlbnQuIEluIHRoaXMgY2FzZSwgTG9jay1rZXlzIGFyZSBub3Qgc3VwcG9ydGVkLlxuXG5mdW5jdGlvbiBtb2RpZmllclN0YXRlR2V0dGVyKGtleUFyZykge1xuICB2YXIgc3ludGhldGljRXZlbnQgPSB0aGlzO1xuICB2YXIgbmF0aXZlRXZlbnQgPSBzeW50aGV0aWNFdmVudC5uYXRpdmVFdmVudDtcblxuICBpZiAobmF0aXZlRXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZSkge1xuICAgIHJldHVybiBuYXRpdmVFdmVudC5nZXRNb2RpZmllclN0YXRlKGtleUFyZyk7XG4gIH1cblxuICB2YXIga2V5UHJvcCA9IG1vZGlmaWVyS2V5VG9Qcm9wW2tleUFyZ107XG4gIHJldHVybiBrZXlQcm9wID8gISFuYXRpdmVFdmVudFtrZXlQcm9wXSA6IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudE1vZGlmaWVyU3RhdGUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG1vZGlmaWVyU3RhdGVHZXR0ZXI7XG59XG4vKipcbiAqIEBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxuXG52YXIgS2V5Ym9hcmRFdmVudEludGVyZmFjZSA9IGFzc2lnbih7fSwgVUlFdmVudEludGVyZmFjZSwge1xuICBrZXk6IGdldEV2ZW50S2V5LFxuICBjb2RlOiAwLFxuICBsb2NhdGlvbjogMCxcbiAgY3RybEtleTogMCxcbiAgc2hpZnRLZXk6IDAsXG4gIGFsdEtleTogMCxcbiAgbWV0YUtleTogMCxcbiAgcmVwZWF0OiAwLFxuICBsb2NhbGU6IDAsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgLy8gTGVnYWN5IEludGVyZmFjZVxuICBjaGFyQ29kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXG4gICAgLy8gdGhlIGFjdHVhbCBwcmludGFibGUgY2hhcmFjdGVyLlxuICAgIC8vIEtleVByZXNzIGlzIGRlcHJlY2F0ZWQsIGJ1dCBpdHMgcmVwbGFjZW1lbnQgaXMgbm90IHlldCBmaW5hbCBhbmQgbm90XG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICByZXR1cm4gZ2V0RXZlbnRDaGFyQ29kZShldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0sXG4gIGtleUNvZGU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGBrZXlDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5RG93bi9VcCBldmVudCBhbmQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2ZcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXG4gICAgLy8gVGhlIGFjdHVhbCBtZWFuaW5nIG9mIHRoZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSB1c2Vycycga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gd2hpY2ggY2Fubm90IGJlIGRldGVjdGVkLiBBc3N1bWluZyB0aGF0IGl0IGlzIGEgVVMga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxuICAgIC8vIER1ZSB0byB0aGlzLCBpdCBpcyBsZWZ0IHRvIHRoZSB1c2VyIHRvIGltcGxlbWVudCBhdCB0aGlzIHRpbWUuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyB8fCBldmVudC50eXBlID09PSAna2V5dXAnKSB7XG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfSxcbiAgd2hpY2g6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXG4gICAgLy8gdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcbiAgICAgIHJldHVybiBldmVudC5rZXlDb2RlO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG59KTtcblxudmFyIFN5bnRoZXRpY0tleWJvYXJkRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChLZXlib2FyZEV2ZW50SW50ZXJmYWNlKTtcbi8qKlxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy9cbiAqL1xuXG52YXIgUG9pbnRlckV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBNb3VzZUV2ZW50SW50ZXJmYWNlLCB7XG4gIHBvaW50ZXJJZDogMCxcbiAgd2lkdGg6IDAsXG4gIGhlaWdodDogMCxcbiAgcHJlc3N1cmU6IDAsXG4gIHRhbmdlbnRpYWxQcmVzc3VyZTogMCxcbiAgdGlsdFg6IDAsXG4gIHRpbHRZOiAwLFxuICB0d2lzdDogMCxcbiAgcG9pbnRlclR5cGU6IDAsXG4gIGlzUHJpbWFyeTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNQb2ludGVyRXZlbnQgPSBjcmVhdGVTeW50aGV0aWNFdmVudChQb2ludGVyRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvdG91Y2gtZXZlbnRzL1xuICovXG5cbnZhciBUb3VjaEV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBVSUV2ZW50SW50ZXJmYWNlLCB7XG4gIHRvdWNoZXM6IDAsXG4gIHRhcmdldFRvdWNoZXM6IDAsXG4gIGNoYW5nZWRUb3VjaGVzOiAwLFxuICBhbHRLZXk6IDAsXG4gIG1ldGFLZXk6IDAsXG4gIGN0cmxLZXk6IDAsXG4gIHNoaWZ0S2V5OiAwLFxuICBnZXRNb2RpZmllclN0YXRlOiBnZXRFdmVudE1vZGlmaWVyU3RhdGVcbn0pO1xuXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRvdWNoRXZlbnRJbnRlcmZhY2UpO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkvV0QtY3NzMy10cmFuc2l0aW9ucy0yMDA5MDMyMC8jdHJhbnNpdGlvbi1ldmVudHMtXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcbiAqL1xuXG52YXIgVHJhbnNpdGlvbkV2ZW50SW50ZXJmYWNlID0gYXNzaWduKHt9LCBFdmVudEludGVyZmFjZSwge1xuICBwcm9wZXJ0eU5hbWU6IDAsXG4gIGVsYXBzZWRUaW1lOiAwLFxuICBwc2V1ZG9FbGVtZW50OiAwXG59KTtcblxudmFyIFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudCA9IGNyZWF0ZVN5bnRoZXRpY0V2ZW50KFRyYW5zaXRpb25FdmVudEludGVyZmFjZSk7XG4vKipcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFdoZWVsRXZlbnRJbnRlcmZhY2UgPSBhc3NpZ24oe30sIE1vdXNlRXZlbnRJbnRlcmZhY2UsIHtcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWCcgaW4gZXZlbnQgPyBldmVudC5kZWx0YVggOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVhgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAocmlnaHQgaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhWCcgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YVggOiAwO1xuICB9LFxuICBkZWx0YVk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnZGVsdGFZJyBpbiBldmVudCA/IGV2ZW50LmRlbHRhWSA6IC8vIEZhbGxiYWNrIHRvIGB3aGVlbERlbHRhWWAgZm9yIFdlYmtpdCBhbmQgbm9ybWFsaXplIChkb3duIGlzIHBvc2l0aXZlKS5cbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhIDogMDtcbiAgfSxcbiAgZGVsdGFaOiAwLFxuICAvLyBCcm93c2VycyB3aXRob3V0IFwiZGVsdGFNb2RlXCIgaXMgcmVwb3J0aW5nIGluIHJhdyB3aGVlbCBkZWx0YSB3aGVyZSBvbmVcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cbiAgLy8gQSBnb29kIGFwcHJveGltYXRpb24gb2YgRE9NX0RFTFRBX0xJTkUgKDEpIGlzIDUlIG9mIHZpZXdwb3J0IHNpemUgb3JcbiAgLy8gfjQwIHBpeGVscywgZm9yIERPTV9ERUxUQV9TQ1JFRU4gKDIpIGl0IGlzIDg3LjUlIG9mIHZpZXdwb3J0IHNpemUuXG4gIGRlbHRhTW9kZTogMFxufSk7XG5cbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gY3JlYXRlU3ludGhldGljRXZlbnQoV2hlZWxFdmVudEludGVyZmFjZSk7XG5cbnZhciBFTkRfS0VZQ09ERVMgPSBbOSwgMTMsIDI3LCAzMl07IC8vIFRhYiwgUmV0dXJuLCBFc2MsIFNwYWNlXG5cbnZhciBTVEFSVF9LRVlDT0RFID0gMjI5O1xudmFyIGNhblVzZUNvbXBvc2l0aW9uRXZlbnQgPSBjYW5Vc2VET00gJiYgJ0NvbXBvc2l0aW9uRXZlbnQnIGluIHdpbmRvdztcbnZhciBkb2N1bWVudE1vZGUgPSBudWxsO1xuXG5pZiAoY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50KSB7XG4gIGRvY3VtZW50TW9kZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTtcbn0gLy8gV2Via2l0IG9mZmVycyBhIHZlcnkgdXNlZnVsIGB0ZXh0SW5wdXRgIGV2ZW50IHRoYXQgY2FuIGJlIHVzZWQgdG9cbi8vIGRpcmVjdGx5IHJlcHJlc2VudCBgYmVmb3JlSW5wdXRgLiBUaGUgSUUgYHRleHRpbnB1dGAgZXZlbnQgaXMgbm90IGFzXG4vLyB1c2VmdWwsIHNvIHdlIGRvbid0IHVzZSBpdC5cblxuXG52YXIgY2FuVXNlVGV4dElucHV0RXZlbnQgPSBjYW5Vc2VET00gJiYgJ1RleHRFdmVudCcgaW4gd2luZG93ICYmICFkb2N1bWVudE1vZGU7IC8vIEluIElFOSssIHdlIGhhdmUgYWNjZXNzIHRvIGNvbXBvc2l0aW9uIGV2ZW50cywgYnV0IHRoZSBkYXRhIHN1cHBsaWVkXG4vLyBieSB0aGUgbmF0aXZlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IG1heSBiZSBpbmNvcnJlY3QuIEphcGFuZXNlIGlkZW9ncmFwaGljXG4vLyBzcGFjZXMsIGZvciBpbnN0YW5jZSAoXFx1MzAwMCkgYXJlIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkuXG5cbnZhciB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSA9IGNhblVzZURPTSAmJiAoIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgfHwgZG9jdW1lbnRNb2RlICYmIGRvY3VtZW50TW9kZSA+IDggJiYgZG9jdW1lbnRNb2RlIDw9IDExKTtcbnZhciBTUEFDRUJBUl9DT0RFID0gMzI7XG52YXIgU1BBQ0VCQVJfQ0hBUiA9IFN0cmluZy5mcm9tQ2hhckNvZGUoU1BBQ0VCQVJfQ09ERSk7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzKCkge1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQoJ29uQmVmb3JlSW5wdXQnLCBbJ2NvbXBvc2l0aW9uZW5kJywgJ2tleXByZXNzJywgJ3RleHRJbnB1dCcsICdwYXN0ZSddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uRW5kJywgWydjb21wb3NpdGlvbmVuZCcsICdmb2N1c291dCcsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJywgJ21vdXNlZG93biddKTtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNvbXBvc2l0aW9uU3RhcnQnLCBbJ2NvbXBvc2l0aW9uc3RhcnQnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25Db21wb3NpdGlvblVwZGF0ZScsIFsnY29tcG9zaXRpb251cGRhdGUnLCAnZm9jdXNvdXQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdtb3VzZWRvd24nXSk7XG59IC8vIFRyYWNrIHdoZXRoZXIgd2UndmUgZXZlciBoYW5kbGVkIGEga2V5cHJlc3Mgb24gdGhlIHNwYWNlIGtleS5cblxuXG52YXIgaGFzU3BhY2VLZXlwcmVzcyA9IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIG5hdGl2ZSBrZXlwcmVzcyBldmVudCBpcyBhc3N1bWVkIHRvIGJlIGEgY29tbWFuZC5cbiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBGaXJlZm94IGZpcmVzIGBrZXlwcmVzc2AgZXZlbnRzIGZvciBrZXkgY29tbWFuZHNcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cbiAqL1xuXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xuICByZXR1cm4gKG5hdGl2ZUV2ZW50LmN0cmxLZXkgfHwgbmF0aXZlRXZlbnQuYWx0S2V5IHx8IG5hdGl2ZUV2ZW50Lm1ldGFLZXkpICYmIC8vIGN0cmxLZXkgJiYgYWx0S2V5IGlzIGVxdWl2YWxlbnQgdG8gQWx0R3IsIGFuZCBpcyBub3QgYSBjb21tYW5kLlxuICAhKG5hdGl2ZUV2ZW50LmN0cmxLZXkgJiYgbmF0aXZlRXZlbnQuYWx0S2V5KTtcbn1cbi8qKlxuICogVHJhbnNsYXRlIG5hdGl2ZSB0b3AgbGV2ZWwgZXZlbnRzIGludG8gZXZlbnQgdHlwZXMuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZShkb21FdmVudE5hbWUpIHtcbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdjb21wb3NpdGlvbnN0YXJ0JzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvblN0YXJ0JztcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiAnb25Db21wb3NpdGlvbkVuZCc7XG5cbiAgICBjYXNlICdjb21wb3NpdGlvbnVwZGF0ZSc6XG4gICAgICByZXR1cm4gJ29uQ29tcG9zaXRpb25VcGRhdGUnO1xuICB9XG59XG4vKipcbiAqIERvZXMgb3VyIGZhbGxiYWNrIGJlc3QtZ3Vlc3MgbW9kZWwgdGhpbmsgdGhpcyBldmVudCBzaWduaWZpZXMgdGhhdFxuICogY29tcG9zaXRpb24gaGFzIGJlZ3VuP1xuICovXG5cblxuZnVuY3Rpb24gaXNGYWxsYmFja0NvbXBvc2l0aW9uU3RhcnQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICByZXR1cm4gZG9tRXZlbnROYW1lID09PSAna2V5ZG93bicgJiYgbmF0aXZlRXZlbnQua2V5Q29kZSA9PT0gU1RBUlRfS0VZQ09ERTtcbn1cbi8qKlxuICogRG9lcyBvdXIgZmFsbGJhY2sgbW9kZSB0aGluayB0aGF0IHRoaXMgZXZlbnQgaXMgdGhlIGVuZCBvZiBjb21wb3NpdGlvbj9cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZChkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIHN3aXRjaCAoZG9tRXZlbnROYW1lKSB7XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgLy8gQ29tbWFuZCBrZXlzIGluc2VydCBvciBjbGVhciBJTUUgaW5wdXQuXG4gICAgICByZXR1cm4gRU5EX0tFWUNPREVTLmluZGV4T2YobmF0aXZlRXZlbnQua2V5Q29kZSkgIT09IC0xO1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgICAvLyBFeHBlY3QgSU1FIGtleUNvZGUgb24gZWFjaCBrZXlkb3duLiBJZiB3ZSBnZXQgYW55IG90aGVyXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cbiAgICAgIHJldHVybiBuYXRpdmVFdmVudC5rZXlDb2RlICE9PSBTVEFSVF9LRVlDT0RFO1xuXG4gICAgY2FzZSAna2V5cHJlc3MnOlxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgLy8gRXZlbnRzIGFyZSBub3QgcG9zc2libGUgd2l0aG91dCBjYW5jZWxsaW5nIElNRS5cbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuLyoqXG4gKiBHb29nbGUgSW5wdXQgVG9vbHMgcHJvdmlkZXMgY29tcG9zaXRpb24gZGF0YSB2aWEgYSBDdXN0b21FdmVudCxcbiAqIHdpdGggdGhlIGBkYXRhYCBwcm9wZXJ0eSBwb3B1bGF0ZWQgaW4gdGhlIGBkZXRhaWxgIG9iamVjdC4gSWYgdGhpc1xuICogaXMgYXZhaWxhYmxlIG9uIHRoZSBldmVudCBvYmplY3QsIHVzZSBpdC4gSWYgbm90LCB0aGlzIGlzIGEgcGxhaW5cbiAqIGNvbXBvc2l0aW9uIGV2ZW50IGFuZCB3ZSBoYXZlIG5vdGhpbmcgc3BlY2lhbCB0byBleHRyYWN0LlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7P3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldERhdGFGcm9tQ3VzdG9tRXZlbnQobmF0aXZlRXZlbnQpIHtcbiAgdmFyIGRldGFpbCA9IG5hdGl2ZUV2ZW50LmRldGFpbDtcblxuICBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGRldGFpbCkge1xuICAgIHJldHVybiBkZXRhaWwuZGF0YTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBDaGVjayBpZiBhIGNvbXBvc2l0aW9uIGV2ZW50IHdhcyB0cmlnZ2VyZWQgYnkgS29yZWFuIElNRS5cbiAqIE91ciBmYWxsYmFjayBtb2RlIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIElFJ3MgS29yZWFuIElNRSxcbiAqIHNvIGp1c3QgdXNlIG5hdGl2ZSBjb21wb3NpdGlvbiBldmVudHMgd2hlbiBLb3JlYW4gSU1FIGlzIHVzZWQuXG4gKiBBbHRob3VnaCBDb21wb3NpdGlvbkV2ZW50LmxvY2FsZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLFxuICogaXQgaXMgYXZhaWxhYmxlIGluIElFLCB3aGVyZSBvdXIgZmFsbGJhY2sgbW9kZSBpcyBlbmFibGVkLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIG5hdGl2ZUV2ZW50LmxvY2FsZSA9PT0gJ2tvJztcbn0gLy8gVHJhY2sgdGhlIGN1cnJlbnQgSU1FIGNvbXBvc2l0aW9uIHN0YXR1cywgaWYgYW55LlxuXG5cbnZhciBpc0NvbXBvc2luZyA9IGZhbHNlO1xuLyoqXG4gKiBAcmV0dXJuIHs/b2JqZWN0fSBBIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQuXG4gKi9cblxuZnVuY3Rpb24gZXh0cmFjdENvbXBvc2l0aW9uRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGV2ZW50VHlwZTtcbiAgdmFyIGZhbGxiYWNrRGF0YTtcblxuICBpZiAoY2FuVXNlQ29tcG9zaXRpb25FdmVudCkge1xuICAgIGV2ZW50VHlwZSA9IGdldENvbXBvc2l0aW9uRXZlbnRUeXBlKGRvbUV2ZW50TmFtZSk7XG4gIH0gZWxzZSBpZiAoIWlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgICBldmVudFR5cGUgPSAnb25Db21wb3NpdGlvblN0YXJ0JztcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKGRvbUV2ZW50TmFtZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgZXZlbnRUeXBlID0gJ29uQ29tcG9zaXRpb25FbmQnO1xuICB9XG5cbiAgaWYgKCFldmVudFR5cGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBUaGUgY3VycmVudCBjb21wb3NpdGlvbiBpcyBzdG9yZWQgc3RhdGljYWxseSBhbmQgbXVzdCBub3QgYmVcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXG4gICAgaWYgKCFpc0NvbXBvc2luZyAmJiBldmVudFR5cGUgPT09ICdvbkNvbXBvc2l0aW9uU3RhcnQnKSB7XG4gICAgICBpc0NvbXBvc2luZyA9IGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnb25Db21wb3NpdGlvbkVuZCcpIHtcbiAgICAgIGlmIChpc0NvbXBvc2luZykge1xuICAgICAgICBmYWxsYmFja0RhdGEgPSBnZXREYXRhKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCBldmVudFR5cGUpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50KGV2ZW50VHlwZSwgZG9tRXZlbnROYW1lLCBudWxsLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuXG4gICAgaWYgKGZhbGxiYWNrRGF0YSkge1xuICAgICAgLy8gSW5qZWN0IGRhdGEgZ2VuZXJhdGVkIGZyb20gZmFsbGJhY2sgcGF0aCBpbnRvIHRoZSBzeW50aGV0aWMgZXZlbnQuXG4gICAgICAvLyBUaGlzIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9mIG5hdGl2ZSBDb21wb3NpdGlvbkV2ZW50SW50ZXJmYWNlLlxuICAgICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGN1c3RvbURhdGEgPSBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgICAgaWYgKGN1c3RvbURhdGEgIT09IG51bGwpIHtcbiAgICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnMoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkge1xuICBzd2l0Y2ggKGRvbUV2ZW50TmFtZSkge1xuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogSWYgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50cyBhcmUgYXZhaWxhYmxlLCBvdXIgZ29hbCBpcyB0byBtYWtlXG4gICAgICAgKiB1c2Ugb2YgdGhlbS4gSG93ZXZlciwgdGhlcmUgaXMgYSBzcGVjaWFsIGNhc2U6IHRoZSBzcGFjZWJhciBrZXkuXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XG4gICAgICAgKiBjYW5jZWxzIGNoYXJhY3RlciBpbnNlcnRpb24sIGJ1dCBpdCAqYWxzbyogY2F1c2VzIHRoZSBicm93c2VyXG4gICAgICAgKiB0byBmYWxsIGJhY2sgdG8gaXRzIGRlZmF1bHQgc3BhY2ViYXIgYmVoYXZpb3Igb2Ygc2Nyb2xsaW5nIHRoZVxuICAgICAgICogcGFnZS5cbiAgICAgICAqXG4gICAgICAgKiBUcmFja2luZyBhdDpcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcbiAgICAgICAqXG4gICAgICAgKiBUbyBhdm9pZCB0aGlzIGlzc3VlLCB1c2UgdGhlIGtleXByZXNzIGV2ZW50IGFzIGlmIG5vIGB0ZXh0SW5wdXRgXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXG4gICAgICAgKi9cbiAgICAgIHZhciB3aGljaCA9IG5hdGl2ZUV2ZW50LndoaWNoO1xuXG4gICAgICBpZiAod2hpY2ggIT09IFNQQUNFQkFSX0NPREUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhhc1NwYWNlS2V5cHJlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XG5cbiAgICBjYXNlICd0ZXh0SW5wdXQnOlxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXG4gICAgICB2YXIgY2hhcnMgPSBuYXRpdmVFdmVudC5kYXRhOyAvLyBJZiBpdCdzIGEgc3BhY2ViYXIgY2hhcmFjdGVyLCBhc3N1bWUgdGhhdCB3ZSBoYXZlIGFscmVhZHkgaGFuZGxlZFxuICAgICAgLy8gaXQgYXQgdGhlIGtleXByZXNzIGxldmVsIGFuZCBiYWlsIGltbWVkaWF0ZWx5LiBBbmRyb2lkIENocm9tZVxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cblxuICAgICAgaWYgKGNoYXJzID09PSBTUEFDRUJBUl9DSEFSICYmIGhhc1NwYWNlS2V5cHJlc3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbi8qKlxuICogRm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHByb3ZpZGUgdGhlIGB0ZXh0SW5wdXRgIGV2ZW50LCBleHRyYWN0IHRoZVxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KSB7XG4gIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgY29tcG9zaW5nIChJTUUpIGFuZCB1c2luZyBhIGZhbGxiYWNrIHRvIGRvIHNvLFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXG4gIC8vIElmIGNvbXBvc2l0aW9uIGV2ZW50IGlzIGF2YWlsYWJsZSwgd2UgZXh0cmFjdCBhIHN0cmluZyBvbmx5IGF0XG4gIC8vIGNvbXBvc2l0aW9uZXZlbnQsIG90aGVyd2lzZSBleHRyYWN0IGl0IGF0IGZhbGxiYWNrIGV2ZW50cy5cbiAgaWYgKGlzQ29tcG9zaW5nKSB7XG4gICAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NvbXBvc2l0aW9uZW5kJyB8fCAhY2FuVXNlQ29tcG9zaXRpb25FdmVudCAmJiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQoZG9tRXZlbnROYW1lLCBuYXRpdmVFdmVudCkpIHtcbiAgICAgIHZhciBjaGFycyA9IGdldERhdGEoKTtcbiAgICAgIHJlc2V0KCk7XG4gICAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGNoYXJzO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdwYXN0ZSc6XG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XG4gICAgICAvLyBjaGFycy4gUGFzdGUgZXZlbnRzIHNob3VsZCBub3QgbGVhZCB0byBCZWZvcmVJbnB1dCBldmVudHMuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2tleXByZXNzJzpcbiAgICAgIC8qKlxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXG4gICAgICAgKiB3aWxsIGJlIGluc2VydGVkLiBBIGZldyBwb3NzaWJpbGl0aWVzOlxuICAgICAgICpcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cbiAgICAgICAqXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBubyBjaGFyIGlzIGF2YWlsYWJsZS5cbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxuICAgICAgICogICB0aGlzIGtleSBjb21iaW5hdGlvbiBhbmQgbm8gY2hhcmFjdGVyIGlzIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgKiAgIGRvY3VtZW50LCBidXQgRkYgZmlyZXMgdGhlIGtleXByZXNzIGZvciBjaGFyIGNvZGUgYDEwMGAgYW55d2F5LlxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKlxuICAgICAgICogLSBgd2hpY2hgIGlzIHRoZSBwcmVzc2VkIGtleSBjb2RlLCBidXQgYSBjb21tYW5kIGNvbWJpbmF0aW9uIGlzXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xuICAgICAgICogICBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKi9cbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIC8vIElFIGZpcmVzIHRoZSBga2V5cHJlc3NgIGV2ZW50IHdoZW4gYSB1c2VyIHR5cGVzIGFuIGVtb2ppIHZpYVxuICAgICAgICAvLyBUb3VjaCBrZXlib2FyZCBvZiBXaW5kb3dzLiAgSW4gc3VjaCBhIGNhc2UsIHRoZSBgY2hhcmAgcHJvcGVydHlcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcdUQ4M0RcXHVERTBBYC4gIEJlY2F1c2UgaXRzIGxlbmd0aFxuICAgICAgICAvLyBpcyAyLCB0aGUgcHJvcGVydHkgYHdoaWNoYCBkb2VzIG5vdCByZXByZXNlbnQgYW4gZW1vamkgY29ycmVjdGx5LlxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxuICAgICAgICAvLyB1c2luZyBgd2hpY2hgLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuY2hhciAmJiBuYXRpdmVFdmVudC5jaGFyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcbiAgICAgICAgfSBlbHNlIGlmIChuYXRpdmVFdmVudC53aGljaCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG5hdGl2ZUV2ZW50LndoaWNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgJ2NvbXBvc2l0aW9uZW5kJzpcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBFeHRyYWN0IGEgU3ludGhldGljSW5wdXRFdmVudCBmb3IgYGJlZm9yZUlucHV0YCwgYmFzZWQgb24gZWl0aGVyIG5hdGl2ZVxuICogYHRleHRJbnB1dGAgb3IgZmFsbGJhY2sgYmVoYXZpb3IuXG4gKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGNoYXJzO1xuXG4gIGlmIChjYW5Vc2VUZXh0SW5wdXRFdmVudCkge1xuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBjaGFycyA9IGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyhkb21FdmVudE5hbWUsIG5hdGl2ZUV2ZW50KTtcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXG4gIC8vIGJlIGZpcmVkLlxuXG5cbiAgaWYgKCFjaGFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGxpc3RlbmVycyA9IGFjY3VtdWxhdGVUd29QaGFzZUxpc3RlbmVycyh0YXJnZXRJbnN0LCAnb25CZWZvcmVJbnB1dCcpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNJbnB1dEV2ZW50KCdvbkJlZm9yZUlucHV0JywgJ2JlZm9yZWlucHV0JywgbnVsbCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNcbiAgICB9KTtcbiAgICBldmVudC5kYXRhID0gY2hhcnM7XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlIGFuIGBvbkJlZm9yZUlucHV0YCBldmVudCB0byBtYXRjaFxuICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAxMzExMDUvI2V2ZW50cy1pbnB1dGV2ZW50cy5cbiAqXG4gKiBUaGlzIGV2ZW50IHBsdWdpbiBpcyBiYXNlZCBvbiB0aGUgbmF0aXZlIGB0ZXh0SW5wdXRgIGV2ZW50XG4gKiBhdmFpbGFibGUgaW4gQ2hyb21lLCBTYWZhcmksIE9wZXJhLCBhbmQgSUUuIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXJcbiAqIGBvbktleVByZXNzYCBhbmQgYG9uQ29tcG9zaXRpb25FbmRgLCBidXQgYmVmb3JlIGBvbklucHV0YC5cbiAqXG4gKiBgYmVmb3JlSW5wdXRgIGlzIHNwZWMnZCBidXQgbm90IGltcGxlbWVudGVkIGluIGFueSBicm93c2VycywgYW5kXG4gKiB0aGUgYGlucHV0YCBldmVudCBkb2VzIG5vdCBwcm92aWRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBoYXNcbiAqIGFjdHVhbGx5IGJlZW4gYWRkZWQsIGNvbnRyYXJ5IHRvIHRoZSBzcGVjLiBUaHVzLCBgdGV4dElucHV0YCBpcyB0aGUgYmVzdFxuICogYXZhaWxhYmxlIGV2ZW50IHRvIGlkZW50aWZ5IHRoZSBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhY3R1YWxseSBiZWVuIGluc2VydGVkXG4gKiBpbnRvIHRoZSB0YXJnZXQgbm9kZS5cbiAqXG4gKiBUaGlzIHBsdWdpbiBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBlbWl0dGluZyBgY29tcG9zaXRpb25gIGV2ZW50cywgdGh1c1xuICogYWxsb3dpbmcgdXMgdG8gc2hhcmUgY29tcG9zaXRpb24gZmFsbGJhY2sgY29kZSBmb3IgYm90aCBgYmVmb3JlSW5wdXRgIGFuZFxuICogYGNvbXBvc2l0aW9uYCBldmVudCB0eXBlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICBleHRyYWN0Q29tcG9zaXRpb25FdmVudChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGV4dHJhY3RCZWZvcmVJbnB1dEV2ZW50KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBAc2VlIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS1pbnB1dC1lbGVtZW50Lmh0bWwjaW5wdXQtdHlwZS1hdHRyLXN1bW1hcnlcbiAqL1xudmFyIHN1cHBvcnRlZElucHV0VHlwZXMgPSB7XG4gIGNvbG9yOiB0cnVlLFxuICBkYXRlOiB0cnVlLFxuICBkYXRldGltZTogdHJ1ZSxcbiAgJ2RhdGV0aW1lLWxvY2FsJzogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIG1vbnRoOiB0cnVlLFxuICBudW1iZXI6IHRydWUsXG4gIHBhc3N3b3JkOiB0cnVlLFxuICByYW5nZTogdHJ1ZSxcbiAgc2VhcmNoOiB0cnVlLFxuICB0ZWw6IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHRpbWU6IHRydWUsXG4gIHVybDogdHJ1ZSxcbiAgd2VlazogdHJ1ZVxufTtcblxuZnVuY3Rpb24gaXNUZXh0SW5wdXRFbGVtZW50KGVsZW0pIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbSAmJiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICByZXR1cm4gISFzdXBwb3J0ZWRJbnB1dFR5cGVzW2VsZW0udHlwZV07XG4gIH1cblxuICBpZiAobm9kZU5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAqXG4gKiBOT1RFOiBUaGlzIHdpbGwgbm90IHdvcmsgY29ycmVjdGx5IGZvciBub24tZ2VuZXJpYyBldmVudHMgc3VjaCBhcyBgY2hhbmdlYCxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxuICpcbiAqIEJvcnJvd3MgZnJvbSBNb2Rlcm5penIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVN1ZmZpeCBFdmVudCBuYW1lLCBlLmcuIFwiY2xpY2tcIi5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cbiAqIEBpbnRlcm5hbFxuICogQGxpY2Vuc2UgTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4gKi9cblxuZnVuY3Rpb24gaXNFdmVudFN1cHBvcnRlZChldmVudE5hbWVTdWZmaXgpIHtcbiAgaWYgKCFjYW5Vc2VET00pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgZXZlbnROYW1lID0gJ29uJyArIGV2ZW50TmFtZVN1ZmZpeDtcbiAgdmFyIGlzU3VwcG9ydGVkID0gKGV2ZW50TmFtZSBpbiBkb2N1bWVudCk7XG5cbiAgaWYgKCFpc1N1cHBvcnRlZCkge1xuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpO1xuICAgIGlzU3VwcG9ydGVkID0gdHlwZW9mIGVsZW1lbnRbZXZlbnROYW1lXSA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHJldHVybiBpc1N1cHBvcnRlZDtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFdmVudHMkMSgpIHtcbiAgcmVnaXN0ZXJUd29QaGFzZUV2ZW50KCdvbkNoYW5nZScsIFsnY2hhbmdlJywgJ2NsaWNrJywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnaW5wdXQnLCAna2V5ZG93bicsICdrZXl1cCcsICdzZWxlY3Rpb25jaGFuZ2UnXSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KSB7XG4gIC8vIEZsYWcgdGhpcyBldmVudCBsb29wIGFzIG5lZWRpbmcgc3RhdGUgcmVzdG9yZS5cbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xuICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGluc3QsICdvbkNoYW5nZScpO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xuICAgIHZhciBldmVudCA9IG5ldyBTeW50aGV0aWNFdmVudCgnb25DaGFuZ2UnLCAnY2hhbmdlJywgbnVsbCwgbmF0aXZlRXZlbnQsIHRhcmdldCk7XG4gICAgZGlzcGF0Y2hRdWV1ZS5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogRm9yIElFIHNoaW1zXG4gKi9cblxuXG52YXIgYWN0aXZlRWxlbWVudCA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xuLyoqXG4gKiBTRUNUSU9OOiBoYW5kbGUgYGNoYW5nZWAgZXZlbnRcbiAqL1xuXG5mdW5jdGlvbiBzaG91bGRVc2VDaGFuZ2VFdmVudChlbGVtKSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgPT09ICdzZWxlY3QnIHx8IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIGVsZW0udHlwZSA9PT0gJ2ZpbGUnO1xufVxuXG5mdW5jdGlvbiBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChkaXNwYXRjaFF1ZXVlLCBhY3RpdmVFbGVtZW50SW5zdCwgbmF0aXZlRXZlbnQsIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSk7IC8vIElmIGNoYW5nZSBhbmQgcHJvcGVydHljaGFuZ2UgYnViYmxlZCwgd2UnZCBqdXN0IGJpbmQgdG8gaXQgbGlrZSBhbGwgdGhlXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcbiAgLy8gZG9lc24ndCwgd2UgbWFudWFsbHkgbGlzdGVuIGZvciB0aGUgZXZlbnRzIGFuZCBzbyB3ZSBoYXZlIHRvIGVucXVldWUgYW5kXG4gIC8vIHByb2Nlc3MgdGhlIGFic3RyYWN0IGV2ZW50IG1hbnVhbGx5LlxuICAvL1xuICAvLyBCYXRjaGluZyBpcyBuZWNlc3NhcnkgaGVyZSBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBhbGwgZXZlbnQgaGFuZGxlcnMgcnVuXG4gIC8vIGJlZm9yZSB0aGUgbmV4dCByZXJlbmRlciAoaW5jbHVkaW5nIGV2ZW50IGhhbmRsZXJzIGF0dGFjaGVkIHRvIGFuY2VzdG9yXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXG4gIC8vIGNvbXBvbmVudHMgZG9uJ3Qgd29yayBwcm9wZXJseSBpbiBjb25qdW5jdGlvbiB3aXRoIGV2ZW50IGJ1YmJsaW5nIGJlY2F1c2VcbiAgLy8gdGhlIGNvbXBvbmVudCBpcyByZXJlbmRlcmVkIGFuZCB0aGUgdmFsdWUgcmV2ZXJ0ZWQgYmVmb3JlIGFsbCB0aGUgZXZlbnRcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxuXG4gIGJhdGNoZWRVcGRhdGVzKHJ1bkV2ZW50SW5CYXRjaCwgZGlzcGF0Y2hRdWV1ZSk7XG59XG5cbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChkaXNwYXRjaFF1ZXVlKSB7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIDApO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCkge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCk7XG5cbiAgaWYgKHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKHRhcmdldE5vZGUpKSB7XG4gICAgcmV0dXJuIHRhcmdldEluc3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnY2hhbmdlJykge1xuICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICB9XG59XG4vKipcbiAqIFNFQ1RJT046IGhhbmRsZSBgaW5wdXRgIGV2ZW50XG4gKi9cblxuXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXG4gIC8vIGRlbGV0aW5nIHRleHQsIHNvIHdlIGlnbm9yZSBpdHMgaW5wdXQgZXZlbnRzLlxuICBpc0lucHV0RXZlbnRTdXBwb3J0ZWQgPSBpc0V2ZW50U3VwcG9ydGVkKCdpbnB1dCcpICYmICghZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA+IDkpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgU3RhcnRzIHRyYWNraW5nIHByb3BlcnR5Y2hhbmdlIGV2ZW50cyBvbiB0aGUgcGFzc2VkLWluIGVsZW1lbnRcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxuICogdmFsdWUgY2hhbmdlcyBpbiBKUy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgYWN0aXZlRWxlbWVudCA9IHRhcmdldDtcbiAgYWN0aXZlRWxlbWVudEluc3QgPSB0YXJnZXRJbnN0O1xuICBhY3RpdmVFbGVtZW50LmF0dGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgUmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIGZyb20gdGhlIGN1cnJlbnRseS10cmFja2VkIGVsZW1lbnQsXG4gKiBpZiBhbnkgZXhpc3RzLlxuICovXG5cblxuZnVuY3Rpb24gc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKSB7XG4gIGlmICghYWN0aXZlRWxlbWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGFjdGl2ZUVsZW1lbnQuZGV0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XG4gIGFjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICBhY3RpdmVFbGVtZW50SW5zdCA9IG51bGw7XG59XG4vKipcbiAqIChGb3IgSUUgPD05KSBIYW5kbGVzIGEgcHJvcGVydHljaGFuZ2UgZXZlbnQsIHNlbmRpbmcgYSBgY2hhbmdlYCBldmVudCBpZlxuICogdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmUgZWxlbWVudCBoYXMgY2hhbmdlZC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGhhbmRsZVByb3BlcnR5Q2hhbmdlKG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5wcm9wZXJ0eU5hbWUgIT09ICd2YWx1ZScpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KSkge1xuICAgIG1hbnVhbERpc3BhdGNoQ2hhbmdlRXZlbnQobmF0aXZlRXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldCwgdGFyZ2V0SW5zdCkge1xuICBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNpbicpIHtcbiAgICAvLyBJbiBJRTksIHByb3BlcnR5Y2hhbmdlIGZpcmVzIGZvciBtb3N0IGlucHV0IGV2ZW50cyBidXQgaXMgYnVnZ3kgYW5kXG4gICAgLy8gZG9lc24ndCBmaXJlIHdoZW4gdGV4dCBpcyBkZWxldGVkLCBidXQgY29udmVuaWVudGx5LCBzZWxlY3Rpb25jaGFuZ2VcbiAgICAvLyBhcHBlYXJzIHRvIGZpcmUgaW4gYWxsIG9mIHRoZSByZW1haW5pbmcgY2FzZXMgc28gd2UgY2F0Y2ggdGhvc2UgYW5kXG4gICAgLy8gZm9yd2FyZCB0aGUgZXZlbnQgaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkXG4gICAgLy8gSW4gZWl0aGVyIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gY2FsbCB0aGUgZXZlbnQgaGFuZGxlciBpZiB0aGUgdmFsdWVcbiAgICAvLyBpcyBjaGFuZ2VkIGZyb20gSlMgc28gd2UgcmVkZWZpbmUgYSBzZXR0ZXIgZm9yIGAudmFsdWVgIHRoYXQgdXBkYXRlc1xuICAgIC8vIG91ciBhY3RpdmVFbGVtZW50VmFsdWUgdmFyaWFibGUsIGFsbG93aW5nIHVzIHRvIGlnbm9yZSB0aG9zZSBjaGFuZ2VzXG4gICAgLy9cbiAgICAvLyBzdG9wV2F0Y2hpbmcoKSBzaG91bGQgYmUgYSBub29wIGhlcmUgYnV0IHdlIGNhbGwgaXQganVzdCBpbiBjYXNlIHdlXG4gICAgLy8gbWlzc2VkIGEgYmx1ciBldmVudCBzb21laG93LlxuICAgIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCk7XG4gICAgc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCk7XG4gIH0gZWxzZSBpZiAoZG9tRXZlbnROYW1lID09PSAnZm9jdXNvdXQnKSB7XG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcbiAgfVxufSAvLyBGb3IgSUU4IGFuZCBJRTkuXG5cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3NlbGVjdGlvbmNoYW5nZScgfHwgZG9tRXZlbnROYW1lID09PSAna2V5dXAnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgLy8gT24gdGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCwgdGhlIHRhcmdldCBpcyBqdXN0IGRvY3VtZW50IHdoaWNoIGlzbid0XG4gICAgLy8gaGVscGZ1bCBmb3IgdXMgc28ganVzdCBjaGVjayBhY3RpdmVFbGVtZW50IGluc3RlYWQuXG4gICAgLy9cbiAgICAvLyA5OSUgb2YgdGhlIHRpbWUsIGtleWRvd24gYW5kIGtleXVwIGFyZW4ndCBuZWNlc3NhcnkuIElFOCBmYWlscyB0byBmaXJlXG4gICAgLy8gcHJvcGVydHljaGFuZ2Ugb24gdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFmdGVyIHNldHRpbmcgYHZhbHVlYCBmcm9tIGFcbiAgICAvLyBzY3JpcHQgYW5kIGZpcmVzIG9ubHkga2V5ZG93biwga2V5cHJlc3MsIGtleXVwLiBDYXRjaGluZyBrZXl1cCB1c3VhbGx5XG4gICAgLy8gZ2V0cyBpdCBhbmQgY2F0Y2hpbmcga2V5ZG93biBsZXRzIHVzIGZpcmUgYW4gZXZlbnQgZm9yIHRoZSBmaXJzdFxuICAgIC8vIGtleXN0cm9rZSBpZiB1c2VyIGRvZXMgYSBrZXkgcmVwZWF0IChpdCdsbCBiZSBhIGxpdHRsZSBkZWxheWVkOiByaWdodFxuICAgIC8vIGJlZm9yZSB0aGUgc2Vjb25kIGtleXN0cm9rZSkuIE90aGVyIGlucHV0IG1ldGhvZHMgKGUuZy4sIHBhc3RlKSBzZWVtIHRvXG4gICAgLy8gZmlyZSBzZWxlY3Rpb25jaGFuZ2Ugbm9ybWFsbHkuXG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZChhY3RpdmVFbGVtZW50SW5zdCk7XG4gIH1cbn1cbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHNob3VsZFVzZUNsaWNrRXZlbnQoZWxlbSkge1xuICAvLyBVc2UgdGhlIGBjbGlja2AgZXZlbnQgdG8gZGV0ZWN0IGNoYW5nZXMgdG8gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0cy5cbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcbiAgLy8gdW50aWwgYGJsdXJgIGluIElFOC5cbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xufVxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgIHJldHVybiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudChkb21FdmVudE5hbWUsIHRhcmdldEluc3QpIHtcbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ2lucHV0JyB8fCBkb21FdmVudE5hbWUgPT09ICdjaGFuZ2UnKSB7XG4gICAgcmV0dXJuIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUpIHtcbiAgdmFyIHN0YXRlID0gbm9kZS5fd3JhcHBlclN0YXRlO1xuXG4gIGlmICghc3RhdGUgfHwgIXN0YXRlLmNvbnRyb2xsZWQgfHwgbm9kZS50eXBlICE9PSAnbnVtYmVyJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBJZiBjb250cm9sbGVkLCBhc3NpZ24gdGhlIHZhbHVlIGF0dHJpYnV0ZSB0byB0aGUgY3VycmVudCB2YWx1ZSBvbiBibHVyXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIHBsdWdpbiBjcmVhdGVzIGFuIGBvbkNoYW5nZWAgZXZlbnQgdGhhdCBub3JtYWxpemVzIGNoYW5nZSBldmVudHNcbiAqIGFjcm9zcyBmb3JtIGVsZW1lbnRzLiBUaGlzIGV2ZW50IGZpcmVzIGF0IGEgdGltZSB3aGVuIGl0J3MgcG9zc2libGUgdG9cbiAqIGNoYW5nZSB0aGUgZWxlbWVudCdzIHZhbHVlIHdpdGhvdXQgc2VlaW5nIGEgZmxpY2tlci5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBzZWxlY3RcbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG4gIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xuXG4gIGlmIChzaG91bGRVc2VDaGFuZ2VFdmVudCh0YXJnZXROb2RlKSkge1xuICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50O1xuICB9IGVsc2UgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSkge1xuICAgIGlmIChpc0lucHV0RXZlbnRTdXBwb3J0ZWQpIHtcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0T3JDaGFuZ2VFdmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgICAgaGFuZGxlRXZlbnRGdW5jID0gaGFuZGxlRXZlbnRzRm9ySW5wdXRFdmVudFBvbHlmaWxsO1xuICAgIH1cbiAgfSBlbHNlIGlmIChzaG91bGRVc2VDbGlja0V2ZW50KHRhcmdldE5vZGUpKSB7XG4gICAgZ2V0VGFyZ2V0SW5zdEZ1bmMgPSBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudDtcbiAgfVxuXG4gIGlmIChnZXRUYXJnZXRJbnN0RnVuYykge1xuICAgIHZhciBpbnN0ID0gZ2V0VGFyZ2V0SW5zdEZ1bmMoZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0KTtcblxuICAgIGlmIChpbnN0KSB7XG4gICAgICBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoZGlzcGF0Y2hRdWV1ZSwgaW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFuZGxlRXZlbnRGdW5jKSB7XG4gICAgaGFuZGxlRXZlbnRGdW5jKGRvbUV2ZW50TmFtZSwgdGFyZ2V0Tm9kZSwgdGFyZ2V0SW5zdCk7XG4gIH0gLy8gV2hlbiBibHVycmluZywgc2V0IHRoZSB2YWx1ZSBhdHRyaWJ1dGUgZm9yIG51bWJlciBpbnB1dHNcblxuXG4gIGlmIChkb21FdmVudE5hbWUgPT09ICdmb2N1c291dCcpIHtcbiAgICBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKHRhcmdldE5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDIoKSB7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uTW91c2VFbnRlcicsIFsnbW91c2VvdXQnLCAnbW91c2VvdmVyJ10pO1xuICByZWdpc3RlckRpcmVjdEV2ZW50KCdvbk1vdXNlTGVhdmUnLCBbJ21vdXNlb3V0JywgJ21vdXNlb3ZlciddKTtcbiAgcmVnaXN0ZXJEaXJlY3RFdmVudCgnb25Qb2ludGVyRW50ZXInLCBbJ3BvaW50ZXJvdXQnLCAncG9pbnRlcm92ZXInXSk7XG4gIHJlZ2lzdGVyRGlyZWN0RXZlbnQoJ29uUG9pbnRlckxlYXZlJywgWydwb2ludGVyb3V0JywgJ3BvaW50ZXJvdmVyJ10pO1xufVxuLyoqXG4gKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxuICogYG1vdXNlb3ZlcmAgYW5kIGBtb3VzZW91dGAgZXZlbnQgdGhhdCBvY2N1cnMuIE9ubHkgdXNlIGBtb3VzZW91dGAgc28gdGhhdFxuICogd2UgZG8gbm90IGV4dHJhY3QgZHVwbGljYXRlIGV2ZW50cy4gSG93ZXZlciwgbW92aW5nIHRoZSBtb3VzZSBpbnRvIHRoZVxuICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXG4gKiB0aGUgYG1vdXNlb3ZlcmAgdG9wLWxldmVsIGV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQyKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGlzT3ZlckV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdmVyJyB8fCBkb21FdmVudE5hbWUgPT09ICdwb2ludGVyb3Zlcic7XG4gIHZhciBpc091dEV2ZW50ID0gZG9tRXZlbnROYW1lID09PSAnbW91c2VvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnO1xuXG4gIGlmIChpc092ZXJFdmVudCAmJiAhaXNSZXBsYXlpbmdFdmVudChuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBJZiB0aGlzIGlzIGFuIG92ZXIgZXZlbnQgd2l0aCBhIHRhcmdldCwgd2UgbWlnaHQgaGF2ZSBhbHJlYWR5IGRpc3BhdGNoZWRcbiAgICAvLyB0aGUgZXZlbnQgaW4gdGhlIG91dCBldmVudCBvZiB0aGUgb3RoZXIgdGFyZ2V0LiBJZiB0aGlzIGlzIHJlcGxheWVkLFxuICAgIC8vIHRoZW4gaXQncyBiZWNhdXNlIHdlIGNvdWxkbid0IGRpc3BhdGNoIGFnYWluc3QgdGhpcyB0YXJnZXQgcHJldmlvdXNseVxuICAgIC8vIHNvIHdlIGhhdmUgdG8gZG8gaXQgbm93IGluc3RlYWQuXG4gICAgdmFyIHJlbGF0ZWQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LmZyb21FbGVtZW50O1xuXG4gICAgaWYgKHJlbGF0ZWQpIHtcbiAgICAgIC8vIElmIHRoZSByZWxhdGVkIG5vZGUgaXMgbWFuYWdlZCBieSBSZWFjdCwgd2UgY2FuIGFzc3VtZSB0aGF0IHdlIGhhdmVcbiAgICAgIC8vIGFscmVhZHkgZGlzcGF0Y2hlZCB0aGUgY29ycmVzcG9uZGluZyBldmVudHMgZHVyaW5nIGl0cyBtb3VzZW91dC5cbiAgICAgIGlmIChnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShyZWxhdGVkKSB8fCBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChyZWxhdGVkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc091dEV2ZW50ICYmICFpc092ZXJFdmVudCkge1xuICAgIC8vIE11c3Qgbm90IGJlIGEgbW91c2Ugb3IgcG9pbnRlciBpbiBvciBvdXQgLSBpZ25vcmluZy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgd2luOyAvLyBUT0RPOiB3aHkgaXMgdGhpcyBudWxsYWJsZSBpbiB0aGUgdHlwZXMgYnV0IHdlIHJlYWQgZnJvbSBpdD9cblxuICBpZiAobmF0aXZlRXZlbnRUYXJnZXQud2luZG93ID09PSBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgIC8vIGBuYXRpdmVFdmVudFRhcmdldGAgaXMgcHJvYmFibHkgYSB3aW5kb3cgb2JqZWN0LlxuICAgIHdpbiA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xuICB9IGVsc2Uge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgd2h5IGBvd25lckRvY3VtZW50YCBpcyBzb21ldGltZXMgdW5kZWZpbmVkIGluIElFOC5cbiAgICB2YXIgZG9jID0gbmF0aXZlRXZlbnRUYXJnZXQub3duZXJEb2N1bWVudDtcblxuICAgIGlmIChkb2MpIHtcbiAgICAgIHdpbiA9IGRvYy5kZWZhdWx0VmlldyB8fCBkb2MucGFyZW50V2luZG93O1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW4gPSB3aW5kb3c7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZyb207XG4gIHZhciB0bztcblxuICBpZiAoaXNPdXRFdmVudCkge1xuICAgIHZhciBfcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQudG9FbGVtZW50O1xuXG4gICAgZnJvbSA9IHRhcmdldEluc3Q7XG4gICAgdG8gPSBfcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKF9yZWxhdGVkKSA6IG51bGw7XG5cbiAgICBpZiAodG8gIT09IG51bGwpIHtcbiAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xuXG4gICAgICBpZiAodG8gIT09IG5lYXJlc3RNb3VudGVkIHx8IHRvLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiB0by50YWcgIT09IEhvc3RUZXh0KSB7XG4gICAgICAgIHRvID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gTW92aW5nIHRvIGEgbm9kZSBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdy5cbiAgICBmcm9tID0gbnVsbDtcbiAgICB0byA9IHRhcmdldEluc3Q7XG4gIH1cblxuICBpZiAoZnJvbSA9PT0gdG8pIHtcbiAgICAvLyBOb3RoaW5nIHBlcnRhaW5zIHRvIG91ciBtYW5hZ2VkIGNvbXBvbmVudHMuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gIHZhciBsZWF2ZUV2ZW50VHlwZSA9ICdvbk1vdXNlTGVhdmUnO1xuICB2YXIgZW50ZXJFdmVudFR5cGUgPSAnb25Nb3VzZUVudGVyJztcbiAgdmFyIGV2ZW50VHlwZVByZWZpeCA9ICdtb3VzZSc7XG5cbiAgaWYgKGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdXQnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3BvaW50ZXJvdmVyJykge1xuICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1BvaW50ZXJFdmVudDtcbiAgICBsZWF2ZUV2ZW50VHlwZSA9ICdvblBvaW50ZXJMZWF2ZSc7XG4gICAgZW50ZXJFdmVudFR5cGUgPSAnb25Qb2ludGVyRW50ZXInO1xuICAgIGV2ZW50VHlwZVByZWZpeCA9ICdwb2ludGVyJztcbiAgfVxuXG4gIHZhciBmcm9tTm9kZSA9IGZyb20gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UoZnJvbSk7XG4gIHZhciB0b05vZGUgPSB0byA9PSBudWxsID8gd2luIDogZ2V0Tm9kZUZyb21JbnN0YW5jZSh0byk7XG4gIHZhciBsZWF2ZSA9IG5ldyBTeW50aGV0aWNFdmVudEN0b3IobGVhdmVFdmVudFR5cGUsIGV2ZW50VHlwZVByZWZpeCArICdsZWF2ZScsIGZyb20sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gIGxlYXZlLnRhcmdldCA9IGZyb21Ob2RlO1xuICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xuICB2YXIgZW50ZXIgPSBudWxsOyAvLyBXZSBzaG91bGQgb25seSBwcm9jZXNzIHRoaXMgbmF0aXZlRXZlbnQgaWYgd2UgYXJlIHByb2Nlc3NpbmdcbiAgLy8gdGhlIGZpcnN0IGFuY2VzdG9yLiBOZXh0IHRpbWUsIHdlIHdpbGwgaWdub3JlIHRoZSBldmVudC5cblxuICB2YXIgbmF0aXZlVGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICBpZiAobmF0aXZlVGFyZ2V0SW5zdCA9PT0gdGFyZ2V0SW5zdCkge1xuICAgIHZhciBlbnRlckV2ZW50ID0gbmV3IFN5bnRoZXRpY0V2ZW50Q3RvcihlbnRlckV2ZW50VHlwZSwgZXZlbnRUeXBlUHJlZml4ICsgJ2VudGVyJywgdG8sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZW50ZXJFdmVudC50YXJnZXQgPSB0b05vZGU7XG4gICAgZW50ZXJFdmVudC5yZWxhdGVkVGFyZ2V0ID0gZnJvbU5vZGU7XG4gICAgZW50ZXIgPSBlbnRlckV2ZW50O1xuICB9XG5cbiAgYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZSwgZW50ZXIsIGZyb20sIHRvKTtcbn1cblxuLyoqXG4gKiBpbmxpbmVkIE9iamVjdC5pcyBwb2x5ZmlsbCB0byBhdm9pZCByZXF1aXJpbmcgY29uc3VtZXJzIHNoaXAgdGhlaXIgb3duXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbiAqL1xuZnVuY3Rpb24gaXMoeCwgeSkge1xuICByZXR1cm4geCA9PT0geSAmJiAoeCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHkpIHx8IHggIT09IHggJiYgeSAhPT0geSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxuICA7XG59XG5cbnZhciBvYmplY3RJcyA9IHR5cGVvZiBPYmplY3QuaXMgPT09ICdmdW5jdGlvbicgPyBPYmplY3QuaXMgOiBpcztcblxuLyoqXG4gKiBQZXJmb3JtcyBlcXVhbGl0eSBieSBpdGVyYXRpbmcgdGhyb3VnaCBrZXlzIG9uIGFuIG9iamVjdCBhbmQgcmV0dXJuaW5nIGZhbHNlXG4gKiB3aGVuIGFueSBrZXkgaGFzIHZhbHVlcyB3aGljaCBhcmUgbm90IHN0cmljdGx5IGVxdWFsIGJldHdlZW4gdGhlIGFyZ3VtZW50cy5cbiAqIFJldHVybnMgdHJ1ZSB3aGVuIHRoZSB2YWx1ZXMgb2YgYWxsIGtleXMgYXJlIHN0cmljdGx5IGVxdWFsLlxuICovXG5cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbChvYmpBLCBvYmpCKSB7XG4gIGlmIChvYmplY3RJcyhvYmpBLCBvYmpCKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBvYmpBICE9PSAnb2JqZWN0JyB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSAnb2JqZWN0JyB8fCBvYmpCID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMob2JqQSk7XG4gIHZhciBrZXlzQiA9IE9iamVjdC5rZXlzKG9iakIpO1xuXG4gIGlmIChrZXlzQS5sZW5ndGggIT09IGtleXNCLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBjdXJyZW50S2V5ID0ga2V5c0FbaV07XG5cbiAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwob2JqQiwgY3VycmVudEtleSkgfHwgIW9iamVjdElzKG9iakFbY3VycmVudEtleV0sIG9iakJbY3VycmVudEtleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XG4gKi9cblxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSAmJiBub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIEdldCB0aGUgbmV4dCBzaWJsaW5nIHdpdGhpbiBhIGNvbnRhaW5lci4gVGhpcyB3aWxsIHdhbGsgdXAgdGhlXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2libGluZ05vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XG4gICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICB9XG59XG4vKipcbiAqIEdldCBvYmplY3QgZGVzY3JpYmluZyB0aGUgbm9kZXMgd2hpY2ggY29udGFpbiBjaGFyYWN0ZXJzIGF0IG9mZnNldC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IHJvb3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KHJvb3QsIG9mZnNldCkge1xuICB2YXIgbm9kZSA9IGdldExlYWZOb2RlKHJvb3QpO1xuICB2YXIgbm9kZVN0YXJ0ID0gMDtcbiAgdmFyIG5vZGVFbmQgPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgbm9kZUVuZCA9IG5vZGVTdGFydCArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgICBpZiAobm9kZVN0YXJ0IDw9IG9mZnNldCAmJiBub2RlRW5kID49IG9mZnNldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBub2RlU3RhcnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgbm9kZVN0YXJ0ID0gbm9kZUVuZDtcbiAgICB9XG5cbiAgICBub2RlID0gZ2V0TGVhZk5vZGUoZ2V0U2libGluZ05vZGUobm9kZSkpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBvdXRlck5vZGVcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0cyhvdXRlck5vZGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcbiAgdmFyIHdpbiA9IG93bmVyRG9jdW1lbnQgJiYgb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uICYmIHdpbi5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlLFxuICAgICAgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7IC8vIEluIEZpcmVmb3gsIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBjYW4gYmUgXCJhbm9ueW1vdXMgZGl2c1wiLCBlLmcuIHRoZVxuICAvLyB1cC9kb3duIGJ1dHRvbnMgb24gYW4gPGlucHV0IHR5cGU9XCJudW1iZXJcIj4uIEFub255bW91cyBkaXZzIGRvIG5vdCBzZWVtIHRvXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXCJQZXJtaXNzaW9uIGRlbmllZCBlcnJvclwiIGlmIGFueSBvZiBpdHNcbiAgLy8gcHJvcGVydGllcyBhcmUgYWNjZXNzZWQuIFRoZSBvbmx5IHNlZW1pbmdseSBwb3NzaWJsZSB3YXkgdG8gYXZvaWQgZXJyb3JpbmdcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcbiAgLy8gY2F0Y2ggYW55IGVycm9yIHRoYXQgbWF5IG90aGVyd2lzZSBhcmlzZS4gU2VlXG4gIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyN1xuXG4gIHRyeSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLWV4cHJlc3Npb25zICovXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcbiAgICBmb2N1c05vZGUubm9kZVR5cGU7XG4gICAgLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KTtcbn1cbi8qKlxuICogUmV0dXJucyB7c3RhcnQsIGVuZH0gd2hlcmUgYHN0YXJ0YCBpcyB0aGUgY2hhcmFjdGVyL2NvZGVwb2ludCBpbmRleCBvZlxuICogKGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCkgd2l0aGluIHRoZSB0ZXh0Q29udGVudCBvZiBgb3V0ZXJOb2RlYCwgYW5kXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxuICpcbiAqIFJldHVybnMgbnVsbCBpZiB5b3UgcGFzcyBpbiBnYXJiYWdlIGlucHV0IGJ1dCB3ZSBzaG91bGQgcHJvYmFibHkganVzdCBjcmFzaC5cbiAqXG4gKiBFeHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nLlxuICovXG5cbmZ1bmN0aW9uIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KSB7XG4gIHZhciBsZW5ndGggPSAwO1xuICB2YXIgc3RhcnQgPSAtMTtcbiAgdmFyIGVuZCA9IC0xO1xuICB2YXIgaW5kZXhXaXRoaW5BbmNob3IgPSAwO1xuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XG4gIHZhciBub2RlID0gb3V0ZXJOb2RlO1xuICB2YXIgcGFyZW50Tm9kZSA9IG51bGw7XG5cbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIG5leHQgPSBudWxsO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlID09PSBhbmNob3JOb2RlICYmIChhbmNob3JPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBlbmQgPSBsZW5ndGggKyBmb2N1c09mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgICBsZW5ndGggKz0gbm9kZS5ub2RlVmFsdWUubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG5leHQgPSBub2RlLmZpcnN0Q2hpbGQpID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIGZpcnN0IGNoaWxkIGBuZXh0YC5cblxuXG4gICAgICBwYXJlbnROb2RlID0gbm9kZTtcbiAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XG4gICAgICAgIC8vIElmIGBvdXRlck5vZGVgIGhhcyBjaGlsZHJlbiwgdGhpcyBpcyBhbHdheXMgdGhlIHNlY29uZCB0aW1lIHZpc2l0aW5nXG4gICAgICAgIC8vIGl0LiBJZiBpdCBoYXMgbm8gY2hpbGRyZW4sIHRoaXMgaXMgc3RpbGwgdGhlIGZpcnN0IGxvb3AsIGFuZCB0aGUgb25seVxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXG4gICAgICAgIC8vIGFuZCBib3RoIG9mZnNldHMgMCwgaW4gd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgaGFuZGxlZCBhYm92ZS5cbiAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlID09PSBhbmNob3JOb2RlICYmICsraW5kZXhXaXRoaW5BbmNob3IgPT09IGFuY2hvck9mZnNldCkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKChuZXh0ID0gbm9kZS5uZXh0U2libGluZykgIT09IG51bGwpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcbiAgICB9IC8vIE1vdmluZyBmcm9tIGBub2RlYCB0byBpdHMgbmV4dCBzaWJsaW5nIGBuZXh0YC5cblxuXG4gICAgbm9kZSA9IG5leHQ7XG4gIH1cblxuICBpZiAoc3RhcnQgPT09IC0xIHx8IGVuZCA9PT0gLTEpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIChXb3VsZCBoYXBwZW4gaWYgdGhlIGFuY2hvci9mb2N1cyBub2RlcyBhcmVuJ3RcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IHN0YXJ0LFxuICAgIGVuZDogZW5kXG4gIH07XG59XG4vKipcbiAqIEluIG1vZGVybiBub24tSUUgYnJvd3NlcnMsIHdlIGNhbiBzdXBwb3J0IGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmRcbiAqIHNlbGVjdGlvbnMuXG4gKlxuICogTm90ZTogSUUxMCsgc3VwcG9ydHMgdGhlIFNlbGVjdGlvbiBvYmplY3QsIGJ1dCBpdCBkb2VzIG5vdCBzdXBwb3J0XG4gKiB0aGUgYGV4dGVuZGAgbWV0aG9kLCB3aGljaCBtZWFucyB0aGF0IGV2ZW4gaW4gbW9kZXJuIElFLCBpdCdzIG5vdCBwb3NzaWJsZVxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcbiAqIHZlcnNpb25zLCB3ZSB1c2UgdGhlIG9sZCBJRSBBUEkgdG8gY3JlYXRlIG91ciBzZWxlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IG9mZnNldHNcbiAqL1xuXG5mdW5jdGlvbiBzZXRPZmZzZXRzKG5vZGUsIG9mZnNldHMpIHtcbiAgdmFyIGRvYyA9IG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXCJPYmplY3QgZXhwZWN0ZWRcIiBpbiBzb21lIHNjZW5hcmlvcy5cbiAgLy8gKEZvciBpbnN0YW5jZTogVGlueU1DRSBlZGl0b3IgdXNlZCBpbiBhIGxpc3QgY29tcG9uZW50IHRoYXQgc3VwcG9ydHMgcGFzdGluZyB0byBhZGQgbW9yZSxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXG5cbiAgaWYgKCF3aW4uZ2V0U2VsZWN0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICB2YXIgc3RhcnQgPSBNYXRoLm1pbihvZmZzZXRzLnN0YXJ0LCBsZW5ndGgpO1xuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cbiAgLy8gRmxpcCBiYWNrd2FyZCBzZWxlY3Rpb25zLCBzbyB3ZSBjYW4gc2V0IHdpdGggYSBzaW5nbGUgcmFuZ2UuXG5cbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XG4gICAgdmFyIHRlbXAgPSBlbmQ7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSB0ZW1wO1xuICB9XG5cbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XG4gIHZhciBlbmRNYXJrZXIgPSBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KG5vZGUsIGVuZCk7XG5cbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xuICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBzZWxlY3Rpb24uYW5jaG9yTm9kZSA9PT0gc3RhcnRNYXJrZXIubm9kZSAmJiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID09PSBzdGFydE1hcmtlci5vZmZzZXQgJiYgc2VsZWN0aW9uLmZvY3VzTm9kZSA9PT0gZW5kTWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ID09PSBlbmRNYXJrZXIub2Zmc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHJhbmdlID0gZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICBzZWxlY3Rpb24uZXh0ZW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2Uuc2V0RW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVGV4dE5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREU7XG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZSkge1xuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZSA9PT0gaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShvdXRlck5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xuICAgIHJldHVybiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUucGFyZW50Tm9kZSk7XG4gIH0gZWxzZSBpZiAoJ2NvbnRhaW5zJyBpbiBvdXRlck5vZGUpIHtcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSB7XG4gICAgcmV0dXJuICEhKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpbm5lck5vZGUpICYgMTYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luRG9jdW1lbnQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xufVxuXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcbiAgdHJ5IHtcbiAgICAvLyBBY2Nlc3NpbmcgdGhlIGNvbnRlbnREb2N1bWVudCBvZiBhIEhUTUxJZnJhbWVFbGVtZW50IGNhbiBjYXVzZSB0aGUgYnJvd3NlclxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxuICAgIC8vIFNhZmFyaSB3aWxsIHNob3cgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGUgd2hlbiB0aGUgYWNjZXNzIHJlc3VsdHMgaW4gXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cIi4gZS5nOlxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgLy8gQSBzYWZldHkgd2F5IGlzIHRvIGFjY2VzcyBvbmUgb2YgdGhlIGNyb3NzIG9yaWdpbiBwcm9wZXJ0aWVzOiBXaW5kb3cgb3IgTG9jYXRpb25cbiAgICAvLyBXaGljaCBtaWdodCByZXN1bHQgaW4gXCJTZWN1cml0eUVycm9yXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNpbnRlZ3JhdGlvbi13aXRoLWlkbFxuICAgIHJldHVybiB0eXBlb2YgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZiA9PT0gJ3N0cmluZyc7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50RGVlcCgpIHtcbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG5cbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNTYW1lT3JpZ2luRnJhbWUoZWxlbWVudCkpIHtcbiAgICAgIHdpbiA9IGVsZW1lbnQuY29udGVudFdpbmRvdztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGdldEFjdGl2ZUVsZW1lbnQod2luLmRvY3VtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuLyoqXG4gKiBAUmVhY3RJbnB1dFNlbGVjdGlvbjogUmVhY3QgaW5wdXQgc2VsZWN0aW9uIG1vZHVsZS4gQmFzZWQgb24gU2VsZWN0aW9uLmpzLFxuICogYnV0IG1vZGlmaWVkIHRvIGJlIHN1aXRhYmxlIGZvciByZWFjdCBhbmQgaGFzIGEgY291cGxlIG9mIGJ1ZyBmaXhlcyAoZG9lc24ndFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxuICogSW5wdXQgc2VsZWN0aW9uIG1vZHVsZSBmb3IgUmVhY3QuXG4gKi9cblxuLyoqXG4gKiBAaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzOiB3ZSBnZXQgdGhlIGVsZW1lbnQgdHlwZXMgdGhhdCBzdXBwb3J0IHNlbGVjdGlvblxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxuICogYW5kIGBzZWxlY3Rpb25FbmRgIHJvd3MuXG4gKi9cblxuXG5mdW5jdGlvbiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgKG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtLnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtLnR5cGUgPT09ICdzZWFyY2gnIHx8IGVsZW0udHlwZSA9PT0gJ3RlbCcgfHwgZWxlbS50eXBlID09PSAndXJsJyB8fCBlbGVtLnR5cGUgPT09ICdwYXNzd29yZCcpIHx8IG5vZGVOYW1lID09PSAndGV4dGFyZWEnIHx8IGVsZW0uY29udGVudEVkaXRhYmxlID09PSAndHJ1ZScpO1xufVxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XG4gIHZhciBmb2N1c2VkRWxlbSA9IGdldEFjdGl2ZUVsZW1lbnREZWVwKCk7XG4gIHJldHVybiB7XG4gICAgZm9jdXNlZEVsZW06IGZvY3VzZWRFbGVtLFxuICAgIHNlbGVjdGlvblJhbmdlOiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZm9jdXNlZEVsZW0pID8gZ2V0U2VsZWN0aW9uKGZvY3VzZWRFbGVtKSA6IG51bGxcbiAgfTtcbn1cbi8qKlxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXG4gKiByZXN0b3JlIGl0LiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHBlcmZvcm1pbmcgb3BlcmF0aW9ucyB0aGF0IGNvdWxkIHJlbW92ZSBkb21cbiAqIG5vZGVzIGFuZCBwbGFjZSB0aGVtIGJhY2sgaW4sIHJlc3VsdGluZyBpbiBmb2N1cyBiZWluZyBsb3N0LlxuICovXG5cbmZ1bmN0aW9uIHJlc3RvcmVTZWxlY3Rpb24ocHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbikge1xuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xuICB2YXIgcHJpb3JGb2N1c2VkRWxlbSA9IHByaW9yU2VsZWN0aW9uSW5mb3JtYXRpb24uZm9jdXNlZEVsZW07XG4gIHZhciBwcmlvclNlbGVjdGlvblJhbmdlID0gcHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbi5zZWxlY3Rpb25SYW5nZTtcblxuICBpZiAoY3VyRm9jdXNlZEVsZW0gIT09IHByaW9yRm9jdXNlZEVsZW0gJiYgaXNJbkRvY3VtZW50KHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgaWYgKHByaW9yU2VsZWN0aW9uUmFuZ2UgIT09IG51bGwgJiYgaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzKHByaW9yRm9jdXNlZEVsZW0pKSB7XG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XG4gICAgfSAvLyBGb2N1c2luZyBhIG5vZGUgY2FuIGNoYW5nZSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCB3aGljaCBpcyB1bmRlc2lyYWJsZVxuXG5cbiAgICB2YXIgYW5jZXN0b3JzID0gW107XG4gICAgdmFyIGFuY2VzdG9yID0gcHJpb3JGb2N1c2VkRWxlbTtcblxuICAgIHdoaWxlIChhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGUpIHtcbiAgICAgIGlmIChhbmNlc3Rvci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcbiAgICAgICAgICBlbGVtZW50OiBhbmNlc3RvcixcbiAgICAgICAgICBsZWZ0OiBhbmNlc3Rvci5zY3JvbGxMZWZ0LFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaW5mbyA9IGFuY2VzdG9yc1tpXTtcbiAgICAgIGluZm8uZWxlbWVudC5zY3JvbGxMZWZ0ID0gaW5mby5sZWZ0O1xuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBAZ2V0U2VsZWN0aW9uOiBHZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgZm9jdXNlZCB0ZXh0YXJlYSwgaW5wdXQgb3JcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxuICogLUBpbnB1dDogTG9vayB1cCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXRcbiAqIC1AcmV0dXJuIHtzdGFydDogc2VsZWN0aW9uU3RhcnQsIGVuZDogc2VsZWN0aW9uRW5kfVxuICovXG5cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbihpbnB1dCkge1xuICB2YXIgc2VsZWN0aW9uO1xuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgLy8gTW9kZXJuIGJyb3dzZXIgd2l0aCBpbnB1dCBvciB0ZXh0YXJlYS5cbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICBzdGFydDogaW5wdXQuc2VsZWN0aW9uU3RhcnQsXG4gICAgICBlbmQ6IGlucHV0LnNlbGVjdGlvbkVuZFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29udGVudCBlZGl0YWJsZSBvciBvbGQgSUUgdGV4dGFyZWEuXG4gICAgc2VsZWN0aW9uID0gZ2V0T2Zmc2V0cyhpbnB1dCk7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0aW9uIHx8IHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDBcbiAgfTtcbn1cbi8qKlxuICogQHNldFNlbGVjdGlvbjogU2V0cyB0aGUgc2VsZWN0aW9uIGJvdW5kcyBvZiBhIHRleHRhcmVhIG9yIGlucHV0IGFuZCBmb2N1c2VzXG4gKiB0aGUgaW5wdXQuXG4gKiAtQGlucHV0ICAgICBTZXQgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0IG9yIHRleHRhcmVhXG4gKiAtQG9mZnNldHMgICBPYmplY3Qgb2Ygc2FtZSBmb3JtIHRoYXQgaXMgcmV0dXJuZWQgZnJvbSBnZXQqXG4gKi9cblxuZnVuY3Rpb24gc2V0U2VsZWN0aW9uKGlucHV0LCBvZmZzZXRzKSB7XG4gIHZhciBzdGFydCA9IG9mZnNldHMuc3RhcnQ7XG4gIHZhciBlbmQgPSBvZmZzZXRzLmVuZDtcblxuICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmQgPSBzdGFydDtcbiAgfVxuXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XG4gICAgaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSBzdGFydDtcbiAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBNYXRoLm1pbihlbmQsIGlucHV0LnZhbHVlLmxlbmd0aCk7XG4gIH0gZWxzZSB7XG4gICAgc2V0T2Zmc2V0cyhpbnB1dCwgb2Zmc2V0cyk7XG4gIH1cbn1cblxudmFyIHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCA9IGNhblVzZURPTSAmJiAnZG9jdW1lbnRNb2RlJyBpbiBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudE1vZGUgPD0gMTE7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXZlbnRzJDMoKSB7XG4gIHJlZ2lzdGVyVHdvUGhhc2VFdmVudCgnb25TZWxlY3QnLCBbJ2ZvY3Vzb3V0JywgJ2NvbnRleHRtZW51JywgJ2RyYWdlbmQnLCAnZm9jdXNpbicsICdrZXlkb3duJywgJ2tleXVwJywgJ21vdXNlZG93bicsICdtb3VzZXVwJywgJ3NlbGVjdGlvbmNoYW5nZSddKTtcbn1cblxudmFyIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XG52YXIgYWN0aXZlRWxlbWVudEluc3QkMSA9IG51bGw7XG52YXIgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG52YXIgbW91c2VEb3duID0gZmFsc2U7XG4vKipcbiAqIEdldCBhbiBvYmplY3Qgd2hpY2ggaXMgYSB1bmlxdWUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxuICpcbiAqIFRoZSByZXR1cm4gdmFsdWUgd2lsbCBub3QgYmUgY29uc2lzdGVudCBhY3Jvc3Mgbm9kZXMgb3IgYnJvd3NlcnMsIGJ1dFxuICogdHdvIGlkZW50aWNhbCBzZWxlY3Rpb25zIG9uIHRoZSBzYW1lIG5vZGUgd2lsbCByZXR1cm4gaWRlbnRpY2FsIG9iamVjdHMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uJDEobm9kZSkge1xuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogbm9kZS5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB2YXIgc2VsZWN0aW9uID0gd2luLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldDogc2VsZWN0aW9uLmFuY2hvck9mZnNldCxcbiAgICAgIGZvY3VzTm9kZTogc2VsZWN0aW9uLmZvY3VzTm9kZSxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcbiAgICB9O1xuICB9XG59XG4vKipcbiAqIEdldCBkb2N1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGV2ZW50IHRhcmdldC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQoZXZlbnRUYXJnZXQpIHtcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xufVxuLyoqXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcbiAqIEByZXR1cm4gez9TeW50aGV0aWNFdmVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcbiAgLy8gc2VsZWN0aW9uICh0aGlzIG1hdGNoZXMgbmF0aXZlIGBzZWxlY3RgIGV2ZW50IGJlaGF2aW9yKS4gSW4gSFRNTDUsIHNlbGVjdFxuICAvLyBmaXJlcyBvbmx5IG9uIGlucHV0IGFuZCB0ZXh0YXJlYSB0aHVzIGlmIHRoZXJlJ3Mgbm8gZm9jdXNlZCBlbGVtZW50IHdlXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxuICB2YXIgZG9jID0gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBPbmx5IGZpcmUgd2hlbiBzZWxlY3Rpb24gaGFzIGFjdHVhbGx5IGNoYW5nZWQuXG5cblxuICB2YXIgY3VycmVudFNlbGVjdGlvbiA9IGdldFNlbGVjdGlvbiQxKGFjdGl2ZUVsZW1lbnQkMSk7XG5cbiAgaWYgKCFsYXN0U2VsZWN0aW9uIHx8ICFzaGFsbG93RXF1YWwobGFzdFNlbGVjdGlvbiwgY3VycmVudFNlbGVjdGlvbikpIHtcbiAgICBsYXN0U2VsZWN0aW9uID0gY3VycmVudFNlbGVjdGlvbjtcbiAgICB2YXIgbGlzdGVuZXJzID0gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKGFjdGl2ZUVsZW1lbnRJbnN0JDEsICdvblNlbGVjdCcpO1xuXG4gICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnQoJ29uU2VsZWN0JywgJ3NlbGVjdCcsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBkaXNwYXRjaFF1ZXVlLnB1c2goe1xuICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzXG4gICAgICB9KTtcbiAgICAgIGV2ZW50LnRhcmdldCA9IGFjdGl2ZUVsZW1lbnQkMTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25TZWxlY3RgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBzZWxlY3QgZXZlbnRzXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cbiAqXG4gKiBTdXBwb3J0ZWQgZWxlbWVudHMgYXJlOlxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxuICogLSB0ZXh0YXJlYVxuICogLSBjb250ZW50RWRpdGFibGVcbiAqXG4gKiBUaGlzIGRpZmZlcnMgZnJvbSBuYXRpdmUgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIGZvbGxvd2luZyB3YXlzOlxuICogLSBGaXJlcyBvbiBjb250ZW50RWRpdGFibGUgZmllbGRzIGFzIHdlbGwgYXMgaW5wdXRzLlxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cbiAqIC0gRmlyZXMgYWZ0ZXIgdXNlciBpbnB1dC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudHMkMyhkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncywgdGFyZ2V0Q29udGFpbmVyKSB7XG4gIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICAvLyBUcmFjayB0aGUgaW5wdXQgbm9kZSB0aGF0IGhhcyBmb2N1cy5cbiAgICBjYXNlICdmb2N1c2luJzpcbiAgICAgIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkgfHwgdGFyZ2V0Tm9kZS5jb250ZW50RWRpdGFibGUgPT09ICd0cnVlJykge1xuICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSB0YXJnZXROb2RlO1xuICAgICAgICBhY3RpdmVFbGVtZW50SW5zdCQxID0gdGFyZ2V0SW5zdDtcbiAgICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNvdXQnOlxuICAgICAgYWN0aXZlRWxlbWVudCQxID0gbnVsbDtcbiAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xuICAgICAgbGFzdFNlbGVjdGlvbiA9IG51bGw7XG4gICAgICBicmVhaztcbiAgICAvLyBEb24ndCBmaXJlIHRoZSBldmVudCB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZy4gVGhpcyBtYXRjaGVzIHRoZVxuICAgIC8vIHNlbWFudGljcyBvZiB0aGUgbmF0aXZlIHNlbGVjdCBldmVudC5cblxuICAgIGNhc2UgJ21vdXNlZG93bic6XG4gICAgICBtb3VzZURvd24gPSB0cnVlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjb250ZXh0bWVudSc6XG4gICAgY2FzZSAnbW91c2V1cCc6XG4gICAgY2FzZSAnZHJhZ2VuZCc6XG4gICAgICBtb3VzZURvd24gPSBmYWxzZTtcbiAgICAgIGNvbnN0cnVjdFNlbGVjdEV2ZW50KGRpc3BhdGNoUXVldWUsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgICBicmVhaztcbiAgICAvLyBDaHJvbWUgYW5kIElFIGZpcmUgbm9uLXN0YW5kYXJkIGV2ZW50IHdoZW4gc2VsZWN0aW9uIGlzIGNoYW5nZWQgKGFuZFxuICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxuICAgIC8vIHRvIGtleSBhbmQgaW5wdXQgZXZlbnRzIG9uIGRlbGV0aW9uLCBzbyB3ZSBkaXNjYXJkIGl0LlxuICAgIC8vXG4gICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXG4gICAgLy8gYWZ0ZXIgZWFjaCBrZXkgZW50cnkuIFRoZSBzZWxlY3Rpb24gY2hhbmdlcyBhZnRlciBrZXlkb3duIGFuZCBiZWZvcmVcbiAgICAvLyBrZXl1cCwgYnV0IHdlIGNoZWNrIG9uIGtleWRvd24gYXMgd2VsbCBpbiB0aGUgY2FzZSBvZiBob2xkaW5nIGRvd24gYVxuICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxuICAgIC8vIFRoaXMgaXMgYWxzbyBvdXIgYXBwcm9hY2ggZm9yIElFIGhhbmRsaW5nLCBmb3IgdGhlIHJlYXNvbiBhYm92ZS5cblxuICAgIGNhc2UgJ3NlbGVjdGlvbmNoYW5nZSc6XG4gICAgICBpZiAoc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgLy8gZmFsbHMgdGhyb3VnaFxuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgY29uc3RydWN0U2VsZWN0RXZlbnQoZGlzcGF0Y2hRdWV1ZSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgbWFwcGluZyBvZiBzdGFuZGFyZCB2ZW5kb3IgcHJlZml4ZXMgdXNpbmcgdGhlIGRlZmluZWQgc3R5bGUgcHJvcGVydHkgYW5kIGV2ZW50IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHN0eWxlUHJvcFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHJldHVybnMge29iamVjdH1cbiAqL1xuXG5mdW5jdGlvbiBtYWtlUHJlZml4TWFwKHN0eWxlUHJvcCwgZXZlbnROYW1lKSB7XG4gIHZhciBwcmVmaXhlcyA9IHt9O1xuICBwcmVmaXhlc1tzdHlsZVByb3AudG9Mb3dlckNhc2UoKV0gPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcHJlZml4ZXNbJ1dlYmtpdCcgKyBzdHlsZVByb3BdID0gJ3dlYmtpdCcgKyBldmVudE5hbWU7XG4gIHByZWZpeGVzWydNb3onICsgc3R5bGVQcm9wXSA9ICdtb3onICsgZXZlbnROYW1lO1xuICByZXR1cm4gcHJlZml4ZXM7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBldmVudCBuYW1lcyB0byBhIGNvbmZpZ3VyYWJsZSBsaXN0IG9mIHZlbmRvciBwcmVmaXhlcy5cbiAqL1xuXG5cbnZhciB2ZW5kb3JQcmVmaXhlcyA9IHtcbiAgYW5pbWF0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdBbmltYXRpb24nLCAnQW5pbWF0aW9uRW5kJyksXG4gIGFuaW1hdGlvbml0ZXJhdGlvbjogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkl0ZXJhdGlvbicpLFxuICBhbmltYXRpb25zdGFydDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvblN0YXJ0JyksXG4gIHRyYW5zaXRpb25lbmQ6IG1ha2VQcmVmaXhNYXAoJ1RyYW5zaXRpb24nLCAnVHJhbnNpdGlvbkVuZCcpXG59O1xuLyoqXG4gKiBFdmVudCBuYW1lcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGRldGVjdGVkIGFuZCBwcmVmaXhlZCAoaWYgYXBwbGljYWJsZSkuXG4gKi9cblxudmFyIHByZWZpeGVkRXZlbnROYW1lcyA9IHt9O1xuLyoqXG4gKiBFbGVtZW50IHRvIGNoZWNrIGZvciBwcmVmaXhlcyBvbi5cbiAqL1xuXG52YXIgc3R5bGUgPSB7fTtcbi8qKlxuICogQm9vdHN0cmFwIGlmIGEgRE9NIGV4aXN0cy5cbiAqL1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7IC8vIE9uIHNvbWUgcGxhdGZvcm1zLCBpbiBwYXJ0aWN1bGFyIHNvbWUgcmVsZWFzZXMgb2YgQW5kcm9pZCA0LngsXG4gIC8vIHRoZSB1bi1wcmVmaXhlZCBcImFuaW1hdGlvblwiIGFuZCBcInRyYW5zaXRpb25cIiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIG9uIHRoZVxuICAvLyBzdHlsZSBvYmplY3QgYnV0IHRoZSBldmVudHMgdGhhdCBmaXJlIHdpbGwgc3RpbGwgYmUgcHJlZml4ZWQsIHNvIHdlIG5lZWRcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHVuLXByZWZpeGVkIGV2ZW50cyBhcmUgdXNhYmxlLCBhbmQgaWYgbm90IHJlbW92ZSB0aGVtIGZyb20gdGhlIG1hcC5cblxuICBpZiAoISgnQW5pbWF0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbjtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uO1xuICB9IC8vIFNhbWUgYXMgYWJvdmVcblxuXG4gIGlmICghKCdUcmFuc2l0aW9uRXZlbnQnIGluIHdpbmRvdykpIHtcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uO1xuICB9XG59XG4vKipcbiAqIEF0dGVtcHRzIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCB2ZW5kb3IgcHJlZml4ZWQgZXZlbnQgbmFtZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoZXZlbnROYW1lKSB7XG4gIGlmIChwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXTtcbiAgfSBlbHNlIGlmICghdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXSkge1xuICAgIHJldHVybiBldmVudE5hbWU7XG4gIH1cblxuICB2YXIgcHJlZml4TWFwID0gdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXTtcblxuICBmb3IgKHZhciBzdHlsZVByb3AgaW4gcHJlZml4TWFwKSB7XG4gICAgaWYgKHByZWZpeE1hcC5oYXNPd25Qcm9wZXJ0eShzdHlsZVByb3ApICYmIHN0eWxlUHJvcCBpbiBzdHlsZSkge1xuICAgICAgcmV0dXJuIHByZWZpeGVkRXZlbnROYW1lc1tldmVudE5hbWVdID0gcHJlZml4TWFwW3N0eWxlUHJvcF07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV2ZW50TmFtZTtcbn1cblxudmFyIEFOSU1BVElPTl9FTkQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uZW5kJyk7XG52YXIgQU5JTUFUSU9OX0lURVJBVElPTiA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25pdGVyYXRpb24nKTtcbnZhciBBTklNQVRJT05fU1RBUlQgPSBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uc3RhcnQnKTtcbnZhciBUUkFOU0lUSU9OX0VORCA9IGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCd0cmFuc2l0aW9uZW5kJyk7XG5cbnZhciB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcyA9IG5ldyBNYXAoKTsgLy8gTk9URTogQ2FwaXRhbGl6YXRpb24gaXMgaW1wb3J0YW50IGluIHRoaXMgbGlzdCFcbi8vXG4vLyBFLmcuIGl0IG5lZWRzIFwicG9pbnRlckRvd25cIiwgbm90IFwicG9pbnRlcmRvd25cIi5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBkZXJpdmUgYm90aCBSZWFjdCBuYW1lIChcIm9uUG9pbnRlckRvd25cIilcbi8vIGFuZCBET00gbmFtZSAoXCJwb2ludGVyZG93blwiKSBmcm9tIHRoZSBzYW1lIGxpc3QuXG4vL1xuLy8gRXhjZXB0aW9ucyB0aGF0IGRvbid0IG1hdGNoIHRoaXMgY29udmVudGlvbiBhcmUgbGlzdGVkIHNlcGFyYXRlbHkuXG4vL1xuLy8gcHJldHRpZXItaWdub3JlXG5cbnZhciBzaW1wbGVFdmVudFBsdWdpbkV2ZW50cyA9IFsnYWJvcnQnLCAnYXV4Q2xpY2snLCAnY2FuY2VsJywgJ2NhblBsYXknLCAnY2FuUGxheVRocm91Z2gnLCAnY2xpY2snLCAnY2xvc2UnLCAnY29udGV4dE1lbnUnLCAnY29weScsICdjdXQnLCAnZHJhZycsICdkcmFnRW5kJywgJ2RyYWdFbnRlcicsICdkcmFnRXhpdCcsICdkcmFnTGVhdmUnLCAnZHJhZ092ZXInLCAnZHJhZ1N0YXJ0JywgJ2Ryb3AnLCAnZHVyYXRpb25DaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnZ290UG9pbnRlckNhcHR1cmUnLCAnaW5wdXQnLCAnaW52YWxpZCcsICdrZXlEb3duJywgJ2tleVByZXNzJywgJ2tleVVwJywgJ2xvYWQnLCAnbG9hZGVkRGF0YScsICdsb2FkZWRNZXRhZGF0YScsICdsb2FkU3RhcnQnLCAnbG9zdFBvaW50ZXJDYXB0dXJlJywgJ21vdXNlRG93bicsICdtb3VzZU1vdmUnLCAnbW91c2VPdXQnLCAnbW91c2VPdmVyJywgJ21vdXNlVXAnLCAncGFzdGUnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3BvaW50ZXJDYW5jZWwnLCAncG9pbnRlckRvd24nLCAncG9pbnRlck1vdmUnLCAncG9pbnRlck91dCcsICdwb2ludGVyT3ZlcicsICdwb2ludGVyVXAnLCAncHJvZ3Jlc3MnLCAncmF0ZUNoYW5nZScsICdyZXNldCcsICdyZXNpemUnLCAnc2Vla2VkJywgJ3NlZWtpbmcnLCAnc3RhbGxlZCcsICdzdWJtaXQnLCAnc3VzcGVuZCcsICd0aW1lVXBkYXRlJywgJ3RvdWNoQ2FuY2VsJywgJ3RvdWNoRW5kJywgJ3RvdWNoU3RhcnQnLCAndm9sdW1lQ2hhbmdlJywgJ3Njcm9sbCcsICd0b2dnbGUnLCAndG91Y2hNb3ZlJywgJ3dhaXRpbmcnLCAnd2hlZWwnXTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJTaW1wbGVFdmVudChkb21FdmVudE5hbWUsIHJlYWN0TmFtZSkge1xuICB0b3BMZXZlbEV2ZW50c1RvUmVhY3ROYW1lcy5zZXQoZG9tRXZlbnROYW1lLCByZWFjdE5hbWUpO1xuICByZWdpc3RlclR3b1BoYXNlRXZlbnQocmVhY3ROYW1lLCBbZG9tRXZlbnROYW1lXSk7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyU2ltcGxlRXZlbnRzKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGV2ZW50TmFtZSA9IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRzW2ldO1xuICAgIHZhciBkb21FdmVudE5hbWUgPSBldmVudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgY2FwaXRhbGl6ZWRFdmVudCA9IGV2ZW50TmFtZVswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnROYW1lLnNsaWNlKDEpO1xuICAgIHJlZ2lzdGVyU2ltcGxlRXZlbnQoZG9tRXZlbnROYW1lLCAnb24nICsgY2FwaXRhbGl6ZWRFdmVudCk7XG4gIH0gLy8gU3BlY2lhbCBjYXNlcyB3aGVyZSBldmVudCBuYW1lcyBkb24ndCBtYXRjaC5cblxuXG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0VORCwgJ29uQW5pbWF0aW9uRW5kJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX0lURVJBVElPTiwgJ29uQW5pbWF0aW9uSXRlcmF0aW9uJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoQU5JTUFUSU9OX1NUQVJULCAnb25BbmltYXRpb25TdGFydCcpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdkYmxjbGljaycsICdvbkRvdWJsZUNsaWNrJyk7XG4gIHJlZ2lzdGVyU2ltcGxlRXZlbnQoJ2ZvY3VzaW4nLCAnb25Gb2N1cycpO1xuICByZWdpc3RlclNpbXBsZUV2ZW50KCdmb2N1c291dCcsICdvbkJsdXInKTtcbiAgcmVnaXN0ZXJTaW1wbGVFdmVudChUUkFOU0lUSU9OX0VORCwgJ29uVHJhbnNpdGlvbkVuZCcpO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRzJDQoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgcmVhY3ROYW1lID0gdG9wTGV2ZWxFdmVudHNUb1JlYWN0TmFtZXMuZ2V0KGRvbUV2ZW50TmFtZSk7XG5cbiAgaWYgKHJlYWN0TmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0V2ZW50O1xuICB2YXIgcmVhY3RFdmVudFR5cGUgPSBkb21FdmVudE5hbWU7XG5cbiAgc3dpdGNoIChkb21FdmVudE5hbWUpIHtcbiAgICBjYXNlICdrZXlwcmVzcyc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBrZXlwcmVzcyBldmVudCBmb3IgZnVuY3Rpb24ga2V5cyB0b28uIFRoaXMgcmVtb3Zlc1xuICAgICAgLy8gdGhlIHVud2FudGVkIGtleXByZXNzIGV2ZW50cy4gRW50ZXIgaXMgaG93ZXZlciBib3RoIHByaW50YWJsZSBhbmRcbiAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXG4gICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAna2V5ZG93bic6XG4gICAgY2FzZSAna2V5dXAnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljS2V5Ym9hcmRFdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZm9jdXNpbic6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdmb2N1cyc7XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb2N1c291dCc6XG4gICAgICByZWFjdEV2ZW50VHlwZSA9ICdibHVyJztcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY0ZvY3VzRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2JlZm9yZWJsdXInOlxuICAgIGNhc2UgJ2FmdGVyYmx1cic6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjbGljayc6XG4gICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcbiAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cbiAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgY2FzZSAnYXV4Y2xpY2snOlxuICAgIGNhc2UgJ2RibGNsaWNrJzpcbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgIGNhc2UgJ21vdXNlbW92ZSc6XG4gICAgY2FzZSAnbW91c2V1cCc6IC8vIFRPRE86IERpc2FibGVkIGVsZW1lbnRzIHNob3VsZCBub3QgcmVzcG9uZCB0byBtb3VzZSBldmVudHNcblxuICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgIGNhc2UgJ21vdXNlb3V0JzpcbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgIGNhc2UgJ2NvbnRleHRtZW51JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RyYWcnOlxuICAgIGNhc2UgJ2RyYWdlbmQnOlxuICAgIGNhc2UgJ2RyYWdlbnRlcic6XG4gICAgY2FzZSAnZHJhZ2V4aXQnOlxuICAgIGNhc2UgJ2RyYWdsZWF2ZSc6XG4gICAgY2FzZSAnZHJhZ292ZXInOlxuICAgIGNhc2UgJ2RyYWdzdGFydCc6XG4gICAgY2FzZSAnZHJvcCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNEcmFnRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RvdWNoY2FuY2VsJzpcbiAgICBjYXNlICd0b3VjaGVuZCc6XG4gICAgY2FzZSAndG91Y2htb3ZlJzpcbiAgICBjYXNlICd0b3VjaHN0YXJ0JzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQU5JTUFUSU9OX0VORDpcbiAgICBjYXNlIEFOSU1BVElPTl9JVEVSQVRJT046XG4gICAgY2FzZSBBTklNQVRJT05fU1RBUlQ6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNBbmltYXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUUkFOU0lUSU9OX0VORDpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2Nyb2xsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3doZWVsJzpcbiAgICAgIFN5bnRoZXRpY0V2ZW50Q3RvciA9IFN5bnRoZXRpY1doZWVsRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2NvcHknOlxuICAgIGNhc2UgJ2N1dCc6XG4gICAgY2FzZSAncGFzdGUnOlxuICAgICAgU3ludGhldGljRXZlbnRDdG9yID0gU3ludGhldGljQ2xpcGJvYXJkRXZlbnQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2dvdHBvaW50ZXJjYXB0dXJlJzpcbiAgICBjYXNlICdsb3N0cG9pbnRlcmNhcHR1cmUnOlxuICAgIGNhc2UgJ3BvaW50ZXJjYW5jZWwnOlxuICAgIGNhc2UgJ3BvaW50ZXJkb3duJzpcbiAgICBjYXNlICdwb2ludGVybW92ZSc6XG4gICAgY2FzZSAncG9pbnRlcm91dCc6XG4gICAgY2FzZSAncG9pbnRlcm92ZXInOlxuICAgIGNhc2UgJ3BvaW50ZXJ1cCc6XG4gICAgICBTeW50aGV0aWNFdmVudEN0b3IgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBpbkNhcHR1cmVQaGFzZSA9IChldmVudFN5c3RlbUZsYWdzICYgSVNfQ0FQVFVSRV9QSEFTRSkgIT09IDA7XG5cbiAge1xuICAgIC8vIFNvbWUgZXZlbnRzIGRvbid0IGJ1YmJsZSBpbiB0aGUgYnJvd3Nlci5cbiAgICAvLyBJbiB0aGUgcGFzdCwgUmVhY3QgaGFzIGFsd2F5cyBidWJibGVkIHRoZW0sIGJ1dCB0aGlzIGNhbiBiZSBzdXJwcmlzaW5nLlxuICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHRyeSBhbGlnbmluZyBjbG9zZXIgdG8gdGhlIGJyb3dzZXIgYmVoYXZpb3IgYnkgbm90IGJ1YmJsaW5nXG4gICAgLy8gdGhlbSBpbiBSZWFjdCBlaXRoZXIuIFdlJ2xsIHN0YXJ0IGJ5IG5vdCBidWJibGluZyBvblNjcm9sbCwgYW5kIHRoZW4gZXhwYW5kLlxuICAgIHZhciBhY2N1bXVsYXRlVGFyZ2V0T25seSA9ICFpbkNhcHR1cmVQaGFzZSAmJiAvLyBUT0RPOiBpZGVhbGx5LCB3ZSdkIGV2ZW50dWFsbHkgYWRkIGFsbCBldmVudHMgZnJvbVxuICAgIC8vIG5vbkRlbGVnYXRlZEV2ZW50cyBsaXN0IGluIERPTVBsdWdpbkV2ZW50U3lzdGVtLlxuICAgIC8vIFRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIHNwZWNpYWwgbGlzdC5cbiAgICAvLyBUaGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIHRoYXQgY2FuIHdhaXQgdW50aWwgUmVhY3QgMTguXG4gICAgZG9tRXZlbnROYW1lID09PSAnc2Nyb2xsJztcblxuICAgIHZhciBfbGlzdGVuZXJzID0gYWNjdW11bGF0ZVNpbmdsZVBoYXNlTGlzdGVuZXJzKHRhcmdldEluc3QsIHJlYWN0TmFtZSwgbmF0aXZlRXZlbnQudHlwZSwgaW5DYXB0dXJlUGhhc2UsIGFjY3VtdWxhdGVUYXJnZXRPbmx5KTtcblxuICAgIGlmIChfbGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgY3JlYXRlIGV2ZW50IGxhemlseS5cbiAgICAgIHZhciBfZXZlbnQgPSBuZXcgU3ludGhldGljRXZlbnRDdG9yKHJlYWN0TmFtZSwgcmVhY3RFdmVudFR5cGUsIG51bGwsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICAgIGV2ZW50OiBfZXZlbnQsXG4gICAgICAgIGxpc3RlbmVyczogX2xpc3RlbmVyc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE86IHJlbW92ZSB0b3AtbGV2ZWwgc2lkZSBlZmZlY3QuXG5yZWdpc3RlclNpbXBsZUV2ZW50cygpO1xucmVnaXN0ZXJFdmVudHMkMigpO1xucmVnaXN0ZXJFdmVudHMkMSgpO1xucmVnaXN0ZXJFdmVudHMkMygpO1xucmVnaXN0ZXJFdmVudHMoKTtcblxuZnVuY3Rpb24gZXh0cmFjdEV2ZW50cyQ1KGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCB0YXJnZXRDb250YWluZXIpIHtcbiAgLy8gVE9ETzogd2Ugc2hvdWxkIHJlbW92ZSB0aGUgY29uY2VwdCBvZiBhIFwiU2ltcGxlRXZlbnRQbHVnaW5cIi5cbiAgLy8gVGhpcyBpcyB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBvZiB0aGUgZXZlbnQgc3lzdGVtLiBBbGxcbiAgLy8gdGhlIG90aGVyIHBsdWdpbnMgYXJlIGVzc2VudGlhbGx5IHBvbHlmaWxscy4gU28gdGhlIHBsdWdpblxuICAvLyBzaG91bGQgcHJvYmFibHkgYmUgaW5saW5lZCBzb21ld2hlcmUgYW5kIGhhdmUgaXRzIGxvZ2ljXG4gIC8vIGJlIGNvcmUgdGhlIHRvIGV2ZW50IHN5c3RlbS4gVGhpcyB3b3VsZCBwb3RlbnRpYWxseSBhbGxvd1xuICAvLyB1cyB0byBzaGlwIGJ1aWxkcyBvZiBSZWFjdCB3aXRob3V0IHRoZSBwb2x5ZmlsbGVkIHBsdWdpbnMgYmVsb3cuXG4gIGV4dHJhY3RFdmVudHMkNChkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHZhciBzaG91bGRQcm9jZXNzUG9seWZpbGxQbHVnaW5zID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBTSE9VTERfTk9UX1BST0NFU1NfUE9MWUZJTExfRVZFTlRfUExVR0lOUykgPT09IDA7IC8vIFdlIGRvbid0IHByb2Nlc3MgdGhlc2UgZXZlbnRzIHVubGVzcyB3ZSBhcmUgaW4gdGhlXG4gIC8vIGV2ZW50J3MgbmF0aXZlIFwiYnViYmxlXCIgcGhhc2UsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmVcbiAgLy8gbm90IGluIHRoZSBjYXB0dXJlIHBoYXNlLiBUaGF0J3MgYmVjYXVzZSB3ZSBlbXVsYXRlXG4gIC8vIHRoZSBjYXB0dXJlIHBoYXNlIGhlcmUgc3RpbGwuIFRoaXMgaXMgYSB0cmFkZS1vZmYsXG4gIC8vIGJlY2F1c2UgaW4gYW4gaWRlYWwgd29ybGQgd2Ugd291bGQgbm90IGVtdWxhdGUgYW5kIHVzZVxuICAvLyB0aGUgcGhhc2VzIHByb3Blcmx5LCBsaWtlIHdlIGRvIHdpdGggdGhlIFNpbXBsZUV2ZW50XG4gIC8vIHBsdWdpbi4gSG93ZXZlciwgdGhlIHBsdWdpbnMgYmVsb3cgZWl0aGVyIGV4cGVjdFxuICAvLyBlbXVsYXRpb24gKEVudGVyTGVhdmUpIG9yIHVzZSBzdGF0ZSBsb2NhbGl6ZWQgdG8gdGhhdFxuICAvLyBwbHVnaW4gKEJlZm9yZUlucHV0LCBDaGFuZ2UsIFNlbGVjdCkuIFRoZSBzdGF0ZSBpblxuICAvLyB0aGVzZSBtb2R1bGVzIGNvbXBsaWNhdGVzIHRoaW5ncywgYXMgeW91J2xsIGVzc2VudGlhbGx5XG4gIC8vIGdldCB0aGUgY2FzZSB3aGVyZSB0aGUgY2FwdHVyZSBwaGFzZSBldmVudCBtaWdodCBjaGFuZ2VcbiAgLy8gc3RhdGUsIG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgYnViYmxlIGV2ZW50IHRvIGNvbWUgaW5cbiAgLy8gbGF0ZXIgYW5kIG5vdCB0cmlnZ2VyIGFueXRoaW5nIGFzIHRoZSBzdGF0ZSBub3dcbiAgLy8gaW52YWxpZGF0ZXMgdGhlIGhldXJpc3RpY3Mgb2YgdGhlIGV2ZW50IHBsdWdpbi4gV2VcbiAgLy8gY291bGQgYWx0ZXIgYWxsIHRoZXNlIHBsdWdpbnMgdG8gd29yayBpbiBzdWNoIHdheXMsIGJ1dFxuICAvLyB0aGF0IG1pZ2h0IGNhdXNlIG90aGVyIHVua25vd24gc2lkZS1lZmZlY3RzIHRoYXQgd2VcbiAgLy8gY2FuJ3QgZm9yZXNlZSByaWdodCBub3cuXG5cbiAgaWYgKHNob3VsZFByb2Nlc3NQb2x5ZmlsbFBsdWdpbnMpIHtcbiAgICBleHRyYWN0RXZlbnRzJDIoZGlzcGF0Y2hRdWV1ZSwgZG9tRXZlbnROYW1lLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIGV4dHJhY3RFdmVudHMkMShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZXh0cmFjdEV2ZW50cyQzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBleHRyYWN0RXZlbnRzKGRpc3BhdGNoUXVldWUsIGRvbUV2ZW50TmFtZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgfVxufSAvLyBMaXN0IG9mIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgaW5kaXZpZHVhbGx5IGF0dGFjaGVkIHRvIG1lZGlhIGVsZW1lbnRzLlxuXG5cbnZhciBtZWRpYUV2ZW50VHlwZXMgPSBbJ2Fib3J0JywgJ2NhbnBsYXknLCAnY2FucGxheXRocm91Z2gnLCAnZHVyYXRpb25jaGFuZ2UnLCAnZW1wdGllZCcsICdlbmNyeXB0ZWQnLCAnZW5kZWQnLCAnZXJyb3InLCAnbG9hZGVkZGF0YScsICdsb2FkZWRtZXRhZGF0YScsICdsb2Fkc3RhcnQnLCAncGF1c2UnLCAncGxheScsICdwbGF5aW5nJywgJ3Byb2dyZXNzJywgJ3JhdGVjaGFuZ2UnLCAncmVzaXplJywgJ3NlZWtlZCcsICdzZWVraW5nJywgJ3N0YWxsZWQnLCAnc3VzcGVuZCcsICd0aW1ldXBkYXRlJywgJ3ZvbHVtZWNoYW5nZScsICd3YWl0aW5nJ107IC8vIFdlIHNob3VsZCBub3QgZGVsZWdhdGUgdGhlc2UgZXZlbnRzIHRvIHRoZSBjb250YWluZXIsIGJ1dCByYXRoZXJcbi8vIHNldCB0aGVtIG9uIHRoZSBhY3R1YWwgdGFyZ2V0IGVsZW1lbnQgaXRzZWxmLiBUaGlzIGlzIHByaW1hcmlseVxuLy8gYmVjYXVzZSB0aGVzZSBldmVudHMgZG8gbm90IGNvbnNpc3RlbnRseSBidWJibGUgaW4gdGhlIERPTS5cblxudmFyIG5vbkRlbGVnYXRlZEV2ZW50cyA9IG5ldyBTZXQoWydjYW5jZWwnLCAnY2xvc2UnLCAnaW52YWxpZCcsICdsb2FkJywgJ3Njcm9sbCcsICd0b2dnbGUnXS5jb25jYXQobWVkaWFFdmVudFR5cGVzKSk7XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpIHtcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcbiAgZXZlbnQuY3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7XG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcih0eXBlLCBsaXN0ZW5lciwgdW5kZWZpbmVkLCBldmVudCk7XG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzRGlzcGF0Y2hRdWV1ZUl0ZW1zSW5PcmRlcihldmVudCwgZGlzcGF0Y2hMaXN0ZW5lcnMsIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciBwcmV2aW91c0luc3RhbmNlO1xuXG4gIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgIGZvciAodmFyIGkgPSBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIF9kaXNwYXRjaExpc3RlbmVycyRpID0gZGlzcGF0Y2hMaXN0ZW5lcnNbaV0sXG4gICAgICAgICAgaW5zdGFuY2UgPSBfZGlzcGF0Y2hMaXN0ZW5lcnMkaS5pbnN0YW5jZSxcbiAgICAgICAgICBjdXJyZW50VGFyZ2V0ID0gX2Rpc3BhdGNoTGlzdGVuZXJzJGkuY3VycmVudFRhcmdldCxcbiAgICAgICAgICBsaXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRpLmxpc3RlbmVyO1xuXG4gICAgICBpZiAoaW5zdGFuY2UgIT09IHByZXZpb3VzSW5zdGFuY2UgJiYgZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgbGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpO1xuICAgICAgcHJldmlvdXNJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2Rpc3BhdGNoTGlzdGVuZXJzJF9pID0gZGlzcGF0Y2hMaXN0ZW5lcnNbX2ldLFxuICAgICAgICAgIF9pbnN0YW5jZSA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5pbnN0YW5jZSxcbiAgICAgICAgICBfY3VycmVudFRhcmdldCA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5jdXJyZW50VGFyZ2V0LFxuICAgICAgICAgIF9saXN0ZW5lciA9IF9kaXNwYXRjaExpc3RlbmVycyRfaS5saXN0ZW5lcjtcblxuICAgICAgaWYgKF9pbnN0YW5jZSAhPT0gcHJldmlvdXNJbnN0YW5jZSAmJiBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBfbGlzdGVuZXIsIF9jdXJyZW50VGFyZ2V0KTtcbiAgICAgIHByZXZpb3VzSW5zdGFuY2UgPSBfaW5zdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGluQ2FwdHVyZVBoYXNlID0gKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19DQVBUVVJFX1BIQVNFKSAhPT0gMDtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpc3BhdGNoUXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgX2Rpc3BhdGNoUXVldWUkaSA9IGRpc3BhdGNoUXVldWVbaV0sXG4gICAgICAgIGV2ZW50ID0gX2Rpc3BhdGNoUXVldWUkaS5ldmVudCxcbiAgICAgICAgbGlzdGVuZXJzID0gX2Rpc3BhdGNoUXVldWUkaS5saXN0ZW5lcnM7XG4gICAgcHJvY2Vzc0Rpc3BhdGNoUXVldWVJdGVtc0luT3JkZXIoZXZlbnQsIGxpc3RlbmVycywgaW5DYXB0dXJlUGhhc2UpOyAvLyAgZXZlbnQgc3lzdGVtIGRvZXNuJ3QgdXNlIHBvb2xpbmcuXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXG5cblxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudHNGb3JQbHVnaW5zKGRvbUV2ZW50TmFtZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QsIHRhcmdldENvbnRhaW5lcikge1xuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XG4gIHZhciBkaXNwYXRjaFF1ZXVlID0gW107XG4gIGV4dHJhY3RFdmVudHMkNShkaXNwYXRjaFF1ZXVlLCBkb21FdmVudE5hbWUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHByb2Nlc3NEaXNwYXRjaFF1ZXVlKGRpc3BhdGNoUXVldWUsIGV2ZW50U3lzdGVtRmxhZ3MpO1xufVxuXG5mdW5jdGlvbiBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KGRvbUV2ZW50TmFtZSwgdGFyZ2V0RWxlbWVudCkge1xuICB7XG4gICAgaWYgKCFub25EZWxlZ2F0ZWRFdmVudHMuaGFzKGRvbUV2ZW50TmFtZSkpIHtcbiAgICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBhIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoKSBjYWxsIGZvciBcIiVzXCIuICcgKyAnVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZG9tRXZlbnROYW1lKTtcbiAgICB9XG4gIH1cblxuICB2YXIgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lciA9IGZhbHNlO1xuICB2YXIgbGlzdGVuZXJTZXQgPSBnZXRFdmVudExpc3RlbmVyU2V0KHRhcmdldEVsZW1lbnQpO1xuICB2YXIgbGlzdGVuZXJTZXRLZXkgPSBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xuXG4gIGlmICghbGlzdGVuZXJTZXQuaGFzKGxpc3RlbmVyU2V0S2V5KSkge1xuICAgIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldEVsZW1lbnQsIGRvbUV2ZW50TmFtZSwgSVNfTk9OX0RFTEVHQVRFRCwgaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcik7XG4gICAgbGlzdGVuZXJTZXQuYWRkKGxpc3RlbmVyU2V0S2V5KTtcbiAgfVxufVxuZnVuY3Rpb24gbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIsIHRhcmdldCkge1xuICB7XG4gICAgaWYgKG5vbkRlbGVnYXRlZEV2ZW50cy5oYXMoZG9tRXZlbnROYW1lKSAmJiAhaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IGEgbGlzdGVuVG9OYXRpdmVFdmVudCgpIGNhbGwgZm9yIFwiJXNcIiBpbiB0aGUgYnViYmxlIHBoYXNlLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGRvbUV2ZW50TmFtZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGV2ZW50U3lzdGVtRmxhZ3MgPSAwO1xuXG4gIGlmIChpc0NhcHR1cmVQaGFzZUxpc3RlbmVyKSB7XG4gICAgZXZlbnRTeXN0ZW1GbGFncyB8PSBJU19DQVBUVVJFX1BIQVNFO1xuICB9XG5cbiAgYWRkVHJhcHBlZEV2ZW50TGlzdGVuZXIodGFyZ2V0LCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIGlzQ2FwdHVyZVBoYXNlTGlzdGVuZXIpO1xufSAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSBjcmVhdGVFdmVudEhhbmRsZSB3aGVuIHRoZVxudmFyIGxpc3RlbmluZ01hcmtlciA9ICdfcmVhY3RMaXN0ZW5pbmcnICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7XG5mdW5jdGlvbiBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCkge1xuICBpZiAoIXJvb3RDb250YWluZXJFbGVtZW50W2xpc3RlbmluZ01hcmtlcl0pIHtcbiAgICByb290Q29udGFpbmVyRWxlbWVudFtsaXN0ZW5pbmdNYXJrZXJdID0gdHJ1ZTtcbiAgICBhbGxOYXRpdmVFdmVudHMuZm9yRWFjaChmdW5jdGlvbiAoZG9tRXZlbnROYW1lKSB7XG4gICAgICAvLyBXZSBoYW5kbGUgc2VsZWN0aW9uY2hhbmdlIHNlcGFyYXRlbHkgYmVjYXVzZSBpdFxuICAgICAgLy8gZG9lc24ndCBidWJibGUgYW5kIG5lZWRzIHRvIGJlIG9uIHRoZSBkb2N1bWVudC5cbiAgICAgIGlmIChkb21FdmVudE5hbWUgIT09ICdzZWxlY3Rpb25jaGFuZ2UnKSB7XG4gICAgICAgIGlmICghbm9uRGVsZWdhdGVkRXZlbnRzLmhhcyhkb21FdmVudE5hbWUpKSB7XG4gICAgICAgICAgbGlzdGVuVG9OYXRpdmVFdmVudChkb21FdmVudE5hbWUsIGZhbHNlLCByb290Q29udGFpbmVyRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KGRvbUV2ZW50TmFtZSwgdHJ1ZSwgcm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG5cbiAgICBpZiAob3duZXJEb2N1bWVudCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhlIHNlbGVjdGlvbmNoYW5nZSBldmVudCBhbHNvIG5lZWRzIGRlZHVwbGljYXRpb25cbiAgICAgIC8vIGJ1dCBpdCBpcyBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQuXG4gICAgICBpZiAoIW93bmVyRG9jdW1lbnRbbGlzdGVuaW5nTWFya2VyXSkge1xuICAgICAgICBvd25lckRvY3VtZW50W2xpc3RlbmluZ01hcmtlcl0gPSB0cnVlO1xuICAgICAgICBsaXN0ZW5Ub05hdGl2ZUV2ZW50KCdzZWxlY3Rpb25jaGFuZ2UnLCBmYWxzZSwgb3duZXJEb2N1bWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZFRyYXBwZWRFdmVudExpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBpc0NhcHR1cmVQaGFzZUxpc3RlbmVyLCBpc0RlZmVycmVkTGlzdGVuZXJGb3JMZWdhY3lGQlN1cHBvcnQpIHtcbiAgdmFyIGxpc3RlbmVyID0gY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXJXaXRoUHJpb3JpdHkodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MpOyAvLyBJZiBwYXNzaXZlIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIHRoZSBldmVudCB3aWxsIGJlXG4gIC8vIGFjdGl2ZSBhbmQgbm90IHBhc3NpdmUuXG5cbiAgdmFyIGlzUGFzc2l2ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuXG4gIGlmIChwYXNzaXZlQnJvd3NlckV2ZW50c1N1cHBvcnRlZCkge1xuICAgIC8vIEJyb3dzZXJzIGludHJvZHVjZWQgYW4gaW50ZXJ2ZW50aW9uLCBtYWtpbmcgdGhlc2UgZXZlbnRzXG4gICAgLy8gcGFzc2l2ZSBieSBkZWZhdWx0IG9uIGRvY3VtZW50LiBSZWFjdCBkb2Vzbid0IGJpbmQgdGhlbVxuICAgIC8vIHRvIGRvY3VtZW50IGFueW1vcmUsIGJ1dCBjaGFuZ2luZyB0aGlzIG5vdyB3b3VsZCB1bmRvXG4gICAgLy8gdGhlIHBlcmZvcm1hbmNlIHdpbnMgZnJvbSB0aGUgY2hhbmdlLiBTbyB3ZSBlbXVsYXRlXG4gICAgLy8gdGhlIGV4aXN0aW5nIGJlaGF2aW9yIG1hbnVhbGx5IG9uIHRoZSByb290cyBub3cuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTY1MVxuICAgIGlmIChkb21FdmVudE5hbWUgPT09ICd0b3VjaHN0YXJ0JyB8fCBkb21FdmVudE5hbWUgPT09ICd0b3VjaG1vdmUnIHx8IGRvbUV2ZW50TmFtZSA9PT0gJ3doZWVsJykge1xuICAgICAgaXNQYXNzaXZlTGlzdGVuZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRhcmdldENvbnRhaW5lciA9ICB0YXJnZXRDb250YWluZXI7XG4gIHZhciB1bnN1YnNjcmliZUxpc3RlbmVyOyAvLyBXaGVuIGxlZ2FjeUZCU3VwcG9ydCBpcyBlbmFibGVkLCBpdCdzIGZvciB3aGVuIHdlXG5cblxuICBpZiAoaXNDYXB0dXJlUGhhc2VMaXN0ZW5lcikge1xuICAgIGlmIChpc1Bhc3NpdmVMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB1bnN1YnNjcmliZUxpc3RlbmVyID0gYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudENhcHR1cmVMaXN0ZW5lcih0YXJnZXRDb250YWluZXIsIGRvbUV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNQYXNzaXZlTGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5zdWJzY3JpYmVMaXN0ZW5lciA9IGFkZEV2ZW50QnViYmxlTGlzdGVuZXJXaXRoUGFzc2l2ZUZsYWcodGFyZ2V0Q29udGFpbmVyLCBkb21FdmVudE5hbWUsIGxpc3RlbmVyLCBpc1Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuc3Vic2NyaWJlTGlzdGVuZXIgPSBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKHRhcmdldENvbnRhaW5lciwgZG9tRXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzTWF0Y2hpbmdSb290Q29udGFpbmVyKGdyYW5kQ29udGFpbmVyLCB0YXJnZXRDb250YWluZXIpIHtcbiAgcmV0dXJuIGdyYW5kQ29udGFpbmVyID09PSB0YXJnZXRDb250YWluZXIgfHwgZ3JhbmRDb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBncmFuZENvbnRhaW5lci5wYXJlbnROb2RlID09PSB0YXJnZXRDb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShkb21FdmVudE5hbWUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCB0YXJnZXRDb250YWluZXIpIHtcbiAgdmFyIGFuY2VzdG9ySW5zdCA9IHRhcmdldEluc3Q7XG5cbiAgaWYgKChldmVudFN5c3RlbUZsYWdzICYgSVNfRVZFTlRfSEFORExFX05PTl9NQU5BR0VEX05PREUpID09PSAwICYmIChldmVudFN5c3RlbUZsYWdzICYgSVNfTk9OX0RFTEVHQVRFRCkgPT09IDApIHtcbiAgICB2YXIgdGFyZ2V0Q29udGFpbmVyTm9kZSA9IHRhcmdldENvbnRhaW5lcjsgLy8gSWYgd2UgYXJlIHVzaW5nIHRoZSBsZWdhY3kgRkIgc3VwcG9ydCBmbGFnLCB3ZVxuXG4gICAgaWYgKHRhcmdldEluc3QgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoZSBiZWxvdyBsb2dpYyBhdHRlbXB0cyB0byB3b3JrIG91dCBpZiB3ZSBuZWVkIHRvIGNoYW5nZVxuICAgICAgLy8gdGhlIHRhcmdldCBmaWJlciB0byBhIGRpZmZlcmVudCBhbmNlc3Rvci4gV2UgaGFkIHNpbWlsYXIgbG9naWNcbiAgICAgIC8vIGluIHRoZSBsZWdhY3kgZXZlbnQgc3lzdGVtLCBleGNlcHQgdGhlIGJpZyBkaWZmZXJlbmNlIGJldHdlZW5cbiAgICAgIC8vIHN5c3RlbXMgaXMgdGhhdCB0aGUgbW9kZXJuIGV2ZW50IHN5c3RlbSBub3cgaGFzIGFuIGV2ZW50IGxpc3RlbmVyXG4gICAgICAvLyBhdHRhY2hlZCB0byBlYWNoIFJlYWN0IFJvb3QgYW5kIFJlYWN0IFBvcnRhbCBSb290LiBUb2dldGhlcixcbiAgICAgIC8vIHRoZSBET00gbm9kZXMgcmVwcmVzZW50aW5nIHRoZXNlIHJvb3RzIGFyZSB0aGUgXCJyb290Q29udGFpbmVyXCIuXG4gICAgICAvLyBUbyBmaWd1cmUgb3V0IHdoaWNoIGFuY2VzdG9yIGluc3RhbmNlIHdlIHNob3VsZCB1c2UsIHdlIHRyYXZlcnNlXG4gICAgICAvLyB1cCB0aGUgZmliZXIgdHJlZSBmcm9tIHRoZSB0YXJnZXQgaW5zdGFuY2UgYW5kIGF0dGVtcHQgdG8gZmluZFxuICAgICAgLy8gcm9vdCBib3VuZGFyaWVzIHRoYXQgbWF0Y2ggdGhhdCBvZiBvdXIgY3VycmVudCBcInJvb3RDb250YWluZXJcIi5cbiAgICAgIC8vIElmIHdlIGZpbmQgdGhhdCBcInJvb3RDb250YWluZXJcIiwgd2UgZmluZCB0aGUgcGFyZW50IGZpYmVyXG4gICAgICAvLyBzdWItdHJlZSBmb3IgdGhhdCByb290IGFuZCBtYWtlIHRoYXQgb3VyIGFuY2VzdG9yIGluc3RhbmNlLlxuICAgICAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0O1xuXG4gICAgICBtYWluTG9vcDogd2hpbGUgKHRydWUpIHtcbiAgICAgICAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbm9kZVRhZyA9IG5vZGUudGFnO1xuXG4gICAgICAgIGlmIChub2RlVGFnID09PSBIb3N0Um9vdCB8fCBub2RlVGFnID09PSBIb3N0UG9ydGFsKSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBpZiAoaXNNYXRjaGluZ1Jvb3RDb250YWluZXIoY29udGFpbmVyLCB0YXJnZXRDb250YWluZXJOb2RlKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5vZGVUYWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgICAgIC8vIFRoZSB0YXJnZXQgaXMgYSBwb3J0YWwsIGJ1dCBpdCdzIG5vdCB0aGUgcm9vdENvbnRhaW5lciB3ZSdyZSBsb29raW5nIGZvci5cbiAgICAgICAgICAgIC8vIE5vcm1hbGx5IHBvcnRhbHMgaGFuZGxlIHRoZWlyIG93biBldmVudHMgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgcm9vdC5cbiAgICAgICAgICAgIC8vIFNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIHN0b3Agbm93LiBIb3dldmVyLCB3ZSBkb24ndCBrbm93IGlmIHRoaXMgcG9ydGFsXG4gICAgICAgICAgICAvLyB3YXMgcGFydCBvZiAqb3VyKiByb290LlxuICAgICAgICAgICAgdmFyIGdyYW5kTm9kZSA9IG5vZGUucmV0dXJuO1xuXG4gICAgICAgICAgICB3aGlsZSAoZ3JhbmROb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBncmFuZFRhZyA9IGdyYW5kTm9kZS50YWc7XG5cbiAgICAgICAgICAgICAgaWYgKGdyYW5kVGFnID09PSBIb3N0Um9vdCB8fCBncmFuZFRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICAgICAgICAgIHZhciBncmFuZENvbnRhaW5lciA9IGdyYW5kTm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcblxuICAgICAgICAgICAgICAgIGlmIChpc01hdGNoaW5nUm9vdENvbnRhaW5lcihncmFuZENvbnRhaW5lciwgdGFyZ2V0Q29udGFpbmVyTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3RDb250YWluZXIgd2UncmUgbG9va2luZyBmb3IgYW5kIHdlIGZvdW5kIGl0IGFzXG4gICAgICAgICAgICAgICAgICAvLyBhIHBhcmVudCBvZiB0aGUgUG9ydGFsLiBUaGF0IG1lYW5zIHdlIGNhbiBpZ25vcmUgaXQgYmVjYXVzZSB0aGVcbiAgICAgICAgICAgICAgICAgIC8vIFBvcnRhbCB3aWxsIGJ1YmJsZSB0aHJvdWdoIHRvIHVzLlxuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGdyYW5kTm9kZSA9IGdyYW5kTm9kZS5yZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBOb3cgd2UgbmVlZCB0byBmaW5kIGl0J3MgY29ycmVzcG9uZGluZyBob3N0IGZpYmVyIGluIHRoZSBvdGhlclxuICAgICAgICAgIC8vIHRyZWUuIFRvIGRvIHRoaXMgd2UgY2FuIHVzZSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSwgYnV0IHdlXG4gICAgICAgICAgLy8gbmVlZCB0byB2YWxpZGF0ZSB0aGF0IHRoZSBmaWJlciBpcyBhIGhvc3QgaW5zdGFuY2UsIG90aGVyd2lzZVxuICAgICAgICAgIC8vIHdlIG5lZWQgdG8gdHJhdmVyc2UgdXAgdGhyb3VnaCB0aGUgRE9NIHRpbGwgd2UgZmluZCB0aGUgY29ycmVjdFxuICAgICAgICAgIC8vIG5vZGUgdGhhdCBpcyBmcm9tIHRoZSBvdGhlciB0cmVlLlxuXG5cbiAgICAgICAgICB3aGlsZSAoY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKGNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHBhcmVudFRhZyA9IHBhcmVudE5vZGUudGFnO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50VGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHBhcmVudFRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgICAgICAgICAgbm9kZSA9IGFuY2VzdG9ySW5zdCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG1haW5Mb29wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250YWluZXIgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYmF0Y2hlZFVwZGF0ZXMoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkaXNwYXRjaEV2ZW50c0ZvclBsdWdpbnMoZG9tRXZlbnROYW1lLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgYW5jZXN0b3JJbnN0KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSB7XG4gIHJldHVybiB7XG4gICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgIGxpc3RlbmVyOiBsaXN0ZW5lcixcbiAgICBjdXJyZW50VGFyZ2V0OiBjdXJyZW50VGFyZ2V0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVTaW5nbGVQaGFzZUxpc3RlbmVycyh0YXJnZXRGaWJlciwgcmVhY3ROYW1lLCBuYXRpdmVFdmVudFR5cGUsIGluQ2FwdHVyZVBoYXNlLCBhY2N1bXVsYXRlVGFyZ2V0T25seSwgbmF0aXZlRXZlbnQpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICE9PSBudWxsID8gcmVhY3ROYW1lICsgJ0NhcHR1cmUnIDogbnVsbDtcbiAgdmFyIHJlYWN0RXZlbnROYW1lID0gaW5DYXB0dXJlUGhhc2UgPyBjYXB0dXJlTmFtZSA6IHJlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXRGaWJlcjtcbiAgdmFyIGxhc3RIb3N0Q29tcG9uZW50ID0gbnVsbDsgLy8gQWNjdW11bGF0ZSBhbGwgaW5zdGFuY2VzIGFuZCBsaXN0ZW5lcnMgdmlhIHRoZSB0YXJnZXQgLT4gcm9vdCBwYXRoLlxuXG4gIHdoaWxlIChpbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgIHZhciBfaW5zdGFuY2UyID0gaW5zdGFuY2UsXG4gICAgICAgIHN0YXRlTm9kZSA9IF9pbnN0YW5jZTIuc3RhdGVOb2RlLFxuICAgICAgICB0YWcgPSBfaW5zdGFuY2UyLnRhZzsgLy8gSGFuZGxlIGxpc3RlbmVycyB0aGF0IGFyZSBvbiBIb3N0Q29tcG9uZW50cyAoaS5lLiA8ZGl2PilcblxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgJiYgc3RhdGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBsYXN0SG9zdENvbXBvbmVudCA9IHN0YXRlTm9kZTsgLy8gY3JlYXRlRXZlbnRIYW5kbGUgbGlzdGVuZXJzXG5cblxuICAgICAgaWYgKHJlYWN0RXZlbnROYW1lICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBsaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCByZWFjdEV2ZW50TmFtZSk7XG5cbiAgICAgICAgaWYgKGxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBsaXN0ZW5lciwgbGFzdEhvc3RDb21wb25lbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gSWYgd2UgYXJlIG9ubHkgYWNjdW11bGF0aW5nIGV2ZW50cyBmb3IgdGhlIHRhcmdldCwgdGhlbiB3ZSBkb24ndFxuICAgIC8vIGNvbnRpbnVlIHRvIHByb3BhZ2F0ZSB0aHJvdWdoIHRoZSBSZWFjdCBmaWJlciB0cmVlIHRvIGZpbmQgb3RoZXJcbiAgICAvLyBsaXN0ZW5lcnMuXG5cblxuICAgIGlmIChhY2N1bXVsYXRlVGFyZ2V0T25seSkge1xuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiB3ZSBhcmUgcHJvY2Vzc2luZyB0aGUgb25CZWZvcmVCbHVyIGV2ZW50LCB0aGVuIHdlIG5lZWQgdG8gdGFrZVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufSAvLyBXZSBzaG91bGQgb25seSB1c2UgdGhpcyBmdW5jdGlvbiBmb3I6XG4vLyAtIEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cbi8vIC0gQ2hhbmdlRXZlbnRQbHVnaW5cbi8vIC0gU2VsZWN0RXZlbnRQbHVnaW5cbi8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBvbmx5IHByb2Nlc3MgdGhlc2UgcGx1Z2luc1xuLy8gaW4gdGhlIGJ1YmJsZSBwaGFzZSwgc28gd2UgbmVlZCB0byBhY2N1bXVsYXRlIHR3b1xuLy8gcGhhc2UgZXZlbnQgbGlzdGVuZXJzICh2aWEgZW11bGF0aW9uKS5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZVR3b1BoYXNlTGlzdGVuZXJzKHRhcmdldEZpYmVyLCByZWFjdE5hbWUpIHtcbiAgdmFyIGNhcHR1cmVOYW1lID0gcmVhY3ROYW1lICsgJ0NhcHR1cmUnO1xuICB2YXIgbGlzdGVuZXJzID0gW107XG4gIHZhciBpbnN0YW5jZSA9IHRhcmdldEZpYmVyOyAvLyBBY2N1bXVsYXRlIGFsbCBpbnN0YW5jZXMgYW5kIGxpc3RlbmVycyB2aWEgdGhlIHRhcmdldCAtPiByb290IHBhdGguXG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgdmFyIF9pbnN0YW5jZTMgPSBpbnN0YW5jZSxcbiAgICAgICAgc3RhdGVOb2RlID0gX2luc3RhbmNlMy5zdGF0ZU5vZGUsXG4gICAgICAgIHRhZyA9IF9pbnN0YW5jZTMudGFnOyAvLyBIYW5kbGUgbGlzdGVuZXJzIHRoYXQgYXJlIG9uIEhvc3RDb21wb25lbnRzIChpLmUuIDxkaXY+KVxuXG4gICAgaWYgKHRhZyA9PT0gSG9zdENvbXBvbmVudCAmJiBzdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gc3RhdGVOb2RlO1xuICAgICAgdmFyIGNhcHR1cmVMaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTmFtZSk7XG5cbiAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICBsaXN0ZW5lcnMudW5zaGlmdChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBjYXB0dXJlTGlzdGVuZXIsIGN1cnJlbnRUYXJnZXQpKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGJ1YmJsZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlYWN0TmFtZSk7XG5cbiAgICAgIGlmIChidWJibGVMaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICAgIGxpc3RlbmVycy5wdXNoKGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGJ1YmJsZUxpc3RlbmVyLCBjdXJyZW50VGFyZ2V0KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICByZXR1cm4gbGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xuICBpZiAoaW5zdCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZG8ge1xuICAgIGluc3QgPSBpbnN0LnJldHVybjsgLy8gVE9ETzogSWYgdGhpcyBpcyBhIEhvc3RSb290IHdlIG1pZ2h0IHdhbnQgdG8gYmFpbCBvdXQuXG4gICAgLy8gVGhhdCBpcyBkZXBlbmRpbmcgb24gaWYgd2Ugd2FudCBuZXN0ZWQgc3VidHJlZXMgKGxheWVycykgdG8gYnViYmxlXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXG4gICAgLy8gaG9zdCBub2RlIGJ1dCB0aGF0IHdvdWxkbid0IHdvcmsgZm9yIFJlYWN0IE5hdGl2ZSBhbmQgZG9lc24ndCBsZXQgdXNcbiAgICAvLyBkbyB0aGUgcG9ydGFsIGZlYXR1cmUuXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQpO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cbiAqIGRpZmZlcmVudCB0cmVlcy5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGluc3RBLCBpbnN0Qikge1xuICB2YXIgbm9kZUEgPSBpbnN0QTtcbiAgdmFyIG5vZGVCID0gaW5zdEI7XG4gIHZhciBkZXB0aEEgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBBID0gbm9kZUE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcbiAgICBkZXB0aEErKztcbiAgfVxuXG4gIHZhciBkZXB0aEIgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBCID0gbm9kZUI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcbiAgICBkZXB0aEIrKztcbiAgfSAvLyBJZiBBIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhBIC0gZGVwdGhCID4gMCkge1xuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBkZXB0aEEtLTtcbiAgfSAvLyBJZiBCIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhCIC0gZGVwdGhBID4gMCkge1xuICAgIG5vZGVCID0gZ2V0UGFyZW50KG5vZGVCKTtcbiAgICBkZXB0aEItLTtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIHdlIGZpbmQgYSBtYXRjaC5cblxuXG4gIHZhciBkZXB0aCA9IGRlcHRoQTtcblxuICB3aGlsZSAoZGVwdGgtLSkge1xuICAgIGlmIChub2RlQSA9PT0gbm9kZUIgfHwgbm9kZUIgIT09IG51bGwgJiYgbm9kZUEgPT09IG5vZGVCLmFsdGVybmF0ZSkge1xuICAgICAgcmV0dXJuIG5vZGVBO1xuICAgIH1cblxuICAgIG5vZGVBID0gZ2V0UGFyZW50KG5vZGVBKTtcbiAgICBub2RlQiA9IGdldFBhcmVudChub2RlQik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVMaXN0ZW5lcnNGb3JFdmVudChkaXNwYXRjaFF1ZXVlLCBldmVudCwgdGFyZ2V0LCBjb21tb24sIGluQ2FwdHVyZVBoYXNlKSB7XG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuX3JlYWN0TmFtZTtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgaW5zdGFuY2UgPSB0YXJnZXQ7XG5cbiAgd2hpbGUgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgaWYgKGluc3RhbmNlID09PSBjb21tb24pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBfaW5zdGFuY2U0ID0gaW5zdGFuY2UsXG4gICAgICAgIGFsdGVybmF0ZSA9IF9pbnN0YW5jZTQuYWx0ZXJuYXRlLFxuICAgICAgICBzdGF0ZU5vZGUgPSBfaW5zdGFuY2U0LnN0YXRlTm9kZSxcbiAgICAgICAgdGFnID0gX2luc3RhbmNlNC50YWc7XG5cbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSBIb3N0Q29tcG9uZW50ICYmIHN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIGN1cnJlbnRUYXJnZXQgPSBzdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgY2FwdHVyZUxpc3RlbmVyID0gZ2V0TGlzdGVuZXIoaW5zdGFuY2UsIHJlZ2lzdHJhdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmIChjYXB0dXJlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICAgIGxpc3RlbmVycy51bnNoaWZ0KGNyZWF0ZURpc3BhdGNoTGlzdGVuZXIoaW5zdGFuY2UsIGNhcHR1cmVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFpbkNhcHR1cmVQaGFzZSkge1xuICAgICAgICB2YXIgYnViYmxlTGlzdGVuZXIgPSBnZXRMaXN0ZW5lcihpbnN0YW5jZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG5cbiAgICAgICAgaWYgKGJ1YmJsZUxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgICAgICBsaXN0ZW5lcnMucHVzaChjcmVhdGVEaXNwYXRjaExpc3RlbmVyKGluc3RhbmNlLCBidWJibGVMaXN0ZW5lciwgY3VycmVudFRhcmdldCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5zdGFuY2UgPSBpbnN0YW5jZS5yZXR1cm47XG4gIH1cblxuICBpZiAobGlzdGVuZXJzLmxlbmd0aCAhPT0gMCkge1xuICAgIGRpc3BhdGNoUXVldWUucHVzaCh7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1xuICAgIH0pO1xuICB9XG59IC8vIFdlIHNob3VsZCBvbmx5IHVzZSB0aGlzIGZ1bmN0aW9uIGZvcjpcbi8vIC0gRW50ZXJMZWF2ZUV2ZW50UGx1Z2luXG4vLyBUaGlzIGlzIGJlY2F1c2Ugd2Ugb25seSBwcm9jZXNzIHRoaXMgcGx1Z2luXG4vLyBpbiB0aGUgYnViYmxlIHBoYXNlLCBzbyB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdHdvXG4vLyBwaGFzZSBldmVudCBsaXN0ZW5lcnMuXG5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVUd29QaGFzZUxpc3RlbmVycyhkaXNwYXRjaFF1ZXVlLCBsZWF2ZUV2ZW50LCBlbnRlckV2ZW50LCBmcm9tLCB0bykge1xuICB2YXIgY29tbW9uID0gZnJvbSAmJiB0byA/IGdldExvd2VzdENvbW1vbkFuY2VzdG9yKGZyb20sIHRvKSA6IG51bGw7XG5cbiAgaWYgKGZyb20gIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGxlYXZlRXZlbnQsIGZyb20sIGNvbW1vbiwgZmFsc2UpO1xuICB9XG5cbiAgaWYgKHRvICE9PSBudWxsICYmIGVudGVyRXZlbnQgIT09IG51bGwpIHtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZUxpc3RlbmVyc0ZvckV2ZW50KGRpc3BhdGNoUXVldWUsIGVudGVyRXZlbnQsIHRvLCBjb21tb24sIHRydWUpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRMaXN0ZW5lclNldEtleShkb21FdmVudE5hbWUsIGNhcHR1cmUpIHtcbiAgcmV0dXJuIGRvbUV2ZW50TmFtZSArIFwiX19cIiArIChjYXB0dXJlID8gJ2NhcHR1cmUnIDogJ2J1YmJsZScpO1xufVxuXG52YXIgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSBmYWxzZTtcbnZhciBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCA9ICdkYW5nZXJvdXNseVNldElubmVySFRNTCc7XG52YXIgU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HID0gJ3N1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyc7XG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcgPSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJztcbnZhciBBVVRPRk9DVVMgPSAnYXV0b0ZvY3VzJztcbnZhciBDSElMRFJFTiA9ICdjaGlsZHJlbic7XG52YXIgU1RZTEUgPSAnc3R5bGUnO1xudmFyIEhUTUwkMSA9ICdfX2h0bWwnO1xudmFyIHdhcm5lZFVua25vd25UYWdzO1xudmFyIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQ7XG52YXIgd2FybkZvclByb3BEaWZmZXJlbmNlO1xudmFyIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXM7XG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xudmFyIGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmc7XG52YXIgbm9ybWFsaXplSFRNTDtcblxue1xuICB3YXJuZWRVbmtub3duVGFncyA9IHtcbiAgICAvLyBUaGVyZSBhcmUgd29ya2luZyBwb2x5ZmlsbHMgZm9yIDxkaWFsb2c+LiBMZXQgcGVvcGxlIHVzZSBpdC5cbiAgICBkaWFsb2c6IHRydWUsXG4gICAgLy8gRWxlY3Ryb24gc2hpcHMgYSBjdXN0b20gPHdlYnZpZXc+IHRhZyB0byBkaXNwbGF5IGV4dGVybmFsIHdlYiBjb250ZW50IGluXG4gICAgLy8gYW4gaXNvbGF0ZWQgZnJhbWUgYW5kIHByb2Nlc3MuXG4gICAgLy8gVGhpcyB0YWcgaXMgbm90IHByZXNlbnQgaW4gbm9uIEVsZWN0cm9uIGVudmlyb25tZW50cyBzdWNoIGFzIEpTRG9tIHdoaWNoXG4gICAgLy8gaXMgb2Z0ZW4gdXNlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICAvLyBAc2VlIGh0dHBzOi8vZWxlY3Ryb25qcy5vcmcvZG9jcy9hcGkvd2Vidmlldy10YWdcbiAgICB3ZWJ2aWV3OiB0cnVlXG4gIH07XG5cbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBwcm9wcykge1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyh0eXBlLCBwcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzJDEodHlwZSwgcHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLCB7XG4gICAgICByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzOiByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLFxuICAgICAgcG9zc2libGVSZWdpc3RyYXRpb25OYW1lczogcG9zc2libGVSZWdpc3RyYXRpb25OYW1lc1xuICAgIH0pO1xuICB9OyAvLyBJRSAxMSBwYXJzZXMgJiBub3JtYWxpemVzIHRoZSBzdHlsZSBhdHRyaWJ1dGUgYXMgb3Bwb3NlZCB0byBvdGhlclxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcbiAgLy8gbm9uLWFscGhhYmV0aWNhbCBvcmRlci4gSGFuZGxpbmcgdGhhdCB3b3VsZCByZXF1aXJlIHNvcnRpbmcgQ1NTXG4gIC8vIHByb3BlcnRpZXMgaW4gdGhlIGNsaWVudCAmIHNlcnZlciB2ZXJzaW9ucyBvciBhcHBseWluZ1xuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcbiAgLy8gbm9ybWFsaXplZC4gU2luY2UgaXQgb25seSBhZmZlY3RzIElFLCB3ZSdyZSBza2lwcGluZyBzdHlsZSB3YXJuaW5nc1xuICAvLyBpbiB0aGF0IGJyb3dzZXIgY29tcGxldGVseSBpbiBmYXZvciBvZiBkb2luZyBhbGwgdGhhdCB3b3JrLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xuXG5cbiAgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZyA9IGNhblVzZURPTSAmJiAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xuXG4gIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChwcm9wTmFtZSwgc2VydmVyVmFsdWUsIGNsaWVudFZhbHVlKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRDbGllbnRWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShjbGllbnRWYWx1ZSk7XG4gICAgdmFyIG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJWYWx1ZSk7XG5cbiAgICBpZiAobm9ybWFsaXplZFNlcnZlclZhbHVlID09PSBub3JtYWxpemVkQ2xpZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignUHJvcCBgJXNgIGRpZCBub3QgbWF0Y2guIFNlcnZlcjogJXMgQ2xpZW50OiAlcycsIHByb3BOYW1lLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkU2VydmVyVmFsdWUpLCBKU09OLnN0cmluZ2lmeShub3JtYWxpemVkQ2xpZW50VmFsdWUpKTtcbiAgfTtcblxuICB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzID0gZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuICAgIHZhciBuYW1lcyA9IFtdO1xuICAgIGF0dHJpYnV0ZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIG5hbWVzLnB1c2gobmFtZSk7XG4gICAgfSk7XG5cbiAgICBlcnJvcignRXh0cmEgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXJ2ZXI6ICVzJywgbmFtZXMpO1xuICB9O1xuXG4gIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChyZWdpc3RyYXRpb25OYW1lLCBsaXN0ZW5lcikge1xuICAgIGlmIChsaXN0ZW5lciA9PT0gZmFsc2UpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBgJXNgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGBmYWxzZWAuXFxuXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGAlc2AgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgJXNgIHR5cGUuJywgcmVnaXN0cmF0aW9uTmFtZSwgdHlwZW9mIGxpc3RlbmVyKTtcbiAgICB9XG4gIH07IC8vIFBhcnNlIHRoZSBIVE1MIGFuZCByZWFkIGl0IGJhY2sgdG8gbm9ybWFsaXplIHRoZSBIVE1MIHN0cmluZyBzbyB0aGF0IGl0XG4gIC8vIGNhbiBiZSB1c2VkIGZvciBjb21wYXJpc29uLlxuXG5cbiAgbm9ybWFsaXplSFRNTCA9IGZ1bmN0aW9uIChwYXJlbnQsIGh0bWwpIHtcbiAgICAvLyBXZSBjb3VsZCBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBkb2N1bWVudCBoZXJlIHRvIGF2b2lkXG4gICAgLy8gcmUtaW5pdGlhbGl6aW5nIGN1c3RvbSBlbGVtZW50cyBpZiB0aGV5IGV4aXN0LiBCdXQgdGhpcyBicmVha3NcbiAgICAvLyBob3cgPG5vc2NyaXB0PiBpcyBiZWluZyBoYW5kbGVkLiBTbyB3ZSB1c2UgdGhlIHNhbWUgZG9jdW1lbnQuXG4gICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzExMTU3LlxuICAgIHZhciB0ZXN0RWxlbWVudCA9IHBhcmVudC5uYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xuICAgIHRlc3RFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlc3RFbGVtZW50LmlubmVySFRNTDtcbiAgfTtcbn0gLy8gSFRNTCBwYXJzaW5nIG5vcm1hbGl6ZXMgQ1IgYW5kIENSTEYgdG8gTEYuXG4vLyBJdCBhbHNvIGNhbiB0dXJuIFxcdTAwMDAgaW50byBcXHVGRkZEIGluc2lkZSBhdHRyaWJ1dGVzLlxuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NpbmdsZS1wYWdlLmh0bWwjcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtXG4vLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxuLy8gV2Ugd2lsbCBzdGlsbCBwYXRjaCB1cCBpbiB0aGlzIGNhc2UgYnV0IG5vdCBmaXJlIHRoZSB3YXJuaW5nLlxuXG5cbnZhciBOT1JNQUxJWkVfTkVXTElORVNfUkVHRVggPSAvXFxyXFxuPy9nO1xudmFyIE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCA9IC9cXHUwMDAwfFxcdUZGRkQvZztcblxuZnVuY3Rpb24gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKG1hcmt1cCkge1xuICB7XG4gICAgY2hlY2tIdG1sU3RyaW5nQ29lcmNpb24obWFya3VwKTtcbiAgfVxuXG4gIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xuICByZXR1cm4gbWFya3VwU3RyaW5nLnJlcGxhY2UoTk9STUFMSVpFX05FV0xJTkVTX1JFR0VYLCAnXFxuJykucmVwbGFjZShOT1JNQUxJWkVfTlVMTF9BTkRfUkVQTEFDRU1FTlRfUkVHRVgsICcnKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tGb3JVbm1hdGNoZWRUZXh0KHNlcnZlclRleHQsIGNsaWVudFRleHQsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgdmFyIG5vcm1hbGl6ZWRDbGllbnRUZXh0ID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKGNsaWVudFRleHQpO1xuICB2YXIgbm9ybWFsaXplZFNlcnZlclRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoc2VydmVyVGV4dCk7XG5cbiAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0ID09PSBub3JtYWxpemVkQ2xpZW50VGV4dCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzaG91bGRXYXJuRGV2KSB7XG4gICAge1xuICAgICAgaWYgKCFkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ1RleHQgY29udGVudCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6IFwiJXNcIiBDbGllbnQ6IFwiJXNcIicsIG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0LCBub3JtYWxpemVkQ2xpZW50VGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzQ29uY3VycmVudE1vZGUgJiYgZW5hYmxlQ2xpZW50UmVuZGVyRmFsbGJhY2tPblRleHRNaXNtYXRjaCkge1xuICAgIC8vIEluIGNvbmN1cnJlbnQgcm9vdHMsIHdlIHRocm93IHdoZW4gdGhlcmUncyBhIHRleHQgbWlzbWF0Y2ggYW5kIHJldmVydCB0b1xuICAgIC8vIGNsaWVudCByZW5kZXJpbmcsIHVwIHRvIHRoZSBuZWFyZXN0IFN1c3BlbnNlIGJvdW5kYXJ5LlxuICAgIHRocm93IG5ldyBFcnJvcignVGV4dCBjb250ZW50IGRvZXMgbm90IG1hdGNoIHNlcnZlci1yZW5kZXJlZCBIVE1MLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyByb290Q29udGFpbmVyRWxlbWVudCA6IHJvb3RDb250YWluZXJFbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG59XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5mdW5jdGlvbiB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChub2RlKSB7XG4gIC8vIE1vYmlsZSBTYWZhcmkgZG9lcyBub3QgZmlyZSBwcm9wZXJseSBidWJibGUgY2xpY2sgZXZlbnRzIG9uXG4gIC8vIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50cywgd2hpY2ggbWVhbnMgZGVsZWdhdGVkIGNsaWNrIGxpc3RlbmVycyBkbyBub3RcbiAgLy8gZmlyZS4gVGhlIHdvcmthcm91bmQgZm9yIHRoaXMgYnVnIGludm9sdmVzIGF0dGFjaGluZyBhbiBlbXB0eSBjbGlja1xuICAvLyBsaXN0ZW5lciBvbiB0aGUgdGFyZ2V0IG5vZGUuXG4gIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxMC8wOS9jbGlja19ldmVudF9kZWwuaHRtbFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxuICAvLyBib29ra2VlcGluZyBmb3IgaXQuIE5vdCBzdXJlIGlmIHdlIG5lZWQgdG8gY2xlYXIgaXQgd2hlbiB0aGUgbGlzdGVuZXIgaXNcbiAgLy8gcmVtb3ZlZC5cbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cbiAgbm9kZS5vbmNsaWNrID0gbm9vcDtcbn1cblxuZnVuY3Rpb24gc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgbmV4dFByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICBmb3IgKHZhciBwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHtcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcbiAgICAgICAgICAvLyBtdXRhdGVkLiBXZSBoYXZlIGFscmVhZHkgd2FybmVkIGZvciB0aGlzIGluIHRoZSBwYXN0LlxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IC8vIFJlbGllcyBvbiBgdXBkYXRlU3R5bGVzQnlJRGAgbm90IG11dGF0aW5nIGBzdHlsZVVwZGF0ZXNgLlxuXG5cbiAgICAgIHNldFZhbHVlRm9yU3R5bGVzKGRvbUVsZW1lbnQsIG5leHRQcm9wKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gQXZvaWQgc2V0dGluZyBpbml0aWFsIHRleHRDb250ZW50IHdoZW4gdGhlIHRleHQgaXMgZW1wdHkuIEluIElFMTEgc2V0dGluZ1xuICAgICAgICAvLyB0ZXh0Q29udGVudCBvbiBhIDx0ZXh0YXJlYT4gd2lsbCBjYXVzZSB0aGUgcGxhY2Vob2xkZXIgdG8gbm90XG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNjczMSNpc3N1ZWNvbW1lbnQtMjU0ODc0NTUzXG4gICAgICAgIHZhciBjYW5TZXRUZXh0Q29udGVudCA9IHRhZyAhPT0gJ3RleHRhcmVhJyB8fCBuZXh0UHJvcCAhPT0gJyc7XG5cbiAgICAgICAgaWYgKGNhblNldFRleHRDb250ZW50KSB7XG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycgKyBuZXh0UHJvcCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gQVVUT0ZPQ1VTKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGlmIChuZXh0UHJvcCAhPSBudWxsKSB7XG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wS2V5ID09PSAnb25TY3JvbGwnKSB7XG4gICAgICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnc2Nyb2xsJywgZG9tRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3AsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIC8vIFRPRE86IEhhbmRsZSB3YXNDdXN0b21Db21wb25lbnRUYWdcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB1cGRhdGVQYXlsb2FkLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIHByb3BLZXkgPSB1cGRhdGVQYXlsb2FkW2ldO1xuICAgIHZhciBwcm9wVmFsdWUgPSB1cGRhdGVQYXlsb2FkW2kgKyAxXTtcblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICBzZXRJbm5lckhUTUwoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BWYWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVyRWxlbWVudCwgcGFyZW50TmFtZXNwYWNlKSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZzsgLy8gV2UgY3JlYXRlIHRhZ3MgaW4gdGhlIG5hbWVzcGFjZSBvZiB0aGVpciBwYXJlbnQgY29udGFpbmVyLCBleGNlcHQgSFRNTFxuICAvLyB0YWdzIGdldCBubyBuYW1lc3BhY2UuXG5cbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICB2YXIgZG9tRWxlbWVudDtcbiAgdmFyIG5hbWVzcGFjZVVSSSA9IHBhcmVudE5hbWVzcGFjZTtcblxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSkge1xuICAgIG5hbWVzcGFjZVVSSSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0eXBlKTtcbiAgfVxuXG4gIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAge1xuICAgICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcyk7IC8vIFNob3VsZCB0aGlzIGNoZWNrIGJlIGdhdGVkIGJ5IHBhcmVudCBuYW1lc3BhY2U/IE5vdCBzdXJlIHdlIHdhbnQgdG9cbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cblxuICAgICAgaWYgKCFpc0N1c3RvbUNvbXBvbmVudFRhZyAmJiB0eXBlICE9PSB0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0IHZpYSAuaW5uZXJIVE1MIHNvIGl0cyBcInBhcnNlci1pbnNlcnRlZFwiIGZsYWcgaXNcbiAgICAgIC8vIHNldCB0byB0cnVlIGFuZCBpdCBkb2VzIG5vdCBleGVjdXRlXG4gICAgICB2YXIgZGl2ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgZGl2LmlubmVySFRNTCA9ICc8c2NyaXB0PjwnICsgJy9zY3JpcHQ+JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgLy8gVGhpcyBpcyBndWFyYW50ZWVkIHRvIHlpZWxkIGEgc2NyaXB0IGVsZW1lbnQuXG5cbiAgICAgIHZhciBmaXJzdENoaWxkID0gZGl2LmZpcnN0Q2hpbGQ7XG4gICAgICBkb21FbGVtZW50ID0gZGl2LnJlbW92ZUNoaWxkKGZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gJEZsb3dJc3N1ZSBgY3JlYXRlRWxlbWVudGAgc2hvdWxkIGJlIHVwZGF0ZWQgZm9yIFdlYiBDb21wb25lbnRzXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUsIHtcbiAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC82ODk2XG4gICAgICAvLyBhbmQgZGlzY3Vzc2lvbiBpbiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjQwXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcbiAgICAgIC8vIGF0dHJpYnV0ZXMgb24gYHNlbGVjdGBzIG5lZWRzIHRvIGJlIGFkZGVkIGJlZm9yZSBgb3B0aW9uYHMgYXJlIGluc2VydGVkLlxuICAgICAgLy8gVGhpcyBwcmV2ZW50czpcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxuICAgICAgLy8gIGBzZWxlY3RgIGVsZW1lbnRzIGF1dG9tYXRpY2FsbHkgcGljayB0aGUgZmlyc3QgaXRlbSAjMTMyMjJcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIHNldCB0aGUgZmlyc3QgaXRlbSBhcyBzZWxlY3RlZCBkZXNwaXRlIHRoZSBgc2l6ZWAgYXR0cmlidXRlICMxNDIzOVxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcbiAgICAgIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE0MjM5XG5cbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICB2YXIgbm9kZSA9IGRvbUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XG4gICAgICAgICAgbm9kZS5tdWx0aXBsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2l6ZSkge1xuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXG4gICAgICAgICAgLy8gaXQgaXMgcG9zc2libGUgdGhhdCBubyBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXCJzaW5nbGUgc2VsZWN0aW9uIG1vZGVcIi5cbiAgICAgICAgICBub2RlLnNpemUgPSBwcm9wcy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VVUkksIHR5cGUpO1xuICB9XG5cbiAge1xuICAgIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICBpZiAoIWlzQ3VzdG9tQ29tcG9uZW50VGFnICYmIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkb21FbGVtZW50KSA9PT0gJ1tvYmplY3QgSFRNTFVua25vd25FbGVtZW50XScgJiYgIWhhc093blByb3BlcnR5LmNhbGwod2FybmVkVW5rbm93blRhZ3MsIHR5cGUpKSB7XG4gICAgICAgIHdhcm5lZFVua25vd25UYWdzW3R5cGVdID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignVGhlIHRhZyA8JXM+IGlzIHVucmVjb2duaXplZCBpbiB0aGlzIGJyb3dzZXIuICcgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIFJlYWN0IGNvbXBvbmVudCwgc3RhcnQgaXRzIG5hbWUgd2l0aCAnICsgJ2FuIHVwcGVyY2FzZSBsZXR0ZXIuJywgdHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVyRWxlbWVudCkge1xuICByZXR1cm4gZ2V0T3duZXJEb2N1bWVudEZyb21Sb290Q29udGFpbmVyKHJvb3RDb250YWluZXJFbGVtZW50KS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcbn1cbmZ1bmN0aW9uIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgcmF3UHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuXG4gIHtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcmF3UHJvcHMpO1xuICB9IC8vIFRPRE86IE1ha2Ugc3VyZSB0aGF0IHdlIGNoZWNrIGlzTW91bnRlZCBiZWZvcmUgZmlyaW5nIGFueSBvZiB0aGVzZSBldmVudHMuXG5cblxuICB2YXIgcHJvcHM7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdkaWFsb2cnOlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2FuY2VsJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdjbG9zZScsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgIGNhc2UgJ2F1ZGlvJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVzZSBldmVudHMgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgYWxsIHRoZSBtZWRpYSBldmVudHMuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lZGlhRXZlbnRUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NvdXJjZSc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgZXJyb3IgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdlcnJvcicsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXRhaWxzJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSB0b2dnbGUgZXZlbnQuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCd0b2dnbGUnLCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgdmFsaWRhdGVQcm9wcyhkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpOyAvLyBXZSBsaXN0ZW4gdG8gdGhpcyBldmVudCBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciB0aGUgaW52YWxpZCBldmVudC5cblxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnaW52YWxpZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDIoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7IC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBpbnZhbGlkIGV2ZW50LlxuXG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdpbnZhbGlkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKTtcbiAgc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgcHJvcHMsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIoZG9tRWxlbWVudCwgcmF3UHJvcHMsIGZhbHNlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgcG9zdE1vdW50V3JhcHBlciQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG59IC8vIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0d28gb2JqZWN0cy5cblxuZnVuY3Rpb24gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAge1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xuICB2YXIgbGFzdFByb3BzO1xuICB2YXIgbmV4dFByb3BzO1xuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIGxhc3RQcm9wcyA9IGdldEhvc3RQcm9wcyQxKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzJDIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGxhc3RQcm9wcyA9IGxhc3RSYXdQcm9wcztcbiAgICAgIG5leHRQcm9wcyA9IG5leHRSYXdQcm9wcztcblxuICAgICAgaWYgKHR5cGVvZiBsYXN0UHJvcHMub25DbGljayAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbmV4dFByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XG4gIHZhciBwcm9wS2V5O1xuICB2YXIgc3R5bGVOYW1lO1xuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcblxuICBmb3IgKHByb3BLZXkgaW4gbGFzdFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHZhciBsYXN0U3R5bGUgPSBsYXN0UHJvcHNbcHJvcEtleV07XG5cbiAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RTdHlsZSkge1xuICAgICAgICBpZiAobGFzdFN0eWxlLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3R5bGVVcGRhdGVzW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwgfHwgcHJvcEtleSA9PT0gQ0hJTERSRU4pIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IEFVVE9GT0NVUykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLiBJZiBhbnkgbGlzdGVuZXIgdXBkYXRlcyB3ZSBuZWVkIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCB0aGUgXCJjdXJyZW50XCIgZmliZXIgcG9pbnRlciBnZXRzIHVwZGF0ZWQgc28gd2UgbmVlZCBhIGNvbW1pdFxuICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgIGlmICghdXBkYXRlUGF5bG9hZCkge1xuICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBhbGwgb3RoZXIgZGVsZXRlZCBwcm9wZXJ0aWVzIHdlIGFkZCBpdCB0byB0aGUgcXVldWUuIFdlIHVzZVxuICAgICAgLy8gdGhlIGFsbG93ZWQgcHJvcGVydHkgbGlzdCBpbiB0aGUgY29tbWl0IHBoYXNlIGluc3RlYWQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIHZhciBuZXh0UHJvcCA9IG5leHRQcm9wc1twcm9wS2V5XTtcbiAgICB2YXIgbGFzdFByb3AgPSBsYXN0UHJvcHMgIT0gbnVsbCA/IGxhc3RQcm9wc1twcm9wS2V5XSA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IG5leHRQcm9wID09PSBsYXN0UHJvcCB8fCBuZXh0UHJvcCA9PSBudWxsICYmIGxhc3RQcm9wID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAge1xuICAgICAgICBpZiAobmV4dFByb3ApIHtcbiAgICAgICAgICAvLyBGcmVlemUgdGhlIG5leHQgc3R5bGUgb2JqZWN0IHNvIHRoYXQgd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBiZVxuICAgICAgICAgIC8vIG11dGF0ZWQuIFdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgZm9yIHRoaXMgaW4gdGhlIHBhc3QuXG4gICAgICAgICAgT2JqZWN0LmZyZWV6ZShuZXh0UHJvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxhc3RQcm9wKSB7XG4gICAgICAgIC8vIFVuc2V0IHN0eWxlcyBvbiBgbGFzdFByb3BgIGJ1dCBub3Qgb24gYG5leHRQcm9wYC5cbiAgICAgICAgZm9yIChzdHlsZU5hbWUgaW4gbGFzdFByb3ApIHtcbiAgICAgICAgICBpZiAobGFzdFByb3AuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSAmJiAoIW5leHRQcm9wIHx8ICFuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpKSkge1xuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFVwZGF0ZSBzdHlsZXMgdGhhdCBjaGFuZ2VkIHNpbmNlIGBsYXN0UHJvcGAuXG5cblxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBuZXh0UHJvcCkge1xuICAgICAgICAgIGlmIChuZXh0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmIGxhc3RQcm9wW3N0eWxlTmFtZV0gIT09IG5leHRQcm9wW3N0eWxlTmFtZV0pIHtcbiAgICAgICAgICAgIGlmICghc3R5bGVVcGRhdGVzKSB7XG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9IG5leHRQcm9wW3N0eWxlTmFtZV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZWxpZXMgb24gYHVwZGF0ZVN0eWxlc0J5SURgIG5vdCBtdXRhdGluZyBgc3R5bGVVcGRhdGVzYC5cbiAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICBpZiAoIXVwZGF0ZVBheWxvYWQpIHtcbiAgICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkLnB1c2gocHJvcEtleSwgc3R5bGVVcGRhdGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlVXBkYXRlcyA9IG5leHRQcm9wO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcbiAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcbiAgICAgIHZhciBsYXN0SHRtbCA9IGxhc3RQcm9wID8gbGFzdFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGxhc3RIdG1sICE9PSBuZXh0SHRtbCkge1xuICAgICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0SHRtbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCAnJyArIG5leHRQcm9wKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xuICAgICAgICAvLyBXZSBlYWdlcmx5IGxpc3RlbiB0byB0aGlzIGV2ZW4gdGhvdWdoIHdlIGhhdmVuJ3QgY29tbWl0dGVkIHlldC5cbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVwZGF0ZVBheWxvYWQgJiYgbGFzdFByb3AgIT09IG5leHRQcm9wKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2UuIElmIGFueSBsaXN0ZW5lciB1cGRhdGVzIHdlIG5lZWQgdG8gZW5zdXJlXG4gICAgICAgIC8vIHRoYXQgdGhlIFwiY3VycmVudFwiIHByb3BzIHBvaW50ZXIgZ2V0cyB1cGRhdGVkIHNvIHdlIG5lZWQgYSBjb21taXRcbiAgICAgICAgLy8gdG8gdXBkYXRlIHRoaXMgZWxlbWVudC5cbiAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3IgYW55IG90aGVyIHByb3BlcnR5IHdlIGFsd2F5cyBhZGQgaXQgdG8gdGhlIHF1ZXVlIGFuZCB0aGVuIHdlXG4gICAgICAvLyBmaWx0ZXIgaXQgb3V0IHVzaW5nIHRoZSBhbGxvd2VkIHByb3BlcnR5IGxpc3QgZHVyaW5nIHRoZSBjb21taXQuXG4gICAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2gocHJvcEtleSwgbmV4dFByb3ApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdHlsZVVwZGF0ZXMpIHtcbiAgICB7XG4gICAgICB2YWxpZGF0ZVNob3J0aGFuZFByb3BlcnR5Q29sbGlzaW9uSW5EZXYoc3R5bGVVcGRhdGVzLCBuZXh0UHJvcHNbU1RZTEVdKTtcbiAgICB9XG5cbiAgICAodXBkYXRlUGF5bG9hZCA9IHVwZGF0ZVBheWxvYWQgfHwgW10pLnB1c2goU1RZTEUsIHN0eWxlVXBkYXRlcyk7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlUGF5bG9hZDtcbn0gLy8gQXBwbHkgdGhlIGRpZmYuXG5cbmZ1bmN0aW9uIHVwZGF0ZVByb3BlcnRpZXMoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcykge1xuICAvLyBVcGRhdGUgY2hlY2tlZCAqYmVmb3JlKiBuYW1lLlxuICAvLyBJbiB0aGUgbWlkZGxlIG9mIGFuIHVwZGF0ZSwgaXQgaXMgcG9zc2libGUgdG8gaGF2ZSBtdWx0aXBsZSBjaGVja2VkLlxuICAvLyBXaGVuIGEgY2hlY2tlZCByYWRpbyB0cmllcyB0byBjaGFuZ2UgbmFtZSwgYnJvd3NlciBtYWtlcyBhbm90aGVyIHJhZGlvJ3MgY2hlY2tlZCBmYWxzZS5cbiAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiBuZXh0UmF3UHJvcHMudHlwZSA9PT0gJ3JhZGlvJyAmJiBuZXh0UmF3UHJvcHMubmFtZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlQ2hlY2tlZChkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICB9XG5cbiAgdmFyIHdhc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgbGFzdFJhd1Byb3BzKTtcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnID0gaXNDdXN0b21Db21wb25lbnQodGFnLCBuZXh0UmF3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZi5cblxuICB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpOyAvLyBUT0RPOiBFbnN1cmUgdGhhdCBhbiB1cGRhdGUgZ2V0cyBzY2hlZHVsZWQgaWYgYW55IG9mIHRoZSBzcGVjaWFsIHByb3BzXG4gIC8vIGNoYW5nZWQuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xuICAgICAgLy8gaGFwcGVuIGFmdGVyIGB1cGRhdGVET01Qcm9wZXJ0aWVzYC4gT3RoZXJ3aXNlIEhUTUw1IGlucHV0IHZhbGlkYXRpb25zXG4gICAgICAvLyByYWlzZSB3YXJuaW5ncyBhbmQgcHJldmVudCB0aGUgbmV3IHZhbHVlIGZyb20gYmVpbmcgYXNzaWduZWQuXG4gICAgICB1cGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIHVwZGF0ZVdyYXBwZXIkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgLy8gPHNlbGVjdD4gdmFsdWUgdXBkYXRlIG5lZWRzIHRvIG9jY3VyIGFmdGVyIDxvcHRpb24+IGNoaWxkcmVuXG4gICAgICAvLyByZWNvbmNpbGlhdGlvblxuICAgICAgcG9zdFVwZGF0ZVdyYXBwZXIoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XG4gIHtcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBwcm9wTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKCFwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zc2libGVTdGFuZGFyZE5hbWVzW2xvd2VyQ2FzZWROYW1lXSB8fCBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVyRWxlbWVudCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldikge1xuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWc7XG4gIHZhciBleHRyYUF0dHJpYnV0ZU5hbWVzO1xuXG4gIHtcbiAgICBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xuICAgIHZhbGlkYXRlUHJvcGVydGllc0luRGV2ZWxvcG1lbnQodGFnLCByYXdQcm9wcyk7XG4gIH0gLy8gVE9ETzogTWFrZSBzdXJlIHRoYXQgd2UgY2hlY2sgaXNNb3VudGVkIGJlZm9yZSBmaXJpbmcgYW55IG9mIHRoZXNlIGV2ZW50cy5cblxuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2NhbmNlbCcsIGRvbUVsZW1lbnQpO1xuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnY2xvc2UnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGlzIGV2ZW50IGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIHRoZSBsb2FkIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnbG9hZCcsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd2aWRlbyc6XG4gICAgY2FzZSAnYXVkaW8nOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoZXNlIGV2ZW50cyBpbiBjYXNlIHRvIGVuc3VyZSBlbXVsYXRlZCBidWJibGVcbiAgICAgIC8vIGxpc3RlbmVycyBzdGlsbCBmaXJlIGZvciBhbGwgdGhlIG1lZGlhIGV2ZW50cy5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzb3VyY2UnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGVycm9yIGV2ZW50LlxuICAgICAgbGlzdGVuVG9Ob25EZWxlZ2F0ZWRFdmVudCgnZXJyb3InLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICAvLyBXZSBsaXN0ZW4gdG8gdGhlc2UgZXZlbnRzIGluIGNhc2UgdG8gZW5zdXJlIGVtdWxhdGVkIGJ1YmJsZVxuICAgICAgLy8gbGlzdGVuZXJzIHN0aWxsIGZpcmUgZm9yIGVycm9yIGFuZCBsb2FkIGV2ZW50cy5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2Vycm9yJywgZG9tRWxlbWVudCk7XG4gICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdsb2FkJywgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIHRvZ2dsZSBldmVudC5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ3RvZ2dsZScsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQxKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTsgLy8gV2UgbGlzdGVuIHRvIHRoaXMgZXZlbnQgaW4gY2FzZSB0byBlbnN1cmUgZW11bGF0ZWQgYnViYmxlXG4gICAgICAvLyBsaXN0ZW5lcnMgc3RpbGwgZmlyZSBmb3IgdGhlIGludmFsaWQgZXZlbnQuXG5cbiAgICAgIGxpc3RlblRvTm9uRGVsZWdhdGVkRXZlbnQoJ2ludmFsaWQnLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHJhd1Byb3BzKTtcblxuICB7XG4gICAgZXh0cmFBdHRyaWJ1dGVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgYXR0cmlidXRlcyA9IGRvbUVsZW1lbnQuYXR0cmlidXRlcztcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVzW19pXS5uYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAvLyBDb250cm9sbGVkIGF0dHJpYnV0ZXMgYXJlIG5vdCB2YWxpZGF0ZWRcbiAgICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjaGVja2VkJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzZWxlY3RlZCc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSB0aGUgb3JpZ2luYWwgbmFtZS5cbiAgICAgICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMDY3Ni5cbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmFkZChhdHRyaWJ1dGVzW19pXS5uYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlUGF5bG9hZCA9IG51bGw7XG5cbiAgZm9yICh2YXIgcHJvcEtleSBpbiByYXdQcm9wcykge1xuICAgIGlmICghcmF3UHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXh0UHJvcCA9IHJhd1Byb3BzW3Byb3BLZXldO1xuXG4gICAgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XG4gICAgICAvLyBGb3IgdGV4dCBjb250ZW50IGNoaWxkcmVuIHdlIGNvbXBhcmUgYWdhaW5zdCB0ZXh0Q29udGVudC4gVGhpc1xuICAgICAgLy8gbWlnaHQgbWF0Y2ggYWRkaXRpb25hbCBIVE1MIHRoYXQgaXMgaGlkZGVuIHdoZW4gd2UgcmVhZCBpdCB1c2luZ1xuICAgICAgLy8gdGV4dENvbnRlbnQuIEUuZy4gXCJmb29cIiB3aWxsIG1hdGNoIFwiZjxzcGFuPm9vPC9zcGFuPlwiIGJ1dCB0aGF0IHN0aWxsXG4gICAgICAvLyBzYXRpc2ZpZXMgb3VyIHJlcXVpcmVtZW50LiBPdXIgcmVxdWlyZW1lbnQgaXMgbm90IHRvIHByb2R1Y2UgcGVyZmVjdFxuICAgICAgLy8gSFRNTCBhbmQgYXR0cmlidXRlcy4gSWRlYWxseSB3ZSBzaG91bGQgcHJlc2VydmUgc3RydWN0dXJlIGJ1dCBpdCdzXG4gICAgICAvLyBvayBub3QgdG8gaWYgdGhlIHZpc2libGUgY29udGVudCBpcyBzdGlsbCBlbm91Z2ggdG8gaW5kaWNhdGUgd2hhdFxuICAgICAgLy8gZXZlbiBsaXN0ZW5lcnMgdGhlc2Ugbm9kZXMgbWlnaHQgYmUgd2lyZWQgdXAgdG8uXG4gICAgICAvLyBUT0RPOiBXYXJuIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBhIHNpbmdsZSB0ZXh0Tm9kZSBhcyBhIGNoaWxkLlxuICAgICAgLy8gVE9ETzogU2hvdWxkIHdlIHVzZSBkb21FbGVtZW50LmZpcnN0Q2hpbGQubm9kZVZhbHVlIHRvIGNvbXBhcmU/XG4gICAgICBpZiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoZG9tRWxlbWVudC50ZXh0Q29udGVudCAhPT0gbmV4dFByb3ApIHtcbiAgICAgICAgICBpZiAocmF3UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkddICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3AsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY2hlY2tGb3JVbm1hdGNoZWRUZXh0KGRvbUVsZW1lbnQudGV4dENvbnRlbnQsIG5leHRQcm9wLCBpc0NvbmN1cnJlbnRNb2RlLCBzaG91bGRXYXJuRGV2KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1cGRhdGVQYXlsb2FkID0gW0NISUxEUkVOLCAnJyArIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BLZXkgPT09ICdvblNjcm9sbCcpIHtcbiAgICAgICAgICBsaXN0ZW5Ub05vbkRlbGVnYXRlZEV2ZW50KCdzY3JvbGwnLCBkb21FbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc2hvdWxkV2FybkRldiAmJiB0cnVlICYmIC8vIENvbnZpbmNlIEZsb3cgd2UndmUgY2FsY3VsYXRlZCBpdCAoaXQncyBERVYtb25seSBpbiB0aGlzIG1ldGhvZC4pXG4gICAgdHlwZW9mIGlzQ3VzdG9tQ29tcG9uZW50VGFnID09PSAnYm9vbGVhbicpIHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXG4gICAgICB2YXIgc2VydmVyVmFsdWUgPSB2b2lkIDA7XG4gICAgICB2YXIgcHJvcGVydHlJbmZvID0gaXNDdXN0b21Db21wb25lbnRUYWcgJiYgZW5hYmxlQ3VzdG9tRWxlbWVudFByb3BlcnR5U3VwcG9ydCA/IG51bGwgOiBnZXRQcm9wZXJ0eUluZm8ocHJvcEtleSk7XG5cbiAgICAgIGlmIChyYXdQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklOR10gPT09IHRydWUpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HIHx8IC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxuICAgICAgLy8gVE9ETzogT25seSBpZ25vcmUgdGhlbSBvbiBjb250cm9sbGVkIHRhZ3MuXG4gICAgICBwcm9wS2V5ID09PSAndmFsdWUnIHx8IHByb3BLZXkgPT09ICdjaGVja2VkJyB8fCBwcm9wS2V5ID09PSAnc2VsZWN0ZWQnKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgIHZhciBuZXh0SHRtbCA9IG5leHRQcm9wID8gbmV4dFByb3BbSFRNTCQxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV4dEh0bWwgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBleHBlY3RlZEhUTUwgPSBub3JtYWxpemVIVE1MKGRvbUVsZW1lbnQsIG5leHRIdG1sKTtcblxuICAgICAgICAgIGlmIChleHBlY3RlZEhUTUwgIT09IHNlcnZlckhUTUwpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBTVFlMRSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkpO1xuXG4gICAgICAgIGlmIChjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkU3R5bGUgPSBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMobmV4dFByb3ApO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG5cbiAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHlsZSAhPT0gc2VydmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgZXhwZWN0ZWRTdHlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnICYmICFlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0KSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgc2VydmVyVmFsdWUgPSBnZXRWYWx1ZUZvckF0dHJpYnV0ZShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCk7XG5cbiAgICAgICAgaWYgKG5leHRQcm9wICE9PSBzZXJ2ZXJWYWx1ZSkge1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRJZ25vcmVBdHRyaWJ1dGUocHJvcEtleSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykgJiYgIXNob3VsZFJlbW92ZUF0dHJpYnV0ZShwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICAgICAgdmFyIGlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcbiAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWUpO1xuICAgICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gcGFyZW50TmFtZXNwYWNlO1xuXG4gICAgICAgICAgaWYgKG93bk5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAgICAgICAgIG93bk5hbWVzcGFjZSA9IGdldEludHJpbnNpY05hbWVzcGFjZSh0YWcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChvd25OYW1lc3BhY2UgPT09IEhUTUxfTkFNRVNQQUNFKSB7XG4gICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgc3RhbmRhcmROYW1lID0gZ2V0UG9zc2libGVTdGFuZGFyZE5hbWUocHJvcEtleSk7XG5cbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XG4gICAgICAgICAgICAgIC8vIElmIGFuIFNWRyBwcm9wIGlzIHN1cHBsaWVkIHdpdGggYmFkIGNhc2luZywgaXQgd2lsbFxuICAgICAgICAgICAgICAvLyBiZSBzdWNjZXNzZnVsbHkgcGFyc2VkIGZyb20gSFRNTCwgYnV0IHdpbGwgcHJvZHVjZSBhIG1pc21hdGNoXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXG4gICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIGFscmVhZHkgd2FybiBhYm91dCBiYWQgY2FzaW5nIGVsc2V3aGVyZS5cbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgc2tpcCB0aGUgbWlzbGVhZGluZyBleHRyYSBtaXNtYXRjaCB3YXJuaW5nIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxuXG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHN0YW5kYXJkTmFtZSk7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cblxuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkb250V2FybkN1c3RvbUVsZW1lbnQgPSBlbmFibGVDdXN0b21FbGVtZW50UHJvcGVydHlTdXBwb3J0ICA7XG5cbiAgICAgICAgaWYgKCFkb250V2FybkN1c3RvbUVsZW1lbnQgJiYgbmV4dFByb3AgIT09IHNlcnZlclZhbHVlICYmICFpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcpIHtcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoc2hvdWxkV2FybkRldikge1xuICAgICAgaWYgKCAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLnNpemUgPiAwICYmIHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSAhPT0gdHJ1ZSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXMoZXh0cmFBdHRyaWJ1dGVOYW1lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCB0cnVlKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcbiAgICAgIC8vIHBvc3QgbW91bnQgdG8gZm9yY2UgaXQgdG8gZGl2ZXJnZSBmcm9tIGF0dHJpYnV0ZXMuIEhvd2V2ZXIsIGZvclxuICAgICAgLy8gb3B0aW9uIGFuZCBzZWxlY3Qgd2UgZG9uJ3QgcXVpdGUgZG8gdGhlIHNhbWUgdGhpbmcgYW5kIHNlbGVjdFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cbiAgICAgIC8vIFRPRE86IENvbnNpZGVyIG5vdCBkb2luZyB0aGlzIGZvciBpbnB1dCBhbmQgdGV4dGFyZWEuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAodHlwZW9mIHJhd1Byb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZVBheWxvYWQ7XG59XG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHZhciBpc0RpZmZlcmVudCA9IHRleHROb2RlLm5vZGVWYWx1ZSAhPT0gdGV4dDtcbiAgcmV0dXJuIGlzRGlmZmVyZW50O1xufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJywgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4nLCBjaGlsZC5ub2RlVmFsdWUsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0YWcsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICBpZiAodGV4dCA9PT0gJycpIHtcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxuICAgICAgLy8gdGhlIEhUTUwuXG4gICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgaWYgd2UgY2FuIGp1c3QgYXZvaWQgaW5zZXJ0aW5nIGVtcHR5XG4gICAgICAvLyB0ZXh0IG5vZGVzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgIGVycm9yKCdFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4nLCB0ZXh0LCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMoZG9tRWxlbWVudCwgdGFnLCBwcm9wcykge1xuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDEoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuICB9XG59XG5cbnZhciB2YWxpZGF0ZURPTU5lc3RpbmcgPSBmdW5jdGlvbiAoKSB7fTtcblxudmFyIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAoKSB7fTtcblxue1xuICAvLyBUaGlzIHZhbGlkYXRpb24gY29kZSB3YXMgd3JpdHRlbiBiYXNlZCBvbiB0aGUgSFRNTDUgcGFyc2luZyBzcGVjOlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxuICAvL1xuICAvLyBOb3RlOiB0aGlzIGRvZXMgbm90IGNhdGNoIGFsbCBpbnZhbGlkIG5lc3RpbmcsIG5vciBkb2VzIGl0IHRyeSB0byAoYXMgaXQnc1xuICAvLyBub3QgY2xlYXIgd2hhdCBwcmFjdGljYWwgYmVuZWZpdCBkb2luZyBzbyBwcm92aWRlcyk7IGluc3RlYWQsIHdlIHdhcm4gb25seVxuICAvLyBmb3IgY2FzZXMgd2hlcmUgdGhlIHBhcnNlciB3aWxsIGdpdmUgYSBwYXJzZSB0cmVlIGRpZmZlcmluZyBmcm9tIHdoYXQgUmVhY3RcbiAgLy8gaW50ZW5kZWQuIEZvciBleGFtcGxlLCA8Yj48ZGl2PjwvZGl2PjwvYj4gaXMgaW52YWxpZCBidXQgd2UgZG9uJ3Qgd2FyblxuICAvLyBiZWNhdXNlIGl0IHN0aWxsIHBhcnNlcyBjb3JyZWN0bHk7IHdlIGRvIHdhcm4gZm9yIG90aGVyIGNhc2VzIGxpa2UgbmVzdGVkXG4gIC8vIDxwPiB0YWdzIHdoZXJlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlY29uZCBlbGVtZW50IGltcGxpY2l0bHkgY2xvc2VzIHRoZVxuICAvLyBmaXJzdCwgY2F1c2luZyBhIGNvbmZ1c2luZyBtZXNzLlxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNzcGVjaWFsXG4gIHZhciBzcGVjaWFsVGFncyA9IFsnYWRkcmVzcycsICdhcHBsZXQnLCAnYXJlYScsICdhcnRpY2xlJywgJ2FzaWRlJywgJ2Jhc2UnLCAnYmFzZWZvbnQnLCAnYmdzb3VuZCcsICdibG9ja3F1b3RlJywgJ2JvZHknLCAnYnInLCAnYnV0dG9uJywgJ2NhcHRpb24nLCAnY2VudGVyJywgJ2NvbCcsICdjb2xncm91cCcsICdkZCcsICdkZXRhaWxzJywgJ2RpcicsICdkaXYnLCAnZGwnLCAnZHQnLCAnZW1iZWQnLCAnZmllbGRzZXQnLCAnZmlnY2FwdGlvbicsICdmaWd1cmUnLCAnZm9vdGVyJywgJ2Zvcm0nLCAnZnJhbWUnLCAnZnJhbWVzZXQnLCAnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnLCAnaGVhZCcsICdoZWFkZXInLCAnaGdyb3VwJywgJ2hyJywgJ2h0bWwnLCAnaWZyYW1lJywgJ2ltZycsICdpbnB1dCcsICdpc2luZGV4JywgJ2xpJywgJ2xpbmsnLCAnbGlzdGluZycsICdtYWluJywgJ21hcnF1ZWUnLCAnbWVudScsICdtZW51aXRlbScsICdtZXRhJywgJ25hdicsICdub2VtYmVkJywgJ25vZnJhbWVzJywgJ25vc2NyaXB0JywgJ29iamVjdCcsICdvbCcsICdwJywgJ3BhcmFtJywgJ3BsYWludGV4dCcsICdwcmUnLCAnc2NyaXB0JywgJ3NlY3Rpb24nLCAnc2VsZWN0JywgJ3NvdXJjZScsICdzdHlsZScsICdzdW1tYXJ5JywgJ3RhYmxlJywgJ3Rib2R5JywgJ3RkJywgJ3RlbXBsYXRlJywgJ3RleHRhcmVhJywgJ3Rmb290JywgJ3RoJywgJ3RoZWFkJywgJ3RpdGxlJywgJ3RyJywgJ3RyYWNrJywgJ3VsJywgJ3dicicsICd4bXAnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcblxuICB2YXIgaW5TY29wZVRhZ3MgPSBbJ2FwcGxldCcsICdjYXB0aW9uJywgJ2h0bWwnLCAndGFibGUnLCAndGQnLCAndGgnLCAnbWFycXVlZScsICdvYmplY3QnLCAndGVtcGxhdGUnLCAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNodG1sLWludGVncmF0aW9uLXBvaW50XG4gIC8vIFRPRE86IERpc3Rpbmd1aXNoIGJ5IG5hbWVzcGFjZSBoZXJlIC0tIGZvciA8dGl0bGU+LCBpbmNsdWRpbmcgaXQgaGVyZVxuICAvLyBlcnJzIG9uIHRoZSBzaWRlIG9mIGZld2VyIHdhcm5pbmdzXG4gICdmb3JlaWduT2JqZWN0JywgJ2Rlc2MnLCAndGl0bGUnXTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tYnV0dG9uLXNjb3BlXG5cbiAgdmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZ2VuZXJhdGUtaW1wbGllZC1lbmQtdGFnc1xuXG4gIHZhciBpbXBsaWVkRW5kVGFncyA9IFsnZGQnLCAnZHQnLCAnbGknLCAnb3B0aW9uJywgJ29wdGdyb3VwJywgJ3AnLCAncnAnLCAncnQnXTtcbiAgdmFyIGVtcHR5QW5jZXN0b3JJbmZvID0ge1xuICAgIGN1cnJlbnQ6IG51bGwsXG4gICAgZm9ybVRhZzogbnVsbCxcbiAgICBhVGFnSW5TY29wZTogbnVsbCxcbiAgICBidXR0b25UYWdJblNjb3BlOiBudWxsLFxuICAgIG5vYnJUYWdJblNjb3BlOiBudWxsLFxuICAgIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxuICAgIGxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGwsXG4gICAgZGxJdGVtVGFnQXV0b2Nsb3Npbmc6IG51bGxcbiAgfTtcblxuICB1cGRhdGVkQW5jZXN0b3JJbmZvID0gZnVuY3Rpb24gKG9sZEluZm8sIHRhZykge1xuICAgIHZhciBhbmNlc3RvckluZm8gPSBhc3NpZ24oe30sIG9sZEluZm8gfHwgZW1wdHlBbmNlc3RvckluZm8pO1xuXG4gICAgdmFyIGluZm8gPSB7XG4gICAgICB0YWc6IHRhZ1xuICAgIH07XG5cbiAgICBpZiAoaW5TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGJ1dHRvblNjb3BlVGFncy5pbmRleE9mKHRhZykgIT09IC0xKSB7XG4gICAgICBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGUgPSBudWxsO1xuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIGlmIChzcGVjaWFsVGFncy5pbmRleE9mKHRhZykgIT09IC0xICYmIHRhZyAhPT0gJ2FkZHJlc3MnICYmIHRhZyAhPT0gJ2RpdicgJiYgdGFnICE9PSAncCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gbnVsbDtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XG4gICAgfVxuXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xuXG4gICAgaWYgKHRhZyA9PT0gJ2Zvcm0nKSB7XG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdidXR0b24nKSB7XG4gICAgICBhbmNlc3RvckluZm8uYnV0dG9uVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ25vYnInKSB7XG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdwJykge1xuICAgICAgYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnbGknKSB7XG4gICAgICBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2RkJyB8fCB0YWcgPT09ICdkdCcpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XG4gICAgfVxuXG4gICAgcmV0dXJuIGFuY2VzdG9ySW5mbztcbiAgfTtcbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlclxuICAgKi9cblxuXG4gIHZhciBpc1RhZ1ZhbGlkV2l0aFBhcmVudCA9IGZ1bmN0aW9uICh0YWcsIHBhcmVudFRhZykge1xuICAgIC8vIEZpcnN0LCBsZXQncyBjaGVjayBpZiB3ZSdyZSBpbiBhbiB1bnVzdWFsIHBhcnNpbmcgbW9kZS4uLlxuICAgIHN3aXRjaCAocGFyZW50VGFnKSB7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5zZWxlY3RcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XG5cbiAgICAgIGNhc2UgJ29wdGdyb3VwJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnI3RleHQnO1xuICAgICAgLy8gU3RyaWN0bHkgc3BlYWtpbmcsIHNlZWluZyBhbiA8b3B0aW9uPiBkb2Vzbid0IG1lYW4gd2UncmUgaW4gYSA8c2VsZWN0PlxuICAgICAgLy8gYnV0XG5cbiAgICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICcjdGV4dCc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50ZFxuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluY2FwdGlvblxuICAgICAgLy8gTm8gc3BlY2lhbCBiZWhhdmlvciBzaW5jZSB0aGVzZSBydWxlcyBmYWxsIGJhY2sgdG8gXCJpbiBib2R5XCIgbW9kZSBmb3JcbiAgICAgIC8vIGFsbCBleGNlcHQgc3BlY2lhbCB0YWJsZSBub2RlcyB3aGljaCBjYXVzZSBiYWQgcGFyc2luZyBiZWhhdmlvciBhbnl3YXkuXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50clxuXG4gICAgICBjYXNlICd0cic6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICd0aCcgfHwgdGFnID09PSAndGQnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRib2R5XG5cbiAgICAgIGNhc2UgJ3Rib2R5JzpcbiAgICAgIGNhc2UgJ3RoZWFkJzpcbiAgICAgIGNhc2UgJ3Rmb290JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RyJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jb2xncm91cFxuXG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRhYmxlXG5cbiAgICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2NhcHRpb24nIHx8IHRhZyA9PT0gJ2NvbGdyb3VwJyB8fCB0YWcgPT09ICd0Ym9keScgfHwgdGFnID09PSAndGZvb3QnIHx8IHRhZyA9PT0gJ3RoZWFkJyB8fCB0YWcgPT09ICdzdHlsZScgfHwgdGFnID09PSAnc2NyaXB0JyB8fCB0YWcgPT09ICd0ZW1wbGF0ZSc7XG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5oZWFkXG5cbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnYmFzZScgfHwgdGFnID09PSAnYmFzZWZvbnQnIHx8IHRhZyA9PT0gJ2Jnc291bmQnIHx8IHRhZyA9PT0gJ2xpbmsnIHx8IHRhZyA9PT0gJ21ldGEnIHx8IHRhZyA9PT0gJ3RpdGxlJyB8fCB0YWcgPT09ICdub3NjcmlwdCcgfHwgdGFnID09PSAnbm9mcmFtZXMnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1odG1sLWVsZW1lbnRcblxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XG5cbiAgICAgIGNhc2UgJ2ZyYW1lc2V0JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2ZyYW1lJztcblxuICAgICAgY2FzZSAnI2RvY3VtZW50JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2h0bWwnO1xuICAgIH0gLy8gUHJvYmFibHkgaW4gdGhlIFwiaW4gYm9keVwiIHBhcnNpbmcgbW9kZSwgc28gd2Ugb3V0bGF3IG9ubHkgdGFnIGNvbWJvc1xuICAgIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5XG5cblxuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlICdoMSc6XG4gICAgICBjYXNlICdoMic6XG4gICAgICBjYXNlICdoMyc6XG4gICAgICBjYXNlICdoNCc6XG4gICAgICBjYXNlICdoNSc6XG4gICAgICBjYXNlICdoNic6XG4gICAgICAgIHJldHVybiBwYXJlbnRUYWcgIT09ICdoMScgJiYgcGFyZW50VGFnICE9PSAnaDInICYmIHBhcmVudFRhZyAhPT0gJ2gzJyAmJiBwYXJlbnRUYWcgIT09ICdoNCcgJiYgcGFyZW50VGFnICE9PSAnaDUnICYmIHBhcmVudFRhZyAhPT0gJ2g2JztcblxuICAgICAgY2FzZSAncnAnOlxuICAgICAgY2FzZSAncnQnOlxuICAgICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcblxuICAgICAgY2FzZSAnYm9keSc6XG4gICAgICBjYXNlICdjYXB0aW9uJzpcbiAgICAgIGNhc2UgJ2NvbCc6XG4gICAgICBjYXNlICdjb2xncm91cCc6XG4gICAgICBjYXNlICdmcmFtZXNldCc6XG4gICAgICBjYXNlICdmcmFtZSc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgY2FzZSAndGJvZHknOlxuICAgICAgY2FzZSAndGQnOlxuICAgICAgY2FzZSAndGZvb3QnOlxuICAgICAgY2FzZSAndGgnOlxuICAgICAgY2FzZSAndGhlYWQnOlxuICAgICAgY2FzZSAndHInOlxuICAgICAgICAvLyBUaGVzZSB0YWdzIGFyZSBvbmx5IHZhbGlkIHdpdGggYSBmZXcgcGFyZW50cyB0aGF0IGhhdmUgc3BlY2lhbCBjaGlsZFxuICAgICAgICAvLyBwYXJzaW5nIHJ1bGVzIC0tIGlmIHdlJ3JlIGRvd24gaGVyZSwgdGhlbiBub25lIG9mIHRob3NlIG1hdGNoZWQgYW5kXG4gICAgICAgIC8vIHNvIHdlIGFsbG93IGl0IG9ubHkgaWYgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZSBwYXJlbnQgaXMsIGFzIGFsbCBvdGhlclxuICAgICAgICAvLyBjYXNlcyBhcmUgaW52YWxpZC5cbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyA9PSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyXG4gICAqL1xuXG5cbiAgdmFyIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcgPSBmdW5jdGlvbiAodGFnLCBhbmNlc3RvckluZm8pIHtcbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSAnYWRkcmVzcyc6XG4gICAgICBjYXNlICdhcnRpY2xlJzpcbiAgICAgIGNhc2UgJ2FzaWRlJzpcbiAgICAgIGNhc2UgJ2Jsb2NrcXVvdGUnOlxuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgIGNhc2UgJ2Rpcic6XG4gICAgICBjYXNlICdkaXYnOlxuICAgICAgY2FzZSAnZGwnOlxuICAgICAgY2FzZSAnZmllbGRzZXQnOlxuICAgICAgY2FzZSAnZmlnY2FwdGlvbic6XG4gICAgICBjYXNlICdmaWd1cmUnOlxuICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICBjYXNlICdoZ3JvdXAnOlxuICAgICAgY2FzZSAnbWFpbic6XG4gICAgICBjYXNlICdtZW51JzpcbiAgICAgIGNhc2UgJ25hdic6XG4gICAgICBjYXNlICdvbCc6XG4gICAgICBjYXNlICdwJzpcbiAgICAgIGNhc2UgJ3NlY3Rpb24nOlxuICAgICAgY2FzZSAnc3VtbWFyeSc6XG4gICAgICBjYXNlICd1bCc6XG4gICAgICBjYXNlICdwcmUnOlxuICAgICAgY2FzZSAnbGlzdGluZyc6XG4gICAgICBjYXNlICd0YWJsZSc6XG4gICAgICBjYXNlICdocic6XG4gICAgICBjYXNlICd4bXAnOlxuICAgICAgY2FzZSAnaDEnOlxuICAgICAgY2FzZSAnaDInOlxuICAgICAgY2FzZSAnaDMnOlxuICAgICAgY2FzZSAnaDQnOlxuICAgICAgY2FzZSAnaDUnOlxuICAgICAgY2FzZSAnaDYnOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlO1xuXG4gICAgICBjYXNlICdmb3JtJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5mb3JtVGFnIHx8IGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcblxuICAgICAgY2FzZSAnbGknOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3Npbmc7XG5cbiAgICAgIGNhc2UgJ2RkJzpcbiAgICAgIGNhc2UgJ2R0JzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZztcblxuICAgICAgY2FzZSAnYnV0dG9uJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlO1xuXG4gICAgICBjYXNlICdhJzpcbiAgICAgICAgLy8gU3BlYyBzYXlzIHNvbWV0aGluZyBhYm91dCBzdG9yaW5nIGEgbGlzdCBvZiBtYXJrZXJzLCBidXQgaXQgc291bmRzXG4gICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhpcyBjaGVjay5cbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5hVGFnSW5TY29wZTtcblxuICAgICAgY2FzZSAnbm9icic6XG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdmFyIGRpZFdhcm4kMSA9IHt9O1xuXG4gIHZhbGlkYXRlRE9NTmVzdGluZyA9IGZ1bmN0aW9uIChjaGlsZFRhZywgY2hpbGRUZXh0LCBhbmNlc3RvckluZm8pIHtcbiAgICBhbmNlc3RvckluZm8gPSBhbmNlc3RvckluZm8gfHwgZW1wdHlBbmNlc3RvckluZm87XG4gICAgdmFyIHBhcmVudEluZm8gPSBhbmNlc3RvckluZm8uY3VycmVudDtcbiAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50SW5mbyAmJiBwYXJlbnRJbmZvLnRhZztcblxuICAgIGlmIChjaGlsZFRleHQgIT0gbnVsbCkge1xuICAgICAgaWYgKGNoaWxkVGFnICE9IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZzogd2hlbiBjaGlsZFRleHQgaXMgcGFzc2VkLCBjaGlsZFRhZyBzaG91bGQgYmUgbnVsbCcpO1xuICAgICAgfVxuXG4gICAgICBjaGlsZFRhZyA9ICcjdGV4dCc7XG4gICAgfVxuXG4gICAgdmFyIGludmFsaWRQYXJlbnQgPSBpc1RhZ1ZhbGlkV2l0aFBhcmVudChjaGlsZFRhZywgcGFyZW50VGFnKSA/IG51bGwgOiBwYXJlbnRJbmZvO1xuICAgIHZhciBpbnZhbGlkQW5jZXN0b3IgPSBpbnZhbGlkUGFyZW50ID8gbnVsbCA6IGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcoY2hpbGRUYWcsIGFuY2VzdG9ySW5mbyk7XG4gICAgdmFyIGludmFsaWRQYXJlbnRPckFuY2VzdG9yID0gaW52YWxpZFBhcmVudCB8fCBpbnZhbGlkQW5jZXN0b3I7XG5cbiAgICBpZiAoIWludmFsaWRQYXJlbnRPckFuY2VzdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZztcblxuICAgIGlmIChkaWRXYXJuJDFbd2FybktleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuJDFbd2FybktleV0gPSB0cnVlO1xuICAgIHZhciB0YWdEaXNwbGF5TmFtZSA9IGNoaWxkVGFnO1xuICAgIHZhciB3aGl0ZXNwYWNlSW5mbyA9ICcnO1xuXG4gICAgaWYgKGNoaWxkVGFnID09PSAnI3RleHQnKSB7XG4gICAgICBpZiAoL1xcUy8udGVzdChjaGlsZFRleHQpKSB7XG4gICAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJ1RleHQgbm9kZXMnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnV2hpdGVzcGFjZSB0ZXh0IG5vZGVzJztcbiAgICAgICAgd2hpdGVzcGFjZUluZm8gPSBcIiBNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFwiICsgJ2VhY2ggbGluZSBvZiB5b3VyIHNvdXJjZSBjb2RlLic7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZ0Rpc3BsYXlOYW1lID0gJzwnICsgY2hpbGRUYWcgKyAnPic7XG4gICAgfVxuXG4gICAgaWYgKGludmFsaWRQYXJlbnQpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICAgIGlmIChhbmNlc3RvclRhZyA9PT0gJ3RhYmxlJyAmJiBjaGlsZFRhZyA9PT0gJ3RyJykge1xuICAgICAgICBpbmZvICs9ICcgQWRkIGEgPHRib2R5PiwgPHRoZWFkPiBvciA8dGZvb3Q+IHRvIHlvdXIgY29kZSB0byBtYXRjaCB0aGUgRE9NIHRyZWUgZ2VuZXJhdGVkIGJ5ICcgKyAndGhlIGJyb3dzZXIuJztcbiAgICAgIH1cblxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgY2hpbGQgb2YgPCVzPi4lcyVzJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnLCB3aGl0ZXNwYWNlSW5mbywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCd2YWxpZGF0ZURPTU5lc3RpbmcoLi4uKTogJXMgY2Fubm90IGFwcGVhciBhcyBhIGRlc2NlbmRhbnQgb2YgJyArICc8JXM+LicsIHRhZ0Rpc3BsYXlOYW1lLCBhbmNlc3RvclRhZyk7XG4gICAgfVxuICB9O1xufVxuXG52YXIgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMSA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xudmFyIFNVU1BFTlNFX1NUQVJUX0RBVEEgPSAnJCc7XG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xudmFyIFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSA9ICckPyc7XG52YXIgU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSA9ICckISc7XG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XG52YXIgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG52YXIgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB2YXIgdHlwZTtcbiAgdmFyIG5hbWVzcGFjZTtcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xuXG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XG4gICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOlxuICAgICAge1xuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RDb250YWluZXJJbnN0YW5jZS5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIG5hbWVzcGFjZSA9IHJvb3QgPyByb290Lm5hbWVzcGFjZVVSSSA6IGdldENoaWxkTmFtZXNwYWNlKG51bGwsICcnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gbm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJJbnN0YW5jZS5wYXJlbnROb2RlIDogcm9vdENvbnRhaW5lckluc3RhbmNlO1xuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xuICAgICAgICB0eXBlID0gY29udGFpbmVyLnRhZ05hbWU7XG4gICAgICAgIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKG93bk5hbWVzcGFjZSwgdHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHZhciB2YWxpZGF0ZWRUYWcgPSB0eXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldENoaWxkSG9zdENvbnRleHQocGFyZW50SG9zdENvbnRleHQsIHR5cGUsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB7XG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XG4gICAgdmFyIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKHBhcmVudEhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZSwgdHlwZSk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8ocGFyZW50SG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xuICBldmVudHNFbmFibGVkID0gaXNFbmFibGVkKCk7XG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKTtcbiAgdmFyIGFjdGl2ZUluc3RhbmNlID0gbnVsbDtcblxuICBzZXRFbmFibGVkKGZhbHNlKTtcbiAgcmV0dXJuIGFjdGl2ZUluc3RhbmNlO1xufVxuZnVuY3Rpb24gcmVzZXRBZnRlckNvbW1pdChjb250YWluZXJJbmZvKSB7XG4gIHJlc3RvcmVTZWxlY3Rpb24oc2VsZWN0aW9uSW5mb3JtYXRpb24pO1xuICBzZXRFbmFibGVkKGV2ZW50c0VuYWJsZWQpO1xuICBldmVudHNFbmFibGVkID0gbnVsbDtcbiAgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xufVxuZnVuY3Rpb24gY3JlYXRlSW5zdGFuY2UodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgLy8gVE9ETzogdGFrZSBuYW1lc3BhY2UgaW50byBhY2NvdW50IHdoZW4gdmFsaWRhdGluZy5cbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcodHlwZSwgbnVsbCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcblxuICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcbiAgICAgIHZhciBzdHJpbmcgPSAnJyArIHByb3BzLmNoaWxkcmVuO1xuICAgICAgdmFyIG93bkFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8oaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICAgIHZhbGlkYXRlRE9NTmVzdGluZyhudWxsLCBzdHJpbmcsIG93bkFuY2VzdG9ySW5mbyk7XG4gICAgfVxuXG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9XG5cbiAgdmFyIGRvbUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIHBhcmVudE5hbWVzcGFjZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIGRvbUVsZW1lbnQpO1xuICB1cGRhdGVGaWJlclByb3BzKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBhcHBlbmRJbml0aWFsQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2J1dHRvbic6XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmV0dXJuICEhcHJvcHMuYXV0b0ZvY3VzO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcHJlcGFyZVVwZGF0ZShkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcbiAge1xuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBuZXdQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBvd25BbmNlc3RvckluZm8gPSB1cGRhdGVkQW5jZXN0b3JJbmZvKGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbywgdHlwZSk7XG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaWZmUHJvcGVydGllcyhkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMpO1xufVxuZnVuY3Rpb24gc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJvcHMpIHtcbiAgcmV0dXJuIHR5cGUgPT09ICd0ZXh0YXJlYScgfHwgdHlwZSA9PT0gJ25vc2NyaXB0JyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09PSAnb2JqZWN0JyAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgIT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVRleHRJbnN0YW5jZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgdGV4dCwgaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvKTtcbiAgfVxuXG4gIHZhciB0ZXh0Tm9kZSA9IGNyZWF0ZVRleHROb2RlKHRleHQsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHRleHROb2RlKTtcbiAgcmV0dXJuIHRleHROb2RlO1xufVxuZnVuY3Rpb24gZ2V0Q3VycmVudEV2ZW50UHJpb3JpdHkoKSB7XG4gIHZhciBjdXJyZW50RXZlbnQgPSB3aW5kb3cuZXZlbnQ7XG5cbiAgaWYgKGN1cnJlbnRFdmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIERlZmF1bHRFdmVudFByaW9yaXR5O1xuICB9XG5cbiAgcmV0dXJuIGdldEV2ZW50UHJpb3JpdHkoY3VycmVudEV2ZW50LnR5cGUpO1xufVxuLy8gaWYgYSBjb21wb25lbnQganVzdCBpbXBvcnRzIFJlYWN0RE9NIChlLmcuIGZvciBmaW5kRE9NTm9kZSkuXG4vLyBTb21lIGVudmlyb25tZW50cyBtaWdodCBub3QgaGF2ZSBzZXRUaW1lb3V0IG9yIGNsZWFyVGltZW91dC5cblxudmFyIHNjaGVkdWxlVGltZW91dCA9IHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nID8gc2V0VGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBjYW5jZWxUaW1lb3V0ID0gdHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IGNsZWFyVGltZW91dCA6IHVuZGVmaW5lZDtcbnZhciBub1RpbWVvdXQgPSAtMTtcbnZhciBsb2NhbFByb21pc2UgPSB0eXBlb2YgUHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJyA/IFByb21pc2UgOiB1bmRlZmluZWQ7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBzY2hlZHVsZU1pY3JvdGFzayA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gJ2Z1bmN0aW9uJyA/IHF1ZXVlTWljcm90YXNrIDogdHlwZW9mIGxvY2FsUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGxvY2FsUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oY2FsbGJhY2spLmNhdGNoKGhhbmRsZUVycm9ySW5OZXh0VGljayk7XG59IDogc2NoZWR1bGVUaW1lb3V0OyAvLyBUT0RPOiBEZXRlcm1pbmUgdGhlIGJlc3QgZmFsbGJhY2sgaGVyZS5cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3JJbk5leHRUaWNrKGVycm9yKSB7XG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIHRocm93IGVycm9yO1xuICB9KTtcbn0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gY29tbWl0TW91bnQoZG9tRWxlbWVudCwgdHlwZSwgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XG4gIC8vIGZpcmVzIGlmIHRoZXJlIGlzIGFuIGBVcGRhdGVgIGVmZmVjdCBzY2hlZHVsZWQgZHVyaW5nIG1vdW50aW5nLlxuICAvLyBUaGlzIGhhcHBlbnMgaWYgYGZpbmFsaXplSW5pdGlhbENoaWxkcmVuYCByZXR1cm5zIGB0cnVlYCAod2hpY2ggaXRcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XG4gIC8vIHRoZXJlIGFyZSBhbHNvIG90aGVyIGNhc2VzIHdoZW4gdGhpcyBtaWdodCBoYXBwZW4gKHN1Y2ggYXMgcGF0Y2hpbmdcbiAgLy8gdXAgdGV4dCBjb250ZW50IGR1cmluZyBoeWRyYXRpb24gbWlzbWF0Y2gpLiBTbyB3ZSdsbCBjaGVjayB0aGlzIGFnYWluLlxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdidXR0b24nOlxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICBjYXNlICdzZWxlY3QnOlxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIGlmIChuZXdQcm9wcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgZG9tRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlICdpbWcnOlxuICAgICAge1xuICAgICAgICBpZiAobmV3UHJvcHMuc3JjKSB7XG4gICAgICAgICAgZG9tRWxlbWVudC5zcmMgPSBuZXdQcm9wcy5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZShkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIGludGVybmFsSW5zdGFuY2VIYW5kbGUpIHtcbiAgLy8gQXBwbHkgdGhlIGRpZmYgdG8gdGhlIERPTSBub2RlLlxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7IC8vIFVwZGF0ZSB0aGUgcHJvcHMgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB3aGljaCBwcm9wcyBhcmUgdGhlIG9uZXMgd2l0aFxuICAvLyB3aXRoIGN1cnJlbnQgZXZlbnQgaGFuZGxlcnMuXG5cbiAgdXBkYXRlRmliZXJQcm9wcyhkb21FbGVtZW50LCBuZXdQcm9wcyk7XG59XG5mdW5jdGlvbiByZXNldFRleHRDb250ZW50KGRvbUVsZW1lbnQpIHtcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xufVxuZnVuY3Rpb24gY29tbWl0VGV4dFVwZGF0ZSh0ZXh0SW5zdGFuY2UsIG9sZFRleHQsIG5ld1RleHQpIHtcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XG59XG5mdW5jdGlvbiBhcHBlbmRDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIHZhciBwYXJlbnROb2RlO1xuXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShjaGlsZCwgY29udGFpbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xuICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuICB9IC8vIFRoaXMgY29udGFpbmVyIG1pZ2h0IGJlIHVzZWQgZm9yIGEgcG9ydGFsLlxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxuICAvLyB0aHJvdWdoIHRoZSBSZWFjdCB0cmVlLiBIb3dldmVyLCBvbiBNb2JpbGUgU2FmYXJpIHRoZSBjbGljayB3b3VsZFxuICAvLyBuZXZlciBidWJibGUgdGhyb3VnaCB0aGUgKkRPTSogdHJlZSB1bmxlc3MgYW4gYW5jZXN0b3Igd2l0aCBvbmNsaWNrXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cbiAgLy8gVGhpcyBpcyB3aHkgd2UgZW5zdXJlIHRoYXQgbm9uIFJlYWN0IHJvb3QgY29udGFpbmVycyBoYXZlIGlubGluZSBvbmNsaWNrXG4gIC8vIGRlZmluZWQuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcblxuXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcblxuICBpZiAoKHJlYWN0Um9vdENvbnRhaW5lciA9PT0gbnVsbCB8fCByZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZCkgJiYgcGFyZW50Tm9kZS5vbmNsaWNrID09PSBudWxsKSB7XG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKHBhcmVudEluc3RhbmNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG59XG5mdW5jdGlvbiBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShjb250YWluZXIsIGNoaWxkLCBiZWZvcmVDaGlsZCkge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgIGNvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICB9XG59XG5mdW5jdGlvbiBjbGVhclN1c3BlbnNlQm91bmRhcnkocGFyZW50SW5zdGFuY2UsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlOyAvLyBEZWxldGUgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIGRvIHtcbiAgICB2YXIgbmV4dE5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5vZGUpO1xuXG4gICAgaWYgKG5leHROb2RlICYmIG5leHROb2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbmV4dE5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgICAgIHBhcmVudEluc3RhbmNlLnJlbW92ZUNoaWxkKG5leHROb2RlKTsgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuXG4gICAgICAgICAgcmV0cnlJZkJsb2NrZWRPbihzdXNwZW5zZUluc3RhbmNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IG5leHROb2RlO1xuICB9IHdoaWxlIChub2RlKTsgLy8gVE9ETzogV2Fybiwgd2UgZGlkbid0IGZpbmQgdGhlIGVuZCBjb21tZW50IGJvdW5kYXJ5LlxuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG5cblxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5KGNvbnRhaW5lci5wYXJlbnROb2RlLCBzdXNwZW5zZUluc3RhbmNlKTtcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShjb250YWluZXIsIHN1c3BlbnNlSW5zdGFuY2UpO1xuICB9IC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cblxuXG4gIHJldHJ5SWZCbG9ja2VkT24oY29udGFpbmVyKTtcbn1cbmZ1bmN0aW9uIGhpZGVJbnN0YW5jZShpbnN0YW5jZSkge1xuICAvLyBUT0RPOiBEb2VzIHRoaXMgd29yayBmb3IgYWxsIGVsZW1lbnQgdHlwZXM/IFdoYXQgYWJvdXQgTWF0aE1MPyBTaG91bGQgd2VcbiAgLy8gcGFzcyBob3N0IGNvbnRleHQgdG8gdGhpcyBtZXRob2Q/XG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XG4gIHZhciBzdHlsZSA9IGluc3RhbmNlLnN0eWxlO1xuXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cbn1cbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSAnJztcbn1cbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xuICBpbnN0YW5jZSA9IGluc3RhbmNlO1xuICB2YXIgc3R5bGVQcm9wID0gcHJvcHNbU1RZTEUkMV07XG4gIHZhciBkaXNwbGF5ID0gc3R5bGVQcm9wICE9PSB1bmRlZmluZWQgJiYgc3R5bGVQcm9wICE9PSBudWxsICYmIHN0eWxlUHJvcC5oYXNPd25Qcm9wZXJ0eSgnZGlzcGxheScpID8gc3R5bGVQcm9wLmRpc3BsYXkgOiBudWxsO1xuICBpbnN0YW5jZS5zdHlsZS5kaXNwbGF5ID0gZGFuZ2Vyb3VzU3R5bGVWYWx1ZSgnZGlzcGxheScsIGRpc3BsYXkpO1xufVxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gdGV4dDtcbn1cbmZ1bmN0aW9uIGNsZWFyQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICBjb250YWluZXIudGV4dENvbnRlbnQgPSAnJztcbiAgfSBlbHNlIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUpIHtcbiAgICBpZiAoY29udGFpbmVyLmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lci5kb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBjYW5IeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIGlmIChpbnN0YW5jZS5ub2RlVHlwZSAhPT0gRUxFTUVOVF9OT0RFIHx8IHR5cGUudG9Mb3dlckNhc2UoKSAhPT0gaW5zdGFuY2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYW4gZWxlbWVudCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xuICBpZiAodGV4dCA9PT0gJycgfHwgaW5zdGFuY2Uubm9kZVR5cGUgIT09IFRFWFRfTk9ERSkge1xuICAgIC8vIEVtcHR5IHN0cmluZ3MgYXJlIG5vdCBwYXJzZWQgYnkgSFRNTCBzbyB0aGVyZSB3b24ndCBiZSBhIGNvcnJlY3QgbWF0Y2ggaGVyZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGEgdGV4dCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVN1c3BlbnNlSW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgaWYgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBDT01NRU5UX05PREUpIHtcbiAgICAvLyBFbXB0eSBzdHJpbmdzIGFyZSBub3QgcGFyc2VkIGJ5IEhUTUwgc28gdGhlcmUgd29uJ3QgYmUgYSBjb3JyZWN0IG1hdGNoIGhlcmUuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gVGhpcyBoYXMgbm93IGJlZW4gcmVmaW5lZCB0byBhIHN1c3BlbnNlIG5vZGUuXG5cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZS5kYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEE7XG59XG5mdW5jdGlvbiBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2UuZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQTtcbn1cbmZ1bmN0aW9uIGdldFN1c3BlbnNlSW5zdGFuY2VGYWxsYmFja0Vycm9yRGV0YWlscyhpbnN0YW5jZSkge1xuICB2YXIgZGF0YXNldCA9IGluc3RhbmNlLm5leHRTaWJsaW5nICYmIGluc3RhbmNlLm5leHRTaWJsaW5nLmRhdGFzZXQ7XG4gIHZhciBkaWdlc3QsIG1lc3NhZ2UsIHN0YWNrO1xuXG4gIGlmIChkYXRhc2V0KSB7XG4gICAgZGlnZXN0ID0gZGF0YXNldC5kZ3N0O1xuXG4gICAge1xuICAgICAgbWVzc2FnZSA9IGRhdGFzZXQubXNnO1xuICAgICAgc3RhY2sgPSBkYXRhc2V0LnN0Y2s7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZGlnZXN0OiBkaWdlc3QsXG4gICAgICBzdGFjazogc3RhY2tcbiAgICB9O1xuICB9IC8vIGxldCB2YWx1ZSA9IHttZXNzYWdlOiB1bmRlZmluZWQsIGhhc2g6IHVuZGVmaW5lZH07XG4gIC8vIGNvbnN0IG5leHRTaWJsaW5nID0gaW5zdGFuY2UubmV4dFNpYmxpbmc7XG4gIC8vIGlmIChuZXh0U2libGluZykge1xuICAvLyAgIGNvbnN0IGRhdGFzZXQgPSAoKG5leHRTaWJsaW5nOiBhbnkpOiBIVE1MVGVtcGxhdGVFbGVtZW50KS5kYXRhc2V0O1xuICAvLyAgIHZhbHVlLm1lc3NhZ2UgPSBkYXRhc2V0Lm1zZztcbiAgLy8gICB2YWx1ZS5oYXNoID0gZGF0YXNldC5oYXNoO1xuICAvLyAgIGlmICh0cnVlKSB7XG4gIC8vICAgICB2YWx1ZS5zdGFjayA9IGRhdGFzZXQuc3RhY2s7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vIHJldHVybiB2YWx1ZTtcblxufVxuZnVuY3Rpb24gcmVnaXN0ZXJTdXNwZW5zZUluc3RhbmNlUmV0cnkoaW5zdGFuY2UsIGNhbGxiYWNrKSB7XG4gIGluc3RhbmNlLl9yZWFjdFJldHJ5ID0gY2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlKG5vZGUpIHtcbiAgLy8gU2tpcCBub24taHlkcmF0YWJsZSBub2Rlcy5cbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcbiAgICB2YXIgbm9kZVR5cGUgPSBub2RlLm5vZGVUeXBlO1xuXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBub2RlRGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKG5vZGVEYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IG5vZGVEYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlRGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyKSB7XG4gIHJldHVybiBnZXROZXh0SHlkcmF0YWJsZShwYXJlbnRDb250YWluZXIuZmlyc3RDaGlsZCk7XG59XG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLm5leHRTaWJsaW5nKTtcbn1cbmZ1bmN0aW9uIGh5ZHJhdGVJbnN0YW5jZShpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgaW5zdGFuY2UpOyAvLyBUT0RPOiBQb3NzaWJseSBkZWZlciB0aGlzIHVudGlsIHRoZSBjb21taXQgcGhhc2Ugd2hlcmUgYWxsIHRoZSBldmVudHNcbiAgLy8gZ2V0IGF0dGFjaGVkLlxuXG4gIHVwZGF0ZUZpYmVyUHJvcHMoaW5zdGFuY2UsIHByb3BzKTtcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcblxuICB7XG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xuICB9IC8vIFRPRE86IFRlbXBvcmFyeSBoYWNrIHRvIGNoZWNrIGlmIHdlJ3JlIGluIGEgY29uY3VycmVudCByb290LiBXZSBjYW4gZGVsZXRlXG4gIC8vIHdoZW4gdGhlIGxlZ2FjeSByb290IEFQSSBpcyByZW1vdmVkLlxuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVySW5zdGFuY2UsIGlzQ29uY3VycmVudE1vZGUsIHNob3VsZFdhcm5EZXYpO1xufVxuZnVuY3Rpb24gaHlkcmF0ZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UsIHRleHQsIGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHNob3VsZFdhcm5EZXYpIHtcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTsgLy8gVE9ETzogVGVtcG9yYXJ5IGhhY2sgdG8gY2hlY2sgaWYgd2UncmUgaW4gYSBjb25jdXJyZW50IHJvb3QuIFdlIGNhbiBkZWxldGVcbiAgLy8gd2hlbiB0aGUgbGVnYWN5IHJvb3QgQVBJIGlzIHJlbW92ZWQuXG5cbiAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XG59XG5mdW5jdGlvbiBoeWRyYXRlU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEh5ZHJhdGFibGVJbnN0YW5jZUFmdGVyU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKSB7XG4gIHZhciBub2RlID0gc3VzcGVuc2VJbnN0YW5jZS5uZXh0U2libGluZzsgLy8gU2tpcCBwYXN0IGFsbCBub2RlcyB3aXRoaW4gdGhpcyBzdXNwZW5zZSBib3VuZGFyeS5cbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXG5cbiAgdmFyIGRlcHRoID0gMDtcblxuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xuXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgfSAvLyBUT0RPOiBXYXJuLCB3ZSBkaWRuJ3QgZmluZCB0aGUgZW5kIGNvbW1lbnQgYm91bmRhcnkuXG5cblxuICByZXR1cm4gbnVsbDtcbn0gLy8gUmV0dXJucyB0aGUgU3VzcGVuc2VJbnN0YW5jZSBpZiB0aGlzIG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuLy8gU3VzcGVuc2VJbnN0YW5jZS4gSS5lLiBpZiBpdHMgcHJldmlvdXMgc2libGluZyBpcyBhIENvbW1lbnQgd2l0aFxuLy8gU1VTUEVOU0VfeF9TVEFSVF9EQVRBLiBPdGhlcndpc2UsIG51bGwuXG5cbmZ1bmN0aW9uIGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0SW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0YW5jZS5wcmV2aW91c1NpYmxpbmc7IC8vIFNraXAgcGFzdCBhbGwgbm9kZXMgd2l0aGluIHRoaXMgc3VzcGVuc2UgYm91bmRhcnkuXG4gIC8vIFRoZXJlIG1pZ2h0IGJlIG5lc3RlZCBub2RlcyBzbyB3ZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgaG93XG4gIC8vIGRlZXAgd2UgYXJlIGFuZCBvbmx5IGJyZWFrIG91dCB3aGVuIHdlJ3JlIGJhY2sgb24gdG9wLlxuXG4gIHZhciBkZXB0aCA9IDA7XG5cbiAgd2hpbGUgKG5vZGUpIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgZGF0YSA9IG5vZGUuZGF0YTtcblxuICAgICAgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcbiAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhID09PSBTVVNQRU5TRV9FTkRfREFUQSkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBub2RlLnByZXZpb3VzU2libGluZztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRDb250YWluZXIoY29udGFpbmVyKSB7XG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cbiAgcmV0cnlJZkJsb2NrZWRPbihjb250YWluZXIpO1xufVxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuICByZXRyeUlmQmxvY2tlZE9uKHN1c3BlbnNlSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gc2hvdWxkRGVsZXRlVW5oeWRyYXRlZFRhaWxJbnN0YW5jZXMocGFyZW50VHlwZSkge1xuICByZXR1cm4gcGFyZW50VHlwZSAhPT0gJ2hlYWQnICYmIHBhcmVudFR5cGUgIT09ICdib2R5Jztcbn1cbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0SW5zdGFuY2UsIHRleHQsIGlzQ29uY3VycmVudE1vZGUpIHtcbiAgdmFyIHNob3VsZFdhcm5EZXYgPSB0cnVlO1xuICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dEluc3RhbmNlLCB0ZXh0LCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIGlmIChwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgIHZhciBzaG91bGRXYXJuRGV2ID0gdHJ1ZTtcbiAgICBjaGVja0ZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLm5vZGVWYWx1ZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSwgc2hvdWxkV2FybkRldik7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKSB7XG4gIHtcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKTtcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVUZXh0KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWU6IE9ubHkgRWxlbWVudCBvciBEb2N1bWVudCBjYW4gYmUgcGFyZW50IG5vZGVzLlxuICAgIHZhciBwYXJlbnROb2RlID0gcGFyZW50SW5zdGFuY2UucGFyZW50Tm9kZTtcblxuICAgIGlmIChwYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBpbnN0YW5jZSwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5Db250YWluZXIocGFyZW50Q29udGFpbmVyLCB0ZXh0KSB7XG4gIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZFRleHQocGFyZW50Q29udGFpbmVyLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UocGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2VXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lOiBPbmx5IEVsZW1lbnQgb3IgRG9jdW1lbnQgY2FuIGJlIHBhcmVudCBub2Rlcy5cbiAgICB2YXIgcGFyZW50Tm9kZSA9IHBhcmVudEluc3RhbmNlLnBhcmVudE5vZGU7XG4gICAgaWYgKHBhcmVudE5vZGUgIT09IG51bGwpIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHR5cGUsIHByb3BzLCBpc0NvbmN1cnJlbnRNb2RlKSB7XG4gIHtcbiAgICBpZiAoaXNDb25jdXJyZW50TW9kZSB8fCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xuICAgICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dCwgaXNDb25jdXJyZW50TW9kZSkge1xuICB7XG4gICAgaWYgKGlzQ29uY3VycmVudE1vZGUgfHwgcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRJbnN0YW5jZSwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlcnJvckh5ZHJhdGluZ0NvbnRhaW5lcihwYXJlbnRDb250YWluZXIpIHtcbiAge1xuICAgIC8vIFRPRE86IFRoaXMgZ2V0cyBsb2dnZWQgYnkgb25SZWNvdmVyYWJsZUVycm9yLCB0b28sIHNvIHdlIHNob3VsZCBiZVxuICAgIC8vIGFibGUgdG8gcmVtb3ZlIGl0LlxuICAgIGVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLiBUaGUgc2VydmVyIEhUTUwgd2FzIHJlcGxhY2VkIHdpdGggY2xpZW50IGNvbnRlbnQgaW4gPCVzPi4nLCBwYXJlbnRDb250YWluZXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHByZXBhcmVQb3J0YWxNb3VudChwb3J0YWxJbnN0YW5jZSkge1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhwb3J0YWxJbnN0YW5jZSk7XG59XG5cbnZhciByYW5kb21LZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RGaWJlciQnICsgcmFuZG9tS2V5O1xudmFyIGludGVybmFsUHJvcHNLZXkgPSAnX19yZWFjdFByb3BzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleSA9ICdfX3JlYWN0Q29udGFpbmVyJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5ID0gJ19fcmVhY3RFdmVudHMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEV2ZW50SGFuZGxlckxpc3RlbmVyc0tleSA9ICdfX3JlYWN0TGlzdGVuZXJzJCcgKyByYW5kb21LZXk7XG52YXIgaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXkgPSAnX19yZWFjdEhhbmRsZXMkJyArIHJhbmRvbUtleTtcbmZ1bmN0aW9uIGRldGFjaERlbGV0ZWRJbnN0YW5jZShub2RlKSB7XG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb24gaG9zdCBjb21wb25lbnRzLiBJIGRvbid0IHRoaW5rIGFsbCBvZlxuICAvLyB0aGVzZSBmaWVsZHMgYXJlIHJlbGV2YW50LlxuICBkZWxldGUgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxQcm9wc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV07XG4gIGRlbGV0ZSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyTGlzdGVuZXJzS2V5XTtcbiAgZGVsZXRlIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXNTZXRLZXldO1xufVxuZnVuY3Rpb24gcHJlY2FjaGVGaWJlck5vZGUoaG9zdEluc3QsIG5vZGUpIHtcbiAgbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSA9IGhvc3RJbnN0O1xufVxuZnVuY3Rpb24gbWFya0NvbnRhaW5lckFzUm9vdChob3N0Um9vdCwgbm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gaG9zdFJvb3Q7XG59XG5mdW5jdGlvbiB1bm1hcmtDb250YWluZXJBc1Jvb3Qobm9kZSkge1xuICBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcbiAgcmV0dXJuICEhbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XTtcbn0gLy8gR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBjbG9zZXN0IEhvc3RDb21wb25lbnQgb3IgSG9zdFRleHQgZmliZXIgYW5jZXN0b3IuXG4vLyBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGFydCBvZiBhIGh5ZHJhdGVkIG9yIG5vdCB5ZXQgcmVuZGVyZWQgc3VidHJlZSwgdGhlblxuLy8gdGhpcyBtYXkgYWxzbyByZXR1cm4gYSBTdXNwZW5zZUNvbXBvbmVudCBvciBIb3N0Um9vdCB0byBpbmRpY2F0ZSB0aGF0LlxuLy8gQ29uY2VwdHVhbGx5IHRoZSBIb3N0Um9vdCBmaWJlciBpcyBhIGNoaWxkIG9mIHRoZSBDb250YWluZXIgbm9kZS4gU28gaWYgeW91XG4vLyBwYXNzIHRoZSBDb250YWluZXIgbm9kZSBhcyB0aGUgdGFyZ2V0Tm9kZSwgeW91IHdpbGwgbm90IGFjdHVhbGx5IGdldCB0aGVcbi8vIEhvc3RSb290IGJhY2suIFRvIGdldCB0byB0aGUgSG9zdFJvb3QsIHlvdSBuZWVkIHRvIHBhc3MgYSBjaGlsZCBvZiBpdC5cbi8vIFRoZSBzYW1lIHRoaW5nIGFwcGxpZXMgdG8gU3VzcGVuc2UgYm91bmRhcmllcy5cblxuZnVuY3Rpb24gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUodGFyZ2V0Tm9kZSkge1xuICB2YXIgdGFyZ2V0SW5zdCA9IHRhcmdldE5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV07XG5cbiAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAvLyBEb24ndCByZXR1cm4gSG9zdFJvb3Qgb3IgU3VzcGVuc2VDb21wb25lbnQgaGVyZS5cbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgfSAvLyBJZiB0aGUgZGlyZWN0IGV2ZW50IHRhcmdldCBpc24ndCBhIFJlYWN0IG93bmVkIERPTSBub2RlLCB3ZSBuZWVkIHRvIGxvb2tcbiAgLy8gdG8gc2VlIGlmIG9uZSBvZiBpdHMgcGFyZW50cyBpcyBhIFJlYWN0IG93bmVkIERPTSBub2RlLlxuXG5cbiAgdmFyIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XG5cbiAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAvLyBXZSdsbCBjaGVjayBpZiB0aGlzIGlzIGEgY29udGFpbmVyIHJvb3QgdGhhdCBjb3VsZCBpbmNsdWRlXG4gICAgLy8gUmVhY3Qgbm9kZXMgaW4gdGhlIGZ1dHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2VcbiAgICAvLyBpZiB3ZSdyZSBhIGNoaWxkIG9mIGEgZGVoeWRyYXRlZCBjb250YWluZXIsIHdlIG5lZWQgdG8gZmlyc3RcbiAgICAvLyBmaW5kIHRoYXQgaW5uZXIgY29udGFpbmVyIGJlZm9yZSBtb3Zpbmcgb24gdG8gZmluZGluZyB0aGUgcGFyZW50XG4gICAgLy8gaW5zdGFuY2UuIE5vdGUgdGhhdCB3ZSBkb24ndCBjaGVjayB0aGlzIGZpZWxkIG9uICB0aGUgdGFyZ2V0Tm9kZVxuICAgIC8vIGl0c2VsZiBiZWNhdXNlIHRoZSBmaWJlcnMgYXJlIGNvbmNlcHR1YWxseSBiZXR3ZWVuIHRoZSBjb250YWluZXJcbiAgICAvLyBub2RlIGFuZCB0aGUgZmlyc3QgY2hpbGQuIEl0IGlzbid0IHN1cnJvdW5kaW5nIHRoZSBjb250YWluZXIgbm9kZS5cbiAgICAvLyBJZiBpdCdzIG5vdCBhIGNvbnRhaW5lciwgd2UgY2hlY2sgaWYgaXQncyBhbiBpbnN0YW5jZS5cbiAgICB0YXJnZXRJbnN0ID0gcGFyZW50Tm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSB8fCBwYXJlbnROb2RlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgaWYgKHRhcmdldEluc3QpIHtcbiAgICAgIC8vIFNpbmNlIHRoaXMgd2Fzbid0IHRoZSBkaXJlY3QgdGFyZ2V0IG9mIHRoZSBldmVudCwgd2UgbWlnaHQgaGF2ZVxuICAgICAgLy8gc3RlcHBlZCBwYXN0IGRlaHlkcmF0ZWQgRE9NIG5vZGVzIHRvIGdldCBoZXJlLiBIb3dldmVyIHRoZXkgY291bGRcbiAgICAgIC8vIGFsc28gaGF2ZSBiZWVuIG5vbi1SZWFjdCBub2Rlcy4gV2UgbmVlZCB0byBhbnN3ZXIgd2hpY2ggb25lLlxuICAgICAgLy8gSWYgd2UgdGhlIGluc3RhbmNlIGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4sIHRoZW4gdGhlcmUgY2FuJ3QgYmVcbiAgICAgIC8vIGEgbmVzdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IHdpdGhpbiBpdC4gU28gd2UgY2FuIHVzZSB0aGlzIGFzIGEgZmFzdFxuICAgICAgLy8gYmFpbG91dC4gTW9zdCBvZiB0aGUgdGltZSwgd2hlbiBwZW9wbGUgYWRkIG5vbi1SZWFjdCBjaGlsZHJlbiB0b1xuICAgICAgLy8gdGhlIHRyZWUsIGl0IGlzIHVzaW5nIGEgcmVmIHRvIGEgY2hpbGQtbGVzcyBET00gbm9kZS5cbiAgICAgIC8vIE5vcm1hbGx5IHdlJ2Qgb25seSBuZWVkIHRvIGNoZWNrIG9uZSBvZiB0aGUgZmliZXJzIGJlY2F1c2UgaWYgaXRcbiAgICAgIC8vIGhhcyBldmVyIGdvbmUgZnJvbSBoYXZpbmcgY2hpbGRyZW4gdG8gZGVsZXRpbmcgdGhlbSBvciB2aWNlIHZlcnNhXG4gICAgICAvLyBpdCB3b3VsZCBoYXZlIGRlbGV0ZWQgdGhlIGRlaHlkcmF0ZWQgYm91bmRhcnkgbmVzdGVkIGluc2lkZSBhbHJlYWR5LlxuICAgICAgLy8gSG93ZXZlciwgc2luY2UgdGhlIEhvc3RSb290IHN0YXJ0cyBvdXQgd2l0aCBhbiBhbHRlcm5hdGUgaXQgbWlnaHRcbiAgICAgIC8vIGhhdmUgb25lIG9uIHRoZSBhbHRlcm5hdGUgc28gd2UgbmVlZCB0byBjaGVjayBpbiBjYXNlIHRoaXMgd2FzIGFcbiAgICAgIC8vIHJvb3QuXG4gICAgICB2YXIgYWx0ZXJuYXRlID0gdGFyZ2V0SW5zdC5hbHRlcm5hdGU7XG5cbiAgICAgIGlmICh0YXJnZXRJbnN0LmNoaWxkICE9PSBudWxsIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhlIG5vZGUgdGhhdCBza2lwcGVkIHBhc3QgaXNcbiAgICAgICAgLy8gbmVzdGVkIHdpdGhpbiBhIGRlaHlkcmF0ZWQgYm91bmRhcnkgYW5kIGlmIHNvLCB3aGljaCBvbmUuXG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXROb2RlKTtcblxuICAgICAgICB3aGlsZSAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIGZvdW5kIGEgc3VzcGVuc2UgaW5zdGFuY2UuIFRoYXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0XG4gICAgICAgICAgLy8gaHlkcmF0ZWQgaXQgeWV0LiBFdmVuIHRob3VnaCB3ZSBsZWF2ZSB0aGUgY29tbWVudHMgaW4gdGhlXG4gICAgICAgICAgLy8gRE9NIGFmdGVyIGh5ZHJhdGluZywgYW5kIHRoZXJlIGFyZSBib3VuZGFyaWVzIGluIHRoZSBET01cbiAgICAgICAgICAvLyB0aGF0IGNvdWxkIGFscmVhZHkgYmUgaHlkcmF0ZWQsIHdlIHdvdWxkbid0IGhhdmUgZm91bmQgdGhlbVxuICAgICAgICAgIC8vIHRocm91Z2ggdGhpcyBwYXNzIHNpbmNlIGlmIHRoZSB0YXJnZXQgaXMgaHlkcmF0ZWQgaXQgd291bGRcbiAgICAgICAgICAvLyBoYXZlIGhhZCBhbiBpbnRlcm5hbEluc3RhbmNlS2V5IG9uIGl0LlxuICAgICAgICAgIC8vIExldCdzIGdldCB0aGUgZmliZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBTdXNwZW5zZUNvbXBvbmVudFxuICAgICAgICAgIC8vIGFzIHRoZSBkZWVwZXN0IGluc3RhbmNlLlxuICAgICAgICAgIHZhciB0YXJnZXRTdXNwZW5zZUluc3QgPSBzdXNwZW5zZUluc3RhbmNlW2ludGVybmFsSW5zdGFuY2VLZXldO1xuXG4gICAgICAgICAgaWYgKHRhcmdldFN1c3BlbnNlSW5zdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFN1c3BlbnNlSW5zdDtcbiAgICAgICAgICB9IC8vIElmIHdlIGRvbid0IGZpbmQgYSBGaWJlciBvbiB0aGUgY29tbWVudCwgaXQgbWlnaHQgYmUgYmVjYXVzZVxuICAgICAgICAgIC8vIHdlIGhhdmVuJ3QgZ290dGVuIHRvIGh5ZHJhdGUgaXQgeWV0LiBUaGVyZSBtaWdodCBzdGlsbCBiZSBhXG4gICAgICAgICAgLy8gcGFyZW50IGJvdW5kYXJ5IHRoYXQgaGFzbid0IGFib3ZlIHRoaXMgb25lIHNvIHdlIG5lZWQgdG8gZmluZFxuICAgICAgICAgIC8vIHRoZSBvdXRlciBtb3N0IHRoYXQgaXMga25vd24uXG5cblxuICAgICAgICAgIHN1c3BlbnNlSW5zdGFuY2UgPSBnZXRQYXJlbnRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpOyAvLyBJZiB3ZSBkb24ndCBmaW5kIG9uZSwgdGhlbiB0aGF0IHNob3VsZCBtZWFuIHRoYXQgdGhlIHBhcmVudFxuICAgICAgICAgIC8vIGhvc3QgY29tcG9uZW50IGFsc28gaGFzbid0IGh5ZHJhdGVkIHlldC4gV2UgY2FuIHJldHVybiBpdFxuICAgICAgICAgIC8vIGJlbG93IHNpbmNlIGl0IHdpbGwgYmFpbCBvdXQgb24gdGhlIGlzTW91bnRlZCBjaGVjayBsYXRlci5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgICB9XG5cbiAgICB0YXJnZXROb2RlID0gcGFyZW50Tm9kZTtcbiAgICBwYXJlbnROb2RlID0gdGFyZ2V0Tm9kZS5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgRE9NIG5vZGUsIHJldHVybiB0aGUgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50XG4gKiBpbnN0YW5jZSwgb3IgbnVsbCBpZiB0aGUgbm9kZSB3YXMgbm90IHJlbmRlcmVkIGJ5IHRoaXMgUmVhY3QuXG4gKi9cblxuZnVuY3Rpb24gZ2V0SW5zdGFuY2VGcm9tTm9kZShub2RlKSB7XG4gIHZhciBpbnN0ID0gbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSB8fCBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xuXG4gIGlmIChpbnN0KSB7XG4gICAgaWYgKGluc3QudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0VGV4dCB8fCBpbnN0LnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICByZXR1cm4gaW5zdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIEdpdmVuIGEgUmVhY3RET01Db21wb25lbnQgb3IgUmVhY3RET01UZXh0Q29tcG9uZW50LCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmdcbiAqIERPTSBub2RlLlxuICovXG5cbmZ1bmN0aW9uIGdldE5vZGVGcm9tSW5zdGFuY2UoaW5zdCkge1xuICBpZiAoaW5zdC50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXG4gICAgLy8gYSBob3N0IGNvbXBvbmVudCBvciBob3N0IHRleHQuXG4gICAgcmV0dXJuIGluc3Quc3RhdGVOb2RlO1xuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxuICAvLyBpbnZhcmlhbnQgZm9yIGEgbWlzc2luZyBwYXJlbnQsIHdoaWNoIGlzIHN1cGVyIGNvbmZ1c2luZy5cblxuXG4gIHRocm93IG5ldyBFcnJvcignZ2V0Tm9kZUZyb21JbnN0YW5jZTogSW52YWxpZCBhcmd1bWVudC4nKTtcbn1cbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZVtpbnRlcm5hbFByb3BzS2V5XSB8fCBudWxsO1xufVxuZnVuY3Rpb24gdXBkYXRlRmliZXJQcm9wcyhub2RlLCBwcm9wcykge1xuICBub2RlW2ludGVybmFsUHJvcHNLZXldID0gcHJvcHM7XG59XG5mdW5jdGlvbiBnZXRFdmVudExpc3RlbmVyU2V0KG5vZGUpIHtcbiAgdmFyIGVsZW1lbnRMaXN0ZW5lclNldCA9IG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XTtcblxuICBpZiAoZWxlbWVudExpc3RlbmVyU2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50TGlzdGVuZXJTZXQgPSBub2RlW2ludGVybmFsRXZlbnRIYW5kbGVyc0tleV0gPSBuZXcgU2V0KCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudExpc3RlbmVyU2V0O1xufVxuXG52YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGVsZW1lbnQpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWUgVGhpcyBpcyBva2F5IGJ1dCBGbG93IGRvZXNuJ3Qga25vdyBpdC5cbiAgICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKGhhc093blByb3BlcnR5KTtcblxuICAgIGZvciAodmFyIHR5cGVTcGVjTmFtZSBpbiB0eXBlU3BlY3MpIHtcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XG4gICAgICAgIHZhciBlcnJvciQxID0gdm9pZCAwOyAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhbiBpbnZhcmlhbnQgdGhhdCBnZXRzIGNhdWdodC4gSXQncyB0aGUgc2FtZVxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSArICdgLicgKyAnVGhpcyBvZnRlbiBoYXBwZW5zIGJlY2F1c2Ugb2YgdHlwb3Mgc3VjaCBhcyBgUHJvcFR5cGVzLmZ1bmN0aW9uYCBpbnN0ZWFkIG9mIGBQcm9wVHlwZXMuZnVuY2AuJyk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlcnJvciQxID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnKTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciQxID0gZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSAmJiAhKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCclczogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICVzJyArICcgYCVzYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgKyAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJXMuICcgKyAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgKyAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIGVycm9yJDEpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IkMS5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvciQxLm1lc3NhZ2VdID0gdHJ1ZTtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCdGYWlsZWQgJXMgdHlwZTogJXMnLCBsb2NhdGlvbiwgZXJyb3IkMS5tZXNzYWdlKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciB2YWx1ZVN0YWNrID0gW107XG52YXIgZmliZXJTdGFjaztcblxue1xuICBmaWJlclN0YWNrID0gW107XG59XG5cbnZhciBpbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjcmVhdGVDdXJzb3IoZGVmYXVsdFZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudDogZGVmYXVsdFZhbHVlXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBvcChjdXJzb3IsIGZpYmVyKSB7XG4gIGlmIChpbmRleCA8IDApIHtcbiAgICB7XG4gICAgICBlcnJvcignVW5leHBlY3RlZCBwb3AuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChmaWJlciAhPT0gZmliZXJTdGFja1tpbmRleF0pIHtcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIEZpYmVyIHBvcHBlZC4nKTtcbiAgICB9XG4gIH1cblxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlU3RhY2tbaW5kZXhdO1xuICB2YWx1ZVN0YWNrW2luZGV4XSA9IG51bGw7XG5cbiAge1xuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gbnVsbDtcbiAgfVxuXG4gIGluZGV4LS07XG59XG5cbmZ1bmN0aW9uIHB1c2goY3Vyc29yLCB2YWx1ZSwgZmliZXIpIHtcbiAgaW5kZXgrKztcbiAgdmFsdWVTdGFja1tpbmRleF0gPSBjdXJzb3IuY3VycmVudDtcblxuICB7XG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBmaWJlcjtcbiAgfVxuXG4gIGN1cnNvci5jdXJyZW50ID0gdmFsdWU7XG59XG5cbnZhciB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHQ7XG5cbntcbiAgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0ID0ge307XG59XG5cbnZhciBlbXB0eUNvbnRleHRPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5Q29udGV4dE9iamVjdCk7XG59IC8vIEEgY3Vyc29yIHRvIHRoZSBjdXJyZW50IG1lcmdlZCBjb250ZXh0IG9iamVjdCBvbiB0aGUgc3RhY2suXG5cblxudmFyIGNvbnRleHRTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihlbXB0eUNvbnRleHRPYmplY3QpOyAvLyBBIGN1cnNvciB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjb250ZXh0IGhhcyBjaGFuZ2VkLlxuXG52YXIgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihmYWxzZSk7IC8vIEtlZXAgdHJhY2sgb2YgdGhlIHByZXZpb3VzIGNvbnRleHQgb2JqZWN0IHRoYXQgd2FzIG9uIHRoZSBzdGFjay5cbi8vIFdlIHVzZSB0aGlzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIHBhcmVudCBjb250ZXh0IGFmdGVyIHdlIGhhdmUgYWxyZWFkeVxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cblxudmFyIHByZXZpb3VzQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuZnVuY3Rpb24gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlcikge1xuICB7XG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAvLyBJZiB0aGUgZmliZXIgaXMgYSBjb250ZXh0IHByb3ZpZGVyIGl0c2VsZiwgd2hlbiB3ZSByZWFkIGl0cyBjb250ZXh0XG4gICAgICAvLyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IHB1c2hlZCBpdHMgb3duIGNoaWxkIGNvbnRleHQgb24gdGhlIHN0YWNrLiBBIGNvbnRleHRcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXCJzZWVcIiBpdHMgb3duIGNoaWxkIGNvbnRleHQuIFRoZXJlZm9yZSB3ZSByZWFkIHRoZVxuICAgICAgLy8gcHJldmlvdXMgKHBhcmVudCkgY29udGV4dCBpbnN0ZWFkIGZvciBhIGNvbnRleHQgcHJvdmlkZXIuXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgbWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPSB1bm1hc2tlZENvbnRleHQ7XG4gICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQgPSBtYXNrZWRDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xuICB7XG4gICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcblxuICAgIGlmICghY29udGV4dFR5cGVzKSB7XG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xuICAgIH0gLy8gQXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgdW5tYXNrZWQgY29udGV4dCBoYXMgY2hhbmdlZC5cbiAgICAvLyBGYWlsaW5nIHRvIGRvIHRoaXMgd2lsbCByZXN1bHQgaW4gdW5uZWNlc3NhcnkgY2FsbHMgdG8gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcy5cbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID09PSB1bm1hc2tlZENvbnRleHQpIHtcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY29udGV4dCA9IHt9O1xuXG4gICAgZm9yICh2YXIga2V5IGluIGNvbnRleHRUeXBlcykge1xuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XG4gICAgfVxuXG4gICAge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnVW5rbm93bic7XG4gICAgICBjaGVja1Byb3BUeXBlcyhjb250ZXh0VHlwZXMsIGNvbnRleHQsICdjb250ZXh0JywgbmFtZSk7XG4gICAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXG5cblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc0NvbnRleHRDaGFuZ2VkKCkge1xuICB7XG4gICAgcmV0dXJuIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRQcm92aWRlcih0eXBlKSB7XG4gIHtcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBmaWJlcik7XG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlcikge1xuICB7XG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHVzaFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlciwgY29udGV4dCwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICBpZiAoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGNvbnRleHQgZm91bmQgb24gc3RhY2suICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciwgY29udGV4dCwgZmliZXIpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgdHlwZSwgcGFyZW50Q29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IHR5cGUuY2hpbGRDb250ZXh0VHlwZXM7IC8vIFRPRE8gKGJ2YXVnaG4pIFJlcGxhY2UgdGhpcyBiZWhhdmlvciB3aXRoIGFuIGludmFyaWFudCgpIGluIHRoZSBmdXR1cmUuXG4gICAgLy8gSXQgaGFzIG9ubHkgYmVlbiBhZGRlZCBpbiBGaWJlciB0byBtYXRjaCB0aGUgKHVuaW50ZW50aW9uYWwpIGJlaGF2aW9yIGluIFN0YWNrLlxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgaWYgKCF3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB3YXJuZWRBYm91dE1pc3NpbmdHZXRDaGlsZENvbnRleHRbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzLmNoaWxkQ29udGV4dFR5cGVzIGlzIHNwZWNpZmllZCBidXQgdGhlcmUgaXMgbm8gZ2V0Q2hpbGRDb250ZXh0KCkgbWV0aG9kICcgKyAnb24gdGhlIGluc3RhbmNlLiBZb3UgY2FuIGVpdGhlciBkZWZpbmUgZ2V0Q2hpbGRDb250ZXh0KCkgb24gJXMgb3IgcmVtb3ZlICcgKyAnY2hpbGRDb250ZXh0VHlwZXMgZnJvbSBpdC4nLCBjb21wb25lbnROYW1lLCBjb21wb25lbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50Q29udGV4dDtcbiAgICB9XG5cbiAgICB2YXIgY2hpbGRDb250ZXh0ID0gaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0KCk7XG5cbiAgICBmb3IgKHZhciBjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dCkge1xuICAgICAgaWYgKCEoY29udGV4dEtleSBpbiBjaGlsZENvbnRleHRUeXBlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bicpICsgXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFwiXCIgKyBjb250ZXh0S2V5ICsgXCJcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdVbmtub3duJztcbiAgICAgIGNoZWNrUHJvcFR5cGVzKGNoaWxkQ29udGV4dFR5cGVzLCBjaGlsZENvbnRleHQsICdjaGlsZCBjb250ZXh0JywgbmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2lnbih7fSwgcGFyZW50Q29udGV4dCwgY2hpbGRDb250ZXh0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cbiAgICAvLyBJZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgZXhpc3QgeWV0LCB3ZSB3aWxsIHB1c2ggbnVsbCBhdCBmaXJzdCxcbiAgICAvLyBhbmQgcmVwbGFjZSBpdCBvbiB0aGUgc3RhY2sgbGF0ZXIgd2hlbiBpbnZhbGlkYXRpbmcgdGhlIGNvbnRleHQuXG5cbiAgICB2YXIgbWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCB8fCBlbXB0eUNvbnRleHRPYmplY3Q7IC8vIFJlbWVtYmVyIHRoZSBwYXJlbnQgY29udGV4dCBzbyB3ZSBjYW4gbWVyZ2Ugd2l0aCBpdCBsYXRlci5cbiAgICAvLyBJbmhlcml0IHRoZSBwYXJlbnQncyBkaWQtcGVyZm9ybS13b3JrIHZhbHVlIHRvIGF2b2lkIGluYWR2ZXJ0ZW50bHkgYmxvY2tpbmcgdXBkYXRlcy5cblxuICAgIHByZXZpb3VzQ29udGV4dCA9IGNvbnRleHRTdGFja0N1cnNvci5jdXJyZW50O1xuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgdHlwZSwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYW4gaW5zdGFuY2UgYnkgdGhpcyBwb2ludC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIGlmIChkaWRDaGFuZ2UpIHtcbiAgICAgIC8vIE1lcmdlIHBhcmVudCBhbmQgb3duIGNvbnRleHQuXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXG4gICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyaWx5IHJlY29tcHV0aW5nIG1lbW9pemVkIHZhbHVlcy5cbiAgICAgIHZhciBtZXJnZWRDb250ZXh0ID0gcHJvY2Vzc0NoaWxkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdHlwZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxuICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRvIHVud2luZCB0aGUgY29udGV4dCBpbiB0aGUgcmV2ZXJzZSBvcmRlci5cblxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHBvcChjb250ZXh0U3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTsgLy8gTm93IHB1c2ggdGhlIG5ldyBjb250ZXh0IGFuZCBtYXJrIHRoYXQgaXQgaGFzIGNoYW5nZWQuXG5cbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBwdXNoKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGRpZENoYW5nZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIC8vIEN1cnJlbnRseSB0aGlzIGlzIG9ubHkgdXNlZCB3aXRoIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyOyBub3Qgc3VyZSBpZiBpdFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxuICAgIGlmICghaXNGaWJlck1vdW50ZWQoZmliZXIpIHx8IGZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgc3VidHJlZSBwYXJlbnQgdG8gYmUgYSBtb3VudGVkIGNsYXNzIGNvbXBvbmVudC4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICBkbyB7XG4gICAgICBzd2l0Y2ggKG5vZGUudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLmNvbnRleHQ7XG5cbiAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gbm9kZS50eXBlO1xuXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH0gd2hpbGUgKG5vZGUgIT09IG51bGwpO1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgcGFyZW50LiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cbn1cblxudmFyIExlZ2FjeVJvb3QgPSAwO1xudmFyIENvbmN1cnJlbnRSb290ID0gMTtcblxudmFyIHN5bmNRdWV1ZSA9IG51bGw7XG52YXIgaW5jbHVkZXNMZWdhY3lTeW5jQ2FsbGJhY2tzID0gZmFsc2U7XG52YXIgaXNGbHVzaGluZ1N5bmNRdWV1ZSA9IGZhbHNlO1xuZnVuY3Rpb24gc2NoZWR1bGVTeW5jQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAgLy8gUHVzaCB0aGlzIGNhbGxiYWNrIGludG8gYW4gaW50ZXJuYWwgcXVldWUuIFdlJ2xsIGZsdXNoIHRoZXNlIGVpdGhlciBpblxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXG4gIGlmIChzeW5jUXVldWUgPT09IG51bGwpIHtcbiAgICBzeW5jUXVldWUgPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIC8vIFB1c2ggb250byBleGlzdGluZyBxdWV1ZS4gRG9uJ3QgbmVlZCB0byBzY2hlZHVsZSBhIGNhbGxiYWNrIGJlY2F1c2VcbiAgICAvLyB3ZSBhbHJlYWR5IHNjaGVkdWxlZCBvbmUgd2hlbiB3ZSBjcmVhdGVkIHRoZSBxdWV1ZS5cbiAgICBzeW5jUXVldWUucHVzaChjYWxsYmFjayk7XG4gIH1cbn1cbmZ1bmN0aW9uIHNjaGVkdWxlTGVnYWN5U3luY0NhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IHRydWU7XG4gIHNjaGVkdWxlU3luY0NhbGxiYWNrKGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKSB7XG4gIC8vIE9ubHkgZmx1c2hlcyB0aGUgcXVldWUgaWYgdGhlcmUncyBhIGxlZ2FjeSBzeW5jIGNhbGxiYWNrIHNjaGVkdWxlZC5cbiAgLy8gVE9ETzogVGhlcmUncyBvbmx5IGEgc2luZ2xlIHR5cGUgb2YgY2FsbGJhY2s6IHBlcmZvcm1TeW5jT25Xb3JrT25Sb290LiBTb1xuICAvLyBpdCBtaWdodCBtYWtlIG1vcmUgc2Vuc2UgZm9yIHRoZSBxdWV1ZSB0byBiZSBhIGxpc3Qgb2Ygcm9vdHMgaW5zdGVhZCBvZiBhXG4gIC8vIGxpc3Qgb2YgZ2VuZXJpYyBjYWxsYmFja3MuIFRoZW4gd2UgY2FuIGhhdmUgdHdvOiBvbmUgZm9yIGxlZ2FjeSByb290cywgb25lXG4gIC8vIGZvciBjb25jdXJyZW50IHJvb3RzLiBBbmQgdGhpcyBtZXRob2Qgd291bGQgb25seSBmbHVzaCB0aGUgbGVnYWN5IG9uZXMuXG4gIGlmIChpbmNsdWRlc0xlZ2FjeVN5bmNDYWxsYmFja3MpIHtcbiAgICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcbiAgfVxufVxuZnVuY3Rpb24gZmx1c2hTeW5jQ2FsbGJhY2tzKCkge1xuICBpZiAoIWlzRmx1c2hpbmdTeW5jUXVldWUgJiYgc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gdHJ1ZTtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHByZXZpb3VzVXBkYXRlUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcblxuICAgIHRyeSB7XG4gICAgICB2YXIgaXNTeW5jID0gdHJ1ZTtcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTsgLy8gVE9ETzogSXMgdGhpcyBuZWNlc3NhcnkgYW55bW9yZT8gVGhlIG9ubHkgdXNlciBjb2RlIHRoYXQgcnVucyBpbiB0aGlzXG4gICAgICAvLyBxdWV1ZSBpcyBpbiB0aGUgcmVuZGVyIG9yIGNvbW1pdCBwaGFzZXMuXG5cbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHF1ZXVlW2ldO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKGlzU3luYyk7XG4gICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgIH1cblxuICAgICAgc3luY1F1ZXVlID0gbnVsbDtcbiAgICAgIGluY2x1ZGVzTGVnYWN5U3luY0NhbGxiYWNrcyA9IGZhbHNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICBpZiAoc3luY1F1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHN5bmNRdWV1ZSA9IHN5bmNRdWV1ZS5zbGljZShpICsgMSk7XG4gICAgICB9IC8vIFJlc3VtZSBmbHVzaGluZyBpbiB0aGUgbmV4dCB0aWNrXG5cblxuICAgICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVQcmlvcml0eSk7XG4gICAgICBpc0ZsdXNoaW5nU3luY1F1ZXVlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFRPRE86IFVzZSB0aGUgdW5pZmllZCBmaWJlciBzdGFjayBtb2R1bGUgaW5zdGVhZCBvZiB0aGlzIGxvY2FsIG9uZT9cbi8vIEludGVudGlvbmFsbHkgbm90IHVzaW5nIGl0IHlldCB0byBkZXJpc2sgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIGJlY2F1c2Vcbi8vIHRoZSB3YXkgd2UgcHVzaC9wb3AgdGhlc2UgdmFsdWVzIGlzIGEgYml0IHVudXN1YWwuIElmIHRoZXJlJ3MgYSBtaXN0YWtlLCBJJ2Rcbi8vIHJhdGhlciB0aGUgaWRzIGJlIHdyb25nIHRoYW4gY3Jhc2ggdGhlIHdob2xlIHJlY29uY2lsZXIuXG52YXIgZm9ya1N0YWNrID0gW107XG52YXIgZm9ya1N0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVGb3JrUHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVGb3JrQ291bnQgPSAwO1xudmFyIGlkU3RhY2sgPSBbXTtcbnZhciBpZFN0YWNrSW5kZXggPSAwO1xudmFyIHRyZWVDb250ZXh0UHJvdmlkZXIgPSBudWxsO1xudmFyIHRyZWVDb250ZXh0SWQgPSAxO1xudmFyIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSAnJztcbmZ1bmN0aW9uIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIHJldHVybiAod29ya0luUHJvZ3Jlc3MuZmxhZ3MgJiBGb3JrZWQpICE9PSBOb0ZsYWdzO1xufVxuZnVuY3Rpb24gZ2V0Rm9ya3NBdExldmVsKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuICByZXR1cm4gdHJlZUZvcmtDb3VudDtcbn1cbmZ1bmN0aW9uIGdldFRyZWVJZCgpIHtcbiAgdmFyIG92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdztcbiAgdmFyIGlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgaWQgPSBpZFdpdGhMZWFkaW5nQml0ICYgfmdldExlYWRpbmdCaXQoaWRXaXRoTGVhZGluZ0JpdCk7XG4gIHJldHVybiBpZC50b1N0cmluZygzMikgKyBvdmVyZmxvdztcbn1cbmZ1bmN0aW9uIHB1c2hUcmVlRm9yayh3b3JrSW5Qcm9ncmVzcywgdG90YWxDaGlsZHJlbikge1xuICAvLyBUaGlzIGlzIGNhbGxlZCByaWdodCBhZnRlciB3ZSByZWNvbmNpbGUgYW4gYXJyYXkgKG9yIGl0ZXJhdG9yKSBvZiBjaGlsZFxuICAvLyBmaWJlcnMsIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIGtub3cgaG93IG1hbnkgY2hpbGRyZW4gaW5cbiAgLy8gdGhlIHdob2xlIHNldCB3aXRob3V0IGRvaW5nIGV4dHJhIHdvcmsgbGF0ZXIsIG9yIHN0b3JpbmcgYWRkdGlvbmFsXG4gIC8vIGluZm9ybWF0aW9uIG9uIHRoZSBmaWJlci5cbiAgLy9cbiAgLy8gVGhhdCdzIHdoeSB0aGlzIGZ1bmN0aW9uIGlzIHNlcGFyYXRlIGZyb20gcHVzaFRyZWVJZCDigJQgaXQncyBjYWxsZWQgZHVyaW5nXG4gIC8vIHRoZSByZW5kZXIgcGhhc2Ugb2YgdGhlIGZvcmsgcGFyZW50LCBub3QgdGhlIGNoaWxkLCB3aGljaCBpcyB3aGVyZSB3ZSBwdXNoXG4gIC8vIHRoZSBvdGhlciBjb250ZXh0IHZhbHVlcy5cbiAgLy9cbiAgLy8gSW4gdGhlIEZpenogaW1wbGVtZW50YXRpb24gdGhpcyBpcyBtdWNoIHNpbXBsZXIgYmVjYXVzZSB0aGUgY2hpbGQgaXNcbiAgLy8gcmVuZGVyZWQgaW4gdGhlIHNhbWUgY2FsbHN0YWNrIGFzIHRoZSBwYXJlbnQuXG4gIC8vXG4gIC8vIEl0IG1pZ2h0IGJlIGJldHRlciB0byBqdXN0IGFkZCBhIGBmb3Jrc2AgZmllbGQgdG8gdGhlIEZpYmVyIHR5cGUuIEl0IHdvdWxkXG4gIC8vIG1ha2UgdGhpcyBtb2R1bGUgc2ltcGxlci5cbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrQ291bnQ7XG4gIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleCsrXSA9IHRyZWVGb3JrUHJvdmlkZXI7XG4gIHRyZWVGb3JrUHJvdmlkZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdHJlZUZvcmtDb3VudCA9IHRvdGFsQ2hpbGRyZW47XG59XG5mdW5jdGlvbiBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCB0b3RhbENoaWxkcmVuLCBpbmRleCkge1xuICB3YXJuSWZOb3RIeWRyYXRpbmcoKTtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dElkO1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0T3ZlcmZsb3c7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRQcm92aWRlcjtcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xuICB2YXIgYmFzZUlkV2l0aExlYWRpbmdCaXQgPSB0cmVlQ29udGV4dElkO1xuICB2YXIgYmFzZU92ZXJmbG93ID0gdHJlZUNvbnRleHRPdmVyZmxvdzsgLy8gVGhlIGxlZnRtb3N0IDEgbWFya3MgdGhlIGVuZCBvZiB0aGUgc2VxdWVuY2UsIG5vbi1pbmNsdXNpdmUuIEl0J3Mgbm90IHBhcnRcbiAgLy8gb2YgdGhlIGlkOyB3ZSB1c2UgaXQgdG8gYWNjb3VudCBmb3IgbGVhZGluZyAwcy5cblxuICB2YXIgYmFzZUxlbmd0aCA9IGdldEJpdExlbmd0aChiYXNlSWRXaXRoTGVhZGluZ0JpdCkgLSAxO1xuICB2YXIgYmFzZUlkID0gYmFzZUlkV2l0aExlYWRpbmdCaXQgJiB+KDEgPDwgYmFzZUxlbmd0aCk7XG4gIHZhciBzbG90ID0gaW5kZXggKyAxO1xuICB2YXIgbGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgYmFzZUxlbmd0aDsgLy8gMzAgaXMgdGhlIG1heCBsZW5ndGggd2UgY2FuIHN0b3JlIHdpdGhvdXQgb3ZlcmZsb3dpbmcsIHRha2luZyBpbnRvXG4gIC8vIGNvbnNpZGVyYXRpb24gdGhlIGxlYWRpbmcgMSB3ZSB1c2UgdG8gbWFyayB0aGUgZW5kIG9mIHRoZSBzZXF1ZW5jZS5cblxuICBpZiAobGVuZ3RoID4gMzApIHtcbiAgICAvLyBXZSBvdmVyZmxvd2VkIHRoZSBiaXR3aXNlLXNhZmUgcmFuZ2UuIEZhbGwgYmFjayB0byBzbG93ZXIgYWxnb3JpdGhtLlxuICAgIC8vIFRoaXMgYnJhbmNoIGFzc3VtZXMgdGhlIGxlbmd0aCBvZiB0aGUgYmFzZSBpZCBpcyBncmVhdGVyIHRoYW4gNTsgaXQgd29uJ3RcbiAgICAvLyB3b3JrIGZvciBzbWFsbGVyIGlkcywgYmVjYXVzZSB5b3UgbmVlZCA1IGJpdHMgcGVyIGNoYXJhY3Rlci5cbiAgICAvL1xuICAgIC8vIFdlIGVuY29kZSB0aGUgaWQgaW4gbXVsdGlwbGUgc3RlcHM6IGZpcnN0IHRoZSBiYXNlIGlkLCB0aGVuIHRoZVxuICAgIC8vIHJlbWFpbmluZyBkaWdpdHMuXG4gICAgLy9cbiAgICAvLyBFYWNoIDUgYml0IHNlcXVlbmNlIGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIGJhc2UgMzIgY2hhcmFjdGVyLiBTbyBmb3JcbiAgICAvLyBleGFtcGxlLCBpZiB0aGUgY3VycmVudCBpZCBpcyAyMyBiaXRzIGxvbmcsIHdlIGNhbiBjb252ZXJ0IDIwIG9mIHRob3NlXG4gICAgLy8gYml0cyBpbnRvIGEgc3RyaW5nIG9mIDQgY2hhcmFjdGVycywgd2l0aCAzIGJpdHMgbGVmdCBvdmVyLlxuICAgIC8vXG4gICAgLy8gRmlyc3QgY2FsY3VsYXRlIGhvdyBtYW55IGJpdHMgaW4gdGhlIGJhc2UgaWQgcmVwcmVzZW50IGEgY29tcGxldGVcbiAgICAvLyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzLlxuICAgIHZhciBudW1iZXJPZk92ZXJmbG93Qml0cyA9IGJhc2VMZW5ndGggLSBiYXNlTGVuZ3RoICUgNTsgLy8gVGhlbiBjcmVhdGUgYSBiaXRtYXNrIHRoYXQgc2VsZWN0cyBvbmx5IHRob3NlIGJpdHMuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3dCaXRzID0gKDEgPDwgbnVtYmVyT2ZPdmVyZmxvd0JpdHMpIC0gMTsgLy8gU2VsZWN0IHRoZSBiaXRzLCBhbmQgY29udmVydCB0aGVtIHRvIGEgYmFzZSAzMiBzdHJpbmcuXG5cbiAgICB2YXIgbmV3T3ZlcmZsb3cgPSAoYmFzZUlkICYgbmV3T3ZlcmZsb3dCaXRzKS50b1N0cmluZygzMik7IC8vIE5vdyB3ZSBjYW4gcmVtb3ZlIHRob3NlIGJpdHMgZnJvbSB0aGUgYmFzZSBpZC5cblxuICAgIHZhciByZXN0T2ZCYXNlSWQgPSBiYXNlSWQgPj4gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7XG4gICAgdmFyIHJlc3RPZkJhc2VMZW5ndGggPSBiYXNlTGVuZ3RoIC0gbnVtYmVyT2ZPdmVyZmxvd0JpdHM7IC8vIEZpbmFsbHksIGVuY29kZSB0aGUgcmVzdCBvZiB0aGUgYml0cyB1c2luZyB0aGUgbm9ybWFsIGFsZ29yaXRobS4gQmVjYXVzZVxuICAgIC8vIHdlIG1hZGUgbW9yZSByb29tLCB0aGlzIHRpbWUgaXQgd29uJ3Qgb3ZlcmZsb3cuXG5cbiAgICB2YXIgcmVzdE9mTGVuZ3RoID0gZ2V0Qml0TGVuZ3RoKHRvdGFsQ2hpbGRyZW4pICsgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgcmVzdE9mTmV3Qml0cyA9IHNsb3QgPDwgcmVzdE9mQmFzZUxlbmd0aDtcbiAgICB2YXIgaWQgPSByZXN0T2ZOZXdCaXRzIHwgcmVzdE9mQmFzZUlkO1xuICAgIHZhciBvdmVyZmxvdyA9IG5ld092ZXJmbG93ICsgYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IHJlc3RPZkxlbmd0aCB8IGlkO1xuICAgIHRyZWVDb250ZXh0T3ZlcmZsb3cgPSBvdmVyZmxvdztcbiAgfSBlbHNlIHtcbiAgICAvLyBOb3JtYWwgcGF0aFxuICAgIHZhciBuZXdCaXRzID0gc2xvdCA8PCBiYXNlTGVuZ3RoO1xuXG4gICAgdmFyIF9pZCA9IG5ld0JpdHMgfCBiYXNlSWQ7XG5cbiAgICB2YXIgX292ZXJmbG93ID0gYmFzZU92ZXJmbG93O1xuICAgIHRyZWVDb250ZXh0SWQgPSAxIDw8IGxlbmd0aCB8IF9pZDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gX292ZXJmbG93O1xuICB9XG59XG5mdW5jdGlvbiBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpOyAvLyBUaGlzIGNvbXBvbmVudCBtYXRlcmlhbGl6ZWQgYW4gaWQuIFRoaXMgd2lsbCBhZmZlY3QgYW55IGlkcyB0aGF0IGFwcGVhclxuICAvLyBpbiBpdHMgY2hpbGRyZW4uXG5cbiAgdmFyIHJldHVybkZpYmVyID0gd29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBudW1iZXJPZkZvcmtzID0gMTtcbiAgICB2YXIgc2xvdEluZGV4ID0gMDtcbiAgICBwdXNoVHJlZUZvcmsod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MpO1xuICAgIHB1c2hUcmVlSWQod29ya0luUHJvZ3Jlc3MsIG51bWJlck9mRm9ya3MsIHNsb3RJbmRleCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Qml0TGVuZ3RoKG51bWJlcikge1xuICByZXR1cm4gMzIgLSBjbHozMihudW1iZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRMZWFkaW5nQml0KGlkKSB7XG4gIHJldHVybiAxIDw8IGdldEJpdExlbmd0aChpZCkgLSAxO1xufVxuXG5mdW5jdGlvbiBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBSZXN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZXMuXG4gIC8vIFRoaXMgaXMgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB0aGFuIG90aGVyIGNvbnRleHQtbGlrZSBtb2R1bGVzIGluIEZpYmVyXG4gIC8vIGJlY2F1c2UgdGhlIHNhbWUgRmliZXIgbWF5IGFwcGVhciBvbiB0aGUgc3RhY2sgbXVsdGlwbGUgdGltZXMgYW5kIGZvclxuICAvLyBkaWZmZXJlbnQgcmVhc29ucy4gV2UgaGF2ZSB0byBrZWVwIHBvcHBpbmcgdW50aWwgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgaXNcbiAgLy8gbm8gbG9uZ2VyIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVGb3JrUHJvdmlkZXIpIHtcbiAgICB0cmVlRm9ya1Byb3ZpZGVyID0gZm9ya1N0YWNrWy0tZm9ya1N0YWNrSW5kZXhdO1xuICAgIGZvcmtTdGFja1tmb3JrU3RhY2tJbmRleF0gPSBudWxsO1xuICAgIHRyZWVGb3JrQ291bnQgPSBmb3JrU3RhY2tbLS1mb3JrU3RhY2tJbmRleF07XG4gICAgZm9ya1N0YWNrW2ZvcmtTdGFja0luZGV4XSA9IG51bGw7XG4gIH1cblxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgPT09IHRyZWVDb250ZXh0UHJvdmlkZXIpIHtcbiAgICB0cmVlQ29udGV4dFByb3ZpZGVyID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dE92ZXJmbG93ID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgICB0cmVlQ29udGV4dElkID0gaWRTdGFja1stLWlkU3RhY2tJbmRleF07XG4gICAgaWRTdGFja1tpZFN0YWNrSW5kZXhdID0gbnVsbDtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSB7XG4gIHdhcm5JZk5vdEh5ZHJhdGluZygpO1xuXG4gIGlmICh0cmVlQ29udGV4dFByb3ZpZGVyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0cmVlQ29udGV4dElkLFxuICAgICAgb3ZlcmZsb3c6IHRyZWVDb250ZXh0T3ZlcmZsb3dcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlU3VzcGVuZGVkVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbmRlZENvbnRleHQpIHtcbiAgd2FybklmTm90SHlkcmF0aW5nKCk7XG4gIGlkU3RhY2tbaWRTdGFja0luZGV4KytdID0gdHJlZUNvbnRleHRJZDtcbiAgaWRTdGFja1tpZFN0YWNrSW5kZXgrK10gPSB0cmVlQ29udGV4dE92ZXJmbG93O1xuICBpZFN0YWNrW2lkU3RhY2tJbmRleCsrXSA9IHRyZWVDb250ZXh0UHJvdmlkZXI7XG4gIHRyZWVDb250ZXh0SWQgPSBzdXNwZW5kZWRDb250ZXh0LmlkO1xuICB0cmVlQ29udGV4dE92ZXJmbG93ID0gc3VzcGVuZGVkQ29udGV4dC5vdmVyZmxvdztcbiAgdHJlZUNvbnRleHRQcm92aWRlciA9IHdvcmtJblByb2dyZXNzO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZOb3RIeWRyYXRpbmcoKSB7XG4gIHtcbiAgICBpZiAoIWdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBiZSBoeWRyYXRpbmcuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlICcgKyAnYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXG5cbnZhciBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNIeWRyYXRpbmcgPSBmYWxzZTsgLy8gVGhpcyBmbGFnIGFsbG93cyBmb3Igd2FybmluZyBzdXByZXNzaW9uIHdoZW4gd2UgZXhwZWN0IHRoZXJlIHRvIGJlIG1pc21hdGNoZXNcbi8vIGR1ZSB0byBlYXJsaWVyIG1pc21hdGNoZXMgb3IgYSBzdXNwZW5kZWQgZmliZXIuXG5cbnZhciBkaWRTdXNwZW5kT3JFcnJvckRFViA9IGZhbHNlOyAvLyBIeWRyYXRpb24gZXJyb3JzIHRoYXQgd2VyZSB0aHJvd24gaW5zaWRlIHRoaXMgYm91bmRhcnlcblxudmFyIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG5cbmZ1bmN0aW9uIHdhcm5JZkh5ZHJhdGluZygpIHtcbiAge1xuICAgIGlmIChpc0h5ZHJhdGluZykge1xuICAgICAgZXJyb3IoJ1dlIHNob3VsZCBub3QgYmUgaHlkcmF0aW5nIGhlcmUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGEgYnVnLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIGRpZFN1c3BlbmRPckVycm9yREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkU3VzcGVuZE9yRXJyb3JXaGlsZUh5ZHJhdGluZ0RFVigpIHtcbiAge1xuICAgIHJldHVybiBkaWRTdXNwZW5kT3JFcnJvckRFVjtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnRlckh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZFdpdGhpbkNvbnRhaW5lcihwYXJlbnRJbnN0YW5jZSk7XG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcbiAgaHlkcmF0aW9uRXJyb3JzID0gbnVsbDtcbiAgZGlkU3VzcGVuZE9yRXJyb3JERVYgPSBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlZW50ZXJIeWRyYXRpb25TdGF0ZUZyb21EZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlciwgc3VzcGVuc2VJbnN0YW5jZSwgdHJlZUNvbnRleHQpIHtcblxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGRXaXRoaW5TdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpO1xuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICBpc0h5ZHJhdGluZyA9IHRydWU7XG4gIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG5cbiAgaWYgKHRyZWVDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgcmVzdG9yZVN1c3BlbmRlZFRyZWVDb250ZXh0KGZpYmVyLCB0cmVlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgaW5zdGFuY2UpIHtcbiAge1xuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluQ29udGFpbmVyKHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLCBpbnN0YW5jZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShyZXR1cm5GaWJlci50eXBlLCByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzLCByZXR1cm5GaWJlci5zdGF0ZU5vZGUsIGluc3RhbmNlLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHJldHVybkZpYmVyLm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgaWYgKHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkgZGlkTm90SHlkcmF0ZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQsIGluc3RhbmNlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XG4gIHdhcm5Vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKTtcbiAgdmFyIGNoaWxkVG9EZWxldGUgPSBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpO1xuICBjaGlsZFRvRGVsZXRlLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xuICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgPT09IG51bGwpIHtcbiAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcbiAge1xuICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvckRFVikge1xuICAgICAgLy8gSW5zaWRlIGEgYm91bmRhcnkgdGhhdCBhbHJlYWR5IHN1c3BlbmRlZC4gV2UncmUgY3VycmVudGx5IHJlbmRlcmluZyB0aGVcbiAgICAgIC8vIHNpYmxpbmdzIG9mIGEgc3VzcGVuZGVkIG5vZGUuIFRoZSBtaXNtYXRjaCBtYXkgYmUgZHVlIHRvIHRoZSBtaXNzaW5nXG4gICAgICAvLyBkYXRhLCBzbyBpdCdzIHByb2JhYmx5IGEgZmFsc2UgcG9zaXRpdmUuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZVdpdGhpbkNvbnRhaW5lcihwYXJlbnRDb250YWluZXIsIHR5cGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlV2l0aGluQ29udGFpbmVyKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcbiAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xuICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3R5cGUgPSBmaWJlci50eXBlO1xuICAgICAgICAgICAgICAgIHZhciBfcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdHlwZSwgX3Byb3BzLCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgICAgIGlzQ29uY3VycmVudE1vZGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgICAgICAgICB2YXIgX2lzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gICAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdGV4dCwgLy8gVE9ETzogRGVsZXRlIHRoaXMgYXJndW1lbnQgd2hlbiB3ZSByZW1vdmUgdGhlIGxlZ2FjeSByb290IEFQSS5cbiAgICAgICAgICAgICAgICBfaXNDb25jdXJyZW50TW9kZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHN1c3BlbnNlU3RhdGUgPSByZXR1cm5GaWJlci5tZW1vaXplZFN0YXRlO1xuICAgICAgICAgIHZhciBfcGFyZW50SW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XG4gICAgICAgICAgaWYgKF9wYXJlbnRJbnN0YW5jZSAhPT0gbnVsbCkgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgICAgdmFyIF90eXBlMiA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBfcHJvcHMyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlV2l0aGluU3VzcGVuc2VJbnN0YW5jZShfcGFyZW50SW5zdGFuY2UsIF90eXBlMik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgICAgICAgICB2YXIgX3RleHQyID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZVdpdGhpblN1c3BlbnNlSW5zdGFuY2UoX3BhcmVudEluc3RhbmNlLCBfdGV4dDIpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKHJldHVybkZpYmVyLCBmaWJlcikge1xuICBmaWJlci5mbGFncyA9IGZpYmVyLmZsYWdzICYgfkh5ZHJhdGluZyB8IFBsYWNlbWVudDtcbiAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UocmV0dXJuRmliZXIsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSB7XG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgdmFyIGluc3RhbmNlID0gY2FuSHlkcmF0ZUluc3RhbmNlKG5leHRJbnN0YW5jZSwgdHlwZSk7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgZmliZXIuc3RhdGVOb2RlID0gaW5zdGFuY2U7XG4gICAgICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQoaW5zdGFuY2UpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgIHZhciB0ZXh0SW5zdGFuY2UgPSBjYW5IeWRyYXRlVGV4dEluc3RhbmNlKG5leHRJbnN0YW5jZSwgdGV4dCk7XG5cbiAgICAgICAgaWYgKHRleHRJbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZpYmVyLnN0YXRlTm9kZSA9IHRleHRJbnN0YW5jZTtcbiAgICAgICAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyOyAvLyBUZXh0IEluc3RhbmNlcyBkb24ndCBoYXZlIGNoaWxkcmVuIHNvIHRoZXJlJ3Mgbm90aGluZyB0byBoeWRyYXRlLlxuXG4gICAgICAgICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGNhbkh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKG5leHRJbnN0YW5jZSk7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IHtcbiAgICAgICAgICAgIGRlaHlkcmF0ZWQ6IHN1c3BlbnNlSW5zdGFuY2UsXG4gICAgICAgICAgICB0cmVlQ29udGV4dDogZ2V0U3VzcGVuZGVkVHJlZUNvbnRleHQoKSxcbiAgICAgICAgICAgIHJldHJ5TGFuZTogT2Zmc2NyZWVuTGFuZVxuICAgICAgICAgIH07XG4gICAgICAgICAgZmliZXIubWVtb2l6ZWRTdGF0ZSA9IHN1c3BlbnNlU3RhdGU7IC8vIFN0b3JlIHRoZSBkZWh5ZHJhdGVkIGZyYWdtZW50IGFzIGEgY2hpbGQgZmliZXIuXG4gICAgICAgICAgLy8gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGZvciBnZXRIb3N0U2libGluZyBhbmQgZGVsZXRpbmcgbm9kZXMsXG4gICAgICAgICAgLy8gc2luY2UgaXQgZG9lc24ndCBoYXZlIHRvIGNvbnNpZGVyIGFsbCBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXkncmUgZGVoeWRyYXRlZCBvbmVzIG9yIG5vdC5cblxuICAgICAgICAgIHZhciBkZWh5ZHJhdGVkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21EZWh5ZHJhdGVkRnJhZ21lbnQoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgICAgZGVoeWRyYXRlZEZyYWdtZW50LnJldHVybiA9IGZpYmVyO1xuICAgICAgICAgIGZpYmVyLmNoaWxkID0gZGVoeWRyYXRlZEZyYWdtZW50O1xuICAgICAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7IC8vIFdoaWxlIGEgU3VzcGVuc2UgSW5zdGFuY2UgZG9lcyBoYXZlIGNoaWxkcmVuLCB3ZSB3b24ndCBzdGVwIGludG9cbiAgICAgICAgICAvLyBpdCBkdXJpbmcgdGhlIGZpcnN0IHBhc3MuIEluc3RlYWQsIHdlJ2xsIHJlZW50ZXIgaXQgbGF0ZXIuXG5cbiAgICAgICAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikge1xuICByZXR1cm4gKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSAmJiAoZmliZXIuZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncztcbn1cblxuZnVuY3Rpb24gdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKGZpYmVyKSB7XG4gIHRocm93IG5ldyBFcnJvcignSHlkcmF0aW9uIGZhaWxlZCBiZWNhdXNlIHRoZSBpbml0aWFsIFVJIGRvZXMgbm90IG1hdGNoIHdoYXQgd2FzICcgKyAncmVuZGVyZWQgb24gdGhlIHNlcnZlci4nKTtcbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgaWYgKHNob3VsZENsaWVudFJlbmRlck9uTWlzbWF0Y2goZmliZXIpKSB7XG4gICAgICB3YXJuTm9uaHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgdGhyb3dPbkh5ZHJhdGlvbk1pc21hdGNoKCk7XG4gICAgfSAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuXG5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBmaXJzdEF0dGVtcHRlZEluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIGlmIChzaG91bGRDbGllbnRSZW5kZXJPbk1pc21hdGNoKGZpYmVyKSkge1xuICAgICAgd2Fybk5vbmh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcbiAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgIH0gLy8gSWYgd2UgY2FuJ3QgaHlkcmF0ZSB0aGlzIGluc3RhbmNlIGxldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxuICAgIC8vIG1pZ2h0IGJlIGZsYXdlZCBvciB1bm5lY2Vzc2FyeS5cblxuXG4gICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UpO1xuICAgIHZhciBwcmV2SHlkcmF0aW9uUGFyZW50RmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgIGlmICghbmV4dEluc3RhbmNlIHx8ICF0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxuICAgICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xuICAgICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBXZSBtYXRjaGVkIHRoZSBuZXh0IG9uZSwgd2UnbGwgbm93IGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBvbmUgd2FzXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcbiAgICAvLyB3ZSdsbCBoYXZlIHRvIHNjaGVkdWxlIGEgZGVsZXRpb24uIFRvIGRvIHRoYXQsIHRoaXMgbm9kZSBuZWVkcyBhIGR1bW15XG4gICAgLy8gZmliZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxuXG5cbiAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocHJldkh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKGZpYmVyLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0KSB7XG5cbiAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICB2YXIgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYgPSAhZGlkU3VzcGVuZE9yRXJyb3JERVY7XG4gIHZhciB1cGRhdGVQYXlsb2FkID0gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBmaWJlciwgc2hvdWxkV2FybklmTWlzbWF0Y2hEZXYpOyAvLyBUT0RPOiBUeXBlIHRoaXMgc3BlY2lmaWMgdG8gdGhpcyB0eXBlIG9mIGNvbXBvbmVudC5cblxuICBmaWJlci51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxuICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS5cblxuICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFRleHRJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciB0ZXh0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG4gIHZhciB0ZXh0Q29udGVudCA9IGZpYmVyLm1lbW9pemVkUHJvcHM7XG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gV2UgYXNzdW1lIHRoYXQgcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UgaXMgY2FsbGVkIGluIGEgY29udGV4dCB3aGVyZSB0aGVcbiAgICAvLyBoeWRyYXRpb24gcGFyZW50IGlzIHRoZSBwYXJlbnQgaG9zdCBjb21wb25lbnQgb2YgdGhpcyBob3N0IHRleHQuXG4gICAgdmFyIHJldHVybkZpYmVyID0gaHlkcmF0aW9uUGFyZW50RmliZXI7XG5cbiAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgdmFyIGlzQ29uY3VycmVudE1vZGUgPSAocmV0dXJuRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZENvbnRhaW5lclRleHRJbnN0YW5jZShwYXJlbnRDb250YWluZXIsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIC8vIFRPRE86IERlbGV0ZSB0aGlzIGFyZ3VtZW50IHdoZW4gd2UgcmVtb3ZlIHRoZSBsZWdhY3kgcm9vdCBBUEkuXG4gICAgICAgICAgICBpc0NvbmN1cnJlbnRNb2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHBhcmVudFR5cGUgPSByZXR1cm5GaWJlci50eXBlO1xuICAgICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdmFyIF9pc0NvbmN1cnJlbnRNb2RlMiA9IChyZXR1cm5GaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGU7XG5cbiAgICAgICAgICAgIGRpZE5vdE1hdGNoSHlkcmF0ZWRUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0SW5zdGFuY2UsIHRleHRDb250ZW50LCAvLyBUT0RPOiBEZWxldGUgdGhpcyBhcmd1bWVudCB3aGVuIHdlIHJlbW92ZSB0aGUgbGVnYWN5IHJvb3QgQVBJLlxuICAgICAgICAgICAgX2lzQ29uY3VycmVudE1vZGUyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzdXNwZW5zZUluc3RhbmNlID0gc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCA/IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCA6IG51bGw7XG5cbiAgaWYgKCFzdXNwZW5zZUluc3RhbmNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIGh5ZHJhdGVTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xuXG4gIHZhciBzdXNwZW5zZVN0YXRlID0gZmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcblxuICBpZiAoIXN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGhhdmUgYSBoeWRyYXRlZCBzdXNwZW5zZSBpbnN0YW5jZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG5cbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIHBhcmVudC50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgcGFyZW50LnRhZyAhPT0gSG9zdFJvb3QgJiYgcGFyZW50LnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgaWYgKGZpYmVyICE9PSBoeWRyYXRpb25QYXJlbnRGaWJlcikge1xuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcbiAgICAvLyB0cmVlLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxuICAgIC8vIHdlIHdlcmUgYW4gaW5zZXJ0aW9uIGFuZCBub3cgbmVlZCB0byBwb3AgdXAgcmVlbnRlciBoeWRyYXRpb24gb2Ygb3VyXG4gICAgLy8gc2libGluZ3MuXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBJZiB3ZSBoYXZlIGFueSByZW1haW5pbmcgaHlkcmF0YWJsZSBub2Rlcywgd2UgbmVlZCB0byBkZWxldGUgdGhlbSBub3cuXG4gIC8vIFdlIG9ubHkgZG8gdGhpcyBkZWVwZXIgdGhhbiBoZWFkIGFuZCBib2R5IHNpbmNlIHRoZXkgdGVuZCB0byBoYXZlIHJhbmRvbVxuICAvLyBvdGhlciBub2RlcyBpbiB0aGVtLiBXZSBhbHNvIGlnbm9yZSBjb21wb25lbnRzIHdpdGggcHVyZSB0ZXh0IGNvbnRlbnQgaW5cbiAgLy8gc2lkZSBvZiB0aGVtLiBXZSBhbHNvIGRvbid0IGRlbGV0ZSBhbnl0aGluZyBpbnNpZGUgdGhlIHJvb3QgY29udGFpbmVyLlxuXG5cbiAgaWYgKGZpYmVyLnRhZyAhPT0gSG9zdFJvb3QgJiYgKGZpYmVyLnRhZyAhPT0gSG9zdENvbXBvbmVudCB8fCBzaG91bGREZWxldGVVbmh5ZHJhdGVkVGFpbEluc3RhbmNlcyhmaWJlci50eXBlKSAmJiAhc2hvdWxkU2V0VGV4dENvbnRlbnQoZmliZXIudHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpKSB7XG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG5cbiAgICBpZiAobmV4dEluc3RhbmNlKSB7XG4gICAgICBpZiAoc2hvdWxkQ2xpZW50UmVuZGVyT25NaXNtYXRjaChmaWJlcikpIHtcbiAgICAgICAgd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcik7XG4gICAgICAgIHRocm93T25IeWRyYXRpb25NaXNtYXRjaCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2hpbGUgKG5leHRJbnN0YW5jZSkge1xuICAgICAgICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICAgICAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xuXG4gIGlmIChmaWJlci50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xuICB9IGVsc2Uge1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBoeWRyYXRpb25QYXJlbnRGaWJlciA/IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaWJlci5zdGF0ZU5vZGUpIDogbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBoYXNVbmh5ZHJhdGVkVGFpbE5vZGVzKCkge1xuICByZXR1cm4gaXNIeWRyYXRpbmcgJiYgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gd2FybklmVW5oeWRyYXRlZFRhaWxOb2RlcyhmaWJlcikge1xuICB2YXIgbmV4dEluc3RhbmNlID0gbmV4dEh5ZHJhdGFibGVJbnN0YW5jZTtcblxuICB3aGlsZSAobmV4dEluc3RhbmNlKSB7XG4gICAgd2FyblVuaHlkcmF0ZWRJbnN0YW5jZShmaWJlciwgbmV4dEluc3RhbmNlKTtcbiAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldEh5ZHJhdGlvblN0YXRlKCkge1xuXG4gIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XG4gIGRpZFN1c3BlbmRPckVycm9yREVWID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCkge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzICE9PSBudWxsKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLiBUaGUgZXJyb3JzIHRoYXQgb2NjdXJyZWRcbiAgICAvLyBkdXJpbmcgdGhlIGh5ZHJhdGlvbiBhdHRlbXB0IGFyZSBub3cgcmVjb3ZlcmVkLiBXZSB3aWxsIGxvZyB0aGVtIGluXG4gICAgLy8gY29tbWl0IHBoYXNlLCBvbmNlIHRoZSBlbnRpcmUgdHJlZSBoYXMgZmluaXNoZWQuXG4gICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhoeWRyYXRpb25FcnJvcnMpO1xuICAgIGh5ZHJhdGlvbkVycm9ycyA9IG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SXNIeWRyYXRpbmcoKSB7XG4gIHJldHVybiBpc0h5ZHJhdGluZztcbn1cblxuZnVuY3Rpb24gcXVldWVIeWRyYXRpb25FcnJvcihlcnJvcikge1xuICBpZiAoaHlkcmF0aW9uRXJyb3JzID09PSBudWxsKSB7XG4gICAgaHlkcmF0aW9uRXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICBoeWRyYXRpb25FcnJvcnMucHVzaChlcnJvcik7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBOb1RyYW5zaXRpb24gPSBudWxsO1xuZnVuY3Rpb24gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkge1xuICByZXR1cm4gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS50cmFuc2l0aW9uO1xufVxuXG52YXIgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MgPSB7XG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcbiAgZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3M6IGZ1bmN0aW9uICgpIHt9LFxuICByZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZzogZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge30sXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxuICBkaXNjYXJkUGVuZGluZ1dhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fVxufTtcblxue1xuICB2YXIgZmluZFN0cmljdFJvb3QgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgIG1heWJlU3RyaWN0Um9vdCA9IG5vZGU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF5YmVTdHJpY3RSb290O1xuICB9O1xuXG4gIHZhciBzZXRUb1NvcnRlZFN0cmluZyA9IGZ1bmN0aW9uIChzZXQpIHtcbiAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGFycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheS5zb3J0KCkuam9pbignLCAnKTtcbiAgfTtcblxuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gIHZhciBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcyA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICAvLyBEZWR1cGUgc3RyYXRlZ3k6IFdhcm4gb25jZSBwZXIgY29tcG9uZW50LlxuICAgIGlmIChkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcbiAgICB2YXIgY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIH0gLy8gRmluYWxseSwgd2UgZmx1c2ggYWxsIHRoZSB3YXJuaW5nc1xuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xuXG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZE1vdW50LCBhbmQgc2V0IGluaXRpYWwgc3RhdGUgaW4gdGhlIGNvbnN0cnVjdG9yLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyk7XG5cbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcbicgKyBcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXCIgKyAncmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvZGVyaXZlZC1zdGF0ZVxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczIgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgZXJyb3IoJ1VzaW5nIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIGluIHN0cmljdCBtb2RlIGlzIG5vdCByZWNvbW1lbmRlZCAnICsgJ2FuZCBtYXkgaW5kaWNhdGUgYnVncyBpbiB5b3VyIGNvZGUuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXMyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXMzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsTW91bnQgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsTW91bnQgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE4LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczQgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xuXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3Vuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXCIgKyAnY29kZSB0byB1c2UgbWVtb2l6YXRpb24gdGVjaG5pcXVlcyBvciBtb3ZlIGl0IHRvICcgKyAnc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gTGVhcm4gbW9yZSBhdDogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Rlcml2ZWQtc3RhdGVcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgdG8gc3VwcHJlc3MgJyArICd0aGlzIHdhcm5pbmcgaW4gbm9uLXN0cmljdCBtb2RlLiBJbiBSZWFjdCAxOC54LCBvbmx5IHRoZSBVTlNBRkVfIG5hbWUgd2lsbCB3b3JrLiAnICsgJ1RvIHJlbmFtZSBhbGwgZGVwcmVjYXRlZCBsaWZlY3ljbGVzIHRvIHRoZWlyIG5ldyBuYW1lcywgeW91IGNhbiBydW4gJyArICdgbnB4IHJlYWN0LWNvZGVtb2QgcmVuYW1lLXVuc2FmZS1saWZlY3ljbGVzYCBpbiB5b3VyIHByb2plY3Qgc291cmNlIGZvbGRlci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xuICAgIH1cblxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciBfc29ydGVkTmFtZXM1ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay91bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsVXBkYXRlIHRvIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTgueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXM1KTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cblxuICB2YXIgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dCA9IG5ldyBTZXQoKTtcblxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZyA9IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHtcbiAgICB2YXIgc3RyaWN0Um9vdCA9IGZpbmRTdHJpY3RSb290KGZpYmVyKTtcblxuICAgIGlmIChzdHJpY3RSb290ID09PSBudWxsKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgdG8gZmluZCBhIFN0cmljdE1vZGUgY29tcG9uZW50IGluIGEgc3RyaWN0IG1vZGUgdHJlZS4gJyArICdUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEZWR1cCBzdHJhdGVneTogV2FybiBvbmNlIHBlciBjb21wb25lbnQuXG5cblxuICAgIGlmIChkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0LmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xuXG4gICAgaWYgKGZpYmVyLnR5cGUuY29udGV4dFR5cGVzICE9IG51bGwgfHwgZmliZXIudHlwZS5jaGlsZENvbnRleHRUeXBlcyAhPSBudWxsIHx8IGluc3RhbmNlICE9PSBudWxsICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB3YXJuaW5nc0ZvclJvb3QgPSBbXTtcbiAgICAgICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLnNldChzdHJpY3RSb290LCB3YXJuaW5nc0ZvclJvb3QpO1xuICAgICAgfVxuXG4gICAgICB3YXJuaW5nc0ZvclJvb3QucHVzaChmaWJlcik7XG4gICAgfVxuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyQXJyYXksIHN0cmljdFJvb3QpIHtcbiAgICAgIGlmIChmaWJlckFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcbiAgICAgIHZhciB1bmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICAgIGZpYmVyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnKTtcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XG4gICAgICB9KTtcbiAgICAgIHZhciBzb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKHVuaXF1ZU5hbWVzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpcnN0RmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcblxcblRoZSBvbGQgQVBJIHdpbGwgYmUgc3VwcG9ydGVkIGluIGFsbCAxNi54IHJlbGVhc2VzLCBidXQgYXBwbGljYXRpb25zICcgKyAndXNpbmcgaXQgc2hvdWxkIG1pZ3JhdGUgdG8gdGhlIG5ldyB2ZXJzaW9uLicgKyAnXFxuXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJyArICdcXG5cXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvbGVnYWN5LWNvbnRleHQnLCBzb3J0ZWROYW1lcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIGJhc2VQcm9wcykge1xuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcbiAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHMuIFRha2VuIGZyb20gUmVhY3RFbGVtZW50XG4gICAgdmFyIHByb3BzID0gYXNzaWduKHt9LCBiYXNlUHJvcHMpO1xuICAgIHZhciBkZWZhdWx0UHJvcHMgPSBDb21wb25lbnQuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZXR1cm4gYmFzZVByb3BzO1xufVxuXG52YXIgdmFsdWVDdXJzb3IgPSBjcmVhdGVDdXJzb3IobnVsbCk7XG52YXIgcmVuZGVyZXJTaWdpbDtcblxue1xuICAvLyBVc2UgdGhpcyB0byBkZXRlY3QgbXVsdGlwbGUgcmVuZGVyZXJzIHVzaW5nIHRoZSBzYW1lIGNvbnRleHRcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xufVxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xudmFyIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XG52YXIgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG5mdW5jdGlvbiByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKSB7XG4gIC8vIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGJlZm9yZSBSZWFjdCB5aWVsZHMgZXhlY3V0aW9uLCB0byBlbnN1cmUgYHJlYWRDb250ZXh0YFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0RnVsbHlPYnNlcnZlZENvbnRleHQgPSBudWxsO1xuXG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XG4gIHtcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCkge1xuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBwdXNoUHJvdmlkZXIocHJvdmlkZXJGaWJlciwgY29udGV4dCwgbmV4dFZhbHVlKSB7XG4gIHtcbiAgICBwdXNoKHZhbHVlQ3Vyc29yLCBjb250ZXh0Ll9jdXJyZW50VmFsdWUsIHByb3ZpZGVyRmliZXIpO1xuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcblxuICAgIHtcbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XG4gICAgICAgIGVycm9yKCdEZXRlY3RlZCBtdWx0aXBsZSByZW5kZXJlcnMgY29uY3VycmVudGx5IHJlbmRlcmluZyB0aGUgJyArICdzYW1lIGNvbnRleHQgcHJvdmlkZXIuIFRoaXMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkLicpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSByZW5kZXJlclNpZ2lsO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wUHJvdmlkZXIoY29udGV4dCwgcHJvdmlkZXJGaWJlcikge1xuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcbiAgcG9wKHZhbHVlQ3Vyc29yLCBwcm92aWRlckZpYmVyKTtcblxuICB7XG4gICAge1xuICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVDb250ZXh0V29ya09uUGFyZW50UGF0aChwYXJlbnQsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBsYW5lcyBvZiBhbGwgdGhlIGFuY2VzdG9ycywgaW5jbHVkaW5nIHRoZSBhbHRlcm5hdGVzLlxuICB2YXIgbm9kZSA9IHBhcmVudDtcblxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xuICAgIHZhciBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcblxuICAgIGlmICghaXNTdWJzZXRPZkxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpKSB7XG4gICAgICBub2RlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5vZGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgIGFsdGVybmF0ZS5jaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhhbHRlcm5hdGUuY2hpbGRMYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmICFpc1N1YnNldE9mTGFuZXMoYWx0ZXJuYXRlLmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKSkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IHByb3BhZ2F0aW9uUm9vdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9XG5cbiAge1xuICAgIGlmIChub2RlICE9PSBwcm9wYWdhdGlvblJvb3QpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcm9wYWdhdGlvbiByb290IHdoZW4gc2NoZWR1bGluZyBjb250ZXh0IHdvcmsuICcgKyAnVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlX2VhZ2VyKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQ29udGV4dENoYW5nZV9lYWdlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgcmVuZGVyTGFuZXMpIHtcblxuICB2YXIgZmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBjaGlsZCB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICBmaWJlci5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXG5cbiAgICB2YXIgbGlzdCA9IGZpYmVyLmRlcGVuZGVuY2llcztcblxuICAgIGlmIChsaXN0ICE9PSBudWxsKSB7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5jaGlsZDtcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XG5cbiAgICAgIHdoaWxlIChkZXBlbmRlbmN5ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5LmNvbnRleHQgPT09IGNvbnRleHQpIHtcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXG4gICAgICAgICAgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFNjaGVkdWxlIGEgZm9yY2UgdXBkYXRlIG9uIHRoZSB3b3JrLWluLXByb2dyZXNzLlxuICAgICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgICAgICAgICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTsgLy8gVE9ETzogQmVjYXVzZSB3ZSBkb24ndCBoYXZlIGEgd29yay1pbi1wcm9ncmVzcywgdGhpcyB3aWxsIGFkZCB0aGVcbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0byB0aGUgY3VycmVudCBmaWJlciwgdG9vLCB3aGljaCBtZWFucyBpdCB3aWxsIHBlcnNpc3QgZXZlbiBpZlxuICAgICAgICAgICAgLy8gdGhpcyByZW5kZXIgaXMgdGhyb3duIGF3YXkuIFNpbmNlIGl0J3MgYSByYWNlIGNvbmRpdGlvbiwgbm90IHN1cmUgaXQnc1xuICAgICAgICAgICAgLy8gd29ydGggZml4aW5nLlxuICAgICAgICAgICAgLy8gSW5saW5lZCBgZW5xdWV1ZVVwZGF0ZWAgdG8gcmVtb3ZlIGludGVybGVhdmVkIHVwZGF0ZSBjaGVja1xuXG4gICAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaWJlci51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSA7IGVsc2Uge1xuICAgICAgICAgICAgICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XG4gICAgICAgICAgICAgIHZhciBwZW5kaW5nID0gc2hhcmVkUXVldWUucGVuZGluZztcblxuICAgICAgICAgICAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cGRhdGUubmV4dCA9IHBlbmRpbmcubmV4dDtcbiAgICAgICAgICAgICAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzaGFyZWRRdWV1ZS5wZW5kaW5nID0gdXBkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhmaWJlci5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGUubGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjaGVkdWxlQ29udGV4dFdvcmtPblBhcmVudFBhdGgoZmliZXIucmV0dXJuLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpOyAvLyBNYXJrIHRoZSB1cGRhdGVkIGxhbmVzIG9uIHRoZSBsaXN0LCB0b28uXG5cbiAgICAgICAgICBsaXN0LmxhbmVzID0gbWVyZ2VMYW5lcyhsaXN0LmxhbmVzLCByZW5kZXJMYW5lcyk7IC8vIFNpbmNlIHdlIGFscmVhZHkgZm91bmQgYSBtYXRjaCwgd2UgY2FuIHN0b3AgdHJhdmVyc2luZyB0aGVcbiAgICAgICAgICAvLyBkZXBlbmRlbmN5IGxpc3QuXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmN5Lm5leHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IENvbnRleHRQcm92aWRlcikge1xuICAgICAgLy8gRG9uJ3Qgc2NhbiBkZWVwZXIgaWYgdGhpcyBpcyBhIG1hdGNoaW5nIHByb3ZpZGVyXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBEZWh5ZHJhdGVkRnJhZ21lbnQpIHtcbiAgICAgIC8vIElmIGEgZGVoeWRyYXRlZCBzdXNwZW5zZSBib3VuZGFyeSBpcyBpbiB0aGlzIHN1YnRyZWUsIHdlIGRvbid0IGtub3dcbiAgICAgIC8vIGlmIGl0IHdpbGwgaGF2ZSBhbnkgY29udGV4dCBjb25zdW1lcnMgaW4gaXQuIFRoZSBiZXN0IHdlIGNhbiBkbyBpc1xuICAgICAgLy8gbWFyayBpdCBhcyBoYXZpbmcgdXBkYXRlcy5cbiAgICAgIHZhciBwYXJlbnRTdXNwZW5zZSA9IGZpYmVyLnJldHVybjtcblxuICAgICAgaWYgKHBhcmVudFN1c3BlbnNlID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2UganVzdCBjYW1lIGZyb20gYSBwYXJlbnQgc28gd2UgbXVzdCBoYXZlIGhhZCBhIHBhcmVudC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgICAgIH1cblxuICAgICAgcGFyZW50U3VzcGVuc2UubGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudFN1c3BlbnNlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX2FsdGVybmF0ZSA9IHBhcmVudFN1c3BlbnNlLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKF9hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgX2FsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoX2FsdGVybmF0ZS5sYW5lcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfSAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgcGFzc2luZyB0aGlzIGZpYmVyIGFzIHRoZSBwYXJlbnRcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugd2FudCB0byBzY2hlZHVsZSB0aGlzIGZpYmVyIGFzIGhhdmluZyB3b3JrXG4gICAgICAvLyBvbiBpdHMgY2hpbGRyZW4uIFdlJ2xsIHVzZSB0aGUgY2hpbGRMYW5lcyBvblxuICAgICAgLy8gdGhpcyBmaWJlciB0byBpbmRpY2F0ZSB0aGF0IGEgY29udGV4dCBoYXMgY2hhbmdlZC5cblxuXG4gICAgICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKHBhcmVudFN1c3BlbnNlLCByZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgbmV4dEZpYmVyID0gZmliZXIuc2libGluZztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJhdmVyc2UgZG93bi5cbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLmNoaWxkO1xuICAgIH1cblxuICAgIGlmIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIGNoaWxkIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxuICAgICAgbmV4dEZpYmVyLnJldHVybiA9IGZpYmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBjaGlsZC4gVHJhdmVyc2UgdG8gbmV4dCBzaWJsaW5nLlxuICAgICAgbmV4dEZpYmVyID0gZmliZXI7XG5cbiAgICAgIHdoaWxlIChuZXh0RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5leHRGaWJlciA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAvLyBXZSdyZSBiYWNrIHRvIHRoZSByb290IG9mIHRoaXMgc3VidHJlZS4gRXhpdC5cbiAgICAgICAgICBuZXh0RmliZXIgPSBudWxsO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNpYmxpbmcgPSBuZXh0RmliZXIuc2libGluZztcblxuICAgICAgICBpZiAoc2libGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIHNpYmxpbmcgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG4gICAgICAgICAgc2libGluZy5yZXR1cm4gPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgICAgIG5leHRGaWJlciA9IHNpYmxpbmc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gTm8gbW9yZSBzaWJsaW5ncy4gVHJhdmVyc2UgdXAuXG5cblxuICAgICAgICBuZXh0RmliZXIgPSBuZXh0RmliZXIucmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpYmVyID0gbmV4dEZpYmVyO1xuICB9XG59XG5mdW5jdGlvbiBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSB3b3JrSW5Qcm9ncmVzcztcbiAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbnVsbDtcbiAgbGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID0gbnVsbDtcbiAgdmFyIGRlcGVuZGVuY2llcyA9IHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcztcblxuICBpZiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSB7XG4gICAge1xuICAgICAgdmFyIGZpcnN0Q29udGV4dCA9IGRlcGVuZGVuY2llcy5maXJzdENvbnRleHQ7XG5cbiAgICAgIGlmIChmaXJzdENvbnRleHQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGluY2x1ZGVzU29tZUxhbmUoZGVwZW5kZW5jaWVzLmxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICAgICAgICAvLyBDb250ZXh0IGxpc3QgaGFzIGEgcGVuZGluZyB1cGRhdGUuIE1hcmsgdGhhdCB0aGlzIGZpYmVyIHBlcmZvcm1lZCB3b3JrLlxuICAgICAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XG4gICAgICAgIH0gLy8gUmVzZXQgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgbGlzdFxuXG5cbiAgICAgICAgZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZWFkQ29udGV4dChjb250ZXh0KSB7XG4gIHtcbiAgICAvLyBUaGlzIHdhcm5pbmcgd291bGQgZmlyZSBpZiB5b3UgcmVhZCBjb250ZXh0IGluc2lkZSBhIEhvb2sgbGlrZSB1c2VNZW1vLlxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXG4gICAgaWYgKGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYpIHtcbiAgICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdmFsdWUgPSAgY29udGV4dC5fY3VycmVudFZhbHVlIDtcblxuICBpZiAobGFzdEZ1bGx5T2JzZXJ2ZWRDb250ZXh0ID09PSBjb250ZXh0KSA7IGVsc2Uge1xuICAgIHZhciBjb250ZXh0SXRlbSA9IHtcbiAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICBtZW1vaXplZFZhbHVlOiB2YWx1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9PT0gbnVsbCkge1xuICAgICAgaWYgKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gICAgICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IGRlcGVuZGVuY3kgZm9yIHRoaXMgY29tcG9uZW50LiBDcmVhdGUgYSBuZXcgbGlzdC5cblxuXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBjb250ZXh0SXRlbTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyLmRlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgbGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGZpcnN0Q29udGV4dDogY29udGV4dEl0ZW1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBsYXN0Q29udGV4dERlcGVuZGVuY3kubmV4dCA9IGNvbnRleHRJdGVtO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLy8gcmVuZGVyLiBXaGVuIHRoaXMgcmVuZGVyIGV4aXRzLCBlaXRoZXIgYmVjYXVzZSBpdCBmaW5pc2hlcyBvciBiZWNhdXNlIGl0IGlzXG4vLyBpbnRlcnJ1cHRlZCwgdGhlIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBvbnRvIHRoZSBtYWluIHBhcnRcbi8vIG9mIHRoZSBxdWV1ZS5cblxudmFyIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuZnVuY3Rpb24gcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSkge1xuICBpZiAoY29uY3VycmVudFF1ZXVlcyA9PT0gbnVsbCkge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBbcXVldWVdO1xuICB9IGVsc2Uge1xuICAgIGNvbmN1cnJlbnRRdWV1ZXMucHVzaChxdWV1ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKSB7XG4gIC8vIFRyYW5zZmVyIHRoZSBpbnRlcmxlYXZlZCB1cGRhdGVzIG9udG8gdGhlIG1haW4gcXVldWUuIEVhY2ggcXVldWUgaGFzIGFcbiAgLy8gYHBlbmRpbmdgIGZpZWxkIGFuZCBhbiBgaW50ZXJsZWF2ZWRgIGZpZWxkLiBXaGVuIHRoZXkgYXJlIG5vdCBudWxsLCB0aGV5XG4gIC8vIHBvaW50IHRvIHRoZSBsYXN0IG5vZGUgaW4gYSBjaXJjdWxhciBsaW5rZWQgbGlzdC4gV2UgbmVlZCB0byBhcHBlbmQgdGhlXG4gIC8vIGludGVybGVhdmVkIGxpc3QgdG8gdGhlIGVuZCBvZiB0aGUgcGVuZGluZyBsaXN0IGJ5IGpvaW5pbmcgdGhlbSBpbnRvIGFcbiAgLy8gc2luZ2xlLCBjaXJjdWxhciBsaXN0LlxuICBpZiAoY29uY3VycmVudFF1ZXVlcyAhPT0gbnVsbCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uY3VycmVudFF1ZXVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHF1ZXVlID0gY29uY3VycmVudFF1ZXVlc1tpXTtcbiAgICAgIHZhciBsYXN0SW50ZXJsZWF2ZWRVcGRhdGUgPSBxdWV1ZS5pbnRlcmxlYXZlZDtcblxuICAgICAgaWYgKGxhc3RJbnRlcmxlYXZlZFVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBxdWV1ZS5pbnRlcmxlYXZlZCA9IG51bGw7XG4gICAgICAgIHZhciBmaXJzdEludGVybGVhdmVkVXBkYXRlID0gbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQ7XG4gICAgICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgICAgICAgaWYgKGxhc3RQZW5kaW5nVXBkYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGZpcnN0UGVuZGluZ1VwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlLm5leHQ7XG4gICAgICAgICAgbGFzdFBlbmRpbmdVcGRhdGUubmV4dCA9IGZpcnN0SW50ZXJsZWF2ZWRVcGRhdGU7XG4gICAgICAgICAgbGFzdEludGVybGVhdmVkVXBkYXRlLm5leHQgPSBmaXJzdFBlbmRpbmdVcGRhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBxdWV1ZS5wZW5kaW5nID0gbGFzdEludGVybGVhdmVkVXBkYXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbmN1cnJlbnRRdWV1ZXMgPSBudWxsO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIGludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGludGVybGVhdmVkID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlOyAvLyBBdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHJlbmRlciwgdGhpcyBxdWV1ZSdzIGludGVybGVhdmVkIHVwZGF0ZXMgd2lsbFxuICAgIC8vIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBwZW5kaW5nIHF1ZXVlLlxuXG4gICAgcHVzaENvbmN1cnJlbnRVcGRhdGVRdWV1ZShxdWV1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlLm5leHQgPSBpbnRlcmxlYXZlZC5uZXh0O1xuICAgIGludGVybGVhdmVkLm5leHQgPSB1cGRhdGU7XG4gIH1cblxuICBxdWV1ZS5pbnRlcmxlYXZlZCA9IHVwZGF0ZTtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGVucXVldWVDb25jdXJyZW50SG9va1VwZGF0ZUFuZEVhZ2VybHlCYWlsb3V0KGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudENsYXNzVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKSB7XG4gIHZhciBpbnRlcmxlYXZlZCA9IHF1ZXVlLmludGVybGVhdmVkO1xuXG4gIGlmIChpbnRlcmxlYXZlZCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTsgLy8gQXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCByZW5kZXIsIHRoaXMgcXVldWUncyBpbnRlcmxlYXZlZCB1cGRhdGVzIHdpbGxcbiAgICAvLyBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGVuZGluZyBxdWV1ZS5cblxuICAgIHB1c2hDb25jdXJyZW50VXBkYXRlUXVldWUocXVldWUpO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICBpbnRlcmxlYXZlZC5uZXh0ID0gdXBkYXRlO1xuICB9XG5cbiAgcXVldWUuaW50ZXJsZWF2ZWQgPSB1cGRhdGU7XG4gIHJldHVybiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIGxhbmUpIHtcbiAgcmV0dXJuIG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBsYW5lKTtcbn0gLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIG91dHNpZGUgdGhpcyBtb2R1bGUgc2hvdWxkIG9ubHkgYmUgZG9uZSBmb3IgYmFja3dhcmRzXG4vLyBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgYWx3YXlzIGJlIGFjY29tcGFuaWVkIGJ5IGEgd2FybmluZy5cblxudmFyIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdCA9IG1hcmtVcGRhdGVMYW5lRnJvbUZpYmVyVG9Sb290O1xuXG5mdW5jdGlvbiBtYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChzb3VyY2VGaWJlciwgbGFuZSkge1xuICAvLyBVcGRhdGUgdGhlIHNvdXJjZSBmaWJlcidzIGxhbmVzXG4gIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgbGFuZSk7XG4gIHZhciBhbHRlcm5hdGUgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCBsYW5lKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAoYWx0ZXJuYXRlID09PSBudWxsICYmIChzb3VyY2VGaWJlci5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgd2FybkFib3V0VXBkYXRlT25Ob3RZZXRNb3VudGVkRmliZXJJbkRFVihzb3VyY2VGaWJlcik7XG4gICAgfVxuICB9IC8vIFdhbGsgdGhlIHBhcmVudCBwYXRoIHRvIHRoZSByb290IGFuZCB1cGRhdGUgdGhlIGNoaWxkIGxhbmVzLlxuXG5cbiAgdmFyIG5vZGUgPSBzb3VyY2VGaWJlcjtcbiAgdmFyIHBhcmVudCA9IHNvdXJjZUZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgcGFyZW50LmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKHBhcmVudC5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICBhbHRlcm5hdGUgPSBwYXJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgYWx0ZXJuYXRlLmNoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKGFsdGVybmF0ZS5jaGlsZExhbmVzLCBsYW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoKHBhcmVudC5mbGFncyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgIHdhcm5BYm91dFVwZGF0ZU9uTm90WWV0TW91bnRlZEZpYmVySW5ERVYoc291cmNlRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudDtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaWYgKG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgIHZhciByb290ID0gbm9kZS5zdGF0ZU5vZGU7XG4gICAgcmV0dXJuIHJvb3Q7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxudmFyIFVwZGF0ZVN0YXRlID0gMDtcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xudmFyIEZvcmNlVXBkYXRlID0gMjtcbnZhciBDYXB0dXJlVXBkYXRlID0gMzsgLy8gR2xvYmFsIHN0YXRlIHRoYXQgaXMgcmVzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLlxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcbi8vIGBjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nYC5cblxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XG52YXIgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZTtcbnZhciBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWU7XG5cbntcbiAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IGZhbHNlO1xuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcbiAgdmFyIHF1ZXVlID0ge1xuICAgIGJhc2VTdGF0ZTogZmliZXIubWVtb2l6ZWRTdGF0ZSxcbiAgICBmaXJzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgbGFzdEJhc2VVcGRhdGU6IG51bGwsXG4gICAgc2hhcmVkOiB7XG4gICAgICBwZW5kaW5nOiBudWxsLFxuICAgICAgaW50ZXJsZWF2ZWQ6IG51bGwsXG4gICAgICBsYW5lczogTm9MYW5lc1xuICAgIH0sXG4gICAgZWZmZWN0czogbnVsbFxuICB9O1xuICBmaWJlci51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xufVxuZnVuY3Rpb24gY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBDbG9uZSB0aGUgdXBkYXRlIHF1ZXVlIGZyb20gY3VycmVudC4gVW5sZXNzIGl0J3MgYWxyZWFkeSBhIGNsb25lLlxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBjdXJyZW50UXVldWUpIHtcbiAgICB2YXIgY2xvbmUgPSB7XG4gICAgICBiYXNlU3RhdGU6IGN1cnJlbnRRdWV1ZS5iYXNlU3RhdGUsXG4gICAgICBmaXJzdEJhc2VVcGRhdGU6IGN1cnJlbnRRdWV1ZS5maXJzdEJhc2VVcGRhdGUsXG4gICAgICBsYXN0QmFzZVVwZGF0ZTogY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlLFxuICAgICAgc2hhcmVkOiBjdXJyZW50UXVldWUuc2hhcmVkLFxuICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICB9O1xuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY2xvbmU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZSA9IHtcbiAgICBldmVudFRpbWU6IGV2ZW50VGltZSxcbiAgICBsYW5lOiBsYW5lLFxuICAgIHRhZzogVXBkYXRlU3RhdGUsXG4gICAgcGF5bG9hZDogbnVsbCxcbiAgICBjYWxsYmFjazogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG4gIHJldHVybiB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIGxhbmUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBzaGFyZWRRdWV1ZSA9IHVwZGF0ZVF1ZXVlLnNoYXJlZDtcblxuICB7XG4gICAgaWYgKGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9PT0gc2hhcmVkUXVldWUgJiYgIWRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUpIHtcbiAgICAgIGVycm9yKCdBbiB1cGRhdGUgKHNldFN0YXRlLCByZXBsYWNlU3RhdGUsIG9yIGZvcmNlVXBkYXRlKSB3YXMgc2NoZWR1bGVkICcgKyAnZnJvbSBpbnNpZGUgYW4gdXBkYXRlIGZ1bmN0aW9uLiBVcGRhdGUgZnVuY3Rpb25zIHNob3VsZCBiZSBwdXJlLCAnICsgJ3dpdGggemVybyBzaWRlLWVmZmVjdHMuIENvbnNpZGVyIHVzaW5nIGNvbXBvbmVudERpZFVwZGF0ZSBvciBhICcgKyAnY2FsbGJhY2suJyk7XG5cbiAgICAgIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoKSkge1xuICAgIC8vIFRoaXMgaXMgYW4gdW5zYWZlIHJlbmRlciBwaGFzZSB1cGRhdGUuIEFkZCBkaXJlY3RseSB0byB0aGUgdXBkYXRlXG4gICAgLy8gcXVldWUgc28gd2UgY2FuIHByb2Nlc3MgaXQgaW1tZWRpYXRlbHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlci5cbiAgICB2YXIgcGVuZGluZyA9IHNoYXJlZFF1ZXVlLnBlbmRpbmc7XG5cbiAgICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgICAgdXBkYXRlLm5leHQgPSB1cGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgICAgcGVuZGluZy5uZXh0ID0gdXBkYXRlO1xuICAgIH1cblxuICAgIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7IC8vIFVwZGF0ZSB0aGUgY2hpbGRMYW5lcyBldmVuIHRob3VnaCB3ZSdyZSBtb3N0IGxpa2VseSBhbHJlYWR5IHJlbmRlcmluZ1xuICAgIC8vIHRoaXMgZmliZXIuIFRoaXMgaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGluIHRoZSBjYXNlIHdoZXJlIHlvdVxuICAgIC8vIHVwZGF0ZSBhIGRpZmZlcmVudCBjb21wb25lbnQgZHVyaW5nIHJlbmRlciBwaGFzZSB0aGFuIHRoZSBvbmUgdGhhdCBpc1xuICAgIC8vIGN1cnJlbnRseSByZW5kZXJpbmdzIChhIHBhdHRlcm4gdGhhdCBpcyBhY2NvbXBhbmllZCBieSBhIHdhcm5pbmcpLlxuXG4gICAgcmV0dXJuIHVuc2FmZV9tYXJrVXBkYXRlTGFuZUZyb21GaWJlclRvUm9vdChmaWJlciwgbGFuZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVucXVldWVDb25jdXJyZW50Q2xhc3NVcGRhdGUoZmliZXIsIHNoYXJlZFF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpYmVyLnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh1cGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xuICAgIC8vIE9ubHkgb2NjdXJzIGlmIHRoZSBmaWJlciBoYXMgYmVlbiB1bm1vdW50ZWQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNoYXJlZFF1ZXVlID0gdXBkYXRlUXVldWUuc2hhcmVkO1xuXG4gIGlmIChpc1RyYW5zaXRpb25MYW5lKGxhbmUpKSB7XG4gICAgdmFyIHF1ZXVlTGFuZXMgPSBzaGFyZWRRdWV1ZS5sYW5lczsgLy8gSWYgYW55IGVudGFuZ2xlZCBsYW5lcyBhcmUgbm8gbG9uZ2VyIHBlbmRpbmcgb24gdGhlIHJvb3QsIHRoZW4gdGhleSBtdXN0XG4gICAgLy8gaGF2ZSBmaW5pc2hlZC4gV2UgY2FuIHJlbW92ZSB0aGVtIGZyb20gdGhlIHNoYXJlZCBxdWV1ZSwgd2hpY2ggcmVwcmVzZW50c1xuICAgIC8vIGEgc3VwZXJzZXQgb2YgdGhlIGFjdHVhbGx5IHBlbmRpbmcgbGFuZXMuIEluIHNvbWUgY2FzZXMgd2UgbWF5IGVudGFuZ2xlXG4gICAgLy8gbW9yZSB0aGFuIHdlIG5lZWQgdG8sIGJ1dCB0aGF0J3MgT0suIEluIGZhY3QgaXQncyB3b3JzZSBpZiB3ZSAqZG9uJ3QqXG4gICAgLy8gZW50YW5nbGUgd2hlbiB3ZSBzaG91bGQuXG5cbiAgICBxdWV1ZUxhbmVzID0gaW50ZXJzZWN0TGFuZXMocXVldWVMYW5lcywgcm9vdC5wZW5kaW5nTGFuZXMpOyAvLyBFbnRhbmdsZSB0aGUgbmV3IHRyYW5zaXRpb24gbGFuZSB3aXRoIHRoZSBvdGhlciB0cmFuc2l0aW9uIGxhbmVzLlxuXG4gICAgdmFyIG5ld1F1ZXVlTGFuZXMgPSBtZXJnZUxhbmVzKHF1ZXVlTGFuZXMsIGxhbmUpO1xuICAgIHNoYXJlZFF1ZXVlLmxhbmVzID0gbmV3UXVldWVMYW5lczsgLy8gRXZlbiBpZiBxdWV1ZS5sYW5lcyBhbHJlYWR5IGluY2x1ZGUgbGFuZSwgd2UgZG9uJ3Qga25vdyBmb3IgY2VydGFpbiBpZlxuICAgIC8vIHRoZSBsYW5lIGZpbmlzaGVkIHNpbmNlIHRoZSBsYXN0IHRpbWUgd2UgZW50YW5nbGVkIGl0LiBTbyB3ZSBuZWVkIHRvXG4gICAgLy8gZW50YW5nbGUgaXQgYWdhaW4sIGp1c3QgdG8gYmUgc3VyZS5cblxuICAgIG1hcmtSb290RW50YW5nbGVkKHJvb3QsIG5ld1F1ZXVlTGFuZXMpO1xuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGNhcHR1cmVkVXBkYXRlKSB7XG4gIC8vIENhcHR1cmVkIHVwZGF0ZXMgYXJlIHVwZGF0ZXMgdGhhdCBhcmUgdGhyb3duIGJ5IGEgY2hpbGQgZHVyaW5nIHRoZSByZW5kZXJcbiAgLy8gcGhhc2UuIFRoZXkgc2hvdWxkIGJlIGRpc2NhcmRlZCBpZiB0aGUgcmVuZGVyIGlzIGFib3J0ZWQuIFRoZXJlZm9yZSxcbiAgLy8gd2Ugc2hvdWxkIG9ubHkgcHV0IHRoZW0gb24gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUsIG5vdCB0aGUgY3VycmVudCBvbmUuXG4gIHZhciBxdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBDaGVjayBpZiB0aGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSBpcyBhIGNsb25lLlxuXG4gIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XG5cbiAgICBpZiAocXVldWUgPT09IGN1cnJlbnRRdWV1ZSkge1xuICAgICAgLy8gVGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUgaXMgdGhlIHNhbWUgYXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW5cbiAgICAgIC8vIHdlIGJhaWwgb3V0IG9uIGEgcGFyZW50IGZpYmVyIHRoYXQgdGhlbiBjYXB0dXJlcyBhbiBlcnJvciB0aHJvd24gYnlcbiAgICAgIC8vIGEgY2hpbGQuIFNpbmNlIHdlIHdhbnQgdG8gYXBwZW5kIHRoZSB1cGRhdGUgb25seSB0byB0aGUgd29yay1pblxuICAgICAgLy8gLXByb2dyZXNzIHF1ZXVlLCB3ZSBuZWVkIHRvIGNsb25lIHRoZSB1cGRhdGVzLiBXZSB1c3VhbGx5IGNsb25lIGR1cmluZ1xuICAgICAgLy8gcHJvY2Vzc1VwZGF0ZVF1ZXVlLCBidXQgdGhhdCBkaWRuJ3QgaGFwcGVuIGluIHRoaXMgY2FzZSBiZWNhdXNlIHdlXG4gICAgICAvLyBza2lwcGVkIG92ZXIgdGhlIHBhcmVudCB3aGVuIHdlIGJhaWxlZCBvdXQuXG4gICAgICB2YXIgbmV3Rmlyc3QgPSBudWxsO1xuICAgICAgdmFyIG5ld0xhc3QgPSBudWxsO1xuICAgICAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcblxuICAgICAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIHVwZGF0ZXMgYW5kIGNsb25lIHRoZW0uXG4gICAgICAgIHZhciB1cGRhdGUgPSBmaXJzdEJhc2VVcGRhdGU7XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgIHZhciBjbG9uZSA9IHtcbiAgICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlLmV2ZW50VGltZSxcbiAgICAgICAgICAgIGxhbmU6IHVwZGF0ZS5sYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAobmV3TGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2xvbmU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0xhc3QubmV4dCA9IGNsb25lO1xuICAgICAgICAgICAgbmV3TGFzdCA9IGNsb25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuICAgICAgICB9IHdoaWxlICh1cGRhdGUgIT09IG51bGwpOyAvLyBBcHBlbmQgdGhlIGNhcHR1cmVkIHVwZGF0ZSB0aGUgZW5kIG9mIHRoZSBjbG9uZWQgbGlzdC5cblxuXG4gICAgICAgIGlmIChuZXdMYXN0ID09PSBudWxsKSB7XG4gICAgICAgICAgbmV3Rmlyc3QgPSBuZXdMYXN0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdC5uZXh0ID0gY2FwdHVyZWRVcGRhdGU7XG4gICAgICAgICAgbmV3TGFzdCA9IGNhcHR1cmVkVXBkYXRlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGVyZSBhcmUgbm8gYmFzZSB1cGRhdGVzLlxuICAgICAgICBuZXdGaXJzdCA9IG5ld0xhc3QgPSBjYXB0dXJlZFVwZGF0ZTtcbiAgICAgIH1cblxuICAgICAgcXVldWUgPSB7XG4gICAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcbiAgICAgICAgZmlyc3RCYXNlVXBkYXRlOiBuZXdGaXJzdCxcbiAgICAgICAgbGFzdEJhc2VVcGRhdGU6IG5ld0xhc3QsXG4gICAgICAgIHNoYXJlZDogY3VycmVudFF1ZXVlLnNoYXJlZCxcbiAgICAgICAgZWZmZWN0czogY3VycmVudFF1ZXVlLmVmZmVjdHNcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHF1ZXVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSAvLyBBcHBlbmQgdGhlIHVwZGF0ZSB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuXG5cbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgaWYgKGxhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gY2FwdHVyZWRVcGRhdGU7XG4gIH0gZWxzZSB7XG4gICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGNhcHR1cmVkVXBkYXRlO1xuICB9XG5cbiAgcXVldWUubGFzdEJhc2VVcGRhdGUgPSBjYXB0dXJlZFVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBwcmV2U3RhdGUsIG5leHRQcm9wcywgaW5zdGFuY2UpIHtcbiAgc3dpdGNoICh1cGRhdGUudGFnKSB7XG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVXBkYXRlciBmdW5jdGlvblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgbmV4dFN0YXRlID0gcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKHRydWUpO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHMoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgIH0gLy8gU3RhdGUgb2JqZWN0XG5cblxuICAgICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FwdHVyZVVwZGF0ZTpcbiAgICAgIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgIH1cbiAgICAvLyBJbnRlbnRpb25hbCBmYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQuY2FsbChpbnN0YW5jZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMpO1xuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhpdERpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFBhcnRpYWwgc3RhdGUgb2JqZWN0XG4gICAgICAgICAgcGFydGlhbFN0YXRlID0gX3BheWxvYWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cbiAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXG5cblxuICAgICAgICByZXR1cm4gYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxuICAgICAge1xuICAgICAgICBoYXNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gcHJldlN0YXRlO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIHByb3BzLCBpbnN0YW5jZSwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBpcyBhbHdheXMgbm9uLW51bGwgb24gYSBDbGFzc0NvbXBvbmVudCBvciBIb3N0Um9vdFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcblxuICB7XG4gICAgY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID0gcXVldWUuc2hhcmVkO1xuICB9XG5cbiAgdmFyIGZpcnN0QmFzZVVwZGF0ZSA9IHF1ZXVlLmZpcnN0QmFzZVVwZGF0ZTtcbiAgdmFyIGxhc3RCYXNlVXBkYXRlID0gcXVldWUubGFzdEJhc2VVcGRhdGU7IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nIHVwZGF0ZXMuIElmIHNvLCB0cmFuc2ZlciB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuXG4gIHZhciBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgcXVldWUuc2hhcmVkLnBlbmRpbmcgPSBudWxsOyAvLyBUaGUgcGVuZGluZyBxdWV1ZSBpcyBjaXJjdWxhci4gRGlzY29ubmVjdCB0aGUgcG9pbnRlciBiZXR3ZWVuIGZpcnN0XG4gICAgLy8gYW5kIGxhc3Qgc28gdGhhdCBpdCdzIG5vbi1jaXJjdWxhci5cblxuICAgIHZhciBsYXN0UGVuZGluZ1VwZGF0ZSA9IHBlbmRpbmdRdWV1ZTtcbiAgICB2YXIgZmlyc3RQZW5kaW5nVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGUubmV4dDtcbiAgICBsYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDsgLy8gQXBwZW5kIHBlbmRpbmcgdXBkYXRlcyB0byBiYXNlIHF1ZXVlXG5cbiAgICBpZiAobGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgIGZpcnN0QmFzZVVwZGF0ZSA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdEJhc2VVcGRhdGUubmV4dCA9IGZpcnN0UGVuZGluZ1VwZGF0ZTtcbiAgICB9XG5cbiAgICBsYXN0QmFzZVVwZGF0ZSA9IGxhc3RQZW5kaW5nVXBkYXRlOyAvLyBJZiB0aGVyZSdzIGEgY3VycmVudCBxdWV1ZSwgYW5kIGl0J3MgZGlmZmVyZW50IGZyb20gdGhlIGJhc2UgcXVldWUsIHRoZW5cbiAgICAvLyB3ZSBuZWVkIHRvIHRyYW5zZmVyIHRoZSB1cGRhdGVzIHRvIHRoYXQgcXVldWUsIHRvby4gQmVjYXVzZSB0aGUgYmFzZVxuICAgIC8vIHF1ZXVlIGlzIGEgc2luZ2x5LWxpbmtlZCBsaXN0IHdpdGggbm8gY3ljbGVzLCB3ZSBjYW4gYXBwZW5kIHRvIGJvdGhcbiAgICAvLyBsaXN0cyBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Ygc3RydWN0dXJhbCBzaGFyaW5nLlxuICAgIC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XG5cbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XG4gICAgICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcbiAgICAgIHZhciBjdXJyZW50TGFzdEJhc2VVcGRhdGUgPSBjdXJyZW50UXVldWUubGFzdEJhc2VVcGRhdGU7XG5cbiAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgIT09IGxhc3RCYXNlVXBkYXRlKSB7XG4gICAgICAgIGlmIChjdXJyZW50TGFzdEJhc2VVcGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjdXJyZW50UXVldWUuZmlyc3RCYXNlVXBkYXRlID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbGFzdFBlbmRpbmdVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxuXG5cbiAgaWYgKGZpcnN0QmFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiB1cGRhdGVzIHRvIGNvbXB1dGUgdGhlIHJlc3VsdC5cbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7IC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlIHJlbmRlckxhbmVzXG4gICAgLy8gZnJvbSB0aGUgb3JpZ2luYWwgbGFuZXMuXG5cbiAgICB2YXIgbmV3TGFuZXMgPSBOb0xhbmVzO1xuICAgIHZhciBuZXdCYXNlU3RhdGUgPSBudWxsO1xuICAgIHZhciBuZXdGaXJzdEJhc2VVcGRhdGUgPSBudWxsO1xuICAgIHZhciBuZXdMYXN0QmFzZVVwZGF0ZSA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0QmFzZVVwZGF0ZTtcblxuICAgIGRvIHtcbiAgICAgIHZhciB1cGRhdGVMYW5lID0gdXBkYXRlLmxhbmU7XG4gICAgICB2YXIgdXBkYXRlRXZlbnRUaW1lID0gdXBkYXRlLmV2ZW50VGltZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGV2ZW50VGltZTogdXBkYXRlRXZlbnRUaW1lLFxuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgIHBheWxvYWQ6IHVwZGF0ZS5wYXlsb2FkLFxuICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXG4gICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChuZXdMYXN0QmFzZVVwZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0ZpcnN0QmFzZVVwZGF0ZSA9IG5ld0xhc3RCYXNlVXBkYXRlID0gY2xvbmU7XG4gICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gY2xvbmU7XG4gICAgICAgIH0gLy8gVXBkYXRlIHRoZSByZW1haW5pbmcgcHJpb3JpdHkgaW4gdGhlIHF1ZXVlLlxuXG5cbiAgICAgICAgbmV3TGFuZXMgPSBtZXJnZUxhbmVzKG5ld0xhbmVzLCB1cGRhdGVMYW5lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxuICAgICAgICBpZiAobmV3TGFzdEJhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgZXZlbnRUaW1lOiB1cGRhdGVFdmVudFRpbWUsXG4gICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdFxuICAgICAgICAgICAgLy8gaXQuIFVzaW5nIE5vTGFuZSB3b3JrcyBiZWNhdXNlIDAgaXMgYSBzdWJzZXQgb2YgYWxsIGJpdG1hc2tzLCBzb1xuICAgICAgICAgICAgLy8gdGhpcyB3aWxsIG5ldmVyIGJlIHNraXBwZWQgYnkgdGhlIGNoZWNrIGFib3ZlLlxuICAgICAgICAgICAgbGFuZTogTm9MYW5lLFxuICAgICAgICAgICAgdGFnOiB1cGRhdGUudGFnLFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICBjYWxsYmFjazogdXBkYXRlLmNhbGxiYWNrLFxuICAgICAgICAgICAgbmV4dDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgICAgbmV3TGFzdEJhc2VVcGRhdGUgPSBuZXdMYXN0QmFzZVVwZGF0ZS5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBuZXdTdGF0ZSA9IGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgbmV3U3RhdGUsIHByb3BzLCBpbnN0YW5jZSk7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHVwZGF0ZS5jYWxsYmFjaztcblxuICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgLy8gSWYgdGhlIHVwZGF0ZSB3YXMgYWxyZWFkeSBjb21taXR0ZWQsIHdlIHNob3VsZCBub3QgcXVldWUgaXRzXG4gICAgICAgIC8vIGNhbGxiYWNrIGFnYWluLlxuICAgICAgICB1cGRhdGUubGFuZSAhPT0gTm9MYW5lKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2FsbGJhY2s7XG4gICAgICAgICAgdmFyIGVmZmVjdHMgPSBxdWV1ZS5lZmZlY3RzO1xuXG4gICAgICAgICAgaWYgKGVmZmVjdHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXVlLmVmZmVjdHMgPSBbdXBkYXRlXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWZmZWN0cy5wdXNoKHVwZGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuXG4gICAgICBpZiAodXBkYXRlID09PSBudWxsKSB7XG4gICAgICAgIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xuXG4gICAgICAgIGlmIChwZW5kaW5nUXVldWUgPT09IG51bGwpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBmcm9tIGluc2lkZSBhIHJlZHVjZXIuIEFkZCB0aGUgbmV3XG4gICAgICAgICAgLy8gcGVuZGluZyB1cGRhdGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgYW5kIGtlZXAgcHJvY2Vzc2luZy5cbiAgICAgICAgICB2YXIgX2xhc3RQZW5kaW5nVXBkYXRlID0gcGVuZGluZ1F1ZXVlOyAvLyBJbnRlbnRpb25hbGx5IHVuc291bmQuIFBlbmRpbmcgdXBkYXRlcyBmb3JtIGEgY2lyY3VsYXIgbGlzdCwgYnV0IHdlXG4gICAgICAgICAgLy8gdW5yYXZlbCB0aGVtIHdoZW4gdHJhbnNmZXJyaW5nIHRoZW0gdG8gdGhlIGJhc2UgcXVldWUuXG5cbiAgICAgICAgICB2YXIgX2ZpcnN0UGVuZGluZ1VwZGF0ZSA9IF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0O1xuICAgICAgICAgIF9sYXN0UGVuZGluZ1VwZGF0ZS5uZXh0ID0gbnVsbDtcbiAgICAgICAgICB1cGRhdGUgPSBfZmlyc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gX2xhc3RQZW5kaW5nVXBkYXRlO1xuICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKHRydWUpO1xuXG4gICAgaWYgKG5ld0xhc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICB9XG5cbiAgICBxdWV1ZS5iYXNlU3RhdGUgPSBuZXdCYXNlU3RhdGU7XG4gICAgcXVldWUuZmlyc3RCYXNlVXBkYXRlID0gbmV3Rmlyc3RCYXNlVXBkYXRlO1xuICAgIHF1ZXVlLmxhc3RCYXNlVXBkYXRlID0gbmV3TGFzdEJhc2VVcGRhdGU7IC8vIEludGVybGVhdmVkIHVwZGF0ZXMgYXJlIHN0b3JlZCBvbiBhIHNlcGFyYXRlIHF1ZXVlLiBXZSBhcmVuJ3QgZ29pbmcgdG9cbiAgICAvLyBwcm9jZXNzIHRoZW0gZHVyaW5nIHRoaXMgcmVuZGVyLCBidXQgd2UgZG8gbmVlZCB0byB0cmFjayB3aGljaCBsYW5lc1xuICAgIC8vIGFyZSByZW1haW5pbmcuXG5cbiAgICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuc2hhcmVkLmludGVybGVhdmVkO1xuXG4gICAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgICAgdmFyIGludGVybGVhdmVkID0gbGFzdEludGVybGVhdmVkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIG5ld0xhbmVzID0gbWVyZ2VMYW5lcyhuZXdMYW5lcywgaW50ZXJsZWF2ZWQubGFuZSk7XG4gICAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICAgIH0gd2hpbGUgKGludGVybGVhdmVkICE9PSBsYXN0SW50ZXJsZWF2ZWQpO1xuICAgIH0gZWxzZSBpZiAoZmlyc3RCYXNlVXBkYXRlID09PSBudWxsKSB7XG4gICAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgICAgLy8gemVybyBvbmNlIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICAgIHF1ZXVlLnNoYXJlZC5sYW5lcyA9IE5vTGFuZXM7XG4gICAgfSAvLyBTZXQgdGhlIHJlbWFpbmluZyBleHBpcmF0aW9uIHRpbWUgdG8gYmUgd2hhdGV2ZXIgaXMgcmVtYWluaW5nIGluIHRoZSBxdWV1ZS5cbiAgICAvLyBUaGlzIHNob3VsZCBiZSBmaW5lIGJlY2F1c2UgdGhlIG9ubHkgdHdvIG90aGVyIHRoaW5ncyB0aGF0IGNvbnRyaWJ1dGUgdG9cbiAgICAvLyBleHBpcmF0aW9uIHRpbWUgYXJlIHByb3BzIGFuZCBjb250ZXh0LiBXZSdyZSBhbHJlYWR5IGluIHRoZSBtaWRkbGUgb2YgdGhlXG4gICAgLy8gYmVnaW4gcGhhc2UgYnkgdGhlIHRpbWUgd2Ugc3RhcnQgcHJvY2Vzc2luZyB0aGUgcXVldWUsIHNvIHdlJ3ZlIGFscmVhZHlcbiAgICAvLyBkZWFsdCB3aXRoIHRoZSBwcm9wcy4gQ29udGV4dCBpbiBjb21wb25lbnRzIHRoYXQgc3BlY2lmeVxuICAgIC8vIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB0cmlja3k7IGJ1dCB3ZSdsbCBoYXZlIHRvIGFjY291bnQgZm9yXG4gICAgLy8gdGhhdCByZWdhcmRsZXNzLlxuXG5cbiAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKG5ld0xhbmVzKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG5ld0xhbmVzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHtcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgY29udGV4dCkge1xuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBhcyBjYWxsYmFjay4gRXhwZWN0ZWQgYSBmdW5jdGlvbi4gSW5zdGVhZCAnICsgKFwicmVjZWl2ZWQ6IFwiICsgY2FsbGJhY2spKTtcbiAgfVxuXG4gIGNhbGxiYWNrLmNhbGwoY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCkge1xuICBoYXNGb3JjZVVwZGF0ZSA9IGZhbHNlO1xufVxuZnVuY3Rpb24gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHtcbiAgcmV0dXJuIGhhc0ZvcmNlVXBkYXRlO1xufVxuZnVuY3Rpb24gY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFF1ZXVlLCBpbnN0YW5jZSkge1xuICAvLyBDb21taXQgdGhlIGVmZmVjdHNcbiAgdmFyIGVmZmVjdHMgPSBmaW5pc2hlZFF1ZXVlLmVmZmVjdHM7XG4gIGZpbmlzaGVkUXVldWUuZWZmZWN0cyA9IG51bGw7XG5cbiAgaWYgKGVmZmVjdHMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVmZmVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBlZmZlY3QgPSBlZmZlY3RzW2ldO1xuICAgICAgdmFyIGNhbGxiYWNrID0gZWZmZWN0LmNhbGxiYWNrO1xuXG4gICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgICAgZWZmZWN0LmNhbGxiYWNrID0gbnVsbDtcbiAgICAgICAgY2FsbENhbGxiYWNrKGNhbGxiYWNrLCBpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBmYWtlSW50ZXJuYWxJbnN0YW5jZSA9IHt9OyAvLyBSZWFjdC5Db21wb25lbnQgdXNlcyBhIHNoYXJlZCBmcm96ZW4gb2JqZWN0IGJ5IGRlZmF1bHQuXG4vLyBXZSdsbCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplIGxlZ2FjeSByZWZzLlxuXG52YXIgZW1wdHlSZWZzT2JqZWN0ID0gbmV3IFJlYWN0LkNvbXBvbmVudCgpLnJlZnM7XG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGU7XG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGU7XG52YXIgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlO1xudmFyIHdhcm5PbkludmFsaWRDYWxsYmFjaztcbnZhciBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcztcbnZhciBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGU7XG5cbntcbiAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZSA9IG5ldyBTZXQoKTtcbiAgdmFyIGRpZFdhcm5PbkludmFsaWRDYWxsYmFjayA9IG5ldyBTZXQoKTtcblxuICB3YXJuT25JbnZhbGlkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IG51bGwgfHwgdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGtleSA9IGNhbGxlck5hbWUgKyAnXycgKyBjYWxsYmFjaztcblxuICAgIGlmICghZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrLmhhcyhrZXkpKSB7XG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XG5cbiAgICAgIGVycm9yKCclcyguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGVyTmFtZSwgY2FsbGJhY2spO1xuICAgIH1cbiAgfTtcblxuICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUgPSBmdW5jdGlvbiAodHlwZSwgcGFydGlhbFN0YXRlKSB7XG4gICAgaWYgKHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmRlZmluZWREZXJpdmVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJyVzLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpOiBBIHZhbGlkIHN0YXRlIG9iamVjdCAob3IgbnVsbCkgbXVzdCBiZSByZXR1cm5lZC4gJyArICdZb3UgaGF2ZSByZXR1cm5lZCB1bmRlZmluZWQuJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBUaGlzIGlzIHNvIGdyb3NzIGJ1dCBpdCdzIGF0IGxlYXN0IG5vbi1jcml0aWNhbCBhbmQgY2FuIGJlIHJlbW92ZWQgaWZcbiAgLy8gaXQgY2F1c2VzIHByb2JsZW1zLiBUaGlzIGlzIG1lYW50IHRvIGdpdmUgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvclxuICAvLyBSZWFjdERPTTE1LnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHJlYWN0RE9NMTZDb21wb25lbnQsXG4gIC8vIC4uLikpIHdoaWNoIG90aGVyd2lzZSB0aHJvd3MgYSBcIl9wcm9jZXNzQ2hpbGRDb250ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uXCJcbiAgLy8gZXhjZXB0aW9uLlxuXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VJbnRlcm5hbEluc3RhbmNlLCAnX3Byb2Nlc3NDaGlsZENvbnRleHQnLCB7XG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5ICcgKyAnbWVhbnMgeW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGFuZCBhcmUgYXR0ZW1wdGluZyB0byBuZXN0ICcgKyAnYSBSZWFjdCAxNSB0cmVlIGluc2lkZSBhIFJlYWN0IDE2IHRyZWUgdXNpbmcgJyArIFwidW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIsIHdoaWNoIGlzbid0IHN1cHBvcnRlZC4gVHJ5IFwiICsgJ3RvIG1ha2Ugc3VyZSB5b3UgaGF2ZSBvbmx5IG9uZSBjb3B5IG9mIFJlYWN0IChhbmQgaWRlYWxseSwgc3dpdGNoICcgKyAndG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS4nKTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZnJlZXplKGZha2VJbnRlcm5hbEluc3RhbmNlKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV4dFByb3BzKSB7XG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcblxuICB7XG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgc2V0SXNTdHJpY3RNb2RlRm9yRGV2dG9vbHModHJ1ZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgIHBhcnRpYWxTdGF0ZSA9IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlKGN0b3IsIHBhcnRpYWxTdGF0ZSk7XG4gIH0gLy8gTWVyZ2UgdGhlIHBhcnRpYWwgc3RhdGUgYW5kIHRoZSBwcmV2aW91cyBzdGF0ZS5cblxuXG4gIHZhciBtZW1vaXplZFN0YXRlID0gcGFydGlhbFN0YXRlID09PSBudWxsIHx8IHBhcnRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkID8gcHJldlN0YXRlIDogYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBtZW1vaXplZFN0YXRlOyAvLyBPbmNlIHRoZSB1cGRhdGUgcXVldWUgaXMgZW1wdHksIHBlcnNpc3QgdGhlIGRlcml2ZWQgc3RhdGUgb250byB0aGVcbiAgLy8gYmFzZSBzdGF0ZS5cblxuICBpZiAod29ya0luUHJvZ3Jlc3MubGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAvLyBRdWV1ZSBpcyBhbHdheXMgbm9uLW51bGwgZm9yIGNsYXNzZXNcbiAgICB2YXIgdXBkYXRlUXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcbiAgICB1cGRhdGVRdWV1ZS5iYXNlU3RhdGUgPSBtZW1vaXplZFN0YXRlO1xuICB9XG59XG5cbnZhciBjbGFzc0NvbXBvbmVudFVwZGF0ZXIgPSB7XG4gIGlzTW91bnRlZDogaXNNb3VudGVkLFxuICBlbnF1ZXVlU2V0U3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2ssICdzZXRTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChpbnN0LCBwYXlsb2FkLCBjYWxsYmFjaykge1xuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoZmliZXIpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgICB1cGRhdGUudGFnID0gUmVwbGFjZVN0YXRlO1xuICAgIHVwZGF0ZS5wYXlsb2FkID0gcGF5bG9hZDtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ3JlcGxhY2VTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSwgbGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBmaWJlciwgbGFuZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya1N0YXRlVXBkYXRlU2NoZWR1bGVkKGZpYmVyLCBsYW5lKTtcbiAgICB9XG4gIH0sXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShldmVudFRpbWUsIGxhbmUpO1xuICAgIHVwZGF0ZS50YWcgPSBGb3JjZVVwZGF0ZTtcblxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHdhcm5PbkludmFsaWRDYWxsYmFjayhjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25zKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBtYXJrRm9yY2VVcGRhdGVTY2hlZHVsZWQoZmliZXIsIGxhbmUpO1xuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2hlY2tTaG91bGRDb21wb25lbnRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG9sZFByb3BzLCBuZXdQcm9wcywgb2xkU3RhdGUsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCkge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuXG4gICAge1xuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEludm9rZSB0aGUgZnVuY3Rpb24gYW4gZXh0cmEgdGltZSB0byBoZWxwIGRldGVjdCBzaWRlLWVmZmVjdHMuXG4gICAgICAgICAgc2hvdWxkVXBkYXRlID0gaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkVXBkYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXJyb3IoJyVzLnNob3VsZENvbXBvbmVudFVwZGF0ZSgpOiBSZXR1cm5lZCB1bmRlZmluZWQgaW5zdGVhZCBvZiBhICcgKyAnYm9vbGVhbiB2YWx1ZS4gTWFrZSBzdXJlIHRvIHJldHVybiB0cnVlIG9yIGZhbHNlLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbiAgfVxuXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xuICAgIHJldHVybiAhc2hhbGxvd0VxdWFsKG9sZFByb3BzLCBuZXdQcm9wcykgfHwgIXNoYWxsb3dFcXVhbChvbGRTdGF0ZSwgbmV3U3RhdGUpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcbiAgICB2YXIgcmVuZGVyUHJlc2VudCA9IGluc3RhbmNlLnJlbmRlcjtcblxuICAgIGlmICghcmVuZGVyUHJlc2VudCkge1xuICAgICAgaWYgKGN0b3IucHJvdG90eXBlICYmIHR5cGVvZiBjdG9yLnByb3RvdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IGRpZCB5b3UgYWNjaWRlbnRhbGx5IHJldHVybiBhbiBvYmplY3QgZnJvbSB0aGUgY29uc3RydWN0b3I/JywgbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignJXMoLi4uKTogTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSByZXR1cm5lZCBjb21wb25lbnQgJyArICdpbnN0YW5jZTogeW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBkZWZpbmUgYHJlbmRlcmAuJywgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmdldEluaXRpYWxTdGF0ZSAmJiAhaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlLmlzUmVhY3RDbGFzc0FwcHJvdmVkICYmICFpbnN0YW5jZS5zdGF0ZSkge1xuICAgICAgZXJyb3IoJ2dldEluaXRpYWxTdGF0ZSB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdEaWQgeW91IG1lYW4gdG8gZGVmaW5lIGEgc3RhdGUgcHJvcGVydHkgaW5zdGVhZD8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzICYmICFpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgd2FzIGRlZmluZWQgb24gJXMsIGEgcGxhaW4gSmF2YVNjcmlwdCBjbGFzcy4gJyArICdUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBjbGFzc2VzIGNyZWF0ZWQgdXNpbmcgUmVhY3QuY3JlYXRlQ2xhc3MuICcgKyAnVXNlIGEgc3RhdGljIHByb3BlcnR5IHRvIGRlZmluZSBkZWZhdWx0UHJvcHMgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UucHJvcFR5cGVzKSB7XG4gICAgICBlcnJvcigncHJvcFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgcHJvcFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmNvbnRleHRUeXBlKSB7XG4gICAgICBlcnJvcignY29udGV4dFR5cGUgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZSBpbnN0ZWFkLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChpbnN0YW5jZS5jb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJ2NvbnRleHRUeXBlcyB3YXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcy4gVXNlIGEgc3RhdGljICcgKyAncHJvcGVydHkgdG8gZGVmaW5lIGNvbnRleHRUeXBlcyBpbnN0ZWFkLicsIG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY3Rvci5jb250ZXh0VHlwZSAmJiBjdG9yLmNvbnRleHRUeXBlcyAmJiAhZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmFkZChjdG9yKTtcblxuICAgICAgICBlcnJvcignJXMgZGVjbGFyZXMgYm90aCBjb250ZXh0VHlwZXMgYW5kIGNvbnRleHRUeXBlIHN0YXRpYyBwcm9wZXJ0aWVzLiAnICsgJ1RoZSBsZWdhY3kgY29udGV4dFR5cGVzIHByb3BlcnR5IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFNob3VsZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnRTaG91bGRVcGRhdGUoKS4gRGlkIHlvdSBtZWFuIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpPyAnICsgJ1RoZSBuYW1lIGlzIHBocmFzZWQgYXMgYSBxdWVzdGlvbiBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyAnICsgJ2V4cGVjdGVkIHRvIHJldHVybiBhIHZhbHVlLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCAmJiB0eXBlb2YgaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgc2hvdWxkQ29tcG9uZW50VXBkYXRlKCkuICcgKyAnc2hvdWxkQ29tcG9uZW50VXBkYXRlIHNob3VsZCBub3QgYmUgdXNlZCB3aGVuIGV4dGVuZGluZyBSZWFjdC5QdXJlQ29tcG9uZW50LiAnICsgJ1BsZWFzZSBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSBpcyB1c2VkLicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQSBwdXJlIGNvbXBvbmVudCcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRVbm1vdW50KCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnRGlkIHlvdSBtZWFuIGNvbXBvbmVudFdpbGxVbm1vdW50KCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50RGlkUmVjZWl2ZVByb3BzKCkuIEJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpZmVjeWNsZSBtZXRob2QuICcgKyAnSWYgeW91IG1lYW50IHRvIHVwZGF0ZSB0aGUgc3RhdGUgaW4gcmVzcG9uc2UgdG8gY2hhbmdpbmcgcHJvcHMsICcgKyAndXNlIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKS4gSWYgeW91IG1lYW50IHRvIGZldGNoIGRhdGEgb3IgJyArICdydW4gc2lkZS1lZmZlY3RzIG9yIG11dGF0aW9ucyBhZnRlciBSZWFjdCBoYXMgdXBkYXRlZCB0aGUgVUksIHVzZSBjb21wb25lbnREaWRVcGRhdGUoKS4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMoKS4gRGlkIHlvdSBtZWFuIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgdmFyIGhhc011dGF0ZWRQcm9wcyA9IGluc3RhbmNlLnByb3BzICE9PSBuZXdQcm9wcztcblxuICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gdW5kZWZpbmVkICYmIGhhc011dGF0ZWRQcm9wcykge1xuICAgICAgZXJyb3IoJyVzKC4uLik6IFdoZW4gY2FsbGluZyBzdXBlcigpIGluIGAlc2AsIG1ha2Ugc3VyZSB0byBwYXNzICcgKyBcInVwIHRoZSBzYW1lIHByb3BzIHRoYXQgeW91ciBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB3YXMgcGFzc2VkLlwiLCBuYW1lLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoaW5zdGFuY2UuZGVmYXVsdFByb3BzKSB7XG4gICAgICBlcnJvcignU2V0dGluZyBkZWZhdWx0UHJvcHMgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkLicgKyAnIEluc3RlYWQsIGRlZmluZSBkZWZhdWx0UHJvcHMgYXMgYSBzdGF0aWMgcHJvcGVydHkgb24gJXMuJywgbmFtZSwgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICFkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuaGFzKGN0b3IpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuYWRkKGN0b3IpO1xuXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb21wb25lbnREaWRVcGRhdGUoKS4gJyArICdUaGlzIGNvbXBvbmVudCBkZWZpbmVzIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgb25seS4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXM6IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kICcgKyAnYW5kIHdpbGwgYmUgaWdub3JlZC4gSW5zdGVhZCwgZGVjbGFyZSBpdCBhcyBhIHN0YXRpYyBtZXRob2QuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBpcyBkZWZpbmVkIGFzIGEgc3RhdGljIG1ldGhvZCAnICsgJ2FuZCB3aWxsIGJlIGlnbm9yZWQuIEluc3RlYWQsIGRlY2xhcmUgaXQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBfc3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcbiAgICAgIGVycm9yKCclcy5zdGF0ZTogbXVzdCBiZSBzZXQgdG8gYW4gb2JqZWN0IG9yIG51bGwnLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgY3Rvci5jaGlsZENvbnRleHRUeXBlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yKCclcy5nZXRDaGlsZENvbnRleHQoKTogY2hpbGRDb250ZXh0VHlwZXMgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvICcgKyAndXNlIGdldENoaWxkQ29udGV4dCgpLicsIG5hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnVwZGF0ZXIgPSBjbGFzc0NvbXBvbmVudFVwZGF0ZXI7XG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXG5cbiAgc2V0KGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAge1xuICAgIGluc3RhbmNlLl9yZWFjdEludGVybmFsSW5zdGFuY2UgPSBmYWtlSW50ZXJuYWxJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xuICB2YXIgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBmYWxzZTtcbiAgdmFyIHVubWFza2VkQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG5cbiAge1xuICAgIGlmICgnY29udGV4dFR5cGUnIGluIGN0b3IpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gLy8gQWxsb3cgbnVsbCBmb3IgY29uZGl0aW9uYWwgZGVjbGFyYXRpb25cbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cblxuICAgICAgaWYgKCFpc1ZhbGlkICYmICFkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XG4gICAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byB1bmRlZmluZWQuICcgKyAnVGhpcyBjYW4gYmUgY2F1c2VkIGJ5IGEgdHlwbyBvciBieSBtaXhpbmcgdXAgbmFtZWQgYW5kIGRlZmF1bHQgaW1wb3J0cy4gJyArICdUaGlzIGNhbiBhbHNvIGhhcHBlbiBkdWUgdG8gYSBjaXJjdWxhciBkZXBlbmRlbmN5LCBzbyAnICsgJ3RyeSBtb3ZpbmcgdGhlIGNyZWF0ZUNvbnRleHQoKSBjYWxsIHRvIGEgc2VwYXJhdGUgZmlsZS4nO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSkge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIHRoZSBDb250ZXh0LlByb3ZpZGVyIGluc3RlYWQ/JztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gPENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuQ29uc3VtZXIgaW5zdGVhZD8nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNvbnRleHRUeXBlKS5qb2luKCcsICcpICsgJ30uJztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCclcyBkZWZpbmVzIGFuIGludmFsaWQgY29udGV4dFR5cGUuICcgKyAnY29udGV4dFR5cGUgc2hvdWxkIHBvaW50IHRvIHRoZSBDb250ZXh0IG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVDb250ZXh0KCkuJXMnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCcsIGFkZGVuZHVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICB2YXIgY29udGV4dFR5cGVzID0gY3Rvci5jb250ZXh0VHlwZXM7XG4gICAgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBjb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XG4gICAgY29udGV4dCA9IGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID8gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KSA6IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gSW5zdGFudGlhdGUgdHdpY2UgdG8gaGVscCBkZXRlY3Qgc2lkZS1lZmZlY3RzLlxuXG4gIHtcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaW5zdGFuY2UgPSBuZXcgY3Rvcihwcm9wcywgY29udGV4dCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlICE9PSBudWxsICYmIGluc3RhbmNlLnN0YXRlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZS5zdGF0ZSA6IG51bGw7XG4gIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nICYmIHN0YXRlID09PSBudWxsKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShjdG9yKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJ2Alc2AgdXNlcyBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBidXQgaXRzIGluaXRpYWwgc3RhdGUgaXMgJyArICclcy4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQuIEluc3RlYWQsIGRlZmluZSB0aGUgaW5pdGlhbCBzdGF0ZSBieSAnICsgJ2Fzc2lnbmluZyBhbiBvYmplY3QgdG8gYHRoaXMuc3RhdGVgIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBgJXNgLiAnICsgJ1RoaXMgZW5zdXJlcyB0aGF0IGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGFyZ3VtZW50cyBoYXZlIGEgY29uc2lzdGVudCBzaGFwZS4nLCBjb21wb25lbnROYW1lLCBpbnN0YW5jZS5zdGF0ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICd1bmRlZmluZWQnLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9IC8vIElmIG5ldyBjb21wb25lbnQgQVBJcyBhcmUgZGVmaW5lZCwgXCJ1bnNhZmVcIiBsaWZlY3ljbGVzIHdvbid0IGJlIGNhbGxlZC5cbiAgICAvLyBXYXJuIGFib3V0IHRoZXNlIGxpZmVjeWNsZXMgaWYgdGhleSBhcmUgcHJlc2VudC5cbiAgICAvLyBEb24ndCB3YXJuIGFib3V0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgbWV0aG9kcyB0aG91Z2guXG5cblxuICAgIGlmICh0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZm91bmRXaWxsTW91bnROYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gbnVsbDtcbiAgICAgIHZhciBmb3VuZFdpbGxVcGRhdGVOYW1lID0gbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50Ll9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsTW91bnROYW1lID0gJ2NvbXBvbmVudFdpbGxNb3VudCc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JztcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gJ2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgICAgZm91bmRXaWxsVXBkYXRlTmFtZSA9ICdjb21wb25lbnRXaWxsVXBkYXRlJztcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUnO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgX2NvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgICAgdmFyIG5ld0FwaU5hbWUgPSB0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgPyAnZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCknIDogJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlKCknO1xuXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5hZGQoX2NvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcblxcbicgKyAnJXMgdXNlcyAlcyBidXQgYWxzbyBjb250YWlucyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBsaWZlY3ljbGVzOiVzJXMlc1xcblxcbicgKyAnVGhlIGFib3ZlIGxpZmVjeWNsZXMgc2hvdWxkIGJlIHJlbW92ZWQuIExlYXJuIG1vcmUgYWJvdXQgdGhpcyB3YXJuaW5nIGhlcmU6XFxuJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzJywgX2NvbXBvbmVudE5hbWUsIG5ld0FwaU5hbWUsIGZvdW5kV2lsbE1vdW50TmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbE1vdW50TmFtZSA6ICcnLCBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA6ICcnLCBmb3VuZFdpbGxVcGRhdGVOYW1lICE9PSBudWxsID8gXCJcXG4gIFwiICsgZm91bmRXaWxsVXBkYXRlTmFtZSA6ICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gIC8vIFJlYWN0RmliZXJDb250ZXh0IHVzdWFsbHkgdXBkYXRlcyB0aGlzIGNhY2hlIGJ1dCBjYW4ndCBmb3IgbmV3bHktY3JlYXRlZCBpbnN0YW5jZXMuXG5cblxuICBpZiAoaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIpIHtcbiAgICBjYWNoZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGNhbGxDb21wb25lbnRXaWxsTW91bnQod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIHZhciBvbGRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlO1xuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XG4gIH1cblxuICBpZiAob2xkU3RhdGUgIT09IGluc3RhbmNlLnN0YXRlKSB7XG4gICAge1xuICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxNb3VudCgpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gdGhpcy5zdGF0ZSBpcyAnICsgXCJkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHdvcmtJblByb2dyZXNzKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCkge1xuICB2YXIgb2xkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gb2xkU3RhdGUpIHtcbiAgICB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0YXRlQXNzaWdubWVudEZvckNvbXBvbmVudC5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gJyArIFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xuICB9XG59IC8vIEludm9rZXMgdGhlIG1vdW50IGxpZmUtY3ljbGVzIG9uIGEgcHJldmlvdXNseSBuZXZlciByZW5kZXJlZCBpbnN0YW5jZS5cblxuXG5mdW5jdGlvbiBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB7XG4gICAgY2hlY2tDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcyk7XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgaW5zdGFuY2UucmVmcyA9IGVtcHR5UmVmc09iamVjdDtcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB7XG4gICAgaWYgKGluc3RhbmNlLnN0YXRlID09PSBuZXdQcm9wcykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGUuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXM6IEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBhc3NpZ24gcHJvcHMgZGlyZWN0bHkgdG8gc3RhdGUgJyArIFwiYmVjYXVzZSB1cGRhdGVzIHRvIHByb3BzIHdvbid0IGJlIHJlZmxlY3RlZCBpbiBzdGF0ZS4gXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH0gLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cblxuICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICBjYWxsQ29tcG9uZW50V2lsbE1vdW50KHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7IC8vIElmIHdlIGhhZCBhZGRpdGlvbmFsIHN0YXRlIHVwZGF0ZXMgZHVyaW5nIHRoaXMgbGlmZS1jeWNsZSwgbGV0J3NcbiAgICAvLyBwcm9jZXNzIHRoZW0gbm93LlxuXG4gICAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckxhbmVzKTtcbiAgICBpbnN0YW5jZS5zdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIGZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICB9XG5cbiAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJMYW5lcykge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnByb3BzID0gb2xkUHJvcHM7XG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcbiAgdmFyIG5leHRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xuXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XG4gICAgbmV4dENvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xuICAgIG5leHRDb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgbmV4dExlZ2FjeVVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcImN1cnJlbnRcIi4gSG93ZXZlcixcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcImN1cnJlbnRcIiBwcm9wcy5cbiAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG5cbiAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzICYmIG9sZFN0YXRlID09PSBuZXdTdGF0ZSAmJiAhaGFzQ29udGV4dENoYW5nZWQoKSAmJiAhY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpKSB7XG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICAgICAge1xuICAgICAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cbiAgICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgX2ZpYmVyRmxhZ3MgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTGF5b3V0U3RhdGljO1xuICAgICAgfVxuXG4gICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0RWZmZWN0c01vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IF9maWJlckZsYWdzO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfZmliZXJGbGFnczIgPSBVcGRhdGU7XG5cbiAgICAgIHtcbiAgICAgICAgX2ZpYmVyRmxhZ3MyIHw9IExheW91dFN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIF9maWJlckZsYWdzMiB8PSBNb3VudExheW91dERldjtcbiAgICAgIH1cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gX2ZpYmVyRmxhZ3MyO1xuICAgIH0gLy8gSWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJldHVybmVkIGZhbHNlLCB3ZSBzaG91bGQgc3RpbGwgdXBkYXRlIHRoZVxuICAgIC8vIG1lbW9pemVkIHN0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XG4gIH0gLy8gVXBkYXRlIHRoZSBleGlzdGluZyBpbnN0YW5jZSdzIHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgcG9pbnRlcnMgZXZlblxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cblxuXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XG4gIGluc3RhbmNlLmNvbnRleHQgPSBuZXh0Q29udGV4dDtcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbn0gLy8gSW52b2tlcyB0aGUgdXBkYXRlIGxpZmUtY3ljbGVzIGFuZCByZXR1cm5zIGZhbHNlIGlmIGl0IHNob3VsZG4ndCByZXJlbmRlci5cblxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0luc3RhbmNlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHVucmVzb2x2ZWRPbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gdW5yZXNvbHZlZE9sZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh3b3JrSW5Qcm9ncmVzcy50eXBlLCB1bnJlc29sdmVkT2xkUHJvcHMpO1xuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xuICB2YXIgdW5yZXNvbHZlZE5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkQ29udGV4dCA9IGluc3RhbmNlLmNvbnRleHQ7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBuZXh0VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRVbm1hc2tlZENvbnRleHQpO1xuICB9XG5cbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xuICB2YXIgaGFzTmV3TGlmZWN5Y2xlcyA9IHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nOyAvLyBOb3RlOiBEdXJpbmcgdGhlc2UgbGlmZS1jeWNsZXMsIGluc3RhbmNlLnByb3BzL2luc3RhbmNlLnN0YXRlIGFyZSB3aGF0XG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXCJjdXJyZW50XCIuIEhvd2V2ZXIsXG4gIC8vIGR1cmluZyBjb21wb25lbnREaWRVcGRhdGUgd2UgcGFzcyB0aGUgXCJjdXJyZW50XCIgcHJvcHMuXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xuICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IHVucmVzb2x2ZWROZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SGFzRm9yY2VVcGRhdGVCZWZvcmVQcm9jZXNzaW5nKCk7XG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJMYW5lcyk7XG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAodW5yZXNvbHZlZE9sZFByb3BzID09PSB1bnJlc29sdmVkTmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkgJiYgIShlbmFibGVMYXp5Q29udGV4dFByb3BhZ2F0aW9uICAgKSkge1xuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGlmICh1bnJlc29sdmVkT2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTbmFwc2hvdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpIHx8IC8vIFRPRE86IEluIHNvbWUgY2FzZXMsIHdlJ2xsIGVuZCB1cCBjaGVja2luZyBpZiBjb250ZXh0IGhhcyBjaGFuZ2VkIHR3aWNlLFxuICAvLyBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgYHNob3VsZENvbXBvbmVudFVwZGF0ZWAgaGFzIGJlZW4gY2FsbGVkLiBOb3QgaWRlYWwsXG4gIC8vIGJ1dCBJJ20gbG9hdGggdG8gcmVmYWN0b3IgdGhpcyBmdW5jdGlvbi4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIG1lbW9pemVkXG4gIC8vIGNvbXBvbmVudHMgc28gaXQncyBub3QgdGhhdCBjb21tb24uXG4gIGVuYWJsZUxhenlDb250ZXh0UHJvcGFnYXRpb24gICA7XG5cbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xuICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAgIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAodW5yZXNvbHZlZE9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHVucmVzb2x2ZWRPbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG52YXIgZGlkV2FybkFib3V0TWFwcztcbnZhciBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xudmFyIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZztcblxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkLCByZXR1cm5GaWJlcikge307XG5cbntcbiAgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dFN0cmluZ1JlZnMgPSB7fTtcbiAgLyoqXG4gICAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcbiAgICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gICAqIHVwZGF0ZXMuXG4gICAqL1xuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmcgPSB7fTtcblxuICB3YXJuRm9yTWlzc2luZ0tleSA9IGZ1bmN0aW9uIChjaGlsZCwgcmV0dXJuRmliZXIpIHtcbiAgICBpZiAoY2hpbGQgPT09IG51bGwgfHwgdHlwZW9mIGNoaWxkICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hpbGQuX3N0b3JlIHx8IGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgfHwgY2hpbGQua2V5ICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNoaWxkLl9zdG9yZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QgQ29tcG9uZW50IGluIHdhcm5Gb3JNaXNzaW5nS2V5IHNob3VsZCBoYXZlIGEgX3N0b3JlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgY2hpbGQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlICcgKyAnXCJrZXlcIiBwcm9wLiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3dhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpIHtcbiAgdmFyIG1peGVkUmVmID0gZWxlbWVudC5yZWY7XG5cbiAgaWYgKG1peGVkUmVmICE9PSBudWxsICYmIHR5cGVvZiBtaXhlZFJlZiAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdvYmplY3QnKSB7XG4gICAge1xuICAgICAgLy8gVE9ETzogQ2xlYW4gdGhpcyB1cCBvbmNlIHdlIHR1cm4gb24gdGhlIHN0cmluZyByZWYgd2FybmluZyBmb3JcbiAgICAgIC8vIGV2ZXJ5b25lLCBiZWNhdXNlIHRoZSBzdHJpY3QgbW9kZSBjYXNlIHdpbGwgbm8gbG9uZ2VyIGJlIHJlbGV2YW50XG4gICAgICBpZiAoKHJldHVybkZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlIHx8IHdhcm5BYm91dFN0cmluZ1JlZnMpICYmIC8vIFdlIHdhcm4gaW4gUmVhY3RFbGVtZW50LmpzIGlmIG93bmVyIGFuZCBzZWxmIGFyZSBlcXVhbCBmb3Igc3RyaW5nIHJlZnNcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uXG4gICAgICAvLyB1c2luZyBhIGNvZGVtb2QuIFRoZXJlZm9yZSwgd2UgZG9uJ3QgaGF2ZSB0byB3YXJuIGFib3V0IHN0cmluZyByZWZzIGFnYWluLlxuICAgICAgIShlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9zZWxmICYmIGVsZW1lbnQuX293bmVyLnN0YXRlTm9kZSAhPT0gZWxlbWVudC5fc2VsZikpIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcIiVzXCIsIGhhcyBiZWVuIGZvdW5kIHdpdGhpbiBhIHN0cmljdCBtb2RlIHRyZWUuICcgKyAnU3RyaW5nIHJlZnMgYXJlIGEgc291cmNlIG9mIHBvdGVudGlhbCBidWdzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4gJyArICdXZSByZWNvbW1lbmQgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBtaXhlZFJlZik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIGluc3Q7XG5cbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICB2YXIgb3duZXJGaWJlciA9IG93bmVyO1xuXG4gICAgICAgIGlmIChvd25lckZpYmVyLnRhZyAhPT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnN0ID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5zdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFwiICsgbWl4ZWRSZWYgKyBcIi4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgXCIgKyAnYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH0gLy8gQXNzaWduaW5nIHRoaXMgdG8gYSBjb25zdCBzbyBGbG93IGtub3dzIGl0IHdvbid0IGNoYW5nZSBpbiB0aGUgY2xvc3VyZVxuXG5cbiAgICAgIHZhciByZXNvbHZlZEluc3QgPSBpbnN0O1xuXG4gICAgICB7XG4gICAgICAgIGNoZWNrUHJvcFN0cmluZ0NvZXJjaW9uKG1peGVkUmVmLCAncmVmJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHJpbmdSZWYgPSAnJyArIG1peGVkUmVmOyAvLyBDaGVjayBpZiBwcmV2aW91cyBzdHJpbmcgcmVmIG1hdGNoZXMgbmV3IHN0cmluZyByZWZcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5yZWY7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWYgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJlZnMgPSByZXNvbHZlZEluc3QucmVmcztcblxuICAgICAgICBpZiAocmVmcyA9PT0gZW1wdHlSZWZzT2JqZWN0KSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgcG9vbGVkIGZyb3plbiBvYmplY3QsIHNvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZS5cbiAgICAgICAgICByZWZzID0gcmVzb2x2ZWRJbnN0LnJlZnMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGRlbGV0ZSByZWZzW3N0cmluZ1JlZl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmc1tzdHJpbmdSZWZdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJlZi5fc3RyaW5nUmVmID0gc3RyaW5nUmVmO1xuICAgICAgcmV0dXJuIHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiBtaXhlZFJlZiAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCByZWYgdG8gYmUgYSBmdW5jdGlvbiwgYSBzdHJpbmcsIGFuIG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVSZWYoKSwgb3IgbnVsbC4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlbGVtZW50Ll9vd25lcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcIiArIG1peGVkUmVmICsgXCIpIGJ1dCBubyBvd25lciB3YXMgc2V0LiBUaGlzIGNvdWxkIGhhcHBlbiBmb3Igb25lIG9mXCIgKyAnIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICsgJzEuIFlvdSBtYXkgYmUgYWRkaW5nIGEgcmVmIHRvIGEgZnVuY3Rpb24gY29tcG9uZW50XFxuJyArIFwiMi4gWW91IG1heSBiZSBhZGRpbmcgYSByZWYgdG8gYSBjb21wb25lbnQgdGhhdCB3YXMgbm90IGNyZWF0ZWQgaW5zaWRlIGEgY29tcG9uZW50J3MgcmVuZGVyIG1ldGhvZFxcblwiICsgJzMuIFlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBsb2FkZWRcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1peGVkUmVmO1xufVxuXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XG4gIHZhciBjaGlsZFN0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXdDaGlsZCk7XG4gIHRocm93IG5ldyBFcnJvcihcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRTdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhuZXdDaGlsZCkuam9pbignLCAnKSArICd9JyA6IGNoaWxkU3RyaW5nKSArIFwiKS4gXCIgKyAnSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICsgJ2luc3RlYWQuJyk7XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcikge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKHJldHVybkZpYmVyKSB8fCAnQ29tcG9uZW50JztcblxuICAgIGlmIChvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmdbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0Z1bmN0aW9ucyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuIFRoaXMgbWF5IGhhcHBlbiBpZiAnICsgJ3lvdSByZXR1cm4gYSBDb21wb25lbnQgaW5zdGVhZCBvZiA8Q29tcG9uZW50IC8+IGZyb20gcmVuZGVyLiAnICsgJ09yIG1heWJlIHlvdSBtZWFudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gcmV0dXJuIGl0LicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMYXp5KGxhenlUeXBlKSB7XG4gIHZhciBwYXlsb2FkID0gbGF6eVR5cGUuX3BheWxvYWQ7XG4gIHZhciBpbml0ID0gbGF6eVR5cGUuX2luaXQ7XG4gIHJldHVybiBpbml0KHBheWxvYWQpO1xufSAvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gZXhpc3RzIGJlY2F1c2UgSSBleHBlY3QgdG8gY2xvbmUgdGhlIGNvZGUgaW4gZWFjaCBwYXRoXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXG4vLyBhIGNvbXBpbGVyIG9yIHdlIGNhbiBkbyBpdCBtYW51YWxseS4gSGVscGVycyB0aGF0IGRvbid0IG5lZWQgdGhpcyBicmFuY2hpbmdcbi8vIGxpdmUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLlxuXG5cbmZ1bmN0aW9uIENoaWxkUmVjb25jaWxlcihzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkZWxldGlvbnMgPSByZXR1cm5GaWJlci5kZWxldGlvbnM7XG5cbiAgICBpZiAoZGVsZXRpb25zID09PSBudWxsKSB7XG4gICAgICByZXR1cm5GaWJlci5kZWxldGlvbnMgPSBbY2hpbGRUb0RlbGV0ZV07XG4gICAgICByZXR1cm5GaWJlci5mbGFncyB8PSBDaGlsZERlbGV0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGlvbnMucHVzaChjaGlsZFRvRGVsZXRlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIE5vb3AuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IC8vIFRPRE86IEZvciB0aGUgc2hvdWxkQ2xvbmUgY2FzZSwgdGhpcyBjb3VsZCBiZSBtaWNyby1vcHRpbWl6ZWQgYSBiaXQgYnlcbiAgICAvLyBhc3N1bWluZyB0aGF0IGFmdGVyIHRoZSBmaXJzdCBjaGlsZCB3ZSd2ZSBhbHJlYWR5IGFkZGVkIGV2ZXJ5dGhpbmcuXG5cblxuICAgIHZhciBjaGlsZFRvRGVsZXRlID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSAhPT0gbnVsbCkge1xuICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xuICAgIC8vIEFkZCB0aGUgcmVtYWluaW5nIGNoaWxkcmVuIHRvIGEgdGVtcG9yYXJ5IG1hcCBzbyB0aGF0IHdlIGNhbiBmaW5kIHRoZW0gYnlcbiAgICAvLyBrZXlzIHF1aWNrbHkuIEltcGxpY2l0IChudWxsKSBrZXlzIGdldCBhZGRlZCB0byB0aGlzIHNldCB3aXRoIHRoZWlyIGluZGV4XG4gICAgLy8gaW5zdGVhZC5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICB2YXIgZXhpc3RpbmdDaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGV4aXN0aW5nQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGlmIChleGlzdGluZ0NoaWxkLmtleSAhPT0gbnVsbCkge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmluZGV4LCBleGlzdGluZ0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdDaGlsZCA9IGV4aXN0aW5nQ2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3RpbmdDaGlsZHJlbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZUZpYmVyKGZpYmVyLCBwZW5kaW5nUHJvcHMpIHtcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxuICAgIC8vIHRvIGZvcmdldCB0byBkbyBiZWZvcmUgcmV0dXJuaW5nIGl0LiBFLmcuIGZvciB0aGUgc2luZ2xlIGNoaWxkIGNhc2UuXG4gICAgdmFyIGNsb25lID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoZmliZXIsIHBlbmRpbmdQcm9wcyk7XG4gICAgY2xvbmUuaW5kZXggPSAwO1xuICAgIGNsb25lLnNpYmxpbmcgPSBudWxsO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SW5kZXgpIHtcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xuXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBEdXJpbmcgaHlkcmF0aW9uLCB0aGUgdXNlSWQgYWxnb3JpdGhtIG5lZWRzIHRvIGtub3cgd2hpY2ggZmliZXJzIGFyZVxuICAgICAgLy8gcGFydCBvZiBhIGxpc3Qgb2YgY2hpbGRyZW4gKGFycmF5cywgaXRlcmF0b3JzKS5cbiAgICAgIG5ld0ZpYmVyLmZsYWdzIHw9IEZvcmtlZDtcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgfVxuXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcblxuICAgICAgaWYgKG9sZEluZGV4IDwgbGFzdFBsYWNlZEluZGV4KSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxuICAgICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGl0ZW0gY2FuIHN0YXkgaW4gcGxhY2UuXG4gICAgICAgIHJldHVybiBvbGRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBhbiBpbnNlcnRpb24uXG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgICByZXR1cm4gbGFzdFBsYWNlZEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlU2luZ2xlQ2hpbGQobmV3RmliZXIpIHtcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcbiAgICAvLyBwbGFjZW1lbnQgZm9yIGluc2VydGluZyBuZXcgY2hpbGRyZW4uXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICBuZXdGaWJlci5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBsYW5lcykge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQudGFnICE9PSBIb3N0VGV4dCkge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCB0ZXh0Q29udGVudCk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LCBsYW5lcykge1xuICAgIHZhciBlbGVtZW50VHlwZSA9IGVsZW1lbnQudHlwZTtcblxuICAgIGlmIChlbGVtZW50VHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50LnByb3BzLmNoaWxkcmVuLCBsYW5lcywgZWxlbWVudC5rZXkpO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBpZiAoY3VycmVudC5lbGVtZW50VHlwZSA9PT0gZWxlbWVudFR5cGUgfHwgKCAvLyBLZWVwIHRoaXMgY2hlY2sgaW5saW5lIHNvIGl0IG9ubHkgcnVucyBvbiB0aGUgZmFsc2UgcGF0aDpcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciB0aGUgSG90IFJlbG9hZGluZyBjaGVjayBhYm92ZSxcbiAgICAgIC8vIGJlY2F1c2UgaG90IHJlbG9hZGluZyBoYXMgZGlmZmVyZW50IHNlbWFudGljcyB0aGFuIHByb2QgYmVjYXVzZVxuICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgdHlwZW9mIGVsZW1lbnRUeXBlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50VHlwZSAhPT0gbnVsbCAmJiBlbGVtZW50VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmIHJlc29sdmVMYXp5KGVsZW1lbnRUeXBlKSA9PT0gY3VycmVudC50eXBlKSB7XG4gICAgICAgIC8vIE1vdmUgYmFzZWQgb24gaW5kZXhcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XG4gICAgICAgIGV4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgZWxlbWVudCk7XG4gICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBleGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgIH1cbiAgICB9IC8vIEluc2VydFxuXG5cbiAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KTtcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgIHJldHVybiBjcmVhdGVkO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50LCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RQb3J0YWwgfHwgY3VycmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyAhPT0gcG9ydGFsLmNvbnRhaW5lckluZm8gfHwgY3VycmVudC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gIT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChwb3J0YWwsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCBwb3J0YWwuY2hpbGRyZW4gfHwgW10pO1xuICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGZyYWdtZW50LCBsYW5lcywga2V5KSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEZyYWdtZW50KSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZnJhZ21lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBrZXkpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGZyYWdtZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMuIElmIHRoZSBwcmV2aW91cyBub2RlIGlzIGltcGxpY2l0bHkga2V5ZWRcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XG4gICAgICAvLyBub2RlLlxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KCcnICsgbmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX2NyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBsYW5lcyk7XG5cbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xuICAgICAgICAgICAgX2NyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9jcmVhdGVkMiA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQyO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IG5ld0NoaWxkLl9wYXlsb2FkO1xuICAgICAgICAgICAgdmFyIGluaXQgPSBuZXdDaGlsZC5faW5pdDtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgaW5pdChwYXlsb2FkKSwgbGFuZXMpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfY3JlYXRlZDMgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMsIG51bGwpO1xuXG4gICAgICAgIF9jcmVhdGVkMy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgcmV0dXJuIF9jcmVhdGVkMztcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBsYW5lcykge1xuICAgIC8vIFVwZGF0ZSB0aGUgZmliZXIgaWYgdGhlIGtleXMgbWF0Y2gsIG90aGVyd2lzZSByZXR1cm4gbnVsbC5cbiAgICB2YXIga2V5ID0gb2xkRmliZXIgIT09IG51bGwgPyBvbGRGaWJlci5rZXkgOiBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgJiYgbmV3Q2hpbGQgIT09ICcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXG4gICAgICAvLyB3ZSBjYW4gY29udGludWUgdG8gcmVwbGFjZSBpdCB3aXRob3V0IGFib3J0aW5nIGV2ZW4gaWYgaXQgaXMgbm90IGEgdGV4dFxuICAgICAgLy8gbm9kZS5cbiAgICAgIGlmIChrZXkgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1cGRhdGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgb2xkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZCwgbGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBwYXlsb2FkID0gbmV3Q2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheShuZXdDaGlsZCkgfHwgZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGxhbmVzLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlRnJvbU1hcChleGlzdGluZ0NoaWxkcmVuLCByZXR1cm5GaWJlciwgbmV3SWR4LCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJyAmJiBuZXdDaGlsZCAhPT0gJycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMsIHNvIHdlIG5laXRoZXIgaGF2ZSB0byBjaGVjayB0aGUgb2xkIG5vclxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXG4gICAgICB2YXIgbWF0Y2hlZEZpYmVyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3SWR4KSB8fCBudWxsO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBtYXRjaGVkRmliZXIsICcnICsgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3Q2hpbGQua2V5ID09PSBudWxsID8gbmV3SWR4IDogbmV3Q2hpbGQua2V5KSB8fCBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyMiwgbmV3Q2hpbGQsIGxhbmVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0O1xuICAgICAgICAgIHJldHVybiB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIGluaXQocGF5bG9hZCksIGxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XG4gICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMyA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgbGFuZXMsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZShyZXR1cm5GaWJlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFdhcm5zIGlmIHRoZXJlIGlzIGEgZHVwbGljYXRlIG9yIG1pc3Npbmcga2V5XG4gICAqL1xuXG5cbiAgZnVuY3Rpb24gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzLCByZXR1cm5GaWJlcikge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnIHx8IGNoaWxkID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBrbm93bktleXM7XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoY2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgd2FybkZvck1pc3NpbmdLZXkoY2hpbGQsIHJldHVybkZpYmVyKTtcbiAgICAgICAgICB2YXIga2V5ID0gY2hpbGQua2V5O1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoa25vd25LZXlzID09PSBudWxsKSB7XG4gICAgICAgICAgICBrbm93bktleXMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWtub3duS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAga25vd25LZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgIHZhciBwYXlsb2FkID0gY2hpbGQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBjaGlsZC5faW5pdDtcbiAgICAgICAgICB3YXJuT25JbnZhbGlkS2V5KGluaXQocGF5bG9hZCksIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBrbm93bktleXM7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGxhbmVzKSB7XG4gICAgLy8gVGhpcyBhbGdvcml0aG0gY2FuJ3Qgb3B0aW1pemUgYnkgc2VhcmNoaW5nIGZyb20gYm90aCBlbmRzIHNpbmNlIHdlXG4gICAgLy8gZG9uJ3QgaGF2ZSBiYWNrcG9pbnRlcnMgb24gZmliZXJzLiBJJ20gdHJ5aW5nIHRvIHNlZSBob3cgZmFyIHdlIGNhbiBnZXRcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxuICAgIC8vIGFkZCBpdCBsYXRlci5cbiAgICAvLyBFdmVuIHdpdGggYSB0d28gZW5kZWQgb3B0aW1pemF0aW9uLCB3ZSdkIHdhbnQgdG8gb3B0aW1pemUgZm9yIHRoZSBjYXNlXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXG4gICAgLy8gZ29pbmcgZm9yIHRoZSBNYXAuIEl0J2QgbGlrZSB0byBleHBsb3JlIGhpdHRpbmcgdGhhdCBwYXRoIGZpcnN0IGluXG4gICAgLy8gZm9yd2FyZC1vbmx5IG1vZGUgYW5kIG9ubHkgZ28gZm9yIHRoZSBNYXAgb25jZSB3ZSBub3RpY2UgdGhhdCB3ZSBuZWVkXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXG4gICAgLy8gc2VhcmNoIGJ1dCB0aGF0J3MgdW51c3VhbC4gQmVzaWRlcywgZm9yIHRoZSB0d28gZW5kZWQgb3B0aW1pemF0aW9uIHRvXG4gICAgLy8gd29yayBvbiBJdGVyYWJsZXMsIHdlJ2QgbmVlZCB0byBjb3B5IHRoZSB3aG9sZSBzZXQuXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXG4gICAgLy8gKGFkZGluZyBldmVyeXRoaW5nIHRvIGEgTWFwKSBpbiBmb3IgZXZlcnkgaW5zZXJ0L21vdmUuXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIGNvZGUsIGFsc28gdXBkYXRlIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IoKSB3aGljaFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxuICAgIHtcbiAgICAgIC8vIEZpcnN0LCB2YWxpZGF0ZSBrZXlzLlxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XG4gICAgICAgIGtub3duS2V5cyA9IHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cywgcmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXN1bHRpbmdGaXJzdENoaWxkID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XG4gICAgdmFyIGxhc3RQbGFjZWRJbmRleCA9IDA7XG4gICAgdmFyIG5ld0lkeCA9IDA7XG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XG5cbiAgICBmb3IgKDsgb2xkRmliZXIgIT09IG51bGwgJiYgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyO1xuICAgICAgICBvbGRGaWJlciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlci5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICB2YXIgbmV3RmliZXIgPSB1cGRhdGVTbG90KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBicmVha3Mgb24gZW1wdHkgc2xvdHMgbGlrZSBudWxsIGNoaWxkcmVuLiBUaGF0J3NcbiAgICAgICAgLy8gdW5mb3J0dW5hdGUgYmVjYXVzZSBpdCB0cmlnZ2VycyB0aGUgc2xvdyBwYXRoIGFsbCB0aGUgdGltZS4gV2UgbmVlZFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcbiAgICAgICAgLy8gYm9vbGVhbiwgdW5kZWZpbmVkLCBldGMuXG4gICAgICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAgIGlmIChvbGRGaWJlciAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBtYXRjaGVkIHRoZSBzbG90LCBidXQgd2UgZGlkbid0IHJldXNlIHRoZSBleGlzdGluZyBmaWJlciwgc28gd2VcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXG4gICAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKG5ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVE9ETzogRGVmZXIgc2libGluZ3MgaWYgd2UncmUgbm90IGF0IHRoZSByaWdodCBpbmRleCBmb3IgdGhpcyBzbG90LlxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXG4gICAgICAgIC8vIGZvciBlYWNoIG51bGwgdmFsdWUuIEhvd2V2ZXIsIHdlIGFsc28gZG9uJ3Qgd2FudCB0byBjYWxsIHVwZGF0ZVNsb3RcbiAgICAgICAgLy8gd2l0aCB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcbiAgICAgIH1cblxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xuICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgfVxuXG4gICAgaWYgKG5ld0lkeCA9PT0gbmV3Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICAgIHZhciBfbmV3RmliZXIgPSBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChfbmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBfbmV3RmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSkge1xuICAgICAgICB2YXIgX251bWJlck9mRm9ya3MgPSBuZXdJZHg7XG4gICAgICAgIHB1c2hUcmVlRm9yayhyZXR1cm5GaWJlciwgX251bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICB2YXIgX25ld0ZpYmVyMiA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgbGFuZXMpO1xuXG4gICAgICBpZiAoX25ld0ZpYmVyMiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgICAgIGlmIChfbmV3RmliZXIyLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gVGhlIG5ldyBmaWJlciBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIGJ1dCBpZiB0aGVyZSBleGlzdHMgYVxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXG4gICAgICAgICAgICAvLyBpdCBmcm9tIHRoZSBjaGlsZCBsaXN0IHNvIHRoYXQgd2UgZG9uJ3QgYWRkIGl0IHRvIHRoZSBkZWxldGlvblxuICAgICAgICAgICAgLy8gbGlzdC5cbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMiwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBBbnkgZXhpc3RpbmcgY2hpbGRyZW4gdGhhdCB3ZXJlbid0IGNvbnN1bWVkIGFib3ZlIHdlcmUgZGVsZXRlZC4gV2UgbmVlZFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXG4gICAgICBleGlzdGluZ0NoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIHJldHVybiBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgIHZhciBfbnVtYmVyT2ZGb3JrczIgPSBuZXdJZHg7XG4gICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIF9udW1iZXJPZkZvcmtzMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBzYW1lIGltcGxlbWVudGF0aW9uIGFzIHJlY29uY2lsZUNoaWxkcmVuQXJyYXkoKSxcbiAgICAvLyBidXQgdXNpbmcgdGhlIGl0ZXJhdG9yIGluc3RlYWQuXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIG9iamVjdCBpcyBub3QgYW4gaXRlcmFibGUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiAnICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJlbmRlcmluZyBHZW5lcmF0b3JzIGJlY2F1c2UgaXQncyBhIG11dGF0aW9uLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTI5OTVcbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgdG9TdHJpbmdUYWdcbiAgICAgIG5ld0NoaWxkcmVuSXRlcmFibGVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ0dlbmVyYXRvcicpIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZW5lcmF0b3JzKSB7XG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIEdlbmVyYXRvcnMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzIGJlY2F1c2UgZW51bWVyYXRpbmcgYSBnZW5lcmF0b3IgbXV0YXRlcyBpdC4gJyArICdZb3UgbWF5IGNvbnZlcnQgaXQgdG8gYW4gYXJyYXkgd2l0aCBgQXJyYXkuZnJvbSgpYCBvciB0aGUgJyArICdgWy4uLnNwcmVhZF1gIG9wZXJhdG9yIGJlZm9yZSByZW5kZXJpbmcuIEtlZXAgaW4gbWluZCAnICsgJ3lvdSBtaWdodCBuZWVkIHRvIHBvbHlmaWxsIHRoZXNlIGZlYXR1cmVzIGZvciBvbGRlciBicm93c2Vycy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSB0cnVlO1xuICAgICAgfSAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cblxuXG4gICAgICBpZiAobmV3Q2hpbGRyZW5JdGVyYWJsZS5lbnRyaWVzID09PSBpdGVyYXRvckZuKSB7XG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgIGVycm9yKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnVXNlIGFuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpZFdhcm5BYm91dE1hcHMgPSB0cnVlO1xuICAgICAgfSAvLyBGaXJzdCwgdmFsaWRhdGUga2V5cy5cbiAgICAgIC8vIFdlJ2xsIGdldCBhIGRpZmZlcmVudCBpdGVyYXRvciBsYXRlciBmb3IgdGhlIG1haW4gcGFzcy5cblxuXG4gICAgICB2YXIgX25ld0NoaWxkcmVuID0gaXRlcmF0b3JGbi5jYWxsKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xuXG4gICAgICBpZiAoX25ld0NoaWxkcmVuKSB7XG4gICAgICAgIHZhciBrbm93bktleXMgPSBudWxsO1xuXG4gICAgICAgIHZhciBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCk7XG5cbiAgICAgICAgZm9yICg7ICFfc3RlcC5kb25lOyBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCkpIHtcbiAgICAgICAgICB2YXIgY2hpbGQgPSBfc3RlcC52YWx1ZTtcbiAgICAgICAgICBrbm93bktleXMgPSB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMsIHJldHVybkZpYmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBuZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgIGlmIChuZXdDaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGl0ZXJhYmxlIG9iamVjdCBwcm92aWRlZCBubyBpdGVyYXRvci4nKTtcbiAgICB9XG5cbiAgICB2YXIgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG51bGw7XG4gICAgdmFyIHByZXZpb3VzTmV3RmliZXIgPSBudWxsO1xuICAgIHZhciBvbGRGaWJlciA9IGN1cnJlbnRGaXJzdENoaWxkO1xuICAgIHZhciBsYXN0UGxhY2VkSW5kZXggPSAwO1xuICAgIHZhciBuZXdJZHggPSAwO1xuICAgIHZhciBuZXh0T2xkRmliZXIgPSBudWxsO1xuICAgIHZhciBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpO1xuXG4gICAgZm9yICg7IG9sZEZpYmVyICE9PSBudWxsICYmICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICBpZiAob2xkRmliZXIuaW5kZXggPiBuZXdJZHgpIHtcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXI7XG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXdGaWJlciA9IHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAoc3RlcC5kb25lKSB7XG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG5cbiAgICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gbmV3SWR4O1xuICAgICAgICBwdXNoVHJlZUZvcmsocmV0dXJuRmliZXIsIG51bWJlck9mRm9ya3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cbiAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBsYW5lcyk7XG5cbiAgICAgICAgaWYgKF9uZXdGaWJlcjMgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMywgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXIzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjM7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyMztcbiAgICAgIH1cblxuICAgICAgaWYgKGdldElzSHlkcmF0aW5nKCkpIHtcbiAgICAgICAgdmFyIF9udW1iZXJPZkZvcmtzMyA9IG5ld0lkeDtcbiAgICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgdmFyIF9uZXdGaWJlcjQgPSB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHN0ZXAudmFsdWUsIGxhbmVzKTtcblxuICAgICAgaWYgKF9uZXdGaWJlcjQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFRoZSBuZXcgZmliZXIgaXMgYSB3b3JrIGluIHByb2dyZXNzLCBidXQgaWYgdGhlcmUgZXhpc3RzIGFcbiAgICAgICAgICAgIC8vIGN1cnJlbnQsIHRoYXQgbWVhbnMgdGhhdCB3ZSByZXVzZWQgdGhlIGZpYmVyLiBXZSBuZWVkIHRvIGRlbGV0ZVxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cbiAgICAgICAgICAgIC8vIGxpc3QuXG4gICAgICAgICAgICBleGlzdGluZ0NoaWxkcmVuLmRlbGV0ZShfbmV3RmliZXI0LmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IF9uZXdGaWJlcjQua2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjQ7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgLy8gQW55IGV4aXN0aW5nIGNoaWxkcmVuIHRoYXQgd2VyZW4ndCBjb25zdW1lZCBhYm92ZSB3ZXJlIGRlbGV0ZWQuIFdlIG5lZWRcbiAgICAgIC8vIHRvIGFkZCB0aGVtIHRvIHRoZSBkZWxldGlvbiBsaXN0LlxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICByZXR1cm4gZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgICB2YXIgX251bWJlck9mRm9ya3M0ID0gbmV3SWR4O1xuICAgICAgcHVzaFRyZWVGb3JrKHJldHVybkZpYmVyLCBfbnVtYmVyT2ZGb3JrczQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCB0ZXh0Q29udGVudCwgbGFuZXMpIHtcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcbiAgICAvLyB3YXkgdG8gZGVmaW5lIHRoZW0uXG4gICAgaWYgKGN1cnJlbnRGaXJzdENoaWxkICE9PSBudWxsICYmIGN1cnJlbnRGaXJzdENoaWxkLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcbiAgICAgIC8vIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLnNpYmxpbmcpO1xuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICAvLyBhbmQgZGVsZXRlIHRoZSBleGlzdGluZyBvbmVzLlxuXG5cbiAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpO1xuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgZWxlbWVudCwgbGFuZXMpIHtcbiAgICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSBlbGVtZW50LnR5cGU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnRUeXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnRhZyA9PT0gRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcbiAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY2hpbGQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnRUeXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XG4gICAgICAgICAgIGlzQ29tcGF0aWJsZUZhbWlseUZvckhvdFJlbG9hZGluZyhjaGlsZCwgZWxlbWVudCkgKSB8fCAvLyBMYXp5IHR5cGVzIHNob3VsZCByZWNvbmNpbGUgdGhlaXIgcmVzb2x2ZWQgdHlwZS5cbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgYWZ0ZXIgdGhlIEhvdCBSZWxvYWRpbmcgY2hlY2sgYWJvdmUsXG4gICAgICAgICAgLy8gYmVjYXVzZSBob3QgcmVsb2FkaW5nIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIHRoYW4gcHJvZCBiZWNhdXNlXG4gICAgICAgICAgLy8gaXQgZG9lc24ndCByZXN1c3BlbmQuIFNvIHdlIGNhbid0IGxldCB0aGUgY2FsbCBiZWxvdyBzdXNwZW5kLlxuICAgICAgICAgIHR5cGVvZiBlbGVtZW50VHlwZSA9PT0gJ29iamVjdCcgJiYgZWxlbWVudFR5cGUgIT09IG51bGwgJiYgZWxlbWVudFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSAmJiByZXNvbHZlTGF6eShlbGVtZW50VHlwZSkgPT09IGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcblxuICAgICAgICAgICAgdmFyIF9leGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBlbGVtZW50LnByb3BzKTtcblxuICAgICAgICAgICAgX2V4aXN0aW5nLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY2hpbGQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgX2V4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XG4gICAgICAgICAgICAgIF9leGlzdGluZy5fZGVidWdPd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gX2V4aXN0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBEaWRuJ3QgbWF0Y2guXG5cblxuICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzLCBlbGVtZW50LmtleSk7XG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY3JlYXRlZDQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KGVsZW1lbnQsIHJldHVybkZpYmVyLm1vZGUsIGxhbmVzKTtcblxuICAgICAgX2NyZWF0ZWQ0LnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQpO1xuICAgICAgX2NyZWF0ZWQ0LnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIF9jcmVhdGVkNDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBwb3J0YWwsIGxhbmVzKSB7XG4gICAgdmFyIGtleSA9IHBvcnRhbC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICBpZiAoY2hpbGQudGFnID09PSBIb3N0UG9ydGFsICYmIGNoaWxkLnN0YXRlTm9kZS5jb250YWluZXJJbmZvID09PSBwb3J0YWwuY29udGFpbmVySW5mbyAmJiBjaGlsZC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gPT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcbiAgICAgICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjaGlsZCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgbGFuZXMpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH0gLy8gVGhpcyBBUEkgd2lsbCB0YWcgdGhlIGNoaWxkcmVuIHdpdGggdGhlIHNpZGUtZWZmZWN0IG9mIHRoZSByZWNvbmNpbGlhdGlvblxuICAvLyBpdHNlbGYuIFRoZXkgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2lkZS1lZmZlY3QgbGlzdCBhcyB3ZSBwYXNzIHRocm91Z2ggdGhlXG4gIC8vIGNoaWxkcmVuIGFuZCB0aGUgcGFyZW50LlxuXG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgbGFuZXMpIHtcbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCByZWN1cnNpdmUuXG4gICAgLy8gSWYgdGhlIHRvcCBsZXZlbCBpdGVtIGlzIGFuIGFycmF5LCB3ZSB0cmVhdCBpdCBhcyBhIHNldCBvZiBjaGlsZHJlbixcbiAgICAvLyBub3QgYXMgYSBmcmFnbWVudC4gTmVzdGVkIGFycmF5cyBvbiB0aGUgb3RoZXIgaGFuZCB3aWxsIGJlIHRyZWF0ZWQgYXNcbiAgICAvLyBmcmFnbWVudCBub2Rlcy4gUmVjdXJzaW9uIGhhcHBlbnMgYXQgdGhlIG5vcm1hbCBmbG93LlxuICAgIC8vIEhhbmRsZSB0b3AgbGV2ZWwgdW5rZXllZCBmcmFnbWVudHMgYXMgaWYgdGhleSB3ZXJlIGFycmF5cy5cbiAgICAvLyBUaGlzIGxlYWRzIHRvIGFuIGFtYmlndWl0eSBiZXR3ZWVuIDw+e1suLi5dfTwvPiBhbmQgPD4uLi48Lz4uXG4gICAgLy8gV2UgdHJlYXQgdGhlIGFtYmlndW91cyBjYXNlcyBhYm92ZSB0aGUgc2FtZS5cbiAgICB2YXIgaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCA9IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwgJiYgbmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSAmJiBuZXdDaGlsZC5rZXkgPT09IG51bGw7XG5cbiAgICBpZiAoaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xuICAgICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbjtcbiAgICB9IC8vIEhhbmRsZSBvYmplY3QgdHlwZXNcblxuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ29iamVjdCcgJiYgbmV3Q2hpbGQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcykpO1xuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGQsIGxhbmVzKSk7XG5cbiAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBuZXdDaGlsZC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IG5ld0NoaWxkLl9pbml0OyAvLyBUT0RPOiBUaGlzIGZ1bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIG5vbi1yZWN1cnNpdmUuXG5cbiAgICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnMocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBpbml0KHBheWxvYWQpLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5JdGVyYXRvcihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBsYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnICYmIG5ld0NoaWxkICE9PSAnJyB8fCB0eXBlb2YgbmV3Q2hpbGQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGxhbmVzKSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUocmV0dXJuRmliZXIpO1xuICAgICAgfVxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cblxuXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XG4gIH1cblxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XG59XG5cbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcbnZhciBtb3VudENoaWxkRmliZXJzID0gQ2hpbGRSZWNvbmNpbGVyKGZhbHNlKTtcbmZ1bmN0aW9uIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgIT09IGN1cnJlbnQuY2hpbGQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3VtaW5nIHdvcmsgbm90IHlldCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIG5ld0NoaWxkID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgd2hpbGUgKGN1cnJlbnRDaGlsZC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XG4gICAgbmV3Q2hpbGQgPSBuZXdDaGlsZC5zaWJsaW5nID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudENoaWxkLCBjdXJyZW50Q2hpbGQucGVuZGluZ1Byb3BzKTtcbiAgICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIG5ld0NoaWxkLnNpYmxpbmcgPSBudWxsO1xufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxuXG5mdW5jdGlvbiByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBsYW5lcykge1xuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCBsYW5lcyk7XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbnZhciBOT19DT05URVhUID0ge307XG52YXIgY29udGV4dFN0YWNrQ3Vyc29yJDEgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgY29udGV4dEZpYmVyU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG52YXIgcm9vdEluc3RhbmNlU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XG5cbmZ1bmN0aW9uIHJlcXVpcmVkQ29udGV4dChjKSB7XG4gIGlmIChjID09PSBOT19DT05URVhUKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBob3N0IGNvbnRleHQgdG8gZXhpc3QuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyAnICsgJ2luIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHJldHVybiBjO1xufVxuXG5mdW5jdGlvbiBnZXRSb290SG9zdENvbnRhaW5lcigpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgcmV0dXJuIHJvb3RJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gcHVzaEhvc3RDb250YWluZXIoZmliZXIsIG5leHRSb290SW5zdGFuY2UpIHtcbiAgLy8gUHVzaCBjdXJyZW50IHJvb3QgaW5zdGFuY2Ugb250byB0aGUgc3RhY2s7XG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXG4gIHB1c2gocm9vdEluc3RhbmNlU3RhY2tDdXJzb3IsIG5leHRSb290SW5zdGFuY2UsIGZpYmVyKTsgLy8gVHJhY2sgdGhlIGNvbnRleHQgYW5kIHRoZSBGaWJlciB0aGF0IHByb3ZpZGVkIGl0LlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gcG9wIG9ubHkgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG5cbiAgcHVzaChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTsgLy8gRmluYWxseSwgd2UgbmVlZCB0byBwdXNoIHRoZSBob3N0IGNvbnRleHQgdG8gdGhlIHN0YWNrLlxuICAvLyBIb3dldmVyLCB3ZSBjYW4ndCBqdXN0IGNhbGwgZ2V0Um9vdEhvc3RDb250ZXh0KCkgYW5kIHB1c2ggaXQgYmVjYXVzZVxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxuICAvLyB3aGV0aGVyIGdldFJvb3RIb3N0Q29udGV4dCgpIHRocm93cyBzb21ld2hlcmUgaW4gcmVuZGVyZXIgY29kZSBvciBub3QuXG4gIC8vIFNvIHdlIHB1c2ggYW4gZW1wdHkgdmFsdWUgZmlyc3QuIFRoaXMgbGV0cyB1cyBzYWZlbHkgdW53aW5kIG9uIGVycm9ycy5cblxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBOT19DT05URVhULCBmaWJlcik7XG4gIHZhciBuZXh0Um9vdENvbnRleHQgPSBnZXRSb290SG9zdENvbnRleHQobmV4dFJvb3RJbnN0YW5jZSk7IC8vIE5vdyB0aGF0IHdlIGtub3cgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IHRocm93LCByZXBsYWNlIGl0LlxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Um9vdENvbnRleHQsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcG9wSG9zdENvbnRhaW5lcihmaWJlcikge1xuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcbiAgcG9wKGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIHBvcChyb290SW5zdGFuY2VTdGFja0N1cnNvciwgZmliZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0Q29udGV4dCgpIHtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdENvbnRleHQoZmliZXIpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHZhciBuZXh0Q29udGV4dCA9IGdldENoaWxkSG9zdENvbnRleHQoY29udGV4dCwgZmliZXIudHlwZSk7IC8vIERvbid0IHB1c2ggdGhpcyBGaWJlcidzIGNvbnRleHQgdW5sZXNzIGl0J3MgdW5pcXVlLlxuXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xuICAgIHJldHVybjtcbiAgfSAvLyBUcmFjayB0aGUgY29udGV4dCBhbmQgdGhlIEZpYmVyIHRoYXQgcHJvdmlkZWQgaXQuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cblxuXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRDb250ZXh0LCBmaWJlcik7XG59XG5cbmZ1bmN0aW9uIHBvcEhvc3RDb250ZXh0KGZpYmVyKSB7XG4gIC8vIERvIG5vdCBwb3AgdW5sZXNzIHRoaXMgRmliZXIgcHJvdmlkZWQgdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG4gIGlmIChjb250ZXh0RmliZXJTdGFja0N1cnNvci5jdXJyZW50ICE9PSBmaWJlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcbi8vIGluaGVyaXRlZCBkZWVwbHkgZG93biB0aGUgc3VidHJlZS4gVGhlIHVwcGVyIGJpdHMgb25seSBhZmZlY3Rcbi8vIHRoaXMgaW1tZWRpYXRlIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBnZXRzIHJlc2V0IGVhY2ggbmV3XG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxuXG52YXIgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgPSAxOyAvLyBTdWJ0cmVlIEZsYWdzOlxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXG4vLyBib3VuZGFyaWVzIGlzIG5vdCBjdXJyZW50bHkgc2hvd2luZyB2aXNpYmxlIG1haW4gY29udGVudC5cbi8vIEVpdGhlciBiZWNhdXNlIGl0IGlzIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIG9yIGlzIG5vdCBtb3VudGVkIGF0IGFsbC5cbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxuLy8gdGhlIHBhcmVudC4gSWYgbm90LCB0aGVuIHdlIG1pZ2h0IG5lZWQgdG8gdHJpZ2dlciB1bmRlc2lyYWJsZSBib3VuZGFyaWVzXG4vLyBhbmQvb3Igc3VzcGVuZCB0aGUgY29tbWl0IHRvIGF2b2lkIGhpZGluZyB0aGUgcGFyZW50IGNvbnRlbnQuXG5cbnZhciBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQgPSAxOyAvLyBTaGFsbG93IEZsYWdzOlxuLy8gRm9yY2VTdXNwZW5zZUZhbGxiYWNrIGNhbiBiZSB1c2VkIGJ5IFN1c3BlbnNlTGlzdCB0byBmb3JjZSBuZXdseSBhZGRlZFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxuXG52YXIgRm9yY2VTdXNwZW5zZUZhbGxiYWNrID0gMjtcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xuZnVuY3Rpb24gaGFzU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIGZsYWcpIHtcbiAgcmV0dXJuIChwYXJlbnRDb250ZXh0ICYgZmxhZykgIT09IDA7XG59XG5mdW5jdGlvbiBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2s7XG59XG5mdW5jdGlvbiBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHNoYWxsb3dDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgfCBzaGFsbG93Q29udGV4dDtcbn1cbmZ1bmN0aW9uIGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCwgc3VidHJlZUNvbnRleHQpIHtcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgfCBzdWJ0cmVlQ29udGV4dDtcbn1cbmZ1bmN0aW9uIHB1c2hTdXNwZW5zZUNvbnRleHQoZmliZXIsIG5ld0NvbnRleHQpIHtcbiAgcHVzaChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBuZXdDb250ZXh0LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BTdXNwZW5zZUNvbnRleHQoZmliZXIpIHtcbiAgcG9wKHN1c3BlbnNlU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2FwdHVyZVN1c3BlbnNlKHdvcmtJblByb2dyZXNzLCBoYXNJbnZpc2libGVQYXJlbnQpIHtcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcbiAgLy8gZmFsbGJhY2suIE90aGVyd2lzZSwgZG9uJ3QgY2FwdHVyZSBhbmQgYnViYmxlIHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAobmV4dFN0YXRlICE9PSBudWxsKSB7XG4gICAgaWYgKG5leHRTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wczsgLy8gUmVndWxhciBib3VuZGFyaWVzIGFsd2F5cyBjYXB0dXJlLlxuXG4gIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBJZiBpdCdzIGEgYm91bmRhcnkgd2Ugc2hvdWxkIGF2b2lkLCB0aGVuIHdlIHByZWZlciB0byBidWJibGUgdXAgdG8gdGhlXG59XG5mdW5jdGlvbiBmaW5kRmlyc3RTdXNwZW5kZWQocm93KSB7XG4gIHZhciBub2RlID0gcm93O1xuXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGRlaHlkcmF0ZWQgPSBzdGF0ZS5kZWh5ZHJhdGVkO1xuXG4gICAgICAgIGlmIChkZWh5ZHJhdGVkID09PSBudWxsIHx8IGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoZGVoeWRyYXRlZCkgfHwgaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soZGVoeWRyYXRlZCkpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCAmJiAvLyByZXZlYWxPcmRlciB1bmRlZmluZWQgY2FuJ3QgYmUgdHJ1c3RlZCBiZWNhdXNlIGl0IGRvbid0XG4gICAgLy8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGl0IHN1c3BlbmRlZCBvciBub3QuXG4gICAgbm9kZS5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBkaWRTdXNwZW5kID0gKG5vZGUuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgaWYgKGRpZFN1c3BlbmQpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSByb3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIE5vRmxhZ3MkMSA9XG4vKiAgICovXG4wOyAvLyBSZXByZXNlbnRzIHdoZXRoZXIgZWZmZWN0IHNob3VsZCBmaXJlLlxuXG52YXIgSGFzRWZmZWN0ID1cbi8qICovXG4xOyAvLyBSZXByZXNlbnRzIHRoZSBwaGFzZSBpbiB3aGljaCB0aGUgZWZmZWN0IChub3QgdGhlIGNsZWFuLXVwKSBmaXJlcy5cblxudmFyIEluc2VydGlvbiA9XG4vKiAgKi9cbjI7XG52YXIgTGF5b3V0ID1cbi8qICAgICovXG40O1xudmFyIFBhc3NpdmUkMSA9XG4vKiAgICovXG44O1xuXG4vLyBhbmQgc2hvdWxkIGJlIHJlc2V0IGJlZm9yZSBzdGFydGluZyBhIG5ldyByZW5kZXIuXG4vLyBUaGlzIHRyYWNrcyB3aGljaCBtdXRhYmxlIHNvdXJjZXMgbmVlZCB0byBiZSByZXNldCBhZnRlciBhIHJlbmRlci5cblxudmFyIHdvcmtJblByb2dyZXNzU291cmNlcyA9IFtdO1xuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmtJblByb2dyZXNzU291cmNlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBtdXRhYmxlU291cmNlID0gd29ya0luUHJvZ3Jlc3NTb3VyY2VzW2ldO1xuXG4gICAge1xuICAgICAgbXV0YWJsZVNvdXJjZS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NTb3VyY2VzLmxlbmd0aCA9IDA7XG59XG4vLyBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgdmVyc2lvbiB1c2VkIGZvciBzZXJ2ZXIgcmVuZGVyaW5nIG1hdGNoZXMgdGhlIG9uZVxuLy8gdGhhdCBpcyBldmVudHVhbGx5IHJlYWQgZHVyaW5nIGh5ZHJhdGlvbi5cbi8vIElmIHRoZXkgZG9uJ3QgbWF0Y2ggdGhlcmUncyBhIHBvdGVudGlhbCB0ZWFyIGFuZCBhIGZ1bGwgZGVvcHQgcmVuZGVyIGlzIHJlcXVpcmVkLlxuXG5mdW5jdGlvbiByZWdpc3Rlck11dGFibGVTb3VyY2VGb3JIeWRyYXRpb24ocm9vdCwgbXV0YWJsZVNvdXJjZSkge1xuICB2YXIgZ2V0VmVyc2lvbiA9IG11dGFibGVTb3VyY2UuX2dldFZlcnNpb247XG4gIHZhciB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtdXRhYmxlU291cmNlLl9zb3VyY2UpOyAvLyBUT0RPIENsZWFyIHRoaXMgZGF0YSBvbmNlIGFsbCBwZW5kaW5nIGh5ZHJhdGlvbiB3b3JrIGlzIGZpbmlzaGVkLlxuICAvLyBSZXRhaW5pbmcgaXQgZm9yZXZlciBtYXkgaW50ZXJmZXJlIHdpdGggR0MuXG5cbiAgaWYgKHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YSA9PSBudWxsKSB7XG4gICAgcm9vdC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gW211dGFibGVTb3VyY2UsIHZlcnNpb25dO1xuICB9IGVsc2Uge1xuICAgIHJvb3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YS5wdXNoKG11dGFibGVTb3VyY2UsIHZlcnNpb24pO1xuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbnZhciBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQ7XG52YXIgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3Q7XG5cbntcbiAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xufVxuXG4vLyBUaGVzZSBhcmUgc2V0IHJpZ2h0IGJlZm9yZSBjYWxsaW5nIHRoZSBjb21wb25lbnQuXG52YXIgcmVuZGVyTGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gSSd2ZSBuYW1lZCBpdCBkaWZmZXJlbnRseSB0byBkaXN0aW5ndWlzaCBpdCBmcm9tXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7IC8vIEhvb2tzIGFyZSBzdG9yZWQgYXMgYSBsaW5rZWQgbGlzdCBvbiB0aGUgZmliZXIncyBtZW1vaXplZFN0YXRlIGZpZWxkLiBUaGVcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXG4vLyB3b3JrLWluLXByb2dyZXNzIGhvb2sgbGlzdCBpcyBhIG5ldyBsaXN0IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG5cbnZhciBjdXJyZW50SG9vayA9IG51bGw7XG52YXIgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDsgLy8gV2hldGhlciBhbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBhdCBhbnkgcG9pbnQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIFRoaXNcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxuLy8gZmluaXNoZWQgZXZhbHVhdGluZyB0aGlzIGNvbXBvbmVudC4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gc28gd2Uga25vd1xuLy8gd2hldGhlciB3ZSBuZWVkIHRvIGNsZWFyIHJlbmRlciBwaGFzZSB1cGRhdGVzIGFmdGVyIGEgdGhyb3cuXG5cbnZhciBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7IC8vIFdoZXJlIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9ubHkgZHVyaW5nIHRoZSBjdXJyZW50IHJlbmRlciBwYXNzLiBUaGlzXG4vLyBnZXRzIHJlc2V0IGFmdGVyIGVhY2ggYXR0ZW1wdC5cbi8vIFRPRE86IE1heWJlIHRoZXJlJ3Mgc29tZSB3YXkgdG8gY29uc29saWRhdGUgdGhpcyB3aXRoXG4vLyBgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZWAuIE9yIHdpdGggYG51bWJlck9mUmVSZW5kZXJzYC5cblxudmFyIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlOyAvLyBDb3VudHMgdGhlIG51bWJlciBvZiB1c2VJZCBob29rcyBpbiB0aGlzIGNvbXBvbmVudC5cblxudmFyIGxvY2FsSWRDb3VudGVyID0gMDsgLy8gVXNlZCBmb3IgaWRzIHRoYXQgYXJlIGdlbmVyYXRlZCBjb21wbGV0ZWx5IGNsaWVudC1zaWRlIChpLmUuIG5vdCBkdXJpbmdcbi8vIGh5ZHJhdGlvbikuIFRoaXMgY291bnRlciBpcyBnbG9iYWwsIHNvIGNsaWVudCBpZHMgYXJlIG5vdCBzdGFibGUgYWNyb3NzXG4vLyByZW5kZXIgYXR0ZW1wdHMuXG5cbnZhciBnbG9iYWxDbGllbnRJZENvdW50ZXIgPSAwO1xudmFyIFJFX1JFTkRFUl9MSU1JVCA9IDI1OyAvLyBJbiBERVYsIHRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcHJpbWl0aXZlIGhvb2tcblxudmFyIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDsgLy8gSW4gREVWLCB0aGlzIGxpc3QgZW5zdXJlcyB0aGF0IGhvb2tzIGFyZSBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIgYmV0d2VlbiByZW5kZXJzLlxuLy8gVGhlIGxpc3Qgc3RvcmVzIHRoZSBvcmRlciBvZiBob29rcyB1c2VkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXIgKG1vdW50KS5cbi8vIFN1YnNlcXVlbnQgcmVuZGVycyAodXBkYXRlcykgcmVmZXJlbmNlIHRoaXMgbGlzdC5cblxudmFyIGhvb2tUeXBlc0RldiA9IG51bGw7XG52YXIgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gSW4gREVWLCB0aGlzIHRyYWNrcyB3aGV0aGVyIGN1cnJlbnRseSByZW5kZXJpbmcgY29tcG9uZW50IG5lZWRzIHRvIGlnbm9yZVxuLy8gdGhlIGRlcGVuZGVuY2llcyBmb3IgSG9va3MgdGhhdCBuZWVkIHRoZW0gKGUuZy4gdXNlRWZmZWN0IG9yIHVzZU1lbW8pLlxuLy8gV2hlbiB0cnVlLCBzdWNoIEhvb2tzIHdpbGwgYWx3YXlzIGJlIFwicmVtb3VudGVkXCIuIE9ubHkgdXNlZCBkdXJpbmcgaG90IHJlbG9hZC5cblxudmFyIGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzID0gZmFsc2U7XG5cbmZ1bmN0aW9uIG1vdW50SG9va1R5cGVzRGV2KCkge1xuICB7XG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XG5cbiAgICBpZiAoaG9va1R5cGVzRGV2ID09PSBudWxsKSB7XG4gICAgICBob29rVHlwZXNEZXYgPSBbaG9va05hbWVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBob29rVHlwZXNEZXYucHVzaChob29rTmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvb2tUeXBlc0RldigpIHtcbiAge1xuICAgIHZhciBob29rTmFtZSA9IGN1cnJlbnRIb29rTmFtZUluRGV2O1xuXG4gICAgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYrKztcblxuICAgICAgaWYgKGhvb2tUeXBlc0Rldltob29rVHlwZXNVcGRhdGVJbmRleERldl0gIT09IGhvb2tOYW1lKSB7XG4gICAgICAgIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGhvb2tOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcykge1xuICB7XG4gICAgaWYgKGRlcHMgIT09IHVuZGVmaW5lZCAmJiBkZXBzICE9PSBudWxsICYmICFpc0FycmF5KGRlcHMpKSB7XG4gICAgICAvLyBWZXJpZnkgZGVwcywgYnV0IG9ubHkgb24gbW91bnQgdG8gYXZvaWQgZXh0cmEgY2hlY2tzLlxuICAgICAgLy8gSXQncyB1bmxpa2VseSB0aGVpciB0eXBlIHdvdWxkIGNoYW5nZSBhcyB1c3VhbGx5IHlvdSBkZWZpbmUgdGhlbSBpbmxpbmUuXG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCB0aGF0IGlzIG5vdCBhbiBhcnJheSAoaW5zdGVhZCwgcmVjZWl2ZWQgYCVzYCkuIFdoZW4gJyArICdzcGVjaWZpZWQsIHRoZSBmaW5hbCBhcmd1bWVudCBtdXN0IGJlIGFuIGFycmF5LicsIGN1cnJlbnRIb29rTmFtZUluRGV2LCB0eXBlb2YgZGVwcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGN1cnJlbnRIb29rTmFtZSkge1xuICB7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xuXG4gICAgaWYgKCFkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xuXG4gICAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XG4gICAgICAgIHZhciB0YWJsZSA9ICcnO1xuICAgICAgICB2YXIgc2Vjb25kQ29sdW1uU3RhcnQgPSAzMDtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBob29rVHlwZXNVcGRhdGVJbmRleERldjsgaSsrKSB7XG4gICAgICAgICAgdmFyIG9sZEhvb2tOYW1lID0gaG9va1R5cGVzRGV2W2ldO1xuICAgICAgICAgIHZhciBuZXdIb29rTmFtZSA9IGkgPT09IGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID8gY3VycmVudEhvb2tOYW1lIDogb2xkSG9va05hbWU7XG4gICAgICAgICAgdmFyIHJvdyA9IGkgKyAxICsgXCIuIFwiICsgb2xkSG9va05hbWU7IC8vIEV4dHJhIHNwYWNlIHNvIHNlY29uZCBjb2x1bW4gbGluZXMgdXBcbiAgICAgICAgICAvLyBsb2wgQCBJRSBub3Qgc3VwcG9ydGluZyBTdHJpbmcjcmVwZWF0XG5cbiAgICAgICAgICB3aGlsZSAocm93Lmxlbmd0aCA8IHNlY29uZENvbHVtblN0YXJ0KSB7XG4gICAgICAgICAgICByb3cgKz0gJyAnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvdyArPSBuZXdIb29rTmFtZSArICdcXG4nO1xuICAgICAgICAgIHRhYmxlICs9IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCdSZWFjdCBoYXMgZGV0ZWN0ZWQgYSBjaGFuZ2UgaW4gdGhlIG9yZGVyIG9mIEhvb2tzIGNhbGxlZCBieSAlcy4gJyArICdUaGlzIHdpbGwgbGVhZCB0byBidWdzIGFuZCBlcnJvcnMgaWYgbm90IGZpeGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCByZWFkIHRoZSBSdWxlcyBvZiBIb29rczogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzXFxuXFxuJyArICcgICBQcmV2aW91cyByZW5kZXIgICAgICAgICAgICBOZXh0IHJlbmRlclxcbicgKyAnICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuJyArICclcycgKyAnICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXFxuJywgY29tcG9uZW50TmFtZSwgdGFibGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0aHJvd0ludmFsaWRIb29rRXJyb3IoKSB7XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xufVxuXG5mdW5jdGlvbiBhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSB7XG4gIHtcbiAgICBpZiAoaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8vIE9ubHkgdHJ1ZSB3aGVuIHRoaXMgY29tcG9uZW50IGlzIGJlaW5nIGhvdCByZWxvYWRlZC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldkRlcHMgPT09IG51bGwpIHtcbiAgICB7XG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB7XG4gICAgLy8gRG9uJ3QgYm90aGVyIGNvbXBhcmluZyBsZW5ndGhzIGluIHByb2QgYmVjYXVzZSB0aGVzZSBhcnJheXMgc2hvdWxkIGJlXG4gICAgLy8gcGFzc2VkIGlubGluZS5cbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcbiAgICAgIGVycm9yKCdUaGUgZmluYWwgYXJndW1lbnQgcGFzc2VkIHRvICVzIGNoYW5nZWQgc2l6ZSBiZXR3ZWVuIHJlbmRlcnMuIFRoZSAnICsgJ29yZGVyIGFuZCBzaXplIG9mIHRoaXMgYXJyYXkgbXVzdCByZW1haW4gY29uc3RhbnQuXFxuXFxuJyArICdQcmV2aW91czogJXNcXG4nICsgJ0luY29taW5nOiAlcycsIGN1cnJlbnRIb29rTmFtZUluRGV2LCBcIltcIiArIHByZXZEZXBzLmpvaW4oJywgJykgKyBcIl1cIiwgXCJbXCIgKyBuZXh0RGVwcy5qb2luKCcsICcpICsgXCJdXCIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChvYmplY3RJcyhuZXh0RGVwc1tpXSwgcHJldkRlcHNbaV0pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcsIG5leHRSZW5kZXJMYW5lcykge1xuICByZW5kZXJMYW5lcyA9IG5leHRSZW5kZXJMYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IHdvcmtJblByb2dyZXNzO1xuXG4gIHtcbiAgICBob29rVHlwZXNEZXYgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5fZGVidWdIb29rVHlwZXMgOiBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIFVzZWQgZm9yIGhvdCByZWxvYWRpbmc6XG5cbiAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzOyAvLyBUaGUgZm9sbG93aW5nIHNob3VsZCBoYXZlIGFscmVhZHkgYmVlbiByZXNldFxuICAvLyBjdXJyZW50SG9vayA9IG51bGw7XG4gIC8vIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG4gIC8vIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgLy8gbG9jYWxJZENvdW50ZXIgPSAwO1xuICAvLyBUT0RPIFdhcm4gaWYgbm8gaG9va3MgYXJlIHVzZWQgYXQgYWxsIGR1cmluZyBtb3VudCwgdGhlbiBzb21lIGFyZSB1c2VkIGR1cmluZyB1cGRhdGUuXG4gIC8vIEN1cnJlbnRseSB3ZSB3aWxsIGlkZW50aWZ5IHRoZSB1cGRhdGUgcmVuZGVyIGFzIGEgbW91bnQgYmVjYXVzZSBtZW1vaXplZFN0YXRlID09PSBudWxsLlxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxuICAvLyBVc2luZyBtZW1vaXplZFN0YXRlIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBtb3VudC91cGRhdGUgb25seSB3b3JrcyBpZiBhdCBsZWFzdCBvbmUgc3RhdGVmdWwgaG9vayBpcyB1c2VkLlxuICAvLyBOb24tc3RhdGVmdWwgaG9va3MgKGUuZy4gY29udGV4dCkgZG9uJ3QgZ2V0IGFkZGVkIHRvIG1lbW9pemVkU3RhdGUsXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxuXG4gIHtcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcbiAgICB9IGVsc2UgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBkaXNwYXRjaGVyIGhhbmRsZXMgYW4gZWRnZSBjYXNlIHdoZXJlIGEgY29tcG9uZW50IGlzIHVwZGF0aW5nLFxuICAgICAgLy8gYnV0IG5vIHN0YXRlZnVsIGhvb2tzIGhhdmUgYmVlbiB1c2VkLlxuICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgcHJvZHVjdGlvbiBjb2RlIGJlaGF2aW9yICh3aGljaCB3aWxsIHVzZSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50KSxcbiAgICAgIC8vIGJ1dCB3aXRoIHRoZSBleHRyYSBERVYgdmFsaWRhdGlvbiB0byBlbnN1cmUgaG9va3Mgb3JkZXJpbmcgaGFzbid0IGNoYW5nZWQuXG4gICAgICAvLyBUaGlzIGRpc3BhdGNoZXIgZG9lcyB0aGF0LlxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcbiAgICB9XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlbmRlciBwaGFzZSB1cGRhdGVcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZUR1cmluZ1RoaXNQYXNzKSB7XG4gICAgLy8gS2VlcCByZW5kZXJpbmcgaW4gYSBsb29wIGZvciBhcyBsb25nIGFzIHJlbmRlciBwaGFzZSB1cGRhdGVzIGNvbnRpbnVlIHRvXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAgdmFyIG51bWJlck9mUmVSZW5kZXJzID0gMDtcblxuICAgIGRvIHtcbiAgICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGVEdXJpbmdUaGlzUGFzcyA9IGZhbHNlO1xuICAgICAgbG9jYWxJZENvdW50ZXIgPSAwO1xuXG4gICAgICBpZiAobnVtYmVyT2ZSZVJlbmRlcnMgPj0gUkVfUkVOREVSX0xJTUlUKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVG9vIG1hbnkgcmUtcmVuZGVycy4gUmVhY3QgbGltaXRzIHRoZSBudW1iZXIgb2YgcmVuZGVycyB0byBwcmV2ZW50ICcgKyAnYW4gaW5maW5pdGUgbG9vcC4nKTtcbiAgICAgIH1cblxuICAgICAgbnVtYmVyT2ZSZVJlbmRlcnMgKz0gMTtcblxuICAgICAge1xuICAgICAgICAvLyBFdmVuIHdoZW4gaG90IHJlbG9hZGluZywgYWxsb3cgZGVwZW5kZW5jaWVzIHRvIHN0YWJpbGl6ZVxuICAgICAgICAvLyBhZnRlciBmaXJzdCByZW5kZXIgdG8gcHJldmVudCBpbmZpbml0ZSByZW5kZXIgcGhhc2UgdXBkYXRlcy5cbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcbiAgICAgIH0gLy8gU3RhcnQgb3ZlciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcblxuXG4gICAgICBjdXJyZW50SG9vayA9IG51bGw7XG4gICAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICB7XG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXG4gICAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA7XG4gICAgICBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTtcbiAgICB9IHdoaWxlIChkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MpO1xuICB9IC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuXG5cbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z0hvb2tUeXBlcyA9IGhvb2tUeXBlc0RldjtcbiAgfSAvLyBUaGlzIGNoZWNrIHVzZXMgY3VycmVudEhvb2sgc28gdGhhdCBpdCB3b3JrcyB0aGUgc2FtZSBpbiBERVYgYW5kIHByb2QgYnVuZGxlcy5cbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXG5cblxuICB2YXIgZGlkUmVuZGVyVG9vRmV3SG9va3MgPSBjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBjdXJyZW50SG9vay5uZXh0ICE9PSBudWxsO1xuICByZW5kZXJMYW5lcyA9IE5vTGFuZXM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xuICBjdXJyZW50SG9vayA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG5cbiAge1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNEZXYgPSBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIENvbmZpcm0gdGhhdCBhIHN0YXRpYyBmbGFnIHdhcyBub3QgYWRkZWQgb3IgcmVtb3ZlZCBzaW5jZSB0aGUgbGFzdFxuICAgIC8vIHJlbmRlci4gSWYgdGhpcyBmaXJlcywgaXQgc3VnZ2VzdHMgdGhhdCB3ZSBpbmNvcnJlY3RseSByZXNldCB0aGUgc3RhdGljXG4gICAgLy8gZmxhZ3MgaW4gc29tZSBvdGhlciBwYXJ0IG9mIHRoZSBjb2RlYmFzZS4gVGhpcyBoYXMgaGFwcGVuZWQgYmVmb3JlLCBmb3JcbiAgICAvLyBleGFtcGxlLCBpbiB0aGUgU3VzcGVuc2VMaXN0IGltcGxlbWVudGF0aW9uLlxuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgKGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrKSAhPT0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgU3RhdGljTWFzaykgJiYgLy8gRGlzYWJsZSB0aGlzIHdhcm5pbmcgaW4gbGVnYWN5IG1vZGUsIGJlY2F1c2UgbGVnYWN5IFN1c3BlbnNlIGlzIHdlaXJkXG4gICAgLy8gYW5kIGNyZWF0ZXMgZmFsc2UgcG9zaXRpdmVzLiBUbyBtYWtlIHRoaXMgd29yayBpbiBsZWdhY3kgbW9kZSwgd2UnZFxuICAgIC8vIG5lZWQgdG8gbWFyayBmaWJlcnMgdGhhdCBjb21taXQgaW4gYW4gaW5jb21wbGV0ZSBzdGF0ZSwgc29tZWhvdy4gRm9yXG4gICAgLy8gbm93IEknbGwgZGlzYWJsZSB0aGUgd2FybmluZyB0aGF0IG1vc3Qgb2YgdGhlIGJ1Z3MgdGhhdCB3b3VsZCB0cmlnZ2VyXG4gICAgLy8gaXQgYXJlIGVpdGhlciBleGNsdXNpdmUgdG8gY29uY3VycmVudCBtb2RlIG9yIGV4aXN0IGluIGJvdGguXG4gICAgKGN1cnJlbnQubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEV4cGVjdGVkIHN0YXRpYyBmbGFnIHdhcyBtaXNzaW5nLiBQbGVhc2UgJyArICdub3RpZnkgdGhlIFJlYWN0IHRlYW0uJyk7XG4gICAgfVxuICB9XG5cbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGlzIHJlc2V0IGJ5IGNoZWNrRGlkUmVuZGVySWRIb29rXG4gIC8vIGxvY2FsSWRDb3VudGVyID0gMDtcblxuICBpZiAoZGlkUmVuZGVyVG9vRmV3SG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsICcgKyAnZWFybHkgcmV0dXJuIHN0YXRlbWVudC4nKTtcbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIGNoZWNrRGlkUmVuZGVySWRIb29rKCkge1xuICAvLyBUaGlzIHNob3VsZCBiZSBjYWxsZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZXZlcnkgcmVuZGVyV2l0aEhvb2tzIGNhbGwuXG4gIC8vIENvbmNlcHR1YWxseSwgaXQncyBwYXJ0IG9mIHRoZSByZXR1cm4gdmFsdWUgb2YgcmVuZGVyV2l0aEhvb2tzOyBpdCdzIG9ubHkgYVxuICAvLyBzZXBhcmF0ZSBmdW5jdGlvbiB0byBhdm9pZCB1c2luZyBhbiBhcnJheSB0dXBsZS5cbiAgdmFyIGRpZFJlbmRlcklkSG9vayA9IGxvY2FsSWRDb3VudGVyICE9PSAwO1xuICBsb2NhbElkQ291bnRlciA9IDA7XG4gIHJldHVybiBkaWRSZW5kZXJJZEhvb2s7XG59XG5mdW5jdGlvbiBiYWlsb3V0SG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGxhbmVzKSB7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTsgLy8gVE9ETzogRG9uJ3QgbmVlZCB0byByZXNldCB0aGUgZmxhZ3MgaGVyZSwgYmVjYXVzZSB0aGV5J3JlIHJlc2V0IGluIHRoZVxuICAvLyBjb21wbGV0ZSBwaGFzZSAoYnViYmxlUHJvcGVydGllcykuXG5cbiAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfihNb3VudFBhc3NpdmVEZXYgfCBNb3VudExheW91dERldiB8IFBhc3NpdmUgfCBVcGRhdGUpO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH4oUGFzc2l2ZSB8IFVwZGF0ZSk7XG4gIH1cblxuICBjdXJyZW50LmxhbmVzID0gcmVtb3ZlTGFuZXMoY3VycmVudC5sYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XG4gIC8vIFdlIGNhbiBhc3N1bWUgdGhlIHByZXZpb3VzIGRpc3BhdGNoZXIgaXMgYWx3YXlzIHRoaXMgb25lLCBzaW5jZSB3ZSBzZXQgaXRcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmNlLlxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcblxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSkge1xuICAgIC8vIFRoZXJlIHdlcmUgcmVuZGVyIHBoYXNlIHVwZGF0ZXMuIFRoZXNlIGFyZSBvbmx5IHZhbGlkIGZvciB0aGlzIHJlbmRlclxuICAgIC8vIHBoYXNlLCB3aGljaCB3ZSBhcmUgbm93IGFib3J0aW5nLiBSZW1vdmUgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWVzIHNvXG4gICAgLy8gdGhleSBkbyBub3QgcGVyc2lzdCB0byB0aGUgbmV4dCByZW5kZXIuIERvIG5vdCByZW1vdmUgdXBkYXRlcyBmcm9tIGhvb2tzXG4gICAgLy8gdGhhdCB3ZXJlbid0IHByb2Nlc3NlZC5cbiAgICAvL1xuICAgIC8vIE9ubHkgcmVzZXQgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWUgaWYgaXQgaGFzIGEgY2xvbmUuIElmIGl0IGRvZXNcbiAgICAvLyBub3QgaGF2ZSBhIGNsb25lLCB0aGF0IG1lYW5zIGl0IHdhc24ndCBwcm9jZXNzZWQsIGFuZCB0aGUgdXBkYXRlcyB3ZXJlXG4gICAgLy8gc2NoZWR1bGVkIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgdmFyIGhvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICAgICAgaWYgKHF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBob29rID0gaG9vay5uZXh0O1xuICAgIH1cblxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcbiAgfVxuXG4gIHJlbmRlckxhbmVzID0gTm9MYW5lcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7XG4gIGN1cnJlbnRIb29rID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcblxuICB7XG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcbiAgICBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlID0gZmFsc2U7XG4gIH1cblxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBmYWxzZTtcbiAgbG9jYWxJZENvdW50ZXIgPSAwO1xufVxuXG5mdW5jdGlvbiBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpIHtcbiAgdmFyIGhvb2sgPSB7XG4gICAgbWVtb2l6ZWRTdGF0ZTogbnVsbCxcbiAgICBiYXNlU3RhdGU6IG51bGwsXG4gICAgYmFzZVF1ZXVlOiBudWxsLFxuICAgIHF1ZXVlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdFxuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IGhvb2s7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dCA9IGhvb2s7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBib3RoIGZvciB1cGRhdGVzIGFuZCBmb3IgcmUtcmVuZGVycyB0cmlnZ2VyZWQgYnkgYVxuICAvLyByZW5kZXIgcGhhc2UgdXBkYXRlLiBJdCBhc3N1bWVzIHRoZXJlIGlzIGVpdGhlciBhIGN1cnJlbnQgaG9vayB3ZSBjYW5cbiAgLy8gY2xvbmUsIG9yIGEgd29yay1pbi1wcm9ncmVzcyBob29rIGZyb20gYSBwcmV2aW91cyByZW5kZXIgcGFzcyB0aGF0IHdlIGNhblxuICAvLyB1c2UgYXMgYSBiYXNlLiBXaGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgdGhlIGJhc2UgbGlzdCwgd2UgbXVzdCBzd2l0Y2ggdG9cbiAgLy8gdGhlIGRpc3BhdGNoZXIgdXNlZCBmb3IgbW91bnRzLlxuICB2YXIgbmV4dEN1cnJlbnRIb29rO1xuXG4gIGlmIChjdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5hbHRlcm5hdGU7XG5cbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50SG9vay5uZXh0O1xuICB9XG5cbiAgdmFyIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XG4gIH0gZWxzZSB7XG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xuICB9XG5cbiAgaWYgKG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgIT09IG51bGwpIHtcbiAgICAvLyBUaGVyZSdzIGFscmVhZHkgYSB3b3JrLWluLXByb2dyZXNzLiBSZXVzZSBpdC5cbiAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcbiAgICBjdXJyZW50SG9vayA9IG5leHRDdXJyZW50SG9vaztcbiAgfSBlbHNlIHtcbiAgICAvLyBDbG9uZSBmcm9tIHRoZSBjdXJyZW50IGhvb2suXG4gICAgaWYgKG5leHRDdXJyZW50SG9vayA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZW5kZXJlZCBtb3JlIGhvb2tzIHRoYW4gZHVyaW5nIHRoZSBwcmV2aW91cyByZW5kZXIuJyk7XG4gICAgfVxuXG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XG4gICAgdmFyIG5ld0hvb2sgPSB7XG4gICAgICBtZW1vaXplZFN0YXRlOiBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLFxuICAgICAgYmFzZVN0YXRlOiBjdXJyZW50SG9vay5iYXNlU3RhdGUsXG4gICAgICBiYXNlUXVldWU6IGN1cnJlbnRIb29rLmJhc2VRdWV1ZSxcbiAgICAgIHF1ZXVlOiBjdXJyZW50SG9vay5xdWV1ZSxcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgaG9vayBpbiB0aGUgbGlzdC5cbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IG5ld0hvb2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBuZXdIb29rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKSB7XG4gIHJldHVybiB7XG4gICAgbGFzdEVmZmVjdDogbnVsbCxcbiAgICBzdG9yZXM6IG51bGxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xuICByZXR1cm4gdHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbihzdGF0ZSkgOiBhY3Rpb247XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGluaXRpYWxTdGF0ZTtcblxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdChpbml0aWFsQXJnKTtcbiAgfSBlbHNlIHtcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xuICB9XG5cbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gIHZhciBxdWV1ZSA9IHtcbiAgICBwZW5kaW5nOiBudWxsLFxuICAgIGludGVybGVhdmVkOiBudWxsLFxuICAgIGxhbmVzOiBOb0xhbmVzLFxuICAgIGRpc3BhdGNoOiBudWxsLFxuICAgIGxhc3RSZW5kZXJlZFJlZHVjZXI6IHJlZHVjZXIsXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxuICB9O1xuICBob29rLnF1ZXVlID0gcXVldWU7XG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2hSZWR1Y2VyQWN0aW9uLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcblxuICBpZiAocXVldWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyO1xuICB2YXIgY3VycmVudCA9IGN1cnJlbnRIb29rOyAvLyBUaGUgbGFzdCByZWJhc2UgdXBkYXRlIHRoYXQgaXMgTk9UIHBhcnQgb2YgdGhlIGJhc2Ugc3RhdGUuXG5cbiAgdmFyIGJhc2VRdWV1ZSA9IGN1cnJlbnQuYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXG5cbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnBlbmRpbmc7XG5cbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xuICAgIC8vIFdlIGhhdmUgbmV3IHVwZGF0ZXMgdGhhdCBoYXZlbid0IGJlZW4gcHJvY2Vzc2VkIHlldC5cbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAvLyBNZXJnZSB0aGUgcGVuZGluZyBxdWV1ZSBhbmQgdGhlIGJhc2UgcXVldWUuXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XG4gICAgICBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdGaXJzdDtcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChjdXJyZW50LmJhc2VRdWV1ZSAhPT0gYmFzZVF1ZXVlKSB7XG4gICAgICAgIC8vIEludGVybmFsIGludmFyaWFudCB0aGF0IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBmZWFzaWJseSBjb3VsZCBpblxuICAgICAgICAvLyB0aGUgZnV0dXJlIGlmIHdlIGltcGxlbWVudCByZXN1bWluZywgb3Igc29tZSBmb3JtIG9mIHRoYXQuXG4gICAgICAgIGVycm9yKCdJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSB0byBiZSBhIGNsb25lLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY3VycmVudC5iYXNlUXVldWUgPSBiYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXG4gICAgdmFyIGZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgdmFyIG5ld1N0YXRlID0gY3VycmVudC5iYXNlU3RhdGU7XG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbnVsbDtcbiAgICB2YXIgbmV3QmFzZVF1ZXVlTGFzdCA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xuXG4gICAgZG8ge1xuICAgICAgdmFyIHVwZGF0ZUxhbmUgPSB1cGRhdGUubGFuZTtcblxuICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMocmVuZGVyTGFuZXMsIHVwZGF0ZUxhbmUpKSB7XG4gICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcbiAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgdmFyIGNsb25lID0ge1xuICAgICAgICAgIGxhbmU6IHVwZGF0ZUxhbmUsXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxuICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxuICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobmV3QmFzZVF1ZXVlTGFzdCA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbmV3QmFzZVF1ZXVlTGFzdCA9IGNsb25lO1xuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0Jhc2VRdWV1ZUxhc3QgPSBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBjbG9uZTtcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHJlbWFpbmluZyBwcmlvcml0eSBpbiB0aGUgcXVldWUuXG4gICAgICAgIC8vIFRPRE86IERvbid0IG5lZWQgdG8gYWNjdW11bGF0ZSB0aGlzLiBJbnN0ZWFkLCB3ZSBjYW4gcmVtb3ZlXG4gICAgICAgIC8vIHJlbmRlckxhbmVzIGZyb20gdGhlIG9yaWdpbmFsIGxhbmVzLlxuXG5cbiAgICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgdXBkYXRlTGFuZSk7XG4gICAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXModXBkYXRlTGFuZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXRcbiAgICAgICAgICAgIC8vIGl0LiBVc2luZyBOb0xhbmUgd29ya3MgYmVjYXVzZSAwIGlzIGEgc3Vic2V0IG9mIGFsbCBiaXRtYXNrcywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBuZXZlciBiZSBza2lwcGVkIGJ5IHRoZSBjaGVjayBhYm92ZS5cbiAgICAgICAgICAgIGxhbmU6IE5vTGFuZSxcbiAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcbiAgICAgICAgICAgIGhhc0VhZ2VyU3RhdGU6IHVwZGF0ZS5oYXNFYWdlclN0YXRlLFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXG4gICAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cblxuICAgICAgICBpZiAodXBkYXRlLmhhc0VhZ2VyU3RhdGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHVwZGF0ZSBpcyBhIHN0YXRlIHVwZGF0ZSAobm90IGEgcmVkdWNlcikgYW5kIHdhcyBwcm9jZXNzZWQgZWFnZXJseSxcbiAgICAgICAgICAvLyB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlXG4gICAgICAgICAgbmV3U3RhdGUgPSB1cGRhdGUuZWFnZXJTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsICYmIHVwZGF0ZSAhPT0gZmlyc3QpO1xuXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcbiAgICAvLyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBzdGF0ZS5cblxuXG4gICAgaWYgKCFvYmplY3RJcyhuZXdTdGF0ZSwgaG9vay5tZW1vaXplZFN0YXRlKSkge1xuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICBob29rLmJhc2VTdGF0ZSA9IG5ld0Jhc2VTdGF0ZTtcbiAgICBob29rLmJhc2VRdWV1ZSA9IG5ld0Jhc2VRdWV1ZUxhc3Q7XG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBJbnRlcmxlYXZlZCB1cGRhdGVzIGFyZSBzdG9yZWQgb24gYSBzZXBhcmF0ZSBxdWV1ZS4gV2UgYXJlbid0IGdvaW5nIHRvXG4gIC8vIHByb2Nlc3MgdGhlbSBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCB3ZSBkbyBuZWVkIHRvIHRyYWNrIHdoaWNoIGxhbmVzXG4gIC8vIGFyZSByZW1haW5pbmcuXG5cblxuICB2YXIgbGFzdEludGVybGVhdmVkID0gcXVldWUuaW50ZXJsZWF2ZWQ7XG5cbiAgaWYgKGxhc3RJbnRlcmxlYXZlZCAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcmxlYXZlZCA9IGxhc3RJbnRlcmxlYXZlZDtcblxuICAgIGRvIHtcbiAgICAgIHZhciBpbnRlcmxlYXZlZExhbmUgPSBpbnRlcmxlYXZlZC5sYW5lO1xuICAgICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcyA9IG1lcmdlTGFuZXMoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5sYW5lcywgaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMoaW50ZXJsZWF2ZWRMYW5lKTtcbiAgICAgIGludGVybGVhdmVkID0gaW50ZXJsZWF2ZWQubmV4dDtcbiAgICB9IHdoaWxlIChpbnRlcmxlYXZlZCAhPT0gbGFzdEludGVybGVhdmVkKTtcbiAgfSBlbHNlIGlmIChiYXNlUXVldWUgPT09IG51bGwpIHtcbiAgICAvLyBgcXVldWUubGFuZXNgIGlzIHVzZWQgZm9yIGVudGFuZ2xpbmcgdHJhbnNpdGlvbnMuIFdlIGNhbiBzZXQgaXQgYmFjayB0b1xuICAgIC8vIHplcm8gb25jZSB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgcXVldWUubGFuZXMgPSBOb0xhbmVzO1xuICB9XG5cbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWU7XG5cbiAgaWYgKHF1ZXVlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgaGF2ZSBhIHF1ZXVlLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyID0gcmVkdWNlcjsgLy8gVGhpcyBpcyBhIHJlLXJlbmRlci4gQXBwbHkgdGhlIG5ldyByZW5kZXIgcGhhc2UgdXBkYXRlcyB0byB0aGUgcHJldmlvdXNcbiAgLy8gd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xuICB2YXIgbGFzdFJlbmRlclBoYXNlVXBkYXRlID0gcXVldWUucGVuZGluZztcbiAgdmFyIG5ld1N0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChsYXN0UmVuZGVyUGhhc2VVcGRhdGUgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgcXVldWUgZG9lc24ndCBwZXJzaXN0IHBhc3QgdGhpcyByZW5kZXIgcGFzcy5cbiAgICBxdWV1ZS5wZW5kaW5nID0gbnVsbDtcbiAgICB2YXIgZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSA9IGxhc3RSZW5kZXJQaGFzZVVwZGF0ZS5uZXh0O1xuICAgIHZhciB1cGRhdGUgPSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlO1xuXG4gICAgZG8ge1xuICAgICAgLy8gUHJvY2VzcyB0aGlzIHJlbmRlciBwaGFzZSB1cGRhdGUuIFdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhlXG4gICAgICAvLyBwcmlvcml0eSBiZWNhdXNlIGl0IHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50XG4gICAgICAvLyByZW5kZXIncy5cbiAgICAgIHZhciBhY3Rpb24gPSB1cGRhdGUuYWN0aW9uO1xuICAgICAgbmV3U3RhdGUgPSByZWR1Y2VyKG5ld1N0YXRlLCBhY3Rpb24pO1xuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBmaXJzdFJlbmRlclBoYXNlVXBkYXRlKTsgLy8gTWFyayB0aGF0IHRoZSBmaWJlciBwZXJmb3JtZWQgd29yaywgYnV0IG9ubHkgaWYgdGhlIG5ldyBzdGF0ZSBpc1xuICAgIC8vIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLlxuXG5cbiAgICBpZiAoIW9iamVjdElzKG5ld1N0YXRlLCBob29rLm1lbW9pemVkU3RhdGUpKSB7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlOyAvLyBEb24ndCBwZXJzaXN0IHRoZSBzdGF0ZSBhY2N1bXVsYXRlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UgdXBkYXRlcyB0b1xuICAgIC8vIHRoZSBiYXNlIHN0YXRlIHVubGVzcyB0aGUgcXVldWUgaXMgZW1wdHkuXG4gICAgLy8gVE9ETzogTm90IHN1cmUgaWYgdGhpcyBpcyB0aGUgZGVzaXJlZCBzZW1hbnRpY3MsIGJ1dCBpdCdzIHdoYXQgd2VcbiAgICAvLyBkbyBmb3IgZ0RTRlAuIEkgY2FuJ3QgcmVtZW1iZXIgd2h5LlxuXG4gICAgaWYgKGhvb2suYmFzZVF1ZXVlID09PSBudWxsKSB7XG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH1cblxuICAgIHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlID0gbmV3U3RhdGU7XG4gIH1cblxuICByZXR1cm4gW25ld1N0YXRlLCBkaXNwYXRjaF07XG59XG5cbmZ1bmN0aW9uIG1vdW50TXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTXV0YWJsZVNvdXJjZShzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0U25hcHNob3Q7XG4gIHZhciBpc0h5ZHJhdGluZyA9IGdldElzSHlkcmF0aW5nKCk7XG5cbiAgaWYgKGlzSHlkcmF0aW5nKSB7XG4gICAgaWYgKGdldFNlcnZlclNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnZXRTZXJ2ZXJTbmFwc2hvdCwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yICcgKyAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFdpbGwgcmV2ZXJ0IHRvIGNsaWVudCByZW5kZXJpbmcuJyk7XG4gICAgfVxuXG4gICAgbmV4dFNuYXBzaG90ID0gZ2V0U2VydmVyU25hcHNob3QoKTtcblxuICAgIHtcbiAgICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgICAgaWYgKG5leHRTbmFwc2hvdCAhPT0gZ2V0U2VydmVyU25hcHNob3QoKSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNlcnZlclNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICB7XG4gICAgICBpZiAoIWRpZFdhcm5VbmNhY2hlZEdldFNuYXBzaG90KSB7XG4gICAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgICAgaWYgKCFvYmplY3RJcyhuZXh0U25hcHNob3QsIGNhY2hlZFNuYXBzaG90KSkge1xuICAgICAgICAgIGVycm9yKCdUaGUgcmVzdWx0IG9mIGdldFNuYXBzaG90IHNob3VsZCBiZSBjYWNoZWQgdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCcpO1xuXG4gICAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cbiAgICAvL1xuICAgIC8vIFdlIHdvbid0IGRvIHRoaXMgaWYgd2UncmUgaHlkcmF0aW5nIHNlcnZlci1yZW5kZXJlZCBjb250ZW50LCBiZWNhdXNlIGlmXG4gICAgLy8gdGhlIGNvbnRlbnQgaXMgc3RhbGUsIGl0J3MgYWxyZWFkeSB2aXNpYmxlIGFueXdheS4gSW5zdGVhZCB3ZSdsbCBwYXRjaFxuICAgIC8vIGl0IHVwIGluIGEgcGFzc2l2ZSBlZmZlY3QuXG5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfSAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gIHZhciBpbnN0ID0ge1xuICAgIHZhbHVlOiBuZXh0U25hcHNob3QsXG4gICAgZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90XG4gIH07XG4gIGhvb2sucXVldWUgPSBpbnN0OyAvLyBTY2hlZHVsZSBhbiBlZmZlY3QgdG8gc3Vic2NyaWJlIHRvIHRoZSBzdG9yZS5cblxuICBtb3VudEVmZmVjdChzdWJzY3JpYmVUb1N0b3JlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIHN1YnNjcmliZSksIFtzdWJzY3JpYmVdKTsgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIHVwZGF0ZSB0aGUgbXV0YWJsZSBpbnN0YW5jZSBmaWVsZHMuIFdlIHdpbGwgdXBkYXRlXG4gIC8vIHRoaXMgd2hlbmV2ZXIgc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgb3IgdmFsdWUgY2hhbmdlcy4gQmVjYXVzZSB0aGVyZSdzIG5vXG4gIC8vIGNsZWFuLXVwIGZ1bmN0aW9uLCBhbmQgd2UgdHJhY2sgdGhlIGRlcHMgY29ycmVjdGx5LCB3ZSBjYW4gY2FsbCBwdXNoRWZmZWN0XG4gIC8vIGRpcmVjdGx5LCB3aXRob3V0IHN0b3JpbmcgYW55IGFkZGl0aW9uYWwgc3RhdGUuIEZvciB0aGUgc2FtZSByZWFzb24sIHdlXG4gIC8vIGRvbid0IG5lZWQgdG8gc2V0IGEgc3RhdGljIGZsYWcsIGVpdGhlci5cbiAgLy8gVE9ETzogV2UgY2FuIG1vdmUgdGhpcyB0byB0aGUgcGFzc2l2ZSBwaGFzZSBvbmNlIHdlIGFkZCBhIHByZS1jb21taXRcbiAgLy8gY29uc2lzdGVuY3kgY2hlY2suIFNlZSB0aGUgbmV4dCBjb21tZW50LlxuXG4gIGZpYmVyLmZsYWdzIHw9IFBhc3NpdmU7XG4gIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpO1xuICByZXR1cm4gbmV4dFNuYXBzaG90O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZmliZXIgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxO1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpOyAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gVGhpcyBicmVha3MgdGhlXG4gIC8vIG5vcm1hbCBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgYmVjYXVzZSBzdG9yZSB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cbiAgdmFyIG5leHRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAge1xuICAgIGlmICghZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QpIHtcbiAgICAgIHZhciBjYWNoZWRTbmFwc2hvdCA9IGdldFNuYXBzaG90KCk7XG5cbiAgICAgIGlmICghb2JqZWN0SXMobmV4dFNuYXBzaG90LCBjYWNoZWRTbmFwc2hvdCkpIHtcbiAgICAgICAgZXJyb3IoJ1RoZSByZXN1bHQgb2YgZ2V0U25hcHNob3Qgc2hvdWxkIGJlIGNhY2hlZCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wJyk7XG5cbiAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2U25hcHNob3QgPSBob29rLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzbmFwc2hvdENoYW5nZWQgPSAhb2JqZWN0SXMocHJldlNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuXG4gIGlmIChzbmFwc2hvdENoYW5nZWQpIHtcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXh0U25hcHNob3Q7XG4gICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgfVxuXG4gIHZhciBpbnN0ID0gaG9vay5xdWV1ZTtcbiAgdXBkYXRlRWZmZWN0KHN1YnNjcmliZVRvU3RvcmUuYmluZChudWxsLCBmaWJlciwgaW5zdCwgc3Vic2NyaWJlKSwgW3N1YnNjcmliZV0pOyAvLyBXaGVuZXZlciBnZXRTbmFwc2hvdCBvciBzdWJzY3JpYmUgY2hhbmdlcywgd2UgbmVlZCB0byBjaGVjayBpbiB0aGVcbiAgLy8gY29tbWl0IHBoYXNlIGlmIHRoZXJlIHdhcyBhbiBpbnRlcmxlYXZlZCBtdXRhdGlvbi4gSW4gY29uY3VycmVudCBtb2RlXG4gIC8vIHRoaXMgY2FuIGhhcHBlbiBhbGwgdGhlIHRpbWUsIGJ1dCBldmVuIGluIHN5bmNocm9ub3VzIG1vZGUsIGFuIGVhcmxpZXJcbiAgLy8gZWZmZWN0IG1heSBoYXZlIG11dGF0ZWQgdGhlIHN0b3JlLlxuXG4gIGlmIChpbnN0LmdldFNuYXBzaG90ICE9PSBnZXRTbmFwc2hvdCB8fCBzbmFwc2hvdENoYW5nZWQgfHwgLy8gQ2hlY2sgaWYgdGhlIHN1c2JjcmliZSBmdW5jdGlvbiBjaGFuZ2VkLiBXZSBjYW4gc2F2ZSBzb21lIG1lbW9yeSBieVxuICAvLyBjaGVja2luZyB3aGV0aGVyIHdlIHNjaGVkdWxlZCBhIHN1YnNjcmlwdGlvbiBlZmZlY3QgYWJvdmUuXG4gIHdvcmtJblByb2dyZXNzSG9vayAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzc0hvb2subWVtb2l6ZWRTdGF0ZS50YWcgJiBIYXNFZmZlY3QpIHtcbiAgICBmaWJlci5mbGFncyB8PSBQYXNzaXZlO1xuICAgIHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgUGFzc2l2ZSQxLCB1cGRhdGVTdG9yZUluc3RhbmNlLmJpbmQobnVsbCwgZmliZXIsIGluc3QsIG5leHRTbmFwc2hvdCwgZ2V0U25hcHNob3QpLCB1bmRlZmluZWQsIG51bGwpOyAvLyBVbmxlc3Mgd2UncmUgcmVuZGVyaW5nIGEgYmxvY2tpbmcgbGFuZSwgc2NoZWR1bGUgYSBjb25zaXN0ZW5jeSBjaGVjay5cbiAgICAvLyBSaWdodCBiZWZvcmUgY29tbWl0dGluZywgd2Ugd2lsbCB3YWxrIHRoZSB0cmVlIGFuZCBjaGVjayBpZiBhbnkgb2YgdGhlXG4gICAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZC5cblxuICAgIHZhciByb290ID0gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCk7XG5cbiAgICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIHdvcmstaW4tcHJvZ3Jlc3Mgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbmNsdWRlc0Jsb2NraW5nTGFuZShyb290LCByZW5kZXJMYW5lcykpIHtcbiAgICAgIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCBuZXh0U25hcHNob3QpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0U25hcHNob3Q7XG59XG5cbmZ1bmN0aW9uIHB1c2hTdG9yZUNvbnNpc3RlbmN5Q2hlY2soZmliZXIsIGdldFNuYXBzaG90LCByZW5kZXJlZFNuYXBzaG90KSB7XG4gIGZpYmVyLmZsYWdzIHw9IFN0b3JlQ29uc2lzdGVuY3k7XG4gIHZhciBjaGVjayA9IHtcbiAgICBnZXRTbmFwc2hvdDogZ2V0U25hcHNob3QsXG4gICAgdmFsdWU6IHJlbmRlcmVkU25hcHNob3RcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3RvcmVzID0gY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzO1xuXG4gICAgaWYgKHN0b3JlcyA9PT0gbnVsbCkge1xuICAgICAgY29tcG9uZW50VXBkYXRlUXVldWUuc3RvcmVzID0gW2NoZWNrXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RvcmVzLnB1c2goY2hlY2spO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVTdG9yZUluc3RhbmNlKGZpYmVyLCBpbnN0LCBuZXh0U25hcHNob3QsIGdldFNuYXBzaG90KSB7XG4gIC8vIFRoZXNlIGFyZSB1cGRhdGVkIGluIHRoZSBwYXNzaXZlIHBoYXNlXG4gIGluc3QudmFsdWUgPSBuZXh0U25hcHNob3Q7XG4gIGluc3QuZ2V0U25hcHNob3QgPSBnZXRTbmFwc2hvdDsgLy8gU29tZXRoaW5nIG1heSBoYXZlIGJlZW4gbXV0YXRlZCBpbiBiZXR3ZWVuIHJlbmRlciBhbmQgY29tbWl0LiBUaGlzIGNvdWxkXG4gIC8vIGhhdmUgYmVlbiBpbiBhbiBldmVudCB0aGF0IGZpcmVkIGJlZm9yZSB0aGUgcGFzc2l2ZSBlZmZlY3RzLCBvciBpdCBjb3VsZFxuICAvLyBoYXZlIGJlZW4gaW4gYSBsYXlvdXQgZWZmZWN0LiBJbiB0aGF0IGNhc2UsIHdlIHdvdWxkIGhhdmUgdXNlZCB0aGUgb2xkXG4gIC8vIHNuYXBzaG8gYW5kIGdldFNuYXBzaG90IHZhbHVlcyB0byBiYWlsIG91dC4gV2UgbmVlZCB0byBjaGVjayBvbmUgbW9yZSB0aW1lLlxuXG4gIGlmIChjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpKSB7XG4gICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdWJzY3JpYmVUb1N0b3JlKGZpYmVyLCBpbnN0LCBzdWJzY3JpYmUpIHtcbiAgdmFyIGhhbmRsZVN0b3JlQ2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIFRoZSBzdG9yZSBjaGFuZ2VkLiBDaGVjayBpZiB0aGUgc25hcHNob3QgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlXG4gICAgLy8gcmVhZCBmcm9tIHRoZSBzdG9yZS5cbiAgICBpZiAoY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSkge1xuICAgICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgICBmb3JjZVN0b3JlUmVyZW5kZXIoZmliZXIpO1xuICAgIH1cbiAgfTsgLy8gU3Vic2NyaWJlIHRvIHRoZSBzdG9yZSBhbmQgcmV0dXJuIGEgY2xlYW4tdXAgZnVuY3Rpb24uXG5cblxuICByZXR1cm4gc3Vic2NyaWJlKGhhbmRsZVN0b3JlQ2hhbmdlKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSB7XG4gIHZhciBsYXRlc3RHZXRTbmFwc2hvdCA9IGluc3QuZ2V0U25hcHNob3Q7XG4gIHZhciBwcmV2VmFsdWUgPSBpbnN0LnZhbHVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG4gICAgcmV0dXJuICFvYmplY3RJcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9yY2VTdG9yZVJlcmVuZGVyKGZpYmVyKSB7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuXG4gIGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICB2YXIgcXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBpbnRlcmxlYXZlZDogbnVsbCxcbiAgICBsYW5lczogTm9MYW5lcyxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiBiYXNpY1N0YXRlUmVkdWNlcixcbiAgICBsYXN0UmVuZGVyZWRTdGF0ZTogaW5pdGlhbFN0YXRlXG4gIH07XG4gIGhvb2sucXVldWUgPSBxdWV1ZTtcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaFNldFN0YXRlLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKGJhc2ljU3RhdGVSZWR1Y2VyKTtcbn1cblxuZnVuY3Rpb24gcHVzaEVmZmVjdCh0YWcsIGNyZWF0ZSwgZGVzdHJveSwgZGVwcykge1xuICB2YXIgZWZmZWN0ID0ge1xuICAgIHRhZzogdGFnLFxuICAgIGNyZWF0ZTogY3JlYXRlLFxuICAgIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gICAgZGVwczogZGVwcyxcbiAgICAvLyBDaXJjdWxhclxuICAgIG5leHQ6IG51bGxcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xuICB9IGVsc2Uge1xuICAgIHZhciBsYXN0RWZmZWN0ID0gY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0RWZmZWN0ID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0Lm5leHQgPSBlZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICAgIGxhc3RFZmZlY3QubmV4dCA9IGVmZmVjdDtcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlZmZlY3Q7XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAge1xuICAgIHZhciBfcmVmMiA9IHtcbiAgICAgIGN1cnJlbnQ6IGluaXRpYWxWYWx1ZVxuICAgIH07XG4gICAgaG9vay5tZW1vaXplZFN0YXRlID0gX3JlZjI7XG4gICAgcmV0dXJuIF9yZWYyO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIGhvb2tGbGFncywgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZmxhZ3MgfD0gZmliZXJGbGFncztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gcHVzaEVmZmVjdChIYXNFZmZlY3QgfCBob29rRmxhZ3MsIGNyZWF0ZSwgdW5kZWZpbmVkLCBuZXh0RGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdEltcGwoZmliZXJGbGFncywgaG9va0ZsYWdzLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBkZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gIGlmIChjdXJyZW50SG9vayAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2RWZmZWN0ID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICBkZXN0cm95ID0gcHJldkVmZmVjdC5kZXN0cm95O1xuXG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2RWZmZWN0LmRlcHM7XG5cbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xuICAgICAgICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KGhvb2tGbGFncywgY3JlYXRlLCBkZXN0cm95LCBuZXh0RGVwcyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmZsYWdzIHw9IGZpYmVyRmxhZ3M7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgaG9va0ZsYWdzLCBjcmVhdGUsIGRlc3Ryb3ksIG5leHREZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgcmV0dXJuIG1vdW50RWZmZWN0SW1wbChNb3VudFBhc3NpdmVEZXYgfCBQYXNzaXZlIHwgUGFzc2l2ZVN0YXRpYywgUGFzc2l2ZSQxLCBjcmVhdGUsIGRlcHMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBtb3VudEVmZmVjdEltcGwoUGFzc2l2ZSB8IFBhc3NpdmVTdGF0aWMsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgcmV0dXJuIHVwZGF0ZUVmZmVjdEltcGwoVXBkYXRlLCBJbnNlcnRpb24sIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZmliZXJGbGFncyA9IFVwZGF0ZTtcblxuICB7XG4gICAgZmliZXJGbGFncyB8PSBMYXlvdXRTdGF0aWM7XG4gIH1cblxuICBpZiAoIChjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1vZGUgJiBTdHJpY3RFZmZlY3RzTW9kZSkgIT09IE5vTW9kZSkge1xuICAgIGZpYmVyRmxhZ3MgfD0gTW91bnRMYXlvdXREZXY7XG4gIH1cblxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKGZpYmVyRmxhZ3MsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZWZDYWxsYmFjayA9IHJlZjtcblxuICAgIHZhciBfaW5zdCA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZDYWxsYmFjayhudWxsKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhciByZWZPYmplY3QgPSByZWY7XG5cbiAgICB7XG4gICAgICBpZiAoIXJlZk9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIF9pbnN0MiA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlZk9iamVjdC5jdXJyZW50ID0gbnVsbDtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHZhciBmaWJlckZsYWdzID0gVXBkYXRlO1xuXG4gIHtcbiAgICBmaWJlckZsYWdzIHw9IExheW91dFN0YXRpYztcbiAgfVxuXG4gIGlmICggKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubW9kZSAmIFN0cmljdEVmZmVjdHNNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgZmliZXJGbGFncyB8PSBNb3VudExheW91dERldjtcbiAgfVxuXG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoZmliZXJGbGFncywgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcbn1cblxuZnVuY3Rpb24gbW91bnREZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikgey8vIFRoaXMgaG9vayBpcyBub3JtYWxseSBhIG5vLW9wLlxuICAvLyBUaGUgcmVhY3QtZGVidWctaG9va3MgcGFja2FnZSBpbmplY3RzIGl0cyBvd24gaW1wbGVtZW50YXRpb25cbiAgLy8gc28gdGhhdCBlLmcuIERldlRvb2xzIGNhbiBkaXNwbGF5IGN1c3RvbSBob29rIHZhbHVlcy5cbn1cblxudmFyIHVwZGF0ZURlYnVnVmFsdWUgPSBtb3VudERlYnVnVmFsdWU7XG5cbmZ1bmN0aW9uIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW2NhbGxiYWNrLCBuZXh0RGVwc107XG4gIHJldHVybiBjYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBwcmV2U3RhdGUgPSBob29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xuICAgIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xuXG4gICAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBbY2FsbGJhY2ssIG5leHREZXBzXTtcbiAgcmV0dXJuIGNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBbbmV4dFZhbHVlLCBuZXh0RGVwc107XG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgLy8gQXNzdW1lIHRoZXNlIGFyZSBkZWZpbmVkLiBJZiB0aGV5J3JlIG5vdCwgYXJlSG9va0lucHV0c0VxdWFsIHdpbGwgd2Fybi5cbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmV2RGVwcyA9IHByZXZTdGF0ZVsxXTtcblxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XG4gICAgICAgIHJldHVybiBwcmV2U3RhdGVbMF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xuICByZXR1cm4gbmV4dFZhbHVlO1xufVxuXG5mdW5jdGlvbiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSB2YWx1ZTtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciByZXNvbHZlZEN1cnJlbnRIb29rID0gY3VycmVudEhvb2s7XG4gIHZhciBwcmV2VmFsdWUgPSByZXNvbHZlZEN1cnJlbnRIb29rLm1lbW9pemVkU3RhdGU7XG4gIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlSW1wbChob29rLCBwcmV2VmFsdWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gcmVyZW5kZXJEZWZlcnJlZFZhbHVlKHZhbHVlKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG5cbiAgaWYgKGN1cnJlbnRIb29rID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlcmVuZGVyIGR1cmluZyBhIG1vdW50LlxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVyZW5kZXIgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICB2YXIgcHJldlZhbHVlID0gY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgICByZXR1cm4gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVmZXJyZWRWYWx1ZUltcGwoaG9vaywgcHJldlZhbHVlLCB2YWx1ZSkge1xuICB2YXIgc2hvdWxkRGVmZXJWYWx1ZSA9ICFpbmNsdWRlc09ubHlOb25VcmdlbnRMYW5lcyhyZW5kZXJMYW5lcyk7XG5cbiAgaWYgKHNob3VsZERlZmVyVmFsdWUpIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVyZ2VudCB1cGRhdGUuIElmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZCwga2VlcCB1c2luZyB0aGVcbiAgICAvLyBwcmV2aW91cyB2YWx1ZSBhbmQgc3Bhd24gYSBkZWZlcnJlZCByZW5kZXIgdG8gdXBkYXRlIGl0IGxhdGVyLlxuICAgIGlmICghb2JqZWN0SXModmFsdWUsIHByZXZWYWx1ZSkpIHtcbiAgICAgIC8vIFNjaGVkdWxlIGEgZGVmZXJyZWQgcmVuZGVyXG4gICAgICB2YXIgZGVmZXJyZWRMYW5lID0gY2xhaW1OZXh0VHJhbnNpdGlvbkxhbmUoKTtcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMgPSBtZXJnZUxhbmVzKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubGFuZXMsIGRlZmVycmVkTGFuZSk7XG4gICAgICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKGRlZmVycmVkTGFuZSk7IC8vIFNldCB0aGlzIHRvIHRydWUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVuZGVyZWQgdmFsdWUgaXMgaW5jb25zaXN0ZW50XG4gICAgICAvLyBmcm9tIHRoZSBsYXRlc3QgdmFsdWUuIFRoZSBuYW1lIFwiYmFzZVN0YXRlXCIgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlXG4gICAgICAvLyB1c2UgaXQgYmVjYXVzZSB3ZSdyZSByZXVzaW5nIGEgc3RhdGUgaG9vayBmaWVsZCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGFcbiAgICAgIC8vIG5ldyBvbmUuXG5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gdHJ1ZTtcbiAgICB9IC8vIFJldXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuXG5cbiAgICByZXR1cm4gcHJldlZhbHVlO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgbm90IGFuIHVyZ2VudCB1cGRhdGUsIHNvIHdlIGNhbiB1c2UgdGhlIGxhdGVzdCB2YWx1ZSByZWdhcmRsZXNzXG4gICAgLy8gb2Ygd2hhdCBpdCBpcy4gTm8gbmVlZCB0byBkZWZlciBpdC5cbiAgICAvLyBIb3dldmVyLCBpZiB3ZSdyZSBjdXJyZW50bHkgaW5zaWRlIGEgc3Bhd25lZCByZW5kZXIsIHRoZW4gd2UgbmVlZCB0byBtYXJrXG4gICAgLy8gdGhpcyBhcyBhbiB1cGRhdGUgdG8gcHJldmVudCB0aGUgZmliZXIgZnJvbSBiYWlsaW5nIG91dC5cbiAgICAvL1xuICAgIC8vIGBiYXNlU3RhdGVgIGlzIHRydWUgd2hlbiB0aGUgY3VycmVudCB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcmVuZGVyZWRcbiAgICAvLyB2YWx1ZS4gVGhlIG5hbWUgZG9lc24ndCByZWFsbHkgbWF0Y2ggaG93IHdlIHVzZSBpdCBiZWNhdXNlIHdlJ3JlIHJldXNpbmdcbiAgICAvLyBhIHN0YXRlIGhvb2sgZmllbGQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUuXG4gICAgaWYgKGhvb2suYmFzZVN0YXRlKSB7XG4gICAgICAvLyBGbGlwIHRoaXMgYmFjayB0byBmYWxzZS5cbiAgICAgIGhvb2suYmFzZVN0YXRlID0gZmFsc2U7XG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFydFRyYW5zaXRpb24oc2V0UGVuZGluZywgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGhpZ2hlckV2ZW50UHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSwgQ29udGludW91c0V2ZW50UHJpb3JpdHkpKTtcbiAgc2V0UGVuZGluZyh0cnVlKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMi50cmFuc2l0aW9uO1xuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQyLnRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMgPSBuZXcgU2V0KCk7XG4gIH1cblxuICB0cnkge1xuICAgIHNldFBlbmRpbmcoZmFsc2UpO1xuICAgIGNhbGxiYWNrKCk7XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDIudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuXG4gICAge1xuICAgICAgaWYgKHByZXZUcmFuc2l0aW9uID09PSBudWxsICYmIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzKSB7XG4gICAgICAgIHZhciB1cGRhdGVkRmliZXJzQ291bnQgPSBjdXJyZW50VHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5zaXplO1xuXG4gICAgICAgIGlmICh1cGRhdGVkRmliZXJzQ291bnQgPiAxMCkge1xuICAgICAgICAgIHdhcm4oJ0RldGVjdGVkIGEgbGFyZ2UgbnVtYmVyIG9mIHVwZGF0ZXMgaW5zaWRlIHN0YXJ0VHJhbnNpdGlvbi4gJyArICdJZiB0aGlzIGlzIGR1ZSB0byBhIHN1YnNjcmlwdGlvbiBwbGVhc2UgcmUtd3JpdGUgaXQgdG8gdXNlIFJlYWN0IHByb3ZpZGVkIGhvb2tzLiAnICsgJ090aGVyd2lzZSBjb25jdXJyZW50IG1vZGUgZ3VhcmFudGVlcyBhcmUgb2ZmIHRoZSB0YWJsZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50VHJhbnNpdGlvbigpIHtcbiAgdmFyIF9tb3VudFN0YXRlID0gbW91bnRTdGF0ZShmYWxzZSksXG4gICAgICBpc1BlbmRpbmcgPSBfbW91bnRTdGF0ZVswXSxcbiAgICAgIHNldFBlbmRpbmcgPSBfbW91bnRTdGF0ZVsxXTsgLy8gVGhlIGBzdGFydGAgbWV0aG9kIG5ldmVyIGNoYW5nZXMuXG5cblxuICB2YXIgc3RhcnQgPSBzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nKTtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBzdGFydDtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVHJhbnNpdGlvbigpIHtcbiAgdmFyIF91cGRhdGVTdGF0ZSA9IHVwZGF0ZVN0YXRlKCksXG4gICAgICBpc1BlbmRpbmcgPSBfdXBkYXRlU3RhdGVbMF07XG5cbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHN0YXJ0ID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gW2lzUGVuZGluZywgc3RhcnRdO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZSA9IHJlcmVuZGVyU3RhdGUoKSxcbiAgICAgIGlzUGVuZGluZyA9IF9yZXJlbmRlclN0YXRlWzBdO1xuXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBzdGFydCA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcbiAgcmV0dXJuIFtpc1BlbmRpbmcsIHN0YXJ0XTtcbn1cblxudmFyIGlzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2UgPSBmYWxzZTtcbmZ1bmN0aW9uIGdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpIHtcbiAge1xuICAgIHJldHVybiBpc1VwZGF0aW5nT3BhcXVlVmFsdWVJblJlbmRlclBoYXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SWQoKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTsgLy8gVE9ETzogSW4gRml6eiwgaWQgZ2VuZXJhdGlvbiBpcyBzcGVjaWZpYyB0byBlYWNoIHNlcnZlciBjb25maWcuIE1heWJlIHdlXG4gIC8vIHNob3VsZCBkbyB0aGlzIGluIEZpYmVyLCB0b28/IERlZmVycmluZyB0aGlzIGRlY2lzaW9uIGZvciBub3cgYmVjYXVzZVxuICAvLyB0aGVyZSdzIG5vIG90aGVyIHBsYWNlIHRvIHN0b3JlIHRoZSBwcmVmaXggZXhjZXB0IGZvciBhbiBpbnRlcm5hbCBmaWVsZCBvblxuICAvLyB0aGUgcHVibGljIGNyZWF0ZVJvb3Qgb2JqZWN0LCB3aGljaCB0aGUgZmliZXIgdHJlZSBkb2VzIG5vdCBjdXJyZW50bHkgaGF2ZVxuICAvLyBhIHJlZmVyZW5jZSB0by5cblxuICB2YXIgaWRlbnRpZmllclByZWZpeCA9IHJvb3QuaWRlbnRpZmllclByZWZpeDtcbiAgdmFyIGlkO1xuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgdmFyIHRyZWVJZCA9IGdldFRyZWVJZCgpOyAvLyBVc2UgYSBjYXB0aWFsIFIgcHJlZml4IGZvciBzZXJ2ZXItZ2VuZXJhdGVkIGlkcy5cblxuICAgIGlkID0gJzonICsgaWRlbnRpZmllclByZWZpeCArICdSJyArIHRyZWVJZDsgLy8gVW5sZXNzIHRoaXMgaXMgdGhlIGZpcnN0IGlkIGF0IHRoaXMgbGV2ZWwsIGFwcGVuZCBhIG51bWJlciBhdCB0aGUgZW5kXG4gICAgLy8gdGhhdCByZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiB0aGlzIHVzZUlkIGhvb2sgYW1vbmcgYWxsIHRoZSB1c2VJZFxuICAgIC8vIGhvb2tzIGZvciB0aGlzIGZpYmVyLlxuXG4gICAgdmFyIGxvY2FsSWQgPSBsb2NhbElkQ291bnRlcisrO1xuXG4gICAgaWYgKGxvY2FsSWQgPiAwKSB7XG4gICAgICBpZCArPSAnSCcgKyBsb2NhbElkLnRvU3RyaW5nKDMyKTtcbiAgICB9XG5cbiAgICBpZCArPSAnOic7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIGEgbG93ZXJjYXNlIHIgcHJlZml4IGZvciBjbGllbnQtZ2VuZXJhdGVkIGlkcy5cbiAgICB2YXIgZ2xvYmFsQ2xpZW50SWQgPSBnbG9iYWxDbGllbnRJZENvdW50ZXIrKztcbiAgICBpZCA9ICc6JyArIGlkZW50aWZpZXJQcmVmaXggKyAncicgKyBnbG9iYWxDbGllbnRJZC50b1N0cmluZygzMikgKyAnOic7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSBpZDtcbiAgcmV0dXJuIGlkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJZCgpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGlkID0gaG9vay5tZW1vaXplZFN0YXRlO1xuICByZXR1cm4gaWQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoUmVkdWNlckFjdGlvbihmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudEhvb2tVcGRhdGUoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgICBlbnRhbmdsZVRyYW5zaXRpb25VcGRhdGUocm9vdCwgcXVldWUsIGxhbmUpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtVcGRhdGVJbkRldlRvb2xzKGZpYmVyLCBsYW5lKTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hTZXRTdGF0ZShmaWJlciwgcXVldWUsIGFjdGlvbikge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXCIgKyAnc2Vjb25kIGNhbGxiYWNrIGFyZ3VtZW50LiBUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgJyArICdyZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gdGhlIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgbGFuZTogbGFuZSxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBoYXNFYWdlclN0YXRlOiBmYWxzZSxcbiAgICBlYWdlclN0YXRlOiBudWxsLFxuICAgIG5leHQ6IG51bGxcbiAgfTtcblxuICBpZiAoaXNSZW5kZXJQaGFzZVVwZGF0ZShmaWJlcikpIHtcbiAgICBlbnF1ZXVlUmVuZGVyUGhhc2VVcGRhdGUocXVldWUsIHVwZGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChmaWJlci5sYW5lcyA9PT0gTm9MYW5lcyAmJiAoYWx0ZXJuYXRlID09PSBudWxsIHx8IGFsdGVybmF0ZS5sYW5lcyA9PT0gTm9MYW5lcykpIHtcbiAgICAgIC8vIFRoZSBxdWV1ZSBpcyBjdXJyZW50bHkgZW1wdHksIHdoaWNoIG1lYW5zIHdlIGNhbiBlYWdlcmx5IGNvbXB1dGUgdGhlXG4gICAgICAvLyBuZXh0IHN0YXRlIGJlZm9yZSBlbnRlcmluZyB0aGUgcmVuZGVyIHBoYXNlLiBJZiB0aGUgbmV3IHN0YXRlIGlzIHRoZVxuICAgICAgLy8gc2FtZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwgd2UgbWF5IGJlIGFibGUgdG8gYmFpbCBvdXQgZW50aXJlbHkuXG4gICAgICB2YXIgbGFzdFJlbmRlcmVkUmVkdWNlciA9IHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXI7XG5cbiAgICAgIGlmIChsYXN0UmVuZGVyZWRSZWR1Y2VyICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBwcmV2RGlzcGF0Y2hlcjtcblxuICAgICAgICB7XG4gICAgICAgICAgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgY3VycmVudFN0YXRlID0gcXVldWUubGFzdFJlbmRlcmVkU3RhdGU7XG4gICAgICAgICAgdmFyIGVhZ2VyU3RhdGUgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyKGN1cnJlbnRTdGF0ZSwgYWN0aW9uKTsgLy8gU3Rhc2ggdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUsIGFuZCB0aGUgcmVkdWNlciB1c2VkIHRvIGNvbXB1dGVcbiAgICAgICAgICAvLyBpdCwgb24gdGhlIHVwZGF0ZSBvYmplY3QuIElmIHRoZSByZWR1Y2VyIGhhc24ndCBjaGFuZ2VkIGJ5IHRoZVxuICAgICAgICAgIC8vIHRpbWUgd2UgZW50ZXIgdGhlIHJlbmRlciBwaGFzZSwgdGhlbiB0aGUgZWFnZXIgc3RhdGUgY2FuIGJlIHVzZWRcbiAgICAgICAgICAvLyB3aXRob3V0IGNhbGxpbmcgdGhlIHJlZHVjZXIgYWdhaW4uXG5cbiAgICAgICAgICB1cGRhdGUuaGFzRWFnZXJTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgdXBkYXRlLmVhZ2VyU3RhdGUgPSBlYWdlclN0YXRlO1xuXG4gICAgICAgICAgaWYgKG9iamVjdElzKGVhZ2VyU3RhdGUsIGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgICAgIC8vIEZhc3QgcGF0aC4gV2UgY2FuIGJhaWwgb3V0IHdpdGhvdXQgc2NoZWR1bGluZyBSZWFjdCB0byByZS1yZW5kZXIuXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXG4gICAgICAgICAgICAvLyBpZiB0aGUgY29tcG9uZW50IHJlLXJlbmRlcnMgZm9yIGEgZGlmZmVyZW50IHJlYXNvbiBhbmQgYnkgdGhhdFxuICAgICAgICAgICAgLy8gdGltZSB0aGUgcmVkdWNlciBoYXMgY2hhbmdlZC5cbiAgICAgICAgICAgIC8vIFRPRE86IERvIHdlIHN0aWxsIG5lZWQgdG8gZW50YW5nbGUgdHJhbnNpdGlvbnMgaW4gdGhpcyBjYXNlP1xuICAgICAgICAgICAgZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlQW5kRWFnZXJseUJhaWxvdXQoZmliZXIsIHF1ZXVlLCB1cGRhdGUsIGxhbmUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsvLyBTdXBwcmVzcyB0aGUgZXJyb3IuIEl0IHdpbGwgdGhyb3cgYWdhaW4gaW4gdGhlIHJlbmRlciBwaGFzZS5cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRIb29rVXBkYXRlKGZpYmVyLCBxdWV1ZSwgdXBkYXRlLCBsYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICAgICAgZW50YW5nbGVUcmFuc2l0aW9uVXBkYXRlKHJvb3QsIHF1ZXVlLCBsYW5lKTtcbiAgICB9XG4gIH1cblxuICBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcbiAgcmV0dXJuIGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDE7XG59XG5cbmZ1bmN0aW9uIGVucXVldWVSZW5kZXJQaGFzZVVwZGF0ZShxdWV1ZSwgdXBkYXRlKSB7XG4gIC8vIFRoaXMgaXMgYSByZW5kZXIgcGhhc2UgdXBkYXRlLiBTdGFzaCBpdCBpbiBhIGxhemlseS1jcmVhdGVkIG1hcCBvZlxuICAvLyBxdWV1ZSAtPiBsaW5rZWQgbGlzdCBvZiB1cGRhdGVzLiBBZnRlciB0aGlzIHJlbmRlciBwYXNzLCB3ZSdsbCByZXN0YXJ0XG4gIC8vIGFuZCBhcHBseSB0aGUgc3Rhc2hlZCB1cGRhdGVzIG9uIHRvcCBvZiB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlRHVyaW5nVGhpc1Bhc3MgPSBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gdHJ1ZTtcbiAgdmFyIHBlbmRpbmcgPSBxdWV1ZS5wZW5kaW5nO1xuXG4gIGlmIChwZW5kaW5nID09PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlLiBDcmVhdGUgYSBjaXJjdWxhciBsaXN0LlxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5uZXh0ID0gcGVuZGluZy5uZXh0O1xuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcbiAgfVxuXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XG59IC8vIFRPRE86IE1vdmUgdG8gUmVhY3RGaWJlckNvbmN1cnJlbnRVcGRhdGVzP1xuXG5cbmZ1bmN0aW9uIGVudGFuZ2xlVHJhbnNpdGlvblVwZGF0ZShyb290LCBxdWV1ZSwgbGFuZSkge1xuICBpZiAoaXNUcmFuc2l0aW9uTGFuZShsYW5lKSkge1xuICAgIHZhciBxdWV1ZUxhbmVzID0gcXVldWUubGFuZXM7IC8vIElmIGFueSBlbnRhbmdsZWQgbGFuZXMgYXJlIG5vIGxvbmdlciBwZW5kaW5nIG9uIHRoZSByb290LCB0aGVuIHRoZXlcbiAgICAvLyBtdXN0IGhhdmUgZmluaXNoZWQuIFdlIGNhbiByZW1vdmUgdGhlbSBmcm9tIHRoZSBzaGFyZWQgcXVldWUsIHdoaWNoXG4gICAgLy8gcmVwcmVzZW50cyBhIHN1cGVyc2V0IG9mIHRoZSBhY3R1YWxseSBwZW5kaW5nIGxhbmVzLiBJbiBzb21lIGNhc2VzIHdlXG4gICAgLy8gbWF5IGVudGFuZ2xlIG1vcmUgdGhhbiB3ZSBuZWVkIHRvLCBidXQgdGhhdCdzIE9LLiBJbiBmYWN0IGl0J3Mgd29yc2UgaWZcbiAgICAvLyB3ZSAqZG9uJ3QqIGVudGFuZ2xlIHdoZW4gd2Ugc2hvdWxkLlxuXG4gICAgcXVldWVMYW5lcyA9IGludGVyc2VjdExhbmVzKHF1ZXVlTGFuZXMsIHJvb3QucGVuZGluZ0xhbmVzKTsgLy8gRW50YW5nbGUgdGhlIG5ldyB0cmFuc2l0aW9uIGxhbmUgd2l0aCB0aGUgb3RoZXIgdHJhbnNpdGlvbiBsYW5lcy5cblxuICAgIHZhciBuZXdRdWV1ZUxhbmVzID0gbWVyZ2VMYW5lcyhxdWV1ZUxhbmVzLCBsYW5lKTtcbiAgICBxdWV1ZS5sYW5lcyA9IG5ld1F1ZXVlTGFuZXM7IC8vIEV2ZW4gaWYgcXVldWUubGFuZXMgYWxyZWFkeSBpbmNsdWRlIGxhbmUsIHdlIGRvbid0IGtub3cgZm9yIGNlcnRhaW4gaWZcbiAgICAvLyB0aGUgbGFuZSBmaW5pc2hlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIGVudGFuZ2xlZCBpdC4gU28gd2UgbmVlZCB0b1xuICAgIC8vIGVudGFuZ2xlIGl0IGFnYWluLCBqdXN0IHRvIGJlIHN1cmUuXG5cbiAgICBtYXJrUm9vdEVudGFuZ2xlZChyb290LCBuZXdRdWV1ZUxhbmVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrVXBkYXRlSW5EZXZUb29scyhmaWJlciwgbGFuZSwgYWN0aW9uKSB7XG5cbiAge1xuICAgIG1hcmtTdGF0ZVVwZGF0ZVNjaGVkdWxlZChmaWJlciwgbGFuZSk7XG4gIH1cbn1cblxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcbiAgcmVhZENvbnRleHQ6IHJlYWRDb250ZXh0LFxuICB1c2VDYWxsYmFjazogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VDb250ZXh0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUluc2VydGlvbkVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VMYXlvdXRFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VSZWR1Y2VyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVJlZjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWJ1Z1ZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZURlZmVycmVkVmFsdWU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlVHJhbnNpdGlvbjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VNdXRhYmxlU291cmNlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZUlkOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxufTtcblxudmFyIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0gbnVsbDtcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XG5cbntcbiAgdmFyIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gJyArICdJbiBjbGFzc2VzLCB5b3UgY2FuIHJlYWQgaXQgaW4gdGhlIHJlbmRlciBtZXRob2Qgb3IgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiAnICsgJ0luIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCAnICsgJ2luc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuJyk7XG4gIH07XG5cbiAgdmFyIHdhcm5JbnZhbGlkSG9va0FjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3J1bGVzLW9mLWhvb2tzJyk7XG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50SW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TXV0YWJsZVNvdXJjZSgpO1xuICAgIH0sXG4gICAgdXNlU3luY0V4dGVybmFsU3RvcmU6IGZ1bmN0aW9uIChzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3luY0V4dGVybmFsU3RvcmUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50U3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW5zZXJ0aW9uRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCk7XG4gICAgfSxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcygpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbnNlcnRpb25FZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUluc2VydGlvbkVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbnNlcnRpb25FZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xuICAgIH0sXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICB1c2VNdXRhYmxlU291cmNlOiBmdW5jdGlvbiAoc291cmNlLCBnZXRTbmFwc2hvdCwgc3Vic2NyaWJlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNdXRhYmxlU291cmNlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudE11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbiAgICB9LFxuICAgIHVzZUlkOiBmdW5jdGlvbiAoKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJZCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG5cbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIHVzZU11dGFibGVTb3VyY2U6IGZ1bmN0aW9uIChzb3VyY2UsIGdldFNuYXBzaG90LCBzdWJzY3JpYmUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU11dGFibGVTb3VyY2UnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVNdXRhYmxlU291cmNlKCk7XG4gICAgfSxcbiAgICB1c2VTeW5jRXh0ZXJuYWxTdG9yZTogZnVuY3Rpb24gKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTeW5jRXh0ZXJuYWxTdG9yZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QpO1xuICAgIH0sXG4gICAgdXNlSWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUlkJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSWQoKTtcbiAgICB9LFxuICAgIHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjogZW5hYmxlTmV3UmVjb25jaWxlclxuICB9O1xuXG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0KTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUluc2VydGlvbkVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW5zZXJ0aW9uRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlckRlZmVycmVkVmFsdWUodmFsdWUpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyVHJhbnNpdGlvbigpO1xuICAgIH0sXG4gICAgdXNlTXV0YWJsZVNvdXJjZTogZnVuY3Rpb24gKHNvdXJjZSwgZ2V0U25hcHNob3QsIHN1YnNjcmliZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTXV0YWJsZVNvdXJjZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZU11dGFibGVTb3VyY2UoKTtcbiAgICB9LFxuICAgIHVzZVN5bmNFeHRlcm5hbFN0b3JlOiBmdW5jdGlvbiAoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN5bmNFeHRlcm5hbFN0b3JlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCk7XG4gICAgfSxcbiAgICB1c2VJZDogZnVuY3Rpb24gKCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSWQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJZCgpO1xuICAgIH0sXG4gICAgdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiBlbmFibGVOZXdSZWNvbmNpbGVyXG4gIH07XG59XG5cbnZhciBub3ckMSA9IFNjaGVkdWxlci51bnN0YWJsZV9ub3c7XG52YXIgY29tbWl0VGltZSA9IDA7XG52YXIgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7XG52YXIgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbnZhciBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lID0gLTE7XG4vKipcbiAqIFRyYWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVwZGF0ZSB3YXMgYSBuZXN0ZWQvY2FzY2FkaW5nIHVwZGF0ZSAoc2NoZWR1bGVkIGZyb20gYSBsYXlvdXQgZWZmZWN0KS5cbiAqXG4gKiBUaGUgb3ZlcmFsbCBzZXF1ZW5jZSBpczpcbiAqICAgMS4gcmVuZGVyXG4gKiAgIDIuIGNvbW1pdCAoYW5kIGNhbGwgYG9uUmVuZGVyYCwgYG9uQ29tbWl0YClcbiAqICAgMy4gY2hlY2sgZm9yIG5lc3RlZCB1cGRhdGVzXG4gKiAgIDQuIGZsdXNoIHBhc3NpdmUgZWZmZWN0cyAoYW5kIGNhbGwgYG9uUG9zdENvbW1pdGApXG4gKlxuICogTmVzdGVkIHVwZGF0ZXMgYXJlIGlkZW50aWZpZWQgaW4gc3RlcCAzIGFib3ZlLFxuICogYnV0IHN0ZXAgNCBzdGlsbCBhcHBsaWVzIHRvIHRoZSB3b3JrIHRoYXQgd2FzIGp1c3QgY29tbWl0dGVkLlxuICogV2UgdXNlIHR3byBmbGFncyB0byB0cmFjayBuZXN0ZWQgdXBkYXRlcyB0aGVuOlxuICogb25lIHRyYWNrcyB3aGV0aGVyIHRoZSB1cGNvbWluZyB1cGRhdGUgaXMgYSBuZXN0ZWQgdXBkYXRlLFxuICogYW5kIHRoZSBvdGhlciB0cmFja3Mgd2hldGhlciB0aGUgY3VycmVudCB1cGRhdGUgd2FzIGEgbmVzdGVkIHVwZGF0ZS5cbiAqIFRoZSBmaXJzdCB2YWx1ZSBnZXRzIHN5bmNlZCB0byB0aGUgc2Vjb25kIGF0IHRoZSBzdGFydCBvZiB0aGUgcmVuZGVyIHBoYXNlLlxuICovXG5cbnZhciBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbnZhciBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gaXNDdXJyZW50VXBkYXRlTmVzdGVkKCkge1xuICByZXR1cm4gY3VycmVudFVwZGF0ZUlzTmVzdGVkO1xufVxuXG5mdW5jdGlvbiBtYXJrTmVzdGVkVXBkYXRlU2NoZWR1bGVkKCkge1xuICB7XG4gICAgbmVzdGVkVXBkYXRlU2NoZWR1bGVkID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNldE5lc3RlZFVwZGF0ZUZsYWcoKSB7XG4gIHtcbiAgICBjdXJyZW50VXBkYXRlSXNOZXN0ZWQgPSBmYWxzZTtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzeW5jTmVzdGVkVXBkYXRlRmxhZygpIHtcbiAge1xuICAgIGN1cnJlbnRVcGRhdGVJc05lc3RlZCA9IG5lc3RlZFVwZGF0ZVNjaGVkdWxlZDtcbiAgICBuZXN0ZWRVcGRhdGVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDb21taXRUaW1lKCkge1xuICByZXR1cm4gY29tbWl0VGltZTtcbn1cblxuZnVuY3Rpb24gcmVjb3JkQ29tbWl0VGltZSgpIHtcblxuICBjb21taXRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQcm9maWxlclRpbWVyKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3ckMSgpO1xuXG4gIGlmIChmaWJlci5hY3R1YWxTdGFydFRpbWUgPCAwKSB7XG4gICAgZmliZXIuYWN0dWFsU3RhcnRUaW1lID0gbm93JDEoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZyhmaWJlcikge1xuXG4gIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XG59XG5cbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoZmliZXIsIG92ZXJyaWRlQmFzZVRpbWUpIHtcblxuICBpZiAocHJvZmlsZXJTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwcm9maWxlclN0YXJ0VGltZTtcbiAgICBmaWJlci5hY3R1YWxEdXJhdGlvbiArPSBlbGFwc2VkVGltZTtcblxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XG4gICAgICBmaWJlci5zZWxmQmFzZUR1cmF0aW9uID0gZWxhcHNlZFRpbWU7XG4gICAgfVxuXG4gICAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaWJlcikge1xuXG4gIGlmIChsYXlvdXRFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBsYXlvdXRFZmZlY3RTdGFydFRpbWU7XG4gICAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gLTE7IC8vIFN0b3JlIGR1cmF0aW9uIG9uIHRoZSBuZXh0IG5lYXJlc3QgUHJvZmlsZXIgYW5jZXN0b3JcbiAgICAvLyBPciB0aGUgcm9vdCAoZm9yIHRoZSBEZXZUb29scyBQcm9maWxlciB0byByZWFkKVxuXG4gICAgdmFyIHBhcmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xuXG4gICAgd2hpbGUgKHBhcmVudEZpYmVyICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgIHZhciByb290ID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgIHJvb3QuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRGaWJlciA9IHBhcmVudEZpYmVyLnJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGZpYmVyKSB7XG5cbiAgaWYgKHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPj0gMCkge1xuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwYXNzaXZlRWZmZWN0U3RhcnRUaW1lO1xuICAgIHBhc3NpdmVFZmZlY3RTdGFydFRpbWUgPSAtMTsgLy8gU3RvcmUgZHVyYXRpb24gb24gdGhlIG5leHQgbmVhcmVzdCBQcm9maWxlciBhbmNlc3RvclxuICAgIC8vIE9yIHRoZSByb290IChmb3IgdGhlIERldlRvb2xzIFByb2ZpbGVyIHRvIHJlYWQpXG5cbiAgICB2YXIgcGFyZW50RmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm9vdC5wYXNzaXZlRWZmZWN0RHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmIChwYXJlbnRTdGF0ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIERldGFjaGVkIGZpYmVycyBoYXZlIHRoZWlyIHN0YXRlIG5vZGUgY2xlYXJlZCBvdXQuXG4gICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSByZXR1cm4gcG9pbnRlciBpcyBhbHNvIGNsZWFyZWQgb3V0LFxuICAgICAgICAgICAgLy8gc28gd2Ugd29uJ3QgYmUgYWJsZSB0byByZXBvcnQgdGhlIHRpbWUgc3BlbnQgaW4gdGhpcyBQcm9maWxlcidzIHN1YnRyZWUuXG4gICAgICAgICAgICBwYXJlbnRTdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKSB7XG5cbiAgbGF5b3V0RWZmZWN0U3RhcnRUaW1lID0gbm93JDEoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRQYXNzaXZlRWZmZWN0VGltZXIoKSB7XG5cbiAgcGFzc2l2ZUVmZmVjdFN0YXJ0VGltZSA9IG5vdyQxKCk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24oZmliZXIpIHtcbiAgLy8gVHJhbnNmZXIgdGltZSBzcGVudCByZW5kZXJpbmcgdGhlc2UgY2hpbGRyZW4gc28gd2UgZG9uJ3QgbG9zZSBpdFxuICAvLyBhZnRlciB3ZSByZXJlbmRlci4gVGhpcyBpcyB1c2VkIGFzIGEgaGVscGVyIGluIHNwZWNpYWwgY2FzZXNcbiAgLy8gd2hlcmUgd2Ugc2hvdWxkIGNvdW50IHRoZSB3b3JrIG9mIG11bHRpcGxlIHBhc3Nlcy5cbiAgdmFyIGNoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkKSB7XG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XG4gICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2UpIHtcbiAgLy8gSWYgdGhlIHZhbHVlIGlzIGFuIGVycm9yLCBjYWxsIHRoaXMgZnVuY3Rpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgdGhyb3duXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgc291cmNlOiBzb3VyY2UsXG4gICAgc3RhY2s6IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpLFxuICAgIGRpZ2VzdDogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgZGlnZXN0LCBzdGFjaykge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBzb3VyY2U6IG51bGwsXG4gICAgc3RhY2s6IHN0YWNrICE9IG51bGwgPyBzdGFjayA6IG51bGwsXG4gICAgZGlnZXN0OiBkaWdlc3QgIT0gbnVsbCA/IGRpZ2VzdCA6IG51bGxcbiAgfTtcbn1cblxuLy8gVGhpcyBtb2R1bGUgaXMgZm9ya2VkIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4vLyBCeSBkZWZhdWx0LCByZXR1cm4gYHRydWVgIHRvIGxvZyBlcnJvcnMgdG8gdGhlIGNvbnNvbGUuXG4vLyBGb3JrcyBjYW4gcmV0dXJuIGBmYWxzZWAgaWYgdGhpcyBpc24ndCBkZXNpcmFibGUuXG5mdW5jdGlvbiBzaG93RXJyb3JEaWFsb2coYm91bmRhcnksIGVycm9ySW5mbykge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihib3VuZGFyeSwgZXJyb3JJbmZvKSB7XG4gIHRyeSB7XG4gICAgdmFyIGxvZ0Vycm9yID0gc2hvd0Vycm9yRGlhbG9nKGJvdW5kYXJ5LCBlcnJvckluZm8pOyAvLyBBbGxvdyBpbmplY3RlZCBzaG93RXJyb3JEaWFsb2coKSB0byBwcmV2ZW50IGRlZmF1bHQgY29uc29sZS5lcnJvciBsb2dnaW5nLlxuICAgIC8vIFRoaXMgZW5hYmxlcyByZW5kZXJlcnMgbGlrZSBSZWFjdE5hdGl2ZSB0byBiZXR0ZXIgbWFuYWdlIHJlZGJveCBiZWhhdmlvci5cblxuICAgIGlmIChsb2dFcnJvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZXJyb3IgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgICBpZiAodHJ1ZSkge1xuICAgICAgdmFyIHNvdXJjZSA9IGVycm9ySW5mby5zb3VyY2U7XG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XG4gICAgICB2YXIgY29tcG9uZW50U3RhY2sgPSBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJyc7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXG4gICAgICAvLyBgcHJldmVudERlZmF1bHQoKWAgaW4gd2luZG93IGBlcnJvcmAgaGFuZGxlci5cbiAgICAgIC8vIFdlIHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGFzIGFuIGV4cGFuZG8gb24gdGhlIGVycm9yLlxuXG4gICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiBlcnJvci5fc3VwcHJlc3NMb2dnaW5nKSB7XG4gICAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgLy8gVGhlIGVycm9yIGlzIHJlY292ZXJhYmxlIGFuZCB3YXMgc2lsZW5jZWQuXG4gICAgICAgICAgLy8gSWdub3JlIGl0IGFuZCBkb24ndCBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG4gICAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRoZSBlcnJvciBpcyBmYXRhbC4gU2luY2UgdGhlIHNpbGVuY2luZyBtaWdodCBoYXZlXG4gICAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXG4gICAgICAgIC8vIEhvd2V2ZXIsIHRoZSBicm93c2VyIHdvdWxkIGhhdmUgc2lsZW5jZWQgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgIC8vIHNvIHdlJ2xsIHByaW50IGl0IGZpcnN0LCBhbmQgdGhlbiBwcmludCB0aGUgc3RhY2sgYWRkZW5kdW0uXG5cblxuICAgICAgICBjb25zb2xlWydlcnJvciddKGVycm9yKTsgLy8gRG9uJ3QgdHJhbnNmb3JtIHRvIG91ciB3cmFwcGVyXG4gICAgICAgIC8vIEZvciBhIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhpcyBibG9jaywgc2VlOlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxuICAgICAgfVxuXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IHNvdXJjZSA/IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoc291cmNlKSA6IG51bGw7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZU1lc3NhZ2UgPSBjb21wb25lbnROYW1lID8gXCJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxcIiArIGNvbXBvbmVudE5hbWUgKyBcIj4gY29tcG9uZW50OlwiIDogJ1RoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiBvbmUgb2YgeW91ciBSZWFjdCBjb21wb25lbnRzOic7XG4gICAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7XG5cbiAgICAgIGlmIChib3VuZGFyeS50YWcgPT09IEhvc3RSb290KSB7XG4gICAgICAgIGVycm9yQm91bmRhcnlNZXNzYWdlID0gJ0NvbnNpZGVyIGFkZGluZyBhbiBlcnJvciBib3VuZGFyeSB0byB5b3VyIHRyZWUgdG8gY3VzdG9taXplIGVycm9yIGhhbmRsaW5nIGJlaGF2aW9yLlxcbicgKyAnVmlzaXQgaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL2Vycm9yLWJvdW5kYXJpZXMgdG8gbGVhcm4gbW9yZSBhYm91dCBlcnJvciBib3VuZGFyaWVzLic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGJvdW5kYXJ5KSB8fCAnQW5vbnltb3VzJztcbiAgICAgICAgZXJyb3JCb3VuZGFyeU1lc3NhZ2UgPSBcIlJlYWN0IHdpbGwgdHJ5IHRvIHJlY3JlYXRlIHRoaXMgY29tcG9uZW50IHRyZWUgZnJvbSBzY3JhdGNoIFwiICsgKFwidXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlwiKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbWJpbmVkTWVzc2FnZSA9IGNvbXBvbmVudE5hbWVNZXNzYWdlICsgXCJcXG5cIiArIGNvbXBvbmVudFN0YWNrICsgXCJcXG5cXG5cIiArIChcIlwiICsgZXJyb3JCb3VuZGFyeU1lc3NhZ2UpOyAvLyBJbiBkZXZlbG9wbWVudCwgd2UgcHJvdmlkZSBvdXIgb3duIG1lc3NhZ2Ugd2l0aCBqdXN0IHRoZSBjb21wb25lbnQgc3RhY2suXG4gICAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBlcnJvciBtZXNzYWdlIGFuZCBKUyBzdGFjayBiZWNhdXNlIHRoZSBicm93c2VyXG4gICAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXG4gICAgICAvLyBkaXNwbGF5ZWQgYnkgdGhlIGJyb3dzZXIgdGhhbmtzIHRvIHRoZSBERVYtb25seSBmYWtlIGV2ZW50IHRyaWNrIGluIFJlYWN0RXJyb3JVdGlscy5cblxuICAgICAgY29uc29sZVsnZXJyb3InXShjb21iaW5lZE1lc3NhZ2UpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgd2UgcHJpbnQgdGhlIGVycm9yIGRpcmVjdGx5LlxuICAgICAgLy8gVGhpcyB3aWxsIGluY2x1ZGUgdGhlIG1lc3NhZ2UsIHRoZSBKUyBzdGFjaywgYW5kIGFueXRoaW5nIHRoZSBicm93c2VyIHdhbnRzIHRvIHNob3cuXG4gICAgICAvLyBXZSBwYXNzIHRoZSBlcnJvciBvYmplY3QgaW5zdGVhZCBvZiBjdXN0b20gbWVzc2FnZSBzbyB0aGF0IHRoZSBicm93c2VyIGRpc3BsYXlzIHRoZSBlcnJvciBuYXRpdmVseS5cbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IG5vdCB0aHJvdywgb3IgUmVhY3QgaW50ZXJuYWwgc3RhdGUgd2lsbCBnZXQgbWVzc2VkIHVwLlxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxuICAgIC8vIHdlIHdhbnQgdG8gcmVwb3J0IHRoaXMgZXJyb3Igb3V0c2lkZSBvZiB0aGUgbm9ybWFsIHN0YWNrIGFzIGEgbGFzdCByZXNvcnQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzE4OFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgUG9zc2libHlXZWFrTWFwJDEgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBsYW5lKSB7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIGxhbmUpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxuXG4gIHVwZGF0ZS50YWcgPSBDYXB0dXJlVXBkYXRlOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB1cGRhdGUucGF5bG9hZCA9IHtcbiAgICBlbGVtZW50OiBudWxsXG4gIH07XG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcblxuICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcbiAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgbGFuZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKE5vVGltZXN0YW1wLCBsYW5lKTtcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xuXG4gICAgdXBkYXRlLnBheWxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yJDEpO1xuICAgIH07XG5cbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB7XG4gICAgICAgIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgbG9nQ2FwdHVyZWRFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcbiAgICB9O1xuICB9XG5cbiAgdmFyIGluc3QgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgaWYgKGluc3QgIT09IG51bGwgJiYgdHlwZW9mIGluc3QuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjaygpIHtcbiAgICAgIHtcbiAgICAgICAgbWFya0ZhaWxlZEVycm9yQm91bmRhcnlGb3JIb3RSZWxvYWRpbmcoZmliZXIpO1xuICAgICAgfVxuXG4gICAgICBsb2dDYXB0dXJlZEVycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuXG4gICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUbyBwcmVzZXJ2ZSB0aGUgcHJlZXhpc3RpbmcgcmV0cnkgYmVoYXZpb3Igb2YgZXJyb3IgYm91bmRhcmllcyxcbiAgICAgICAgLy8gd2Uga2VlcCB0cmFjayBvZiB3aGljaCBvbmVzIGFscmVhZHkgZmFpbGVkIGR1cmluZyB0aGlzIGJhdGNoLlxuICAgICAgICAvLyBUaGlzIGdldHMgcmVzZXQgYmVmb3JlIHdlIHlpZWxkIGJhY2sgdG8gdGhlIGJyb3dzZXIuXG4gICAgICAgIC8vIFRPRE86IFdhcm4gaW4gc3RyaWN0IG1vZGUgaWYgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzXG4gICAgICAgIC8vIG5vdCBkZWZpbmVkLlxuICAgICAgICBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcbiAgICAgIHZhciBzdGFjayA9IGVycm9ySW5mby5zdGFjaztcbiAgICAgIHRoaXMuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IkMSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXG4gICAgICB9KTtcblxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIElmIGNvbXBvbmVudERpZENhdGNoIGlzIHRoZSBvbmx5IGVycm9yIGJvdW5kYXJ5IG1ldGhvZCBkZWZpbmVkLFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxuICAgICAgICAgIC8vIElmIG5vIHN0YXRlIHVwZGF0ZSBpcyBzY2hlZHVsZWQgdGhlbiB0aGUgYm91bmRhcnkgd2lsbCBzd2FsbG93IHRoZSBlcnJvci5cbiAgICAgICAgICBpZiAoIWluY2x1ZGVzU29tZUxhbmUoZmliZXIubGFuZXMsIFN5bmNMYW5lKSkge1xuICAgICAgICAgICAgZXJyb3IoJyVzOiBFcnJvciBib3VuZGFyaWVzIHNob3VsZCBpbXBsZW1lbnQgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkuICcgKyAnSW4gdGhhdCBtZXRob2QsIHJldHVybiBhIHN0YXRlIHVwZGF0ZSB0byBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugb3IgZmFsbGJhY2sgVUkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaWJlcikgfHwgJ1Vua25vd24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBBdHRhY2ggYSBwaW5nIGxpc3RlbmVyXG4gIC8vXG4gIC8vIFRoZSBkYXRhIG1pZ2h0IHJlc29sdmUgYmVmb3JlIHdlIGhhdmUgYSBjaGFuY2UgdG8gY29tbWl0IHRoZSBmYWxsYmFjay4gT3IsXG4gIC8vIGluIHRoZSBjYXNlIG9mIGEgcmVmcmVzaCwgd2UnbGwgbmV2ZXIgY29tbWl0IGEgZmFsbGJhY2suIFNvIHdlIG5lZWQgdG9cbiAgLy8gYXR0YWNoIGEgbGlzdGVuZXIgbm93LiBXaGVuIGl0IHJlc29sdmVzIChcInBpbmdzXCIpLCB3ZSBjYW4gZGVjaWRlIHdoZXRoZXIgdG9cbiAgLy8gdHJ5IHJlbmRlcmluZyB0aGUgdHJlZSBhZ2Fpbi5cbiAgLy9cbiAgLy8gT25seSBhdHRhY2ggYSBsaXN0ZW5lciBpZiBvbmUgZG9lcyBub3QgYWxyZWFkeSBleGlzdCBmb3IgdGhlIGxhbmVzXG4gIC8vIHdlJ3JlIGN1cnJlbnRseSByZW5kZXJpbmcgKHdoaWNoIGFjdHMgbGlrZSBhIFwidGhyZWFkIElEXCIgaGVyZSkuXG4gIC8vXG4gIC8vIFdlIG9ubHkgbmVlZCB0byBkbyB0aGlzIGluIGNvbmN1cnJlbnQgbW9kZS4gTGVnYWN5IFN1c3BlbnNlIGFsd2F5c1xuICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcbiAgdmFyIHRocmVhZElEcztcblxuICBpZiAocGluZ0NhY2hlID09PSBudWxsKSB7XG4gICAgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwJDEoKTtcbiAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XG4gICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJlYWRJRHMgPSBwaW5nQ2FjaGUuZ2V0KHdha2VhYmxlKTtcblxuICAgIGlmICh0aHJlYWRJRHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyZWFkSURzID0gbmV3IFNldCgpO1xuICAgICAgcGluZ0NhY2hlLnNldCh3YWtlYWJsZSwgdGhyZWFkSURzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXRocmVhZElEcy5oYXMobGFuZXMpKSB7XG4gICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgdGhyZWFkIElEIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cbiAgICB0aHJlYWRJRHMuYWRkKGxhbmVzKTtcbiAgICB2YXIgcGluZyA9IHBpbmdTdXNwZW5kZWRSb290LmJpbmQobnVsbCwgcm9vdCwgd2FrZWFibGUsIGxhbmVzKTtcblxuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlIHBlbmRpbmcgd29yayBzdGlsbCwgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnNcbiAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCBsYW5lcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2FrZWFibGUudGhlbihwaW5nLCBwaW5nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhdHRhY2hSZXRyeUxpc3RlbmVyKHN1c3BlbnNlQm91bmRhcnksIHJvb3QsIHdha2VhYmxlLCBsYW5lcykge1xuICAvLyBSZXRyeSBsaXN0ZW5lclxuICAvL1xuICAvLyBJZiB0aGUgZmFsbGJhY2sgZG9lcyBjb21taXQsIHdlIG5lZWQgdG8gYXR0YWNoIGEgZGlmZmVyZW50IHR5cGUgb2ZcbiAgLy8gbGlzdGVuZXIuIFRoaXMgb25lIHNjaGVkdWxlcyBhbiB1cGRhdGUgb24gdGhlIFN1c3BlbnNlIGJvdW5kYXJ5IHRvIHR1cm5cbiAgLy8gdGhlIGZhbGxiYWNrIHN0YXRlIG9mZi5cbiAgLy9cbiAgLy8gU3Rhc2ggdGhlIHdha2VhYmxlIG9uIHRoZSBib3VuZGFyeSBmaWJlciBzbyB3ZSBjYW4gYWNjZXNzIGl0IGluIHRoZVxuICAvLyBjb21taXQgcGhhc2UuXG4gIC8vXG4gIC8vIFdoZW4gdGhlIHdha2VhYmxlIHJlc29sdmVzLCB3ZSdsbCBhdHRlbXB0IHRvIHJlbmRlciB0aGUgYm91bmRhcnlcbiAgLy8gYWdhaW4gKFwicmV0cnlcIikuXG4gIHZhciB3YWtlYWJsZXMgPSBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlO1xuXG4gIGlmICh3YWtlYWJsZXMgPT09IG51bGwpIHtcbiAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XG4gICAgdXBkYXRlUXVldWUuYWRkKHdha2VhYmxlKTtcbiAgICBzdXNwZW5zZUJvdW5kYXJ5LnVwZGF0ZVF1ZXVlID0gdXBkYXRlUXVldWU7XG4gIH0gZWxzZSB7XG4gICAgd2FrZWFibGVzLmFkZCh3YWtlYWJsZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDb21wb25lbnQoc291cmNlRmliZXIsIHJvb3RSZW5kZXJMYW5lcykge1xuICAvLyBBIGxlZ2FjeSBtb2RlIFN1c3BlbnNlIHF1aXJrLCBvbmx5IHJlbGV2YW50IHRvIGhvb2sgY29tcG9uZW50cy5cblxuXG4gIHZhciB0YWcgPSBzb3VyY2VGaWJlci50YWc7XG5cbiAgaWYgKChzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUgJiYgKHRhZyA9PT0gRnVuY3Rpb25Db21wb25lbnQgfHwgdGFnID09PSBGb3J3YXJkUmVmIHx8IHRhZyA9PT0gU2ltcGxlTWVtb0NvbXBvbmVudCkpIHtcbiAgICB2YXIgY3VycmVudFNvdXJjZSA9IHNvdXJjZUZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50U291cmNlKSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gY3VycmVudFNvdXJjZS5tZW1vaXplZFN0YXRlO1xuICAgICAgc291cmNlRmliZXIubGFuZXMgPSBjdXJyZW50U291cmNlLmxhbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpIHtcbiAgdmFyIG5vZGUgPSByZXR1cm5GaWJlcjtcblxuICBkbyB7XG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCAmJiBzaG91bGRDYXB0dXJlU3VzcGVuc2Uobm9kZSkpIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0gLy8gVGhpcyBib3VuZGFyeSBhbHJlYWR5IGNhcHR1cmVkIGR1cmluZyB0aGlzIHJlbmRlci4gQ29udGludWUgdG8gdGhlIG5leHRcbiAgICAvLyBib3VuZGFyeS5cblxuXG4gICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICB9IHdoaWxlIChub2RlICE9PSBudWxsKTtcblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgbWFya3MgYSBTdXNwZW5zZSBib3VuZGFyeSBzbyB0aGF0IHdoZW4gd2UncmUgdW53aW5kaW5nIHRoZSBzdGFjayxcbiAgLy8gaXQgY2FwdHVyZXMgdGhlIHN1c3BlbmRlZCBcImV4Y2VwdGlvblwiIGFuZCBkb2VzIGEgc2Vjb25kIChmYWxsYmFjaykgcGFzcy5cbiAgaWYgKChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIC8vIExlZ2FjeSBNb2RlIFN1c3BlbnNlXG4gICAgLy9cbiAgICAvLyBJZiB0aGUgYm91bmRhcnkgaXMgaW4gbGVnYWN5IG1vZGUsIHdlIHNob3VsZCAqbm90KlxuICAgIC8vIHN1c3BlbmQgdGhlIGNvbW1pdC4gUHJldGVuZCBhcyBpZiB0aGUgc3VzcGVuZGVkIGNvbXBvbmVudCByZW5kZXJlZFxuICAgIC8vIG51bGwgYW5kIGtlZXAgcmVuZGVyaW5nLiBXaGVuIHRoZSBTdXNwZW5zZSBib3VuZGFyeSBjb21wbGV0ZXMsXG4gICAgLy8gd2UnbGwgZG8gYSBzZWNvbmQgcGFzcyB0byByZW5kZXIgdGhlIGZhbGxiYWNrLlxuICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5ID09PSByZXR1cm5GaWJlcikge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlIHdoZXJlIHdlIHN1c3BlbmRlZCB3aGlsZSByZWNvbmNpbGluZyB0aGUgY2hpbGRyZW4gb2ZcbiAgICAgIC8vIGEgU3VzcGVuc2UgYm91bmRhcnkncyBpbm5lciBPZmZzY3JlZW4gd3JhcHBlciBmaWJlci4gVGhpcyBoYXBwZW5zXG4gICAgICAvLyB3aGVuIGEgUmVhY3QubGF6eSBjb21wb25lbnQgaXMgYSBkaXJlY3QgY2hpbGQgb2YgYVxuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnkuXG4gICAgICAvL1xuICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcmllcyBhcmUgaW1wbGVtZW50ZWQgYXMgbXVsdGlwbGUgZmliZXJzLCBidXQgdGhleVxuICAgICAgLy8gYXJlIGEgc2luZ2xlIGNvbmNlcHR1YWwgdW5pdC4gVGhlIGxlZ2FjeSBtb2RlIGJlaGF2aW9yIHdoZXJlIHdlXG4gICAgICAvLyBwcmV0ZW5kIHRoZSBzdXNwZW5kZWQgZmliZXIgY29tbWl0dGVkIGFzIGBudWxsYCB3b24ndCB3b3JrLFxuICAgICAgLy8gYmVjYXVzZSBpbiB0aGlzIGNhc2UgdGhlIFwic3VzcGVuZGVkXCIgZmliZXIgaXMgdGhlIGlubmVyXG4gICAgICAvLyBPZmZzY3JlZW4gd3JhcHBlci5cbiAgICAgIC8vXG4gICAgICAvLyBCZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgYm91bmRhcnkgaGF2ZW4ndCBzdGFydGVkIHJlbmRlcmluZ1xuICAgICAgLy8geWV0IChpLmUuIG5vdGhpbmcgaW4gdGhlIHRyZWUgaGFzIHBhcnRpYWxseSByZW5kZXJlZCkgd2UgY2FuXG4gICAgICAvLyBzd2l0Y2ggdG8gdGhlIHJlZ3VsYXIsIGNvbmN1cnJlbnQgbW9kZSBiZWhhdmlvcjogbWFyayB0aGVcbiAgICAgIC8vIGJvdW5kYXJ5IHdpdGggU2hvdWxkQ2FwdHVyZSBhbmQgZW50ZXIgdGhlIHVud2luZCBwaGFzZS5cbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgfD0gU2hvdWxkQ2FwdHVyZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgc291cmNlRmliZXIuZmxhZ3MgfD0gRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZTsgLy8gV2UncmUgZ29pbmcgdG8gY29tbWl0IHRoaXMgZmliZXIgZXZlbiB0aG91Z2ggaXQgZGlkbid0IGNvbXBsZXRlLlxuICAgICAgLy8gQnV0IHdlIHNob3VsZG4ndCBjYWxsIGFueSBsaWZlY3ljbGUgbWV0aG9kcyBvciBjYWxsYmFja3MuIFJlbW92ZVxuICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cblxuICAgICAgc291cmNlRmliZXIuZmxhZ3MgJj0gfihMaWZlY3ljbGVFZmZlY3RNYXNrIHwgSW5jb21wbGV0ZSk7XG5cbiAgICAgIGlmIChzb3VyY2VGaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgIHZhciBjdXJyZW50U291cmNlRmliZXIgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTb3VyY2VGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQuIENoYW5nZSB0aGUgdGFnIHNvIGl0J3Mgbm90IG1pc3Rha2VuIGZvciBhXG4gICAgICAgICAgLy8gY29tcGxldGVkIGNsYXNzIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIHdlIHNob3VsZCBub3QgY2FsbFxuICAgICAgICAgIC8vIGNvbXBvbmVudFdpbGxVbm1vdW50IGlmIGl0IGlzIGRlbGV0ZWQuXG4gICAgICAgICAgc291cmNlRmliZXIudGFnID0gSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFdoZW4gd2UgdHJ5IHJlbmRlcmluZyBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCByZXVzZSB0aGUgY3VycmVudCBmaWJlcixcbiAgICAgICAgICAvLyBzaW5jZSBpdCdzIGtub3duIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gVXNlIGEgZm9yY2UgdXBkYXRlIHRvXG4gICAgICAgICAgLy8gcHJldmVudCBhIGJhaWwgb3V0LlxuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoTm9UaW1lc3RhbXAsIFN5bmNMYW5lKTtcbiAgICAgICAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XG4gICAgICAgICAgZW5xdWV1ZVVwZGF0ZShzb3VyY2VGaWJlciwgdXBkYXRlLCBTeW5jTGFuZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLiBNYXJrIGl0IHdpdGggU3luYyBwcmlvcml0eSB0b1xuICAgICAgLy8gaW5kaWNhdGUgdGhhdCBpdCBzdGlsbCBoYXMgcGVuZGluZyB3b3JrLlxuXG5cbiAgICAgIHNvdXJjZUZpYmVyLmxhbmVzID0gbWVyZ2VMYW5lcyhzb3VyY2VGaWJlci5sYW5lcywgU3luY0xhbmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xuICB9IC8vIENvbmZpcm1lZCB0aGF0IHRoZSBib3VuZGFyeSBpcyBpbiBhIGNvbmN1cnJlbnQgbW9kZSB0cmVlLiBDb250aW51ZVxuICAvLyB3aXRoIHRoZSBub3JtYWwgc3VzcGVuZCBwYXRoLlxuICAvL1xuICAvLyBBZnRlciB0aGlzIHdlJ2xsIHVzZSBhIHNldCBvZiBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXNcbiAgLy8gcmVuZGVyIHBhc3Mgd2lsbCBydW4gdG8gY29tcGxldGlvbiBvciByZXN0YXJ0IG9yIFwic3VzcGVuZFwiIHRoZSBjb21taXQuXG4gIC8vIFRoZSBhY3R1YWwgbG9naWMgZm9yIHRoaXMgaXMgc3ByZWFkIG91dCBpbiBkaWZmZXJlbnQgcGxhY2VzLlxuICAvL1xuICAvLyBUaGlzIGZpcnN0IHByaW5jaXBsZSBpcyB0aGF0IGlmIHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2hlbiB3ZSBjb21wbGV0ZVxuICAvLyBhIHJvb3QsIHRoZW4gd2Ugc2hvdWxkIGFsc28gcmVzdGFydCBpZiB3ZSBnZXQgYW4gdXBkYXRlIG9yIHBpbmcgdGhhdFxuICAvLyBtaWdodCB1bnN1c3BlbmQgaXQsIGFuZCB2aWNlIHZlcnNhLiBUaGUgb25seSByZWFzb24gdG8gc3VzcGVuZCBpc1xuICAvLyBiZWNhdXNlIHlvdSB0aGluayB5b3UgbWlnaHQgd2FudCB0byByZXN0YXJ0IGJlZm9yZSBjb21taXR0aW5nLiBIb3dldmVyLFxuICAvLyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcmVzdGFydCBvbmx5IHdoaWxlIGluIHRoZSBwZXJpb2Qgd2UncmUgc3VzcGVuZGVkLlxuICAvL1xuICAvLyBSZXN0YXJ0aW5nIHRvbyBhZ2dyZXNzaXZlbHkgaXMgYWxzbyBub3QgZ29vZCBiZWNhdXNlIGl0IHN0YXJ2ZXMgb3V0IGFueVxuICAvLyBpbnRlcm1lZGlhdGUgbG9hZGluZyBzdGF0ZS4gU28gd2UgdXNlIGhldXJpc3RpY3MgdG8gZGV0ZXJtaW5lIHdoZW4uXG4gIC8vIFN1c3BlbnNlIEhldXJpc3RpY3NcbiAgLy9cbiAgLy8gSWYgbm90aGluZyB0aHJldyBhIFByb21pc2Ugb3IgYWxsIHRoZSBzYW1lIGZhbGxiYWNrcyBhcmUgYWxyZWFkeSBzaG93aW5nLFxuICAvLyB0aGVuIGRvbid0IHN1c3BlbmQvcmVzdGFydC5cbiAgLy9cbiAgLy8gSWYgdGhpcyBpcyBhbiBpbml0aWFsIHJlbmRlciBvZiBhIG5ldyB0cmVlIG9mIFN1c3BlbnNlIGJvdW5kYXJpZXMgYW5kXG4gIC8vIHRob3NlIHRyaWdnZXIgYSBmYWxsYmFjaywgdGhlbiBkb24ndCBzdXNwZW5kL3Jlc3RhcnQuIFdlIHdhbnQgdG8gZW5zdXJlXG4gIC8vIHRoYXQgd2UgY2FuIHNob3cgdGhlIGluaXRpYWwgbG9hZGluZyBzdGF0ZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLlxuICAvL1xuICAvLyBJZiB3ZSBoaXQgYSBcIkRlbGF5ZWRcIiBjYXNlLCBzdWNoIGFzIHdoZW4gd2UnZCBzd2l0Y2ggZnJvbSBjb250ZW50IGJhY2sgaW50b1xuICAvLyBhIGZhbGxiYWNrLCB0aGVuIHdlIHNob3VsZCBhbHdheXMgc3VzcGVuZC9yZXN0YXJ0LiBUcmFuc2l0aW9ucyBhcHBseVxuICAvLyB0byB0aGlzIGNhc2UuIElmIG5vbmUgaXMgZGVmaW5lZCwgSk5EIGlzIHVzZWQgaW5zdGVhZC5cbiAgLy9cbiAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXCJyZXRyaWVkXCIsIGFsbG93aW5nIHVzIHRvIHNob3dcbiAgLy8gYW5vdGhlciBsZXZlbCwgYnV0IHRoZXJlJ3Mgc3RpbGwgYW4gaW5uZXIgYm91bmRhcnkgdGhhdCB3b3VsZCBzaG93IGEgZmFsbGJhY2ssXG4gIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXG4gIC8vIGFueXdoZXJlIGluIHRoZSB0cmVlLiBUaGlzIGVmZmVjdGl2ZWx5IHRocm90dGxlcyBwcm9ncmVzc2l2ZSBsb2FkaW5nIGludG8gYVxuICAvLyBjb25zaXN0ZW50IHRyYWluIG9mIGNvbW1pdHMuIFRoaXMgYWxzbyBnaXZlcyB1cyBhbiBvcHBvcnR1bml0eSB0byByZXN0YXJ0IHRvXG4gIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXG4gIC8vXG4gIC8vIElmIHRoZXJlJ3MgYW1iaWd1aXR5IGR1ZSB0byBiYXRjaGluZyBpdCdzIHJlc29sdmVkIGluIHByZWZlcmVuY2Ugb2Y6XG4gIC8vIDEpIFwiZGVsYXllZFwiLCAyKSBcImluaXRpYWwgcmVuZGVyXCIsIDMpIFwicmV0cnlcIi5cbiAgLy9cbiAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBhIFwiYnVzeVwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xuICAvLyBlbnN1cmUgdGhhdCBuZXcgaW5pdGlhbCBsb2FkaW5nIHN0YXRlcyBjYW4gY29tbWl0IGFzIHNvb24gYXMgcG9zc2libGUuXG5cblxuICBzdXNwZW5zZUJvdW5kYXJ5LmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIFRPRE86IEkgdGhpbmsgd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSBub3cgdXNlIGBEaWRDYXB0dXJlYCBpblxuICAvLyB0aGUgYmVnaW4gcGhhc2UgdG8gcHJldmVudCBhbiBlYXJseSBiYWlsb3V0LlxuXG4gIHN1c3BlbnNlQm91bmRhcnkubGFuZXMgPSByb290UmVuZGVyTGFuZXM7XG4gIHJldHVybiBzdXNwZW5zZUJvdW5kYXJ5O1xufVxuXG5mdW5jdGlvbiB0aHJvd0V4Y2VwdGlvbihyb290LCByZXR1cm5GaWJlciwgc291cmNlRmliZXIsIHZhbHVlLCByb290UmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLlxuICBzb3VyY2VGaWJlci5mbGFncyB8PSBJbmNvbXBsZXRlO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIC8vIElmIHdlIGhhdmUgcGVuZGluZyB3b3JrIHN0aWxsLCByZXN0b3JlIHRoZSBvcmlnaW5hbCB1cGRhdGVyc1xuICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhyb290LCByb290UmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gVGhpcyBpcyBhIHdha2VhYmxlLiBUaGUgY29tcG9uZW50IHN1c3BlbmRlZC5cbiAgICB2YXIgd2FrZWFibGUgPSB2YWx1ZTtcbiAgICByZXNldFN1c3BlbmRlZENvbXBvbmVudChzb3VyY2VGaWJlcik7XG5cbiAgICB7XG4gICAgICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBzb3VyY2VGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgbWFya0RpZFRocm93V2hpbGVIeWRyYXRpbmdERVYoKTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIHZhciBzdXNwZW5zZUJvdW5kYXJ5ID0gZ2V0TmVhcmVzdFN1c3BlbnNlQm91bmRhcnlUb0NhcHR1cmUocmV0dXJuRmliZXIpO1xuXG4gICAgaWYgKHN1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgIHN1c3BlbnNlQm91bmRhcnkuZmxhZ3MgJj0gfkZvcmNlQ2xpZW50UmVuZGVyO1xuICAgICAgbWFya1N1c3BlbnNlQm91bmRhcnlTaG91bGRDYXB0dXJlKHN1c3BlbnNlQm91bmRhcnksIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgcm9vdCwgcm9vdFJlbmRlckxhbmVzKTsgLy8gV2Ugb25seSBhdHRhY2ggcGluZyBsaXN0ZW5lcnMgaW4gY29uY3VycmVudCBtb2RlLiBMZWdhY3kgU3VzcGVuc2UgYWx3YXlzXG4gICAgICAvLyBjb21taXRzIGZhbGxiYWNrcyBzeW5jaHJvbm91c2x5LCBzbyB0aGVyZSBhcmUgbm8gcGluZ3MuXG5cbiAgICAgIGlmIChzdXNwZW5zZUJvdW5kYXJ5Lm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICAgIGF0dGFjaFJldHJ5TGlzdGVuZXIoc3VzcGVuc2VCb3VuZGFyeSwgcm9vdCwgd2FrZWFibGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBib3VuZGFyeSB3YXMgZm91bmQuIFVubGVzcyB0aGlzIGlzIGEgc3luYyB1cGRhdGUsIHRoaXMgaXMgT0suXG4gICAgICAvLyBXZSBjYW4gc3VzcGVuZCBhbmQgd2FpdCBmb3IgbW9yZSBkYXRhIHRvIGFycml2ZS5cbiAgICAgIGlmICghaW5jbHVkZXNTeW5jTGFuZShyb290UmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgbm90IGEgc3luYyB1cGRhdGUuIFN1c3BlbmQuIFNpbmNlIHdlJ3JlIG5vdCBhY3RpdmF0aW5nIGFcbiAgICAgICAgLy8gU3VzcGVuc2UgYm91bmRhcnksIHRoaXMgd2lsbCB1bndpbmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3Qgd2l0aG91dFxuICAgICAgICAvLyBwZXJmb3JtaW5nIGEgc2Vjb25kIHBhc3MgdG8gcmVuZGVyIGEgZmFsbGJhY2suIChUaGlzIGlzIGFyZ3VhYmx5IGhvd1xuICAgICAgICAvLyByZWZyZXNoIHRyYW5zaXRpb25zIHNob3VsZCB3b3JrLCB0b28sIHNpbmNlIHdlJ3JlIG5vdCBnb2luZyB0byBjb21taXRcbiAgICAgICAgLy8gdGhlIGZhbGxiYWNrcyBhbnl3YXkuKVxuICAgICAgICAvL1xuICAgICAgICAvLyBUaGlzIGNhc2UgYWxzbyBhcHBsaWVzIHRvIGluaXRpYWwgaHlkcmF0aW9uLlxuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgd2FrZWFibGUsIHJvb3RSZW5kZXJMYW5lcyk7XG4gICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBUaGlzIGlzIGEgc3luYy9kaXNjcmV0ZSB1cGRhdGUuIFdlIHRyZWF0IHRoaXMgY2FzZSBsaWtlIGFuIGVycm9yXG4gICAgICAvLyBiZWNhdXNlIGRpc2NyZXRlIHJlbmRlcnMgYXJlIGV4cGVjdGVkIHRvIHByb2R1Y2UgYSBjb21wbGV0ZSB0cmVlXG4gICAgICAvLyBzeW5jaHJvbm91c2x5IHRvIG1haW50YWluIGNvbnNpc3RlbmN5IHdpdGggZXh0ZXJuYWwgc3RhdGUuXG5cblxuICAgICAgdmFyIHVuY2F1Z2h0U3VzcGVuc2VFcnJvciA9IG5ldyBFcnJvcignQSBjb21wb25lbnQgc3VzcGVuZGVkIHdoaWxlIHJlc3BvbmRpbmcgdG8gc3luY2hyb25vdXMgaW5wdXQuIFRoaXMgJyArICd3aWxsIGNhdXNlIHRoZSBVSSB0byBiZSByZXBsYWNlZCB3aXRoIGEgbG9hZGluZyBpbmRpY2F0b3IuIFRvICcgKyAnZml4LCB1cGRhdGVzIHRoYXQgc3VzcGVuZCBzaG91bGQgYmUgd3JhcHBlZCAnICsgJ3dpdGggc3RhcnRUcmFuc2l0aW9uLicpOyAvLyBJZiB3ZSdyZSBvdXRzaWRlIGEgdHJhbnNpdGlvbiwgZmFsbCB0aHJvdWdoIHRvIHRoZSByZWd1bGFyIGVycm9yIHBhdGguXG4gICAgICAvLyBUaGUgZXJyb3Igd2lsbCBiZSBjYXVnaHQgYnkgdGhlIG5lYXJlc3Qgc3VzcGVuc2UgYm91bmRhcnkuXG5cbiAgICAgIHZhbHVlID0gdW5jYXVnaHRTdXNwZW5zZUVycm9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBlcnJvciwgbm90IGEgU3VzcGVuc2Ugd2FrZWFibGUuXG4gICAgaWYgKGdldElzSHlkcmF0aW5nKCkgJiYgc291cmNlRmliZXIubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICBtYXJrRGlkVGhyb3dXaGlsZUh5ZHJhdGluZ0RFVigpO1xuXG4gICAgICB2YXIgX3N1c3BlbnNlQm91bmRhcnkgPSBnZXROZWFyZXN0U3VzcGVuc2VCb3VuZGFyeVRvQ2FwdHVyZShyZXR1cm5GaWJlcik7IC8vIElmIHRoZSBlcnJvciB3YXMgdGhyb3duIGR1cmluZyBoeWRyYXRpb24sIHdlIG1heSBiZSBhYmxlIHRvIHJlY292ZXIgYnlcbiAgICAgIC8vIGRpc2NhcmRpbmcgdGhlIGRlaHlkcmF0ZWQgY29udGVudCBhbmQgc3dpdGNoaW5nIHRvIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIC8vIEluc3RlYWQgb2Ygc3VyZmFjaW5nIHRoZSBlcnJvciwgZmluZCB0aGUgbmVhcmVzdCBTdXNwZW5zZSBib3VuZGFyeVxuICAgICAgLy8gYW5kIHJlbmRlciBpdCBhZ2FpbiB3aXRob3V0IGh5ZHJhdGlvbi5cblxuXG4gICAgICBpZiAoX3N1c3BlbnNlQm91bmRhcnkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKChfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyAmIFNob3VsZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCB0cnkgcmVuZGVyaW5nIHRoZSBub3JtYWxcbiAgICAgICAgICAvLyBjaGlsZHJlbiBhZ2Fpbiwgbm90IHRoZSBmYWxsYmFjay5cbiAgICAgICAgICBfc3VzcGVuc2VCb3VuZGFyeS5mbGFncyB8PSBGb3JjZUNsaWVudFJlbmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtTdXNwZW5zZUJvdW5kYXJ5U2hvdWxkQ2FwdHVyZShfc3VzcGVuc2VCb3VuZGFyeSwgcmV0dXJuRmliZXIsIHNvdXJjZUZpYmVyLCByb290LCByb290UmVuZGVyTGFuZXMpOyAvLyBFdmVuIHRob3VnaCB0aGUgdXNlciBtYXkgbm90IGJlIGFmZmVjdGVkIGJ5IHRoaXMgZXJyb3IsIHdlIHNob3VsZFxuICAgICAgICAvLyBzdGlsbCBsb2cgaXQgc28gaXQgY2FuIGJlIGZpeGVkLlxuXG4gICAgICAgIHF1ZXVlSHlkcmF0aW9uRXJyb3IoY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIodmFsdWUsIHNvdXJjZUZpYmVyKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWVBdEZpYmVyKHZhbHVlLCBzb3VyY2VGaWJlcik7XG4gIHJlbmRlckRpZEVycm9yKHZhbHVlKTsgLy8gV2UgZGlkbid0IGZpbmQgYSBib3VuZGFyeSB0aGF0IGNvdWxkIGhhbmRsZSB0aGlzIHR5cGUgb2YgZXhjZXB0aW9uLiBTdGFydFxuICAvLyBvdmVyIGFuZCB0cmF2ZXJzZSBwYXJlbnQgcGF0aCBhZ2FpbiwgdGhpcyB0aW1lIHRyZWF0aW5nIHRoZSBleGNlcHRpb25cbiAgLy8gYXMgYW4gZXJyb3IuXG5cbiAgdmFyIHdvcmtJblByb2dyZXNzID0gcmV0dXJuRmliZXI7XG5cbiAgZG8ge1xuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9lcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBTaG91bGRDYXB0dXJlO1xuICAgICAgICAgIHZhciBsYW5lID0gcGlja0FyYml0cmFyeUxhbmUocm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3MubGFuZXMsIGxhbmUpO1xuICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIGxhbmUpO1xuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgdXBkYXRlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgLy8gQ2FwdHVyZSBhbmQgcmV0cnlcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IHZhbHVlO1xuICAgICAgICB2YXIgY3RvciA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7XG5cbiAgICAgICAgICB2YXIgX2xhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyb290UmVuZGVyTGFuZXMpO1xuXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBfbGFuZSk7IC8vIFNjaGVkdWxlIHRoZSBlcnJvciBib3VuZGFyeSB0byByZS1yZW5kZXIgdXNpbmcgdXBkYXRlZCBzdGF0ZVxuXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKHdvcmtJblByb2dyZXNzLCBlcnJvckluZm8sIF9sYW5lKTtcblxuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgX3VwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3VzcGVuZGVkQ2FjaGUoKSB7XG4gIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgc3VzcGVuZHMuIEl0IHJldHVybnMgdGhlXG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dEJhZENsYXNzO1xudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xudmFyIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHM7XG52YXIgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXI7XG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XG5cbntcbiAgZGlkV2FybkFib3V0QmFkQ2xhc3MgPSB7fTtcbiAgZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZU9uRnVuY3Rpb25Db21wb25lbnQgPSB7fTtcbiAgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xuICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnMgPSB7fTtcbiAgZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcyA9IGZhbHNlO1xuICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlciA9IHt9O1xuICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9ucyA9IHt9O1xufVxuXG5mdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgaXMgYSBmcmVzaCBuZXcgY29tcG9uZW50IHRoYXQgaGFzbid0IGJlZW4gcmVuZGVyZWQgeWV0LCB3ZVxuICAgIC8vIHdvbid0IHVwZGF0ZSBpdHMgY2hpbGQgc2V0IGJ5IGFwcGx5aW5nIG1pbmltYWwgc2lkZS1lZmZlY3RzLiBJbnN0ZWFkLFxuICAgIC8vIHdlIHdpbGwgYWRkIHRoZW0gYWxsIHRvIHRoZSBjaGlsZCBiZWZvcmUgaXQgZ2V0cyByZW5kZXJlZC4gVGhhdCBtZWFuc1xuICAgIC8vIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIHJlY29uY2lsaWF0aW9uIHBhc3MgYnkgbm90IHRyYWNraW5nIHNpZGUtZWZmZWN0cy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoZSBjdXJyZW50IGNoaWxkIGlzIHRoZSBzYW1lIGFzIHRoZSB3b3JrIGluIHByb2dyZXNzLCBpdCBtZWFucyB0aGF0XG4gICAgLy8gd2UgaGF2ZW4ndCB5ZXQgc3RhcnRlZCBhbnkgd29yayBvbiB0aGVzZSBjaGlsZHJlbi4gVGhlcmVmb3JlLCB3ZSB1c2VcbiAgICAvLyB0aGUgY2xvbmUgYWxnb3JpdGhtIHRvIGNyZWF0ZSBhIGNvcHkgb2YgYWxsIHRoZSBjdXJyZW50IGNoaWxkcmVuLlxuICAgIC8vIElmIHdlIGhhZCBhbnkgcHJvZ3Jlc3NlZCB3b3JrIGFscmVhZHksIHRoYXQgaXMgaW52YWxpZCBhdCB0aGlzIHBvaW50IHNvXG4gICAgLy8gbGV0J3MgdGhyb3cgaXQgb3V0LlxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZvcmNlVW5tb3VudEN1cnJlbnRBbmRSZWNvbmNpbGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyBmb3JrIG9mIHJlY29uY2lsZUNoaWxkcmVuLiBJdCdzIHVzZWQgaW4gY2FzZXMgd2hlcmUgd2VcbiAgLy8gd2FudCB0byByZWNvbmNpbGUgd2l0aG91dCBtYXRjaGluZyBhZ2FpbnN0IHRoZSBleGlzdGluZyBzZXQuIFRoaXMgaGFzIHRoZVxuICAvLyBlZmZlY3Qgb2YgYWxsIGN1cnJlbnQgY2hpbGRyZW4gYmVpbmcgdW5tb3VudGVkOyBldmVuIGlmIHRoZSB0eXBlIGFuZCBrZXlcbiAgLy8gYXJlIHRoZSBzYW1lLCB0aGUgb2xkIGNoaWxkIGlzIHVubW91bnRlZCBhbmQgYSBuZXcgY2hpbGQgaXMgY3JlYXRlZC5cbiAgLy9cbiAgLy8gVG8gZG8gdGhpcywgd2UncmUgZ29pbmcgdG8gZ28gdGhyb3VnaCB0aGUgcmVjb25jaWxlIGFsZ29yaXRobSB0d2ljZS4gSW5cbiAgLy8gdGhlIGZpcnN0IHBhc3MsIHdlIHNjaGVkdWxlIGEgZGVsZXRpb24gZm9yIGFsbCB0aGUgY3VycmVudCBjaGlsZHJlbiBieVxuICAvLyBwYXNzaW5nIG51bGwuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gSW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBtb3VudCB0aGUgbmV3IGNoaWxkcmVuLiBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHdlXG4gIC8vIHBhc3MgbnVsbCBpbiBwbGFjZSBvZiB3aGVyZSB3ZSB1c3VhbGx5IHBhc3MgdGhlIGN1cnJlbnQgY2hpbGQgc2V0LiBUaGlzIGhhc1xuICAvLyB0aGUgZWZmZWN0IG9mIHJlbW91bnRpbmcgYWxsIGNoaWxkcmVuIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGVpclxuICAvLyBpZGVudGl0aWVzIG1hdGNoLlxuXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciBzdXNwZW5kcy5cbiAgLy8gV2UnbGwgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgZmluZSBvciBjYW4gY2F1c2UgaXNzdWVzLlxuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxuICAgICAgdmFyIGlubmVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKENvbXBvbmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciByZW5kZXIgPSBDb21wb25lbnQucmVuZGVyO1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmOyAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcblxuICB2YXIgbmV4dENoaWxkcmVuO1xuICB2YXIgaGFzSWQ7XG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlciwgbmV4dFByb3BzLCByZWYsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXIsIG5leHRQcm9wcywgcmVmLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIGhhc0lkID0gY2hlY2tEaWRSZW5kZXJJZEhvb2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgcHVzaE1hdGVyaWFsaXplZFRyZWVJZCh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHZhciB0eXBlID0gQ29tcG9uZW50LnR5cGU7XG5cbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXG4gICAgQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxuICAgICAgLy8gYW5kIHdpdGggb25seSB0aGUgZGVmYXVsdCBzaGFsbG93IGNvbXBhcmlzb24sIHdlIHVwZ3JhZGUgaXRcbiAgICAgIC8vIHRvIGEgU2ltcGxlTWVtb0NvbXBvbmVudCB0byBhbGxvdyBmYXN0IHBhdGggdXBkYXRlcy5cblxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBTaW1wbGVNZW1vQ29tcG9uZW50O1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcblxuICAgICAge1xuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAgIC8vIFdlIGNvdWxkIG1vdmUgaXQgdGhlcmUsIGJ1dCB3ZSdkIHN0aWxsIG5lZWQgdGhpcyBmb3IgbGF6eSBjb2RlIHBhdGguXG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hpbGQgPSBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHMoQ29tcG9uZW50LnR5cGUsIG51bGwsIG5leHRQcm9wcywgd29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLm1vZGUsIHJlbmRlckxhbmVzKTtcbiAgICBjaGlsZC5yZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG4gICAgY2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH1cblxuICB7XG4gICAgdmFyIF90eXBlID0gQ29tcG9uZW50LnR5cGU7XG4gICAgdmFyIF9pbm5lclByb3BUeXBlcyA9IF90eXBlLnByb3BUeXBlcztcblxuICAgIGlmIChfaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXG4gICAgICAvLyBXZSBjb3VsZCBtb3ZlIGl0IHRoZXJlLCBidXQgd2UnZCBzdGlsbCBuZWVkIHRoaXMgZm9yIGxhenkgY29kZSBwYXRoLlxuICAgICAgY2hlY2tQcm9wVHlwZXMoX2lubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShfdHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjdXJyZW50Q2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGlzIGlzIGFsd2F5cyBleGFjdGx5IG9uZSBjaGlsZFxuXG4gIHZhciBoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQgPSBjaGVja1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dChjdXJyZW50LCByZW5kZXJMYW5lcyk7XG5cbiAgaWYgKCFoYXNTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxuICAgIC8vIHVubGlrZSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgd2hpY2ggd2lsbCBiZSB0aGUgdW5yZXNvbHZlZCBvbmVzLlxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Q2hpbGQubWVtb2l6ZWRQcm9wczsgLy8gRGVmYXVsdCB0byBzaGFsbG93IGNvbXBhcmlzb25cblxuICAgIHZhciBjb21wYXJlID0gQ29tcG9uZW50LmNvbXBhcmU7XG4gICAgY29tcGFyZSA9IGNvbXBhcmUgIT09IG51bGwgPyBjb21wYXJlIDogc2hhbGxvd0VxdWFsO1xuXG4gICAgaWYgKGNvbXBhcmUocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgfVxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgbmV4dFByb3BzKTtcbiAgbmV3Q2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuICBuZXdDaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcbiAgcmV0dXJuIG5ld0NoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcbiAgLy8gaGFzbid0IHlldCBtb3VudGVkLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgaW5uZXIgcmVuZGVyIHN1c3BlbmRzLlxuICAvLyBXZSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBmaW5lIG9yIGNhbiBjYXVzZSBpc3N1ZXMuXG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgb3V0ZXJNZW1vVHlwZSA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlO1xuXG4gICAgICBpZiAob3V0ZXJNZW1vVHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XG4gICAgICAgIC8vIFdlIHdhcm4gd2hlbiB5b3UgZGVmaW5lIHByb3BUeXBlcyBvbiBsYXp5KClcbiAgICAgICAgLy8gc28gbGV0J3MganVzdCBza2lwIG92ZXIgaXQgdG8gZmluZCBtZW1vKCkgb3V0ZXIgd3JhcHBlci5cbiAgICAgICAgLy8gSW5uZXIgcHJvcHMgZm9yIG1lbW8gYXJlIHZhbGlkYXRlZCBsYXRlci5cbiAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSBvdXRlck1lbW9UeXBlO1xuICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG91dGVyTWVtb1R5cGUgPSBpbml0KHBheWxvYWQpO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgb3V0ZXJNZW1vVHlwZSA9IG51bGw7XG4gICAgICAgIH0gLy8gSW5uZXIgcHJvcFR5cGVzIHdpbGwgYmUgdmFsaWRhdGVkIGluIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcGF0aC5cblxuXG4gICAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IG91dGVyTWVtb1R5cGUgJiYgb3V0ZXJNZW1vVHlwZS5wcm9wVHlwZXM7XG5cbiAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgKFNpbXBsZU1lbW9Db21wb25lbnQgaGFzIG5vIGRlZmF1bHRQcm9wcylcbiAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShvdXRlck1lbW9UeXBlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAoc2hhbGxvd0VxdWFsKHByZXZQcm9wcywgbmV4dFByb3BzKSAmJiBjdXJyZW50LnJlZiA9PT0gd29ya0luUHJvZ3Jlc3MucmVmICYmICggLy8gUHJldmVudCBiYWlsb3V0IGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkLlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGUgcHJvcHMgYXJlIHNoYWxsb3dseSBlcXVhbC4gUmV1c2UgdGhlIHByZXZpb3VzIHByb3BzIG9iamVjdCwgbGlrZSB3ZVxuICAgICAgLy8gd291bGQgZHVyaW5nIGEgbm9ybWFsIGZpYmVyIGJhaWxvdXQuXG4gICAgICAvL1xuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBzdHJvbmcgZ3VhcmFudGVlcyB0aGF0IHRoZSBwcm9wcyBvYmplY3QgaXMgcmVmZXJlbnRpYWxseVxuICAgICAgLy8gZXF1YWwgZHVyaW5nIHVwZGF0ZXMgd2hlcmUgd2UgY2FuJ3QgYmFpbCBvdXQgYW55d2F5IOKAlCBsaWtlIGlmIHRoZSBwcm9wc1xuICAgICAgLy8gYXJlIHNoYWxsb3dseSBlcXVhbCwgYnV0IHRoZXJlJ3MgYSBsb2NhbCBzdGF0ZSBvciBjb250ZXh0IHVwZGF0ZSBpbiB0aGVcbiAgICAgIC8vIHNhbWUgYmF0Y2guXG4gICAgICAvL1xuICAgICAgLy8gSG93ZXZlciwgYXMgYSBwcmluY2lwbGUsIHdlIHNob3VsZCBhaW0gdG8gbWFrZSB0aGUgYmVoYXZpb3IgY29uc2lzdGVudFxuICAgICAgLy8gYWNyb3NzIGRpZmZlcmVudCB3YXlzIG9mIG1lbW9pemluZyBhIGNvbXBvbmVudC4gRm9yIGV4YW1wbGUsIFJlYWN0Lm1lbW9cbiAgICAgIC8vIGhhcyBhIGRpZmZlcmVudCBpbnRlcm5hbCBGaWJlciBsYXlvdXQgaWYgeW91IHBhc3MgYSBub3JtYWwgZnVuY3Rpb25cbiAgICAgIC8vIGNvbXBvbmVudCAoU2ltcGxlTWVtb0NvbXBvbmVudCkgdmVyc3VzIGlmIHlvdSBwYXNzIGEgZGlmZmVyZW50IHR5cGVcbiAgICAgIC8vIGxpa2UgZm9yd2FyZFJlZiAoTWVtb0NvbXBvbmVudCkuIEJ1dCB0aGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiAgICAgIC8vIFdyYXBwaW5nIGEgY29tcG9uZW50IGluIGZvcndhcmRSZWYgKG9yIFJlYWN0LmxhenksIGV0Yykgc2hvdWxkbid0XG4gICAgICAvLyBhZmZlY3Qgd2hldGhlciB0aGUgcHJvcHMgb2JqZWN0IGlzIHJldXNlZCBkdXJpbmcgYSBiYWlsb3V0LlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMgPSBuZXh0UHJvcHMgPSBwcmV2UHJvcHM7XG5cbiAgICAgIGlmICghY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpKSB7XG4gICAgICAgIC8vIFRoZSBwZW5kaW5nIGxhbmVzIHdlcmUgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGJlZ2luV29yay4gV2UncmVcbiAgICAgICAgLy8gYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBvdGhlciBsYW5lcyB0aGF0IHdlcmVuJ3RcbiAgICAgICAgLy8gaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnQgcmVuZGVyLiBVc3VhbGx5LCB0aGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtdWxhdGVkIGR1cmluZyB0aGUgZXZhbHVhdGlvbiBvZiB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXG4gICAgICAgIC8vIHdlJ3JlIGJhaWxpbmcgb3V0IGVhcmx5ICp3aXRob3V0KiBldmFsdWF0aW5nIHRoZSBjb21wb25lbnQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gYWNjb3VudCBmb3IgaXQgaGVyZSwgdG9vLiBSZXNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgZmliZXIuXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxuICAgICAgICAvLyBiZWNhdXNlIGEgTWVtb0NvbXBvbmVudCBmaWJlciBkb2VzIG5vdCBoYXZlIGhvb2tzIG9yIGFuIHVwZGF0ZSBxdWV1ZTtcbiAgICAgICAgLy8gcmF0aGVyLCBpdCB3cmFwcyBhcm91bmQgYW4gaW5uZXIgY29tcG9uZW50LCB3aGljaCBtYXkgb3IgbWF5IG5vdFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cbiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGUgcmVzZXQgYXQgaW4gYmVnaW5Xb3JrIG91dCBvZiB0aGUgY29tbW9uIHBhdGggc28gdGhhdFxuICAgICAgICAvLyB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gY3VycmVudC5sYW5lcztcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoKGN1cnJlbnQuZmxhZ3MgJiBGb3JjZVVwZGF0ZUZvckxlZ2FjeVN1c3BlbnNlKSAhPT0gTm9GbGFncykge1xuICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBleGlzdHMgZm9yIGxlZ2FjeSBtb2RlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTkyMTYuXG4gICAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgcHJldlN0YXRlID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA6IG51bGw7XG5cbiAgaWYgKG5leHRQcm9wcy5tb2RlID09PSAnaGlkZGVuJyB8fCBlbmFibGVMZWdhY3lIaWRkZW4gKSB7XG4gICAgLy8gUmVuZGVyaW5nIGEgaGlkZGVuIHRyZWUuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIC8vIEluIGxlZ2FjeSBzeW5jIG1vZGUsIGRvbid0IGRlZmVyIHRoZSBzdWJ0cmVlLiBSZW5kZXIgaXQgbm93LlxuICAgICAgLy8gVE9ETzogQ29uc2lkZXIgaG93IE9mZnNjcmVlbiBzaG91bGQgd29yayB3aXRoIHRyYW5zaXRpb25zIGluIHRoZSBmdXR1cmVcbiAgICAgIHZhciBuZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogTm9MYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBudWxsLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXh0U3RhdGU7XG5cbiAgICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIE9mZnNjcmVlbkxhbmUpKSB7XG4gICAgICB2YXIgc3Bhd25lZENhY2hlUG9vbCA9IG51bGw7IC8vIFdlJ3JlIGhpZGRlbiwgYW5kIHdlJ3JlIG5vdCByZW5kZXJpbmcgYXQgT2Zmc2NyZWVuLiBXZSB3aWxsIGJhaWwgb3V0XG4gICAgICAvLyBhbmQgcmVzdW1lIHRoaXMgdHJlZSBsYXRlci5cblxuICAgICAgdmFyIG5leHRCYXNlTGFuZXM7XG5cbiAgICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIHByZXZCYXNlTGFuZXMgPSBwcmV2U3RhdGUuYmFzZUxhbmVzO1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gbWVyZ2VMYW5lcyhwcmV2QmFzZUxhbmVzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0QmFzZUxhbmVzID0gcmVuZGVyTGFuZXM7XG4gICAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICAgICAgdmFyIF9uZXh0U3RhdGUgPSB7XG4gICAgICAgIGJhc2VMYW5lczogbmV4dEJhc2VMYW5lcyxcbiAgICAgICAgY2FjaGVQb29sOiBzcGF3bmVkQ2FjaGVQb29sLFxuICAgICAgICB0cmFuc2l0aW9uczogbnVsbFxuICAgICAgfTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBfbmV4dFN0YXRlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuICAgICAgLy8gdG8gYXZvaWQgYSBwdXNoL3BvcCBtaXNhbGlnbm1lbnQuXG5cblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBuZXh0QmFzZUxhbmVzKTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIuIFRoZSBzdXJyb3VuZGluZyB2aXNpYmxlIGNvbnRlbnQgaGFzIGFscmVhZHlcbiAgICAgIC8vIGNvbW1pdHRlZC4gTm93IHdlIHJlc3VtZSByZW5kZXJpbmcgdGhlIGhpZGRlbiB0cmVlLlxuICAgICAgLy8gUmVuZGVyaW5nIGF0IG9mZnNjcmVlbiwgc28gd2UgY2FuIGNsZWFyIHRoZSBiYXNlIGxhbmVzLlxuICAgICAgdmFyIF9uZXh0U3RhdGUyID0ge1xuICAgICAgICBiYXNlTGFuZXM6IE5vTGFuZXMsXG4gICAgICAgIGNhY2hlUG9vbDogbnVsbCxcbiAgICAgICAgdHJhbnNpdGlvbnM6IG51bGxcbiAgICAgIH07XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gX25leHRTdGF0ZTI7IC8vIFB1c2ggdGhlIGxhbmVzIHRoYXQgd2VyZSBza2lwcGVkIHdoZW4gd2UgYmFpbGVkIG91dC5cblxuICAgICAgdmFyIHN1YnRyZWVSZW5kZXJMYW5lcyA9IHByZXZTdGF0ZSAhPT0gbnVsbCA/IHByZXZTdGF0ZS5iYXNlTGFuZXMgOiByZW5kZXJMYW5lcztcblxuICAgICAgcHVzaFJlbmRlckxhbmVzKHdvcmtJblByb2dyZXNzLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSZW5kZXJpbmcgYSB2aXNpYmxlIHRyZWUuXG4gICAgdmFyIF9zdWJ0cmVlUmVuZGVyTGFuZXM7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBXZSdyZSBnb2luZyBmcm9tIGhpZGRlbiAtPiB2aXNpYmxlLlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IG1lcmdlTGFuZXMocHJldlN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IGhpZGRlbiwgYW5kIHdlIHN0aWxsIGFyZW4ndCwgc28gdGhlcmUncyBub3RoaW5nXG4gICAgICAvLyBzcGVjaWFsIHRvIGRvLiBOZWVkIHRvIHB1c2ggdG8gdGhlIHN0YWNrIHJlZ2FyZGxlc3MsIHRob3VnaCwgdG8gYXZvaWRcbiAgICAgIC8vIGEgcHVzaC9wb3AgbWlzYWxpZ25tZW50LlxuICAgICAgX3N1YnRyZWVSZW5kZXJMYW5lcyA9IHJlbmRlckxhbmVzO1xuICAgIH1cblxuICAgIHB1c2hSZW5kZXJMYW5lcyh3b3JrSW5Qcm9ncmVzcywgX3N1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn0gLy8gTm90ZTogVGhlc2UgaGFwcGVuIHRvIGhhdmUgaWRlbnRpY2FsIGJlZ2luIHBoYXNlcywgZm9yIG5vdy4gV2Ugc2hvdWxkbid0IGhvbGRcblxuZnVuY3Rpb24gdXBkYXRlRnJhZ21lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVNb2RlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG5cbiAgICB7XG4gICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAvLyBUaGVzZSBhcmUgcmVzZXQgZHVyaW5nIHJlbmRlciB0byBhbGxvdyB0aGUgRGV2VG9vbHMgY29tbWl0IGhvb2sgYSBjaGFuY2UgdG8gcmVhZCB0aGVtLFxuICAgICAgdmFyIHN0YXRlTm9kZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICBzdGF0ZU5vZGUucGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsICYmIHJlZiAhPT0gbnVsbCB8fCBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQucmVmICE9PSByZWYpIHtcbiAgICAvLyBTY2hlZHVsZSBhIFJlZiBlZmZlY3RcbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAgICB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWZTdGF0aWM7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpIHtcbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XG5cbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlKTtcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcbiAgfVxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHZhciBoYXNJZDtcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIGNvbnRleHQsIHJlbmRlckxhbmVzKTtcbiAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyTGFuZXMpO1xuICAgICAgICBoYXNJZCA9IGNoZWNrRGlkUmVuZGVySWRIb29rKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdG9wcGVkKCk7XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkUmVjZWl2ZVVwZGF0ZSkge1xuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBpZiAoZ2V0SXNIeWRyYXRpbmcoKSAmJiBoYXNJZCkge1xuICAgIHB1c2hNYXRlcmlhbGl6ZWRUcmVlSWQod29ya0luUHJvZ3Jlc3MpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICAvLyBUaGlzIGlzIHVzZWQgYnkgRGV2VG9vbHMgdG8gZm9yY2UgYSBib3VuZGFyeSB0byBlcnJvci5cbiAgICBzd2l0Y2ggKHNob3VsZEVycm9yKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlOyAvLyBUT0RPIFRoaXMgd2F5IG9mIHJlc2V0dGluZyB0aGUgZXJyb3IgYm91bmRhcnkgc3RhdGUgaXMgYSBoYWNrLlxuICAgICAgICAgIC8vIElzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBkbyB0aGlzP1xuXG4gICAgICAgICAgdmFyIHRlbXBJbnN0YW5jZSA9IG5ldyBjdG9yKHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMsIF9pbnN0YW5jZS5jb250ZXh0KTtcbiAgICAgICAgICB2YXIgc3RhdGUgPSB0ZW1wSW5zdGFuY2Uuc3RhdGU7XG5cbiAgICAgICAgICBfaW5zdGFuY2UudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUoX2luc3RhbmNlLCBzdGF0ZSwgbnVsbCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNob3VsZENhcHR1cmU7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzXG5cbiAgICAgICAgICB2YXIgZXJyb3IkMSA9IG5ldyBFcnJvcignU2ltdWxhdGVkIGVycm9yIGNvbWluZyBmcm9tIERldlRvb2xzJyk7XG4gICAgICAgICAgdmFyIGxhbmUgPSBwaWNrQXJiaXRyYXJ5TGFuZShyZW5kZXJMYW5lcyk7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzLCBsYW5lKTsgLy8gU2NoZWR1bGUgdGhlIGVycm9yIGJvdW5kYXJ5IHRvIHJlLXJlbmRlciB1c2luZyB1cGRhdGVkIHN0YXRlXG5cbiAgICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IkMSwgd29ya0luUHJvZ3Jlc3MpLCBsYW5lKTtcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xuXG4gICAgICBpZiAoaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFB1c2ggY29udGV4dCBwcm92aWRlcnMgZWFybHkgdG8gcHJldmVudCBjb250ZXh0IHN0YWNrIG1pc21hdGNoZXMuXG4gIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgLy8gV2Ugd2lsbCBpbnZhbGlkYXRlIHRoZSBjaGlsZCBjb250ZXh0IGluIGZpbmlzaENsYXNzQ29tcG9uZW50KCkgcmlnaHQgYWZ0ZXIgcmVuZGVyaW5nLlxuXG5cbiAgdmFyIGhhc0NvbnRleHQ7XG5cbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcbiAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgfSBlbHNlIHtcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIHZhciBzaG91bGRVcGRhdGU7XG5cbiAgaWYgKGluc3RhbmNlID09PSBudWxsKSB7XG4gICAgcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7IC8vIEluIHRoZSBpbml0aWFsIHBhc3Mgd2UgbWlnaHQgbmVlZCB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlLlxuXG4gICAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICBzaG91bGRVcGRhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJbiBhIHJlc3VtZSwgd2UnbGwgYWxyZWFkeSBoYXZlIGFuIGluc3RhbmNlIHdlIGNhbiByZXVzZS5cbiAgICBzaG91bGRVcGRhdGUgPSByZXN1bWVNb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgc2hvdWxkVXBkYXRlID0gdXBkYXRlQ2xhc3NJbnN0YW5jZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBuZXh0VW5pdE9mV29yayA9IGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xuXG4gIHtcbiAgICB2YXIgaW5zdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICAgIGlmIChzaG91bGRVcGRhdGUgJiYgaW5zdC5wcm9wcyAhPT0gbmV4dFByb3BzKSB7XG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgZXJyb3IoJ0l0IGxvb2tzIGxpa2UgJXMgaXMgcmVhc3NpZ25pbmcgaXRzIG93biBgdGhpcy5wcm9wc2Agd2hpbGUgcmVuZGVyaW5nLiAnICsgJ1RoaXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgY2FuIGxlYWQgdG8gY29uZnVzaW5nIGJ1Z3MuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcih3b3JrSW5Qcm9ncmVzcykgfHwgJ2EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0VW5pdE9mV29yaztcbn1cblxuZnVuY3Rpb24gZmluaXNoQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgc2hvdWxkVXBkYXRlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcykge1xuICAvLyBSZWZzIHNob3VsZCB1cGRhdGUgZXZlbiBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZVxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGRpZENhcHR1cmVFcnJvciA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuXG4gIGlmICghc2hvdWxkVXBkYXRlICYmICFkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcbiAgICBpZiAoaGFzQ29udGV4dCkge1xuICAgICAgaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTsgLy8gUmVyZW5kZXJcblxuICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgdmFyIG5leHRDaGlsZHJlbjtcblxuICBpZiAoZGlkQ2FwdHVyZUVycm9yICYmIHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gSWYgd2UgY2FwdHVyZWQgYW4gZXJyb3IsIGJ1dCBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgaXMgbm90IGRlZmluZWQsXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xuICAgIC8vIHJlLXJlbmRlciBhIGZhbGxiYWNrLiBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBtaWdyYXRlIGV2ZXJ5b25lIHRvXG4gICAgLy8gdGhlIG5ldyBBUEkuXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuICAgIG5leHRDaGlsZHJlbiA9IG51bGw7XG5cbiAgICB7XG4gICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RhcnRlZCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfVxuXG4gICAge1xuICAgICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICBuZXh0Q2hpbGRyZW4gPSBpbnN0YW5jZS5yZW5kZXIoKTtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGluc3RhbmNlLnJlbmRlcigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgbWFya0NvbXBvbmVudFJlbmRlclN0b3BwZWQoKTtcbiAgICB9XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGVyZm9ybWVkV29yaztcblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBJZiB3ZSdyZSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlY29uY2lsZSB3aXRob3V0IHJldXNpbmcgYW55IG9mXG4gICAgLy8gdGhlIGV4aXN0aW5nIGNoaWxkcmVuLiBDb25jZXB0dWFsbHksIHRoZSBub3JtYWwgY2hpbGRyZW4gYW5kIHRoZSBjaGlsZHJlblxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxuICAgIC8vIG5vcm1hbCBjaGlsZHJlbiBldmVuIGlmIHRoZWlyIGlkZW50aXRpZXMgbWF0Y2guXG4gICAgZm9yY2VVbm1vdW50Q3VycmVudEFuZFJlY29uY2lsZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICB9IC8vIE1lbW9pemUgc3RhdGUgdXNpbmcgdGhlIHZhbHVlcyB3ZSBqdXN0IHVzZWQgdG8gcmVuZGVyLlxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cblxuXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXG5cbiAgaWYgKGhhc0NvbnRleHQpIHtcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XG4gICAgcHVzaFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcywgcm9vdC5wZW5kaW5nQ29udGV4dCwgcm9vdC5wZW5kaW5nQ29udGV4dCAhPT0gcm9vdC5jb250ZXh0KTtcbiAgfSBlbHNlIGlmIChyb290LmNvbnRleHQpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGV4dCwgZmFsc2UpO1xuICB9XG5cbiAgcHVzaEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGFpbmVySW5mbyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIGhhdmUgYSBjdXJyZW50IGZpYmVyLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICB9XG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIHZhciBwcmV2Q2hpbGRyZW4gPSBwcmV2U3RhdGUuZWxlbWVudDtcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV4dFByb3BzLCBudWxsLCByZW5kZXJMYW5lcyk7XG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgcm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG5cbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRTdGF0ZS5lbGVtZW50O1xuXG4gIGlmICggcHJldlN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgIC8vIFRoaXMgaXMgYSBoeWRyYXRpb24gcm9vdCB3aG9zZSBzaGVsbCBoYXMgbm90IHlldCBoeWRyYXRlZC4gV2Ugc2hvdWxkXG4gICAgLy8gYXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIEZsaXAgaXNEZWh5ZHJhdGVkIHRvIGZhbHNlIHRvIGluZGljYXRlIHRoYXQgd2hlbiB0aGlzIHJlbmRlclxuICAgIC8vIGZpbmlzaGVzLCB0aGUgcm9vdCB3aWxsIG5vIGxvbmdlciBiZSBkZWh5ZHJhdGVkLlxuICAgIHZhciBvdmVycmlkZVN0YXRlID0ge1xuICAgICAgZWxlbWVudDogbmV4dENoaWxkcmVuLFxuICAgICAgaXNEZWh5ZHJhdGVkOiBmYWxzZSxcbiAgICAgIGNhY2hlOiBuZXh0U3RhdGUuY2FjaGUsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBuZXh0U3RhdGUucGVuZGluZ1N1c3BlbnNlQm91bmRhcmllcyxcbiAgICAgIHRyYW5zaXRpb25zOiBuZXh0U3RhdGUudHJhbnNpdGlvbnNcbiAgICB9O1xuICAgIHZhciB1cGRhdGVRdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlOyAvLyBgYmFzZVN0YXRlYCBjYW4gYWx3YXlzIGJlIHRoZSBsYXN0IHN0YXRlIGJlY2F1c2UgdGhlIHJvb3QgZG9lc24ndFxuICAgIC8vIGhhdmUgcmVkdWNlciBmdW5jdGlvbnMgc28gaXQgZG9lc24ndCBuZWVkIHJlYmFzaW5nLlxuXG4gICAgdXBkYXRlUXVldWUuYmFzZVN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gb3ZlcnJpZGVTdGF0ZTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSB7XG4gICAgICAvLyBTb21ldGhpbmcgZXJyb3JlZCBkdXJpbmcgYSBwcmV2aW91cyBhdHRlbXB0IHRvIGh5ZHJhdGUgdGhlIHNoZWxsLCBzbyB3ZVxuICAgICAgLy8gZm9yY2VkIGEgY2xpZW50IHJlbmRlci5cbiAgICAgIHZhciByZWNvdmVyYWJsZUVycm9yID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nLiBCZWNhdXNlIHRoZSBlcnJvciBoYXBwZW5lZCBvdXRzaWRlICcgKyAnb2YgYSBTdXNwZW5zZSBib3VuZGFyeSwgdGhlIGVudGlyZSByb290IHdpbGwgc3dpdGNoIHRvICcgKyAnY2xpZW50IHJlbmRlcmluZy4nKSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKTtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGlsZHJlbiAhPT0gcHJldkNoaWxkcmVuKSB7XG4gICAgICB2YXIgX3JlY292ZXJhYmxlRXJyb3IgPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihuZXcgRXJyb3IoJ1RoaXMgcm9vdCByZWNlaXZlZCBhbiBlYXJseSB1cGRhdGUsIGJlZm9yZSBhbnl0aGluZyB3YXMgYWJsZSAnICsgJ2h5ZHJhdGUuIFN3aXRjaGVkIHRoZSBlbnRpcmUgcm9vdCB0byBjbGllbnQgcmVuZGVyaW5nLicpLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHJldHVybiBtb3VudEhvc3RSb290V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcywgX3JlY292ZXJhYmxlRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgb3V0ZXJtb3N0IHNoZWxsIGhhcyBub3QgaHlkcmF0ZWQgeWV0LiBTdGFydCBoeWRyYXRpbmcuXG4gICAgICBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgdmFyIGNoaWxkID0gbW91bnRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGNoaWxkO1xuICAgICAgdmFyIG5vZGUgPSBjaGlsZDtcblxuICAgICAgd2hpbGUgKG5vZGUpIHtcbiAgICAgICAgLy8gTWFyayBlYWNoIGNoaWxkIGFzIGh5ZHJhdGluZy4gVGhpcyBpcyBhIGZhc3QgcGF0aCB0byBrbm93IHdoZXRoZXIgdGhpc1xuICAgICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXG4gICAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgICAvLyBDb25jZXB0dWFsbHkgdGhpcyBpcyBzaW1pbGFyIHRvIFBsYWNlbWVudCBpbiB0aGF0IGEgbmV3IHN1YnRyZWUgaXNcbiAgICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXG4gICAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgICAgICBub2RlLmZsYWdzID0gbm9kZS5mbGFncyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XG4gICAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJvb3QgaXMgbm90IGRlaHlkcmF0ZWQuIEVpdGhlciB0aGlzIGlzIGEgY2xpZW50LW9ubHkgcm9vdCwgb3IgaXRcbiAgICAvLyBhbHJlYWR5IGh5ZHJhdGVkLlxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgIGlmIChuZXh0Q2hpbGRyZW4gPT09IHByZXZDaGlsZHJlbikge1xuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50SG9zdFJvb3RXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzLCByZWNvdmVyYWJsZUVycm9yKSB7XG4gIC8vIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gIHF1ZXVlSHlkcmF0aW9uRXJyb3IocmVjb3ZlcmFibGVFcnJvcik7XG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgcHVzaEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBudWxsO1xuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YXIgaXNEaXJlY3RUZXh0Q2hpbGQgPSBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBuZXh0UHJvcHMpO1xuXG4gIGlmIChpc0RpcmVjdFRleHRDaGlsZCkge1xuICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBhIGRpcmVjdCB0ZXh0IGNoaWxkIG9mIGEgaG9zdCBub2RlLiBUaGlzIGlzIGEgY29tbW9uXG4gICAgLy8gY2FzZS4gV2Ugd29uJ3QgaGFuZGxlIGl0IGFzIGEgcmVpZmllZCBjaGlsZC4gV2Ugd2lsbCBpbnN0ZWFkIGhhbmRsZVxuICAgIC8vIHRoaXMgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQgdGhhdCBhbHNvIGhhcyBhY2Nlc3MgdG8gdGhpcyBwcm9wLiBUaGF0XG4gICAgLy8gYXZvaWRzIGFsbG9jYXRpbmcgYW5vdGhlciBIb3N0VGV4dCBmaWJlciBhbmQgdHJhdmVyc2luZyBpdC5cbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xuICB9IGVsc2UgaWYgKHByZXZQcm9wcyAhPT0gbnVsbCAmJiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcmV2UHJvcHMpKSB7XG4gICAgLy8gSWYgd2UncmUgc3dpdGNoaW5nIGZyb20gYSBkaXJlY3QgdGV4dCBjaGlsZCB0byBhIG5vcm1hbCBjaGlsZCwgb3IgdG9cbiAgICAvLyBlbXB0eSwgd2UgbmVlZCB0byBzY2hlZHVsZSB0aGUgdGV4dCBjb250ZW50IHRvIGJlIHJlc2V0LlxuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IENvbnRlbnRSZXNldDtcbiAgfVxuXG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9zdFRleHQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gTm90aGluZyB0byBkbyBoZXJlLiBUaGlzIGlzIHRlcm1pbmFsLiBXZSdsbCBkbyB0aGUgY29tcGxldGlvbiBzdGVwXG4gIC8vIGltbWVkaWF0ZWx5IGFmdGVyLlxuXG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIG1vdW50TGF6eUNvbXBvbmVudChfY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGVsZW1lbnRUeXBlLCByZW5kZXJMYW5lcykge1xuICByZXNldFN1c3BlbmRlZEN1cnJlbnRPbk1vdW50SW5MZWdhY3lNb2RlKF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIGxhenlDb21wb25lbnQgPSBlbGVtZW50VHlwZTtcbiAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG4gIHZhciBDb21wb25lbnQgPSBpbml0KHBheWxvYWQpOyAvLyBTdG9yZSB0aGUgdW53cmFwcGVkIGNvbXBvbmVudCBpbiB0aGUgdHlwZS5cblxuICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50O1xuICB2YXIgcmVzb2x2ZWRUYWcgPSB3b3JrSW5Qcm9ncmVzcy50YWcgPSByZXNvbHZlTGF6eUNvbXBvbmVudFRhZyhDb21wb25lbnQpO1xuICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHJlc29sdmVEZWZhdWx0UHJvcHMoQ29tcG9uZW50LCBwcm9wcyk7XG4gIHZhciBjaGlsZDtcblxuICBzd2l0Y2ggKHJlc29sdmVkVGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKENvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICB9XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRm9yd2FyZFJlZihudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cblxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgICAgICAgdmFyIG91dGVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XG4gICAgICAgICAgICAgIGNoZWNrUHJvcFR5cGVzKG91dGVyUHJvcFR5cGVzLCByZXNvbHZlZFByb3BzLCAvLyBSZXNvbHZlZCBmb3Igb3V0ZXIgb25seVxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xuICAgICAgICByZW5kZXJMYW5lcyk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBoaW50ID0gJyc7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQgIT09IG51bGwgJiYgdHlwZW9mIENvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgQ29tcG9uZW50LiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgIGhpbnQgPSAnIERpZCB5b3Ugd3JhcCBhIGNvbXBvbmVudCBpbiBSZWFjdC5sYXp5KCkgbW9yZSB0aGFuIG9uY2U/JztcbiAgICB9XG4gIH0gLy8gVGhpcyBtZXNzYWdlIGludGVudGlvbmFsbHkgZG9lc24ndCBtZW50aW9uIEZvcndhcmRSZWYgb3IgTWVtb0NvbXBvbmVudFxuICAvLyBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNlcGFyYXRlIHR5cGUgb2Ygd29yayBpcyBhblxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG5cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZC4gUmVjZWl2ZWQgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG86IFwiICsgQ29tcG9uZW50ICsgXCIuIFwiICsgKFwiTGF6eSBlbGVtZW50IHR5cGUgbXVzdCByZXNvbHZlIHRvIGEgY2xhc3Mgb3IgZnVuY3Rpb24uXCIgKyBoaW50KSk7XG59XG5cbmZ1bmN0aW9uIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTsgLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cblxuICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhlIHJlc3Qgb2YgdGhpcyBmdW5jdGlvbiBpcyBhIGZvcmsgb2YgYHVwZGF0ZUNsYXNzQ29tcG9uZW50YFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICB2YXIgaGFzQ29udGV4dDtcblxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xuICB9IGVsc2Uge1xuICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gZmluaXNoQ2xhc3NDb21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSwgaGFzQ29udGV4dCwgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEluZGV0ZXJtaW5hdGVDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlbmRlckxhbmVzKSB7XG4gIHJlc2V0U3VzcGVuZGVkQ3VycmVudE9uTW91bnRJbkxlZ2FjeU1vZGUoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciBoYXNJZDtcblxuICB7XG4gICAgbWFya0NvbXBvbmVudFJlbmRlclN0YXJ0ZWQod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoXCJUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGhhdmUgYSByZW5kZXIgbWV0aG9kLCBidXQgZG9lc24ndCBleHRlbmQgUmVhY3QuQ29tcG9uZW50LiBcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0QmFkQ2xhc3NbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIG51bGwpO1xuICAgIH1cblxuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG5cbiAge1xuICAgIC8vIFN1cHBvcnQgZm9yIG1vZHVsZSBjb21wb25lbnRzIGlzIGRlcHJlY2F0ZWQgYW5kIGlzIHJlbW92ZWQgYmVoaW5kIGEgZmxhZy5cbiAgICAvLyBXaGV0aGVyIG9yIG5vdCBpdCB3b3VsZCBjcmFzaCBsYXRlciwgd2Ugd2FudCB0byBzaG93IGEgZ29vZCBtZXNzYWdlIGluIERFViBmaXJzdC5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBiZSBhIGZ1bmN0aW9uIGNvbXBvbmVudCB0aGF0IHJldHVybnMgYSBjbGFzcyBpbnN0YW5jZS4gJyArICdDaGFuZ2UgJXMgdG8gYSBjbGFzcyB0aGF0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuICcgKyBcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXCIgKyBcImAlcy5wcm90b3R5cGUgPSBSZWFjdC5Db21wb25lbnQucHJvdG90eXBlYC4gRG9uJ3QgdXNlIGFuIGFycm93IGZ1bmN0aW9uIHNpbmNlIGl0IFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKCAvLyBSdW4gdGhlc2UgY2hlY2tzIGluIHByb2R1Y3Rpb24gb25seSBpZiB0aGUgZmxhZyBpcyBvZmYuXG4gIC8vIEV2ZW50dWFsbHkgd2UnbGwgZGVsZXRlIHRoaXMgYnJhbmNoIGFsdG9nZXRoZXIuXG4gICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZS5yZW5kZXIgPT09ICdmdW5jdGlvbicgJiYgdmFsdWUuJCR0eXBlb2YgPT09IHVuZGVmaW5lZCkge1xuICAgIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTIgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0TW9kdWxlUGF0dGVybkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTJdKSB7XG4gICAgICAgIGVycm9yKCdUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb24gY29tcG9uZW50IHRoYXQgcmV0dXJucyBhIGNsYXNzIGluc3RhbmNlLiAnICsgJ0NoYW5nZSAlcyB0byBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQgaW5zdGVhZC4gJyArIFwiSWYgeW91IGNhbid0IHVzZSBhIGNsYXNzIHRyeSBhc3NpZ25pbmcgdGhlIHByb3RvdHlwZSBvbiB0aGUgZnVuY3Rpb24gYXMgYSB3b3JrYXJvdW5kLiBcIiArIFwiYCVzLnByb3RvdHlwZSA9IFJlYWN0LkNvbXBvbmVudC5wcm90b3R5cGVgLiBEb24ndCB1c2UgYW4gYXJyb3cgZnVuY3Rpb24gc2luY2UgaXQgXCIgKyAnY2Fubm90IGJlIGNhbGxlZCB3aXRoIGBuZXdgIGJ5IFJlYWN0LicsIF9jb21wb25lbnROYW1lMiwgX2NvbXBvbmVudE5hbWUyLCBfY29tcG9uZW50TmFtZTIpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGNsYXNzIGluc3RhbmNlXG5cblxuICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IENsYXNzQ29tcG9uZW50OyAvLyBUaHJvdyBvdXQgYW55IGhvb2tzIHRoYXQgd2VyZSB1c2VkLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsOyAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAgIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cbiAgICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXG5cbiAgICB2YXIgaGFzQ29udGV4dCA9IGZhbHNlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIGhhc0NvbnRleHQgPSB0cnVlO1xuICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhc0NvbnRleHQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gdmFsdWUuc3RhdGUgIT09IG51bGwgJiYgdmFsdWUuc3RhdGUgIT09IHVuZGVmaW5lZCA/IHZhbHVlLnN0YXRlIDogbnVsbDtcbiAgICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xuICAgIGFkb3B0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgdmFsdWUpO1xuICAgIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgcmVuZGVyTGFuZXMpO1xuICAgIHJldHVybiBmaW5pc2hDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlLCBoYXNDb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvY2VlZCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgYSBmdW5jdGlvbiBjb21wb25lbnRcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDtcblxuICAgIHtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TGVnYWN5TW9kZSkge1xuICAgICAgICBzZXRJc1N0cmljdE1vZGVGb3JEZXZ0b29scyh0cnVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICAgICAgaGFzSWQgPSBjaGVja0RpZFJlbmRlcklkSG9vaygpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHNldElzU3RyaWN0TW9kZUZvckRldnRvb2xzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGhhc0lkKSB7XG4gICAgICBwdXNoTWF0ZXJpYWxpemVkVHJlZUlkKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihudWxsLCB3b3JrSW5Qcm9ncmVzcywgdmFsdWUsIHJlbmRlckxhbmVzKTtcblxuICAgIHtcbiAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcbiAge1xuICAgIGlmIChDb21wb25lbnQpIHtcbiAgICAgIGlmIChDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMpIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IGNoaWxkQ29udGV4dFR5cGVzIGNhbm5vdCBiZSBkZWZpbmVkIG9uIGEgZnVuY3Rpb24gY29tcG9uZW50LicsIENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnJlZiAhPT0gbnVsbCkge1xuICAgICAgdmFyIGluZm8gPSAnJztcbiAgICAgIHZhciBvd25lck5hbWUgPSBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpO1xuXG4gICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgIH1cblxuICAgICAgdmFyIHdhcm5pbmdLZXkgPSBvd25lck5hbWUgfHwgJyc7XG4gICAgICB2YXIgZGVidWdTb3VyY2UgPSB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2U7XG5cbiAgICAgIGlmIChkZWJ1Z1NvdXJjZSkge1xuICAgICAgICB3YXJuaW5nS2V5ID0gZGVidWdTb3VyY2UuZmlsZU5hbWUgKyAnOicgKyBkZWJ1Z1NvdXJjZS5saW5lTnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnNbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIENvbXBvbmVudC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTMgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdKSB7XG4gICAgICAgIGVycm9yKCclczogRnVuY3Rpb24gY29tcG9uZW50cyBkbyBub3Qgc3VwcG9ydCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuJywgX2NvbXBvbmVudE5hbWUzKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBDb21wb25lbnQuY29udGV4dFR5cGUgIT09IG51bGwpIHtcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZTQgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGNvbnRleHRUeXBlLicsIF9jb21wb25lbnROYW1lNCk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lNF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgU1VTUEVOREVEX01BUktFUiA9IHtcbiAgZGVoeWRyYXRlZDogbnVsbCxcbiAgdHJlZUNvbnRleHQ6IG51bGwsXG4gIHJldHJ5TGFuZTogTm9MYW5lXG59O1xuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpIHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IHJlbmRlckxhbmVzLFxuICAgIGNhY2hlUG9vbDogZ2V0U3VzcGVuZGVkQ2FjaGUoKSxcbiAgICB0cmFuc2l0aW9uczogbnVsbFxuICB9O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIGNhY2hlUG9vbCA9IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlTGFuZXM6IG1lcmdlTGFuZXMocHJldk9mZnNjcmVlblN0YXRlLmJhc2VMYW5lcywgcmVuZGVyTGFuZXMpLFxuICAgIGNhY2hlUG9vbDogY2FjaGVQb29sLFxuICAgIHRyYW5zaXRpb25zOiBwcmV2T2Zmc2NyZWVuU3RhdGUudHJhbnNpdGlvbnNcbiAgfTtcbn0gLy8gVE9ETzogUHJvYmFibHkgc2hvdWxkIGlubGluZSB0aGlzIGJhY2tcblxuXG5mdW5jdGlvbiBzaG91bGRSZW1haW5PbkZhbGxiYWNrKHN1c3BlbnNlQ29udGV4dCwgY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIElmIHdlJ3JlIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0b1xuICAvLyByZW1haW4gb24gdGhhdCBmYWxsYmFjayByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGNvbnRlbnQgaGFzIHJlc29sdmVkLlxuICAvLyBGb3IgZXhhbXBsZSwgU3VzcGVuc2VMaXN0IGNvb3JkaW5hdGVzIHdoZW4gbmVzdGVkIGNvbnRlbnQgYXBwZWFycy5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlID09PSBudWxsKSB7XG4gICAgICAvLyBDdXJyZW50bHkgc2hvd2luZyBjb250ZW50LiBEb24ndCBoaWRlIGl0LCBldmVuIGlmIEZvcmNlU3VzcGVuc2VGYWxsYmFja1xuICAgICAgLy8gaXMgdHJ1ZS4gTW9yZSBwcmVjaXNlIG5hbWUgbWlnaHQgYmUgXCJGb3JjZVJlbWFpblN1c3BlbnNlRmFsbGJhY2tcIi5cbiAgICAgIC8vIE5vdGU6IFRoaXMgaXMgYSBmYWN0b3Jpbmcgc21lbGwuIENhbid0IHJlbWFpbiBvbiBhIGZhbGxiYWNrIGlmIHRoZXJlJ3NcbiAgICAgIC8vIG5vIGZhbGxiYWNrIHRvIHJlbWFpbiBvbi5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gLy8gTm90IGN1cnJlbnRseSBzaG93aW5nIGNvbnRlbnQuIENvbnN1bHQgdGhlIFN1c3BlbnNlIGNvbnRleHQuXG5cblxuICByZXR1cm4gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVtYWluaW5nV29ya0luUHJpbWFyeVRyZWUoY3VycmVudCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVE9ETzogU2hvdWxkIG5vdCByZW1vdmUgcmVuZGVyIGxhbmVzIHRoYXQgd2VyZSBwaW5nZWQgZHVyaW5nIHRoaXMgcmVuZGVyXG4gIHJldHVybiByZW1vdmVMYW5lcyhjdXJyZW50LmNoaWxkTGFuZXMsIHJlbmRlckxhbmVzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFRoaXMgaXMgdXNlZCBieSBEZXZUb29scyB0byBmb3JjZSBhIGJvdW5kYXJ5IHRvIHN1c3BlbmQuXG5cbiAge1xuICAgIGlmIChzaG91bGRTdXNwZW5kKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICB9XG4gIH1cblxuICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuICB2YXIgc2hvd0ZhbGxiYWNrID0gZmFsc2U7XG4gIHZhciBkaWRTdXNwZW5kID0gKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKGRpZFN1c3BlbmQgfHwgc2hvdWxkUmVtYWluT25GYWxsYmFjayhzdXNwZW5zZUNvbnRleHQsIGN1cnJlbnQpKSB7XG4gICAgLy8gU29tZXRoaW5nIGluIHRoaXMgYm91bmRhcnkncyBzdWJ0cmVlIGFscmVhZHkgc3VzcGVuZGVkLiBTd2l0Y2ggdG9cbiAgICAvLyByZW5kZXJpbmcgdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgIHNob3dGYWxsYmFjayA9IHRydWU7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gfkRpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXR0ZW1wdGluZyB0aGUgbWFpbiBjb250ZW50XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgbmV3IG1vdW50IG9yIHRoaXMgYm91bmRhcnkgaXMgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgc3RhdGUuXG4gICAgICAvLyBNYXJrIHRoaXMgc3VidHJlZSBjb250ZXh0IGFzIGhhdmluZyBhdCBsZWFzdCBvbmUgaW52aXNpYmxlIHBhcmVudCB0aGF0IGNvdWxkXG4gICAgICAvLyBoYW5kbGUgdGhlIGZhbGxiYWNrIHN0YXRlLlxuICAgICAgLy8gQXZvaWRlZCBib3VuZGFyaWVzIGFyZSBub3QgY29uc2lkZXJlZCBzaW5jZSB0aGV5IGNhbm5vdCBoYW5kbGUgcHJlZmVycmVkIGZhbGxiYWNrIHN0YXRlcy5cbiAgICAgIHtcbiAgICAgICAgc3VzcGVuc2VDb250ZXh0ID0gYWRkU3VidHJlZVN1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcbiAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gT0ssIHRoZSBuZXh0IHBhcnQgaXMgY29uZnVzaW5nLiBXZSdyZSBhYm91dCB0byByZWNvbmNpbGUgdGhlIFN1c3BlbnNlXG4gIC8vIGJvdW5kYXJ5J3MgY2hpbGRyZW4uIFRoaXMgaW52b2x2ZXMgc29tZSBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMuIFR3b1xuICAvLyBtYWluIHJlYXNvbnMgdGhpcyBpcyBzbyBjb21wbGljYXRlZC5cbiAgLy9cbiAgLy8gRmlyc3QsIExlZ2FjeSBNb2RlIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gVGhlXG4gIC8vIHByaW1hcnkgdHJlZSB3aWxsIGNvbW1pdCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUsIHNvIHdoZW4gd2UgZG8gdGhlXG4gIC8vIHNlY29uZCBwYXNzIHRvIHJlbmRlciB0aGUgZmFsbGJhY2ssIHdlIGRvIHNvbWUgZXhjZWVkaW5nbHksIHVoLCBjbGV2ZXJcbiAgLy8gaGFja3MgdG8gbWFrZSB0aGF0IG5vdCB0b3RhbGx5IGJyZWFrLiBMaWtlIHRyYW5zZmVycmluZyBlZmZlY3RzIGFuZFxuICAvLyBkZWxldGlvbnMgZnJvbSBoaWRkZW4gdHJlZS4gSW4gQ29uY3VycmVudCBNb2RlLCBpdCdzIG11Y2ggc2ltcGxlcixcbiAgLy8gYmVjYXVzZSB3ZSBiYWlsb3V0IG9uIHRoZSBwcmltYXJ5IHRyZWUgY29tcGxldGVseSBhbmQgbGVhdmUgaXQgaW4gaXRzIG9sZFxuICAvLyBzdGF0ZSwgbm8gZWZmZWN0cy4gU2FtZSBhcyB3aGF0IHdlIGRvIGZvciBPZmZzY3JlZW4gKGV4Y2VwdCB0aGF0XG4gIC8vIE9mZnNjcmVlbiBkb2Vzbid0IGhhdmUgdGhlIGZpcnN0IHJlbmRlciBwYXNzKS5cbiAgLy9cbiAgLy8gU2Vjb25kIGlzIGh5ZHJhdGlvbi4gRHVyaW5nIGh5ZHJhdGlvbiwgdGhlIFN1c3BlbnNlIGZpYmVyIGhhcyBhIHNsaWdodGx5XG4gIC8vIGRpZmZlcmVudCBsYXlvdXQsIHdoZXJlIHRoZSBjaGlsZCBwb2ludHMgdG8gYSBkZWh5ZHJhdGVkIGZyYWdtZW50LCB3aGljaFxuICAvLyBjb250YWlucyB0aGUgRE9NIHJlbmRlcmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gIC8vXG4gIC8vIFRoaXJkLCBldmVuIGlmIHlvdSBzZXQgYWxsIHRoYXQgYXNpZGUsIFN1c3BlbnNlIGlzIGxpa2UgZXJyb3IgYm91bmRhcmllcyBpblxuICAvLyB0aGF0IHdlIGZpcnN0IHdlIHRyeSB0byByZW5kZXIgb25lIHRyZWUsIGFuZCBpZiB0aGF0IGZhaWxzLCB3ZSByZW5kZXIgYWdhaW5cbiAgLy8gYW5kIHN3aXRjaCB0byBhIGRpZmZlcmVudCB0cmVlLiBMaWtlIGEgdHJ5L2NhdGNoIGJsb2NrLiBTbyB3ZSBoYXZlIHRvIHRyYWNrXG4gIC8vIHdoaWNoIGJyYW5jaCB3ZSdyZSBjdXJyZW50bHkgcmVuZGVyaW5nLiBJZGVhbGx5IHdlIHdvdWxkIG1vZGVsIHRoaXMgdXNpbmdcbiAgLy8gYSBzdGFjay5cblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBoeWRyYXRpbmcsIHRyeSB0byBoeWRyYXRlIHRoaXMgYm91bmRhcnkuXG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpOyAvLyBUaGlzIGNvdWxkJ3ZlIGJlZW4gYSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGNvbXBvbmVudC5cblxuICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgIGlmIChzdXNwZW5zZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZGVoeWRyYXRlZCA9IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKGRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBkZWh5ZHJhdGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICB2YXIgbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG5cbiAgICBpZiAoc2hvd0ZhbGxiYWNrKSB7XG4gICAgICB2YXIgZmFsbGJhY2tGcmFnbWVudCA9IG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBuZXh0UHJpbWFyeUNoaWxkcmVuLCBuZXh0RmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5tZW1vaXplZFN0YXRlID0gbW91bnRTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHJlbmRlckxhbmVzKTtcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBTVVNQRU5ERURfTUFSS0VSO1xuXG4gICAgICByZXR1cm4gZmFsbGJhY2tGcmFnbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1vdW50U3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4od29ya0luUHJvZ3Jlc3MsIG5leHRQcmltYXJ5Q2hpbGRyZW4pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIGFuIHVwZGF0ZS5cbiAgICAvLyBTcGVjaWFsIHBhdGggZm9yIGh5ZHJhdGlvblxuICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICB2YXIgX2RlaHlkcmF0ZWQgPSBwcmV2U3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgaWYgKF9kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVEZWh5ZHJhdGVkU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGRpZFN1c3BlbmQsIG5leHRQcm9wcywgX2RlaHlkcmF0ZWQsIHByZXZTdGF0ZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaG93RmFsbGJhY2spIHtcbiAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG4gICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gdXBkYXRlU3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfbmV4dFByaW1hcnlDaGlsZHJlbiwgX25leHRGYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50MiA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdGF0ZSA9IGN1cnJlbnQuY2hpbGQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIubWVtb2l6ZWRTdGF0ZSA9IHByZXZPZmZzY3JlZW5TdGF0ZSA9PT0gbnVsbCA/IG1vdW50U3VzcGVuc2VPZmZzY3JlZW5TdGF0ZShyZW5kZXJMYW5lcykgOiB1cGRhdGVTdXNwZW5zZU9mZnNjcmVlblN0YXRlKHByZXZPZmZzY3JlZW5TdGF0ZSwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkTGFuZXMgPSBnZXRSZW1haW5pbmdXb3JrSW5QcmltYXJ5VHJlZShjdXJyZW50LCByZW5kZXJMYW5lcyk7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfbmV4dFByaW1hcnlDaGlsZHJlbjIgPSBuZXh0UHJvcHMuY2hpbGRyZW47XG5cbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzID0gdXBkYXRlU3VzcGVuc2VQcmltYXJ5Q2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIHJldHVybiBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50U3VzcGVuc2VGYWxsYmFja0NoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIGZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgY29tbWl0IHRoZSBwcmltYXJ5IHRyZWUgYXMgaWYgaXQgc3VjY2Vzc2Z1bGx5XG4gICAgLy8gY29tcGxldGVkLCBldmVuIHRob3VnaCBpdCdzIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS5cbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTtcbiAgfSBlbHNlIHtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgbW9kZSk7XG4gICAgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZmFsbGJhY2tDaGlsZHJlbiwgbW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpO1xuICB9XG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gbW91bnRXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKG9mZnNjcmVlblByb3BzLCBtb2RlLCByZW5kZXJMYW5lcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbmAgaXMgYGFueWAgdHlwZWQsIHNvIHdlIHVzZVxuICAvLyB0aGlzIHdyYXBwZXIgZnVuY3Rpb24gdG8gY29uc3RyYWluIGl0LlxuICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKG9mZnNjcmVlblByb3BzLCBtb2RlLCBOb0xhbmVzLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcykge1xuICAvLyBUaGUgcHJvcHMgYXJndW1lbnQgdG8gYGNyZWF0ZVdvcmtJblByb2dyZXNzYCBpcyBgYW55YCB0eXBlZCwgc28gd2UgdXNlIHRoaXNcbiAgLy8gd3JhcHBlciBmdW5jdGlvbiB0byBjb25zdHJhaW4gaXQuXG4gIHJldHVybiBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50LCBvZmZzY3JlZW5Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckxhbmVzKSB7XG4gIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xuICB2YXIgY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nO1xuICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc09mZnNjcmVlbkZpYmVyKGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCwge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH0pO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgfVxuXG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gbnVsbDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIC8vIERlbGV0ZSB0aGUgZmFsbGJhY2sgY2hpbGQgZnJhZ21lbnRcbiAgICB2YXIgZGVsZXRpb25zID0gd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gW2N1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnRdO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCk7XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUZhbGxiYWNrQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHByaW1hcnlDaGlsZHJlbiwgZmFsbGJhY2tDaGlsZHJlbiwgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG1vZGUgPSB3b3JrSW5Qcm9ncmVzcy5tb2RlO1xuICB2YXIgY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50ID0gY3VycmVudC5jaGlsZDtcbiAgdmFyIGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZztcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICdoaWRkZW4nLFxuICAgIGNoaWxkcmVuOiBwcmltYXJ5Q2hpbGRyZW5cbiAgfTtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICggLy8gSW4gbGVnYWN5IG1vZGUsIHdlIGNvbW1pdCB0aGUgcHJpbWFyeSB0cmVlIGFzIGlmIGl0IHN1Y2Nlc3NmdWxseVxuICAvLyBjb21wbGV0ZWQsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLlxuICAobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlICYmIC8vIE1ha2Ugc3VyZSB3ZSdyZSBvbiB0aGUgc2Vjb25kIHBhc3MsIGkuZS4gdGhlIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQgd2FzXG4gIC8vIGFscmVhZHkgY2xvbmVkLiBJbiBsZWdhY3kgbW9kZSwgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGlzIGlzbid0IHRydWUgaXNcbiAgLy8gd2hlbiBEZXZUb29scyBmb3JjZXMgdXMgdG8gZGlzcGxheSBhIGZhbGxiYWNrOyB3ZSBza2lwIHRoZSBmaXJzdCByZW5kZXJcbiAgLy8gcGFzcyBlbnRpcmVseSBhbmQgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIHRoZSBmYWxsYmFjay4gKEluIENvbmN1cnJlbnRcbiAgLy8gTW9kZSwgU3VzcGVuc2VMaXN0IGNhbiBhbHNvIHRyaWdnZXIgdGhpcyBzY2VuYXJpbywgYnV0IHRoaXMgaXMgYSBsZWdhY3ktXG4gIC8vIG9ubHkgY29kZXBhdGguKVxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCAhPT0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50KSB7XG4gICAgdmFyIHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHByb2dyZXNzZWRQcmltYXJ5RnJhZ21lbnQ7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzID0gcHJpbWFyeUNoaWxkUHJvcHM7XG5cbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgLy8gUmVzZXQgdGhlIGR1cmF0aW9ucyBmcm9tIHRoZSBmaXJzdCBwYXNzIHNvIHRoZXkgYXJlbid0IGluY2x1ZGVkIGluIHRoZVxuICAgICAgLy8gZmluYWwgYW1vdW50cy4gVGhpcyBzZWVtcyBjb3VudGVyaW50dWl0aXZlLCBzaW5jZSB3ZSdyZSBpbnRlbnRpb25hbGx5XG4gICAgICAvLyBub3QgbWVhc3VyaW5nIHBhcnQgb2YgdGhlIHJlbmRlciBwaGFzZSwgYnV0IHRoaXMgbWFrZXMgaXQgbWF0Y2ggd2hhdCB3ZVxuICAgICAgLy8gZG8gaW4gQ29uY3VycmVudCBNb2RlLlxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsRHVyYXRpb24gPSAwO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuYWN0dWFsU3RhcnRUaW1lID0gLTE7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnRyZWVCYXNlRHVyYXRpb247XG4gICAgfSAvLyBUaGUgZmFsbGJhY2sgZmliZXIgd2FzIGFkZGVkIGFzIGEgZGVsZXRpb24gZHVyaW5nIHRoZSBmaXJzdCBwYXNzLlxuICAgIC8vIEhvd2V2ZXIsIHNpbmNlIHdlJ3JlIGdvaW5nIHRvIHJlbWFpbiBvbiB0aGUgZmFsbGJhY2ssIHdlIG5vIGxvbmdlciB3YW50XG4gICAgLy8gdG8gZGVsZXRlIGl0LlxuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5kZWxldGlvbnMgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQsIHByaW1hcnlDaGlsZFByb3BzKTsgLy8gU2luY2Ugd2UncmUgcmV1c2luZyBhIGN1cnJlbnQgdHJlZSwgd2UgbmVlZCB0byByZXVzZSB0aGUgZmxhZ3MsIHRvby5cbiAgICAvLyAoV2UgZG9uJ3QgZG8gdGhpcyBpbiBsZWdhY3kgbW9kZSwgYmVjYXVzZSBpbiBsZWdhY3kgbW9kZSB3ZSBkb24ndCByZS11c2VcbiAgICAvLyB0aGUgY3VycmVudCB0cmVlOyBzZWUgcHJldmlvdXMgYnJhbmNoLilcblxuICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnN1YnRyZWVGbGFncyA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zdWJ0cmVlRmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB9XG5cbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcblxuICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCAhPT0gbnVsbCkge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRGYWxsYmFja0NoaWxkRnJhZ21lbnQsIGZhbGxiYWNrQ2hpbGRyZW4pO1xuICB9IGVsc2Uge1xuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckxhbmVzLCBudWxsKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gICAgLy8gbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5mbGFncyB8PSBQbGFjZW1lbnQ7XG4gIH1cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIHJlY292ZXJhYmxlRXJyb3IpIHtcbiAgLy8gRmFsbGluZyBiYWNrIHRvIGNsaWVudCByZW5kZXJpbmcuIEJlY2F1c2UgdGhpcyBoYXMgcGVyZm9ybWFuY2VcbiAgLy8gaW1wbGljYXRpb25zLCBpdCdzIGNvbnNpZGVyZWQgYSByZWNvdmVyYWJsZSBlcnJvciwgZXZlbiB0aG91Z2ggdGhlIHVzZXJcbiAgLy8gbGlrZWx5IHdvbid0IG9ic2VydmUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGUgVUkuXG4gIC8vXG4gIC8vIFRoZSBlcnJvciBpcyBwYXNzZWQgaW4gYXMgYW4gYXJndW1lbnQgdG8gZW5mb3JjZSB0aGF0IGV2ZXJ5IGNhbGxlciBwcm92aWRlXG4gIC8vIGEgY3VzdG9tIG1lc3NhZ2UsIG9yIGV4cGxpY2l0bHkgb3B0IG91dCAoY3VycmVudGx5IHRoZSBvbmx5IHBhdGggdGhhdCBvcHRzXG4gIC8vIG91dCBpcyBsZWdhY3kgbW9kZTsgZXZlcnkgY29uY3VycmVudCBwYXRoIHByb3ZpZGVzIGFuIGVycm9yKS5cbiAgaWYgKHJlY292ZXJhYmxlRXJyb3IgIT09IG51bGwpIHtcbiAgICBxdWV1ZUh5ZHJhdGlvbkVycm9yKHJlY292ZXJhYmxlRXJyb3IpO1xuICB9IC8vIFRoaXMgd2lsbCBhZGQgdGhlIG9sZCBmaWJlciB0byB0aGUgZGVsZXRpb24gbGlzdFxuXG5cbiAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTsgLy8gV2UncmUgbm93IG5vdCBzdXNwZW5kZWQgbm9yIGRlaHlkcmF0ZWQuXG5cbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gbW91bnRTdXNwZW5zZVByaW1hcnlDaGlsZHJlbih3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuKTsgLy8gTmVlZHMgYSBwbGFjZW1lbnQgZWZmZWN0IGJlY2F1c2UgdGhlIHBhcmVudCAodGhlIFN1c3BlbnNlIGJvdW5kYXJ5KSBhbHJlYWR5XG4gIC8vIG1vdW50ZWQgYnV0IHRoaXMgaXMgYSBuZXcgZmliZXIuXG5cbiAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgcmV0dXJuIHByaW1hcnlDaGlsZEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcHJpbWFyeUNoaWxkcmVuLCBmYWxsYmFja0NoaWxkcmVuLCByZW5kZXJMYW5lcykge1xuICB2YXIgZmliZXJNb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIHByaW1hcnlDaGlsZFByb3BzID0ge1xuICAgIG1vZGU6ICd2aXNpYmxlJyxcbiAgICBjaGlsZHJlbjogcHJpbWFyeUNoaWxkcmVuXG4gIH07XG4gIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IG1vdW50V29ya0luUHJvZ3Jlc3NPZmZzY3JlZW5GaWJlcihwcmltYXJ5Q2hpbGRQcm9wcywgZmliZXJNb2RlKTtcbiAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZhbGxiYWNrQ2hpbGRyZW4sIGZpYmVyTW9kZSwgcmVuZGVyTGFuZXMsIG51bGwpOyAvLyBOZWVkcyBhIHBsYWNlbWVudCBlZmZlY3QgYmVjYXVzZSB0aGUgcGFyZW50ICh0aGUgU3VzcGVuc2VcbiAgLy8gYm91bmRhcnkpIGFscmVhZHkgbW91bnRlZCBidXQgdGhpcyBpcyBhIG5ldyBmaWJlci5cblxuICBmYWxsYmFja0NoaWxkRnJhZ21lbnQuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgZmFsbGJhY2tDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHByaW1hcnlDaGlsZEZyYWdtZW50O1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgLy8gV2Ugd2lsbCBoYXZlIGRyb3BwZWQgdGhlIGVmZmVjdCBsaXN0IHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgIC8vIGRlbGV0aW9uLiBXZSBuZWVkIHRvIHJlY29uY2lsZSB0byBkZWxldGUgdGhlIGN1cnJlbnQgY2hpbGQuXG4gICAgcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckxhbmVzKTtcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0NoaWxkRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIG1vdW50RGVoeWRyYXRlZFN1c3BlbnNlQ29tcG9uZW50KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCByZW5kZXJMYW5lcykge1xuICAvLyBEdXJpbmcgdGhlIGZpcnN0IHBhc3MsIHdlJ2xsIGJhaWwgb3V0IGFuZCBub3QgZHJpbGwgaW50byB0aGUgY2hpbGRyZW4uXG4gIC8vIEluc3RlYWQsIHdlJ2xsIGxlYXZlIHRoZSBjb250ZW50IGluIHBsYWNlIGFuZCB0cnkgdG8gaHlkcmF0ZSBpdCBsYXRlci5cbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICB7XG4gICAgICBlcnJvcignQ2Fubm90IGh5ZHJhdGUgU3VzcGVuc2UgaW4gbGVnYWN5IG1vZGUuIFN3aXRjaCBmcm9tICcgKyAnUmVhY3RET00uaHlkcmF0ZShlbGVtZW50LCBjb250YWluZXIpIHRvICcgKyAnUmVhY3RET01DbGllbnQuaHlkcmF0ZVJvb3QoY29udGFpbmVyLCA8QXBwIC8+KScgKyAnLnJlbmRlcihlbGVtZW50KSBvciByZW1vdmUgdGhlIFN1c3BlbnNlIGNvbXBvbmVudHMgZnJvbSAnICsgJ3RoZSBzZXJ2ZXIgcmVuZGVyZWQgY29tcG9uZW50cy4nKTtcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKFN5bmNMYW5lKTtcbiAgfSBlbHNlIGlmIChpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhzdXNwZW5zZUluc3RhbmNlKSkge1xuICAgIC8vIFRoaXMgaXMgYSBjbGllbnQtb25seSBib3VuZGFyeS4gU2luY2Ugd2Ugd29uJ3QgZ2V0IGFueSBjb250ZW50IGZyb20gdGhlIHNlcnZlclxuICAgIC8vIGZvciB0aGlzLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIHRoYXQgYXQgYSBoaWdoZXIgcHJpb3JpdHkgYmFzZWQgb24gd2hlbiBpdCB3b3VsZFxuICAgIC8vIGhhdmUgdGltZWQgb3V0LiBJbiB0aGVvcnkgd2UgY291bGQgcmVuZGVyIGl0IGluIHRoaXMgcGFzcyBidXQgaXQgd291bGQgaGF2ZSB0aGVcbiAgICAvLyB3cm9uZyBwcmlvcml0eSBhc3NvY2lhdGVkIHdpdGggaXQgYW5kIHdpbGwgcHJldmVudCBoeWRyYXRpb24gb2YgcGFyZW50IHBhdGguXG4gICAgLy8gSW5zdGVhZCwgd2UnbGwgbGVhdmUgd29yayBsZWZ0IG9uIGl0IHRvIHJlbmRlciBpdCBpbiBhIHNlcGFyYXRlIGNvbW1pdC5cbiAgICAvLyBUT0RPIFRoaXMgdGltZSBzaG91bGQgYmUgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIHNlcnZlciByZW5kZXJlZCByZXNwb25zZSB0aGF0IGlzXG4gICAgLy8gYSBwYXJlbnQgdG8gdGhpcyBib3VuZGFyeSB3YXMgZGlzcGxheWVkLiBIb3dldmVyLCBzaW5jZSB3ZSBjdXJyZW50bHkgZG9uJ3QgaGF2ZVxuICAgIC8vIGEgcHJvdG9jb2wgdG8gdHJhbnNmZXIgdGhhdCB0aW1lLCB3ZSdsbCBqdXN0IGVzdGltYXRlIGl0IGJ5IHVzaW5nIHRoZSBjdXJyZW50XG4gICAgLy8gdGltZS4gVGhpcyB3aWxsIG1lYW4gdGhhdCBTdXNwZW5zZSB0aW1lb3V0cyBhcmUgc2xpZ2h0bHkgc2hpZnRlZCB0byBsYXRlciB0aGFuXG4gICAgLy8gdGhleSBzaG91bGQgYmUuXG4gICAgLy8gU2NoZWR1bGUgYSBub3JtYWwgcHJpIHVwZGF0ZSB0byByZW5kZXIgdGhpcyBjb250ZW50LlxuICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gbGFuZVRvTGFuZXMoRGVmYXVsdEh5ZHJhdGlvbkxhbmUpO1xuICB9IGVsc2Uge1xuICAgIC8vIFdlJ2xsIGNvbnRpbnVlIGh5ZHJhdGluZyB0aGUgcmVzdCBhdCBvZmZzY3JlZW4gcHJpb3JpdHkgc2luY2Ugd2UnbGwgYWxyZWFkeVxuICAgIC8vIGJlIHNob3dpbmcgdGhlIHJpZ2h0IGNvbnRlbnQgY29taW5nIGZyb20gdGhlIHNlcnZlciwgaXQgaXMgbm8gcnVzaC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGxhbmVUb0xhbmVzKE9mZnNjcmVlbkxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZURlaHlkcmF0ZWRTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZGlkU3VzcGVuZCwgbmV4dFByb3BzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLCByZW5kZXJMYW5lcykge1xuICBpZiAoIWRpZFN1c3BlbmQpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCByZW5kZXIgcGFzcy4gQXR0ZW1wdCB0byBoeWRyYXRlLlxuICAgIC8vIFdlIHNob3VsZCBuZXZlciBiZSBoeWRyYXRpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IGlzIHRoZSBmaXJzdCBwYXNzLFxuICAgIC8vIGJ1dCBhZnRlciB3ZSd2ZSBhbHJlYWR5IGNvbW1pdHRlZCBvbmNlLlxuICAgIHdhcm5JZkh5ZHJhdGluZygpO1xuXG4gICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIC8vIFRPRE86IFdoZW4gd2UgZGVsZXRlIGxlZ2FjeSBtb2RlLCB3ZSBzaG91bGQgbWFrZSB0aGlzIGVycm9yIGFyZ3VtZW50XG4gICAgICAvLyByZXF1aXJlZCDigJQgZXZlcnkgY29uY3VycmVudCBtb2RlIHBhdGggdGhhdCBjYXVzZXMgaHlkcmF0aW9uIHRvXG4gICAgICAvLyBkZS1vcHQgdG8gY2xpZW50IHJlbmRlcmluZyBzaG91bGQgaGF2ZSBhbiBlcnJvciBtZXNzYWdlLlxuICAgICAgbnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKHN1c3BlbnNlSW5zdGFuY2UpKSB7XG4gICAgICAvLyBUaGlzIGJvdW5kYXJ5IGlzIGluIGEgcGVybWFuZW50IGZhbGxiYWNrIHN0YXRlLiBJbiB0aGlzIGNhc2UsIHdlJ2xsIG5ldmVyXG4gICAgICAvLyBnZXQgYW4gdXBkYXRlIGFuZCB3ZSdsbCBuZXZlciBiZSBhYmxlIHRvIGh5ZHJhdGUgdGhlIGZpbmFsIGNvbnRlbnQuIExldCdzIGp1c3QgdHJ5IHRoZVxuICAgICAgLy8gY2xpZW50IHNpZGUgcmVuZGVyIGluc3RlYWQuXG4gICAgICB2YXIgZGlnZXN0LCBtZXNzYWdlLCBzdGFjaztcblxuICAgICAge1xuICAgICAgICB2YXIgX2dldFN1c3BlbnNlSW5zdGFuY2VGID0gZ2V0U3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrRXJyb3JEZXRhaWxzKHN1c3BlbnNlSW5zdGFuY2UpO1xuXG4gICAgICAgIGRpZ2VzdCA9IF9nZXRTdXNwZW5zZUluc3RhbmNlRi5kaWdlc3Q7XG4gICAgICAgIG1lc3NhZ2UgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYubWVzc2FnZTtcbiAgICAgICAgc3RhY2sgPSBfZ2V0U3VzcGVuc2VJbnN0YW5jZUYuc3RhY2s7XG4gICAgICB9XG5cbiAgICAgIHZhciBlcnJvcjtcblxuICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignVGhlIHNlcnZlciBjb3VsZCBub3QgZmluaXNoIHRoaXMgU3VzcGVuc2UgYm91bmRhcnksIGxpa2VseSAnICsgJ2R1ZSB0byBhbiBlcnJvciBkdXJpbmcgc2VydmVyIHJlbmRlcmluZy4gU3dpdGNoZWQgdG8gJyArICdjbGllbnQgcmVuZGVyaW5nLicpO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUoZXJyb3IsIGRpZ2VzdCwgc3RhY2spO1xuICAgICAgcmV0dXJuIHJldHJ5U3VzcGVuc2VDb21wb25lbnRXaXRob3V0SHlkcmF0aW5nKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcywgY2FwdHVyZWRWYWx1ZSk7XG4gICAgfVxuICAgIC8vIGFueSBjb250ZXh0IGhhcyBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHRyZWF0IGlzIGFzIGlmIHRoZSBpbnB1dCBtaWdodCBoYXZlIGNoYW5nZWQuXG5cblxuICAgIHZhciBoYXNDb250ZXh0Q2hhbmdlZCA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIGN1cnJlbnQuY2hpbGRMYW5lcyk7XG5cbiAgICBpZiAoZGlkUmVjZWl2ZVVwZGF0ZSB8fCBoYXNDb250ZXh0Q2hhbmdlZCkge1xuICAgICAgLy8gVGhpcyBib3VuZGFyeSBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgZmlyc3QgcmVuZGVyLiBUaGlzIG1lYW5zIHRoYXQgd2UgYXJlIG5vdyB1bmFibGUgdG9cbiAgICAgIC8vIGh5ZHJhdGUgaXQuIFdlIG1pZ2h0IHN0aWxsIGJlIGFibGUgdG8gaHlkcmF0ZSBpdCB1c2luZyBhIGhpZ2hlciBwcmlvcml0eSBsYW5lLlxuICAgICAgdmFyIHJvb3QgPSBnZXRXb3JrSW5Qcm9ncmVzc1Jvb3QoKTtcblxuICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgPSBnZXRCdW1wZWRMYW5lRm9ySHlkcmF0aW9uKHJvb3QsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICBpZiAoYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSAhPT0gTm9MYW5lICYmIGF0dGVtcHRIeWRyYXRpb25BdExhbmUgIT09IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lKSB7XG4gICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBtdXRhdGluZyBzaW5jZSB0aGlzIHJlbmRlciB3aWxsIGdldCBpbnRlcnJ1cHRlZC4gVGhpc1xuICAgICAgICAgIC8vIGlzIG9uZSBvZiB0aGUgdmVyeSByYXJlIHRpbWVzIHdoZXJlIHdlIG11dGF0ZSB0aGUgY3VycmVudCB0cmVlXG4gICAgICAgICAgLy8gZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICAgICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBhdHRlbXB0SHlkcmF0aW9uQXRMYW5lOyAvLyBUT0RPOiBJZGVhbGx5IHRoaXMgd291bGQgaW5oZXJpdCB0aGUgZXZlbnQgdGltZSBvZiB0aGUgY3VycmVudCByZW5kZXJcblxuICAgICAgICAgIHZhciBldmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgICAgICAgICBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoY3VycmVudCwgYXR0ZW1wdEh5ZHJhdGlvbkF0TGFuZSk7XG4gICAgICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGN1cnJlbnQsIGF0dGVtcHRIeWRyYXRpb25BdExhbmUsIGV2ZW50VGltZSk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSWYgd2UgaGF2ZSBzY2hlZHVsZWQgaGlnaGVyIHByaSB3b3JrIGFib3ZlLCB0aGlzIHdpbGwgcHJvYmFibHkganVzdCBhYm9ydCB0aGUgcmVuZGVyXG4gICAgICAvLyBzaW5jZSB3ZSBub3cgaGF2ZSBoaWdoZXIgcHJpb3JpdHkgd29yaywgYnV0IGluIGNhc2UgaXQgZG9lc24ndCwgd2UgbmVlZCB0byBwcmVwYXJlIHRvXG4gICAgICAvLyByZW5kZXIgc29tZXRoaW5nLCBpZiB3ZSB0aW1lIG91dC4gRXZlbiBpZiB0aGF0IHJlcXVpcmVzIHVzIHRvIGRlbGV0ZSBldmVyeXRoaW5nIGFuZFxuICAgICAgLy8gc2tpcCBoeWRyYXRpb24uXG4gICAgICAvLyBEZWxheSBoYXZpbmcgdG8gZG8gdGhpcyBhcyBsb25nIGFzIHRoZSBzdXNwZW5zZSB0aW1lb3V0IGFsbG93cyB1cy5cblxuXG4gICAgICByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCk7XG5cbiAgICAgIHZhciBfY2FwdHVyZWRWYWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGlzIFN1c3BlbnNlIGJvdW5kYXJ5IHJlY2VpdmVkIGFuIHVwZGF0ZSBiZWZvcmUgaXQgZmluaXNoZWQgJyArICdoeWRyYXRpbmcuIFRoaXMgY2F1c2VkIHRoZSBib3VuZGFyeSB0byBzd2l0Y2ggdG8gY2xpZW50IHJlbmRlcmluZy4gJyArICdUaGUgdXN1YWwgd2F5IHRvIGZpeCB0aGlzIGlzIHRvIHdyYXAgdGhlIG9yaWdpbmFsIHVwZGF0ZSAnICsgJ2luIHN0YXJ0VHJhbnNpdGlvbi4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGlzU3VzcGVuc2VJbnN0YW5jZVBlbmRpbmcoc3VzcGVuc2VJbnN0YW5jZSkpIHtcbiAgICAgIC8vIFRoaXMgY29tcG9uZW50IGlzIHN0aWxsIHBlbmRpbmcgbW9yZSBkYXRhIGZyb20gdGhlIHNlcnZlciwgc28gd2UgY2FuJ3QgaHlkcmF0ZSBpdHNcbiAgICAgIC8vIGNvbnRlbnQuIFdlIHRyZWF0IGl0IGFzIGlmIHRoaXMgY29tcG9uZW50IHN1c3BlbmRlZCBpdHNlbGYuIEl0IG1pZ2h0IHNlZW0gYXMgaWZcbiAgICAgIC8vIHdlIGNvdWxkIGp1c3QgdHJ5IHRvIHJlbmRlciBpdCBjbGllbnQtc2lkZSBpbnN0ZWFkLiBIb3dldmVyLCB0aGlzIHdpbGwgcGVyZm9ybSBhXG4gICAgICAvLyBsb3Qgb2YgdW5uZWNlc3Nhcnkgd29yayBhbmQgaXMgdW5saWtlbHkgdG8gY29tcGxldGUgc2luY2UgaXQgb2Z0ZW4gd2lsbCBzdXNwZW5kXG4gICAgICAvLyBvbiBtaXNzaW5nIGRhdGEgYW55d2F5LiBBZGRpdGlvbmFsbHksIHRoZSBzZXJ2ZXIgbWlnaHQgYmUgYWJsZSB0byByZW5kZXIgbW9yZVxuICAgICAgLy8gdGhhbiB3ZSBjYW4gb24gdGhlIGNsaWVudCB5ZXQuIEluIHRoYXQgY2FzZSB3ZSdkIGVuZCB1cCB3aXRoIG1vcmUgZmFsbGJhY2sgc3RhdGVzXG4gICAgICAvLyBvbiB0aGUgY2xpZW50IHRoYW4gaWYgd2UganVzdCBsZWF2ZSBpdCBhbG9uZS4gSWYgdGhlIHNlcnZlciB0aW1lcyBvdXQgb3IgZXJyb3JzXG4gICAgICAvLyB0aGVzZSBzaG91bGQgdXBkYXRlIHRoaXMgYm91bmRhcnkgdG8gdGhlIHBlcm1hbmVudCBGYWxsYmFjayBzdGF0ZSBpbnN0ZWFkLlxuICAgICAgLy8gTWFyayBpdCBhcyBoYXZpbmcgY2FwdHVyZWQgKGkuZS4gc3VzcGVuZGVkKS5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIExlYXZlIHRoZSBjaGlsZCBpbiBwbGFjZS4gSS5lLiB0aGUgZGVoeWRyYXRlZCBmcmFnbWVudC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIHJldHJ5IHRoaXMgYm91bmRhcnkgb25jZSB0aGUgc2VydmVyIGhhcyBzZW50IHRoZSByZXN1bHQuXG5cbiAgICAgIHZhciByZXRyeSA9IHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkuYmluZChudWxsLCBjdXJyZW50KTtcbiAgICAgIHJlZ2lzdGVyU3VzcGVuc2VJbnN0YW5jZVJldHJ5KHN1c3BlbnNlSW5zdGFuY2UsIHJldHJ5KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBhdHRlbXB0LlxuICAgICAgcmVlbnRlckh5ZHJhdGlvblN0YXRlRnJvbURlaHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUluc3RhbmNlLCBzdXNwZW5zZVN0YXRlLnRyZWVDb250ZXh0KTtcbiAgICAgIHZhciBwcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlUHJpbWFyeUNoaWxkcmVuKHdvcmtJblByb2dyZXNzLCBwcmltYXJ5Q2hpbGRyZW4pOyAvLyBNYXJrIHRoZSBjaGlsZHJlbiBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcbiAgICAgIC8vIHRyZWUgaXMgcGFydCBvZiBhIGh5ZHJhdGluZyB0cmVlLiBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgY2hpbGRcbiAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXG4gICAgICAvLyBpbnNlcnRlZCBpbnRvIHRoZSBSZWFjdCB0cmVlIGhlcmUuIEl0IGp1c3QgaGFwcGVucyB0byBub3QgbmVlZCBET01cbiAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuXG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5mbGFncyB8PSBIeWRyYXRpbmc7XG4gICAgICByZXR1cm4gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCByZW5kZXIgcGFzcy4gV2UgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gaHlkcmF0ZWQsIGJ1dFxuICAgIC8vIHNvbWV0aGluZyBlaXRoZXIgc3VzcGVuZGVkIG9yIGVycm9yZWQuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRm9yY2VDbGllbnRSZW5kZXIpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBlcnJvcmVkIGR1cmluZyBoeWRyYXRpb24uIFRyeSBhZ2FpbiB3aXRob3V0IGh5ZHJhdGluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzICY9IH5Gb3JjZUNsaWVudFJlbmRlcjtcblxuICAgICAgdmFyIF9jYXB0dXJlZFZhbHVlMiA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUobmV3IEVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgaHlkcmF0aW5nIHRoaXMgU3VzcGVuc2UgYm91bmRhcnkuICcgKyAnU3dpdGNoZWQgdG8gY2xpZW50IHJlbmRlcmluZy4nKSk7XG5cbiAgICAgIHJldHVybiByZXRyeVN1c3BlbnNlQ29tcG9uZW50V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMsIF9jYXB0dXJlZFZhbHVlMik7XG4gICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyBTb21ldGhpbmcgc3VzcGVuZGVkIGFuZCB3ZSBzaG91bGQgc3RpbGwgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gTGVhdmUgdGhlIGV4aXN0aW5nIGNoaWxkIGluIHBsYWNlLlxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkOyAvLyBUaGUgZGVoeWRyYXRlZCBjb21wbGV0aW9uIHBhc3MgZXhwZWN0cyB0aGlzIGZsYWcgdG8gYmUgdGhlcmVcbiAgICAgIC8vIGJ1dCB0aGUgbm9ybWFsIHN1c3BlbnNlIHBhc3MgZG9lc24ndC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdXNwZW5kZWQgYnV0IHdlIHNob3VsZCBubyBsb25nZXIgYmUgaW4gZGVoeWRyYXRlZCBtb2RlLlxuICAgICAgLy8gVGhlcmVmb3JlIHdlIG5vdyBoYXZlIHRvIHJlbmRlciB0aGUgZmFsbGJhY2suXG4gICAgICB2YXIgbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcbiAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBtb3VudFN1c3BlbnNlRmFsbGJhY2tBZnRlclJldHJ5V2l0aG91dEh5ZHJhdGluZyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dFByaW1hcnlDaGlsZHJlbiwgbmV4dEZhbGxiYWNrQ2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQ0Lm1lbW9pemVkU3RhdGUgPSBtb3VudFN1c3BlbnNlT2Zmc2NyZWVuU3RhdGUocmVuZGVyTGFuZXMpO1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIoZmliZXIsIHJlbmRlckxhbmVzLCBwcm9wYWdhdGlvblJvb3QpIHtcbiAgZmliZXIubGFuZXMgPSBtZXJnZUxhbmVzKGZpYmVyLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5sYW5lcyA9IG1lcmdlTGFuZXMoYWx0ZXJuYXRlLmxhbmVzLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICBzY2hlZHVsZUNvbnRleHRXb3JrT25QYXJlbnRQYXRoKGZpYmVyLnJldHVybiwgcmVuZGVyTGFuZXMsIHByb3BhZ2F0aW9uUm9vdCk7XG59XG5cbmZ1bmN0aW9uIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgZmlyc3RDaGlsZCwgcmVuZGVyTGFuZXMpIHtcbiAgLy8gTWFyayBhbnkgU3VzcGVuc2UgYm91bmRhcmllcyB3aXRoIGZhbGxiYWNrcyBhcyBoYXZpbmcgd29yayB0byBkby5cbiAgLy8gSWYgdGhleSB3ZXJlIHByZXZpb3VzbHkgZm9yY2VkIGludG8gZmFsbGJhY2tzLCB0aGV5IG1heSBub3cgYmUgYWJsZVxuICAvLyB0byB1bmJsb2NrLlxuICB2YXIgbm9kZSA9IGZpcnN0Q2hpbGQ7XG5cbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgICB2YXIgc3RhdGUgPSBub2RlLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVN1c3BlbnNlV29ya09uRmliZXIobm9kZSwgcmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUxpc3RDb21wb25lbnQpIHtcbiAgICAgIC8vIElmIHRoZSB0YWlsIGlzIGhpZGRlbiB0aGVyZSBtaWdodCBub3QgYmUgYW4gU3VzcGVuc2UgYm91bmRhcmllc1xuICAgICAgLy8gdG8gc2NoZWR1bGUgd29yayBvbi4gSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgb24gdGhlXG4gICAgICAvLyBsaXN0IGl0c2VsZi5cbiAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gdHJhdmVyc2UgdG8gdGhlIGNoaWxkcmVuIG9mIHRoZSBsaXN0IHNpbmNlXG4gICAgICAvLyB0aGUgbGlzdCB3aWxsIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIHdoZW4gaXQgcmVyZW5kZXJzLlxuICAgICAgc2NoZWR1bGVTdXNwZW5zZVdvcmtPbkZpYmVyKG5vZGUsIHJlbmRlckxhbmVzLCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZExhc3RDb250ZW50Um93KGZpcnN0Q2hpbGQpIHtcbiAgLy8gVGhpcyBpcyBnb2luZyB0byBmaW5kIHRoZSBsYXN0IHJvdyBhbW9uZyB0aGVzZSBjaGlsZHJlbiB0aGF0IGlzIGFscmVhZHlcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcbiAgLy8gbmV3LiBJZiBhIHJvdyBoYXMgbXVsdGlwbGUgU3VzcGVuc2UgYm91bmRhcmllcywgYW55IG9mIHRoZW0gYmVpbmcgaW4gdGhlXG4gIC8vIGZhbGxiYWNrIHN0YXRlLCBjb3VudHMgYXMgdGhlIHdob2xlIHJvdyBiZWluZyBpbiBhIGZhbGxiYWNrIHN0YXRlLlxuICAvLyBOb3RlIHRoYXQgdGhlIFwicm93c1wiIHdpbGwgYmUgd29ya0luUHJvZ3Jlc3MsIGJ1dCBhbnkgbmVzdGVkIGNoaWxkcmVuXG4gIC8vIHdpbGwgc3RpbGwgYmUgY3VycmVudCBzaW5jZSB3ZSBoYXZlbid0IHJlbmRlcmVkIHRoZW0geWV0LiBUaGUgbW91bnRlZFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxuICB2YXIgcm93ID0gZmlyc3RDaGlsZDtcbiAgdmFyIGxhc3RDb250ZW50Um93ID0gbnVsbDtcblxuICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXG5cbiAgICBpZiAoY3VycmVudFJvdyAhPT0gbnVsbCAmJiBmaW5kRmlyc3RTdXNwZW5kZWQoY3VycmVudFJvdykgPT09IG51bGwpIHtcbiAgICAgIGxhc3RDb250ZW50Um93ID0gcm93O1xuICAgIH1cblxuICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIGxhc3RDb250ZW50Um93O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAocmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCAmJiByZXZlYWxPcmRlciAhPT0gJ2ZvcndhcmRzJyAmJiByZXZlYWxPcmRlciAhPT0gJ2JhY2t3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICd0b2dldGhlcicgJiYgIWRpZFdhcm5BYm91dFJldmVhbE9yZGVyW3JldmVhbE9yZGVyXSkge1xuICAgICAgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXJbcmV2ZWFsT3JkZXJdID0gdHJ1ZTtcblxuICAgICAgaWYgKHR5cGVvZiByZXZlYWxPcmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3dpdGNoIChyZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICAgIGNhc2UgJ2ZvcndhcmRzJzpcbiAgICAgICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1VzZSBsb3dlcmNhc2UgXCIlc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZm9yd2FyZCc6XG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlcnJvcignXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcIiVzc1wiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwidG9nZXRoZXJcIiwgXCJmb3J3YXJkc1wiIG9yIFwiYmFja3dhcmRzXCI/JywgcmV2ZWFsT3JkZXIpO1xuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJyVzIGlzIG5vdCBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJ0b2dldGhlclwiLCBcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIj8nLCByZXZlYWxPcmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XG4gICAgICBpZiAodGFpbE1vZGUgIT09ICdjb2xsYXBzZWQnICYmIHRhaWxNb2RlICE9PSAnaGlkZGVuJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgc3VwcG9ydGVkIHZhbHVlIGZvciB0YWlsIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFwiY29sbGFwc2VkXCIgb3IgXCJoaWRkZW5cIj8nLCB0YWlsTW9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHJldmVhbE9yZGVyICE9PSAnZm9yd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAnYmFja3dhcmRzJykge1xuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCc8U3VzcGVuc2VMaXN0IHRhaWw9XCIlc1wiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIi4gJyArICdEaWQgeW91IG1lYW4gdG8gc3BlY2lmeSByZXZlYWxPcmRlcj1cImZvcndhcmRzXCI/JywgdGFpbE1vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcbiAge1xuICAgIHZhciBpc0FuQXJyYXkgPSBpc0FycmF5KGNoaWxkU2xvdCk7XG4gICAgdmFyIGlzSXRlcmFibGUgPSAhaXNBbkFycmF5ICYmIHR5cGVvZiBnZXRJdGVyYXRvckZuKGNoaWxkU2xvdCkgPT09ICdmdW5jdGlvbic7XG5cbiAgICBpZiAoaXNBbkFycmF5IHx8IGlzSXRlcmFibGUpIHtcbiAgICAgIHZhciB0eXBlID0gaXNBbkFycmF5ID8gJ2FycmF5JyA6ICdpdGVyYWJsZSc7XG5cbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAoKHJldmVhbE9yZGVyID09PSAnZm9yd2FyZHMnIHx8IHJldmVhbE9yZGVyID09PSAnYmFja3dhcmRzJykgJiYgY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBjaGlsZHJlbiAhPT0gbnVsbCAmJiBjaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkcmVuW2ldLCBpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5JdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBjaGlsZHJlbkl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIHZhciBfaSA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKHN0ZXAudmFsdWUsIF9pKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKCdBIHNpbmdsZSByb3cgd2FzIHBhc3NlZCB0byBhIDxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9XCIlc1wiIC8+LiAnICsgJ1RoaXMgaXMgbm90IHVzZWZ1bCBzaW5jZSBpdCBuZWVkcyBtdWx0aXBsZSByb3dzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBwYXNzIG11bHRpcGxlIGNoaWxkcmVuIG9yIGFuIGFycmF5PycsIHJldmVhbE9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUpIHtcbiAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0ge1xuICAgICAgaXNCYWNrd2FyZHM6IGlzQmFja3dhcmRzLFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxuICAgICAgcmVuZGVyaW5nU3RhcnRUaW1lOiAwLFxuICAgICAgbGFzdDogbGFzdENvbnRlbnRSb3csXG4gICAgICB0YWlsOiB0YWlsLFxuICAgICAgdGFpbE1vZGU6IHRhaWxNb2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXG4gICAgcmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMgPSBpc0JhY2t3YXJkcztcbiAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XG4gICAgcmVuZGVyU3RhdGUubGFzdCA9IGxhc3RDb250ZW50Um93O1xuICAgIHJlbmRlclN0YXRlLnRhaWwgPSB0YWlsO1xuICAgIHJlbmRlclN0YXRlLnRhaWxNb2RlID0gdGFpbE1vZGU7XG4gIH1cbn0gLy8gVGhpcyBjYW4gZW5kIHVwIHJlbmRlcmluZyB0aGlzIGNvbXBvbmVudCBtdWx0aXBsZSBwYXNzZXMuXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXG4vLyBXZSBmaXJzdCByZW5kZXIgdGhlIGhlYWQuIElmIGFueXRoaW5nIGlzIGluIGZhbGxiYWNrIHN0YXRlLCB3ZSBkbyBhbm90aGVyXG4vLyBwYXNzIHRocm91Z2ggYmVnaW5Xb3JrIHRvIHJlcmVuZGVyIGFsbCBjaGlsZHJlbiAoaW5jbHVkaW5nIHRoZSB0YWlsKSB3aXRoXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXG4vLyBpbiBmYWxsYmFjayBzdGF0ZS4gVGhlbiB3ZSByZW5kZXIgZWFjaCByb3cgaW4gdGhlIHRhaWwgb25lLWJ5LW9uZS5cbi8vIFRoYXQgaGFwcGVucyBpbiB0aGUgY29tcGxldGVXb3JrIHBoYXNlIHdpdGhvdXQgZ29pbmcgYmFjayB0byBiZWdpbldvcmsuXG5cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcmV2ZWFsT3JkZXIgPSBuZXh0UHJvcHMucmV2ZWFsT3JkZXI7XG4gIHZhciB0YWlsTW9kZSA9IG5leHRQcm9wcy50YWlsO1xuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpO1xuICB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcik7XG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5ld0NoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcblxuICBpZiAoc2hvdWxkRm9yY2VGYWxsYmFjaykge1xuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGRpZFN1c3BlbmRCZWZvcmUgPSBjdXJyZW50ICE9PSBudWxsICYmIChjdXJyZW50LmZsYWdzICYgRGlkQ2FwdHVyZSkgIT09IE5vRmxhZ3M7XG5cbiAgICBpZiAoZGlkU3VzcGVuZEJlZm9yZSkge1xuICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSBmb3JjZWQgYSBmYWxsYmFjaywgd2UgbmVlZCB0byBzY2hlZHVsZSB3b3JrXG4gICAgICAvLyBvbiBhbnkgbmVzdGVkIGJvdW5kYXJpZXMgdG8gbGV0IHRoZW0ga25vdyB0byB0cnkgdG8gcmVuZGVyXG4gICAgICAvLyBhZ2Fpbi4gVGhpcyBpcyB0aGUgc2FtZSBhcyBjb250ZXh0IHVwZGF0aW5nLlxuICAgICAgcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCwgcmVuZGVyTGFuZXMpO1xuICAgIH1cblxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XG4gIH1cblxuICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xuXG4gIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgLy8gSW4gbGVnYWN5IG1vZGUsIFN1c3BlbnNlTGlzdCBkb2Vzbid0IHdvcmsgc28gd2UganVzdFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XG4gICAgICBjYXNlICdmb3J3YXJkcyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xuICAgICAgICAgIHZhciB0YWlsO1xuXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgd2hvbGUgbGlzdCBpcyBwYXJ0IG9mIHRoZSB0YWlsLlxuICAgICAgICAgICAgLy8gVE9ETzogV2UgY291bGQgZmFzdCBwYXRoIGJ5IGp1c3QgcmVuZGVyaW5nIHRoZSB0YWlsIG5vdy5cbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGVtIHNlcGFyYXRlbHkgbGF0ZXIuXG4gICAgICAgICAgICB0YWlsID0gbGFzdENvbnRlbnRSb3cuc2libGluZztcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgdGFpbCwgbGFzdENvbnRlbnRSb3csIHRhaWxNb2RlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gZmluZCB0aGUgZmlyc3Qgcm93IHRoYXQgaGFzIGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSB3ZSdyZSBnb2luZyB0byByZXZlcnNlIHRoZSBsaXN0IG9mIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcbiAgICAgICAgICAvLyBvcmRlci5cbiAgICAgICAgICB2YXIgX3RhaWwgPSBudWxsO1xuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFpbiBjb250ZW50LlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJvdztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XG4gICAgICAgICAgICByb3cuc2libGluZyA9IF90YWlsO1xuICAgICAgICAgICAgX3RhaWwgPSByb3c7XG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgaXMgbnVsbCwgd2UgY2FuIGNvbnRpbnVlIG9uIHRoZSB0YWlsIGltbWVkaWF0ZWx5LlxuXG5cbiAgICAgICAgICBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIHRydWUsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgX3RhaWwsIG51bGwsIC8vIGxhc3RcbiAgICAgICAgICB0YWlsTW9kZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICB7XG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcbiAgICAgICAgICBudWxsLCAvLyB0YWlsXG4gICAgICAgICAgbnVsbCwgLy8gbGFzdFxuICAgICAgICAgIHVuZGVmaW5lZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXG4gICAgICAgICAgLy8gYSBib3VuZGFyeS5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XG4gICAgLy8gYnV0IGF0IGNvbW1pdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJhY2sgaW5zZXJ0aW9ucyB3aGljaCB0aGUgbm9ybWFsXG4gICAgLy8gZmxvdyBkb2Vzbid0IGRvIGR1cmluZyBtb3VudC4gVGhpcyBkb2Vzbid0IGhhcHBlbiBhdCB0aGUgcm9vdCBiZWNhdXNlXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXCJjdXJyZW50XCIgd2l0aCBhIG51bGwgY2hpbGQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckxhbmVzKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nTm9WYWx1ZVByb3BPbkNvbnRleHRQcm92aWRlciA9IGZhbHNlO1xuXG5mdW5jdGlvbiB1cGRhdGVDb250ZXh0UHJvdmlkZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHZhciBwcm92aWRlclR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyVHlwZS5fY29udGV4dDtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgb2xkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzO1xuICB2YXIgbmV3VmFsdWUgPSBuZXdQcm9wcy52YWx1ZTtcblxuICB7XG4gICAgaWYgKCEoJ3ZhbHVlJyBpbiBuZXdQcm9wcykpIHtcbiAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIpIHtcbiAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ05vVmFsdWVQcm9wT25Db250ZXh0UHJvdmlkZXIgPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCdUaGUgYHZhbHVlYCBwcm9wIGlzIHJlcXVpcmVkIGZvciB0aGUgYDxDb250ZXh0LlByb3ZpZGVyPmAuIERpZCB5b3UgbWlzc3BlbGwgaXQgb3IgZm9yZ2V0IHRvIHBhc3MgaXQ/Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb3ZpZGVyUHJvcFR5cGVzID0gd29ya0luUHJvZ3Jlc3MudHlwZS5wcm9wVHlwZXM7XG5cbiAgICBpZiAocHJvdmlkZXJQcm9wVHlwZXMpIHtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3ZpZGVyUHJvcFR5cGVzLCBuZXdQcm9wcywgJ3Byb3AnLCAnQ29udGV4dC5Qcm92aWRlcicpO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuXG4gIHtcbiAgICBpZiAob2xkUHJvcHMgIT09IG51bGwpIHtcbiAgICAgIHZhciBvbGRWYWx1ZSA9IG9sZFByb3BzLnZhbHVlO1xuXG4gICAgICBpZiAob2JqZWN0SXMob2xkVmFsdWUsIG5ld1ZhbHVlKSkge1xuICAgICAgICAvLyBObyBjaGFuZ2UuIEJhaWxvdXQgZWFybHkgaWYgY2hpbGRyZW4gYXJlIHRoZSBzYW1lLlxuICAgICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XG4gICAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIGNvbnRleHQgdmFsdWUgY2hhbmdlZC4gU2VhcmNoIGZvciBtYXRjaGluZyBjb25zdW1lcnMgYW5kIHNjaGVkdWxlXG4gICAgICAgIC8vIHRoZW0gdG8gdXBkYXRlLlxuICAgICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV3UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGU7IC8vIFRoZSBsb2dpYyBiZWxvdyBmb3IgQ29udGV4dCBkaWZmZXJzIGRlcGVuZGluZyBvbiBQUk9EIG9yIERFViBtb2RlLiBJblxuICAvLyBERVYgbW9kZSwgd2UgY3JlYXRlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciBDb250ZXh0LkNvbnN1bWVyIHRoYXQgYWN0c1xuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcbiAgLy8gc28gd2UgdXNlIHRoZSBvbGQgYmVoYXZpb3VyIChDb250ZXh0LkNvbnN1bWVyIHJlZmVyZW5jZXMgQ29udGV4dCkgdG9cbiAgLy8gcmVkdWNlIHNpemUgYW5kIG92ZXJoZWFkLiBUaGUgc2VwYXJhdGUgb2JqZWN0IHJlZmVyZW5jZXMgY29udGV4dCB2aWFcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXCJfY29udGV4dFwiLCB3aGljaCBhbHNvIGdpdmVzIHVzIHRoZSBhYmlsaXR5IHRvIGNoZWNrXG4gIC8vIGluIERFViBtb2RlIGlmIHRoaXMgcHJvcGVydHkgZXhpc3RzIG9yIG5vdCBhbmQgd2FybiBpZiBpdCBkb2VzIG5vdC5cblxuICB7XG4gICAgaWYgKGNvbnRleHQuX2NvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXG4gICAgICAvLyBPciBpdCBtYXkgYmUgYmVjYXVzZSBpdCdzIG9sZGVyIFJlYWN0IHdoZXJlIHRoZXkncmUgdGhlIHNhbWUgdGhpbmcuXG4gICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gd2FybiBpZiB3ZSdyZSBzdXJlIGl0J3MgYSBuZXcgUmVhY3QuXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xuICAgICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lcikge1xuICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0PiBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9jb250ZXh0O1xuICAgIH1cbiAgfVxuXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHJlbmRlciA9IG5ld1Byb3BzLmNoaWxkcmVuO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0EgY29udGV4dCBjb25zdW1lciB3YXMgcmVuZGVyZWQgd2l0aCBtdWx0aXBsZSBjaGlsZHJlbiwgb3IgYSBjaGlsZCAnICsgXCJ0aGF0IGlzbid0IGEgZnVuY3Rpb24uIEEgY29udGV4dCBjb25zdW1lciBleHBlY3RzIGEgc2luZ2xlIGNoaWxkIFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgdmFyIG5ld1ZhbHVlID0gcmVhZENvbnRleHQoY29udGV4dCk7XG5cbiAge1xuICAgIG1hcmtDb21wb25lbnRSZW5kZXJTdGFydGVkKHdvcmtJblByb2dyZXNzKTtcbiAgfVxuXG4gIHZhciBuZXdDaGlsZHJlbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgbmV3Q2hpbGRyZW4gPSByZW5kZXIobmV3VmFsdWUpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfVxuXG4gIHtcbiAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyTGFuZXMpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCkge1xuICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVzZXRTdXNwZW5kZWRDdXJyZW50T25Nb3VudEluTGVnYWN5TW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGxhenkgY29tcG9uZW50IG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZCBpbnNpZGUgYSBub24tXG4gICAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXG4gICAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cbiAgICAgIC8vIERpc2Nvbm5lY3QgdGhlIGFsdGVybmF0ZSBwb2ludGVycy5cbiAgICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIFNpbmNlIHRoaXMgaXMgY29uY2VwdHVhbGx5IGEgbmV3IGZpYmVyLCBzY2hlZHVsZSBhIFBsYWNlbWVudCBlZmZlY3RcblxuICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50O1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIFJldXNlIHByZXZpb3VzIGRlcGVuZGVuY2llc1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICB9XG5cbiAge1xuICAgIC8vIERvbid0IHVwZGF0ZSBcImJhc2VcIiByZW5kZXIgdGltZXMgZm9yIGJhaWxvdXRzLlxuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nKCk7XG4gIH1cblxuICBtYXJrU2tpcHBlZFVwZGF0ZUxhbmVzKHdvcmtJblByb2dyZXNzLmxhbmVzKTsgLy8gQ2hlY2sgaWYgdGhlIGNoaWxkcmVuIGhhdmUgYW55IHBlbmRpbmcgd29yay5cblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpKSB7XG4gICAgLy8gVGhlIGNoaWxkcmVuIGRvbid0IGhhdmUgYW55IHdvcmsgZWl0aGVyLiBXZSBjYW4gc2tpcCB0aGVtLlxuICAgIC8vIFRPRE86IE9uY2Ugd2UgYWRkIGJhY2sgcmVzdW1pbmcsIHdlIHNob3VsZCBjaGVjayBpZiB0aGUgY2hpbGRyZW4gYXJlXG4gICAgLy8gYSB3b3JrLWluLXByb2dyZXNzIHNldC4gSWYgc28sIHdlIG5lZWQgdG8gdHJhbnNmZXIgdGhlaXIgZWZmZWN0cy5cbiAgICB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0gLy8gVGhpcyBmaWJlciBkb2Vzbid0IGhhdmUgd29yaywgYnV0IGl0cyBzdWJ0cmVlIGRvZXMuIENsb25lIHRoZSBjaGlsZFxuICAvLyBmaWJlcnMgYW5kIGNvbnRpbnVlLlxuXG5cbiAgY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gcmVtb3VudEZpYmVyKGN1cnJlbnQsIG9sZFdvcmtJblByb2dyZXNzLCBuZXdXb3JrSW5Qcm9ncmVzcykge1xuICB7XG4gICAgdmFyIHJldHVybkZpYmVyID0gb2xkV29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuXG4gICAgaWYgKHJldHVybkZpYmVyID09PSBudWxsKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3dhcCB0aGUgcm9vdCBmaWJlci4nKTtcbiAgICB9IC8vIERpc2Nvbm5lY3QgZnJvbSB0aGUgb2xkIGN1cnJlbnQuXG4gICAgLy8gSXQgd2lsbCBnZXQgZGVsZXRlZC5cblxuXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xuICAgIG9sZFdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIENvbm5lY3QgdG8gdGhlIG5ldyB0cmVlLlxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuaW5kZXggPSBvbGRXb3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5zaWJsaW5nID0gb2xkV29ya0luUHJvZ3Jlc3Muc2libGluZztcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5yZXR1cm4gPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmVmID0gb2xkV29ya0luUHJvZ3Jlc3MucmVmOyAvLyBSZXBsYWNlIHRoZSBjaGlsZC9zaWJsaW5nIHBvaW50ZXJzIGFib3ZlIGl0LlxuXG4gICAgaWYgKG9sZFdvcmtJblByb2dyZXNzID09PSByZXR1cm5GaWJlci5jaGlsZCkge1xuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHByZXZTaWJsaW5nID0gcmV0dXJuRmliZXIuY2hpbGQ7XG5cbiAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHBhcmVudCB0byBoYXZlIGEgY2hpbGQuJyk7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChwcmV2U2libGluZy5zaWJsaW5nICE9PSBvbGRXb3JrSW5Qcm9ncmVzcykge1xuICAgICAgICBwcmV2U2libGluZyA9IHByZXZTaWJsaW5nLnNpYmxpbmc7XG5cbiAgICAgICAgaWYgKHByZXZTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgdGhlIHByZXZpb3VzIHNpYmxpbmcuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHJldlNpYmxpbmcuc2libGluZyA9IG5ld1dvcmtJblByb2dyZXNzO1xuICAgIH0gLy8gRGVsZXRlIHRoZSBvbGQgZmliZXIgYW5kIHBsYWNlIHRoZSBuZXcgb25lLlxuICAgIC8vIFNpbmNlIHRoZSBvbGQgZmliZXIgaXMgZGlzY29ubmVjdGVkLCB3ZSBoYXZlIHRvIHNjaGVkdWxlIGl0IG1hbnVhbGx5LlxuXG5cbiAgICB2YXIgZGVsZXRpb25zID0gcmV0dXJuRmliZXIuZGVsZXRpb25zO1xuXG4gICAgaWYgKGRlbGV0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gW2N1cnJlbnRdO1xuICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gQ2hpbGREZWxldGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRpb25zLnB1c2goY3VycmVudCk7XG4gICAgfVxuXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gUGxhY2VtZW50OyAvLyBSZXN0YXJ0IHdvcmsgZnJvbSB0aGUgbmV3IGZpYmVyLlxuXG4gICAgcmV0dXJuIG5ld1dvcmtJblByb2dyZXNzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0KGN1cnJlbnQsIHJlbmRlckxhbmVzKSB7XG4gIC8vIEJlZm9yZSBwZXJmb3JtaW5nIGFuIGVhcmx5IGJhaWxvdXQsIHdlIG11c3QgY2hlY2sgaWYgdGhlcmUgYXJlIHBlbmRpbmdcbiAgLy8gdXBkYXRlcyBvciBjb250ZXh0LlxuICB2YXIgdXBkYXRlTGFuZXMgPSBjdXJyZW50LmxhbmVzO1xuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHVwZGF0ZUxhbmVzLCByZW5kZXJMYW5lcykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBObyBwZW5kaW5nIHVwZGF0ZSwgYnV0IGJlY2F1c2UgY29udGV4dCBpcyBwcm9wYWdhdGVkIGxhemlseSwgd2UgbmVlZFxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIC8vIFRoaXMgZmliZXIgZG9lcyBub3QgaGF2ZSBhbnkgcGVuZGluZyB3b3JrLiBCYWlsb3V0IHdpdGhvdXQgZW50ZXJpbmdcbiAgLy8gdGhlIGJlZ2luIHBoYXNlLiBUaGVyZSdzIHN0aWxsIHNvbWUgYm9va2tlZXBpbmcgd2UgdGhhdCBuZWVkcyB0byBiZSBkb25lXG4gIC8vIGluIHRoaXMgb3B0aW1pemVkIHBhdGgsIG1vc3RseSBwdXNoaW5nIHN0dWZmIG9udG8gdGhlIHN0YWNrLlxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHB1c2hIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAge1xuICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xuICAgICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICAgIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgY29udGV4dCwgbmV3VmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICB7XG4gICAgICAgIC8vIFByb2ZpbGVyIHNob3VsZCBvbmx5IGNhbGwgb25SZW5kZXIgd2hlbiBvbmUgb2YgaXRzIGRlc2NlbmRhbnRzIGFjdHVhbGx5IHJlbmRlcmVkLlxuICAgICAgICB2YXIgaGFzQ2hpbGRXb3JrID0gaW5jbHVkZXNTb21lTGFuZShyZW5kZXJMYW5lcywgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyk7XG5cbiAgICAgICAgaWYgKGhhc0NoaWxkV29yaykge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBSZXNldCBlZmZlY3QgZHVyYXRpb25zIGZvciB0aGUgbmV4dCBldmVudHVhbCBlZmZlY3QgcGhhc2UuXG4gICAgICAgICAgLy8gVGhlc2UgYXJlIHJlc2V0IGR1cmluZyByZW5kZXIgdG8gYWxsb3cgdGhlIERldlRvb2xzIGNvbW1pdCBob29rIGEgY2hhbmNlIHRvIHJlYWQgdGhlbSxcbiAgICAgICAgICB2YXIgc3RhdGVOb2RlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICAgIHN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgICAgc3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChzdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gV2Uga25vdyB0aGF0IHRoaXMgY29tcG9uZW50IHdpbGwgc3VzcGVuZCBhZ2FpbiBiZWNhdXNlIGlmIGl0IGhhc1xuICAgICAgICAgICAgLy8gYmVlbiB1bnN1c3BlbmRlZCBpdCBoYXMgY29tbWl0dGVkIGFzIGEgcmVzb2x2ZWQgU3VzcGVuc2UgY29tcG9uZW50LlxuICAgICAgICAgICAgLy8gSWYgaXQgbmVlZHMgdG8gYmUgcmV0cmllZCwgaXQgc2hvdWxkIGhhdmUgd29yayBzY2hlZHVsZWQgb24gaXQuXG5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7IC8vIFdlIHNob3VsZCBuZXZlciByZW5kZXIgdGhlIGNoaWxkcmVuIG9mIGEgZGVoeWRyYXRlZCBib3VuZGFyeSB1bnRpbCB3ZVxuICAgICAgICAgICAgLy8gdXBncmFkZSBpdC4gV2UgcmV0dXJuIG51bGwgaW5zdGVhZCBvZiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrLlxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9IC8vIElmIHRoaXMgYm91bmRhcnkgaXMgY3VycmVudGx5IHRpbWVkIG91dCwgd2UgbmVlZCB0byBkZWNpZGVcbiAgICAgICAgICAvLyB3aGV0aGVyIHRvIHJldHJ5IHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBvciB0byBza2lwIG92ZXIgaXQgYW5kXG4gICAgICAgICAgLy8gZ28gc3RyYWlnaHQgdG8gdGhlIGZhbGxiYWNrLiBDaGVjayB0aGUgcHJpb3JpdHkgb2YgdGhlIHByaW1hcnlcbiAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cblxuXG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgdmFyIHByaW1hcnlDaGlsZExhbmVzID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRMYW5lcztcblxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHJlbmRlckxhbmVzLCBwcmltYXJ5Q2hpbGRMYW5lcykpIHtcbiAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGhhdmUgcGVuZGluZyB3b3JrLiBVc2UgdGhlIG5vcm1hbCBwYXRoXG4gICAgICAgICAgICAvLyB0byBhdHRlbXB0IHRvIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhZ2Fpbi5cbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgcHJpbWFyeSBjaGlsZCBmcmFnbWVudCBkb2VzIG5vdCBoYXZlIHBlbmRpbmcgd29yayBtYXJrZWRcbiAgICAgICAgICAgIC8vIG9uIGl0XG4gICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gZG8gbm90IGhhdmUgcGVuZGluZyB3b3JrIHdpdGggc3VmZmljaWVudFxuICAgICAgICAgICAgLy8gcHJpb3JpdHkuIEJhaWxvdXQuXG5cbiAgICAgICAgICAgIHZhciBjaGlsZCA9IGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoZSBmYWxsYmFjayBjaGlsZHJlbiBoYXZlIHBlbmRpbmcgd29yay4gU2tpcCBvdmVyIHRoZVxuICAgICAgICAgICAgICAvLyBwcmltYXJ5IGNoaWxkcmVuIGFuZCB3b3JrIG9uIHRoZSBmYWxsYmFjay5cbiAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnNpYmxpbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBOb3RlOiBXZSBjYW4gcmV0dXJuIGBudWxsYCBoZXJlIGJlY2F1c2Ugd2UgYWxyZWFkeSBjaGVja2VkXG4gICAgICAgICAgICAgIC8vIHdoZXRoZXIgdGhlcmUgd2VyZSBuZXN0ZWQgY29udGV4dCBjb25zdW1lcnMsIHZpYSB0aGUgY2FsbCB0b1xuICAgICAgICAgICAgICAvLyBgYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29ya2AgYWJvdmUuXG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gKGN1cnJlbnQuZmxhZ3MgJiBEaWRDYXB0dXJlKSAhPT0gTm9GbGFncztcblxuICAgICAgICB2YXIgX2hhc0NoaWxkV29yayA9IGluY2x1ZGVzU29tZUxhbmUocmVuZGVyTGFuZXMsIHdvcmtJblByb2dyZXNzLmNoaWxkTGFuZXMpO1xuXG4gICAgICAgIGlmIChkaWRTdXNwZW5kQmVmb3JlKSB7XG4gICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcbiAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGNoaWxkcmVuIHRoZW4gd2UncmUgc3RpbGwgaW4gcHJvZ3Jlc3NpdmUgbG9hZGluZyBzdGF0ZS5cbiAgICAgICAgICAgIC8vIFNvbWV0aGluZyBtaWdodCBnZXQgdW5ibG9ja2VkIGJ5IHN0YXRlIHVwZGF0ZXMgb3IgcmV0cmllcyBpbiB0aGVcbiAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcbiAgICAgICAgICAgIC8vIHBhdGggdG8gY29tcHV0ZSB0aGUgY29ycmVjdCB0YWlsLlxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlTGlzdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxuICAgICAgICAgIC8vIHRoZW0gZ290IHJldHJpZWQgc28gdGhleSdsbCBzdGlsbCBiZSBibG9ja2VkIGluIHRoZSBzYW1lIHdheVxuICAgICAgICAgIC8vIGFzIGJlZm9yZS4gV2UgY2FuIGZhc3QgYmFpbCBvdXQuXG5cblxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgIH0gLy8gSWYgbm90aGluZyBzdXNwZW5kZWQgYmVmb3JlIGFuZCB3ZSdyZSByZW5kZXJpbmcgdGhlIHNhbWUgY2hpbGRyZW4sXG4gICAgICAgIC8vIHRoZW4gdGhlIHRhaWwgZG9lc24ndCBtYXR0ZXIuIEFueXRoaW5nIG5ldyB0aGF0IHN1c3BlbmRzIHdpbGwgd29ya1xuICAgICAgICAvLyBpbiB0aGUgXCJ0b2dldGhlclwiIG1vZGUsIHNvIHdlIGNhbiBjb250aW51ZSBmcm9tIHRoZSBzdGF0ZSB3ZSBoYWQuXG5cblxuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFJlc2V0IHRvIHRoZSBcInRvZ2V0aGVyXCIgbW9kZSBpbiBjYXNlIHdlJ3ZlIHN0YXJ0ZWQgYSBkaWZmZXJlbnRcbiAgICAgICAgICAvLyB1cGRhdGUgaW4gdGhlIHBhc3QgYnV0IGRpZG4ndCBjb21wbGV0ZSBpdC5cbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnRhaWwgPSBudWxsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLmxhc3RFZmZlY3QgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KTtcblxuICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGNoaWxkcmVuIGhhZCBhbnkgd29yaywgdGhhdCBtZWFucyB0aGF0IG5vbmUgb2ZcbiAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcbiAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gTmVlZCB0byBjaGVjayBpZiB0aGUgdHJlZSBzdGlsbCBuZWVkcyB0byBiZSBkZWZlcnJlZC4gVGhpcyBpc1xuICAgICAgICAvLyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBsb2dpYyB1c2VkIGluIHRoZSBub3JtYWwgdXBkYXRlIHBhdGgsXG4gICAgICAgIC8vIHNvIHdlJ2xsIGp1c3QgZW50ZXIgdGhhdC4gVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB3ZSdsbCBiYWlsIG91dFxuICAgICAgICAvLyBhdCB0aGUgbmV4dCBsZXZlbCBpbnN0ZWFkIG9mIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjaGlsZCBwcm9wc1xuICAgICAgICAvLyBoYXZlIG5vdCBjaGFuZ2VkLiBXaGljaCBpcyBmaW5lLlxuICAgICAgICAvLyBUT0RPOiBQcm9iYWJseSBzaG91bGQgcmVmYWN0b3IgYGJlZ2luV29ya2AgdG8gc3BsaXQgdGhlIGJhaWxvdXRcbiAgICAgICAgLy8gcGF0aCBmcm9tIHRoZSBub3JtYWwgcGF0aC4gSSdtIHRlbXB0ZWQgdG8gZG8gYSBsYWJlbGVkIGJyZWFrIGhlcmVcbiAgICAgICAgLy8gYnV0IEkgd29uJ3QgOilcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSBOb0xhbmVzO1xuICAgICAgICByZXR1cm4gdXBkYXRlT2Zmc2NyZWVuQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xufVxuXG5mdW5jdGlvbiBiZWdpbldvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKSB7XG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgd2lsbCByZXN0YXJ0IHRoZSBiZWdpbiBwaGFzZSB3aXRoIGEgbmV3IGZpYmVyLlxuICAgICAgcmV0dXJuIHJlbW91bnRGaWJlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLmtleSwgd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzLCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciB8fCBudWxsLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCB3b3JrSW5Qcm9ncmVzcy5sYW5lcykpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcblxuICAgIGlmIChvbGRQcm9wcyAhPT0gbmV3UHJvcHMgfHwgaGFzQ29udGV4dENoYW5nZWQoKSB8fCAoIC8vIEZvcmNlIGEgcmUtcmVuZGVyIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VkIGR1ZSB0byBob3QgcmVsb2FkOlxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSBjdXJyZW50LnR5cGUgKSkge1xuICAgICAgLy8gSWYgcHJvcHMgb3IgY29udGV4dCBjaGFuZ2VkLCBtYXJrIHRoZSBmaWJlciBhcyBoYXZpbmcgcGVyZm9ybWVkIHdvcmsuXG4gICAgICAvLyBUaGlzIG1heSBiZSB1bnNldCBpZiB0aGUgcHJvcHMgYXJlIGRldGVybWluZWQgdG8gYmUgZXF1YWwgbGF0ZXIgKG1lbW8pLlxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgcHJvcHMgbm9yIGxlZ2FjeSBjb250ZXh0IGNoYW5nZXMuIENoZWNrIGlmIHRoZXJlJ3MgYSBwZW5kaW5nXG4gICAgICAvLyB1cGRhdGUgb3IgY29udGV4dCBjaGFuZ2UuXG4gICAgICB2YXIgaGFzU2NoZWR1bGVkVXBkYXRlT3JDb250ZXh0ID0gY2hlY2tTY2hlZHVsZWRVcGRhdGVPckNvbnRleHQoY3VycmVudCwgcmVuZGVyTGFuZXMpO1xuXG4gICAgICBpZiAoIWhhc1NjaGVkdWxlZFVwZGF0ZU9yQ29udGV4dCAmJiAvLyBJZiB0aGlzIGlzIHRoZSBzZWNvbmQgcGFzcyBvZiBhbiBlcnJvciBvciBzdXNwZW5zZSBib3VuZGFyeSwgdGhlcmVcbiAgICAgIC8vIG1heSBub3QgYmUgd29yayBzY2hlZHVsZWQgb24gYGN1cnJlbnRgLCBzbyB3ZSBjaGVjayBmb3IgdGhpcyBmbGFnLlxuICAgICAgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gTm8gcGVuZGluZyB1cGRhdGVzIG9yIGNvbnRleHQuIEJhaWwgb3V0IG5vdy5cbiAgICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXR0ZW1wdEVhcmx5QmFpbG91dElmTm9TY2hlZHVsZWRVcGRhdGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKChjdXJyZW50LmZsYWdzICYgRm9yY2VVcGRhdGVGb3JMZWdhY3lTdXNwZW5zZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZSB0aGF0IG9ubHkgZXhpc3RzIGZvciBsZWdhY3kgbW9kZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzE5MjE2LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9uIHRoaXMgZmliZXIsIGJ1dCB0aGVyZSBhcmUgbm8gbmV3IHByb3BzXG4gICAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XG4gICAgICAgIC8vIGNvbnN1bWVyIHByb2R1Y2VzIGEgY2hhbmdlZCB2YWx1ZSwgaXQgd2lsbCBzZXQgdGhpcyB0byB0cnVlLiBPdGhlcndpc2UsXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgd2lsbCBhc3N1bWUgdGhlIGNoaWxkcmVuIGhhdmUgbm90IGNoYW5nZWQgYW5kIGJhaWwgb3V0LlxuICAgICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcblxuICAgIGlmIChnZXRJc0h5ZHJhdGluZygpICYmIGlzRm9ya2VkQ2hpbGQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIGNoaWxkIGJlbG9uZ3MgdG8gYSBsaXN0IG9mIG11bGlwbGUgY2hpbGRyZW4gaW5cbiAgICAgIC8vIGl0cyBwYXJlbnQuXG4gICAgICAvL1xuICAgICAgLy8gSW4gYSB0cnVlIG11bHRpLXRocmVhZGVkIGltcGxlbWVudGF0aW9uLCB3ZSB3b3VsZCByZW5kZXIgY2hpbGRyZW4gb25cbiAgICAgIC8vIHBhcmFsbGVsIHRocmVhZHMuIFRoaXMgd291bGQgcmVwcmVzZW50IHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgcmVuZGVyXG4gICAgICAvLyB0aHJlYWQgZm9yIHRoaXMgc3VidHJlZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IHVzZSB0aGlzIGZvciBpZCBnZW5lcmF0aW9uIGR1cmluZyBoeWRyYXRpb24sIHdoaWNoIGlzIHdoeSB0aGVcbiAgICAgIC8vIGxvZ2ljIGlzIGxvY2F0ZWQgaW4gdGhpcyBzcGVjaWFsIGJyYW5jaC5cbiAgICAgIHZhciBzbG90SW5kZXggPSB3b3JrSW5Qcm9ncmVzcy5pbmRleDtcbiAgICAgIHZhciBudW1iZXJPZkZvcmtzID0gZ2V0Rm9ya3NBdExldmVsKCk7XG4gICAgICBwdXNoVHJlZUlkKHdvcmtJblByb2dyZXNzLCBudW1iZXJPZkZvcmtzLCBzbG90SW5kZXgpO1xuICAgIH1cbiAgfSAvLyBCZWZvcmUgZW50ZXJpbmcgdGhlIGJlZ2luIHBoYXNlLCBjbGVhciBwZW5kaW5nIHVwZGF0ZSBwcmlvcml0eS5cbiAgLy8gVE9ETzogVGhpcyBhc3N1bWVzIHRoYXQgd2UncmUgYWJvdXQgdG8gZXZhbHVhdGUgdGhlIGNvbXBvbmVudCBhbmQgcHJvY2Vzc1xuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxuICAvLyBzb21ldGltZXMgYmFpbHMgb3V0IGxhdGVyIGluIHRoZSBiZWdpbiBwaGFzZS4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGRcbiAgLy8gbW92ZSB0aGlzIGFzc2lnbm1lbnQgb3V0IG9mIHRoZSBjb21tb24gcGF0aCBhbmQgaW50byBlYWNoIGJyYW5jaC5cblxuXG4gIHdvcmtJblByb2dyZXNzLmxhbmVzID0gTm9MYW5lcztcblxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgdW5yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBDb21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgdW5yZXNvbHZlZFByb3BzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyBfdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCBfdW5yZXNvbHZlZFByb3BzKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF9Db21wb25lbnQsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0VGV4dChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICByZXR1cm4gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wczIgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9PT0gdHlwZSA/IF91bnJlc29sdmVkUHJvcHMyIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh0eXBlLCBfdW5yZXNvbHZlZFByb3BzMik7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIF9yZXNvbHZlZFByb3BzMiwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBGcmFnbWVudDpcbiAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgcmV0dXJuIHVwZGF0ZU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZUNvbnRleHRQcm92aWRlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcyk7XG5cbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFJlc29sdmUgb3V0ZXIgcHJvcHMgZmlyc3QsIHRoZW4gcmVzb2x2ZSBpbm5lciBwcm9wcy5cblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBfdHlwZTIucHJvcFR5cGVzO1xuXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIF9yZXNvbHZlZFByb3BzMywgLy8gUmVzb2x2ZWQgZm9yIG91dGVyIG9ubHlcbiAgICAgICAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoX3R5cGUyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIudHlwZSwgX3Jlc29sdmVkUHJvcHMzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgX3Jlc29sdmVkUHJvcHMzLCByZW5kZXJMYW5lcyk7XG4gICAgICB9XG5cbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX0NvbXBvbmVudDIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczQgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MiA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MiwgX3VucmVzb2x2ZWRQcm9wczQpO1xuXG4gICAgICAgIHJldHVybiBtb3VudEluY29tcGxldGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzNCwgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU9mZnNjcmVlbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpO1xuICAgICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcIiArIHdvcmtJblByb2dyZXNzLnRhZyArIFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFwiICsgJ1JlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbn1cblxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBUYWcgdGhlIGZpYmVyIHdpdGggYW4gdXBkYXRlIGVmZmVjdC4gVGhpcyB0dXJucyBhIFBsYWNlbWVudCBpbnRvXG4gIC8vIGEgUGxhY2VtZW50QW5kVXBkYXRlLlxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBVcGRhdGU7XG59XG5cbmZ1bmN0aW9uIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcykge1xuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBSZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFJlZlN0YXRpYztcbiAgfVxufVxuXG52YXIgYXBwZW5kQWxsQ2hpbGRyZW47XG52YXIgdXBkYXRlSG9zdENvbnRhaW5lcjtcbnZhciB1cGRhdGVIb3N0Q29tcG9uZW50JDE7XG52YXIgdXBkYXRlSG9zdFRleHQkMTtcblxue1xuICAvLyBNdXRhdGlvbiBtb2RlXG4gIGFwcGVuZEFsbENoaWxkcmVuID0gZnVuY3Rpb24gKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBjcmVhdGVkIGJ1dCB3ZSBuZWVkIHJlY3Vyc2UgZG93biBpdHNcbiAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICAgIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnQsIG5vZGUuc3RhdGVOb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfTtcblxuICB1cGRhdGVIb3N0Q29udGFpbmVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7Ly8gTm9vcFxuICB9O1xuXG4gIHVwZGF0ZUhvc3RDb21wb25lbnQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICAgIC8vIElmIHdlIGhhdmUgYW4gYWx0ZXJuYXRlLCB0aGF0IG1lYW5zIHRoaXMgaXMgYW4gdXBkYXRlIGFuZCB3ZSBuZWVkIHRvXG4gICAgLy8gc2NoZWR1bGUgYSBzaWRlLWVmZmVjdCB0byBkbyB0aGUgdXBkYXRlcy5cbiAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG5cbiAgICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzKSB7XG4gICAgICAvLyBJbiBtdXRhdGlvbiBtb2RlLCB0aGlzIGlzIHN1ZmZpY2llbnQgZm9yIGEgYmFpbG91dCBiZWNhdXNlXG4gICAgICAvLyB3ZSB3b24ndCB0b3VjaCB0aGlzIG5vZGUgZXZlbiBpZiBjaGlsZHJlbiBjaGFuZ2VkLlxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZ2V0IHVwZGF0ZWQgYmVjYXVzZSBvbmUgb2Ygb3VyIGNoaWxkcmVuIHVwZGF0ZWQsIHdlIGRvbid0XG4gICAgLy8gaGF2ZSBuZXdQcm9wcyBzbyB3ZSdsbCBoYXZlIHRvIHJldXNlIHRoZW0uXG4gICAgLy8gVE9ETzogU3BsaXQgdGhlIHVwZGF0ZSBBUEkgYXMgc2VwYXJhdGUgZm9yIHRoZSBwcm9wcyB2cy4gY2hpbGRyZW4uXG4gICAgLy8gRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgY2hpbGRyZW4gd2VyZW4ndCBzcGVjaWFsIGNhc2VkIGF0IGFsbCB0aG8uXG5cblxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTsgLy8gVE9ETzogRXhwZXJpZW5jaW5nIGFuIGVycm9yIHdoZXJlIG9sZFByb3BzIGlzIG51bGwuIFN1Z2dlc3RzIGEgaG9zdFxuICAgIC8vIGNvbXBvbmVudCBpcyBoaXR0aW5nIHRoZSByZXN1bWUgcGF0aC4gRmlndXJlIG91dCB3aHkuIFBvc3NpYmx5XG4gICAgLy8gcmVsYXRlZCB0byBgaGlkZGVuYC5cblxuICAgIHZhciB1cGRhdGVQYXlsb2FkID0gcHJlcGFyZVVwZGF0ZShpbnN0YW5jZSwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCk7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcbiAgICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGlzIGRvbmUgaW4gY29tbWl0V29yay5cblxuICAgIGlmICh1cGRhdGVQYXlsb2FkKSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG5cbiAgdXBkYXRlSG9zdFRleHQkMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgb2xkVGV4dCwgbmV3VGV4dCkge1xuICAgIC8vIElmIHRoZSB0ZXh0IGRpZmZlcnMsIG1hcmsgaXQgYXMgYW4gdXBkYXRlLiBBbGwgdGhlIHdvcmsgaW4gZG9uZSBpbiBjb21taXRXb3JrLlxuICAgIGlmIChvbGRUZXh0ICE9PSBuZXdUZXh0KSB7XG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XG4gIGlmIChnZXRJc0h5ZHJhdGluZygpKSB7XG4gICAgLy8gSWYgd2UncmUgaHlkcmF0aW5nLCB3ZSBzaG91bGQgY29uc3VtZSBhcyBtYW55IGl0ZW1zIGFzIHdlIGNhblxuICAgIC8vIHNvIHdlIGRvbid0IGxlYXZlIGFueSBiZWhpbmQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3dpdGNoIChyZW5kZXJTdGF0ZS50YWlsTW9kZSkge1xuICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgdGFpbE5vZGUgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICB2YXIgbGFzdFRhaWxOb2RlID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAodGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAodGFpbE5vZGUuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XG4gICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBzaW1wbHkgZ29pbmcgdG8gZGVsZXRlIGFsbCBpbnNlcnRpb25zIGFmdGVyIHRoZVxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXG5cblxuICAgICAgICBpZiAobGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcbiAgICAgICAgICAvLyBpbnNlcnRlZC5cbiAgICAgICAgICBsYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NvbGxhcHNlZCc6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcbiAgICAgICAgdmFyIF9sYXN0VGFpbE5vZGUgPSBudWxsO1xuXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoX3RhaWxOb2RlLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2xhc3RUYWlsTm9kZSA9IF90YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGFpbE5vZGUgPSBfdGFpbE5vZGUuc2libGluZztcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cblxuXG4gICAgICAgIGlmIChfbGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBzdXNwZW5kZWQgZHVyaW5nIHRoZSBoZWFkLiBXZSB3YW50IHRvIHNob3cgYXQgbGVhc3Qgb25lXG4gICAgICAgICAgICAvLyByb3cgYXQgdGhlIHRhaWwuIFNvIHdlJ2xsIGtlZXAgb24gYW5kIGN1dCBvZmYgdGhlIHJlc3QuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGV0YWNoIHRoZSBpbnNlcnRpb24gYWZ0ZXIgdGhlIGxhc3Qgbm9kZSB0aGF0IHdhcyBhbHJlYWR5XG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXG4gICAgICAgICAgX2xhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGJ1YmJsZVByb3BlcnRpZXMoY29tcGxldGVkV29yaykge1xuICB2YXIgZGlkQmFpbG91dCA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlICE9PSBudWxsICYmIGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkID09PSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuICB2YXIgbmV3Q2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHZhciBzdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuXG4gIGlmICghZGlkQmFpbG91dCkge1xuICAgIC8vIEJ1YmJsZSB1cCB0aGUgZWFybGllc3QgZXhwaXJhdGlvbiB0aW1lLlxuICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxuICAgICAgLy8gcHJvZmlsZXIgZHVyYXRpb25zLlxuICAgICAgdmFyIGFjdHVhbER1cmF0aW9uID0gY29tcGxldGVkV29yay5hY3R1YWxEdXJhdGlvbjtcbiAgICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgdmFyIGNoaWxkID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoY2hpbGQubGFuZXMsIGNoaWxkLmNoaWxkTGFuZXMpKTtcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IGNoaWxkLmZsYWdzOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXG4gICAgICAgIC8vIG9ubHkgYmUgdXBkYXRlZCBpZiB3b3JrIGlzIGRvbmUgb24gdGhlIGZpYmVyIChpLmUuIGl0IGRvZXNuJ3QgYmFpbG91dCkuXG4gICAgICAgIC8vIFdoZW4gd29yayBpcyBkb25lLCBpdCBzaG91bGQgYnViYmxlIHRvIHRoZSBwYXJlbnQncyBhY3R1YWxEdXJhdGlvbi4gSWZcbiAgICAgICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxuICAgICAgICAvLyB0aGlzIHZhbHVlIHdpbGwgcmVmbGVjdCB0aGUgYW1vdW50IG9mIHRpbWUgc3BlbnQgd29ya2luZyBvbiBhIHByZXZpb3VzXG4gICAgICAgIC8vIHJlbmRlci4gSW4gdGhhdCBjYXNlIGl0IHNob3VsZCBub3QgYnViYmxlLiBXZSBkZXRlcm1pbmUgd2hldGhlciBpdCB3YXNcbiAgICAgICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cblxuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcbiAgICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBfY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5ld0NoaWxkTGFuZXMgPSBtZXJnZUxhbmVzKG5ld0NoaWxkTGFuZXMsIG1lcmdlTGFuZXMoX2NoaWxkLmxhbmVzLCBfY2hpbGQuY2hpbGRMYW5lcykpO1xuICAgICAgICBzdWJ0cmVlRmxhZ3MgfD0gX2NoaWxkLnN1YnRyZWVGbGFncztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZC5mbGFnczsgLy8gVXBkYXRlIHRoZSByZXR1cm4gcG9pbnRlciBzbyB0aGUgdHJlZSBpcyBjb25zaXN0ZW50LiBUaGlzIGlzIGEgY29kZVxuICAgICAgICAvLyBzbWVsbCBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGNvbW1pdCBwaGFzZSBpcyBuZXZlciBjb25jdXJyZW50IHdpdGhcbiAgICAgICAgLy8gdGhlIHJlbmRlciBwaGFzZS4gV2lsbCBhZGRyZXNzIGR1cmluZyByZWZhY3RvciB0byBhbHRlcm5hdGUgbW9kZWwuXG5cbiAgICAgICAgX2NoaWxkLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZCA9IF9jaGlsZC5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuc3VidHJlZUZsYWdzIHw9IHN1YnRyZWVGbGFncztcbiAgfSBlbHNlIHtcbiAgICAvLyBCdWJibGUgdXAgdGhlIGVhcmxpZXN0IGV4cGlyYXRpb24gdGltZS5cbiAgICBpZiAoIChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgLy8gSW4gcHJvZmlsaW5nIG1vZGUsIHJlc2V0Q2hpbGRFeHBpcmF0aW9uVGltZSBpcyBhbHNvIHVzZWQgdG8gcmVzZXRcbiAgICAgIC8vIHByb2ZpbGVyIGR1cmF0aW9ucy5cbiAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICAgIHZhciBfY2hpbGQyID0gY29tcGxldGVkV29yay5jaGlsZDtcblxuICAgICAgd2hpbGUgKF9jaGlsZDIgIT09IG51bGwpIHtcbiAgICAgICAgbmV3Q2hpbGRMYW5lcyA9IG1lcmdlTGFuZXMobmV3Q2hpbGRMYW5lcywgbWVyZ2VMYW5lcyhfY2hpbGQyLmxhbmVzLCBfY2hpbGQyLmNoaWxkTGFuZXMpKTsgLy8gXCJTdGF0aWNcIiBmbGFncyBzaGFyZSB0aGUgbGlmZXRpbWUgb2YgdGhlIGZpYmVyL2hvb2sgdGhleSBiZWxvbmcgdG8sXG4gICAgICAgIC8vIHNvIHdlIHNob3VsZCBidWJibGUgdGhvc2UgdXAgZXZlbiBkdXJpbmcgYSBiYWlsb3V0LiBBbGwgdGhlIG90aGVyXG4gICAgICAgIC8vIGZsYWdzIGhhdmUgYSBsaWZldGltZSBvbmx5IG9mIGEgc2luZ2xlIHJlbmRlciArIGNvbW1pdCwgc28gd2Ugc2hvdWxkXG4gICAgICAgIC8vIGlnbm9yZSB0aGVtLlxuXG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLnN1YnRyZWVGbGFncyAmIFN0YXRpY01hc2s7XG4gICAgICAgIHN1YnRyZWVGbGFncyB8PSBfY2hpbGQyLmZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgX3RyZWVCYXNlRHVyYXRpb24gKz0gX2NoaWxkMi50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICBfY2hpbGQyID0gX2NoaWxkMi5zaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICBjb21wbGV0ZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24gPSBfdHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9jaGlsZDMgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkMyAhPT0gbnVsbCkge1xuICAgICAgICBuZXdDaGlsZExhbmVzID0gbWVyZ2VMYW5lcyhuZXdDaGlsZExhbmVzLCBtZXJnZUxhbmVzKF9jaGlsZDMubGFuZXMsIF9jaGlsZDMuY2hpbGRMYW5lcykpOyAvLyBcIlN0YXRpY1wiIGZsYWdzIHNoYXJlIHRoZSBsaWZldGltZSBvZiB0aGUgZmliZXIvaG9vayB0aGV5IGJlbG9uZyB0byxcbiAgICAgICAgLy8gc28gd2Ugc2hvdWxkIGJ1YmJsZSB0aG9zZSB1cCBldmVuIGR1cmluZyBhIGJhaWxvdXQuIEFsbCB0aGUgb3RoZXJcbiAgICAgICAgLy8gZmxhZ3MgaGF2ZSBhIGxpZmV0aW1lIG9ubHkgb2YgYSBzaW5nbGUgcmVuZGVyICsgY29tbWl0LCBzbyB3ZSBzaG91bGRcbiAgICAgICAgLy8gaWdub3JlIHRoZW0uXG5cbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuc3VidHJlZUZsYWdzICYgU3RhdGljTWFzaztcbiAgICAgICAgc3VidHJlZUZsYWdzIHw9IF9jaGlsZDMuZmxhZ3MgJiBTdGF0aWNNYXNrOyAvLyBVcGRhdGUgdGhlIHJldHVybiBwb2ludGVyIHNvIHRoZSB0cmVlIGlzIGNvbnNpc3RlbnQuIFRoaXMgaXMgYSBjb2RlXG4gICAgICAgIC8vIHNtZWxsIGJlY2F1c2UgaXQgYXNzdW1lcyB0aGUgY29tbWl0IHBoYXNlIGlzIG5ldmVyIGNvbmN1cnJlbnQgd2l0aFxuICAgICAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLiBXaWxsIGFkZHJlc3MgZHVyaW5nIHJlZmFjdG9yIHRvIGFsdGVybmF0ZSBtb2RlbC5cblxuICAgICAgICBfY2hpbGQzLnJldHVybiA9IGNvbXBsZXRlZFdvcms7XG4gICAgICAgIF9jaGlsZDMgPSBfY2hpbGQzLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcGxldGVkV29yay5zdWJ0cmVlRmxhZ3MgfD0gc3VidHJlZUZsYWdzO1xuICB9XG5cbiAgY29tcGxldGVkV29yay5jaGlsZExhbmVzID0gbmV3Q2hpbGRMYW5lcztcbiAgcmV0dXJuIGRpZEJhaWxvdXQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSkge1xuICBpZiAoaGFzVW5oeWRyYXRlZFRhaWxOb2RlcygpICYmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUgJiYgKHdvcmtJblByb2dyZXNzLmZsYWdzICYgRGlkQ2FwdHVyZSkgPT09IE5vRmxhZ3MpIHtcbiAgICB3YXJuSWZVbmh5ZHJhdGVkVGFpbE5vZGVzKHdvcmtJblByb2dyZXNzKTtcbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRm9yY2VDbGllbnRSZW5kZXIgfCBJbmNvbXBsZXRlIHwgU2hvdWxkQ2FwdHVyZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgaWYgKG5leHRTdGF0ZSAhPT0gbnVsbCAmJiBuZXh0U3RhdGUuZGVoeWRyYXRlZCAhPT0gbnVsbCkge1xuICAgIC8vIFdlIG1pZ2h0IGJlIGluc2lkZSBhIGh5ZHJhdGlvbiBzdGF0ZSB0aGUgZmlyc3QgdGltZSB3ZSdyZSBwaWNraW5nIHVwIHRoaXNcbiAgICAvLyBTdXNwZW5zZSBib3VuZGFyeSwgYW5kIGFsc28gYWZ0ZXIgd2UndmUgcmVlbnRlcmVkIGl0IGZvciBmdXJ0aGVyIGh5ZHJhdGlvbi5cbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgaWYgKCF3YXNIeWRyYXRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgZGVoeWRyYXRlZCBzdXNwZW5zZSBjb21wb25lbnQgd2FzIGNvbXBsZXRlZCB3aXRob3V0IGEgaHlkcmF0ZWQgbm9kZS4gJyArICdUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuXG4gICAgICBwcmVwYXJlVG9IeWRyYXRlSG9zdFN1c3BlbnNlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICB2YXIgaXNUaW1lZE91dFN1c3BlbnNlID0gbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgICAgaWYgKGlzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgaWYgKHByaW1hcnlDaGlsZEZyYWdtZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IHN1cHBvcnQgdHlwZSBjYXN0aW5nIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIC09IG9wZXJhdG9yXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSBtaWdodCBoYXZlIHJlZW50ZXJlZCB0aGlzIGJvdW5kYXJ5IHRvIGh5ZHJhdGUgaXQuIElmIHNvLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSBoeWRyYXRpb25cbiAgICAgIC8vIHN0YXRlIHNpbmNlIHdlJ3JlIG5vdyBleGl0aW5nIG91dCBvZiBpdC4gcG9wSHlkcmF0aW9uU3RhdGUgZG9lc24ndCBkbyB0aGF0IGZvciB1cy5cbiAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcblxuICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKSB7XG4gICAgICAgIC8vIFRoaXMgYm91bmRhcnkgZGlkIG5vdCBzdXNwZW5kIHNvIGl0J3Mgbm93IGh5ZHJhdGVkIGFuZCB1bnN1c3BlbmRlZC5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICB9IC8vIElmIG5vdGhpbmcgc3VzcGVuZGVkLCB3ZSBuZWVkIHRvIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBtYXJrIHRoaXMgYm91bmRhcnlcbiAgICAgIC8vIGFzIGhhdmluZyBoeWRyYXRlZCBzbyBldmVudHMga25vdyB0aGF0IHRoZXkncmUgZnJlZSB0byBiZSBpbnZva2VkLlxuICAgICAgLy8gSXQncyBhbHNvIGEgc2lnbmFsIHRvIHJlcGxheSBldmVudHMgYW5kIHRoZSBzdXNwZW5zZSBjYWxsYmFjay5cbiAgICAgIC8vIElmIHNvbWV0aGluZyBzdXNwZW5kZWQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggcmV0cnkgbGlzdGVuZXJzLlxuICAgICAgLy8gU28gd2UgbWlnaHQgYXMgd2VsbCBhbHdheXMgbWFyayB0aGlzLlxuXG5cbiAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICB7XG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgdmFyIF9pc1RpbWVkT3V0U3VzcGVuc2UgPSBuZXh0U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAoX2lzVGltZWRPdXRTdXNwZW5zZSkge1xuICAgICAgICAgICAgLy8gRG9uJ3QgY291bnQgdGltZSBzcGVudCBpbiBhIHRpbWVkIG91dCBTdXNwZW5zZSBzdWJ0cmVlIGFzIHBhcnQgb2YgdGhlIGJhc2UgZHVyYXRpb24uXG4gICAgICAgICAgICB2YXIgX3ByaW1hcnlDaGlsZEZyYWdtZW50ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgIGlmIChfcHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCB0eXBlIGNhc3RpbmcgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgLT0gb3BlcmF0b3JcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiAtPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBTdWNjZXNzZnVsbHkgY29tcGxldGVkIHRoaXMgdHJlZS4gSWYgdGhpcyB3YXMgYSBmb3JjZWQgY2xpZW50IHJlbmRlcixcbiAgICAvLyB0aGVyZSBtYXkgaGF2ZSBiZWVuIHJlY292ZXJhYmxlIGVycm9ycyBkdXJpbmcgZmlyc3QgaHlkcmF0aW9uXG4gICAgLy8gYXR0ZW1wdC4gSWYgc28sIGFkZCB0aGVtIHRvIGEgcXVldWUgc28gd2UgY2FuIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB1cGdyYWRlSHlkcmF0aW9uRXJyb3JzVG9SZWNvdmVyYWJsZSgpOyAvLyBGYWxsIHRocm91Z2ggdG8gbm9ybWFsIFN1c3BlbnNlIHBhdGhcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cblxuICBwb3BUcmVlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIEZyYWdtZW50OlxuICAgIGNhc2UgTW9kZTpcbiAgICBjYXNlIFByb2ZpbGVyOlxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJlc2V0V29ya0luUHJvZ3Jlc3NWZXJzaW9ucygpO1xuXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcbiAgICAgICAgICBmaWJlclJvb3QuY29udGV4dCA9IGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dDtcbiAgICAgICAgICBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5jaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cbiAgICAgICAgICAvLyB0aGF0IHdlcmVuJ3QgaHlkcmF0ZWQuXG4gICAgICAgICAgdmFyIHdhc0h5ZHJhdGVkID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKHdhc0h5ZHJhdGVkKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBoeWRyYXRlZCwgdGhlbiB3ZSdsbCBuZWVkIHRvIHNjaGVkdWxlIGFuIHVwZGF0ZSBmb3JcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxuICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICAgICAgaWYgKCAvLyBDaGVjayBpZiB0aGlzIGlzIGEgY2xpZW50IHJvb3RcbiAgICAgICAgICAgICAgIXByZXZTdGF0ZS5pc0RlaHlkcmF0ZWQgfHwgLy8gQ2hlY2sgaWYgd2UgcmV2ZXJ0ZWQgdG8gY2xpZW50IHJlbmRlcmluZyAoZS5nLiBkdWUgdG8gYW4gZXJyb3IpXG4gICAgICAgICAgICAgICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIEZvcmNlQ2xpZW50UmVuZGVyKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICAgIC8vIFNjaGVkdWxlIGFuIGVmZmVjdCB0byBjbGVhciB0aGlzIGNvbnRhaW5lciBhdCB0aGUgc3RhcnQgb2YgdGhlXG4gICAgICAgICAgICAgICAgLy8gbmV4dCBjb21taXQuIFRoaXMgaGFuZGxlcyB0aGUgY2FzZSBvZiBSZWFjdCByZW5kZXJpbmcgaW50byBhXG4gICAgICAgICAgICAgICAgLy8gY29udGFpbmVyIHdpdGggcHJldmlvdXMgY2hpbGRyZW4uIEl0J3MgYWxzbyBzYWZlIHRvIGRvIGZvclxuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZXMgdG9vLCBiZWNhdXNlIGN1cnJlbnQuY2hpbGQgd291bGQgb25seSBiZSBudWxsIGlmIHRoZVxuICAgICAgICAgICAgICAgIC8vIHByZXZpb3VzIHJlbmRlciB3YXMgbnVsbCAoc28gdGhlIGNvbnRhaW5lciB3b3VsZCBhbHJlYWR5XG4gICAgICAgICAgICAgICAgLy8gYmUgZW1wdHkpLlxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFNuYXBzaG90OyAvLyBJZiB0aGlzIHdhcyBhIGZvcmNlZCBjbGllbnQgcmVuZGVyLCB0aGVyZSBtYXkgaGF2ZSBiZWVuXG4gICAgICAgICAgICAgICAgLy8gcmVjb3ZlcmFibGUgZXJyb3JzIGR1cmluZyBmaXJzdCBoeWRyYXRpb24gYXR0ZW1wdC4gSWYgc28sIGFkZFxuICAgICAgICAgICAgICAgIC8vIHRoZW0gdG8gYSBxdWV1ZSBzbyB3ZSBjYW4gbG9nIHRoZW0gaW4gdGhlIGNvbW1pdCBwaGFzZS5cblxuICAgICAgICAgICAgICAgIHVwZ3JhZGVIeWRyYXRpb25FcnJvcnNUb1JlY292ZXJhYmxlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgdmFyIHJvb3RDb250YWluZXJJbnN0YW5jZSA9IGdldFJvb3RIb3N0Q29udGFpbmVyKCk7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHVwZGF0ZUhvc3RDb21wb25lbnQkMShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG5cbiAgICAgICAgICBpZiAoY3VycmVudC5yZWYgIT09IHdvcmtJblByb2dyZXNzLnJlZikge1xuICAgICAgICAgICAgbWFya1JlZiQxKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFuZXdQcm9wcykge1xuICAgICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5ICcgKyAnY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuXG4gICAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBNb3ZlIGNyZWF0ZUluc3RhbmNlIHRvIGJlZ2luV29yayBhbmQga2VlcCBpdCBvbiBhIGNvbnRleHRcbiAgICAgICAgICAvLyBcInN0YWNrXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXG4gICAgICAgICAgLy8gb3IgY29tcGxldGVXb3JrIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIHdhbnQgdG8gYWRkIHRoZW0gdG9wLT5kb3duIG9yXG4gICAgICAgICAgLy8gYm90dG9tLT51cC4gVG9wLT5kb3duIGlzIGZhc3RlciBpbiBJRTExLlxuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZCA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBhbmQgY3JlYXRlSW5zdGFuY2Ugc3RlcCBpbnRvIHRoZSBiZWdpblBoYXNlXG4gICAgICAgICAgICAvLyB0byBjb25zb2xpZGF0ZS5cbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcbiAgICAgICAgICAgICAgLy8gSWYgY2hhbmdlcyB0byB0aGUgaHlkcmF0ZWQgbm9kZSBuZWVkIHRvIGJlIGFwcGxpZWQgYXQgdGhlXG4gICAgICAgICAgICAgIC8vIGNvbW1pdC1waGFzZSB3ZSBtYXJrIHRoaXMgYXMgc3VjaC5cbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgYXBwZW5kQWxsQ2hpbGRyZW4oaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gaW5zdGFuY2U7IC8vIENlcnRhaW4gcmVuZGVyZXJzIHJlcXVpcmUgY29tbWl0LXRpbWUgZWZmZWN0cyBmb3IgaW5pdGlhbCBtb3VudC5cbiAgICAgICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgc3VwcG9ydHMgYXV0by1mb2N1cyBmb3IgY2VydGFpbiBlbGVtZW50cykuXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgc3VjaCByZW5kZXJlcnMgZ2V0IHNjaGVkdWxlZCBmb3IgbGF0ZXIgd29yay5cblxuICAgICAgICAgICAgaWYgKGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGluc3RhbmNlLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHJlZiBvbiBhIGhvc3Qgbm9kZSB3ZSBuZWVkIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcbiAgICAgICAgICAgIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcblxuICAgICAgICBpZiAoY3VycmVudCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG5cbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5ld1RleHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2UgbXVzdCBoYXZlIG5ldyBwcm9wcyBmb3IgbmV3IG1vdW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9yb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xuXG4gICAgICAgICAgdmFyIF9jdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZDIgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgICAgICBpZiAoX3dhc0h5ZHJhdGVkMikge1xuICAgICAgICAgICAgaWYgKHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKHdvcmtJblByb2dyZXNzKSkge1xuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UsIF9jdXJyZW50SG9zdENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTsgLy8gU3BlY2lhbCBwYXRoIGZvciBkZWh5ZHJhdGVkIGJvdW5kYXJpZXMuIFdlIG1heSBldmVudHVhbGx5IG1vdmUgdGhpc1xuICAgICAgICAvLyB0byBpdHMgb3duIGZpYmVyIHR5cGUgc28gdGhhdCB3ZSBjYW4gYWRkIG90aGVyIGtpbmRzIG9mIGh5ZHJhdGlvblxuICAgICAgICAvLyBib3VuZGFyaWVzIHRoYXQgYXJlbid0IGFzc29jaWF0ZWQgd2l0aCBhIFN1c3BlbnNlIHRyZWUuIEluIGFudGljaXBhdGlvblxuICAgICAgICAvLyBvZiBzdWNoIGEgcmVmYWN0b3IsIGFsbCB0aGUgaHlkcmF0aW9uIGxvZ2ljIGlzIGNvbnRhaW5lZCBpblxuICAgICAgICAvLyB0aGlzIGJyYW5jaC5cblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgZmFsbHRocm91Z2hUb05vcm1hbFN1c3BlbnNlUGF0aCA9IGNvbXBsZXRlRGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRTdGF0ZSk7XG5cbiAgICAgICAgICBpZiAoIWZhbGx0aHJvdWdoVG9Ob3JtYWxTdXNwZW5zZVBhdGgpIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlLiBUaGVyZSB3ZXJlIHJlbWFpbmluZyB1bmh5ZHJhdGVkIG5vZGVzLiBXZSB0cmVhdFxuICAgICAgICAgICAgICAvLyB0aGlzIGFzIGEgbWlzbWF0Y2guIFJldmVydCB0byBjbGllbnQgcmVuZGVyaW5nLlxuICAgICAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBEaWQgbm90IGZpbmlzaCBoeWRyYXRpbmcsIGVpdGhlciBiZWNhdXNlIHRoaXMgaXMgdGhlIGluaXRpYWxcbiAgICAgICAgICAgICAgLy8gcmVuZGVyIG9yIGJlY2F1c2Ugc29tZXRoaW5nIHN1c3BlbmRlZC5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSAvLyBDb250aW51ZSB3aXRoIHRoZSBub3JtYWwgU3VzcGVuc2UgcGF0aC5cblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgLy8gU29tZXRoaW5nIHN1c3BlbmRlZC4gUmUtcmVuZGVyIHdpdGggdGhlIGZhbGxiYWNrIGNoaWxkcmVuLlxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gcmVuZGVyTGFuZXM7IC8vIERvIG5vdCByZXNldCB0aGUgZWZmZWN0IGxpc3QuXG5cbiAgICAgICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQWN0dWFsRHVyYXRpb24od29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH0gLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgaW4gdGhpcyBjYXNlLlxuXG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbmV4dERpZFRpbWVvdXQgPSBuZXh0U3RhdGUgIT09IG51bGw7XG4gICAgICAgIHZhciBwcmV2RGlkVGltZW91dCA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgICAvLyBhIHBhc3NpdmUgZWZmZWN0LCB3aGljaCBpcyB3aGVuIHdlIHByb2Nlc3MgdGhlIHRyYW5zaXRpb25zXG5cblxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgIT09IHByZXZEaWRUaW1lb3V0KSB7XG4gICAgICAgICAgLy8gYW4gZWZmZWN0IHRvIHRvZ2dsZSB0aGUgc3VidHJlZSdzIHZpc2liaWxpdHkuIFdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBmYWxsYmFjayAtPiBwcmltYXJ5LCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIHNjaGVkdWxlcyB0aGlzIGVmZmVjdFxuICAgICAgICAgIC8vIGFzIHBhcnQgb2YgaXRzIG5vcm1hbCBjb21wbGV0ZSBwaGFzZS4gQnV0IHdoZW4gd2Ugc3dpdGNoIGZyb21cbiAgICAgICAgICAvLyBwcmltYXJ5IC0+IGZhbGxiYWNrLCB0aGUgaW5uZXIgT2Zmc2NyZWVuIGZpYmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZVxuICAgICAgICAgIC8vIHBoYXNlLiBTbyB3ZSBuZWVkIHRvIHNjaGVkdWxlIGl0cyBlZmZlY3QgaGVyZS5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGFsc28gdXNlIHRoaXMgZmxhZyB0byBjb25uZWN0L2Rpc2Nvbm5lY3QgdGhlIGVmZmVjdHMsIGJ1dCB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxvZ2ljIGFwcGxpZXM6IHdoZW4gcmUtY29ubmVjdGluZywgdGhlIE9mZnNjcmVlbiBmaWJlcidzIGNvbXBsZXRlXG4gICAgICAgICAgLy8gcGhhc2Ugd2lsbCBoYW5kbGUgc2NoZWR1bGluZyB0aGUgZWZmZWN0LiBJdCdzIG9ubHkgd2hlbiB0aGUgZmFsbGJhY2tcbiAgICAgICAgICAvLyBpcyBhY3RpdmUgdGhhdCB3ZSBoYXZlIHRvIGRvIGFueXRoaW5nIHNwZWNpYWwuXG5cblxuICAgICAgICAgIGlmIChuZXh0RGlkVGltZW91dCkge1xuICAgICAgICAgICAgdmFyIF9vZmZzY3JlZW5GaWJlcjIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIF9vZmZzY3JlZW5GaWJlcjIuZmxhZ3MgfD0gVmlzaWJpbGl0eTsgLy8gVE9ETzogVGhpcyB3aWxsIHN0aWxsIHN1c3BlbmQgYSBzeW5jaHJvbm91cyB0cmVlIGlmIGFueXRoaW5nXG4gICAgICAgICAgICAvLyBpbiB0aGUgY29uY3VycmVudCB0cmVlIGFscmVhZHkgc3VzcGVuZGVkIGR1cmluZyB0aGlzIHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBrbm93biBidWcuXG5cbiAgICAgICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBiYWNrIHRvIHRocm93RXhjZXB0aW9uIGJlY2F1c2UgdGhpcyBpcyB0b28gbGF0ZVxuICAgICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGEgbGFyZ2UgdHJlZSB3aGljaCBpcyBjb21tb24gZm9yIGluaXRpYWwgbG9hZHMuIFdlXG4gICAgICAgICAgICAgIC8vIGRvbid0IGtub3cgaWYgd2Ugc2hvdWxkIHJlc3RhcnQgYSByZW5kZXIgb3Igbm90IHVudGlsIHdlIGdldFxuICAgICAgICAgICAgICAvLyB0aGlzIG1hcmtlciwgYW5kIHRoaXMgaXMgdG9vIGxhdGUuXG4gICAgICAgICAgICAgIC8vIElmIHRoaXMgcmVuZGVyIGFscmVhZHkgaGFkIGEgcGluZyBvciBsb3dlciBwcmkgdXBkYXRlcyxcbiAgICAgICAgICAgICAgLy8gYW5kIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgd2Uga25vdyB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdlXG4gICAgICAgICAgICAgIC8vIHNob3VsZCBiZSBhYmxlIHRvIGltbWVkaWF0ZWx5IHJlc3RhcnQgZnJvbSB3aXRoaW4gdGhyb3dFeGNlcHRpb24uXG4gICAgICAgICAgICAgIHZhciBoYXNJbnZpc2libGVDaGlsZENvbnRleHQgPSBjdXJyZW50ID09PSBudWxsICYmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrICE9PSB0cnVlIHx8ICFlbmFibGVTdXNwZW5zZUF2b2lkVGhpc0ZhbGxiYWNrKTtcblxuICAgICAgICAgICAgICBpZiAoaGFzSW52aXNpYmxlQ2hpbGRDb250ZXh0IHx8IGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBpbiBhbiBpbnZpc2libGUgdHJlZSBvciBhIG5ldyByZW5kZXIsIHRoZW4gc2hvd2luZ1xuICAgICAgICAgICAgICAgIC8vIHRoaXMgYm91bmRhcnkgaXMgb2suXG4gICAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZCgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UncmUgZ29pbmcgdG8gaGF2ZSB0byBoaWRlIGNvbnRlbnQgc28gd2Ugc2hvdWxkXG4gICAgICAgICAgICAgICAgLy8gc3VzcGVuZCBmb3IgbG9uZ2VyIGlmIHBvc3NpYmxlLlxuICAgICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB3YWtlYWJsZXMgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAod2FrZWFibGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gU2NoZWR1bGUgYW4gZWZmZWN0IHRvIGF0dGFjaCBhIHJldHJ5IGxpc3RlbmVyIHRvIHRoZSBwcm9taXNlLlxuICAgICAgICAgIC8vIFRPRE86IE1vdmUgdG8gcGFzc2l2ZSBwaGFzZVxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IFVwZGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIC8vIERvbid0IGNvdW50IHRpbWUgc3BlbnQgaW4gYSB0aW1lZCBvdXQgU3VzcGVuc2Ugc3VidHJlZSBhcyBwYXJ0IG9mIHRoZSBiYXNlIGR1cmF0aW9uLlxuICAgICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgICAgICBpZiAocHJpbWFyeUNoaWxkRnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIEZsb3cgZG9lc24ndCBzdXBwb3J0IHR5cGUgY2FzdGluZyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSAtPSBvcGVyYXRvclxuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gLT0gcHJpbWFyeUNoaWxkRnJhZ21lbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZVBvcnRhbE1vdW50KHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcbiAgICAgIH1cblxuICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgLy8gUG9wIHByb3ZpZGVyIGZpYmVyXG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxuICAgICAgICAvLyBzZXF1ZW50aWFsIHRvIGVuc3VyZSB0aGlzIHN3aXRjaCBpcyBjb21waWxlZCB0byBhIGp1bXAgdGFibGUuXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoX0NvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgcmVuZGVyU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgaW4gdGhlIGRlZmF1bHQsIFwiaW5kZXBlbmRlbnRcIiBtb2RlLlxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cbiAgICAgICAgICBidWJibGVQcm9wZXJ0aWVzKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkaWRTdXNwZW5kQWxyZWFkeSA9ICh3b3JrSW5Qcm9ncmVzcy5mbGFncyAmIERpZENhcHR1cmUpICE9PSBOb0ZsYWdzO1xuICAgICAgICB2YXIgcmVuZGVyZWRUYWlsID0gcmVuZGVyU3RhdGUucmVuZGVyaW5nO1xuXG4gICAgICAgIGlmIChyZW5kZXJlZFRhaWwgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBXZSBqdXN0IHJlbmRlcmVkIHRoZSBoZWFkLlxuICAgICAgICAgIGlmICghZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHBhc3MuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiBhbnl0aGluZyBpcyBzdGlsbFxuICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGluIHRoZSByZW5kZXJlZCBzZXQuXG4gICAgICAgICAgICAvLyBJZiBuZXcgY29udGVudCB1bnN1c3BlbmRlZCwgYnV0IHRoZXJlJ3Mgc3RpbGwgc29tZSBjb250ZW50IHRoYXRcbiAgICAgICAgICAgIC8vIGRpZG4ndC4gVGhlbiB3ZSBuZWVkIHRvIGRvIGEgc2Vjb25kIHBhc3MgdGhhdCBmb3JjZXMgZXZlcnl0aGluZ1xuICAgICAgICAgICAgLy8gdG8ga2VlcCBzaG93aW5nIHRoZWlyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJlIHN1c3BlbmRlZCBpZiBzb21ldGhpbmcgaW4gdGhpcyByZW5kZXIgcGFzcyBzdXNwZW5kZWQsIG9yXG4gICAgICAgICAgICAvLyBzb21ldGhpbmcgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHRlZCBwYXNzIHN1c3BlbmRlZC4gT3RoZXJ3aXNlLFxuICAgICAgICAgICAgLy8gdGhlcmUncyBubyBjaGFuY2Ugc28gd2UgY2FuIHNraXAgdGhlIGV4cGVuc2l2ZSBjYWxsIHRvXG4gICAgICAgICAgICAvLyBmaW5kRmlyc3RTdXNwZW5kZWQuXG4gICAgICAgICAgICB2YXIgY2Fubm90QmVTdXNwZW5kZWQgPSByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSAmJiAoY3VycmVudCA9PT0gbnVsbCB8fCAoY3VycmVudC5mbGFncyAmIERpZENhcHR1cmUpID09PSBOb0ZsYWdzKTtcblxuICAgICAgICAgICAgaWYgKCFjYW5ub3RCZVN1c3BlbmRlZCkge1xuICAgICAgICAgICAgICB2YXIgcm93ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgICAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZhciBzdXNwZW5kZWQgPSBmaW5kRmlyc3RTdXNwZW5kZWQocm93KTtcblxuICAgICAgICAgICAgICAgIGlmIChzdXNwZW5kZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gSWYgdGhpcyBpcyBhIG5ld2x5IHN1c3BlbmRlZCB0cmVlLCBpdCBtaWdodCBub3QgZ2V0IGNvbW1pdHRlZCBhc1xuICAgICAgICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgc2Vjb25kIHBhc3MuIEluIHRoYXQgY2FzZSBub3RoaW5nIHdpbGwgc3Vic2NyaWJlIHRvXG4gICAgICAgICAgICAgICAgICAvLyBpdHMgdGhlbmFibGVzLiBJbnN0ZWFkLCB3ZSdsbCB0cmFuc2ZlciBpdHMgdGhlbmFibGVzIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuc2VMaXN0IHNvIHRoYXQgaXQgY2FuIHJldHJ5IGlmIHRoZXkgcmVzb2x2ZS5cbiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIG9mIHRoZXNlIGluIHRoZSBsaXN0IGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcbiAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIG9uZXMgZ2V0cyB0byBwaW5nLiBJbiB0aGVvcnkgd2UgY291bGQgZ2V0IGNsZXZlciBhbmQga2VlcFxuICAgICAgICAgICAgICAgICAgLy8gdHJhY2sgb2YgaG93IG1hbnkgZGVwZW5kZW5jaWVzIHJlbWFpbiBidXQgaXQgZ2V0cyB0cmlja3kgYmVjYXVzZVxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cbiAgICAgICAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJhaWwgb3V0IG9mIHRoZSBsb29wIGJlZm9yZSBmaW5kaW5nIGFueSBidXQgdGhhdFxuICAgICAgICAgICAgICAgICAgLy8gZG9lc24ndCBtYXR0ZXIgc2luY2UgdGhhdCBtZWFucyB0aGF0IHRoZSBvdGhlciBib3VuZGFyaWVzIHRoYXRcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cblxuICAgICAgICAgICAgICAgICAgdmFyIG5ld1RoZW5hYmxlcyA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgICAgICAgaWYgKG5ld1RoZW5hYmxlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG5ld1RoZW5hYmxlcztcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICAgICAgfSAvLyBSZXJlbmRlciB0aGUgd2hvbGUgbGlzdCwgYnV0IHRoaXMgdGltZSwgd2UnbGwgZm9yY2UgZmFsbGJhY2tzXG4gICAgICAgICAgICAgICAgICAvLyB0byBzdGF5IGluIHBsYWNlLlxuICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGVmZmVjdCBmbGFncyBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBjaGlsZCBmaWJlcnMgdG8gdGhlaXIgb3JpZ2luYWwgc3RhdGUuXG5cblxuICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgICAgICAgICAgIHJlc2V0Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIHJlbmRlckxhbmVzKTsgLy8gU2V0IHVwIHRoZSBTdXNwZW5zZSBDb250ZXh0IHRvIGZvcmNlIHN1c3BlbnNlIGFuZCBpbW1lZGlhdGVseVxuICAgICAgICAgICAgICAgICAgLy8gcmVyZW5kZXIgdGhlIGNoaWxkcmVuLlxuXG4gICAgICAgICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKSk7IC8vIERvbid0IGJ1YmJsZSBwcm9wZXJ0aWVzIGluIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsICYmIG5vdygpID4gZ2V0UmVuZGVyVGFyZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBwYXNzZWQgb3VyIENQVSBkZWFkbGluZSBidXQgd2Ugc3RpbGwgaGF2ZSByb3dzXG4gICAgICAgICAgICAgIC8vIGxlZnQgaW4gdGhlIHRhaWwuIFdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyIGF0dGVtcHRzIHRvIHJlbmRlclxuICAgICAgICAgICAgICAvLyB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZsYWdzIHw9IERpZENhcHR1cmU7XG4gICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7IC8vIFNpbmNlIG5vdGhpbmcgYWN0dWFsbHkgc3VzcGVuZGVkLCB0aGVyZSB3aWxsIG5vdGhpbmcgdG8gcGluZyB0aGlzXG4gICAgICAgICAgICAgIC8vIHRvIGdldCBpdCBzdGFydGVkIGJhY2sgdXAgdG8gYXR0ZW1wdCB0aGUgbmV4dCBpdGVtLiBXaGlsZSBpbiB0ZXJtc1xuICAgICAgICAgICAgICAvLyBvZiBwcmlvcml0eSB0aGlzIHdvcmsgaGFzIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoaXMgY3VycmVudCByZW5kZXIsXG4gICAgICAgICAgICAgIC8vIGl0J3Mgbm90IHBhcnQgb2YgdGhlIHNhbWUgdHJhbnNpdGlvbiBvbmNlIHRoZSB0cmFuc2l0aW9uIGhhc1xuICAgICAgICAgICAgICAvLyBjb21taXR0ZWQuIElmIGl0J3Mgc3luYywgd2Ugc3RpbGwgd2FudCB0byB5aWVsZCBzbyB0aGF0IGl0IGNhbiBiZVxuICAgICAgICAgICAgICAvLyBwYWludGVkLiBDb25jZXB0dWFsbHksIHRoaXMgaXMgcmVhbGx5IHRoZSBzYW1lIGFzIHBpbmdpbmcuXG4gICAgICAgICAgICAgIC8vIFdlIGNhbiB1c2UgYW55IFJldHJ5TGFuZSBldmVuIGlmIGl0J3MgdGhlIG9uZSBjdXJyZW50bHkgcmVuZGVyaW5nXG4gICAgICAgICAgICAgIC8vIHNpbmNlIHdlJ3JlIGxlYXZpbmcgaXQgYmVoaW5kIG9uIHRoaXMgbm9kZS5cblxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IFNvbWVSZXRyeUxhbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpO1xuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cbiAgICAgICAgICBpZiAoIWRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICB2YXIgX3N1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyZW5kZXJlZFRhaWwpO1xuXG4gICAgICAgICAgICBpZiAoX3N1c3BlbmRlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7IC8vIEVuc3VyZSB3ZSB0cmFuc2ZlciB0aGUgdXBkYXRlIHF1ZXVlIHRvIHRoZSBwYXJlbnQgc28gdGhhdCBpdCBkb2Vzbid0XG4gICAgICAgICAgICAgIC8vIGdldCBsb3N0IGlmIHRoaXMgcm93IGVuZHMgdXAgZHJvcHBlZCBkdXJpbmcgYSBzZWNvbmQgcGFzcy5cblxuICAgICAgICAgICAgICB2YXIgX25ld1RoZW5hYmxlcyA9IF9zdXNwZW5kZWQudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICAgICAgaWYgKF9uZXdUaGVuYWJsZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVuYWJsZXM7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVXBkYXRlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXG5cbiAgICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlLnRhaWwgPT09IG51bGwgJiYgcmVuZGVyU3RhdGUudGFpbE1vZGUgPT09ICdoaWRkZW4nICYmICFyZW5kZXJlZFRhaWwuYWx0ZXJuYXRlICYmICFnZXRJc0h5ZHJhdGluZygpIC8vIFdlIGRvbid0IGN1dCBpdCBpZiB3ZSdyZSBoeWRyYXRpbmcuXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgLy8gV2UncmUgZG9uZS5cbiAgICAgICAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggLy8gVGhlIHRpbWUgaXQgdG9vayB0byByZW5kZXIgbGFzdCByb3cgaXMgZ3JlYXRlciB0aGFuIHRoZSByZW1haW5pbmdcbiAgICAgICAgICAgIC8vIHRpbWUgd2UgaGF2ZSB0byByZW5kZXIuIFNvIHJlbmRlcmluZyBvbmUgbW9yZSByb3cgd291bGQgbGlrZWx5XG4gICAgICAgICAgICAvLyBleGNlZWQgaXQuXG4gICAgICAgICAgICBub3coKSAqIDIgLSByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkgJiYgcmVuZGVyTGFuZXMgIT09IE9mZnNjcmVlbkxhbmUpIHtcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBub3cgcGFzc2VkIG91ciBDUFUgZGVhZGxpbmUgYW5kIHdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyXG4gICAgICAgICAgICAgIC8vIGF0dGVtcHRzIHRvIHJlbmRlciB0aGUgbWFpbiBjb250ZW50IGFuZCBvbmx5IHJlbmRlciBmYWxsYmFja3MuXG4gICAgICAgICAgICAgIC8vIFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgdGhpcyBpcyB1c3VhbGx5IGZhc3Rlci5cbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcbiAgICAgICAgICAgICAgLy8gdG8gZ2V0IGl0IHN0YXJ0ZWQgYmFjayB1cCB0byBhdHRlbXB0IHRoZSBuZXh0IGl0ZW0uIFdoaWxlIGluIHRlcm1zXG4gICAgICAgICAgICAgIC8vIG9mIHByaW9yaXR5IHRoaXMgd29yayBoYXMgdGhlIHNhbWUgcHJpb3JpdHkgYXMgdGhpcyBjdXJyZW50IHJlbmRlcixcbiAgICAgICAgICAgICAgLy8gaXQncyBub3QgcGFydCBvZiB0aGUgc2FtZSB0cmFuc2l0aW9uIG9uY2UgdGhlIHRyYW5zaXRpb24gaGFzXG4gICAgICAgICAgICAgIC8vIGNvbW1pdHRlZC4gSWYgaXQncyBzeW5jLCB3ZSBzdGlsbCB3YW50IHRvIHlpZWxkIHNvIHRoYXQgaXQgY2FuIGJlXG4gICAgICAgICAgICAgIC8vIHBhaW50ZWQuIENvbmNlcHR1YWxseSwgdGhpcyBpcyByZWFsbHkgdGhlIHNhbWUgYXMgcGluZ2luZy5cbiAgICAgICAgICAgICAgLy8gV2UgY2FuIHVzZSBhbnkgUmV0cnlMYW5lIGV2ZW4gaWYgaXQncyB0aGUgb25lIGN1cnJlbnRseSByZW5kZXJpbmdcbiAgICAgICAgICAgICAgLy8gc2luY2Ugd2UncmUgbGVhdmluZyBpdCBiZWhpbmQgb24gdGhpcyBub2RlLlxuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhbmVzID0gU29tZVJldHJ5TGFuZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3QgbGlzdCBvZiB0aGUgYmFja3dhcmRzIHRhaWwgd2lsbCBoYXZlIGJlZW4gYWRkZWRcbiAgICAgICAgICAgIC8vIHRvIHRoZSBlbmQuIFRoaXMgYnJlYWtzIHRoZSBndWFyYW50ZWUgdGhhdCBsaWZlLWN5Y2xlcyBmaXJlIGluXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cbiAgICAgICAgICAgIC8vIEVzcGVjaWFsbHkgc2luY2UgdGhlc2UgbWlnaHQgYWxzbyBqdXN0IHBvcCBpbiBkdXJpbmcgZnV0dXJlIGNvbW1pdHMuXG4gICAgICAgICAgICAvLyBBcHBlbmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XG5cbiAgICAgICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVuZGVyU3RhdGUubGFzdCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIHN0aWxsIGhhdmUgdGFpbCByb3dzIHRvIHJlbmRlci5cbiAgICAgICAgICAvLyBQb3AgYSByb3cuXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG5leHQ7XG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG5leHQuc2libGluZztcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPSBub3coKTtcbiAgICAgICAgICBuZXh0LnNpYmxpbmcgPSBudWxsOyAvLyBSZXN0b3JlIHRoZSBjb250ZXh0LlxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxuICAgICAgICAgIC8vIHNldHRpbmcgaXQgdGhlIGZpcnN0IHRpbWUgd2UgZ28gZnJvbSBub3Qgc3VzcGVuZGVkIHRvIHN1c3BlbmRlZC5cblxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIERvIGEgcGFzcyBvdmVyIHRoZSBuZXh0IHJvdy5cbiAgICAgICAgICAvLyBEb24ndCBidWJibGUgcHJvcGVydGllcyBpbiB0aGlzIGNhc2UuXG5cbiAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgX25leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHZhciBuZXh0SXNIaWRkZW4gPSBfbmV4dFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIF9wcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgdmFyIHByZXZJc0hpZGRlbiA9IF9wcmV2U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICBpZiAocHJldklzSGlkZGVuICE9PSBuZXh0SXNIaWRkZW4gJiYgKCAvLyBMZWdhY3lIaWRkZW4gZG9lc24ndCBkbyBhbnkgaGlkaW5nIOKAlCBpdCBvbmx5IHByZS1yZW5kZXJzLlxuICAgICAgICAgICFlbmFibGVMZWdhY3lIaWRkZW4gKSkge1xuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5leHRJc0hpZGRlbiB8fCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgICAgYnViYmxlUHJvcGVydGllcyh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRG9uJ3QgYnViYmxlIHByb3BlcnRpZXMgZm9yIGhpZGRlbiBjaGlsZHJlbiB1bmxlc3Mgd2UncmUgcmVuZGVyaW5nXG4gICAgICAgICAgLy8gYXQgb2Zmc2NyZWVuIHByaW9yaXR5LlxuICAgICAgICAgIGlmIChpbmNsdWRlc1NvbWVMYW5lKHN1YnRyZWVSZW5kZXJMYW5lcywgT2Zmc2NyZWVuTGFuZSkpIHtcbiAgICAgICAgICAgIGJ1YmJsZVByb3BlcnRpZXMod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhbiBpbnNlcnRpb24gb3IgdXBkYXRlIGluIHRoZSBoaWRkZW4gc3VidHJlZS5cbiAgICAgICAgICAgICAgLy8gSWYgc28sIHdlIG5lZWQgdG8gaGlkZSB0aG9zZSBub2RlcyBpbiB0aGUgY29tbWl0IHBoYXNlLCBzb1xuICAgICAgICAgICAgICAvLyBzY2hlZHVsZSBhIHZpc2liaWxpdHkgZWZmZWN0LlxuICAgICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyAmIChQbGFjZW1lbnQgfCBVcGRhdGUpKSB7XG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgfD0gVmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2FjaGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFRyYWNpbmdNYXJrZXJDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXCIpLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gXCIgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiB1bndpbmRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIENvbXBvbmVudCA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG5cbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmbGFncyA9IHdvcmtJblByb2dyZXNzLmZsYWdzO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFNob3VsZENhcHR1cmUpIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGZsYWdzICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuXG4gICAgICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFjdHVhbER1cmF0aW9uKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICB7XG4gICAgICAgIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcG9wVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmVzZXRXb3JrSW5Qcm9ncmVzc1ZlcnNpb25zKCk7XG4gICAgICAgIHZhciBfZmxhZ3MgPSB3b3JrSW5Qcm9ncmVzcy5mbGFncztcblxuICAgICAgICBpZiAoKF9mbGFncyAmIFNob3VsZENhcHR1cmUpICE9PSBOb0ZsYWdzICYmIChfZmxhZ3MgJiBEaWRDYXB0dXJlKSA9PT0gTm9GbGFncykge1xuICAgICAgICAgIC8vIFRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgcmVuZGVyIHRoYXQgd2Fzbid0IGNhcHR1cmVkIGJ5IGEgc3VzcGVuc2VcbiAgICAgICAgICAvLyBib3VuZGFyeS4gRG8gYSBzZWNvbmQgcGFzcyBvbiB0aGUgcm9vdCB0byB1bm1vdW50IHRoZSBjaGlsZHJlbi5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IF9mbGFncyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH0gLy8gV2UgdW53b3VuZCB0byB0aGUgcm9vdCB3aXRob3V0IGNvbXBsZXRpbmcgaXQuIEV4aXQuXG5cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcbiAgICAgICAgcG9wSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBzdXNwZW5zZVN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCAmJiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmV3IGluIG5ld2x5IG1vdW50ZWQgZGVoeWRyYXRlZCBjb21wb25lbnQuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluICcgKyAnUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfZmxhZ3MyID0gd29ya0luUHJvZ3Jlc3MuZmxhZ3M7XG5cbiAgICAgICAgaWYgKF9mbGFnczIgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgPSBfZmxhZ3MyICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlOyAvLyBDYXB0dXJlZCBhIHN1c3BlbnNlIGVmZmVjdC4gUmUtcmVuZGVyIHRoZSBib3VuZGFyeS5cblxuICAgICAgICAgIGlmICggKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgICAgdHJhbnNmZXJBY3R1YWxEdXJhdGlvbih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXG4gICAgICAgIC8vIGNhdWdodCBieSBhIG5lc3RlZCBib3VuZGFyeS4gSWYgbm90LCBpdCBzaG91bGQgYnViYmxlIHRocm91Z2guXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGUuX2NvbnRleHQ7XG4gICAgICBwb3BQcm92aWRlcihjb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjYXNlIENhY2hlQ29tcG9uZW50OlxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrLCByZW5kZXJMYW5lcykge1xuICAvLyBOb3RlOiBUaGlzIGludGVudGlvbmFsbHkgZG9lc24ndCBjaGVjayBpZiB3ZSdyZSBoeWRyYXRpbmcgYmVjYXVzZSBjb21wYXJpbmdcbiAgLy8gdG8gdGhlIGN1cnJlbnQgdHJlZSBwcm92aWRlciBmaWJlciBpcyBqdXN0IGFzIGZhc3QgYW5kIGxlc3MgZXJyb3ItcHJvbmUuXG4gIC8vIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgd29yayBsb29wIG9ubHlcbiAgLy8gZm9yIGh5ZHJhdGlvbi5cbiAgcG9wVHJlZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcblxuICBzd2l0Y2ggKGludGVycnVwdGVkV29yay50YWcpIHtcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5jaGlsZENvbnRleHRUeXBlcztcblxuICAgICAgICBpZiAoY2hpbGRDb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY2hpbGRDb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBvcENvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHJvb3QgPSBpbnRlcnJ1cHRlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICByZXNldFdvcmtJblByb2dyZXNzVmVyc2lvbnMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgdmFyIGNvbnRleHQgPSBpbnRlcnJ1cHRlZFdvcmsudHlwZS5fY29udGV4dDtcbiAgICAgIHBvcFByb3ZpZGVyKGNvbnRleHQsIGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgIGNhc2UgTGVnYWN5SGlkZGVuQ29tcG9uZW50OlxuICAgICAgcG9wUmVuZGVyTGFuZXMoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9IG51bGw7XG5cbntcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBuZXcgU2V0KCk7XG59IC8vIFVzZWQgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UgdG8gdHJhY2sgdGhlIHN0YXRlIG9mIHRoZSBPZmZzY3JlZW4gY29tcG9uZW50IHN0YWNrLlxuLy8gQWxsb3dzIHVzIHRvIGF2b2lkIHRyYXZlcnNpbmcgdGhlIHJldHVybiBwYXRoIHRvIGZpbmQgdGhlIG5lYXJlc3QgT2Zmc2NyZWVuIGFuY2VzdG9yLlxuLy8gT25seSB1c2VkIHdoZW4gZW5hYmxlU3VzcGVuc2VMYXlvdXRFZmZlY3RTZW1hbnRpY3MgaXMgZW5hYmxlZC5cblxuXG52YXIgb2Zmc2NyZWVuU3VidHJlZUlzSGlkZGVuID0gZmFsc2U7XG52YXIgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IGZhbHNlO1xudmFyIFBvc3NpYmx5V2Vha1NldCA9IHR5cGVvZiBXZWFrU2V0ID09PSAnZnVuY3Rpb24nID8gV2Vha1NldCA6IFNldDtcbnZhciBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVXNlZCBmb3IgUHJvZmlsaW5nIGJ1aWxkcyB0byB0cmFjayB1cGRhdGVycy5cblxudmFyIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG52YXIgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xuZnVuY3Rpb24gcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yKSB7XG4gIC8vIFdyYXBwaW5nIGVhY2ggc21hbGwgcGFydCBvZiB0aGUgY29tbWl0IHBoYXNlIGludG8gYSBndWFyZGVkXG4gIC8vIGNhbGxiYWNrIGlzIGEgYml0IHRvbyBzbG93IChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMTY2NikuXG4gIC8vIEJ1dCB3ZSByZWx5IG9uIGl0IHRvIHN1cmZhY2UgZXJyb3JzIHRvIERFViB0b29scyBsaWtlIG92ZXJsYXlzXG4gIC8vIChodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIxNzEyKS5cbiAgLy8gQXMgYSBjb21wcm9taXNlLCByZXRocm93IG9ubHkgY2F1Z2h0IGVycm9ycyBpbiBhIGd1YXJkLlxuICB7XG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICAgIGNsZWFyQ2F1Z2h0RXJyb3IoKTtcbiAgfVxufVxuXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICBpbnN0YW5jZS5zdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAoIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuICB9XG59OyAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCBtb3VudGluZy5cblxuXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQsIGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufSAvLyBDYXB0dXJlIGVycm9ycyBzbyB0aGV5IGRvbid0IGludGVycnVwdCB1bm1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGNhbGxDb21wb25lbnRXaWxsVW5tb3VudFdpdGhUaW1lcihjdXJyZW50LCBpbnN0YW5jZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxDb21wb25lbnREaWRNb3VudChjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBpbnN0YW5jZSkge1xuICB0cnkge1xuICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59IC8vIENhcHR1cmUgZXJyb3JzIHNvIHRoZXkgZG9uJ3QgaW50ZXJydXB0IG1vdW50aW5nLlxuXG5cbmZ1bmN0aW9uIHNhZmVseUF0dGFjaFJlZihjdXJyZW50LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKSB7XG4gIHRyeSB7XG4gICAgY29tbWl0QXR0YWNoUmVmKGN1cnJlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcikge1xuICB2YXIgcmVmID0gY3VycmVudC5yZWY7XG5cbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgcmV0VmFsO1xuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlbmFibGVQcm9maWxlckNvbW1pdEhvb2tzICYmIGN1cnJlbnQubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oY3VycmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldFZhbCA9IHJlZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgcmV0VmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmV0dXJuIHZhbHVlIGZyb20gYSBjYWxsYmFjayByZWYgaW4gJXMuICcgKyAnQSBjYWxsYmFjayByZWYgc2hvdWxkIG5vdCByZXR1cm4gYSBmdW5jdGlvbi4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseUNhbGxEZXN0cm95KGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpIHtcbiAgdHJ5IHtcbiAgICBkZXN0cm95KCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IpO1xuICB9XG59XG5cbnZhciBmb2N1c2VkSW5zdGFuY2VIYW5kbGUgPSBudWxsO1xudmFyIHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1ciA9IGZhbHNlO1xuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpcnN0Q2hpbGQpIHtcbiAgZm9jdXNlZEluc3RhbmNlSGFuZGxlID0gcHJlcGFyZUZvckNvbW1pdChyb290LmNvbnRhaW5lckluZm8pO1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2JlZ2luKCk7IC8vIFdlIG5vIGxvbmdlciBuZWVkIHRvIHRyYWNrIHRoZSBhY3RpdmUgaW5zdGFuY2UgZmliZXJcblxuICB2YXIgc2hvdWxkRmlyZSA9IHNob3VsZEZpcmVBZnRlckFjdGl2ZUluc3RhbmNlQmx1cjtcbiAgc2hvdWxkRmlyZUFmdGVyQWN0aXZlSW5zdGFuY2VCbHVyID0gZmFsc2U7XG4gIGZvY3VzZWRJbnN0YW5jZUhhbmRsZSA9IG51bGw7XG4gIHJldHVybiBzaG91bGRGaXJlO1xufVxuXG5mdW5jdGlvbiBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHNfYmVnaW4oKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDsgLy8gVGhpcyBwaGFzZSBpcyBvbmx5IHVzZWQgZm9yIGJlZm9yZUFjdGl2ZUluc3RhbmNlQmx1ci5cblxuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChmaWJlci5zdWJ0cmVlRmxhZ3MgJiBCZWZvcmVNdXRhdGlvbk1hc2spICE9PSBOb0ZsYWdzICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBjaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzX2NvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0c19jb21wbGV0ZSgpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICB0cnkge1xuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaWJlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QmVmb3JlTXV0YXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFdvcmspIHtcbiAgdmFyIGN1cnJlbnQgPSBmaW5pc2hlZFdvcmsuYWx0ZXJuYXRlO1xuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKChmbGFncyAmIFNuYXBzaG90KSAhPT0gTm9GbGFncykge1xuICAgIHNldEN1cnJlbnRGaWJlcihmaW5pc2hlZFdvcmspO1xuXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMuc3RhdGVgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHNuYXBzaG90ID0gaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IHByZXZQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIHByZXZQcm9wcyksIHByZXZTdGF0ZSk7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFyIGRpZFdhcm5TZXQgPSBkaWRXYXJuQWJvdXRVbmRlZmluZWRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtcblxuICAgICAgICAgICAgICBpZiAoc25hcHNob3QgPT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblNldC5oYXMoZmluaXNoZWRXb3JrLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgZGlkV2FyblNldC5hZGQoZmluaXNoZWRXb3JrLnR5cGUpO1xuXG4gICAgICAgICAgICAgICAgZXJyb3IoJyVzLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCk6IEEgc25hcHNob3QgdmFsdWUgKG9yIG51bGwpICcgKyAnbXVzdCBiZSByZXR1cm5lZC4gWW91IGhhdmUgcmV0dXJuZWQgdW5kZWZpbmVkLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUgPSBzbmFwc2hvdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHJvb3QgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgICAgY2xlYXJDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIC8vIE5vdGhpbmcgdG8gZG8gZm9yIHRoZXNlIGNvbXBvbmVudCB0eXBlc1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KGZsYWdzLCBmaW5pc2hlZFdvcmssIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlICE9PSBudWxsID8gdXBkYXRlUXVldWUubGFzdEVmZmVjdCA6IG51bGw7XG5cbiAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XG4gICAgdmFyIGVmZmVjdCA9IGZpcnN0RWZmZWN0O1xuXG4gICAgZG8ge1xuICAgICAgaWYgKChlZmZlY3QudGFnICYgZmxhZ3MpID09PSBmbGFncykge1xuICAgICAgICAvLyBVbm1vdW50XG4gICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgUGFzc2l2ZSQxKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0VW5tb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgTGF5b3V0KSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBJbnNlcnRpb24pICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGZpbmlzaGVkV29yaywgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50UGFzc2l2ZUVmZmVjdFVubW91bnRTdG9wcGVkKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgICBtYXJrQ29tcG9uZW50TGF5b3V0RWZmZWN0VW5tb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChmbGFncywgZmluaXNoZWRXb3JrKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIGZsYWdzKSA9PT0gZmxhZ3MpIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICgoZmxhZ3MgJiBQYXNzaXZlJDEpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRQYXNzaXZlRWZmZWN0TW91bnRTdGFydGVkKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoZmxhZ3MgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RNb3VudFN0YXJ0ZWQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gTW91bnRcblxuXG4gICAgICAgIHZhciBjcmVhdGUgPSBlZmZlY3QuY3JlYXRlO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoKGZsYWdzICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICBzZXRJc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZWZmZWN0LmRlc3Ryb3kgPSBjcmVhdGUoKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIEluc2VydGlvbikgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgc2V0SXNSdW5uaW5nSW5zZXJ0aW9uRWZmZWN0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKChmbGFncyAmIFBhc3NpdmUkMSkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudFBhc3NpdmVFZmZlY3RNb3VudFN0b3BwZWQoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIExheW91dCkgIT09IE5vRmxhZ3MkMSkge1xuICAgICAgICAgICAgbWFya0NvbXBvbmVudExheW91dEVmZmVjdE1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgZGVzdHJveSA9IGVmZmVjdC5kZXN0cm95O1xuXG4gICAgICAgICAgaWYgKGRlc3Ryb3kgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZGVzdHJveSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGhvb2tOYW1lID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoKGVmZmVjdC50YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgICAgIGhvb2tOYW1lID0gJ3VzZUxheW91dEVmZmVjdCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChlZmZlY3QudGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncykge1xuICAgICAgICAgICAgICBob29rTmFtZSA9ICd1c2VJbnNlcnRpb25FZmZlY3QnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaG9va05hbWUgPSAndXNlRWZmZWN0JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGFkZGVuZHVtID0gdm9pZCAwO1xuXG4gICAgICAgICAgICBpZiAoZGVzdHJveSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkIG51bGwuIElmIHlvdXIgZWZmZWN0IGRvZXMgbm90IHJlcXVpcmUgY2xlYW4gJyArICd1cCwgcmV0dXJuIHVuZGVmaW5lZCAob3Igbm90aGluZykuJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlc3Ryb3kudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICdcXG5cXG5JdCBsb29rcyBsaWtlIHlvdSB3cm90ZSAnICsgaG9va05hbWUgKyAnKGFzeW5jICgpID0+IC4uLikgb3IgcmV0dXJuZWQgYSBQcm9taXNlLiAnICsgJ0luc3RlYWQsIHdyaXRlIHRoZSBhc3luYyBmdW5jdGlvbiBpbnNpZGUgeW91ciBlZmZlY3QgJyArICdhbmQgY2FsbCBpdCBpbW1lZGlhdGVseTpcXG5cXG4nICsgaG9va05hbWUgKyAnKCgpID0+IHtcXG4nICsgJyAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEYXRhKCkge1xcbicgKyAnICAgIC8vIFlvdSBjYW4gYXdhaXQgaGVyZVxcbicgKyAnICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgTXlBUEkuZ2V0RGF0YShzb21lSWQpO1xcbicgKyAnICAgIC8vIC4uLlxcbicgKyAnICB9XFxuJyArICcgIGZldGNoRGF0YSgpO1xcbicgKyBcIn0sIFtzb21lSWRdKTsgLy8gT3IgW10gaWYgZWZmZWN0IGRvZXNuJ3QgbmVlZCBwcm9wcyBvciBzdGF0ZVxcblxcblwiICsgJ0xlYXJuIG1vcmUgYWJvdXQgZGF0YSBmZXRjaGluZyB3aXRoIEhvb2tzOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaG9va3MtZGF0YS1mZXRjaGluZyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkOiAnICsgZGVzdHJveTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXJyb3IoJyVzIG11c3Qgbm90IHJldHVybiBhbnl0aGluZyBiZXNpZGVzIGEgZnVuY3Rpb24sICcgKyAnd2hpY2ggaXMgdXNlZCBmb3IgY2xlYW4tdXAuJXMnLCBob29rTmFtZSwgYWRkZW5kdW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlRWZmZWN0RHVyYXRpb25zKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKSB7XG4gIHtcbiAgICAvLyBPbmx5IFByb2ZpbGVycyB3aXRoIHdvcmsgaW4gdGhlaXIgc3VidHJlZSB3aWxsIGhhdmUgYW4gVXBkYXRlIGVmZmVjdCBzY2hlZHVsZWQuXG4gICAgaWYgKChmaW5pc2hlZFdvcmsuZmxhZ3MgJiBVcGRhdGUpICE9PSBOb0ZsYWdzKSB7XG4gICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcGFzc2l2ZUVmZmVjdER1cmF0aW9uID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgX2ZpbmlzaGVkV29yayRtZW1vaXplID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgaWQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUuaWQsXG4gICAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0ID0gX2ZpbmlzaGVkV29yayRtZW1vaXplLm9uUG9zdENvbW1pdDsgLy8gVGhpcyB2YWx1ZSB3aWxsIHN0aWxsIHJlZmxlY3QgdGhlIHByZXZpb3VzIGNvbW1pdCBwaGFzZS5cbiAgICAgICAgICAgIC8vIEl0IGRvZXMgbm90IGdldCByZXNldCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgY29tbWl0IHBoYXNlLlxuXG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGUgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblBvc3RDb21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgb25Qb3N0Q29tbWl0KGlkLCBwaGFzZSwgcGFzc2l2ZUVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgIH0gLy8gQnViYmxlIHRpbWVzIHRvIHRoZSBuZXh0IG5lYXJlc3QgYW5jZXN0b3IgUHJvZmlsZXIuXG4gICAgICAgICAgICAvLyBBZnRlciB3ZSBwcm9jZXNzIHRoYXQgUHJvZmlsZXIsIHdlJ2xsIGJ1YmJsZSBmdXJ0aGVyIHVwLlxuXG5cbiAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgIG91dGVyOiB3aGlsZSAocGFyZW50RmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgdmFyIHJvb3QgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICByb290LnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcblxuICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgcGFyZW50U3RhdGVOb2RlLnBhc3NpdmVFZmZlY3REdXJhdGlvbiArPSBwYXNzaXZlRWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICAgICAgICBicmVhayBvdXRlcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHBhcmVudEZpYmVyID0gcGFyZW50RmliZXIucmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdExheW91dEVmZmVjdE9uRmliZXIoZmluaXNoZWRSb290LCBjdXJyZW50LCBmaW5pc2hlZFdvcmssIGNvbW1pdHRlZExhbmVzKSB7XG4gIGlmICgoZmluaXNoZWRXb3JrLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IGxheW91dCBlZmZlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZCAoZHVyaW5nIG11dGF0aW9uIHBoYXNlKS5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXG4gICAgICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcbiAgICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG4gICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHN0YXRlIHRvIG1hdGNoIG1lbW9pemVkIHN0YXRlIGJlZm9yZSAnICsgJ2NvbXBvbmVudERpZE1vdW50LiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJldlByb3BzID0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlID09PSBmaW5pc2hlZFdvcmsudHlwZSA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoZmluaXNoZWRXb3JrLnR5cGUsIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgICAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnN0YXRlYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpbmlzaGVkV29yaykgfHwgJ2luc3RhbmNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0TGF5b3V0RWZmZWN0VGltZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlLCBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cblxuXG4gICAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAncHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5zdGF0ZWAuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuXG4gICAgICAgICAgICBjb21taXRVcGRhdGVRdWV1ZShmaW5pc2hlZFdvcmssIHVwZGF0ZVF1ZXVlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgdGhpcyBpcyBub3cgYWx3YXlzIG5vbi1udWxsIGJ5IHRoZSB0aW1lIGl0IHJlYWNoZXMgdGhlXG4gICAgICAgICAgLy8gY29tbWl0IHBoYXNlLiBDb25zaWRlciByZW1vdmluZyB0aGUgdHlwZSBjaGVjay5cbiAgICAgICAgICB2YXIgX3VwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgICAgaWYgKF91cGRhdGVRdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChmaW5pc2hlZFdvcmsuY2hpbGQudGFnKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZ2V0UHVibGljSW5zdGFuY2UoZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAgICAgICAgICBfaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuY2hpbGQuc3RhdGVOb2RlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCBfdXBkYXRlUXVldWUsIF9pbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9pbnN0YW5jZTIgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBSZW5kZXJlcnMgbWF5IHNjaGVkdWxlIHdvcmsgdG8gYmUgZG9uZSBhZnRlciBob3N0IGNvbXBvbmVudHMgYXJlIG1vdW50ZWRcbiAgICAgICAgICAvLyAoZWcgRE9NIHJlbmRlcmVyIG1heSBzY2hlZHVsZSBhdXRvLWZvY3VzIGZvciBpbnB1dHMgYW5kIGZvcm0gY29udHJvbHMpLlxuICAgICAgICAgIC8vIFRoZXNlIGVmZmVjdHMgc2hvdWxkIG9ubHkgYmUgY29tbWl0dGVkIHdoZW4gY29tcG9uZW50cyBhcmUgZmlyc3QgbW91bnRlZCxcbiAgICAgICAgICAvLyBha2Egd2hlbiB0aGVyZSBpcyBubyBjdXJyZW50L2FsdGVybmF0ZS5cblxuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsICYmIGZpbmlzaGVkV29yay5mbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgICAgdmFyIHR5cGUgPSBmaW5pc2hlZFdvcmsudHlwZTtcbiAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xuICAgICAgICAgICAgY29tbWl0TW91bnQoX2luc3RhbmNlMiwgdHlwZSwgcHJvcHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSBoYXZlIG5vIGxpZmUtY3ljbGVzIGFzc29jaWF0ZWQgd2l0aCB0ZXh0LlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHBvcnRhbHMuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfZmluaXNoZWRXb3JrJG1lbW9pemUyID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMsXG4gICAgICAgICAgICAgICAgb25Db21taXQgPSBfZmluaXNoZWRXb3JrJG1lbW9pemUyLm9uQ29tbWl0LFxuICAgICAgICAgICAgICAgIG9uUmVuZGVyID0gX2ZpbmlzaGVkV29yayRtZW1vaXplMi5vblJlbmRlcjtcbiAgICAgICAgICAgIHZhciBlZmZlY3REdXJhdGlvbiA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb247XG4gICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IGdldENvbW1pdFRpbWUoKTtcbiAgICAgICAgICAgIHZhciBwaGFzZSA9IGN1cnJlbnQgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZSc7XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVwZGF0ZU5lc3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgcGhhc2UgPSAnbmVzdGVkLXVwZGF0ZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBvblJlbmRlcihmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGZpbmlzaGVkV29yay5hY3R1YWxEdXJhdGlvbiwgZmluaXNoZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24sIGZpbmlzaGVkV29yay5hY3R1YWxTdGFydFRpbWUsIGNvbW1pdFRpbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygb25Db21taXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvbkNvbW1pdChmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5pZCwgcGhhc2UsIGVmZmVjdER1cmF0aW9uLCBjb21taXRUaW1lKTtcbiAgICAgICAgICAgICAgfSAvLyBTY2hlZHVsZSBhIHBhc3NpdmUgZWZmZWN0IGZvciB0aGlzIFByb2ZpbGVyIHRvIGNhbGwgb25Qb3N0Q29tbWl0IGhvb2tzLlxuICAgICAgICAgICAgICAvLyBUaGlzIGVmZmVjdCBzaG91bGQgYmUgc2NoZWR1bGVkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gb25Qb3N0Q29tbWl0IGNhbGxiYWNrIGZvciB0aGlzIFByb2ZpbGVyLFxuICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBlZmZlY3QgaXMgYWxzbyB3aGVyZSB0aW1lcyBidWJibGUgdG8gcGFyZW50IFByb2ZpbGVycy5cblxuXG4gICAgICAgICAgICAgIGVucXVldWVQZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0KGZpbmlzaGVkV29yayk7IC8vIFByb3BhZ2F0ZSBsYXlvdXQgZWZmZWN0IGR1cmF0aW9ucyB0byB0aGUgbmV4dCBuZWFyZXN0IFByb2ZpbGVyIGFuY2VzdG9yLlxuICAgICAgICAgICAgICAvLyBEbyBub3QgcmVzZXQgdGhlc2UgdmFsdWVzIHVudGlsIHRoZSBuZXh0IHJlbmRlciBzbyBEZXZUb29scyBoYXMgYSBjaGFuY2UgdG8gcmVhZCB0aGVtIGZpcnN0LlxuXG4gICAgICAgICAgICAgIHZhciBwYXJlbnRGaWJlciA9IGZpbmlzaGVkV29yay5yZXR1cm47XG5cbiAgICAgICAgICAgICAgb3V0ZXI6IHdoaWxlIChwYXJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocGFyZW50RmliZXIudGFnKSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFN0YXRlTm9kZS5lZmZlY3REdXJhdGlvbiArPSBlZmZlY3REdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyZW50RmliZXIgPSBwYXJlbnRGaWJlci5yZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAgY2FzZSBPZmZzY3JlZW5Db21wb25lbnQ6XG4gICAgICBjYXNlIExlZ2FjeUhpZGRlbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgVHJhY2luZ01hcmtlckNvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgJyArICdsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoICFvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuKSB7XG4gICAge1xuICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIFJlZikge1xuICAgICAgICBjb21taXRBdHRhY2hSZWYoZmluaXNoZWRXb3JrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzT25GaWJlcihub2RlKSB7XG4gIC8vIFR1cm4gb24gbGF5b3V0IGVmZmVjdHMgaW4gYSB0cmVlIHRoYXQgcHJldmlvdXNseSBkaXNhcHBlYXJlZC5cbiAgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiBMYXlvdXRTdGF0aWNcbiAgc3dpdGNoIChub2RlLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBub2RlLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdGFydExheW91dEVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tbWl0SG9va0xheW91dEVmZmVjdExpc3RNb3VudChub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBzYWZlbHlDYWxsQ29tcG9uZW50RGlkTW91bnQobm9kZSwgbm9kZS5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNhZmVseUF0dGFjaFJlZihub2RlLCBub2RlLnJldHVybik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBzYWZlbHlBdHRhY2hSZWYobm9kZSwgbm9kZS5yZXR1cm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XG4gIC8vIE9ubHkgaGlkZSBvciB1bmhpZGUgdGhlIHRvcC1tb3N0IGhvc3Qgbm9kZXMuXG4gIHZhciBob3N0U3VidHJlZVJvb3QgPSBudWxsO1xuXG4gIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbm9kZTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICAgICAgICAgIGhpZGVJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB1bmhpZGVJbnN0YW5jZShub2RlLnN0YXRlTm9kZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xuICAgICAgICBpZiAoaG9zdFN1YnRyZWVSb290ID09PSBudWxsKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2UzID0gbm9kZS5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgICBoaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICgobm9kZS50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gTGVnYWN5SGlkZGVuQ29tcG9uZW50KSAmJiBub2RlLm1lbW9pemVkU3RhdGUgIT09IG51bGwgJiYgbm9kZSAhPT0gZmluaXNoZWRXb3JrKSA7IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gZmluaXNoZWRXb3JrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvc3RTdWJ0cmVlUm9vdCA9PT0gbm9kZSkge1xuICAgICAgICAgIGhvc3RTdWJ0cmVlUm9vdCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChob3N0U3VidHJlZVJvb3QgPT09IG5vZGUpIHtcbiAgICAgICAgaG9zdFN1YnRyZWVSb290ID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0QXR0YWNoUmVmKGZpbmlzaGVkV29yaykge1xuICB2YXIgcmVmID0gZmluaXNoZWRXb3JrLnJlZjtcblxuICBpZiAocmVmICE9PSBudWxsKSB7XG4gICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICB2YXIgaW5zdGFuY2VUb1VzZTtcblxuICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gZ2V0UHVibGljSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGluc3RhbmNlO1xuICAgIH0gLy8gTW92ZWQgb3V0c2lkZSB0byBlbnN1cmUgRENFIHdvcmtzIHdpdGggdGhpcyBmbGFnXG5cbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIHJldFZhbDtcblxuICAgICAgaWYgKCBmaW5pc2hlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgIHJldFZhbCA9IHJlZihpbnN0YW5jZVRvVXNlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICByZWNvcmRMYXlvdXRFZmZlY3REdXJhdGlvbihmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXRWYWwgPSByZWYoaW5zdGFuY2VUb1VzZSk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXRWYWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBlcnJvcignVW5leHBlY3RlZCByZXR1cm4gdmFsdWUgZnJvbSBhIGNhbGxiYWNrIHJlZiBpbiAlcy4gJyArICdBIGNhbGxiYWNrIHJlZiBzaG91bGQgbm90IHJldHVybiBhIGZ1bmN0aW9uLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmluaXNoZWRXb3JrKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoIXJlZi5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJywgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihmaW5pc2hlZFdvcmspKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZWYuY3VycmVudCA9IGluc3RhbmNlVG9Vc2U7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRldGFjaEZpYmVyTXV0YXRpb24oZmliZXIpIHtcbiAgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXIgdG8gZGlzY29ubmVjdCBpdCBmcm9tIHRoZSB0cmVlLlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gZGV0ZWN0IGFuZCB3YXJuIGFnYWluc3Qgc3RhdGUgdXBkYXRlcyBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxuICAvLyBJdCBhbHNvIHByZXZlbnRzIGV2ZW50cyBmcm9tIGJ1YmJsaW5nIGZyb20gd2l0aGluIGRpc2Nvbm5lY3RlZCBjb21wb25lbnRzLlxuICAvL1xuICAvLyBJZGVhbGx5LCB3ZSBzaG91bGQgYWxzbyBjbGVhciB0aGUgY2hpbGQgcG9pbnRlciBvZiB0aGUgcGFyZW50IGFsdGVybmF0ZSB0byBsZXQgdGhpc1xuICAvLyBnZXQgR0M6ZWQgYnV0IHdlIGRvbid0IGtub3cgd2hpY2ggZm9yIHN1cmUgd2hpY2ggcGFyZW50IGlzIHRoZSBjdXJyZW50XG4gIC8vIG9uZSBzbyB3ZSdsbCBzZXR0bGUgZm9yIEdDOmluZyB0aGUgc3VidHJlZSBvZiB0aGlzIGNoaWxkLlxuICAvLyBUaGlzIGNoaWxkIGl0c2VsZiB3aWxsIGJlIEdDOmVkIHdoZW4gdGhlIHBhcmVudCB1cGRhdGVzIHRoZSBuZXh0IHRpbWUuXG4gIC8vXG4gIC8vIE5vdGUgdGhhdCB3ZSBjYW4ndCBjbGVhciBjaGlsZCBvciBzaWJsaW5nIHBvaW50ZXJzIHlldC5cbiAgLy8gVGhleSdyZSBuZWVkZWQgZm9yIHBhc3NpdmUgZWZmZWN0cyBhbmQgZm9yIGZpbmRET01Ob2RlLlxuICAvLyBXZSBkZWZlciB0aG9zZSBmaWVsZHMsIGFuZCBhbGwgb3RoZXIgY2xlYW51cCwgdG8gdGhlIHBhc3NpdmUgcGhhc2UgKHNlZSBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cykuXG4gIC8vXG4gIC8vIERvbid0IHJlc2V0IHRoZSBhbHRlcm5hdGUgeWV0LCBlaXRoZXIuIFdlIG5lZWQgdGhhdCBzbyB3ZSBjYW4gZGV0YWNoIHRoZVxuICAvLyBhbHRlcm5hdGUncyBmaWVsZHMgaW4gdGhlIHBhc3NpdmUgcGhhc2UuIENsZWFyaW5nIHRoZSByZXR1cm4gcG9pbnRlciBpc1xuICAvLyBzdWZmaWNpZW50IGZvciBmaW5kRE9NTm9kZSBzZW1hbnRpY3MuXG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgIGFsdGVybmF0ZS5yZXR1cm4gPSBudWxsO1xuICB9XG5cbiAgZmliZXIucmV0dXJuID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpIHtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgZmliZXIuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICBkZXRhY2hGaWJlckFmdGVyRWZmZWN0cyhhbHRlcm5hdGUpO1xuICB9IC8vIE5vdGU6IERlZmVuc2l2ZWx5IHVzaW5nIG5lZ2F0aW9uIGluc3RlYWQgb2YgPCBpbiBjYXNlXG4gIC8vIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgaXMgdW5kZWZpbmVkLlxuXG5cbiAge1xuICAgIC8vIENsZWFyIGN5Y2xpY2FsIEZpYmVyIGZpZWxkcy4gVGhpcyBsZXZlbCBhbG9uZSBpcyBkZXNpZ25lZCB0byByb3VnaGx5XG4gICAgLy8gYXBwcm94aW1hdGUgdGhlIHBsYW5uZWQgRmliZXIgcmVmYWN0b3IuIEluIHRoYXQgd29ybGQsIGBzZXRTdGF0ZWAgd2lsbCBiZVxuICAgIC8vIGJvdW5kIHRvIGEgc3BlY2lhbCBcImluc3RhbmNlXCIgb2JqZWN0IGluc3RlYWQgb2YgYSBGaWJlci4gVGhlIEluc3RhbmNlXG4gICAgLy8gb2JqZWN0IHdpbGwgbm90IGhhdmUgYW55IG9mIHRoZXNlIGZpZWxkcy4gSXQgd2lsbCBvbmx5IGJlIGNvbm5lY3RlZCB0b1xuICAgIC8vIHRoZSBmaWJlciB0cmVlIHZpYSBhIHNpbmdsZSBsaW5rIGF0IHRoZSByb290LiBTbyBpZiB0aGlzIGxldmVsIGFsb25lIGlzXG4gICAgLy8gc3VmZmljaWVudCB0byBmaXggbWVtb3J5IGlzc3VlcywgdGhhdCBib2RlcyB3ZWxsIGZvciBvdXIgcGxhbnMuXG4gICAgZmliZXIuY2hpbGQgPSBudWxsO1xuICAgIGZpYmVyLmRlbGV0aW9ucyA9IG51bGw7XG4gICAgZmliZXIuc2libGluZyA9IG51bGw7IC8vIFRoZSBgc3RhdGVOb2RlYCBpcyBjeWNsaWNhbCBiZWNhdXNlIG9uIGhvc3Qgbm9kZXMgaXQgcG9pbnRzIHRvIHRoZSBob3N0XG4gICAgLy8gdHJlZSwgd2hpY2ggaGFzIGl0cyBvd24gcG9pbnRlcnMgdG8gY2hpbGRyZW4sIHBhcmVudHMsIGFuZCBzaWJsaW5ncy5cbiAgICAvLyBUaGUgb3RoZXIgaG9zdCBub2RlcyBhbHNvIHBvaW50IGJhY2sgdG8gZmliZXJzLCBzbyB3ZSBzaG91bGQgZGV0YWNoIHRoYXRcbiAgICAvLyBvbmUsIHRvby5cblxuICAgIGlmIChmaWJlci50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcbiAgICAgIHZhciBob3N0SW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgZGV0YWNoRGVsZXRlZEluc3RhbmNlKGhvc3RJbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIuc3RhdGVOb2RlID0gbnVsbDsgLy8gSSdtIGludGVudGlvbmFsbHkgbm90IGNsZWFyaW5nIHRoZSBgcmV0dXJuYCBmaWVsZCBpbiB0aGlzIGxldmVsLiBXZVxuICAgIC8vIGFscmVhZHkgZGlzY29ubmVjdCB0aGUgYHJldHVybmAgcG9pbnRlciBhdCB0aGUgcm9vdCBvZiB0aGUgZGVsZXRlZFxuICAgIC8vIHN1YnRyZWUgKGluIGBkZXRhY2hGaWJlck11dGF0aW9uYCkuIEJlc2lkZXMsIGByZXR1cm5gIGJ5IGl0c2VsZiBpcyBub3RcbiAgICAvLyBjeWNsaWNhbCDigJQgaXQncyBvbmx5IGN5Y2xpY2FsIHdoZW4gY29tYmluZWQgd2l0aCBgY2hpbGRgLCBgc2libGluZ2AsIGFuZFxuICAgIC8vIGBhbHRlcm5hdGVgLiBCdXQgd2UnbGwgY2xlYXIgaXQgaW4gdGhlIG5leHQgbGV2ZWwgYW55d2F5LCBqdXN0IGluIGNhc2UuXG5cbiAgICB7XG4gICAgICBmaWJlci5fZGVidWdPd25lciA9IG51bGw7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gVGhlb3JldGljYWxseSwgbm90aGluZyBpbiBoZXJlIHNob3VsZCBiZSBuZWNlc3NhcnksIGJlY2F1c2Ugd2UgYWxyZWFkeVxuICAgICAgLy8gZGlzY29ubmVjdGVkIHRoZSBmaWJlciBmcm9tIHRoZSB0cmVlLiBTbyBldmVuIGlmIHNvbWV0aGluZyBsZWFrcyB0aGlzXG4gICAgICAvLyBwYXJ0aWN1bGFyIGZpYmVyLCBpdCB3b24ndCBsZWFrIGFueXRoaW5nIGVsc2VcbiAgICAgIC8vXG4gICAgICAvLyBUaGUgcHVycG9zZSBvZiB0aGlzIGJyYW5jaCBpcyB0byBiZSBzdXBlciBhZ2dyZXNzaXZlIHNvIHdlIGNhbiBtZWFzdXJlXG4gICAgICAvLyBpZiB0aGVyZSdzIGFueSBkaWZmZXJlbmNlIGluIG1lbW9yeSBpbXBhY3QuIElmIHRoZXJlIGlzLCB0aGF0IGNvdWxkXG4gICAgICAvLyBpbmRpY2F0ZSBhIFJlYWN0IGxlYWsgd2UgZG9uJ3Qga25vdyBhYm91dC5cbiAgICAgIGZpYmVyLnJldHVybiA9IG51bGw7XG4gICAgICBmaWJlci5kZXBlbmRlbmNpZXMgPSBudWxsO1xuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgIGZpYmVyLnBlbmRpbmdQcm9wcyA9IG51bGw7XG4gICAgICBmaWJlci5zdGF0ZU5vZGUgPSBudWxsOyAvLyBUT0RPOiBNb3ZlIHRvIGBjb21taXRQYXNzaXZlVW5tb3VudEluc2lkZURlbGV0ZWRUcmVlT25GaWJlcmAgaW5zdGVhZC5cblxuICAgICAgZmliZXIudXBkYXRlUXVldWUgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRIb3N0UGFyZW50RmliZXIoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cblxuICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xufVxuXG5mdW5jdGlvbiBpc0hvc3RQYXJlbnQoZmliZXIpIHtcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFBvcnRhbDtcbn1cblxuZnVuY3Rpb24gZ2V0SG9zdFNpYmxpbmcoZmliZXIpIHtcbiAgLy8gV2UncmUgZ29pbmcgdG8gc2VhcmNoIGZvcndhcmQgaW50byB0aGUgdHJlZSB1bnRpbCB3ZSBmaW5kIGEgc2libGluZyBob3N0XG4gIC8vIG5vZGUuIFVuZm9ydHVuYXRlbHksIGlmIG11bHRpcGxlIGluc2VydGlvbnMgYXJlIGRvbmUgaW4gYSByb3cgd2UgaGF2ZSB0b1xuICAvLyBzZWFyY2ggcGFzdCB0aGVtLiBUaGlzIGxlYWRzIHRvIGV4cG9uZW50aWFsIHNlYXJjaCBmb3IgdGhlIG5leHQgc2libGluZy5cbiAgLy8gVE9ETzogRmluZCBhIG1vcmUgZWZmaWNpZW50IHdheSB0byBkbyB0aGlzLlxuICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gIHNpYmxpbmdzOiB3aGlsZSAodHJ1ZSkge1xuICAgIC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueXRoaW5nLCBsZXQncyB0cnkgdGhlIG5leHQgc2libGluZy5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgaXNIb3N0UGFyZW50KG5vZGUucmV0dXJuKSkge1xuICAgICAgICAvLyBJZiB3ZSBwb3Agb3V0IG9mIHRoZSByb290IG9yIGhpdCB0aGUgcGFyZW50IHRoZSBmaWJlciB3ZSBhcmUgdGhlXG4gICAgICAgIC8vIGxhc3Qgc2libGluZy5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcblxuICAgIHdoaWxlIChub2RlLnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBub2RlLnRhZyAhPT0gSG9zdFRleHQgJiYgbm9kZS50YWcgIT09IERlaHlkcmF0ZWRGcmFnbWVudCkge1xuICAgICAgLy8gSWYgaXQgaXMgbm90IGhvc3Qgbm9kZSBhbmQsIHdlIG1pZ2h0IGhhdmUgYSBob3N0IG5vZGUgaW5zaWRlIGl0LlxuICAgICAgLy8gVHJ5IHRvIHNlYXJjaCBkb3duIHVudGlsIHdlIGZpbmQgb25lLlxuICAgICAgaWYgKG5vZGUuZmxhZ3MgJiBQbGFjZW1lbnQpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xuICAgICAgfSAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgY2hpbGQsIHRyeSB0aGUgc2libGluZ3MgaW5zdGVhZC5cbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXG5cblxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgY29udGludWUgc2libGluZ3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgfVxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cblxuXG4gICAgaWYgKCEobm9kZS5mbGFncyAmIFBsYWNlbWVudCkpIHtcbiAgICAgIC8vIEZvdW5kIGl0IVxuICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQbGFjZW1lbnQoZmluaXNoZWRXb3JrKSB7XG5cblxuICB2YXIgcGFyZW50RmliZXIgPSBnZXRIb3N0UGFyZW50RmliZXIoZmluaXNoZWRXb3JrKTsgLy8gTm90ZTogdGhlc2UgdHdvIHZhcmlhYmxlcyAqbXVzdCogYWx3YXlzIGJlIHVwZGF0ZWQgdG9nZXRoZXIuXG5cbiAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBwYXJlbnRGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKHBhcmVudEZpYmVyLmZsYWdzICYgQ29udGVudFJlc2V0KSB7XG4gICAgICAgICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xuICAgICAgICAgIHJlc2V0VGV4dENvbnRlbnQocGFyZW50KTsgLy8gQ2xlYXIgQ29udGVudFJlc2V0IGZyb20gdGhlIGVmZmVjdCB0YWdcblxuICAgICAgICAgIHBhcmVudEZpYmVyLmZsYWdzICY9IH5Db250ZW50UmVzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTsgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgaW5zZXJ0ZWQgYnV0IHdlIG5lZWQgdG8gcmVjdXJzZSBkb3duIGl0c1xuICAgICAgICAvLyBjaGlsZHJlbiB0byBmaW5kIGFsbCB0aGUgdGVybWluYWwgbm9kZXMuXG5cbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAge1xuICAgICAgICB2YXIgX3BhcmVudCA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuXG4gICAgICAgIHZhciBfYmVmb3JlID0gZ2V0SG9zdFNpYmxpbmcoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgX2JlZm9yZSwgX3BhcmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZS1uby1mYWxsdGhyb3VnaFxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBob3N0IHBhcmVudCBmaWJlci4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnICcgKyAnaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcbiAgdmFyIHRhZyA9IG5vZGUudGFnO1xuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XG5cbiAgaWYgKGlzSG9zdCkge1xuICAgIHZhciBzdGF0ZU5vZGUgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgIGluc2VydEluQ29udGFpbmVyQmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZFRvQ29udGFpbmVyKHBhcmVudCwgc3RhdGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodGFnID09PSBIb3N0UG9ydGFsKSA7IGVsc2Uge1xuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShub2RlLCBiZWZvcmUsIHBhcmVudCkge1xuICB2YXIgdGFnID0gbm9kZS50YWc7XG4gIHZhciBpc0hvc3QgPSB0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dDtcblxuICBpZiAoaXNIb3N0KSB7XG4gICAgdmFyIHN0YXRlTm9kZSA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgaWYgKGJlZm9yZSkge1xuICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRDaGlsZChwYXJlbnQsIHN0YXRlTm9kZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUoY2hpbGQsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcblxuICAgICAgd2hpbGUgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcbiAgICAgICAgc2libGluZyA9IHNpYmxpbmcuc2libGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhlc2UgYXJlIHRyYWNrZWQgb24gdGhlIHN0YWNrIGFzIHdlIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFcbi8vIGRlbGV0ZWQgc3VidHJlZS5cbi8vIFRPRE86IFVwZGF0ZSB0aGVzZSBkdXJpbmcgdGhlIHdob2xlIG11dGF0aW9uIHBoYXNlLCBub3QganVzdCBkdXJpbmdcbi8vIGEgZGVsZXRpb24uXG5cblxudmFyIGhvc3RQYXJlbnQgPSBudWxsO1xudmFyIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbkVmZmVjdHMocm9vdCwgcmV0dXJuRmliZXIsIGRlbGV0ZWRGaWJlcikge1xuICB7XG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgZGVsZXRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQsIGRldGFjaCByZWZzLCBjbGVhblxuICAgIC8vIHVwIG1vdW50ZWQgbGF5b3V0IGVmZmVjdHMsIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50LlxuICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIHRvcG1vc3QgaG9zdCBjaGlsZCBpbiBlYWNoIGJyYW5jaC4gQnV0IHRoZW4gd2VcbiAgICAvLyBzdGlsbCBuZWVkIHRvIGtlZXAgdHJhdmVyc2luZyB0byB1bm1vdW50IGVmZmVjdHMsIHJlZnMsIGFuZCBjV1UuIFRPRE86IFdlXG4gICAgLy8gY291bGQgc3BsaXQgdGhpcyBpbnRvIHR3byBzZXBhcmF0ZSB0cmF2ZXJzYWxzIGZ1bmN0aW9ucywgd2hlcmUgdGhlIHNlY29uZFxuICAgIC8vIG9uZSBkb2Vzbid0IGluY2x1ZGUgYW55IHJlbW92ZUNoaWxkIGxvZ2ljLiBUaGlzIGlzIG1heWJlIHRoZSBzYW1lXG4gICAgLy8gZnVuY3Rpb24gYXMgXCJkaXNhcHBlYXJMYXlvdXRFZmZlY3RzXCIgKG9yIHdoYXRldmVyIHRoYXQgdHVybnMgaW50byBhZnRlclxuICAgIC8vIHRoZSBsYXlvdXQgcGhhc2UgaXMgcmVmYWN0b3JlZCB0byB1c2UgcmVjdXJzaW9uKS5cbiAgICAvLyBCZWZvcmUgc3RhcnRpbmcsIGZpbmQgdGhlIG5lYXJlc3QgaG9zdCBwYXJlbnQgb24gdGhlIHN0YWNrIHNvIHdlIGtub3dcbiAgICAvLyB3aGljaCBpbnN0YW5jZS9jb250YWluZXIgdG8gcmVtb3ZlIHRoZSBjaGlsZHJlbiBmcm9tLlxuICAgIC8vIFRPRE86IEluc3RlYWQgb2Ygc2VhcmNoaW5nIHVwIHRoZSBmaWJlciByZXR1cm4gcGF0aCBvbiBldmVyeSBkZWxldGlvbiwgd2VcbiAgICAvLyBjYW4gdHJhY2sgdGhlIG5lYXJlc3QgaG9zdCBjb21wb25lbnQgb24gdGhlIEpTIHN0YWNrIGFzIHdlIHRyYXZlcnNlIHRoZVxuICAgIC8vIHRyZWUgZHVyaW5nIHRoZSBjb21taXQgcGhhc2UuIFRoaXMgd291bGQgbWFrZSBpbnNlcnRpb25zIGZhc3RlciwgdG9vLlxuICAgIHZhciBwYXJlbnQgPSByZXR1cm5GaWJlcjtcblxuICAgIGZpbmRQYXJlbnQ6IHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcbiAgICAgIHN3aXRjaCAocGFyZW50LnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGU7XG4gICAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9zdFBhcmVudCA9IHBhcmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaG9zdFBhcmVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgaG9zdCBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG5cbiAgICBjb21taXREZWxldGlvbkVmZmVjdHNPbkZpYmVyKHJvb3QsIHJldHVybkZpYmVyLCBkZWxldGVkRmliZXIpO1xuICAgIGhvc3RQYXJlbnQgPSBudWxsO1xuICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IGZhbHNlO1xuICB9XG5cbiAgZGV0YWNoRmliZXJNdXRhdGlvbihkZWxldGVkRmliZXIpO1xufVxuXG5mdW5jdGlvbiByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgcGFyZW50KSB7XG4gIC8vIFRPRE86IFVzZSBhIHN0YXRpYyBmbGFnIHRvIHNraXAgdHJlZXMgdGhhdCBkb24ndCBoYXZlIHVubW91bnQgZWZmZWN0c1xuICB2YXIgY2hpbGQgPSBwYXJlbnQuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGNoaWxkKTtcbiAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RGVsZXRpb25FZmZlY3RzT25GaWJlcihmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcikge1xuICBvbkNvbW1pdFVubW91bnQoZGVsZXRlZEZpYmVyKTsgLy8gVGhlIGNhc2VzIGluIHRoaXMgb3V0ZXIgc3dpdGNoIG1vZGlmeSB0aGUgc3RhY2sgYmVmb3JlIHRoZXkgdHJhdmVyc2VcbiAgLy8gaW50byB0aGVpciBzdWJ0cmVlLiBUaGVyZSBhcmUgc2ltcGxlciBjYXNlcyBpbiB0aGUgaW5uZXIgc3dpdGNoXG4gIC8vIHRoYXQgZG9uJ3QgbW9kaWZ5IHRoZSBzdGFjay5cblxuICBzd2l0Y2ggKGRlbGV0ZWRGaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICghb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIHNhZmVseURldGFjaFJlZihkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9IC8vIEludGVudGlvbmFsIGZhbGx0aHJvdWdoIHRvIG5leHQgYnJhbmNoXG5cbiAgICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUtbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byByZW1vdmUgdGhlIG5lYXJlc3QgaG9zdCBjaGlsZC4gU2V0IHRoZSBob3N0IHBhcmVudFxuICAgICAgICAvLyB0byBgbnVsbGAgb24gdGhlIHN0YWNrIHRvIGluZGljYXRlIHRoYXQgbmVzdGVkIGNoaWxkcmVuIGRvbid0XG4gICAgICAgIC8vIG5lZWQgdG8gYmUgcmVtb3ZlZC5cbiAgICAgICAge1xuICAgICAgICAgIHZhciBwcmV2SG9zdFBhcmVudCA9IGhvc3RQYXJlbnQ7XG4gICAgICAgICAgdmFyIHByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IHByZXZIb3N0UGFyZW50O1xuICAgICAgICAgIGhvc3RQYXJlbnRJc0NvbnRhaW5lciA9IHByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG5cbiAgICAgICAgICBpZiAoaG9zdFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gTm93IHRoYXQgYWxsIHRoZSBjaGlsZCBlZmZlY3RzIGhhdmUgdW5tb3VudGVkLCB3ZSBjYW4gcmVtb3ZlIHRoZVxuICAgICAgICAgICAgLy8gbm9kZSBmcm9tIHRoZSB0cmVlLlxuICAgICAgICAgICAgaWYgKGhvc3RQYXJlbnRJc0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoaG9zdFBhcmVudCwgZGVsZXRlZEZpYmVyLnN0YXRlTm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZW1vdmVDaGlsZChob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIERlaHlkcmF0ZWRGcmFnbWVudDpcbiAgICAgIHtcbiAgICAgICAgLy8gRGVsZXRlIHRoZSBkZWh5ZHJhdGVkIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBhbGwgb2YgaXRzIGNvbnRlbnQuXG5cblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKGhvc3RQYXJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChob3N0UGFyZW50SXNDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgY2xlYXJTdXNwZW5zZUJvdW5kYXJ5RnJvbUNvbnRhaW5lcihob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNsZWFyU3VzcGVuc2VCb3VuZGFyeShob3N0UGFyZW50LCBkZWxldGVkRmliZXIuc3RhdGVOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXaGVuIHdlIGdvIGludG8gYSBwb3J0YWwsIGl0IGJlY29tZXMgdGhlIHBhcmVudCB0byByZW1vdmUgZnJvbS5cbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50ID0gaG9zdFBhcmVudDtcbiAgICAgICAgICB2YXIgX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXIgPSBob3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgICAgaG9zdFBhcmVudCA9IGRlbGV0ZWRGaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgICAgICBob3N0UGFyZW50SXNDb250YWluZXIgPSB0cnVlO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICAgIGhvc3RQYXJlbnQgPSBfcHJldkhvc3RQYXJlbnQ7XG4gICAgICAgICAgaG9zdFBhcmVudElzQ29udGFpbmVyID0gX3ByZXZIb3N0UGFyZW50SXNDb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBkZWxldGVkRmliZXIudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gdXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIHZhciBfZWZmZWN0ID0gZWZmZWN0LFxuICAgICAgICAgICAgICAgICAgICBkZXN0cm95ID0gX2VmZmVjdC5kZXN0cm95LFxuICAgICAgICAgICAgICAgICAgICB0YWcgPSBfZWZmZWN0LnRhZztcblxuICAgICAgICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmICgodGFnICYgSW5zZXJ0aW9uKSAhPT0gTm9GbGFncyQxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh0YWcgJiBMYXlvdXQpICE9PSBOb0ZsYWdzJDEpIHtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RhcnRlZChkZWxldGVkRmliZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCBkZWxldGVkRmliZXIubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICAgICAgICAgIHNhZmVseUNhbGxEZXN0cm95KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVzdHJveSk7XG4gICAgICAgICAgICAgICAgICAgICAgcmVjb3JkTGF5b3V0RWZmZWN0RHVyYXRpb24oZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzYWZlbHlDYWxsRGVzdHJveShkZWxldGVkRmliZXIsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmtDb21wb25lbnRMYXlvdXRFZmZlY3RVbm1vdW50U3RvcHBlZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGVmZmVjdCAhPT0gZmlyc3RFZmZlY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIW9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4pIHtcbiAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoZGVsZXRlZEZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBkZWxldGVkRmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGRlbGV0ZWRGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgaW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFNjb3BlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIE9mZnNjcmVlbkNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCAvLyBUT0RPOiBSZW1vdmUgdGhpcyBkZWFkIGZsYWdcbiAgICAgICAgIGRlbGV0ZWRGaWJlci5tb2RlICYgQ29uY3VycmVudE1vZGUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIG9mZnNjcmVlbiBjb21wb25lbnQgaXMgaGlkZGVuLCB3ZSBhbHJlYWR5IHVubW91bnRlZCBpdC4gQmVmb3JlXG4gICAgICAgICAgLy8gZGVsZXRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayB0aGF0IGl0J3MgYWxyZWFkeSB1bm1vdW50ZWQgc28gdGhhdCB3ZVxuICAgICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gdW5tb3VudCB0aGUgZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICAvLyBUT0RPOiBJZiB0aGUgdHJlZSBpcyBoaWRkZW4sIGluIG1vc3QgY2FzZXMgd2Ugc2hvdWxkIGJlIGFibGUgdG8gc2tpcFxuICAgICAgICAgIC8vIG92ZXIgdGhlIG5lc3RlZCBjaGlsZHJlbiBlbnRpcmVseS4gQW4gZXhjZXB0aW9uIGlzIHdlIGhhdmVuJ3QgeWV0IGZvdW5kXG4gICAgICAgICAgLy8gdGhlIHRvcG1vc3QgaG9zdCBub2RlIHRvIGRlbGV0ZSwgd2hpY2ggd2UgYWxyZWFkeSB0cmFjayBvbiB0aGUgc3RhY2suXG4gICAgICAgICAgLy8gQnV0IHRoZSBvdGhlciBjYXNlIGlzIHBvcnRhbHMsIHdoaWNoIG5lZWQgdG8gYmUgZGV0YWNoZWQgbm8gbWF0dGVyIGhvd1xuICAgICAgICAgIC8vIGRlZXBseSB0aGV5IGFyZSBuZXN0ZWQuIFdlIHNob3VsZCB1c2UgYSBzdWJ0cmVlIGZsYWcgdG8gdHJhY2sgd2hldGhlciBhXG4gICAgICAgICAgLy8gc3VidHJlZSBpbmNsdWRlcyBhIG5lc3RlZCBwb3J0YWwuXG4gICAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gfHwgZGVsZXRlZEZpYmVyLm1lbW9pemVkU3RhdGUgIT09IG51bGw7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZURlbGV0aW9uRWZmZWN0cyhmaW5pc2hlZFJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IsIGRlbGV0ZWRGaWJlcik7XG4gICAgICAgICAgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VEZWxldGlvbkVmZmVjdHMoZmluaXNoZWRSb290LCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yLCBkZWxldGVkRmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlRGVsZXRpb25FZmZlY3RzKGZpbmlzaGVkUm9vdCwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZGVsZXRlZEZpYmVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFN1c3BlbnNlQ2FsbGJhY2soZmluaXNoZWRXb3JrKSB7XG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0byBwYXNzaXZlIHBoYXNlXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xufVxuXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaykge1xuXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChuZXdTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspIHtcbiAgLy8gSWYgdGhpcyBib3VuZGFyeSBqdXN0IHRpbWVkIG91dCwgdGhlbiBpdCB3aWxsIGhhdmUgYSBzZXQgb2Ygd2FrZWFibGVzLlxuICAvLyBGb3IgZWFjaCB3YWtlYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxuICAvLyBhdHRlbXB0cyB0byByZS1yZW5kZXIgdGhlIGJvdW5kYXJ5IGluIHRoZSBwcmltYXJ5IChwcmUtdGltZW91dCkgc3RhdGUuXG4gIHZhciB3YWtlYWJsZXMgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgaWYgKHdha2VhYmxlcyAhPT0gbnVsbCkge1xuICAgIGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgaWYgKHJldHJ5Q2FjaGUgPT09IG51bGwpIHtcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xuICAgIH1cblxuICAgIHdha2VhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh3YWtlYWJsZSkge1xuICAgICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgYm91bmRhcnkgZmliZXIgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxuICAgICAgdmFyIHJldHJ5ID0gcmVzb2x2ZVJldHJ5V2FrZWFibGUuYmluZChudWxsLCBmaW5pc2hlZFdvcmssIHdha2VhYmxlKTtcblxuICAgICAgaWYgKCFyZXRyeUNhY2hlLmhhcyh3YWtlYWJsZSkpIHtcbiAgICAgICAgcmV0cnlDYWNoZS5hZGQod2FrZWFibGUpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgICAgIGlmIChpblByb2dyZXNzTGFuZXMgIT09IG51bGwgJiYgaW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBwZW5kaW5nIHdvcmsgc3RpbGwsIGFzc29jaWF0ZSB0aGUgb3JpZ2luYWwgdXBkYXRlcnMgd2l0aCBpdC5cbiAgICAgICAgICAgICAgcmVzdG9yZVBlbmRpbmdVcGRhdGVycyhpblByb2dyZXNzUm9vdCwgaW5Qcm9ncmVzc0xhbmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCdFeHBlY3RlZCBmaW5pc2hlZCByb290IGFuZCBsYW5lcyB0byBiZSBzZXQuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgd2FrZWFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59IC8vIFRoaXMgZnVuY3Rpb24gZGV0ZWN0cyB3aGVuIGEgU3VzcGVuc2UgYm91bmRhcnkgZ29lcyBmcm9tIHZpc2libGUgdG8gaGlkZGVuLlxuZnVuY3Rpb24gY29tbWl0TXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290KTtcbiAgc2V0Q3VycmVudEZpYmVyKGZpbmlzaGVkV29yayk7XG4gIGluUHJvZ3Jlc3NMYW5lcyA9IG51bGw7XG4gIGluUHJvZ3Jlc3NSb290ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgbGFuZXMpIHtcbiAgLy8gRGVsZXRpb25zIGVmZmVjdHMgY2FuIGJlIHNjaGVkdWxlZCBvbiBhbnkgZmliZXIgdHlwZS4gVGhleSBuZWVkIHRvIGhhcHBlblxuICAvLyBiZWZvcmUgdGhlIGNoaWxkcmVuIGVmZmVjdHMgaGFlIGZpcmVkLlxuICB2YXIgZGVsZXRpb25zID0gcGFyZW50RmliZXIuZGVsZXRpb25zO1xuXG4gIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoaWxkVG9EZWxldGUgPSBkZWxldGlvbnNbaV07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdERlbGV0aW9uRWZmZWN0cyhyb290LCBwYXJlbnRGaWJlciwgY2hpbGRUb0RlbGV0ZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjaGlsZFRvRGVsZXRlLCBwYXJlbnRGaWJlciwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBwcmV2RGVidWdGaWJlciA9IGdldEN1cnJlbnRGaWJlcigpO1xuXG4gIGlmIChwYXJlbnRGaWJlci5zdWJ0cmVlRmxhZ3MgJiBNdXRhdGlvbk1hc2spIHtcbiAgICB2YXIgY2hpbGQgPSBwYXJlbnRGaWJlci5jaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNoaWxkKTtcbiAgICAgIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoY2hpbGQsIHJvb3QpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRGaWJlcihwcmV2RGVidWdGaWJlcik7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE11dGF0aW9uRWZmZWN0c09uRmliZXIoZmluaXNoZWRXb3JrLCByb290LCBsYW5lcykge1xuICB2YXIgY3VycmVudCA9IGZpbmlzaGVkV29yay5hbHRlcm5hdGU7XG4gIHZhciBmbGFncyA9IGZpbmlzaGVkV29yay5mbGFnczsgLy8gVGhlIGVmZmVjdCBmbGFnIHNob3VsZCBiZSBjaGVja2VkICphZnRlciogd2UgcmVmaW5lIHRoZSB0eXBlIG9mIGZpYmVyLFxuICAvLyBiZWNhdXNlIHRoZSBmaWJlciB0YWcgaXMgbW9yZSBzcGVjaWZpYy4gQW4gZXhjZXB0aW9uIGlzIGFueSBmbGFnIHJlbGF0ZWRcbiAgLy8gdG8gcmVjb25jaWxhdGlvbiwgYmVjYXVzZSB0aG9zZSBjYW4gYmUgc2V0IG9uIGFsbCBmaWJlciB0eXBlcy5cblxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoSW5zZXJ0aW9uIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChJbnNlcnRpb24gfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH0gLy8gTGF5b3V0IGVmZmVjdHMgYXJlIGRlc3Ryb3llZCBkdXJpbmcgdGhlIG11dGF0aW9uIHBoYXNlIHNvIHRoYXQgYWxsXG4gICAgICAgICAgLy8gZGVzdHJveSBmdW5jdGlvbnMgZm9yIGFsbCBmaWJlcnMgYXJlIGNhbGxlZCBiZWZvcmUgYW55IGNyZWF0ZSBmdW5jdGlvbnMuXG4gICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxuICAgICAgICAgIC8vIGUuZy4gYSBkZXN0cm95IGZ1bmN0aW9uIGluIG9uZSBjb21wb25lbnQgc2hvdWxkIG5ldmVyIG92ZXJyaWRlIGEgcmVmIHNldFxuICAgICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXG5cblxuICAgICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuLCBlcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFJlZikge1xuICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCwgY3VycmVudC5yZXR1cm4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcblxuICAgICAgICBpZiAoZmxhZ3MgJiBSZWYpIHtcbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQsIGN1cnJlbnQucmV0dXJuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB7XG4gICAgICAgICAgLy8gVE9ETzogQ29udGVudFJlc2V0IGdldHMgY2xlYXJlZCBieSB0aGUgY2hpbGRyZW4gZHVyaW5nIHRoZSBjb21taXRcbiAgICAgICAgICAvLyBwaGFzZS4gVGhpcyBpcyBhIHJlZmFjdG9yIGhhemFyZCBiZWNhdXNlIGl0IG1lYW5zIHdlIG11c3QgcmVhZFxuICAgICAgICAgIC8vIGZsYWdzIHRoZSBmbGFncyBhZnRlciBgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzYCBoYXMgYWxyZWFkeSBydW47XG4gICAgICAgICAgLy8gdGhlIG9yZGVyIG1hdHRlcnMuIFdlIHNob3VsZCByZWZhY3RvciBzbyB0aGF0IENvbnRlbnRSZXNldCBkb2VzIG5vdFxuICAgICAgICAgIC8vIHJlbHkgb24gbXV0YXRpbmcgdGhlIGZsYWcgZHVyaW5nIGNvbW1pdC4gTGlrZSBieSBzZXR0aW5nIGEgZmxhZ1xuICAgICAgICAgIC8vIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlIGluc3RlYWQuXG4gICAgICAgICAgaWYgKGZpbmlzaGVkV29yay5mbGFncyAmIENvbnRlbnRSZXNldCkge1xuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmVzZXRUZXh0Q29udGVudChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmxhZ3MgJiBVcGRhdGUpIHtcbiAgICAgICAgICAgIHZhciBfaW5zdGFuY2U0ID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICAgICAgaWYgKF9pbnN0YW5jZTQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cbiAgICAgICAgICAgICAgdmFyIG5ld1Byb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgICAgLy8gYXMgdGhlIG5ld1Byb3BzLiBUaGUgdXBkYXRlUGF5bG9hZCB3aWxsIGNvbnRhaW4gdGhlIHJlYWwgY2hhbmdlIGluXG4gICAgICAgICAgICAgIC8vIHRoaXMgY2FzZS5cblxuICAgICAgICAgICAgICB2YXIgb2xkUHJvcHMgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5tZW1vaXplZFByb3BzIDogbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gZmluaXNoZWRXb3JrLnR5cGU7IC8vIFRPRE86IFR5cGUgdGhlIHVwZGF0ZVF1ZXVlIHRvIGJlIHNwZWNpZmljIHRvIGhvc3QgY29tcG9uZW50cy5cblxuICAgICAgICAgICAgICB2YXIgdXBkYXRlUGF5bG9hZCA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgICAgICAgICAgICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcblxuICAgICAgICAgICAgICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRVcGRhdGUoX2luc3RhbmNlNCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgaGF2ZSBhIHRleHQgbm9kZSBpbml0aWFsaXplZC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgJyArICdjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICAgICAgICAgIHZhciBuZXdUZXh0ID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcbiAgICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgICAgLy8gdGhpcyBjYXNlLlxuXG4gICAgICAgICAgICB2YXIgb2xkVGV4dCA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBuZXdUZXh0O1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBwcmV2Um9vdFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgICAgIGlmIChwcmV2Um9vdFN0YXRlLmlzRGVoeWRyYXRlZCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb21taXRIeWRyYXRlZENvbnRhaW5lcihyb290LmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICBjb21taXRSZWNvbmNpbGlhdGlvbkVmZmVjdHMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgdmFyIG9mZnNjcmVlbkZpYmVyID0gZmluaXNoZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5GaWJlci5mbGFncyAmIFZpc2liaWxpdHkpIHtcbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuSW5zdGFuY2UgPSBvZmZzY3JlZW5GaWJlci5zdGF0ZU5vZGU7XG4gICAgICAgICAgdmFyIG5ld1N0YXRlID0gb2Zmc2NyZWVuRmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICB2YXIgaXNIaWRkZW4gPSBuZXdTdGF0ZSAhPT0gbnVsbDsgLy8gVHJhY2sgdGhlIGN1cnJlbnQgc3RhdGUgb24gdGhlIE9mZnNjcmVlbiBpbnN0YW5jZSBzbyB3ZSBjYW5cbiAgICAgICAgICAvLyByZWFkIGl0IGR1cmluZyBhbiBldmVudFxuXG4gICAgICAgICAgb2Zmc2NyZWVuSW5zdGFuY2UuaXNIaWRkZW4gPSBpc0hpZGRlbjtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgdmFyIHdhc0hpZGRlbiA9IG9mZnNjcmVlbkZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbCAmJiBvZmZzY3JlZW5GaWJlci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgICAgaWYgKCF3YXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogTW92ZSB0byBwYXNzaXZlIHBoYXNlXG4gICAgICAgICAgICAgIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmbGFncyAmIFVwZGF0ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRTdXNwZW5zZUNhbGxiYWNrKGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpbmlzaGVkV29yaywgZmluaXNoZWRXb3JrLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX3dhc0hpZGRlbiA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICAgIGlmICggLy8gVE9ETzogUmVtb3ZlIHRoaXMgZGVhZCBmbGFnXG4gICAgICAgICBmaW5pc2hlZFdvcmsubW9kZSAmIENvbmN1cnJlbnRNb2RlKSB7XG4gICAgICAgICAgLy8gQmVmb3JlIGNvbW1pdHRpbmcgdGhlIGNoaWxkcmVuLCB0cmFjayBvbiB0aGUgc3RhY2sgd2hldGhlciB0aGlzXG4gICAgICAgICAgLy8gb2Zmc2NyZWVuIHN1YnRyZWUgd2FzIGFscmVhZHkgaGlkZGVuLCBzbyB0aGF0IHdlIGRvbid0IHVubW91bnQgdGhlXG4gICAgICAgICAgLy8gZWZmZWN0cyBhZ2Fpbi5cbiAgICAgICAgICB2YXIgcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuICAgICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiB8fCBfd2FzSGlkZGVuO1xuICAgICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuID0gcHJldk9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVjdXJzaXZlbHlUcmF2ZXJzZU11dGF0aW9uRWZmZWN0cyhyb290LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVmlzaWJpbGl0eSkge1xuICAgICAgICAgIHZhciBfb2Zmc2NyZWVuSW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuICAgICAgICAgIHZhciBfbmV3U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICAgIHZhciBfaXNIaWRkZW4gPSBfbmV3U3RhdGUgIT09IG51bGw7XG5cbiAgICAgICAgICB2YXIgb2Zmc2NyZWVuQm91bmRhcnkgPSBmaW5pc2hlZFdvcms7IC8vIFRyYWNrIHRoZSBjdXJyZW50IHN0YXRlIG9uIHRoZSBPZmZzY3JlZW4gaW5zdGFuY2Ugc28gd2UgY2FuXG4gICAgICAgICAgLy8gcmVhZCBpdCBkdXJpbmcgYW4gZXZlbnRcblxuICAgICAgICAgIF9vZmZzY3JlZW5JbnN0YW5jZS5pc0hpZGRlbiA9IF9pc0hpZGRlbjtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChfaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgaWYgKCFfd2FzSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKChvZmZzY3JlZW5Cb3VuZGFyeS5tb2RlICYgQ29uY3VycmVudE1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgICAgICAgICAgIG5leHRFZmZlY3QgPSBvZmZzY3JlZW5Cb3VuZGFyeTtcbiAgICAgICAgICAgICAgICAgIHZhciBvZmZzY3JlZW5DaGlsZCA9IG9mZnNjcmVlbkJvdW5kYXJ5LmNoaWxkO1xuXG4gICAgICAgICAgICAgICAgICB3aGlsZSAob2Zmc2NyZWVuQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEVmZmVjdCA9IG9mZnNjcmVlbkNoaWxkO1xuICAgICAgICAgICAgICAgICAgICBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKG9mZnNjcmVlbkNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2NyZWVuQ2hpbGQgPSBvZmZzY3JlZW5DaGlsZC5zaWJsaW5nO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgbmVlZHMgdG8gcnVuIHdoZW5ldmVyIHRoZXJlJ3MgYW4gaW5zZXJ0aW9uIG9yIHVwZGF0ZVxuICAgICAgICAgICAgLy8gaW5zaWRlIGEgaGlkZGVuIE9mZnNjcmVlbiB0cmVlLlxuICAgICAgICAgICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ob2Zmc2NyZWVuQm91bmRhcnksIF9pc0hpZGRlbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJlY3Vyc2l2ZWx5VHJhdmVyc2VNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcbiAgICAgICAgY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgaWYgKGZsYWdzICYgVXBkYXRlKSB7XG4gICAgICAgICAgYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICByZWN1cnNpdmVseVRyYXZlcnNlTXV0YXRpb25FZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIGNvbW1pdFJlY29uY2lsaWF0aW9uRWZmZWN0cyhmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UmVjb25jaWxpYXRpb25FZmZlY3RzKGZpbmlzaGVkV29yaykge1xuICAvLyBQbGFjZW1lbnQgZWZmZWN0cyAoaW5zZXJ0aW9ucywgcmVvcmRlcnMpIGNhbiBiZSBzY2hlZHVsZWQgb24gYW55IGZpYmVyXG4gIC8vIHR5cGUuIFRoZXkgbmVlZHMgdG8gaGFwcGVuIGFmdGVyIHRoZSBjaGlsZHJlbiBlZmZlY3RzIGhhdmUgZmlyZWQsIGJ1dFxuICAvLyBiZWZvcmUgdGhlIGVmZmVjdHMgb24gdGhpcyBmaWJlciBoYXZlIGZpcmVkLlxuICB2YXIgZmxhZ3MgPSBmaW5pc2hlZFdvcmsuZmxhZ3M7XG5cbiAgaWYgKGZsYWdzICYgUGxhY2VtZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4sIGVycm9yKTtcbiAgICB9IC8vIENsZWFyIHRoZSBcInBsYWNlbWVudFwiIGZyb20gZWZmZWN0IHRhZyBzbyB0aGF0IHdlIGtub3cgdGhhdCB0aGlzIGlzXG4gICAgLy8gaW5zZXJ0ZWQsIGJlZm9yZSBhbnkgbGlmZS1jeWNsZXMgbGlrZSBjb21wb25lbnREaWRNb3VudCBnZXRzIGNhbGxlZC5cbiAgICAvLyBUT0RPOiBmaW5kRE9NTm9kZSBkb2Vzbid0IHJlbHkgb24gdGhpcyBhbnkgbW9yZSBidXQgaXNNb3VudGVkIGRvZXNcbiAgICAvLyBhbmQgaXNNb3VudGVkIGlzIGRlcHJlY2F0ZWQgYW55d2F5IHNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIGtpbGwgdGhpcy5cblxuXG4gICAgZmluaXNoZWRXb3JrLmZsYWdzICY9IH5QbGFjZW1lbnQ7XG4gIH1cblxuICBpZiAoZmxhZ3MgJiBIeWRyYXRpbmcpIHtcbiAgICBmaW5pc2hlZFdvcmsuZmxhZ3MgJj0gfkh5ZHJhdGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgY29tbWl0dGVkTGFuZXMpIHtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gY29tbWl0dGVkTGFuZXM7XG4gIGluUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgbmV4dEVmZmVjdCA9IGZpbmlzaGVkV29yaztcbiAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihmaW5pc2hlZFdvcmssIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgaW5Qcm9ncmVzc0xhbmVzID0gbnVsbDtcbiAgaW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICAvLyBTdXNwZW5zZSBsYXlvdXQgZWZmZWN0cyBzZW1hbnRpY3MgZG9uJ3QgY2hhbmdlIGZvciBsZWdhY3kgcm9vdHMuXG4gIHZhciBpc01vZGVyblJvb3QgPSAoc3VidHJlZVJvb3QubW9kZSAmIENvbmN1cnJlbnRNb2RlKSAhPT0gTm9Nb2RlO1xuXG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKCBmaWJlci50YWcgPT09IE9mZnNjcmVlbkNvbXBvbmVudCAmJiBpc01vZGVyblJvb3QpIHtcbiAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgT2Zmc2NyZWVuIHN0YWNrJ3Mgc3RhdGUuXG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IGlzSGlkZGVuIHx8IG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbjtcblxuICAgICAgaWYgKG5ld09mZnNjcmVlblN1YnRyZWVJc0hpZGRlbikge1xuICAgICAgICAvLyBUaGUgT2Zmc2NyZWVuIHRyZWUgaXMgaGlkZGVuLiBTa2lwIG92ZXIgaXRzIGxheW91dCBlZmZlY3RzLlxuICAgICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPIChPZmZzY3JlZW4pIEFsc28gY2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dE1hc2tcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBmaWJlci5hbHRlcm5hdGU7XG4gICAgICAgIHZhciB3YXNIaWRkZW4gPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcbiAgICAgICAgdmFyIG5ld09mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSB3YXNIaWRkZW4gfHwgb2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgdmFyIHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIHZhciBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbiA9IG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW47IC8vIFRyYXZlcnNlIHRoZSBPZmZzY3JlZW4gc3VidHJlZSB3aXRoIHRoZSBjdXJyZW50IE9mZnNjcmVlbiBhcyB0aGUgcm9vdC5cblxuICAgICAgICBvZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBuZXdPZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuO1xuXG4gICAgICAgIGlmIChvZmZzY3JlZW5TdWJ0cmVlV2FzSGlkZGVuICYmICFwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbikge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHJvb3Qgb2YgYSByZWFwcGVhcmluZyBib3VuZGFyeS4gVHVybiBpdHMgbGF5b3V0IGVmZmVjdHNcbiAgICAgICAgICAvLyBiYWNrIG9uLlxuICAgICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfYmVnaW4oZmliZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoaWxkID0gZmlyc3RDaGlsZDtcblxuICAgICAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0c19iZWdpbihjaGlsZCwgLy8gTmV3IHJvb3Q7IGJ1YmJsZSBiYWNrIHVwIHRvIGhlcmUgYW5kIHN0b3AuXG4gICAgICAgICAgcm9vdCwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfSAvLyBSZXN0b3JlIE9mZnNjcmVlbiBzdGF0ZSBhbmQgcmVzdW1lIGluIG91ci1wcm9ncmVzcyB0cmF2ZXJzYWwuXG5cblxuICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXI7XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVJc0hpZGRlbiA9IHByZXZPZmZzY3JlZW5TdWJ0cmVlSXNIaWRkZW47XG4gICAgICAgIG9mZnNjcmVlblN1YnRyZWVXYXNIaWRkZW4gPSBwcmV2T2Zmc2NyZWVuU3VidHJlZVdhc0hpZGRlbjtcbiAgICAgICAgY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcyk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgoZmliZXIuc3VidHJlZUZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MgJiYgZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgZmlyc3RDaGlsZC5yZXR1cm4gPSBmaWJlcjtcbiAgICAgIG5leHRFZmZlY3QgPSBmaXJzdENoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21taXRMYXlvdXRNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0TGF5b3V0TW91bnRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgTGF5b3V0TWFzaykgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gZmliZXIuYWx0ZXJuYXRlO1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29tbWl0TGF5b3V0RWZmZWN0T25GaWJlcihyb290LCBjdXJyZW50LCBmaWJlciwgY29tbWl0dGVkTGFuZXMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19iZWdpbihzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG4gICAgdmFyIGZpcnN0Q2hpbGQgPSBmaWJlci5jaGlsZDsgLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogZmxhZ3MgJiAoUmVmU3RhdGljIHwgTGF5b3V0U3RhdGljKVxuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoIGZpYmVyLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgc3RhcnRMYXlvdXRFZmZlY3RUaW1lcigpO1xuICAgICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIHJlY29yZExheW91dEVmZmVjdER1cmF0aW9uKGZpYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgUmVmU3RhdGljXG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChmaWJlciwgZmliZXIucmV0dXJuLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGZpYmVyLCBmaWJlci5yZXR1cm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgT2Zmc2NyZWVuQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhXG4gICAgICAgICAgdmFyIGlzSGlkZGVuID0gZmliZXIubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIGFscmVhZHkgaGlkZGVuLiBEb24ndCBkaXNhcHBlYXJcbiAgICAgICAgICAgIC8vIGl0cyBlZmZlY3RzLlxuICAgICAgICAgICAgZGlzYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gLy8gVE9ETyAoT2Zmc2NyZWVuKSBDaGVjazogc3VidHJlZUZsYWdzICYgTGF5b3V0U3RhdGljXG5cblxuICAgIGlmIChmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc2FwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkaXNhcHBlYXJMYXlvdXRFZmZlY3RzX2NvbXBsZXRlKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVhcHBlYXJMYXlvdXRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290KSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcbiAgICB2YXIgZmlyc3RDaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKGZpYmVyLnRhZyA9PT0gT2Zmc2NyZWVuQ29tcG9uZW50KSB7XG4gICAgICB2YXIgaXNIaWRkZW4gPSBmaWJlci5tZW1vaXplZFN0YXRlICE9PSBudWxsO1xuXG4gICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgLy8gTmVzdGVkIE9mZnNjcmVlbiB0cmVlIGlzIHN0aWxsIGhpZGRlbi4gRG9uJ3QgcmUtYXBwZWFyIGl0cyBlZmZlY3RzLlxuICAgICAgICByZWFwcGVhckxheW91dEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IHN1YnRyZWVGbGFncyAmIExheW91dFN0YXRpY1xuXG5cbiAgICBpZiAoZmlyc3RDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBub2RlIG1heSBoYXZlIGJlZW4gcmV1c2VkIGZyb20gYSBwcmV2aW91cyByZW5kZXIsIHNvIHdlIGNhbid0XG4gICAgICAvLyBhc3N1bWUgaXRzIHJldHVybiBwb2ludGVyIGlzIGNvcnJlY3QuXG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlYXBwZWFyTGF5b3V0RWZmZWN0c19jb21wbGV0ZShzdWJ0cmVlUm9vdCkge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7IC8vIFRPRE8gKE9mZnNjcmVlbikgQ2hlY2s6IGZsYWdzICYgTGF5b3V0U3RhdGljXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJlYXBwZWFyTGF5b3V0RWZmZWN0c09uRmliZXIoZmliZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgIGlmIChmaWJlciA9PT0gc3VidHJlZVJvb3QpIHtcbiAgICAgIG5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIG5vZGUgbWF5IGhhdmUgYmVlbiByZXVzZWQgZnJvbSBhIHByZXZpb3VzIHJlbmRlciwgc28gd2UgY2FuJ3RcbiAgICAgIC8vIGFzc3VtZSBpdHMgcmV0dXJuIHBvaW50ZXIgaXMgY29ycmVjdC5cbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzKHJvb3QsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkTGFuZXMsIGNvbW1pdHRlZFRyYW5zaXRpb25zKSB7XG4gIG5leHRFZmZlY3QgPSBmaW5pc2hlZFdvcms7XG4gIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfYmVnaW4oZmluaXNoZWRXb3JrLCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzX2JlZ2luKHN1YnRyZWVSb290LCByb290LCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBmaXJzdENoaWxkID0gZmliZXIuY2hpbGQ7XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBmaXJzdENoaWxkICE9PSBudWxsKSB7XG4gICAgICBmaXJzdENoaWxkLnJldHVybiA9IGZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IGZpcnN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVNb3VudEVmZmVjdHNfY29tcGxldGUoc3VidHJlZVJvb3QsIHJvb3QsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucykge1xuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaWJlciA9IG5leHRFZmZlY3Q7XG5cbiAgICBpZiAoKGZpYmVyLmZsYWdzICYgUGFzc2l2ZSkgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbW1pdFBhc3NpdmVNb3VudE9uRmliZXIocm9vdCwgZmliZXIsIGNvbW1pdHRlZExhbmVzLCBjb21taXR0ZWRUcmFuc2l0aW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihmaWJlciwgZmliZXIucmV0dXJuLCBlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyID09PSBzdWJ0cmVlUm9vdCkge1xuICAgICAgbmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHNpYmxpbmcgPSBmaWJlci5zaWJsaW5nO1xuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNpYmxpbmcucmV0dXJuID0gZmliZXIucmV0dXJuO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IGZpYmVyLnJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlTW91bnRPbkZpYmVyKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrLCBjb21taXR0ZWRMYW5lcywgY29tbWl0dGVkVHJhbnNpdGlvbnMpIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoIGZpbmlzaGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICBzdGFydFBhc3NpdmVFZmZlY3RUaW1lcigpO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMoZmlyc3RDaGlsZCkge1xuICBuZXh0RWZmZWN0ID0gZmlyc3RDaGlsZDtcbiAgY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzX2JlZ2luKCk7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19iZWdpbigpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkO1xuXG4gICAgaWYgKChuZXh0RWZmZWN0LmZsYWdzICYgQ2hpbGREZWxldGlvbikgIT09IE5vRmxhZ3MpIHtcbiAgICAgIHZhciBkZWxldGlvbnMgPSBmaWJlci5kZWxldGlvbnM7XG5cbiAgICAgIGlmIChkZWxldGlvbnMgIT09IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZWxldGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgZmliZXJUb0RlbGV0ZSA9IGRlbGV0aW9uc1tpXTtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gZmliZXJUb0RlbGV0ZTtcbiAgICAgICAgICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNJbnNpZGVPZkRlbGV0ZWRUcmVlX2JlZ2luKGZpYmVyVG9EZWxldGUsIGZpYmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBBIGZpYmVyIHdhcyBkZWxldGVkIGZyb20gdGhpcyBwYXJlbnQgZmliZXIsIGJ1dCBpdCdzIHN0aWxsIHBhcnQgb2ZcbiAgICAgICAgICAvLyB0aGUgcHJldmlvdXMgKGFsdGVybmF0ZSkgcGFyZW50IGZpYmVyJ3MgbGlzdCBvZiBjaGlsZHJlbi4gQmVjYXVzZVxuICAgICAgICAgIC8vIGNoaWxkcmVuIGFyZSBhIGxpbmtlZCBsaXN0LCBhbiBlYXJsaWVyIHNpYmxpbmcgdGhhdCdzIHN0aWxsIGFsaXZlXG4gICAgICAgICAgLy8gd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIGRlbGV0ZWQgZmliZXIgdmlhIGl0cyBgYWx0ZXJuYXRlYDpcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vICAgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1hbHRlcm5hdGUtLT4gcHJldmlvdXMgbGl2ZSBmaWJlclxuICAgICAgICAgIC8vICAgLS1zaWJsaW5nLS0+IGRlbGV0ZWQgZmliZXJcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFdlIGNhbid0IGRpc2Nvbm5lY3QgYGFsdGVybmF0ZWAgb24gbm9kZXMgdGhhdCBoYXZlbid0IGJlZW4gZGVsZXRlZFxuICAgICAgICAgIC8vIHlldCwgYnV0IHdlIGNhbiBkaXNjb25uZWN0IHRoZSBgc2libGluZ2AgYW5kIGBjaGlsZGAgcG9pbnRlcnMuXG4gICAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIGRldGFjaGVkQ2hpbGQgPSBwcmV2aW91c0ZpYmVyLmNoaWxkO1xuXG4gICAgICAgICAgICBpZiAoZGV0YWNoZWRDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBwcmV2aW91c0ZpYmVyLmNoaWxkID0gbnVsbDtcblxuICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgdmFyIGRldGFjaGVkU2libGluZyA9IGRldGFjaGVkQ2hpbGQuc2libGluZztcbiAgICAgICAgICAgICAgICBkZXRhY2hlZENoaWxkLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkQ2hpbGQgPSBkZXRhY2hlZFNpYmxpbmc7XG4gICAgICAgICAgICAgIH0gd2hpbGUgKGRldGFjaGVkQ2hpbGQgIT09IG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5leHRFZmZlY3QgPSBmaWJlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGZpYmVyLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c19jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHNfY29tcGxldGUoKSB7XG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpYmVyID0gbmV4dEVmZmVjdDtcblxuICAgIGlmICgoZmliZXIuZmxhZ3MgJiBQYXNzaXZlKSAhPT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50T25GaWJlcihmaWJlcik7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIH1cblxuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IGZpYmVyLnJldHVybjtcbiAgICAgIG5leHRFZmZlY3QgPSBzaWJsaW5nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHRFZmZlY3QgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRPbkZpYmVyKGZpbmlzaGVkV29yaykge1xuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIGlmICggZmluaXNoZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrLCBmaW5pc2hlZFdvcmsucmV0dXJuKTtcbiAgICAgICAgICByZWNvcmRQYXNzaXZlRWZmZWN0RHVyYXRpb24oZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmssIGZpbmlzaGVkV29yay5yZXR1cm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9iZWdpbihkZWxldGVkU3VidHJlZVJvb3QsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0OyAvLyBEZWxldGlvbiBlZmZlY3RzIGZpcmUgaW4gcGFyZW50IC0+IGNoaWxkIG9yZGVyXG4gICAgLy8gVE9ETzogQ2hlY2sgaWYgZmliZXIgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnXG5cbiAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGZpYmVyLCBuZWFyZXN0TW91bnRlZEFuY2VzdG9yKTtcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkOyAvLyBUT0RPOiBPbmx5IHRyYXZlcnNlIHN1YnRyZWUgaWYgaXQgaGFzIGEgUGFzc2l2ZVN0YXRpYyBmbGFnLiAoQnV0LCBpZiB3ZVxuICAgIC8vIGRvIHRoaXMsIHN0aWxsIG5lZWQgdG8gaGFuZGxlIGBkZWxldGVkVHJlZUNsZWFuVXBMZXZlbGAgY29ycmVjdGx5LilcblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgY2hpbGQucmV0dXJuID0gZmliZXI7XG4gICAgICBuZXh0RWZmZWN0ID0gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFBhc3NpdmVVbm1vdW50RWZmZWN0c0luc2lkZU9mRGVsZXRlZFRyZWVfY29tcGxldGUoZGVsZXRlZFN1YnRyZWVSb290KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGFzc2l2ZVVubW91bnRFZmZlY3RzSW5zaWRlT2ZEZWxldGVkVHJlZV9jb21wbGV0ZShkZWxldGVkU3VidHJlZVJvb3QpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZmliZXIgPSBuZXh0RWZmZWN0O1xuICAgIHZhciBzaWJsaW5nID0gZmliZXIuc2libGluZztcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICB7XG4gICAgICAvLyBSZWN1cnNpdmVseSB0cmF2ZXJzZSB0aGUgZW50aXJlIGRlbGV0ZWQgdHJlZSBhbmQgY2xlYW4gdXAgZmliZXIgZmllbGRzLlxuICAgICAgLy8gVGhpcyBpcyBtb3JlIGFnZ3Jlc3NpdmUgdGhhbiBpZGVhbCwgYW5kIHRoZSBsb25nIHRlcm0gZ29hbCBpcyB0byBvbmx5XG4gICAgICAvLyBoYXZlIHRvIGRldGFjaCB0aGUgZGVsZXRlZCB0cmVlIGF0IHRoZSByb290LlxuICAgICAgZGV0YWNoRmliZXJBZnRlckVmZmVjdHMoZmliZXIpO1xuXG4gICAgICBpZiAoZmliZXIgPT09IGRlbGV0ZWRTdWJ0cmVlUm9vdCkge1xuICAgICAgICBuZXh0RWZmZWN0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgbmV4dEVmZmVjdCA9IHNpYmxpbmc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dEVmZmVjdCA9IHJldHVybkZpYmVyO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVVbm1vdW50SW5zaWRlRGVsZXRlZFRyZWVPbkZpYmVyKGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpIHtcbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgaWYgKCBjdXJyZW50Lm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIHN0YXJ0UGFzc2l2ZUVmZmVjdFRpbWVyKCk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KFBhc3NpdmUkMSwgY3VycmVudCwgbmVhcmVzdE1vdW50ZWRBbmNlc3Rvcik7XG4gICAgICAgICAgcmVjb3JkUGFzc2l2ZUVmZmVjdER1cmF0aW9uKGN1cnJlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChQYXNzaXZlJDEsIGN1cnJlbnQsIG5lYXJlc3RNb3VudGVkQW5jZXN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn0gLy8gVE9ETzogUmV1c2UgcmVhcHBlYXJMYXlvdXRFZmZlY3RzIHRyYXZlcnNhbCBoZXJlP1xuXG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdE1vdW50SW5ERVYoZmliZXIpIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0TW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpYmVyKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGludm9rZUxheW91dEVmZmVjdFVubW91bnRJbkRFVihmaWJlcikge1xuICB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZS1jaGVjayBTdHJpY3RFZmZlY3RzTW9kZSBoZXJlLlxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhhdCBjaGVjayBoYXMgYWxyZWFkeSBwYXNzZWQuXG4gICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmliZXIsIGZpYmVyLnJldHVybik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKGZpYmVyLCBmaWJlci5yZXR1cm4sIGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGZpYmVyLCBmaWJlci5yZXR1cm4sIGluc3RhbmNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VQYXNzaXZlRWZmZWN0VW5tb3VudEluREVWKGZpYmVyKSB7XG4gIHtcbiAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlLWNoZWNrIFN0cmljdEVmZmVjdHNNb2RlIGhlcmUuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBpZiB0aGF0IGNoZWNrIGhhcyBhbHJlYWR5IHBhc3NlZC5cbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaWJlciwgZmliZXIucmV0dXJuKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoZmliZXIsIGZpYmVyLnJldHVybiwgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgQ09NUE9ORU5UX1RZUEUgPSAwO1xudmFyIEhBU19QU0VVRE9fQ0xBU1NfVFlQRSA9IDE7XG52YXIgUk9MRV9UWVBFID0gMjtcbnZhciBURVNUX05BTUVfVFlQRSA9IDM7XG52YXIgVEVYVF9UWVBFID0gNDtcblxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcikge1xuICB2YXIgc3ltYm9sRm9yID0gU3ltYm9sLmZvcjtcbiAgQ09NUE9ORU5UX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmNvbXBvbmVudCcpO1xuICBIQVNfUFNFVURPX0NMQVNTX1RZUEUgPSBzeW1ib2xGb3IoJ3NlbGVjdG9yLmhhc19wc2V1ZG9fY2xhc3MnKTtcbiAgUk9MRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci5yb2xlJyk7XG4gIFRFU1RfTkFNRV9UWVBFID0gc3ltYm9sRm9yKCdzZWxlY3Rvci50ZXN0X2lkJyk7XG4gIFRFWFRfVFlQRSA9IHN5bWJvbEZvcignc2VsZWN0b3IudGV4dCcpO1xufVxudmFyIGNvbW1pdEhvb2tzID0gW107XG5mdW5jdGlvbiBvbkNvbW1pdFJvb3QkMSgpIHtcbiAge1xuICAgIGNvbW1pdEhvb2tzLmZvckVhY2goZnVuY3Rpb24gKGNvbW1pdEhvb2spIHtcbiAgICAgIHJldHVybiBjb21taXRIb29rKCk7XG4gICAgfSk7XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG5mdW5jdGlvbiBpc0xlZ2FjeUFjdEVudmlyb25tZW50KGZpYmVyKSB7XG4gIHtcbiAgICAvLyBMZWdhY3kgbW9kZS4gV2UgcHJlc2VydmUgdGhlIGJlaGF2aW9yIG9mIFJlYWN0IDE3J3MgYWN0LiBJdCBhc3N1bWVzIGFuXG4gICAgLy8gYWN0IGVudmlyb25tZW50IHdoZW5ldmVyIGBqZXN0YCBpcyBkZWZpbmVkLCBidXQgeW91IGNhbiBzdGlsbCB0dXJuIG9mZlxuICAgIC8vIHNwdXJpb3VzIHdhcm5pbmdzIGJ5IHNldHRpbmcgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIGV4cGxpY2l0bHlcbiAgICAvLyB0byBmYWxzZS5cbiAgICB2YXIgaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsID0gLy8gJEZsb3dFeHBlY3RlZEVycm9yIOKAkyBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgZ2xvYmFsXG4gICAgdHlwZW9mIElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCAhPT0gJ3VuZGVmaW5lZCcgPyBJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQgOiB1bmRlZmluZWQ7IC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IGplc3RcblxuICAgIHZhciBqZXN0SXNEZWZpbmVkID0gdHlwZW9mIGplc3QgIT09ICd1bmRlZmluZWQnO1xuICAgIHJldHVybiAgamVzdElzRGVmaW5lZCAmJiBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgIT09IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpIHtcbiAge1xuICAgIHZhciBpc1JlYWN0QWN0RW52aXJvbm1lbnRHbG9iYWwgPSAvLyAkRmxvd0V4cGVjdGVkRXJyb3Ig4oCTIEZsb3cgZG9lc24ndCBrbm93IGFib3V0IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCBnbG9iYWxcbiAgICB0eXBlb2YgSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UICE9PSAndW5kZWZpbmVkJyA/IElTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IEluY2x1ZGUgbGluayB0byByZWxldmFudCBkb2N1bWVudGF0aW9uIHBhZ2UuXG4gICAgICBlcnJvcignVGhlIGN1cnJlbnQgdGVzdGluZyBlbnZpcm9ubWVudCBpcyBub3QgY29uZmlndXJlZCB0byBzdXBwb3J0ICcgKyAnYWN0KC4uLiknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNSZWFjdEFjdEVudmlyb25tZW50R2xvYmFsO1xuICB9XG59XG5cbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyLFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QWN0UXVldWU7XG52YXIgTm9Db250ZXh0ID1cbi8qICAgICAgICAgICAgICovXG4wO1xudmFyIEJhdGNoZWRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgKi9cbjE7XG52YXIgUmVuZGVyQ29udGV4dCA9XG4vKiAgICAgICAgICAgICAgICAqL1xuMjtcbnZhciBDb21taXRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgICovXG40O1xudmFyIFJvb3RJblByb2dyZXNzID0gMDtcbnZhciBSb290RmF0YWxFcnJvcmVkID0gMTtcbnZhciBSb290RXJyb3JlZCA9IDI7XG52YXIgUm9vdFN1c3BlbmRlZCA9IDM7XG52YXIgUm9vdFN1c3BlbmRlZFdpdGhEZWxheSA9IDQ7XG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XG52YXIgUm9vdERpZE5vdENvbXBsZXRlID0gNjsgLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXG5cbnZhciBleGVjdXRpb25Db250ZXh0ID0gTm9Db250ZXh0OyAvLyBUaGUgcm9vdCB3ZSdyZSB3b3JraW5nIG9uXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsOyAvLyBUaGUgZmliZXIgd2UncmUgd29ya2luZyBvblxuXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgbGFuZXMgd2UncmUgcmVuZGVyaW5nXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFN0YWNrIHRoYXQgYWxsb3dzIGNvbXBvbmVudHMgdG8gY2hhbmdlIHRoZSByZW5kZXIgbGFuZXMgZm9yIGl0cyBzdWJ0cmVlXG4vLyBUaGlzIGlzIGEgc3VwZXJzZXQgb2YgdGhlIGxhbmVzIHdlIHN0YXJ0ZWQgd29ya2luZyBvbiBhdCB0aGUgcm9vdC4gVGhlIG9ubHlcbi8vIGNhc2Ugd2hlcmUgaXQncyBkaWZmZXJlbnQgZnJvbSBgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXNgIGlzIHdoZW4gd2Vcbi8vIGVudGVyIGEgc3VidHJlZSB0aGF0IGlzIGhpZGRlbiBhbmQgbmVlZHMgdG8gYmUgdW5oaWRkZW46IFN1c3BlbnNlIGFuZFxuLy8gT2Zmc2NyZWVuIGNvbXBvbmVudC5cbi8vXG4vLyBNb3N0IHRoaW5ncyBpbiB0aGUgd29yayBsb29wIHNob3VsZCBkZWFsIHdpdGggd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMuXG4vLyBNb3N0IHRoaW5ncyBpbiBiZWdpbi9jb21wbGV0ZSBwaGFzZXMgc2hvdWxkIGRlYWwgd2l0aCBzdWJ0cmVlUmVuZGVyTGFuZXMuXG5cbnZhciBzdWJ0cmVlUmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xudmFyIHN1YnRyZWVSZW5kZXJMYW5lc0N1cnNvciA9IGNyZWF0ZUN1cnNvcihOb0xhbmVzKTsgLy8gV2hldGhlciB0byByb290IGNvbXBsZXRlZCwgZXJyb3JlZCwgc3VzcGVuZGVkLCBldGMuXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEluUHJvZ3Jlc3M7IC8vIEEgZmF0YWwgZXJyb3IsIGlmIG9uZSBpcyB0aHJvd25cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSBudWxsOyAvLyBcIkluY2x1ZGVkXCIgbGFuZXMgcmVmZXIgdG8gbGFuZXMgdGhhdCB3ZXJlIHdvcmtlZCBvbiBkdXJpbmcgdGhpcyByZW5kZXIuIEl0J3Ncbi8vIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuIGByZW5kZXJMYW5lc2AgYmVjYXVzZSBgcmVuZGVyTGFuZXNgIGNhbiBjaGFuZ2UgYXMgeW91XG4vLyBlbnRlciBhbmQgZXhpdCBhbiBPZmZzY3JlZW4gdHJlZS4gVGhpcyB2YWx1ZSBpcyB0aGUgY29tYmluYXRpb24gb2YgYWxsIHJlbmRlclxuLy8gbGFuZXMgZm9yIHRoZSBlbnRpcmUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IE5vTGFuZXM7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxuLy8gaW5jbHVkZXMgdW5wcm9jZXNzZWQgdXBkYXRlcywgbm90IHdvcmsgaW4gYmFpbGVkIG91dCBjaGlsZHJlbi5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyA9IE5vTGFuZXM7IC8vIExhbmVzIHRoYXQgd2VyZSB1cGRhdGVkIChpbiBhbiBpbnRlcmxlYXZlZCBldmVudCkgZHVyaW5nIHRoaXMgcmVuZGVyLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzOyAvLyBMYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSAoKm5vdCogYW4gaW50ZXJsZWF2ZWQgZXZlbnQpLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBOb0xhbmVzOyAvLyBFcnJvcnMgdGhhdCBhcmUgdGhyb3duIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycyA9IG51bGw7IC8vIFRoZXNlIGFyZSBlcnJvcnMgdGhhdCB3ZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0IHN1cmZhY2luZyB0aGVtIHRvIHRoZSBVSS5cbi8vIFdlIHdpbGwgbG9nIHRoZW0gb25jZSB0aGUgdHJlZSBjb21taXRzLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMgPSBudWxsOyAvLyBUaGUgbW9zdCByZWNlbnQgdGltZSB3ZSBjb21taXR0ZWQgYSBmYWxsYmFjay4gVGhpcyBsZXRzIHVzIGVuc3VyZSBhIHRyYWluXG4vLyBtb2RlbCB3aGVyZSB3ZSBkb24ndCBjb21taXQgbmV3IGxvYWRpbmcgc3RhdGVzIGluIHRvbyBxdWljayBzdWNjZXNzaW9uLlxuXG52YXIgZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA9IDA7XG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSA1MDA7IC8vIFRoZSBhYnNvbHV0ZSB0aW1lIGZvciB3aGVuIHdlIHNob3VsZCBzdGFydCBnaXZpbmcgdXAgb24gcmVuZGVyaW5nXG4vLyBtb3JlIGFuZCBwcmVmZXIgQ1BVIHN1c3BlbnNlIGhldXJpc3RpY3MgaW5zdGVhZC5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBJbmZpbml0eTsgLy8gSG93IGxvbmcgYSByZW5kZXIgaXMgc3VwcG9zZWQgdG8gdGFrZSBiZWZvcmUgd2Ugc3RhcnQgZm9sbG93aW5nIENQVVxuLy8gc3VzcGVuc2UgaGV1cmlzdGljcyBhbmQgb3B0IG91dCBvZiByZW5kZXJpbmcgbW9yZSBjb250ZW50LlxuXG52YXIgUkVOREVSX1RJTUVPVVRfTVMgPSA1MDA7XG52YXIgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyA9IG51bGw7XG5cbmZ1bmN0aW9uIHJlc2V0UmVuZGVyVGltZXIoKSB7XG4gIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlclRhcmdldFRpbWUgPSBub3coKSArIFJFTkRFUl9USU1FT1VUX01TO1xufVxuXG5mdW5jdGlvbiBnZXRSZW5kZXJUYXJnZXRUaW1lKCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyVGFyZ2V0VGltZTtcbn1cbnZhciBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XG52YXIgZmlyc3RVbmNhdWdodEVycm9yID0gbnVsbDtcbnZhciBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7IC8vIE9ubHkgdXNlZCB3aGVuIGVuYWJsZVByb2ZpbGVyTmVzdGVkVXBkYXRlU2NoZWR1bGVkSG9vayBpcyB0cnVlO1xudmFyIHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xudmFyIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcbnZhciBwZW5kaW5nUGFzc2l2ZVByb2ZpbGVyRWZmZWN0cyA9IFtdO1xudmFyIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsOyAvLyBVc2UgdGhlc2UgdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wIG9mIG5lc3RlZCB1cGRhdGVzXG5cbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XG52YXIgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xudmFyIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IG51bGw7XG52YXIgaXNGbHVzaGluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG52YXIgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xudmFyIE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCA9IDUwO1xudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG52YXIgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7IC8vIElmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZSBzaG91bGQgdHJlYXQgdGhlaXJcbi8vIGV2ZW50IHRpbWVzIGFzIHNpbXVsdGFuZW91cywgZXZlbiBpZiB0aGUgYWN0dWFsIGNsb2NrIHRpbWUgaGFzIGFkdmFuY2VkXG4vLyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNhbGwuXG5cbnZhciBjdXJyZW50RXZlbnRUaW1lID0gTm9UaW1lc3RhbXA7XG52YXIgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xudmFyIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGZhbHNlO1xuZnVuY3Rpb24gZ2V0V29ya0luUHJvZ3Jlc3NSb290KCkge1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290O1xufVxuZnVuY3Rpb24gcmVxdWVzdEV2ZW50VGltZSgpIHtcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIC8vIFdlJ3JlIGluc2lkZSBSZWFjdCwgc28gaXQncyBmaW5lIHRvIHJlYWQgdGhlIGFjdHVhbCB0aW1lLlxuICAgIHJldHVybiBub3coKTtcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXG5cblxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9UaW1lc3RhbXApIHtcbiAgICAvLyBVc2UgdGhlIHNhbWUgc3RhcnQgdGltZSBmb3IgYWxsIHVwZGF0ZXMgdW50aWwgd2UgZW50ZXIgUmVhY3QgYWdhaW4uXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG4gIH0gLy8gVGhpcyBpcyB0aGUgZmlyc3QgdXBkYXRlIHNpbmNlIFJlYWN0IHlpZWxkZWQuIENvbXB1dGUgYSBuZXcgc3RhcnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBub3coKTtcbiAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG59XG5mdW5jdGlvbiByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcikge1xuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfSBlbHNlIGlmICggKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0ICYmIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFRoZXNlIGFyZSBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQuIFRoZVxuICAgIC8vIG9sZCBiZWhhdmlvciBpcyB0byBnaXZlIHRoaXMgdGhlIHNhbWUgXCJ0aHJlYWRcIiAobGFuZXMpIGFzXG4gICAgLy8gd2hhdGV2ZXIgaXMgY3VycmVudGx5IHJlbmRlcmluZy4gU28gaWYgeW91IGNhbGwgYHNldFN0YXRlYCBvbiBhIGNvbXBvbmVudFxuICAgIC8vIHRoYXQgaGFwcGVucyBsYXRlciBpbiB0aGUgc2FtZSByZW5kZXIsIGl0IHdpbGwgZmx1c2guIElkZWFsbHksIHdlIHdhbnQgdG9cbiAgICAvLyByZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBhbmQgdHJlYXQgdGhlbSBhcyBpZiB0aGV5IGNhbWUgZnJvbSBhblxuICAgIC8vIGludGVybGVhdmVkIGV2ZW50LiBSZWdhcmRsZXNzLCB0aGlzIHBhdHRlcm4gaXMgbm90IG9mZmljaWFsbHkgc3VwcG9ydGVkLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IgaXMgb25seSBhIGZhbGxiYWNrLiBUaGUgZmxhZyBvbmx5IGV4aXN0cyB1bnRpbCB3ZSBjYW4gcm9sbFxuICAgIC8vIG91dCB0aGUgc2V0U3RhdGUgd2FybmluZywgc2luY2UgZXhpc3RpbmcgY29kZSBtaWdodCBhY2NpZGVudGFsbHkgcmVseSBvblxuICAgIC8vIHRoZSBjdXJyZW50IGJlaGF2aW9yLlxuICAgIHJldHVybiBwaWNrQXJiaXRyYXJ5TGFuZSh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cblxuICB2YXIgaXNUcmFuc2l0aW9uID0gcmVxdWVzdEN1cnJlbnRUcmFuc2l0aW9uKCkgIT09IE5vVHJhbnNpdGlvbjtcblxuICBpZiAoaXNUcmFuc2l0aW9uKSB7XG4gICAgaWYgKCBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhciB0cmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gICAgICBpZiAoIXRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycy5hZGQoZmliZXIpO1xuICAgIH0gLy8gVGhlIGFsZ29yaXRobSBmb3IgYXNzaWduaW5nIGFuIHVwZGF0ZSB0byBhIGxhbmUgc2hvdWxkIGJlIHN0YWJsZSBmb3IgYWxsXG4gICAgLy8gdXBkYXRlcyBhdCB0aGUgc2FtZSBwcmlvcml0eSB3aXRoaW4gdGhlIHNhbWUgZXZlbnQuIFRvIGRvIHRoaXMsIHRoZVxuICAgIC8vIGlucHV0cyB0byB0aGUgYWxnb3JpdGhtIG11c3QgYmUgdGhlIHNhbWUuXG4gICAgLy9cbiAgICAvLyBUaGUgdHJpY2sgd2UgdXNlIGlzIHRvIGNhY2hlIHRoZSBmaXJzdCBvZiBlYWNoIG9mIHRoZXNlIGlucHV0cyB3aXRoaW4gYW5cbiAgICAvLyBldmVudC4gVGhlbiByZXNldCB0aGUgY2FjaGVkIHZhbHVlcyBvbmNlIHdlIGNhbiBiZSBzdXJlIHRoZSBldmVudCBpc1xuICAgIC8vIG92ZXIuIE91ciBoZXVyaXN0aWMgZm9yIHRoYXQgaXMgd2hlbmV2ZXIgd2UgZW50ZXIgYSBjb25jdXJyZW50IHdvcmsgbG9vcC5cblxuXG4gICAgaWYgKGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lID09PSBOb0xhbmUpIHtcbiAgICAgIC8vIEFsbCB0cmFuc2l0aW9ucyB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgYXJlIGFzc2lnbmVkIHRoZSBzYW1lIGxhbmUuXG4gICAgICBjdXJyZW50RXZlbnRUcmFuc2l0aW9uTGFuZSA9IGNsYWltTmV4dFRyYW5zaXRpb25MYW5lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRyYW5zaXRpb25MYW5lO1xuICB9IC8vIFVwZGF0ZXMgb3JpZ2luYXRpbmcgaW5zaWRlIGNlcnRhaW4gUmVhY3QgbWV0aG9kcywgbGlrZSBmbHVzaFN5bmMsIGhhdmVcbiAgLy8gdGhlaXIgcHJpb3JpdHkgc2V0IGJ5IHRyYWNraW5nIGl0IHdpdGggYSBjb250ZXh0IHZhcmlhYmxlLlxuICAvL1xuICAvLyBUaGUgb3BhcXVlIHR5cGUgcmV0dXJuZWQgYnkgdGhlIGhvc3QgY29uZmlnIGlzIGludGVybmFsbHkgYSBsYW5lLCBzbyB3ZSBjYW5cbiAgLy8gdXNlIHRoYXQgZGlyZWN0bHkuXG4gIC8vIFRPRE86IE1vdmUgdGhpcyB0eXBlIGNvbnZlcnNpb24gdG8gdGhlIGV2ZW50IHByaW9yaXR5IG1vZHVsZS5cblxuXG4gIHZhciB1cGRhdGVMYW5lID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgaWYgKHVwZGF0ZUxhbmUgIT09IE5vTGFuZSkge1xuICAgIHJldHVybiB1cGRhdGVMYW5lO1xuICB9IC8vIFRoaXMgdXBkYXRlIG9yaWdpbmF0ZWQgb3V0c2lkZSBSZWFjdC4gQXNrIHRoZSBob3N0IGVudmlyb25tZW50IGZvciBhblxuICAvLyBhcHByb3ByaWF0ZSBwcmlvcml0eSwgYmFzZWQgb24gdGhlIHR5cGUgb2YgZXZlbnQuXG4gIC8vXG4gIC8vIFRoZSBvcGFxdWUgdHlwZSByZXR1cm5lZCBieSB0aGUgaG9zdCBjb25maWcgaXMgaW50ZXJuYWxseSBhIGxhbmUsIHNvIHdlIGNhblxuICAvLyB1c2UgdGhhdCBkaXJlY3RseS5cbiAgLy8gVE9ETzogTW92ZSB0aGlzIHR5cGUgY29udmVyc2lvbiB0byB0aGUgZXZlbnQgcHJpb3JpdHkgbW9kdWxlLlxuXG5cbiAgdmFyIGV2ZW50TGFuZSA9IGdldEN1cnJlbnRFdmVudFByaW9yaXR5KCk7XG4gIHJldHVybiBldmVudExhbmU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RSZXRyeUxhbmUoZmliZXIpIHtcbiAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgYHJlcXVlc3RVcGRhdGVMYW5lYCBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIFN1c3BlbnNlXG4gIC8vIFwicmV0cmllc1wiIOKAlCBhIHNwZWNpYWwgdXBkYXRlIHRoYXQgYXR0ZW1wdHMgdG8gZmxpcCBhIFN1c3BlbnNlIGJvdW5kYXJ5XG4gIC8vIGZyb20gaXRzIHBsYWNlaG9sZGVyIHN0YXRlIHRvIGl0cyBwcmltYXJ5L3Jlc29sdmVkIHN0YXRlLlxuICAvLyBTcGVjaWFsIGNhc2VzXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcblxuICBpZiAoKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jTGFuZTtcbiAgfVxuXG4gIHJldHVybiBjbGFpbU5leHRSZXRyeUxhbmUoKTtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpIHtcbiAgY2hlY2tGb3JOZXN0ZWRVcGRhdGVzKCk7XG5cbiAge1xuICAgIGlmIChpc1J1bm5pbmdJbnNlcnRpb25FZmZlY3QpIHtcbiAgICAgIGVycm9yKCd1c2VJbnNlcnRpb25FZmZlY3QgbXVzdCBub3Qgc2NoZWR1bGUgdXBkYXRlcy4nKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgfVxuICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cblxuXG4gIG1hcmtSb290VXBkYXRlZChyb290LCBsYW5lLCBldmVudFRpbWUpO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0xhbmVzICYmIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgIC8vIFRoaXMgdXBkYXRlIHdhcyBkaXNwYXRjaGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLiBUaGlzIGlzIGEgbWlzdGFrZVxuICAgIC8vIGlmIHRoZSB1cGRhdGUgb3JpZ2luYXRlcyBmcm9tIHVzZXIgc3BhY2UgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBsb2NhbFxuICAgIC8vIGhvb2sgdXBkYXRlcywgd2hpY2ggYXJlIGhhbmRsZWQgZGlmZmVyZW50bHkgYW5kIGRvbid0IHJlYWNoIHRoaXNcbiAgICAvLyBmdW5jdGlvbiksIGJ1dCB0aGVyZSBhcmUgc29tZSBpbnRlcm5hbCBSZWFjdCBmZWF0dXJlcyB0aGF0IHVzZSB0aGlzIGFzXG4gICAgLy8gYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLCBsaWtlIHNlbGVjdGl2ZSBoeWRyYXRpb24uXG4gICAgd2FybkFib3V0UmVuZGVyUGhhc2VVcGRhdGVzSW5ERVYoZmliZXIpOyAvLyBUcmFjayBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYSBub3JtYWwgdXBkYXRlLCBzY2hlZHVsZWQgZnJvbSBvdXRzaWRlIHRoZSByZW5kZXIgcGhhc2UuIEZvclxuICAgIC8vIGV4YW1wbGUsIGR1cmluZyBhbiBpbnB1dCBldmVudC5cbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgYWRkRmliZXJUb0xhbmVzTWFwKHJvb3QsIGZpYmVyLCBsYW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3YXJuSWZVcGRhdGVzTm90V3JhcHBlZFdpdGhBY3RERVYoZmliZXIpO1xuXG4gICAgaWYgKHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCkge1xuICAgICAgLy8gUmVjZWl2ZWQgYW4gdXBkYXRlIHRvIGEgdHJlZSB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcuIE1hcmtcbiAgICAgIC8vIHRoYXQgdGhlcmUgd2FzIGFuIGludGVybGVhdmVkIHVwZGF0ZSB3b3JrIG9uIHRoaXMgcm9vdC4gVW5sZXNzIHRoZVxuICAgICAgLy8gYGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaGAgZmxhZyBpcyBvZmYgYW5kIHRoaXMgaXMgYSByZW5kZXJcbiAgICAgIC8vIHBoYXNlIHVwZGF0ZS4gSW4gdGhhdCBjYXNlLCB3ZSBkb24ndCB0cmVhdCByZW5kZXIgcGhhc2UgdXBkYXRlcyBhcyBpZlxuICAgICAgLy8gdGhleSB3ZXJlIGludGVybGVhdmVkLCBmb3IgYmFja3dhcmRzIGNvbXBhdCByZWFzb25zLlxuICAgICAgaWYgKCAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdEludGVybGVhdmVkVXBkYXRlZExhbmVzLCBsYW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcbiAgICAgICAgLy8gVGhlIHJvb3QgYWxyZWFkeSBzdXNwZW5kZWQgd2l0aCBhIGRlbGF5LCB3aGljaCBtZWFucyB0aGlzIHJlbmRlclxuICAgICAgICAvLyBkZWZpbml0ZWx5IHdvbid0IGZpbmlzaC4gU2luY2Ugd2UgaGF2ZSBhIG5ldyB1cGRhdGUsIGxldCdzIG1hcmsgaXQgYXNcbiAgICAgICAgLy8gc3VzcGVuZGVkIG5vdywgcmlnaHQgYmVmb3JlIG1hcmtpbmcgdGhlIGluY29taW5nIHVwZGF0ZS4gVGhpcyBoYXMgdGhlXG4gICAgICAgIC8vIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgdGhlIGN1cnJlbnQgcmVuZGVyIGFuZCBzd2l0Y2hpbmcgdG8gdGhlIHVwZGF0ZS5cbiAgICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHRoaXMgZG9lc24ndCBvdmVycmlkZSBwaW5ncyB0aGF0IGhhcHBlbiB3aGlsZSB3ZSd2ZVxuICAgICAgICAvLyBhbHJlYWR5IHN0YXJ0ZWQgcmVuZGVyaW5nLlxuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcblxuICAgIGlmIChsYW5lID09PSBTeW5jTGFuZSAmJiBleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQgJiYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkgPT09IE5vTW9kZSAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIC8vIEZsdXNoIHRoZSBzeW5jaHJvbm91cyB3b3JrIG5vdywgdW5sZXNzIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvciBpbnNpZGVcbiAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcbiAgICAgIC8vIHNjaGVkdWxlQ2FsbGJhY2tGb3JGaWJlciB0byBwcmVzZXJ2ZSB0aGUgYWJpbGl0eSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXG4gICAgICAvLyB3aXRob3V0IGltbWVkaWF0ZWx5IGZsdXNoaW5nIGl0LiBXZSBvbmx5IGRvIHRoaXMgZm9yIHVzZXItaW5pdGlhdGVkXG4gICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzT25seUluTGVnYWN5TW9kZSgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVJbml0aWFsSHlkcmF0aW9uT25Sb290KHJvb3QsIGxhbmUsIGV2ZW50VGltZSkge1xuICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBmb3JrIG9mIHNjaGVkdWxlVXBkYXRlT25GaWJlciB0aGF0IGlzIG9ubHkgdXNlZCB0b1xuICAvLyBzY2hlZHVsZSB0aGUgaW5pdGlhbCBoeWRyYXRpb24gb2YgYSByb290IHRoYXQgaGFzIGp1c3QgYmVlbiBjcmVhdGVkLiBNb3N0XG4gIC8vIG9mIHRoZSBzdHVmZiBpbiBzY2hlZHVsZVVwZGF0ZU9uRmliZXIgY2FuIGJlIHNraXBwZWQuXG4gIC8vXG4gIC8vIFRoZSBtYWluIHJlYXNvbiBmb3IgdGhpcyBzZXBhcmF0ZSBwYXRoLCB0aG91Z2gsIGlzIHRvIGRpc3Rpbmd1aXNoIHRoZVxuICAvLyBpbml0aWFsIGNoaWxkcmVuIGZyb20gc3Vic2VxdWVudCB1cGRhdGVzLiBJbiBmdWxseSBjbGllbnQtcmVuZGVyZWQgcm9vdHNcbiAgLy8gKGNyZWF0ZVJvb3QgaW5zdGVhZCBvZiBoeWRyYXRlUm9vdCksIGFsbCB0b3AtbGV2ZWwgcmVuZGVycyBhcmUgbW9kZWxlZCBhc1xuICAvLyB1cGRhdGVzLCBidXQgaHlkcmF0aW9uIHJvb3RzIGFyZSBzcGVjaWFsIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3RcbiAgLy8gbWF0Y2ggd2hhdCB3YXMgcmVuZGVyZWQgb24gdGhlIHNlcnZlci5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIGN1cnJlbnQubGFuZXMgPSBsYW5lO1xuICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5mdW5jdGlvbiBpc1Vuc2FmZUNsYXNzUmVuZGVyUGhhc2VVcGRhdGUoZmliZXIpIHtcbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIE9ubHkgY2FsbGVkIGJ5IGNsYXNzIGNvbXBvbmVudHMsXG4gIC8vIHdoaWNoIHNwZWNpYWwgKGRlcHJlY2F0ZWQpIGJlaGF2aW9yIGZvciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmUgcHJvcHMuXG4gIHJldHVybiAoLy8gVE9ETzogUmVtb3ZlIG91dGRhdGVkIGRlZmVyUmVuZGVyUGhhc2VVcGRhdGVUb05leHRCYXRjaCBleHBlcmltZW50LiBXZVxuICAgIC8vIGRlY2lkZWQgbm90IHRvIGVuYWJsZSBpdC5cbiAgICAgKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0XG4gICk7XG59IC8vIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHNjaGVkdWxlIGEgdGFzayBmb3IgYSByb290LiBUaGVyZSdzIG9ubHkgb25lIHRhc2sgcGVyXG4vLyByb290OyBpZiBhIHRhc2sgd2FzIGFscmVhZHkgc2NoZWR1bGVkLCB3ZSdsbCBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHByaW9yaXR5XG4vLyBvZiB0aGUgZXhpc3RpbmcgdGFzayBpcyB0aGUgc2FtZSBhcyB0aGUgcHJpb3JpdHkgb2YgdGhlIG5leHQgbGV2ZWwgdGhhdCB0aGVcbi8vIHJvb3QgaGFzIHdvcmsgb24uIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGV2ZXJ5IHVwZGF0ZSwgYW5kIHJpZ2h0IGJlZm9yZVxuLy8gZXhpdGluZyBhIHRhc2suXG5cbmZ1bmN0aW9uIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBjdXJyZW50VGltZSkge1xuICB2YXIgZXhpc3RpbmdDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTsgLy8gQ2hlY2sgaWYgYW55IGxhbmVzIGFyZSBiZWluZyBzdGFydmVkIGJ5IG90aGVyIHdvcmsuIElmIHNvLCBtYXJrIHRoZW0gYXNcbiAgLy8gZXhwaXJlZCBzbyB3ZSBrbm93IHRvIHdvcmsgb24gdGhvc2UgbmV4dC5cblxuICBtYXJrU3RhcnZlZExhbmVzQXNFeHBpcmVkKHJvb3QsIGN1cnJlbnRUaW1lKTsgLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGxhbmVzIHRvIHdvcmsgb24sIGFuZCB0aGVpciBwcmlvcml0eS5cblxuICB2YXIgbmV4dExhbmVzID0gZ2V0TmV4dExhbmVzKHJvb3QsIHJvb3QgPT09IHdvcmtJblByb2dyZXNzUm9vdCA/IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzIDogTm9MYW5lcyk7XG5cbiAgaWYgKG5leHRMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIFNwZWNpYWwgY2FzZTogVGhlcmUncyBub3RoaW5nIHRvIHdvcmsgb24uXG4gICAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgICB9XG5cbiAgICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lO1xuICAgIHJldHVybjtcbiAgfSAvLyBXZSB1c2UgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbGFuZSB0byByZXByZXNlbnQgdGhlIHByaW9yaXR5IG9mIHRoZSBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja1ByaW9yaXR5ID0gZ2V0SGlnaGVzdFByaW9yaXR5TGFuZShuZXh0TGFuZXMpOyAvLyBDaGVjayBpZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHRhc2suIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIGl0LlxuXG4gIHZhciBleGlzdGluZ0NhbGxiYWNrUHJpb3JpdHkgPSByb290LmNhbGxiYWNrUHJpb3JpdHk7XG5cbiAgaWYgKGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA9PT0gbmV3Q2FsbGJhY2tQcmlvcml0eSAmJiAvLyBTcGVjaWFsIGNhc2UgcmVsYXRlZCB0byBgYWN0YC4gSWYgdGhlIGN1cnJlbnRseSBzY2hlZHVsZWQgdGFzayBpcyBhXG4gIC8vIFNjaGVkdWxlciB0YXNrLCByYXRoZXIgdGhhbiBhbiBgYWN0YCB0YXNrLCBjYW5jZWwgaXQgYW5kIHJlLXNjaGVkdWxlZFxuICAvLyBvbiB0aGUgYGFjdGAgcXVldWUuXG4gICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCAhPT0gbnVsbCAmJiBleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gZmFrZUFjdENhbGxiYWNrTm9kZSkpIHtcbiAgICB7XG4gICAgICAvLyBJZiB3ZSdyZSBnb2luZyB0byByZS11c2UgYW4gZXhpc3RpbmcgdGFzaywgaXQgbmVlZHMgdG8gZXhpc3QuXG4gICAgICAvLyBBc3N1bWUgdGhhdCBkaXNjcmV0ZSB1cGRhdGUgbWljcm90YXNrcyBhcmUgbm9uLWNhbmNlbGxhYmxlIGFuZCBudWxsLlxuICAgICAgLy8gVE9ETzogVGVtcG9yYXJ5IHVudGlsIHdlIGNvbmZpcm0gdGhpcyB3YXJuaW5nIGlzIG5vdCBmaXJlZC5cbiAgICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSA9PSBudWxsICYmIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSAhPT0gU3luY0xhbmUpIHtcbiAgICAgICAgZXJyb3IoJ0V4cGVjdGVkIHNjaGVkdWxlZCBjYWxsYmFjayB0byBleGlzdC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgIH1cbiAgICB9IC8vIFRoZSBwcmlvcml0eSBoYXNuJ3QgY2hhbmdlZC4gV2UgY2FuIHJldXNlIHRoZSBleGlzdGluZyB0YXNrLiBFeGl0LlxuXG5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZXhpc3RpbmdDYWxsYmFja05vZGUgIT0gbnVsbCkge1xuICAgIC8vIENhbmNlbCB0aGUgZXhpc3RpbmcgY2FsbGJhY2suIFdlJ2xsIHNjaGVkdWxlIGEgbmV3IG9uZSBiZWxvdy5cbiAgICBjYW5jZWxDYWxsYmFjayQxKGV4aXN0aW5nQ2FsbGJhY2tOb2RlKTtcbiAgfSAvLyBTY2hlZHVsZSBhIG5ldyBjYWxsYmFjay5cblxuXG4gIHZhciBuZXdDYWxsYmFja05vZGU7XG5cbiAgaWYgKG5ld0NhbGxiYWNrUHJpb3JpdHkgPT09IFN5bmNMYW5lKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBTeW5jIFJlYWN0IGNhbGxiYWNrcyBhcmUgc2NoZWR1bGVkIG9uIGEgc3BlY2lhbFxuICAgIC8vIGludGVybmFsIHF1ZXVlXG4gICAgaWYgKHJvb3QudGFnID09PSBMZWdhY3lSb290KSB7XG4gICAgICBpZiAoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSAhPT0gbnVsbCkge1xuICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmRpZFNjaGVkdWxlTGVnYWN5VXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGVMZWdhY3lTeW5jQ2FsbGJhY2socGVyZm9ybVN5bmNXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gRmx1c2ggdGhlIHF1ZXVlIGluIGEgbWljcm90YXNrLlxuICAgICAgaWYgKCBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gSW5zaWRlIGBhY3RgLCB1c2Ugb3VyIGludGVybmFsIGBhY3RgIHF1ZXVlIHNvIHRoYXQgdGhlc2UgZ2V0IGZsdXNoZWRcbiAgICAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBzY29wZSBldmVuIHdoZW4gdXNpbmcgdGhlIHN5bmMgdmVyc2lvblxuICAgICAgICAvLyBvZiBgYWN0YC5cbiAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUkMS5jdXJyZW50LnB1c2goZmx1c2hTeW5jQ2FsbGJhY2tzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVkdWxlTWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAvLyBJbiBTYWZhcmksIGFwcGVuZGluZyBhbiBpZnJhbWUgZm9yY2VzIG1pY3JvdGFza3MgdG8gcnVuLlxuICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjI0NTlcbiAgICAgICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHJ1bm5pbmcgY2FsbGJhY2tzIGluIHRoZSBtaWRkbGUgb2YgcmVuZGVyXG4gICAgICAgICAgLy8gb3IgY29tbWl0IHNvIHdlIG5lZWQgdG8gY2hlY2sgYWdhaW5zdCB0aGF0LlxuICAgICAgICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHN0aWxsIHByZW1hdHVyZWx5IGZsdXNoIHRoZSBjYWxsYmFja3NcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaGFwcGVucyBvdXRzaWRlIHJlbmRlciBvciBjb21taXQgcGhhc2UgKGUuZy4gaW4gYW4gZXZlbnQpLlxuICAgICAgICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdDYWxsYmFja05vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHZhciBzY2hlZHVsZXJQcmlvcml0eUxldmVsO1xuXG4gICAgc3dpdGNoIChsYW5lc1RvRXZlbnRQcmlvcml0eShuZXh0TGFuZXMpKSB7XG4gICAgICBjYXNlIERpc2NyZXRlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IEltbWVkaWF0ZVByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBDb250aW51b3VzRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IFVzZXJCbG9ja2luZ1ByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBEZWZhdWx0RXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBJZGxlRXZlbnRQcmlvcml0eTpcbiAgICAgICAgc2NoZWR1bGVyUHJpb3JpdHlMZXZlbCA9IElkbGVQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNjaGVkdWxlclByaW9yaXR5TGV2ZWwgPSBOb3JtYWxQcmlvcml0eTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbmV3Q2FsbGJhY2tOb2RlID0gc2NoZWR1bGVDYWxsYmFjayQxKHNjaGVkdWxlclByaW9yaXR5TGV2ZWwsIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcbiAgfVxuXG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IG5ld0NhbGxiYWNrUHJpb3JpdHk7XG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbmV3Q2FsbGJhY2tOb2RlO1xufSAvLyBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgZXZlcnkgY29uY3VycmVudCB0YXNrLCBpLmUuIGFueXRoaW5nIHRoYXRcbi8vIGdvZXMgdGhyb3VnaCBTY2hlZHVsZXIuXG5cblxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcbiAge1xuICAgIHJlc2V0TmVzdGVkVXBkYXRlRmxhZygpO1xuICB9IC8vIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gYSBSZWFjdCBldmVudCwgd2UgY2FuIGNsZWFyIHRoZSBjdXJyZW50XG4gIC8vIGV2ZW50IHRpbWUuIFRoZSBuZXh0IHVwZGF0ZSB3aWxsIGNvbXB1dGUgYSBuZXcgZXZlbnQgdGltZS5cblxuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBOb1RpbWVzdGFtcDtcbiAgY3VycmVudEV2ZW50VHJhbnNpdGlvbkxhbmUgPSBOb0xhbmVzO1xuXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLicpO1xuICB9IC8vIEZsdXNoIGFueSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cyBiZWZvcmUgZGVjaWRpbmcgd2hpY2ggbGFuZXMgdG8gd29yayBvbixcbiAgLy8gaW4gY2FzZSB0aGV5IHNjaGVkdWxlIGFkZGl0aW9uYWwgd29yay5cblxuXG4gIHZhciBvcmlnaW5hbENhbGxiYWNrTm9kZSA9IHJvb3QuY2FsbGJhY2tOb2RlO1xuICB2YXIgZGlkRmx1c2hQYXNzaXZlRWZmZWN0cyA9IGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcblxuICBpZiAoZGlkRmx1c2hQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcGFzc2l2ZSBlZmZlY3QgcGhhc2UgbWF5IGhhdmUgY2FuY2VsZWQgdGhlIGN1cnJlbnQgdGFzay5cbiAgICAvLyBDaGVjayBpZiB0aGUgdGFzayBub2RlIGZvciB0aGlzIHJvb3Qgd2FzIGNoYW5nZWQuXG4gICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlICE9PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgICAgLy8gVGhlIGN1cnJlbnQgdGFzayB3YXMgY2FuY2VsZWQuIEV4aXQuIFdlIGRvbid0IG5lZWQgdG8gY2FsbFxuICAgICAgLy8gYGVuc3VyZVJvb3RJc1NjaGVkdWxlZGAgYmVjYXVzZSB0aGUgY2hlY2sgYWJvdmUgaW1wbGllcyBlaXRoZXIgdGhhdFxuICAgICAgLy8gdGhlcmUncyBhIG5ldyB0YXNrLCBvciB0aGF0IHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9IC8vIERldGVybWluZSB0aGUgbmV4dCBsYW5lcyB0byB3b3JrIG9uLCB1c2luZyB0aGUgZmllbGRzIHN0b3JlZFxuICAvLyBvbiB0aGUgcm9vdC5cblxuXG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCByb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgPyB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA6IE5vTGFuZXMpO1xuXG4gIGlmIChsYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIERlZmVuc2l2ZSBjb2RpbmcuIFRoaXMgaXMgbmV2ZXIgZXhwZWN0ZWQgdG8gaGFwcGVuLlxuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFdlIGRpc2FibGUgdGltZS1zbGljaW5nIGluIHNvbWUgY2FzZXM6IGlmIHRoZSB3b3JrIGhhcyBiZWVuIENQVS1ib3VuZFxuICAvLyBmb3IgdG9vIGxvbmcgKFwiZXhwaXJlZFwiIHdvcmssIHRvIHByZXZlbnQgc3RhcnZhdGlvbiksIG9yIHdlJ3JlIGluXG4gIC8vIHN5bmMtdXBkYXRlcy1ieS1kZWZhdWx0IG1vZGUuXG4gIC8vIFRPRE86IFdlIG9ubHkgY2hlY2sgYGRpZFRpbWVvdXRgIGRlZmVuc2l2ZWx5LCB0byBhY2NvdW50IGZvciBhIFNjaGVkdWxlclxuICAvLyBidWcgd2UncmUgc3RpbGwgaW52ZXN0aWdhdGluZy4gT25jZSB0aGUgYnVnIGluIFNjaGVkdWxlciBpcyBmaXhlZCxcbiAgLy8gd2UgY2FuIHJlbW92ZSB0aGlzLCBzaW5jZSB3ZSB0cmFjayBleHBpcmF0aW9uIG91cnNlbHZlcy5cblxuXG4gIHZhciBzaG91bGRUaW1lU2xpY2UgPSAhaW5jbHVkZXNCbG9ja2luZ0xhbmUocm9vdCwgbGFuZXMpICYmICFpbmNsdWRlc0V4cGlyZWRMYW5lKHJvb3QsIGxhbmVzKSAmJiAoICFkaWRUaW1lb3V0KTtcbiAgdmFyIGV4aXRTdGF0dXMgPSBzaG91bGRUaW1lU2xpY2UgPyByZW5kZXJSb290Q29uY3VycmVudChyb290LCBsYW5lcykgOiByZW5kZXJSb290U3luYyhyb290LCBsYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RJblByb2dyZXNzKSB7XG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RFcnJvcmVkKSB7XG4gICAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGxcbiAgICAgIC8vIHJlbmRlciBzeW5jaHJvbm91c2x5IHRvIGJsb2NrIGNvbmN1cnJlbnQgZGF0YSBtdXRhdGlvbnMsIGFuZCB3ZSdsbFxuICAgICAgLy8gaW5jbHVkZXMgYWxsIHBlbmRpbmcgdXBkYXRlcyBhcmUgaW5jbHVkZWQuIElmIGl0IHN0aWxsIGZhaWxzIGFmdGVyXG4gICAgICAvLyB0aGUgc2Vjb25kIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgICB2YXIgZXJyb3JSZXRyeUxhbmVzID0gZ2V0TGFuZXNUb1JldHJ5U3luY2hyb25vdXNseU9uRXJyb3Iocm9vdCk7XG5cbiAgICAgIGlmIChlcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBlcnJvclJldHJ5TGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgICB2YXIgZmF0YWxFcnJvciA9IHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3I7XG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIG5vdygpKTtcbiAgICAgIHRocm93IGZhdGFsRXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3REaWROb3RDb21wbGV0ZSkge1xuICAgICAgLy8gVGhlIHJlbmRlciB1bndvdW5kIHdpdGhvdXQgY29tcGxldGluZyB0aGUgdHJlZS4gVGhpcyBoYXBwZW5zIGluIHNwZWNpYWxcbiAgICAgIC8vIGNhc2VzIHdoZXJlIG5lZWQgdG8gZXhpdCB0aGUgY3VycmVudCByZW5kZXIgd2l0aG91dCBwcm9kdWNpbmcgYVxuICAgICAgLy8gY29uc2lzdGVudCB0cmVlIG9yIGNvbW1pdHRpbmcuXG4gICAgICAvL1xuICAgICAgLy8gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gZHVyaW5nIGEgY29uY3VycmVudCByZW5kZXIsIG5vdCBhIGRpc2NyZXRlIG9yXG4gICAgICAvLyBzeW5jaHJvbm91cyB1cGRhdGUuIFdlIHNob3VsZCBoYXZlIGFscmVhZHkgY2hlY2tlZCBmb3IgdGhpcyB3aGVuIHdlXG4gICAgICAvLyB1bndvdW5kIHRoZSBzdGFjay5cbiAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmVuZGVyIGNvbXBsZXRlZC5cbiAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVuZGVyIG1heSBoYXZlIHlpZWxkZWQgdG8gYSBjb25jdXJyZW50IGV2ZW50LCBhbmQgaWYgc28sXG4gICAgICAvLyBjb25maXJtIHRoYXQgYW55IG5ld2x5IHJlbmRlcmVkIHN0b3JlcyBhcmUgY29uc2lzdGVudC5cbiAgICAgIC8vIFRPRE86IEl0J3MgcG9zc2libGUgdGhhdCBldmVuIGEgY29uY3VycmVudCByZW5kZXIgbWF5IG5ldmVyIGhhdmUgeWllbGRlZFxuICAgICAgLy8gdG8gdGhlIG1haW4gdGhyZWFkLCBpZiBpdCB3YXMgZmFzdCBlbm91Z2gsIG9yIGlmIGl0IGV4cGlyZWQuIFdlIGNvdWxkXG4gICAgICAvLyBza2lwIHRoZSBjb25zaXN0ZW5jeSBjaGVjayBpbiB0aGF0IGNhc2UsIHRvby5cbiAgICAgIHZhciByZW5kZXJXYXNDb25jdXJyZW50ID0gIWluY2x1ZGVzQmxvY2tpbmdMYW5lKHJvb3QsIGxhbmVzKTtcbiAgICAgIHZhciBmaW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAocmVuZGVyV2FzQ29uY3VycmVudCAmJiAhaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykpIHtcbiAgICAgICAgLy8gQSBzdG9yZSB3YXMgbXV0YXRlZCBpbiBhbiBpbnRlcmxlYXZlZCBldmVudC4gUmVuZGVyIGFnYWluLFxuICAgICAgICAvLyBzeW5jaHJvbm91c2x5LCB0byBibG9jayBmdXJ0aGVyIG11dGF0aW9ucy5cbiAgICAgICAgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTsgLy8gV2UgbmVlZCB0byBjaGVjayBhZ2FpbiBpZiBzb21ldGhpbmcgdGhyZXdcblxuICAgICAgICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2Vycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgICAgICAgaWYgKF9lcnJvclJldHJ5TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgIGxhbmVzID0gX2Vycm9yUmV0cnlMYW5lcztcbiAgICAgICAgICAgIGV4aXRTdGF0dXMgPSByZWNvdmVyRnJvbUNvbmN1cnJlbnRFcnJvcihyb290LCBfZXJyb3JSZXRyeUxhbmVzKTsgLy8gV2UgYXNzdW1lIHRoZSB0cmVlIGlzIG5vdyBjb25zaXN0ZW50IGJlY2F1c2Ugd2UgZGlkbid0IHlpZWxkIHRvIGFueVxuICAgICAgICAgICAgLy8gY29uY3VycmVudCBldmVudHMuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4aXRTdGF0dXMgPT09IFJvb3RGYXRhbEVycm9yZWQpIHtcbiAgICAgICAgICB2YXIgX2ZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xuICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuICAgICAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgICAgICAgdGhyb3cgX2ZhdGFsRXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcbiAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXG5cblxuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gICAgICByb290LmZpbmlzaGVkTGFuZXMgPSBsYW5lcztcbiAgICAgIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZXhpdFN0YXR1cywgbGFuZXMpO1xuICAgIH1cbiAgfVxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG5cbiAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgIC8vIFRoZSB0YXNrIG5vZGUgc2NoZWR1bGVkIGZvciB0aGlzIHJvb3QgaXMgdGhlIHNhbWUgb25lIHRoYXQnc1xuICAgIC8vIGN1cnJlbnRseSBleGVjdXRlZC4gTmVlZCB0byByZXR1cm4gYSBjb250aW51YXRpb24uXG4gICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlY292ZXJGcm9tQ29uY3VycmVudEVycm9yKHJvb3QsIGVycm9yUmV0cnlMYW5lcykge1xuICAvLyBJZiBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgaHlkcmF0aW9uLCBkaXNjYXJkIHNlcnZlciByZXNwb25zZSBhbmQgZmFsbFxuICAvLyBiYWNrIHRvIGNsaWVudCBzaWRlIHJlbmRlci5cbiAgLy8gQmVmb3JlIHJlbmRlcmluZyBhZ2Fpbiwgc2F2ZSB0aGUgZXJyb3JzIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQuXG4gIHZhciBlcnJvcnNGcm9tRmlyc3RBdHRlbXB0ID0gd29ya0luUHJvZ3Jlc3NSb290Q29uY3VycmVudEVycm9ycztcblxuICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgIC8vIFRoZSBzaGVsbCBmYWlsZWQgdG8gaHlkcmF0ZS4gU2V0IGEgZmxhZyB0byBmb3JjZSBhIGNsaWVudCByZW5kZXJpbmdcbiAgICAvLyBkdXJpbmcgdGhlIG5leHQgYXR0ZW1wdC4gVG8gZG8gdGhpcywgd2UgY2FsbCBwcmVwYXJlRnJlc2hTdGFjayBub3dcbiAgICAvLyB0byBjcmVhdGUgdGhlIHJvb3Qgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gVGhpcyBpcyBhIGJpdCB3ZWlyZCBpbiB0ZXJtc1xuICAgIC8vIG9mIGZhY3RvcmluZywgYmVjYXVzZSBpdCByZWxpZXMgb24gcmVuZGVyUm9vdFN5bmMgbm90IGNhbGxpbmdcbiAgICAvLyBwcmVwYXJlRnJlc2hTdGFjayBhZ2FpbiBpbiB0aGUgY2FsbCBiZWxvdywgd2hpY2ggaGFwcGVucyBiZWNhdXNlIHRoZVxuICAgIC8vIHJvb3QgYW5kIGxhbmVzIGhhdmVuJ3QgY2hhbmdlZC5cbiAgICAvL1xuICAgIC8vIFRPRE86IEkgdGhpbmsgd2hhdCB3ZSBzaG91bGQgZG8gaXMgc2V0IEZvcmNlQ2xpZW50UmVuZGVyIGluc2lkZVxuICAgIC8vIHRocm93RXhjZXB0aW9uLCBsaWtlIHdlIGRvIGZvciBuZXN0ZWQgU3VzcGVuc2UgYm91bmRhcmllcy4gVGhlIHJlYXNvblxuICAgIC8vIGl0J3MgaGVyZSBpbnN0ZWFkIGlzIHNvIHdlIGNhbiBzd2l0Y2ggdG8gdGhlIHN5bmNocm9ub3VzIHdvcmsgbG9vcCwgdG9vLlxuICAgIC8vIFNvbWV0aGluZyB0byBjb25zaWRlciBmb3IgYSBmdXR1cmUgcmVmYWN0b3IuXG4gICAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG4gICAgcm9vdFdvcmtJblByb2dyZXNzLmZsYWdzIHw9IEZvcmNlQ2xpZW50UmVuZGVyO1xuXG4gICAge1xuICAgICAgZXJyb3JIeWRyYXRpbmdDb250YWluZXIocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICB9XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGVycm9yUmV0cnlMYW5lcyk7XG5cbiAgaWYgKGV4aXRTdGF0dXMgIT09IFJvb3RFcnJvcmVkKSB7XG4gICAgLy8gU3VjY2Vzc2Z1bGx5IGZpbmlzaGVkIHJlbmRlcmluZyBvbiByZXRyeVxuICAgIC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgZmFpbGVkIGZpcnN0IGF0dGVtcHQgaGF2ZSBiZWVuIHJlY292ZXJlZC4gQWRkXG4gICAgLy8gdGhlbSB0byB0aGUgY29sbGVjdGlvbiBvZiByZWNvdmVyYWJsZSBlcnJvcnMuIFdlJ2xsIGxvZyB0aGVtIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZS5cbiAgICB2YXIgZXJyb3JzRnJvbVNlY29uZEF0dGVtcHQgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycztcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IGVycm9yc0Zyb21GaXJzdEF0dGVtcHQ7IC8vIFRoZSBlcnJvcnMgZnJvbSB0aGUgc2Vjb25kIGF0dGVtcHQgc2hvdWxkIGJlIHF1ZXVlZCBhZnRlciB0aGUgZXJyb3JzXG4gICAgLy8gZnJvbSB0aGUgZmlyc3QgYXR0ZW1wdCwgdG8gcHJlc2VydmUgdGhlIGNhdXNhbCBzZXF1ZW5jZS5cblxuICAgIGlmIChlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCAhPT0gbnVsbCkge1xuICAgICAgcXVldWVSZWNvdmVyYWJsZUVycm9ycyhlcnJvcnNGcm9tU2Vjb25kQXR0ZW1wdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4aXRTdGF0dXM7XG59XG5cbmZ1bmN0aW9uIHF1ZXVlUmVjb3ZlcmFibGVFcnJvcnMoZXJyb3JzKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9PT0gbnVsbCkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzID0gZXJyb3JzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLnB1c2guYXBwbHkod29ya0luUHJvZ3Jlc3NSb290UmVjb3ZlcmFibGVFcnJvcnMsIGVycm9ycyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoQ29uY3VycmVudFJlbmRlcihyb290LCBleGl0U3RhdHVzLCBsYW5lcykge1xuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcbiAgICBjYXNlIFJvb3RJblByb2dyZXNzOlxuICAgIGNhc2UgUm9vdEZhdGFsRXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gICAgICB9XG4gICAgLy8gRmxvdyBrbm93cyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWlucyBpZiBJIGFkZCBhIGJyZWFrXG4gICAgLy8gc3RhdGVtZW50LCBidXQgZXNsaW50IGRvZXNuJ3Qga25vdyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWluc1xuICAgIC8vIGlmIEkgZG8uIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBSb290RXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSBhdHRlbXB0ZWQgdG8gcmV0cnkgdGhpcyB0cmVlLiBJZiB3ZSByZWFjaGVkXG4gICAgICAgIC8vIHRoaXMgcG9pbnQsIGl0IGVycm9yZWQgYWdhaW4uIENvbW1pdCBpdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290U3VzcGVuZGVkOlxuICAgICAge1xuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTsgLy8gV2UgaGF2ZSBhbiBhY2NlcHRhYmxlIGxvYWRpbmcgc3RhdGUuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB3ZVxuICAgICAgICAvLyBzaG91bGQgaW1tZWRpYXRlbHkgY29tbWl0IGl0IG9yIHdhaXQgYSBiaXQuXG5cbiAgICAgICAgaWYgKGluY2x1ZGVzT25seVJldHJpZXMobGFuZXMpICYmIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcbiAgICAgICAgIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyByZW5kZXIgb25seSBpbmNsdWRlZCByZXRyaWVzLCBubyB1cGRhdGVzLiBUaHJvdHRsZSBjb21taXR0aW5nXG4gICAgICAgICAgLy8gcmV0cmllcyBzbyB0aGF0IHdlIGRvbid0IHNob3cgdG9vIG1hbnkgbG9hZGluZyBzdGF0ZXMgdG9vIHF1aWNrbHkuXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxuXG4gICAgICAgICAgaWYgKG1zVW50aWxUaW1lb3V0ID4gMTApIHtcbiAgICAgICAgICAgIHZhciBuZXh0TGFuZXMgPSBnZXROZXh0TGFuZXMocm9vdCwgTm9MYW5lcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXh0TGFuZXMgIT09IE5vTGFuZXMpIHtcbiAgICAgICAgICAgICAgLy8gVGhlcmUncyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHN1c3BlbmRlZExhbmVzID0gcm9vdC5zdXNwZW5kZWRMYW5lcztcblxuICAgICAgICAgICAgaWYgKCFpc1N1YnNldE9mTGFuZXMoc3VzcGVuZGVkTGFuZXMsIGxhbmVzKSkge1xuICAgICAgICAgICAgICAvLyBXZSBzaG91bGQgcHJlZmVyIHRvIHJlbmRlciB0aGUgZmFsbGJhY2sgb2YgYXQgdGhlIGxhc3RcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcbiAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxuICAgICAgICAgICAgICAvLyBGSVhNRTogV2hhdCBpZiB0aGUgc3VzcGVuZGVkIGxhbmVzIGFyZSBJZGxlPyBTaG91bGQgbm90IHJlc3RhcnQuXG4gICAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICAgIG1hcmtSb290UGluZ2VkKHJvb3QsIHN1c3BlbmRlZExhbmVzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IC8vIFRoZSByZW5kZXIgaXMgc3VzcGVuZGVkLCBpdCBoYXNuJ3QgdGltZWQgb3V0LCBhbmQgdGhlcmUncyBub1xuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXG5cblxuICAgICAgICAgICAgcm9vdC50aW1lb3V0SGFuZGxlID0gc2NoZWR1bGVUaW1lb3V0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyksIG1zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXG5cblxuICAgICAgICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk6XG4gICAgICB7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkJDEocm9vdCwgbGFuZXMpO1xuXG4gICAgICAgIGlmIChpbmNsdWRlc09ubHlUcmFuc2l0aW9ucyhsYW5lcykpIHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGEgdHJhbnNpdGlvbiwgc28gd2Ugc2hvdWxkIGV4aXQgd2l0aG91dCBjb21taXR0aW5nIGFcbiAgICAgICAgICAvLyBwbGFjZWhvbGRlciBhbmQgd2l0aG91dCBzY2hlZHVsaW5nIGEgdGltZW91dC4gRGVsYXkgaW5kZWZpbml0ZWx5XG4gICAgICAgICAgLy8gdW50aWwgd2UgcmVjZWl2ZSBtb3JlIGRhdGEuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBub3QgYSB0cmFuc2l0aW9uLCBidXQgd2UgZGlkIHRyaWdnZXIgYW4gYXZvaWRlZCBzdGF0ZS5cbiAgICAgICAgICAvLyBTY2hlZHVsZSBhIHBsYWNlaG9sZGVyIHRvIGRpc3BsYXkgYWZ0ZXIgYSBzaG9ydCBkZWxheSwgdXNpbmcgdGhlIEp1c3RcbiAgICAgICAgICAvLyBOb3RpY2VhYmxlIERpZmZlcmVuY2UuXG4gICAgICAgICAgLy8gVE9ETzogSXMgdGhlIEpORCBvcHRpbWl6YXRpb24gd29ydGggdGhlIGFkZGVkIGNvbXBsZXhpdHk/IElmIHRoaXMgaXNcbiAgICAgICAgICAvLyB0aGUgb25seSByZWFzb24gd2UgdHJhY2sgdGhlIGV2ZW50IHRpbWUsIHRoZW4gcHJvYmFibHkgbm90LlxuICAgICAgICAgIC8vIENvbnNpZGVyIHJlbW92aW5nLlxuICAgICAgICAgIHZhciBtb3N0UmVjZW50RXZlbnRUaW1lID0gZ2V0TW9zdFJlY2VudEV2ZW50VGltZShyb290LCBsYW5lcyk7XG4gICAgICAgICAgdmFyIGV2ZW50VGltZU1zID0gbW9zdFJlY2VudEV2ZW50VGltZTtcbiAgICAgICAgICB2YXIgdGltZUVsYXBzZWRNcyA9IG5vdygpIC0gZXZlbnRUaW1lTXM7XG5cbiAgICAgICAgICB2YXIgX21zVW50aWxUaW1lb3V0ID0gam5kKHRpbWVFbGFwc2VkTXMpIC0gdGltZUVsYXBzZWRNczsgLy8gRG9uJ3QgYm90aGVyIHdpdGggYSB2ZXJ5IHNob3J0IHN1c3BlbnNlIHRpbWUuXG5cblxuICAgICAgICAgIGlmIChfbXNVbnRpbFRpbWVvdXQgPiAxMCkge1xuICAgICAgICAgICAgLy8gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFjayBpbW1lZGlhdGVseSwgd2FpdCBmb3IgbW9yZSBkYXRhXG4gICAgICAgICAgICAvLyB0byBhcnJpdmUuXG4gICAgICAgICAgICByb290LnRpbWVvdXRIYW5kbGUgPSBzY2hlZHVsZVRpbWVvdXQoY29tbWl0Um9vdC5iaW5kKG51bGwsIHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKSwgX21zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBDb21taXQgdGhlIHBsYWNlaG9sZGVyLlxuXG5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290Q29tcGxldGVkOlxuICAgICAge1xuICAgICAgICAvLyBUaGUgd29yayBjb21wbGV0ZWQuIFJlYWR5IHRvIGNvbW1pdC5cbiAgICAgICAgY29tbWl0Um9vdChyb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycywgd29ya0luUHJvZ3Jlc3NUcmFuc2l0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHJvb3QgZXhpdCBzdGF0dXMuJyk7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNSZW5kZXJDb25zaXN0ZW50V2l0aEV4dGVybmFsU3RvcmVzKGZpbmlzaGVkV29yaykge1xuICAvLyBTZWFyY2ggdGhlIHJlbmRlcmVkIHRyZWUgZm9yIGV4dGVybmFsIHN0b3JlIHJlYWRzLCBhbmQgY2hlY2sgd2hldGhlciB0aGVcbiAgLy8gc3RvcmVzIHdlcmUgbXV0YXRlZCBpbiBhIGNvbmN1cnJlbnQgZXZlbnQuIEludGVudGlvbmFsbHkgdXNpbmcgYW4gaXRlcmF0aXZlXG4gIC8vIGxvb3AgaW5zdGVhZCBvZiByZWN1cnNpb24gc28gd2UgY2FuIGV4aXQgZWFybHkuXG4gIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuZmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5KSB7XG4gICAgICB2YXIgdXBkYXRlUXVldWUgPSBub2RlLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGNoZWNrcyA9IHVwZGF0ZVF1ZXVlLnN0b3JlcztcblxuICAgICAgICBpZiAoY2hlY2tzICE9PSBudWxsKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGVja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGVjayA9IGNoZWNrc1tpXTtcbiAgICAgICAgICAgIHZhciBnZXRTbmFwc2hvdCA9IGNoZWNrLmdldFNuYXBzaG90O1xuICAgICAgICAgICAgdmFyIHJlbmRlcmVkVmFsdWUgPSBjaGVjay52YWx1ZTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKCFvYmplY3RJcyhnZXRTbmFwc2hvdCgpLCByZW5kZXJlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIEZvdW5kIGFuIGluY29uc2lzdGVudCBzdG9yZS5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIC8vIElmIGBnZXRTbmFwc2hvdGAgdGhyb3dzLCByZXR1cm4gYGZhbHNlYC4gVGhpcyB3aWxsIHNjaGVkdWxlXG4gICAgICAgICAgICAgIC8vIGEgcmUtcmVuZGVyLCBhbmQgdGhlIGVycm9yIHdpbGwgYmUgcmV0aHJvd24gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XG5cbiAgICBpZiAobm9kZS5zdWJ0cmVlRmxhZ3MgJiBTdG9yZUNvbnNpc3RlbmN5ICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBjaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IGNoaWxkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfSAvLyBGbG93IGRvZXNuJ3Qga25vdyB0aGlzIGlzIHVucmVhY2hhYmxlLCBidXQgZXNsaW50IGRvZXNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXG5cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWQkMShyb290LCBzdXNwZW5kZWRMYW5lcykge1xuICAvLyBXaGVuIHN1c3BlbmRpbmcsIHdlIHNob3VsZCBhbHdheXMgZXhjbHVkZSBsYW5lcyB0aGF0IHdlcmUgcGluZ2VkIG9yIChtb3JlXG4gIC8vIHJhcmVseSwgc2luY2Ugd2UgdHJ5IHRvIGF2b2lkIGl0KSB1cGRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxuICAvLyBUT0RPOiBMb2wgbWF5YmUgdGhlcmUncyBhIGJldHRlciB3YXkgdG8gZmFjdG9yIHRoaXMgYmVzaWRlcyB0aGlzXG4gIC8vIG9ibm94aW91c2x5IG5hbWVkIGZ1bmN0aW9uIDopXG4gIHN1c3BlbmRlZExhbmVzID0gcmVtb3ZlTGFuZXMoc3VzcGVuZGVkTGFuZXMsIHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzKTtcbiAgc3VzcGVuZGVkTGFuZXMgPSByZW1vdmVMYW5lcyhzdXNwZW5kZWRMYW5lcywgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpO1xuICBtYXJrUm9vdFN1c3BlbmRlZChyb290LCBzdXNwZW5kZWRMYW5lcyk7XG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBzeW5jaHJvbm91cyB0YXNrcyB0aGF0IGRvbid0IGdvXG4vLyB0aHJvdWdoIFNjaGVkdWxlclxuXG5cbmZ1bmN0aW9uIHBlcmZvcm1TeW5jV29ya09uUm9vdChyb290KSB7XG4gIHtcbiAgICBzeW5jTmVzdGVkVXBkYXRlRmxhZygpO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIHZhciBsYW5lcyA9IGdldE5leHRMYW5lcyhyb290LCBOb0xhbmVzKTtcblxuICBpZiAoIWluY2x1ZGVzU29tZUxhbmUobGFuZXMsIFN5bmNMYW5lKSkge1xuICAgIC8vIFRoZXJlJ3Mgbm8gcmVtYWluaW5nIHN5bmMgd29yayBsZWZ0LlxuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgZXhpdFN0YXR1cyA9IHJlbmRlclJvb3RTeW5jKHJvb3QsIGxhbmVzKTtcblxuICBpZiAocm9vdC50YWcgIT09IExlZ2FjeVJvb3QgJiYgZXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICAvLyBJZiBzb21ldGhpbmcgdGhyZXcgYW4gZXJyb3IsIHRyeSByZW5kZXJpbmcgb25lIG1vcmUgdGltZS4gV2UnbGwgcmVuZGVyXG4gICAgLy8gc3luY2hyb25vdXNseSB0byBibG9jayBjb25jdXJyZW50IGRhdGEgbXV0YXRpb25zLCBhbmQgd2UnbGwgaW5jbHVkZXNcbiAgICAvLyBhbGwgcGVuZGluZyB1cGRhdGVzIGFyZSBpbmNsdWRlZC4gSWYgaXQgc3RpbGwgZmFpbHMgYWZ0ZXIgdGhlIHNlY29uZFxuICAgIC8vIGF0dGVtcHQsIHdlJ2xsIGdpdmUgdXAgYW5kIGNvbW1pdCB0aGUgcmVzdWx0aW5nIHRyZWUuXG4gICAgdmFyIGVycm9yUmV0cnlMYW5lcyA9IGdldExhbmVzVG9SZXRyeVN5bmNocm9ub3VzbHlPbkVycm9yKHJvb3QpO1xuXG4gICAgaWYgKGVycm9yUmV0cnlMYW5lcyAhPT0gTm9MYW5lcykge1xuICAgICAgbGFuZXMgPSBlcnJvclJldHJ5TGFuZXM7XG4gICAgICBleGl0U3RhdHVzID0gcmVjb3ZlckZyb21Db25jdXJyZW50RXJyb3Iocm9vdCwgZXJyb3JSZXRyeUxhbmVzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdEZhdGFsRXJyb3JlZCkge1xuICAgIHZhciBmYXRhbEVycm9yID0gd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvcjtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBOb0xhbmVzKTtcbiAgICBtYXJrUm9vdFN1c3BlbmRlZCQxKHJvb3QsIGxhbmVzKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuICAgIHRocm93IGZhdGFsRXJyb3I7XG4gIH1cblxuICBpZiAoZXhpdFN0YXR1cyA9PT0gUm9vdERpZE5vdENvbXBsZXRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSb290IGRpZCBub3QgY29tcGxldGUuIFRoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH0gLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxuICAvLyB3aWxsIGNvbW1pdCBpdCBldmVuIGlmIHNvbWV0aGluZyBzdXNwZW5kZWQuXG5cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5jdXJyZW50LmFsdGVybmF0ZTtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBmaW5pc2hlZFdvcms7XG4gIHJvb3QuZmluaXNoZWRMYW5lcyA9IGxhbmVzO1xuICBjb21taXRSb290KHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlY292ZXJhYmxlRXJyb3JzLCB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zKTsgLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxuICAvLyBwZW5kaW5nIGxldmVsLlxuXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBub3coKSk7XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFJvb3Qocm9vdCwgbGFuZXMpIHtcbiAgaWYgKGxhbmVzICE9PSBOb0xhbmVzKSB7XG4gICAgbWFya1Jvb3RFbnRhbmdsZWQocm9vdCwgbWVyZ2VMYW5lcyhsYW5lcywgU3luY0xhbmUpKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgPT09IE5vQ29udGV4dCkge1xuICAgICAgcmVzZXRSZW5kZXJUaW1lcigpO1xuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tzKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyQxKGZuLCBhKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gQmF0Y2hlZENvbnRleHQ7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oYSk7XG4gIH0gZmluYWxseSB7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0OyAvLyBJZiB0aGVyZSB3ZXJlIGxlZ2FjeSBzeW5jIHVwZGF0ZXMsIGZsdXNoIHRoZW0gYXQgdGhlIGVuZCBvZiB0aGUgb3V0ZXJcbiAgICAvLyBtb3N0IGJhdGNoZWRVcGRhdGVzLWxpa2UgbWV0aG9kLlxuXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCAmJiAvLyBUcmVhdCBgYWN0YCBhcyBpZiBpdCdzIGluc2lkZSBgYmF0Y2hlZFVwZGF0ZXNgLCBldmVuIGluIGxlZ2FjeSBtb2RlLlxuICAgICEoIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuaXNCYXRjaGluZ0xlZ2FjeSkpIHtcbiAgICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrc09ubHlJbkxlZ2FjeU1vZGUoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpc2NyZXRlVXBkYXRlcyhmbiwgYSwgYiwgYywgZCkge1xuICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHJldHVybiBmbihhLCBiLCBjLCBkKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XG4gICAgICByZXNldFJlbmRlclRpbWVyKCk7XG4gICAgfVxuICB9XG59IC8vIE92ZXJsb2FkIHRoZSBkZWZpbml0aW9uIHRvIHRoZSB0d28gdmFsaWQgc2lnbmF0dXJlcy5cbi8vIFdhcm5pbmcsIHRoaXMgb3B0cy1vdXQgb2YgY2hlY2tpbmcgdGhlIGZ1bmN0aW9uIGJvZHkuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyhmbikge1xuICAvLyBJbiBsZWdhY3kgbW9kZSwgd2UgZmx1c2ggcGVuZGluZyBwYXNzaXZlIGVmZmVjdHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiAgLy8gbmV4dCBldmVudCwgbm90IGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIG9uZS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsICYmIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLnRhZyA9PT0gTGVnYWN5Um9vdCAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xuICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gIHZhciBwcmV2aW91c1ByaW9yaXR5ID0gZ2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KCk7XG5cbiAgdHJ5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBudWxsO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuXG4gICAgaWYgKGZuKSB7XG4gICAgICByZXR1cm4gZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgc2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KHByZXZpb3VzUHJpb3JpdHkpO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uO1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDsgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyB3aWxsIGhhcHBlbiBldmVuIGlmIGJhdGNoZWRVcGRhdGVzIGlzIGhpZ2hlciB1cFxuICAgIC8vIHRoZSBzdGFjay5cblxuICAgIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gaXNBbHJlYWR5UmVuZGVyaW5nKCkge1xuICAvLyBVc2VkIGJ5IHRoZSByZW5kZXJlciB0byBwcmludCBhIHdhcm5pbmcgaWYgY2VydGFpbiBBUElzIGFyZSBjYWxsZWQgZnJvbVxuICAvLyB0aGUgd3JvbmcgY29udGV4dC5cbiAgcmV0dXJuICAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQ7XG59XG5mdW5jdGlvbiBwdXNoUmVuZGVyTGFuZXMoZmliZXIsIGxhbmVzKSB7XG4gIHB1c2goc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLCBzdWJ0cmVlUmVuZGVyTGFuZXMsIGZpYmVyKTtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gbWVyZ2VMYW5lcyhzdWJ0cmVlUmVuZGVyTGFuZXMsIGxhbmVzKTtcbiAgd29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcyA9IG1lcmdlTGFuZXMod29ya0luUHJvZ3Jlc3NSb290SW5jbHVkZWRMYW5lcywgbGFuZXMpO1xufVxuZnVuY3Rpb24gcG9wUmVuZGVyTGFuZXMoZmliZXIpIHtcbiAgc3VidHJlZVJlbmRlckxhbmVzID0gc3VidHJlZVJlbmRlckxhbmVzQ3Vyc29yLmN1cnJlbnQ7XG4gIHBvcChzdWJ0cmVlUmVuZGVyTGFuZXNDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpIHtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xuICByb290LmZpbmlzaGVkTGFuZXMgPSBOb0xhbmVzO1xuICB2YXIgdGltZW91dEhhbmRsZSA9IHJvb3QudGltZW91dEhhbmRsZTtcblxuICBpZiAodGltZW91dEhhbmRsZSAhPT0gbm9UaW1lb3V0KSB7XG4gICAgLy8gVGhlIHJvb3QgcHJldmlvdXMgc3VzcGVuZGVkIGFuZCBzY2hlZHVsZWQgYSB0aW1lb3V0IHRvIGNvbW1pdCBhIGZhbGxiYWNrXG4gICAgLy8gc3RhdGUuIE5vdyB0aGF0IHdlIGhhdmUgYWRkaXRpb25hbCB3b3JrLCBjYW5jZWwgdGhlIHRpbWVvdXQuXG4gICAgcm9vdC50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0OyAvLyAkRmxvd0ZpeE1lIENvbXBsYWlucyBub1RpbWVvdXQgaXMgbm90IGEgVGltZW91dElELCBkZXNwaXRlIHRoZSBjaGVjayBhYm92ZVxuXG4gICAgY2FuY2VsVGltZW91dCh0aW1lb3V0SGFuZGxlKTtcbiAgfVxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIHZhciBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XG5cbiAgICB3aGlsZSAoaW50ZXJydXB0ZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGludGVycnVwdGVkV29yay5hbHRlcm5hdGU7XG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoY3VycmVudCwgaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGludGVycnVwdGVkV29yayA9IGludGVycnVwdGVkV29yay5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gcm9vdDtcbiAgdmFyIHJvb3RXb3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKHJvb3QuY3VycmVudCwgbnVsbCk7XG4gIHdvcmtJblByb2dyZXNzID0gcm9vdFdvcmtJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IHN1YnRyZWVSZW5kZXJMYW5lcyA9IHdvcmtJblByb2dyZXNzUm9vdEluY2x1ZGVkTGFuZXMgPSBsYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJblByb2dyZXNzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290U2tpcHBlZExhbmVzID0gTm9MYW5lcztcbiAgd29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMgPSBOb0xhbmVzO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RQaW5nZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZWNvdmVyYWJsZUVycm9ycyA9IG51bGw7XG4gIGZpbmlzaFF1ZXVlaW5nQ29uY3VycmVudFVwZGF0ZXMoKTtcblxuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncygpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3RXb3JrSW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpIHtcbiAgZG8ge1xuICAgIHZhciBlcnJvcmVkV29yayA9IHdvcmtJblByb2dyZXNzO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlc2V0IG1vZHVsZS1sZXZlbCBzdGF0ZSB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7XG4gICAgICByZXNldEN1cnJlbnRGaWJlcigpOyAvLyBUT0RPOiBJIGZvdW5kIGFuZCBhZGRlZCB0aGlzIG1pc3NpbmcgbGluZSB3aGlsZSBpbnZlc3RpZ2F0aW5nIGFcbiAgICAgIC8vIHNlcGFyYXRlIGlzc3VlLiBXcml0ZSBhIHJlZ3Jlc3Npb24gdGVzdCB1c2luZyBzdHJpbmcgcmVmcy5cblxuICAgICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcblxuICAgICAgaWYgKGVycm9yZWRXb3JrID09PSBudWxsIHx8IGVycm9yZWRXb3JrLnJldHVybiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBFeHBlY3RlZCB0byBiZSB3b3JraW5nIG9uIGEgbm9uLXJvb3QgZmliZXIuIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxuICAgICAgICAvLyBiZWNhdXNlIHRoZXJlJ3Mgbm8gYW5jZXN0b3IgdGhhdCBjYW4gaGFuZGxlIGl0OyB0aGUgcm9vdCBpc1xuICAgICAgICAvLyBzdXBwb3NlZCB0byBjYXB0dXJlIGFsbCBlcnJvcnMgdGhhdCB3ZXJlbid0IGNhdWdodCBieSBhbiBlcnJvclxuICAgICAgICAvLyBib3VuZGFyeS5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RGYXRhbEVycm9yZWQ7XG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSB0aHJvd25WYWx1ZTsgLy8gU2V0IGB3b3JrSW5Qcm9ncmVzc2AgdG8gbnVsbC4gVGhpcyByZXByZXNlbnRzIGFkdmFuY2luZyB0byB0aGUgbmV4dFxuICAgICAgICAvLyBzaWJsaW5nLCBvciB0aGUgcGFyZW50IGlmIHRoZXJlIGFyZSBubyBzaWJsaW5ncy4gQnV0IHNpbmNlIHRoZSByb290XG4gICAgICAgIC8vIGhhcyBubyBzaWJsaW5ncyBub3IgYSBwYXJlbnQsIHdlIHNldCBpdCB0byBudWxsLiBVc3VhbGx5IHRoaXMgaXNcbiAgICAgICAgLy8gaGFuZGxlZCBieSBgY29tcGxldGVVbml0T2ZXb3JrYCBvciBgdW53aW5kV29ya2AsIGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAvLyBpbnRlbnRpb25hbGx5IG5vdCBjYWxsaW5nIHRob3NlLCB3ZSBuZWVkIHNldCBpdCBoZXJlLlxuICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBjYWxsaW5nIGB1bndpbmRXb3JrYCB0byBwb3AgdGhlIGNvbnRleHRzLlxuXG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lciAmJiBlcnJvcmVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgLy8gUmVjb3JkIHRoZSB0aW1lIHNwZW50IHJlbmRlcmluZyBiZWZvcmUgYW4gZXJyb3Igd2FzIHRocm93bi4gVGhpc1xuICAgICAgICAvLyBhdm9pZHMgaW5hY2N1cmF0ZSBQcm9maWxlciBkdXJhdGlvbnMgaW4gdGhlIGNhc2Ugb2YgYVxuICAgICAgICAvLyBzdXNwZW5kZWQgcmVuZGVyLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGVycm9yZWRXb3JrLCB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVuYWJsZVNjaGVkdWxpbmdQcm9maWxlcikge1xuICAgICAgICBtYXJrQ29tcG9uZW50UmVuZGVyU3RvcHBlZCgpO1xuXG4gICAgICAgIGlmICh0aHJvd25WYWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhyb3duVmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB0aHJvd25WYWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdmFyIHdha2VhYmxlID0gdGhyb3duVmFsdWU7XG4gICAgICAgICAgbWFya0NvbXBvbmVudFN1c3BlbmRlZChlcnJvcmVkV29yaywgd2FrZWFibGUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXJrQ29tcG9uZW50RXJyb3JlZChlcnJvcmVkV29yaywgdGhyb3duVmFsdWUsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aHJvd0V4Y2VwdGlvbihyb290LCBlcnJvcmVkV29yay5yZXR1cm4sIGVycm9yZWRXb3JrLCB0aHJvd25WYWx1ZSwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgY29tcGxldGVVbml0T2ZXb3JrKGVycm9yZWRXb3JrKTtcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcmV0dXJuIHBhdGggYWxzbyB0aHJldy5cbiAgICAgIHRocm93blZhbHVlID0geWV0QW5vdGhlclRocm93blZhbHVlO1xuXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgPT09IGVycm9yZWRXb3JrICYmIGVycm9yZWRXb3JrICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkgaGFzIGFscmVhZHkgZXJyb3JlZCwgdGhlbiB3ZSBoYWQgdHJvdWJsZSBwcm9jZXNzaW5nXG4gICAgICAgIC8vIHRoZSBlcnJvci4gQnViYmxlIGl0IHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICAgICAgICBlcnJvcmVkV29yayA9IGVycm9yZWRXb3JrLnJldHVybjtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MgPSBlcnJvcmVkV29yaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yZWRXb3JrID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gUmV0dXJuIHRvIHRoZSBub3JtYWwgd29yayBsb29wLlxuXG5cbiAgICByZXR1cm47XG4gIH0gd2hpbGUgKHRydWUpO1xufVxuXG5mdW5jdGlvbiBwdXNoRGlzcGF0Y2hlcigpIHtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQyLmN1cnJlbnQ7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMi5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBSZWFjdCBpc29tb3JwaGljIHBhY2thZ2UgZG9lcyBub3QgaW5jbHVkZSBhIGRlZmF1bHQgZGlzcGF0Y2hlci5cbiAgICAvLyBJbnN0ZWFkIHRoZSBmaXJzdCByZW5kZXJlciB3aWxsIGxhemlseSBhdHRhY2ggb25lLCBpbiBvcmRlciB0byBnaXZlXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXG4gICAgcmV0dXJuIENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcikge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xufVxuXG5mdW5jdGlvbiBtYXJrQ29tbWl0VGltZU9mRmFsbGJhY2soKSB7XG4gIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSBub3coKTtcbn1cbmZ1bmN0aW9uIG1hcmtTa2lwcGVkVXBkYXRlTGFuZXMobGFuZSkge1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMgPSBtZXJnZUxhbmVzKGxhbmUsIHdvcmtJblByb2dyZXNzUm9vdFNraXBwZWRMYW5lcyk7XG59XG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluUHJvZ3Jlc3MpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZDtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpIHtcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJblByb2dyZXNzIHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgfHwgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEVycm9yZWQpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheTtcbiAgfSAvLyBDaGVjayBpZiB0aGVyZSBhcmUgdXBkYXRlcyB0aGF0IHdlIHNraXBwZWQgdHJlZSB0aGF0IG1pZ2h0IGhhdmUgdW5ibG9ja2VkXG4gIC8vIHRoaXMgcmVuZGVyLlxuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiAoaW5jbHVkZXNOb25JZGxlV29yayh3b3JrSW5Qcm9ncmVzc1Jvb3RTa2lwcGVkTGFuZXMpIHx8IGluY2x1ZGVzTm9uSWRsZVdvcmsod29ya0luUHJvZ3Jlc3NSb290SW50ZXJsZWF2ZWRVcGRhdGVkTGFuZXMpKSkge1xuICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgcmVuZGVyIGFzIHN1c3BlbmRlZCBzbyB0aGF0IHdlIHN3aXRjaCB0byB3b3JraW5nIG9uXG4gICAgLy8gdGhlIHVwZGF0ZXMgdGhhdCB3ZXJlIHNraXBwZWQuIFVzdWFsbHkgd2Ugb25seSBzdXNwZW5kIGF0IHRoZSBlbmQgb2ZcbiAgICAvLyB0aGUgcmVuZGVyIHBoYXNlLlxuICAgIC8vIFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBhbHdheXMgbWFyayB0aGUgcm9vdCBhcyBzdXNwZW5kZWQgaW1tZWRpYXRlbHlcbiAgICAvLyAoaW5zaWRlIHRoaXMgZnVuY3Rpb24pLCBzaW5jZSBieSBzdXNwZW5kaW5nIGF0IHRoZSBlbmQgb2YgdGhlIHJlbmRlclxuICAgIC8vIHBoYXNlIGludHJvZHVjZXMgYSBwb3RlbnRpYWwgbWlzdGFrZSB3aGVyZSB3ZSBzdXNwZW5kIGxhbmVzIHRoYXQgd2VyZVxuICAgIC8vIHBpbmdlZCBvciB1cGRhdGVkIHdoaWxlIHdlIHdlcmUgcmVuZGVyaW5nLlxuICAgIG1hcmtSb290U3VzcGVuZGVkJDEod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlbmRlckRpZEVycm9yKGVycm9yKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzICE9PSBSb290U3VzcGVuZGVkV2l0aERlbGF5KSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RFcnJvcmVkO1xuICB9XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdENvbmN1cnJlbnRFcnJvcnMgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzID0gW2Vycm9yXTtcbiAgfSBlbHNlIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RDb25jdXJyZW50RXJyb3JzLnB1c2goZXJyb3IpO1xuICB9XG59IC8vIENhbGxlZCBkdXJpbmcgcmVuZGVyIHRvIGRldGVybWluZSBpZiBhbnl0aGluZyBoYXMgc3VzcGVuZGVkLlxuLy8gUmV0dXJucyBmYWxzZSBpZiB3ZSdyZSBub3Qgc3VyZS5cblxuZnVuY3Rpb24gcmVuZGVySGFzTm90U3VzcGVuZGVkWWV0KCkge1xuICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBvciBjb21wbGV0ZWQsIHdlIGNhbid0IHJlYWxseSBiZSBzdXJlLFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcztcbn1cblxuZnVuY3Rpb24gcmVuZGVyUm9vdFN5bmMocm9vdCwgbGFuZXMpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xuICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpOyAvLyBJZiB0aGUgcm9vdCBvciBsYW5lcyBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ICE9PSByb290IHx8IHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzICE9PSBsYW5lcykge1xuICAgIHtcbiAgICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgICB2YXIgbWVtb2l6ZWRVcGRhdGVycyA9IHJvb3QubWVtb2l6ZWRVcGRhdGVycztcblxuICAgICAgICBpZiAobWVtb2l6ZWRVcGRhdGVycy5zaXplID4gMCkge1xuICAgICAgICAgIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMpO1xuICAgICAgICAgIG1lbW9pemVkVXBkYXRlcnMuY2xlYXIoKTtcbiAgICAgICAgfSAvLyBBdCB0aGlzIHBvaW50LCBtb3ZlIEZpYmVycyB0aGF0IHNjaGVkdWxlZCB0aGUgdXBjb21pbmcgd29yayBmcm9tIHRoZSBNYXAgdG8gdGhlIFNldC5cbiAgICAgICAgLy8gSWYgd2UgYmFpbG91dCBvbiB0aGlzIHdvcmssIHdlJ2xsIG1vdmUgdGhlbSBiYWNrIChsaWtlIGFib3ZlKS5cbiAgICAgICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gbW92ZSB0aGVtIG5vdyBpbiBjYXNlIHRoZSB3b3JrIHNwYXducyBtb3JlIHdvcmsgYXQgdGhlIHNhbWUgcHJpb3JpdHkgd2l0aCBkaWZmZXJlbnQgdXBkYXRlcnMuXG4gICAgICAgIC8vIFRoYXQgd2F5IHdlIGNhbiBrZWVwIHRoZSBjdXJyZW50IHVwZGF0ZSBhbmQgZnV0dXJlIHVwZGF0ZXMgc2VwYXJhdGUuXG5cblxuICAgICAgICBtb3ZlUGVuZGluZ0ZpYmVyc1RvTWVtb2l6ZWQocm9vdCwgbGFuZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzVHJhbnNpdGlvbnMgPSBnZXRUcmFuc2l0aW9uc0ZvckxhbmVzKCk7XG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgbGFuZXMpO1xuICB9XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTdGFydGVkKGxhbmVzKTtcbiAgfVxuXG4gIGRvIHtcbiAgICB0cnkge1xuICAgICAgd29ya0xvb3BTeW5jKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xuICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgIH1cbiAgfSB3aGlsZSAodHJ1ZSk7XG5cbiAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgLy8gVGhpcyBpcyBhIHN5bmMgcmVuZGVyLCBzbyB3ZSBzaG91bGQgaGF2ZSBmaW5pc2hlZCB0aGUgd2hvbGUgdHJlZS5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSAnICsgJ2J1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0b3BwZWQoKTtcbiAgfSAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbn0gLy8gVGhlIHdvcmsgbG9vcCBpcyBhbiBleHRyZW1lbHkgaG90IHBhdGguIFRlbGwgQ2xvc3VyZSBub3QgdG8gaW5saW5lIGl0LlxuXG4vKiogQG5vaW5saW5lICovXG5cblxuZnVuY3Rpb24gd29ya0xvb3BTeW5jKCkge1xuICAvLyBBbHJlYWR5IHRpbWVkIG91dCwgc28gcGVyZm9ybSB3b3JrIHdpdGhvdXQgY2hlY2tpbmcgaWYgd2UgbmVlZCB0byB5aWVsZC5cbiAgd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgcGVyZm9ybVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJvb3RDb25jdXJyZW50KHJvb3QsIGxhbmVzKSB7XG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gcHVzaERpc3BhdGNoZXIoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgbGFuZXMgaGF2ZSBjaGFuZ2VkLCB0aHJvdyBvdXQgdGhlIGV4aXN0aW5nIHN0YWNrXG4gIC8vIGFuZCBwcmVwYXJlIGEgZnJlc2ggb25lLiBPdGhlcndpc2Ugd2UnbGwgY29udGludWUgd2hlcmUgd2UgbGVmdCBvZmYuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gcm9vdCB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyAhPT0gbGFuZXMpIHtcbiAgICB7XG4gICAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG5cbiAgICAgICAgaWYgKG1lbW9pemVkVXBkYXRlcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICByZXN0b3JlUGVuZGluZ1VwZGF0ZXJzKHJvb3QsIHdvcmtJblByb2dyZXNzUm9vdFJlbmRlckxhbmVzKTtcbiAgICAgICAgICBtZW1vaXplZFVwZGF0ZXJzLmNsZWFyKCk7XG4gICAgICAgIH0gLy8gQXQgdGhpcyBwb2ludCwgbW92ZSBGaWJlcnMgdGhhdCBzY2hlZHVsZWQgdGhlIHVwY29taW5nIHdvcmsgZnJvbSB0aGUgTWFwIHRvIHRoZSBTZXQuXG4gICAgICAgIC8vIElmIHdlIGJhaWxvdXQgb24gdGhpcyB3b3JrLCB3ZSdsbCBtb3ZlIHRoZW0gYmFjayAobGlrZSBhYm92ZSkuXG4gICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIG1vdmUgdGhlbSBub3cgaW4gY2FzZSB0aGUgd29yayBzcGF3bnMgbW9yZSB3b3JrIGF0IHRoZSBzYW1lIHByaW9yaXR5IHdpdGggZGlmZmVyZW50IHVwZGF0ZXJzLlxuICAgICAgICAvLyBUaGF0IHdheSB3ZSBjYW4ga2VlcCB0aGUgY3VycmVudCB1cGRhdGUgYW5kIGZ1dHVyZSB1cGRhdGVzIHNlcGFyYXRlLlxuXG5cbiAgICAgICAgbW92ZVBlbmRpbmdGaWJlcnNUb01lbW9pemVkKHJvb3QsIGxhbmVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zID0gZ2V0VHJhbnNpdGlvbnNGb3JMYW5lcygpO1xuICAgIHJlc2V0UmVuZGVyVGltZXIoKTtcbiAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBsYW5lcyk7XG4gIH1cblxuICB7XG4gICAgbWFya1JlbmRlclN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgZG8ge1xuICAgIHRyeSB7XG4gICAgICB3b3JrTG9vcENvbmN1cnJlbnQoKTtcbiAgICAgIGJyZWFrO1xuICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XG4gICAgICBoYW5kbGVFcnJvcihyb290LCB0aHJvd25WYWx1ZSk7XG4gICAgfVxuICB9IHdoaWxlICh0cnVlKTtcblxuICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgIC8vIFN0aWxsIHdvcmsgcmVtYWluaW5nLlxuICAgIHtcbiAgICAgIG1hcmtSZW5kZXJZaWVsZGVkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJvb3RJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIC8vIENvbXBsZXRlZCB0aGUgdHJlZS5cbiAgICB7XG4gICAgICBtYXJrUmVuZGVyU3RvcHBlZCgpO1xuICAgIH0gLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcyA9IE5vTGFuZXM7IC8vIFJldHVybiB0aGUgZmluYWwgZXhpdCBzdGF0dXMuXG5cbiAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cztcbiAgfVxufVxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wQ29uY3VycmVudCgpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHVudGlsIFNjaGVkdWxlciBhc2tzIHVzIHRvIHlpZWxkXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xuICAgIHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwZXJmb3JtVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XG4gIC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcbiAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcbiAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICB2YXIgY3VycmVudCA9IHVuaXRPZldvcmsuYWx0ZXJuYXRlO1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBuZXh0O1xuXG4gIGlmICggKHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgIG5leHQgPSBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpO1xuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dCA9IGJlZ2luV29yayQxKGN1cnJlbnQsIHVuaXRPZldvcmssIHN1YnRyZWVSZW5kZXJMYW5lcyk7XG4gIH1cblxuICByZXNldEN1cnJlbnRGaWJlcigpO1xuICB1bml0T2ZXb3JrLm1lbW9pemVkUHJvcHMgPSB1bml0T2ZXb3JrLnBlbmRpbmdQcm9wcztcblxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHRoaXMgZG9lc24ndCBzcGF3biBuZXcgd29yaywgY29tcGxldGUgdGhlIGN1cnJlbnQgd29yay5cbiAgICBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH0gZWxzZSB7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBuZXh0O1xuICB9XG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29tcGxldGVVbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgLy8gQXR0ZW1wdCB0byBjb21wbGV0ZSB0aGUgY3VycmVudCB1bml0IG9mIHdvcmssIHRoZW4gbW92ZSB0byB0aGUgbmV4dFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXG4gIHZhciBjb21wbGV0ZWRXb3JrID0gdW5pdE9mV29yaztcblxuICBkbyB7XG4gICAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAgIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICAgIHZhciBjdXJyZW50ID0gY29tcGxldGVkV29yay5hbHRlcm5hdGU7XG4gICAgdmFyIHJldHVybkZpYmVyID0gY29tcGxldGVkV29yay5yZXR1cm47IC8vIENoZWNrIGlmIHRoZSB3b3JrIGNvbXBsZXRlZCBvciBpZiBzb21ldGhpbmcgdGhyZXcuXG5cbiAgICBpZiAoKGNvbXBsZXRlZFdvcmsuZmxhZ3MgJiBJbmNvbXBsZXRlKSA9PT0gTm9GbGFncykge1xuICAgICAgc2V0Q3VycmVudEZpYmVyKGNvbXBsZXRlZFdvcmspO1xuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgY29tcGxldGVkV29yaywgc3VidHJlZVJlbmRlckxhbmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcihjb21wbGV0ZWRXb3JrKTtcbiAgICAgICAgbmV4dCA9IGNvbXBsZXRlV29yayhjdXJyZW50LCBjb21wbGV0ZWRXb3JrLCBzdWJ0cmVlUmVuZGVyTGFuZXMpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cblxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcblxuICAgICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gQ29tcGxldGluZyB0aGlzIGZpYmVyIHNwYXduZWQgbmV3IHdvcmsuIFdvcmsgb24gdGhhdCBuZXh0LlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG5leHQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlIGJlY2F1c2Ugc29tZXRoaW5nIHRocmV3LiBQb3AgdmFsdWVzIG9mZlxuICAgICAgLy8gdGhlIHN0YWNrIHdpdGhvdXQgZW50ZXJpbmcgdGhlIGNvbXBsZXRlIHBoYXNlLiBJZiB0aGlzIGlzIGEgYm91bmRhcnksXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cbiAgICAgIHZhciBfbmV4dCA9IHVud2luZFdvcmsoY3VycmVudCwgY29tcGxldGVkV29yayk7IC8vIEJlY2F1c2UgdGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlLCBkb24ndCByZXNldCBpdHMgbGFuZXMuXG5cblxuICAgICAgaWYgKF9uZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIGNvbXBsZXRpbmcgdGhpcyB3b3JrIHNwYXduZWQgbmV3IHdvcmssIGRvIHRoYXQgbmV4dC4gV2UnbGwgY29tZVxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXG4gICAgICAgIC8vIFNpbmNlIHdlJ3JlIHJlc3RhcnRpbmcsIHJlbW92ZSBhbnl0aGluZyB0aGF0IGlzIG5vdCBhIGhvc3QgZWZmZWN0XG4gICAgICAgIC8vIGZyb20gdGhlIGVmZmVjdCB0YWcuXG4gICAgICAgIF9uZXh0LmZsYWdzICY9IEhvc3RFZmZlY3RNYXNrO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IF9uZXh0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICggKGNvbXBsZXRlZFdvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgIC8vIFJlY29yZCB0aGUgcmVuZGVyIGR1cmF0aW9uIGZvciB0aGUgZmliZXIgdGhhdCBlcnJvcmVkLlxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKGNvbXBsZXRlZFdvcmssIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cblxuICAgICAgICB2YXIgYWN0dWFsRHVyYXRpb24gPSBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdHVhbER1cmF0aW9uICs9IGNoaWxkLmFjdHVhbER1cmF0aW9uO1xuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIC8vIE1hcmsgdGhlIHBhcmVudCBmaWJlciBhcyBpbmNvbXBsZXRlIGFuZCBjbGVhciBpdHMgc3VidHJlZSBmbGFncy5cbiAgICAgICAgcmV0dXJuRmliZXIuZmxhZ3MgfD0gSW5jb21wbGV0ZTtcbiAgICAgICAgcmV0dXJuRmliZXIuc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICAgICAgcmV0dXJuRmliZXIuZGVsZXRpb25zID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlJ3ZlIHVud291bmQgYWxsIHRoZSB3YXkgdG8gdGhlIHJvb3QuXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RGlkTm90Q29tcGxldGU7XG4gICAgICAgIHdvcmtJblByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzaWJsaW5nRmliZXIgPSBjb21wbGV0ZWRXb3JrLnNpYmxpbmc7XG5cbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBtb3JlIHdvcmsgdG8gZG8gaW4gdGhpcyByZXR1cm5GaWJlciwgZG8gdGhhdCBuZXh0LlxuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBzaWJsaW5nRmliZXI7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBPdGhlcndpc2UsIHJldHVybiB0byB0aGUgcGFyZW50XG5cblxuICAgIGNvbXBsZXRlZFdvcmsgPSByZXR1cm5GaWJlcjsgLy8gVXBkYXRlIHRoZSBuZXh0IHRoaW5nIHdlJ3JlIHdvcmtpbmcgb24gaW4gY2FzZSBzb21ldGhpbmcgdGhyb3dzLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBjb21wbGV0ZWRXb3JrO1xuICB9IHdoaWxlIChjb21wbGV0ZWRXb3JrICE9PSBudWxsKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgcm9vdC5cblxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5Qcm9ncmVzcykge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290Q29tcGxldGVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3Qocm9vdCwgcmVjb3ZlcmFibGVFcnJvcnMsIHRyYW5zaXRpb25zKSB7XG4gIC8vIFRPRE86IFRoaXMgbm8gbG9uZ2VyIG1ha2VzIGFueSBzZW5zZS4gV2UgYWxyZWFkeSB3cmFwIHRoZSBtdXRhdGlvbiBhbmRcbiAgLy8gbGF5b3V0IHBoYXNlcy4gU2hvdWxkIGJlIGFibGUgdG8gcmVtb3ZlLlxuICB2YXIgcHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkgPSBnZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoKTtcbiAgdmFyIHByZXZUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uO1xuXG4gIHRyeSB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkoRGlzY3JldGVFdmVudFByaW9yaXR5KTtcbiAgICBjb21taXRSb290SW1wbChyb290LCByZWNvdmVyYWJsZUVycm9ycywgdHJhbnNpdGlvbnMsIHByZXZpb3VzVXBkYXRlTGFuZVByaW9yaXR5KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb24gPSBwcmV2VHJhbnNpdGlvbjtcbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNVcGRhdGVMYW5lUHJpb3JpdHkpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJvb3RJbXBsKHJvb3QsIHJlY292ZXJhYmxlRXJyb3JzLCB0cmFuc2l0aW9ucywgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICBkbyB7XG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXG4gICAgLy8gbWVhbnMgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgc29tZXRpbWVzIHJlc3VsdCBpbiBhZGRpdGlvbmFsXG4gICAgLy8gcGFzc2l2ZSBlZmZlY3RzLiBTbyB3ZSBuZWVkIHRvIGtlZXAgZmx1c2hpbmcgaW4gYSBsb29wIHVudGlsIHRoZXJlIGFyZVxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxuICAgIC8vIFRPRE86IE1pZ2h0IGJlIGJldHRlciBpZiBgZmx1c2hQYXNzaXZlRWZmZWN0c2AgZGlkIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAgLy8gZmx1c2ggc3luY2hyb25vdXMgd29yayBhdCB0aGUgZW5kLCB0byBhdm9pZCBmYWN0b3JpbmcgaGF6YXJkcyBsaWtlIHRoaXMuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICB9IHdoaWxlIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyAhPT0gbnVsbCk7XG5cbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuJyk7XG4gIH1cblxuICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5maW5pc2hlZFdvcms7XG4gIHZhciBsYW5lcyA9IHJvb3QuZmluaXNoZWRMYW5lcztcblxuICB7XG4gICAgbWFya0NvbW1pdFN0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xuXG4gICAge1xuICAgICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBpZiAobGFuZXMgPT09IE5vTGFuZXMpIHtcbiAgICAgICAgZXJyb3IoJ3Jvb3QuZmluaXNoZWRMYW5lcyBzaG91bGQgbm90IGJlIGVtcHR5IGR1cmluZyBhIGNvbW1pdC4gVGhpcyBpcyBhICcgKyAnYnVnIGluIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgcm9vdC5maW5pc2hlZExhbmVzID0gTm9MYW5lcztcblxuICBpZiAoZmluaXNoZWRXb3JrID09PSByb290LmN1cnJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb21taXQgdGhlIHNhbWUgdHJlZSBhcyBiZWZvcmUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSAnICsgJ2EgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxuICAvLyBTbyB3ZSBjYW4gY2xlYXIgdGhlc2Ugbm93IHRvIGFsbG93IGEgbmV3IGNhbGxiYWNrIHRvIGJlIHNjaGVkdWxlZC5cblxuXG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcbiAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9MYW5lOyAvLyBVcGRhdGUgdGhlIGZpcnN0IGFuZCBsYXN0IHBlbmRpbmcgdGltZXMgb24gdGhpcyByb290LiBUaGUgbmV3IGZpcnN0XG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxuXG4gIHZhciByZW1haW5pbmdMYW5lcyA9IG1lcmdlTGFuZXMoZmluaXNoZWRXb3JrLmxhbmVzLCBmaW5pc2hlZFdvcmsuY2hpbGRMYW5lcyk7XG4gIG1hcmtSb290RmluaXNoZWQocm9vdCwgcmVtYWluaW5nTGFuZXMpO1xuXG4gIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcbiAgICAvLyBXZSBjYW4gcmVzZXQgdGhlc2Ugbm93IHRoYXQgdGhleSBhcmUgZmluaXNoZWQuXG4gICAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290UmVuZGVyTGFuZXMgPSBOb0xhbmVzO1xuICB9IC8vIElmIHRoZXJlIGFyZSBwZW5kaW5nIHBhc3NpdmUgZWZmZWN0cywgc2NoZWR1bGUgYSBjYWxsYmFjayB0byBwcm9jZXNzIHRoZW0uXG4gIC8vIERvIHRoaXMgYXMgZWFybHkgYXMgcG9zc2libGUsIHNvIGl0IGlzIHF1ZXVlZCBiZWZvcmUgYW55dGhpbmcgZWxzZSB0aGF0XG4gIC8vIG1pZ2h0IGdldCBzY2hlZHVsZWQgaW4gdGhlIGNvbW1pdCBwaGFzZS4gKFNlZSAjMTY3MTQuKVxuICAvLyBUT0RPOiBEZWxldGUgYWxsIG90aGVyIHBsYWNlcyB0aGF0IHNjaGVkdWxlIHRoZSBwYXNzaXZlIGVmZmVjdCBjYWxsYmFja1xuICAvLyBUaGV5J3JlIHJlZHVuZGFudC5cblxuXG4gIGlmICgoZmluaXNoZWRXb3JrLnN1YnRyZWVGbGFncyAmIFBhc3NpdmVNYXNrKSAhPT0gTm9GbGFncyB8fCAoZmluaXNoZWRXb3JrLmZsYWdzICYgUGFzc2l2ZU1hc2spICE9PSBOb0ZsYWdzKSB7XG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgLy8gdG8gc3RvcmUgaXQgaW4gcGVuZGluZ1Bhc3NpdmVUcmFuc2l0aW9ucyB1bnRpbCB0aGV5IGdldCBwcm9jZXNzZWRcbiAgICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGlzIHRocm91Z2ggYXMgYW4gYXJndW1lbnQgdG8gY29tbWl0Um9vdFxuICAgICAgLy8gYmVjYXVzZSB3b3JrSW5Qcm9ncmVzc1RyYW5zaXRpb25zIG1pZ2h0IGhhdmUgY2hhbmdlZCBiZXR3ZWVuXG4gICAgICAvLyB0aGUgcHJldmlvdXMgcmVuZGVyIGFuZCBjb21taXQgaWYgd2UgdGhyb3R0bGUgdGhlIGNvbW1pdFxuICAgICAgLy8gd2l0aCBzZXRUaW1lb3V0XG5cbiAgICAgIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucztcbiAgICAgIHNjaGVkdWxlQ2FsbGJhY2skMShOb3JtYWxQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIFRoaXMgcmVuZGVyIHRyaWdnZXJlZCBwYXNzaXZlIGVmZmVjdHM6IHJlbGVhc2UgdGhlIHJvb3QgY2FjaGUgcG9vbFxuICAgICAgICAvLyAqYWZ0ZXIqIHBhc3NpdmUgZWZmZWN0cyBmaXJlIHRvIGF2b2lkIGZyZWVpbmcgYSBjYWNoZSBwb29sIHRoYXQgbWF5XG4gICAgICAgIC8vIGJlIHJlZmVyZW5jZWQgYnkgYSBub2RlIGluIHRoZSB0cmVlIChIb3N0Um9vdCwgQ2FjaGUgYm91bmRhcnkgZXRjKVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZWZmZWN0cyBpbiB0aGUgd2hvbGUgdHJlZS5cbiAgLy8gVE9ETzogVGhpcyBpcyBsZWZ0IG92ZXIgZnJvbSB0aGUgZWZmZWN0IGxpc3QgaW1wbGVtZW50YXRpb24sIHdoZXJlIHdlIGhhZFxuICAvLyB0byBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBgZmlyc3RFZmZlY3RgIHRvIHNhdGlzZnkgRmxvdy4gSSB0aGluayB0aGVcbiAgLy8gb25seSBvdGhlciByZWFzb24gdGhpcyBvcHRpbWl6YXRpb24gZXhpc3RzIGlzIGJlY2F1c2UgaXQgYWZmZWN0cyBwcm9maWxpbmcuXG4gIC8vIFJlY29uc2lkZXIgd2hldGhlciB0aGlzIGlzIG5lY2Vzc2FyeS5cblxuXG4gIHZhciBzdWJ0cmVlSGFzRWZmZWN0cyA9IChmaW5pc2hlZFdvcmsuc3VidHJlZUZsYWdzICYgKEJlZm9yZU11dGF0aW9uTWFzayB8IE11dGF0aW9uTWFzayB8IExheW91dE1hc2sgfCBQYXNzaXZlTWFzaykpICE9PSBOb0ZsYWdzO1xuICB2YXIgcm9vdEhhc0VmZmVjdCA9IChmaW5pc2hlZFdvcmsuZmxhZ3MgJiAoQmVmb3JlTXV0YXRpb25NYXNrIHwgTXV0YXRpb25NYXNrIHwgTGF5b3V0TWFzayB8IFBhc3NpdmVNYXNrKSkgIT09IE5vRmxhZ3M7XG5cbiAgaWYgKHN1YnRyZWVIYXNFZmZlY3RzIHx8IHJvb3RIYXNFZmZlY3QpIHtcbiAgICB2YXIgcHJldlRyYW5zaXRpb24gPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQzLnRyYW5zaXRpb247XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShEaXNjcmV0ZUV2ZW50UHJpb3JpdHkpO1xuICAgIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XG4gICAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0OyAvLyBSZXNldCB0aGlzIHRvIG51bGwgYmVmb3JlIGNhbGxpbmcgbGlmZWN5Y2xlc1xuXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMi5jdXJyZW50ID0gbnVsbDsgLy8gVGhlIGNvbW1pdCBwaGFzZSBpcyBicm9rZW4gaW50byBzZXZlcmFsIHN1Yi1waGFzZXMuIFdlIGRvIGEgc2VwYXJhdGUgcGFzc1xuICAgIC8vIG9mIHRoZSBlZmZlY3QgbGlzdCBmb3IgZWFjaCBwaGFzZTogYWxsIG11dGF0aW9uIGVmZmVjdHMgY29tZSBiZWZvcmUgYWxsXG4gICAgLy8gbGF5b3V0IGVmZmVjdHMsIGFuZCBzbyBvbi5cbiAgICAvLyBUaGUgZmlyc3QgcGhhc2UgYSBcImJlZm9yZSBtdXRhdGlvblwiIHBoYXNlLiBXZSB1c2UgdGhpcyBwaGFzZSB0byByZWFkIHRoZVxuICAgIC8vIHN0YXRlIG9mIHRoZSBob3N0IHRyZWUgcmlnaHQgYmVmb3JlIHdlIG11dGF0ZSBpdC4gVGhpcyBpcyB3aGVyZVxuICAgIC8vIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlIGlzIGNhbGxlZC5cblxuICAgIHZhciBzaG91bGRGaXJlQWZ0ZXJBY3RpdmVJbnN0YW5jZUJsdXIgPSBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrKTtcblxuICAgIHtcbiAgICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgY29tbWl0IHRpbWUgdG8gYmUgc2hhcmVkIGJ5IGFsbCBQcm9maWxlcnMgaW4gdGhpc1xuICAgICAgLy8gYmF0Y2guIFRoaXMgZW5hYmxlcyB0aGVtIHRvIGJlIGdyb3VwZWQgbGF0ZXIuXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XG4gICAgfVxuXG5cbiAgICBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgZmluaXNoZWRXb3JrLCBsYW5lcyk7XG5cbiAgICByZXNldEFmdGVyQ29tbWl0KHJvb3QuY29udGFpbmVySW5mbyk7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIHRyZWUgaXMgbm93IHRoZSBjdXJyZW50IHRyZWUuIFRoaXMgbXVzdCBjb21lIGFmdGVyXG4gICAgLy8gdGhlIG11dGF0aW9uIHBoYXNlLCBzbyB0aGF0IHRoZSBwcmV2aW91cyB0cmVlIGlzIHN0aWxsIGN1cnJlbnQgZHVyaW5nXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcbiAgICAvLyB3b3JrIGlzIGN1cnJlbnQgZHVyaW5nIGNvbXBvbmVudERpZE1vdW50L1VwZGF0ZS5cblxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdGFydGVkKGxhbmVzKTtcbiAgICB9XG5cbiAgICBjb21taXRMYXlvdXRFZmZlY3RzKGZpbmlzaGVkV29yaywgcm9vdCwgbGFuZXMpO1xuXG4gICAge1xuICAgICAgbWFya0xheW91dEVmZmVjdHNTdG9wcGVkKCk7XG4gICAgfVxuICAgIC8vIG9wcG9ydHVuaXR5IHRvIHBhaW50LlxuXG5cbiAgICByZXF1ZXN0UGFpbnQoKTtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIFJlc2V0IHRoZSBwcmlvcml0eSB0byB0aGUgcHJldmlvdXMgbm9uLXN5bmMgdmFsdWUuXG5cbiAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJldmlvdXNQcmlvcml0eSk7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG4gIH0gZWxzZSB7XG4gICAgLy8gTm8gZWZmZWN0cy5cbiAgICByb290LmN1cnJlbnQgPSBmaW5pc2hlZFdvcms7IC8vIE1lYXN1cmUgdGhlc2UgYW55d2F5IHNvIHRoZSBmbGFtZWdyYXBoIGV4cGxpY2l0bHkgc2hvd3MgdGhhdCB0aGVyZSB3ZXJlXG4gICAgLy8gbm8gZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cblxuICAgIHtcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xuXG4gIGlmIChyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxuICAgIC8vIHNjaGVkdWxlIGEgY2FsbGJhY2sgdW50aWwgYWZ0ZXIgZmx1c2hpbmcgbGF5b3V0IHdvcmsuXG4gICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XG4gICAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMgPSBsYW5lcztcbiAgfSBlbHNlIHtcblxuICAgIHtcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XG4gICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB9XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhbiBlZmZlY3QgbWlnaHQgaGF2ZSB1cGRhdGVkIGl0XG5cblxuICByZW1haW5pbmdMYW5lcyA9IHJvb3QucGVuZGluZ0xhbmVzOyAvLyBDaGVjayBpZiB0aGVyZSdzIHJlbWFpbmluZyB3b3JrIG9uIHRoaXMgcm9vdFxuICAvLyBUT0RPOiBUaGlzIGlzIHBhcnQgb2YgdGhlIGBjb21wb25lbnREaWRDYXRjaGAgaW1wbGVtZW50YXRpb24uIEl0cyBwdXJwb3NlXG4gIC8vIGlzIHRvIGRldGVjdCB3aGV0aGVyIHNvbWV0aGluZyBtaWdodCBoYXZlIGNhbGxlZCBzZXRTdGF0ZSBpbnNpZGVcbiAgLy8gYGNvbXBvbmVudERpZENhdGNoYC4gVGhlIG1lY2hhbmlzbSBpcyBrbm93biB0byBiZSBmbGF3ZWQgYmVjYXVzZSBgc2V0U3RhdGVgXG4gIC8vIGluc2lkZSBgY29tcG9uZW50RGlkQ2F0Y2hgIGlzIGl0c2VsZiBmbGF3ZWQg4oCUIHRoYXQncyB3aHkgd2UgcmVjb21tZW5kXG4gIC8vIGBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3JgIGluc3RlYWQuIEhvd2V2ZXIsIGl0IGNvdWxkIGJlIGltcHJvdmVkIGJ5XG4gIC8vIGNoZWNraW5nIGlmIHJlbWFpbmluZ0xhbmVzIGluY2x1ZGVzIFN5bmMgd29yaywgaW5zdGVhZCBvZiB3aGV0aGVyIHRoZXJlJ3NcbiAgLy8gYW55IHdvcmsgcmVtYWluaW5nIGF0IGFsbCAod2hpY2ggd291bGQgYWxzbyBpbmNsdWRlIHN0dWZmIGxpa2UgU3VzcGVuc2VcbiAgLy8gcmV0cmllcyBvciB0cmFuc2l0aW9ucykuIEl0J3MgYmVlbiBsaWtlIHRoaXMgZm9yIGEgd2hpbGUsIHRob3VnaCwgc28gZml4aW5nXG4gIC8vIGl0IHByb2JhYmx5IGlzbid0IHRoYXQgdXJnZW50LlxuXG4gIGlmIChyZW1haW5pbmdMYW5lcyA9PT0gTm9MYW5lcykge1xuICAgIC8vIElmIHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmssIHdlIGNhbiBjbGVhciB0aGUgc2V0IG9mIGFscmVhZHkgZmFpbGVkXG4gICAgLy8gZXJyb3IgYm91bmRhcmllcy5cbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKCFyb290RGlkSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBjb21taXREb3VibGVJbnZva2VFZmZlY3RzSW5ERVYocm9vdC5jdXJyZW50LCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25Db21taXRSb290KGZpbmlzaGVkV29yay5zdGF0ZU5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xuXG4gIHtcbiAgICBpZiAoaXNEZXZUb29sc1ByZXNlbnQpIHtcbiAgICAgIHJvb3QubWVtb2l6ZWRVcGRhdGVycy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBvbkNvbW1pdFJvb3QkMSgpO1xuICB9IC8vIEFsd2F5cyBjYWxsIHRoaXMgYmVmb3JlIGV4aXRpbmcgYGNvbW1pdFJvb3RgLCB0byBlbnN1cmUgdGhhdCBhbnlcbiAgLy8gYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdCBpcyBzY2hlZHVsZWQuXG5cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgbm93KCkpO1xuXG4gIGlmIChyZWNvdmVyYWJsZUVycm9ycyAhPT0gbnVsbCkge1xuICAgIC8vIFRoZXJlIHdlcmUgZXJyb3JzIGR1cmluZyB0aGlzIHJlbmRlciwgYnV0IHJlY292ZXJlZCBmcm9tIHRoZW0gd2l0aG91dFxuICAgIC8vIG5lZWRpbmcgdG8gc3VyZmFjZSBpdCB0byB0aGUgVUkuIFdlIGxvZyB0aGVtIGhlcmUuXG4gICAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IHJvb3Qub25SZWNvdmVyYWJsZUVycm9yO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvdmVyYWJsZUVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJlY292ZXJhYmxlRXJyb3IgPSByZWNvdmVyYWJsZUVycm9yc1tpXTtcbiAgICAgIHZhciBjb21wb25lbnRTdGFjayA9IHJlY292ZXJhYmxlRXJyb3Iuc3RhY2s7XG4gICAgICB2YXIgZGlnZXN0ID0gcmVjb3ZlcmFibGVFcnJvci5kaWdlc3Q7XG4gICAgICBvblJlY292ZXJhYmxlRXJyb3IocmVjb3ZlcmFibGVFcnJvci52YWx1ZSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogY29tcG9uZW50U3RhY2ssXG4gICAgICAgIGRpZ2VzdDogZGlnZXN0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFzVW5jYXVnaHRFcnJvcikge1xuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgZXJyb3IkMSA9IGZpcnN0VW5jYXVnaHRFcnJvcjtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xuICAgIHRocm93IGVycm9yJDE7XG4gIH0gLy8gSWYgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIHJlbmRlciwgZmx1c2ggdGhlbVxuICAvLyBzeW5jaHJvbm91c2x5IGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdGFzayBzbyB0aGF0IHRoZSByZXN1bHQgaXNcbiAgLy8gaW1tZWRpYXRlbHkgb2JzZXJ2YWJsZS4gT3RoZXJ3aXNlLCB3ZSBhc3N1bWUgdGhhdCB0aGV5IGFyZSBub3RcbiAgLy8gb3JkZXItZGVwZW5kZW50IGFuZCBkbyBub3QgbmVlZCB0byBiZSBvYnNlcnZlZCBieSBleHRlcm5hbCBzeXN0ZW1zLCBzbyB3ZVxuICAvLyBjYW4gd2FpdCB1bnRpbCBhZnRlciBwYWludC5cbiAgLy8gVE9ETzogV2UgY2FuIG9wdGltaXplIHRoaXMgYnkgbm90IHNjaGVkdWxpbmcgdGhlIGNhbGxiYWNrIGVhcmxpZXIuIFNpbmNlIHdlXG4gIC8vIGN1cnJlbnRseSBzY2hlZHVsZSB0aGUgY2FsbGJhY2sgaW4gbXVsdGlwbGUgcGxhY2VzLCB3aWxsIHdhaXQgdW50aWwgdGhvc2VcbiAgLy8gYXJlIGNvbnNvbGlkYXRlZC5cblxuXG4gIGlmIChpbmNsdWRlc1NvbWVMYW5lKHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzLCBTeW5jTGFuZSkgJiYgcm9vdC50YWcgIT09IExlZ2FjeVJvb3QpIHtcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gIH0gLy8gUmVhZCB0aGlzIGFnYWluLCBzaW5jZSBhIHBhc3NpdmUgZWZmZWN0IG1pZ2h0IGhhdmUgdXBkYXRlZCBpdFxuXG5cbiAgcmVtYWluaW5nTGFuZXMgPSByb290LnBlbmRpbmdMYW5lcztcblxuICBpZiAoaW5jbHVkZXNTb21lTGFuZShyZW1haW5pbmdMYW5lcywgU3luY0xhbmUpKSB7XG4gICAge1xuICAgICAgbWFya05lc3RlZFVwZGF0ZVNjaGVkdWxlZCgpO1xuICAgIH0gLy8gQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcm9vdCBzeW5jaHJvbm91c2x5IHJlLXJlbmRlcnMgd2l0aG91dFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXG5cblxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50Kys7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgICAgIHJvb3RXaXRoTmVzdGVkVXBkYXRlcyA9IHJvb3Q7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgfSAvLyBJZiBsYXlvdXQgd29yayB3YXMgc2NoZWR1bGVkLCBmbHVzaCBpdCBub3cuXG5cblxuICBmbHVzaFN5bmNDYWxsYmFja3MoKTtcblxuICB7XG4gICAgbWFya0NvbW1pdFN0b3BwZWQoKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzKCkge1xuICAvLyBSZXR1cm5zIHdoZXRoZXIgcGFzc2l2ZSBlZmZlY3RzIHdlcmUgZmx1c2hlZC5cbiAgLy8gVE9ETzogQ29tYmluZSB0aGlzIGNoZWNrIHdpdGggdGhlIG9uZSBpbiBmbHVzaFBhc3NpdmVFRmZlY3RzSW1wbC4gV2Ugc2hvdWxkXG4gIC8vIHByb2JhYmx5IGp1c3QgY29tYmluZSB0aGUgdHdvIGZ1bmN0aW9ucy4gSSBiZWxpZXZlIHRoZXkgd2VyZSBvbmx5IHNlcGFyYXRlXG4gIC8vIGluIHRoZSBmaXJzdCBwbGFjZSBiZWNhdXNlIHdlIHVzZWQgdG8gd3JhcCBpdCB3aXRoXG4gIC8vIGBTY2hlZHVsZXIucnVuV2l0aFByaW9yaXR5YCwgd2hpY2ggYWNjZXB0cyBhIGZ1bmN0aW9uLiBCdXQgbm93IHdlIHRyYWNrIHRoZVxuICAvLyBwcmlvcml0eSB3aXRoaW4gUmVhY3QgaXRzZWxmLCBzbyB3ZSBjYW4gbXV0YXRlIHRoZSB2YXJpYWJsZSBkaXJlY3RseS5cbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzICE9PSBudWxsKSB7XG4gICAgdmFyIHJlbmRlclByaW9yaXR5ID0gbGFuZXNUb0V2ZW50UHJpb3JpdHkocGVuZGluZ1Bhc3NpdmVFZmZlY3RzTGFuZXMpO1xuICAgIHZhciBwcmlvcml0eSA9IGxvd2VyRXZlbnRQcmlvcml0eShEZWZhdWx0RXZlbnRQcmlvcml0eSwgcmVuZGVyUHJpb3JpdHkpO1xuICAgIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbjtcbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eSA9IGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IG51bGw7XG4gICAgICBzZXRDdXJyZW50VXBkYXRlUHJpb3JpdHkocHJpb3JpdHkpO1xuICAgICAgcmV0dXJuIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldEN1cnJlbnRVcGRhdGVQcmlvcml0eShwcmV2aW91c1ByaW9yaXR5KTtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDMudHJhbnNpdGlvbiA9IHByZXZUcmFuc2l0aW9uOyAvLyBPbmNlIHBhc3NpdmUgZWZmZWN0cyBoYXZlIHJ1biBmb3IgdGhlIHRyZWUgLSBnaXZpbmcgY29tcG9uZW50cyBhXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZW5xdWV1ZVBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3QoZmliZXIpIHtcbiAge1xuICAgIHBlbmRpbmdQYXNzaXZlUHJvZmlsZXJFZmZlY3RzLnB1c2goZmliZXIpO1xuXG4gICAgaWYgKCFyb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cykge1xuICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgc2NoZWR1bGVDYWxsYmFjayQxKE5vcm1hbFByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XG4gIGlmIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyBDYWNoZSBhbmQgY2xlYXIgdGhlIHRyYW5zaXRpb25zIGZsYWdcblxuXG4gIHZhciB0cmFuc2l0aW9ucyA9IHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnM7XG4gIHBlbmRpbmdQYXNzaXZlVHJhbnNpdGlvbnMgPSBudWxsO1xuICB2YXIgcm9vdCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzO1xuICB2YXIgbGFuZXMgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNMYW5lcztcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsOyAvLyBUT0RPOiBUaGlzIGlzIHNvbWV0aW1lcyBvdXQgb2Ygc3luYyB3aXRoIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzLlxuICAvLyBGaWd1cmUgb3V0IHdoeSBhbmQgZml4IGl0LiBJdCdzIG5vdCBjYXVzaW5nIGFueSBrbm93biBpc3N1ZXMgKHByb2JhYmx5XG4gIC8vIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQgZm9yIHByb2ZpbGluZyksIGJ1dCBpdCdzIGEgcmVmYWN0b3IgaGF6YXJkLlxuXG4gIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0xhbmVzID0gTm9MYW5lcztcblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSAhPT0gTm9Db250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmx1c2ggcGFzc2l2ZSBlZmZlY3RzIHdoaWxlIGFscmVhZHkgcmVuZGVyaW5nLicpO1xuICB9XG5cbiAge1xuICAgIGlzRmx1c2hpbmdQYXNzaXZlRWZmZWN0cyA9IHRydWU7XG4gICAgZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICB9XG5cbiAge1xuICAgIG1hcmtQYXNzaXZlRWZmZWN0c1N0YXJ0ZWQobGFuZXMpO1xuICB9XG5cbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xuICBjb21taXRQYXNzaXZlVW5tb3VudEVmZmVjdHMocm9vdC5jdXJyZW50KTtcbiAgY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0cyhyb290LCByb290LmN1cnJlbnQsIGxhbmVzLCB0cmFuc2l0aW9ucyk7IC8vIFRPRE86IE1vdmUgdG8gY29tbWl0UGFzc2l2ZU1vdW50RWZmZWN0c1xuXG4gIHtcbiAgICB2YXIgcHJvZmlsZXJFZmZlY3RzID0gcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHM7XG4gICAgcGVuZGluZ1Bhc3NpdmVQcm9maWxlckVmZmVjdHMgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZmlsZXJFZmZlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgX2ZpYmVyID0gcHJvZmlsZXJFZmZlY3RzW2ldO1xuICAgICAgY29tbWl0UGFzc2l2ZUVmZmVjdER1cmF0aW9ucyhyb290LCBfZmliZXIpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBtYXJrUGFzc2l2ZUVmZmVjdHNTdG9wcGVkKCk7XG4gIH1cblxuICB7XG4gICAgY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKHJvb3QuY3VycmVudCwgdHJ1ZSk7XG4gIH1cblxuICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG4gIGZsdXNoU3luY0NhbGxiYWNrcygpO1xuXG4gIHtcbiAgICAvLyBJZiBhZGRpdGlvbmFsIHBhc3NpdmUgZWZmZWN0cyB3ZXJlIHNjaGVkdWxlZCwgaW5jcmVtZW50IGEgY291bnRlci4gSWYgdGhpc1xuICAgIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cbiAgICBpZiAoZGlkU2NoZWR1bGVVcGRhdGVEdXJpbmdQYXNzaXZlRWZmZWN0cykge1xuICAgICAgaWYgKHJvb3QgPT09IHJvb3RXaXRoUGFzc2l2ZU5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgICByb290V2l0aFBhc3NpdmVOZXN0ZWRVcGRhdGVzID0gcm9vdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID0gMDtcbiAgICB9XG5cbiAgICBpc0ZsdXNoaW5nUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcbiAgICBkaWRTY2hlZHVsZVVwZGF0ZUR1cmluZ1Bhc3NpdmVFZmZlY3RzID0gZmFsc2U7XG4gIH0gLy8gVE9ETzogTW92ZSB0byBjb21taXRQYXNzaXZlTW91bnRFZmZlY3RzXG5cblxuICBvblBvc3RDb21taXRSb290KHJvb3QpO1xuXG4gIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gcm9vdC5jdXJyZW50LnN0YXRlTm9kZTtcbiAgICBzdGF0ZU5vZGUuZWZmZWN0RHVyYXRpb24gPSAwO1xuICAgIHN0YXRlTm9kZS5wYXNzaXZlRWZmZWN0RHVyYXRpb24gPSAwO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkICE9PSBudWxsICYmIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmhhcyhpbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBtYXJrTGVnYWN5RXJyb3JCb3VuZGFyeUFzRmFpbGVkKGluc3RhbmNlKSB7XG4gIGlmIChsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9PT0gbnVsbCkge1xuICAgIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbmV3IFNldChbaW5zdGFuY2VdKTtcbiAgfSBlbHNlIHtcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5hZGQoaW5zdGFuY2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUb1Rocm93VW5jYXVnaHRFcnJvcihlcnJvcikge1xuICBpZiAoIWhhc1VuY2F1Z2h0RXJyb3IpIHtcbiAgICBoYXNVbmNhdWdodEVycm9yID0gdHJ1ZTtcbiAgICBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBlcnJvcjtcbiAgfVxufVxuXG52YXIgb25VbmNhdWdodEVycm9yID0gcHJlcGFyZVRvVGhyb3dVbmNhdWdodEVycm9yO1xuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChyb290RmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvcikge1xuICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZUF0RmliZXIoZXJyb3IsIHNvdXJjZUZpYmVyKTtcbiAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShyb290RmliZXIsIGVycm9ySW5mbywgU3luY0xhbmUpO1xuICB2YXIgcm9vdCA9IGVucXVldWVVcGRhdGUocm9vdEZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihzb3VyY2VGaWJlciwgbmVhcmVzdE1vdW50ZWRBbmNlc3RvciwgZXJyb3IkMSkge1xuICB7XG4gICAgcmVwb3J0VW5jYXVnaHRFcnJvckluREVWKGVycm9yJDEpO1xuICAgIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChmYWxzZSk7XG4gIH1cblxuICBpZiAoc291cmNlRmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgIC8vIEVycm9yIHdhcyB0aHJvd24gYXQgdGhlIHJvb3QuIFRoZXJlIGlzIG5vIHBhcmVudCwgc28gdGhlIHJvb3RcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXG4gICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qoc291cmNlRmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZmliZXIgPSBudWxsO1xuXG4gIHtcbiAgICBmaWJlciA9IG5lYXJlc3RNb3VudGVkQW5jZXN0b3I7XG4gIH1cblxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcbiAgICBpZiAoZmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3QoZmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvciQxKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgIHZhciBjdG9yID0gZmliZXIudHlwZTtcbiAgICAgIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSB7XG4gICAgICAgIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlQXRGaWJlcihlcnJvciQxLCBzb3VyY2VGaWJlcik7XG4gICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVDbGFzc0Vycm9yVXBkYXRlKGZpYmVyLCBlcnJvckluZm8sIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUsIFN5bmNMYW5lKTtcbiAgICAgICAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcblxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgIG1hcmtSb290VXBkYXRlZChyb290LCBTeW5jTGFuZSwgZXZlbnRUaW1lKTtcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCwgZXZlbnRUaW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWJlciA9IGZpYmVyLnJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBUT0RPOiBVbnRpbCB3ZSByZS1sYW5kIHNraXBVbm1vdW50ZWRCb3VuZGFyaWVzIChzZWUgIzIwMTQ3KSwgdGhpcyB3YXJuaW5nXG4gICAgLy8gd2lsbCBmaXJlIGZvciBlcnJvcnMgdGhhdCBhcmUgdGhyb3duIGJ5IGRlc3Ryb3kgZnVuY3Rpb25zIGluc2lkZSBkZWxldGVkXG4gICAgLy8gdHJlZXMuIFdoYXQgaXQgc2hvdWxkIGluc3RlYWQgZG8gaXMgcHJvcGFnYXRlIHRoZSBlcnJvciB0byB0aGUgcGFyZW50IG9mXG4gICAgLy8gdGhlIGRlbGV0ZWQgdHJlZS4gSW4gdGhlIG1lYW50aW1lLCBkbyBub3QgYWRkIHRoaXMgd2FybmluZyB0byB0aGVcbiAgICAvLyBhbGxvd2xpc3Q7IHRoaXMgaXMgb25seSBmb3Igb3VyIGludGVybmFsIHVzZS5cbiAgICBlcnJvcignSW50ZXJuYWwgUmVhY3QgZXJyb3I6IEF0dGVtcHRlZCB0byBjYXB0dXJlIGEgY29tbWl0IHBoYXNlIGVycm9yICcgKyAnaW5zaWRlIGEgZGV0YWNoZWQgdHJlZS4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgaW4gUmVhY3QuIExpa2VseSAnICsgJ2NhdXNlcyBpbmNsdWRlIGRlbGV0aW5nIHRoZSBzYW1lIGZpYmVyIG1vcmUgdGhhbiBvbmNlLCBjb21taXR0aW5nIGFuICcgKyAnYWxyZWFkeS1maW5pc2hlZCB0cmVlLCBvciBhbiBpbmNvbnNpc3RlbnQgcmV0dXJuIHBvaW50ZXIuXFxuXFxuJyArICdFcnJvciBtZXNzYWdlOlxcblxcbiVzJywgZXJyb3IkMSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHdha2VhYmxlLCBwaW5nZWRMYW5lcykge1xuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XG5cbiAgaWYgKHBpbmdDYWNoZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSB3YWtlYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXG4gICAgLy8gbmV2ZXIgYmUgdGhyb3duIGFnYWluLlxuICAgIHBpbmdDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgdmFyIGV2ZW50VGltZSA9IHJlcXVlc3RFdmVudFRpbWUoKTtcbiAgbWFya1Jvb3RQaW5nZWQocm9vdCwgcGluZ2VkTGFuZXMpO1xuICB3YXJuSWZTdXNwZW5zZVJlc29sdXRpb25Ob3RXcmFwcGVkV2l0aEFjdERFVihyb290KTtcblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIGlzU3Vic2V0T2ZMYW5lcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcywgcGluZ2VkTGFuZXMpKSB7XG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxuICAgIC8vIHJlbmRlcmluZy4gV2UgbWlnaHQgd2FudCB0byByZXN0YXJ0IHRoaXMgcmVuZGVyLiBUaGlzIHNob3VsZCBtaXJyb3JcbiAgICAvLyB0aGUgbG9naWMgb2Ygd2hldGhlciBvciBub3QgYSByb290IHN1c3BlbmRzIG9uY2UgaXQgY29tcGxldGVzLlxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxuICAgIC8vIHdlIHNob3VsZCBwcm9iYWJseSBuZXZlciByZXN0YXJ0LlxuICAgIC8vIElmIHdlJ3JlIHN1c3BlbmRlZCB3aXRoIGRlbGF5LCBvciBpZiBpdCdzIGEgcmV0cnksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kXG4gICAgLy8gc28gd2UgY2FuIGFsd2F5cyByZXN0YXJ0LlxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5IHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQgJiYgaW5jbHVkZXNPbmx5UmV0cmllcyh3b3JrSW5Qcm9ncmVzc1Jvb3RSZW5kZXJMYW5lcykgJiYgbm93KCkgLSBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lIDwgRkFMTEJBQ0tfVEhST1RUTEVfTVMpIHtcbiAgICAgIC8vIFJlc3RhcnQgZnJvbSB0aGUgcm9vdC5cbiAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIE5vTGFuZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFdmVuIHRob3VnaCB3ZSBjYW4ndCByZXN0YXJ0IHJpZ2h0IG5vdywgd2UgbWlnaHQgZ2V0IGFuXG4gICAgICAvLyBvcHBvcnR1bml0eSBsYXRlci4gU28gd2UgbWFyayB0aGlzIHJlbmRlciBhcyBoYXZpbmcgYSBwaW5nLlxuICAgICAgd29ya0luUHJvZ3Jlc3NSb290UGluZ2VkTGFuZXMgPSBtZXJnZUxhbmVzKHdvcmtJblByb2dyZXNzUm9vdFBpbmdlZExhbmVzLCBwaW5nZWRMYW5lcyk7XG4gICAgfVxuICB9XG5cbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QsIGV2ZW50VGltZSk7XG59XG5cbmZ1bmN0aW9uIHJldHJ5VGltZWRPdXRCb3VuZGFyeShib3VuZGFyeUZpYmVyLCByZXRyeUxhbmUpIHtcbiAgLy8gVGhlIGJvdW5kYXJ5IGZpYmVyIChhIFN1c3BlbnNlIGNvbXBvbmVudCBvciBTdXNwZW5zZUxpc3QgY29tcG9uZW50KVxuICAvLyBwcmV2aW91c2x5IHdhcyByZW5kZXJlZCBpbiBpdHMgZmFsbGJhY2sgc3RhdGUuIE9uZSBvZiB0aGUgcHJvbWlzZXMgdGhhdFxuICAvLyBzdXNwZW5kZWQgaXQgaGFzIHJlc29sdmVkLCB3aGljaCBtZWFucyBhdCBsZWFzdCBwYXJ0IG9mIHRoZSB0cmVlIHdhc1xuICAvLyBsaWtlbHkgdW5ibG9ja2VkLiBUcnkgcmVuZGVyaW5nIGFnYWluLCBhdCBhIG5ldyBsYW5lcy5cbiAgaWYgKHJldHJ5TGFuZSA9PT0gTm9MYW5lKSB7XG4gICAgLy8gVE9ETzogQXNzaWduIHRoaXMgdG8gYHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lYD8gdG8gYXZvaWRcbiAgICAvLyB1bm5lY2Vzc2FyeSBlbnRhbmdsZW1lbnQ/XG4gICAgcmV0cnlMYW5lID0gcmVxdWVzdFJldHJ5TGFuZShib3VuZGFyeUZpYmVyKTtcbiAgfSAvLyBUT0RPOiBTcGVjaWFsIGNhc2UgaWRsZSBwcmlvcml0eT9cblxuXG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBtYXJrUm9vdFVwZGF0ZWQocm9vdCwgcmV0cnlMYW5lLCBldmVudFRpbWUpO1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290LCBldmVudFRpbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJldHJ5RGVoeWRyYXRlZFN1c3BlbnNlQm91bmRhcnkoYm91bmRhcnlGaWJlcikge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHJldHJ5TGFuZSA9IE5vTGFuZTtcblxuICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xuICAgIHJldHJ5TGFuZSA9IHN1c3BlbnNlU3RhdGUucmV0cnlMYW5lO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59XG5mdW5jdGlvbiByZXNvbHZlUmV0cnlXYWtlYWJsZShib3VuZGFyeUZpYmVyLCB3YWtlYWJsZSkge1xuICB2YXIgcmV0cnlMYW5lID0gTm9MYW5lOyAvLyBEZWZhdWx0XG5cbiAgdmFyIHJldHJ5Q2FjaGU7XG5cbiAgc3dpdGNoIChib3VuZGFyeUZpYmVyLnRhZykge1xuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGJvdW5kYXJ5RmliZXIubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0cnlMYW5lID0gc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICByZXRyeUNhY2hlID0gYm91bmRhcnlGaWJlci5zdGF0ZU5vZGU7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BpbmdlZCB1bmtub3duIHN1c3BlbnNlIGJvdW5kYXJ5IHR5cGUuICcgKyAnVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiBSZWFjdC4nKTtcbiAgfVxuXG4gIGlmIChyZXRyeUNhY2hlICE9PSBudWxsKSB7XG4gICAgLy8gVGhlIHdha2VhYmxlIHJlc29sdmVkLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBtZW1vaXplLCBiZWNhdXNlIGl0IHdpbGxcbiAgICAvLyBuZXZlciBiZSB0aHJvd24gYWdhaW4uXG4gICAgcmV0cnlDYWNoZS5kZWxldGUod2FrZWFibGUpO1xuICB9XG5cbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5TGFuZSk7XG59IC8vIENvbXB1dGVzIHRoZSBuZXh0IEp1c3QgTm90aWNlYWJsZSBEaWZmZXJlbmNlIChKTkQpIGJvdW5kYXJ5LlxuLy8gVGhlIHRoZW9yeSBpcyB0aGF0IGEgcGVyc29uIGNhbid0IHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzbWFsbCBkaWZmZXJlbmNlcyBpbiB0aW1lLlxuLy8gVGhlcmVmb3JlLCBpZiB3ZSB3YWl0IGEgYml0IGxvbmdlciB0aGFuIG5lY2Vzc2FyeSB0aGF0IHdvbid0IHRyYW5zbGF0ZSB0byBhIG5vdGljZWFibGVcbi8vIGRpZmZlcmVuY2UgaW4gdGhlIGV4cGVyaWVuY2UuIEhvd2V2ZXIsIHdhaXRpbmcgZm9yIGxvbmdlciBtaWdodCBtZWFuIHRoYXQgd2UgY2FuIGF2b2lkXG4vLyBzaG93aW5nIGFuIGludGVybWVkaWF0ZSBsb2FkaW5nIHN0YXRlLiBUaGUgbG9uZ2VyIHdlIGhhdmUgYWxyZWFkeSB3YWl0ZWQsIHRoZSBoYXJkZXIgaXRcbi8vIGlzIHRvIHRlbGwgc21hbGwgZGlmZmVyZW5jZXMgaW4gdGltZS4gVGhlcmVmb3JlLCB0aGUgbG9uZ2VyIHdlJ3ZlIGFscmVhZHkgd2FpdGVkLFxuLy8gdGhlIGxvbmdlciB3ZSBjYW4gd2FpdCBhZGRpdGlvbmFsbHkuIEF0IHNvbWUgcG9pbnQgd2UgaGF2ZSB0byBnaXZlIHVwIHRob3VnaC5cbi8vIFdlIHBpY2sgYSB0cmFpbiBtb2RlbCB3aGVyZSB0aGUgbmV4dCBib3VuZGFyeSBjb21taXRzIGF0IGEgY29uc2lzdGVudCBzY2hlZHVsZS5cbi8vIFRoZXNlIHBhcnRpY3VsYXIgbnVtYmVycyBhcmUgdmFndWUgZXN0aW1hdGVzLiBXZSBleHBlY3QgdG8gYWRqdXN0IHRoZW0gYmFzZWQgb24gcmVzZWFyY2guXG5cbmZ1bmN0aW9uIGpuZCh0aW1lRWxhcHNlZCkge1xuICByZXR1cm4gdGltZUVsYXBzZWQgPCAxMjAgPyAxMjAgOiB0aW1lRWxhcHNlZCA8IDQ4MCA/IDQ4MCA6IHRpbWVFbGFwc2VkIDwgMTA4MCA/IDEwODAgOiB0aW1lRWxhcHNlZCA8IDE5MjAgPyAxOTIwIDogdGltZUVsYXBzZWQgPCAzMDAwID8gMzAwMCA6IHRpbWVFbGFwc2VkIDwgNDMyMCA/IDQzMjAgOiBjZWlsKHRpbWVFbGFwc2VkIC8gMTk2MCkgKiAxOTYwO1xufVxuXG5mdW5jdGlvbiBjaGVja0Zvck5lc3RlZFVwZGF0ZXMoKSB7XG4gIGlmIChuZXN0ZWRVcGRhdGVDb3VudCA+IE5FU1RFRF9VUERBVEVfTElNSVQpIHtcbiAgICBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgJ3JlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgJyArICdjb21wb25lbnREaWRVcGRhdGUuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCB1cGRhdGVzIHRvICcgKyAncHJldmVudCBpbmZpbml0ZSBsb29wcy4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAobmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID4gTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUKSB7XG4gICAgICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhQYXNzaXZlTmVzdGVkVXBkYXRlcyA9IG51bGw7XG5cbiAgICAgIGVycm9yKCdNYXhpbXVtIHVwZGF0ZSBkZXB0aCBleGNlZWRlZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBjb21wb25lbnQgJyArIFwiY2FsbHMgc2V0U3RhdGUgaW5zaWRlIHVzZUVmZmVjdCwgYnV0IHVzZUVmZmVjdCBlaXRoZXIgZG9lc24ndCBcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCkge1xuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hMZWdhY3lDb250ZXh0V2FybmluZygpO1xuXG4gICAge1xuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RG91YmxlSW52b2tlRWZmZWN0c0luREVWKGZpYmVyLCBoYXNQYXNzaXZlRWZmZWN0cykge1xuICB7XG4gICAgLy8gVE9ETyAoU3RyaWN0RWZmZWN0cykgU2hvdWxkIHdlIHNldCBhIG1hcmtlciBvbiB0aGUgcm9vdCBpZiBpdCBjb250YWlucyBzdHJpY3QgZWZmZWN0c1xuICAgIC8vIHNvIHdlIGRvbid0IHRyYXZlcnNlIHVubmVjZXNzYXJpbHk/IHNpbWlsYXIgdG8gc3VidHJlZUZsYWdzIGJ1dCBqdXN0IGF0IHRoZSByb290IGxldmVsLlxuICAgIC8vIE1heWJlIG5vdCBhIGJpZyBkZWFsIHNpbmNlIHRoaXMgaXMgREVWIG9ubHkgYmVoYXZpb3IuXG4gICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50TGF5b3V0RGV2LCBpbnZva2VMYXlvdXRFZmZlY3RVbm1vdW50SW5ERVYpO1xuXG4gICAgaWYgKGhhc1Bhc3NpdmVFZmZlY3RzKSB7XG4gICAgICBpbnZva2VFZmZlY3RzSW5EZXYoZmliZXIsIE1vdW50UGFzc2l2ZURldiwgaW52b2tlUGFzc2l2ZUVmZmVjdFVubW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgaW52b2tlRWZmZWN0c0luRGV2KGZpYmVyLCBNb3VudExheW91dERldiwgaW52b2tlTGF5b3V0RWZmZWN0TW91bnRJbkRFVik7XG5cbiAgICBpZiAoaGFzUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgIGludm9rZUVmZmVjdHNJbkRldihmaWJlciwgTW91bnRQYXNzaXZlRGV2LCBpbnZva2VQYXNzaXZlRWZmZWN0TW91bnRJbkRFVik7XG4gICAgfVxuXG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZva2VFZmZlY3RzSW5EZXYoZmlyc3RDaGlsZCwgZmliZXJGbGFncywgaW52b2tlRWZmZWN0Rm4pIHtcbiAge1xuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmUtY2hlY2sgU3RyaWN0RWZmZWN0c01vZGUgaGVyZS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGlmIHRoYXQgY2hlY2sgaGFzIGFscmVhZHkgcGFzc2VkLlxuICAgIHZhciBjdXJyZW50ID0gZmlyc3RDaGlsZDtcbiAgICB2YXIgc3VidHJlZVJvb3QgPSBudWxsO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIHZhciBwcmltYXJ5U3VidHJlZUZsYWcgPSBjdXJyZW50LnN1YnRyZWVGbGFncyAmIGZpYmVyRmxhZ3M7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBzdWJ0cmVlUm9vdCAmJiBjdXJyZW50LmNoaWxkICE9PSBudWxsICYmIHByaW1hcnlTdWJ0cmVlRmxhZyAhPT0gTm9GbGFncykge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICgoY3VycmVudC5mbGFncyAmIGZpYmVyRmxhZ3MpICE9PSBOb0ZsYWdzKSB7XG4gICAgICAgICAgaW52b2tlRWZmZWN0Rm4oY3VycmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudC5zaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQuc2libGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50ID0gc3VidHJlZVJvb3QgPSBjdXJyZW50LnJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCA9IG51bGw7XG5mdW5jdGlvbiB3YXJuQWJvdXRVcGRhdGVPbk5vdFlldE1vdW50ZWRGaWJlckluREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBXZSBsZXQgdGhlIG90aGVyIHdhcm5pbmcgYWJvdXQgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgZGVhbCB3aXRoIHRoaXMgb25lLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdGFnID0gZmliZXIudGFnO1xuXG4gICAgaWYgKHRhZyAhPT0gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCAmJiB0YWcgIT09IEhvc3RSb290ICYmIHRhZyAhPT0gQ2xhc3NDb21wb25lbnQgJiYgdGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiB0YWcgIT09IEZvcndhcmRSZWYgJiYgdGFnICE9PSBNZW1vQ29tcG9uZW50ICYmIHRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCkge1xuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFdlIHNob3cgdGhlIHdob2xlIHN0YWNrIGJ1dCBkZWR1cGUgb24gdGhlIHRvcCBjb21wb25lbnQncyBuYW1lIGJlY2F1c2VcbiAgICAvLyB0aGUgcHJvYmxlbWF0aWMgY29kZSBhbG1vc3QgYWx3YXlzIGxpZXMgaW5zaWRlIHRoYXQgY29tcG9uZW50LlxuXG5cbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdSZWFjdENvbXBvbmVudCc7XG5cbiAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yTm90WWV0TW91bnRlZENvbXBvbmVudC5hZGQoY29tcG9uZW50TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvck5vdFlldE1vdW50ZWRDb21wb25lbnQgPSBuZXcgU2V0KFtjb21wb25lbnROYW1lXSk7XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgdHJ5IHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihmaWJlcik7XG5cbiAgICAgIGVycm9yKFwiQ2FuJ3QgcGVyZm9ybSBhIFJlYWN0IHN0YXRlIHVwZGF0ZSBvbiBhIGNvbXBvbmVudCB0aGF0IGhhc24ndCBtb3VudGVkIHlldC4gXCIgKyAnVGhpcyBpbmRpY2F0ZXMgdGhhdCB5b3UgaGF2ZSBhIHNpZGUtZWZmZWN0IGluIHlvdXIgcmVuZGVyIGZ1bmN0aW9uIHRoYXQgJyArICdhc3luY2hyb25vdXNseSBsYXRlciBjYWxscyB0cmllcyB0byB1cGRhdGUgdGhlIGNvbXBvbmVudC4gTW92ZSB0aGlzIHdvcmsgdG8gJyArICd1c2VFZmZlY3QgaW5zdGVhZC4nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHByZXZpb3VzRmliZXIpIHtcbiAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG52YXIgYmVnaW5Xb3JrJDE7XG5cbntcbiAgdmFyIGR1bW15RmliZXIgPSBudWxsO1xuXG4gIGJlZ2luV29yayQxID0gZnVuY3Rpb24gKGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKSB7XG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XG4gICAgLy8gZGlzcGF0Y2hlZCBldmVudCwgc28gdGhhdCB0aGUgZGVidWdnZXIgd2lsbCB0cmVhdCBpdCBhcyBhbiB1bmNhdWdodFxuICAgIC8vIGVycm9yIFNlZSBSZWFjdEVycm9yVXRpbHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcbiAgICAvLyBmaWJlci4gSWYgYmVnaW5Xb3JrIHRocm93cywgd2UnbGwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIHN0YXRlLlxuICAgIHZhciBvcmlnaW5hbFdvcmtJblByb2dyZXNzQ29weSA9IGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKGR1bW15RmliZXIsIHVuaXRPZldvcmspO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBiZWdpbldvcmsoY3VycmVudCwgdW5pdE9mV29yaywgbGFuZXMpO1xuICAgIH0gY2F0Y2ggKG9yaWdpbmFsRXJyb3IpIHtcbiAgICAgIGlmIChkaWRTdXNwZW5kT3JFcnJvcldoaWxlSHlkcmF0aW5nREVWKCkgfHwgb3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBEb24ndCByZXBsYXkgcHJvbWlzZXMuXG4gICAgICAgIC8vIERvbid0IHJlcGxheSBlcnJvcnMgaWYgd2UgYXJlIGh5ZHJhdGluZyBhbmQgaGF2ZSBhbHJlYWR5IHN1c3BlbmRlZCBvciBoYW5kbGVkIGFuIGVycm9yXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XG4gICAgICB9IC8vIEtlZXAgdGhpcyBjb2RlIGluIHN5bmMgd2l0aCBoYW5kbGVFcnJvcjsgYW55IGNoYW5nZXMgaGVyZSBtdXN0IGhhdmVcbiAgICAgIC8vIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0aGVyZS5cblxuXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXG4gICAgICAvLyBzYW1lIGZpYmVyIGFnYWluLlxuICAgICAgLy8gVW53aW5kIHRoZSBmYWlsZWQgc3RhY2sgZnJhbWVcblxuICAgICAgdW53aW5kSW50ZXJydXB0ZWRXb3JrKGN1cnJlbnQsIHVuaXRPZldvcmspOyAvLyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0aWVzIG9mIHRoZSBmaWJlci5cblxuICAgICAgYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodW5pdE9mV29yaywgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkpO1xuXG4gICAgICBpZiAoIHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIC8vIFJlc2V0IHRoZSBwcm9maWxlciB0aW1lci5cbiAgICAgICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgICAgfSAvLyBSdW4gYmVnaW5Xb3JrIGFnYWluLlxuXG5cbiAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBiZWdpbldvcmssIG51bGwsIGN1cnJlbnQsIHVuaXRPZldvcmssIGxhbmVzKTtcblxuICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcbiAgICAgICAgdmFyIHJlcGxheUVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGF5RXJyb3IgPT09ICdvYmplY3QnICYmIHJlcGxheUVycm9yICE9PSBudWxsICYmIHJlcGxheUVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRXJyb3IgIT09IG51bGwgJiYgIW9yaWdpbmFsRXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xuICAgICAgICAgIC8vIElmIHN1cHByZXNzZWQsIGxldCB0aGUgZmxhZyBjYXJyeSBvdmVyIHRvIHRoZSBvcmlnaW5hbCBlcnJvciB3aGljaCBpcyB0aGUgb25lIHdlJ2xsIHJldGhyb3cuXG4gICAgICAgICAgb3JpZ2luYWxFcnJvci5fc3VwcHJlc3NMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBXZSBhbHdheXMgdGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yIGluIGNhc2UgdGhlIHNlY29uZCByZW5kZXIgcGFzcyBpcyBub3QgaWRlbXBvdGVudC5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiBhIG1lbW9pemVkIGZ1bmN0aW9uIG9yIENvbW1vbkpTIG1vZHVsZSBkb2Vzbid0IHRocm93IGFmdGVyIGZpcnN0IGludm9jYXRpb24uXG5cblxuICAgICAgdGhyb3cgb3JpZ2luYWxFcnJvcjtcbiAgICB9XG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IGZhbHNlO1xudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcblxue1xuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XG59XG5cbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoaXNSZW5kZXJpbmcgJiYgIWdldElzVXBkYXRpbmdPcGFxdWVWYWx1ZUluUmVuZGVyUGhhc2VJbkRFVigpKSB7XG4gICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgcmVuZGVyaW5nQ29tcG9uZW50TmFtZSA9IHdvcmtJblByb2dyZXNzICYmIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIod29ya0luUHJvZ3Jlc3MpIHx8ICdVbmtub3duJzsgLy8gRGVkdXBlIGJ5IHRoZSByZW5kZXJpbmcgY29tcG9uZW50IGJlY2F1c2UgaXQncyB0aGUgb25lIHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQuXG5cbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xuXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudC5oYXMoZGVkdXBlS2V5KSkge1xuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XG4gICAgICAgICAgICAgIHZhciBzZXRTdGF0ZUNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKGZpYmVyKSB8fCAnVW5rbm93bic7XG5cbiAgICAgICAgICAgICAgZXJyb3IoJ0Nhbm5vdCB1cGRhdGUgYSBjb21wb25lbnQgKGAlc2ApIHdoaWxlIHJlbmRlcmluZyBhICcgKyAnZGlmZmVyZW50IGNvbXBvbmVudCAoYCVzYCkuIFRvIGxvY2F0ZSB0aGUgYmFkIHNldFN0YXRlKCkgY2FsbCBpbnNpZGUgYCVzYCwgJyArICdmb2xsb3cgdGhlIHN0YWNrIHRyYWNlIGFzIGRlc2NyaWJlZCBpbiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlcikge1xuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XG5cbiAgICAgICAgICAgICAgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVQZW5kaW5nVXBkYXRlcnMocm9vdCwgbGFuZXMpIHtcbiAge1xuICAgIGlmIChpc0RldlRvb2xzUHJlc2VudCkge1xuICAgICAgdmFyIG1lbW9pemVkVXBkYXRlcnMgPSByb290Lm1lbW9pemVkVXBkYXRlcnM7XG4gICAgICBtZW1vaXplZFVwZGF0ZXJzLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxpbmdGaWJlcikge1xuICAgICAgICBhZGRGaWJlclRvTGFuZXNNYXAocm9vdCwgc2NoZWR1bGluZ0ZpYmVyLCBsYW5lcyk7XG4gICAgICB9KTsgLy8gVGhpcyBmdW5jdGlvbiBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGNsZWFyIG1lbW9pemVkIHVwZGF0ZXJzLlxuICAgICAgLy8gVGhvc2UgbWF5IHN0aWxsIGJlIHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IGNvbW1pdFxuICAgICAgLy8gYW5kIGEgZnV0dXJlIG9uZSAoZS5nLiBTdXNwZW5zZSkuXG4gICAgfVxuICB9XG59XG52YXIgZmFrZUFjdENhbGxiYWNrTm9kZSA9IHt9O1xuXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrJDEocHJpb3JpdHlMZXZlbCwgY2FsbGJhY2spIHtcbiAge1xuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBpbnNpZGUgYW4gYGFjdGAgc2NvcGUsIGJ5cGFzcyBTY2hlZHVsZXIgYW5kIHB1c2ggdG9cbiAgICAvLyB0aGUgYGFjdGAgcXVldWUgaW5zdGVhZC5cbiAgICB2YXIgYWN0UXVldWUgPSBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQ7XG5cbiAgICBpZiAoYWN0UXVldWUgIT09IG51bGwpIHtcbiAgICAgIGFjdFF1ZXVlLnB1c2goY2FsbGJhY2spO1xuICAgICAgcmV0dXJuIGZha2VBY3RDYWxsYmFja05vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUNhbGxiYWNrKHByaW9yaXR5TGV2ZWwsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsQ2FsbGJhY2skMShjYWxsYmFja05vZGUpIHtcbiAgaWYgKCBjYWxsYmFja05vZGUgPT09IGZha2VBY3RDYWxsYmFja05vZGUpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gSW4gcHJvZHVjdGlvbiwgYWx3YXlzIGNhbGwgU2NoZWR1bGVyLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgc3RyaXBwZWQgb3V0LlxuXG5cbiAgcmV0dXJuIGNhbmNlbENhbGxiYWNrKGNhbGxiYWNrTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEZvcmNlRmx1c2hGYWxsYmFja3NJbkRFVigpIHtcbiAgLy8gTmV2ZXIgZm9yY2UgZmx1c2ggaW4gcHJvZHVjdGlvbi4gVGhpcyBmdW5jdGlvbiBzaG91bGQgZ2V0IHN0cmlwcGVkIG91dC5cbiAgcmV0dXJuICBSZWFjdEN1cnJlbnRBY3RRdWV1ZSQxLmN1cnJlbnQgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlVwZGF0ZXNOb3RXcmFwcGVkV2l0aEFjdERFVihmaWJlcikge1xuICB7XG4gICAgaWYgKGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgaWYgKCFpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgIC8vIE5vdCBpbiBhbiBhY3QgZW52aXJvbm1lbnQuIE5vIG5lZWQgdG8gd2Fybi5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMZWdhY3kgbW9kZSBoYXMgYWRkaXRpb25hbCBjYXNlcyB3aGVyZSB3ZSBzdXBwcmVzcyBhIHdhcm5pbmcuXG4gICAgICBpZiAoIWlzTGVnYWN5QWN0RW52aXJvbm1lbnQoKSkge1xuICAgICAgICAvLyBOb3QgaW4gYW4gYWN0IGVudmlyb25tZW50LiBObyBuZWVkIHRvIHdhcm4uXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgIT09IE5vQ29udGV4dCkge1xuICAgICAgICAvLyBMZWdhY3kgbW9kZSBkb2Vzbid0IHdhcm4gaWYgdGhlIHVwZGF0ZSBpcyBiYXRjaGVkLCBpLmUuXG4gICAgICAgIC8vIGJhdGNoZWRVcGRhdGVzIG9yIGZsdXNoU3luYy5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmliZXIudGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiBmaWJlci50YWcgIT09IEZvcndhcmRSZWYgJiYgZmliZXIudGFnICE9PSBTaW1wbGVNZW1vQ29tcG9uZW50KSB7XG4gICAgICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHByZS1ob29rcyBjb2RlLCBsZWdhY3kgbW9kZSBvbmx5XG4gICAgICAgIC8vIHdhcm5zIGZvciB1cGRhdGVzIHRoYXQgb3JpZ2luYXRlIGZyb20gYSBob29rLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICB0cnkge1xuICAgICAgICBzZXRDdXJyZW50RmliZXIoZmliZXIpO1xuXG4gICAgICAgIGVycm9yKCdBbiB1cGRhdGUgdG8gJXMgaW5zaWRlIGEgdGVzdCB3YXMgbm90IHdyYXBwZWQgaW4gYWN0KC4uLikuXFxuXFxuJyArICdXaGVuIHRlc3RpbmcsIGNvZGUgdGhhdCBjYXVzZXMgUmVhY3Qgc3RhdGUgdXBkYXRlcyBzaG91bGQgYmUgJyArICd3cmFwcGVkIGludG8gYWN0KC4uLik6XFxuXFxuJyArICdhY3QoKCkgPT4ge1xcbicgKyAnICAvKiBmaXJlIGV2ZW50cyB0aGF0IHVwZGF0ZSBzdGF0ZSAqL1xcbicgKyAnfSk7XFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcblxcbicgKyBcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXCIgKyAnaW4gdGhlIGJyb3dzZXIuJyArICcgTGVhcm4gbW9yZSBhdCBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd3JhcC10ZXN0cy13aXRoLWFjdCcsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpYmVyKSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGZpYmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN1c3BlbnNlUmVzb2x1dGlvbk5vdFdyYXBwZWRXaXRoQWN0REVWKHJvb3QpIHtcbiAge1xuICAgIGlmIChyb290LnRhZyAhPT0gTGVnYWN5Um9vdCAmJiBpc0NvbmN1cnJlbnRBY3RFbnZpcm9ubWVudCgpICYmIFJlYWN0Q3VycmVudEFjdFF1ZXVlJDEuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0Egc3VzcGVuZGVkIHJlc291cmNlIGZpbmlzaGVkIGxvYWRpbmcgaW5zaWRlIGEgdGVzdCwgYnV0IHRoZSBldmVudCAnICsgJ3dhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IHJlc29sdmVzIHN1c3BlbmRlZCBkYXRhIHNob3VsZCBiZSB3cmFwcGVkICcgKyAnaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpbmlzaCBsb2FkaW5nIHN1c3BlbmRlZCBkYXRhICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93cmFwLXRlc3RzLXdpdGgtYWN0Jyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHNldElzUnVubmluZ0luc2VydGlvbkVmZmVjdChpc1J1bm5pbmcpIHtcbiAge1xuICAgIGlzUnVubmluZ0luc2VydGlvbkVmZmVjdCA9IGlzUnVubmluZztcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9wcm9kLWVycm9yLWNvZGVzICovXG52YXIgcmVzb2x2ZUZhbWlseSA9IG51bGw7IC8vICRGbG93Rml4TWUgRmxvdyBnZXRzIGNvbmZ1c2VkIGJ5IGEgV2Vha1NldCBmZWF0dXJlIGNoZWNrIGJlbG93LlxuXG52YXIgZmFpbGVkQm91bmRhcmllcyA9IG51bGw7XG52YXIgc2V0UmVmcmVzaEhhbmRsZXIgPSBmdW5jdGlvbiAoaGFuZGxlcikge1xuICB7XG4gICAgcmVzb2x2ZUZhbWlseSA9IGhhbmRsZXI7XG4gIH1cbn07XG5mdW5jdGlvbiByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcblxuICAgIGlmIChmYW1pbHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xuICAvLyBObyBpbXBsZW1lbnRhdGlvbiBkaWZmZXJlbmNlcy5cbiAgcmV0dXJuIHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdmFyIGZhbWlseSA9IHJlc29sdmVGYW1pbHkodHlwZSk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHJlYWwgZm9yd2FyZFJlZi4gRG9uJ3Qgd2FudCB0byBjcmFzaCBlYXJseS5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gRm9yd2FyZFJlZiBpcyBzcGVjaWFsIGJlY2F1c2UgaXRzIHJlc29sdmVkIC50eXBlIGlzIGFuIG9iamVjdCxcbiAgICAgICAgLy8gYnV0IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBvbmx5IGhhdmUgaXRzIGlubmVyIHJlbmRlciBmdW5jdGlvbiBpbiB0aGUgbWFwLlxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cbiAgICAgICAgdmFyIGN1cnJlbnRSZW5kZXIgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZS5yZW5kZXIpO1xuXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xuICAgICAgICAgIHZhciBzeW50aGV0aWNUeXBlID0ge1xuICAgICAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUsXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc3ludGhldGljVHlwZS5kaXNwbGF5TmFtZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHN5bnRoZXRpY1R5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cblxuXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICB9XG59XG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBwcmV2VHlwZSA9IGZpYmVyLmVsZW1lbnRUeXBlO1xuICAgIHZhciBuZXh0VHlwZSA9IGVsZW1lbnQudHlwZTsgLy8gSWYgd2UgZ290IGhlcmUsIHdlIGtub3cgdHlwZXMgYXJlbid0ID09PSBlcXVhbC5cblxuICAgIHZhciBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IGZhbHNlO1xuICAgIHZhciAkJHR5cGVvZk5leHRUeXBlID0gdHlwZW9mIG5leHRUeXBlID09PSAnb2JqZWN0JyAmJiBuZXh0VHlwZSAhPT0gbnVsbCA/IG5leHRUeXBlLiQkdHlwZW9mIDogbnVsbDtcblxuICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5leHRUeXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IGtub3cgdGhlIGlubmVyIHR5cGUgeWV0LlxuICAgICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoYXQgdGhlIGxhenkgaW5uZXIgdHlwZSBpcyBzdGFibGUsXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxuICAgICAgICAgICAgLy8gV2UncmUgbm90IGdvaW5nIHRvIHVud3JhcCBvciBhY3R1YWxseSB1c2UgdGhlIG5ldyBsYXp5IHR5cGUuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IGlmIGl0IHdhcyBidXQgY2FuIG5vIGxvbmdlciBiZSBzaW1wbGUsXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBDaGVjayBpZiBib3RoIHR5cGVzIGhhdmUgYSBmYW1pbHkgYW5kIGl0J3MgdGhlIHNhbWUgb25lLlxuXG5cbiAgICBpZiAobmVlZHNDb21wYXJlRmFtaWxpZXMpIHtcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgYm90aCBvZiB0aGVtIG5lZWQgdG8gYmUgcmVnaXN0ZXJlZCB0byBwcmVzZXJ2ZSBzdGF0ZS5cbiAgICAgIC8vIElmIHdlIHVud3JhcHBlZCBhbmQgY29tcGFyZWQgdGhlIGlubmVyIHR5cGVzIGZvciB3cmFwcGVycyBpbnN0ZWFkLFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcbiAgICAgIC8vIGNhbGxzIGFyZSBlcXVpdmFsZW50IGJlY2F1c2UgdGhleSB3cmFwIHRoZSBzYW1lIEZvbyBmdW5jdGlvbi5cbiAgICAgIHZhciBwcmV2RmFtaWx5ID0gcmVzb2x2ZUZhbWlseShwcmV2VHlwZSk7XG5cbiAgICAgIGlmIChwcmV2RmFtaWx5ICE9PSB1bmRlZmluZWQgJiYgcHJldkZhbWlseSA9PT0gcmVzb2x2ZUZhbWlseShuZXh0VHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcikge1xuICB7XG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBXZWFrU2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZhaWxlZEJvdW5kYXJpZXMgPT09IG51bGwpIHtcbiAgICAgIGZhaWxlZEJvdW5kYXJpZXMgPSBuZXcgV2Vha1NldCgpO1xuICAgIH1cblxuICAgIGZhaWxlZEJvdW5kYXJpZXMuYWRkKGZpYmVyKTtcbiAgfVxufVxudmFyIHNjaGVkdWxlUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCB1cGRhdGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBzdGFsZUZhbWlsaWVzID0gdXBkYXRlLnN0YWxlRmFtaWxpZXMsXG4gICAgICAgIHVwZGF0ZWRGYW1pbGllcyA9IHVwZGF0ZS51cGRhdGVkRmFtaWxpZXM7XG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHJvb3QuY3VycmVudCwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9KTtcbiAgfVxufTtcbnZhciBzY2hlZHVsZVJvb3QgPSBmdW5jdGlvbiAocm9vdCwgZWxlbWVudCkge1xuICB7XG4gICAgaWYgKHJvb3QuY29udGV4dCAhPT0gZW1wdHlDb250ZXh0T2JqZWN0KSB7XG4gICAgICAvLyBTdXBlciBlZGdlIGNhc2U6IHJvb3QgaGFzIGEgbGVnYWN5IF9yZW5kZXJTdWJ0cmVlIGNvbnRleHRcbiAgICAgIC8vIGJ1dCB3ZSBkb24ndCBrbm93IHRoZSBwYXJlbnRDb21wb25lbnQgc28gd2UgY2FuJ3QgcGFzcyBpdC5cbiAgICAgIC8vIEp1c3QgaWdub3JlLiBXZSdsbCBkZWxldGUgdGhpcyB3aXRoIF9yZW5kZXJTdWJ0cmVlIGNvZGUgcGF0aCBsYXRlci5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XG4gICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlLFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHJlc29sdmVGYW1pbHkgdG8gYmUgc2V0IGR1cmluZyBob3QgcmVsb2FkLicpO1xuICAgIH1cblxuICAgIHZhciBuZWVkc1JlbmRlciA9IGZhbHNlO1xuICAgIHZhciBuZWVkc1JlbW91bnQgPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseShjYW5kaWRhdGVUeXBlKTtcblxuICAgICAgaWYgKGZhbWlseSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzdGFsZUZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGVkRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICBpZiAodGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNSZW5kZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzICE9PSBudWxsKSB7XG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XG4gICAgICAgIG5lZWRzUmVtb3VudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZWRzUmVtb3VudCkge1xuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XG4gICAgICB2YXIgX3Jvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgICAgaWYgKF9yb290ICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihfcm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsICYmICFuZWVkc1JlbW91bnQpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoY2hpbGQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoc2libGluZywgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCBmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGhvc3RJbnN0YW5jZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHR5cGVzID0gbmV3IFNldChmYW1pbGllcy5tYXAoZnVuY3Rpb24gKGZhbWlseSkge1xuICAgICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xuICAgIH0pKTtcbiAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgcmV0dXJuIGhvc3RJbnN0YW5jZXM7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShmaWJlciwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBkaWRNYXRjaCA9IGZhbHNlO1xuXG4gICAgaWYgKGNhbmRpZGF0ZVR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlcy5oYXMoY2FuZGlkYXRlVHlwZSkpIHtcbiAgICAgICAgZGlkTWF0Y2ggPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkaWRNYXRjaCkge1xuICAgICAgLy8gV2UgaGF2ZSBhIG1hdGNoLiBUaGlzIG9ubHkgZHJpbGxzIGRvd24gdG8gdGhlIGNsb3Nlc3QgaG9zdCBjb21wb25lbnRzLlxuICAgICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIHNlYXJjaCBkZWVwZXIgYmVjYXVzZSBmb3IgdGhlIHB1cnBvc2Ugb2YgZ2l2aW5nXG4gICAgICAvLyB2aXN1YWwgZmVlZGJhY2ssIFwiZmxhc2hpbmdcIiBvdXRlcm1vc3QgcGFyZW50IHJlY3RhbmdsZXMgaXMgc3VmZmljaWVudC5cbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIG5vIG1hdGNoLCBtYXliZSB0aGVyZSB3aWxsIGJlIG9uZSBmdXJ0aGVyIGRvd24gaW4gdGhlIGNoaWxkIHRyZWUuXG4gICAgICBpZiAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGNoaWxkLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShzaWJsaW5nLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBmb3VuZEhvc3RJbnN0YW5jZXMgPSBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xuXG4gICAgaWYgKGZvdW5kSG9zdEluc3RhbmNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55IGhvc3QgY2hpbGRyZW4sIGZhbGxiYWNrIHRvIGNsb3Nlc3QgaG9zdCBwYXJlbnQuXG5cblxuICAgIHZhciBub2RlID0gZmliZXI7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgc3dpdGNoIChub2RlLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byByZWFjaCByb290IGZpcnN0LicpO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xuICB7XG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50KSB7XG4gICAgICAgIC8vIFdlIGdvdCBhIG1hdGNoLlxuICAgICAgICBmb3VuZEhvc3RJbnN0YW5jZXMgPSB0cnVlO1xuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpYmVyKSB7XG4gICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xuICAgICAgICAgIHJldHVybiBmb3VuZEhvc3RJbnN0YW5jZXM7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgaGFzQmFkTWFwUG9seWZpbGw7XG5cbntcbiAgaGFzQmFkTWFwUG9seWZpbGwgPSBmYWxzZTtcblxuICB0cnkge1xuICAgIHZhciBub25FeHRlbnNpYmxlT2JqZWN0ID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXcgKi9cblxuICAgIG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xuICAgIG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLW5ldyAqL1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gVE9ETzogQ29uc2lkZXIgd2FybmluZyBhYm91dCBiYWQgcG9seWZpbGxzXG4gICAgaGFzQmFkTWFwUG9seWZpbGwgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XG4gIC8vIEluc3RhbmNlXG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmtleSA9IGtleTtcbiAgdGhpcy5lbGVtZW50VHlwZSA9IG51bGw7XG4gIHRoaXMudHlwZSA9IG51bGw7XG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcblxuICB0aGlzLnJldHVybiA9IG51bGw7XG4gIHRoaXMuY2hpbGQgPSBudWxsO1xuICB0aGlzLnNpYmxpbmcgPSBudWxsO1xuICB0aGlzLmluZGV4ID0gMDtcbiAgdGhpcy5yZWYgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wcztcbiAgdGhpcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gIHRoaXMubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHRoaXMuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xuXG4gIHRoaXMuZmxhZ3MgPSBOb0ZsYWdzO1xuICB0aGlzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gIHRoaXMuZGVsZXRpb25zID0gbnVsbDtcbiAgdGhpcy5sYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuYWx0ZXJuYXRlID0gbnVsbDtcblxuICB7XG4gICAgLy8gTm90ZTogVGhlIGZvbGxvd2luZyBpcyBkb25lIHRvIGF2b2lkIGEgdjggcGVyZm9ybWFuY2UgY2xpZmYuXG4gICAgLy9cbiAgICAvLyBJbml0aWFsaXppbmcgdGhlIGZpZWxkcyBiZWxvdyB0byBzbWlzIGFuZCBsYXRlciB1cGRhdGluZyB0aGVtIHdpdGhcbiAgICAvLyBkb3VibGUgdmFsdWVzIHdpbGwgY2F1c2UgRmliZXJzIHRvIGVuZCB1cCBoYXZpbmcgc2VwYXJhdGUgc2hhcGVzLlxuICAgIC8vIFRoaXMgYmVoYXZpb3IvYnVnIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBPYmplY3QucHJldmVudEV4dGVuc2lvbigpLlxuICAgIC8vIEZvcnR1bmF0ZWx5IHRoaXMgb25seSBpbXBhY3RzIERFViBidWlsZHMuXG4gICAgLy8gVW5mb3J0dW5hdGVseSBpdCBtYWtlcyBSZWFjdCB1bnVzYWJseSBzbG93IGZvciBzb21lIGFwcGxpY2F0aW9ucy5cbiAgICAvLyBUbyB3b3JrIGFyb3VuZCB0aGlzLCBpbml0aWFsaXplIHRoZSBmaWVsZHMgYmVsb3cgd2l0aCBkb3VibGVzLlxuICAgIC8vXG4gICAgLy8gTGVhcm4gbW9yZSBhYm91dCB0aGlzIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDM2NVxuICAgIC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTg1MzhcbiAgICB0aGlzLmFjdHVhbER1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IE51bWJlci5OYU47XG4gICAgdGhpcy5zZWxmQmFzZUR1cmF0aW9uID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLnRyZWVCYXNlRHVyYXRpb24gPSBOdW1iZXIuTmFOOyAvLyBJdCdzIG9rYXkgdG8gcmVwbGFjZSB0aGUgaW5pdGlhbCBkb3VibGVzIHdpdGggc21pcyBhZnRlciBpbml0aWFsaXphdGlvbi5cbiAgICAvLyBUaGlzIHdvbid0IHRyaWdnZXIgdGhlIHBlcmZvcm1hbmNlIGNsaWZmIG1lbnRpb25lZCBhYm92ZSxcbiAgICAvLyBhbmQgaXQgc2ltcGxpZmllcyBvdGhlciBwcm9maWxlciBjb2RlIChpbmNsdWRpbmcgRGV2VG9vbHMpLlxuXG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IDA7XG4gICAgdGhpcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcbiAgICB0aGlzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgLy8gVGhpcyBpc24ndCBkaXJlY3RseSB1c2VkIGJ1dCBpcyBoYW5keSBmb3IgZGVidWdnaW5nIGludGVybmFsczpcbiAgICB0aGlzLl9kZWJ1Z1NvdXJjZSA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdPd25lciA9IG51bGw7XG4gICAgdGhpcy5fZGVidWdOZWVkc1JlbW91bnQgPSBmYWxzZTtcbiAgICB0aGlzLl9kZWJ1Z0hvb2tUeXBlcyA9IG51bGw7XG5cbiAgICBpZiAoIWhhc0JhZE1hcFBvbHlmaWxsICYmIHR5cGVvZiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0aGlzKTtcbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBhIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLCByYXRoZXIgdGhhbiBhIFBPSk8gY29uc3RydWN0b3IsIHN0aWxsXG4vLyBwbGVhc2UgZW5zdXJlIHdlIGRvIHRoZSBmb2xsb3dpbmc6XG4vLyAxKSBOb2JvZHkgc2hvdWxkIGFkZCBhbnkgaW5zdGFuY2UgbWV0aG9kcyBvbiB0aGlzLiBJbnN0YW5jZSBtZXRob2RzIGNhbiBiZVxuLy8gICAgbW9yZSBkaWZmaWN1bHQgdG8gcHJlZGljdCB3aGVuIHRoZXkgZ2V0IG9wdGltaXplZCBhbmQgdGhleSBhcmUgYWxtb3N0XG4vLyAgICBuZXZlciBpbmxpbmVkIHByb3Blcmx5IGluIHN0YXRpYyBjb21waWxlcnMuXG4vLyAyKSBOb2JvZHkgc2hvdWxkIHJlbHkgb24gYGluc3RhbmNlb2YgRmliZXJgIGZvciB0eXBlIHRlc3RpbmcuIFdlIHNob3VsZFxuLy8gICAgYWx3YXlzIGtub3cgd2hlbiBpdCBpcyBhIGZpYmVyLlxuLy8gMykgV2UgbWlnaHQgd2FudCB0byBleHBlcmltZW50IHdpdGggdXNpbmcgbnVtZXJpYyBrZXlzIHNpbmNlIHRoZXkgYXJlIGVhc2llclxuLy8gICAgdG8gb3B0aW1pemUgaW4gYSBub24tSklUIGVudmlyb25tZW50LlxuLy8gNCkgV2UgY2FuIGVhc2lseSBnbyBmcm9tIGEgY29uc3RydWN0b3IgdG8gYSBjcmVhdGVGaWJlciBvYmplY3QgbGl0ZXJhbCBpZiB0aGF0XG4vLyAgICBpcyBmYXN0ZXIuXG4vLyA1KSBJdCBzaG91bGQgYmUgZWFzeSB0byBwb3J0IHRoaXMgdG8gYSBDIHN0cnVjdCBhbmQga2VlcCBhIEMgaW1wbGVtZW50YXRpb25cbi8vICAgIGNvbXBhdGlibGUuXG5cblxudmFyIGNyZWF0ZUZpYmVyID0gZnVuY3Rpb24gKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpIHtcbiAgLy8gJEZsb3dGaXhNZTogdGhlIHNoYXBlcyBhcmUgZXhhY3QgaGVyZSBidXQgRmxvdyBkb2Vzbid0IGxpa2UgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgRmliZXJOb2RlKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xufTtcblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0JDEoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2hvdWxkQ29uc3RydWN0JDEodHlwZSkgJiYgdHlwZS5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHJlc29sdmVMYXp5Q29tcG9uZW50VGFnKENvbXBvbmVudCkge1xuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBzaG91bGRDb25zdHJ1Y3QkMShDb21wb25lbnQpID8gQ2xhc3NDb21wb25lbnQgOiBGdW5jdGlvbkNvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcbiAgICB2YXIgJCR0eXBlb2YgPSBDb21wb25lbnQuJCR0eXBlb2Y7XG5cbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcbiAgICAgIHJldHVybiBGb3J3YXJkUmVmO1xuICAgIH1cblxuICAgIGlmICgkJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICByZXR1cm4gTWVtb0NvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcbn0gLy8gVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBhbHRlcm5hdGUgZmliZXIgdG8gZG8gd29yayBvbi5cblxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XG4gIHZhciB3b3JrSW5Qcm9ncmVzcyA9IGN1cnJlbnQuYWx0ZXJuYXRlO1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xuICAgIC8vIFdlIHVzZSBhIGRvdWJsZSBidWZmZXJpbmcgcG9vbGluZyB0ZWNobmlxdWUgYmVjYXVzZSB3ZSBrbm93IHRoYXQgd2UnbGxcbiAgICAvLyBvbmx5IGV2ZXIgbmVlZCBhdCBtb3N0IHR3byB2ZXJzaW9ucyBvZiBhIHRyZWUuIFdlIHBvb2wgdGhlIFwib3RoZXJcIiB1bnVzZWRcbiAgICAvLyBub2RlIHRoYXQgd2UncmUgZnJlZSB0byByZXVzZS4gVGhpcyBpcyBsYXppbHkgY3JlYXRlZCB0byBhdm9pZCBhbGxvY2F0aW5nXG4gICAgLy8gZXh0cmEgb2JqZWN0cyBmb3IgdGhpbmdzIHRoYXQgYXJlIG5ldmVyIHVwZGF0ZWQuIEl0IGFsc28gYWxsb3cgdXMgdG9cbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxuICAgIHdvcmtJblByb2dyZXNzID0gY3JlYXRlRmliZXIoY3VycmVudC50YWcsIHBlbmRpbmdQcm9wcywgY3VycmVudC5rZXksIGN1cnJlbnQubW9kZSk7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPSBjdXJyZW50LmVsZW1lbnRUeXBlO1xuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3VycmVudC5zdGF0ZU5vZGU7XG5cbiAgICB7XG4gICAgICAvLyBERVYtb25seSBmaWVsZHNcbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z1NvdXJjZSA9IGN1cnJlbnQuX2RlYnVnU291cmNlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnT3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcbiAgICBjdXJyZW50LmFsdGVybmF0ZSA9IHdvcmtJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gTmVlZGVkIGJlY2F1c2UgQmxvY2tzIHN0b3JlIGRhdGEgb24gdHlwZS5cblxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7IC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBhbHRlcm5hdGUuXG4gICAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IE5vRmxhZ3M7IC8vIFRoZSBlZmZlY3RzIGFyZSBubyBsb25nZXIgdmFsaWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5zdWJ0cmVlRmxhZ3MgPSBOb0ZsYWdzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlbGV0aW9ucyA9IG51bGw7XG5cbiAgICB7XG4gICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IHJlc2V0LCByYXRoZXIgdGhhbiBjb3B5LCBhY3R1YWxEdXJhdGlvbiAmIGFjdHVhbFN0YXJ0VGltZS5cbiAgICAgIC8vIFRoaXMgcHJldmVudHMgdGltZSBmcm9tIGVuZGxlc3NseSBhY2N1bXVsYXRpbmcgaW4gbmV3IGNvbW1pdHMuXG4gICAgICAvLyBUaGlzIGhhcyB0aGUgZG93bnNpZGUgb2YgcmVzZXR0aW5nIHZhbHVlcyBmb3IgZGlmZmVyZW50IHByaW9yaXR5IHJlbmRlcnMsXG4gICAgICAvLyBCdXQgd29ya3MgZm9yIHlpZWxkaW5nICh0aGUgY29tbW9uIGNhc2UpIGFuZCBzaG91bGQgc3VwcG9ydCByZXN1bWluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gMDtcbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbFN0YXJ0VGltZSA9IC0xO1xuICAgIH1cbiAgfSAvLyBSZXNldCBhbGwgZWZmZWN0cyBleGNlcHQgc3RhdGljIG9uZXMuXG4gIC8vIFN0YXRpYyBlZmZlY3RzIGFyZSBub3Qgc3BlY2lmaWMgdG8gYSByZW5kZXIuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5mbGFncyA9IGN1cnJlbnQuZmxhZ3MgJiBTdGF0aWNNYXNrO1xuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZExhbmVzID0gY3VycmVudC5jaGlsZExhbmVzO1xuICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dFxuICB9OyAvLyBUaGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gZHVyaW5nIHRoZSBwYXJlbnQncyByZWNvbmNpbGlhdGlvblxuXG4gIHdvcmtJblByb2dyZXNzLnNpYmxpbmcgPSBjdXJyZW50LnNpYmxpbmc7XG4gIHdvcmtJblByb2dyZXNzLmluZGV4ID0gY3VycmVudC5pbmRleDtcbiAgd29ya0luUHJvZ3Jlc3MucmVmID0gY3VycmVudC5yZWY7XG5cbiAge1xuICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdOZWVkc1JlbW91bnQgPSBjdXJyZW50Ll9kZWJ1Z05lZWRzUmVtb3VudDtcblxuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59IC8vIFVzZWQgdG8gcmV1c2UgYSBGaWJlciBmb3IgYSBzZWNvbmQgcGFzcy5cblxuZnVuY3Rpb24gcmVzZXRXb3JrSW5Qcm9ncmVzcyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyTGFuZXMpIHtcbiAgLy8gVGhpcyByZXNldHMgdGhlIEZpYmVyIHRvIHdoYXQgY3JlYXRlRmliZXIgb3IgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGRcbiAgLy8gaGF2ZSBzZXQgdGhlIHZhbHVlcyB0byBiZWZvcmUgZHVyaW5nIHRoZSBmaXJzdCBwYXNzLiBJZGVhbGx5IHRoaXMgd291bGRuJ3RcbiAgLy8gYmUgbmVjZXNzYXJ5IGJ1dCB1bmZvcnR1bmF0ZWx5IG1hbnkgY29kZSBwYXRocyByZWFkcyBmcm9tIHRoZSB3b3JrSW5Qcm9ncmVzc1xuICAvLyB3aGVuIHRoZXkgc2hvdWxkIGJlIHJlYWRpbmcgZnJvbSBjdXJyZW50IGFuZCB3cml0aW5nIHRvIHdvcmtJblByb2dyZXNzLlxuICAvLyBXZSBhc3N1bWUgcGVuZGluZ1Byb3BzLCBpbmRleCwga2V5LCByZWYsIHJldHVybiBhcmUgc3RpbGwgdW50b3VjaGVkIHRvXG4gIC8vIGF2b2lkIGRvaW5nIGFub3RoZXIgcmVjb25jaWxpYXRpb24uXG4gIC8vIFJlc2V0IHRoZSBlZmZlY3QgZmxhZ3MgYnV0IGtlZXAgYW55IFBsYWNlbWVudCB0YWdzLCBzaW5jZSB0aGF0J3Mgc29tZXRoaW5nXG4gIC8vIHRoYXQgY2hpbGQgZmliZXIgaXMgc2V0dGluZywgbm90IHRoZSByZWNvbmNpbGlhdGlvbi5cbiAgd29ya0luUHJvZ3Jlc3MuZmxhZ3MgJj0gU3RhdGljTWFzayB8IFBsYWNlbWVudDsgLy8gVGhlIGVmZmVjdHMgYXJlIG5vIGxvbmdlciB2YWxpZC5cblxuICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIFJlc2V0IHRvIGNyZWF0ZUZpYmVyJ3MgaW5pdGlhbCB2YWx1ZXMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IE5vTGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MubGFuZXMgPSByZW5kZXJMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3Muc3VidHJlZUZsYWdzID0gTm9GbGFncztcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFJlc2V0IHRvIHRoZSBjbG9uZWQgdmFsdWVzIHRoYXQgY3JlYXRlV29ya0luUHJvZ3Jlc3Mgd291bGQndmUuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRMYW5lcyA9IGN1cnJlbnQuY2hpbGRMYW5lcztcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYW5lcyA9IGN1cnJlbnQubGFuZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjdXJyZW50LmNoaWxkO1xuICAgIHdvcmtJblByb2dyZXNzLnN1YnRyZWVGbGFncyA9IE5vRmxhZ3M7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVsZXRpb25zID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBOZWVkZWQgYmVjYXVzZSBCbG9ja3Mgc3RvcmUgZGF0YSBvbiB0eXBlLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IGN1cnJlbnQudHlwZTsgLy8gQ2xvbmUgdGhlIGRlcGVuZGVuY2llcyBvYmplY3QuIFRoaXMgaXMgbXV0YXRlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSwgc29cbiAgICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgICB2YXIgY3VycmVudERlcGVuZGVuY2llcyA9IGN1cnJlbnQuZGVwZW5kZW5jaWVzO1xuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xuICAgICAgbGFuZXM6IGN1cnJlbnREZXBlbmRlbmNpZXMubGFuZXMsXG4gICAgICBmaXJzdENvbnRleHQ6IGN1cnJlbnREZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0XG4gICAgfTtcblxuICAgIHtcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxuICAgICAgLy8gYWN0dWFsIHRpbWUgYWNyb3NzIG11bHRpcGxlIHJlbmRlciBwYXNzZXMuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHJlZUJhc2VEdXJhdGlvbiA9IGN1cnJlbnQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG59XG5mdW5jdGlvbiBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlKSB7XG4gIHZhciBtb2RlO1xuXG4gIGlmICh0YWcgPT09IENvbmN1cnJlbnRSb290KSB7XG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlO1xuXG4gICAgaWYgKGlzU3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICB7XG4gICAgICAgIG1vZGUgfD0gU3RyaWN0RWZmZWN0c01vZGU7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1vZGUgPSBOb01vZGU7XG4gIH1cblxuICBpZiAoIGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgLy8gQWx3YXlzIGNvbGxlY3QgcHJvZmlsZSB0aW1pbmdzIHdoZW4gRGV2VG9vbHMgYXJlIHByZXNlbnQuXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXG4gICAgLy8gV2l0aG91dCBzb21lIG5vZGVzIGluIHRoZSB0cmVlIGhhdmluZyBlbXB0eSBiYXNlIHRpbWVzLlxuICAgIG1vZGUgfD0gUHJvZmlsZU1vZGU7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRmliZXIoSG9zdFJvb3QsIG51bGwsIG51bGwsIG1vZGUpO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIC8vIFJlYWN0JEVsZW1lbnRUeXBlXG5rZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKSB7XG4gIHZhciBmaWJlclRhZyA9IEluZGV0ZXJtaW5hdGVDb21wb25lbnQ7IC8vIFRoZSByZXNvbHZlZCB0eXBlIGlzIHNldCBpZiB3ZSBrbm93IHdoYXQgdGhlIGZpbmFsIHR5cGUgd2lsbCBiZS4gSS5lLiBpdCdzIG5vdCBsYXp5LlxuXG4gIHZhciByZXNvbHZlZFR5cGUgPSB0eXBlO1xuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChzaG91bGRDb25zdHJ1Y3QkMSh0eXBlKSkge1xuICAgICAgZmliZXJUYWcgPSBDbGFzc0NvbXBvbmVudDtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGdldFRhZzogc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChwZW5kaW5nUHJvcHMuY2hpbGRyZW4sIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgIGZpYmVyVGFnID0gTW9kZTtcbiAgICAgICAgbW9kZSB8PSBTdHJpY3RMZWdhY3lNb2RlO1xuXG4gICAgICAgIGlmICggKG1vZGUgJiBDb25jdXJyZW50TW9kZSkgIT09IE5vTW9kZSkge1xuICAgICAgICAgIC8vIFN0cmljdCBlZmZlY3RzIHNob3VsZCBuZXZlciBydW4gb24gbGVnYWN5IHJvb3RzXG4gICAgICAgICAgbW9kZSB8PSBTdHJpY3RFZmZlY3RzTW9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbVN1c3BlbnNlTGlzdChwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX09GRlNDUkVFTl9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tT2Zmc2NyZWVuKHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEVHQUNZX0hJRERFTl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9TQ09QRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9DQUNIRV9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9UUkFDSU5HX01BUktFUl9UWVBFOlxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgICAgY2FzZSBSRUFDVF9ERUJVR19UUkFDSU5HX01PREVfVFlQRTpcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgYnJlYWsgZ2V0VGFnO1xuXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBjb25zdW1lclxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQ29udGV4dENvbnN1bWVyO1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgICBmaWJlclRhZyA9IExhenlDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFwiICsgJ25hbWVkIGltcG9ydHMuJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG93bmVyTmFtZSA9IG93bmVyID8gZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcihvd25lcikgOiBudWxsO1xuXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VsZW1lbnQgdHlwZSBpcyBpbnZhbGlkOiBleHBlY3RlZCBhIHN0cmluZyAoZm9yIGJ1aWx0LWluICcgKyAnY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSBjb21wb25lbnRzKSAnICsgKFwiYnV0IGdvdDogXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFwiLlwiICsgaW5mbykpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoZmliZXJUYWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xuICBmaWJlci50eXBlID0gcmVzb2x2ZWRUeXBlO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuXG4gIHtcbiAgICBmaWJlci5fZGVidWdPd25lciA9IG93bmVyO1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCBtb2RlLCBsYW5lcykge1xuICB2YXIgb3duZXIgPSBudWxsO1xuXG4gIHtcbiAgICBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICB9XG5cbiAgdmFyIHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IGVsZW1lbnQucHJvcHM7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCBrZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGxhbmVzKTtcblxuICB7XG4gICAgZmliZXIuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xuICAgIGZpYmVyLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XG4gIH1cblxuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChlbGVtZW50cywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihGcmFnbWVudCwgZWxlbWVudHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIHBlbmRpbmdQcm9wcy5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yKCdQcm9maWxlciBtdXN0IHNwZWNpZnkgYW4gXCJpZFwiIG9mIHR5cGUgYHN0cmluZ2AgYXMgYSBwcm9wLiBSZWNlaXZlZCB0aGUgdHlwZSBgJXNgIGluc3RlYWQuJywgdHlwZW9mIHBlbmRpbmdQcm9wcy5pZCk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoUHJvZmlsZXIsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlIHwgUHJvZmlsZU1vZGUpO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG5cbiAge1xuICAgIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICAgIGVmZmVjdER1cmF0aW9uOiAwLFxuICAgICAgcGFzc2l2ZUVmZmVjdER1cmF0aW9uOiAwXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmaWJlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBsYW5lcywga2V5KSB7XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbiAgZmliZXIubGFuZXMgPSBsYW5lcztcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2VMaXN0KHBlbmRpbmdQcm9wcywgbW9kZSwgbGFuZXMsIGtleSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihTdXNwZW5zZUxpc3RDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbU9mZnNjcmVlbihwZW5kaW5nUHJvcHMsIG1vZGUsIGxhbmVzLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoT2Zmc2NyZWVuQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfT0ZGU0NSRUVOX1RZUEU7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIHZhciBwcmltYXJ5Q2hpbGRJbnN0YW5jZSA9IHtcbiAgICBpc0hpZGRlbjogZmFsc2VcbiAgfTtcbiAgZmliZXIuc3RhdGVOb2RlID0gcHJpbWFyeUNoaWxkSW5zdGFuY2U7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVRleHQoY29udGVudCwgbW9kZSwgbGFuZXMpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFRleHQsIGNvbnRlbnQsIG51bGwsIG1vZGUpO1xuICBmaWJlci5sYW5lcyA9IGxhbmVzO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdENvbXBvbmVudCwgbnVsbCwgbnVsbCwgTm9Nb2RlKTtcbiAgZmliZXIuZWxlbWVudFR5cGUgPSAnREVMRVRFRCc7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbURlaHlkcmF0ZWRGcmFnbWVudChkZWh5ZHJhdGVkTm9kZSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihEZWh5ZHJhdGVkRnJhZ21lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IGRlaHlkcmF0ZWROb2RlO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBsYW5lcykge1xuICB2YXIgcGVuZGluZ1Byb3BzID0gcG9ydGFsLmNoaWxkcmVuICE9PSBudWxsID8gcG9ydGFsLmNoaWxkcmVuIDogW107XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RQb3J0YWwsIHBlbmRpbmdQcm9wcywgcG9ydGFsLmtleSwgbW9kZSk7XG4gIGZpYmVyLmxhbmVzID0gbGFuZXM7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICBjb250YWluZXJJbmZvOiBwb3J0YWwuY29udGFpbmVySW5mbyxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXG4gICAgLy8gVXNlZCBieSBwZXJzaXN0ZW50IHVwZGF0ZXNcbiAgICBpbXBsZW1lbnRhdGlvbjogcG9ydGFsLmltcGxlbWVudGF0aW9uXG4gIH07XG4gIHJldHVybiBmaWJlcjtcbn0gLy8gVXNlZCBmb3Igc3Rhc2hpbmcgV0lQIHByb3BlcnRpZXMgdG8gcmVwbGF5IGZhaWxlZCB3b3JrIGluIERFVi5cblxuZnVuY3Rpb24gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodGFyZ2V0LCBzb3VyY2UpIHtcbiAgaWYgKHRhcmdldCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXG4gICAgLy8gV2Ugb25seSB1c2UgYSBGaWJlciB0byBlbnN1cmUgdGhlIHNhbWUgaGlkZGVuIGNsYXNzIHNvIERFViBpc24ndCBzbG93LlxuICAgIHRhcmdldCA9IGNyZWF0ZUZpYmVyKEluZGV0ZXJtaW5hdGVDb21wb25lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxuICAvLyBXZSB0cmllZCB0byB1c2UgT2JqZWN0LmFzc2lnbigpIGluc3RlYWQgYnV0IHRoaXMgaXMgY2FsbGVkIGluXG4gIC8vIHRoZSBob3R0ZXN0IHBhdGgsIGFuZCBPYmplY3QuYXNzaWduKCkgd2FzIHRvbyBzbG93OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXG4gIC8vIFRoaXMgY29kZSBpcyBERVYtb25seSBzbyBzaXplIGlzIG5vdCBhIGNvbmNlcm4uXG5cblxuICB0YXJnZXQudGFnID0gc291cmNlLnRhZztcbiAgdGFyZ2V0LmtleSA9IHNvdXJjZS5rZXk7XG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcbiAgdGFyZ2V0LnR5cGUgPSBzb3VyY2UudHlwZTtcbiAgdGFyZ2V0LnN0YXRlTm9kZSA9IHNvdXJjZS5zdGF0ZU5vZGU7XG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xuICB0YXJnZXQuY2hpbGQgPSBzb3VyY2UuY2hpbGQ7XG4gIHRhcmdldC5zaWJsaW5nID0gc291cmNlLnNpYmxpbmc7XG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcbiAgdGFyZ2V0LnJlZiA9IHNvdXJjZS5yZWY7XG4gIHRhcmdldC5wZW5kaW5nUHJvcHMgPSBzb3VyY2UucGVuZGluZ1Byb3BzO1xuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xuICB0YXJnZXQudXBkYXRlUXVldWUgPSBzb3VyY2UudXBkYXRlUXVldWU7XG4gIHRhcmdldC5tZW1vaXplZFN0YXRlID0gc291cmNlLm1lbW9pemVkU3RhdGU7XG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xuICB0YXJnZXQubW9kZSA9IHNvdXJjZS5tb2RlO1xuICB0YXJnZXQuZmxhZ3MgPSBzb3VyY2UuZmxhZ3M7XG4gIHRhcmdldC5zdWJ0cmVlRmxhZ3MgPSBzb3VyY2Uuc3VidHJlZUZsYWdzO1xuICB0YXJnZXQuZGVsZXRpb25zID0gc291cmNlLmRlbGV0aW9ucztcbiAgdGFyZ2V0LmxhbmVzID0gc291cmNlLmxhbmVzO1xuICB0YXJnZXQuY2hpbGRMYW5lcyA9IHNvdXJjZS5jaGlsZExhbmVzO1xuICB0YXJnZXQuYWx0ZXJuYXRlID0gc291cmNlLmFsdGVybmF0ZTtcblxuICB7XG4gICAgdGFyZ2V0LmFjdHVhbER1cmF0aW9uID0gc291cmNlLmFjdHVhbER1cmF0aW9uO1xuICAgIHRhcmdldC5hY3R1YWxTdGFydFRpbWUgPSBzb3VyY2UuYWN0dWFsU3RhcnRUaW1lO1xuICAgIHRhcmdldC5zZWxmQmFzZUR1cmF0aW9uID0gc291cmNlLnNlbGZCYXNlRHVyYXRpb247XG4gICAgdGFyZ2V0LnRyZWVCYXNlRHVyYXRpb24gPSBzb3VyY2UudHJlZUJhc2VEdXJhdGlvbjtcbiAgfVxuXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xuICB0YXJnZXQuX2RlYnVnT3duZXIgPSBzb3VyY2UuX2RlYnVnT3duZXI7XG4gIHRhcmdldC5fZGVidWdOZWVkc1JlbW91bnQgPSBzb3VyY2UuX2RlYnVnTmVlZHNSZW1vdW50O1xuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gRmliZXJSb290Tm9kZShjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcikge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5jb250YWluZXJJbmZvID0gY29udGFpbmVySW5mbztcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xuICB0aGlzLmN1cnJlbnQgPSBudWxsO1xuICB0aGlzLnBpbmdDYWNoZSA9IG51bGw7XG4gIHRoaXMuZmluaXNoZWRXb3JrID0gbnVsbDtcbiAgdGhpcy50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0O1xuICB0aGlzLmNvbnRleHQgPSBudWxsO1xuICB0aGlzLnBlbmRpbmdDb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jYWxsYmFja05vZGUgPSBudWxsO1xuICB0aGlzLmNhbGxiYWNrUHJpb3JpdHkgPSBOb0xhbmU7XG4gIHRoaXMuZXZlbnRUaW1lcyA9IGNyZWF0ZUxhbmVNYXAoTm9MYW5lcyk7XG4gIHRoaXMuZXhwaXJhdGlvblRpbWVzID0gY3JlYXRlTGFuZU1hcChOb1RpbWVzdGFtcCk7XG4gIHRoaXMucGVuZGluZ0xhbmVzID0gTm9MYW5lcztcbiAgdGhpcy5zdXNwZW5kZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMucGluZ2VkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmV4cGlyZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMubXV0YWJsZVJlYWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZmluaXNoZWRMYW5lcyA9IE5vTGFuZXM7XG4gIHRoaXMuZW50YW5nbGVkTGFuZXMgPSBOb0xhbmVzO1xuICB0aGlzLmVudGFuZ2xlbWVudHMgPSBjcmVhdGVMYW5lTWFwKE5vTGFuZXMpO1xuICB0aGlzLmlkZW50aWZpZXJQcmVmaXggPSBpZGVudGlmaWVyUHJlZml4O1xuICB0aGlzLm9uUmVjb3ZlcmFibGVFcnJvciA9IG9uUmVjb3ZlcmFibGVFcnJvcjtcblxuICB7XG4gICAgdGhpcy5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhID0gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICB0aGlzLmVmZmVjdER1cmF0aW9uID0gMDtcbiAgICB0aGlzLnBhc3NpdmVFZmZlY3REdXJhdGlvbiA9IDA7XG4gIH1cblxuICB7XG4gICAgdGhpcy5tZW1vaXplZFVwZGF0ZXJzID0gbmV3IFNldCgpO1xuICAgIHZhciBwZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gdGhpcy5wZW5kaW5nVXBkYXRlcnNMYW5lTWFwID0gW107XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgVG90YWxMYW5lczsgX2krKykge1xuICAgICAgcGVuZGluZ1VwZGF0ZXJzTGFuZU1hcC5wdXNoKG5ldyBTZXQoKSk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlIENvbmN1cnJlbnRSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlUm9vdCgpJyA6ICdjcmVhdGVSb290KCknO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBMZWdhY3lSb290OlxuICAgICAgICB0aGlzLl9kZWJ1Z1Jvb3RUeXBlID0gaHlkcmF0ZSA/ICdoeWRyYXRlKCknIDogJ3JlbmRlcigpJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyUm9vdChjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUsIGluaXRpYWxDaGlsZHJlbiwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIC8vIFRPRE86IFdlIGhhdmUgc2V2ZXJhbCBvZiB0aGVzZSBhcmd1bWVudHMgdGhhdCBhcmUgY29uY2VwdHVhbGx5IHBhcnQgb2YgdGhlXG4vLyBob3N0IGNvbmZpZywgYnV0IGJlY2F1c2UgdGhleSBhcmUgcGFzc2VkIGluIGF0IHJ1bnRpbWUsIHdlIGhhdmUgdG8gdGhyZWFkXG4vLyB0aGVtIHRocm91Z2ggdGhlIHJvb3QgY29uc3RydWN0b3IuIFBlcmhhcHMgd2Ugc2hvdWxkIHB1dCB0aGVtIGFsbCBpbnRvIGFcbi8vIHNpbmdsZSB0eXBlLCBsaWtlIGEgRHluYW1pY0hvc3RDb25maWcgdGhhdCBpcyBkZWZpbmVkIGJ5IHRoZSByZW5kZXJlci5cbmlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvciwgdHJhbnNpdGlvbkNhbGxiYWNrcykge1xuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yKTtcbiAgLy8gc3RhdGVOb2RlIGlzIGFueS5cblxuXG4gIHZhciB1bmluaXRpYWxpemVkRmliZXIgPSBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZywgaXNTdHJpY3RNb2RlKTtcbiAgcm9vdC5jdXJyZW50ID0gdW5pbml0aWFsaXplZEZpYmVyO1xuICB1bmluaXRpYWxpemVkRmliZXIuc3RhdGVOb2RlID0gcm9vdDtcblxuICB7XG4gICAgdmFyIF9pbml0aWFsU3RhdGUgPSB7XG4gICAgICBlbGVtZW50OiBpbml0aWFsQ2hpbGRyZW4sXG4gICAgICBpc0RlaHlkcmF0ZWQ6IGh5ZHJhdGUsXG4gICAgICBjYWNoZTogbnVsbCxcbiAgICAgIC8vIG5vdCBlbmFibGVkIHlldFxuICAgICAgdHJhbnNpdGlvbnM6IG51bGwsXG4gICAgICBwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOiBudWxsXG4gICAgfTtcbiAgICB1bmluaXRpYWxpemVkRmliZXIubWVtb2l6ZWRTdGF0ZSA9IF9pbml0aWFsU3RhdGU7XG4gIH1cblxuICBpbml0aWFsaXplVXBkYXRlUXVldWUodW5pbml0aWFsaXplZEZpYmVyKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5cbnZhciBSZWFjdFZlcnNpb24gPSAnMTguMi4wJztcblxuZnVuY3Rpb24gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXJJbmZvLCAvLyBUT0RPOiBmaWd1cmUgb3V0IHRoZSBBUEkgZm9yIGNyb3NzLXJlbmRlcmVyIGltcGxlbWVudGF0aW9uLlxuaW1wbGVtZW50YXRpb24pIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbnVsbDtcblxuICB7XG4gICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihrZXkpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvdyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgUG9ydGFsXG4gICAgJCR0eXBlb2Y6IFJFQUNUX1BPUlRBTF9UWVBFLFxuICAgIGtleToga2V5ID09IG51bGwgPyBudWxsIDogJycgKyBrZXksXG4gICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIGNvbnRhaW5lckluZm86IGNvbnRhaW5lckluZm8sXG4gICAgaW1wbGVtZW50YXRpb246IGltcGxlbWVudGF0aW9uXG4gIH07XG59XG5cbnZhciBkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzO1xudmFyIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlO1xuXG57XG4gIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGUgPSB7fTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KSB7XG4gIGlmICghcGFyZW50Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIGVtcHR5Q29udGV4dE9iamVjdDtcbiAgfVxuXG4gIHZhciBmaWJlciA9IGdldChwYXJlbnRDb21wb25lbnQpO1xuICB2YXIgcGFyZW50Q29udGV4dCA9IGZpbmRDdXJyZW50VW5tYXNrZWRDb250ZXh0KGZpYmVyKTtcblxuICBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgIHZhciBDb21wb25lbnQgPSBmaWJlci50eXBlO1xuXG4gICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzQ2hpbGRDb250ZXh0KGZpYmVyLCBDb21wb25lbnQsIHBhcmVudENvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnRDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlV2l0aFdhcm5pbmcoY29tcG9uZW50LCBtZXRob2ROYW1lKSB7XG4gIHtcbiAgICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcblxuICAgIGlmIChmaWJlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbXBvbmVudC5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudCkuam9pbignLCcpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcmd1bWVudCBhcHBlYXJzIHRvIG5vdCBiZSBhIFJlYWN0Q29tcG9uZW50LiBLZXlzOiBcIiArIGtleXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgICBpZiAoaG9zdEZpYmVyID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaG9zdEZpYmVyLm1vZGUgJiBTdHJpY3RMZWdhY3lNb2RlKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoZmliZXIpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgICAgdmFyIHByZXZpb3VzRmliZXIgPSBjdXJyZW50O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2V0Q3VycmVudEZpYmVyKGhvc3RGaWJlcik7XG5cbiAgICAgICAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdExlZ2FjeU1vZGUpIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCBpcyBpbnNpZGUgU3RyaWN0TW9kZS4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtZmluZC1ub2RlJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCByZW5kZXJzIFN0cmljdE1vZGUgY2hpbGRyZW4uICcgKyAnSW5zdGVhZCwgYWRkIGEgcmVmIGRpcmVjdGx5IHRvIHRoZSBlbGVtZW50IHlvdSB3YW50IHRvIHJlZmVyZW5jZS4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N0cmljdC1tb2RlLWZpbmQtbm9kZScsIG1ldGhvZE5hbWUsIG1ldGhvZE5hbWUsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAvLyBJZGVhbGx5IHRoaXMgc2hvdWxkIHJlc2V0IHRvIHByZXZpb3VzIGJ1dCB0aGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgaW5cbiAgICAgICAgICAvLyByZW5kZXIgYW5kIHRoZXJlJ3MgYW5vdGhlciB3YXJuaW5nIGZvciB0aGF0IGFueXdheS5cbiAgICAgICAgICBpZiAocHJldmlvdXNGaWJlcikge1xuICAgICAgICAgICAgc2V0Q3VycmVudEZpYmVyKHByZXZpb3VzRmliZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBob3N0RmliZXIuc3RhdGVOb2RlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IsIHRyYW5zaXRpb25DYWxsYmFja3MpIHtcbiAgdmFyIGh5ZHJhdGUgPSBmYWxzZTtcbiAgdmFyIGluaXRpYWxDaGlsZHJlbiA9IG51bGw7XG4gIHJldHVybiBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpO1xufVxuZnVuY3Rpb24gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgLy8gVE9ETzogUmVtb3ZlIGBjYWxsYmFja2Agd2hlbiB3ZSBkZWxldGUgbGVnYWN5IG1vZGUuXG5jYWxsYmFjaywgY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRpb25DYWxsYmFja3MsIGlzU3RyaWN0TW9kZSwgY29uY3VycmVudFVwZGF0ZXNCeURlZmF1bHRPdmVycmlkZSwgaWRlbnRpZmllclByZWZpeCwgb25SZWNvdmVyYWJsZUVycm9yLCB0cmFuc2l0aW9uQ2FsbGJhY2tzKSB7XG4gIHZhciBoeWRyYXRlID0gdHJ1ZTtcbiAgdmFyIHJvb3QgPSBjcmVhdGVGaWJlclJvb3QoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBpbml0aWFsQ2hpbGRyZW4sIGh5ZHJhdGlvbkNhbGxiYWNrcywgaXNTdHJpY3RNb2RlLCBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLCBpZGVudGlmaWVyUHJlZml4LCBvblJlY292ZXJhYmxlRXJyb3IpOyAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gRmliZXJSb290IGNvbnN0cnVjdG9yXG5cbiAgcm9vdC5jb250ZXh0ID0gZ2V0Q29udGV4dEZvclN1YnRyZWUobnVsbCk7IC8vIFNjaGVkdWxlIHRoZSBpbml0aWFsIHJlbmRlci4gSW4gYSBoeWRyYXRpb24gcm9vdCwgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbVxuICAvLyBhIHJlZ3VsYXIgdXBkYXRlIGJlY2F1c2UgdGhlIGluaXRpYWwgcmVuZGVyIG11c3QgbWF0Y2ggd2FzIHdhcyByZW5kZXJlZFxuICAvLyBvbiB0aGUgc2VydmVyLlxuICAvLyBOT1RFOiBUaGlzIHVwZGF0ZSBpbnRlbnRpb25hbGx5IGRvZXNuJ3QgaGF2ZSBhIHBheWxvYWQuIFdlJ3JlIG9ubHkgdXNpbmdcbiAgLy8gdGhlIHVwZGF0ZSB0byBzY2hlZHVsZSB3b3JrIG9uIHRoZSByb290IGZpYmVyIChhbmQsIGZvciBsZWdhY3kgcm9vdHMsIHRvXG4gIC8vIGVucXVldWUgdGhlIGNhbGxiYWNrIGlmIG9uZSBpcyBwcm92aWRlZCkuXG5cbiAgdmFyIGN1cnJlbnQgPSByb290LmN1cnJlbnQ7XG4gIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gIHZhciBsYW5lID0gcmVxdWVzdFVwZGF0ZUxhbmUoY3VycmVudCk7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXZlbnRUaW1lLCBsYW5lKTtcbiAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCA/IGNhbGxiYWNrIDogbnVsbDtcbiAgZW5xdWV1ZVVwZGF0ZShjdXJyZW50LCB1cGRhdGUsIGxhbmUpO1xuICBzY2hlZHVsZUluaXRpYWxIeWRyYXRpb25PblJvb3Qocm9vdCwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgY29udGFpbmVyLCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBvblNjaGVkdWxlUm9vdChjb250YWluZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgdmFyIGN1cnJlbnQkMSA9IGNvbnRhaW5lci5jdXJyZW50O1xuICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICB2YXIgbGFuZSA9IHJlcXVlc3RVcGRhdGVMYW5lKGN1cnJlbnQkMSk7XG5cbiAge1xuICAgIG1hcmtSZW5kZXJTY2hlZHVsZWQobGFuZSk7XG4gIH1cblxuICB2YXIgY29udGV4dCA9IGdldENvbnRleHRGb3JTdWJ0cmVlKHBhcmVudENvbXBvbmVudCk7XG5cbiAgaWYgKGNvbnRhaW5lci5jb250ZXh0ID09PSBudWxsKSB7XG4gICAgY29udGFpbmVyLmNvbnRleHQgPSBjb250ZXh0O1xuICB9IGVsc2Uge1xuICAgIGNvbnRhaW5lci5wZW5kaW5nQ29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICB7XG4gICAgaWYgKGlzUmVuZGVyaW5nICYmIGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMpIHtcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xuXG4gICAgICBlcnJvcignUmVuZGVyIG1ldGhvZHMgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGU7ICcgKyAndHJpZ2dlcmluZyBuZXN0ZWQgY29tcG9uZW50IHVwZGF0ZXMgZnJvbSByZW5kZXIgaXMgbm90IGFsbG93ZWQuICcgKyAnSWYgbmVjZXNzYXJ5LCB0cmlnZ2VyIG5lc3RlZCB1cGRhdGVzIGluIGNvbXBvbmVudERpZFVwZGF0ZS5cXG5cXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoY3VycmVudCkgfHwgJ1Vua25vd24nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV2ZW50VGltZSwgbGFuZSk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG4gIHVwZGF0ZS5wYXlsb2FkID0ge1xuICAgIGVsZW1lbnQ6IGVsZW1lbnRcbiAgfTtcbiAgY2FsbGJhY2sgPSBjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrO1xuXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgdmFyIHJvb3QgPSBlbnF1ZXVlVXBkYXRlKGN1cnJlbnQkMSwgdXBkYXRlLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBjdXJyZW50JDEsIGxhbmUsIGV2ZW50VGltZSk7XG4gICAgZW50YW5nbGVUcmFuc2l0aW9ucyhyb290LCBjdXJyZW50JDEsIGxhbmUpO1xuICB9XG5cbiAgcmV0dXJuIGxhbmU7XG59XG5mdW5jdGlvbiBnZXRQdWJsaWNSb290SW5zdGFuY2UoY29udGFpbmVyKSB7XG4gIHZhciBjb250YWluZXJGaWJlciA9IGNvbnRhaW5lci5jdXJyZW50O1xuXG4gIGlmICghY29udGFpbmVyRmliZXIuY2hpbGQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHN3aXRjaCAoY29udGFpbmVyRmliZXIuY2hpbGQudGFnKSB7XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZSk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZTtcbiAgfVxufVxuZnVuY3Rpb24gYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEoZmliZXIpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICB2YXIgcm9vdCA9IGZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNSb290RGVoeWRyYXRlZChyb290KSkge1xuICAgICAgICAgIC8vIEZsdXNoIHRoZSBmaXJzdCBzY2hlZHVsZWQgXCJ1cGRhdGVcIi5cbiAgICAgICAgICB2YXIgbGFuZXMgPSBnZXRIaWdoZXN0UHJpb3JpdHlQZW5kaW5nTGFuZXMocm9vdCk7XG4gICAgICAgICAgZmx1c2hSb290KHJvb3QsIGxhbmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgZmx1c2hTeW5jKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICAgICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBldmVudFRpbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7IC8vIElmIHdlJ3JlIHN0aWxsIGJsb2NrZWQgYWZ0ZXIgdGhpcywgd2UgbmVlZCB0byBpbmNyZWFzZVxuICAgICAgICAvLyB0aGUgcHJpb3JpdHkgb2YgYW55IHByb21pc2VzIHJlc29sdmluZyB3aXRoaW4gdGhpc1xuICAgICAgICAvLyBib3VuZGFyeSBzbyB0aGF0IHRoZXkgbmV4dCBhdHRlbXB0IGFsc28gaGFzIGhpZ2hlciBwcmkuXG5cbiAgICAgICAgdmFyIHJldHJ5TGFuZSA9IFN5bmNMYW5lO1xuICAgICAgICBtYXJrUmV0cnlMYW5lSWZOb3RIeWRyYXRlZChmaWJlciwgcmV0cnlMYW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUltcGwoZmliZXIsIHJldHJ5TGFuZSkge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUgPSBoaWdoZXJQcmlvcml0eUxhbmUoc3VzcGVuc2VTdGF0ZS5yZXRyeUxhbmUsIHJldHJ5TGFuZSk7XG4gIH1cbn0gLy8gSW5jcmVhc2VzIHRoZSBwcmlvcml0eSBvZiB0aGVuYWJsZXMgd2hlbiB0aGV5IHJlc29sdmUgd2l0aGluIHRoaXMgYm91bmRhcnkuXG5cblxuZnVuY3Rpb24gbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIHJldHJ5TGFuZSkge1xuICBtYXJrUmV0cnlMYW5lSW1wbChmaWJlciwgcmV0cnlMYW5lKTtcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICBpZiAoYWx0ZXJuYXRlKSB7XG4gICAgbWFya1JldHJ5TGFuZUltcGwoYWx0ZXJuYXRlLCByZXRyeUxhbmUpO1xuICB9XG59XG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxuICAgIC8vIHNpbmNlIHlvdSBoYXZlIHRvIHdyYXAgYW55dGhpbmcgdGhhdCBtaWdodCBzdXNwZW5kIGluXG4gICAgLy8gU3VzcGVuc2UuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSBTZWxlY3RpdmVIeWRyYXRpb25MYW5lO1xuICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgbGFuZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICB2YXIgZXZlbnRUaW1lID0gcmVxdWVzdEV2ZW50VGltZSgpO1xuICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgbGFuZSwgZXZlbnRUaW1lKTtcbiAgfVxuXG4gIG1hcmtSZXRyeUxhbmVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBsYW5lKTtcbn1cbmZ1bmN0aW9uIGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eSQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBvdGhlciB0aGFuIHN5bmNocm9ub3VzbHkgZmx1c2ggaXQuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGxhbmUgPSByZXF1ZXN0VXBkYXRlTGFuZShmaWJlcik7XG4gIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBsYW5lKTtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHZhciBldmVudFRpbWUgPSByZXF1ZXN0RXZlbnRUaW1lKCk7XG4gICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBsYW5lLCBldmVudFRpbWUpO1xuICB9XG5cbiAgbWFya1JldHJ5TGFuZUlmTm90SHlkcmF0ZWQoZmliZXIsIGxhbmUpO1xufVxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhOb1BvcnRhbHMoZmliZXIpIHtcbiAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFscyhmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbnZhciBzaG91bGRFcnJvckltcGwgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5mdW5jdGlvbiBzaG91bGRFcnJvcihmaWJlcikge1xuICByZXR1cm4gc2hvdWxkRXJyb3JJbXBsKGZpYmVyKTtcbn1cblxudmFyIHNob3VsZFN1c3BlbmRJbXBsID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmZ1bmN0aW9uIHNob3VsZFN1c3BlbmQoZmliZXIpIHtcbiAgcmV0dXJuIHNob3VsZFN1c3BlbmRJbXBsKGZpYmVyKTtcbn1cbnZhciBvdmVycmlkZUhvb2tTdGF0ZSA9IG51bGw7XG52YXIgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGggPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHMgPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoID0gbnVsbDtcbnZhciBvdmVycmlkZVByb3BzUmVuYW1lUGF0aCA9IG51bGw7XG52YXIgc2NoZWR1bGVVcGRhdGUgPSBudWxsO1xudmFyIHNldEVycm9ySGFuZGxlciA9IG51bGw7XG52YXIgc2V0U3VzcGVuc2VIYW5kbGVyID0gbnVsbDtcblxue1xuICB2YXIgY29weVdpdGhEZWxldGVJbXBsID0gZnVuY3Rpb24gKG9iaiwgcGF0aCwgaW5kZXgpIHtcbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTtcblxuICAgIGlmIChpbmRleCArIDEgPT09IHBhdGgubGVuZ3RoKSB7XG4gICAgICBpZiAoaXNBcnJheSh1cGRhdGVkKSkge1xuICAgICAgICB1cGRhdGVkLnNwbGljZShrZXksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHVwZGF0ZWRba2V5XTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgfSAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG5cblxuICAgIHVwZGF0ZWRba2V5XSA9IGNvcHlXaXRoRGVsZXRlSW1wbChvYmpba2V5XSwgcGF0aCwgaW5kZXggKyAxKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhEZWxldGUgPSBmdW5jdGlvbiAob2JqLCBwYXRoKSB7XG4gICAgcmV0dXJuIGNvcHlXaXRoRGVsZXRlSW1wbChvYmosIHBhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZUltcGwgPSBmdW5jdGlvbiAob2JqLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCkge1xuICAgIHZhciBvbGRLZXkgPSBvbGRQYXRoW2luZGV4XTtcbiAgICB2YXIgdXBkYXRlZCA9IGlzQXJyYXkob2JqKSA/IG9iai5zbGljZSgpIDogYXNzaWduKHt9LCBvYmopO1xuXG4gICAgaWYgKGluZGV4ICsgMSA9PT0gb2xkUGF0aC5sZW5ndGgpIHtcbiAgICAgIHZhciBuZXdLZXkgPSBuZXdQYXRoW2luZGV4XTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgICB1cGRhdGVkW25ld0tleV0gPSB1cGRhdGVkW29sZEtleV07XG5cbiAgICAgIGlmIChpc0FycmF5KHVwZGF0ZWQpKSB7XG4gICAgICAgIHVwZGF0ZWQuc3BsaWNlKG9sZEtleSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdXBkYXRlZFtvbGRLZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lIG51bWJlciBvciBzdHJpbmcgaXMgZmluZSBoZXJlXG4gICAgICB1cGRhdGVkW29sZEtleV0gPSBjb3B5V2l0aFJlbmFtZUltcGwoIC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcbiAgICAgIG9ialtvbGRLZXldLCBvbGRQYXRoLCBuZXdQYXRoLCBpbmRleCArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFJlbmFtZSA9IGZ1bmN0aW9uIChvYmosIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICBpZiAob2xkUGF0aC5sZW5ndGggIT09IG5ld1BhdGgubGVuZ3RoKSB7XG4gICAgICB3YXJuKCdjb3B5V2l0aFJlbmFtZSgpIGV4cGVjdHMgcGF0aHMgb2YgdGhlIHNhbWUgbGVuZ3RoJyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdQYXRoLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBpZiAob2xkUGF0aFtpXSAhPT0gbmV3UGF0aFtpXSkge1xuICAgICAgICAgIHdhcm4oJ2NvcHlXaXRoUmVuYW1lKCkgZXhwZWN0cyBwYXRocyB0byBiZSB0aGUgc2FtZSBleGNlcHQgZm9yIHRoZSBkZWVwZXN0IGtleScpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvcHlXaXRoUmVuYW1lSW1wbChvYmosIG9sZFBhdGgsIG5ld1BhdGgsIDApO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpbmRleCwgdmFsdWUpIHtcbiAgICBpZiAoaW5kZXggPj0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB2YXIga2V5ID0gcGF0aFtpbmRleF07XG4gICAgdmFyIHVwZGF0ZWQgPSBpc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IGFzc2lnbih7fSwgb2JqKTsgLy8gJEZsb3dGaXhNZSBudW1iZXIgb3Igc3RyaW5nIGlzIGZpbmUgaGVyZVxuXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhTZXRJbXBsKG9ialtrZXldLCBwYXRoLCBpbmRleCArIDEsIHZhbHVlKTtcbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfTtcblxuICB2YXIgY29weVdpdGhTZXQgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCB2YWx1ZSkge1xuICAgIHJldHVybiBjb3B5V2l0aFNldEltcGwob2JqLCBwYXRoLCAwLCB2YWx1ZSk7XG4gIH07XG5cbiAgdmFyIGZpbmRIb29rID0gZnVuY3Rpb24gKGZpYmVyLCBpZCkge1xuICAgIC8vIEZvciBub3csIHRoZSBcImlkXCIgb2Ygc3RhdGVmdWwgaG9va3MgaXMganVzdCB0aGUgc3RhdGVmdWwgaG9vayBpbmRleC5cbiAgICAvLyBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB3aXRoIGUuZy4gbmVzdGVkIGhvb2tzLlxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoY3VycmVudEhvb2sgIT09IG51bGwgJiYgaWQgPiAwKSB7XG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XG4gICAgICBpZC0tO1xuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50SG9vaztcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBlZGl0YWJsZSB2YWx1ZXMgZm9yIHVzZVN0YXRlIGFuZCB1c2VSZWR1Y2VyLlxuXG5cbiAgb3ZlcnJpZGVIb29rU3RhdGUgPSBmdW5jdGlvbiAoZmliZXIsIGlkLCBwYXRoLCB2YWx1ZSkge1xuICAgIHZhciBob29rID0gZmluZEhvb2soZmliZXIsIGlkKTtcblxuICAgIGlmIChob29rICE9PSBudWxsKSB7XG4gICAgICB2YXIgbmV3U3RhdGUgPSBjb3B5V2l0aFNldChob29rLm1lbW9pemVkU3RhdGUsIHBhdGgsIHZhbHVlKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlRGVsZXRlUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhEZWxldGUoaG9vay5tZW1vaXplZFN0YXRlLCBwYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aCA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIG9sZFBhdGgsIG5ld1BhdGgpIHtcbiAgICB2YXIgaG9vayA9IGZpbmRIb29rKGZpYmVyLCBpZCk7XG5cbiAgICBpZiAoaG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhSZW5hbWUoaG9vay5tZW1vaXplZFN0YXRlLCBvbGRQYXRoLCBuZXdQYXRoKTtcbiAgICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgaG9vay5iYXNlU3RhdGUgPSBuZXdTdGF0ZTsgLy8gV2UgYXJlbid0IGFjdHVhbGx5IGFkZGluZyBhbiB1cGRhdGUgdG8gdGhlIHF1ZXVlLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXG4gICAgICAvLyAoVGhlcmUncyBubyBhcHByb3ByaWF0ZSBhY3Rpb24gdHlwZSBmb3IgRGV2VG9vbHMgb3ZlcnJpZGVzLilcbiAgICAgIC8vIEFzIGEgcmVzdWx0IHRob3VnaCwgUmVhY3Qgd2lsbCBzZWUgdGhlIHNjaGVkdWxlZCB1cGRhdGUgYXMgYSBub29wIGFuZCBiYWlsb3V0LlxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cblxuICAgICAgZmliZXIubWVtb2l6ZWRQcm9wcyA9IGFzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XG4gICAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgICB9XG4gICAgfVxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIHByb3BzIGZvciBmdW5jdGlvbiBjb21wb25lbnRzLCBmb3J3YXJkUmVmLCBtZW1vLCBob3N0IGNvbXBvbmVudHMsIGV0Yy5cblxuXG4gIG92ZXJyaWRlUHJvcHMgPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgsIHZhbHVlKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhTZXQoZmliZXIubWVtb2l6ZWRQcm9wcywgcGF0aCwgdmFsdWUpO1xuXG4gICAgaWYgKGZpYmVyLmFsdGVybmF0ZSkge1xuICAgICAgZmliZXIuYWx0ZXJuYXRlLnBlbmRpbmdQcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICB9XG5cbiAgICB2YXIgcm9vdCA9IGVucXVldWVDb25jdXJyZW50UmVuZGVyRm9yTGFuZShmaWJlciwgU3luY0xhbmUpO1xuXG4gICAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlVXBkYXRlT25GaWJlcihyb290LCBmaWJlciwgU3luY0xhbmUsIE5vVGltZXN0YW1wKTtcbiAgICB9XG4gIH07XG5cbiAgb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGggPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgpIHtcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aERlbGV0ZShmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoKTtcblxuICAgIGlmIChmaWJlci5hbHRlcm5hdGUpIHtcbiAgICAgIGZpYmVyLmFsdGVybmF0ZS5wZW5kaW5nUHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgfVxuXG4gICAgdmFyIHJvb3QgPSBlbnF1ZXVlQ29uY3VycmVudFJlbmRlckZvckxhbmUoZmliZXIsIFN5bmNMYW5lKTtcblxuICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZVVwZGF0ZU9uRmliZXIocm9vdCwgZmliZXIsIFN5bmNMYW5lLCBOb1RpbWVzdGFtcCk7XG4gICAgfVxuICB9O1xuXG4gIG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoID0gZnVuY3Rpb24gKGZpYmVyLCBvbGRQYXRoLCBuZXdQYXRoKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhSZW5hbWUoZmliZXIubWVtb2l6ZWRQcm9wcywgb2xkUGF0aCwgbmV3UGF0aCk7XG5cbiAgICBpZiAoZmliZXIuYWx0ZXJuYXRlKSB7XG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgIH1cblxuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzY2hlZHVsZVVwZGF0ZSA9IGZ1bmN0aW9uIChmaWJlcikge1xuICAgIHZhciByb290ID0gZW5xdWV1ZUNvbmN1cnJlbnRSZW5kZXJGb3JMYW5lKGZpYmVyLCBTeW5jTGFuZSk7XG5cbiAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVVcGRhdGVPbkZpYmVyKHJvb3QsIGZpYmVyLCBTeW5jTGFuZSwgTm9UaW1lc3RhbXApO1xuICAgIH1cbiAgfTtcblxuICBzZXRFcnJvckhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkRXJyb3JJbXBsKSB7XG4gICAgc2hvdWxkRXJyb3JJbXBsID0gbmV3U2hvdWxkRXJyb3JJbXBsO1xuICB9O1xuXG4gIHNldFN1c3BlbnNlSGFuZGxlciA9IGZ1bmN0aW9uIChuZXdTaG91bGRTdXNwZW5kSW1wbCkge1xuICAgIHNob3VsZFN1c3BlbmRJbXBsID0gbmV3U2hvdWxkU3VzcGVuZEltcGw7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyKGZpYmVyKSB7XG4gIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcihmaWJlcik7XG5cbiAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbmZ1bmN0aW9uIGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRGaWJlckZvckRldlRvb2xzKCkge1xuICByZXR1cm4gY3VycmVudDtcbn1cblxuZnVuY3Rpb24gaW5qZWN0SW50b0RldlRvb2xzKGRldlRvb2xzQ29uZmlnKSB7XG4gIHZhciBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZSA9IGRldlRvb2xzQ29uZmlnLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlO1xuICB2YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG4gIHJldHVybiBpbmplY3RJbnRlcm5hbHMoe1xuICAgIGJ1bmRsZVR5cGU6IGRldlRvb2xzQ29uZmlnLmJ1bmRsZVR5cGUsXG4gICAgdmVyc2lvbjogZGV2VG9vbHNDb25maWcudmVyc2lvbixcbiAgICByZW5kZXJlclBhY2thZ2VOYW1lOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlclBhY2thZ2VOYW1lLFxuICAgIHJlbmRlcmVyQ29uZmlnOiBkZXZUb29sc0NvbmZpZy5yZW5kZXJlckNvbmZpZyxcbiAgICBvdmVycmlkZUhvb2tTdGF0ZTogb3ZlcnJpZGVIb29rU3RhdGUsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoOiBvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wczogb3ZlcnJpZGVQcm9wcyxcbiAgICBvdmVycmlkZVByb3BzRGVsZXRlUGF0aDogb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGgsXG4gICAgb3ZlcnJpZGVQcm9wc1JlbmFtZVBhdGg6IG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoLFxuICAgIHNldEVycm9ySGFuZGxlcjogc2V0RXJyb3JIYW5kbGVyLFxuICAgIHNldFN1c3BlbnNlSGFuZGxlcjogc2V0U3VzcGVuc2VIYW5kbGVyLFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcbiAgICBjdXJyZW50RGlzcGF0Y2hlclJlZjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjogZmluZEhvc3RJbnN0YW5jZUJ5RmliZXIsXG4gICAgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6IGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlIHx8IGVtcHR5RmluZEZpYmVyQnlIb3N0SW5zdGFuY2UsXG4gICAgLy8gUmVhY3QgUmVmcmVzaFxuICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaDogIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCAsXG4gICAgc2NoZWR1bGVSZWZyZXNoOiAgc2NoZWR1bGVSZWZyZXNoICxcbiAgICBzY2hlZHVsZVJvb3Q6ICBzY2hlZHVsZVJvb3QgLFxuICAgIHNldFJlZnJlc2hIYW5kbGVyOiAgc2V0UmVmcmVzaEhhbmRsZXIgLFxuICAgIC8vIEVuYWJsZXMgRGV2VG9vbHMgdG8gYXBwZW5kIG93bmVyIHN0YWNrcyB0byBlcnJvciBtZXNzYWdlcyBpbiBERVYgbW9kZS5cbiAgICBnZXRDdXJyZW50RmliZXI6ICBnZXRDdXJyZW50RmliZXJGb3JEZXZUb29scyAsXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBkZXRlY3QgcmVjb25jaWxlciB2ZXJzaW9uIHJhdGhlciB0aGFuIHJlbmRlcmVyIHZlcnNpb25cbiAgICAvLyB3aGljaCBtYXkgbm90IG1hdGNoIGZvciB0aGlyZCBwYXJ0eSByZW5kZXJlcnMuXG4gICAgcmVjb25jaWxlclZlcnNpb246IFJlYWN0VmVyc2lvblxuICB9KTtcbn1cblxuLyogZ2xvYmFsIHJlcG9ydEVycm9yICovXG5cbnZhciBkZWZhdWx0T25SZWNvdmVyYWJsZUVycm9yID0gdHlwZW9mIHJlcG9ydEVycm9yID09PSAnZnVuY3Rpb24nID8gLy8gSW4gbW9kZXJuIGJyb3dzZXJzLCByZXBvcnRFcnJvciB3aWxsIGRpc3BhdGNoIGFuIGVycm9yIGV2ZW50LFxuLy8gZW11bGF0aW5nIGFuIHVuY2F1Z2h0IEphdmFTY3JpcHQgZXJyb3IuXG5yZXBvcnRFcnJvciA6IGZ1bmN0aW9uIChlcnJvcikge1xuICAvLyBJbiBvbGRlciBicm93c2VycyBhbmQgdGVzdCBlbnZpcm9ubWVudHMsIGZhbGxiYWNrIHRvIGNvbnNvbGUuZXJyb3IuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcbiAgY29uc29sZVsnZXJyb3InXShlcnJvcik7XG59O1xuXG5mdW5jdGlvbiBSZWFjdERPTVJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS5yZW5kZXIgPSBSZWFjdERPTVJvb3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChjaGlsZHJlbikge1xuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVwZGF0ZSBhbiB1bm1vdW50ZWQgcm9vdC4nKTtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1sxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkQ29udGFpbmVyKGFyZ3VtZW50c1sxXSkpIHtcbiAgICAgIGVycm9yKCdZb3UgcGFzc2VkIGEgY29udGFpbmVyIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygcm9vdC5yZW5kZXIoLi4uKS4gJyArIFwiWW91IGRvbid0IG5lZWQgdG8gcGFzcyBpdCBhZ2FpbiBzaW5jZSB5b3UgYWxyZWFkeSBwYXNzZWQgaXQgdG8gY3JlYXRlIHRoZSByb290LlwiKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHNbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBlcnJvcignWW91IHBhc3NlZCBhIHNlY29uZCBhcmd1bWVudCB0byByb290LnJlbmRlciguLi4pIGJ1dCBpdCBvbmx5IGFjY2VwdHMgJyArICdvbmUgYXJndW1lbnQuJyk7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgICBlcnJvcigncmVuZGVyKC4uLik6IEl0IGxvb2tzIGxpa2UgdGhlIFJlYWN0LXJlbmRlcmVkIGNvbnRlbnQgb2YgdGhlICcgKyAncm9vdCBjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyBcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIHJvb3QsIG51bGwsIG51bGwpO1xufTtcblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bm1vdW50ID0gUmVhY3RET01Sb290LnByb3RvdHlwZS51bm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCd1bm1vdW50KC4uLik6IGRvZXMgbm90IHN1cHBvcnQgYSBjYWxsYmFjayBhcmd1bWVudC4gJyArICdUbyBleGVjdXRlIGEgc2lkZSBlZmZlY3QgYWZ0ZXIgcmVuZGVyaW5nLCBkZWNsYXJlIGl0IGluIGEgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IHRoaXMuX2ludGVybmFsUm9vdDtcblxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgIHRoaXMuX2ludGVybmFsUm9vdCA9IG51bGw7XG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIHtcbiAgICAgIGlmIChpc0FscmVhZHlSZW5kZXJpbmcoKSkge1xuICAgICAgICBlcnJvcignQXR0ZW1wdGVkIHRvIHN5bmNocm9ub3VzbHkgdW5tb3VudCBhIHJvb3Qgd2hpbGUgUmVhY3Qgd2FzIGFscmVhZHkgJyArICdyZW5kZXJpbmcuIFJlYWN0IGNhbm5vdCBmaW5pc2ggdW5tb3VudGluZyB0aGUgcm9vdCB1bnRpbCB0aGUgJyArICdjdXJyZW50IHJlbmRlciBoYXMgY29tcGxldGVkLCB3aGljaCBtYXkgbGVhZCB0byBhIHJhY2UgY29uZGl0aW9uLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIobnVsbCwgcm9vdCwgbnVsbCwgbnVsbCk7XG4gICAgfSk7XG4gICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjcmVhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG4gIHZhciB0cmFuc2l0aW9uQ2FsbGJhY2tzID0gbnVsbDtcblxuICBpZiAob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICB7XG4gICAgICBpZiAob3B0aW9ucy5oeWRyYXRlKSB7XG4gICAgICAgIHdhcm4oJ2h5ZHJhdGUgdGhyb3VnaCBjcmVhdGVSb290IGlzIGRlcHJlY2F0ZWQuIFVzZSBSZWFjdERPTUNsaWVudC5oeWRyYXRlUm9vdChjb250YWluZXIsIDxBcHAgLz4pIGluc3RlYWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucy4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICAgICAgZXJyb3IoJ1lvdSBwYXNzZWQgYSBKU1ggZWxlbWVudCB0byBjcmVhdGVSb290LiBZb3UgcHJvYmFibHkgbWVhbnQgdG8gJyArICdjYWxsIHJvb3QucmVuZGVyIGluc3RlYWQuICcgKyAnRXhhbXBsZSB1c2FnZTpcXG5cXG4nICsgJyAgbGV0IHJvb3QgPSBjcmVhdGVSb290KGRvbUNvbnRhaW5lcik7XFxuJyArICcgIHJvb3QucmVuZGVyKDxBcHAgLz4pOycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRyYW5zaXRpb25DYWxsYmFja3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJhbnNpdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMudHJhbnNpdGlvbkNhbGxiYWNrcztcbiAgICB9XG4gIH1cblxuICB2YXIgcm9vdCA9IGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXIsIENvbmN1cnJlbnRSb290LCBudWxsLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICB2YXIgcm9vdENvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IGNvbnRhaW5lci5wYXJlbnROb2RlIDogY29udGFpbmVyO1xuICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhyb290Q29udGFpbmVyRWxlbWVudCk7XG4gIHJldHVybiBuZXcgUmVhY3RET01Sb290KHJvb3QpO1xufVxuXG5mdW5jdGlvbiBSZWFjdERPTUh5ZHJhdGlvblJvb3QoaW50ZXJuYWxSb290KSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGludGVybmFsUm9vdDtcbn1cblxuZnVuY3Rpb24gc2NoZWR1bGVIeWRyYXRpb24odGFyZ2V0KSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBxdWV1ZUV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KHRhcmdldCk7XG4gIH1cbn1cblxuUmVhY3RET01IeWRyYXRpb25Sb290LnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbiA9IHNjaGVkdWxlSHlkcmF0aW9uO1xuZnVuY3Rpb24gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2h5ZHJhdGVSb290KC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB3YXJuSWZSZWFjdERPTUNvbnRhaW5lckluREVWKGNvbnRhaW5lcik7XG5cbiAge1xuICAgIGlmIChpbml0aWFsQ2hpbGRyZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3IoJ011c3QgcHJvdmlkZSBpbml0aWFsIGNoaWxkcmVuIGFzIHNlY29uZCBhcmd1bWVudCB0byBoeWRyYXRlUm9vdC4gJyArICdFeGFtcGxlIHVzYWdlOiBoeWRyYXRlUm9vdChkb21Db250YWluZXIsIDxBcHAgLz4pJyk7XG4gICAgfVxuICB9IC8vIEZvciBub3cgd2UgcmV1c2UgdGhlIHdob2xlIGJhZyBvZiBvcHRpb25zIHNpbmNlIHRoZXkgY29udGFpblxuICAvLyB0aGUgaHlkcmF0aW9uIGNhbGxiYWNrcy5cblxuXG4gIHZhciBoeWRyYXRpb25DYWxsYmFja3MgPSBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDogbnVsbDsgLy8gVE9ETzogRGVsZXRlIHRoaXMgb3B0aW9uXG5cbiAgdmFyIG11dGFibGVTb3VyY2VzID0gb3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMuaHlkcmF0ZWRTb3VyY2VzIHx8IG51bGw7XG4gIHZhciBpc1N0cmljdE1vZGUgPSBmYWxzZTtcbiAgdmFyIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUgPSBmYWxzZTtcbiAgdmFyIGlkZW50aWZpZXJQcmVmaXggPSAnJztcbiAgdmFyIG9uUmVjb3ZlcmFibGVFcnJvciA9IGRlZmF1bHRPblJlY292ZXJhYmxlRXJyb3I7XG5cbiAgaWYgKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9wdGlvbnMudW5zdGFibGVfc3RyaWN0TW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgaXNTdHJpY3RNb2RlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pZGVudGlmaWVyUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpZXJQcmVmaXggPSBvcHRpb25zLmlkZW50aWZpZXJQcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9uUmVjb3ZlcmFibGVFcnJvciA9IG9wdGlvbnMub25SZWNvdmVyYWJsZUVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgbnVsbCwgY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgaHlkcmF0aW9uQ2FsbGJhY2tzLCBpc1N0cmljdE1vZGUsIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsIGlkZW50aWZpZXJQcmVmaXgsIG9uUmVjb3ZlcmFibGVFcnJvcik7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpOyAvLyBUaGlzIGNhbid0IGJlIGEgY29tbWVudCBub2RlIHNpbmNlIGh5ZHJhdGlvbiBkb2Vzbid0IHdvcmsgb24gY29tbWVudCBub2RlcyBhbnl3YXkuXG5cbiAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMoY29udGFpbmVyKTtcblxuICBpZiAobXV0YWJsZVNvdXJjZXMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG11dGFibGVTb3VyY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbXV0YWJsZVNvdXJjZSA9IG11dGFibGVTb3VyY2VzW2ldO1xuICAgICAgcmVnaXN0ZXJNdXRhYmxlU291cmNlRm9ySHlkcmF0aW9uKHJvb3QsIG11dGFibGVTb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgUmVhY3RET01IeWRyYXRpb25Sb290KHJvb3QpO1xufVxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lcihub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8ICFkaXNhYmxlQ29tbWVudHNBc0RPTUNvbnRhaW5lcnMgICkpO1xufSAvLyBUT0RPOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiB3aGljaCBhbHNvIGluY2x1ZGVzIGNvbW1lbnQgbm9kZXMuXG4vLyBXZSBvbmx5IHVzZSBpdCBpbiBwbGFjZXMgdGhhdCBhcmUgY3VycmVudGx5IG1vcmUgcmVsYXhlZC5cblxuZnVuY3Rpb24gaXNWYWxpZENvbnRhaW5lckxlZ2FjeShub2RlKSB7XG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBub2RlLm5vZGVWYWx1ZSA9PT0gJyByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAnKSk7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlJlYWN0RE9NQ29udGFpbmVySW5ERVYoY29udGFpbmVyKSB7XG4gIHtcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgY29udGFpbmVyLnRhZ05hbWUgJiYgY29udGFpbmVyLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB7XG4gICAgICBlcnJvcignY3JlYXRlUm9vdCgpOiBDcmVhdGluZyByb290cyBkaXJlY3RseSB3aXRoIGRvY3VtZW50LmJvZHkgaXMgJyArICdkaXNjb3VyYWdlZCwgc2luY2UgaXRzIGNoaWxkcmVuIGFyZSBvZnRlbiBtYW5pcHVsYXRlZCBieSB0aGlyZC1wYXJ0eSAnICsgJ3NjcmlwdHMgYW5kIGJyb3dzZXIgZXh0ZW5zaW9ucy4gVGhpcyBtYXkgbGVhZCB0byBzdWJ0bGUgJyArICdyZWNvbmNpbGlhdGlvbiBpc3N1ZXMuIFRyeSB1c2luZyBhIGNvbnRhaW5lciBlbGVtZW50IGNyZWF0ZWQgJyArICdmb3IgeW91ciBhcHAuJyk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikpIHtcbiAgICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLnJlbmRlcigpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKSBvbiBhIGNvbnRhaW5lciB0aGF0ICcgKyAnaGFzIGFscmVhZHkgYmVlbiBwYXNzZWQgdG8gY3JlYXRlUm9vdCgpIGJlZm9yZS4gSW5zdGVhZCwgY2FsbCAnICsgJ3Jvb3QucmVuZGVyKCkgb24gdGhlIGV4aXN0aW5nIHJvb3QgaW5zdGVhZCBpZiB5b3Ugd2FudCB0byB1cGRhdGUgaXQuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XG52YXIgdG9wTGV2ZWxVcGRhdGVXYXJuaW5ncztcblxue1xuICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzID0gZnVuY3Rpb24gKGNvbnRhaW5lcikge1xuICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyLmN1cnJlbnQpO1xuXG4gICAgICBpZiAoaG9zdEluc3RhbmNlKSB7XG4gICAgICAgIGlmIChob3N0SW5zdGFuY2UucGFyZW50Tm9kZSAhPT0gY29udGFpbmVyKSB7XG4gICAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBJdCBsb29rcyBsaWtlIHRoZSBSZWFjdC1yZW5kZXJlZCBjb250ZW50IG9mIHRoaXMgJyArICdjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyAnUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSB0byBlbXB0eSBhIGNvbnRhaW5lci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0ID0gISFjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcbiAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG4gICAgdmFyIGhhc05vblJvb3RSZWFjdENoaWxkID0gISEocm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKSk7XG5cbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogUmVwbGFjaW5nIFJlYWN0LXJlbmRlcmVkIGNoaWxkcmVuIHdpdGggYSBuZXcgcm9vdCAnICsgJ2NvbXBvbmVudC4gSWYgeW91IGludGVuZGVkIHRvIHVwZGF0ZSB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCAnICsgJ3lvdSBzaG91bGQgaW5zdGVhZCBoYXZlIHRoZSBleGlzdGluZyBjaGlsZHJlbiB1cGRhdGUgdGhlaXIgc3RhdGUgJyArICdhbmQgcmVuZGVyIHRoZSBuZXcgY29tcG9uZW50cyBpbnN0ZWFkIG9mIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyLicpO1xuICAgIH1cblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBjb250YWluZXIudGFnTmFtZSAmJiBjb250YWluZXIudGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQk9EWScpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoKTogUmVuZGVyaW5nIGNvbXBvbmVudHMgZGlyZWN0bHkgaW50byBkb2N1bWVudC5ib2R5IGlzICcgKyAnZGlzY291cmFnZWQsIHNpbmNlIGl0cyBjaGlsZHJlbiBhcmUgb2Z0ZW4gbWFuaXB1bGF0ZWQgYnkgdGhpcmQtcGFydHkgJyArICdzY3JpcHRzIGFuZCBicm93c2VyIGV4dGVuc2lvbnMuIFRoaXMgbWF5IGxlYWQgdG8gc3VidGxlICcgKyAncmVjb25jaWxpYXRpb24gaXNzdWVzLiBUcnkgcmVuZGVyaW5nIGludG8gYSBjb250YWluZXIgZWxlbWVudCBjcmVhdGVkICcgKyAnZm9yIHlvdXIgYXBwLicpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoIWNvbnRhaW5lcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb250YWluZXIuZG9jdW1lbnRFbGVtZW50O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub29wT25SZWNvdmVyYWJsZUVycm9yKCkgey8vIFRoaXMgaXNuJ3QgcmVhY2hhYmxlIGJlY2F1c2Ugb25SZWNvdmVyYWJsZUVycm9yIGlzbid0IGNhbGxlZCBpbiB0aGVcbiAgLy8gbGVnYWN5IEFQSS5cbn1cblxuZnVuY3Rpb24gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2ssIGlzSHlkcmF0aW9uQ29udGFpbmVyKSB7XG4gIGlmIChpc0h5ZHJhdGlvbkNvbnRhaW5lcikge1xuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBvcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG4gICAgICAgIG9yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciByb290ID0gY3JlYXRlSHlkcmF0aW9uQ29udGFpbmVyKGluaXRpYWxDaGlsZHJlbiwgY2FsbGJhY2ssIGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgbnVsbCwgLy8gaHlkcmF0aW9uQ2FsbGJhY2tzXG4gICAgZmFsc2UsIC8vIGlzU3RyaWN0TW9kZVxuICAgIGZhbHNlLCAvLyBjb25jdXJyZW50VXBkYXRlc0J5RGVmYXVsdE92ZXJyaWRlLFxuICAgICcnLCAvLyBpZGVudGlmaWVyUHJlZml4XG4gICAgbm9vcE9uUmVjb3ZlcmFibGVFcnJvcik7XG4gICAgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSByb290O1xuICAgIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuICAgIHZhciByb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG4gICAgbGlzdGVuVG9BbGxTdXBwb3J0ZWRFdmVudHMocm9vdENvbnRhaW5lckVsZW1lbnQpO1xuICAgIGZsdXNoU3luYygpO1xuICAgIHJldHVybiByb290O1xuICB9IGVsc2Uge1xuICAgIC8vIEZpcnN0IGNsZWFyIGFueSBleGlzdGluZyBjb250ZW50LlxuICAgIHZhciByb290U2libGluZztcblxuICAgIHdoaWxlIChyb290U2libGluZyA9IGNvbnRhaW5lci5sYXN0Q2hpbGQpIHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChyb290U2libGluZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIF9vcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRQdWJsaWNSb290SW5zdGFuY2UoX3Jvb3QpO1xuXG4gICAgICAgIF9vcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX3Jvb3QgPSBjcmVhdGVDb250YWluZXIoY29udGFpbmVyLCBMZWdhY3lSb290LCBudWxsLCAvLyBoeWRyYXRpb25DYWxsYmFja3NcbiAgICBmYWxzZSwgLy8gaXNTdHJpY3RNb2RlXG4gICAgZmFsc2UsIC8vIGNvbmN1cnJlbnRVcGRhdGVzQnlEZWZhdWx0T3ZlcnJpZGUsXG4gICAgJycsIC8vIGlkZW50aWZpZXJQcmVmaXhcbiAgICBub29wT25SZWNvdmVyYWJsZUVycm9yKTtcblxuICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gX3Jvb3Q7XG4gICAgbWFya0NvbnRhaW5lckFzUm9vdChfcm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuXG4gICAgdmFyIF9yb290Q29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gY29udGFpbmVyLnBhcmVudE5vZGUgOiBjb250YWluZXI7XG5cbiAgICBsaXN0ZW5Ub0FsbFN1cHBvcnRlZEV2ZW50cyhfcm9vdENvbnRhaW5lckVsZW1lbnQpOyAvLyBJbml0aWFsIG1vdW50IHNob3VsZCBub3QgYmUgYmF0Y2hlZC5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVDb250YWluZXIoaW5pdGlhbENoaWxkcmVuLCBfcm9vdCwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjayk7XG4gICAgfSk7XG4gICAgcmV0dXJuIF9yb290O1xuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgdHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbGVnYWN5UmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBjaGlsZHJlbiwgY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzKGNvbnRhaW5lcik7XG4gICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaywgJ3JlbmRlcicpO1xuICB9XG5cbiAgdmFyIG1heWJlUm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyO1xuICB2YXIgcm9vdDtcblxuICBpZiAoIW1heWJlUm9vdCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICByb290ID0gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBjaGlsZHJlbiwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjaywgZm9yY2VIeWRyYXRlKTtcbiAgfSBlbHNlIHtcbiAgICByb290ID0gbWF5YmVSb290O1xuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIG9yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuICAgICAgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShyb290KTtcbiAgICAgICAgb3JpZ2luYWxDYWxsYmFjay5jYWxsKGluc3RhbmNlKTtcbiAgICAgIH07XG4gICAgfSAvLyBVcGRhdGVcblxuXG4gICAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCByb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBnZXRQdWJsaWNSb290SW5zdGFuY2Uocm9vdCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudE9yRWxlbWVudCkge1xuICB7XG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcblxuICAgICAgaWYgKCF3YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUob3duZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIG93bmVyLnN0YXRlTm9kZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb21wb25lbnRPckVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudE9yRWxlbWVudDtcbiAgfVxuXG4gIHtcbiAgICByZXR1cm4gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudE9yRWxlbWVudCwgJ2ZpbmRET01Ob2RlJyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGh5ZHJhdGUoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xuICB7XG4gICAgZXJyb3IoJ1JlYWN0RE9NLmh5ZHJhdGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBSZWFjdCAxOC4gVXNlIGh5ZHJhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLmh5ZHJhdGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIGh5ZHJhdGVSb290KGNvbnRhaW5lciwgZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9IC8vIFRPRE86IHRocm93IG9yIHdhcm4gaWYgd2UgY291bGRuJ3QgaHlkcmF0ZT9cblxuXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBlbGVtZW50LCBjb250YWluZXIsIHRydWUsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHJlbmRlcihlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICBlcnJvcignUmVhY3RET00ucmVuZGVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gUmVhY3QgMTguIFVzZSBjcmVhdGVSb290ICcgKyAnaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byB0aGUgbmV3IEFQSSwgeW91ciBhcHAgd2lsbCBiZWhhdmUgYXMgJyArIFwiaWYgaXQncyBydW5uaW5nIFJlYWN0IDE3LiBMZWFybiBcIiArICdtb3JlOiBodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3dpdGNoLXRvLWNyZWF0ZXJvb3QnKTtcbiAgfVxuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LicpO1xuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgcm9vdC5yZW5kZXIoZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAge1xuICAgIGVycm9yKCdSZWFjdERPTS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcigpIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgJyArICdpbiBSZWFjdCAxOC4gQ29uc2lkZXIgdXNpbmcgYSBwb3J0YWwgaW5zdGVhZC4gVW50aWwgeW91IHN3aXRjaCB0byAnICsgXCJ0aGUgY3JlYXRlUm9vdCBBUEksIHlvdXIgYXBwIHdpbGwgYmVoYXZlIGFzIGlmIGl0J3MgcnVubmluZyBSZWFjdCBcIiArICcxNy4gTGVhcm4gbW9yZTogaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3N3aXRjaC10by1jcmVhdGVyb290Jyk7XG4gIH1cblxuICBpZiAoIWlzVmFsaWRDb250YWluZXJMZWdhY3koY29udGFpbmVyTm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICBpZiAocGFyZW50Q29tcG9uZW50ID09IG51bGwgfHwgIWhhcyhwYXJlbnRDb21wb25lbnQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwYXJlbnRDb21wb25lbnQgbXVzdCBiZSBhIHZhbGlkIFJlYWN0IENvbXBvbmVudCcpO1xuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG4gIGlmICghaXNWYWxpZENvbnRhaW5lckxlZ2FjeShjb250YWluZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuJyk7XG4gIH1cblxuICB7XG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSgpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET01DbGllbnQuY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIERpZCB5b3UgbWVhbiB0byBjYWxsIHJvb3QudW5tb3VudCgpPycpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgIHtcbiAgICAgIHZhciByb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcbiAgICAgIHZhciByZW5kZXJlZEJ5RGlmZmVyZW50UmVhY3QgPSByb290RWwgJiYgIWdldEluc3RhbmNlRnJvbU5vZGUocm9vdEVsKTtcblxuICAgICAgaWYgKHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgYW5vdGhlciBjb3B5IG9mIFJlYWN0LicpO1xuICAgICAgfVxuICAgIH0gLy8gVW5tb3VudCBzaG91bGQgbm90IGJlIGJhdGNoZWQuXG5cblxuICAgIGZsdXNoU3luYyhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGBkZWxldGUgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXJgXG4gICAgICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gSWYgeW91IGNhbGwgdW5tb3VudENvbXBvbmVudEF0Tm9kZSB0d2ljZSBpbiBxdWljayBzdWNjZXNzaW9uLCB5b3UnbGxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHtcbiAgICAgIHZhciBfcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG5cbiAgICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKF9yb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZShfcm9vdEVsKSk7IC8vIENoZWNrIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIGlzIGEgUmVhY3Qgcm9vdCBub2RlLlxuXG4gICAgICB2YXIgaXNDb250YWluZXJSZWFjdFJvb3QgPSBjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBpc1ZhbGlkQ29udGFpbmVyTGVnYWN5KGNvbnRhaW5lci5wYXJlbnROb2RlKSAmJiAhIWNvbnRhaW5lci5wYXJlbnROb2RlLl9yZWFjdFJvb3RDb250YWluZXI7XG5cbiAgICAgIGlmIChoYXNOb25Sb290UmVhY3RDaGlsZCkge1xuICAgICAgICBlcnJvcihcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5zZXRBdHRlbXB0U3luY2hyb25vdXNIeWRyYXRpb24oYXR0ZW1wdFN5bmNocm9ub3VzSHlkcmF0aW9uJDEpO1xuc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24kMSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkoYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEpO1xuc2V0R2V0Q3VycmVudFVwZGF0ZVByaW9yaXR5KGdldEN1cnJlbnRVcGRhdGVQcmlvcml0eSk7XG5zZXRBdHRlbXB0SHlkcmF0aW9uQXRQcmlvcml0eShydW5XaXRoUHJpb3JpdHkpO1xuXG57XG4gIGlmICh0eXBlb2YgTWFwICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93SXNzdWUgRmxvdyBpbmNvcnJlY3RseSB0aGlua3MgTWFwIGhhcyBubyBwcm90b3R5cGVcbiAgTWFwLnByb3RvdHlwZSA9PSBudWxsIHx8IHR5cGVvZiBNYXAucHJvdG90eXBlLmZvckVhY2ggIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIFNldCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFNldCBoYXMgbm8gcHJvdG90eXBlXG4gIFNldC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5jbGVhciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgZXJyb3IoJ1JlYWN0IGRlcGVuZHMgb24gTWFwIGFuZCBTZXQgYnVpbHQtaW4gdHlwZXMuIE1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LXBvbHlmaWxscycpO1xuICB9XG59XG5cbnNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihyZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMpO1xuc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihiYXRjaGVkVXBkYXRlcyQxLCBkaXNjcmV0ZVVwZGF0ZXMsIGZsdXNoU3luYyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIpIHtcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC4nKTtcbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxuICAvLyAkRmxvd0ZpeE1lIFRoZSBGbG93IHR5cGUgaXMgb3BhcXVlIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhY3R1YWxseSBjcmVhdGUgaXQuXG5cblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXIsIG51bGwsIGtleSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spO1xufVxuXG52YXIgSW50ZXJuYWxzID0ge1xuICB1c2luZ0NsaWVudEVudHJ5UG9pbnQ6IGZhbHNlLFxuICAvLyBLZWVwIGluIHN5bmMgd2l0aCBSZWFjdFRlc3RVdGlscy5qcy5cbiAgLy8gVGhpcyBpcyBhbiBhcnJheSBmb3IgYmV0dGVyIG1pbmlmaWNhdGlvbi5cbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSwgZ2V0Tm9kZUZyb21JbnN0YW5jZSwgZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSwgZW5xdWV1ZVN0YXRlUmVzdG9yZSwgcmVzdG9yZVN0YXRlSWZOZWVkZWQsIGJhdGNoZWRVcGRhdGVzJDFdXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVSb290JDEoY29udGFpbmVyLCBvcHRpb25zKSB7XG4gIHtcbiAgICBpZiAoIUludGVybmFscy51c2luZ0NsaWVudEVudHJ5UG9pbnQgJiYgIWZhbHNlKSB7XG4gICAgICBlcnJvcignWW91IGFyZSBpbXBvcnRpbmcgY3JlYXRlUm9vdCBmcm9tIFwicmVhY3QtZG9tXCIgd2hpY2ggaXMgbm90IHN1cHBvcnRlZC4gJyArICdZb3Ugc2hvdWxkIGluc3RlYWQgaW1wb3J0IGl0IGZyb20gXCJyZWFjdC1kb20vY2xpZW50XCIuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVJvb3QoY29udGFpbmVyLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gaHlkcmF0ZVJvb3QkMShjb250YWluZXIsIGluaXRpYWxDaGlsZHJlbiwgb3B0aW9ucykge1xuICB7XG4gICAgaWYgKCFJbnRlcm5hbHMudXNpbmdDbGllbnRFbnRyeVBvaW50ICYmICFmYWxzZSkge1xuICAgICAgZXJyb3IoJ1lvdSBhcmUgaW1wb3J0aW5nIGh5ZHJhdGVSb290IGZyb20gXCJyZWFjdC1kb21cIiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1lvdSBzaG91bGQgaW5zdGVhZCBpbXBvcnQgaXQgZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIi4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaHlkcmF0ZVJvb3QoY29udGFpbmVyLCBpbml0aWFsQ2hpbGRyZW4sIG9wdGlvbnMpO1xufSAvLyBPdmVybG9hZCB0aGUgZGVmaW5pdGlvbiB0byB0aGUgdHdvIHZhbGlkIHNpZ25hdHVyZXMuXG4vLyBXYXJuaW5nLCB0aGlzIG9wdHMtb3V0IG9mIGNoZWNraW5nIHRoZSBmdW5jdGlvbiBib2R5LlxuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGZsdXNoU3luYyQxKGZuKSB7XG4gIHtcbiAgICBpZiAoaXNBbHJlYWR5UmVuZGVyaW5nKCkpIHtcbiAgICAgIGVycm9yKCdmbHVzaFN5bmMgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIGxpZmVjeWNsZSBtZXRob2QuIFJlYWN0IGNhbm5vdCAnICsgJ2ZsdXNoIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuIENvbnNpZGVyIG1vdmluZyB0aGlzIGNhbGwgdG8gJyArICdhIHNjaGVkdWxlciB0YXNrIG9yIG1pY3JvIHRhc2suJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZsdXNoU3luYyhmbik7XG59XG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XG4gIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSxcbiAgYnVuZGxlVHlwZTogIDEgLFxuICB2ZXJzaW9uOiBSZWFjdFZlcnNpb24sXG4gIHJlbmRlcmVyUGFja2FnZU5hbWU6ICdyZWFjdC1kb20nXG59KTtcblxue1xuICBpZiAoIWZvdW5kRGV2VG9vbHMgJiYgY2FuVXNlRE9NICYmIHdpbmRvdy50b3AgPT09IHdpbmRvdy5zZWxmKSB7XG4gICAgLy8gSWYgd2UncmUgaW4gQ2hyb21lIG9yIEZpcmVmb3gsIHByb3ZpZGUgYSBkb3dubG9hZCBsaW5rIGlmIG5vdCBpbnN0YWxsZWQuXG4gICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQ2hyb21lJykgPiAtMSAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0VkZ2UnKSA9PT0gLTEgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdGaXJlZm94JykgPiAtMSkge1xuICAgICAgdmFyIHByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sOyAvLyBEb24ndCB3YXJuIGluIGV4b3RpYyBjYXNlcyBsaWtlIGNocm9tZS1leHRlbnNpb246Ly8uXG5cbiAgICAgIGlmICgvXihodHRwcz98ZmlsZSk6JC8udGVzdChwcm90b2NvbCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuICAgICAgICBjb25zb2xlLmluZm8oJyVjRG93bmxvYWQgdGhlIFJlYWN0IERldlRvb2xzICcgKyAnZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6ICcgKyAnaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3JlYWN0LWRldnRvb2xzJyArIChwcm90b2NvbCA9PT0gJ2ZpbGU6JyA/ICdcXG5Zb3UgbWlnaHQgbmVlZCB0byB1c2UgYSBsb2NhbCBIVFRQIHNlcnZlciAoaW5zdGVhZCBvZiBmaWxlOi8vKTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvcmVhY3QtZGV2dG9vbHMtZmFxJyA6ICcnKSwgJ2ZvbnQtd2VpZ2h0OmJvbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IEludGVybmFscztcbmV4cG9ydHMuY3JlYXRlUG9ydGFsID0gY3JlYXRlUG9ydGFsJDE7XG5leHBvcnRzLmNyZWF0ZVJvb3QgPSBjcmVhdGVSb290JDE7XG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XG5leHBvcnRzLmZsdXNoU3luYyA9IGZsdXNoU3luYyQxO1xuZXhwb3J0cy5oeWRyYXRlID0gaHlkcmF0ZTtcbmV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBoeWRyYXRlUm9vdCQxO1xuZXhwb3J0cy5yZW5kZXIgPSByZW5kZXI7XG5leHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGUgPSB1bm1vdW50Q29tcG9uZW50QXROb2RlO1xuZXhwb3J0cy51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyA9IGJhdGNoZWRVcGRhdGVzJDE7XG5leHBvcnRzLnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyID0gcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7XG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XG4gICAgICAgICAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AobmV3IEVycm9yKCkpO1xufVxuICAgICAgICBcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/client.js": -/*!******************************************!*\ - !*** ./node_modules/react-dom/client.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar m = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\nif (false) {} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLG1CQUFPLENBQUMsb0RBQVc7QUFDM0IsSUFBSSxLQUFxQyxFQUFFLEVBRzFDLENBQUM7QUFDRjtBQUNBLEVBQUUsa0JBQWtCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFtQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9jbGllbnQuanM/YWY4MSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBtID0gcmVxdWlyZSgncmVhY3QtZG9tJyk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBtLmNyZWF0ZVJvb3Q7XG4gIGV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBtLmh5ZHJhdGVSb290O1xufSBlbHNlIHtcbiAgdmFyIGkgPSBtLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuICBleHBvcnRzLmNyZWF0ZVJvb3QgPSBmdW5jdGlvbihjLCBvKSB7XG4gICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbS5jcmVhdGVSb290KGMsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbiAgZXhwb3J0cy5oeWRyYXRlUm9vdCA9IGZ1bmN0aW9uKGMsIGgsIG8pIHtcbiAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBtLmh5ZHJhdGVSb290KGMsIGgsIG8pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpLnVzaW5nQ2xpZW50RW50cnlQb2ludCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/client.js\n")); - -/***/ }), - -/***/ "./node_modules/react-dom/index.js": -/*!*****************************************!*\ - !*** ./node_modules/react-dom/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"./node_modules/react-dom/cjs/react-dom.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLElBQXFDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUksS0FBcUMsRUFBRSxFQUsxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qcz83NzIyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gY2hlY2tEQ0UoKSB7XG4gIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbiAgaWYgKFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBUaGlzIGJyYW5jaCBpcyB1bnJlYWNoYWJsZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWRcbiAgICAvLyBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIG9ubHkgaW4gZGV2ZWxvcG1lbnQuXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxuICAgIC8vIHByb3Blcmx5IGFwcGxpZWQuXG4gICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBtZXNzYWdlLiBSZWFjdCBEZXZUb29scyByZWxpZXMgb24gaXQuIEFsc28gbWFrZSBzdXJlXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcbiAgICAvLyBhIGZhbHNlIHBvc2l0aXZlLlxuICAgIHRocm93IG5ldyBFcnJvcignXl9eJyk7XG4gIH1cbiAgdHJ5IHtcbiAgICAvLyBWZXJpZnkgdGhhdCB0aGUgY29kZSBhYm92ZSBoYXMgYmVlbiBkZWFkIGNvZGUgZWxpbWluYXRlZCAoRENFJ2QpLlxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIERldlRvb2xzIHNob3VsZG4ndCBjcmFzaCBSZWFjdCwgbm8gbWF0dGVyIHdoYXQuXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH1cbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgLy8gRENFIGNoZWNrIHNob3VsZCBoYXBwZW4gYmVmb3JlIFJlYWN0RE9NIGJ1bmRsZSBleGVjdXRlcyBzbyB0aGF0XG4gIC8vIERldlRvb2xzIGNhbiByZXBvcnQgYmFkIG1pbmlmaWNhdGlvbiBkdXJpbmcgaW5qZWN0aW9uLlxuICBjaGVja0RDRSgpO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-dom/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react.development.js": -/*!*****************************************************!*\ - !*** ./node_modules/react/cjs/react.development.js ***! - \*****************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBLE1BQU07OztBQUdOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0EscUNBQXFDOztBQUVyQyxnQ0FBZ0M7QUFDaEM7QUFDQTs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkZBQTZGLGFBQWE7QUFDMUc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDhNQUE4TTs7QUFFOU07QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFlBQVk7QUFDekIsY0FBYyxTQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxZQUFZO0FBQ3pCLGFBQWEsV0FBVztBQUN4QixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxZQUFZO0FBQ3pCLGFBQWEsUUFBUTtBQUNyQixhQUFhLFdBQVc7QUFDeEIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFlBQVk7QUFDekIsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsV0FBVztBQUN4QixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUIsMkJBQTJCO0FBQzNCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEI7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwQkFBMEI7O0FBRTFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkLFdBQVcsZUFBZTtBQUMxQixXQUFXLEdB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QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLElBQUk7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLElBQUk7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQzs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUztBQUNULHVCQUF1QjtBQUN2QjtBQUNBLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkI7QUFDQSxTQUFTO0FBQ1Qsd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNULHdCQUF3QjtBQUN4QjtBQUNBLFNBQVM7QUFDVCxpQ0FBaUM7QUFDakM7QUFDQSxTQUFTO0FBQ1QsMkJBQTJCO0FBQzNCO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkRBQTJEOztBQUUzRDtBQUNBOztBQUVBO0FBQ0EsMkRBQTJEO0FBQzNEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLGtCQUFrQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCOzs7QUFHbEI7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwySEFBMkg7QUFDM0g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxvRUFBb0U7O0FBRXBFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsR0FBRztBQUNkOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwyREFBMkQ7QUFDM0Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixXQUFXLEdBQUc7QUFDZDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6Qjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLDRDQUE0Qzs7QUFFNUM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6Qjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNEQUFzRDtBQUN0RDs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBOztBQUVBLDBPQUEwTztBQUMxTztBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOLGdDQUFnQztBQUNoQzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULFFBQVE7QUFDUjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsa0JBQWtCO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsZ0JBQWdCO0FBQ2hCLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIscUJBQXFCO0FBQ3JCLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsWUFBWTtBQUNaLFlBQVk7QUFDWix1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCLG1CQUFtQjtBQUNuQixrQkFBa0I7QUFDbEIscUJBQXFCO0FBQ3JCLHdCQUF3QjtBQUN4QixpQkFBaUI7QUFDakIsYUFBYTtBQUNiLDJCQUEyQjtBQUMzQiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLGVBQWU7QUFDZixrQkFBa0I7QUFDbEIsY0FBYztBQUNkLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcz8xYjdlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcblxuICAgICAgICAgICd1c2Ugc3RyaWN0JztcblxuLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdGFydChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgICAgdmFyIFJlYWN0VmVyc2lvbiA9ICcxOC4yLjAnO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgYmF0Y2gncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaG93IGxvbmcgYW4gdXBkYXRlXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgdHJhbnNpdGlvbjogbnVsbFxufTtcblxudmFyIFJlYWN0Q3VycmVudEFjdFF1ZXVlID0ge1xuICBjdXJyZW50OiBudWxsLFxuICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLlxuICBpc0JhdGNoaW5nTGVnYWN5OiBmYWxzZSxcbiAgZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGU6IGZhbHNlXG59O1xuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxuICpcbiAqIFRoZSBjdXJyZW50IG93bmVyIGlzIHRoZSBjb21wb25lbnQgd2hvIHNob3VsZCBvd24gYW55IGNvbXBvbmVudHMgdGhhdCBhcmVcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqL1xudmFyIFJlYWN0Q3VycmVudE93bmVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0ge307XG52YXIgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IG51bGw7XG5mdW5jdGlvbiBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spIHtcbiAge1xuICAgIGN1cnJlbnRFeHRyYVN0YWNrRnJhbWUgPSBzdGFjaztcbiAgfVxufVxuXG57XG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lID0gZnVuY3Rpb24gKHN0YWNrKSB7XG4gICAge1xuICAgICAgY3VycmVudEV4dHJhU3RhY2tGcmFtZSA9IHN0YWNrO1xuICAgIH1cbiAgfTsgLy8gU3RhY2sgaW1wbGVtZW50YXRpb24gaW5qZWN0ZWQgYnkgdGhlIGN1cnJlbnQgcmVuZGVyZXIuXG5cblxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldEN1cnJlbnRTdGFjayA9IG51bGw7XG5cbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdGFjayA9ICcnOyAvLyBBZGQgYW4gZXh0cmEgdG9wIGZyYW1lIHdoaWxlIGFuIGVsZW1lbnQgaXMgYmVpbmcgdmFsaWRhdGVkXG5cbiAgICBpZiAoY3VycmVudEV4dHJhU3RhY2tGcmFtZSkge1xuICAgICAgc3RhY2sgKz0gY3VycmVudEV4dHJhU3RhY2tGcmFtZTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xuXG4gICAgaWYgKGltcGwpIHtcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH07XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBlbmFibGVTY29wZUFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgQ3JlYXRlIEV2ZW50IEhhbmRsZSBBUEkuXG52YXIgZW5hYmxlQ2FjaGVFbGVtZW50ID0gZmFsc2U7XG52YXIgZW5hYmxlVHJhbnNpdGlvblRyYWNpbmcgPSBmYWxzZTsgLy8gTm8ga25vd24gYnVncywgYnV0IG5lZWRzIHBlcmZvcm1hbmNlIHRlc3RpbmdcblxudmFyIGVuYWJsZUxlZ2FjeUhpZGRlbiA9IGZhbHNlOyAvLyBFbmFibGVzIHVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrIGZlYXR1cmUgaW4gRmliZXJcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7IC8vIFRyYWNrIHdoaWNoIEZpYmVyKHMpIHNjaGVkdWxlIHJlbmRlciB3b3JrLlxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSB7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXI6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcbiAgUmVhY3RDdXJyZW50T3duZXI6IFJlYWN0Q3VycmVudE93bmVyXG59O1xuXG57XG4gIFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRBY3RRdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxudmFyIGVtcHR5T2JqZWN0ID0ge307XG5cbntcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxuICovXG5cblxuZnVuY3Rpb24gQ29tcG9uZW50KHByb3BzLCBjb250ZXh0LCB1cGRhdGVyKSB7XG4gIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXG5cbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7IC8vIFdlIGluaXRpYWxpemUgdGhlIGRlZmF1bHQgdXBkYXRlciBidXQgdGhlIHJlYWwgb25lIGdldHMgaW5qZWN0ZWQgYnkgdGhlXG4gIC8vIHJlbmRlcmVyLlxuXG4gIHRoaXMudXBkYXRlciA9IHVwZGF0ZXIgfHwgUmVhY3ROb29wVXBkYXRlUXVldWU7XG59XG5cbkNvbXBvbmVudC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCA9IHt9O1xuLyoqXG4gKiBTZXRzIGEgc3Vic2V0IG9mIHRoZSBzdGF0ZS4gQWx3YXlzIHVzZSB0aGlzIHRvIG11dGF0ZVxuICogc3RhdGUuIFlvdSBzaG91bGQgdHJlYXQgYHRoaXMuc3RhdGVgIGFzIGltbXV0YWJsZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICogYWNjZXNzaW5nIGB0aGlzLnN0YXRlYCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIG1heSByZXR1cm4gdGhlIG9sZCB2YWx1ZS5cbiAqXG4gKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBjYWxscyB0byBgc2V0U3RhdGVgIHdpbGwgcnVuIHN5bmNocm9ub3VzbHksXG4gKiBhcyB0aGV5IG1heSBldmVudHVhbGx5IGJlIGJhdGNoZWQgdG9nZXRoZXIuICBZb3UgY2FuIHByb3ZpZGUgYW4gb3B0aW9uYWxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XG4gKiBjb21wbGV0ZWQuXG4gKlxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXG4gKiB0aGUgZnV0dXJlIChub3Qgc3luY2hyb25vdXNseSkuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHVwIHRvIGRhdGVcbiAqIGNvbXBvbmVudCBhcmd1bWVudHMgKHN0YXRlLCBwcm9wcywgY29udGV4dCkuIFRoZXNlIHZhbHVlcyBjYW4gYmUgZGlmZmVyZW50XG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxuICogc2hvdWxkQ29tcG9uZW50VXBkYXRlLCBhbmQgdGhpcyBuZXcgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCB3aWxsIG5vdCB5ZXQgYmVcbiAqIGFzc2lnbmVkIHRvIHRoaXMuXG4gKlxuICogQHBhcmFtIHtvYmplY3R8ZnVuY3Rpb259IHBhcnRpYWxTdGF0ZSBOZXh0IHBhcnRpYWwgc3RhdGUgb3IgZnVuY3Rpb24gdG9cbiAqICAgICAgICBwcm9kdWNlIG5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuQ29tcG9uZW50LnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uIChwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGFydGlhbFN0YXRlICE9PSAnZnVuY3Rpb24nICYmIHBhcnRpYWxTdGF0ZSAhPSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhICcgKyAnZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLicpO1xuICB9XG5cbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcbn07XG4vKipcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICpcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICpcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gKlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLCBjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG59O1xuLyoqXG4gKiBEZXByZWNhdGVkIEFQSXMuIFRoZXNlIEFQSXMgdXNlZCB0byBleGlzdCBvbiBjbGFzc2ljIFJlYWN0IGNsYXNzZXMgYnV0IHNpbmNlXG4gKiB3ZSB3b3VsZCBsaWtlIHRvIGRlcHJlY2F0ZSB0aGVtLCB3ZSdyZSBub3QgZ29pbmcgdG8gbW92ZSB0aGVtIG92ZXIgdG8gdGhpc1xuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXG4gKi9cblxuXG57XG4gIHZhciBkZXByZWNhdGVkQVBJcyA9IHtcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXG4gICAgcmVwbGFjZVN0YXRlOiBbJ3JlcGxhY2VTdGF0ZScsICdSZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIHNldFN0YXRlIGluc3RlYWQgKHNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMzIzNikuJ11cbiAgfTtcblxuICB2YXIgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nID0gZnVuY3Rpb24gKG1ldGhvZE5hbWUsIGluZm8pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcG9uZW50LnByb3RvdHlwZSwgbWV0aG9kTmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJyVzKC4uLikgaXMgZGVwcmVjYXRlZCBpbiBwbGFpbiBKYXZhU2NyaXB0IFJlYWN0IGNsYXNzZXMuICVzJywgaW5mb1swXSwgaW5mb1sxXSk7XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBmbk5hbWUgaW4gZGVwcmVjYXRlZEFQSXMpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xuICAgICAgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nKGZuTmFtZSwgZGVwcmVjYXRlZEFQSXNbZm5OYW1lXSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cblxuQ29tcG9uZW50RHVtbXkucHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbi8qKlxuICogQ29udmVuaWVuY2UgY29tcG9uZW50IHdpdGggZGVmYXVsdCBzaGFsbG93IGVxdWFsaXR5IGNoZWNrIGZvciBzQ1UuXG4gKi9cblxuZnVuY3Rpb24gUHVyZUNvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0O1xuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHVyZUNvbXBvbmVudDsgLy8gQXZvaWQgYW4gZXh0cmEgcHJvdG90eXBlIGp1bXAgZm9yIHRoZXNlIG1ldGhvZHMuXG5cbmFzc2lnbihwdXJlQ29tcG9uZW50UHJvdG90eXBlLCBDb21wb25lbnQucHJvdG90eXBlKTtcbnB1cmVDb21wb25lbnRQcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXG4vLyBhbiBpbW11dGFibGUgb2JqZWN0IHdpdGggYSBzaW5nbGUgbXV0YWJsZSB2YWx1ZVxuZnVuY3Rpb24gY3JlYXRlUmVmKCkge1xuICB2YXIgcmVmT2JqZWN0ID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgT2JqZWN0LnNlYWwocmVmT2JqZWN0KTtcbiAgfVxuXG4gIHJldHVybiByZWZPYmplY3Q7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGRpc3BsYXlOYW1lID0gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lO1xuXG4gIGlmIChkaXNwbGF5TmFtZSkge1xuICAgIHJldHVybiBkaXNwbGF5TmFtZTtcbiAgfVxuXG4gIHZhciBmdW5jdGlvbk5hbWUgPSBpbm5lclR5cGUuZGlzcGxheU5hbWUgfHwgaW5uZXJUeXBlLm5hbWUgfHwgJyc7XG4gIHJldHVybiBmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWU7XG59IC8vIEtlZXAgaW4gc3luYyB3aXRoIHJlYWN0LXJlY29uY2lsZXIvZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlclxuXG5cbmZ1bmN0aW9uIGdldENvbnRleHROYW1lKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbnRleHQnO1xufSAvLyBOb3RlIHRoYXQgdGhlIHJlY29uY2lsZXIgcGFja2FnZSBzaG91bGQgZ2VuZXJhbGx5IHByZWZlciB0byB1c2UgZ2V0Q29tcG9uZW50TmFtZUZyb21GaWJlcigpIGluc3RlYWQuXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcbiAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKHByb3ZpZGVyLl9jb250ZXh0KSArICcuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHZhciBvdXRlck5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lIHx8IG51bGw7XG5cbiAgICAgICAgaWYgKG91dGVyTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBvdXRlck5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUudHlwZSkgfHwgJ01lbW8nO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XG4gIGtleTogdHJ1ZSxcbiAgcmVmOiB0cnVlLFxuICBfX3NlbGY6IHRydWUsXG4gIF9fc291cmNlOiB0cnVlXG59O1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zcGVjaWFsLXByb3BzKScsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gdHJ1ZTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAna2V5Jywge1xuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XG4gICAge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgY29uZmlnLl9fc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gY29uZmlnLl9fc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGNvbXBvbmVudE5hbWUsIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG52YXIgUmVhY3RFbGVtZW50ID0gZnVuY3Rpb24gKHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgZWxlbWVudCA9IHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICB0eXBlOiB0eXBlLFxuICAgIGtleToga2V5LFxuICAgIHJlZjogcmVmLFxuICAgIHByb3BzOiBwcm9wcyxcbiAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgIF9vd25lcjogb3duZXJcbiAgfTtcblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NlbGYnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc2VsZlxuICAgIH0pOyAvLyBUd28gZWxlbWVudHMgY3JlYXRlZCBpbiB0d28gZGlmZmVyZW50IHBsYWNlcyBzaG91bGQgYmUgY29uc2lkZXJlZFxuICAgIC8vIGVxdWFsIGZvciB0ZXN0aW5nIHB1cnBvc2VzIGFuZCB0aGVyZWZvcmUgd2UgaGlkZSBpdCBmcm9tIGVudW1lcmF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNvdXJjZVxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcbi8qKlxuICogQ3JlYXRlIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gIHZhciBwcm9wcyA9IHt9O1xuICB2YXIga2V5ID0gbnVsbDtcbiAgdmFyIHJlZiA9IG51bGw7XG4gIHZhciBzZWxmID0gbnVsbDtcbiAgdmFyIHNvdXJjZSA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHJlZiA9IGNvbmZpZy5yZWY7XG5cbiAgICAgIHtcbiAgICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIHtcbiAgICAgICAgY2hlY2tLZXlTdHJpbmdDb2VyY2lvbihjb25maWcua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gJycgKyBjb25maWcua2V5O1xuICAgIH1cblxuICAgIHNlbGYgPSBjb25maWcuX19zZWxmID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnLl9fc2VsZjtcbiAgICBzb3VyY2UgPSBjb25maWcuX19zb3VyY2UgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zb3VyY2U7IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cbiAgLy8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9wcyBvYmplY3QuXG5cblxuICB2YXIgY2hpbGRyZW5MZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoIC0gMjtcblxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkQXJyYXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfSAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcblxuXG4gIGlmICh0eXBlICYmIHR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHtcbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoa2V5IHx8IHJlZikge1xuICAgICAgdmFyIGRpc3BsYXlOYW1lID0gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgPyB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCAnVW5rbm93bicgOiB0eXBlO1xuXG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQsIHByb3BzKTtcbn1cbmZ1bmN0aW9uIGNsb25lQW5kUmVwbGFjZUtleShvbGRFbGVtZW50LCBuZXdLZXkpIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBSZWFjdEVsZW1lbnQob2xkRWxlbWVudC50eXBlLCBuZXdLZXksIG9sZEVsZW1lbnQucmVmLCBvbGRFbGVtZW50Ll9zZWxmLCBvbGRFbGVtZW50Ll9zb3VyY2UsIG9sZEVsZW1lbnQuX293bmVyLCBvbGRFbGVtZW50LnByb3BzKTtcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XG59XG4vKipcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjbG9uZWVsZW1lbnRcbiAqL1xuXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCwgY29uZmlnLCBjaGlsZHJlbikge1xuICBpZiAoZWxlbWVudCA9PT0gbnVsbCB8fCBlbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIiArIGVsZW1lbnQgKyBcIi5cIik7XG4gIH1cblxuICB2YXIgcHJvcE5hbWU7IC8vIE9yaWdpbmFsIHByb3BzIGFyZSBjb3BpZWRcblxuICB2YXIgcHJvcHMgPSBhc3NpZ24oe30sIGVsZW1lbnQucHJvcHMpOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cbiAgdmFyIGtleSA9IGVsZW1lbnQua2V5O1xuICB2YXIgcmVmID0gZWxlbWVudC5yZWY7IC8vIFNlbGYgaXMgcHJlc2VydmVkIHNpbmNlIHRoZSBvd25lciBpcyBwcmVzZXJ2ZWQuXG5cbiAgdmFyIHNlbGYgPSBlbGVtZW50Ll9zZWxmOyAvLyBTb3VyY2UgaXMgcHJlc2VydmVkIHNpbmNlIGNsb25lRWxlbWVudCBpcyB1bmxpa2VseSB0byBiZSB0YXJnZXRlZCBieSBhXG4gIC8vIHRyYW5zcGlsZXIsIGFuZCB0aGUgb3JpZ2luYWwgc291cmNlIGlzIHByb2JhYmx5IGEgYmV0dGVyIGluZGljYXRvciBvZiB0aGVcbiAgLy8gdHJ1ZSBvd25lci5cblxuICB2YXIgc291cmNlID0gZWxlbWVudC5fc291cmNlOyAvLyBPd25lciB3aWxsIGJlIHByZXNlcnZlZCwgdW5sZXNzIHJlZiBpcyBvdmVycmlkZGVuXG5cbiAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIC8vIFNpbGVudGx5IHN0ZWFsIHRoZSByZWYgZnJvbSB0aGUgcGFyZW50LlxuICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xuXG5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQudHlwZSAmJiBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xuICAgIH1cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjb25maWdbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQoZWxlbWVudC50eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG4vKipcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0byBiZSBlc2NhcGVkLlxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXG4gKi9cblxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xuICB2YXIgZXNjYXBlUmVnZXggPSAvWz06XS9nO1xuICB2YXIgZXNjYXBlckxvb2t1cCA9IHtcbiAgICAnPSc6ICc9MCcsXG4gICAgJzonOiAnPTInXG4gIH07XG4gIHZhciBlc2NhcGVkU3RyaW5nID0ga2V5LnJlcGxhY2UoZXNjYXBlUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBlc2NhcGVyTG9va3VwW21hdGNoXTtcbiAgfSk7XG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuLyoqXG4gKiBUT0RPOiBUZXN0IHRoYXQgYSBzaW5nbGUgY2hpbGQgYW5kIGFuIGFycmF5IHdpdGggb25lIGl0ZW0gaGF2ZSB0aGUgc2FtZSBrZXlcbiAqIHBhdHRlcm4uXG4gKi9cblxuXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xudmFyIHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4ID0gL1xcLysvZztcblxuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZSh1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCwgJyQmLycpO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGEgZWxlbWVudCB3aXRoaW4gYSBzZXQuXG4gKlxuICogQHBhcmFtIHsqfSBlbGVtZW50IEEgZWxlbWVudCB0aGF0IGNvdWxkIGNvbnRhaW4gYSBtYW51YWwga2V5LlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IEluZGV4IHRoYXQgaXMgdXNlZCBpZiBhIG1hbnVhbCBrZXkgaXMgbm90IHByb3ZpZGVkLlxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0RWxlbWVudEtleShlbGVtZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnb2JqZWN0JyAmJiBlbGVtZW50ICE9PSBudWxsICYmIGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICB7XG4gICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKGVsZW1lbnQua2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXNjYXBlKCcnICsgZWxlbWVudC5rZXkpO1xuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG5cblxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIGFycmF5LCBlc2NhcGVkUHJlZml4LCBuYW1lU29GYXIsIGNhbGxiYWNrKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xuXG4gIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnYm9vbGVhbicpIHtcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cbiAgICBjaGlsZHJlbiA9IG51bGw7XG4gIH1cblxuICB2YXIgaW52b2tlQ2FsbGJhY2sgPSBmYWxzZTtcblxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgc3dpdGNoIChjaGlsZHJlbi4kJHR5cGVvZikge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGlmIChpbnZva2VDYWxsYmFjaykge1xuICAgIHZhciBfY2hpbGQgPSBjaGlsZHJlbjtcbiAgICB2YXIgbWFwcGVkQ2hpbGQgPSBjYWxsYmFjayhfY2hpbGQpOyAvLyBJZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCB0cmVhdCB0aGUgbmFtZSBhcyBpZiBpdCB3YXMgd3JhcHBlZCBpbiBhbiBhcnJheVxuICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3M6XG5cbiAgICB2YXIgY2hpbGRLZXkgPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0RWxlbWVudEtleShfY2hpbGQsIDApIDogbmFtZVNvRmFyO1xuXG4gICAgaWYgKGlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgICB2YXIgZXNjYXBlZENoaWxkS2V5ID0gJyc7XG5cbiAgICAgIGlmIChjaGlsZEtleSAhPSBudWxsKSB7XG4gICAgICAgIGVzY2FwZWRDaGlsZEtleSA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShjaGlsZEtleSkgKyAnLyc7XG4gICAgICB9XG5cbiAgICAgIG1hcEludG9BcnJheShtYXBwZWRDaGlsZCwgYXJyYXksIGVzY2FwZWRDaGlsZEtleSwgJycsIGZ1bmN0aW9uIChjKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChtYXBwZWRDaGlsZCAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUaGUgYGlmYCBzdGF0ZW1lbnQgaGVyZSBwcmV2ZW50cyBhdXRvLWRpc2FibGluZyBvZiB0aGUgc2FmZVxuICAgICAgICAgIC8vIGNvZXJjaW9uIEVTTGludCBydWxlLCBzbyB3ZSBtdXN0IG1hbnVhbGx5IGRpc2FibGUgaXQgYmVsb3cuXG4gICAgICAgICAgLy8gJEZsb3dGaXhNZSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBSZWFjdC5Qb3J0YWwgZG9lc24ndCBoYXZlIGEga2V5XG4gICAgICAgICAgaWYgKG1hcHBlZENoaWxkLmtleSAmJiAoIV9jaGlsZCB8fCBfY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpKSB7XG4gICAgICAgICAgICBjaGVja0tleVN0cmluZ0NvZXJjaW9uKG1hcHBlZENoaWxkLmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFwcGVkQ2hpbGQgPSBjbG9uZUFuZFJlcGxhY2VLZXkobWFwcGVkQ2hpbGQsIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBlc2NhcGVkUHJlZml4ICsgKCAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIFJlYWN0LlBvcnRhbCBkb2Vzbid0IGhhdmUgYSBrZXlcbiAgICAgICAgbWFwcGVkQ2hpbGQua2V5ICYmICghX2NoaWxkIHx8IF9jaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSkgPyAvLyAkRmxvd0ZpeE1lIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIGV4aXN0aW5nIGVsZW1lbnQncyBrZXkgY2FuIGJlIGEgbnVtYmVyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICAgICAgICBlc2NhcGVVc2VyUHJvdmlkZWRLZXkoJycgKyBtYXBwZWRDaGlsZC5rZXkpICsgJy8nIDogJycpICsgY2hpbGRLZXkpO1xuICAgICAgfVxuXG4gICAgICBhcnJheS5wdXNoKG1hcHBlZENoaWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHZhciBjaGlsZDtcbiAgdmFyIG5leHROYW1lO1xuICB2YXIgc3VidHJlZUNvdW50ID0gMDsgLy8gQ291bnQgb2YgY2hpbGRyZW4gZm91bmQgaW4gdGhlIGN1cnJlbnQgc3VidHJlZS5cblxuICB2YXIgbmV4dE5hbWVQcmVmaXggPSBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SIDogbmFtZVNvRmFyICsgU1VCU0VQQVJBVE9SO1xuXG4gIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0RWxlbWVudEtleShjaGlsZCwgaSk7XG4gICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGl0ZXJhYmxlQ2hpbGRyZW4gPSBjaGlsZHJlbjtcblxuICAgICAge1xuICAgICAgICAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gPT09IGl0ZXJhYmxlQ2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgICAgd2FybignVXNpbmcgTWFwcyBhcyBjaGlsZHJlbiBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ1VzZSBhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGl0ZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgdmFyIHN0ZXA7XG4gICAgICB2YXIgaWkgPSAwO1xuXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgIGNoaWxkID0gc3RlcC52YWx1ZTtcbiAgICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldEVsZW1lbnRLZXkoY2hpbGQsIGlpKyspO1xuICAgICAgICBzdWJ0cmVlQ291bnQgKz0gbWFwSW50b0FycmF5KGNoaWxkLCBhcnJheSwgZXNjYXBlZFByZWZpeCwgbmV4dE5hbWUsIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9IFN0cmluZyhjaGlsZHJlbik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IFwiICsgKGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJyA/ICdvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMoY2hpbGRyZW4pLmpvaW4oJywgJykgKyAnfScgOiBjaGlsZHJlblN0cmluZykgKyBcIikuIFwiICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgJyArICdpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZ1bmMgVGhlIG1hcCBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBDb250ZXh0IGZvciBtYXBGdW5jdGlvbi5cbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXG4gKi9cbmZ1bmN0aW9uIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jLCBjb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIgY291bnQgPSAwO1xuICBtYXBJbnRvQXJyYXkoY2hpbGRyZW4sIHJlc3VsdCwgJycsICcnLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBjb3VudCsrKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhc1xuICogYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5jb3VudFxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuLlxuICovXG5cblxuZnVuY3Rpb24gY291bnRDaGlsZHJlbihjaGlsZHJlbikge1xuICB2YXIgbiA9IDA7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgbisrOyAvLyBEb24ndCByZXR1cm4gYW55dGhpbmdcbiAgfSk7XG4gIHJldHVybiBuO1xufVxuXG4vKipcbiAqIEl0ZXJhdGVzIHRocm91Z2ggY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcbiAqXG4gKiBUaGUgcHJvdmlkZWQgZm9yRWFjaEZ1bmMoY2hpbGQsIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcbiAqIEBwYXJhbSB7Kn0gZm9yRWFjaENvbnRleHQgQ29udGV4dCBmb3IgZm9yRWFjaENvbnRleHQuXG4gKi9cbmZ1bmN0aW9uIGZvckVhY2hDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KSB7XG4gIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yRWFjaEZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gRG9uJ3QgcmV0dXJuIGFueXRoaW5nLlxuICB9LCBmb3JFYWNoQ29udGV4dCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICByZXR1cm4gY2hpbGQ7XG4gIH0pIHx8IFtdO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcbiAqIGlzIG9ubHkgb25lIGNoaWxkIGluIHRoZSBjb2xsZWN0aW9uLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcbiAqXG4gKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIHNpbmdsZSBjaGlsZCBnZXRzXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xuICogYWJzdHJhY3QgYXdheSB0aGUgcGFydGljdWxhciBzdHJ1Y3R1cmUgb2YgY2hpbGRyZW4uXG4gKlxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cbiAqIEByZXR1cm4ge1JlYWN0RWxlbWVudH0gVGhlIGZpcnN0IGFuZCBvbmx5IGBSZWFjdEVsZW1lbnRgIGNvbnRhaW5lZCBpbiB0aGVcbiAqIHN0cnVjdHVyZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xuICBpZiAoIWlzVmFsaWRFbGVtZW50KGNoaWxkcmVuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuJyk7XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlKSB7XG4gIC8vIFRPRE86IFNlY29uZCBhcmd1bWVudCB1c2VkIHRvIGJlIGFuIG9wdGlvbmFsIGBjYWxjdWxhdGVDaGFuZ2VkQml0c2BcbiAgLy8gZnVuY3Rpb24uIFdhcm4gdG8gcmVzZXJ2ZSBmb3IgZnV0dXJlIHVzZT9cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAvLyBBcyBhIHdvcmthcm91bmQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25jdXJyZW50IHJlbmRlcmVycywgd2UgY2F0ZWdvcml6ZVxuICAgIC8vIHNvbWUgcmVuZGVyZXJzIGFzIHByaW1hcnkgYW5kIG90aGVycyBhcyBzZWNvbmRhcnkuIFdlIG9ubHkgZXhwZWN0XG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXG4gICAgLy8gRmFicmljIChzZWNvbmRhcnkpOyBSZWFjdCBET00gKHByaW1hcnkpIGFuZCBSZWFjdCBBUlQgKHNlY29uZGFyeSkuXG4gICAgLy8gU2Vjb25kYXJ5IHJlbmRlcmVycyBzdG9yZSB0aGVpciBjb250ZXh0IHZhbHVlcyBvbiBzZXBhcmF0ZSBmaWVsZHMuXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxuICAgIF9jdXJyZW50VmFsdWUyOiBkZWZhdWx0VmFsdWUsXG4gICAgLy8gVXNlZCB0byB0cmFjayBob3cgbWFueSBjb25jdXJyZW50IHJlbmRlcmVycyB0aGlzIGNvbnRleHQgY3VycmVudGx5XG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXG4gICAgX3RocmVhZENvdW50OiAwLFxuICAgIC8vIFRoZXNlIGFyZSBjaXJjdWxhclxuICAgIFByb3ZpZGVyOiBudWxsLFxuICAgIENvbnN1bWVyOiBudWxsLFxuICAgIC8vIEFkZCB0aGVzZSB0byB1c2Ugc2FtZSBoaWRkZW4gY2xhc3MgaW4gVk0gYXMgU2VydmVyQ29udGV4dFxuICAgIF9kZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgX2dsb2JhbE5hbWU6IG51bGxcbiAgfTtcbiAgY29udGV4dC5Qcm92aWRlciA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICBfY29udGV4dDogY29udGV4dFxuICB9O1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSBmYWxzZTtcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XG4gIHZhciBoYXNXYXJuZWRBYm91dERpc3BsYXlOYW1lT25Db25zdW1lciA9IGZhbHNlO1xuXG4gIHtcbiAgICAvLyBBIHNlcGFyYXRlIG9iamVjdCwgYnV0IHByb3hpZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgY29udGV4dCBvYmplY3QgZm9yXG4gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIEl0IGhhcyBhIGRpZmZlcmVudCAkJHR5cGVvZiwgc28gd2UgY2FuIHByb3Blcmx5XG4gICAgLy8gd2FybiBmb3IgdGhlIGluY29ycmVjdCB1c2FnZSBvZiBDb250ZXh0IGFzIGEgQ29uc3VtZXIuXG4gICAgdmFyIENvbnN1bWVyID0ge1xuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICAgIF9jb250ZXh0OiBjb250ZXh0XG4gICAgfTsgLy8gJEZsb3dGaXhNZTogRmxvdyBjb21wbGFpbnMgYWJvdXQgbm90IHNldHRpbmcgYSB2YWx1ZSwgd2hpY2ggaXMgaW50ZW50aW9uYWwgaGVyZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcbiAgICAgIFByb3ZpZGVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX1Byb3ZpZGVyKSB7XG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IF9jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY3VycmVudFZhbHVlMjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcbiAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfdGhyZWFkQ291bnQpIHtcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Db25zdW1lcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Db25zdW1lcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRpc3BsYXlOYW1lOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0LmRpc3BsYXlOYW1lO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChkaXNwbGF5TmFtZSkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIpIHtcbiAgICAgICAgICAgIHdhcm4oJ1NldHRpbmcgYGRpc3BsYXlOYW1lYCBvbiBDb250ZXh0LkNvbnN1bWVyIGhhcyBubyBlZmZlY3QuICcgKyBcIllvdSBzaG91bGQgc2V0IGl0IGRpcmVjdGx5IG9uIHRoZSBjb250ZXh0IHdpdGggQ29udGV4dC5kaXNwbGF5TmFtZSA9ICclcycuXCIsIGRpc3BsYXlOYW1lKTtcblxuICAgICAgICAgICAgaGFzV2FybmVkQWJvdXREaXNwbGF5TmFtZU9uQ29uc3VtZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pOyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBtaXNzaW5nIHByb3BlcnRpZXMgYmVjYXVzZSBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgZGVmaW5lUHJvcGVydHlcblxuICAgIGNvbnRleHQuQ29uc3VtZXIgPSBDb25zdW1lcjtcbiAgfVxuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbnZhciBVbmluaXRpYWxpemVkID0gLTE7XG52YXIgUGVuZGluZyA9IDA7XG52YXIgUmVzb2x2ZWQgPSAxO1xudmFyIFJlamVjdGVkID0gMjtcblxuZnVuY3Rpb24gbGF6eUluaXRpYWxpemVyKHBheWxvYWQpIHtcbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgIHZhciBjdG9yID0gcGF5bG9hZC5fcmVzdWx0O1xuICAgIHZhciB0aGVuYWJsZSA9IGN0b3IoKTsgLy8gVHJhbnNpdGlvbiB0byB0aGUgbmV4dCBzdGF0ZS5cbiAgICAvLyBUaGlzIG1pZ2h0IHRocm93IGVpdGhlciBiZWNhdXNlIGl0J3MgbWlzc2luZyBvciB0aHJvd3MuIElmIHNvLCB3ZSB0cmVhdCBpdFxuICAgIC8vIGFzIHN0aWxsIHVuaW5pdGlhbGl6ZWQgYW5kIHRyeSBhZ2FpbiBuZXh0IHRpbWUuIFdoaWNoIGlzIHRoZSBzYW1lIGFzIHdoYXRcbiAgICAvLyBoYXBwZW5zIGlmIHRoZSBjdG9yIG9yIGFueSB3cmFwcGVycyBwcm9jZXNzaW5nIHRoZSBjdG9yIHRocm93cy4gVGhpcyBtaWdodFxuICAgIC8vIGVuZCB1cCBmaXhpbmcgaXQgaWYgdGhlIHJlc29sdXRpb24gd2FzIGEgY29uY3VycmVuY3kgYnVnLlxuXG4gICAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAobW9kdWxlT2JqZWN0KSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVzb2x2ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZXNvbHZlZC5fc3RhdHVzID0gUmVzb2x2ZWQ7XG4gICAgICAgIHJlc29sdmVkLl9yZXN1bHQgPSBtb2R1bGVPYmplY3Q7XG4gICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAocGF5bG9hZC5fc3RhdHVzID09PSBQZW5kaW5nIHx8IHBheWxvYWQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xuICAgICAgICAvLyBUcmFuc2l0aW9uIHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgICAgICB2YXIgcmVqZWN0ZWQgPSBwYXlsb2FkO1xuICAgICAgICByZWplY3RlZC5fc3RhdHVzID0gUmVqZWN0ZWQ7XG4gICAgICAgIHJlamVjdGVkLl9yZXN1bHQgPSBlcnJvcjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChwYXlsb2FkLl9zdGF0dXMgPT09IFVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIC8vIEluIGNhc2UsIHdlJ3JlIHN0aWxsIHVuaW5pdGlhbGl6ZWQsIHRoZW4gd2UncmUgd2FpdGluZyBmb3IgdGhlIHRoZW5hYmxlXG4gICAgICAvLyB0byByZXNvbHZlLiBTZXQgaXQgYXMgcGVuZGluZyBpbiB0aGUgbWVhbnRpbWUuXG4gICAgICB2YXIgcGVuZGluZyA9IHBheWxvYWQ7XG4gICAgICBwZW5kaW5nLl9zdGF0dXMgPSBQZW5kaW5nO1xuICAgICAgcGVuZGluZy5fcmVzdWx0ID0gdGhlbmFibGU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBheWxvYWQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQpIHtcbiAgICB2YXIgbW9kdWxlT2JqZWN0ID0gcGF5bG9hZC5fcmVzdWx0O1xuXG4gICAge1xuICAgICAgaWYgKG1vZHVsZU9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVycm9yKCdsYXp5OiBFeHBlY3RlZCB0aGUgcmVzdWx0IG9mIGEgZHluYW1pYyBpbXAnICsgJ29ydCgpIGNhbGwuICcgKyAnSW5zdGVhZCByZWNlaXZlZDogJXNcXG5cXG5Zb3VyIGNvZGUgc2hvdWxkIGxvb2sgbGlrZTogXFxuICAnICsgLy8gQnJlYWsgdXAgaW1wb3J0cyB0byBhdm9pZCBhY2NpZGVudGFsbHkgcGFyc2luZyB0aGVtIGFzIGRlcGVuZGVuY2llcy5cbiAgICAgICAgJ2NvbnN0IE15Q29tcG9uZW50ID0gbGF6eSgoKSA9PiBpbXAnICsgXCJvcnQoJy4vTXlDb21wb25lbnQnKSlcXG5cXG5cIiArICdEaWQgeW91IGFjY2lkZW50YWxseSBwdXQgY3VybHkgYnJhY2VzIGFyb3VuZCB0aGUgaW1wb3J0PycsIG1vZHVsZU9iamVjdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKCEoJ2RlZmF1bHQnIGluIG1vZHVsZU9iamVjdCkpIHtcbiAgICAgICAgZXJyb3IoJ2xhenk6IEV4cGVjdGVkIHRoZSByZXN1bHQgb2YgYSBkeW5hbWljIGltcCcgKyAnb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcblxcbllvdXIgY29kZSBzaG91bGQgbG9vayBsaWtlOiBcXG4gICcgKyAvLyBCcmVhayB1cCBpbXBvcnRzIHRvIGF2b2lkIGFjY2lkZW50YWxseSBwYXJzaW5nIHRoZW0gYXMgZGVwZW5kZW5jaWVzLlxuICAgICAgICAnY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcCcgKyBcIm9ydCgnLi9NeUNvbXBvbmVudCcpKVwiLCBtb2R1bGVPYmplY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVPYmplY3QuZGVmYXVsdDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBwYXlsb2FkLl9yZXN1bHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbGF6eShjdG9yKSB7XG4gIHZhciBwYXlsb2FkID0ge1xuICAgIC8vIFdlIHVzZSB0aGVzZSBmaWVsZHMgdG8gc3RvcmUgdGhlIHJlc3VsdC5cbiAgICBfc3RhdHVzOiBVbmluaXRpYWxpemVkLFxuICAgIF9yZXN1bHQ6IGN0b3JcbiAgfTtcbiAgdmFyIGxhenlUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9MQVpZX1RZUEUsXG4gICAgX3BheWxvYWQ6IHBheWxvYWQsXG4gICAgX2luaXQ6IGxhenlJbml0aWFsaXplclxuICB9O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kdWN0aW9uLCB0aGlzIHdvdWxkIGp1c3Qgc2V0IGl0IG9uIHRoZSBvYmplY3QuXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcbiAgICB2YXIgcHJvcFR5cGVzOyAvLyAkRmxvd0ZpeE1lXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsYXp5VHlwZSwge1xuICAgICAgZGVmYXVsdFByb3BzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRQcm9wcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYGRlZmF1bHRQcm9wc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIGRlZmF1bHRQcm9wcyA9IG5ld0RlZmF1bHRQcm9wczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAnZGVmYXVsdFByb3BzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvcFR5cGVzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BUeXBlcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3UHJvcFR5cGVzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYHByb3BUeXBlc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG4gICAgICAgICAgLy8gJEZsb3dGaXhNZVxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAncHJvcFR5cGVzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGF6eVR5cGU7XG59XG5cbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XG4gIHtcbiAgICBpZiAocmVuZGVyICE9IG51bGwgJiYgcmVuZGVyLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCB3YXMgZ2l2ZW4gJXMuJywgcmVuZGVyID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHJlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZW5kZXIubGVuZ3RoICE9PSAwICYmIHJlbmRlci5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBhY2NlcHQgZXhhY3RseSB0d28gcGFyYW1ldGVyczogcHJvcHMgYW5kIHJlZi4gJXMnLCByZW5kZXIubGVuZ3RoID09PSAxID8gJ0RpZCB5b3UgZm9yZ2V0IHRvIHVzZSB0aGUgcmVmIHBhcmFtZXRlcj8nIDogJ0FueSBhZGRpdGlvbmFsIHBhcmFtZXRlciB3aWxsIGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcbiAgICAgIGlmIChyZW5kZXIuZGVmYXVsdFByb3BzICE9IG51bGwgfHwgcmVuZGVyLnByb3BUeXBlcyAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgZG8gbm90IHN1cHBvcnQgcHJvcFR5cGVzIG9yIGRlZmF1bHRQcm9wcy4gJyArICdEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIGEgUmVhY3QgY29tcG9uZW50PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcbiAgICByZW5kZXI6IHJlbmRlclxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHsuLi59KTtcbiAgICAgICAgLy8gVGhpcyBraW5kIG9mIGlubmVyIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGVsc2V3aGVyZSBzbyB0aGUgc2lkZSBlZmZlY3QgaXMgb2theS5cblxuICAgICAgICBpZiAoIXJlbmRlci5uYW1lICYmICFyZW5kZXIuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICByZW5kZXIuZGlzcGxheU5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudFR5cGU7XG59XG5cbnZhciBSRUFDVF9NT0RVTEVfUkVGRVJFTkNFO1xuXG57XG4gIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKCdyZWFjdC5tb2R1bGUucmVmZXJlbmNlJyk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBOb3RlOiB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyAoZS5nLiBpZiBpdCdzIGEgcG9seWZpbGwpLlxuXG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfUFJPRklMRVJfVFlQRSB8fCBlbmFibGVEZWJ1Z1RyYWNpbmcgIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgZW5hYmxlTGVnYWN5SGlkZGVuICB8fCB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fCBlbmFibGVTY29wZUFQSSAgfHwgZW5hYmxlQ2FjaGVFbGVtZW50ICB8fCBlbmFibGVUcmFuc2l0aW9uVHJhY2luZyApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01PRFVMRV9SRUZFUkVOQ0UgfHwgdHlwZS5nZXRNb2R1bGVJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnRUeXBlID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9NRU1PX1RZUEUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBjb21wYXJlOiBjb21wYXJlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29tcGFyZVxuICB9O1xuXG4gIHtcbiAgICB2YXIgb3duTmFtZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudFR5cGUsICdkaXNwbGF5TmFtZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBvd25OYW1lO1xuICAgICAgfSxcbiAgICAgIHNldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgb3duTmFtZSA9IG5hbWU7IC8vIFRoZSBpbm5lciBjb21wb25lbnQgc2hvdWxkbid0IGluaGVyaXQgdGhpcyBkaXNwbGF5IG5hbWUgaW4gbW9zdCBjYXNlcyxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGUgY29tcG9uZW50IG1heSBiZSB1c2VkIGVsc2V3aGVyZS5cbiAgICAgICAgLy8gQnV0IGl0J3MgbmljZSBmb3IgYW5vbnltb3VzIGZ1bmN0aW9ucyB0byBpbmhlcml0IHRoZSBuYW1lLFxuICAgICAgICAvLyBzbyB0aGF0IG91ciBjb21wb25lbnQtc3RhY2sgZ2VuZXJhdGlvbiBsb2dpYyB3aWxsIGRpc3BsYXkgdGhlaXIgZnJhbWVzLlxuICAgICAgICAvLyBBbiBhbm9ueW1vdXMgZnVuY3Rpb24gZ2VuZXJhbGx5IHN1Z2dlc3RzIGEgcGF0dGVybiBsaWtlOlxuICAgICAgICAvLyAgIFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7Li4ufSk7XG4gICAgICAgIC8vIFRoaXMga2luZCBvZiBpbm5lciBmdW5jdGlvbiBpcyBub3QgdXNlZCBlbHNld2hlcmUgc28gdGhlIHNpZGUgZWZmZWN0IGlzIG9rYXkuXG5cbiAgICAgICAgaWYgKCF0eXBlLm5hbWUgJiYgIXR5cGUuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgICB0eXBlLmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRUeXBlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAge1xuICAgIGlmIChkaXNwYXRjaGVyID09PSBudWxsKSB7XG4gICAgICBlcnJvcignSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvcicgKyAnIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArICcxLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4nICsgJzIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4nICsgJzMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG4nICsgJ1NlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLicpO1xuICAgIH1cbiAgfSAvLyBXaWxsIHJlc3VsdCBpbiBhIG51bGwgYWNjZXNzIGVycm9yIGlmIGFjY2Vzc2VkIG91dHNpZGUgcmVuZGVyIHBoYXNlLiBXZVxuICAvLyBpbnRlbnRpb25hbGx5IGRvbid0IHRocm93IG91ciBvd24gZXJyb3IgYmVjYXVzZSB0aGlzIGlzIGluIGEgaG90IHBhdGguXG4gIC8vIEFsc28gaGVscHMgZW5zdXJlIHRoaXMgaXMgaW5saW5lZC5cblxuXG4gIHJldHVybiBkaXNwYXRjaGVyO1xufVxuZnVuY3Rpb24gdXNlQ29udGV4dChDb250ZXh0KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcblxuICB7XG4gICAgLy8gVE9ETzogYWRkIGEgbW9yZSBnZW5lcmljIHdhcm5pbmcgZm9yIGludmFsaWQgdmFsdWVzLlxuICAgIGlmIChDb250ZXh0Ll9jb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcbiAgICAgIC8vIGFuZCBub2JvZHkgc2hvdWxkIGJlIHVzaW5nIHRoaXMgaW4gZXhpc3RpbmcgY29kZS5cblxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Db25zdW1lcikgaXMgbm90IHN1cHBvcnRlZCwgbWF5IGNhdXNlIGJ1Z3MsIGFuZCB3aWxsIGJlICcgKyAncmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9IGVsc2UgaWYgKHJlYWxDb250ZXh0LlByb3ZpZGVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ29udGV4dChDb250ZXh0KTtcbn1cbmZ1bmN0aW9uIHVzZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN0YXRlKGluaXRpYWxTdGF0ZSk7XG59XG5mdW5jdGlvbiB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xufVxuZnVuY3Rpb24gdXNlUmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVJlZihpbml0aWFsVmFsdWUpO1xufVxuZnVuY3Rpb24gdXNlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlSW5zZXJ0aW9uRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUluc2VydGlvbkVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VNZW1vKGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZU1lbW8oY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gIHtcbiAgICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gICAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pO1xuICB9XG59XG5mdW5jdGlvbiB1c2VUcmFuc2l0aW9uKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVRyYW5zaXRpb24oKTtcbn1cbmZ1bmN0aW9uIHVzZURlZmVycmVkVmFsdWUodmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWZlcnJlZFZhbHVlKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIHVzZUlkKCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUlkKCk7XG59XG5mdW5jdGlvbiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIGdldFNlcnZlclNuYXBzaG90KTtcbn1cblxuLy8gSGVscGVycyB0byBwYXRjaCBjb25zb2xlLmxvZ3MgdG8gYXZvaWQgbG9nZ2luZyBkdXJpbmcgc2lkZS1lZmZlY3QgZnJlZVxuLy8gcmVwbGF5aW5nIG9uIHJlbmRlciBmdW5jdGlvbi4gVGhpcyBjdXJyZW50bHkgb25seSBwYXRjaGVzIHRoZSBvYmplY3Rcbi8vIGxhemlseSB3aGljaCB3b24ndCBjb3ZlciBpZiB0aGUgbG9nIGZ1bmN0aW9uIHdhcyBleHRyYWN0ZWQgZWFnZXJseS5cbi8vIFdlIGNvdWxkIGFsc28gZWFnZXJseSBwYXRjaCB0aGUgbWV0aG9kLlxudmFyIGRpc2FibGVkRGVwdGggPSAwO1xudmFyIHByZXZMb2c7XG52YXIgcHJldkluZm87XG52YXIgcHJldldhcm47XG52YXIgcHJldkVycm9yO1xudmFyIHByZXZHcm91cDtcbnZhciBwcmV2R3JvdXBDb2xsYXBzZWQ7XG52YXIgcHJldkdyb3VwRW5kO1xuXG5mdW5jdGlvbiBkaXNhYmxlZExvZygpIHt9XG5cbmRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9IHRydWU7XG5mdW5jdGlvbiBkaXNhYmxlTG9ncygpIHtcbiAge1xuICAgIGlmIChkaXNhYmxlZERlcHRoID09PSAwKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICAgIHByZXZMb2cgPSBjb25zb2xlLmxvZztcbiAgICAgIHByZXZJbmZvID0gY29uc29sZS5pbmZvO1xuICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICBwcmV2RXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgcHJldkdyb3VwID0gY29uc29sZS5ncm91cDtcbiAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICBwcmV2R3JvdXBFbmQgPSBjb25zb2xlLmdyb3VwRW5kOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE5MDk5XG5cbiAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogZGlzYWJsZWRMb2csXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICBsb2c6IHByb3BzLFxuICAgICAgICB3YXJuOiBwcm9wcyxcbiAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICBncm91cDogcHJvcHMsXG4gICAgICAgIGdyb3VwQ29sbGFwc2VkOiBwcm9wcyxcbiAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICB9KTtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgfVxuXG4gICAgZGlzYWJsZWREZXB0aCsrO1xuICB9XG59XG5mdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBkaXNhYmxlZERlcHRoLS07XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWUgRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbnZhciBwcmVmaXg7XG5mdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIGlmIChwcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gRXh0cmFjdCB0aGUgVk0gc3BlY2lmaWMgcHJlZml4IHVzZWQgYnkgZWFjaCBsaW5lLlxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgdmFyIG1hdGNoID0geC5zdGFjay50cmltKCkubWF0Y2goL1xcbiggKihhdCApPykvKTtcbiAgICAgICAgcHJlZml4ID0gbWF0Y2ggJiYgbWF0Y2hbMV0gfHwgJyc7XG4gICAgICB9XG4gICAgfSAvLyBXZSB1c2UgdGhlIHByZWZpeCB0byBlbnN1cmUgb3VyIHN0YWNrcyBsaW5lIHVwIHdpdGggbmF0aXZlIHN0YWNrIGZyYW1lcy5cblxuXG4gICAgcmV0dXJuICdcXG4nICsgcHJlZml4ICsgbmFtZTtcbiAgfVxufVxudmFyIHJlZW50cnkgPSBmYWxzZTtcbnZhciBjb21wb25lbnRGcmFtZUNhY2hlO1xuXG57XG4gIHZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG4gIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCAhZm4gfHwgcmVlbnRyeSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHtcbiAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG5cbiAgICBpZiAoZnJhbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb250cm9sO1xuICByZWVudHJ5ID0gdHJ1ZTtcbiAgdmFyIHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2UgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTsgLy8gJEZsb3dGaXhNZSBJdCBkb2VzIGFjY2VwdCB1bmRlZmluZWQuXG5cbiAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSB1bmRlZmluZWQ7XG4gIHZhciBwcmV2aW91c0Rpc3BhdGNoZXI7XG5cbiAge1xuICAgIHByZXZpb3VzRGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IG51bGw7XG4gICAgZGlzYWJsZUxvZ3MoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgLy8gU29tZXRoaW5nIHNob3VsZCBiZSBzZXR0aW5nIHRoZSBwcm9wcyBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgIH07IC8vICRGbG93Rml4TWVcblxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRmFrZS5wcm90b3R5cGUsICdwcm9wcycsIHtcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gV2UgdXNlIGEgdGhyb3dpbmcgc2V0dGVyIGluc3RlYWQgb2YgZnJvemVuIG9yIG5vbi13cml0YWJsZSBwcm9wc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCB3b24ndCB0aHJvdyBpbiBhIG5vbi1zdHJpY3QgbW9kZSBmdW5jdGlvbi5cbiAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAvLyBXZSBjb25zdHJ1Y3QgYSBkaWZmZXJlbnQgY29udHJvbCBmb3IgdGhpcyBjYXNlIHRvIGluY2x1ZGUgYW55IGV4dHJhXG4gICAgICAgIC8vIGZyYW1lcyBhZGRlZCBieSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoRmFrZSwgW10pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgIH1cblxuICAgICAgICBSZWZsZWN0LmNvbnN0cnVjdChmbiwgW10sIEZha2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBGYWtlLmNhbGwoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZm4uY2FsbChGYWtlLnByb3RvdHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgfVxuXG4gICAgICBmbigpO1xuICAgIH1cbiAgfSBjYXRjaCAoc2FtcGxlKSB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICBpZiAoc2FtcGxlICYmIGNvbnRyb2wgJiYgdHlwZW9mIHNhbXBsZS5zdGFjayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZS5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgY29udHJvbExpbmVzID0gY29udHJvbC5zdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgICB2YXIgcyA9IHNhbXBsZUxpbmVzLmxlbmd0aCAtIDE7XG4gICAgICB2YXIgYyA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCAmJiBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAvLyBUeXBpY2FsbHkgdGhpcyB3aWxsIGJlIHRoZSByb290IG1vc3Qgb25lLiBIb3dldmVyLCBzdGFjayBmcmFtZXMgbWF5IGJlXG4gICAgICAgIC8vIGN1dCBvZmYgZHVlIHRvIG1heGltdW0gc3RhY2sgbGltaXRzLiBJbiB0aGlzIGNhc2UsIG9uZSBtYXliZSBjdXQgb2ZmXG4gICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgIC8vIGFuZCB0aGVyZSBmb3IgY3V0IG9mZiBlYXJsaWVyLiBTbyB3ZSBzaG91bGQgZmluZCB0aGUgcm9vdCBtb3N0IGZyYW1lIGluXG4gICAgICAgIC8vIHRoZSBzYW1wbGUgc29tZXdoZXJlIGluIHRoZSBjb250cm9sLlxuICAgICAgICBjLS07XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBzID49IDEgJiYgYyA+PSAwOyBzLS0sIGMtLSkge1xuICAgICAgICAvLyBOZXh0IHdlIGZpbmQgdGhlIGZpcnN0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHdoaWNoIHNob3VsZCBiZSB0aGVcbiAgICAgICAgLy8gZnJhbWUgdGhhdCBjYWxsZWQgb3VyIHNhbXBsZSBmdW5jdGlvbiBhbmQgdGhlIGNvbnRyb2wuXG4gICAgICAgIGlmIChzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgLy8gSW4gVjgsIHRoZSBmaXJzdCBsaW5lIGlzIGRlc2NyaWJpbmcgdGhlIG1lc3NhZ2UgYnV0IG90aGVyIFZNcyBkb24ndC5cbiAgICAgICAgICAvLyBJZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gdGhlIGZpcnN0IGxpbmUsIGFuZCB0aGUgY29udHJvbCBpcyBhbHNvIG9uIHRoZSBzYW1lXG4gICAgICAgICAgLy8gbGluZSwgdGhhdCdzIGEgcHJldHR5IGdvb2QgaW5kaWNhdG9yIHRoYXQgb3VyIHNhbXBsZSB0aHJldyBhdCBzYW1lIGxpbmUgYXNcbiAgICAgICAgICAvLyB0aGUgY29udHJvbC4gSS5lLiBiZWZvcmUgd2UgZW50ZXJlZCB0aGUgc2FtcGxlIGZyYW1lLiBTbyB3ZSBpZ25vcmUgdGhpcyByZXN1bHQuXG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHlvdSBwYXNzZWQgYSBjbGFzcyB0byBmdW5jdGlvbiBjb21wb25lbnQsIG9yIG5vbi1mdW5jdGlvbi5cbiAgICAgICAgICBpZiAocyAhPT0gMSB8fCBjICE9PSAxKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIHMtLTtcbiAgICAgICAgICAgICAgYy0tOyAvLyBXZSBtYXkgc3RpbGwgaGF2ZSBzaW1pbGFyIGludGVybWVkaWF0ZSBmcmFtZXMgZnJvbSB0aGUgY29uc3RydWN0IGNhbGwuXG4gICAgICAgICAgICAgIC8vIFRoZSBuZXh0IG9uZSB0aGF0IGlzbid0IHRoZSBzYW1lIHNob3VsZCBiZSBvdXIgbWF0Y2ggdGhvdWdoLlxuXG4gICAgICAgICAgICAgIGlmIChjIDwgMCB8fCBzYW1wbGVMaW5lc1tzXSAhPT0gY29udHJvbExpbmVzW2NdKSB7XG4gICAgICAgICAgICAgICAgLy8gVjggYWRkcyBhIFwibmV3XCIgcHJlZml4IGZvciBuYXRpdmUgY2xhc3Nlcy4gTGV0J3MgcmVtb3ZlIGl0IHRvIG1ha2UgaXQgcHJldHRpZXIuXG4gICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9ICdcXG4nICsgc2FtcGxlTGluZXNbc10ucmVwbGFjZSgnIGF0IG5ldyAnLCAnIGF0ICcpOyAvLyBJZiBvdXIgY29tcG9uZW50IGZyYW1lIGlzIGxhYmVsZWQgXCI8YW5vbnltb3VzPlwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgYSB1c2VyLXByb3ZpZGVkIFwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICAgIC8vIHNwbGljZSBpdCBpbiB0byBtYWtlIHRoZSBzdGFjayBtb3JlIHJlYWRhYmxlLlxuXG5cbiAgICAgICAgICAgICAgICBpZiAoZm4uZGlzcGxheU5hbWUgJiYgX2ZyYW1lLmluY2x1ZGVzKCc8YW5vbnltb3VzPicpKSB7XG4gICAgICAgICAgICAgICAgICBfZnJhbWUgPSBfZnJhbWUucmVwbGFjZSgnPGFub255bW91cz4nLCBmbi5kaXNwbGF5TmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQgPSBwcmV2aW91c0Rpc3BhdGNoZXI7XG4gICAgICByZWVuYWJsZUxvZ3MoKTtcbiAgICB9XG5cbiAgICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHByZXZpb3VzUHJlcGFyZVN0YWNrVHJhY2U7XG4gIH0gLy8gRmFsbGJhY2sgdG8ganVzdCB1c2luZyB0aGUgbmFtZSBpZiB3ZSBjb3VsZG4ndCBtYWtlIGl0IHRocm93LlxuXG5cbiAgdmFyIG5hbWUgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiAnJztcbiAgdmFyIHN5bnRoZXRpY0ZyYW1lID0gbmFtZSA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUpIDogJyc7XG5cbiAge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbXBvbmVudEZyYW1lQ2FjaGUuc2V0KGZuLCBzeW50aGV0aWNGcmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN5bnRoZXRpY0ZyYW1lO1xufVxuZnVuY3Rpb24gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKGZuLCBzb3VyY2UsIG93bmVyRm4pIHtcbiAge1xuICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkge1xuICB2YXIgcHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLCBzb3VyY2UsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBzb3VyY2UsIG93bmVyRm4pO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBsYXp5Q29tcG9uZW50ID0gdHlwZTtcbiAgICAgICAgICB2YXIgcGF5bG9hZCA9IGxhenlDb21wb25lbnQuX3BheWxvYWQ7XG4gICAgICAgICAgdmFyIGluaXQgPSBsYXp5Q29tcG9uZW50Ll9pbml0O1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIExhenkgbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGluaXQocGF5bG9hZCksIHNvdXJjZSwgb3duZXJGbik7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIGxvZ2dlZFR5cGVGYWlsdXJlcyA9IHt9O1xudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKHN0YWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLnNldEV4dHJhU3RhY2tGcmFtZShudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBlbGVtZW50KSB7XG4gIHtcbiAgICAvLyAkRmxvd0ZpeE1lIFRoaXMgaXMgb2theSBidXQgRmxvdyBkb2Vzbid0IGtub3cgaXQuXG4gICAgdmFyIGhhcyA9IEZ1bmN0aW9uLmNhbGwuYmluZChoYXNPd25Qcm9wZXJ0eSk7XG5cbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAoaGFzKHR5cGVTcGVjcywgdHlwZVNwZWNOYW1lKSkge1xuICAgICAgICB2YXIgZXJyb3IkMSA9IHZvaWQgMDsgLy8gUHJvcCB0eXBlIHZhbGlkYXRpb24gbWF5IHRocm93LiBJbiBjYXNlIHRoZXkgZG8sIHdlIGRvbid0IHdhbnQgdG9cbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxuICAgICAgICAvLyBBZnRlciB0aGVzZSBoYXZlIGJlZW4gY2xlYW5lZCB1cCwgd2UnbGwgbGV0IHRoZW0gdGhyb3cuXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3Byb2QtZXJyb3ItY29kZXNcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcigoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgKyAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nICsgJ1RoaXMgb2Z0ZW4gaGFwcGVucyBiZWNhdXNlIG9mIHR5cG9zIHN1Y2ggYXMgYFByb3BUeXBlcy5mdW5jdGlvbmAgaW5zdGVhZCBvZiBgUHJvcFR5cGVzLmZ1bmNgLicpO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IkMSA9IHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdKHZhbHVlcywgdHlwZVNwZWNOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgbnVsbCwgJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJyk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IkMSA9IGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgJiYgIShlcnJvciQxIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignJXM6IHR5cGUgc3BlY2lmaWNhdGlvbiBvZiAlcycgKyAnIGAlc2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICsgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICVzLiAnICsgJ1lvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gcGFzcyBhbiBhcmd1bWVudCB0byB0aGUgdHlwZSBjaGVja2VyICcgKyAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICsgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nLCBjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycsIGxvY2F0aW9uLCB0eXBlU3BlY05hbWUsIHR5cGVvZiBlcnJvciQxKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yJDEubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XG4gICAgICAgICAgLy8gT25seSBtb25pdG9yIHRoaXMgZmFpbHVyZSBvbmNlIGJlY2F1c2UgdGhlcmUgdGVuZHMgdG8gYmUgYSBsb3Qgb2YgdGhlXG4gICAgICAgICAgLy8gc2FtZSBlcnJvci5cbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IkMS5tZXNzYWdlXSA9IHRydWU7XG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgICBlcnJvcignRmFpbGVkICVzIHR5cGU6ICVzJywgbG9jYXRpb24sIGVycm9yJDEubWVzc2FnZSk7XG5cbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFeHRyYVN0YWNrRnJhbWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcblxue1xuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIGlmIChSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50KSB7XG4gICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShzb3VyY2UpIHtcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIGZpbGVOYW1lID0gc291cmNlLmZpbGVOYW1lLnJlcGxhY2UoL14uKltcXFxcXFwvXS8sICcnKTtcbiAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMoZWxlbWVudFByb3BzKSB7XG4gIGlmIChlbGVtZW50UHJvcHMgIT09IG51bGwgJiYgZWxlbWVudFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICBpZiAoIWluZm8pIHtcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZm87XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgfVxuXG4gIHtcbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGVsZW1lbnQpO1xuXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay93YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICB9XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpc0FycmF5KG5vZGUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBlbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7IC8vIEludGVudGlvbmFsbHkgaW5zaWRlIHRvIGF2b2lkIHRyaWdnZXJpbmcgbGF6eSBpbml0aWFsaXplcnM6XG5cbiAgICAgIHZhciBfbmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKTtcblxuICAgICAgZXJyb3IoJ0NvbXBvbmVudCAlcyBkZWNsYXJlZCBgUHJvcFR5cGVzYCBpbnN0ZWFkIG9mIGBwcm9wVHlwZXNgLiBEaWQgeW91IG1pc3NwZWxsIHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50PycsIF9uYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZnJhZ21lbnQpO1xuXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIHByb3AgYCVzYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLiAnICsgJ1JlYWN0LkZyYWdtZW50IGNhbiBvbmx5IGhhdmUgYGtleWAgYW5kIGBjaGlsZHJlbmAgcHJvcHMuJywga2V5KTtcblxuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhZ21lbnQucmVmICE9PSBudWxsKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEobnVsbCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gIC8vIHN1Y2NlZWQgYW5kIHRoZXJlIHdpbGwgbGlrZWx5IGJlIGVycm9ycyBpbiByZW5kZXIuXG5cbiAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgfVxuXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcblxuICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZVN0cmluZyA9ICdudWxsJztcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkICYmIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgfVxuXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0LmNyZWF0ZUVsZW1lbnQ6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IC8vIFRoZSByZXN1bHQgY2FuIGJlIG51bGxpc2ggaWYgYSBtb2NrIG9yIGEgY3VzdG9tIGZ1bmN0aW9uIGlzIHVzZWQuXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cblxuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH0gLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXG4gIC8vIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZSB0eXBlIGlzXG4gIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gIGlmICh2YWxpZFR5cGUpIHtcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFsaWRhdGVDaGlsZEtleXMoYXJndW1lbnRzW2ldLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxudmFyIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gZmFsc2U7XG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5V2l0aFZhbGlkYXRpb24odHlwZSkge1xuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xuICB2YWxpZGF0ZWRGYWN0b3J5LnR5cGUgPSB0eXBlO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5KSB7XG4gICAgICBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IHRydWU7XG5cbiAgICAgIHdhcm4oJ1JlYWN0LmNyZWF0ZUZhY3RvcnkoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBDb25zaWRlciB1c2luZyBKU1ggJyArICdvciB1c2UgUmVhY3QuY3JlYXRlRWxlbWVudCgpIGRpcmVjdGx5IGluc3RlYWQuJyk7XG4gICAgfSAvLyBMZWdhY3kgaG9vazogcmVtb3ZlIGl0XG5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0ZWRGYWN0b3J5LCAndHlwZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJ0ZhY3RvcnkudHlwZSBpcyBkZXByZWNhdGVkLiBBY2Nlc3MgdGhlIGNsYXNzIGRpcmVjdGx5ICcgKyAnYmVmb3JlIHBhc3NpbmcgaXQgdG8gY3JlYXRlRmFjdG9yeS4nKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3R5cGUnLCB7XG4gICAgICAgICAgdmFsdWU6IHR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XG59XG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbihlbGVtZW50LCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcbiAgfVxuXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cblxuZnVuY3Rpb24gc3RhcnRUcmFuc2l0aW9uKHNjb3BlLCBvcHRpb25zKSB7XG4gIHZhciBwcmV2VHJhbnNpdGlvbiA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb247XG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnRyYW5zaXRpb24gPSB7fTtcbiAgdmFyIGN1cnJlbnRUcmFuc2l0aW9uID0gUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbjtcblxuICB7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcudHJhbnNpdGlvbi5fdXBkYXRlZEZpYmVycyA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgc2NvcGUoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy50cmFuc2l0aW9uID0gcHJldlRyYW5zaXRpb247XG5cbiAgICB7XG4gICAgICBpZiAocHJldlRyYW5zaXRpb24gPT09IG51bGwgJiYgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZWRGaWJlcnNDb3VudCA9IGN1cnJlbnRUcmFuc2l0aW9uLl91cGRhdGVkRmliZXJzLnNpemU7XG5cbiAgICAgICAgaWYgKHVwZGF0ZWRGaWJlcnNDb3VudCA+IDEwKSB7XG4gICAgICAgICAgd2FybignRGV0ZWN0ZWQgYSBsYXJnZSBudW1iZXIgb2YgdXBkYXRlcyBpbnNpZGUgc3RhcnRUcmFuc2l0aW9uLiAnICsgJ0lmIHRoaXMgaXMgZHVlIHRvIGEgc3Vic2NyaXB0aW9uIHBsZWFzZSByZS13cml0ZSBpdCB0byB1c2UgUmVhY3QgcHJvdmlkZWQgaG9va3MuICcgKyAnT3RoZXJ3aXNlIGNvbmN1cnJlbnQgbW9kZSBndWFyYW50ZWVzIGFyZSBvZmYgdGhlIHRhYmxlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFRyYW5zaXRpb24uX3VwZGF0ZWRGaWJlcnMuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID0gZmFsc2U7XG52YXIgZW5xdWV1ZVRhc2tJbXBsID0gbnVsbDtcbmZ1bmN0aW9uIGVucXVldWVUYXNrKHRhc2spIHtcbiAgaWYgKGVucXVldWVUYXNrSW1wbCA9PT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZWFkIHJlcXVpcmUgb2ZmIHRoZSBtb2R1bGUgb2JqZWN0IHRvIGdldCBhcm91bmQgdGhlIGJ1bmRsZXJzLlxuICAgICAgLy8gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvIGRldGVjdCBhIHJlcXVpcmUgYW5kIGJ1bmRsZSBhIE5vZGUgcG9seWZpbGwuXG4gICAgICB2YXIgcmVxdWlyZVN0cmluZyA9ICgncmVxdWlyZScgKyBNYXRoLnJhbmRvbSgpKS5zbGljZSgwLCA3KTtcbiAgICAgIHZhciBub2RlUmVxdWlyZSA9IG1vZHVsZSAmJiBtb2R1bGVbcmVxdWlyZVN0cmluZ107IC8vIGFzc3VtaW5nIHdlJ3JlIGluIG5vZGUsIGxldCdzIHRyeSB0byBnZXQgbm9kZSdzXG4gICAgICAvLyB2ZXJzaW9uIG9mIHNldEltbWVkaWF0ZSwgYnlwYXNzaW5nIGZha2UgdGltZXJzIGlmIGFueS5cblxuICAgICAgZW5xdWV1ZVRhc2tJbXBsID0gbm9kZVJlcXVpcmUuY2FsbChtb2R1bGUsICd0aW1lcnMnKS5zZXRJbW1lZGlhdGU7XG4gICAgfSBjYXRjaCAoX2Vycikge1xuICAgICAgLy8gd2UncmUgaW4gYSBicm93c2VyXG4gICAgICAvLyB3ZSBjYW4ndCB1c2UgcmVndWxhciB0aW1lcnMgYmVjYXVzZSB0aGV5IG1heSBzdGlsbCBiZSBmYWtlZFxuICAgICAgLy8gc28gd2UgdHJ5IE1lc3NhZ2VDaGFubmVsK3Bvc3RNZXNzYWdlIGluc3RlYWRcbiAgICAgIGVucXVldWVUYXNrSW1wbCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICB7XG4gICAgICAgICAgaWYgKGRpZFdhcm5BYm91dE1lc3NhZ2VDaGFubmVsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgZGlkV2FybkFib3V0TWVzc2FnZUNoYW5uZWwgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIE1lc3NhZ2VDaGFubmVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBlcnJvcignVGhpcyBicm93c2VyIGRvZXMgbm90IGhhdmUgYSBNZXNzYWdlQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiwgJyArICdzbyBlbnF1ZXVpbmcgdGFza3MgdmlhIGF3YWl0IGFjdChhc3luYyAoKSA9PiAuLi4pIHdpbGwgZmFpbC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzICcgKyAnaWYgeW91IGVuY291bnRlciB0aGlzIHdhcm5pbmcuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBjYWxsYmFjaztcbiAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZSh1bmRlZmluZWQpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5xdWV1ZVRhc2tJbXBsKHRhc2spO1xufVxuXG52YXIgYWN0U2NvcGVEZXB0aCA9IDA7XG52YXIgZGlkV2Fybk5vQXdhaXRBY3QgPSBmYWxzZTtcbmZ1bmN0aW9uIGFjdChjYWxsYmFjaykge1xuICB7XG4gICAgLy8gYGFjdGAgY2FsbHMgY2FuIGJlIG5lc3RlZCwgc28gd2UgdHJhY2sgdGhlIGRlcHRoLiBUaGlzIHJlcHJlc2VudHMgdGhlXG4gICAgLy8gbnVtYmVyIG9mIGBhY3RgIHNjb3BlcyBvbiB0aGUgc3RhY2suXG4gICAgdmFyIHByZXZBY3RTY29wZURlcHRoID0gYWN0U2NvcGVEZXB0aDtcbiAgICBhY3RTY29wZURlcHRoKys7XG5cbiAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IGBhY3RgIHNjb3BlLiBJbml0aWFsaXplIHRoZSBxdWV1ZS4gVGhlIHJlY29uY2lsZXJcbiAgICAgIC8vIHdpbGwgZGV0ZWN0IHRoZSBxdWV1ZSBhbmQgdXNlIGl0IGluc3RlYWQgb2YgU2NoZWR1bGVyLlxuICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgIH1cblxuICAgIHZhciBwcmV2SXNCYXRjaGluZ0xlZ2FjeSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmlzQmF0Y2hpbmdMZWdhY3k7XG4gICAgdmFyIHJlc3VsdDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBVc2VkIHRvIHJlcHJvZHVjZSBiZWhhdmlvciBvZiBgYmF0Y2hlZFVwZGF0ZXNgIGluIGxlZ2FjeSBtb2RlLiBPbmx5XG4gICAgICAvLyBzZXQgdG8gYHRydWVgIHdoaWxlIHRoZSBnaXZlbiBjYWxsYmFjayBpcyBleGVjdXRlZCwgbm90IGZvciB1cGRhdGVzXG4gICAgICAvLyB0cmlnZ2VyZWQgZHVyaW5nIGFuIGFzeW5jIGV2ZW50LCBiZWNhdXNlIHRoaXMgaXMgaG93IHRoZSBsZWdhY3lcbiAgICAgIC8vIGltcGxlbWVudGF0aW9uIG9mIGBhY3RgIGJlaGF2ZWQuXG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gdHJ1ZTtcbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKCk7IC8vIFJlcGxpY2F0ZSBiZWhhdmlvciBvZiBvcmlnaW5hbCBgYWN0YCBpbXBsZW1lbnRhdGlvbiBpbiBsZWdhY3kgbW9kZSxcbiAgICAgIC8vIHdoaWNoIGZsdXNoZWQgdXBkYXRlcyBpbW1lZGlhdGVseSBhZnRlciB0aGUgc2NvcGUgZnVuY3Rpb24gZXhpdHMsIGV2ZW5cbiAgICAgIC8vIGlmIGl0J3MgYW4gYXN5bmMgZnVuY3Rpb24uXG5cbiAgICAgIGlmICghcHJldklzQmF0Y2hpbmdMZWdhY3kgJiYgUmVhY3RDdXJyZW50QWN0UXVldWUuZGlkU2NoZWR1bGVMZWdhY3lVcGRhdGUpIHtcbiAgICAgICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5kaWRTY2hlZHVsZUxlZ2FjeVVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUocXVldWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5pc0JhdGNoaW5nTGVnYWN5ID0gcHJldklzQmF0Y2hpbmdMZWdhY3k7XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcmVzdWx0LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciB0aGVuYWJsZVJlc3VsdCA9IHJlc3VsdDsgLy8gVGhlIGNhbGxiYWNrIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIChpLmUuIHJldHVybmVkIGEgcHJvbWlzZSkuIFdhaXRcbiAgICAgIC8vIGZvciBpdCB0byByZXNvbHZlIGJlZm9yZSBleGl0aW5nIHRoZSBjdXJyZW50IHNjb3BlLlxuXG4gICAgICB2YXIgd2FzQXdhaXRlZCA9IGZhbHNlO1xuICAgICAgdmFyIHRoZW5hYmxlID0ge1xuICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgd2FzQXdhaXRlZCA9IHRydWU7XG4gICAgICAgICAgdGhlbmFibGVSZXN1bHQudGhlbihmdW5jdGlvbiAocmV0dXJuVmFsdWUpIHtcbiAgICAgICAgICAgIHBvcEFjdFNjb3BlKHByZXZBY3RTY29wZURlcHRoKTtcblxuICAgICAgICAgICAgaWYgKGFjdFNjb3BlRGVwdGggPT09IDApIHtcbiAgICAgICAgICAgICAgLy8gV2UndmUgZXhpdGVkIHRoZSBvdXRlcm1vc3QgYWN0IHNjb3BlLiBSZWN1cnNpdmVseSBmbHVzaCB0aGVcbiAgICAgICAgICAgICAgLy8gcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc29sdmUocmV0dXJuVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIHRocmV3IGFuIGVycm9yLlxuICAgICAgICAgICAgcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAge1xuICAgICAgICBpZiAoIWRpZFdhcm5Ob0F3YWl0QWN0ICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkge30pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCF3YXNBd2FpdGVkKSB7XG4gICAgICAgICAgICAgIGRpZFdhcm5Ob0F3YWl0QWN0ID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBlcnJvcignWW91IGNhbGxlZCBhY3QoYXN5bmMgKCkgPT4gLi4uKSB3aXRob3V0IGF3YWl0LiAnICsgJ1RoaXMgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIHRlc3RpbmcgYmVoYXZpb3VyLCAnICsgJ2ludGVybGVhdmluZyBtdWx0aXBsZSBhY3QgY2FsbHMgYW5kIG1peGluZyB0aGVpciAnICsgJ3Njb3Blcy4gJyArICdZb3Ugc2hvdWxkIC0gYXdhaXQgYWN0KGFzeW5jICgpID0+IC4uLik7Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoZW5hYmxlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcmV0dXJuVmFsdWUgPSByZXN1bHQ7IC8vIFRoZSBjYWxsYmFjayBpcyBub3QgYW4gYXN5bmMgZnVuY3Rpb24uIEV4aXQgdGhlIGN1cnJlbnQgc2NvcGVcbiAgICAgIC8vIGltbWVkaWF0ZWx5LCB3aXRob3V0IGF3YWl0aW5nLlxuXG4gICAgICBwb3BBY3RTY29wZShwcmV2QWN0U2NvcGVEZXB0aCk7XG5cbiAgICAgIGlmIChhY3RTY29wZURlcHRoID09PSAwKSB7XG4gICAgICAgIC8vIEV4aXRpbmcgdGhlIG91dGVybW9zdCBhY3Qgc2NvcGUuIEZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF9xdWV1ZSA9IFJlYWN0Q3VycmVudEFjdFF1ZXVlLmN1cnJlbnQ7XG5cbiAgICAgICAgaWYgKF9xdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGZsdXNoQWN0UXVldWUoX3F1ZXVlKTtcbiAgICAgICAgICBSZWFjdEN1cnJlbnRBY3RRdWV1ZS5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfSAvLyBSZXR1cm4gYSB0aGVuYWJsZS4gSWYgdGhlIHVzZXIgYXdhaXRzIGl0LCB3ZSdsbCBmbHVzaCBhZ2FpbiBpblxuICAgICAgICAvLyBjYXNlIGFkZGl0aW9uYWwgd29yayB3YXMgc2NoZWR1bGVkIGJ5IGEgbWljcm90YXNrLlxuXG5cbiAgICAgICAgdmFyIF90aGVuYWJsZSA9IHtcbiAgICAgICAgICB0aGVuOiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAvLyBDb25maXJtIHdlIGhhdmVuJ3QgcmUtZW50ZXJlZCBhbm90aGVyIGBhY3RgIHNjb3BlLCBpbiBjYXNlXG4gICAgICAgICAgICAvLyB0aGUgdXNlciBkb2VzIHNvbWV0aGluZyB3ZWlyZCBsaWtlIGF3YWl0IHRoZSB0aGVuYWJsZVxuICAgICAgICAgICAgLy8gbXVsdGlwbGUgdGltZXMuXG4gICAgICAgICAgICBpZiAoUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBmbHVzaCB0aGUgcXVldWUgdW50aWwgdGhlcmUncyBubyByZW1haW5pbmcgd29yay5cbiAgICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICByZWN1cnNpdmVseUZsdXNoQXN5bmNBY3RXb3JrKHJldHVyblZhbHVlLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2luY2Ugd2UncmUgaW5zaWRlIGEgbmVzdGVkIGBhY3RgIHNjb3BlLCB0aGUgcmV0dXJuZWQgdGhlbmFibGVcbiAgICAgICAgLy8gaW1tZWRpYXRlbHkgcmVzb2x2ZXMuIFRoZSBvdXRlciBzY29wZSB3aWxsIGZsdXNoIHRoZSBxdWV1ZS5cbiAgICAgICAgdmFyIF90aGVuYWJsZTIgPSB7XG4gICAgICAgICAgdGhlbjogZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoZW5hYmxlMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wQWN0U2NvcGUocHJldkFjdFNjb3BlRGVwdGgpIHtcbiAge1xuICAgIGlmIChwcmV2QWN0U2NvcGVEZXB0aCAhPT0gYWN0U2NvcGVEZXB0aCAtIDEpIHtcbiAgICAgIGVycm9yKCdZb3Ugc2VlbSB0byBoYXZlIG92ZXJsYXBwaW5nIGFjdCgpIGNhbGxzLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnQmUgc3VyZSB0byBhd2FpdCBwcmV2aW91cyBhY3QoKSBjYWxscyBiZWZvcmUgbWFraW5nIGEgbmV3IG9uZS4gJyk7XG4gICAgfVxuXG4gICAgYWN0U2NvcGVEZXB0aCA9IHByZXZBY3RTY29wZURlcHRoO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2l2ZWx5Rmx1c2hBc3luY0FjdFdvcmsocmV0dXJuVmFsdWUsIHJlc29sdmUsIHJlamVjdCkge1xuICB7XG4gICAgdmFyIHF1ZXVlID0gUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudDtcblxuICAgIGlmIChxdWV1ZSAhPT0gbnVsbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZmx1c2hBY3RRdWV1ZShxdWV1ZSk7XG4gICAgICAgIGVucXVldWVUYXNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAocXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAvLyBObyBhZGRpdGlvbmFsIHdvcmsgd2FzIHNjaGVkdWxlZC4gRmluaXNoLlxuICAgICAgICAgICAgUmVhY3RDdXJyZW50QWN0UXVldWUuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICByZXNvbHZlKHJldHVyblZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gS2VlcCBmbHVzaGluZyB3b3JrIHVudGlsIHRoZXJlJ3Mgbm9uZSBsZWZ0LlxuICAgICAgICAgICAgcmVjdXJzaXZlbHlGbHVzaEFzeW5jQWN0V29yayhyZXR1cm5WYWx1ZSwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShyZXR1cm5WYWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0ZsdXNoaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGZsdXNoQWN0UXVldWUocXVldWUpIHtcbiAge1xuICAgIGlmICghaXNGbHVzaGluZykge1xuICAgICAgLy8gUHJldmVudCByZS1lbnRyYW5jZS5cbiAgICAgIGlzRmx1c2hpbmcgPSB0cnVlO1xuICAgICAgdmFyIGkgPSAwO1xuXG4gICAgICB0cnkge1xuICAgICAgICBmb3IgKDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gcXVldWVbaV07XG5cbiAgICAgICAgICBkbyB7XG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrKHRydWUpO1xuICAgICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXVlLmxlbmd0aCA9IDA7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBJZiBzb21ldGhpbmcgdGhyb3dzLCBsZWF2ZSB0aGUgcmVtYWluaW5nIGNhbGxiYWNrcyBvbiB0aGUgcXVldWUuXG4gICAgICAgIHF1ZXVlID0gcXVldWUuc2xpY2UoaSArIDEpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzRmx1c2hpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNsb25lRWxlbWVudCQxID0gIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uIDtcbnZhciBjcmVhdGVGYWN0b3J5ID0gIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbiA7XG52YXIgQ2hpbGRyZW4gPSB7XG4gIG1hcDogbWFwQ2hpbGRyZW4sXG4gIGZvckVhY2g6IGZvckVhY2hDaGlsZHJlbixcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXG4gIHRvQXJyYXk6IHRvQXJyYXksXG4gIG9ubHk6IG9ubHlDaGlsZFxufTtcblxuZXhwb3J0cy5DaGlsZHJlbiA9IENoaWxkcmVuO1xuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG5leHBvcnRzLlN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcbmV4cG9ydHMuY2xvbmVFbGVtZW50ID0gY2xvbmVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0O1xuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy5zdGFydFRyYW5zaXRpb24gPSBzdGFydFRyYW5zaXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2FjdCA9IGFjdDtcbmV4cG9ydHMudXNlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaztcbmV4cG9ydHMudXNlQ29udGV4dCA9IHVzZUNvbnRleHQ7XG5leHBvcnRzLnVzZURlYnVnVmFsdWUgPSB1c2VEZWJ1Z1ZhbHVlO1xuZXhwb3J0cy51c2VEZWZlcnJlZFZhbHVlID0gdXNlRGVmZXJyZWRWYWx1ZTtcbmV4cG9ydHMudXNlRWZmZWN0ID0gdXNlRWZmZWN0O1xuZXhwb3J0cy51c2VJZCA9IHVzZUlkO1xuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcbmV4cG9ydHMudXNlSW5zZXJ0aW9uRWZmZWN0ID0gdXNlSW5zZXJ0aW9uRWZmZWN0O1xuZXhwb3J0cy51c2VMYXlvdXRFZmZlY3QgPSB1c2VMYXlvdXRFZmZlY3Q7XG5leHBvcnRzLnVzZU1lbW8gPSB1c2VNZW1vO1xuZXhwb3J0cy51c2VSZWR1Y2VyID0gdXNlUmVkdWNlcjtcbmV4cG9ydHMudXNlUmVmID0gdXNlUmVmO1xuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlO1xuZXhwb3J0cy51c2VUcmFuc2l0aW9uID0gdXNlVHJhbnNpdGlvbjtcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/index.js": -/*!*************************************!*\ - !*** ./node_modules/react/index.js ***! - \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \"./node_modules/react/cjs/react.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLHVIQUFzRDtBQUN4RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanM/MWZiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/index.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/cjs/scheduler.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/scheduler/cjs/scheduler.development.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRSxvQkFBb0I7QUFDdEI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBLEVBQUUsb0JBQW9CO0FBQ3RCO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0Esb0NBQW9DOztBQUVwQyxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDLCtDQUErQzs7QUFFL0M7QUFDQSxxQkFBcUI7O0FBRXJCLHVCQUF1QjtBQUN2QjtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBLG1GQUFtRjs7QUFFbkY7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSw2QkFBNkI7O0FBRTdCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIscUNBQXFDO0FBQ3JDLCtCQUErQjtBQUMvQixrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanM/YmNkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiBzY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nID0gZmFsc2U7XG52YXIgZW5hYmxlUHJvZmlsaW5nID0gZmFsc2U7XG52YXIgZnJhbWVZaWVsZE1zID0gNTtcblxuZnVuY3Rpb24gcHVzaChoZWFwLCBub2RlKSB7XG4gIHZhciBpbmRleCA9IGhlYXAubGVuZ3RoO1xuICBoZWFwLnB1c2gobm9kZSk7XG4gIHNpZnRVcChoZWFwLCBub2RlLCBpbmRleCk7XG59XG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcbiAgcmV0dXJuIGhlYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IGhlYXBbMF07XG59XG5mdW5jdGlvbiBwb3AoaGVhcCkge1xuICBpZiAoaGVhcC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XG4gIHZhciBsYXN0ID0gaGVhcC5wb3AoKTtcblxuICBpZiAobGFzdCAhPT0gZmlyc3QpIHtcbiAgICBoZWFwWzBdID0gbGFzdDtcbiAgICBzaWZ0RG93bihoZWFwLCBsYXN0LCAwKTtcbiAgfVxuXG4gIHJldHVybiBmaXJzdDtcbn1cblxuZnVuY3Rpb24gc2lmdFVwKGhlYXAsIG5vZGUsIGkpIHtcbiAgdmFyIGluZGV4ID0gaTtcblxuICB3aGlsZSAoaW5kZXggPiAwKSB7XG4gICAgdmFyIHBhcmVudEluZGV4ID0gaW5kZXggLSAxID4+PiAxO1xuICAgIHZhciBwYXJlbnQgPSBoZWFwW3BhcmVudEluZGV4XTtcblxuICAgIGlmIChjb21wYXJlKHBhcmVudCwgbm9kZSkgPiAwKSB7XG4gICAgICAvLyBUaGUgcGFyZW50IGlzIGxhcmdlci4gU3dhcCBwb3NpdGlvbnMuXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XG4gICAgICBoZWFwW2luZGV4XSA9IHBhcmVudDtcbiAgICAgIGluZGV4ID0gcGFyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2lmdERvd24oaGVhcCwgbm9kZSwgaSkge1xuICB2YXIgaW5kZXggPSBpO1xuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XG4gIHZhciBoYWxmTGVuZ3RoID0gbGVuZ3RoID4+PiAxO1xuXG4gIHdoaWxlIChpbmRleCA8IGhhbGZMZW5ndGgpIHtcbiAgICB2YXIgbGVmdEluZGV4ID0gKGluZGV4ICsgMSkgKiAyIC0gMTtcbiAgICB2YXIgbGVmdCA9IGhlYXBbbGVmdEluZGV4XTtcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XG4gICAgdmFyIHJpZ2h0ID0gaGVhcFtyaWdodEluZGV4XTsgLy8gSWYgdGhlIGxlZnQgb3IgcmlnaHQgbm9kZSBpcyBzbWFsbGVyLCBzd2FwIHdpdGggdGhlIHNtYWxsZXIgb2YgdGhvc2UuXG5cbiAgICBpZiAoY29tcGFyZShsZWZ0LCBub2RlKSA8IDApIHtcbiAgICAgIGlmIChyaWdodEluZGV4IDwgbGVuZ3RoICYmIGNvbXBhcmUocmlnaHQsIGxlZnQpIDwgMCkge1xuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgICBoZWFwW3JpZ2h0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgaW5kZXggPSByaWdodEluZGV4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGVhcFtpbmRleF0gPSBsZWZ0O1xuICAgICAgICBoZWFwW2xlZnRJbmRleF0gPSBub2RlO1xuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJpZ2h0SW5kZXggPCBsZW5ndGggJiYgY29tcGFyZShyaWdodCwgbm9kZSkgPCAwKSB7XG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xuICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XG4gICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5laXRoZXIgY2hpbGQgaXMgc21hbGxlci4gRXhpdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gIC8vIENvbXBhcmUgc29ydCBpbmRleCBmaXJzdCwgdGhlbiB0YXNrIGlkLlxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XG4gIHJldHVybiBkaWZmICE9PSAwID8gZGlmZiA6IGEuaWQgLSBiLmlkO1xufVxuXG4vLyBUT0RPOiBVc2Ugc3ltYm9scz9cbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XG52YXIgVXNlckJsb2NraW5nUHJpb3JpdHkgPSAyO1xudmFyIE5vcm1hbFByaW9yaXR5ID0gMztcbnZhciBMb3dQcmlvcml0eSA9IDQ7XG52YXIgSWRsZVByaW9yaXR5ID0gNTtcblxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuXG52YXIgaGFzUGVyZm9ybWFuY2VOb3cgPSB0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbic7XG5cbmlmIChoYXNQZXJmb3JtYW5jZU5vdykge1xuICB2YXIgbG9jYWxQZXJmb3JtYW5jZSA9IHBlcmZvcm1hbmNlO1xuXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBsb2NhbFBlcmZvcm1hbmNlLm5vdygpO1xuICB9O1xufSBlbHNlIHtcbiAgdmFyIGxvY2FsRGF0ZSA9IERhdGU7XG4gIHZhciBpbml0aWFsVGltZSA9IGxvY2FsRGF0ZS5ub3coKTtcblxuICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbG9jYWxEYXRlLm5vdygpIC0gaW5pdGlhbFRpbWU7XG4gIH07XG59IC8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxuLy8gTWF0aC5wb3coMiwgMzApIC0gMVxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcblxuXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcblxudmFyIElNTUVESUFURV9QUklPUklUWV9USU1FT1VUID0gLTE7IC8vIEV2ZW50dWFsbHkgdGltZXMgb3V0XG5cbnZhciBVU0VSX0JMT0NLSU5HX1BSSU9SSVRZX1RJTUVPVVQgPSAyNTA7XG52YXIgTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQgPSA1MDAwO1xudmFyIExPV19QUklPUklUWV9USU1FT1VUID0gMTAwMDA7IC8vIE5ldmVyIHRpbWVzIG91dFxuXG52YXIgSURMRV9QUklPUklUWV9USU1FT1VUID0gbWF4U2lnbmVkMzFCaXRJbnQ7IC8vIFRhc2tzIGFyZSBzdG9yZWQgb24gYSBtaW4gaGVhcFxuXG52YXIgdGFza1F1ZXVlID0gW107XG52YXIgdGltZXJRdWV1ZSA9IFtdOyAvLyBJbmNyZW1lbnRpbmcgaWQgY291bnRlci4gVXNlZCB0byBtYWludGFpbiBpbnNlcnRpb24gb3JkZXIuXG5cbnZhciB0YXNrSWRDb3VudGVyID0gMTsgLy8gUGF1c2luZyB0aGUgc2NoZWR1bGVyIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLlxudmFyIGN1cnJlbnRUYXNrID0gbnVsbDtcbnZhciBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5OyAvLyBUaGlzIGlzIHNldCB3aGlsZSBwZXJmb3JtaW5nIHdvcmssIHRvIHByZXZlbnQgcmUtZW50cmFuY2UuXG5cbnZhciBpc1BlcmZvcm1pbmdXb3JrID0gZmFsc2U7XG52YXIgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSBmYWxzZTtcbnZhciBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7IC8vIENhcHR1cmUgbG9jYWwgcmVmZXJlbmNlcyB0byBuYXRpdmUgQVBJcywgaW4gY2FzZSBhIHBvbHlmaWxsIG92ZXJyaWRlcyB0aGVtLlxuXG52YXIgbG9jYWxTZXRUaW1lb3V0ID0gdHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBzZXRUaW1lb3V0IDogbnVsbDtcbnZhciBsb2NhbENsZWFyVGltZW91dCA9IHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBjbGVhclRpbWVvdXQgOiBudWxsO1xudmFyIGxvY2FsU2V0SW1tZWRpYXRlID0gdHlwZW9mIHNldEltbWVkaWF0ZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXRJbW1lZGlhdGUgOiBudWxsOyAvLyBJRSBhbmQgTm9kZS5qcyArIGpzZG9tXG5cbnZhciBpc0lucHV0UGVuZGluZyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5zY2hlZHVsaW5nICE9PSB1bmRlZmluZWQgJiYgbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcgIT09IHVuZGVmaW5lZCA/IG5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpIDogbnVsbDtcblxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xuICAvLyBDaGVjayBmb3IgdGFza3MgdGhhdCBhcmUgbm8gbG9uZ2VyIGRlbGF5ZWQgYW5kIGFkZCB0aGVtIHRvIHRoZSBxdWV1ZS5cbiAgdmFyIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICB3aGlsZSAodGltZXIgIT09IG51bGwpIHtcbiAgICBpZiAodGltZXIuY2FsbGJhY2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XG4gICAgfSBlbHNlIGlmICh0aW1lci5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cbiAgICAgIHBvcCh0aW1lclF1ZXVlKTtcbiAgICAgIHRpbWVyLnNvcnRJbmRleCA9IHRpbWVyLmV4cGlyYXRpb25UaW1lO1xuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVtYWluaW5nIHRpbWVycyBhcmUgcGVuZGluZy5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xuICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xuXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQpIHtcbiAgICBpZiAocGVlayh0YXNrUXVldWUpICE9PSBudWxsKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICAgICAgaWYgKGZpcnN0VGltZXIgIT09IG51bGwpIHtcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcblxuXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgaWYgKGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQpIHtcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cbiAgICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1dvcmsgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNhdGNoIGluIHByb2QgY29kZSBwYXRoLlxuICAgICAgcmV0dXJuIHdvcmtMb29wKGhhc1RpbWVSZW1haW5pbmcsIGluaXRpYWxUaW1lKTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFRhc2sgPSBudWxsO1xuICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xuICAgIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSkge1xuICB2YXIgY3VycmVudFRpbWUgPSBpbml0aWFsVGltZTtcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuXG4gIHdoaWxlIChjdXJyZW50VGFzayAhPT0gbnVsbCAmJiAhKGVuYWJsZVNjaGVkdWxlckRlYnVnZ2luZyApKSB7XG4gICAgaWYgKGN1cnJlbnRUYXNrLmV4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUgJiYgKCFoYXNUaW1lUmVtYWluaW5nIHx8IHNob3VsZFlpZWxkVG9Ib3N0KCkpKSB7XG4gICAgICAvLyBUaGlzIGN1cnJlbnRUYXNrIGhhc24ndCBleHBpcmVkLCBhbmQgd2UndmUgcmVhY2hlZCB0aGUgZGVhZGxpbmUuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgY2FsbGJhY2sgPSBjdXJyZW50VGFzay5jYWxsYmFjaztcblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gbnVsbDtcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFRhc2sucHJpb3JpdHlMZXZlbDtcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XG5cbiAgICAgIHZhciBjb250aW51YXRpb25DYWxsYmFjayA9IGNhbGxiYWNrKGRpZFVzZXJDYWxsYmFja1RpbWVvdXQpO1xuICAgICAgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbnRpbnVhdGlvbkNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gY29udGludWF0aW9uQ2FsbGJhY2s7XG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIGlmIChjdXJyZW50VGFzayA9PT0gcGVlayh0YXNrUXVldWUpKSB7XG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xuICAgIH1cblxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuICB9IC8vIFJldHVybiB3aGV0aGVyIHRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrXG5cblxuICBpZiAoY3VycmVudFRhc2sgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZmlyc3RUaW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZXZlbnRIYW5kbGVyKSB7XG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xuICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XG4gIH1cblxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJpb3JpdHlMZXZlbDtcblxuICB0cnkge1xuICAgIHJldHVybiBldmVudEhhbmRsZXIoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9uZXh0KGV2ZW50SGFuZGxlcikge1xuICB2YXIgcHJpb3JpdHlMZXZlbDtcblxuICBzd2l0Y2ggKGN1cnJlbnRQcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAvLyBTaGlmdCBkb3duIHRvIG5vcm1hbCBwcmlvcml0eVxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQW55dGhpbmcgbG93ZXIgdGhhbiBub3JtYWwgcHJpb3JpdHkgc2hvdWxkIHJlbWFpbiBhdCB0aGUgY3VycmVudCBsZXZlbC5cbiAgICAgIHByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcENhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIHZhciBwYXJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgcnVuV2l0aFByaW9yaXR5LCBpbmxpbmVkIGZvciBwZXJmb3JtYW5jZS5cbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgdmFyIHN0YXJ0VGltZTtcblxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcbiAgICB2YXIgZGVsYXkgPSBvcHRpb25zLmRlbGF5O1xuXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicgJiYgZGVsYXkgPiAwKSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZSArIGRlbGF5O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XG4gIH1cblxuICB2YXIgdGltZW91dDtcblxuICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IElNTUVESUFURV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IFVTRVJfQkxPQ0tJTkdfUFJJT1JJVFlfVElNRU9VVDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICB0aW1lb3V0ID0gSURMRV9QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgdGltZW91dCA9IExPV19QUklPUklUWV9USU1FT1VUO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGRlZmF1bHQ6XG4gICAgICB0aW1lb3V0ID0gTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHN0YXJ0VGltZSArIHRpbWVvdXQ7XG4gIHZhciBuZXdUYXNrID0ge1xuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgIHByaW9yaXR5TGV2ZWw6IHByaW9yaXR5TGV2ZWwsXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHNvcnRJbmRleDogLTFcbiAgfTtcblxuICBpZiAoc3RhcnRUaW1lID4gY3VycmVudFRpbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVsYXllZCB0YXNrLlxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xuICAgIHB1c2godGltZXJRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcbiAgICAgIC8vIEFsbCB0YXNrcyBhcmUgZGVsYXllZCwgYW5kIHRoaXMgaXMgdGhlIHRhc2sgd2l0aCB0aGUgZWFybGllc3QgZGVsYXkuXG4gICAgICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cbiAgICAgICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgfSAvLyBTY2hlZHVsZSBhIHRpbWVvdXQuXG5cblxuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIHN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3VGFzay5zb3J0SW5kZXggPSBleHBpcmF0aW9uVGltZTtcbiAgICBwdXNoKHRhc2tRdWV1ZSwgbmV3VGFzayk7XG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxuXG5cbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld1Rhc2s7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcblxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soZmx1c2hXb3JrKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSgpIHtcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXG4gIC8vIGFycmF5IGJhc2VkIGhlYXAsIG9ubHkgdGhlIGZpcnN0IG9uZS4pXG5cblxuICB0YXNrLmNhbGxiYWNrID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSB7XG4gIHJldHVybiBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbn1cblxudmFyIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gZmFsc2U7XG52YXIgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbnZhciB0YXNrVGltZW91dElEID0gLTE7IC8vIFNjaGVkdWxlciBwZXJpb2RpY2FsbHkgeWllbGRzIGluIGNhc2UgdGhlcmUgaXMgb3RoZXIgd29yayBvbiB0aGUgbWFpblxuLy8gdGhyZWFkLCBsaWtlIHVzZXIgZXZlbnRzLiBCeSBkZWZhdWx0LCBpdCB5aWVsZHMgbXVsdGlwbGUgdGltZXMgcGVyIGZyYW1lLlxuLy8gSXQgZG9lcyBub3QgYXR0ZW1wdCB0byBhbGlnbiB3aXRoIGZyYW1lIGJvdW5kYXJpZXMsIHNpbmNlIG1vc3QgdGFza3MgZG9uJ3Rcbi8vIG5lZWQgdG8gYmUgZnJhbWUgYWxpZ25lZDsgZm9yIHRob3NlIHRoYXQgZG8sIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuXG5cbnZhciBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xudmFyIHN0YXJ0VGltZSA9IC0xO1xuXG5mdW5jdGlvbiBzaG91bGRZaWVsZFRvSG9zdCgpIHtcbiAgdmFyIHRpbWVFbGFwc2VkID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKSAtIHN0YXJ0VGltZTtcblxuICBpZiAodGltZUVsYXBzZWQgPCBmcmFtZUludGVydmFsKSB7XG4gICAgLy8gVGhlIG1haW4gdGhyZWFkIGhhcyBvbmx5IGJlZW4gYmxvY2tlZCBmb3IgYSByZWFsbHkgc2hvcnQgYW1vdW50IG9mIHRpbWU7XG4gICAgLy8gc21hbGxlciB0aGFuIGEgc2luZ2xlIGZyYW1lLiBEb24ndCB5aWVsZCB5ZXQuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIFRoZSBtYWluIHRocmVhZCBoYXMgYmVlbiBibG9ja2VkIGZvciBhIG5vbi1uZWdsaWdpYmxlIGFtb3VudCBvZiB0aW1lLiBXZVxuXG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RQYWludCgpIHtcblxufVxuXG5mdW5jdGlvbiBmb3JjZUZyYW1lUmF0ZShmcHMpIHtcbiAgaWYgKGZwcyA8IDAgfHwgZnBzID4gMTI1KSB7XG4gICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgY29uc29sZVsnZXJyb3InXSgnZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsICcgKyAnZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZnBzID4gMCkge1xuICAgIGZyYW1lSW50ZXJ2YWwgPSBNYXRoLmZsb29yKDEwMDAgLyBmcHMpO1xuICB9IGVsc2Uge1xuICAgIC8vIHJlc2V0IHRoZSBmcmFtZXJhdGVcbiAgICBmcmFtZUludGVydmFsID0gZnJhbWVZaWVsZE1zO1xuICB9XG59XG5cbnZhciBwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzdGFydCB0aW1lIHNvIHdlIGNhbiBtZWFzdXJlIGhvdyBsb25nIHRoZSBtYWluIHRocmVhZFxuICAgIC8vIGhhcyBiZWVuIGJsb2NrZWQuXG5cbiAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB2YXIgaGFzVGltZVJlbWFpbmluZyA9IHRydWU7IC8vIElmIGEgc2NoZWR1bGVyIHRhc2sgdGhyb3dzLCBleGl0IHRoZSBjdXJyZW50IGJyb3dzZXIgdGFzayBzbyB0aGVcbiAgICAvLyBlcnJvciBjYW4gYmUgb2JzZXJ2ZWQuXG4gICAgLy9cbiAgICAvLyBJbnRlbnRpb25hbGx5IG5vdCB1c2luZyBhIHRyeS1jYXRjaCwgc2luY2UgdGhhdCBtYWtlcyBzb21lIGRlYnVnZ2luZ1xuICAgIC8vIHRlY2huaXF1ZXMgaGFyZGVyLiBJbnN0ZWFkLCBpZiBgc2NoZWR1bGVkSG9zdENhbGxiYWNrYCBlcnJvcnMsIHRoZW5cbiAgICAvLyBgaGFzTW9yZVdvcmtgIHdpbGwgcmVtYWluIHRydWUsIGFuZCB3ZSdsbCBjb250aW51ZSB0aGUgd29yayBsb29wLlxuXG4gICAgdmFyIGhhc01vcmVXb3JrID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBoYXNNb3JlV29yayA9IHNjaGVkdWxlZEhvc3RDYWxsYmFjayhoYXNUaW1lUmVtYWluaW5nLCBjdXJyZW50VGltZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChoYXNNb3JlV29yaykge1xuICAgICAgICAvLyBJZiB0aGVyZSdzIG1vcmUgd29yaywgc2NoZWR1bGUgdGhlIG5leHQgbWVzc2FnZSBldmVudCBhdCB0aGUgZW5kXG4gICAgICAgIC8vIG9mIHRoZSBwcmVjZWRpbmcgb25lLlxuICAgICAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgfSAvLyBZaWVsZGluZyB0byB0aGUgYnJvd3NlciB3aWxsIGdpdmUgaXQgYSBjaGFuY2UgdG8gcGFpbnQsIHNvIHdlIGNhblxufTtcblxudmFyIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG5pZiAodHlwZW9mIGxvY2FsU2V0SW1tZWRpYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIE5vZGUuanMgYW5kIG9sZCBJRS5cbiAgLy8gVGhlcmUncyBhIGZldyByZWFzb25zIGZvciB3aHkgd2UgcHJlZmVyIHNldEltbWVkaWF0ZS5cbiAgLy9cbiAgLy8gVW5saWtlIE1lc3NhZ2VDaGFubmVsLCBpdCBkb2Vzbid0IHByZXZlbnQgYSBOb2RlLmpzIHByb2Nlc3MgZnJvbSBleGl0aW5nLlxuICAvLyAoRXZlbiB0aG91Z2ggdGhpcyBpcyBhIERPTSBmb3JrIG9mIHRoZSBTY2hlZHVsZXIsIHlvdSBjb3VsZCBnZXQgaGVyZVxuICAvLyB3aXRoIGEgbWl4IG9mIE5vZGUuanMgMTUrLCB3aGljaCBoYXMgYSBNZXNzYWdlQ2hhbm5lbCwgYW5kIGpzZG9tLilcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDc1NlxuICAvL1xuICAvLyBCdXQgYWxzbywgaXQgcnVucyBlYXJsaWVyIHdoaWNoIGlzIHRoZSBzZW1hbnRpYyB3ZSB3YW50LlxuICAvLyBJZiBvdGhlciBicm93c2VycyBldmVyIGltcGxlbWVudCBpdCwgaXQncyBiZXR0ZXIgdG8gdXNlIGl0LlxuICAvLyBBbHRob3VnaCBib3RoIG9mIHRoZXNlIHdvdWxkIGJlIGluZmVyaW9yIHRvIG5hdGl2ZSBzY2hlZHVsaW5nLlxuICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBsb2NhbFNldEltbWVkaWF0ZShwZXJmb3JtV29ya1VudGlsRGVhZGxpbmUpO1xuICB9O1xufSBlbHNlIGlmICh0eXBlb2YgTWVzc2FnZUNoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gIC8vIERPTSBhbmQgV29ya2VyIGVudmlyb25tZW50cy5cbiAgLy8gV2UgcHJlZmVyIE1lc3NhZ2VDaGFubmVsIGJlY2F1c2Ugb2YgdGhlIDRtcyBzZXRUaW1lb3V0IGNsYW1waW5nLlxuICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICB2YXIgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xuXG4gIHNjaGVkdWxlUGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xuICAgIHBvcnQucG9zdE1lc3NhZ2UobnVsbCk7XG4gIH07XG59IGVsc2Uge1xuICAvLyBXZSBzaG91bGQgb25seSBmYWxsYmFjayBoZXJlIGluIG5vbi1icm93c2VyIGVudmlyb25tZW50cy5cbiAgc2NoZWR1bGVQZXJmb3JtV29ya1VudGlsRGVhZGxpbmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgbG9jYWxTZXRUaW1lb3V0KHBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSwgMCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0Q2FsbGJhY2soY2FsbGJhY2spIHtcbiAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xuICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcbiAgICBzY2hlZHVsZVBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3RIb3N0VGltZW91dChjYWxsYmFjaywgbXMpIHtcbiAgdGFza1RpbWVvdXRJRCA9IGxvY2FsU2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgY2FsbGJhY2soZXhwb3J0cy51bnN0YWJsZV9ub3coKSk7XG4gIH0sIG1zKTtcbn1cblxuZnVuY3Rpb24gY2FuY2VsSG9zdFRpbWVvdXQoKSB7XG4gIGxvY2FsQ2xlYXJUaW1lb3V0KHRhc2tUaW1lb3V0SUQpO1xuICB0YXNrVGltZW91dElEID0gLTE7XG59XG5cbnZhciB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSByZXF1ZXN0UGFpbnQ7XG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gIG51bGw7XG5cbmV4cG9ydHMudW5zdGFibGVfSWRsZVByaW9yaXR5ID0gSWRsZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSA9IEltbWVkaWF0ZVByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eSA9IExvd1ByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSA9IE5vcm1hbFByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9Qcm9maWxpbmcgPSB1bnN0YWJsZV9Qcm9maWxpbmc7XG5leHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gVXNlckJsb2NraW5nUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrID0gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX2NvbnRpbnVlRXhlY3V0aW9uID0gdW5zdGFibGVfY29udGludWVFeGVjdXRpb247XG5leHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZm9yY2VGcmFtZVJhdGU7XG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsID0gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw7XG5leHBvcnRzLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlID0gdW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGU7XG5leHBvcnRzLnVuc3RhYmxlX25leHQgPSB1bnN0YWJsZV9uZXh0O1xuZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbiA9IHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uO1xuZXhwb3J0cy51bnN0YWJsZV9yZXF1ZXN0UGFpbnQgPSB1bnN0YWJsZV9yZXF1ZXN0UGFpbnQ7XG5leHBvcnRzLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eSA9IHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eTtcbmV4cG9ydHMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayA9IHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XG5leHBvcnRzLnVuc3RhYmxlX3Nob3VsZFlpZWxkID0gc2hvdWxkWWllbGRUb0hvc3Q7XG5leHBvcnRzLnVuc3RhYmxlX3dyYXBDYWxsYmFjayA9IHVuc3RhYmxlX3dyYXBDYWxsYmFjaztcbiAgICAgICAgICAvKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AgPT09XG4gICAgJ2Z1bmN0aW9uJ1xuKSB7XG4gIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcChuZXcgRXJyb3IoKSk7XG59XG4gICAgICAgIFxuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/scheduler/cjs/scheduler.development.js\n")); - -/***/ }), - -/***/ "./node_modules/scheduler/index.js": -/*!*****************************************!*\ - !*** ./node_modules/scheduler/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \"./node_modules/scheduler/cjs/scheduler.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxtSUFBMEQ7QUFDNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9pbmRleC5qcz9jN2NjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9zY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/scheduler/index.js\n")); - -/***/ }), - -/***/ "?506d": -/*!******************************************!*\ - !*** ./utils/resolve-rewrites (ignored) ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_default; },\n/* harmony export */ _interop_require_default: function() { return /* binding */ _interop_require_default; }\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanM/NzhjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_default.js\n")); - -/***/ }), - -/***/ "./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: function() { return /* binding */ _interop_require_wildcard; },\n/* harmony export */ _interop_require_wildcard: function() { return /* binding */ _interop_require_wildcard; }\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5qcz8zOGMxIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcblxuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSByZXR1cm4gb2JqO1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiB7IGRlZmF1bHQ6IG9iaiB9O1xuXG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcblxuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuXG4gICAgdmFyIG5ld09iaiA9IHt9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgZWxzZSBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG5cbiAgICBpZiAoY2FjaGUpIGNhY2hlLnNldChvYmosIG5ld09iaik7XG5cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/client/next-dev.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_coinbase_wallet-sdk_dist_index_js.js b/.next/static/chunks/node_modules_coinbase_wallet-sdk_dist_index_js.js deleted file mode 100644 index 2763c80..0000000 --- a/.next/static/chunks/node_modules_coinbase_wallet-sdk_dist_index_js.js +++ /dev/null @@ -1,4584 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_coinbase_wallet-sdk_dist_index_js"],{ - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CoinbaseWalletSDK = void 0;\nconst wallet_logo_1 = __webpack_require__(/*! ./assets/wallet-logo */ \"./node_modules/@coinbase/wallet-sdk/dist/assets/wallet-logo.js\");\nconst ScopedLocalStorage_1 = __webpack_require__(/*! ./lib/ScopedLocalStorage */ \"./node_modules/@coinbase/wallet-sdk/dist/lib/ScopedLocalStorage.js\");\nconst CoinbaseWalletProvider_1 = __webpack_require__(/*! ./provider/CoinbaseWalletProvider */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js\");\nconst WalletSDKUI_1 = __webpack_require__(/*! ./provider/WalletSDKUI */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/WalletSDKUI.js\");\nconst WalletSDKRelay_1 = __webpack_require__(/*! ./relay/WalletSDKRelay */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelay.js\");\nconst WalletSDKRelayEventManager_1 = __webpack_require__(/*! ./relay/WalletSDKRelayEventManager */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayEventManager.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nconst LINK_API_URL = process.env.LINK_API_URL || \"https://www.walletlink.org\";\nconst SDK_VERSION = process.env.SDK_VERSION || (__webpack_require__(/*! ../package.json */ \"./node_modules/@coinbase/wallet-sdk/package.json\").version) || \"unknown\";\nclass CoinbaseWalletSDK {\n /**\n * Constructor\n * @param options Coinbase Wallet SDK constructor options\n */\n constructor(options) {\n var _a, _b, _c;\n this._appName = \"\";\n this._appLogoUrl = null;\n this._relay = null;\n this._relayEventManager = null;\n const linkAPIUrl = options.linkAPIUrl || LINK_API_URL;\n let uiConstructor;\n if (!options.uiConstructor) {\n uiConstructor = opts => new WalletSDKUI_1.WalletSDKUI(opts);\n }\n else {\n uiConstructor = options.uiConstructor;\n }\n if (typeof options.overrideIsMetaMask === \"undefined\") {\n this._overrideIsMetaMask = false;\n }\n else {\n this._overrideIsMetaMask = options.overrideIsMetaMask;\n }\n this._overrideIsCoinbaseWallet = (_a = options.overrideIsCoinbaseWallet) !== null && _a !== void 0 ? _a : true;\n this._overrideIsCoinbaseBrowser =\n (_b = options.overrideIsCoinbaseBrowser) !== null && _b !== void 0 ? _b : false;\n if (options.diagnosticLogger && options.eventListener) {\n throw new Error(\"Can't have both eventListener and diagnosticLogger options, use only diagnosticLogger\");\n }\n if (options.eventListener) {\n this._diagnosticLogger = {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n log: options.eventListener.onEvent,\n };\n }\n else {\n this._diagnosticLogger = options.diagnosticLogger;\n }\n this._reloadOnDisconnect = (_c = options.reloadOnDisconnect) !== null && _c !== void 0 ? _c : true;\n const url = new URL(linkAPIUrl);\n const origin = `${url.protocol}//${url.host}`;\n this._storage = new ScopedLocalStorage_1.ScopedLocalStorage(`-walletlink:${origin}`); // needs migration to preserve local states\n this._storage.setItem(\"version\", CoinbaseWalletSDK.VERSION);\n if (this.walletExtension || this.coinbaseBrowser) {\n return;\n }\n this._relayEventManager = new WalletSDKRelayEventManager_1.WalletSDKRelayEventManager();\n this._relay = new WalletSDKRelay_1.WalletSDKRelay({\n linkAPIUrl,\n version: SDK_VERSION,\n darkMode: !!options.darkMode,\n uiConstructor,\n storage: this._storage,\n relayEventManager: this._relayEventManager,\n diagnosticLogger: this._diagnosticLogger,\n reloadOnDisconnect: this._reloadOnDisconnect,\n });\n this.setAppInfo(options.appName, options.appLogoUrl);\n if (!!options.headlessMode)\n return;\n this._relay.attachUI();\n }\n /**\n * Create a Web3 Provider object\n * @param jsonRpcUrl Ethereum JSON RPC URL (Default: \"\")\n * @param chainId Ethereum Chain ID (Default: 1)\n * @returns A Web3 Provider\n */\n makeWeb3Provider(jsonRpcUrl = \"\", chainId = 1) {\n const extension = this.walletExtension;\n if (extension) {\n if (!this.isCipherProvider(extension)) {\n extension.setProviderInfo(jsonRpcUrl, chainId);\n }\n if (this._reloadOnDisconnect === false &&\n typeof extension.disableReloadOnDisconnect === \"function\")\n extension.disableReloadOnDisconnect();\n return extension;\n }\n const dappBrowser = this.coinbaseBrowser;\n if (dappBrowser) {\n return dappBrowser;\n }\n const relay = this._relay;\n if (!relay || !this._relayEventManager || !this._storage) {\n throw new Error(\"Relay not initialized, should never happen\");\n }\n if (!jsonRpcUrl)\n relay.setConnectDisabled(true);\n return new CoinbaseWalletProvider_1.CoinbaseWalletProvider({\n relayProvider: () => Promise.resolve(relay),\n relayEventManager: this._relayEventManager,\n storage: this._storage,\n jsonRpcUrl,\n chainId,\n qrUrl: this.getQrUrl(),\n diagnosticLogger: this._diagnosticLogger,\n overrideIsMetaMask: this._overrideIsMetaMask,\n overrideIsCoinbaseWallet: this._overrideIsCoinbaseWallet,\n overrideIsCoinbaseBrowser: this._overrideIsCoinbaseBrowser,\n });\n }\n /**\n * Set application information\n * @param appName Application name\n * @param appLogoUrl Application logo image URL\n */\n setAppInfo(appName, appLogoUrl) {\n var _a;\n this._appName = appName || \"DApp\";\n this._appLogoUrl = appLogoUrl || (0, util_1.getFavicon)();\n const extension = this.walletExtension;\n if (extension) {\n if (!this.isCipherProvider(extension)) {\n extension.setAppInfo(this._appName, this._appLogoUrl);\n }\n }\n else {\n (_a = this._relay) === null || _a === void 0 ? void 0 : _a.setAppInfo(this._appName, this._appLogoUrl);\n }\n }\n /**\n * Disconnect. After disconnecting, this will reload the web page to ensure\n * all potential stale state is cleared.\n */\n disconnect() {\n var _a;\n const extension = this.walletExtension;\n if (extension) {\n void extension.close();\n }\n else {\n (_a = this._relay) === null || _a === void 0 ? void 0 : _a.resetAndReload();\n }\n }\n /**\n * Return QR URL for mobile wallet connection, will return null if extension is installed\n */\n getQrUrl() {\n var _a, _b;\n return (_b = (_a = this._relay) === null || _a === void 0 ? void 0 : _a.getQRCodeUrl()) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Official Coinbase Wallet logo for developers to use on their frontend\n * @param type Type of wallet logo: \"standard\" | \"circle\" | \"text\" | \"textWithLogo\" | \"textLight\" | \"textWithLogoLight\"\n * @param width Width of the logo (Optional)\n * @returns SVG Data URI\n */\n getCoinbaseWalletLogo(type, width = 240) {\n return (0, wallet_logo_1.walletLogo)(type, width);\n }\n get walletExtension() {\n var _a;\n return (_a = window.coinbaseWalletExtension) !== null && _a !== void 0 ? _a : window.walletLinkExtension;\n }\n get coinbaseBrowser() {\n var _a, _b;\n try {\n // Coinbase DApp browser does not inject into iframes so grab provider from top frame if it exists\n const ethereum = (_a = window.ethereum) !== null && _a !== void 0 ? _a : (_b = window.top) === null || _b === void 0 ? void 0 : _b.ethereum;\n if (!ethereum) {\n return undefined;\n }\n if (\"isCoinbaseBrowser\" in ethereum && ethereum.isCoinbaseBrowser) {\n return ethereum;\n }\n else {\n return undefined;\n }\n }\n catch (e) {\n return undefined;\n }\n }\n isCipherProvider(provider) {\n // @ts-expect-error isCipher walletlink property\n return typeof provider.isCipher === \"boolean\" && provider.isCipher;\n }\n}\nexports.CoinbaseWalletSDK = CoinbaseWalletSDK;\nCoinbaseWalletSDK.VERSION = SDK_VERSION;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9Db2luYmFzZVdhbGxldFNESy5qcyIsIm1hcHBpbmdzIjoiO0FBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHlCQUF5QjtBQUN6QixzQkFBc0IsbUJBQU8sQ0FBQyw0RkFBc0I7QUFDcEQsNkJBQTZCLG1CQUFPLENBQUMsb0dBQTBCO0FBQy9ELGlDQUFpQyxtQkFBTyxDQUFDLHNIQUFtQztBQUM1RSxzQkFBc0IsbUJBQU8sQ0FBQyxnR0FBd0I7QUFDdEQseUJBQXlCLG1CQUFPLENBQUMsZ0dBQXdCO0FBQ3pELHFDQUFxQyxtQkFBTyxDQUFDLHdIQUFvQztBQUNqRixlQUFlLG1CQUFPLENBQUMsZ0VBQVE7QUFDL0IscUJBQXFCLE9BQU87QUFDNUIsb0JBQW9CLE9BQU8sb0JBQW9CLHdHQUFrQztBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsYUFBYSxJQUFJLFNBQVM7QUFDcEQsbUZBQW1GLE9BQU8sSUFBSTtBQUM5RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9Db2luYmFzZVdhbGxldFNESy5qcz9iMjFmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNvaW5iYXNlV2FsbGV0U0RLID0gdm9pZCAwO1xuY29uc3Qgd2FsbGV0X2xvZ29fMSA9IHJlcXVpcmUoXCIuL2Fzc2V0cy93YWxsZXQtbG9nb1wiKTtcbmNvbnN0IFNjb3BlZExvY2FsU3RvcmFnZV8xID0gcmVxdWlyZShcIi4vbGliL1Njb3BlZExvY2FsU3RvcmFnZVwiKTtcbmNvbnN0IENvaW5iYXNlV2FsbGV0UHJvdmlkZXJfMSA9IHJlcXVpcmUoXCIuL3Byb3ZpZGVyL0NvaW5iYXNlV2FsbGV0UHJvdmlkZXJcIik7XG5jb25zdCBXYWxsZXRTREtVSV8xID0gcmVxdWlyZShcIi4vcHJvdmlkZXIvV2FsbGV0U0RLVUlcIik7XG5jb25zdCBXYWxsZXRTREtSZWxheV8xID0gcmVxdWlyZShcIi4vcmVsYXkvV2FsbGV0U0RLUmVsYXlcIik7XG5jb25zdCBXYWxsZXRTREtSZWxheUV2ZW50TWFuYWdlcl8xID0gcmVxdWlyZShcIi4vcmVsYXkvV2FsbGV0U0RLUmVsYXlFdmVudE1hbmFnZXJcIik7XG5jb25zdCB1dGlsXzEgPSByZXF1aXJlKFwiLi91dGlsXCIpO1xuY29uc3QgTElOS19BUElfVVJMID0gcHJvY2Vzcy5lbnYuTElOS19BUElfVVJMIHx8IFwiaHR0cHM6Ly93d3cud2FsbGV0bGluay5vcmdcIjtcbmNvbnN0IFNES19WRVJTSU9OID0gcHJvY2Vzcy5lbnYuU0RLX1ZFUlNJT04gfHwgcmVxdWlyZShcIi4uL3BhY2thZ2UuanNvblwiKS52ZXJzaW9uIHx8IFwidW5rbm93blwiO1xuY2xhc3MgQ29pbmJhc2VXYWxsZXRTREsge1xuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIG9wdGlvbnMgQ29pbmJhc2UgV2FsbGV0IFNESyBjb25zdHJ1Y3RvciBvcHRpb25zXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgdGhpcy5fYXBwTmFtZSA9IFwiXCI7XG4gICAgICAgIHRoaXMuX2FwcExvZ29VcmwgPSBudWxsO1xuICAgICAgICB0aGlzLl9yZWxheSA9IG51bGw7XG4gICAgICAgIHRoaXMuX3JlbGF5RXZlbnRNYW5hZ2VyID0gbnVsbDtcbiAgICAgICAgY29uc3QgbGlua0FQSVVybCA9IG9wdGlvbnMubGlua0FQSVVybCB8fCBMSU5LX0FQSV9VUkw7XG4gICAgICAgIGxldCB1aUNvbnN0cnVjdG9yO1xuICAgICAgICBpZiAoIW9wdGlvbnMudWlDb25zdHJ1Y3Rvcikge1xuICAgICAgICAgICAgdWlDb25zdHJ1Y3RvciA9IG9wdHMgPT4gbmV3IFdhbGxldFNES1VJXzEuV2FsbGV0U0RLVUkob3B0cyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB1aUNvbnN0cnVjdG9yID0gb3B0aW9ucy51aUNvbnN0cnVjdG9yO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5vdmVycmlkZUlzTWV0YU1hc2sgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIHRoaXMuX292ZXJyaWRlSXNNZXRhTWFzayA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcnJpZGVJc01ldGFNYXNrID0gb3B0aW9ucy5vdmVycmlkZUlzTWV0YU1hc2s7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb3ZlcnJpZGVJc0NvaW5iYXNlV2FsbGV0ID0gKF9hID0gb3B0aW9ucy5vdmVycmlkZUlzQ29pbmJhc2VXYWxsZXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRydWU7XG4gICAgICAgIHRoaXMuX292ZXJyaWRlSXNDb2luYmFzZUJyb3dzZXIgPVxuICAgICAgICAgICAgKF9iID0gb3B0aW9ucy5vdmVycmlkZUlzQ29pbmJhc2VCcm93c2VyKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZGlhZ25vc3RpY0xvZ2dlciAmJiBvcHRpb25zLmV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IGhhdmUgYm90aCBldmVudExpc3RlbmVyIGFuZCBkaWFnbm9zdGljTG9nZ2VyIG9wdGlvbnMsIHVzZSBvbmx5IGRpYWdub3N0aWNMb2dnZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5fZGlhZ25vc3RpY0xvZ2dlciA9IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gICAgICAgICAgICAgICAgbG9nOiBvcHRpb25zLmV2ZW50TGlzdGVuZXIub25FdmVudCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9kaWFnbm9zdGljTG9nZ2VyID0gb3B0aW9ucy5kaWFnbm9zdGljTG9nZ2VyO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlbG9hZE9uRGlzY29ubmVjdCA9IChfYyA9IG9wdGlvbnMucmVsb2FkT25EaXNjb25uZWN0KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiB0cnVlO1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGxpbmtBUElVcmwpO1xuICAgICAgICBjb25zdCBvcmlnaW4gPSBgJHt1cmwucHJvdG9jb2x9Ly8ke3VybC5ob3N0fWA7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UgPSBuZXcgU2NvcGVkTG9jYWxTdG9yYWdlXzEuU2NvcGVkTG9jYWxTdG9yYWdlKGAtd2FsbGV0bGluazoke29yaWdpbn1gKTsgLy8gbmVlZHMgbWlncmF0aW9uIHRvIHByZXNlcnZlIGxvY2FsIHN0YXRlc1xuICAgICAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0oXCJ2ZXJzaW9uXCIsIENvaW5iYXNlV2FsbGV0U0RLLlZFUlNJT04pO1xuICAgICAgICBpZiAodGhpcy53YWxsZXRFeHRlbnNpb24gfHwgdGhpcy5jb2luYmFzZUJyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWxheUV2ZW50TWFuYWdlciA9IG5ldyBXYWxsZXRTREtSZWxheUV2ZW50TWFuYWdlcl8xLldhbGxldFNES1JlbGF5RXZlbnRNYW5hZ2VyKCk7XG4gICAgICAgIHRoaXMuX3JlbGF5ID0gbmV3IFdhbGxldFNES1JlbGF5XzEuV2FsbGV0U0RLUmVsYXkoe1xuICAgICAgICAgICAgbGlua0FQSVVybCxcbiAgICAgICAgICAgIHZlcnNpb246IFNES19WRVJTSU9OLFxuICAgICAgICAgICAgZGFya01vZGU6ICEhb3B0aW9ucy5kYXJrTW9kZSxcbiAgICAgICAgICAgIHVpQ29uc3RydWN0b3IsXG4gICAgICAgICAgICBzdG9yYWdlOiB0aGlzLl9zdG9yYWdlLFxuICAgICAgICAgICAgcmVsYXlFdmVudE1hbmFnZXI6IHRoaXMuX3JlbGF5RXZlbnRNYW5hZ2VyLFxuICAgICAgICAgICAgZGlhZ25vc3RpY0xvZ2dlcjogdGhpcy5fZGlhZ25vc3RpY0xvZ2dlcixcbiAgICAgICAgICAgIHJlbG9hZE9uRGlzY29ubmVjdDogdGhpcy5fcmVsb2FkT25EaXNjb25uZWN0LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRBcHBJbmZvKG9wdGlvbnMuYXBwTmFtZSwgb3B0aW9ucy5hcHBMb2dvVXJsKTtcbiAgICAgICAgaWYgKCEhb3B0aW9ucy5oZWFkbGVzc01vZGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMuX3JlbGF5LmF0dGFjaFVJKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIFdlYjMgUHJvdmlkZXIgb2JqZWN0XG4gICAgICogQHBhcmFtIGpzb25ScGNVcmwgRXRoZXJldW0gSlNPTiBSUEMgVVJMIChEZWZhdWx0OiBcIlwiKVxuICAgICAqIEBwYXJhbSBjaGFpbklkIEV0aGVyZXVtIENoYWluIElEIChEZWZhdWx0OiAxKVxuICAgICAqIEByZXR1cm5zIEEgV2ViMyBQcm92aWRlclxuICAgICAqL1xuICAgIG1ha2VXZWIzUHJvdmlkZXIoanNvblJwY1VybCA9IFwiXCIsIGNoYWluSWQgPSAxKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IHRoaXMud2FsbGV0RXh0ZW5zaW9uO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNDaXBoZXJQcm92aWRlcihleHRlbnNpb24pKSB7XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uLnNldFByb3ZpZGVySW5mbyhqc29uUnBjVXJsLCBjaGFpbklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl9yZWxvYWRPbkRpc2Nvbm5lY3QgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGV4dGVuc2lvbi5kaXNhYmxlUmVsb2FkT25EaXNjb25uZWN0ID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uLmRpc2FibGVSZWxvYWRPbkRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIHJldHVybiBleHRlbnNpb247XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGFwcEJyb3dzZXIgPSB0aGlzLmNvaW5iYXNlQnJvd3NlcjtcbiAgICAgICAgaWYgKGRhcHBCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm4gZGFwcEJyb3dzZXI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVsYXkgPSB0aGlzLl9yZWxheTtcbiAgICAgICAgaWYgKCFyZWxheSB8fCAhdGhpcy5fcmVsYXlFdmVudE1hbmFnZXIgfHwgIXRoaXMuX3N0b3JhZ2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlbGF5IG5vdCBpbml0aWFsaXplZCwgc2hvdWxkIG5ldmVyIGhhcHBlblwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWpzb25ScGNVcmwpXG4gICAgICAgICAgICByZWxheS5zZXRDb25uZWN0RGlzYWJsZWQodHJ1ZSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29pbmJhc2VXYWxsZXRQcm92aWRlcl8xLkNvaW5iYXNlV2FsbGV0UHJvdmlkZXIoe1xuICAgICAgICAgICAgcmVsYXlQcm92aWRlcjogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHJlbGF5KSxcbiAgICAgICAgICAgIHJlbGF5RXZlbnRNYW5hZ2VyOiB0aGlzLl9yZWxheUV2ZW50TWFuYWdlcixcbiAgICAgICAgICAgIHN0b3JhZ2U6IHRoaXMuX3N0b3JhZ2UsXG4gICAgICAgICAgICBqc29uUnBjVXJsLFxuICAgICAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgICAgIHFyVXJsOiB0aGlzLmdldFFyVXJsKCksXG4gICAgICAgICAgICBkaWFnbm9zdGljTG9nZ2VyOiB0aGlzLl9kaWFnbm9zdGljTG9nZ2VyLFxuICAgICAgICAgICAgb3ZlcnJpZGVJc01ldGFNYXNrOiB0aGlzLl9vdmVycmlkZUlzTWV0YU1hc2ssXG4gICAgICAgICAgICBvdmVycmlkZUlzQ29pbmJhc2VXYWxsZXQ6IHRoaXMuX292ZXJyaWRlSXNDb2luYmFzZVdhbGxldCxcbiAgICAgICAgICAgIG92ZXJyaWRlSXNDb2luYmFzZUJyb3dzZXI6IHRoaXMuX292ZXJyaWRlSXNDb2luYmFzZUJyb3dzZXIsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgYXBwbGljYXRpb24gaW5mb3JtYXRpb25cbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBBcHBsaWNhdGlvbiBuYW1lXG4gICAgICogQHBhcmFtIGFwcExvZ29VcmwgQXBwbGljYXRpb24gbG9nbyBpbWFnZSBVUkxcbiAgICAgKi9cbiAgICBzZXRBcHBJbmZvKGFwcE5hbWUsIGFwcExvZ29VcmwpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICB0aGlzLl9hcHBOYW1lID0gYXBwTmFtZSB8fCBcIkRBcHBcIjtcbiAgICAgICAgdGhpcy5fYXBwTG9nb1VybCA9IGFwcExvZ29VcmwgfHwgKDAsIHV0aWxfMS5nZXRGYXZpY29uKSgpO1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSB0aGlzLndhbGxldEV4dGVuc2lvbjtcbiAgICAgICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ2lwaGVyUHJvdmlkZXIoZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgICAgIGV4dGVuc2lvbi5zZXRBcHBJbmZvKHRoaXMuX2FwcE5hbWUsIHRoaXMuX2FwcExvZ29VcmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgKF9hID0gdGhpcy5fcmVsYXkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZXRBcHBJbmZvKHRoaXMuX2FwcE5hbWUsIHRoaXMuX2FwcExvZ29VcmwpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIERpc2Nvbm5lY3QuIEFmdGVyIGRpc2Nvbm5lY3RpbmcsIHRoaXMgd2lsbCByZWxvYWQgdGhlIHdlYiBwYWdlIHRvIGVuc3VyZVxuICAgICAqIGFsbCBwb3RlbnRpYWwgc3RhbGUgc3RhdGUgaXMgY2xlYXJlZC5cbiAgICAgKi9cbiAgICBkaXNjb25uZWN0KCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IHRoaXMud2FsbGV0RXh0ZW5zaW9uO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICB2b2lkIGV4dGVuc2lvbi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgKF9hID0gdGhpcy5fcmVsYXkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXNldEFuZFJlbG9hZCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBRUiBVUkwgZm9yIG1vYmlsZSB3YWxsZXQgY29ubmVjdGlvbiwgd2lsbCByZXR1cm4gbnVsbCBpZiBleHRlbnNpb24gaXMgaW5zdGFsbGVkXG4gICAgICovXG4gICAgZ2V0UXJVcmwoKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLl9yZWxheSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldFFSQ29kZVVybCgpKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBudWxsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBPZmZpY2lhbCBDb2luYmFzZSBXYWxsZXQgbG9nbyBmb3IgZGV2ZWxvcGVycyB0byB1c2Ugb24gdGhlaXIgZnJvbnRlbmRcbiAgICAgKiBAcGFyYW0gdHlwZSBUeXBlIG9mIHdhbGxldCBsb2dvOiBcInN0YW5kYXJkXCIgfCBcImNpcmNsZVwiIHwgXCJ0ZXh0XCIgfCBcInRleHRXaXRoTG9nb1wiIHwgXCJ0ZXh0TGlnaHRcIiB8IFwidGV4dFdpdGhMb2dvTGlnaHRcIlxuICAgICAqIEBwYXJhbSB3aWR0aCBXaWR0aCBvZiB0aGUgbG9nbyAoT3B0aW9uYWwpXG4gICAgICogQHJldHVybnMgU1ZHIERhdGEgVVJJXG4gICAgICovXG4gICAgZ2V0Q29pbmJhc2VXYWxsZXRMb2dvKHR5cGUsIHdpZHRoID0gMjQwKSB7XG4gICAgICAgIHJldHVybiAoMCwgd2FsbGV0X2xvZ29fMS53YWxsZXRMb2dvKSh0eXBlLCB3aWR0aCk7XG4gICAgfVxuICAgIGdldCB3YWxsZXRFeHRlbnNpb24oKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIChfYSA9IHdpbmRvdy5jb2luYmFzZVdhbGxldEV4dGVuc2lvbikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogd2luZG93LndhbGxldExpbmtFeHRlbnNpb247XG4gICAgfVxuICAgIGdldCBjb2luYmFzZUJyb3dzZXIoKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBDb2luYmFzZSBEQXBwIGJyb3dzZXIgZG9lcyBub3QgaW5qZWN0IGludG8gaWZyYW1lcyBzbyBncmFiIHByb3ZpZGVyIGZyb20gdG9wIGZyYW1lIGlmIGl0IGV4aXN0c1xuICAgICAgICAgICAgY29uc3QgZXRoZXJldW0gPSAoX2EgPSB3aW5kb3cuZXRoZXJldW0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChfYiA9IHdpbmRvdy50b3ApID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5ldGhlcmV1bTtcbiAgICAgICAgICAgIGlmICghZXRoZXJldW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFwiaXNDb2luYmFzZUJyb3dzZXJcIiBpbiBldGhlcmV1bSAmJiBldGhlcmV1bS5pc0NvaW5iYXNlQnJvd3Nlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBldGhlcmV1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaXNDaXBoZXJQcm92aWRlcihwcm92aWRlcikge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGlzQ2lwaGVyIHdhbGxldGxpbmsgcHJvcGVydHlcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBwcm92aWRlci5pc0NpcGhlciA9PT0gXCJib29sZWFuXCIgJiYgcHJvdmlkZXIuaXNDaXBoZXI7XG4gICAgfVxufVxuZXhwb3J0cy5Db2luYmFzZVdhbGxldFNESyA9IENvaW5iYXNlV2FsbGV0U0RLO1xuQ29pbmJhc2VXYWxsZXRTREsuVkVSU0lPTiA9IFNES19WRVJTSU9OO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/assets/wallet-logo.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/assets/wallet-logo.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.walletLogo = void 0;\nconst walletLogo = (type, width) => {\n let height;\n switch (type) {\n case \"standard\":\n height = width;\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;\n case \"circle\":\n height = width;\n return `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${width}' height='${height}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;\n case \"text\":\n height = (0.1 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;\n case \"textWithLogo\":\n height = (0.25 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;\n case \"textLight\":\n height = (0.1 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;\n case \"textWithLogoLight\":\n height = (0.25 * width).toFixed(2);\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;\n default:\n height = width;\n return `data:image/svg+xml,%3Csvg width='${width}' height='${height}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;\n }\n};\nexports.walletLogo = walletLogo;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9hc3NldHMvd2FsbGV0LWxvZ28uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsTUFBTSxZQUFZLE9BQU87QUFDaEY7QUFDQTtBQUNBLDBGQUEwRixNQUFNLFlBQVksT0FBTyw2RUFBNkUsMkJBQTJCLDJCQUEyQjtBQUN0UDtBQUNBO0FBQ0EsdURBQXVELE1BQU0sWUFBWSxPQUFPLCtHQUErRztBQUMvTDtBQUNBO0FBQ0EsdURBQXVELE1BQU0sWUFBWSxPQUFPLCtHQUErRztBQUMvTDtBQUNBO0FBQ0EsdURBQXVELE1BQU0sWUFBWSxPQUFPLCtHQUErRztBQUMvTDtBQUNBO0FBQ0EsdURBQXVELE1BQU0sWUFBWSxPQUFPLCtHQUErRztBQUMvTDtBQUNBO0FBQ0EsdURBQXVELE1BQU0sWUFBWSxPQUFPO0FBQ2hGO0FBQ0E7QUFDQSxrQkFBa0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvYXNzZXRzL3dhbGxldC1sb2dvLmpzPzE0NjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLndhbGxldExvZ28gPSB2b2lkIDA7XG5jb25zdCB3YWxsZXRMb2dvID0gKHR5cGUsIHdpZHRoKSA9PiB7XG4gICAgbGV0IGhlaWdodDtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBcInN0YW5kYXJkXCI6XG4gICAgICAgICAgICBoZWlnaHQgPSB3aWR0aDtcbiAgICAgICAgICAgIHJldHVybiBgZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nJHt3aWR0aH0nIGhlaWdodD0nJHtoZWlnaHR9JyB2aWV3Qm94PScwIDAgMTAyNCAxMDI0JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFICUzQ3JlY3Qgd2lkdGg9JzEwMjQnIGhlaWdodD0nMTAyNCcgZmlsbD0nJTIzMDA1MkZGJy8lM0UgJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTE1MiA1MTJDMTUyIDcxMC44MjMgMzEzLjE3NyA4NzIgNTEyIDg3MkM3MTAuODIzIDg3MiA4NzIgNzEwLjgyMyA4NzIgNTEyQzg3MiAzMTMuMTc3IDcxMC44MjMgMTUyIDUxMiAxNTJDMzEzLjE3NyAxNTIgMTUyIDMxMy4xNzcgMTUyIDUxMlpNNDIwIDM5NkM0MDYuNzQ1IDM5NiAzOTYgNDA2Ljc0NSAzOTYgNDIwVjYwNEMzOTYgNjE3LjI1NSA0MDYuNzQ1IDYyOCA0MjAgNjI4SDYwNEM2MTcuMjU1IDYyOCA2MjggNjE3LjI1NSA2MjggNjA0VjQyMEM2MjggNDA2Ljc0NSA2MTcuMjU1IDM5NiA2MDQgMzk2SDQyMFonIGZpbGw9J3doaXRlJy8lM0UgJTNDL3N2ZyUzRSBgO1xuICAgICAgICBjYXNlIFwiY2lyY2xlXCI6XG4gICAgICAgICAgICBoZWlnaHQgPSB3aWR0aDtcbiAgICAgICAgICAgIHJldHVybiBgZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScke3dpZHRofScgaGVpZ2h0PScke2hlaWdodH0nIHZpZXdCb3g9JzAgMCA5OTkuODEgOTk5LjgxJyUzRSUzQ2RlZnMlM0UlM0NzdHlsZSUzRS5jbHMtMSU3QmZpbGw6JTIzMDA1MmZlOyU3RC5jbHMtMiU3QmZpbGw6JTIzZmVmZWZlOyU3RC5jbHMtMyU3QmZpbGw6JTIzMDE1MmZlOyU3RCUzQy9zdHlsZSUzRSUzQy9kZWZzJTNFJTNDcGF0aCBjbGFzcz0nY2xzLTEnIGQ9J002NTUtMTE1LjloNTZjLjgzLDEuNTksMi4zNi44OCwzLjU2LDFhNDc4LDQ3OCwwLDAsMSw3NS4wNiwxMC40MkM4OTEuNC04MS43Niw5NzguMzMtMzIuNTgsMTA0OS4xOSw0NHExMTYuNywxMjYsMTMxLjk0LDI5Ny42MWMuMzgsNC4xNC0uMzQsOC41MywxLjc4LDEyLjQ1djU5Yy0xLjU4Ljg0LS45MSwyLjM1LTEsMy41NmE0ODIuMDUsNDgyLjA1LDAsMCwxLTEwLjM4LDc0LjA1Yy0yNCwxMDYuNzItNzYuNjQsMTk2Ljc2LTE1OC44MywyNjguOTNzLTE3OC4xOCwxMTIuODItMjg3LjIsMTIyLjZjLTQuODMuNDMtOS44Ni0uMjUtMTQuNTEsMS43N0g2NTRjLTEtMS42OC0yLjY5LS45MS00LjA2LTFhNDk2Ljg5LDQ5Ni44OSwwLDAsMS0xMDUuOS0xOC41OWMtOTMuNTQtMjcuNDItMTcyLjc4LTc3LjU5LTIzNi45MS0xNTAuOTRRMTk5LjM0LDU5MC4xLDE4NC44Nyw0MjYuNThjLS40Ny01LjE5LjI1LTEwLjU2LTEuNzctMTUuNTlWMzU1YzEuNjgtMSwuOTEtMi43LDEtNC4wNmE0OTguMTIsNDk4LjEyLDAsMCwxLDE4LjU4LTEwNS45YzI2LTg4Ljc1LDcyLjY0LTE2NC45LDE0MC42LTIyNy41N3ExMjYtMTE2LjI3LDI5Ny4yMS0xMzEuNjFDNjQ1LjMyLTExNC41Nyw2NTAuMzUtMTEzLjg4LDY1NS0xMTUuOVptMzc3LjkyLDUwMGMwLTE5Mi40NC0xNTYuMzEtMzQ5LjQ5LTM0Ny41Ni0zNTAuMTUtMTk0LjEzLS42OC0zNTAuOTQsMTU1LjEzLTM1Mi4yOSwzNDcuNDItMS4zNywxOTQuNTUsMTU1LjUxLDM1Mi4xLDM0OC41NiwzNTIuNDdDODc2LjE1LDczNC4yMywxMDMyLjkzLDU3Ny44NCwxMDMyLjkzLDM4NC4xMVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xODMuMSAxMTUuOSknLyUzRSUzQ3BhdGggY2xhc3M9J2Nscy0yJyBkPSdNMTAzMi45MywzODQuMTFjMCwxOTMuNzMtMTU2Ljc4LDM1MC4xMi0zNTEuMjksMzQ5Ljc0LTE5My0uMzctMzQ5LjkzLTE1Ny45Mi0zNDguNTYtMzUyLjQ3QzMzNC40MywxODkuMDksNDkxLjI0LDMzLjI4LDY4NS4zNywzNCw4NzYuNjIsMzQuNjIsMTAzMi45NCwxOTEuNjcsMTAzMi45MywzODQuMTFaTTY4Myw0OTYuODFxNDMuNzQsMCw4Ny40OCwwYzE1LjU1LDAsMjUuMzItOS43MiwyNS4zMy0yNS4yMXEwLTg3LjQ4LDAtMTc1YzAtMTUuODMtOS42OC0yNS40Ni0yNS41OS0yNS40Nkg1OTUuNzdjLTE1Ljg4LDAtMjUuNTcsOS42NC0yNS41OCwyNS40NnEwLDg3LjIzLDAsMTc0LjQ1YzAsMTYuMTgsOS41OSwyNS43LDI1Ljg0LDI1LjcxWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTE4My4xIDExNS45KScvJTNFJTNDcGF0aCBjbGFzcz0nY2xzLTMnIGQ9J002ODMsNDk2LjgxSDU5NmMtMTYuMjUsMC0yNS44NC05LjUzLTI1Ljg0LTI1LjcxcTAtODcuMjMsMC0xNzQuNDVjMC0xNS44Miw5LjctMjUuNDYsMjUuNTgtMjUuNDZINzcwLjIyYzE1LjkxLDAsMjUuNTksOS42MywyNS41OSwyNS40NnEwLDg3LjQ3LDAsMTc1YzAsMTUuNDktOS43OCwyNS4yLTI1LjMzLDI1LjIxUTcyNi43NCw0OTYuODQsNjgzLDQ5Ni44MVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xODMuMSAxMTUuOSknLyUzRSUzQy9zdmclM0VgO1xuICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgICAgaGVpZ2h0ID0gKDAuMSAqIHdpZHRoKS50b0ZpeGVkKDIpO1xuICAgICAgICAgICAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScke3dpZHRofScgaGVpZ2h0PScke2hlaWdodH0nIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUyOC4xNSA1My42NCclM0UlM0NkZWZzJTNFJTNDc3R5bGUlM0UuY2xzLTElN0JmaWxsOiUyMzAwNTJmZjslN0QlM0Mvc3R5bGUlM0UlM0MvZGVmcyUzRSUzQ3RpdGxlJTNFQ29pbmJhc2VfV29yZG1hcmtfU3ViQnJhbmRzX0FMTCUzQy90aXRsZSUzRSUzQ3BhdGggY2xhc3M9J2Nscy0xJyBkPSdNMTY0LjQ1LDE1YTE1LDE1LDAsMCwwLTExLjc0LDUuNFYwaC04LjY0VjUyLjkyaDguNVY0OGExNSwxNSwwLDAsMCwxMS44OCw1LjYyYzEwLjM3LDAsMTguMjEtOC4yMSwxOC4yMS0xOS4zUzE3NC42NywxNSwxNjQuNDUsMTVabS0xLjMsMzAuNjdjLTYuMTksMC0xMC43My00LjgzLTEwLjczLTExLjMxUzE1NywyMywxNjMuMjIsMjNzMTAuNjYsNC44MiwxMC42NiwxMS4zN1MxNjkuMzQsNDUuNjUsMTYzLjE1LDQ1LjY1Wm04My4zMS0xNC45MS02LjM0LS45M2MtMy0uNDMtNS4xOC0xLjQ0LTUuMTgtMy44MiwwLTIuNTksMi44LTMuODksNi42Mi0zLjg5LDQuMTgsMCw2Ljg0LDEuOCw3LjQyLDQuNzZoOC4zNWMtLjk0LTcuNDktNi43LTExLjg4LTE1LjU1LTExLjg4LTkuMTUsMC0xNS4yLDQuNjgtMTUuMiwxMS4zLDAsNi4zNCw0LDEwLDEyLDExLjE2bDYuMzMuOTRjMy4xLjQzLDQuODMsMS42NSw0LjgzLDQsMCwyLjk1LTMsNC4xNy03LjIsNC4xNy01LjEyLDAtOC0yLjA5LTguNDMtNS4yNWgtOC40OWMuNzksNy4yNyw2LjQ4LDEyLjM4LDE2Ljg0LDEyLjM4LDkuNDQsMCwxNS43LTQuMzIsMTUuNy0xMS43NEMyNTguMTIsMzUuMjgsMjUzLjU4LDMxLjgyLDI0Ni40NiwzMC43NFptLTI3LjY1LTIuM2MwLTguMDYtNC45LTEzLjQ2LTE1LjI3LTEzLjQ2LTkuNzksMC0xNS4yNiw1LTE2LjM0LDEyLjZoOC41N2MuNDMtMywyLjczLTUuNCw3LjYzLTUuNCw0LjM5LDAsNi41NSwxLjk0LDYuNTUsNC4zMiwwLDMuMDktNCwzLjg4LTguODUsNC4zOS02LjYzLjcyLTE0Ljg0LDMtMTQuODQsMTEuNjYsMCw2LjcsNSwxMSwxMi44OSwxMSw2LjE5LDAsMTAuMDgtMi41OSwxMi02LjcuMjgsMy42NywzLDYuMDUsNi44NCw2LjA1aDV2LTcuN2gtNC4yNVptLTguNSw5LjM2YzAsNS00LjMyLDguNjQtOS41Nyw4LjY0LTMuMjQsMC02LTEuMzctNi00LjI1LDAtMy42Nyw0LjM5LTQuNjgsOC40Mi01LjExczYtMS4yMiw3LjEzLTIuODhaTTI4MS4wOSwxNWMtMTEuMDksMC0xOS4yMyw4LjM1LTE5LjIzLDE5LjM2LDAsMTEuNiw4LjcyLDE5LjMsMTkuMzcsMTkuMyw5LDAsMTYuMDYtNS4zMywxNy44Ni0xMi44OWgtOWMtMS4zLDMuMzEtNC40Nyw1LjE5LTguNzEsNS4xOS01LjU1LDAtOS43Mi0zLjQ2LTEwLjY2LTkuNTFIMjk5LjNWMzMuMTJDMjk5LjMsMjIuNDYsMjkxLjUzLDE1LDI4MS4wOSwxNVptLTkuODcsMTUuMjZjMS4zNy01LjE4LDUuMjYtNy43LDkuNzItNy43LDQuOSwwLDguNjQsMi44LDkuNTEsNy43Wk0xOS4zLDIzYTkuODQsOS44NCwwLDAsMSw5LjUsN2g5LjE0Yy0xLjY1LTguOTMtOS0xNS0xOC41Ny0xNUExOSwxOSwwLDAsMCwwLDM0LjM0YzAsMTEuMDksOC4yOCwxOS4zLDE5LjM3LDE5LjMsOS4zNiwwLDE2Ljg1LTYsMTguNS0xNUgyOC44YTkuNzUsOS43NSwwLDAsMS05LjQzLDcuMDZjLTYuMjcsMC0xMC42Ni00LjgzLTEwLjY2LTExLjMxUzEzLDIzLDE5LjMsMjNabTQxLjExLThBMTksMTksMCwwLDAsNDEsMzQuMzRjMCwxMS4wOSw4LjI4LDE5LjMsMTkuMzcsMTkuM0ExOSwxOSwwLDAsMCw3OS45MiwzNC4yN0M3OS45MiwyMy4zMyw3MS42NCwxNSw2MC40MSwxNVptLjA3LDMwLjY3Yy02LjE5LDAtMTAuNzMtNC44My0xMC43My0xMS4zMVM1NC4yMiwyMyw2MC40MSwyM3MxMC44LDQuODksMTAuOCwxMS4zN1M2Ni42Nyw0NS42NSw2MC40OCw0NS42NVpNMTIzLjQxLDE1Yy01LjYyLDAtOS4yOSwyLjMtMTEuNDUsNS41NFYxNS43aC04LjU3VjUyLjkySDExMlYzMi42OUMxMTIsMjcsMTE1LjYzLDIzLDEyMSwyM2M1LDAsOC4wNiwzLjUzLDguMDYsOC42NFY1Mi45Mmg4LjY0VjMxQzEzNy42NiwyMS42LDEzMi44NCwxNSwxMjMuNDEsMTVaTTkyLC4zNmE1LjM2LDUuMzYsMCwwLDAtNS41NSw1LjQ3LDUuNTUsNS41NSwwLDAsMCwxMS4wOSwwQTUuMzUsNS4zNSwwLDAsMCw5MiwuMzZabS05LjcyLDIzaDUuNFY1Mi45Mmg4LjY0VjE1LjdoLTE0Wm0yOTguMTctNy43TDM2Ni4yLDUyLjkySDM3MkwzNzUuMjksNDRIMzkybDMuMzMsOC44OGg2TDM4Ni44NywxNS43Wk0zNzcsMzkuMjNsNi40NS0xNy41NmguMWw2LjU2LDE3LjU2Wk0zNjIuNjYsMTUuN2wtNy44OCwyOWgtLjExbC04LjE0LTI5SDM0MWwtOCwyOC45M2gtLjFsLTgtMjguODdIMzE5TDMyOS44Miw1M2g1LjQ1bDguMTktMjkuMjRoLjExTDM1Miw1M2g1LjY2TDM2OC4xLDE1LjdabTEzNS4yNSwwdjQuODZoMTIuMzJWNTIuOTJoNS42VjIwLjU2aDEyLjMyVjE1LjdaTTQ2Ny44Miw1Mi45MmgyNS41NFY0OC4wNkg0NzMuNDN2LTEyaDE4LjM1VjMxLjM1SDQ3My40M1YyMC41NmgxOS45M1YxNS43SDQ2Ny44MlpNNDQzLDE1LjdoLTUuNlY1Mi45MmgyNC4zMlY0OC4wNkg0NDNabS0zMC40NSwwaC01LjYxVjUyLjkyaDI0LjMyVjQ4LjA2SDQxMi41MlonLyUzRSUzQy9zdmclM0VgO1xuICAgICAgICBjYXNlIFwidGV4dFdpdGhMb2dvXCI6XG4gICAgICAgICAgICBoZWlnaHQgPSAoMC4yNSAqIHdpZHRoKS50b0ZpeGVkKDIpO1xuICAgICAgICAgICAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScke3dpZHRofScgaGVpZ2h0PScke2hlaWdodH0nIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwOC40NCA3Ny42MSclM0UlM0NkZWZzJTNFJTNDc3R5bGUlM0UuY2xzLTElN0JmaWxsOiUyMzAwNTJmZjslN0QlM0Mvc3R5bGUlM0UlM0MvZGVmcyUzRSUzQ3BhdGggY2xhc3M9J2Nscy0xJyBkPSdNMTQyLjk0LDIwLjJsLTcuODgsMjlIMTM1bC04LjE1LTI5aC01LjU1bC04LDI4LjkzaC0uMTFsLTgtMjguODdIOTkuMjdsMTAuODQsMzcuMjdoNS40NGw4LjItMjkuMjRoLjFsOC40MSwyOS4yNGg1LjY2TDE0OC4zOSwyMC4yWm0xNy44MiwwTDE0Ni40OCw1Ny40Mmg1LjgybDMuMjgtOC44OGgxNi42NWwzLjM0LDguODhoNkwxNjcuMTYsMjAuMlptLTMuNDQsMjMuNTIsNi40NS0xNy41NWguMTFsNi41NiwxNy41NVpNMjc4LjIsMjAuMnY0Ljg2aDEyLjMyVjU3LjQyaDUuNlYyNS4wNmgxMi4zMlYyMC4yWk0yNDguMTEsNTcuNDJoMjUuNTRWNTIuNTVIMjUzLjcxVjQwLjYxaDE4LjM1VjM1Ljg1SDI1My43MVYyNS4wNmgxOS45NFYyMC4ySDI0OC4xMVpNMjIzLjI2LDIwLjJoLTUuNjFWNTcuNDJIMjQyVjUyLjU1SDIyMy4yNlptLTMwLjQ2LDBoLTUuNlY1Ny40MmgyNC4zMlY1Mi41NUgxOTIuOFptLTE1NCwzOEExOS40MSwxOS40MSwwLDEsMSw1Ny45MiwzNS41N0g3Ny40N2EzOC44MSwzOC44MSwwLDEsMCwwLDYuNDdINTcuOTJBMTkuMzksMTkuMzksMCwwLDEsMzguODEsNTguMjFaJy8lM0UlM0Mvc3ZnJTNFYDtcbiAgICAgICAgY2FzZSBcInRleHRMaWdodFwiOlxuICAgICAgICAgICAgaGVpZ2h0ID0gKDAuMSAqIHdpZHRoKS50b0ZpeGVkKDIpO1xuICAgICAgICAgICAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScke3dpZHRofScgaGVpZ2h0PScke2hlaWdodH0nIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUyOC4xNSA1My42NCclM0UlM0NkZWZzJTNFJTNDc3R5bGUlM0UuY2xzLTElN0JmaWxsOiUyM2ZlZmVmZTslN0QlM0Mvc3R5bGUlM0UlM0MvZGVmcyUzRSUzQ3RpdGxlJTNFQ29pbmJhc2VfV29yZG1hcmtfU3ViQnJhbmRzX0FMTCUzQy90aXRsZSUzRSUzQ3BhdGggY2xhc3M9J2Nscy0xJyBkPSdNMTY0LjQ1LDE1YTE1LDE1LDAsMCwwLTExLjc0LDUuNFYwaC04LjY0VjUyLjkyaDguNVY0OGExNSwxNSwwLDAsMCwxMS44OCw1LjYyYzEwLjM3LDAsMTguMjEtOC4yMSwxOC4yMS0xOS4zUzE3NC42NywxNSwxNjQuNDUsMTVabS0xLjMsMzAuNjdjLTYuMTksMC0xMC43My00LjgzLTEwLjczLTExLjMxUzE1NywyMywxNjMuMjIsMjNzMTAuNjYsNC44MiwxMC42NiwxMS4zN1MxNjkuMzQsNDUuNjUsMTYzLjE1LDQ1LjY1Wm04My4zMS0xNC45MS02LjM0LS45M2MtMy0uNDMtNS4xOC0xLjQ0LTUuMTgtMy44MiwwLTIuNTksMi44LTMuODksNi42Mi0zLjg5LDQuMTgsMCw2Ljg0LDEuOCw3LjQyLDQuNzZoOC4zNWMtLjk0LTcuNDktNi43LTExLjg4LTE1LjU1LTExLjg4LTkuMTUsMC0xNS4yLDQuNjgtMTUuMiwxMS4zLDAsNi4zNCw0LDEwLDEyLDExLjE2bDYuMzMuOTRjMy4xLjQzLDQuODMsMS42NSw0LjgzLDQsMCwyLjk1LTMsNC4xNy03LjIsNC4xNy01LjEyLDAtOC0yLjA5LTguNDMtNS4yNWgtOC40OWMuNzksNy4yNyw2LjQ4LDEyLjM4LDE2Ljg0LDEyLjM4LDkuNDQsMCwxNS43LTQuMzIsMTUuNy0xMS43NEMyNTguMTIsMzUuMjgsMjUzLjU4LDMxLjgyLDI0Ni40NiwzMC43NFptLTI3LjY1LTIuM2MwLTguMDYtNC45LTEzLjQ2LTE1LjI3LTEzLjQ2LTkuNzksMC0xNS4yNiw1LTE2LjM0LDEyLjZoOC41N2MuNDMtMywyLjczLTUuNCw3LjYzLTUuNCw0LjM5LDAsNi41NSwxLjk0LDYuNTUsNC4zMiwwLDMuMDktNCwzLjg4LTguODUsNC4zOS02LjYzLjcyLTE0Ljg0LDMtMTQuODQsMTEuNjYsMCw2LjcsNSwxMSwxMi44OSwxMSw2LjE5LDAsMTAuMDgtMi41OSwxMi02LjcuMjgsMy42NywzLDYuMDUsNi44NCw2LjA1aDV2LTcuN2gtNC4yNVptLTguNSw5LjM2YzAsNS00LjMyLDguNjQtOS41Nyw4LjY0LTMuMjQsMC02LTEuMzctNi00LjI1LDAtMy42Nyw0LjM5LTQuNjgsOC40Mi01LjExczYtMS4yMiw3LjEzLTIuODhaTTI4MS4wOSwxNWMtMTEuMDksMC0xOS4yMyw4LjM1LTE5LjIzLDE5LjM2LDAsMTEuNiw4LjcyLDE5LjMsMTkuMzcsMTkuMyw5LDAsMTYuMDYtNS4zMywxNy44Ni0xMi44OWgtOWMtMS4zLDMuMzEtNC40Nyw1LjE5LTguNzEsNS4xOS01LjU1LDAtOS43Mi0zLjQ2LTEwLjY2LTkuNTFIMjk5LjNWMzMuMTJDMjk5LjMsMjIuNDYsMjkxLjUzLDE1LDI4MS4wOSwxNVptLTkuODcsMTUuMjZjMS4zNy01LjE4LDUuMjYtNy43LDkuNzItNy43LDQuOSwwLDguNjQsMi44LDkuNTEsNy43Wk0xOS4zLDIzYTkuODQsOS44NCwwLDAsMSw5LjUsN2g5LjE0Yy0xLjY1LTguOTMtOS0xNS0xOC41Ny0xNUExOSwxOSwwLDAsMCwwLDM0LjM0YzAsMTEuMDksOC4yOCwxOS4zLDE5LjM3LDE5LjMsOS4zNiwwLDE2Ljg1LTYsMTguNS0xNUgyOC44YTkuNzUsOS43NSwwLDAsMS05LjQzLDcuMDZjLTYuMjcsMC0xMC42Ni00LjgzLTEwLjY2LTExLjMxUzEzLDIzLDE5LjMsMjNabTQxLjExLThBMTksMTksMCwwLDAsNDEsMzQuMzRjMCwxMS4wOSw4LjI4LDE5LjMsMTkuMzcsMTkuM0ExOSwxOSwwLDAsMCw3OS45MiwzNC4yN0M3OS45MiwyMy4zMyw3MS42NCwxNSw2MC40MSwxNVptLjA3LDMwLjY3Yy02LjE5LDAtMTAuNzMtNC44My0xMC43My0xMS4zMVM1NC4yMiwyMyw2MC40MSwyM3MxMC44LDQuODksMTAuOCwxMS4zN1M2Ni42Nyw0NS42NSw2MC40OCw0NS42NVpNMTIzLjQxLDE1Yy01LjYyLDAtOS4yOSwyLjMtMTEuNDUsNS41NFYxNS43aC04LjU3VjUyLjkySDExMlYzMi42OUMxMTIsMjcsMTE1LjYzLDIzLDEyMSwyM2M1LDAsOC4wNiwzLjUzLDguMDYsOC42NFY1Mi45Mmg4LjY0VjMxQzEzNy42NiwyMS42LDEzMi44NCwxNSwxMjMuNDEsMTVaTTkyLC4zNmE1LjM2LDUuMzYsMCwwLDAtNS41NSw1LjQ3LDUuNTUsNS41NSwwLDAsMCwxMS4wOSwwQTUuMzUsNS4zNSwwLDAsMCw5MiwuMzZabS05LjcyLDIzaDUuNFY1Mi45Mmg4LjY0VjE1LjdoLTE0Wm0yOTguMTctNy43TDM2Ni4yLDUyLjkySDM3MkwzNzUuMjksNDRIMzkybDMuMzMsOC44OGg2TDM4Ni44NywxNS43Wk0zNzcsMzkuMjNsNi40NS0xNy41NmguMWw2LjU2LDE3LjU2Wk0zNjIuNjYsMTUuN2wtNy44OCwyOWgtLjExbC04LjE0LTI5SDM0MWwtOCwyOC45M2gtLjFsLTgtMjguODdIMzE5TDMyOS44Miw1M2g1LjQ1bDguMTktMjkuMjRoLjExTDM1Miw1M2g1LjY2TDM2OC4xLDE1LjdabTEzNS4yNSwwdjQuODZoMTIuMzJWNTIuOTJoNS42VjIwLjU2aDEyLjMyVjE1LjdaTTQ2Ny44Miw1Mi45MmgyNS41NFY0OC4wNkg0NzMuNDN2LTEyaDE4LjM1VjMxLjM1SDQ3My40M1YyMC41NmgxOS45M1YxNS43SDQ2Ny44MlpNNDQzLDE1LjdoLTUuNlY1Mi45MmgyNC4zMlY0OC4wNkg0NDNabS0zMC40NSwwaC01LjYxVjUyLjkyaDI0LjMyVjQ4LjA2SDQxMi41MlonLyUzRSUzQy9zdmclM0VgO1xuICAgICAgICBjYXNlIFwidGV4dFdpdGhMb2dvTGlnaHRcIjpcbiAgICAgICAgICAgIGhlaWdodCA9ICgwLjI1ICogd2lkdGgpLnRvRml4ZWQoMik7XG4gICAgICAgICAgICByZXR1cm4gYGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JyR7d2lkdGh9JyBoZWlnaHQ9JyR7aGVpZ2h0fScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzA4LjQ0IDc3LjYxJyUzRSUzQ2RlZnMlM0UlM0NzdHlsZSUzRS5jbHMtMSU3QmZpbGw6JTIzZmVmZWZlOyU3RCUzQy9zdHlsZSUzRSUzQy9kZWZzJTNFJTNDcGF0aCBjbGFzcz0nY2xzLTEnIGQ9J00xNDIuOTQsMjAuMmwtNy44OCwyOUgxMzVsLTguMTUtMjloLTUuNTVsLTgsMjguOTNoLS4xMWwtOC0yOC44N0g5OS4yN2wxMC44NCwzNy4yN2g1LjQ0bDguMi0yOS4yNGguMWw4LjQxLDI5LjI0aDUuNjZMMTQ4LjM5LDIwLjJabTE3LjgyLDBMMTQ2LjQ4LDU3LjQyaDUuODJsMy4yOC04Ljg4aDE2LjY1bDMuMzQsOC44OGg2TDE2Ny4xNiwyMC4yWm0tMy40NCwyMy41Miw2LjQ1LTE3LjU1aC4xMWw2LjU2LDE3LjU1Wk0yNzguMiwyMC4ydjQuODZoMTIuMzJWNTcuNDJoNS42VjI1LjA2aDEyLjMyVjIwLjJaTTI0OC4xMSw1Ny40MmgyNS41NFY1Mi41NUgyNTMuNzFWNDAuNjFoMTguMzVWMzUuODVIMjUzLjcxVjI1LjA2aDE5Ljk0VjIwLjJIMjQ4LjExWk0yMjMuMjYsMjAuMmgtNS42MVY1Ny40MkgyNDJWNTIuNTVIMjIzLjI2Wm0tMzAuNDYsMGgtNS42VjU3LjQyaDI0LjMyVjUyLjU1SDE5Mi44Wm0tMTU0LDM4QTE5LjQxLDE5LjQxLDAsMSwxLDU3LjkyLDM1LjU3SDc3LjQ3YTM4LjgxLDM4LjgxLDAsMSwwLDAsNi40N0g1Ny45MkExOS4zOSwxOS4zOSwwLDAsMSwzOC44MSw1OC4yMVonLyUzRSUzQy9zdmclM0VgO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaGVpZ2h0ID0gd2lkdGg7XG4gICAgICAgICAgICByZXR1cm4gYGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JyR7d2lkdGh9JyBoZWlnaHQ9JyR7aGVpZ2h0fScgdmlld0JveD0nMCAwIDEwMjQgMTAyNCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSAlM0NyZWN0IHdpZHRoPScxMDI0JyBoZWlnaHQ9JzEwMjQnIGZpbGw9JyUyMzAwNTJGRicvJTNFICUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xNTIgNTEyQzE1MiA3MTAuODIzIDMxMy4xNzcgODcyIDUxMiA4NzJDNzEwLjgyMyA4NzIgODcyIDcxMC44MjMgODcyIDUxMkM4NzIgMzEzLjE3NyA3MTAuODIzIDE1MiA1MTIgMTUyQzMxMy4xNzcgMTUyIDE1MiAzMTMuMTc3IDE1MiA1MTJaTTQyMCAzOTZDNDA2Ljc0NSAzOTYgMzk2IDQwNi43NDUgMzk2IDQyMFY2MDRDMzk2IDYxNy4yNTUgNDA2Ljc0NSA2MjggNDIwIDYyOEg2MDRDNjE3LjI1NSA2MjggNjI4IDYxNy4yNTUgNjI4IDYwNFY0MjBDNjI4IDQwNi43NDUgNjE3LjI1NSAzOTYgNjA0IDM5Nkg0MjBaJyBmaWxsPSd3aGl0ZScvJTNFICUzQy9zdmclM0UgYDtcbiAgICB9XG59O1xuZXhwb3J0cy53YWxsZXRMb2dvID0gd2FsbGV0TG9nbztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/assets/wallet-logo.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent-css.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent-css.js ***! - \************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `.-cbwsdk-css-reset .-cbwsdk-connect-content{height:430px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-connect-content.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 30px}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading{font-style:normal;font-weight:500;font-size:28px;line-height:36px;margin:0}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-layout{display:flex;flex-direction:row}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-left{margin-right:30px;display:flex;flex-direction:column;justify-content:space-between}.-cbwsdk-css-reset .-cbwsdk-connect-content-column-right{flex:25%;margin-right:34px}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-wrapper{width:220px;height:220px;border-radius:12px;display:flex;justify-content:center;align-items:center;background:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light{background-color:rgba(255,255,255,.95)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.light>p{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark{background-color:rgba(10,11,13,.9)}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting.dark>p{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-content-qr-connecting>p{font-size:12px;font-weight:bold;margin-top:16px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app{border-radius:8px;font-size:14px;line-height:20px;padding:12px;width:339px}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.light{background:#eef0f3;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-connect-content-update-app.dark{background:#1e2025;color:#8a919e}.-cbwsdk-css-reset .-cbwsdk-cancel-button{-webkit-appearance:none;border:none;background:none;cursor:pointer;padding:0;margin:0}.-cbwsdk-css-reset .-cbwsdk-cancel-button-x{position:relative;display:block;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-wallet-steps{padding:0 0 0 16px;margin:0;width:100%;list-style:decimal}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item{list-style-type:decimal;display:list-item;font-style:normal;font-weight:400;font-size:16px;line-height:24px;margin-top:20px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-item-wrapper{display:flex;align-items:center}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-pad-left{margin-left:6px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon{display:flex;border-radius:50%;height:24px;width:24px}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.light{background:#0052ff}.-cbwsdk-css-reset .-cbwsdk-wallet-steps-icon.dark{background:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item{align-items:center;display:flex;flex-direction:row;padding:16px 24px;gap:12px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-connect-item.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-connect-item.light.selected{background:#f5f8ff;color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-connect-item.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-connect-item.dark.selected{background:#001033;color:#588af5}.-cbwsdk-css-reset .-cbwsdk-connect-item.selected{border-radius:100px;font-weight:600}.-cbwsdk-css-reset .-cbwsdk-connect-item-copy-wrapper{margin:0 4px 0 8px}.-cbwsdk-css-reset .-cbwsdk-connect-item-title{margin:0 0 0;font-size:16px;line-height:24px;font-weight:500}.-cbwsdk-css-reset .-cbwsdk-connect-item-description{font-weight:400;font-size:14px;line-height:20px;margin:0}`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0Nvbm5lY3RDb250ZW50L0Nvbm5lY3RDb250ZW50LWNzcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWUsZ0RBQWdELGFBQWEsWUFBWSxtQkFBbUIsYUFBYSxrREFBa0QsZ0JBQWdCLGlEQUFpRCxtQkFBbUIsbURBQW1ELGFBQWEsbUJBQW1CLDhCQUE4QixnQkFBZ0Isb0RBQW9ELGtCQUFrQixnQkFBZ0IsZUFBZSxpQkFBaUIsU0FBUywwREFBMEQsY0FBYyx5REFBeUQsV0FBVyxtREFBbUQsYUFBYSxtQkFBbUIsd0RBQXdELGtCQUFrQixhQUFhLHNCQUFzQiw4QkFBOEIseURBQXlELFNBQVMsa0JBQWtCLHVEQUF1RCxZQUFZLGFBQWEsbUJBQW1CLGFBQWEsdUJBQXVCLG1CQUFtQixnQkFBZ0IsMERBQTBELGtCQUFrQixNQUFNLFNBQVMsT0FBTyxRQUFRLGFBQWEsc0JBQXNCLG1CQUFtQix1QkFBdUIsZ0VBQWdFLHVDQUF1QyxrRUFBa0UsY0FBYywrREFBK0QsbUNBQW1DLGlFQUFpRSxXQUFXLDREQUE0RCxlQUFlLGlCQUFpQixnQkFBZ0IsdURBQXVELGtCQUFrQixlQUFlLGlCQUFpQixhQUFhLFlBQVksNkRBQTZELG1CQUFtQixjQUFjLDREQUE0RCxtQkFBbUIsY0FBYywwQ0FBMEMsd0JBQXdCLFlBQVksZ0JBQWdCLGVBQWUsVUFBVSxTQUFTLDRDQUE0QyxrQkFBa0IsY0FBYyxlQUFlLHlDQUF5QyxtQkFBbUIsU0FBUyxXQUFXLG1CQUFtQiw4Q0FBOEMsd0JBQXdCLGtCQUFrQixrQkFBa0IsZ0JBQWdCLGVBQWUsaUJBQWlCLGdCQUFnQixvREFBb0QsY0FBYyxtREFBbUQsV0FBVyxzREFBc0QsYUFBYSxtQkFBbUIsa0RBQWtELGdCQUFnQiw4Q0FBOEMsYUFBYSxrQkFBa0IsWUFBWSxXQUFXLGtEQUFrRCxZQUFZLGNBQWMsb0RBQW9ELG1CQUFtQixtREFBbUQsbUJBQW1CLHlDQUF5QyxtQkFBbUIsYUFBYSxtQkFBbUIsa0JBQWtCLFNBQVMsZUFBZSwrQ0FBK0MsY0FBYyx3REFBd0QsbUJBQW1CLGNBQWMsOENBQThDLFdBQVcsdURBQXVELG1CQUFtQixjQUFjLGtEQUFrRCxvQkFBb0IsZ0JBQWdCLHNEQUFzRCxtQkFBbUIsK0NBQStDLGFBQWEsZUFBZSxpQkFBaUIsZ0JBQWdCLHFEQUFxRCxnQkFBZ0IsZUFBZSxpQkFBaUIsU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0Nvbm5lY3RDb250ZW50L0Nvbm5lY3RDb250ZW50LWNzcy5qcz85ZTQyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlZmF1bHQgPSBgLi1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudHtoZWlnaHQ6NDMwcHg7d2lkdGg6NzAwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MzBweH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1jb250ZW50LmxpZ2h0e2JhY2tncm91bmQ6I2ZmZn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1jb250ZW50LmRhcmt7YmFja2dyb3VuZDojMGEwYjBkfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luOjAgMCAzMHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtaGVhZGluZ3tmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzZweDttYXJnaW46MH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1jb250ZW50LWhlYWRpbmcubGlnaHR7Y29sb3I6IzBhMGIwZH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1jb250ZW50LWhlYWRpbmcuZGFya3tjb2xvcjojZmZmfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtbGF5b3V0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudC1jb2x1bW4tbGVmdHttYXJnaW4tcmlnaHQ6MzBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtY29sdW1uLXJpZ2h0e2ZsZXg6MjUlO21hcmdpbi1yaWdodDozNHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtcXItd3JhcHBlcnt3aWR0aDoyMjBweDtoZWlnaHQ6MjIwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNmZmZ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudC1xci1jb25uZWN0aW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudC1xci1jb25uZWN0aW5nLmxpZ2h0e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOTUpfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtcXItY29ubmVjdGluZy5saWdodD5we2NvbG9yOiMwYTBiMGR9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudC1xci1jb25uZWN0aW5nLmRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEwLDExLDEzLC45KX0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1jb250ZW50LXFyLWNvbm5lY3RpbmcuZGFyaz5we2NvbG9yOiNmZmZ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudC1xci1jb25uZWN0aW5nPnB7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6Ym9sZDttYXJnaW4tdG9wOjE2cHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtY29udGVudC11cGRhdGUtYXBwe2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4O3dpZHRoOjMzOXB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtdXBkYXRlLWFwcC5saWdodHtiYWNrZ3JvdW5kOiNlZWYwZjM7Y29sb3I6IzViNjM2ZX0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1jb250ZW50LXVwZGF0ZS1hcHAuZGFya3tiYWNrZ3JvdW5kOiMxZTIwMjU7Y29sb3I6IzhhOTE5ZX0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowO21hcmdpbjowfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jYW5jZWwtYnV0dG9uLXh7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstd2FsbGV0LXN0ZXBze3BhZGRpbmc6MCAwIDAgMTZweDttYXJnaW46MDt3aWR0aDoxMDAlO2xpc3Qtc3R5bGU6ZGVjaW1hbH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstd2FsbGV0LXN0ZXBzLWl0ZW17bGlzdC1zdHlsZS10eXBlOmRlY2ltYWw7ZGlzcGxheTpsaXN0LWl0ZW07Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLXRvcDoyMHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay13YWxsZXQtc3RlcHMtaXRlbS5saWdodHtjb2xvcjojMGEwYjBkfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay13YWxsZXQtc3RlcHMtaXRlbS5kYXJre2NvbG9yOiNmZmZ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXdhbGxldC1zdGVwcy1pdGVtLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstd2FsbGV0LXN0ZXBzLXBhZC1sZWZ0e21hcmdpbi1sZWZ0OjZweH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstd2FsbGV0LXN0ZXBzLWljb257ZGlzcGxheTpmbGV4O2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXdhbGxldC1zdGVwcy1pY29uIHN2Z3ttYXJnaW46YXV0bztkaXNwbGF5OmJsb2NrfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay13YWxsZXQtc3RlcHMtaWNvbi5saWdodHtiYWNrZ3JvdW5kOiMwMDUyZmZ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXdhbGxldC1zdGVwcy1pY29uLmRhcmt7YmFja2dyb3VuZDojNTg4YWY1fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWl0ZW17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7cGFkZGluZzoxNnB4IDI0cHg7Z2FwOjEycHg7Y3Vyc29yOnBvaW50ZXJ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtaXRlbS5saWdodHtjb2xvcjojMGEwYjBkfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWl0ZW0ubGlnaHQuc2VsZWN0ZWR7YmFja2dyb3VuZDojZjVmOGZmO2NvbG9yOiMwMDUyZmZ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtaXRlbS5kYXJre2NvbG9yOiNmZmZ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtaXRlbS5kYXJrLnNlbGVjdGVke2JhY2tncm91bmQ6IzAwMTAzMztjb2xvcjojNTg4YWY1fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWl0ZW0uc2VsZWN0ZWR7Ym9yZGVyLXJhZGl1czoxMDBweDtmb250LXdlaWdodDo2MDB9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtaXRlbS1jb3B5LXdyYXBwZXJ7bWFyZ2luOjAgNHB4IDAgOHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWl0ZW0tdGl0bGV7bWFyZ2luOjAgMCAwO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWl0ZW0tZGVzY3JpcHRpb257Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjB9YDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent-css.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent.js ***! - \********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CoinbaseAppSteps = exports.CoinbaseWalletSteps = exports.ConnectItem = exports.ConnectContent = void 0;\nconst clsx_1 = __importDefault(__webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\"));\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst hooks_1 = __webpack_require__(/*! preact/hooks */ \"./node_modules/preact/hooks/dist/hooks.module.js\");\nconst util_1 = __webpack_require__(/*! ../../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nconst version_1 = __webpack_require__(/*! ../../version */ \"./node_modules/@coinbase/wallet-sdk/dist/version.js\");\nconst CloseIcon_1 = __webpack_require__(/*! ../icons/CloseIcon */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/CloseIcon.js\");\nconst coinbase_round_svg_1 = __importDefault(__webpack_require__(/*! ../icons/coinbase-round-svg */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-round-svg.js\"));\nconst coinbase_wallet_round_svg_1 = __importDefault(__webpack_require__(/*! ../icons/coinbase-wallet-round-svg */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-wallet-round-svg.js\"));\nconst QRCodeIcon_1 = __webpack_require__(/*! ../icons/QRCodeIcon */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRCodeIcon.js\");\nconst QRLogoCoinbase_1 = __importDefault(__webpack_require__(/*! ../icons/QRLogoCoinbase */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoCoinbase.js\"));\nconst QRLogoWallet_1 = __importDefault(__webpack_require__(/*! ../icons/QRLogoWallet */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoWallet.js\"));\nconst StatusDotIcon_1 = __webpack_require__(/*! ../icons/StatusDotIcon */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/StatusDotIcon.js\");\nconst QRCode_1 = __webpack_require__(/*! ../QRCode */ \"./node_modules/@coinbase/wallet-sdk/dist/components/QRCode.js\");\nconst Spinner_1 = __webpack_require__(/*! ../Spinner/Spinner */ \"./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner.js\");\nconst ConnectContent_css_1 = __importDefault(__webpack_require__(/*! ./ConnectContent-css */ \"./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent-css.js\"));\nconst wallets = {\n \"coinbase-wallet-app\": {\n title: \"Coinbase Wallet app\",\n description: \"Connect with your self-custody wallet\",\n icon: coinbase_wallet_round_svg_1.default,\n steps: CoinbaseWalletSteps,\n },\n \"coinbase-app\": {\n title: \"Coinbase app\",\n description: \"Connect with your Coinbase account\",\n icon: coinbase_round_svg_1.default,\n steps: CoinbaseAppSteps,\n },\n};\nconst makeQrCodeImage = (app) => {\n switch (app) {\n case \"coinbase-app\":\n return QRLogoCoinbase_1.default;\n case \"coinbase-wallet-app\":\n default:\n return QRLogoWallet_1.default;\n }\n};\nconst makeIconColor = (theme) => {\n return theme === \"light\" ? \"#FFFFFF\" : \"#0A0B0D\";\n};\nfunction ConnectContent(props) {\n const { theme } = props;\n const [selected, setSelected] = (0, hooks_1.useState)(\"coinbase-wallet-app\");\n const handleSelect = (0, hooks_1.useCallback)((id) => {\n setSelected(id);\n }, []);\n const qrUrl = (0, util_1.createQrUrl)(props.sessionId, props.sessionSecret, props.linkAPIUrl, props.isParentConnection, props.version, props.chainId);\n const wallet = wallets[selected];\n if (!selected) {\n return null;\n }\n const WalletSteps = wallet.steps;\n const coinbaseApp = selected === \"coinbase-app\";\n return ((0, preact_1.h)(\"div\", { \"data-testid\": \"connect-content\", class: (0, clsx_1.default)(\"-cbwsdk-connect-content\", theme) },\n (0, preact_1.h)(\"style\", null, ConnectContent_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-content-header\" },\n (0, preact_1.h)(\"h2\", { class: (0, clsx_1.default)(\"-cbwsdk-connect-content-heading\", theme) }, \"Scan to connect with one of our mobile apps\"),\n props.onCancel && ((0, preact_1.h)(\"button\", { type: \"button\", class: \"-cbwsdk-cancel-button\", onClick: props.onCancel },\n (0, preact_1.h)(CloseIcon_1.CloseIcon, { fill: theme === \"light\" ? \"#0A0B0D\" : \"#FFFFFF\" })))),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-content-layout\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-content-column-left\" },\n (0, preact_1.h)(\"div\", null, Object.entries(wallets).map(([key, value]) => {\n return ((0, preact_1.h)(ConnectItem, { key: key, title: value.title, description: value.description, icon: value.icon, selected: selected === key, onClick: () => handleSelect(key), theme: theme }));\n })),\n coinbaseApp && ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-connect-content-update-app\", theme) },\n \"Don\\u2019t see a \",\n (0, preact_1.h)(\"strong\", null, \"Scan\"),\n \" option? Update your Coinbase app to the latest version and try again.\"))),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-content-column-right\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-content-qr-wrapper\" },\n (0, preact_1.h)(QRCode_1.QRCode, { content: qrUrl, width: 200, height: 200, fgColor: \"#000\", bgColor: \"transparent\", image: {\n svg: makeQrCodeImage(selected),\n width: 25,\n height: 25,\n } }),\n (0, preact_1.h)(\"input\", { type: \"hidden\", name: \"cbw-cbwsdk-version\", value: version_1.LIB_VERSION }),\n (0, preact_1.h)(\"input\", { type: \"hidden\", value: qrUrl })),\n (0, preact_1.h)(WalletSteps, { theme: theme }),\n !props.isConnected && ((0, preact_1.h)(\"div\", { \"data-testid\": \"connecting-spinner\", class: (0, clsx_1.default)(\"-cbwsdk-connect-content-qr-connecting\", theme) },\n (0, preact_1.h)(Spinner_1.Spinner, { size: 36, color: theme === \"dark\" ? \"#FFF\" : \"#000\" }),\n (0, preact_1.h)(\"p\", null, \"Connecting...\")))))));\n}\nexports.ConnectContent = ConnectContent;\nfunction ConnectItem({ title, description, icon, selected, theme, onClick, }) {\n return ((0, preact_1.h)(\"div\", { onClick: onClick, class: (0, clsx_1.default)(\"-cbwsdk-connect-item\", theme, { selected }) },\n (0, preact_1.h)(\"div\", null,\n (0, preact_1.h)(\"img\", { src: icon, alt: title })),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-item-copy-wrapper\" },\n (0, preact_1.h)(\"h3\", { class: \"-cbwsdk-connect-item-title\" }, title),\n (0, preact_1.h)(\"p\", { class: \"-cbwsdk-connect-item-description\" }, description))));\n}\nexports.ConnectItem = ConnectItem;\nfunction CoinbaseWalletSteps({ theme }) {\n return ((0, preact_1.h)(\"ol\", { class: \"-cbwsdk-wallet-steps\" },\n (0, preact_1.h)(\"li\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-item\", theme) },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-wallet-steps-item-wrapper\" }, \"Open Coinbase Wallet app\")),\n (0, preact_1.h)(\"li\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-item\", theme) },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-wallet-steps-item-wrapper\" },\n (0, preact_1.h)(\"span\", null,\n \"Tap \",\n (0, preact_1.h)(\"strong\", null, \"Scan\"),\n \" \"),\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-pad-left\", \"-cbwsdk-wallet-steps-icon\", theme) },\n (0, preact_1.h)(QRCodeIcon_1.QRCodeIcon, { fill: makeIconColor(theme) }))))));\n}\nexports.CoinbaseWalletSteps = CoinbaseWalletSteps;\nfunction CoinbaseAppSteps({ theme }) {\n return ((0, preact_1.h)(\"ol\", { class: \"-cbwsdk-wallet-steps\" },\n (0, preact_1.h)(\"li\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-item\", theme) },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-wallet-steps-item-wrapper\" }, \"Open Coinbase app\")),\n (0, preact_1.h)(\"li\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-item\", theme) },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-wallet-steps-item-wrapper\" },\n (0, preact_1.h)(\"span\", null,\n \"Tap \",\n (0, preact_1.h)(\"strong\", null, \"More\")),\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-pad-left\", \"-cbwsdk-wallet-steps-icon\", theme) },\n (0, preact_1.h)(StatusDotIcon_1.StatusDotIcon, { fill: makeIconColor(theme) })),\n (0, preact_1.h)(\"span\", { class: \"-cbwsdk-wallet-steps-pad-left\" },\n \"then \",\n (0, preact_1.h)(\"strong\", null, \"Scan\")),\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)(\"-cbwsdk-wallet-steps-pad-left\", \"-cbwsdk-wallet-steps-icon\", theme) },\n (0, preact_1.h)(QRCodeIcon_1.QRCodeIcon, { fill: makeIconColor(theme) }))))));\n}\nexports.CoinbaseAppSteps = CoinbaseAppSteps;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0Nvbm5lY3RDb250ZW50L0Nvbm5lY3RDb250ZW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QixHQUFHLDJCQUEyQixHQUFHLG1CQUFtQixHQUFHLHNCQUFzQjtBQUNyRywrQkFBK0IsbUJBQU8sQ0FBQyxnREFBTTtBQUM3QyxpQkFBaUIsbUJBQU8sQ0FBQywyREFBUTtBQUNqQyxnQkFBZ0IsbUJBQU8sQ0FBQyxzRUFBYztBQUN0QyxlQUFlLG1CQUFPLENBQUMsb0VBQVk7QUFDbkMsa0JBQWtCLG1CQUFPLENBQUMsMEVBQWU7QUFDekMsb0JBQW9CLG1CQUFPLENBQUMsa0dBQW9CO0FBQ2hELDZDQUE2QyxtQkFBTyxDQUFDLG9IQUE2QjtBQUNsRixvREFBb0QsbUJBQU8sQ0FBQyxrSUFBb0M7QUFDaEcscUJBQXFCLG1CQUFPLENBQUMsb0dBQXFCO0FBQ2xELHlDQUF5QyxtQkFBTyxDQUFDLDRHQUF5QjtBQUMxRSx1Q0FBdUMsbUJBQU8sQ0FBQyx3R0FBdUI7QUFDdEUsd0JBQXdCLG1CQUFPLENBQUMsMEdBQXdCO0FBQ3hELGlCQUFpQixtQkFBTyxDQUFDLGdGQUFXO0FBQ3BDLGtCQUFrQixtQkFBTyxDQUFDLGtHQUFvQjtBQUM5Qyw2Q0FBNkMsbUJBQU8sQ0FBQyxzSEFBc0I7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsZ0dBQWdHO0FBQ3JJO0FBQ0EsaUNBQWlDLHlDQUF5QztBQUMxRSxvQ0FBb0Msc0VBQXNFO0FBQzFHLDJEQUEyRCx5RUFBeUU7QUFDcEkseURBQXlELGlEQUFpRDtBQUMxRyxpQ0FBaUMseUNBQXlDO0FBQzFFLHFDQUFxQyw4Q0FBOEM7QUFDbkY7QUFDQSwyREFBMkQsNEpBQTRKO0FBQ3ZOLGlCQUFpQjtBQUNqQix5REFBeUQseUVBQXlFO0FBQ2xJO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQywrQ0FBK0M7QUFDcEYseUNBQXlDLDZDQUE2QztBQUN0Rix1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLCtDQUErQywwRUFBMEU7QUFDekgsK0NBQStDLDhCQUE4QjtBQUM3RSwrQ0FBK0MsY0FBYztBQUM3RCxnRUFBZ0UsaUhBQWlIO0FBQ2pMLHlEQUF5RCxxREFBcUQ7QUFDOUc7QUFDQTtBQUNBLHNCQUFzQjtBQUN0Qix1QkFBdUIscURBQXFEO0FBQzVFLHFDQUFxQyw4RUFBOEUsVUFBVSxHQUFHO0FBQ2hJO0FBQ0EscUNBQXFDLHVCQUF1QjtBQUM1RCxpQ0FBaUMsNENBQTRDO0FBQzdFLG9DQUFvQyxxQ0FBcUM7QUFDekUsbUNBQW1DLDJDQUEyQztBQUM5RTtBQUNBLG1CQUFtQjtBQUNuQiwrQkFBK0IsT0FBTztBQUN0QyxvQ0FBb0MsK0JBQStCO0FBQ25FLGdDQUFnQyxnRUFBZ0U7QUFDaEcscUNBQXFDLDRDQUE0QztBQUNqRixnQ0FBZ0MsZ0VBQWdFO0FBQ2hHLHFDQUFxQyw0Q0FBNEM7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsaUdBQWlHO0FBQzNJLCtEQUErRCw0QkFBNEI7QUFDM0Y7QUFDQSwyQkFBMkI7QUFDM0IsNEJBQTRCLE9BQU87QUFDbkMsb0NBQW9DLCtCQUErQjtBQUNuRSxnQ0FBZ0MsZ0VBQWdFO0FBQ2hHLHFDQUFxQyw0Q0FBNEM7QUFDakYsZ0NBQWdDLGdFQUFnRTtBQUNoRyxxQ0FBcUMsNENBQTRDO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxpR0FBaUc7QUFDM0kscUVBQXFFLDRCQUE0QjtBQUNqRywwQ0FBMEMsd0NBQXdDO0FBQ2xGO0FBQ0E7QUFDQSwwQ0FBMEMsaUdBQWlHO0FBQzNJLCtEQUErRCw0QkFBNEI7QUFDM0Y7QUFDQSx3QkFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9Db25uZWN0Q29udGVudC9Db25uZWN0Q29udGVudC5qcz84NDM1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNvaW5iYXNlQXBwU3RlcHMgPSBleHBvcnRzLkNvaW5iYXNlV2FsbGV0U3RlcHMgPSBleHBvcnRzLkNvbm5lY3RJdGVtID0gZXhwb3J0cy5Db25uZWN0Q29udGVudCA9IHZvaWQgMDtcbmNvbnN0IGNsc3hfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiY2xzeFwiKSk7XG5jb25zdCBwcmVhY3RfMSA9IHJlcXVpcmUoXCJwcmVhY3RcIik7XG5jb25zdCBob29rc18xID0gcmVxdWlyZShcInByZWFjdC9ob29rc1wiKTtcbmNvbnN0IHV0aWxfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpO1xuY29uc3QgdmVyc2lvbl8xID0gcmVxdWlyZShcIi4uLy4uL3ZlcnNpb25cIik7XG5jb25zdCBDbG9zZUljb25fMSA9IHJlcXVpcmUoXCIuLi9pY29ucy9DbG9zZUljb25cIik7XG5jb25zdCBjb2luYmFzZV9yb3VuZF9zdmdfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi4vaWNvbnMvY29pbmJhc2Utcm91bmQtc3ZnXCIpKTtcbmNvbnN0IGNvaW5iYXNlX3dhbGxldF9yb3VuZF9zdmdfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi4vaWNvbnMvY29pbmJhc2Utd2FsbGV0LXJvdW5kLXN2Z1wiKSk7XG5jb25zdCBRUkNvZGVJY29uXzEgPSByZXF1aXJlKFwiLi4vaWNvbnMvUVJDb2RlSWNvblwiKTtcbmNvbnN0IFFSTG9nb0NvaW5iYXNlXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4uL2ljb25zL1FSTG9nb0NvaW5iYXNlXCIpKTtcbmNvbnN0IFFSTG9nb1dhbGxldF8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuLi9pY29ucy9RUkxvZ29XYWxsZXRcIikpO1xuY29uc3QgU3RhdHVzRG90SWNvbl8xID0gcmVxdWlyZShcIi4uL2ljb25zL1N0YXR1c0RvdEljb25cIik7XG5jb25zdCBRUkNvZGVfMSA9IHJlcXVpcmUoXCIuLi9RUkNvZGVcIik7XG5jb25zdCBTcGlubmVyXzEgPSByZXF1aXJlKFwiLi4vU3Bpbm5lci9TcGlubmVyXCIpO1xuY29uc3QgQ29ubmVjdENvbnRlbnRfY3NzXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4vQ29ubmVjdENvbnRlbnQtY3NzXCIpKTtcbmNvbnN0IHdhbGxldHMgPSB7XG4gICAgXCJjb2luYmFzZS13YWxsZXQtYXBwXCI6IHtcbiAgICAgICAgdGl0bGU6IFwiQ29pbmJhc2UgV2FsbGV0IGFwcFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJDb25uZWN0IHdpdGggeW91ciBzZWxmLWN1c3RvZHkgd2FsbGV0XCIsXG4gICAgICAgIGljb246IGNvaW5iYXNlX3dhbGxldF9yb3VuZF9zdmdfMS5kZWZhdWx0LFxuICAgICAgICBzdGVwczogQ29pbmJhc2VXYWxsZXRTdGVwcyxcbiAgICB9LFxuICAgIFwiY29pbmJhc2UtYXBwXCI6IHtcbiAgICAgICAgdGl0bGU6IFwiQ29pbmJhc2UgYXBwXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbm5lY3Qgd2l0aCB5b3VyIENvaW5iYXNlIGFjY291bnRcIixcbiAgICAgICAgaWNvbjogY29pbmJhc2Vfcm91bmRfc3ZnXzEuZGVmYXVsdCxcbiAgICAgICAgc3RlcHM6IENvaW5iYXNlQXBwU3RlcHMsXG4gICAgfSxcbn07XG5jb25zdCBtYWtlUXJDb2RlSW1hZ2UgPSAoYXBwKSA9PiB7XG4gICAgc3dpdGNoIChhcHApIHtcbiAgICAgICAgY2FzZSBcImNvaW5iYXNlLWFwcFwiOlxuICAgICAgICAgICAgcmV0dXJuIFFSTG9nb0NvaW5iYXNlXzEuZGVmYXVsdDtcbiAgICAgICAgY2FzZSBcImNvaW5iYXNlLXdhbGxldC1hcHBcIjpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBRUkxvZ29XYWxsZXRfMS5kZWZhdWx0O1xuICAgIH1cbn07XG5jb25zdCBtYWtlSWNvbkNvbG9yID0gKHRoZW1lKSA9PiB7XG4gICAgcmV0dXJuIHRoZW1lID09PSBcImxpZ2h0XCIgPyBcIiNGRkZGRkZcIiA6IFwiIzBBMEIwRFwiO1xufTtcbmZ1bmN0aW9uIENvbm5lY3RDb250ZW50KHByb3BzKSB7XG4gICAgY29uc3QgeyB0aGVtZSB9ID0gcHJvcHM7XG4gICAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSAoMCwgaG9va3NfMS51c2VTdGF0ZSkoXCJjb2luYmFzZS13YWxsZXQtYXBwXCIpO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdCA9ICgwLCBob29rc18xLnVzZUNhbGxiYWNrKSgoaWQpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoaWQpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBxclVybCA9ICgwLCB1dGlsXzEuY3JlYXRlUXJVcmwpKHByb3BzLnNlc3Npb25JZCwgcHJvcHMuc2Vzc2lvblNlY3JldCwgcHJvcHMubGlua0FQSVVybCwgcHJvcHMuaXNQYXJlbnRDb25uZWN0aW9uLCBwcm9wcy52ZXJzaW9uLCBwcm9wcy5jaGFpbklkKTtcbiAgICBjb25zdCB3YWxsZXQgPSB3YWxsZXRzW3NlbGVjdGVkXTtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBXYWxsZXRTdGVwcyA9IHdhbGxldC5zdGVwcztcbiAgICBjb25zdCBjb2luYmFzZUFwcCA9IHNlbGVjdGVkID09PSBcImNvaW5iYXNlLWFwcFwiO1xuICAgIHJldHVybiAoKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgXCJkYXRhLXRlc3RpZFwiOiBcImNvbm5lY3QtY29udGVudFwiLCBjbGFzczogKDAsIGNsc3hfMS5kZWZhdWx0KShcIi1jYndzZGstY29ubmVjdC1jb250ZW50XCIsIHRoZW1lKSB9LFxuICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzdHlsZVwiLCBudWxsLCBDb25uZWN0Q29udGVudF9jc3NfMS5kZWZhdWx0KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtaGVhZGVyXCIgfSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImgyXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLWNvbm5lY3QtY29udGVudC1oZWFkaW5nXCIsIHRoZW1lKSB9LCBcIlNjYW4gdG8gY29ubmVjdCB3aXRoIG9uZSBvZiBvdXIgbW9iaWxlIGFwcHNcIiksXG4gICAgICAgICAgICBwcm9wcy5vbkNhbmNlbCAmJiAoKDAsIHByZWFjdF8xLmgpKFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3M6IFwiLWNid3Nkay1jYW5jZWwtYnV0dG9uXCIsIG9uQ2xpY2s6IHByb3BzLm9uQ2FuY2VsIH0sXG4gICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKENsb3NlSWNvbl8xLkNsb3NlSWNvbiwgeyBmaWxsOiB0aGVtZSA9PT0gXCJsaWdodFwiID8gXCIjMEEwQjBEXCIgOiBcIiNGRkZGRkZcIiB9KSkpKSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtbGF5b3V0XCIgfSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiBcIi1jYndzZGstY29ubmVjdC1jb250ZW50LWNvbHVtbi1sZWZ0XCIgfSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgbnVsbCwgT2JqZWN0LmVudHJpZXMod2FsbGV0cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgoMCwgcHJlYWN0XzEuaCkoQ29ubmVjdEl0ZW0sIHsga2V5OiBrZXksIHRpdGxlOiB2YWx1ZS50aXRsZSwgZGVzY3JpcHRpb246IHZhbHVlLmRlc2NyaXB0aW9uLCBpY29uOiB2YWx1ZS5pY29uLCBzZWxlY3RlZDogc2VsZWN0ZWQgPT09IGtleSwgb25DbGljazogKCkgPT4gaGFuZGxlU2VsZWN0KGtleSksIHRoZW1lOiB0aGVtZSB9KSk7XG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIGNvaW5iYXNlQXBwICYmICgoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogKDAsIGNsc3hfMS5kZWZhdWx0KShcIi1jYndzZGstY29ubmVjdC1jb250ZW50LXVwZGF0ZS1hcHBcIiwgdGhlbWUpIH0sXG4gICAgICAgICAgICAgICAgICAgIFwiRG9uXFx1MjAxOXQgc2VlIGEgXCIsXG4gICAgICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcInN0cm9uZ1wiLCBudWxsLCBcIlNjYW5cIiksXG4gICAgICAgICAgICAgICAgICAgIFwiIG9wdGlvbj8gVXBkYXRlIHlvdXIgQ29pbmJhc2UgYXBwIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBhbmQgdHJ5IGFnYWluLlwiKSkpLFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay1jb25uZWN0LWNvbnRlbnQtY29sdW1uLXJpZ2h0XCIgfSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogXCItY2J3c2RrLWNvbm5lY3QtY29udGVudC1xci13cmFwcGVyXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFFSQ29kZV8xLlFSQ29kZSwgeyBjb250ZW50OiBxclVybCwgd2lkdGg6IDIwMCwgaGVpZ2h0OiAyMDAsIGZnQ29sb3I6IFwiIzAwMFwiLCBiZ0NvbG9yOiBcInRyYW5zcGFyZW50XCIsIGltYWdlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnOiBtYWtlUXJDb2RlSW1hZ2Uoc2VsZWN0ZWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSB9KSxcbiAgICAgICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiaW5wdXRcIiwgeyB0eXBlOiBcImhpZGRlblwiLCBuYW1lOiBcImNidy1jYndzZGstdmVyc2lvblwiLCB2YWx1ZTogdmVyc2lvbl8xLkxJQl9WRVJTSU9OIH0pLFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJpbnB1dFwiLCB7IHR5cGU6IFwiaGlkZGVuXCIsIHZhbHVlOiBxclVybCB9KSksXG4gICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFdhbGxldFN0ZXBzLCB7IHRoZW1lOiB0aGVtZSB9KSxcbiAgICAgICAgICAgICAgICAhcHJvcHMuaXNDb25uZWN0ZWQgJiYgKCgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJjb25uZWN0aW5nLXNwaW5uZXJcIiwgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLWNvbm5lY3QtY29udGVudC1xci1jb25uZWN0aW5nXCIsIHRoZW1lKSB9LFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoU3Bpbm5lcl8xLlNwaW5uZXIsIHsgc2l6ZTogMzYsIGNvbG9yOiB0aGVtZSA9PT0gXCJkYXJrXCIgPyBcIiNGRkZcIiA6IFwiIzAwMFwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJwXCIsIG51bGwsIFwiQ29ubmVjdGluZy4uLlwiKSkpKSkpKTtcbn1cbmV4cG9ydHMuQ29ubmVjdENvbnRlbnQgPSBDb25uZWN0Q29udGVudDtcbmZ1bmN0aW9uIENvbm5lY3RJdGVtKHsgdGl0bGUsIGRlc2NyaXB0aW9uLCBpY29uLCBzZWxlY3RlZCwgdGhlbWUsIG9uQ2xpY2ssIH0pIHtcbiAgICByZXR1cm4gKCgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IG9uQ2xpY2s6IG9uQ2xpY2ssIGNsYXNzOiAoMCwgY2xzeF8xLmRlZmF1bHQpKFwiLWNid3Nkay1jb25uZWN0LWl0ZW1cIiwgdGhlbWUsIHsgc2VsZWN0ZWQgfSkgfSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIG51bGwsXG4gICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJpbWdcIiwgeyBzcmM6IGljb24sIGFsdDogdGl0bGUgfSkpLFxuICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogXCItY2J3c2RrLWNvbm5lY3QtaXRlbS1jb3B5LXdyYXBwZXJcIiB9LFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiaDNcIiwgeyBjbGFzczogXCItY2J3c2RrLWNvbm5lY3QtaXRlbS10aXRsZVwiIH0sIHRpdGxlKSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBcIiwgeyBjbGFzczogXCItY2J3c2RrLWNvbm5lY3QtaXRlbS1kZXNjcmlwdGlvblwiIH0sIGRlc2NyaXB0aW9uKSkpKTtcbn1cbmV4cG9ydHMuQ29ubmVjdEl0ZW0gPSBDb25uZWN0SXRlbTtcbmZ1bmN0aW9uIENvaW5iYXNlV2FsbGV0U3RlcHMoeyB0aGVtZSB9KSB7XG4gICAgcmV0dXJuICgoMCwgcHJlYWN0XzEuaCkoXCJvbFwiLCB7IGNsYXNzOiBcIi1jYndzZGstd2FsbGV0LXN0ZXBzXCIgfSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwibGlcIiwgeyBjbGFzczogKDAsIGNsc3hfMS5kZWZhdWx0KShcIi1jYndzZGstd2FsbGV0LXN0ZXBzLWl0ZW1cIiwgdGhlbWUpIH0sXG4gICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogXCItY2J3c2RrLXdhbGxldC1zdGVwcy1pdGVtLXdyYXBwZXJcIiB9LCBcIk9wZW4gQ29pbmJhc2UgV2FsbGV0IGFwcFwiKSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcImxpXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXdhbGxldC1zdGVwcy1pdGVtXCIsIHRoZW1lKSB9LFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay13YWxsZXQtc3RlcHMtaXRlbS13cmFwcGVyXCIgfSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzcGFuXCIsIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiVGFwIFwiLFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzdHJvbmdcIiwgbnVsbCwgXCJTY2FuXCIpLFxuICAgICAgICAgICAgICAgICAgICBcIiBcIiksXG4gICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3BhblwiLCB7IGNsYXNzOiAoMCwgY2xzeF8xLmRlZmF1bHQpKFwiLWNid3Nkay13YWxsZXQtc3RlcHMtcGFkLWxlZnRcIiwgXCItY2J3c2RrLXdhbGxldC1zdGVwcy1pY29uXCIsIHRoZW1lKSB9LFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoUVJDb2RlSWNvbl8xLlFSQ29kZUljb24sIHsgZmlsbDogbWFrZUljb25Db2xvcih0aGVtZSkgfSkpKSkpKTtcbn1cbmV4cG9ydHMuQ29pbmJhc2VXYWxsZXRTdGVwcyA9IENvaW5iYXNlV2FsbGV0U3RlcHM7XG5mdW5jdGlvbiBDb2luYmFzZUFwcFN0ZXBzKHsgdGhlbWUgfSkge1xuICAgIHJldHVybiAoKDAsIHByZWFjdF8xLmgpKFwib2xcIiwgeyBjbGFzczogXCItY2J3c2RrLXdhbGxldC1zdGVwc1wiIH0sXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcImxpXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXdhbGxldC1zdGVwcy1pdGVtXCIsIHRoZW1lKSB9LFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay13YWxsZXQtc3RlcHMtaXRlbS13cmFwcGVyXCIgfSwgXCJPcGVuIENvaW5iYXNlIGFwcFwiKSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcImxpXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXdhbGxldC1zdGVwcy1pdGVtXCIsIHRoZW1lKSB9LFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay13YWxsZXQtc3RlcHMtaXRlbS13cmFwcGVyXCIgfSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzcGFuXCIsIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiVGFwIFwiLFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzdHJvbmdcIiwgbnVsbCwgXCJNb3JlXCIpKSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzcGFuXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXdhbGxldC1zdGVwcy1wYWQtbGVmdFwiLCBcIi1jYndzZGstd2FsbGV0LXN0ZXBzLWljb25cIiwgdGhlbWUpIH0sXG4gICAgICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShTdGF0dXNEb3RJY29uXzEuU3RhdHVzRG90SWNvbiwgeyBmaWxsOiBtYWtlSWNvbkNvbG9yKHRoZW1lKSB9KSksXG4gICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3BhblwiLCB7IGNsYXNzOiBcIi1jYndzZGstd2FsbGV0LXN0ZXBzLXBhZC1sZWZ0XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgXCJ0aGVuIFwiLFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzdHJvbmdcIiwgbnVsbCwgXCJTY2FuXCIpKSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzcGFuXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXdhbGxldC1zdGVwcy1wYWQtbGVmdFwiLCBcIi1jYndzZGstd2FsbGV0LXN0ZXBzLWljb25cIiwgdGhlbWUpIH0sXG4gICAgICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShRUkNvZGVJY29uXzEuUVJDb2RlSWNvbiwgeyBmaWxsOiBtYWtlSWNvbkNvbG9yKHRoZW1lKSB9KSkpKSkpO1xufVxuZXhwb3J0cy5Db2luYmFzZUFwcFN0ZXBzID0gQ29pbmJhc2VBcHBTdGVwcztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog-css.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog-css.js ***! - \**********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `.-cbwsdk-css-reset .-cbwsdk-connect-dialog{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop{z-index:2147483647;position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.light{background-color:rgba(0,0,0,.5)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop.dark{background-color:rgba(50,53,61,.4)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box{display:flex;position:relative;flex-direction:column;transform:scale(1);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-box-hidden{opacity:0;transform:scale(0.85)}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container{display:block}.-cbwsdk-css-reset .-cbwsdk-connect-dialog-container-hidden{display:none}`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0Nvbm5lY3REaWFsb2cvQ29ubmVjdERpYWxvZy1jc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFlLCtDQUErQyxtQkFBbUIsZUFBZSxNQUFNLE9BQU8sUUFBUSxTQUFTLGFBQWEsbUJBQW1CLHVCQUF1QixvREFBb0QsbUJBQW1CLGVBQWUsTUFBTSxPQUFPLFFBQVEsU0FBUyx3QkFBd0IsMERBQTBELGdDQUFnQyx5REFBeUQsbUNBQW1DLDJEQUEyRCxVQUFVLCtDQUErQyxhQUFhLGtCQUFrQixzQkFBc0IsbUJBQW1CLHVDQUF1QyxzREFBc0QsVUFBVSxzQkFBc0IscURBQXFELGNBQWMsNERBQTRELGFBQWEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9Db25uZWN0RGlhbG9nL0Nvbm5lY3REaWFsb2ctY3NzLmpzPzgzOGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGAuLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1kaWFsb2d7ei1pbmRleDoyMTQ3NDgzNjQ3O3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1kaWFsb2ctYmFja2Ryb3B7ei1pbmRleDoyMTQ3NDgzNjQ3O3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWRpYWxvZy1iYWNrZHJvcC5saWdodHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWRpYWxvZy1iYWNrZHJvcC5kYXJre2JhY2tncm91bmQtY29sb3I6cmdiYSg1MCw1Myw2MSwuNCl9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtZGlhbG9nLWJhY2tkcm9wLWhpZGRlbntvcGFjaXR5OjB9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLWNvbm5lY3QtZGlhbG9nLWJveHtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyx0cmFuc2Zvcm0gLjI1c30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1kaWFsb2ctYm94LWhpZGRlbntvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDAuODUpfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1jb25uZWN0LWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTpibG9ja30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstY29ubmVjdC1kaWFsb2ctY29udGFpbmVyLWhpZGRlbntkaXNwbGF5Om5vbmV9YDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog-css.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog.js ***! - \******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConnectDialog = void 0;\nconst clsx_1 = __importDefault(__webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\"));\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst hooks_1 = __webpack_require__(/*! preact/hooks */ \"./node_modules/preact/hooks/dist/hooks.module.js\");\nconst ConnectContent_1 = __webpack_require__(/*! ../ConnectContent/ConnectContent */ \"./node_modules/@coinbase/wallet-sdk/dist/components/ConnectContent/ConnectContent.js\");\nconst TryExtensionContent_1 = __webpack_require__(/*! ../TryExtensionContent/TryExtensionContent */ \"./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent.js\");\nconst ConnectDialog_css_1 = __importDefault(__webpack_require__(/*! ./ConnectDialog-css */ \"./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog-css.js\"));\nconst ConnectDialog = (props) => {\n const { isOpen, darkMode } = props;\n const [containerHidden, setContainerHidden] = (0, hooks_1.useState)(!isOpen);\n const [dialogHidden, setDialogHidden] = (0, hooks_1.useState)(!isOpen);\n (0, hooks_1.useEffect)(() => {\n const timers = [\n window.setTimeout(() => {\n setDialogHidden(!isOpen);\n }, 10),\n ];\n if (isOpen) {\n setContainerHidden(false);\n }\n else {\n timers.push(window.setTimeout(() => {\n setContainerHidden(true);\n }, 360));\n }\n return () => {\n timers.forEach(window.clearTimeout);\n };\n }, [props.isOpen]);\n const theme = darkMode ? \"dark\" : \"light\";\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-connect-dialog-container\", containerHidden && \"-cbwsdk-connect-dialog-container-hidden\") },\n (0, preact_1.h)(\"style\", null, ConnectDialog_css_1.default),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-connect-dialog-backdrop\", theme, dialogHidden && \"-cbwsdk-connect-dialog-backdrop-hidden\") }),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-connect-dialog\" },\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-connect-dialog-box\", dialogHidden && \"-cbwsdk-connect-dialog-box-hidden\") },\n !props.connectDisabled ? ((0, preact_1.h)(ConnectContent_1.ConnectContent, { theme: theme, version: props.version, sessionId: props.sessionId, sessionSecret: props.sessionSecret, linkAPIUrl: props.linkAPIUrl, isConnected: props.isConnected, isParentConnection: props.isParentConnection, chainId: props.chainId, onCancel: props.onCancel })) : null,\n (0, preact_1.h)(TryExtensionContent_1.TryExtensionContent, { theme: theme })))));\n};\nexports.ConnectDialog = ConnectDialog;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0Nvbm5lY3REaWFsb2cvQ29ubmVjdERpYWxvZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckIsK0JBQStCLG1CQUFPLENBQUMsZ0RBQU07QUFDN0MsaUJBQWlCLG1CQUFPLENBQUMsMkRBQVE7QUFDakMsZ0JBQWdCLG1CQUFPLENBQUMsc0VBQWM7QUFDdEMseUJBQXlCLG1CQUFPLENBQUMsOEhBQWtDO0FBQ25FLDhCQUE4QixtQkFBTyxDQUFDLGtKQUE0QztBQUNsRiw0Q0FBNEMsbUJBQU8sQ0FBQyxtSEFBcUI7QUFDekU7QUFDQSxZQUFZLG1CQUFtQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxxQ0FBcUMsOEhBQThIO0FBQ25LO0FBQ0EsaUNBQWlDLGdJQUFnSTtBQUNqSyxpQ0FBaUMsaUNBQWlDO0FBQ2xFLHFDQUFxQywrR0FBK0c7QUFDcEosNkZBQTZGLG9RQUFvUTtBQUNqVyw2RUFBNkUsY0FBYztBQUMzRjtBQUNBLHFCQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0Nvbm5lY3REaWFsb2cvQ29ubmVjdERpYWxvZy5qcz9lZTZiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNvbm5lY3REaWFsb2cgPSB2b2lkIDA7XG5jb25zdCBjbHN4XzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcImNsc3hcIikpO1xuY29uc3QgcHJlYWN0XzEgPSByZXF1aXJlKFwicHJlYWN0XCIpO1xuY29uc3QgaG9va3NfMSA9IHJlcXVpcmUoXCJwcmVhY3QvaG9va3NcIik7XG5jb25zdCBDb25uZWN0Q29udGVudF8xID0gcmVxdWlyZShcIi4uL0Nvbm5lY3RDb250ZW50L0Nvbm5lY3RDb250ZW50XCIpO1xuY29uc3QgVHJ5RXh0ZW5zaW9uQ29udGVudF8xID0gcmVxdWlyZShcIi4uL1RyeUV4dGVuc2lvbkNvbnRlbnQvVHJ5RXh0ZW5zaW9uQ29udGVudFwiKTtcbmNvbnN0IENvbm5lY3REaWFsb2dfY3NzXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4vQ29ubmVjdERpYWxvZy1jc3NcIikpO1xuY29uc3QgQ29ubmVjdERpYWxvZyA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgaXNPcGVuLCBkYXJrTW9kZSB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2NvbnRhaW5lckhpZGRlbiwgc2V0Q29udGFpbmVySGlkZGVuXSA9ICgwLCBob29rc18xLnVzZVN0YXRlKSghaXNPcGVuKTtcbiAgICBjb25zdCBbZGlhbG9nSGlkZGVuLCBzZXREaWFsb2dIaWRkZW5dID0gKDAsIGhvb2tzXzEudXNlU3RhdGUpKCFpc09wZW4pO1xuICAgICgwLCBob29rc18xLnVzZUVmZmVjdCkoKCkgPT4ge1xuICAgICAgICBjb25zdCB0aW1lcnMgPSBbXG4gICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RGlhbG9nSGlkZGVuKCFpc09wZW4pO1xuICAgICAgICAgICAgfSwgMTApLFxuICAgICAgICBdO1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICBzZXRDb250YWluZXJIaWRkZW4oZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGltZXJzLnB1c2god2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldENvbnRhaW5lckhpZGRlbih0cnVlKTtcbiAgICAgICAgICAgIH0sIDM2MCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICB0aW1lcnMuZm9yRWFjaCh3aW5kb3cuY2xlYXJUaW1lb3V0KTtcbiAgICAgICAgfTtcbiAgICB9LCBbcHJvcHMuaXNPcGVuXSk7XG4gICAgY29uc3QgdGhlbWUgPSBkYXJrTW9kZSA/IFwiZGFya1wiIDogXCJsaWdodFwiO1xuICAgIHJldHVybiAoKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLWNvbm5lY3QtZGlhbG9nLWNvbnRhaW5lclwiLCBjb250YWluZXJIaWRkZW4gJiYgXCItY2J3c2RrLWNvbm5lY3QtZGlhbG9nLWNvbnRhaW5lci1oaWRkZW5cIikgfSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3R5bGVcIiwgbnVsbCwgQ29ubmVjdERpYWxvZ19jc3NfMS5kZWZhdWx0KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLWNvbm5lY3QtZGlhbG9nLWJhY2tkcm9wXCIsIHRoZW1lLCBkaWFsb2dIaWRkZW4gJiYgXCItY2J3c2RrLWNvbm5lY3QtZGlhbG9nLWJhY2tkcm9wLWhpZGRlblwiKSB9KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay1jb25uZWN0LWRpYWxvZ1wiIH0sXG4gICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogKDAsIGNsc3hfMS5kZWZhdWx0KShcIi1jYndzZGstY29ubmVjdC1kaWFsb2ctYm94XCIsIGRpYWxvZ0hpZGRlbiAmJiBcIi1jYndzZGstY29ubmVjdC1kaWFsb2ctYm94LWhpZGRlblwiKSB9LFxuICAgICAgICAgICAgICAgICFwcm9wcy5jb25uZWN0RGlzYWJsZWQgPyAoKDAsIHByZWFjdF8xLmgpKENvbm5lY3RDb250ZW50XzEuQ29ubmVjdENvbnRlbnQsIHsgdGhlbWU6IHRoZW1lLCB2ZXJzaW9uOiBwcm9wcy52ZXJzaW9uLCBzZXNzaW9uSWQ6IHByb3BzLnNlc3Npb25JZCwgc2Vzc2lvblNlY3JldDogcHJvcHMuc2Vzc2lvblNlY3JldCwgbGlua0FQSVVybDogcHJvcHMubGlua0FQSVVybCwgaXNDb25uZWN0ZWQ6IHByb3BzLmlzQ29ubmVjdGVkLCBpc1BhcmVudENvbm5lY3Rpb246IHByb3BzLmlzUGFyZW50Q29ubmVjdGlvbiwgY2hhaW5JZDogcHJvcHMuY2hhaW5JZCwgb25DYW5jZWw6IHByb3BzLm9uQ2FuY2VsIH0pKSA6IG51bGwsXG4gICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFRyeUV4dGVuc2lvbkNvbnRlbnRfMS5UcnlFeHRlbnNpb25Db250ZW50LCB7IHRoZW1lOiB0aGVtZSB9KSkpKSk7XG59O1xuZXhwb3J0cy5Db25uZWN0RGlhbG9nID0gQ29ubmVjdERpYWxvZztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/LinkFlow/LinkFlow.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/LinkFlow/LinkFlow.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LinkFlow = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst rxjs_1 = __webpack_require__(/*! rxjs */ \"./node_modules/rxjs/_esm5/index.js\");\nconst ConnectDialog_1 = __webpack_require__(/*! ../ConnectDialog/ConnectDialog */ \"./node_modules/@coinbase/wallet-sdk/dist/components/ConnectDialog/ConnectDialog.js\");\nclass LinkFlow {\n constructor(options) {\n this.extensionUI$ = new rxjs_1.BehaviorSubject({});\n this.subscriptions = new rxjs_1.Subscription();\n this.isConnected = false;\n this.chainId = 1;\n this.isOpen = false;\n this.onCancel = null;\n this.root = null;\n // if true, hide QR code in LinkFlow (which happens if no jsonRpcUrl is provided)\n this.connectDisabled = false;\n this.darkMode = options.darkMode;\n this.version = options.version;\n this.sessionId = options.sessionId;\n this.sessionSecret = options.sessionSecret;\n this.linkAPIUrl = options.linkAPIUrl;\n this.isParentConnection = options.isParentConnection;\n this.connected$ = options.connected$;\n this.chainId$ = options.chainId$;\n }\n attach(el) {\n this.root = document.createElement(\"div\");\n this.root.className = \"-cbwsdk-link-flow-root\";\n el.appendChild(this.root);\n this.render();\n this.subscriptions.add(this.connected$.subscribe(v => {\n if (this.isConnected !== v) {\n this.isConnected = v;\n this.render();\n }\n }));\n this.subscriptions.add(this.chainId$.subscribe(chainId => {\n if (this.chainId !== chainId) {\n this.chainId = chainId;\n this.render();\n }\n }));\n }\n detach() {\n var _a;\n if (!this.root) {\n return;\n }\n this.subscriptions.unsubscribe();\n (0, preact_1.render)(null, this.root);\n (_a = this.root.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.root);\n }\n setConnectDisabled(connectDisabled) {\n this.connectDisabled = connectDisabled;\n }\n open(options) {\n this.isOpen = true;\n this.onCancel = options.onCancel;\n this.render();\n }\n close() {\n this.isOpen = false;\n this.onCancel = null;\n this.render();\n }\n render() {\n if (!this.root) {\n return;\n }\n const subscription = this.extensionUI$.subscribe(() => {\n if (!this.root) {\n return;\n }\n (0, preact_1.render)((0, preact_1.h)(ConnectDialog_1.ConnectDialog, { darkMode: this.darkMode, version: this.version, sessionId: this.sessionId, sessionSecret: this.sessionSecret, linkAPIUrl: this.linkAPIUrl, isOpen: this.isOpen, isConnected: this.isConnected, isParentConnection: this.isParentConnection, chainId: this.chainId, onCancel: this.onCancel, connectDisabled: this.connectDisabled }), this.root);\n });\n this.subscriptions.add(subscription);\n }\n}\nexports.LinkFlow = LinkFlow;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL0xpbmtGbG93L0xpbmtGbG93LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0I7QUFDaEIsaUJBQWlCLG1CQUFPLENBQUMsMkRBQVE7QUFDakMsZUFBZSxtQkFBTyxDQUFDLGdEQUFNO0FBQzdCLHdCQUF3QixtQkFBTyxDQUFDLDBIQUFnQztBQUNoRTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0ZBQWtGLG1VQUFtVTtBQUNyWixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2NvbXBvbmVudHMvTGlua0Zsb3cvTGlua0Zsb3cuanM/MjZiNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5MaW5rRmxvdyA9IHZvaWQgMDtcbmNvbnN0IHByZWFjdF8xID0gcmVxdWlyZShcInByZWFjdFwiKTtcbmNvbnN0IHJ4anNfMSA9IHJlcXVpcmUoXCJyeGpzXCIpO1xuY29uc3QgQ29ubmVjdERpYWxvZ18xID0gcmVxdWlyZShcIi4uL0Nvbm5lY3REaWFsb2cvQ29ubmVjdERpYWxvZ1wiKTtcbmNsYXNzIExpbmtGbG93IHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuZXh0ZW5zaW9uVUkkID0gbmV3IHJ4anNfMS5CZWhhdmlvclN1YmplY3Qoe30pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBuZXcgcnhqc18xLlN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLmlzQ29ubmVjdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2hhaW5JZCA9IDE7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25DYW5jZWwgPSBudWxsO1xuICAgICAgICB0aGlzLnJvb3QgPSBudWxsO1xuICAgICAgICAvLyBpZiB0cnVlLCBoaWRlIFFSIGNvZGUgaW4gTGlua0Zsb3cgKHdoaWNoIGhhcHBlbnMgaWYgbm8ganNvblJwY1VybCBpcyBwcm92aWRlZClcbiAgICAgICAgdGhpcy5jb25uZWN0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kYXJrTW9kZSA9IG9wdGlvbnMuZGFya01vZGU7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IG9wdGlvbnMudmVyc2lvbjtcbiAgICAgICAgdGhpcy5zZXNzaW9uSWQgPSBvcHRpb25zLnNlc3Npb25JZDtcbiAgICAgICAgdGhpcy5zZXNzaW9uU2VjcmV0ID0gb3B0aW9ucy5zZXNzaW9uU2VjcmV0O1xuICAgICAgICB0aGlzLmxpbmtBUElVcmwgPSBvcHRpb25zLmxpbmtBUElVcmw7XG4gICAgICAgIHRoaXMuaXNQYXJlbnRDb25uZWN0aW9uID0gb3B0aW9ucy5pc1BhcmVudENvbm5lY3Rpb247XG4gICAgICAgIHRoaXMuY29ubmVjdGVkJCA9IG9wdGlvbnMuY29ubmVjdGVkJDtcbiAgICAgICAgdGhpcy5jaGFpbklkJCA9IG9wdGlvbnMuY2hhaW5JZCQ7XG4gICAgfVxuICAgIGF0dGFjaChlbCkge1xuICAgICAgICB0aGlzLnJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICB0aGlzLnJvb3QuY2xhc3NOYW1lID0gXCItY2J3c2RrLWxpbmstZmxvdy1yb290XCI7XG4gICAgICAgIGVsLmFwcGVuZENoaWxkKHRoaXMucm9vdCk7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5jb25uZWN0ZWQkLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkICE9PSB2KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHY7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuY2hhaW5JZCQuc3Vic2NyaWJlKGNoYWluSWQgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hhaW5JZCAhPT0gY2hhaW5JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhaW5JZCA9IGNoYWluSWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBkZXRhY2goKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCF0aGlzLnJvb3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgKDAsIHByZWFjdF8xLnJlbmRlcikobnVsbCwgdGhpcy5yb290KTtcbiAgICAgICAgKF9hID0gdGhpcy5yb290LnBhcmVudEVsZW1lbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZW1vdmVDaGlsZCh0aGlzLnJvb3QpO1xuICAgIH1cbiAgICBzZXRDb25uZWN0RGlzYWJsZWQoY29ubmVjdERpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdERpc2FibGVkID0gY29ubmVjdERpc2FibGVkO1xuICAgIH1cbiAgICBvcGVuKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLm9uQ2FuY2VsID0gb3B0aW9ucy5vbkNhbmNlbDtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9XG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25DYW5jZWwgPSBudWxsO1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5yb290KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5leHRlbnNpb25VSSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5yb290KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLnJlbmRlcikoKDAsIHByZWFjdF8xLmgpKENvbm5lY3REaWFsb2dfMS5Db25uZWN0RGlhbG9nLCB7IGRhcmtNb2RlOiB0aGlzLmRhcmtNb2RlLCB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sIHNlc3Npb25JZDogdGhpcy5zZXNzaW9uSWQsIHNlc3Npb25TZWNyZXQ6IHRoaXMuc2Vzc2lvblNlY3JldCwgbGlua0FQSVVybDogdGhpcy5saW5rQVBJVXJsLCBpc09wZW46IHRoaXMuaXNPcGVuLCBpc0Nvbm5lY3RlZDogdGhpcy5pc0Nvbm5lY3RlZCwgaXNQYXJlbnRDb25uZWN0aW9uOiB0aGlzLmlzUGFyZW50Q29ubmVjdGlvbiwgY2hhaW5JZDogdGhpcy5jaGFpbklkLCBvbkNhbmNlbDogdGhpcy5vbkNhbmNlbCwgY29ubmVjdERpc2FibGVkOiB0aGlzLmNvbm5lY3REaXNhYmxlZCB9KSwgdGhpcy5yb290KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG59XG5leHBvcnRzLkxpbmtGbG93ID0gTGlua0Zsb3c7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/LinkFlow/LinkFlow.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/QRCode.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/QRCode.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.QRCode = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst hooks_1 = __webpack_require__(/*! preact/hooks */ \"./node_modules/preact/hooks/dist/hooks.module.js\");\nconst qrcode_svg_1 = __importDefault(__webpack_require__(/*! ../vendor-js/qrcode-svg */ \"./node_modules/@coinbase/wallet-sdk/dist/vendor-js/qrcode-svg/index.js\"));\nconst QRCode = props => {\n const [svg, setSvg] = (0, hooks_1.useState)(\"\");\n (0, hooks_1.useEffect)(() => {\n var _a, _b;\n const qrcode = new qrcode_svg_1.default({\n content: props.content,\n background: props.bgColor || \"#ffffff\",\n color: props.fgColor || \"#000000\",\n container: \"svg\",\n ecl: \"M\",\n width: (_a = props.width) !== null && _a !== void 0 ? _a : 256,\n height: (_b = props.height) !== null && _b !== void 0 ? _b : 256,\n padding: 0,\n image: props.image,\n });\n const base64 = Buffer.from(qrcode.svg(), \"utf8\").toString(\"base64\");\n setSvg(`data:image/svg+xml;base64,${base64}`);\n });\n return svg ? (0, preact_1.h)(\"img\", { src: svg, alt: \"QR Code\" }) : null;\n};\nexports.QRCode = QRCode;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1FSQ29kZS5qcyIsIm1hcHBpbmdzIjoiO0FBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsY0FBYztBQUNkLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFRO0FBQ2pDLGdCQUFnQixtQkFBTyxDQUFDLHNFQUFjO0FBQ3RDLHFDQUFxQyxtQkFBTyxDQUFDLHVHQUF5QjtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULHVCQUF1QixNQUFNO0FBQzdCLG1DQUFtQyxTQUFTLE9BQU87QUFDbkQsS0FBSztBQUNMLDBDQUEwQywwQkFBMEI7QUFDcEU7QUFDQSxjQUFjIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2NvbXBvbmVudHMvUVJDb2RlLmpzP2EzYzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUVJDb2RlID0gdm9pZCAwO1xuY29uc3QgcHJlYWN0XzEgPSByZXF1aXJlKFwicHJlYWN0XCIpO1xuY29uc3QgaG9va3NfMSA9IHJlcXVpcmUoXCJwcmVhY3QvaG9va3NcIik7XG5jb25zdCBxcmNvZGVfc3ZnXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4uL3ZlbmRvci1qcy9xcmNvZGUtc3ZnXCIpKTtcbmNvbnN0IFFSQ29kZSA9IHByb3BzID0+IHtcbiAgICBjb25zdCBbc3ZnLCBzZXRTdmddID0gKDAsIGhvb2tzXzEudXNlU3RhdGUpKFwiXCIpO1xuICAgICgwLCBob29rc18xLnVzZUVmZmVjdCkoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBxcmNvZGUgPSBuZXcgcXJjb2RlX3N2Z18xLmRlZmF1bHQoe1xuICAgICAgICAgICAgY29udGVudDogcHJvcHMuY29udGVudCxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHByb3BzLmJnQ29sb3IgfHwgXCIjZmZmZmZmXCIsXG4gICAgICAgICAgICBjb2xvcjogcHJvcHMuZmdDb2xvciB8fCBcIiMwMDAwMDBcIixcbiAgICAgICAgICAgIGNvbnRhaW5lcjogXCJzdmdcIixcbiAgICAgICAgICAgIGVjbDogXCJNXCIsXG4gICAgICAgICAgICB3aWR0aDogKF9hID0gcHJvcHMud2lkdGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDI1NixcbiAgICAgICAgICAgIGhlaWdodDogKF9iID0gcHJvcHMuaGVpZ2h0KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAyNTYsXG4gICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgaW1hZ2U6IHByb3BzLmltYWdlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gQnVmZmVyLmZyb20ocXJjb2RlLnN2ZygpLCBcInV0ZjhcIikudG9TdHJpbmcoXCJiYXNlNjRcIik7XG4gICAgICAgIHNldFN2ZyhgZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwke2Jhc2U2NH1gKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3ZnID8gKDAsIHByZWFjdF8xLmgpKFwiaW1nXCIsIHsgc3JjOiBzdmcsIGFsdDogXCJRUiBDb2RlXCIgfSkgOiBudWxsO1xufTtcbmV4cG9ydHMuUVJDb2RlID0gUVJDb2RlO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/QRCode.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar-css.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar-css.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `.-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1NuYWNrYmFyL1NuYWNrYmFyLWNzcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWUsd0NBQXdDLDRCQUE0Qiw0QkFBNEIsYUFBYSxtQkFBbUIsdUJBQXVCLFdBQVcsWUFBWSx3QkFBd0Isc0NBQXNDLGlCQUFpQix3Q0FBd0MsVUFBVSxrQkFBa0IsK0JBQStCLFlBQVksV0FBVyxjQUFjLHFDQUFxQyxxQkFBcUIsYUFBYSxzQkFBc0IsZUFBZSxRQUFRLE1BQU0sbUJBQW1CLHVDQUF1QyxpQkFBaUIsOENBQThDLGFBQWEsc0JBQXNCLHVCQUF1QixpQkFBaUIsZ0JBQWdCLHdCQUF3Qix1Q0FBdUMsZ0ZBQWdGLFVBQVUscURBQXFELGFBQWEsbUJBQW1CLGdCQUFnQixnQkFBZ0IseUJBQXlCLHNCQUFzQixrQkFBa0IsZUFBZSw0REFBNEQsdUJBQXVCLHVEQUF1RCxlQUFlLDZEQUE2RCxXQUFXLGVBQWUsZ0JBQWdCLGlCQUFpQixtREFBbUQsZ0JBQWdCLHdFQUF3RSxrQkFBa0IseUJBQXlCLHNCQUFzQixrQkFBa0IsVUFBVSxzQkFBc0IsaUJBQWlCLGtCQUFrQixtRUFBbUUsNkJBQTZCLDhEQUE4RCxtQkFBbUIsa0JBQWtCLDJCQUEyQixtRUFBbUUsY0FBYyxzQkFBc0IsdUVBQXVFLFVBQVUscUJBQXFCLHdEQUF3RCxtQkFBbUIsWUFBWSxlQUFlLGdCQUFnQixhQUFhLG1CQUFtQixtQkFBbUIsWUFBWSxlQUFlLDBEQUEwRCxtQkFBbUIsZUFBZSxxRUFBcUUsK0JBQStCLDJCQUEyQix1RUFBdUUsZUFBZSw4RUFBOEUsYUFBYSxxQkFBcUIsMEVBQTBFLGNBQWMsc0JBQXNCLDZEQUE2RCxXQUFXLGVBQWUsb0JBQW9CLGtCQUFrQixxREFBcUQsVUFBVSxnQkFBZ0IsMEJBQTBCLDhCQUE4Qix1RkFBdUYsVUFBVSxhQUFhLDBCQUEwQixtQkFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9TbmFja2Jhci9TbmFja2Jhci1jc3MuanM/N2I4YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gYC4tY2J3c2RrLWNzcy1yZXNldCAuLWdlYXItY29udGFpbmVye21hcmdpbi1sZWZ0OjE2cHggIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6OXB4ICFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXN9Li1jYndzZGstY3NzLXJlc2V0IC4tZ2Vhci1jb250YWluZXIgKnt1c2VyLXNlbGVjdDpub25lfS4tY2J3c2RrLWNzcy1yZXNldCAuLWdlYXItY29udGFpbmVyIHN2Z3tvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGV9Li1jYndzZGstY3NzLXJlc2V0IC4tZ2Vhci1pY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7ei1pbmRleDoxMDAwMH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXJ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpmaXhlZDtyaWdodDowO3RvcDowO3otaW5kZXg6MjE0NzQ4MzY0N30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXIgKnt1c2VyLXNlbGVjdDpub25lfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjo4cHggMTZweCAwIDE2cHg7b3ZlcmZsb3c6dmlzaWJsZTt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdHJhbnNmb3JtIC4yNXN9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLWhlYWRlcjpob3ZlciAuLWdlYXItY29udGFpbmVyIHN2Z3tvcGFjaXR5OjF9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjhweDtjdXJzb3I6cG9pbnRlcn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtaGVhZGVyLWNibG9nb3ttYXJnaW46OHB4IDhweCA4cHggOHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1oZWFkZXIgKntjdXJzb3I6cG9pbnRlcn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtaGVhZGVyLW1lc3NhZ2V7Y29sb3I6IzAwMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjU7dXNlci1zZWxlY3Q6bm9uZX0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtbWVudXtiYWNrZ3JvdW5kOiNmZmY7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQsdHJhbnNmb3JtIC4yNXMgbGluZWFyLHZpc2liaWxpdHkgMHM7dmlzaWJpbGl0eTpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjhweDtvcGFjaXR5OjA7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLW1lbnUtaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnR9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLW1lbnUtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOiNmNWY3Zjg7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4yNXN9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLW1lbnUtaXRlbTpob3ZlciBzcGFue2NvbG9yOiMwNTBmMTk7dHJhbnNpdGlvbjpjb2xvciAuMjVzfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1tZW51LWl0ZW06aG92ZXIgc3ZnIHBhdGh7ZmlsbDojMDAwO3RyYW5zaXRpb246ZmlsbCAuMjVzfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1tZW51LWl0ZW17dmlzaWJpbGl0eTppbmhlcml0O2hlaWdodDozNXB4O21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjhweDtjdXJzb3I6cG9pbnRlcn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtbWVudS1pdGVtICp7dmlzaWJpbGl0eTppbmhlcml0O2N1cnNvcjpwb2ludGVyfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1tZW51LWl0ZW0taXMtcmVkOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyMjMsOTUsMTAzLC4yKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjI1c30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtbWVudS1pdGVtLWlzLXJlZDpob3ZlciAqe2N1cnNvcjpwb2ludGVyfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1tZW51LWl0ZW0taXMtcmVkOmhvdmVyIHN2ZyBwYXRoe2ZpbGw6I2RmNWY2Nzt0cmFuc2l0aW9uOmZpbGwgLjI1c30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtbWVudS1pdGVtLWlzLXJlZDpob3ZlciBzcGFue2NvbG9yOiNkZjVmNjc7dHJhbnNpdGlvbjpjb2xvciAuMjVzfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1tZW51LWl0ZW0taW5mb3tjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O21hcmdpbjowIDhweCAwIDMycHg7cG9zaXRpb246YWJzb2x1dGV9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLWhpZGRlbntvcGFjaXR5OjA7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI1JSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBsaW5lYXJ9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLWV4cGFuZGVkIC4tY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLW1lbnV7b3BhY2l0eToxO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3Zpc2liaWxpdHk6dmlzaWJsZX1gO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar-css.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SnackbarInstance = exports.SnackbarContainer = exports.Snackbar = void 0;\nconst clsx_1 = __importDefault(__webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\"));\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst hooks_1 = __webpack_require__(/*! preact/hooks */ \"./node_modules/preact/hooks/dist/hooks.module.js\");\nconst Snackbar_css_1 = __importDefault(__webpack_require__(/*! ./Snackbar-css */ \"./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar-css.js\"));\nconst gearIcon = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=`;\nfunction makeSnackbarIcon(appSrc) {\n switch (appSrc) {\n case \"coinbase-app\":\n return `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0LjY3NCAxOC44NThjLTIuMDQ1IDAtMy42NDgtMS43MjItMy42NDgtMy44NDVzMS42NTktMy44NDUgMy42NDgtMy44NDVjMS44MjQgMCAzLjMxNyAxLjM3NyAzLjU5MyAzLjIxNGgzLjcwM2MtLjMzMS0zLjk2LTMuNDgyLTcuMDU5LTcuMjk2LTcuMDU5LTQuMDM0IDAtNy4zNSAzLjQ0My03LjM1IDcuNjkgMCA0LjI0NiAzLjI2IDcuNjkgNy4zNSA3LjY5IDMuODcgMCA2Ljk2NS0zLjEgNy4yOTYtNy4wNTloLTMuNzAzYy0uMjc2IDEuODM2LTEuNzY5IDMuMjE0LTMuNTkzIDMuMjE0WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0wIDEwLjY3OGMwLTMuNzExIDAtNS41OTYuNzQyLTcuMDIzQTYuNTMyIDYuNTMyIDAgMCAxIDMuNjU1Ljc0MkM1LjA4MiAwIDYuOTY3IDAgMTAuNjc4IDBoNy45MzhjMy43MTEgMCA1LjU5NiAwIDcuMDIzLjc0MmE2LjUzMSA2LjUzMSAwIDAgMSAyLjkxMyAyLjkxM2MuNzQyIDEuNDI3Ljc0MiAzLjMxMi43NDIgNy4wMjN2Ny45MzhjMCAzLjcxMSAwIDUuNTk2LS43NDIgNy4wMjNhNi41MzEgNi41MzEgMCAwIDEtMi45MTMgMi45MTNjLTEuNDI3Ljc0Mi0zLjMxMi43NDItNy4wMjMuNzQyaC03LjkzOGMtMy43MTEgMC01LjU5NiAwLTcuMDIzLS43NDJhNi41MzEgNi41MzEgMCAwIDEtMi45MTMtMi45MTNDMCAyNC4yMTIgMCAyMi4zODQgMCAxOC42MTZ2LTcuOTM4WiIgZmlsbD0iIzAwNTJGRiIvPjxwYXRoIGQ9Ik0xNC42ODQgMTkuNzczYy0yLjcyNyAwLTQuODY0LTIuMjk1LTQuODY0LTUuMTI2IDAtMi44MzEgMi4yMS01LjEyNyA0Ljg2NC01LjEyNyAyLjQzMiAwIDQuNDIyIDEuODM3IDQuNzkgNC4yODVoNC45MzhjLS40NDItNS4yOC00LjY0My05LjQxMS05LjcyOC05LjQxMS01LjM4IDAtOS44MDIgNC41OS05LjgwMiAxMC4yNTMgMCA1LjY2MiA0LjM0OCAxMC4yNTMgOS44MDIgMTAuMjUzIDUuMTU5IDAgOS4yODYtNC4xMzIgOS43MjgtOS40MTFoLTQuOTM4Yy0uMzY4IDIuNDQ4LTIuMzU4IDQuMjg0LTQuNzkgNC4yODRaIiBmaWxsPSIjZmZmIi8+PC9zdmc+`;\n case \"coinbase-wallet-app\":\n default:\n return `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+`;\n }\n}\nclass Snackbar {\n constructor(options) {\n this.items = new Map();\n this.nextItemKey = 0;\n this.root = null;\n this.darkMode = options.darkMode;\n }\n attach(el) {\n this.root = document.createElement(\"div\");\n this.root.className = \"-cbwsdk-snackbar-root\";\n el.appendChild(this.root);\n this.render();\n }\n presentItem(itemProps) {\n const key = this.nextItemKey++;\n this.items.set(key, itemProps);\n this.render();\n return () => {\n this.items.delete(key);\n this.render();\n };\n }\n clear() {\n this.items.clear();\n this.render();\n }\n render() {\n if (!this.root) {\n return;\n }\n (0, preact_1.render)((0, preact_1.h)(\"div\", null,\n (0, preact_1.h)(exports.SnackbarContainer, { darkMode: this.darkMode }, Array.from(this.items.entries()).map(([key, itemProps]) => ((0, preact_1.h)(exports.SnackbarInstance, Object.assign({}, itemProps, { key: key })))))), this.root);\n }\n}\nexports.Snackbar = Snackbar;\nconst SnackbarContainer = props => ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-snackbar-container\") },\n (0, preact_1.h)(\"style\", null, Snackbar_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar\" }, props.children)));\nexports.SnackbarContainer = SnackbarContainer;\nconst SnackbarInstance = ({ autoExpand, message, menuItems, appSrc, }) => {\n const [hidden, setHidden] = (0, hooks_1.useState)(true);\n const [expanded, setExpanded] = (0, hooks_1.useState)(autoExpand !== null && autoExpand !== void 0 ? autoExpand : false);\n (0, hooks_1.useEffect)(() => {\n const timers = [\n window.setTimeout(() => {\n setHidden(false);\n }, 1),\n window.setTimeout(() => {\n setExpanded(true);\n }, 10000),\n ];\n return () => {\n timers.forEach(window.clearTimeout);\n };\n });\n const toggleExpanded = () => {\n setExpanded(!expanded);\n };\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-snackbar-instance\", hidden && \"-cbwsdk-snackbar-instance-hidden\", expanded && \"-cbwsdk-snackbar-instance-expanded\") },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-header\", onClick: toggleExpanded },\n (0, preact_1.h)(\"img\", { src: makeSnackbarIcon(appSrc), class: \"-cbwsdk-snackbar-instance-header-cblogo\" }),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-header-message\" }, message),\n (0, preact_1.h)(\"div\", { class: \"-gear-container\" },\n !expanded && ((0, preact_1.h)(\"svg\", { width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n (0, preact_1.h)(\"circle\", { cx: \"12\", cy: \"12\", r: \"12\", fill: \"#F5F7F8\" }))),\n (0, preact_1.h)(\"img\", { src: gearIcon, class: \"-gear-icon\", title: \"Expand\" }))),\n menuItems && menuItems.length > 0 && ((0, preact_1.h)(\"div\", { class: \"-cbwsdk-snackbar-instance-menu\" }, menuItems.map((action, i) => ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-snackbar-instance-menu-item\", action.isRed && \"-cbwsdk-snackbar-instance-menu-item-is-red\"), onClick: action.onClick, key: i },\n (0, preact_1.h)(\"svg\", { width: action.svgWidth, height: action.svgHeight, viewBox: \"0 0 10 11\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n (0, preact_1.h)(\"path\", { \"fill-rule\": action.defaultFillRule, \"clip-rule\": action.defaultClipRule, d: action.path, fill: \"#AAAAAA\" })),\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)(\"-cbwsdk-snackbar-instance-menu-item-info\", action.isRed &&\n \"-cbwsdk-snackbar-instance-menu-item-info-is-red\") }, action.info))))))));\n};\nexports.SnackbarInstance = SnackbarInstance;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1NuYWNrYmFyL1NuYWNrYmFyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QixHQUFHLHlCQUF5QixHQUFHLGdCQUFnQjtBQUN2RSwrQkFBK0IsbUJBQU8sQ0FBQyxnREFBTTtBQUM3QyxpQkFBaUIsbUJBQU8sQ0FBQywyREFBUTtBQUNqQyxnQkFBZ0IsbUJBQU8sQ0FBQyxzRUFBYztBQUN0Qyx1Q0FBdUMsbUJBQU8sQ0FBQyxvR0FBZ0I7QUFDL0QscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCx5QkFBeUIsd0hBQXdILGVBQWUsVUFBVTtBQUNuTztBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCLDZEQUE2RCwwREFBMEQ7QUFDdkg7QUFDQSw2QkFBNkIsMkJBQTJCO0FBQ3hELHlCQUF5QjtBQUN6Qiw0QkFBNEIseUNBQXlDO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyx5SkFBeUo7QUFDOUwsaUNBQWlDLG9FQUFvRTtBQUNyRyxxQ0FBcUMsaUZBQWlGO0FBQ3RILHFDQUFxQyxtREFBbUQ7QUFDeEYscUNBQXFDLDBCQUEwQjtBQUMvRCx1REFBdUQsb0dBQW9HO0FBQzNKLGdEQUFnRCw4Q0FBOEM7QUFDOUYseUNBQXlDLHFEQUFxRDtBQUM5Rix1RUFBdUUseUNBQXlDLHlEQUF5RCxrS0FBa0s7QUFDM1UscUNBQXFDLDJIQUEySDtBQUNoSywwQ0FBMEMsMkdBQTJHO0FBQ3JKLHNDQUFzQztBQUN0Qyx3RUFBd0U7QUFDeEU7QUFDQSx3QkFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9TbmFja2Jhci9TbmFja2Jhci5qcz8xMDE2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlNuYWNrYmFySW5zdGFuY2UgPSBleHBvcnRzLlNuYWNrYmFyQ29udGFpbmVyID0gZXhwb3J0cy5TbmFja2JhciA9IHZvaWQgMDtcbmNvbnN0IGNsc3hfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiY2xzeFwiKSk7XG5jb25zdCBwcmVhY3RfMSA9IHJlcXVpcmUoXCJwcmVhY3RcIik7XG5jb25zdCBob29rc18xID0gcmVxdWlyZShcInByZWFjdC9ob29rc1wiKTtcbmNvbnN0IFNuYWNrYmFyX2Nzc18xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuL1NuYWNrYmFyLWNzc1wiKSk7XG5jb25zdCBnZWFySWNvbiA9IGBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVElpSUdobGFXZG9kRDBpTVRJaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQSEJoZEdnZ1pEMGlUVEV5SURZdU56VjJMVEV1Tld3dE1TNDNNaTB1TlRkakxTNHdPQzB1TWpjdExqRTVMUzQxTWkwdU16SXRMamMzYkM0NE1TMHhMall5TFRFdU1EWXRNUzR3TmkweExqWXlMamd4WXkwdU1qUXRMakV6TFM0MUxTNHlOQzB1TnpjdExqTXlURFl1TnpVZ01HZ3RNUzQxYkMwdU5UY2dNUzQzTW1NdExqSTNMakE0TFM0MU15NHhPUzB1TnpjdU16SnNMVEV1TmpJdExqZ3hMVEV1TURZZ01TNHdOaTQ0TVNBeExqWXlZeTB1TVRNdU1qUXRMakkwTGpVdExqTXlMamMzVERBZ05TNHlOWFl4TGpWc01TNDNNaTQxTjJNdU1EZ3VNamN1TVRrdU5UTXVNekl1Tnpkc0xTNDRNU0F4TGpZeUlERXVNRFlnTVM0d05pQXhMall5TFM0NE1XTXVNalF1TVRNdU5TNHlNeTQzTnk0ek1rdzFMakkxSURFeWFERXVOV3d1TlRjdE1TNDNNbU11TWpjdExqQTRMalV5TFM0eE9TNDNOeTB1TXpKc01TNDJNaTQ0TVNBeExqQTJMVEV1TURZdExqZ3hMVEV1TmpKakxqRXpMUzR5TkM0eU15MHVOUzR6TWkwdU56ZE1NVElnTmk0M05YcE5OaUE0TGpWaE1pNDFJREl1TlNBd0lEQXhNQzAxSURJdU5TQXlMalVnTUNBd01UQWdOWG9pSUdacGJHdzlJaU13TlRCR01Ua2lMejQ4TDNOMlp6ND1gO1xuZnVuY3Rpb24gbWFrZVNuYWNrYmFySWNvbihhcHBTcmMpIHtcbiAgICBzd2l0Y2ggKGFwcFNyYykge1xuICAgICAgICBjYXNlIFwiY29pbmJhc2UtYXBwXCI6XG4gICAgICAgICAgICByZXR1cm4gYGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16QWlJR2hsYVdkb2REMGlNekFpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BIQmhkR2dnWkQwaVRURTBMalkzTkNBeE9DNDROVGhqTFRJdU1EUTFJREF0TXk0Mk5EZ3RNUzQzTWpJdE15NDJORGd0TXk0NE5EVnpNUzQyTlRrdE15NDRORFVnTXk0Mk5EZ3RNeTQ0TkRWak1TNDRNalFnTUNBekxqTXhOeUF4TGpNM055QXpMalU1TXlBekxqSXhOR2d6TGpjd00yTXRMak16TVMwekxqazJMVE11TkRneUxUY3VNRFU1TFRjdU1qazJMVGN1TURVNUxUUXVNRE0wSURBdE55NHpOU0F6TGpRME15MDNMak0xSURjdU5qa2dNQ0EwTGpJME5pQXpMakkySURjdU5qa2dOeTR6TlNBM0xqWTVJRE11T0RjZ01DQTJMamsyTlMwekxqRWdOeTR5T1RZdE55NHdOVGxvTFRNdU56QXpZeTB1TWpjMklERXVPRE0yTFRFdU56WTVJRE11TWpFMExUTXVOVGt6SURNdU1qRTBXaUlnWm1sc2JEMGlJMlptWmlJdlBqeHdZWFJvSUdROUlrMHdJREV3TGpZM09HTXdMVE11TnpFeElEQXROUzQxT1RZdU56UXlMVGN1TURJelFUWXVOVE15SURZdU5UTXlJREFnTUNBeElETXVOalUxTGpjME1rTTFMakE0TWlBd0lEWXVPVFkzSURBZ01UQXVOamM0SURCb055NDVNemhqTXk0M01URWdNQ0ExTGpVNU5pQXdJRGN1TURJekxqYzBNbUUyTGpVek1TQTJMalV6TVNBd0lEQWdNU0F5TGpreE15QXlMamt4TTJNdU56UXlJREV1TkRJM0xqYzBNaUF6TGpNeE1pNDNORElnTnk0d01qTjJOeTQ1TXpoak1DQXpMamN4TVNBd0lEVXVOVGsyTFM0M05ESWdOeTR3TWpOaE5pNDFNekVnTmk0MU16RWdNQ0F3SURFdE1pNDVNVE1nTWk0NU1UTmpMVEV1TkRJM0xqYzBNaTB6TGpNeE1pNDNOREl0Tnk0d01qTXVOelF5YUMwM0xqa3pPR010TXk0M01URWdNQzAxTGpVNU5pQXdMVGN1TURJekxTNDNOREpoTmk0MU16RWdOaTQxTXpFZ01DQXdJREV0TWk0NU1UTXRNaTQ1TVRORE1DQXlOQzR5TVRJZ01DQXlNaTR6T0RRZ01DQXhPQzQyTVRaMkxUY3VPVE00V2lJZ1ptbHNiRDBpSXpBd05USkdSaUl2UGp4d1lYUm9JR1E5SWsweE5DNDJPRFFnTVRrdU56Y3pZeTB5TGpjeU55QXdMVFF1T0RZMExUSXVNamsxTFRRdU9EWTBMVFV1TVRJMklEQXRNaTQ0TXpFZ01pNHlNUzAxTGpFeU55QTBMamcyTkMwMUxqRXlOeUF5TGpRek1pQXdJRFF1TkRJeUlERXVPRE0zSURRdU56a2dOQzR5T0RWb05DNDVNemhqTFM0ME5ESXROUzR5T0MwMExqWTBNeTA1TGpReE1TMDVMamN5T0MwNUxqUXhNUzAxTGpNNElEQXRPUzQ0TURJZ05DNDFPUzA1TGpnd01pQXhNQzR5TlRNZ01DQTFMalkyTWlBMExqTTBPQ0F4TUM0eU5UTWdPUzQ0TURJZ01UQXVNalV6SURVdU1UVTVJREFnT1M0eU9EWXROQzR4TXpJZ09TNDNNamd0T1M0ME1URm9MVFF1T1RNNFl5MHVNelk0SURJdU5EUTRMVEl1TXpVNElEUXVNamcwTFRRdU56a2dOQzR5T0RSYUlpQm1hV3hzUFNJalptWm1JaTgrUEM5emRtYytgO1xuICAgICAgICBjYXNlIFwiY29pbmJhc2Utd2FsbGV0LWFwcFwiOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNeklpSUdobGFXZG9kRDBpTXpJaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQSEJoZEdnZ1pEMGlUVEV1TkRreUlERXdMalF4T1dFNExqa3pJRGd1T1RNZ01DQXdNVGd1T1RNdE9DNDVNMmd4TVM0eE5qTmhPQzQ1TXlBNExqa3pJREFnTURFNExqa3pJRGd1T1ROMk1URXVNVFl6WVRndU9UTWdPQzQ1TXlBd0lEQXhMVGd1T1RNZ09DNDVNMGd4TUM0ME1qSmhPQzQ1TXlBNExqa3pJREFnTURFdE9DNDVNeTA0TGprelZqRXdMalF4T1hvaUlHWnBiR3c5SWlNeE5qVXlSakFpTHo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3TGpReE9TQXdTREl4TGpVNFF6STNMak16TlNBd0lETXlJRFF1TmpZMUlETXlJREV3TGpReE9WWXlNUzQxT0VNek1pQXlOeTR6TXpVZ01qY3VNek0xSURNeUlESXhMalU0TVNBek1rZ3hNQzQwTWtNMExqWTJOU0F6TWlBd0lESTNMak16TlNBd0lESXhMalU0TVZZeE1DNDBNa013SURRdU5qWTFJRFF1TmpZMUlEQWdNVEF1TkRFNUlEQjZiVEFnTVM0ME9EaGhPQzQ1TXlBNExqa3pJREFnTURBdE9DNDVNeUE0TGpremRqRXhMakUyTTJFNExqa3pJRGd1T1RNZ01DQXdNRGd1T1RNZ09DNDVNMGd5TVM0MU9HRTRMamt6SURndU9UTWdNQ0F3TURndU9UTXRPQzQ1TTFZeE1DNDBNbUU0TGpreklEZ3VPVE1nTUNBd01DMDRMamt6TFRndU9UTklNVEF1TkRKNklpQm1hV3hzUFNJalptWm1JaTgrUEhCaGRHZ2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhOUzQ1T1RnZ01qWXVNRFE1WXkwMUxqVTBPU0F3TFRFd0xqQTBOeTAwTGpRNU9DMHhNQzR3TkRjdE1UQXVNRFEzSURBdE5TNDFORGdnTkM0ME9UZ3RNVEF1TURRMklERXdMakEwTnkweE1DNHdORFlnTlM0MU5EZ2dNQ0F4TUM0d05EWWdOQzQwT1RnZ01UQXVNRFEySURFd0xqQTBOaUF3SURVdU5UUTVMVFF1TkRrNElERXdMakEwTnkweE1DNHdORFlnTVRBdU1EUTNlaUlnWm1sc2JEMGlJMlptWmlJdlBqeHdZWFJvSUdROUlrMHhNaTQzTmpJZ01UUXVNalUwWXpBdExqZ3lNaTQyTmpjdE1TNDBPRGtnTVM0ME9Ea3RNUzQwT0Rsb015NDBPVGRqTGpneU1pQXdJREV1TkRnNExqWTJOaUF4TGpRNE9DQXhMalE0T1hZekxqUTVOMk13SUM0NE1qSXRMalkyTmlBeExqUTRPQzB4TGpRNE9DQXhMalE0T0dndE15NDBPVGRoTVM0ME9EZ2dNUzQwT0RnZ01DQXdNUzB4TGpRNE9TMHhMalE0T0hZdE15NDBPVGg2SWlCbWFXeHNQU0lqTVRZMU1rWXdJaTgrUEM5emRtYytgO1xuICAgIH1cbn1cbmNsYXNzIFNuYWNrYmFyIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMubmV4dEl0ZW1LZXkgPSAwO1xuICAgICAgICB0aGlzLnJvb3QgPSBudWxsO1xuICAgICAgICB0aGlzLmRhcmtNb2RlID0gb3B0aW9ucy5kYXJrTW9kZTtcbiAgICB9XG4gICAgYXR0YWNoKGVsKSB7XG4gICAgICAgIHRoaXMucm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIHRoaXMucm9vdC5jbGFzc05hbWUgPSBcIi1jYndzZGstc25hY2tiYXItcm9vdFwiO1xuICAgICAgICBlbC5hcHBlbmRDaGlsZCh0aGlzLnJvb3QpO1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cbiAgICBwcmVzZW50SXRlbShpdGVtUHJvcHMpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5uZXh0SXRlbUtleSsrO1xuICAgICAgICB0aGlzLml0ZW1zLnNldChrZXksIGl0ZW1Qcm9wcyk7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLmRlbGV0ZShrZXkpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuaXRlbXMuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMucm9vdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgICgwLCBwcmVhY3RfMS5yZW5kZXIpKCgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCBudWxsLFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKGV4cG9ydHMuU25hY2tiYXJDb250YWluZXIsIHsgZGFya01vZGU6IHRoaXMuZGFya01vZGUgfSwgQXJyYXkuZnJvbSh0aGlzLml0ZW1zLmVudHJpZXMoKSkubWFwKChba2V5LCBpdGVtUHJvcHNdKSA9PiAoKDAsIHByZWFjdF8xLmgpKGV4cG9ydHMuU25hY2tiYXJJbnN0YW5jZSwgT2JqZWN0LmFzc2lnbih7fSwgaXRlbVByb3BzLCB7IGtleToga2V5IH0pKSkpKSksIHRoaXMucm9vdCk7XG4gICAgfVxufVxuZXhwb3J0cy5TbmFja2JhciA9IFNuYWNrYmFyO1xuY29uc3QgU25hY2tiYXJDb250YWluZXIgPSBwcm9wcyA9PiAoKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXNuYWNrYmFyLWNvbnRhaW5lclwiKSB9LFxuICAgICgwLCBwcmVhY3RfMS5oKShcInN0eWxlXCIsIG51bGwsIFNuYWNrYmFyX2Nzc18xLmRlZmF1bHQpLFxuICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiBcIi1jYndzZGstc25hY2tiYXJcIiB9LCBwcm9wcy5jaGlsZHJlbikpKTtcbmV4cG9ydHMuU25hY2tiYXJDb250YWluZXIgPSBTbmFja2JhckNvbnRhaW5lcjtcbmNvbnN0IFNuYWNrYmFySW5zdGFuY2UgPSAoeyBhdXRvRXhwYW5kLCBtZXNzYWdlLCBtZW51SXRlbXMsIGFwcFNyYywgfSkgPT4ge1xuICAgIGNvbnN0IFtoaWRkZW4sIHNldEhpZGRlbl0gPSAoMCwgaG9va3NfMS51c2VTdGF0ZSkodHJ1ZSk7XG4gICAgY29uc3QgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0gPSAoMCwgaG9va3NfMS51c2VTdGF0ZSkoYXV0b0V4cGFuZCAhPT0gbnVsbCAmJiBhdXRvRXhwYW5kICE9PSB2b2lkIDAgPyBhdXRvRXhwYW5kIDogZmFsc2UpO1xuICAgICgwLCBob29rc18xLnVzZUVmZmVjdCkoKCkgPT4ge1xuICAgICAgICBjb25zdCB0aW1lcnMgPSBbXG4gICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGlkZGVuKGZhbHNlKTtcbiAgICAgICAgICAgIH0sIDEpLFxuICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEV4cGFuZGVkKHRydWUpO1xuICAgICAgICAgICAgfSwgMTAwMDApLFxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgdGltZXJzLmZvckVhY2god2luZG93LmNsZWFyVGltZW91dCk7XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgY29uc3QgdG9nZ2xlRXhwYW5kZWQgPSAoKSA9PiB7XG4gICAgICAgIHNldEV4cGFuZGVkKCFleHBhbmRlZCk7XG4gICAgfTtcbiAgICByZXR1cm4gKCgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiAoMCwgY2xzeF8xLmRlZmF1bHQpKFwiLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZVwiLCBoaWRkZW4gJiYgXCItY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLWhpZGRlblwiLCBleHBhbmRlZCAmJiBcIi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtZXhwYW5kZWRcIikgfSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1oZWFkZXJcIiwgb25DbGljazogdG9nZ2xlRXhwYW5kZWQgfSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImltZ1wiLCB7IHNyYzogbWFrZVNuYWNrYmFySWNvbihhcHBTcmMpLCBjbGFzczogXCItY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLWhlYWRlci1jYmxvZ29cIiB9KSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiBcIi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtaGVhZGVyLW1lc3NhZ2VcIiB9LCBtZXNzYWdlKSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiBcIi1nZWFyLWNvbnRhaW5lclwiIH0sXG4gICAgICAgICAgICAgICAgIWV4cGFuZGVkICYmICgoMCwgcHJlYWN0XzEuaCkoXCJzdmdcIiwgeyB3aWR0aDogXCIyNFwiLCBoZWlnaHQ6IFwiMjRcIiwgdmlld0JveDogXCIwIDAgMjQgMjRcIiwgZmlsbDogXCJub25lXCIsIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiY2lyY2xlXCIsIHsgY3g6IFwiMTJcIiwgY3k6IFwiMTJcIiwgcjogXCIxMlwiLCBmaWxsOiBcIiNGNUY3RjhcIiB9KSkpLFxuICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImltZ1wiLCB7IHNyYzogZ2Vhckljb24sIGNsYXNzOiBcIi1nZWFyLWljb25cIiwgdGl0bGU6IFwiRXhwYW5kXCIgfSkpKSxcbiAgICAgICAgbWVudUl0ZW1zICYmIG1lbnVJdGVtcy5sZW5ndGggPiAwICYmICgoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogXCItY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLW1lbnVcIiB9LCBtZW51SXRlbXMubWFwKChhY3Rpb24sIGkpID0+ICgoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogKDAsIGNsc3hfMS5kZWZhdWx0KShcIi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtbWVudS1pdGVtXCIsIGFjdGlvbi5pc1JlZCAmJiBcIi1jYndzZGstc25hY2tiYXItaW5zdGFuY2UtbWVudS1pdGVtLWlzLXJlZFwiKSwgb25DbGljazogYWN0aW9uLm9uQ2xpY2ssIGtleTogaSB9LFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3ZnXCIsIHsgd2lkdGg6IGFjdGlvbi5zdmdXaWR0aCwgaGVpZ2h0OiBhY3Rpb24uc3ZnSGVpZ2h0LCB2aWV3Qm94OiBcIjAgMCAxMCAxMVwiLCBmaWxsOiBcIm5vbmVcIiwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB9LFxuICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBcImZpbGwtcnVsZVwiOiBhY3Rpb24uZGVmYXVsdEZpbGxSdWxlLCBcImNsaXAtcnVsZVwiOiBhY3Rpb24uZGVmYXVsdENsaXBSdWxlLCBkOiBhY3Rpb24ucGF0aCwgZmlsbDogXCIjQUFBQUFBXCIgfSkpLFxuICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3BhblwiLCB7IGNsYXNzOiAoMCwgY2xzeF8xLmRlZmF1bHQpKFwiLWNid3Nkay1zbmFja2Jhci1pbnN0YW5jZS1tZW51LWl0ZW0taW5mb1wiLCBhY3Rpb24uaXNSZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgXCItY2J3c2RrLXNuYWNrYmFyLWluc3RhbmNlLW1lbnUtaXRlbS1pbmZvLWlzLXJlZFwiKSB9LCBhY3Rpb24uaW5mbykpKSkpKSkpO1xufTtcbmV4cG9ydHMuU25hY2tiYXJJbnN0YW5jZSA9IFNuYWNrYmFySW5zdGFuY2U7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner-css.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner-css.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `.-cbwsdk-css-reset .-cbwsdk-spinner{display:inline-block}.-cbwsdk-css-reset .-cbwsdk-spinner svg{display:inline-block;animation:2s linear infinite -cbwsdk-spinner-svg}.-cbwsdk-css-reset .-cbwsdk-spinner svg circle{animation:1.9s ease-in-out infinite both -cbwsdk-spinner-circle;display:block;fill:rgba(0,0,0,0);stroke-dasharray:283;stroke-dashoffset:280;stroke-linecap:round;stroke-width:10px;transform-origin:50% 50%}@keyframes -cbwsdk-spinner-svg{0%{transform:rotateZ(0deg)}100%{transform:rotateZ(360deg)}}@keyframes -cbwsdk-spinner-circle{0%,25%{stroke-dashoffset:280;transform:rotate(0)}50%,75%{stroke-dashoffset:75;transform:rotate(45deg)}100%{stroke-dashoffset:280;transform:rotate(360deg)}}`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lci1jc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFlLHdDQUF3QyxxQkFBcUIsd0NBQXdDLHFCQUFxQixpREFBaUQsK0NBQStDLGdFQUFnRSxjQUFjLG1CQUFtQixxQkFBcUIsc0JBQXNCLHFCQUFxQixrQkFBa0IseUJBQXlCLCtCQUErQixHQUFHLHdCQUF3QixLQUFLLDJCQUEyQixrQ0FBa0MsT0FBTyxzQkFBc0Isb0JBQW9CLFFBQVEscUJBQXFCLHdCQUF3QixLQUFLLHNCQUFzQiwwQkFBMEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXItY3NzLmpzP2UzMGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGAuLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc3Bpbm5lcntkaXNwbGF5OmlubGluZS1ibG9ja30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstc3Bpbm5lciBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7YW5pbWF0aW9uOjJzIGxpbmVhciBpbmZpbml0ZSAtY2J3c2RrLXNwaW5uZXItc3ZnfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay1zcGlubmVyIHN2ZyBjaXJjbGV7YW5pbWF0aW9uOjEuOXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYm90aCAtY2J3c2RrLXNwaW5uZXItY2lyY2xlO2Rpc3BsYXk6YmxvY2s7ZmlsbDpyZ2JhKDAsMCwwLDApO3N0cm9rZS1kYXNoYXJyYXk6MjgzO3N0cm9rZS1kYXNob2Zmc2V0OjI4MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2Utd2lkdGg6MTBweDt0cmFuc2Zvcm0tb3JpZ2luOjUwJSA1MCV9QGtleWZyYW1lcyAtY2J3c2RrLXNwaW5uZXItc3ZnezAle3RyYW5zZm9ybTpyb3RhdGVaKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZVooMzYwZGVnKX19QGtleWZyYW1lcyAtY2J3c2RrLXNwaW5uZXItY2lyY2xlezAlLDI1JXtzdHJva2UtZGFzaG9mZnNldDoyODA7dHJhbnNmb3JtOnJvdGF0ZSgwKX01MCUsNzUle3N0cm9rZS1kYXNob2Zmc2V0Ojc1O3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfTEwMCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjgwO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19YDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner-css.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Spinner = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst Spinner_css_1 = __importDefault(__webpack_require__(/*! ./Spinner-css */ \"./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner-css.js\"));\nconst Spinner = props => {\n var _a;\n const size = (_a = props.size) !== null && _a !== void 0 ? _a : 64;\n const color = props.color || \"#000\";\n return ((0, preact_1.h)(\"div\", { class: \"-cbwsdk-spinner\" },\n (0, preact_1.h)(\"style\", null, Spinner_css_1.default),\n (0, preact_1.h)(\"svg\", { viewBox: \"0 0 100 100\", xmlns: \"http://www.w3.org/2000/svg\", style: { width: size, height: size } },\n (0, preact_1.h)(\"circle\", { style: { cx: 50, cy: 50, r: 45, stroke: color } }))));\n};\nexports.Spinner = Spinner;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxlQUFlO0FBQ2YsaUJBQWlCLG1CQUFPLENBQUMsMkRBQVE7QUFDakMsc0NBQXNDLG1CQUFPLENBQUMsaUdBQWU7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsMEJBQTBCO0FBQy9EO0FBQ0EsaUNBQWlDLHNFQUFzRSw2QkFBNkI7QUFDcEksd0NBQXdDLFNBQVMsd0NBQXdDO0FBQ3pGO0FBQ0EsZUFBZSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lci5qcz85YzQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlNwaW5uZXIgPSB2b2lkIDA7XG5jb25zdCBwcmVhY3RfMSA9IHJlcXVpcmUoXCJwcmVhY3RcIik7XG5jb25zdCBTcGlubmVyX2Nzc18xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuL1NwaW5uZXItY3NzXCIpKTtcbmNvbnN0IFNwaW5uZXIgPSBwcm9wcyA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHNpemUgPSAoX2EgPSBwcm9wcy5zaXplKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA2NDtcbiAgICBjb25zdCBjb2xvciA9IHByb3BzLmNvbG9yIHx8IFwiIzAwMFwiO1xuICAgIHJldHVybiAoKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay1zcGlubmVyXCIgfSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3R5bGVcIiwgbnVsbCwgU3Bpbm5lcl9jc3NfMS5kZWZhdWx0KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3ZnXCIsIHsgdmlld0JveDogXCIwIDAgMTAwIDEwMFwiLCB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCBzdHlsZTogeyB3aWR0aDogc2l6ZSwgaGVpZ2h0OiBzaXplIH0gfSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImNpcmNsZVwiLCB7IHN0eWxlOiB7IGN4OiA1MCwgY3k6IDUwLCByOiA0NSwgc3Ryb2tlOiBjb2xvciB9IH0pKSkpO1xufTtcbmV4cG9ydHMuU3Bpbm5lciA9IFNwaW5uZXI7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/Spinner/Spinner.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent-css.js": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent-css.js ***! - \**********************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `.-cbwsdk-css-reset .-cbwsdk-try-extension{display:flex;margin-top:12px;height:202px;width:700px;border-radius:12px;padding:30px}.-cbwsdk-css-reset .-cbwsdk-try-extension.light{background:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension.dark{background:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-column-half{flex:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading{font-style:normal;font-weight:500;font-size:25px;line-height:32px;margin:0;max-width:204px}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.light{color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-try-extension-heading.dark{color:#fff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta{appearance:none;border:none;background:none;color:#0052ff;cursor:pointer;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.light{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta.dark{color:#588af5}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-wrapper{display:flex;align-items:center;margin-top:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-cta-icon{display:block;margin-left:4px;height:14px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;list-style:none;height:100%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item{display:flex;align-items:center;flex-flow:nowrap;margin-top:24px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item:first-of-type{margin-top:0}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon-wrapper{display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon{display:flex;height:32px;width:32px;border-radius:50%}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon svg{margin:auto;display:block}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.light{background:#eef0f3}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-icon.dark{background:#1e2025}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy{display:block;font-weight:400;font-size:14px;line-height:20px;padding-left:12px}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.light{color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-try-extension-list-item-copy.dark{color:#8a919e}`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1RyeUV4dGVuc2lvbkNvbnRlbnQvVHJ5RXh0ZW5zaW9uQ29udGVudC1jc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFlLDhDQUE4QyxhQUFhLGdCQUFnQixhQUFhLFlBQVksbUJBQW1CLGFBQWEsZ0RBQWdELGdCQUFnQiwrQ0FBK0MsbUJBQW1CLHNEQUFzRCxTQUFTLGtEQUFrRCxrQkFBa0IsZ0JBQWdCLGVBQWUsaUJBQWlCLFNBQVMsZ0JBQWdCLHdEQUF3RCxjQUFjLHVEQUF1RCxXQUFXLDhDQUE4QyxnQkFBZ0IsWUFBWSxnQkFBZ0IsY0FBYyxlQUFlLFVBQVUscUJBQXFCLGNBQWMsZ0JBQWdCLGVBQWUsaUJBQWlCLG9EQUFvRCxjQUFjLG1EQUFtRCxjQUFjLHNEQUFzRCxhQUFhLG1CQUFtQixnQkFBZ0IsbURBQW1ELGNBQWMsZ0JBQWdCLFlBQVksK0NBQStDLGFBQWEsc0JBQXNCLHVCQUF1QixtQkFBbUIsU0FBUyxVQUFVLGdCQUFnQixZQUFZLG9EQUFvRCxhQUFhLG1CQUFtQixpQkFBaUIsZ0JBQWdCLGtFQUFrRSxhQUFhLGlFQUFpRSxjQUFjLHlEQUF5RCxhQUFhLFlBQVksV0FBVyxrQkFBa0IsNkRBQTZELFlBQVksY0FBYywrREFBK0QsbUJBQW1CLDhEQUE4RCxtQkFBbUIseURBQXlELGNBQWMsZ0JBQWdCLGVBQWUsaUJBQWlCLGtCQUFrQiwrREFBK0QsY0FBYyw4REFBOEQsY0FBYyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1RyeUV4dGVuc2lvbkNvbnRlbnQvVHJ5RXh0ZW5zaW9uQ29udGVudC1jc3MuanM/ZDNjZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gYC4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9ue2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjEycHg7aGVpZ2h0OjIwMnB4O3dpZHRoOjcwMHB4O2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjMwcHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24ubGlnaHR7YmFja2dyb3VuZDojZmZmfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLmRhcmt7YmFja2dyb3VuZDojMGEwYjBkfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWNvbHVtbi1oYWxme2ZsZXg6NTAlfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWhlYWRpbmd7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyNXB4O2xpbmUtaGVpZ2h0OjMycHg7bWFyZ2luOjA7bWF4LXdpZHRoOjIwNHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWhlYWRpbmcubGlnaHR7Y29sb3I6IzBhMGIwZH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstdHJ5LWV4dGVuc2lvbi1oZWFkaW5nLmRhcmt7Y29sb3I6I2ZmZn0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstdHJ5LWV4dGVuc2lvbi1jdGF7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjojMDA1MmZmO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDt0ZXh0LWRlY29yYXRpb246bm9uZTtkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNHB4fS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWN0YS5saWdodHtjb2xvcjojMDA1MmZmfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWN0YS5kYXJre2NvbG9yOiM1ODhhZjV9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tY3RhLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjEycHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tY3RhLWljb257ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDo0cHg7aGVpZ2h0OjE0cHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7aGVpZ2h0OjEwMCV9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1mbG93Om5vd3JhcDttYXJnaW4tdG9wOjI0cHh9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDowfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWxpc3QtaXRlbS1pY29uLXdyYXBwZXJ7ZGlzcGxheTpibG9ja30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0LWl0ZW0taWNvbntkaXNwbGF5OmZsZXg7aGVpZ2h0OjMycHg7d2lkdGg6MzJweDtib3JkZXItcmFkaXVzOjUwJX0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0LWl0ZW0taWNvbiBzdmd7bWFyZ2luOmF1dG87ZGlzcGxheTpibG9ja30uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0LWl0ZW0taWNvbi5saWdodHtiYWNrZ3JvdW5kOiNlZWYwZjN9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWljb24uZGFya3tiYWNrZ3JvdW5kOiMxZTIwMjV9Li1jYndzZGstY3NzLXJlc2V0IC4tY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWNvcHl7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDtwYWRkaW5nLWxlZnQ6MTJweH0uLWNid3Nkay1jc3MtcmVzZXQgLi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0LWl0ZW0tY29weS5saWdodHtjb2xvcjojNWI2MzZlfS4tY2J3c2RrLWNzcy1yZXNldCAuLWNid3Nkay10cnktZXh0ZW5zaW9uLWxpc3QtaXRlbS1jb3B5LmRhcmt7Y29sb3I6IzhhOTE5ZX1gO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent-css.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent.js": -/*!******************************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent.js ***! - \******************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TryExtensionContent = void 0;\nconst clsx_1 = __importDefault(__webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\"));\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nconst hooks_1 = __webpack_require__(/*! preact/hooks */ \"./node_modules/preact/hooks/dist/hooks.module.js\");\nconst ArrowLeftIcon_1 = __webpack_require__(/*! ../icons/ArrowLeftIcon */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/ArrowLeftIcon.js\");\nconst LaptopIcon_1 = __webpack_require__(/*! ../icons/LaptopIcon */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/LaptopIcon.js\");\nconst SafeIcon_1 = __webpack_require__(/*! ../icons/SafeIcon */ \"./node_modules/@coinbase/wallet-sdk/dist/components/icons/SafeIcon.js\");\nconst TryExtensionContent_css_1 = __importDefault(__webpack_require__(/*! ./TryExtensionContent-css */ \"./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent-css.js\"));\nfunction TryExtensionContent({ theme }) {\n const [clicked, setClicked] = (0, hooks_1.useState)(false);\n const handleInstallClick = (0, hooks_1.useCallback)(() => {\n window.open(\"https://api.wallet.coinbase.com/rpc/v2/desktop/chrome\", \"_blank\");\n }, []);\n const handleClick = (0, hooks_1.useCallback)(() => {\n if (clicked) {\n window.location.reload();\n }\n else {\n handleInstallClick();\n setClicked(true);\n }\n }, [handleInstallClick, clicked]);\n return ((0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension\", theme) },\n (0, preact_1.h)(\"style\", null, TryExtensionContent_css_1.default),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-column-half\" },\n (0, preact_1.h)(\"h3\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension-heading\", theme) }, \"Or try the Coinbase Wallet browser extension\"),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-cta-wrapper\" },\n (0, preact_1.h)(\"button\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension-cta\", theme), onClick: handleClick }, clicked ? \"Refresh\" : \"Install\"),\n (0, preact_1.h)(\"div\", null, !clicked && ((0, preact_1.h)(ArrowLeftIcon_1.ArrowLeftIcon, { class: \"-cbwsdk-try-extension-cta-icon\", fill: theme === \"light\" ? \"#0052FF\" : \"#588AF5\" }))))),\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-column-half\" },\n (0, preact_1.h)(\"ul\", { class: \"-cbwsdk-try-extension-list\" },\n (0, preact_1.h)(\"li\", { class: \"-cbwsdk-try-extension-list-item\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-list-item-icon-wrapper\" },\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension-list-item-icon\", theme) },\n (0, preact_1.h)(LaptopIcon_1.LaptopIcon, { fill: theme === \"light\" ? \"#0A0B0D\" : \"#FFFFFF\" }))),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension-list-item-copy\", theme) }, \"Connect with dapps with just one click on your desktop browser\")),\n (0, preact_1.h)(\"li\", { class: \"-cbwsdk-try-extension-list-item\" },\n (0, preact_1.h)(\"div\", { class: \"-cbwsdk-try-extension-list-item-icon-wrapper\" },\n (0, preact_1.h)(\"span\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension-list-item-icon\", theme) },\n (0, preact_1.h)(SafeIcon_1.SafeIcon, { fill: theme === \"light\" ? \"#0A0B0D\" : \"#FFFFFF\" }))),\n (0, preact_1.h)(\"div\", { class: (0, clsx_1.default)(\"-cbwsdk-try-extension-list-item-copy\", theme) }, \"Add an additional layer of security by using a supported Ledger hardware wallet\"))))));\n}\nexports.TryExtensionContent = TryExtensionContent;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL1RyeUV4dGVuc2lvbkNvbnRlbnQvVHJ5RXh0ZW5zaW9uQ29udGVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkI7QUFDM0IsK0JBQStCLG1CQUFPLENBQUMsZ0RBQU07QUFDN0MsaUJBQWlCLG1CQUFPLENBQUMsMkRBQVE7QUFDakMsZ0JBQWdCLG1CQUFPLENBQUMsc0VBQWM7QUFDdEMsd0JBQXdCLG1CQUFPLENBQUMsMEdBQXdCO0FBQ3hELHFCQUFxQixtQkFBTyxDQUFDLG9HQUFxQjtBQUNsRCxtQkFBbUIsbUJBQU8sQ0FBQyxnR0FBbUI7QUFDOUMsa0RBQWtELG1CQUFPLENBQUMscUlBQTJCO0FBQ3JGLCtCQUErQixPQUFPO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLHFDQUFxQyw0REFBNEQ7QUFDakc7QUFDQSxpQ0FBaUMsNENBQTRDO0FBQzdFLG9DQUFvQyxvRUFBb0U7QUFDeEcscUNBQXFDLDRDQUE0QztBQUNqRiw0Q0FBNEMsc0ZBQXNGO0FBQ2xJLDJHQUEyRywwRkFBMEY7QUFDck0saUNBQWlDLDRDQUE0QztBQUM3RSxvQ0FBb0MscUNBQXFDO0FBQ3pFLHdDQUF3QywwQ0FBMEM7QUFDbEYsNkNBQTZDLHVEQUF1RDtBQUNwRyxrREFBa0QsMkVBQTJFO0FBQzdILHVFQUF1RSxpREFBaUQ7QUFDeEgsNkNBQTZDLDJFQUEyRTtBQUN4SCx3Q0FBd0MsMENBQTBDO0FBQ2xGLDZDQUE2Qyx1REFBdUQ7QUFDcEcsa0RBQWtELDJFQUEyRTtBQUM3SCxtRUFBbUUsaURBQWlEO0FBQ3BILDZDQUE2QywyRUFBMkU7QUFDeEg7QUFDQSwyQkFBMkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9UcnlFeHRlbnNpb25Db250ZW50L1RyeUV4dGVuc2lvbkNvbnRlbnQuanM/NjU1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UcnlFeHRlbnNpb25Db250ZW50ID0gdm9pZCAwO1xuY29uc3QgY2xzeF8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJjbHN4XCIpKTtcbmNvbnN0IHByZWFjdF8xID0gcmVxdWlyZShcInByZWFjdFwiKTtcbmNvbnN0IGhvb2tzXzEgPSByZXF1aXJlKFwicHJlYWN0L2hvb2tzXCIpO1xuY29uc3QgQXJyb3dMZWZ0SWNvbl8xID0gcmVxdWlyZShcIi4uL2ljb25zL0Fycm93TGVmdEljb25cIik7XG5jb25zdCBMYXB0b3BJY29uXzEgPSByZXF1aXJlKFwiLi4vaWNvbnMvTGFwdG9wSWNvblwiKTtcbmNvbnN0IFNhZmVJY29uXzEgPSByZXF1aXJlKFwiLi4vaWNvbnMvU2FmZUljb25cIik7XG5jb25zdCBUcnlFeHRlbnNpb25Db250ZW50X2Nzc18xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuL1RyeUV4dGVuc2lvbkNvbnRlbnQtY3NzXCIpKTtcbmZ1bmN0aW9uIFRyeUV4dGVuc2lvbkNvbnRlbnQoeyB0aGVtZSB9KSB7XG4gICAgY29uc3QgW2NsaWNrZWQsIHNldENsaWNrZWRdID0gKDAsIGhvb2tzXzEudXNlU3RhdGUpKGZhbHNlKTtcbiAgICBjb25zdCBoYW5kbGVJbnN0YWxsQ2xpY2sgPSAoMCwgaG9va3NfMS51c2VDYWxsYmFjaykoKCkgPT4ge1xuICAgICAgICB3aW5kb3cub3BlbihcImh0dHBzOi8vYXBpLndhbGxldC5jb2luYmFzZS5jb20vcnBjL3YyL2Rlc2t0b3AvY2hyb21lXCIsIFwiX2JsYW5rXCIpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVDbGljayA9ICgwLCBob29rc18xLnVzZUNhbGxiYWNrKSgoKSA9PiB7XG4gICAgICAgIGlmIChjbGlja2VkKSB7XG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBoYW5kbGVJbnN0YWxsQ2xpY2soKTtcbiAgICAgICAgICAgIHNldENsaWNrZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbaGFuZGxlSW5zdGFsbENsaWNrLCBjbGlja2VkXSk7XG4gICAgcmV0dXJuICgoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogKDAsIGNsc3hfMS5kZWZhdWx0KShcIi1jYndzZGstdHJ5LWV4dGVuc2lvblwiLCB0aGVtZSkgfSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwic3R5bGVcIiwgbnVsbCwgVHJ5RXh0ZW5zaW9uQ29udGVudF9jc3NfMS5kZWZhdWx0KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6IFwiLWNid3Nkay10cnktZXh0ZW5zaW9uLWNvbHVtbi1oYWxmXCIgfSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImgzXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXRyeS1leHRlbnNpb24taGVhZGluZ1wiLCB0aGVtZSkgfSwgXCJPciB0cnkgdGhlIENvaW5iYXNlIFdhbGxldCBicm93c2VyIGV4dGVuc2lvblwiKSxcbiAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiBcIi1jYndzZGstdHJ5LWV4dGVuc2lvbi1jdGEtd3JhcHBlclwiIH0sXG4gICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiYnV0dG9uXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXRyeS1leHRlbnNpb24tY3RhXCIsIHRoZW1lKSwgb25DbGljazogaGFuZGxlQ2xpY2sgfSwgY2xpY2tlZCA/IFwiUmVmcmVzaFwiIDogXCJJbnN0YWxsXCIpLFxuICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCBudWxsLCAhY2xpY2tlZCAmJiAoKDAsIHByZWFjdF8xLmgpKEFycm93TGVmdEljb25fMS5BcnJvd0xlZnRJY29uLCB7IGNsYXNzOiBcIi1jYndzZGstdHJ5LWV4dGVuc2lvbi1jdGEtaWNvblwiLCBmaWxsOiB0aGVtZSA9PT0gXCJsaWdodFwiID8gXCIjMDA1MkZGXCIgOiBcIiM1ODhBRjVcIiB9KSkpKSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiBcIi1jYndzZGstdHJ5LWV4dGVuc2lvbi1jb2x1bW4taGFsZlwiIH0sXG4gICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJ1bFwiLCB7IGNsYXNzOiBcIi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0XCIgfSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJsaVwiLCB7IGNsYXNzOiBcIi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0LWl0ZW1cIiB9LFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogXCItY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWljb24td3JhcHBlclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzcGFuXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWljb25cIiwgdGhlbWUpIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKExhcHRvcEljb25fMS5MYXB0b3BJY29uLCB7IGZpbGw6IHRoZW1lID09PSBcImxpZ2h0XCIgPyBcIiMwQTBCMERcIiA6IFwiI0ZGRkZGRlwiIH0pKSksXG4gICAgICAgICAgICAgICAgICAgICgwLCBwcmVhY3RfMS5oKShcImRpdlwiLCB7IGNsYXNzOiAoMCwgY2xzeF8xLmRlZmF1bHQpKFwiLWNid3Nkay10cnktZXh0ZW5zaW9uLWxpc3QtaXRlbS1jb3B5XCIsIHRoZW1lKSB9LCBcIkNvbm5lY3Qgd2l0aCBkYXBwcyB3aXRoIGp1c3Qgb25lIGNsaWNrIG9uIHlvdXIgZGVza3RvcCBicm93c2VyXCIpKSxcbiAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJsaVwiLCB7IGNsYXNzOiBcIi1jYndzZGstdHJ5LWV4dGVuc2lvbi1saXN0LWl0ZW1cIiB9LFxuICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJkaXZcIiwgeyBjbGFzczogXCItY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWljb24td3JhcHBlclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJzcGFuXCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWljb25cIiwgdGhlbWUpIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFNhZmVJY29uXzEuU2FmZUljb24sIHsgZmlsbDogdGhlbWUgPT09IFwibGlnaHRcIiA/IFwiIzBBMEIwRFwiIDogXCIjRkZGRkZGXCIgfSkpKSxcbiAgICAgICAgICAgICAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwiZGl2XCIsIHsgY2xhc3M6ICgwLCBjbHN4XzEuZGVmYXVsdCkoXCItY2J3c2RrLXRyeS1leHRlbnNpb24tbGlzdC1pdGVtLWNvcHlcIiwgdGhlbWUpIH0sIFwiQWRkIGFuIGFkZGl0aW9uYWwgbGF5ZXIgb2Ygc2VjdXJpdHkgYnkgdXNpbmcgYSBzdXBwb3J0ZWQgTGVkZ2VyIGhhcmR3YXJlIHdhbGxldFwiKSkpKSkpO1xufVxuZXhwb3J0cy5UcnlFeHRlbnNpb25Db250ZW50ID0gVHJ5RXh0ZW5zaW9uQ29udGVudDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/TryExtensionContent/TryExtensionContent.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/ArrowLeftIcon.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/ArrowLeftIcon.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArrowLeftIcon = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nfunction ArrowLeftIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M8.60675 0.155884L7.37816 1.28209L12.7723 7.16662H0V8.83328H12.6548L6.82149 14.6666L8 15.8451L15.8201 8.02501L8.60675 0.155884Z\" })));\n}\nexports.ArrowLeftIcon = ArrowLeftIcon;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL0Fycm93TGVmdEljb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QscUJBQXFCO0FBQ3JCLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFRO0FBQ2pDO0FBQ0EsbURBQW1ELHNGQUFzRjtBQUN6SSxrQ0FBa0Msc0lBQXNJO0FBQ3hLO0FBQ0EscUJBQXFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2NvbXBvbmVudHMvaWNvbnMvQXJyb3dMZWZ0SWNvbi5qcz83OGQ4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BcnJvd0xlZnRJY29uID0gdm9pZCAwO1xuY29uc3QgcHJlYWN0XzEgPSByZXF1aXJlKFwicHJlYWN0XCIpO1xuZnVuY3Rpb24gQXJyb3dMZWZ0SWNvbihwcm9wcykge1xuICAgIHJldHVybiAoKDAsIHByZWFjdF8xLmgpKFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oeyB3aWR0aDogXCIxNlwiLCBoZWlnaHQ6IFwiMTZcIiwgdmlld0JveDogXCIwIDAgMTYgMTZcIiwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB9LCBwcm9wcyksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBkOiBcIk04LjYwNjc1IDAuMTU1ODg0TDcuMzc4MTYgMS4yODIwOUwxMi43NzIzIDcuMTY2NjJIMFY4LjgzMzI4SDEyLjY1NDhMNi44MjE0OSAxNC42NjY2TDggMTUuODQ1MUwxNS44MjAxIDguMDI1MDFMOC42MDY3NSAwLjE1NTg4NFpcIiB9KSkpO1xufVxuZXhwb3J0cy5BcnJvd0xlZnRJY29uID0gQXJyb3dMZWZ0SWNvbjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/ArrowLeftIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/CloseIcon.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/CloseIcon.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloseIcon = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nfunction CloseIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"40\", height: \"40\", viewBox: \"0 0 40 40\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M13.7677 13L12.3535 14.4142L18.3535 20.4142L12.3535 26.4142L13.7677 27.8284L19.7677 21.8284L25.7677 27.8284L27.1819 26.4142L21.1819 20.4142L27.1819 14.4142L25.7677 13L19.7677 19L13.7677 13Z\" })));\n}\nexports.CloseIcon = CloseIcon;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL0Nsb3NlSWNvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsaUJBQWlCLG1CQUFPLENBQUMsMkRBQVE7QUFDakM7QUFDQSxtREFBbUQsb0dBQW9HO0FBQ3ZKLGtDQUFrQyxvTUFBb007QUFDdE87QUFDQSxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9pY29ucy9DbG9zZUljb24uanM/M2QwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQ2xvc2VJY29uID0gdm9pZCAwO1xuY29uc3QgcHJlYWN0XzEgPSByZXF1aXJlKFwicHJlYWN0XCIpO1xuZnVuY3Rpb24gQ2xvc2VJY29uKHByb3BzKSB7XG4gICAgcmV0dXJuICgoMCwgcHJlYWN0XzEuaCkoXCJzdmdcIiwgT2JqZWN0LmFzc2lnbih7IHdpZHRoOiBcIjQwXCIsIGhlaWdodDogXCI0MFwiLCB2aWV3Qm94OiBcIjAgMCA0MCA0MFwiLCBmaWxsOiBcIm5vbmVcIiwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB9LCBwcm9wcyksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBkOiBcIk0xMy43Njc3IDEzTDEyLjM1MzUgMTQuNDE0MkwxOC4zNTM1IDIwLjQxNDJMMTIuMzUzNSAyNi40MTQyTDEzLjc2NzcgMjcuODI4NEwxOS43Njc3IDIxLjgyODRMMjUuNzY3NyAyNy44Mjg0TDI3LjE4MTkgMjYuNDE0MkwyMS4xODE5IDIwLjQxNDJMMjcuMTgxOSAxNC40MTQyTDI1Ljc2NzcgMTNMMTkuNzY3NyAxOUwxMy43Njc3IDEzWlwiIH0pKSk7XG59XG5leHBvcnRzLkNsb3NlSWNvbiA9IENsb3NlSWNvbjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/CloseIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/LaptopIcon.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/LaptopIcon.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LaptopIcon = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nfunction LaptopIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M13.4001 10.2002H0.600098C0.600098 11.0838 1.31644 11.8002 2.2001 11.8002H11.8001C12.6838 11.8002 13.4001 11.0838 13.4001 10.2002Z\" })));\n}\nexports.LaptopIcon = LaptopIcon;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL0xhcHRvcEljb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCO0FBQ2xCLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFRO0FBQ2pDO0FBQ0EsbURBQW1ELHNGQUFzRjtBQUN6SSxrQ0FBa0MsaUdBQWlHO0FBQ25JLGtDQUFrQyx5SUFBeUk7QUFDM0s7QUFDQSxrQkFBa0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9pY29ucy9MYXB0b3BJY29uLmpzP2U1NTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkxhcHRvcEljb24gPSB2b2lkIDA7XG5jb25zdCBwcmVhY3RfMSA9IHJlcXVpcmUoXCJwcmVhY3RcIik7XG5mdW5jdGlvbiBMYXB0b3BJY29uKHByb3BzKSB7XG4gICAgcmV0dXJuICgoMCwgcHJlYWN0XzEuaCkoXCJzdmdcIiwgT2JqZWN0LmFzc2lnbih7IHdpZHRoOiBcIjE0XCIsIGhlaWdodDogXCIxNFwiLCB2aWV3Qm94OiBcIjAgMCAxNCAxNFwiLCB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIH0sIHByb3BzKSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwicGF0aFwiLCB7IGQ6IFwiTTEuODAwMSAyLjIwMDJIMTIuMjAwMVY5LjQwMDE5SDEuODAwMVYyLjIwMDJaTTMuNDAwMSAzLjgwMDJWNy44MDAxOUgxMC42MDAxVjMuODAwMkgzLjQwMDFaXCIgfSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBkOiBcIk0xMy40MDAxIDEwLjIwMDJIMC42MDAwOThDMC42MDAwOTggMTEuMDgzOCAxLjMxNjQ0IDExLjgwMDIgMi4yMDAxIDExLjgwMDJIMTEuODAwMUMxMi42ODM4IDExLjgwMDIgMTMuNDAwMSAxMS4wODM4IDEzLjQwMDEgMTAuMjAwMlpcIiB9KSkpO1xufVxuZXhwb3J0cy5MYXB0b3BJY29uID0gTGFwdG9wSWNvbjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/LaptopIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRCodeIcon.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRCodeIcon.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.QRCodeIcon = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nfunction QRCodeIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"10\", height: \"10\", viewBox: \"0 0 10 10\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { d: \"M8.2271 1.77124L7.0271 1.77124V2.97124H8.2271V1.77124Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M5.44922 0.199219L5.44922 4.54922L9.79922 4.54922V0.199219L5.44922 0.199219ZM8.89922 3.64922L6.34922 3.64922L6.34922 1.09922L8.89922 1.09922V3.64922Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M2.97124 1.77124L1.77124 1.77124L1.77124 2.97124H2.97124V1.77124Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M0.199219 4.54922L4.54922 4.54922L4.54922 0.199219L0.199219 0.199219L0.199219 4.54922ZM1.09922 1.09922L3.64922 1.09922L3.64922 3.64922L1.09922 3.64922L1.09922 1.09922Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M2.97124 7.0271H1.77124L1.77124 8.2271H2.97124V7.0271Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M0.199219 9.79922H4.54922L4.54922 5.44922L0.199219 5.44922L0.199219 9.79922ZM1.09922 6.34922L3.64922 6.34922L3.64922 8.89922H1.09922L1.09922 6.34922Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M8.89922 7.39912H7.99922V5.40112H5.44922L5.44922 9.79912H6.34922L6.34922 6.30112H7.09922V8.29912H9.79922V5.40112H8.89922V7.39912Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M7.99912 8.89917H7.09912V9.79917H7.99912V8.89917Z\" }),\n (0, preact_1.h)(\"path\", { d: \"M9.79917 8.89917H8.89917V9.79917H9.79917V8.89917Z\" })));\n}\nexports.QRCodeIcon = QRCodeIcon;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1FSQ29kZUljb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCO0FBQ2xCLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFRO0FBQ2pDO0FBQ0EsbURBQW1ELHNGQUFzRjtBQUN6SSxrQ0FBa0MsNkRBQTZEO0FBQy9GLGtDQUFrQyw0SkFBNEo7QUFDOUwsa0NBQWtDLHdFQUF3RTtBQUMxRyxrQ0FBa0MsOEtBQThLO0FBQ2hOLGtDQUFrQyw2REFBNkQ7QUFDL0Ysa0NBQWtDLDRKQUE0SjtBQUM5TCxrQ0FBa0Msd0lBQXdJO0FBQzFLLGtDQUFrQyx3REFBd0Q7QUFDMUYsa0NBQWtDLHdEQUF3RDtBQUMxRjtBQUNBLGtCQUFrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1FSQ29kZUljb24uanM/ZGU3YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUVJDb2RlSWNvbiA9IHZvaWQgMDtcbmNvbnN0IHByZWFjdF8xID0gcmVxdWlyZShcInByZWFjdFwiKTtcbmZ1bmN0aW9uIFFSQ29kZUljb24ocHJvcHMpIHtcbiAgICByZXR1cm4gKCgwLCBwcmVhY3RfMS5oKShcInN2Z1wiLCBPYmplY3QuYXNzaWduKHsgd2lkdGg6IFwiMTBcIiwgaGVpZ2h0OiBcIjEwXCIsIHZpZXdCb3g6IFwiMCAwIDEwIDEwXCIsIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgfSwgcHJvcHMpLFxuICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJwYXRoXCIsIHsgZDogXCJNOC4yMjcxIDEuNzcxMjRMNy4wMjcxIDEuNzcxMjRWMi45NzEyNEg4LjIyNzFWMS43NzEyNFpcIiB9KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwicGF0aFwiLCB7IGQ6IFwiTTUuNDQ5MjIgMC4xOTkyMTlMNS40NDkyMiA0LjU0OTIyTDkuNzk5MjIgNC41NDkyMlYwLjE5OTIxOUw1LjQ0OTIyIDAuMTk5MjE5Wk04Ljg5OTIyIDMuNjQ5MjJMNi4zNDkyMiAzLjY0OTIyTDYuMzQ5MjIgMS4wOTkyMkw4Ljg5OTIyIDEuMDk5MjJWMy42NDkyMlpcIiB9KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwicGF0aFwiLCB7IGQ6IFwiTTIuOTcxMjQgMS43NzEyNEwxLjc3MTI0IDEuNzcxMjRMMS43NzEyNCAyLjk3MTI0SDIuOTcxMjRWMS43NzEyNFpcIiB9KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwicGF0aFwiLCB7IGQ6IFwiTTAuMTk5MjE5IDQuNTQ5MjJMNC41NDkyMiA0LjU0OTIyTDQuNTQ5MjIgMC4xOTkyMTlMMC4xOTkyMTkgMC4xOTkyMTlMMC4xOTkyMTkgNC41NDkyMlpNMS4wOTkyMiAxLjA5OTIyTDMuNjQ5MjIgMS4wOTkyMkwzLjY0OTIyIDMuNjQ5MjJMMS4wOTkyMiAzLjY0OTIyTDEuMDk5MjIgMS4wOTkyMlpcIiB9KSxcbiAgICAgICAgKDAsIHByZWFjdF8xLmgpKFwicGF0aFwiLCB7IGQ6IFwiTTIuOTcxMjQgNy4wMjcxSDEuNzcxMjRMMS43NzEyNCA4LjIyNzFIMi45NzEyNFY3LjAyNzFaXCIgfSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBkOiBcIk0wLjE5OTIxOSA5Ljc5OTIySDQuNTQ5MjJMNC41NDkyMiA1LjQ0OTIyTDAuMTk5MjE5IDUuNDQ5MjJMMC4xOTkyMTkgOS43OTkyMlpNMS4wOTkyMiA2LjM0OTIyTDMuNjQ5MjIgNi4zNDkyMkwzLjY0OTIyIDguODk5MjJIMS4wOTkyMkwxLjA5OTIyIDYuMzQ5MjJaXCIgfSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBkOiBcIk04Ljg5OTIyIDcuMzk5MTJINy45OTkyMlY1LjQwMTEySDUuNDQ5MjJMNS40NDkyMiA5Ljc5OTEySDYuMzQ5MjJMNi4zNDkyMiA2LjMwMTEySDcuMDk5MjJWOC4yOTkxMkg5Ljc5OTIyVjUuNDAxMTJIOC44OTkyMlY3LjM5OTEyWlwiIH0pLFxuICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJwYXRoXCIsIHsgZDogXCJNNy45OTkxMiA4Ljg5OTE3SDcuMDk5MTJWOS43OTkxN0g3Ljk5OTEyVjguODk5MTdaXCIgfSksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBkOiBcIk05Ljc5OTE3IDguODk5MTdIOC44OTkxN1Y5Ljc5OTE3SDkuNzk5MTdWOC44OTkxN1pcIiB9KSkpO1xufVxuZXhwb3J0cy5RUkNvZGVJY29uID0gUVJDb2RlSWNvbjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRCodeIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoCoinbase.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoCoinbase.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst svg = `\n <svg width=\"100\" height=\"100\" viewBox=\"0 0 100 100\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M50 100C77.6142 100 100 77.6142 100 50C100 22.3858 77.6142 0 50 0C22.3858 0 0 22.3858 0 50C0 77.6142 22.3858 100 50 100Z\" fill=\"white\"/>\n <path d=\"M50.512 94C74.2907 94 93.5673 74.5244 93.5673 50.5C93.5673 26.4756 74.2907 7 50.512 7C26.7332 7 7.45667 26.4756 7.45667 50.5C7.45667 74.5244 26.7332 94 50.512 94Z\" fill=\"#0052FF\"/>\n <path d=\"M50.6248 65.4335C42.3697 65.4335 35.8996 58.7469 35.8996 50.5C35.8996 42.2531 42.5928 35.5664 50.6248 35.5664C57.9873 35.5664 64.0111 40.9157 65.1267 48.0481H80.0749C78.7363 32.6688 66.0191 20.6328 50.6248 20.6328C34.3379 20.6328 20.9514 34.0062 20.9514 50.5C20.9514 66.9936 34.1148 80.3671 50.6248 80.3671C66.2422 80.3671 78.7363 68.331 80.0749 52.9516H65.1267C64.0111 60.0841 57.9873 65.4335 50.6248 65.4335Z\" fill=\"white\"/>\n </svg>\n`;\nexports[\"default\"] = svg;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1FSTG9nb0NvaW5iYXNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29tcG9uZW50cy9pY29ucy9RUkxvZ29Db2luYmFzZS5qcz85NGMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3Qgc3ZnID0gYFxuICAgIDxzdmcgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCIxMDBcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZD1cIk01MCAxMDBDNzcuNjE0MiAxMDAgMTAwIDc3LjYxNDIgMTAwIDUwQzEwMCAyMi4zODU4IDc3LjYxNDIgMCA1MCAwQzIyLjM4NTggMCAwIDIyLjM4NTggMCA1MEMwIDc3LjYxNDIgMjIuMzg1OCAxMDAgNTAgMTAwWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPHBhdGggZD1cIk01MC41MTIgOTRDNzQuMjkwNyA5NCA5My41NjczIDc0LjUyNDQgOTMuNTY3MyA1MC41QzkzLjU2NzMgMjYuNDc1NiA3NC4yOTA3IDcgNTAuNTEyIDdDMjYuNzMzMiA3IDcuNDU2NjcgMjYuNDc1NiA3LjQ1NjY3IDUwLjVDNy40NTY2NyA3NC41MjQ0IDI2LjczMzIgOTQgNTAuNTEyIDk0WlwiIGZpbGw9XCIjMDA1MkZGXCIvPlxuICAgICAgICA8cGF0aCBkPVwiTTUwLjYyNDggNjUuNDMzNUM0Mi4zNjk3IDY1LjQzMzUgMzUuODk5NiA1OC43NDY5IDM1Ljg5OTYgNTAuNUMzNS44OTk2IDQyLjI1MzEgNDIuNTkyOCAzNS41NjY0IDUwLjYyNDggMzUuNTY2NEM1Ny45ODczIDM1LjU2NjQgNjQuMDExMSA0MC45MTU3IDY1LjEyNjcgNDguMDQ4MUg4MC4wNzQ5Qzc4LjczNjMgMzIuNjY4OCA2Ni4wMTkxIDIwLjYzMjggNTAuNjI0OCAyMC42MzI4QzM0LjMzNzkgMjAuNjMyOCAyMC45NTE0IDM0LjAwNjIgMjAuOTUxNCA1MC41QzIwLjk1MTQgNjYuOTkzNiAzNC4xMTQ4IDgwLjM2NzEgNTAuNjI0OCA4MC4zNjcxQzY2LjI0MjIgODAuMzY3MSA3OC43MzYzIDY4LjMzMSA4MC4wNzQ5IDUyLjk1MTZINjUuMTI2N0M2NC4wMTExIDYwLjA4NDEgNTcuOTg3MyA2NS40MzM1IDUwLjYyNDggNjUuNDMzNVpcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgPC9zdmc+XG5gO1xuZXhwb3J0cy5kZWZhdWx0ID0gc3ZnO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoCoinbase.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoWallet.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoWallet.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `\n <svg width=\"100\" height=\"100\" viewBox=\"0 0 100 100\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"50\" cy=\"50\" r=\"50\" fill=\"white\"/>\n <circle cx=\"49.9996\" cy=\"49.9996\" r=\"43.6363\" fill=\"#1B53E4\"/>\n <circle cx=\"49.9996\" cy=\"49.9996\" r=\"43.6363\" stroke=\"white\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.3379 49.9484C19.3379 66.8508 33.04 80.553 49.9425 80.553C66.8449 80.553 80.5471 66.8508 80.5471 49.9484C80.5471 33.0459 66.8449 19.3438 49.9425 19.3438C33.04 19.3438 19.3379 33.0459 19.3379 49.9484ZM44.0817 40.0799C41.8725 40.0799 40.0817 41.8708 40.0817 44.0799V55.8029C40.0817 58.012 41.8725 59.8029 44.0817 59.8029H55.8046C58.0138 59.8029 59.8046 58.012 59.8046 55.8029V44.0799C59.8046 41.8708 58.0138 40.0799 55.8046 40.0799H44.0817Z\" fill=\"white\"/>\n </svg>\n`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1FSTG9nb1dhbGxldC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2NvbXBvbmVudHMvaWNvbnMvUVJMb2dvV2FsbGV0LmpzPzljOTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlZmF1bHQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMFwiIGhlaWdodD1cIjEwMFwiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjUwXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiNDkuOTk5NlwiIGN5PVwiNDkuOTk5NlwiIHI9XCI0My42MzYzXCIgZmlsbD1cIiMxQjUzRTRcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI0OS45OTk2XCIgY3k9XCI0OS45OTk2XCIgcj1cIjQzLjYzNjNcIiBzdHJva2U9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE5LjMzNzkgNDkuOTQ4NEMxOS4zMzc5IDY2Ljg1MDggMzMuMDQgODAuNTUzIDQ5Ljk0MjUgODAuNTUzQzY2Ljg0NDkgODAuNTUzIDgwLjU0NzEgNjYuODUwOCA4MC41NDcxIDQ5Ljk0ODRDODAuNTQ3MSAzMy4wNDU5IDY2Ljg0NDkgMTkuMzQzOCA0OS45NDI1IDE5LjM0MzhDMzMuMDQgMTkuMzQzOCAxOS4zMzc5IDMzLjA0NTkgMTkuMzM3OSA0OS45NDg0Wk00NC4wODE3IDQwLjA3OTlDNDEuODcyNSA0MC4wNzk5IDQwLjA4MTcgNDEuODcwOCA0MC4wODE3IDQ0LjA3OTlWNTUuODAyOUM0MC4wODE3IDU4LjAxMiA0MS44NzI1IDU5LjgwMjkgNDQuMDgxNyA1OS44MDI5SDU1LjgwNDZDNTguMDEzOCA1OS44MDI5IDU5LjgwNDYgNTguMDEyIDU5LjgwNDYgNTUuODAyOVY0NC4wNzk5QzU5LjgwNDYgNDEuODcwOCA1OC4wMTM4IDQwLjA3OTkgNTUuODA0NiA0MC4wNzk5SDQ0LjA4MTdaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgIDwvc3ZnPlxuYDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/QRLogoWallet.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/SafeIcon.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/SafeIcon.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SafeIcon = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nfunction SafeIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { \"fill-rule\": \"evenodd\", \"clip-rule\": \"evenodd\", d: \"M0.600098 0.600098V11.8001H13.4001V0.600098H0.600098ZM7.0001 9.2001C5.3441 9.2001 4.0001 7.8561 4.0001 6.2001C4.0001 4.5441 5.3441 3.2001 7.0001 3.2001C8.6561 3.2001 10.0001 4.5441 10.0001 6.2001C10.0001 7.8561 8.6561 9.2001 7.0001 9.2001ZM0.600098 12.6001H3.8001V13.4001H0.600098V12.6001ZM10.2001 12.6001H13.4001V13.4001H10.2001V12.6001ZM8.8001 6.2001C8.8001 7.19421 7.99421 8.0001 7.0001 8.0001C6.00598 8.0001 5.2001 7.19421 5.2001 6.2001C5.2001 5.20598 6.00598 4.4001 7.0001 4.4001C7.99421 4.4001 8.8001 5.20598 8.8001 6.2001Z\" })));\n}\nexports.SafeIcon = SafeIcon;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1NhZmVJY29uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdCQUFnQjtBQUNoQixpQkFBaUIsbUJBQU8sQ0FBQywyREFBUTtBQUNqQztBQUNBLG1EQUFtRCxzRkFBc0Y7QUFDekksa0NBQWtDLHdrQkFBd2tCO0FBQzFtQjtBQUNBLGdCQUFnQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1NhZmVJY29uLmpzPzM3YTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlNhZmVJY29uID0gdm9pZCAwO1xuY29uc3QgcHJlYWN0XzEgPSByZXF1aXJlKFwicHJlYWN0XCIpO1xuZnVuY3Rpb24gU2FmZUljb24ocHJvcHMpIHtcbiAgICByZXR1cm4gKCgwLCBwcmVhY3RfMS5oKShcInN2Z1wiLCBPYmplY3QuYXNzaWduKHsgd2lkdGg6IFwiMTRcIiwgaGVpZ2h0OiBcIjE0XCIsIHZpZXdCb3g6IFwiMCAwIDE0IDE0XCIsIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgfSwgcHJvcHMpLFxuICAgICAgICAoMCwgcHJlYWN0XzEuaCkoXCJwYXRoXCIsIHsgXCJmaWxsLXJ1bGVcIjogXCJldmVub2RkXCIsIFwiY2xpcC1ydWxlXCI6IFwiZXZlbm9kZFwiLCBkOiBcIk0wLjYwMDA5OCAwLjYwMDA5OFYxMS44MDAxSDEzLjQwMDFWMC42MDAwOThIMC42MDAwOThaTTcuMDAwMSA5LjIwMDFDNS4zNDQxIDkuMjAwMSA0LjAwMDEgNy44NTYxIDQuMDAwMSA2LjIwMDFDNC4wMDAxIDQuNTQ0MSA1LjM0NDEgMy4yMDAxIDcuMDAwMSAzLjIwMDFDOC42NTYxIDMuMjAwMSAxMC4wMDAxIDQuNTQ0MSAxMC4wMDAxIDYuMjAwMUMxMC4wMDAxIDcuODU2MSA4LjY1NjEgOS4yMDAxIDcuMDAwMSA5LjIwMDFaTTAuNjAwMDk4IDEyLjYwMDFIMy44MDAxVjEzLjQwMDFIMC42MDAwOThWMTIuNjAwMVpNMTAuMjAwMSAxMi42MDAxSDEzLjQwMDFWMTMuNDAwMUgxMC4yMDAxVjEyLjYwMDFaTTguODAwMSA2LjIwMDFDOC44MDAxIDcuMTk0MjEgNy45OTQyMSA4LjAwMDEgNy4wMDAxIDguMDAwMUM2LjAwNTk4IDguMDAwMSA1LjIwMDEgNy4xOTQyMSA1LjIwMDEgNi4yMDAxQzUuMjAwMSA1LjIwNTk4IDYuMDA1OTggNC40MDAxIDcuMDAwMSA0LjQwMDFDNy45OTQyMSA0LjQwMDEgOC44MDAxIDUuMjA1OTggOC44MDAxIDYuMjAwMVpcIiB9KSkpO1xufVxuZXhwb3J0cy5TYWZlSWNvbiA9IFNhZmVJY29uO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/SafeIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/StatusDotIcon.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/StatusDotIcon.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StatusDotIcon = void 0;\nconst preact_1 = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nfunction StatusDotIcon(props) {\n return ((0, preact_1.h)(\"svg\", Object.assign({ width: \"10\", height: \"10\", viewBox: \"0 0 10 10\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n (0, preact_1.h)(\"path\", { \"fill-rule\": \"evenodd\", \"clip-rule\": \"evenodd\", d: \"M2.29995 4.99995C2.29995 5.57985 1.82985 6.04995 1.24995 6.04995C0.670052 6.04995 0.199951 5.57985 0.199951 4.99995C0.199951 4.42005 0.670052 3.94995 1.24995 3.94995C1.82985 3.94995 2.29995 4.42005 2.29995 4.99995ZM4.99995 6.04995C5.57985 6.04995 6.04995 5.57985 6.04995 4.99995C6.04995 4.42005 5.57985 3.94995 4.99995 3.94995C4.42005 3.94995 3.94995 4.42005 3.94995 4.99995C3.94995 5.57985 4.42005 6.04995 4.99995 6.04995ZM8.74995 6.04995C9.32985 6.04995 9.79995 5.57985 9.79995 4.99995C9.79995 4.42005 9.32985 3.94995 8.74995 3.94995C8.17005 3.94995 7.69995 4.42005 7.69995 4.99995C7.69995 5.57985 8.17005 6.04995 8.74995 6.04995Z\" })));\n}\nexports.StatusDotIcon = StatusDotIcon;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL1N0YXR1c0RvdEljb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QscUJBQXFCO0FBQ3JCLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFRO0FBQ2pDO0FBQ0EsbURBQW1ELHNGQUFzRjtBQUN6SSxrQ0FBa0MsK3FCQUErcUI7QUFDanRCO0FBQ0EscUJBQXFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2NvbXBvbmVudHMvaWNvbnMvU3RhdHVzRG90SWNvbi5qcz9iZWU4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5TdGF0dXNEb3RJY29uID0gdm9pZCAwO1xuY29uc3QgcHJlYWN0XzEgPSByZXF1aXJlKFwicHJlYWN0XCIpO1xuZnVuY3Rpb24gU3RhdHVzRG90SWNvbihwcm9wcykge1xuICAgIHJldHVybiAoKDAsIHByZWFjdF8xLmgpKFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oeyB3aWR0aDogXCIxMFwiLCBoZWlnaHQ6IFwiMTBcIiwgdmlld0JveDogXCIwIDAgMTAgMTBcIiwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB9LCBwcm9wcyksXG4gICAgICAgICgwLCBwcmVhY3RfMS5oKShcInBhdGhcIiwgeyBcImZpbGwtcnVsZVwiOiBcImV2ZW5vZGRcIiwgXCJjbGlwLXJ1bGVcIjogXCJldmVub2RkXCIsIGQ6IFwiTTIuMjk5OTUgNC45OTk5NUMyLjI5OTk1IDUuNTc5ODUgMS44Mjk4NSA2LjA0OTk1IDEuMjQ5OTUgNi4wNDk5NUMwLjY3MDA1MiA2LjA0OTk1IDAuMTk5OTUxIDUuNTc5ODUgMC4xOTk5NTEgNC45OTk5NUMwLjE5OTk1MSA0LjQyMDA1IDAuNjcwMDUyIDMuOTQ5OTUgMS4yNDk5NSAzLjk0OTk1QzEuODI5ODUgMy45NDk5NSAyLjI5OTk1IDQuNDIwMDUgMi4yOTk5NSA0Ljk5OTk1Wk00Ljk5OTk1IDYuMDQ5OTVDNS41Nzk4NSA2LjA0OTk1IDYuMDQ5OTUgNS41Nzk4NSA2LjA0OTk1IDQuOTk5OTVDNi4wNDk5NSA0LjQyMDA1IDUuNTc5ODUgMy45NDk5NSA0Ljk5OTk1IDMuOTQ5OTVDNC40MjAwNSAzLjk0OTk1IDMuOTQ5OTUgNC40MjAwNSAzLjk0OTk1IDQuOTk5OTVDMy45NDk5NSA1LjU3OTg1IDQuNDIwMDUgNi4wNDk5NSA0Ljk5OTk1IDYuMDQ5OTVaTTguNzQ5OTUgNi4wNDk5NUM5LjMyOTg1IDYuMDQ5OTUgOS43OTk5NSA1LjU3OTg1IDkuNzk5OTUgNC45OTk5NUM5Ljc5OTk1IDQuNDIwMDUgOS4zMjk4NSAzLjk0OTk1IDguNzQ5OTUgMy45NDk5NUM4LjE3MDA1IDMuOTQ5OTUgNy42OTk5NSA0LjQyMDA1IDcuNjk5OTUgNC45OTk5NUM3LjY5OTk1IDUuNTc5ODUgOC4xNzAwNSA2LjA0OTk1IDguNzQ5OTUgNi4wNDk5NVpcIiB9KSkpO1xufVxuZXhwb3J0cy5TdGF0dXNEb3RJY29uID0gU3RhdHVzRG90SWNvbjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/StatusDotIcon.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-round-svg.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-round-svg.js ***! - \***************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTQiIGN5PSIxNCIgcj0iMTQiIGZpbGw9IiMwMDUyRkYiLz48cGF0aCBkPSJNMTQuMDM3IDE4LjkyNmMtMi43NSAwLTQuOTA3LTIuMjA1LTQuOTA3LTQuOTI2IDAtMi43MiAyLjIzLTQuOTI2IDQuOTA3LTQuOTI2YTQuODY2IDQuODY2IDAgMCAxIDQuODMzIDQuMTE4aDQuOTgyYy0uNDQ2LTUuMDczLTQuNjg0LTkuMDQ0LTkuODE1LTkuMDQ0QzguNjEgNC4xNDggNC4xNDkgOC41NiA0LjE0OSAxNHM0LjM4NyA5Ljg1MiA5Ljg5IDkuODUyYzUuMjA0IDAgOS4zNjgtMy45NyA5LjgxNC05LjA0M0gxOC44N2E0Ljg2NiA0Ljg2NiAwIDAgMS00LjgzMyA0LjExN1oiIGZpbGw9IiNmZmYiLz48L3N2Zz4=`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL2NvaW5iYXNlLXJvdW5kLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWUsdUJBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2NvbXBvbmVudHMvaWNvbnMvY29pbmJhc2Utcm91bmQtc3ZnLmpzPzUwYWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNamdpSUdobGFXZG9kRDBpTWpnaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR05wY21Oc1pTQmplRDBpTVRRaUlHTjVQU0l4TkNJZ2NqMGlNVFFpSUdacGJHdzlJaU13TURVeVJrWWlMejQ4Y0dGMGFDQmtQU0pOTVRRdU1ETTNJREU0TGpreU5tTXRNaTQzTlNBd0xUUXVPVEEzTFRJdU1qQTFMVFF1T1RBM0xUUXVPVEkySURBdE1pNDNNaUF5TGpJekxUUXVPVEkySURRdU9UQTNMVFF1T1RJMllUUXVPRFkySURRdU9EWTJJREFnTUNBeElEUXVPRE16SURRdU1URTRhRFF1T1RneVl5MHVORFEyTFRVdU1EY3pMVFF1TmpnMExUa3VNRFEwTFRrdU9ERTFMVGt1TURRMFF6Z3VOakVnTkM0eE5EZ2dOQzR4TkRrZ09DNDFOaUEwTGpFME9TQXhOSE0wTGpNNE55QTVMamcxTWlBNUxqZzVJRGt1T0RVeVl6VXVNakEwSURBZ09TNHpOamd0TXk0NU55QTVMamd4TkMwNUxqQTBNMGd4T0M0NE4yRTBMamcyTmlBMExqZzJOaUF3SURBZ01TMDBMamd6TXlBMExqRXhOMW9pSUdacGJHdzlJaU5tWm1ZaUx6NDhMM04yWno0PWA7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-round-svg.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-wallet-round-svg.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-wallet-round-svg.js ***! - \**********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTQiIGN5PSIxNCIgcj0iMTQiIGZpbGw9IiMwMDUyRkYiLz48cGF0aCBkPSJNMjMuODUyIDE0QTkuODM0IDkuODM0IDAgMCAxIDE0IDIzLjg1MiA5LjgzNCA5LjgzNCAwIDAgMSA0LjE0OCAxNCA5LjgzNCA5LjgzNCAwIDAgMSAxNCA0LjE0OCA5LjgzNCA5LjgzNCAwIDAgMSAyMy44NTIgMTRaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExLjE4NSAxMi41MDRjMC0uNDU2IDAtLjcxLjA5OC0uODYyLjA5OC0uMTUyLjE5Ni0uMzA0LjM0My0uMzU1LjE5Ni0uMTAyLjM5Mi0uMTAyLjg4MS0uMTAyaDIuOTg2Yy40OSAwIC42ODYgMCAuODgyLjEwMi4xNDYuMTAxLjI5My4yMDMuMzQyLjM1NS4wOTguMjAzLjA5OC40MDYuMDk4Ljg2MnYyLjk5MmMwIC40NTcgMCAuNzEtLjA5OC44NjMtLjA5OC4xNTItLjE5NS4zMDQtLjM0Mi4zNTUtLjE5Ni4xMDEtLjM5Mi4xMDEtLjg4Mi4xMDFoLTIuOTg2Yy0uNDkgMC0uNjg1IDAtLjg4LS4xMDEtLjE0OC0uMTAyLS4yOTUtLjIwMy0uMzQ0LS4zNTUtLjA5OC0uMjAzLS4wOTgtLjQwNi0uMDk4LS44NjN2LTIuOTkyWiIgZmlsbD0iIzAwNTJGRiIvPjwvc3ZnPg==`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL2NvaW5iYXNlLXdhbGxldC1yb3VuZC1zdmcuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFlLHVCQUF1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb21wb25lbnRzL2ljb25zL2NvaW5iYXNlLXdhbGxldC1yb3VuZC1zdmcuanM/ZWVjNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gYGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qZ2lJR2hsYVdkb2REMGlNamdpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BHTnBjbU5zWlNCamVEMGlNVFFpSUdONVBTSXhOQ0lnY2owaU1UUWlJR1pwYkd3OUlpTXdNRFV5UmtZaUx6NDhjR0YwYUNCa1BTSk5Nak11T0RVeUlERTBRVGt1T0RNMElEa3VPRE0wSURBZ01DQXhJREUwSURJekxqZzFNaUE1TGpnek5DQTVMamd6TkNBd0lEQWdNU0EwTGpFME9DQXhOQ0E1TGpnek5DQTVMamd6TkNBd0lEQWdNU0F4TkNBMExqRTBPQ0E1TGpnek5DQTVMamd6TkNBd0lEQWdNU0F5TXk0NE5USWdNVFJhSWlCbWFXeHNQU0lqWm1abUlpOCtQSEJoZEdnZ1pEMGlUVEV4TGpFNE5TQXhNaTQxTURSak1DMHVORFUySURBdExqY3hMakE1T0MwdU9EWXlMakE1T0MwdU1UVXlMakU1TmkwdU16QTBMak0wTXkwdU16VTFMakU1TmkwdU1UQXlMak01TWkwdU1UQXlMamc0TVMwdU1UQXlhREl1T1RnMll5NDBPU0F3SUM0Mk9EWWdNQ0F1T0RneUxqRXdNaTR4TkRZdU1UQXhMakk1TXk0eU1ETXVNelF5TGpNMU5TNHdPVGd1TWpBekxqQTVPQzQwTURZdU1EazRMamcyTW5ZeUxqazVNbU13SUM0ME5UY2dNQ0F1TnpFdExqQTVPQzQ0TmpNdExqQTVPQzR4TlRJdExqRTVOUzR6TURRdExqTTBNaTR6TlRVdExqRTVOaTR4TURFdExqTTVNaTR4TURFdExqZzRNaTR4TURGb0xUSXVPVGcyWXkwdU5Ea2dNQzB1TmpnMUlEQXRMamc0TFM0eE1ERXRMakUwT0MwdU1UQXlMUzR5T1RVdExqSXdNeTB1TXpRMExTNHpOVFV0TGpBNU9DMHVNakF6TFM0d09UZ3RMalF3TmkwdU1EazRMUzQ0TmpOMkxUSXVPVGt5V2lJZ1ptbHNiRDBpSXpBd05USkdSaUl2UGp3dmMzWm5QZz09YDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/components/icons/coinbase-wallet-round-svg.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/connection/ClientMessage.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/connection/ClientMessage.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClientMessagePublishEvent = exports.ClientMessageSetSessionConfig = exports.ClientMessageGetSessionConfig = exports.ClientMessageIsLinked = exports.ClientMessageHostSession = void 0;\nfunction ClientMessageHostSession(params) {\n return Object.assign({ type: \"HostSession\" }, params);\n}\nexports.ClientMessageHostSession = ClientMessageHostSession;\nfunction ClientMessageIsLinked(params) {\n return Object.assign({ type: \"IsLinked\" }, params);\n}\nexports.ClientMessageIsLinked = ClientMessageIsLinked;\nfunction ClientMessageGetSessionConfig(params) {\n return Object.assign({ type: \"GetSessionConfig\" }, params);\n}\nexports.ClientMessageGetSessionConfig = ClientMessageGetSessionConfig;\nfunction ClientMessageSetSessionConfig(params) {\n return Object.assign({ type: \"SetSessionConfig\" }, params);\n}\nexports.ClientMessageSetSessionConfig = ClientMessageSetSessionConfig;\nfunction ClientMessagePublishEvent(params) {\n return Object.assign({ type: \"PublishEvent\" }, params);\n}\nexports.ClientMessagePublishEvent = ClientMessagePublishEvent;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL0NsaWVudE1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlDQUFpQyxHQUFHLHFDQUFxQyxHQUFHLHFDQUFxQyxHQUFHLDZCQUE2QixHQUFHLGdDQUFnQztBQUNwTDtBQUNBLDJCQUEyQixxQkFBcUI7QUFDaEQ7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQSwyQkFBMkIsa0JBQWtCO0FBQzdDO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0EsMkJBQTJCLDBCQUEwQjtBQUNyRDtBQUNBLHFDQUFxQztBQUNyQztBQUNBLDJCQUEyQiwwQkFBMEI7QUFDckQ7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQSwyQkFBMkIsc0JBQXNCO0FBQ2pEO0FBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2Nvbm5lY3Rpb24vQ2xpZW50TWVzc2FnZS5qcz8zODVhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNsaWVudE1lc3NhZ2VQdWJsaXNoRXZlbnQgPSBleHBvcnRzLkNsaWVudE1lc3NhZ2VTZXRTZXNzaW9uQ29uZmlnID0gZXhwb3J0cy5DbGllbnRNZXNzYWdlR2V0U2Vzc2lvbkNvbmZpZyA9IGV4cG9ydHMuQ2xpZW50TWVzc2FnZUlzTGlua2VkID0gZXhwb3J0cy5DbGllbnRNZXNzYWdlSG9zdFNlc3Npb24gPSB2b2lkIDA7XG5mdW5jdGlvbiBDbGllbnRNZXNzYWdlSG9zdFNlc3Npb24ocGFyYW1zKSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyB0eXBlOiBcIkhvc3RTZXNzaW9uXCIgfSwgcGFyYW1zKTtcbn1cbmV4cG9ydHMuQ2xpZW50TWVzc2FnZUhvc3RTZXNzaW9uID0gQ2xpZW50TWVzc2FnZUhvc3RTZXNzaW9uO1xuZnVuY3Rpb24gQ2xpZW50TWVzc2FnZUlzTGlua2VkKHBhcmFtcykge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdHlwZTogXCJJc0xpbmtlZFwiIH0sIHBhcmFtcyk7XG59XG5leHBvcnRzLkNsaWVudE1lc3NhZ2VJc0xpbmtlZCA9IENsaWVudE1lc3NhZ2VJc0xpbmtlZDtcbmZ1bmN0aW9uIENsaWVudE1lc3NhZ2VHZXRTZXNzaW9uQ29uZmlnKHBhcmFtcykge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdHlwZTogXCJHZXRTZXNzaW9uQ29uZmlnXCIgfSwgcGFyYW1zKTtcbn1cbmV4cG9ydHMuQ2xpZW50TWVzc2FnZUdldFNlc3Npb25Db25maWcgPSBDbGllbnRNZXNzYWdlR2V0U2Vzc2lvbkNvbmZpZztcbmZ1bmN0aW9uIENsaWVudE1lc3NhZ2VTZXRTZXNzaW9uQ29uZmlnKHBhcmFtcykge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdHlwZTogXCJTZXRTZXNzaW9uQ29uZmlnXCIgfSwgcGFyYW1zKTtcbn1cbmV4cG9ydHMuQ2xpZW50TWVzc2FnZVNldFNlc3Npb25Db25maWcgPSBDbGllbnRNZXNzYWdlU2V0U2Vzc2lvbkNvbmZpZztcbmZ1bmN0aW9uIENsaWVudE1lc3NhZ2VQdWJsaXNoRXZlbnQocGFyYW1zKSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyB0eXBlOiBcIlB1Ymxpc2hFdmVudFwiIH0sIHBhcmFtcyk7XG59XG5leHBvcnRzLkNsaWVudE1lc3NhZ2VQdWJsaXNoRXZlbnQgPSBDbGllbnRNZXNzYWdlUHVibGlzaEV2ZW50O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/connection/ClientMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/connection/DiagnosticLogger.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/connection/DiagnosticLogger.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// DiagnosticLogger for debugging purposes only\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EVENTS = void 0;\nexports.EVENTS = {\n STARTED_CONNECTING: \"walletlink_sdk.started.connecting\",\n CONNECTED_STATE_CHANGE: \"walletlink_sdk.connected\",\n DISCONNECTED: \"walletlink_sdk.disconnected\",\n METADATA_DESTROYED: \"walletlink_sdk_metadata_destroyed\",\n LINKED: \"walletlink_sdk.linked\",\n FAILURE: \"walletlink_sdk.generic_failure\",\n SESSION_CONFIG_RECEIVED: \"walletlink_sdk.session_config_event_received\",\n ETH_ACCOUNTS_STATE: \"walletlink_sdk.eth_accounts_state\",\n SESSION_STATE_CHANGE: \"walletlink_sdk.session_state_change\",\n UNLINKED_ERROR_STATE: \"walletlink_sdk.unlinked_error_state\",\n SKIPPED_CLEARING_SESSION: \"walletlink_sdk.skipped_clearing_session\",\n GENERAL_ERROR: \"walletlink_sdk.general_error\",\n WEB3_REQUEST: \"walletlink_sdk.web3.request\",\n WEB3_REQUEST_PUBLISHED: \"walletlink_sdk.web3.request_published\",\n WEB3_RESPONSE: \"walletlink_sdk.web3.response\",\n UNKNOWN_ADDRESS_ENCOUNTERED: \"walletlink_sdk.unknown_address_encountered\",\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL0RpYWdub3N0aWNMb2dnZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxjQUFjO0FBQ2QsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvY29ubmVjdGlvbi9EaWFnbm9zdGljTG9nZ2VyLmpzP2U5ZjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBEaWFnbm9zdGljTG9nZ2VyIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgb25seVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5FVkVOVFMgPSB2b2lkIDA7XG5leHBvcnRzLkVWRU5UUyA9IHtcbiAgICBTVEFSVEVEX0NPTk5FQ1RJTkc6IFwid2FsbGV0bGlua19zZGsuc3RhcnRlZC5jb25uZWN0aW5nXCIsXG4gICAgQ09OTkVDVEVEX1NUQVRFX0NIQU5HRTogXCJ3YWxsZXRsaW5rX3Nkay5jb25uZWN0ZWRcIixcbiAgICBESVNDT05ORUNURUQ6IFwid2FsbGV0bGlua19zZGsuZGlzY29ubmVjdGVkXCIsXG4gICAgTUVUQURBVEFfREVTVFJPWUVEOiBcIndhbGxldGxpbmtfc2RrX21ldGFkYXRhX2Rlc3Ryb3llZFwiLFxuICAgIExJTktFRDogXCJ3YWxsZXRsaW5rX3Nkay5saW5rZWRcIixcbiAgICBGQUlMVVJFOiBcIndhbGxldGxpbmtfc2RrLmdlbmVyaWNfZmFpbHVyZVwiLFxuICAgIFNFU1NJT05fQ09ORklHX1JFQ0VJVkVEOiBcIndhbGxldGxpbmtfc2RrLnNlc3Npb25fY29uZmlnX2V2ZW50X3JlY2VpdmVkXCIsXG4gICAgRVRIX0FDQ09VTlRTX1NUQVRFOiBcIndhbGxldGxpbmtfc2RrLmV0aF9hY2NvdW50c19zdGF0ZVwiLFxuICAgIFNFU1NJT05fU1RBVEVfQ0hBTkdFOiBcIndhbGxldGxpbmtfc2RrLnNlc3Npb25fc3RhdGVfY2hhbmdlXCIsXG4gICAgVU5MSU5LRURfRVJST1JfU1RBVEU6IFwid2FsbGV0bGlua19zZGsudW5saW5rZWRfZXJyb3Jfc3RhdGVcIixcbiAgICBTS0lQUEVEX0NMRUFSSU5HX1NFU1NJT046IFwid2FsbGV0bGlua19zZGsuc2tpcHBlZF9jbGVhcmluZ19zZXNzaW9uXCIsXG4gICAgR0VORVJBTF9FUlJPUjogXCJ3YWxsZXRsaW5rX3Nkay5nZW5lcmFsX2Vycm9yXCIsXG4gICAgV0VCM19SRVFVRVNUOiBcIndhbGxldGxpbmtfc2RrLndlYjMucmVxdWVzdFwiLFxuICAgIFdFQjNfUkVRVUVTVF9QVUJMSVNIRUQ6IFwid2FsbGV0bGlua19zZGsud2ViMy5yZXF1ZXN0X3B1Ymxpc2hlZFwiLFxuICAgIFdFQjNfUkVTUE9OU0U6IFwid2FsbGV0bGlua19zZGsud2ViMy5yZXNwb25zZVwiLFxuICAgIFVOS05PV05fQUREUkVTU19FTkNPVU5URVJFRDogXCJ3YWxsZXRsaW5rX3Nkay51bmtub3duX2FkZHJlc3NfZW5jb3VudGVyZWRcIixcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/connection/DiagnosticLogger.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/connection/RxWebSocket.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/connection/RxWebSocket.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RxWebSocket = exports.ConnectionState = void 0;\nconst rxjs_1 = __webpack_require__(/*! rxjs */ \"./node_modules/rxjs/_esm5/index.js\");\nconst operators_1 = __webpack_require__(/*! rxjs/operators */ \"./node_modules/rxjs/_esm5/operators/index.js\");\nvar ConnectionState;\n(function (ConnectionState) {\n ConnectionState[ConnectionState[\"DISCONNECTED\"] = 0] = \"DISCONNECTED\";\n ConnectionState[ConnectionState[\"CONNECTING\"] = 1] = \"CONNECTING\";\n ConnectionState[ConnectionState[\"CONNECTED\"] = 2] = \"CONNECTED\";\n})(ConnectionState = exports.ConnectionState || (exports.ConnectionState = {}));\n/**\n * Rx-ified WebSocket\n */\nclass RxWebSocket {\n /**\n * Constructor\n * @param url WebSocket server URL\n * @param [WebSocketClass] Custom WebSocket implementation\n */\n constructor(url, WebSocketClass = WebSocket) {\n this.WebSocketClass = WebSocketClass;\n this.webSocket = null;\n this.connectionStateSubject = new rxjs_1.BehaviorSubject(ConnectionState.DISCONNECTED);\n this.incomingDataSubject = new rxjs_1.Subject();\n this.url = url.replace(/^http/, \"ws\");\n }\n /**\n * Make a websocket connection\n * @returns an Observable that completes when connected\n */\n connect() {\n if (this.webSocket) {\n return (0, rxjs_1.throwError)(new Error(\"webSocket object is not null\"));\n }\n return new rxjs_1.Observable(obs => {\n let webSocket;\n try {\n this.webSocket = webSocket = new this.WebSocketClass(this.url);\n }\n catch (err) {\n obs.error(err);\n return;\n }\n this.connectionStateSubject.next(ConnectionState.CONNECTING);\n webSocket.onclose = evt => {\n this.clearWebSocket();\n obs.error(new Error(`websocket error ${evt.code}: ${evt.reason}`));\n this.connectionStateSubject.next(ConnectionState.DISCONNECTED);\n };\n webSocket.onopen = _ => {\n obs.next();\n obs.complete();\n this.connectionStateSubject.next(ConnectionState.CONNECTED);\n };\n webSocket.onmessage = evt => {\n this.incomingDataSubject.next(evt.data);\n };\n }).pipe((0, operators_1.take)(1));\n }\n /**\n * Disconnect from server\n */\n disconnect() {\n const { webSocket } = this;\n if (!webSocket) {\n return;\n }\n this.clearWebSocket();\n this.connectionStateSubject.next(ConnectionState.DISCONNECTED);\n try {\n webSocket.close();\n }\n catch (_a) { }\n }\n /**\n * Emit current connection state and subsequent changes\n * @returns an Observable for the connection state\n */\n get connectionState$() {\n return this.connectionStateSubject.asObservable();\n }\n /**\n * Emit incoming data from server\n * @returns an Observable for the data received\n */\n get incomingData$() {\n return this.incomingDataSubject.asObservable();\n }\n /**\n * Emit incoming JSON data from server. non-JSON data are ignored\n * @returns an Observable for parsed JSON data\n */\n get incomingJSONData$() {\n return this.incomingData$.pipe((0, operators_1.flatMap)(m => {\n let j;\n try {\n j = JSON.parse(m);\n }\n catch (err) {\n return (0, rxjs_1.empty)();\n }\n return (0, rxjs_1.of)(j);\n }));\n }\n /**\n * Send data to server\n * @param data text to send\n */\n sendData(data) {\n const { webSocket } = this;\n if (!webSocket) {\n throw new Error(\"websocket is not connected\");\n }\n webSocket.send(data);\n }\n clearWebSocket() {\n const { webSocket } = this;\n if (!webSocket) {\n return;\n }\n this.webSocket = null;\n webSocket.onclose = null;\n webSocket.onerror = null;\n webSocket.onmessage = null;\n webSocket.onopen = null;\n }\n}\nexports.RxWebSocket = RxWebSocket;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL1J4V2ViU29ja2V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUIsR0FBRyx1QkFBdUI7QUFDN0MsZUFBZSxtQkFBTyxDQUFDLGdEQUFNO0FBQzdCLG9CQUFvQixtQkFBTyxDQUFDLG9FQUFnQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxnREFBZ0QsdUJBQXVCLEtBQUs7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELFNBQVMsSUFBSSxXQUFXO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsWUFBWTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixZQUFZO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixZQUFZO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2Nvbm5lY3Rpb24vUnhXZWJTb2NrZXQuanM/NDg5NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5SeFdlYlNvY2tldCA9IGV4cG9ydHMuQ29ubmVjdGlvblN0YXRlID0gdm9pZCAwO1xuY29uc3Qgcnhqc18xID0gcmVxdWlyZShcInJ4anNcIik7XG5jb25zdCBvcGVyYXRvcnNfMSA9IHJlcXVpcmUoXCJyeGpzL29wZXJhdG9yc1wiKTtcbnZhciBDb25uZWN0aW9uU3RhdGU7XG4oZnVuY3Rpb24gKENvbm5lY3Rpb25TdGF0ZSkge1xuICAgIENvbm5lY3Rpb25TdGF0ZVtDb25uZWN0aW9uU3RhdGVbXCJESVNDT05ORUNURURcIl0gPSAwXSA9IFwiRElTQ09OTkVDVEVEXCI7XG4gICAgQ29ubmVjdGlvblN0YXRlW0Nvbm5lY3Rpb25TdGF0ZVtcIkNPTk5FQ1RJTkdcIl0gPSAxXSA9IFwiQ09OTkVDVElOR1wiO1xuICAgIENvbm5lY3Rpb25TdGF0ZVtDb25uZWN0aW9uU3RhdGVbXCJDT05ORUNURURcIl0gPSAyXSA9IFwiQ09OTkVDVEVEXCI7XG59KShDb25uZWN0aW9uU3RhdGUgPSBleHBvcnRzLkNvbm5lY3Rpb25TdGF0ZSB8fCAoZXhwb3J0cy5Db25uZWN0aW9uU3RhdGUgPSB7fSkpO1xuLyoqXG4gKiBSeC1pZmllZCBXZWJTb2NrZXRcbiAqL1xuY2xhc3MgUnhXZWJTb2NrZXQge1xuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHVybCBXZWJTb2NrZXQgc2VydmVyIFVSTFxuICAgICAqIEBwYXJhbSBbV2ViU29ja2V0Q2xhc3NdIEN1c3RvbSBXZWJTb2NrZXQgaW1wbGVtZW50YXRpb25cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcih1cmwsIFdlYlNvY2tldENsYXNzID0gV2ViU29ja2V0KSB7XG4gICAgICAgIHRoaXMuV2ViU29ja2V0Q2xhc3MgPSBXZWJTb2NrZXRDbGFzcztcbiAgICAgICAgdGhpcy53ZWJTb2NrZXQgPSBudWxsO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZVN1YmplY3QgPSBuZXcgcnhqc18xLkJlaGF2aW9yU3ViamVjdChDb25uZWN0aW9uU3RhdGUuRElTQ09OTkVDVEVEKTtcbiAgICAgICAgdGhpcy5pbmNvbWluZ0RhdGFTdWJqZWN0ID0gbmV3IHJ4anNfMS5TdWJqZWN0KCk7XG4gICAgICAgIHRoaXMudXJsID0gdXJsLnJlcGxhY2UoL15odHRwLywgXCJ3c1wiKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTWFrZSBhIHdlYnNvY2tldCBjb25uZWN0aW9uXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGNvbXBsZXRlcyB3aGVuIGNvbm5lY3RlZFxuICAgICAqL1xuICAgIGNvbm5lY3QoKSB7XG4gICAgICAgIGlmICh0aGlzLndlYlNvY2tldCkge1xuICAgICAgICAgICAgcmV0dXJuICgwLCByeGpzXzEudGhyb3dFcnJvcikobmV3IEVycm9yKFwid2ViU29ja2V0IG9iamVjdCBpcyBub3QgbnVsbFwiKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyByeGpzXzEuT2JzZXJ2YWJsZShvYnMgPT4ge1xuICAgICAgICAgICAgbGV0IHdlYlNvY2tldDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy53ZWJTb2NrZXQgPSB3ZWJTb2NrZXQgPSBuZXcgdGhpcy5XZWJTb2NrZXRDbGFzcyh0aGlzLnVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0Lm5leHQoQ29ubmVjdGlvblN0YXRlLkNPTk5FQ1RJTkcpO1xuICAgICAgICAgICAgd2ViU29ja2V0Lm9uY2xvc2UgPSBldnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJXZWJTb2NrZXQoKTtcbiAgICAgICAgICAgICAgICBvYnMuZXJyb3IobmV3IEVycm9yKGB3ZWJzb2NrZXQgZXJyb3IgJHtldnQuY29kZX06ICR7ZXZ0LnJlYXNvbn1gKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0Lm5leHQoQ29ubmVjdGlvblN0YXRlLkRJU0NPTk5FQ1RFRCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2ViU29ja2V0Lm9ub3BlbiA9IF8gPT4ge1xuICAgICAgICAgICAgICAgIG9icy5uZXh0KCk7XG4gICAgICAgICAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0Lm5leHQoQ29ubmVjdGlvblN0YXRlLkNPTk5FQ1RFRCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2ViU29ja2V0Lm9ubWVzc2FnZSA9IGV2dCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvbWluZ0RhdGFTdWJqZWN0Lm5leHQoZXZ0LmRhdGEpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSkucGlwZSgoMCwgb3BlcmF0b3JzXzEudGFrZSkoMSkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEaXNjb25uZWN0IGZyb20gc2VydmVyXG4gICAgICovXG4gICAgZGlzY29ubmVjdCgpIHtcbiAgICAgICAgY29uc3QgeyB3ZWJTb2NrZXQgfSA9IHRoaXM7XG4gICAgICAgIGlmICghd2ViU29ja2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhcldlYlNvY2tldCgpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0ZVN1YmplY3QubmV4dChDb25uZWN0aW9uU3RhdGUuRElTQ09OTkVDVEVEKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHdlYlNvY2tldC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkgeyB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVtaXQgY3VycmVudCBjb25uZWN0aW9uIHN0YXRlIGFuZCBzdWJzZXF1ZW50IGNoYW5nZXNcbiAgICAgKiBAcmV0dXJucyBhbiBPYnNlcnZhYmxlIGZvciB0aGUgY29ubmVjdGlvbiBzdGF0ZVxuICAgICAqL1xuICAgIGdldCBjb25uZWN0aW9uU3RhdGUkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0IGluY29taW5nIGRhdGEgZnJvbSBzZXJ2ZXJcbiAgICAgKiBAcmV0dXJucyBhbiBPYnNlcnZhYmxlIGZvciB0aGUgZGF0YSByZWNlaXZlZFxuICAgICAqL1xuICAgIGdldCBpbmNvbWluZ0RhdGEkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmNvbWluZ0RhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0IGluY29taW5nIEpTT04gZGF0YSBmcm9tIHNlcnZlci4gbm9uLUpTT04gZGF0YSBhcmUgaWdub3JlZFxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgZm9yIHBhcnNlZCBKU09OIGRhdGFcbiAgICAgKi9cbiAgICBnZXQgaW5jb21pbmdKU09ORGF0YSQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluY29taW5nRGF0YSQucGlwZSgoMCwgb3BlcmF0b3JzXzEuZmxhdE1hcCkobSA9PiB7XG4gICAgICAgICAgICBsZXQgajtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaiA9IEpTT04ucGFyc2UobSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCByeGpzXzEuZW1wdHkpKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIHJ4anNfMS5vZikoaik7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2VuZCBkYXRhIHRvIHNlcnZlclxuICAgICAqIEBwYXJhbSBkYXRhIHRleHQgdG8gc2VuZFxuICAgICAqL1xuICAgIHNlbmREYXRhKGRhdGEpIHtcbiAgICAgICAgY29uc3QgeyB3ZWJTb2NrZXQgfSA9IHRoaXM7XG4gICAgICAgIGlmICghd2ViU29ja2V0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ3ZWJzb2NrZXQgaXMgbm90IGNvbm5lY3RlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICB3ZWJTb2NrZXQuc2VuZChkYXRhKTtcbiAgICB9XG4gICAgY2xlYXJXZWJTb2NrZXQoKSB7XG4gICAgICAgIGNvbnN0IHsgd2ViU29ja2V0IH0gPSB0aGlzO1xuICAgICAgICBpZiAoIXdlYlNvY2tldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2ViU29ja2V0ID0gbnVsbDtcbiAgICAgICAgd2ViU29ja2V0Lm9uY2xvc2UgPSBudWxsO1xuICAgICAgICB3ZWJTb2NrZXQub25lcnJvciA9IG51bGw7XG4gICAgICAgIHdlYlNvY2tldC5vbm1lc3NhZ2UgPSBudWxsO1xuICAgICAgICB3ZWJTb2NrZXQub25vcGVuID0gbnVsbDtcbiAgICB9XG59XG5leHBvcnRzLlJ4V2ViU29ja2V0ID0gUnhXZWJTb2NrZXQ7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/connection/RxWebSocket.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/connection/ServerMessage.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/connection/ServerMessage.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isServerMessageFail = void 0;\nfunction isServerMessageFail(msg) {\n return (msg &&\n msg.type === \"Fail\" &&\n typeof msg.id === \"number\" &&\n typeof msg.sessionId === \"string\" &&\n typeof msg.error === \"string\");\n}\nexports.isServerMessageFail = isServerMessageFail;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL1NlcnZlck1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL1NlcnZlck1lc3NhZ2UuanM/Yzc5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc1NlcnZlck1lc3NhZ2VGYWlsID0gdm9pZCAwO1xuZnVuY3Rpb24gaXNTZXJ2ZXJNZXNzYWdlRmFpbChtc2cpIHtcbiAgICByZXR1cm4gKG1zZyAmJlxuICAgICAgICBtc2cudHlwZSA9PT0gXCJGYWlsXCIgJiZcbiAgICAgICAgdHlwZW9mIG1zZy5pZCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgICB0eXBlb2YgbXNnLnNlc3Npb25JZCA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICB0eXBlb2YgbXNnLmVycm9yID09PSBcInN0cmluZ1wiKTtcbn1cbmV4cG9ydHMuaXNTZXJ2ZXJNZXNzYWdlRmFpbCA9IGlzU2VydmVyTWVzc2FnZUZhaWw7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/connection/ServerMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/connection/WalletSDKConnection.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/connection/WalletSDKConnection.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WalletSDKConnection = void 0;\nconst rxjs_1 = __webpack_require__(/*! rxjs */ \"./node_modules/rxjs/_esm5/index.js\");\nconst operators_1 = __webpack_require__(/*! rxjs/operators */ \"./node_modules/rxjs/_esm5/operators/index.js\");\nconst Session_1 = __webpack_require__(/*! ../relay/Session */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Session.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@coinbase/wallet-sdk/dist/types.js\");\nconst ClientMessage_1 = __webpack_require__(/*! ./ClientMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/ClientMessage.js\");\nconst DiagnosticLogger_1 = __webpack_require__(/*! ./DiagnosticLogger */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/DiagnosticLogger.js\");\nconst RxWebSocket_1 = __webpack_require__(/*! ./RxWebSocket */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/RxWebSocket.js\");\nconst ServerMessage_1 = __webpack_require__(/*! ./ServerMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/ServerMessage.js\");\nconst HEARTBEAT_INTERVAL = 10000;\nconst REQUEST_TIMEOUT = 60000;\n/**\n * Coinbase Wallet Connection\n */\nclass WalletSDKConnection {\n /**\n * Constructor\n * @param sessionId Session ID\n * @param sessionKey Session Key\n * @param linkAPIUrl Coinbase Wallet link server URL\n * @param [WebSocketClass] Custom WebSocket implementation\n */\n constructor(sessionId, sessionKey, linkAPIUrl, diagnostic, WebSocketClass = WebSocket) {\n this.sessionId = sessionId;\n this.sessionKey = sessionKey;\n this.diagnostic = diagnostic;\n this.subscriptions = new rxjs_1.Subscription();\n this.destroyed = false;\n this.lastHeartbeatResponse = 0;\n this.nextReqId = (0, types_1.IntNumber)(1);\n this.connectedSubject = new rxjs_1.BehaviorSubject(false);\n this.linkedSubject = new rxjs_1.BehaviorSubject(false);\n this.sessionConfigSubject = new rxjs_1.ReplaySubject(1);\n const ws = new RxWebSocket_1.RxWebSocket(linkAPIUrl + \"/rpc\", WebSocketClass);\n this.ws = ws;\n // attempt to reconnect every 5 seconds when disconnected\n this.subscriptions.add(ws.connectionState$\n .pipe((0, operators_1.tap)(state => {\n var _a;\n return (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.CONNECTED_STATE_CHANGE, {\n state,\n sessionIdHash: Session_1.Session.hash(sessionId),\n });\n }), \n // ignore initial DISCONNECTED state\n (0, operators_1.skip)(1), \n // if DISCONNECTED and not destroyed\n (0, operators_1.filter)(cs => cs === RxWebSocket_1.ConnectionState.DISCONNECTED && !this.destroyed), \n // wait 5 seconds\n (0, operators_1.delay)(5000), \n // check whether it's destroyed again\n (0, operators_1.filter)(_ => !this.destroyed), \n // reconnect\n (0, operators_1.flatMap)(_ => ws.connect()), (0, operators_1.retry)())\n .subscribe());\n // perform authentication upon connection\n this.subscriptions.add(ws.connectionState$\n .pipe(\n // ignore initial DISCONNECTED and CONNECTING states\n (0, operators_1.skip)(2), (0, operators_1.switchMap)(cs => (0, rxjs_1.iif)(() => cs === RxWebSocket_1.ConnectionState.CONNECTED, \n // if CONNECTED, authenticate, and then check link status\n this.authenticate().pipe((0, operators_1.tap)(_ => this.sendIsLinked()), (0, operators_1.tap)(_ => this.sendGetSessionConfig()), (0, operators_1.map)(_ => true)), \n // if not CONNECTED, emit false immediately\n (0, rxjs_1.of)(false))), (0, operators_1.distinctUntilChanged)(), (0, operators_1.catchError)(_ => (0, rxjs_1.of)(false)))\n .subscribe(connected => this.connectedSubject.next(connected)));\n // send heartbeat every n seconds while connected\n this.subscriptions.add(ws.connectionState$\n .pipe(\n // ignore initial DISCONNECTED state\n (0, operators_1.skip)(1), (0, operators_1.switchMap)(cs => (0, rxjs_1.iif)(() => cs === RxWebSocket_1.ConnectionState.CONNECTED, \n // if CONNECTED, start the heartbeat timer\n (0, rxjs_1.timer)(0, HEARTBEAT_INTERVAL))))\n .subscribe(i => \n // first timer event updates lastHeartbeat timestamp\n // subsequent calls send heartbeat message\n i === 0 ? this.updateLastHeartbeat() : this.heartbeat()));\n // handle server's heartbeat responses\n this.subscriptions.add(ws.incomingData$\n .pipe((0, operators_1.filter)(m => m === \"h\"))\n .subscribe(_ => this.updateLastHeartbeat()));\n // handle link status updates\n this.subscriptions.add(ws.incomingJSONData$\n .pipe((0, operators_1.filter)(m => [\"IsLinkedOK\", \"Linked\"].includes(m.type)))\n .subscribe(m => {\n var _a;\n const msg = m;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.LINKED, {\n sessionIdHash: Session_1.Session.hash(sessionId),\n linked: msg.linked,\n type: m.type,\n onlineGuests: msg.onlineGuests,\n });\n this.linkedSubject.next(msg.linked || msg.onlineGuests > 0);\n }));\n // handle session config updates\n this.subscriptions.add(ws.incomingJSONData$\n .pipe((0, operators_1.filter)(m => [\"GetSessionConfigOK\", \"SessionConfigUpdated\"].includes(m.type)))\n .subscribe(m => {\n var _a;\n const msg = m;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.SESSION_CONFIG_RECEIVED, {\n sessionIdHash: Session_1.Session.hash(sessionId),\n metadata_keys: msg && msg.metadata ? Object.keys(msg.metadata) : undefined,\n });\n this.sessionConfigSubject.next({\n webhookId: msg.webhookId,\n webhookUrl: msg.webhookUrl,\n metadata: msg.metadata,\n });\n }));\n }\n /**\n * Make a connection to the server\n */\n connect() {\n var _a;\n if (this.destroyed) {\n throw new Error(\"instance is destroyed\");\n }\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.STARTED_CONNECTING, {\n sessionIdHash: Session_1.Session.hash(this.sessionId),\n });\n this.ws.connect().subscribe();\n }\n /**\n * Terminate connection, and mark as destroyed. To reconnect, create a new\n * instance of WalletSDKConnection\n */\n destroy() {\n var _a;\n this.subscriptions.unsubscribe();\n this.ws.disconnect();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.DISCONNECTED, {\n sessionIdHash: Session_1.Session.hash(this.sessionId),\n });\n this.destroyed = true;\n }\n get isDestroyed() {\n return this.destroyed;\n }\n /**\n * Emit true if connected and authenticated, else false\n * @returns an Observable\n */\n get connected$() {\n return this.connectedSubject.asObservable();\n }\n /**\n * Emit once connected\n * @returns an Observable\n */\n get onceConnected$() {\n return this.connected$.pipe((0, operators_1.filter)(v => v), (0, operators_1.take)(1), (0, operators_1.map)(() => void 0));\n }\n /**\n * Emit true if linked (a guest has joined before)\n * @returns an Observable\n */\n get linked$() {\n return this.linkedSubject.asObservable();\n }\n /**\n * Emit once when linked\n * @returns an Observable\n */\n get onceLinked$() {\n return this.linked$.pipe((0, operators_1.filter)(v => v), (0, operators_1.take)(1), (0, operators_1.map)(() => void 0));\n }\n /**\n * Emit current session config if available, and subsequent updates\n * @returns an Observable for the session config\n */\n get sessionConfig$() {\n return this.sessionConfigSubject.asObservable();\n }\n /**\n * Emit incoming Event messages\n * @returns an Observable for the messages\n */\n get incomingEvent$() {\n return this.ws.incomingJSONData$.pipe((0, operators_1.filter)(m => {\n if (m.type !== \"Event\") {\n return false;\n }\n const sme = m;\n return (typeof sme.sessionId === \"string\" &&\n typeof sme.eventId === \"string\" &&\n typeof sme.event === \"string\" &&\n typeof sme.data === \"string\");\n }), (0, operators_1.map)(m => m));\n }\n /**\n * Set session metadata in SessionConfig object\n * @param key\n * @param value\n * @returns an Observable that completes when successful\n */\n setSessionMetadata(key, value) {\n const message = (0, ClientMessage_1.ClientMessageSetSessionConfig)({\n id: (0, types_1.IntNumber)(this.nextReqId++),\n sessionId: this.sessionId,\n metadata: { [key]: value },\n });\n return this.onceConnected$.pipe((0, operators_1.flatMap)(_ => this.makeRequest(message)), (0, operators_1.map)(res => {\n if ((0, ServerMessage_1.isServerMessageFail)(res)) {\n throw new Error(res.error || \"failed to set session metadata\");\n }\n }));\n }\n /**\n * Publish an event and emit event ID when successful\n * @param event event name\n * @param data event data\n * @param callWebhook whether the webhook should be invoked\n * @returns an Observable that emits event ID when successful\n */\n publishEvent(event, data, callWebhook = false) {\n const message = (0, ClientMessage_1.ClientMessagePublishEvent)({\n id: (0, types_1.IntNumber)(this.nextReqId++),\n sessionId: this.sessionId,\n event,\n data,\n callWebhook,\n });\n return this.onceLinked$.pipe((0, operators_1.flatMap)(_ => this.makeRequest(message)), (0, operators_1.map)(res => {\n if ((0, ServerMessage_1.isServerMessageFail)(res)) {\n throw new Error(res.error || \"failed to publish event\");\n }\n return res.eventId;\n }));\n }\n sendData(message) {\n this.ws.sendData(JSON.stringify(message));\n }\n updateLastHeartbeat() {\n this.lastHeartbeatResponse = Date.now();\n }\n heartbeat() {\n if (Date.now() - this.lastHeartbeatResponse > HEARTBEAT_INTERVAL * 2) {\n this.ws.disconnect();\n return;\n }\n try {\n this.ws.sendData(\"h\");\n }\n catch (_a) { }\n }\n makeRequest(message, timeout = REQUEST_TIMEOUT) {\n const reqId = message.id;\n try {\n this.sendData(message);\n }\n catch (err) {\n return (0, rxjs_1.throwError)(err);\n }\n // await server message with corresponding id\n return this.ws.incomingJSONData$.pipe((0, operators_1.timeoutWith)(timeout, (0, rxjs_1.throwError)(new Error(`request ${reqId} timed out`))), (0, operators_1.filter)(m => m.id === reqId), (0, operators_1.take)(1));\n }\n authenticate() {\n const msg = (0, ClientMessage_1.ClientMessageHostSession)({\n id: (0, types_1.IntNumber)(this.nextReqId++),\n sessionId: this.sessionId,\n sessionKey: this.sessionKey,\n });\n return this.makeRequest(msg).pipe((0, operators_1.map)(res => {\n if ((0, ServerMessage_1.isServerMessageFail)(res)) {\n throw new Error(res.error || \"failed to authentcate\");\n }\n }));\n }\n sendIsLinked() {\n const msg = (0, ClientMessage_1.ClientMessageIsLinked)({\n id: (0, types_1.IntNumber)(this.nextReqId++),\n sessionId: this.sessionId,\n });\n this.sendData(msg);\n }\n sendGetSessionConfig() {\n const msg = (0, ClientMessage_1.ClientMessageGetSessionConfig)({\n id: (0, types_1.IntNumber)(this.nextReqId++),\n sessionId: this.sessionId,\n });\n this.sendData(msg);\n }\n}\nexports.WalletSDKConnection = WalletSDKConnection;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL1dhbGxldFNES0Nvbm5lY3Rpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQixlQUFlLG1CQUFPLENBQUMsZ0RBQU07QUFDN0Isb0JBQW9CLG1CQUFPLENBQUMsb0VBQWdCO0FBQzVDLGtCQUFrQixtQkFBTyxDQUFDLG1GQUFrQjtBQUM1QyxnQkFBZ0IsbUJBQU8sQ0FBQyxtRUFBVTtBQUNsQyx3QkFBd0IsbUJBQU8sQ0FBQyw2RkFBaUI7QUFDakQsMkJBQTJCLG1CQUFPLENBQUMsbUdBQW9CO0FBQ3ZELHNCQUFzQixtQkFBTyxDQUFDLHlGQUFlO0FBQzdDLHdCQUF3QixtQkFBTyxDQUFDLDZGQUFpQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixjQUFjO0FBQ3RDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0lBQWdJLE9BQU87QUFDdkk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9jb25uZWN0aW9uL1dhbGxldFNES0Nvbm5lY3Rpb24uanM/MzVlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5XYWxsZXRTREtDb25uZWN0aW9uID0gdm9pZCAwO1xuY29uc3Qgcnhqc18xID0gcmVxdWlyZShcInJ4anNcIik7XG5jb25zdCBvcGVyYXRvcnNfMSA9IHJlcXVpcmUoXCJyeGpzL29wZXJhdG9yc1wiKTtcbmNvbnN0IFNlc3Npb25fMSA9IHJlcXVpcmUoXCIuLi9yZWxheS9TZXNzaW9uXCIpO1xuY29uc3QgdHlwZXNfMSA9IHJlcXVpcmUoXCIuLi90eXBlc1wiKTtcbmNvbnN0IENsaWVudE1lc3NhZ2VfMSA9IHJlcXVpcmUoXCIuL0NsaWVudE1lc3NhZ2VcIik7XG5jb25zdCBEaWFnbm9zdGljTG9nZ2VyXzEgPSByZXF1aXJlKFwiLi9EaWFnbm9zdGljTG9nZ2VyXCIpO1xuY29uc3QgUnhXZWJTb2NrZXRfMSA9IHJlcXVpcmUoXCIuL1J4V2ViU29ja2V0XCIpO1xuY29uc3QgU2VydmVyTWVzc2FnZV8xID0gcmVxdWlyZShcIi4vU2VydmVyTWVzc2FnZVwiKTtcbmNvbnN0IEhFQVJUQkVBVF9JTlRFUlZBTCA9IDEwMDAwO1xuY29uc3QgUkVRVUVTVF9USU1FT1VUID0gNjAwMDA7XG4vKipcbiAqIENvaW5iYXNlIFdhbGxldCBDb25uZWN0aW9uXG4gKi9cbmNsYXNzIFdhbGxldFNES0Nvbm5lY3Rpb24ge1xuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHNlc3Npb25JZCBTZXNzaW9uIElEXG4gICAgICogQHBhcmFtIHNlc3Npb25LZXkgU2Vzc2lvbiBLZXlcbiAgICAgKiBAcGFyYW0gbGlua0FQSVVybCBDb2luYmFzZSBXYWxsZXQgbGluayBzZXJ2ZXIgVVJMXG4gICAgICogQHBhcmFtIFtXZWJTb2NrZXRDbGFzc10gQ3VzdG9tIFdlYlNvY2tldCBpbXBsZW1lbnRhdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNlc3Npb25JZCwgc2Vzc2lvbktleSwgbGlua0FQSVVybCwgZGlhZ25vc3RpYywgV2ViU29ja2V0Q2xhc3MgPSBXZWJTb2NrZXQpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7XG4gICAgICAgIHRoaXMuc2Vzc2lvbktleSA9IHNlc3Npb25LZXk7XG4gICAgICAgIHRoaXMuZGlhZ25vc3RpYyA9IGRpYWdub3N0aWM7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IG5ldyByeGpzXzEuU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGFzdEhlYXJ0YmVhdFJlc3BvbnNlID0gMDtcbiAgICAgICAgdGhpcy5uZXh0UmVxSWQgPSAoMCwgdHlwZXNfMS5JbnROdW1iZXIpKDEpO1xuICAgICAgICB0aGlzLmNvbm5lY3RlZFN1YmplY3QgPSBuZXcgcnhqc18xLkJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgICAgIHRoaXMubGlua2VkU3ViamVjdCA9IG5ldyByeGpzXzEuQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uQ29uZmlnU3ViamVjdCA9IG5ldyByeGpzXzEuUmVwbGF5U3ViamVjdCgxKTtcbiAgICAgICAgY29uc3Qgd3MgPSBuZXcgUnhXZWJTb2NrZXRfMS5SeFdlYlNvY2tldChsaW5rQVBJVXJsICsgXCIvcnBjXCIsIFdlYlNvY2tldENsYXNzKTtcbiAgICAgICAgdGhpcy53cyA9IHdzO1xuICAgICAgICAvLyBhdHRlbXB0IHRvIHJlY29ubmVjdCBldmVyeSA1IHNlY29uZHMgd2hlbiBkaXNjb25uZWN0ZWRcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh3cy5jb25uZWN0aW9uU3RhdGUkXG4gICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEudGFwKShzdGF0ZSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuQ09OTkVDVEVEX1NUQVRFX0NIQU5HRSwge1xuICAgICAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IFNlc3Npb25fMS5TZXNzaW9uLmhhc2goc2Vzc2lvbklkKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSwgXG4gICAgICAgIC8vIGlnbm9yZSBpbml0aWFsIERJU0NPTk5FQ1RFRCBzdGF0ZVxuICAgICAgICAoMCwgb3BlcmF0b3JzXzEuc2tpcCkoMSksIFxuICAgICAgICAvLyBpZiBESVNDT05ORUNURUQgYW5kIG5vdCBkZXN0cm95ZWRcbiAgICAgICAgKDAsIG9wZXJhdG9yc18xLmZpbHRlcikoY3MgPT4gY3MgPT09IFJ4V2ViU29ja2V0XzEuQ29ubmVjdGlvblN0YXRlLkRJU0NPTk5FQ1RFRCAmJiAhdGhpcy5kZXN0cm95ZWQpLCBcbiAgICAgICAgLy8gd2FpdCA1IHNlY29uZHNcbiAgICAgICAgKDAsIG9wZXJhdG9yc18xLmRlbGF5KSg1MDAwKSwgXG4gICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgaXQncyBkZXN0cm95ZWQgYWdhaW5cbiAgICAgICAgKDAsIG9wZXJhdG9yc18xLmZpbHRlcikoXyA9PiAhdGhpcy5kZXN0cm95ZWQpLCBcbiAgICAgICAgLy8gcmVjb25uZWN0XG4gICAgICAgICgwLCBvcGVyYXRvcnNfMS5mbGF0TWFwKShfID0+IHdzLmNvbm5lY3QoKSksICgwLCBvcGVyYXRvcnNfMS5yZXRyeSkoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKSk7XG4gICAgICAgIC8vIHBlcmZvcm0gYXV0aGVudGljYXRpb24gdXBvbiBjb25uZWN0aW9uXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQod3MuY29ubmVjdGlvblN0YXRlJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGlnbm9yZSBpbml0aWFsIERJU0NPTk5FQ1RFRCBhbmQgQ09OTkVDVElORyBzdGF0ZXNcbiAgICAgICAgKDAsIG9wZXJhdG9yc18xLnNraXApKDIpLCAoMCwgb3BlcmF0b3JzXzEuc3dpdGNoTWFwKShjcyA9PiAoMCwgcnhqc18xLmlpZikoKCkgPT4gY3MgPT09IFJ4V2ViU29ja2V0XzEuQ29ubmVjdGlvblN0YXRlLkNPTk5FQ1RFRCwgXG4gICAgICAgIC8vIGlmIENPTk5FQ1RFRCwgYXV0aGVudGljYXRlLCBhbmQgdGhlbiBjaGVjayBsaW5rIHN0YXR1c1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0ZSgpLnBpcGUoKDAsIG9wZXJhdG9yc18xLnRhcCkoXyA9PiB0aGlzLnNlbmRJc0xpbmtlZCgpKSwgKDAsIG9wZXJhdG9yc18xLnRhcCkoXyA9PiB0aGlzLnNlbmRHZXRTZXNzaW9uQ29uZmlnKCkpLCAoMCwgb3BlcmF0b3JzXzEubWFwKShfID0+IHRydWUpKSwgXG4gICAgICAgIC8vIGlmIG5vdCBDT05ORUNURUQsIGVtaXQgZmFsc2UgaW1tZWRpYXRlbHlcbiAgICAgICAgKDAsIHJ4anNfMS5vZikoZmFsc2UpKSksICgwLCBvcGVyYXRvcnNfMS5kaXN0aW5jdFVudGlsQ2hhbmdlZCkoKSwgKDAsIG9wZXJhdG9yc18xLmNhdGNoRXJyb3IpKF8gPT4gKDAsIHJ4anNfMS5vZikoZmFsc2UpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoY29ubmVjdGVkID0+IHRoaXMuY29ubmVjdGVkU3ViamVjdC5uZXh0KGNvbm5lY3RlZCkpKTtcbiAgICAgICAgLy8gc2VuZCBoZWFydGJlYXQgZXZlcnkgbiBzZWNvbmRzIHdoaWxlIGNvbm5lY3RlZFxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHdzLmNvbm5lY3Rpb25TdGF0ZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAvLyBpZ25vcmUgaW5pdGlhbCBESVNDT05ORUNURUQgc3RhdGVcbiAgICAgICAgKDAsIG9wZXJhdG9yc18xLnNraXApKDEpLCAoMCwgb3BlcmF0b3JzXzEuc3dpdGNoTWFwKShjcyA9PiAoMCwgcnhqc18xLmlpZikoKCkgPT4gY3MgPT09IFJ4V2ViU29ja2V0XzEuQ29ubmVjdGlvblN0YXRlLkNPTk5FQ1RFRCwgXG4gICAgICAgIC8vIGlmIENPTk5FQ1RFRCwgc3RhcnQgdGhlIGhlYXJ0YmVhdCB0aW1lclxuICAgICAgICAoMCwgcnhqc18xLnRpbWVyKSgwLCBIRUFSVEJFQVRfSU5URVJWQUwpKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGkgPT4gXG4gICAgICAgIC8vIGZpcnN0IHRpbWVyIGV2ZW50IHVwZGF0ZXMgbGFzdEhlYXJ0YmVhdCB0aW1lc3RhbXBcbiAgICAgICAgLy8gc3Vic2VxdWVudCBjYWxscyBzZW5kIGhlYXJ0YmVhdCBtZXNzYWdlXG4gICAgICAgIGkgPT09IDAgPyB0aGlzLnVwZGF0ZUxhc3RIZWFydGJlYXQoKSA6IHRoaXMuaGVhcnRiZWF0KCkpKTtcbiAgICAgICAgLy8gaGFuZGxlIHNlcnZlcidzIGhlYXJ0YmVhdCByZXNwb25zZXNcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh3cy5pbmNvbWluZ0RhdGEkXG4gICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEuZmlsdGVyKShtID0+IG0gPT09IFwiaFwiKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXyA9PiB0aGlzLnVwZGF0ZUxhc3RIZWFydGJlYXQoKSkpO1xuICAgICAgICAvLyBoYW5kbGUgbGluayBzdGF0dXMgdXBkYXRlc1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHdzLmluY29taW5nSlNPTkRhdGEkXG4gICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEuZmlsdGVyKShtID0+IFtcIklzTGlua2VkT0tcIiwgXCJMaW5rZWRcIl0uaW5jbHVkZXMobS50eXBlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG0gPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgbXNnID0gbTtcbiAgICAgICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLkxJTktFRCwge1xuICAgICAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IFNlc3Npb25fMS5TZXNzaW9uLmhhc2goc2Vzc2lvbklkKSxcbiAgICAgICAgICAgICAgICBsaW5rZWQ6IG1zZy5saW5rZWQsXG4gICAgICAgICAgICAgICAgdHlwZTogbS50eXBlLFxuICAgICAgICAgICAgICAgIG9ubGluZUd1ZXN0czogbXNnLm9ubGluZUd1ZXN0cyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5saW5rZWRTdWJqZWN0Lm5leHQobXNnLmxpbmtlZCB8fCBtc2cub25saW5lR3Vlc3RzID4gMCk7XG4gICAgICAgIH0pKTtcbiAgICAgICAgLy8gaGFuZGxlIHNlc3Npb24gY29uZmlnIHVwZGF0ZXNcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh3cy5pbmNvbWluZ0pTT05EYXRhJFxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZpbHRlcikobSA9PiBbXCJHZXRTZXNzaW9uQ29uZmlnT0tcIiwgXCJTZXNzaW9uQ29uZmlnVXBkYXRlZFwiXS5pbmNsdWRlcyhtLnR5cGUpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBtO1xuICAgICAgICAgICAgKF9hID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuU0VTU0lPTl9DT05GSUdfUkVDRUlWRUQsIHtcbiAgICAgICAgICAgICAgICBzZXNzaW9uSWRIYXNoOiBTZXNzaW9uXzEuU2Vzc2lvbi5oYXNoKHNlc3Npb25JZCksXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFfa2V5czogbXNnICYmIG1zZy5tZXRhZGF0YSA/IE9iamVjdC5rZXlzKG1zZy5tZXRhZGF0YSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkNvbmZpZ1N1YmplY3QubmV4dCh7XG4gICAgICAgICAgICAgICAgd2ViaG9va0lkOiBtc2cud2ViaG9va0lkLFxuICAgICAgICAgICAgICAgIHdlYmhvb2tVcmw6IG1zZy53ZWJob29rVXJsLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiBtc2cubWV0YWRhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNYWtlIGEgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyXG4gICAgICovXG4gICAgY29ubmVjdCgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAodGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImluc3RhbmNlIGlzIGRlc3Ryb3llZFwiKTtcbiAgICAgICAgfVxuICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5TVEFSVEVEX0NPTk5FQ1RJTkcsIHtcbiAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IFNlc3Npb25fMS5TZXNzaW9uLmhhc2godGhpcy5zZXNzaW9uSWQpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy53cy5jb25uZWN0KCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRlcm1pbmF0ZSBjb25uZWN0aW9uLCBhbmQgbWFyayBhcyBkZXN0cm95ZWQuIFRvIHJlY29ubmVjdCwgY3JlYXRlIGEgbmV3XG4gICAgICogaW5zdGFuY2Ugb2YgV2FsbGV0U0RLQ29ubmVjdGlvblxuICAgICAqL1xuICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMud3MuZGlzY29ubmVjdCgpO1xuICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5ESVNDT05ORUNURUQsIHtcbiAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IFNlc3Npb25fMS5TZXNzaW9uLmhhc2godGhpcy5zZXNzaW9uSWQpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBnZXQgaXNEZXN0cm95ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc3Ryb3llZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1pdCB0cnVlIGlmIGNvbm5lY3RlZCBhbmQgYXV0aGVudGljYXRlZCwgZWxzZSBmYWxzZVxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICBnZXQgY29ubmVjdGVkJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1pdCBvbmNlIGNvbm5lY3RlZFxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICBnZXQgb25jZUNvbm5lY3RlZCQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3RlZCQucGlwZSgoMCwgb3BlcmF0b3JzXzEuZmlsdGVyKSh2ID0+IHYpLCAoMCwgb3BlcmF0b3JzXzEudGFrZSkoMSksICgwLCBvcGVyYXRvcnNfMS5tYXApKCgpID0+IHZvaWQgMCkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0IHRydWUgaWYgbGlua2VkIChhIGd1ZXN0IGhhcyBqb2luZWQgYmVmb3JlKVxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICBnZXQgbGlua2VkJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlua2VkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1pdCBvbmNlIHdoZW4gbGlua2VkXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIGdldCBvbmNlTGlua2VkJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlua2VkJC5waXBlKCgwLCBvcGVyYXRvcnNfMS5maWx0ZXIpKHYgPT4gdiksICgwLCBvcGVyYXRvcnNfMS50YWtlKSgxKSwgKDAsIG9wZXJhdG9yc18xLm1hcCkoKCkgPT4gdm9pZCAwKSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVtaXQgY3VycmVudCBzZXNzaW9uIGNvbmZpZyBpZiBhdmFpbGFibGUsIGFuZCBzdWJzZXF1ZW50IHVwZGF0ZXNcbiAgICAgKiBAcmV0dXJucyBhbiBPYnNlcnZhYmxlIGZvciB0aGUgc2Vzc2lvbiBjb25maWdcbiAgICAgKi9cbiAgICBnZXQgc2Vzc2lvbkNvbmZpZyQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25Db25maWdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0IGluY29taW5nIEV2ZW50IG1lc3NhZ2VzXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZSBmb3IgdGhlIG1lc3NhZ2VzXG4gICAgICovXG4gICAgZ2V0IGluY29taW5nRXZlbnQkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy53cy5pbmNvbWluZ0pTT05EYXRhJC5waXBlKCgwLCBvcGVyYXRvcnNfMS5maWx0ZXIpKG0gPT4ge1xuICAgICAgICAgICAgaWYgKG0udHlwZSAhPT0gXCJFdmVudFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc21lID0gbTtcbiAgICAgICAgICAgIHJldHVybiAodHlwZW9mIHNtZS5zZXNzaW9uSWQgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2Ygc21lLmV2ZW50SWQgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2Ygc21lLmV2ZW50ID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHNtZS5kYXRhID09PSBcInN0cmluZ1wiKTtcbiAgICAgICAgfSksICgwLCBvcGVyYXRvcnNfMS5tYXApKG0gPT4gbSkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgc2Vzc2lvbiBtZXRhZGF0YSBpbiBTZXNzaW9uQ29uZmlnIG9iamVjdFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWVcbiAgICAgKiBAcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgY29tcGxldGVzIHdoZW4gc3VjY2Vzc2Z1bFxuICAgICAqL1xuICAgIHNldFNlc3Npb25NZXRhZGF0YShrZXksIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoMCwgQ2xpZW50TWVzc2FnZV8xLkNsaWVudE1lc3NhZ2VTZXRTZXNzaW9uQ29uZmlnKSh7XG4gICAgICAgICAgICBpZDogKDAsIHR5cGVzXzEuSW50TnVtYmVyKSh0aGlzLm5leHRSZXFJZCsrKSxcbiAgICAgICAgICAgIHNlc3Npb25JZDogdGhpcy5zZXNzaW9uSWQsXG4gICAgICAgICAgICBtZXRhZGF0YTogeyBba2V5XTogdmFsdWUgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9uY2VDb25uZWN0ZWQkLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZsYXRNYXApKF8gPT4gdGhpcy5tYWtlUmVxdWVzdChtZXNzYWdlKSksICgwLCBvcGVyYXRvcnNfMS5tYXApKHJlcyA9PiB7XG4gICAgICAgICAgICBpZiAoKDAsIFNlcnZlck1lc3NhZ2VfMS5pc1NlcnZlck1lc3NhZ2VGYWlsKShyZXMpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5lcnJvciB8fCBcImZhaWxlZCB0byBzZXQgc2Vzc2lvbiBtZXRhZGF0YVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQdWJsaXNoIGFuIGV2ZW50IGFuZCBlbWl0IGV2ZW50IElEIHdoZW4gc3VjY2Vzc2Z1bFxuICAgICAqIEBwYXJhbSBldmVudCBldmVudCBuYW1lXG4gICAgICogQHBhcmFtIGRhdGEgZXZlbnQgZGF0YVxuICAgICAqIEBwYXJhbSBjYWxsV2ViaG9vayB3aGV0aGVyIHRoZSB3ZWJob29rIHNob3VsZCBiZSBpbnZva2VkXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGV2ZW50IElEIHdoZW4gc3VjY2Vzc2Z1bFxuICAgICAqL1xuICAgIHB1Ymxpc2hFdmVudChldmVudCwgZGF0YSwgY2FsbFdlYmhvb2sgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gKDAsIENsaWVudE1lc3NhZ2VfMS5DbGllbnRNZXNzYWdlUHVibGlzaEV2ZW50KSh7XG4gICAgICAgICAgICBpZDogKDAsIHR5cGVzXzEuSW50TnVtYmVyKSh0aGlzLm5leHRSZXFJZCsrKSxcbiAgICAgICAgICAgIHNlc3Npb25JZDogdGhpcy5zZXNzaW9uSWQsXG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBjYWxsV2ViaG9vayxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9uY2VMaW5rZWQkLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZsYXRNYXApKF8gPT4gdGhpcy5tYWtlUmVxdWVzdChtZXNzYWdlKSksICgwLCBvcGVyYXRvcnNfMS5tYXApKHJlcyA9PiB7XG4gICAgICAgICAgICBpZiAoKDAsIFNlcnZlck1lc3NhZ2VfMS5pc1NlcnZlck1lc3NhZ2VGYWlsKShyZXMpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5lcnJvciB8fCBcImZhaWxlZCB0byBwdWJsaXNoIGV2ZW50XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlcy5ldmVudElkO1xuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHNlbmREYXRhKG1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy53cy5zZW5kRGF0YShKU09OLnN0cmluZ2lmeShtZXNzYWdlKSk7XG4gICAgfVxuICAgIHVwZGF0ZUxhc3RIZWFydGJlYXQoKSB7XG4gICAgICAgIHRoaXMubGFzdEhlYXJ0YmVhdFJlc3BvbnNlID0gRGF0ZS5ub3coKTtcbiAgICB9XG4gICAgaGVhcnRiZWF0KCkge1xuICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIHRoaXMubGFzdEhlYXJ0YmVhdFJlc3BvbnNlID4gSEVBUlRCRUFUX0lOVEVSVkFMICogMikge1xuICAgICAgICAgICAgdGhpcy53cy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMud3Muc2VuZERhdGEoXCJoXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkgeyB9XG4gICAgfVxuICAgIG1ha2VSZXF1ZXN0KG1lc3NhZ2UsIHRpbWVvdXQgPSBSRVFVRVNUX1RJTUVPVVQpIHtcbiAgICAgICAgY29uc3QgcmVxSWQgPSBtZXNzYWdlLmlkO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zZW5kRGF0YShtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIHJ4anNfMS50aHJvd0Vycm9yKShlcnIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGF3YWl0IHNlcnZlciBtZXNzYWdlIHdpdGggY29ycmVzcG9uZGluZyBpZFxuICAgICAgICByZXR1cm4gdGhpcy53cy5pbmNvbWluZ0pTT05EYXRhJC5waXBlKCgwLCBvcGVyYXRvcnNfMS50aW1lb3V0V2l0aCkodGltZW91dCwgKDAsIHJ4anNfMS50aHJvd0Vycm9yKShuZXcgRXJyb3IoYHJlcXVlc3QgJHtyZXFJZH0gdGltZWQgb3V0YCkpKSwgKDAsIG9wZXJhdG9yc18xLmZpbHRlcikobSA9PiBtLmlkID09PSByZXFJZCksICgwLCBvcGVyYXRvcnNfMS50YWtlKSgxKSk7XG4gICAgfVxuICAgIGF1dGhlbnRpY2F0ZSgpIHtcbiAgICAgICAgY29uc3QgbXNnID0gKDAsIENsaWVudE1lc3NhZ2VfMS5DbGllbnRNZXNzYWdlSG9zdFNlc3Npb24pKHtcbiAgICAgICAgICAgIGlkOiAoMCwgdHlwZXNfMS5JbnROdW1iZXIpKHRoaXMubmV4dFJlcUlkKyspLFxuICAgICAgICAgICAgc2Vzc2lvbklkOiB0aGlzLnNlc3Npb25JZCxcbiAgICAgICAgICAgIHNlc3Npb25LZXk6IHRoaXMuc2Vzc2lvbktleSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0KG1zZykucGlwZSgoMCwgb3BlcmF0b3JzXzEubWFwKShyZXMgPT4ge1xuICAgICAgICAgICAgaWYgKCgwLCBTZXJ2ZXJNZXNzYWdlXzEuaXNTZXJ2ZXJNZXNzYWdlRmFpbCkocmVzKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXMuZXJyb3IgfHwgXCJmYWlsZWQgdG8gYXV0aGVudGNhdGVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgc2VuZElzTGlua2VkKCkge1xuICAgICAgICBjb25zdCBtc2cgPSAoMCwgQ2xpZW50TWVzc2FnZV8xLkNsaWVudE1lc3NhZ2VJc0xpbmtlZCkoe1xuICAgICAgICAgICAgaWQ6ICgwLCB0eXBlc18xLkludE51bWJlcikodGhpcy5uZXh0UmVxSWQrKyksXG4gICAgICAgICAgICBzZXNzaW9uSWQ6IHRoaXMuc2Vzc2lvbklkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZW5kRGF0YShtc2cpO1xuICAgIH1cbiAgICBzZW5kR2V0U2Vzc2lvbkNvbmZpZygpIHtcbiAgICAgICAgY29uc3QgbXNnID0gKDAsIENsaWVudE1lc3NhZ2VfMS5DbGllbnRNZXNzYWdlR2V0U2Vzc2lvbkNvbmZpZykoe1xuICAgICAgICAgICAgaWQ6ICgwLCB0eXBlc18xLkludE51bWJlcikodGhpcy5uZXh0UmVxSWQrKyksXG4gICAgICAgICAgICBzZXNzaW9uSWQ6IHRoaXMuc2Vzc2lvbklkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZW5kRGF0YShtc2cpO1xuICAgIH1cbn1cbmV4cG9ydHMuV2FsbGV0U0RLQ29ubmVjdGlvbiA9IFdhbGxldFNES0Nvbm5lY3Rpb247XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/connection/WalletSDKConnection.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/errors.js": -/*!**********************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/errors.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getErrorCode = exports.serializeError = exports.standardErrors = exports.standardErrorMessage = exports.standardErrorCodes = void 0;\n// eslint-disable-next-line no-restricted-imports\nconst eth_rpc_errors_1 = __webpack_require__(/*! eth-rpc-errors */ \"./node_modules/eth-rpc-errors/dist/index.js\");\nconst Web3Response_1 = __webpack_require__(/*! ./relay/Web3Response */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Response.js\");\nconst version_1 = __webpack_require__(/*! ./version */ \"./node_modules/@coinbase/wallet-sdk/dist/version.js\");\nexports.standardErrorCodes = Object.freeze(Object.assign(Object.assign({}, eth_rpc_errors_1.errorCodes), { provider: Object.freeze(Object.assign(Object.assign({}, eth_rpc_errors_1.errorCodes.provider), { unsupportedChain: 4902 })) }));\nfunction standardErrorMessage(code) {\n return code !== undefined ? (0, eth_rpc_errors_1.getMessageFromCode)(code) : \"Unknown error\";\n}\nexports.standardErrorMessage = standardErrorMessage;\nexports.standardErrors = Object.freeze(Object.assign(Object.assign({}, eth_rpc_errors_1.ethErrors), { provider: Object.freeze(Object.assign(Object.assign({}, eth_rpc_errors_1.ethErrors.provider), { unsupportedChain: (chainId = \"\") => eth_rpc_errors_1.ethErrors.provider.custom({\n code: exports.standardErrorCodes.provider.unsupportedChain,\n message: `Unrecognized chain ID ${chainId}. Try adding the chain using wallet_addEthereumChain first.`,\n }) })) }));\n/**\n * Serializes an error to a format that is compatible with the Ethereum JSON RPC error format.\n * See https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\n * for more information.\n */\nfunction serializeError(error, requestOrMethod) {\n const serialized = (0, eth_rpc_errors_1.serializeError)(getErrorObject(error), {\n shouldIncludeStack: true,\n });\n const docUrl = new URL(\"https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\");\n docUrl.searchParams.set(\"version\", version_1.LIB_VERSION);\n docUrl.searchParams.set(\"code\", serialized.code.toString());\n const method = getMethod(serialized.data, requestOrMethod);\n if (method) {\n docUrl.searchParams.set(\"method\", method);\n }\n docUrl.searchParams.set(\"message\", serialized.message);\n return Object.assign(Object.assign({}, serialized), { docUrl: docUrl.href });\n}\nexports.serializeError = serializeError;\n/**\n * Converts an error to a serializable object.\n */\nfunction getErrorObject(error) {\n if (typeof error === \"string\") {\n return {\n message: error,\n code: exports.standardErrorCodes.rpc.internal,\n };\n }\n else if ((0, Web3Response_1.isErrorResponse)(error)) {\n return Object.assign(Object.assign({}, error), { message: error.errorMessage, code: error.errorCode, data: { method: error.method, result: error.result } });\n }\n else {\n return error;\n }\n}\n/**\n * Gets the method name from the serialized data or the request.\n */\nfunction getMethod(serializedData, request) {\n var _a;\n const methodInData = (_a = serializedData) === null || _a === void 0 ? void 0 : _a.method;\n if (methodInData) {\n return methodInData;\n }\n if (request === undefined) {\n return undefined;\n }\n else if (typeof request === \"string\") {\n return request;\n }\n else if (!Array.isArray(request)) {\n return request.method;\n }\n else if (request.length > 0) {\n return request[0].method;\n }\n else {\n return undefined;\n }\n}\n// ----------------- getErrorCode -----------------\n/**\n * Returns the error code from an error object.\n */\nfunction getErrorCode(error) {\n var _a;\n if (typeof error === \"number\") {\n return error;\n }\n else if (isErrorWithCode(error)) {\n return (_a = error.code) !== null && _a !== void 0 ? _a : error.errorCode;\n }\n return undefined;\n}\nexports.getErrorCode = getErrorCode;\nfunction isErrorWithCode(error) {\n return (typeof error === \"object\" &&\n error !== null &&\n (typeof error.code === \"number\" ||\n typeof error.errorCode === \"number\"));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9lcnJvcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CLEdBQUcsc0JBQXNCLEdBQUcsc0JBQXNCLEdBQUcsNEJBQTRCLEdBQUcsMEJBQTBCO0FBQ2xJO0FBQ0EseUJBQXlCLG1CQUFPLENBQUMsbUVBQWdCO0FBQ2pELHVCQUF1QixtQkFBTyxDQUFDLDRGQUFzQjtBQUNyRCxrQkFBa0IsbUJBQU8sQ0FBQyxzRUFBVztBQUNyQywwQkFBMEIsK0NBQStDLGtDQUFrQyxzREFBc0QsMkNBQTJDLHdCQUF3QixJQUFJO0FBQ3hPO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QixzQkFBc0IsK0NBQStDLGlDQUFpQyxzREFBc0QsMENBQTBDO0FBQ3RNO0FBQ0EsOENBQThDLFFBQVE7QUFDdEQsU0FBUyxHQUFHLElBQUk7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLGlCQUFpQixxQkFBcUI7QUFDL0U7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxZQUFZLDREQUE0RCw4Q0FBOEM7QUFDbks7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvZXJyb3JzLmpzPzc3ZWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEVycm9yQ29kZSA9IGV4cG9ydHMuc2VyaWFsaXplRXJyb3IgPSBleHBvcnRzLnN0YW5kYXJkRXJyb3JzID0gZXhwb3J0cy5zdGFuZGFyZEVycm9yTWVzc2FnZSA9IGV4cG9ydHMuc3RhbmRhcmRFcnJvckNvZGVzID0gdm9pZCAwO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuY29uc3QgZXRoX3JwY19lcnJvcnNfMSA9IHJlcXVpcmUoXCJldGgtcnBjLWVycm9yc1wiKTtcbmNvbnN0IFdlYjNSZXNwb25zZV8xID0gcmVxdWlyZShcIi4vcmVsYXkvV2ViM1Jlc3BvbnNlXCIpO1xuY29uc3QgdmVyc2lvbl8xID0gcmVxdWlyZShcIi4vdmVyc2lvblwiKTtcbmV4cG9ydHMuc3RhbmRhcmRFcnJvckNvZGVzID0gT2JqZWN0LmZyZWV6ZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGV0aF9ycGNfZXJyb3JzXzEuZXJyb3JDb2RlcyksIHsgcHJvdmlkZXI6IE9iamVjdC5mcmVlemUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBldGhfcnBjX2Vycm9yc18xLmVycm9yQ29kZXMucHJvdmlkZXIpLCB7IHVuc3VwcG9ydGVkQ2hhaW46IDQ5MDIgfSkpIH0pKTtcbmZ1bmN0aW9uIHN0YW5kYXJkRXJyb3JNZXNzYWdlKGNvZGUpIHtcbiAgICByZXR1cm4gY29kZSAhPT0gdW5kZWZpbmVkID8gKDAsIGV0aF9ycGNfZXJyb3JzXzEuZ2V0TWVzc2FnZUZyb21Db2RlKShjb2RlKSA6IFwiVW5rbm93biBlcnJvclwiO1xufVxuZXhwb3J0cy5zdGFuZGFyZEVycm9yTWVzc2FnZSA9IHN0YW5kYXJkRXJyb3JNZXNzYWdlO1xuZXhwb3J0cy5zdGFuZGFyZEVycm9ycyA9IE9iamVjdC5mcmVlemUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBldGhfcnBjX2Vycm9yc18xLmV0aEVycm9ycyksIHsgcHJvdmlkZXI6IE9iamVjdC5mcmVlemUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBldGhfcnBjX2Vycm9yc18xLmV0aEVycm9ycy5wcm92aWRlciksIHsgdW5zdXBwb3J0ZWRDaGFpbjogKGNoYWluSWQgPSBcIlwiKSA9PiBldGhfcnBjX2Vycm9yc18xLmV0aEVycm9ycy5wcm92aWRlci5jdXN0b20oe1xuICAgICAgICAgICAgY29kZTogZXhwb3J0cy5zdGFuZGFyZEVycm9yQ29kZXMucHJvdmlkZXIudW5zdXBwb3J0ZWRDaGFpbixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBVbnJlY29nbml6ZWQgY2hhaW4gSUQgJHtjaGFpbklkfS4gVHJ5IGFkZGluZyB0aGUgY2hhaW4gdXNpbmcgd2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW4gZmlyc3QuYCxcbiAgICAgICAgfSkgfSkpIH0pKTtcbi8qKlxuICogU2VyaWFsaXplcyBhbiBlcnJvciB0byBhIGZvcm1hdCB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgRXRoZXJldW0gSlNPTiBSUEMgZXJyb3IgZm9ybWF0LlxuICogU2VlIGh0dHBzOi8vZG9jcy5jbG91ZC5jb2luYmFzZS5jb20vd2FsbGV0LXNkay9kb2NzL2Vycm9yc1xuICogZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZUVycm9yKGVycm9yLCByZXF1ZXN0T3JNZXRob2QpIHtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gKDAsIGV0aF9ycGNfZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKGdldEVycm9yT2JqZWN0KGVycm9yKSwge1xuICAgICAgICBzaG91bGRJbmNsdWRlU3RhY2s6IHRydWUsXG4gICAgfSk7XG4gICAgY29uc3QgZG9jVXJsID0gbmV3IFVSTChcImh0dHBzOi8vZG9jcy5jbG91ZC5jb2luYmFzZS5jb20vd2FsbGV0LXNkay9kb2NzL2Vycm9yc1wiKTtcbiAgICBkb2NVcmwuc2VhcmNoUGFyYW1zLnNldChcInZlcnNpb25cIiwgdmVyc2lvbl8xLkxJQl9WRVJTSU9OKTtcbiAgICBkb2NVcmwuc2VhcmNoUGFyYW1zLnNldChcImNvZGVcIiwgc2VyaWFsaXplZC5jb2RlLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IG1ldGhvZCA9IGdldE1ldGhvZChzZXJpYWxpemVkLmRhdGEsIHJlcXVlc3RPck1ldGhvZCk7XG4gICAgaWYgKG1ldGhvZCkge1xuICAgICAgICBkb2NVcmwuc2VhcmNoUGFyYW1zLnNldChcIm1ldGhvZFwiLCBtZXRob2QpO1xuICAgIH1cbiAgICBkb2NVcmwuc2VhcmNoUGFyYW1zLnNldChcIm1lc3NhZ2VcIiwgc2VyaWFsaXplZC5tZXNzYWdlKTtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBzZXJpYWxpemVkKSwgeyBkb2NVcmw6IGRvY1VybC5ocmVmIH0pO1xufVxuZXhwb3J0cy5zZXJpYWxpemVFcnJvciA9IHNlcmlhbGl6ZUVycm9yO1xuLyoqXG4gKiBDb252ZXJ0cyBhbiBlcnJvciB0byBhIHNlcmlhbGl6YWJsZSBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGdldEVycm9yT2JqZWN0KGVycm9yKSB7XG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IsXG4gICAgICAgICAgICBjb2RlOiBleHBvcnRzLnN0YW5kYXJkRXJyb3JDb2Rlcy5ycGMuaW50ZXJuYWwsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKCgwLCBXZWIzUmVzcG9uc2VfMS5pc0Vycm9yUmVzcG9uc2UpKGVycm9yKSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBlcnJvciksIHsgbWVzc2FnZTogZXJyb3IuZXJyb3JNZXNzYWdlLCBjb2RlOiBlcnJvci5lcnJvckNvZGUsIGRhdGE6IHsgbWV0aG9kOiBlcnJvci5tZXRob2QsIHJlc3VsdDogZXJyb3IucmVzdWx0IH0gfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxufVxuLyoqXG4gKiBHZXRzIHRoZSBtZXRob2QgbmFtZSBmcm9tIHRoZSBzZXJpYWxpemVkIGRhdGEgb3IgdGhlIHJlcXVlc3QuXG4gKi9cbmZ1bmN0aW9uIGdldE1ldGhvZChzZXJpYWxpemVkRGF0YSwgcmVxdWVzdCkge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBtZXRob2RJbkRhdGEgPSAoX2EgPSBzZXJpYWxpemVkRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm1ldGhvZDtcbiAgICBpZiAobWV0aG9kSW5EYXRhKSB7XG4gICAgICAgIHJldHVybiBtZXRob2RJbkRhdGE7XG4gICAgfVxuICAgIGlmIChyZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIHJlcXVlc3QgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuICAgIGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHJlcXVlc3QpKSB7XG4gICAgICAgIHJldHVybiByZXF1ZXN0Lm1ldGhvZDtcbiAgICB9XG4gICAgZWxzZSBpZiAocmVxdWVzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiByZXF1ZXN0WzBdLm1ldGhvZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0gZ2V0RXJyb3JDb2RlIC0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIFJldHVybnMgdGhlIGVycm9yIGNvZGUgZnJvbSBhbiBlcnJvciBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGdldEVycm9yQ29kZShlcnJvcikge1xuICAgIHZhciBfYTtcbiAgICBpZiAodHlwZW9mIGVycm9yID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNFcnJvcldpdGhDb2RlKGVycm9yKSkge1xuICAgICAgICByZXR1cm4gKF9hID0gZXJyb3IuY29kZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZXJyb3IuZXJyb3JDb2RlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuZXhwb3J0cy5nZXRFcnJvckNvZGUgPSBnZXRFcnJvckNvZGU7XG5mdW5jdGlvbiBpc0Vycm9yV2l0aENvZGUoZXJyb3IpIHtcbiAgICByZXR1cm4gKHR5cGVvZiBlcnJvciA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBlcnJvciAhPT0gbnVsbCAmJlxuICAgICAgICAodHlwZW9mIGVycm9yLmNvZGUgPT09IFwibnVtYmVyXCIgfHxcbiAgICAgICAgICAgIHR5cGVvZiBlcnJvci5lcnJvckNvZGUgPT09IFwibnVtYmVyXCIpKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/errors.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/index.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CoinbaseWalletProvider = exports.CoinbaseWalletSDK = void 0;\nconst CoinbaseWalletSDK_1 = __webpack_require__(/*! ./CoinbaseWalletSDK */ \"./node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js\");\nconst CoinbaseWalletProvider_1 = __webpack_require__(/*! ./provider/CoinbaseWalletProvider */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js\");\nvar CoinbaseWalletSDK_2 = __webpack_require__(/*! ./CoinbaseWalletSDK */ \"./node_modules/@coinbase/wallet-sdk/dist/CoinbaseWalletSDK.js\");\nObject.defineProperty(exports, \"CoinbaseWalletSDK\", ({ enumerable: true, get: function () { return CoinbaseWalletSDK_2.CoinbaseWalletSDK; } }));\nvar CoinbaseWalletProvider_2 = __webpack_require__(/*! ./provider/CoinbaseWalletProvider */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js\");\nObject.defineProperty(exports, \"CoinbaseWalletProvider\", ({ enumerable: true, get: function () { return CoinbaseWalletProvider_2.CoinbaseWalletProvider; } }));\nexports[\"default\"] = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\nif (typeof window !== \"undefined\") {\n window.CoinbaseWalletSDK = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\n window.CoinbaseWalletProvider = CoinbaseWalletProvider_1.CoinbaseWalletProvider;\n /**\n * @deprecated Use `window.CoinbaseWalletSDK`\n */\n window.WalletLink = CoinbaseWalletSDK_1.CoinbaseWalletSDK;\n /**\n * @deprecated Use `window.CoinbaseWalletProvider`\n */\n window.WalletLinkProvider = CoinbaseWalletProvider_1.CoinbaseWalletProvider;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsOEJBQThCLEdBQUcseUJBQXlCO0FBQzFELDRCQUE0QixtQkFBTyxDQUFDLDBGQUFxQjtBQUN6RCxpQ0FBaUMsbUJBQU8sQ0FBQyxzSEFBbUM7QUFDNUUsMEJBQTBCLG1CQUFPLENBQUMsMEZBQXFCO0FBQ3ZELHFEQUFvRCxFQUFFLHFDQUFxQyxpREFBaUQsRUFBQztBQUM3SSwrQkFBK0IsbUJBQU8sQ0FBQyxzSEFBbUM7QUFDMUUsMERBQXlELEVBQUUscUNBQXFDLDJEQUEyRCxFQUFDO0FBQzVKLGtCQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L2luZGV4LmpzPzRmNWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQ29pbmJhc2VXYWxsZXRQcm92aWRlciA9IGV4cG9ydHMuQ29pbmJhc2VXYWxsZXRTREsgPSB2b2lkIDA7XG5jb25zdCBDb2luYmFzZVdhbGxldFNES18xID0gcmVxdWlyZShcIi4vQ29pbmJhc2VXYWxsZXRTREtcIik7XG5jb25zdCBDb2luYmFzZVdhbGxldFByb3ZpZGVyXzEgPSByZXF1aXJlKFwiLi9wcm92aWRlci9Db2luYmFzZVdhbGxldFByb3ZpZGVyXCIpO1xudmFyIENvaW5iYXNlV2FsbGV0U0RLXzIgPSByZXF1aXJlKFwiLi9Db2luYmFzZVdhbGxldFNES1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNvaW5iYXNlV2FsbGV0U0RLXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBDb2luYmFzZVdhbGxldFNES18yLkNvaW5iYXNlV2FsbGV0U0RLOyB9IH0pO1xudmFyIENvaW5iYXNlV2FsbGV0UHJvdmlkZXJfMiA9IHJlcXVpcmUoXCIuL3Byb3ZpZGVyL0NvaW5iYXNlV2FsbGV0UHJvdmlkZXJcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb2luYmFzZVdhbGxldFByb3ZpZGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBDb2luYmFzZVdhbGxldFByb3ZpZGVyXzIuQ29pbmJhc2VXYWxsZXRQcm92aWRlcjsgfSB9KTtcbmV4cG9ydHMuZGVmYXVsdCA9IENvaW5iYXNlV2FsbGV0U0RLXzEuQ29pbmJhc2VXYWxsZXRTREs7XG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHdpbmRvdy5Db2luYmFzZVdhbGxldFNESyA9IENvaW5iYXNlV2FsbGV0U0RLXzEuQ29pbmJhc2VXYWxsZXRTREs7XG4gICAgd2luZG93LkNvaW5iYXNlV2FsbGV0UHJvdmlkZXIgPSBDb2luYmFzZVdhbGxldFByb3ZpZGVyXzEuQ29pbmJhc2VXYWxsZXRQcm92aWRlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYHdpbmRvdy5Db2luYmFzZVdhbGxldFNES2BcbiAgICAgKi9cbiAgICB3aW5kb3cuV2FsbGV0TGluayA9IENvaW5iYXNlV2FsbGV0U0RLXzEuQ29pbmJhc2VXYWxsZXRTREs7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGB3aW5kb3cuQ29pbmJhc2VXYWxsZXRQcm92aWRlcmBcbiAgICAgKi9cbiAgICB3aW5kb3cuV2FsbGV0TGlua1Byb3ZpZGVyID0gQ29pbmJhc2VXYWxsZXRQcm92aWRlcl8xLkNvaW5iYXNlV2FsbGV0UHJvdmlkZXI7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/lib/ScopedLocalStorage.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/lib/ScopedLocalStorage.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ScopedLocalStorage = void 0;\nclass ScopedLocalStorage {\n constructor(scope) {\n this.scope = scope;\n }\n setItem(key, value) {\n localStorage.setItem(this.scopedKey(key), value);\n }\n getItem(key) {\n return localStorage.getItem(this.scopedKey(key));\n }\n removeItem(key) {\n localStorage.removeItem(this.scopedKey(key));\n }\n clear() {\n const prefix = this.scopedKey(\"\");\n const keysToRemove = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (typeof key === \"string\" && key.startsWith(prefix)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach(key => localStorage.removeItem(key));\n }\n scopedKey(key) {\n return `${this.scope}:${key}`;\n }\n}\nexports.ScopedLocalStorage = ScopedLocalStorage;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9saWIvU2NvcGVkTG9jYWxTdG9yYWdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IseUJBQXlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsV0FBVyxHQUFHLElBQUk7QUFDcEM7QUFDQTtBQUNBLDBCQUEwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9saWIvU2NvcGVkTG9jYWxTdG9yYWdlLmpzP2MyNmEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU2NvcGVkTG9jYWxTdG9yYWdlID0gdm9pZCAwO1xuY2xhc3MgU2NvcGVkTG9jYWxTdG9yYWdlIHtcbiAgICBjb25zdHJ1Y3RvcihzY29wZSkge1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgfVxuICAgIHNldEl0ZW0oa2V5LCB2YWx1ZSkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnNjb3BlZEtleShrZXkpLCB2YWx1ZSk7XG4gICAgfVxuICAgIGdldEl0ZW0oa2V5KSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnNjb3BlZEtleShrZXkpKTtcbiAgICB9XG4gICAgcmVtb3ZlSXRlbShrZXkpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zY29wZWRLZXkoa2V5KSk7XG4gICAgfVxuICAgIGNsZWFyKCkge1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLnNjb3BlZEtleShcIlwiKTtcbiAgICAgICAgY29uc3Qga2V5c1RvUmVtb3ZlID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9jYWxTdG9yYWdlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBrZXkgPT09IFwic3RyaW5nXCIgJiYga2V5LnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgICAgICAgICAgIGtleXNUb1JlbW92ZS5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAga2V5c1RvUmVtb3ZlLmZvckVhY2goa2V5ID0+IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSkpO1xuICAgIH1cbiAgICBzY29wZWRLZXkoa2V5KSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnNjb3BlfToke2tleX1gO1xuICAgIH1cbn1cbmV4cG9ydHMuU2NvcGVkTG9jYWxTdG9yYWdlID0gU2NvcGVkTG9jYWxTdG9yYWdlO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/lib/ScopedLocalStorage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset-css.js": -/*!********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset-css.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = `@namespace svg \"http://www.w3.org/2000/svg\";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}`;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9saWIvY3NzUmVzZXQtY3NzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBZSxnREFBZ0Qsd0NBQXdDLGVBQWUsa0JBQWtCLDJCQUEyQixxQkFBcUIseUJBQXlCLDRCQUE0QixvQkFBb0IsNkJBQTZCLCtCQUErQiw0QkFBNEIsYUFBYSw2QkFBNkIsMkJBQTJCLCtCQUErQixzQkFBc0IsOEJBQThCLHdCQUF3Qix3QkFBd0Isd0JBQXdCLHlCQUF5QiwwQkFBMEIsU0FBUyxrQkFBa0Isb0JBQW9CLHFCQUFxQixnQkFBZ0IsNEJBQTRCLDRCQUE0Qiw2QkFBNkIseUJBQXlCLDJCQUEyQix5QkFBeUIsa0JBQWtCLGNBQWMsMEJBQTBCLHVCQUF1Qix5QkFBeUIsZ0JBQWdCLGVBQWUsMkJBQTJCLHdCQUF3QiwwQkFBMEIsaUJBQWlCLGFBQWEseUJBQXlCLHlCQUF5QiwwQkFBMEIsc0JBQXNCLHdCQUF3QixnQkFBZ0Isc0JBQXNCLGlCQUFpQixXQUFXLFVBQVUsY0FBYyxhQUFhLGtCQUFrQixvQkFBb0Isa0JBQWtCLHFDQUFxQywrQkFBK0IsdUJBQXVCLHVCQUF1QixjQUFjLGtCQUFrQix1QkFBdUIsbUJBQW1CLGNBQWMsaUJBQWlCLFdBQVcsWUFBWSwwRkFBMEYsaUJBQWlCLGtCQUFrQixvQkFBb0IsbUJBQW1CLFlBQVksYUFBYSxzQkFBc0IsbUJBQW1CLGdCQUFnQixzQkFBc0IsNEJBQTRCLHFCQUFxQixTQUFTLGdCQUFnQixjQUFjLGVBQWUsYUFBYSxVQUFVLFVBQVUsVUFBVSxxQkFBcUIsbUJBQW1CLHFCQUFxQixpQkFBaUIsbUJBQW1CLG1CQUFtQixVQUFVLGlCQUFpQixlQUFlLGdCQUFnQixjQUFjLHNCQUFzQix1QkFBdUIsdUJBQXVCLGlCQUFpQiwyQkFBMkIsb0JBQW9CLGdCQUFnQiwyQ0FBMkMsV0FBVyxrQkFBa0IsbUJBQW1CLHFCQUFxQixxQkFBcUIsOEJBQThCLDBCQUEwQiw0QkFBNEIsY0FBYyxpQkFBaUIsb0JBQW9CLGVBQWUscUJBQXFCLGdCQUFnQixvQkFBb0IsdUJBQXVCLHlCQUF5QixnQ0FBZ0Msb0JBQW9CLHdCQUF3QixtQkFBbUIsbUJBQW1CLFNBQVMsb0JBQW9CLGFBQWEsMEJBQTBCLGlCQUFpQixxQkFBcUIsc0JBQXNCLDBGQUEwRixjQUFjLHNDQUFzQyxTQUFTLFVBQVUseUJBQXlCLGFBQWEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvbGliL2Nzc1Jlc2V0LWNzcy5qcz8xMjQ2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlZmF1bHQgPSBgQG5hbWVzcGFjZSBzdmcgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiOy4tY2J3c2RrLWNzcy1yZXNldCwuLWNid3Nkay1jc3MtcmVzZXQgKnthbmltYXRpb246bm9uZTthbmltYXRpb24tZGVsYXk6MDthbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDthbmltYXRpb24tZHVyYXRpb246MDthbmltYXRpb24tZmlsbC1tb2RlOm5vbmU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1uYW1lOm5vbmU7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZzthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlO2JhY2tncm91bmQ6MDtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6c2Nyb2xsO2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7YmFja2dyb3VuZC1vcmlnaW46cGFkZGluZy1ib3g7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7YmFja2dyb3VuZC1wb3NpdGlvbi14OjA7YmFja2dyb3VuZC1wb3NpdGlvbi15OjA7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0O2JhY2tncm91bmQtc2l6ZTphdXRvIGF1dG87Ym9yZGVyOjA7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXdpZHRoOm1lZGl1bTtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjppbmhlcml0O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tc3R5bGU6bm9uZTtib3JkZXItYm90dG9tLXdpZHRoOm1lZGl1bTtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLWltYWdlOm5vbmU7Ym9yZGVyLWxlZnQ6MDtib3JkZXItbGVmdC1jb2xvcjppbmhlcml0O2JvcmRlci1sZWZ0LXN0eWxlOm5vbmU7Ym9yZGVyLWxlZnQtd2lkdGg6bWVkaXVtO2JvcmRlci1yYWRpdXM6MDtib3JkZXItcmlnaHQ6MDtib3JkZXItcmlnaHQtY29sb3I6aW5oZXJpdDtib3JkZXItcmlnaHQtc3R5bGU6bm9uZTtib3JkZXItcmlnaHQtd2lkdGg6bWVkaXVtO2JvcmRlci1zcGFjaW5nOjA7Ym9yZGVyLXRvcDowO2JvcmRlci10b3AtY29sb3I6aW5oZXJpdDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItdG9wLXN0eWxlOm5vbmU7Ym9yZGVyLXRvcC13aWR0aDptZWRpdW07Ym94LXNoYWRvdzpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjYXB0aW9uLXNpZGU6dG9wO2NsZWFyOm5vbmU7Y2xpcDphdXRvO2NvbG9yOmluaGVyaXQ7Y29sdW1uczphdXRvO2NvbHVtbi1jb3VudDphdXRvO2NvbHVtbi1maWxsOmJhbGFuY2U7Y29sdW1uLWdhcDpub3JtYWw7Y29sdW1uLXJ1bGU6bWVkaXVtIG5vbmUgY3VycmVudENvbG9yO2NvbHVtbi1ydWxlLWNvbG9yOmN1cnJlbnRDb2xvcjtjb2x1bW4tcnVsZS1zdHlsZTpub25lO2NvbHVtbi1ydWxlLXdpZHRoOm5vbmU7Y29sdW1uLXNwYW46MTtjb2x1bW4td2lkdGg6YXV0bztjb3VudGVyLWluY3JlbWVudDpub25lO2NvdW50ZXItcmVzZXQ6bm9uZTtkaXJlY3Rpb246bHRyO2VtcHR5LWNlbGxzOnNob3c7ZmxvYXQ6bm9uZTtmb250Om5vcm1hbDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOm1lZGl1bTtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtoZWlnaHQ6YXV0bztoeXBoZW5zOm5vbmU7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDtsaXN0LXN0eWxlOm5vbmU7bGlzdC1zdHlsZS1pbWFnZTpub25lO2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtsaXN0LXN0eWxlLXR5cGU6ZGlzYzttYXJnaW46MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDttYXJnaW4tdG9wOjA7b3BhY2l0eToxO29ycGhhbnM6MDtvdXRsaW5lOjA7b3V0bGluZS1jb2xvcjppbnZlcnQ7b3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtd2lkdGg6bWVkaXVtO292ZXJmbG93OnZpc2libGU7b3ZlcmZsb3cteDp2aXNpYmxlO292ZXJmbG93LXk6dmlzaWJsZTtwYWRkaW5nOjA7cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy10b3A6MDtwYWdlLWJyZWFrLWFmdGVyOmF1dG87cGFnZS1icmVhay1iZWZvcmU6YXV0bztwYWdlLWJyZWFrLWluc2lkZTphdXRvO3BlcnNwZWN0aXZlOm5vbmU7cGVyc3BlY3RpdmUtb3JpZ2luOjUwJSA1MCU7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpzdGF0aWM7cXVvdGVzOlwiXFxcXDIwMUNcIiBcIlxcXFwyMDFEXCIgXCJcXFxcMjAxOFwiIFwiXFxcXDIwMTlcIjt0YWItc2l6ZTo4O3RhYmxlLWxheW91dDphdXRvO3RleHQtYWxpZ246aW5oZXJpdDt0ZXh0LWFsaWduLWxhc3Q6YXV0bzt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tY29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWluZGVudDowO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm0tc3R5bGU6ZmxhdDt0cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbi1kZWxheTowczt0cmFuc2l0aW9uLWR1cmF0aW9uOjBzO3RyYW5zaXRpb24tcHJvcGVydHk6bm9uZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlO3VuaWNvZGUtYmlkaTpub3JtYWw7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3doaXRlLXNwYWNlOm5vcm1hbDt3aWRvd3M6MDt3b3JkLXNwYWNpbmc6bm9ybWFsO3otaW5kZXg6YXV0b30uLWNid3Nkay1jc3MtcmVzZXQgc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGR9Li1jYndzZGstY3NzLXJlc2V0ICp7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFwiU2Vnb2UgVUlcIixcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxfS4tY2J3c2RrLWNzcy1yZXNldCBbY2xhc3MqPWNvbnRhaW5lcl17bWFyZ2luOjA7cGFkZGluZzowfS4tY2J3c2RrLWNzcy1yZXNldCBzdHlsZXtkaXNwbGF5Om5vbmV9YDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset-css.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset.js": -/*!****************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.injectCssReset = void 0;\nconst cssReset_css_1 = __importDefault(__webpack_require__(/*! ./cssReset-css */ \"./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset-css.js\"));\nfunction injectCssReset() {\n const styleEl = document.createElement(\"style\");\n styleEl.type = \"text/css\";\n styleEl.appendChild(document.createTextNode(cssReset_css_1.default));\n document.documentElement.appendChild(styleEl);\n}\nexports.injectCssReset = injectCssReset;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9saWIvY3NzUmVzZXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCLHVDQUF1QyxtQkFBTyxDQUFDLG9GQUFnQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvbGliL2Nzc1Jlc2V0LmpzPzBmMmEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaW5qZWN0Q3NzUmVzZXQgPSB2b2lkIDA7XG5jb25zdCBjc3NSZXNldF9jc3NfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi9jc3NSZXNldC1jc3NcIikpO1xuZnVuY3Rpb24gaW5qZWN0Q3NzUmVzZXQoKSB7XG4gICAgY29uc3Qgc3R5bGVFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICBzdHlsZUVsLnR5cGUgPSBcInRleHQvY3NzXCI7XG4gICAgc3R5bGVFbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3NSZXNldF9jc3NfMS5kZWZhdWx0KSk7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKHN0eWxlRWwpO1xufVxuZXhwb3J0cy5pbmplY3RDc3NSZXNldCA9IGluamVjdENzc1Jlc2V0O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CoinbaseWalletProvider = void 0;\nconst safe_event_emitter_1 = __importDefault(__webpack_require__(/*! @metamask/safe-event-emitter */ \"./node_modules/@metamask/safe-event-emitter/index.js\"));\nconst bn_js_1 = __importDefault(__webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\"));\nconst DiagnosticLogger_1 = __webpack_require__(/*! ../connection/DiagnosticLogger */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/DiagnosticLogger.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/@coinbase/wallet-sdk/dist/errors.js\");\nconst Session_1 = __webpack_require__(/*! ../relay/Session */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Session.js\");\nconst WalletSDKRelayAbstract_1 = __webpack_require__(/*! ../relay/WalletSDKRelayAbstract */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayAbstract.js\");\nconst Web3Method_1 = __webpack_require__(/*! ../relay/Web3Method */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Method.js\");\nconst Web3Response_1 = __webpack_require__(/*! ../relay/Web3Response */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Response.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nconst eth_eip712_util_1 = __importDefault(__webpack_require__(/*! ../vendor-js/eth-eip712-util */ \"./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/index.js\"));\nconst FilterPolyfill_1 = __webpack_require__(/*! ./FilterPolyfill */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/FilterPolyfill.js\");\nconst JSONRPC_1 = __webpack_require__(/*! ./JSONRPC */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/JSONRPC.js\");\nconst SubscriptionManager_1 = __webpack_require__(/*! ./SubscriptionManager */ \"./node_modules/@coinbase/wallet-sdk/dist/provider/SubscriptionManager.js\");\nconst DEFAULT_CHAIN_ID_KEY = \"DefaultChainId\";\nconst DEFAULT_JSON_RPC_URL = \"DefaultJsonRpcUrl\";\nclass CoinbaseWalletProvider extends safe_event_emitter_1.default {\n constructor(options) {\n var _a, _b;\n super();\n this._filterPolyfill = new FilterPolyfill_1.FilterPolyfill(this);\n this._subscriptionManager = new SubscriptionManager_1.SubscriptionManager(this);\n this._relay = null;\n this._addresses = [];\n this.hasMadeFirstChainChangedEmission = false;\n this.setProviderInfo = this.setProviderInfo.bind(this);\n this.updateProviderInfo = this.updateProviderInfo.bind(this);\n this.getChainId = this.getChainId.bind(this);\n this.setAppInfo = this.setAppInfo.bind(this);\n this.enable = this.enable.bind(this);\n this.close = this.close.bind(this);\n this.send = this.send.bind(this);\n this.sendAsync = this.sendAsync.bind(this);\n this.request = this.request.bind(this);\n this._setAddresses = this._setAddresses.bind(this);\n this.scanQRCode = this.scanQRCode.bind(this);\n this.genericRequest = this.genericRequest.bind(this);\n this._chainIdFromOpts = options.chainId;\n this._jsonRpcUrlFromOpts = options.jsonRpcUrl;\n this._overrideIsMetaMask = options.overrideIsMetaMask;\n this._relayProvider = options.relayProvider;\n this._storage = options.storage;\n this._relayEventManager = options.relayEventManager;\n this.diagnostic = options.diagnosticLogger;\n this.reloadOnDisconnect = true;\n this.isCoinbaseWallet = (_a = options.overrideIsCoinbaseWallet) !== null && _a !== void 0 ? _a : true;\n this.isCoinbaseBrowser = (_b = options.overrideIsCoinbaseBrowser) !== null && _b !== void 0 ? _b : false;\n this.qrUrl = options.qrUrl;\n this.supportsAddressSwitching = options.supportsAddressSwitching;\n this.isLedger = options.isLedger;\n const chainId = this.getChainId();\n const chainIdStr = (0, util_1.prepend0x)(chainId.toString(16));\n // indicate that we've connected, for EIP-1193 compliance\n this.emit(\"connect\", { chainIdStr });\n const cachedAddresses = this._storage.getItem(WalletSDKRelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY);\n if (cachedAddresses) {\n const addresses = cachedAddresses.split(\" \");\n if (addresses[0] !== \"\") {\n this._addresses = addresses.map(address => (0, util_1.ensureAddressString)(address));\n this.emit(\"accountsChanged\", addresses);\n }\n }\n this._subscriptionManager.events.on(\"notification\", (notification) => {\n this.emit(\"message\", {\n type: notification.method,\n data: notification.params,\n });\n });\n if (this._addresses.length > 0) {\n void this.initializeRelay();\n }\n window.addEventListener(\"message\", event => {\n var _a;\n // Used to verify the source and window are correct before proceeding\n if (event.origin !== location.origin || event.source !== window) {\n return;\n }\n if (event.data.type !== \"walletLinkMessage\")\n return; // compatibility with CBW extension\n if (event.data.data.action === \"defaultChainChanged\" ||\n event.data.data.action === \"dappChainSwitched\") {\n const _chainId = event.data.data.chainId;\n const jsonRpcUrl = (_a = event.data.data.jsonRpcUrl) !== null && _a !== void 0 ? _a : this.jsonRpcUrl;\n this.updateProviderInfo(jsonRpcUrl, Number(_chainId));\n }\n if (event.data.data.action === \"addressChanged\") {\n this._setAddresses([event.data.data.address]);\n }\n });\n }\n /** @deprecated Use `.request({ method: 'eth_accounts' })` instead. */\n get selectedAddress() {\n return this._addresses[0] || undefined;\n }\n /** @deprecated Use the chain ID. If you still need the network ID, use `.request({ method: 'net_version' })`. */\n get networkVersion() {\n return this.getChainId().toString(10);\n }\n /** @deprecated Use `.request({ method: 'eth_chainId' })` instead. */\n get chainId() {\n return (0, util_1.prepend0x)(this.getChainId().toString(16));\n }\n get isWalletLink() {\n // backward compatibility\n return true;\n }\n /**\n * Some DApps (i.e. Alpha Homora) seem to require the window.ethereum object return\n * true for this method.\n */\n get isMetaMask() {\n return this._overrideIsMetaMask;\n }\n get host() {\n return this.jsonRpcUrl;\n }\n get connected() {\n return true;\n }\n isConnected() {\n return true;\n }\n get jsonRpcUrl() {\n var _a;\n return ((_a = this._storage.getItem(DEFAULT_JSON_RPC_URL)) !== null && _a !== void 0 ? _a : this._jsonRpcUrlFromOpts);\n }\n set jsonRpcUrl(value) {\n this._storage.setItem(DEFAULT_JSON_RPC_URL, value);\n }\n disableReloadOnDisconnect() {\n this.reloadOnDisconnect = false;\n }\n /**\n * this function is called when coinbase provider is being injected to a dapp\n * standalone + walletlinked extension, ledger, in-app browser using cipher-web-view\n */\n setProviderInfo(jsonRpcUrl, chainId) {\n // extension tend to use the chianId from the dapp, while in-app browser and ledger overrides the default network\n if (!(this.isLedger || this.isCoinbaseBrowser)) {\n this._chainIdFromOpts = chainId;\n this._jsonRpcUrlFromOpts = jsonRpcUrl;\n }\n this.updateProviderInfo(this.jsonRpcUrl, this.getChainId());\n }\n updateProviderInfo(jsonRpcUrl, chainId) {\n this.jsonRpcUrl = jsonRpcUrl;\n // emit chainChanged event if necessary\n const originalChainId = this.getChainId();\n this._storage.setItem(DEFAULT_CHAIN_ID_KEY, chainId.toString(10));\n const chainChanged = (0, util_1.ensureIntNumber)(chainId) !== originalChainId;\n if (chainChanged || !this.hasMadeFirstChainChangedEmission) {\n this.emit(\"chainChanged\", this.getChainId());\n this.hasMadeFirstChainChangedEmission = true;\n }\n }\n async watchAsset(type, address, symbol, decimals, image, chainId) {\n const relay = await this.initializeRelay();\n const result = await relay.watchAsset(type, address, symbol, decimals, image, chainId === null || chainId === void 0 ? void 0 : chainId.toString()).promise;\n return !!result.result;\n }\n async addEthereumChain(chainId, rpcUrls, blockExplorerUrls, chainName, iconUrls, nativeCurrency) {\n var _a, _b;\n if ((0, util_1.ensureIntNumber)(chainId) === this.getChainId()) {\n return false;\n }\n const relay = await this.initializeRelay();\n const isWhitelistedNetworkOrStandalone = relay.inlineAddEthereumChain(chainId.toString());\n if (!this._isAuthorized() && !isWhitelistedNetworkOrStandalone) {\n await relay.requestEthereumAccounts().promise;\n }\n const res = await relay.addEthereumChain(chainId.toString(), rpcUrls, iconUrls, blockExplorerUrls, chainName, nativeCurrency).promise;\n if (((_a = res.result) === null || _a === void 0 ? void 0 : _a.isApproved) === true) {\n this.updateProviderInfo(rpcUrls[0], chainId);\n }\n return ((_b = res.result) === null || _b === void 0 ? void 0 : _b.isApproved) === true;\n }\n async switchEthereumChain(chainId) {\n const relay = await this.initializeRelay();\n const res = await relay.switchEthereumChain(chainId.toString(10), this.selectedAddress || undefined).promise;\n // backward compatibility\n if ((0, Web3Response_1.isErrorResponse)(res) && res.errorCode) {\n if (res.errorCode === errors_1.standardErrorCodes.provider.unsupportedChain) {\n throw errors_1.standardErrors.provider.unsupportedChain(chainId);\n }\n else {\n throw errors_1.standardErrors.provider.custom({\n message: res.errorMessage,\n code: res.errorCode,\n });\n }\n }\n const switchResponse = res.result;\n if (switchResponse.isApproved && switchResponse.rpcUrl.length > 0) {\n this.updateProviderInfo(switchResponse.rpcUrl, chainId);\n }\n }\n setAppInfo(appName, appLogoUrl) {\n void this.initializeRelay().then(relay => relay.setAppInfo(appName, appLogoUrl));\n }\n /** @deprecated Use `.request({ method: 'eth_requestAccounts' })` instead. */\n async enable() {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: \"provider::enable\",\n addresses_length: this._addresses.length,\n sessionIdHash: this._relay\n ? Session_1.Session.hash(this._relay.session.id)\n : undefined,\n });\n if (this._addresses.length > 0) {\n return [...this._addresses];\n }\n return await this.send(JSONRPC_1.JSONRPCMethod.eth_requestAccounts);\n }\n async close() {\n const relay = await this.initializeRelay();\n relay.resetAndReload();\n }\n send(requestOrMethod, callbackOrParams) {\n // send<T>(method, params): Promise<T>\n try {\n const result = this._send(requestOrMethod, callbackOrParams);\n if (result instanceof Promise) {\n return result.catch(error => {\n throw (0, errors_1.serializeError)(error, requestOrMethod);\n });\n }\n }\n catch (error) {\n throw (0, errors_1.serializeError)(error, requestOrMethod);\n }\n }\n _send(requestOrMethod, callbackOrParams) {\n if (typeof requestOrMethod === \"string\") {\n const method = requestOrMethod;\n const params = Array.isArray(callbackOrParams)\n ? callbackOrParams\n : callbackOrParams !== undefined\n ? [callbackOrParams]\n : [];\n const request = {\n jsonrpc: \"2.0\",\n id: 0,\n method,\n params,\n };\n return this._sendRequestAsync(request).then(res => res.result);\n }\n // send(JSONRPCRequest | JSONRPCRequest[], callback): void\n if (typeof callbackOrParams === \"function\") {\n const request = requestOrMethod;\n const callback = callbackOrParams;\n return this._sendAsync(request, callback);\n }\n // send(JSONRPCRequest[]): JSONRPCResponse[]\n if (Array.isArray(requestOrMethod)) {\n const requests = requestOrMethod;\n return requests.map(r => this._sendRequest(r));\n }\n // send(JSONRPCRequest): JSONRPCResponse\n const req = requestOrMethod;\n return this._sendRequest(req);\n }\n async sendAsync(request, callback) {\n try {\n return this._sendAsync(request, callback).catch(error => {\n throw (0, errors_1.serializeError)(error, request);\n });\n }\n catch (error) {\n return Promise.reject((0, errors_1.serializeError)(error, request));\n }\n }\n async _sendAsync(request, callback) {\n if (typeof callback !== \"function\") {\n throw new Error(\"callback is required\");\n }\n // send(JSONRPCRequest[], callback): void\n if (Array.isArray(request)) {\n const arrayCb = callback;\n this._sendMultipleRequestsAsync(request)\n .then(responses => arrayCb(null, responses))\n .catch(err => arrayCb(err, null));\n return;\n }\n // send(JSONRPCRequest, callback): void\n const cb = callback;\n return this._sendRequestAsync(request)\n .then(response => cb(null, response))\n .catch(err => cb(err, null));\n }\n async request(args) {\n try {\n return this._request(args).catch(error => {\n throw (0, errors_1.serializeError)(error, args.method);\n });\n }\n catch (error) {\n return Promise.reject((0, errors_1.serializeError)(error, args.method));\n }\n }\n async _request(args) {\n if (!args || typeof args !== \"object\" || Array.isArray(args)) {\n throw errors_1.standardErrors.rpc.invalidRequest({\n message: \"Expected a single, non-array, object argument.\",\n data: args,\n });\n }\n const { method, params } = args;\n if (typeof method !== \"string\" || method.length === 0) {\n throw errors_1.standardErrors.rpc.invalidRequest({\n message: \"'args.method' must be a non-empty string.\",\n data: args,\n });\n }\n if (params !== undefined &&\n !Array.isArray(params) &&\n (typeof params !== \"object\" || params === null)) {\n throw errors_1.standardErrors.rpc.invalidRequest({\n message: \"'args.params' must be an object or array if provided.\",\n data: args,\n });\n }\n const newParams = params === undefined ? [] : params;\n // Coinbase Wallet Requests\n const id = this._relayEventManager.makeRequestId();\n const result = await this._sendRequestAsync({\n method,\n params: newParams,\n jsonrpc: \"2.0\",\n id,\n });\n return result.result;\n }\n async scanQRCode(match) {\n var _a;\n const relay = await this.initializeRelay();\n const res = await relay.scanQRCode((0, util_1.ensureRegExpString)(match)).promise;\n if (typeof res.result !== \"string\") {\n throw (0, errors_1.serializeError)((_a = res.errorMessage) !== null && _a !== void 0 ? _a : \"result was not a string\", Web3Method_1.Web3Method.scanQRCode);\n }\n return res.result;\n }\n async genericRequest(data, action) {\n var _a;\n const relay = await this.initializeRelay();\n const res = await relay.genericRequest(data, action).promise;\n if (typeof res.result !== \"string\") {\n throw (0, errors_1.serializeError)((_a = res.errorMessage) !== null && _a !== void 0 ? _a : \"result was not a string\", Web3Method_1.Web3Method.generic);\n }\n return res.result;\n }\n async selectProvider(providerOptions) {\n var _a;\n const relay = await this.initializeRelay();\n const res = await relay.selectProvider(providerOptions).promise;\n if (typeof res.result !== \"string\") {\n throw (0, errors_1.serializeError)((_a = res.errorMessage) !== null && _a !== void 0 ? _a : \"result was not a string\", Web3Method_1.Web3Method.selectProvider);\n }\n return res.result;\n }\n supportsSubscriptions() {\n return false;\n }\n subscribe() {\n throw new Error(\"Subscriptions are not supported\");\n }\n unsubscribe() {\n throw new Error(\"Subscriptions are not supported\");\n }\n disconnect() {\n return true;\n }\n _sendRequest(request) {\n const response = {\n jsonrpc: \"2.0\",\n id: request.id,\n };\n const { method } = request;\n response.result = this._handleSynchronousMethods(request);\n if (response.result === undefined) {\n throw new Error(`Coinbase Wallet does not support calling ${method} synchronously without ` +\n `a callback. Please provide a callback parameter to call ${method} ` +\n `asynchronously.`);\n }\n return response;\n }\n _setAddresses(addresses, isDisconnect) {\n if (!Array.isArray(addresses)) {\n throw new Error(\"addresses is not an array\");\n }\n const newAddresses = addresses.map(address => (0, util_1.ensureAddressString)(address));\n if (JSON.stringify(newAddresses) === JSON.stringify(this._addresses)) {\n return;\n }\n if (this._addresses.length > 0 &&\n this.supportsAddressSwitching === false &&\n !isDisconnect) {\n /**\n * The extension currently doesn't support switching selected wallet index\n * make sure walletlink doesn't update it's address in this case\n */\n return;\n }\n this._addresses = newAddresses;\n this.emit(\"accountsChanged\", this._addresses);\n this._storage.setItem(WalletSDKRelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY, newAddresses.join(\" \"));\n }\n _sendRequestAsync(request) {\n return new Promise((resolve, reject) => {\n try {\n const syncResult = this._handleSynchronousMethods(request);\n if (syncResult !== undefined) {\n return resolve({\n jsonrpc: \"2.0\",\n id: request.id,\n result: syncResult,\n });\n }\n const filterPromise = this._handleAsynchronousFilterMethods(request);\n if (filterPromise !== undefined) {\n filterPromise\n .then(res => resolve(Object.assign(Object.assign({}, res), { id: request.id })))\n .catch(err => reject(err));\n return;\n }\n const subscriptionPromise = this._handleSubscriptionMethods(request);\n if (subscriptionPromise !== undefined) {\n subscriptionPromise\n .then(res => resolve({\n jsonrpc: \"2.0\",\n id: request.id,\n result: res.result,\n }))\n .catch(err => reject(err));\n return;\n }\n }\n catch (err) {\n return reject(err);\n }\n this._handleAsynchronousMethods(request)\n .then(res => res && resolve(Object.assign(Object.assign({}, res), { id: request.id })))\n .catch(err => reject(err));\n });\n }\n _sendMultipleRequestsAsync(requests) {\n return Promise.all(requests.map(r => this._sendRequestAsync(r)));\n }\n _handleSynchronousMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case JSONRPC_1.JSONRPCMethod.eth_accounts:\n return this._eth_accounts();\n case JSONRPC_1.JSONRPCMethod.eth_coinbase:\n return this._eth_coinbase();\n case JSONRPC_1.JSONRPCMethod.eth_uninstallFilter:\n return this._eth_uninstallFilter(params);\n case JSONRPC_1.JSONRPCMethod.net_version:\n return this._net_version();\n case JSONRPC_1.JSONRPCMethod.eth_chainId:\n return this._eth_chainId();\n default:\n return undefined;\n }\n }\n async _handleAsynchronousMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case JSONRPC_1.JSONRPCMethod.eth_requestAccounts:\n return this._eth_requestAccounts();\n case JSONRPC_1.JSONRPCMethod.eth_sign:\n return this._eth_sign(params);\n case JSONRPC_1.JSONRPCMethod.eth_ecRecover:\n return this._eth_ecRecover(params);\n case JSONRPC_1.JSONRPCMethod.personal_sign:\n return this._personal_sign(params);\n case JSONRPC_1.JSONRPCMethod.personal_ecRecover:\n return this._personal_ecRecover(params);\n case JSONRPC_1.JSONRPCMethod.eth_signTransaction:\n return this._eth_signTransaction(params);\n case JSONRPC_1.JSONRPCMethod.eth_sendRawTransaction:\n return this._eth_sendRawTransaction(params);\n case JSONRPC_1.JSONRPCMethod.eth_sendTransaction:\n return this._eth_sendTransaction(params);\n case JSONRPC_1.JSONRPCMethod.eth_signTypedData_v1:\n return this._eth_signTypedData_v1(params);\n case JSONRPC_1.JSONRPCMethod.eth_signTypedData_v2:\n return this._throwUnsupportedMethodError();\n case JSONRPC_1.JSONRPCMethod.eth_signTypedData_v3:\n return this._eth_signTypedData_v3(params);\n case JSONRPC_1.JSONRPCMethod.eth_signTypedData_v4:\n case JSONRPC_1.JSONRPCMethod.eth_signTypedData:\n return this._eth_signTypedData_v4(params);\n case JSONRPC_1.JSONRPCMethod.cbWallet_arbitrary:\n return this._cbwallet_arbitrary(params);\n case JSONRPC_1.JSONRPCMethod.wallet_addEthereumChain:\n return this._wallet_addEthereumChain(params);\n case JSONRPC_1.JSONRPCMethod.wallet_switchEthereumChain:\n return this._wallet_switchEthereumChain(params);\n case JSONRPC_1.JSONRPCMethod.wallet_watchAsset:\n return this._wallet_watchAsset(params);\n }\n const relay = await this.initializeRelay();\n return relay.makeEthereumJSONRPCRequest(request, this.jsonRpcUrl);\n }\n _handleAsynchronousFilterMethods(request) {\n const { method } = request;\n const params = request.params || [];\n switch (method) {\n case JSONRPC_1.JSONRPCMethod.eth_newFilter:\n return this._eth_newFilter(params);\n case JSONRPC_1.JSONRPCMethod.eth_newBlockFilter:\n return this._eth_newBlockFilter();\n case JSONRPC_1.JSONRPCMethod.eth_newPendingTransactionFilter:\n return this._eth_newPendingTransactionFilter();\n case JSONRPC_1.JSONRPCMethod.eth_getFilterChanges:\n return this._eth_getFilterChanges(params);\n case JSONRPC_1.JSONRPCMethod.eth_getFilterLogs:\n return this._eth_getFilterLogs(params);\n }\n return undefined;\n }\n _handleSubscriptionMethods(request) {\n switch (request.method) {\n case JSONRPC_1.JSONRPCMethod.eth_subscribe:\n case JSONRPC_1.JSONRPCMethod.eth_unsubscribe:\n return this._subscriptionManager.handleRequest(request);\n }\n return undefined;\n }\n _isKnownAddress(addressString) {\n try {\n const addressStr = (0, util_1.ensureAddressString)(addressString);\n const lowercaseAddresses = this._addresses.map(address => (0, util_1.ensureAddressString)(address));\n return lowercaseAddresses.includes(addressStr);\n }\n catch (_a) { }\n return false;\n }\n _ensureKnownAddress(addressString) {\n var _a;\n if (!this._isKnownAddress(addressString)) {\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED);\n throw new Error(\"Unknown Ethereum address\");\n }\n }\n _prepareTransactionParams(tx) {\n const fromAddress = tx.from\n ? (0, util_1.ensureAddressString)(tx.from)\n : this.selectedAddress;\n if (!fromAddress) {\n throw new Error(\"Ethereum address is unavailable\");\n }\n this._ensureKnownAddress(fromAddress);\n const toAddress = tx.to ? (0, util_1.ensureAddressString)(tx.to) : null;\n const weiValue = tx.value != null ? (0, util_1.ensureBN)(tx.value) : new bn_js_1.default(0);\n const data = tx.data ? (0, util_1.ensureBuffer)(tx.data) : Buffer.alloc(0);\n const nonce = tx.nonce != null ? (0, util_1.ensureIntNumber)(tx.nonce) : null;\n const gasPriceInWei = tx.gasPrice != null ? (0, util_1.ensureBN)(tx.gasPrice) : null;\n const maxFeePerGas = tx.maxFeePerGas != null ? (0, util_1.ensureBN)(tx.maxFeePerGas) : null;\n const maxPriorityFeePerGas = tx.maxPriorityFeePerGas != null\n ? (0, util_1.ensureBN)(tx.maxPriorityFeePerGas)\n : null;\n const gasLimit = tx.gas != null ? (0, util_1.ensureBN)(tx.gas) : null;\n const chainId = this.getChainId();\n return {\n fromAddress,\n toAddress,\n weiValue,\n data,\n nonce,\n gasPriceInWei,\n maxFeePerGas,\n maxPriorityFeePerGas,\n gasLimit,\n chainId,\n };\n }\n _isAuthorized() {\n return this._addresses.length > 0;\n }\n _requireAuthorization() {\n if (!this._isAuthorized()) {\n throw errors_1.standardErrors.provider.unauthorized({});\n }\n }\n _throwUnsupportedMethodError() {\n throw errors_1.standardErrors.provider.unsupportedMethod({});\n }\n async _signEthereumMessage(message, address, addPrefix, typedDataJson) {\n this._ensureKnownAddress(address);\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signEthereumMessage(message, address, addPrefix, typedDataJson).promise;\n return { jsonrpc: \"2.0\", id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === \"string\" &&\n err.message.match(/(denied|rejected)/i)) {\n throw errors_1.standardErrors.provider.userRejectedRequest(\"User denied message signature\");\n }\n throw err;\n }\n }\n async _ethereumAddressFromSignedMessage(message, signature, addPrefix) {\n const relay = await this.initializeRelay();\n const res = await relay.ethereumAddressFromSignedMessage(message, signature, addPrefix).promise;\n return { jsonrpc: \"2.0\", id: 0, result: res.result };\n }\n _eth_accounts() {\n return [...this._addresses];\n }\n _eth_coinbase() {\n return this.selectedAddress || null;\n }\n _net_version() {\n return this.getChainId().toString(10);\n }\n _eth_chainId() {\n return (0, util_1.hexStringFromIntNumber)(this.getChainId());\n }\n getChainId() {\n const chainIdStr = this._storage.getItem(DEFAULT_CHAIN_ID_KEY);\n if (!chainIdStr) {\n return (0, util_1.ensureIntNumber)(this._chainIdFromOpts);\n }\n const chainId = parseInt(chainIdStr, 10);\n return (0, util_1.ensureIntNumber)(chainId);\n }\n async _eth_requestAccounts() {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.ETH_ACCOUNTS_STATE, {\n method: \"provider::_eth_requestAccounts\",\n addresses_length: this._addresses.length,\n sessionIdHash: this._relay\n ? Session_1.Session.hash(this._relay.session.id)\n : undefined,\n });\n if (this._addresses.length > 0) {\n return Promise.resolve({\n jsonrpc: \"2.0\",\n id: 0,\n result: this._addresses,\n });\n }\n let res;\n try {\n const relay = await this.initializeRelay();\n res = await relay.requestEthereumAccounts().promise;\n }\n catch (err) {\n if (typeof err.message === \"string\" &&\n err.message.match(/(denied|rejected)/i)) {\n throw errors_1.standardErrors.provider.userRejectedRequest(\"User denied account authorization\");\n }\n throw err;\n }\n if (!res.result) {\n throw new Error(\"accounts received is empty\");\n }\n this._setAddresses(res.result);\n if (!(this.isLedger || this.isCoinbaseBrowser)) {\n await this.switchEthereumChain(this.getChainId());\n }\n return { jsonrpc: \"2.0\", id: 0, result: this._addresses };\n }\n _eth_sign(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const message = (0, util_1.ensureBuffer)(params[1]);\n return this._signEthereumMessage(message, address, false);\n }\n _eth_ecRecover(params) {\n const message = (0, util_1.ensureBuffer)(params[0]);\n const signature = (0, util_1.ensureBuffer)(params[1]);\n return this._ethereumAddressFromSignedMessage(message, signature, false);\n }\n _personal_sign(params) {\n this._requireAuthorization();\n const message = (0, util_1.ensureBuffer)(params[0]);\n const address = (0, util_1.ensureAddressString)(params[1]);\n return this._signEthereumMessage(message, address, true);\n }\n _personal_ecRecover(params) {\n const message = (0, util_1.ensureBuffer)(params[0]);\n const signature = (0, util_1.ensureBuffer)(params[1]);\n return this._ethereumAddressFromSignedMessage(message, signature, true);\n }\n async _eth_signTransaction(params) {\n this._requireAuthorization();\n const tx = this._prepareTransactionParams(params[0] || {});\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signEthereumTransaction(tx).promise;\n return { jsonrpc: \"2.0\", id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === \"string\" &&\n err.message.match(/(denied|rejected)/i)) {\n throw errors_1.standardErrors.provider.userRejectedRequest(\"User denied transaction signature\");\n }\n throw err;\n }\n }\n async _eth_sendRawTransaction(params) {\n const signedTransaction = (0, util_1.ensureBuffer)(params[0]);\n const relay = await this.initializeRelay();\n const res = await relay.submitEthereumTransaction(signedTransaction, this.getChainId()).promise;\n return { jsonrpc: \"2.0\", id: 0, result: res.result };\n }\n async _eth_sendTransaction(params) {\n this._requireAuthorization();\n const tx = this._prepareTransactionParams(params[0] || {});\n try {\n const relay = await this.initializeRelay();\n const res = await relay.signAndSubmitEthereumTransaction(tx).promise;\n return { jsonrpc: \"2.0\", id: 0, result: res.result };\n }\n catch (err) {\n if (typeof err.message === \"string\" &&\n err.message.match(/(denied|rejected)/i)) {\n throw errors_1.standardErrors.provider.userRejectedRequest(\"User denied transaction signature\");\n }\n throw err;\n }\n }\n async _eth_signTypedData_v1(params) {\n this._requireAuthorization();\n const typedData = (0, util_1.ensureParsedJSONObject)(params[0]);\n const address = (0, util_1.ensureAddressString)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedDataLegacy({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n async _eth_signTypedData_v3(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const typedData = (0, util_1.ensureParsedJSONObject)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedData_v3({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n async _eth_signTypedData_v4(params) {\n this._requireAuthorization();\n const address = (0, util_1.ensureAddressString)(params[0]);\n const typedData = (0, util_1.ensureParsedJSONObject)(params[1]);\n this._ensureKnownAddress(address);\n const message = eth_eip712_util_1.default.hashForSignTypedData_v4({ data: typedData });\n const typedDataJSON = JSON.stringify(typedData, null, 2);\n return this._signEthereumMessage(message, address, false, typedDataJSON);\n }\n /** @deprecated */\n async _cbwallet_arbitrary(params) {\n const action = params[0];\n const data = params[1];\n if (typeof data !== \"string\") {\n throw new Error(\"parameter must be a string\");\n }\n if (typeof action !== \"object\" || action === null) {\n throw new Error(\"parameter must be an object\");\n }\n const result = await this.genericRequest(action, data);\n return { jsonrpc: \"2.0\", id: 0, result };\n }\n async _wallet_addEthereumChain(params) {\n var _a, _b, _c, _d;\n const request = params[0];\n if (((_a = request.rpcUrls) === null || _a === void 0 ? void 0 : _a.length) === 0) {\n return {\n jsonrpc: \"2.0\",\n id: 0,\n error: { code: 2, message: `please pass in at least 1 rpcUrl` },\n };\n }\n if (!request.chainName || request.chainName.trim() === \"\") {\n throw errors_1.standardErrors.rpc.invalidParams(\"chainName is a required field\");\n }\n if (!request.nativeCurrency) {\n throw errors_1.standardErrors.rpc.invalidParams(\"nativeCurrency is a required field\");\n }\n const chainIdNumber = parseInt(request.chainId, 16);\n const success = await this.addEthereumChain(chainIdNumber, (_b = request.rpcUrls) !== null && _b !== void 0 ? _b : [], (_c = request.blockExplorerUrls) !== null && _c !== void 0 ? _c : [], request.chainName, (_d = request.iconUrls) !== null && _d !== void 0 ? _d : [], request.nativeCurrency);\n if (success) {\n return { jsonrpc: \"2.0\", id: 0, result: null };\n }\n else {\n return {\n jsonrpc: \"2.0\",\n id: 0,\n error: { code: 2, message: `unable to add ethereum chain` },\n };\n }\n }\n async _wallet_switchEthereumChain(params) {\n const request = params[0];\n await this.switchEthereumChain(parseInt(request.chainId, 16));\n return { jsonrpc: \"2.0\", id: 0, result: null };\n }\n async _wallet_watchAsset(params) {\n const request = (Array.isArray(params) ? params[0] : params);\n if (!request.type) {\n throw errors_1.standardErrors.rpc.invalidParams(\"Type is required\");\n }\n if ((request === null || request === void 0 ? void 0 : request.type) !== \"ERC20\") {\n throw errors_1.standardErrors.rpc.invalidParams(`Asset of type '${request.type}' is not supported`);\n }\n if (!(request === null || request === void 0 ? void 0 : request.options)) {\n throw errors_1.standardErrors.rpc.invalidParams(\"Options are required\");\n }\n if (!(request === null || request === void 0 ? void 0 : request.options.address)) {\n throw errors_1.standardErrors.rpc.invalidParams(\"Address is required\");\n }\n const chainId = this.getChainId();\n const { address, symbol, image, decimals } = request.options;\n const res = await this.watchAsset(request.type, address, symbol, decimals, image, chainId);\n return { jsonrpc: \"2.0\", id: 0, result: res };\n }\n _eth_uninstallFilter(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.uninstallFilter(filterId);\n }\n async _eth_newFilter(params) {\n const param = params[0];\n const filterId = await this._filterPolyfill.newFilter(param);\n return { jsonrpc: \"2.0\", id: 0, result: filterId };\n }\n async _eth_newBlockFilter() {\n const filterId = await this._filterPolyfill.newBlockFilter();\n return { jsonrpc: \"2.0\", id: 0, result: filterId };\n }\n async _eth_newPendingTransactionFilter() {\n const filterId = await this._filterPolyfill.newPendingTransactionFilter();\n return { jsonrpc: \"2.0\", id: 0, result: filterId };\n }\n _eth_getFilterChanges(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.getFilterChanges(filterId);\n }\n _eth_getFilterLogs(params) {\n const filterId = (0, util_1.ensureHexString)(params[0]);\n return this._filterPolyfill.getFilterLogs(filterId);\n }\n initializeRelay() {\n if (this._relay) {\n return Promise.resolve(this._relay);\n }\n return this._relayProvider().then(relay => {\n relay.setAccountsCallback((accounts, isDisconnect) => this._setAddresses(accounts, isDisconnect));\n relay.setChainCallback((chainId, jsonRpcUrl) => {\n this.updateProviderInfo(jsonRpcUrl, parseInt(chainId, 10));\n });\n relay.setDappDefaultChainCallback(this._chainIdFromOpts);\n this._relay = relay;\n return relay;\n });\n }\n}\nexports.CoinbaseWalletProvider = CoinbaseWalletProvider;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9wcm92aWRlci9Db2luYmFzZVdhbGxldFByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7QUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw4QkFBOEI7QUFDOUIsNkNBQTZDLG1CQUFPLENBQUMsMEZBQThCO0FBQ25GLGdDQUFnQyxtQkFBTyxDQUFDLDZDQUFPO0FBQy9DLDJCQUEyQixtQkFBTyxDQUFDLCtHQUFnQztBQUNuRSxpQkFBaUIsbUJBQU8sQ0FBQyxxRUFBVztBQUNwQyxrQkFBa0IsbUJBQU8sQ0FBQyxtRkFBa0I7QUFDNUMsaUNBQWlDLG1CQUFPLENBQUMsaUhBQWlDO0FBQzFFLHFCQUFxQixtQkFBTyxDQUFDLHlGQUFxQjtBQUNsRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBdUI7QUFDdEQsZUFBZSxtQkFBTyxDQUFDLGlFQUFTO0FBQ2hDLDBDQUEwQyxtQkFBTyxDQUFDLGlIQUE4QjtBQUNoRix5QkFBeUIsbUJBQU8sQ0FBQyw2RkFBa0I7QUFDbkQsa0JBQWtCLG1CQUFPLENBQUMsK0VBQVc7QUFDckMsOEJBQThCLG1CQUFPLENBQUMsdUdBQXVCO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixZQUFZO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkVBQTJFLFVBQVUsZ0JBQWdCO0FBQ3JHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEUsVUFBVSxnQkFBZ0I7QUFDcEc7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixTQUFTO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsU0FBUztBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixTQUFTO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FLE1BQU07QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRTtBQUNqRTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0VBQStFLGlCQUFpQjtBQUNoRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEVBQTRFLGlCQUFpQjtBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEVBQTRFLGlCQUFpQjtBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsc0RBQXNEO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixrREFBa0Q7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEVBQThFLGFBQWE7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixtQ0FBbUM7QUFDbkQ7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw4QkFBOEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvcHJvdmlkZXIvQ29pbmJhc2VXYWxsZXRQcm92aWRlci5qcz9iMjMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNvaW5iYXNlV2FsbGV0UHJvdmlkZXIgPSB2b2lkIDA7XG5jb25zdCBzYWZlX2V2ZW50X2VtaXR0ZXJfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiQG1ldGFtYXNrL3NhZmUtZXZlbnQtZW1pdHRlclwiKSk7XG5jb25zdCBibl9qc18xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJibi5qc1wiKSk7XG5jb25zdCBEaWFnbm9zdGljTG9nZ2VyXzEgPSByZXF1aXJlKFwiLi4vY29ubmVjdGlvbi9EaWFnbm9zdGljTG9nZ2VyXCIpO1xuY29uc3QgZXJyb3JzXzEgPSByZXF1aXJlKFwiLi4vZXJyb3JzXCIpO1xuY29uc3QgU2Vzc2lvbl8xID0gcmVxdWlyZShcIi4uL3JlbGF5L1Nlc3Npb25cIik7XG5jb25zdCBXYWxsZXRTREtSZWxheUFic3RyYWN0XzEgPSByZXF1aXJlKFwiLi4vcmVsYXkvV2FsbGV0U0RLUmVsYXlBYnN0cmFjdFwiKTtcbmNvbnN0IFdlYjNNZXRob2RfMSA9IHJlcXVpcmUoXCIuLi9yZWxheS9XZWIzTWV0aG9kXCIpO1xuY29uc3QgV2ViM1Jlc3BvbnNlXzEgPSByZXF1aXJlKFwiLi4vcmVsYXkvV2ViM1Jlc3BvbnNlXCIpO1xuY29uc3QgdXRpbF8xID0gcmVxdWlyZShcIi4uL3V0aWxcIik7XG5jb25zdCBldGhfZWlwNzEyX3V0aWxfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi4vdmVuZG9yLWpzL2V0aC1laXA3MTItdXRpbFwiKSk7XG5jb25zdCBGaWx0ZXJQb2x5ZmlsbF8xID0gcmVxdWlyZShcIi4vRmlsdGVyUG9seWZpbGxcIik7XG5jb25zdCBKU09OUlBDXzEgPSByZXF1aXJlKFwiLi9KU09OUlBDXCIpO1xuY29uc3QgU3Vic2NyaXB0aW9uTWFuYWdlcl8xID0gcmVxdWlyZShcIi4vU3Vic2NyaXB0aW9uTWFuYWdlclwiKTtcbmNvbnN0IERFRkFVTFRfQ0hBSU5fSURfS0VZID0gXCJEZWZhdWx0Q2hhaW5JZFwiO1xuY29uc3QgREVGQVVMVF9KU09OX1JQQ19VUkwgPSBcIkRlZmF1bHRKc29uUnBjVXJsXCI7XG5jbGFzcyBDb2luYmFzZVdhbGxldFByb3ZpZGVyIGV4dGVuZHMgc2FmZV9ldmVudF9lbWl0dGVyXzEuZGVmYXVsdCB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9maWx0ZXJQb2x5ZmlsbCA9IG5ldyBGaWx0ZXJQb2x5ZmlsbF8xLkZpbHRlclBvbHlmaWxsKHRoaXMpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25NYW5hZ2VyID0gbmV3IFN1YnNjcmlwdGlvbk1hbmFnZXJfMS5TdWJzY3JpcHRpb25NYW5hZ2VyKHRoaXMpO1xuICAgICAgICB0aGlzLl9yZWxheSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2FkZHJlc3NlcyA9IFtdO1xuICAgICAgICB0aGlzLmhhc01hZGVGaXJzdENoYWluQ2hhbmdlZEVtaXNzaW9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2V0UHJvdmlkZXJJbmZvID0gdGhpcy5zZXRQcm92aWRlckluZm8uYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm92aWRlckluZm8gPSB0aGlzLnVwZGF0ZVByb3ZpZGVySW5mby5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmdldENoYWluSWQgPSB0aGlzLmdldENoYWluSWQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zZXRBcHBJbmZvID0gdGhpcy5zZXRBcHBJbmZvLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZW5hYmxlID0gdGhpcy5lbmFibGUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5jbG9zZSA9IHRoaXMuY2xvc2UuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zZW5kID0gdGhpcy5zZW5kLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc2VuZEFzeW5jID0gdGhpcy5zZW5kQXN5bmMuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5yZXF1ZXN0ID0gdGhpcy5yZXF1ZXN0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuX3NldEFkZHJlc3NlcyA9IHRoaXMuX3NldEFkZHJlc3Nlcy5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnNjYW5RUkNvZGUgPSB0aGlzLnNjYW5RUkNvZGUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5nZW5lcmljUmVxdWVzdCA9IHRoaXMuZ2VuZXJpY1JlcXVlc3QuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5fY2hhaW5JZEZyb21PcHRzID0gb3B0aW9ucy5jaGFpbklkO1xuICAgICAgICB0aGlzLl9qc29uUnBjVXJsRnJvbU9wdHMgPSBvcHRpb25zLmpzb25ScGNVcmw7XG4gICAgICAgIHRoaXMuX292ZXJyaWRlSXNNZXRhTWFzayA9IG9wdGlvbnMub3ZlcnJpZGVJc01ldGFNYXNrO1xuICAgICAgICB0aGlzLl9yZWxheVByb3ZpZGVyID0gb3B0aW9ucy5yZWxheVByb3ZpZGVyO1xuICAgICAgICB0aGlzLl9zdG9yYWdlID0gb3B0aW9ucy5zdG9yYWdlO1xuICAgICAgICB0aGlzLl9yZWxheUV2ZW50TWFuYWdlciA9IG9wdGlvbnMucmVsYXlFdmVudE1hbmFnZXI7XG4gICAgICAgIHRoaXMuZGlhZ25vc3RpYyA9IG9wdGlvbnMuZGlhZ25vc3RpY0xvZ2dlcjtcbiAgICAgICAgdGhpcy5yZWxvYWRPbkRpc2Nvbm5lY3QgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzQ29pbmJhc2VXYWxsZXQgPSAoX2EgPSBvcHRpb25zLm92ZXJyaWRlSXNDb2luYmFzZVdhbGxldCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0NvaW5iYXNlQnJvd3NlciA9IChfYiA9IG9wdGlvbnMub3ZlcnJpZGVJc0NvaW5iYXNlQnJvd3NlcikgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZmFsc2U7XG4gICAgICAgIHRoaXMucXJVcmwgPSBvcHRpb25zLnFyVXJsO1xuICAgICAgICB0aGlzLnN1cHBvcnRzQWRkcmVzc1N3aXRjaGluZyA9IG9wdGlvbnMuc3VwcG9ydHNBZGRyZXNzU3dpdGNoaW5nO1xuICAgICAgICB0aGlzLmlzTGVkZ2VyID0gb3B0aW9ucy5pc0xlZGdlcjtcbiAgICAgICAgY29uc3QgY2hhaW5JZCA9IHRoaXMuZ2V0Q2hhaW5JZCgpO1xuICAgICAgICBjb25zdCBjaGFpbklkU3RyID0gKDAsIHV0aWxfMS5wcmVwZW5kMHgpKGNoYWluSWQudG9TdHJpbmcoMTYpKTtcbiAgICAgICAgLy8gaW5kaWNhdGUgdGhhdCB3ZSd2ZSBjb25uZWN0ZWQsIGZvciBFSVAtMTE5MyBjb21wbGlhbmNlXG4gICAgICAgIHRoaXMuZW1pdChcImNvbm5lY3RcIiwgeyBjaGFpbklkU3RyIH0pO1xuICAgICAgICBjb25zdCBjYWNoZWRBZGRyZXNzZXMgPSB0aGlzLl9zdG9yYWdlLmdldEl0ZW0oV2FsbGV0U0RLUmVsYXlBYnN0cmFjdF8xLkxPQ0FMX1NUT1JBR0VfQUREUkVTU0VTX0tFWSk7XG4gICAgICAgIGlmIChjYWNoZWRBZGRyZXNzZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NlcyA9IGNhY2hlZEFkZHJlc3Nlcy5zcGxpdChcIiBcIik7XG4gICAgICAgICAgICBpZiAoYWRkcmVzc2VzWzBdICE9PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWRkcmVzc2VzID0gYWRkcmVzc2VzLm1hcChhZGRyZXNzID0+ICgwLCB1dGlsXzEuZW5zdXJlQWRkcmVzc1N0cmluZykoYWRkcmVzcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZW1pdChcImFjY291bnRzQ2hhbmdlZFwiLCBhZGRyZXNzZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbk1hbmFnZXIuZXZlbnRzLm9uKFwibm90aWZpY2F0aW9uXCIsIChub3RpZmljYXRpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW1pdChcIm1lc3NhZ2VcIiwge1xuICAgICAgICAgICAgICAgIHR5cGU6IG5vdGlmaWNhdGlvbi5tZXRob2QsXG4gICAgICAgICAgICAgICAgZGF0YTogbm90aWZpY2F0aW9uLnBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuX2FkZHJlc3Nlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2b2lkIHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIC8vIFVzZWQgdG8gdmVyaWZ5IHRoZSBzb3VyY2UgYW5kIHdpbmRvdyBhcmUgY29ycmVjdCBiZWZvcmUgcHJvY2VlZGluZ1xuICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiAhPT0gbG9jYXRpb24ub3JpZ2luIHx8IGV2ZW50LnNvdXJjZSAhPT0gd2luZG93KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEudHlwZSAhPT0gXCJ3YWxsZXRMaW5rTWVzc2FnZVwiKVxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gY29tcGF0aWJpbGl0eSB3aXRoIENCVyBleHRlbnNpb25cbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmRhdGEuYWN0aW9uID09PSBcImRlZmF1bHRDaGFpbkNoYW5nZWRcIiB8fFxuICAgICAgICAgICAgICAgIGV2ZW50LmRhdGEuZGF0YS5hY3Rpb24gPT09IFwiZGFwcENoYWluU3dpdGNoZWRcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IF9jaGFpbklkID0gZXZlbnQuZGF0YS5kYXRhLmNoYWluSWQ7XG4gICAgICAgICAgICAgICAgY29uc3QganNvblJwY1VybCA9IChfYSA9IGV2ZW50LmRhdGEuZGF0YS5qc29uUnBjVXJsKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmpzb25ScGNVcmw7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVQcm92aWRlckluZm8oanNvblJwY1VybCwgTnVtYmVyKF9jaGFpbklkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5kYXRhLmFjdGlvbiA9PT0gXCJhZGRyZXNzQ2hhbmdlZFwiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0QWRkcmVzc2VzKFtldmVudC5kYXRhLmRhdGEuYWRkcmVzc10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBgLnJlcXVlc3QoeyBtZXRob2Q6ICdldGhfYWNjb3VudHMnIH0pYCBpbnN0ZWFkLiAqL1xuICAgIGdldCBzZWxlY3RlZEFkZHJlc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRyZXNzZXNbMF0gfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIHRoZSBjaGFpbiBJRC4gSWYgeW91IHN0aWxsIG5lZWQgdGhlIG5ldHdvcmsgSUQsIHVzZSBgLnJlcXVlc3QoeyBtZXRob2Q6ICduZXRfdmVyc2lvbicgfSlgLiAqL1xuICAgIGdldCBuZXR3b3JrVmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2hhaW5JZCgpLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBgLnJlcXVlc3QoeyBtZXRob2Q6ICdldGhfY2hhaW5JZCcgfSlgIGluc3RlYWQuICovXG4gICAgZ2V0IGNoYWluSWQoKSB7XG4gICAgICAgIHJldHVybiAoMCwgdXRpbF8xLnByZXBlbmQweCkodGhpcy5nZXRDaGFpbklkKCkudG9TdHJpbmcoMTYpKTtcbiAgICB9XG4gICAgZ2V0IGlzV2FsbGV0TGluaygpIHtcbiAgICAgICAgLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU29tZSBEQXBwcyAoaS5lLiBBbHBoYSBIb21vcmEpIHNlZW0gdG8gcmVxdWlyZSB0aGUgd2luZG93LmV0aGVyZXVtIG9iamVjdCByZXR1cm5cbiAgICAgKiB0cnVlIGZvciB0aGlzIG1ldGhvZC5cbiAgICAgKi9cbiAgICBnZXQgaXNNZXRhTWFzaygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJyaWRlSXNNZXRhTWFzaztcbiAgICB9XG4gICAgZ2V0IGhvc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmpzb25ScGNVcmw7XG4gICAgfVxuICAgIGdldCBjb25uZWN0ZWQoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGdldCBqc29uUnBjVXJsKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiAoKF9hID0gdGhpcy5fc3RvcmFnZS5nZXRJdGVtKERFRkFVTFRfSlNPTl9SUENfVVJMKSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdGhpcy5fanNvblJwY1VybEZyb21PcHRzKTtcbiAgICB9XG4gICAgc2V0IGpzb25ScGNVcmwodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fc3RvcmFnZS5zZXRJdGVtKERFRkFVTFRfSlNPTl9SUENfVVJMLCB2YWx1ZSk7XG4gICAgfVxuICAgIGRpc2FibGVSZWxvYWRPbkRpc2Nvbm5lY3QoKSB7XG4gICAgICAgIHRoaXMucmVsb2FkT25EaXNjb25uZWN0ID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gY29pbmJhc2UgcHJvdmlkZXIgaXMgYmVpbmcgaW5qZWN0ZWQgdG8gYSBkYXBwXG4gICAgICogc3RhbmRhbG9uZSArIHdhbGxldGxpbmtlZCBleHRlbnNpb24sIGxlZGdlciwgaW4tYXBwIGJyb3dzZXIgdXNpbmcgY2lwaGVyLXdlYi12aWV3XG4gICAgICovXG4gICAgc2V0UHJvdmlkZXJJbmZvKGpzb25ScGNVcmwsIGNoYWluSWQpIHtcbiAgICAgICAgLy8gZXh0ZW5zaW9uIHRlbmQgdG8gdXNlIHRoZSBjaGlhbklkIGZyb20gdGhlIGRhcHAsIHdoaWxlIGluLWFwcCBicm93c2VyIGFuZCBsZWRnZXIgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IG5ldHdvcmtcbiAgICAgICAgaWYgKCEodGhpcy5pc0xlZGdlciB8fCB0aGlzLmlzQ29pbmJhc2VCcm93c2VyKSkge1xuICAgICAgICAgICAgdGhpcy5fY2hhaW5JZEZyb21PcHRzID0gY2hhaW5JZDtcbiAgICAgICAgICAgIHRoaXMuX2pzb25ScGNVcmxGcm9tT3B0cyA9IGpzb25ScGNVcmw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVQcm92aWRlckluZm8odGhpcy5qc29uUnBjVXJsLCB0aGlzLmdldENoYWluSWQoKSk7XG4gICAgfVxuICAgIHVwZGF0ZVByb3ZpZGVySW5mbyhqc29uUnBjVXJsLCBjaGFpbklkKSB7XG4gICAgICAgIHRoaXMuanNvblJwY1VybCA9IGpzb25ScGNVcmw7XG4gICAgICAgIC8vIGVtaXQgY2hhaW5DaGFuZ2VkIGV2ZW50IGlmIG5lY2Vzc2FyeVxuICAgICAgICBjb25zdCBvcmlnaW5hbENoYWluSWQgPSB0aGlzLmdldENoYWluSWQoKTtcbiAgICAgICAgdGhpcy5fc3RvcmFnZS5zZXRJdGVtKERFRkFVTFRfQ0hBSU5fSURfS0VZLCBjaGFpbklkLnRvU3RyaW5nKDEwKSk7XG4gICAgICAgIGNvbnN0IGNoYWluQ2hhbmdlZCA9ICgwLCB1dGlsXzEuZW5zdXJlSW50TnVtYmVyKShjaGFpbklkKSAhPT0gb3JpZ2luYWxDaGFpbklkO1xuICAgICAgICBpZiAoY2hhaW5DaGFuZ2VkIHx8ICF0aGlzLmhhc01hZGVGaXJzdENoYWluQ2hhbmdlZEVtaXNzaW9uKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXQoXCJjaGFpbkNoYW5nZWRcIiwgdGhpcy5nZXRDaGFpbklkKCkpO1xuICAgICAgICAgICAgdGhpcy5oYXNNYWRlRmlyc3RDaGFpbkNoYW5nZWRFbWlzc2lvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgd2F0Y2hBc3NldCh0eXBlLCBhZGRyZXNzLCBzeW1ib2wsIGRlY2ltYWxzLCBpbWFnZSwgY2hhaW5JZCkge1xuICAgICAgICBjb25zdCByZWxheSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF5LndhdGNoQXNzZXQodHlwZSwgYWRkcmVzcywgc3ltYm9sLCBkZWNpbWFscywgaW1hZ2UsIGNoYWluSWQgPT09IG51bGwgfHwgY2hhaW5JZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hhaW5JZC50b1N0cmluZygpKS5wcm9taXNlO1xuICAgICAgICByZXR1cm4gISFyZXN1bHQucmVzdWx0O1xuICAgIH1cbiAgICBhc3luYyBhZGRFdGhlcmV1bUNoYWluKGNoYWluSWQsIHJwY1VybHMsIGJsb2NrRXhwbG9yZXJVcmxzLCBjaGFpbk5hbWUsIGljb25VcmxzLCBuYXRpdmVDdXJyZW5jeSkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoKDAsIHV0aWxfMS5lbnN1cmVJbnROdW1iZXIpKGNoYWluSWQpID09PSB0aGlzLmdldENoYWluSWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlbGF5ID0gYXdhaXQgdGhpcy5pbml0aWFsaXplUmVsYXkoKTtcbiAgICAgICAgY29uc3QgaXNXaGl0ZWxpc3RlZE5ldHdvcmtPclN0YW5kYWxvbmUgPSByZWxheS5pbmxpbmVBZGRFdGhlcmV1bUNoYWluKGNoYWluSWQudG9TdHJpbmcoKSk7XG4gICAgICAgIGlmICghdGhpcy5faXNBdXRob3JpemVkKCkgJiYgIWlzV2hpdGVsaXN0ZWROZXR3b3JrT3JTdGFuZGFsb25lKSB7XG4gICAgICAgICAgICBhd2FpdCByZWxheS5yZXF1ZXN0RXRoZXJldW1BY2NvdW50cygpLnByb21pc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVsYXkuYWRkRXRoZXJldW1DaGFpbihjaGFpbklkLnRvU3RyaW5nKCksIHJwY1VybHMsIGljb25VcmxzLCBibG9ja0V4cGxvcmVyVXJscywgY2hhaW5OYW1lLCBuYXRpdmVDdXJyZW5jeSkucHJvbWlzZTtcbiAgICAgICAgaWYgKCgoX2EgPSByZXMucmVzdWx0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaXNBcHByb3ZlZCkgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUHJvdmlkZXJJbmZvKHJwY1VybHNbMF0sIGNoYWluSWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKF9iID0gcmVzLnJlc3VsdCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmlzQXBwcm92ZWQpID09PSB0cnVlO1xuICAgIH1cbiAgICBhc3luYyBzd2l0Y2hFdGhlcmV1bUNoYWluKGNoYWluSWQpIHtcbiAgICAgICAgY29uc3QgcmVsYXkgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVSZWxheSgpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCByZWxheS5zd2l0Y2hFdGhlcmV1bUNoYWluKGNoYWluSWQudG9TdHJpbmcoMTApLCB0aGlzLnNlbGVjdGVkQWRkcmVzcyB8fCB1bmRlZmluZWQpLnByb21pc2U7XG4gICAgICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgICAgaWYgKCgwLCBXZWIzUmVzcG9uc2VfMS5pc0Vycm9yUmVzcG9uc2UpKHJlcykgJiYgcmVzLmVycm9yQ29kZSkge1xuICAgICAgICAgICAgaWYgKHJlcy5lcnJvckNvZGUgPT09IGVycm9yc18xLnN0YW5kYXJkRXJyb3JDb2Rlcy5wcm92aWRlci51bnN1cHBvcnRlZENoYWluKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucHJvdmlkZXIudW5zdXBwb3J0ZWRDaGFpbihjaGFpbklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnByb3ZpZGVyLmN1c3RvbSh7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5lcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IHJlcy5lcnJvckNvZGUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3dpdGNoUmVzcG9uc2UgPSByZXMucmVzdWx0O1xuICAgICAgICBpZiAoc3dpdGNoUmVzcG9uc2UuaXNBcHByb3ZlZCAmJiBzd2l0Y2hSZXNwb25zZS5ycGNVcmwubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQcm92aWRlckluZm8oc3dpdGNoUmVzcG9uc2UucnBjVXJsLCBjaGFpbklkKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXRBcHBJbmZvKGFwcE5hbWUsIGFwcExvZ29VcmwpIHtcbiAgICAgICAgdm9pZCB0aGlzLmluaXRpYWxpemVSZWxheSgpLnRoZW4ocmVsYXkgPT4gcmVsYXkuc2V0QXBwSW5mbyhhcHBOYW1lLCBhcHBMb2dvVXJsKSk7XG4gICAgfVxuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgYC5yZXF1ZXN0KHsgbWV0aG9kOiAnZXRoX3JlcXVlc3RBY2NvdW50cycgfSlgIGluc3RlYWQuICovXG4gICAgYXN5bmMgZW5hYmxlKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLkVUSF9BQ0NPVU5UU19TVEFURSwge1xuICAgICAgICAgICAgbWV0aG9kOiBcInByb3ZpZGVyOjplbmFibGVcIixcbiAgICAgICAgICAgIGFkZHJlc3Nlc19sZW5ndGg6IHRoaXMuX2FkZHJlc3Nlcy5sZW5ndGgsXG4gICAgICAgICAgICBzZXNzaW9uSWRIYXNoOiB0aGlzLl9yZWxheVxuICAgICAgICAgICAgICAgID8gU2Vzc2lvbl8xLlNlc3Npb24uaGFzaCh0aGlzLl9yZWxheS5zZXNzaW9uLmlkKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuX2FkZHJlc3Nlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXMuX2FkZHJlc3Nlc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZChKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfcmVxdWVzdEFjY291bnRzKTtcbiAgICB9XG4gICAgYXN5bmMgY2xvc2UoKSB7XG4gICAgICAgIGNvbnN0IHJlbGF5ID0gYXdhaXQgdGhpcy5pbml0aWFsaXplUmVsYXkoKTtcbiAgICAgICAgcmVsYXkucmVzZXRBbmRSZWxvYWQoKTtcbiAgICB9XG4gICAgc2VuZChyZXF1ZXN0T3JNZXRob2QsIGNhbGxiYWNrT3JQYXJhbXMpIHtcbiAgICAgICAgLy8gc2VuZDxUPihtZXRob2QsIHBhcmFtcyk6IFByb21pc2U8VD5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3NlbmQocmVxdWVzdE9yTWV0aG9kLCBjYWxsYmFja09yUGFyYW1zKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93ICgwLCBlcnJvcnNfMS5zZXJpYWxpemVFcnJvcikoZXJyb3IsIHJlcXVlc3RPck1ldGhvZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyAoMCwgZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKGVycm9yLCByZXF1ZXN0T3JNZXRob2QpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9zZW5kKHJlcXVlc3RPck1ldGhvZCwgY2FsbGJhY2tPclBhcmFtcykge1xuICAgICAgICBpZiAodHlwZW9mIHJlcXVlc3RPck1ldGhvZCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgY29uc3QgbWV0aG9kID0gcmVxdWVzdE9yTWV0aG9kO1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gQXJyYXkuaXNBcnJheShjYWxsYmFja09yUGFyYW1zKVxuICAgICAgICAgICAgICAgID8gY2FsbGJhY2tPclBhcmFtc1xuICAgICAgICAgICAgICAgIDogY2FsbGJhY2tPclBhcmFtcyAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gW2NhbGxiYWNrT3JQYXJhbXNdXG4gICAgICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgICAgICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3RBc3luYyhyZXF1ZXN0KS50aGVuKHJlcyA9PiByZXMucmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZW5kKEpTT05SUENSZXF1ZXN0IHwgSlNPTlJQQ1JlcXVlc3RbXSwgY2FsbGJhY2spOiB2b2lkXG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2tPclBhcmFtcyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gcmVxdWVzdE9yTWV0aG9kO1xuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBjYWxsYmFja09yUGFyYW1zO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbmRBc3luYyhyZXF1ZXN0LCBjYWxsYmFjayk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2VuZChKU09OUlBDUmVxdWVzdFtdKTogSlNPTlJQQ1Jlc3BvbnNlW11cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVxdWVzdE9yTWV0aG9kKSkge1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdHMgPSByZXF1ZXN0T3JNZXRob2Q7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdHMubWFwKHIgPT4gdGhpcy5fc2VuZFJlcXVlc3QocikpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNlbmQoSlNPTlJQQ1JlcXVlc3QpOiBKU09OUlBDUmVzcG9uc2VcbiAgICAgICAgY29uc3QgcmVxID0gcmVxdWVzdE9yTWV0aG9kO1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QocmVxKTtcbiAgICB9XG4gICAgYXN5bmMgc2VuZEFzeW5jKHJlcXVlc3QsIGNhbGxiYWNrKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VuZEFzeW5jKHJlcXVlc3QsIGNhbGxiYWNrKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgKDAsIGVycm9yc18xLnNlcmlhbGl6ZUVycm9yKShlcnJvciwgcmVxdWVzdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgoMCwgZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKGVycm9yLCByZXF1ZXN0KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgX3NlbmRBc3luYyhyZXF1ZXN0LCBjYWxsYmFjaykge1xuICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImNhbGxiYWNrIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNlbmQoSlNPTlJQQ1JlcXVlc3RbXSwgY2FsbGJhY2spOiB2b2lkXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcXVlc3QpKSB7XG4gICAgICAgICAgICBjb25zdCBhcnJheUNiID0gY2FsbGJhY2s7XG4gICAgICAgICAgICB0aGlzLl9zZW5kTXVsdGlwbGVSZXF1ZXN0c0FzeW5jKHJlcXVlc3QpXG4gICAgICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2VzID0+IGFycmF5Q2IobnVsbCwgcmVzcG9uc2VzKSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goZXJyID0+IGFycmF5Q2IoZXJyLCBudWxsKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2VuZChKU09OUlBDUmVxdWVzdCwgY2FsbGJhY2spOiB2b2lkXG4gICAgICAgIGNvbnN0IGNiID0gY2FsbGJhY2s7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZW5kUmVxdWVzdEFzeW5jKHJlcXVlc3QpXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiBjYihudWxsLCByZXNwb25zZSkpXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IGNiKGVyciwgbnVsbCkpO1xuICAgIH1cbiAgICBhc3luYyByZXF1ZXN0KGFyZ3MpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KGFyZ3MpLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aHJvdyAoMCwgZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKGVycm9yLCBhcmdzLm1ldGhvZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgoMCwgZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKGVycm9yLCBhcmdzLm1ldGhvZCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF9yZXF1ZXN0KGFyZ3MpIHtcbiAgICAgICAgaWYgKCFhcmdzIHx8IHR5cGVvZiBhcmdzICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkoYXJncykpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCJFeHBlY3RlZCBhIHNpbmdsZSwgbm9uLWFycmF5LCBvYmplY3QgYXJndW1lbnQuXCIsXG4gICAgICAgICAgICAgICAgZGF0YTogYXJncyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgbWV0aG9kLCBwYXJhbXMgfSA9IGFyZ3M7XG4gICAgICAgIGlmICh0eXBlb2YgbWV0aG9kICE9PSBcInN0cmluZ1wiIHx8IG1ldGhvZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCInYXJncy5tZXRob2QnIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLlwiLFxuICAgICAgICAgICAgICAgIGRhdGE6IGFyZ3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFyYW1zICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICFBcnJheS5pc0FycmF5KHBhcmFtcykgJiZcbiAgICAgICAgICAgICh0eXBlb2YgcGFyYW1zICE9PSBcIm9iamVjdFwiIHx8IHBhcmFtcyA9PT0gbnVsbCkpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCInYXJncy5wYXJhbXMnIG11c3QgYmUgYW4gb2JqZWN0IG9yIGFycmF5IGlmIHByb3ZpZGVkLlwiLFxuICAgICAgICAgICAgICAgIGRhdGE6IGFyZ3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQYXJhbXMgPSBwYXJhbXMgPT09IHVuZGVmaW5lZCA/IFtdIDogcGFyYW1zO1xuICAgICAgICAvLyBDb2luYmFzZSBXYWxsZXQgUmVxdWVzdHNcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLl9yZWxheUV2ZW50TWFuYWdlci5tYWtlUmVxdWVzdElkKCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuX3NlbmRSZXF1ZXN0QXN5bmMoe1xuICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgcGFyYW1zOiBuZXdQYXJhbXMsXG4gICAgICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdDtcbiAgICB9XG4gICAgYXN5bmMgc2NhblFSQ29kZShtYXRjaCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IHJlbGF5ID0gYXdhaXQgdGhpcy5pbml0aWFsaXplUmVsYXkoKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVsYXkuc2NhblFSQ29kZSgoMCwgdXRpbF8xLmVuc3VyZVJlZ0V4cFN0cmluZykobWF0Y2gpKS5wcm9taXNlO1xuICAgICAgICBpZiAodHlwZW9mIHJlcy5yZXN1bHQgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHRocm93ICgwLCBlcnJvcnNfMS5zZXJpYWxpemVFcnJvcikoKF9hID0gcmVzLmVycm9yTWVzc2FnZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogXCJyZXN1bHQgd2FzIG5vdCBhIHN0cmluZ1wiLCBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5zY2FuUVJDb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzLnJlc3VsdDtcbiAgICB9XG4gICAgYXN5bmMgZ2VuZXJpY1JlcXVlc3QoZGF0YSwgYWN0aW9uKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgcmVsYXkgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVSZWxheSgpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCByZWxheS5nZW5lcmljUmVxdWVzdChkYXRhLCBhY3Rpb24pLnByb21pc2U7XG4gICAgICAgIGlmICh0eXBlb2YgcmVzLnJlc3VsdCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdGhyb3cgKDAsIGVycm9yc18xLnNlcmlhbGl6ZUVycm9yKSgoX2EgPSByZXMuZXJyb3JNZXNzYWdlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBcInJlc3VsdCB3YXMgbm90IGEgc3RyaW5nXCIsIFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLmdlbmVyaWMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXMucmVzdWx0O1xuICAgIH1cbiAgICBhc3luYyBzZWxlY3RQcm92aWRlcihwcm92aWRlck9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCByZWxheSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlbGF5LnNlbGVjdFByb3ZpZGVyKHByb3ZpZGVyT3B0aW9ucykucHJvbWlzZTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXMucmVzdWx0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aHJvdyAoMCwgZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKChfYSA9IHJlcy5lcnJvck1lc3NhZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFwicmVzdWx0IHdhcyBub3QgYSBzdHJpbmdcIiwgV2ViM01ldGhvZF8xLldlYjNNZXRob2Quc2VsZWN0UHJvdmlkZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXMucmVzdWx0O1xuICAgIH1cbiAgICBzdXBwb3J0c1N1YnNjcmlwdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgc3Vic2NyaWJlKCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTdWJzY3JpcHRpb25zIGFyZSBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH1cbiAgICB1bnN1YnNjcmliZSgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU3Vic2NyaXB0aW9ucyBhcmUgbm90IHN1cHBvcnRlZFwiKTtcbiAgICB9XG4gICAgZGlzY29ubmVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIF9zZW5kUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xuICAgICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB7IG1ldGhvZCB9ID0gcmVxdWVzdDtcbiAgICAgICAgcmVzcG9uc2UucmVzdWx0ID0gdGhpcy5faGFuZGxlU3luY2hyb25vdXNNZXRob2RzKHJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29pbmJhc2UgV2FsbGV0IGRvZXMgbm90IHN1cHBvcnQgY2FsbGluZyAke21ldGhvZH0gc3luY2hyb25vdXNseSB3aXRob3V0IGAgK1xuICAgICAgICAgICAgICAgIGBhIGNhbGxiYWNrLiBQbGVhc2UgcHJvdmlkZSBhIGNhbGxiYWNrIHBhcmFtZXRlciB0byBjYWxsICR7bWV0aG9kfSBgICtcbiAgICAgICAgICAgICAgICBgYXN5bmNocm9ub3VzbHkuYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbiAgICBfc2V0QWRkcmVzc2VzKGFkZHJlc3NlcywgaXNEaXNjb25uZWN0KSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhZGRyZXNzZXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhZGRyZXNzZXMgaXMgbm90IGFuIGFycmF5XCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld0FkZHJlc3NlcyA9IGFkZHJlc3Nlcy5tYXAoYWRkcmVzcyA9PiAoMCwgdXRpbF8xLmVuc3VyZUFkZHJlc3NTdHJpbmcpKGFkZHJlc3MpKTtcbiAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG5ld0FkZHJlc3NlcykgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMuX2FkZHJlc3NlcykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYWRkcmVzc2VzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHRoaXMuc3VwcG9ydHNBZGRyZXNzU3dpdGNoaW5nID09PSBmYWxzZSAmJlxuICAgICAgICAgICAgIWlzRGlzY29ubmVjdCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBUaGUgZXh0ZW5zaW9uIGN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgc3dpdGNoaW5nIHNlbGVjdGVkIHdhbGxldCBpbmRleFxuICAgICAgICAgICAgICogbWFrZSBzdXJlIHdhbGxldGxpbmsgZG9lc24ndCB1cGRhdGUgaXQncyBhZGRyZXNzIGluIHRoaXMgY2FzZVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWRkcmVzc2VzID0gbmV3QWRkcmVzc2VzO1xuICAgICAgICB0aGlzLmVtaXQoXCJhY2NvdW50c0NoYW5nZWRcIiwgdGhpcy5fYWRkcmVzc2VzKTtcbiAgICAgICAgdGhpcy5fc3RvcmFnZS5zZXRJdGVtKFdhbGxldFNES1JlbGF5QWJzdHJhY3RfMS5MT0NBTF9TVE9SQUdFX0FERFJFU1NFU19LRVksIG5ld0FkZHJlc3Nlcy5qb2luKFwiIFwiKSk7XG4gICAgfVxuICAgIF9zZW5kUmVxdWVzdEFzeW5jKHJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3luY1Jlc3VsdCA9IHRoaXMuX2hhbmRsZVN5bmNocm9ub3VzTWV0aG9kcyhyZXF1ZXN0KTtcbiAgICAgICAgICAgICAgICBpZiAoc3luY1Jlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogcmVxdWVzdC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDogc3luY1Jlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlclByb21pc2UgPSB0aGlzLl9oYW5kbGVBc3luY2hyb25vdXNGaWx0ZXJNZXRob2RzKHJlcXVlc3QpO1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJQcm9taXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyUHJvbWlzZVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzID0+IHJlc29sdmUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCByZXMpLCB7IGlkOiByZXF1ZXN0LmlkIH0pKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4gcmVqZWN0KGVycikpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblByb21pc2UgPSB0aGlzLl9oYW5kbGVTdWJzY3JpcHRpb25NZXRob2RzKHJlcXVlc3QpO1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25Qcm9taXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uUHJvbWlzZVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzID0+IHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiByZXMucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4gcmVqZWN0KGVycikpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUFzeW5jaHJvbm91c01ldGhvZHMocmVxdWVzdClcbiAgICAgICAgICAgICAgICAudGhlbihyZXMgPT4gcmVzICYmIHJlc29sdmUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCByZXMpLCB7IGlkOiByZXF1ZXN0LmlkIH0pKSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goZXJyID0+IHJlamVjdChlcnIpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9zZW5kTXVsdGlwbGVSZXF1ZXN0c0FzeW5jKHJlcXVlc3RzKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChyZXF1ZXN0cy5tYXAociA9PiB0aGlzLl9zZW5kUmVxdWVzdEFzeW5jKHIpKSk7XG4gICAgfVxuICAgIF9oYW5kbGVTeW5jaHJvbm91c01ldGhvZHMocmVxdWVzdCkge1xuICAgICAgICBjb25zdCB7IG1ldGhvZCB9ID0gcmVxdWVzdDtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcmVxdWVzdC5wYXJhbXMgfHwgW107XG4gICAgICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9hY2NvdW50czpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXRoX2FjY291bnRzKCk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9jb2luYmFzZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXRoX2NvaW5iYXNlKCk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF91bmluc3RhbGxGaWx0ZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V0aF91bmluc3RhbGxGaWx0ZXIocGFyYW1zKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QubmV0X3ZlcnNpb246XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25ldF92ZXJzaW9uKCk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9jaGFpbklkOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfY2hhaW5JZCgpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF9oYW5kbGVBc3luY2hyb25vdXNNZXRob2RzKHJlcXVlc3QpIHtcbiAgICAgICAgY29uc3QgeyBtZXRob2QgfSA9IHJlcXVlc3Q7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHJlcXVlc3QucGFyYW1zIHx8IFtdO1xuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfcmVxdWVzdEFjY291bnRzOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfcmVxdWVzdEFjY291bnRzKCk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9zaWduOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfc2lnbihwYXJhbXMpO1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfZWNSZWNvdmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfZWNSZWNvdmVyKHBhcmFtcyk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLnBlcnNvbmFsX3NpZ246XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3BlcnNvbmFsX3NpZ24ocGFyYW1zKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QucGVyc29uYWxfZWNSZWNvdmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wZXJzb25hbF9lY1JlY292ZXIocGFyYW1zKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuZXRoX3NpZ25UcmFuc2FjdGlvbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXRoX3NpZ25UcmFuc2FjdGlvbihwYXJhbXMpO1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfc2VuZFJhd1RyYW5zYWN0aW9uOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfc2VuZFJhd1RyYW5zYWN0aW9uKHBhcmFtcyk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9zZW5kVHJhbnNhY3Rpb246XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V0aF9zZW5kVHJhbnNhY3Rpb24ocGFyYW1zKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuZXRoX3NpZ25UeXBlZERhdGFfdjE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V0aF9zaWduVHlwZWREYXRhX3YxKHBhcmFtcyk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9zaWduVHlwZWREYXRhX3YyOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl90aHJvd1Vuc3VwcG9ydGVkTWV0aG9kRXJyb3IoKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuZXRoX3NpZ25UeXBlZERhdGFfdjM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V0aF9zaWduVHlwZWREYXRhX3YzKHBhcmFtcyk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9zaWduVHlwZWREYXRhX3Y0OlxuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfc2lnblR5cGVkRGF0YTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXRoX3NpZ25UeXBlZERhdGFfdjQocGFyYW1zKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuY2JXYWxsZXRfYXJiaXRyYXJ5OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jYndhbGxldF9hcmJpdHJhcnkocGFyYW1zKTtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2Qud2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dhbGxldF9hZGRFdGhlcmV1bUNoYWluKHBhcmFtcyk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl93YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpbihwYXJhbXMpO1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC53YWxsZXRfd2F0Y2hBc3NldDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fd2FsbGV0X3dhdGNoQXNzZXQocGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZWxheSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgIHJldHVybiByZWxheS5tYWtlRXRoZXJldW1KU09OUlBDUmVxdWVzdChyZXF1ZXN0LCB0aGlzLmpzb25ScGNVcmwpO1xuICAgIH1cbiAgICBfaGFuZGxlQXN5bmNocm9ub3VzRmlsdGVyTWV0aG9kcyhyZXF1ZXN0KSB7XG4gICAgICAgIGNvbnN0IHsgbWV0aG9kIH0gPSByZXF1ZXN0O1xuICAgICAgICBjb25zdCBwYXJhbXMgPSByZXF1ZXN0LnBhcmFtcyB8fCBbXTtcbiAgICAgICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuZXRoX25ld0ZpbHRlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXRoX25ld0ZpbHRlcihwYXJhbXMpO1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfbmV3QmxvY2tGaWx0ZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V0aF9uZXdCbG9ja0ZpbHRlcigpO1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyKCk7XG4gICAgICAgICAgICBjYXNlIEpTT05SUENfMS5KU09OUlBDTWV0aG9kLmV0aF9nZXRGaWx0ZXJDaGFuZ2VzOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9ldGhfZ2V0RmlsdGVyQ2hhbmdlcyhwYXJhbXMpO1xuICAgICAgICAgICAgY2FzZSBKU09OUlBDXzEuSlNPTlJQQ01ldGhvZC5ldGhfZ2V0RmlsdGVyTG9nczpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXRoX2dldEZpbHRlckxvZ3MocGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBfaGFuZGxlU3Vic2NyaXB0aW9uTWV0aG9kcyhyZXF1ZXN0KSB7XG4gICAgICAgIHN3aXRjaCAocmVxdWVzdC5tZXRob2QpIHtcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuZXRoX3N1YnNjcmliZTpcbiAgICAgICAgICAgIGNhc2UgSlNPTlJQQ18xLkpTT05SUENNZXRob2QuZXRoX3Vuc3Vic2NyaWJlOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdWJzY3JpcHRpb25NYW5hZ2VyLmhhbmRsZVJlcXVlc3QocmVxdWVzdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgX2lzS25vd25BZGRyZXNzKGFkZHJlc3NTdHJpbmcpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NTdHIgPSAoMCwgdXRpbF8xLmVuc3VyZUFkZHJlc3NTdHJpbmcpKGFkZHJlc3NTdHJpbmcpO1xuICAgICAgICAgICAgY29uc3QgbG93ZXJjYXNlQWRkcmVzc2VzID0gdGhpcy5fYWRkcmVzc2VzLm1hcChhZGRyZXNzID0+ICgwLCB1dGlsXzEuZW5zdXJlQWRkcmVzc1N0cmluZykoYWRkcmVzcykpO1xuICAgICAgICAgICAgcmV0dXJuIGxvd2VyY2FzZUFkZHJlc3Nlcy5pbmNsdWRlcyhhZGRyZXNzU3RyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHsgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIF9lbnN1cmVLbm93bkFkZHJlc3MoYWRkcmVzc1N0cmluZykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghdGhpcy5faXNLbm93bkFkZHJlc3MoYWRkcmVzc1N0cmluZykpIHtcbiAgICAgICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLlVOS05PV05fQUREUkVTU19FTkNPVU5URVJFRCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIEV0aGVyZXVtIGFkZHJlc3NcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX3ByZXBhcmVUcmFuc2FjdGlvblBhcmFtcyh0eCkge1xuICAgICAgICBjb25zdCBmcm9tQWRkcmVzcyA9IHR4LmZyb21cbiAgICAgICAgICAgID8gKDAsIHV0aWxfMS5lbnN1cmVBZGRyZXNzU3RyaW5nKSh0eC5mcm9tKVxuICAgICAgICAgICAgOiB0aGlzLnNlbGVjdGVkQWRkcmVzcztcbiAgICAgICAgaWYgKCFmcm9tQWRkcmVzcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXRoZXJldW0gYWRkcmVzcyBpcyB1bmF2YWlsYWJsZVwiKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbnN1cmVLbm93bkFkZHJlc3MoZnJvbUFkZHJlc3MpO1xuICAgICAgICBjb25zdCB0b0FkZHJlc3MgPSB0eC50byA/ICgwLCB1dGlsXzEuZW5zdXJlQWRkcmVzc1N0cmluZykodHgudG8pIDogbnVsbDtcbiAgICAgICAgY29uc3Qgd2VpVmFsdWUgPSB0eC52YWx1ZSAhPSBudWxsID8gKDAsIHV0aWxfMS5lbnN1cmVCTikodHgudmFsdWUpIDogbmV3IGJuX2pzXzEuZGVmYXVsdCgwKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHR4LmRhdGEgPyAoMCwgdXRpbF8xLmVuc3VyZUJ1ZmZlcikodHguZGF0YSkgOiBCdWZmZXIuYWxsb2MoMCk7XG4gICAgICAgIGNvbnN0IG5vbmNlID0gdHgubm9uY2UgIT0gbnVsbCA/ICgwLCB1dGlsXzEuZW5zdXJlSW50TnVtYmVyKSh0eC5ub25jZSkgOiBudWxsO1xuICAgICAgICBjb25zdCBnYXNQcmljZUluV2VpID0gdHguZ2FzUHJpY2UgIT0gbnVsbCA/ICgwLCB1dGlsXzEuZW5zdXJlQk4pKHR4Lmdhc1ByaWNlKSA6IG51bGw7XG4gICAgICAgIGNvbnN0IG1heEZlZVBlckdhcyA9IHR4Lm1heEZlZVBlckdhcyAhPSBudWxsID8gKDAsIHV0aWxfMS5lbnN1cmVCTikodHgubWF4RmVlUGVyR2FzKSA6IG51bGw7XG4gICAgICAgIGNvbnN0IG1heFByaW9yaXR5RmVlUGVyR2FzID0gdHgubWF4UHJpb3JpdHlGZWVQZXJHYXMgIT0gbnVsbFxuICAgICAgICAgICAgPyAoMCwgdXRpbF8xLmVuc3VyZUJOKSh0eC5tYXhQcmlvcml0eUZlZVBlckdhcylcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgY29uc3QgZ2FzTGltaXQgPSB0eC5nYXMgIT0gbnVsbCA/ICgwLCB1dGlsXzEuZW5zdXJlQk4pKHR4LmdhcykgOiBudWxsO1xuICAgICAgICBjb25zdCBjaGFpbklkID0gdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tQWRkcmVzcyxcbiAgICAgICAgICAgIHRvQWRkcmVzcyxcbiAgICAgICAgICAgIHdlaVZhbHVlLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5vbmNlLFxuICAgICAgICAgICAgZ2FzUHJpY2VJbldlaSxcbiAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgICAgZ2FzTGltaXQsXG4gICAgICAgICAgICBjaGFpbklkLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBfaXNBdXRob3JpemVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkcmVzc2VzLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIF9yZXF1aXJlQXV0aG9yaXphdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc0F1dGhvcml6ZWQoKSkge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucHJvdmlkZXIudW5hdXRob3JpemVkKHt9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfdGhyb3dVbnN1cHBvcnRlZE1ldGhvZEVycm9yKCkge1xuICAgICAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5wcm92aWRlci51bnN1cHBvcnRlZE1ldGhvZCh7fSk7XG4gICAgfVxuICAgIGFzeW5jIF9zaWduRXRoZXJldW1NZXNzYWdlKG1lc3NhZ2UsIGFkZHJlc3MsIGFkZFByZWZpeCwgdHlwZWREYXRhSnNvbikge1xuICAgICAgICB0aGlzLl9lbnN1cmVLbm93bkFkZHJlc3MoYWRkcmVzcyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZWxheSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCByZWxheS5zaWduRXRoZXJldW1NZXNzYWdlKG1lc3NhZ2UsIGFkZHJlc3MsIGFkZFByZWZpeCwgdHlwZWREYXRhSnNvbikucHJvbWlzZTtcbiAgICAgICAgICAgIHJldHVybiB7IGpzb25ycGM6IFwiMi4wXCIsIGlkOiAwLCByZXN1bHQ6IHJlcy5yZXN1bHQgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGVyci5tZXNzYWdlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UubWF0Y2goLyhkZW5pZWR8cmVqZWN0ZWQpL2kpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucHJvdmlkZXIudXNlclJlamVjdGVkUmVxdWVzdChcIlVzZXIgZGVuaWVkIG1lc3NhZ2Ugc2lnbmF0dXJlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF9ldGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZShtZXNzYWdlLCBzaWduYXR1cmUsIGFkZFByZWZpeCkge1xuICAgICAgICBjb25zdCByZWxheSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlbGF5LmV0aGVyZXVtQWRkcmVzc0Zyb21TaWduZWRNZXNzYWdlKG1lc3NhZ2UsIHNpZ25hdHVyZSwgYWRkUHJlZml4KS5wcm9taXNlO1xuICAgICAgICByZXR1cm4geyBqc29ucnBjOiBcIjIuMFwiLCBpZDogMCwgcmVzdWx0OiByZXMucmVzdWx0IH07XG4gICAgfVxuICAgIF9ldGhfYWNjb3VudHMoKSB7XG4gICAgICAgIHJldHVybiBbLi4udGhpcy5fYWRkcmVzc2VzXTtcbiAgICB9XG4gICAgX2V0aF9jb2luYmFzZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRBZGRyZXNzIHx8IG51bGw7XG4gICAgfVxuICAgIF9uZXRfdmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2hhaW5JZCgpLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICAgX2V0aF9jaGFpbklkKCkge1xuICAgICAgICByZXR1cm4gKDAsIHV0aWxfMS5oZXhTdHJpbmdGcm9tSW50TnVtYmVyKSh0aGlzLmdldENoYWluSWQoKSk7XG4gICAgfVxuICAgIGdldENoYWluSWQoKSB7XG4gICAgICAgIGNvbnN0IGNoYWluSWRTdHIgPSB0aGlzLl9zdG9yYWdlLmdldEl0ZW0oREVGQVVMVF9DSEFJTl9JRF9LRVkpO1xuICAgICAgICBpZiAoIWNoYWluSWRTdHIpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgdXRpbF8xLmVuc3VyZUludE51bWJlcikodGhpcy5fY2hhaW5JZEZyb21PcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFpbklkID0gcGFyc2VJbnQoY2hhaW5JZFN0ciwgMTApO1xuICAgICAgICByZXR1cm4gKDAsIHV0aWxfMS5lbnN1cmVJbnROdW1iZXIpKGNoYWluSWQpO1xuICAgIH1cbiAgICBhc3luYyBfZXRoX3JlcXVlc3RBY2NvdW50cygpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5FVEhfQUNDT1VOVFNfU1RBVEUsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJwcm92aWRlcjo6X2V0aF9yZXF1ZXN0QWNjb3VudHNcIixcbiAgICAgICAgICAgIGFkZHJlc3Nlc19sZW5ndGg6IHRoaXMuX2FkZHJlc3Nlcy5sZW5ndGgsXG4gICAgICAgICAgICBzZXNzaW9uSWRIYXNoOiB0aGlzLl9yZWxheVxuICAgICAgICAgICAgICAgID8gU2Vzc2lvbl8xLlNlc3Npb24uaGFzaCh0aGlzLl9yZWxheS5zZXNzaW9uLmlkKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuX2FkZHJlc3Nlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICAgICAgICAgIGlkOiAwLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogdGhpcy5fYWRkcmVzc2VzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF5ID0gYXdhaXQgdGhpcy5pbml0aWFsaXplUmVsYXkoKTtcbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IHJlbGF5LnJlcXVlc3RFdGhlcmV1bUFjY291bnRzKCkucHJvbWlzZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGVyci5tZXNzYWdlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UubWF0Y2goLyhkZW5pZWR8cmVqZWN0ZWQpL2kpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucHJvdmlkZXIudXNlclJlamVjdGVkUmVxdWVzdChcIlVzZXIgZGVuaWVkIGFjY291bnQgYXV0aG9yaXphdGlvblwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJlcy5yZXN1bHQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImFjY291bnRzIHJlY2VpdmVkIGlzIGVtcHR5XCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldEFkZHJlc3NlcyhyZXMucmVzdWx0KTtcbiAgICAgICAgaWYgKCEodGhpcy5pc0xlZGdlciB8fCB0aGlzLmlzQ29pbmJhc2VCcm93c2VyKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zd2l0Y2hFdGhlcmV1bUNoYWluKHRoaXMuZ2V0Q2hhaW5JZCgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBqc29ucnBjOiBcIjIuMFwiLCBpZDogMCwgcmVzdWx0OiB0aGlzLl9hZGRyZXNzZXMgfTtcbiAgICB9XG4gICAgX2V0aF9zaWduKHBhcmFtcykge1xuICAgICAgICB0aGlzLl9yZXF1aXJlQXV0aG9yaXphdGlvbigpO1xuICAgICAgICBjb25zdCBhZGRyZXNzID0gKDAsIHV0aWxfMS5lbnN1cmVBZGRyZXNzU3RyaW5nKShwYXJhbXNbMF0pO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gKDAsIHV0aWxfMS5lbnN1cmVCdWZmZXIpKHBhcmFtc1sxXSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWduRXRoZXJldW1NZXNzYWdlKG1lc3NhZ2UsIGFkZHJlc3MsIGZhbHNlKTtcbiAgICB9XG4gICAgX2V0aF9lY1JlY292ZXIocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoMCwgdXRpbF8xLmVuc3VyZUJ1ZmZlcikocGFyYW1zWzBdKTtcbiAgICAgICAgY29uc3Qgc2lnbmF0dXJlID0gKDAsIHV0aWxfMS5lbnN1cmVCdWZmZXIpKHBhcmFtc1sxXSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZShtZXNzYWdlLCBzaWduYXR1cmUsIGZhbHNlKTtcbiAgICB9XG4gICAgX3BlcnNvbmFsX3NpZ24ocGFyYW1zKSB7XG4gICAgICAgIHRoaXMuX3JlcXVpcmVBdXRob3JpemF0aW9uKCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoMCwgdXRpbF8xLmVuc3VyZUJ1ZmZlcikocGFyYW1zWzBdKTtcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9ICgwLCB1dGlsXzEuZW5zdXJlQWRkcmVzc1N0cmluZykocGFyYW1zWzFdKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZ25FdGhlcmV1bU1lc3NhZ2UobWVzc2FnZSwgYWRkcmVzcywgdHJ1ZSk7XG4gICAgfVxuICAgIF9wZXJzb25hbF9lY1JlY292ZXIocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoMCwgdXRpbF8xLmVuc3VyZUJ1ZmZlcikocGFyYW1zWzBdKTtcbiAgICAgICAgY29uc3Qgc2lnbmF0dXJlID0gKDAsIHV0aWxfMS5lbnN1cmVCdWZmZXIpKHBhcmFtc1sxXSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZShtZXNzYWdlLCBzaWduYXR1cmUsIHRydWUpO1xuICAgIH1cbiAgICBhc3luYyBfZXRoX3NpZ25UcmFuc2FjdGlvbihwYXJhbXMpIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZUF1dGhvcml6YXRpb24oKTtcbiAgICAgICAgY29uc3QgdHggPSB0aGlzLl9wcmVwYXJlVHJhbnNhY3Rpb25QYXJhbXMocGFyYW1zWzBdIHx8IHt9KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF5ID0gYXdhaXQgdGhpcy5pbml0aWFsaXplUmVsYXkoKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlbGF5LnNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uKHR4KS5wcm9taXNlO1xuICAgICAgICAgICAgcmV0dXJuIHsganNvbnJwYzogXCIyLjBcIiwgaWQ6IDAsIHJlc3VsdDogcmVzLnJlc3VsdCB9O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZXJyLm1lc3NhZ2UgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICBlcnIubWVzc2FnZS5tYXRjaCgvKGRlbmllZHxyZWplY3RlZCkvaSkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5wcm92aWRlci51c2VyUmVqZWN0ZWRSZXF1ZXN0KFwiVXNlciBkZW5pZWQgdHJhbnNhY3Rpb24gc2lnbmF0dXJlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF9ldGhfc2VuZFJhd1RyYW5zYWN0aW9uKHBhcmFtcykge1xuICAgICAgICBjb25zdCBzaWduZWRUcmFuc2FjdGlvbiA9ICgwLCB1dGlsXzEuZW5zdXJlQnVmZmVyKShwYXJhbXNbMF0pO1xuICAgICAgICBjb25zdCByZWxheSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJlbGF5KCk7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlbGF5LnN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb24oc2lnbmVkVHJhbnNhY3Rpb24sIHRoaXMuZ2V0Q2hhaW5JZCgpKS5wcm9taXNlO1xuICAgICAgICByZXR1cm4geyBqc29ucnBjOiBcIjIuMFwiLCBpZDogMCwgcmVzdWx0OiByZXMucmVzdWx0IH07XG4gICAgfVxuICAgIGFzeW5jIF9ldGhfc2VuZFRyYW5zYWN0aW9uKHBhcmFtcykge1xuICAgICAgICB0aGlzLl9yZXF1aXJlQXV0aG9yaXphdGlvbigpO1xuICAgICAgICBjb25zdCB0eCA9IHRoaXMuX3ByZXBhcmVUcmFuc2FjdGlvblBhcmFtcyhwYXJhbXNbMF0gfHwge30pO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXkgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVSZWxheSgpO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVsYXkuc2lnbkFuZFN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb24odHgpLnByb21pc2U7XG4gICAgICAgICAgICByZXR1cm4geyBqc29ucnBjOiBcIjIuMFwiLCBpZDogMCwgcmVzdWx0OiByZXMucmVzdWx0IH07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBlcnIubWVzc2FnZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgICAgIGVyci5tZXNzYWdlLm1hdGNoKC8oZGVuaWVkfHJlamVjdGVkKS9pKSkge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnByb3ZpZGVyLnVzZXJSZWplY3RlZFJlcXVlc3QoXCJVc2VyIGRlbmllZCB0cmFuc2FjdGlvbiBzaWduYXR1cmVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgX2V0aF9zaWduVHlwZWREYXRhX3YxKHBhcmFtcykge1xuICAgICAgICB0aGlzLl9yZXF1aXJlQXV0aG9yaXphdGlvbigpO1xuICAgICAgICBjb25zdCB0eXBlZERhdGEgPSAoMCwgdXRpbF8xLmVuc3VyZVBhcnNlZEpTT05PYmplY3QpKHBhcmFtc1swXSk7XG4gICAgICAgIGNvbnN0IGFkZHJlc3MgPSAoMCwgdXRpbF8xLmVuc3VyZUFkZHJlc3NTdHJpbmcpKHBhcmFtc1sxXSk7XG4gICAgICAgIHRoaXMuX2Vuc3VyZUtub3duQWRkcmVzcyhhZGRyZXNzKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGV0aF9laXA3MTJfdXRpbF8xLmRlZmF1bHQuaGFzaEZvclNpZ25UeXBlZERhdGFMZWdhY3koeyBkYXRhOiB0eXBlZERhdGEgfSk7XG4gICAgICAgIGNvbnN0IHR5cGVkRGF0YUpTT04gPSBKU09OLnN0cmluZ2lmeSh0eXBlZERhdGEsIG51bGwsIDIpO1xuICAgICAgICByZXR1cm4gdGhpcy5fc2lnbkV0aGVyZXVtTWVzc2FnZShtZXNzYWdlLCBhZGRyZXNzLCBmYWxzZSwgdHlwZWREYXRhSlNPTik7XG4gICAgfVxuICAgIGFzeW5jIF9ldGhfc2lnblR5cGVkRGF0YV92MyhwYXJhbXMpIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZUF1dGhvcml6YXRpb24oKTtcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9ICgwLCB1dGlsXzEuZW5zdXJlQWRkcmVzc1N0cmluZykocGFyYW1zWzBdKTtcbiAgICAgICAgY29uc3QgdHlwZWREYXRhID0gKDAsIHV0aWxfMS5lbnN1cmVQYXJzZWRKU09OT2JqZWN0KShwYXJhbXNbMV0pO1xuICAgICAgICB0aGlzLl9lbnN1cmVLbm93bkFkZHJlc3MoYWRkcmVzcyk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBldGhfZWlwNzEyX3V0aWxfMS5kZWZhdWx0Lmhhc2hGb3JTaWduVHlwZWREYXRhX3YzKHsgZGF0YTogdHlwZWREYXRhIH0pO1xuICAgICAgICBjb25zdCB0eXBlZERhdGFKU09OID0gSlNPTi5zdHJpbmdpZnkodHlwZWREYXRhLCBudWxsLCAyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZ25FdGhlcmV1bU1lc3NhZ2UobWVzc2FnZSwgYWRkcmVzcywgZmFsc2UsIHR5cGVkRGF0YUpTT04pO1xuICAgIH1cbiAgICBhc3luYyBfZXRoX3NpZ25UeXBlZERhdGFfdjQocGFyYW1zKSB7XG4gICAgICAgIHRoaXMuX3JlcXVpcmVBdXRob3JpemF0aW9uKCk7XG4gICAgICAgIGNvbnN0IGFkZHJlc3MgPSAoMCwgdXRpbF8xLmVuc3VyZUFkZHJlc3NTdHJpbmcpKHBhcmFtc1swXSk7XG4gICAgICAgIGNvbnN0IHR5cGVkRGF0YSA9ICgwLCB1dGlsXzEuZW5zdXJlUGFyc2VkSlNPTk9iamVjdCkocGFyYW1zWzFdKTtcbiAgICAgICAgdGhpcy5fZW5zdXJlS25vd25BZGRyZXNzKGFkZHJlc3MpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXRoX2VpcDcxMl91dGlsXzEuZGVmYXVsdC5oYXNoRm9yU2lnblR5cGVkRGF0YV92NCh7IGRhdGE6IHR5cGVkRGF0YSB9KTtcbiAgICAgICAgY29uc3QgdHlwZWREYXRhSlNPTiA9IEpTT04uc3RyaW5naWZ5KHR5cGVkRGF0YSwgbnVsbCwgMik7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWduRXRoZXJldW1NZXNzYWdlKG1lc3NhZ2UsIGFkZHJlc3MsIGZhbHNlLCB0eXBlZERhdGFKU09OKTtcbiAgICB9XG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgYXN5bmMgX2Nid2FsbGV0X2FyYml0cmFyeShwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gcGFyYW1zWzBdO1xuICAgICAgICBjb25zdCBkYXRhID0gcGFyYW1zWzFdO1xuICAgICAgICBpZiAodHlwZW9mIGRhdGEgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInBhcmFtZXRlciBtdXN0IGJlIGEgc3RyaW5nXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgYWN0aW9uICE9PSBcIm9iamVjdFwiIHx8IGFjdGlvbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicGFyYW1ldGVyIG11c3QgYmUgYW4gb2JqZWN0XCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZ2VuZXJpY1JlcXVlc3QoYWN0aW9uLCBkYXRhKTtcbiAgICAgICAgcmV0dXJuIHsganNvbnJwYzogXCIyLjBcIiwgaWQ6IDAsIHJlc3VsdCB9O1xuICAgIH1cbiAgICBhc3luYyBfd2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW4ocGFyYW1zKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHBhcmFtc1swXTtcbiAgICAgICAgaWYgKCgoX2EgPSByZXF1ZXN0LnJwY1VybHMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sZW5ndGgpID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgZXJyb3I6IHsgY29kZTogMiwgbWVzc2FnZTogYHBsZWFzZSBwYXNzIGluIGF0IGxlYXN0IDEgcnBjVXJsYCB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJlcXVlc3QuY2hhaW5OYW1lIHx8IHJlcXVlc3QuY2hhaW5OYW1lLnRyaW0oKSA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucnBjLmludmFsaWRQYXJhbXMoXCJjaGFpbk5hbWUgaXMgYSByZXF1aXJlZCBmaWVsZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJlcXVlc3QubmF0aXZlQ3VycmVuY3kpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUGFyYW1zKFwibmF0aXZlQ3VycmVuY3kgaXMgYSByZXF1aXJlZCBmaWVsZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFpbklkTnVtYmVyID0gcGFyc2VJbnQocmVxdWVzdC5jaGFpbklkLCAxNik7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB0aGlzLmFkZEV0aGVyZXVtQ2hhaW4oY2hhaW5JZE51bWJlciwgKF9iID0gcmVxdWVzdC5ycGNVcmxzKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBbXSwgKF9jID0gcmVxdWVzdC5ibG9ja0V4cGxvcmVyVXJscykgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogW10sIHJlcXVlc3QuY2hhaW5OYW1lLCAoX2QgPSByZXF1ZXN0Lmljb25VcmxzKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBbXSwgcmVxdWVzdC5uYXRpdmVDdXJyZW5jeSk7XG4gICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICByZXR1cm4geyBqc29ucnBjOiBcIjIuMFwiLCBpZDogMCwgcmVzdWx0OiBudWxsIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgZXJyb3I6IHsgY29kZTogMiwgbWVzc2FnZTogYHVuYWJsZSB0byBhZGQgZXRoZXJldW0gY2hhaW5gIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF93YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpbihwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHBhcmFtc1swXTtcbiAgICAgICAgYXdhaXQgdGhpcy5zd2l0Y2hFdGhlcmV1bUNoYWluKHBhcnNlSW50KHJlcXVlc3QuY2hhaW5JZCwgMTYpKTtcbiAgICAgICAgcmV0dXJuIHsganNvbnJwYzogXCIyLjBcIiwgaWQ6IDAsIHJlc3VsdDogbnVsbCB9O1xuICAgIH1cbiAgICBhc3luYyBfd2FsbGV0X3dhdGNoQXNzZXQocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoQXJyYXkuaXNBcnJheShwYXJhbXMpID8gcGFyYW1zWzBdIDogcGFyYW1zKTtcbiAgICAgICAgaWYgKCFyZXF1ZXN0LnR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUGFyYW1zKFwiVHlwZSBpcyByZXF1aXJlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKHJlcXVlc3QgPT09IG51bGwgfHwgcmVxdWVzdCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVxdWVzdC50eXBlKSAhPT0gXCJFUkMyMFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhgQXNzZXQgb2YgdHlwZSAnJHtyZXF1ZXN0LnR5cGV9JyBpcyBub3Qgc3VwcG9ydGVkYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEocmVxdWVzdCA9PT0gbnVsbCB8fCByZXF1ZXN0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXF1ZXN0Lm9wdGlvbnMpKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhcIk9wdGlvbnMgYXJlIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKHJlcXVlc3QgPT09IG51bGwgfHwgcmVxdWVzdCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVxdWVzdC5vcHRpb25zLmFkZHJlc3MpKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhcIkFkZHJlc3MgaXMgcmVxdWlyZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hhaW5JZCA9IHRoaXMuZ2V0Q2hhaW5JZCgpO1xuICAgICAgICBjb25zdCB7IGFkZHJlc3MsIHN5bWJvbCwgaW1hZ2UsIGRlY2ltYWxzIH0gPSByZXF1ZXN0Lm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMud2F0Y2hBc3NldChyZXF1ZXN0LnR5cGUsIGFkZHJlc3MsIHN5bWJvbCwgZGVjaW1hbHMsIGltYWdlLCBjaGFpbklkKTtcbiAgICAgICAgcmV0dXJuIHsganNvbnJwYzogXCIyLjBcIiwgaWQ6IDAsIHJlc3VsdDogcmVzIH07XG4gICAgfVxuICAgIF9ldGhfdW5pbnN0YWxsRmlsdGVyKHBhcmFtcykge1xuICAgICAgICBjb25zdCBmaWx0ZXJJZCA9ICgwLCB1dGlsXzEuZW5zdXJlSGV4U3RyaW5nKShwYXJhbXNbMF0pO1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyUG9seWZpbGwudW5pbnN0YWxsRmlsdGVyKGZpbHRlcklkKTtcbiAgICB9XG4gICAgYXN5bmMgX2V0aF9uZXdGaWx0ZXIocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gcGFyYW1zWzBdO1xuICAgICAgICBjb25zdCBmaWx0ZXJJZCA9IGF3YWl0IHRoaXMuX2ZpbHRlclBvbHlmaWxsLm5ld0ZpbHRlcihwYXJhbSk7XG4gICAgICAgIHJldHVybiB7IGpzb25ycGM6IFwiMi4wXCIsIGlkOiAwLCByZXN1bHQ6IGZpbHRlcklkIH07XG4gICAgfVxuICAgIGFzeW5jIF9ldGhfbmV3QmxvY2tGaWx0ZXIoKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlcklkID0gYXdhaXQgdGhpcy5fZmlsdGVyUG9seWZpbGwubmV3QmxvY2tGaWx0ZXIoKTtcbiAgICAgICAgcmV0dXJuIHsganNvbnJwYzogXCIyLjBcIiwgaWQ6IDAsIHJlc3VsdDogZmlsdGVySWQgfTtcbiAgICB9XG4gICAgYXN5bmMgX2V0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIoKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlcklkID0gYXdhaXQgdGhpcy5fZmlsdGVyUG9seWZpbGwubmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyKCk7XG4gICAgICAgIHJldHVybiB7IGpzb25ycGM6IFwiMi4wXCIsIGlkOiAwLCByZXN1bHQ6IGZpbHRlcklkIH07XG4gICAgfVxuICAgIF9ldGhfZ2V0RmlsdGVyQ2hhbmdlcyhwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgZmlsdGVySWQgPSAoMCwgdXRpbF8xLmVuc3VyZUhleFN0cmluZykocGFyYW1zWzBdKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclBvbHlmaWxsLmdldEZpbHRlckNoYW5nZXMoZmlsdGVySWQpO1xuICAgIH1cbiAgICBfZXRoX2dldEZpbHRlckxvZ3MocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlcklkID0gKDAsIHV0aWxfMS5lbnN1cmVIZXhTdHJpbmcpKHBhcmFtc1swXSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXJQb2x5ZmlsbC5nZXRGaWx0ZXJMb2dzKGZpbHRlcklkKTtcbiAgICB9XG4gICAgaW5pdGlhbGl6ZVJlbGF5KCkge1xuICAgICAgICBpZiAodGhpcy5fcmVsYXkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fcmVsYXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWxheVByb3ZpZGVyKCkudGhlbihyZWxheSA9PiB7XG4gICAgICAgICAgICByZWxheS5zZXRBY2NvdW50c0NhbGxiYWNrKChhY2NvdW50cywgaXNEaXNjb25uZWN0KSA9PiB0aGlzLl9zZXRBZGRyZXNzZXMoYWNjb3VudHMsIGlzRGlzY29ubmVjdCkpO1xuICAgICAgICAgICAgcmVsYXkuc2V0Q2hhaW5DYWxsYmFjaygoY2hhaW5JZCwganNvblJwY1VybCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUHJvdmlkZXJJbmZvKGpzb25ScGNVcmwsIHBhcnNlSW50KGNoYWluSWQsIDEwKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJlbGF5LnNldERhcHBEZWZhdWx0Q2hhaW5DYWxsYmFjayh0aGlzLl9jaGFpbklkRnJvbU9wdHMpO1xuICAgICAgICAgICAgdGhpcy5fcmVsYXkgPSByZWxheTtcbiAgICAgICAgICAgIHJldHVybiByZWxheTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5Db2luYmFzZVdhbGxldFByb3ZpZGVyID0gQ29pbmJhc2VXYWxsZXRQcm92aWRlcjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/provider/CoinbaseWalletProvider.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/provider/FilterPolyfill.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/provider/FilterPolyfill.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.filterFromParam = exports.FilterPolyfill = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@coinbase/wallet-sdk/dist/types.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nconst TIMEOUT = 5 * 60 * 1000; // 5 minutes\nconst JSONRPC_TEMPLATE = {\n jsonrpc: \"2.0\",\n id: 0,\n};\nclass FilterPolyfill {\n constructor(provider) {\n this.logFilters = new Map(); // <id, filter>\n this.blockFilters = new Set(); // <id>\n this.pendingTransactionFilters = new Set(); // <id, true>\n this.cursors = new Map(); // <id, cursor>\n this.timeouts = new Map(); // <id, setTimeout id>\n this.nextFilterId = (0, types_1.IntNumber)(1);\n this.provider = provider;\n }\n async newFilter(param) {\n const filter = filterFromParam(param);\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, filter.fromBlock);\n console.log(`Installing new log filter(${id}):`, filter, \"initial cursor position:\", cursor);\n this.logFilters.set(id, filter);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n async newBlockFilter() {\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, \"latest\");\n console.log(`Installing new block filter (${id}) with initial cursor position:`, cursor);\n this.blockFilters.add(id);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n async newPendingTransactionFilter() {\n const id = this.makeFilterId();\n const cursor = await this.setInitialCursorPosition(id, \"latest\");\n console.log(`Installing new block filter (${id}) with initial cursor position:`, cursor);\n this.pendingTransactionFilters.add(id);\n this.setFilterTimeout(id);\n return (0, util_1.hexStringFromIntNumber)(id);\n }\n uninstallFilter(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n console.log(`Uninstalling filter (${id})`);\n this.deleteFilter(id);\n return true;\n }\n getFilterChanges(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n if (this.timeouts.has(id)) {\n // extend timeout\n this.setFilterTimeout(id);\n }\n if (this.logFilters.has(id)) {\n return this.getLogFilterChanges(id);\n }\n else if (this.blockFilters.has(id)) {\n return this.getBlockFilterChanges(id);\n }\n else if (this.pendingTransactionFilters.has(id)) {\n return this.getPendingTransactionFilterChanges(id);\n }\n return Promise.resolve(filterNotFoundError());\n }\n async getFilterLogs(filterId) {\n const id = (0, util_1.intNumberFromHexString)(filterId);\n const filter = this.logFilters.get(id);\n if (!filter) {\n return filterNotFoundError();\n }\n return this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: \"eth_getLogs\", params: [paramFromFilter(filter)] }));\n }\n makeFilterId() {\n return (0, types_1.IntNumber)(++this.nextFilterId);\n }\n sendAsyncPromise(request) {\n return new Promise((resolve, reject) => {\n this.provider.sendAsync(request, (err, response) => {\n if (err) {\n return reject(err);\n }\n if (Array.isArray(response) || response == null) {\n return reject(new Error(`unexpected response received: ${JSON.stringify(response)}`));\n }\n resolve(response);\n });\n });\n }\n deleteFilter(id) {\n console.log(`Deleting filter (${id})`);\n this.logFilters.delete(id);\n this.blockFilters.delete(id);\n this.pendingTransactionFilters.delete(id);\n this.cursors.delete(id);\n this.timeouts.delete(id);\n }\n async getLogFilterChanges(id) {\n const filter = this.logFilters.get(id);\n const cursorPosition = this.cursors.get(id);\n if (!cursorPosition || !filter) {\n return filterNotFoundError();\n }\n const currentBlockHeight = await this.getCurrentBlockHeight();\n const toBlock = filter.toBlock === \"latest\" ? currentBlockHeight : filter.toBlock;\n if (cursorPosition > currentBlockHeight) {\n return emptyResult();\n }\n if (cursorPosition > filter.toBlock) {\n return emptyResult();\n }\n console.log(`Fetching logs from ${cursorPosition} to ${toBlock} for filter ${id}`);\n const response = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: \"eth_getLogs\", params: [\n paramFromFilter(Object.assign(Object.assign({}, filter), { fromBlock: cursorPosition, toBlock })),\n ] }));\n if (Array.isArray(response.result)) {\n const blocks = response.result.map(log => (0, util_1.intNumberFromHexString)(log.blockNumber || \"0x0\"));\n const highestBlock = Math.max(...blocks);\n if (highestBlock && highestBlock > cursorPosition) {\n const newCursorPosition = (0, types_1.IntNumber)(highestBlock + 1);\n console.log(`Moving cursor position for filter (${id}) from ${cursorPosition} to ${newCursorPosition}`);\n this.cursors.set(id, newCursorPosition);\n }\n }\n return response;\n }\n async getBlockFilterChanges(id) {\n const cursorPosition = this.cursors.get(id);\n if (!cursorPosition) {\n return filterNotFoundError();\n }\n const currentBlockHeight = await this.getCurrentBlockHeight();\n if (cursorPosition > currentBlockHeight) {\n return emptyResult();\n }\n console.log(`Fetching blocks from ${cursorPosition} to ${currentBlockHeight} for filter (${id})`);\n const blocks = (await Promise.all(\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n (0, util_1.range)(cursorPosition, currentBlockHeight + 1).map(i => this.getBlockHashByNumber((0, types_1.IntNumber)(i))))).filter(hash => !!hash);\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n const newCursorPosition = (0, types_1.IntNumber)(cursorPosition + blocks.length);\n console.log(`Moving cursor position for filter (${id}) from ${cursorPosition} to ${newCursorPosition}`);\n this.cursors.set(id, newCursorPosition);\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { result: blocks });\n }\n async getPendingTransactionFilterChanges(_id) {\n // pending transaction filters are not supported\n return Promise.resolve(emptyResult());\n }\n async setInitialCursorPosition(id, startBlock) {\n const currentBlockHeight = await this.getCurrentBlockHeight();\n const initialCursorPosition = typeof startBlock === \"number\" && startBlock > currentBlockHeight\n ? startBlock\n : currentBlockHeight;\n this.cursors.set(id, initialCursorPosition);\n return initialCursorPosition;\n }\n setFilterTimeout(id) {\n const existing = this.timeouts.get(id);\n if (existing) {\n window.clearTimeout(existing);\n }\n const timeout = window.setTimeout(() => {\n console.log(`Filter (${id}) timed out`);\n this.deleteFilter(id);\n }, TIMEOUT);\n this.timeouts.set(id, timeout);\n }\n async getCurrentBlockHeight() {\n const { result } = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: \"eth_blockNumber\", params: [] }));\n return (0, util_1.intNumberFromHexString)((0, util_1.ensureHexString)(result));\n }\n async getBlockHashByNumber(blockNumber) {\n const response = await this.sendAsyncPromise(Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { method: \"eth_getBlockByNumber\", params: [(0, util_1.hexStringFromIntNumber)(blockNumber), false] }));\n if (response.result && typeof response.result.hash === \"string\") {\n return (0, util_1.ensureHexString)(response.result.hash);\n }\n return null;\n }\n}\nexports.FilterPolyfill = FilterPolyfill;\nfunction filterFromParam(param) {\n return {\n fromBlock: intBlockHeightFromHexBlockHeight(param.fromBlock),\n toBlock: intBlockHeightFromHexBlockHeight(param.toBlock),\n addresses: param.address === undefined\n ? null\n : Array.isArray(param.address)\n ? param.address\n : [param.address],\n topics: param.topics || [],\n };\n}\nexports.filterFromParam = filterFromParam;\nfunction paramFromFilter(filter) {\n const param = {\n fromBlock: hexBlockHeightFromIntBlockHeight(filter.fromBlock),\n toBlock: hexBlockHeightFromIntBlockHeight(filter.toBlock),\n topics: filter.topics,\n };\n if (filter.addresses !== null) {\n param.address = filter.addresses;\n }\n return param;\n}\nfunction intBlockHeightFromHexBlockHeight(value) {\n if (value === undefined || value === \"latest\" || value === \"pending\") {\n return \"latest\";\n }\n else if (value === \"earliest\") {\n return (0, types_1.IntNumber)(0);\n }\n else if ((0, util_1.isHexString)(value)) {\n return (0, util_1.intNumberFromHexString)(value);\n }\n throw new Error(`Invalid block option: ${String(value)}`);\n}\nfunction hexBlockHeightFromIntBlockHeight(value) {\n if (value === \"latest\") {\n return value;\n }\n return (0, util_1.hexStringFromIntNumber)(value);\n}\nfunction filterNotFoundError() {\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { error: { code: -32000, message: \"filter not found\" } });\n}\nfunction emptyResult() {\n return Object.assign(Object.assign({}, JSONRPC_TEMPLATE), { result: [] });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9wcm92aWRlci9GaWx0ZXJQb2x5ZmlsbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsdUJBQXVCLEdBQUcsc0JBQXNCO0FBQ2hELGdCQUFnQixtQkFBTyxDQUFDLG1FQUFVO0FBQ2xDLGVBQWUsbUJBQU8sQ0FBQyxpRUFBUztBQUNoQywrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDLHVDQUF1QztBQUN2QyxvREFBb0Q7QUFDcEQsa0NBQWtDO0FBQ2xDLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxHQUFHO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELEdBQUc7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsR0FBRztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsR0FBRztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FLHVCQUF1QiwwREFBMEQ7QUFDcEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZFQUE2RSx5QkFBeUI7QUFDdEc7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBLHdDQUF3QyxHQUFHO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsZ0JBQWdCLEtBQUssU0FBUyxhQUFhLEdBQUc7QUFDeEYsbUZBQW1GLHVCQUF1QjtBQUMxRyw4REFBOEQsYUFBYSxvQ0FBb0M7QUFDL0csZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0UsR0FBRyxTQUFTLGdCQUFnQixLQUFLLGtCQUFrQjtBQUNySDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLGdCQUFnQixLQUFLLG9CQUFvQixjQUFjLEdBQUc7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRCxHQUFHLFNBQVMsZ0JBQWdCLEtBQUssa0JBQWtCO0FBQzdHO0FBQ0EsNkNBQTZDLHVCQUF1QixnQkFBZ0I7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsR0FBRztBQUN0QztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsU0FBUyw0REFBNEQsdUJBQXVCLHVDQUF1QztBQUNuSjtBQUNBO0FBQ0E7QUFDQSxtRkFBbUYsdUJBQXVCLGtHQUFrRztBQUM1TTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxjQUFjO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsdUJBQXVCLFNBQVMsNkNBQTZDO0FBQ3RIO0FBQ0E7QUFDQSx5Q0FBeUMsdUJBQXVCLFlBQVk7QUFDNUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvcHJvdmlkZXIvRmlsdGVyUG9seWZpbGwuanM/YmNiZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5maWx0ZXJGcm9tUGFyYW0gPSBleHBvcnRzLkZpbHRlclBvbHlmaWxsID0gdm9pZCAwO1xuY29uc3QgdHlwZXNfMSA9IHJlcXVpcmUoXCIuLi90eXBlc1wiKTtcbmNvbnN0IHV0aWxfMSA9IHJlcXVpcmUoXCIuLi91dGlsXCIpO1xuY29uc3QgVElNRU9VVCA9IDUgKiA2MCAqIDEwMDA7IC8vIDUgbWludXRlc1xuY29uc3QgSlNPTlJQQ19URU1QTEFURSA9IHtcbiAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgIGlkOiAwLFxufTtcbmNsYXNzIEZpbHRlclBvbHlmaWxsIHtcbiAgICBjb25zdHJ1Y3Rvcihwcm92aWRlcikge1xuICAgICAgICB0aGlzLmxvZ0ZpbHRlcnMgPSBuZXcgTWFwKCk7IC8vIDxpZCwgZmlsdGVyPlxuICAgICAgICB0aGlzLmJsb2NrRmlsdGVycyA9IG5ldyBTZXQoKTsgLy8gPGlkPlxuICAgICAgICB0aGlzLnBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcnMgPSBuZXcgU2V0KCk7IC8vIDxpZCwgdHJ1ZT5cbiAgICAgICAgdGhpcy5jdXJzb3JzID0gbmV3IE1hcCgpOyAvLyA8aWQsIGN1cnNvcj5cbiAgICAgICAgdGhpcy50aW1lb3V0cyA9IG5ldyBNYXAoKTsgLy8gPGlkLCBzZXRUaW1lb3V0IGlkPlxuICAgICAgICB0aGlzLm5leHRGaWx0ZXJJZCA9ICgwLCB0eXBlc18xLkludE51bWJlcikoMSk7XG4gICAgICAgIHRoaXMucHJvdmlkZXIgPSBwcm92aWRlcjtcbiAgICB9XG4gICAgYXN5bmMgbmV3RmlsdGVyKHBhcmFtKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlckZyb21QYXJhbShwYXJhbSk7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5tYWtlRmlsdGVySWQoKTtcbiAgICAgICAgY29uc3QgY3Vyc29yID0gYXdhaXQgdGhpcy5zZXRJbml0aWFsQ3Vyc29yUG9zaXRpb24oaWQsIGZpbHRlci5mcm9tQmxvY2spO1xuICAgICAgICBjb25zb2xlLmxvZyhgSW5zdGFsbGluZyBuZXcgbG9nIGZpbHRlcigke2lkfSk6YCwgZmlsdGVyLCBcImluaXRpYWwgY3Vyc29yIHBvc2l0aW9uOlwiLCBjdXJzb3IpO1xuICAgICAgICB0aGlzLmxvZ0ZpbHRlcnMuc2V0KGlkLCBmaWx0ZXIpO1xuICAgICAgICB0aGlzLnNldEZpbHRlclRpbWVvdXQoaWQpO1xuICAgICAgICByZXR1cm4gKDAsIHV0aWxfMS5oZXhTdHJpbmdGcm9tSW50TnVtYmVyKShpZCk7XG4gICAgfVxuICAgIGFzeW5jIG5ld0Jsb2NrRmlsdGVyKCkge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMubWFrZUZpbHRlcklkKCk7XG4gICAgICAgIGNvbnN0IGN1cnNvciA9IGF3YWl0IHRoaXMuc2V0SW5pdGlhbEN1cnNvclBvc2l0aW9uKGlkLCBcImxhdGVzdFwiKTtcbiAgICAgICAgY29uc29sZS5sb2coYEluc3RhbGxpbmcgbmV3IGJsb2NrIGZpbHRlciAoJHtpZH0pIHdpdGggaW5pdGlhbCBjdXJzb3IgcG9zaXRpb246YCwgY3Vyc29yKTtcbiAgICAgICAgdGhpcy5ibG9ja0ZpbHRlcnMuYWRkKGlkKTtcbiAgICAgICAgdGhpcy5zZXRGaWx0ZXJUaW1lb3V0KGlkKTtcbiAgICAgICAgcmV0dXJuICgwLCB1dGlsXzEuaGV4U3RyaW5nRnJvbUludE51bWJlcikoaWQpO1xuICAgIH1cbiAgICBhc3luYyBuZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIoKSB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5tYWtlRmlsdGVySWQoKTtcbiAgICAgICAgY29uc3QgY3Vyc29yID0gYXdhaXQgdGhpcy5zZXRJbml0aWFsQ3Vyc29yUG9zaXRpb24oaWQsIFwibGF0ZXN0XCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhgSW5zdGFsbGluZyBuZXcgYmxvY2sgZmlsdGVyICgke2lkfSkgd2l0aCBpbml0aWFsIGN1cnNvciBwb3NpdGlvbjpgLCBjdXJzb3IpO1xuICAgICAgICB0aGlzLnBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcnMuYWRkKGlkKTtcbiAgICAgICAgdGhpcy5zZXRGaWx0ZXJUaW1lb3V0KGlkKTtcbiAgICAgICAgcmV0dXJuICgwLCB1dGlsXzEuaGV4U3RyaW5nRnJvbUludE51bWJlcikoaWQpO1xuICAgIH1cbiAgICB1bmluc3RhbGxGaWx0ZXIoZmlsdGVySWQpIHtcbiAgICAgICAgY29uc3QgaWQgPSAoMCwgdXRpbF8xLmludE51bWJlckZyb21IZXhTdHJpbmcpKGZpbHRlcklkKTtcbiAgICAgICAgY29uc29sZS5sb2coYFVuaW5zdGFsbGluZyBmaWx0ZXIgKCR7aWR9KWApO1xuICAgICAgICB0aGlzLmRlbGV0ZUZpbHRlcihpZCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBnZXRGaWx0ZXJDaGFuZ2VzKGZpbHRlcklkKSB7XG4gICAgICAgIGNvbnN0IGlkID0gKDAsIHV0aWxfMS5pbnROdW1iZXJGcm9tSGV4U3RyaW5nKShmaWx0ZXJJZCk7XG4gICAgICAgIGlmICh0aGlzLnRpbWVvdXRzLmhhcyhpZCkpIHtcbiAgICAgICAgICAgIC8vIGV4dGVuZCB0aW1lb3V0XG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlclRpbWVvdXQoaWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxvZ0ZpbHRlcnMuaGFzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TG9nRmlsdGVyQ2hhbmdlcyhpZCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5ibG9ja0ZpbHRlcnMuaGFzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QmxvY2tGaWx0ZXJDaGFuZ2VzKGlkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLnBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcnMuaGFzKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyQ2hhbmdlcyhpZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmaWx0ZXJOb3RGb3VuZEVycm9yKCkpO1xuICAgIH1cbiAgICBhc3luYyBnZXRGaWx0ZXJMb2dzKGZpbHRlcklkKSB7XG4gICAgICAgIGNvbnN0IGlkID0gKDAsIHV0aWxfMS5pbnROdW1iZXJGcm9tSGV4U3RyaW5nKShmaWx0ZXJJZCk7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMubG9nRmlsdGVycy5nZXQoaWQpO1xuICAgICAgICBpZiAoIWZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlck5vdEZvdW5kRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZW5kQXN5bmNQcm9taXNlKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgSlNPTlJQQ19URU1QTEFURSksIHsgbWV0aG9kOiBcImV0aF9nZXRMb2dzXCIsIHBhcmFtczogW3BhcmFtRnJvbUZpbHRlcihmaWx0ZXIpXSB9KSk7XG4gICAgfVxuICAgIG1ha2VGaWx0ZXJJZCgpIHtcbiAgICAgICAgcmV0dXJuICgwLCB0eXBlc18xLkludE51bWJlcikoKyt0aGlzLm5leHRGaWx0ZXJJZCk7XG4gICAgfVxuICAgIHNlbmRBc3luY1Byb21pc2UocmVxdWVzdCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm92aWRlci5zZW5kQXN5bmMocmVxdWVzdCwgKGVyciwgcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzcG9uc2UpIHx8IHJlc3BvbnNlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgcmVzcG9uc2UgcmVjZWl2ZWQ6ICR7SlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpfWApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGRlbGV0ZUZpbHRlcihpZCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgRGVsZXRpbmcgZmlsdGVyICgke2lkfSlgKTtcbiAgICAgICAgdGhpcy5sb2dGaWx0ZXJzLmRlbGV0ZShpZCk7XG4gICAgICAgIHRoaXMuYmxvY2tGaWx0ZXJzLmRlbGV0ZShpZCk7XG4gICAgICAgIHRoaXMucGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVycy5kZWxldGUoaWQpO1xuICAgICAgICB0aGlzLmN1cnNvcnMuZGVsZXRlKGlkKTtcbiAgICAgICAgdGhpcy50aW1lb3V0cy5kZWxldGUoaWQpO1xuICAgIH1cbiAgICBhc3luYyBnZXRMb2dGaWx0ZXJDaGFuZ2VzKGlkKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMubG9nRmlsdGVycy5nZXQoaWQpO1xuICAgICAgICBjb25zdCBjdXJzb3JQb3NpdGlvbiA9IHRoaXMuY3Vyc29ycy5nZXQoaWQpO1xuICAgICAgICBpZiAoIWN1cnNvclBvc2l0aW9uIHx8ICFmaWx0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJOb3RGb3VuZEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudEJsb2NrSGVpZ2h0ID0gYXdhaXQgdGhpcy5nZXRDdXJyZW50QmxvY2tIZWlnaHQoKTtcbiAgICAgICAgY29uc3QgdG9CbG9jayA9IGZpbHRlci50b0Jsb2NrID09PSBcImxhdGVzdFwiID8gY3VycmVudEJsb2NrSGVpZ2h0IDogZmlsdGVyLnRvQmxvY2s7XG4gICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA+IGN1cnJlbnRCbG9ja0hlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5UmVzdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnNvclBvc2l0aW9uID4gZmlsdGVyLnRvQmxvY2spIHtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eVJlc3VsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKGBGZXRjaGluZyBsb2dzIGZyb20gJHtjdXJzb3JQb3NpdGlvbn0gdG8gJHt0b0Jsb2NrfSBmb3IgZmlsdGVyICR7aWR9YCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZW5kQXN5bmNQcm9taXNlKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgSlNPTlJQQ19URU1QTEFURSksIHsgbWV0aG9kOiBcImV0aF9nZXRMb2dzXCIsIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHBhcmFtRnJvbUZpbHRlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGZpbHRlciksIHsgZnJvbUJsb2NrOiBjdXJzb3JQb3NpdGlvbiwgdG9CbG9jayB9KSksXG4gICAgICAgICAgICBdIH0pKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVzdWx0KSkge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tzID0gcmVzcG9uc2UucmVzdWx0Lm1hcChsb2cgPT4gKDAsIHV0aWxfMS5pbnROdW1iZXJGcm9tSGV4U3RyaW5nKShsb2cuYmxvY2tOdW1iZXIgfHwgXCIweDBcIikpO1xuICAgICAgICAgICAgY29uc3QgaGlnaGVzdEJsb2NrID0gTWF0aC5tYXgoLi4uYmxvY2tzKTtcbiAgICAgICAgICAgIGlmIChoaWdoZXN0QmxvY2sgJiYgaGlnaGVzdEJsb2NrID4gY3Vyc29yUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDdXJzb3JQb3NpdGlvbiA9ICgwLCB0eXBlc18xLkludE51bWJlcikoaGlnaGVzdEJsb2NrICsgMSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYE1vdmluZyBjdXJzb3IgcG9zaXRpb24gZm9yIGZpbHRlciAoJHtpZH0pIGZyb20gJHtjdXJzb3JQb3NpdGlvbn0gdG8gJHtuZXdDdXJzb3JQb3NpdGlvbn1gKTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnNvcnMuc2V0KGlkLCBuZXdDdXJzb3JQb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbiAgICBhc3luYyBnZXRCbG9ja0ZpbHRlckNoYW5nZXMoaWQpIHtcbiAgICAgICAgY29uc3QgY3Vyc29yUG9zaXRpb24gPSB0aGlzLmN1cnNvcnMuZ2V0KGlkKTtcbiAgICAgICAgaWYgKCFjdXJzb3JQb3NpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlck5vdEZvdW5kRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50QmxvY2tIZWlnaHQgPSBhd2FpdCB0aGlzLmdldEN1cnJlbnRCbG9ja0hlaWdodCgpO1xuICAgICAgICBpZiAoY3Vyc29yUG9zaXRpb24gPiBjdXJyZW50QmxvY2tIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eVJlc3VsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKGBGZXRjaGluZyBibG9ja3MgZnJvbSAke2N1cnNvclBvc2l0aW9ufSB0byAke2N1cnJlbnRCbG9ja0hlaWdodH0gZm9yIGZpbHRlciAoJHtpZH0pYCk7XG4gICAgICAgIGNvbnN0IGJsb2NrcyA9IChhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC1wbHVzLW9wZXJhbmRzXG4gICAgICAgICgwLCB1dGlsXzEucmFuZ2UpKGN1cnNvclBvc2l0aW9uLCBjdXJyZW50QmxvY2tIZWlnaHQgKyAxKS5tYXAoaSA9PiB0aGlzLmdldEJsb2NrSGFzaEJ5TnVtYmVyKCgwLCB0eXBlc18xLkludE51bWJlcikoaSkpKSkpLmZpbHRlcihoYXNoID0+ICEhaGFzaCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtcGx1cy1vcGVyYW5kc1xuICAgICAgICBjb25zdCBuZXdDdXJzb3JQb3NpdGlvbiA9ICgwLCB0eXBlc18xLkludE51bWJlcikoY3Vyc29yUG9zaXRpb24gKyBibG9ja3MubGVuZ3RoKTtcbiAgICAgICAgY29uc29sZS5sb2coYE1vdmluZyBjdXJzb3IgcG9zaXRpb24gZm9yIGZpbHRlciAoJHtpZH0pIGZyb20gJHtjdXJzb3JQb3NpdGlvbn0gdG8gJHtuZXdDdXJzb3JQb3NpdGlvbn1gKTtcbiAgICAgICAgdGhpcy5jdXJzb3JzLnNldChpZCwgbmV3Q3Vyc29yUG9zaXRpb24pO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBKU09OUlBDX1RFTVBMQVRFKSwgeyByZXN1bHQ6IGJsb2NrcyB9KTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyQ2hhbmdlcyhfaWQpIHtcbiAgICAgICAgLy8gcGVuZGluZyB0cmFuc2FjdGlvbiBmaWx0ZXJzIGFyZSBub3Qgc3VwcG9ydGVkXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW1wdHlSZXN1bHQoKSk7XG4gICAgfVxuICAgIGFzeW5jIHNldEluaXRpYWxDdXJzb3JQb3NpdGlvbihpZCwgc3RhcnRCbG9jaykge1xuICAgICAgICBjb25zdCBjdXJyZW50QmxvY2tIZWlnaHQgPSBhd2FpdCB0aGlzLmdldEN1cnJlbnRCbG9ja0hlaWdodCgpO1xuICAgICAgICBjb25zdCBpbml0aWFsQ3Vyc29yUG9zaXRpb24gPSB0eXBlb2Ygc3RhcnRCbG9jayA9PT0gXCJudW1iZXJcIiAmJiBzdGFydEJsb2NrID4gY3VycmVudEJsb2NrSGVpZ2h0XG4gICAgICAgICAgICA/IHN0YXJ0QmxvY2tcbiAgICAgICAgICAgIDogY3VycmVudEJsb2NrSGVpZ2h0O1xuICAgICAgICB0aGlzLmN1cnNvcnMuc2V0KGlkLCBpbml0aWFsQ3Vyc29yUG9zaXRpb24pO1xuICAgICAgICByZXR1cm4gaW5pdGlhbEN1cnNvclBvc2l0aW9uO1xuICAgIH1cbiAgICBzZXRGaWx0ZXJUaW1lb3V0KGlkKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy50aW1lb3V0cy5nZXQoaWQpO1xuICAgICAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoZXhpc3RpbmcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmlsdGVyICgke2lkfSkgdGltZWQgb3V0YCk7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUZpbHRlcihpZCk7XG4gICAgICAgIH0sIFRJTUVPVVQpO1xuICAgICAgICB0aGlzLnRpbWVvdXRzLnNldChpZCwgdGltZW91dCk7XG4gICAgfVxuICAgIGFzeW5jIGdldEN1cnJlbnRCbG9ja0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IHRoaXMuc2VuZEFzeW5jUHJvbWlzZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIEpTT05SUENfVEVNUExBVEUpLCB7IG1ldGhvZDogXCJldGhfYmxvY2tOdW1iZXJcIiwgcGFyYW1zOiBbXSB9KSk7XG4gICAgICAgIHJldHVybiAoMCwgdXRpbF8xLmludE51bWJlckZyb21IZXhTdHJpbmcpKCgwLCB1dGlsXzEuZW5zdXJlSGV4U3RyaW5nKShyZXN1bHQpKTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0QmxvY2tIYXNoQnlOdW1iZXIoYmxvY2tOdW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlbmRBc3luY1Byb21pc2UoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBKU09OUlBDX1RFTVBMQVRFKSwgeyBtZXRob2Q6IFwiZXRoX2dldEJsb2NrQnlOdW1iZXJcIiwgcGFyYW1zOiBbKDAsIHV0aWxfMS5oZXhTdHJpbmdGcm9tSW50TnVtYmVyKShibG9ja051bWJlciksIGZhbHNlXSB9KSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5yZXN1bHQgJiYgdHlwZW9mIHJlc3BvbnNlLnJlc3VsdC5oYXNoID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIHV0aWxfMS5lbnN1cmVIZXhTdHJpbmcpKHJlc3BvbnNlLnJlc3VsdC5oYXNoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5leHBvcnRzLkZpbHRlclBvbHlmaWxsID0gRmlsdGVyUG9seWZpbGw7XG5mdW5jdGlvbiBmaWx0ZXJGcm9tUGFyYW0ocGFyYW0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBmcm9tQmxvY2s6IGludEJsb2NrSGVpZ2h0RnJvbUhleEJsb2NrSGVpZ2h0KHBhcmFtLmZyb21CbG9jayksXG4gICAgICAgIHRvQmxvY2s6IGludEJsb2NrSGVpZ2h0RnJvbUhleEJsb2NrSGVpZ2h0KHBhcmFtLnRvQmxvY2spLFxuICAgICAgICBhZGRyZXNzZXM6IHBhcmFtLmFkZHJlc3MgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IEFycmF5LmlzQXJyYXkocGFyYW0uYWRkcmVzcylcbiAgICAgICAgICAgICAgICA/IHBhcmFtLmFkZHJlc3NcbiAgICAgICAgICAgICAgICA6IFtwYXJhbS5hZGRyZXNzXSxcbiAgICAgICAgdG9waWNzOiBwYXJhbS50b3BpY3MgfHwgW10sXG4gICAgfTtcbn1cbmV4cG9ydHMuZmlsdGVyRnJvbVBhcmFtID0gZmlsdGVyRnJvbVBhcmFtO1xuZnVuY3Rpb24gcGFyYW1Gcm9tRmlsdGVyKGZpbHRlcikge1xuICAgIGNvbnN0IHBhcmFtID0ge1xuICAgICAgICBmcm9tQmxvY2s6IGhleEJsb2NrSGVpZ2h0RnJvbUludEJsb2NrSGVpZ2h0KGZpbHRlci5mcm9tQmxvY2spLFxuICAgICAgICB0b0Jsb2NrOiBoZXhCbG9ja0hlaWdodEZyb21JbnRCbG9ja0hlaWdodChmaWx0ZXIudG9CbG9jayksXG4gICAgICAgIHRvcGljczogZmlsdGVyLnRvcGljcyxcbiAgICB9O1xuICAgIGlmIChmaWx0ZXIuYWRkcmVzc2VzICE9PSBudWxsKSB7XG4gICAgICAgIHBhcmFtLmFkZHJlc3MgPSBmaWx0ZXIuYWRkcmVzc2VzO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW07XG59XG5mdW5jdGlvbiBpbnRCbG9ja0hlaWdodEZyb21IZXhCbG9ja0hlaWdodCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBcImxhdGVzdFwiIHx8IHZhbHVlID09PSBcInBlbmRpbmdcIikge1xuICAgICAgICByZXR1cm4gXCJsYXRlc3RcIjtcbiAgICB9XG4gICAgZWxzZSBpZiAodmFsdWUgPT09IFwiZWFybGllc3RcIikge1xuICAgICAgICByZXR1cm4gKDAsIHR5cGVzXzEuSW50TnVtYmVyKSgwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKDAsIHV0aWxfMS5pc0hleFN0cmluZykodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoMCwgdXRpbF8xLmludE51bWJlckZyb21IZXhTdHJpbmcpKHZhbHVlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJsb2NrIG9wdGlvbjogJHtTdHJpbmcodmFsdWUpfWApO1xufVxuZnVuY3Rpb24gaGV4QmxvY2tIZWlnaHRGcm9tSW50QmxvY2tIZWlnaHQodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IFwibGF0ZXN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIHV0aWxfMS5oZXhTdHJpbmdGcm9tSW50TnVtYmVyKSh2YWx1ZSk7XG59XG5mdW5jdGlvbiBmaWx0ZXJOb3RGb3VuZEVycm9yKCkge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIEpTT05SUENfVEVNUExBVEUpLCB7IGVycm9yOiB7IGNvZGU6IC0zMjAwMCwgbWVzc2FnZTogXCJmaWx0ZXIgbm90IGZvdW5kXCIgfSB9KTtcbn1cbmZ1bmN0aW9uIGVtcHR5UmVzdWx0KCkge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIEpTT05SUENfVEVNUExBVEUpLCB7IHJlc3VsdDogW10gfSk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/provider/FilterPolyfill.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/provider/JSONRPC.js": -/*!********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/provider/JSONRPC.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.JSONRPCMethod = void 0;\nvar JSONRPCMethod;\n(function (JSONRPCMethod) {\n // synchronous or asynchronous\n JSONRPCMethod[\"eth_accounts\"] = \"eth_accounts\";\n JSONRPCMethod[\"eth_coinbase\"] = \"eth_coinbase\";\n JSONRPCMethod[\"net_version\"] = \"net_version\";\n JSONRPCMethod[\"eth_chainId\"] = \"eth_chainId\";\n JSONRPCMethod[\"eth_uninstallFilter\"] = \"eth_uninstallFilter\";\n // asynchronous only\n JSONRPCMethod[\"eth_requestAccounts\"] = \"eth_requestAccounts\";\n JSONRPCMethod[\"eth_sign\"] = \"eth_sign\";\n JSONRPCMethod[\"eth_ecRecover\"] = \"eth_ecRecover\";\n JSONRPCMethod[\"personal_sign\"] = \"personal_sign\";\n JSONRPCMethod[\"personal_ecRecover\"] = \"personal_ecRecover\";\n JSONRPCMethod[\"eth_signTransaction\"] = \"eth_signTransaction\";\n JSONRPCMethod[\"eth_sendRawTransaction\"] = \"eth_sendRawTransaction\";\n JSONRPCMethod[\"eth_sendTransaction\"] = \"eth_sendTransaction\";\n JSONRPCMethod[\"eth_signTypedData_v1\"] = \"eth_signTypedData_v1\";\n JSONRPCMethod[\"eth_signTypedData_v2\"] = \"eth_signTypedData_v2\";\n JSONRPCMethod[\"eth_signTypedData_v3\"] = \"eth_signTypedData_v3\";\n JSONRPCMethod[\"eth_signTypedData_v4\"] = \"eth_signTypedData_v4\";\n JSONRPCMethod[\"eth_signTypedData\"] = \"eth_signTypedData\";\n JSONRPCMethod[\"cbWallet_arbitrary\"] = \"walletlink_arbitrary\";\n JSONRPCMethod[\"wallet_addEthereumChain\"] = \"wallet_addEthereumChain\";\n JSONRPCMethod[\"wallet_switchEthereumChain\"] = \"wallet_switchEthereumChain\";\n JSONRPCMethod[\"wallet_watchAsset\"] = \"wallet_watchAsset\";\n // asynchronous pub/sub\n JSONRPCMethod[\"eth_subscribe\"] = \"eth_subscribe\";\n JSONRPCMethod[\"eth_unsubscribe\"] = \"eth_unsubscribe\";\n // asynchronous filter methods\n JSONRPCMethod[\"eth_newFilter\"] = \"eth_newFilter\";\n JSONRPCMethod[\"eth_newBlockFilter\"] = \"eth_newBlockFilter\";\n JSONRPCMethod[\"eth_newPendingTransactionFilter\"] = \"eth_newPendingTransactionFilter\";\n JSONRPCMethod[\"eth_getFilterChanges\"] = \"eth_getFilterChanges\";\n JSONRPCMethod[\"eth_getFilterLogs\"] = \"eth_getFilterLogs\";\n})(JSONRPCMethod = exports.JSONRPCMethod || (exports.JSONRPCMethod = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9wcm92aWRlci9KU09OUlBDLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsNENBQTRDLHFCQUFxQixLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L3Byb3ZpZGVyL0pTT05SUEMuanM/ODhjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5KU09OUlBDTWV0aG9kID0gdm9pZCAwO1xudmFyIEpTT05SUENNZXRob2Q7XG4oZnVuY3Rpb24gKEpTT05SUENNZXRob2QpIHtcbiAgICAvLyBzeW5jaHJvbm91cyBvciBhc3luY2hyb25vdXNcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX2FjY291bnRzXCJdID0gXCJldGhfYWNjb3VudHNcIjtcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX2NvaW5iYXNlXCJdID0gXCJldGhfY29pbmJhc2VcIjtcbiAgICBKU09OUlBDTWV0aG9kW1wibmV0X3ZlcnNpb25cIl0gPSBcIm5ldF92ZXJzaW9uXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcImV0aF9jaGFpbklkXCJdID0gXCJldGhfY2hhaW5JZFwiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfdW5pbnN0YWxsRmlsdGVyXCJdID0gXCJldGhfdW5pbnN0YWxsRmlsdGVyXCI7XG4gICAgLy8gYXN5bmNocm9ub3VzIG9ubHlcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX3JlcXVlc3RBY2NvdW50c1wiXSA9IFwiZXRoX3JlcXVlc3RBY2NvdW50c1wiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfc2lnblwiXSA9IFwiZXRoX3NpZ25cIjtcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX2VjUmVjb3ZlclwiXSA9IFwiZXRoX2VjUmVjb3ZlclwiO1xuICAgIEpTT05SUENNZXRob2RbXCJwZXJzb25hbF9zaWduXCJdID0gXCJwZXJzb25hbF9zaWduXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcInBlcnNvbmFsX2VjUmVjb3ZlclwiXSA9IFwicGVyc29uYWxfZWNSZWNvdmVyXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcImV0aF9zaWduVHJhbnNhY3Rpb25cIl0gPSBcImV0aF9zaWduVHJhbnNhY3Rpb25cIjtcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX3NlbmRSYXdUcmFuc2FjdGlvblwiXSA9IFwiZXRoX3NlbmRSYXdUcmFuc2FjdGlvblwiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfc2VuZFRyYW5zYWN0aW9uXCJdID0gXCJldGhfc2VuZFRyYW5zYWN0aW9uXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcImV0aF9zaWduVHlwZWREYXRhX3YxXCJdID0gXCJldGhfc2lnblR5cGVkRGF0YV92MVwiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfc2lnblR5cGVkRGF0YV92MlwiXSA9IFwiZXRoX3NpZ25UeXBlZERhdGFfdjJcIjtcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX3NpZ25UeXBlZERhdGFfdjNcIl0gPSBcImV0aF9zaWduVHlwZWREYXRhX3YzXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcImV0aF9zaWduVHlwZWREYXRhX3Y0XCJdID0gXCJldGhfc2lnblR5cGVkRGF0YV92NFwiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfc2lnblR5cGVkRGF0YVwiXSA9IFwiZXRoX3NpZ25UeXBlZERhdGFcIjtcbiAgICBKU09OUlBDTWV0aG9kW1wiY2JXYWxsZXRfYXJiaXRyYXJ5XCJdID0gXCJ3YWxsZXRsaW5rX2FyYml0cmFyeVwiO1xuICAgIEpTT05SUENNZXRob2RbXCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpblwiXSA9IFwid2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW5cIjtcbiAgICBKU09OUlBDTWV0aG9kW1wid2FsbGV0X3N3aXRjaEV0aGVyZXVtQ2hhaW5cIl0gPSBcIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcIndhbGxldF93YXRjaEFzc2V0XCJdID0gXCJ3YWxsZXRfd2F0Y2hBc3NldFwiO1xuICAgIC8vIGFzeW5jaHJvbm91cyBwdWIvc3ViXG4gICAgSlNPTlJQQ01ldGhvZFtcImV0aF9zdWJzY3JpYmVcIl0gPSBcImV0aF9zdWJzY3JpYmVcIjtcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX3Vuc3Vic2NyaWJlXCJdID0gXCJldGhfdW5zdWJzY3JpYmVcIjtcbiAgICAvLyBhc3luY2hyb25vdXMgZmlsdGVyIG1ldGhvZHNcbiAgICBKU09OUlBDTWV0aG9kW1wiZXRoX25ld0ZpbHRlclwiXSA9IFwiZXRoX25ld0ZpbHRlclwiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfbmV3QmxvY2tGaWx0ZXJcIl0gPSBcImV0aF9uZXdCbG9ja0ZpbHRlclwiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyXCJdID0gXCJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyXCI7XG4gICAgSlNPTlJQQ01ldGhvZFtcImV0aF9nZXRGaWx0ZXJDaGFuZ2VzXCJdID0gXCJldGhfZ2V0RmlsdGVyQ2hhbmdlc1wiO1xuICAgIEpTT05SUENNZXRob2RbXCJldGhfZ2V0RmlsdGVyTG9nc1wiXSA9IFwiZXRoX2dldEZpbHRlckxvZ3NcIjtcbn0pKEpTT05SUENNZXRob2QgPSBleHBvcnRzLkpTT05SUENNZXRob2QgfHwgKGV4cG9ydHMuSlNPTlJQQ01ldGhvZCA9IHt9KSk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/provider/JSONRPC.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/provider/SubscriptionManager.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/provider/SubscriptionManager.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SubscriptionManager = void 0;\nconst eth_block_tracker_1 = __webpack_require__(/*! eth-block-tracker */ \"./node_modules/eth-block-tracker/dist/index.js\");\nconst createSubscriptionManager = __webpack_require__(/*! eth-json-rpc-filters/subscriptionManager */ \"./node_modules/eth-json-rpc-filters/subscriptionManager.js\");\nconst noop = () => { };\nclass SubscriptionManager {\n constructor(provider) {\n const blockTracker = new eth_block_tracker_1.PollingBlockTracker({\n provider: provider,\n pollingInterval: 15 * 1000,\n setSkipCacheFlag: true,\n });\n const { events, middleware } = createSubscriptionManager({\n blockTracker,\n provider,\n });\n this.events = events;\n this.subscriptionMiddleware = middleware;\n }\n async handleRequest(request) {\n const result = {};\n await this.subscriptionMiddleware(request, result, noop, noop);\n return result;\n }\n destroy() {\n this.subscriptionMiddleware.destroy();\n }\n}\nexports.SubscriptionManager = SubscriptionManager;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9wcm92aWRlci9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQiw0QkFBNEIsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDdkQsa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULGdCQUFnQixxQkFBcUI7QUFDckM7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvcHJvdmlkZXIvU3Vic2NyaXB0aW9uTWFuYWdlci5qcz9iZjBiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5TdWJzY3JpcHRpb25NYW5hZ2VyID0gdm9pZCAwO1xuY29uc3QgZXRoX2Jsb2NrX3RyYWNrZXJfMSA9IHJlcXVpcmUoXCJldGgtYmxvY2stdHJhY2tlclwiKTtcbmNvbnN0IGNyZWF0ZVN1YnNjcmlwdGlvbk1hbmFnZXIgPSByZXF1aXJlKFwiZXRoLWpzb24tcnBjLWZpbHRlcnMvc3Vic2NyaXB0aW9uTWFuYWdlclwiKTtcbmNvbnN0IG5vb3AgPSAoKSA9PiB7IH07XG5jbGFzcyBTdWJzY3JpcHRpb25NYW5hZ2VyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcm92aWRlcikge1xuICAgICAgICBjb25zdCBibG9ja1RyYWNrZXIgPSBuZXcgZXRoX2Jsb2NrX3RyYWNrZXJfMS5Qb2xsaW5nQmxvY2tUcmFja2VyKHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiBwcm92aWRlcixcbiAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbDogMTUgKiAxMDAwLFxuICAgICAgICAgICAgc2V0U2tpcENhY2hlRmxhZzogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgZXZlbnRzLCBtaWRkbGV3YXJlIH0gPSBjcmVhdGVTdWJzY3JpcHRpb25NYW5hZ2VyKHtcbiAgICAgICAgICAgIGJsb2NrVHJhY2tlcixcbiAgICAgICAgICAgIHByb3ZpZGVyLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ldmVudHMgPSBldmVudHM7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTWlkZGxld2FyZSA9IG1pZGRsZXdhcmU7XG4gICAgfVxuICAgIGFzeW5jIGhhbmRsZVJlcXVlc3QocmVxdWVzdCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdWJzY3JpcHRpb25NaWRkbGV3YXJlKHJlcXVlc3QsIHJlc3VsdCwgbm9vcCwgbm9vcCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTWlkZGxld2FyZS5kZXN0cm95KCk7XG4gICAgfVxufVxuZXhwb3J0cy5TdWJzY3JpcHRpb25NYW5hZ2VyID0gU3Vic2NyaXB0aW9uTWFuYWdlcjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/provider/SubscriptionManager.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/provider/WalletSDKUI.js": -/*!************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/provider/WalletSDKUI.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WalletSDKUI = void 0;\nconst LinkFlow_1 = __webpack_require__(/*! ../components/LinkFlow/LinkFlow */ \"./node_modules/@coinbase/wallet-sdk/dist/components/LinkFlow/LinkFlow.js\");\nconst Snackbar_1 = __webpack_require__(/*! ../components/Snackbar/Snackbar */ \"./node_modules/@coinbase/wallet-sdk/dist/components/Snackbar/Snackbar.js\");\nconst cssReset_1 = __webpack_require__(/*! ../lib/cssReset */ \"./node_modules/@coinbase/wallet-sdk/dist/lib/cssReset.js\");\nclass WalletSDKUI {\n constructor(options) {\n this.standalone = null;\n this.attached = false;\n this.appSrc = null;\n this.snackbar = new Snackbar_1.Snackbar({\n darkMode: options.darkMode,\n });\n this.linkFlow = new LinkFlow_1.LinkFlow({\n darkMode: options.darkMode,\n version: options.version,\n sessionId: options.session.id,\n sessionSecret: options.session.secret,\n linkAPIUrl: options.linkAPIUrl,\n connected$: options.connected$,\n chainId$: options.chainId$,\n isParentConnection: false,\n });\n }\n attach() {\n if (this.attached) {\n throw new Error(\"Coinbase Wallet SDK UI is already attached\");\n }\n const el = document.documentElement;\n const container = document.createElement(\"div\");\n container.className = \"-cbwsdk-css-reset\";\n el.appendChild(container);\n this.linkFlow.attach(container);\n this.snackbar.attach(container);\n this.attached = true;\n (0, cssReset_1.injectCssReset)();\n }\n setConnectDisabled(connectDisabled) {\n this.linkFlow.setConnectDisabled(connectDisabled);\n }\n /* istanbul ignore next */\n addEthereumChain(_options) {\n // no-op\n }\n /* istanbul ignore next */\n watchAsset(_options) {\n // no-op\n }\n /* istanbul ignore next */\n switchEthereumChain(_options) {\n // no-op\n }\n requestEthereumAccounts(options) {\n this.linkFlow.open({ onCancel: options.onCancel });\n }\n hideRequestEthereumAccounts() {\n this.linkFlow.close();\n }\n /* istanbul ignore next */\n signEthereumMessage(_) {\n // No-op\n }\n /* istanbul ignore next */\n signEthereumTransaction(_) {\n // No-op\n }\n /* istanbul ignore next */\n submitEthereumTransaction(_) {\n // No-op\n }\n /* istanbul ignore next */\n ethereumAddressFromSignedMessage(_) {\n // No-op\n }\n showConnecting(options) {\n let snackbarProps;\n if (options.isUnlinkedErrorState) {\n snackbarProps = {\n autoExpand: true,\n message: \"Connection lost\",\n appSrc: this.appSrc,\n menuItems: [\n {\n isRed: false,\n info: \"Reset connection\",\n svgWidth: \"10\",\n svgHeight: \"11\",\n path: \"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z\",\n defaultFillRule: \"evenodd\",\n defaultClipRule: \"evenodd\",\n onClick: options.onResetConnection,\n },\n ],\n };\n }\n else {\n snackbarProps = {\n message: \"Confirm on phone\",\n appSrc: this.appSrc,\n menuItems: [\n {\n isRed: true,\n info: \"Cancel transaction\",\n svgWidth: \"11\",\n svgHeight: \"11\",\n path: \"M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z\",\n defaultFillRule: \"inherit\",\n defaultClipRule: \"inherit\",\n onClick: options.onCancel,\n },\n {\n isRed: false,\n info: \"Reset connection\",\n svgWidth: \"10\",\n svgHeight: \"11\",\n path: \"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z\",\n defaultFillRule: \"evenodd\",\n defaultClipRule: \"evenodd\",\n onClick: options.onResetConnection,\n },\n ],\n };\n }\n return this.snackbar.presentItem(snackbarProps);\n }\n /* istanbul ignore next */\n setAppSrc(appSrc) {\n this.appSrc = appSrc;\n }\n /* istanbul ignore next */\n reloadUI() {\n document.location.reload();\n }\n /* istanbul ignore next */\n inlineAccountsResponse() {\n return false;\n }\n /* istanbul ignore next */\n inlineAddEthereumChain(_chainId) {\n return false;\n }\n /* istanbul ignore next */\n inlineWatchAsset() {\n return false;\n }\n /* istanbul ignore next */\n inlineSwitchEthereumChain() {\n return false;\n }\n /* istanbul ignore next */\n setStandalone(status) {\n this.standalone = status;\n }\n /* istanbul ignore next */\n isStandalone() {\n var _a;\n return (_a = this.standalone) !== null && _a !== void 0 ? _a : false;\n }\n}\nexports.WalletSDKUI = WalletSDKUI;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9wcm92aWRlci9XYWxsZXRTREtVSS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsbUJBQW1CLG1CQUFPLENBQUMsaUhBQWlDO0FBQzVELG1CQUFtQixtQkFBTyxDQUFDLGlIQUFpQztBQUM1RCxtQkFBbUIsbUJBQU8sQ0FBQyxpRkFBaUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qiw0QkFBNEI7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L3Byb3ZpZGVyL1dhbGxldFNES1VJLmpzP2ZhYjgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLldhbGxldFNES1VJID0gdm9pZCAwO1xuY29uc3QgTGlua0Zsb3dfMSA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL0xpbmtGbG93L0xpbmtGbG93XCIpO1xuY29uc3QgU25hY2tiYXJfMSA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL1NuYWNrYmFyL1NuYWNrYmFyXCIpO1xuY29uc3QgY3NzUmVzZXRfMSA9IHJlcXVpcmUoXCIuLi9saWIvY3NzUmVzZXRcIik7XG5jbGFzcyBXYWxsZXRTREtVSSB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLnN0YW5kYWxvbmUgPSBudWxsO1xuICAgICAgICB0aGlzLmF0dGFjaGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYXBwU3JjID0gbnVsbDtcbiAgICAgICAgdGhpcy5zbmFja2JhciA9IG5ldyBTbmFja2Jhcl8xLlNuYWNrYmFyKHtcbiAgICAgICAgICAgIGRhcmtNb2RlOiBvcHRpb25zLmRhcmtNb2RlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rRmxvdyA9IG5ldyBMaW5rRmxvd18xLkxpbmtGbG93KHtcbiAgICAgICAgICAgIGRhcmtNb2RlOiBvcHRpb25zLmRhcmtNb2RlLFxuICAgICAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uLFxuICAgICAgICAgICAgc2Vzc2lvbklkOiBvcHRpb25zLnNlc3Npb24uaWQsXG4gICAgICAgICAgICBzZXNzaW9uU2VjcmV0OiBvcHRpb25zLnNlc3Npb24uc2VjcmV0LFxuICAgICAgICAgICAgbGlua0FQSVVybDogb3B0aW9ucy5saW5rQVBJVXJsLFxuICAgICAgICAgICAgY29ubmVjdGVkJDogb3B0aW9ucy5jb25uZWN0ZWQkLFxuICAgICAgICAgICAgY2hhaW5JZCQ6IG9wdGlvbnMuY2hhaW5JZCQsXG4gICAgICAgICAgICBpc1BhcmVudENvbm5lY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXR0YWNoKCkge1xuICAgICAgICBpZiAodGhpcy5hdHRhY2hlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29pbmJhc2UgV2FsbGV0IFNESyBVSSBpcyBhbHJlYWR5IGF0dGFjaGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBjb250YWluZXIuY2xhc3NOYW1lID0gXCItY2J3c2RrLWNzcy1yZXNldFwiO1xuICAgICAgICBlbC5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICB0aGlzLmxpbmtGbG93LmF0dGFjaChjb250YWluZXIpO1xuICAgICAgICB0aGlzLnNuYWNrYmFyLmF0dGFjaChjb250YWluZXIpO1xuICAgICAgICB0aGlzLmF0dGFjaGVkID0gdHJ1ZTtcbiAgICAgICAgKDAsIGNzc1Jlc2V0XzEuaW5qZWN0Q3NzUmVzZXQpKCk7XG4gICAgfVxuICAgIHNldENvbm5lY3REaXNhYmxlZChjb25uZWN0RGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5saW5rRmxvdy5zZXRDb25uZWN0RGlzYWJsZWQoY29ubmVjdERpc2FibGVkKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBhZGRFdGhlcmV1bUNoYWluKF9vcHRpb25zKSB7XG4gICAgICAgIC8vIG5vLW9wXG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgd2F0Y2hBc3NldChfb3B0aW9ucykge1xuICAgICAgICAvLyBuby1vcFxuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHN3aXRjaEV0aGVyZXVtQ2hhaW4oX29wdGlvbnMpIHtcbiAgICAgICAgLy8gbm8tb3BcbiAgICB9XG4gICAgcmVxdWVzdEV0aGVyZXVtQWNjb3VudHMob3B0aW9ucykge1xuICAgICAgICB0aGlzLmxpbmtGbG93Lm9wZW4oeyBvbkNhbmNlbDogb3B0aW9ucy5vbkNhbmNlbCB9KTtcbiAgICB9XG4gICAgaGlkZVJlcXVlc3RFdGhlcmV1bUFjY291bnRzKCkge1xuICAgICAgICB0aGlzLmxpbmtGbG93LmNsb3NlKCk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgc2lnbkV0aGVyZXVtTWVzc2FnZShfKSB7XG4gICAgICAgIC8vIE5vLW9wXG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgc2lnbkV0aGVyZXVtVHJhbnNhY3Rpb24oXykge1xuICAgICAgICAvLyBOby1vcFxuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb24oXykge1xuICAgICAgICAvLyBOby1vcFxuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGV0aGVyZXVtQWRkcmVzc0Zyb21TaWduZWRNZXNzYWdlKF8pIHtcbiAgICAgICAgLy8gTm8tb3BcbiAgICB9XG4gICAgc2hvd0Nvbm5lY3Rpbmcob3B0aW9ucykge1xuICAgICAgICBsZXQgc25hY2tiYXJQcm9wcztcbiAgICAgICAgaWYgKG9wdGlvbnMuaXNVbmxpbmtlZEVycm9yU3RhdGUpIHtcbiAgICAgICAgICAgIHNuYWNrYmFyUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgYXV0b0V4cGFuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBcIkNvbm5lY3Rpb24gbG9zdFwiLFxuICAgICAgICAgICAgICAgIGFwcFNyYzogdGhpcy5hcHBTcmMsXG4gICAgICAgICAgICAgICAgbWVudUl0ZW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm86IFwiUmVzZXQgY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnV2lkdGg6IFwiMTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0hlaWdodDogXCIxMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogXCJNNS4wMDAwOCAwLjk2ODc1QzYuNzMxMzMgMC45Njg3NSA4LjIzNzU4IDEuOTQzNzUgOS4wMDAwOCAzLjM3NUwxMC4wMDAxIDIuMzc1VjUuNUg5LjUzMTMzSDcuOTY4ODNINi44NzUwOEw3LjgwNjMzIDQuNTY4NzVDNy40MTI1OCAzLjM4NzUgNi4zMTI1OCAyLjUzMTI1IDUuMDAwMDggMi41MzEyNUMzLjc2MjU4IDIuNTMxMjUgMi43MDYzMyAzLjI4NzUgMi4yNTYzMyA0LjM2ODc1TDAuODEyNTc2IDMuNzY4NzVDMS41MDAwOCAyLjEyNSAzLjExMjU4IDAuOTY4NzUgNS4wMDAwOCAwLjk2ODc1Wk0yLjE5Mzc1IDYuNDMxMjVDMi41ODc1IDcuNjEyNSAzLjY4NzUgOC40Njg3NSA1IDguNDY4NzVDNi4yMzc1IDguNDY4NzUgNy4yOTM3NSA3LjcxMjUgNy43NDM3NSA2LjYzMTI1TDkuMTg3NSA3LjIzMTI1QzguNSA4Ljg3NSA2Ljg4NzUgMTAuMDMxMiA1IDEwLjAzMTJDMy4yNjg3NSAxMC4wMzEyIDEuNzYyNSA5LjA1NjI1IDEgNy42MjVMMCA4LjYyNVY1LjVIMC40Njg3NUgyLjAzMTI1SDMuMTI1TDIuMTkzNzUgNi40MzEyNVpcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogb3B0aW9ucy5vblJlc2V0Q29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNuYWNrYmFyUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCJDb25maXJtIG9uIHBob25lXCIsXG4gICAgICAgICAgICAgICAgYXBwU3JjOiB0aGlzLmFwcFNyYyxcbiAgICAgICAgICAgICAgICBtZW51SXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNSZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvOiBcIkNhbmNlbCB0cmFuc2FjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnV2lkdGg6IFwiMTFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z0hlaWdodDogXCIxMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogXCJNMTAuMzcxMSAxLjUyMzQ2TDkuMjE3NzUgMC4zNzAxMTdMNS4zNzEwOSA0LjIxMDIyTDEuNTI0NDQgMC4zNzAxMTdMMC4zNzEwOTQgMS41MjM0Nkw0LjIxMTIgNS4zNzAxMkwwLjM3MTA5NCA5LjIxNjc3TDEuNTI0NDQgMTAuMzcwMUw1LjM3MTA5IDYuNTMwMDFMOS4yMTc3NSAxMC4zNzAxTDEwLjM3MTEgOS4yMTY3N0w2LjUzMDk5IDUuMzcwMTJMMTAuMzcxMSAxLjUyMzQ2WlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEZpbGxSdWxlOiBcImluaGVyaXRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDbGlwUnVsZTogXCJpbmhlcml0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiBvcHRpb25zLm9uQ2FuY2VsLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1JlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvOiBcIlJlc2V0IGNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z1dpZHRoOiBcIjEwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmdIZWlnaHQ6IFwiMTFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFwiTTUuMDAwMDggMC45Njg3NUM2LjczMTMzIDAuOTY4NzUgOC4yMzc1OCAxLjk0Mzc1IDkuMDAwMDggMy4zNzVMMTAuMDAwMSAyLjM3NVY1LjVIOS41MzEzM0g3Ljk2ODgzSDYuODc1MDhMNy44MDYzMyA0LjU2ODc1QzcuNDEyNTggMy4zODc1IDYuMzEyNTggMi41MzEyNSA1LjAwMDA4IDIuNTMxMjVDMy43NjI1OCAyLjUzMTI1IDIuNzA2MzMgMy4yODc1IDIuMjU2MzMgNC4zNjg3NUwwLjgxMjU3NiAzLjc2ODc1QzEuNTAwMDggMi4xMjUgMy4xMTI1OCAwLjk2ODc1IDUuMDAwMDggMC45Njg3NVpNMi4xOTM3NSA2LjQzMTI1QzIuNTg3NSA3LjYxMjUgMy42ODc1IDguNDY4NzUgNSA4LjQ2ODc1QzYuMjM3NSA4LjQ2ODc1IDcuMjkzNzUgNy43MTI1IDcuNzQzNzUgNi42MzEyNUw5LjE4NzUgNy4yMzEyNUM4LjUgOC44NzUgNi44ODc1IDEwLjAzMTIgNSAxMC4wMzEyQzMuMjY4NzUgMTAuMDMxMiAxLjc2MjUgOS4wNTYyNSAxIDcuNjI1TDAgOC42MjVWNS41SDAuNDY4NzVIMi4wMzEyNUgzLjEyNUwyLjE5Mzc1IDYuNDMxMjVaXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0RmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IG9wdGlvbnMub25SZXNldENvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc25hY2tiYXIucHJlc2VudEl0ZW0oc25hY2tiYXJQcm9wcyk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgc2V0QXBwU3JjKGFwcFNyYykge1xuICAgICAgICB0aGlzLmFwcFNyYyA9IGFwcFNyYztcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZWxvYWRVSSgpIHtcbiAgICAgICAgZG9jdW1lbnQubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaW5saW5lQWNjb3VudHNSZXNwb25zZSgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlubGluZUFkZEV0aGVyZXVtQ2hhaW4oX2NoYWluSWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlubGluZVdhdGNoQXNzZXQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpbmxpbmVTd2l0Y2hFdGhlcmV1bUNoYWluKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgc2V0U3RhbmRhbG9uZShzdGF0dXMpIHtcbiAgICAgICAgdGhpcy5zdGFuZGFsb25lID0gc3RhdHVzO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlzU3RhbmRhbG9uZSgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5zdGFuZGFsb25lKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBmYWxzZTtcbiAgICB9XG59XG5leHBvcnRzLldhbGxldFNES1VJID0gV2FsbGV0U0RLVUk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/provider/WalletSDKUI.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/RelayMessage.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/RelayMessage.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RelayMessageType = void 0;\nvar RelayMessageType;\n(function (RelayMessageType) {\n RelayMessageType[\"SESSION_ID_REQUEST\"] = \"SESSION_ID_REQUEST\";\n RelayMessageType[\"SESSION_ID_RESPONSE\"] = \"SESSION_ID_RESPONSE\";\n RelayMessageType[\"LINKED\"] = \"LINKED\";\n RelayMessageType[\"UNLINKED\"] = \"UNLINKED\";\n RelayMessageType[\"WEB3_REQUEST\"] = \"WEB3_REQUEST\";\n RelayMessageType[\"WEB3_REQUEST_CANCELED\"] = \"WEB3_REQUEST_CANCELED\";\n RelayMessageType[\"WEB3_RESPONSE\"] = \"WEB3_RESPONSE\";\n})(RelayMessageType = exports.RelayMessageType || (exports.RelayMessageType = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9SZWxheU1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtEQUFrRCx3QkFBd0IsS0FBSyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9SZWxheU1lc3NhZ2UuanM/Njc5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5SZWxheU1lc3NhZ2VUeXBlID0gdm9pZCAwO1xudmFyIFJlbGF5TWVzc2FnZVR5cGU7XG4oZnVuY3Rpb24gKFJlbGF5TWVzc2FnZVR5cGUpIHtcbiAgICBSZWxheU1lc3NhZ2VUeXBlW1wiU0VTU0lPTl9JRF9SRVFVRVNUXCJdID0gXCJTRVNTSU9OX0lEX1JFUVVFU1RcIjtcbiAgICBSZWxheU1lc3NhZ2VUeXBlW1wiU0VTU0lPTl9JRF9SRVNQT05TRVwiXSA9IFwiU0VTU0lPTl9JRF9SRVNQT05TRVwiO1xuICAgIFJlbGF5TWVzc2FnZVR5cGVbXCJMSU5LRURcIl0gPSBcIkxJTktFRFwiO1xuICAgIFJlbGF5TWVzc2FnZVR5cGVbXCJVTkxJTktFRFwiXSA9IFwiVU5MSU5LRURcIjtcbiAgICBSZWxheU1lc3NhZ2VUeXBlW1wiV0VCM19SRVFVRVNUXCJdID0gXCJXRUIzX1JFUVVFU1RcIjtcbiAgICBSZWxheU1lc3NhZ2VUeXBlW1wiV0VCM19SRVFVRVNUX0NBTkNFTEVEXCJdID0gXCJXRUIzX1JFUVVFU1RfQ0FOQ0VMRURcIjtcbiAgICBSZWxheU1lc3NhZ2VUeXBlW1wiV0VCM19SRVNQT05TRVwiXSA9IFwiV0VCM19SRVNQT05TRVwiO1xufSkoUmVsYXlNZXNzYWdlVHlwZSA9IGV4cG9ydHMuUmVsYXlNZXNzYWdlVHlwZSB8fCAoZXhwb3J0cy5SZWxheU1lc3NhZ2VUeXBlID0ge30pKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/RelayMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/Session.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/Session.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Session = void 0;\nconst sha_js_1 = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nconst STORAGE_KEY_SESSION_ID = \"session:id\";\nconst STORAGE_KEY_SESSION_SECRET = \"session:secret\";\nconst STORAGE_KEY_SESSION_LINKED = \"session:linked\";\nclass Session {\n constructor(storage, id, secret, linked) {\n this._storage = storage;\n this._id = id || (0, util_1.randomBytesHex)(16);\n this._secret = secret || (0, util_1.randomBytesHex)(32);\n this._key = new sha_js_1.sha256()\n .update(`${this._id}, ${this._secret} WalletLink`) // ensure old sessions stay connected\n .digest(\"hex\");\n this._linked = !!linked;\n }\n static load(storage) {\n const id = storage.getItem(STORAGE_KEY_SESSION_ID);\n const linked = storage.getItem(STORAGE_KEY_SESSION_LINKED);\n const secret = storage.getItem(STORAGE_KEY_SESSION_SECRET);\n if (id && secret) {\n return new Session(storage, id, secret, linked === \"1\");\n }\n return null;\n }\n /**\n * Takes in a session ID and returns the sha256 hash of it.\n * @param sessionId session ID\n */\n static hash(sessionId) {\n return new sha_js_1.sha256().update(sessionId).digest(\"hex\");\n }\n get id() {\n return this._id;\n }\n get secret() {\n return this._secret;\n }\n get key() {\n return this._key;\n }\n get linked() {\n return this._linked;\n }\n set linked(val) {\n this._linked = val;\n this.persistLinked();\n }\n save() {\n this._storage.setItem(STORAGE_KEY_SESSION_ID, this._id);\n this._storage.setItem(STORAGE_KEY_SESSION_SECRET, this._secret);\n this.persistLinked();\n return this;\n }\n persistLinked() {\n this._storage.setItem(STORAGE_KEY_SESSION_LINKED, this._linked ? \"1\" : \"0\");\n }\n}\nexports.Session = Session;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9TZXNzaW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxlQUFlO0FBQ2YsaUJBQWlCLG1CQUFPLENBQUMsOENBQVE7QUFDakMsZUFBZSxtQkFBTyxDQUFDLGlFQUFTO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixTQUFTLElBQUksY0FBYztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L3JlbGF5L1Nlc3Npb24uanM/ZGY5OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5TZXNzaW9uID0gdm9pZCAwO1xuY29uc3Qgc2hhX2pzXzEgPSByZXF1aXJlKFwic2hhLmpzXCIpO1xuY29uc3QgdXRpbF8xID0gcmVxdWlyZShcIi4uL3V0aWxcIik7XG5jb25zdCBTVE9SQUdFX0tFWV9TRVNTSU9OX0lEID0gXCJzZXNzaW9uOmlkXCI7XG5jb25zdCBTVE9SQUdFX0tFWV9TRVNTSU9OX1NFQ1JFVCA9IFwic2Vzc2lvbjpzZWNyZXRcIjtcbmNvbnN0IFNUT1JBR0VfS0VZX1NFU1NJT05fTElOS0VEID0gXCJzZXNzaW9uOmxpbmtlZFwiO1xuY2xhc3MgU2Vzc2lvbiB7XG4gICAgY29uc3RydWN0b3Ioc3RvcmFnZSwgaWQsIHNlY3JldCwgbGlua2VkKSB7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UgPSBzdG9yYWdlO1xuICAgICAgICB0aGlzLl9pZCA9IGlkIHx8ICgwLCB1dGlsXzEucmFuZG9tQnl0ZXNIZXgpKDE2KTtcbiAgICAgICAgdGhpcy5fc2VjcmV0ID0gc2VjcmV0IHx8ICgwLCB1dGlsXzEucmFuZG9tQnl0ZXNIZXgpKDMyKTtcbiAgICAgICAgdGhpcy5fa2V5ID0gbmV3IHNoYV9qc18xLnNoYTI1NigpXG4gICAgICAgICAgICAudXBkYXRlKGAke3RoaXMuX2lkfSwgJHt0aGlzLl9zZWNyZXR9IFdhbGxldExpbmtgKSAvLyBlbnN1cmUgb2xkIHNlc3Npb25zIHN0YXkgY29ubmVjdGVkXG4gICAgICAgICAgICAuZGlnZXN0KFwiaGV4XCIpO1xuICAgICAgICB0aGlzLl9saW5rZWQgPSAhIWxpbmtlZDtcbiAgICB9XG4gICAgc3RhdGljIGxvYWQoc3RvcmFnZSkge1xuICAgICAgICBjb25zdCBpZCA9IHN0b3JhZ2UuZ2V0SXRlbShTVE9SQUdFX0tFWV9TRVNTSU9OX0lEKTtcbiAgICAgICAgY29uc3QgbGlua2VkID0gc3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZX1NFU1NJT05fTElOS0VEKTtcbiAgICAgICAgY29uc3Qgc2VjcmV0ID0gc3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZX1NFU1NJT05fU0VDUkVUKTtcbiAgICAgICAgaWYgKGlkICYmIHNlY3JldCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXNzaW9uKHN0b3JhZ2UsIGlkLCBzZWNyZXQsIGxpbmtlZCA9PT0gXCIxXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUYWtlcyBpbiBhIHNlc3Npb24gSUQgYW5kIHJldHVybnMgdGhlIHNoYTI1NiBoYXNoIG9mIGl0LlxuICAgICAqIEBwYXJhbSBzZXNzaW9uSWQgc2Vzc2lvbiBJRFxuICAgICAqL1xuICAgIHN0YXRpYyBoYXNoKHNlc3Npb25JZCkge1xuICAgICAgICByZXR1cm4gbmV3IHNoYV9qc18xLnNoYTI1NigpLnVwZGF0ZShzZXNzaW9uSWQpLmRpZ2VzdChcImhleFwiKTtcbiAgICB9XG4gICAgZ2V0IGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuICAgIGdldCBzZWNyZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWNyZXQ7XG4gICAgfVxuICAgIGdldCBrZXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXk7XG4gICAgfVxuICAgIGdldCBsaW5rZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9saW5rZWQ7XG4gICAgfVxuICAgIHNldCBsaW5rZWQodmFsKSB7XG4gICAgICAgIHRoaXMuX2xpbmtlZCA9IHZhbDtcbiAgICAgICAgdGhpcy5wZXJzaXN0TGlua2VkKCk7XG4gICAgfVxuICAgIHNhdmUoKSB7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWV9TRVNTSU9OX0lELCB0aGlzLl9pZCk7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWV9TRVNTSU9OX1NFQ1JFVCwgdGhpcy5fc2VjcmV0KTtcbiAgICAgICAgdGhpcy5wZXJzaXN0TGlua2VkKCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBwZXJzaXN0TGlua2VkKCkge1xuICAgICAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0oU1RPUkFHRV9LRVlfU0VTU0lPTl9MSU5LRUQsIHRoaXMuX2xpbmtlZCA/IFwiMVwiIDogXCIwXCIpO1xuICAgIH1cbn1cbmV4cG9ydHMuU2Vzc2lvbiA9IFNlc3Npb247XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/Session.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelay.js": -/*!************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelay.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WalletSDKRelay = void 0;\nconst bind_decorator_1 = __importDefault(__webpack_require__(/*! bind-decorator */ \"./node_modules/bind-decorator/index.js\"));\nconst rxjs_1 = __webpack_require__(/*! rxjs */ \"./node_modules/rxjs/_esm5/index.js\");\nconst operators_1 = __webpack_require__(/*! rxjs/operators */ \"./node_modules/rxjs/_esm5/operators/index.js\");\nconst DiagnosticLogger_1 = __webpack_require__(/*! ../connection/DiagnosticLogger */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/DiagnosticLogger.js\");\nconst WalletSDKConnection_1 = __webpack_require__(/*! ../connection/WalletSDKConnection */ \"./node_modules/@coinbase/wallet-sdk/dist/connection/WalletSDKConnection.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/@coinbase/wallet-sdk/dist/errors.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@coinbase/wallet-sdk/dist/types.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nconst aes256gcm = __importStar(__webpack_require__(/*! ./aes256gcm */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/aes256gcm.js\"));\nconst Session_1 = __webpack_require__(/*! ./Session */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Session.js\");\nconst WalletSDKRelayAbstract_1 = __webpack_require__(/*! ./WalletSDKRelayAbstract */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayAbstract.js\");\nconst Web3Method_1 = __webpack_require__(/*! ./Web3Method */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Method.js\");\nconst Web3RequestCanceledMessage_1 = __webpack_require__(/*! ./Web3RequestCanceledMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestCanceledMessage.js\");\nconst Web3RequestMessage_1 = __webpack_require__(/*! ./Web3RequestMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestMessage.js\");\nconst Web3Response_1 = __webpack_require__(/*! ./Web3Response */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Response.js\");\nconst Web3ResponseMessage_1 = __webpack_require__(/*! ./Web3ResponseMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3ResponseMessage.js\");\nclass WalletSDKRelay extends WalletSDKRelayAbstract_1.WalletSDKRelayAbstract {\n constructor(options) {\n var _a;\n super();\n this.accountsCallback = null;\n this.chainCallback = null;\n this.dappDefaultChainSubject = new rxjs_1.BehaviorSubject(1);\n this.dappDefaultChain = 1;\n this.appName = \"\";\n this.appLogoUrl = null;\n this.subscriptions = new rxjs_1.Subscription();\n this.linkAPIUrl = options.linkAPIUrl;\n this.storage = options.storage;\n this.options = options;\n const { session, ui, connection } = this.subscribe();\n this._session = session;\n this.connection = connection;\n this.relayEventManager = options.relayEventManager;\n if (options.diagnosticLogger && options.eventListener) {\n throw new Error(\"Can't have both eventListener and diagnosticLogger options, use only diagnosticLogger\");\n }\n if (options.eventListener) {\n this.diagnostic = {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n log: options.eventListener.onEvent,\n };\n }\n else {\n this.diagnostic = options.diagnosticLogger;\n }\n this._reloadOnDisconnect = (_a = options.reloadOnDisconnect) !== null && _a !== void 0 ? _a : true;\n this.ui = ui;\n }\n subscribe() {\n this.subscriptions.add(this.dappDefaultChainSubject.subscribe(chainId => {\n if (this.dappDefaultChain !== chainId) {\n this.dappDefaultChain = chainId;\n }\n }));\n const session = Session_1.Session.load(this.storage) || new Session_1.Session(this.storage).save();\n const connection = new WalletSDKConnection_1.WalletSDKConnection(session.id, session.key, this.linkAPIUrl, this.diagnostic);\n this.subscriptions.add(connection.sessionConfig$.subscribe({\n next: sessionConfig => {\n this.onSessionConfigChanged(sessionConfig);\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"error while invoking session config callback\",\n });\n },\n }));\n this.subscriptions.add(connection.incomingEvent$\n .pipe((0, operators_1.filter)(m => m.event === \"Web3Response\"))\n .subscribe({ next: this.handleIncomingEvent }));\n this.subscriptions.add(connection.linked$\n .pipe((0, operators_1.skip)(1), (0, operators_1.tap)((linked) => {\n var _a;\n this.isLinked = linked;\n const cachedAddresses = this.storage.getItem(WalletSDKRelayAbstract_1.LOCAL_STORAGE_ADDRESSES_KEY);\n if (linked) {\n // Only set linked session variable one way\n this.session.linked = linked;\n }\n this.isUnlinkedErrorState = false;\n if (cachedAddresses) {\n const addresses = cachedAddresses.split(\" \");\n const wasConnectedViaStandalone = this.storage.getItem(\"IsStandaloneSigning\") === \"true\";\n if (addresses[0] !== \"\" &&\n !linked &&\n this.session.linked &&\n !wasConnectedViaStandalone) {\n this.isUnlinkedErrorState = true;\n const sessionIdHash = this.getSessionIdHash();\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.UNLINKED_ERROR_STATE, {\n sessionIdHash,\n });\n }\n }\n }))\n .subscribe());\n // if session is marked destroyed, reset and reload\n this.subscriptions.add(connection.sessionConfig$\n .pipe((0, operators_1.filter)(c => !!c.metadata && c.metadata.__destroyed === \"1\"))\n .subscribe(() => {\n var _a;\n const alreadyDestroyed = connection.isDestroyed;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.METADATA_DESTROYED, {\n alreadyDestroyed,\n sessionIdHash: this.getSessionIdHash(),\n });\n return this.resetAndReload();\n }));\n this.subscriptions.add(connection.sessionConfig$\n .pipe((0, operators_1.filter)(c => c.metadata && c.metadata.WalletUsername !== undefined))\n .pipe((0, operators_1.mergeMap)(c => aes256gcm.decrypt(c.metadata.WalletUsername, session.secret)))\n .subscribe({\n next: walletUsername => {\n this.storage.setItem(WalletSDKRelayAbstract_1.WALLET_USER_NAME_KEY, walletUsername);\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error decrypting\",\n value: \"username\",\n });\n },\n }));\n this.subscriptions.add(connection.sessionConfig$\n .pipe((0, operators_1.filter)(c => c.metadata && c.metadata.AppVersion !== undefined))\n .pipe((0, operators_1.mergeMap)(c => aes256gcm.decrypt(c.metadata.AppVersion, session.secret)))\n .subscribe({\n next: appVersion => {\n this.storage.setItem(WalletSDKRelayAbstract_1.APP_VERSION_KEY, appVersion);\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error decrypting\",\n value: \"appversion\",\n });\n },\n }));\n this.subscriptions.add(connection.sessionConfig$\n .pipe((0, operators_1.filter)(c => c.metadata &&\n c.metadata.ChainId !== undefined &&\n c.metadata.JsonRpcUrl !== undefined))\n .pipe((0, operators_1.mergeMap)(c => (0, rxjs_1.zip)(aes256gcm.decrypt(c.metadata.ChainId, session.secret), aes256gcm.decrypt(c.metadata.JsonRpcUrl, session.secret))))\n .pipe((0, operators_1.distinctUntilChanged)())\n .subscribe({\n next: ([chainId, jsonRpcUrl]) => {\n if (this.chainCallback) {\n this.chainCallback(chainId, jsonRpcUrl);\n }\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error decrypting\",\n value: \"chainId|jsonRpcUrl\",\n });\n },\n }));\n this.subscriptions.add(connection.sessionConfig$\n .pipe((0, operators_1.filter)(c => c.metadata && c.metadata.EthereumAddress !== undefined))\n .pipe((0, operators_1.mergeMap)(c => aes256gcm.decrypt(c.metadata.EthereumAddress, session.secret)))\n .subscribe({\n next: selectedAddress => {\n if (this.accountsCallback) {\n this.accountsCallback([selectedAddress]);\n }\n if (WalletSDKRelay.accountRequestCallbackIds.size > 0) {\n // We get the ethereum address from the metadata. If for whatever\n // reason we don't get a response via an explicit web3 message\n // we can still fulfill the eip1102 request.\n Array.from(WalletSDKRelay.accountRequestCallbackIds.values()).forEach(id => {\n const message = (0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.RequestEthereumAccountsResponse)([\n selectedAddress,\n ]),\n });\n this.invokeCallback(Object.assign(Object.assign({}, message), { id }));\n });\n WalletSDKRelay.accountRequestCallbackIds.clear();\n }\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error decrypting\",\n value: \"selectedAddress\",\n });\n },\n }));\n this.subscriptions.add(connection.sessionConfig$\n .pipe((0, operators_1.filter)(c => c.metadata && c.metadata.AppSrc !== undefined))\n .pipe((0, operators_1.mergeMap)(c => aes256gcm.decrypt(c.metadata.AppSrc, session.secret)))\n .subscribe({\n next: appSrc => {\n this.ui.setAppSrc(appSrc);\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error decrypting\",\n value: \"appSrc\",\n });\n },\n }));\n const ui = this.options.uiConstructor({\n linkAPIUrl: this.options.linkAPIUrl,\n version: this.options.version,\n darkMode: this.options.darkMode,\n session,\n connected$: connection.connected$,\n chainId$: this.dappDefaultChainSubject,\n });\n connection.connect();\n return { session, ui, connection };\n }\n attachUI() {\n this.ui.attach();\n }\n resetAndReload() {\n this.connection\n .setSessionMetadata(\"__destroyed\", \"1\")\n .pipe((0, operators_1.timeout)(1000), (0, operators_1.catchError)(_ => (0, rxjs_1.of)(null)))\n .subscribe(_ => {\n var _a, _b, _c;\n const isStandalone = this.ui.isStandalone();\n try {\n this.subscriptions.unsubscribe();\n }\n catch (err) {\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error unsubscribing\",\n });\n }\n (_b = this.diagnostic) === null || _b === void 0 ? void 0 : _b.log(DiagnosticLogger_1.EVENTS.SESSION_STATE_CHANGE, {\n method: \"relay::resetAndReload\",\n sessionMetadataChange: \"__destroyed, 1\",\n sessionIdHash: this.getSessionIdHash(),\n });\n this.connection.destroy();\n /**\n * Only clear storage if the session id we have in memory matches the one on disk\n * Otherwise, in the case where we have 2 tabs, another tab might have cleared\n * storage already. In that case if we clear storage again, the user will be in\n * a state where the first tab allows the user to connect but the session that\n * was used isn't persisted. This leaves the user in a state where they aren't\n * connected to the mobile app.\n */\n const storedSession = Session_1.Session.load(this.storage);\n if ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) === this._session.id) {\n this.storage.clear();\n }\n else if (storedSession) {\n (_c = this.diagnostic) === null || _c === void 0 ? void 0 : _c.log(DiagnosticLogger_1.EVENTS.SKIPPED_CLEARING_SESSION, {\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: Session_1.Session.hash(storedSession.id),\n });\n }\n if (this._reloadOnDisconnect) {\n this.ui.reloadUI();\n return;\n }\n if (this.accountsCallback) {\n this.accountsCallback([], true);\n }\n this.subscriptions = new rxjs_1.Subscription();\n const { session, ui, connection } = this.subscribe();\n this._session = session;\n this.connection = connection;\n this.ui = ui;\n if (isStandalone && this.ui.setStandalone)\n this.ui.setStandalone(true);\n this.attachUI();\n }, (err) => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.FAILURE, {\n method: \"relay::resetAndReload\",\n message: `failed to reset and reload with ${err}`,\n sessionIdHash: this.getSessionIdHash(),\n });\n });\n }\n setAppInfo(appName, appLogoUrl) {\n this.appName = appName;\n this.appLogoUrl = appLogoUrl;\n }\n getStorageItem(key) {\n return this.storage.getItem(key);\n }\n get session() {\n return this._session;\n }\n setStorageItem(key, value) {\n this.storage.setItem(key, value);\n }\n signEthereumMessage(message, address, addPrefix, typedDataJson) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.signEthereumMessage,\n params: {\n message: (0, util_1.hexStringFromBuffer)(message, true),\n address,\n addPrefix,\n typedDataJson: typedDataJson || null,\n },\n });\n }\n ethereumAddressFromSignedMessage(message, signature, addPrefix) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.ethereumAddressFromSignedMessage,\n params: {\n message: (0, util_1.hexStringFromBuffer)(message, true),\n signature: (0, util_1.hexStringFromBuffer)(signature, true),\n addPrefix,\n },\n });\n }\n signEthereumTransaction(params) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.signEthereumTransaction,\n params: {\n fromAddress: params.fromAddress,\n toAddress: params.toAddress,\n weiValue: (0, util_1.bigIntStringFromBN)(params.weiValue),\n data: (0, util_1.hexStringFromBuffer)(params.data, true),\n nonce: params.nonce,\n gasPriceInWei: params.gasPriceInWei\n ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei)\n : null,\n maxFeePerGas: params.gasPriceInWei\n ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei)\n : null,\n maxPriorityFeePerGas: params.gasPriceInWei\n ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei)\n : null,\n gasLimit: params.gasLimit ? (0, util_1.bigIntStringFromBN)(params.gasLimit) : null,\n chainId: params.chainId,\n shouldSubmit: false,\n },\n });\n }\n signAndSubmitEthereumTransaction(params) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.signEthereumTransaction,\n params: {\n fromAddress: params.fromAddress,\n toAddress: params.toAddress,\n weiValue: (0, util_1.bigIntStringFromBN)(params.weiValue),\n data: (0, util_1.hexStringFromBuffer)(params.data, true),\n nonce: params.nonce,\n gasPriceInWei: params.gasPriceInWei\n ? (0, util_1.bigIntStringFromBN)(params.gasPriceInWei)\n : null,\n maxFeePerGas: params.maxFeePerGas\n ? (0, util_1.bigIntStringFromBN)(params.maxFeePerGas)\n : null,\n maxPriorityFeePerGas: params.maxPriorityFeePerGas\n ? (0, util_1.bigIntStringFromBN)(params.maxPriorityFeePerGas)\n : null,\n gasLimit: params.gasLimit ? (0, util_1.bigIntStringFromBN)(params.gasLimit) : null,\n chainId: params.chainId,\n shouldSubmit: true,\n },\n });\n }\n submitEthereumTransaction(signedTransaction, chainId) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.submitEthereumTransaction,\n params: {\n signedTransaction: (0, util_1.hexStringFromBuffer)(signedTransaction, true),\n chainId,\n },\n });\n }\n scanQRCode(regExp) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.scanQRCode,\n params: { regExp },\n });\n }\n getQRCodeUrl() {\n return (0, util_1.createQrUrl)(this._session.id, this._session.secret, this.linkAPIUrl, false, this.options.version, this.dappDefaultChain);\n }\n genericRequest(data, action) {\n return this.sendRequest({\n method: Web3Method_1.Web3Method.generic,\n params: {\n action,\n data,\n },\n });\n }\n sendGenericMessage(request) {\n return this.sendRequest(request);\n }\n sendRequest(request) {\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n const promise = new Promise((resolve, reject) => {\n if (!this.ui.isStandalone()) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n this.relayEventManager.callbacks.set(id, response => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if (response.errorMessage) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n if (this.ui.isStandalone()) {\n this.sendRequestStandalone(id, request);\n }\n else {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n setConnectDisabled(disabled) {\n this.ui.setConnectDisabled(disabled);\n }\n setAccountsCallback(accountsCallback) {\n this.accountsCallback = accountsCallback;\n }\n setChainCallback(chainCallback) {\n this.chainCallback = chainCallback;\n }\n setDappDefaultChainCallback(chainId) {\n this.dappDefaultChainSubject.next(chainId);\n }\n publishWeb3RequestEvent(id, request) {\n var _a;\n const message = (0, Web3RequestMessage_1.Web3RequestMessage)({ id, request });\n const storedSession = Session_1.Session.load(this.storage);\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_REQUEST, {\n eventId: message.id,\n method: `relay::${message.request.method}`,\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: storedSession ? Session_1.Session.hash(storedSession.id) : \"\",\n isSessionMismatched: ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) !== this._session.id).toString(),\n });\n this.subscriptions.add(this.publishEvent(\"Web3Request\", message, true).subscribe({\n next: _ => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_REQUEST_PUBLISHED, {\n eventId: message.id,\n method: `relay::${message.request.method}`,\n sessionIdHash: this.getSessionIdHash(),\n storedSessionIdHash: storedSession\n ? Session_1.Session.hash(storedSession.id)\n : \"\",\n isSessionMismatched: ((storedSession === null || storedSession === void 0 ? void 0 : storedSession.id) !== this._session.id).toString(),\n });\n },\n error: err => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id: message.id,\n response: {\n method: message.request.method,\n errorMessage: err.message,\n },\n }));\n },\n }));\n }\n publishWeb3RequestCanceledEvent(id) {\n const message = (0, Web3RequestCanceledMessage_1.Web3RequestCanceledMessage)(id);\n this.subscriptions.add(this.publishEvent(\"Web3RequestCanceled\", message, false).subscribe());\n }\n publishEvent(event, message, callWebhook) {\n const secret = this.session.secret;\n return new rxjs_1.Observable(subscriber => {\n void aes256gcm\n .encrypt(JSON.stringify(Object.assign(Object.assign({}, message), { origin: location.origin })), secret)\n .then((encrypted) => {\n subscriber.next(encrypted);\n subscriber.complete();\n });\n }).pipe((0, operators_1.mergeMap)((encrypted) => {\n return this.connection.publishEvent(event, encrypted, callWebhook);\n }));\n }\n handleIncomingEvent(event) {\n try {\n this.subscriptions.add((0, rxjs_1.from)(aes256gcm.decrypt(event.data, this.session.secret))\n .pipe((0, operators_1.map)(c => JSON.parse(c)))\n .subscribe({\n next: json => {\n const message = (0, Web3ResponseMessage_1.isWeb3ResponseMessage)(json) ? json : null;\n if (!message) {\n return;\n }\n this.handleWeb3ResponseMessage(message);\n },\n error: () => {\n var _a;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.GENERAL_ERROR, {\n message: \"Had error decrypting\",\n value: \"incomingEvent\",\n });\n },\n }));\n }\n catch (_a) {\n return;\n }\n }\n handleWeb3ResponseMessage(message) {\n var _a;\n const { response } = message;\n (_a = this.diagnostic) === null || _a === void 0 ? void 0 : _a.log(DiagnosticLogger_1.EVENTS.WEB3_RESPONSE, {\n eventId: message.id,\n method: `relay::${response.method}`,\n sessionIdHash: this.getSessionIdHash(),\n });\n if ((0, Web3Response_1.isRequestEthereumAccountsResponse)(response)) {\n WalletSDKRelay.accountRequestCallbackIds.forEach(id => this.invokeCallback(Object.assign(Object.assign({}, message), { id })));\n WalletSDKRelay.accountRequestCallbackIds.clear();\n return;\n }\n this.invokeCallback(message);\n }\n handleErrorResponse(id, method, error, errorCode) {\n var _a;\n const errorMessage = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : (0, errors_1.standardErrorMessage)(errorCode);\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: {\n method,\n errorMessage,\n errorCode,\n },\n }));\n }\n invokeCallback(message) {\n const callback = this.relayEventManager.callbacks.get(message.id);\n if (callback) {\n callback(message.response);\n this.relayEventManager.callbacks.delete(message.id);\n }\n }\n requestEthereumAccounts() {\n const request = {\n method: Web3Method_1.Web3Method.requestEthereumAccounts,\n params: {\n appName: this.appName,\n appLogoUrl: this.appLogoUrl || null,\n },\n };\n const hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n const promise = new Promise((resolve, reject) => {\n var _a;\n this.relayEventManager.callbacks.set(id, response => {\n this.ui.hideRequestEthereumAccounts();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if (response.errorMessage) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const userAgent = ((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) || null;\n if (userAgent &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent)) {\n let location;\n try {\n if ((0, util_1.isInIFrame)() && window.top) {\n location = window.top.location;\n }\n else {\n location = window.location;\n }\n }\n catch (e) {\n location = window.location;\n }\n location.href = `https://www.coinbase.com/connect-dapp?uri=${encodeURIComponent(location.href)}`;\n return;\n }\n if (this.ui.inlineAccountsResponse()) {\n const onAccounts = (accounts) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.RequestEthereumAccountsResponse)(accounts),\n }));\n };\n this.ui.requestEthereumAccounts({\n onCancel: cancel,\n onAccounts,\n });\n }\n else {\n // Error if user closes TryExtensionLinkDialog without connecting\n const err = errors_1.standardErrors.provider.userRejectedRequest(\"User denied account authorization\");\n this.ui.requestEthereumAccounts({\n onCancel: () => cancel(err),\n });\n }\n WalletSDKRelay.accountRequestCallbackIds.add(id);\n if (!this.ui.inlineAccountsResponse() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n selectProvider(providerOptions) {\n const request = {\n method: Web3Method_1.Web3Method.selectProvider,\n params: {\n providerOptions,\n },\n };\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, response => {\n if (response.errorMessage) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.SelectProviderResponse)(types_1.ProviderType.Unselected),\n }));\n };\n const approve = (selectedProviderKey) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.SelectProviderResponse)(selectedProviderKey),\n }));\n };\n if (this.ui.selectProvider)\n this.ui.selectProvider({\n onApprove: approve,\n onCancel: _cancel,\n providerOptions,\n });\n });\n return { cancel, promise };\n }\n watchAsset(type, address, symbol, decimals, image, chainId) {\n const request = {\n method: Web3Method_1.Web3Method.watchAsset,\n params: {\n type,\n options: {\n address,\n symbol,\n decimals,\n image,\n },\n chainId,\n },\n };\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n if (!this.ui.inlineWatchAsset()) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, response => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if (response.errorMessage) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.WatchAssetReponse)(false),\n }));\n };\n const approve = () => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.WatchAssetReponse)(true),\n }));\n };\n if (this.ui.inlineWatchAsset()) {\n this.ui.watchAsset({\n onApprove: approve,\n onCancel: _cancel,\n type,\n address,\n symbol,\n decimals,\n image,\n chainId,\n });\n }\n if (!this.ui.inlineWatchAsset() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { cancel, promise };\n }\n addEthereumChain(chainId, rpcUrls, iconUrls, blockExplorerUrls, chainName, nativeCurrency) {\n const request = {\n method: Web3Method_1.Web3Method.addEthereumChain,\n params: {\n chainId,\n rpcUrls,\n blockExplorerUrls,\n chainName,\n iconUrls,\n nativeCurrency,\n },\n };\n let hideSnackbarItem = null;\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n };\n if (!this.ui.inlineAddEthereumChain(chainId)) {\n hideSnackbarItem = this.ui.showConnecting({\n isUnlinkedErrorState: this.isUnlinkedErrorState,\n onCancel: cancel,\n onResetConnection: this.resetAndReload, // eslint-disable-line @typescript-eslint/unbound-method\n });\n }\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, response => {\n hideSnackbarItem === null || hideSnackbarItem === void 0 ? void 0 : hideSnackbarItem();\n if (response.errorMessage) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (_error) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.AddEthereumChainResponse)({\n isApproved: false,\n rpcUrl: \"\",\n }),\n }));\n };\n const approve = (rpcUrl) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.AddEthereumChainResponse)({ isApproved: true, rpcUrl }),\n }));\n };\n if (this.ui.inlineAddEthereumChain(chainId)) {\n this.ui.addEthereumChain({\n onCancel: _cancel,\n onApprove: approve,\n chainId: request.params.chainId,\n rpcUrls: request.params.rpcUrls,\n blockExplorerUrls: request.params.blockExplorerUrls,\n chainName: request.params.chainName,\n iconUrls: request.params.iconUrls,\n nativeCurrency: request.params.nativeCurrency,\n });\n }\n if (!this.ui.inlineAddEthereumChain(chainId) && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n switchEthereumChain(chainId, address) {\n const request = {\n method: Web3Method_1.Web3Method.switchEthereumChain,\n params: Object.assign({ chainId }, { address }),\n };\n const id = (0, util_1.randomBytesHex)(8);\n const cancel = (error) => {\n this.publishWeb3RequestCanceledEvent(id);\n this.handleErrorResponse(id, request.method, error);\n };\n const promise = new Promise((resolve, reject) => {\n this.relayEventManager.callbacks.set(id, response => {\n if ((0, Web3Response_1.isErrorResponse)(response) && response.errorCode) {\n return reject(errors_1.standardErrors.provider.custom({\n code: response.errorCode,\n message: `Unrecognized chain ID. Try adding the chain using addEthereumChain first.`,\n }));\n }\n else if (response.errorMessage) {\n return reject(new Error(response.errorMessage));\n }\n resolve(response);\n });\n const _cancel = (error) => {\n var _a;\n if (error) {\n // backward compatibility\n const errorCode = (_a = (0, errors_1.getErrorCode)(error)) !== null && _a !== void 0 ? _a : errors_1.standardErrorCodes.provider.unsupportedChain;\n this.handleErrorResponse(id, Web3Method_1.Web3Method.switchEthereumChain, error instanceof Error\n ? error\n : errors_1.standardErrors.provider.unsupportedChain(chainId), errorCode);\n }\n else {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.SwitchEthereumChainResponse)({\n isApproved: false,\n rpcUrl: \"\",\n }),\n }));\n }\n };\n const approve = (rpcUrl) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response: (0, Web3Response_1.SwitchEthereumChainResponse)({\n isApproved: true,\n rpcUrl,\n }),\n }));\n };\n this.ui.switchEthereumChain({\n onCancel: _cancel,\n onApprove: approve,\n chainId: request.params.chainId,\n address: request.params.address,\n });\n if (!this.ui.inlineSwitchEthereumChain() && !this.ui.isStandalone()) {\n this.publishWeb3RequestEvent(id, request);\n }\n });\n return { promise, cancel };\n }\n inlineAddEthereumChain(chainId) {\n return this.ui.inlineAddEthereumChain(chainId);\n }\n getSessionIdHash() {\n return Session_1.Session.hash(this._session.id);\n }\n sendRequestStandalone(id, request) {\n const _cancel = (error) => {\n this.handleErrorResponse(id, request.method, error);\n };\n const onSuccess = (response) => {\n this.handleWeb3ResponseMessage((0, Web3ResponseMessage_1.Web3ResponseMessage)({\n id,\n response,\n }));\n };\n switch (request.method) {\n case Web3Method_1.Web3Method.signEthereumMessage:\n this.ui.signEthereumMessage({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case Web3Method_1.Web3Method.signEthereumTransaction:\n this.ui.signEthereumTransaction({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case Web3Method_1.Web3Method.submitEthereumTransaction:\n this.ui.submitEthereumTransaction({\n request,\n onSuccess,\n onCancel: _cancel,\n });\n break;\n case Web3Method_1.Web3Method.ethereumAddressFromSignedMessage:\n this.ui.ethereumAddressFromSignedMessage({\n request,\n onSuccess,\n });\n break;\n default:\n _cancel();\n break;\n }\n }\n onSessionConfigChanged(_nextSessionConfig) { }\n}\nWalletSDKRelay.accountRequestCallbackIds = new Set();\n__decorate([\n bind_decorator_1.default\n], WalletSDKRelay.prototype, \"resetAndReload\", null);\n__decorate([\n bind_decorator_1.default\n], WalletSDKRelay.prototype, \"handleIncomingEvent\", null);\nexports.WalletSDKRelay = WalletSDKRelay;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XYWxsZXRTREtSZWxheS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLG9DQUFvQyxnQkFBZ0I7QUFDdkYsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSwwQ0FBMEMsNEJBQTRCO0FBQ3RFLENBQUM7QUFDRDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsUUFBUTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0I7QUFDdEIseUNBQXlDLG1CQUFPLENBQUMsOERBQWdCO0FBQ2pFLGVBQWUsbUJBQU8sQ0FBQyxnREFBTTtBQUM3QixvQkFBb0IsbUJBQU8sQ0FBQyxvRUFBZ0I7QUFDNUMsMkJBQTJCLG1CQUFPLENBQUMsK0dBQWdDO0FBQ25FLDhCQUE4QixtQkFBTyxDQUFDLHFIQUFtQztBQUN6RSxpQkFBaUIsbUJBQU8sQ0FBQyxxRUFBVztBQUNwQyxnQkFBZ0IsbUJBQU8sQ0FBQyxtRUFBVTtBQUNsQyxlQUFlLG1CQUFPLENBQUMsaUVBQVM7QUFDaEMsK0JBQStCLG1CQUFPLENBQUMsZ0ZBQWE7QUFDcEQsa0JBQWtCLG1CQUFPLENBQUMsNEVBQVc7QUFDckMsaUNBQWlDLG1CQUFPLENBQUMsMEdBQTBCO0FBQ25FLHFCQUFxQixtQkFBTyxDQUFDLGtGQUFjO0FBQzNDLHFDQUFxQyxtQkFBTyxDQUFDLGtIQUE4QjtBQUMzRSw2QkFBNkIsbUJBQU8sQ0FBQyxrR0FBc0I7QUFDM0QsdUJBQXVCLG1CQUFPLENBQUMsc0ZBQWdCO0FBQy9DLDhCQUE4QixtQkFBTyxDQUFDLG9HQUF1QjtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixTQUFTO0FBQ1QsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkVBQTZFLDBCQUEwQjtBQUN2RyxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsU0FBUyxJQUFJLFNBQVM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XYWxsZXRTREtSZWxheS5qcz81ZTRhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG52YXIgX19jcmVhdGVCaW5kaW5nID0gKHRoaXMgJiYgdGhpcy5fX2NyZWF0ZUJpbmRpbmcpIHx8IChPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfSk7XG59KSA6IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gICAgb1trMl0gPSBtW2tdO1xufSkpO1xudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19zZXRNb2R1bGVEZWZhdWx0KSB8fCAoT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCB2KSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xufSkgOiBmdW5jdGlvbihvLCB2KSB7XG4gICAgb1tcImRlZmF1bHRcIl0gPSB2O1xufSk7XG52YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19pbXBvcnRTdGFyID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydFN0YXIpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xuICAgIHZhciByZXN1bHQgPSB7fTtcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoayAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIF9fY3JlYXRlQmluZGluZyhyZXN1bHQsIG1vZCwgayk7XG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuV2FsbGV0U0RLUmVsYXkgPSB2b2lkIDA7XG5jb25zdCBiaW5kX2RlY29yYXRvcl8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJiaW5kLWRlY29yYXRvclwiKSk7XG5jb25zdCByeGpzXzEgPSByZXF1aXJlKFwicnhqc1wiKTtcbmNvbnN0IG9wZXJhdG9yc18xID0gcmVxdWlyZShcInJ4anMvb3BlcmF0b3JzXCIpO1xuY29uc3QgRGlhZ25vc3RpY0xvZ2dlcl8xID0gcmVxdWlyZShcIi4uL2Nvbm5lY3Rpb24vRGlhZ25vc3RpY0xvZ2dlclwiKTtcbmNvbnN0IFdhbGxldFNES0Nvbm5lY3Rpb25fMSA9IHJlcXVpcmUoXCIuLi9jb25uZWN0aW9uL1dhbGxldFNES0Nvbm5lY3Rpb25cIik7XG5jb25zdCBlcnJvcnNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnNcIik7XG5jb25zdCB0eXBlc18xID0gcmVxdWlyZShcIi4uL3R5cGVzXCIpO1xuY29uc3QgdXRpbF8xID0gcmVxdWlyZShcIi4uL3V0aWxcIik7XG5jb25zdCBhZXMyNTZnY20gPSBfX2ltcG9ydFN0YXIocmVxdWlyZShcIi4vYWVzMjU2Z2NtXCIpKTtcbmNvbnN0IFNlc3Npb25fMSA9IHJlcXVpcmUoXCIuL1Nlc3Npb25cIik7XG5jb25zdCBXYWxsZXRTREtSZWxheUFic3RyYWN0XzEgPSByZXF1aXJlKFwiLi9XYWxsZXRTREtSZWxheUFic3RyYWN0XCIpO1xuY29uc3QgV2ViM01ldGhvZF8xID0gcmVxdWlyZShcIi4vV2ViM01ldGhvZFwiKTtcbmNvbnN0IFdlYjNSZXF1ZXN0Q2FuY2VsZWRNZXNzYWdlXzEgPSByZXF1aXJlKFwiLi9XZWIzUmVxdWVzdENhbmNlbGVkTWVzc2FnZVwiKTtcbmNvbnN0IFdlYjNSZXF1ZXN0TWVzc2FnZV8xID0gcmVxdWlyZShcIi4vV2ViM1JlcXVlc3RNZXNzYWdlXCIpO1xuY29uc3QgV2ViM1Jlc3BvbnNlXzEgPSByZXF1aXJlKFwiLi9XZWIzUmVzcG9uc2VcIik7XG5jb25zdCBXZWIzUmVzcG9uc2VNZXNzYWdlXzEgPSByZXF1aXJlKFwiLi9XZWIzUmVzcG9uc2VNZXNzYWdlXCIpO1xuY2xhc3MgV2FsbGV0U0RLUmVsYXkgZXh0ZW5kcyBXYWxsZXRTREtSZWxheUFic3RyYWN0XzEuV2FsbGV0U0RLUmVsYXlBYnN0cmFjdCB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYWNjb3VudHNDYWxsYmFjayA9IG51bGw7XG4gICAgICAgIHRoaXMuY2hhaW5DYWxsYmFjayA9IG51bGw7XG4gICAgICAgIHRoaXMuZGFwcERlZmF1bHRDaGFpblN1YmplY3QgPSBuZXcgcnhqc18xLkJlaGF2aW9yU3ViamVjdCgxKTtcbiAgICAgICAgdGhpcy5kYXBwRGVmYXVsdENoYWluID0gMTtcbiAgICAgICAgdGhpcy5hcHBOYW1lID0gXCJcIjtcbiAgICAgICAgdGhpcy5hcHBMb2dvVXJsID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gbmV3IHJ4anNfMS5TdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5saW5rQVBJVXJsID0gb3B0aW9ucy5saW5rQVBJVXJsO1xuICAgICAgICB0aGlzLnN0b3JhZ2UgPSBvcHRpb25zLnN0b3JhZ2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHsgc2Vzc2lvbiwgdWksIGNvbm5lY3Rpb24gfSA9IHRoaXMuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3Nlc3Npb24gPSBzZXNzaW9uO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uO1xuICAgICAgICB0aGlzLnJlbGF5RXZlbnRNYW5hZ2VyID0gb3B0aW9ucy5yZWxheUV2ZW50TWFuYWdlcjtcbiAgICAgICAgaWYgKG9wdGlvbnMuZGlhZ25vc3RpY0xvZ2dlciAmJiBvcHRpb25zLmV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IGhhdmUgYm90aCBldmVudExpc3RlbmVyIGFuZCBkaWFnbm9zdGljTG9nZ2VyIG9wdGlvbnMsIHVzZSBvbmx5IGRpYWdub3N0aWNMb2dnZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kaWFnbm9zdGljID0ge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2RcbiAgICAgICAgICAgICAgICBsb2c6IG9wdGlvbnMuZXZlbnRMaXN0ZW5lci5vbkV2ZW50LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlhZ25vc3RpYyA9IG9wdGlvbnMuZGlhZ25vc3RpY0xvZ2dlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWxvYWRPbkRpc2Nvbm5lY3QgPSAoX2EgPSBvcHRpb25zLnJlbG9hZE9uRGlzY29ubmVjdCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdHJ1ZTtcbiAgICAgICAgdGhpcy51aSA9IHVpO1xuICAgIH1cbiAgICBzdWJzY3JpYmUoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5kYXBwRGVmYXVsdENoYWluU3ViamVjdC5zdWJzY3JpYmUoY2hhaW5JZCA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXBwRGVmYXVsdENoYWluICE9PSBjaGFpbklkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXBwRGVmYXVsdENoYWluID0gY2hhaW5JZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gU2Vzc2lvbl8xLlNlc3Npb24ubG9hZCh0aGlzLnN0b3JhZ2UpIHx8IG5ldyBTZXNzaW9uXzEuU2Vzc2lvbih0aGlzLnN0b3JhZ2UpLnNhdmUoKTtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvbiA9IG5ldyBXYWxsZXRTREtDb25uZWN0aW9uXzEuV2FsbGV0U0RLQ29ubmVjdGlvbihzZXNzaW9uLmlkLCBzZXNzaW9uLmtleSwgdGhpcy5saW5rQVBJVXJsLCB0aGlzLmRpYWdub3N0aWMpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKGNvbm5lY3Rpb24uc2Vzc2lvbkNvbmZpZyQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IHNlc3Npb25Db25maWcgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25TZXNzaW9uQ29uZmlnQ2hhbmdlZChzZXNzaW9uQ29uZmlnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5HRU5FUkFMX0VSUk9SLCB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwiZXJyb3Igd2hpbGUgaW52b2tpbmcgc2Vzc2lvbiBjb25maWcgY2FsbGJhY2tcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChjb25uZWN0aW9uLmluY29taW5nRXZlbnQkXG4gICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEuZmlsdGVyKShtID0+IG0uZXZlbnQgPT09IFwiV2ViM1Jlc3BvbnNlXCIpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7IG5leHQ6IHRoaXMuaGFuZGxlSW5jb21pbmdFdmVudCB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoY29ubmVjdGlvbi5saW5rZWQkXG4gICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEuc2tpcCkoMSksICgwLCBvcGVyYXRvcnNfMS50YXApKChsaW5rZWQpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHRoaXMuaXNMaW5rZWQgPSBsaW5rZWQ7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWRBZGRyZXNzZXMgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShXYWxsZXRTREtSZWxheUFic3RyYWN0XzEuTE9DQUxfU1RPUkFHRV9BRERSRVNTRVNfS0VZKTtcbiAgICAgICAgICAgIGlmIChsaW5rZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBPbmx5IHNldCBsaW5rZWQgc2Vzc2lvbiB2YXJpYWJsZSBvbmUgd2F5XG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uLmxpbmtlZCA9IGxpbmtlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNVbmxpbmtlZEVycm9yU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChjYWNoZWRBZGRyZXNzZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzZXMgPSBjYWNoZWRBZGRyZXNzZXMuc3BsaXQoXCIgXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdhc0Nvbm5lY3RlZFZpYVN0YW5kYWxvbmUgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShcIklzU3RhbmRhbG9uZVNpZ25pbmdcIikgPT09IFwidHJ1ZVwiO1xuICAgICAgICAgICAgICAgIGlmIChhZGRyZXNzZXNbMF0gIT09IFwiXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgIWxpbmtlZCAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb24ubGlua2VkICYmXG4gICAgICAgICAgICAgICAgICAgICF3YXNDb25uZWN0ZWRWaWFTdGFuZGFsb25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNVbmxpbmtlZEVycm9yU3RhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uSWRIYXNoID0gdGhpcy5nZXRTZXNzaW9uSWRIYXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLlVOTElOS0VEX0VSUk9SX1NUQVRFLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uSWRIYXNoLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpKTtcbiAgICAgICAgLy8gaWYgc2Vzc2lvbiBpcyBtYXJrZWQgZGVzdHJveWVkLCByZXNldCBhbmQgcmVsb2FkXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoY29ubmVjdGlvbi5zZXNzaW9uQ29uZmlnJFxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZpbHRlcikoYyA9PiAhIWMubWV0YWRhdGEgJiYgYy5tZXRhZGF0YS5fX2Rlc3Ryb3llZCA9PT0gXCIxXCIpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCBhbHJlYWR5RGVzdHJveWVkID0gY29ubmVjdGlvbi5pc0Rlc3Ryb3llZDtcbiAgICAgICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLk1FVEFEQVRBX0RFU1RST1lFRCwge1xuICAgICAgICAgICAgICAgIGFscmVhZHlEZXN0cm95ZWQsXG4gICAgICAgICAgICAgICAgc2Vzc2lvbklkSGFzaDogdGhpcy5nZXRTZXNzaW9uSWRIYXNoKCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc2V0QW5kUmVsb2FkKCk7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChjb25uZWN0aW9uLnNlc3Npb25Db25maWckXG4gICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEuZmlsdGVyKShjID0+IGMubWV0YWRhdGEgJiYgYy5tZXRhZGF0YS5XYWxsZXRVc2VybmFtZSAhPT0gdW5kZWZpbmVkKSlcbiAgICAgICAgICAgIC5waXBlKCgwLCBvcGVyYXRvcnNfMS5tZXJnZU1hcCkoYyA9PiBhZXMyNTZnY20uZGVjcnlwdChjLm1ldGFkYXRhLldhbGxldFVzZXJuYW1lLCBzZXNzaW9uLnNlY3JldCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiB3YWxsZXRVc2VybmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oV2FsbGV0U0RLUmVsYXlBYnN0cmFjdF8xLldBTExFVF9VU0VSX05BTUVfS0VZLCB3YWxsZXRVc2VybmFtZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgKF9hID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuR0VORVJBTF9FUlJPUiwge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBcIkhhZCBlcnJvciBkZWNyeXB0aW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcInVzZXJuYW1lXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoY29ubmVjdGlvbi5zZXNzaW9uQ29uZmlnJFxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZpbHRlcikoYyA9PiBjLm1ldGFkYXRhICYmIGMubWV0YWRhdGEuQXBwVmVyc2lvbiAhPT0gdW5kZWZpbmVkKSlcbiAgICAgICAgICAgIC5waXBlKCgwLCBvcGVyYXRvcnNfMS5tZXJnZU1hcCkoYyA9PiBhZXMyNTZnY20uZGVjcnlwdChjLm1ldGFkYXRhLkFwcFZlcnNpb24sIHNlc3Npb24uc2VjcmV0KSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IGFwcFZlcnNpb24gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFdhbGxldFNES1JlbGF5QWJzdHJhY3RfMS5BUFBfVkVSU0lPTl9LRVksIGFwcFZlcnNpb24pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLkdFTkVSQUxfRVJST1IsIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogXCJIYWQgZXJyb3IgZGVjcnlwdGluZ1wiLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhcHB2ZXJzaW9uXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoY29ubmVjdGlvbi5zZXNzaW9uQ29uZmlnJFxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZpbHRlcikoYyA9PiBjLm1ldGFkYXRhICYmXG4gICAgICAgICAgICBjLm1ldGFkYXRhLkNoYWluSWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy5tZXRhZGF0YS5Kc29uUnBjVXJsICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLm1lcmdlTWFwKShjID0+ICgwLCByeGpzXzEuemlwKShhZXMyNTZnY20uZGVjcnlwdChjLm1ldGFkYXRhLkNoYWluSWQsIHNlc3Npb24uc2VjcmV0KSwgYWVzMjU2Z2NtLmRlY3J5cHQoYy5tZXRhZGF0YS5Kc29uUnBjVXJsLCBzZXNzaW9uLnNlY3JldCkpKSlcbiAgICAgICAgICAgIC5waXBlKCgwLCBvcGVyYXRvcnNfMS5kaXN0aW5jdFVudGlsQ2hhbmdlZCkoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKFtjaGFpbklkLCBqc29uUnBjVXJsXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNoYWluQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFpbkNhbGxiYWNrKGNoYWluSWQsIGpzb25ScGNVcmwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5HRU5FUkFMX0VSUk9SLCB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwiSGFkIGVycm9yIGRlY3J5cHRpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiY2hhaW5JZHxqc29uUnBjVXJsXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoY29ubmVjdGlvbi5zZXNzaW9uQ29uZmlnJFxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLmZpbHRlcikoYyA9PiBjLm1ldGFkYXRhICYmIGMubWV0YWRhdGEuRXRoZXJldW1BZGRyZXNzICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLm1lcmdlTWFwKShjID0+IGFlczI1NmdjbS5kZWNyeXB0KGMubWV0YWRhdGEuRXRoZXJldW1BZGRyZXNzLCBzZXNzaW9uLnNlY3JldCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiBzZWxlY3RlZEFkZHJlc3MgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjY291bnRzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50c0NhbGxiYWNrKFtzZWxlY3RlZEFkZHJlc3NdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKFdhbGxldFNES1JlbGF5LmFjY291bnRSZXF1ZXN0Q2FsbGJhY2tJZHMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2UgZ2V0IHRoZSBldGhlcmV1bSBhZGRyZXNzIGZyb20gdGhlIG1ldGFkYXRhLiAgSWYgZm9yIHdoYXRldmVyXG4gICAgICAgICAgICAgICAgICAgIC8vIHJlYXNvbiB3ZSBkb24ndCBnZXQgYSByZXNwb25zZSB2aWEgYW4gZXhwbGljaXQgd2ViMyBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIGNhbiBzdGlsbCBmdWxmaWxsIHRoZSBlaXAxMTAyIHJlcXVlc3QuXG4gICAgICAgICAgICAgICAgICAgIEFycmF5LmZyb20oV2FsbGV0U0RLUmVsYXkuYWNjb3VudFJlcXVlc3RDYWxsYmFja0lkcy52YWx1ZXMoKSkuZm9yRWFjaChpZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gKDAsIFdlYjNSZXNwb25zZU1lc3NhZ2VfMS5XZWIzUmVzcG9uc2VNZXNzYWdlKSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6ICgwLCBXZWIzUmVzcG9uc2VfMS5SZXF1ZXN0RXRoZXJldW1BY2NvdW50c1Jlc3BvbnNlKShbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZva2VDYWxsYmFjayhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG1lc3NhZ2UpLCB7IGlkIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFdhbGxldFNES1JlbGF5LmFjY291bnRSZXF1ZXN0Q2FsbGJhY2tJZHMuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgKF9hID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuR0VORVJBTF9FUlJPUiwge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBcIkhhZCBlcnJvciBkZWNyeXB0aW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcInNlbGVjdGVkQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKGNvbm5lY3Rpb24uc2Vzc2lvbkNvbmZpZyRcbiAgICAgICAgICAgIC5waXBlKCgwLCBvcGVyYXRvcnNfMS5maWx0ZXIpKGMgPT4gYy5tZXRhZGF0YSAmJiBjLm1ldGFkYXRhLkFwcFNyYyAhPT0gdW5kZWZpbmVkKSlcbiAgICAgICAgICAgIC5waXBlKCgwLCBvcGVyYXRvcnNfMS5tZXJnZU1hcCkoYyA9PiBhZXMyNTZnY20uZGVjcnlwdChjLm1ldGFkYXRhLkFwcFNyYywgc2Vzc2lvbi5zZWNyZXQpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogYXBwU3JjID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVpLnNldEFwcFNyYyhhcHBTcmMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLkdFTkVSQUxfRVJST1IsIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogXCJIYWQgZXJyb3IgZGVjcnlwdGluZ1wiLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhcHBTcmNcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgICAgY29uc3QgdWkgPSB0aGlzLm9wdGlvbnMudWlDb25zdHJ1Y3Rvcih7XG4gICAgICAgICAgICBsaW5rQVBJVXJsOiB0aGlzLm9wdGlvbnMubGlua0FQSVVybCxcbiAgICAgICAgICAgIHZlcnNpb246IHRoaXMub3B0aW9ucy52ZXJzaW9uLFxuICAgICAgICAgICAgZGFya01vZGU6IHRoaXMub3B0aW9ucy5kYXJrTW9kZSxcbiAgICAgICAgICAgIHNlc3Npb24sXG4gICAgICAgICAgICBjb25uZWN0ZWQkOiBjb25uZWN0aW9uLmNvbm5lY3RlZCQsXG4gICAgICAgICAgICBjaGFpbklkJDogdGhpcy5kYXBwRGVmYXVsdENoYWluU3ViamVjdCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbm5lY3Rpb24uY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4geyBzZXNzaW9uLCB1aSwgY29ubmVjdGlvbiB9O1xuICAgIH1cbiAgICBhdHRhY2hVSSgpIHtcbiAgICAgICAgdGhpcy51aS5hdHRhY2goKTtcbiAgICB9XG4gICAgcmVzZXRBbmRSZWxvYWQoKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblxuICAgICAgICAgICAgLnNldFNlc3Npb25NZXRhZGF0YShcIl9fZGVzdHJveWVkXCIsIFwiMVwiKVxuICAgICAgICAgICAgLnBpcGUoKDAsIG9wZXJhdG9yc18xLnRpbWVvdXQpKDEwMDApLCAoMCwgb3BlcmF0b3JzXzEuY2F0Y2hFcnJvcikoXyA9PiAoMCwgcnhqc18xLm9mKShudWxsKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgICAgICBjb25zdCBpc1N0YW5kYWxvbmUgPSB0aGlzLnVpLmlzU3RhbmRhbG9uZSgpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5HRU5FUkFMX0VSUk9SLCB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwiSGFkIGVycm9yIHVuc3Vic2NyaWJpbmdcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIChfYiA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLlNFU1NJT05fU1RBVEVfQ0hBTkdFLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcInJlbGF5OjpyZXNldEFuZFJlbG9hZFwiLFxuICAgICAgICAgICAgICAgIHNlc3Npb25NZXRhZGF0YUNoYW5nZTogXCJfX2Rlc3Ryb3llZCwgMVwiLFxuICAgICAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IHRoaXMuZ2V0U2Vzc2lvbklkSGFzaCgpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZGVzdHJveSgpO1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBPbmx5IGNsZWFyIHN0b3JhZ2UgaWYgdGhlIHNlc3Npb24gaWQgd2UgaGF2ZSBpbiBtZW1vcnkgbWF0Y2hlcyB0aGUgb25lIG9uIGRpc2tcbiAgICAgICAgICAgICAqIE90aGVyd2lzZSwgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSAyIHRhYnMsIGFub3RoZXIgdGFiIG1pZ2h0IGhhdmUgY2xlYXJlZFxuICAgICAgICAgICAgICogc3RvcmFnZSBhbHJlYWR5LiAgSW4gdGhhdCBjYXNlIGlmIHdlIGNsZWFyIHN0b3JhZ2UgYWdhaW4sIHRoZSB1c2VyIHdpbGwgYmUgaW5cbiAgICAgICAgICAgICAqIGEgc3RhdGUgd2hlcmUgdGhlIGZpcnN0IHRhYiBhbGxvd3MgdGhlIHVzZXIgdG8gY29ubmVjdCBidXQgdGhlIHNlc3Npb24gdGhhdFxuICAgICAgICAgICAgICogd2FzIHVzZWQgaXNuJ3QgcGVyc2lzdGVkLiAgVGhpcyBsZWF2ZXMgdGhlIHVzZXIgaW4gYSBzdGF0ZSB3aGVyZSB0aGV5IGFyZW4ndFxuICAgICAgICAgICAgICogY29ubmVjdGVkIHRvIHRoZSBtb2JpbGUgYXBwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBzdG9yZWRTZXNzaW9uID0gU2Vzc2lvbl8xLlNlc3Npb24ubG9hZCh0aGlzLnN0b3JhZ2UpO1xuICAgICAgICAgICAgaWYgKChzdG9yZWRTZXNzaW9uID09PSBudWxsIHx8IHN0b3JlZFNlc3Npb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN0b3JlZFNlc3Npb24uaWQpID09PSB0aGlzLl9zZXNzaW9uLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChzdG9yZWRTZXNzaW9uKSB7XG4gICAgICAgICAgICAgICAgKF9jID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuU0tJUFBFRF9DTEVBUklOR19TRVNTSU9OLCB7XG4gICAgICAgICAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IHRoaXMuZ2V0U2Vzc2lvbklkSGFzaCgpLFxuICAgICAgICAgICAgICAgICAgICBzdG9yZWRTZXNzaW9uSWRIYXNoOiBTZXNzaW9uXzEuU2Vzc2lvbi5oYXNoKHN0b3JlZFNlc3Npb24uaWQpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX3JlbG9hZE9uRGlzY29ubmVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMudWkucmVsb2FkVUkoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5hY2NvdW50c0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50c0NhbGxiYWNrKFtdLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IG5ldyByeGpzXzEuU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICBjb25zdCB7IHNlc3Npb24sIHVpLCBjb25uZWN0aW9uIH0gPSB0aGlzLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IHNlc3Npb247XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy51aSA9IHVpO1xuICAgICAgICAgICAgaWYgKGlzU3RhbmRhbG9uZSAmJiB0aGlzLnVpLnNldFN0YW5kYWxvbmUpXG4gICAgICAgICAgICAgICAgdGhpcy51aS5zZXRTdGFuZGFsb25lKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5hdHRhY2hVSSgpO1xuICAgICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5GQUlMVVJFLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcInJlbGF5OjpyZXNldEFuZFJlbG9hZFwiLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBmYWlsZWQgdG8gcmVzZXQgYW5kIHJlbG9hZCB3aXRoICR7ZXJyfWAsXG4gICAgICAgICAgICAgICAgc2Vzc2lvbklkSGFzaDogdGhpcy5nZXRTZXNzaW9uSWRIYXNoKCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNldEFwcEluZm8oYXBwTmFtZSwgYXBwTG9nb1VybCkge1xuICAgICAgICB0aGlzLmFwcE5hbWUgPSBhcHBOYW1lO1xuICAgICAgICB0aGlzLmFwcExvZ29VcmwgPSBhcHBMb2dvVXJsO1xuICAgIH1cbiAgICBnZXRTdG9yYWdlSXRlbShrZXkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgfVxuICAgIGdldCBzZXNzaW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbjtcbiAgICB9XG4gICAgc2V0U3RvcmFnZUl0ZW0oa2V5LCB2YWx1ZSkge1xuICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgc2lnbkV0aGVyZXVtTWVzc2FnZShtZXNzYWdlLCBhZGRyZXNzLCBhZGRQcmVmaXgsIHR5cGVkRGF0YUpzb24pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZFJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5zaWduRXRoZXJldW1NZXNzYWdlLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogKDAsIHV0aWxfMS5oZXhTdHJpbmdGcm9tQnVmZmVyKShtZXNzYWdlLCB0cnVlKSxcbiAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgIGFkZFByZWZpeCxcbiAgICAgICAgICAgICAgICB0eXBlZERhdGFKc29uOiB0eXBlZERhdGFKc29uIHx8IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZXRoZXJldW1BZGRyZXNzRnJvbVNpZ25lZE1lc3NhZ2UobWVzc2FnZSwgc2lnbmF0dXJlLCBhZGRQcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VuZFJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5ldGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICgwLCB1dGlsXzEuaGV4U3RyaW5nRnJvbUJ1ZmZlcikobWVzc2FnZSwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgc2lnbmF0dXJlOiAoMCwgdXRpbF8xLmhleFN0cmluZ0Zyb21CdWZmZXIpKHNpZ25hdHVyZSwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgYWRkUHJlZml4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uKHBhcmFtcykge1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgZnJvbUFkZHJlc3M6IHBhcmFtcy5mcm9tQWRkcmVzcyxcbiAgICAgICAgICAgICAgICB0b0FkZHJlc3M6IHBhcmFtcy50b0FkZHJlc3MsXG4gICAgICAgICAgICAgICAgd2VpVmFsdWU6ICgwLCB1dGlsXzEuYmlnSW50U3RyaW5nRnJvbUJOKShwYXJhbXMud2VpVmFsdWUpLFxuICAgICAgICAgICAgICAgIGRhdGE6ICgwLCB1dGlsXzEuaGV4U3RyaW5nRnJvbUJ1ZmZlcikocGFyYW1zLmRhdGEsIHRydWUpLFxuICAgICAgICAgICAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICAgICAgICAgICAgZ2FzUHJpY2VJbldlaTogcGFyYW1zLmdhc1ByaWNlSW5XZWlcbiAgICAgICAgICAgICAgICAgICAgPyAoMCwgdXRpbF8xLmJpZ0ludFN0cmluZ0Zyb21CTikocGFyYW1zLmdhc1ByaWNlSW5XZWkpXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICBtYXhGZWVQZXJHYXM6IHBhcmFtcy5nYXNQcmljZUluV2VpXG4gICAgICAgICAgICAgICAgICAgID8gKDAsIHV0aWxfMS5iaWdJbnRTdHJpbmdGcm9tQk4pKHBhcmFtcy5nYXNQcmljZUluV2VpKVxuICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHBhcmFtcy5nYXNQcmljZUluV2VpXG4gICAgICAgICAgICAgICAgICAgID8gKDAsIHV0aWxfMS5iaWdJbnRTdHJpbmdGcm9tQk4pKHBhcmFtcy5nYXNQcmljZUluV2VpKVxuICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgZ2FzTGltaXQ6IHBhcmFtcy5nYXNMaW1pdCA/ICgwLCB1dGlsXzEuYmlnSW50U3RyaW5nRnJvbUJOKShwYXJhbXMuZ2FzTGltaXQpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBwYXJhbXMuY2hhaW5JZCxcbiAgICAgICAgICAgICAgICBzaG91bGRTdWJtaXQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNpZ25BbmRTdWJtaXRFdGhlcmV1bVRyYW5zYWN0aW9uKHBhcmFtcykge1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgZnJvbUFkZHJlc3M6IHBhcmFtcy5mcm9tQWRkcmVzcyxcbiAgICAgICAgICAgICAgICB0b0FkZHJlc3M6IHBhcmFtcy50b0FkZHJlc3MsXG4gICAgICAgICAgICAgICAgd2VpVmFsdWU6ICgwLCB1dGlsXzEuYmlnSW50U3RyaW5nRnJvbUJOKShwYXJhbXMud2VpVmFsdWUpLFxuICAgICAgICAgICAgICAgIGRhdGE6ICgwLCB1dGlsXzEuaGV4U3RyaW5nRnJvbUJ1ZmZlcikocGFyYW1zLmRhdGEsIHRydWUpLFxuICAgICAgICAgICAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICAgICAgICAgICAgZ2FzUHJpY2VJbldlaTogcGFyYW1zLmdhc1ByaWNlSW5XZWlcbiAgICAgICAgICAgICAgICAgICAgPyAoMCwgdXRpbF8xLmJpZ0ludFN0cmluZ0Zyb21CTikocGFyYW1zLmdhc1ByaWNlSW5XZWkpXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICBtYXhGZWVQZXJHYXM6IHBhcmFtcy5tYXhGZWVQZXJHYXNcbiAgICAgICAgICAgICAgICAgICAgPyAoMCwgdXRpbF8xLmJpZ0ludFN0cmluZ0Zyb21CTikocGFyYW1zLm1heEZlZVBlckdhcylcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBwYXJhbXMubWF4UHJpb3JpdHlGZWVQZXJHYXNcbiAgICAgICAgICAgICAgICAgICAgPyAoMCwgdXRpbF8xLmJpZ0ludFN0cmluZ0Zyb21CTikocGFyYW1zLm1heFByaW9yaXR5RmVlUGVyR2FzKVxuICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgZ2FzTGltaXQ6IHBhcmFtcy5nYXNMaW1pdCA/ICgwLCB1dGlsXzEuYmlnSW50U3RyaW5nRnJvbUJOKShwYXJhbXMuZ2FzTGltaXQpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBwYXJhbXMuY2hhaW5JZCxcbiAgICAgICAgICAgICAgICBzaG91bGRTdWJtaXQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3VibWl0RXRoZXJldW1UcmFuc2FjdGlvbihzaWduZWRUcmFuc2FjdGlvbiwgY2hhaW5JZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBzaWduZWRUcmFuc2FjdGlvbjogKDAsIHV0aWxfMS5oZXhTdHJpbmdGcm9tQnVmZmVyKShzaWduZWRUcmFuc2FjdGlvbiwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzY2FuUVJDb2RlKHJlZ0V4cCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnNjYW5RUkNvZGUsXG4gICAgICAgICAgICBwYXJhbXM6IHsgcmVnRXhwIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXRRUkNvZGVVcmwoKSB7XG4gICAgICAgIHJldHVybiAoMCwgdXRpbF8xLmNyZWF0ZVFyVXJsKSh0aGlzLl9zZXNzaW9uLmlkLCB0aGlzLl9zZXNzaW9uLnNlY3JldCwgdGhpcy5saW5rQVBJVXJsLCBmYWxzZSwgdGhpcy5vcHRpb25zLnZlcnNpb24sIHRoaXMuZGFwcERlZmF1bHRDaGFpbik7XG4gICAgfVxuICAgIGdlbmVyaWNSZXF1ZXN0KGRhdGEsIGFjdGlvbikge1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kUmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLmdlbmVyaWMsXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzZW5kR2VuZXJpY01lc3NhZ2UocmVxdWVzdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZW5kUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9XG4gICAgc2VuZFJlcXVlc3QocmVxdWVzdCkge1xuICAgICAgICBsZXQgaGlkZVNuYWNrYmFySXRlbSA9IG51bGw7XG4gICAgICAgIGNvbnN0IGlkID0gKDAsIHV0aWxfMS5yYW5kb21CeXRlc0hleCkoOCk7XG4gICAgICAgIGNvbnN0IGNhbmNlbCA9IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5wdWJsaXNoV2ViM1JlcXVlc3RDYW5jZWxlZEV2ZW50KGlkKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3JSZXNwb25zZShpZCwgcmVxdWVzdC5tZXRob2QsIGVycm9yKTtcbiAgICAgICAgICAgIGhpZGVTbmFja2Jhckl0ZW0gPT09IG51bGwgfHwgaGlkZVNuYWNrYmFySXRlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogaGlkZVNuYWNrYmFySXRlbSgpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnVpLmlzU3RhbmRhbG9uZSgpKSB7XG4gICAgICAgICAgICAgICAgaGlkZVNuYWNrYmFySXRlbSA9IHRoaXMudWkuc2hvd0Nvbm5lY3Rpbmcoe1xuICAgICAgICAgICAgICAgICAgICBpc1VubGlua2VkRXJyb3JTdGF0ZTogdGhpcy5pc1VubGlua2VkRXJyb3JTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgICAgICAgICAgICAgb25SZXNldENvbm5lY3Rpb246IHRoaXMucmVzZXRBbmRSZWxvYWQsIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJlbGF5RXZlbnRNYW5hZ2VyLmNhbGxiYWNrcy5zZXQoaWQsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBoaWRlU25hY2tiYXJJdGVtID09PSBudWxsIHx8IGhpZGVTbmFja2Jhckl0ZW0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGhpZGVTbmFja2Jhckl0ZW0oKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKHJlc3BvbnNlLmVycm9yTWVzc2FnZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMudWkuaXNTdGFuZGFsb25lKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRSZXF1ZXN0U3RhbmRhbG9uZShpZCwgcmVxdWVzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1Ymxpc2hXZWIzUmVxdWVzdEV2ZW50KGlkLCByZXF1ZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IHByb21pc2UsIGNhbmNlbCB9O1xuICAgIH1cbiAgICBzZXRDb25uZWN0RGlzYWJsZWQoZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy51aS5zZXRDb25uZWN0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIH1cbiAgICBzZXRBY2NvdW50c0NhbGxiYWNrKGFjY291bnRzQ2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5hY2NvdW50c0NhbGxiYWNrID0gYWNjb3VudHNDYWxsYmFjaztcbiAgICB9XG4gICAgc2V0Q2hhaW5DYWxsYmFjayhjaGFpbkNhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMuY2hhaW5DYWxsYmFjayA9IGNoYWluQ2FsbGJhY2s7XG4gICAgfVxuICAgIHNldERhcHBEZWZhdWx0Q2hhaW5DYWxsYmFjayhjaGFpbklkKSB7XG4gICAgICAgIHRoaXMuZGFwcERlZmF1bHRDaGFpblN1YmplY3QubmV4dChjaGFpbklkKTtcbiAgICB9XG4gICAgcHVibGlzaFdlYjNSZXF1ZXN0RXZlbnQoaWQsIHJlcXVlc3QpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gKDAsIFdlYjNSZXF1ZXN0TWVzc2FnZV8xLldlYjNSZXF1ZXN0TWVzc2FnZSkoeyBpZCwgcmVxdWVzdCB9KTtcbiAgICAgICAgY29uc3Qgc3RvcmVkU2Vzc2lvbiA9IFNlc3Npb25fMS5TZXNzaW9uLmxvYWQodGhpcy5zdG9yYWdlKTtcbiAgICAgICAgKF9hID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuV0VCM19SRVFVRVNULCB7XG4gICAgICAgICAgICBldmVudElkOiBtZXNzYWdlLmlkLFxuICAgICAgICAgICAgbWV0aG9kOiBgcmVsYXk6OiR7bWVzc2FnZS5yZXF1ZXN0Lm1ldGhvZH1gLFxuICAgICAgICAgICAgc2Vzc2lvbklkSGFzaDogdGhpcy5nZXRTZXNzaW9uSWRIYXNoKCksXG4gICAgICAgICAgICBzdG9yZWRTZXNzaW9uSWRIYXNoOiBzdG9yZWRTZXNzaW9uID8gU2Vzc2lvbl8xLlNlc3Npb24uaGFzaChzdG9yZWRTZXNzaW9uLmlkKSA6IFwiXCIsXG4gICAgICAgICAgICBpc1Nlc3Npb25NaXNtYXRjaGVkOiAoKHN0b3JlZFNlc3Npb24gPT09IG51bGwgfHwgc3RvcmVkU2Vzc2lvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3RvcmVkU2Vzc2lvbi5pZCkgIT09IHRoaXMuX3Nlc3Npb24uaWQpLnRvU3RyaW5nKCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMucHVibGlzaEV2ZW50KFwiV2ViM1JlcXVlc3RcIiwgbWVzc2FnZSwgdHJ1ZSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IF8gPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmRpYWdub3N0aWMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2coRGlhZ25vc3RpY0xvZ2dlcl8xLkVWRU5UUy5XRUIzX1JFUVVFU1RfUFVCTElTSEVELCB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50SWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogYHJlbGF5Ojoke21lc3NhZ2UucmVxdWVzdC5tZXRob2R9YCxcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbklkSGFzaDogdGhpcy5nZXRTZXNzaW9uSWRIYXNoKCksXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlZFNlc3Npb25JZEhhc2g6IHN0b3JlZFNlc3Npb25cbiAgICAgICAgICAgICAgICAgICAgICAgID8gU2Vzc2lvbl8xLlNlc3Npb24uaGFzaChzdG9yZWRTZXNzaW9uLmlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICBpc1Nlc3Npb25NaXNtYXRjaGVkOiAoKHN0b3JlZFNlc3Npb24gPT09IG51bGwgfHwgc3RvcmVkU2Vzc2lvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3RvcmVkU2Vzc2lvbi5pZCkgIT09IHRoaXMuX3Nlc3Npb24uaWQpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVXZWIzUmVzcG9uc2VNZXNzYWdlKCgwLCBXZWIzUmVzcG9uc2VNZXNzYWdlXzEuV2ViM1Jlc3BvbnNlTWVzc2FnZSkoe1xuICAgICAgICAgICAgICAgICAgICBpZDogbWVzc2FnZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogbWVzc2FnZS5yZXF1ZXN0Lm1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZTogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBwdWJsaXNoV2ViM1JlcXVlc3RDYW5jZWxlZEV2ZW50KGlkKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoMCwgV2ViM1JlcXVlc3RDYW5jZWxlZE1lc3NhZ2VfMS5XZWIzUmVxdWVzdENhbmNlbGVkTWVzc2FnZSkoaWQpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMucHVibGlzaEV2ZW50KFwiV2ViM1JlcXVlc3RDYW5jZWxlZFwiLCBtZXNzYWdlLCBmYWxzZSkuc3Vic2NyaWJlKCkpO1xuICAgIH1cbiAgICBwdWJsaXNoRXZlbnQoZXZlbnQsIG1lc3NhZ2UsIGNhbGxXZWJob29rKSB7XG4gICAgICAgIGNvbnN0IHNlY3JldCA9IHRoaXMuc2Vzc2lvbi5zZWNyZXQ7XG4gICAgICAgIHJldHVybiBuZXcgcnhqc18xLk9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICB2b2lkIGFlczI1NmdjbVxuICAgICAgICAgICAgICAgIC5lbmNyeXB0KEpTT04uc3RyaW5naWZ5KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgbWVzc2FnZSksIHsgb3JpZ2luOiBsb2NhdGlvbi5vcmlnaW4gfSkpLCBzZWNyZXQpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGVuY3J5cHRlZCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChlbmNyeXB0ZWQpO1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KS5waXBlKCgwLCBvcGVyYXRvcnNfMS5tZXJnZU1hcCkoKGVuY3J5cHRlZCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wdWJsaXNoRXZlbnQoZXZlbnQsIGVuY3J5cHRlZCwgY2FsbFdlYmhvb2spO1xuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGhhbmRsZUluY29taW5nRXZlbnQoZXZlbnQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoKDAsIHJ4anNfMS5mcm9tKShhZXMyNTZnY20uZGVjcnlwdChldmVudC5kYXRhLCB0aGlzLnNlc3Npb24uc2VjcmV0KSlcbiAgICAgICAgICAgICAgICAucGlwZSgoMCwgb3BlcmF0b3JzXzEubWFwKShjID0+IEpTT04ucGFyc2UoYykpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IGpzb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gKDAsIFdlYjNSZXNwb25zZU1lc3NhZ2VfMS5pc1dlYjNSZXNwb25zZU1lc3NhZ2UpKGpzb24pID8ganNvbiA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZShtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5kaWFnbm9zdGljKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubG9nKERpYWdub3N0aWNMb2dnZXJfMS5FVkVOVFMuR0VORVJBTF9FUlJPUiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogXCJIYWQgZXJyb3IgZGVjcnlwdGluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiaW5jb21pbmdFdmVudFwiLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICAgIGhhbmRsZVdlYjNSZXNwb25zZU1lc3NhZ2UobWVzc2FnZSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IG1lc3NhZ2U7XG4gICAgICAgIChfYSA9IHRoaXMuZGlhZ25vc3RpYykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxvZyhEaWFnbm9zdGljTG9nZ2VyXzEuRVZFTlRTLldFQjNfUkVTUE9OU0UsIHtcbiAgICAgICAgICAgIGV2ZW50SWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgICBtZXRob2Q6IGByZWxheTo6JHtyZXNwb25zZS5tZXRob2R9YCxcbiAgICAgICAgICAgIHNlc3Npb25JZEhhc2g6IHRoaXMuZ2V0U2Vzc2lvbklkSGFzaCgpLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCgwLCBXZWIzUmVzcG9uc2VfMS5pc1JlcXVlc3RFdGhlcmV1bUFjY291bnRzUmVzcG9uc2UpKHJlc3BvbnNlKSkge1xuICAgICAgICAgICAgV2FsbGV0U0RLUmVsYXkuYWNjb3VudFJlcXVlc3RDYWxsYmFja0lkcy5mb3JFYWNoKGlkID0+IHRoaXMuaW52b2tlQ2FsbGJhY2soT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtZXNzYWdlKSwgeyBpZCB9KSkpO1xuICAgICAgICAgICAgV2FsbGV0U0RLUmVsYXkuYWNjb3VudFJlcXVlc3RDYWxsYmFja0lkcy5jbGVhcigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlQ2FsbGJhY2sobWVzc2FnZSk7XG4gICAgfVxuICAgIGhhbmRsZUVycm9yUmVzcG9uc2UoaWQsIG1ldGhvZCwgZXJyb3IsIGVycm9yQ29kZSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IChfYSA9IGVycm9yID09PSBudWxsIHx8IGVycm9yID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlcnJvci5tZXNzYWdlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAoMCwgZXJyb3JzXzEuc3RhbmRhcmRFcnJvck1lc3NhZ2UpKGVycm9yQ29kZSk7XG4gICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgIGVycm9yQ29kZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgaW52b2tlQ2FsbGJhY2sobWVzc2FnZSkge1xuICAgICAgICBjb25zdCBjYWxsYmFjayA9IHRoaXMucmVsYXlFdmVudE1hbmFnZXIuY2FsbGJhY2tzLmdldChtZXNzYWdlLmlkKTtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhtZXNzYWdlLnJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMucmVsYXlFdmVudE1hbmFnZXIuY2FsbGJhY2tzLmRlbGV0ZShtZXNzYWdlLmlkKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXF1ZXN0RXRoZXJldW1BY2NvdW50cygpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgICAgICAgIG1ldGhvZDogV2ViM01ldGhvZF8xLldlYjNNZXRob2QucmVxdWVzdEV0aGVyZXVtQWNjb3VudHMsXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBhcHBOYW1lOiB0aGlzLmFwcE5hbWUsXG4gICAgICAgICAgICAgICAgYXBwTG9nb1VybDogdGhpcy5hcHBMb2dvVXJsIHx8IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBoaWRlU25hY2tiYXJJdGVtID0gbnVsbDtcbiAgICAgICAgY29uc3QgaWQgPSAoMCwgdXRpbF8xLnJhbmRvbUJ5dGVzSGV4KSg4KTtcbiAgICAgICAgY29uc3QgY2FuY2VsID0gKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnB1Ymxpc2hXZWIzUmVxdWVzdENhbmNlbGVkRXZlbnQoaWQpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGlkLCByZXF1ZXN0Lm1ldGhvZCwgZXJyb3IpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgaGlkZVNuYWNrYmFySXRlbSA9PT0gbnVsbCB8fCBoaWRlU25hY2tiYXJJdGVtID09PSB2b2lkIDAgPyB2b2lkIDAgOiBoaWRlU25hY2tiYXJJdGVtKCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICB0aGlzLnJlbGF5RXZlbnRNYW5hZ2VyLmNhbGxiYWNrcy5zZXQoaWQsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVpLmhpZGVSZXF1ZXN0RXRoZXJldW1BY2NvdW50cygpO1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgaGlkZVNuYWNrYmFySXRlbSA9PT0gbnVsbCB8fCBoaWRlU25hY2tiYXJJdGVtID09PSB2b2lkIDAgPyB2b2lkIDAgOiBoaWRlU25hY2tiYXJJdGVtKCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihyZXNwb25zZS5lcnJvck1lc3NhZ2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJBZ2VudCA9ICgoX2EgPSB3aW5kb3cgPT09IG51bGwgfHwgd2luZG93ID09PSB2b2lkIDAgPyB2b2lkIDAgOiB3aW5kb3cubmF2aWdhdG9yKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudXNlckFnZW50KSB8fCBudWxsO1xuICAgICAgICAgICAgaWYgKHVzZXJBZ2VudCAmJlxuICAgICAgICAgICAgICAgIC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdCh1c2VyQWdlbnQpKSB7XG4gICAgICAgICAgICAgICAgbGV0IGxvY2F0aW9uO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgoMCwgdXRpbF8xLmlzSW5JRnJhbWUpKCkgJiYgd2luZG93LnRvcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSB3aW5kb3cudG9wLmxvY2F0aW9uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uLmhyZWYgPSBgaHR0cHM6Ly93d3cuY29pbmJhc2UuY29tL2Nvbm5lY3QtZGFwcD91cmk9JHtlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZil9YDtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy51aS5pbmxpbmVBY2NvdW50c1Jlc3BvbnNlKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvbkFjY291bnRzID0gKGFjY291bnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6ICgwLCBXZWIzUmVzcG9uc2VfMS5SZXF1ZXN0RXRoZXJldW1BY2NvdW50c1Jlc3BvbnNlKShhY2NvdW50cyksXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMudWkucmVxdWVzdEV0aGVyZXVtQWNjb3VudHMoe1xuICAgICAgICAgICAgICAgICAgICBvbkNhbmNlbDogY2FuY2VsLFxuICAgICAgICAgICAgICAgICAgICBvbkFjY291bnRzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gRXJyb3IgaWYgdXNlciBjbG9zZXMgVHJ5RXh0ZW5zaW9uTGlua0RpYWxvZyB3aXRob3V0IGNvbm5lY3RpbmdcbiAgICAgICAgICAgICAgICBjb25zdCBlcnIgPSBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5wcm92aWRlci51c2VyUmVqZWN0ZWRSZXF1ZXN0KFwiVXNlciBkZW5pZWQgYWNjb3VudCBhdXRob3JpemF0aW9uXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMudWkucmVxdWVzdEV0aGVyZXVtQWNjb3VudHMoe1xuICAgICAgICAgICAgICAgICAgICBvbkNhbmNlbDogKCkgPT4gY2FuY2VsKGVyciksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBXYWxsZXRTREtSZWxheS5hY2NvdW50UmVxdWVzdENhbGxiYWNrSWRzLmFkZChpZCk7XG4gICAgICAgICAgICBpZiAoIXRoaXMudWkuaW5saW5lQWNjb3VudHNSZXNwb25zZSgpICYmICF0aGlzLnVpLmlzU3RhbmRhbG9uZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWJsaXNoV2ViM1JlcXVlc3RFdmVudChpZCwgcmVxdWVzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyBwcm9taXNlLCBjYW5jZWwgfTtcbiAgICB9XG4gICAgc2VsZWN0UHJvdmlkZXIocHJvdmlkZXJPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnNlbGVjdFByb3ZpZGVyLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXJPcHRpb25zLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaWQgPSAoMCwgdXRpbF8xLnJhbmRvbUJ5dGVzSGV4KSg4KTtcbiAgICAgICAgY29uc3QgY2FuY2VsID0gKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnB1Ymxpc2hXZWIzUmVxdWVzdENhbmNlbGVkRXZlbnQoaWQpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGlkLCByZXF1ZXN0Lm1ldGhvZCwgZXJyb3IpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWxheUV2ZW50TWFuYWdlci5jYWxsYmFja3Muc2V0KGlkLCByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihyZXNwb25zZS5lcnJvck1lc3NhZ2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IF9jYW5jZWwgPSAoX2Vycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVXZWIzUmVzcG9uc2VNZXNzYWdlKCgwLCBXZWIzUmVzcG9uc2VNZXNzYWdlXzEuV2ViM1Jlc3BvbnNlTWVzc2FnZSkoe1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6ICgwLCBXZWIzUmVzcG9uc2VfMS5TZWxlY3RQcm92aWRlclJlc3BvbnNlKSh0eXBlc18xLlByb3ZpZGVyVHlwZS5VbnNlbGVjdGVkKSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgYXBwcm92ZSA9IChzZWxlY3RlZFByb3ZpZGVyS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVXZWIzUmVzcG9uc2VNZXNzYWdlKCgwLCBXZWIzUmVzcG9uc2VNZXNzYWdlXzEuV2ViM1Jlc3BvbnNlTWVzc2FnZSkoe1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6ICgwLCBXZWIzUmVzcG9uc2VfMS5TZWxlY3RQcm92aWRlclJlc3BvbnNlKShzZWxlY3RlZFByb3ZpZGVyS2V5KSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRoaXMudWkuc2VsZWN0UHJvdmlkZXIpXG4gICAgICAgICAgICAgICAgdGhpcy51aS5zZWxlY3RQcm92aWRlcih7XG4gICAgICAgICAgICAgICAgICAgIG9uQXBwcm92ZTogYXBwcm92ZSxcbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw6IF9jYW5jZWwsXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyT3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IGNhbmNlbCwgcHJvbWlzZSB9O1xuICAgIH1cbiAgICB3YXRjaEFzc2V0KHR5cGUsIGFkZHJlc3MsIHN5bWJvbCwgZGVjaW1hbHMsIGltYWdlLCBjaGFpbklkKSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLndhdGNoQXNzZXQsXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgc3ltYm9sLFxuICAgICAgICAgICAgICAgICAgICBkZWNpbWFscyxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjaGFpbklkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGhpZGVTbmFja2Jhckl0ZW0gPSBudWxsO1xuICAgICAgICBjb25zdCBpZCA9ICgwLCB1dGlsXzEucmFuZG9tQnl0ZXNIZXgpKDgpO1xuICAgICAgICBjb25zdCBjYW5jZWwgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHVibGlzaFdlYjNSZXF1ZXN0Q2FuY2VsZWRFdmVudChpZCk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoaWQsIHJlcXVlc3QubWV0aG9kLCBlcnJvcik7XG4gICAgICAgICAgICBoaWRlU25hY2tiYXJJdGVtID09PSBudWxsIHx8IGhpZGVTbmFja2Jhckl0ZW0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGhpZGVTbmFja2Jhckl0ZW0oKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCF0aGlzLnVpLmlubGluZVdhdGNoQXNzZXQoKSkge1xuICAgICAgICAgICAgaGlkZVNuYWNrYmFySXRlbSA9IHRoaXMudWkuc2hvd0Nvbm5lY3Rpbmcoe1xuICAgICAgICAgICAgICAgIGlzVW5saW5rZWRFcnJvclN0YXRlOiB0aGlzLmlzVW5saW5rZWRFcnJvclN0YXRlLFxuICAgICAgICAgICAgICAgIG9uQ2FuY2VsOiBjYW5jZWwsXG4gICAgICAgICAgICAgICAgb25SZXNldENvbm5lY3Rpb246IHRoaXMucmVzZXRBbmRSZWxvYWQsIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWxheUV2ZW50TWFuYWdlci5jYWxsYmFja3Muc2V0KGlkLCByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaGlkZVNuYWNrYmFySXRlbSA9PT0gbnVsbCB8fCBoaWRlU25hY2tiYXJJdGVtID09PSB2b2lkIDAgPyB2b2lkIDAgOiBoaWRlU25hY2tiYXJJdGVtKCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihyZXNwb25zZS5lcnJvck1lc3NhZ2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IF9jYW5jZWwgPSAoX2Vycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVXZWIzUmVzcG9uc2VNZXNzYWdlKCgwLCBXZWIzUmVzcG9uc2VNZXNzYWdlXzEuV2ViM1Jlc3BvbnNlTWVzc2FnZSkoe1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6ICgwLCBXZWIzUmVzcG9uc2VfMS5XYXRjaEFzc2V0UmVwb25zZSkoZmFsc2UpLFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBhcHByb3ZlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOiAoMCwgV2ViM1Jlc3BvbnNlXzEuV2F0Y2hBc3NldFJlcG9uc2UpKHRydWUpLFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodGhpcy51aS5pbmxpbmVXYXRjaEFzc2V0KCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVpLndhdGNoQXNzZXQoe1xuICAgICAgICAgICAgICAgICAgICBvbkFwcHJvdmU6IGFwcHJvdmUsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsOiBfY2FuY2VsLFxuICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICBzeW1ib2wsXG4gICAgICAgICAgICAgICAgICAgIGRlY2ltYWxzLFxuICAgICAgICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy51aS5pbmxpbmVXYXRjaEFzc2V0KCkgJiYgIXRoaXMudWkuaXNTdGFuZGFsb25lKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1Ymxpc2hXZWIzUmVxdWVzdEV2ZW50KGlkLCByZXF1ZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IGNhbmNlbCwgcHJvbWlzZSB9O1xuICAgIH1cbiAgICBhZGRFdGhlcmV1bUNoYWluKGNoYWluSWQsIHJwY1VybHMsIGljb25VcmxzLCBibG9ja0V4cGxvcmVyVXJscywgY2hhaW5OYW1lLCBuYXRpdmVDdXJyZW5jeSkge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgICAgICAgbWV0aG9kOiBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5hZGRFdGhlcmV1bUNoYWluLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgICAgICAgICBycGNVcmxzLFxuICAgICAgICAgICAgICAgIGJsb2NrRXhwbG9yZXJVcmxzLFxuICAgICAgICAgICAgICAgIGNoYWluTmFtZSxcbiAgICAgICAgICAgICAgICBpY29uVXJscyxcbiAgICAgICAgICAgICAgICBuYXRpdmVDdXJyZW5jeSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGxldCBoaWRlU25hY2tiYXJJdGVtID0gbnVsbDtcbiAgICAgICAgY29uc3QgaWQgPSAoMCwgdXRpbF8xLnJhbmRvbUJ5dGVzSGV4KSg4KTtcbiAgICAgICAgY29uc3QgY2FuY2VsID0gKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnB1Ymxpc2hXZWIzUmVxdWVzdENhbmNlbGVkRXZlbnQoaWQpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGlkLCByZXF1ZXN0Lm1ldGhvZCwgZXJyb3IpO1xuICAgICAgICAgICAgaGlkZVNuYWNrYmFySXRlbSA9PT0gbnVsbCB8fCBoaWRlU25hY2tiYXJJdGVtID09PSB2b2lkIDAgPyB2b2lkIDAgOiBoaWRlU25hY2tiYXJJdGVtKCk7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghdGhpcy51aS5pbmxpbmVBZGRFdGhlcmV1bUNoYWluKGNoYWluSWQpKSB7XG4gICAgICAgICAgICBoaWRlU25hY2tiYXJJdGVtID0gdGhpcy51aS5zaG93Q29ubmVjdGluZyh7XG4gICAgICAgICAgICAgICAgaXNVbmxpbmtlZEVycm9yU3RhdGU6IHRoaXMuaXNVbmxpbmtlZEVycm9yU3RhdGUsXG4gICAgICAgICAgICAgICAgb25DYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgICAgICAgICBvblJlc2V0Q29ubmVjdGlvbjogdGhpcy5yZXNldEFuZFJlbG9hZCwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2RcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbGF5RXZlbnRNYW5hZ2VyLmNhbGxiYWNrcy5zZXQoaWQsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBoaWRlU25hY2tiYXJJdGVtID09PSBudWxsIHx8IGhpZGVTbmFja2Jhckl0ZW0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGhpZGVTbmFja2Jhckl0ZW0oKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKHJlc3BvbnNlLmVycm9yTWVzc2FnZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgX2NhbmNlbCA9IChfZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVdlYjNSZXNwb25zZU1lc3NhZ2UoKDAsIFdlYjNSZXNwb25zZU1lc3NhZ2VfMS5XZWIzUmVzcG9uc2VNZXNzYWdlKSh7XG4gICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZTogKDAsIFdlYjNSZXNwb25zZV8xLkFkZEV0aGVyZXVtQ2hhaW5SZXNwb25zZSkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNBcHByb3ZlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBycGNVcmw6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBhcHByb3ZlID0gKHJwY1VybCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOiAoMCwgV2ViM1Jlc3BvbnNlXzEuQWRkRXRoZXJldW1DaGFpblJlc3BvbnNlKSh7IGlzQXBwcm92ZWQ6IHRydWUsIHJwY1VybCB9KSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRoaXMudWkuaW5saW5lQWRkRXRoZXJldW1DaGFpbihjaGFpbklkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudWkuYWRkRXRoZXJldW1DaGFpbih7XG4gICAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsOiBfY2FuY2VsLFxuICAgICAgICAgICAgICAgICAgICBvbkFwcHJvdmU6IGFwcHJvdmUsXG4gICAgICAgICAgICAgICAgICAgIGNoYWluSWQ6IHJlcXVlc3QucGFyYW1zLmNoYWluSWQsXG4gICAgICAgICAgICAgICAgICAgIHJwY1VybHM6IHJlcXVlc3QucGFyYW1zLnJwY1VybHMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiByZXF1ZXN0LnBhcmFtcy5ibG9ja0V4cGxvcmVyVXJscyxcbiAgICAgICAgICAgICAgICAgICAgY2hhaW5OYW1lOiByZXF1ZXN0LnBhcmFtcy5jaGFpbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGljb25VcmxzOiByZXF1ZXN0LnBhcmFtcy5pY29uVXJscyxcbiAgICAgICAgICAgICAgICAgICAgbmF0aXZlQ3VycmVuY3k6IHJlcXVlc3QucGFyYW1zLm5hdGl2ZUN1cnJlbmN5LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLnVpLmlubGluZUFkZEV0aGVyZXVtQ2hhaW4oY2hhaW5JZCkgJiYgIXRoaXMudWkuaXNTdGFuZGFsb25lKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnB1Ymxpc2hXZWIzUmVxdWVzdEV2ZW50KGlkLCByZXF1ZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IHByb21pc2UsIGNhbmNlbCB9O1xuICAgIH1cbiAgICBzd2l0Y2hFdGhlcmV1bUNoYWluKGNoYWluSWQsIGFkZHJlc3MpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgICAgICAgIG1ldGhvZDogV2ViM01ldGhvZF8xLldlYjNNZXRob2Quc3dpdGNoRXRoZXJldW1DaGFpbixcbiAgICAgICAgICAgIHBhcmFtczogT2JqZWN0LmFzc2lnbih7IGNoYWluSWQgfSwgeyBhZGRyZXNzIH0pLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBpZCA9ICgwLCB1dGlsXzEucmFuZG9tQnl0ZXNIZXgpKDgpO1xuICAgICAgICBjb25zdCBjYW5jZWwgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHVibGlzaFdlYjNSZXF1ZXN0Q2FuY2VsZWRFdmVudChpZCk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoaWQsIHJlcXVlc3QubWV0aG9kLCBlcnJvcik7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbGF5RXZlbnRNYW5hZ2VyLmNhbGxiYWNrcy5zZXQoaWQsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIFdlYjNSZXNwb25zZV8xLmlzRXJyb3JSZXNwb25zZSkocmVzcG9uc2UpICYmIHJlc3BvbnNlLmVycm9yQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnByb3ZpZGVyLmN1c3RvbSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiByZXNwb25zZS5lcnJvckNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVW5yZWNvZ25pemVkIGNoYWluIElELiBUcnkgYWRkaW5nIHRoZSBjaGFpbiB1c2luZyBhZGRFdGhlcmV1bUNoYWluIGZpcnN0LmAsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2UuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKHJlc3BvbnNlLmVycm9yTWVzc2FnZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgX2NhbmNlbCA9IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvckNvZGUgPSAoX2EgPSAoMCwgZXJyb3JzXzEuZ2V0RXJyb3JDb2RlKShlcnJvcikpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGVycm9yc18xLnN0YW5kYXJkRXJyb3JDb2Rlcy5wcm92aWRlci51bnN1cHBvcnRlZENoYWluO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoaWQsIFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnN3aXRjaEV0aGVyZXVtQ2hhaW4sIGVycm9yIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucHJvdmlkZXIudW5zdXBwb3J0ZWRDaGFpbihjaGFpbklkKSwgZXJyb3JDb2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6ICgwLCBXZWIzUmVzcG9uc2VfMS5Td2l0Y2hFdGhlcmV1bUNoYWluUmVzcG9uc2UpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FwcHJvdmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBycGNVcmw6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBhcHByb3ZlID0gKHJwY1VybCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOiAoMCwgV2ViM1Jlc3BvbnNlXzEuU3dpdGNoRXRoZXJldW1DaGFpblJlc3BvbnNlKSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FwcHJvdmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcnBjVXJsLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy51aS5zd2l0Y2hFdGhlcmV1bUNoYWluKHtcbiAgICAgICAgICAgICAgICBvbkNhbmNlbDogX2NhbmNlbCxcbiAgICAgICAgICAgICAgICBvbkFwcHJvdmU6IGFwcHJvdmUsXG4gICAgICAgICAgICAgICAgY2hhaW5JZDogcmVxdWVzdC5wYXJhbXMuY2hhaW5JZCxcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiByZXF1ZXN0LnBhcmFtcy5hZGRyZXNzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMudWkuaW5saW5lU3dpdGNoRXRoZXJldW1DaGFpbigpICYmICF0aGlzLnVpLmlzU3RhbmRhbG9uZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWJsaXNoV2ViM1JlcXVlc3RFdmVudChpZCwgcmVxdWVzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyBwcm9taXNlLCBjYW5jZWwgfTtcbiAgICB9XG4gICAgaW5saW5lQWRkRXRoZXJldW1DaGFpbihjaGFpbklkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVpLmlubGluZUFkZEV0aGVyZXVtQ2hhaW4oY2hhaW5JZCk7XG4gICAgfVxuICAgIGdldFNlc3Npb25JZEhhc2goKSB7XG4gICAgICAgIHJldHVybiBTZXNzaW9uXzEuU2Vzc2lvbi5oYXNoKHRoaXMuX3Nlc3Npb24uaWQpO1xuICAgIH1cbiAgICBzZW5kUmVxdWVzdFN0YW5kYWxvbmUoaWQsIHJlcXVlc3QpIHtcbiAgICAgICAgY29uc3QgX2NhbmNlbCA9IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGlkLCByZXF1ZXN0Lm1ldGhvZCwgZXJyb3IpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBvblN1Y2Nlc3MgPSAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlV2ViM1Jlc3BvbnNlTWVzc2FnZSgoMCwgV2ViM1Jlc3BvbnNlTWVzc2FnZV8xLldlYjNSZXNwb25zZU1lc3NhZ2UpKHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfTtcbiAgICAgICAgc3dpdGNoIChyZXF1ZXN0Lm1ldGhvZCkge1xuICAgICAgICAgICAgY2FzZSBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5zaWduRXRoZXJldW1NZXNzYWdlOlxuICAgICAgICAgICAgICAgIHRoaXMudWkuc2lnbkV0aGVyZXVtTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgICAgICAgICAgIG9uU3VjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw6IF9jYW5jZWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uOlxuICAgICAgICAgICAgICAgIHRoaXMudWkuc2lnbkV0aGVyZXVtVHJhbnNhY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgICAgICAgICBvblN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsOiBfY2FuY2VsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5zdWJtaXRFdGhlcmV1bVRyYW5zYWN0aW9uOlxuICAgICAgICAgICAgICAgIHRoaXMudWkuc3VibWl0RXRoZXJldW1UcmFuc2FjdGlvbih7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgICAgICAgICAgIG9uU3VjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw6IF9jYW5jZWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLmV0aGVyZXVtQWRkcmVzc0Zyb21TaWduZWRNZXNzYWdlOlxuICAgICAgICAgICAgICAgIHRoaXMudWkuZXRoZXJldW1BZGRyZXNzRnJvbVNpZ25lZE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgICAgICAgICBvblN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIF9jYW5jZWwoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBvblNlc3Npb25Db25maWdDaGFuZ2VkKF9uZXh0U2Vzc2lvbkNvbmZpZykgeyB9XG59XG5XYWxsZXRTREtSZWxheS5hY2NvdW50UmVxdWVzdENhbGxiYWNrSWRzID0gbmV3IFNldCgpO1xuX19kZWNvcmF0ZShbXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XG5dLCBXYWxsZXRTREtSZWxheS5wcm90b3R5cGUsIFwicmVzZXRBbmRSZWxvYWRcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICBiaW5kX2RlY29yYXRvcl8xLmRlZmF1bHRcbl0sIFdhbGxldFNES1JlbGF5LnByb3RvdHlwZSwgXCJoYW5kbGVJbmNvbWluZ0V2ZW50XCIsIG51bGwpO1xuZXhwb3J0cy5XYWxsZXRTREtSZWxheSA9IFdhbGxldFNES1JlbGF5O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelay.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayAbstract.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayAbstract.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WalletSDKRelayAbstract = exports.APP_VERSION_KEY = exports.LOCAL_STORAGE_ADDRESSES_KEY = exports.WALLET_USER_NAME_KEY = void 0;\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/@coinbase/wallet-sdk/dist/errors.js\");\nexports.WALLET_USER_NAME_KEY = \"walletUsername\";\nexports.LOCAL_STORAGE_ADDRESSES_KEY = \"Addresses\";\nexports.APP_VERSION_KEY = \"AppVersion\";\nclass WalletSDKRelayAbstract {\n async makeEthereumJSONRPCRequest(request, jsonRpcUrl) {\n if (!jsonRpcUrl)\n throw new Error(\"Error: No jsonRpcUrl provided\");\n return window\n .fetch(jsonRpcUrl, {\n method: \"POST\",\n body: JSON.stringify(request),\n mode: \"cors\",\n headers: { \"Content-Type\": \"application/json\" },\n })\n .then(res => res.json())\n .then(json => {\n if (!json) {\n throw errors_1.standardErrors.rpc.parse({});\n }\n const response = json;\n const { error } = response;\n if (error) {\n throw (0, errors_1.serializeError)(error, request.method);\n }\n return response;\n });\n }\n}\nexports.WalletSDKRelayAbstract = WalletSDKRelayAbstract;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XYWxsZXRTREtSZWxheUFic3RyYWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDhCQUE4QixHQUFHLHVCQUF1QixHQUFHLG1DQUFtQyxHQUFHLDRCQUE0QjtBQUM3SCxpQkFBaUIsbUJBQU8sQ0FBQyxxRUFBVztBQUNwQyw0QkFBNEI7QUFDNUIsbUNBQW1DO0FBQ25DLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsb0NBQW9DO0FBQzNELFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwwREFBMEQ7QUFDMUQ7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw4QkFBOEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvcmVsYXkvV2FsbGV0U0RLUmVsYXlBYnN0cmFjdC5qcz84ZDM1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5XYWxsZXRTREtSZWxheUFic3RyYWN0ID0gZXhwb3J0cy5BUFBfVkVSU0lPTl9LRVkgPSBleHBvcnRzLkxPQ0FMX1NUT1JBR0VfQUREUkVTU0VTX0tFWSA9IGV4cG9ydHMuV0FMTEVUX1VTRVJfTkFNRV9LRVkgPSB2b2lkIDA7XG5jb25zdCBlcnJvcnNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnNcIik7XG5leHBvcnRzLldBTExFVF9VU0VSX05BTUVfS0VZID0gXCJ3YWxsZXRVc2VybmFtZVwiO1xuZXhwb3J0cy5MT0NBTF9TVE9SQUdFX0FERFJFU1NFU19LRVkgPSBcIkFkZHJlc3Nlc1wiO1xuZXhwb3J0cy5BUFBfVkVSU0lPTl9LRVkgPSBcIkFwcFZlcnNpb25cIjtcbmNsYXNzIFdhbGxldFNES1JlbGF5QWJzdHJhY3Qge1xuICAgIGFzeW5jIG1ha2VFdGhlcmV1bUpTT05SUENSZXF1ZXN0KHJlcXVlc3QsIGpzb25ScGNVcmwpIHtcbiAgICAgICAgaWYgKCFqc29uUnBjVXJsKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXJyb3I6IE5vIGpzb25ScGNVcmwgcHJvdmlkZWRcIik7XG4gICAgICAgIHJldHVybiB3aW5kb3dcbiAgICAgICAgICAgIC5mZXRjaChqc29uUnBjVXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocmVxdWVzdCksXG4gICAgICAgICAgICBtb2RlOiBcImNvcnNcIixcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiByZXMuanNvbigpKVxuICAgICAgICAgICAgLnRoZW4oanNvbiA9PiB7XG4gICAgICAgICAgICBpZiAoIWpzb24pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMucGFyc2Uoe30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBqc29uO1xuICAgICAgICAgICAgY29uc3QgeyBlcnJvciB9ID0gcmVzcG9uc2U7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyAoMCwgZXJyb3JzXzEuc2VyaWFsaXplRXJyb3IpKGVycm9yLCByZXF1ZXN0Lm1ldGhvZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuV2FsbGV0U0RLUmVsYXlBYnN0cmFjdCA9IFdhbGxldFNES1JlbGF5QWJzdHJhY3Q7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayAbstract.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayEventManager.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayEventManager.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WalletSDKRelayEventManager = void 0;\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\nclass WalletSDKRelayEventManager {\n constructor() {\n this._nextRequestId = 0;\n this.callbacks = new Map();\n }\n makeRequestId() {\n // max nextId == max int32 for compatibility with mobile\n this._nextRequestId = (this._nextRequestId + 1) % 0x7fffffff;\n const id = this._nextRequestId;\n const idStr = (0, util_1.prepend0x)(id.toString(16));\n // unlikely that this will ever be an issue, but just to be safe\n const callback = this.callbacks.get(idStr);\n if (callback) {\n this.callbacks.delete(idStr);\n }\n return id;\n }\n}\nexports.WalletSDKRelayEventManager = WalletSDKRelayEventManager;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XYWxsZXRTREtSZWxheUV2ZW50TWFuYWdlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQ0FBa0M7QUFDbEMsZUFBZSxtQkFBTyxDQUFDLGlFQUFTO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XYWxsZXRTREtSZWxheUV2ZW50TWFuYWdlci5qcz8zZTIzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5XYWxsZXRTREtSZWxheUV2ZW50TWFuYWdlciA9IHZvaWQgMDtcbmNvbnN0IHV0aWxfMSA9IHJlcXVpcmUoXCIuLi91dGlsXCIpO1xuY2xhc3MgV2FsbGV0U0RLUmVsYXlFdmVudE1hbmFnZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9uZXh0UmVxdWVzdElkID0gMDtcbiAgICAgICAgdGhpcy5jYWxsYmFja3MgPSBuZXcgTWFwKCk7XG4gICAgfVxuICAgIG1ha2VSZXF1ZXN0SWQoKSB7XG4gICAgICAgIC8vIG1heCBuZXh0SWQgPT0gbWF4IGludDMyIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbW9iaWxlXG4gICAgICAgIHRoaXMuX25leHRSZXF1ZXN0SWQgPSAodGhpcy5fbmV4dFJlcXVlc3RJZCArIDEpICUgMHg3ZmZmZmZmZjtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLl9uZXh0UmVxdWVzdElkO1xuICAgICAgICBjb25zdCBpZFN0ciA9ICgwLCB1dGlsXzEucHJlcGVuZDB4KShpZC50b1N0cmluZygxNikpO1xuICAgICAgICAvLyB1bmxpa2VseSB0aGF0IHRoaXMgd2lsbCBldmVyIGJlIGFuIGlzc3VlLCBidXQganVzdCB0byBiZSBzYWZlXG4gICAgICAgIGNvbnN0IGNhbGxiYWNrID0gdGhpcy5jYWxsYmFja3MuZ2V0KGlkU3RyKTtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGxiYWNrcy5kZWxldGUoaWRTdHIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZDtcbiAgICB9XG59XG5leHBvcnRzLldhbGxldFNES1JlbGF5RXZlbnRNYW5hZ2VyID0gV2FsbGV0U0RLUmVsYXlFdmVudE1hbmFnZXI7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/WalletSDKRelayEventManager.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Method.js": -/*!********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Method.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Web3Method = void 0;\nvar Web3Method;\n(function (Web3Method) {\n Web3Method[\"requestEthereumAccounts\"] = \"requestEthereumAccounts\";\n Web3Method[\"signEthereumMessage\"] = \"signEthereumMessage\";\n Web3Method[\"signEthereumTransaction\"] = \"signEthereumTransaction\";\n Web3Method[\"submitEthereumTransaction\"] = \"submitEthereumTransaction\";\n Web3Method[\"ethereumAddressFromSignedMessage\"] = \"ethereumAddressFromSignedMessage\";\n Web3Method[\"scanQRCode\"] = \"scanQRCode\";\n Web3Method[\"generic\"] = \"generic\";\n Web3Method[\"childRequestEthereumAccounts\"] = \"childRequestEthereumAccounts\";\n Web3Method[\"addEthereumChain\"] = \"addEthereumChain\";\n Web3Method[\"switchEthereumChain\"] = \"switchEthereumChain\";\n Web3Method[\"makeEthereumJSONRPCRequest\"] = \"makeEthereumJSONRPCRequest\";\n Web3Method[\"watchAsset\"] = \"watchAsset\";\n Web3Method[\"selectProvider\"] = \"selectProvider\";\n})(Web3Method = exports.Web3Method || (exports.Web3Method = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzTWV0aG9kLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxzQ0FBc0Msa0JBQWtCLEtBQUsiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvcmVsYXkvV2ViM01ldGhvZC5qcz84M2M4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLldlYjNNZXRob2QgPSB2b2lkIDA7XG52YXIgV2ViM01ldGhvZDtcbihmdW5jdGlvbiAoV2ViM01ldGhvZCkge1xuICAgIFdlYjNNZXRob2RbXCJyZXF1ZXN0RXRoZXJldW1BY2NvdW50c1wiXSA9IFwicmVxdWVzdEV0aGVyZXVtQWNjb3VudHNcIjtcbiAgICBXZWIzTWV0aG9kW1wic2lnbkV0aGVyZXVtTWVzc2FnZVwiXSA9IFwic2lnbkV0aGVyZXVtTWVzc2FnZVwiO1xuICAgIFdlYjNNZXRob2RbXCJzaWduRXRoZXJldW1UcmFuc2FjdGlvblwiXSA9IFwic2lnbkV0aGVyZXVtVHJhbnNhY3Rpb25cIjtcbiAgICBXZWIzTWV0aG9kW1wic3VibWl0RXRoZXJldW1UcmFuc2FjdGlvblwiXSA9IFwic3VibWl0RXRoZXJldW1UcmFuc2FjdGlvblwiO1xuICAgIFdlYjNNZXRob2RbXCJldGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZVwiXSA9IFwiZXRoZXJldW1BZGRyZXNzRnJvbVNpZ25lZE1lc3NhZ2VcIjtcbiAgICBXZWIzTWV0aG9kW1wic2NhblFSQ29kZVwiXSA9IFwic2NhblFSQ29kZVwiO1xuICAgIFdlYjNNZXRob2RbXCJnZW5lcmljXCJdID0gXCJnZW5lcmljXCI7XG4gICAgV2ViM01ldGhvZFtcImNoaWxkUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNcIl0gPSBcImNoaWxkUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNcIjtcbiAgICBXZWIzTWV0aG9kW1wiYWRkRXRoZXJldW1DaGFpblwiXSA9IFwiYWRkRXRoZXJldW1DaGFpblwiO1xuICAgIFdlYjNNZXRob2RbXCJzd2l0Y2hFdGhlcmV1bUNoYWluXCJdID0gXCJzd2l0Y2hFdGhlcmV1bUNoYWluXCI7XG4gICAgV2ViM01ldGhvZFtcIm1ha2VFdGhlcmV1bUpTT05SUENSZXF1ZXN0XCJdID0gXCJtYWtlRXRoZXJldW1KU09OUlBDUmVxdWVzdFwiO1xuICAgIFdlYjNNZXRob2RbXCJ3YXRjaEFzc2V0XCJdID0gXCJ3YXRjaEFzc2V0XCI7XG4gICAgV2ViM01ldGhvZFtcInNlbGVjdFByb3ZpZGVyXCJdID0gXCJzZWxlY3RQcm92aWRlclwiO1xufSkoV2ViM01ldGhvZCA9IGV4cG9ydHMuV2ViM01ldGhvZCB8fCAoZXhwb3J0cy5XZWIzTWV0aG9kID0ge30pKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Method.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestCanceledMessage.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestCanceledMessage.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Web3RequestCanceledMessage = void 0;\nconst RelayMessage_1 = __webpack_require__(/*! ./RelayMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/RelayMessage.js\");\nfunction Web3RequestCanceledMessage(id) {\n return { type: RelayMessage_1.RelayMessageType.WEB3_REQUEST_CANCELED, id };\n}\nexports.Web3RequestCanceledMessage = Web3RequestCanceledMessage;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzUmVxdWVzdENhbmNlbGVkTWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0NBQWtDO0FBQ2xDLHVCQUF1QixtQkFBTyxDQUFDLHNGQUFnQjtBQUMvQztBQUNBLGFBQWE7QUFDYjtBQUNBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzUmVxdWVzdENhbmNlbGVkTWVzc2FnZS5qcz9iMTA2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLldlYjNSZXF1ZXN0Q2FuY2VsZWRNZXNzYWdlID0gdm9pZCAwO1xuY29uc3QgUmVsYXlNZXNzYWdlXzEgPSByZXF1aXJlKFwiLi9SZWxheU1lc3NhZ2VcIik7XG5mdW5jdGlvbiBXZWIzUmVxdWVzdENhbmNlbGVkTWVzc2FnZShpZCkge1xuICAgIHJldHVybiB7IHR5cGU6IFJlbGF5TWVzc2FnZV8xLlJlbGF5TWVzc2FnZVR5cGUuV0VCM19SRVFVRVNUX0NBTkNFTEVELCBpZCB9O1xufVxuZXhwb3J0cy5XZWIzUmVxdWVzdENhbmNlbGVkTWVzc2FnZSA9IFdlYjNSZXF1ZXN0Q2FuY2VsZWRNZXNzYWdlO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestCanceledMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestMessage.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestMessage.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Web3RequestMessage = void 0;\nconst RelayMessage_1 = __webpack_require__(/*! ./RelayMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/RelayMessage.js\");\nfunction Web3RequestMessage(params) {\n return Object.assign({ type: RelayMessage_1.RelayMessageType.WEB3_REQUEST }, params);\n}\nexports.Web3RequestMessage = Web3RequestMessage;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzUmVxdWVzdE1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQjtBQUMxQix1QkFBdUIsbUJBQU8sQ0FBQyxzRkFBZ0I7QUFDL0M7QUFDQSwyQkFBMkIsb0RBQW9EO0FBQy9FO0FBQ0EsMEJBQTBCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AY29pbmJhc2Uvd2FsbGV0LXNkay9kaXN0L3JlbGF5L1dlYjNSZXF1ZXN0TWVzc2FnZS5qcz9mMDczIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLldlYjNSZXF1ZXN0TWVzc2FnZSA9IHZvaWQgMDtcbmNvbnN0IFJlbGF5TWVzc2FnZV8xID0gcmVxdWlyZShcIi4vUmVsYXlNZXNzYWdlXCIpO1xuZnVuY3Rpb24gV2ViM1JlcXVlc3RNZXNzYWdlKHBhcmFtcykge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdHlwZTogUmVsYXlNZXNzYWdlXzEuUmVsYXlNZXNzYWdlVHlwZS5XRUIzX1JFUVVFU1QgfSwgcGFyYW1zKTtcbn1cbmV4cG9ydHMuV2ViM1JlcXVlc3RNZXNzYWdlID0gV2ViM1JlcXVlc3RNZXNzYWdlO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/Web3RequestMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Response.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Response.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EthereumAddressFromSignedMessageResponse = exports.SubmitEthereumTransactionResponse = exports.SignEthereumTransactionResponse = exports.SignEthereumMessageResponse = exports.isRequestEthereumAccountsResponse = exports.SelectProviderResponse = exports.WatchAssetReponse = exports.RequestEthereumAccountsResponse = exports.SwitchEthereumChainResponse = exports.AddEthereumChainResponse = exports.isErrorResponse = void 0;\nconst Web3Method_1 = __webpack_require__(/*! ./Web3Method */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Method.js\");\nfunction isErrorResponse(response) {\n var _a, _b;\n return (((_a = response) === null || _a === void 0 ? void 0 : _a.method) !== undefined &&\n ((_b = response) === null || _b === void 0 ? void 0 : _b.errorMessage) !== undefined);\n}\nexports.isErrorResponse = isErrorResponse;\nfunction AddEthereumChainResponse(addResponse) {\n return {\n method: Web3Method_1.Web3Method.addEthereumChain,\n result: addResponse,\n };\n}\nexports.AddEthereumChainResponse = AddEthereumChainResponse;\nfunction SwitchEthereumChainResponse(switchResponse) {\n return {\n method: Web3Method_1.Web3Method.switchEthereumChain,\n result: switchResponse,\n };\n}\nexports.SwitchEthereumChainResponse = SwitchEthereumChainResponse;\nfunction RequestEthereumAccountsResponse(addresses) {\n return { method: Web3Method_1.Web3Method.requestEthereumAccounts, result: addresses };\n}\nexports.RequestEthereumAccountsResponse = RequestEthereumAccountsResponse;\nfunction WatchAssetReponse(success) {\n return { method: Web3Method_1.Web3Method.watchAsset, result: success };\n}\nexports.WatchAssetReponse = WatchAssetReponse;\nfunction SelectProviderResponse(selectedProviderKey) {\n return { method: Web3Method_1.Web3Method.selectProvider, result: selectedProviderKey };\n}\nexports.SelectProviderResponse = SelectProviderResponse;\nfunction isRequestEthereumAccountsResponse(res) {\n return res && res.method === Web3Method_1.Web3Method.requestEthereumAccounts;\n}\nexports.isRequestEthereumAccountsResponse = isRequestEthereumAccountsResponse;\nfunction SignEthereumMessageResponse(signature) {\n return { method: Web3Method_1.Web3Method.signEthereumMessage, result: signature };\n}\nexports.SignEthereumMessageResponse = SignEthereumMessageResponse;\nfunction SignEthereumTransactionResponse(signedData) {\n return { method: Web3Method_1.Web3Method.signEthereumTransaction, result: signedData };\n}\nexports.SignEthereumTransactionResponse = SignEthereumTransactionResponse;\nfunction SubmitEthereumTransactionResponse(txHash) {\n return { method: Web3Method_1.Web3Method.submitEthereumTransaction, result: txHash };\n}\nexports.SubmitEthereumTransactionResponse = SubmitEthereumTransactionResponse;\nfunction EthereumAddressFromSignedMessageResponse(address) {\n return {\n method: Web3Method_1.Web3Method.ethereumAddressFromSignedMessage,\n result: address,\n };\n}\nexports.EthereumAddressFromSignedMessageResponse = EthereumAddressFromSignedMessageResponse;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzUmVzcG9uc2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdEQUFnRCxHQUFHLHlDQUF5QyxHQUFHLHVDQUF1QyxHQUFHLG1DQUFtQyxHQUFHLHlDQUF5QyxHQUFHLDhCQUE4QixHQUFHLHlCQUF5QixHQUFHLHVDQUF1QyxHQUFHLG1DQUFtQyxHQUFHLGdDQUFnQyxHQUFHLHVCQUF1QjtBQUNsYSxxQkFBcUIsbUJBQU8sQ0FBQyxrRkFBYztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQSxhQUFhO0FBQ2I7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQSxhQUFhO0FBQ2I7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxhQUFhO0FBQ2I7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0EsYUFBYTtBQUNiO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzUmVzcG9uc2UuanM/ZGI4NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5FdGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZVJlc3BvbnNlID0gZXhwb3J0cy5TdWJtaXRFdGhlcmV1bVRyYW5zYWN0aW9uUmVzcG9uc2UgPSBleHBvcnRzLlNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uUmVzcG9uc2UgPSBleHBvcnRzLlNpZ25FdGhlcmV1bU1lc3NhZ2VSZXNwb25zZSA9IGV4cG9ydHMuaXNSZXF1ZXN0RXRoZXJldW1BY2NvdW50c1Jlc3BvbnNlID0gZXhwb3J0cy5TZWxlY3RQcm92aWRlclJlc3BvbnNlID0gZXhwb3J0cy5XYXRjaEFzc2V0UmVwb25zZSA9IGV4cG9ydHMuUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNSZXNwb25zZSA9IGV4cG9ydHMuU3dpdGNoRXRoZXJldW1DaGFpblJlc3BvbnNlID0gZXhwb3J0cy5BZGRFdGhlcmV1bUNoYWluUmVzcG9uc2UgPSBleHBvcnRzLmlzRXJyb3JSZXNwb25zZSA9IHZvaWQgMDtcbmNvbnN0IFdlYjNNZXRob2RfMSA9IHJlcXVpcmUoXCIuL1dlYjNNZXRob2RcIik7XG5mdW5jdGlvbiBpc0Vycm9yUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoKChfYSA9IHJlc3BvbnNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubWV0aG9kKSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICgoX2IgPSByZXNwb25zZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmVycm9yTWVzc2FnZSkgIT09IHVuZGVmaW5lZCk7XG59XG5leHBvcnRzLmlzRXJyb3JSZXNwb25zZSA9IGlzRXJyb3JSZXNwb25zZTtcbmZ1bmN0aW9uIEFkZEV0aGVyZXVtQ2hhaW5SZXNwb25zZShhZGRSZXNwb25zZSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1ldGhvZDogV2ViM01ldGhvZF8xLldlYjNNZXRob2QuYWRkRXRoZXJldW1DaGFpbixcbiAgICAgICAgcmVzdWx0OiBhZGRSZXNwb25zZSxcbiAgICB9O1xufVxuZXhwb3J0cy5BZGRFdGhlcmV1bUNoYWluUmVzcG9uc2UgPSBBZGRFdGhlcmV1bUNoYWluUmVzcG9uc2U7XG5mdW5jdGlvbiBTd2l0Y2hFdGhlcmV1bUNoYWluUmVzcG9uc2Uoc3dpdGNoUmVzcG9uc2UpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnN3aXRjaEV0aGVyZXVtQ2hhaW4sXG4gICAgICAgIHJlc3VsdDogc3dpdGNoUmVzcG9uc2UsXG4gICAgfTtcbn1cbmV4cG9ydHMuU3dpdGNoRXRoZXJldW1DaGFpblJlc3BvbnNlID0gU3dpdGNoRXRoZXJldW1DaGFpblJlc3BvbnNlO1xuZnVuY3Rpb24gUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNSZXNwb25zZShhZGRyZXNzZXMpIHtcbiAgICByZXR1cm4geyBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnJlcXVlc3RFdGhlcmV1bUFjY291bnRzLCByZXN1bHQ6IGFkZHJlc3NlcyB9O1xufVxuZXhwb3J0cy5SZXF1ZXN0RXRoZXJldW1BY2NvdW50c1Jlc3BvbnNlID0gUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNSZXNwb25zZTtcbmZ1bmN0aW9uIFdhdGNoQXNzZXRSZXBvbnNlKHN1Y2Nlc3MpIHtcbiAgICByZXR1cm4geyBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLndhdGNoQXNzZXQsIHJlc3VsdDogc3VjY2VzcyB9O1xufVxuZXhwb3J0cy5XYXRjaEFzc2V0UmVwb25zZSA9IFdhdGNoQXNzZXRSZXBvbnNlO1xuZnVuY3Rpb24gU2VsZWN0UHJvdmlkZXJSZXNwb25zZShzZWxlY3RlZFByb3ZpZGVyS2V5KSB7XG4gICAgcmV0dXJuIHsgbWV0aG9kOiBXZWIzTWV0aG9kXzEuV2ViM01ldGhvZC5zZWxlY3RQcm92aWRlciwgcmVzdWx0OiBzZWxlY3RlZFByb3ZpZGVyS2V5IH07XG59XG5leHBvcnRzLlNlbGVjdFByb3ZpZGVyUmVzcG9uc2UgPSBTZWxlY3RQcm92aWRlclJlc3BvbnNlO1xuZnVuY3Rpb24gaXNSZXF1ZXN0RXRoZXJldW1BY2NvdW50c1Jlc3BvbnNlKHJlcykge1xuICAgIHJldHVybiByZXMgJiYgcmVzLm1ldGhvZCA9PT0gV2ViM01ldGhvZF8xLldlYjNNZXRob2QucmVxdWVzdEV0aGVyZXVtQWNjb3VudHM7XG59XG5leHBvcnRzLmlzUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNSZXNwb25zZSA9IGlzUmVxdWVzdEV0aGVyZXVtQWNjb3VudHNSZXNwb25zZTtcbmZ1bmN0aW9uIFNpZ25FdGhlcmV1bU1lc3NhZ2VSZXNwb25zZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4geyBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnNpZ25FdGhlcmV1bU1lc3NhZ2UsIHJlc3VsdDogc2lnbmF0dXJlIH07XG59XG5leHBvcnRzLlNpZ25FdGhlcmV1bU1lc3NhZ2VSZXNwb25zZSA9IFNpZ25FdGhlcmV1bU1lc3NhZ2VSZXNwb25zZTtcbmZ1bmN0aW9uIFNpZ25FdGhlcmV1bVRyYW5zYWN0aW9uUmVzcG9uc2Uoc2lnbmVkRGF0YSkge1xuICAgIHJldHVybiB7IG1ldGhvZDogV2ViM01ldGhvZF8xLldlYjNNZXRob2Quc2lnbkV0aGVyZXVtVHJhbnNhY3Rpb24sIHJlc3VsdDogc2lnbmVkRGF0YSB9O1xufVxuZXhwb3J0cy5TaWduRXRoZXJldW1UcmFuc2FjdGlvblJlc3BvbnNlID0gU2lnbkV0aGVyZXVtVHJhbnNhY3Rpb25SZXNwb25zZTtcbmZ1bmN0aW9uIFN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb25SZXNwb25zZSh0eEhhc2gpIHtcbiAgICByZXR1cm4geyBtZXRob2Q6IFdlYjNNZXRob2RfMS5XZWIzTWV0aG9kLnN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb24sIHJlc3VsdDogdHhIYXNoIH07XG59XG5leHBvcnRzLlN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb25SZXNwb25zZSA9IFN1Ym1pdEV0aGVyZXVtVHJhbnNhY3Rpb25SZXNwb25zZTtcbmZ1bmN0aW9uIEV0aGVyZXVtQWRkcmVzc0Zyb21TaWduZWRNZXNzYWdlUmVzcG9uc2UoYWRkcmVzcykge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1ldGhvZDogV2ViM01ldGhvZF8xLldlYjNNZXRob2QuZXRoZXJldW1BZGRyZXNzRnJvbVNpZ25lZE1lc3NhZ2UsXG4gICAgICAgIHJlc3VsdDogYWRkcmVzcyxcbiAgICB9O1xufVxuZXhwb3J0cy5FdGhlcmV1bUFkZHJlc3NGcm9tU2lnbmVkTWVzc2FnZVJlc3BvbnNlID0gRXRoZXJldW1BZGRyZXNzRnJvbVNpZ25lZE1lc3NhZ2VSZXNwb25zZTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/Web3Response.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/Web3ResponseMessage.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/Web3ResponseMessage.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isWeb3ResponseMessage = exports.Web3ResponseMessage = void 0;\nconst RelayMessage_1 = __webpack_require__(/*! ./RelayMessage */ \"./node_modules/@coinbase/wallet-sdk/dist/relay/RelayMessage.js\");\nfunction Web3ResponseMessage(params) {\n return Object.assign({ type: RelayMessage_1.RelayMessageType.WEB3_RESPONSE }, params);\n}\nexports.Web3ResponseMessage = Web3ResponseMessage;\nfunction isWeb3ResponseMessage(msg) {\n return msg && msg.type === RelayMessage_1.RelayMessageType.WEB3_RESPONSE;\n}\nexports.isWeb3ResponseMessage = isWeb3ResponseMessage;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9XZWIzUmVzcG9uc2VNZXNzYWdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw2QkFBNkIsR0FBRywyQkFBMkI7QUFDM0QsdUJBQXVCLG1CQUFPLENBQUMsc0ZBQWdCO0FBQy9DO0FBQ0EsMkJBQTJCLHFEQUFxRDtBQUNoRjtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvcmVsYXkvV2ViM1Jlc3BvbnNlTWVzc2FnZS5qcz80MGY4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmlzV2ViM1Jlc3BvbnNlTWVzc2FnZSA9IGV4cG9ydHMuV2ViM1Jlc3BvbnNlTWVzc2FnZSA9IHZvaWQgMDtcbmNvbnN0IFJlbGF5TWVzc2FnZV8xID0gcmVxdWlyZShcIi4vUmVsYXlNZXNzYWdlXCIpO1xuZnVuY3Rpb24gV2ViM1Jlc3BvbnNlTWVzc2FnZShwYXJhbXMpIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IHR5cGU6IFJlbGF5TWVzc2FnZV8xLlJlbGF5TWVzc2FnZVR5cGUuV0VCM19SRVNQT05TRSB9LCBwYXJhbXMpO1xufVxuZXhwb3J0cy5XZWIzUmVzcG9uc2VNZXNzYWdlID0gV2ViM1Jlc3BvbnNlTWVzc2FnZTtcbmZ1bmN0aW9uIGlzV2ViM1Jlc3BvbnNlTWVzc2FnZShtc2cpIHtcbiAgICByZXR1cm4gbXNnICYmIG1zZy50eXBlID09PSBSZWxheU1lc3NhZ2VfMS5SZWxheU1lc3NhZ2VUeXBlLldFQjNfUkVTUE9OU0U7XG59XG5leHBvcnRzLmlzV2ViM1Jlc3BvbnNlTWVzc2FnZSA9IGlzV2ViM1Jlc3BvbnNlTWVzc2FnZTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/Web3ResponseMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/relay/aes256gcm.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/relay/aes256gcm.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decrypt = exports.encrypt = void 0;\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/@coinbase/wallet-sdk/dist/util.js\");\n/**\n *\n * @param plainText string to be encrypted\n * @param secret hex representation of 32-byte secret\n * returns hex string representation of bytes in the order: initialization vector (iv),\n * auth tag, encrypted plaintext. IV is 12 bytes. Auth tag is 16 bytes. Remaining bytes are the\n * encrypted plainText.\n */\nasync function encrypt(plainText, secret) {\n if (secret.length !== 64)\n throw Error(`secret must be 256 bits`);\n const ivBytes = crypto.getRandomValues(new Uint8Array(12));\n const secretKey = await crypto.subtle.importKey(\"raw\", (0, util_1.hexStringToUint8Array)(secret), { name: \"aes-gcm\" }, false, [\"encrypt\", \"decrypt\"]);\n const enc = new TextEncoder();\n // Will return encrypted plainText with auth tag (ie MAC or checksum) appended at the end\n const encryptedResult = await window.crypto.subtle.encrypt({\n name: \"AES-GCM\",\n iv: ivBytes,\n }, secretKey, enc.encode(plainText));\n const tagLength = 16;\n const authTag = encryptedResult.slice(encryptedResult.byteLength - tagLength);\n const encryptedPlaintext = encryptedResult.slice(0, encryptedResult.byteLength - tagLength);\n const authTagBytes = new Uint8Array(authTag);\n const encryptedPlaintextBytes = new Uint8Array(encryptedPlaintext);\n const concatted = new Uint8Array([\n ...ivBytes,\n ...authTagBytes,\n ...encryptedPlaintextBytes,\n ]);\n return (0, util_1.uint8ArrayToHex)(concatted);\n}\nexports.encrypt = encrypt;\n/**\n *\n * @param cipherText hex string representation of bytes in the order: initialization vector (iv),\n * auth tag, encrypted plaintext. IV is 12 bytes. Auth tag is 16 bytes.\n * @param secret hex string representation of 32-byte secret\n */\nfunction decrypt(cipherText, secret) {\n if (secret.length !== 64)\n throw Error(`secret must be 256 bits`);\n return new Promise((resolve, reject) => {\n void (async function () {\n const secretKey = await crypto.subtle.importKey(\"raw\", (0, util_1.hexStringToUint8Array)(secret), { name: \"aes-gcm\" }, false, [\"encrypt\", \"decrypt\"]);\n const encrypted = (0, util_1.hexStringToUint8Array)(cipherText);\n const ivBytes = encrypted.slice(0, 12);\n const authTagBytes = encrypted.slice(12, 28);\n const encryptedPlaintextBytes = encrypted.slice(28);\n const concattedBytes = new Uint8Array([\n ...encryptedPlaintextBytes,\n ...authTagBytes,\n ]);\n const algo = {\n name: \"AES-GCM\",\n iv: new Uint8Array(ivBytes),\n };\n try {\n const decrypted = await window.crypto.subtle.decrypt(algo, secretKey, concattedBytes);\n const decoder = new TextDecoder();\n resolve(decoder.decode(decrypted));\n }\n catch (err) {\n reject(err);\n }\n })();\n });\n}\nexports.decrypt = decrypt;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9hZXMyNTZnY20uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGVBQWUsR0FBRyxlQUFlO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxpRUFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3R0FBd0csaUJBQWlCO0FBQ3pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnSEFBZ0gsaUJBQWlCO0FBQ2pJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0EsZUFBZSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC9yZWxheS9hZXMyNTZnY20uanM/MGI3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIENvaW5iYXNlLCBJbmMuIDxodHRwczovL3d3dy5jb2luYmFzZS5jb20vPlxuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCB2ZXJzaW9uIDIuMFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWNyeXB0ID0gZXhwb3J0cy5lbmNyeXB0ID0gdm9pZCAwO1xuY29uc3QgdXRpbF8xID0gcmVxdWlyZShcIi4uL3V0aWxcIik7XG4vKipcbiAqXG4gKiBAcGFyYW0gcGxhaW5UZXh0IHN0cmluZyB0byBiZSBlbmNyeXB0ZWRcbiAqIEBwYXJhbSBzZWNyZXQgaGV4IHJlcHJlc2VudGF0aW9uIG9mIDMyLWJ5dGUgc2VjcmV0XG4gKiByZXR1cm5zIGhleCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYnl0ZXMgaW4gdGhlIG9yZGVyOiBpbml0aWFsaXphdGlvbiB2ZWN0b3IgKGl2KSxcbiAqIGF1dGggdGFnLCBlbmNyeXB0ZWQgcGxhaW50ZXh0LiBJViBpcyAxMiBieXRlcy4gQXV0aCB0YWcgaXMgMTYgYnl0ZXMuIFJlbWFpbmluZyBieXRlcyBhcmUgdGhlXG4gKiBlbmNyeXB0ZWQgcGxhaW5UZXh0LlxuICovXG5hc3luYyBmdW5jdGlvbiBlbmNyeXB0KHBsYWluVGV4dCwgc2VjcmV0KSB7XG4gICAgaWYgKHNlY3JldC5sZW5ndGggIT09IDY0KVxuICAgICAgICB0aHJvdyBFcnJvcihgc2VjcmV0IG11c3QgYmUgMjU2IGJpdHNgKTtcbiAgICBjb25zdCBpdkJ5dGVzID0gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgxMikpO1xuICAgIGNvbnN0IHNlY3JldEtleSA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFwicmF3XCIsICgwLCB1dGlsXzEuaGV4U3RyaW5nVG9VaW50OEFycmF5KShzZWNyZXQpLCB7IG5hbWU6IFwiYWVzLWdjbVwiIH0sIGZhbHNlLCBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiXSk7XG4gICAgY29uc3QgZW5jID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgLy8gV2lsbCByZXR1cm4gZW5jcnlwdGVkIHBsYWluVGV4dCB3aXRoIGF1dGggdGFnIChpZSBNQUMgb3IgY2hlY2tzdW0pIGFwcGVuZGVkIGF0IHRoZSBlbmRcbiAgICBjb25zdCBlbmNyeXB0ZWRSZXN1bHQgPSBhd2FpdCB3aW5kb3cuY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtcbiAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgIGl2OiBpdkJ5dGVzLFxuICAgIH0sIHNlY3JldEtleSwgZW5jLmVuY29kZShwbGFpblRleHQpKTtcbiAgICBjb25zdCB0YWdMZW5ndGggPSAxNjtcbiAgICBjb25zdCBhdXRoVGFnID0gZW5jcnlwdGVkUmVzdWx0LnNsaWNlKGVuY3J5cHRlZFJlc3VsdC5ieXRlTGVuZ3RoIC0gdGFnTGVuZ3RoKTtcbiAgICBjb25zdCBlbmNyeXB0ZWRQbGFpbnRleHQgPSBlbmNyeXB0ZWRSZXN1bHQuc2xpY2UoMCwgZW5jcnlwdGVkUmVzdWx0LmJ5dGVMZW5ndGggLSB0YWdMZW5ndGgpO1xuICAgIGNvbnN0IGF1dGhUYWdCeXRlcyA9IG5ldyBVaW50OEFycmF5KGF1dGhUYWcpO1xuICAgIGNvbnN0IGVuY3J5cHRlZFBsYWludGV4dEJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoZW5jcnlwdGVkUGxhaW50ZXh0KTtcbiAgICBjb25zdCBjb25jYXR0ZWQgPSBuZXcgVWludDhBcnJheShbXG4gICAgICAgIC4uLml2Qnl0ZXMsXG4gICAgICAgIC4uLmF1dGhUYWdCeXRlcyxcbiAgICAgICAgLi4uZW5jcnlwdGVkUGxhaW50ZXh0Qnl0ZXMsXG4gICAgXSk7XG4gICAgcmV0dXJuICgwLCB1dGlsXzEudWludDhBcnJheVRvSGV4KShjb25jYXR0ZWQpO1xufVxuZXhwb3J0cy5lbmNyeXB0ID0gZW5jcnlwdDtcbi8qKlxuICpcbiAqIEBwYXJhbSBjaXBoZXJUZXh0IGhleCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYnl0ZXMgaW4gdGhlIG9yZGVyOiBpbml0aWFsaXphdGlvbiB2ZWN0b3IgKGl2KSxcbiAqIGF1dGggdGFnLCBlbmNyeXB0ZWQgcGxhaW50ZXh0LiBJViBpcyAxMiBieXRlcy4gQXV0aCB0YWcgaXMgMTYgYnl0ZXMuXG4gKiBAcGFyYW0gc2VjcmV0IGhleCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgMzItYnl0ZSBzZWNyZXRcbiAqL1xuZnVuY3Rpb24gZGVjcnlwdChjaXBoZXJUZXh0LCBzZWNyZXQpIHtcbiAgICBpZiAoc2VjcmV0Lmxlbmd0aCAhPT0gNjQpXG4gICAgICAgIHRocm93IEVycm9yKGBzZWNyZXQgbXVzdCBiZSAyNTYgYml0c2ApO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHZvaWQgKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3JldEtleSA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFwicmF3XCIsICgwLCB1dGlsXzEuaGV4U3RyaW5nVG9VaW50OEFycmF5KShzZWNyZXQpLCB7IG5hbWU6IFwiYWVzLWdjbVwiIH0sIGZhbHNlLCBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiXSk7XG4gICAgICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSAoMCwgdXRpbF8xLmhleFN0cmluZ1RvVWludDhBcnJheSkoY2lwaGVyVGV4dCk7XG4gICAgICAgICAgICBjb25zdCBpdkJ5dGVzID0gZW5jcnlwdGVkLnNsaWNlKDAsIDEyKTtcbiAgICAgICAgICAgIGNvbnN0IGF1dGhUYWdCeXRlcyA9IGVuY3J5cHRlZC5zbGljZSgxMiwgMjgpO1xuICAgICAgICAgICAgY29uc3QgZW5jcnlwdGVkUGxhaW50ZXh0Qnl0ZXMgPSBlbmNyeXB0ZWQuc2xpY2UoMjgpO1xuICAgICAgICAgICAgY29uc3QgY29uY2F0dGVkQnl0ZXMgPSBuZXcgVWludDhBcnJheShbXG4gICAgICAgICAgICAgICAgLi4uZW5jcnlwdGVkUGxhaW50ZXh0Qnl0ZXMsXG4gICAgICAgICAgICAgICAgLi4uYXV0aFRhZ0J5dGVzLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICBjb25zdCBhbGdvID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBuZXcgVWludDhBcnJheShpdkJ5dGVzKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY3J5cHRlZCA9IGF3YWl0IHdpbmRvdy5jcnlwdG8uc3VidGxlLmRlY3J5cHQoYWxnbywgc2VjcmV0S2V5LCBjb25jYXR0ZWRCeXRlcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoZGVjb2Rlci5kZWNvZGUoZGVjcnlwdGVkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKCk7XG4gICAgfSk7XG59XG5leHBvcnRzLmRlY3J5cHQgPSBkZWNyeXB0O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/relay/aes256gcm.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/types.js": -/*!*********************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/types.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ProviderType = exports.RegExpString = exports.IntNumber = exports.BigIntString = exports.AddressString = exports.HexString = exports.OpaqueType = void 0;\nfunction OpaqueType() {\n return (value) => value;\n}\nexports.OpaqueType = OpaqueType;\nexports.HexString = OpaqueType();\nexports.AddressString = OpaqueType();\nexports.BigIntString = OpaqueType();\nfunction IntNumber(num) {\n return Math.floor(num);\n}\nexports.IntNumber = IntNumber;\nexports.RegExpString = OpaqueType();\nvar ProviderType;\n(function (ProviderType) {\n ProviderType[\"CoinbaseWallet\"] = \"CoinbaseWallet\";\n ProviderType[\"MetaMask\"] = \"MetaMask\";\n ProviderType[\"Unselected\"] = \"\";\n})(ProviderType = exports.ProviderType || (exports.ProviderType = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC90eXBlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CLEdBQUcsb0JBQW9CLEdBQUcsaUJBQWlCLEdBQUcsb0JBQW9CLEdBQUcscUJBQXFCLEdBQUcsaUJBQWlCLEdBQUcsa0JBQWtCO0FBQ3ZKO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQixpQkFBaUI7QUFDakIscUJBQXFCO0FBQ3JCLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLDBDQUEwQyxvQkFBb0IsS0FBSyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC90eXBlcy5qcz85ZmVlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgQ29pbmJhc2UsIEluYy4gPGh0dHBzOi8vd3d3LmNvaW5iYXNlLmNvbS8+XG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIHZlcnNpb24gMi4wXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlByb3ZpZGVyVHlwZSA9IGV4cG9ydHMuUmVnRXhwU3RyaW5nID0gZXhwb3J0cy5JbnROdW1iZXIgPSBleHBvcnRzLkJpZ0ludFN0cmluZyA9IGV4cG9ydHMuQWRkcmVzc1N0cmluZyA9IGV4cG9ydHMuSGV4U3RyaW5nID0gZXhwb3J0cy5PcGFxdWVUeXBlID0gdm9pZCAwO1xuZnVuY3Rpb24gT3BhcXVlVHlwZSgpIHtcbiAgICByZXR1cm4gKHZhbHVlKSA9PiB2YWx1ZTtcbn1cbmV4cG9ydHMuT3BhcXVlVHlwZSA9IE9wYXF1ZVR5cGU7XG5leHBvcnRzLkhleFN0cmluZyA9IE9wYXF1ZVR5cGUoKTtcbmV4cG9ydHMuQWRkcmVzc1N0cmluZyA9IE9wYXF1ZVR5cGUoKTtcbmV4cG9ydHMuQmlnSW50U3RyaW5nID0gT3BhcXVlVHlwZSgpO1xuZnVuY3Rpb24gSW50TnVtYmVyKG51bSkge1xuICAgIHJldHVybiBNYXRoLmZsb29yKG51bSk7XG59XG5leHBvcnRzLkludE51bWJlciA9IEludE51bWJlcjtcbmV4cG9ydHMuUmVnRXhwU3RyaW5nID0gT3BhcXVlVHlwZSgpO1xudmFyIFByb3ZpZGVyVHlwZTtcbihmdW5jdGlvbiAoUHJvdmlkZXJUeXBlKSB7XG4gICAgUHJvdmlkZXJUeXBlW1wiQ29pbmJhc2VXYWxsZXRcIl0gPSBcIkNvaW5iYXNlV2FsbGV0XCI7XG4gICAgUHJvdmlkZXJUeXBlW1wiTWV0YU1hc2tcIl0gPSBcIk1ldGFNYXNrXCI7XG4gICAgUHJvdmlkZXJUeXBlW1wiVW5zZWxlY3RlZFwiXSA9IFwiXCI7XG59KShQcm92aWRlclR5cGUgPSBleHBvcnRzLlByb3ZpZGVyVHlwZSB8fCAoZXhwb3J0cy5Qcm92aWRlclR5cGUgPSB7fSkpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/util.js": -/*!********************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/util.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n// Copyright (c) 2018-2022 Coinbase, Inc. <https://www.coinbase.com/>\n// Licensed under the Apache License, version 2.0\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isInIFrame = exports.createQrUrl = exports.getFavicon = exports.range = exports.isBigNumber = exports.ensureParsedJSONObject = exports.ensureBN = exports.ensureRegExpString = exports.ensureIntNumber = exports.ensureBuffer = exports.ensureAddressString = exports.ensureEvenLengthHexString = exports.ensureHexString = exports.isHexString = exports.prepend0x = exports.strip0x = exports.has0xPrefix = exports.hexStringFromIntNumber = exports.intNumberFromHexString = exports.bigIntStringFromBN = exports.hexStringFromBuffer = exports.hexStringToUint8Array = exports.uint8ArrayToHex = exports.randomBytesHex = void 0;\nconst bn_js_1 = __importDefault(__webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\"));\nconst qs_1 = __webpack_require__(/*! qs */ \"./node_modules/qs/lib/index.js\");\nconst errors_1 = __webpack_require__(/*! ./errors */ \"./node_modules/@coinbase/wallet-sdk/dist/errors.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"./node_modules/@coinbase/wallet-sdk/dist/types.js\");\nconst INT_STRING_REGEX = /^[0-9]*$/;\nconst HEXADECIMAL_STRING_REGEX = /^[a-f0-9]*$/;\n/**\n * @param length number of bytes\n */\nfunction randomBytesHex(length) {\n return uint8ArrayToHex(crypto.getRandomValues(new Uint8Array(length)));\n}\nexports.randomBytesHex = randomBytesHex;\nfunction uint8ArrayToHex(value) {\n return [...value].map(b => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\nexports.uint8ArrayToHex = uint8ArrayToHex;\nfunction hexStringToUint8Array(hexString) {\n return new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));\n}\nexports.hexStringToUint8Array = hexStringToUint8Array;\nfunction hexStringFromBuffer(buf, includePrefix = false) {\n const hex = buf.toString(\"hex\");\n return (0, types_1.HexString)(includePrefix ? \"0x\" + hex : hex);\n}\nexports.hexStringFromBuffer = hexStringFromBuffer;\nfunction bigIntStringFromBN(bn) {\n return (0, types_1.BigIntString)(bn.toString(10));\n}\nexports.bigIntStringFromBN = bigIntStringFromBN;\nfunction intNumberFromHexString(hex) {\n return (0, types_1.IntNumber)(new bn_js_1.default(ensureEvenLengthHexString(hex, false), 16).toNumber());\n}\nexports.intNumberFromHexString = intNumberFromHexString;\nfunction hexStringFromIntNumber(num) {\n return (0, types_1.HexString)(\"0x\" + new bn_js_1.default(num).toString(16));\n}\nexports.hexStringFromIntNumber = hexStringFromIntNumber;\nfunction has0xPrefix(str) {\n return str.startsWith(\"0x\") || str.startsWith(\"0X\");\n}\nexports.has0xPrefix = has0xPrefix;\nfunction strip0x(hex) {\n if (has0xPrefix(hex)) {\n return hex.slice(2);\n }\n return hex;\n}\nexports.strip0x = strip0x;\nfunction prepend0x(hex) {\n if (has0xPrefix(hex)) {\n return \"0x\" + hex.slice(2);\n }\n return \"0x\" + hex;\n}\nexports.prepend0x = prepend0x;\nfunction isHexString(hex) {\n if (typeof hex !== \"string\") {\n return false;\n }\n const s = strip0x(hex).toLowerCase();\n return HEXADECIMAL_STRING_REGEX.test(s);\n}\nexports.isHexString = isHexString;\nfunction ensureHexString(hex, includePrefix = false) {\n if (typeof hex === \"string\") {\n const s = strip0x(hex).toLowerCase();\n if (HEXADECIMAL_STRING_REGEX.test(s)) {\n return (0, types_1.HexString)(includePrefix ? \"0x\" + s : s);\n }\n }\n throw errors_1.standardErrors.rpc.invalidParams(`\"${String(hex)}\" is not a hexadecimal string`);\n}\nexports.ensureHexString = ensureHexString;\nfunction ensureEvenLengthHexString(hex, includePrefix = false) {\n let h = ensureHexString(hex, false);\n if (h.length % 2 === 1) {\n h = (0, types_1.HexString)(\"0\" + h);\n }\n return includePrefix ? (0, types_1.HexString)(\"0x\" + h) : h;\n}\nexports.ensureEvenLengthHexString = ensureEvenLengthHexString;\nfunction ensureAddressString(str) {\n if (typeof str === \"string\") {\n const s = strip0x(str).toLowerCase();\n if (isHexString(s) && s.length === 40) {\n return (0, types_1.AddressString)(prepend0x(s));\n }\n }\n throw errors_1.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(str)}`);\n}\nexports.ensureAddressString = ensureAddressString;\nfunction ensureBuffer(str) {\n if (Buffer.isBuffer(str)) {\n return str;\n }\n if (typeof str === \"string\") {\n if (isHexString(str)) {\n const s = ensureEvenLengthHexString(str, false);\n return Buffer.from(s, \"hex\");\n }\n else {\n return Buffer.from(str, \"utf8\");\n }\n }\n throw errors_1.standardErrors.rpc.invalidParams(`Not binary data: ${String(str)}`);\n}\nexports.ensureBuffer = ensureBuffer;\nfunction ensureIntNumber(num) {\n if (typeof num === \"number\" && Number.isInteger(num)) {\n return (0, types_1.IntNumber)(num);\n }\n if (typeof num === \"string\") {\n if (INT_STRING_REGEX.test(num)) {\n return (0, types_1.IntNumber)(Number(num));\n }\n if (isHexString(num)) {\n return (0, types_1.IntNumber)(new bn_js_1.default(ensureEvenLengthHexString(num, false), 16).toNumber());\n }\n }\n throw errors_1.standardErrors.rpc.invalidParams(`Not an integer: ${String(num)}`);\n}\nexports.ensureIntNumber = ensureIntNumber;\nfunction ensureRegExpString(regExp) {\n if (regExp instanceof RegExp) {\n return (0, types_1.RegExpString)(regExp.toString());\n }\n throw errors_1.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(regExp)}`);\n}\nexports.ensureRegExpString = ensureRegExpString;\nfunction ensureBN(val) {\n if (val !== null && (bn_js_1.default.isBN(val) || isBigNumber(val))) {\n return new bn_js_1.default(val.toString(10), 10);\n }\n if (typeof val === \"number\") {\n return new bn_js_1.default(ensureIntNumber(val));\n }\n if (typeof val === \"string\") {\n if (INT_STRING_REGEX.test(val)) {\n return new bn_js_1.default(val, 10);\n }\n if (isHexString(val)) {\n return new bn_js_1.default(ensureEvenLengthHexString(val, false), 16);\n }\n }\n throw errors_1.standardErrors.rpc.invalidParams(`Not an integer: ${String(val)}`);\n}\nexports.ensureBN = ensureBN;\nfunction ensureParsedJSONObject(val) {\n if (typeof val === \"string\") {\n return JSON.parse(val);\n }\n if (typeof val === \"object\") {\n return val;\n }\n throw errors_1.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(val)}`);\n}\nexports.ensureParsedJSONObject = ensureParsedJSONObject;\nfunction isBigNumber(val) {\n if (val == null || typeof val.constructor !== \"function\") {\n return false;\n }\n const { constructor } = val;\n return (typeof constructor.config === \"function\" &&\n typeof constructor.EUCLID === \"number\");\n}\nexports.isBigNumber = isBigNumber;\nfunction range(start, stop) {\n return Array.from({ length: stop - start }, (_, i) => start + i);\n}\nexports.range = range;\nfunction getFavicon() {\n const el = document.querySelector('link[sizes=\"192x192\"]') ||\n document.querySelector('link[sizes=\"180x180\"]') ||\n document.querySelector('link[rel=\"icon\"]') ||\n document.querySelector('link[rel=\"shortcut icon\"]');\n const { protocol, host } = document.location;\n const href = el ? el.getAttribute(\"href\") : null;\n if (!href || href.startsWith(\"javascript:\")) {\n return null;\n }\n if (href.startsWith(\"http://\") ||\n href.startsWith(\"https://\") ||\n href.startsWith(\"data:\")) {\n return href;\n }\n if (href.startsWith(\"//\")) {\n return protocol + href;\n }\n return `${protocol}//${host}${href}`;\n}\nexports.getFavicon = getFavicon;\nfunction createQrUrl(sessionId, sessionSecret, serverUrl, isParentConnection, version, chainId) {\n const sessionIdKey = isParentConnection ? \"parent-id\" : \"id\";\n const query = (0, qs_1.stringify)({\n [sessionIdKey]: sessionId,\n secret: sessionSecret,\n server: serverUrl,\n v: version,\n chainId,\n });\n const qrUrl = `${serverUrl}/#/link?${query}`;\n return qrUrl;\n}\nexports.createQrUrl = createQrUrl;\nfunction isInIFrame() {\n try {\n return window.frameElement !== null;\n }\n catch (e) {\n return false;\n }\n}\nexports.isInIFrame = isInIFrame;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC91dGlsLmpzIiwibWFwcGluZ3MiOiI7QUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0IsR0FBRyxtQkFBbUIsR0FBRyxrQkFBa0IsR0FBRyxhQUFhLEdBQUcsbUJBQW1CLEdBQUcsOEJBQThCLEdBQUcsZ0JBQWdCLEdBQUcsMEJBQTBCLEdBQUcsdUJBQXVCLEdBQUcsb0JBQW9CLEdBQUcsMkJBQTJCLEdBQUcsaUNBQWlDLEdBQUcsdUJBQXVCLEdBQUcsbUJBQW1CLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxHQUFHLG1CQUFtQixHQUFHLDhCQUE4QixHQUFHLDhCQUE4QixHQUFHLDBCQUEwQixHQUFHLDJCQUEyQixHQUFHLDZCQUE2QixHQUFHLHVCQUF1QixHQUFHLHNCQUFzQjtBQUNubUIsZ0NBQWdDLG1CQUFPLENBQUMsNkNBQU87QUFDL0MsYUFBYSxtQkFBTyxDQUFDLDBDQUFJO0FBQ3pCLGlCQUFpQixtQkFBTyxDQUFDLG9FQUFVO0FBQ25DLGdCQUFnQixtQkFBTyxDQUFDLGtFQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0EsNkNBQTZDLElBQUk7QUFDakQ7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsWUFBWTtBQUNwRTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlGQUFpRixZQUFZO0FBQzdGO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0EsUUFBUSxNQUFNO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixNQUFNO0FBQ3pCO0FBQ0E7QUFDQSxtQkFBbUIsTUFBTTtBQUN6QjtBQUNBO0FBQ0Esd0VBQXdFLFlBQVk7QUFDcEY7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUVBQXVFLFlBQVk7QUFDbkY7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUUsZUFBZTtBQUNwRjtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUUsWUFBWTtBQUNuRjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVGQUF1RixZQUFZO0FBQ25HO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxjQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsU0FBUyxJQUFJLEtBQUssRUFBRSxLQUFLO0FBQ3ZDO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wscUJBQXFCLFVBQVUsVUFBVSxNQUFNO0FBQy9DO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC91dGlsLmpzPzYyNWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBDb2luYmFzZSwgSW5jLiA8aHR0cHM6Ly93d3cuY29pbmJhc2UuY29tLz5cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgdmVyc2lvbiAyLjBcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaXNJbklGcmFtZSA9IGV4cG9ydHMuY3JlYXRlUXJVcmwgPSBleHBvcnRzLmdldEZhdmljb24gPSBleHBvcnRzLnJhbmdlID0gZXhwb3J0cy5pc0JpZ051bWJlciA9IGV4cG9ydHMuZW5zdXJlUGFyc2VkSlNPTk9iamVjdCA9IGV4cG9ydHMuZW5zdXJlQk4gPSBleHBvcnRzLmVuc3VyZVJlZ0V4cFN0cmluZyA9IGV4cG9ydHMuZW5zdXJlSW50TnVtYmVyID0gZXhwb3J0cy5lbnN1cmVCdWZmZXIgPSBleHBvcnRzLmVuc3VyZUFkZHJlc3NTdHJpbmcgPSBleHBvcnRzLmVuc3VyZUV2ZW5MZW5ndGhIZXhTdHJpbmcgPSBleHBvcnRzLmVuc3VyZUhleFN0cmluZyA9IGV4cG9ydHMuaXNIZXhTdHJpbmcgPSBleHBvcnRzLnByZXBlbmQweCA9IGV4cG9ydHMuc3RyaXAweCA9IGV4cG9ydHMuaGFzMHhQcmVmaXggPSBleHBvcnRzLmhleFN0cmluZ0Zyb21JbnROdW1iZXIgPSBleHBvcnRzLmludE51bWJlckZyb21IZXhTdHJpbmcgPSBleHBvcnRzLmJpZ0ludFN0cmluZ0Zyb21CTiA9IGV4cG9ydHMuaGV4U3RyaW5nRnJvbUJ1ZmZlciA9IGV4cG9ydHMuaGV4U3RyaW5nVG9VaW50OEFycmF5ID0gZXhwb3J0cy51aW50OEFycmF5VG9IZXggPSBleHBvcnRzLnJhbmRvbUJ5dGVzSGV4ID0gdm9pZCAwO1xuY29uc3QgYm5fanNfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiYm4uanNcIikpO1xuY29uc3QgcXNfMSA9IHJlcXVpcmUoXCJxc1wiKTtcbmNvbnN0IGVycm9yc18xID0gcmVxdWlyZShcIi4vZXJyb3JzXCIpO1xuY29uc3QgdHlwZXNfMSA9IHJlcXVpcmUoXCIuL3R5cGVzXCIpO1xuY29uc3QgSU5UX1NUUklOR19SRUdFWCA9IC9eWzAtOV0qJC87XG5jb25zdCBIRVhBREVDSU1BTF9TVFJJTkdfUkVHRVggPSAvXlthLWYwLTldKiQvO1xuLyoqXG4gKiBAcGFyYW0gbGVuZ3RoIG51bWJlciBvZiBieXRlc1xuICovXG5mdW5jdGlvbiByYW5kb21CeXRlc0hleChsZW5ndGgpIHtcbiAgICByZXR1cm4gdWludDhBcnJheVRvSGV4KGNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkobGVuZ3RoKSkpO1xufVxuZXhwb3J0cy5yYW5kb21CeXRlc0hleCA9IHJhbmRvbUJ5dGVzSGV4O1xuZnVuY3Rpb24gdWludDhBcnJheVRvSGV4KHZhbHVlKSB7XG4gICAgcmV0dXJuIFsuLi52YWx1ZV0ubWFwKGIgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpKS5qb2luKFwiXCIpO1xufVxuZXhwb3J0cy51aW50OEFycmF5VG9IZXggPSB1aW50OEFycmF5VG9IZXg7XG5mdW5jdGlvbiBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoaGV4U3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGhleFN0cmluZy5tYXRjaCgvLnsxLDJ9L2cpLm1hcChieXRlID0+IHBhcnNlSW50KGJ5dGUsIDE2KSkpO1xufVxuZXhwb3J0cy5oZXhTdHJpbmdUb1VpbnQ4QXJyYXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXk7XG5mdW5jdGlvbiBoZXhTdHJpbmdGcm9tQnVmZmVyKGJ1ZiwgaW5jbHVkZVByZWZpeCA9IGZhbHNlKSB7XG4gICAgY29uc3QgaGV4ID0gYnVmLnRvU3RyaW5nKFwiaGV4XCIpO1xuICAgIHJldHVybiAoMCwgdHlwZXNfMS5IZXhTdHJpbmcpKGluY2x1ZGVQcmVmaXggPyBcIjB4XCIgKyBoZXggOiBoZXgpO1xufVxuZXhwb3J0cy5oZXhTdHJpbmdGcm9tQnVmZmVyID0gaGV4U3RyaW5nRnJvbUJ1ZmZlcjtcbmZ1bmN0aW9uIGJpZ0ludFN0cmluZ0Zyb21CTihibikge1xuICAgIHJldHVybiAoMCwgdHlwZXNfMS5CaWdJbnRTdHJpbmcpKGJuLnRvU3RyaW5nKDEwKSk7XG59XG5leHBvcnRzLmJpZ0ludFN0cmluZ0Zyb21CTiA9IGJpZ0ludFN0cmluZ0Zyb21CTjtcbmZ1bmN0aW9uIGludE51bWJlckZyb21IZXhTdHJpbmcoaGV4KSB7XG4gICAgcmV0dXJuICgwLCB0eXBlc18xLkludE51bWJlcikobmV3IGJuX2pzXzEuZGVmYXVsdChlbnN1cmVFdmVuTGVuZ3RoSGV4U3RyaW5nKGhleCwgZmFsc2UpLCAxNikudG9OdW1iZXIoKSk7XG59XG5leHBvcnRzLmludE51bWJlckZyb21IZXhTdHJpbmcgPSBpbnROdW1iZXJGcm9tSGV4U3RyaW5nO1xuZnVuY3Rpb24gaGV4U3RyaW5nRnJvbUludE51bWJlcihudW0pIHtcbiAgICByZXR1cm4gKDAsIHR5cGVzXzEuSGV4U3RyaW5nKShcIjB4XCIgKyBuZXcgYm5fanNfMS5kZWZhdWx0KG51bSkudG9TdHJpbmcoMTYpKTtcbn1cbmV4cG9ydHMuaGV4U3RyaW5nRnJvbUludE51bWJlciA9IGhleFN0cmluZ0Zyb21JbnROdW1iZXI7XG5mdW5jdGlvbiBoYXMweFByZWZpeChzdHIpIHtcbiAgICByZXR1cm4gc3RyLnN0YXJ0c1dpdGgoXCIweFwiKSB8fCBzdHIuc3RhcnRzV2l0aChcIjBYXCIpO1xufVxuZXhwb3J0cy5oYXMweFByZWZpeCA9IGhhczB4UHJlZml4O1xuZnVuY3Rpb24gc3RyaXAweChoZXgpIHtcbiAgICBpZiAoaGFzMHhQcmVmaXgoaGV4KSkge1xuICAgICAgICByZXR1cm4gaGV4LnNsaWNlKDIpO1xuICAgIH1cbiAgICByZXR1cm4gaGV4O1xufVxuZXhwb3J0cy5zdHJpcDB4ID0gc3RyaXAweDtcbmZ1bmN0aW9uIHByZXBlbmQweChoZXgpIHtcbiAgICBpZiAoaGFzMHhQcmVmaXgoaGV4KSkge1xuICAgICAgICByZXR1cm4gXCIweFwiICsgaGV4LnNsaWNlKDIpO1xuICAgIH1cbiAgICByZXR1cm4gXCIweFwiICsgaGV4O1xufVxuZXhwb3J0cy5wcmVwZW5kMHggPSBwcmVwZW5kMHg7XG5mdW5jdGlvbiBpc0hleFN0cmluZyhoZXgpIHtcbiAgICBpZiAodHlwZW9mIGhleCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHMgPSBzdHJpcDB4KGhleCkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gSEVYQURFQ0lNQUxfU1RSSU5HX1JFR0VYLnRlc3Qocyk7XG59XG5leHBvcnRzLmlzSGV4U3RyaW5nID0gaXNIZXhTdHJpbmc7XG5mdW5jdGlvbiBlbnN1cmVIZXhTdHJpbmcoaGV4LCBpbmNsdWRlUHJlZml4ID0gZmFsc2UpIHtcbiAgICBpZiAodHlwZW9mIGhleCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBjb25zdCBzID0gc3RyaXAweChoZXgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChIRVhBREVDSU1BTF9TVFJJTkdfUkVHRVgudGVzdChzKSkge1xuICAgICAgICAgICAgcmV0dXJuICgwLCB0eXBlc18xLkhleFN0cmluZykoaW5jbHVkZVByZWZpeCA/IFwiMHhcIiArIHMgOiBzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhgXCIke1N0cmluZyhoZXgpfVwiIGlzIG5vdCBhIGhleGFkZWNpbWFsIHN0cmluZ2ApO1xufVxuZXhwb3J0cy5lbnN1cmVIZXhTdHJpbmcgPSBlbnN1cmVIZXhTdHJpbmc7XG5mdW5jdGlvbiBlbnN1cmVFdmVuTGVuZ3RoSGV4U3RyaW5nKGhleCwgaW5jbHVkZVByZWZpeCA9IGZhbHNlKSB7XG4gICAgbGV0IGggPSBlbnN1cmVIZXhTdHJpbmcoaGV4LCBmYWxzZSk7XG4gICAgaWYgKGgubGVuZ3RoICUgMiA9PT0gMSkge1xuICAgICAgICBoID0gKDAsIHR5cGVzXzEuSGV4U3RyaW5nKShcIjBcIiArIGgpO1xuICAgIH1cbiAgICByZXR1cm4gaW5jbHVkZVByZWZpeCA/ICgwLCB0eXBlc18xLkhleFN0cmluZykoXCIweFwiICsgaCkgOiBoO1xufVxuZXhwb3J0cy5lbnN1cmVFdmVuTGVuZ3RoSGV4U3RyaW5nID0gZW5zdXJlRXZlbkxlbmd0aEhleFN0cmluZztcbmZ1bmN0aW9uIGVuc3VyZUFkZHJlc3NTdHJpbmcoc3RyKSB7XG4gICAgaWYgKHR5cGVvZiBzdHIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgY29uc3QgcyA9IHN0cmlwMHgoc3RyKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoaXNIZXhTdHJpbmcocykgJiYgcy5sZW5ndGggPT09IDQwKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIHR5cGVzXzEuQWRkcmVzc1N0cmluZykocHJlcGVuZDB4KHMpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhgSW52YWxpZCBFdGhlcmV1bSBhZGRyZXNzOiAke1N0cmluZyhzdHIpfWApO1xufVxuZXhwb3J0cy5lbnN1cmVBZGRyZXNzU3RyaW5nID0gZW5zdXJlQWRkcmVzc1N0cmluZztcbmZ1bmN0aW9uIGVuc3VyZUJ1ZmZlcihzdHIpIHtcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHN0cikpIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzdHIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaWYgKGlzSGV4U3RyaW5nKHN0cikpIHtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBlbnN1cmVFdmVuTGVuZ3RoSGV4U3RyaW5nKHN0ciwgZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHMsIFwiaGV4XCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHN0ciwgXCJ1dGY4XCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUGFyYW1zKGBOb3QgYmluYXJ5IGRhdGE6ICR7U3RyaW5nKHN0cil9YCk7XG59XG5leHBvcnRzLmVuc3VyZUJ1ZmZlciA9IGVuc3VyZUJ1ZmZlcjtcbmZ1bmN0aW9uIGVuc3VyZUludE51bWJlcihudW0pIHtcbiAgICBpZiAodHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIiAmJiBOdW1iZXIuaXNJbnRlZ2VyKG51bSkpIHtcbiAgICAgICAgcmV0dXJuICgwLCB0eXBlc18xLkludE51bWJlcikobnVtKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBudW0gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaWYgKElOVF9TVFJJTkdfUkVHRVgudGVzdChudW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIHR5cGVzXzEuSW50TnVtYmVyKShOdW1iZXIobnVtKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSGV4U3RyaW5nKG51bSkpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgdHlwZXNfMS5JbnROdW1iZXIpKG5ldyBibl9qc18xLmRlZmF1bHQoZW5zdXJlRXZlbkxlbmd0aEhleFN0cmluZyhudW0sIGZhbHNlKSwgMTYpLnRvTnVtYmVyKCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IGVycm9yc18xLnN0YW5kYXJkRXJyb3JzLnJwYy5pbnZhbGlkUGFyYW1zKGBOb3QgYW4gaW50ZWdlcjogJHtTdHJpbmcobnVtKX1gKTtcbn1cbmV4cG9ydHMuZW5zdXJlSW50TnVtYmVyID0gZW5zdXJlSW50TnVtYmVyO1xuZnVuY3Rpb24gZW5zdXJlUmVnRXhwU3RyaW5nKHJlZ0V4cCkge1xuICAgIGlmIChyZWdFeHAgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmV0dXJuICgwLCB0eXBlc18xLlJlZ0V4cFN0cmluZykocmVnRXhwLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhgTm90IGEgUmVnRXhwOiAke1N0cmluZyhyZWdFeHApfWApO1xufVxuZXhwb3J0cy5lbnN1cmVSZWdFeHBTdHJpbmcgPSBlbnN1cmVSZWdFeHBTdHJpbmc7XG5mdW5jdGlvbiBlbnN1cmVCTih2YWwpIHtcbiAgICBpZiAodmFsICE9PSBudWxsICYmIChibl9qc18xLmRlZmF1bHQuaXNCTih2YWwpIHx8IGlzQmlnTnVtYmVyKHZhbCkpKSB7XG4gICAgICAgIHJldHVybiBuZXcgYm5fanNfMS5kZWZhdWx0KHZhbC50b1N0cmluZygxMCksIDEwKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWwgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBibl9qc18xLmRlZmF1bHQoZW5zdXJlSW50TnVtYmVyKHZhbCkpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBpZiAoSU5UX1NUUklOR19SRUdFWC50ZXN0KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgYm5fanNfMS5kZWZhdWx0KHZhbCwgMTApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0hleFN0cmluZyh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IGJuX2pzXzEuZGVmYXVsdChlbnN1cmVFdmVuTGVuZ3RoSGV4U3RyaW5nKHZhbCwgZmFsc2UpLCAxNik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgZXJyb3JzXzEuc3RhbmRhcmRFcnJvcnMucnBjLmludmFsaWRQYXJhbXMoYE5vdCBhbiBpbnRlZ2VyOiAke1N0cmluZyh2YWwpfWApO1xufVxuZXhwb3J0cy5lbnN1cmVCTiA9IGVuc3VyZUJOO1xuZnVuY3Rpb24gZW5zdXJlUGFyc2VkSlNPTk9iamVjdCh2YWwpIHtcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcnNfMS5zdGFuZGFyZEVycm9ycy5ycGMuaW52YWxpZFBhcmFtcyhgTm90IGEgSlNPTiBzdHJpbmcgb3IgYW4gb2JqZWN0OiAke1N0cmluZyh2YWwpfWApO1xufVxuZXhwb3J0cy5lbnN1cmVQYXJzZWRKU09OT2JqZWN0ID0gZW5zdXJlUGFyc2VkSlNPTk9iamVjdDtcbmZ1bmN0aW9uIGlzQmlnTnVtYmVyKHZhbCkge1xuICAgIGlmICh2YWwgPT0gbnVsbCB8fCB0eXBlb2YgdmFsLmNvbnN0cnVjdG9yICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IGNvbnN0cnVjdG9yIH0gPSB2YWw7XG4gICAgcmV0dXJuICh0eXBlb2YgY29uc3RydWN0b3IuY29uZmlnID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICAgdHlwZW9mIGNvbnN0cnVjdG9yLkVVQ0xJRCA9PT0gXCJudW1iZXJcIik7XG59XG5leHBvcnRzLmlzQmlnTnVtYmVyID0gaXNCaWdOdW1iZXI7XG5mdW5jdGlvbiByYW5nZShzdGFydCwgc3RvcCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBzdG9wIC0gc3RhcnQgfSwgKF8sIGkpID0+IHN0YXJ0ICsgaSk7XG59XG5leHBvcnRzLnJhbmdlID0gcmFuZ2U7XG5mdW5jdGlvbiBnZXRGYXZpY29uKCkge1xuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tzaXplcz1cIjE5MngxOTJcIl0nKSB8fFxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3NpemVzPVwiMTgweDE4MFwiXScpIHx8XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbcmVsPVwiaWNvblwiXScpIHx8XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbcmVsPVwic2hvcnRjdXQgaWNvblwiXScpO1xuICAgIGNvbnN0IHsgcHJvdG9jb2wsIGhvc3QgfSA9IGRvY3VtZW50LmxvY2F0aW9uO1xuICAgIGNvbnN0IGhyZWYgPSBlbCA/IGVsLmdldEF0dHJpYnV0ZShcImhyZWZcIikgOiBudWxsO1xuICAgIGlmICghaHJlZiB8fCBocmVmLnN0YXJ0c1dpdGgoXCJqYXZhc2NyaXB0OlwiKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKGhyZWYuc3RhcnRzV2l0aChcImh0dHA6Ly9cIikgfHxcbiAgICAgICAgaHJlZi5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIikgfHxcbiAgICAgICAgaHJlZi5zdGFydHNXaXRoKFwiZGF0YTpcIikpIHtcbiAgICAgICAgcmV0dXJuIGhyZWY7XG4gICAgfVxuICAgIGlmIChocmVmLnN0YXJ0c1dpdGgoXCIvL1wiKSkge1xuICAgICAgICByZXR1cm4gcHJvdG9jb2wgKyBocmVmO1xuICAgIH1cbiAgICByZXR1cm4gYCR7cHJvdG9jb2x9Ly8ke2hvc3R9JHtocmVmfWA7XG59XG5leHBvcnRzLmdldEZhdmljb24gPSBnZXRGYXZpY29uO1xuZnVuY3Rpb24gY3JlYXRlUXJVcmwoc2Vzc2lvbklkLCBzZXNzaW9uU2VjcmV0LCBzZXJ2ZXJVcmwsIGlzUGFyZW50Q29ubmVjdGlvbiwgdmVyc2lvbiwgY2hhaW5JZCkge1xuICAgIGNvbnN0IHNlc3Npb25JZEtleSA9IGlzUGFyZW50Q29ubmVjdGlvbiA/IFwicGFyZW50LWlkXCIgOiBcImlkXCI7XG4gICAgY29uc3QgcXVlcnkgPSAoMCwgcXNfMS5zdHJpbmdpZnkpKHtcbiAgICAgICAgW3Nlc3Npb25JZEtleV06IHNlc3Npb25JZCxcbiAgICAgICAgc2VjcmV0OiBzZXNzaW9uU2VjcmV0LFxuICAgICAgICBzZXJ2ZXI6IHNlcnZlclVybCxcbiAgICAgICAgdjogdmVyc2lvbixcbiAgICAgICAgY2hhaW5JZCxcbiAgICB9KTtcbiAgICBjb25zdCBxclVybCA9IGAke3NlcnZlclVybH0vIy9saW5rPyR7cXVlcnl9YDtcbiAgICByZXR1cm4gcXJVcmw7XG59XG5leHBvcnRzLmNyZWF0ZVFyVXJsID0gY3JlYXRlUXJVcmw7XG5mdW5jdGlvbiBpc0luSUZyYW1lKCkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuZnJhbWVFbGVtZW50ICE9PSBudWxsO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuZXhwb3J0cy5pc0luSUZyYW1lID0gaXNJbklGcmFtZTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/util.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/abi.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/abi.js ***! - \*********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n// Extracted from https://github.com/ethereumjs/ethereumjs-abi and stripped out irrelevant code\n// Original code licensed under the MIT License - Copyright (c) 2015 Alex Beregszaszi\n\nconst util = __webpack_require__(/*! ./util */ \"./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js\")\nconst BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\n\n// Convert from short to canonical names\n// FIXME: optimise or make this nicer?\nfunction elementaryName (name) {\n if (name.startsWith('int[')) {\n return 'int256' + name.slice(3)\n } else if (name === 'int') {\n return 'int256'\n } else if (name.startsWith('uint[')) {\n return 'uint256' + name.slice(4)\n } else if (name === 'uint') {\n return 'uint256'\n } else if (name.startsWith('fixed[')) {\n return 'fixed128x128' + name.slice(5)\n } else if (name === 'fixed') {\n return 'fixed128x128'\n } else if (name.startsWith('ufixed[')) {\n return 'ufixed128x128' + name.slice(6)\n } else if (name === 'ufixed') {\n return 'ufixed128x128'\n }\n return name\n}\n\n// Parse N from type<N>\nfunction parseTypeN (type) {\n return parseInt(/^\\D+(\\d+)$/.exec(type)[1], 10)\n}\n\n// Parse N,M from type<N>x<M>\nfunction parseTypeNxM (type) {\n var tmp = /^\\D+(\\d+)x(\\d+)$/.exec(type)\n return [ parseInt(tmp[1], 10), parseInt(tmp[2], 10) ]\n}\n\n// Parse N in type[<N>] where \"type\" can itself be an array type.\nfunction parseTypeArray (type) {\n var tmp = type.match(/(.*)\\[(.*?)\\]$/)\n if (tmp) {\n return tmp[2] === '' ? 'dynamic' : parseInt(tmp[2], 10)\n }\n return null\n}\n\nfunction parseNumber (arg) {\n var type = typeof arg\n if (type === 'string') {\n if (util.isHexString(arg)) {\n return new BN(util.stripHexPrefix(arg), 16)\n } else {\n return new BN(arg, 10)\n }\n } else if (type === 'number') {\n return new BN(arg)\n } else if (arg.toArray) {\n // assume this is a BN for the moment, replace with BN.isBN soon\n return arg\n } else {\n throw new Error('Argument is not a number')\n }\n}\n\n// Encodes a single item (can be dynamic array)\n// @returns: Buffer\nfunction encodeSingle (type, arg) {\n var size, num, ret, i\n\n if (type === 'address') {\n return encodeSingle('uint160', parseNumber(arg))\n } else if (type === 'bool') {\n return encodeSingle('uint8', arg ? 1 : 0)\n } else if (type === 'string') {\n return encodeSingle('bytes', new Buffer(arg, 'utf8'))\n } else if (isArray(type)) {\n // this part handles fixed-length ([2]) and variable length ([]) arrays\n // NOTE: we catch here all calls to arrays, that simplifies the rest\n if (typeof arg.length === 'undefined') {\n throw new Error('Not an array?')\n }\n size = parseTypeArray(type)\n if (size !== 'dynamic' && size !== 0 && arg.length > size) {\n throw new Error('Elements exceed array size: ' + size)\n }\n ret = []\n type = type.slice(0, type.lastIndexOf('['))\n if (typeof arg === 'string') {\n arg = JSON.parse(arg)\n }\n for (i in arg) {\n ret.push(encodeSingle(type, arg[i]))\n }\n if (size === 'dynamic') {\n var length = encodeSingle('uint256', arg.length)\n ret.unshift(length)\n }\n return Buffer.concat(ret)\n } else if (type === 'bytes') {\n arg = new Buffer(arg)\n\n ret = Buffer.concat([ encodeSingle('uint256', arg.length), arg ])\n\n if ((arg.length % 32) !== 0) {\n ret = Buffer.concat([ ret, util.zeros(32 - (arg.length % 32)) ])\n }\n\n return ret\n } else if (type.startsWith('bytes')) {\n size = parseTypeN(type)\n if (size < 1 || size > 32) {\n throw new Error('Invalid bytes<N> width: ' + size)\n }\n\n return util.setLengthRight(arg, 32)\n } else if (type.startsWith('uint')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint<N> width: ' + size)\n }\n\n num = parseNumber(arg)\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n if (num < 0) {\n throw new Error('Supplied uint is negative')\n }\n\n return num.toArrayLike(Buffer, 'be', 32)\n } else if (type.startsWith('int')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int<N> width: ' + size)\n }\n\n num = parseNumber(arg)\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n return num.toTwos(256).toArrayLike(Buffer, 'be', 32)\n } else if (type.startsWith('ufixed')) {\n size = parseTypeNxM(type)\n\n num = parseNumber(arg)\n\n if (num < 0) {\n throw new Error('Supplied ufixed is negative')\n }\n\n return encodeSingle('uint256', num.mul(new BN(2).pow(new BN(size[1]))))\n } else if (type.startsWith('fixed')) {\n size = parseTypeNxM(type)\n\n return encodeSingle('int256', parseNumber(arg).mul(new BN(2).pow(new BN(size[1]))))\n }\n\n throw new Error('Unsupported or invalid type: ' + type)\n}\n\n// Is a type dynamic?\nfunction isDynamic (type) {\n // FIXME: handle all types? I don't think anything is missing now\n return (type === 'string') || (type === 'bytes') || (parseTypeArray(type) === 'dynamic')\n}\n\n// Is a type an array?\nfunction isArray (type) {\n return type.lastIndexOf(']') === type.length - 1\n}\n\n// Encode a method/event with arguments\n// @types an array of string type names\n// @args an array of the appropriate values\nfunction rawEncode (types, values) {\n var output = []\n var data = []\n\n var headLength = 32 * types.length\n\n for (var i in types) {\n var type = elementaryName(types[i])\n var value = values[i]\n var cur = encodeSingle(type, value)\n\n // Use the head/tail method for storing dynamic data\n if (isDynamic(type)) {\n output.push(encodeSingle('uint256', headLength))\n data.push(cur)\n headLength += cur.length\n } else {\n output.push(cur)\n }\n }\n\n return Buffer.concat(output.concat(data))\n}\n\nfunction solidityPack (types, values) {\n if (types.length !== values.length) {\n throw new Error('Number of types are not matching the values')\n }\n\n var size, num\n var ret = []\n\n for (var i = 0; i < types.length; i++) {\n var type = elementaryName(types[i])\n var value = values[i]\n\n if (type === 'bytes') {\n ret.push(value)\n } else if (type === 'string') {\n ret.push(new Buffer(value, 'utf8'))\n } else if (type === 'bool') {\n ret.push(new Buffer(value ? '01' : '00', 'hex'))\n } else if (type === 'address') {\n ret.push(util.setLength(value, 20))\n } else if (type.startsWith('bytes')) {\n size = parseTypeN(type)\n if (size < 1 || size > 32) {\n throw new Error('Invalid bytes<N> width: ' + size)\n }\n\n ret.push(util.setLengthRight(value, size))\n } else if (type.startsWith('uint')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint<N> width: ' + size)\n }\n\n num = parseNumber(value)\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n ret.push(num.toArrayLike(Buffer, 'be', size / 8))\n } else if (type.startsWith('int')) {\n size = parseTypeN(type)\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int<N> width: ' + size)\n }\n\n num = parseNumber(value)\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength())\n }\n\n ret.push(num.toTwos(size).toArrayLike(Buffer, 'be', size / 8))\n } else {\n // FIXME: support all other types\n throw new Error('Unsupported or invalid type: ' + type)\n }\n }\n\n return Buffer.concat(ret)\n}\n\nfunction soliditySHA3 (types, values) {\n return util.keccak(solidityPack(types, values))\n}\n\nmodule.exports = {\n rawEncode,\n solidityPack,\n soliditySHA3\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvZXRoLWVpcDcxMi11dGlsL2FiaS5qcyIsIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTs7QUFFQSxhQUFhLG1CQUFPLENBQUMsMEZBQVE7QUFDN0IsV0FBVyxtQkFBTyxDQUFDLDZDQUFPOztBQUUxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSixxQ0FBcUMsTUFBTTtBQUMzQyxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCLElBQUk7QUFDSixjQUFjLE1BQU07O0FBRXBCLFVBQVUsTUFBTTs7QUFFaEI7QUFDQSxZQUFZLE1BQU07QUFDbEI7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDJCQUEyQixNQUFNO0FBQ2pDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBdUMsTUFBTTtBQUM3QyxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQixrQkFBa0I7QUFDcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLG1CQUFtQixNQUFNO0FBQ3pCLE1BQU07QUFDTixtQkFBbUIsTUFBTTtBQUN6QixNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCLE1BQU07QUFDckMsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRDQUE0QyxNQUFNO0FBQ2xELE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvZXRoLWVpcDcxMi11dGlsL2FiaS5qcz83M2FhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEV4dHJhY3RlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtYWJpIGFuZCBzdHJpcHBlZCBvdXQgaXJyZWxldmFudCBjb2RlXG4vLyBPcmlnaW5hbCBjb2RlIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAtIENvcHlyaWdodCAoYykgMjAxNSBBbGV4IEJlcmVnc3phc3ppXG5cbmNvbnN0IHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKVxuY29uc3QgQk4gPSByZXF1aXJlKCdibi5qcycpXG5cbi8vIENvbnZlcnQgZnJvbSBzaG9ydCB0byBjYW5vbmljYWwgbmFtZXNcbi8vIEZJWE1FOiBvcHRpbWlzZSBvciBtYWtlIHRoaXMgbmljZXI/XG5mdW5jdGlvbiBlbGVtZW50YXJ5TmFtZSAobmFtZSkge1xuICBpZiAobmFtZS5zdGFydHNXaXRoKCdpbnRbJykpIHtcbiAgICByZXR1cm4gJ2ludDI1NicgKyBuYW1lLnNsaWNlKDMpXG4gIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2ludCcpIHtcbiAgICByZXR1cm4gJ2ludDI1NidcbiAgfSBlbHNlIGlmIChuYW1lLnN0YXJ0c1dpdGgoJ3VpbnRbJykpIHtcbiAgICByZXR1cm4gJ3VpbnQyNTYnICsgbmFtZS5zbGljZSg0KVxuICB9IGVsc2UgaWYgKG5hbWUgPT09ICd1aW50Jykge1xuICAgIHJldHVybiAndWludDI1NidcbiAgfSBlbHNlIGlmIChuYW1lLnN0YXJ0c1dpdGgoJ2ZpeGVkWycpKSB7XG4gICAgcmV0dXJuICdmaXhlZDEyOHgxMjgnICsgbmFtZS5zbGljZSg1KVxuICB9IGVsc2UgaWYgKG5hbWUgPT09ICdmaXhlZCcpIHtcbiAgICByZXR1cm4gJ2ZpeGVkMTI4eDEyOCdcbiAgfSBlbHNlIGlmIChuYW1lLnN0YXJ0c1dpdGgoJ3VmaXhlZFsnKSkge1xuICAgIHJldHVybiAndWZpeGVkMTI4eDEyOCcgKyBuYW1lLnNsaWNlKDYpXG4gIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3VmaXhlZCcpIHtcbiAgICByZXR1cm4gJ3VmaXhlZDEyOHgxMjgnXG4gIH1cbiAgcmV0dXJuIG5hbWVcbn1cblxuLy8gUGFyc2UgTiBmcm9tIHR5cGU8Tj5cbmZ1bmN0aW9uIHBhcnNlVHlwZU4gKHR5cGUpIHtcbiAgcmV0dXJuIHBhcnNlSW50KC9eXFxEKyhcXGQrKSQvLmV4ZWModHlwZSlbMV0sIDEwKVxufVxuXG4vLyBQYXJzZSBOLE0gZnJvbSB0eXBlPE4+eDxNPlxuZnVuY3Rpb24gcGFyc2VUeXBlTnhNICh0eXBlKSB7XG4gIHZhciB0bXAgPSAvXlxcRCsoXFxkKyl4KFxcZCspJC8uZXhlYyh0eXBlKVxuICByZXR1cm4gWyBwYXJzZUludCh0bXBbMV0sIDEwKSwgcGFyc2VJbnQodG1wWzJdLCAxMCkgXVxufVxuXG4vLyBQYXJzZSBOIGluIHR5cGVbPE4+XSB3aGVyZSBcInR5cGVcIiBjYW4gaXRzZWxmIGJlIGFuIGFycmF5IHR5cGUuXG5mdW5jdGlvbiBwYXJzZVR5cGVBcnJheSAodHlwZSkge1xuICB2YXIgdG1wID0gdHlwZS5tYXRjaCgvKC4qKVxcWyguKj8pXFxdJC8pXG4gIGlmICh0bXApIHtcbiAgICByZXR1cm4gdG1wWzJdID09PSAnJyA/ICdkeW5hbWljJyA6IHBhcnNlSW50KHRtcFsyXSwgMTApXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZnVuY3Rpb24gcGFyc2VOdW1iZXIgKGFyZykge1xuICB2YXIgdHlwZSA9IHR5cGVvZiBhcmdcbiAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHV0aWwuaXNIZXhTdHJpbmcoYXJnKSkge1xuICAgICAgcmV0dXJuIG5ldyBCTih1dGlsLnN0cmlwSGV4UHJlZml4KGFyZyksIDE2KVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IEJOKGFyZywgMTApXG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIG5ldyBCTihhcmcpXG4gIH0gZWxzZSBpZiAoYXJnLnRvQXJyYXkpIHtcbiAgICAvLyBhc3N1bWUgdGhpcyBpcyBhIEJOIGZvciB0aGUgbW9tZW50LCByZXBsYWNlIHdpdGggQk4uaXNCTiBzb29uXG4gICAgcmV0dXJuIGFyZ1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignQXJndW1lbnQgaXMgbm90IGEgbnVtYmVyJylcbiAgfVxufVxuXG4vLyBFbmNvZGVzIGEgc2luZ2xlIGl0ZW0gKGNhbiBiZSBkeW5hbWljIGFycmF5KVxuLy8gQHJldHVybnM6IEJ1ZmZlclxuZnVuY3Rpb24gZW5jb2RlU2luZ2xlICh0eXBlLCBhcmcpIHtcbiAgdmFyIHNpemUsIG51bSwgcmV0LCBpXG5cbiAgaWYgKHR5cGUgPT09ICdhZGRyZXNzJykge1xuICAgIHJldHVybiBlbmNvZGVTaW5nbGUoJ3VpbnQxNjAnLCBwYXJzZU51bWJlcihhcmcpKVxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdib29sJykge1xuICAgIHJldHVybiBlbmNvZGVTaW5nbGUoJ3VpbnQ4JywgYXJnID8gMSA6IDApXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZW5jb2RlU2luZ2xlKCdieXRlcycsIG5ldyBCdWZmZXIoYXJnLCAndXRmOCcpKVxuICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAvLyB0aGlzIHBhcnQgaGFuZGxlcyBmaXhlZC1sZW5ndGggKFsyXSkgYW5kIHZhcmlhYmxlIGxlbmd0aCAoW10pIGFycmF5c1xuICAgIC8vIE5PVEU6IHdlIGNhdGNoIGhlcmUgYWxsIGNhbGxzIHRvIGFycmF5cywgdGhhdCBzaW1wbGlmaWVzIHRoZSByZXN0XG4gICAgaWYgKHR5cGVvZiBhcmcubGVuZ3RoID09PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgYW4gYXJyYXk/JylcbiAgICB9XG4gICAgc2l6ZSA9IHBhcnNlVHlwZUFycmF5KHR5cGUpXG4gICAgaWYgKHNpemUgIT09ICdkeW5hbWljJyAmJiBzaXplICE9PSAwICYmIGFyZy5sZW5ndGggPiBzaXplKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VsZW1lbnRzIGV4Y2VlZCBhcnJheSBzaXplOiAnICsgc2l6ZSlcbiAgICB9XG4gICAgcmV0ID0gW11cbiAgICB0eXBlID0gdHlwZS5zbGljZSgwLCB0eXBlLmxhc3RJbmRleE9mKCdbJykpXG4gICAgaWYgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhcmcgPSBKU09OLnBhcnNlKGFyZylcbiAgICB9XG4gICAgZm9yIChpIGluIGFyZykge1xuICAgICAgcmV0LnB1c2goZW5jb2RlU2luZ2xlKHR5cGUsIGFyZ1tpXSkpXG4gICAgfVxuICAgIGlmIChzaXplID09PSAnZHluYW1pYycpIHtcbiAgICAgIHZhciBsZW5ndGggPSBlbmNvZGVTaW5nbGUoJ3VpbnQyNTYnLCBhcmcubGVuZ3RoKVxuICAgICAgcmV0LnVuc2hpZnQobGVuZ3RoKVxuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChyZXQpXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2J5dGVzJykge1xuICAgIGFyZyA9IG5ldyBCdWZmZXIoYXJnKVxuXG4gICAgcmV0ID0gQnVmZmVyLmNvbmNhdChbIGVuY29kZVNpbmdsZSgndWludDI1NicsIGFyZy5sZW5ndGgpLCBhcmcgXSlcblxuICAgIGlmICgoYXJnLmxlbmd0aCAlIDMyKSAhPT0gMCkge1xuICAgICAgcmV0ID0gQnVmZmVyLmNvbmNhdChbIHJldCwgdXRpbC56ZXJvcygzMiAtIChhcmcubGVuZ3RoICUgMzIpKSBdKVxuICAgIH1cblxuICAgIHJldHVybiByZXRcbiAgfSBlbHNlIGlmICh0eXBlLnN0YXJ0c1dpdGgoJ2J5dGVzJykpIHtcbiAgICBzaXplID0gcGFyc2VUeXBlTih0eXBlKVxuICAgIGlmIChzaXplIDwgMSB8fCBzaXplID4gMzIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBieXRlczxOPiB3aWR0aDogJyArIHNpemUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHV0aWwuc2V0TGVuZ3RoUmlnaHQoYXJnLCAzMilcbiAgfSBlbHNlIGlmICh0eXBlLnN0YXJ0c1dpdGgoJ3VpbnQnKSkge1xuICAgIHNpemUgPSBwYXJzZVR5cGVOKHR5cGUpXG4gICAgaWYgKChzaXplICUgOCkgfHwgKHNpemUgPCA4KSB8fCAoc2l6ZSA+IDI1NikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1aW50PE4+IHdpZHRoOiAnICsgc2l6ZSlcbiAgICB9XG5cbiAgICBudW0gPSBwYXJzZU51bWJlcihhcmcpXG4gICAgaWYgKG51bS5iaXRMZW5ndGgoKSA+IHNpemUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3VwcGxpZWQgdWludCBleGNlZWRzIHdpZHRoOiAnICsgc2l6ZSArICcgdnMgJyArIG51bS5iaXRMZW5ndGgoKSlcbiAgICB9XG5cbiAgICBpZiAobnVtIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdXBwbGllZCB1aW50IGlzIG5lZ2F0aXZlJylcbiAgICB9XG5cbiAgICByZXR1cm4gbnVtLnRvQXJyYXlMaWtlKEJ1ZmZlciwgJ2JlJywgMzIpXG4gIH0gZWxzZSBpZiAodHlwZS5zdGFydHNXaXRoKCdpbnQnKSkge1xuICAgIHNpemUgPSBwYXJzZVR5cGVOKHR5cGUpXG4gICAgaWYgKChzaXplICUgOCkgfHwgKHNpemUgPCA4KSB8fCAoc2l6ZSA+IDI1NikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnQ8Tj4gd2lkdGg6ICcgKyBzaXplKVxuICAgIH1cblxuICAgIG51bSA9IHBhcnNlTnVtYmVyKGFyZylcbiAgICBpZiAobnVtLmJpdExlbmd0aCgpID4gc2l6ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdXBwbGllZCBpbnQgZXhjZWVkcyB3aWR0aDogJyArIHNpemUgKyAnIHZzICcgKyBudW0uYml0TGVuZ3RoKCkpXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bS50b1R3b3MoMjU2KS50b0FycmF5TGlrZShCdWZmZXIsICdiZScsIDMyKVxuICB9IGVsc2UgaWYgKHR5cGUuc3RhcnRzV2l0aCgndWZpeGVkJykpIHtcbiAgICBzaXplID0gcGFyc2VUeXBlTnhNKHR5cGUpXG5cbiAgICBudW0gPSBwYXJzZU51bWJlcihhcmcpXG5cbiAgICBpZiAobnVtIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdXBwbGllZCB1Zml4ZWQgaXMgbmVnYXRpdmUnKVxuICAgIH1cblxuICAgIHJldHVybiBlbmNvZGVTaW5nbGUoJ3VpbnQyNTYnLCBudW0ubXVsKG5ldyBCTigyKS5wb3cobmV3IEJOKHNpemVbMV0pKSkpXG4gIH0gZWxzZSBpZiAodHlwZS5zdGFydHNXaXRoKCdmaXhlZCcpKSB7XG4gICAgc2l6ZSA9IHBhcnNlVHlwZU54TSh0eXBlKVxuXG4gICAgcmV0dXJuIGVuY29kZVNpbmdsZSgnaW50MjU2JywgcGFyc2VOdW1iZXIoYXJnKS5tdWwobmV3IEJOKDIpLnBvdyhuZXcgQk4oc2l6ZVsxXSkpKSlcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgb3IgaW52YWxpZCB0eXBlOiAnICsgdHlwZSlcbn1cblxuLy8gSXMgYSB0eXBlIGR5bmFtaWM/XG5mdW5jdGlvbiBpc0R5bmFtaWMgKHR5cGUpIHtcbiAgLy8gRklYTUU6IGhhbmRsZSBhbGwgdHlwZXM/IEkgZG9uJ3QgdGhpbmsgYW55dGhpbmcgaXMgbWlzc2luZyBub3dcbiAgcmV0dXJuICh0eXBlID09PSAnc3RyaW5nJykgfHwgKHR5cGUgPT09ICdieXRlcycpIHx8IChwYXJzZVR5cGVBcnJheSh0eXBlKSA9PT0gJ2R5bmFtaWMnKVxufVxuXG4vLyBJcyBhIHR5cGUgYW4gYXJyYXk/XG5mdW5jdGlvbiBpc0FycmF5ICh0eXBlKSB7XG4gIHJldHVybiB0eXBlLmxhc3RJbmRleE9mKCddJykgPT09IHR5cGUubGVuZ3RoIC0gMVxufVxuXG4vLyBFbmNvZGUgYSBtZXRob2QvZXZlbnQgd2l0aCBhcmd1bWVudHNcbi8vIEB0eXBlcyBhbiBhcnJheSBvZiBzdHJpbmcgdHlwZSBuYW1lc1xuLy8gQGFyZ3MgIGFuIGFycmF5IG9mIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXNcbmZ1bmN0aW9uIHJhd0VuY29kZSAodHlwZXMsIHZhbHVlcykge1xuICB2YXIgb3V0cHV0ID0gW11cbiAgdmFyIGRhdGEgPSBbXVxuXG4gIHZhciBoZWFkTGVuZ3RoID0gMzIgKiB0eXBlcy5sZW5ndGhcblxuICBmb3IgKHZhciBpIGluIHR5cGVzKSB7XG4gICAgdmFyIHR5cGUgPSBlbGVtZW50YXJ5TmFtZSh0eXBlc1tpXSlcbiAgICB2YXIgdmFsdWUgPSB2YWx1ZXNbaV1cbiAgICB2YXIgY3VyID0gZW5jb2RlU2luZ2xlKHR5cGUsIHZhbHVlKVxuXG4gICAgLy8gVXNlIHRoZSBoZWFkL3RhaWwgbWV0aG9kIGZvciBzdG9yaW5nIGR5bmFtaWMgZGF0YVxuICAgIGlmIChpc0R5bmFtaWModHlwZSkpIHtcbiAgICAgIG91dHB1dC5wdXNoKGVuY29kZVNpbmdsZSgndWludDI1NicsIGhlYWRMZW5ndGgpKVxuICAgICAgZGF0YS5wdXNoKGN1cilcbiAgICAgIGhlYWRMZW5ndGggKz0gY3VyLmxlbmd0aFxuICAgIH0gZWxzZSB7XG4gICAgICBvdXRwdXQucHVzaChjdXIpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQob3V0cHV0LmNvbmNhdChkYXRhKSlcbn1cblxuZnVuY3Rpb24gc29saWRpdHlQYWNrICh0eXBlcywgdmFsdWVzKSB7XG4gIGlmICh0eXBlcy5sZW5ndGggIT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ051bWJlciBvZiB0eXBlcyBhcmUgbm90IG1hdGNoaW5nIHRoZSB2YWx1ZXMnKVxuICB9XG5cbiAgdmFyIHNpemUsIG51bVxuICB2YXIgcmV0ID0gW11cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHR5cGUgPSBlbGVtZW50YXJ5TmFtZSh0eXBlc1tpXSlcbiAgICB2YXIgdmFsdWUgPSB2YWx1ZXNbaV1cblxuICAgIGlmICh0eXBlID09PSAnYnl0ZXMnKSB7XG4gICAgICByZXQucHVzaCh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXQucHVzaChuZXcgQnVmZmVyKHZhbHVlLCAndXRmOCcpKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Jvb2wnKSB7XG4gICAgICByZXQucHVzaChuZXcgQnVmZmVyKHZhbHVlID8gJzAxJyA6ICcwMCcsICdoZXgnKSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdhZGRyZXNzJykge1xuICAgICAgcmV0LnB1c2godXRpbC5zZXRMZW5ndGgodmFsdWUsIDIwKSlcbiAgICB9IGVsc2UgaWYgKHR5cGUuc3RhcnRzV2l0aCgnYnl0ZXMnKSkge1xuICAgICAgc2l6ZSA9IHBhcnNlVHlwZU4odHlwZSlcbiAgICAgIGlmIChzaXplIDwgMSB8fCBzaXplID4gMzIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJ5dGVzPE4+IHdpZHRoOiAnICsgc2l6ZSlcbiAgICAgIH1cblxuICAgICAgcmV0LnB1c2godXRpbC5zZXRMZW5ndGhSaWdodCh2YWx1ZSwgc2l6ZSkpXG4gICAgfSBlbHNlIGlmICh0eXBlLnN0YXJ0c1dpdGgoJ3VpbnQnKSkge1xuICAgICAgc2l6ZSA9IHBhcnNlVHlwZU4odHlwZSlcbiAgICAgIGlmICgoc2l6ZSAlIDgpIHx8IChzaXplIDwgOCkgfHwgKHNpemUgPiAyNTYpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1aW50PE4+IHdpZHRoOiAnICsgc2l6ZSlcbiAgICAgIH1cblxuICAgICAgbnVtID0gcGFyc2VOdW1iZXIodmFsdWUpXG4gICAgICBpZiAobnVtLmJpdExlbmd0aCgpID4gc2l6ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N1cHBsaWVkIHVpbnQgZXhjZWVkcyB3aWR0aDogJyArIHNpemUgKyAnIHZzICcgKyBudW0uYml0TGVuZ3RoKCkpXG4gICAgICB9XG5cbiAgICAgIHJldC5wdXNoKG51bS50b0FycmF5TGlrZShCdWZmZXIsICdiZScsIHNpemUgLyA4KSlcbiAgICB9IGVsc2UgaWYgKHR5cGUuc3RhcnRzV2l0aCgnaW50JykpIHtcbiAgICAgIHNpemUgPSBwYXJzZVR5cGVOKHR5cGUpXG4gICAgICBpZiAoKHNpemUgJSA4KSB8fCAoc2l6ZSA8IDgpIHx8IChzaXplID4gMjU2KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50PE4+IHdpZHRoOiAnICsgc2l6ZSlcbiAgICAgIH1cblxuICAgICAgbnVtID0gcGFyc2VOdW1iZXIodmFsdWUpXG4gICAgICBpZiAobnVtLmJpdExlbmd0aCgpID4gc2l6ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N1cHBsaWVkIGludCBleGNlZWRzIHdpZHRoOiAnICsgc2l6ZSArICcgdnMgJyArIG51bS5iaXRMZW5ndGgoKSlcbiAgICAgIH1cblxuICAgICAgcmV0LnB1c2gobnVtLnRvVHdvcyhzaXplKS50b0FycmF5TGlrZShCdWZmZXIsICdiZScsIHNpemUgLyA4KSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRklYTUU6IHN1cHBvcnQgYWxsIG90aGVyIHR5cGVzXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG9yIGludmFsaWQgdHlwZTogJyArIHR5cGUpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQocmV0KVxufVxuXG5mdW5jdGlvbiBzb2xpZGl0eVNIQTMgKHR5cGVzLCB2YWx1ZXMpIHtcbiAgcmV0dXJuIHV0aWwua2VjY2FrKHNvbGlkaXR5UGFjayh0eXBlcywgdmFsdWVzKSlcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHJhd0VuY29kZSxcbiAgc29saWRpdHlQYWNrLFxuICBzb2xpZGl0eVNIQTNcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/abi.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/index.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/index.js ***! - \***********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\nconst util = __webpack_require__(/*! ./util */ \"./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js\")\nconst abi = __webpack_require__(/*! ./abi */ \"./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/abi.js\")\n\nconst TYPED_MESSAGE_SCHEMA = {\n type: 'object',\n properties: {\n types: {\n type: 'object',\n additionalProperties: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {type: 'string'},\n type: {type: 'string'},\n },\n required: ['name', 'type'],\n },\n },\n },\n primaryType: {type: 'string'},\n domain: {type: 'object'},\n message: {type: 'object'},\n },\n required: ['types', 'primaryType', 'domain', 'message'],\n}\n\n/**\n * A collection of utility functions used for signing typed data\n */\nconst TypedDataUtils = {\n /**\n * Encodes an object by encoding and concatenating each of its members\n *\n * @param {string} primaryType - Root type\n * @param {Object} data - Object to encode\n * @param {Object} types - Type definitions\n * @returns {string} - Encoded representation of an object\n */\n encodeData (primaryType, data, types, useV4 = true) {\n const encodedTypes = ['bytes32']\n const encodedValues = [this.hashType(primaryType, types)]\n\n if(useV4) {\n const encodeField = (name, type, value) => {\n if (types[type] !== undefined) {\n return ['bytes32', value == null ?\n '0x0000000000000000000000000000000000000000000000000000000000000000' :\n util.keccak(this.encodeData(type, value, types, useV4))]\n }\n\n if(value === undefined)\n throw new Error(`missing value for field ${name} of type ${type}`)\n\n if (type === 'bytes') {\n return ['bytes32', util.keccak(value)]\n }\n\n if (type === 'string') {\n // convert string to buffer - prevents ethUtil from interpreting strings like '0xabcd' as hex\n if (typeof value === 'string') {\n value = Buffer.from(value, 'utf8')\n }\n return ['bytes32', util.keccak(value)]\n }\n\n if (type.lastIndexOf(']') === type.length - 1) {\n const parsedType = type.slice(0, type.lastIndexOf('['))\n const typeValuePairs = value.map(item =>\n encodeField(name, parsedType, item))\n return ['bytes32', util.keccak(abi.rawEncode(\n typeValuePairs.map(([type]) => type),\n typeValuePairs.map(([, value]) => value),\n ))]\n }\n\n return [type, value]\n }\n\n for (const field of types[primaryType]) {\n const [type, value] = encodeField(field.name, field.type, data[field.name])\n encodedTypes.push(type)\n encodedValues.push(value)\n }\n } else {\n for (const field of types[primaryType]) {\n let value = data[field.name]\n if (value !== undefined) {\n if (field.type === 'bytes') {\n encodedTypes.push('bytes32')\n value = util.keccak(value)\n encodedValues.push(value)\n } else if (field.type === 'string') {\n encodedTypes.push('bytes32')\n // convert string to buffer - prevents ethUtil from interpreting strings like '0xabcd' as hex\n if (typeof value === 'string') {\n value = Buffer.from(value, 'utf8')\n }\n value = util.keccak(value)\n encodedValues.push(value)\n } else if (types[field.type] !== undefined) {\n encodedTypes.push('bytes32')\n value = util.keccak(this.encodeData(field.type, value, types, useV4))\n encodedValues.push(value)\n } else if (field.type.lastIndexOf(']') === field.type.length - 1) {\n throw new Error('Arrays currently unimplemented in encodeData')\n } else {\n encodedTypes.push(field.type)\n encodedValues.push(value)\n }\n }\n }\n }\n\n return abi.rawEncode(encodedTypes, encodedValues)\n },\n\n /**\n * Encodes the type of an object by encoding a comma delimited list of its members\n *\n * @param {string} primaryType - Root type to encode\n * @param {Object} types - Type definitions\n * @returns {string} - Encoded representation of the type of an object\n */\n encodeType (primaryType, types) {\n let result = ''\n let deps = this.findTypeDependencies(primaryType, types).filter(dep => dep !== primaryType)\n deps = [primaryType].concat(deps.sort())\n for (const type of deps) {\n const children = types[type]\n if (!children) {\n throw new Error('No type definition specified: ' + type)\n }\n result += type + '(' + types[type].map(({ name, type }) => type + ' ' + name).join(',') + ')'\n }\n return result\n },\n\n /**\n * Finds all types within a type defintion object\n *\n * @param {string} primaryType - Root type\n * @param {Object} types - Type definitions\n * @param {Array} results - current set of accumulated types\n * @returns {Array} - Set of all types found in the type definition\n */\n findTypeDependencies (primaryType, types, results = []) {\n primaryType = primaryType.match(/^\\w*/)[0]\n if (results.includes(primaryType) || types[primaryType] === undefined) { return results }\n results.push(primaryType)\n for (const field of types[primaryType]) {\n for (const dep of this.findTypeDependencies(field.type, types, results)) {\n !results.includes(dep) && results.push(dep)\n }\n }\n return results\n },\n\n /**\n * Hashes an object\n *\n * @param {string} primaryType - Root type\n * @param {Object} data - Object to hash\n * @param {Object} types - Type definitions\n * @returns {Buffer} - Hash of an object\n */\n hashStruct (primaryType, data, types, useV4 = true) {\n return util.keccak(this.encodeData(primaryType, data, types, useV4))\n },\n\n /**\n * Hashes the type of an object\n *\n * @param {string} primaryType - Root type to hash\n * @param {Object} types - Type definitions\n * @returns {string} - Hash of an object\n */\n hashType (primaryType, types) {\n return util.keccak(this.encodeType(primaryType, types))\n },\n\n /**\n * Removes properties from a message object that are not defined per EIP-712\n *\n * @param {Object} data - typed message object\n * @returns {Object} - typed message object with only allowed fields\n */\n sanitizeData (data) {\n const sanitizedData = {}\n for (const key in TYPED_MESSAGE_SCHEMA.properties) {\n data[key] && (sanitizedData[key] = data[key])\n }\n if (sanitizedData.types) {\n sanitizedData.types = Object.assign({ EIP712Domain: [] }, sanitizedData.types)\n }\n return sanitizedData\n },\n\n /**\n * Returns the hash of a typed message as per EIP-712 for signing\n *\n * @param {Object} typedData - Types message data to sign\n * @returns {string} - sha3 hash for signing\n */\n hash (typedData, useV4 = true) {\n const sanitizedData = this.sanitizeData(typedData)\n const parts = [Buffer.from('1901', 'hex')]\n parts.push(this.hashStruct('EIP712Domain', sanitizedData.domain, sanitizedData.types, useV4))\n if (sanitizedData.primaryType !== 'EIP712Domain') {\n parts.push(this.hashStruct(sanitizedData.primaryType, sanitizedData.message, sanitizedData.types, useV4))\n }\n return util.keccak(Buffer.concat(parts))\n },\n}\n\nmodule.exports = {\n TYPED_MESSAGE_SCHEMA,\n TypedDataUtils,\n\n hashForSignTypedDataLegacy: function (msgParams) {\n return typedSignatureHashLegacy(msgParams.data)\n },\n\n hashForSignTypedData_v3: function (msgParams) {\n return TypedDataUtils.hash(msgParams.data, false)\n },\n\n hashForSignTypedData_v4: function (msgParams) {\n return TypedDataUtils.hash(msgParams.data)\n },\n}\n\n/**\n * @param typedData - Array of data along with types, as per EIP712.\n * @returns Buffer\n */\nfunction typedSignatureHashLegacy(typedData) {\n const error = new Error('Expect argument to be non-empty array')\n if (typeof typedData !== 'object' || !typedData.length) throw error\n\n const data = typedData.map(function (e) {\n return e.type === 'bytes' ? util.toBuffer(e.value) : e.value\n })\n const types = typedData.map(function (e) { return e.type })\n const schema = typedData.map(function (e) {\n if (!e.name) throw error\n return e.type + ' ' + e.name\n })\n\n return abi.soliditySHA3(\n ['bytes32', 'bytes32'],\n [\n abi.soliditySHA3(new Array(typedData.length).fill('string'), schema),\n abi.soliditySHA3(types, data)\n ]\n )\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvZXRoLWVpcDcxMi11dGlsL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxhQUFhLG1CQUFPLENBQUMsMEZBQVE7QUFDN0IsWUFBWSxtQkFBTyxDQUFDLHdGQUFPOztBQUUzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixlQUFlO0FBQ2xDLG1CQUFtQixlQUFlO0FBQ2xDLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSztBQUNMLGtCQUFrQixlQUFlO0FBQ2pDLGFBQWEsZUFBZTtBQUM1QixjQUFjLGVBQWU7QUFDN0IsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsUUFBUTtBQUNyQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxREFBcUQsTUFBTSxVQUFVLEtBQUs7O0FBRTFFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsTUFBTTtBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsTUFBTTtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsUUFBUTtBQUNyQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsWUFBWTtBQUM1RDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsT0FBTztBQUNwQixlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0EsNkVBQTZFO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsUUFBUTtBQUNyQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsa0JBQWtCO0FBQzlEO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLE1BQU07QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsTUFBTTtBQUM3QixHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSCw2Q0FBNkMsZUFBZTtBQUM1RDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvdmVuZG9yLWpzL2V0aC1laXA3MTItdXRpbC9pbmRleC5qcz80ZWRiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKVxuY29uc3QgYWJpID0gcmVxdWlyZSgnLi9hYmknKVxuXG5jb25zdCBUWVBFRF9NRVNTQUdFX1NDSEVNQSA9IHtcbiAgdHlwZTogJ29iamVjdCcsXG4gIHByb3BlcnRpZXM6IHtcbiAgICB0eXBlczoge1xuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczoge1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBpdGVtczoge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIG5hbWU6IHt0eXBlOiAnc3RyaW5nJ30sXG4gICAgICAgICAgICB0eXBlOiB7dHlwZTogJ3N0cmluZyd9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsnbmFtZScsICd0eXBlJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJpbWFyeVR5cGU6IHt0eXBlOiAnc3RyaW5nJ30sXG4gICAgZG9tYWluOiB7dHlwZTogJ29iamVjdCd9LFxuICAgIG1lc3NhZ2U6IHt0eXBlOiAnb2JqZWN0J30sXG4gIH0sXG4gIHJlcXVpcmVkOiBbJ3R5cGVzJywgJ3ByaW1hcnlUeXBlJywgJ2RvbWFpbicsICdtZXNzYWdlJ10sXG59XG5cbi8qKlxuICogQSBjb2xsZWN0aW9uIG9mIHV0aWxpdHkgZnVuY3Rpb25zIHVzZWQgZm9yIHNpZ25pbmcgdHlwZWQgZGF0YVxuICovXG5jb25zdCBUeXBlZERhdGFVdGlscyA9IHtcbiAgLyoqXG4gICAqIEVuY29kZXMgYW4gb2JqZWN0IGJ5IGVuY29kaW5nIGFuZCBjb25jYXRlbmF0aW5nIGVhY2ggb2YgaXRzIG1lbWJlcnNcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByaW1hcnlUeXBlIC0gUm9vdCB0eXBlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gT2JqZWN0IHRvIGVuY29kZVxuICAgKiBAcGFyYW0ge09iamVjdH0gdHlwZXMgLSBUeXBlIGRlZmluaXRpb25zXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gRW5jb2RlZCByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3RcbiAgICovXG4gIGVuY29kZURhdGEgKHByaW1hcnlUeXBlLCBkYXRhLCB0eXBlcywgdXNlVjQgPSB0cnVlKSB7XG4gICAgY29uc3QgZW5jb2RlZFR5cGVzID0gWydieXRlczMyJ11cbiAgICBjb25zdCBlbmNvZGVkVmFsdWVzID0gW3RoaXMuaGFzaFR5cGUocHJpbWFyeVR5cGUsIHR5cGVzKV1cblxuICAgIGlmKHVzZVY0KSB7XG4gICAgICBjb25zdCBlbmNvZGVGaWVsZCA9IChuYW1lLCB0eXBlLCB2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZXNbdHlwZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBbJ2J5dGVzMzInLCB2YWx1ZSA9PSBudWxsID9cbiAgICAgICAgICAgICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnIDpcbiAgICAgICAgICAgIHV0aWwua2VjY2FrKHRoaXMuZW5jb2RlRGF0YSh0eXBlLCB2YWx1ZSwgdHlwZXMsIHVzZVY0KSldXG4gICAgICAgIH1cblxuICAgICAgICBpZih2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyB2YWx1ZSBmb3IgZmllbGQgJHtuYW1lfSBvZiB0eXBlICR7dHlwZX1gKVxuXG4gICAgICAgIGlmICh0eXBlID09PSAnYnl0ZXMnKSB7XG4gICAgICAgICAgcmV0dXJuIFsnYnl0ZXMzMicsIHV0aWwua2VjY2FrKHZhbHVlKV1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIC8vIGNvbnZlcnQgc3RyaW5nIHRvIGJ1ZmZlciAtIHByZXZlbnRzIGV0aFV0aWwgZnJvbSBpbnRlcnByZXRpbmcgc3RyaW5ncyBsaWtlICcweGFiY2QnIGFzIGhleFxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IEJ1ZmZlci5mcm9tKHZhbHVlLCAndXRmOCcpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBbJ2J5dGVzMzInLCB1dGlsLmtlY2Nhayh2YWx1ZSldXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZS5sYXN0SW5kZXhPZignXScpID09PSB0eXBlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdHlwZS5zbGljZSgwLCB0eXBlLmxhc3RJbmRleE9mKCdbJykpXG4gICAgICAgICAgY29uc3QgdHlwZVZhbHVlUGFpcnMgPSB2YWx1ZS5tYXAoaXRlbSA9PlxuICAgICAgICAgICAgZW5jb2RlRmllbGQobmFtZSwgcGFyc2VkVHlwZSwgaXRlbSkpXG4gICAgICAgICAgcmV0dXJuIFsnYnl0ZXMzMicsIHV0aWwua2VjY2FrKGFiaS5yYXdFbmNvZGUoXG4gICAgICAgICAgICB0eXBlVmFsdWVQYWlycy5tYXAoKFt0eXBlXSkgPT4gdHlwZSksXG4gICAgICAgICAgICB0eXBlVmFsdWVQYWlycy5tYXAoKFssIHZhbHVlXSkgPT4gdmFsdWUpLFxuICAgICAgICAgICkpXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFt0eXBlLCB2YWx1ZV1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0eXBlc1twcmltYXJ5VHlwZV0pIHtcbiAgICAgICAgY29uc3QgW3R5cGUsIHZhbHVlXSA9IGVuY29kZUZpZWxkKGZpZWxkLm5hbWUsIGZpZWxkLnR5cGUsIGRhdGFbZmllbGQubmFtZV0pXG4gICAgICAgIGVuY29kZWRUeXBlcy5wdXNoKHR5cGUpXG4gICAgICAgIGVuY29kZWRWYWx1ZXMucHVzaCh2YWx1ZSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0eXBlc1twcmltYXJ5VHlwZV0pIHtcbiAgICAgICAgbGV0IHZhbHVlID0gZGF0YVtmaWVsZC5uYW1lXVxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYnl0ZXMnKSB7XG4gICAgICAgICAgICBlbmNvZGVkVHlwZXMucHVzaCgnYnl0ZXMzMicpXG4gICAgICAgICAgICB2YWx1ZSA9IHV0aWwua2VjY2FrKHZhbHVlKVxuICAgICAgICAgICAgZW5jb2RlZFZhbHVlcy5wdXNoKHZhbHVlKVxuICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGVuY29kZWRUeXBlcy5wdXNoKCdieXRlczMyJylcbiAgICAgICAgICAgIC8vIGNvbnZlcnQgc3RyaW5nIHRvIGJ1ZmZlciAtIHByZXZlbnRzIGV0aFV0aWwgZnJvbSBpbnRlcnByZXRpbmcgc3RyaW5ncyBsaWtlICcweGFiY2QnIGFzIGhleFxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBCdWZmZXIuZnJvbSh2YWx1ZSwgJ3V0ZjgnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWUgPSB1dGlsLmtlY2Nhayh2YWx1ZSlcbiAgICAgICAgICAgIGVuY29kZWRWYWx1ZXMucHVzaCh2YWx1ZSlcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVzW2ZpZWxkLnR5cGVdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVuY29kZWRUeXBlcy5wdXNoKCdieXRlczMyJylcbiAgICAgICAgICAgIHZhbHVlID0gdXRpbC5rZWNjYWsodGhpcy5lbmNvZGVEYXRhKGZpZWxkLnR5cGUsIHZhbHVlLCB0eXBlcywgdXNlVjQpKVxuICAgICAgICAgICAgZW5jb2RlZFZhbHVlcy5wdXNoKHZhbHVlKVxuICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZS5sYXN0SW5kZXhPZignXScpID09PSBmaWVsZC50eXBlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXlzIGN1cnJlbnRseSB1bmltcGxlbWVudGVkIGluIGVuY29kZURhdGEnKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbmNvZGVkVHlwZXMucHVzaChmaWVsZC50eXBlKVxuICAgICAgICAgICAgZW5jb2RlZFZhbHVlcy5wdXNoKHZhbHVlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhYmkucmF3RW5jb2RlKGVuY29kZWRUeXBlcywgZW5jb2RlZFZhbHVlcylcbiAgfSxcblxuICAvKipcbiAgICogRW5jb2RlcyB0aGUgdHlwZSBvZiBhbiBvYmplY3QgYnkgZW5jb2RpbmcgYSBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBpdHMgbWVtYmVyc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJpbWFyeVR5cGUgLSBSb290IHR5cGUgdG8gZW5jb2RlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSB0eXBlcyAtIFR5cGUgZGVmaW5pdGlvbnNcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBFbmNvZGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0eXBlIG9mIGFuIG9iamVjdFxuICAgKi9cbiAgZW5jb2RlVHlwZSAocHJpbWFyeVR5cGUsIHR5cGVzKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnXG4gICAgbGV0IGRlcHMgPSB0aGlzLmZpbmRUeXBlRGVwZW5kZW5jaWVzKHByaW1hcnlUeXBlLCB0eXBlcykuZmlsdGVyKGRlcCA9PiBkZXAgIT09IHByaW1hcnlUeXBlKVxuICAgIGRlcHMgPSBbcHJpbWFyeVR5cGVdLmNvbmNhdChkZXBzLnNvcnQoKSlcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgZGVwcykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSB0eXBlc1t0eXBlXVxuICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHR5cGUgZGVmaW5pdGlvbiBzcGVjaWZpZWQ6ICcgKyB0eXBlKVxuICAgICAgfVxuICAgICAgcmVzdWx0ICs9IHR5cGUgKyAnKCcgKyB0eXBlc1t0eXBlXS5tYXAoKHsgbmFtZSwgdHlwZSB9KSA9PiB0eXBlICsgJyAnICsgbmFtZSkuam9pbignLCcpICsgJyknXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfSxcblxuICAvKipcbiAgICogRmluZHMgYWxsIHR5cGVzIHdpdGhpbiBhIHR5cGUgZGVmaW50aW9uIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJpbWFyeVR5cGUgLSBSb290IHR5cGVcbiAgICogQHBhcmFtIHtPYmplY3R9IHR5cGVzIC0gVHlwZSBkZWZpbml0aW9uc1xuICAgKiBAcGFyYW0ge0FycmF5fSByZXN1bHRzIC0gY3VycmVudCBzZXQgb2YgYWNjdW11bGF0ZWQgdHlwZXNcbiAgICogQHJldHVybnMge0FycmF5fSAtIFNldCBvZiBhbGwgdHlwZXMgZm91bmQgaW4gdGhlIHR5cGUgZGVmaW5pdGlvblxuICAgKi9cbiAgZmluZFR5cGVEZXBlbmRlbmNpZXMgKHByaW1hcnlUeXBlLCB0eXBlcywgcmVzdWx0cyA9IFtdKSB7XG4gICAgcHJpbWFyeVR5cGUgPSBwcmltYXJ5VHlwZS5tYXRjaCgvXlxcdyovKVswXVxuICAgIGlmIChyZXN1bHRzLmluY2x1ZGVzKHByaW1hcnlUeXBlKSB8fCB0eXBlc1twcmltYXJ5VHlwZV0gPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gcmVzdWx0cyB9XG4gICAgcmVzdWx0cy5wdXNoKHByaW1hcnlUeXBlKVxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgdHlwZXNbcHJpbWFyeVR5cGVdKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiB0aGlzLmZpbmRUeXBlRGVwZW5kZW5jaWVzKGZpZWxkLnR5cGUsIHR5cGVzLCByZXN1bHRzKSkge1xuICAgICAgICAhcmVzdWx0cy5pbmNsdWRlcyhkZXApICYmIHJlc3VsdHMucHVzaChkZXApXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzXG4gIH0sXG5cbiAgLyoqXG4gICAqIEhhc2hlcyBhbiBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByaW1hcnlUeXBlIC0gUm9vdCB0eXBlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gT2JqZWN0IHRvIGhhc2hcbiAgICogQHBhcmFtIHtPYmplY3R9IHR5cGVzIC0gVHlwZSBkZWZpbml0aW9uc1xuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIEhhc2ggb2YgYW4gb2JqZWN0XG4gICAqL1xuICBoYXNoU3RydWN0IChwcmltYXJ5VHlwZSwgZGF0YSwgdHlwZXMsIHVzZVY0ID0gdHJ1ZSkge1xuICAgIHJldHVybiB1dGlsLmtlY2Nhayh0aGlzLmVuY29kZURhdGEocHJpbWFyeVR5cGUsIGRhdGEsIHR5cGVzLCB1c2VWNCkpXG4gIH0sXG5cbiAgLyoqXG4gICAqIEhhc2hlcyB0aGUgdHlwZSBvZiBhbiBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByaW1hcnlUeXBlIC0gUm9vdCB0eXBlIHRvIGhhc2hcbiAgICogQHBhcmFtIHtPYmplY3R9IHR5cGVzIC0gVHlwZSBkZWZpbml0aW9uc1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIEhhc2ggb2YgYW4gb2JqZWN0XG4gICAqL1xuICBoYXNoVHlwZSAocHJpbWFyeVR5cGUsIHR5cGVzKSB7XG4gICAgcmV0dXJuIHV0aWwua2VjY2FrKHRoaXMuZW5jb2RlVHlwZShwcmltYXJ5VHlwZSwgdHlwZXMpKVxuICB9LFxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHByb3BlcnRpZXMgZnJvbSBhIG1lc3NhZ2Ugb2JqZWN0IHRoYXQgYXJlIG5vdCBkZWZpbmVkIHBlciBFSVAtNzEyXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gdHlwZWQgbWVzc2FnZSBvYmplY3RcbiAgICogQHJldHVybnMge09iamVjdH0gLSB0eXBlZCBtZXNzYWdlIG9iamVjdCB3aXRoIG9ubHkgYWxsb3dlZCBmaWVsZHNcbiAgICovXG4gIHNhbml0aXplRGF0YSAoZGF0YSkge1xuICAgIGNvbnN0IHNhbml0aXplZERhdGEgPSB7fVxuICAgIGZvciAoY29uc3Qga2V5IGluIFRZUEVEX01FU1NBR0VfU0NIRU1BLnByb3BlcnRpZXMpIHtcbiAgICAgIGRhdGFba2V5XSAmJiAoc2FuaXRpemVkRGF0YVtrZXldID0gZGF0YVtrZXldKVxuICAgIH1cbiAgICBpZiAoc2FuaXRpemVkRGF0YS50eXBlcykge1xuICAgICAgc2FuaXRpemVkRGF0YS50eXBlcyA9IE9iamVjdC5hc3NpZ24oeyBFSVA3MTJEb21haW46IFtdIH0sIHNhbml0aXplZERhdGEudHlwZXMpXG4gICAgfVxuICAgIHJldHVybiBzYW5pdGl6ZWREYXRhXG4gIH0sXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGhhc2ggb2YgYSB0eXBlZCBtZXNzYWdlIGFzIHBlciBFSVAtNzEyIGZvciBzaWduaW5nXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSB0eXBlZERhdGEgLSBUeXBlcyBtZXNzYWdlIGRhdGEgdG8gc2lnblxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIHNoYTMgaGFzaCBmb3Igc2lnbmluZ1xuICAgKi9cbiAgaGFzaCAodHlwZWREYXRhLCB1c2VWNCA9IHRydWUpIHtcbiAgICBjb25zdCBzYW5pdGl6ZWREYXRhID0gdGhpcy5zYW5pdGl6ZURhdGEodHlwZWREYXRhKVxuICAgIGNvbnN0IHBhcnRzID0gW0J1ZmZlci5mcm9tKCcxOTAxJywgJ2hleCcpXVxuICAgIHBhcnRzLnB1c2godGhpcy5oYXNoU3RydWN0KCdFSVA3MTJEb21haW4nLCBzYW5pdGl6ZWREYXRhLmRvbWFpbiwgc2FuaXRpemVkRGF0YS50eXBlcywgdXNlVjQpKVxuICAgIGlmIChzYW5pdGl6ZWREYXRhLnByaW1hcnlUeXBlICE9PSAnRUlQNzEyRG9tYWluJykge1xuICAgICAgcGFydHMucHVzaCh0aGlzLmhhc2hTdHJ1Y3Qoc2FuaXRpemVkRGF0YS5wcmltYXJ5VHlwZSwgc2FuaXRpemVkRGF0YS5tZXNzYWdlLCBzYW5pdGl6ZWREYXRhLnR5cGVzLCB1c2VWNCkpXG4gICAgfVxuICAgIHJldHVybiB1dGlsLmtlY2NhayhCdWZmZXIuY29uY2F0KHBhcnRzKSlcbiAgfSxcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIFRZUEVEX01FU1NBR0VfU0NIRU1BLFxuICBUeXBlZERhdGFVdGlscyxcblxuICBoYXNoRm9yU2lnblR5cGVkRGF0YUxlZ2FjeTogZnVuY3Rpb24gKG1zZ1BhcmFtcykge1xuICAgIHJldHVybiB0eXBlZFNpZ25hdHVyZUhhc2hMZWdhY3kobXNnUGFyYW1zLmRhdGEpXG4gIH0sXG5cbiAgaGFzaEZvclNpZ25UeXBlZERhdGFfdjM6IGZ1bmN0aW9uIChtc2dQYXJhbXMpIHtcbiAgICByZXR1cm4gVHlwZWREYXRhVXRpbHMuaGFzaChtc2dQYXJhbXMuZGF0YSwgZmFsc2UpXG4gIH0sXG5cbiAgaGFzaEZvclNpZ25UeXBlZERhdGFfdjQ6IGZ1bmN0aW9uIChtc2dQYXJhbXMpIHtcbiAgICByZXR1cm4gVHlwZWREYXRhVXRpbHMuaGFzaChtc2dQYXJhbXMuZGF0YSlcbiAgfSxcbn1cblxuLyoqXG4gKiBAcGFyYW0gdHlwZWREYXRhIC0gQXJyYXkgb2YgZGF0YSBhbG9uZyB3aXRoIHR5cGVzLCBhcyBwZXIgRUlQNzEyLlxuICogQHJldHVybnMgQnVmZmVyXG4gKi9cbmZ1bmN0aW9uIHR5cGVkU2lnbmF0dXJlSGFzaExlZ2FjeSh0eXBlZERhdGEpIHtcbiAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ0V4cGVjdCBhcmd1bWVudCB0byBiZSBub24tZW1wdHkgYXJyYXknKVxuICBpZiAodHlwZW9mIHR5cGVkRGF0YSAhPT0gJ29iamVjdCcgfHwgIXR5cGVkRGF0YS5sZW5ndGgpIHRocm93IGVycm9yXG5cbiAgY29uc3QgZGF0YSA9IHR5cGVkRGF0YS5tYXAoZnVuY3Rpb24gKGUpIHtcbiAgICByZXR1cm4gZS50eXBlID09PSAnYnl0ZXMnID8gdXRpbC50b0J1ZmZlcihlLnZhbHVlKSA6IGUudmFsdWVcbiAgfSlcbiAgY29uc3QgdHlwZXMgPSB0eXBlZERhdGEubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiBlLnR5cGUgfSlcbiAgY29uc3Qgc2NoZW1hID0gdHlwZWREYXRhLm1hcChmdW5jdGlvbiAoZSkge1xuICAgIGlmICghZS5uYW1lKSB0aHJvdyBlcnJvclxuICAgIHJldHVybiBlLnR5cGUgKyAnICcgKyBlLm5hbWVcbiAgfSlcblxuICByZXR1cm4gYWJpLnNvbGlkaXR5U0hBMyhcbiAgICBbJ2J5dGVzMzInLCAnYnl0ZXMzMiddLFxuICAgIFtcbiAgICAgIGFiaS5zb2xpZGl0eVNIQTMobmV3IEFycmF5KHR5cGVkRGF0YS5sZW5ndGgpLmZpbGwoJ3N0cmluZycpLCBzY2hlbWEpLFxuICAgICAgYWJpLnNvbGlkaXR5U0hBMyh0eXBlcywgZGF0YSlcbiAgICBdXG4gIClcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js ***! - \**********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n// Extracted from https://github.com/ethereumjs/ethereumjs-util and stripped out irrelevant code\n// Original code licensed under the Mozilla Public License Version 2.0\n\nconst createKeccakHash = __webpack_require__(/*! keccak/js */ \"./node_modules/keccak/js.js\")\nconst BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\n\n/**\n * Returns a buffer filled with 0s\n * @method zeros\n * @param {Number} bytes the number of bytes the buffer should be\n * @return {Buffer}\n */\nfunction zeros (bytes) {\n return Buffer.allocUnsafe(bytes).fill(0)\n}\n\n/**\n * Left Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @method setLength\n * @param {Buffer|Array} msg the value to pad\n * @param {Number} length the number of bytes the output should be\n * @param {Boolean} [right=false] whether to start padding form the left or right\n * @return {Buffer|Array}\n */\nfunction setLength (msg, length, right) {\n const buf = zeros(length)\n msg = toBuffer(msg)\n if (right) {\n if (msg.length < length) {\n msg.copy(buf)\n return buf\n }\n return msg.slice(0, length)\n } else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length)\n return buf\n }\n return msg.slice(-length)\n }\n}\n\n/**\n * Right Pads an `Array` or `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param {Buffer|Array} msg the value to pad\n * @param {Number} length the number of bytes the output should be\n * @return {Buffer|Array}\n */\nfunction setLengthRight (msg, length) {\n return setLength(msg, length, true)\n}\n\n/**\n * Attempts to turn a value into a `Buffer`. As input it supports `Buffer`, `String`, `Number`, null/undefined, `BN` and other objects with a `toArray()` method.\n * @param {*} v the value\n */\nfunction toBuffer (v) {\n if (!Buffer.isBuffer(v)) {\n if (Array.isArray(v)) {\n v = Buffer.from(v)\n } else if (typeof v === 'string') {\n if (isHexString(v)) {\n v = Buffer.from(padToEven(stripHexPrefix(v)), 'hex')\n } else {\n v = Buffer.from(v)\n }\n } else if (typeof v === 'number') {\n v = intToBuffer(v)\n } else if (v === null || v === undefined) {\n v = Buffer.allocUnsafe(0)\n } else if (BN.isBN(v)) {\n v = v.toArrayLike(Buffer)\n } else if (v.toArray) {\n // converts a BN to a Buffer\n v = Buffer.from(v.toArray())\n } else {\n throw new Error('invalid type')\n }\n }\n return v\n}\n\n/**\n * Converts a `Buffer` into a hex `String`\n * @param {Buffer} buf\n * @return {String}\n */\nfunction bufferToHex (buf) {\n buf = toBuffer(buf)\n return '0x' + buf.toString('hex')\n}\n\n/**\n * Creates Keccak hash of the input\n * @param {Buffer|Array|String|Number} a the input data\n * @param {Number} [bits=256] the Keccak width\n * @return {Buffer}\n */\nfunction keccak (a, bits) {\n a = toBuffer(a)\n if (!bits) bits = 256\n\n return createKeccakHash('keccak' + bits).update(a).digest()\n}\n\nfunction padToEven (str) {\n return str.length % 2 ? '0' + str : str\n}\n\nfunction isHexString (str) {\n return typeof str === 'string' && str.match(/^0x[0-9A-Fa-f]*$/)\n}\n\nfunction stripHexPrefix (str) {\n if (typeof str === 'string' && str.startsWith('0x')) {\n return str.slice(2)\n }\n return str\n}\n\nmodule.exports = {\n zeros,\n setLength,\n setLengthRight,\n isHexString,\n stripHexPrefix,\n toBuffer,\n bufferToHex,\n keccak\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvZXRoLWVpcDcxMi11dGlsL3V0aWwuanMiLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUEseUJBQXlCLG1CQUFPLENBQUMsOENBQVc7QUFDNUMsV0FBVyxtQkFBTyxDQUFDLDZDQUFPOztBQUUxQjtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ0E7QUFDQSxTQUFTLE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLFFBQVE7QUFDbkIsV0FBVyxTQUFTO0FBQ3BCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekIsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBLE9BQU8sTUFBTTtBQUNiO0FBQ0EsVUFBVSxNQUFNO0FBQ2hCLE1BQU07QUFDTjtBQUNBLFlBQVksTUFBTTtBQUNsQixRQUFRO0FBQ1IsWUFBWSxNQUFNO0FBQ2xCO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOLFVBQVUsTUFBTTtBQUNoQixNQUFNO0FBQ04sd0JBQXdCLE1BQU07QUFDOUIsTUFBTTtBQUNOO0FBQ0EsVUFBVSxNQUFNO0FBQ2hCLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsNEJBQTRCO0FBQ3ZDLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvZXRoLWVpcDcxMi11dGlsL3V0aWwuanM/MTEyYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHRyYWN0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLXV0aWwgYW5kIHN0cmlwcGVkIG91dCBpcnJlbGV2YW50IGNvZGVcbi8vIE9yaWdpbmFsIGNvZGUgbGljZW5zZWQgdW5kZXIgdGhlIE1vemlsbGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAyLjBcblxuY29uc3QgY3JlYXRlS2VjY2FrSGFzaCA9IHJlcXVpcmUoJ2tlY2Nhay9qcycpXG5jb25zdCBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcblxuLyoqXG4gKiBSZXR1cm5zIGEgYnVmZmVyIGZpbGxlZCB3aXRoIDBzXG4gKiBAbWV0aG9kIHplcm9zXG4gKiBAcGFyYW0ge051bWJlcn0gYnl0ZXMgIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhlIGJ1ZmZlciBzaG91bGQgYmVcbiAqIEByZXR1cm4ge0J1ZmZlcn1cbiAqL1xuZnVuY3Rpb24gemVyb3MgKGJ5dGVzKSB7XG4gIHJldHVybiBCdWZmZXIuYWxsb2NVbnNhZmUoYnl0ZXMpLmZpbGwoMClcbn1cblxuLyoqXG4gKiBMZWZ0IFBhZHMgYW4gYEFycmF5YCBvciBgQnVmZmVyYCB3aXRoIGxlYWRpbmcgemVyb3MgdGlsbCBpdCBoYXMgYGxlbmd0aGAgYnl0ZXMuXG4gKiBPciBpdCB0cnVuY2F0ZXMgdGhlIGJlZ2lubmluZyBpZiBpdCBleGNlZWRzLlxuICogQG1ldGhvZCBzZXRMZW5ndGhcbiAqIEBwYXJhbSB7QnVmZmVyfEFycmF5fSBtc2cgdGhlIHZhbHVlIHRvIHBhZFxuICogQHBhcmFtIHtOdW1iZXJ9IGxlbmd0aCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoZSBvdXRwdXQgc2hvdWxkIGJlXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtyaWdodD1mYWxzZV0gd2hldGhlciB0byBzdGFydCBwYWRkaW5nIGZvcm0gdGhlIGxlZnQgb3IgcmlnaHRcbiAqIEByZXR1cm4ge0J1ZmZlcnxBcnJheX1cbiAqL1xuZnVuY3Rpb24gc2V0TGVuZ3RoIChtc2csIGxlbmd0aCwgcmlnaHQpIHtcbiAgY29uc3QgYnVmID0gemVyb3MobGVuZ3RoKVxuICBtc2cgPSB0b0J1ZmZlcihtc2cpXG4gIGlmIChyaWdodCkge1xuICAgIGlmIChtc2cubGVuZ3RoIDwgbGVuZ3RoKSB7XG4gICAgICBtc2cuY29weShidWYpXG4gICAgICByZXR1cm4gYnVmXG4gICAgfVxuICAgIHJldHVybiBtc2cuc2xpY2UoMCwgbGVuZ3RoKVxuICB9IGVsc2Uge1xuICAgIGlmIChtc2cubGVuZ3RoIDwgbGVuZ3RoKSB7XG4gICAgICBtc2cuY29weShidWYsIGxlbmd0aCAtIG1zZy5sZW5ndGgpXG4gICAgICByZXR1cm4gYnVmXG4gICAgfVxuICAgIHJldHVybiBtc2cuc2xpY2UoLWxlbmd0aClcbiAgfVxufVxuXG4vKipcbiAqIFJpZ2h0IFBhZHMgYW4gYEFycmF5YCBvciBgQnVmZmVyYCB3aXRoIGxlYWRpbmcgemVyb3MgdGlsbCBpdCBoYXMgYGxlbmd0aGAgYnl0ZXMuXG4gKiBPciBpdCB0cnVuY2F0ZXMgdGhlIGJlZ2lubmluZyBpZiBpdCBleGNlZWRzLlxuICogQHBhcmFtIHtCdWZmZXJ8QXJyYXl9IG1zZyB0aGUgdmFsdWUgdG8gcGFkXG4gKiBAcGFyYW0ge051bWJlcn0gbGVuZ3RoIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhlIG91dHB1dCBzaG91bGQgYmVcbiAqIEByZXR1cm4ge0J1ZmZlcnxBcnJheX1cbiAqL1xuZnVuY3Rpb24gc2V0TGVuZ3RoUmlnaHQgKG1zZywgbGVuZ3RoKSB7XG4gIHJldHVybiBzZXRMZW5ndGgobXNnLCBsZW5ndGgsIHRydWUpXG59XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gdHVybiBhIHZhbHVlIGludG8gYSBgQnVmZmVyYC4gQXMgaW5wdXQgaXQgc3VwcG9ydHMgYEJ1ZmZlcmAsIGBTdHJpbmdgLCBgTnVtYmVyYCwgbnVsbC91bmRlZmluZWQsIGBCTmAgYW5kIG90aGVyIG9iamVjdHMgd2l0aCBhIGB0b0FycmF5KClgIG1ldGhvZC5cbiAqIEBwYXJhbSB7Kn0gdiB0aGUgdmFsdWVcbiAqL1xuZnVuY3Rpb24gdG9CdWZmZXIgKHYpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgdiA9IEJ1ZmZlci5mcm9tKHYpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpc0hleFN0cmluZyh2KSkge1xuICAgICAgICB2ID0gQnVmZmVyLmZyb20ocGFkVG9FdmVuKHN0cmlwSGV4UHJlZml4KHYpKSwgJ2hleCcpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ID0gQnVmZmVyLmZyb20odilcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2ID09PSAnbnVtYmVyJykge1xuICAgICAgdiA9IGludFRvQnVmZmVyKHYpXG4gICAgfSBlbHNlIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxuICAgIH0gZWxzZSBpZiAoQk4uaXNCTih2KSkge1xuICAgICAgdiA9IHYudG9BcnJheUxpa2UoQnVmZmVyKVxuICAgIH0gZWxzZSBpZiAodi50b0FycmF5KSB7XG4gICAgICAvLyBjb252ZXJ0cyBhIEJOIHRvIGEgQnVmZmVyXG4gICAgICB2ID0gQnVmZmVyLmZyb20odi50b0FycmF5KCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB0eXBlJylcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHZcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGBCdWZmZXJgIGludG8gYSBoZXggYFN0cmluZ2BcbiAqIEBwYXJhbSB7QnVmZmVyfSBidWZcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gYnVmZmVyVG9IZXggKGJ1Zikge1xuICBidWYgPSB0b0J1ZmZlcihidWYpXG4gIHJldHVybiAnMHgnICsgYnVmLnRvU3RyaW5nKCdoZXgnKVxufVxuXG4vKipcbiAqIENyZWF0ZXMgS2VjY2FrIGhhc2ggb2YgdGhlIGlucHV0XG4gKiBAcGFyYW0ge0J1ZmZlcnxBcnJheXxTdHJpbmd8TnVtYmVyfSBhIHRoZSBpbnB1dCBkYXRhXG4gKiBAcGFyYW0ge051bWJlcn0gW2JpdHM9MjU2XSB0aGUgS2VjY2FrIHdpZHRoXG4gKiBAcmV0dXJuIHtCdWZmZXJ9XG4gKi9cbmZ1bmN0aW9uIGtlY2NhayAoYSwgYml0cykge1xuICBhID0gdG9CdWZmZXIoYSlcbiAgaWYgKCFiaXRzKSBiaXRzID0gMjU2XG5cbiAgcmV0dXJuIGNyZWF0ZUtlY2Nha0hhc2goJ2tlY2NhaycgKyBiaXRzKS51cGRhdGUoYSkuZGlnZXN0KClcbn1cblxuZnVuY3Rpb24gcGFkVG9FdmVuIChzdHIpIHtcbiAgcmV0dXJuIHN0ci5sZW5ndGggJSAyID8gJzAnICsgc3RyIDogc3RyXG59XG5cbmZ1bmN0aW9uIGlzSGV4U3RyaW5nIChzdHIpIHtcbiAgcmV0dXJuIHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnICYmIHN0ci5tYXRjaCgvXjB4WzAtOUEtRmEtZl0qJC8pXG59XG5cbmZ1bmN0aW9uIHN0cmlwSGV4UHJlZml4IChzdHIpIHtcbiAgaWYgKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnICYmIHN0ci5zdGFydHNXaXRoKCcweCcpKSB7XG4gICAgcmV0dXJuIHN0ci5zbGljZSgyKVxuICB9XG4gIHJldHVybiBzdHJcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHplcm9zLFxuICBzZXRMZW5ndGgsXG4gIHNldExlbmd0aFJpZ2h0LFxuICBpc0hleFN0cmluZyxcbiAgc3RyaXBIZXhQcmVmaXgsXG4gIHRvQnVmZmVyLFxuICBidWZmZXJUb0hleCxcbiAga2VjY2FrXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/vendor-js/eth-eip712-util/util.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/vendor-js/qrcode-svg/index.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/vendor-js/qrcode-svg/index.js ***! - \******************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * @fileoverview\n * - modified davidshimjs/qrcodejs library for use in node.js\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n *\n * @version 0.9.1 (2016-02-12)\n * @author davidshimjs, papnkukn\n * @see <a href=\"http://www.d-project.com/\" target=\"_blank\">http://www.d-project.com/</a>\n * @see <a href=\"http://jeromeetienne.github.com/jquery-qrcode/\" target=\"_blank\">http://jeromeetienne.github.com/jquery-qrcode/</a>\n * @see <a href=\"https://github.com/davidshimjs/qrcodejs\" target=\"_blank\">https://github.com/davidshimjs/qrcodejs</a>\n */\n\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\nfunction QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n\n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n\n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n\n this.parsedData.push(byteArray);\n }\n\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n};\n\nfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n}\n\nQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\nreturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row<this.moduleCount;row++){this.modules[row]=new Array(this.moduleCount);for(var col=0;col<this.moduleCount;col++){this.modules[row][col]=null;}}\nthis.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-7,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(test,maskPattern);if(this.typeNumber>=7){this.setupTypeNumber(test);}\nif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\nthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\nreturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row<this.modules.length;row++){var y=row*cs;for(var col=0;col<this.modules[row].length;col++){var x=col*cs;var dark=this.modules[row][col];if(dark){qr_mc.beginFill(0,100);qr_mc.moveTo(x,y);qr_mc.lineTo(x+cs,y);qr_mc.lineTo(x+cs,y+cs);qr_mc.lineTo(x,y+cs);qr_mc.endFill();}}}\nreturn qr_mc;},setupTimingPattern:function(){for(var r=8;r<this.moduleCount-8;r++){if(this.modules[r][6]!=null){continue;}\nthis.modules[r][6]=(r%2==0);}\nfor(var c=8;c<this.moduleCount-8;c++){if(this.modules[6][c]!=null){continue;}\nthis.modules[6][c]=(c%2==0);}},setupPositionAdjustPattern:function(){var pos=QRUtil.getPatternPosition(this.typeNumber);for(var i=0;i<pos.length;i++){for(var j=0;j<pos.length;j++){var row=pos[i];var col=pos[j];if(this.modules[row][col]!=null){continue;}\nfor(var r=-2;r<=2;r++){for(var c=-2;c<=2;c++){if(r==-2||r==2||c==-2||c==2||(r==0&&c==0)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}}}},setupTypeNumber:function(test){var bits=QRUtil.getBCHTypeNumber(this.typeNumber);for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\nfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\nfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\nthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex<data.length){dark=(((data[byteIndex]>>>bitIndex)&1)==1);}\nvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\nthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\nrow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;i<dataList.length;i++){var data=dataList[i];buffer.put(data.mode,4);buffer.put(data.getLength(),QRUtil.getLengthInBits(data.mode,typeNumber));data.write(buffer);}\nvar totalDataCount=0;for(var i=0;i<rsBlocks.length;i++){totalDataCount+=rsBlocks[i].dataCount;}\nif(buffer.getLengthInBits()>totalDataCount*8){throw new Error(\"code length overflow. (\"\n+buffer.getLengthInBits()\n+\">\"\n+totalDataCount*8\n+\")\");}\nif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\nwhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\nwhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD1,8);}\nreturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r<rsBlocks.length;r++){var dcCount=rsBlocks[r].dataCount;var ecCount=rsBlocks[r].totalCount-dcCount;maxDcCount=Math.max(maxDcCount,dcCount);maxEcCount=Math.max(maxEcCount,ecCount);dcdata[r]=new Array(dcCount);for(var i=0;i<dcdata[r].length;i++){dcdata[r][i]=0xff&buffer.buffer[i+offset];}\noffset+=dcCount;var rsPoly=QRUtil.getErrorCorrectPolynomial(ecCount);var rawPoly=new QRPolynomial(dcdata[r],rsPoly.getLength()-1);var modPoly=rawPoly.mod(rsPoly);ecdata[r]=new Array(rsPoly.getLength()-1);for(var i=0;i<ecdata[r].length;i++){var modIndex=i+modPoly.getLength()-ecdata[r].length;ecdata[r][i]=(modIndex>=0)?modPoly.get(modIndex):0;}}\nvar totalCodeCount=0;for(var i=0;i<rsBlocks.length;i++){totalCodeCount+=rsBlocks[i].totalCount;}\nvar data=new Array(totalCodeCount);var index=0;for(var i=0;i<maxDcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<dcdata[r].length){data[index++]=dcdata[r][i];}}}\nfor(var i=0;i<maxEcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<ecdata[r].length){data[index++]=ecdata[r][i];}}}\nreturn data;};var QRMode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};var QRErrorCorrectLevel={L:1,M:0,Q:3,H:2};var QRMaskPattern={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var QRUtil={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:(1<<10)|(1<<8)|(1<<5)|(1<<4)|(1<<2)|(1<<1)|(1<<0),G18:(1<<12)|(1<<11)|(1<<10)|(1<<9)|(1<<8)|(1<<5)|(1<<2)|(1<<0),G15_MASK:(1<<14)|(1<<12)|(1<<10)|(1<<4)|(1<<1),getBCHTypeInfo:function(data){var d=data<<10;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)>=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\nreturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\nreturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\nreturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i<errorCorrectLength;i++){a=a.multiply(new QRPolynomial([1,QRMath.gexp(i)],0));}\nreturn a;},getLengthInBits:function(mode,type){if(1<=type&&type<10){switch(mode){case QRMode.MODE_NUMBER:return 10;case QRMode.MODE_ALPHA_NUM:return 9;case QRMode.MODE_8BIT_BYTE:return 8;case QRMode.MODE_KANJI:return 8;default:throw new Error(\"mode:\"+mode);}}else if(type<27){switch(mode){case QRMode.MODE_NUMBER:return 12;case QRMode.MODE_ALPHA_NUM:return 11;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 10;default:throw new Error(\"mode:\"+mode);}}else if(type<41){switch(mode){case QRMode.MODE_NUMBER:return 14;case QRMode.MODE_ALPHA_NUM:return 13;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 12;default:throw new Error(\"mode:\"+mode);}}else{throw new Error(\"type:\"+type);}},getLostPoint:function(qrCode){var moduleCount=qrCode.getModuleCount();var lostPoint=0;for(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount;col++){var sameCount=0;var dark=qrCode.isDark(row,col);for(var r=-1;r<=1;r++){if(row+r<0||moduleCount<=row+r){continue;}\nfor(var c=-1;c<=1;c++){if(col+c<0||moduleCount<=col+c){continue;}\nif(r==0&&c==0){continue;}\nif(dark==qrCode.isDark(row+r,col+c)){sameCount++;}}}\nif(sameCount>5){lostPoint+=(3+sameCount-5);}}}\nfor(var row=0;row<moduleCount-1;row++){for(var col=0;col<moduleCount-1;col++){var count=0;if(qrCode.isDark(row,col))count++;if(qrCode.isDark(row+1,col))count++;if(qrCode.isDark(row,col+1))count++;if(qrCode.isDark(row+1,col+1))count++;if(count==0||count==4){lostPoint+=3;}}}\nfor(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount-6;col++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row,col+1)&&qrCode.isDark(row,col+2)&&qrCode.isDark(row,col+3)&&qrCode.isDark(row,col+4)&&!qrCode.isDark(row,col+5)&&qrCode.isDark(row,col+6)){lostPoint+=40;}}}\nfor(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount-6;row++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row+1,col)&&qrCode.isDark(row+2,col)&&qrCode.isDark(row+3,col)&&qrCode.isDark(row+4,col)&&!qrCode.isDark(row+5,col)&&qrCode.isDark(row+6,col)){lostPoint+=40;}}}\nvar darkCount=0;for(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount;row++){if(qrCode.isDark(row,col)){darkCount++;}}}\nvar ratio=Math.abs(100*darkCount/moduleCount/moduleCount-50)/5;lostPoint+=ratio*10;return lostPoint;}};var QRMath={glog:function(n){if(n<1){throw new Error(\"glog(\"+n+\")\");}\nreturn QRMath.LOG_TABLE[n];},gexp:function(n){while(n<0){n+=255;}\nwhile(n>=256){n-=255;}\nreturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<<i;}\nfor(var i=8;i<256;i++){QRMath.EXP_TABLE[i]=QRMath.EXP_TABLE[i-4]^QRMath.EXP_TABLE[i-5]^QRMath.EXP_TABLE[i-6]^QRMath.EXP_TABLE[i-8];}\nfor(var i=0;i<255;i++){QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]]=i;}\nfunction QRPolynomial(num,shift){if(num.length==undefined){throw new Error(num.length+\"/\"+shift);}\nvar offset=0;while(offset<num.length&&num[offset]==0){offset++;}\nthis.num=new Array(num.length-offset+shift);for(var i=0;i<num.length-offset;i++){this.num[i]=num[i+offset];}}\nQRPolynomial.prototype={get:function(index){return this.num[index];},getLength:function(){return this.num.length;},multiply:function(e){var num=new Array(this.getLength()+e.getLength()-1);for(var i=0;i<this.getLength();i++){for(var j=0;j<e.getLength();j++){num[i+j]^=QRMath.gexp(QRMath.glog(this.get(i))+QRMath.glog(e.get(j)));}}\nreturn new QRPolynomial(num,0);},mod:function(e){if(this.getLength()-e.getLength()<0){return this;}\nvar ratio=QRMath.glog(this.get(0))-QRMath.glog(e.get(0));var num=new Array(this.getLength());for(var i=0;i<this.getLength();i++){num[i]=this.get(i);}\nfor(var i=0;i<e.getLength();i++){num[i]^=QRMath.gexp(QRMath.glog(e.get(i))+ratio);}\nreturn new QRPolynomial(num,0).mod(e);}};function QRRSBlock(totalCount,dataCount){this.totalCount=totalCount;this.dataCount=dataCount;}\nQRRSBlock.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];QRRSBlock.getRSBlocks=function(typeNumber,errorCorrectLevel){var rsBlock=QRRSBlock.getRsBlockTable(typeNumber,errorCorrectLevel);if(rsBlock==undefined){throw new Error(\"bad rs block @ typeNumber:\"+typeNumber+\"/errorCorrectLevel:\"+errorCorrectLevel);}\nvar length=rsBlock.length/3;var list=[];for(var i=0;i<length;i++){var count=rsBlock[i*3+0];var totalCount=rsBlock[i*3+1];var dataCount=rsBlock[i*3+2];for(var j=0;j<count;j++){list.push(new QRRSBlock(totalCount,dataCount));}}\nreturn list;};QRRSBlock.getRsBlockTable=function(typeNumber,errorCorrectLevel){switch(errorCorrectLevel){case QRErrorCorrectLevel.L:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+0];case QRErrorCorrectLevel.M:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+1];case QRErrorCorrectLevel.Q:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+2];case QRErrorCorrectLevel.H:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+3];default:return undefined;}};function QRBitBuffer(){this.buffer=[];this.length=0;}\nQRBitBuffer.prototype={get:function(index){var bufIndex=Math.floor(index/8);return((this.buffer[bufIndex]>>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i<length;i++){this.putBit(((num>>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\nif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\nthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\n/** Constructor */\nfunction QRCode(options) {\n var instance = this;\n\n //Default options\n this.options = {\n padding: 4,\n width: 256,\n height: 256,\n typeNumber: 4,\n color: \"#000000\",\n background: \"#ffffff\",\n ecl: \"M\",\n image:{\n svg:\"\",\n width:0,\n height:0\n }\n };\n\n //In case the options is string\n if (typeof options === 'string') {\n options = {\n content: options\n };\n }\n\n //Merge options\n if (options) {\n for (var i in options) {\n this.options[i] = options[i];\n }\n }\n\n if (typeof this.options.content !== 'string') {\n throw new Error(\"Expected 'content' as string!\");\n }\n\n if (this.options.content.length === 0 /* || this.options.content.length > 7089 */) {\n throw new Error(\"Expected 'content' to be non-empty!\");\n }\n\n if (!(this.options.padding >= 0)) {\n throw new Error(\"Expected 'padding' value to be non-negative!\");\n }\n\n if (!(this.options.width > 0) || !(this.options.height > 0)) {\n throw new Error(\"Expected 'width' or 'height' value to be higher than zero!\");\n }\n\n //Gets the error correction level\n function _getErrorCorrectLevel(ecl) {\n switch (ecl) {\n case \"L\":\n return QRErrorCorrectLevel.L;\n\n case \"M\":\n return QRErrorCorrectLevel.M;\n\n case \"Q\":\n return QRErrorCorrectLevel.Q;\n\n case \"H\":\n return QRErrorCorrectLevel.H;\n\n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n }\n\n //Get type number\n function _getTypeNumber(content, ecl) {\n var length = _getUTF8Length(content);\n\n var type = 1;\n var limit = 0;\n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var table = QRCodeLimitLength[i];\n if (!table) {\n throw new Error(\"Content too long: expected \" + limit + \" but got \" + length);\n }\n\n switch (ecl) {\n case \"L\":\n limit = table[0];\n break;\n\n case \"M\":\n limit = table[1];\n break;\n\n case \"Q\":\n limit = table[2];\n break;\n\n case \"H\":\n limit = table[3];\n break;\n\n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n\n if (length <= limit) {\n break;\n }\n\n type++;\n }\n\n if (type > QRCodeLimitLength.length) {\n throw new Error(\"Content too long\");\n }\n\n return type;\n }\n\n //Gets text length\n function _getUTF8Length(content) {\n var result = encodeURI(content).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n return result.length + (result.length != content ? 3 : 0);\n }\n\n //Generate QR Code matrix\n var content = this.options.content;\n var type = _getTypeNumber(content, this.options.ecl);\n var ecl = _getErrorCorrectLevel(this.options.ecl);\n this.qrcode = new QRCodeModel(type, ecl);\n this.qrcode.addData(content);\n this.qrcode.make();\n}\n\n/** Generates QR Code as SVG image */\nQRCode.prototype.svg = function(opt) {\n var options = this.options || { };\n var modules = this.qrcode.modules;\n\n if (typeof opt == \"undefined\") {\n opt = { container: options.container || \"svg\" };\n }\n\n //Apply new lines and indents in SVG?\n var pretty = typeof options.pretty != \"undefined\" ? !!options.pretty : true;\n\n var indent = pretty ? ' ' : '';\n var EOL = pretty ? '\\r\\n' : '';\n var width = options.width;\n var height = options.height;\n var length = modules.length;\n var xsize = width / (length + 2 * options.padding);\n var ysize = height / (length + 2 * options.padding);\n\n //Join (union, merge) rectangles into one shape?\n var join = typeof options.join != \"undefined\" ? !!options.join : false;\n\n //Swap the X and Y modules, pull request #2\n var swap = typeof options.swap != \"undefined\" ? !!options.swap : false;\n\n //Apply <?xml...?> declaration in SVG?\n var xmlDeclaration = typeof options.xmlDeclaration != \"undefined\" ? !!options.xmlDeclaration : true;\n\n //Populate with predefined shape instead of \"rect\" elements, thanks to @kkocdko\n var predefined = typeof options.predefined != \"undefined\" ? !!options.predefined : false;\n var defs = predefined ? indent + '<defs><path id=\"qrmodule\" d=\"M0 0 h' + ysize + ' v' + xsize + ' H0 z\" style=\"fill:' + options.color + ';shape-rendering:crispEdges;\" /></defs>' + EOL : '';\n\n //Background rectangle\n var bgrect = indent + '<rect x=\"0\" y=\"0\" width=\"' + width + '\" height=\"' + height + '\" style=\"fill:' + options.background + ';shape-rendering:crispEdges;\"/>' + EOL;\n\n //Rectangles representing modules\n var modrect = '';\n var pathdata = '';\n\n for (var y = 0; y < length; y++) {\n for (var x = 0; x < length; x++) {\n var module = modules[x][y];\n if (module) {\n\n var px = (x * xsize + options.padding * xsize);\n var py = (y * ysize + options.padding * ysize);\n\n //Some users have had issues with the QR Code, thanks to @danioso for the solution\n if (swap) {\n var t = px;\n px = py;\n py = t;\n }\n\n if (join) {\n //Module as a part of svg path data, thanks to @danioso\n var w = xsize + px\n var h = ysize + py\n\n px = (Number.isInteger(px))? Number(px): px.toFixed(2);\n py = (Number.isInteger(py))? Number(py): py.toFixed(2);\n w = (Number.isInteger(w))? Number(w): w.toFixed(2);\n h = (Number.isInteger(h))? Number(h): h.toFixed(2);\n\n pathdata += ('M' + px + ',' + py + ' V' + h + ' H' + w + ' V' + py + ' H' + px + ' Z ');\n }\n else if (predefined) {\n //Module as a predefined shape, thanks to @kkocdko\n modrect += indent + '<use x=\"' + px.toString() + '\" y=\"' + py.toString() + '\" href=\"#qrmodule\" />' + EOL;\n }\n else {\n //Module as rectangle element\n modrect += indent + '<rect x=\"' + px.toString() + '\" y=\"' + py.toString() + '\" width=\"' + xsize + '\" height=\"' + ysize + '\" style=\"fill:' + options.color + ';shape-rendering:crispEdges;\"/>' + EOL;\n }\n }\n }\n }\n\n if (join) {\n modrect = indent + '<path x=\"0\" y=\"0\" style=\"fill:' + options.color + ';shape-rendering:crispEdges;\" d=\"' + pathdata + '\" />';\n }\n let imgSvg = \"\";\n if(this.options.image !== undefined && this.options.image.svg){\n const imgWidth = width * this.options.image.width / 100;\n const imgHeight = height * this.options.image.height / 100;\n const imgX = (width/2) - imgWidth/2;\n const imgY = (height/2) - imgHeight/2;\n imgSvg += `<svg x=\"${imgX}\" y=\"${imgY}\" width=\"${imgWidth}\" height=\"${imgHeight}\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMinYMin meet\">`;\n imgSvg += this.options.image.svg + EOL;\n imgSvg += '</svg>';\n }\n\n var svg = \"\";\n switch (opt.container) {\n //Wrapped in SVG document\n case \"svg\":\n if (xmlDeclaration) {\n svg += '<?xml version=\"1.0\" standalone=\"yes\"?>' + EOL;\n }\n svg += '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"' + width + '\" height=\"' + height + '\">' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '</svg>';\n break;\n\n //Viewbox for responsive use in a browser, thanks to @danioso\n case \"svg-viewbox\":\n if (xmlDeclaration) {\n svg += '<?xml version=\"1.0\" standalone=\"yes\"?>' + EOL;\n }\n svg += '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 ' + width + ' ' + height + '\">' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '</svg>';\n break;\n\n\n //Wrapped in group element\n case \"g\":\n svg += '<g width=\"' + width + '\" height=\"' + height + '\">' + EOL;\n svg += defs + bgrect + modrect;\n svg += imgSvg;\n svg += '</g>';\n\n break;\n\n //Without a container\n default:\n svg += (defs + bgrect + modrect + imgSvg).replace(/^\\s+/, \"\"); //Clear indents on each line\n break;\n }\n\n return svg;\n};\n\nmodule.exports = QRCode;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvcXJjb2RlLXN2Zy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdDQUF3QyxPQUFPO0FBQy9DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCLHVCQUF1QixpQ0FBaUMsNEJBQTRCLHFCQUFxQiwwQkFBMEIsK0RBQStEO0FBQ3pOLCtCQUErQiwyQkFBMkIseUJBQXlCLGlCQUFpQixnREFBZ0QscUNBQXFDLHNDQUFzQyx5Q0FBeUMsY0FBYyxxQkFBcUIsT0FBTyw4Q0FBOEMsY0FBYyxxQkFBcUIsT0FBTztBQUMxWSxvQ0FBb0MscURBQXFELHFEQUFxRCxrQ0FBa0MsMEJBQTBCLHFDQUFxQyx1QkFBdUI7QUFDdFEseUJBQXlCO0FBQ3pCLDBDQUEwQyw2Q0FBNkMsYUFBYSxLQUFLLEtBQUssK0NBQStDLGFBQWEsS0FBSyxLQUFLLCtDQUErQyxxRkFBcUYsaUNBQWlDLEtBQUsscUNBQXFDLCtCQUErQixtQkFBbUIsY0FBYyxZQUFZLElBQUksS0FBSyxz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MkI7O0FBRTNKO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsWUFBWTtBQUM5QixvQkFBb0IsWUFBWTtBQUNoQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3S0FBd0ssMkJBQTJCO0FBQ25NO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEVBQTRFLDJCQUEyQjtBQUN2RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixLQUFLLE9BQU8sS0FBSyxXQUFXLFNBQVMsWUFBWSxVQUFVO0FBQ3BGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EscUVBQXFFO0FBQ3JFO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZW5kb3ItanMvcXJjb2RlLXN2Zy9pbmRleC5qcz8xNTE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVvdmVydmlld1xuICogLSBtb2RpZmllZCBkYXZpZHNoaW1qcy9xcmNvZGVqcyBsaWJyYXJ5IGZvciB1c2UgaW4gbm9kZS5qc1xuICogLSBVc2luZyB0aGUgJ1FSQ29kZSBmb3IgSmF2YXNjcmlwdCBsaWJyYXJ5J1xuICogLSBGaXhlZCBkYXRhc2V0IG9mICdRUkNvZGUgZm9yIEphdmFzY3JpcHQgbGlicmFyeScgZm9yIHN1cHBvcnQgZnVsbC1zcGVjLlxuICogLSB0aGlzIGxpYnJhcnkgaGFzIG5vIGRlcGVuZGVuY2llcy5cbiAqXG4gKiBAdmVyc2lvbiAwLjkuMSAoMjAxNi0wMi0xMilcbiAqIEBhdXRob3IgZGF2aWRzaGltanMsIHBhcG5rdWtuXG4gKiBAc2VlIDxhIGhyZWY9XCJodHRwOi8vd3d3LmQtcHJvamVjdC5jb20vXCIgdGFyZ2V0PVwiX2JsYW5rXCI+aHR0cDovL3d3dy5kLXByb2plY3QuY29tLzwvYT5cbiAqIEBzZWUgPGEgaHJlZj1cImh0dHA6Ly9qZXJvbWVldGllbm5lLmdpdGh1Yi5jb20vanF1ZXJ5LXFyY29kZS9cIiB0YXJnZXQ9XCJfYmxhbmtcIj5odHRwOi8vamVyb21lZXRpZW5uZS5naXRodWIuY29tL2pxdWVyeS1xcmNvZGUvPC9hPlxuICogQHNlZSA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL2Rhdmlkc2hpbWpzL3FyY29kZWpzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+aHR0cHM6Ly9naXRodWIuY29tL2Rhdmlkc2hpbWpzL3FyY29kZWpzPC9hPlxuICovXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBRUkNvZGUgZm9yIEphdmFTY3JpcHRcbi8vXG4vLyBDb3B5cmlnaHQgKGMpIDIwMDkgS2F6dWhpa28gQXJhc2Vcbi8vXG4vLyBVUkw6IGh0dHA6Ly93d3cuZC1wcm9qZWN0LmNvbS9cbi8vXG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6XG4vLyAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4vL1xuLy8gVGhlIHdvcmQgXCJRUiBDb2RlXCIgaXMgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2Zcbi8vIERFTlNPIFdBVkUgSU5DT1JQT1JBVEVEXG4vLyAgIGh0dHA6Ly93d3cuZGVuc28td2F2ZS5jb20vcXJjb2RlL2ZhcXBhdGVudC1lLmh0bWxcbi8vXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gUVI4Yml0Qnl0ZShkYXRhKSB7XG4gIHRoaXMubW9kZSA9IFFSTW9kZS5NT0RFXzhCSVRfQllURTtcbiAgdGhpcy5kYXRhID0gZGF0YTtcbiAgdGhpcy5wYXJzZWREYXRhID0gW107XG5cbiAgLy8gQWRkZWQgdG8gc3VwcG9ydCBVVEYtOCBDaGFyYWN0ZXJzXG4gIGZvciAodmFyIGkgPSAwLCBsID0gdGhpcy5kYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHZhciBieXRlQXJyYXkgPSBbXTtcbiAgICB2YXIgY29kZSA9IHRoaXMuZGF0YS5jaGFyQ29kZUF0KGkpO1xuXG4gICAgaWYgKGNvZGUgPiAweDEwMDAwKSB7XG4gICAgICBieXRlQXJyYXlbMF0gPSAweEYwIHwgKChjb2RlICYgMHgxQzAwMDApID4+PiAxOCk7XG4gICAgICBieXRlQXJyYXlbMV0gPSAweDgwIHwgKChjb2RlICYgMHgzRjAwMCkgPj4+IDEyKTtcbiAgICAgIGJ5dGVBcnJheVsyXSA9IDB4ODAgfCAoKGNvZGUgJiAweEZDMCkgPj4+IDYpO1xuICAgICAgYnl0ZUFycmF5WzNdID0gMHg4MCB8IChjb2RlICYgMHgzRik7XG4gICAgfSBlbHNlIGlmIChjb2RlID4gMHg4MDApIHtcbiAgICAgIGJ5dGVBcnJheVswXSA9IDB4RTAgfCAoKGNvZGUgJiAweEYwMDApID4+PiAxMik7XG4gICAgICBieXRlQXJyYXlbMV0gPSAweDgwIHwgKChjb2RlICYgMHhGQzApID4+PiA2KTtcbiAgICAgIGJ5dGVBcnJheVsyXSA9IDB4ODAgfCAoY29kZSAmIDB4M0YpO1xuICAgIH0gZWxzZSBpZiAoY29kZSA+IDB4ODApIHtcbiAgICAgIGJ5dGVBcnJheVswXSA9IDB4QzAgfCAoKGNvZGUgJiAweDdDMCkgPj4+IDYpO1xuICAgICAgYnl0ZUFycmF5WzFdID0gMHg4MCB8IChjb2RlICYgMHgzRik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ5dGVBcnJheVswXSA9IGNvZGU7XG4gICAgfVxuXG4gICAgdGhpcy5wYXJzZWREYXRhLnB1c2goYnl0ZUFycmF5KTtcbiAgfVxuXG4gIHRoaXMucGFyc2VkRGF0YSA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIHRoaXMucGFyc2VkRGF0YSk7XG5cbiAgaWYgKHRoaXMucGFyc2VkRGF0YS5sZW5ndGggIT0gdGhpcy5kYXRhLmxlbmd0aCkge1xuICAgIHRoaXMucGFyc2VkRGF0YS51bnNoaWZ0KDE5MSk7XG4gICAgdGhpcy5wYXJzZWREYXRhLnVuc2hpZnQoMTg3KTtcbiAgICB0aGlzLnBhcnNlZERhdGEudW5zaGlmdCgyMzkpO1xuICB9XG59XG5cblFSOGJpdEJ5dGUucHJvdG90eXBlID0ge1xuICBnZXRMZW5ndGg6IGZ1bmN0aW9uIChidWZmZXIpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZWREYXRhLmxlbmd0aDtcbiAgfSxcbiAgd3JpdGU6IGZ1bmN0aW9uIChidWZmZXIpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IHRoaXMucGFyc2VkRGF0YS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGJ1ZmZlci5wdXQodGhpcy5wYXJzZWREYXRhW2ldLCA4KTtcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIFFSQ29kZU1vZGVsKHR5cGVOdW1iZXIsIGVycm9yQ29ycmVjdExldmVsKSB7XG4gIHRoaXMudHlwZU51bWJlciA9IHR5cGVOdW1iZXI7XG4gIHRoaXMuZXJyb3JDb3JyZWN0TGV2ZWwgPSBlcnJvckNvcnJlY3RMZXZlbDtcbiAgdGhpcy5tb2R1bGVzID0gbnVsbDtcbiAgdGhpcy5tb2R1bGVDb3VudCA9IDA7XG4gIHRoaXMuZGF0YUNhY2hlID0gbnVsbDtcbiAgdGhpcy5kYXRhTGlzdCA9IFtdO1xufVxuXG5RUkNvZGVNb2RlbC5wcm90b3R5cGU9e2FkZERhdGE6ZnVuY3Rpb24oZGF0YSl7dmFyIG5ld0RhdGE9bmV3IFFSOGJpdEJ5dGUoZGF0YSk7dGhpcy5kYXRhTGlzdC5wdXNoKG5ld0RhdGEpO3RoaXMuZGF0YUNhY2hlPW51bGw7fSxpc0Rhcms6ZnVuY3Rpb24ocm93LGNvbCl7aWYocm93PDB8fHRoaXMubW9kdWxlQ291bnQ8PXJvd3x8Y29sPDB8fHRoaXMubW9kdWxlQ291bnQ8PWNvbCl7dGhyb3cgbmV3IEVycm9yKHJvdytcIixcIitjb2wpO31cbnJldHVybiB0aGlzLm1vZHVsZXNbcm93XVtjb2xdO30sZ2V0TW9kdWxlQ291bnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb2R1bGVDb3VudDt9LG1ha2U6ZnVuY3Rpb24oKXt0aGlzLm1ha2VJbXBsKGZhbHNlLHRoaXMuZ2V0QmVzdE1hc2tQYXR0ZXJuKCkpO30sbWFrZUltcGw6ZnVuY3Rpb24odGVzdCxtYXNrUGF0dGVybil7dGhpcy5tb2R1bGVDb3VudD10aGlzLnR5cGVOdW1iZXIqNCsxNzt0aGlzLm1vZHVsZXM9bmV3IEFycmF5KHRoaXMubW9kdWxlQ291bnQpO2Zvcih2YXIgcm93PTA7cm93PHRoaXMubW9kdWxlQ291bnQ7cm93Kyspe3RoaXMubW9kdWxlc1tyb3ddPW5ldyBBcnJheSh0aGlzLm1vZHVsZUNvdW50KTtmb3IodmFyIGNvbD0wO2NvbDx0aGlzLm1vZHVsZUNvdW50O2NvbCsrKXt0aGlzLm1vZHVsZXNbcm93XVtjb2xdPW51bGw7fX1cbnRoaXMuc2V0dXBQb3NpdGlvblByb2JlUGF0dGVybigwLDApO3RoaXMuc2V0dXBQb3NpdGlvblByb2JlUGF0dGVybih0aGlzLm1vZHVsZUNvdW50LTcsMCk7dGhpcy5zZXR1cFBvc2l0aW9uUHJvYmVQYXR0ZXJuKDAsdGhpcy5tb2R1bGVDb3VudC03KTt0aGlzLnNldHVwUG9zaXRpb25BZGp1c3RQYXR0ZXJuKCk7dGhpcy5zZXR1cFRpbWluZ1BhdHRlcm4oKTt0aGlzLnNldHVwVHlwZUluZm8odGVzdCxtYXNrUGF0dGVybik7aWYodGhpcy50eXBlTnVtYmVyPj03KXt0aGlzLnNldHVwVHlwZU51bWJlcih0ZXN0KTt9XG5pZih0aGlzLmRhdGFDYWNoZT09bnVsbCl7dGhpcy5kYXRhQ2FjaGU9UVJDb2RlTW9kZWwuY3JlYXRlRGF0YSh0aGlzLnR5cGVOdW1iZXIsdGhpcy5lcnJvckNvcnJlY3RMZXZlbCx0aGlzLmRhdGFMaXN0KTt9XG50aGlzLm1hcERhdGEodGhpcy5kYXRhQ2FjaGUsbWFza1BhdHRlcm4pO30sc2V0dXBQb3NpdGlvblByb2JlUGF0dGVybjpmdW5jdGlvbihyb3csY29sKXtmb3IodmFyIHI9LTE7cjw9NztyKyspe2lmKHJvdytyPD0tMXx8dGhpcy5tb2R1bGVDb3VudDw9cm93K3IpY29udGludWU7Zm9yKHZhciBjPS0xO2M8PTc7YysrKXtpZihjb2wrYzw9LTF8fHRoaXMubW9kdWxlQ291bnQ8PWNvbCtjKWNvbnRpbnVlO2lmKCgwPD1yJiZyPD02JiYoYz09MHx8Yz09NikpfHwoMDw9YyYmYzw9NiYmKHI9PTB8fHI9PTYpKXx8KDI8PXImJnI8PTQmJjI8PWMmJmM8PTQpKXt0aGlzLm1vZHVsZXNbcm93K3JdW2NvbCtjXT10cnVlO31lbHNle3RoaXMubW9kdWxlc1tyb3crcl1bY29sK2NdPWZhbHNlO319fX0sZ2V0QmVzdE1hc2tQYXR0ZXJuOmZ1bmN0aW9uKCl7dmFyIG1pbkxvc3RQb2ludD0wO3ZhciBwYXR0ZXJuPTA7Zm9yKHZhciBpPTA7aTw4O2krKyl7dGhpcy5tYWtlSW1wbCh0cnVlLGkpO3ZhciBsb3N0UG9pbnQ9UVJVdGlsLmdldExvc3RQb2ludCh0aGlzKTtpZihpPT0wfHxtaW5Mb3N0UG9pbnQ+bG9zdFBvaW50KXttaW5Mb3N0UG9pbnQ9bG9zdFBvaW50O3BhdHRlcm49aTt9fVxucmV0dXJuIHBhdHRlcm47fSxjcmVhdGVNb3ZpZUNsaXA6ZnVuY3Rpb24odGFyZ2V0X21jLGluc3RhbmNlX25hbWUsZGVwdGgpe3ZhciBxcl9tYz10YXJnZXRfbWMuY3JlYXRlRW1wdHlNb3ZpZUNsaXAoaW5zdGFuY2VfbmFtZSxkZXB0aCk7dmFyIGNzPTE7dGhpcy5tYWtlKCk7Zm9yKHZhciByb3c9MDtyb3c8dGhpcy5tb2R1bGVzLmxlbmd0aDtyb3crKyl7dmFyIHk9cm93KmNzO2Zvcih2YXIgY29sPTA7Y29sPHRoaXMubW9kdWxlc1tyb3ddLmxlbmd0aDtjb2wrKyl7dmFyIHg9Y29sKmNzO3ZhciBkYXJrPXRoaXMubW9kdWxlc1tyb3ddW2NvbF07aWYoZGFyayl7cXJfbWMuYmVnaW5GaWxsKDAsMTAwKTtxcl9tYy5tb3ZlVG8oeCx5KTtxcl9tYy5saW5lVG8oeCtjcyx5KTtxcl9tYy5saW5lVG8oeCtjcyx5K2NzKTtxcl9tYy5saW5lVG8oeCx5K2NzKTtxcl9tYy5lbmRGaWxsKCk7fX19XG5yZXR1cm4gcXJfbWM7fSxzZXR1cFRpbWluZ1BhdHRlcm46ZnVuY3Rpb24oKXtmb3IodmFyIHI9ODtyPHRoaXMubW9kdWxlQ291bnQtODtyKyspe2lmKHRoaXMubW9kdWxlc1tyXVs2XSE9bnVsbCl7Y29udGludWU7fVxudGhpcy5tb2R1bGVzW3JdWzZdPShyJTI9PTApO31cbmZvcih2YXIgYz04O2M8dGhpcy5tb2R1bGVDb3VudC04O2MrKyl7aWYodGhpcy5tb2R1bGVzWzZdW2NdIT1udWxsKXtjb250aW51ZTt9XG50aGlzLm1vZHVsZXNbNl1bY109KGMlMj09MCk7fX0sc2V0dXBQb3NpdGlvbkFkanVzdFBhdHRlcm46ZnVuY3Rpb24oKXt2YXIgcG9zPVFSVXRpbC5nZXRQYXR0ZXJuUG9zaXRpb24odGhpcy50eXBlTnVtYmVyKTtmb3IodmFyIGk9MDtpPHBvcy5sZW5ndGg7aSsrKXtmb3IodmFyIGo9MDtqPHBvcy5sZW5ndGg7aisrKXt2YXIgcm93PXBvc1tpXTt2YXIgY29sPXBvc1tqXTtpZih0aGlzLm1vZHVsZXNbcm93XVtjb2xdIT1udWxsKXtjb250aW51ZTt9XG5mb3IodmFyIHI9LTI7cjw9MjtyKyspe2Zvcih2YXIgYz0tMjtjPD0yO2MrKyl7aWYocj09LTJ8fHI9PTJ8fGM9PS0yfHxjPT0yfHwocj09MCYmYz09MCkpe3RoaXMubW9kdWxlc1tyb3crcl1bY29sK2NdPXRydWU7fWVsc2V7dGhpcy5tb2R1bGVzW3JvdytyXVtjb2wrY109ZmFsc2U7fX19fX19LHNldHVwVHlwZU51bWJlcjpmdW5jdGlvbih0ZXN0KXt2YXIgYml0cz1RUlV0aWwuZ2V0QkNIVHlwZU51bWJlcih0aGlzLnR5cGVOdW1iZXIpO2Zvcih2YXIgaT0wO2k8MTg7aSsrKXt2YXIgbW9kPSghdGVzdCYmKChiaXRzPj5pKSYxKT09MSk7dGhpcy5tb2R1bGVzW01hdGguZmxvb3IoaS8zKV1baSUzK3RoaXMubW9kdWxlQ291bnQtOC0zXT1tb2Q7fVxuZm9yKHZhciBpPTA7aTwxODtpKyspe3ZhciBtb2Q9KCF0ZXN0JiYoKGJpdHM+PmkpJjEpPT0xKTt0aGlzLm1vZHVsZXNbaSUzK3RoaXMubW9kdWxlQ291bnQtOC0zXVtNYXRoLmZsb29yKGkvMyldPW1vZDt9fSxzZXR1cFR5cGVJbmZvOmZ1bmN0aW9uKHRlc3QsbWFza1BhdHRlcm4pe3ZhciBkYXRhPSh0aGlzLmVycm9yQ29ycmVjdExldmVsPDwzKXxtYXNrUGF0dGVybjt2YXIgYml0cz1RUlV0aWwuZ2V0QkNIVHlwZUluZm8oZGF0YSk7Zm9yKHZhciBpPTA7aTwxNTtpKyspe3ZhciBtb2Q9KCF0ZXN0JiYoKGJpdHM+PmkpJjEpPT0xKTtpZihpPDYpe3RoaXMubW9kdWxlc1tpXVs4XT1tb2Q7fWVsc2UgaWYoaTw4KXt0aGlzLm1vZHVsZXNbaSsxXVs4XT1tb2Q7fWVsc2V7dGhpcy5tb2R1bGVzW3RoaXMubW9kdWxlQ291bnQtMTUraV1bOF09bW9kO319XG5mb3IodmFyIGk9MDtpPDE1O2krKyl7dmFyIG1vZD0oIXRlc3QmJigoYml0cz4+aSkmMSk9PTEpO2lmKGk8OCl7dGhpcy5tb2R1bGVzWzhdW3RoaXMubW9kdWxlQ291bnQtaS0xXT1tb2Q7fWVsc2UgaWYoaTw5KXt0aGlzLm1vZHVsZXNbOF1bMTUtaS0xKzFdPW1vZDt9ZWxzZXt0aGlzLm1vZHVsZXNbOF1bMTUtaS0xXT1tb2Q7fX1cbnRoaXMubW9kdWxlc1t0aGlzLm1vZHVsZUNvdW50LThdWzhdPSghdGVzdCk7fSxtYXBEYXRhOmZ1bmN0aW9uKGRhdGEsbWFza1BhdHRlcm4pe3ZhciBpbmM9LTE7dmFyIHJvdz10aGlzLm1vZHVsZUNvdW50LTE7dmFyIGJpdEluZGV4PTc7dmFyIGJ5dGVJbmRleD0wO2Zvcih2YXIgY29sPXRoaXMubW9kdWxlQ291bnQtMTtjb2w+MDtjb2wtPTIpe2lmKGNvbD09Niljb2wtLTt3aGlsZSh0cnVlKXtmb3IodmFyIGM9MDtjPDI7YysrKXtpZih0aGlzLm1vZHVsZXNbcm93XVtjb2wtY109PW51bGwpe3ZhciBkYXJrPWZhbHNlO2lmKGJ5dGVJbmRleDxkYXRhLmxlbmd0aCl7ZGFyaz0oKChkYXRhW2J5dGVJbmRleF0+Pj5iaXRJbmRleCkmMSk9PTEpO31cbnZhciBtYXNrPVFSVXRpbC5nZXRNYXNrKG1hc2tQYXR0ZXJuLHJvdyxjb2wtYyk7aWYobWFzayl7ZGFyaz0hZGFyazt9XG50aGlzLm1vZHVsZXNbcm93XVtjb2wtY109ZGFyaztiaXRJbmRleC0tO2lmKGJpdEluZGV4PT0tMSl7Ynl0ZUluZGV4Kys7Yml0SW5kZXg9Nzt9fX1cbnJvdys9aW5jO2lmKHJvdzwwfHx0aGlzLm1vZHVsZUNvdW50PD1yb3cpe3Jvdy09aW5jO2luYz0taW5jO2JyZWFrO319fX19O1FSQ29kZU1vZGVsLlBBRDA9MHhFQztRUkNvZGVNb2RlbC5QQUQxPTB4MTE7UVJDb2RlTW9kZWwuY3JlYXRlRGF0YT1mdW5jdGlvbih0eXBlTnVtYmVyLGVycm9yQ29ycmVjdExldmVsLGRhdGFMaXN0KXt2YXIgcnNCbG9ja3M9UVJSU0Jsb2NrLmdldFJTQmxvY2tzKHR5cGVOdW1iZXIsZXJyb3JDb3JyZWN0TGV2ZWwpO3ZhciBidWZmZXI9bmV3IFFSQml0QnVmZmVyKCk7Zm9yKHZhciBpPTA7aTxkYXRhTGlzdC5sZW5ndGg7aSsrKXt2YXIgZGF0YT1kYXRhTGlzdFtpXTtidWZmZXIucHV0KGRhdGEubW9kZSw0KTtidWZmZXIucHV0KGRhdGEuZ2V0TGVuZ3RoKCksUVJVdGlsLmdldExlbmd0aEluQml0cyhkYXRhLm1vZGUsdHlwZU51bWJlcikpO2RhdGEud3JpdGUoYnVmZmVyKTt9XG52YXIgdG90YWxEYXRhQ291bnQ9MDtmb3IodmFyIGk9MDtpPHJzQmxvY2tzLmxlbmd0aDtpKyspe3RvdGFsRGF0YUNvdW50Kz1yc0Jsb2Nrc1tpXS5kYXRhQ291bnQ7fVxuaWYoYnVmZmVyLmdldExlbmd0aEluQml0cygpPnRvdGFsRGF0YUNvdW50Kjgpe3Rocm93IG5ldyBFcnJvcihcImNvZGUgbGVuZ3RoIG92ZXJmbG93LiAoXCJcbitidWZmZXIuZ2V0TGVuZ3RoSW5CaXRzKClcbitcIj5cIlxuK3RvdGFsRGF0YUNvdW50KjhcbitcIilcIik7fVxuaWYoYnVmZmVyLmdldExlbmd0aEluQml0cygpKzQ8PXRvdGFsRGF0YUNvdW50Kjgpe2J1ZmZlci5wdXQoMCw0KTt9XG53aGlsZShidWZmZXIuZ2V0TGVuZ3RoSW5CaXRzKCklOCE9MCl7YnVmZmVyLnB1dEJpdChmYWxzZSk7fVxud2hpbGUodHJ1ZSl7aWYoYnVmZmVyLmdldExlbmd0aEluQml0cygpPj10b3RhbERhdGFDb3VudCo4KXticmVhazt9XG5idWZmZXIucHV0KFFSQ29kZU1vZGVsLlBBRDAsOCk7aWYoYnVmZmVyLmdldExlbmd0aEluQml0cygpPj10b3RhbERhdGFDb3VudCo4KXticmVhazt9XG5idWZmZXIucHV0KFFSQ29kZU1vZGVsLlBBRDEsOCk7fVxucmV0dXJuIFFSQ29kZU1vZGVsLmNyZWF0ZUJ5dGVzKGJ1ZmZlcixyc0Jsb2Nrcyk7fTtRUkNvZGVNb2RlbC5jcmVhdGVCeXRlcz1mdW5jdGlvbihidWZmZXIscnNCbG9ja3Mpe3ZhciBvZmZzZXQ9MDt2YXIgbWF4RGNDb3VudD0wO3ZhciBtYXhFY0NvdW50PTA7dmFyIGRjZGF0YT1uZXcgQXJyYXkocnNCbG9ja3MubGVuZ3RoKTt2YXIgZWNkYXRhPW5ldyBBcnJheShyc0Jsb2Nrcy5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8cnNCbG9ja3MubGVuZ3RoO3IrKyl7dmFyIGRjQ291bnQ9cnNCbG9ja3Nbcl0uZGF0YUNvdW50O3ZhciBlY0NvdW50PXJzQmxvY2tzW3JdLnRvdGFsQ291bnQtZGNDb3VudDttYXhEY0NvdW50PU1hdGgubWF4KG1heERjQ291bnQsZGNDb3VudCk7bWF4RWNDb3VudD1NYXRoLm1heChtYXhFY0NvdW50LGVjQ291bnQpO2RjZGF0YVtyXT1uZXcgQXJyYXkoZGNDb3VudCk7Zm9yKHZhciBpPTA7aTxkY2RhdGFbcl0ubGVuZ3RoO2krKyl7ZGNkYXRhW3JdW2ldPTB4ZmYmYnVmZmVyLmJ1ZmZlcltpK29mZnNldF07fVxub2Zmc2V0Kz1kY0NvdW50O3ZhciByc1BvbHk9UVJVdGlsLmdldEVycm9yQ29ycmVjdFBvbHlub21pYWwoZWNDb3VudCk7dmFyIHJhd1BvbHk9bmV3IFFSUG9seW5vbWlhbChkY2RhdGFbcl0scnNQb2x5LmdldExlbmd0aCgpLTEpO3ZhciBtb2RQb2x5PXJhd1BvbHkubW9kKHJzUG9seSk7ZWNkYXRhW3JdPW5ldyBBcnJheShyc1BvbHkuZ2V0TGVuZ3RoKCktMSk7Zm9yKHZhciBpPTA7aTxlY2RhdGFbcl0ubGVuZ3RoO2krKyl7dmFyIG1vZEluZGV4PWkrbW9kUG9seS5nZXRMZW5ndGgoKS1lY2RhdGFbcl0ubGVuZ3RoO2VjZGF0YVtyXVtpXT0obW9kSW5kZXg+PTApP21vZFBvbHkuZ2V0KG1vZEluZGV4KTowO319XG52YXIgdG90YWxDb2RlQ291bnQ9MDtmb3IodmFyIGk9MDtpPHJzQmxvY2tzLmxlbmd0aDtpKyspe3RvdGFsQ29kZUNvdW50Kz1yc0Jsb2Nrc1tpXS50b3RhbENvdW50O31cbnZhciBkYXRhPW5ldyBBcnJheSh0b3RhbENvZGVDb3VudCk7dmFyIGluZGV4PTA7Zm9yKHZhciBpPTA7aTxtYXhEY0NvdW50O2krKyl7Zm9yKHZhciByPTA7cjxyc0Jsb2Nrcy5sZW5ndGg7cisrKXtpZihpPGRjZGF0YVtyXS5sZW5ndGgpe2RhdGFbaW5kZXgrK109ZGNkYXRhW3JdW2ldO319fVxuZm9yKHZhciBpPTA7aTxtYXhFY0NvdW50O2krKyl7Zm9yKHZhciByPTA7cjxyc0Jsb2Nrcy5sZW5ndGg7cisrKXtpZihpPGVjZGF0YVtyXS5sZW5ndGgpe2RhdGFbaW5kZXgrK109ZWNkYXRhW3JdW2ldO319fVxucmV0dXJuIGRhdGE7fTt2YXIgUVJNb2RlPXtNT0RFX05VTUJFUjoxPDwwLE1PREVfQUxQSEFfTlVNOjE8PDEsTU9ERV84QklUX0JZVEU6MTw8MixNT0RFX0tBTkpJOjE8PDN9O3ZhciBRUkVycm9yQ29ycmVjdExldmVsPXtMOjEsTTowLFE6MyxIOjJ9O3ZhciBRUk1hc2tQYXR0ZXJuPXtQQVRURVJOMDAwOjAsUEFUVEVSTjAwMToxLFBBVFRFUk4wMTA6MixQQVRURVJOMDExOjMsUEFUVEVSTjEwMDo0LFBBVFRFUk4xMDE6NSxQQVRURVJOMTEwOjYsUEFUVEVSTjExMTo3fTt2YXIgUVJVdGlsPXtQQVRURVJOX1BPU0lUSU9OX1RBQkxFOltbXSxbNiwxOF0sWzYsMjJdLFs2LDI2XSxbNiwzMF0sWzYsMzRdLFs2LDIyLDM4XSxbNiwyNCw0Ml0sWzYsMjYsNDZdLFs2LDI4LDUwXSxbNiwzMCw1NF0sWzYsMzIsNThdLFs2LDM0LDYyXSxbNiwyNiw0Niw2Nl0sWzYsMjYsNDgsNzBdLFs2LDI2LDUwLDc0XSxbNiwzMCw1NCw3OF0sWzYsMzAsNTYsODJdLFs2LDMwLDU4LDg2XSxbNiwzNCw2Miw5MF0sWzYsMjgsNTAsNzIsOTRdLFs2LDI2LDUwLDc0LDk4XSxbNiwzMCw1NCw3OCwxMDJdLFs2LDI4LDU0LDgwLDEwNl0sWzYsMzIsNTgsODQsMTEwXSxbNiwzMCw1OCw4NiwxMTRdLFs2LDM0LDYyLDkwLDExOF0sWzYsMjYsNTAsNzQsOTgsMTIyXSxbNiwzMCw1NCw3OCwxMDIsMTI2XSxbNiwyNiw1Miw3OCwxMDQsMTMwXSxbNiwzMCw1Niw4MiwxMDgsMTM0XSxbNiwzNCw2MCw4NiwxMTIsMTM4XSxbNiwzMCw1OCw4NiwxMTQsMTQyXSxbNiwzNCw2Miw5MCwxMTgsMTQ2XSxbNiwzMCw1NCw3OCwxMDIsMTI2LDE1MF0sWzYsMjQsNTAsNzYsMTAyLDEyOCwxNTRdLFs2LDI4LDU0LDgwLDEwNiwxMzIsMTU4XSxbNiwzMiw1OCw4NCwxMTAsMTM2LDE2Ml0sWzYsMjYsNTQsODIsMTEwLDEzOCwxNjZdLFs2LDMwLDU4LDg2LDExNCwxNDIsMTcwXV0sRzE1OigxPDwxMCl8KDE8PDgpfCgxPDw1KXwoMTw8NCl8KDE8PDIpfCgxPDwxKXwoMTw8MCksRzE4OigxPDwxMil8KDE8PDExKXwoMTw8MTApfCgxPDw5KXwoMTw8OCl8KDE8PDUpfCgxPDwyKXwoMTw8MCksRzE1X01BU0s6KDE8PDE0KXwoMTw8MTIpfCgxPDwxMCl8KDE8PDQpfCgxPDwxKSxnZXRCQ0hUeXBlSW5mbzpmdW5jdGlvbihkYXRhKXt2YXIgZD1kYXRhPDwxMDt3aGlsZShRUlV0aWwuZ2V0QkNIRGlnaXQoZCktUVJVdGlsLmdldEJDSERpZ2l0KFFSVXRpbC5HMTUpPj0wKXtkXj0oUVJVdGlsLkcxNTw8KFFSVXRpbC5nZXRCQ0hEaWdpdChkKS1RUlV0aWwuZ2V0QkNIRGlnaXQoUVJVdGlsLkcxNSkpKTt9XG5yZXR1cm4oKGRhdGE8PDEwKXxkKV5RUlV0aWwuRzE1X01BU0s7fSxnZXRCQ0hUeXBlTnVtYmVyOmZ1bmN0aW9uKGRhdGEpe3ZhciBkPWRhdGE8PDEyO3doaWxlKFFSVXRpbC5nZXRCQ0hEaWdpdChkKS1RUlV0aWwuZ2V0QkNIRGlnaXQoUVJVdGlsLkcxOCk+PTApe2RePShRUlV0aWwuRzE4PDwoUVJVdGlsLmdldEJDSERpZ2l0KGQpLVFSVXRpbC5nZXRCQ0hEaWdpdChRUlV0aWwuRzE4KSkpO31cbnJldHVybihkYXRhPDwxMil8ZDt9LGdldEJDSERpZ2l0OmZ1bmN0aW9uKGRhdGEpe3ZhciBkaWdpdD0wO3doaWxlKGRhdGEhPTApe2RpZ2l0Kys7ZGF0YT4+Pj0xO31cbnJldHVybiBkaWdpdDt9LGdldFBhdHRlcm5Qb3NpdGlvbjpmdW5jdGlvbih0eXBlTnVtYmVyKXtyZXR1cm4gUVJVdGlsLlBBVFRFUk5fUE9TSVRJT05fVEFCTEVbdHlwZU51bWJlci0xXTt9LGdldE1hc2s6ZnVuY3Rpb24obWFza1BhdHRlcm4saSxqKXtzd2l0Y2gobWFza1BhdHRlcm4pe2Nhc2UgUVJNYXNrUGF0dGVybi5QQVRURVJOMDAwOnJldHVybihpK2opJTI9PTA7Y2FzZSBRUk1hc2tQYXR0ZXJuLlBBVFRFUk4wMDE6cmV0dXJuIGklMj09MDtjYXNlIFFSTWFza1BhdHRlcm4uUEFUVEVSTjAxMDpyZXR1cm4gaiUzPT0wO2Nhc2UgUVJNYXNrUGF0dGVybi5QQVRURVJOMDExOnJldHVybihpK2opJTM9PTA7Y2FzZSBRUk1hc2tQYXR0ZXJuLlBBVFRFUk4xMDA6cmV0dXJuKE1hdGguZmxvb3IoaS8yKStNYXRoLmZsb29yKGovMykpJTI9PTA7Y2FzZSBRUk1hc2tQYXR0ZXJuLlBBVFRFUk4xMDE6cmV0dXJuKGkqaiklMisoaSpqKSUzPT0wO2Nhc2UgUVJNYXNrUGF0dGVybi5QQVRURVJOMTEwOnJldHVybigoaSpqKSUyKyhpKmopJTMpJTI9PTA7Y2FzZSBRUk1hc2tQYXR0ZXJuLlBBVFRFUk4xMTE6cmV0dXJuKChpKmopJTMrKGkraiklMiklMj09MDtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcImJhZCBtYXNrUGF0dGVybjpcIittYXNrUGF0dGVybik7fX0sZ2V0RXJyb3JDb3JyZWN0UG9seW5vbWlhbDpmdW5jdGlvbihlcnJvckNvcnJlY3RMZW5ndGgpe3ZhciBhPW5ldyBRUlBvbHlub21pYWwoWzFdLDApO2Zvcih2YXIgaT0wO2k8ZXJyb3JDb3JyZWN0TGVuZ3RoO2krKyl7YT1hLm11bHRpcGx5KG5ldyBRUlBvbHlub21pYWwoWzEsUVJNYXRoLmdleHAoaSldLDApKTt9XG5yZXR1cm4gYTt9LGdldExlbmd0aEluQml0czpmdW5jdGlvbihtb2RlLHR5cGUpe2lmKDE8PXR5cGUmJnR5cGU8MTApe3N3aXRjaChtb2RlKXtjYXNlIFFSTW9kZS5NT0RFX05VTUJFUjpyZXR1cm4gMTA7Y2FzZSBRUk1vZGUuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDk7Y2FzZSBRUk1vZGUuTU9ERV84QklUX0JZVEU6cmV0dXJuIDg7Y2FzZSBRUk1vZGUuTU9ERV9LQU5KSTpyZXR1cm4gODtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcIm1vZGU6XCIrbW9kZSk7fX1lbHNlIGlmKHR5cGU8Mjcpe3N3aXRjaChtb2RlKXtjYXNlIFFSTW9kZS5NT0RFX05VTUJFUjpyZXR1cm4gMTI7Y2FzZSBRUk1vZGUuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDExO2Nhc2UgUVJNb2RlLk1PREVfOEJJVF9CWVRFOnJldHVybiAxNjtjYXNlIFFSTW9kZS5NT0RFX0tBTkpJOnJldHVybiAxMDtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcIm1vZGU6XCIrbW9kZSk7fX1lbHNlIGlmKHR5cGU8NDEpe3N3aXRjaChtb2RlKXtjYXNlIFFSTW9kZS5NT0RFX05VTUJFUjpyZXR1cm4gMTQ7Y2FzZSBRUk1vZGUuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDEzO2Nhc2UgUVJNb2RlLk1PREVfOEJJVF9CWVRFOnJldHVybiAxNjtjYXNlIFFSTW9kZS5NT0RFX0tBTkpJOnJldHVybiAxMjtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcIm1vZGU6XCIrbW9kZSk7fX1lbHNle3Rocm93IG5ldyBFcnJvcihcInR5cGU6XCIrdHlwZSk7fX0sZ2V0TG9zdFBvaW50OmZ1bmN0aW9uKHFyQ29kZSl7dmFyIG1vZHVsZUNvdW50PXFyQ29kZS5nZXRNb2R1bGVDb3VudCgpO3ZhciBsb3N0UG9pbnQ9MDtmb3IodmFyIHJvdz0wO3Jvdzxtb2R1bGVDb3VudDtyb3crKyl7Zm9yKHZhciBjb2w9MDtjb2w8bW9kdWxlQ291bnQ7Y29sKyspe3ZhciBzYW1lQ291bnQ9MDt2YXIgZGFyaz1xckNvZGUuaXNEYXJrKHJvdyxjb2wpO2Zvcih2YXIgcj0tMTtyPD0xO3IrKyl7aWYocm93K3I8MHx8bW9kdWxlQ291bnQ8PXJvdytyKXtjb250aW51ZTt9XG5mb3IodmFyIGM9LTE7Yzw9MTtjKyspe2lmKGNvbCtjPDB8fG1vZHVsZUNvdW50PD1jb2wrYyl7Y29udGludWU7fVxuaWYocj09MCYmYz09MCl7Y29udGludWU7fVxuaWYoZGFyaz09cXJDb2RlLmlzRGFyayhyb3crcixjb2wrYykpe3NhbWVDb3VudCsrO319fVxuaWYoc2FtZUNvdW50PjUpe2xvc3RQb2ludCs9KDMrc2FtZUNvdW50LTUpO319fVxuZm9yKHZhciByb3c9MDtyb3c8bW9kdWxlQ291bnQtMTtyb3crKyl7Zm9yKHZhciBjb2w9MDtjb2w8bW9kdWxlQ291bnQtMTtjb2wrKyl7dmFyIGNvdW50PTA7aWYocXJDb2RlLmlzRGFyayhyb3csY29sKSljb3VudCsrO2lmKHFyQ29kZS5pc0Rhcmsocm93KzEsY29sKSljb3VudCsrO2lmKHFyQ29kZS5pc0Rhcmsocm93LGNvbCsxKSljb3VudCsrO2lmKHFyQ29kZS5pc0Rhcmsocm93KzEsY29sKzEpKWNvdW50Kys7aWYoY291bnQ9PTB8fGNvdW50PT00KXtsb3N0UG9pbnQrPTM7fX19XG5mb3IodmFyIHJvdz0wO3Jvdzxtb2R1bGVDb3VudDtyb3crKyl7Zm9yKHZhciBjb2w9MDtjb2w8bW9kdWxlQ291bnQtNjtjb2wrKyl7aWYocXJDb2RlLmlzRGFyayhyb3csY29sKSYmIXFyQ29kZS5pc0Rhcmsocm93LGNvbCsxKSYmcXJDb2RlLmlzRGFyayhyb3csY29sKzIpJiZxckNvZGUuaXNEYXJrKHJvdyxjb2wrMykmJnFyQ29kZS5pc0Rhcmsocm93LGNvbCs0KSYmIXFyQ29kZS5pc0Rhcmsocm93LGNvbCs1KSYmcXJDb2RlLmlzRGFyayhyb3csY29sKzYpKXtsb3N0UG9pbnQrPTQwO319fVxuZm9yKHZhciBjb2w9MDtjb2w8bW9kdWxlQ291bnQ7Y29sKyspe2Zvcih2YXIgcm93PTA7cm93PG1vZHVsZUNvdW50LTY7cm93Kyspe2lmKHFyQ29kZS5pc0Rhcmsocm93LGNvbCkmJiFxckNvZGUuaXNEYXJrKHJvdysxLGNvbCkmJnFyQ29kZS5pc0Rhcmsocm93KzIsY29sKSYmcXJDb2RlLmlzRGFyayhyb3crMyxjb2wpJiZxckNvZGUuaXNEYXJrKHJvdys0LGNvbCkmJiFxckNvZGUuaXNEYXJrKHJvdys1LGNvbCkmJnFyQ29kZS5pc0Rhcmsocm93KzYsY29sKSl7bG9zdFBvaW50Kz00MDt9fX1cbnZhciBkYXJrQ291bnQ9MDtmb3IodmFyIGNvbD0wO2NvbDxtb2R1bGVDb3VudDtjb2wrKyl7Zm9yKHZhciByb3c9MDtyb3c8bW9kdWxlQ291bnQ7cm93Kyspe2lmKHFyQ29kZS5pc0Rhcmsocm93LGNvbCkpe2RhcmtDb3VudCsrO319fVxudmFyIHJhdGlvPU1hdGguYWJzKDEwMCpkYXJrQ291bnQvbW9kdWxlQ291bnQvbW9kdWxlQ291bnQtNTApLzU7bG9zdFBvaW50Kz1yYXRpbyoxMDtyZXR1cm4gbG9zdFBvaW50O319O3ZhciBRUk1hdGg9e2dsb2c6ZnVuY3Rpb24obil7aWYobjwxKXt0aHJvdyBuZXcgRXJyb3IoXCJnbG9nKFwiK24rXCIpXCIpO31cbnJldHVybiBRUk1hdGguTE9HX1RBQkxFW25dO30sZ2V4cDpmdW5jdGlvbihuKXt3aGlsZShuPDApe24rPTI1NTt9XG53aGlsZShuPj0yNTYpe24tPTI1NTt9XG5yZXR1cm4gUVJNYXRoLkVYUF9UQUJMRVtuXTt9LEVYUF9UQUJMRTpuZXcgQXJyYXkoMjU2KSxMT0dfVEFCTEU6bmV3IEFycmF5KDI1Nil9O2Zvcih2YXIgaT0wO2k8ODtpKyspe1FSTWF0aC5FWFBfVEFCTEVbaV09MTw8aTt9XG5mb3IodmFyIGk9ODtpPDI1NjtpKyspe1FSTWF0aC5FWFBfVEFCTEVbaV09UVJNYXRoLkVYUF9UQUJMRVtpLTRdXlFSTWF0aC5FWFBfVEFCTEVbaS01XV5RUk1hdGguRVhQX1RBQkxFW2ktNl1eUVJNYXRoLkVYUF9UQUJMRVtpLThdO31cbmZvcih2YXIgaT0wO2k8MjU1O2krKyl7UVJNYXRoLkxPR19UQUJMRVtRUk1hdGguRVhQX1RBQkxFW2ldXT1pO31cbmZ1bmN0aW9uIFFSUG9seW5vbWlhbChudW0sc2hpZnQpe2lmKG51bS5sZW5ndGg9PXVuZGVmaW5lZCl7dGhyb3cgbmV3IEVycm9yKG51bS5sZW5ndGgrXCIvXCIrc2hpZnQpO31cbnZhciBvZmZzZXQ9MDt3aGlsZShvZmZzZXQ8bnVtLmxlbmd0aCYmbnVtW29mZnNldF09PTApe29mZnNldCsrO31cbnRoaXMubnVtPW5ldyBBcnJheShudW0ubGVuZ3RoLW9mZnNldCtzaGlmdCk7Zm9yKHZhciBpPTA7aTxudW0ubGVuZ3RoLW9mZnNldDtpKyspe3RoaXMubnVtW2ldPW51bVtpK29mZnNldF07fX1cblFSUG9seW5vbWlhbC5wcm90b3R5cGU9e2dldDpmdW5jdGlvbihpbmRleCl7cmV0dXJuIHRoaXMubnVtW2luZGV4XTt9LGdldExlbmd0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm51bS5sZW5ndGg7fSxtdWx0aXBseTpmdW5jdGlvbihlKXt2YXIgbnVtPW5ldyBBcnJheSh0aGlzLmdldExlbmd0aCgpK2UuZ2V0TGVuZ3RoKCktMSk7Zm9yKHZhciBpPTA7aTx0aGlzLmdldExlbmd0aCgpO2krKyl7Zm9yKHZhciBqPTA7ajxlLmdldExlbmd0aCgpO2orKyl7bnVtW2kral1ePVFSTWF0aC5nZXhwKFFSTWF0aC5nbG9nKHRoaXMuZ2V0KGkpKStRUk1hdGguZ2xvZyhlLmdldChqKSkpO319XG5yZXR1cm4gbmV3IFFSUG9seW5vbWlhbChudW0sMCk7fSxtb2Q6ZnVuY3Rpb24oZSl7aWYodGhpcy5nZXRMZW5ndGgoKS1lLmdldExlbmd0aCgpPDApe3JldHVybiB0aGlzO31cbnZhciByYXRpbz1RUk1hdGguZ2xvZyh0aGlzLmdldCgwKSktUVJNYXRoLmdsb2coZS5nZXQoMCkpO3ZhciBudW09bmV3IEFycmF5KHRoaXMuZ2V0TGVuZ3RoKCkpO2Zvcih2YXIgaT0wO2k8dGhpcy5nZXRMZW5ndGgoKTtpKyspe251bVtpXT10aGlzLmdldChpKTt9XG5mb3IodmFyIGk9MDtpPGUuZ2V0TGVuZ3RoKCk7aSsrKXtudW1baV1ePVFSTWF0aC5nZXhwKFFSTWF0aC5nbG9nKGUuZ2V0KGkpKStyYXRpbyk7fVxucmV0dXJuIG5ldyBRUlBvbHlub21pYWwobnVtLDApLm1vZChlKTt9fTtmdW5jdGlvbiBRUlJTQmxvY2sodG90YWxDb3VudCxkYXRhQ291bnQpe3RoaXMudG90YWxDb3VudD10b3RhbENvdW50O3RoaXMuZGF0YUNvdW50PWRhdGFDb3VudDt9XG5RUlJTQmxvY2suUlNfQkxPQ0tfVEFCTEU9W1sxLDI2LDE5XSxbMSwyNiwxNl0sWzEsMjYsMTNdLFsxLDI2LDldLFsxLDQ0LDM0XSxbMSw0NCwyOF0sWzEsNDQsMjJdLFsxLDQ0LDE2XSxbMSw3MCw1NV0sWzEsNzAsNDRdLFsyLDM1LDE3XSxbMiwzNSwxM10sWzEsMTAwLDgwXSxbMiw1MCwzMl0sWzIsNTAsMjRdLFs0LDI1LDldLFsxLDEzNCwxMDhdLFsyLDY3LDQzXSxbMiwzMywxNSwyLDM0LDE2XSxbMiwzMywxMSwyLDM0LDEyXSxbMiw4Niw2OF0sWzQsNDMsMjddLFs0LDQzLDE5XSxbNCw0MywxNV0sWzIsOTgsNzhdLFs0LDQ5LDMxXSxbMiwzMiwxNCw0LDMzLDE1XSxbNCwzOSwxMywxLDQwLDE0XSxbMiwxMjEsOTddLFsyLDYwLDM4LDIsNjEsMzldLFs0LDQwLDE4LDIsNDEsMTldLFs0LDQwLDE0LDIsNDEsMTVdLFsyLDE0NiwxMTZdLFszLDU4LDM2LDIsNTksMzddLFs0LDM2LDE2LDQsMzcsMTddLFs0LDM2LDEyLDQsMzcsMTNdLFsyLDg2LDY4LDIsODcsNjldLFs0LDY5LDQzLDEsNzAsNDRdLFs2LDQzLDE5LDIsNDQsMjBdLFs2LDQzLDE1LDIsNDQsMTZdLFs0LDEwMSw4MV0sWzEsODAsNTAsNCw4MSw1MV0sWzQsNTAsMjIsNCw1MSwyM10sWzMsMzYsMTIsOCwzNywxM10sWzIsMTE2LDkyLDIsMTE3LDkzXSxbNiw1OCwzNiwyLDU5LDM3XSxbNCw0NiwyMCw2LDQ3LDIxXSxbNyw0MiwxNCw0LDQzLDE1XSxbNCwxMzMsMTA3XSxbOCw1OSwzNywxLDYwLDM4XSxbOCw0NCwyMCw0LDQ1LDIxXSxbMTIsMzMsMTEsNCwzNCwxMl0sWzMsMTQ1LDExNSwxLDE0NiwxMTZdLFs0LDY0LDQwLDUsNjUsNDFdLFsxMSwzNiwxNiw1LDM3LDE3XSxbMTEsMzYsMTIsNSwzNywxM10sWzUsMTA5LDg3LDEsMTEwLDg4XSxbNSw2NSw0MSw1LDY2LDQyXSxbNSw1NCwyNCw3LDU1LDI1XSxbMTEsMzYsMTJdLFs1LDEyMiw5OCwxLDEyMyw5OV0sWzcsNzMsNDUsMyw3NCw0Nl0sWzE1LDQzLDE5LDIsNDQsMjBdLFszLDQ1LDE1LDEzLDQ2LDE2XSxbMSwxMzUsMTA3LDUsMTM2LDEwOF0sWzEwLDc0LDQ2LDEsNzUsNDddLFsxLDUwLDIyLDE1LDUxLDIzXSxbMiw0MiwxNCwxNyw0MywxNV0sWzUsMTUwLDEyMCwxLDE1MSwxMjFdLFs5LDY5LDQzLDQsNzAsNDRdLFsxNyw1MCwyMiwxLDUxLDIzXSxbMiw0MiwxNCwxOSw0MywxNV0sWzMsMTQxLDExMyw0LDE0MiwxMTRdLFszLDcwLDQ0LDExLDcxLDQ1XSxbMTcsNDcsMjEsNCw0OCwyMl0sWzksMzksMTMsMTYsNDAsMTRdLFszLDEzNSwxMDcsNSwxMzYsMTA4XSxbMyw2Nyw0MSwxMyw2OCw0Ml0sWzE1LDU0LDI0LDUsNTUsMjVdLFsxNSw0MywxNSwxMCw0NCwxNl0sWzQsMTQ0LDExNiw0LDE0NSwxMTddLFsxNyw2OCw0Ml0sWzE3LDUwLDIyLDYsNTEsMjNdLFsxOSw0NiwxNiw2LDQ3LDE3XSxbMiwxMzksMTExLDcsMTQwLDExMl0sWzE3LDc0LDQ2XSxbNyw1NCwyNCwxNiw1NSwyNV0sWzM0LDM3LDEzXSxbNCwxNTEsMTIxLDUsMTUyLDEyMl0sWzQsNzUsNDcsMTQsNzYsNDhdLFsxMSw1NCwyNCwxNCw1NSwyNV0sWzE2LDQ1LDE1LDE0LDQ2LDE2XSxbNiwxNDcsMTE3LDQsMTQ4LDExOF0sWzYsNzMsNDUsMTQsNzQsNDZdLFsxMSw1NCwyNCwxNiw1NSwyNV0sWzMwLDQ2LDE2LDIsNDcsMTddLFs4LDEzMiwxMDYsNCwxMzMsMTA3XSxbOCw3NSw0NywxMyw3Niw0OF0sWzcsNTQsMjQsMjIsNTUsMjVdLFsyMiw0NSwxNSwxMyw0NiwxNl0sWzEwLDE0MiwxMTQsMiwxNDMsMTE1XSxbMTksNzQsNDYsNCw3NSw0N10sWzI4LDUwLDIyLDYsNTEsMjNdLFszMyw0NiwxNiw0LDQ3LDE3XSxbOCwxNTIsMTIyLDQsMTUzLDEyM10sWzIyLDczLDQ1LDMsNzQsNDZdLFs4LDUzLDIzLDI2LDU0LDI0XSxbMTIsNDUsMTUsMjgsNDYsMTZdLFszLDE0NywxMTcsMTAsMTQ4LDExOF0sWzMsNzMsNDUsMjMsNzQsNDZdLFs0LDU0LDI0LDMxLDU1LDI1XSxbMTEsNDUsMTUsMzEsNDYsMTZdLFs3LDE0NiwxMTYsNywxNDcsMTE3XSxbMjEsNzMsNDUsNyw3NCw0Nl0sWzEsNTMsMjMsMzcsNTQsMjRdLFsxOSw0NSwxNSwyNiw0NiwxNl0sWzUsMTQ1LDExNSwxMCwxNDYsMTE2XSxbMTksNzUsNDcsMTAsNzYsNDhdLFsxNSw1NCwyNCwyNSw1NSwyNV0sWzIzLDQ1LDE1LDI1LDQ2LDE2XSxbMTMsMTQ1LDExNSwzLDE0NiwxMTZdLFsyLDc0LDQ2LDI5LDc1LDQ3XSxbNDIsNTQsMjQsMSw1NSwyNV0sWzIzLDQ1LDE1LDI4LDQ2LDE2XSxbMTcsMTQ1LDExNV0sWzEwLDc0LDQ2LDIzLDc1LDQ3XSxbMTAsNTQsMjQsMzUsNTUsMjVdLFsxOSw0NSwxNSwzNSw0NiwxNl0sWzE3LDE0NSwxMTUsMSwxNDYsMTE2XSxbMTQsNzQsNDYsMjEsNzUsNDddLFsyOSw1NCwyNCwxOSw1NSwyNV0sWzExLDQ1LDE1LDQ2LDQ2LDE2XSxbMTMsMTQ1LDExNSw2LDE0NiwxMTZdLFsxNCw3NCw0NiwyMyw3NSw0N10sWzQ0LDU0LDI0LDcsNTUsMjVdLFs1OSw0NiwxNiwxLDQ3LDE3XSxbMTIsMTUxLDEyMSw3LDE1MiwxMjJdLFsxMiw3NSw0NywyNiw3Niw0OF0sWzM5LDU0LDI0LDE0LDU1LDI1XSxbMjIsNDUsMTUsNDEsNDYsMTZdLFs2LDE1MSwxMjEsMTQsMTUyLDEyMl0sWzYsNzUsNDcsMzQsNzYsNDhdLFs0Niw1NCwyNCwxMCw1NSwyNV0sWzIsNDUsMTUsNjQsNDYsMTZdLFsxNywxNTIsMTIyLDQsMTUzLDEyM10sWzI5LDc0LDQ2LDE0LDc1LDQ3XSxbNDksNTQsMjQsMTAsNTUsMjVdLFsyNCw0NSwxNSw0Niw0NiwxNl0sWzQsMTUyLDEyMiwxOCwxNTMsMTIzXSxbMTMsNzQsNDYsMzIsNzUsNDddLFs0OCw1NCwyNCwxNCw1NSwyNV0sWzQyLDQ1LDE1LDMyLDQ2LDE2XSxbMjAsMTQ3LDExNyw0LDE0OCwxMThdLFs0MCw3NSw0Nyw3LDc2LDQ4XSxbNDMsNTQsMjQsMjIsNTUsMjVdLFsxMCw0NSwxNSw2Nyw0NiwxNl0sWzE5LDE0OCwxMTgsNiwxNDksMTE5XSxbMTgsNzUsNDcsMzEsNzYsNDhdLFszNCw1NCwyNCwzNCw1NSwyNV0sWzIwLDQ1LDE1LDYxLDQ2LDE2XV07UVJSU0Jsb2NrLmdldFJTQmxvY2tzPWZ1bmN0aW9uKHR5cGVOdW1iZXIsZXJyb3JDb3JyZWN0TGV2ZWwpe3ZhciByc0Jsb2NrPVFSUlNCbG9jay5nZXRSc0Jsb2NrVGFibGUodHlwZU51bWJlcixlcnJvckNvcnJlY3RMZXZlbCk7aWYocnNCbG9jaz09dW5kZWZpbmVkKXt0aHJvdyBuZXcgRXJyb3IoXCJiYWQgcnMgYmxvY2sgQCB0eXBlTnVtYmVyOlwiK3R5cGVOdW1iZXIrXCIvZXJyb3JDb3JyZWN0TGV2ZWw6XCIrZXJyb3JDb3JyZWN0TGV2ZWwpO31cbnZhciBsZW5ndGg9cnNCbG9jay5sZW5ndGgvMzt2YXIgbGlzdD1bXTtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3ZhciBjb3VudD1yc0Jsb2NrW2kqMyswXTt2YXIgdG90YWxDb3VudD1yc0Jsb2NrW2kqMysxXTt2YXIgZGF0YUNvdW50PXJzQmxvY2tbaSozKzJdO2Zvcih2YXIgaj0wO2o8Y291bnQ7aisrKXtsaXN0LnB1c2gobmV3IFFSUlNCbG9jayh0b3RhbENvdW50LGRhdGFDb3VudCkpO319XG5yZXR1cm4gbGlzdDt9O1FSUlNCbG9jay5nZXRSc0Jsb2NrVGFibGU9ZnVuY3Rpb24odHlwZU51bWJlcixlcnJvckNvcnJlY3RMZXZlbCl7c3dpdGNoKGVycm9yQ29ycmVjdExldmVsKXtjYXNlIFFSRXJyb3JDb3JyZWN0TGV2ZWwuTDpyZXR1cm4gUVJSU0Jsb2NrLlJTX0JMT0NLX1RBQkxFWyh0eXBlTnVtYmVyLTEpKjQrMF07Y2FzZSBRUkVycm9yQ29ycmVjdExldmVsLk06cmV0dXJuIFFSUlNCbG9jay5SU19CTE9DS19UQUJMRVsodHlwZU51bWJlci0xKSo0KzFdO2Nhc2UgUVJFcnJvckNvcnJlY3RMZXZlbC5ROnJldHVybiBRUlJTQmxvY2suUlNfQkxPQ0tfVEFCTEVbKHR5cGVOdW1iZXItMSkqNCsyXTtjYXNlIFFSRXJyb3JDb3JyZWN0TGV2ZWwuSDpyZXR1cm4gUVJSU0Jsb2NrLlJTX0JMT0NLX1RBQkxFWyh0eXBlTnVtYmVyLTEpKjQrM107ZGVmYXVsdDpyZXR1cm4gdW5kZWZpbmVkO319O2Z1bmN0aW9uIFFSQml0QnVmZmVyKCl7dGhpcy5idWZmZXI9W107dGhpcy5sZW5ndGg9MDt9XG5RUkJpdEJ1ZmZlci5wcm90b3R5cGU9e2dldDpmdW5jdGlvbihpbmRleCl7dmFyIGJ1ZkluZGV4PU1hdGguZmxvb3IoaW5kZXgvOCk7cmV0dXJuKCh0aGlzLmJ1ZmZlcltidWZJbmRleF0+Pj4oNy1pbmRleCU4KSkmMSk9PTE7fSxwdXQ6ZnVuY3Rpb24obnVtLGxlbmd0aCl7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSsrKXt0aGlzLnB1dEJpdCgoKG51bT4+PihsZW5ndGgtaS0xKSkmMSk9PTEpO319LGdldExlbmd0aEluQml0czpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aDt9LHB1dEJpdDpmdW5jdGlvbihiaXQpe3ZhciBidWZJbmRleD1NYXRoLmZsb29yKHRoaXMubGVuZ3RoLzgpO2lmKHRoaXMuYnVmZmVyLmxlbmd0aDw9YnVmSW5kZXgpe3RoaXMuYnVmZmVyLnB1c2goMCk7fVxuaWYoYml0KXt0aGlzLmJ1ZmZlcltidWZJbmRleF18PSgweDgwPj4+KHRoaXMubGVuZ3RoJTgpKTt9XG50aGlzLmxlbmd0aCsrO319O3ZhciBRUkNvZGVMaW1pdExlbmd0aD1bWzE3LDE0LDExLDddLFszMiwyNiwyMCwxNF0sWzUzLDQyLDMyLDI0XSxbNzgsNjIsNDYsMzRdLFsxMDYsODQsNjAsNDRdLFsxMzQsMTA2LDc0LDU4XSxbMTU0LDEyMiw4Niw2NF0sWzE5MiwxNTIsMTA4LDg0XSxbMjMwLDE4MCwxMzAsOThdLFsyNzEsMjEzLDE1MSwxMTldLFszMjEsMjUxLDE3NywxMzddLFszNjcsMjg3LDIwMywxNTVdLFs0MjUsMzMxLDI0MSwxNzddLFs0NTgsMzYyLDI1OCwxOTRdLFs1MjAsNDEyLDI5MiwyMjBdLFs1ODYsNDUwLDMyMiwyNTBdLFs2NDQsNTA0LDM2NCwyODBdLFs3MTgsNTYwLDM5NCwzMTBdLFs3OTIsNjI0LDQ0MiwzMzhdLFs4NTgsNjY2LDQ4MiwzODJdLFs5MjksNzExLDUwOSw0MDNdLFsxMDAzLDc3OSw1NjUsNDM5XSxbMTA5MSw4NTcsNjExLDQ2MV0sWzExNzEsOTExLDY2MSw1MTFdLFsxMjczLDk5Nyw3MTUsNTM1XSxbMTM2NywxMDU5LDc1MSw1OTNdLFsxNDY1LDExMjUsODA1LDYyNV0sWzE1MjgsMTE5MCw4NjgsNjU4XSxbMTYyOCwxMjY0LDkwOCw2OThdLFsxNzMyLDEzNzAsOTgyLDc0Ml0sWzE4NDAsMTQ1MiwxMDMwLDc5MF0sWzE5NTIsMTUzOCwxMTEyLDg0Ml0sWzIwNjgsMTYyOCwxMTY4LDg5OF0sWzIxODgsMTcyMiwxMjI4LDk1OF0sWzIzMDMsMTgwOSwxMjgzLDk4M10sWzI0MzEsMTkxMSwxMzUxLDEwNTFdLFsyNTYzLDE5ODksMTQyMywxMDkzXSxbMjY5OSwyMDk5LDE0OTksMTEzOV0sWzI4MDksMjIxMywxNTc5LDEyMTldLFsyOTUzLDIzMzEsMTY2MywxMjczXV07XG5cblxuLyoqIENvbnN0cnVjdG9yICovXG5mdW5jdGlvbiBRUkNvZGUob3B0aW9ucykge1xuICB2YXIgaW5zdGFuY2UgPSB0aGlzO1xuXG4gIC8vRGVmYXVsdCBvcHRpb25zXG4gIHRoaXMub3B0aW9ucyA9IHtcbiAgICBwYWRkaW5nOiA0LFxuICAgIHdpZHRoOiAyNTYsXG4gICAgaGVpZ2h0OiAyNTYsXG4gICAgdHlwZU51bWJlcjogNCxcbiAgICBjb2xvcjogXCIjMDAwMDAwXCIsXG4gICAgYmFja2dyb3VuZDogXCIjZmZmZmZmXCIsXG4gICAgZWNsOiBcIk1cIixcbiAgICBpbWFnZTp7XG4gICAgICBzdmc6XCJcIixcbiAgICAgIHdpZHRoOjAsXG4gICAgICBoZWlnaHQ6MFxuICAgIH1cbiAgfTtcblxuICAvL0luIGNhc2UgdGhlIG9wdGlvbnMgaXMgc3RyaW5nXG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICBvcHRpb25zID0ge1xuICAgICAgY29udGVudDogb3B0aW9uc1xuICAgIH07XG4gIH1cblxuICAvL01lcmdlIG9wdGlvbnNcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBmb3IgKHZhciBpIGluIG9wdGlvbnMpIHtcbiAgICAgIHRoaXMub3B0aW9uc1tpXSA9IG9wdGlvbnNbaV07XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY29udGVudCAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCAnY29udGVudCcgYXMgc3RyaW5nIVwiKTtcbiAgfVxuXG4gIGlmICh0aGlzLm9wdGlvbnMuY29udGVudC5sZW5ndGggPT09IDAgLyogfHwgdGhpcy5vcHRpb25zLmNvbnRlbnQubGVuZ3RoID4gNzA4OSAqLykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkICdjb250ZW50JyB0byBiZSBub24tZW1wdHkhXCIpO1xuICB9XG5cbiAgaWYgKCEodGhpcy5vcHRpb25zLnBhZGRpbmcgPj0gMCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCAncGFkZGluZycgdmFsdWUgdG8gYmUgbm9uLW5lZ2F0aXZlIVwiKTtcbiAgfVxuXG4gIGlmICghKHRoaXMub3B0aW9ucy53aWR0aCA+IDApIHx8ICEodGhpcy5vcHRpb25zLmhlaWdodCA+IDApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgJ3dpZHRoJyBvciAnaGVpZ2h0JyB2YWx1ZSB0byBiZSBoaWdoZXIgdGhhbiB6ZXJvIVwiKTtcbiAgfVxuXG4gIC8vR2V0cyB0aGUgZXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICBmdW5jdGlvbiBfZ2V0RXJyb3JDb3JyZWN0TGV2ZWwoZWNsKSB7XG4gICAgc3dpdGNoIChlY2wpIHtcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICByZXR1cm4gUVJFcnJvckNvcnJlY3RMZXZlbC5MO1xuXG4gICAgICAgIGNhc2UgXCJNXCI6XG4gICAgICAgICAgcmV0dXJuIFFSRXJyb3JDb3JyZWN0TGV2ZWwuTTtcblxuICAgICAgICBjYXNlIFwiUVwiOlxuICAgICAgICAgIHJldHVybiBRUkVycm9yQ29ycmVjdExldmVsLlE7XG5cbiAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICByZXR1cm4gUVJFcnJvckNvcnJlY3RMZXZlbC5IO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbndvbiBlcnJvciBjb3JyZWN0aW9uIGxldmVsOiBcIiArIGVjbCk7XG4gICAgICB9XG4gIH1cblxuICAvL0dldCB0eXBlIG51bWJlclxuICBmdW5jdGlvbiBfZ2V0VHlwZU51bWJlcihjb250ZW50LCBlY2wpIHtcbiAgICB2YXIgbGVuZ3RoID0gX2dldFVURjhMZW5ndGgoY29udGVudCk7XG5cbiAgICB2YXIgdHlwZSA9IDE7XG4gICAgdmFyIGxpbWl0ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gUVJDb2RlTGltaXRMZW5ndGgubGVuZ3RoOyBpIDw9IGxlbjsgaSsrKSB7XG4gICAgICB2YXIgdGFibGUgPSBRUkNvZGVMaW1pdExlbmd0aFtpXTtcbiAgICAgIGlmICghdGFibGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29udGVudCB0b28gbG9uZzogZXhwZWN0ZWQgXCIgKyBsaW1pdCArIFwiIGJ1dCBnb3QgXCIgKyBsZW5ndGgpO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGVjbCkge1xuICAgICAgICBjYXNlIFwiTFwiOlxuICAgICAgICAgIGxpbWl0ID0gdGFibGVbMF07XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBcIk1cIjpcbiAgICAgICAgICBsaW1pdCA9IHRhYmxlWzFdO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgXCJRXCI6XG4gICAgICAgICAgbGltaXQgPSB0YWJsZVsyXTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFwiSFwiOlxuICAgICAgICAgIGxpbWl0ID0gdGFibGVbM107XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtud29uIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWw6IFwiICsgZWNsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGxlbmd0aCA8PSBsaW1pdCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgdHlwZSsrO1xuICAgIH1cblxuICAgIGlmICh0eXBlID4gUVJDb2RlTGltaXRMZW5ndGgubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb250ZW50IHRvbyBsb25nXCIpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgLy9HZXRzIHRleHQgbGVuZ3RoXG4gIGZ1bmN0aW9uIF9nZXRVVEY4TGVuZ3RoKGNvbnRlbnQpIHtcbiAgICB2YXIgcmVzdWx0ID0gZW5jb2RlVVJJKGNvbnRlbnQpLnRvU3RyaW5nKCkucmVwbGFjZSgvXFwlWzAtOWEtZkEtRl17Mn0vZywgJ2EnKTtcbiAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCArIChyZXN1bHQubGVuZ3RoICE9IGNvbnRlbnQgPyAzIDogMCk7XG4gIH1cblxuICAvL0dlbmVyYXRlIFFSIENvZGUgbWF0cml4XG4gIHZhciBjb250ZW50ID0gdGhpcy5vcHRpb25zLmNvbnRlbnQ7XG4gIHZhciB0eXBlID0gX2dldFR5cGVOdW1iZXIoY29udGVudCwgdGhpcy5vcHRpb25zLmVjbCk7XG4gIHZhciBlY2wgPSBfZ2V0RXJyb3JDb3JyZWN0TGV2ZWwodGhpcy5vcHRpb25zLmVjbCk7XG4gIHRoaXMucXJjb2RlID0gbmV3IFFSQ29kZU1vZGVsKHR5cGUsIGVjbCk7XG4gIHRoaXMucXJjb2RlLmFkZERhdGEoY29udGVudCk7XG4gIHRoaXMucXJjb2RlLm1ha2UoKTtcbn1cblxuLyoqIEdlbmVyYXRlcyBRUiBDb2RlIGFzIFNWRyBpbWFnZSAqL1xuUVJDb2RlLnByb3RvdHlwZS5zdmcgPSBmdW5jdGlvbihvcHQpIHtcbiAgdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwgeyB9O1xuICB2YXIgbW9kdWxlcyA9IHRoaXMucXJjb2RlLm1vZHVsZXM7XG5cbiAgaWYgKHR5cGVvZiBvcHQgPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIG9wdCA9IHsgY29udGFpbmVyOiBvcHRpb25zLmNvbnRhaW5lciB8fCBcInN2Z1wiIH07XG4gIH1cblxuICAvL0FwcGx5IG5ldyBsaW5lcyBhbmQgaW5kZW50cyBpbiBTVkc/XG4gIHZhciBwcmV0dHkgPSB0eXBlb2Ygb3B0aW9ucy5wcmV0dHkgIT0gXCJ1bmRlZmluZWRcIiA/ICEhb3B0aW9ucy5wcmV0dHkgOiB0cnVlO1xuXG4gIHZhciBpbmRlbnQgPSBwcmV0dHkgPyAnICAnIDogJyc7XG4gIHZhciBFT0wgPSBwcmV0dHkgPyAnXFxyXFxuJyA6ICcnO1xuICB2YXIgd2lkdGggPSBvcHRpb25zLndpZHRoO1xuICB2YXIgaGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHQ7XG4gIHZhciBsZW5ndGggPSBtb2R1bGVzLmxlbmd0aDtcbiAgdmFyIHhzaXplID0gd2lkdGggLyAobGVuZ3RoICsgMiAqIG9wdGlvbnMucGFkZGluZyk7XG4gIHZhciB5c2l6ZSA9IGhlaWdodCAvIChsZW5ndGggKyAyICogb3B0aW9ucy5wYWRkaW5nKTtcblxuICAvL0pvaW4gKHVuaW9uLCBtZXJnZSkgcmVjdGFuZ2xlcyBpbnRvIG9uZSBzaGFwZT9cbiAgdmFyIGpvaW4gPSB0eXBlb2Ygb3B0aW9ucy5qb2luICE9IFwidW5kZWZpbmVkXCIgPyAhIW9wdGlvbnMuam9pbiA6IGZhbHNlO1xuXG4gIC8vU3dhcCB0aGUgWCBhbmQgWSBtb2R1bGVzLCBwdWxsIHJlcXVlc3QgIzJcbiAgdmFyIHN3YXAgPSB0eXBlb2Ygb3B0aW9ucy5zd2FwICE9IFwidW5kZWZpbmVkXCIgPyAhIW9wdGlvbnMuc3dhcCA6IGZhbHNlO1xuXG4gIC8vQXBwbHkgPD94bWwuLi4/PiBkZWNsYXJhdGlvbiBpbiBTVkc/XG4gIHZhciB4bWxEZWNsYXJhdGlvbiA9IHR5cGVvZiBvcHRpb25zLnhtbERlY2xhcmF0aW9uICE9IFwidW5kZWZpbmVkXCIgPyAhIW9wdGlvbnMueG1sRGVjbGFyYXRpb24gOiB0cnVlO1xuXG4gIC8vUG9wdWxhdGUgd2l0aCBwcmVkZWZpbmVkIHNoYXBlIGluc3RlYWQgb2YgXCJyZWN0XCIgZWxlbWVudHMsIHRoYW5rcyB0byBAa2tvY2Rrb1xuICB2YXIgcHJlZGVmaW5lZCA9IHR5cGVvZiBvcHRpb25zLnByZWRlZmluZWQgIT0gXCJ1bmRlZmluZWRcIiA/ICEhb3B0aW9ucy5wcmVkZWZpbmVkIDogZmFsc2U7XG4gIHZhciBkZWZzID0gcHJlZGVmaW5lZCA/IGluZGVudCArICc8ZGVmcz48cGF0aCBpZD1cInFybW9kdWxlXCIgZD1cIk0wIDAgaCcgKyB5c2l6ZSArICcgdicgKyB4c2l6ZSArICcgSDAgelwiIHN0eWxlPVwiZmlsbDonICsgb3B0aW9ucy5jb2xvciArICc7c2hhcGUtcmVuZGVyaW5nOmNyaXNwRWRnZXM7XCIgLz48L2RlZnM+JyArIEVPTCA6ICcnO1xuXG4gIC8vQmFja2dyb3VuZCByZWN0YW5nbGVcbiAgdmFyIGJncmVjdCA9IGluZGVudCArICc8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCInICsgd2lkdGggKyAnXCIgaGVpZ2h0PVwiJyArIGhlaWdodCArICdcIiBzdHlsZT1cImZpbGw6JyArIG9wdGlvbnMuYmFja2dyb3VuZCArICc7c2hhcGUtcmVuZGVyaW5nOmNyaXNwRWRnZXM7XCIvPicgKyBFT0w7XG5cbiAgLy9SZWN0YW5nbGVzIHJlcHJlc2VudGluZyBtb2R1bGVzXG4gIHZhciBtb2RyZWN0ID0gJyc7XG4gIHZhciBwYXRoZGF0YSA9ICcnO1xuXG4gIGZvciAodmFyIHkgPSAwOyB5IDwgbGVuZ3RoOyB5KyspIHtcbiAgICBmb3IgKHZhciB4ID0gMDsgeCA8IGxlbmd0aDsgeCsrKSB7XG4gICAgICB2YXIgbW9kdWxlID0gbW9kdWxlc1t4XVt5XTtcbiAgICAgIGlmIChtb2R1bGUpIHtcblxuICAgICAgICB2YXIgcHggPSAoeCAqIHhzaXplICsgb3B0aW9ucy5wYWRkaW5nICogeHNpemUpO1xuICAgICAgICB2YXIgcHkgPSAoeSAqIHlzaXplICsgb3B0aW9ucy5wYWRkaW5nICogeXNpemUpO1xuXG4gICAgICAgIC8vU29tZSB1c2VycyBoYXZlIGhhZCBpc3N1ZXMgd2l0aCB0aGUgUVIgQ29kZSwgdGhhbmtzIHRvIEBkYW5pb3NvIGZvciB0aGUgc29sdXRpb25cbiAgICAgICAgaWYgKHN3YXApIHtcbiAgICAgICAgICB2YXIgdCA9IHB4O1xuICAgICAgICAgIHB4ID0gcHk7XG4gICAgICAgICAgcHkgPSB0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGpvaW4pIHtcbiAgICAgICAgICAvL01vZHVsZSBhcyBhIHBhcnQgb2Ygc3ZnIHBhdGggZGF0YSwgdGhhbmtzIHRvIEBkYW5pb3NvXG4gICAgICAgICAgdmFyIHcgPSB4c2l6ZSArIHB4XG4gICAgICAgICAgdmFyIGggPSB5c2l6ZSArIHB5XG5cbiAgICAgICAgICBweCA9IChOdW1iZXIuaXNJbnRlZ2VyKHB4KSk/IE51bWJlcihweCk6IHB4LnRvRml4ZWQoMik7XG4gICAgICAgICAgcHkgPSAoTnVtYmVyLmlzSW50ZWdlcihweSkpPyBOdW1iZXIocHkpOiBweS50b0ZpeGVkKDIpO1xuICAgICAgICAgIHcgPSAoTnVtYmVyLmlzSW50ZWdlcih3KSk/IE51bWJlcih3KTogdy50b0ZpeGVkKDIpO1xuICAgICAgICAgIGggPSAoTnVtYmVyLmlzSW50ZWdlcihoKSk/IE51bWJlcihoKTogaC50b0ZpeGVkKDIpO1xuXG4gICAgICAgICAgcGF0aGRhdGEgKz0gKCdNJyArIHB4ICsgJywnICsgcHkgKyAnIFYnICsgaCArICcgSCcgKyB3ICsgJyBWJyArIHB5ICsgJyBIJyArIHB4ICsgJyBaICcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByZWRlZmluZWQpIHtcbiAgICAgICAgICAvL01vZHVsZSBhcyBhIHByZWRlZmluZWQgc2hhcGUsIHRoYW5rcyB0byBAa2tvY2Rrb1xuICAgICAgICAgIG1vZHJlY3QgKz0gaW5kZW50ICsgJzx1c2UgeD1cIicgKyBweC50b1N0cmluZygpICsgJ1wiIHk9XCInICsgcHkudG9TdHJpbmcoKSArICdcIiBocmVmPVwiI3FybW9kdWxlXCIgLz4nICsgRU9MO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIC8vTW9kdWxlIGFzIHJlY3RhbmdsZSBlbGVtZW50XG4gICAgICAgICAgbW9kcmVjdCArPSBpbmRlbnQgKyAnPHJlY3QgeD1cIicgKyBweC50b1N0cmluZygpICsgJ1wiIHk9XCInICsgcHkudG9TdHJpbmcoKSArICdcIiB3aWR0aD1cIicgKyB4c2l6ZSArICdcIiBoZWlnaHQ9XCInICsgeXNpemUgKyAnXCIgc3R5bGU9XCJmaWxsOicgKyBvcHRpb25zLmNvbG9yICsgJztzaGFwZS1yZW5kZXJpbmc6Y3Jpc3BFZGdlcztcIi8+JyArIEVPTDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChqb2luKSB7XG4gICAgbW9kcmVjdCA9IGluZGVudCArICc8cGF0aCB4PVwiMFwiIHk9XCIwXCIgc3R5bGU9XCJmaWxsOicgKyBvcHRpb25zLmNvbG9yICsgJztzaGFwZS1yZW5kZXJpbmc6Y3Jpc3BFZGdlcztcIiBkPVwiJyArIHBhdGhkYXRhICsgJ1wiIC8+JztcbiAgfVxuICBsZXQgaW1nU3ZnID0gXCJcIjtcbiAgaWYodGhpcy5vcHRpb25zLmltYWdlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5vcHRpb25zLmltYWdlLnN2Zyl7XG4gICAgY29uc3QgaW1nV2lkdGggPSB3aWR0aCAqIHRoaXMub3B0aW9ucy5pbWFnZS53aWR0aCAvIDEwMDtcbiAgICBjb25zdCBpbWdIZWlnaHQgPSBoZWlnaHQgKiB0aGlzLm9wdGlvbnMuaW1hZ2UuaGVpZ2h0IC8gMTAwO1xuICAgIGNvbnN0IGltZ1ggPSAod2lkdGgvMikgLSBpbWdXaWR0aC8yO1xuICAgIGNvbnN0IGltZ1kgPSAoaGVpZ2h0LzIpIC0gaW1nSGVpZ2h0LzI7XG4gICAgaW1nU3ZnICs9IGA8c3ZnIHg9XCIke2ltZ1h9XCIgeT1cIiR7aW1nWX1cIiB3aWR0aD1cIiR7aW1nV2lkdGh9XCIgaGVpZ2h0PVwiJHtpbWdIZWlnaHR9XCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWluIG1lZXRcIj5gO1xuICAgIGltZ1N2ZyArPSB0aGlzLm9wdGlvbnMuaW1hZ2Uuc3ZnICsgRU9MO1xuICAgIGltZ1N2ZyArPSAnPC9zdmc+JztcbiAgfVxuXG4gIHZhciBzdmcgPSBcIlwiO1xuICBzd2l0Y2ggKG9wdC5jb250YWluZXIpIHtcbiAgICAvL1dyYXBwZWQgaW4gU1ZHIGRvY3VtZW50XG4gICAgY2FzZSBcInN2Z1wiOlxuICAgICAgaWYgKHhtbERlY2xhcmF0aW9uKSB7XG4gICAgICAgIHN2ZyArPSAnPD94bWwgdmVyc2lvbj1cIjEuMFwiIHN0YW5kYWxvbmU9XCJ5ZXNcIj8+JyArIEVPTDtcbiAgICAgIH1cbiAgICAgIHN2ZyArPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiJyArIHdpZHRoICsgJ1wiIGhlaWdodD1cIicgKyBoZWlnaHQgKyAnXCI+JyArIEVPTDtcbiAgICAgIHN2ZyArPSBkZWZzICsgYmdyZWN0ICsgbW9kcmVjdDtcbiAgICAgIHN2ZyArPSBpbWdTdmc7XG4gICAgICBzdmcgKz0gJzwvc3ZnPic7XG4gICAgICBicmVhaztcblxuICAgIC8vVmlld2JveCBmb3IgcmVzcG9uc2l2ZSB1c2UgaW4gYSBicm93c2VyLCB0aGFua3MgdG8gQGRhbmlvc29cbiAgICBjYXNlIFwic3ZnLXZpZXdib3hcIjpcbiAgICAgIGlmICh4bWxEZWNsYXJhdGlvbikge1xuICAgICAgICBzdmcgKz0gJzw/eG1sIHZlcnNpb249XCIxLjBcIiBzdGFuZGFsb25lPVwieWVzXCI/PicgKyBFT0w7XG4gICAgICB9XG4gICAgICBzdmcgKz0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwICcgKyB3aWR0aCArICcgJyArIGhlaWdodCArICdcIj4nICsgRU9MO1xuICAgICAgc3ZnICs9IGRlZnMgKyBiZ3JlY3QgKyBtb2RyZWN0O1xuICAgICAgc3ZnICs9IGltZ1N2ZztcbiAgICAgIHN2ZyArPSAnPC9zdmc+JztcbiAgICAgIGJyZWFrO1xuXG5cbiAgICAvL1dyYXBwZWQgaW4gZ3JvdXAgZWxlbWVudFxuICAgIGNhc2UgXCJnXCI6XG4gICAgICBzdmcgKz0gJzxnIHdpZHRoPVwiJyArIHdpZHRoICsgJ1wiIGhlaWdodD1cIicgKyBoZWlnaHQgKyAnXCI+JyArIEVPTDtcbiAgICAgIHN2ZyArPSBkZWZzICsgYmdyZWN0ICsgbW9kcmVjdDtcbiAgICAgIHN2ZyArPSBpbWdTdmc7XG4gICAgICBzdmcgKz0gJzwvZz4nO1xuXG4gICAgICBicmVhaztcblxuICAgIC8vV2l0aG91dCBhIGNvbnRhaW5lclxuICAgIGRlZmF1bHQ6XG4gICAgICBzdmcgKz0gKGRlZnMgKyBiZ3JlY3QgKyBtb2RyZWN0ICsgaW1nU3ZnKS5yZXBsYWNlKC9eXFxzKy8sIFwiXCIpOyAvL0NsZWFyIGluZGVudHMgb24gZWFjaCBsaW5lXG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBzdmc7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFFSQ29kZTtcblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/vendor-js/qrcode-svg/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/dist/version.js": -/*!***********************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/dist/version.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LIB_VERSION = void 0;\nexports.LIB_VERSION = \"3.7.1\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGNvaW5iYXNlL3dhbGxldC1zZGsvZGlzdC92ZXJzaW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQjtBQUNuQixtQkFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bjb2luYmFzZS93YWxsZXQtc2RrL2Rpc3QvdmVyc2lvbi5qcz9lNDk0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5MSUJfVkVSU0lPTiA9IHZvaWQgMDtcbmV4cG9ydHMuTElCX1ZFUlNJT04gPSBcIjMuNy4xXCI7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@coinbase/wallet-sdk/dist/version.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/safe-event-emitter/index.js": -/*!************************************************************!*\ - !*** ./node_modules/@metamask/safe-event-emitter/index.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst events_1 = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\nfunction safeApply(handler, context, args) {\n try {\n Reflect.apply(handler, context, args);\n }\n catch (err) {\n // Throw error after timeout so as not to interrupt the stack\n setTimeout(() => {\n throw err;\n });\n }\n}\nfunction arrayClone(arr) {\n const n = arr.length;\n const copy = new Array(n);\n for (let i = 0; i < n; i += 1) {\n copy[i] = arr[i];\n }\n return copy;\n}\nclass SafeEventEmitter extends events_1.EventEmitter {\n emit(type, ...args) {\n let doError = type === 'error';\n const events = this._events;\n if (events !== undefined) {\n doError = doError && events.error === undefined;\n }\n else if (!doError) {\n return false;\n }\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0) {\n [er] = args;\n }\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 const err = new Error(`Unhandled error.${er ? ` (${er.message})` : ''}`);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n const handler = events[type];\n if (handler === undefined) {\n return false;\n }\n if (typeof handler === 'function') {\n safeApply(handler, this, args);\n }\n else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; i += 1) {\n safeApply(listeners[i], this, args);\n }\n }\n return true;\n }\n}\nexports[\"default\"] = SafeEventEmitter;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3NhZmUtZXZlbnQtZW1pdHRlci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsbUJBQU8sQ0FBQywrQ0FBUTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsT0FBTztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQSxxREFBcUQsVUFBVSxXQUFXLFFBQVE7QUFDbEY7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixTQUFTO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay9zYWZlLWV2ZW50LWVtaXR0ZXIvaW5kZXguanM/NjhlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IGV2ZW50c18xID0gcmVxdWlyZShcImV2ZW50c1wiKTtcbmZ1bmN0aW9uIHNhZmVBcHBseShoYW5kbGVyLCBjb250ZXh0LCBhcmdzKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgUmVmbGVjdC5hcHBseShoYW5kbGVyLCBjb250ZXh0LCBhcmdzKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBUaHJvdyBlcnJvciBhZnRlciB0aW1lb3V0IHNvIGFzIG5vdCB0byBpbnRlcnJ1cHQgdGhlIHN0YWNrXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiBhcnJheUNsb25lKGFycikge1xuICAgIGNvbnN0IG4gPSBhcnIubGVuZ3RoO1xuICAgIGNvbnN0IGNvcHkgPSBuZXcgQXJyYXkobik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpICs9IDEpIHtcbiAgICAgICAgY29weVtpXSA9IGFycltpXTtcbiAgICB9XG4gICAgcmV0dXJuIGNvcHk7XG59XG5jbGFzcyBTYWZlRXZlbnRFbWl0dGVyIGV4dGVuZHMgZXZlbnRzXzEuRXZlbnRFbWl0dGVyIHtcbiAgICBlbWl0KHR5cGUsIC4uLmFyZ3MpIHtcbiAgICAgICAgbGV0IGRvRXJyb3IgPSB0eXBlID09PSAnZXJyb3InO1xuICAgICAgICBjb25zdCBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gICAgICAgIGlmIChldmVudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9FcnJvciA9IGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIWRvRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyAnZXJyb3InIGV2ZW50IGxpc3RlbmVyIHRoZW4gdGhyb3cuXG4gICAgICAgIGlmIChkb0Vycm9yKSB7XG4gICAgICAgICAgICBsZXQgZXI7XG4gICAgICAgICAgICBpZiAoYXJncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgW2VyXSA9IGFyZ3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgIC8vIE5vdGU6IFRoZSBjb21tZW50cyBvbiB0aGUgYHRocm93YCBsaW5lcyBhcmUgaW50ZW50aW9uYWwsIHRoZXkgc2hvd1xuICAgICAgICAgICAgICAgIC8vIHVwIGluIE5vZGUncyBvdXRwdXQgaWYgdGhpcyByZXN1bHRzIGluIGFuIHVuaGFuZGxlZCBleGNlcHRpb24uXG4gICAgICAgICAgICAgICAgdGhyb3cgZXI7IC8vIFVuaGFuZGxlZCAnZXJyb3InIGV2ZW50XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBdCBsZWFzdCBnaXZlIHNvbWUga2luZCBvZiBjb250ZXh0IHRvIHRoZSB1c2VyXG4gICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYFVuaGFuZGxlZCBlcnJvci4ke2VyID8gYCAoJHtlci5tZXNzYWdlfSlgIDogJyd9YCk7XG4gICAgICAgICAgICBlcnIuY29udGV4dCA9IGVyO1xuICAgICAgICAgICAgdGhyb3cgZXJyOyAvLyBVbmhhbmRsZWQgJ2Vycm9yJyBldmVudFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSBldmVudHNbdHlwZV07XG4gICAgICAgIGlmIChoYW5kbGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNhZmVBcHBseShoYW5kbGVyLCB0aGlzLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGxlbiA9IGhhbmRsZXIubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gYXJyYXlDbG9uZShoYW5kbGVyKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgICAgICAgICAgICBzYWZlQXBwbHkobGlzdGVuZXJzW2ldLCB0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG5leHBvcnRzLmRlZmF1bHQgPSBTYWZlRXZlbnRFbWl0dGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@metamask/safe-event-emitter/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/assert.js": -/*!*****************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/assert.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assertExhaustive = exports.assertStruct = exports.assert = exports.AssertionError = void 0;\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\n/**\n * Type guard for determining whether the given value is an error object with a\n * `message` property, such as an instance of Error.\n *\n * @param error - The object to check.\n * @returns True or false, depending on the result.\n */\nfunction isErrorWithMessage(error) {\n return typeof error === 'object' && error !== null && 'message' in error;\n}\n/**\n * Check if a value is a constructor, i.e., a function that can be called with\n * the `new` keyword.\n *\n * @param fn - The value to check.\n * @returns `true` if the value is a constructor, or `false` otherwise.\n */\nfunction isConstructable(fn) {\n var _a, _b;\n /* istanbul ignore next */\n return Boolean(typeof ((_b = (_a = fn === null || fn === void 0 ? void 0 : fn.prototype) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) === 'string');\n}\n/**\n * Get the error message from an unknown error object. If the error object has\n * a `message` property, that property is returned. Otherwise, the stringified\n * error object is returned.\n *\n * @param error - The error object to get the message from.\n * @returns The error message.\n */\nfunction getErrorMessage(error) {\n const message = isErrorWithMessage(error) ? error.message : String(error);\n // If the error ends with a period, remove it, as we'll add our own period.\n if (message.endsWith('.')) {\n return message.slice(0, -1);\n }\n return message;\n}\n/**\n * Initialise an {@link AssertionErrorConstructor} error.\n *\n * @param ErrorWrapper - The error class to use.\n * @param message - The error message.\n * @returns The error object.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction getError(ErrorWrapper, message) {\n if (isConstructable(ErrorWrapper)) {\n return new ErrorWrapper({\n message,\n });\n }\n return ErrorWrapper({\n message,\n });\n}\n/**\n * The default error class that is thrown if an assertion fails.\n */\nclass AssertionError extends Error {\n constructor(options) {\n super(options.message);\n this.code = 'ERR_ASSERTION';\n }\n}\nexports.AssertionError = AssertionError;\n/**\n * Same as Node.js assert.\n * If the value is falsy, throws an error, does nothing otherwise.\n *\n * @throws {@link AssertionError} If value is falsy.\n * @param value - The test that should be truthy to pass.\n * @param message - Message to be passed to {@link AssertionError} or an\n * {@link Error} instance to throw.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}. If a custom error class is provided for\n * the `message` argument, this argument is ignored.\n */\nfunction assert(value, message = 'Assertion failed.', \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper = AssertionError) {\n if (!value) {\n if (message instanceof Error) {\n throw message;\n }\n throw getError(ErrorWrapper, message);\n }\n}\nexports.assert = assert;\n/**\n * Assert a value against a Superstruct struct.\n *\n * @param value - The value to validate.\n * @param struct - The struct to validate against.\n * @param errorPrefix - A prefix to add to the error message. Defaults to\n * \"Assertion failed\".\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the value is not valid.\n */\nfunction assertStruct(value, struct, errorPrefix = 'Assertion failed', \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper = AssertionError) {\n try {\n (0, superstruct_1.assert)(value, struct);\n }\n catch (error) {\n throw getError(ErrorWrapper, `${errorPrefix}: ${getErrorMessage(error)}.`);\n }\n}\nexports.assertStruct = assertStruct;\n/**\n * Use in the default case of a switch that you want to be fully exhaustive.\n * Using this function forces the compiler to enforce exhaustivity during\n * compile-time.\n *\n * @example\n * ```\n * const number = 1;\n * switch (number) {\n * case 0:\n * ...\n * case 1:\n * ...\n * default:\n * assertExhaustive(snapPrefix);\n * }\n * ```\n * @param _object - The object on which the switch is being operated.\n */\nfunction assertExhaustive(_object) {\n throw new Error('Invalid branch reached. Should be detected during compilation.');\n}\nexports.assertExhaustive = assertExhaustive;\n//# sourceMappingURL=assert.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvYXNzZXJ0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QixHQUFHLG9CQUFvQixHQUFHLGNBQWMsR0FBRyxzQkFBc0I7QUFDekYsc0JBQXNCLG1CQUFPLENBQUMsMkZBQWE7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGlDQUFpQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHNCQUFzQjtBQUNsQztBQUNBLDZDQUE2QyxzQkFBc0I7QUFDbkUsSUFBSSxhQUFhO0FBQ2pCO0FBQ0EsZ0JBQWdCLHFCQUFxQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixxQkFBcUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLFlBQVksSUFBSSx1QkFBdUI7QUFDL0U7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvYXNzZXJ0LmpzP2Y3Y2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmFzc2VydEV4aGF1c3RpdmUgPSBleHBvcnRzLmFzc2VydFN0cnVjdCA9IGV4cG9ydHMuYXNzZXJ0ID0gZXhwb3J0cy5Bc3NlcnRpb25FcnJvciA9IHZvaWQgMDtcbmNvbnN0IHN1cGVyc3RydWN0XzEgPSByZXF1aXJlKFwic3VwZXJzdHJ1Y3RcIik7XG4vKipcbiAqIFR5cGUgZ3VhcmQgZm9yIGRldGVybWluaW5nIHdoZXRoZXIgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIGVycm9yIG9iamVjdCB3aXRoIGFcbiAqIGBtZXNzYWdlYCBwcm9wZXJ0eSwgc3VjaCBhcyBhbiBpbnN0YW5jZSBvZiBFcnJvci5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBvciBmYWxzZSwgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHQuXG4gKi9cbmZ1bmN0aW9uIGlzRXJyb3JXaXRoTWVzc2FnZShlcnJvcikge1xuICAgIHJldHVybiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmIGVycm9yICE9PSBudWxsICYmICdtZXNzYWdlJyBpbiBlcnJvcjtcbn1cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIGNvbnN0cnVjdG9yLCBpLmUuLCBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGNhbGxlZCB3aXRoXG4gKiB0aGUgYG5ld2Aga2V5d29yZC5cbiAqXG4gKiBAcGFyYW0gZm4gLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgY29uc3RydWN0b3IsIG9yIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBpc0NvbnN0cnVjdGFibGUoZm4pIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIEJvb2xlYW4odHlwZW9mICgoX2IgPSAoX2EgPSBmbiA9PT0gbnVsbCB8fCBmbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogZm4ucHJvdG90eXBlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY29uc3RydWN0b3IpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSA9PT0gJ3N0cmluZycpO1xufVxuLyoqXG4gKiBHZXQgdGhlIGVycm9yIG1lc3NhZ2UgZnJvbSBhbiB1bmtub3duIGVycm9yIG9iamVjdC4gSWYgdGhlIGVycm9yIG9iamVjdCBoYXNcbiAqIGEgYG1lc3NhZ2VgIHByb3BlcnR5LCB0aGF0IHByb3BlcnR5IGlzIHJldHVybmVkLiBPdGhlcndpc2UsIHRoZSBzdHJpbmdpZmllZFxuICogZXJyb3Igb2JqZWN0IGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciBvYmplY3QgdG8gZ2V0IHRoZSBtZXNzYWdlIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZXJyb3IgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlKGVycm9yKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGlzRXJyb3JXaXRoTWVzc2FnZShlcnJvcikgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgICAvLyBJZiB0aGUgZXJyb3IgZW5kcyB3aXRoIGEgcGVyaW9kLCByZW1vdmUgaXQsIGFzIHdlJ2xsIGFkZCBvdXIgb3duIHBlcmlvZC5cbiAgICBpZiAobWVzc2FnZS5lbmRzV2l0aCgnLicpKSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLnNsaWNlKDAsIC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG59XG4vKipcbiAqIEluaXRpYWxpc2UgYW4ge0BsaW5rIEFzc2VydGlvbkVycm9yQ29uc3RydWN0b3J9IGVycm9yLlxuICpcbiAqIEBwYXJhbSBFcnJvcldyYXBwZXIgLSBUaGUgZXJyb3IgY2xhc3MgdG8gdXNlLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAqIEByZXR1cm5zIFRoZSBlcnJvciBvYmplY3QuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmZ1bmN0aW9uIGdldEVycm9yKEVycm9yV3JhcHBlciwgbWVzc2FnZSkge1xuICAgIGlmIChpc0NvbnN0cnVjdGFibGUoRXJyb3JXcmFwcGVyKSkge1xuICAgICAgICByZXR1cm4gbmV3IEVycm9yV3JhcHBlcih7XG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIEVycm9yV3JhcHBlcih7XG4gICAgICAgIG1lc3NhZ2UsXG4gICAgfSk7XG59XG4vKipcbiAqIFRoZSBkZWZhdWx0IGVycm9yIGNsYXNzIHRoYXQgaXMgdGhyb3duIGlmIGFuIGFzc2VydGlvbiBmYWlscy5cbiAqL1xuY2xhc3MgQXNzZXJ0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmNvZGUgPSAnRVJSX0FTU0VSVElPTic7XG4gICAgfVxufVxuZXhwb3J0cy5Bc3NlcnRpb25FcnJvciA9IEFzc2VydGlvbkVycm9yO1xuLyoqXG4gKiBTYW1lIGFzIE5vZGUuanMgYXNzZXJ0LlxuICogSWYgdGhlIHZhbHVlIGlzIGZhbHN5LCB0aHJvd3MgYW4gZXJyb3IsIGRvZXMgbm90aGluZyBvdGhlcndpc2UuXG4gKlxuICogQHRocm93cyB7QGxpbmsgQXNzZXJ0aW9uRXJyb3J9IElmIHZhbHVlIGlzIGZhbHN5LlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHRlc3QgdGhhdCBzaG91bGQgYmUgdHJ1dGh5IHRvIHBhc3MuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gYmUgcGFzc2VkIHRvIHtAbGluayBBc3NlcnRpb25FcnJvcn0gb3IgYW5cbiAqIHtAbGluayBFcnJvcn0gaW5zdGFuY2UgdG8gdGhyb3cuXG4gKiBAcGFyYW0gRXJyb3JXcmFwcGVyIC0gVGhlIGVycm9yIGNsYXNzIHRvIHRocm93IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKiBEZWZhdWx0cyB0byB7QGxpbmsgQXNzZXJ0aW9uRXJyb3J9LiBJZiBhIGN1c3RvbSBlcnJvciBjbGFzcyBpcyBwcm92aWRlZCBmb3JcbiAqIHRoZSBgbWVzc2FnZWAgYXJndW1lbnQsIHRoaXMgYXJndW1lbnQgaXMgaWdub3JlZC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0KHZhbHVlLCBtZXNzYWdlID0gJ0Fzc2VydGlvbiBmYWlsZWQuJywgXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5FcnJvcldyYXBwZXIgPSBBc3NlcnRpb25FcnJvcikge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgaWYgKG1lc3NhZ2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBnZXRFcnJvcihFcnJvcldyYXBwZXIsIG1lc3NhZ2UpO1xuICAgIH1cbn1cbmV4cG9ydHMuYXNzZXJ0ID0gYXNzZXJ0O1xuLyoqXG4gKiBBc3NlcnQgYSB2YWx1ZSBhZ2FpbnN0IGEgU3VwZXJzdHJ1Y3Qgc3RydWN0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAqIEBwYXJhbSBzdHJ1Y3QgLSBUaGUgc3RydWN0IHRvIHZhbGlkYXRlIGFnYWluc3QuXG4gKiBAcGFyYW0gZXJyb3JQcmVmaXggLSBBIHByZWZpeCB0byBhZGQgdG8gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvXG4gKiBcIkFzc2VydGlvbiBmYWlsZWRcIi5cbiAqIEBwYXJhbSBFcnJvcldyYXBwZXIgLSBUaGUgZXJyb3IgY2xhc3MgdG8gdGhyb3cgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqIERlZmF1bHRzIHRvIHtAbGluayBBc3NlcnRpb25FcnJvcn0uXG4gKiBAdGhyb3dzIElmIHRoZSB2YWx1ZSBpcyBub3QgdmFsaWQuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydFN0cnVjdCh2YWx1ZSwgc3RydWN0LCBlcnJvclByZWZpeCA9ICdBc3NlcnRpb24gZmFpbGVkJywgXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5FcnJvcldyYXBwZXIgPSBBc3NlcnRpb25FcnJvcikge1xuICAgIHRyeSB7XG4gICAgICAgICgwLCBzdXBlcnN0cnVjdF8xLmFzc2VydCkodmFsdWUsIHN0cnVjdCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aHJvdyBnZXRFcnJvcihFcnJvcldyYXBwZXIsIGAke2Vycm9yUHJlZml4fTogJHtnZXRFcnJvck1lc3NhZ2UoZXJyb3IpfS5gKTtcbiAgICB9XG59XG5leHBvcnRzLmFzc2VydFN0cnVjdCA9IGFzc2VydFN0cnVjdDtcbi8qKlxuICogVXNlIGluIHRoZSBkZWZhdWx0IGNhc2Ugb2YgYSBzd2l0Y2ggdGhhdCB5b3Ugd2FudCB0byBiZSBmdWxseSBleGhhdXN0aXZlLlxuICogVXNpbmcgdGhpcyBmdW5jdGlvbiBmb3JjZXMgdGhlIGNvbXBpbGVyIHRvIGVuZm9yY2UgZXhoYXVzdGl2aXR5IGR1cmluZ1xuICogY29tcGlsZS10aW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGNvbnN0IG51bWJlciA9IDE7XG4gKiBzd2l0Y2ggKG51bWJlcikge1xuICogICBjYXNlIDA6XG4gKiAgICAgLi4uXG4gKiAgIGNhc2UgMTpcbiAqICAgICAuLi5cbiAqICAgZGVmYXVsdDpcbiAqICAgICBhc3NlcnRFeGhhdXN0aXZlKHNuYXBQcmVmaXgpO1xuICogfVxuICogYGBgXG4gKiBAcGFyYW0gX29iamVjdCAtIFRoZSBvYmplY3Qgb24gd2hpY2ggdGhlIHN3aXRjaCBpcyBiZWluZyBvcGVyYXRlZC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0RXhoYXVzdGl2ZShfb2JqZWN0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJyYW5jaCByZWFjaGVkLiBTaG91bGQgYmUgZGV0ZWN0ZWQgZHVyaW5nIGNvbXBpbGF0aW9uLicpO1xufVxuZXhwb3J0cy5hc3NlcnRFeGhhdXN0aXZlID0gYXNzZXJ0RXhoYXVzdGl2ZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFzc2VydC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/assert.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/base64.js": -/*!*****************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/base64.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.base64 = void 0;\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\n/**\n * Ensure that a provided string-based struct is valid base64.\n *\n * @param struct - The string based struct.\n * @param options - Optional options to specialize base64 validation. See {@link Base64Options} documentation.\n * @returns A superstruct validating base64.\n */\nconst base64 = (struct, options = {}) => {\n var _a, _b;\n const paddingRequired = (_a = options.paddingRequired) !== null && _a !== void 0 ? _a : false;\n const characterSet = (_b = options.characterSet) !== null && _b !== void 0 ? _b : 'base64';\n let letters;\n if (characterSet === 'base64') {\n letters = String.raw `[A-Za-z0-9+\\/]`;\n }\n else {\n (0, assert_1.assert)(characterSet === 'base64url');\n letters = String.raw `[-_A-Za-z0-9]`;\n }\n let re;\n if (paddingRequired) {\n re = new RegExp(`^(?:${letters}{4})*(?:${letters}{3}=|${letters}{2}==)?$`, 'u');\n }\n else {\n re = new RegExp(`^(?:${letters}{4})*(?:${letters}{2,3}|${letters}{3}=|${letters}{2}==)?$`, 'u');\n }\n return (0, superstruct_1.pattern)(struct, re);\n};\nexports.base64 = base64;\n//# sourceMappingURL=base64.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvYmFzZTY0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGNBQWM7QUFDZCxzQkFBc0IsbUJBQU8sQ0FBQywyRkFBYTtBQUMzQyxpQkFBaUIsbUJBQU8sQ0FBQywrREFBVTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLDJFQUEyRSxxQkFBcUI7QUFDaEc7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixTQUFTLEVBQUUsT0FBTyxTQUFTLEVBQUUsSUFBSSxTQUFTLEVBQUU7QUFDM0U7QUFDQTtBQUNBLCtCQUErQixTQUFTLEVBQUUsT0FBTyxTQUFTLElBQUksR0FBRyxTQUFTLEVBQUUsSUFBSSxTQUFTLEVBQUU7QUFDM0Y7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbWV0YW1hc2svdXRpbHMvZGlzdC9iYXNlNjQuanM/YzI4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuYmFzZTY0ID0gdm9pZCAwO1xuY29uc3Qgc3VwZXJzdHJ1Y3RfMSA9IHJlcXVpcmUoXCJzdXBlcnN0cnVjdFwiKTtcbmNvbnN0IGFzc2VydF8xID0gcmVxdWlyZShcIi4vYXNzZXJ0XCIpO1xuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHByb3ZpZGVkIHN0cmluZy1iYXNlZCBzdHJ1Y3QgaXMgdmFsaWQgYmFzZTY0LlxuICpcbiAqIEBwYXJhbSBzdHJ1Y3QgLSBUaGUgc3RyaW5nIGJhc2VkIHN0cnVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyB0byBzcGVjaWFsaXplIGJhc2U2NCB2YWxpZGF0aW9uLiBTZWUge0BsaW5rIEJhc2U2NE9wdGlvbnN9IGRvY3VtZW50YXRpb24uXG4gKiBAcmV0dXJucyBBIHN1cGVyc3RydWN0IHZhbGlkYXRpbmcgYmFzZTY0LlxuICovXG5jb25zdCBiYXNlNjQgPSAoc3RydWN0LCBvcHRpb25zID0ge30pID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IHBhZGRpbmdSZXF1aXJlZCA9IChfYSA9IG9wdGlvbnMucGFkZGluZ1JlcXVpcmVkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBmYWxzZTtcbiAgICBjb25zdCBjaGFyYWN0ZXJTZXQgPSAoX2IgPSBvcHRpb25zLmNoYXJhY3RlclNldCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJ2Jhc2U2NCc7XG4gICAgbGV0IGxldHRlcnM7XG4gICAgaWYgKGNoYXJhY3RlclNldCA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgbGV0dGVycyA9IFN0cmluZy5yYXcgYFtBLVphLXowLTkrXFwvXWA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KShjaGFyYWN0ZXJTZXQgPT09ICdiYXNlNjR1cmwnKTtcbiAgICAgICAgbGV0dGVycyA9IFN0cmluZy5yYXcgYFstX0EtWmEtejAtOV1gO1xuICAgIH1cbiAgICBsZXQgcmU7XG4gICAgaWYgKHBhZGRpbmdSZXF1aXJlZCkge1xuICAgICAgICByZSA9IG5ldyBSZWdFeHAoYF4oPzoke2xldHRlcnN9ezR9KSooPzoke2xldHRlcnN9ezN9PXwke2xldHRlcnN9ezJ9PT0pPyRgLCAndScpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmUgPSBuZXcgUmVnRXhwKGBeKD86JHtsZXR0ZXJzfXs0fSkqKD86JHtsZXR0ZXJzfXsyLDN9fCR7bGV0dGVyc317M309fCR7bGV0dGVyc317Mn09PSk/JGAsICd1Jyk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5wYXR0ZXJuKShzdHJ1Y3QsIHJlKTtcbn07XG5leHBvcnRzLmJhc2U2NCA9IGJhc2U2NDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJhc2U2NC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/base64.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/bytes.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createDataView = exports.concatBytes = exports.valueToBytes = exports.stringToBytes = exports.numberToBytes = exports.signedBigIntToBytes = exports.bigIntToBytes = exports.hexToBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToSignedBigInt = exports.bytesToBigInt = exports.bytesToHex = exports.assertIsBytes = exports.isBytes = void 0;\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"./node_modules/@metamask/utils/dist/hex.js\");\n// '0'.charCodeAt(0) === 48\nconst HEX_MINIMUM_NUMBER_CHARACTER = 48;\n// '9'.charCodeAt(0) === 57\nconst HEX_MAXIMUM_NUMBER_CHARACTER = 58;\nconst HEX_CHARACTER_OFFSET = 87;\n/**\n * Memoized function that returns an array to be used as a lookup table for\n * converting bytes to hexadecimal values.\n *\n * The array is created lazily and then cached for future use. The benefit of\n * this approach is that the performance of converting bytes to hex is much\n * better than if we were to call `toString(16)` on each byte.\n *\n * The downside is that the array is created once and then never garbage\n * collected. This is not a problem in practice because the array is only 256\n * elements long.\n *\n * @returns A function that returns the lookup table.\n */\nfunction getPrecomputedHexValuesBuilder() {\n // To avoid issues with tree shaking, we need to use a function to return the\n // array. This is because the array is only used in the `bytesToHex` function\n // and if we were to use a global variable, the array might be removed by the\n // tree shaker.\n const lookupTable = [];\n return () => {\n if (lookupTable.length === 0) {\n for (let i = 0; i < 256; i++) {\n lookupTable.push(i.toString(16).padStart(2, '0'));\n }\n }\n return lookupTable;\n };\n}\n/**\n * Function implementation of the {@link getPrecomputedHexValuesBuilder}\n * function.\n */\nconst getPrecomputedHexValues = getPrecomputedHexValuesBuilder();\n/**\n * Check if a value is a `Uint8Array`.\n *\n * @param value - The value to check.\n * @returns Whether the value is a `Uint8Array`.\n */\nfunction isBytes(value) {\n return value instanceof Uint8Array;\n}\nexports.isBytes = isBytes;\n/**\n * Assert that a value is a `Uint8Array`.\n *\n * @param value - The value to check.\n * @throws If the value is not a `Uint8Array`.\n */\nfunction assertIsBytes(value) {\n (0, assert_1.assert)(isBytes(value), 'Value must be a Uint8Array.');\n}\nexports.assertIsBytes = assertIsBytes;\n/**\n * Convert a `Uint8Array` to a hexadecimal string.\n *\n * @param bytes - The bytes to convert to a hexadecimal string.\n * @returns The hexadecimal string.\n */\nfunction bytesToHex(bytes) {\n assertIsBytes(bytes);\n if (bytes.length === 0) {\n return '0x';\n }\n const lookupTable = getPrecomputedHexValues();\n const hexadecimal = new Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n hexadecimal[i] = lookupTable[bytes[i]];\n }\n return (0, hex_1.add0x)(hexadecimal.join(''));\n}\nexports.bytesToHex = bytesToHex;\n/**\n * Convert a `Uint8Array` to a `bigint`.\n *\n * To convert a `Uint8Array` to a `number` instead, use {@link bytesToNumber}.\n * To convert a two's complement encoded `Uint8Array` to a `bigint`, use\n * {@link bytesToSignedBigInt}.\n *\n * @param bytes - The bytes to convert to a `bigint`.\n * @returns The `bigint`.\n */\nfunction bytesToBigInt(bytes) {\n assertIsBytes(bytes);\n const hexadecimal = bytesToHex(bytes);\n return BigInt(hexadecimal);\n}\nexports.bytesToBigInt = bytesToBigInt;\n/**\n * Convert a `Uint8Array` to a signed `bigint`. This assumes that the bytes are\n * encoded in two's complement.\n *\n * To convert a `Uint8Array` to an unsigned `bigint` instead, use\n * {@link bytesToBigInt}.\n *\n * @see https://en.wikipedia.org/wiki/Two%27s_complement\n * @param bytes - The bytes to convert to a signed `bigint`.\n * @returns The signed `bigint`.\n */\nfunction bytesToSignedBigInt(bytes) {\n assertIsBytes(bytes);\n let value = BigInt(0);\n for (const byte of bytes) {\n // eslint-disable-next-line no-bitwise\n value = (value << BigInt(8)) + BigInt(byte);\n }\n return BigInt.asIntN(bytes.length * 8, value);\n}\nexports.bytesToSignedBigInt = bytesToSignedBigInt;\n/**\n * Convert a `Uint8Array` to a `number`.\n *\n * To convert a `Uint8Array` to a `bigint` instead, use {@link bytesToBigInt}.\n *\n * @param bytes - The bytes to convert to a number.\n * @returns The number.\n * @throws If the resulting number is not a safe integer.\n */\nfunction bytesToNumber(bytes) {\n assertIsBytes(bytes);\n const bigint = bytesToBigInt(bytes);\n (0, assert_1.assert)(bigint <= BigInt(Number.MAX_SAFE_INTEGER), 'Number is not a safe integer. Use `bytesToBigInt` instead.');\n return Number(bigint);\n}\nexports.bytesToNumber = bytesToNumber;\n/**\n * Convert a UTF-8 encoded `Uint8Array` to a `string`.\n *\n * @param bytes - The bytes to convert to a string.\n * @returns The string.\n */\nfunction bytesToString(bytes) {\n assertIsBytes(bytes);\n return new TextDecoder().decode(bytes);\n}\nexports.bytesToString = bytesToString;\n/**\n * Convert a hexadecimal string to a `Uint8Array`. The string can optionally be\n * prefixed with `0x`. It accepts even and odd length strings.\n *\n * If the value is \"0x\", an empty `Uint8Array` is returned.\n *\n * @param value - The hexadecimal string to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction hexToBytes(value) {\n var _a;\n // \"0x\" is often used as empty byte array.\n if (((_a = value === null || value === void 0 ? void 0 : value.toLowerCase) === null || _a === void 0 ? void 0 : _a.call(value)) === '0x') {\n return new Uint8Array();\n }\n (0, hex_1.assertIsHexString)(value);\n // Remove the `0x` prefix if it exists, and pad the string to have an even\n // number of characters.\n const strippedValue = (0, hex_1.remove0x)(value).toLowerCase();\n const normalizedValue = strippedValue.length % 2 === 0 ? strippedValue : `0${strippedValue}`;\n const bytes = new Uint8Array(normalizedValue.length / 2);\n for (let i = 0; i < bytes.length; i++) {\n // While this is not the prettiest way to convert a hexadecimal string to a\n // `Uint8Array`, it is a lot faster than using `parseInt` to convert each\n // character.\n const c1 = normalizedValue.charCodeAt(i * 2);\n const c2 = normalizedValue.charCodeAt(i * 2 + 1);\n const n1 = c1 -\n (c1 < HEX_MAXIMUM_NUMBER_CHARACTER\n ? HEX_MINIMUM_NUMBER_CHARACTER\n : HEX_CHARACTER_OFFSET);\n const n2 = c2 -\n (c2 < HEX_MAXIMUM_NUMBER_CHARACTER\n ? HEX_MINIMUM_NUMBER_CHARACTER\n : HEX_CHARACTER_OFFSET);\n bytes[i] = n1 * 16 + n2;\n }\n return bytes;\n}\nexports.hexToBytes = hexToBytes;\n/**\n * Convert a `bigint` to a `Uint8Array`.\n *\n * This assumes that the `bigint` is an unsigned integer. To convert a signed\n * `bigint` instead, use {@link signedBigIntToBytes}.\n *\n * @param value - The bigint to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction bigIntToBytes(value) {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(value >= BigInt(0), 'Value must be a non-negative bigint.');\n const hexadecimal = value.toString(16);\n return hexToBytes(hexadecimal);\n}\nexports.bigIntToBytes = bigIntToBytes;\n/**\n * Check if a `bigint` fits in a certain number of bytes.\n *\n * @param value - The `bigint` to check.\n * @param bytes - The number of bytes.\n * @returns Whether the `bigint` fits in the number of bytes.\n */\nfunction bigIntFits(value, bytes) {\n (0, assert_1.assert)(bytes > 0);\n /* eslint-disable no-bitwise */\n const mask = value >> BigInt(31);\n return !(((~value & mask) + (value & ~mask)) >> BigInt(bytes * 8 + ~0));\n /* eslint-enable no-bitwise */\n}\n/**\n * Convert a signed `bigint` to a `Uint8Array`. This uses two's complement\n * encoding to represent negative numbers.\n *\n * To convert an unsigned `bigint` to a `Uint8Array` instead, use\n * {@link bigIntToBytes}.\n *\n * @see https://en.wikipedia.org/wiki/Two%27s_complement\n * @param value - The number to convert to bytes.\n * @param byteLength - The length of the resulting `Uint8Array`. If the number\n * is larger than the maximum value that can be represented by the given length,\n * an error is thrown.\n * @returns The bytes as `Uint8Array`.\n */\nfunction signedBigIntToBytes(value, byteLength) {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(typeof byteLength === 'number', 'Byte length must be a number.');\n (0, assert_1.assert)(byteLength > 0, 'Byte length must be greater than 0.');\n (0, assert_1.assert)(bigIntFits(value, byteLength), 'Byte length is too small to represent the given value.');\n // ESLint doesn't like mutating function parameters, so to avoid having to\n // disable the rule, we create a new variable.\n let numberValue = value;\n const bytes = new Uint8Array(byteLength);\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = Number(BigInt.asUintN(8, numberValue));\n // eslint-disable-next-line no-bitwise\n numberValue >>= BigInt(8);\n }\n return bytes.reverse();\n}\nexports.signedBigIntToBytes = signedBigIntToBytes;\n/**\n * Convert a `number` to a `Uint8Array`.\n *\n * @param value - The number to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n * @throws If the number is not a safe integer.\n */\nfunction numberToBytes(value) {\n (0, assert_1.assert)(typeof value === 'number', 'Value must be a number.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative number.');\n (0, assert_1.assert)(Number.isSafeInteger(value), 'Value is not a safe integer. Use `bigIntToBytes` instead.');\n const hexadecimal = value.toString(16);\n return hexToBytes(hexadecimal);\n}\nexports.numberToBytes = numberToBytes;\n/**\n * Convert a `string` to a UTF-8 encoded `Uint8Array`.\n *\n * @param value - The string to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction stringToBytes(value) {\n (0, assert_1.assert)(typeof value === 'string', 'Value must be a string.');\n return new TextEncoder().encode(value);\n}\nexports.stringToBytes = stringToBytes;\n/**\n * Convert a byte-like value to a `Uint8Array`. The value can be a `Uint8Array`,\n * a `bigint`, a `number`, or a `string`.\n *\n * This will attempt to guess the type of the value based on its type and\n * contents. For more control over the conversion, use the more specific\n * conversion functions, such as {@link hexToBytes} or {@link stringToBytes}.\n *\n * If the value is a `string`, and it is prefixed with `0x`, it will be\n * interpreted as a hexadecimal string. Otherwise, it will be interpreted as a\n * UTF-8 string. To convert a hexadecimal string to bytes without interpreting\n * it as a UTF-8 string, use {@link hexToBytes} instead.\n *\n * If the value is a `bigint`, it is assumed to be unsigned. To convert a signed\n * `bigint` to bytes, use {@link signedBigIntToBytes} instead.\n *\n * If the value is a `Uint8Array`, it will be returned as-is.\n *\n * @param value - The value to convert to bytes.\n * @returns The bytes as `Uint8Array`.\n */\nfunction valueToBytes(value) {\n if (typeof value === 'bigint') {\n return bigIntToBytes(value);\n }\n if (typeof value === 'number') {\n return numberToBytes(value);\n }\n if (typeof value === 'string') {\n if (value.startsWith('0x')) {\n return hexToBytes(value);\n }\n return stringToBytes(value);\n }\n if (isBytes(value)) {\n return value;\n }\n throw new TypeError(`Unsupported value type: \"${typeof value}\".`);\n}\nexports.valueToBytes = valueToBytes;\n/**\n * Concatenate multiple byte-like values into a single `Uint8Array`. The values\n * can be `Uint8Array`, `bigint`, `number`, or `string`. This uses\n * {@link valueToBytes} under the hood to convert each value to bytes. Refer to\n * the documentation of that function for more information.\n *\n * @param values - The values to concatenate.\n * @returns The concatenated bytes as `Uint8Array`.\n */\nfunction concatBytes(values) {\n const normalizedValues = new Array(values.length);\n let byteLength = 0;\n for (let i = 0; i < values.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const value = valueToBytes(values[i]);\n normalizedValues[i] = value;\n byteLength += value.length;\n }\n const bytes = new Uint8Array(byteLength);\n for (let i = 0, offset = 0; i < normalizedValues.length; i++) {\n // While we could simply spread the values into an array and use\n // `Uint8Array.from`, that is a lot slower than using `Uint8Array.set`.\n bytes.set(normalizedValues[i], offset);\n offset += normalizedValues[i].length;\n }\n return bytes;\n}\nexports.concatBytes = concatBytes;\n/**\n * Create a {@link DataView} from a {@link Uint8Array}. This is a convenience\n * function that avoids having to create a {@link DataView} manually, which\n * requires passing the `byteOffset` and `byteLength` parameters every time.\n *\n * Not passing the `byteOffset` and `byteLength` parameters can result in\n * unexpected behavior when the {@link Uint8Array} is a view of a larger\n * {@link ArrayBuffer}, e.g., when using {@link Uint8Array.subarray}.\n *\n * This function also supports Node.js {@link Buffer}s.\n *\n * @example\n * ```typescript\n * const bytes = new Uint8Array([1, 2, 3]);\n *\n * // This is equivalent to:\n * // const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n * const dataView = createDataView(bytes);\n * ```\n * @param bytes - The bytes to create the {@link DataView} from.\n * @returns The {@link DataView}.\n */\nfunction createDataView(bytes) {\n // To maintain compatibility with Node.js, we need to check if the bytes are\n // a Buffer. If so, we need to slice the buffer to get the underlying\n // ArrayBuffer.\n // eslint-disable-next-line no-restricted-globals\n if (typeof Buffer !== 'undefined' && bytes instanceof Buffer) {\n const buffer = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n return new DataView(buffer);\n }\n return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n}\nexports.createDataView = createDataView;\n//# sourceMappingURL=bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvYnl0ZXMuanMiLCJtYXBwaW5ncyI6IjtBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQixHQUFHLG1CQUFtQixHQUFHLG9CQUFvQixHQUFHLHFCQUFxQixHQUFHLHFCQUFxQixHQUFHLDJCQUEyQixHQUFHLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLHFCQUFxQixHQUFHLHFCQUFxQixHQUFHLDJCQUEyQixHQUFHLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLHFCQUFxQixHQUFHLGVBQWU7QUFDblcsaUJBQWlCLG1CQUFPLENBQUMsK0RBQVU7QUFDbkMsY0FBYyxtQkFBTyxDQUFDLHlEQUFPO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixTQUFTO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0EseURBQXlELG9CQUFvQjtBQUM3RTtBQUNBLElBQUksMEJBQTBCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUFxQyxNQUFNO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9kaXN0L2J5dGVzLmpzPzAyN2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZURhdGFWaWV3ID0gZXhwb3J0cy5jb25jYXRCeXRlcyA9IGV4cG9ydHMudmFsdWVUb0J5dGVzID0gZXhwb3J0cy5zdHJpbmdUb0J5dGVzID0gZXhwb3J0cy5udW1iZXJUb0J5dGVzID0gZXhwb3J0cy5zaWduZWRCaWdJbnRUb0J5dGVzID0gZXhwb3J0cy5iaWdJbnRUb0J5dGVzID0gZXhwb3J0cy5oZXhUb0J5dGVzID0gZXhwb3J0cy5ieXRlc1RvU3RyaW5nID0gZXhwb3J0cy5ieXRlc1RvTnVtYmVyID0gZXhwb3J0cy5ieXRlc1RvU2lnbmVkQmlnSW50ID0gZXhwb3J0cy5ieXRlc1RvQmlnSW50ID0gZXhwb3J0cy5ieXRlc1RvSGV4ID0gZXhwb3J0cy5hc3NlcnRJc0J5dGVzID0gZXhwb3J0cy5pc0J5dGVzID0gdm9pZCAwO1xuY29uc3QgYXNzZXJ0XzEgPSByZXF1aXJlKFwiLi9hc3NlcnRcIik7XG5jb25zdCBoZXhfMSA9IHJlcXVpcmUoXCIuL2hleFwiKTtcbi8vICcwJy5jaGFyQ29kZUF0KDApID09PSA0OFxuY29uc3QgSEVYX01JTklNVU1fTlVNQkVSX0NIQVJBQ1RFUiA9IDQ4O1xuLy8gJzknLmNoYXJDb2RlQXQoMCkgPT09IDU3XG5jb25zdCBIRVhfTUFYSU1VTV9OVU1CRVJfQ0hBUkFDVEVSID0gNTg7XG5jb25zdCBIRVhfQ0hBUkFDVEVSX09GRlNFVCA9IDg3O1xuLyoqXG4gKiBNZW1vaXplZCBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gYXJyYXkgdG8gYmUgdXNlZCBhcyBhIGxvb2t1cCB0YWJsZSBmb3JcbiAqIGNvbnZlcnRpbmcgYnl0ZXMgdG8gaGV4YWRlY2ltYWwgdmFsdWVzLlxuICpcbiAqIFRoZSBhcnJheSBpcyBjcmVhdGVkIGxhemlseSBhbmQgdGhlbiBjYWNoZWQgZm9yIGZ1dHVyZSB1c2UuIFRoZSBiZW5lZml0IG9mXG4gKiB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgdGhlIHBlcmZvcm1hbmNlIG9mIGNvbnZlcnRpbmcgYnl0ZXMgdG8gaGV4IGlzIG11Y2hcbiAqIGJldHRlciB0aGFuIGlmIHdlIHdlcmUgdG8gY2FsbCBgdG9TdHJpbmcoMTYpYCBvbiBlYWNoIGJ5dGUuXG4gKlxuICogVGhlIGRvd25zaWRlIGlzIHRoYXQgdGhlIGFycmF5IGlzIGNyZWF0ZWQgb25jZSBhbmQgdGhlbiBuZXZlciBnYXJiYWdlXG4gKiBjb2xsZWN0ZWQuIFRoaXMgaXMgbm90IGEgcHJvYmxlbSBpbiBwcmFjdGljZSBiZWNhdXNlIHRoZSBhcnJheSBpcyBvbmx5IDI1NlxuICogZWxlbWVudHMgbG9uZy5cbiAqXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbG9va3VwIHRhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRQcmVjb21wdXRlZEhleFZhbHVlc0J1aWxkZXIoKSB7XG4gICAgLy8gVG8gYXZvaWQgaXNzdWVzIHdpdGggdHJlZSBzaGFraW5nLCB3ZSBuZWVkIHRvIHVzZSBhIGZ1bmN0aW9uIHRvIHJldHVybiB0aGVcbiAgICAvLyBhcnJheS4gVGhpcyBpcyBiZWNhdXNlIHRoZSBhcnJheSBpcyBvbmx5IHVzZWQgaW4gdGhlIGBieXRlc1RvSGV4YCBmdW5jdGlvblxuICAgIC8vIGFuZCBpZiB3ZSB3ZXJlIHRvIHVzZSBhIGdsb2JhbCB2YXJpYWJsZSwgdGhlIGFycmF5IG1pZ2h0IGJlIHJlbW92ZWQgYnkgdGhlXG4gICAgLy8gdHJlZSBzaGFrZXIuXG4gICAgY29uc3QgbG9va3VwVGFibGUgPSBbXTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAobG9va3VwVGFibGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI1NjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbG9va3VwVGFibGUucHVzaChpLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbG9va3VwVGFibGU7XG4gICAgfTtcbn1cbi8qKlxuICogRnVuY3Rpb24gaW1wbGVtZW50YXRpb24gb2YgdGhlIHtAbGluayBnZXRQcmVjb21wdXRlZEhleFZhbHVlc0J1aWxkZXJ9XG4gKiBmdW5jdGlvbi5cbiAqL1xuY29uc3QgZ2V0UHJlY29tcHV0ZWRIZXhWYWx1ZXMgPSBnZXRQcmVjb21wdXRlZEhleFZhbHVlc0J1aWxkZXIoKTtcbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIGBVaW50OEFycmF5YC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBhIGBVaW50OEFycmF5YC5cbiAqL1xuZnVuY3Rpb24gaXNCeXRlcyh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk7XG59XG5leHBvcnRzLmlzQnl0ZXMgPSBpc0J5dGVzO1xuLyoqXG4gKiBBc3NlcnQgdGhhdCBhIHZhbHVlIGlzIGEgYFVpbnQ4QXJyYXlgLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEB0aHJvd3MgSWYgdGhlIHZhbHVlIGlzIG5vdCBhIGBVaW50OEFycmF5YC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0SXNCeXRlcyh2YWx1ZSkge1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnQpKGlzQnl0ZXModmFsdWUpLCAnVmFsdWUgbXVzdCBiZSBhIFVpbnQ4QXJyYXkuJyk7XG59XG5leHBvcnRzLmFzc2VydElzQnl0ZXMgPSBhc3NlcnRJc0J5dGVzO1xuLyoqXG4gKiBDb252ZXJ0IGEgYFVpbnQ4QXJyYXlgIHRvIGEgaGV4YWRlY2ltYWwgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBieXRlcyAtIFRoZSBieXRlcyB0byBjb252ZXJ0IHRvIGEgaGV4YWRlY2ltYWwgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIGhleGFkZWNpbWFsIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gYnl0ZXNUb0hleChieXRlcykge1xuICAgIGFzc2VydElzQnl0ZXMoYnl0ZXMpO1xuICAgIGlmIChieXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuICcweCc7XG4gICAgfVxuICAgIGNvbnN0IGxvb2t1cFRhYmxlID0gZ2V0UHJlY29tcHV0ZWRIZXhWYWx1ZXMoKTtcbiAgICBjb25zdCBoZXhhZGVjaW1hbCA9IG5ldyBBcnJheShieXRlcy5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgaGV4YWRlY2ltYWxbaV0gPSBsb29rdXBUYWJsZVtieXRlc1tpXV07XG4gICAgfVxuICAgIHJldHVybiAoMCwgaGV4XzEuYWRkMHgpKGhleGFkZWNpbWFsLmpvaW4oJycpKTtcbn1cbmV4cG9ydHMuYnl0ZXNUb0hleCA9IGJ5dGVzVG9IZXg7XG4vKipcbiAqIENvbnZlcnQgYSBgVWludDhBcnJheWAgdG8gYSBgYmlnaW50YC5cbiAqXG4gKiBUbyBjb252ZXJ0IGEgYFVpbnQ4QXJyYXlgIHRvIGEgYG51bWJlcmAgaW5zdGVhZCwgdXNlIHtAbGluayBieXRlc1RvTnVtYmVyfS5cbiAqIFRvIGNvbnZlcnQgYSB0d28ncyBjb21wbGVtZW50IGVuY29kZWQgYFVpbnQ4QXJyYXlgIHRvIGEgYGJpZ2ludGAsIHVzZVxuICoge0BsaW5rIGJ5dGVzVG9TaWduZWRCaWdJbnR9LlxuICpcbiAqIEBwYXJhbSBieXRlcyAtIFRoZSBieXRlcyB0byBjb252ZXJ0IHRvIGEgYGJpZ2ludGAuXG4gKiBAcmV0dXJucyBUaGUgYGJpZ2ludGAuXG4gKi9cbmZ1bmN0aW9uIGJ5dGVzVG9CaWdJbnQoYnl0ZXMpIHtcbiAgICBhc3NlcnRJc0J5dGVzKGJ5dGVzKTtcbiAgICBjb25zdCBoZXhhZGVjaW1hbCA9IGJ5dGVzVG9IZXgoYnl0ZXMpO1xuICAgIHJldHVybiBCaWdJbnQoaGV4YWRlY2ltYWwpO1xufVxuZXhwb3J0cy5ieXRlc1RvQmlnSW50ID0gYnl0ZXNUb0JpZ0ludDtcbi8qKlxuICogQ29udmVydCBhIGBVaW50OEFycmF5YCB0byBhIHNpZ25lZCBgYmlnaW50YC4gVGhpcyBhc3N1bWVzIHRoYXQgdGhlIGJ5dGVzIGFyZVxuICogZW5jb2RlZCBpbiB0d28ncyBjb21wbGVtZW50LlxuICpcbiAqIFRvIGNvbnZlcnQgYSBgVWludDhBcnJheWAgdG8gYW4gdW5zaWduZWQgYGJpZ2ludGAgaW5zdGVhZCwgdXNlXG4gKiB7QGxpbmsgYnl0ZXNUb0JpZ0ludH0uXG4gKlxuICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Ud28lMjdzX2NvbXBsZW1lbnRcbiAqIEBwYXJhbSBieXRlcyAtIFRoZSBieXRlcyB0byBjb252ZXJ0IHRvIGEgc2lnbmVkIGBiaWdpbnRgLlxuICogQHJldHVybnMgVGhlIHNpZ25lZCBgYmlnaW50YC5cbiAqL1xuZnVuY3Rpb24gYnl0ZXNUb1NpZ25lZEJpZ0ludChieXRlcykge1xuICAgIGFzc2VydElzQnl0ZXMoYnl0ZXMpO1xuICAgIGxldCB2YWx1ZSA9IEJpZ0ludCgwKTtcbiAgICBmb3IgKGNvbnN0IGJ5dGUgb2YgYnl0ZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2VcbiAgICAgICAgdmFsdWUgPSAodmFsdWUgPDwgQmlnSW50KDgpKSArIEJpZ0ludChieXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIEJpZ0ludC5hc0ludE4oYnl0ZXMubGVuZ3RoICogOCwgdmFsdWUpO1xufVxuZXhwb3J0cy5ieXRlc1RvU2lnbmVkQmlnSW50ID0gYnl0ZXNUb1NpZ25lZEJpZ0ludDtcbi8qKlxuICogQ29udmVydCBhIGBVaW50OEFycmF5YCB0byBhIGBudW1iZXJgLlxuICpcbiAqIFRvIGNvbnZlcnQgYSBgVWludDhBcnJheWAgdG8gYSBgYmlnaW50YCBpbnN0ZWFkLCB1c2Uge0BsaW5rIGJ5dGVzVG9CaWdJbnR9LlxuICpcbiAqIEBwYXJhbSBieXRlcyAtIFRoZSBieXRlcyB0byBjb252ZXJ0IHRvIGEgbnVtYmVyLlxuICogQHJldHVybnMgVGhlIG51bWJlci5cbiAqIEB0aHJvd3MgSWYgdGhlIHJlc3VsdGluZyBudW1iZXIgaXMgbm90IGEgc2FmZSBpbnRlZ2VyLlxuICovXG5mdW5jdGlvbiBieXRlc1RvTnVtYmVyKGJ5dGVzKSB7XG4gICAgYXNzZXJ0SXNCeXRlcyhieXRlcyk7XG4gICAgY29uc3QgYmlnaW50ID0gYnl0ZXNUb0JpZ0ludChieXRlcyk7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkoYmlnaW50IDw9IEJpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksICdOdW1iZXIgaXMgbm90IGEgc2FmZSBpbnRlZ2VyLiBVc2UgYGJ5dGVzVG9CaWdJbnRgIGluc3RlYWQuJyk7XG4gICAgcmV0dXJuIE51bWJlcihiaWdpbnQpO1xufVxuZXhwb3J0cy5ieXRlc1RvTnVtYmVyID0gYnl0ZXNUb051bWJlcjtcbi8qKlxuICogQ29udmVydCBhIFVURi04IGVuY29kZWQgYFVpbnQ4QXJyYXlgIHRvIGEgYHN0cmluZ2AuXG4gKlxuICogQHBhcmFtIGJ5dGVzIC0gVGhlIGJ5dGVzIHRvIGNvbnZlcnQgdG8gYSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBieXRlc1RvU3RyaW5nKGJ5dGVzKSB7XG4gICAgYXNzZXJ0SXNCeXRlcyhieXRlcyk7XG4gICAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShieXRlcyk7XG59XG5leHBvcnRzLmJ5dGVzVG9TdHJpbmcgPSBieXRlc1RvU3RyaW5nO1xuLyoqXG4gKiBDb252ZXJ0IGEgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGEgYFVpbnQ4QXJyYXlgLiBUaGUgc3RyaW5nIGNhbiBvcHRpb25hbGx5IGJlXG4gKiBwcmVmaXhlZCB3aXRoIGAweGAuIEl0IGFjY2VwdHMgZXZlbiBhbmQgb2RkIGxlbmd0aCBzdHJpbmdzLlxuICpcbiAqIElmIHRoZSB2YWx1ZSBpcyBcIjB4XCIsIGFuIGVtcHR5IGBVaW50OEFycmF5YCBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGNvbnZlcnQgdG8gYnl0ZXMuXG4gKiBAcmV0dXJucyBUaGUgYnl0ZXMgYXMgYFVpbnQ4QXJyYXlgLlxuICovXG5mdW5jdGlvbiBoZXhUb0J5dGVzKHZhbHVlKSB7XG4gICAgdmFyIF9hO1xuICAgIC8vIFwiMHhcIiBpcyBvZnRlbiB1c2VkIGFzIGVtcHR5IGJ5dGUgYXJyYXkuXG4gICAgaWYgKCgoX2EgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmFsdWUudG9Mb3dlckNhc2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHZhbHVlKSkgPT09ICcweCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KCk7XG4gICAgfVxuICAgICgwLCBoZXhfMS5hc3NlcnRJc0hleFN0cmluZykodmFsdWUpO1xuICAgIC8vIFJlbW92ZSB0aGUgYDB4YCBwcmVmaXggaWYgaXQgZXhpc3RzLCBhbmQgcGFkIHRoZSBzdHJpbmcgdG8gaGF2ZSBhbiBldmVuXG4gICAgLy8gbnVtYmVyIG9mIGNoYXJhY3RlcnMuXG4gICAgY29uc3Qgc3RyaXBwZWRWYWx1ZSA9ICgwLCBoZXhfMS5yZW1vdmUweCkodmFsdWUpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFZhbHVlID0gc3RyaXBwZWRWYWx1ZS5sZW5ndGggJSAyID09PSAwID8gc3RyaXBwZWRWYWx1ZSA6IGAwJHtzdHJpcHBlZFZhbHVlfWA7XG4gICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShub3JtYWxpemVkVmFsdWUubGVuZ3RoIC8gMik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBXaGlsZSB0aGlzIGlzIG5vdCB0aGUgcHJldHRpZXN0IHdheSB0byBjb252ZXJ0IGEgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGFcbiAgICAgICAgLy8gYFVpbnQ4QXJyYXlgLCBpdCBpcyBhIGxvdCBmYXN0ZXIgdGhhbiB1c2luZyBgcGFyc2VJbnRgIHRvIGNvbnZlcnQgZWFjaFxuICAgICAgICAvLyBjaGFyYWN0ZXIuXG4gICAgICAgIGNvbnN0IGMxID0gbm9ybWFsaXplZFZhbHVlLmNoYXJDb2RlQXQoaSAqIDIpO1xuICAgICAgICBjb25zdCBjMiA9IG5vcm1hbGl6ZWRWYWx1ZS5jaGFyQ29kZUF0KGkgKiAyICsgMSk7XG4gICAgICAgIGNvbnN0IG4xID0gYzEgLVxuICAgICAgICAgICAgKGMxIDwgSEVYX01BWElNVU1fTlVNQkVSX0NIQVJBQ1RFUlxuICAgICAgICAgICAgICAgID8gSEVYX01JTklNVU1fTlVNQkVSX0NIQVJBQ1RFUlxuICAgICAgICAgICAgICAgIDogSEVYX0NIQVJBQ1RFUl9PRkZTRVQpO1xuICAgICAgICBjb25zdCBuMiA9IGMyIC1cbiAgICAgICAgICAgIChjMiA8IEhFWF9NQVhJTVVNX05VTUJFUl9DSEFSQUNURVJcbiAgICAgICAgICAgICAgICA/IEhFWF9NSU5JTVVNX05VTUJFUl9DSEFSQUNURVJcbiAgICAgICAgICAgICAgICA6IEhFWF9DSEFSQUNURVJfT0ZGU0VUKTtcbiAgICAgICAgYnl0ZXNbaV0gPSBuMSAqIDE2ICsgbjI7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbn1cbmV4cG9ydHMuaGV4VG9CeXRlcyA9IGhleFRvQnl0ZXM7XG4vKipcbiAqIENvbnZlcnQgYSBgYmlnaW50YCB0byBhIGBVaW50OEFycmF5YC5cbiAqXG4gKiBUaGlzIGFzc3VtZXMgdGhhdCB0aGUgYGJpZ2ludGAgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gVG8gY29udmVydCBhIHNpZ25lZFxuICogYGJpZ2ludGAgaW5zdGVhZCwgdXNlIHtAbGluayBzaWduZWRCaWdJbnRUb0J5dGVzfS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgYmlnaW50IHRvIGNvbnZlcnQgdG8gYnl0ZXMuXG4gKiBAcmV0dXJucyBUaGUgYnl0ZXMgYXMgYFVpbnQ4QXJyYXlgLlxuICovXG5mdW5jdGlvbiBiaWdJbnRUb0J5dGVzKHZhbHVlKSB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkodHlwZW9mIHZhbHVlID09PSAnYmlnaW50JywgJ1ZhbHVlIG11c3QgYmUgYSBiaWdpbnQuJyk7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkodmFsdWUgPj0gQmlnSW50KDApLCAnVmFsdWUgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBiaWdpbnQuJyk7XG4gICAgY29uc3QgaGV4YWRlY2ltYWwgPSB2YWx1ZS50b1N0cmluZygxNik7XG4gICAgcmV0dXJuIGhleFRvQnl0ZXMoaGV4YWRlY2ltYWwpO1xufVxuZXhwb3J0cy5iaWdJbnRUb0J5dGVzID0gYmlnSW50VG9CeXRlcztcbi8qKlxuICogQ2hlY2sgaWYgYSBgYmlnaW50YCBmaXRzIGluIGEgY2VydGFpbiBudW1iZXIgb2YgYnl0ZXMuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIGBiaWdpbnRgIHRvIGNoZWNrLlxuICogQHBhcmFtIGJ5dGVzIC0gVGhlIG51bWJlciBvZiBieXRlcy5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGBiaWdpbnRgIGZpdHMgaW4gdGhlIG51bWJlciBvZiBieXRlcy5cbiAqL1xuZnVuY3Rpb24gYmlnSW50Rml0cyh2YWx1ZSwgYnl0ZXMpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KShieXRlcyA+IDApO1xuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWJpdHdpc2UgKi9cbiAgICBjb25zdCBtYXNrID0gdmFsdWUgPj4gQmlnSW50KDMxKTtcbiAgICByZXR1cm4gISgoKH52YWx1ZSAmIG1hc2spICsgKHZhbHVlICYgfm1hc2spKSA+PiBCaWdJbnQoYnl0ZXMgKiA4ICsgfjApKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLWJpdHdpc2UgKi9cbn1cbi8qKlxuICogQ29udmVydCBhIHNpZ25lZCBgYmlnaW50YCB0byBhIGBVaW50OEFycmF5YC4gVGhpcyB1c2VzIHR3bydzIGNvbXBsZW1lbnRcbiAqIGVuY29kaW5nIHRvIHJlcHJlc2VudCBuZWdhdGl2ZSBudW1iZXJzLlxuICpcbiAqIFRvIGNvbnZlcnQgYW4gdW5zaWduZWQgYGJpZ2ludGAgdG8gYSBgVWludDhBcnJheWAgaW5zdGVhZCwgdXNlXG4gKiB7QGxpbmsgYmlnSW50VG9CeXRlc30uXG4gKlxuICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Ud28lMjdzX2NvbXBsZW1lbnRcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBudW1iZXIgdG8gY29udmVydCB0byBieXRlcy5cbiAqIEBwYXJhbSBieXRlTGVuZ3RoIC0gVGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0aW5nIGBVaW50OEFycmF5YC4gSWYgdGhlIG51bWJlclxuICogaXMgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gdmFsdWUgdGhhdCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgdGhlIGdpdmVuIGxlbmd0aCxcbiAqIGFuIGVycm9yIGlzIHRocm93bi5cbiAqIEByZXR1cm5zIFRoZSBieXRlcyBhcyBgVWludDhBcnJheWAuXG4gKi9cbmZ1bmN0aW9uIHNpZ25lZEJpZ0ludFRvQnl0ZXModmFsdWUsIGJ5dGVMZW5ndGgpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KSh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnLCAnVmFsdWUgbXVzdCBiZSBhIGJpZ2ludC4nKTtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KSh0eXBlb2YgYnl0ZUxlbmd0aCA9PT0gJ251bWJlcicsICdCeXRlIGxlbmd0aCBtdXN0IGJlIGEgbnVtYmVyLicpO1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnQpKGJ5dGVMZW5ndGggPiAwLCAnQnl0ZSBsZW5ndGggbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4nKTtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KShiaWdJbnRGaXRzKHZhbHVlLCBieXRlTGVuZ3RoKSwgJ0J5dGUgbGVuZ3RoIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQgdGhlIGdpdmVuIHZhbHVlLicpO1xuICAgIC8vIEVTTGludCBkb2Vzbid0IGxpa2UgbXV0YXRpbmcgZnVuY3Rpb24gcGFyYW1ldGVycywgc28gdG8gYXZvaWQgaGF2aW5nIHRvXG4gICAgLy8gZGlzYWJsZSB0aGUgcnVsZSwgd2UgY3JlYXRlIGEgbmV3IHZhcmlhYmxlLlxuICAgIGxldCBudW1iZXJWYWx1ZSA9IHZhbHVlO1xuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZUxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBieXRlc1tpXSA9IE51bWJlcihCaWdJbnQuYXNVaW50Tig4LCBudW1iZXJWYWx1ZSkpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuICAgICAgICBudW1iZXJWYWx1ZSA+Pj0gQmlnSW50KDgpO1xuICAgIH1cbiAgICByZXR1cm4gYnl0ZXMucmV2ZXJzZSgpO1xufVxuZXhwb3J0cy5zaWduZWRCaWdJbnRUb0J5dGVzID0gc2lnbmVkQmlnSW50VG9CeXRlcztcbi8qKlxuICogQ29udmVydCBhIGBudW1iZXJgIHRvIGEgYFVpbnQ4QXJyYXlgLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBudW1iZXIgdG8gY29udmVydCB0byBieXRlcy5cbiAqIEByZXR1cm5zIFRoZSBieXRlcyBhcyBgVWludDhBcnJheWAuXG4gKiBAdGhyb3dzIElmIHRoZSBudW1iZXIgaXMgbm90IGEgc2FmZSBpbnRlZ2VyLlxuICovXG5mdW5jdGlvbiBudW1iZXJUb0J5dGVzKHZhbHVlKSB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJywgJ1ZhbHVlIG11c3QgYmUgYSBudW1iZXIuJyk7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkodmFsdWUgPj0gMCwgJ1ZhbHVlIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLicpO1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnQpKE51bWJlci5pc1NhZmVJbnRlZ2VyKHZhbHVlKSwgJ1ZhbHVlIGlzIG5vdCBhIHNhZmUgaW50ZWdlci4gVXNlIGBiaWdJbnRUb0J5dGVzYCBpbnN0ZWFkLicpO1xuICAgIGNvbnN0IGhleGFkZWNpbWFsID0gdmFsdWUudG9TdHJpbmcoMTYpO1xuICAgIHJldHVybiBoZXhUb0J5dGVzKGhleGFkZWNpbWFsKTtcbn1cbmV4cG9ydHMubnVtYmVyVG9CeXRlcyA9IG51bWJlclRvQnl0ZXM7XG4vKipcbiAqIENvbnZlcnQgYSBgc3RyaW5nYCB0byBhIFVURi04IGVuY29kZWQgYFVpbnQ4QXJyYXlgLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzdHJpbmcgdG8gY29udmVydCB0byBieXRlcy5cbiAqIEByZXR1cm5zIFRoZSBieXRlcyBhcyBgVWludDhBcnJheWAuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ1RvQnl0ZXModmFsdWUpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KSh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnLCAnVmFsdWUgbXVzdCBiZSBhIHN0cmluZy4nKTtcbiAgICByZXR1cm4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHZhbHVlKTtcbn1cbmV4cG9ydHMuc3RyaW5nVG9CeXRlcyA9IHN0cmluZ1RvQnl0ZXM7XG4vKipcbiAqIENvbnZlcnQgYSBieXRlLWxpa2UgdmFsdWUgdG8gYSBgVWludDhBcnJheWAuIFRoZSB2YWx1ZSBjYW4gYmUgYSBgVWludDhBcnJheWAsXG4gKiBhIGBiaWdpbnRgLCBhIGBudW1iZXJgLCBvciBhIGBzdHJpbmdgLlxuICpcbiAqIFRoaXMgd2lsbCBhdHRlbXB0IHRvIGd1ZXNzIHRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBiYXNlZCBvbiBpdHMgdHlwZSBhbmRcbiAqIGNvbnRlbnRzLiBGb3IgbW9yZSBjb250cm9sIG92ZXIgdGhlIGNvbnZlcnNpb24sIHVzZSB0aGUgbW9yZSBzcGVjaWZpY1xuICogY29udmVyc2lvbiBmdW5jdGlvbnMsIHN1Y2ggYXMge0BsaW5rIGhleFRvQnl0ZXN9IG9yIHtAbGluayBzdHJpbmdUb0J5dGVzfS5cbiAqXG4gKiBJZiB0aGUgdmFsdWUgaXMgYSBgc3RyaW5nYCwgYW5kIGl0IGlzIHByZWZpeGVkIHdpdGggYDB4YCwgaXQgd2lsbCBiZVxuICogaW50ZXJwcmV0ZWQgYXMgYSBoZXhhZGVjaW1hbCBzdHJpbmcuIE90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhXG4gKiBVVEYtOCBzdHJpbmcuIFRvIGNvbnZlcnQgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gYnl0ZXMgd2l0aG91dCBpbnRlcnByZXRpbmdcbiAqIGl0IGFzIGEgVVRGLTggc3RyaW5nLCB1c2Uge0BsaW5rIGhleFRvQnl0ZXN9IGluc3RlYWQuXG4gKlxuICogSWYgdGhlIHZhbHVlIGlzIGEgYGJpZ2ludGAsIGl0IGlzIGFzc3VtZWQgdG8gYmUgdW5zaWduZWQuIFRvIGNvbnZlcnQgYSBzaWduZWRcbiAqIGBiaWdpbnRgIHRvIGJ5dGVzLCB1c2Uge0BsaW5rIHNpZ25lZEJpZ0ludFRvQnl0ZXN9IGluc3RlYWQuXG4gKlxuICogSWYgdGhlIHZhbHVlIGlzIGEgYFVpbnQ4QXJyYXlgLCBpdCB3aWxsIGJlIHJldHVybmVkIGFzLWlzLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0IHRvIGJ5dGVzLlxuICogQHJldHVybnMgVGhlIGJ5dGVzIGFzIGBVaW50OEFycmF5YC5cbiAqL1xuZnVuY3Rpb24gdmFsdWVUb0J5dGVzKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgcmV0dXJuIGJpZ0ludFRvQnl0ZXModmFsdWUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gbnVtYmVyVG9CeXRlcyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh2YWx1ZS5zdGFydHNXaXRoKCcweCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gaGV4VG9CeXRlcyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZ1RvQnl0ZXModmFsdWUpO1xuICAgIH1cbiAgICBpZiAoaXNCeXRlcyh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCB2YWx1ZSB0eXBlOiBcIiR7dHlwZW9mIHZhbHVlfVwiLmApO1xufVxuZXhwb3J0cy52YWx1ZVRvQnl0ZXMgPSB2YWx1ZVRvQnl0ZXM7XG4vKipcbiAqIENvbmNhdGVuYXRlIG11bHRpcGxlIGJ5dGUtbGlrZSB2YWx1ZXMgaW50byBhIHNpbmdsZSBgVWludDhBcnJheWAuIFRoZSB2YWx1ZXNcbiAqIGNhbiBiZSBgVWludDhBcnJheWAsIGBiaWdpbnRgLCBgbnVtYmVyYCwgb3IgYHN0cmluZ2AuIFRoaXMgdXNlc1xuICoge0BsaW5rIHZhbHVlVG9CeXRlc30gdW5kZXIgdGhlIGhvb2QgdG8gY29udmVydCBlYWNoIHZhbHVlIHRvIGJ5dGVzLiBSZWZlciB0b1xuICogdGhlIGRvY3VtZW50YXRpb24gb2YgdGhhdCBmdW5jdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWVzIC0gVGhlIHZhbHVlcyB0byBjb25jYXRlbmF0ZS5cbiAqIEByZXR1cm5zIFRoZSBjb25jYXRlbmF0ZWQgYnl0ZXMgYXMgYFVpbnQ4QXJyYXlgLlxuICovXG5mdW5jdGlvbiBjb25jYXRCeXRlcyh2YWx1ZXMpIHtcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWVzID0gbmV3IEFycmF5KHZhbHVlcy5sZW5ndGgpO1xuICAgIGxldCBieXRlTGVuZ3RoID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlVG9CeXRlcyh2YWx1ZXNbaV0pO1xuICAgICAgICBub3JtYWxpemVkVmFsdWVzW2ldID0gdmFsdWU7XG4gICAgICAgIGJ5dGVMZW5ndGggKz0gdmFsdWUubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGJ5dGVMZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwLCBvZmZzZXQgPSAwOyBpIDwgbm9ybWFsaXplZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBXaGlsZSB3ZSBjb3VsZCBzaW1wbHkgc3ByZWFkIHRoZSB2YWx1ZXMgaW50byBhbiBhcnJheSBhbmQgdXNlXG4gICAgICAgIC8vIGBVaW50OEFycmF5LmZyb21gLCB0aGF0IGlzIGEgbG90IHNsb3dlciB0aGFuIHVzaW5nIGBVaW50OEFycmF5LnNldGAuXG4gICAgICAgIGJ5dGVzLnNldChub3JtYWxpemVkVmFsdWVzW2ldLCBvZmZzZXQpO1xuICAgICAgICBvZmZzZXQgKz0gbm9ybWFsaXplZFZhbHVlc1tpXS5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbn1cbmV4cG9ydHMuY29uY2F0Qnl0ZXMgPSBjb25jYXRCeXRlcztcbi8qKlxuICogQ3JlYXRlIGEge0BsaW5rIERhdGFWaWV3fSBmcm9tIGEge0BsaW5rIFVpbnQ4QXJyYXl9LiBUaGlzIGlzIGEgY29udmVuaWVuY2VcbiAqIGZ1bmN0aW9uIHRoYXQgYXZvaWRzIGhhdmluZyB0byBjcmVhdGUgYSB7QGxpbmsgRGF0YVZpZXd9IG1hbnVhbGx5LCB3aGljaFxuICogcmVxdWlyZXMgcGFzc2luZyB0aGUgYGJ5dGVPZmZzZXRgIGFuZCBgYnl0ZUxlbmd0aGAgcGFyYW1ldGVycyBldmVyeSB0aW1lLlxuICpcbiAqIE5vdCBwYXNzaW5nIHRoZSBgYnl0ZU9mZnNldGAgYW5kIGBieXRlTGVuZ3RoYCBwYXJhbWV0ZXJzIGNhbiByZXN1bHQgaW5cbiAqIHVuZXhwZWN0ZWQgYmVoYXZpb3Igd2hlbiB0aGUge0BsaW5rIFVpbnQ4QXJyYXl9IGlzIGEgdmlldyBvZiBhIGxhcmdlclxuICoge0BsaW5rIEFycmF5QnVmZmVyfSwgZS5nLiwgd2hlbiB1c2luZyB7QGxpbmsgVWludDhBcnJheS5zdWJhcnJheX0uXG4gKlxuICogVGhpcyBmdW5jdGlvbiBhbHNvIHN1cHBvcnRzIE5vZGUuanMge0BsaW5rIEJ1ZmZlcn1zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KFsxLCAyLCAzXSk7XG4gKlxuICogLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvOlxuICogLy8gY29uc3QgZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcoYnl0ZXMuYnVmZmVyLCBieXRlcy5ieXRlT2Zmc2V0LCBieXRlcy5ieXRlTGVuZ3RoKTtcbiAqIGNvbnN0IGRhdGFWaWV3ID0gY3JlYXRlRGF0YVZpZXcoYnl0ZXMpO1xuICogYGBgXG4gKiBAcGFyYW0gYnl0ZXMgLSBUaGUgYnl0ZXMgdG8gY3JlYXRlIHRoZSB7QGxpbmsgRGF0YVZpZXd9IGZyb20uXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIERhdGFWaWV3fS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRGF0YVZpZXcoYnl0ZXMpIHtcbiAgICAvLyBUbyBtYWludGFpbiBjb21wYXRpYmlsaXR5IHdpdGggTm9kZS5qcywgd2UgbmVlZCB0byBjaGVjayBpZiB0aGUgYnl0ZXMgYXJlXG4gICAgLy8gYSBCdWZmZXIuIElmIHNvLCB3ZSBuZWVkIHRvIHNsaWNlIHRoZSBidWZmZXIgdG8gZ2V0IHRoZSB1bmRlcmx5aW5nXG4gICAgLy8gQXJyYXlCdWZmZXIuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtZ2xvYmFsc1xuICAgIGlmICh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiBieXRlcyBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICBjb25zdCBidWZmZXIgPSBieXRlcy5idWZmZXIuc2xpY2UoYnl0ZXMuYnl0ZU9mZnNldCwgYnl0ZXMuYnl0ZU9mZnNldCArIGJ5dGVzLmJ5dGVMZW5ndGgpO1xuICAgICAgICByZXR1cm4gbmV3IERhdGFWaWV3KGJ1ZmZlcik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgRGF0YVZpZXcoYnl0ZXMuYnVmZmVyLCBieXRlcy5ieXRlT2Zmc2V0LCBieXRlcy5ieXRlTGVuZ3RoKTtcbn1cbmV4cG9ydHMuY3JlYXRlRGF0YVZpZXcgPSBjcmVhdGVEYXRhVmlldztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/bytes.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/checksum.js": -/*!*******************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/checksum.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChecksumStruct = void 0;\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\nconst base64_1 = __webpack_require__(/*! ./base64 */ \"./node_modules/@metamask/utils/dist/base64.js\");\nexports.ChecksumStruct = (0, superstruct_1.size)((0, base64_1.base64)((0, superstruct_1.string)(), { paddingRequired: true }), 44, 44);\n//# sourceMappingURL=checksum.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvY2hlY2tzdW0uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCLHNCQUFzQixtQkFBTyxDQUFDLDJGQUFhO0FBQzNDLGlCQUFpQixtQkFBTyxDQUFDLCtEQUFVO0FBQ25DLHNCQUFzQiwrRUFBK0UsdUJBQXVCO0FBQzVIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbWV0YW1hc2svdXRpbHMvZGlzdC9jaGVja3N1bS5qcz81ZmFjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5DaGVja3N1bVN0cnVjdCA9IHZvaWQgMDtcbmNvbnN0IHN1cGVyc3RydWN0XzEgPSByZXF1aXJlKFwic3VwZXJzdHJ1Y3RcIik7XG5jb25zdCBiYXNlNjRfMSA9IHJlcXVpcmUoXCIuL2Jhc2U2NFwiKTtcbmV4cG9ydHMuQ2hlY2tzdW1TdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5zaXplKSgoMCwgYmFzZTY0XzEuYmFzZTY0KSgoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCksIHsgcGFkZGluZ1JlcXVpcmVkOiB0cnVlIH0pLCA0NCwgNDQpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2hlY2tzdW0uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/checksum.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/coercers.js": -/*!*******************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/coercers.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createHex = exports.createBytes = exports.createBigInt = exports.createNumber = void 0;\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\nconst bytes_1 = __webpack_require__(/*! ./bytes */ \"./node_modules/@metamask/utils/dist/bytes.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"./node_modules/@metamask/utils/dist/hex.js\");\nconst NumberLikeStruct = (0, superstruct_1.union)([(0, superstruct_1.number)(), (0, superstruct_1.bigint)(), (0, superstruct_1.string)(), hex_1.StrictHexStruct]);\nconst NumberCoercer = (0, superstruct_1.coerce)((0, superstruct_1.number)(), NumberLikeStruct, Number);\nconst BigIntCoercer = (0, superstruct_1.coerce)((0, superstruct_1.bigint)(), NumberLikeStruct, BigInt);\nconst BytesLikeStruct = (0, superstruct_1.union)([hex_1.StrictHexStruct, (0, superstruct_1.instance)(Uint8Array)]);\nconst BytesCoercer = (0, superstruct_1.coerce)((0, superstruct_1.instance)(Uint8Array), (0, superstruct_1.union)([hex_1.StrictHexStruct]), bytes_1.hexToBytes);\nconst HexCoercer = (0, superstruct_1.coerce)(hex_1.StrictHexStruct, (0, superstruct_1.instance)(Uint8Array), bytes_1.bytesToHex);\n/**\n * Create a number from a number-like value.\n *\n * - If the value is a number, it is returned as-is.\n * - If the value is a `bigint`, it is converted to a number.\n * - If the value is a string, it is interpreted as a decimal number.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is\n * interpreted as a hexadecimal number.\n *\n * This validates that the value is a number-like value, and that the resulting\n * number is not `NaN` or `Infinity`.\n *\n * @example\n * ```typescript\n * const value = createNumber('0x010203');\n * console.log(value); // 66051\n *\n * const otherValue = createNumber(123n);\n * console.log(otherValue); // 123\n * ```\n * @param value - The value to create the number from.\n * @returns The created number.\n * @throws If the value is not a number-like value, or if the resulting number\n * is `NaN` or `Infinity`.\n */\nfunction createNumber(value) {\n try {\n const result = (0, superstruct_1.create)(value, NumberCoercer);\n (0, assert_1.assert)(Number.isFinite(result), `Expected a number-like value, got \"${value}\".`);\n return result;\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a number-like value, got \"${value}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createNumber = createNumber;\n/**\n * Create a `bigint` from a number-like value.\n *\n * - If the value is a number, it is converted to a `bigint`.\n * - If the value is a `bigint`, it is returned as-is.\n * - If the value is a string, it is interpreted as a decimal number and\n * converted to a `bigint`.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is\n * interpreted as a hexadecimal number and converted to a `bigint`.\n *\n * @example\n * ```typescript\n * const value = createBigInt('0x010203');\n * console.log(value); // 16909060n\n *\n * const otherValue = createBigInt(123);\n * console.log(otherValue); // 123n\n * ```\n * @param value - The value to create the bigint from.\n * @returns The created bigint.\n * @throws If the value is not a number-like value.\n */\nfunction createBigInt(value) {\n try {\n // The `BigInt` constructor throws if the value is not a number-like value.\n // There is no need to validate the value manually.\n return (0, superstruct_1.create)(value, BigIntCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a number-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createBigInt = createBigInt;\n/**\n * Create a byte array from a bytes-like value.\n *\n * - If the value is a byte array, it is returned as-is.\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is interpreted\n * as a hexadecimal number and converted to a byte array.\n *\n * @example\n * ```typescript\n * const value = createBytes('0x010203');\n * console.log(value); // Uint8Array [ 1, 2, 3 ]\n *\n * const otherValue = createBytes('0x010203');\n * console.log(otherValue); // Uint8Array [ 1, 2, 3 ]\n * ```\n * @param value - The value to create the byte array from.\n * @returns The created byte array.\n * @throws If the value is not a bytes-like value.\n */\nfunction createBytes(value) {\n if (typeof value === 'string' && value.toLowerCase() === '0x') {\n return new Uint8Array();\n }\n try {\n return (0, superstruct_1.create)(value, BytesCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a bytes-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createBytes = createBytes;\n/**\n * Create a hexadecimal string from a bytes-like value.\n *\n * - If the value is a hex string (i.e., it starts with \"0x\"), it is returned\n * as-is.\n * - If the value is a `Uint8Array`, it is converted to a hex string.\n *\n * @example\n * ```typescript\n * const value = createHex(new Uint8Array([1, 2, 3]));\n * console.log(value); // '0x010203'\n *\n * const otherValue = createHex('0x010203');\n * console.log(otherValue); // '0x010203'\n * ```\n * @param value - The value to create the hex string from.\n * @returns The created hex string.\n * @throws If the value is not a bytes-like value.\n */\nfunction createHex(value) {\n if ((value instanceof Uint8Array && value.length === 0) ||\n (typeof value === 'string' && value.toLowerCase() === '0x')) {\n return '0x';\n }\n try {\n return (0, superstruct_1.create)(value, HexCoercer);\n }\n catch (error) {\n if (error instanceof superstruct_1.StructError) {\n throw new Error(`Expected a bytes-like value, got \"${String(error.value)}\".`);\n }\n /* istanbul ignore next */\n throw error;\n }\n}\nexports.createHex = createHex;\n//# sourceMappingURL=coercers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvY29lcmNlcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCLEdBQUcsbUJBQW1CLEdBQUcsb0JBQW9CLEdBQUcsb0JBQW9CO0FBQ3JGLHNCQUFzQixtQkFBTyxDQUFDLDJGQUFhO0FBQzNDLGlCQUFpQixtQkFBTyxDQUFDLCtEQUFVO0FBQ25DLGdCQUFnQixtQkFBTyxDQUFDLDZEQUFTO0FBQ2pDLGNBQWMsbUJBQU8sQ0FBQyx5REFBTztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0RkFBNEYsTUFBTTtBQUNsRztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSxNQUFNO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSxvQkFBb0I7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsb0JBQW9CO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsb0JBQW9CO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9kaXN0L2NvZXJjZXJzLmpzPzQyYjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZUhleCA9IGV4cG9ydHMuY3JlYXRlQnl0ZXMgPSBleHBvcnRzLmNyZWF0ZUJpZ0ludCA9IGV4cG9ydHMuY3JlYXRlTnVtYmVyID0gdm9pZCAwO1xuY29uc3Qgc3VwZXJzdHJ1Y3RfMSA9IHJlcXVpcmUoXCJzdXBlcnN0cnVjdFwiKTtcbmNvbnN0IGFzc2VydF8xID0gcmVxdWlyZShcIi4vYXNzZXJ0XCIpO1xuY29uc3QgYnl0ZXNfMSA9IHJlcXVpcmUoXCIuL2J5dGVzXCIpO1xuY29uc3QgaGV4XzEgPSByZXF1aXJlKFwiLi9oZXhcIik7XG5jb25zdCBOdW1iZXJMaWtlU3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEudW5pb24pKFsoMCwgc3VwZXJzdHJ1Y3RfMS5udW1iZXIpKCksICgwLCBzdXBlcnN0cnVjdF8xLmJpZ2ludCkoKSwgKDAsIHN1cGVyc3RydWN0XzEuc3RyaW5nKSgpLCBoZXhfMS5TdHJpY3RIZXhTdHJ1Y3RdKTtcbmNvbnN0IE51bWJlckNvZXJjZXIgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5jb2VyY2UpKCgwLCBzdXBlcnN0cnVjdF8xLm51bWJlcikoKSwgTnVtYmVyTGlrZVN0cnVjdCwgTnVtYmVyKTtcbmNvbnN0IEJpZ0ludENvZXJjZXIgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5jb2VyY2UpKCgwLCBzdXBlcnN0cnVjdF8xLmJpZ2ludCkoKSwgTnVtYmVyTGlrZVN0cnVjdCwgQmlnSW50KTtcbmNvbnN0IEJ5dGVzTGlrZVN0cnVjdCA9ICgwLCBzdXBlcnN0cnVjdF8xLnVuaW9uKShbaGV4XzEuU3RyaWN0SGV4U3RydWN0LCAoMCwgc3VwZXJzdHJ1Y3RfMS5pbnN0YW5jZSkoVWludDhBcnJheSldKTtcbmNvbnN0IEJ5dGVzQ29lcmNlciA9ICgwLCBzdXBlcnN0cnVjdF8xLmNvZXJjZSkoKDAsIHN1cGVyc3RydWN0XzEuaW5zdGFuY2UpKFVpbnQ4QXJyYXkpLCAoMCwgc3VwZXJzdHJ1Y3RfMS51bmlvbikoW2hleF8xLlN0cmljdEhleFN0cnVjdF0pLCBieXRlc18xLmhleFRvQnl0ZXMpO1xuY29uc3QgSGV4Q29lcmNlciA9ICgwLCBzdXBlcnN0cnVjdF8xLmNvZXJjZSkoaGV4XzEuU3RyaWN0SGV4U3RydWN0LCAoMCwgc3VwZXJzdHJ1Y3RfMS5pbnN0YW5jZSkoVWludDhBcnJheSksIGJ5dGVzXzEuYnl0ZXNUb0hleCk7XG4vKipcbiAqIENyZWF0ZSBhIG51bWJlciBmcm9tIGEgbnVtYmVyLWxpa2UgdmFsdWUuXG4gKlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBudW1iZXIsIGl0IGlzIHJldHVybmVkIGFzLWlzLlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBgYmlnaW50YCwgaXQgaXMgY29udmVydGVkIHRvIGEgbnVtYmVyLlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBzdHJpbmcsIGl0IGlzIGludGVycHJldGVkIGFzIGEgZGVjaW1hbCBudW1iZXIuXG4gKiAtIElmIHRoZSB2YWx1ZSBpcyBhIGhleCBzdHJpbmcgKGkuZS4sIGl0IHN0YXJ0cyB3aXRoIFwiMHhcIiksIGl0IGlzXG4gKiBpbnRlcnByZXRlZCBhcyBhIGhleGFkZWNpbWFsIG51bWJlci5cbiAqXG4gKiBUaGlzIHZhbGlkYXRlcyB0aGF0IHRoZSB2YWx1ZSBpcyBhIG51bWJlci1saWtlIHZhbHVlLCBhbmQgdGhhdCB0aGUgcmVzdWx0aW5nXG4gKiBudW1iZXIgaXMgbm90IGBOYU5gIG9yIGBJbmZpbml0eWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHZhbHVlID0gY3JlYXRlTnVtYmVyKCcweDAxMDIwMycpO1xuICogY29uc29sZS5sb2codmFsdWUpOyAvLyA2NjA1MVxuICpcbiAqIGNvbnN0IG90aGVyVmFsdWUgPSBjcmVhdGVOdW1iZXIoMTIzbik7XG4gKiBjb25zb2xlLmxvZyhvdGhlclZhbHVlKTsgLy8gMTIzXG4gKiBgYGBcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjcmVhdGUgdGhlIG51bWJlciBmcm9tLlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgbnVtYmVyLlxuICogQHRocm93cyBJZiB0aGUgdmFsdWUgaXMgbm90IGEgbnVtYmVyLWxpa2UgdmFsdWUsIG9yIGlmIHRoZSByZXN1bHRpbmcgbnVtYmVyXG4gKiBpcyBgTmFOYCBvciBgSW5maW5pdHlgLlxuICovXG5mdW5jdGlvbiBjcmVhdGVOdW1iZXIodmFsdWUpIHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5jcmVhdGUpKHZhbHVlLCBOdW1iZXJDb2VyY2VyKTtcbiAgICAgICAgKDAsIGFzc2VydF8xLmFzc2VydCkoTnVtYmVyLmlzRmluaXRlKHJlc3VsdCksIGBFeHBlY3RlZCBhIG51bWJlci1saWtlIHZhbHVlLCBnb3QgXCIke3ZhbHVlfVwiLmApO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2Ygc3VwZXJzdHJ1Y3RfMS5TdHJ1Y3RFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIG51bWJlci1saWtlIHZhbHVlLCBnb3QgXCIke3ZhbHVlfVwiLmApO1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cbmV4cG9ydHMuY3JlYXRlTnVtYmVyID0gY3JlYXRlTnVtYmVyO1xuLyoqXG4gKiBDcmVhdGUgYSBgYmlnaW50YCBmcm9tIGEgbnVtYmVyLWxpa2UgdmFsdWUuXG4gKlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBudW1iZXIsIGl0IGlzIGNvbnZlcnRlZCB0byBhIGBiaWdpbnRgLlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBgYmlnaW50YCwgaXQgaXMgcmV0dXJuZWQgYXMtaXMuXG4gKiAtIElmIHRoZSB2YWx1ZSBpcyBhIHN0cmluZywgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBkZWNpbWFsIG51bWJlciBhbmRcbiAqIGNvbnZlcnRlZCB0byBhIGBiaWdpbnRgLlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBoZXggc3RyaW5nIChpLmUuLCBpdCBzdGFydHMgd2l0aCBcIjB4XCIpLCBpdCBpc1xuICogaW50ZXJwcmV0ZWQgYXMgYSBoZXhhZGVjaW1hbCBudW1iZXIgYW5kIGNvbnZlcnRlZCB0byBhIGBiaWdpbnRgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB2YWx1ZSA9IGNyZWF0ZUJpZ0ludCgnMHgwMTAyMDMnKTtcbiAqIGNvbnNvbGUubG9nKHZhbHVlKTsgLy8gMTY5MDkwNjBuXG4gKlxuICogY29uc3Qgb3RoZXJWYWx1ZSA9IGNyZWF0ZUJpZ0ludCgxMjMpO1xuICogY29uc29sZS5sb2cob3RoZXJWYWx1ZSk7IC8vIDEyM25cbiAqIGBgYFxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNyZWF0ZSB0aGUgYmlnaW50IGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBiaWdpbnQuXG4gKiBAdGhyb3dzIElmIHRoZSB2YWx1ZSBpcyBub3QgYSBudW1iZXItbGlrZSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQmlnSW50KHZhbHVlKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gVGhlIGBCaWdJbnRgIGNvbnN0cnVjdG9yIHRocm93cyBpZiB0aGUgdmFsdWUgaXMgbm90IGEgbnVtYmVyLWxpa2UgdmFsdWUuXG4gICAgICAgIC8vIFRoZXJlIGlzIG5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIHZhbHVlIG1hbnVhbGx5LlxuICAgICAgICByZXR1cm4gKDAsIHN1cGVyc3RydWN0XzEuY3JlYXRlKSh2YWx1ZSwgQmlnSW50Q29lcmNlcik7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBzdXBlcnN0cnVjdF8xLlN0cnVjdEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGEgbnVtYmVyLWxpa2UgdmFsdWUsIGdvdCBcIiR7U3RyaW5nKGVycm9yLnZhbHVlKX1cIi5gKTtcbiAgICAgICAgfVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG5leHBvcnRzLmNyZWF0ZUJpZ0ludCA9IGNyZWF0ZUJpZ0ludDtcbi8qKlxuICogQ3JlYXRlIGEgYnl0ZSBhcnJheSBmcm9tIGEgYnl0ZXMtbGlrZSB2YWx1ZS5cbiAqXG4gKiAtIElmIHRoZSB2YWx1ZSBpcyBhIGJ5dGUgYXJyYXksIGl0IGlzIHJldHVybmVkIGFzLWlzLlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBoZXggc3RyaW5nIChpLmUuLCBpdCBzdGFydHMgd2l0aCBcIjB4XCIpLCBpdCBpcyBpbnRlcnByZXRlZFxuICogYXMgYSBoZXhhZGVjaW1hbCBudW1iZXIgYW5kIGNvbnZlcnRlZCB0byBhIGJ5dGUgYXJyYXkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHZhbHVlID0gY3JlYXRlQnl0ZXMoJzB4MDEwMjAzJyk7XG4gKiBjb25zb2xlLmxvZyh2YWx1ZSk7IC8vIFVpbnQ4QXJyYXkgWyAxLCAyLCAzIF1cbiAqXG4gKiBjb25zdCBvdGhlclZhbHVlID0gY3JlYXRlQnl0ZXMoJzB4MDEwMjAzJyk7XG4gKiBjb25zb2xlLmxvZyhvdGhlclZhbHVlKTsgLy8gVWludDhBcnJheSBbIDEsIDIsIDMgXVxuICogYGBgXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY3JlYXRlIHRoZSBieXRlIGFycmF5IGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBieXRlIGFycmF5LlxuICogQHRocm93cyBJZiB0aGUgdmFsdWUgaXMgbm90IGEgYnl0ZXMtbGlrZSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQnl0ZXModmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAnMHgnKSB7XG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheSgpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gKDAsIHN1cGVyc3RydWN0XzEuY3JlYXRlKSh2YWx1ZSwgQnl0ZXNDb2VyY2VyKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIHN1cGVyc3RydWN0XzEuU3RydWN0RXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSBieXRlcy1saWtlIHZhbHVlLCBnb3QgXCIke1N0cmluZyhlcnJvci52YWx1ZSl9XCIuYCk7XG4gICAgICAgIH1cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufVxuZXhwb3J0cy5jcmVhdGVCeXRlcyA9IGNyZWF0ZUJ5dGVzO1xuLyoqXG4gKiBDcmVhdGUgYSBoZXhhZGVjaW1hbCBzdHJpbmcgZnJvbSBhIGJ5dGVzLWxpa2UgdmFsdWUuXG4gKlxuICogLSBJZiB0aGUgdmFsdWUgaXMgYSBoZXggc3RyaW5nIChpLmUuLCBpdCBzdGFydHMgd2l0aCBcIjB4XCIpLCBpdCBpcyByZXR1cm5lZFxuICogYXMtaXMuXG4gKiAtIElmIHRoZSB2YWx1ZSBpcyBhIGBVaW50OEFycmF5YCwgaXQgaXMgY29udmVydGVkIHRvIGEgaGV4IHN0cmluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdmFsdWUgPSBjcmVhdGVIZXgobmV3IFVpbnQ4QXJyYXkoWzEsIDIsIDNdKSk7XG4gKiBjb25zb2xlLmxvZyh2YWx1ZSk7IC8vICcweDAxMDIwMydcbiAqXG4gKiBjb25zdCBvdGhlclZhbHVlID0gY3JlYXRlSGV4KCcweDAxMDIwMycpO1xuICogY29uc29sZS5sb2cob3RoZXJWYWx1ZSk7IC8vICcweDAxMDIwMydcbiAqIGBgYFxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNyZWF0ZSB0aGUgaGV4IHN0cmluZyBmcm9tLlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgaGV4IHN0cmluZy5cbiAqIEB0aHJvd3MgSWYgdGhlIHZhbHVlIGlzIG5vdCBhIGJ5dGVzLWxpa2UgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUhleCh2YWx1ZSkge1xuICAgIGlmICgodmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5ICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gJzB4JykpIHtcbiAgICAgICAgcmV0dXJuICcweCc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5jcmVhdGUpKHZhbHVlLCBIZXhDb2VyY2VyKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIHN1cGVyc3RydWN0XzEuU3RydWN0RXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSBieXRlcy1saWtlIHZhbHVlLCBnb3QgXCIke1N0cmluZyhlcnJvci52YWx1ZSl9XCIuYCk7XG4gICAgICAgIH1cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufVxuZXhwb3J0cy5jcmVhdGVIZXggPSBjcmVhdGVIZXg7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb2VyY2Vycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/coercers.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/collections.js": -/*!**********************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/collections.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _FrozenMap_map, _FrozenSet_set;\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FrozenSet = exports.FrozenMap = void 0;\n/**\n * A {@link ReadonlyMap} that cannot be modified after instantiation.\n * The implementation uses an inner map hidden via a private field, and the\n * immutability guarantee relies on it being impossible to get a reference\n * to this map.\n */\nclass FrozenMap {\n constructor(entries) {\n _FrozenMap_map.set(this, void 0);\n __classPrivateFieldSet(this, _FrozenMap_map, new Map(entries), \"f\");\n Object.freeze(this);\n }\n get size() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").size;\n }\n [(_FrozenMap_map = new WeakMap(), Symbol.iterator)]() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\")[Symbol.iterator]();\n }\n entries() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").entries();\n }\n forEach(callbackfn, thisArg) {\n // We have to wrap the specified callback in order to prevent it from\n // receiving a reference to the inner map.\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").forEach((value, key, _map) => callbackfn.call(thisArg, value, key, this));\n }\n get(key) {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").get(key);\n }\n has(key) {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").has(key);\n }\n keys() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").keys();\n }\n values() {\n return __classPrivateFieldGet(this, _FrozenMap_map, \"f\").values();\n }\n toString() {\n return `FrozenMap(${this.size}) {${this.size > 0\n ? ` ${[...this.entries()]\n .map(([key, value]) => `${String(key)} => ${String(value)}`)\n .join(', ')} `\n : ''}}`;\n }\n}\nexports.FrozenMap = FrozenMap;\n/**\n * A {@link ReadonlySet} that cannot be modified after instantiation.\n * The implementation uses an inner set hidden via a private field, and the\n * immutability guarantee relies on it being impossible to get a reference\n * to this set.\n */\nclass FrozenSet {\n constructor(values) {\n _FrozenSet_set.set(this, void 0);\n __classPrivateFieldSet(this, _FrozenSet_set, new Set(values), \"f\");\n Object.freeze(this);\n }\n get size() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").size;\n }\n [(_FrozenSet_set = new WeakMap(), Symbol.iterator)]() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\")[Symbol.iterator]();\n }\n entries() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").entries();\n }\n forEach(callbackfn, thisArg) {\n // We have to wrap the specified callback in order to prevent it from\n // receiving a reference to the inner set.\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").forEach((value, value2, _set) => callbackfn.call(thisArg, value, value2, this));\n }\n has(value) {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").has(value);\n }\n keys() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").keys();\n }\n values() {\n return __classPrivateFieldGet(this, _FrozenSet_set, \"f\").values();\n }\n toString() {\n return `FrozenSet(${this.size}) {${this.size > 0\n ? ` ${[...this.values()].map((member) => String(member)).join(', ')} `\n : ''}}`;\n }\n}\nexports.FrozenSet = FrozenSet;\nObject.freeze(FrozenMap);\nObject.freeze(FrozenMap.prototype);\nObject.freeze(FrozenSet);\nObject.freeze(FrozenSet.prototype);\n//# sourceMappingURL=collections.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvY29sbGVjdGlvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQ3JDO0FBQ0EsTUFBTSxtQkFBbUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSxHQUFHLEVBQUU7QUFDM0Msa0JBQWtCO0FBQ2xCLDBDQUEwQyxhQUFhLEtBQUssY0FBYztBQUMxRSw2QkFBNkI7QUFDN0Isa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxNQUFNLG1CQUFtQjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixVQUFVLEdBQUcsRUFBRTtBQUMzQyxrQkFBa0IsK0RBQStEO0FBQ2pGLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9kaXN0L2NvbGxlY3Rpb25zLmpzP2VhNWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19jbGFzc1ByaXZhdGVGaWVsZFNldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZFNldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59O1xudmFyIF9fY2xhc3NQcml2YXRlRmllbGRHZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRHZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn07XG52YXIgX0Zyb3plbk1hcF9tYXAsIF9Gcm96ZW5TZXRfc2V0O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Gcm96ZW5TZXQgPSBleHBvcnRzLkZyb3plbk1hcCA9IHZvaWQgMDtcbi8qKlxuICogQSB7QGxpbmsgUmVhZG9ubHlNYXB9IHRoYXQgY2Fubm90IGJlIG1vZGlmaWVkIGFmdGVyIGluc3RhbnRpYXRpb24uXG4gKiBUaGUgaW1wbGVtZW50YXRpb24gdXNlcyBhbiBpbm5lciBtYXAgaGlkZGVuIHZpYSBhIHByaXZhdGUgZmllbGQsIGFuZCB0aGVcbiAqIGltbXV0YWJpbGl0eSBndWFyYW50ZWUgcmVsaWVzIG9uIGl0IGJlaW5nIGltcG9zc2libGUgdG8gZ2V0IGEgcmVmZXJlbmNlXG4gKiB0byB0aGlzIG1hcC5cbiAqL1xuY2xhc3MgRnJvemVuTWFwIHtcbiAgICBjb25zdHJ1Y3RvcihlbnRyaWVzKSB7XG4gICAgICAgIF9Gcm96ZW5NYXBfbWFwLnNldCh0aGlzLCB2b2lkIDApO1xuICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Gcm96ZW5NYXBfbWFwLCBuZXcgTWFwKGVudHJpZXMpLCBcImZcIik7XG4gICAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7XG4gICAgfVxuICAgIGdldCBzaXplKCkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRnJvemVuTWFwX21hcCwgXCJmXCIpLnNpemU7XG4gICAgfVxuICAgIFsoX0Zyb3plbk1hcF9tYXAgPSBuZXcgV2Vha01hcCgpLCBTeW1ib2wuaXRlcmF0b3IpXSgpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zyb3plbk1hcF9tYXAsIFwiZlwiKVtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgfVxuICAgIGVudHJpZXMoKSB7XG4gICAgICAgIHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gcm96ZW5NYXBfbWFwLCBcImZcIikuZW50cmllcygpO1xuICAgIH1cbiAgICBmb3JFYWNoKGNhbGxiYWNrZm4sIHRoaXNBcmcpIHtcbiAgICAgICAgLy8gV2UgaGF2ZSB0byB3cmFwIHRoZSBzcGVjaWZpZWQgY2FsbGJhY2sgaW4gb3JkZXIgdG8gcHJldmVudCBpdCBmcm9tXG4gICAgICAgIC8vIHJlY2VpdmluZyBhIHJlZmVyZW5jZSB0byB0aGUgaW5uZXIgbWFwLlxuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRnJvemVuTWFwX21hcCwgXCJmXCIpLmZvckVhY2goKHZhbHVlLCBrZXksIF9tYXApID0+IGNhbGxiYWNrZm4uY2FsbCh0aGlzQXJnLCB2YWx1ZSwga2V5LCB0aGlzKSk7XG4gICAgfVxuICAgIGdldChrZXkpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zyb3plbk1hcF9tYXAsIFwiZlwiKS5nZXQoa2V5KTtcbiAgICB9XG4gICAgaGFzKGtleSkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRnJvemVuTWFwX21hcCwgXCJmXCIpLmhhcyhrZXkpO1xuICAgIH1cbiAgICBrZXlzKCkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRnJvemVuTWFwX21hcCwgXCJmXCIpLmtleXMoKTtcbiAgICB9XG4gICAgdmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRnJvemVuTWFwX21hcCwgXCJmXCIpLnZhbHVlcygpO1xuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIGBGcm96ZW5NYXAoJHt0aGlzLnNpemV9KSB7JHt0aGlzLnNpemUgPiAwXG4gICAgICAgICAgICA/IGAgJHtbLi4udGhpcy5lbnRyaWVzKCldXG4gICAgICAgICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtTdHJpbmcoa2V5KX0gPT4gJHtTdHJpbmcodmFsdWUpfWApXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyl9IGBcbiAgICAgICAgICAgIDogJyd9fWA7XG4gICAgfVxufVxuZXhwb3J0cy5Gcm96ZW5NYXAgPSBGcm96ZW5NYXA7XG4vKipcbiAqIEEge0BsaW5rIFJlYWRvbmx5U2V0fSB0aGF0IGNhbm5vdCBiZSBtb2RpZmllZCBhZnRlciBpbnN0YW50aWF0aW9uLlxuICogVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgYW4gaW5uZXIgc2V0IGhpZGRlbiB2aWEgYSBwcml2YXRlIGZpZWxkLCBhbmQgdGhlXG4gKiBpbW11dGFiaWxpdHkgZ3VhcmFudGVlIHJlbGllcyBvbiBpdCBiZWluZyBpbXBvc3NpYmxlIHRvIGdldCBhIHJlZmVyZW5jZVxuICogdG8gdGhpcyBzZXQuXG4gKi9cbmNsYXNzIEZyb3plblNldCB7XG4gICAgY29uc3RydWN0b3IodmFsdWVzKSB7XG4gICAgICAgIF9Gcm96ZW5TZXRfc2V0LnNldCh0aGlzLCB2b2lkIDApO1xuICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9Gcm96ZW5TZXRfc2V0LCBuZXcgU2V0KHZhbHVlcyksIFwiZlwiKTtcbiAgICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTtcbiAgICB9XG4gICAgZ2V0IHNpemUoKSB7XG4gICAgICAgIHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gcm96ZW5TZXRfc2V0LCBcImZcIikuc2l6ZTtcbiAgICB9XG4gICAgWyhfRnJvemVuU2V0X3NldCA9IG5ldyBXZWFrTWFwKCksIFN5bWJvbC5pdGVyYXRvcildKCkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRnJvemVuU2V0X3NldCwgXCJmXCIpW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgICB9XG4gICAgZW50cmllcygpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zyb3plblNldF9zZXQsIFwiZlwiKS5lbnRyaWVzKCk7XG4gICAgfVxuICAgIGZvckVhY2goY2FsbGJhY2tmbiwgdGhpc0FyZykge1xuICAgICAgICAvLyBXZSBoYXZlIHRvIHdyYXAgdGhlIHNwZWNpZmllZCBjYWxsYmFjayBpbiBvcmRlciB0byBwcmV2ZW50IGl0IGZyb21cbiAgICAgICAgLy8gcmVjZWl2aW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBpbm5lciBzZXQuXG4gICAgICAgIHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gcm96ZW5TZXRfc2V0LCBcImZcIikuZm9yRWFjaCgodmFsdWUsIHZhbHVlMiwgX3NldCkgPT4gY2FsbGJhY2tmbi5jYWxsKHRoaXNBcmcsIHZhbHVlLCB2YWx1ZTIsIHRoaXMpKTtcbiAgICB9XG4gICAgaGFzKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gcm96ZW5TZXRfc2V0LCBcImZcIikuaGFzKHZhbHVlKTtcbiAgICB9XG4gICAga2V5cygpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zyb3plblNldF9zZXQsIFwiZlwiKS5rZXlzKCk7XG4gICAgfVxuICAgIHZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zyb3plblNldF9zZXQsIFwiZlwiKS52YWx1ZXMoKTtcbiAgICB9XG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBgRnJvemVuU2V0KCR7dGhpcy5zaXplfSkgeyR7dGhpcy5zaXplID4gMFxuICAgICAgICAgICAgPyBgICR7Wy4uLnRoaXMudmFsdWVzKCldLm1hcCgobWVtYmVyKSA9PiBTdHJpbmcobWVtYmVyKSkuam9pbignLCAnKX0gYFxuICAgICAgICAgICAgOiAnJ319YDtcbiAgICB9XG59XG5leHBvcnRzLkZyb3plblNldCA9IEZyb3plblNldDtcbk9iamVjdC5mcmVlemUoRnJvemVuTWFwKTtcbk9iamVjdC5mcmVlemUoRnJvemVuTWFwLnByb3RvdHlwZSk7XG5PYmplY3QuZnJlZXplKEZyb3plblNldCk7XG5PYmplY3QuZnJlZXplKEZyb3plblNldC5wcm90b3R5cGUpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29sbGVjdGlvbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/collections.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/hex.js": -/*!**************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/hex.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.remove0x = exports.add0x = exports.assertIsStrictHexString = exports.assertIsHexString = exports.isStrictHexString = exports.isHexString = exports.StrictHexStruct = exports.HexStruct = void 0;\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\nexports.HexStruct = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /^(?:0x)?[0-9a-f]+$/iu);\nexports.StrictHexStruct = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /^0x[0-9a-f]+$/iu);\n/**\n * Check if a string is a valid hex string.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid hex string.\n */\nfunction isHexString(value) {\n return (0, superstruct_1.is)(value, exports.HexStruct);\n}\nexports.isHexString = isHexString;\n/**\n * Strictly check if a string is a valid hex string. A valid hex string must\n * start with the \"0x\"-prefix.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid hex string.\n */\nfunction isStrictHexString(value) {\n return (0, superstruct_1.is)(value, exports.StrictHexStruct);\n}\nexports.isStrictHexString = isStrictHexString;\n/**\n * Assert that a value is a valid hex string.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid hex string.\n */\nfunction assertIsHexString(value) {\n (0, assert_1.assert)(isHexString(value), 'Value must be a hexadecimal string.');\n}\nexports.assertIsHexString = assertIsHexString;\n/**\n * Assert that a value is a valid hex string. A valid hex string must start with\n * the \"0x\"-prefix.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid hex string.\n */\nfunction assertIsStrictHexString(value) {\n (0, assert_1.assert)(isStrictHexString(value), 'Value must be a hexadecimal string, starting with \"0x\".');\n}\nexports.assertIsStrictHexString = assertIsStrictHexString;\n/**\n * Add the `0x`-prefix to a hexadecimal string. If the string already has the\n * prefix, it is returned as-is.\n *\n * @param hexadecimal - The hexadecimal string to add the prefix to.\n * @returns The prefixed hexadecimal string.\n */\nfunction add0x(hexadecimal) {\n if (hexadecimal.startsWith('0x')) {\n return hexadecimal;\n }\n if (hexadecimal.startsWith('0X')) {\n return `0x${hexadecimal.substring(2)}`;\n }\n return `0x${hexadecimal}`;\n}\nexports.add0x = add0x;\n/**\n * Remove the `0x`-prefix from a hexadecimal string. If the string doesn't have\n * the prefix, it is returned as-is.\n *\n * @param hexadecimal - The hexadecimal string to remove the prefix from.\n * @returns The un-prefixed hexadecimal string.\n */\nfunction remove0x(hexadecimal) {\n if (hexadecimal.startsWith('0x') || hexadecimal.startsWith('0X')) {\n return hexadecimal.substring(2);\n }\n return hexadecimal;\n}\nexports.remove0x = remove0x;\n//# sourceMappingURL=hex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvaGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdCQUFnQixHQUFHLGFBQWEsR0FBRywrQkFBK0IsR0FBRyx5QkFBeUIsR0FBRyx5QkFBeUIsR0FBRyxtQkFBbUIsR0FBRyx1QkFBdUIsR0FBRyxpQkFBaUI7QUFDOUwsc0JBQXNCLG1CQUFPLENBQUMsMkZBQWE7QUFDM0MsaUJBQWlCLG1CQUFPLENBQUMsK0RBQVU7QUFDbkMsaUJBQWlCO0FBQ2pCLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5QkFBeUI7QUFDN0M7QUFDQSxnQkFBZ0IsWUFBWTtBQUM1QjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvaGV4LmpzP2UxMWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnJlbW92ZTB4ID0gZXhwb3J0cy5hZGQweCA9IGV4cG9ydHMuYXNzZXJ0SXNTdHJpY3RIZXhTdHJpbmcgPSBleHBvcnRzLmFzc2VydElzSGV4U3RyaW5nID0gZXhwb3J0cy5pc1N0cmljdEhleFN0cmluZyA9IGV4cG9ydHMuaXNIZXhTdHJpbmcgPSBleHBvcnRzLlN0cmljdEhleFN0cnVjdCA9IGV4cG9ydHMuSGV4U3RydWN0ID0gdm9pZCAwO1xuY29uc3Qgc3VwZXJzdHJ1Y3RfMSA9IHJlcXVpcmUoXCJzdXBlcnN0cnVjdFwiKTtcbmNvbnN0IGFzc2VydF8xID0gcmVxdWlyZShcIi4vYXNzZXJ0XCIpO1xuZXhwb3J0cy5IZXhTdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5wYXR0ZXJuKSgoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCksIC9eKD86MHgpP1swLTlhLWZdKyQvaXUpO1xuZXhwb3J0cy5TdHJpY3RIZXhTdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5wYXR0ZXJuKSgoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCksIC9eMHhbMC05YS1mXSskL2l1KTtcbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBoZXggc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgdmFsaWQgaGV4IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gaXNIZXhTdHJpbmcodmFsdWUpIHtcbiAgICByZXR1cm4gKDAsIHN1cGVyc3RydWN0XzEuaXMpKHZhbHVlLCBleHBvcnRzLkhleFN0cnVjdCk7XG59XG5leHBvcnRzLmlzSGV4U3RyaW5nID0gaXNIZXhTdHJpbmc7XG4vKipcbiAqIFN0cmljdGx5IGNoZWNrIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgaGV4IHN0cmluZy4gQSB2YWxpZCBoZXggc3RyaW5nIG11c3RcbiAqIHN0YXJ0IHdpdGggdGhlIFwiMHhcIi1wcmVmaXguXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgdmFsdWUgaXMgYSB2YWxpZCBoZXggc3RyaW5nLlxuICovXG5mdW5jdGlvbiBpc1N0cmljdEhleFN0cmluZyh2YWx1ZSkge1xuICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5pcykodmFsdWUsIGV4cG9ydHMuU3RyaWN0SGV4U3RydWN0KTtcbn1cbmV4cG9ydHMuaXNTdHJpY3RIZXhTdHJpbmcgPSBpc1N0cmljdEhleFN0cmluZztcbi8qKlxuICogQXNzZXJ0IHRoYXQgYSB2YWx1ZSBpcyBhIHZhbGlkIGhleCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHRocm93cyBJZiB0aGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgaGV4IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0SXNIZXhTdHJpbmcodmFsdWUpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KShpc0hleFN0cmluZyh2YWx1ZSksICdWYWx1ZSBtdXN0IGJlIGEgaGV4YWRlY2ltYWwgc3RyaW5nLicpO1xufVxuZXhwb3J0cy5hc3NlcnRJc0hleFN0cmluZyA9IGFzc2VydElzSGV4U3RyaW5nO1xuLyoqXG4gKiBBc3NlcnQgdGhhdCBhIHZhbHVlIGlzIGEgdmFsaWQgaGV4IHN0cmluZy4gQSB2YWxpZCBoZXggc3RyaW5nIG11c3Qgc3RhcnQgd2l0aFxuICogdGhlIFwiMHhcIi1wcmVmaXguXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHRocm93cyBJZiB0aGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgaGV4IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0SXNTdHJpY3RIZXhTdHJpbmcodmFsdWUpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KShpc1N0cmljdEhleFN0cmluZyh2YWx1ZSksICdWYWx1ZSBtdXN0IGJlIGEgaGV4YWRlY2ltYWwgc3RyaW5nLCBzdGFydGluZyB3aXRoIFwiMHhcIi4nKTtcbn1cbmV4cG9ydHMuYXNzZXJ0SXNTdHJpY3RIZXhTdHJpbmcgPSBhc3NlcnRJc1N0cmljdEhleFN0cmluZztcbi8qKlxuICogQWRkIHRoZSBgMHhgLXByZWZpeCB0byBhIGhleGFkZWNpbWFsIHN0cmluZy4gSWYgdGhlIHN0cmluZyBhbHJlYWR5IGhhcyB0aGVcbiAqIHByZWZpeCwgaXQgaXMgcmV0dXJuZWQgYXMtaXMuXG4gKlxuICogQHBhcmFtIGhleGFkZWNpbWFsIC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byBhZGQgdGhlIHByZWZpeCB0by5cbiAqIEByZXR1cm5zIFRoZSBwcmVmaXhlZCBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGFkZDB4KGhleGFkZWNpbWFsKSB7XG4gICAgaWYgKGhleGFkZWNpbWFsLnN0YXJ0c1dpdGgoJzB4JykpIHtcbiAgICAgICAgcmV0dXJuIGhleGFkZWNpbWFsO1xuICAgIH1cbiAgICBpZiAoaGV4YWRlY2ltYWwuc3RhcnRzV2l0aCgnMFgnKSkge1xuICAgICAgICByZXR1cm4gYDB4JHtoZXhhZGVjaW1hbC5zdWJzdHJpbmcoMil9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAweCR7aGV4YWRlY2ltYWx9YDtcbn1cbmV4cG9ydHMuYWRkMHggPSBhZGQweDtcbi8qKlxuICogUmVtb3ZlIHRoZSBgMHhgLXByZWZpeCBmcm9tIGEgaGV4YWRlY2ltYWwgc3RyaW5nLiBJZiB0aGUgc3RyaW5nIGRvZXNuJ3QgaGF2ZVxuICogdGhlIHByZWZpeCwgaXQgaXMgcmV0dXJuZWQgYXMtaXMuXG4gKlxuICogQHBhcmFtIGhleGFkZWNpbWFsIC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byByZW1vdmUgdGhlIHByZWZpeCBmcm9tLlxuICogQHJldHVybnMgVGhlIHVuLXByZWZpeGVkIGhleGFkZWNpbWFsIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlMHgoaGV4YWRlY2ltYWwpIHtcbiAgICBpZiAoaGV4YWRlY2ltYWwuc3RhcnRzV2l0aCgnMHgnKSB8fCBoZXhhZGVjaW1hbC5zdGFydHNXaXRoKCcwWCcpKSB7XG4gICAgICAgIHJldHVybiBoZXhhZGVjaW1hbC5zdWJzdHJpbmcoMik7XG4gICAgfVxuICAgIHJldHVybiBoZXhhZGVjaW1hbDtcbn1cbmV4cG9ydHMucmVtb3ZlMHggPSByZW1vdmUweDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/hex.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/index.js": -/*!****************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/index.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./base64 */ \"./node_modules/@metamask/utils/dist/base64.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bytes */ \"./node_modules/@metamask/utils/dist/bytes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./checksum */ \"./node_modules/@metamask/utils/dist/checksum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./coercers */ \"./node_modules/@metamask/utils/dist/coercers.js\"), exports);\n__exportStar(__webpack_require__(/*! ./collections */ \"./node_modules/@metamask/utils/dist/collections.js\"), exports);\n__exportStar(__webpack_require__(/*! ./hex */ \"./node_modules/@metamask/utils/dist/hex.js\"), exports);\n__exportStar(__webpack_require__(/*! ./json */ \"./node_modules/@metamask/utils/dist/json.js\"), exports);\n__exportStar(__webpack_require__(/*! ./logging */ \"./node_modules/@metamask/utils/dist/logging.js\"), exports);\n__exportStar(__webpack_require__(/*! ./misc */ \"./node_modules/@metamask/utils/dist/misc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./number */ \"./node_modules/@metamask/utils/dist/number.js\"), exports);\n__exportStar(__webpack_require__(/*! ./opaque */ \"./node_modules/@metamask/utils/dist/opaque.js\"), exports);\n__exportStar(__webpack_require__(/*! ./time */ \"./node_modules/@metamask/utils/dist/time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./versions */ \"./node_modules/@metamask/utils/dist/versions.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsb0NBQW9DO0FBQ25EO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsYUFBYSxtQkFBTyxDQUFDLCtEQUFVO0FBQy9CLGFBQWEsbUJBQU8sQ0FBQywrREFBVTtBQUMvQixhQUFhLG1CQUFPLENBQUMsNkRBQVM7QUFDOUIsYUFBYSxtQkFBTyxDQUFDLG1FQUFZO0FBQ2pDLGFBQWEsbUJBQU8sQ0FBQyxtRUFBWTtBQUNqQyxhQUFhLG1CQUFPLENBQUMseUVBQWU7QUFDcEMsYUFBYSxtQkFBTyxDQUFDLHlEQUFPO0FBQzVCLGFBQWEsbUJBQU8sQ0FBQywyREFBUTtBQUM3QixhQUFhLG1CQUFPLENBQUMsaUVBQVc7QUFDaEMsYUFBYSxtQkFBTyxDQUFDLDJEQUFRO0FBQzdCLGFBQWEsbUJBQU8sQ0FBQywrREFBVTtBQUMvQixhQUFhLG1CQUFPLENBQUMsK0RBQVU7QUFDL0IsYUFBYSxtQkFBTyxDQUFDLDJEQUFRO0FBQzdCLGFBQWEsbUJBQU8sQ0FBQyxtRUFBWTtBQUNqQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvaW5kZXguanM/MmRmMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2NyZWF0ZUJpbmRpbmcgPSAodGhpcyAmJiB0aGlzLl9fY3JlYXRlQmluZGluZykgfHwgKE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xuICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcbiAgICBpZiAoIWRlc2MgfHwgKFwiZ2V0XCIgaW4gZGVzYyA/ICFtLl9fZXNNb2R1bGUgOiBkZXNjLndyaXRhYmxlIHx8IGRlc2MuY29uZmlndXJhYmxlKSkge1xuICAgICAgZGVzYyA9IHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcbiAgICBvW2syXSA9IG1ba107XG59KSk7XG52YXIgX19leHBvcnRTdGFyID0gKHRoaXMgJiYgdGhpcy5fX2V4cG9ydFN0YXIpIHx8IGZ1bmN0aW9uKG0sIGV4cG9ydHMpIHtcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGV4cG9ydHMsIHApKSBfX2NyZWF0ZUJpbmRpbmcoZXhwb3J0cywgbSwgcCk7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2Fzc2VydFwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vYmFzZTY0XCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9ieXRlc1wiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vY2hlY2tzdW1cIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2NvZXJjZXJzXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9jb2xsZWN0aW9uc1wiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vaGV4XCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9qc29uXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9sb2dnaW5nXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9taXNjXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9udW1iZXJcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL29wYXF1ZVwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vdGltZVwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vdmVyc2lvbnNcIiksIGV4cG9ydHMpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/json.js": -/*!***************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/json.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateJsonAndGetSize = exports.getJsonRpcIdValidator = exports.assertIsJsonRpcError = exports.isJsonRpcError = exports.assertIsJsonRpcFailure = exports.isJsonRpcFailure = exports.assertIsJsonRpcSuccess = exports.isJsonRpcSuccess = exports.assertIsJsonRpcResponse = exports.isJsonRpcResponse = exports.assertIsPendingJsonRpcResponse = exports.isPendingJsonRpcResponse = exports.JsonRpcResponseStruct = exports.JsonRpcFailureStruct = exports.JsonRpcSuccessStruct = exports.PendingJsonRpcResponseStruct = exports.assertIsJsonRpcRequest = exports.isJsonRpcRequest = exports.assertIsJsonRpcNotification = exports.isJsonRpcNotification = exports.JsonRpcNotificationStruct = exports.JsonRpcRequestStruct = exports.JsonRpcParamsStruct = exports.JsonRpcErrorStruct = exports.JsonRpcIdStruct = exports.JsonRpcVersionStruct = exports.jsonrpc2 = exports.isValidJson = exports.JsonStruct = void 0;\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\nconst misc_1 = __webpack_require__(/*! ./misc */ \"./node_modules/@metamask/utils/dist/misc.js\");\nexports.JsonStruct = (0, superstruct_1.define)('Json', (value) => {\n const [isValid] = validateJsonAndGetSize(value, true);\n if (!isValid) {\n return 'Expected a valid JSON-serializable value';\n }\n return true;\n});\n/**\n * Check if the given value is a valid {@link Json} value, i.e., a value that is\n * serializable to JSON.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid {@link Json} value.\n */\nfunction isValidJson(value) {\n return (0, superstruct_1.is)(value, exports.JsonStruct);\n}\nexports.isValidJson = isValidJson;\n/**\n * The string '2.0'.\n */\nexports.jsonrpc2 = '2.0';\nexports.JsonRpcVersionStruct = (0, superstruct_1.literal)(exports.jsonrpc2);\nexports.JsonRpcIdStruct = (0, superstruct_1.nullable)((0, superstruct_1.union)([(0, superstruct_1.number)(), (0, superstruct_1.string)()]));\nexports.JsonRpcErrorStruct = (0, superstruct_1.object)({\n code: (0, superstruct_1.integer)(),\n message: (0, superstruct_1.string)(),\n data: (0, superstruct_1.optional)(exports.JsonStruct),\n stack: (0, superstruct_1.optional)((0, superstruct_1.string)()),\n});\nexports.JsonRpcParamsStruct = (0, superstruct_1.optional)((0, superstruct_1.union)([(0, superstruct_1.record)((0, superstruct_1.string)(), exports.JsonStruct), (0, superstruct_1.array)(exports.JsonStruct)]));\nexports.JsonRpcRequestStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n method: (0, superstruct_1.string)(),\n params: exports.JsonRpcParamsStruct,\n});\nexports.JsonRpcNotificationStruct = (0, superstruct_1.omit)(exports.JsonRpcRequestStruct, ['id']);\n/**\n * Check if the given value is a valid {@link JsonRpcNotification} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcNotification}\n * object.\n */\nfunction isJsonRpcNotification(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcNotificationStruct);\n}\nexports.isJsonRpcNotification = isJsonRpcNotification;\n/**\n * Assert that the given value is a valid {@link JsonRpcNotification} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcNotification} object.\n */\nfunction assertIsJsonRpcNotification(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcNotificationStruct, 'Invalid JSON-RPC notification', ErrorWrapper);\n}\nexports.assertIsJsonRpcNotification = assertIsJsonRpcNotification;\n/**\n * Check if the given value is a valid {@link JsonRpcRequest} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcRequest} object.\n */\nfunction isJsonRpcRequest(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcRequestStruct);\n}\nexports.isJsonRpcRequest = isJsonRpcRequest;\n/**\n * Assert that the given value is a valid {@link JsonRpcRequest} object.\n *\n * @param value - The JSON-RPC request or notification to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcRequest} object.\n */\nfunction assertIsJsonRpcRequest(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcRequestStruct, 'Invalid JSON-RPC request', ErrorWrapper);\n}\nexports.assertIsJsonRpcRequest = assertIsJsonRpcRequest;\nexports.PendingJsonRpcResponseStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n result: (0, superstruct_1.optional)((0, superstruct_1.unknown)()),\n error: (0, superstruct_1.optional)(exports.JsonRpcErrorStruct),\n});\nexports.JsonRpcSuccessStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n result: exports.JsonStruct,\n});\nexports.JsonRpcFailureStruct = (0, superstruct_1.object)({\n id: exports.JsonRpcIdStruct,\n jsonrpc: exports.JsonRpcVersionStruct,\n error: exports.JsonRpcErrorStruct,\n});\nexports.JsonRpcResponseStruct = (0, superstruct_1.union)([\n exports.JsonRpcSuccessStruct,\n exports.JsonRpcFailureStruct,\n]);\n/**\n * Type guard to check whether specified JSON-RPC response is a\n * {@link PendingJsonRpcResponse}.\n *\n * @param response - The JSON-RPC response to check.\n * @returns Whether the specified JSON-RPC response is pending.\n */\nfunction isPendingJsonRpcResponse(response) {\n return (0, superstruct_1.is)(response, exports.PendingJsonRpcResponseStruct);\n}\nexports.isPendingJsonRpcResponse = isPendingJsonRpcResponse;\n/**\n * Assert that the given value is a valid {@link PendingJsonRpcResponse} object.\n *\n * @param response - The JSON-RPC response to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link PendingJsonRpcResponse}\n * object.\n */\nfunction assertIsPendingJsonRpcResponse(response, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(response, exports.PendingJsonRpcResponseStruct, 'Invalid pending JSON-RPC response', ErrorWrapper);\n}\nexports.assertIsPendingJsonRpcResponse = assertIsPendingJsonRpcResponse;\n/**\n * Type guard to check if a value is a {@link JsonRpcResponse}.\n *\n * @param response - The object to check.\n * @returns Whether the object is a JsonRpcResponse.\n */\nfunction isJsonRpcResponse(response) {\n return (0, superstruct_1.is)(response, exports.JsonRpcResponseStruct);\n}\nexports.isJsonRpcResponse = isJsonRpcResponse;\n/**\n * Assert that the given value is a valid {@link JsonRpcResponse} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcResponse} object.\n */\nfunction assertIsJsonRpcResponse(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcResponseStruct, 'Invalid JSON-RPC response', ErrorWrapper);\n}\nexports.assertIsJsonRpcResponse = assertIsJsonRpcResponse;\n/**\n * Check if the given value is a valid {@link JsonRpcSuccess} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcSuccess} object.\n */\nfunction isJsonRpcSuccess(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcSuccessStruct);\n}\nexports.isJsonRpcSuccess = isJsonRpcSuccess;\n/**\n * Assert that the given value is a valid {@link JsonRpcSuccess} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcSuccess} object.\n */\nfunction assertIsJsonRpcSuccess(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcSuccessStruct, 'Invalid JSON-RPC success response', ErrorWrapper);\n}\nexports.assertIsJsonRpcSuccess = assertIsJsonRpcSuccess;\n/**\n * Check if the given value is a valid {@link JsonRpcFailure} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcFailure} object.\n */\nfunction isJsonRpcFailure(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcFailureStruct);\n}\nexports.isJsonRpcFailure = isJsonRpcFailure;\n/**\n * Assert that the given value is a valid {@link JsonRpcFailure} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcFailure} object.\n */\nfunction assertIsJsonRpcFailure(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcFailureStruct, 'Invalid JSON-RPC failure response', ErrorWrapper);\n}\nexports.assertIsJsonRpcFailure = assertIsJsonRpcFailure;\n/**\n * Check if the given value is a valid {@link JsonRpcError} object.\n *\n * @param value - The value to check.\n * @returns Whether the given value is a valid {@link JsonRpcError} object.\n */\nfunction isJsonRpcError(value) {\n return (0, superstruct_1.is)(value, exports.JsonRpcErrorStruct);\n}\nexports.isJsonRpcError = isJsonRpcError;\n/**\n * Assert that the given value is a valid {@link JsonRpcError} object.\n *\n * @param value - The value to check.\n * @param ErrorWrapper - The error class to throw if the assertion fails.\n * Defaults to {@link AssertionError}.\n * @throws If the given value is not a valid {@link JsonRpcError} object.\n */\nfunction assertIsJsonRpcError(value, \n// eslint-disable-next-line @typescript-eslint/naming-convention\nErrorWrapper) {\n (0, assert_1.assertStruct)(value, exports.JsonRpcErrorStruct, 'Invalid JSON-RPC error', ErrorWrapper);\n}\nexports.assertIsJsonRpcError = assertIsJsonRpcError;\n/**\n * Gets a function for validating JSON-RPC request / response `id` values.\n *\n * By manipulating the options of this factory, you can control the behavior\n * of the resulting validator for some edge cases. This is useful because e.g.\n * `null` should sometimes but not always be permitted.\n *\n * Note that the empty string (`''`) is always permitted by the JSON-RPC\n * specification, but that kind of sucks and you may want to forbid it in some\n * instances anyway.\n *\n * For more details, see the\n * [JSON-RPC Specification](https://www.jsonrpc.org/specification).\n *\n * @param options - An options object.\n * @param options.permitEmptyString - Whether the empty string (i.e. `''`)\n * should be treated as a valid ID. Default: `true`\n * @param options.permitFractions - Whether fractional numbers (e.g. `1.2`)\n * should be treated as valid IDs. Default: `false`\n * @param options.permitNull - Whether `null` should be treated as a valid ID.\n * Default: `true`\n * @returns The JSON-RPC ID validator function.\n */\nfunction getJsonRpcIdValidator(options) {\n const { permitEmptyString, permitFractions, permitNull } = Object.assign({ permitEmptyString: true, permitFractions: false, permitNull: true }, options);\n /**\n * Type guard for {@link JsonRpcId}.\n *\n * @param id - The JSON-RPC ID value to check.\n * @returns Whether the given ID is valid per the options given to the\n * factory.\n */\n const isValidJsonRpcId = (id) => {\n return Boolean((typeof id === 'number' && (permitFractions || Number.isInteger(id))) ||\n (typeof id === 'string' && (permitEmptyString || id.length > 0)) ||\n (permitNull && id === null));\n };\n return isValidJsonRpcId;\n}\nexports.getJsonRpcIdValidator = getJsonRpcIdValidator;\n/**\n * Checks whether a value is JSON serializable and counts the total number\n * of bytes needed to store the serialized version of the value.\n *\n * @param jsObject - Potential JSON serializable object.\n * @param skipSizingProcess - Skip JSON size calculation (default: false).\n * @returns Tuple [isValid, plainTextSizeInBytes] containing a boolean that signals whether\n * the value was serializable and a number of bytes that it will use when serialized to JSON.\n */\nfunction validateJsonAndGetSize(jsObject, skipSizingProcess = false) {\n const seenObjects = new Set();\n /**\n * Checks whether a value is JSON serializable and counts the total number\n * of bytes needed to store the serialized version of the value.\n *\n * This function assumes the encoding of the JSON is done in UTF-8.\n *\n * @param value - Potential JSON serializable value.\n * @param skipSizing - Skip JSON size calculation (default: false).\n * @returns Tuple [isValid, plainTextSizeInBytes] containing a boolean that signals whether\n * the value was serializable and a number of bytes that it will use when serialized to JSON.\n */\n function getJsonSerializableInfo(value, skipSizing) {\n if (value === undefined) {\n return [false, 0];\n }\n else if (value === null) {\n // Return already specified constant size for null (special object)\n return [true, skipSizing ? 0 : misc_1.JsonSize.Null];\n }\n // Check and calculate sizes for basic (and some special) types\n const typeOfValue = typeof value;\n try {\n if (typeOfValue === 'function') {\n return [false, 0];\n }\n else if (typeOfValue === 'string' || value instanceof String) {\n return [\n true,\n skipSizing\n ? 0\n : (0, misc_1.calculateStringSize)(value) + misc_1.JsonSize.Quote * 2,\n ];\n }\n else if (typeOfValue === 'boolean' || value instanceof Boolean) {\n if (skipSizing) {\n return [true, 0];\n }\n // eslint-disable-next-line eqeqeq\n return [true, value == true ? misc_1.JsonSize.True : misc_1.JsonSize.False];\n }\n else if (typeOfValue === 'number' || value instanceof Number) {\n if (skipSizing) {\n return [true, 0];\n }\n return [true, (0, misc_1.calculateNumberSize)(value)];\n }\n else if (value instanceof Date) {\n if (skipSizing) {\n return [true, 0];\n }\n return [\n true,\n // Note: Invalid dates will serialize to null\n isNaN(value.getDate())\n ? misc_1.JsonSize.Null\n : misc_1.JsonSize.Date + misc_1.JsonSize.Quote * 2,\n ];\n }\n }\n catch (_) {\n return [false, 0];\n }\n // If object is not plain and cannot be serialized properly,\n // stop here and return false for serialization\n if (!(0, misc_1.isPlainObject)(value) && !Array.isArray(value)) {\n return [false, 0];\n }\n // Circular object detection (handling)\n // Check if the same object already exists\n if (seenObjects.has(value)) {\n return [false, 0];\n }\n // Add new object to the seen objects set\n // Only the plain objects should be added (Primitive types are skipped)\n seenObjects.add(value);\n // Continue object decomposition\n try {\n return [\n true,\n Object.entries(value).reduce((sum, [key, nestedValue], idx, arr) => {\n // Recursively process next nested object or primitive type\n // eslint-disable-next-line prefer-const\n let [valid, size] = getJsonSerializableInfo(nestedValue, skipSizing);\n if (!valid) {\n throw new Error('JSON validation did not pass. Validation process stopped.');\n }\n // Circular object detection\n // Once a child node is visited and processed remove it from the set.\n // This will prevent false positives with the same adjacent objects.\n seenObjects.delete(value);\n if (skipSizing) {\n return 0;\n }\n // Objects will have be serialized with \"key\": value,\n // therefore we include the key in the calculation here\n const keySize = Array.isArray(value)\n ? 0\n : key.length + misc_1.JsonSize.Comma + misc_1.JsonSize.Colon * 2;\n const separator = idx < arr.length - 1 ? misc_1.JsonSize.Comma : 0;\n return sum + keySize + size + separator;\n }, \n // Starts at 2 because the serialized JSON string data (plain text)\n // will minimally contain {}/[]\n skipSizing ? 0 : misc_1.JsonSize.Wrapper * 2),\n ];\n }\n catch (_) {\n return [false, 0];\n }\n }\n return getJsonSerializableInfo(jsObject, skipSizingProcess);\n}\nexports.validateJsonAndGetSize = validateJsonAndGetSize;\n//# sourceMappingURL=json.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvanNvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw4QkFBOEIsR0FBRyw2QkFBNkIsR0FBRyw0QkFBNEIsR0FBRyxzQkFBc0IsR0FBRyw4QkFBOEIsR0FBRyx3QkFBd0IsR0FBRyw4QkFBOEIsR0FBRyx3QkFBd0IsR0FBRywrQkFBK0IsR0FBRyx5QkFBeUIsR0FBRyxzQ0FBc0MsR0FBRyxnQ0FBZ0MsR0FBRyw2QkFBNkIsR0FBRyw0QkFBNEIsR0FBRyw0QkFBNEIsR0FBRyxvQ0FBb0MsR0FBRyw4QkFBOEIsR0FBRyx3QkFBd0IsR0FBRyxtQ0FBbUMsR0FBRyw2QkFBNkIsR0FBRyxpQ0FBaUMsR0FBRyw0QkFBNEIsR0FBRywyQkFBMkIsR0FBRywwQkFBMEIsR0FBRyx1QkFBdUIsR0FBRyw0QkFBNEIsR0FBRyxnQkFBZ0IsR0FBRyxtQkFBbUIsR0FBRyxrQkFBa0I7QUFDcDNCLHNCQUFzQixtQkFBTyxDQUFDLDJGQUFhO0FBQzNDLGlCQUFpQixtQkFBTyxDQUFDLCtEQUFVO0FBQ25DLGVBQWUsbUJBQU8sQ0FBQywyREFBUTtBQUMvQixrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLHdDQUF3QyxZQUFZO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxZQUFZO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIsdUJBQXVCO0FBQ3ZCLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGlDQUFpQztBQUNqQztBQUNBLHdDQUF3QywyQkFBMkI7QUFDbkU7QUFDQTtBQUNBLGdEQUFnRDtB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvanNvbi5qcz82Y2JlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy52YWxpZGF0ZUpzb25BbmRHZXRTaXplID0gZXhwb3J0cy5nZXRKc29uUnBjSWRWYWxpZGF0b3IgPSBleHBvcnRzLmFzc2VydElzSnNvblJwY0Vycm9yID0gZXhwb3J0cy5pc0pzb25ScGNFcnJvciA9IGV4cG9ydHMuYXNzZXJ0SXNKc29uUnBjRmFpbHVyZSA9IGV4cG9ydHMuaXNKc29uUnBjRmFpbHVyZSA9IGV4cG9ydHMuYXNzZXJ0SXNKc29uUnBjU3VjY2VzcyA9IGV4cG9ydHMuaXNKc29uUnBjU3VjY2VzcyA9IGV4cG9ydHMuYXNzZXJ0SXNKc29uUnBjUmVzcG9uc2UgPSBleHBvcnRzLmlzSnNvblJwY1Jlc3BvbnNlID0gZXhwb3J0cy5hc3NlcnRJc1BlbmRpbmdKc29uUnBjUmVzcG9uc2UgPSBleHBvcnRzLmlzUGVuZGluZ0pzb25ScGNSZXNwb25zZSA9IGV4cG9ydHMuSnNvblJwY1Jlc3BvbnNlU3RydWN0ID0gZXhwb3J0cy5Kc29uUnBjRmFpbHVyZVN0cnVjdCA9IGV4cG9ydHMuSnNvblJwY1N1Y2Nlc3NTdHJ1Y3QgPSBleHBvcnRzLlBlbmRpbmdKc29uUnBjUmVzcG9uc2VTdHJ1Y3QgPSBleHBvcnRzLmFzc2VydElzSnNvblJwY1JlcXVlc3QgPSBleHBvcnRzLmlzSnNvblJwY1JlcXVlc3QgPSBleHBvcnRzLmFzc2VydElzSnNvblJwY05vdGlmaWNhdGlvbiA9IGV4cG9ydHMuaXNKc29uUnBjTm90aWZpY2F0aW9uID0gZXhwb3J0cy5Kc29uUnBjTm90aWZpY2F0aW9uU3RydWN0ID0gZXhwb3J0cy5Kc29uUnBjUmVxdWVzdFN0cnVjdCA9IGV4cG9ydHMuSnNvblJwY1BhcmFtc1N0cnVjdCA9IGV4cG9ydHMuSnNvblJwY0Vycm9yU3RydWN0ID0gZXhwb3J0cy5Kc29uUnBjSWRTdHJ1Y3QgPSBleHBvcnRzLkpzb25ScGNWZXJzaW9uU3RydWN0ID0gZXhwb3J0cy5qc29ucnBjMiA9IGV4cG9ydHMuaXNWYWxpZEpzb24gPSBleHBvcnRzLkpzb25TdHJ1Y3QgPSB2b2lkIDA7XG5jb25zdCBzdXBlcnN0cnVjdF8xID0gcmVxdWlyZShcInN1cGVyc3RydWN0XCIpO1xuY29uc3QgYXNzZXJ0XzEgPSByZXF1aXJlKFwiLi9hc3NlcnRcIik7XG5jb25zdCBtaXNjXzEgPSByZXF1aXJlKFwiLi9taXNjXCIpO1xuZXhwb3J0cy5Kc29uU3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEuZGVmaW5lKSgnSnNvbicsICh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IFtpc1ZhbGlkXSA9IHZhbGlkYXRlSnNvbkFuZEdldFNpemUodmFsdWUsIHRydWUpO1xuICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICByZXR1cm4gJ0V4cGVjdGVkIGEgdmFsaWQgSlNPTi1zZXJpYWxpemFibGUgdmFsdWUnO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn0pO1xuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvbn0gdmFsdWUsIGkuZS4sIGEgdmFsdWUgdGhhdCBpc1xuICogc2VyaWFsaXphYmxlIHRvIEpTT04uXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvbn0gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRKc29uKHZhbHVlKSB7XG4gICAgcmV0dXJuICgwLCBzdXBlcnN0cnVjdF8xLmlzKSh2YWx1ZSwgZXhwb3J0cy5Kc29uU3RydWN0KTtcbn1cbmV4cG9ydHMuaXNWYWxpZEpzb24gPSBpc1ZhbGlkSnNvbjtcbi8qKlxuICogVGhlIHN0cmluZyAnMi4wJy5cbiAqL1xuZXhwb3J0cy5qc29ucnBjMiA9ICcyLjAnO1xuZXhwb3J0cy5Kc29uUnBjVmVyc2lvblN0cnVjdCA9ICgwLCBzdXBlcnN0cnVjdF8xLmxpdGVyYWwpKGV4cG9ydHMuanNvbnJwYzIpO1xuZXhwb3J0cy5Kc29uUnBjSWRTdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5udWxsYWJsZSkoKDAsIHN1cGVyc3RydWN0XzEudW5pb24pKFsoMCwgc3VwZXJzdHJ1Y3RfMS5udW1iZXIpKCksICgwLCBzdXBlcnN0cnVjdF8xLnN0cmluZykoKV0pKTtcbmV4cG9ydHMuSnNvblJwY0Vycm9yU3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEub2JqZWN0KSh7XG4gICAgY29kZTogKDAsIHN1cGVyc3RydWN0XzEuaW50ZWdlcikoKSxcbiAgICBtZXNzYWdlOiAoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCksXG4gICAgZGF0YTogKDAsIHN1cGVyc3RydWN0XzEub3B0aW9uYWwpKGV4cG9ydHMuSnNvblN0cnVjdCksXG4gICAgc3RhY2s6ICgwLCBzdXBlcnN0cnVjdF8xLm9wdGlvbmFsKSgoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCkpLFxufSk7XG5leHBvcnRzLkpzb25ScGNQYXJhbXNTdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5vcHRpb25hbCkoKDAsIHN1cGVyc3RydWN0XzEudW5pb24pKFsoMCwgc3VwZXJzdHJ1Y3RfMS5yZWNvcmQpKCgwLCBzdXBlcnN0cnVjdF8xLnN0cmluZykoKSwgZXhwb3J0cy5Kc29uU3RydWN0KSwgKDAsIHN1cGVyc3RydWN0XzEuYXJyYXkpKGV4cG9ydHMuSnNvblN0cnVjdCldKSk7XG5leHBvcnRzLkpzb25ScGNSZXF1ZXN0U3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEub2JqZWN0KSh7XG4gICAgaWQ6IGV4cG9ydHMuSnNvblJwY0lkU3RydWN0LFxuICAgIGpzb25ycGM6IGV4cG9ydHMuSnNvblJwY1ZlcnNpb25TdHJ1Y3QsXG4gICAgbWV0aG9kOiAoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCksXG4gICAgcGFyYW1zOiBleHBvcnRzLkpzb25ScGNQYXJhbXNTdHJ1Y3QsXG59KTtcbmV4cG9ydHMuSnNvblJwY05vdGlmaWNhdGlvblN0cnVjdCA9ICgwLCBzdXBlcnN0cnVjdF8xLm9taXQpKGV4cG9ydHMuSnNvblJwY1JlcXVlc3RTdHJ1Y3QsIFsnaWQnXSk7XG4vKipcbiAqIENoZWNrIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIHtAbGluayBKc29uUnBjTm90aWZpY2F0aW9ufSBvYmplY3QuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY05vdGlmaWNhdGlvbn1cbiAqIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gaXNKc29uUnBjTm90aWZpY2F0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuICgwLCBzdXBlcnN0cnVjdF8xLmlzKSh2YWx1ZSwgZXhwb3J0cy5Kc29uUnBjTm90aWZpY2F0aW9uU3RydWN0KTtcbn1cbmV4cG9ydHMuaXNKc29uUnBjTm90aWZpY2F0aW9uID0gaXNKc29uUnBjTm90aWZpY2F0aW9uO1xuLyoqXG4gKiBBc3NlcnQgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY05vdGlmaWNhdGlvbn0gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEBwYXJhbSBFcnJvcldyYXBwZXIgLSBUaGUgZXJyb3IgY2xhc3MgdG8gdGhyb3cgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqIERlZmF1bHRzIHRvIHtAbGluayBBc3NlcnRpb25FcnJvcn0uXG4gKiBAdGhyb3dzIElmIHRoZSBnaXZlbiB2YWx1ZSBpcyBub3QgYSB2YWxpZCB7QGxpbmsgSnNvblJwY05vdGlmaWNhdGlvbn0gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBhc3NlcnRJc0pzb25ScGNOb3RpZmljYXRpb24odmFsdWUsIFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuRXJyb3JXcmFwcGVyKSB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydFN0cnVjdCkodmFsdWUsIGV4cG9ydHMuSnNvblJwY05vdGlmaWNhdGlvblN0cnVjdCwgJ0ludmFsaWQgSlNPTi1SUEMgbm90aWZpY2F0aW9uJywgRXJyb3JXcmFwcGVyKTtcbn1cbmV4cG9ydHMuYXNzZXJ0SXNKc29uUnBjTm90aWZpY2F0aW9uID0gYXNzZXJ0SXNKc29uUnBjTm90aWZpY2F0aW9uO1xuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY1JlcXVlc3R9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIHtAbGluayBKc29uUnBjUmVxdWVzdH0gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBpc0pzb25ScGNSZXF1ZXN0KHZhbHVlKSB7XG4gICAgcmV0dXJuICgwLCBzdXBlcnN0cnVjdF8xLmlzKSh2YWx1ZSwgZXhwb3J0cy5Kc29uUnBjUmVxdWVzdFN0cnVjdCk7XG59XG5leHBvcnRzLmlzSnNvblJwY1JlcXVlc3QgPSBpc0pzb25ScGNSZXF1ZXN0O1xuLyoqXG4gKiBBc3NlcnQgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY1JlcXVlc3R9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgSlNPTi1SUEMgcmVxdWVzdCBvciBub3RpZmljYXRpb24gdG8gY2hlY2suXG4gKiBAcGFyYW0gRXJyb3JXcmFwcGVyIC0gVGhlIGVycm9yIGNsYXNzIHRvIHRocm93IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKiBEZWZhdWx0cyB0byB7QGxpbmsgQXNzZXJ0aW9uRXJyb3J9LlxuICogQHRocm93cyBJZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgbm90IGEgdmFsaWQge0BsaW5rIEpzb25ScGNSZXF1ZXN0fSBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydElzSnNvblJwY1JlcXVlc3QodmFsdWUsIFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuRXJyb3JXcmFwcGVyKSB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydFN0cnVjdCkodmFsdWUsIGV4cG9ydHMuSnNvblJwY1JlcXVlc3RTdHJ1Y3QsICdJbnZhbGlkIEpTT04tUlBDIHJlcXVlc3QnLCBFcnJvcldyYXBwZXIpO1xufVxuZXhwb3J0cy5hc3NlcnRJc0pzb25ScGNSZXF1ZXN0ID0gYXNzZXJ0SXNKc29uUnBjUmVxdWVzdDtcbmV4cG9ydHMuUGVuZGluZ0pzb25ScGNSZXNwb25zZVN0cnVjdCA9ICgwLCBzdXBlcnN0cnVjdF8xLm9iamVjdCkoe1xuICAgIGlkOiBleHBvcnRzLkpzb25ScGNJZFN0cnVjdCxcbiAgICBqc29ucnBjOiBleHBvcnRzLkpzb25ScGNWZXJzaW9uU3RydWN0LFxuICAgIHJlc3VsdDogKDAsIHN1cGVyc3RydWN0XzEub3B0aW9uYWwpKCgwLCBzdXBlcnN0cnVjdF8xLnVua25vd24pKCkpLFxuICAgIGVycm9yOiAoMCwgc3VwZXJzdHJ1Y3RfMS5vcHRpb25hbCkoZXhwb3J0cy5Kc29uUnBjRXJyb3JTdHJ1Y3QpLFxufSk7XG5leHBvcnRzLkpzb25ScGNTdWNjZXNzU3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEub2JqZWN0KSh7XG4gICAgaWQ6IGV4cG9ydHMuSnNvblJwY0lkU3RydWN0LFxuICAgIGpzb25ycGM6IGV4cG9ydHMuSnNvblJwY1ZlcnNpb25TdHJ1Y3QsXG4gICAgcmVzdWx0OiBleHBvcnRzLkpzb25TdHJ1Y3QsXG59KTtcbmV4cG9ydHMuSnNvblJwY0ZhaWx1cmVTdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5vYmplY3QpKHtcbiAgICBpZDogZXhwb3J0cy5Kc29uUnBjSWRTdHJ1Y3QsXG4gICAganNvbnJwYzogZXhwb3J0cy5Kc29uUnBjVmVyc2lvblN0cnVjdCxcbiAgICBlcnJvcjogZXhwb3J0cy5Kc29uUnBjRXJyb3JTdHJ1Y3QsXG59KTtcbmV4cG9ydHMuSnNvblJwY1Jlc3BvbnNlU3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEudW5pb24pKFtcbiAgICBleHBvcnRzLkpzb25ScGNTdWNjZXNzU3RydWN0LFxuICAgIGV4cG9ydHMuSnNvblJwY0ZhaWx1cmVTdHJ1Y3QsXG5dKTtcbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayB3aGV0aGVyIHNwZWNpZmllZCBKU09OLVJQQyByZXNwb25zZSBpcyBhXG4gKiB7QGxpbmsgUGVuZGluZ0pzb25ScGNSZXNwb25zZX0uXG4gKlxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIEpTT04tUlBDIHJlc3BvbnNlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgc3BlY2lmaWVkIEpTT04tUlBDIHJlc3BvbnNlIGlzIHBlbmRpbmcuXG4gKi9cbmZ1bmN0aW9uIGlzUGVuZGluZ0pzb25ScGNSZXNwb25zZShyZXNwb25zZSkge1xuICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5pcykocmVzcG9uc2UsIGV4cG9ydHMuUGVuZGluZ0pzb25ScGNSZXNwb25zZVN0cnVjdCk7XG59XG5leHBvcnRzLmlzUGVuZGluZ0pzb25ScGNSZXNwb25zZSA9IGlzUGVuZGluZ0pzb25ScGNSZXNwb25zZTtcbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQge0BsaW5rIFBlbmRpbmdKc29uUnBjUmVzcG9uc2V9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgSlNPTi1SUEMgcmVzcG9uc2UgdG8gY2hlY2suXG4gKiBAcGFyYW0gRXJyb3JXcmFwcGVyIC0gVGhlIGVycm9yIGNsYXNzIHRvIHRocm93IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKiBEZWZhdWx0cyB0byB7QGxpbmsgQXNzZXJ0aW9uRXJyb3J9LlxuICogQHRocm93cyBJZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgbm90IGEgdmFsaWQge0BsaW5rIFBlbmRpbmdKc29uUnBjUmVzcG9uc2V9XG4gKiBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydElzUGVuZGluZ0pzb25ScGNSZXNwb25zZShyZXNwb25zZSwgXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5FcnJvcldyYXBwZXIpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0U3RydWN0KShyZXNwb25zZSwgZXhwb3J0cy5QZW5kaW5nSnNvblJwY1Jlc3BvbnNlU3RydWN0LCAnSW52YWxpZCBwZW5kaW5nIEpTT04tUlBDIHJlc3BvbnNlJywgRXJyb3JXcmFwcGVyKTtcbn1cbmV4cG9ydHMuYXNzZXJ0SXNQZW5kaW5nSnNvblJwY1Jlc3BvbnNlID0gYXNzZXJ0SXNQZW5kaW5nSnNvblJwY1Jlc3BvbnNlO1xuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB7QGxpbmsgSnNvblJwY1Jlc3BvbnNlfS5cbiAqXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgb2JqZWN0IGlzIGEgSnNvblJwY1Jlc3BvbnNlLlxuICovXG5mdW5jdGlvbiBpc0pzb25ScGNSZXNwb25zZShyZXNwb25zZSkge1xuICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5pcykocmVzcG9uc2UsIGV4cG9ydHMuSnNvblJwY1Jlc3BvbnNlU3RydWN0KTtcbn1cbmV4cG9ydHMuaXNKc29uUnBjUmVzcG9uc2UgPSBpc0pzb25ScGNSZXNwb25zZTtcbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQge0BsaW5rIEpzb25ScGNSZXNwb25zZX0gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEBwYXJhbSBFcnJvcldyYXBwZXIgLSBUaGUgZXJyb3IgY2xhc3MgdG8gdGhyb3cgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqIERlZmF1bHRzIHRvIHtAbGluayBBc3NlcnRpb25FcnJvcn0uXG4gKiBAdGhyb3dzIElmIHRoZSBnaXZlbiB2YWx1ZSBpcyBub3QgYSB2YWxpZCB7QGxpbmsgSnNvblJwY1Jlc3BvbnNlfSBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydElzSnNvblJwY1Jlc3BvbnNlKHZhbHVlLCBcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbkVycm9yV3JhcHBlcikge1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnRTdHJ1Y3QpKHZhbHVlLCBleHBvcnRzLkpzb25ScGNSZXNwb25zZVN0cnVjdCwgJ0ludmFsaWQgSlNPTi1SUEMgcmVzcG9uc2UnLCBFcnJvcldyYXBwZXIpO1xufVxuZXhwb3J0cy5hc3NlcnRJc0pzb25ScGNSZXNwb25zZSA9IGFzc2VydElzSnNvblJwY1Jlc3BvbnNlO1xuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY1N1Y2Nlc3N9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIHtAbGluayBKc29uUnBjU3VjY2Vzc30gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBpc0pzb25ScGNTdWNjZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuICgwLCBzdXBlcnN0cnVjdF8xLmlzKSh2YWx1ZSwgZXhwb3J0cy5Kc29uUnBjU3VjY2Vzc1N0cnVjdCk7XG59XG5leHBvcnRzLmlzSnNvblJwY1N1Y2Nlc3MgPSBpc0pzb25ScGNTdWNjZXNzO1xuLyoqXG4gKiBBc3NlcnQgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY1N1Y2Nlc3N9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcGFyYW0gRXJyb3JXcmFwcGVyIC0gVGhlIGVycm9yIGNsYXNzIHRvIHRocm93IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKiBEZWZhdWx0cyB0byB7QGxpbmsgQXNzZXJ0aW9uRXJyb3J9LlxuICogQHRocm93cyBJZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgbm90IGEgdmFsaWQge0BsaW5rIEpzb25ScGNTdWNjZXNzfSBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydElzSnNvblJwY1N1Y2Nlc3ModmFsdWUsIFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuRXJyb3JXcmFwcGVyKSB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydFN0cnVjdCkodmFsdWUsIGV4cG9ydHMuSnNvblJwY1N1Y2Nlc3NTdHJ1Y3QsICdJbnZhbGlkIEpTT04tUlBDIHN1Y2Nlc3MgcmVzcG9uc2UnLCBFcnJvcldyYXBwZXIpO1xufVxuZXhwb3J0cy5hc3NlcnRJc0pzb25ScGNTdWNjZXNzID0gYXNzZXJ0SXNKc29uUnBjU3VjY2Vzcztcbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQge0BsaW5rIEpzb25ScGNGYWlsdXJlfSBvYmplY3QuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCB7QGxpbmsgSnNvblJwY0ZhaWx1cmV9IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gaXNKc29uUnBjRmFpbHVyZSh2YWx1ZSkge1xuICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5pcykodmFsdWUsIGV4cG9ydHMuSnNvblJwY0ZhaWx1cmVTdHJ1Y3QpO1xufVxuZXhwb3J0cy5pc0pzb25ScGNGYWlsdXJlID0gaXNKc29uUnBjRmFpbHVyZTtcbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQge0BsaW5rIEpzb25ScGNGYWlsdXJlfSBvYmplY3QuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIEVycm9yV3JhcHBlciAtIFRoZSBlcnJvciBjbGFzcyB0byB0aHJvdyBpZiB0aGUgYXNzZXJ0aW9uIGZhaWxzLlxuICogRGVmYXVsdHMgdG8ge0BsaW5rIEFzc2VydGlvbkVycm9yfS5cbiAqIEB0aHJvd3MgSWYgdGhlIGdpdmVuIHZhbHVlIGlzIG5vdCBhIHZhbGlkIHtAbGluayBKc29uUnBjRmFpbHVyZX0gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBhc3NlcnRJc0pzb25ScGNGYWlsdXJlKHZhbHVlLCBcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbkVycm9yV3JhcHBlcikge1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnRTdHJ1Y3QpKHZhbHVlLCBleHBvcnRzLkpzb25ScGNGYWlsdXJlU3RydWN0LCAnSW52YWxpZCBKU09OLVJQQyBmYWlsdXJlIHJlc3BvbnNlJywgRXJyb3JXcmFwcGVyKTtcbn1cbmV4cG9ydHMuYXNzZXJ0SXNKc29uUnBjRmFpbHVyZSA9IGFzc2VydElzSnNvblJwY0ZhaWx1cmU7XG4vKipcbiAqIENoZWNrIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIHtAbGluayBKc29uUnBjRXJyb3J9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIHtAbGluayBKc29uUnBjRXJyb3J9IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gaXNKc29uUnBjRXJyb3IodmFsdWUpIHtcbiAgICByZXR1cm4gKDAsIHN1cGVyc3RydWN0XzEuaXMpKHZhbHVlLCBleHBvcnRzLkpzb25ScGNFcnJvclN0cnVjdCk7XG59XG5leHBvcnRzLmlzSnNvblJwY0Vycm9yID0gaXNKc29uUnBjRXJyb3I7XG4vKipcbiAqIEFzc2VydCB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIHtAbGluayBKc29uUnBjRXJyb3J9IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcGFyYW0gRXJyb3JXcmFwcGVyIC0gVGhlIGVycm9yIGNsYXNzIHRvIHRocm93IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKiBEZWZhdWx0cyB0byB7QGxpbmsgQXNzZXJ0aW9uRXJyb3J9LlxuICogQHRocm93cyBJZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgbm90IGEgdmFsaWQge0BsaW5rIEpzb25ScGNFcnJvcn0gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBhc3NlcnRJc0pzb25ScGNFcnJvcih2YWx1ZSwgXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5FcnJvcldyYXBwZXIpIHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0U3RydWN0KSh2YWx1ZSwgZXhwb3J0cy5Kc29uUnBjRXJyb3JTdHJ1Y3QsICdJbnZhbGlkIEpTT04tUlBDIGVycm9yJywgRXJyb3JXcmFwcGVyKTtcbn1cbmV4cG9ydHMuYXNzZXJ0SXNKc29uUnBjRXJyb3IgPSBhc3NlcnRJc0pzb25ScGNFcnJvcjtcbi8qKlxuICogR2V0cyBhIGZ1bmN0aW9uIGZvciB2YWxpZGF0aW5nIEpTT04tUlBDIHJlcXVlc3QgLyByZXNwb25zZSBgaWRgIHZhbHVlcy5cbiAqXG4gKiBCeSBtYW5pcHVsYXRpbmcgdGhlIG9wdGlvbnMgb2YgdGhpcyBmYWN0b3J5LCB5b3UgY2FuIGNvbnRyb2wgdGhlIGJlaGF2aW9yXG4gKiBvZiB0aGUgcmVzdWx0aW5nIHZhbGlkYXRvciBmb3Igc29tZSBlZGdlIGNhc2VzLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGUuZy5cbiAqIGBudWxsYCBzaG91bGQgc29tZXRpbWVzIGJ1dCBub3QgYWx3YXlzIGJlIHBlcm1pdHRlZC5cbiAqXG4gKiBOb3RlIHRoYXQgdGhlIGVtcHR5IHN0cmluZyAoYCcnYCkgaXMgYWx3YXlzIHBlcm1pdHRlZCBieSB0aGUgSlNPTi1SUENcbiAqIHNwZWNpZmljYXRpb24sIGJ1dCB0aGF0IGtpbmQgb2Ygc3Vja3MgYW5kIHlvdSBtYXkgd2FudCB0byBmb3JiaWQgaXQgaW4gc29tZVxuICogaW5zdGFuY2VzIGFueXdheS5cbiAqXG4gKiBGb3IgbW9yZSBkZXRhaWxzLCBzZWUgdGhlXG4gKiBbSlNPTi1SUEMgU3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly93d3cuanNvbnJwYy5vcmcvc3BlY2lmaWNhdGlvbikuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zLnBlcm1pdEVtcHR5U3RyaW5nIC0gV2hldGhlciB0aGUgZW1wdHkgc3RyaW5nIChpLmUuIGAnJ2ApXG4gKiBzaG91bGQgYmUgdHJlYXRlZCBhcyBhIHZhbGlkIElELiBEZWZhdWx0OiBgdHJ1ZWBcbiAqIEBwYXJhbSBvcHRpb25zLnBlcm1pdEZyYWN0aW9ucyAtIFdoZXRoZXIgZnJhY3Rpb25hbCBudW1iZXJzIChlLmcuIGAxLjJgKVxuICogc2hvdWxkIGJlIHRyZWF0ZWQgYXMgdmFsaWQgSURzLiBEZWZhdWx0OiBgZmFsc2VgXG4gKiBAcGFyYW0gb3B0aW9ucy5wZXJtaXROdWxsIC0gV2hldGhlciBgbnVsbGAgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYSB2YWxpZCBJRC5cbiAqIERlZmF1bHQ6IGB0cnVlYFxuICogQHJldHVybnMgVGhlIEpTT04tUlBDIElEIHZhbGlkYXRvciBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gZ2V0SnNvblJwY0lkVmFsaWRhdG9yKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHBlcm1pdEVtcHR5U3RyaW5nLCBwZXJtaXRGcmFjdGlvbnMsIHBlcm1pdE51bGwgfSA9IE9iamVjdC5hc3NpZ24oeyBwZXJtaXRFbXB0eVN0cmluZzogdHJ1ZSwgcGVybWl0RnJhY3Rpb25zOiBmYWxzZSwgcGVybWl0TnVsbDogdHJ1ZSB9LCBvcHRpb25zKTtcbiAgICAvKipcbiAgICAgKiBUeXBlIGd1YXJkIGZvciB7QGxpbmsgSnNvblJwY0lkfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCAtIFRoZSBKU09OLVJQQyBJRCB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBnaXZlbiBJRCBpcyB2YWxpZCBwZXIgdGhlIG9wdGlvbnMgZ2l2ZW4gdG8gdGhlXG4gICAgICogZmFjdG9yeS5cbiAgICAgKi9cbiAgICBjb25zdCBpc1ZhbGlkSnNvblJwY0lkID0gKGlkKSA9PiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKCh0eXBlb2YgaWQgPT09ICdudW1iZXInICYmIChwZXJtaXRGcmFjdGlvbnMgfHwgTnVtYmVyLmlzSW50ZWdlcihpZCkpKSB8fFxuICAgICAgICAgICAgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycgJiYgKHBlcm1pdEVtcHR5U3RyaW5nIHx8IGlkLmxlbmd0aCA+IDApKSB8fFxuICAgICAgICAgICAgKHBlcm1pdE51bGwgJiYgaWQgPT09IG51bGwpKTtcbiAgICB9O1xuICAgIHJldHVybiBpc1ZhbGlkSnNvblJwY0lkO1xufVxuZXhwb3J0cy5nZXRKc29uUnBjSWRWYWxpZGF0b3IgPSBnZXRKc29uUnBjSWRWYWxpZGF0b3I7XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgSlNPTiBzZXJpYWxpemFibGUgYW5kIGNvdW50cyB0aGUgdG90YWwgbnVtYmVyXG4gKiBvZiBieXRlcyBuZWVkZWQgdG8gc3RvcmUgdGhlIHNlcmlhbGl6ZWQgdmVyc2lvbiBvZiB0aGUgdmFsdWUuXG4gKlxuICogQHBhcmFtIGpzT2JqZWN0IC0gUG90ZW50aWFsIEpTT04gc2VyaWFsaXphYmxlIG9iamVjdC5cbiAqIEBwYXJhbSBza2lwU2l6aW5nUHJvY2VzcyAtIFNraXAgSlNPTiBzaXplIGNhbGN1bGF0aW9uIChkZWZhdWx0OiBmYWxzZSkuXG4gKiBAcmV0dXJucyBUdXBsZSBbaXNWYWxpZCwgcGxhaW5UZXh0U2l6ZUluQnl0ZXNdIGNvbnRhaW5pbmcgYSBib29sZWFuIHRoYXQgc2lnbmFscyB3aGV0aGVyXG4gKiB0aGUgdmFsdWUgd2FzIHNlcmlhbGl6YWJsZSBhbmQgYSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBpdCB3aWxsIHVzZSB3aGVuIHNlcmlhbGl6ZWQgdG8gSlNPTi5cbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVKc29uQW5kR2V0U2l6ZShqc09iamVjdCwgc2tpcFNpemluZ1Byb2Nlc3MgPSBmYWxzZSkge1xuICAgIGNvbnN0IHNlZW5PYmplY3RzID0gbmV3IFNldCgpO1xuICAgIC8qKlxuICAgICAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgSlNPTiBzZXJpYWxpemFibGUgYW5kIGNvdW50cyB0aGUgdG90YWwgbnVtYmVyXG4gICAgICogb2YgYnl0ZXMgbmVlZGVkIHRvIHN0b3JlIHRoZSBzZXJpYWxpemVkIHZlcnNpb24gb2YgdGhlIHZhbHVlLlxuICAgICAqXG4gICAgICogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRoZSBlbmNvZGluZyBvZiB0aGUgSlNPTiBpcyBkb25lIGluIFVURi04LlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIC0gUG90ZW50aWFsIEpTT04gc2VyaWFsaXphYmxlIHZhbHVlLlxuICAgICAqIEBwYXJhbSBza2lwU2l6aW5nIC0gU2tpcCBKU09OIHNpemUgY2FsY3VsYXRpb24gKGRlZmF1bHQ6IGZhbHNlKS5cbiAgICAgKiBAcmV0dXJucyBUdXBsZSBbaXNWYWxpZCwgcGxhaW5UZXh0U2l6ZUluQnl0ZXNdIGNvbnRhaW5pbmcgYSBib29sZWFuIHRoYXQgc2lnbmFscyB3aGV0aGVyXG4gICAgICogdGhlIHZhbHVlIHdhcyBzZXJpYWxpemFibGUgYW5kIGEgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgaXQgd2lsbCB1c2Ugd2hlbiBzZXJpYWxpemVkIHRvIEpTT04uXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0SnNvblNlcmlhbGl6YWJsZUluZm8odmFsdWUsIHNraXBTaXppbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBbZmFsc2UsIDBdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBSZXR1cm4gYWxyZWFkeSBzcGVjaWZpZWQgY29uc3RhbnQgc2l6ZSBmb3IgbnVsbCAoc3BlY2lhbCBvYmplY3QpXG4gICAgICAgICAgICByZXR1cm4gW3RydWUsIHNraXBTaXppbmcgPyAwIDogbWlzY18xLkpzb25TaXplLk51bGxdO1xuICAgICAgICB9XG4gICAgICAgIC8vIENoZWNrIGFuZCBjYWxjdWxhdGUgc2l6ZXMgZm9yIGJhc2ljIChhbmQgc29tZSBzcGVjaWFsKSB0eXBlc1xuICAgICAgICBjb25zdCB0eXBlT2ZWYWx1ZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0eXBlT2ZWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBbZmFsc2UsIDBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZU9mVmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2tpcFNpemluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICgwLCBtaXNjXzEuY2FsY3VsYXRlU3RyaW5nU2l6ZSkodmFsdWUpICsgbWlzY18xLkpzb25TaXplLlF1b3RlICogMixcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZU9mVmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSBpbnN0YW5jZW9mIEJvb2xlYW4pIHtcbiAgICAgICAgICAgICAgICBpZiAoc2tpcFNpemluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3RydWUsIDBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gICAgICAgICAgICAgICAgcmV0dXJuIFt0cnVlLCB2YWx1ZSA9PSB0cnVlID8gbWlzY18xLkpzb25TaXplLlRydWUgOiBtaXNjXzEuSnNvblNpemUuRmFsc2VdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZU9mVmFsdWUgPT09ICdudW1iZXInIHx8IHZhbHVlIGluc3RhbmNlb2YgTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNraXBTaXppbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFt0cnVlLCAwXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFt0cnVlLCAoMCwgbWlzY18xLmNhbGN1bGF0ZU51bWJlclNpemUpKHZhbHVlKV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2tpcFNpemluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3RydWUsIDBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAvLyBOb3RlOiBJbnZhbGlkIGRhdGVzIHdpbGwgc2VyaWFsaXplIHRvIG51bGxcbiAgICAgICAgICAgICAgICAgICAgaXNOYU4odmFsdWUuZ2V0RGF0ZSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBtaXNjXzEuSnNvblNpemUuTnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBtaXNjXzEuSnNvblNpemUuRGF0ZSArIG1pc2NfMS5Kc29uU2l6ZS5RdW90ZSAqIDIsXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoXykge1xuICAgICAgICAgICAgcmV0dXJuIFtmYWxzZSwgMF07XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgb2JqZWN0IGlzIG5vdCBwbGFpbiBhbmQgY2Fubm90IGJlIHNlcmlhbGl6ZWQgcHJvcGVybHksXG4gICAgICAgIC8vIHN0b3AgaGVyZSBhbmQgcmV0dXJuIGZhbHNlIGZvciBzZXJpYWxpemF0aW9uXG4gICAgICAgIGlmICghKDAsIG1pc2NfMS5pc1BsYWluT2JqZWN0KSh2YWx1ZSkgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gW2ZhbHNlLCAwXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDaXJjdWxhciBvYmplY3QgZGV0ZWN0aW9uIChoYW5kbGluZylcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNhbWUgb2JqZWN0IGFscmVhZHkgZXhpc3RzXG4gICAgICAgIGlmIChzZWVuT2JqZWN0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gW2ZhbHNlLCAwXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBBZGQgbmV3IG9iamVjdCB0byB0aGUgc2VlbiBvYmplY3RzIHNldFxuICAgICAgICAvLyBPbmx5IHRoZSBwbGFpbiBvYmplY3RzIHNob3VsZCBiZSBhZGRlZCAoUHJpbWl0aXZlIHR5cGVzIGFyZSBza2lwcGVkKVxuICAgICAgICBzZWVuT2JqZWN0cy5hZGQodmFsdWUpO1xuICAgICAgICAvLyBDb250aW51ZSBvYmplY3QgZGVjb21wb3NpdGlvblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5yZWR1Y2UoKHN1bSwgW2tleSwgbmVzdGVkVmFsdWVdLCBpZHgsIGFycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBwcm9jZXNzIG5leHQgbmVzdGVkIG9iamVjdCBvciBwcmltaXRpdmUgdHlwZVxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICAgICAgICAgICAgICAgIGxldCBbdmFsaWQsIHNpemVdID0gZ2V0SnNvblNlcmlhbGl6YWJsZUluZm8obmVzdGVkVmFsdWUsIHNraXBTaXppbmcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pTT04gdmFsaWRhdGlvbiBkaWQgbm90IHBhc3MuIFZhbGlkYXRpb24gcHJvY2VzcyBzdG9wcGVkLicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIENpcmN1bGFyIG9iamVjdCBkZXRlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgLy8gT25jZSBhIGNoaWxkIG5vZGUgaXMgdmlzaXRlZCBhbmQgcHJvY2Vzc2VkIHJlbW92ZSBpdCBmcm9tIHRoZSBzZXQuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgd2lsbCBwcmV2ZW50IGZhbHNlIHBvc2l0aXZlcyB3aXRoIHRoZSBzYW1lIGFkamFjZW50IG9iamVjdHMuXG4gICAgICAgICAgICAgICAgICAgIHNlZW5PYmplY3RzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChza2lwU2l6aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBPYmplY3RzIHdpbGwgaGF2ZSBiZSBzZXJpYWxpemVkIHdpdGggXCJrZXlcIjogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZXJlZm9yZSB3ZSBpbmNsdWRlIHRoZSBrZXkgaW4gdGhlIGNhbGN1bGF0aW9uIGhlcmVcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5U2l6ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIDoga2V5Lmxlbmd0aCArIG1pc2NfMS5Kc29uU2l6ZS5Db21tYSArIG1pc2NfMS5Kc29uU2l6ZS5Db2xvbiAqIDI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IGlkeCA8IGFyci5sZW5ndGggLSAxID8gbWlzY18xLkpzb25TaXplLkNvbW1hIDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bSArIGtleVNpemUgKyBzaXplICsgc2VwYXJhdG9yO1xuICAgICAgICAgICAgICAgIH0sIFxuICAgICAgICAgICAgICAgIC8vIFN0YXJ0cyBhdCAyIGJlY2F1c2UgdGhlIHNlcmlhbGl6ZWQgSlNPTiBzdHJpbmcgZGF0YSAocGxhaW4gdGV4dClcbiAgICAgICAgICAgICAgICAvLyB3aWxsIG1pbmltYWxseSBjb250YWluIHt9L1tdXG4gICAgICAgICAgICAgICAgc2tpcFNpemluZyA/IDAgOiBtaXNjXzEuSnNvblNpemUuV3JhcHBlciAqIDIpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoXykge1xuICAgICAgICAgICAgcmV0dXJuIFtmYWxzZSwgMF07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGdldEpzb25TZXJpYWxpemFibGVJbmZvKGpzT2JqZWN0LCBza2lwU2l6aW5nUHJvY2Vzcyk7XG59XG5leHBvcnRzLnZhbGlkYXRlSnNvbkFuZEdldFNpemUgPSB2YWxpZGF0ZUpzb25BbmRHZXRTaXplO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9anNvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/json.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/logging.js": -/*!******************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/logging.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createModuleLogger = exports.createProjectLogger = void 0;\nconst debug_1 = __importDefault(__webpack_require__(/*! debug */ \"./node_modules/debug/src/browser.js\"));\nconst globalLogger = (0, debug_1.default)('metamask');\n/**\n * Creates a logger via the `debug` library whose log messages will be tagged\n * using the name of your project. By default, such messages will be\n * suppressed, but you can reveal them by setting the `DEBUG` environment\n * variable to `metamask:<projectName>`. You can also set this variable to\n * `metamask:*` if you want to see log messages from all MetaMask projects that\n * are also using this function to create their loggers.\n *\n * @param projectName - The name of your project. This should be the name of\n * your NPM package if you're developing one.\n * @returns An instance of `debug`.\n */\nfunction createProjectLogger(projectName) {\n return globalLogger.extend(projectName);\n}\nexports.createProjectLogger = createProjectLogger;\n/**\n * Creates a logger via the `debug` library which is derived from the logger for\n * the whole project whose log messages will be tagged using the name of your\n * module. By default, such messages will be suppressed, but you can reveal them\n * by setting the `DEBUG` environment variable to\n * `metamask:<projectName>:<moduleName>`. You can also set this variable to\n * `metamask:<projectName>:*` if you want to see log messages from the project,\n * or `metamask:*` if you want to see log messages from all MetaMask projects.\n *\n * @param projectLogger - The logger created via {@link createProjectLogger}.\n * @param moduleName - The name of your module. You could use the name of the\n * file where you're using this logger or some other name.\n * @returns An instance of `debug`.\n */\nfunction createModuleLogger(projectLogger, moduleName) {\n return projectLogger.extend(moduleName);\n}\nexports.createModuleLogger = createModuleLogger;\n//# sourceMappingURL=logging.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvbG9nZ2luZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQixHQUFHLDJCQUEyQjtBQUN4RCxnQ0FBZ0MsbUJBQU8sQ0FBQyxrREFBTztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsMEJBQTBCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbWV0YW1hc2svdXRpbHMvZGlzdC9sb2dnaW5nLmpzP2YzMDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZU1vZHVsZUxvZ2dlciA9IGV4cG9ydHMuY3JlYXRlUHJvamVjdExvZ2dlciA9IHZvaWQgMDtcbmNvbnN0IGRlYnVnXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcImRlYnVnXCIpKTtcbmNvbnN0IGdsb2JhbExvZ2dlciA9ICgwLCBkZWJ1Z18xLmRlZmF1bHQpKCdtZXRhbWFzaycpO1xuLyoqXG4gKiBDcmVhdGVzIGEgbG9nZ2VyIHZpYSB0aGUgYGRlYnVnYCBsaWJyYXJ5IHdob3NlIGxvZyBtZXNzYWdlcyB3aWxsIGJlIHRhZ2dlZFxuICogdXNpbmcgdGhlIG5hbWUgb2YgeW91ciBwcm9qZWN0LiBCeSBkZWZhdWx0LCBzdWNoIG1lc3NhZ2VzIHdpbGwgYmVcbiAqIHN1cHByZXNzZWQsIGJ1dCB5b3UgY2FuIHJldmVhbCB0aGVtIGJ5IHNldHRpbmcgdGhlIGBERUJVR2AgZW52aXJvbm1lbnRcbiAqIHZhcmlhYmxlIHRvIGBtZXRhbWFzazo8cHJvamVjdE5hbWU+YC4gWW91IGNhbiBhbHNvIHNldCB0aGlzIHZhcmlhYmxlIHRvXG4gKiBgbWV0YW1hc2s6KmAgaWYgeW91IHdhbnQgdG8gc2VlIGxvZyBtZXNzYWdlcyBmcm9tIGFsbCBNZXRhTWFzayBwcm9qZWN0cyB0aGF0XG4gKiBhcmUgYWxzbyB1c2luZyB0aGlzIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGVpciBsb2dnZXJzLlxuICpcbiAqIEBwYXJhbSBwcm9qZWN0TmFtZSAtIFRoZSBuYW1lIG9mIHlvdXIgcHJvamVjdC4gVGhpcyBzaG91bGQgYmUgdGhlIG5hbWUgb2ZcbiAqIHlvdXIgTlBNIHBhY2thZ2UgaWYgeW91J3JlIGRldmVsb3Bpbmcgb25lLlxuICogQHJldHVybnMgQW4gaW5zdGFuY2Ugb2YgYGRlYnVnYC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlUHJvamVjdExvZ2dlcihwcm9qZWN0TmFtZSkge1xuICAgIHJldHVybiBnbG9iYWxMb2dnZXIuZXh0ZW5kKHByb2plY3ROYW1lKTtcbn1cbmV4cG9ydHMuY3JlYXRlUHJvamVjdExvZ2dlciA9IGNyZWF0ZVByb2plY3RMb2dnZXI7XG4vKipcbiAqIENyZWF0ZXMgYSBsb2dnZXIgdmlhIHRoZSBgZGVidWdgIGxpYnJhcnkgd2hpY2ggaXMgZGVyaXZlZCBmcm9tIHRoZSBsb2dnZXIgZm9yXG4gKiB0aGUgd2hvbGUgcHJvamVjdCB3aG9zZSBsb2cgbWVzc2FnZXMgd2lsbCBiZSB0YWdnZWQgdXNpbmcgdGhlIG5hbWUgb2YgeW91clxuICogbW9kdWxlLiBCeSBkZWZhdWx0LCBzdWNoIG1lc3NhZ2VzIHdpbGwgYmUgc3VwcHJlc3NlZCwgYnV0IHlvdSBjYW4gcmV2ZWFsIHRoZW1cbiAqIGJ5IHNldHRpbmcgdGhlIGBERUJVR2AgZW52aXJvbm1lbnQgdmFyaWFibGUgdG9cbiAqIGBtZXRhbWFzazo8cHJvamVjdE5hbWU+Ojxtb2R1bGVOYW1lPmAuIFlvdSBjYW4gYWxzbyBzZXQgdGhpcyB2YXJpYWJsZSB0b1xuICogYG1ldGFtYXNrOjxwcm9qZWN0TmFtZT46KmAgaWYgeW91IHdhbnQgdG8gc2VlIGxvZyBtZXNzYWdlcyBmcm9tIHRoZSBwcm9qZWN0LFxuICogb3IgYG1ldGFtYXNrOipgIGlmIHlvdSB3YW50IHRvIHNlZSBsb2cgbWVzc2FnZXMgZnJvbSBhbGwgTWV0YU1hc2sgcHJvamVjdHMuXG4gKlxuICogQHBhcmFtIHByb2plY3RMb2dnZXIgLSBUaGUgbG9nZ2VyIGNyZWF0ZWQgdmlhIHtAbGluayBjcmVhdGVQcm9qZWN0TG9nZ2VyfS5cbiAqIEBwYXJhbSBtb2R1bGVOYW1lIC0gVGhlIG5hbWUgb2YgeW91ciBtb2R1bGUuIFlvdSBjb3VsZCB1c2UgdGhlIG5hbWUgb2YgdGhlXG4gKiBmaWxlIHdoZXJlIHlvdSdyZSB1c2luZyB0aGlzIGxvZ2dlciBvciBzb21lIG90aGVyIG5hbWUuXG4gKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiBgZGVidWdgLlxuICovXG5mdW5jdGlvbiBjcmVhdGVNb2R1bGVMb2dnZXIocHJvamVjdExvZ2dlciwgbW9kdWxlTmFtZSkge1xuICAgIHJldHVybiBwcm9qZWN0TG9nZ2VyLmV4dGVuZChtb2R1bGVOYW1lKTtcbn1cbmV4cG9ydHMuY3JlYXRlTW9kdWxlTG9nZ2VyID0gY3JlYXRlTW9kdWxlTG9nZ2VyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nZ2luZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/logging.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/misc.js": -/*!***************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/misc.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n//\n// Types\n//\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.calculateNumberSize = exports.calculateStringSize = exports.isASCII = exports.isPlainObject = exports.ESCAPE_CHARACTERS_REGEXP = exports.JsonSize = exports.hasProperty = exports.isObject = exports.isNullOrUndefined = exports.isNonEmptyArray = void 0;\n//\n// Type Guards\n//\n/**\n * A {@link NonEmptyArray} type guard.\n *\n * @template Element - The non-empty array member type.\n * @param value - The value to check.\n * @returns Whether the value is a non-empty array.\n */\nfunction isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\nexports.isNonEmptyArray = isNonEmptyArray;\n/**\n * Type guard for \"nullishness\".\n *\n * @param value - Any value.\n * @returns `true` if the value is null or undefined, `false` otherwise.\n */\nfunction isNullOrUndefined(value) {\n return value === null || value === undefined;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n/**\n * A type guard for {@link RuntimeObject}.\n *\n * @param value - The value to check.\n * @returns Whether the specified value has a runtime type of `object` and is\n * neither `null` nor an `Array`.\n */\nfunction isObject(value) {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\nexports.isObject = isObject;\n//\n// Other utility functions\n//\n/**\n * A type guard for ensuring an object has a property.\n *\n * @param objectToCheck - The object to check.\n * @param name - The property name to check for.\n * @returns Whether the specified object has an own property with the specified\n * name, regardless of whether it is enumerable or not.\n */\nconst hasProperty = (objectToCheck, name) => Object.hasOwnProperty.call(objectToCheck, name);\nexports.hasProperty = hasProperty;\n/**\n * Predefined sizes (in Bytes) of specific parts of JSON structure.\n */\nvar JsonSize;\n(function (JsonSize) {\n JsonSize[JsonSize[\"Null\"] = 4] = \"Null\";\n JsonSize[JsonSize[\"Comma\"] = 1] = \"Comma\";\n JsonSize[JsonSize[\"Wrapper\"] = 1] = \"Wrapper\";\n JsonSize[JsonSize[\"True\"] = 4] = \"True\";\n JsonSize[JsonSize[\"False\"] = 5] = \"False\";\n JsonSize[JsonSize[\"Quote\"] = 1] = \"Quote\";\n JsonSize[JsonSize[\"Colon\"] = 1] = \"Colon\";\n // eslint-disable-next-line @typescript-eslint/no-shadow\n JsonSize[JsonSize[\"Date\"] = 24] = \"Date\";\n})(JsonSize = exports.JsonSize || (exports.JsonSize = {}));\n/**\n * Regular expression with pattern matching for (special) escaped characters.\n */\nexports.ESCAPE_CHARACTERS_REGEXP = /\"|\\\\|\\n|\\r|\\t/gu;\n/**\n * Check if the value is plain object.\n *\n * @param value - Value to be checked.\n * @returns True if an object is the plain JavaScript object,\n * false if the object is not plain (e.g. function).\n */\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n let proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n }\n catch (_) {\n return false;\n }\n}\nexports.isPlainObject = isPlainObject;\n/**\n * Check if character is ASCII.\n *\n * @param character - Character.\n * @returns True if a character code is ASCII, false if not.\n */\nfunction isASCII(character) {\n return character.charCodeAt(0) <= 127;\n}\nexports.isASCII = isASCII;\n/**\n * Calculate string size.\n *\n * @param value - String value to calculate size.\n * @returns Number of bytes used to store whole string value.\n */\nfunction calculateStringSize(value) {\n var _a;\n const size = value.split('').reduce((total, character) => {\n if (isASCII(character)) {\n return total + 1;\n }\n return total + 2;\n }, 0);\n // Also detect characters that need backslash escape\n return size + ((_a = value.match(exports.ESCAPE_CHARACTERS_REGEXP)) !== null && _a !== void 0 ? _a : []).length;\n}\nexports.calculateStringSize = calculateStringSize;\n/**\n * Calculate size of a number ofter JSON serialization.\n *\n * @param value - Number value to calculate size.\n * @returns Number of bytes used to store whole number in JSON.\n */\nfunction calculateNumberSize(value) {\n return value.toString().length;\n}\nexports.calculateNumberSize = calculateNumberSize;\n//# sourceMappingURL=misc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvbWlzYy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkIsR0FBRywyQkFBMkIsR0FBRyxlQUFlLEdBQUcscUJBQXFCLEdBQUcsZ0NBQWdDLEdBQUcsZ0JBQWdCLEdBQUcsbUJBQW1CLEdBQUcsZ0JBQWdCLEdBQUcseUJBQXlCLEdBQUcsdUJBQXVCO0FBQ3hQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxxQkFBcUI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxxQkFBcUIsb0JBQW9CO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtDQUFrQyxnQkFBZ0IsS0FBSztBQUN4RDtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9kaXN0L21pc2MuanM/OTRjNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vXG4vLyBUeXBlc1xuLy9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY2FsY3VsYXRlTnVtYmVyU2l6ZSA9IGV4cG9ydHMuY2FsY3VsYXRlU3RyaW5nU2l6ZSA9IGV4cG9ydHMuaXNBU0NJSSA9IGV4cG9ydHMuaXNQbGFpbk9iamVjdCA9IGV4cG9ydHMuRVNDQVBFX0NIQVJBQ1RFUlNfUkVHRVhQID0gZXhwb3J0cy5Kc29uU2l6ZSA9IGV4cG9ydHMuaGFzUHJvcGVydHkgPSBleHBvcnRzLmlzT2JqZWN0ID0gZXhwb3J0cy5pc051bGxPclVuZGVmaW5lZCA9IGV4cG9ydHMuaXNOb25FbXB0eUFycmF5ID0gdm9pZCAwO1xuLy9cbi8vIFR5cGUgR3VhcmRzXG4vL1xuLyoqXG4gKiBBIHtAbGluayBOb25FbXB0eUFycmF5fSB0eXBlIGd1YXJkLlxuICpcbiAqIEB0ZW1wbGF0ZSBFbGVtZW50IC0gVGhlIG5vbi1lbXB0eSBhcnJheSBtZW1iZXIgdHlwZS5cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgbm9uLWVtcHR5IGFycmF5LlxuICovXG5mdW5jdGlvbiBpc05vbkVtcHR5QXJyYXkodmFsdWUpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMDtcbn1cbmV4cG9ydHMuaXNOb25FbXB0eUFycmF5ID0gaXNOb25FbXB0eUFycmF5O1xuLyoqXG4gKiBUeXBlIGd1YXJkIGZvciBcIm51bGxpc2huZXNzXCIuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gQW55IHZhbHVlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmZ1bmN0aW9uIGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XG59XG5leHBvcnRzLmlzTnVsbE9yVW5kZWZpbmVkID0gaXNOdWxsT3JVbmRlZmluZWQ7XG4vKipcbiAqIEEgdHlwZSBndWFyZCBmb3Ige0BsaW5rIFJ1bnRpbWVPYmplY3R9LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHNwZWNpZmllZCB2YWx1ZSBoYXMgYSBydW50aW1lIHR5cGUgb2YgYG9iamVjdGAgYW5kIGlzXG4gKiBuZWl0aGVyIGBudWxsYCBub3IgYW4gYEFycmF5YC5cbiAqL1xuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgICByZXR1cm4gQm9vbGVhbih2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5leHBvcnRzLmlzT2JqZWN0ID0gaXNPYmplY3Q7XG4vL1xuLy8gT3RoZXIgdXRpbGl0eSBmdW5jdGlvbnNcbi8vXG4vKipcbiAqIEEgdHlwZSBndWFyZCBmb3IgZW5zdXJpbmcgYW4gb2JqZWN0IGhhcyBhIHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBvYmplY3RUb0NoZWNrIC0gVGhlIG9iamVjdCB0byBjaGVjay5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgdG8gY2hlY2sgZm9yLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgc3BlY2lmaWVkIG9iamVjdCBoYXMgYW4gb3duIHByb3BlcnR5IHdpdGggdGhlIHNwZWNpZmllZFxuICogbmFtZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGVudW1lcmFibGUgb3Igbm90LlxuICovXG5jb25zdCBoYXNQcm9wZXJ0eSA9IChvYmplY3RUb0NoZWNrLCBuYW1lKSA9PiBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3RUb0NoZWNrLCBuYW1lKTtcbmV4cG9ydHMuaGFzUHJvcGVydHkgPSBoYXNQcm9wZXJ0eTtcbi8qKlxuICogUHJlZGVmaW5lZCBzaXplcyAoaW4gQnl0ZXMpIG9mIHNwZWNpZmljIHBhcnRzIG9mIEpTT04gc3RydWN0dXJlLlxuICovXG52YXIgSnNvblNpemU7XG4oZnVuY3Rpb24gKEpzb25TaXplKSB7XG4gICAgSnNvblNpemVbSnNvblNpemVbXCJOdWxsXCJdID0gNF0gPSBcIk51bGxcIjtcbiAgICBKc29uU2l6ZVtKc29uU2l6ZVtcIkNvbW1hXCJdID0gMV0gPSBcIkNvbW1hXCI7XG4gICAgSnNvblNpemVbSnNvblNpemVbXCJXcmFwcGVyXCJdID0gMV0gPSBcIldyYXBwZXJcIjtcbiAgICBKc29uU2l6ZVtKc29uU2l6ZVtcIlRydWVcIl0gPSA0XSA9IFwiVHJ1ZVwiO1xuICAgIEpzb25TaXplW0pzb25TaXplW1wiRmFsc2VcIl0gPSA1XSA9IFwiRmFsc2VcIjtcbiAgICBKc29uU2l6ZVtKc29uU2l6ZVtcIlF1b3RlXCJdID0gMV0gPSBcIlF1b3RlXCI7XG4gICAgSnNvblNpemVbSnNvblNpemVbXCJDb2xvblwiXSA9IDFdID0gXCJDb2xvblwiO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XG4gICAgSnNvblNpemVbSnNvblNpemVbXCJEYXRlXCJdID0gMjRdID0gXCJEYXRlXCI7XG59KShKc29uU2l6ZSA9IGV4cG9ydHMuSnNvblNpemUgfHwgKGV4cG9ydHMuSnNvblNpemUgPSB7fSkpO1xuLyoqXG4gKiBSZWd1bGFyIGV4cHJlc3Npb24gd2l0aCBwYXR0ZXJuIG1hdGNoaW5nIGZvciAoc3BlY2lhbCkgZXNjYXBlZCBjaGFyYWN0ZXJzLlxuICovXG5leHBvcnRzLkVTQ0FQRV9DSEFSQUNURVJTX1JFR0VYUCA9IC9cInxcXFxcfFxcbnxcXHJ8XFx0L2d1O1xuLyoqXG4gKiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgcGxhaW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIGJlIGNoZWNrZWQuXG4gKiBAcmV0dXJucyBUcnVlIGlmIGFuIG9iamVjdCBpcyB0aGUgcGxhaW4gSmF2YVNjcmlwdCBvYmplY3QsXG4gKiBmYWxzZSBpZiB0aGUgb2JqZWN0IGlzIG5vdCBwbGFpbiAoZS5nLiBmdW5jdGlvbikuXG4gKi9cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JyB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGxldCBwcm90byA9IHZhbHVlO1xuICAgICAgICB3aGlsZSAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpID09PSBwcm90bztcbiAgICB9XG4gICAgY2F0Y2ggKF8pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmV4cG9ydHMuaXNQbGFpbk9iamVjdCA9IGlzUGxhaW5PYmplY3Q7XG4vKipcbiAqIENoZWNrIGlmIGNoYXJhY3RlciBpcyBBU0NJSS5cbiAqXG4gKiBAcGFyYW0gY2hhcmFjdGVyIC0gQ2hhcmFjdGVyLlxuICogQHJldHVybnMgVHJ1ZSBpZiBhIGNoYXJhY3RlciBjb2RlIGlzIEFTQ0lJLCBmYWxzZSBpZiBub3QuXG4gKi9cbmZ1bmN0aW9uIGlzQVNDSUkoY2hhcmFjdGVyKSB7XG4gICAgcmV0dXJuIGNoYXJhY3Rlci5jaGFyQ29kZUF0KDApIDw9IDEyNztcbn1cbmV4cG9ydHMuaXNBU0NJSSA9IGlzQVNDSUk7XG4vKipcbiAqIENhbGN1bGF0ZSBzdHJpbmcgc2l6ZS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBTdHJpbmcgdmFsdWUgdG8gY2FsY3VsYXRlIHNpemUuXG4gKiBAcmV0dXJucyBOdW1iZXIgb2YgYnl0ZXMgdXNlZCB0byBzdG9yZSB3aG9sZSBzdHJpbmcgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZVN0cmluZ1NpemUodmFsdWUpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3Qgc2l6ZSA9IHZhbHVlLnNwbGl0KCcnKS5yZWR1Y2UoKHRvdGFsLCBjaGFyYWN0ZXIpID0+IHtcbiAgICAgICAgaWYgKGlzQVNDSUkoY2hhcmFjdGVyKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG90YWwgKyAyO1xuICAgIH0sIDApO1xuICAgIC8vIEFsc28gZGV0ZWN0IGNoYXJhY3RlcnMgdGhhdCBuZWVkIGJhY2tzbGFzaCBlc2NhcGVcbiAgICByZXR1cm4gc2l6ZSArICgoX2EgPSB2YWx1ZS5tYXRjaChleHBvcnRzLkVTQ0FQRV9DSEFSQUNURVJTX1JFR0VYUCkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdKS5sZW5ndGg7XG59XG5leHBvcnRzLmNhbGN1bGF0ZVN0cmluZ1NpemUgPSBjYWxjdWxhdGVTdHJpbmdTaXplO1xuLyoqXG4gKiBDYWxjdWxhdGUgc2l6ZSBvZiBhIG51bWJlciBvZnRlciBKU09OIHNlcmlhbGl6YXRpb24uXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gTnVtYmVyIHZhbHVlIHRvIGNhbGN1bGF0ZSBzaXplLlxuICogQHJldHVybnMgTnVtYmVyIG9mIGJ5dGVzIHVzZWQgdG8gc3RvcmUgd2hvbGUgbnVtYmVyIGluIEpTT04uXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZU51bWJlclNpemUodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS5sZW5ndGg7XG59XG5leHBvcnRzLmNhbGN1bGF0ZU51bWJlclNpemUgPSBjYWxjdWxhdGVOdW1iZXJTaXplO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWlzYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/misc.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/number.js": -/*!*****************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/number.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hexToBigInt = exports.hexToNumber = exports.bigIntToHex = exports.numberToHex = void 0;\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"./node_modules/@metamask/utils/dist/hex.js\");\n/**\n * Convert a number to a hexadecimal string. This verifies that the number is a\n * non-negative safe integer.\n *\n * To convert a `bigint` to a hexadecimal string instead, use\n * {@link bigIntToHex}.\n *\n * @example\n * ```typescript\n * numberToHex(0); // '0x0'\n * numberToHex(1); // '0x1'\n * numberToHex(16); // '0x10'\n * ```\n * @param value - The number to convert to a hexadecimal string.\n * @returns The hexadecimal string, with the \"0x\"-prefix.\n * @throws If the number is not a non-negative safe integer.\n */\nconst numberToHex = (value) => {\n (0, assert_1.assert)(typeof value === 'number', 'Value must be a number.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative number.');\n (0, assert_1.assert)(Number.isSafeInteger(value), 'Value is not a safe integer. Use `bigIntToHex` instead.');\n return (0, hex_1.add0x)(value.toString(16));\n};\nexports.numberToHex = numberToHex;\n/**\n * Convert a `bigint` to a hexadecimal string. This verifies that the `bigint`\n * is a non-negative integer.\n *\n * To convert a number to a hexadecimal string instead, use {@link numberToHex}.\n *\n * @example\n * ```typescript\n * bigIntToHex(0n); // '0x0'\n * bigIntToHex(1n); // '0x1'\n * bigIntToHex(16n); // '0x10'\n * ```\n * @param value - The `bigint` to convert to a hexadecimal string.\n * @returns The hexadecimal string, with the \"0x\"-prefix.\n * @throws If the `bigint` is not a non-negative integer.\n */\nconst bigIntToHex = (value) => {\n (0, assert_1.assert)(typeof value === 'bigint', 'Value must be a bigint.');\n (0, assert_1.assert)(value >= 0, 'Value must be a non-negative bigint.');\n return (0, hex_1.add0x)(value.toString(16));\n};\nexports.bigIntToHex = bigIntToHex;\n/**\n * Convert a hexadecimal string to a number. This verifies that the string is a\n * valid hex string, and that the resulting number is a safe integer. Both\n * \"0x\"-prefixed and unprefixed strings are supported.\n *\n * To convert a hexadecimal string to a `bigint` instead, use\n * {@link hexToBigInt}.\n *\n * @example\n * ```typescript\n * hexToNumber('0x0'); // 0\n * hexToNumber('0x1'); // 1\n * hexToNumber('0x10'); // 16\n * ```\n * @param value - The hexadecimal string to convert to a number.\n * @returns The number.\n * @throws If the value is not a valid hexadecimal string, or if the resulting\n * number is not a safe integer.\n */\nconst hexToNumber = (value) => {\n (0, hex_1.assertIsHexString)(value);\n // `parseInt` accepts values without the \"0x\"-prefix, whereas `Number` does\n // not. Using this is slightly faster than `Number(add0x(value))`.\n const numberValue = parseInt(value, 16);\n (0, assert_1.assert)(Number.isSafeInteger(numberValue), 'Value is not a safe integer. Use `hexToBigInt` instead.');\n return numberValue;\n};\nexports.hexToNumber = hexToNumber;\n/**\n * Convert a hexadecimal string to a `bigint`. This verifies that the string is\n * a valid hex string. Both \"0x\"-prefixed and unprefixed strings are supported.\n *\n * To convert a hexadecimal string to a number instead, use {@link hexToNumber}.\n *\n * @example\n * ```typescript\n * hexToBigInt('0x0'); // 0n\n * hexToBigInt('0x1'); // 1n\n * hexToBigInt('0x10'); // 16n\n * ```\n * @param value - The hexadecimal string to convert to a `bigint`.\n * @returns The `bigint`.\n * @throws If the value is not a valid hexadecimal string.\n */\nconst hexToBigInt = (value) => {\n (0, hex_1.assertIsHexString)(value);\n // The `BigInt` constructor requires the \"0x\"-prefix to parse a hex string.\n return BigInt((0, hex_1.add0x)(value));\n};\nexports.hexToBigInt = hexToBigInt;\n//# sourceMappingURL=number.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvbnVtYmVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQixHQUFHLG1CQUFtQixHQUFHLG1CQUFtQixHQUFHLG1CQUFtQjtBQUNyRixpQkFBaUIsbUJBQU8sQ0FBQywrREFBVTtBQUNuQyxjQUFjLG1CQUFPLENBQUMseURBQU87QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksa0JBQWtCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsa0JBQWtCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksa0JBQWtCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2Qix1QkFBdUI7QUFDdkIsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsa0JBQWtCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2Qix1QkFBdUI7QUFDdkIsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbWV0YW1hc2svdXRpbHMvZGlzdC9udW1iZXIuanM/ZGMwOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaGV4VG9CaWdJbnQgPSBleHBvcnRzLmhleFRvTnVtYmVyID0gZXhwb3J0cy5iaWdJbnRUb0hleCA9IGV4cG9ydHMubnVtYmVyVG9IZXggPSB2b2lkIDA7XG5jb25zdCBhc3NlcnRfMSA9IHJlcXVpcmUoXCIuL2Fzc2VydFwiKTtcbmNvbnN0IGhleF8xID0gcmVxdWlyZShcIi4vaGV4XCIpO1xuLyoqXG4gKiBDb252ZXJ0IGEgbnVtYmVyIHRvIGEgaGV4YWRlY2ltYWwgc3RyaW5nLiBUaGlzIHZlcmlmaWVzIHRoYXQgdGhlIG51bWJlciBpcyBhXG4gKiBub24tbmVnYXRpdmUgc2FmZSBpbnRlZ2VyLlxuICpcbiAqIFRvIGNvbnZlcnQgYSBgYmlnaW50YCB0byBhIGhleGFkZWNpbWFsIHN0cmluZyBpbnN0ZWFkLCB1c2VcbiAqIHtAbGluayBiaWdJbnRUb0hleH0uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG51bWJlclRvSGV4KDApOyAvLyAnMHgwJ1xuICogbnVtYmVyVG9IZXgoMSk7IC8vICcweDEnXG4gKiBudW1iZXJUb0hleCgxNik7IC8vICcweDEwJ1xuICogYGBgXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgbnVtYmVyIHRvIGNvbnZlcnQgdG8gYSBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgaGV4YWRlY2ltYWwgc3RyaW5nLCB3aXRoIHRoZSBcIjB4XCItcHJlZml4LlxuICogQHRocm93cyBJZiB0aGUgbnVtYmVyIGlzIG5vdCBhIG5vbi1uZWdhdGl2ZSBzYWZlIGludGVnZXIuXG4gKi9cbmNvbnN0IG51bWJlclRvSGV4ID0gKHZhbHVlKSA9PiB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJywgJ1ZhbHVlIG11c3QgYmUgYSBudW1iZXIuJyk7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydCkodmFsdWUgPj0gMCwgJ1ZhbHVlIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLicpO1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnQpKE51bWJlci5pc1NhZmVJbnRlZ2VyKHZhbHVlKSwgJ1ZhbHVlIGlzIG5vdCBhIHNhZmUgaW50ZWdlci4gVXNlIGBiaWdJbnRUb0hleGAgaW5zdGVhZC4nKTtcbiAgICByZXR1cm4gKDAsIGhleF8xLmFkZDB4KSh2YWx1ZS50b1N0cmluZygxNikpO1xufTtcbmV4cG9ydHMubnVtYmVyVG9IZXggPSBudW1iZXJUb0hleDtcbi8qKlxuICogQ29udmVydCBhIGBiaWdpbnRgIHRvIGEgaGV4YWRlY2ltYWwgc3RyaW5nLiBUaGlzIHZlcmlmaWVzIHRoYXQgdGhlIGBiaWdpbnRgXG4gKiBpcyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLlxuICpcbiAqIFRvIGNvbnZlcnQgYSBudW1iZXIgdG8gYSBoZXhhZGVjaW1hbCBzdHJpbmcgaW5zdGVhZCwgdXNlIHtAbGluayBudW1iZXJUb0hleH0uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGJpZ0ludFRvSGV4KDBuKTsgLy8gJzB4MCdcbiAqIGJpZ0ludFRvSGV4KDFuKTsgLy8gJzB4MSdcbiAqIGJpZ0ludFRvSGV4KDE2bik7IC8vICcweDEwJ1xuICogYGBgXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgYGJpZ2ludGAgdG8gY29udmVydCB0byBhIGhleGFkZWNpbWFsIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBoZXhhZGVjaW1hbCBzdHJpbmcsIHdpdGggdGhlIFwiMHhcIi1wcmVmaXguXG4gKiBAdGhyb3dzIElmIHRoZSBgYmlnaW50YCBpcyBub3QgYSBub24tbmVnYXRpdmUgaW50ZWdlci5cbiAqL1xuY29uc3QgYmlnSW50VG9IZXggPSAodmFsdWUpID0+IHtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KSh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnLCAnVmFsdWUgbXVzdCBiZSBhIGJpZ2ludC4nKTtcbiAgICAoMCwgYXNzZXJ0XzEuYXNzZXJ0KSh2YWx1ZSA+PSAwLCAnVmFsdWUgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBiaWdpbnQuJyk7XG4gICAgcmV0dXJuICgwLCBoZXhfMS5hZGQweCkodmFsdWUudG9TdHJpbmcoMTYpKTtcbn07XG5leHBvcnRzLmJpZ0ludFRvSGV4ID0gYmlnSW50VG9IZXg7XG4vKipcbiAqIENvbnZlcnQgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gYSBudW1iZXIuIFRoaXMgdmVyaWZpZXMgdGhhdCB0aGUgc3RyaW5nIGlzIGFcbiAqIHZhbGlkIGhleCBzdHJpbmcsIGFuZCB0aGF0IHRoZSByZXN1bHRpbmcgbnVtYmVyIGlzIGEgc2FmZSBpbnRlZ2VyLiBCb3RoXG4gKiBcIjB4XCItcHJlZml4ZWQgYW5kIHVucHJlZml4ZWQgc3RyaW5ncyBhcmUgc3VwcG9ydGVkLlxuICpcbiAqIFRvIGNvbnZlcnQgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gYSBgYmlnaW50YCBpbnN0ZWFkLCB1c2VcbiAqIHtAbGluayBoZXhUb0JpZ0ludH0uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhleFRvTnVtYmVyKCcweDAnKTsgLy8gMFxuICogaGV4VG9OdW1iZXIoJzB4MScpOyAvLyAxXG4gKiBoZXhUb051bWJlcignMHgxMCcpOyAvLyAxNlxuICogYGBgXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGNvbnZlcnQgdG8gYSBudW1iZXIuXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyLlxuICogQHRocm93cyBJZiB0aGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgaGV4YWRlY2ltYWwgc3RyaW5nLCBvciBpZiB0aGUgcmVzdWx0aW5nXG4gKiBudW1iZXIgaXMgbm90IGEgc2FmZSBpbnRlZ2VyLlxuICovXG5jb25zdCBoZXhUb051bWJlciA9ICh2YWx1ZSkgPT4ge1xuICAgICgwLCBoZXhfMS5hc3NlcnRJc0hleFN0cmluZykodmFsdWUpO1xuICAgIC8vIGBwYXJzZUludGAgYWNjZXB0cyB2YWx1ZXMgd2l0aG91dCB0aGUgXCIweFwiLXByZWZpeCwgd2hlcmVhcyBgTnVtYmVyYCBkb2VzXG4gICAgLy8gbm90LiBVc2luZyB0aGlzIGlzIHNsaWdodGx5IGZhc3RlciB0aGFuIGBOdW1iZXIoYWRkMHgodmFsdWUpKWAuXG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSBwYXJzZUludCh2YWx1ZSwgMTYpO1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnQpKE51bWJlci5pc1NhZmVJbnRlZ2VyKG51bWJlclZhbHVlKSwgJ1ZhbHVlIGlzIG5vdCBhIHNhZmUgaW50ZWdlci4gVXNlIGBoZXhUb0JpZ0ludGAgaW5zdGVhZC4nKTtcbiAgICByZXR1cm4gbnVtYmVyVmFsdWU7XG59O1xuZXhwb3J0cy5oZXhUb051bWJlciA9IGhleFRvTnVtYmVyO1xuLyoqXG4gKiBDb252ZXJ0IGEgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGEgYGJpZ2ludGAuIFRoaXMgdmVyaWZpZXMgdGhhdCB0aGUgc3RyaW5nIGlzXG4gKiBhIHZhbGlkIGhleCBzdHJpbmcuIEJvdGggXCIweFwiLXByZWZpeGVkIGFuZCB1bnByZWZpeGVkIHN0cmluZ3MgYXJlIHN1cHBvcnRlZC5cbiAqXG4gKiBUbyBjb252ZXJ0IGEgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGEgbnVtYmVyIGluc3RlYWQsIHVzZSB7QGxpbmsgaGV4VG9OdW1iZXJ9LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBoZXhUb0JpZ0ludCgnMHgwJyk7IC8vIDBuXG4gKiBoZXhUb0JpZ0ludCgnMHgxJyk7IC8vIDFuXG4gKiBoZXhUb0JpZ0ludCgnMHgxMCcpOyAvLyAxNm5cbiAqIGBgYFxuICogQHBhcmFtIHZhbHVlIC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byBjb252ZXJ0IHRvIGEgYGJpZ2ludGAuXG4gKiBAcmV0dXJucyBUaGUgYGJpZ2ludGAuXG4gKiBAdGhyb3dzIElmIHRoZSB2YWx1ZSBpcyBub3QgYSB2YWxpZCBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gKi9cbmNvbnN0IGhleFRvQmlnSW50ID0gKHZhbHVlKSA9PiB7XG4gICAgKDAsIGhleF8xLmFzc2VydElzSGV4U3RyaW5nKSh2YWx1ZSk7XG4gICAgLy8gVGhlIGBCaWdJbnRgIGNvbnN0cnVjdG9yIHJlcXVpcmVzIHRoZSBcIjB4XCItcHJlZml4IHRvIHBhcnNlIGEgaGV4IHN0cmluZy5cbiAgICByZXR1cm4gQmlnSW50KCgwLCBoZXhfMS5hZGQweCkodmFsdWUpKTtcbn07XG5leHBvcnRzLmhleFRvQmlnSW50ID0gaGV4VG9CaWdJbnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1udW1iZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/number.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/opaque.js": -/*!*****************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/opaque.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=opaque.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3Qvb3BhcXVlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbWV0YW1hc2svdXRpbHMvZGlzdC9vcGFxdWUuanM/ODU2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wYXF1ZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/opaque.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/time.js": -/*!***************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/time.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.timeSince = exports.inMilliseconds = exports.Duration = void 0;\n/**\n * Common duration constants, in milliseconds.\n */\nvar Duration;\n(function (Duration) {\n /**\n * A millisecond.\n */\n Duration[Duration[\"Millisecond\"] = 1] = \"Millisecond\";\n /**\n * A second, in milliseconds.\n */\n Duration[Duration[\"Second\"] = 1000] = \"Second\";\n /**\n * A minute, in milliseconds.\n */\n Duration[Duration[\"Minute\"] = 60000] = \"Minute\";\n /**\n * An hour, in milliseconds.\n */\n Duration[Duration[\"Hour\"] = 3600000] = \"Hour\";\n /**\n * A day, in milliseconds.\n */\n Duration[Duration[\"Day\"] = 86400000] = \"Day\";\n /**\n * A week, in milliseconds.\n */\n Duration[Duration[\"Week\"] = 604800000] = \"Week\";\n /**\n * A year, in milliseconds.\n */\n Duration[Duration[\"Year\"] = 31536000000] = \"Year\";\n})(Duration = exports.Duration || (exports.Duration = {}));\nconst isNonNegativeInteger = (number) => Number.isInteger(number) && number >= 0;\nconst assertIsNonNegativeInteger = (number, name) => {\n if (!isNonNegativeInteger(number)) {\n throw new Error(`\"${name}\" must be a non-negative integer. Received: \"${number}\".`);\n }\n};\n/**\n * Calculates the millisecond value of the specified number of units of time.\n *\n * @param count - The number of units of time.\n * @param duration - The unit of time to count.\n * @returns The count multiplied by the specified duration.\n */\nfunction inMilliseconds(count, duration) {\n assertIsNonNegativeInteger(count, 'count');\n return count * duration;\n}\nexports.inMilliseconds = inMilliseconds;\n/**\n * Gets the milliseconds since a particular Unix epoch timestamp.\n *\n * @param timestamp - A Unix millisecond timestamp.\n * @returns The number of milliseconds elapsed since the specified timestamp.\n */\nfunction timeSince(timestamp) {\n assertIsNonNegativeInteger(timestamp, 'timestamp');\n return Date.now() - timestamp;\n}\nexports.timeSince = timeSince;\n//# sourceMappingURL=time.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvdGltZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsR0FBRyxzQkFBc0IsR0FBRyxnQkFBZ0I7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxrQ0FBa0MsZ0JBQWdCLEtBQUs7QUFDeEQ7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLEtBQUssK0NBQStDLE9BQU87QUFDdkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9kaXN0L3RpbWUuanM/ZWQwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudGltZVNpbmNlID0gZXhwb3J0cy5pbk1pbGxpc2Vjb25kcyA9IGV4cG9ydHMuRHVyYXRpb24gPSB2b2lkIDA7XG4vKipcbiAqIENvbW1vbiBkdXJhdGlvbiBjb25zdGFudHMsIGluIG1pbGxpc2Vjb25kcy5cbiAqL1xudmFyIER1cmF0aW9uO1xuKGZ1bmN0aW9uIChEdXJhdGlvbikge1xuICAgIC8qKlxuICAgICAqIEEgbWlsbGlzZWNvbmQuXG4gICAgICovXG4gICAgRHVyYXRpb25bRHVyYXRpb25bXCJNaWxsaXNlY29uZFwiXSA9IDFdID0gXCJNaWxsaXNlY29uZFwiO1xuICAgIC8qKlxuICAgICAqIEEgc2Vjb25kLCBpbiBtaWxsaXNlY29uZHMuXG4gICAgICovXG4gICAgRHVyYXRpb25bRHVyYXRpb25bXCJTZWNvbmRcIl0gPSAxMDAwXSA9IFwiU2Vjb25kXCI7XG4gICAgLyoqXG4gICAgICogQSBtaW51dGUsIGluIG1pbGxpc2Vjb25kcy5cbiAgICAgKi9cbiAgICBEdXJhdGlvbltEdXJhdGlvbltcIk1pbnV0ZVwiXSA9IDYwMDAwXSA9IFwiTWludXRlXCI7XG4gICAgLyoqXG4gICAgICogQW4gaG91ciwgaW4gbWlsbGlzZWNvbmRzLlxuICAgICAqL1xuICAgIER1cmF0aW9uW0R1cmF0aW9uW1wiSG91clwiXSA9IDM2MDAwMDBdID0gXCJIb3VyXCI7XG4gICAgLyoqXG4gICAgICogQSBkYXksIGluIG1pbGxpc2Vjb25kcy5cbiAgICAgKi9cbiAgICBEdXJhdGlvbltEdXJhdGlvbltcIkRheVwiXSA9IDg2NDAwMDAwXSA9IFwiRGF5XCI7XG4gICAgLyoqXG4gICAgICogQSB3ZWVrLCBpbiBtaWxsaXNlY29uZHMuXG4gICAgICovXG4gICAgRHVyYXRpb25bRHVyYXRpb25bXCJXZWVrXCJdID0gNjA0ODAwMDAwXSA9IFwiV2Vla1wiO1xuICAgIC8qKlxuICAgICAqIEEgeWVhciwgaW4gbWlsbGlzZWNvbmRzLlxuICAgICAqL1xuICAgIER1cmF0aW9uW0R1cmF0aW9uW1wiWWVhclwiXSA9IDMxNTM2MDAwMDAwXSA9IFwiWWVhclwiO1xufSkoRHVyYXRpb24gPSBleHBvcnRzLkR1cmF0aW9uIHx8IChleHBvcnRzLkR1cmF0aW9uID0ge30pKTtcbmNvbnN0IGlzTm9uTmVnYXRpdmVJbnRlZ2VyID0gKG51bWJlcikgPT4gTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpICYmIG51bWJlciA+PSAwO1xuY29uc3QgYXNzZXJ0SXNOb25OZWdhdGl2ZUludGVnZXIgPSAobnVtYmVyLCBuYW1lKSA9PiB7XG4gICAgaWYgKCFpc05vbk5lZ2F0aXZlSW50ZWdlcihudW1iZXIpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCIke25hbWV9XCIgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLiBSZWNlaXZlZDogXCIke251bWJlcn1cIi5gKTtcbiAgICB9XG59O1xuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBtaWxsaXNlY29uZCB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB1bml0cyBvZiB0aW1lLlxuICpcbiAqIEBwYXJhbSBjb3VudCAtIFRoZSBudW1iZXIgb2YgdW5pdHMgb2YgdGltZS5cbiAqIEBwYXJhbSBkdXJhdGlvbiAtIFRoZSB1bml0IG9mIHRpbWUgdG8gY291bnQuXG4gKiBAcmV0dXJucyBUaGUgY291bnQgbXVsdGlwbGllZCBieSB0aGUgc3BlY2lmaWVkIGR1cmF0aW9uLlxuICovXG5mdW5jdGlvbiBpbk1pbGxpc2Vjb25kcyhjb3VudCwgZHVyYXRpb24pIHtcbiAgICBhc3NlcnRJc05vbk5lZ2F0aXZlSW50ZWdlcihjb3VudCwgJ2NvdW50Jyk7XG4gICAgcmV0dXJuIGNvdW50ICogZHVyYXRpb247XG59XG5leHBvcnRzLmluTWlsbGlzZWNvbmRzID0gaW5NaWxsaXNlY29uZHM7XG4vKipcbiAqIEdldHMgdGhlIG1pbGxpc2Vjb25kcyBzaW5jZSBhIHBhcnRpY3VsYXIgVW5peCBlcG9jaCB0aW1lc3RhbXAuXG4gKlxuICogQHBhcmFtIHRpbWVzdGFtcCAtIEEgVW5peCBtaWxsaXNlY29uZCB0aW1lc3RhbXAuXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBlbGFwc2VkIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wLlxuICovXG5mdW5jdGlvbiB0aW1lU2luY2UodGltZXN0YW1wKSB7XG4gICAgYXNzZXJ0SXNOb25OZWdhdGl2ZUludGVnZXIodGltZXN0YW1wLCAndGltZXN0YW1wJyk7XG4gICAgcmV0dXJuIERhdGUubm93KCkgLSB0aW1lc3RhbXA7XG59XG5leHBvcnRzLnRpbWVTaW5jZSA9IHRpbWVTaW5jZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRpbWUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/time.js\n")); - -/***/ }), - -/***/ "./node_modules/@metamask/utils/dist/versions.js": -/*!*******************************************************!*\ - !*** ./node_modules/@metamask/utils/dist/versions.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.satisfiesVersionRange = exports.gtRange = exports.gtVersion = exports.assertIsSemVerRange = exports.assertIsSemVerVersion = exports.isValidSemVerRange = exports.isValidSemVerVersion = exports.VersionRangeStruct = exports.VersionStruct = void 0;\nconst semver_1 = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\nconst superstruct_1 = __webpack_require__(/*! superstruct */ \"./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\");\nconst assert_1 = __webpack_require__(/*! ./assert */ \"./node_modules/@metamask/utils/dist/assert.js\");\n/**\n * A struct for validating a version string.\n */\nexports.VersionStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'Version', (value) => {\n if ((0, semver_1.valid)(value) === null) {\n return `Expected SemVer version, got \"${value}\"`;\n }\n return true;\n});\nexports.VersionRangeStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'Version range', (value) => {\n if ((0, semver_1.validRange)(value) === null) {\n return `Expected SemVer range, got \"${value}\"`;\n }\n return true;\n});\n/**\n * Checks whether a SemVer version is valid.\n *\n * @param version - A potential version.\n * @returns `true` if the version is valid, and `false` otherwise.\n */\nfunction isValidSemVerVersion(version) {\n return (0, superstruct_1.is)(version, exports.VersionStruct);\n}\nexports.isValidSemVerVersion = isValidSemVerVersion;\n/**\n * Checks whether a SemVer version range is valid.\n *\n * @param versionRange - A potential version range.\n * @returns `true` if the version range is valid, and `false` otherwise.\n */\nfunction isValidSemVerRange(versionRange) {\n return (0, superstruct_1.is)(versionRange, exports.VersionRangeStruct);\n}\nexports.isValidSemVerRange = isValidSemVerRange;\n/**\n * Asserts that a value is a valid concrete SemVer version.\n *\n * @param version - A potential SemVer concrete version.\n */\nfunction assertIsSemVerVersion(version) {\n (0, assert_1.assertStruct)(version, exports.VersionStruct);\n}\nexports.assertIsSemVerVersion = assertIsSemVerVersion;\n/**\n * Asserts that a value is a valid SemVer range.\n *\n * @param range - A potential SemVer range.\n */\nfunction assertIsSemVerRange(range) {\n (0, assert_1.assertStruct)(range, exports.VersionRangeStruct);\n}\nexports.assertIsSemVerRange = assertIsSemVerRange;\n/**\n * Checks whether a SemVer version is greater than another.\n *\n * @param version1 - The left-hand version.\n * @param version2 - The right-hand version.\n * @returns `version1 > version2`.\n */\nfunction gtVersion(version1, version2) {\n return (0, semver_1.gt)(version1, version2);\n}\nexports.gtVersion = gtVersion;\n/**\n * Checks whether a SemVer version is greater than all possibilities in a range.\n *\n * @param version - A SemvVer version.\n * @param range - The range to check against.\n * @returns `version > range`.\n */\nfunction gtRange(version, range) {\n return (0, semver_1.gtr)(version, range);\n}\nexports.gtRange = gtRange;\n/**\n * Returns whether a SemVer version satisfies a SemVer range.\n *\n * @param version - The SemVer version to check.\n * @param versionRange - The SemVer version range to check against.\n * @returns Whether the version satisfied the version range.\n */\nfunction satisfiesVersionRange(version, versionRange) {\n return (0, semver_1.satisfies)(version, versionRange, {\n includePrerelease: true,\n });\n}\nexports.satisfiesVersionRange = satisfiesVersionRange;\n//# sourceMappingURL=versions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL2Rpc3QvdmVyc2lvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNkJBQTZCLEdBQUcsZUFBZSxHQUFHLGlCQUFpQixHQUFHLDJCQUEyQixHQUFHLDZCQUE2QixHQUFHLDBCQUEwQixHQUFHLDRCQUE0QixHQUFHLDBCQUEwQixHQUFHLHFCQUFxQjtBQUNsUCxpQkFBaUIsbUJBQU8sQ0FBQyw4Q0FBUTtBQUNqQyxzQkFBc0IsbUJBQU8sQ0FBQywyRkFBYTtBQUMzQyxpQkFBaUIsbUJBQU8sQ0FBQywrREFBVTtBQUNuQztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxnREFBZ0QsTUFBTTtBQUN0RDtBQUNBO0FBQ0EsQ0FBQztBQUNELDBCQUEwQjtBQUMxQjtBQUNBLDhDQUE4QyxNQUFNO0FBQ3BEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSw2QkFBNkI7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9kaXN0L3ZlcnNpb25zLmpzP2Q5ZWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNhdGlzZmllc1ZlcnNpb25SYW5nZSA9IGV4cG9ydHMuZ3RSYW5nZSA9IGV4cG9ydHMuZ3RWZXJzaW9uID0gZXhwb3J0cy5hc3NlcnRJc1NlbVZlclJhbmdlID0gZXhwb3J0cy5hc3NlcnRJc1NlbVZlclZlcnNpb24gPSBleHBvcnRzLmlzVmFsaWRTZW1WZXJSYW5nZSA9IGV4cG9ydHMuaXNWYWxpZFNlbVZlclZlcnNpb24gPSBleHBvcnRzLlZlcnNpb25SYW5nZVN0cnVjdCA9IGV4cG9ydHMuVmVyc2lvblN0cnVjdCA9IHZvaWQgMDtcbmNvbnN0IHNlbXZlcl8xID0gcmVxdWlyZShcInNlbXZlclwiKTtcbmNvbnN0IHN1cGVyc3RydWN0XzEgPSByZXF1aXJlKFwic3VwZXJzdHJ1Y3RcIik7XG5jb25zdCBhc3NlcnRfMSA9IHJlcXVpcmUoXCIuL2Fzc2VydFwiKTtcbi8qKlxuICogQSBzdHJ1Y3QgZm9yIHZhbGlkYXRpbmcgYSB2ZXJzaW9uIHN0cmluZy5cbiAqL1xuZXhwb3J0cy5WZXJzaW9uU3RydWN0ID0gKDAsIHN1cGVyc3RydWN0XzEucmVmaW5lKSgoMCwgc3VwZXJzdHJ1Y3RfMS5zdHJpbmcpKCksICdWZXJzaW9uJywgKHZhbHVlKSA9PiB7XG4gICAgaWYgKCgwLCBzZW12ZXJfMS52YWxpZCkodmFsdWUpID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBgRXhwZWN0ZWQgU2VtVmVyIHZlcnNpb24sIGdvdCBcIiR7dmFsdWV9XCJgO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn0pO1xuZXhwb3J0cy5WZXJzaW9uUmFuZ2VTdHJ1Y3QgPSAoMCwgc3VwZXJzdHJ1Y3RfMS5yZWZpbmUpKCgwLCBzdXBlcnN0cnVjdF8xLnN0cmluZykoKSwgJ1ZlcnNpb24gcmFuZ2UnLCAodmFsdWUpID0+IHtcbiAgICBpZiAoKDAsIHNlbXZlcl8xLnZhbGlkUmFuZ2UpKHZhbHVlKSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gYEV4cGVjdGVkIFNlbVZlciByYW5nZSwgZ290IFwiJHt2YWx1ZX1cImA7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufSk7XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgU2VtVmVyIHZlcnNpb24gaXMgdmFsaWQuXG4gKlxuICogQHBhcmFtIHZlcnNpb24gLSBBIHBvdGVudGlhbCB2ZXJzaW9uLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2ZXJzaW9uIGlzIHZhbGlkLCBhbmQgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRTZW1WZXJWZXJzaW9uKHZlcnNpb24pIHtcbiAgICByZXR1cm4gKDAsIHN1cGVyc3RydWN0XzEuaXMpKHZlcnNpb24sIGV4cG9ydHMuVmVyc2lvblN0cnVjdCk7XG59XG5leHBvcnRzLmlzVmFsaWRTZW1WZXJWZXJzaW9uID0gaXNWYWxpZFNlbVZlclZlcnNpb247XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgU2VtVmVyIHZlcnNpb24gcmFuZ2UgaXMgdmFsaWQuXG4gKlxuICogQHBhcmFtIHZlcnNpb25SYW5nZSAtIEEgcG90ZW50aWFsIHZlcnNpb24gcmFuZ2UuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZlcnNpb24gcmFuZ2UgaXMgdmFsaWQsIGFuZCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZnVuY3Rpb24gaXNWYWxpZFNlbVZlclJhbmdlKHZlcnNpb25SYW5nZSkge1xuICAgIHJldHVybiAoMCwgc3VwZXJzdHJ1Y3RfMS5pcykodmVyc2lvblJhbmdlLCBleHBvcnRzLlZlcnNpb25SYW5nZVN0cnVjdCk7XG59XG5leHBvcnRzLmlzVmFsaWRTZW1WZXJSYW5nZSA9IGlzVmFsaWRTZW1WZXJSYW5nZTtcbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgdmFsdWUgaXMgYSB2YWxpZCBjb25jcmV0ZSBTZW1WZXIgdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiAtIEEgcG90ZW50aWFsIFNlbVZlciBjb25jcmV0ZSB2ZXJzaW9uLlxuICovXG5mdW5jdGlvbiBhc3NlcnRJc1NlbVZlclZlcnNpb24odmVyc2lvbikge1xuICAgICgwLCBhc3NlcnRfMS5hc3NlcnRTdHJ1Y3QpKHZlcnNpb24sIGV4cG9ydHMuVmVyc2lvblN0cnVjdCk7XG59XG5leHBvcnRzLmFzc2VydElzU2VtVmVyVmVyc2lvbiA9IGFzc2VydElzU2VtVmVyVmVyc2lvbjtcbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgdmFsdWUgaXMgYSB2YWxpZCBTZW1WZXIgcmFuZ2UuXG4gKlxuICogQHBhcmFtIHJhbmdlIC0gQSBwb3RlbnRpYWwgU2VtVmVyIHJhbmdlLlxuICovXG5mdW5jdGlvbiBhc3NlcnRJc1NlbVZlclJhbmdlKHJhbmdlKSB7XG4gICAgKDAsIGFzc2VydF8xLmFzc2VydFN0cnVjdCkocmFuZ2UsIGV4cG9ydHMuVmVyc2lvblJhbmdlU3RydWN0KTtcbn1cbmV4cG9ydHMuYXNzZXJ0SXNTZW1WZXJSYW5nZSA9IGFzc2VydElzU2VtVmVyUmFuZ2U7XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgU2VtVmVyIHZlcnNpb24gaXMgZ3JlYXRlciB0aGFuIGFub3RoZXIuXG4gKlxuICogQHBhcmFtIHZlcnNpb24xIC0gVGhlIGxlZnQtaGFuZCB2ZXJzaW9uLlxuICogQHBhcmFtIHZlcnNpb24yIC0gVGhlIHJpZ2h0LWhhbmQgdmVyc2lvbi5cbiAqIEByZXR1cm5zIGB2ZXJzaW9uMSA+IHZlcnNpb24yYC5cbiAqL1xuZnVuY3Rpb24gZ3RWZXJzaW9uKHZlcnNpb24xLCB2ZXJzaW9uMikge1xuICAgIHJldHVybiAoMCwgc2VtdmVyXzEuZ3QpKHZlcnNpb24xLCB2ZXJzaW9uMik7XG59XG5leHBvcnRzLmd0VmVyc2lvbiA9IGd0VmVyc2lvbjtcbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBTZW1WZXIgdmVyc2lvbiBpcyBncmVhdGVyIHRoYW4gYWxsIHBvc3NpYmlsaXRpZXMgaW4gYSByYW5nZS5cbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiAtIEEgU2VtdlZlciB2ZXJzaW9uLlxuICogQHBhcmFtIHJhbmdlIC0gVGhlIHJhbmdlIHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcmV0dXJucyBgdmVyc2lvbiA+IHJhbmdlYC5cbiAqL1xuZnVuY3Rpb24gZ3RSYW5nZSh2ZXJzaW9uLCByYW5nZSkge1xuICAgIHJldHVybiAoMCwgc2VtdmVyXzEuZ3RyKSh2ZXJzaW9uLCByYW5nZSk7XG59XG5leHBvcnRzLmd0UmFuZ2UgPSBndFJhbmdlO1xuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgYSBTZW1WZXIgdmVyc2lvbiBzYXRpc2ZpZXMgYSBTZW1WZXIgcmFuZ2UuXG4gKlxuICogQHBhcmFtIHZlcnNpb24gLSBUaGUgU2VtVmVyIHZlcnNpb24gdG8gY2hlY2suXG4gKiBAcGFyYW0gdmVyc2lvblJhbmdlIC0gVGhlIFNlbVZlciB2ZXJzaW9uIHJhbmdlIHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB2ZXJzaW9uIHNhdGlzZmllZCB0aGUgdmVyc2lvbiByYW5nZS5cbiAqL1xuZnVuY3Rpb24gc2F0aXNmaWVzVmVyc2lvblJhbmdlKHZlcnNpb24sIHZlcnNpb25SYW5nZSkge1xuICAgIHJldHVybiAoMCwgc2VtdmVyXzEuc2F0aXNmaWVzKSh2ZXJzaW9uLCB2ZXJzaW9uUmFuZ2UsIHtcbiAgICAgICAgaW5jbHVkZVByZXJlbGVhc2U6IHRydWUsXG4gICAgfSk7XG59XG5leHBvcnRzLnNhdGlzZmllc1ZlcnNpb25SYW5nZSA9IHNhdGlzZmllc1ZlcnNpb25SYW5nZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlcnNpb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/dist/versions.js\n")); - -/***/ }), - -/***/ "./node_modules/async-mutex/lib/Mutex.js": -/*!***********************************************!*\ - !*** ./node_modules/async-mutex/lib/Mutex.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\nvar Semaphore_1 = __webpack_require__(/*! ./Semaphore */ \"./node_modules/async-mutex/lib/Semaphore.js\");\nvar Mutex = /** @class */ (function () {\n function Mutex() {\n this._semaphore = new Semaphore_1.default(1);\n }\n Mutex.prototype.acquire = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _a, releaser;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this._semaphore.acquire()];\n case 1:\n _a = _b.sent(), releaser = _a[1];\n return [2 /*return*/, releaser];\n }\n });\n });\n };\n Mutex.prototype.runExclusive = function (callback) {\n return this._semaphore.runExclusive(function () { return callback(); });\n };\n Mutex.prototype.isLocked = function () {\n return this._semaphore.isLocked();\n };\n Mutex.prototype.release = function () {\n this._semaphore.release();\n };\n return Mutex;\n}());\nexports[\"default\"] = Mutex;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXN5bmMtbXV0ZXgvbGliL011dGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGNBQWMsbUJBQU8sQ0FBQyxpREFBTztBQUM3QixrQkFBa0IsbUJBQU8sQ0FBQyxnRUFBYTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBO0FBQ0EsMERBQTBELG9CQUFvQjtBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGtCQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hc3luYy1tdXRleC9saWIvTXV0ZXguanM/ZGMyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudmFyIFNlbWFwaG9yZV8xID0gcmVxdWlyZShcIi4vU2VtYXBob3JlXCIpO1xudmFyIE11dGV4ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE11dGV4KCkge1xuICAgICAgICB0aGlzLl9zZW1hcGhvcmUgPSBuZXcgU2VtYXBob3JlXzEuZGVmYXVsdCgxKTtcbiAgICB9XG4gICAgTXV0ZXgucHJvdG90eXBlLmFjcXVpcmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0c2xpYl8xLl9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF9hLCByZWxlYXNlcjtcbiAgICAgICAgICAgIHJldHVybiB0c2xpYl8xLl9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYikge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoX2IubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gWzQgLyp5aWVsZCovLCB0aGlzLl9zZW1hcGhvcmUuYWNxdWlyZSgpXTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgX2EgPSBfYi5zZW50KCksIHJlbGVhc2VyID0gX2FbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgcmVsZWFzZXJdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIE11dGV4LnByb3RvdHlwZS5ydW5FeGNsdXNpdmUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbWFwaG9yZS5ydW5FeGNsdXNpdmUoZnVuY3Rpb24gKCkgeyByZXR1cm4gY2FsbGJhY2soKTsgfSk7XG4gICAgfTtcbiAgICBNdXRleC5wcm90b3R5cGUuaXNMb2NrZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZW1hcGhvcmUuaXNMb2NrZWQoKTtcbiAgICB9O1xuICAgIE11dGV4LnByb3RvdHlwZS5yZWxlYXNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLl9zZW1hcGhvcmUucmVsZWFzZSgpO1xuICAgIH07XG4gICAgcmV0dXJuIE11dGV4O1xufSgpKTtcbmV4cG9ydHMuZGVmYXVsdCA9IE11dGV4O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/async-mutex/lib/Mutex.js\n")); - -/***/ }), - -/***/ "./node_modules/async-mutex/lib/Semaphore.js": -/*!***************************************************!*\ - !*** ./node_modules/async-mutex/lib/Semaphore.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\nvar Semaphore = /** @class */ (function () {\n function Semaphore(_maxConcurrency) {\n this._maxConcurrency = _maxConcurrency;\n this._queue = [];\n if (_maxConcurrency <= 0) {\n throw new Error('semaphore must be initialized to a positive value');\n }\n this._value = _maxConcurrency;\n }\n Semaphore.prototype.acquire = function () {\n var _this = this;\n var locked = this.isLocked();\n var ticket = new Promise(function (r) { return _this._queue.push(r); });\n if (!locked)\n this._dispatch();\n return ticket;\n };\n Semaphore.prototype.runExclusive = function (callback) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _a, value, release;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.acquire()];\n case 1:\n _a = _b.sent(), value = _a[0], release = _a[1];\n _b.label = 2;\n case 2:\n _b.trys.push([2, , 4, 5]);\n return [4 /*yield*/, callback(value)];\n case 3: return [2 /*return*/, _b.sent()];\n case 4:\n release();\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n Semaphore.prototype.isLocked = function () {\n return this._value <= 0;\n };\n Semaphore.prototype.release = function () {\n if (this._maxConcurrency > 1) {\n throw new Error('this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead');\n }\n if (this._currentReleaser) {\n var releaser = this._currentReleaser;\n this._currentReleaser = undefined;\n releaser();\n }\n };\n Semaphore.prototype._dispatch = function () {\n var _this = this;\n var nextConsumer = this._queue.shift();\n if (!nextConsumer)\n return;\n var released = false;\n this._currentReleaser = function () {\n if (released)\n return;\n released = true;\n _this._value++;\n _this._dispatch();\n };\n nextConsumer([this._value--, this._currentReleaser]);\n };\n return Semaphore;\n}());\nexports[\"default\"] = Semaphore;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXN5bmMtbXV0ZXgvbGliL1NlbWFwaG9yZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxjQUFjLG1CQUFPLENBQUMsaURBQU87QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELDhCQUE4QjtBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGO0FBQzVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FzeW5jLW11dGV4L2xpYi9TZW1hcGhvcmUuanM/MDE0ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudmFyIFNlbWFwaG9yZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTZW1hcGhvcmUoX21heENvbmN1cnJlbmN5KSB7XG4gICAgICAgIHRoaXMuX21heENvbmN1cnJlbmN5ID0gX21heENvbmN1cnJlbmN5O1xuICAgICAgICB0aGlzLl9xdWV1ZSA9IFtdO1xuICAgICAgICBpZiAoX21heENvbmN1cnJlbmN5IDw9IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc2VtYXBob3JlIG11c3QgYmUgaW5pdGlhbGl6ZWQgdG8gYSBwb3NpdGl2ZSB2YWx1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gX21heENvbmN1cnJlbmN5O1xuICAgIH1cbiAgICBTZW1hcGhvcmUucHJvdG90eXBlLmFjcXVpcmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBsb2NrZWQgPSB0aGlzLmlzTG9ja2VkKCk7XG4gICAgICAgIHZhciB0aWNrZXQgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocikgeyByZXR1cm4gX3RoaXMuX3F1ZXVlLnB1c2gocik7IH0pO1xuICAgICAgICBpZiAoIWxvY2tlZClcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoKCk7XG4gICAgICAgIHJldHVybiB0aWNrZXQ7XG4gICAgfTtcbiAgICBTZW1hcGhvcmUucHJvdG90eXBlLnJ1bkV4Y2x1c2l2ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICByZXR1cm4gdHNsaWJfMS5fX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfYSwgdmFsdWUsIHJlbGVhc2U7XG4gICAgICAgICAgICByZXR1cm4gdHNsaWJfMS5fX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2IpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIFs0IC8qeWllbGQqLywgdGhpcy5hY3F1aXJlKCldO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICBfYSA9IF9iLnNlbnQoKSwgdmFsdWUgPSBfYVswXSwgcmVsZWFzZSA9IF9hWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgX2IubGFiZWwgPSAyO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICBfYi50cnlzLnB1c2goWzIsICwgNCwgNV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgY2FsbGJhY2sodmFsdWUpXTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiByZXR1cm4gWzIgLypyZXR1cm4qLywgX2Iuc2VudCgpXTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs3IC8qZW5kZmluYWxseSovXTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgU2VtYXBob3JlLnByb3RvdHlwZS5pc0xvY2tlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIDw9IDA7XG4gICAgfTtcbiAgICBTZW1hcGhvcmUucHJvdG90eXBlLnJlbGVhc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9tYXhDb25jdXJyZW5jeSA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBtZXRob2QgaXMgdW5hdmFpbGFiZWwgb24gc2VtYXBob3JlcyB3aXRoIGNvbmN1cnJlbmN5ID4gMTsgdXNlIHRoZSBzY29wZWQgcmVsZWFzZSByZXR1cm5lZCBieSBhY3F1aXJlIGluc3RlYWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fY3VycmVudFJlbGVhc2VyKSB7XG4gICAgICAgICAgICB2YXIgcmVsZWFzZXIgPSB0aGlzLl9jdXJyZW50UmVsZWFzZXI7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50UmVsZWFzZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZWxlYXNlcigpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTZW1hcGhvcmUucHJvdG90eXBlLl9kaXNwYXRjaCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIG5leHRDb25zdW1lciA9IHRoaXMuX3F1ZXVlLnNoaWZ0KCk7XG4gICAgICAgIGlmICghbmV4dENvbnN1bWVyKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YXIgcmVsZWFzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fY3VycmVudFJlbGVhc2VyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHJlbGVhc2VkKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHJlbGVhc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIF90aGlzLl92YWx1ZSsrO1xuICAgICAgICAgICAgX3RoaXMuX2Rpc3BhdGNoKCk7XG4gICAgICAgIH07XG4gICAgICAgIG5leHRDb25zdW1lcihbdGhpcy5fdmFsdWUtLSwgdGhpcy5fY3VycmVudFJlbGVhc2VyXSk7XG4gICAgfTtcbiAgICByZXR1cm4gU2VtYXBob3JlO1xufSgpKTtcbmV4cG9ydHMuZGVmYXVsdCA9IFNlbWFwaG9yZTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/async-mutex/lib/Semaphore.js\n")); - -/***/ }), - -/***/ "./node_modules/async-mutex/lib/index.js": -/*!***********************************************!*\ - !*** ./node_modules/async-mutex/lib/index.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.withTimeout = exports.Semaphore = exports.Mutex = void 0;\nvar Mutex_1 = __webpack_require__(/*! ./Mutex */ \"./node_modules/async-mutex/lib/Mutex.js\");\nObject.defineProperty(exports, \"Mutex\", ({ enumerable: true, get: function () { return Mutex_1.default; } }));\nvar Semaphore_1 = __webpack_require__(/*! ./Semaphore */ \"./node_modules/async-mutex/lib/Semaphore.js\");\nObject.defineProperty(exports, \"Semaphore\", ({ enumerable: true, get: function () { return Semaphore_1.default; } }));\nvar withTimeout_1 = __webpack_require__(/*! ./withTimeout */ \"./node_modules/async-mutex/lib/withTimeout.js\");\nObject.defineProperty(exports, \"withTimeout\", ({ enumerable: true, get: function () { return withTimeout_1.withTimeout; } }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXN5bmMtbXV0ZXgvbGliL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQixHQUFHLGlCQUFpQixHQUFHLGFBQWE7QUFDdkQsY0FBYyxtQkFBTyxDQUFDLHdEQUFTO0FBQy9CLHlDQUF3QyxFQUFFLHFDQUFxQywyQkFBMkIsRUFBQztBQUMzRyxrQkFBa0IsbUJBQU8sQ0FBQyxnRUFBYTtBQUN2Qyw2Q0FBNEMsRUFBRSxxQ0FBcUMsK0JBQStCLEVBQUM7QUFDbkgsb0JBQW9CLG1CQUFPLENBQUMsb0VBQWU7QUFDM0MsK0NBQThDLEVBQUUscUNBQXFDLHFDQUFxQyxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hc3luYy1tdXRleC9saWIvaW5kZXguanM/NmYxNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2l0aFRpbWVvdXQgPSBleHBvcnRzLlNlbWFwaG9yZSA9IGV4cG9ydHMuTXV0ZXggPSB2b2lkIDA7XG52YXIgTXV0ZXhfMSA9IHJlcXVpcmUoXCIuL011dGV4XCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTXV0ZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIE11dGV4XzEuZGVmYXVsdDsgfSB9KTtcbnZhciBTZW1hcGhvcmVfMSA9IHJlcXVpcmUoXCIuL1NlbWFwaG9yZVwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlNlbWFwaG9yZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gU2VtYXBob3JlXzEuZGVmYXVsdDsgfSB9KTtcbnZhciB3aXRoVGltZW91dF8xID0gcmVxdWlyZShcIi4vd2l0aFRpbWVvdXRcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ3aXRoVGltZW91dFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gd2l0aFRpbWVvdXRfMS53aXRoVGltZW91dDsgfSB9KTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/async-mutex/lib/index.js\n")); - -/***/ }), - -/***/ "./node_modules/async-mutex/lib/withTimeout.js": -/*!*****************************************************!*\ - !*** ./node_modules/async-mutex/lib/withTimeout.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.withTimeout = void 0;\nvar tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction withTimeout(sync, timeout, timeoutError) {\n var _this = this;\n if (timeoutError === void 0) { timeoutError = new Error('timeout'); }\n return {\n acquire: function () {\n return new Promise(function (resolve, reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () {\n var isTimeout, ticket, release;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isTimeout = false;\n setTimeout(function () {\n isTimeout = true;\n reject(timeoutError);\n }, timeout);\n return [4 /*yield*/, sync.acquire()];\n case 1:\n ticket = _a.sent();\n if (isTimeout) {\n release = Array.isArray(ticket) ? ticket[1] : ticket;\n release();\n }\n else {\n resolve(ticket);\n }\n return [2 /*return*/];\n }\n });\n }); });\n },\n runExclusive: function (callback) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var release, ticket;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n release = function () { return undefined; };\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 7, 8]);\n return [4 /*yield*/, this.acquire()];\n case 2:\n ticket = _a.sent();\n if (!Array.isArray(ticket)) return [3 /*break*/, 4];\n release = ticket[1];\n return [4 /*yield*/, callback(ticket[0])];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n release = ticket;\n return [4 /*yield*/, callback()];\n case 5: return [2 /*return*/, _a.sent()];\n case 6: return [3 /*break*/, 8];\n case 7:\n release();\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n });\n },\n release: function () {\n sync.release();\n },\n isLocked: function () { return sync.isLocked(); },\n };\n}\nexports.withTimeout = withTimeout;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXN5bmMtbXV0ZXgvbGliL3dpdGhUaW1lb3V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQjtBQUNuQixjQUFjLG1CQUFPLENBQUMsaURBQU87QUFDN0I7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsYUFBYSxJQUFJO0FBQ2pCLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsZ0NBQWdDLHlCQUF5QjtBQUN6RDtBQUNBO0FBQ0EsbUJBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hc3luYy1tdXRleC9saWIvd2l0aFRpbWVvdXQuanM/MDcyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2l0aFRpbWVvdXQgPSB2b2lkIDA7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG5mdW5jdGlvbiB3aXRoVGltZW91dChzeW5jLCB0aW1lb3V0LCB0aW1lb3V0RXJyb3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgIGlmICh0aW1lb3V0RXJyb3IgPT09IHZvaWQgMCkgeyB0aW1lb3V0RXJyb3IgPSBuZXcgRXJyb3IoJ3RpbWVvdXQnKTsgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGFjcXVpcmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHJldHVybiB0c2xpYl8xLl9fYXdhaXRlcihfdGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgaXNUaW1lb3V0LCB0aWNrZXQsIHJlbGVhc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRzbGliXzEuX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1RpbWVvdXQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUaW1lb3V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHRpbWVvdXRFcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgdGltZW91dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgc3luYy5hY3F1aXJlKCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpY2tldCA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNUaW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2UgPSBBcnJheS5pc0FycmF5KHRpY2tldCkgPyB0aWNrZXRbMV0gOiB0aWNrZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGlja2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTsgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJ1bkV4Y2x1c2l2ZTogZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gdHNsaWJfMS5fX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgcmVsZWFzZSwgdGlja2V0O1xuICAgICAgICAgICAgICAgIHJldHVybiB0c2xpYl8xLl9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EudHJ5cy5wdXNoKFsxLCAsIDcsIDhdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCB0aGlzLmFjcXVpcmUoKV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlja2V0ID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0aWNrZXQpKSByZXR1cm4gWzMgLypicmVhayovLCA0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxlYXNlID0gdGlja2V0WzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGNhbGxiYWNrKHRpY2tldFswXSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiByZXR1cm4gWzIgLypyZXR1cm4qLywgX2Euc2VudCgpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxlYXNlID0gdGlja2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGNhbGxiYWNrKCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiByZXR1cm4gWzIgLypyZXR1cm4qLywgX2Euc2VudCgpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNjogcmV0dXJuIFszIC8qYnJlYWsqLywgOF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNyAvKmVuZGZpbmFsbHkqL107XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDg6IHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbGVhc2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHN5bmMucmVsZWFzZSgpO1xuICAgICAgICB9LFxuICAgICAgICBpc0xvY2tlZDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc3luYy5pc0xvY2tlZCgpOyB9LFxuICAgIH07XG59XG5leHBvcnRzLndpdGhUaW1lb3V0ID0gd2l0aFRpbWVvdXQ7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/async-mutex/lib/withTimeout.js\n")); - -/***/ }), - -/***/ "./node_modules/base64-js/index.js": -/*!*****************************************!*\ - !*** ./node_modules/base64-js/index.js ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFzZTY0LWpzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFZOztBQUVaLGtCQUFrQjtBQUNsQixtQkFBbUI7QUFDbkIscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUMsU0FBUztBQUM1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxjQUFjLFNBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixTQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkNBQTJDLFVBQVU7QUFDckQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYmFzZTY0LWpzL2luZGV4LmpzPzM3NzAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmV4cG9ydHMuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcbmV4cG9ydHMudG9CeXRlQXJyYXkgPSB0b0J5dGVBcnJheVxuZXhwb3J0cy5mcm9tQnl0ZUFycmF5ID0gZnJvbUJ5dGVBcnJheVxuXG52YXIgbG9va3VwID0gW11cbnZhciByZXZMb29rdXAgPSBbXVxudmFyIEFyciA9IHR5cGVvZiBVaW50OEFycmF5ICE9PSAndW5kZWZpbmVkJyA/IFVpbnQ4QXJyYXkgOiBBcnJheVxuXG52YXIgY29kZSA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJ1xuZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNvZGUubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgbG9va3VwW2ldID0gY29kZVtpXVxuICByZXZMb29rdXBbY29kZS5jaGFyQ29kZUF0KGkpXSA9IGlcbn1cblxuLy8gU3VwcG9ydCBkZWNvZGluZyBVUkwtc2FmZSBiYXNlNjQgc3RyaW5ncywgYXMgTm9kZS5qcyBkb2VzLlxuLy8gU2VlOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYXNlNjQjVVJMX2FwcGxpY2F0aW9uc1xucmV2TG9va3VwWyctJy5jaGFyQ29kZUF0KDApXSA9IDYyXG5yZXZMb29rdXBbJ18nLmNoYXJDb2RlQXQoMCldID0gNjNcblxuZnVuY3Rpb24gZ2V0TGVucyAoYjY0KSB7XG4gIHZhciBsZW4gPSBiNjQubGVuZ3RoXG5cbiAgaWYgKGxlbiAlIDQgPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0JylcbiAgfVxuXG4gIC8vIFRyaW0gb2ZmIGV4dHJhIGJ5dGVzIGFmdGVyIHBsYWNlaG9sZGVyIGJ5dGVzIGFyZSBmb3VuZFxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWF0Z2FtbWl0L2Jhc2U2NC1qcy9pc3N1ZXMvNDJcbiAgdmFyIHZhbGlkTGVuID0gYjY0LmluZGV4T2YoJz0nKVxuICBpZiAodmFsaWRMZW4gPT09IC0xKSB2YWxpZExlbiA9IGxlblxuXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSB2YWxpZExlbiA9PT0gbGVuXG4gICAgPyAwXG4gICAgOiA0IC0gKHZhbGlkTGVuICUgNClcblxuICByZXR1cm4gW3ZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW5dXG59XG5cbi8vIGJhc2U2NCBpcyA0LzMgKyB1cCB0byB0d28gY2hhcmFjdGVycyBvZiB0aGUgb3JpZ2luYWwgZGF0YVxuZnVuY3Rpb24gYnl0ZUxlbmd0aCAoYjY0KSB7XG4gIHZhciBsZW5zID0gZ2V0TGVucyhiNjQpXG4gIHZhciB2YWxpZExlbiA9IGxlbnNbMF1cbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IGxlbnNbMV1cbiAgcmV0dXJuICgodmFsaWRMZW4gKyBwbGFjZUhvbGRlcnNMZW4pICogMyAvIDQpIC0gcGxhY2VIb2xkZXJzTGVuXG59XG5cbmZ1bmN0aW9uIF9ieXRlTGVuZ3RoIChiNjQsIHZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW4pIHtcbiAgcmV0dXJuICgodmFsaWRMZW4gKyBwbGFjZUhvbGRlcnNMZW4pICogMyAvIDQpIC0gcGxhY2VIb2xkZXJzTGVuXG59XG5cbmZ1bmN0aW9uIHRvQnl0ZUFycmF5IChiNjQpIHtcbiAgdmFyIHRtcFxuICB2YXIgbGVucyA9IGdldExlbnMoYjY0KVxuICB2YXIgdmFsaWRMZW4gPSBsZW5zWzBdXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSBsZW5zWzFdXG5cbiAgdmFyIGFyciA9IG5ldyBBcnIoX2J5dGVMZW5ndGgoYjY0LCB2YWxpZExlbiwgcGxhY2VIb2xkZXJzTGVuKSlcblxuICB2YXIgY3VyQnl0ZSA9IDBcblxuICAvLyBpZiB0aGVyZSBhcmUgcGxhY2Vob2xkZXJzLCBvbmx5IGdldCB1cCB0byB0aGUgbGFzdCBjb21wbGV0ZSA0IGNoYXJzXG4gIHZhciBsZW4gPSBwbGFjZUhvbGRlcnNMZW4gPiAwXG4gICAgPyB2YWxpZExlbiAtIDRcbiAgICA6IHZhbGlkTGVuXG5cbiAgdmFyIGlcbiAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgdG1wID1cbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDE4KSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAxKV0gPDwgMTIpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDIpXSA8PCA2KSB8XG4gICAgICByZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDMpXVxuICAgIGFycltjdXJCeXRlKytdID0gKHRtcCA+PiAxNikgJiAweEZGXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxuICB9XG5cbiAgaWYgKHBsYWNlSG9sZGVyc0xlbiA9PT0gMikge1xuICAgIHRtcCA9XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyKSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAxKV0gPj4gNClcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcbiAgfVxuXG4gIGlmIChwbGFjZUhvbGRlcnNMZW4gPT09IDEpIHtcbiAgICB0bXAgPVxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpKV0gPDwgMTApIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCA0KSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAyKV0gPj4gMilcbiAgICBhcnJbY3VyQnl0ZSsrXSA9ICh0bXAgPj4gOCkgJiAweEZGXG4gICAgYXJyW2N1ckJ5dGUrK10gPSB0bXAgJiAweEZGXG4gIH1cblxuICByZXR1cm4gYXJyXG59XG5cbmZ1bmN0aW9uIHRyaXBsZXRUb0Jhc2U2NCAobnVtKSB7XG4gIHJldHVybiBsb29rdXBbbnVtID4+IDE4ICYgMHgzRl0gK1xuICAgIGxvb2t1cFtudW0gPj4gMTIgJiAweDNGXSArXG4gICAgbG9va3VwW251bSA+PiA2ICYgMHgzRl0gK1xuICAgIGxvb2t1cFtudW0gJiAweDNGXVxufVxuXG5mdW5jdGlvbiBlbmNvZGVDaHVuayAodWludDgsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHRtcFxuICB2YXIgb3V0cHV0ID0gW11cbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IDMpIHtcbiAgICB0bXAgPVxuICAgICAgKCh1aW50OFtpXSA8PCAxNikgJiAweEZGMDAwMCkgK1xuICAgICAgKCh1aW50OFtpICsgMV0gPDwgOCkgJiAweEZGMDApICtcbiAgICAgICh1aW50OFtpICsgMl0gJiAweEZGKVxuICAgIG91dHB1dC5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0bXApKVxuICB9XG4gIHJldHVybiBvdXRwdXQuam9pbignJylcbn1cblxuZnVuY3Rpb24gZnJvbUJ5dGVBcnJheSAodWludDgpIHtcbiAgdmFyIHRtcFxuICB2YXIgbGVuID0gdWludDgubGVuZ3RoXG4gIHZhciBleHRyYUJ5dGVzID0gbGVuICUgMyAvLyBpZiB3ZSBoYXZlIDEgYnl0ZSBsZWZ0LCBwYWQgMiBieXRlc1xuICB2YXIgcGFydHMgPSBbXVxuICB2YXIgbWF4Q2h1bmtMZW5ndGggPSAxNjM4MyAvLyBtdXN0IGJlIG11bHRpcGxlIG9mIDNcblxuICAvLyBnbyB0aHJvdWdoIHRoZSBhcnJheSBldmVyeSB0aHJlZSBieXRlcywgd2UnbGwgZGVhbCB3aXRoIHRyYWlsaW5nIHN0dWZmIGxhdGVyXG4gIGZvciAodmFyIGkgPSAwLCBsZW4yID0gbGVuIC0gZXh0cmFCeXRlczsgaSA8IGxlbjI7IGkgKz0gbWF4Q2h1bmtMZW5ndGgpIHtcbiAgICBwYXJ0cy5wdXNoKGVuY29kZUNodW5rKHVpbnQ4LCBpLCAoaSArIG1heENodW5rTGVuZ3RoKSA+IGxlbjIgPyBsZW4yIDogKGkgKyBtYXhDaHVua0xlbmd0aCkpKVxuICB9XG5cbiAgLy8gcGFkIHRoZSBlbmQgd2l0aCB6ZXJvcywgYnV0IG1ha2Ugc3VyZSB0byBub3QgZm9yZ2V0IHRoZSBleHRyYSBieXRlc1xuICBpZiAoZXh0cmFCeXRlcyA9PT0gMSkge1xuICAgIHRtcCA9IHVpbnQ4W2xlbiAtIDFdXG4gICAgcGFydHMucHVzaChcbiAgICAgIGxvb2t1cFt0bXAgPj4gMl0gK1xuICAgICAgbG9va3VwWyh0bXAgPDwgNCkgJiAweDNGXSArXG4gICAgICAnPT0nXG4gICAgKVxuICB9IGVsc2UgaWYgKGV4dHJhQnl0ZXMgPT09IDIpIHtcbiAgICB0bXAgPSAodWludDhbbGVuIC0gMl0gPDwgOCkgKyB1aW50OFtsZW4gLSAxXVxuICAgIHBhcnRzLnB1c2goXG4gICAgICBsb29rdXBbdG1wID4+IDEwXSArXG4gICAgICBsb29rdXBbKHRtcCA+PiA0KSAmIDB4M0ZdICtcbiAgICAgIGxvb2t1cFsodG1wIDw8IDIpICYgMHgzRl0gK1xuICAgICAgJz0nXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJycpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/base64-js/index.js\n")); - -/***/ }), - -/***/ "./node_modules/bind-decorator/index.js": -/*!**********************************************!*\ - !*** ./node_modules/bind-decorator/index.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar constants;\n(function (constants) {\n constants.typeOfFunction = 'function';\n constants.boolTrue = true;\n})(constants || (constants = {}));\nfunction bind(target, propertyKey, descriptor) {\n if (!descriptor || (typeof descriptor.value !== constants.typeOfFunction)) {\n throw new TypeError(\"Only methods can be decorated with @bind. <\" + propertyKey + \"> is not a method!\");\n }\n return {\n configurable: constants.boolTrue,\n get: function () {\n var bound = descriptor.value.bind(this);\n // Credits to https://github.com/andreypopp/autobind-decorator for memoizing the result of bind against a symbol on the instance.\n Object.defineProperty(this, propertyKey, {\n value: bound,\n configurable: constants.boolTrue,\n writable: constants.boolTrue\n });\n return bound;\n }\n };\n}\nexports.bind = bind;\nexports[\"default\"] = bind;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLDhCQUE4QjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWixrQkFBZSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanM/MzhkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb25zdGFudHM7XG4oZnVuY3Rpb24gKGNvbnN0YW50cykge1xuICAgIGNvbnN0YW50cy50eXBlT2ZGdW5jdGlvbiA9ICdmdW5jdGlvbic7XG4gICAgY29uc3RhbnRzLmJvb2xUcnVlID0gdHJ1ZTtcbn0pKGNvbnN0YW50cyB8fCAoY29uc3RhbnRzID0ge30pKTtcbmZ1bmN0aW9uIGJpbmQodGFyZ2V0LCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcikge1xuICAgIGlmICghZGVzY3JpcHRvciB8fCAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgIT09IGNvbnN0YW50cy50eXBlT2ZGdW5jdGlvbikpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9ubHkgbWV0aG9kcyBjYW4gYmUgZGVjb3JhdGVkIHdpdGggQGJpbmQuIDxcIiArIHByb3BlcnR5S2V5ICsgXCI+IGlzIG5vdCBhIG1ldGhvZCFcIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogY29uc3RhbnRzLmJvb2xUcnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBib3VuZCA9IGRlc2NyaXB0b3IudmFsdWUuYmluZCh0aGlzKTtcbiAgICAgICAgICAgIC8vIENyZWRpdHMgdG8gaHR0cHM6Ly9naXRodWIuY29tL2FuZHJleXBvcHAvYXV0b2JpbmQtZGVjb3JhdG9yIGZvciBtZW1vaXppbmcgdGhlIHJlc3VsdCBvZiBiaW5kIGFnYWluc3QgYSBzeW1ib2wgb24gdGhlIGluc3RhbmNlLlxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGJvdW5kLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogY29uc3RhbnRzLmJvb2xUcnVlLFxuICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBjb25zdGFudHMuYm9vbFRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGJvdW5kO1xuICAgICAgICB9XG4gICAgfTtcbn1cbmV4cG9ydHMuYmluZCA9IGJpbmQ7XG5leHBvcnRzLmRlZmF1bHQgPSBiaW5kO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bind-decorator/index.js\n")); - -/***/ }), - -/***/ "./node_modules/bn.js/lib/bn.js": -/*!**************************************!*\ - !*** ./node_modules/bn.js/lib/bn.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\n(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = (__webpack_require__(/*! buffer */ \"?f4e8\").Buffer);\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsaUJBQWlCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwrQkFBK0IsaUJBQWlCO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtCQUErQixpQkFBaUI7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsU0FBUztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFELFdBQVc7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0Isb0JBQW9CO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxXQUFXO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsT0FBTztBQUMzQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLE9BQU87QUFD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QTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsY0FBYztBQUNwQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLFFBQVE7QUFDaEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxrQ0FBa0MsUUFBUTtBQUMxQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxrQ0FBa0MsUUFBUTtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDhCQUE4QixtQ0FBbUM7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsOEJBQThCLG1DQUFtQztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDhCQUE4QixtQ0FBbUM7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEIsbUNBQW1DO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QiwwQkFBMEI7QUFDbEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0JBQW9CLGdDQUFnQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0NBQWtDLFFBQVE7QUFDMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07O0FBRU47QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsWUFBWTtBQUNoQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLGtCQUFrQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGdCQUFnQjtBQUNwQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLG9CQUFvQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGdCQUFnQjtBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCQUE2QixRQUFRO0FBQ3JDO0FBQ0EsOEJBQThCLFFBQVE7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRSxNQUE2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzP2ZkODgiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcbiAgJ3VzZSBzdHJpY3QnO1xuXG4gIC8vIFV0aWxzXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcbiAgICBpZiAoIXZhbCkgdGhyb3cgbmV3IEVycm9yKG1zZyB8fCAnQXNzZXJ0aW9uIGZhaWxlZCcpO1xuICB9XG5cbiAgLy8gQ291bGQgdXNlIGBpbmhlcml0c2AgbW9kdWxlLCBidXQgZG9uJ3Qgd2FudCB0byBtb3ZlIGZyb20gc2luZ2xlIGZpbGVcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xuICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yO1xuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XG4gICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKTtcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XG4gIH1cblxuICAvLyBCTlxuXG4gIGZ1bmN0aW9uIEJOIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcbiAgICAgIHJldHVybiBudW1iZXI7XG4gICAgfVxuXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG4gICAgdGhpcy53b3JkcyA9IG51bGw7XG4gICAgdGhpcy5sZW5ndGggPSAwO1xuXG4gICAgLy8gUmVkdWN0aW9uIGNvbnRleHRcbiAgICB0aGlzLnJlZCA9IG51bGw7XG5cbiAgICBpZiAobnVtYmVyICE9PSBudWxsKSB7XG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XG4gICAgICAgIGJhc2UgPSAxMDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faW5pdChudW1iZXIgfHwgMCwgYmFzZSB8fCAxMCwgZW5kaWFuIHx8ICdiZScpO1xuICAgIH1cbiAgfVxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xuICB9IGVsc2Uge1xuICAgIGV4cG9ydHMuQk4gPSBCTjtcbiAgfVxuXG4gIEJOLkJOID0gQk47XG4gIEJOLndvcmRTaXplID0gMjY7XG5cbiAgdmFyIEJ1ZmZlcjtcbiAgdHJ5IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5CdWZmZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBCdWZmZXIgPSB3aW5kb3cuQnVmZmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICBCdWZmZXIgPSByZXF1aXJlKCdidWZmZXInKS5CdWZmZXI7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gIH1cblxuICBCTi5pc0JOID0gZnVuY3Rpb24gaXNCTiAobnVtKSB7XG4gICAgaWYgKG51bSBpbnN0YW5jZW9mIEJOKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXG4gICAgICBudW0uY29uc3RydWN0b3Iud29yZFNpemUgPT09IEJOLndvcmRTaXplICYmIEFycmF5LmlzQXJyYXkobnVtLndvcmRzKTtcbiAgfTtcblxuICBCTi5tYXggPSBmdW5jdGlvbiBtYXggKGxlZnQsIHJpZ2h0KSB7XG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA+IDApIHJldHVybiBsZWZ0O1xuICAgIHJldHVybiByaWdodDtcbiAgfTtcblxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA8IDApIHJldHVybiBsZWZ0O1xuICAgIHJldHVybiByaWdodDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuX2luaXROdW1iZXIobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuX2luaXRBcnJheShudW1iZXIsIGJhc2UsIGVuZGlhbik7XG4gICAgfVxuXG4gICAgaWYgKGJhc2UgPT09ICdoZXgnKSB7XG4gICAgICBiYXNlID0gMTY7XG4gICAgfVxuICAgIGFzc2VydChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KTtcblxuICAgIG51bWJlciA9IG51bWJlci50b1N0cmluZygpLnJlcGxhY2UoL1xccysvZywgJycpO1xuICAgIHZhciBzdGFydCA9IDA7XG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XG4gICAgICBzdGFydCsrO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHN0YXJ0IDwgbnVtYmVyLmxlbmd0aCkge1xuICAgICAgaWYgKGJhc2UgPT09IDE2KSB7XG4gICAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQsIGVuZGlhbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9wYXJzZUJhc2UobnVtYmVyLCBiYXNlLCBzdGFydCk7XG4gICAgICAgIGlmIChlbmRpYW4gPT09ICdsZScpIHtcbiAgICAgICAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl9pbml0TnVtYmVyID0gZnVuY3Rpb24gX2luaXROdW1iZXIgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgaWYgKG51bWJlciA8IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xuICAgICAgbnVtYmVyID0gLW51bWJlcjtcbiAgICB9XG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xuICAgICAgdGhpcy53b3JkcyA9IFtudW1iZXIgJiAweDNmZmZmZmZdO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xuICAgICAgdGhpcy53b3JkcyA9IFtcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxuICAgICAgXTtcbiAgICAgIHRoaXMubGVuZ3RoID0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcbiAgICAgIHRoaXMud29yZHMgPSBbXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXG4gICAgICAgIDFcbiAgICAgIF07XG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XG4gICAgfVxuXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xuXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xuICAgIC8vIFBlcmhhcHMgYSBVaW50OEFycmF5XG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xuICAgICAgdGhpcy53b3JkcyA9IFswXTtcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKG51bWJlci5sZW5ndGggLyAzKTtcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xuICAgIH1cblxuICAgIHZhciBqLCB3O1xuICAgIHZhciBvZmYgPSAwO1xuICAgIGlmIChlbmRpYW4gPT09ICdiZScpIHtcbiAgICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSAxLCBqID0gMDsgaSA+PSAwOyBpIC09IDMpIHtcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xuICAgICAgICBvZmYgKz0gMjQ7XG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcbiAgICAgICAgICBvZmYgLT0gMjY7XG4gICAgICAgICAgaisrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcbiAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAzKSB7XG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgKyAxXSA8PCA4KSB8IChudW1iZXJbaSArIDJdIDw8IDE2KTtcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcbiAgICAgICAgb2ZmICs9IDI0O1xuICAgICAgICBpZiAob2ZmID49IDI2KSB7XG4gICAgICAgICAgb2ZmIC09IDI2O1xuICAgICAgICAgIGorKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICBmdW5jdGlvbiBwYXJzZUhleDRCaXRzIChzdHJpbmcsIGluZGV4KSB7XG4gICAgdmFyIGMgPSBzdHJpbmcuY2hhckNvZGVBdChpbmRleCk7XG4gICAgLy8gJzAnIC0gJzknXG4gICAgaWYgKGMgPj0gNDggJiYgYyA8PSA1Nykge1xuICAgICAgcmV0dXJuIGMgLSA0ODtcbiAgICAvLyAnQScgLSAnRidcbiAgICB9IGVsc2UgaWYgKGMgPj0gNjUgJiYgYyA8PSA3MCkge1xuICAgICAgcmV0dXJuIGMgLSA1NTtcbiAgICAvLyAnYScgLSAnZidcbiAgICB9IGVsc2UgaWYgKGMgPj0gOTcgJiYgYyA8PSAxMDIpIHtcbiAgICAgIHJldHVybiBjIC0gODc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2VydChmYWxzZSwgJ0ludmFsaWQgY2hhcmFjdGVyIGluICcgKyBzdHJpbmcpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlSGV4Qnl0ZSAoc3RyaW5nLCBsb3dlckJvdW5kLCBpbmRleCkge1xuICAgIHZhciByID0gcGFyc2VIZXg0Qml0cyhzdHJpbmcsIGluZGV4KTtcbiAgICBpZiAoaW5kZXggLSAxID49IGxvd2VyQm91bmQpIHtcbiAgICAgIHIgfD0gcGFyc2VIZXg0Qml0cyhzdHJpbmcsIGluZGV4IC0gMSkgPDwgNDtcbiAgICB9XG4gICAgcmV0dXJuIHI7XG4gIH1cblxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0LCBlbmRpYW4pIHtcbiAgICAvLyBDcmVhdGUgcG9zc2libHkgYmlnZ2VyIGFycmF5IHRvIGVuc3VyZSB0aGF0IGl0IGZpdHMgdGhlIG51bWJlclxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcbiAgICB9XG5cbiAgICAvLyAyNC1iaXRzIGNodW5rc1xuICAgIHZhciBvZmYgPSAwO1xuICAgIHZhciBqID0gMDtcblxuICAgIHZhciB3O1xuICAgIGlmIChlbmRpYW4gPT09ICdiZScpIHtcbiAgICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSAxOyBpID49IHN0YXJ0OyBpIC09IDIpIHtcbiAgICAgICAgdyA9IHBhcnNlSGV4Qnl0ZShudW1iZXIsIHN0YXJ0LCBpKSA8PCBvZmY7XG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gdyAmIDB4M2ZmZmZmZjtcbiAgICAgICAgaWYgKG9mZiA+PSAxOCkge1xuICAgICAgICAgIG9mZiAtPSAxODtcbiAgICAgICAgICBqICs9IDE7XG4gICAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSB3ID4+PiAyNjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvZmYgKz0gODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcGFyc2VMZW5ndGggPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XG4gICAgICBmb3IgKGkgPSBwYXJzZUxlbmd0aCAlIDIgPT09IDAgPyBzdGFydCArIDEgOiBzdGFydDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICB3ID0gcGFyc2VIZXhCeXRlKG51bWJlciwgc3RhcnQsIGkpIDw8IG9mZjtcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSB3ICYgMHgzZmZmZmZmO1xuICAgICAgICBpZiAob2ZmID49IDE4KSB7XG4gICAgICAgICAgb2ZmIC09IDE4O1xuICAgICAgICAgIGogKz0gMTtcbiAgICAgICAgICB0aGlzLndvcmRzW2pdIHw9IHcgPj4+IDI2O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9mZiArPSA4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICBmdW5jdGlvbiBwYXJzZUJhc2UgKHN0ciwgc3RhcnQsIGVuZCwgbXVsKSB7XG4gICAgdmFyIHIgPSAwO1xuICAgIHZhciBiID0gMDtcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xuXG4gICAgICByICo9IG11bDtcblxuICAgICAgLy8gJ2EnXG4gICAgICBpZiAoYyA+PSA0OSkge1xuICAgICAgICBiID0gYyAtIDQ5ICsgMHhhO1xuXG4gICAgICAvLyAnQSdcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xuICAgICAgICBiID0gYyAtIDE3ICsgMHhhO1xuXG4gICAgICAvLyAnMCcgLSAnOSdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGIgPSBjO1xuICAgICAgfVxuICAgICAgYXNzZXJ0KGMgPj0gMCAmJiBiIDwgbXVsLCAnSW52YWxpZCBjaGFyYWN0ZXInKTtcbiAgICAgIHIgKz0gYjtcbiAgICB9XG4gICAgcmV0dXJuIHI7XG4gIH1cblxuICBCTi5wcm90b3R5cGUuX3BhcnNlQmFzZSA9IGZ1bmN0aW9uIF9wYXJzZUJhc2UgKG51bWJlciwgYmFzZSwgc3RhcnQpIHtcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cbiAgICB0aGlzLndvcmRzID0gWzBdO1xuICAgIHRoaXMubGVuZ3RoID0gMTtcblxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxuICAgIGZvciAodmFyIGxpbWJMZW4gPSAwLCBsaW1iUG93ID0gMTsgbGltYlBvdyA8PSAweDNmZmZmZmY7IGxpbWJQb3cgKj0gYmFzZSkge1xuICAgICAgbGltYkxlbisrO1xuICAgIH1cbiAgICBsaW1iTGVuLS07XG4gICAgbGltYlBvdyA9IChsaW1iUG93IC8gYmFzZSkgfCAwO1xuXG4gICAgdmFyIHRvdGFsID0gbnVtYmVyLmxlbmd0aCAtIHN0YXJ0O1xuICAgIHZhciBtb2QgPSB0b3RhbCAlIGxpbWJMZW47XG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcblxuICAgIHZhciB3b3JkID0gMDtcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIGkgKyBsaW1iTGVuLCBiYXNlKTtcblxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobW9kICE9PSAwKSB7XG4gICAgICB2YXIgcG93ID0gMTtcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBudW1iZXIubGVuZ3RoLCBiYXNlKTtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XG4gICAgICAgIHBvdyAqPSBiYXNlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmltdWxuKHBvdyk7XG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcbiAgICBkZXN0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xuICAgIH1cbiAgICBkZXN0Lmxlbmd0aCA9IHRoaXMubGVuZ3RoO1xuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIGRlc3QucmVkID0gdGhpcy5yZWQ7XG4gIH07XG5cbiAgZnVuY3Rpb24gbW92ZSAoZGVzdCwgc3JjKSB7XG4gICAgZGVzdC53b3JkcyA9IHNyYy53b3JkcztcbiAgICBkZXN0Lmxlbmd0aCA9IHNyYy5sZW5ndGg7XG4gICAgZGVzdC5uZWdhdGl2ZSA9IHNyYy5uZWdhdGl2ZTtcbiAgICBkZXN0LnJlZCA9IHNyYy5yZWQ7XG4gIH1cblxuICBCTi5wcm90b3R5cGUuX21vdmUgPSBmdW5jdGlvbiBfbW92ZSAoZGVzdCkge1xuICAgIG1vdmUoZGVzdCwgdGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUgKCkge1xuICAgIHZhciByID0gbmV3IEJOKG51bGwpO1xuICAgIHRoaXMuY29weShyKTtcbiAgICByZXR1cm4gcjtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2V4cGFuZCA9IGZ1bmN0aW9uIF9leHBhbmQgKHNpemUpIHtcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBzaXplKSB7XG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gUmVtb3ZlIGxlYWRpbmcgYDBgIGZyb20gYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5fc3RyaXAgPSBmdW5jdGlvbiBzdHJpcCAoKSB7XG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcbiAgICAgIHRoaXMubGVuZ3RoLS07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xuICAgIC8vIC0wID0gMFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gQ2hlY2sgU3ltYm9sLmZvciBiZWNhdXNlIG5vdCBldmVyeXdoZXJlIHdoZXJlIFN5bWJvbCBkZWZpbmVkXG4gIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TeW1ib2wjQnJvd3Nlcl9jb21wYXRpYmlsaXR5XG4gIGlmICh0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgU3ltYm9sLmZvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBCTi5wcm90b3R5cGVbU3ltYm9sLmZvcignbm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20nKV0gPSBpbnNwZWN0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIEJOLnByb3RvdHlwZS5pbnNwZWN0ID0gaW5zcGVjdDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBpbnNwZWN0O1xuICB9XG5cbiAgZnVuY3Rpb24gaW5zcGVjdCAoKSB7XG4gICAgcmV0dXJuICh0aGlzLnJlZCA/ICc8Qk4tUjogJyA6ICc8Qk46ICcpICsgdGhpcy50b1N0cmluZygxNikgKyAnPic7XG4gIH1cblxuICAvKlxuXG4gIHZhciB6ZXJvcyA9IFtdO1xuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xuICB2YXIgZ3JvdXBCYXNlcyA9IFtdO1xuXG4gIHZhciBzID0gJyc7XG4gIHZhciBpID0gLTE7XG4gIHdoaWxlICgrK2kgPCBCTi53b3JkU2l6ZSkge1xuICAgIHplcm9zW2ldID0gcztcbiAgICBzICs9ICcwJztcbiAgfVxuICBncm91cFNpemVzWzBdID0gMDtcbiAgZ3JvdXBTaXplc1sxXSA9IDA7XG4gIGdyb3VwQmFzZXNbMF0gPSAwO1xuICBncm91cEJhc2VzWzFdID0gMDtcbiAgdmFyIGJhc2UgPSAyIC0gMTtcbiAgd2hpbGUgKCsrYmFzZSA8IDM2ICsgMSkge1xuICAgIHZhciBncm91cFNpemUgPSAwO1xuICAgIHZhciBncm91cEJhc2UgPSAxO1xuICAgIHdoaWxlIChncm91cEJhc2UgPCAoMSA8PCBCTi53b3JkU2l6ZSkgLyBiYXNlKSB7XG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcbiAgICAgIGdyb3VwU2l6ZSArPSAxO1xuICAgIH1cbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xuICAgIGdyb3VwQmFzZXNbYmFzZV0gPSBncm91cEJhc2U7XG4gIH1cblxuICAqL1xuXG4gIHZhciB6ZXJvcyA9IFtcbiAgICAnJyxcbiAgICAnMCcsXG4gICAgJzAwJyxcbiAgICAnMDAwJyxcbiAgICAnMDAwMCcsXG4gICAgJzAwMDAwJyxcbiAgICAnMDAwMDAwJyxcbiAgICAnMDAwMDAwMCcsXG4gICAgJzAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMCcsXG4gICAgJzAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMCcsXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcbiAgXTtcblxuICB2YXIgZ3JvdXBTaXplcyA9IFtcbiAgICAwLCAwLFxuICAgIDI1LCAxNiwgMTIsIDExLCAxMCwgOSwgOCxcbiAgICA4LCA3LCA3LCA3LCA3LCA2LCA2LFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1XG4gIF07XG5cbiAgdmFyIGdyb3VwQmFzZXMgPSBbXG4gICAgMCwgMCxcbiAgICAzMzU1NDQzMiwgNDMwNDY3MjEsIDE2Nzc3MjE2LCA0ODgyODEyNSwgNjA0NjYxNzYsIDQwMzUzNjA3LCAxNjc3NzIxNixcbiAgICA0MzA0NjcyMSwgMTAwMDAwMDAsIDE5NDg3MTcxLCAzNTgzMTgwOCwgNjI3NDg1MTcsIDc1Mjk1MzYsIDExMzkwNjI1LFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcbiAgICA2NDM2MzQzLCA3OTYyNjI0LCA5NzY1NjI1LCAxMTg4MTM3NiwgMTQzNDg5MDcsIDE3MjEwMzY4LCAyMDUxMTE0OSxcbiAgICAyNDMwMDAwMCwgMjg2MjkxNTEsIDMzNTU0NDMyLCAzOTEzNTM5MywgNDU0MzU0MjQsIDUyNTIxODc1LCA2MDQ2NjE3NlxuICBdO1xuXG4gIEJOLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChiYXNlLCBwYWRkaW5nKSB7XG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XG4gICAgcGFkZGluZyA9IHBhZGRpbmcgfCAwIHx8IDE7XG5cbiAgICB2YXIgb3V0O1xuICAgIGlmIChiYXNlID09PSAxNiB8fCBiYXNlID09PSAnaGV4Jykge1xuICAgICAgb3V0ID0gJyc7XG4gICAgICB2YXIgb2ZmID0gMDtcbiAgICAgIHZhciBjYXJyeSA9IDA7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xuICAgICAgICB2YXIgd29yZCA9ICgoKHcgPDwgb2ZmKSB8IGNhcnJ5KSAmIDB4ZmZmZmZmKS50b1N0cmluZygxNik7XG4gICAgICAgIGNhcnJ5ID0gKHcgPj4+ICgyNCAtIG9mZikpICYgMHhmZmZmZmY7XG4gICAgICAgIG9mZiArPSAyO1xuICAgICAgICBpZiAob2ZmID49IDI2KSB7XG4gICAgICAgICAgb2ZmIC09IDI2O1xuICAgICAgICAgIGktLTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FycnkgIT09IDAgfHwgaSAhPT0gdGhpcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ID0gd29yZCArIG91dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3V0O1xuICAgIH1cblxuICAgIGlmIChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KSB7XG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xuICAgICAgdmFyIGdyb3VwU2l6ZSA9IGdyb3VwU2l6ZXNbYmFzZV07XG4gICAgICAvLyB2YXIgZ3JvdXBCYXNlID0gTWF0aC5wb3coYmFzZSwgZ3JvdXBTaXplKTtcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xuICAgICAgb3V0ID0gJyc7XG4gICAgICB2YXIgYyA9IHRoaXMuY2xvbmUoKTtcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xuICAgICAgd2hpbGUgKCFjLmlzWmVybygpKSB7XG4gICAgICAgIHZhciByID0gYy5tb2Rybihncm91cEJhc2UpLnRvU3RyaW5nKGJhc2UpO1xuICAgICAgICBjID0gYy5pZGl2bihncm91cEJhc2UpO1xuXG4gICAgICAgIGlmICghYy5pc1plcm8oKSkge1xuICAgICAgICAgIG91dCA9IHplcm9zW2dyb3VwU2l6ZSAtIHIubGVuZ3RoXSArIHIgKyBvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ID0gciArIG91dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNaZXJvKCkpIHtcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xuICAgICAgfVxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgIG91dCA9ICctJyArIG91dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuXG4gICAgYXNzZXJ0KGZhbHNlLCAnQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNicpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b051bWJlciA9IGZ1bmN0aW9uIHRvTnVtYmVyICgpIHtcbiAgICB2YXIgcmV0ID0gdGhpcy53b3Jkc1swXTtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHJldCArPSB0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPT09IDMgJiYgdGhpcy53b3Jkc1syXSA9PT0gMHgwMSkge1xuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxuICAgICAgcmV0ICs9IDB4MTAwMDAwMDAwMDAwMDAgKyAodGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IDIpIHtcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xuICAgIH1cbiAgICByZXR1cm4gKHRoaXMubmVnYXRpdmUgIT09IDApID8gLXJldCA6IHJldDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNiwgMik7XG4gIH07XG5cbiAgaWYgKEJ1ZmZlcikge1xuICAgIEJOLnByb3RvdHlwZS50b0J1ZmZlciA9IGZ1bmN0aW9uIHRvQnVmZmVyIChlbmRpYW4sIGxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQnVmZmVyLCBlbmRpYW4sIGxlbmd0aCk7XG4gICAgfTtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSwgZW5kaWFuLCBsZW5ndGgpO1xuICB9O1xuXG4gIHZhciBhbGxvY2F0ZSA9IGZ1bmN0aW9uIGFsbG9jYXRlIChBcnJheVR5cGUsIHNpemUpIHtcbiAgICBpZiAoQXJyYXlUeXBlLmFsbG9jVW5zYWZlKSB7XG4gICAgICByZXR1cm4gQXJyYXlUeXBlLmFsbG9jVW5zYWZlKHNpemUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEFycmF5VHlwZShzaXplKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xuICAgIHRoaXMuX3N0cmlwKCk7XG5cbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xuICAgIHZhciByZXFMZW5ndGggPSBsZW5ndGggfHwgTWF0aC5tYXgoMSwgYnl0ZUxlbmd0aCk7XG4gICAgYXNzZXJ0KGJ5dGVMZW5ndGggPD0gcmVxTGVuZ3RoLCAnYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCcpO1xuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XG5cbiAgICB2YXIgcmVzID0gYWxsb2NhdGUoQXJyYXlUeXBlLCByZXFMZW5ndGgpO1xuICAgIHZhciBwb3N0Zml4ID0gZW5kaWFuID09PSAnbGUnID8gJ0xFJyA6ICdCRSc7XG4gICAgdGhpc1snX3RvQXJyYXlMaWtlJyArIHBvc3RmaXhdKHJlcywgYnl0ZUxlbmd0aCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX3RvQXJyYXlMaWtlTEUgPSBmdW5jdGlvbiBfdG9BcnJheUxpa2VMRSAocmVzLCBieXRlTGVuZ3RoKSB7XG4gICAgdmFyIHBvc2l0aW9uID0gMDtcbiAgICB2YXIgY2FycnkgPSAwO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIHNoaWZ0ID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciB3b3JkID0gKHRoaXMud29yZHNbaV0gPDwgc2hpZnQpIHwgY2Fycnk7XG5cbiAgICAgIHJlc1twb3NpdGlvbisrXSA9IHdvcmQgJiAweGZmO1xuICAgICAgaWYgKHBvc2l0aW9uIDwgcmVzLmxlbmd0aCkge1xuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAod29yZCA+PiA4KSAmIDB4ZmY7XG4gICAgICB9XG4gICAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbisrXSA9ICh3b3JkID4+IDE2KSAmIDB4ZmY7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaGlmdCA9PT0gNikge1xuICAgICAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gMjQpICYgMHhmZjtcbiAgICAgICAgfVxuICAgICAgICBjYXJyeSA9IDA7XG4gICAgICAgIHNoaWZ0ID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhcnJ5ID0gd29yZCA+Pj4gMjQ7XG4gICAgICAgIHNoaWZ0ICs9IDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBvc2l0aW9uIDwgcmVzLmxlbmd0aCkge1xuICAgICAgcmVzW3Bvc2l0aW9uKytdID0gY2Fycnk7XG5cbiAgICAgIHdoaWxlIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl90b0FycmF5TGlrZUJFID0gZnVuY3Rpb24gX3RvQXJyYXlMaWtlQkUgKHJlcywgYnl0ZUxlbmd0aCkge1xuICAgIHZhciBwb3NpdGlvbiA9IHJlcy5sZW5ndGggLSAxO1xuICAgIHZhciBjYXJyeSA9IDA7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgc2hpZnQgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHdvcmQgPSAodGhpcy53b3Jkc1tpXSA8PCBzaGlmdCkgfCBjYXJyeTtcblxuICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gd29yZCAmIDB4ZmY7XG4gICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgICByZXNbcG9zaXRpb24tLV0gPSAod29yZCA+PiA4KSAmIDB4ZmY7XG4gICAgICB9XG4gICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgICByZXNbcG9zaXRpb24tLV0gPSAod29yZCA+PiAxNikgJiAweGZmO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hpZnQgPT09IDYpIHtcbiAgICAgICAgaWYgKHBvc2l0aW9uID49IDApIHtcbiAgICAgICAgICByZXNbcG9zaXRpb24tLV0gPSAod29yZCA+PiAyNCkgJiAweGZmO1xuICAgICAgICB9XG4gICAgICAgIGNhcnJ5ID0gMDtcbiAgICAgICAgc2hpZnQgPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FycnkgPSB3b3JkID4+PiAyNDtcbiAgICAgICAgc2hpZnQgKz0gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gY2Fycnk7XG5cbiAgICAgIHdoaWxlIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbi0tXSA9IDA7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGlmIChNYXRoLmNsejMyKSB7XG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XG4gICAgICB2YXIgdCA9IHc7XG4gICAgICB2YXIgciA9IDA7XG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcbiAgICAgICAgciArPSAxMztcbiAgICAgICAgdCA+Pj49IDEzO1xuICAgICAgfVxuICAgICAgaWYgKHQgPj0gMHg0MCkge1xuICAgICAgICByICs9IDc7XG4gICAgICAgIHQgPj4+PSA3O1xuICAgICAgfVxuICAgICAgaWYgKHQgPj0gMHg4KSB7XG4gICAgICAgIHIgKz0gNDtcbiAgICAgICAgdCA+Pj49IDQ7XG4gICAgICB9XG4gICAgICBpZiAodCA+PSAweDAyKSB7XG4gICAgICAgIHIgKz0gMjtcbiAgICAgICAgdCA+Pj49IDI7XG4gICAgICB9XG4gICAgICByZXR1cm4gciArIHQ7XG4gICAgfTtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5femVyb0JpdHMgPSBmdW5jdGlvbiBfemVyb0JpdHMgKHcpIHtcbiAgICAvLyBTaG9ydC1jdXRcbiAgICBpZiAodyA9PT0gMCkgcmV0dXJuIDI2O1xuXG4gICAgdmFyIHQgPSB3O1xuICAgIHZhciByID0gMDtcbiAgICBpZiAoKHQgJiAweDFmZmYpID09PSAwKSB7XG4gICAgICByICs9IDEzO1xuICAgICAgdCA+Pj49IDEzO1xuICAgIH1cbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xuICAgICAgciArPSA3O1xuICAgICAgdCA+Pj49IDc7XG4gICAgfVxuICAgIGlmICgodCAmIDB4ZikgPT09IDApIHtcbiAgICAgIHIgKz0gNDtcbiAgICAgIHQgPj4+PSA0O1xuICAgIH1cbiAgICBpZiAoKHQgJiAweDMpID09PSAwKSB7XG4gICAgICByICs9IDI7XG4gICAgICB0ID4+Pj0gMjtcbiAgICB9XG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xuICAgICAgcisrO1xuICAgIH1cbiAgICByZXR1cm4gcjtcbiAgfTtcblxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXG4gIEJOLnByb3RvdHlwZS5iaXRMZW5ndGggPSBmdW5jdGlvbiBiaXRMZW5ndGggKCkge1xuICAgIHZhciB3ID0gdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdO1xuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcbiAgICByZXR1cm4gKHRoaXMubGVuZ3RoIC0gMSkgKiAyNiArIGhpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHRvQml0QXJyYXkgKG51bSkge1xuICAgIHZhciB3ID0gbmV3IEFycmF5KG51bS5iaXRMZW5ndGgoKSk7XG5cbiAgICBmb3IgKHZhciBiaXQgPSAwOyBiaXQgPCB3Lmxlbmd0aDsgYml0KyspIHtcbiAgICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XG5cbiAgICAgIHdbYml0XSA9IChudW0ud29yZHNbb2ZmXSA+Pj4gd2JpdCkgJiAweDAxO1xuICAgIH1cblxuICAgIHJldHVybiB3O1xuICB9XG5cbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xuICBCTi5wcm90b3R5cGUuemVyb0JpdHMgPSBmdW5jdGlvbiB6ZXJvQml0cyAoKSB7XG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiAwO1xuXG4gICAgdmFyIHIgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcbiAgICAgIHIgKz0gYjtcbiAgICAgIGlmIChiICE9PSAyNikgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5ieXRlTGVuZ3RoID0gZnVuY3Rpb24gYnl0ZUxlbmd0aCAoKSB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpIC8gOCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnRvVHdvcyA9IGZ1bmN0aW9uIHRvVHdvcyAod2lkdGgpIHtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xuICAgIGlmICh0aGlzLnRlc3RuKHdpZHRoIC0gMSkpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vdG4od2lkdGgpLmlhZGRuKDEpLmluZWcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaXNOZWcgPSBmdW5jdGlvbiBpc05lZyAoKSB7XG4gICAgcmV0dXJuIHRoaXMubmVnYXRpdmUgIT09IDA7XG4gIH07XG5cbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaW5lZyA9IGZ1bmN0aW9uIGluZWcgKCkge1xuICAgIGlmICghdGhpcy5pc1plcm8oKSkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pdW9yID0gZnVuY3Rpb24gaXVvciAobnVtKSB7XG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkge1xuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldIHwgbnVtLndvcmRzW2ldO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xuICAgIHJldHVybiB0aGlzLml1b3IobnVtKTtcbiAgfTtcblxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pb3IobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaW9yKHRoaXMpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS51b3IgPSBmdW5jdGlvbiB1b3IgKG51bSkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdW9yKHRoaXMpO1xuICB9O1xuXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXVhbmQgPSBmdW5jdGlvbiBpdWFuZCAobnVtKSB7XG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxuICAgIHZhciBiO1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcbiAgICAgIGIgPSBudW07XG4gICAgfSBlbHNlIHtcbiAgICAgIGIgPSB0aGlzO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pYW5kID0gZnVuY3Rpb24gaWFuZCAobnVtKSB7XG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcbiAgfTtcblxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLmFuZCA9IGZ1bmN0aW9uIGFuZCAobnVtKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1YW5kKG51bSk7XG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xuICB9O1xuXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxuICAgIHZhciBhO1xuICAgIHZhciBiO1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcbiAgICAgIGEgPSB0aGlzO1xuICAgICAgYiA9IG51bTtcbiAgICB9IGVsc2Uge1xuICAgICAgYSA9IG51bTtcbiAgICAgIGIgPSB0aGlzO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV0gXiBiLndvcmRzW2ldO1xuICAgIH1cblxuICAgIGlmICh0aGlzICE9PSBhKSB7XG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5peG9yID0gZnVuY3Rpb24gaXhvciAobnVtKSB7XG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXV4b3IobnVtKTtcbiAgfTtcblxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLnhvciA9IGZ1bmN0aW9uIHhvciAobnVtKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml4b3IodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnV4b3IgPSBmdW5jdGlvbiB1eG9yIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1eG9yKG51bSk7XG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xuICB9O1xuXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxuICBCTi5wcm90b3R5cGUuaW5vdG4gPSBmdW5jdGlvbiBpbm90biAod2lkdGgpIHtcbiAgICBhc3NlcnQodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJyAmJiB3aWR0aCA+PSAwKTtcblxuICAgIHZhciBieXRlc05lZWRlZCA9IE1hdGguY2VpbCh3aWR0aCAvIDI2KSB8IDA7XG4gICAgdmFyIGJpdHNMZWZ0ID0gd2lkdGggJSAyNjtcblxuICAgIC8vIEV4dGVuZCB0aGUgYnVmZmVyIHdpdGggbGVhZGluZyB6ZXJvZXNcbiAgICB0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO1xuXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xuICAgICAgYnl0ZXNOZWVkZWQtLTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgY29tcGxldGUgd29yZHNcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmIDB4M2ZmZmZmZjtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgdGhlIHJlc2lkdWVcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XG4gICAgfVxuXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKHdpZHRoKTtcbiAgfTtcblxuICAvLyBTZXQgYGJpdGAgb2YgYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5zZXRuID0gZnVuY3Rpb24gc2V0biAoYml0LCB2YWwpIHtcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xuXG4gICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XG5cbiAgICB0aGlzLl9leHBhbmQob2ZmICsgMSk7XG5cbiAgICBpZiAodmFsKSB7XG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gfCAoMSA8PCB3Yml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53b3Jkc1tvZmZdID0gdGhpcy53b3Jkc1tvZmZdICYgfigxIDw8IHdiaXQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcbiAgQk4ucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChudW0pIHtcbiAgICB2YXIgcjtcblxuICAgIC8vIG5lZ2F0aXZlICsgcG9zaXRpdmVcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XG5cbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcbiAgICB9XG5cbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXG4gICAgdmFyIGEsIGI7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xuICAgICAgYSA9IHRoaXM7XG4gICAgICBiID0gbnVtO1xuICAgIH0gZWxzZSB7XG4gICAgICBhID0gbnVtO1xuICAgICAgYiA9IHRoaXM7XG4gICAgfVxuXG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgKGIud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xuICAgIH1cbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGhdID0gY2Fycnk7XG4gICAgICB0aGlzLmxlbmd0aCsrO1xuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXG4gICAgfSBlbHNlIGlmIChhICE9PSB0aGlzKSB7XG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcbiAgICB2YXIgcmVzO1xuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDAgJiYgdGhpcy5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XG4gICAgICBudW0ubmVnYXRpdmUgXj0gMTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZChudW0pO1xuXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XG4gIH07XG5cbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcbiAgQk4ucHJvdG90eXBlLmlzdWIgPSBmdW5jdGlvbiBpc3ViIChudW0pIHtcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xuXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICAgIHRoaXMuaWFkZChudW0pO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcbiAgICB9XG5cbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcblxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcbiAgICBpZiAoY21wID09PSAwKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gYSA+IGJcbiAgICB2YXIgYSwgYjtcbiAgICBpZiAoY21wID4gMCkge1xuICAgICAgYSA9IHRoaXM7XG4gICAgICBiID0gbnVtO1xuICAgIH0gZWxzZSB7XG4gICAgICBhID0gbnVtO1xuICAgICAgYiA9IHRoaXM7XG4gICAgfVxuXG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApIC0gKGIud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xuICAgICAgY2FycnkgPSByID4+IDI2O1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XG4gICAgfVxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcbiAgICAgIGNhcnJ5ID0gciA+PiAyNjtcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xuICAgIH1cblxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcblxuICAgIGlmIChhICE9PSB0aGlzKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIobnVtKTtcbiAgfTtcblxuICBmdW5jdGlvbiBzbWFsbE11bFRvIChzZWxmLCBudW0sIG91dCkge1xuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcbiAgICBvdXQubGVuZ3RoID0gbGVuO1xuICAgIGxlbiA9IChsZW4gLSAxKSB8IDA7XG5cbiAgICAvLyBQZWVsIG9uZSBpdGVyYXRpb24gKGNvbXBpbGVyIGNhbid0IGRvIGl0LCBiZWNhdXNlIG9mIGNvZGUgY29tcGxleGl0eSlcbiAgICB2YXIgYSA9IHNlbGYud29yZHNbMF0gfCAwO1xuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcbiAgICB2YXIgciA9IGEgKiBiO1xuXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcbiAgICB2YXIgY2FycnkgPSAociAvIDB4NDAwMDAwMCkgfCAwO1xuICAgIG91dC53b3Jkc1swXSA9IGxvO1xuXG4gICAgZm9yICh2YXIgayA9IDE7IGsgPCBsZW47IGsrKykge1xuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcbiAgICAgIHZhciBuY2FycnkgPSBjYXJyeSA+Pj4gMjY7XG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xuICAgICAgICB2YXIgaSA9IChrIC0gaikgfCAwO1xuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XG4gICAgICAgIGIgPSBudW0ud29yZHNbal0gfCAwO1xuICAgICAgICByID0gYSAqIGIgKyByd29yZDtcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XG4gICAgICAgIHJ3b3JkID0gciAmIDB4M2ZmZmZmZjtcbiAgICAgIH1cbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5IHwgMDtcbiAgICB9XG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeSB8IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dC5sZW5ndGgtLTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0Ll9zdHJpcCgpO1xuICB9XG5cbiAgLy8gVE9ETyhpbmR1dG55KTogaXQgbWF5IGJlIHJlYXNvbmFibGUgdG8gb21pdCBpdCBmb3IgdXNlcnMgd2hvIGRvbid0IG5lZWRcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxuICAvLyBtdWx0aXBsaWNhdGlvbiAobGlrZSBlbGxpcHRpYyBzZWNwMjU2azEpLlxuICB2YXIgY29tYjEwTXVsVG8gPSBmdW5jdGlvbiBjb21iMTBNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XG4gICAgdmFyIGIgPSBudW0ud29yZHM7XG4gICAgdmFyIG8gPSBvdXQud29yZHM7XG4gICAgdmFyIGMgPSAwO1xuICAgIHZhciBsbztcbiAgICB2YXIgbWlkO1xuICAgIHZhciBoaTtcbiAgICB2YXIgYTAgPSBhWzBdIHwgMDtcbiAgICB2YXIgYWwwID0gYTAgJiAweDFmZmY7XG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcbiAgICB2YXIgYTEgPSBhWzFdIHwgMDtcbiAgICB2YXIgYWwxID0gYTEgJiAweDFmZmY7XG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcbiAgICB2YXIgYTIgPSBhWzJdIHwgMDtcbiAgICB2YXIgYWwyID0gYTIgJiAweDFmZmY7XG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcbiAgICB2YXIgYTMgPSBhWzNdIHwgMDtcbiAgICB2YXIgYWwzID0gYTMgJiAweDFmZmY7XG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcbiAgICB2YXIgYTQgPSBhWzRdIHwgMDtcbiAgICB2YXIgYWw0ID0gYTQgJiAweDFmZmY7XG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcbiAgICB2YXIgYTUgPSBhWzVdIHwgMDtcbiAgICB2YXIgYWw1ID0gYTUgJiAweDFmZmY7XG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcbiAgICB2YXIgYTYgPSBhWzZdIHwgMDtcbiAgICB2YXIgYWw2ID0gYTYgJiAweDFmZmY7XG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcbiAgICB2YXIgYTcgPSBhWzddIHwgMDtcbiAgICB2YXIgYWw3ID0gYTcgJiAweDFmZmY7XG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcbiAgICB2YXIgYTggPSBhWzhdIHwgMDtcbiAgICB2YXIgYWw4ID0gYTggJiAweDFmZmY7XG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcbiAgICB2YXIgYTkgPSBhWzldIHwgMDtcbiAgICB2YXIgYWw5ID0gYTkgJiAweDFmZmY7XG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcbiAgICB2YXIgYjAgPSBiWzBdIHwgMDtcbiAgICB2YXIgYmwwID0gYjAgJiAweDFmZmY7XG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcbiAgICB2YXIgYjEgPSBiWzFdIHwgMDtcbiAgICB2YXIgYmwxID0gYjEgJiAweDFmZmY7XG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcbiAgICB2YXIgYjIgPSBiWzJdIHwgMDtcbiAgICB2YXIgYmwyID0gYjIgJiAweDFmZmY7XG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcbiAgICB2YXIgYjMgPSBiWzNdIHwgMDtcbiAgICB2YXIgYmwzID0gYjMgJiAweDFmZmY7XG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcbiAgICB2YXIgYjQgPSBiWzRdIHwgMDtcbiAgICB2YXIgYmw0ID0gYjQgJiAweDFmZmY7XG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcbiAgICB2YXIgYjUgPSBiWzVdIHwgMDtcbiAgICB2YXIgYmw1ID0gYjUgJiAweDFmZmY7XG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcbiAgICB2YXIgYjYgPSBiWzZdIHwgMDtcbiAgICB2YXIgYmw2ID0gYjYgJiAweDFmZmY7XG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcbiAgICB2YXIgYjcgPSBiWzddIHwgMDtcbiAgICB2YXIgYmw3ID0gYjcgJiAweDFmZmY7XG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcbiAgICB2YXIgYjggPSBiWzhdIHwgMDtcbiAgICB2YXIgYmw4ID0gYjggJiAweDFmZmY7XG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcbiAgICB2YXIgYjkgPSBiWzldIHwgMDtcbiAgICB2YXIgYmw5ID0gYjkgJiAweDFmZmY7XG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcblxuICAgIG91dC5uZWdhdGl2ZSA9IHNlbGYubmVnYXRpdmUgXiBudW0ubmVnYXRpdmU7XG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xuICAgIC8qIGsgPSAwICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWwwLCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDAsIGJoMCk7XG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MCA+Pj4gMjYpKSB8IDA7XG4gICAgdzAgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWwxLCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDEsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDEsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgxKSkgfCAwO1xuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEgPj4+IDI2KSkgfCAwO1xuICAgIHcxICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMiAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsMiwgYmwwKTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwyLCBiaDApO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWgyLCBiaDApO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDIpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XG4gICAgdmFyIHcyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MiA+Pj4gMjYpKSB8IDA7XG4gICAgdzIgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAzICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWwzLCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDMsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDMpKSB8IDA7XG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MyA+Pj4gMjYpKSB8IDA7XG4gICAgdzMgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA0ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw0LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDQsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDQsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg0KSkgfCAwO1xuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzQgPj4+IDI2KSkgfCAwO1xuICAgIHc0ICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gNSAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsNSwgYmwwKTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw1LCBiaDApO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg1LCBiaDApO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDIpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgzKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDUpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XG4gICAgdmFyIHc1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NSA+Pj4gMjYpKSB8IDA7XG4gICAgdzUgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA2ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw2LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDYsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDYpKSB8IDA7XG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NiA+Pj4gMjYpKSB8IDA7XG4gICAgdzYgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA3ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw3LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDcsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDcsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg3KSkgfCAwO1xuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzcgPj4+IDI2KSkgfCAwO1xuICAgIHc3ICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gOCAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOCwgYmwwKTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw4LCBiaDApO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg4LCBiaDApO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDIpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgzKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDUpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg2KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDgpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XG4gICAgdmFyIHc4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OCA+Pj4gMjYpKSB8IDA7XG4gICAgdzggJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA5ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDkpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDkpKSB8IDA7XG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OSA+Pj4gMjYpKSB8IDA7XG4gICAgdzkgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxMCAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwxKTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDEpO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDEpO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDkpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XG4gICAgdmFyIHcxMCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEwID4+PiAyNikpIHwgMDtcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxMSAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwyKTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDIpKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDIpO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzExID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTEgPj4+IDI2KSkgfCAwO1xuICAgIHcxMSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEyICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDMpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMykpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMyk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDkpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDkpKSB8IDA7XG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEyID4+PiAyNikpIHwgMDtcbiAgICB3MTIgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxMyAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw0KTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDQpO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDQpO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDkpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XG4gICAgdmFyIHcxMyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEzID4+PiAyNikpIHwgMDtcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxNCAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw1KTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDUpKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDUpO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzE0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTQgPj4+IDI2KSkgfCAwO1xuICAgIHcxNCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE1ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDYpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNikpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNik7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDkpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDkpKSB8IDA7XG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE1ID4+PiAyNikpIHwgMDtcbiAgICB3MTUgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxNiAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw3KTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDcpO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDcpO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDkpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XG4gICAgdmFyIHcxNiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE2ID4+PiAyNikpIHwgMDtcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAxNyAqL1xuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw4KTtcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDgpKSB8IDA7XG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDgpO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzE3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTcgPj4+IDI2KSkgfCAwO1xuICAgIHcxNyAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE4ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDkpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOSkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOSk7XG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE4ID4+PiAyNikpIHwgMDtcbiAgICB3MTggJj0gMHgzZmZmZmZmO1xuICAgIG9bMF0gPSB3MDtcbiAgICBvWzFdID0gdzE7XG4gICAgb1syXSA9IHcyO1xuICAgIG9bM10gPSB3MztcbiAgICBvWzRdID0gdzQ7XG4gICAgb1s1XSA9IHc1O1xuICAgIG9bNl0gPSB3NjtcbiAgICBvWzddID0gdzc7XG4gICAgb1s4XSA9IHc4O1xuICAgIG9bOV0gPSB3OTtcbiAgICBvWzEwXSA9IHcxMDtcbiAgICBvWzExXSA9IHcxMTtcbiAgICBvWzEyXSA9IHcxMjtcbiAgICBvWzEzXSA9IHcxMztcbiAgICBvWzE0XSA9IHcxNDtcbiAgICBvWzE1XSA9IHcxNTtcbiAgICBvWzE2XSA9IHcxNjtcbiAgICBvWzE3XSA9IHcxNztcbiAgICBvWzE4XSA9IHcxODtcbiAgICBpZiAoYyAhPT0gMCkge1xuICAgICAgb1sxOV0gPSBjO1xuICAgICAgb3V0Lmxlbmd0aCsrO1xuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9O1xuXG4gIC8vIFBvbHlmaWxsIGNvbWJcbiAgaWYgKCFNYXRoLmltdWwpIHtcbiAgICBjb21iMTBNdWxUbyA9IHNtYWxsTXVsVG87XG4gIH1cblxuICBmdW5jdGlvbiBiaWdNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIHZhciBobmNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBrID0gMDsgayA8IG91dC5sZW5ndGggLSAxOyBrKyspIHtcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXG4gICAgICB2YXIgbmNhcnJ5ID0gaG5jYXJyeTtcbiAgICAgIGhuY2FycnkgPSAwO1xuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcbiAgICAgICAgdmFyIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcbiAgICAgICAgdmFyIGIgPSBudW0ud29yZHNbal0gfCAwO1xuICAgICAgICB2YXIgciA9IGEgKiBiO1xuXG4gICAgICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcbiAgICAgICAgbG8gPSAobG8gKyByd29yZCkgfCAwO1xuICAgICAgICByd29yZCA9IGxvICYgMHgzZmZmZmZmO1xuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcblxuICAgICAgICBobmNhcnJ5ICs9IG5jYXJyeSA+Pj4gMjY7XG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XG4gICAgICB9XG4gICAgICBvdXQud29yZHNba10gPSByd29yZDtcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xuICAgICAgbmNhcnJ5ID0gaG5jYXJyeTtcbiAgICB9XG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0Lmxlbmd0aC0tO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XG4gIH1cblxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xuICAgIC8vIFRlbXBvcmFyeSBkaXNhYmxlLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvYm4uanMvaXNzdWVzLzIxMVxuICAgIC8vIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcbiAgICAvLyByZXR1cm4gZmZ0bS5tdWxwKHNlbGYsIG51bSwgb3V0KTtcbiAgICByZXR1cm4gYmlnTXVsVG8oc2VsZiwgbnVtLCBvdXQpO1xuICB9XG5cbiAgQk4ucHJvdG90eXBlLm11bFRvID0gZnVuY3Rpb24gbXVsVG8gKG51bSwgb3V0KSB7XG4gICAgdmFyIHJlcztcbiAgICB2YXIgbGVuID0gdGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoO1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMTAgJiYgbnVtLmxlbmd0aCA9PT0gMTApIHtcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDYzKSB7XG4gICAgICByZXMgPSBzbWFsbE11bFRvKHRoaXMsIG51bSwgb3V0KTtcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcbiAgICAgIHJlcyA9IGJpZ011bFRvKHRoaXMsIG51bSwgb3V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcbiAgLy8gc2xpZ2h0bHkgcmV2aXNpdGVkIHRvIHJlbHkgb24gbG9vcGluZyBpbnN0ZWFkIG9mIHJlY3Vyc2lvblxuXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcbiAgICB0aGlzLnggPSB4O1xuICAgIHRoaXMueSA9IHk7XG4gIH1cblxuICBGRlRNLnByb3RvdHlwZS5tYWtlUkJUID0gZnVuY3Rpb24gbWFrZVJCVCAoTikge1xuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xuICAgIHZhciBsID0gQk4ucHJvdG90eXBlLl9jb3VudEJpdHMoTikgLSAxO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHQ7XG4gIH07XG5cbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXG4gIEZGVE0ucHJvdG90eXBlLnJldkJpbiA9IGZ1bmN0aW9uIHJldkJpbiAoeCwgbCwgTikge1xuICAgIGlmICh4ID09PSAwIHx8IHggPT09IE4gLSAxKSByZXR1cm4geDtcblxuICAgIHZhciByYiA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XG4gICAgICB4ID4+PSAxO1xuICAgIH1cblxuICAgIHJldHVybiByYjtcbiAgfTtcblxuICAvLyBQZXJmb3JtcyBcInR3ZWVkbGluZ1wiIHBoYXNlLCB0aGVyZWZvcmUgJ2VtdWxhdGluZydcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXG4gIEZGVE0ucHJvdG90eXBlLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlIChyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcbiAgICAgIGl0d3NbaV0gPSBpd3NbcmJ0W2ldXTtcbiAgICB9XG4gIH07XG5cbiAgRkZUTS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24gdHJhbnNmb3JtIChyd3MsIGl3cywgcnR3cywgaXR3cywgTiwgcmJ0KSB7XG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xuXG4gICAgZm9yICh2YXIgcyA9IDE7IHMgPCBOOyBzIDw8PSAxKSB7XG4gICAgICB2YXIgbCA9IHMgPDwgMTtcblxuICAgICAgdmFyIHJ0d2RmID0gTWF0aC5jb3MoMiAqIE1hdGguUEkgLyBsKTtcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XG5cbiAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgTjsgcCArPSBsKSB7XG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcbiAgICAgICAgdmFyIGl0d2RmXyA9IGl0d2RmO1xuXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XG4gICAgICAgICAgdmFyIHJlID0gcnR3c1twICsgal07XG4gICAgICAgICAgdmFyIGllID0gaXR3c1twICsgal07XG5cbiAgICAgICAgICB2YXIgcm8gPSBydHdzW3AgKyBqICsgc107XG4gICAgICAgICAgdmFyIGlvID0gaXR3c1twICsgaiArIHNdO1xuXG4gICAgICAgICAgdmFyIHJ4ID0gcnR3ZGZfICogcm8gLSBpdHdkZl8gKiBpbztcblxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcbiAgICAgICAgICBybyA9IHJ4O1xuXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xuICAgICAgICAgIGl0d3NbcCArIGpdID0gaWUgKyBpbztcblxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XG4gICAgICAgICAgaXR3c1twICsgaiArIHNdID0gaWUgLSBpbztcblxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXG4gICAgICAgICAgaWYgKGogIT09IGwpIHtcbiAgICAgICAgICAgIHJ4ID0gcnR3ZGYgKiBydHdkZl8gLSBpdHdkZiAqIGl0d2RmXztcblxuICAgICAgICAgICAgaXR3ZGZfID0gcnR3ZGYgKiBpdHdkZl8gKyBpdHdkZiAqIHJ0d2RmXztcbiAgICAgICAgICAgIHJ0d2RmXyA9IHJ4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XG4gICAgdmFyIE4gPSBNYXRoLm1heChtLCBuKSB8IDE7XG4gICAgdmFyIG9kZCA9IE4gJiAxO1xuICAgIHZhciBpID0gMDtcbiAgICBmb3IgKE4gPSBOIC8gMiB8IDA7IE47IE4gPSBOID4+PiAxKSB7XG4gICAgICBpKys7XG4gICAgfVxuXG4gICAgcmV0dXJuIDEgPDwgaSArIDEgKyBvZGQ7XG4gIH07XG5cbiAgRkZUTS5wcm90b3R5cGUuY29uanVnYXRlID0gZnVuY3Rpb24gY29uanVnYXRlIChyd3MsIGl3cywgTikge1xuICAgIGlmIChOIDw9IDEpIHJldHVybjtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xuICAgICAgdmFyIHQgPSByd3NbaV07XG5cbiAgICAgIHJ3c1tpXSA9IHJ3c1tOIC0gaSAtIDFdO1xuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xuXG4gICAgICB0ID0gaXdzW2ldO1xuXG4gICAgICBpd3NbaV0gPSAtaXdzW04gLSBpIC0gMV07XG4gICAgICBpd3NbTiAtIGkgLSAxXSA9IC10O1xuICAgIH1cbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xuICAgICAgICBNYXRoLnJvdW5kKHdzWzIgKiBpXSAvIE4pICtcbiAgICAgICAgY2Fycnk7XG5cbiAgICAgIHdzW2ldID0gdyAmIDB4M2ZmZmZmZjtcblxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcbiAgICAgICAgY2FycnkgPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gd3M7XG4gIH07XG5cbiAgRkZUTS5wcm90b3R5cGUuY29udmVydDEzYiA9IGZ1bmN0aW9uIGNvbnZlcnQxM2IgKHdzLCBsZW4sIHJ3cywgTikge1xuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgY2FycnkgPSBjYXJyeSArICh3c1tpXSB8IDApO1xuXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xuICAgICAgcndzWzIgKiBpICsgMV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XG4gICAgfVxuXG4gICAgLy8gUGFkIHdpdGggemVyb2VzXG4gICAgZm9yIChpID0gMiAqIGxlbjsgaSA8IE47ICsraSkge1xuICAgICAgcndzW2ldID0gMDtcbiAgICB9XG5cbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xuICAgIGFzc2VydCgoY2FycnkgJiB+MHgxZmZmKSA9PT0gMCk7XG4gIH07XG5cbiAgRkZUTS5wcm90b3R5cGUuc3R1YiA9IGZ1bmN0aW9uIHN0dWIgKE4pIHtcbiAgICB2YXIgcGggPSBuZXcgQXJyYXkoTik7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgIHBoW2ldID0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gcGg7XG4gIH07XG5cbiAgRkZUTS5wcm90b3R5cGUubXVscCA9IGZ1bmN0aW9uIG11bHAgKHgsIHksIG91dCkge1xuICAgIHZhciBOID0gMiAqIHRoaXMuZ3Vlc3NMZW4xM2IoeC5sZW5ndGgsIHkubGVuZ3RoKTtcblxuICAgIHZhciByYnQgPSB0aGlzLm1ha2VSQlQoTik7XG5cbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcblxuICAgIHZhciByd3MgPSBuZXcgQXJyYXkoTik7XG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XG4gICAgdmFyIGl3c3QgPSBuZXcgQXJyYXkoTik7XG5cbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgbnJ3c3QgPSBuZXcgQXJyYXkoTik7XG4gICAgdmFyIG5pd3N0ID0gbmV3IEFycmF5KE4pO1xuXG4gICAgdmFyIHJtd3MgPSBvdXQud29yZHM7XG4gICAgcm13cy5sZW5ndGggPSBOO1xuXG4gICAgdGhpcy5jb252ZXJ0MTNiKHgud29yZHMsIHgubGVuZ3RoLCByd3MsIE4pO1xuICAgIHRoaXMuY29udmVydDEzYih5LndvcmRzLCB5Lmxlbmd0aCwgbnJ3cywgTik7XG5cbiAgICB0aGlzLnRyYW5zZm9ybShyd3MsIF8sIHJ3c3QsIGl3c3QsIE4sIHJidCk7XG4gICAgdGhpcy50cmFuc2Zvcm0obnJ3cywgXywgbnJ3c3QsIG5pd3N0LCBOLCByYnQpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgIHZhciByeCA9IHJ3c3RbaV0gKiBucndzdFtpXSAtIGl3c3RbaV0gKiBuaXdzdFtpXTtcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XG4gICAgICByd3N0W2ldID0gcng7XG4gICAgfVxuXG4gICAgdGhpcy5jb25qdWdhdGUocndzdCwgaXdzdCwgTik7XG4gICAgdGhpcy50cmFuc2Zvcm0ocndzdCwgaXdzdCwgcm13cywgXywgTiwgcmJ0KTtcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcbiAgICB0aGlzLm5vcm1hbGl6ZTEzYihybXdzLCBOKTtcblxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xuICAgIG91dC5sZW5ndGggPSB4Lmxlbmd0aCArIHkubGVuZ3RoO1xuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XG4gIH07XG5cbiAgLy8gTXVsdGlwbHkgYHRoaXNgIGJ5IGBudW1gXG4gIEJOLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKG51bSkge1xuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XG4gICAgcmV0dXJuIHRoaXMubXVsVG8obnVtLCBvdXQpO1xuICB9O1xuXG4gIC8vIE11bHRpcGx5IGVtcGxveWluZyBGRlRcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcbiAgfTtcblxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxuICBCTi5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkubXVsVG8obnVtLCB0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaW11bG4gPSBmdW5jdGlvbiBpbXVsbiAobnVtKSB7XG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcbiAgICBpZiAoaXNOZWdOdW0pIG51bSA9IC1udW07XG5cbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xuXG4gICAgLy8gQ2FycnlcbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICogbnVtO1xuICAgICAgdmFyIGxvID0gKHcgJiAweDNmZmZmZmYpICsgKGNhcnJ5ICYgMHgzZmZmZmZmKTtcbiAgICAgIGNhcnJ5ID4+PSAyNjtcbiAgICAgIGNhcnJ5ICs9ICh3IC8gMHg0MDAwMDAwKSB8IDA7XG4gICAgICAvLyBOT1RFOiBsbyBpcyAyN2JpdCBtYXhpbXVtXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XG4gICAgfVxuXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XG4gICAgICB0aGlzLmxlbmd0aCsrO1xuICAgIH1cblxuICAgIHJldHVybiBpc05lZ051bSA/IHRoaXMuaW5lZygpIDogdGhpcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubXVsbiA9IGZ1bmN0aW9uIG11bG4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcbiAgfTtcblxuICAvLyBgdGhpc2AgKiBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoKSB7XG4gICAgcmV0dXJuIHRoaXMubXVsKHRoaXMpO1xuICB9O1xuXG4gIC8vIGB0aGlzYCAqIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xuICAgIHJldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKTtcbiAgfTtcblxuICAvLyBNYXRoLnBvdyhgdGhpc2AsIGBudW1gKVxuICBCTi5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChudW0pIHtcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcbiAgICBpZiAody5sZW5ndGggPT09IDApIHJldHVybiBuZXcgQk4oMSk7XG5cbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXG4gICAgdmFyIHJlcyA9IHRoaXM7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3Lmxlbmd0aDsgaSsrLCByZXMgPSByZXMuc3FyKCkpIHtcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcbiAgICB9XG5cbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcbiAgICAgIGZvciAodmFyIHEgPSByZXMuc3FyKCk7IGkgPCB3Lmxlbmd0aDsgaSsrLCBxID0gcS5zcXIoKSkge1xuICAgICAgICBpZiAod1tpXSA9PT0gMCkgY29udGludWU7XG5cbiAgICAgICAgcmVzID0gcmVzLm11bChxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIC8vIFNoaWZ0LWxlZnQgaW4tcGxhY2VcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcbiAgICB2YXIgY2FycnlNYXNrID0gKDB4M2ZmZmZmZiA+Pj4gKDI2IC0gcikpIDw8ICgyNiAtIHIpO1xuICAgIHZhciBpO1xuXG4gICAgaWYgKHIgIT09IDApIHtcbiAgICAgIHZhciBjYXJyeSA9IDA7XG5cbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBuZXdDYXJyeSA9IHRoaXMud29yZHNbaV0gJiBjYXJyeU1hc2s7XG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGMgfCBjYXJyeTtcbiAgICAgICAgY2FycnkgPSBuZXdDYXJyeSA+Pj4gKDI2IC0gcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChjYXJyeSkge1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XG4gICAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMgIT09IDApIHtcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgc10gPSB0aGlzLndvcmRzW2ldO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgczsgaSsrKSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxlbmd0aCArPSBzO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc2hsbiA9IGZ1bmN0aW9uIGlzaGxuIChiaXRzKSB7XG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xuICAgIHJldHVybiB0aGlzLml1c2hsbihiaXRzKTtcbiAgfTtcblxuICAvLyBTaGlmdC1yaWdodCBpbi1wbGFjZVxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xuICBCTi5wcm90b3R5cGUuaXVzaHJuID0gZnVuY3Rpb24gaXVzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcbiAgICB2YXIgaDtcbiAgICBpZiAoaGludCkge1xuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XG4gICAgfSBlbHNlIHtcbiAgICAgIGggPSAwO1xuICAgIH1cblxuICAgIHZhciByID0gYml0cyAlIDI2O1xuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XG4gICAgdmFyIG1hc2tlZFdvcmRzID0gZXh0ZW5kZWQ7XG5cbiAgICBoIC09IHM7XG4gICAgaCA9IE1hdGgubWF4KDAsIGgpO1xuXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxuICAgIGlmIChtYXNrZWRXb3Jkcykge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xuICAgICAgfVxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcbiAgICB9XG5cbiAgICBpZiAocyA9PT0gMCkge1xuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gcykge1xuICAgICAgdGhpcy5sZW5ndGggLT0gcztcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2kgKyBzXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XG4gICAgfVxuXG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XG4gICAgICB2YXIgd29yZCA9IHRoaXMud29yZHNbaV0gfCAwO1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xuICAgIH1cblxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xuICAgIGlmIChtYXNrZWRXb3JkcyAmJiBjYXJyeSAhPT0gMCkge1xuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcbiAgfTtcblxuICAvLyBTaGlmdC1sZWZ0XG4gIEJOLnByb3RvdHlwZS5zaGxuID0gZnVuY3Rpb24gc2hsbiAoYml0cykge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNobG4oYml0cyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVzaGxuID0gZnVuY3Rpb24gdXNobG4gKGJpdHMpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcbiAgfTtcblxuICAvLyBTaGlmdC1yaWdodFxuICBCTi5wcm90b3R5cGUuc2hybiA9IGZ1bmN0aW9uIHNocm4gKGJpdHMpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGJpdHMpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS51c2hybiA9IGZ1bmN0aW9uIHVzaHJuIChiaXRzKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XG4gIH07XG5cbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcbiAgQk4ucHJvdG90eXBlLnRlc3RuID0gZnVuY3Rpb24gdGVzdG4gKGJpdCkge1xuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xuICAgIHZhciBxID0gMSA8PCByO1xuXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gQ2hlY2sgYml0IGFuZCByZXR1cm5cbiAgICB2YXIgdyA9IHRoaXMud29yZHNbc107XG5cbiAgICByZXR1cm4gISEodyAmIHEpO1xuICB9O1xuXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlciAoaW4tcGxhY2UpXG4gIEJOLnByb3RvdHlwZS5pbWFza24gPSBmdW5jdGlvbiBpbWFza24gKGJpdHMpIHtcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XG5cbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ2ltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycycpO1xuXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmIChyICE9PSAwKSB7XG4gICAgICBzKys7XG4gICAgfVxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5taW4ocywgdGhpcy5sZW5ndGgpO1xuXG4gICAgaWYgKHIgIT09IDApIHtcbiAgICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdICY9IG1hc2s7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyXG4gIEJOLnByb3RvdHlwZS5tYXNrbiA9IGZ1bmN0aW9uIG1hc2tuIChiaXRzKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XG4gIH07XG5cbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLmlhZGRuID0gZnVuY3Rpb24gaWFkZG4gKG51bSkge1xuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlzdWJuKC1udW0pO1xuXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmICh0aGlzLndvcmRzWzBdIHwgMCkgPD0gbnVtKSB7XG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5pc3VibihudW0pO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBBZGQgd2l0aG91dCBjaGVja3NcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcblxuICAgIC8vIENhcnJ5XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XG4gICAgICB0aGlzLndvcmRzW2ldIC09IDB4NDAwMDAwMDtcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gU3VidHJhY3QgcGxhaW4gbnVtYmVyIGBudW1gIGZyb20gYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcblxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XG5cbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA8IDApIHtcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDYXJyeVxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gKz0gMHg0MDAwMDAwO1xuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5hZGRuID0gZnVuY3Rpb24gYWRkbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pYWJzID0gZnVuY3Rpb24gaWFicyAoKSB7XG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuYWJzID0gZnVuY3Rpb24gYWJzICgpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsID0gZnVuY3Rpb24gX2lzaGxuc3VibXVsIChudW0sIG11bCwgc2hpZnQpIHtcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xuICAgIHZhciBpO1xuXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XG5cbiAgICB2YXIgdztcbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAoaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcbiAgICAgIHcgLT0gcmlnaHQgJiAweDNmZmZmZmY7XG4gICAgICBjYXJyeSA9ICh3ID4+IDI2KSAtICgocmlnaHQgLyAweDQwMDAwMDApIHwgMCk7XG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xuICAgIH1cbiAgICBmb3IgKDsgaSA8IHRoaXMubGVuZ3RoIC0gc2hpZnQ7IGkrKykge1xuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xuICAgICAgY2FycnkgPSB3ID4+IDI2O1xuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcbiAgICB9XG5cbiAgICBpZiAoY2FycnkgPT09IDApIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcbiAgICBhc3NlcnQoY2FycnkgPT09IC0xKTtcbiAgICBjYXJyeSA9IDA7XG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHcgPSAtKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xuICAgICAgY2FycnkgPSB3ID4+IDI2O1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XG4gICAgfVxuICAgIHRoaXMubmVnYXRpdmUgPSAxO1xuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xuICAgIHZhciBzaGlmdCA9IHRoaXMubGVuZ3RoIC0gbnVtLmxlbmd0aDtcblxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xuICAgIHZhciBiID0gbnVtO1xuXG4gICAgLy8gTm9ybWFsaXplXG4gICAgdmFyIGJoaSA9IGIud29yZHNbYi5sZW5ndGggLSAxXSB8IDA7XG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcbiAgICBpZiAoc2hpZnQgIT09IDApIHtcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcbiAgICAgIGJoaSA9IGIud29yZHNbYi5sZW5ndGggLSAxXSB8IDA7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBxdW90aWVudFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcbiAgICB2YXIgcTtcblxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xuICAgICAgcSA9IG5ldyBCTihudWxsKTtcbiAgICAgIHEubGVuZ3RoID0gbSArIDE7XG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xuICAgICAgICBxLndvcmRzW2ldID0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcbiAgICAgIGEgPSBkaWZmO1xuICAgICAgaWYgKHEpIHtcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaiA9IG0gLSAxOyBqID49IDA7IGotLSkge1xuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcblxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcbiAgICAgIC8vICgweDdmZmZmZmYpXG4gICAgICBxaiA9IE1hdGgubWluKChxaiAvIGJoaSkgfCAwLCAweDNmZmZmZmYpO1xuXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XG4gICAgICB3aGlsZSAoYS5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgICBxai0tO1xuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcbiAgICAgICAgYS5faXNobG5zdWJtdWwoYiwgMSwgaik7XG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHEpIHtcbiAgICAgICAgcS53b3Jkc1tqXSA9IHFqO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocSkge1xuICAgICAgcS5fc3RyaXAoKTtcbiAgICB9XG4gICAgYS5fc3RyaXAoKTtcblxuICAgIC8vIERlbm9ybWFsaXplXG4gICAgaWYgKG1vZGUgIT09ICdkaXYnICYmIHNoaWZ0ICE9PSAwKSB7XG4gICAgICBhLml1c2hybihzaGlmdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpdjogcSB8fCBudWxsLFxuICAgICAgbW9kOiBhXG4gICAgfTtcbiAgfTtcblxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxuICAvLyAgICAgICB0byBgZGl2YCB0byByZXF1ZXN0IGRpdiBvbmx5LCBvciBiZSBhYnNlbnQgdG9cbiAgLy8gICAgICAgcmVxdWVzdCBib3RoIGRpdiAmIG1vZFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxuICBCTi5wcm90b3R5cGUuZGl2bW9kID0gZnVuY3Rpb24gZGl2bW9kIChudW0sIG1vZGUsIHBvc2l0aXZlKSB7XG4gICAgYXNzZXJ0KCFudW0uaXNaZXJvKCkpO1xuXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxuICAgICAgICBtb2Q6IG5ldyBCTigwKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgZGl2LCBtb2QsIHJlcztcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bSwgbW9kZSk7XG5cbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xuICAgICAgfVxuXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgICAgIG1vZC5pYWRkKG51bSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBkaXYsXG4gICAgICAgIG1vZDogbW9kXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcblxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogZGl2LFxuICAgICAgICBtb2Q6IHJlcy5tb2RcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcblxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XG4gICAgICAgIG1vZCA9IHJlcy5tb2QubmVnKCk7XG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogcmVzLmRpdixcbiAgICAgICAgbW9kOiBtb2RcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZSBhdCB0aGlzIHBvaW50XG5cbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcbiAgICBpZiAobnVtLmxlbmd0aCA+IHRoaXMubGVuZ3RoIHx8IHRoaXMuY21wKG51bSkgPCAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkaXY6IG5ldyBCTigwKSxcbiAgICAgICAgbW9kOiB0aGlzXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFZlcnkgc2hvcnQgcmVkdWN0aW9uXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcbiAgICAgIGlmIChtb2RlID09PSAnZGl2Jykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXG4gICAgICAgICAgbW9kOiBudWxsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlID09PSAnbW9kJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRpdjogbnVsbCxcbiAgICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZHJuKG51bS53b3Jkc1swXSkpXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXG4gICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kcm4obnVtLndvcmRzWzBdKSlcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3dvcmREaXYobnVtLCBtb2RlKTtcbiAgfTtcblxuICAvLyBGaW5kIGB0aGlzYCAvIGBudW1gXG4gIEJOLnByb3RvdHlwZS5kaXYgPSBmdW5jdGlvbiBkaXYgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xuICB9O1xuXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcbiAgQk4ucHJvdG90eXBlLm1vZCA9IGZ1bmN0aW9uIG1vZCAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIGZhbHNlKS5tb2Q7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVtb2QgPSBmdW5jdGlvbiB1bW9kIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xuICB9O1xuXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXG4gIEJOLnByb3RvdHlwZS5kaXZSb3VuZCA9IGZ1bmN0aW9uIGRpdlJvdW5kIChudW0pIHtcbiAgICB2YXIgZG0gPSB0aGlzLmRpdm1vZChudW0pO1xuXG4gICAgLy8gRmFzdCBjYXNlIC0gZXhhY3QgZGl2aXNpb25cbiAgICBpZiAoZG0ubW9kLmlzWmVybygpKSByZXR1cm4gZG0uZGl2O1xuXG4gICAgdmFyIG1vZCA9IGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLm1vZC5pc3ViKG51bSkgOiBkbS5tb2Q7XG5cbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcbiAgICB2YXIgcjIgPSBudW0uYW5kbG4oMSk7XG4gICAgdmFyIGNtcCA9IG1vZC5jbXAoaGFsZik7XG5cbiAgICAvLyBSb3VuZCBkb3duXG4gICAgaWYgKGNtcCA8IDAgfHwgKHIyID09PSAxICYmIGNtcCA9PT0gMCkpIHJldHVybiBkbS5kaXY7XG5cbiAgICAvLyBSb3VuZCB1cFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLm1vZHJuID0gZnVuY3Rpb24gbW9kcm4gKG51bSkge1xuICAgIHZhciBpc05lZ051bSA9IG51bSA8IDA7XG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xuXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xuICAgIHZhciBwID0gKDEgPDwgMjYpICUgbnVtO1xuXG4gICAgdmFyIGFjYyA9IDA7XG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGFjYyA9IChwICogYWNjICsgKHRoaXMud29yZHNbaV0gfCAwKSkgJSBudW07XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzTmVnTnVtID8gLWFjYyA6IGFjYztcbiAgfTtcblxuICAvLyBXQVJOSU5HOiBERVBSRUNBVEVEXG4gIEJOLnByb3RvdHlwZS5tb2RuID0gZnVuY3Rpb24gbW9kbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kcm4obnVtKTtcbiAgfTtcblxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xuICAgIHZhciBpc05lZ051bSA9IG51bSA8IDA7XG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xuXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xuXG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XG4gICAgICB0aGlzLndvcmRzW2ldID0gKHcgLyBudW0pIHwgMDtcbiAgICAgIGNhcnJ5ID0gdyAlIG51bTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdHJpcCgpO1xuICAgIHJldHVybiBpc05lZ051bSA/IHRoaXMuaW5lZygpIDogdGhpcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZGl2biA9IGZ1bmN0aW9uIGRpdm4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWRpdm4obnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZWdjZCA9IGZ1bmN0aW9uIGVnY2QgKHApIHtcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcblxuICAgIHZhciB4ID0gdGhpcztcbiAgICB2YXIgeSA9IHAuY2xvbmUoKTtcblxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICB4ID0geC51bW9kKHApO1xuICAgIH0gZWxzZSB7XG4gICAgICB4ID0geC5jbG9uZSgpO1xuICAgIH1cblxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XG4gICAgdmFyIEEgPSBuZXcgQk4oMSk7XG4gICAgdmFyIEIgPSBuZXcgQk4oMCk7XG5cbiAgICAvLyBDICogeCArIEQgKiB5ID0geVxuICAgIHZhciBDID0gbmV3IEJOKDApO1xuICAgIHZhciBEID0gbmV3IEJOKDEpO1xuXG4gICAgdmFyIGcgPSAwO1xuXG4gICAgd2hpbGUgKHguaXNFdmVuKCkgJiYgeS5pc0V2ZW4oKSkge1xuICAgICAgeC5pdXNocm4oMSk7XG4gICAgICB5Lml1c2hybigxKTtcbiAgICAgICsrZztcbiAgICB9XG5cbiAgICB2YXIgeXAgPSB5LmNsb25lKCk7XG4gICAgdmFyIHhwID0geC5jbG9uZSgpO1xuXG4gICAgd2hpbGUgKCF4LmlzWmVybygpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoeC53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xuICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgIHguaXVzaHJuKGkpO1xuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XG4gICAgICAgICAgICBBLmlhZGQoeXApO1xuICAgICAgICAgICAgQi5pc3ViKHhwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBBLml1c2hybigxKTtcbiAgICAgICAgICBCLml1c2hybigxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoeS53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xuICAgICAgaWYgKGogPiAwKSB7XG4gICAgICAgIHkuaXVzaHJuKGopO1xuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xuICAgICAgICAgIGlmIChDLmlzT2RkKCkgfHwgRC5pc09kZCgpKSB7XG4gICAgICAgICAgICBDLmlhZGQoeXApO1xuICAgICAgICAgICAgRC5pc3ViKHhwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBDLml1c2hybigxKTtcbiAgICAgICAgICBELml1c2hybigxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xuICAgICAgICB4LmlzdWIoeSk7XG4gICAgICAgIEEuaXN1YihDKTtcbiAgICAgICAgQi5pc3ViKEQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgeS5pc3ViKHgpO1xuICAgICAgICBDLmlzdWIoQSk7XG4gICAgICAgIEQuaXN1YihCKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYTogQyxcbiAgICAgIGI6IEQsXG4gICAgICBnY2Q6IHkuaXVzaGxuKGcpXG4gICAgfTtcbiAgfTtcblxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcbiAgLy8gYWJvdmUsIGRlc2lnbmF0ZWQgdG8gaW52ZXJ0IG1lbWJlcnMgb2YgdGhlXG4gIC8vIF9wcmltZV8gZmllbGRzIEYocCkgYXQgYSBtYXhpbWFsIHNwZWVkXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcblxuICAgIHZhciBhID0gdGhpcztcbiAgICB2YXIgYiA9IHAuY2xvbmUoKTtcblxuICAgIGlmIChhLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICBhID0gYS51bW9kKHApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhID0gYS5jbG9uZSgpO1xuICAgIH1cblxuICAgIHZhciB4MSA9IG5ldyBCTigxKTtcbiAgICB2YXIgeDIgPSBuZXcgQk4oMCk7XG5cbiAgICB2YXIgZGVsdGEgPSBiLmNsb25lKCk7XG5cbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoYS53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xuICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgIGEuaXVzaHJuKGkpO1xuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xuICAgICAgICAgIGlmICh4MS5pc09kZCgpKSB7XG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB4MS5pdXNocm4oMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKGIud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcbiAgICAgIGlmIChqID4gMCkge1xuICAgICAgICBiLml1c2hybihqKTtcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcbiAgICAgICAgICBpZiAoeDIuaXNPZGQoKSkge1xuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChhLmNtcChiKSA+PSAwKSB7XG4gICAgICAgIGEuaXN1YihiKTtcbiAgICAgICAgeDEuaXN1Yih4Mik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiLmlzdWIoYSk7XG4gICAgICAgIHgyLmlzdWIoeDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXM7XG4gICAgaWYgKGEuY21wbigxKSA9PT0gMCkge1xuICAgICAgcmVzID0geDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcyA9IHgyO1xuICAgIH1cblxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcbiAgICAgIHJlcy5pYWRkKHApO1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiBudW0uYWJzKCk7XG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIHRoaXMuYWJzKCk7XG5cbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcbiAgICB2YXIgYiA9IG51bS5jbG9uZSgpO1xuICAgIGEubmVnYXRpdmUgPSAwO1xuICAgIGIubmVnYXRpdmUgPSAwO1xuXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXG4gICAgZm9yICh2YXIgc2hpZnQgPSAwOyBhLmlzRXZlbigpICYmIGIuaXNFdmVuKCk7IHNoaWZ0KyspIHtcbiAgICAgIGEuaXVzaHJuKDEpO1xuICAgICAgYi5pdXNocm4oMSk7XG4gICAgfVxuXG4gICAgZG8ge1xuICAgICAgd2hpbGUgKGEuaXNFdmVuKCkpIHtcbiAgICAgICAgYS5pdXNocm4oMSk7XG4gICAgICB9XG4gICAgICB3aGlsZSAoYi5pc0V2ZW4oKSkge1xuICAgICAgICBiLml1c2hybigxKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHIgPSBhLmNtcChiKTtcbiAgICAgIGlmIChyIDwgMCkge1xuICAgICAgICAvLyBTd2FwIGBhYCBhbmQgYGJgIHRvIG1ha2UgYGFgIGFsd2F5cyBiaWdnZXIgdGhhbiBgYmBcbiAgICAgICAgdmFyIHQgPSBhO1xuICAgICAgICBhID0gYjtcbiAgICAgICAgYiA9IHQ7XG4gICAgICB9IGVsc2UgaWYgKHIgPT09IDAgfHwgYi5jbXBuKDEpID09PSAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBhLmlzdWIoYik7XG4gICAgfSB3aGlsZSAodHJ1ZSk7XG5cbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xuICB9O1xuXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxuICBCTi5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmVnY2QobnVtKS5hLnVtb2QobnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaXNFdmVuID0gZnVuY3Rpb24gaXNFdmVuICgpIHtcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDE7XG4gIH07XG5cbiAgLy8gQW5kIGZpcnN0IHdvcmQgYW5kIG51bVxuICBCTi5wcm90b3R5cGUuYW5kbG4gPSBmdW5jdGlvbiBhbmRsbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XG4gIH07XG5cbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxuICBCTi5wcm90b3R5cGUuYmluY24gPSBmdW5jdGlvbiBiaW5jbiAoYml0KSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInKTtcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XG4gICAgdmFyIHEgPSAxIDw8IHI7XG5cbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xuICAgICAgdGhpcy53b3Jkc1tzXSB8PSBxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJpdCBhbmQgcHJvcGFnYXRlLCBpZiBuZWVkZWRcbiAgICB2YXIgY2FycnkgPSBxO1xuICAgIGZvciAodmFyIGkgPSBzOyBjYXJyeSAhPT0gMCAmJiBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldIHwgMDtcbiAgICAgIHcgKz0gY2Fycnk7XG4gICAgICBjYXJyeSA9IHcgPj4+IDI2O1xuICAgICAgdyAmPSAweDNmZmZmZmY7XG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcbiAgICB9XG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XG4gICAgICB0aGlzLmxlbmd0aCsrO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuY21wbiA9IGZ1bmN0aW9uIGNtcG4gKG51bSkge1xuICAgIHZhciBuZWdhdGl2ZSA9IG51bSA8IDA7XG5cbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiAhbmVnYXRpdmUpIHJldHVybiAtMTtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBuZWdhdGl2ZSkgcmV0dXJuIDE7XG5cbiAgICB0aGlzLl9zdHJpcCgpO1xuXG4gICAgdmFyIHJlcztcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XG4gICAgICByZXMgPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobmVnYXRpdmUpIHtcbiAgICAgICAgbnVtID0gLW51bTtcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYsICdOdW1iZXIgaXMgdG9vIGJpZycpO1xuXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xuICAgICAgcmVzID0gdyA9PT0gbnVtID8gMCA6IHcgPCBudW0gPyAtMSA6IDE7XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICAvLyBDb21wYXJlIHR3byBudW1iZXJzIGFuZCByZXR1cm46XG4gIC8vIDEgLSBpZiBgdGhpc2AgPiBgbnVtYFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXG4gIC8vIC0xIC0gaWYgYHRoaXNgIDwgYG51bWBcbiAgQk4ucHJvdG90eXBlLmNtcCA9IGZ1bmN0aW9uIGNtcCAobnVtKSB7XG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gMTtcblxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgLy8gVW5zaWduZWQgY29tcGFyaXNvblxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGhhdmUgdGhlIHNhbWUgc2lnblxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiAxO1xuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcblxuICAgIHZhciByZXMgPSAwO1xuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgYSA9IHRoaXMud29yZHNbaV0gfCAwO1xuICAgICAgdmFyIGIgPSBudW0ud29yZHNbaV0gfCAwO1xuXG4gICAgICBpZiAoYSA9PT0gYikgY29udGludWU7XG4gICAgICBpZiAoYSA8IGIpIHtcbiAgICAgICAgcmVzID0gLTE7XG4gICAgICB9IGVsc2UgaWYgKGEgPiBiKSB7XG4gICAgICAgIHJlcyA9IDE7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDE7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmd0ID0gZnVuY3Rpb24gZ3QgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAxO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5ndGVuID0gZnVuY3Rpb24gZ3RlbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPj0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubHRuID0gZnVuY3Rpb24gbHRuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IC0xO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5sdCA9IGZ1bmN0aW9uIGx0IChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPD0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubHRlID0gZnVuY3Rpb24gbHRlIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA8PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5lcW4gPSBmdW5jdGlvbiBlcW4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDA7XG4gIH07XG5cbiAgLy9cbiAgLy8gQSByZWR1Y2UgY29udGV4dCwgY291bGQgYmUgdXNpbmcgbW9udGdvbWVyeSBvciBzb21ldGhpbmcgYmV0dGVyLCBkZXBlbmRpbmdcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXG4gIC8vXG4gIEJOLnJlZCA9IGZ1bmN0aW9uIHJlZCAobnVtKSB7XG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XG4gICAgYXNzZXJ0KCF0aGlzLnJlZCwgJ0FscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5fZm9yY2VSZWQgPSBmdW5jdGlvbiBfZm9yY2VSZWQgKGN0eCkge1xuICAgIHRoaXMucmVkID0gY3R4O1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5mb3JjZVJlZCA9IGZ1bmN0aW9uIGZvcmNlUmVkIChjdHgpIHtcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsIG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZElBZGQgPSBmdW5jdGlvbiByZWRJQWRkIChudW0pIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHJldHVybiB0aGlzLnJlZC5pYWRkKHRoaXMsIG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZFN1YiA9IGZ1bmN0aW9uIHJlZFN1YiAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkU2hsID0gZnVuY3Rpb24gcmVkU2hsIChudW0pIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLnNobCh0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRNdWwgPSBmdW5jdGlvbiByZWRNdWwgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xuICAgIHJldHVybiB0aGlzLnJlZC5tdWwodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSU11bCA9IGZ1bmN0aW9uIHJlZElNdWwgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xuICAgIHJldHVybiB0aGlzLnJlZC5pbXVsKHRoaXMsIG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZFNxciA9IGZ1bmN0aW9uIHJlZFNxciAoKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLnJlZC5zcXIodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZElTcXIgPSBmdW5jdGlvbiByZWRJU3FyICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLnJlZC5pc3FyKHRoaXMpO1xuICB9O1xuXG4gIC8vIFNxdWFyZSByb290IG92ZXIgcFxuICBCTi5wcm90b3R5cGUucmVkU3FydCA9IGZ1bmN0aW9uIHJlZFNxcnQgKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcnQodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZEludm0gPSBmdW5jdGlvbiByZWRJbnZtICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpO1xuICB9O1xuXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2AgJSBgcmVkIG1vZHVsb2BcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkICYmICFudW0ucmVkLCAncmVkUG93KG5vcm1hbE51bSknKTtcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XG4gIH07XG5cbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cbiAgdmFyIHByaW1lcyA9IHtcbiAgICBrMjU2OiBudWxsLFxuICAgIHAyMjQ6IG51bGwsXG4gICAgcDE5MjogbnVsbCxcbiAgICBwMjU1MTk6IG51bGxcbiAgfTtcblxuICAvLyBQc2V1ZG8tTWVyc2VubmUgcHJpbWVcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XG4gICAgLy8gUCA9IDIgXiBOIC0gS1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcbiAgICB0aGlzLm4gPSB0aGlzLnAuYml0TGVuZ3RoKCk7XG4gICAgdGhpcy5rID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKTtcblxuICAgIHRoaXMudG1wID0gdGhpcy5fdG1wKCk7XG4gIH1cblxuICBNUHJpbWUucHJvdG90eXBlLl90bXAgPSBmdW5jdGlvbiBfdG1wICgpIHtcbiAgICB2YXIgdG1wID0gbmV3IEJOKG51bGwpO1xuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcbiAgICByZXR1cm4gdG1wO1xuICB9O1xuXG4gIE1QcmltZS5wcm90b3R5cGUuaXJlZHVjZSA9IGZ1bmN0aW9uIGlyZWR1Y2UgKG51bSkge1xuICAgIC8vIEFzc3VtZXMgdGhhdCBgbnVtYCBpcyBsZXNzIHRoYW4gYFBeMmBcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXG4gICAgdmFyIHIgPSBudW07XG4gICAgdmFyIHJsZW47XG5cbiAgICBkbyB7XG4gICAgICB0aGlzLnNwbGl0KHIsIHRoaXMudG1wKTtcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xuICAgICAgciA9IHIuaWFkZCh0aGlzLnRtcCk7XG4gICAgICBybGVuID0gci5iaXRMZW5ndGgoKTtcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcblxuICAgIHZhciBjbXAgPSBybGVuIDwgdGhpcy5uID8gLTEgOiByLnVjbXAodGhpcy5wKTtcbiAgICBpZiAoY21wID09PSAwKSB7XG4gICAgICByLndvcmRzWzBdID0gMDtcbiAgICAgIHIubGVuZ3RoID0gMTtcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcbiAgICAgIHIuaXN1Yih0aGlzLnApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoci5zdHJpcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIHIgaXMgYSBCTiB2NCBpbnN0YW5jZVxuICAgICAgICByLnN0cmlwKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyByIGlzIGEgQk4gdjUgaW5zdGFuY2VcbiAgICAgICAgci5fc3RyaXAoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcjtcbiAgfTtcblxuICBNUHJpbWUucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXQpIHtcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xuICB9O1xuXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XG4gIH07XG5cbiAgZnVuY3Rpb24gSzI1NiAoKSB7XG4gICAgTVByaW1lLmNhbGwoXG4gICAgICB0aGlzLFxuICAgICAgJ2syNTYnLFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmJyk7XG4gIH1cbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcblxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmO1xuXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRMZW47IGkrKykge1xuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XG4gICAgfVxuICAgIG91dHB1dC5sZW5ndGggPSBvdXRMZW47XG5cbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcbiAgICAgIGlucHV0LndvcmRzWzBdID0gMDtcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xuICAgIHZhciBwcmV2ID0gaW5wdXQud29yZHNbOV07XG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcblxuICAgIGZvciAoaSA9IDEwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcbiAgICAgIHByZXYgPSBuZXh0O1xuICAgIH1cbiAgICBwcmV2ID4+Pj0gMjI7XG4gICAgaW5wdXQud29yZHNbaSAtIDEwXSA9IHByZXY7XG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XG4gICAgfVxuICB9O1xuXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xuICAgIC8vIEsgPSAweDEwMDAwMDNkMSA9IFsgMHg0MCwgMHgzZDEgXVxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XG4gICAgbnVtLmxlbmd0aCArPSAyO1xuXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcbiAgICB2YXIgbG8gPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XG4gICAgICBsbyArPSB3ICogMHgzZDE7XG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xuICAgIH1cblxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxuICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XG4gICAgICBudW0ubGVuZ3RoLS07XG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xuICAgICAgICBudW0ubGVuZ3RoLS07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudW07XG4gIH07XG5cbiAgZnVuY3Rpb24gUDIyNCAoKSB7XG4gICAgTVByaW1lLmNhbGwoXG4gICAgICB0aGlzLFxuICAgICAgJ3AyMjQnLFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XG4gIH1cbiAgaW5oZXJpdHMoUDIyNCwgTVByaW1lKTtcblxuICBmdW5jdGlvbiBQMTkyICgpIHtcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAncDE5MicsXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYnKTtcbiAgfVxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xuXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XG4gICAgLy8gMiBeIDI1NSAtIDE5XG4gICAgTVByaW1lLmNhbGwoXG4gICAgICB0aGlzLFxuICAgICAgJzI1NTE5JyxcbiAgICAgICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyk7XG4gIH1cbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xuXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XG4gICAgLy8gSyA9IDB4MTNcbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XG4gICAgICB2YXIgbG8gPSBoaSAmIDB4M2ZmZmZmZjtcbiAgICAgIGhpID4+Pj0gMjY7XG5cbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvO1xuICAgICAgY2FycnkgPSBoaTtcbiAgICB9XG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xuICAgIH1cbiAgICByZXR1cm4gbnVtO1xuICB9O1xuXG4gIC8vIEV4cG9ydGVkIG1vc3RseSBmb3IgdGVzdGluZyBwdXJwb3NlcywgdXNlIHBsYWluIG5hbWUgaW5zdGVhZFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXG4gICAgaWYgKHByaW1lc1tuYW1lXSkgcmV0dXJuIHByaW1lc1tuYW1lXTtcblxuICAgIHZhciBwcmltZTtcbiAgICBpZiAobmFtZSA9PT0gJ2syNTYnKSB7XG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcbiAgICAgIHByaW1lID0gbmV3IFAyMjQoKTtcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyNTUxOScpIHtcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcHJpbWUgJyArIG5hbWUpO1xuICAgIH1cbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcblxuICAgIHJldHVybiBwcmltZTtcbiAgfTtcblxuICAvL1xuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcbiAgLy9cbiAgZnVuY3Rpb24gUmVkIChtKSB7XG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xuICAgICAgdmFyIHByaW1lID0gQk4uX3ByaW1lKG0pO1xuICAgICAgdGhpcy5tID0gcHJpbWUucDtcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XG4gICAgICB0aGlzLm0gPSBtO1xuICAgICAgdGhpcy5wcmltZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xuICAgIGFzc2VydChhLnJlZCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkyID0gZnVuY3Rpb24gX3ZlcmlmeTIgKGEsIGIpIHtcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcbiAgICAgICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5pbW9kID0gZnVuY3Rpb24gaW1vZCAoYSkge1xuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcblxuICAgIG1vdmUoYSwgYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpKTtcbiAgICByZXR1cm4gYTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xuICAgIGlmIChhLmlzWmVybygpKSB7XG4gICAgICByZXR1cm4gYS5jbG9uZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm0uc3ViKGEpLl9mb3JjZVJlZCh0aGlzKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAoYSwgYikge1xuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XG5cbiAgICB2YXIgcmVzID0gYS5hZGQoYik7XG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcblxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcblxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmlzdWIgPSBmdW5jdGlvbiBpc3ViIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcblxuICAgIHZhciByZXMgPSBhLmlzdWIoYik7XG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEudXNobG4obnVtKSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XG4gICAgcmV0dXJuIHRoaXMubXVsKGEsIGEpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuc3FydCA9IGZ1bmN0aW9uIHNxcnQgKGEpIHtcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcblxuICAgIHZhciBtb2QzID0gdGhpcy5tLmFuZGxuKDMpO1xuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XG5cbiAgICAvLyBGYXN0IGNhc2VcbiAgICBpZiAobW9kMyA9PT0gMykge1xuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XG4gICAgICByZXR1cm4gdGhpcy5wb3coYSwgcG93KTtcbiAgICB9XG5cbiAgICAvLyBUb25lbGxpLVNoYW5rcyBhbGdvcml0aG0gKFRvdGFsbHkgdW5vcHRpbWl6ZWQgYW5kIHNsb3cpXG4gICAgLy9cbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxuICAgIHZhciBxID0gdGhpcy5tLnN1Ym4oMSk7XG4gICAgdmFyIHMgPSAwO1xuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XG4gICAgICBzKys7XG4gICAgICBxLml1c2hybigxKTtcbiAgICB9XG4gICAgYXNzZXJ0KCFxLmlzWmVybygpKTtcblxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XG4gICAgdmFyIG5PbmUgPSBvbmUucmVkTmVnKCk7XG5cbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxuICAgIC8vIE5PVEU6IE1heCBpcyBzdWNoIGJlY2F1c2Ugb2YgZ2VuZXJhbGl6ZWQgUmllbWFubiBoeXBvdGhlc2lzLlxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xuICAgIHogPSBuZXcgQk4oMiAqIHogKiB6KS50b1JlZCh0aGlzKTtcblxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcbiAgICAgIHoucmVkSUFkZChuT25lKTtcbiAgICB9XG5cbiAgICB2YXIgYyA9IHRoaXMucG93KHosIHEpO1xuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcbiAgICB2YXIgbSA9IHM7XG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcbiAgICAgIHZhciB0bXAgPSB0O1xuICAgICAgZm9yICh2YXIgaSA9IDA7IHRtcC5jbXAob25lKSAhPT0gMDsgaSsrKSB7XG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcbiAgICAgIH1cbiAgICAgIGFzc2VydChpIDwgbSk7XG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XG5cbiAgICAgIHIgPSByLnJlZE11bChiKTtcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xuICAgICAgdCA9IHQucmVkTXVsKGMpO1xuICAgICAgbSA9IGk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIGludi5uZWdhdGl2ZSA9IDA7XG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KTtcbiAgICB9XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XG4gICAgaWYgKG51bS5jbXBuKDEpID09PSAwKSByZXR1cm4gYS5jbG9uZSgpO1xuXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xuICAgIHZhciB3bmQgPSBuZXcgQXJyYXkoMSA8PCB3aW5kb3dTaXplKTtcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XG4gICAgd25kWzFdID0gYTtcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IHduZC5sZW5ndGg7IGkrKykge1xuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XG4gICAgfVxuXG4gICAgdmFyIHJlcyA9IHduZFswXTtcbiAgICB2YXIgY3VycmVudCA9IDA7XG4gICAgdmFyIGN1cnJlbnRMZW4gPSAwO1xuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xuICAgIGlmIChzdGFydCA9PT0gMCkge1xuICAgICAgc3RhcnQgPSAyNjtcbiAgICB9XG5cbiAgICBmb3IgKGkgPSBudW0ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgdmFyIGJpdCA9ICh3b3JkID4+IGopICYgMTtcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xuICAgICAgICAgIGN1cnJlbnRMZW4gPSAwO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudCA8PD0gMTtcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XG4gICAgICAgIGN1cnJlbnRMZW4rKztcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xuXG4gICAgICAgIHJlcyA9IHRoaXMubXVsKHJlcywgd25kW2N1cnJlbnRdKTtcbiAgICAgICAgY3VycmVudExlbiA9IDA7XG4gICAgICAgIGN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgc3RhcnQgPSAyNjtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XG5cbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcbiAgICByZXMucmVkID0gbnVsbDtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIC8vXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxuICAvL1xuXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcbiAgICByZXR1cm4gbmV3IE1vbnQobnVtKTtcbiAgfTtcblxuICBmdW5jdGlvbiBNb250IChtKSB7XG4gICAgUmVkLmNhbGwodGhpcywgbSk7XG5cbiAgICB0aGlzLnNoaWZ0ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcbiAgICB9XG5cbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xuICAgIHRoaXMucjIgPSB0aGlzLmltb2QodGhpcy5yLnNxcigpKTtcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XG5cbiAgICB0aGlzLm1pbnYgPSB0aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSk7XG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XG4gIH1cbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcblxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcbiAgfTtcblxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xuICAgIHIucmVkID0gbnVsbDtcbiAgICByZXR1cm4gcjtcbiAgfTtcblxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcbiAgICAgIGEud29yZHNbMF0gPSAwO1xuICAgICAgYS5sZW5ndGggPSAxO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfVxuXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XG4gICAgdmFyIHJlcyA9IHU7XG5cbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xuXG4gICAgdmFyIHQgPSBhLm11bChiKTtcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcbiAgICB2YXIgcmVzID0gdTtcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XG4gICAgLy8gKEFSKV4tMSAqIFJeMiA9IChBXi0xICogUl4tMSkgKiBSXjIgPSBBXi0xICogUlxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xufSkodHlwZW9mIG1vZHVsZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbW9kdWxlLCB0aGlzKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/bn.js/lib/bn.js\n")); - -/***/ }), - -/***/ "./node_modules/buffer/index.js": -/*!**************************************!*\ - !*** ./node_modules/buffer/index.js ***! - \**************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nconst base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nconst ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVZOztBQUVaLGVBQWUsbUJBQU8sQ0FBQyxvREFBVztBQUNsQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnREFBUztBQUNqQztBQUNBO0FBQ0E7QUFDQTs7QUFFQSxjQUFjO0FBQ2Qsa0JBQWtCO0FBQ2xCLHlCQUF5Qjs7QUFFekI7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixZQUFZO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSx3Q0FBd0MsU0FBUztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYyxpQkFBaUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixTQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsRUFBRTtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixlQUFlO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLHlCQUF5QixRQUFRO0FBQ2pDO0FBQ0Esc0JBQXNCLGVBQWU7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsWUFBWTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLFNBQVM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHNCQUFzQixTQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQixTQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHNCQUFzQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUI7QUFD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Q047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsWUFBWTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanM/OTAxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIFRoZSBidWZmZXIgbW9kdWxlIGZyb20gbm9kZS5qcywgZm9yIHRoZSBicm93c2VyLlxuICpcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmc+XG4gKiBAbGljZW5zZSAgTUlUXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG5cbid1c2Ugc3RyaWN0J1xuXG5jb25zdCBiYXNlNjQgPSByZXF1aXJlKCdiYXNlNjQtanMnKVxuY29uc3QgaWVlZTc1NCA9IHJlcXVpcmUoJ2llZWU3NTQnKVxuY29uc3QgY3VzdG9tSW5zcGVjdFN5bWJvbCA9XG4gICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBTeW1ib2xbJ2ZvciddID09PSAnZnVuY3Rpb24nKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuICAgID8gU3ltYm9sWydmb3InXSgnbm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20nKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuICAgIDogbnVsbFxuXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxuZXhwb3J0cy5TbG93QnVmZmVyID0gU2xvd0J1ZmZlclxuZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUyA9IDUwXG5cbmNvbnN0IEtfTUFYX0xFTkdUSCA9IDB4N2ZmZmZmZmZcbmV4cG9ydHMua01heExlbmd0aCA9IEtfTUFYX0xFTkdUSFxuXG4vKipcbiAqIElmIGBCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVGA6XG4gKiAgID09PSB0cnVlICAgIFVzZSBVaW50OEFycmF5IGltcGxlbWVudGF0aW9uIChmYXN0ZXN0KVxuICogICA9PT0gZmFsc2UgICBQcmludCB3YXJuaW5nIGFuZCByZWNvbW1lbmQgdXNpbmcgYGJ1ZmZlcmAgdjQueCB3aGljaCBoYXMgYW4gT2JqZWN0XG4gKiAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIChtb3N0IGNvbXBhdGlibGUsIGV2ZW4gSUU2KVxuICpcbiAqIEJyb3dzZXJzIHRoYXQgc3VwcG9ydCB0eXBlZCBhcnJheXMgYXJlIElFIDEwKywgRmlyZWZveCA0KywgQ2hyb21lIDcrLCBTYWZhcmkgNS4xKyxcbiAqIE9wZXJhIDExLjYrLCBpT1MgNC4yKy5cbiAqXG4gKiBXZSByZXBvcnQgdGhhdCB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBpZiB0aGUgYXJlIG5vdCBzdWJjbGFzc2FibGVcbiAqIHVzaW5nIF9fcHJvdG9fXy4gRmlyZWZveCA0LTI5IGxhY2tzIHN1cHBvcnQgZm9yIGFkZGluZyBuZXcgcHJvcGVydGllcyB0byBgVWludDhBcnJheWBcbiAqIChTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOCkuIElFIDEwIGxhY2tzIHN1cHBvcnRcbiAqIGZvciBfX3Byb3RvX18gYW5kIGhhcyBhIGJ1Z2d5IHR5cGVkIGFycmF5IGltcGxlbWVudGF0aW9uLlxuICovXG5CdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCA9IHR5cGVkQXJyYXlTdXBwb3J0KClcblxuaWYgKCFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2YgY29uc29sZS5lcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICBjb25zb2xlLmVycm9yKFxuICAgICdUaGlzIGJyb3dzZXIgbGFja3MgdHlwZWQgYXJyYXkgKFVpbnQ4QXJyYXkpIHN1cHBvcnQgd2hpY2ggaXMgcmVxdWlyZWQgYnkgJyArXG4gICAgJ2BidWZmZXJgIHY1LnguIFVzZSBgYnVmZmVyYCB2NC54IGlmIHlvdSByZXF1aXJlIG9sZCBicm93c2VyIHN1cHBvcnQuJ1xuICApXG59XG5cbmZ1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0ICgpIHtcbiAgLy8gQ2FuIHR5cGVkIGFycmF5IGluc3RhbmNlcyBjYW4gYmUgYXVnbWVudGVkP1xuICB0cnkge1xuICAgIGNvbnN0IGFyciA9IG5ldyBVaW50OEFycmF5KDEpXG4gICAgY29uc3QgcHJvdG8gPSB7IGZvbzogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDIgfSB9XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHByb3RvLCBVaW50OEFycmF5LnByb3RvdHlwZSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoYXJyLCBwcm90bylcbiAgICByZXR1cm4gYXJyLmZvbygpID09PSA0MlxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlci5wcm90b3R5cGUsICdwYXJlbnQnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKHRoaXMpKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXMuYnVmZmVyXG4gIH1cbn0pXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLCAnb2Zmc2V0Jywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih0aGlzKSkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIHJldHVybiB0aGlzLmJ5dGVPZmZzZXRcbiAgfVxufSlcblxuZnVuY3Rpb24gY3JlYXRlQnVmZmVyIChsZW5ndGgpIHtcbiAgaWYgKGxlbmd0aCA+IEtfTUFYX0xFTkdUSCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgXCInICsgbGVuZ3RoICsgJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpXG4gIH1cbiAgLy8gUmV0dXJuIGFuIGF1Z21lbnRlZCBgVWludDhBcnJheWAgaW5zdGFuY2VcbiAgY29uc3QgYnVmID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKVxuICBPYmplY3Quc2V0UHJvdG90eXBlT2YoYnVmLCBCdWZmZXIucHJvdG90eXBlKVxuICByZXR1cm4gYnVmXG59XG5cbi8qKlxuICogVGhlIEJ1ZmZlciBjb25zdHJ1Y3RvciByZXR1cm5zIGluc3RhbmNlcyBvZiBgVWludDhBcnJheWAgdGhhdCBoYXZlIHRoZWlyXG4gKiBwcm90b3R5cGUgY2hhbmdlZCB0byBgQnVmZmVyLnByb3RvdHlwZWAuIEZ1cnRoZXJtb3JlLCBgQnVmZmVyYCBpcyBhIHN1YmNsYXNzIG9mXG4gKiBgVWludDhBcnJheWAsIHNvIHRoZSByZXR1cm5lZCBpbnN0YW5jZXMgd2lsbCBoYXZlIGFsbCB0aGUgbm9kZSBgQnVmZmVyYCBtZXRob2RzXG4gKiBhbmQgdGhlIGBVaW50OEFycmF5YCBtZXRob2RzLiBTcXVhcmUgYnJhY2tldCBub3RhdGlvbiB3b3JrcyBhcyBleHBlY3RlZCAtLSBpdFxuICogcmV0dXJucyBhIHNpbmdsZSBvY3RldC5cbiAqXG4gKiBUaGUgYFVpbnQ4QXJyYXlgIHByb3RvdHlwZSByZW1haW5zIHVubW9kaWZpZWQuXG4gKi9cblxuZnVuY3Rpb24gQnVmZmVyIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICAvLyBDb21tb24gY2FzZS5cbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZ09yT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBzdHJpbmcuIFJlY2VpdmVkIHR5cGUgbnVtYmVyJ1xuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gYWxsb2NVbnNhZmUoYXJnKVxuICB9XG4gIHJldHVybiBmcm9tKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5CdWZmZXIucG9vbFNpemUgPSA4MTkyIC8vIG5vdCB1c2VkIGJ5IHRoaXMgaW1wbGVtZW50YXRpb25cblxuZnVuY3Rpb24gZnJvbSAodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxuICB9XG5cbiAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5Vmlldyh2YWx1ZSlcbiAgfVxuXG4gIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICdUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCAnICtcbiAgICAgICdvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAnICsgKHR5cGVvZiB2YWx1ZSlcbiAgICApXG4gIH1cblxuICBpZiAoaXNJbnN0YW5jZSh2YWx1ZSwgQXJyYXlCdWZmZXIpIHx8XG4gICAgICAodmFsdWUgJiYgaXNJbnN0YW5jZSh2YWx1ZS5idWZmZXIsIEFycmF5QnVmZmVyKSkpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5QnVmZmVyKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBpZiAodHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgKGlzSW5zdGFuY2UodmFsdWUsIFNoYXJlZEFycmF5QnVmZmVyKSB8fFxuICAgICAgKHZhbHVlICYmIGlzSW5zdGFuY2UodmFsdWUuYnVmZmVyLCBTaGFyZWRBcnJheUJ1ZmZlcikpKSkge1xuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICdUaGUgXCJ2YWx1ZVwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlIG51bWJlcidcbiAgICApXG4gIH1cblxuICBjb25zdCB2YWx1ZU9mID0gdmFsdWUudmFsdWVPZiAmJiB2YWx1ZS52YWx1ZU9mKClcbiAgaWYgKHZhbHVlT2YgIT0gbnVsbCAmJiB2YWx1ZU9mICE9PSB2YWx1ZSkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh2YWx1ZU9mLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBjb25zdCBiID0gZnJvbU9iamVjdCh2YWx1ZSlcbiAgaWYgKGIpIHJldHVybiBiXG5cbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1ByaW1pdGl2ZSAhPSBudWxsICYmXG4gICAgICB0eXBlb2YgdmFsdWVbU3ltYm9sLnRvUHJpbWl0aXZlXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh2YWx1ZVtTeW1ib2wudG9QcmltaXRpdmVdKCdzdHJpbmcnKSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxuICB9XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAnVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgJyArXG4gICAgJ29yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICcgKyAodHlwZW9mIHZhbHVlKVxuICApXG59XG5cbi8qKlxuICogRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gQnVmZmVyKGFyZywgZW5jb2RpbmcpIGJ1dCB0aHJvd3MgYSBUeXBlRXJyb3JcbiAqIGlmIHZhbHVlIGlzIGEgbnVtYmVyLlxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxuICogQnVmZmVyLmZyb20oYXJyYXkpXG4gKiBCdWZmZXIuZnJvbShidWZmZXIpXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcbiAqKi9cbkJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGZyb20odmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuLy8gTm90ZTogQ2hhbmdlIHByb3RvdHlwZSAqYWZ0ZXIqIEJ1ZmZlci5mcm9tIGlzIGRlZmluZWQgdG8gd29ya2Fyb3VuZCBDaHJvbWUgYnVnOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvcHVsbC8xNDhcbk9iamVjdC5zZXRQcm90b3R5cGVPZihCdWZmZXIucHJvdG90eXBlLCBVaW50OEFycmF5LnByb3RvdHlwZSlcbk9iamVjdC5zZXRQcm90b3R5cGVPZihCdWZmZXIsIFVpbnQ4QXJyYXkpXG5cbmZ1bmN0aW9uIGFzc2VydFNpemUgKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXInKVxuICB9IGVsc2UgaWYgKHNpemUgPCAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicgKyBzaXplICsgJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpXG4gIH1cbn1cblxuZnVuY3Rpb24gYWxsb2MgKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIGFzc2VydFNpemUoc2l6ZSlcbiAgaWYgKHNpemUgPD0gMCkge1xuICAgIHJldHVybiBjcmVhdGVCdWZmZXIoc2l6ZSlcbiAgfVxuICBpZiAoZmlsbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gT25seSBwYXkgYXR0ZW50aW9uIHRvIGVuY29kaW5nIGlmIGl0J3MgYSBzdHJpbmcuIFRoaXNcbiAgICAvLyBwcmV2ZW50cyBhY2NpZGVudGFsbHkgc2VuZGluZyBpbiBhIG51bWJlciB0aGF0IHdvdWxkXG4gICAgLy8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzdGFydCBvZmZzZXQuXG4gICAgcmV0dXJuIHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZydcbiAgICAgID8gY3JlYXRlQnVmZmVyKHNpemUpLmZpbGwoZmlsbCwgZW5jb2RpbmcpXG4gICAgICA6IGNyZWF0ZUJ1ZmZlcihzaXplKS5maWxsKGZpbGwpXG4gIH1cbiAgcmV0dXJuIGNyZWF0ZUJ1ZmZlcihzaXplKVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqIGFsbG9jKHNpemVbLCBmaWxsWywgZW5jb2RpbmddXSlcbiAqKi9cbkJ1ZmZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICByZXR1cm4gYWxsb2Moc2l6ZSwgZmlsbCwgZW5jb2RpbmcpXG59XG5cbmZ1bmN0aW9uIGFsbG9jVW5zYWZlIChzaXplKSB7XG4gIGFzc2VydFNpemUoc2l6ZSlcbiAgcmV0dXJuIGNyZWF0ZUJ1ZmZlcihzaXplIDwgMCA/IDAgOiBjaGVja2VkKHNpemUpIHwgMClcbn1cblxuLyoqXG4gKiBFcXVpdmFsZW50IHRvIEJ1ZmZlcihudW0pLCBieSBkZWZhdWx0IGNyZWF0ZXMgYSBub24temVyby1maWxsZWQgQnVmZmVyIGluc3RhbmNlLlxuICogKi9cbkJ1ZmZlci5hbGxvY1Vuc2FmZSA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIHJldHVybiBhbGxvY1Vuc2FmZShzaXplKVxufVxuLyoqXG4gKiBFcXVpdmFsZW50IHRvIFNsb3dCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqL1xuQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIHJldHVybiBhbGxvY1Vuc2FmZShzaXplKVxufVxuXG5mdW5jdGlvbiBmcm9tU3RyaW5nIChzdHJpbmcsIGVuY29kaW5nKSB7XG4gIGlmICh0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnIHx8IGVuY29kaW5nID09PSAnJykge1xuICAgIGVuY29kaW5nID0gJ3V0ZjgnXG4gIH1cblxuICBpZiAoIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgfVxuXG4gIGNvbnN0IGxlbmd0aCA9IGJ5dGVMZW5ndGgoc3RyaW5nLCBlbmNvZGluZykgfCAwXG4gIGxldCBidWYgPSBjcmVhdGVCdWZmZXIobGVuZ3RoKVxuXG4gIGNvbnN0IGFjdHVhbCA9IGJ1Zi53cml0ZShzdHJpbmcsIGVuY29kaW5nKVxuXG4gIGlmIChhY3R1YWwgIT09IGxlbmd0aCkge1xuICAgIC8vIFdyaXRpbmcgYSBoZXggc3RyaW5nLCBmb3IgZXhhbXBsZSwgdGhhdCBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMgd2lsbFxuICAgIC8vIGNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGZpcnN0IGludmFsaWQgY2hhcmFjdGVyIHRvIGJlIGlnbm9yZWQuIChlLmcuXG4gICAgLy8gJ2FieHhjZCcgd2lsbCBiZSB0cmVhdGVkIGFzICdhYicpXG4gICAgYnVmID0gYnVmLnNsaWNlKDAsIGFjdHVhbClcbiAgfVxuXG4gIHJldHVybiBidWZcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5TGlrZSAoYXJyYXkpIHtcbiAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoIDwgMCA/IDAgOiBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXG4gIGNvbnN0IGJ1ZiA9IGNyZWF0ZUJ1ZmZlcihsZW5ndGgpXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICBidWZbaV0gPSBhcnJheVtpXSAmIDI1NVxuICB9XG4gIHJldHVybiBidWZcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5VmlldyAoYXJyYXlWaWV3KSB7XG4gIGlmIChpc0luc3RhbmNlKGFycmF5VmlldywgVWludDhBcnJheSkpIHtcbiAgICBjb25zdCBjb3B5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlWaWV3KVxuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIoY29weS5idWZmZXIsIGNvcHkuYnl0ZU9mZnNldCwgY29weS5ieXRlTGVuZ3RoKVxuICB9XG4gIHJldHVybiBmcm9tQXJyYXlMaWtlKGFycmF5Vmlldylcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5QnVmZmVyIChhcnJheSwgYnl0ZU9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmIChieXRlT2Zmc2V0IDwgMCB8fCBhcnJheS5ieXRlTGVuZ3RoIDwgYnl0ZU9mZnNldCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdcIm9mZnNldFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpXG4gIH1cblxuICBpZiAoYXJyYXkuYnl0ZUxlbmd0aCA8IGJ5dGVPZmZzZXQgKyAobGVuZ3RoIHx8IDApKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1wibGVuZ3RoXCIgaXMgb3V0c2lkZSBvZiBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGxldCBidWZcbiAgaWYgKGJ5dGVPZmZzZXQgPT09IHVuZGVmaW5lZCAmJiBsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgIGJ1ZiA9IG5ldyBVaW50OEFycmF5KGFycmF5KVxuICB9IGVsc2UgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYnVmID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQpXG4gIH0gZWxzZSB7XG4gICAgYnVmID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlXG4gIE9iamVjdC5zZXRQcm90b3R5cGVPZihidWYsIEJ1ZmZlci5wcm90b3R5cGUpXG5cbiAgcmV0dXJuIGJ1ZlxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0IChvYmopIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XG4gICAgY29uc3QgbGVuID0gY2hlY2tlZChvYmoubGVuZ3RoKSB8IDBcbiAgICBjb25zdCBidWYgPSBjcmVhdGVCdWZmZXIobGVuKVxuXG4gICAgaWYgKGJ1Zi5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBidWZcbiAgICB9XG5cbiAgICBvYmouY29weShidWYsIDAsIDAsIGxlbilcbiAgICByZXR1cm4gYnVmXG4gIH1cblxuICBpZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBvYmoubGVuZ3RoICE9PSAnbnVtYmVyJyB8fCBudW1iZXJJc05hTihvYmoubGVuZ3RoKSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUJ1ZmZlcigwKVxuICAgIH1cbiAgICByZXR1cm4gZnJvbUFycmF5TGlrZShvYmopXG4gIH1cblxuICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIEFycmF5LmlzQXJyYXkob2JqLmRhdGEpKSB7XG4gICAgcmV0dXJuIGZyb21BcnJheUxpa2Uob2JqLmRhdGEpXG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tlZCAobGVuZ3RoKSB7XG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IEtfTUFYX0xFTkdUSGAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxuICAvLyBsZW5ndGggaXMgTmFOICh3aGljaCBpcyBvdGhlcndpc2UgY29lcmNlZCB0byB6ZXJvLilcbiAgaWYgKGxlbmd0aCA+PSBLX01BWF9MRU5HVEgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAnc2l6ZTogMHgnICsgS19NQVhfTEVOR1RILnRvU3RyaW5nKDE2KSArICcgYnl0ZXMnKVxuICB9XG4gIHJldHVybiBsZW5ndGggfCAwXG59XG5cbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xuICBpZiAoK2xlbmd0aCAhPSBsZW5ndGgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBlcWVxZXFcbiAgICBsZW5ndGggPSAwXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5hbGxvYygrbGVuZ3RoKVxufVxuXG5CdWZmZXIuaXNCdWZmZXIgPSBmdW5jdGlvbiBpc0J1ZmZlciAoYikge1xuICByZXR1cm4gYiAhPSBudWxsICYmIGIuX2lzQnVmZmVyID09PSB0cnVlICYmXG4gICAgYiAhPT0gQnVmZmVyLnByb3RvdHlwZSAvLyBzbyBCdWZmZXIuaXNCdWZmZXIoQnVmZmVyLnByb3RvdHlwZSkgd2lsbCBiZSBmYWxzZVxufVxuXG5CdWZmZXIuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgaWYgKGlzSW5zdGFuY2UoYSwgVWludDhBcnJheSkpIGEgPSBCdWZmZXIuZnJvbShhLCBhLm9mZnNldCwgYS5ieXRlTGVuZ3RoKVxuICBpZiAoaXNJbnN0YW5jZShiLCBVaW50OEFycmF5KSkgYiA9IEJ1ZmZlci5mcm9tKGIsIGIub2Zmc2V0LCBiLmJ5dGVMZW5ndGgpXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGEpIHx8ICFCdWZmZXIuaXNCdWZmZXIoYikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgJ1RoZSBcImJ1ZjFcIiwgXCJidWYyXCIgYXJndW1lbnRzIG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXknXG4gICAgKVxuICB9XG5cbiAgaWYgKGEgPT09IGIpIHJldHVybiAwXG5cbiAgbGV0IHggPSBhLmxlbmd0aFxuICBsZXQgeSA9IGIubGVuZ3RoXG5cbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkge1xuICAgICAgeCA9IGFbaV1cbiAgICAgIHkgPSBiW2ldXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcbiAgcmV0dXJuIDBcbn1cblxuQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiBpc0VuY29kaW5nIChlbmNvZGluZykge1xuICBzd2l0Y2ggKFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ2hleCc6XG4gICAgY2FzZSAndXRmOCc6XG4gICAgY2FzZSAndXRmLTgnOlxuICAgIGNhc2UgJ2FzY2lpJzpcbiAgICBjYXNlICdsYXRpbjEnOlxuICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICBjYXNlICd1Y3MyJzpcbiAgICBjYXNlICd1Y3MtMic6XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgcmV0dXJuIHRydWVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShsaXN0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gIH1cblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICBsZXQgaVxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBsZW5ndGggPSAwXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIGxlbmd0aCArPSBsaXN0W2ldLmxlbmd0aFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW5ndGgpXG4gIGxldCBwb3MgPSAwXG4gIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGJ1ZiA9IGxpc3RbaV1cbiAgICBpZiAoaXNJbnN0YW5jZShidWYsIFVpbnQ4QXJyYXkpKSB7XG4gICAgICBpZiAocG9zICsgYnVmLmxlbmd0aCA+IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkgYnVmID0gQnVmZmVyLmZyb20oYnVmKVxuICAgICAgICBidWYuY29weShidWZmZXIsIHBvcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKFxuICAgICAgICAgIGJ1ZmZlcixcbiAgICAgICAgICBidWYsXG4gICAgICAgICAgcG9zXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmLmNvcHkoYnVmZmVyLCBwb3MpXG4gICAgfVxuICAgIHBvcyArPSBidWYubGVuZ3RoXG4gIH1cbiAgcmV0dXJuIGJ1ZmZlclxufVxuXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChzdHJpbmcsIGVuY29kaW5nKSB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmcubGVuZ3RoXG4gIH1cbiAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyhzdHJpbmcpIHx8IGlzSW5zdGFuY2Uoc3RyaW5nLCBBcnJheUJ1ZmZlcikpIHtcbiAgICByZXR1cm4gc3RyaW5nLmJ5dGVMZW5ndGhcbiAgfVxuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiAnICtcbiAgICAgICdSZWNlaXZlZCB0eXBlICcgKyB0eXBlb2Ygc3RyaW5nXG4gICAgKVxuICB9XG5cbiAgY29uc3QgbGVuID0gc3RyaW5nLmxlbmd0aFxuICBjb25zdCBtdXN0TWF0Y2ggPSAoYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdID09PSB0cnVlKVxuICBpZiAoIW11c3RNYXRjaCAmJiBsZW4gPT09IDApIHJldHVybiAwXG5cbiAgLy8gVXNlIGEgZm9yIGxvb3AgdG8gYXZvaWQgcmVjdXJzaW9uXG4gIGxldCBsb3dlcmVkQ2FzZSA9IGZhbHNlXG4gIGZvciAoOzspIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxlblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICAgIHJldHVybiB1dGY4VG9CeXRlcyhzdHJpbmcpLmxlbmd0aFxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIGxlbiAqIDJcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBsZW4gPj4+IDFcbiAgICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgICAgIHJldHVybiBiYXNlNjRUb0J5dGVzKHN0cmluZykubGVuZ3RoXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHtcbiAgICAgICAgICByZXR1cm4gbXVzdE1hdGNoID8gLTEgOiB1dGY4VG9CeXRlcyhzdHJpbmcpLmxlbmd0aCAvLyBhc3N1bWUgdXRmOFxuICAgICAgICB9XG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5CdWZmZXIuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcblxuZnVuY3Rpb24gc2xvd1RvU3RyaW5nIChlbmNvZGluZywgc3RhcnQsIGVuZCkge1xuICBsZXQgbG93ZXJlZENhc2UgPSBmYWxzZVxuXG4gIC8vIE5vIG5lZWQgdG8gdmVyaWZ5IHRoYXQgXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXCIgc2luY2UgaXQncyBhIHJlYWQtb25seVxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxuXG4gIC8vIFRoaXMgYmVoYXZlcyBuZWl0aGVyIGxpa2UgU3RyaW5nIG5vciBVaW50OEFycmF5IGluIHRoYXQgd2Ugc2V0IHN0YXJ0L2VuZFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXG4gIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNwZWNpYWxseSBhcyBwZXIgRUNNQS0yNjIgNnRoIEVkaXRpb24sXG4gIC8vIFNlY3Rpb24gMTMuMy4zLjcgUnVudGltZSBTZW1hbnRpY3M6IEtleWVkQmluZGluZ0luaXRpYWxpemF0aW9uLlxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxuICAvLyBjb2VyY2lvbiBmYWlsIGJlbG93LlxuICBpZiAoc3RhcnQgPiB0aGlzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgZW5kID0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIGlmIChlbmQgPD0gMCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgLy8gRm9yY2UgY29lcmNpb24gdG8gdWludDMyLiBUaGlzIHdpbGwgYWxzbyBjb2VyY2UgZmFsc2V5L05hTiB2YWx1ZXMgdG8gMC5cbiAgZW5kID4+Pj0gMFxuICBzdGFydCA+Pj49IDBcblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgc3dpdGNoIChlbmNvZGluZykge1xuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgY2FzZSAndXRmLTgnOlxuICAgICAgICByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgICAgcmV0dXJuIGFzY2lpU2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnbGF0aW4xJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAgIHJldHVybiBsYXRpbjFTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGJ5IGBCdWZmZXIuaXNCdWZmZXJgIChhbmQgdGhlIGBpcy1idWZmZXJgIG5wbSBwYWNrYWdlKVxuLy8gdG8gZGV0ZWN0IGEgQnVmZmVyIGluc3RhbmNlLiBJdCdzIG5vdCBwb3NzaWJsZSB0byB1c2UgYGluc3RhbmNlb2YgQnVmZmVyYFxuLy8gcmVsaWFibHkgaW4gYSBicm93c2VyaWZ5IGNvbnRleHQgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBtdWx0aXBsZSBkaWZmZXJlbnRcbi8vIGNvcGllcyBvZiB0aGUgJ2J1ZmZlcicgcGFja2FnZSBpbiB1c2UuIFRoaXMgbWV0aG9kIHdvcmtzIGV2ZW4gZm9yIEJ1ZmZlclxuLy8gaW5zdGFuY2VzIHRoYXQgd2VyZSBjcmVhdGVkIGZyb20gYW5vdGhlciBjb3B5IG9mIHRoZSBgYnVmZmVyYCBwYWNrYWdlLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmVyb3NzL2J1ZmZlci9pc3N1ZXMvMTU0XG5CdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlciA9IHRydWVcblxuZnVuY3Rpb24gc3dhcCAoYiwgbiwgbSkge1xuICBjb25zdCBpID0gYltuXVxuICBiW25dID0gYlttXVxuICBiW21dID0gaVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXAxNiA9IGZ1bmN0aW9uIHN3YXAxNiAoKSB7XG4gIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSAyICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzJylcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSAyKSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMSlcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXAzMiA9IGZ1bmN0aW9uIHN3YXAzMiAoKSB7XG4gIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA0ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgMilcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XG4gIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA4ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzJylcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSA4KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgNylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgNilcbiAgICBzd2FwKHRoaXMsIGkgKyAyLCBpICsgNSlcbiAgICBzd2FwKHRoaXMsIGkgKyAzLCBpICsgNClcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKCkge1xuICBjb25zdCBsZW5ndGggPSB0aGlzLmxlbmd0aFxuICBpZiAobGVuZ3RoID09PSAwKSByZXR1cm4gJydcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHJldHVybiB1dGY4U2xpY2UodGhpcywgMCwgbGVuZ3RoKVxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuQnVmZmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyA9IEJ1ZmZlci5wcm90b3R5cGUudG9TdHJpbmdcblxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICBpZiAodGhpcyA9PT0gYikgcmV0dXJuIHRydWVcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xuICBsZXQgc3RyID0gJydcbiAgY29uc3QgbWF4ID0gZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFU1xuICBzdHIgPSB0aGlzLnRvU3RyaW5nKCdoZXgnLCAwLCBtYXgpLnJlcGxhY2UoLyguezJ9KS9nLCAnJDEgJykudHJpbSgpXG4gIGlmICh0aGlzLmxlbmd0aCA+IG1heCkgc3RyICs9ICcgLi4uICdcbiAgcmV0dXJuICc8QnVmZmVyICcgKyBzdHIgKyAnPidcbn1cbmlmIChjdXN0b21JbnNwZWN0U3ltYm9sKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGVbY3VzdG9tSW5zcGVjdFN5bWJvbF0gPSBCdWZmZXIucHJvdG90eXBlLmluc3BlY3Rcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5jb21wYXJlID0gZnVuY3Rpb24gY29tcGFyZSAodGFyZ2V0LCBzdGFydCwgZW5kLCB0aGlzU3RhcnQsIHRoaXNFbmQpIHtcbiAgaWYgKGlzSW5zdGFuY2UodGFyZ2V0LCBVaW50OEFycmF5KSkge1xuICAgIHRhcmdldCA9IEJ1ZmZlci5mcm9tKHRhcmdldCwgdGFyZ2V0Lm9mZnNldCwgdGFyZ2V0LmJ5dGVMZW5ndGgpXG4gIH1cbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodGFyZ2V0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAnVGhlIFwidGFyZ2V0XCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheS4gJyArXG4gICAgICAnUmVjZWl2ZWQgdHlwZSAnICsgKHR5cGVvZiB0YXJnZXQpXG4gICAgKVxuICB9XG5cbiAgaWYgKHN0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmQgPSB0YXJnZXQgPyB0YXJnZXQubGVuZ3RoIDogMFxuICB9XG4gIGlmICh0aGlzU3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRoaXNTdGFydCA9IDBcbiAgfVxuICBpZiAodGhpc0VuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhpc0VuZCA9IHRoaXMubGVuZ3RoXG4gIH1cblxuICBpZiAoc3RhcnQgPCAwIHx8IGVuZCA+IHRhcmdldC5sZW5ndGggfHwgdGhpc1N0YXJ0IDwgMCB8fCB0aGlzRW5kID4gdGhpcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb3V0IG9mIHJhbmdlIGluZGV4JylcbiAgfVxuXG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCAmJiBzdGFydCA+PSBlbmQpIHtcbiAgICByZXR1cm4gMFxuICB9XG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCkge1xuICAgIHJldHVybiAtMVxuICB9XG4gIGlmIChzdGFydCA+PSBlbmQpIHtcbiAgICByZXR1cm4gMVxuICB9XG5cbiAgc3RhcnQgPj4+PSAwXG4gIGVuZCA+Pj49IDBcbiAgdGhpc1N0YXJ0ID4+Pj0gMFxuICB0aGlzRW5kID4+Pj0gMFxuXG4gIGlmICh0aGlzID09PSB0YXJnZXQpIHJldHVybiAwXG5cbiAgbGV0IHggPSB0aGlzRW5kIC0gdGhpc1N0YXJ0XG4gIGxldCB5ID0gZW5kIC0gc3RhcnRcbiAgY29uc3QgbGVuID0gTWF0aC5taW4oeCwgeSlcblxuICBjb25zdCB0aGlzQ29weSA9IHRoaXMuc2xpY2UodGhpc1N0YXJ0LCB0aGlzRW5kKVxuICBjb25zdCB0YXJnZXRDb3B5ID0gdGFyZ2V0LnNsaWNlKHN0YXJ0LCBlbmQpXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgIGlmICh0aGlzQ29weVtpXSAhPT0gdGFyZ2V0Q29weVtpXSkge1xuICAgICAgeCA9IHRoaXNDb3B5W2ldXG4gICAgICB5ID0gdGFyZ2V0Q29weVtpXVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoeCA8IHkpIHJldHVybiAtMVxuICBpZiAoeSA8IHgpIHJldHVybiAxXG4gIHJldHVybiAwXG59XG5cbi8vIEZpbmRzIGVpdGhlciB0aGUgZmlyc3QgaW5kZXggb2YgYHZhbGAgaW4gYGJ1ZmZlcmAgYXQgb2Zmc2V0ID49IGBieXRlT2Zmc2V0YCxcbi8vIE9SIHRoZSBsYXN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA8PSBgYnl0ZU9mZnNldGAuXG4vL1xuLy8gQXJndW1lbnRzOlxuLy8gLSBidWZmZXIgLSBhIEJ1ZmZlciB0byBzZWFyY2hcbi8vIC0gdmFsIC0gYSBzdHJpbmcsIEJ1ZmZlciwgb3IgbnVtYmVyXG4vLyAtIGJ5dGVPZmZzZXQgLSBhbiBpbmRleCBpbnRvIGBidWZmZXJgOyB3aWxsIGJlIGNsYW1wZWQgdG8gYW4gaW50MzJcbi8vIC0gZW5jb2RpbmcgLSBhbiBvcHRpb25hbCBlbmNvZGluZywgcmVsZXZhbnQgaXMgdmFsIGlzIGEgc3RyaW5nXG4vLyAtIGRpciAtIHRydWUgZm9yIGluZGV4T2YsIGZhbHNlIGZvciBsYXN0SW5kZXhPZlxuZnVuY3Rpb24gYmlkaXJlY3Rpb25hbEluZGV4T2YgKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKSB7XG4gIC8vIEVtcHR5IGJ1ZmZlciBtZWFucyBubyBtYXRjaFxuICBpZiAoYnVmZmVyLmxlbmd0aCA9PT0gMCkgcmV0dXJuIC0xXG5cbiAgLy8gTm9ybWFsaXplIGJ5dGVPZmZzZXRcbiAgaWYgKHR5cGVvZiBieXRlT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgIGVuY29kaW5nID0gYnl0ZU9mZnNldFxuICAgIGJ5dGVPZmZzZXQgPSAwXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA+IDB4N2ZmZmZmZmYpIHtcbiAgICBieXRlT2Zmc2V0ID0gMHg3ZmZmZmZmZlxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPCAtMHg4MDAwMDAwMCkge1xuICAgIGJ5dGVPZmZzZXQgPSAtMHg4MDAwMDAwMFxuICB9XG4gIGJ5dGVPZmZzZXQgPSArYnl0ZU9mZnNldCAvLyBDb2VyY2UgdG8gTnVtYmVyLlxuICBpZiAobnVtYmVySXNOYU4oYnl0ZU9mZnNldCkpIHtcbiAgICAvLyBieXRlT2Zmc2V0OiBpdCBpdCdzIHVuZGVmaW5lZCwgbnVsbCwgTmFOLCBcImZvb1wiLCBldGMsIHNlYXJjaCB3aG9sZSBidWZmZXJcbiAgICBieXRlT2Zmc2V0ID0gZGlyID8gMCA6IChidWZmZXIubGVuZ3RoIC0gMSlcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBieXRlT2Zmc2V0OiBuZWdhdGl2ZSBvZmZzZXRzIHN0YXJ0IGZyb20gdGhlIGVuZCBvZiB0aGUgYnVmZmVyXG4gIGlmIChieXRlT2Zmc2V0IDwgMCkgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggKyBieXRlT2Zmc2V0XG4gIGlmIChieXRlT2Zmc2V0ID49IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICBpZiAoZGlyKSByZXR1cm4gLTFcbiAgICBlbHNlIGJ5dGVPZmZzZXQgPSBidWZmZXIubGVuZ3RoIC0gMVxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPCAwKSB7XG4gICAgaWYgKGRpcikgYnl0ZU9mZnNldCA9IDBcbiAgICBlbHNlIHJldHVybiAtMVxuICB9XG5cbiAgLy8gTm9ybWFsaXplIHZhbFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICB2YWwgPSBCdWZmZXIuZnJvbSh2YWwsIGVuY29kaW5nKVxuICB9XG5cbiAgLy8gRmluYWxseSwgc2VhcmNoIGVpdGhlciBpbmRleE9mIChpZiBkaXIgaXMgdHJ1ZSkgb3IgbGFzdEluZGV4T2ZcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWwpKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBsb29raW5nIGZvciBlbXB0eSBzdHJpbmcvYnVmZmVyIGFsd2F5cyBmYWlsc1xuICAgIGlmICh2YWwubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gLTFcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5SW5kZXhPZihidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcilcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDB4RkYgLy8gU2VhcmNoIGZvciBhIGJ5dGUgdmFsdWUgWzAtMjU1XVxuICAgIGlmICh0eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKGRpcikge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCBbdmFsXSwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcilcbiAgfVxuXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ3ZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlcicpXG59XG5cbmZ1bmN0aW9uIGFycmF5SW5kZXhPZiAoYXJyLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpIHtcbiAgbGV0IGluZGV4U2l6ZSA9IDFcbiAgbGV0IGFyckxlbmd0aCA9IGFyci5sZW5ndGhcbiAgbGV0IHZhbExlbmd0aCA9IHZhbC5sZW5ndGhcblxuICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgIGVuY29kaW5nID0gU3RyaW5nKGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpXG4gICAgaWYgKGVuY29kaW5nID09PSAndWNzMicgfHwgZW5jb2RpbmcgPT09ICd1Y3MtMicgfHxcbiAgICAgICAgZW5jb2RpbmcgPT09ICd1dGYxNmxlJyB8fCBlbmNvZGluZyA9PT0gJ3V0Zi0xNmxlJykge1xuICAgICAgaWYgKGFyci5sZW5ndGggPCAyIHx8IHZhbC5sZW5ndGggPCAyKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgICAgfVxuICAgICAgaW5kZXhTaXplID0gMlxuICAgICAgYXJyTGVuZ3RoIC89IDJcbiAgICAgIHZhbExlbmd0aCAvPSAyXG4gICAgICBieXRlT2Zmc2V0IC89IDJcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFkIChidWYsIGkpIHtcbiAgICBpZiAoaW5kZXhTaXplID09PSAxKSB7XG4gICAgICByZXR1cm4gYnVmW2ldXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBidWYucmVhZFVJbnQxNkJFKGkgKiBpbmRleFNpemUpXG4gICAgfVxuICB9XG5cbiAgbGV0IGlcbiAgaWYgKGRpcikge1xuICAgIGxldCBmb3VuZEluZGV4ID0gLTFcbiAgICBmb3IgKGkgPSBieXRlT2Zmc2V0OyBpIDwgYXJyTGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChyZWFkKGFyciwgaSkgPT09IHJlYWQodmFsLCBmb3VuZEluZGV4ID09PSAtMSA/IDAgOiBpIC0gZm91bmRJbmRleCkpIHtcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggPT09IC0xKSBmb3VuZEluZGV4ID0gaVxuICAgICAgICBpZiAoaSAtIGZvdW5kSW5kZXggKyAxID09PSB2YWxMZW5ndGgpIHJldHVybiBmb3VuZEluZGV4ICogaW5kZXhTaXplXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZm91bmRJbmRleCAhPT0gLTEpIGkgLT0gaSAtIGZvdW5kSW5kZXhcbiAgICAgICAgZm91bmRJbmRleCA9IC0xXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChieXRlT2Zmc2V0ICsgdmFsTGVuZ3RoID4gYXJyTGVuZ3RoKSBieXRlT2Zmc2V0ID0gYXJyTGVuZ3RoIC0gdmFsTGVuZ3RoXG4gICAgZm9yIChpID0gYnl0ZU9mZnNldDsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGxldCBmb3VuZCA9IHRydWVcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsTGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKHJlYWQoYXJyLCBpICsgaikgIT09IHJlYWQodmFsLCBqKSkge1xuICAgICAgICAgIGZvdW5kID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZm91bmQpIHJldHVybiBpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5jbHVkZXMgPSBmdW5jdGlvbiBpbmNsdWRlcyAodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykge1xuICByZXR1cm4gdGhpcy5pbmRleE9mKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpICE9PSAtMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiBpbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCB0cnVlKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmxhc3RJbmRleE9mID0gZnVuY3Rpb24gbGFzdEluZGV4T2YgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcbiAgcmV0dXJuIGJpZGlyZWN0aW9uYWxJbmRleE9mKHRoaXMsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGZhbHNlKVxufVxuXG5mdW5jdGlvbiBoZXhXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIG9mZnNldCA9IE51bWJlcihvZmZzZXQpIHx8IDBcbiAgY29uc3QgcmVtYWluaW5nID0gYnVmLmxlbmd0aCAtIG9mZnNldFxuICBpZiAoIWxlbmd0aCkge1xuICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xuICB9IGVsc2Uge1xuICAgIGxlbmd0aCA9IE51bWJlcihsZW5ndGgpXG4gICAgaWYgKGxlbmd0aCA+IHJlbWFpbmluZykge1xuICAgICAgbGVuZ3RoID0gcmVtYWluaW5nXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RyTGVuID0gc3RyaW5nLmxlbmd0aFxuXG4gIGlmIChsZW5ndGggPiBzdHJMZW4gLyAyKSB7XG4gICAgbGVuZ3RoID0gc3RyTGVuIC8gMlxuICB9XG4gIGxldCBpXG4gIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHN0cmluZy5zdWJzdHIoaSAqIDIsIDIpLCAxNilcbiAgICBpZiAobnVtYmVySXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSBwYXJzZWRcbiAgfVxuICByZXR1cm4gaVxufVxuXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBhc2NpaVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYXNjaWlUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGJhc2U2NFdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYmFzZTY0VG9CeXRlcyhzdHJpbmcpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiB1Y3MyV3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKHN0cmluZywgb2Zmc2V0LCBsZW5ndGgsIGVuY29kaW5nKSB7XG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcpXG4gIGlmIChvZmZzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGhcbiAgICBvZmZzZXQgPSAwXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIGVuY29kaW5nKVxuICB9IGVsc2UgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiBvZmZzZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jb2RpbmcgPSBvZmZzZXRcbiAgICBsZW5ndGggPSB0aGlzLmxlbmd0aFxuICAgIG9mZnNldCA9IDBcbiAgLy8gQnVmZmVyI3dyaXRlKHN0cmluZywgb2Zmc2V0WywgbGVuZ3RoXVssIGVuY29kaW5nXSlcbiAgfSBlbHNlIGlmIChpc0Zpbml0ZShvZmZzZXQpKSB7XG4gICAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gICAgaWYgKGlzRmluaXRlKGxlbmd0aCkpIHtcbiAgICAgIGxlbmd0aCA9IGxlbmd0aCA+Pj4gMFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgfSBlbHNlIHtcbiAgICAgIGVuY29kaW5nID0gbGVuZ3RoXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0J1ZmZlci53cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXRbLCBsZW5ndGhdKSBpcyBubyBsb25nZXIgc3VwcG9ydGVkJ1xuICAgIClcbiAgfVxuXG4gIGNvbnN0IHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCB8fCBsZW5ndGggPiByZW1haW5pbmcpIGxlbmd0aCA9IHJlbWFpbmluZ1xuXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0F0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gJ3V0ZjgnXG5cbiAgbGV0IGxvd2VyZWRDYXNlID0gZmFsc2VcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBoZXhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuIHV0ZjhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGFzY2lpV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcbiAgICAgICAgcmV0dXJuIGJhc2U2NFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiB1Y3MyV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jb2RpbmcpXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQnVmZmVyJyxcbiAgICBkYXRhOiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnIgfHwgdGhpcywgMClcbiAgfVxufVxuXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGlmIChzdGFydCA9PT0gMCAmJiBlbmQgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYuc2xpY2Uoc3RhcnQsIGVuZCkpXG4gIH1cbn1cblxuZnVuY3Rpb24gdXRmOFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuICBjb25zdCByZXMgPSBbXVxuXG4gIGxldCBpID0gc3RhcnRcbiAgd2hpbGUgKGkgPCBlbmQpIHtcbiAgICBjb25zdCBmaXJzdEJ5dGUgPSBidWZbaV1cbiAgICBsZXQgY29kZVBvaW50ID0gbnVsbFxuICAgIGxldCBieXRlc1BlclNlcXVlbmNlID0gKGZpcnN0Qnl0ZSA+IDB4RUYpXG4gICAgICA/IDRcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4REYpXG4gICAgICAgICAgPyAzXG4gICAgICAgICAgOiAoZmlyc3RCeXRlID4gMHhCRilcbiAgICAgICAgICAgICAgPyAyXG4gICAgICAgICAgICAgIDogMVxuXG4gICAgaWYgKGkgKyBieXRlc1BlclNlcXVlbmNlIDw9IGVuZCkge1xuICAgICAgbGV0IHNlY29uZEJ5dGUsIHRoaXJkQnl0ZSwgZm91cnRoQnl0ZSwgdGVtcENvZGVQb2ludFxuXG4gICAgICBzd2l0Y2ggKGJ5dGVzUGVyU2VxdWVuY2UpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmIChmaXJzdEJ5dGUgPCAweDgwKSB7XG4gICAgICAgICAgICBjb2RlUG9pbnQgPSBmaXJzdEJ5dGVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODApIHtcbiAgICAgICAgICAgIHRlbXBDb2RlUG9pbnQgPSAoZmlyc3RCeXRlICYgMHgxRikgPDwgMHg2IHwgKHNlY29uZEJ5dGUgJiAweDNGKVxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXG4gICAgICAgICAgdGhpcmRCeXRlID0gYnVmW2kgKyAyXVxuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwICYmICh0aGlyZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4QyB8IChzZWNvbmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKHRoaXJkQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4N0ZGICYmICh0ZW1wQ29kZVBvaW50IDwgMHhEODAwIHx8IHRlbXBDb2RlUG9pbnQgPiAweERGRkYpKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXG4gICAgICAgICAgdGhpcmRCeXRlID0gYnVmW2kgKyAyXVxuICAgICAgICAgIGZvdXJ0aEJ5dGUgPSBidWZbaSArIDNdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwICYmIChmb3VydGhCeXRlICYgMHhDMCkgPT09IDB4ODApIHtcbiAgICAgICAgICAgIHRlbXBDb2RlUG9pbnQgPSAoZmlyc3RCeXRlICYgMHhGKSA8PCAweDEyIHwgKHNlY29uZEJ5dGUgJiAweDNGKSA8PCAweEMgfCAodGhpcmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKGZvdXJ0aEJ5dGUgJiAweDNGKVxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweEZGRkYgJiYgdGVtcENvZGVQb2ludCA8IDB4MTEwMDAwKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvZGVQb2ludCA9PT0gbnVsbCkge1xuICAgICAgLy8gd2UgZGlkIG5vdCBnZW5lcmF0ZSBhIHZhbGlkIGNvZGVQb2ludCBzbyBpbnNlcnQgYVxuICAgICAgLy8gcmVwbGFjZW1lbnQgY2hhciAoVStGRkZEKSBhbmQgYWR2YW5jZSBvbmx5IDEgYnl0ZVxuICAgICAgY29kZVBvaW50ID0gMHhGRkZEXG4gICAgICBieXRlc1BlclNlcXVlbmNlID0gMVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50ID4gMHhGRkZGKSB7XG4gICAgICAvLyBlbmNvZGUgdG8gdXRmMTYgKHN1cnJvZ2F0ZSBwYWlyIGRhbmNlKVxuICAgICAgY29kZVBvaW50IC09IDB4MTAwMDBcbiAgICAgIHJlcy5wdXNoKGNvZGVQb2ludCA+Pj4gMTAgJiAweDNGRiB8IDB4RDgwMClcbiAgICAgIGNvZGVQb2ludCA9IDB4REMwMCB8IGNvZGVQb2ludCAmIDB4M0ZGXG4gICAgfVxuXG4gICAgcmVzLnB1c2goY29kZVBvaW50KVxuICAgIGkgKz0gYnl0ZXNQZXJTZXF1ZW5jZVxuICB9XG5cbiAgcmV0dXJuIGRlY29kZUNvZGVQb2ludHNBcnJheShyZXMpXG59XG5cbi8vIEJhc2VkIG9uIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIyNzQ3MjcyLzY4MDc0MiwgdGhlIGJyb3dzZXIgd2l0aFxuLy8gdGhlIGxvd2VzdCBsaW1pdCBpcyBDaHJvbWUsIHdpdGggMHgxMDAwMCBhcmdzLlxuLy8gV2UgZ28gMSBtYWduaXR1ZGUgbGVzcywgZm9yIHNhZmV0eVxuY29uc3QgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcblxuZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5IChjb2RlUG9pbnRzKSB7XG4gIGNvbnN0IGxlbiA9IGNvZGVQb2ludHMubGVuZ3RoXG4gIGlmIChsZW4gPD0gTUFYX0FSR1VNRU5UU19MRU5HVEgpIHtcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIGNvZGVQb2ludHMpIC8vIGF2b2lkIGV4dHJhIHNsaWNlKClcbiAgfVxuXG4gIC8vIERlY29kZSBpbiBjaHVua3MgdG8gYXZvaWQgXCJjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWRcIi5cbiAgbGV0IHJlcyA9ICcnXG4gIGxldCBpID0gMFxuICB3aGlsZSAoaSA8IGxlbikge1xuICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFxuICAgICAgU3RyaW5nLFxuICAgICAgY29kZVBvaW50cy5zbGljZShpLCBpICs9IE1BWF9BUkdVTUVOVFNfTEVOR1RIKVxuICAgIClcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGFzY2lpU2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xuICBsZXQgcmV0ID0gJydcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuXG4gIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgcmV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldICYgMHg3RilcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbmZ1bmN0aW9uIGxhdGluMVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgbGV0IHJldCA9ICcnXG4gIGVuZCA9IE1hdGgubWluKGJ1Zi5sZW5ndGgsIGVuZClcblxuICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIHJldCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSlcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbmZ1bmN0aW9uIGhleFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgY29uc3QgbGVuID0gYnVmLmxlbmd0aFxuXG4gIGlmICghc3RhcnQgfHwgc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgaWYgKCFlbmQgfHwgZW5kIDwgMCB8fCBlbmQgPiBsZW4pIGVuZCA9IGxlblxuXG4gIGxldCBvdXQgPSAnJ1xuICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIG91dCArPSBoZXhTbGljZUxvb2t1cFRhYmxlW2J1ZltpXV1cbiAgfVxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGNvbnN0IGJ5dGVzID0gYnVmLnNsaWNlKHN0YXJ0LCBlbmQpXG4gIGxldCByZXMgPSAnJ1xuICAvLyBJZiBieXRlcy5sZW5ndGggaXMgb2RkLCB0aGUgbGFzdCA4IGJpdHMgbXVzdCBiZSBpZ25vcmVkIChzYW1lIGFzIG5vZGUuanMpXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoIC0gMTsgaSArPSAyKSB7XG4gICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZXNbaV0gKyAoYnl0ZXNbaSArIDFdICogMjU2KSlcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiBzbGljZSAoc3RhcnQsIGVuZCkge1xuICBjb25zdCBsZW4gPSB0aGlzLmxlbmd0aFxuICBzdGFydCA9IH5+c3RhcnRcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxuXG4gIGlmIChzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSBsZW5cbiAgICBpZiAoc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgfSBlbHNlIGlmIChzdGFydCA+IGxlbikge1xuICAgIHN0YXJ0ID0gbGVuXG4gIH1cblxuICBpZiAoZW5kIDwgMCkge1xuICAgIGVuZCArPSBsZW5cbiAgICBpZiAoZW5kIDwgMCkgZW5kID0gMFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xuICAgIGVuZCA9IGxlblxuICB9XG5cbiAgaWYgKGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxuXG4gIGNvbnN0IG5ld0J1ZiA9IHRoaXMuc3ViYXJyYXkoc3RhcnQsIGVuZClcbiAgLy8gUmV0dXJuIGFuIGF1Z21lbnRlZCBgVWludDhBcnJheWAgaW5zdGFuY2VcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG5ld0J1ZiwgQnVmZmVyLnByb3RvdHlwZSlcblxuICByZXR1cm4gbmV3QnVmXG59XG5cbi8qXG4gKiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpc24ndCB0cnlpbmcgdG8gd3JpdGUgb3V0IG9mIGJvdW5kcy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcbiAgaWYgKChvZmZzZXQgJSAxKSAhPT0gMCB8fCBvZmZzZXQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb2Zmc2V0IGlzIG5vdCB1aW50JylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50TEUgPVxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludExFID0gZnVuY3Rpb24gcmVhZFVJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aClcblxuICBsZXQgdmFsID0gdGhpc1tvZmZzZXRdXG4gIGxldCBtdWwgPSAxXG4gIGxldCBpID0gMFxuICB3aGlsZSAoKytpIDwgYnl0ZUxlbmd0aCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIGldICogbXVsXG4gIH1cblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVpbnRCRSA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50QkUgPSBmdW5jdGlvbiByZWFkVUludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aClcbiAgfVxuXG4gIGxldCB2YWwgPSB0aGlzW29mZnNldCArIC0tYnl0ZUxlbmd0aF1cbiAgbGV0IG11bCA9IDFcbiAgd2hpbGUgKGJ5dGVMZW5ndGggPiAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXSAqIG11bFxuICB9XG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50OCA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OCA9IGZ1bmN0aW9uIHJlYWRVSW50OCAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAxLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50MTZMRSA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVpbnQxNkJFID1cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFID0gZnVuY3Rpb24gcmVhZFVJbnQxNkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCA4KSB8IHRoaXNbb2Zmc2V0ICsgMV1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVWludDMyTEUgPVxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyTEUgPSBmdW5jdGlvbiByZWFkVUludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXG5cbiAgcmV0dXJuICgodGhpc1tvZmZzZXRdKSB8XG4gICAgICAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KSB8XG4gICAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikpICtcbiAgICAgICh0aGlzW29mZnNldCArIDNdICogMHgxMDAwMDAwKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50MzJCRSA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xuICAgICgodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDgpIHxcbiAgICB0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRCaWdVSW50NjRMRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiByZWFkQmlnVUludDY0TEUgKG9mZnNldCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgdmFsaWRhdGVOdW1iZXIob2Zmc2V0LCAnb2Zmc2V0JylcbiAgY29uc3QgZmlyc3QgPSB0aGlzW29mZnNldF1cbiAgY29uc3QgbGFzdCA9IHRoaXNbb2Zmc2V0ICsgN11cbiAgaWYgKGZpcnN0ID09PSB1bmRlZmluZWQgfHwgbGFzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYm91bmRzRXJyb3Iob2Zmc2V0LCB0aGlzLmxlbmd0aCAtIDgpXG4gIH1cblxuICBjb25zdCBsbyA9IGZpcnN0ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogOCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDE2ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogMjRcblxuICBjb25zdCBoaSA9IHRoaXNbKytvZmZzZXRdICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogOCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDE2ICtcbiAgICBsYXN0ICogMiAqKiAyNFxuXG4gIHJldHVybiBCaWdJbnQobG8pICsgKEJpZ0ludChoaSkgPDwgQmlnSW50KDMyKSlcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEJpZ1VJbnQ2NEJFID0gZGVmaW5lQmlnSW50TWV0aG9kKGZ1bmN0aW9uIHJlYWRCaWdVSW50NjRCRSAob2Zmc2V0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICB2YWxpZGF0ZU51bWJlcihvZmZzZXQsICdvZmZzZXQnKVxuICBjb25zdCBmaXJzdCA9IHRoaXNbb2Zmc2V0XVxuICBjb25zdCBsYXN0ID0gdGhpc1tvZmZzZXQgKyA3XVxuICBpZiAoZmlyc3QgPT09IHVuZGVmaW5lZCB8fCBsYXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICBib3VuZHNFcnJvcihvZmZzZXQsIHRoaXMubGVuZ3RoIC0gOClcbiAgfVxuXG4gIGNvbnN0IGhpID0gZmlyc3QgKiAyICoqIDI0ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogMTYgK1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiA4ICtcbiAgICB0aGlzWysrb2Zmc2V0XVxuXG4gIGNvbnN0IGxvID0gdGhpc1srK29mZnNldF0gKiAyICoqIDI0ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogMTYgK1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiA4ICtcbiAgICBsYXN0XG5cbiAgcmV0dXJuIChCaWdJbnQoaGkpIDw8IEJpZ0ludCgzMikpICsgQmlnSW50KGxvKVxufSlcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50TEUgPSBmdW5jdGlvbiByZWFkSW50TEUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgYnl0ZUxlbmd0aCwgdGhpcy5sZW5ndGgpXG5cbiAgbGV0IHZhbCA9IHRoaXNbb2Zmc2V0XVxuICBsZXQgbXVsID0gMVxuICBsZXQgaSA9IDBcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyBpXSAqIG11bFxuICB9XG4gIG11bCAqPSAweDgwXG5cbiAgaWYgKHZhbCA+PSBtdWwpIHZhbCAtPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aClcblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludEJFID0gZnVuY3Rpb24gcmVhZEludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIGxldCBpID0gYnl0ZUxlbmd0aFxuICBsZXQgbXVsID0gMVxuICBsZXQgdmFsID0gdGhpc1tvZmZzZXQgKyAtLWldXG4gIHdoaWxlIChpID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXG4gIGlmICghKHRoaXNbb2Zmc2V0XSAmIDB4ODApKSByZXR1cm4gKHRoaXNbb2Zmc2V0XSlcbiAgcmV0dXJuICgoMHhmZiAtIHRoaXNbb2Zmc2V0XSArIDEpICogLTEpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2TEUgPSBmdW5jdGlvbiByZWFkSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgY29uc3QgdmFsID0gdGhpc1tvZmZzZXRdIHwgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOClcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQxNkJFID0gZnVuY3Rpb24gcmVhZEludDE2QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIGNvbnN0IHZhbCA9IHRoaXNbb2Zmc2V0ICsgMV0gfCAodGhpc1tvZmZzZXRdIDw8IDgpXG4gIHJldHVybiAodmFsICYgMHg4MDAwKSA/IHZhbCB8IDB4RkZGRjAwMDAgOiB2YWxcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRJbnQzMkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKVxuXG4gIHJldHVybiAodGhpc1tvZmZzZXRdKSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgM10gPDwgMjQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDMyQkUgPSBmdW5jdGlvbiByZWFkSW50MzJCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRCaWdJbnQ2NExFID0gZGVmaW5lQmlnSW50TWV0aG9kKGZ1bmN0aW9uIHJlYWRCaWdJbnQ2NExFIChvZmZzZXQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIHZhbGlkYXRlTnVtYmVyKG9mZnNldCwgJ29mZnNldCcpXG4gIGNvbnN0IGZpcnN0ID0gdGhpc1tvZmZzZXRdXG4gIGNvbnN0IGxhc3QgPSB0aGlzW29mZnNldCArIDddXG4gIGlmIChmaXJzdCA9PT0gdW5kZWZpbmVkIHx8IGxhc3QgPT09IHVuZGVmaW5lZCkge1xuICAgIGJvdW5kc0Vycm9yKG9mZnNldCwgdGhpcy5sZW5ndGggLSA4KVxuICB9XG5cbiAgY29uc3QgdmFsID0gdGhpc1tvZmZzZXQgKyA0XSArXG4gICAgdGhpc1tvZmZzZXQgKyA1XSAqIDIgKiogOCArXG4gICAgdGhpc1tvZmZzZXQgKyA2XSAqIDIgKiogMTYgK1xuICAgIChsYXN0IDw8IDI0KSAvLyBPdmVyZmxvd1xuXG4gIHJldHVybiAoQmlnSW50KHZhbCkgPDwgQmlnSW50KDMyKSkgK1xuICAgIEJpZ0ludChmaXJzdCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDggK1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiAxNiArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDI0KVxufSlcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkQmlnSW50NjRCRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiByZWFkQmlnSW50NjRCRSAob2Zmc2V0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICB2YWxpZGF0ZU51bWJlcihvZmZzZXQsICdvZmZzZXQnKVxuICBjb25zdCBmaXJzdCA9IHRoaXNbb2Zmc2V0XVxuICBjb25zdCBsYXN0ID0gdGhpc1tvZmZzZXQgKyA3XVxuICBpZiAoZmlyc3QgPT09IHVuZGVmaW5lZCB8fCBsYXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICBib3VuZHNFcnJvcihvZmZzZXQsIHRoaXMubGVuZ3RoIC0gOClcbiAgfVxuXG4gIGNvbnN0IHZhbCA9IChmaXJzdCA8PCAyNCkgKyAvLyBPdmVyZmxvd1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiAxNiArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDggK1xuICAgIHRoaXNbKytvZmZzZXRdXG5cbiAgcmV0dXJuIChCaWdJbnQodmFsKSA8PCBCaWdJbnQoMzIpKSArXG4gICAgQmlnSW50KHRoaXNbKytvZmZzZXRdICogMiAqKiAyNCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDE2ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogOCArXG4gICAgbGFzdClcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0TEUgPSBmdW5jdGlvbiByZWFkRmxvYXRMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDIzLCA0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFID0gZnVuY3Rpb24gcmVhZEZsb2F0QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiBpZWVlNzU0LnJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgMjMsIDQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUxFID0gZnVuY3Rpb24gcmVhZERvdWJsZUxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgdHJ1ZSwgNTIsIDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUJFID0gZnVuY3Rpb24gcmVhZERvdWJsZUJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgZmFsc2UsIDUyLCA4KVxufVxuXG5mdW5jdGlvbiBjaGVja0ludCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpXG4gIGlmICh2YWx1ZSA+IG1heCB8fCB2YWx1ZSA8IG1pbikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVWludExFID1cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50TEUgPSBmdW5jdGlvbiB3cml0ZVVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjb25zdCBtYXhCeXRlcyA9IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKSAtIDFcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBtYXhCeXRlcywgMClcbiAgfVxuXG4gIGxldCBtdWwgPSAxXG4gIGxldCBpID0gMFxuICB0aGlzW29mZnNldF0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB0aGlzW29mZnNldCArIGldID0gKHZhbHVlIC8gbXVsKSAmIDB4RkZcbiAgfVxuXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVaW50QkUgPVxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnRCRSA9IGZ1bmN0aW9uIHdyaXRlVUludEJFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNvbnN0IG1heEJ5dGVzID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpIC0gMVxuICAgIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG1heEJ5dGVzLCAwKVxuICB9XG5cbiAgbGV0IGkgPSBieXRlTGVuZ3RoIC0gMVxuICBsZXQgbXVsID0gMVxuICB0aGlzW29mZnNldCArIGldID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgtLWkgPj0gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHRoaXNbb2Zmc2V0ICsgaV0gPSAodmFsdWUgLyBtdWwpICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVpbnQ4ID1cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50OCA9IGZ1bmN0aW9uIHdyaXRlVUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAxLCAweGZmLCAwKVxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICByZXR1cm4gb2Zmc2V0ICsgMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVWludDE2TEUgPVxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4ZmZmZiwgMClcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVpbnQxNkJFID1cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweGZmZmYsIDApXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gOClcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAyXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVaW50MzJMRSA9XG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZVVJbnQzMkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHhmZmZmZmZmZiwgMClcbiAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpXG4gIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDE2KVxuICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVWludDMyQkUgPVxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4ZmZmZmZmZmYsIDApXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gMjQpXG4gIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgPj4+IDE2KVxuICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiA4KVxuICB0aGlzW29mZnNldCArIDNdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuZnVuY3Rpb24gd3J0QmlnVUludDY0TEUgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbWluLCBtYXgpIHtcbiAgY2hlY2tJbnRCSSh2YWx1ZSwgbWluLCBtYXgsIGJ1Ziwgb2Zmc2V0LCA3KVxuXG4gIGxldCBsbyA9IE51bWJlcih2YWx1ZSAmIEJpZ0ludCgweGZmZmZmZmZmKSlcbiAgYnVmW29mZnNldCsrXSA9IGxvXG4gIGxvID0gbG8gPj4gOFxuICBidWZbb2Zmc2V0KytdID0gbG9cbiAgbG8gPSBsbyA+PiA4XG4gIGJ1ZltvZmZzZXQrK10gPSBsb1xuICBsbyA9IGxvID4+IDhcbiAgYnVmW29mZnNldCsrXSA9IGxvXG4gIGxldCBoaSA9IE51bWJlcih2YWx1ZSA+PiBCaWdJbnQoMzIpICYgQmlnSW50KDB4ZmZmZmZmZmYpKVxuICBidWZbb2Zmc2V0KytdID0gaGlcbiAgaGkgPSBoaSA+PiA4XG4gIGJ1ZltvZmZzZXQrK10gPSBoaVxuICBoaSA9IGhpID4+IDhcbiAgYnVmW29mZnNldCsrXSA9IGhpXG4gIGhpID0gaGkgPj4gOFxuICBidWZbb2Zmc2V0KytdID0gaGlcbiAgcmV0dXJuIG9mZnNldFxufVxuXG5mdW5jdGlvbiB3cnRCaWdVSW50NjRCRSAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBtaW4sIG1heCkge1xuICBjaGVja0ludEJJKHZhbHVlLCBtaW4sIG1heCwgYnVmLCBvZmZzZXQsIDcpXG5cbiAgbGV0IGxvID0gTnVtYmVyKHZhbHVlICYgQmlnSW50KDB4ZmZmZmZmZmYpKVxuICBidWZbb2Zmc2V0ICsgN10gPSBsb1xuICBsbyA9IGxvID4+IDhcbiAgYnVmW29mZnNldCArIDZdID0gbG9cbiAgbG8gPSBsbyA+PiA4XG4gIGJ1ZltvZmZzZXQgKyA1XSA9IGxvXG4gIGxvID0gbG8gPj4gOFxuICBidWZbb2Zmc2V0ICsgNF0gPSBsb1xuICBsZXQgaGkgPSBOdW1iZXIodmFsdWUgPj4gQmlnSW50KDMyKSAmIEJpZ0ludCgweGZmZmZmZmZmKSlcbiAgYnVmW29mZnNldCArIDNdID0gaGlcbiAgaGkgPSBoaSA+PiA4XG4gIGJ1ZltvZmZzZXQgKyAyXSA9IGhpXG4gIGhpID0gaGkgPj4gOFxuICBidWZbb2Zmc2V0ICsgMV0gPSBoaVxuICBoaSA9IGhpID4+IDhcbiAgYnVmW29mZnNldF0gPSBoaVxuICByZXR1cm4gb2Zmc2V0ICsgOFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlQmlnVUludDY0TEUgPSBkZWZpbmVCaWdJbnRNZXRob2QoZnVuY3Rpb24gd3JpdGVCaWdVSW50NjRMRSAodmFsdWUsIG9mZnNldCA9IDApIHtcbiAgcmV0dXJuIHdydEJpZ1VJbnQ2NExFKHRoaXMsIHZhbHVlLCBvZmZzZXQsIEJpZ0ludCgwKSwgQmlnSW50KCcweGZmZmZmZmZmZmZmZmZmZmYnKSlcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVCaWdVSW50NjRCRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiB3cml0ZUJpZ1VJbnQ2NEJFICh2YWx1ZSwgb2Zmc2V0ID0gMCkge1xuICByZXR1cm4gd3J0QmlnVUludDY0QkUodGhpcywgdmFsdWUsIG9mZnNldCwgQmlnSW50KDApLCBCaWdJbnQoJzB4ZmZmZmZmZmZmZmZmZmZmZicpKVxufSlcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gd3JpdGVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjb25zdCBsaW1pdCA9IE1hdGgucG93KDIsICg4ICogYnl0ZUxlbmd0aCkgLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICBsZXQgaSA9IDBcbiAgbGV0IG11bCA9IDFcbiAgbGV0IHN1YiA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpIC0gMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gd3JpdGVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjb25zdCBsaW1pdCA9IE1hdGgucG93KDIsICg4ICogYnl0ZUxlbmd0aCkgLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICBsZXQgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIGxldCBtdWwgPSAxXG4gIGxldCBzdWIgPSAwXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAxLCAweDdmLCAtMHg4MClcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmICsgdmFsdWUgKyAxXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAxXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHg3ZmZmLCAtMHg4MDAwKVxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICByZXR1cm4gb2Zmc2V0ICsgMlxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MTZCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4N2ZmZiwgLTB4ODAwMClcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiA4KVxuICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweDdmZmZmZmZmLCAtMHg4MDAwMDAwMClcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgPj4+IDI0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZmZmZmYgKyB2YWx1ZSArIDFcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXG4gIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlQmlnSW50NjRMRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiB3cml0ZUJpZ0ludDY0TEUgKHZhbHVlLCBvZmZzZXQgPSAwKSB7XG4gIHJldHVybiB3cnRCaWdVSW50NjRMRSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAtQmlnSW50KCcweDgwMDAwMDAwMDAwMDAwMDAnKSwgQmlnSW50KCcweDdmZmZmZmZmZmZmZmZmZmYnKSlcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVCaWdJbnQ2NEJFID0gZGVmaW5lQmlnSW50TWV0aG9kKGZ1bmN0aW9uIHdyaXRlQmlnSW50NjRCRSAodmFsdWUsIG9mZnNldCA9IDApIHtcbiAgcmV0dXJuIHdydEJpZ1VJbnQ2NEJFKHRoaXMsIHZhbHVlLCBvZmZzZXQsIC1CaWdJbnQoJzB4ODAwMDAwMDAwMDAwMDAwMCcpLCBCaWdJbnQoJzB4N2ZmZmZmZmZmZmZmZmZmZicpKVxufSlcblxuZnVuY3Rpb24gY2hlY2tJRUVFNzU0IChidWYsIHZhbHVlLCBvZmZzZXQsIGV4dCwgbWF4LCBtaW4pIHtcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxuICBpZiAob2Zmc2V0IDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0luZGV4IG91dCBvZiByYW5nZScpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRmxvYXQgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDQsIDMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgsIC0zLjQwMjgyMzQ2NjM4NTI4ODZlKzM4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDIzLCA0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRMRSA9IGZ1bmN0aW9uIHdyaXRlRmxvYXRMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVGbG9hdCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRG91YmxlIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjaGVja0lFRUU3NTQoYnVmLCB2YWx1ZSwgb2Zmc2V0LCA4LCAxLjc5NzY5MzEzNDg2MjMxNTdFKzMwOCwgLTEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDUyLCA4KVxuICByZXR1cm4gb2Zmc2V0ICsgOFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlTEUgPSBmdW5jdGlvbiB3cml0ZURvdWJsZUxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVEb3VibGUodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVCRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlQkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbi8vIGNvcHkodGFyZ2V0QnVmZmVyLCB0YXJnZXRTdGFydD0wLCBzb3VyY2VTdGFydD0wLCBzb3VyY2VFbmQ9YnVmZmVyLmxlbmd0aClcbkJ1ZmZlci5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKHRhcmdldCwgdGFyZ2V0U3RhcnQsIHN0YXJ0LCBlbmQpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodGFyZ2V0KSkgdGhyb3cgbmV3IFR5cGVFcnJvcignYXJndW1lbnQgc2hvdWxkIGJlIGEgQnVmZmVyJylcbiAgaWYgKCFzdGFydCkgc3RhcnQgPSAwXG4gIGlmICghZW5kICYmIGVuZCAhPT0gMCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldFN0YXJ0ID49IHRhcmdldC5sZW5ndGgpIHRhcmdldFN0YXJ0ID0gdGFyZ2V0Lmxlbmd0aFxuICBpZiAoIXRhcmdldFN0YXJ0KSB0YXJnZXRTdGFydCA9IDBcbiAgaWYgKGVuZCA+IDAgJiYgZW5kIDwgc3RhcnQpIGVuZCA9IHN0YXJ0XG5cbiAgLy8gQ29weSAwIGJ5dGVzOyB3ZSdyZSBkb25lXG4gIGlmIChlbmQgPT09IHN0YXJ0KSByZXR1cm4gMFxuICBpZiAodGFyZ2V0Lmxlbmd0aCA9PT0gMCB8fCB0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIDBcblxuICAvLyBGYXRhbCBlcnJvciBjb25kaXRpb25zXG4gIGlmICh0YXJnZXRTdGFydCA8IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigndGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcycpXG4gIH1cbiAgaWYgKHN0YXJ0IDwgMCB8fCBzdGFydCA+PSB0aGlzLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0luZGV4IG91dCBvZiByYW5nZScpXG4gIGlmIChlbmQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlRW5kIG91dCBvZiBib3VuZHMnKVxuXG4gIC8vIEFyZSB3ZSBvb2I/XG4gIGlmIChlbmQgPiB0aGlzLmxlbmd0aCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldC5sZW5ndGggLSB0YXJnZXRTdGFydCA8IGVuZCAtIHN0YXJ0KSB7XG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcbiAgfVxuXG4gIGNvbnN0IGxlbiA9IGVuZCAtIHN0YXJ0XG5cbiAgaWYgKHRoaXMgPT09IHRhcmdldCAmJiB0eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIFVzZSBidWlsdC1pbiB3aGVuIGF2YWlsYWJsZSwgbWlzc2luZyBmcm9tIElFMTFcbiAgICB0aGlzLmNvcHlXaXRoaW4odGFyZ2V0U3RhcnQsIHN0YXJ0LCBlbmQpXG4gIH0gZWxzZSB7XG4gICAgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoXG4gICAgICB0YXJnZXQsXG4gICAgICB0aGlzLnN1YmFycmF5KHN0YXJ0LCBlbmQpLFxuICAgICAgdGFyZ2V0U3RhcnRcbiAgICApXG4gIH1cblxuICByZXR1cm4gbGVuXG59XG5cbi8vIFVzYWdlOlxuLy8gICAgYnVmZmVyLmZpbGwobnVtYmVyWywgb2Zmc2V0WywgZW5kXV0pXG4vLyAgICBidWZmZXIuZmlsbChidWZmZXJbLCBvZmZzZXRbLCBlbmRdXSlcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxuQnVmZmVyLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gZmlsbCAodmFsLCBzdGFydCwgZW5kLCBlbmNvZGluZykge1xuICAvLyBIYW5kbGUgc3RyaW5nIGNhc2VzOlxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBzdGFydFxuICAgICAgc3RhcnQgPSAwXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5kXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH1cbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgIH1cbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgY29kZSA9IHZhbC5jaGFyQ29kZUF0KDApXG4gICAgICBpZiAoKGVuY29kaW5nID09PSAndXRmOCcgJiYgY29kZSA8IDEyOCkgfHxcbiAgICAgICAgICBlbmNvZGluZyA9PT0gJ2xhdGluMScpIHtcbiAgICAgICAgLy8gRmFzdCBwYXRoOiBJZiBgdmFsYCBmaXRzIGludG8gYSBzaW5nbGUgYnl0ZSwgdXNlIHRoYXQgbnVtZXJpYyB2YWx1ZS5cbiAgICAgICAgdmFsID0gY29kZVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDI1NVxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdib29sZWFuJykge1xuICAgIHZhbCA9IE51bWJlcih2YWwpXG4gIH1cblxuICAvLyBJbnZhbGlkIHJhbmdlcyBhcmUgbm90IHNldCB0byBhIGRlZmF1bHQsIHNvIGNhbiByYW5nZSBjaGVjayBlYXJseS5cbiAgaWYgKHN0YXJ0IDwgMCB8fCB0aGlzLmxlbmd0aCA8IHN0YXJ0IHx8IHRoaXMubGVuZ3RoIDwgZW5kKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ091dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHN0YXJ0ID0gc3RhcnQgPj4+IDBcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyB0aGlzLmxlbmd0aCA6IGVuZCA+Pj4gMFxuXG4gIGlmICghdmFsKSB2YWwgPSAwXG5cbiAgbGV0IGlcbiAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgICAgdGhpc1tpXSA9IHZhbFxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBieXRlcyA9IEJ1ZmZlci5pc0J1ZmZlcih2YWwpXG4gICAgICA/IHZhbFxuICAgICAgOiBCdWZmZXIuZnJvbSh2YWwsIGVuY29kaW5nKVxuICAgIGNvbnN0IGxlbiA9IGJ5dGVzLmxlbmd0aFxuICAgIGlmIChsZW4gPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2YWx1ZSBcIicgKyB2YWwgK1xuICAgICAgICAnXCIgaXMgaW52YWxpZCBmb3IgYXJndW1lbnQgXCJ2YWx1ZVwiJylcbiAgICB9XG4gICAgZm9yIChpID0gMDsgaSA8IGVuZCAtIHN0YXJ0OyArK2kpIHtcbiAgICAgIHRoaXNbaSArIHN0YXJ0XSA9IGJ5dGVzW2kgJSBsZW5dXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuLy8gQ1VTVE9NIEVSUk9SU1xuLy8gPT09PT09PT09PT09PVxuXG4vLyBTaW1wbGlmaWVkIHZlcnNpb25zIGZyb20gTm9kZSwgY2hhbmdlZCBmb3IgQnVmZmVyLW9ubHkgdXNhZ2VcbmNvbnN0IGVycm9ycyA9IHt9XG5mdW5jdGlvbiBFIChzeW0sIGdldE1lc3NhZ2UsIEJhc2UpIHtcbiAgZXJyb3JzW3N5bV0gPSBjbGFzcyBOb2RlRXJyb3IgZXh0ZW5kcyBCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICBzdXBlcigpXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbWVzc2FnZScsIHtcbiAgICAgICAgdmFsdWU6IGdldE1lc3NhZ2UuYXBwbHkodGhpcywgYXJndW1lbnRzKSxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSlcblxuICAgICAgLy8gQWRkIHRoZSBlcnJvciBjb2RlIHRvIHRoZSBuYW1lIHRvIGluY2x1ZGUgaXQgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICAgICAgdGhpcy5uYW1lID0gYCR7dGhpcy5uYW1lfSBbJHtzeW19XWBcbiAgICAgIC8vIEFjY2VzcyB0aGUgc3RhY2sgdG8gZ2VuZXJhdGUgdGhlIGVycm9yIG1lc3NhZ2UgaW5jbHVkaW5nIHRoZSBlcnJvciBjb2RlXG4gICAgICAvLyBmcm9tIHRoZSBuYW1lLlxuICAgICAgdGhpcy5zdGFjayAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xuICAgICAgLy8gUmVzZXQgdGhlIG5hbWUgdG8gdGhlIGFjdHVhbCBuYW1lLlxuICAgICAgZGVsZXRlIHRoaXMubmFtZVxuICAgIH1cblxuICAgIGdldCBjb2RlICgpIHtcbiAgICAgIHJldHVybiBzeW1cbiAgICB9XG5cbiAgICBzZXQgY29kZSAodmFsdWUpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY29kZScsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdG9TdHJpbmcgKCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMubmFtZX0gWyR7c3ltfV06ICR7dGhpcy5tZXNzYWdlfWBcbiAgICB9XG4gIH1cbn1cblxuRSgnRVJSX0JVRkZFUl9PVVRfT0ZfQk9VTkRTJyxcbiAgZnVuY3Rpb24gKG5hbWUpIHtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcmV0dXJuIGAke25hbWV9IGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kc2BcbiAgICB9XG5cbiAgICByZXR1cm4gJ0F0dGVtcHQgdG8gYWNjZXNzIG1lbW9yeSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMnXG4gIH0sIFJhbmdlRXJyb3IpXG5FKCdFUlJfSU5WQUxJRF9BUkdfVFlQRScsXG4gIGZ1bmN0aW9uIChuYW1lLCBhY3R1YWwpIHtcbiAgICByZXR1cm4gYFRoZSBcIiR7bmFtZX1cIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIGFjdHVhbH1gXG4gIH0sIFR5cGVFcnJvcilcbkUoJ0VSUl9PVVRfT0ZfUkFOR0UnLFxuICBmdW5jdGlvbiAoc3RyLCByYW5nZSwgaW5wdXQpIHtcbiAgICBsZXQgbXNnID0gYFRoZSB2YWx1ZSBvZiBcIiR7c3RyfVwiIGlzIG91dCBvZiByYW5nZS5gXG4gICAgbGV0IHJlY2VpdmVkID0gaW5wdXRcbiAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihpbnB1dCkgJiYgTWF0aC5hYnMoaW5wdXQpID4gMiAqKiAzMikge1xuICAgICAgcmVjZWl2ZWQgPSBhZGROdW1lcmljYWxTZXBhcmF0b3IoU3RyaW5nKGlucHV0KSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgIHJlY2VpdmVkID0gU3RyaW5nKGlucHV0KVxuICAgICAgaWYgKGlucHV0ID4gQmlnSW50KDIpICoqIEJpZ0ludCgzMikgfHwgaW5wdXQgPCAtKEJpZ0ludCgyKSAqKiBCaWdJbnQoMzIpKSkge1xuICAgICAgICByZWNlaXZlZCA9IGFkZE51bWVyaWNhbFNlcGFyYXRvcihyZWNlaXZlZClcbiAgICAgIH1cbiAgICAgIHJlY2VpdmVkICs9ICduJ1xuICAgIH1cbiAgICBtc2cgKz0gYCBJdCBtdXN0IGJlICR7cmFuZ2V9LiBSZWNlaXZlZCAke3JlY2VpdmVkfWBcbiAgICByZXR1cm4gbXNnXG4gIH0sIFJhbmdlRXJyb3IpXG5cbmZ1bmN0aW9uIGFkZE51bWVyaWNhbFNlcGFyYXRvciAodmFsKSB7XG4gIGxldCByZXMgPSAnJ1xuICBsZXQgaSA9IHZhbC5sZW5ndGhcbiAgY29uc3Qgc3RhcnQgPSB2YWxbMF0gPT09ICctJyA/IDEgOiAwXG4gIGZvciAoOyBpID49IHN0YXJ0ICsgNDsgaSAtPSAzKSB7XG4gICAgcmVzID0gYF8ke3ZhbC5zbGljZShpIC0gMywgaSl9JHtyZXN9YFxuICB9XG4gIHJldHVybiBgJHt2YWwuc2xpY2UoMCwgaSl9JHtyZXN9YFxufVxuXG4vLyBDSEVDSyBGVU5DVElPTlNcbi8vID09PT09PT09PT09PT09PVxuXG5mdW5jdGlvbiBjaGVja0JvdW5kcyAoYnVmLCBvZmZzZXQsIGJ5dGVMZW5ndGgpIHtcbiAgdmFsaWRhdGVOdW1iZXIob2Zmc2V0LCAnb2Zmc2V0JylcbiAgaWYgKGJ1ZltvZmZzZXRdID09PSB1bmRlZmluZWQgfHwgYnVmW29mZnNldCArIGJ5dGVMZW5ndGhdID09PSB1bmRlZmluZWQpIHtcbiAgICBib3VuZHNFcnJvcihvZmZzZXQsIGJ1Zi5sZW5ndGggLSAoYnl0ZUxlbmd0aCArIDEpKVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrSW50QkkgKHZhbHVlLCBtaW4sIG1heCwgYnVmLCBvZmZzZXQsIGJ5dGVMZW5ndGgpIHtcbiAgaWYgKHZhbHVlID4gbWF4IHx8IHZhbHVlIDwgbWluKSB7XG4gICAgY29uc3QgbiA9IHR5cGVvZiBtaW4gPT09ICdiaWdpbnQnID8gJ24nIDogJydcbiAgICBsZXQgcmFuZ2VcbiAgICBpZiAoYnl0ZUxlbmd0aCA+IDMpIHtcbiAgICAgIGlmIChtaW4gPT09IDAgfHwgbWluID09PSBCaWdJbnQoMCkpIHtcbiAgICAgICAgcmFuZ2UgPSBgPj0gMCR7bn0gYW5kIDwgMiR7bn0gKiogJHsoYnl0ZUxlbmd0aCArIDEpICogOH0ke259YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmFuZ2UgPSBgPj0gLSgyJHtufSAqKiAkeyhieXRlTGVuZ3RoICsgMSkgKiA4IC0gMX0ke259KSBhbmQgPCAyICoqIGAgK1xuICAgICAgICAgICAgICAgIGAkeyhieXRlTGVuZ3RoICsgMSkgKiA4IC0gMX0ke259YFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByYW5nZSA9IGA+PSAke21pbn0ke259IGFuZCA8PSAke21heH0ke259YFxuICAgIH1cbiAgICB0aHJvdyBuZXcgZXJyb3JzLkVSUl9PVVRfT0ZfUkFOR0UoJ3ZhbHVlJywgcmFuZ2UsIHZhbHVlKVxuICB9XG4gIGNoZWNrQm91bmRzKGJ1Ziwgb2Zmc2V0LCBieXRlTGVuZ3RoKVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZU51bWJlciAodmFsdWUsIG5hbWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JzLkVSUl9JTlZBTElEX0FSR19UWVBFKG5hbWUsICdudW1iZXInLCB2YWx1ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBib3VuZHNFcnJvciAodmFsdWUsIGxlbmd0aCwgdHlwZSkge1xuICBpZiAoTWF0aC5mbG9vcih2YWx1ZSkgIT09IHZhbHVlKSB7XG4gICAgdmFsaWRhdGVOdW1iZXIodmFsdWUsIHR5cGUpXG4gICAgdGhyb3cgbmV3IGVycm9ycy5FUlJfT1VUX09GX1JBTkdFKHR5cGUgfHwgJ29mZnNldCcsICdhbiBpbnRlZ2VyJywgdmFsdWUpXG4gIH1cblxuICBpZiAobGVuZ3RoIDwgMCkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuRVJSX0JVRkZFUl9PVVRfT0ZfQk9VTkRTKClcbiAgfVxuXG4gIHRocm93IG5ldyBlcnJvcnMuRVJSX09VVF9PRl9SQU5HRSh0eXBlIHx8ICdvZmZzZXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYD49ICR7dHlwZSA/IDEgOiAwfSBhbmQgPD0gJHtsZW5ndGh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlKVxufVxuXG4vLyBIRUxQRVIgRlVOQ1RJT05TXG4vLyA9PT09PT09PT09PT09PT09XG5cbmNvbnN0IElOVkFMSURfQkFTRTY0X1JFID0gL1teKy8wLTlBLVphLXotX10vZ1xuXG5mdW5jdGlvbiBiYXNlNjRjbGVhbiAoc3RyKSB7XG4gIC8vIE5vZGUgdGFrZXMgZXF1YWwgc2lnbnMgYXMgZW5kIG9mIHRoZSBCYXNlNjQgZW5jb2RpbmdcbiAgc3RyID0gc3RyLnNwbGl0KCc9JylbMF1cbiAgLy8gTm9kZSBzdHJpcHMgb3V0IGludmFsaWQgY2hhcmFjdGVycyBsaWtlIFxcbiBhbmQgXFx0IGZyb20gdGhlIHN0cmluZywgYmFzZTY0LWpzIGRvZXMgbm90XG4gIHN0ciA9IHN0ci50cmltKCkucmVwbGFjZShJTlZBTElEX0JBU0U2NF9SRSwgJycpXG4gIC8vIE5vZGUgY29udmVydHMgc3RyaW5ncyB3aXRoIGxlbmd0aCA8IDIgdG8gJydcbiAgaWYgKHN0ci5sZW5ndGggPCAyKSByZXR1cm4gJydcbiAgLy8gTm9kZSBhbGxvd3MgZm9yIG5vbi1wYWRkZWQgYmFzZTY0IHN0cmluZ3MgKG1pc3NpbmcgdHJhaWxpbmcgPT09KSwgYmFzZTY0LWpzIGRvZXMgbm90XG4gIHdoaWxlIChzdHIubGVuZ3RoICUgNCAhPT0gMCkge1xuICAgIHN0ciA9IHN0ciArICc9J1xuICB9XG4gIHJldHVybiBzdHJcbn1cblxuZnVuY3Rpb24gdXRmOFRvQnl0ZXMgKHN0cmluZywgdW5pdHMpIHtcbiAgdW5pdHMgPSB1bml0cyB8fCBJbmZpbml0eVxuICBsZXQgY29kZVBvaW50XG4gIGNvbnN0IGxlbmd0aCA9IHN0cmluZy5sZW5ndGhcbiAgbGV0IGxlYWRTdXJyb2dhdGUgPSBudWxsXG4gIGNvbnN0IGJ5dGVzID0gW11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgY29kZVBvaW50ID0gc3RyaW5nLmNoYXJDb2RlQXQoaSlcblxuICAgIC8vIGlzIHN1cnJvZ2F0ZSBjb21wb25lbnRcbiAgICBpZiAoY29kZVBvaW50ID4gMHhEN0ZGICYmIGNvZGVQb2ludCA8IDB4RTAwMCkge1xuICAgICAgLy8gbGFzdCBjaGFyIHdhcyBhIGxlYWRcbiAgICAgIGlmICghbGVhZFN1cnJvZ2F0ZSkge1xuICAgICAgICAvLyBubyBsZWFkIHlldFxuICAgICAgICBpZiAoY29kZVBvaW50ID4gMHhEQkZGKSB7XG4gICAgICAgICAgLy8gdW5leHBlY3RlZCB0cmFpbFxuICAgICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSBpZiAoaSArIDEgPT09IGxlbmd0aCkge1xuICAgICAgICAgIC8vIHVucGFpcmVkIGxlYWRcbiAgICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmFsaWQgbGVhZFxuICAgICAgICBsZWFkU3Vycm9nYXRlID0gY29kZVBvaW50XG5cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgLy8gMiBsZWFkcyBpbiBhIHJvd1xuICAgICAgaWYgKGNvZGVQb2ludCA8IDB4REMwMCkge1xuICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICAgICAgbGVhZFN1cnJvZ2F0ZSA9IGNvZGVQb2ludFxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyB2YWxpZCBzdXJyb2dhdGUgcGFpclxuICAgICAgY29kZVBvaW50ID0gKGxlYWRTdXJyb2dhdGUgLSAweEQ4MDAgPDwgMTAgfCBjb2RlUG9pbnQgLSAweERDMDApICsgMHgxMDAwMFxuICAgIH0gZWxzZSBpZiAobGVhZFN1cnJvZ2F0ZSkge1xuICAgICAgLy8gdmFsaWQgYm1wIGNoYXIsIGJ1dCBsYXN0IGNoYXIgd2FzIGEgbGVhZFxuICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXG4gICAgfVxuXG4gICAgbGVhZFN1cnJvZ2F0ZSA9IG51bGxcblxuICAgIC8vIGVuY29kZSB1dGY4XG4gICAgaWYgKGNvZGVQb2ludCA8IDB4ODApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gMSkgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChjb2RlUG9pbnQpXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDgwMCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAyKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2IHwgMHhDMCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTAwMDApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gMykgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyB8IDB4RTAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTEwMDAwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDQpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDEyIHwgMHhGMCxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyAmIDB4M0YgfCAweDgwLFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2ICYgMHgzRiB8IDB4ODAsXG4gICAgICAgIGNvZGVQb2ludCAmIDB4M0YgfCAweDgwXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb2RlIHBvaW50JylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYnl0ZXNcbn1cblxuZnVuY3Rpb24gYXNjaWlUb0J5dGVzIChzdHIpIHtcbiAgY29uc3QgYnl0ZUFycmF5ID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpIHtcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cbiAgICBieXRlQXJyYXkucHVzaChzdHIuY2hhckNvZGVBdChpKSAmIDB4RkYpXG4gIH1cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xuICBsZXQgYywgaGksIGxvXG4gIGNvbnN0IGJ5dGVBcnJheSA9IFtdXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7XG4gICAgaWYgKCh1bml0cyAtPSAyKSA8IDApIGJyZWFrXG5cbiAgICBjID0gc3RyLmNoYXJDb2RlQXQoaSlcbiAgICBoaSA9IGMgPj4gOFxuICAgIGxvID0gYyAlIDI1NlxuICAgIGJ5dGVBcnJheS5wdXNoKGxvKVxuICAgIGJ5dGVBcnJheS5wdXNoKGhpKVxuICB9XG5cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiBiYXNlNjRUb0J5dGVzIChzdHIpIHtcbiAgcmV0dXJuIGJhc2U2NC50b0J5dGVBcnJheShiYXNlNjRjbGVhbihzdHIpKVxufVxuXG5mdW5jdGlvbiBibGl0QnVmZmVyIChzcmMsIGRzdCwgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgbGV0IGlcbiAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgaWYgKChpICsgb2Zmc2V0ID49IGRzdC5sZW5ndGgpIHx8IChpID49IHNyYy5sZW5ndGgpKSBicmVha1xuICAgIGRzdFtpICsgb2Zmc2V0XSA9IHNyY1tpXVxuICB9XG4gIHJldHVybiBpXG59XG5cbi8vIEFycmF5QnVmZmVyIG9yIFVpbnQ4QXJyYXkgb2JqZWN0cyBmcm9tIG90aGVyIGNvbnRleHRzIChpLmUuIGlmcmFtZXMpIGRvIG5vdCBwYXNzXG4vLyB0aGUgYGluc3RhbmNlb2ZgIGNoZWNrIGJ1dCB0aGV5IHNob3VsZCBiZSB0cmVhdGVkIGFzIG9mIHRoYXQgdHlwZS5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvaXNzdWVzLzE2NlxuZnVuY3Rpb24gaXNJbnN0YW5jZSAob2JqLCB0eXBlKSB7XG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiB0eXBlIHx8XG4gICAgKG9iaiAhPSBudWxsICYmIG9iai5jb25zdHJ1Y3RvciAhPSBudWxsICYmIG9iai5jb25zdHJ1Y3Rvci5uYW1lICE9IG51bGwgJiZcbiAgICAgIG9iai5jb25zdHJ1Y3Rvci5uYW1lID09PSB0eXBlLm5hbWUpXG59XG5mdW5jdGlvbiBudW1iZXJJc05hTiAob2JqKSB7XG4gIC8vIEZvciBJRTExIHN1cHBvcnRcbiAgcmV0dXJuIG9iaiAhPT0gb2JqIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2VsZi1jb21wYXJlXG59XG5cbi8vIENyZWF0ZSBsb29rdXAgdGFibGUgZm9yIGB0b1N0cmluZygnaGV4JylgXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mZXJvc3MvYnVmZmVyL2lzc3Vlcy8yMTlcbmNvbnN0IGhleFNsaWNlTG9va3VwVGFibGUgPSAoZnVuY3Rpb24gKCkge1xuICBjb25zdCBhbHBoYWJldCA9ICcwMTIzNDU2Nzg5YWJjZGVmJ1xuICBjb25zdCB0YWJsZSA9IG5ldyBBcnJheSgyNTYpXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkge1xuICAgIGNvbnN0IGkxNiA9IGkgKiAxNlxuICAgIGZvciAobGV0IGogPSAwOyBqIDwgMTY7ICsraikge1xuICAgICAgdGFibGVbaTE2ICsgal0gPSBhbHBoYWJldFtpXSArIGFscGhhYmV0W2pdXG4gICAgfVxuICB9XG4gIHJldHVybiB0YWJsZVxufSkoKVxuXG4vLyBSZXR1cm4gbm90IGZ1bmN0aW9uIHdpdGggRXJyb3IgaWYgQmlnSW50IG5vdCBzdXBwb3J0ZWRcbmZ1bmN0aW9uIGRlZmluZUJpZ0ludE1ldGhvZCAoZm4pIHtcbiAgcmV0dXJuIHR5cGVvZiBCaWdJbnQgPT09ICd1bmRlZmluZWQnID8gQnVmZmVyQmlnSW50Tm90RGVmaW5lZCA6IGZuXG59XG5cbmZ1bmN0aW9uIEJ1ZmZlckJpZ0ludE5vdERlZmluZWQgKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ0JpZ0ludCBub3Qgc3VwcG9ydGVkJylcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/buffer/index.js\n")); - -/***/ }), - -/***/ "./node_modules/call-bind/callBound.js": -/*!*********************************************!*\ - !*** ./node_modules/call-bind/callBound.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar callBind = __webpack_require__(/*! ./ */ \"./node_modules/call-bind/index.js\");\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2NhbGxCb3VuZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyw0REFBZTs7QUFFMUMsZUFBZSxtQkFBTyxDQUFDLDZDQUFJOztBQUUzQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2NhbGxCb3VuZC5qcz9hMWM4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIEdldEludHJpbnNpYyA9IHJlcXVpcmUoJ2dldC1pbnRyaW5zaWMnKTtcblxudmFyIGNhbGxCaW5kID0gcmVxdWlyZSgnLi8nKTtcblxudmFyICRpbmRleE9mID0gY2FsbEJpbmQoR2V0SW50cmluc2ljKCdTdHJpbmcucHJvdG90eXBlLmluZGV4T2YnKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY2FsbEJvdW5kSW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuXHR2YXIgaW50cmluc2ljID0gR2V0SW50cmluc2ljKG5hbWUsICEhYWxsb3dNaXNzaW5nKTtcblx0aWYgKHR5cGVvZiBpbnRyaW5zaWMgPT09ICdmdW5jdGlvbicgJiYgJGluZGV4T2YobmFtZSwgJy5wcm90b3R5cGUuJykgPiAtMSkge1xuXHRcdHJldHVybiBjYWxsQmluZChpbnRyaW5zaWMpO1xuXHR9XG5cdHJldHVybiBpbnRyaW5zaWM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/call-bind/callBound.js\n")); - -/***/ }), - -/***/ "./node_modules/call-bind/index.js": -/*!*****************************************!*\ - !*** ./node_modules/call-bind/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFdBQVcsbUJBQU8sQ0FBQyw0REFBZTtBQUNsQyxtQkFBbUIsbUJBQU8sQ0FBQyw0REFBZTs7QUFFMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0JBQW9CLFNBQVMsVUFBVTtBQUN2QyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDLGtCQUFrQjtBQUM5RCxFQUFFO0FBQ0YsQ0FBQyxvQkFBb0I7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2NhbGwtYmluZC9pbmRleC5qcz80NjZhIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGJpbmQgPSByZXF1aXJlKCdmdW5jdGlvbi1iaW5kJyk7XG52YXIgR2V0SW50cmluc2ljID0gcmVxdWlyZSgnZ2V0LWludHJpbnNpYycpO1xuXG52YXIgJGFwcGx5ID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5JScpO1xudmFyICRjYWxsID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwlJyk7XG52YXIgJHJlZmxlY3RBcHBseSA9IEdldEludHJpbnNpYygnJVJlZmxlY3QuYXBwbHklJywgdHJ1ZSkgfHwgYmluZC5jYWxsKCRjYWxsLCAkYXBwbHkpO1xuXG52YXIgJGdPUEQgPSBHZXRJbnRyaW5zaWMoJyVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJScsIHRydWUpO1xudmFyICRkZWZpbmVQcm9wZXJ0eSA9IEdldEludHJpbnNpYygnJU9iamVjdC5kZWZpbmVQcm9wZXJ0eSUnLCB0cnVlKTtcbnZhciAkbWF4ID0gR2V0SW50cmluc2ljKCclTWF0aC5tYXglJyk7XG5cbmlmICgkZGVmaW5lUHJvcGVydHkpIHtcblx0dHJ5IHtcblx0XHQkZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyB2YWx1ZTogMSB9KTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdC8vIElFIDggaGFzIGEgYnJva2VuIGRlZmluZVByb3BlcnR5XG5cdFx0JGRlZmluZVByb3BlcnR5ID0gbnVsbDtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNhbGxCaW5kKG9yaWdpbmFsRnVuY3Rpb24pIHtcblx0dmFyIGZ1bmMgPSAkcmVmbGVjdEFwcGx5KGJpbmQsICRjYWxsLCBhcmd1bWVudHMpO1xuXHRpZiAoJGdPUEQgJiYgJGRlZmluZVByb3BlcnR5KSB7XG5cdFx0dmFyIGRlc2MgPSAkZ09QRChmdW5jLCAnbGVuZ3RoJyk7XG5cdFx0aWYgKGRlc2MuY29uZmlndXJhYmxlKSB7XG5cdFx0XHQvLyBvcmlnaW5hbCBsZW5ndGgsIHBsdXMgdGhlIHJlY2VpdmVyLCBtaW51cyBhbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgKGFmdGVyIHRoZSByZWNlaXZlcilcblx0XHRcdCRkZWZpbmVQcm9wZXJ0eShcblx0XHRcdFx0ZnVuYyxcblx0XHRcdFx0J2xlbmd0aCcsXG5cdFx0XHRcdHsgdmFsdWU6IDEgKyAkbWF4KDAsIG9yaWdpbmFsRnVuY3Rpb24ubGVuZ3RoIC0gKGFyZ3VtZW50cy5sZW5ndGggLSAxKSkgfVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZ1bmM7XG59O1xuXG52YXIgYXBwbHlCaW5kID0gZnVuY3Rpb24gYXBwbHlCaW5kKCkge1xuXHRyZXR1cm4gJHJlZmxlY3RBcHBseShiaW5kLCAkYXBwbHksIGFyZ3VtZW50cyk7XG59O1xuXG5pZiAoJGRlZmluZVByb3BlcnR5KSB7XG5cdCRkZWZpbmVQcm9wZXJ0eShtb2R1bGUuZXhwb3J0cywgJ2FwcGx5JywgeyB2YWx1ZTogYXBwbHlCaW5kIH0pO1xufSBlbHNlIHtcblx0bW9kdWxlLmV4cG9ydHMuYXBwbHkgPSBhcHBseUJpbmQ7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/call-bind/index.js\n")); - -/***/ }), - -/***/ "./node_modules/clsx/dist/clsx.m.js": -/*!******************************************!*\ - !*** ./node_modules/clsx/dist/clsx.m.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: function() { return /* binding */ clsx; }\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ __webpack_exports__[\"default\"] = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2xzeC9kaXN0L2Nsc3gubS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsY0FBYyxhQUFhLCtDQUErQyx1REFBdUQsV0FBVywwQ0FBMEMseUNBQXlDLFNBQWdCLGdCQUFnQixxQkFBcUIsbUJBQW1CLGtEQUFrRCxTQUFTLCtEQUFlLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm0uanM/NzdhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiByKGUpe3ZhciB0LGYsbj1cIlwiO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlfHxcIm51bWJlclwiPT10eXBlb2YgZSluKz1lO2Vsc2UgaWYoXCJvYmplY3RcIj09dHlwZW9mIGUpaWYoQXJyYXkuaXNBcnJheShlKSlmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihmPXIoZVt0XSkpJiYobiYmKG4rPVwiIFwiKSxuKz1mKTtlbHNlIGZvcih0IGluIGUpZVt0XSYmKG4mJihuKz1cIiBcIiksbis9dCk7cmV0dXJuIG59ZXhwb3J0IGZ1bmN0aW9uIGNsc3goKXtmb3IodmFyIGUsdCxmPTAsbj1cIlwiO2Y8YXJndW1lbnRzLmxlbmd0aDspKGU9YXJndW1lbnRzW2YrK10pJiYodD1yKGUpKSYmKG4mJihuKz1cIiBcIiksbis9dCk7cmV0dXJuIG59ZXhwb3J0IGRlZmF1bHQgY2xzeDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/clsx/dist/clsx.m.js\n")); - -/***/ }), - -/***/ "./node_modules/debug/src/browser.js": -/*!*******************************************!*\ - !*** ./node_modules/debug/src/browser.js ***! - \*******************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = __webpack_require__(/*! ./common */ \"./node_modules/debug/src/common.js\")(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2Jyb3dzZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0I7QUFDbEIsWUFBWTtBQUNaLFlBQVk7QUFDWixpQkFBaUI7QUFDakIsZUFBZTtBQUNmLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsNENBQTRDOztBQUV2RDtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsT0FBTyw2QkFBNkIsT0FBTztBQUM3RCxNQUFNLE9BQU87QUFDYjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsbUJBQU8sQ0FBQyxvREFBVTs7QUFFbkMsT0FBTyxZQUFZOztBQUVuQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2Jyb3dzZXIuanM/YTUzZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZW52IGJyb3dzZXIgKi9cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSB3ZWIgYnJvd3NlciBpbXBsZW1lbnRhdGlvbiBvZiBgZGVidWcoKWAuXG4gKi9cblxuZXhwb3J0cy5mb3JtYXRBcmdzID0gZm9ybWF0QXJncztcbmV4cG9ydHMuc2F2ZSA9IHNhdmU7XG5leHBvcnRzLmxvYWQgPSBsb2FkO1xuZXhwb3J0cy51c2VDb2xvcnMgPSB1c2VDb2xvcnM7XG5leHBvcnRzLnN0b3JhZ2UgPSBsb2NhbHN0b3JhZ2UoKTtcbmV4cG9ydHMuZGVzdHJveSA9ICgoKSA9PiB7XG5cdGxldCB3YXJuZWQgPSBmYWxzZTtcblxuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmICghd2FybmVkKSB7XG5cdFx0XHR3YXJuZWQgPSB0cnVlO1xuXHRcdFx0Y29uc29sZS53YXJuKCdJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuJyk7XG5cdFx0fVxuXHR9O1xufSkoKTtcblxuLyoqXG4gKiBDb2xvcnMuXG4gKi9cblxuZXhwb3J0cy5jb2xvcnMgPSBbXG5cdCcjMDAwMENDJyxcblx0JyMwMDAwRkYnLFxuXHQnIzAwMzNDQycsXG5cdCcjMDAzM0ZGJyxcblx0JyMwMDY2Q0MnLFxuXHQnIzAwNjZGRicsXG5cdCcjMDA5OUNDJyxcblx0JyMwMDk5RkYnLFxuXHQnIzAwQ0MwMCcsXG5cdCcjMDBDQzMzJyxcblx0JyMwMENDNjYnLFxuXHQnIzAwQ0M5OScsXG5cdCcjMDBDQ0NDJyxcblx0JyMwMENDRkYnLFxuXHQnIzMzMDBDQycsXG5cdCcjMzMwMEZGJyxcblx0JyMzMzMzQ0MnLFxuXHQnIzMzMzNGRicsXG5cdCcjMzM2NkNDJyxcblx0JyMzMzY2RkYnLFxuXHQnIzMzOTlDQycsXG5cdCcjMzM5OUZGJyxcblx0JyMzM0NDMDAnLFxuXHQnIzMzQ0MzMycsXG5cdCcjMzNDQzY2Jyxcblx0JyMzM0NDOTknLFxuXHQnIzMzQ0NDQycsXG5cdCcjMzNDQ0ZGJyxcblx0JyM2NjAwQ0MnLFxuXHQnIzY2MDBGRicsXG5cdCcjNjYzM0NDJyxcblx0JyM2NjMzRkYnLFxuXHQnIzY2Q0MwMCcsXG5cdCcjNjZDQzMzJyxcblx0JyM5OTAwQ0MnLFxuXHQnIzk5MDBGRicsXG5cdCcjOTkzM0NDJyxcblx0JyM5OTMzRkYnLFxuXHQnIzk5Q0MwMCcsXG5cdCcjOTlDQzMzJyxcblx0JyNDQzAwMDAnLFxuXHQnI0NDMDAzMycsXG5cdCcjQ0MwMDY2Jyxcblx0JyNDQzAwOTknLFxuXHQnI0NDMDBDQycsXG5cdCcjQ0MwMEZGJyxcblx0JyNDQzMzMDAnLFxuXHQnI0NDMzMzMycsXG5cdCcjQ0MzMzY2Jyxcblx0JyNDQzMzOTknLFxuXHQnI0NDMzNDQycsXG5cdCcjQ0MzM0ZGJyxcblx0JyNDQzY2MDAnLFxuXHQnI0NDNjYzMycsXG5cdCcjQ0M5OTAwJyxcblx0JyNDQzk5MzMnLFxuXHQnI0NDQ0MwMCcsXG5cdCcjQ0NDQzMzJyxcblx0JyNGRjAwMDAnLFxuXHQnI0ZGMDAzMycsXG5cdCcjRkYwMDY2Jyxcblx0JyNGRjAwOTknLFxuXHQnI0ZGMDBDQycsXG5cdCcjRkYwMEZGJyxcblx0JyNGRjMzMDAnLFxuXHQnI0ZGMzMzMycsXG5cdCcjRkYzMzY2Jyxcblx0JyNGRjMzOTknLFxuXHQnI0ZGMzNDQycsXG5cdCcjRkYzM0ZGJyxcblx0JyNGRjY2MDAnLFxuXHQnI0ZGNjYzMycsXG5cdCcjRkY5OTAwJyxcblx0JyNGRjk5MzMnLFxuXHQnI0ZGQ0MwMCcsXG5cdCcjRkZDQzMzJ1xuXTtcblxuLyoqXG4gKiBDdXJyZW50bHkgb25seSBXZWJLaXQtYmFzZWQgV2ViIEluc3BlY3RvcnMsIEZpcmVmb3ggPj0gdjMxLFxuICogYW5kIHRoZSBGaXJlYnVnIGV4dGVuc2lvbiAoYW55IEZpcmVmb3ggdmVyc2lvbikgYXJlIGtub3duXG4gKiB0byBzdXBwb3J0IFwiJWNcIiBDU1MgY3VzdG9taXphdGlvbnMuXG4gKlxuICogVE9ETzogYWRkIGEgYGxvY2FsU3RvcmFnZWAgdmFyaWFibGUgdG8gZXhwbGljaXRseSBlbmFibGUvZGlzYWJsZSBjb2xvcnNcbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuZnVuY3Rpb24gdXNlQ29sb3JzKCkge1xuXHQvLyBOQjogSW4gYW4gRWxlY3Ryb24gcHJlbG9hZCBzY3JpcHQsIGRvY3VtZW50IHdpbGwgYmUgZGVmaW5lZCBidXQgbm90IGZ1bGx5XG5cdC8vIGluaXRpYWxpemVkLiBTaW5jZSB3ZSBrbm93IHdlJ3JlIGluIENocm9tZSwgd2UnbGwganVzdCBkZXRlY3QgdGhpcyBjYXNlXG5cdC8vIGV4cGxpY2l0bHlcblx0aWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5wcm9jZXNzICYmICh3aW5kb3cucHJvY2Vzcy50eXBlID09PSAncmVuZGVyZXInIHx8IHdpbmRvdy5wcm9jZXNzLl9fbndqcykpIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdC8vIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlIGRvIG5vdCBzdXBwb3J0IGNvbG9ycy5cblx0aWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oZWRnZXx0cmlkZW50KVxcLyhcXGQrKS8pKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gSXMgd2Via2l0PyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xNjQ1OTYwNi8zNzY3NzNcblx0Ly8gZG9jdW1lbnQgaXMgdW5kZWZpbmVkIGluIHJlYWN0LW5hdGl2ZTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0LW5hdGl2ZS9wdWxsLzE2MzJcblx0cmV0dXJuICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2UpIHx8XG5cdFx0Ly8gSXMgZmlyZWJ1Zz8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzk4MTIwLzM3Njc3M1xuXHRcdCh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuY29uc29sZSAmJiAod2luZG93LmNvbnNvbGUuZmlyZWJ1ZyB8fCAod2luZG93LmNvbnNvbGUuZXhjZXB0aW9uICYmIHdpbmRvdy5jb25zb2xlLnRhYmxlKSkpIHx8XG5cdFx0Ly8gSXMgZmlyZWZveCA+PSB2MzE/XG5cdFx0Ly8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Ub29scy9XZWJfQ29uc29sZSNTdHlsaW5nX21lc3NhZ2VzXG5cdFx0KHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLykgJiYgcGFyc2VJbnQoUmVnRXhwLiQxLCAxMCkgPj0gMzEpIHx8XG5cdFx0Ly8gRG91YmxlIGNoZWNrIHdlYmtpdCBpbiB1c2VyQWdlbnQganVzdCBpbiBjYXNlIHdlIGFyZSBpbiBhIHdvcmtlclxuXHRcdCh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvYXBwbGV3ZWJraXRcXC8oXFxkKykvKSk7XG59XG5cbi8qKlxuICogQ29sb3JpemUgbG9nIGFyZ3VtZW50cyBpZiBlbmFibGVkLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZm9ybWF0QXJncyhhcmdzKSB7XG5cdGFyZ3NbMF0gPSAodGhpcy51c2VDb2xvcnMgPyAnJWMnIDogJycpICtcblx0XHR0aGlzLm5hbWVzcGFjZSArXG5cdFx0KHRoaXMudXNlQ29sb3JzID8gJyAlYycgOiAnICcpICtcblx0XHRhcmdzWzBdICtcblx0XHQodGhpcy51c2VDb2xvcnMgPyAnJWMgJyA6ICcgJykgK1xuXHRcdCcrJyArIG1vZHVsZS5leHBvcnRzLmh1bWFuaXplKHRoaXMuZGlmZik7XG5cblx0aWYgKCF0aGlzLnVzZUNvbG9ycykge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGMgPSAnY29sb3I6ICcgKyB0aGlzLmNvbG9yO1xuXHRhcmdzLnNwbGljZSgxLCAwLCBjLCAnY29sb3I6IGluaGVyaXQnKTtcblxuXHQvLyBUaGUgZmluYWwgXCIlY1wiIGlzIHNvbWV3aGF0IHRyaWNreSwgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvdGhlclxuXHQvLyBhcmd1bWVudHMgcGFzc2VkIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgdGhlICVjLCBzbyB3ZSBuZWVkIHRvXG5cdC8vIGZpZ3VyZSBvdXQgdGhlIGNvcnJlY3QgaW5kZXggdG8gaW5zZXJ0IHRoZSBDU1MgaW50b1xuXHRsZXQgaW5kZXggPSAwO1xuXHRsZXQgbGFzdEMgPSAwO1xuXHRhcmdzWzBdLnJlcGxhY2UoLyVbYS16QS1aJV0vZywgbWF0Y2ggPT4ge1xuXHRcdGlmIChtYXRjaCA9PT0gJyUlJykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpbmRleCsrO1xuXHRcdGlmIChtYXRjaCA9PT0gJyVjJykge1xuXHRcdFx0Ly8gV2Ugb25seSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgKmxhc3QqICVjXG5cdFx0XHQvLyAodGhlIHVzZXIgbWF5IGhhdmUgcHJvdmlkZWQgdGhlaXIgb3duKVxuXHRcdFx0bGFzdEMgPSBpbmRleDtcblx0XHR9XG5cdH0pO1xuXG5cdGFyZ3Muc3BsaWNlKGxhc3RDLCAwLCBjKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGBjb25zb2xlLmRlYnVnKClgIHdoZW4gYXZhaWxhYmxlLlxuICogTm8tb3Agd2hlbiBgY29uc29sZS5kZWJ1Z2AgaXMgbm90IGEgXCJmdW5jdGlvblwiLlxuICogSWYgYGNvbnNvbGUuZGVidWdgIGlzIG5vdCBhdmFpbGFibGUsIGZhbGxzIGJhY2tcbiAqIHRvIGBjb25zb2xlLmxvZ2AuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuZXhwb3J0cy5sb2cgPSBjb25zb2xlLmRlYnVnIHx8IGNvbnNvbGUubG9nIHx8ICgoKSA9PiB7fSk7XG5cbi8qKlxuICogU2F2ZSBgbmFtZXNwYWNlc2AuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBzYXZlKG5hbWVzcGFjZXMpIHtcblx0dHJ5IHtcblx0XHRpZiAobmFtZXNwYWNlcykge1xuXHRcdFx0ZXhwb3J0cy5zdG9yYWdlLnNldEl0ZW0oJ2RlYnVnJywgbmFtZXNwYWNlcyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGV4cG9ydHMuc3RvcmFnZS5yZW1vdmVJdGVtKCdkZWJ1ZycpO1xuXHRcdH1cblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHQvLyBTd2FsbG93XG5cdFx0Ly8gWFhYIChAUWl4LSkgc2hvdWxkIHdlIGJlIGxvZ2dpbmcgdGhlc2U/XG5cdH1cbn1cblxuLyoqXG4gKiBMb2FkIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHJldHVybnMgdGhlIHByZXZpb3VzbHkgcGVyc2lzdGVkIGRlYnVnIG1vZGVzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gbG9hZCgpIHtcblx0bGV0IHI7XG5cdHRyeSB7XG5cdFx0ciA9IGV4cG9ydHMuc3RvcmFnZS5nZXRJdGVtKCdkZWJ1ZycpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdC8vIFN3YWxsb3dcblx0XHQvLyBYWFggKEBRaXgtKSBzaG91bGQgd2UgYmUgbG9nZ2luZyB0aGVzZT9cblx0fVxuXG5cdC8vIElmIGRlYnVnIGlzbid0IHNldCBpbiBMUywgYW5kIHdlJ3JlIGluIEVsZWN0cm9uLCB0cnkgdG8gbG9hZCAkREVCVUdcblx0aWYgKCFyICYmIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAnZW52JyBpbiBwcm9jZXNzKSB7XG5cdFx0ciA9IHByb2Nlc3MuZW52LkRFQlVHO1xuXHR9XG5cblx0cmV0dXJuIHI7XG59XG5cbi8qKlxuICogTG9jYWxzdG9yYWdlIGF0dGVtcHRzIHRvIHJldHVybiB0aGUgbG9jYWxzdG9yYWdlLlxuICpcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugc2FmYXJpIHRocm93c1xuICogd2hlbiBhIHVzZXIgZGlzYWJsZXMgY29va2llcy9sb2NhbHN0b3JhZ2VcbiAqIGFuZCB5b3UgYXR0ZW1wdCB0byBhY2Nlc3MgaXQuXG4gKlxuICogQHJldHVybiB7TG9jYWxTdG9yYWdlfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9jYWxzdG9yYWdlKCkge1xuXHR0cnkge1xuXHRcdC8vIFRWTUxLaXQgKEFwcGxlIFRWIEpTIFJ1bnRpbWUpIGRvZXMgbm90IGhhdmUgYSB3aW5kb3cgb2JqZWN0LCBqdXN0IGxvY2FsU3RvcmFnZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHRcblx0XHQvLyBUaGUgQnJvd3NlciBhbHNvIGhhcyBsb2NhbFN0b3JhZ2UgaW4gdGhlIGdsb2JhbCBjb250ZXh0LlxuXHRcdHJldHVybiBsb2NhbFN0b3JhZ2U7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0Ly8gU3dhbGxvd1xuXHRcdC8vIFhYWCAoQFFpeC0pIHNob3VsZCB3ZSBiZSBsb2dnaW5nIHRoZXNlP1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9jb21tb24nKShleHBvcnRzKTtcblxuY29uc3Qge2Zvcm1hdHRlcnN9ID0gbW9kdWxlLmV4cG9ydHM7XG5cbi8qKlxuICogTWFwICVqIHRvIGBKU09OLnN0cmluZ2lmeSgpYCwgc2luY2Ugbm8gV2ViIEluc3BlY3RvcnMgZG8gdGhhdCBieSBkZWZhdWx0LlxuICovXG5cbmZvcm1hdHRlcnMuaiA9IGZ1bmN0aW9uICh2KSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHYpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdHJldHVybiAnW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06ICcgKyBlcnJvci5tZXNzYWdlO1xuXHR9XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/debug/src/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/debug/src/common.js": -/*!******************************************!*\ - !*** ./node_modules/debug/src/common.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = __webpack_require__(/*! ms */ \"./node_modules/ms/index.js\");\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2NvbW1vbi5qcyIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsbUJBQU8sQ0FBQyxzQ0FBSTtBQUNwQzs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLHNCQUFzQjtBQUN4QztBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qzs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGNBQWMsU0FBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE4QyxTQUFTO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhDQUE4QyxTQUFTO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2NvbW1vbi5qcz9kNTAwIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBUaGlzIGlzIHRoZSBjb21tb24gbG9naWMgZm9yIGJvdGggdGhlIE5vZGUuanMgYW5kIHdlYiBicm93c2VyXG4gKiBpbXBsZW1lbnRhdGlvbnMgb2YgYGRlYnVnKClgLlxuICovXG5cbmZ1bmN0aW9uIHNldHVwKGVudikge1xuXHRjcmVhdGVEZWJ1Zy5kZWJ1ZyA9IGNyZWF0ZURlYnVnO1xuXHRjcmVhdGVEZWJ1Zy5kZWZhdWx0ID0gY3JlYXRlRGVidWc7XG5cdGNyZWF0ZURlYnVnLmNvZXJjZSA9IGNvZXJjZTtcblx0Y3JlYXRlRGVidWcuZGlzYWJsZSA9IGRpc2FibGU7XG5cdGNyZWF0ZURlYnVnLmVuYWJsZSA9IGVuYWJsZTtcblx0Y3JlYXRlRGVidWcuZW5hYmxlZCA9IGVuYWJsZWQ7XG5cdGNyZWF0ZURlYnVnLmh1bWFuaXplID0gcmVxdWlyZSgnbXMnKTtcblx0Y3JlYXRlRGVidWcuZGVzdHJveSA9IGRlc3Ryb3k7XG5cblx0T2JqZWN0LmtleXMoZW52KS5mb3JFYWNoKGtleSA9PiB7XG5cdFx0Y3JlYXRlRGVidWdba2V5XSA9IGVudltrZXldO1xuXHR9KTtcblxuXHQvKipcblx0KiBUaGUgY3VycmVudGx5IGFjdGl2ZSBkZWJ1ZyBtb2RlIG5hbWVzLCBhbmQgbmFtZXMgdG8gc2tpcC5cblx0Ki9cblxuXHRjcmVhdGVEZWJ1Zy5uYW1lcyA9IFtdO1xuXHRjcmVhdGVEZWJ1Zy5za2lwcyA9IFtdO1xuXG5cdC8qKlxuXHQqIE1hcCBvZiBzcGVjaWFsIFwiJW5cIiBoYW5kbGluZyBmdW5jdGlvbnMsIGZvciB0aGUgZGVidWcgXCJmb3JtYXRcIiBhcmd1bWVudC5cblx0KlxuXHQqIFZhbGlkIGtleSBuYW1lcyBhcmUgYSBzaW5nbGUsIGxvd2VyIG9yIHVwcGVyLWNhc2UgbGV0dGVyLCBpLmUuIFwiblwiIGFuZCBcIk5cIi5cblx0Ki9cblx0Y3JlYXRlRGVidWcuZm9ybWF0dGVycyA9IHt9O1xuXG5cdC8qKlxuXHQqIFNlbGVjdHMgYSBjb2xvciBmb3IgYSBkZWJ1ZyBuYW1lc3BhY2Vcblx0KiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlIFRoZSBuYW1lc3BhY2Ugc3RyaW5nIGZvciB0aGUgZGVidWcgaW5zdGFuY2UgdG8gYmUgY29sb3JlZFxuXHQqIEByZXR1cm4ge051bWJlcnxTdHJpbmd9IEFuIEFOU0kgY29sb3IgY29kZSBmb3IgdGhlIGdpdmVuIG5hbWVzcGFjZVxuXHQqIEBhcGkgcHJpdmF0ZVxuXHQqL1xuXHRmdW5jdGlvbiBzZWxlY3RDb2xvcihuYW1lc3BhY2UpIHtcblx0XHRsZXQgaGFzaCA9IDA7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IG5hbWVzcGFjZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aGFzaCA9ICgoaGFzaCA8PCA1KSAtIGhhc2gpICsgbmFtZXNwYWNlLmNoYXJDb2RlQXQoaSk7XG5cdFx0XHRoYXNoIHw9IDA7IC8vIENvbnZlcnQgdG8gMzJiaXQgaW50ZWdlclxuXHRcdH1cblxuXHRcdHJldHVybiBjcmVhdGVEZWJ1Zy5jb2xvcnNbTWF0aC5hYnMoaGFzaCkgJSBjcmVhdGVEZWJ1Zy5jb2xvcnMubGVuZ3RoXTtcblx0fVxuXHRjcmVhdGVEZWJ1Zy5zZWxlY3RDb2xvciA9IHNlbGVjdENvbG9yO1xuXG5cdC8qKlxuXHQqIENyZWF0ZSBhIGRlYnVnZ2VyIHdpdGggdGhlIGdpdmVuIGBuYW1lc3BhY2VgLlxuXHQqXG5cdCogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZVxuXHQqIEByZXR1cm4ge0Z1bmN0aW9ufVxuXHQqIEBhcGkgcHVibGljXG5cdCovXG5cdGZ1bmN0aW9uIGNyZWF0ZURlYnVnKG5hbWVzcGFjZSkge1xuXHRcdGxldCBwcmV2VGltZTtcblx0XHRsZXQgZW5hYmxlT3ZlcnJpZGUgPSBudWxsO1xuXHRcdGxldCBuYW1lc3BhY2VzQ2FjaGU7XG5cdFx0bGV0IGVuYWJsZWRDYWNoZTtcblxuXHRcdGZ1bmN0aW9uIGRlYnVnKC4uLmFyZ3MpIHtcblx0XHRcdC8vIERpc2FibGVkP1xuXHRcdFx0aWYgKCFkZWJ1Zy5lbmFibGVkKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3Qgc2VsZiA9IGRlYnVnO1xuXG5cdFx0XHQvLyBTZXQgYGRpZmZgIHRpbWVzdGFtcFxuXHRcdFx0Y29uc3QgY3VyciA9IE51bWJlcihuZXcgRGF0ZSgpKTtcblx0XHRcdGNvbnN0IG1zID0gY3VyciAtIChwcmV2VGltZSB8fCBjdXJyKTtcblx0XHRcdHNlbGYuZGlmZiA9IG1zO1xuXHRcdFx0c2VsZi5wcmV2ID0gcHJldlRpbWU7XG5cdFx0XHRzZWxmLmN1cnIgPSBjdXJyO1xuXHRcdFx0cHJldlRpbWUgPSBjdXJyO1xuXG5cdFx0XHRhcmdzWzBdID0gY3JlYXRlRGVidWcuY29lcmNlKGFyZ3NbMF0pO1xuXG5cdFx0XHRpZiAodHlwZW9mIGFyZ3NbMF0gIT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdC8vIEFueXRoaW5nIGVsc2UgbGV0J3MgaW5zcGVjdCB3aXRoICVPXG5cdFx0XHRcdGFyZ3MudW5zaGlmdCgnJU8nKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gQXBwbHkgYW55IGBmb3JtYXR0ZXJzYCB0cmFuc2Zvcm1hdGlvbnNcblx0XHRcdGxldCBpbmRleCA9IDA7XG5cdFx0XHRhcmdzWzBdID0gYXJnc1swXS5yZXBsYWNlKC8lKFthLXpBLVolXSkvZywgKG1hdGNoLCBmb3JtYXQpID0+IHtcblx0XHRcdFx0Ly8gSWYgd2UgZW5jb3VudGVyIGFuIGVzY2FwZWQgJSB0aGVuIGRvbid0IGluY3JlYXNlIHRoZSBhcnJheSBpbmRleFxuXHRcdFx0XHRpZiAobWF0Y2ggPT09ICclJScpIHtcblx0XHRcdFx0XHRyZXR1cm4gJyUnO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGluZGV4Kys7XG5cdFx0XHRcdGNvbnN0IGZvcm1hdHRlciA9IGNyZWF0ZURlYnVnLmZvcm1hdHRlcnNbZm9ybWF0XTtcblx0XHRcdFx0aWYgKHR5cGVvZiBmb3JtYXR0ZXIgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHRjb25zdCB2YWwgPSBhcmdzW2luZGV4XTtcblx0XHRcdFx0XHRtYXRjaCA9IGZvcm1hdHRlci5jYWxsKHNlbGYsIHZhbCk7XG5cblx0XHRcdFx0XHQvLyBOb3cgd2UgbmVlZCB0byByZW1vdmUgYGFyZ3NbaW5kZXhdYCBzaW5jZSBpdCdzIGlubGluZWQgaW4gdGhlIGBmb3JtYXRgXG5cdFx0XHRcdFx0YXJncy5zcGxpY2UoaW5kZXgsIDEpO1xuXHRcdFx0XHRcdGluZGV4LS07XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1hdGNoO1xuXHRcdFx0fSk7XG5cblx0XHRcdC8vIEFwcGx5IGVudi1zcGVjaWZpYyBmb3JtYXR0aW5nIChjb2xvcnMsIGV0Yy4pXG5cdFx0XHRjcmVhdGVEZWJ1Zy5mb3JtYXRBcmdzLmNhbGwoc2VsZiwgYXJncyk7XG5cblx0XHRcdGNvbnN0IGxvZ0ZuID0gc2VsZi5sb2cgfHwgY3JlYXRlRGVidWcubG9nO1xuXHRcdFx0bG9nRm4uYXBwbHkoc2VsZiwgYXJncyk7XG5cdFx0fVxuXG5cdFx0ZGVidWcubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuXHRcdGRlYnVnLnVzZUNvbG9ycyA9IGNyZWF0ZURlYnVnLnVzZUNvbG9ycygpO1xuXHRcdGRlYnVnLmNvbG9yID0gY3JlYXRlRGVidWcuc2VsZWN0Q29sb3IobmFtZXNwYWNlKTtcblx0XHRkZWJ1Zy5leHRlbmQgPSBleHRlbmQ7XG5cdFx0ZGVidWcuZGVzdHJveSA9IGNyZWF0ZURlYnVnLmRlc3Ryb3k7IC8vIFhYWCBUZW1wb3JhcnkuIFdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRlYnVnLCAnZW5hYmxlZCcsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuXHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdGlmIChlbmFibGVPdmVycmlkZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdHJldHVybiBlbmFibGVPdmVycmlkZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobmFtZXNwYWNlc0NhY2hlICE9PSBjcmVhdGVEZWJ1Zy5uYW1lc3BhY2VzKSB7XG5cdFx0XHRcdFx0bmFtZXNwYWNlc0NhY2hlID0gY3JlYXRlRGVidWcubmFtZXNwYWNlcztcblx0XHRcdFx0XHRlbmFibGVkQ2FjaGUgPSBjcmVhdGVEZWJ1Zy5lbmFibGVkKG5hbWVzcGFjZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gZW5hYmxlZENhY2hlO1xuXHRcdFx0fSxcblx0XHRcdHNldDogdiA9PiB7XG5cdFx0XHRcdGVuYWJsZU92ZXJyaWRlID0gdjtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdC8vIEVudi1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiBsb2dpYyBmb3IgZGVidWcgaW5zdGFuY2VzXG5cdFx0aWYgKHR5cGVvZiBjcmVhdGVEZWJ1Zy5pbml0ID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRjcmVhdGVEZWJ1Zy5pbml0KGRlYnVnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZGVidWc7XG5cdH1cblxuXHRmdW5jdGlvbiBleHRlbmQobmFtZXNwYWNlLCBkZWxpbWl0ZXIpIHtcblx0XHRjb25zdCBuZXdEZWJ1ZyA9IGNyZWF0ZURlYnVnKHRoaXMubmFtZXNwYWNlICsgKHR5cGVvZiBkZWxpbWl0ZXIgPT09ICd1bmRlZmluZWQnID8gJzonIDogZGVsaW1pdGVyKSArIG5hbWVzcGFjZSk7XG5cdFx0bmV3RGVidWcubG9nID0gdGhpcy5sb2c7XG5cdFx0cmV0dXJuIG5ld0RlYnVnO1xuXHR9XG5cblx0LyoqXG5cdCogRW5hYmxlcyBhIGRlYnVnIG1vZGUgYnkgbmFtZXNwYWNlcy4gVGhpcyBjYW4gaW5jbHVkZSBtb2Rlc1xuXHQqIHNlcGFyYXRlZCBieSBhIGNvbG9uIGFuZCB3aWxkY2FyZHMuXG5cdCpcblx0KiBAcGFyYW0ge1N0cmluZ30gbmFtZXNwYWNlc1xuXHQqIEBhcGkgcHVibGljXG5cdCovXG5cdGZ1bmN0aW9uIGVuYWJsZShuYW1lc3BhY2VzKSB7XG5cdFx0Y3JlYXRlRGVidWcuc2F2ZShuYW1lc3BhY2VzKTtcblx0XHRjcmVhdGVEZWJ1Zy5uYW1lc3BhY2VzID0gbmFtZXNwYWNlcztcblxuXHRcdGNyZWF0ZURlYnVnLm5hbWVzID0gW107XG5cdFx0Y3JlYXRlRGVidWcuc2tpcHMgPSBbXTtcblxuXHRcdGxldCBpO1xuXHRcdGNvbnN0IHNwbGl0ID0gKHR5cGVvZiBuYW1lc3BhY2VzID09PSAnc3RyaW5nJyA/IG5hbWVzcGFjZXMgOiAnJykuc3BsaXQoL1tcXHMsXSsvKTtcblx0XHRjb25zdCBsZW4gPSBzcGxpdC5sZW5ndGg7XG5cblx0XHRmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdGlmICghc3BsaXRbaV0pIHtcblx0XHRcdFx0Ly8gaWdub3JlIGVtcHR5IHN0cmluZ3Ncblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdG5hbWVzcGFjZXMgPSBzcGxpdFtpXS5yZXBsYWNlKC9cXCovZywgJy4qPycpO1xuXG5cdFx0XHRpZiAobmFtZXNwYWNlc1swXSA9PT0gJy0nKSB7XG5cdFx0XHRcdGNyZWF0ZURlYnVnLnNraXBzLnB1c2gobmV3IFJlZ0V4cCgnXicgKyBuYW1lc3BhY2VzLnNsaWNlKDEpICsgJyQnKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjcmVhdGVEZWJ1Zy5uYW1lcy5wdXNoKG5ldyBSZWdFeHAoJ14nICsgbmFtZXNwYWNlcyArICckJykpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQqIERpc2FibGUgZGVidWcgb3V0cHV0LlxuXHQqXG5cdCogQHJldHVybiB7U3RyaW5nfSBuYW1lc3BhY2VzXG5cdCogQGFwaSBwdWJsaWNcblx0Ki9cblx0ZnVuY3Rpb24gZGlzYWJsZSgpIHtcblx0XHRjb25zdCBuYW1lc3BhY2VzID0gW1xuXHRcdFx0Li4uY3JlYXRlRGVidWcubmFtZXMubWFwKHRvTmFtZXNwYWNlKSxcblx0XHRcdC4uLmNyZWF0ZURlYnVnLnNraXBzLm1hcCh0b05hbWVzcGFjZSkubWFwKG5hbWVzcGFjZSA9PiAnLScgKyBuYW1lc3BhY2UpXG5cdFx0XS5qb2luKCcsJyk7XG5cdFx0Y3JlYXRlRGVidWcuZW5hYmxlKCcnKTtcblx0XHRyZXR1cm4gbmFtZXNwYWNlcztcblx0fVxuXG5cdC8qKlxuXHQqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gbW9kZSBuYW1lIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cblx0KlxuXHQqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG5cdCogQHJldHVybiB7Qm9vbGVhbn1cblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBlbmFibGVkKG5hbWUpIHtcblx0XHRpZiAobmFtZVtuYW1lLmxlbmd0aCAtIDFdID09PSAnKicpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblxuXHRcdGxldCBpO1xuXHRcdGxldCBsZW47XG5cblx0XHRmb3IgKGkgPSAwLCBsZW4gPSBjcmVhdGVEZWJ1Zy5za2lwcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0aWYgKGNyZWF0ZURlYnVnLnNraXBzW2ldLnRlc3QobmFtZSkpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGZvciAoaSA9IDAsIGxlbiA9IGNyZWF0ZURlYnVnLm5hbWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRpZiAoY3JlYXRlRGVidWcubmFtZXNbaV0udGVzdChuYW1lKSkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0KiBDb252ZXJ0IHJlZ2V4cCB0byBuYW1lc3BhY2Vcblx0KlxuXHQqIEBwYXJhbSB7UmVnRXhwfSByZWd4ZXBcblx0KiBAcmV0dXJuIHtTdHJpbmd9IG5hbWVzcGFjZVxuXHQqIEBhcGkgcHJpdmF0ZVxuXHQqL1xuXHRmdW5jdGlvbiB0b05hbWVzcGFjZShyZWdleHApIHtcblx0XHRyZXR1cm4gcmVnZXhwLnRvU3RyaW5nKClcblx0XHRcdC5zdWJzdHJpbmcoMiwgcmVnZXhwLnRvU3RyaW5nKCkubGVuZ3RoIC0gMilcblx0XHRcdC5yZXBsYWNlKC9cXC5cXCpcXD8kLywgJyonKTtcblx0fVxuXG5cdC8qKlxuXHQqIENvZXJjZSBgdmFsYC5cblx0KlxuXHQqIEBwYXJhbSB7TWl4ZWR9IHZhbFxuXHQqIEByZXR1cm4ge01peGVkfVxuXHQqIEBhcGkgcHJpdmF0ZVxuXHQqL1xuXHRmdW5jdGlvbiBjb2VyY2UodmFsKSB7XG5cdFx0aWYgKHZhbCBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0XHRyZXR1cm4gdmFsLnN0YWNrIHx8IHZhbC5tZXNzYWdlO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsO1xuXHR9XG5cblx0LyoqXG5cdCogWFhYIERPIE5PVCBVU0UuIFRoaXMgaXMgYSB0ZW1wb3Jhcnkgc3R1YiBmdW5jdGlvbi5cblx0KiBYWFggSXQgV0lMTCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG5cdCovXG5cdGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG5cdFx0Y29uc29sZS53YXJuKCdJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuJyk7XG5cdH1cblxuXHRjcmVhdGVEZWJ1Zy5lbmFibGUoY3JlYXRlRGVidWcubG9hZCgpKTtcblxuXHRyZXR1cm4gY3JlYXRlRGVidWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2V0dXA7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/debug/src/common.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-block-tracker/dist/BaseBlockTracker.js": -/*!*****************************************************************!*\ - !*** ./node_modules/eth-block-tracker/dist/BaseBlockTracker.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BaseBlockTracker = void 0;\nconst safe_event_emitter_1 = __importDefault(__webpack_require__(/*! @metamask/safe-event-emitter */ \"./node_modules/@metamask/safe-event-emitter/index.js\"));\nconst sec = 1000;\nconst calculateSum = (accumulator, currentValue) => accumulator + currentValue;\nconst blockTrackerEvents = ['sync', 'latest'];\nclass BaseBlockTracker extends safe_event_emitter_1.default {\n constructor(opts) {\n super();\n // config\n this._blockResetDuration = opts.blockResetDuration || 20 * sec;\n // state\n this._currentBlock = null;\n this._isRunning = false;\n // bind functions for internal use\n this._onNewListener = this._onNewListener.bind(this);\n this._onRemoveListener = this._onRemoveListener.bind(this);\n this._resetCurrentBlock = this._resetCurrentBlock.bind(this);\n // listen for handler changes\n this._setupInternalEvents();\n }\n async destroy() {\n this._cancelBlockResetTimeout();\n await this._maybeEnd();\n super.removeAllListeners();\n }\n isRunning() {\n return this._isRunning;\n }\n getCurrentBlock() {\n return this._currentBlock;\n }\n async getLatestBlock() {\n // return if available\n if (this._currentBlock) {\n return this._currentBlock;\n }\n // wait for a new latest block\n const latestBlock = await new Promise((resolve) => this.once('latest', resolve));\n // return newly set current block\n return latestBlock;\n }\n // dont allow module consumer to remove our internal event listeners\n removeAllListeners(eventName) {\n // perform default behavior, preserve fn arity\n if (eventName) {\n super.removeAllListeners(eventName);\n }\n else {\n super.removeAllListeners();\n }\n // re-add internal events\n this._setupInternalEvents();\n // trigger stop check just in case\n this._onRemoveListener();\n return this;\n }\n _setupInternalEvents() {\n // first remove listeners for idempotence\n this.removeListener('newListener', this._onNewListener);\n this.removeListener('removeListener', this._onRemoveListener);\n // then add them\n this.on('newListener', this._onNewListener);\n this.on('removeListener', this._onRemoveListener);\n }\n _onNewListener(eventName) {\n // `newListener` is called *before* the listener is added\n if (blockTrackerEvents.includes(eventName)) {\n this._maybeStart();\n }\n }\n _onRemoveListener() {\n // `removeListener` is called *after* the listener is removed\n if (this._getBlockTrackerEventCount() > 0) {\n return;\n }\n this._maybeEnd();\n }\n async _maybeStart() {\n if (this._isRunning) {\n return;\n }\n this._isRunning = true;\n // cancel setting latest block to stale\n this._cancelBlockResetTimeout();\n await this._start();\n this.emit('_started');\n }\n async _maybeEnd() {\n if (!this._isRunning) {\n return;\n }\n this._isRunning = false;\n this._setupBlockResetTimeout();\n await this._end();\n this.emit('_ended');\n }\n _getBlockTrackerEventCount() {\n return blockTrackerEvents\n .map((eventName) => this.listenerCount(eventName))\n .reduce(calculateSum);\n }\n _newPotentialLatest(newBlock) {\n const currentBlock = this._currentBlock;\n // only update if blok number is higher\n if (currentBlock && hexToInt(newBlock) <= hexToInt(currentBlock)) {\n return;\n }\n this._setCurrentBlock(newBlock);\n }\n _setCurrentBlock(newBlock) {\n const oldBlock = this._currentBlock;\n this._currentBlock = newBlock;\n this.emit('latest', newBlock);\n this.emit('sync', { oldBlock, newBlock });\n }\n _setupBlockResetTimeout() {\n // clear any existing timeout\n this._cancelBlockResetTimeout();\n // clear latest block when stale\n this._blockResetTimeout = setTimeout(this._resetCurrentBlock, this._blockResetDuration);\n // nodejs - dont hold process open\n if (this._blockResetTimeout.unref) {\n this._blockResetTimeout.unref();\n }\n }\n _cancelBlockResetTimeout() {\n if (this._blockResetTimeout) {\n clearTimeout(this._blockResetTimeout);\n }\n }\n _resetCurrentBlock() {\n this._currentBlock = null;\n }\n}\nexports.BaseBlockTracker = BaseBlockTracker;\n/**\n * Converts a number represented as a string in hexadecimal format into a native\n * number.\n *\n * @param hexInt - The hex string.\n * @returns The number.\n */\nfunction hexToInt(hexInt) {\n return Number.parseInt(hexInt, 16);\n}\n//# sourceMappingURL=BaseBlockTracker.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9CYXNlQmxvY2tUcmFja2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCO0FBQ3hCLDZDQUE2QyxtQkFBTyxDQUFDLDBGQUE4QjtBQUNuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsb0JBQW9CO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9CYXNlQmxvY2tUcmFja2VyLmpzP2QwMjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkJhc2VCbG9ja1RyYWNrZXIgPSB2b2lkIDA7XG5jb25zdCBzYWZlX2V2ZW50X2VtaXR0ZXJfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiQG1ldGFtYXNrL3NhZmUtZXZlbnQtZW1pdHRlclwiKSk7XG5jb25zdCBzZWMgPSAxMDAwO1xuY29uc3QgY2FsY3VsYXRlU3VtID0gKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpID0+IGFjY3VtdWxhdG9yICsgY3VycmVudFZhbHVlO1xuY29uc3QgYmxvY2tUcmFja2VyRXZlbnRzID0gWydzeW5jJywgJ2xhdGVzdCddO1xuY2xhc3MgQmFzZUJsb2NrVHJhY2tlciBleHRlbmRzIHNhZmVfZXZlbnRfZW1pdHRlcl8xLmRlZmF1bHQge1xuICAgIGNvbnN0cnVjdG9yKG9wdHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgLy8gY29uZmlnXG4gICAgICAgIHRoaXMuX2Jsb2NrUmVzZXREdXJhdGlvbiA9IG9wdHMuYmxvY2tSZXNldER1cmF0aW9uIHx8IDIwICogc2VjO1xuICAgICAgICAvLyBzdGF0ZVxuICAgICAgICB0aGlzLl9jdXJyZW50QmxvY2sgPSBudWxsO1xuICAgICAgICB0aGlzLl9pc1J1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgLy8gYmluZCBmdW5jdGlvbnMgZm9yIGludGVybmFsIHVzZVxuICAgICAgICB0aGlzLl9vbk5ld0xpc3RlbmVyID0gdGhpcy5fb25OZXdMaXN0ZW5lci5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9vblJlbW92ZUxpc3RlbmVyID0gdGhpcy5fb25SZW1vdmVMaXN0ZW5lci5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLl9yZXNldEN1cnJlbnRCbG9jayA9IHRoaXMuX3Jlc2V0Q3VycmVudEJsb2NrLmJpbmQodGhpcyk7XG4gICAgICAgIC8vIGxpc3RlbiBmb3IgaGFuZGxlciBjaGFuZ2VzXG4gICAgICAgIHRoaXMuX3NldHVwSW50ZXJuYWxFdmVudHMoKTtcbiAgICB9XG4gICAgYXN5bmMgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fY2FuY2VsQmxvY2tSZXNldFRpbWVvdXQoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5fbWF5YmVFbmQoKTtcbiAgICAgICAgc3VwZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgfVxuICAgIGlzUnVubmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUnVubmluZztcbiAgICB9XG4gICAgZ2V0Q3VycmVudEJsb2NrKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudEJsb2NrO1xuICAgIH1cbiAgICBhc3luYyBnZXRMYXRlc3RCbG9jaygpIHtcbiAgICAgICAgLy8gcmV0dXJuIGlmIGF2YWlsYWJsZVxuICAgICAgICBpZiAodGhpcy5fY3VycmVudEJsb2NrKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudEJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdhaXQgZm9yIGEgbmV3IGxhdGVzdCBibG9ja1xuICAgICAgICBjb25zdCBsYXRlc3RCbG9jayA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB0aGlzLm9uY2UoJ2xhdGVzdCcsIHJlc29sdmUpKTtcbiAgICAgICAgLy8gcmV0dXJuIG5ld2x5IHNldCBjdXJyZW50IGJsb2NrXG4gICAgICAgIHJldHVybiBsYXRlc3RCbG9jaztcbiAgICB9XG4gICAgLy8gZG9udCBhbGxvdyBtb2R1bGUgY29uc3VtZXIgdG8gcmVtb3ZlIG91ciBpbnRlcm5hbCBldmVudCBsaXN0ZW5lcnNcbiAgICByZW1vdmVBbGxMaXN0ZW5lcnMoZXZlbnROYW1lKSB7XG4gICAgICAgIC8vIHBlcmZvcm0gZGVmYXVsdCBiZWhhdmlvciwgcHJlc2VydmUgZm4gYXJpdHlcbiAgICAgICAgaWYgKGV2ZW50TmFtZSkge1xuICAgICAgICAgICAgc3VwZXIucmVtb3ZlQWxsTGlzdGVuZXJzKGV2ZW50TmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyByZS1hZGQgaW50ZXJuYWwgZXZlbnRzXG4gICAgICAgIHRoaXMuX3NldHVwSW50ZXJuYWxFdmVudHMoKTtcbiAgICAgICAgLy8gdHJpZ2dlciBzdG9wIGNoZWNrIGp1c3QgaW4gY2FzZVxuICAgICAgICB0aGlzLl9vblJlbW92ZUxpc3RlbmVyKCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBfc2V0dXBJbnRlcm5hbEV2ZW50cygpIHtcbiAgICAgICAgLy8gZmlyc3QgcmVtb3ZlIGxpc3RlbmVycyBmb3IgaWRlbXBvdGVuY2VcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcignbmV3TGlzdGVuZXInLCB0aGlzLl9vbk5ld0xpc3RlbmVyKTtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcigncmVtb3ZlTGlzdGVuZXInLCB0aGlzLl9vblJlbW92ZUxpc3RlbmVyKTtcbiAgICAgICAgLy8gdGhlbiBhZGQgdGhlbVxuICAgICAgICB0aGlzLm9uKCduZXdMaXN0ZW5lcicsIHRoaXMuX29uTmV3TGlzdGVuZXIpO1xuICAgICAgICB0aGlzLm9uKCdyZW1vdmVMaXN0ZW5lcicsIHRoaXMuX29uUmVtb3ZlTGlzdGVuZXIpO1xuICAgIH1cbiAgICBfb25OZXdMaXN0ZW5lcihldmVudE5hbWUpIHtcbiAgICAgICAgLy8gYG5ld0xpc3RlbmVyYCBpcyBjYWxsZWQgKmJlZm9yZSogdGhlIGxpc3RlbmVyIGlzIGFkZGVkXG4gICAgICAgIGlmIChibG9ja1RyYWNrZXJFdmVudHMuaW5jbHVkZXMoZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgdGhpcy5fbWF5YmVTdGFydCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9vblJlbW92ZUxpc3RlbmVyKCkge1xuICAgICAgICAvLyBgcmVtb3ZlTGlzdGVuZXJgIGlzIGNhbGxlZCAqYWZ0ZXIqIHRoZSBsaXN0ZW5lciBpcyByZW1vdmVkXG4gICAgICAgIGlmICh0aGlzLl9nZXRCbG9ja1RyYWNrZXJFdmVudENvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbWF5YmVFbmQoKTtcbiAgICB9XG4gICAgYXN5bmMgX21heWJlU3RhcnQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9pc1J1bm5pbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc1J1bm5pbmcgPSB0cnVlO1xuICAgICAgICAvLyBjYW5jZWwgc2V0dGluZyBsYXRlc3QgYmxvY2sgdG8gc3RhbGVcbiAgICAgICAgdGhpcy5fY2FuY2VsQmxvY2tSZXNldFRpbWVvdXQoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5fc3RhcnQoKTtcbiAgICAgICAgdGhpcy5lbWl0KCdfc3RhcnRlZCcpO1xuICAgIH1cbiAgICBhc3luYyBfbWF5YmVFbmQoKSB7XG4gICAgICAgIGlmICghdGhpcy5faXNSdW5uaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNSdW5uaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3NldHVwQmxvY2tSZXNldFRpbWVvdXQoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5fZW5kKCk7XG4gICAgICAgIHRoaXMuZW1pdCgnX2VuZGVkJyk7XG4gICAgfVxuICAgIF9nZXRCbG9ja1RyYWNrZXJFdmVudENvdW50KCkge1xuICAgICAgICByZXR1cm4gYmxvY2tUcmFja2VyRXZlbnRzXG4gICAgICAgICAgICAubWFwKChldmVudE5hbWUpID0+IHRoaXMubGlzdGVuZXJDb3VudChldmVudE5hbWUpKVxuICAgICAgICAgICAgLnJlZHVjZShjYWxjdWxhdGVTdW0pO1xuICAgIH1cbiAgICBfbmV3UG90ZW50aWFsTGF0ZXN0KG5ld0Jsb2NrKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRCbG9jayA9IHRoaXMuX2N1cnJlbnRCbG9jaztcbiAgICAgICAgLy8gb25seSB1cGRhdGUgaWYgYmxvayBudW1iZXIgaXMgaGlnaGVyXG4gICAgICAgIGlmIChjdXJyZW50QmxvY2sgJiYgaGV4VG9JbnQobmV3QmxvY2spIDw9IGhleFRvSW50KGN1cnJlbnRCbG9jaykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRDdXJyZW50QmxvY2sobmV3QmxvY2spO1xuICAgIH1cbiAgICBfc2V0Q3VycmVudEJsb2NrKG5ld0Jsb2NrKSB7XG4gICAgICAgIGNvbnN0IG9sZEJsb2NrID0gdGhpcy5fY3VycmVudEJsb2NrO1xuICAgICAgICB0aGlzLl9jdXJyZW50QmxvY2sgPSBuZXdCbG9jaztcbiAgICAgICAgdGhpcy5lbWl0KCdsYXRlc3QnLCBuZXdCbG9jayk7XG4gICAgICAgIHRoaXMuZW1pdCgnc3luYycsIHsgb2xkQmxvY2ssIG5ld0Jsb2NrIH0pO1xuICAgIH1cbiAgICBfc2V0dXBCbG9ja1Jlc2V0VGltZW91dCgpIHtcbiAgICAgICAgLy8gY2xlYXIgYW55IGV4aXN0aW5nIHRpbWVvdXRcbiAgICAgICAgdGhpcy5fY2FuY2VsQmxvY2tSZXNldFRpbWVvdXQoKTtcbiAgICAgICAgLy8gY2xlYXIgbGF0ZXN0IGJsb2NrIHdoZW4gc3RhbGVcbiAgICAgICAgdGhpcy5fYmxvY2tSZXNldFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuX3Jlc2V0Q3VycmVudEJsb2NrLCB0aGlzLl9ibG9ja1Jlc2V0RHVyYXRpb24pO1xuICAgICAgICAvLyBub2RlanMgLSBkb250IGhvbGQgcHJvY2VzcyBvcGVuXG4gICAgICAgIGlmICh0aGlzLl9ibG9ja1Jlc2V0VGltZW91dC51bnJlZikge1xuICAgICAgICAgICAgdGhpcy5fYmxvY2tSZXNldFRpbWVvdXQudW5yZWYoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfY2FuY2VsQmxvY2tSZXNldFRpbWVvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9ibG9ja1Jlc2V0VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Jsb2NrUmVzZXRUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfcmVzZXRDdXJyZW50QmxvY2soKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRCbG9jayA9IG51bGw7XG4gICAgfVxufVxuZXhwb3J0cy5CYXNlQmxvY2tUcmFja2VyID0gQmFzZUJsb2NrVHJhY2tlcjtcbi8qKlxuICogQ29udmVydHMgYSBudW1iZXIgcmVwcmVzZW50ZWQgYXMgYSBzdHJpbmcgaW4gaGV4YWRlY2ltYWwgZm9ybWF0IGludG8gYSBuYXRpdmVcbiAqIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gaGV4SW50IC0gVGhlIGhleCBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyLlxuICovXG5mdW5jdGlvbiBoZXhUb0ludChoZXhJbnQpIHtcbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KGhleEludCwgMTYpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QmFzZUJsb2NrVHJhY2tlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-block-tracker/dist/BaseBlockTracker.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-block-tracker/dist/PollingBlockTracker.js": -/*!********************************************************************!*\ - !*** ./node_modules/eth-block-tracker/dist/PollingBlockTracker.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PollingBlockTracker = void 0;\nconst json_rpc_random_id_1 = __importDefault(__webpack_require__(/*! json-rpc-random-id */ \"./node_modules/json-rpc-random-id/index.js\"));\nconst pify_1 = __importDefault(__webpack_require__(/*! pify */ \"./node_modules/pify/index.js\"));\nconst BaseBlockTracker_1 = __webpack_require__(/*! ./BaseBlockTracker */ \"./node_modules/eth-block-tracker/dist/BaseBlockTracker.js\");\nconst logging_utils_1 = __webpack_require__(/*! ./logging-utils */ \"./node_modules/eth-block-tracker/dist/logging-utils.js\");\nconst log = (0, logging_utils_1.createModuleLogger)(logging_utils_1.projectLogger, 'polling-block-tracker');\nconst createRandomId = (0, json_rpc_random_id_1.default)();\nconst sec = 1000;\nclass PollingBlockTracker extends BaseBlockTracker_1.BaseBlockTracker {\n constructor(opts = {}) {\n var _a;\n // parse + validate args\n if (!opts.provider) {\n throw new Error('PollingBlockTracker - no provider specified.');\n }\n super({\n blockResetDuration: (_a = opts.blockResetDuration) !== null && _a !== void 0 ? _a : opts.pollingInterval,\n });\n // config\n this._provider = opts.provider;\n this._pollingInterval = opts.pollingInterval || 20 * sec;\n this._retryTimeout = opts.retryTimeout || this._pollingInterval / 10;\n this._keepEventLoopActive =\n opts.keepEventLoopActive === undefined ? true : opts.keepEventLoopActive;\n this._setSkipCacheFlag = opts.setSkipCacheFlag || false;\n }\n // trigger block polling\n async checkForLatestBlock() {\n await this._updateLatestBlock();\n return await this.getLatestBlock();\n }\n async _start() {\n this._synchronize();\n }\n async _end() {\n // No-op\n }\n async _synchronize() {\n var _a;\n while (this._isRunning) {\n try {\n await this._updateLatestBlock();\n const promise = timeout(this._pollingInterval, !this._keepEventLoopActive);\n this.emit('_waitingForNextIteration');\n await promise;\n }\n catch (err) {\n const newErr = new Error(`PollingBlockTracker - encountered an error while attempting to update latest block:\\n${(_a = err.stack) !== null && _a !== void 0 ? _a : err}`);\n try {\n this.emit('error', newErr);\n }\n catch (emitErr) {\n console.error(newErr);\n }\n const promise = timeout(this._retryTimeout, !this._keepEventLoopActive);\n this.emit('_waitingForNextIteration');\n await promise;\n }\n }\n }\n async _updateLatestBlock() {\n // fetch + set latest block\n const latestBlock = await this._fetchLatestBlock();\n this._newPotentialLatest(latestBlock);\n }\n async _fetchLatestBlock() {\n const req = {\n jsonrpc: '2.0',\n id: createRandomId(),\n method: 'eth_blockNumber',\n params: [],\n };\n if (this._setSkipCacheFlag) {\n req.skipCache = true;\n }\n log('Making request', req);\n const res = await (0, pify_1.default)((cb) => this._provider.sendAsync(req, cb))();\n log('Got response', res);\n if (res.error) {\n throw new Error(`PollingBlockTracker - encountered error fetching block:\\n${res.error.message}`);\n }\n return res.result;\n }\n}\nexports.PollingBlockTracker = PollingBlockTracker;\n/**\n * Waits for the specified amount of time.\n *\n * @param duration - The amount of time in milliseconds.\n * @param unref - Assuming this function is run in a Node context, governs\n * whether Node should wait before the `setTimeout` has completed before ending\n * the process (true for no, false for yes). Defaults to false.\n * @returns A promise that can be used to wait.\n */\nfunction timeout(duration, unref) {\n return new Promise((resolve) => {\n const timeoutRef = setTimeout(resolve, duration);\n // don't keep process open\n if (timeoutRef.unref && unref) {\n timeoutRef.unref();\n }\n });\n}\n//# sourceMappingURL=PollingBlockTracker.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9Qb2xsaW5nQmxvY2tUcmFja2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMkJBQTJCO0FBQzNCLDZDQUE2QyxtQkFBTyxDQUFDLHNFQUFvQjtBQUN6RSwrQkFBK0IsbUJBQU8sQ0FBQywwQ0FBTTtBQUM3QywyQkFBMkIsbUJBQU8sQ0FBQyxxRkFBb0I7QUFDdkQsd0JBQXdCLG1CQUFPLENBQUMsK0VBQWlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpSUFBaUksc0RBQXNEO0FBQ3ZMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0ZBQXdGLGtCQUFrQjtBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtYmxvY2stdHJhY2tlci9kaXN0L1BvbGxpbmdCbG9ja1RyYWNrZXIuanM/MzFkMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUG9sbGluZ0Jsb2NrVHJhY2tlciA9IHZvaWQgMDtcbmNvbnN0IGpzb25fcnBjX3JhbmRvbV9pZF8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJqc29uLXJwYy1yYW5kb20taWRcIikpO1xuY29uc3QgcGlmeV8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJwaWZ5XCIpKTtcbmNvbnN0IEJhc2VCbG9ja1RyYWNrZXJfMSA9IHJlcXVpcmUoXCIuL0Jhc2VCbG9ja1RyYWNrZXJcIik7XG5jb25zdCBsb2dnaW5nX3V0aWxzXzEgPSByZXF1aXJlKFwiLi9sb2dnaW5nLXV0aWxzXCIpO1xuY29uc3QgbG9nID0gKDAsIGxvZ2dpbmdfdXRpbHNfMS5jcmVhdGVNb2R1bGVMb2dnZXIpKGxvZ2dpbmdfdXRpbHNfMS5wcm9qZWN0TG9nZ2VyLCAncG9sbGluZy1ibG9jay10cmFja2VyJyk7XG5jb25zdCBjcmVhdGVSYW5kb21JZCA9ICgwLCBqc29uX3JwY19yYW5kb21faWRfMS5kZWZhdWx0KSgpO1xuY29uc3Qgc2VjID0gMTAwMDtcbmNsYXNzIFBvbGxpbmdCbG9ja1RyYWNrZXIgZXh0ZW5kcyBCYXNlQmxvY2tUcmFja2VyXzEuQmFzZUJsb2NrVHJhY2tlciB7XG4gICAgY29uc3RydWN0b3Iob3B0cyA9IHt9KSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gcGFyc2UgKyB2YWxpZGF0ZSBhcmdzXG4gICAgICAgIGlmICghb3B0cy5wcm92aWRlcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQb2xsaW5nQmxvY2tUcmFja2VyIC0gbm8gcHJvdmlkZXIgc3BlY2lmaWVkLicpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGJsb2NrUmVzZXREdXJhdGlvbjogKF9hID0gb3B0cy5ibG9ja1Jlc2V0RHVyYXRpb24pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG9wdHMucG9sbGluZ0ludGVydmFsLFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gY29uZmlnXG4gICAgICAgIHRoaXMuX3Byb3ZpZGVyID0gb3B0cy5wcm92aWRlcjtcbiAgICAgICAgdGhpcy5fcG9sbGluZ0ludGVydmFsID0gb3B0cy5wb2xsaW5nSW50ZXJ2YWwgfHwgMjAgKiBzZWM7XG4gICAgICAgIHRoaXMuX3JldHJ5VGltZW91dCA9IG9wdHMucmV0cnlUaW1lb3V0IHx8IHRoaXMuX3BvbGxpbmdJbnRlcnZhbCAvIDEwO1xuICAgICAgICB0aGlzLl9rZWVwRXZlbnRMb29wQWN0aXZlID1cbiAgICAgICAgICAgIG9wdHMua2VlcEV2ZW50TG9vcEFjdGl2ZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdHMua2VlcEV2ZW50TG9vcEFjdGl2ZTtcbiAgICAgICAgdGhpcy5fc2V0U2tpcENhY2hlRmxhZyA9IG9wdHMuc2V0U2tpcENhY2hlRmxhZyB8fCBmYWxzZTtcbiAgICB9XG4gICAgLy8gdHJpZ2dlciBibG9jayBwb2xsaW5nXG4gICAgYXN5bmMgY2hlY2tGb3JMYXRlc3RCbG9jaygpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5fdXBkYXRlTGF0ZXN0QmxvY2soKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0TGF0ZXN0QmxvY2soKTtcbiAgICB9XG4gICAgYXN5bmMgX3N0YXJ0KCkge1xuICAgICAgICB0aGlzLl9zeW5jaHJvbml6ZSgpO1xuICAgIH1cbiAgICBhc3luYyBfZW5kKCkge1xuICAgICAgICAvLyBOby1vcFxuICAgIH1cbiAgICBhc3luYyBfc3luY2hyb25pemUoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgd2hpbGUgKHRoaXMuX2lzUnVubmluZykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl91cGRhdGVMYXRlc3RCbG9jaygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aW1lb3V0KHRoaXMuX3BvbGxpbmdJbnRlcnZhbCwgIXRoaXMuX2tlZXBFdmVudExvb3BBY3RpdmUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnX3dhaXRpbmdGb3JOZXh0SXRlcmF0aW9uJyk7XG4gICAgICAgICAgICAgICAgYXdhaXQgcHJvbWlzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdFcnIgPSBuZXcgRXJyb3IoYFBvbGxpbmdCbG9ja1RyYWNrZXIgLSBlbmNvdW50ZXJlZCBhbiBlcnJvciB3aGlsZSBhdHRlbXB0aW5nIHRvIHVwZGF0ZSBsYXRlc3QgYmxvY2s6XFxuJHsoX2EgPSBlcnIuc3RhY2spICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGVycn1gKTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3RXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVtaXRFcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihuZXdFcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGltZW91dCh0aGlzLl9yZXRyeVRpbWVvdXQsICF0aGlzLl9rZWVwRXZlbnRMb29wQWN0aXZlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ193YWl0aW5nRm9yTmV4dEl0ZXJhdGlvbicpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHByb21pc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgX3VwZGF0ZUxhdGVzdEJsb2NrKCkge1xuICAgICAgICAvLyBmZXRjaCArIHNldCBsYXRlc3QgYmxvY2tcbiAgICAgICAgY29uc3QgbGF0ZXN0QmxvY2sgPSBhd2FpdCB0aGlzLl9mZXRjaExhdGVzdEJsb2NrKCk7XG4gICAgICAgIHRoaXMuX25ld1BvdGVudGlhbExhdGVzdChsYXRlc3RCbG9jayk7XG4gICAgfVxuICAgIGFzeW5jIF9mZXRjaExhdGVzdEJsb2NrKCkge1xuICAgICAgICBjb25zdCByZXEgPSB7XG4gICAgICAgICAgICBqc29ucnBjOiAnMi4wJyxcbiAgICAgICAgICAgIGlkOiBjcmVhdGVSYW5kb21JZCgpLFxuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2Jsb2NrTnVtYmVyJyxcbiAgICAgICAgICAgIHBhcmFtczogW10sXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLl9zZXRTa2lwQ2FjaGVGbGFnKSB7XG4gICAgICAgICAgICByZXEuc2tpcENhY2hlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBsb2coJ01ha2luZyByZXF1ZXN0JywgcmVxKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgKDAsIHBpZnlfMS5kZWZhdWx0KSgoY2IpID0+IHRoaXMuX3Byb3ZpZGVyLnNlbmRBc3luYyhyZXEsIGNiKSkoKTtcbiAgICAgICAgbG9nKCdHb3QgcmVzcG9uc2UnLCByZXMpO1xuICAgICAgICBpZiAocmVzLmVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBvbGxpbmdCbG9ja1RyYWNrZXIgLSBlbmNvdW50ZXJlZCBlcnJvciBmZXRjaGluZyBibG9jazpcXG4ke3Jlcy5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXMucmVzdWx0O1xuICAgIH1cbn1cbmV4cG9ydHMuUG9sbGluZ0Jsb2NrVHJhY2tlciA9IFBvbGxpbmdCbG9ja1RyYWNrZXI7XG4vKipcbiAqIFdhaXRzIGZvciB0aGUgc3BlY2lmaWVkIGFtb3VudCBvZiB0aW1lLlxuICpcbiAqIEBwYXJhbSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgb2YgdGltZSBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gdW5yZWYgLSBBc3N1bWluZyB0aGlzIGZ1bmN0aW9uIGlzIHJ1biBpbiBhIE5vZGUgY29udGV4dCwgZ292ZXJuc1xuICogd2hldGhlciBOb2RlIHNob3VsZCB3YWl0IGJlZm9yZSB0aGUgYHNldFRpbWVvdXRgIGhhcyBjb21wbGV0ZWQgYmVmb3JlIGVuZGluZ1xuICogdGhlIHByb2Nlc3MgKHRydWUgZm9yIG5vLCBmYWxzZSBmb3IgeWVzKS4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCBjYW4gYmUgdXNlZCB0byB3YWl0LlxuICovXG5mdW5jdGlvbiB0aW1lb3V0KGR1cmF0aW9uLCB1bnJlZikge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBjb25zdCB0aW1lb3V0UmVmID0gc2V0VGltZW91dChyZXNvbHZlLCBkdXJhdGlvbik7XG4gICAgICAgIC8vIGRvbid0IGtlZXAgcHJvY2VzcyBvcGVuXG4gICAgICAgIGlmICh0aW1lb3V0UmVmLnVucmVmICYmIHVucmVmKSB7XG4gICAgICAgICAgICB0aW1lb3V0UmVmLnVucmVmKCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBvbGxpbmdCbG9ja1RyYWNrZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-block-tracker/dist/PollingBlockTracker.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-block-tracker/dist/SubscribeBlockTracker.js": -/*!**********************************************************************!*\ - !*** ./node_modules/eth-block-tracker/dist/SubscribeBlockTracker.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SubscribeBlockTracker = void 0;\nconst json_rpc_random_id_1 = __importDefault(__webpack_require__(/*! json-rpc-random-id */ \"./node_modules/json-rpc-random-id/index.js\"));\nconst BaseBlockTracker_1 = __webpack_require__(/*! ./BaseBlockTracker */ \"./node_modules/eth-block-tracker/dist/BaseBlockTracker.js\");\nconst createRandomId = (0, json_rpc_random_id_1.default)();\nclass SubscribeBlockTracker extends BaseBlockTracker_1.BaseBlockTracker {\n constructor(opts = {}) {\n // parse + validate args\n if (!opts.provider) {\n throw new Error('SubscribeBlockTracker - no provider specified.');\n }\n // BaseBlockTracker constructor\n super(opts);\n // config\n this._provider = opts.provider;\n this._subscriptionId = null;\n }\n async checkForLatestBlock() {\n return await this.getLatestBlock();\n }\n async _start() {\n if (this._subscriptionId === undefined || this._subscriptionId === null) {\n try {\n const blockNumber = (await this._call('eth_blockNumber'));\n this._subscriptionId = (await this._call('eth_subscribe', 'newHeads'));\n this._provider.on('data', this._handleSubData.bind(this));\n this._newPotentialLatest(blockNumber);\n }\n catch (e) {\n this.emit('error', e);\n }\n }\n }\n async _end() {\n if (this._subscriptionId !== null && this._subscriptionId !== undefined) {\n try {\n await this._call('eth_unsubscribe', this._subscriptionId);\n this._subscriptionId = null;\n }\n catch (e) {\n this.emit('error', e);\n }\n }\n }\n _call(method, ...params) {\n return new Promise((resolve, reject) => {\n this._provider.sendAsync({\n id: createRandomId(),\n method,\n params,\n jsonrpc: '2.0',\n }, (err, res) => {\n if (err) {\n reject(err);\n }\n else {\n resolve(res.result);\n }\n });\n });\n }\n _handleSubData(_, response) {\n var _a;\n if (response.method === 'eth_subscription' &&\n ((_a = response.params) === null || _a === void 0 ? void 0 : _a.subscription) === this._subscriptionId) {\n this._newPotentialLatest(response.params.result.number);\n }\n }\n}\nexports.SubscribeBlockTracker = SubscribeBlockTracker;\n//# sourceMappingURL=SubscribeBlockTracker.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9TdWJzY3JpYmVCbG9ja1RyYWNrZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw2QkFBNkI7QUFDN0IsNkNBQTZDLG1CQUFPLENBQUMsc0VBQW9CO0FBQ3pFLDJCQUEyQixtQkFBTyxDQUFDLHFGQUFvQjtBQUN2RDtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2V0aC1ibG9jay10cmFja2VyL2Rpc3QvU3Vic2NyaWJlQmxvY2tUcmFja2VyLmpzP2JkOGEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlN1YnNjcmliZUJsb2NrVHJhY2tlciA9IHZvaWQgMDtcbmNvbnN0IGpzb25fcnBjX3JhbmRvbV9pZF8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJqc29uLXJwYy1yYW5kb20taWRcIikpO1xuY29uc3QgQmFzZUJsb2NrVHJhY2tlcl8xID0gcmVxdWlyZShcIi4vQmFzZUJsb2NrVHJhY2tlclwiKTtcbmNvbnN0IGNyZWF0ZVJhbmRvbUlkID0gKDAsIGpzb25fcnBjX3JhbmRvbV9pZF8xLmRlZmF1bHQpKCk7XG5jbGFzcyBTdWJzY3JpYmVCbG9ja1RyYWNrZXIgZXh0ZW5kcyBCYXNlQmxvY2tUcmFja2VyXzEuQmFzZUJsb2NrVHJhY2tlciB7XG4gICAgY29uc3RydWN0b3Iob3B0cyA9IHt9KSB7XG4gICAgICAgIC8vIHBhcnNlICsgdmFsaWRhdGUgYXJnc1xuICAgICAgICBpZiAoIW9wdHMucHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU3Vic2NyaWJlQmxvY2tUcmFja2VyIC0gbm8gcHJvdmlkZXIgc3BlY2lmaWVkLicpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEJhc2VCbG9ja1RyYWNrZXIgY29uc3RydWN0b3JcbiAgICAgICAgc3VwZXIob3B0cyk7XG4gICAgICAgIC8vIGNvbmZpZ1xuICAgICAgICB0aGlzLl9wcm92aWRlciA9IG9wdHMucHJvdmlkZXI7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbklkID0gbnVsbDtcbiAgICB9XG4gICAgYXN5bmMgY2hlY2tGb3JMYXRlc3RCbG9jaygpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0TGF0ZXN0QmxvY2soKTtcbiAgICB9XG4gICAgYXN5bmMgX3N0YXJ0KCkge1xuICAgICAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uSWQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9zdWJzY3JpcHRpb25JZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9ja051bWJlciA9IChhd2FpdCB0aGlzLl9jYWxsKCdldGhfYmxvY2tOdW1iZXInKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uSWQgPSAoYXdhaXQgdGhpcy5fY2FsbCgnZXRoX3N1YnNjcmliZScsICduZXdIZWFkcycpKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm92aWRlci5vbignZGF0YScsIHRoaXMuX2hhbmRsZVN1YkRhdGEuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmV3UG90ZW50aWFsTGF0ZXN0KGJsb2NrTnVtYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0KCdlcnJvcicsIGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF9lbmQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb25JZCAhPT0gbnVsbCAmJiB0aGlzLl9zdWJzY3JpcHRpb25JZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NhbGwoJ2V0aF91bnN1YnNjcmliZScsIHRoaXMuX3N1YnNjcmlwdGlvbklkKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25JZCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBfY2FsbChtZXRob2QsIC4uLnBhcmFtcykge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcHJvdmlkZXIuc2VuZEFzeW5jKHtcbiAgICAgICAgICAgICAgICBpZDogY3JlYXRlUmFuZG9tSWQoKSxcbiAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgIGpzb25ycGM6ICcyLjAnLFxuICAgICAgICAgICAgfSwgKGVyciwgcmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfaGFuZGxlU3ViRGF0YShfLCByZXNwb25zZSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChyZXNwb25zZS5tZXRob2QgPT09ICdldGhfc3Vic2NyaXB0aW9uJyAmJlxuICAgICAgICAgICAgKChfYSA9IHJlc3BvbnNlLnBhcmFtcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1YnNjcmlwdGlvbikgPT09IHRoaXMuX3N1YnNjcmlwdGlvbklkKSB7XG4gICAgICAgICAgICB0aGlzLl9uZXdQb3RlbnRpYWxMYXRlc3QocmVzcG9uc2UucGFyYW1zLnJlc3VsdC5udW1iZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5TdWJzY3JpYmVCbG9ja1RyYWNrZXIgPSBTdWJzY3JpYmVCbG9ja1RyYWNrZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1TdWJzY3JpYmVCbG9ja1RyYWNrZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-block-tracker/dist/SubscribeBlockTracker.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-block-tracker/dist/index.js": -/*!******************************************************!*\ - !*** ./node_modules/eth-block-tracker/dist/index.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./PollingBlockTracker */ \"./node_modules/eth-block-tracker/dist/PollingBlockTracker.js\"), exports);\n__exportStar(__webpack_require__(/*! ./SubscribeBlockTracker */ \"./node_modules/eth-block-tracker/dist/SubscribeBlockTracker.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types */ \"./node_modules/eth-block-tracker/dist/types.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSxtQ0FBbUMsb0NBQW9DLGdCQUFnQjtBQUN2RixDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsYUFBYSxtQkFBTyxDQUFDLDJGQUF1QjtBQUM1QyxhQUFhLG1CQUFPLENBQUMsK0ZBQXlCO0FBQzlDLGFBQWEsbUJBQU8sQ0FBQywrREFBUztBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9pbmRleC5qcz9hYmFiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fY3JlYXRlQmluZGluZyA9ICh0aGlzICYmIHRoaXMuX19jcmVhdGVCaW5kaW5nKSB8fCAoT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH0pO1xufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xuICAgIG9bazJdID0gbVtrXTtcbn0pKTtcbnZhciBfX2V4cG9ydFN0YXIgPSAodGhpcyAmJiB0aGlzLl9fZXhwb3J0U3RhcikgfHwgZnVuY3Rpb24obSwgZXhwb3J0cykge1xuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXhwb3J0cywgcCkpIF9fY3JlYXRlQmluZGluZyhleHBvcnRzLCBtLCBwKTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vUG9sbGluZ0Jsb2NrVHJhY2tlclwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vU3Vic2NyaWJlQmxvY2tUcmFja2VyXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi90eXBlc1wiKSwgZXhwb3J0cyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-block-tracker/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-block-tracker/dist/logging-utils.js": -/*!**************************************************************!*\ - !*** ./node_modules/eth-block-tracker/dist/logging-utils.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createModuleLogger = exports.projectLogger = void 0;\nconst utils_1 = __webpack_require__(/*! @metamask/utils */ \"./node_modules/@metamask/utils/dist/index.js\");\nObject.defineProperty(exports, \"createModuleLogger\", ({ enumerable: true, get: function () { return utils_1.createModuleLogger; } }));\nexports.projectLogger = (0, utils_1.createProjectLogger)('eth-block-tracker');\n//# sourceMappingURL=logging-utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9sb2dnaW5nLXV0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQixHQUFHLHFCQUFxQjtBQUNsRCxnQkFBZ0IsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDekMsc0RBQXFELEVBQUUscUNBQXFDLHNDQUFzQyxFQUFDO0FBQ25JLHFCQUFxQjtBQUNyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC9sb2dnaW5nLXV0aWxzLmpzP2RhMTYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZU1vZHVsZUxvZ2dlciA9IGV4cG9ydHMucHJvamVjdExvZ2dlciA9IHZvaWQgMDtcbmNvbnN0IHV0aWxzXzEgPSByZXF1aXJlKFwiQG1ldGFtYXNrL3V0aWxzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlTW9kdWxlTG9nZ2VyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB1dGlsc18xLmNyZWF0ZU1vZHVsZUxvZ2dlcjsgfSB9KTtcbmV4cG9ydHMucHJvamVjdExvZ2dlciA9ICgwLCB1dGlsc18xLmNyZWF0ZVByb2plY3RMb2dnZXIpKCdldGgtYmxvY2stdHJhY2tlcicpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nZ2luZy11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-block-tracker/dist/logging-utils.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-block-tracker/dist/types.js": -/*!******************************************************!*\ - !*** ./node_modules/eth-block-tracker/dist/types.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC90eXBlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLWJsb2NrLXRyYWNrZXIvZGlzdC90eXBlcy5qcz9kN2RiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHlwZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-block-tracker/dist/types.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/base-filter-history.js": -/*!******************************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/base-filter-history.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const BaseFilter = __webpack_require__(/*! ./base-filter */ \"./node_modules/eth-json-rpc-filters/base-filter.js\")\n\n// tracks all results ever recorded\nclass BaseFilterWithHistory extends BaseFilter {\n\n constructor () {\n super()\n this.allResults = []\n }\n\n async update () {\n throw new Error('BaseFilterWithHistory - no update method specified')\n }\n\n addResults (newResults) {\n this.allResults = this.allResults.concat(newResults)\n super.addResults(newResults)\n }\n\n addInitialResults (newResults) {\n this.allResults = this.allResults.concat(newResults)\n super.addInitialResults(newResults)\n }\n\n getAllResults () {\n return this.allResults\n }\n\n}\n\nmodule.exports = BaseFilterWithHistory//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvYmFzZS1maWx0ZXItaGlzdG9yeS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUIsbUJBQU8sQ0FBQyx5RUFBZTs7QUFFMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy9iYXNlLWZpbHRlci1oaXN0b3J5LmpzPzc5ZWEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQmFzZUZpbHRlciA9IHJlcXVpcmUoJy4vYmFzZS1maWx0ZXInKVxuXG4vLyB0cmFja3MgYWxsIHJlc3VsdHMgZXZlciByZWNvcmRlZFxuY2xhc3MgQmFzZUZpbHRlcldpdGhIaXN0b3J5IGV4dGVuZHMgQmFzZUZpbHRlciB7XG5cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmFsbFJlc3VsdHMgPSBbXVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jhc2VGaWx0ZXJXaXRoSGlzdG9yeSAtIG5vIHVwZGF0ZSBtZXRob2Qgc3BlY2lmaWVkJylcbiAgfVxuXG4gIGFkZFJlc3VsdHMgKG5ld1Jlc3VsdHMpIHtcbiAgICB0aGlzLmFsbFJlc3VsdHMgPSB0aGlzLmFsbFJlc3VsdHMuY29uY2F0KG5ld1Jlc3VsdHMpXG4gICAgc3VwZXIuYWRkUmVzdWx0cyhuZXdSZXN1bHRzKVxuICB9XG5cbiAgYWRkSW5pdGlhbFJlc3VsdHMgKG5ld1Jlc3VsdHMpIHtcbiAgICB0aGlzLmFsbFJlc3VsdHMgPSB0aGlzLmFsbFJlc3VsdHMuY29uY2F0KG5ld1Jlc3VsdHMpXG4gICAgc3VwZXIuYWRkSW5pdGlhbFJlc3VsdHMobmV3UmVzdWx0cylcbiAgfVxuXG4gIGdldEFsbFJlc3VsdHMgKCkge1xuICAgIHJldHVybiB0aGlzLmFsbFJlc3VsdHNcbiAgfVxuXG59XG5cbm1vZHVsZS5leHBvcnRzID0gQmFzZUZpbHRlcldpdGhIaXN0b3J5Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/base-filter-history.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/base-filter.js": -/*!**********************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/base-filter.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SafeEventEmitter = (__webpack_require__(/*! @metamask/safe-event-emitter */ \"./node_modules/@metamask/safe-event-emitter/index.js\")[\"default\"])\n\nclass BaseFilter extends SafeEventEmitter {\n\n constructor () {\n super()\n this.updates = []\n }\n\n async initialize () {}\n\n async update () {\n throw new Error('BaseFilter - no update method specified')\n }\n\n addResults (newResults) {\n this.updates = this.updates.concat(newResults)\n newResults.forEach(result => this.emit('update', result))\n }\n\n addInitialResults (newResults) {}\n\n getChangesAndClear () {\n const updates = this.updates\n this.updates = []\n return updates\n }\n \n}\n\nmodule.exports = BaseFilter\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvYmFzZS1maWx0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCLDRIQUErQzs7QUFFeEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy9iYXNlLWZpbHRlci5qcz9jMmY0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFNhZmVFdmVudEVtaXR0ZXIgPSByZXF1aXJlKCdAbWV0YW1hc2svc2FmZS1ldmVudC1lbWl0dGVyJykuZGVmYXVsdFxuXG5jbGFzcyBCYXNlRmlsdGVyIGV4dGVuZHMgU2FmZUV2ZW50RW1pdHRlciB7XG5cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLnVwZGF0ZXMgPSBbXVxuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZSAoKSB7fVxuXG4gIGFzeW5jIHVwZGF0ZSAoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCYXNlRmlsdGVyIC0gbm8gdXBkYXRlIG1ldGhvZCBzcGVjaWZpZWQnKVxuICB9XG5cbiAgYWRkUmVzdWx0cyAobmV3UmVzdWx0cykge1xuICAgIHRoaXMudXBkYXRlcyA9IHRoaXMudXBkYXRlcy5jb25jYXQobmV3UmVzdWx0cylcbiAgICBuZXdSZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHRoaXMuZW1pdCgndXBkYXRlJywgcmVzdWx0KSlcbiAgfVxuXG4gIGFkZEluaXRpYWxSZXN1bHRzIChuZXdSZXN1bHRzKSB7fVxuXG4gIGdldENoYW5nZXNBbmRDbGVhciAoKSB7XG4gICAgY29uc3QgdXBkYXRlcyA9IHRoaXMudXBkYXRlc1xuICAgIHRoaXMudXBkYXRlcyA9IFtdXG4gICAgcmV0dXJuIHVwZGF0ZXNcbiAgfVxuICBcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBCYXNlRmlsdGVyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/base-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/block-filter.js": -/*!***********************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/block-filter.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const BaseFilter = __webpack_require__(/*! ./base-filter */ \"./node_modules/eth-json-rpc-filters/base-filter.js\")\nconst getBlocksForRange = __webpack_require__(/*! ./getBlocksForRange */ \"./node_modules/eth-json-rpc-filters/getBlocksForRange.js\")\nconst { incrementHexInt } = __webpack_require__(/*! ./hexUtils */ \"./node_modules/eth-json-rpc-filters/hexUtils.js\")\n\nclass BlockFilter extends BaseFilter {\n\n constructor ({ provider, params }) {\n super()\n this.type = 'block'\n this.provider = provider\n }\n\n async update ({ oldBlock, newBlock }) {\n const toBlock = newBlock\n const fromBlock = incrementHexInt(oldBlock)\n const blockBodies = await getBlocksForRange({ provider: this.provider, fromBlock, toBlock })\n const blockHashes = blockBodies.map((block) => block.hash)\n this.addResults(blockHashes)\n }\n\n}\n\nmodule.exports = BlockFilter\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvYmxvY2stZmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixtQkFBTyxDQUFDLHlFQUFlO0FBQzFDLDBCQUEwQixtQkFBTyxDQUFDLHFGQUFxQjtBQUN2RCxRQUFRLGtCQUFrQixFQUFFLG1CQUFPLENBQUMsbUVBQVk7O0FBRWhEOztBQUVBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLG9CQUFvQjtBQUN0QztBQUNBO0FBQ0Esa0RBQWtELDZDQUE2QztBQUMvRjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2V0aC1qc29uLXJwYy1maWx0ZXJzL2Jsb2NrLWZpbHRlci5qcz9iNmJlIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEJhc2VGaWx0ZXIgPSByZXF1aXJlKCcuL2Jhc2UtZmlsdGVyJylcbmNvbnN0IGdldEJsb2Nrc0ZvclJhbmdlID0gcmVxdWlyZSgnLi9nZXRCbG9ja3NGb3JSYW5nZScpXG5jb25zdCB7IGluY3JlbWVudEhleEludCB9ID0gcmVxdWlyZSgnLi9oZXhVdGlscycpXG5cbmNsYXNzIEJsb2NrRmlsdGVyIGV4dGVuZHMgQmFzZUZpbHRlciB7XG5cbiAgY29uc3RydWN0b3IgKHsgcHJvdmlkZXIsIHBhcmFtcyB9KSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMudHlwZSA9ICdibG9jaydcbiAgICB0aGlzLnByb3ZpZGVyID0gcHJvdmlkZXJcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZSAoeyBvbGRCbG9jaywgbmV3QmxvY2sgfSkge1xuICAgIGNvbnN0IHRvQmxvY2sgPSBuZXdCbG9ja1xuICAgIGNvbnN0IGZyb21CbG9jayA9IGluY3JlbWVudEhleEludChvbGRCbG9jaylcbiAgICBjb25zdCBibG9ja0JvZGllcyA9IGF3YWl0IGdldEJsb2Nrc0ZvclJhbmdlKHsgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsIGZyb21CbG9jaywgdG9CbG9jayB9KVxuICAgIGNvbnN0IGJsb2NrSGFzaGVzID0gYmxvY2tCb2RpZXMubWFwKChibG9jaykgPT4gYmxvY2suaGFzaClcbiAgICB0aGlzLmFkZFJlc3VsdHMoYmxvY2tIYXNoZXMpXG4gIH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJsb2NrRmlsdGVyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/block-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/getBlocksForRange.js": -/*!****************************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/getBlocksForRange.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = getBlocksForRange\n\nasync function getBlocksForRange({ provider, fromBlock, toBlock }) {\n if (!fromBlock) fromBlock = toBlock\n\n const fromBlockNumber = hexToInt(fromBlock)\n const toBlockNumber = hexToInt(toBlock)\n const blockCountToQuery = toBlockNumber - fromBlockNumber + 1\n // load all blocks from old to new (inclusive)\n const missingBlockNumbers = Array(blockCountToQuery).fill()\n .map((_,index) => fromBlockNumber + index)\n .map(intToHex)\n const blockBodies = await Promise.all(\n missingBlockNumbers.map(blockNum => query(provider, 'eth_getBlockByNumber', [blockNum, false]))\n )\n return blockBodies\n}\n\nfunction hexToInt(hexString) {\n if (hexString === undefined || hexString === null) return hexString\n return Number.parseInt(hexString, 16)\n}\n\nfunction incrementHexInt(hexString){\n if (hexString === undefined || hexString === null) return hexString\n const value = hexToInt(hexString)\n return intToHex(value + 1)\n}\n\nfunction intToHex(int) {\n if (int === undefined || int === null) return int\n const hexString = int.toString(16)\n return '0x' + hexString\n}\n\nfunction sendAsync(provider, request) {\n return new Promise((resolve, reject) => {\n provider.sendAsync(request, (error, response) => {\n if (error) {\n reject(error);\n } else if (response.error) {\n reject(response.error);\n } else if (response.result) {\n resolve(response.result);\n } else {\n reject(new Error(\"Result was empty\"));\n }\n });\n });\n}\n\nasync function query(provider, method, params) {\n for (let i = 0; i < 3; i++) {\n try {\n return await sendAsync(provider, {\n id: 1,\n jsonrpc: \"2.0\",\n method,\n params,\n });\n } catch (error) {\n console.error(\n `provider.sendAsync failed: ${error.stack || error.message || error}`\n );\n }\n }\n throw new Error(`Block not found for params: ${JSON.stringify(params)}`);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvZ2V0QmxvY2tzRm9yUmFuZ2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsbUNBQW1DLDhCQUE4QjtBQUNqRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQSxrQkFBa0IsT0FBTztBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0Esc0NBQXNDLHNDQUFzQztBQUM1RTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsdUJBQXVCO0FBQ3hFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy9nZXRCbG9ja3NGb3JSYW5nZS5qcz9lNDA0Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZ2V0QmxvY2tzRm9yUmFuZ2VcblxuYXN5bmMgZnVuY3Rpb24gZ2V0QmxvY2tzRm9yUmFuZ2UoeyBwcm92aWRlciwgZnJvbUJsb2NrLCB0b0Jsb2NrIH0pIHtcbiAgaWYgKCFmcm9tQmxvY2spIGZyb21CbG9jayA9IHRvQmxvY2tcblxuICBjb25zdCBmcm9tQmxvY2tOdW1iZXIgPSBoZXhUb0ludChmcm9tQmxvY2spXG4gIGNvbnN0IHRvQmxvY2tOdW1iZXIgPSBoZXhUb0ludCh0b0Jsb2NrKVxuICBjb25zdCBibG9ja0NvdW50VG9RdWVyeSA9IHRvQmxvY2tOdW1iZXIgLSBmcm9tQmxvY2tOdW1iZXIgKyAxXG4gIC8vIGxvYWQgYWxsIGJsb2NrcyBmcm9tIG9sZCB0byBuZXcgKGluY2x1c2l2ZSlcbiAgY29uc3QgbWlzc2luZ0Jsb2NrTnVtYmVycyA9IEFycmF5KGJsb2NrQ291bnRUb1F1ZXJ5KS5maWxsKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKF8saW5kZXgpID0+IGZyb21CbG9ja051bWJlciArIGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChpbnRUb0hleClcbiAgY29uc3QgYmxvY2tCb2RpZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBtaXNzaW5nQmxvY2tOdW1iZXJzLm1hcChibG9ja051bSA9PiBxdWVyeShwcm92aWRlciwgJ2V0aF9nZXRCbG9ja0J5TnVtYmVyJywgW2Jsb2NrTnVtLCBmYWxzZV0pKVxuICApXG4gIHJldHVybiBibG9ja0JvZGllc1xufVxuXG5mdW5jdGlvbiBoZXhUb0ludChoZXhTdHJpbmcpIHtcbiAgaWYgKGhleFN0cmluZyA9PT0gdW5kZWZpbmVkIHx8IGhleFN0cmluZyA9PT0gbnVsbCkgcmV0dXJuIGhleFN0cmluZ1xuICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KGhleFN0cmluZywgMTYpXG59XG5cbmZ1bmN0aW9uIGluY3JlbWVudEhleEludChoZXhTdHJpbmcpe1xuICBpZiAoaGV4U3RyaW5nID09PSB1bmRlZmluZWQgfHwgaGV4U3RyaW5nID09PSBudWxsKSByZXR1cm4gaGV4U3RyaW5nXG4gIGNvbnN0IHZhbHVlID0gaGV4VG9JbnQoaGV4U3RyaW5nKVxuICByZXR1cm4gaW50VG9IZXgodmFsdWUgKyAxKVxufVxuXG5mdW5jdGlvbiBpbnRUb0hleChpbnQpIHtcbiAgaWYgKGludCA9PT0gdW5kZWZpbmVkIHx8IGludCA9PT0gbnVsbCkgcmV0dXJuIGludFxuICBjb25zdCBoZXhTdHJpbmcgPSBpbnQudG9TdHJpbmcoMTYpXG4gIHJldHVybiAnMHgnICsgaGV4U3RyaW5nXG59XG5cbmZ1bmN0aW9uIHNlbmRBc3luYyhwcm92aWRlciwgcmVxdWVzdCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHByb3ZpZGVyLnNlbmRBc3luYyhyZXF1ZXN0LCAoZXJyb3IsIHJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KHJlc3BvbnNlLmVycm9yKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UucmVzdWx0KSB7XG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UucmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoXCJSZXN1bHQgd2FzIGVtcHR5XCIpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHF1ZXJ5KHByb3ZpZGVyLCBtZXRob2QsIHBhcmFtcykge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDM7IGkrKykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgc2VuZEFzeW5jKHByb3ZpZGVyLCB7XG4gICAgICAgIGlkOiAxLFxuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgcHJvdmlkZXIuc2VuZEFzeW5jIGZhaWxlZDogJHtlcnJvci5zdGFjayB8fCBlcnJvci5tZXNzYWdlIHx8IGVycm9yfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQmxvY2sgbm90IGZvdW5kIGZvciBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX1gKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/getBlocksForRange.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/hexUtils.js": -/*!*******************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/hexUtils.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\nmodule.exports = {\n minBlockRef,\n maxBlockRef,\n sortBlockRefs,\n bnToHex,\n blockRefIsNumber,\n hexToInt,\n incrementHexInt,\n intToHex,\n unsafeRandomBytes,\n}\n\nfunction minBlockRef(...refs) {\n const sortedRefs = sortBlockRefs(refs)\n return sortedRefs[0]\n}\n\nfunction maxBlockRef(...refs) {\n const sortedRefs = sortBlockRefs(refs)\n return sortedRefs[sortedRefs.length-1]\n}\n\nfunction sortBlockRefs(refs) {\n return refs.sort((refA, refB) => {\n if (refA === 'latest' || refB === 'earliest') return 1\n if (refB === 'latest' || refA === 'earliest') return -1\n return hexToInt(refA) - hexToInt(refB)\n })\n}\n\nfunction bnToHex(bn) {\n return '0x' + bn.toString(16)\n}\n\nfunction blockRefIsNumber(blockRef){\n return blockRef && !['earliest', 'latest', 'pending'].includes(blockRef)\n}\n\nfunction hexToInt(hexString) {\n if (hexString === undefined || hexString === null) return hexString\n return Number.parseInt(hexString, 16)\n}\n\nfunction incrementHexInt(hexString){\n if (hexString === undefined || hexString === null) return hexString\n const value = hexToInt(hexString)\n return intToHex(value + 1)\n}\n\nfunction intToHex(int) {\n if (int === undefined || int === null) return int\n let hexString = int.toString(16)\n const needsLeftPad = hexString.length % 2\n if (needsLeftPad) hexString = '0' + hexString\n return '0x' + hexString\n}\n\nfunction unsafeRandomBytes(byteCount) {\n let result = '0x'\n for (let i = 0; i < byteCount; i++) {\n result += unsafeRandomNibble()\n result += unsafeRandomNibble()\n }\n return result\n}\n\nfunction unsafeRandomNibble() {\n return Math.floor(Math.random() * 16).toString(16)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvaGV4VXRpbHMuanMiLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQixlQUFlO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy9oZXhVdGlscy5qcz81NjRlIl0sInNvdXJjZXNDb250ZW50IjpbIlxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1pbkJsb2NrUmVmLFxuICBtYXhCbG9ja1JlZixcbiAgc29ydEJsb2NrUmVmcyxcbiAgYm5Ub0hleCxcbiAgYmxvY2tSZWZJc051bWJlcixcbiAgaGV4VG9JbnQsXG4gIGluY3JlbWVudEhleEludCxcbiAgaW50VG9IZXgsXG4gIHVuc2FmZVJhbmRvbUJ5dGVzLFxufVxuXG5mdW5jdGlvbiBtaW5CbG9ja1JlZiguLi5yZWZzKSB7XG4gIGNvbnN0IHNvcnRlZFJlZnMgPSBzb3J0QmxvY2tSZWZzKHJlZnMpXG4gIHJldHVybiBzb3J0ZWRSZWZzWzBdXG59XG5cbmZ1bmN0aW9uIG1heEJsb2NrUmVmKC4uLnJlZnMpIHtcbiAgY29uc3Qgc29ydGVkUmVmcyA9IHNvcnRCbG9ja1JlZnMocmVmcylcbiAgcmV0dXJuIHNvcnRlZFJlZnNbc29ydGVkUmVmcy5sZW5ndGgtMV1cbn1cblxuZnVuY3Rpb24gc29ydEJsb2NrUmVmcyhyZWZzKSB7XG4gIHJldHVybiByZWZzLnNvcnQoKHJlZkEsIHJlZkIpID0+IHtcbiAgICBpZiAocmVmQSA9PT0gJ2xhdGVzdCcgfHwgcmVmQiA9PT0gJ2VhcmxpZXN0JykgcmV0dXJuIDFcbiAgICBpZiAocmVmQiA9PT0gJ2xhdGVzdCcgfHwgcmVmQSA9PT0gJ2VhcmxpZXN0JykgcmV0dXJuIC0xXG4gICAgcmV0dXJuIGhleFRvSW50KHJlZkEpIC0gaGV4VG9JbnQocmVmQilcbiAgfSlcbn1cblxuZnVuY3Rpb24gYm5Ub0hleChibikge1xuICByZXR1cm4gJzB4JyArIGJuLnRvU3RyaW5nKDE2KVxufVxuXG5mdW5jdGlvbiBibG9ja1JlZklzTnVtYmVyKGJsb2NrUmVmKXtcbiAgcmV0dXJuIGJsb2NrUmVmICYmICFbJ2VhcmxpZXN0JywgJ2xhdGVzdCcsICdwZW5kaW5nJ10uaW5jbHVkZXMoYmxvY2tSZWYpXG59XG5cbmZ1bmN0aW9uIGhleFRvSW50KGhleFN0cmluZykge1xuICBpZiAoaGV4U3RyaW5nID09PSB1bmRlZmluZWQgfHwgaGV4U3RyaW5nID09PSBudWxsKSByZXR1cm4gaGV4U3RyaW5nXG4gIHJldHVybiBOdW1iZXIucGFyc2VJbnQoaGV4U3RyaW5nLCAxNilcbn1cblxuZnVuY3Rpb24gaW5jcmVtZW50SGV4SW50KGhleFN0cmluZyl7XG4gIGlmIChoZXhTdHJpbmcgPT09IHVuZGVmaW5lZCB8fCBoZXhTdHJpbmcgPT09IG51bGwpIHJldHVybiBoZXhTdHJpbmdcbiAgY29uc3QgdmFsdWUgPSBoZXhUb0ludChoZXhTdHJpbmcpXG4gIHJldHVybiBpbnRUb0hleCh2YWx1ZSArIDEpXG59XG5cbmZ1bmN0aW9uIGludFRvSGV4KGludCkge1xuICBpZiAoaW50ID09PSB1bmRlZmluZWQgfHwgaW50ID09PSBudWxsKSByZXR1cm4gaW50XG4gIGxldCBoZXhTdHJpbmcgPSBpbnQudG9TdHJpbmcoMTYpXG4gIGNvbnN0IG5lZWRzTGVmdFBhZCA9IGhleFN0cmluZy5sZW5ndGggJSAyXG4gIGlmIChuZWVkc0xlZnRQYWQpIGhleFN0cmluZyA9ICcwJyArIGhleFN0cmluZ1xuICByZXR1cm4gJzB4JyArIGhleFN0cmluZ1xufVxuXG5mdW5jdGlvbiB1bnNhZmVSYW5kb21CeXRlcyhieXRlQ291bnQpIHtcbiAgbGV0IHJlc3VsdCA9ICcweCdcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlQ291bnQ7IGkrKykge1xuICAgIHJlc3VsdCArPSB1bnNhZmVSYW5kb21OaWJibGUoKVxuICAgIHJlc3VsdCArPSB1bnNhZmVSYW5kb21OaWJibGUoKVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gdW5zYWZlUmFuZG9tTmliYmxlKCkge1xuICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTYpLnRvU3RyaW5nKDE2KVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/hexUtils.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/index.js": -/*!****************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/index.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mutex = (__webpack_require__(/*! async-mutex */ \"./node_modules/async-mutex/lib/index.js\").Mutex)\nconst { createAsyncMiddleware, createScaffoldMiddleware } = __webpack_require__(/*! json-rpc-engine */ \"./node_modules/json-rpc-engine/dist/index.js\")\nconst LogFilter = __webpack_require__(/*! ./log-filter.js */ \"./node_modules/eth-json-rpc-filters/log-filter.js\")\nconst BlockFilter = __webpack_require__(/*! ./block-filter.js */ \"./node_modules/eth-json-rpc-filters/block-filter.js\")\nconst TxFilter = __webpack_require__(/*! ./tx-filter.js */ \"./node_modules/eth-json-rpc-filters/tx-filter.js\")\nconst { intToHex, hexToInt } = __webpack_require__(/*! ./hexUtils */ \"./node_modules/eth-json-rpc-filters/hexUtils.js\")\n\nmodule.exports = createEthFilterMiddleware\n\nfunction createEthFilterMiddleware({ blockTracker, provider }) {\n\n // create filter collection\n let filterIndex = 0\n let filters = {}\n // create update mutex\n const mutex = new Mutex()\n const waitForFree = mutexMiddlewareWrapper({ mutex })\n\n const middleware = createScaffoldMiddleware({\n // install filters\n eth_newFilter: waitForFree(toFilterCreationMiddleware(newLogFilter)),\n eth_newBlockFilter: waitForFree(toFilterCreationMiddleware(newBlockFilter)),\n eth_newPendingTransactionFilter: waitForFree(toFilterCreationMiddleware(newPendingTransactionFilter)),\n // uninstall filters\n eth_uninstallFilter: waitForFree(toAsyncRpcMiddleware(uninstallFilterHandler)),\n // checking filter changes\n eth_getFilterChanges: waitForFree(toAsyncRpcMiddleware(getFilterChanges)),\n eth_getFilterLogs: waitForFree(toAsyncRpcMiddleware(getFilterLogs)),\n })\n\n // setup filter updating and destroy handler\n const filterUpdater = async ({ oldBlock, newBlock }) => {\n if (filters.length === 0) return\n // lock update reads\n const releaseLock = await mutex.acquire()\n try {\n // process all filters in parallel\n await Promise.all(objValues(filters).map(async (filter) => {\n try {\n await filter.update({ oldBlock, newBlock })\n } catch (err) {\n // handle each error individually so filter update errors don't affect other filters\n console.error(err)\n }\n }))\n } catch (err) {\n // log error so we don't skip the releaseLock\n console.error(err)\n }\n // unlock update reads\n releaseLock()\n }\n\n // expose filter methods directly\n middleware.newLogFilter = newLogFilter\n middleware.newBlockFilter = newBlockFilter\n middleware.newPendingTransactionFilter = newPendingTransactionFilter\n middleware.uninstallFilter = uninstallFilterHandler\n middleware.getFilterChanges = getFilterChanges\n middleware.getFilterLogs = getFilterLogs\n\n // expose destroy method for cleanup\n middleware.destroy = () => {\n uninstallAllFilters()\n }\n\n return middleware\n\n //\n // new filters\n //\n\n async function newLogFilter(params) {\n const filter = new LogFilter({ provider, params })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n async function newBlockFilter() {\n const filter = new BlockFilter({ provider })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n async function newPendingTransactionFilter() {\n const filter = new TxFilter({ provider })\n const filterIndex = await installFilter(filter)\n return filter\n }\n\n //\n // get filter changes\n //\n\n async function getFilterChanges(filterIndexHex) {\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n if (!filter) {\n throw new Error(`No filter for index \"${filterIndex}\"`)\n }\n const results = filter.getChangesAndClear()\n return results\n }\n\n async function getFilterLogs(filterIndexHex) {\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n if (!filter) {\n throw new Error(`No filter for index \"${filterIndex}\"`)\n }\n // only return results for log filters\n let results = []\n if (filter.type === 'log') {\n results = filter.getAllResults()\n }\n return results\n }\n\n\n //\n // remove filters\n //\n\n\n async function uninstallFilterHandler(filterIndexHex) {\n // check filter exists\n const filterIndex = hexToInt(filterIndexHex)\n const filter = filters[filterIndex]\n const result = Boolean(filter)\n // uninstall filter\n if (result) {\n await uninstallFilter(filterIndex)\n }\n return result\n }\n\n //\n // utils\n //\n\n async function installFilter(filter) {\n const prevFilterCount = objValues(filters).length\n // install filter\n const currentBlock = await blockTracker.getLatestBlock()\n await filter.initialize({ currentBlock })\n filterIndex++\n filters[filterIndex] = filter\n filter.id = filterIndex\n filter.idHex = intToHex(filterIndex)\n // update block tracker subs\n const newFilterCount = objValues(filters).length\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount })\n return filterIndex\n }\n\n async function uninstallFilter(filterIndex) {\n const prevFilterCount = objValues(filters).length\n delete filters[filterIndex]\n // update block tracker subs\n const newFilterCount = objValues(filters).length\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount })\n }\n\n async function uninstallAllFilters() {\n const prevFilterCount = objValues(filters).length\n filters = {}\n // update block tracker subs\n updateBlockTrackerSubs({ prevFilterCount, newFilterCount: 0 })\n }\n\n function updateBlockTrackerSubs({ prevFilterCount, newFilterCount }) {\n // subscribe\n if (prevFilterCount === 0 && newFilterCount > 0) {\n blockTracker.on('sync', filterUpdater)\n return\n }\n // unsubscribe\n if (prevFilterCount > 0 && newFilterCount === 0) {\n blockTracker.removeListener('sync', filterUpdater)\n return\n }\n }\n\n}\n\n// helper for turning filter constructors into rpc middleware\nfunction toFilterCreationMiddleware(createFilterFn) {\n return toAsyncRpcMiddleware(async (...args) => {\n const filter = await createFilterFn(...args)\n const result = intToHex(filter.id)\n return result\n })\n}\n\n// helper for pulling out req.params and setting res.result\nfunction toAsyncRpcMiddleware(asyncFn) {\n return createAsyncMiddleware(async (req, res) => {\n const result = await asyncFn.apply(null, req.params)\n res.result = result\n })\n}\n\nfunction mutexMiddlewareWrapper({ mutex }) {\n return (middleware) => {\n return async (req, res, next, end) => {\n // wait for mutex available\n // we can release immediately because\n // we just need to make sure updates aren't active\n const releaseLock = await mutex.acquire()\n releaseLock()\n middleware(req, res, next, end)\n }\n }\n}\n\nfunction objValues(obj, fn){\n const values = []\n for (let key in obj) {\n values.push(obj[key])\n }\n return values\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5RkFBNEI7QUFDMUMsUUFBUSxrREFBa0QsRUFBRSxtQkFBTyxDQUFDLHFFQUFpQjtBQUNyRixrQkFBa0IsbUJBQU8sQ0FBQywwRUFBaUI7QUFDM0Msb0JBQW9CLG1CQUFPLENBQUMsOEVBQW1CO0FBQy9DLGlCQUFpQixtQkFBTyxDQUFDLHdFQUFnQjtBQUN6QyxRQUFRLHFCQUFxQixFQUFFLG1CQUFPLENBQUMsbUVBQVk7O0FBRW5EOztBQUVBLHFDQUFxQyx3QkFBd0I7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsT0FBTzs7QUFFdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsaUNBQWlDLG9CQUFvQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixvQkFBb0I7QUFDbkQsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1DQUFtQyxrQkFBa0I7QUFDckQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUNBQXFDLFVBQVU7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0NBQWtDLFVBQVU7QUFDNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QyxZQUFZO0FBQzFEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLFlBQVk7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixjQUFjO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixpQ0FBaUM7QUFDOUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGlDQUFpQztBQUM5RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixvQ0FBb0M7QUFDakU7O0FBRUEsb0NBQW9DLGlDQUFpQztBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBLGtDQUFrQyxPQUFPO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2V0aC1qc29uLXJwYy1maWx0ZXJzL2luZGV4LmpzPzY5NDEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTXV0ZXggPSByZXF1aXJlKCdhc3luYy1tdXRleCcpLk11dGV4XG5jb25zdCB7IGNyZWF0ZUFzeW5jTWlkZGxld2FyZSwgY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlIH0gPSByZXF1aXJlKCdqc29uLXJwYy1lbmdpbmUnKVxuY29uc3QgTG9nRmlsdGVyID0gcmVxdWlyZSgnLi9sb2ctZmlsdGVyLmpzJylcbmNvbnN0IEJsb2NrRmlsdGVyID0gcmVxdWlyZSgnLi9ibG9jay1maWx0ZXIuanMnKVxuY29uc3QgVHhGaWx0ZXIgPSByZXF1aXJlKCcuL3R4LWZpbHRlci5qcycpXG5jb25zdCB7IGludFRvSGV4LCBoZXhUb0ludCB9ID0gcmVxdWlyZSgnLi9oZXhVdGlscycpXG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlRXRoRmlsdGVyTWlkZGxld2FyZVxuXG5mdW5jdGlvbiBjcmVhdGVFdGhGaWx0ZXJNaWRkbGV3YXJlKHsgYmxvY2tUcmFja2VyLCBwcm92aWRlciB9KSB7XG5cbiAgLy8gY3JlYXRlIGZpbHRlciBjb2xsZWN0aW9uXG4gIGxldCBmaWx0ZXJJbmRleCA9IDBcbiAgbGV0IGZpbHRlcnMgPSB7fVxuICAvLyBjcmVhdGUgdXBkYXRlIG11dGV4XG4gIGNvbnN0IG11dGV4ID0gbmV3IE11dGV4KClcbiAgY29uc3Qgd2FpdEZvckZyZWUgPSBtdXRleE1pZGRsZXdhcmVXcmFwcGVyKHsgbXV0ZXggfSlcblxuICBjb25zdCBtaWRkbGV3YXJlID0gY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlKHtcbiAgICAvLyBpbnN0YWxsIGZpbHRlcnNcbiAgICBldGhfbmV3RmlsdGVyOiAgICAgICAgICAgICAgICAgICB3YWl0Rm9yRnJlZSh0b0ZpbHRlckNyZWF0aW9uTWlkZGxld2FyZShuZXdMb2dGaWx0ZXIpKSxcbiAgICBldGhfbmV3QmxvY2tGaWx0ZXI6ICAgICAgICAgICAgICB3YWl0Rm9yRnJlZSh0b0ZpbHRlckNyZWF0aW9uTWlkZGxld2FyZShuZXdCbG9ja0ZpbHRlcikpLFxuICAgIGV0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI6IHdhaXRGb3JGcmVlKHRvRmlsdGVyQ3JlYXRpb25NaWRkbGV3YXJlKG5ld1BlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcikpLFxuICAgIC8vIHVuaW5zdGFsbCBmaWx0ZXJzXG4gICAgZXRoX3VuaW5zdGFsbEZpbHRlcjogICAgICAgICAgICAgd2FpdEZvckZyZWUodG9Bc3luY1JwY01pZGRsZXdhcmUodW5pbnN0YWxsRmlsdGVySGFuZGxlcikpLFxuICAgIC8vIGNoZWNraW5nIGZpbHRlciBjaGFuZ2VzXG4gICAgZXRoX2dldEZpbHRlckNoYW5nZXM6ICAgICAgICAgICAgd2FpdEZvckZyZWUodG9Bc3luY1JwY01pZGRsZXdhcmUoZ2V0RmlsdGVyQ2hhbmdlcykpLFxuICAgIGV0aF9nZXRGaWx0ZXJMb2dzOiAgICAgICAgICAgICAgIHdhaXRGb3JGcmVlKHRvQXN5bmNScGNNaWRkbGV3YXJlKGdldEZpbHRlckxvZ3MpKSxcbiAgfSlcblxuICAvLyBzZXR1cCBmaWx0ZXIgdXBkYXRpbmcgYW5kIGRlc3Ryb3kgaGFuZGxlclxuICBjb25zdCBmaWx0ZXJVcGRhdGVyID0gYXN5bmMgKHsgb2xkQmxvY2ssIG5ld0Jsb2NrIH0pID0+IHtcbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPT09IDApIHJldHVyblxuICAgIC8vIGxvY2sgdXBkYXRlIHJlYWRzXG4gICAgY29uc3QgcmVsZWFzZUxvY2sgPSBhd2FpdCBtdXRleC5hY3F1aXJlKClcbiAgICB0cnkge1xuICAgICAgLy8gcHJvY2VzcyBhbGwgZmlsdGVycyBpbiBwYXJhbGxlbFxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwob2JqVmFsdWVzKGZpbHRlcnMpLm1hcChhc3luYyAoZmlsdGVyKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICBhd2FpdCBmaWx0ZXIudXBkYXRlKHsgb2xkQmxvY2ssIG5ld0Jsb2NrIH0pXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIC8vIGhhbmRsZSBlYWNoIGVycm9yIGluZGl2aWR1YWxseSBzbyBmaWx0ZXIgdXBkYXRlIGVycm9ycyBkb24ndCBhZmZlY3Qgb3RoZXIgZmlsdGVyc1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgICAgICB9XG4gICAgICB9KSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGxvZyBlcnJvciBzbyB3ZSBkb24ndCBza2lwIHRoZSByZWxlYXNlTG9ja1xuICAgICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgfVxuICAgIC8vIHVubG9jayB1cGRhdGUgcmVhZHNcbiAgICByZWxlYXNlTG9jaygpXG4gIH1cblxuICAvLyBleHBvc2UgZmlsdGVyIG1ldGhvZHMgZGlyZWN0bHlcbiAgbWlkZGxld2FyZS5uZXdMb2dGaWx0ZXIgPSBuZXdMb2dGaWx0ZXJcbiAgbWlkZGxld2FyZS5uZXdCbG9ja0ZpbHRlciA9IG5ld0Jsb2NrRmlsdGVyXG4gIG1pZGRsZXdhcmUubmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyID0gbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyXG4gIG1pZGRsZXdhcmUudW5pbnN0YWxsRmlsdGVyID0gdW5pbnN0YWxsRmlsdGVySGFuZGxlclxuICBtaWRkbGV3YXJlLmdldEZpbHRlckNoYW5nZXMgPSBnZXRGaWx0ZXJDaGFuZ2VzXG4gIG1pZGRsZXdhcmUuZ2V0RmlsdGVyTG9ncyA9IGdldEZpbHRlckxvZ3NcblxuICAvLyBleHBvc2UgZGVzdHJveSBtZXRob2QgZm9yIGNsZWFudXBcbiAgbWlkZGxld2FyZS5kZXN0cm95ID0gKCkgPT4ge1xuICAgIHVuaW5zdGFsbEFsbEZpbHRlcnMoKVxuICB9XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVcblxuICAvL1xuICAvLyBuZXcgZmlsdGVyc1xuICAvL1xuXG4gIGFzeW5jIGZ1bmN0aW9uIG5ld0xvZ0ZpbHRlcihwYXJhbXMpIHtcbiAgICBjb25zdCBmaWx0ZXIgPSBuZXcgTG9nRmlsdGVyKHsgcHJvdmlkZXIsIHBhcmFtcyB9KVxuICAgIGNvbnN0IGZpbHRlckluZGV4ID0gYXdhaXQgaW5zdGFsbEZpbHRlcihmaWx0ZXIpXG4gICAgcmV0dXJuIGZpbHRlclxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gbmV3QmxvY2tGaWx0ZXIoKSB7XG4gICAgY29uc3QgZmlsdGVyID0gbmV3IEJsb2NrRmlsdGVyKHsgcHJvdmlkZXIgfSlcbiAgICBjb25zdCBmaWx0ZXJJbmRleCA9IGF3YWl0IGluc3RhbGxGaWx0ZXIoZmlsdGVyKVxuICAgIHJldHVybiBmaWx0ZXJcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIG5ld1BlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcigpIHtcbiAgICBjb25zdCBmaWx0ZXIgPSBuZXcgVHhGaWx0ZXIoeyBwcm92aWRlciB9KVxuICAgIGNvbnN0IGZpbHRlckluZGV4ID0gYXdhaXQgaW5zdGFsbEZpbHRlcihmaWx0ZXIpXG4gICAgcmV0dXJuIGZpbHRlclxuICB9XG5cbiAgLy9cbiAgLy8gZ2V0IGZpbHRlciBjaGFuZ2VzXG4gIC8vXG5cbiAgYXN5bmMgZnVuY3Rpb24gZ2V0RmlsdGVyQ2hhbmdlcyhmaWx0ZXJJbmRleEhleCkge1xuICAgIGNvbnN0IGZpbHRlckluZGV4ID0gaGV4VG9JbnQoZmlsdGVySW5kZXhIZXgpXG4gICAgY29uc3QgZmlsdGVyID0gZmlsdGVyc1tmaWx0ZXJJbmRleF1cbiAgICBpZiAoIWZpbHRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBmaWx0ZXIgZm9yIGluZGV4IFwiJHtmaWx0ZXJJbmRleH1cImApXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdHMgPSBmaWx0ZXIuZ2V0Q2hhbmdlc0FuZENsZWFyKClcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gZ2V0RmlsdGVyTG9ncyhmaWx0ZXJJbmRleEhleCkge1xuICAgIGNvbnN0IGZpbHRlckluZGV4ID0gaGV4VG9JbnQoZmlsdGVySW5kZXhIZXgpXG4gICAgY29uc3QgZmlsdGVyID0gZmlsdGVyc1tmaWx0ZXJJbmRleF1cbiAgICBpZiAoIWZpbHRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBmaWx0ZXIgZm9yIGluZGV4IFwiJHtmaWx0ZXJJbmRleH1cImApXG4gICAgfVxuICAgIC8vIG9ubHkgcmV0dXJuIHJlc3VsdHMgZm9yIGxvZyBmaWx0ZXJzXG4gICAgbGV0IHJlc3VsdHMgPSBbXVxuICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gJ2xvZycpIHtcbiAgICAgIHJlc3VsdHMgPSBmaWx0ZXIuZ2V0QWxsUmVzdWx0cygpXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cblxuXG4gIC8vXG4gIC8vIHJlbW92ZSBmaWx0ZXJzXG4gIC8vXG5cblxuICBhc3luYyBmdW5jdGlvbiB1bmluc3RhbGxGaWx0ZXJIYW5kbGVyKGZpbHRlckluZGV4SGV4KSB7XG4gICAgLy8gY2hlY2sgZmlsdGVyIGV4aXN0c1xuICAgIGNvbnN0IGZpbHRlckluZGV4ID0gaGV4VG9JbnQoZmlsdGVySW5kZXhIZXgpXG4gICAgY29uc3QgZmlsdGVyID0gZmlsdGVyc1tmaWx0ZXJJbmRleF1cbiAgICBjb25zdCByZXN1bHQgPSBCb29sZWFuKGZpbHRlcilcbiAgICAvLyB1bmluc3RhbGwgZmlsdGVyXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgYXdhaXQgdW5pbnN0YWxsRmlsdGVyKGZpbHRlckluZGV4KVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvL1xuICAvLyB1dGlsc1xuICAvL1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGluc3RhbGxGaWx0ZXIoZmlsdGVyKSB7XG4gICAgY29uc3QgcHJldkZpbHRlckNvdW50ID0gb2JqVmFsdWVzKGZpbHRlcnMpLmxlbmd0aFxuICAgIC8vIGluc3RhbGwgZmlsdGVyXG4gICAgY29uc3QgY3VycmVudEJsb2NrID0gYXdhaXQgYmxvY2tUcmFja2VyLmdldExhdGVzdEJsb2NrKClcbiAgICBhd2FpdCBmaWx0ZXIuaW5pdGlhbGl6ZSh7IGN1cnJlbnRCbG9jayB9KVxuICAgIGZpbHRlckluZGV4KytcbiAgICBmaWx0ZXJzW2ZpbHRlckluZGV4XSA9IGZpbHRlclxuICAgIGZpbHRlci5pZCA9IGZpbHRlckluZGV4XG4gICAgZmlsdGVyLmlkSGV4ID0gaW50VG9IZXgoZmlsdGVySW5kZXgpXG4gICAgLy8gdXBkYXRlIGJsb2NrIHRyYWNrZXIgc3Vic1xuICAgIGNvbnN0IG5ld0ZpbHRlckNvdW50ID0gb2JqVmFsdWVzKGZpbHRlcnMpLmxlbmd0aFxuICAgIHVwZGF0ZUJsb2NrVHJhY2tlclN1YnMoeyBwcmV2RmlsdGVyQ291bnQsIG5ld0ZpbHRlckNvdW50IH0pXG4gICAgcmV0dXJuIGZpbHRlckluZGV4XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiB1bmluc3RhbGxGaWx0ZXIoZmlsdGVySW5kZXgpIHtcbiAgICBjb25zdCBwcmV2RmlsdGVyQ291bnQgPSBvYmpWYWx1ZXMoZmlsdGVycykubGVuZ3RoXG4gICAgZGVsZXRlIGZpbHRlcnNbZmlsdGVySW5kZXhdXG4gICAgLy8gdXBkYXRlIGJsb2NrIHRyYWNrZXIgc3Vic1xuICAgIGNvbnN0IG5ld0ZpbHRlckNvdW50ID0gb2JqVmFsdWVzKGZpbHRlcnMpLmxlbmd0aFxuICAgIHVwZGF0ZUJsb2NrVHJhY2tlclN1YnMoeyBwcmV2RmlsdGVyQ291bnQsIG5ld0ZpbHRlckNvdW50IH0pXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiB1bmluc3RhbGxBbGxGaWx0ZXJzKCkge1xuICAgIGNvbnN0IHByZXZGaWx0ZXJDb3VudCA9IG9ialZhbHVlcyhmaWx0ZXJzKS5sZW5ndGhcbiAgICBmaWx0ZXJzID0ge31cbiAgICAvLyB1cGRhdGUgYmxvY2sgdHJhY2tlciBzdWJzXG4gICAgdXBkYXRlQmxvY2tUcmFja2VyU3Vicyh7IHByZXZGaWx0ZXJDb3VudCwgbmV3RmlsdGVyQ291bnQ6IDAgfSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZUJsb2NrVHJhY2tlclN1YnMoeyBwcmV2RmlsdGVyQ291bnQsIG5ld0ZpbHRlckNvdW50IH0pIHtcbiAgICAvLyBzdWJzY3JpYmVcbiAgICBpZiAocHJldkZpbHRlckNvdW50ID09PSAwICYmIG5ld0ZpbHRlckNvdW50ID4gMCkge1xuICAgICAgYmxvY2tUcmFja2VyLm9uKCdzeW5jJywgZmlsdGVyVXBkYXRlcilcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICAvLyB1bnN1YnNjcmliZVxuICAgIGlmIChwcmV2RmlsdGVyQ291bnQgPiAwICYmIG5ld0ZpbHRlckNvdW50ID09PSAwKSB7XG4gICAgICBibG9ja1RyYWNrZXIucmVtb3ZlTGlzdGVuZXIoJ3N5bmMnLCBmaWx0ZXJVcGRhdGVyKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbn1cblxuLy8gaGVscGVyIGZvciB0dXJuaW5nIGZpbHRlciBjb25zdHJ1Y3RvcnMgaW50byBycGMgbWlkZGxld2FyZVxuZnVuY3Rpb24gdG9GaWx0ZXJDcmVhdGlvbk1pZGRsZXdhcmUoY3JlYXRlRmlsdGVyRm4pIHtcbiAgcmV0dXJuIHRvQXN5bmNScGNNaWRkbGV3YXJlKGFzeW5jICguLi5hcmdzKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyID0gYXdhaXQgY3JlYXRlRmlsdGVyRm4oLi4uYXJncylcbiAgICBjb25zdCByZXN1bHQgPSBpbnRUb0hleChmaWx0ZXIuaWQpXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxufVxuXG4vLyBoZWxwZXIgZm9yIHB1bGxpbmcgb3V0IHJlcS5wYXJhbXMgYW5kIHNldHRpbmcgcmVzLnJlc3VsdFxuZnVuY3Rpb24gdG9Bc3luY1JwY01pZGRsZXdhcmUoYXN5bmNGbikge1xuICByZXR1cm4gY3JlYXRlQXN5bmNNaWRkbGV3YXJlKGFzeW5jIChyZXEsIHJlcykgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFzeW5jRm4uYXBwbHkobnVsbCwgcmVxLnBhcmFtcylcbiAgICByZXMucmVzdWx0ID0gcmVzdWx0XG4gIH0pXG59XG5cbmZ1bmN0aW9uIG11dGV4TWlkZGxld2FyZVdyYXBwZXIoeyBtdXRleCB9KSB7XG4gIHJldHVybiAobWlkZGxld2FyZSkgPT4ge1xuICAgIHJldHVybiBhc3luYyAocmVxLCByZXMsIG5leHQsIGVuZCkgPT4ge1xuICAgICAgLy8gd2FpdCBmb3IgbXV0ZXggYXZhaWxhYmxlXG4gICAgICAvLyB3ZSBjYW4gcmVsZWFzZSBpbW1lZGlhdGVseSBiZWNhdXNlXG4gICAgICAvLyB3ZSBqdXN0IG5lZWQgdG8gbWFrZSBzdXJlIHVwZGF0ZXMgYXJlbid0IGFjdGl2ZVxuICAgICAgY29uc3QgcmVsZWFzZUxvY2sgPSBhd2FpdCBtdXRleC5hY3F1aXJlKClcbiAgICAgIHJlbGVhc2VMb2NrKClcbiAgICAgIG1pZGRsZXdhcmUocmVxLCByZXMsIG5leHQsIGVuZClcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gb2JqVmFsdWVzKG9iaiwgZm4pe1xuICBjb25zdCB2YWx1ZXMgPSBbXVxuICBmb3IgKGxldCBrZXkgaW4gb2JqKSB7XG4gICAgdmFsdWVzLnB1c2gob2JqW2tleV0pXG4gIH1cbiAgcmV0dXJuIHZhbHVlc1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/index.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/log-filter.js": -/*!*********************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/log-filter.js ***! - \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const EthQuery = __webpack_require__(/*! eth-query */ \"./node_modules/eth-query/index.js\")\nconst pify = __webpack_require__(/*! pify */ \"./node_modules/eth-json-rpc-filters/node_modules/pify/index.js\")\nconst BaseFilterWithHistory = __webpack_require__(/*! ./base-filter-history */ \"./node_modules/eth-json-rpc-filters/base-filter-history.js\")\nconst { bnToHex, hexToInt, incrementHexInt, minBlockRef, blockRefIsNumber } = __webpack_require__(/*! ./hexUtils */ \"./node_modules/eth-json-rpc-filters/hexUtils.js\")\n\nclass LogFilter extends BaseFilterWithHistory {\n\n constructor ({ provider, params }) {\n super()\n this.type = 'log'\n this.ethQuery = new EthQuery(provider)\n this.params = Object.assign({\n fromBlock: 'latest',\n toBlock: 'latest',\n address: undefined,\n topics: [],\n }, params)\n // normalize address parameter\n if (this.params.address) {\n // ensure array\n if (!Array.isArray(this.params.address)) {\n this.params.address = [this.params.address]\n }\n // ensure lowercase\n this.params.address = this.params.address.map(address => address.toLowerCase())\n }\n }\n\n async initialize({ currentBlock }) {\n // resolve params.fromBlock\n let fromBlock = this.params.fromBlock\n if (['latest', 'pending'].includes(fromBlock)) fromBlock = currentBlock\n if ('earliest' === fromBlock) fromBlock = '0x0'\n this.params.fromBlock = fromBlock\n // set toBlock for initial lookup\n const toBlock = minBlockRef(this.params.toBlock, currentBlock)\n const params = Object.assign({}, this.params, { toBlock })\n // fetch logs and add to results\n const newLogs = await this._fetchLogs(params)\n this.addInitialResults(newLogs)\n }\n\n async update ({ oldBlock, newBlock }) {\n // configure params for this update\n const toBlock = newBlock\n let fromBlock\n // oldBlock is empty on first sync\n if (oldBlock) {\n fromBlock = incrementHexInt(oldBlock)\n } else {\n fromBlock = newBlock\n }\n // fetch logs\n const params = Object.assign({}, this.params, { fromBlock, toBlock })\n const newLogs = await this._fetchLogs(params)\n const matchingLogs = newLogs.filter(log => this.matchLog(log))\n\n // add to results\n this.addResults(matchingLogs)\n }\n\n async _fetchLogs (params) {\n const newLogs = await pify(cb => this.ethQuery.getLogs(params, cb))()\n // add to results\n return newLogs\n }\n\n matchLog(log) {\n // check if block number in bounds:\n if (hexToInt(this.params.fromBlock) >= hexToInt(log.blockNumber)) return false\n if (blockRefIsNumber(this.params.toBlock) && hexToInt(this.params.toBlock) <= hexToInt(log.blockNumber)) return false\n\n // address is correct:\n const normalizedLogAddress = log.address && log.address.toLowerCase()\n if (this.params.address && normalizedLogAddress && !this.params.address.includes(normalizedLogAddress)) return false\n\n // topics match:\n // topics are position-dependant\n // topics can be nested to represent `or` [[a || b], c]\n // topics can be null, representing a wild card for that position\n const topicsMatch = this.params.topics.every((topicPattern, index) => {\n // pattern is longer than actual topics\n let logTopic = log.topics[index]\n if (!logTopic) return false\n logTopic = logTopic.toLowerCase()\n // normalize subTopics\n let subtopicsToMatch = Array.isArray(topicPattern) ? topicPattern : [topicPattern]\n // check for wild card\n const subtopicsIncludeWildcard = subtopicsToMatch.includes(null)\n if (subtopicsIncludeWildcard) return true\n subtopicsToMatch = subtopicsToMatch.map(topic => topic.toLowerCase())\n // check each possible matching topic\n const topicDoesMatch = subtopicsToMatch.includes(logTopic)\n return topicDoesMatch\n })\n\n return topicsMatch\n }\n\n}\n\nmodule.exports = LogFilter\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvbG9nLWZpbHRlci5qcyIsIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIsbUJBQU8sQ0FBQyxvREFBVztBQUNwQyxhQUFhLG1CQUFPLENBQUMsNEVBQU07QUFDM0IsOEJBQThCLG1CQUFPLENBQUMseUZBQXVCO0FBQzdELFFBQVEsb0VBQW9FLEVBQUUsbUJBQU8sQ0FBQyxtRUFBWTs7QUFFbEc7O0FBRUEsaUJBQWlCLGtCQUFrQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixjQUFjO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGlCQUFpQixTQUFTO0FBQzdEO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixvQkFBb0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxpQkFBaUIsb0JBQW9CO0FBQ3hFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvbG9nLWZpbHRlci5qcz8wNTdhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEV0aFF1ZXJ5ID0gcmVxdWlyZSgnZXRoLXF1ZXJ5JylcbmNvbnN0IHBpZnkgPSByZXF1aXJlKCdwaWZ5JylcbmNvbnN0IEJhc2VGaWx0ZXJXaXRoSGlzdG9yeSA9IHJlcXVpcmUoJy4vYmFzZS1maWx0ZXItaGlzdG9yeScpXG5jb25zdCB7IGJuVG9IZXgsIGhleFRvSW50LCBpbmNyZW1lbnRIZXhJbnQsIG1pbkJsb2NrUmVmLCBibG9ja1JlZklzTnVtYmVyIH0gPSByZXF1aXJlKCcuL2hleFV0aWxzJylcblxuY2xhc3MgTG9nRmlsdGVyIGV4dGVuZHMgQmFzZUZpbHRlcldpdGhIaXN0b3J5IHtcblxuICBjb25zdHJ1Y3RvciAoeyBwcm92aWRlciwgcGFyYW1zIH0pIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy50eXBlID0gJ2xvZydcbiAgICB0aGlzLmV0aFF1ZXJ5ID0gbmV3IEV0aFF1ZXJ5KHByb3ZpZGVyKVxuICAgIHRoaXMucGFyYW1zID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICBmcm9tQmxvY2s6ICdsYXRlc3QnLFxuICAgICAgdG9CbG9jazogJ2xhdGVzdCcsXG4gICAgICBhZGRyZXNzOiB1bmRlZmluZWQsXG4gICAgICB0b3BpY3M6IFtdLFxuICAgIH0sIHBhcmFtcylcbiAgICAvLyBub3JtYWxpemUgYWRkcmVzcyBwYXJhbWV0ZXJcbiAgICBpZiAodGhpcy5wYXJhbXMuYWRkcmVzcykge1xuICAgICAgLy8gZW5zdXJlIGFycmF5XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5wYXJhbXMuYWRkcmVzcykpIHtcbiAgICAgICAgdGhpcy5wYXJhbXMuYWRkcmVzcyA9IFt0aGlzLnBhcmFtcy5hZGRyZXNzXVxuICAgICAgfVxuICAgICAgLy8gZW5zdXJlIGxvd2VyY2FzZVxuICAgICAgdGhpcy5wYXJhbXMuYWRkcmVzcyA9IHRoaXMucGFyYW1zLmFkZHJlc3MubWFwKGFkZHJlc3MgPT4gYWRkcmVzcy50b0xvd2VyQ2FzZSgpKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGluaXRpYWxpemUoeyBjdXJyZW50QmxvY2sgfSkge1xuICAgIC8vIHJlc29sdmUgcGFyYW1zLmZyb21CbG9ja1xuICAgIGxldCBmcm9tQmxvY2sgPSB0aGlzLnBhcmFtcy5mcm9tQmxvY2tcbiAgICBpZiAoWydsYXRlc3QnLCAncGVuZGluZyddLmluY2x1ZGVzKGZyb21CbG9jaykpIGZyb21CbG9jayA9IGN1cnJlbnRCbG9ja1xuICAgIGlmICgnZWFybGllc3QnID09PSBmcm9tQmxvY2spIGZyb21CbG9jayA9ICcweDAnXG4gICAgdGhpcy5wYXJhbXMuZnJvbUJsb2NrID0gZnJvbUJsb2NrXG4gICAgLy8gc2V0IHRvQmxvY2sgZm9yIGluaXRpYWwgbG9va3VwXG4gICAgY29uc3QgdG9CbG9jayA9IG1pbkJsb2NrUmVmKHRoaXMucGFyYW1zLnRvQmxvY2ssIGN1cnJlbnRCbG9jaylcbiAgICBjb25zdCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnBhcmFtcywgeyB0b0Jsb2NrIH0pXG4gICAgLy8gZmV0Y2ggbG9ncyBhbmQgYWRkIHRvIHJlc3VsdHNcbiAgICBjb25zdCBuZXdMb2dzID0gYXdhaXQgdGhpcy5fZmV0Y2hMb2dzKHBhcmFtcylcbiAgICB0aGlzLmFkZEluaXRpYWxSZXN1bHRzKG5ld0xvZ3MpXG4gIH1cblxuICBhc3luYyB1cGRhdGUgKHsgb2xkQmxvY2ssIG5ld0Jsb2NrIH0pIHtcbiAgICAvLyBjb25maWd1cmUgcGFyYW1zIGZvciB0aGlzIHVwZGF0ZVxuICAgIGNvbnN0IHRvQmxvY2sgPSBuZXdCbG9ja1xuICAgIGxldCBmcm9tQmxvY2tcbiAgICAvLyBvbGRCbG9jayBpcyBlbXB0eSBvbiBmaXJzdCBzeW5jXG4gICAgaWYgKG9sZEJsb2NrKSB7XG4gICAgICBmcm9tQmxvY2sgPSBpbmNyZW1lbnRIZXhJbnQob2xkQmxvY2spXG4gICAgfSBlbHNlIHtcbiAgICAgIGZyb21CbG9jayA9IG5ld0Jsb2NrXG4gICAgfVxuICAgIC8vIGZldGNoIGxvZ3NcbiAgICBjb25zdCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnBhcmFtcywgeyBmcm9tQmxvY2ssIHRvQmxvY2sgfSlcbiAgICBjb25zdCBuZXdMb2dzID0gYXdhaXQgdGhpcy5fZmV0Y2hMb2dzKHBhcmFtcylcbiAgICBjb25zdCBtYXRjaGluZ0xvZ3MgPSBuZXdMb2dzLmZpbHRlcihsb2cgPT4gdGhpcy5tYXRjaExvZyhsb2cpKVxuXG4gICAgLy8gYWRkIHRvIHJlc3VsdHNcbiAgICB0aGlzLmFkZFJlc3VsdHMobWF0Y2hpbmdMb2dzKVxuICB9XG5cbiAgYXN5bmMgX2ZldGNoTG9ncyAocGFyYW1zKSB7XG4gICAgY29uc3QgbmV3TG9ncyA9IGF3YWl0IHBpZnkoY2IgPT4gdGhpcy5ldGhRdWVyeS5nZXRMb2dzKHBhcmFtcywgY2IpKSgpXG4gICAgLy8gYWRkIHRvIHJlc3VsdHNcbiAgICByZXR1cm4gbmV3TG9nc1xuICB9XG5cbiAgbWF0Y2hMb2cobG9nKSB7XG4gICAgLy8gY2hlY2sgaWYgYmxvY2sgbnVtYmVyIGluIGJvdW5kczpcbiAgICBpZiAoaGV4VG9JbnQodGhpcy5wYXJhbXMuZnJvbUJsb2NrKSA+PSBoZXhUb0ludChsb2cuYmxvY2tOdW1iZXIpKSByZXR1cm4gZmFsc2VcbiAgICBpZiAoYmxvY2tSZWZJc051bWJlcih0aGlzLnBhcmFtcy50b0Jsb2NrKSAmJiBoZXhUb0ludCh0aGlzLnBhcmFtcy50b0Jsb2NrKSA8PSBoZXhUb0ludChsb2cuYmxvY2tOdW1iZXIpKSByZXR1cm4gZmFsc2VcblxuICAgIC8vIGFkZHJlc3MgaXMgY29ycmVjdDpcbiAgICBjb25zdCBub3JtYWxpemVkTG9nQWRkcmVzcyA9IGxvZy5hZGRyZXNzICYmIGxvZy5hZGRyZXNzLnRvTG93ZXJDYXNlKClcbiAgICBpZiAodGhpcy5wYXJhbXMuYWRkcmVzcyAmJiBub3JtYWxpemVkTG9nQWRkcmVzcyAmJiAhdGhpcy5wYXJhbXMuYWRkcmVzcy5pbmNsdWRlcyhub3JtYWxpemVkTG9nQWRkcmVzcykpIHJldHVybiBmYWxzZVxuXG4gICAgLy8gdG9waWNzIG1hdGNoOlxuICAgIC8vIHRvcGljcyBhcmUgcG9zaXRpb24tZGVwZW5kYW50XG4gICAgLy8gdG9waWNzIGNhbiBiZSBuZXN0ZWQgdG8gcmVwcmVzZW50IGBvcmAgW1thIHx8IGJdLCBjXVxuICAgIC8vIHRvcGljcyBjYW4gYmUgbnVsbCwgcmVwcmVzZW50aW5nIGEgd2lsZCBjYXJkIGZvciB0aGF0IHBvc2l0aW9uXG4gICAgY29uc3QgdG9waWNzTWF0Y2ggPSB0aGlzLnBhcmFtcy50b3BpY3MuZXZlcnkoKHRvcGljUGF0dGVybiwgaW5kZXgpID0+IHtcbiAgICAgIC8vIHBhdHRlcm4gaXMgbG9uZ2VyIHRoYW4gYWN0dWFsIHRvcGljc1xuICAgICAgbGV0IGxvZ1RvcGljID0gbG9nLnRvcGljc1tpbmRleF1cbiAgICAgIGlmICghbG9nVG9waWMpIHJldHVybiBmYWxzZVxuICAgICAgbG9nVG9waWMgPSBsb2dUb3BpYy50b0xvd2VyQ2FzZSgpXG4gICAgICAvLyBub3JtYWxpemUgc3ViVG9waWNzXG4gICAgICBsZXQgc3VidG9waWNzVG9NYXRjaCA9IEFycmF5LmlzQXJyYXkodG9waWNQYXR0ZXJuKSA/IHRvcGljUGF0dGVybiA6IFt0b3BpY1BhdHRlcm5dXG4gICAgICAvLyBjaGVjayBmb3Igd2lsZCBjYXJkXG4gICAgICBjb25zdCBzdWJ0b3BpY3NJbmNsdWRlV2lsZGNhcmQgPSBzdWJ0b3BpY3NUb01hdGNoLmluY2x1ZGVzKG51bGwpXG4gICAgICBpZiAoc3VidG9waWNzSW5jbHVkZVdpbGRjYXJkKSByZXR1cm4gdHJ1ZVxuICAgICAgc3VidG9waWNzVG9NYXRjaCA9IHN1YnRvcGljc1RvTWF0Y2gubWFwKHRvcGljID0+IHRvcGljLnRvTG93ZXJDYXNlKCkpXG4gICAgICAvLyBjaGVjayBlYWNoIHBvc3NpYmxlIG1hdGNoaW5nIHRvcGljXG4gICAgICBjb25zdCB0b3BpY0RvZXNNYXRjaCA9IHN1YnRvcGljc1RvTWF0Y2guaW5jbHVkZXMobG9nVG9waWMpXG4gICAgICByZXR1cm4gdG9waWNEb2VzTWF0Y2hcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRvcGljc01hdGNoXG4gIH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IExvZ0ZpbHRlclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/log-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/node_modules/pify/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/node_modules/pify/index.js ***! - \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst processFn = (fn, options, proxy, unwrapped) => function (...arguments_) {\n\tconst P = options.promiseModule;\n\n\treturn new P((resolve, reject) => {\n\t\tif (options.multiArgs) {\n\t\t\targuments_.push((...result) => {\n\t\t\t\tif (options.errorFirst) {\n\t\t\t\t\tif (result[0]) {\n\t\t\t\t\t\treject(result);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.shift();\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (options.errorFirst) {\n\t\t\targuments_.push((error, result) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\targuments_.push(resolve);\n\t\t}\n\n\t\tconst self = this === proxy ? unwrapped : this;\n\t\tReflect.apply(fn, self, arguments_);\n\t});\n};\n\nconst filterCache = new WeakMap();\n\nmodule.exports = (input, options) => {\n\toptions = {\n\t\texclude: [/.+(?:Sync|Stream)$/],\n\t\terrorFirst: true,\n\t\tpromiseModule: Promise,\n\t\t...options\n\t};\n\n\tconst objectType = typeof input;\n\tif (!(input !== null && (objectType === 'object' || objectType === 'function'))) {\n\t\tthrow new TypeError(`Expected \\`input\\` to be a \\`Function\\` or \\`Object\\`, got \\`${input === null ? 'null' : objectType}\\``);\n\t}\n\n\tconst filter = (target, key) => {\n\t\tlet cached = filterCache.get(target);\n\n\t\tif (!cached) {\n\t\t\tcached = {};\n\t\t\tfilterCache.set(target, cached);\n\t\t}\n\n\t\tif (key in cached) {\n\t\t\treturn cached[key];\n\t\t}\n\n\t\tconst match = pattern => (typeof pattern === 'string' || typeof key === 'symbol') ? key === pattern : pattern.test(key);\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(target, key);\n\t\tconst writableOrConfigurableOwn = (desc === undefined || desc.writable || desc.configurable);\n\t\tconst included = options.include ? options.include.some(match) : !options.exclude.some(match);\n\t\tconst shouldFilter = included && writableOrConfigurableOwn;\n\t\tcached[key] = shouldFilter;\n\t\treturn shouldFilter;\n\t};\n\n\tconst cache = new WeakMap();\n\n\tconst proxy = new Proxy(input, {\n\t\tapply(target, thisArg, args) {\n\t\t\tconst cached = cache.get(target);\n\n\t\t\tif (cached) {\n\t\t\t\treturn Reflect.apply(cached, thisArg, args);\n\t\t\t}\n\n\t\t\tconst pified = options.excludeMain ? target : processFn(target, options, proxy, target);\n\t\t\tcache.set(target, pified);\n\t\t\treturn Reflect.apply(pified, thisArg, args);\n\t\t},\n\n\t\tget(target, key) {\n\t\t\tconst property = target[key];\n\n\t\t\t// eslint-disable-next-line no-use-extend-native/no-use-extend-native\n\t\t\tif (!filter(target, key) || property === Function.prototype[key]) {\n\t\t\t\treturn property;\n\t\t\t}\n\n\t\t\tconst cached = cache.get(property);\n\n\t\t\tif (cached) {\n\t\t\t\treturn cached;\n\t\t\t}\n\n\t\t\tif (typeof property === 'function') {\n\t\t\t\tconst pified = processFn(property, options, proxy, target);\n\t\t\t\tcache.set(property, pified);\n\t\t\t\treturn pified;\n\t\t\t}\n\n\t\t\treturn property;\n\t\t}\n\t});\n\n\treturn proxy;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvbm9kZV9tb2R1bGVzL3BpZnkvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNGQUFzRixxQ0FBcUM7QUFDM0g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy9ub2RlX21vZHVsZXMvcGlmeS9pbmRleC5qcz9lNzU5Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgcHJvY2Vzc0ZuID0gKGZuLCBvcHRpb25zLCBwcm94eSwgdW53cmFwcGVkKSA9PiBmdW5jdGlvbiAoLi4uYXJndW1lbnRzXykge1xuXHRjb25zdCBQID0gb3B0aW9ucy5wcm9taXNlTW9kdWxlO1xuXG5cdHJldHVybiBuZXcgUCgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0aWYgKG9wdGlvbnMubXVsdGlBcmdzKSB7XG5cdFx0XHRhcmd1bWVudHNfLnB1c2goKC4uLnJlc3VsdCkgPT4ge1xuXHRcdFx0XHRpZiAob3B0aW9ucy5lcnJvckZpcnN0KSB7XG5cdFx0XHRcdFx0aWYgKHJlc3VsdFswXSkge1xuXHRcdFx0XHRcdFx0cmVqZWN0KHJlc3VsdCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJlc3VsdC5zaGlmdCgpO1xuXHRcdFx0XHRcdFx0cmVzb2x2ZShyZXN1bHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXNvbHZlKHJlc3VsdCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0gZWxzZSBpZiAob3B0aW9ucy5lcnJvckZpcnN0KSB7XG5cdFx0XHRhcmd1bWVudHNfLnB1c2goKGVycm9yLCByZXN1bHQpID0+IHtcblx0XHRcdFx0aWYgKGVycm9yKSB7XG5cdFx0XHRcdFx0cmVqZWN0KGVycm9yKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXNvbHZlKHJlc3VsdCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRhcmd1bWVudHNfLnB1c2gocmVzb2x2ZSk7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc2VsZiA9IHRoaXMgPT09IHByb3h5ID8gdW53cmFwcGVkIDogdGhpcztcblx0XHRSZWZsZWN0LmFwcGx5KGZuLCBzZWxmLCBhcmd1bWVudHNfKTtcblx0fSk7XG59O1xuXG5jb25zdCBmaWx0ZXJDYWNoZSA9IG5ldyBXZWFrTWFwKCk7XG5cbm1vZHVsZS5leHBvcnRzID0gKGlucHV0LCBvcHRpb25zKSA9PiB7XG5cdG9wdGlvbnMgPSB7XG5cdFx0ZXhjbHVkZTogWy8uKyg/OlN5bmN8U3RyZWFtKSQvXSxcblx0XHRlcnJvckZpcnN0OiB0cnVlLFxuXHRcdHByb21pc2VNb2R1bGU6IFByb21pc2UsXG5cdFx0Li4ub3B0aW9uc1xuXHR9O1xuXG5cdGNvbnN0IG9iamVjdFR5cGUgPSB0eXBlb2YgaW5wdXQ7XG5cdGlmICghKGlucHV0ICE9PSBudWxsICYmIChvYmplY3RUeXBlID09PSAnb2JqZWN0JyB8fCBvYmplY3RUeXBlID09PSAnZnVuY3Rpb24nKSkpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcXGBpbnB1dFxcYCB0byBiZSBhIFxcYEZ1bmN0aW9uXFxgIG9yIFxcYE9iamVjdFxcYCwgZ290IFxcYCR7aW5wdXQgPT09IG51bGwgPyAnbnVsbCcgOiBvYmplY3RUeXBlfVxcYGApO1xuXHR9XG5cblx0Y29uc3QgZmlsdGVyID0gKHRhcmdldCwga2V5KSA9PiB7XG5cdFx0bGV0IGNhY2hlZCA9IGZpbHRlckNhY2hlLmdldCh0YXJnZXQpO1xuXG5cdFx0aWYgKCFjYWNoZWQpIHtcblx0XHRcdGNhY2hlZCA9IHt9O1xuXHRcdFx0ZmlsdGVyQ2FjaGUuc2V0KHRhcmdldCwgY2FjaGVkKTtcblx0XHR9XG5cblx0XHRpZiAoa2V5IGluIGNhY2hlZCkge1xuXHRcdFx0cmV0dXJuIGNhY2hlZFtrZXldO1xuXHRcdH1cblxuXHRcdGNvbnN0IG1hdGNoID0gcGF0dGVybiA9PiAodHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBrZXkgPT09ICdzeW1ib2wnKSA/IGtleSA9PT0gcGF0dGVybiA6IHBhdHRlcm4udGVzdChrZXkpO1xuXHRcdGNvbnN0IGRlc2MgPSBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSk7XG5cdFx0Y29uc3Qgd3JpdGFibGVPckNvbmZpZ3VyYWJsZU93biA9IChkZXNjID09PSB1bmRlZmluZWQgfHwgZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSk7XG5cdFx0Y29uc3QgaW5jbHVkZWQgPSBvcHRpb25zLmluY2x1ZGUgPyBvcHRpb25zLmluY2x1ZGUuc29tZShtYXRjaCkgOiAhb3B0aW9ucy5leGNsdWRlLnNvbWUobWF0Y2gpO1xuXHRcdGNvbnN0IHNob3VsZEZpbHRlciA9IGluY2x1ZGVkICYmIHdyaXRhYmxlT3JDb25maWd1cmFibGVPd247XG5cdFx0Y2FjaGVkW2tleV0gPSBzaG91bGRGaWx0ZXI7XG5cdFx0cmV0dXJuIHNob3VsZEZpbHRlcjtcblx0fTtcblxuXHRjb25zdCBjYWNoZSA9IG5ldyBXZWFrTWFwKCk7XG5cblx0Y29uc3QgcHJveHkgPSBuZXcgUHJveHkoaW5wdXQsIHtcblx0XHRhcHBseSh0YXJnZXQsIHRoaXNBcmcsIGFyZ3MpIHtcblx0XHRcdGNvbnN0IGNhY2hlZCA9IGNhY2hlLmdldCh0YXJnZXQpO1xuXG5cdFx0XHRpZiAoY2FjaGVkKSB7XG5cdFx0XHRcdHJldHVybiBSZWZsZWN0LmFwcGx5KGNhY2hlZCwgdGhpc0FyZywgYXJncyk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHBpZmllZCA9IG9wdGlvbnMuZXhjbHVkZU1haW4gPyB0YXJnZXQgOiBwcm9jZXNzRm4odGFyZ2V0LCBvcHRpb25zLCBwcm94eSwgdGFyZ2V0KTtcblx0XHRcdGNhY2hlLnNldCh0YXJnZXQsIHBpZmllZCk7XG5cdFx0XHRyZXR1cm4gUmVmbGVjdC5hcHBseShwaWZpZWQsIHRoaXNBcmcsIGFyZ3MpO1xuXHRcdH0sXG5cblx0XHRnZXQodGFyZ2V0LCBrZXkpIHtcblx0XHRcdGNvbnN0IHByb3BlcnR5ID0gdGFyZ2V0W2tleV07XG5cblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtZXh0ZW5kLW5hdGl2ZS9uby11c2UtZXh0ZW5kLW5hdGl2ZVxuXHRcdFx0aWYgKCFmaWx0ZXIodGFyZ2V0LCBrZXkpIHx8IHByb3BlcnR5ID09PSBGdW5jdGlvbi5wcm90b3R5cGVba2V5XSkge1xuXHRcdFx0XHRyZXR1cm4gcHJvcGVydHk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IGNhY2hlLmdldChwcm9wZXJ0eSk7XG5cblx0XHRcdGlmIChjYWNoZWQpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZDtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHR5cGVvZiBwcm9wZXJ0eSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRjb25zdCBwaWZpZWQgPSBwcm9jZXNzRm4ocHJvcGVydHksIG9wdGlvbnMsIHByb3h5LCB0YXJnZXQpO1xuXHRcdFx0XHRjYWNoZS5zZXQocHJvcGVydHksIHBpZmllZCk7XG5cdFx0XHRcdHJldHVybiBwaWZpZWQ7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBwcm9wZXJ0eTtcblx0XHR9XG5cdH0pO1xuXG5cdHJldHVybiBwcm94eTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/node_modules/pify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/subscriptionManager.js": -/*!******************************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/subscriptionManager.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SafeEventEmitter = (__webpack_require__(/*! @metamask/safe-event-emitter */ \"./node_modules/@metamask/safe-event-emitter/index.js\")[\"default\"])\nconst { createAsyncMiddleware, createScaffoldMiddleware } = __webpack_require__(/*! json-rpc-engine */ \"./node_modules/json-rpc-engine/dist/index.js\")\nconst createFilterMiddleware = __webpack_require__(/*! ./index.js */ \"./node_modules/eth-json-rpc-filters/index.js\")\nconst { unsafeRandomBytes, incrementHexInt } = __webpack_require__(/*! ./hexUtils.js */ \"./node_modules/eth-json-rpc-filters/hexUtils.js\")\nconst getBlocksForRange = __webpack_require__(/*! ./getBlocksForRange.js */ \"./node_modules/eth-json-rpc-filters/getBlocksForRange.js\")\n\nmodule.exports = createSubscriptionMiddleware\n\n\nfunction createSubscriptionMiddleware({ blockTracker, provider }) {\n // state and utilities for handling subscriptions\n const subscriptions = {}\n const filterManager = createFilterMiddleware({ blockTracker, provider })\n\n // internal flag\n let isDestroyed = false\n\n // create subscriptionManager api object\n const events = new SafeEventEmitter()\n const middleware = createScaffoldMiddleware({\n eth_subscribe: createAsyncMiddleware(subscribe),\n eth_unsubscribe: createAsyncMiddleware(unsubscribe),\n })\n middleware.destroy = destroy\n return { events, middleware }\n\n async function subscribe(req, res) {\n\n if (isDestroyed) throw new Error(\n 'SubscriptionManager - attempting to use after destroying'\n )\n\n const subscriptionType = req.params[0]\n // subId is 16 byte hex string\n const subId = unsafeRandomBytes(16)\n\n // create sub\n let sub\n switch (subscriptionType) {\n case 'newHeads':\n sub = createSubNewHeads({ subId })\n break\n case 'logs':\n const filterParams = req.params[1]\n const filter = await filterManager.newLogFilter(filterParams)\n sub = createSubFromFilter({ subId, filter })\n break\n default:\n throw new Error(`SubscriptionManager - unsupported subscription type \"${subscriptionType}\"`)\n\n }\n subscriptions[subId] = sub\n\n res.result = subId\n return\n\n function createSubNewHeads({ subId }) {\n const sub = {\n type: subscriptionType,\n destroy: async () => {\n blockTracker.removeListener('sync', sub.update)\n },\n update: async ({ oldBlock, newBlock }) => {\n // for newHeads\n const toBlock = newBlock\n const fromBlock = incrementHexInt(oldBlock)\n const rawBlocks = await getBlocksForRange({ provider, fromBlock, toBlock })\n const results = rawBlocks.map(normalizeBlock).filter(block => block !== null)\n results.forEach((value) => {\n _emitSubscriptionResult(subId, value)\n })\n }\n }\n // check for subscription updates on new block\n blockTracker.on('sync', sub.update)\n return sub\n }\n\n function createSubFromFilter({ subId, filter }) {\n filter.on('update', result => _emitSubscriptionResult(subId, result))\n const sub = {\n type: subscriptionType,\n destroy: async () => {\n return await filterManager.uninstallFilter(filter.idHex)\n },\n }\n return sub\n }\n }\n\n async function unsubscribe(req, res) {\n\n if (isDestroyed) throw new Error(\n 'SubscriptionManager - attempting to use after destroying'\n )\n\n const id = req.params[0]\n const subscription = subscriptions[id]\n // if missing, return \"false\" to indicate it was not removed\n if (!subscription) {\n res.result = false\n return\n }\n // cleanup subscription\n delete subscriptions[id]\n await subscription.destroy()\n res.result = true\n }\n\n function _emitSubscriptionResult(filterIdHex, value) {\n events.emit('notification', {\n jsonrpc: '2.0',\n method: 'eth_subscription',\n params: {\n subscription: filterIdHex,\n result: value,\n },\n })\n }\n\n function destroy() {\n events.removeAllListeners()\n for (const id in subscriptions) {\n subscriptions[id].destroy()\n delete subscriptions[id]\n }\n isDestroyed = true\n }\n}\n\nfunction normalizeBlock(block) {\n if (block === null || block === undefined) {\n return null;\n }\n return {\n hash: block.hash,\n parentHash: block.parentHash,\n sha3Uncles: block.sha3Uncles,\n miner: block.miner,\n stateRoot: block.stateRoot,\n transactionsRoot: block.transactionsRoot,\n receiptsRoot: block.receiptsRoot,\n logsBloom: block.logsBloom,\n difficulty: block.difficulty,\n number: block.number,\n gasLimit: block.gasLimit,\n gasUsed: block.gasUsed,\n nonce: block.nonce,\n mixHash: block.mixHash,\n timestamp: block.timestamp,\n extraData: block.extraData,\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvc3Vic2NyaXB0aW9uTWFuYWdlci5qcyIsIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUIsNEhBQStDO0FBQ3hFLFFBQVEsa0RBQWtELEVBQUUsbUJBQU8sQ0FBQyxxRUFBaUI7QUFDckYsK0JBQStCLG1CQUFPLENBQUMsZ0VBQVk7QUFDbkQsUUFBUSxxQ0FBcUMsRUFBRSxtQkFBTyxDQUFDLHNFQUFlO0FBQ3RFLDBCQUEwQixtQkFBTyxDQUFDLHdGQUF3Qjs7QUFFMUQ7OztBQUdBLHdDQUF3Qyx3QkFBd0I7QUFDaEU7QUFDQTtBQUNBLGlEQUFpRCx3QkFBd0I7O0FBRXpFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLFdBQVc7O0FBRVg7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxPQUFPO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLGVBQWU7QUFDbkQ7QUFDQTtBQUNBLGdGQUFnRixpQkFBaUI7O0FBRWpHO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUMsT0FBTztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCx5QkFBeUIsb0JBQW9CO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCw4QkFBOEI7QUFDcEY7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUMsZUFBZTtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy9zdWJzY3JpcHRpb25NYW5hZ2VyLmpzPzNmMTUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU2FmZUV2ZW50RW1pdHRlciA9IHJlcXVpcmUoJ0BtZXRhbWFzay9zYWZlLWV2ZW50LWVtaXR0ZXInKS5kZWZhdWx0XG5jb25zdCB7IGNyZWF0ZUFzeW5jTWlkZGxld2FyZSwgY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlIH0gPSByZXF1aXJlKCdqc29uLXJwYy1lbmdpbmUnKVxuY29uc3QgY3JlYXRlRmlsdGVyTWlkZGxld2FyZSA9IHJlcXVpcmUoJy4vaW5kZXguanMnKVxuY29uc3QgeyB1bnNhZmVSYW5kb21CeXRlcywgaW5jcmVtZW50SGV4SW50IH0gPSByZXF1aXJlKCcuL2hleFV0aWxzLmpzJylcbmNvbnN0IGdldEJsb2Nrc0ZvclJhbmdlID0gcmVxdWlyZSgnLi9nZXRCbG9ja3NGb3JSYW5nZS5qcycpXG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlU3Vic2NyaXB0aW9uTWlkZGxld2FyZVxuXG5cbmZ1bmN0aW9uIGNyZWF0ZVN1YnNjcmlwdGlvbk1pZGRsZXdhcmUoeyBibG9ja1RyYWNrZXIsIHByb3ZpZGVyIH0pIHtcbiAgLy8gc3RhdGUgYW5kIHV0aWxpdGllcyBmb3IgaGFuZGxpbmcgc3Vic2NyaXB0aW9uc1xuICBjb25zdCBzdWJzY3JpcHRpb25zID0ge31cbiAgY29uc3QgZmlsdGVyTWFuYWdlciA9IGNyZWF0ZUZpbHRlck1pZGRsZXdhcmUoeyBibG9ja1RyYWNrZXIsIHByb3ZpZGVyIH0pXG5cbiAgLy8gaW50ZXJuYWwgZmxhZ1xuICBsZXQgaXNEZXN0cm95ZWQgPSBmYWxzZVxuXG4gIC8vIGNyZWF0ZSBzdWJzY3JpcHRpb25NYW5hZ2VyIGFwaSBvYmplY3RcbiAgY29uc3QgZXZlbnRzID0gbmV3IFNhZmVFdmVudEVtaXR0ZXIoKVxuICBjb25zdCBtaWRkbGV3YXJlID0gY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlKHtcbiAgICBldGhfc3Vic2NyaWJlOiBjcmVhdGVBc3luY01pZGRsZXdhcmUoc3Vic2NyaWJlKSxcbiAgICBldGhfdW5zdWJzY3JpYmU6IGNyZWF0ZUFzeW5jTWlkZGxld2FyZSh1bnN1YnNjcmliZSksXG4gIH0pXG4gIG1pZGRsZXdhcmUuZGVzdHJveSA9IGRlc3Ryb3lcbiAgcmV0dXJuIHsgZXZlbnRzLCBtaWRkbGV3YXJlIH1cblxuICBhc3luYyBmdW5jdGlvbiBzdWJzY3JpYmUocmVxLCByZXMpIHtcblxuICAgIGlmIChpc0Rlc3Ryb3llZCkgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1N1YnNjcmlwdGlvbk1hbmFnZXIgLSBhdHRlbXB0aW5nIHRvIHVzZSBhZnRlciBkZXN0cm95aW5nJ1xuICAgIClcblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvblR5cGUgPSByZXEucGFyYW1zWzBdXG4gICAgLy8gc3ViSWQgaXMgMTYgYnl0ZSBoZXggc3RyaW5nXG4gICAgY29uc3Qgc3ViSWQgPSB1bnNhZmVSYW5kb21CeXRlcygxNilcblxuICAgIC8vIGNyZWF0ZSBzdWJcbiAgICBsZXQgc3ViXG4gICAgc3dpdGNoIChzdWJzY3JpcHRpb25UeXBlKSB7XG4gICAgICBjYXNlICduZXdIZWFkcyc6XG4gICAgICAgIHN1YiA9IGNyZWF0ZVN1Yk5ld0hlYWRzKHsgc3ViSWQgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2xvZ3MnOlxuICAgICAgICBjb25zdCBmaWx0ZXJQYXJhbXMgPSByZXEucGFyYW1zWzFdXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGF3YWl0IGZpbHRlck1hbmFnZXIubmV3TG9nRmlsdGVyKGZpbHRlclBhcmFtcylcbiAgICAgICAgc3ViID0gY3JlYXRlU3ViRnJvbUZpbHRlcih7IHN1YklkLCBmaWx0ZXIgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3Vic2NyaXB0aW9uTWFuYWdlciAtIHVuc3VwcG9ydGVkIHN1YnNjcmlwdGlvbiB0eXBlIFwiJHtzdWJzY3JpcHRpb25UeXBlfVwiYClcblxuICAgIH1cbiAgICBzdWJzY3JpcHRpb25zW3N1YklkXSA9IHN1YlxuXG4gICAgcmVzLnJlc3VsdCA9IHN1YklkXG4gICAgcmV0dXJuXG5cbiAgICBmdW5jdGlvbiBjcmVhdGVTdWJOZXdIZWFkcyh7IHN1YklkIH0pIHtcbiAgICAgIGNvbnN0IHN1YiA9IHtcbiAgICAgICAgdHlwZTogc3Vic2NyaXB0aW9uVHlwZSxcbiAgICAgICAgZGVzdHJveTogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGJsb2NrVHJhY2tlci5yZW1vdmVMaXN0ZW5lcignc3luYycsIHN1Yi51cGRhdGUpXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZTogYXN5bmMgKHsgb2xkQmxvY2ssIG5ld0Jsb2NrIH0pID0+IHtcbiAgICAgICAgICAvLyBmb3IgbmV3SGVhZHNcbiAgICAgICAgICBjb25zdCB0b0Jsb2NrID0gbmV3QmxvY2tcbiAgICAgICAgICBjb25zdCBmcm9tQmxvY2sgPSBpbmNyZW1lbnRIZXhJbnQob2xkQmxvY2spXG4gICAgICAgICAgY29uc3QgcmF3QmxvY2tzID0gYXdhaXQgZ2V0QmxvY2tzRm9yUmFuZ2UoeyBwcm92aWRlciwgZnJvbUJsb2NrLCB0b0Jsb2NrIH0pXG4gICAgICAgICAgY29uc3QgcmVzdWx0cyA9IHJhd0Jsb2Nrcy5tYXAobm9ybWFsaXplQmxvY2spLmZpbHRlcihibG9jayA9PiBibG9jayAhPT0gbnVsbClcbiAgICAgICAgICByZXN1bHRzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBfZW1pdFN1YnNjcmlwdGlvblJlc3VsdChzdWJJZCwgdmFsdWUpXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gY2hlY2sgZm9yIHN1YnNjcmlwdGlvbiB1cGRhdGVzIG9uIG5ldyBibG9ja1xuICAgICAgYmxvY2tUcmFja2VyLm9uKCdzeW5jJywgc3ViLnVwZGF0ZSlcbiAgICAgIHJldHVybiBzdWJcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVTdWJGcm9tRmlsdGVyKHsgc3ViSWQsIGZpbHRlciB9KSB7XG4gICAgICBmaWx0ZXIub24oJ3VwZGF0ZScsIHJlc3VsdCA9PiBfZW1pdFN1YnNjcmlwdGlvblJlc3VsdChzdWJJZCwgcmVzdWx0KSlcbiAgICAgIGNvbnN0IHN1YiA9IHtcbiAgICAgICAgdHlwZTogc3Vic2NyaXB0aW9uVHlwZSxcbiAgICAgICAgZGVzdHJveTogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBmaWx0ZXJNYW5hZ2VyLnVuaW5zdGFsbEZpbHRlcihmaWx0ZXIuaWRIZXgpXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgICByZXR1cm4gc3ViXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gdW5zdWJzY3JpYmUocmVxLCByZXMpIHtcblxuICAgIGlmIChpc0Rlc3Ryb3llZCkgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1N1YnNjcmlwdGlvbk1hbmFnZXIgLSBhdHRlbXB0aW5nIHRvIHVzZSBhZnRlciBkZXN0cm95aW5nJ1xuICAgIClcblxuICAgIGNvbnN0IGlkID0gcmVxLnBhcmFtc1swXVxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbnNbaWRdXG4gICAgLy8gaWYgbWlzc2luZywgcmV0dXJuIFwiZmFsc2VcIiB0byBpbmRpY2F0ZSBpdCB3YXMgbm90IHJlbW92ZWRcbiAgICBpZiAoIXN1YnNjcmlwdGlvbikge1xuICAgICAgcmVzLnJlc3VsdCA9IGZhbHNlXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgLy8gY2xlYW51cCBzdWJzY3JpcHRpb25cbiAgICBkZWxldGUgc3Vic2NyaXB0aW9uc1tpZF1cbiAgICBhd2FpdCBzdWJzY3JpcHRpb24uZGVzdHJveSgpXG4gICAgcmVzLnJlc3VsdCA9IHRydWVcbiAgfVxuXG4gIGZ1bmN0aW9uIF9lbWl0U3Vic2NyaXB0aW9uUmVzdWx0KGZpbHRlcklkSGV4LCB2YWx1ZSkge1xuICAgIGV2ZW50cy5lbWl0KCdub3RpZmljYXRpb24nLCB7XG4gICAgICBqc29ucnBjOiAnMi4wJyxcbiAgICAgIG1ldGhvZDogJ2V0aF9zdWJzY3JpcHRpb24nLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIHN1YnNjcmlwdGlvbjogZmlsdGVySWRIZXgsXG4gICAgICAgIHJlc3VsdDogdmFsdWUsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgIGV2ZW50cy5yZW1vdmVBbGxMaXN0ZW5lcnMoKVxuICAgIGZvciAoY29uc3QgaWQgaW4gc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uc1tpZF0uZGVzdHJveSgpXG4gICAgICBkZWxldGUgc3Vic2NyaXB0aW9uc1tpZF1cbiAgICB9XG4gICAgaXNEZXN0cm95ZWQgPSB0cnVlXG4gIH1cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQmxvY2soYmxvY2spIHtcbiAgaWYgKGJsb2NrID09PSBudWxsIHx8IGJsb2NrID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhhc2g6IGJsb2NrLmhhc2gsXG4gICAgcGFyZW50SGFzaDogYmxvY2sucGFyZW50SGFzaCxcbiAgICBzaGEzVW5jbGVzOiBibG9jay5zaGEzVW5jbGVzLFxuICAgIG1pbmVyOiBibG9jay5taW5lcixcbiAgICBzdGF0ZVJvb3Q6IGJsb2NrLnN0YXRlUm9vdCxcbiAgICB0cmFuc2FjdGlvbnNSb290OiBibG9jay50cmFuc2FjdGlvbnNSb290LFxuICAgIHJlY2VpcHRzUm9vdDogYmxvY2sucmVjZWlwdHNSb290LFxuICAgIGxvZ3NCbG9vbTogYmxvY2subG9nc0Jsb29tLFxuICAgIGRpZmZpY3VsdHk6IGJsb2NrLmRpZmZpY3VsdHksXG4gICAgbnVtYmVyOiBibG9jay5udW1iZXIsXG4gICAgZ2FzTGltaXQ6IGJsb2NrLmdhc0xpbWl0LFxuICAgIGdhc1VzZWQ6IGJsb2NrLmdhc1VzZWQsXG4gICAgbm9uY2U6IGJsb2NrLm5vbmNlLFxuICAgIG1peEhhc2g6IGJsb2NrLm1peEhhc2gsXG4gICAgdGltZXN0YW1wOiBibG9jay50aW1lc3RhbXAsXG4gICAgZXh0cmFEYXRhOiBibG9jay5leHRyYURhdGEsXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/subscriptionManager.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-json-rpc-filters/tx-filter.js": -/*!********************************************************!*\ - !*** ./node_modules/eth-json-rpc-filters/tx-filter.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const BaseFilter = __webpack_require__(/*! ./base-filter */ \"./node_modules/eth-json-rpc-filters/base-filter.js\")\nconst getBlocksForRange = __webpack_require__(/*! ./getBlocksForRange */ \"./node_modules/eth-json-rpc-filters/getBlocksForRange.js\")\nconst { incrementHexInt } = __webpack_require__(/*! ./hexUtils */ \"./node_modules/eth-json-rpc-filters/hexUtils.js\")\n\nclass TxFilter extends BaseFilter {\n\n constructor ({ provider }) {\n super()\n this.type = 'tx'\n this.provider = provider\n }\n\n async update ({ oldBlock }) {\n const toBlock = oldBlock\n const fromBlock = incrementHexInt(oldBlock)\n const blocks = await getBlocksForRange({ provider: this.provider, fromBlock, toBlock })\n const blockTxHashes = []\n for (const block of blocks) {\n blockTxHashes.push(...block.transactions)\n }\n // add to results\n this.addResults(blockTxHashes)\n }\n\n}\n\nmodule.exports = TxFilter\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLWpzb24tcnBjLWZpbHRlcnMvdHgtZmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixtQkFBTyxDQUFDLHlFQUFlO0FBQzFDLDBCQUEwQixtQkFBTyxDQUFDLHFGQUFxQjtBQUN2RCxRQUFRLGtCQUFrQixFQUFFLG1CQUFPLENBQUMsbUVBQVk7O0FBRWhEOztBQUVBLGlCQUFpQixVQUFVO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixVQUFVO0FBQzVCO0FBQ0E7QUFDQSw2Q0FBNkMsNkNBQTZDO0FBQzFGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldGgtanNvbi1ycGMtZmlsdGVycy90eC1maWx0ZXIuanM/YzNjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBCYXNlRmlsdGVyID0gcmVxdWlyZSgnLi9iYXNlLWZpbHRlcicpXG5jb25zdCBnZXRCbG9ja3NGb3JSYW5nZSA9IHJlcXVpcmUoJy4vZ2V0QmxvY2tzRm9yUmFuZ2UnKVxuY29uc3QgeyBpbmNyZW1lbnRIZXhJbnQgfSA9IHJlcXVpcmUoJy4vaGV4VXRpbHMnKVxuXG5jbGFzcyBUeEZpbHRlciBleHRlbmRzIEJhc2VGaWx0ZXIge1xuXG4gIGNvbnN0cnVjdG9yICh7IHByb3ZpZGVyIH0pIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy50eXBlID0gJ3R4J1xuICAgIHRoaXMucHJvdmlkZXIgPSBwcm92aWRlclxuICB9XG5cbiAgYXN5bmMgdXBkYXRlICh7IG9sZEJsb2NrIH0pIHtcbiAgICBjb25zdCB0b0Jsb2NrID0gb2xkQmxvY2tcbiAgICBjb25zdCBmcm9tQmxvY2sgPSBpbmNyZW1lbnRIZXhJbnQob2xkQmxvY2spXG4gICAgY29uc3QgYmxvY2tzID0gYXdhaXQgZ2V0QmxvY2tzRm9yUmFuZ2UoeyBwcm92aWRlcjogdGhpcy5wcm92aWRlciwgZnJvbUJsb2NrLCB0b0Jsb2NrIH0pXG4gICAgY29uc3QgYmxvY2tUeEhhc2hlcyA9IFtdXG4gICAgZm9yIChjb25zdCBibG9jayBvZiBibG9ja3MpIHtcbiAgICAgIGJsb2NrVHhIYXNoZXMucHVzaCguLi5ibG9jay50cmFuc2FjdGlvbnMpXG4gICAgfVxuICAgIC8vIGFkZCB0byByZXN1bHRzXG4gICAgdGhpcy5hZGRSZXN1bHRzKGJsb2NrVHhIYXNoZXMpXG4gIH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFR4RmlsdGVyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-json-rpc-filters/tx-filter.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-query/index.js": -/*!*****************************************!*\ - !*** ./node_modules/eth-query/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const extend = __webpack_require__(/*! xtend */ \"./node_modules/xtend/immutable.js\")\nconst createRandomId = __webpack_require__(/*! json-rpc-random-id */ \"./node_modules/json-rpc-random-id/index.js\")()\n\nmodule.exports = EthQuery\n\n\nfunction EthQuery(provider){\n const self = this\n self.currentProvider = provider\n}\n\n//\n// base queries\n//\n\n// default block\nEthQuery.prototype.getBalance = generateFnWithDefaultBlockFor(2, 'eth_getBalance')\nEthQuery.prototype.getCode = generateFnWithDefaultBlockFor(2, 'eth_getCode')\nEthQuery.prototype.getTransactionCount = generateFnWithDefaultBlockFor(2, 'eth_getTransactionCount')\nEthQuery.prototype.getStorageAt = generateFnWithDefaultBlockFor(3, 'eth_getStorageAt')\nEthQuery.prototype.call = generateFnWithDefaultBlockFor(2, 'eth_call')\n// standard\nEthQuery.prototype.protocolVersion = generateFnFor('eth_protocolVersion')\nEthQuery.prototype.syncing = generateFnFor('eth_syncing')\nEthQuery.prototype.coinbase = generateFnFor('eth_coinbase')\nEthQuery.prototype.mining = generateFnFor('eth_mining')\nEthQuery.prototype.hashrate = generateFnFor('eth_hashrate')\nEthQuery.prototype.gasPrice = generateFnFor('eth_gasPrice')\nEthQuery.prototype.accounts = generateFnFor('eth_accounts')\nEthQuery.prototype.blockNumber = generateFnFor('eth_blockNumber')\nEthQuery.prototype.getBlockTransactionCountByHash = generateFnFor('eth_getBlockTransactionCountByHash')\nEthQuery.prototype.getBlockTransactionCountByNumber = generateFnFor('eth_getBlockTransactionCountByNumber')\nEthQuery.prototype.getUncleCountByBlockHash = generateFnFor('eth_getUncleCountByBlockHash')\nEthQuery.prototype.getUncleCountByBlockNumber = generateFnFor('eth_getUncleCountByBlockNumber')\nEthQuery.prototype.sign = generateFnFor('eth_sign')\nEthQuery.prototype.sendTransaction = generateFnFor('eth_sendTransaction')\nEthQuery.prototype.sendRawTransaction = generateFnFor('eth_sendRawTransaction')\nEthQuery.prototype.estimateGas = generateFnFor('eth_estimateGas')\nEthQuery.prototype.getBlockByHash = generateFnFor('eth_getBlockByHash')\nEthQuery.prototype.getBlockByNumber = generateFnFor('eth_getBlockByNumber')\nEthQuery.prototype.getTransactionByHash = generateFnFor('eth_getTransactionByHash')\nEthQuery.prototype.getTransactionByBlockHashAndIndex = generateFnFor('eth_getTransactionByBlockHashAndIndex')\nEthQuery.prototype.getTransactionByBlockNumberAndIndex = generateFnFor('eth_getTransactionByBlockNumberAndIndex')\nEthQuery.prototype.getTransactionReceipt = generateFnFor('eth_getTransactionReceipt')\nEthQuery.prototype.getUncleByBlockHashAndIndex = generateFnFor('eth_getUncleByBlockHashAndIndex')\nEthQuery.prototype.getUncleByBlockNumberAndIndex = generateFnFor('eth_getUncleByBlockNumberAndIndex')\nEthQuery.prototype.getCompilers = generateFnFor('eth_getCompilers')\nEthQuery.prototype.compileLLL = generateFnFor('eth_compileLLL')\nEthQuery.prototype.compileSolidity = generateFnFor('eth_compileSolidity')\nEthQuery.prototype.compileSerpent = generateFnFor('eth_compileSerpent')\nEthQuery.prototype.newFilter = generateFnFor('eth_newFilter')\nEthQuery.prototype.newBlockFilter = generateFnFor('eth_newBlockFilter')\nEthQuery.prototype.newPendingTransactionFilter = generateFnFor('eth_newPendingTransactionFilter')\nEthQuery.prototype.uninstallFilter = generateFnFor('eth_uninstallFilter')\nEthQuery.prototype.getFilterChanges = generateFnFor('eth_getFilterChanges')\nEthQuery.prototype.getFilterLogs = generateFnFor('eth_getFilterLogs')\nEthQuery.prototype.getLogs = generateFnFor('eth_getLogs')\nEthQuery.prototype.getWork = generateFnFor('eth_getWork')\nEthQuery.prototype.submitWork = generateFnFor('eth_submitWork')\nEthQuery.prototype.submitHashrate = generateFnFor('eth_submitHashrate')\n\n// network level\n\nEthQuery.prototype.sendAsync = function(opts, cb){\n const self = this\n self.currentProvider.sendAsync(createPayload(opts), function(err, response){\n if (!err && response.error) err = new Error('EthQuery - RPC Error - '+response.error.message)\n if (err) return cb(err)\n cb(null, response.result)\n })\n}\n\n// util\n\nfunction generateFnFor(methodName){\n return function(){\n const self = this\n var args = [].slice.call(arguments)\n var cb = args.pop()\n self.sendAsync({\n method: methodName,\n params: args,\n }, cb)\n }\n}\n\nfunction generateFnWithDefaultBlockFor(argCount, methodName){\n return function(){\n const self = this\n var args = [].slice.call(arguments)\n var cb = args.pop()\n // set optional default block param\n if (args.length < argCount) args.push('latest')\n self.sendAsync({\n method: methodName,\n params: args,\n }, cb)\n }\n}\n\nfunction createPayload(data){\n return extend({\n // defaults\n id: createRandomId(),\n jsonrpc: '2.0',\n params: [],\n // user-specified\n }, data)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLXF1ZXJ5L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxnREFBTztBQUM5Qix1QkFBdUIsbUJBQU8sQ0FBQyxzRUFBb0I7O0FBRW5EOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLXF1ZXJ5L2luZGV4LmpzP2QzMzciXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZXh0ZW5kID0gcmVxdWlyZSgneHRlbmQnKVxuY29uc3QgY3JlYXRlUmFuZG9tSWQgPSByZXF1aXJlKCdqc29uLXJwYy1yYW5kb20taWQnKSgpXG5cbm1vZHVsZS5leHBvcnRzID0gRXRoUXVlcnlcblxuXG5mdW5jdGlvbiBFdGhRdWVyeShwcm92aWRlcil7XG4gIGNvbnN0IHNlbGYgPSB0aGlzXG4gIHNlbGYuY3VycmVudFByb3ZpZGVyID0gcHJvdmlkZXJcbn1cblxuLy9cbi8vIGJhc2UgcXVlcmllc1xuLy9cblxuLy8gZGVmYXVsdCBibG9ja1xuRXRoUXVlcnkucHJvdG90eXBlLmdldEJhbGFuY2UgPSAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbldpdGhEZWZhdWx0QmxvY2tGb3IoMiwgJ2V0aF9nZXRCYWxhbmNlJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5nZXRDb2RlID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5XaXRoRGVmYXVsdEJsb2NrRm9yKDIsICdldGhfZ2V0Q29kZScpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25Db3VudCA9ICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuV2l0aERlZmF1bHRCbG9ja0ZvcigyLCAnZXRoX2dldFRyYW5zYWN0aW9uQ291bnQnKVxuRXRoUXVlcnkucHJvdG90eXBlLmdldFN0b3JhZ2VBdCA9ICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbldpdGhEZWZhdWx0QmxvY2tGb3IoMywgJ2V0aF9nZXRTdG9yYWdlQXQnKVxuRXRoUXVlcnkucHJvdG90eXBlLmNhbGwgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbldpdGhEZWZhdWx0QmxvY2tGb3IoMiwgJ2V0aF9jYWxsJylcbi8vIHN0YW5kYXJkXG5FdGhRdWVyeS5wcm90b3R5cGUucHJvdG9jb2xWZXJzaW9uID0gICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfcHJvdG9jb2xWZXJzaW9uJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5zeW5jaW5nID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9zeW5jaW5nJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5jb2luYmFzZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9jb2luYmFzZScpXG5FdGhRdWVyeS5wcm90b3R5cGUubWluaW5nID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfbWluaW5nJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5oYXNocmF0ZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9oYXNocmF0ZScpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2FzUHJpY2UgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2FzUHJpY2UnKVxuRXRoUXVlcnkucHJvdG90eXBlLmFjY291bnRzID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbkZvcignZXRoX2FjY291bnRzJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5ibG9ja051bWJlciA9ICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9ibG9ja051bWJlcicpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlIYXNoID0gICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlIYXNoJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlciA9ICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlcicpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoID0gICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5nZXRVbmNsZUNvdW50QnlCbG9ja051bWJlciA9ICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9nZXRVbmNsZUNvdW50QnlCbG9ja051bWJlcicpXG5FdGhRdWVyeS5wcm90b3R5cGUuc2lnbiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfc2lnbicpXG5FdGhRdWVyeS5wcm90b3R5cGUuc2VuZFRyYW5zYWN0aW9uID0gICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfc2VuZFRyYW5zYWN0aW9uJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5zZW5kUmF3VHJhbnNhY3Rpb24gPSAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9zZW5kUmF3VHJhbnNhY3Rpb24nKVxuRXRoUXVlcnkucHJvdG90eXBlLmVzdGltYXRlR2FzID0gICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbkZvcignZXRoX2VzdGltYXRlR2FzJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5nZXRCbG9ja0J5SGFzaCA9ICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9nZXRCbG9ja0J5SGFzaCcpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0QmxvY2tCeU51bWJlciA9ICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0QmxvY2tCeU51bWJlcicpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25CeUhhc2ggPSAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2gnKVxuRXRoUXVlcnkucHJvdG90eXBlLmdldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCA9ICAgZ2VuZXJhdGVGbkZvcignZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCcpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXggPSBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXgnKVxuRXRoUXVlcnkucHJvdG90eXBlLmdldFRyYW5zYWN0aW9uUmVjZWlwdCA9ICAgICAgICAgICAgICAgZ2VuZXJhdGVGbkZvcignZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdCcpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0VW5jbGVCeUJsb2NrSGFzaEFuZEluZGV4ID0gICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0VW5jbGVCeUJsb2NrSGFzaEFuZEluZGV4JylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5nZXRVbmNsZUJ5QmxvY2tOdW1iZXJBbmRJbmRleCA9ICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9nZXRVbmNsZUJ5QmxvY2tOdW1iZXJBbmRJbmRleCcpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0Q29tcGlsZXJzID0gICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0Q29tcGlsZXJzJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5jb21waWxlTExMID0gICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9jb21waWxlTExMJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5jb21waWxlU29saWRpdHkgPSAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9jb21waWxlU29saWRpdHknKVxuRXRoUXVlcnkucHJvdG90eXBlLmNvbXBpbGVTZXJwZW50ID0gICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbkZvcignZXRoX2NvbXBpbGVTZXJwZW50JylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5uZXdGaWx0ZXIgPSAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9uZXdGaWx0ZXInKVxuRXRoUXVlcnkucHJvdG90eXBlLm5ld0Jsb2NrRmlsdGVyID0gICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbkZvcignZXRoX25ld0Jsb2NrRmlsdGVyJylcbkV0aFF1ZXJ5LnByb3RvdHlwZS5uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIgPSAgICAgICAgIGdlbmVyYXRlRm5Gb3IoJ2V0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXInKVxuRXRoUXVlcnkucHJvdG90eXBlLnVuaW5zdGFsbEZpbHRlciA9ICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGbkZvcignZXRoX3VuaW5zdGFsbEZpbHRlcicpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0RmlsdGVyQ2hhbmdlcyA9ICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0RmlsdGVyQ2hhbmdlcycpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0RmlsdGVyTG9ncyA9ICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0RmlsdGVyTG9ncycpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0TG9ncyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0TG9ncycpXG5FdGhRdWVyeS5wcm90b3R5cGUuZ2V0V29yayA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfZ2V0V29yaycpXG5FdGhRdWVyeS5wcm90b3R5cGUuc3VibWl0V29yayA9ICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfc3VibWl0V29yaycpXG5FdGhRdWVyeS5wcm90b3R5cGUuc3VibWl0SGFzaHJhdGUgPSAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZuRm9yKCdldGhfc3VibWl0SGFzaHJhdGUnKVxuXG4vLyBuZXR3b3JrIGxldmVsXG5cbkV0aFF1ZXJ5LnByb3RvdHlwZS5zZW5kQXN5bmMgPSBmdW5jdGlvbihvcHRzLCBjYil7XG4gIGNvbnN0IHNlbGYgPSB0aGlzXG4gIHNlbGYuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYyhjcmVhdGVQYXlsb2FkKG9wdHMpLCBmdW5jdGlvbihlcnIsIHJlc3BvbnNlKXtcbiAgICBpZiAoIWVyciAmJiByZXNwb25zZS5lcnJvcikgZXJyID0gbmV3IEVycm9yKCdFdGhRdWVyeSAtIFJQQyBFcnJvciAtICcrcmVzcG9uc2UuZXJyb3IubWVzc2FnZSlcbiAgICBpZiAoZXJyKSByZXR1cm4gY2IoZXJyKVxuICAgIGNiKG51bGwsIHJlc3BvbnNlLnJlc3VsdClcbiAgfSlcbn1cblxuLy8gdXRpbFxuXG5mdW5jdGlvbiBnZW5lcmF0ZUZuRm9yKG1ldGhvZE5hbWUpe1xuICByZXR1cm4gZnVuY3Rpb24oKXtcbiAgICBjb25zdCBzZWxmID0gdGhpc1xuICAgIHZhciBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMpXG4gICAgdmFyIGNiID0gYXJncy5wb3AoKVxuICAgIHNlbGYuc2VuZEFzeW5jKHtcbiAgICAgIG1ldGhvZDogbWV0aG9kTmFtZSxcbiAgICAgIHBhcmFtczogYXJncyxcbiAgICB9LCBjYilcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUZuV2l0aERlZmF1bHRCbG9ja0ZvcihhcmdDb3VudCwgbWV0aG9kTmFtZSl7XG4gIHJldHVybiBmdW5jdGlvbigpe1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzXG4gICAgdmFyIGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cylcbiAgICB2YXIgY2IgPSBhcmdzLnBvcCgpXG4gICAgLy8gc2V0IG9wdGlvbmFsIGRlZmF1bHQgYmxvY2sgcGFyYW1cbiAgICBpZiAoYXJncy5sZW5ndGggPCBhcmdDb3VudCkgYXJncy5wdXNoKCdsYXRlc3QnKVxuICAgIHNlbGYuc2VuZEFzeW5jKHtcbiAgICAgIG1ldGhvZDogbWV0aG9kTmFtZSxcbiAgICAgIHBhcmFtczogYXJncyxcbiAgICB9LCBjYilcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVQYXlsb2FkKGRhdGEpe1xuICByZXR1cm4gZXh0ZW5kKHtcbiAgICAvLyBkZWZhdWx0c1xuICAgIGlkOiBjcmVhdGVSYW5kb21JZCgpLFxuICAgIGpzb25ycGM6ICcyLjAnLFxuICAgIHBhcmFtczogW10sXG4gICAgLy8gdXNlci1zcGVjaWZpZWRcbiAgfSwgZGF0YSlcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/eth-query/index.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-rpc-errors/dist/classes.js": -/*!*****************************************************!*\ - !*** ./node_modules/eth-rpc-errors/dist/classes.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EthereumProviderError = exports.EthereumRpcError = void 0;\nconst fast_safe_stringify_1 = __webpack_require__(/*! fast-safe-stringify */ \"./node_modules/fast-safe-stringify/index.js\");\n/**\n * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors\n * per EIP-1474.\n * Permits any integer error code.\n */\nclass EthereumRpcError extends Error {\n constructor(code, message, data) {\n if (!Number.isInteger(code)) {\n throw new Error('\"code\" must be an integer.');\n }\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string.');\n }\n super(message);\n this.code = code;\n if (data !== undefined) {\n this.data = data;\n }\n }\n /**\n * Returns a plain object with all public class properties.\n */\n serialize() {\n const serialized = {\n code: this.code,\n message: this.message,\n };\n if (this.data !== undefined) {\n serialized.data = this.data;\n }\n if (this.stack) {\n serialized.stack = this.stack;\n }\n return serialized;\n }\n /**\n * Return a string representation of the serialized error, omitting\n * any circular references.\n */\n toString() {\n return fast_safe_stringify_1.default(this.serialize(), stringifyReplacer, 2);\n }\n}\nexports.EthereumRpcError = EthereumRpcError;\n/**\n * Error subclass implementing Ethereum Provider errors per EIP-1193.\n * Permits integer error codes in the [ 1000 <= 4999 ] range.\n */\nclass EthereumProviderError extends EthereumRpcError {\n /**\n * Create an Ethereum Provider JSON-RPC error.\n * `code` must be an integer in the 1000 <= 4999 range.\n */\n constructor(code, message, data) {\n if (!isValidEthProviderCode(code)) {\n throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');\n }\n super(code, message, data);\n }\n}\nexports.EthereumProviderError = EthereumProviderError;\n// Internal\nfunction isValidEthProviderCode(code) {\n return Number.isInteger(code) && code >= 1000 && code <= 4999;\n}\nfunction stringifyReplacer(_, value) {\n if (value === '[Circular]') {\n return undefined;\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGFzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUFnRDtBQVNoRDs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBb0IsU0FBUSxLQUFLO0lBTTVDLFlBQVksSUFBWSxFQUFFLE9BQWUsRUFBRSxJQUFRO1FBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEJBQTRCLENBQzdCLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0NBQXNDLENBQ3ZDLENBQUM7U0FDSDtRQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxNQUFNLFVBQVUsR0FBK0I7WUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3QjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMvQjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyw2QkFBYSxDQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQ2hCLGlCQUFpQixFQUNqQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRERCw0Q0FzREM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLHFCQUF5QixTQUFRLGdCQUFtQjtJQUUvRDs7O09BR0c7SUFDSCxZQUFZLElBQVksRUFBRSxPQUFlLEVBQUUsSUFBUTtRQUVqRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYiwyREFBMkQsQ0FDNUQsQ0FBQztTQUNIO1FBRUQsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBaEJELHNEQWdCQztBQUVELFdBQVc7QUFFWCxTQUFTLHNCQUFzQixDQUFDLElBQVk7SUFDMUMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQztBQUNoRSxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFVLEVBQUUsS0FBYztJQUNuRCxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7UUFDMUIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC9jbGFzc2VzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDZCQUE2QixHQUFHLHdCQUF3QjtBQUN4RCw4QkFBOEIsbUJBQU8sQ0FBQyx3RUFBcUI7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2V0aC1ycGMtZXJyb3JzL2Rpc3QvY2xhc3Nlcy5qcz9mNWIzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5FdGhlcmV1bVByb3ZpZGVyRXJyb3IgPSBleHBvcnRzLkV0aGVyZXVtUnBjRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBmYXN0X3NhZmVfc3RyaW5naWZ5XzEgPSByZXF1aXJlKFwiZmFzdC1zYWZlLXN0cmluZ2lmeVwiKTtcbi8qKlxuICogRXJyb3Igc3ViY2xhc3MgaW1wbGVtZW50aW5nIEpTT04gUlBDIDIuMCBlcnJvcnMgYW5kIEV0aGVyZXVtIFJQQyBlcnJvcnNcbiAqIHBlciBFSVAtMTQ3NC5cbiAqIFBlcm1pdHMgYW55IGludGVnZXIgZXJyb3IgY29kZS5cbiAqL1xuY2xhc3MgRXRoZXJldW1ScGNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcihjb2RlLCBtZXNzYWdlLCBkYXRhKSB7XG4gICAgICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihjb2RlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImNvZGVcIiBtdXN0IGJlIGFuIGludGVnZXIuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtZXNzYWdlIHx8IHR5cGVvZiBtZXNzYWdlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIm1lc3NhZ2VcIiBtdXN0IGJlIGEgbm9uZW1wdHkgc3RyaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgICAgICBpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBwbGFpbiBvYmplY3Qgd2l0aCBhbGwgcHVibGljIGNsYXNzIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgc2VyaWFsaXplKCkge1xuICAgICAgICBjb25zdCBzZXJpYWxpemVkID0ge1xuICAgICAgICAgICAgY29kZTogdGhpcy5jb2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlLFxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5kYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlcmlhbGl6ZWQuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zdGFjaykge1xuICAgICAgICAgICAgc2VyaWFsaXplZC5zdGFjayA9IHRoaXMuc3RhY2s7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgc2VyaWFsaXplZCBlcnJvciwgb21pdHRpbmdcbiAgICAgKiBhbnkgY2lyY3VsYXIgcmVmZXJlbmNlcy5cbiAgICAgKi9cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIGZhc3Rfc2FmZV9zdHJpbmdpZnlfMS5kZWZhdWx0KHRoaXMuc2VyaWFsaXplKCksIHN0cmluZ2lmeVJlcGxhY2VyLCAyKTtcbiAgICB9XG59XG5leHBvcnRzLkV0aGVyZXVtUnBjRXJyb3IgPSBFdGhlcmV1bVJwY0Vycm9yO1xuLyoqXG4gKiBFcnJvciBzdWJjbGFzcyBpbXBsZW1lbnRpbmcgRXRoZXJldW0gUHJvdmlkZXIgZXJyb3JzIHBlciBFSVAtMTE5My5cbiAqIFBlcm1pdHMgaW50ZWdlciBlcnJvciBjb2RlcyBpbiB0aGUgWyAxMDAwIDw9IDQ5OTkgXSByYW5nZS5cbiAqL1xuY2xhc3MgRXRoZXJldW1Qcm92aWRlckVycm9yIGV4dGVuZHMgRXRoZXJldW1ScGNFcnJvciB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFuIEV0aGVyZXVtIFByb3ZpZGVyIEpTT04tUlBDIGVycm9yLlxuICAgICAqIGBjb2RlYCBtdXN0IGJlIGFuIGludGVnZXIgaW4gdGhlIDEwMDAgPD0gNDk5OSByYW5nZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihjb2RlLCBtZXNzYWdlLCBkYXRhKSB7XG4gICAgICAgIGlmICghaXNWYWxpZEV0aFByb3ZpZGVyQ29kZShjb2RlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImNvZGVcIiBtdXN0IGJlIGFuIGludGVnZXIgc3VjaCB0aGF0OiAxMDAwIDw9IGNvZGUgPD0gNDk5OScpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyKGNvZGUsIG1lc3NhZ2UsIGRhdGEpO1xuICAgIH1cbn1cbmV4cG9ydHMuRXRoZXJldW1Qcm92aWRlckVycm9yID0gRXRoZXJldW1Qcm92aWRlckVycm9yO1xuLy8gSW50ZXJuYWxcbmZ1bmN0aW9uIGlzVmFsaWRFdGhQcm92aWRlckNvZGUoY29kZSkge1xuICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGNvZGUpICYmIGNvZGUgPj0gMTAwMCAmJiBjb2RlIDw9IDQ5OTk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlSZXBsYWNlcihfLCB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gJ1tDaXJjdWxhcl0nKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVkyeGhjM05sY3k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1TDNOeVl5OWpiR0Z6YzJWekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenRCUVVGQkxEWkVRVUZuUkR0QlFWTm9SRHM3T3p0SFFVbEhPMEZCUTBnc1RVRkJZU3huUWtGQmIwSXNVMEZCVVN4TFFVRkxPMGxCVFRWRExGbEJRVmtzU1VGQldTeEZRVUZGTEU5QlFXVXNSVUZCUlN4SlFVRlJPMUZCUldwRUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRk8xbEJRek5DTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUTJJc05FSkJRVFJDTEVOQlF6ZENMRU5CUVVNN1UwRkRTRHRSUVVORUxFbEJRVWtzUTBGQlF5eFBRVUZQTEVsQlFVa3NUMEZCVHl4UFFVRlBMRXRCUVVzc1VVRkJVU3hGUVVGRk8xbEJRek5ETEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUTJJc2MwTkJRWE5ETEVOQlEzWkRMRU5CUVVNN1UwRkRTRHRSUVVWRUxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTm1MRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEycENMRWxCUVVrc1NVRkJTU3hMUVVGTExGTkJRVk1zUlVGQlJUdFpRVU4wUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFRRVU5zUWp0SlFVTklMRU5CUVVNN1NVRkZSRHM3VDBGRlJ6dEpRVU5JTEZOQlFWTTdVVUZEVUN4TlFVRk5MRlZCUVZVc1IwRkJLMEk3V1VGRE4wTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhKUVVGSk8xbEJRMllzVDBGQlR5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBPMU5CUTNSQ0xFTkJRVU03VVVGRFJpeEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRXRCUVVzc1UwRkJVeXhGUVVGRk8xbEJRek5DTEZWQlFWVXNRMEZCUXl4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF6dFRRVU0zUWp0UlFVTkVMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJUdFpRVU5rTEZWQlFWVXNRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF6dFRRVU12UWp0UlFVTkVMRTlCUVU4c1ZVRkJWU3hEUVVGRE8wbEJRM0JDTEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFNDeFJRVUZSTzFGQlEwNHNUMEZCVHl3MlFrRkJZU3hEUVVOc1FpeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZMRVZCUTJoQ0xHbENRVUZwUWl4RlFVTnFRaXhEUVVGRExFTkJRMFlzUTBGQlF6dEpRVU5LTEVOQlFVTTdRMEZEUmp0QlFYUkVSQ3cwUTBGelJFTTdRVUZGUkRzN08wZEJSMGM3UVVGRFNDeE5RVUZoTEhGQ1FVRjVRaXhUUVVGUkxHZENRVUZ0UWp0SlFVVXZSRHM3TzA5QlIwYzdTVUZEU0N4WlFVRlpMRWxCUVZrc1JVRkJSU3hQUVVGbExFVkJRVVVzU1VGQlVUdFJRVVZxUkN4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVN1dVRkRha01zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZEWWl3eVJFRkJNa1FzUTBGRE5VUXNRMEZCUXp0VFFVTklPMUZCUlVRc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeFBRVUZQTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkROMElzUTBGQlF6dERRVU5HTzBGQmFFSkVMSE5FUVdkQ1F6dEJRVVZFTEZkQlFWYzdRVUZGV0N4VFFVRlRMSE5DUVVGelFpeERRVUZETEVsQlFWazdTVUZETVVNc1QwRkJUeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1NVRkJTU3hKUVVGSkxFbEJRVWtzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXp0QlFVTm9SU3hEUVVGRE8wRkJSVVFzVTBGQlV5eHBRa0ZCYVVJc1EwRkJReXhEUVVGVkxFVkJRVVVzUzBGQll6dEpRVU51UkN4SlFVRkpMRXRCUVVzc1MwRkJTeXhaUVVGWkxFVkJRVVU3VVVGRE1VSXNUMEZCVHl4VFFVRlRMRU5CUVVNN1MwRkRiRUk3U1VGRFJDeFBRVUZQTEV0QlFVc3NRMEZCUXp0QlFVTm1MRU5CUVVNaWZRPT0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-rpc-errors/dist/classes.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-rpc-errors/dist/error-constants.js": -/*!*************************************************************!*\ - !*** ./node_modules/eth-rpc-errors/dist/error-constants.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.errorValues = exports.errorCodes = void 0;\nexports.errorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n },\n};\nexports.errorValues = {\n '-32700': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n },\n '-32600': {\n standard: 'JSON RPC 2.0',\n message: 'The JSON sent is not a valid Request object.',\n },\n '-32601': {\n standard: 'JSON RPC 2.0',\n message: 'The method does not exist / is not available.',\n },\n '-32602': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid method parameter(s).',\n },\n '-32603': {\n standard: 'JSON RPC 2.0',\n message: 'Internal JSON-RPC error.',\n },\n '-32000': {\n standard: 'EIP-1474',\n message: 'Invalid input.',\n },\n '-32001': {\n standard: 'EIP-1474',\n message: 'Resource not found.',\n },\n '-32002': {\n standard: 'EIP-1474',\n message: 'Resource unavailable.',\n },\n '-32003': {\n standard: 'EIP-1474',\n message: 'Transaction rejected.',\n },\n '-32004': {\n standard: 'EIP-1474',\n message: 'Method not supported.',\n },\n '-32005': {\n standard: 'EIP-1474',\n message: 'Request limit exceeded.',\n },\n '4001': {\n standard: 'EIP-1193',\n message: 'User rejected the request.',\n },\n '4100': {\n standard: 'EIP-1193',\n message: 'The requested account and/or method has not been authorized by the user.',\n },\n '4200': {\n standard: 'EIP-1193',\n message: 'The requested method is not supported by this Ethereum provider.',\n },\n '4900': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from all chains.',\n },\n '4901': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from the specified chain.',\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9yLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QmEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsR0FBRyxFQUFFO1FBQ0gsWUFBWSxFQUFFLENBQUMsS0FBSztRQUNwQixnQkFBZ0IsRUFBRSxDQUFDLEtBQUs7UUFDeEIsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLO1FBQzNCLG1CQUFtQixFQUFFLENBQUMsS0FBSztRQUMzQixrQkFBa0IsRUFBRSxDQUFDLEtBQUs7UUFDMUIsYUFBYSxFQUFFLENBQUMsS0FBSztRQUNyQixLQUFLLEVBQUUsQ0FBQyxLQUFLO1FBQ2IsY0FBYyxFQUFFLENBQUMsS0FBSztRQUN0QixjQUFjLEVBQUUsQ0FBQyxLQUFLO1FBQ3RCLGFBQWEsRUFBRSxDQUFDLEtBQUs7UUFDckIsUUFBUSxFQUFFLENBQUMsS0FBSztLQUNqQjtJQUNELFFBQVEsRUFBRTtRQUNSLG1CQUFtQixFQUFFLElBQUk7UUFDekIsWUFBWSxFQUFFLElBQUk7UUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixZQUFZLEVBQUUsSUFBSTtRQUNsQixpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQUVXLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSx1R0FBdUc7S0FDakg7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsOENBQThDO0tBQ3hEO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGNBQWM7UUFDeEIsT0FBTyxFQUFFLCtDQUErQztLQUN6RDtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLE9BQU8sRUFBRSw4QkFBOEI7S0FDeEM7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsY0FBYztRQUN4QixPQUFPLEVBQUUsMEJBQTBCO0tBQ3BDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSxxQkFBcUI7S0FDL0I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLHVCQUF1QjtLQUNqQztJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSx1QkFBdUI7S0FDakM7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUseUJBQXlCO0tBQ25DO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSwwRUFBMEU7S0FDcEY7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsa0VBQWtFO0tBQzVFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLCtDQUErQztLQUN6RDtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSx3REFBd0Q7S0FDbEU7Q0FDRixDQUFDIn0=//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC9lcnJvci1jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUJBQW1CLEdBQUcsa0JBQWtCO0FBQ3hDLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC9lcnJvci1jb25zdGFudHMuanM/MWJlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZXJyb3JWYWx1ZXMgPSBleHBvcnRzLmVycm9yQ29kZXMgPSB2b2lkIDA7XG5leHBvcnRzLmVycm9yQ29kZXMgPSB7XG4gICAgcnBjOiB7XG4gICAgICAgIGludmFsaWRJbnB1dDogLTMyMDAwLFxuICAgICAgICByZXNvdXJjZU5vdEZvdW5kOiAtMzIwMDEsXG4gICAgICAgIHJlc291cmNlVW5hdmFpbGFibGU6IC0zMjAwMixcbiAgICAgICAgdHJhbnNhY3Rpb25SZWplY3RlZDogLTMyMDAzLFxuICAgICAgICBtZXRob2ROb3RTdXBwb3J0ZWQ6IC0zMjAwNCxcbiAgICAgICAgbGltaXRFeGNlZWRlZDogLTMyMDA1LFxuICAgICAgICBwYXJzZTogLTMyNzAwLFxuICAgICAgICBpbnZhbGlkUmVxdWVzdDogLTMyNjAwLFxuICAgICAgICBtZXRob2ROb3RGb3VuZDogLTMyNjAxLFxuICAgICAgICBpbnZhbGlkUGFyYW1zOiAtMzI2MDIsXG4gICAgICAgIGludGVybmFsOiAtMzI2MDMsXG4gICAgfSxcbiAgICBwcm92aWRlcjoge1xuICAgICAgICB1c2VyUmVqZWN0ZWRSZXF1ZXN0OiA0MDAxLFxuICAgICAgICB1bmF1dGhvcml6ZWQ6IDQxMDAsXG4gICAgICAgIHVuc3VwcG9ydGVkTWV0aG9kOiA0MjAwLFxuICAgICAgICBkaXNjb25uZWN0ZWQ6IDQ5MDAsXG4gICAgICAgIGNoYWluRGlzY29ubmVjdGVkOiA0OTAxLFxuICAgIH0sXG59O1xuZXhwb3J0cy5lcnJvclZhbHVlcyA9IHtcbiAgICAnLTMyNzAwJzoge1xuICAgICAgICBzdGFuZGFyZDogJ0pTT04gUlBDIDIuMCcsXG4gICAgICAgIG1lc3NhZ2U6ICdJbnZhbGlkIEpTT04gd2FzIHJlY2VpdmVkIGJ5IHRoZSBzZXJ2ZXIuIEFuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgd2hpbGUgcGFyc2luZyB0aGUgSlNPTiB0ZXh0LicsXG4gICAgfSxcbiAgICAnLTMyNjAwJzoge1xuICAgICAgICBzdGFuZGFyZDogJ0pTT04gUlBDIDIuMCcsXG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgSlNPTiBzZW50IGlzIG5vdCBhIHZhbGlkIFJlcXVlc3Qgb2JqZWN0LicsXG4gICAgfSxcbiAgICAnLTMyNjAxJzoge1xuICAgICAgICBzdGFuZGFyZDogJ0pTT04gUlBDIDIuMCcsXG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgbWV0aG9kIGRvZXMgbm90IGV4aXN0IC8gaXMgbm90IGF2YWlsYWJsZS4nLFxuICAgIH0sXG4gICAgJy0zMjYwMic6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdKU09OIFJQQyAyLjAnLFxuICAgICAgICBtZXNzYWdlOiAnSW52YWxpZCBtZXRob2QgcGFyYW1ldGVyKHMpLicsXG4gICAgfSxcbiAgICAnLTMyNjAzJzoge1xuICAgICAgICBzdGFuZGFyZDogJ0pTT04gUlBDIDIuMCcsXG4gICAgICAgIG1lc3NhZ2U6ICdJbnRlcm5hbCBKU09OLVJQQyBlcnJvci4nLFxuICAgIH0sXG4gICAgJy0zMjAwMCc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTQ3NCcsXG4gICAgICAgIG1lc3NhZ2U6ICdJbnZhbGlkIGlucHV0LicsXG4gICAgfSxcbiAgICAnLTMyMDAxJzoge1xuICAgICAgICBzdGFuZGFyZDogJ0VJUC0xNDc0JyxcbiAgICAgICAgbWVzc2FnZTogJ1Jlc291cmNlIG5vdCBmb3VuZC4nLFxuICAgIH0sXG4gICAgJy0zMjAwMic6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTQ3NCcsXG4gICAgICAgIG1lc3NhZ2U6ICdSZXNvdXJjZSB1bmF2YWlsYWJsZS4nLFxuICAgIH0sXG4gICAgJy0zMjAwMyc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTQ3NCcsXG4gICAgICAgIG1lc3NhZ2U6ICdUcmFuc2FjdGlvbiByZWplY3RlZC4nLFxuICAgIH0sXG4gICAgJy0zMjAwNCc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTQ3NCcsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXRob2Qgbm90IHN1cHBvcnRlZC4nLFxuICAgIH0sXG4gICAgJy0zMjAwNSc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTQ3NCcsXG4gICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGxpbWl0IGV4Y2VlZGVkLicsXG4gICAgfSxcbiAgICAnNDAwMSc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTE5MycsXG4gICAgICAgIG1lc3NhZ2U6ICdVc2VyIHJlamVjdGVkIHRoZSByZXF1ZXN0LicsXG4gICAgfSxcbiAgICAnNDEwMCc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTE5MycsXG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgcmVxdWVzdGVkIGFjY291bnQgYW5kL29yIG1ldGhvZCBoYXMgbm90IGJlZW4gYXV0aG9yaXplZCBieSB0aGUgdXNlci4nLFxuICAgIH0sXG4gICAgJzQyMDAnOiB7XG4gICAgICAgIHN0YW5kYXJkOiAnRUlQLTExOTMnLFxuICAgICAgICBtZXNzYWdlOiAnVGhlIHJlcXVlc3RlZCBtZXRob2QgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIEV0aGVyZXVtIHByb3ZpZGVyLicsXG4gICAgfSxcbiAgICAnNDkwMCc6IHtcbiAgICAgICAgc3RhbmRhcmQ6ICdFSVAtMTE5MycsXG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgcHJvdmlkZXIgaXMgZGlzY29ubmVjdGVkIGZyb20gYWxsIGNoYWlucy4nLFxuICAgIH0sXG4gICAgJzQ5MDEnOiB7XG4gICAgICAgIHN0YW5kYXJkOiAnRUlQLTExOTMnLFxuICAgICAgICBtZXNzYWdlOiAnVGhlIHByb3ZpZGVyIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSBzcGVjaWZpZWQgY2hhaW4uJyxcbiAgICB9LFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpYSnliM0l0WTI5dWMzUmhiblJ6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2YzNKakwyVnljbTl5TFdOdmJuTjBZVzUwY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdRVUYxUW1Fc1VVRkJRU3hWUVVGVkxFZEJRV1U3U1VGRGNFTXNSMEZCUnl4RlFVRkZPMUZCUTBnc1dVRkJXU3hGUVVGRkxFTkJRVU1zUzBGQlN6dFJRVU53UWl4blFrRkJaMElzUlVGQlJTeERRVUZETEV0QlFVczdVVUZEZUVJc2JVSkJRVzFDTEVWQlFVVXNRMEZCUXl4TFFVRkxPMUZCUXpOQ0xHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNc1MwRkJTenRSUVVNelFpeHJRa0ZCYTBJc1JVRkJSU3hEUVVGRExFdEJRVXM3VVVGRE1VSXNZVUZCWVN4RlFVRkZMRU5CUVVNc1MwRkJTenRSUVVOeVFpeExRVUZMTEVWQlFVVXNRMEZCUXl4TFFVRkxPMUZCUTJJc1kwRkJZeXhGUVVGRkxFTkJRVU1zUzBGQlN6dFJRVU4wUWl4alFVRmpMRVZCUVVVc1EwRkJReXhMUVVGTE8xRkJRM1JDTEdGQlFXRXNSVUZCUlN4RFFVRkRMRXRCUVVzN1VVRkRja0lzVVVGQlVTeEZRVUZGTEVOQlFVTXNTMEZCU3p0TFFVTnFRanRKUVVORUxGRkJRVkVzUlVGQlJUdFJRVU5TTEcxQ1FVRnRRaXhGUVVGRkxFbEJRVWs3VVVGRGVrSXNXVUZCV1N4RlFVRkZMRWxCUVVrN1VVRkRiRUlzYVVKQlFXbENMRVZCUVVVc1NVRkJTVHRSUVVOMlFpeFpRVUZaTEVWQlFVVXNTVUZCU1R0UlFVTnNRaXhwUWtGQmFVSXNSVUZCUlN4SlFVRkpPMHRCUTNoQ08wTkJRMFlzUTBGQlF6dEJRVVZYTEZGQlFVRXNWMEZCVnl4SFFVRkhPMGxCUTNwQ0xGRkJRVkVzUlVGQlJUdFJRVU5TTEZGQlFWRXNSVUZCUlN4alFVRmpPMUZCUTNoQ0xFOUJRVThzUlVGQlJTeDFSMEZCZFVjN1MwRkRha2c3U1VGRFJDeFJRVUZSTEVWQlFVVTdVVUZEVWl4UlFVRlJMRVZCUVVVc1kwRkJZenRSUVVONFFpeFBRVUZQTEVWQlFVVXNPRU5CUVRoRE8wdEJRM2hFTzBsQlEwUXNVVUZCVVN4RlFVRkZPMUZCUTFJc1VVRkJVU3hGUVVGRkxHTkJRV003VVVGRGVFSXNUMEZCVHl4RlFVRkZMQ3REUVVFclF6dExRVU42UkR0SlFVTkVMRkZCUVZFc1JVRkJSVHRSUVVOU0xGRkJRVkVzUlVGQlJTeGpRVUZqTzFGQlEzaENMRTlCUVU4c1JVRkJSU3c0UWtGQk9FSTdTMEZEZUVNN1NVRkRSQ3hSUVVGUkxFVkJRVVU3VVVGRFVpeFJRVUZSTEVWQlFVVXNZMEZCWXp0UlFVTjRRaXhQUVVGUExFVkJRVVVzTUVKQlFUQkNPMHRCUTNCRE8wbEJRMFFzVVVGQlVTeEZRVUZGTzFGQlExSXNVVUZCVVN4RlFVRkZMRlZCUVZVN1VVRkRjRUlzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RanRMUVVNeFFqdEpRVU5FTEZGQlFWRXNSVUZCUlR0UlFVTlNMRkZCUVZFc1JVRkJSU3hWUVVGVk8xRkJRM0JDTEU5QlFVOHNSVUZCUlN4eFFrRkJjVUk3UzBGREwwSTdTVUZEUkN4UlFVRlJMRVZCUVVVN1VVRkRVaXhSUVVGUkxFVkJRVVVzVlVGQlZUdFJRVU53UWl4UFFVRlBMRVZCUVVVc2RVSkJRWFZDTzB0QlEycERPMGxCUTBRc1VVRkJVU3hGUVVGRk8xRkJRMUlzVVVGQlVTeEZRVUZGTEZWQlFWVTdVVUZEY0VJc1QwRkJUeXhGUVVGRkxIVkNRVUYxUWp0TFFVTnFRenRKUVVORUxGRkJRVkVzUlVGQlJUdFJRVU5TTEZGQlFWRXNSVUZCUlN4VlFVRlZPMUZCUTNCQ0xFOUJRVThzUlVGQlJTeDFRa0ZCZFVJN1MwRkRha003U1VGRFJDeFJRVUZSTEVWQlFVVTdVVUZEVWl4UlFVRlJMRVZCUVVVc1ZVRkJWVHRSUVVOd1FpeFBRVUZQTEVWQlFVVXNlVUpCUVhsQ08wdEJRMjVETzBsQlEwUXNUVUZCVFN4RlFVRkZPMUZCUTA0c1VVRkJVU3hGUVVGRkxGVkJRVlU3VVVGRGNFSXNUMEZCVHl4RlFVRkZMRFJDUVVFMFFqdExRVU4wUXp0SlFVTkVMRTFCUVUwc1JVRkJSVHRSUVVOT0xGRkJRVkVzUlVGQlJTeFZRVUZWTzFGQlEzQkNMRTlCUVU4c1JVRkJSU3d3UlVGQk1FVTdTMEZEY0VZN1NVRkRSQ3hOUVVGTkxFVkJRVVU3VVVGRFRpeFJRVUZSTEVWQlFVVXNWVUZCVlR0UlFVTndRaXhQUVVGUExFVkJRVVVzYTBWQlFXdEZPMHRCUXpWRk8wbEJRMFFzVFVGQlRTeEZRVUZGTzFGQlEwNHNVVUZCVVN4RlFVRkZMRlZCUVZVN1VVRkRjRUlzVDBGQlR5eEZRVUZGTEN0RFFVRXJRenRMUVVONlJEdEpRVU5FTEUxQlFVMHNSVUZCUlR0UlFVTk9MRkZCUVZFc1JVRkJSU3hWUVVGVk8xRkJRM0JDTEU5QlFVOHNSVUZCUlN4M1JFRkJkMFE3UzBGRGJFVTdRMEZEUml4RFFVRkRJbjA9Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/eth-rpc-errors/dist/error-constants.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-rpc-errors/dist/errors.js": -/*!****************************************************!*\ - !*** ./node_modules/eth-rpc-errors/dist/errors.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ethErrors = void 0;\nconst classes_1 = __webpack_require__(/*! ./classes */ \"./node_modules/eth-rpc-errors/dist/classes.js\");\nconst utils_1 = __webpack_require__(/*! ./utils */ \"./node_modules/eth-rpc-errors/dist/utils.js\");\nconst error_constants_1 = __webpack_require__(/*! ./error-constants */ \"./node_modules/eth-rpc-errors/dist/error-constants.js\");\nexports.ethErrors = {\n rpc: {\n /**\n * Get a JSON RPC 2.0 Parse (-32700) error.\n */\n parse: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.parse, arg),\n /**\n * Get a JSON RPC 2.0 Invalid Request (-32600) error.\n */\n invalidRequest: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidRequest, arg),\n /**\n * Get a JSON RPC 2.0 Invalid Params (-32602) error.\n */\n invalidParams: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidParams, arg),\n /**\n * Get a JSON RPC 2.0 Method Not Found (-32601) error.\n */\n methodNotFound: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.methodNotFound, arg),\n /**\n * Get a JSON RPC 2.0 Internal (-32603) error.\n */\n internal: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.internal, arg),\n /**\n * Get a JSON RPC 2.0 Server error.\n * Permits integer error codes in the [ -32099 <= -32005 ] range.\n * Codes -32000 through -32004 are reserved by EIP-1474.\n */\n server: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum RPC Server errors must provide single object argument.');\n }\n const { code } = opts;\n if (!Number.isInteger(code) || code > -32005 || code < -32099) {\n throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');\n }\n return getEthJsonRpcError(code, opts);\n },\n /**\n * Get an Ethereum JSON RPC Invalid Input (-32000) error.\n */\n invalidInput: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.invalidInput, arg),\n /**\n * Get an Ethereum JSON RPC Resource Not Found (-32001) error.\n */\n resourceNotFound: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.resourceNotFound, arg),\n /**\n * Get an Ethereum JSON RPC Resource Unavailable (-32002) error.\n */\n resourceUnavailable: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.resourceUnavailable, arg),\n /**\n * Get an Ethereum JSON RPC Transaction Rejected (-32003) error.\n */\n transactionRejected: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.transactionRejected, arg),\n /**\n * Get an Ethereum JSON RPC Method Not Supported (-32004) error.\n */\n methodNotSupported: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.methodNotSupported, arg),\n /**\n * Get an Ethereum JSON RPC Limit Exceeded (-32005) error.\n */\n limitExceeded: (arg) => getEthJsonRpcError(error_constants_1.errorCodes.rpc.limitExceeded, arg),\n },\n provider: {\n /**\n * Get an Ethereum Provider User Rejected Request (4001) error.\n */\n userRejectedRequest: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.userRejectedRequest, arg);\n },\n /**\n * Get an Ethereum Provider Unauthorized (4100) error.\n */\n unauthorized: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.unauthorized, arg);\n },\n /**\n * Get an Ethereum Provider Unsupported Method (4200) error.\n */\n unsupportedMethod: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.unsupportedMethod, arg);\n },\n /**\n * Get an Ethereum Provider Not Connected (4900) error.\n */\n disconnected: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.disconnected, arg);\n },\n /**\n * Get an Ethereum Provider Chain Not Connected (4901) error.\n */\n chainDisconnected: (arg) => {\n return getEthProviderError(error_constants_1.errorCodes.provider.chainDisconnected, arg);\n },\n /**\n * Get a custom Ethereum Provider error.\n */\n custom: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum Provider custom errors must provide single object argument.');\n }\n const { code, message, data } = opts;\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string');\n }\n return new classes_1.EthereumProviderError(code, message, data);\n },\n },\n};\n// Internal\nfunction getEthJsonRpcError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new classes_1.EthereumRpcError(code, message || utils_1.getMessageFromCode(code), data);\n}\nfunction getEthProviderError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new classes_1.EthereumProviderError(code, message || utils_1.getMessageFromCode(code), data);\n}\nfunction parseOpts(arg) {\n if (arg) {\n if (typeof arg === 'string') {\n return [arg];\n }\n else if (typeof arg === 'object' && !Array.isArray(arg)) {\n const { message, data } = arg;\n if (message && typeof message !== 'string') {\n throw new Error('Must specify string message.');\n }\n return [message || undefined, data];\n }\n }\n return [];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBb0U7QUFDcEUsbUNBQTZDO0FBQzdDLHVEQUErQztBQWVsQyxRQUFBLFNBQVMsR0FBRztJQUN2QixHQUFHLEVBQUU7UUFFSDs7V0FFRztRQUNILEtBQUssRUFBRSxDQUFJLEdBQW9CLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUNwRCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUMxQjtRQUVEOztXQUVHO1FBQ0gsY0FBYyxFQUFFLENBQUksR0FBb0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQzdELDRCQUFVLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQ25DO1FBRUQ7O1dBRUc7UUFDSCxhQUFhLEVBQUUsQ0FBSSxHQUFvQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDNUQsNEJBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FDbEM7UUFFRDs7V0FFRztRQUNILGNBQWMsRUFBRSxDQUFJLEdBQW9CLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUM3RCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUNuQztRQUVEOztXQUVHO1FBQ0gsUUFBUSxFQUFFLENBQUksR0FBb0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQ3ZELDRCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQzdCO1FBRUQ7Ozs7V0FJRztRQUNILE1BQU0sRUFBRSxDQUFJLElBQTJCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7YUFDcEY7WUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7Z0JBQzdELE1BQU0sSUFBSSxLQUFLLENBQ2IsK0RBQStELENBQ2hFLENBQUM7YUFDSDtZQUNELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRDs7V0FFRztRQUNILFlBQVksRUFBRSxDQUFJLEdBQW9CLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUMzRCw0QkFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUNqQztRQUVEOztXQUVHO1FBQ0gsZ0JBQWdCLEVBQUUsQ0FBSSxHQUFvQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDL0QsNEJBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUNyQztRQUVEOztXQUVHO1FBQ0gsbUJBQW1CLEVBQUUsQ0FBSSxHQUFvQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDbEUsNEJBQVUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUN4QztRQUVEOztXQUVHO1FBQ0gsbUJBQW1CLEVBQUUsQ0FBSSxHQUFvQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDbEUsNEJBQVUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUN4QztRQUVEOztXQUVHO1FBQ0gsa0JBQWtCLEVBQUUsQ0FBSSxHQUFvQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDakUsNEJBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUN2QztRQUVEOztXQUVHO1FBQ0gsYUFBYSxFQUFFLENBQUksR0FBb0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQzVELDRCQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQ2xDO0tBQ0Y7SUFFRCxRQUFRLEVBQUU7UUFFUjs7V0FFRztRQUNILG1CQUFtQixFQUFFLENBQUksR0FBb0IsRUFBRSxFQUFFO1lBQy9DLE9BQU8sbUJBQW1CLENBQ3hCLDRCQUFVLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FDN0MsQ0FBQztRQUNKLENBQUM7UUFFRDs7V0FFRztRQUNILFlBQVksRUFBRSxDQUFJLEdBQW9CLEVBQUUsRUFBRTtZQUN4QyxPQUFPLG1CQUFtQixDQUN4Qiw0QkFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUN0QyxDQUFDO1FBQ0osQ0FBQztRQUVEOztXQUVHO1FBQ0gsaUJBQWlCLEVBQUUsQ0FBSSxHQUFvQixFQUFFLEVBQUU7WUFDN0MsT0FBTyxtQkFBbUIsQ0FDeEIsNEJBQVUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUMzQyxDQUFDO1FBQ0osQ0FBQztRQUVEOztXQUVHO1FBQ0gsWUFBWSxFQUFFLENBQUksR0FBb0IsRUFBRSxFQUFFO1lBQ3hDLE9BQU8sbUJBQW1CLENBQ3hCLDRCQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQ3RDLENBQUM7UUFDSixDQUFDO1FBRUQ7O1dBRUc7UUFDSCxpQkFBaUIsRUFBRSxDQUFJLEdBQW9CLEVBQUUsRUFBRTtZQUM3QyxPQUFPLG1CQUFtQixDQUN4Qiw0QkFBVSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQzNDLENBQUM7UUFDSixDQUFDO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLEVBQUUsQ0FBSSxJQUEyQixFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO2FBQ3pGO1lBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO2dCQUMzQyxNQUFNLElBQUksS0FBSyxDQUNiLHFDQUFxQyxDQUN0QyxDQUFDO2FBQ0g7WUFDRCxPQUFPLElBQUksK0JBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RCxDQUFDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsV0FBVztBQUVYLFNBQVMsa0JBQWtCLENBQUksSUFBWSxFQUFFLEdBQW9CO0lBQy9ELE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sSUFBSSwwQkFBZ0IsQ0FDekIsSUFBSSxFQUNKLE9BQU8sSUFBSSwwQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFDbkMsSUFBSSxDQUNMLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBSSxJQUFZLEVBQUUsR0FBb0I7SUFDaEUsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsT0FBTyxJQUFJLCtCQUFxQixDQUM5QixJQUFJLEVBQ0osT0FBTyxJQUFJLDBCQUFrQixDQUFDLElBQUksQ0FBQyxFQUNuQyxJQUFJLENBQ0wsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBSSxHQUFvQjtJQUN4QyxJQUFJLEdBQUcsRUFBRTtRQUNQLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNkO2FBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pELE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBRTlCLElBQUksT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtnQkFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO2FBQ2pEO1lBQ0QsT0FBTyxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDckM7S0FDRjtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyJ9//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC9lcnJvcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCO0FBQ2pCLGtCQUFrQixtQkFBTyxDQUFDLGdFQUFXO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLDREQUFTO0FBQ2pDLDBCQUEwQixtQkFBTyxDQUFDLGdGQUFtQjtBQUNyRCxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLE9BQU87QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2V0aC1ycGMtZXJyb3JzL2Rpc3QvZXJyb3JzLmpzP2I4MGUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmV0aEVycm9ycyA9IHZvaWQgMDtcbmNvbnN0IGNsYXNzZXNfMSA9IHJlcXVpcmUoXCIuL2NsYXNzZXNcIik7XG5jb25zdCB1dGlsc18xID0gcmVxdWlyZShcIi4vdXRpbHNcIik7XG5jb25zdCBlcnJvcl9jb25zdGFudHNfMSA9IHJlcXVpcmUoXCIuL2Vycm9yLWNvbnN0YW50c1wiKTtcbmV4cG9ydHMuZXRoRXJyb3JzID0ge1xuICAgIHJwYzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogR2V0IGEgSlNPTiBSUEMgMi4wIFBhcnNlICgtMzI3MDApIGVycm9yLlxuICAgICAgICAgKi9cbiAgICAgICAgcGFyc2U6IChhcmcpID0+IGdldEV0aEpzb25ScGNFcnJvcihlcnJvcl9jb25zdGFudHNfMS5lcnJvckNvZGVzLnJwYy5wYXJzZSwgYXJnKSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldCBhIEpTT04gUlBDIDIuMCBJbnZhbGlkIFJlcXVlc3QgKC0zMjYwMCkgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBpbnZhbGlkUmVxdWVzdDogKGFyZykgPT4gZ2V0RXRoSnNvblJwY0Vycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucnBjLmludmFsaWRSZXF1ZXN0LCBhcmcpLFxuICAgICAgICAvKipcbiAgICAgICAgICogR2V0IGEgSlNPTiBSUEMgMi4wIEludmFsaWQgUGFyYW1zICgtMzI2MDIpIGVycm9yLlxuICAgICAgICAgKi9cbiAgICAgICAgaW52YWxpZFBhcmFtczogKGFyZykgPT4gZ2V0RXRoSnNvblJwY0Vycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucnBjLmludmFsaWRQYXJhbXMsIGFyZyksXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYSBKU09OIFJQQyAyLjAgTWV0aG9kIE5vdCBGb3VuZCAoLTMyNjAxKSBlcnJvci5cbiAgICAgICAgICovXG4gICAgICAgIG1ldGhvZE5vdEZvdW5kOiAoYXJnKSA9PiBnZXRFdGhKc29uUnBjRXJyb3IoZXJyb3JfY29uc3RhbnRzXzEuZXJyb3JDb2Rlcy5ycGMubWV0aG9kTm90Rm91bmQsIGFyZyksXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYSBKU09OIFJQQyAyLjAgSW50ZXJuYWwgKC0zMjYwMykgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBpbnRlcm5hbDogKGFyZykgPT4gZ2V0RXRoSnNvblJwY0Vycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucnBjLmludGVybmFsLCBhcmcpLFxuICAgICAgICAvKipcbiAgICAgICAgICogR2V0IGEgSlNPTiBSUEMgMi4wIFNlcnZlciBlcnJvci5cbiAgICAgICAgICogUGVybWl0cyBpbnRlZ2VyIGVycm9yIGNvZGVzIGluIHRoZSBbIC0zMjA5OSA8PSAtMzIwMDUgXSByYW5nZS5cbiAgICAgICAgICogQ29kZXMgLTMyMDAwIHRocm91Z2ggLTMyMDA0IGFyZSByZXNlcnZlZCBieSBFSVAtMTQ3NC5cbiAgICAgICAgICovXG4gICAgICAgIHNlcnZlcjogKG9wdHMpID0+IHtcbiAgICAgICAgICAgIGlmICghb3B0cyB8fCB0eXBlb2Ygb3B0cyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShvcHRzKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXRoZXJldW0gUlBDIFNlcnZlciBlcnJvcnMgbXVzdCBwcm92aWRlIHNpbmdsZSBvYmplY3QgYXJndW1lbnQuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IG9wdHM7XG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIoY29kZSkgfHwgY29kZSA+IC0zMjAwNSB8fCBjb2RlIDwgLTMyMDk5KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImNvZGVcIiBtdXN0IGJlIGFuIGludGVnZXIgc3VjaCB0aGF0OiAtMzIwOTkgPD0gY29kZSA8PSAtMzIwMDUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRFdGhKc29uUnBjRXJyb3IoY29kZSwgb3B0cyk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYW4gRXRoZXJldW0gSlNPTiBSUEMgSW52YWxpZCBJbnB1dCAoLTMyMDAwKSBlcnJvci5cbiAgICAgICAgICovXG4gICAgICAgIGludmFsaWRJbnB1dDogKGFyZykgPT4gZ2V0RXRoSnNvblJwY0Vycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucnBjLmludmFsaWRJbnB1dCwgYXJnKSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldCBhbiBFdGhlcmV1bSBKU09OIFJQQyBSZXNvdXJjZSBOb3QgRm91bmQgKC0zMjAwMSkgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICByZXNvdXJjZU5vdEZvdW5kOiAoYXJnKSA9PiBnZXRFdGhKc29uUnBjRXJyb3IoZXJyb3JfY29uc3RhbnRzXzEuZXJyb3JDb2Rlcy5ycGMucmVzb3VyY2VOb3RGb3VuZCwgYXJnKSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldCBhbiBFdGhlcmV1bSBKU09OIFJQQyBSZXNvdXJjZSBVbmF2YWlsYWJsZSAoLTMyMDAyKSBlcnJvci5cbiAgICAgICAgICovXG4gICAgICAgIHJlc291cmNlVW5hdmFpbGFibGU6IChhcmcpID0+IGdldEV0aEpzb25ScGNFcnJvcihlcnJvcl9jb25zdGFudHNfMS5lcnJvckNvZGVzLnJwYy5yZXNvdXJjZVVuYXZhaWxhYmxlLCBhcmcpLFxuICAgICAgICAvKipcbiAgICAgICAgICogR2V0IGFuIEV0aGVyZXVtIEpTT04gUlBDIFRyYW5zYWN0aW9uIFJlamVjdGVkICgtMzIwMDMpIGVycm9yLlxuICAgICAgICAgKi9cbiAgICAgICAgdHJhbnNhY3Rpb25SZWplY3RlZDogKGFyZykgPT4gZ2V0RXRoSnNvblJwY0Vycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucnBjLnRyYW5zYWN0aW9uUmVqZWN0ZWQsIGFyZyksXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYW4gRXRoZXJldW0gSlNPTiBSUEMgTWV0aG9kIE5vdCBTdXBwb3J0ZWQgKC0zMjAwNCkgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBtZXRob2ROb3RTdXBwb3J0ZWQ6IChhcmcpID0+IGdldEV0aEpzb25ScGNFcnJvcihlcnJvcl9jb25zdGFudHNfMS5lcnJvckNvZGVzLnJwYy5tZXRob2ROb3RTdXBwb3J0ZWQsIGFyZyksXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYW4gRXRoZXJldW0gSlNPTiBSUEMgTGltaXQgRXhjZWVkZWQgKC0zMjAwNSkgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBsaW1pdEV4Y2VlZGVkOiAoYXJnKSA9PiBnZXRFdGhKc29uUnBjRXJyb3IoZXJyb3JfY29uc3RhbnRzXzEuZXJyb3JDb2Rlcy5ycGMubGltaXRFeGNlZWRlZCwgYXJnKSxcbiAgICB9LFxuICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYW4gRXRoZXJldW0gUHJvdmlkZXIgVXNlciBSZWplY3RlZCBSZXF1ZXN0ICg0MDAxKSBlcnJvci5cbiAgICAgICAgICovXG4gICAgICAgIHVzZXJSZWplY3RlZFJlcXVlc3Q6IChhcmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRFdGhQcm92aWRlckVycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucHJvdmlkZXIudXNlclJlamVjdGVkUmVxdWVzdCwgYXJnKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldCBhbiBFdGhlcmV1bSBQcm92aWRlciBVbmF1dGhvcml6ZWQgKDQxMDApIGVycm9yLlxuICAgICAgICAgKi9cbiAgICAgICAgdW5hdXRob3JpemVkOiAoYXJnKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0RXRoUHJvdmlkZXJFcnJvcihlcnJvcl9jb25zdGFudHNfMS5lcnJvckNvZGVzLnByb3ZpZGVyLnVuYXV0aG9yaXplZCwgYXJnKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdldCBhbiBFdGhlcmV1bSBQcm92aWRlciBVbnN1cHBvcnRlZCBNZXRob2QgKDQyMDApIGVycm9yLlxuICAgICAgICAgKi9cbiAgICAgICAgdW5zdXBwb3J0ZWRNZXRob2Q6IChhcmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRFdGhQcm92aWRlckVycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucHJvdmlkZXIudW5zdXBwb3J0ZWRNZXRob2QsIGFyZyk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYW4gRXRoZXJldW0gUHJvdmlkZXIgTm90IENvbm5lY3RlZCAoNDkwMCkgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBkaXNjb25uZWN0ZWQ6IChhcmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRFdGhQcm92aWRlckVycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucHJvdmlkZXIuZGlzY29ubmVjdGVkLCBhcmcpO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogR2V0IGFuIEV0aGVyZXVtIFByb3ZpZGVyIENoYWluIE5vdCBDb25uZWN0ZWQgKDQ5MDEpIGVycm9yLlxuICAgICAgICAgKi9cbiAgICAgICAgY2hhaW5EaXNjb25uZWN0ZWQ6IChhcmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBnZXRFdGhQcm92aWRlckVycm9yKGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucHJvdmlkZXIuY2hhaW5EaXNjb25uZWN0ZWQsIGFyZyk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXQgYSBjdXN0b20gRXRoZXJldW0gUHJvdmlkZXIgZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBjdXN0b206IChvcHRzKSA9PiB7XG4gICAgICAgICAgICBpZiAoIW9wdHMgfHwgdHlwZW9mIG9wdHMgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkob3B0cykpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V0aGVyZXVtIFByb3ZpZGVyIGN1c3RvbSBlcnJvcnMgbXVzdCBwcm92aWRlIHNpbmdsZSBvYmplY3QgYXJndW1lbnQuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IGNvZGUsIG1lc3NhZ2UsIGRhdGEgfSA9IG9wdHM7XG4gICAgICAgICAgICBpZiAoIW1lc3NhZ2UgfHwgdHlwZW9mIG1lc3NhZ2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIm1lc3NhZ2VcIiBtdXN0IGJlIGEgbm9uZW1wdHkgc3RyaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IGNsYXNzZXNfMS5FdGhlcmV1bVByb3ZpZGVyRXJyb3IoY29kZSwgbWVzc2FnZSwgZGF0YSk7XG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4vLyBJbnRlcm5hbFxuZnVuY3Rpb24gZ2V0RXRoSnNvblJwY0Vycm9yKGNvZGUsIGFyZykge1xuICAgIGNvbnN0IFttZXNzYWdlLCBkYXRhXSA9IHBhcnNlT3B0cyhhcmcpO1xuICAgIHJldHVybiBuZXcgY2xhc3Nlc18xLkV0aGVyZXVtUnBjRXJyb3IoY29kZSwgbWVzc2FnZSB8fCB1dGlsc18xLmdldE1lc3NhZ2VGcm9tQ29kZShjb2RlKSwgZGF0YSk7XG59XG5mdW5jdGlvbiBnZXRFdGhQcm92aWRlckVycm9yKGNvZGUsIGFyZykge1xuICAgIGNvbnN0IFttZXNzYWdlLCBkYXRhXSA9IHBhcnNlT3B0cyhhcmcpO1xuICAgIHJldHVybiBuZXcgY2xhc3Nlc18xLkV0aGVyZXVtUHJvdmlkZXJFcnJvcihjb2RlLCBtZXNzYWdlIHx8IHV0aWxzXzEuZ2V0TWVzc2FnZUZyb21Db2RlKGNvZGUpLCBkYXRhKTtcbn1cbmZ1bmN0aW9uIHBhcnNlT3B0cyhhcmcpIHtcbiAgICBpZiAoYXJnKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIFthcmddO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgZGF0YSB9ID0gYXJnO1xuICAgICAgICAgICAgaWYgKG1lc3NhZ2UgJiYgdHlwZW9mIG1lc3NhZ2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHNwZWNpZnkgc3RyaW5nIG1lc3NhZ2UuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW21lc3NhZ2UgfHwgdW5kZWZpbmVkLCBkYXRhXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW107XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2laWEp5YjNKekxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dmMzSmpMMlZ5Y205eWN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3UVVGQlFTeDFRMEZCYjBVN1FVRkRjRVVzYlVOQlFUWkRPMEZCUXpkRExIVkVRVUVyUXp0QlFXVnNReXhSUVVGQkxGTkJRVk1zUjBGQlJ6dEpRVU4yUWl4SFFVRkhMRVZCUVVVN1VVRkZTRHM3VjBGRlJ6dFJRVU5JTEV0QlFVc3NSVUZCUlN4RFFVRkpMRWRCUVc5Q0xFVkJRVVVzUlVGQlJTeERRVUZETEd0Q1FVRnJRaXhEUVVOd1JDdzBRa0ZCVlN4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVVzUjBGQlJ5eERRVU14UWp0UlFVVkVPenRYUVVWSE8xRkJRMGdzWTBGQll5eEZRVUZGTEVOQlFVa3NSMEZCYjBJc1JVRkJSU3hGUVVGRkxFTkJRVU1zYTBKQlFXdENMRU5CUXpkRUxEUkNRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMR05CUVdNc1JVRkJSU3hIUVVGSExFTkJRMjVETzFGQlJVUTdPMWRCUlVjN1VVRkRTQ3hoUVVGaExFVkJRVVVzUTBGQlNTeEhRVUZ2UWl4RlFVRkZMRVZCUVVVc1EwRkJReXhyUWtGQmEwSXNRMEZETlVRc05FSkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNZVUZCWVN4RlFVRkZMRWRCUVVjc1EwRkRiRU03VVVGRlJEczdWMEZGUnp0UlFVTklMR05CUVdNc1JVRkJSU3hEUVVGSkxFZEJRVzlDTEVWQlFVVXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeERRVU0zUkN3MFFrRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eGpRVUZqTEVWQlFVVXNSMEZCUnl4RFFVTnVRenRSUVVWRU96dFhRVVZITzFGQlEwZ3NVVUZCVVN4RlFVRkZMRU5CUVVrc1IwRkJiMElzUlVGQlJTeEZRVUZGTEVOQlFVTXNhMEpCUVd0Q0xFTkJRM1pFTERSQ1FVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUlVGQlJTeEhRVUZITEVOQlF6ZENPMUZCUlVRN096czdWMEZKUnp0UlFVTklMRTFCUVUwc1JVRkJSU3hEUVVGSkxFbEJRVEpDTEVWQlFVVXNSVUZCUlR0WlFVTjZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEU5QlFVOHNTVUZCU1N4TFFVRkxMRkZCUVZFc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZPMmRDUVVNMVJDeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMR2xGUVVGcFJTeERRVUZETEVOQlFVTTdZVUZEY0VZN1dVRkRSQ3hOUVVGTkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRPMWxCUTNSQ0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUjBGQlJ5eERRVUZETEV0QlFVc3NTVUZCU1N4SlFVRkpMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVU3WjBKQlF6ZEVMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRMklzSzBSQlFTdEVMRU5CUTJoRkxFTkJRVU03WVVGRFNEdFpRVU5FTEU5QlFVOHNhMEpCUVd0Q0xFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNoRExFTkJRVU03VVVGRlJEczdWMEZGUnp0UlFVTklMRmxCUVZrc1JVRkJSU3hEUVVGSkxFZEJRVzlDTEVWQlFVVXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeERRVU16UkN3MFFrRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eFpRVUZaTEVWQlFVVXNSMEZCUnl4RFFVTnFRenRSUVVWRU96dFhRVVZITzFGQlEwZ3NaMEpCUVdkQ0xFVkJRVVVzUTBGQlNTeEhRVUZ2UWl4RlFVRkZMRVZCUVVVc1EwRkJReXhyUWtGQmEwSXNRMEZETDBRc05FSkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNaMEpCUVdkQ0xFVkJRVVVzUjBGQlJ5eERRVU55UXp0UlFVVkVPenRYUVVWSE8xRkJRMGdzYlVKQlFXMUNMRVZCUVVVc1EwRkJTU3hIUVVGdlFpeEZRVUZGTEVWQlFVVXNRMEZCUXl4clFrRkJhMElzUTBGRGJFVXNORUpCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zYlVKQlFXMUNMRVZCUVVVc1IwRkJSeXhEUVVONFF6dFJRVVZFT3p0WFFVVkhPMUZCUTBnc2JVSkJRVzFDTEVWQlFVVXNRMEZCU1N4SFFVRnZRaXhGUVVGRkxFVkJRVVVzUTBGQlF5eHJRa0ZCYTBJc1EwRkRiRVVzTkVKQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc2JVSkJRVzFDTEVWQlFVVXNSMEZCUnl4RFFVTjRRenRSUVVWRU96dFhRVVZITzFGQlEwZ3NhMEpCUVd0Q0xFVkJRVVVzUTBGQlNTeEhRVUZ2UWl4RlFVRkZMRVZCUVVVc1EwRkJReXhyUWtGQmEwSXNRMEZEYWtVc05FSkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUjBGQlJ5eERRVU4yUXp0UlFVVkVPenRYUVVWSE8xRkJRMGdzWVVGQllTeEZRVUZGTEVOQlFVa3NSMEZCYjBJc1JVRkJSU3hGUVVGRkxFTkJRVU1zYTBKQlFXdENMRU5CUXpWRUxEUkNRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMR0ZCUVdFc1JVRkJSU3hIUVVGSExFTkJRMnhETzB0QlEwWTdTVUZGUkN4UlFVRlJMRVZCUVVVN1VVRkZVanM3VjBGRlJ6dFJRVU5JTEcxQ1FVRnRRaXhGUVVGRkxFTkJRVWtzUjBGQmIwSXNSVUZCUlN4RlFVRkZPMWxCUXk5RExFOUJRVThzYlVKQlFXMUNMRU5CUTNoQ0xEUkNRVUZWTEVOQlFVTXNVVUZCVVN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEVkQlFVY3NRMEZETjBNc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJEczdWMEZGUnp0UlFVTklMRmxCUVZrc1JVRkJSU3hEUVVGSkxFZEJRVzlDTEVWQlFVVXNSVUZCUlR0WlFVTjRReXhQUVVGUExHMUNRVUZ0UWl4RFFVTjRRaXcwUWtGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4WlFVRlpMRVZCUVVVc1IwRkJSeXhEUVVOMFF5eERRVUZETzFGQlEwb3NRMEZCUXp0UlFVVkVPenRYUVVWSE8xRkJRMGdzYVVKQlFXbENMRVZCUVVVc1EwRkJTU3hIUVVGdlFpeEZRVUZGTEVWQlFVVTdXVUZETjBNc1QwRkJUeXh0UWtGQmJVSXNRMEZEZUVJc05FSkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVVzUjBGQlJ5eERRVU16UXl4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRU96dFhRVVZITzFGQlEwZ3NXVUZCV1N4RlFVRkZMRU5CUVVrc1IwRkJiMElzUlVGQlJTeEZRVUZGTzFsQlEzaERMRTlCUVU4c2JVSkJRVzFDTEVOQlEzaENMRFJDUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NSVUZCUlN4SFFVRkhMRU5CUTNSRExFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUTdPMWRCUlVjN1VVRkRTQ3hwUWtGQmFVSXNSVUZCUlN4RFFVRkpMRWRCUVc5Q0xFVkJRVVVzUlVGQlJUdFpRVU0zUXl4UFFVRlBMRzFDUVVGdFFpeERRVU40UWl3MFFrRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3hIUVVGSExFTkJRek5ETEVOQlFVTTdVVUZEU2l4RFFVRkRPMUZCUlVRN08xZEJSVWM3VVVGRFNDeE5RVUZOTEVWQlFVVXNRMEZCU1N4SlFVRXlRaXhGUVVGRkxFVkJRVVU3V1VGRGVrTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hQUVVGUExFbEJRVWtzUzBGQlN5eFJRVUZSTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdG5Ra0ZETlVRc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eHpSVUZCYzBVc1EwRkJReXhEUVVGRE8yRkJRM3BHTzFsQlEwUXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRPMWxCUTNKRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVsQlFVa3NUMEZCVHl4UFFVRlBMRXRCUVVzc1VVRkJVU3hGUVVGRk8yZENRVU16UXl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxIRkRRVUZ4UXl4RFFVTjBReXhEUVVGRE8yRkJRMGc3V1VGRFJDeFBRVUZQTEVsQlFVa3NLMEpCUVhGQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVONFJDeERRVUZETzB0QlEwWTdRMEZEUml4RFFVRkRPMEZCUlVZc1YwRkJWenRCUVVWWUxGTkJRVk1zYTBKQlFXdENMRU5CUVVrc1NVRkJXU3hGUVVGRkxFZEJRVzlDTzBsQlF5OUVMRTFCUVUwc1EwRkJReXhQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRM1pETEU5QlFVOHNTVUZCU1N3d1FrRkJaMElzUTBGRGVrSXNTVUZCU1N4RlFVTktMRTlCUVU4c1NVRkJTU3d3UWtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkRia01zU1VGQlNTeERRVU5NTEVOQlFVTTdRVUZEU2l4RFFVRkRPMEZCUlVRc1UwRkJVeXh0UWtGQmJVSXNRMEZCU1N4SlFVRlpMRVZCUVVVc1IwRkJiMEk3U1VGRGFFVXNUVUZCVFN4RFFVRkRMRTlCUVU4c1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRka01zVDBGQlR5eEpRVUZKTEN0Q1FVRnhRaXhEUVVNNVFpeEpRVUZKTEVWQlEwb3NUMEZCVHl4SlFVRkpMREJDUVVGclFpeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVTnVReXhKUVVGSkxFTkJRMHdzUTBGQlF6dEJRVU5LTEVOQlFVTTdRVUZGUkN4VFFVRlRMRk5CUVZNc1EwRkJTU3hIUVVGdlFqdEpRVU40UXl4SlFVRkpMRWRCUVVjc1JVRkJSVHRSUVVOUUxFbEJRVWtzVDBGQlR5eEhRVUZITEV0QlFVc3NVVUZCVVN4RlFVRkZPMWxCUXpOQ0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTmtPMkZCUVUwc1NVRkJTU3hQUVVGUExFZEJRVWNzUzBGQlN5eFJRVUZSTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTzFsQlEzcEVMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEVkQlFVY3NSMEZCUnl4RFFVRkRPMWxCUlRsQ0xFbEJRVWtzVDBGQlR5eEpRVUZKTEU5QlFVOHNUMEZCVHl4TFFVRkxMRkZCUVZFc1JVRkJSVHRuUWtGRE1VTXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRPMkZCUTJwRU8xbEJRMFFzVDBGQlR5eERRVUZETEU5QlFVOHNTVUZCU1N4VFFVRlRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VTBGRGNrTTdTMEZEUmp0SlFVTkVMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJRMW9zUTBGQlF5SjkiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/eth-rpc-errors/dist/errors.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-rpc-errors/dist/index.js": -/*!***************************************************!*\ - !*** ./node_modules/eth-rpc-errors/dist/index.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getMessageFromCode = exports.serializeError = exports.EthereumProviderError = exports.EthereumRpcError = exports.ethErrors = exports.errorCodes = void 0;\nconst classes_1 = __webpack_require__(/*! ./classes */ \"./node_modules/eth-rpc-errors/dist/classes.js\");\nObject.defineProperty(exports, \"EthereumRpcError\", ({ enumerable: true, get: function () { return classes_1.EthereumRpcError; } }));\nObject.defineProperty(exports, \"EthereumProviderError\", ({ enumerable: true, get: function () { return classes_1.EthereumProviderError; } }));\nconst utils_1 = __webpack_require__(/*! ./utils */ \"./node_modules/eth-rpc-errors/dist/utils.js\");\nObject.defineProperty(exports, \"serializeError\", ({ enumerable: true, get: function () { return utils_1.serializeError; } }));\nObject.defineProperty(exports, \"getMessageFromCode\", ({ enumerable: true, get: function () { return utils_1.getMessageFromCode; } }));\nconst errors_1 = __webpack_require__(/*! ./errors */ \"./node_modules/eth-rpc-errors/dist/errors.js\");\nObject.defineProperty(exports, \"ethErrors\", ({ enumerable: true, get: function () { return errors_1.ethErrors; } }));\nconst error_constants_1 = __webpack_require__(/*! ./error-constants */ \"./node_modules/eth-rpc-errors/dist/error-constants.js\");\nObject.defineProperty(exports, \"errorCodes\", ({ enumerable: true, get: function () { return error_constants_1.errorCodes; } }));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQW9FO0FBVWxFLGlHQVZPLDBCQUFnQixPQVVQO0FBQ2hCLHNHQVh5QiwrQkFBcUIsT0FXekI7QUFWdkIsbUNBRWlCO0FBU2YsK0ZBVkEsc0JBQWMsT0FVQTtBQUNkLG1HQVhnQiwwQkFBa0IsT0FXaEI7QUFUcEIscUNBQXFDO0FBS25DLDBGQUxPLGtCQUFTLE9BS1A7QUFKWCx1REFBK0M7QUFHN0MsMkZBSE8sNEJBQVUsT0FHUCJ9//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQkFBMEIsR0FBRyxzQkFBc0IsR0FBRyw2QkFBNkIsR0FBRyx3QkFBd0IsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0I7QUFDdkosa0JBQWtCLG1CQUFPLENBQUMsZ0VBQVc7QUFDckMsb0RBQW1ELEVBQUUscUNBQXFDLHNDQUFzQyxFQUFDO0FBQ2pJLHlEQUF3RCxFQUFFLHFDQUFxQywyQ0FBMkMsRUFBQztBQUMzSSxnQkFBZ0IsbUJBQU8sQ0FBQyw0REFBUztBQUNqQyxrREFBaUQsRUFBRSxxQ0FBcUMsa0NBQWtDLEVBQUM7QUFDM0gsc0RBQXFELEVBQUUscUNBQXFDLHNDQUFzQyxFQUFDO0FBQ25JLGlCQUFpQixtQkFBTyxDQUFDLDhEQUFVO0FBQ25DLDZDQUE0QyxFQUFFLHFDQUFxQyw4QkFBOEIsRUFBQztBQUNsSCwwQkFBMEIsbUJBQU8sQ0FBQyxnRkFBbUI7QUFDckQsOENBQTZDLEVBQUUscUNBQXFDLHdDQUF3QyxFQUFDO0FBQzdILDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC9pbmRleC5qcz8zNGVlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRNZXNzYWdlRnJvbUNvZGUgPSBleHBvcnRzLnNlcmlhbGl6ZUVycm9yID0gZXhwb3J0cy5FdGhlcmV1bVByb3ZpZGVyRXJyb3IgPSBleHBvcnRzLkV0aGVyZXVtUnBjRXJyb3IgPSBleHBvcnRzLmV0aEVycm9ycyA9IGV4cG9ydHMuZXJyb3JDb2RlcyA9IHZvaWQgMDtcbmNvbnN0IGNsYXNzZXNfMSA9IHJlcXVpcmUoXCIuL2NsYXNzZXNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJFdGhlcmV1bVJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjbGFzc2VzXzEuRXRoZXJldW1ScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkV0aGVyZXVtUHJvdmlkZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2xhc3Nlc18xLkV0aGVyZXVtUHJvdmlkZXJFcnJvcjsgfSB9KTtcbmNvbnN0IHV0aWxzXzEgPSByZXF1aXJlKFwiLi91dGlsc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNlcmlhbGl6ZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB1dGlsc18xLnNlcmlhbGl6ZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0TWVzc2FnZUZyb21Db2RlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB1dGlsc18xLmdldE1lc3NhZ2VGcm9tQ29kZTsgfSB9KTtcbmNvbnN0IGVycm9yc18xID0gcmVxdWlyZShcIi4vZXJyb3JzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZXRoRXJyb3JzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlcnJvcnNfMS5ldGhFcnJvcnM7IH0gfSk7XG5jb25zdCBlcnJvcl9jb25zdGFudHNfMSA9IHJlcXVpcmUoXCIuL2Vycm9yLWNvbnN0YW50c1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVycm9yQ29kZXNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXM7IH0gfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk5emNtTXZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPMEZCUVVFc2RVTkJRVzlGTzBGQlZXeEZMR2xIUVZaUExEQkNRVUZuUWl4UFFWVlFPMEZCUTJoQ0xITkhRVmg1UWl3clFrRkJjVUlzVDBGWGVrSTdRVUZXZGtJc2JVTkJSV2xDTzBGQlUyWXNLMFpCVmtFc2MwSkJRV01zVDBGVlFUdEJRVU5rTEcxSFFWaG5RaXd3UWtGQmEwSXNUMEZYYUVJN1FVRlVjRUlzY1VOQlFYRkRPMEZCUzI1RExEQkdRVXhQTEd0Q1FVRlRMRTlCUzFBN1FVRktXQ3gxUkVGQkswTTdRVUZITjBNc01rWkJTRThzTkVKQlFWVXNUMEZIVUNKOSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/eth-rpc-errors/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/eth-rpc-errors/dist/utils.js": -/*!***************************************************!*\ - !*** ./node_modules/eth-rpc-errors/dist/utils.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.serializeError = exports.isValidCode = exports.getMessageFromCode = exports.JSON_RPC_SERVER_ERROR_MESSAGE = void 0;\nconst error_constants_1 = __webpack_require__(/*! ./error-constants */ \"./node_modules/eth-rpc-errors/dist/error-constants.js\");\nconst classes_1 = __webpack_require__(/*! ./classes */ \"./node_modules/eth-rpc-errors/dist/classes.js\");\nconst FALLBACK_ERROR_CODE = error_constants_1.errorCodes.rpc.internal;\nconst FALLBACK_MESSAGE = 'Unspecified error message. This is a bug, please report it.';\nconst FALLBACK_ERROR = {\n code: FALLBACK_ERROR_CODE,\n message: getMessageFromCode(FALLBACK_ERROR_CODE),\n};\nexports.JSON_RPC_SERVER_ERROR_MESSAGE = 'Unspecified server error.';\n/**\n * Gets the message for a given code, or a fallback message if the code has\n * no corresponding message.\n */\nfunction getMessageFromCode(code, fallbackMessage = FALLBACK_MESSAGE) {\n if (Number.isInteger(code)) {\n const codeString = code.toString();\n if (hasKey(error_constants_1.errorValues, codeString)) {\n return error_constants_1.errorValues[codeString].message;\n }\n if (isJsonRpcServerError(code)) {\n return exports.JSON_RPC_SERVER_ERROR_MESSAGE;\n }\n }\n return fallbackMessage;\n}\nexports.getMessageFromCode = getMessageFromCode;\n/**\n * Returns whether the given code is valid.\n * A code is only valid if it has a message.\n */\nfunction isValidCode(code) {\n if (!Number.isInteger(code)) {\n return false;\n }\n const codeString = code.toString();\n if (error_constants_1.errorValues[codeString]) {\n return true;\n }\n if (isJsonRpcServerError(code)) {\n return true;\n }\n return false;\n}\nexports.isValidCode = isValidCode;\n/**\n * Serializes the given error to an Ethereum JSON RPC-compatible error object.\n * Merely copies the given error's values if it is already compatible.\n * If the given error is not fully compatible, it will be preserved on the\n * returned object's data.originalError property.\n */\nfunction serializeError(error, { fallbackError = FALLBACK_ERROR, shouldIncludeStack = false, } = {}) {\n var _a, _b;\n if (!fallbackError ||\n !Number.isInteger(fallbackError.code) ||\n typeof fallbackError.message !== 'string') {\n throw new Error('Must provide fallback error with integer number code and string message.');\n }\n if (error instanceof classes_1.EthereumRpcError) {\n return error.serialize();\n }\n const serialized = {};\n if (error &&\n typeof error === 'object' &&\n !Array.isArray(error) &&\n hasKey(error, 'code') &&\n isValidCode(error.code)) {\n const _error = error;\n serialized.code = _error.code;\n if (_error.message && typeof _error.message === 'string') {\n serialized.message = _error.message;\n if (hasKey(_error, 'data')) {\n serialized.data = _error.data;\n }\n }\n else {\n serialized.message = getMessageFromCode(serialized.code);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n }\n else {\n serialized.code = fallbackError.code;\n const message = (_a = error) === null || _a === void 0 ? void 0 : _a.message;\n serialized.message = (message && typeof message === 'string'\n ? message\n : fallbackError.message);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n const stack = (_b = error) === null || _b === void 0 ? void 0 : _b.stack;\n if (shouldIncludeStack && error && stack && typeof stack === 'string') {\n serialized.stack = stack;\n }\n return serialized;\n}\nexports.serializeError = serializeError;\n// Internal\nfunction isJsonRpcServerError(code) {\n return code >= -32099 && code <= -32000;\n}\nfunction assignOriginalError(error) {\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return Object.assign({}, error);\n }\n return error;\n}\nfunction hasKey(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQTREO0FBQzVELHVDQUF5RTtBQUV6RSxNQUFNLG1CQUFtQixHQUFHLDRCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNwRCxNQUFNLGdCQUFnQixHQUFHLDZEQUE2RCxDQUFDO0FBQ3ZGLE1BQU0sY0FBYyxHQUErQjtJQUNqRCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztDQUNqRCxDQUFDO0FBRVcsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQztBQUl6RTs7O0dBR0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsSUFBWSxFQUNaLGtCQUEwQixnQkFBZ0I7SUFFMUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVuQyxJQUFJLE1BQU0sQ0FBQyw2QkFBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sNkJBQVcsQ0FBQyxVQUEyQixDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPLHFDQUE2QixDQUFDO1NBQ3RDO0tBQ0Y7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBZkQsZ0RBZUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBWTtJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLElBQUksNkJBQVcsQ0FBQyxVQUEy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# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXRoLXJwYy1lcnJvcnMvZGlzdC91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0IsR0FBRyxtQkFBbUIsR0FBRywwQkFBMEIsR0FBRyxxQ0FBcUM7QUFDakgsMEJBQTBCLG1CQUFPLENBQUMsZ0ZBQW1CO0FBQ3JELGtCQUFrQixtQkFBTyxDQUFDLGdFQUFXO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw4REFBOEQsSUFBSTtBQUNuRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2V0aC1ycGMtZXJyb3JzL2Rpc3QvdXRpbHMuanM/ZjQxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2VyaWFsaXplRXJyb3IgPSBleHBvcnRzLmlzVmFsaWRDb2RlID0gZXhwb3J0cy5nZXRNZXNzYWdlRnJvbUNvZGUgPSBleHBvcnRzLkpTT05fUlBDX1NFUlZFUl9FUlJPUl9NRVNTQUdFID0gdm9pZCAwO1xuY29uc3QgZXJyb3JfY29uc3RhbnRzXzEgPSByZXF1aXJlKFwiLi9lcnJvci1jb25zdGFudHNcIik7XG5jb25zdCBjbGFzc2VzXzEgPSByZXF1aXJlKFwiLi9jbGFzc2VzXCIpO1xuY29uc3QgRkFMTEJBQ0tfRVJST1JfQ09ERSA9IGVycm9yX2NvbnN0YW50c18xLmVycm9yQ29kZXMucnBjLmludGVybmFsO1xuY29uc3QgRkFMTEJBQ0tfTUVTU0FHRSA9ICdVbnNwZWNpZmllZCBlcnJvciBtZXNzYWdlLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0Lic7XG5jb25zdCBGQUxMQkFDS19FUlJPUiA9IHtcbiAgICBjb2RlOiBGQUxMQkFDS19FUlJPUl9DT0RFLFxuICAgIG1lc3NhZ2U6IGdldE1lc3NhZ2VGcm9tQ29kZShGQUxMQkFDS19FUlJPUl9DT0RFKSxcbn07XG5leHBvcnRzLkpTT05fUlBDX1NFUlZFUl9FUlJPUl9NRVNTQUdFID0gJ1Vuc3BlY2lmaWVkIHNlcnZlciBlcnJvci4nO1xuLyoqXG4gKiBHZXRzIHRoZSBtZXNzYWdlIGZvciBhIGdpdmVuIGNvZGUsIG9yIGEgZmFsbGJhY2sgbWVzc2FnZSBpZiB0aGUgY29kZSBoYXNcbiAqIG5vIGNvcnJlc3BvbmRpbmcgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gZ2V0TWVzc2FnZUZyb21Db2RlKGNvZGUsIGZhbGxiYWNrTWVzc2FnZSA9IEZBTExCQUNLX01FU1NBR0UpIHtcbiAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihjb2RlKSkge1xuICAgICAgICBjb25zdCBjb2RlU3RyaW5nID0gY29kZS50b1N0cmluZygpO1xuICAgICAgICBpZiAoaGFzS2V5KGVycm9yX2NvbnN0YW50c18xLmVycm9yVmFsdWVzLCBjb2RlU3RyaW5nKSkge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yX2NvbnN0YW50c18xLmVycm9yVmFsdWVzW2NvZGVTdHJpbmddLm1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSnNvblJwY1NlcnZlckVycm9yKGNvZGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwb3J0cy5KU09OX1JQQ19TRVJWRVJfRVJST1JfTUVTU0FHRTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsbGJhY2tNZXNzYWdlO1xufVxuZXhwb3J0cy5nZXRNZXNzYWdlRnJvbUNvZGUgPSBnZXRNZXNzYWdlRnJvbUNvZGU7XG4vKipcbiAqIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gY29kZSBpcyB2YWxpZC5cbiAqIEEgY29kZSBpcyBvbmx5IHZhbGlkIGlmIGl0IGhhcyBhIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRDb2RlKGNvZGUpIHtcbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIoY29kZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBjb2RlU3RyaW5nID0gY29kZS50b1N0cmluZygpO1xuICAgIGlmIChlcnJvcl9jb25zdGFudHNfMS5lcnJvclZhbHVlc1tjb2RlU3RyaW5nXSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzSnNvblJwY1NlcnZlckVycm9yKGNvZGUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5leHBvcnRzLmlzVmFsaWRDb2RlID0gaXNWYWxpZENvZGU7XG4vKipcbiAqIFNlcmlhbGl6ZXMgdGhlIGdpdmVuIGVycm9yIHRvIGFuIEV0aGVyZXVtIEpTT04gUlBDLWNvbXBhdGlibGUgZXJyb3Igb2JqZWN0LlxuICogTWVyZWx5IGNvcGllcyB0aGUgZ2l2ZW4gZXJyb3IncyB2YWx1ZXMgaWYgaXQgaXMgYWxyZWFkeSBjb21wYXRpYmxlLlxuICogSWYgdGhlIGdpdmVuIGVycm9yIGlzIG5vdCBmdWxseSBjb21wYXRpYmxlLCBpdCB3aWxsIGJlIHByZXNlcnZlZCBvbiB0aGVcbiAqIHJldHVybmVkIG9iamVjdCdzIGRhdGEub3JpZ2luYWxFcnJvciBwcm9wZXJ0eS5cbiAqL1xuZnVuY3Rpb24gc2VyaWFsaXplRXJyb3IoZXJyb3IsIHsgZmFsbGJhY2tFcnJvciA9IEZBTExCQUNLX0VSUk9SLCBzaG91bGRJbmNsdWRlU3RhY2sgPSBmYWxzZSwgfSA9IHt9KSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBpZiAoIWZhbGxiYWNrRXJyb3IgfHxcbiAgICAgICAgIU51bWJlci5pc0ludGVnZXIoZmFsbGJhY2tFcnJvci5jb2RlKSB8fFxuICAgICAgICB0eXBlb2YgZmFsbGJhY2tFcnJvci5tZXNzYWdlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgcHJvdmlkZSBmYWxsYmFjayBlcnJvciB3aXRoIGludGVnZXIgbnVtYmVyIGNvZGUgYW5kIHN0cmluZyBtZXNzYWdlLicpO1xuICAgIH1cbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBjbGFzc2VzXzEuRXRoZXJldW1ScGNFcnJvcikge1xuICAgICAgICByZXR1cm4gZXJyb3Iuc2VyaWFsaXplKCk7XG4gICAgfVxuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB7fTtcbiAgICBpZiAoZXJyb3IgJiZcbiAgICAgICAgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheShlcnJvcikgJiZcbiAgICAgICAgaGFzS2V5KGVycm9yLCAnY29kZScpICYmXG4gICAgICAgIGlzVmFsaWRDb2RlKGVycm9yLmNvZGUpKSB7XG4gICAgICAgIGNvbnN0IF9lcnJvciA9IGVycm9yO1xuICAgICAgICBzZXJpYWxpemVkLmNvZGUgPSBfZXJyb3IuY29kZTtcbiAgICAgICAgaWYgKF9lcnJvci5tZXNzYWdlICYmIHR5cGVvZiBfZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHNlcmlhbGl6ZWQubWVzc2FnZSA9IF9lcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgaWYgKGhhc0tleShfZXJyb3IsICdkYXRhJykpIHtcbiAgICAgICAgICAgICAgICBzZXJpYWxpemVkLmRhdGEgPSBfZXJyb3IuZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNlcmlhbGl6ZWQubWVzc2FnZSA9IGdldE1lc3NhZ2VGcm9tQ29kZShzZXJpYWxpemVkLmNvZGUpO1xuICAgICAgICAgICAgc2VyaWFsaXplZC5kYXRhID0geyBvcmlnaW5hbEVycm9yOiBhc3NpZ25PcmlnaW5hbEVycm9yKGVycm9yKSB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzZXJpYWxpemVkLmNvZGUgPSBmYWxsYmFja0Vycm9yLmNvZGU7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoX2EgPSBlcnJvcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm1lc3NhZ2U7XG4gICAgICAgIHNlcmlhbGl6ZWQubWVzc2FnZSA9IChtZXNzYWdlICYmIHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBtZXNzYWdlXG4gICAgICAgICAgICA6IGZhbGxiYWNrRXJyb3IubWVzc2FnZSk7XG4gICAgICAgIHNlcmlhbGl6ZWQuZGF0YSA9IHsgb3JpZ2luYWxFcnJvcjogYXNzaWduT3JpZ2luYWxFcnJvcihlcnJvcikgfTtcbiAgICB9XG4gICAgY29uc3Qgc3RhY2sgPSAoX2IgPSBlcnJvcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnN0YWNrO1xuICAgIGlmIChzaG91bGRJbmNsdWRlU3RhY2sgJiYgZXJyb3IgJiYgc3RhY2sgJiYgdHlwZW9mIHN0YWNrID09PSAnc3RyaW5nJykge1xuICAgICAgICBzZXJpYWxpemVkLnN0YWNrID0gc3RhY2s7XG4gICAgfVxuICAgIHJldHVybiBzZXJpYWxpemVkO1xufVxuZXhwb3J0cy5zZXJpYWxpemVFcnJvciA9IHNlcmlhbGl6ZUVycm9yO1xuLy8gSW50ZXJuYWxcbmZ1bmN0aW9uIGlzSnNvblJwY1NlcnZlckVycm9yKGNvZGUpIHtcbiAgICByZXR1cm4gY29kZSA+PSAtMzIwOTkgJiYgY29kZSA8PSAtMzIwMDA7XG59XG5mdW5jdGlvbiBhc3NpZ25PcmlnaW5hbEVycm9yKGVycm9yKSB7XG4gICAgaWYgKGVycm9yICYmIHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoZXJyb3IpKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcjtcbn1cbmZ1bmN0aW9uIGhhc0tleShvYmosIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhScGJITXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOXpjbU12ZFhScGJITXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3TzBGQlFVRXNkVVJCUVRSRU8wRkJRelZFTEhWRFFVRjVSVHRCUVVWNlJTeE5RVUZOTEcxQ1FVRnRRaXhIUVVGSExEUkNRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJRenRCUVVOd1JDeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExEWkVRVUUyUkN4RFFVRkRPMEZCUTNaR0xFMUJRVTBzWTBGQll5eEhRVUVyUWp0SlFVTnFSQ3hKUVVGSkxFVkJRVVVzYlVKQlFXMUNPMGxCUTNwQ0xFOUJRVThzUlVGQlJTeHJRa0ZCYTBJc1EwRkJReXh0UWtGQmJVSXNRMEZCUXp0RFFVTnFSQ3hEUVVGRE8wRkJSVmNzVVVGQlFTdzJRa0ZCTmtJc1IwRkJSeXd5UWtGQk1rSXNRMEZCUXp0QlFVbDZSVHM3TzBkQlIwYzdRVUZEU0N4VFFVRm5RaXhyUWtGQmEwSXNRMEZEYUVNc1NVRkJXU3hGUVVOYUxHdENRVUV3UWl4blFrRkJaMEk3U1VGRk1VTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTzFGQlF6RkNMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXp0UlFVVnVReXhKUVVGSkxFMUJRVTBzUTBGQlF5dzJRa0ZCVnl4RlFVRkZMRlZCUVZVc1EwRkJReXhGUVVGRk8xbEJRMjVETEU5QlFVOHNOa0pCUVZjc1EwRkJReXhWUVVFeVFpeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRPMU5CUTNwRU8xRkJRMFFzU1VGQlNTeHZRa0ZCYjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdFpRVU01UWl4UFFVRlBMSEZEUVVFMlFpeERRVUZETzFOQlEzUkRPMHRCUTBZN1NVRkRSQ3hQUVVGUExHVkJRV1VzUTBGQlF6dEJRVU42UWl4RFFVRkRPMEZCWmtRc1owUkJaVU03UVVGRlJEczdPMGRCUjBjN1FVRkRTQ3hUUVVGblFpeFhRVUZYTEVOQlFVTXNTVUZCV1R0SlFVTjBReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSVHRSUVVNelFpeFBRVUZQTEV0QlFVc3NRMEZCUXp0TFFVTmtPMGxCUlVRc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRPMGxCUTI1RExFbEJRVWtzTmtKQlFWY3NRMEZCUXl4VlFVRXlRaXhEUVVGRExFVkJRVVU3VVVGRE5VTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRKUVVWRUxFbEJRVWtzYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVU3VVVGRE9VSXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRKUVVORUxFOUJRVThzUzBGQlN5eERRVUZETzBGQlEyWXNRMEZCUXp0QlFXUkVMR3REUVdORE8wRkJSVVE3T3pzN08wZEJTMGM3UVVGRFNDeFRRVUZuUWl4alFVRmpMRU5CUXpWQ0xFdEJRV01zUlVGRFpDeEZRVU5GTEdGQlFXRXNSMEZCUnl4alFVRmpMRVZCUXpsQ0xHdENRVUZyUWl4SFFVRkhMRXRCUVVzc1IwRkRNMElzUjBGQlJ5eEZRVUZGT3p0SlFVZE9MRWxCUTBVc1EwRkJReXhoUVVGaE8xRkJRMlFzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGNrTXNUMEZCVHl4aFFVRmhMRU5CUVVNc1QwRkJUeXhMUVVGTExGRkJRVkVzUlVGRGVrTTdVVUZEUVN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxEQkZRVUV3UlN4RFFVTXpSU3hEUVVGRE8wdEJRMGc3U1VGRlJDeEpRVUZKTEV0QlFVc3NXVUZCV1N3d1FrRkJaMElzUlVGQlJUdFJRVU55UXl4UFFVRlBMRXRCUVVzc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dExRVU14UWp0SlFVVkVMRTFCUVUwc1ZVRkJWU3hIUVVGM1F5eEZRVUZGTEVOQlFVTTdTVUZGTTBRc1NVRkRSU3hMUVVGTE8xRkJRMHdzVDBGQlR5eExRVUZMTEV0QlFVc3NVVUZCVVR0UlFVTjZRaXhEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRPMUZCUTNKQ0xFMUJRVTBzUTBGQlF5eExRVUZuUXl4RlFVRkZMRTFCUVUwc1EwRkJRenRSUVVOb1JDeFhRVUZYTEVOQlFVVXNTMEZCYjBNc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGRGRrUTdVVUZEUVN4TlFVRk5MRTFCUVUwc1IwRkJSeXhMUVVFMFF5eERRVUZETzFGQlF6VkVMRlZCUVZVc1EwRkJReXhKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXp0UlFVVTVRaXhKUVVGSkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVsQlFVa3NUMEZCVHl4TlFVRk5MRU5CUVVNc1QwRkJUeXhMUVVGTExGRkJRVkVzUlVGQlJUdFpRVU40UkN4VlFVRlZMRU5CUVVNc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTTdXVUZGY0VNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXl4RlFVRkZPMmRDUVVNeFFpeFZRVUZWTEVOQlFVTXNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU03WVVGREwwSTdVMEZEUmp0aFFVRk5PMWxCUTB3c1ZVRkJWU3hEUVVGRExFOUJRVThzUjBGQlJ5eHJRa0ZCYTBJc1EwRkRjRU1zVlVGQmVVTXNRMEZCUXl4SlFVRkpMRU5CUTJoRUxFTkJRVU03V1VGRlJpeFZRVUZWTEVOQlFVTXNTVUZCU1N4SFFVRkhMRVZCUVVVc1lVRkJZU3hGUVVGRkxHMUNRVUZ0UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03VTBGRGFrVTdTMEZEUmp0VFFVRk5PMUZCUTB3c1ZVRkJWU3hEUVVGRExFbEJRVWtzUjBGQlJ5eGhRVUZoTEVOQlFVTXNTVUZCU1N4RFFVRkRPMUZCUlhKRExFMUJRVTBzVDBGQlR5eFRRVUZKTEV0QlFXRXNNRU5CUVVVc1QwRkJUeXhEUVVGRE8xRkJSWGhETEZWQlFWVXNRMEZCUXl4UFFVRlBMRWRCUVVjc1EwRkRia0lzVDBGQlR5eEpRVUZKTEU5QlFVOHNUMEZCVHl4TFFVRkxMRkZCUVZFN1dVRkRjRU1zUTBGQlF5eERRVUZETEU5QlFVODdXVUZEVkN4RFFVRkRMRU5CUVVNc1lVRkJZU3hEUVVGRExFOUJRVThzUTBGRE1VSXNRMEZCUXp0UlFVTkdMRlZCUVZVc1EwRkJReXhKUVVGSkxFZEJRVWNzUlVGQlJTeGhRVUZoTEVWQlFVVXNiVUpCUVcxQ0xFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXp0TFFVTnFSVHRKUVVWRUxFMUJRVTBzUzBGQlN5eFRRVUZKTEV0QlFXRXNNRU5CUVVVc1MwRkJTeXhEUVVGRE8wbEJSWEJETEVsQlFVa3NhMEpCUVd0Q0xFbEJRVWtzUzBGQlN5eEpRVUZKTEV0QlFVc3NTVUZCU1N4UFFVRlBMRXRCUVVzc1MwRkJTeXhSUVVGUkxFVkJRVVU3VVVGRGNrVXNWVUZCVlN4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRE1VSTdTVUZEUkN4UFFVRlBMRlZCUVhkRExFTkJRVU03UVVGRGJFUXNRMEZCUXp0QlFXeEZSQ3gzUTBGclJVTTdRVUZGUkN4WFFVRlhPMEZCUlZnc1UwRkJVeXh2UWtGQmIwSXNRMEZCUXl4SlFVRlpPMGxCUTNoRExFOUJRVThzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4SlFVRkpMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF6dEJRVU14UXl4RFFVRkRPMEZCUlVRc1UwRkJVeXh0UWtGQmJVSXNRMEZCUXl4TFFVRmpPMGxCUTNwRExFbEJRVWtzUzBGQlN5eEpRVUZKTEU5QlFVOHNTMEZCU3l4TFFVRkxMRkZCUVZFc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVN1VVRkRMMFFzVDBGQlR5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dExRVU5xUXp0SlFVTkVMRTlCUVU4c1MwRkJTeXhEUVVGRE8wRkJRMllzUTBGQlF6dEJRVVZFTEZOQlFWTXNUVUZCVFN4RFFVRkRMRWRCUVRSQ0xFVkJRVVVzUjBGQlZ6dEpRVU4yUkN4UFFVRlBMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRGVFUXNRMEZCUXlKOSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/eth-rpc-errors/dist/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/fast-safe-stringify/index.js": -/*!***************************************************!*\ - !*** ./node_modules/fast-safe-stringify/index.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar LIMIT_REPLACE_NODE = '[...]'\nvar CIRCULAR_REPLACE_NODE = '[Circular]'\n\nvar arr = []\nvar replacerStack = []\n\nfunction defaultOptions () {\n return {\n depthLimit: Number.MAX_SAFE_INTEGER,\n edgesLimit: Number.MAX_SAFE_INTEGER\n }\n}\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n decirc(obj, '', 0, [], undefined, 0, options)\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction setReplace (replace, val, k, parent) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: replace })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k, replace])\n }\n } else {\n parent[k] = replace\n arr.push([parent, k, val])\n }\n}\n\nfunction decirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, i, stack, val, depth, options)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n // Ensure that we restore the object as it was.\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n try {\n if (typeof val.toJSON === 'function') {\n return\n }\n } catch (_) {\n return\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, i, stack, val, depth, options)\n tmp[key] = val[key]\n }\n if (typeof parent !== 'undefined') {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as replaced value\nfunction replaceGetterValues (replacer) {\n replacer =\n typeof replacer !== 'undefined'\n ? replacer\n : function (k, v) {\n return v\n }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = part[2]\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmFzdC1zYWZlLXN0cmluZ2lmeS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxnQkFBZ0I7QUFDekQ7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixrQkFBa0I7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixrQkFBa0I7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsMEJBQTBCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Zhc3Qtc2FmZS1zdHJpbmdpZnkvaW5kZXguanM/MzcyZSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHN0cmluZ2lmeVxuc3RyaW5naWZ5LmRlZmF1bHQgPSBzdHJpbmdpZnlcbnN0cmluZ2lmeS5zdGFibGUgPSBkZXRlcm1pbmlzdGljU3RyaW5naWZ5XG5zdHJpbmdpZnkuc3RhYmxlU3RyaW5naWZ5ID0gZGV0ZXJtaW5pc3RpY1N0cmluZ2lmeVxuXG52YXIgTElNSVRfUkVQTEFDRV9OT0RFID0gJ1suLi5dJ1xudmFyIENJUkNVTEFSX1JFUExBQ0VfTk9ERSA9ICdbQ2lyY3VsYXJdJ1xuXG52YXIgYXJyID0gW11cbnZhciByZXBsYWNlclN0YWNrID0gW11cblxuZnVuY3Rpb24gZGVmYXVsdE9wdGlvbnMgKCkge1xuICByZXR1cm4ge1xuICAgIGRlcHRoTGltaXQ6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgIGVkZ2VzTGltaXQ6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIH1cbn1cblxuLy8gUmVndWxhciBzdHJpbmdpZnlcbmZ1bmN0aW9uIHN0cmluZ2lmeSAob2JqLCByZXBsYWNlciwgc3BhY2VyLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBvcHRpb25zID0gZGVmYXVsdE9wdGlvbnMoKVxuICB9XG5cbiAgZGVjaXJjKG9iaiwgJycsIDAsIFtdLCB1bmRlZmluZWQsIDAsIG9wdGlvbnMpXG4gIHZhciByZXNcbiAgdHJ5IHtcbiAgICBpZiAocmVwbGFjZXJTdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgIHJlcyA9IEpTT04uc3RyaW5naWZ5KG9iaiwgcmVwbGFjZXIsIHNwYWNlcilcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzID0gSlNPTi5zdHJpbmdpZnkob2JqLCByZXBsYWNlR2V0dGVyVmFsdWVzKHJlcGxhY2VyKSwgc3BhY2VyKVxuICAgIH1cbiAgfSBjYXRjaCAoXykge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgnW3VuYWJsZSB0byBzZXJpYWxpemUsIGNpcmN1bGFyIHJlZmVyZW5jZSBpcyB0b28gY29tcGxleCB0byBhbmFseXplXScpXG4gIH0gZmluYWxseSB7XG4gICAgd2hpbGUgKGFyci5sZW5ndGggIT09IDApIHtcbiAgICAgIHZhciBwYXJ0ID0gYXJyLnBvcCgpXG4gICAgICBpZiAocGFydC5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHBhcnRbMF0sIHBhcnRbMV0sIHBhcnRbM10pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0WzBdW3BhcnRbMV1dID0gcGFydFsyXVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIHNldFJlcGxhY2UgKHJlcGxhY2UsIHZhbCwgaywgcGFyZW50KSB7XG4gIHZhciBwcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHBhcmVudCwgaylcbiAgaWYgKHByb3BlcnR5RGVzY3JpcHRvci5nZXQgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChwcm9wZXJ0eURlc2NyaXB0b3IuY29uZmlndXJhYmxlKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocGFyZW50LCBrLCB7IHZhbHVlOiByZXBsYWNlIH0pXG4gICAgICBhcnIucHVzaChbcGFyZW50LCBrLCB2YWwsIHByb3BlcnR5RGVzY3JpcHRvcl0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcGxhY2VyU3RhY2sucHVzaChbdmFsLCBrLCByZXBsYWNlXSlcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcGFyZW50W2tdID0gcmVwbGFjZVxuICAgIGFyci5wdXNoKFtwYXJlbnQsIGssIHZhbF0pXG4gIH1cbn1cblxuZnVuY3Rpb24gZGVjaXJjICh2YWwsIGssIGVkZ2VJbmRleCwgc3RhY2ssIHBhcmVudCwgZGVwdGgsIG9wdGlvbnMpIHtcbiAgZGVwdGggKz0gMVxuICB2YXIgaVxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsICE9PSBudWxsKSB7XG4gICAgZm9yIChpID0gMDsgaSA8IHN0YWNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoc3RhY2tbaV0gPT09IHZhbCkge1xuICAgICAgICBzZXRSZXBsYWNlKENJUkNVTEFSX1JFUExBQ0VfTk9ERSwgdmFsLCBrLCBwYXJlbnQpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBvcHRpb25zLmRlcHRoTGltaXQgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICBkZXB0aCA+IG9wdGlvbnMuZGVwdGhMaW1pdFxuICAgICkge1xuICAgICAgc2V0UmVwbGFjZShMSU1JVF9SRVBMQUNFX05PREUsIHZhbCwgaywgcGFyZW50KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIG9wdGlvbnMuZWRnZXNMaW1pdCAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIGVkZ2VJbmRleCArIDEgPiBvcHRpb25zLmVkZ2VzTGltaXRcbiAgICApIHtcbiAgICAgIHNldFJlcGxhY2UoTElNSVRfUkVQTEFDRV9OT0RFLCB2YWwsIGssIHBhcmVudClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHN0YWNrLnB1c2godmFsKVxuICAgIC8vIE9wdGltaXplIGZvciBBcnJheXMuIEJpZyBhcnJheXMgY291bGQga2lsbCB0aGUgcGVyZm9ybWFuY2Ugb3RoZXJ3aXNlIVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB2YWwubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZGVjaXJjKHZhbFtpXSwgaSwgaSwgc3RhY2ssIHZhbCwgZGVwdGgsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsKVxuICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXNbaV1cbiAgICAgICAgZGVjaXJjKHZhbFtrZXldLCBrZXksIGksIHN0YWNrLCB2YWwsIGRlcHRoLCBvcHRpb25zKVxuICAgICAgfVxuICAgIH1cbiAgICBzdGFjay5wb3AoKVxuICB9XG59XG5cbi8vIFN0YWJsZS1zdHJpbmdpZnlcbmZ1bmN0aW9uIGNvbXBhcmVGdW5jdGlvbiAoYSwgYikge1xuICBpZiAoYSA8IGIpIHtcbiAgICByZXR1cm4gLTFcbiAgfVxuICBpZiAoYSA+IGIpIHtcbiAgICByZXR1cm4gMVxuICB9XG4gIHJldHVybiAwXG59XG5cbmZ1bmN0aW9uIGRldGVybWluaXN0aWNTdHJpbmdpZnkgKG9iaiwgcmVwbGFjZXIsIHNwYWNlciwgb3B0aW9ucykge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zKClcbiAgfVxuXG4gIHZhciB0bXAgPSBkZXRlcm1pbmlzdGljRGVjaXJjKG9iaiwgJycsIDAsIFtdLCB1bmRlZmluZWQsIDAsIG9wdGlvbnMpIHx8IG9ialxuICB2YXIgcmVzXG4gIHRyeSB7XG4gICAgaWYgKHJlcGxhY2VyU3RhY2subGVuZ3RoID09PSAwKSB7XG4gICAgICByZXMgPSBKU09OLnN0cmluZ2lmeSh0bXAsIHJlcGxhY2VyLCBzcGFjZXIpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcyA9IEpTT04uc3RyaW5naWZ5KHRtcCwgcmVwbGFjZUdldHRlclZhbHVlcyhyZXBsYWNlciksIHNwYWNlcilcbiAgICB9XG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoJ1t1bmFibGUgdG8gc2VyaWFsaXplLCBjaXJjdWxhciByZWZlcmVuY2UgaXMgdG9vIGNvbXBsZXggdG8gYW5hbHl6ZV0nKVxuICB9IGZpbmFsbHkge1xuICAgIC8vIEVuc3VyZSB0aGF0IHdlIHJlc3RvcmUgdGhlIG9iamVjdCBhcyBpdCB3YXMuXG4gICAgd2hpbGUgKGFyci5sZW5ndGggIT09IDApIHtcbiAgICAgIHZhciBwYXJ0ID0gYXJyLnBvcCgpXG4gICAgICBpZiAocGFydC5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHBhcnRbMF0sIHBhcnRbMV0sIHBhcnRbM10pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0WzBdW3BhcnRbMV1dID0gcGFydFsyXVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGRldGVybWluaXN0aWNEZWNpcmMgKHZhbCwgaywgZWRnZUluZGV4LCBzdGFjaywgcGFyZW50LCBkZXB0aCwgb3B0aW9ucykge1xuICBkZXB0aCArPSAxXG4gIHZhciBpXG4gIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWwgIT09IG51bGwpIHtcbiAgICBmb3IgKGkgPSAwOyBpIDwgc3RhY2subGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChzdGFja1tpXSA9PT0gdmFsKSB7XG4gICAgICAgIHNldFJlcGxhY2UoQ0lSQ1VMQVJfUkVQTEFDRV9OT0RFLCB2YWwsIGssIHBhcmVudClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZW9mIHZhbC50b0pTT04gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIG9wdGlvbnMuZGVwdGhMaW1pdCAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIGRlcHRoID4gb3B0aW9ucy5kZXB0aExpbWl0XG4gICAgKSB7XG4gICAgICBzZXRSZXBsYWNlKExJTUlUX1JFUExBQ0VfTk9ERSwgdmFsLCBrLCBwYXJlbnQpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2Ygb3B0aW9ucy5lZGdlc0xpbWl0ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgZWRnZUluZGV4ICsgMSA+IG9wdGlvbnMuZWRnZXNMaW1pdFxuICAgICkge1xuICAgICAgc2V0UmVwbGFjZShMSU1JVF9SRVBMQUNFX05PREUsIHZhbCwgaywgcGFyZW50KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgc3RhY2sucHVzaCh2YWwpXG4gICAgLy8gT3B0aW1pemUgZm9yIEFycmF5cy4gQmlnIGFycmF5cyBjb3VsZCBraWxsIHRoZSBwZXJmb3JtYW5jZSBvdGhlcndpc2UhXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgZm9yIChpID0gMDsgaSA8IHZhbC5sZW5ndGg7IGkrKykge1xuICAgICAgICBkZXRlcm1pbmlzdGljRGVjaXJjKHZhbFtpXSwgaSwgaSwgc3RhY2ssIHZhbCwgZGVwdGgsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRlbXBvcmFyeSBvYmplY3QgaW4gdGhlIHJlcXVpcmVkIHdheVxuICAgICAgdmFyIHRtcCA9IHt9XG4gICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHZhbCkuc29ydChjb21wYXJlRnVuY3Rpb24pXG4gICAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIga2V5ID0ga2V5c1tpXVxuICAgICAgICBkZXRlcm1pbmlzdGljRGVjaXJjKHZhbFtrZXldLCBrZXksIGksIHN0YWNrLCB2YWwsIGRlcHRoLCBvcHRpb25zKVxuICAgICAgICB0bXBba2V5XSA9IHZhbFtrZXldXG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHBhcmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgYXJyLnB1c2goW3BhcmVudCwgaywgdmFsXSlcbiAgICAgICAgcGFyZW50W2tdID0gdG1wXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdG1wXG4gICAgICB9XG4gICAgfVxuICAgIHN0YWNrLnBvcCgpXG4gIH1cbn1cblxuLy8gd3JhcHMgcmVwbGFjZXIgZnVuY3Rpb24gdG8gaGFuZGxlIHZhbHVlcyB3ZSBjb3VsZG4ndCByZXBsYWNlXG4vLyBhbmQgbWFyayB0aGVtIGFzIHJlcGxhY2VkIHZhbHVlXG5mdW5jdGlvbiByZXBsYWNlR2V0dGVyVmFsdWVzIChyZXBsYWNlcikge1xuICByZXBsYWNlciA9XG4gICAgdHlwZW9mIHJlcGxhY2VyICE9PSAndW5kZWZpbmVkJ1xuICAgICAgPyByZXBsYWNlclxuICAgICAgOiBmdW5jdGlvbiAoaywgdikge1xuICAgICAgICByZXR1cm4gdlxuICAgICAgfVxuICByZXR1cm4gZnVuY3Rpb24gKGtleSwgdmFsKSB7XG4gICAgaWYgKHJlcGxhY2VyU3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBsYWNlclN0YWNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBwYXJ0ID0gcmVwbGFjZXJTdGFja1tpXVxuICAgICAgICBpZiAocGFydFsxXSA9PT0ga2V5ICYmIHBhcnRbMF0gPT09IHZhbCkge1xuICAgICAgICAgIHZhbCA9IHBhcnRbMl1cbiAgICAgICAgICByZXBsYWNlclN0YWNrLnNwbGljZShpLCAxKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcGxhY2VyLmNhbGwodGhpcywga2V5LCB2YWwpXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/fast-safe-stringify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/function-bind/implementation.js": -/*!******************************************************!*\ - !*** ./node_modules/function-bind/implementation.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbXBsZW1lbnRhdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTs7QUFFQSwrRUFBK0Usc0NBQXNDOztBQUVySDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbXBsZW1lbnRhdGlvbi5qcz82N2Y1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyogZXNsaW50IG5vLWludmFsaWQtdGhpczogMSAqL1xuXG52YXIgRVJST1JfTUVTU0FHRSA9ICdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlICc7XG52YXIgc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG52YXIgdG9TdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIGZ1bmNUeXBlID0gJ1tvYmplY3QgRnVuY3Rpb25dJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBiaW5kKHRoYXQpIHtcbiAgICB2YXIgdGFyZ2V0ID0gdGhpcztcbiAgICBpZiAodHlwZW9mIHRhcmdldCAhPT0gJ2Z1bmN0aW9uJyB8fCB0b1N0ci5jYWxsKHRhcmdldCkgIT09IGZ1bmNUeXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRVJST1JfTUVTU0FHRSArIHRhcmdldCk7XG4gICAgfVxuICAgIHZhciBhcmdzID0gc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuXG4gICAgdmFyIGJvdW5kO1xuICAgIHZhciBiaW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgYm91bmQpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSB0YXJnZXQuYXBwbHkoXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICBhcmdzLmNvbmNhdChzbGljZS5jYWxsKGFyZ3VtZW50cykpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKE9iamVjdChyZXN1bHQpID09PSByZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KFxuICAgICAgICAgICAgICAgIHRoYXQsXG4gICAgICAgICAgICAgICAgYXJncy5jb25jYXQoc2xpY2UuY2FsbChhcmd1bWVudHMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgYm91bmRMZW5ndGggPSBNYXRoLm1heCgwLCB0YXJnZXQubGVuZ3RoIC0gYXJncy5sZW5ndGgpO1xuICAgIHZhciBib3VuZEFyZ3MgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJvdW5kTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYm91bmRBcmdzLnB1c2goJyQnICsgaSk7XG4gICAgfVxuXG4gICAgYm91bmQgPSBGdW5jdGlvbignYmluZGVyJywgJ3JldHVybiBmdW5jdGlvbiAoJyArIGJvdW5kQXJncy5qb2luKCcsJykgKyAnKXsgcmV0dXJuIGJpbmRlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7IH0nKShiaW5kZXIpO1xuXG4gICAgaWYgKHRhcmdldC5wcm90b3R5cGUpIHtcbiAgICAgICAgdmFyIEVtcHR5ID0gZnVuY3Rpb24gRW1wdHkoKSB7fTtcbiAgICAgICAgRW1wdHkucHJvdG90eXBlID0gdGFyZ2V0LnByb3RvdHlwZTtcbiAgICAgICAgYm91bmQucHJvdG90eXBlID0gbmV3IEVtcHR5KCk7XG4gICAgICAgIEVtcHR5LnByb3RvdHlwZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvdW5kO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/function-bind/implementation.js\n")); - -/***/ }), - -/***/ "./node_modules/function-bind/index.js": -/*!*********************************************!*\ - !*** ./node_modules/function-bind/index.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar implementation = __webpack_require__(/*! ./implementation */ \"./node_modules/function-bind/implementation.js\");\n\nmodule.exports = Function.prototype.bind || implementation;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQyx3RUFBa0I7O0FBRS9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9mdW5jdGlvbi1iaW5kL2luZGV4LmpzP2Y2NWEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaW1wbGVtZW50YXRpb24gPSByZXF1aXJlKCcuL2ltcGxlbWVudGF0aW9uJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgfHwgaW1wbGVtZW50YXRpb247XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/function-bind/index.js\n")); - -/***/ }), - -/***/ "./node_modules/get-intrinsic/index.js": -/*!*********************************************!*\ - !*** ./node_modules/get-intrinsic/index.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \"./node_modules/has-symbols/index.js\")();\nvar hasProto = __webpack_require__(/*! has-proto */ \"./node_modules/has-proto/index.js\")();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar hasOwn = __webpack_require__(/*! has */ \"./node_modules/has/src/index.js\");\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZ2V0LWludHJpbnNpYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLDhDQUE4QztBQUNoRixHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLEdBQUc7QUFDSCxnQkFBZ0I7QUFDaEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBLGlCQUFpQixtQkFBTyxDQUFDLHdEQUFhO0FBQ3RDLGVBQWUsbUJBQU8sQ0FBQyxvREFBVzs7QUFFbEM7QUFDQTtBQUNBLG1CQUFtQixzQkFBc0I7QUFDekM7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFEO0FBQ3JELEdBQUc7QUFDSCxnREFBZ0Q7QUFDaEQsR0FBRztBQUNILHNEQUFzRDtBQUN0RCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxtQkFBTyxDQUFDLDREQUFlO0FBQ2xDLGFBQWEsbUJBQU8sQ0FBQyw0Q0FBSztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrQkFBK0Isa0JBQWtCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZ2V0LWludHJpbnNpYy9pbmRleC5qcz84NDIxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHVuZGVmaW5lZDtcblxudmFyICRTeW50YXhFcnJvciA9IFN5bnRheEVycm9yO1xudmFyICRGdW5jdGlvbiA9IEZ1bmN0aW9uO1xudmFyICRUeXBlRXJyb3IgPSBUeXBlRXJyb3I7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxudmFyIGdldEV2YWxsZWRDb25zdHJ1Y3RvciA9IGZ1bmN0aW9uIChleHByZXNzaW9uU3ludGF4KSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuICRGdW5jdGlvbignXCJ1c2Ugc3RyaWN0XCI7IHJldHVybiAoJyArIGV4cHJlc3Npb25TeW50YXggKyAnKS5jb25zdHJ1Y3RvcjsnKSgpO1xuXHR9IGNhdGNoIChlKSB7fVxufTtcblxudmFyICRnT1BEID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbmlmICgkZ09QRCkge1xuXHR0cnkge1xuXHRcdCRnT1BEKHt9LCAnJyk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQkZ09QRCA9IG51bGw7IC8vIHRoaXMgaXMgSUUgOCwgd2hpY2ggaGFzIGEgYnJva2VuIGdPUERcblx0fVxufVxuXG52YXIgdGhyb3dUeXBlRXJyb3IgPSBmdW5jdGlvbiAoKSB7XG5cdHRocm93IG5ldyAkVHlwZUVycm9yKCk7XG59O1xudmFyIFRocm93VHlwZUVycm9yID0gJGdPUERcblx0PyAoZnVuY3Rpb24gKCkge1xuXHRcdHRyeSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zLCBuby1jYWxsZXIsIG5vLXJlc3RyaWN0ZWQtcHJvcGVydGllc1xuXHRcdFx0YXJndW1lbnRzLmNhbGxlZTsgLy8gSUUgOCBkb2VzIG5vdCB0aHJvdyBoZXJlXG5cdFx0XHRyZXR1cm4gdGhyb3dUeXBlRXJyb3I7XG5cdFx0fSBjYXRjaCAoY2FsbGVlVGhyb3dzKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBJRSA4IHRocm93cyBvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywgJycpXG5cdFx0XHRcdHJldHVybiAkZ09QRChhcmd1bWVudHMsICdjYWxsZWUnKS5nZXQ7XG5cdFx0XHR9IGNhdGNoIChnT1BEdGhyb3dzKSB7XG5cdFx0XHRcdHJldHVybiB0aHJvd1R5cGVFcnJvcjtcblx0XHRcdH1cblx0XHR9XG5cdH0oKSlcblx0OiB0aHJvd1R5cGVFcnJvcjtcblxudmFyIGhhc1N5bWJvbHMgPSByZXF1aXJlKCdoYXMtc3ltYm9scycpKCk7XG52YXIgaGFzUHJvdG8gPSByZXF1aXJlKCdoYXMtcHJvdG8nKSgpO1xuXG52YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgKFxuXHRoYXNQcm90b1xuXHRcdD8gZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHguX19wcm90b19fOyB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcHJvdG9cblx0XHQ6IG51bGxcbik7XG5cbnZhciBuZWVkc0V2YWwgPSB7fTtcblxudmFyIFR5cGVkQXJyYXkgPSB0eXBlb2YgVWludDhBcnJheSA9PT0gJ3VuZGVmaW5lZCcgfHwgIWdldFByb3RvID8gdW5kZWZpbmVkIDogZ2V0UHJvdG8oVWludDhBcnJheSk7XG5cbnZhciBJTlRSSU5TSUNTID0ge1xuXHQnJUFnZ3JlZ2F0ZUVycm9yJSc6IHR5cGVvZiBBZ2dyZWdhdGVFcnJvciA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBBZ2dyZWdhdGVFcnJvcixcblx0JyVBcnJheSUnOiBBcnJheSxcblx0JyVBcnJheUJ1ZmZlciUnOiB0eXBlb2YgQXJyYXlCdWZmZXIgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQXJyYXlCdWZmZXIsXG5cdCclQXJyYXlJdGVyYXRvclByb3RvdHlwZSUnOiBoYXNTeW1ib2xzICYmIGdldFByb3RvID8gZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSA6IHVuZGVmaW5lZCxcblx0JyVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlJzogdW5kZWZpbmVkLFxuXHQnJUFzeW5jRnVuY3Rpb24lJzogbmVlZHNFdmFsLFxuXHQnJUFzeW5jR2VuZXJhdG9yJSc6IG5lZWRzRXZhbCxcblx0JyVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJSc6IG5lZWRzRXZhbCxcblx0JyVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSc6IG5lZWRzRXZhbCxcblx0JyVBdG9taWNzJSc6IHR5cGVvZiBBdG9taWNzID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEF0b21pY3MsXG5cdCclQmlnSW50JSc6IHR5cGVvZiBCaWdJbnQgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQmlnSW50LFxuXHQnJUJpZ0ludDY0QXJyYXklJzogdHlwZW9mIEJpZ0ludDY0QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQmlnSW50NjRBcnJheSxcblx0JyVCaWdVaW50NjRBcnJheSUnOiB0eXBlb2YgQmlnVWludDY0QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQmlnVWludDY0QXJyYXksXG5cdCclQm9vbGVhbiUnOiBCb29sZWFuLFxuXHQnJURhdGFWaWV3JSc6IHR5cGVvZiBEYXRhVmlldyA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBEYXRhVmlldyxcblx0JyVEYXRlJSc6IERhdGUsXG5cdCclZGVjb2RlVVJJJSc6IGRlY29kZVVSSSxcblx0JyVkZWNvZGVVUklDb21wb25lbnQlJzogZGVjb2RlVVJJQ29tcG9uZW50LFxuXHQnJWVuY29kZVVSSSUnOiBlbmNvZGVVUkksXG5cdCclZW5jb2RlVVJJQ29tcG9uZW50JSc6IGVuY29kZVVSSUNvbXBvbmVudCxcblx0JyVFcnJvciUnOiBFcnJvcixcblx0JyVldmFsJSc6IGV2YWwsIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZXZhbFxuXHQnJUV2YWxFcnJvciUnOiBFdmFsRXJyb3IsXG5cdCclRmxvYXQzMkFycmF5JSc6IHR5cGVvZiBGbG9hdDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRmxvYXQzMkFycmF5LFxuXHQnJUZsb2F0NjRBcnJheSUnOiB0eXBlb2YgRmxvYXQ2NEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEZsb2F0NjRBcnJheSxcblx0JyVGaW5hbGl6YXRpb25SZWdpc3RyeSUnOiB0eXBlb2YgRmluYWxpemF0aW9uUmVnaXN0cnkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRmluYWxpemF0aW9uUmVnaXN0cnksXG5cdCclRnVuY3Rpb24lJzogJEZ1bmN0aW9uLFxuXHQnJUdlbmVyYXRvckZ1bmN0aW9uJSc6IG5lZWRzRXZhbCxcblx0JyVJbnQ4QXJyYXklJzogdHlwZW9mIEludDhBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBJbnQ4QXJyYXksXG5cdCclSW50MTZBcnJheSUnOiB0eXBlb2YgSW50MTZBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBJbnQxNkFycmF5LFxuXHQnJUludDMyQXJyYXklJzogdHlwZW9mIEludDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogSW50MzJBcnJheSxcblx0JyVpc0Zpbml0ZSUnOiBpc0Zpbml0ZSxcblx0JyVpc05hTiUnOiBpc05hTixcblx0JyVJdGVyYXRvclByb3RvdHlwZSUnOiBoYXNTeW1ib2xzICYmIGdldFByb3RvID8gZ2V0UHJvdG8oZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSkgOiB1bmRlZmluZWQsXG5cdCclSlNPTiUnOiB0eXBlb2YgSlNPTiA9PT0gJ29iamVjdCcgPyBKU09OIDogdW5kZWZpbmVkLFxuXHQnJU1hcCUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE1hcCxcblx0JyVNYXBJdGVyYXRvclByb3RvdHlwZSUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyB8fCAhaGFzU3ltYm9scyB8fCAhZ2V0UHJvdG8gPyB1bmRlZmluZWQgOiBnZXRQcm90byhuZXcgTWFwKClbU3ltYm9sLml0ZXJhdG9yXSgpKSxcblx0JyVNYXRoJSc6IE1hdGgsXG5cdCclTnVtYmVyJSc6IE51bWJlcixcblx0JyVPYmplY3QlJzogT2JqZWN0LFxuXHQnJXBhcnNlRmxvYXQlJzogcGFyc2VGbG9hdCxcblx0JyVwYXJzZUludCUnOiBwYXJzZUludCxcblx0JyVQcm9taXNlJSc6IHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb21pc2UsXG5cdCclUHJveHklJzogdHlwZW9mIFByb3h5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb3h5LFxuXHQnJVJhbmdlRXJyb3IlJzogUmFuZ2VFcnJvcixcblx0JyVSZWZlcmVuY2VFcnJvciUnOiBSZWZlcmVuY2VFcnJvcixcblx0JyVSZWZsZWN0JSc6IHR5cGVvZiBSZWZsZWN0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFJlZmxlY3QsXG5cdCclUmVnRXhwJSc6IFJlZ0V4cCxcblx0JyVTZXQlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBTZXQsXG5cdCclU2V0SXRlcmF0b3JQcm90b3R5cGUlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWhhc1N5bWJvbHMgfHwgIWdldFByb3RvID8gdW5kZWZpbmVkIDogZ2V0UHJvdG8obmV3IFNldCgpW1N5bWJvbC5pdGVyYXRvcl0oKSksXG5cdCclU2hhcmVkQXJyYXlCdWZmZXIlJzogdHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFNoYXJlZEFycmF5QnVmZmVyLFxuXHQnJVN0cmluZyUnOiBTdHJpbmcsXG5cdCclU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlJzogaGFzU3ltYm9scyAmJiBnZXRQcm90byA/IGdldFByb3RvKCcnW1N5bWJvbC5pdGVyYXRvcl0oKSkgOiB1bmRlZmluZWQsXG5cdCclU3ltYm9sJSc6IGhhc1N5bWJvbHMgPyBTeW1ib2wgOiB1bmRlZmluZWQsXG5cdCclU3ludGF4RXJyb3IlJzogJFN5bnRheEVycm9yLFxuXHQnJVRocm93VHlwZUVycm9yJSc6IFRocm93VHlwZUVycm9yLFxuXHQnJVR5cGVkQXJyYXklJzogVHlwZWRBcnJheSxcblx0JyVUeXBlRXJyb3IlJzogJFR5cGVFcnJvcixcblx0JyVVaW50OEFycmF5JSc6IHR5cGVvZiBVaW50OEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFVpbnQ4QXJyYXksXG5cdCclVWludDhDbGFtcGVkQXJyYXklJzogdHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFVpbnQ4Q2xhbXBlZEFycmF5LFxuXHQnJVVpbnQxNkFycmF5JSc6IHR5cGVvZiBVaW50MTZBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBVaW50MTZBcnJheSxcblx0JyVVaW50MzJBcnJheSUnOiB0eXBlb2YgVWludDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVWludDMyQXJyYXksXG5cdCclVVJJRXJyb3IlJzogVVJJRXJyb3IsXG5cdCclV2Vha01hcCUnOiB0eXBlb2YgV2Vha01hcCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBXZWFrTWFwLFxuXHQnJVdlYWtSZWYlJzogdHlwZW9mIFdlYWtSZWYgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogV2Vha1JlZixcblx0JyVXZWFrU2V0JSc6IHR5cGVvZiBXZWFrU2V0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFdlYWtTZXRcbn07XG5cbmlmIChnZXRQcm90bykge1xuXHR0cnkge1xuXHRcdG51bGwuZXJyb3I7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1zaGFkb3dyZWFsbS9wdWxsLzM4NCNpc3N1ZWNvbW1lbnQtMTM2NDI2NDIyOVxuXHRcdHZhciBlcnJvclByb3RvID0gZ2V0UHJvdG8oZ2V0UHJvdG8oZSkpO1xuXHRcdElOVFJJTlNJQ1NbJyVFcnJvci5wcm90b3R5cGUlJ10gPSBlcnJvclByb3RvO1xuXHR9XG59XG5cbnZhciBkb0V2YWwgPSBmdW5jdGlvbiBkb0V2YWwobmFtZSkge1xuXHR2YXIgdmFsdWU7XG5cdGlmIChuYW1lID09PSAnJUFzeW5jRnVuY3Rpb24lJykge1xuXHRcdHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKCdhc3luYyBmdW5jdGlvbiAoKSB7fScpO1xuXHR9IGVsc2UgaWYgKG5hbWUgPT09ICclR2VuZXJhdG9yRnVuY3Rpb24lJykge1xuXHRcdHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKCdmdW5jdGlvbiogKCkge30nKTtcblx0fSBlbHNlIGlmIChuYW1lID09PSAnJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lJykge1xuXHRcdHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKCdhc3luYyBmdW5jdGlvbiogKCkge30nKTtcblx0fSBlbHNlIGlmIChuYW1lID09PSAnJUFzeW5jR2VuZXJhdG9yJScpIHtcblx0XHR2YXIgZm4gPSBkb0V2YWwoJyVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJScpO1xuXHRcdGlmIChmbikge1xuXHRcdFx0dmFsdWUgPSBmbi5wcm90b3R5cGU7XG5cdFx0fVxuXHR9IGVsc2UgaWYgKG5hbWUgPT09ICclQXN5bmNJdGVyYXRvclByb3RvdHlwZSUnKSB7XG5cdFx0dmFyIGdlbiA9IGRvRXZhbCgnJUFzeW5jR2VuZXJhdG9yJScpO1xuXHRcdGlmIChnZW4gJiYgZ2V0UHJvdG8pIHtcblx0XHRcdHZhbHVlID0gZ2V0UHJvdG8oZ2VuLnByb3RvdHlwZSk7XG5cdFx0fVxuXHR9XG5cblx0SU5UUklOU0lDU1tuYW1lXSA9IHZhbHVlO1xuXG5cdHJldHVybiB2YWx1ZTtcbn07XG5cbnZhciBMRUdBQ1lfQUxJQVNFUyA9IHtcblx0JyVBcnJheUJ1ZmZlclByb3RvdHlwZSUnOiBbJ0FycmF5QnVmZmVyJywgJ3Byb3RvdHlwZSddLFxuXHQnJUFycmF5UHJvdG90eXBlJSc6IFsnQXJyYXknLCAncHJvdG90eXBlJ10sXG5cdCclQXJyYXlQcm90b19lbnRyaWVzJSc6IFsnQXJyYXknLCAncHJvdG90eXBlJywgJ2VudHJpZXMnXSxcblx0JyVBcnJheVByb3RvX2ZvckVhY2glJzogWydBcnJheScsICdwcm90b3R5cGUnLCAnZm9yRWFjaCddLFxuXHQnJUFycmF5UHJvdG9fa2V5cyUnOiBbJ0FycmF5JywgJ3Byb3RvdHlwZScsICdrZXlzJ10sXG5cdCclQXJyYXlQcm90b192YWx1ZXMlJzogWydBcnJheScsICdwcm90b3R5cGUnLCAndmFsdWVzJ10sXG5cdCclQXN5bmNGdW5jdGlvblByb3RvdHlwZSUnOiBbJ0FzeW5jRnVuY3Rpb24nLCAncHJvdG90eXBlJ10sXG5cdCclQXN5bmNHZW5lcmF0b3IlJzogWydBc3luY0dlbmVyYXRvckZ1bmN0aW9uJywgJ3Byb3RvdHlwZSddLFxuXHQnJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJSc6IFsnQXN5bmNHZW5lcmF0b3JGdW5jdGlvbicsICdwcm90b3R5cGUnLCAncHJvdG90eXBlJ10sXG5cdCclQm9vbGVhblByb3RvdHlwZSUnOiBbJ0Jvb2xlYW4nLCAncHJvdG90eXBlJ10sXG5cdCclRGF0YVZpZXdQcm90b3R5cGUlJzogWydEYXRhVmlldycsICdwcm90b3R5cGUnXSxcblx0JyVEYXRlUHJvdG90eXBlJSc6IFsnRGF0ZScsICdwcm90b3R5cGUnXSxcblx0JyVFcnJvclByb3RvdHlwZSUnOiBbJ0Vycm9yJywgJ3Byb3RvdHlwZSddLFxuXHQnJUV2YWxFcnJvclByb3RvdHlwZSUnOiBbJ0V2YWxFcnJvcicsICdwcm90b3R5cGUnXSxcblx0JyVGbG9hdDMyQXJyYXlQcm90b3R5cGUlJzogWydGbG9hdDMyQXJyYXknLCAncHJvdG90eXBlJ10sXG5cdCclRmxvYXQ2NEFycmF5UHJvdG90eXBlJSc6IFsnRmxvYXQ2NEFycmF5JywgJ3Byb3RvdHlwZSddLFxuXHQnJUZ1bmN0aW9uUHJvdG90eXBlJSc6IFsnRnVuY3Rpb24nLCAncHJvdG90eXBlJ10sXG5cdCclR2VuZXJhdG9yJSc6IFsnR2VuZXJhdG9yRnVuY3Rpb24nLCAncHJvdG90eXBlJ10sXG5cdCclR2VuZXJhdG9yUHJvdG90eXBlJSc6IFsnR2VuZXJhdG9yRnVuY3Rpb24nLCAncHJvdG90eXBlJywgJ3Byb3RvdHlwZSddLFxuXHQnJUludDhBcnJheVByb3RvdHlwZSUnOiBbJ0ludDhBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVJbnQxNkFycmF5UHJvdG90eXBlJSc6IFsnSW50MTZBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVJbnQzMkFycmF5UHJvdG90eXBlJSc6IFsnSW50MzJBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVKU09OUGFyc2UlJzogWydKU09OJywgJ3BhcnNlJ10sXG5cdCclSlNPTlN0cmluZ2lmeSUnOiBbJ0pTT04nLCAnc3RyaW5naWZ5J10sXG5cdCclTWFwUHJvdG90eXBlJSc6IFsnTWFwJywgJ3Byb3RvdHlwZSddLFxuXHQnJU51bWJlclByb3RvdHlwZSUnOiBbJ051bWJlcicsICdwcm90b3R5cGUnXSxcblx0JyVPYmplY3RQcm90b3R5cGUlJzogWydPYmplY3QnLCAncHJvdG90eXBlJ10sXG5cdCclT2JqUHJvdG9fdG9TdHJpbmclJzogWydPYmplY3QnLCAncHJvdG90eXBlJywgJ3RvU3RyaW5nJ10sXG5cdCclT2JqUHJvdG9fdmFsdWVPZiUnOiBbJ09iamVjdCcsICdwcm90b3R5cGUnLCAndmFsdWVPZiddLFxuXHQnJVByb21pc2VQcm90b3R5cGUlJzogWydQcm9taXNlJywgJ3Byb3RvdHlwZSddLFxuXHQnJVByb21pc2VQcm90b190aGVuJSc6IFsnUHJvbWlzZScsICdwcm90b3R5cGUnLCAndGhlbiddLFxuXHQnJVByb21pc2VfYWxsJSc6IFsnUHJvbWlzZScsICdhbGwnXSxcblx0JyVQcm9taXNlX3JlamVjdCUnOiBbJ1Byb21pc2UnLCAncmVqZWN0J10sXG5cdCclUHJvbWlzZV9yZXNvbHZlJSc6IFsnUHJvbWlzZScsICdyZXNvbHZlJ10sXG5cdCclUmFuZ2VFcnJvclByb3RvdHlwZSUnOiBbJ1JhbmdlRXJyb3InLCAncHJvdG90eXBlJ10sXG5cdCclUmVmZXJlbmNlRXJyb3JQcm90b3R5cGUlJzogWydSZWZlcmVuY2VFcnJvcicsICdwcm90b3R5cGUnXSxcblx0JyVSZWdFeHBQcm90b3R5cGUlJzogWydSZWdFeHAnLCAncHJvdG90eXBlJ10sXG5cdCclU2V0UHJvdG90eXBlJSc6IFsnU2V0JywgJ3Byb3RvdHlwZSddLFxuXHQnJVNoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlJSc6IFsnU2hhcmVkQXJyYXlCdWZmZXInLCAncHJvdG90eXBlJ10sXG5cdCclU3RyaW5nUHJvdG90eXBlJSc6IFsnU3RyaW5nJywgJ3Byb3RvdHlwZSddLFxuXHQnJVN5bWJvbFByb3RvdHlwZSUnOiBbJ1N5bWJvbCcsICdwcm90b3R5cGUnXSxcblx0JyVTeW50YXhFcnJvclByb3RvdHlwZSUnOiBbJ1N5bnRheEVycm9yJywgJ3Byb3RvdHlwZSddLFxuXHQnJVR5cGVkQXJyYXlQcm90b3R5cGUlJzogWydUeXBlZEFycmF5JywgJ3Byb3RvdHlwZSddLFxuXHQnJVR5cGVFcnJvclByb3RvdHlwZSUnOiBbJ1R5cGVFcnJvcicsICdwcm90b3R5cGUnXSxcblx0JyVVaW50OEFycmF5UHJvdG90eXBlJSc6IFsnVWludDhBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVVaW50OENsYW1wZWRBcnJheVByb3RvdHlwZSUnOiBbJ1VpbnQ4Q2xhbXBlZEFycmF5JywgJ3Byb3RvdHlwZSddLFxuXHQnJVVpbnQxNkFycmF5UHJvdG90eXBlJSc6IFsnVWludDE2QXJyYXknLCAncHJvdG90eXBlJ10sXG5cdCclVWludDMyQXJyYXlQcm90b3R5cGUlJzogWydVaW50MzJBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVVUklFcnJvclByb3RvdHlwZSUnOiBbJ1VSSUVycm9yJywgJ3Byb3RvdHlwZSddLFxuXHQnJVdlYWtNYXBQcm90b3R5cGUlJzogWydXZWFrTWFwJywgJ3Byb3RvdHlwZSddLFxuXHQnJVdlYWtTZXRQcm90b3R5cGUlJzogWydXZWFrU2V0JywgJ3Byb3RvdHlwZSddXG59O1xuXG52YXIgYmluZCA9IHJlcXVpcmUoJ2Z1bmN0aW9uLWJpbmQnKTtcbnZhciBoYXNPd24gPSByZXF1aXJlKCdoYXMnKTtcbnZhciAkY29uY2F0ID0gYmluZC5jYWxsKEZ1bmN0aW9uLmNhbGwsIEFycmF5LnByb3RvdHlwZS5jb25jYXQpO1xudmFyICRzcGxpY2VBcHBseSA9IGJpbmQuY2FsbChGdW5jdGlvbi5hcHBseSwgQXJyYXkucHJvdG90eXBlLnNwbGljZSk7XG52YXIgJHJlcGxhY2UgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKTtcbnZhciAkc3RyU2xpY2UgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgU3RyaW5nLnByb3RvdHlwZS5zbGljZSk7XG52YXIgJGV4ZWMgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgUmVnRXhwLnByb3RvdHlwZS5leGVjKTtcblxuLyogYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvNC4xNy4xNS9kaXN0L2xvZGFzaC5qcyNMNjczNS1MNjc0NCAqL1xudmFyIHJlUHJvcE5hbWUgPSAvW14lLltcXF1dK3xcXFsoPzooLT9cXGQrKD86XFwuXFxkKyk/KXwoW1wiJ10pKCg/Oig/IVxcMilbXlxcXFxdfFxcXFwuKSo/KVxcMilcXF18KD89KD86XFwufFxcW1xcXSkoPzpcXC58XFxbXFxdfCUkKSkvZztcbnZhciByZUVzY2FwZUNoYXIgPSAvXFxcXChcXFxcKT8vZzsgLyoqIFVzZWQgdG8gbWF0Y2ggYmFja3NsYXNoZXMgaW4gcHJvcGVydHkgcGF0aHMuICovXG52YXIgc3RyaW5nVG9QYXRoID0gZnVuY3Rpb24gc3RyaW5nVG9QYXRoKHN0cmluZykge1xuXHR2YXIgZmlyc3QgPSAkc3RyU2xpY2Uoc3RyaW5nLCAwLCAxKTtcblx0dmFyIGxhc3QgPSAkc3RyU2xpY2Uoc3RyaW5nLCAtMSk7XG5cdGlmIChmaXJzdCA9PT0gJyUnICYmIGxhc3QgIT09ICclJykge1xuXHRcdHRocm93IG5ldyAkU3ludGF4RXJyb3IoJ2ludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgY2xvc2luZyBgJWAnKTtcblx0fSBlbHNlIGlmIChsYXN0ID09PSAnJScgJiYgZmlyc3QgIT09ICclJykge1xuXHRcdHRocm93IG5ldyAkU3ludGF4RXJyb3IoJ2ludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgb3BlbmluZyBgJWAnKTtcblx0fVxuXHR2YXIgcmVzdWx0ID0gW107XG5cdCRyZXBsYWNlKHN0cmluZywgcmVQcm9wTmFtZSwgZnVuY3Rpb24gKG1hdGNoLCBudW1iZXIsIHF1b3RlLCBzdWJTdHJpbmcpIHtcblx0XHRyZXN1bHRbcmVzdWx0Lmxlbmd0aF0gPSBxdW90ZSA/ICRyZXBsYWNlKHN1YlN0cmluZywgcmVFc2NhcGVDaGFyLCAnJDEnKSA6IG51bWJlciB8fCBtYXRjaDtcblx0fSk7XG5cdHJldHVybiByZXN1bHQ7XG59O1xuLyogZW5kIGFkYXB0YXRpb24gKi9cblxudmFyIGdldEJhc2VJbnRyaW5zaWMgPSBmdW5jdGlvbiBnZXRCYXNlSW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuXHR2YXIgaW50cmluc2ljTmFtZSA9IG5hbWU7XG5cdHZhciBhbGlhcztcblx0aWYgKGhhc093bihMRUdBQ1lfQUxJQVNFUywgaW50cmluc2ljTmFtZSkpIHtcblx0XHRhbGlhcyA9IExFR0FDWV9BTElBU0VTW2ludHJpbnNpY05hbWVdO1xuXHRcdGludHJpbnNpY05hbWUgPSAnJScgKyBhbGlhc1swXSArICclJztcblx0fVxuXG5cdGlmIChoYXNPd24oSU5UUklOU0lDUywgaW50cmluc2ljTmFtZSkpIHtcblx0XHR2YXIgdmFsdWUgPSBJTlRSSU5TSUNTW2ludHJpbnNpY05hbWVdO1xuXHRcdGlmICh2YWx1ZSA9PT0gbmVlZHNFdmFsKSB7XG5cdFx0XHR2YWx1ZSA9IGRvRXZhbChpbnRyaW5zaWNOYW1lKTtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgJiYgIWFsbG93TWlzc2luZykge1xuXHRcdFx0dGhyb3cgbmV3ICRUeXBlRXJyb3IoJ2ludHJpbnNpYyAnICsgbmFtZSArICcgZXhpc3RzLCBidXQgaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIGZpbGUgYW4gaXNzdWUhJyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHtcblx0XHRcdGFsaWFzOiBhbGlhcyxcblx0XHRcdG5hbWU6IGludHJpbnNpY05hbWUsXG5cdFx0XHR2YWx1ZTogdmFsdWVcblx0XHR9O1xuXHR9XG5cblx0dGhyb3cgbmV3ICRTeW50YXhFcnJvcignaW50cmluc2ljICcgKyBuYW1lICsgJyBkb2VzIG5vdCBleGlzdCEnKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gR2V0SW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuXHRpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnIHx8IG5hbWUubGVuZ3RoID09PSAwKSB7XG5cdFx0dGhyb3cgbmV3ICRUeXBlRXJyb3IoJ2ludHJpbnNpYyBuYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG5cdH1cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIHR5cGVvZiBhbGxvd01pc3NpbmcgIT09ICdib29sZWFuJykge1xuXHRcdHRocm93IG5ldyAkVHlwZUVycm9yKCdcImFsbG93TWlzc2luZ1wiIGFyZ3VtZW50IG11c3QgYmUgYSBib29sZWFuJyk7XG5cdH1cblxuXHRpZiAoJGV4ZWMoL14lP1teJV0qJT8kLywgbmFtZSkgPT09IG51bGwpIHtcblx0XHR0aHJvdyBuZXcgJFN5bnRheEVycm9yKCdgJWAgbWF5IG5vdCBiZSBwcmVzZW50IGFueXdoZXJlIGJ1dCBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIGludHJpbnNpYyBuYW1lJyk7XG5cdH1cblx0dmFyIHBhcnRzID0gc3RyaW5nVG9QYXRoKG5hbWUpO1xuXHR2YXIgaW50cmluc2ljQmFzZU5hbWUgPSBwYXJ0cy5sZW5ndGggPiAwID8gcGFydHNbMF0gOiAnJztcblxuXHR2YXIgaW50cmluc2ljID0gZ2V0QmFzZUludHJpbnNpYygnJScgKyBpbnRyaW5zaWNCYXNlTmFtZSArICclJywgYWxsb3dNaXNzaW5nKTtcblx0dmFyIGludHJpbnNpY1JlYWxOYW1lID0gaW50cmluc2ljLm5hbWU7XG5cdHZhciB2YWx1ZSA9IGludHJpbnNpYy52YWx1ZTtcblx0dmFyIHNraXBGdXJ0aGVyQ2FjaGluZyA9IGZhbHNlO1xuXG5cdHZhciBhbGlhcyA9IGludHJpbnNpYy5hbGlhcztcblx0aWYgKGFsaWFzKSB7XG5cdFx0aW50cmluc2ljQmFzZU5hbWUgPSBhbGlhc1swXTtcblx0XHQkc3BsaWNlQXBwbHkocGFydHMsICRjb25jYXQoWzAsIDFdLCBhbGlhcykpO1xuXHR9XG5cblx0Zm9yICh2YXIgaSA9IDEsIGlzT3duID0gdHJ1ZTsgaSA8IHBhcnRzLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0dmFyIHBhcnQgPSBwYXJ0c1tpXTtcblx0XHR2YXIgZmlyc3QgPSAkc3RyU2xpY2UocGFydCwgMCwgMSk7XG5cdFx0dmFyIGxhc3QgPSAkc3RyU2xpY2UocGFydCwgLTEpO1xuXHRcdGlmIChcblx0XHRcdChcblx0XHRcdFx0KGZpcnN0ID09PSAnXCInIHx8IGZpcnN0ID09PSBcIidcIiB8fCBmaXJzdCA9PT0gJ2AnKVxuXHRcdFx0XHR8fCAobGFzdCA9PT0gJ1wiJyB8fCBsYXN0ID09PSBcIidcIiB8fCBsYXN0ID09PSAnYCcpXG5cdFx0XHQpXG5cdFx0XHQmJiBmaXJzdCAhPT0gbGFzdFxuXHRcdCkge1xuXHRcdFx0dGhyb3cgbmV3ICRTeW50YXhFcnJvcigncHJvcGVydHkgbmFtZXMgd2l0aCBxdW90ZXMgbXVzdCBoYXZlIG1hdGNoaW5nIHF1b3RlcycpO1xuXHRcdH1cblx0XHRpZiAocGFydCA9PT0gJ2NvbnN0cnVjdG9yJyB8fCAhaXNPd24pIHtcblx0XHRcdHNraXBGdXJ0aGVyQ2FjaGluZyA9IHRydWU7XG5cdFx0fVxuXG5cdFx0aW50cmluc2ljQmFzZU5hbWUgKz0gJy4nICsgcGFydDtcblx0XHRpbnRyaW5zaWNSZWFsTmFtZSA9ICclJyArIGludHJpbnNpY0Jhc2VOYW1lICsgJyUnO1xuXG5cdFx0aWYgKGhhc093bihJTlRSSU5TSUNTLCBpbnRyaW5zaWNSZWFsTmFtZSkpIHtcblx0XHRcdHZhbHVlID0gSU5UUklOU0lDU1tpbnRyaW5zaWNSZWFsTmFtZV07XG5cdFx0fSBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XG5cdFx0XHRpZiAoIShwYXJ0IGluIHZhbHVlKSkge1xuXHRcdFx0XHRpZiAoIWFsbG93TWlzc2luZykge1xuXHRcdFx0XHRcdHRocm93IG5ldyAkVHlwZUVycm9yKCdiYXNlIGludHJpbnNpYyBmb3IgJyArIG5hbWUgKyAnIGV4aXN0cywgYnV0IHRoZSBwcm9wZXJ0eSBpcyBub3QgYXZhaWxhYmxlLicpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB2b2lkIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHRcdGlmICgkZ09QRCAmJiAoaSArIDEpID49IHBhcnRzLmxlbmd0aCkge1xuXHRcdFx0XHR2YXIgZGVzYyA9ICRnT1BEKHZhbHVlLCBwYXJ0KTtcblx0XHRcdFx0aXNPd24gPSAhIWRlc2M7XG5cblx0XHRcdFx0Ly8gQnkgY29udmVudGlvbiwgd2hlbiBhIGRhdGEgcHJvcGVydHkgaXMgY29udmVydGVkIHRvIGFuIGFjY2Vzc29yXG5cdFx0XHRcdC8vIHByb3BlcnR5IHRvIGVtdWxhdGUgYSBkYXRhIHByb3BlcnR5IHRoYXQgZG9lcyBub3Qgc3VmZmVyIGZyb21cblx0XHRcdFx0Ly8gdGhlIG92ZXJyaWRlIG1pc3Rha2UsIHRoYXQgYWNjZXNzb3IncyBnZXR0ZXIgaXMgbWFya2VkIHdpdGhcblx0XHRcdFx0Ly8gYW4gYG9yaWdpbmFsVmFsdWVgIHByb3BlcnR5LiBIZXJlLCB3aGVuIHdlIGRldGVjdCB0aGlzLCB3ZVxuXHRcdFx0XHQvLyB1cGhvbGQgdGhlIGlsbHVzaW9uIGJ5IHByZXRlbmRpbmcgdG8gc2VlIHRoYXQgb3JpZ2luYWwgZGF0YVxuXHRcdFx0XHQvLyBwcm9wZXJ0eSwgaS5lLiwgcmV0dXJuaW5nIHRoZSB2YWx1ZSByYXRoZXIgdGhhbiB0aGUgZ2V0dGVyXG5cdFx0XHRcdC8vIGl0c2VsZi5cblx0XHRcdFx0aWYgKGlzT3duICYmICdnZXQnIGluIGRlc2MgJiYgISgnb3JpZ2luYWxWYWx1ZScgaW4gZGVzYy5nZXQpKSB7XG5cdFx0XHRcdFx0dmFsdWUgPSBkZXNjLmdldDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlW3BhcnRdO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpc093biA9IGhhc093bih2YWx1ZSwgcGFydCk7XG5cdFx0XHRcdHZhbHVlID0gdmFsdWVbcGFydF07XG5cdFx0XHR9XG5cblx0XHRcdGlmIChpc093biAmJiAhc2tpcEZ1cnRoZXJDYWNoaW5nKSB7XG5cdFx0XHRcdElOVFJJTlNJQ1NbaW50cmluc2ljUmVhbE5hbWVdID0gdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiB2YWx1ZTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/get-intrinsic/index.js\n")); - -/***/ }), - -/***/ "./node_modules/has-proto/index.js": -/*!*****************************************!*\ - !*** ./node_modules/has-proto/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXByb3RvL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFVBQVUsaUJBQWlCLHlCQUF5QixrQkFBa0I7QUFDdEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2hhcy1wcm90by9pbmRleC5qcz82ZjAyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHRlc3QgPSB7XG5cdGZvbzoge31cbn07XG5cbnZhciAkT2JqZWN0ID0gT2JqZWN0O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGhhc1Byb3RvKCkge1xuXHRyZXR1cm4geyBfX3Byb3RvX186IHRlc3QgfS5mb28gPT09IHRlc3QuZm9vICYmICEoeyBfX3Byb3RvX186IG51bGwgfSBpbnN0YW5jZW9mICRPYmplY3QpO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/has-proto/index.js\n")); - -/***/ }), - -/***/ "./node_modules/has-symbols/index.js": -/*!*******************************************!*\ - !*** ./node_modules/has-symbols/index.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = __webpack_require__(/*! ./shams */ \"./node_modules/has-symbols/shams.js\");\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQSxvQkFBb0IsbUJBQU8sQ0FBQyxvREFBUzs7QUFFckM7QUFDQSx5Q0FBeUM7QUFDekMscUNBQXFDO0FBQ3JDLDhDQUE4QztBQUM5QywwQ0FBMEM7O0FBRTFDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL2luZGV4LmpzPzJkNWMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgb3JpZ1N5bWJvbCA9IHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbDtcbnZhciBoYXNTeW1ib2xTaGFtID0gcmVxdWlyZSgnLi9zaGFtcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGhhc05hdGl2ZVN5bWJvbHMoKSB7XG5cdGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm4gZmFsc2U7IH1cblx0aWYgKHR5cGVvZiBTeW1ib2wgIT09ICdmdW5jdGlvbicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCgnZm9vJykgIT09ICdzeW1ib2wnKSB7IHJldHVybiBmYWxzZTsgfVxuXHRpZiAodHlwZW9mIFN5bWJvbCgnYmFyJykgIT09ICdzeW1ib2wnKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdHJldHVybiBoYXNTeW1ib2xTaGFtKCk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/has-symbols/index.js\n")); - -/***/ }), - -/***/ "./node_modules/has-symbols/shams.js": -/*!*******************************************!*\ - !*** ./node_modules/has-symbols/shams.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvc2hhbXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLDJGQUEyRjtBQUMzRiw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEMsa0VBQWtFO0FBQ2xFLHFFQUFxRTs7QUFFckU7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSx1Q0FBdUM7O0FBRXZDLDJEQUEyRDtBQUMzRCwrREFBK0Q7O0FBRS9EO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLDJFQUEyRTs7QUFFM0UseUdBQXlHOztBQUV6RztBQUNBLDZDQUE2Qzs7QUFFN0MsOERBQThEOztBQUU5RDtBQUNBO0FBQ0EsdUVBQXVFO0FBQ3ZFOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzP2NmN2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKiBlc2xpbnQgY29tcGxleGl0eTogWzIsIDE4XSwgbWF4LXN0YXRlbWVudHM6IFsyLCAzM10gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaGFzU3ltYm9scygpIHtcblx0aWYgKHR5cGVvZiBTeW1ib2wgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgIT09ICdmdW5jdGlvbicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICh0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSAnc3ltYm9sJykgeyByZXR1cm4gdHJ1ZTsgfVxuXG5cdHZhciBvYmogPSB7fTtcblx0dmFyIHN5bSA9IFN5bWJvbCgndGVzdCcpO1xuXHR2YXIgc3ltT2JqID0gT2JqZWN0KHN5bSk7XG5cdGlmICh0eXBlb2Ygc3ltID09PSAnc3RyaW5nJykgeyByZXR1cm4gZmFsc2U7IH1cblxuXHRpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN5bSkgIT09ICdbb2JqZWN0IFN5bWJvbF0nKSB7IHJldHVybiBmYWxzZTsgfVxuXHRpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN5bU9iaikgIT09ICdbb2JqZWN0IFN5bWJvbF0nKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdC8vIHRlbXAgZGlzYWJsZWQgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9samhhcmIvb2JqZWN0LmFzc2lnbi9pc3N1ZXMvMTdcblx0Ly8gaWYgKHN5bSBpbnN0YW5jZW9mIFN5bWJvbCkgeyByZXR1cm4gZmFsc2U7IH1cblx0Ly8gdGVtcCBkaXNhYmxlZCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL1dlYlJlZmxlY3Rpb24vZ2V0LW93bi1wcm9wZXJ0eS1zeW1ib2xzL2lzc3Vlcy80XG5cdC8vIGlmICghKHN5bU9iaiBpbnN0YW5jZW9mIFN5bWJvbCkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0Ly8gaWYgKHR5cGVvZiBTeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nICE9PSAnZnVuY3Rpb24nKSB7IHJldHVybiBmYWxzZTsgfVxuXHQvLyBpZiAoU3RyaW5nKHN5bSkgIT09IFN5bWJvbC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzeW0pKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdHZhciBzeW1WYWwgPSA0Mjtcblx0b2JqW3N5bV0gPSBzeW1WYWw7XG5cdGZvciAoc3ltIGluIG9iaikgeyByZXR1cm4gZmFsc2U7IH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tdW5yZWFjaGFibGUtbG9vcFxuXHRpZiAodHlwZW9mIE9iamVjdC5rZXlzID09PSAnZnVuY3Rpb24nICYmIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoICE9PSAwKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgPT09ICdmdW5jdGlvbicgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5sZW5ndGggIT09IDApIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0dmFyIHN5bXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iaik7XG5cdGlmIChzeW1zLmxlbmd0aCAhPT0gMSB8fCBzeW1zWzBdICE9PSBzeW0pIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0aWYgKCFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqLCBzeW0pKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHN5bSk7XG5cdFx0aWYgKGRlc2NyaXB0b3IudmFsdWUgIT09IHN5bVZhbCB8fCBkZXNjcmlwdG9yLmVudW1lcmFibGUgIT09IHRydWUpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdH1cblxuXHRyZXR1cm4gdHJ1ZTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/has-symbols/shams.js\n")); - -/***/ }), - -/***/ "./node_modules/has/src/index.js": -/*!***************************************!*\ - !*** ./node_modules/has/src/index.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzL3NyYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixXQUFXLG1CQUFPLENBQUMsNERBQWU7O0FBRWxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9oYXMvc3JjL2luZGV4LmpzPzMwNjciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYmluZCA9IHJlcXVpcmUoJ2Z1bmN0aW9uLWJpbmQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/has/src/index.js\n")); - -/***/ }), - -/***/ "./node_modules/ieee754/index.js": -/*!***************************************!*\ - !*** ./node_modules/ieee754/index.js ***! - \***************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsV0FBVzs7QUFFcEI7QUFDQTtBQUNBO0FBQ0EsU0FBUyxXQUFXOztBQUVwQjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLFdBQVc7O0FBRXBCO0FBQ0E7QUFDQSxTQUFTLFVBQVU7O0FBRW5CO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanM/ZWJjMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgaWVlZTc1NC4gQlNELTMtQ2xhdXNlIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuZXhwb3J0cy5yZWFkID0gZnVuY3Rpb24gKGJ1ZmZlciwgb2Zmc2V0LCBpc0xFLCBtTGVuLCBuQnl0ZXMpIHtcbiAgdmFyIGUsIG1cbiAgdmFyIGVMZW4gPSAobkJ5dGVzICogOCkgLSBtTGVuIC0gMVxuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMVxuICB2YXIgZUJpYXMgPSBlTWF4ID4+IDFcbiAgdmFyIG5CaXRzID0gLTdcbiAgdmFyIGkgPSBpc0xFID8gKG5CeXRlcyAtIDEpIDogMFxuICB2YXIgZCA9IGlzTEUgPyAtMSA6IDFcbiAgdmFyIHMgPSBidWZmZXJbb2Zmc2V0ICsgaV1cblxuICBpICs9IGRcblxuICBlID0gcyAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBzID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBlTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSAoZSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBtID0gZSAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBlID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBtTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IG0gPSAobSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBpZiAoZSA9PT0gMCkge1xuICAgIGUgPSAxIC0gZUJpYXNcbiAgfSBlbHNlIGlmIChlID09PSBlTWF4KSB7XG4gICAgcmV0dXJuIG0gPyBOYU4gOiAoKHMgPyAtMSA6IDEpICogSW5maW5pdHkpXG4gIH0gZWxzZSB7XG4gICAgbSA9IG0gKyBNYXRoLnBvdygyLCBtTGVuKVxuICAgIGUgPSBlIC0gZUJpYXNcbiAgfVxuICByZXR1cm4gKHMgPyAtMSA6IDEpICogbSAqIE1hdGgucG93KDIsIGUgLSBtTGVuKVxufVxuXG5leHBvcnRzLndyaXRlID0gZnVuY3Rpb24gKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlLCBtLCBjXG4gIHZhciBlTGVuID0gKG5CeXRlcyAqIDgpIC0gbUxlbiAtIDFcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDFcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxXG4gIHZhciBydCA9IChtTGVuID09PSAyMyA/IE1hdGgucG93KDIsIC0yNCkgLSBNYXRoLnBvdygyLCAtNzcpIDogMClcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKVxuICB2YXIgZCA9IGlzTEUgPyAxIDogLTFcbiAgdmFyIHMgPSB2YWx1ZSA8IDAgfHwgKHZhbHVlID09PSAwICYmIDEgLyB2YWx1ZSA8IDApID8gMSA6IDBcblxuICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKVxuXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5KSB7XG4gICAgbSA9IGlzTmFOKHZhbHVlKSA/IDEgOiAwXG4gICAgZSA9IGVNYXhcbiAgfSBlbHNlIHtcbiAgICBlID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLkxOMilcbiAgICBpZiAodmFsdWUgKiAoYyA9IE1hdGgucG93KDIsIC1lKSkgPCAxKSB7XG4gICAgICBlLS1cbiAgICAgIGMgKj0gMlxuICAgIH1cbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcbiAgICAgIHZhbHVlICs9IHJ0IC8gY1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSArPSBydCAqIE1hdGgucG93KDIsIDEgLSBlQmlhcylcbiAgICB9XG4gICAgaWYgKHZhbHVlICogYyA+PSAyKSB7XG4gICAgICBlKytcbiAgICAgIGMgLz0gMlxuICAgIH1cblxuICAgIGlmIChlICsgZUJpYXMgPj0gZU1heCkge1xuICAgICAgbSA9IDBcbiAgICAgIGUgPSBlTWF4XG4gICAgfSBlbHNlIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgbSA9ICgodmFsdWUgKiBjKSAtIDEpICogTWF0aC5wb3coMiwgbUxlbilcbiAgICAgIGUgPSBlICsgZUJpYXNcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHZhbHVlICogTWF0aC5wb3coMiwgZUJpYXMgLSAxKSAqIE1hdGgucG93KDIsIG1MZW4pXG4gICAgICBlID0gMFxuICAgIH1cbiAgfVxuXG4gIGZvciAoOyBtTGVuID49IDg7IGJ1ZmZlcltvZmZzZXQgKyBpXSA9IG0gJiAweGZmLCBpICs9IGQsIG0gLz0gMjU2LCBtTGVuIC09IDgpIHt9XG5cbiAgZSA9IChlIDw8IG1MZW4pIHwgbVxuICBlTGVuICs9IG1MZW5cbiAgZm9yICg7IGVMZW4gPiAwOyBidWZmZXJbb2Zmc2V0ICsgaV0gPSBlICYgMHhmZiwgaSArPSBkLCBlIC89IDI1NiwgZUxlbiAtPSA4KSB7fVxuXG4gIGJ1ZmZlcltvZmZzZXQgKyBpIC0gZF0gfD0gcyAqIDEyOFxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ieee754/index.js\n")); - -/***/ }), - -/***/ "./node_modules/inherits/inherits_browser.js": -/*!***************************************************!*\ - !*** ./node_modules/inherits/inherits_browser.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzP2UzYzYiXSwic291cmNlc0NvbnRlbnQiOlsiaWYgKHR5cGVvZiBPYmplY3QuY3JlYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIGltcGxlbWVudGF0aW9uIGZyb20gc3RhbmRhcmQgbm9kZS5qcyAndXRpbCcgbW9kdWxlXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgaWYgKHN1cGVyQ3Rvcikge1xuICAgICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3JcbiAgICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICAgICAgdmFsdWU6IGN0b3IsXG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9O1xufSBlbHNlIHtcbiAgLy8gb2xkIHNjaG9vbCBzaGltIGZvciBvbGQgYnJvd3NlcnNcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpbmhlcml0cyhjdG9yLCBzdXBlckN0b3IpIHtcbiAgICBpZiAoc3VwZXJDdG9yKSB7XG4gICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvclxuICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge31cbiAgICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGVcbiAgICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKClcbiAgICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvclxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inherits/inherits_browser.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/JsonRpcEngine.js": -/*!************************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/JsonRpcEngine.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.JsonRpcEngine = void 0;\nconst safe_event_emitter_1 = __importDefault(__webpack_require__(/*! @metamask/safe-event-emitter */ \"./node_modules/@metamask/safe-event-emitter/index.js\"));\nconst eth_rpc_errors_1 = __webpack_require__(/*! eth-rpc-errors */ \"./node_modules/eth-rpc-errors/dist/index.js\");\n/**\n * A JSON-RPC request and response processor.\n * Give it a stack of middleware, pass it requests, and get back responses.\n */\nclass JsonRpcEngine extends safe_event_emitter_1.default {\n constructor() {\n super();\n this._middleware = [];\n }\n /**\n * Add a middleware function to the engine's middleware stack.\n *\n * @param middleware - The middleware function to add.\n */\n push(middleware) {\n this._middleware.push(middleware);\n }\n handle(req, cb) {\n if (cb && typeof cb !== 'function') {\n throw new Error('\"callback\" must be a function if provided.');\n }\n if (Array.isArray(req)) {\n if (cb) {\n return this._handleBatch(req, cb);\n }\n return this._handleBatch(req);\n }\n if (cb) {\n return this._handle(req, cb);\n }\n return this._promiseHandle(req);\n }\n /**\n * Returns this engine as a middleware function that can be pushed to other\n * engines.\n *\n * @returns This engine as a middleware function.\n */\n asMiddleware() {\n return async (req, res, next, end) => {\n try {\n const [middlewareError, isComplete, returnHandlers,] = await JsonRpcEngine._runAllMiddleware(req, res, this._middleware);\n if (isComplete) {\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n return end(middlewareError);\n }\n return next(async (handlerCallback) => {\n try {\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n }\n catch (error) {\n return handlerCallback(error);\n }\n return handlerCallback();\n });\n }\n catch (error) {\n return end(error);\n }\n };\n }\n async _handleBatch(reqs, cb) {\n // The order here is important\n try {\n // 2. Wait for all requests to finish, or throw on some kind of fatal\n // error\n const responses = await Promise.all(\n // 1. Begin executing each request in the order received\n reqs.map(this._promiseHandle.bind(this)));\n // 3. Return batch response\n if (cb) {\n return cb(null, responses);\n }\n return responses;\n }\n catch (error) {\n if (cb) {\n return cb(error);\n }\n throw error;\n }\n }\n /**\n * A promise-wrapped _handle.\n */\n _promiseHandle(req) {\n return new Promise((resolve) => {\n this._handle(req, (_err, res) => {\n // There will always be a response, and it will always have any error\n // that is caught and propagated.\n resolve(res);\n });\n });\n }\n /**\n * Ensures that the request object is valid, processes it, and passes any\n * error and the response object to the given callback.\n *\n * Does not reject.\n */\n async _handle(callerReq, cb) {\n if (!callerReq ||\n Array.isArray(callerReq) ||\n typeof callerReq !== 'object') {\n const error = new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.invalidRequest, `Requests must be plain objects. Received: ${typeof callerReq}`, { request: callerReq });\n return cb(error, { id: undefined, jsonrpc: '2.0', error });\n }\n if (typeof callerReq.method !== 'string') {\n const error = new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.invalidRequest, `Must specify a string method. Received: ${typeof callerReq.method}`, { request: callerReq });\n return cb(error, { id: callerReq.id, jsonrpc: '2.0', error });\n }\n const req = Object.assign({}, callerReq);\n const res = {\n id: req.id,\n jsonrpc: req.jsonrpc,\n };\n let error = null;\n try {\n await this._processRequest(req, res);\n }\n catch (_error) {\n // A request handler error, a re-thrown middleware error, or something\n // unexpected.\n error = _error;\n }\n if (error) {\n // Ensure no result is present on an errored response\n delete res.result;\n if (!res.error) {\n res.error = eth_rpc_errors_1.serializeError(error);\n }\n }\n return cb(error, res);\n }\n /**\n * For the given request and response, runs all middleware and their return\n * handlers, if any, and ensures that internal request processing semantics\n * are satisfied.\n */\n async _processRequest(req, res) {\n const [error, isComplete, returnHandlers,] = await JsonRpcEngine._runAllMiddleware(req, res, this._middleware);\n // Throw if \"end\" was not called, or if the response has neither a result\n // nor an error.\n JsonRpcEngine._checkForCompletion(req, res, isComplete);\n // The return handlers should run even if an error was encountered during\n // middleware processing.\n await JsonRpcEngine._runReturnHandlers(returnHandlers);\n // Now we re-throw the middleware processing error, if any, to catch it\n // further up the call chain.\n if (error) {\n throw error;\n }\n }\n /**\n * Serially executes the given stack of middleware.\n *\n * @returns An array of any error encountered during middleware execution,\n * a boolean indicating whether the request was completed, and an array of\n * middleware-defined return handlers.\n */\n static async _runAllMiddleware(req, res, middlewareStack) {\n const returnHandlers = [];\n let error = null;\n let isComplete = false;\n // Go down stack of middleware, call and collect optional returnHandlers\n for (const middleware of middlewareStack) {\n [error, isComplete] = await JsonRpcEngine._runMiddleware(req, res, middleware, returnHandlers);\n if (isComplete) {\n break;\n }\n }\n return [error, isComplete, returnHandlers.reverse()];\n }\n /**\n * Runs an individual middleware.\n *\n * @returns An array of any error encountered during middleware exection,\n * and a boolean indicating whether the request should end.\n */\n static _runMiddleware(req, res, middleware, returnHandlers) {\n return new Promise((resolve) => {\n const end = (err) => {\n const error = err || res.error;\n if (error) {\n res.error = eth_rpc_errors_1.serializeError(error);\n }\n // True indicates that the request should end\n resolve([error, true]);\n };\n const next = (returnHandler) => {\n if (res.error) {\n end(res.error);\n }\n else {\n if (returnHandler) {\n if (typeof returnHandler !== 'function') {\n end(new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: \"next\" return handlers must be functions. ` +\n `Received \"${typeof returnHandler}\" for request:\\n${jsonify(req)}`, { request: req }));\n }\n returnHandlers.push(returnHandler);\n }\n // False indicates that the request should not end\n resolve([null, false]);\n }\n };\n try {\n middleware(req, res, next, end);\n }\n catch (error) {\n end(error);\n }\n });\n }\n /**\n * Serially executes array of return handlers. The request and response are\n * assumed to be in their scope.\n */\n static async _runReturnHandlers(handlers) {\n for (const handler of handlers) {\n await new Promise((resolve, reject) => {\n handler((err) => (err ? reject(err) : resolve()));\n });\n }\n }\n /**\n * Throws an error if the response has neither a result nor an error, or if\n * the \"isComplete\" flag is falsy.\n */\n static _checkForCompletion(req, res, isComplete) {\n if (!('result' in res) && !('error' in res)) {\n throw new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: Response has no error or result for request:\\n${jsonify(req)}`, { request: req });\n }\n if (!isComplete) {\n throw new eth_rpc_errors_1.EthereumRpcError(eth_rpc_errors_1.errorCodes.rpc.internal, `JsonRpcEngine: Nothing ended request:\\n${jsonify(req)}`, { request: req });\n }\n }\n}\nexports.JsonRpcEngine = JsonRpcEngine;\nfunction jsonify(request) {\n return JSON.stringify(request, null, 2);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblJwY0VuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Kc29uUnBjRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNGQUE0RDtBQUM1RCxtREFBOEU7QUF1RjlFOzs7R0FHRztBQUNILE1BQWEsYUFBYyxTQUFRLDRCQUFnQjtJQUdqRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLENBQU8sVUFBbUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBaUQsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUEyQ0QsTUFBTSxDQUFDLEdBQVksRUFBRSxFQUFRO1FBQzNCLElBQUksRUFBRSxJQUFJLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNuQztZQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQThCLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBOEIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVk7UUFDVixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQyxJQUFJ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# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvSnNvblJwY0VuZ2luZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQiw2Q0FBNkMsbUJBQU8sQ0FBQywwRkFBOEI7QUFDbkYseUJBQXlCLG1CQUFPLENBQUMsbUVBQWdCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2SkFBNkosaUJBQWlCLEtBQUssb0JBQW9CO0FBQ3ZNLCtCQUErQixzQ0FBc0M7QUFDckU7QUFDQTtBQUNBLDJKQUEySix3QkFBd0IsS0FBSyxvQkFBb0I7QUFDNU0sK0JBQStCLHlDQUF5QztBQUN4RTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxxQkFBcUIsa0JBQWtCLGFBQWEsS0FBSyxjQUFjO0FBQ3BIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0tBQWtLLGFBQWEsS0FBSyxjQUFjO0FBQ2xNO0FBQ0E7QUFDQSw0SUFBNEksYUFBYSxLQUFLLGNBQWM7QUFDNUs7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvSnNvblJwY0VuZ2luZS5qcz9iM2YxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Kc29uUnBjRW5naW5lID0gdm9pZCAwO1xuY29uc3Qgc2FmZV9ldmVudF9lbWl0dGVyXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIkBtZXRhbWFzay9zYWZlLWV2ZW50LWVtaXR0ZXJcIikpO1xuY29uc3QgZXRoX3JwY19lcnJvcnNfMSA9IHJlcXVpcmUoXCJldGgtcnBjLWVycm9yc1wiKTtcbi8qKlxuICogQSBKU09OLVJQQyByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9jZXNzb3IuXG4gKiBHaXZlIGl0IGEgc3RhY2sgb2YgbWlkZGxld2FyZSwgcGFzcyBpdCByZXF1ZXN0cywgYW5kIGdldCBiYWNrIHJlc3BvbnNlcy5cbiAqL1xuY2xhc3MgSnNvblJwY0VuZ2luZSBleHRlbmRzIHNhZmVfZXZlbnRfZW1pdHRlcl8xLmRlZmF1bHQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9taWRkbGV3YXJlID0gW107XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFkZCBhIG1pZGRsZXdhcmUgZnVuY3Rpb24gdG8gdGhlIGVuZ2luZSdzIG1pZGRsZXdhcmUgc3RhY2suXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWlkZGxld2FyZSAtIFRoZSBtaWRkbGV3YXJlIGZ1bmN0aW9uIHRvIGFkZC5cbiAgICAgKi9cbiAgICBwdXNoKG1pZGRsZXdhcmUpIHtcbiAgICAgICAgdGhpcy5fbWlkZGxld2FyZS5wdXNoKG1pZGRsZXdhcmUpO1xuICAgIH1cbiAgICBoYW5kbGUocmVxLCBjYikge1xuICAgICAgICBpZiAoY2IgJiYgdHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiY2FsbGJhY2tcIiBtdXN0IGJlIGEgZnVuY3Rpb24gaWYgcHJvdmlkZWQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVxKSkge1xuICAgICAgICAgICAgaWYgKGNiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZUJhdGNoKHJlcSwgY2IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZUJhdGNoKHJlcSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faGFuZGxlKHJlcSwgY2IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9taXNlSGFuZGxlKHJlcSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhpcyBlbmdpbmUgYXMgYSBtaWRkbGV3YXJlIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHB1c2hlZCB0byBvdGhlclxuICAgICAqIGVuZ2luZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGlzIGVuZ2luZSBhcyBhIG1pZGRsZXdhcmUgZnVuY3Rpb24uXG4gICAgICovXG4gICAgYXNNaWRkbGV3YXJlKCkge1xuICAgICAgICByZXR1cm4gYXN5bmMgKHJlcSwgcmVzLCBuZXh0LCBlbmQpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW21pZGRsZXdhcmVFcnJvciwgaXNDb21wbGV0ZSwgcmV0dXJuSGFuZGxlcnMsXSA9IGF3YWl0IEpzb25ScGNFbmdpbmUuX3J1bkFsbE1pZGRsZXdhcmUocmVxLCByZXMsIHRoaXMuX21pZGRsZXdhcmUpO1xuICAgICAgICAgICAgICAgIGlmIChpc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IEpzb25ScGNFbmdpbmUuX3J1blJldHVybkhhbmRsZXJzKHJldHVybkhhbmRsZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVuZChtaWRkbGV3YXJlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dChhc3luYyAoaGFuZGxlckNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBKc29uUnBjRW5naW5lLl9ydW5SZXR1cm5IYW5kbGVycyhyZXR1cm5IYW5kbGVycyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlckNhbGxiYWNrKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlckNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW5kKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgYXN5bmMgX2hhbmRsZUJhdGNoKHJlcXMsIGNiKSB7XG4gICAgICAgIC8vIFRoZSBvcmRlciBoZXJlIGlzIGltcG9ydGFudFxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gMi4gV2FpdCBmb3IgYWxsIHJlcXVlc3RzIHRvIGZpbmlzaCwgb3IgdGhyb3cgb24gc29tZSBraW5kIG9mIGZhdGFsXG4gICAgICAgICAgICAvLyBlcnJvclxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2VzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAvLyAxLiBCZWdpbiBleGVjdXRpbmcgZWFjaCByZXF1ZXN0IGluIHRoZSBvcmRlciByZWNlaXZlZFxuICAgICAgICAgICAgcmVxcy5tYXAodGhpcy5fcHJvbWlzZUhhbmRsZS5iaW5kKHRoaXMpKSk7XG4gICAgICAgICAgICAvLyAzLiBSZXR1cm4gYmF0Y2ggcmVzcG9uc2VcbiAgICAgICAgICAgIGlmIChjYikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYihudWxsLCByZXNwb25zZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlcztcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmIChjYikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYihlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIHByb21pc2Utd3JhcHBlZCBfaGFuZGxlLlxuICAgICAqL1xuICAgIF9wcm9taXNlSGFuZGxlKHJlcSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZShyZXEsIChfZXJyLCByZXMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBUaGVyZSB3aWxsIGFsd2F5cyBiZSBhIHJlc3BvbnNlLCBhbmQgaXQgd2lsbCBhbHdheXMgaGF2ZSBhbnkgZXJyb3JcbiAgICAgICAgICAgICAgICAvLyB0aGF0IGlzIGNhdWdodCBhbmQgcHJvcGFnYXRlZC5cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVuc3VyZXMgdGhhdCB0aGUgcmVxdWVzdCBvYmplY3QgaXMgdmFsaWQsIHByb2Nlc3NlcyBpdCwgYW5kIHBhc3NlcyBhbnlcbiAgICAgKiBlcnJvciBhbmQgdGhlIHJlc3BvbnNlIG9iamVjdCB0byB0aGUgZ2l2ZW4gY2FsbGJhY2suXG4gICAgICpcbiAgICAgKiBEb2VzIG5vdCByZWplY3QuXG4gICAgICovXG4gICAgYXN5bmMgX2hhbmRsZShjYWxsZXJSZXEsIGNiKSB7XG4gICAgICAgIGlmICghY2FsbGVyUmVxIHx8XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGNhbGxlclJlcSkgfHxcbiAgICAgICAgICAgIHR5cGVvZiBjYWxsZXJSZXEgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBldGhfcnBjX2Vycm9yc18xLkV0aGVyZXVtUnBjRXJyb3IoZXRoX3JwY19lcnJvcnNfMS5lcnJvckNvZGVzLnJwYy5pbnZhbGlkUmVxdWVzdCwgYFJlcXVlc3RzIG11c3QgYmUgcGxhaW4gb2JqZWN0cy4gUmVjZWl2ZWQ6ICR7dHlwZW9mIGNhbGxlclJlcX1gLCB7IHJlcXVlc3Q6IGNhbGxlclJlcSB9KTtcbiAgICAgICAgICAgIHJldHVybiBjYihlcnJvciwgeyBpZDogdW5kZWZpbmVkLCBqc29ucnBjOiAnMi4wJywgZXJyb3IgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsZXJSZXEubWV0aG9kICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgZXRoX3JwY19lcnJvcnNfMS5FdGhlcmV1bVJwY0Vycm9yKGV0aF9ycGNfZXJyb3JzXzEuZXJyb3JDb2Rlcy5ycGMuaW52YWxpZFJlcXVlc3QsIGBNdXN0IHNwZWNpZnkgYSBzdHJpbmcgbWV0aG9kLiBSZWNlaXZlZDogJHt0eXBlb2YgY2FsbGVyUmVxLm1ldGhvZH1gLCB7IHJlcXVlc3Q6IGNhbGxlclJlcSB9KTtcbiAgICAgICAgICAgIHJldHVybiBjYihlcnJvciwgeyBpZDogY2FsbGVyUmVxLmlkLCBqc29ucnBjOiAnMi4wJywgZXJyb3IgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVxID0gT2JqZWN0LmFzc2lnbih7fSwgY2FsbGVyUmVxKTtcbiAgICAgICAgY29uc3QgcmVzID0ge1xuICAgICAgICAgICAgaWQ6IHJlcS5pZCxcbiAgICAgICAgICAgIGpzb25ycGM6IHJlcS5qc29ucnBjLFxuICAgICAgICB9O1xuICAgICAgICBsZXQgZXJyb3IgPSBudWxsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcHJvY2Vzc1JlcXVlc3QocmVxLCByZXMpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEEgcmVxdWVzdCBoYW5kbGVyIGVycm9yLCBhIHJlLXRocm93biBtaWRkbGV3YXJlIGVycm9yLCBvciBzb21ldGhpbmdcbiAgICAgICAgICAgIC8vIHVuZXhwZWN0ZWQuXG4gICAgICAgICAgICBlcnJvciA9IF9lcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEVuc3VyZSBubyByZXN1bHQgaXMgcHJlc2VudCBvbiBhbiBlcnJvcmVkIHJlc3BvbnNlXG4gICAgICAgICAgICBkZWxldGUgcmVzLnJlc3VsdDtcbiAgICAgICAgICAgIGlmICghcmVzLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmVzLmVycm9yID0gZXRoX3JwY19lcnJvcnNfMS5zZXJpYWxpemVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNiKGVycm9yLCByZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGb3IgdGhlIGdpdmVuIHJlcXVlc3QgYW5kIHJlc3BvbnNlLCBydW5zIGFsbCBtaWRkbGV3YXJlIGFuZCB0aGVpciByZXR1cm5cbiAgICAgKiBoYW5kbGVycywgaWYgYW55LCBhbmQgZW5zdXJlcyB0aGF0IGludGVybmFsIHJlcXVlc3QgcHJvY2Vzc2luZyBzZW1hbnRpY3NcbiAgICAgKiBhcmUgc2F0aXNmaWVkLlxuICAgICAqL1xuICAgIGFzeW5jIF9wcm9jZXNzUmVxdWVzdChyZXEsIHJlcykge1xuICAgICAgICBjb25zdCBbZXJyb3IsIGlzQ29tcGxldGUsIHJldHVybkhhbmRsZXJzLF0gPSBhd2FpdCBKc29uUnBjRW5naW5lLl9ydW5BbGxNaWRkbGV3YXJlKHJlcSwgcmVzLCB0aGlzLl9taWRkbGV3YXJlKTtcbiAgICAgICAgLy8gVGhyb3cgaWYgXCJlbmRcIiB3YXMgbm90IGNhbGxlZCwgb3IgaWYgdGhlIHJlc3BvbnNlIGhhcyBuZWl0aGVyIGEgcmVzdWx0XG4gICAgICAgIC8vIG5vciBhbiBlcnJvci5cbiAgICAgICAgSnNvblJwY0VuZ2luZS5fY2hlY2tGb3JDb21wbGV0aW9uKHJlcSwgcmVzLCBpc0NvbXBsZXRlKTtcbiAgICAgICAgLy8gVGhlIHJldHVybiBoYW5kbGVycyBzaG91bGQgcnVuIGV2ZW4gaWYgYW4gZXJyb3Igd2FzIGVuY291bnRlcmVkIGR1cmluZ1xuICAgICAgICAvLyBtaWRkbGV3YXJlIHByb2Nlc3NpbmcuXG4gICAgICAgIGF3YWl0IEpzb25ScGNFbmdpbmUuX3J1blJldHVybkhhbmRsZXJzKHJldHVybkhhbmRsZXJzKTtcbiAgICAgICAgLy8gTm93IHdlIHJlLXRocm93IHRoZSBtaWRkbGV3YXJlIHByb2Nlc3NpbmcgZXJyb3IsIGlmIGFueSwgdG8gY2F0Y2ggaXRcbiAgICAgICAgLy8gZnVydGhlciB1cCB0aGUgY2FsbCBjaGFpbi5cbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXJpYWxseSBleGVjdXRlcyB0aGUgZ2l2ZW4gc3RhY2sgb2YgbWlkZGxld2FyZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFueSBlcnJvciBlbmNvdW50ZXJlZCBkdXJpbmcgbWlkZGxld2FyZSBleGVjdXRpb24sXG4gICAgICogYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgcmVxdWVzdCB3YXMgY29tcGxldGVkLCBhbmQgYW4gYXJyYXkgb2ZcbiAgICAgKiBtaWRkbGV3YXJlLWRlZmluZWQgcmV0dXJuIGhhbmRsZXJzLlxuICAgICAqL1xuICAgIHN0YXRpYyBhc3luYyBfcnVuQWxsTWlkZGxld2FyZShyZXEsIHJlcywgbWlkZGxld2FyZVN0YWNrKSB7XG4gICAgICAgIGNvbnN0IHJldHVybkhhbmRsZXJzID0gW107XG4gICAgICAgIGxldCBlcnJvciA9IG51bGw7XG4gICAgICAgIGxldCBpc0NvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIC8vIEdvIGRvd24gc3RhY2sgb2YgbWlkZGxld2FyZSwgY2FsbCBhbmQgY29sbGVjdCBvcHRpb25hbCByZXR1cm5IYW5kbGVyc1xuICAgICAgICBmb3IgKGNvbnN0IG1pZGRsZXdhcmUgb2YgbWlkZGxld2FyZVN0YWNrKSB7XG4gICAgICAgICAgICBbZXJyb3IsIGlzQ29tcGxldGVdID0gYXdhaXQgSnNvblJwY0VuZ2luZS5fcnVuTWlkZGxld2FyZShyZXEsIHJlcywgbWlkZGxld2FyZSwgcmV0dXJuSGFuZGxlcnMpO1xuICAgICAgICAgICAgaWYgKGlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2Vycm9yLCBpc0NvbXBsZXRlLCByZXR1cm5IYW5kbGVycy5yZXZlcnNlKCldO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSdW5zIGFuIGluZGl2aWR1YWwgbWlkZGxld2FyZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFueSBlcnJvciBlbmNvdW50ZXJlZCBkdXJpbmcgbWlkZGxld2FyZSBleGVjdGlvbixcbiAgICAgKiBhbmQgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgcmVxdWVzdCBzaG91bGQgZW5kLlxuICAgICAqL1xuICAgIHN0YXRpYyBfcnVuTWlkZGxld2FyZShyZXEsIHJlcywgbWlkZGxld2FyZSwgcmV0dXJuSGFuZGxlcnMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBlcnIgfHwgcmVzLmVycm9yO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZXMuZXJyb3IgPSBldGhfcnBjX2Vycm9yc18xLnNlcmlhbGl6ZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVHJ1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdCBzaG91bGQgZW5kXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShbZXJyb3IsIHRydWVdKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gKHJldHVybkhhbmRsZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZChyZXMuZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJldHVybkhhbmRsZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmV0dXJuSGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZChuZXcgZXRoX3JwY19lcnJvcnNfMS5FdGhlcmV1bVJwY0Vycm9yKGV0aF9ycGNfZXJyb3JzXzEuZXJyb3JDb2Rlcy5ycGMuaW50ZXJuYWwsIGBKc29uUnBjRW5naW5lOiBcIm5leHRcIiByZXR1cm4gaGFuZGxlcnMgbXVzdCBiZSBmdW5jdGlvbnMuIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUmVjZWl2ZWQgXCIke3R5cGVvZiByZXR1cm5IYW5kbGVyfVwiIGZvciByZXF1ZXN0OlxcbiR7anNvbmlmeShyZXEpfWAsIHsgcmVxdWVzdDogcmVxIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkhhbmRsZXJzLnB1c2gocmV0dXJuSGFuZGxlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gRmFsc2UgaW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3Qgc2hvdWxkIG5vdCBlbmRcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShbbnVsbCwgZmFsc2VdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBtaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0LCBlbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgZW5kKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNlcmlhbGx5IGV4ZWN1dGVzIGFycmF5IG9mIHJldHVybiBoYW5kbGVycy4gVGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFyZVxuICAgICAqIGFzc3VtZWQgdG8gYmUgaW4gdGhlaXIgc2NvcGUuXG4gICAgICovXG4gICAgc3RhdGljIGFzeW5jIF9ydW5SZXR1cm5IYW5kbGVycyhoYW5kbGVycykge1xuICAgICAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgaGFuZGxlcnMpIHtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyKChlcnIpID0+IChlcnIgPyByZWplY3QoZXJyKSA6IHJlc29sdmUoKSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSByZXNwb25zZSBoYXMgbmVpdGhlciBhIHJlc3VsdCBub3IgYW4gZXJyb3IsIG9yIGlmXG4gICAgICogdGhlIFwiaXNDb21wbGV0ZVwiIGZsYWcgaXMgZmFsc3kuXG4gICAgICovXG4gICAgc3RhdGljIF9jaGVja0ZvckNvbXBsZXRpb24ocmVxLCByZXMsIGlzQ29tcGxldGUpIHtcbiAgICAgICAgaWYgKCEoJ3Jlc3VsdCcgaW4gcmVzKSAmJiAhKCdlcnJvcicgaW4gcmVzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IGV0aF9ycGNfZXJyb3JzXzEuRXRoZXJldW1ScGNFcnJvcihldGhfcnBjX2Vycm9yc18xLmVycm9yQ29kZXMucnBjLmludGVybmFsLCBgSnNvblJwY0VuZ2luZTogUmVzcG9uc2UgaGFzIG5vIGVycm9yIG9yIHJlc3VsdCBmb3IgcmVxdWVzdDpcXG4ke2pzb25pZnkocmVxKX1gLCB7IHJlcXVlc3Q6IHJlcSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBldGhfcnBjX2Vycm9yc18xLkV0aGVyZXVtUnBjRXJyb3IoZXRoX3JwY19lcnJvcnNfMS5lcnJvckNvZGVzLnJwYy5pbnRlcm5hbCwgYEpzb25ScGNFbmdpbmU6IE5vdGhpbmcgZW5kZWQgcmVxdWVzdDpcXG4ke2pzb25pZnkocmVxKX1gLCB7IHJlcXVlc3Q6IHJlcSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuSnNvblJwY0VuZ2luZSA9IEpzb25ScGNFbmdpbmU7XG5mdW5jdGlvbiBqc29uaWZ5KHJlcXVlc3QpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVxdWVzdCwgbnVsbCwgMik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lTbk52YmxKd1kwVnVaMmx1WlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1TDNOeVl5OUtjMjl1VW5CalJXNW5hVzVsTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenRCUVVGQkxITkdRVUUwUkR0QlFVTTFSQ3h0UkVGQk9FVTdRVUYxUmpsRk96czdSMEZIUnp0QlFVTklMRTFCUVdFc1lVRkJZeXhUUVVGUkxEUkNRVUZuUWp0SlFVZHFSRHRSUVVORkxFdEJRVXNzUlVGQlJTeERRVUZETzFGQlExSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhGUVVGRkxFTkJRVU03U1VGRGVFSXNRMEZCUXp0SlFVVkVPenM3TzA5QlNVYzdTVUZEU0N4SlFVRkpMRU5CUVU4c1ZVRkJiVU03VVVGRE5VTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQmFVUXNRMEZCUXl4RFFVRkRPMGxCUXpORkxFTkJRVU03U1VFeVEwUXNUVUZCVFN4RFFVRkRMRWRCUVZrc1JVRkJSU3hGUVVGUk8xRkJRek5DTEVsQlFVa3NSVUZCUlN4SlFVRkpMRTlCUVU4c1JVRkJSU3hMUVVGTExGVkJRVlVzUlVGQlJUdFpRVU5zUXl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExEUkRRVUUwUXl4RFFVRkRMRU5CUVVNN1UwRkRMMFE3VVVGRlJDeEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3V1VGRGRFSXNTVUZCU1N4RlFVRkZMRVZCUVVVN1owSkJRMDRzVDBGQlR5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dGhRVU51UXp0WlFVTkVMRTlCUVU4c1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTXZRanRSUVVWRUxFbEJRVWtzUlVGQlJTeEZRVUZGTzFsQlEwNHNUMEZCVHl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVGhDTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1UwRkRla1E3VVVGRFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1IwRkJPRUlzUTBGQlF5eERRVUZETzBsQlF6ZEVMRU5CUVVNN1NVRkZSRHM3T3pzN1QwRkxSenRKUVVOSUxGbEJRVms3VVVGRFZpeFBRVUZQTEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlR0WlFVTnVReXhKUVVGSk8yZENRVU5HTEUxQlFVMHNRMEZEU2l4bFFVRmxMRVZCUTJZc1ZVRkJWU3hGUVVOV0xHTkJRV01zUlVGRFppeEhRVUZITEUxQlFVMHNZVUZCWVN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzJkQ1FVVjBSU3hKUVVGSkxGVkJRVlVzUlVGQlJUdHZRa0ZEWkN4TlFVRk5MR0ZCUVdFc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenR2UWtGRGRrUXNUMEZCVHl4SFFVRkhMRU5CUVVNc1pVRkJOa01zUTBGQlF5eERRVUZETzJsQ1FVTXpSRHRuUWtGRlJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1pVRkJaU3hGUVVGRkxFVkJRVVU3YjBKQlEzQkRMRWxCUVVrN2QwSkJRMFlzVFVGQlRTeGhRVUZoTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTTdjVUpCUTNoRU8yOUNRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZPM2RDUVVOa0xFOUJRVThzWlVGQlpTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPM0ZDUVVNdlFqdHZRa0ZEUkN4UFFVRlBMR1ZCUVdVc1JVRkJSU3hEUVVGRE8yZENRVU16UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVOS08xbEJRVU1zVDBGQlR5eExRVUZMTEVWQlFVVTdaMEpCUTJRc1QwRkJUeXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdZVUZEYmtJN1VVRkRTQ3hEUVVGRExFTkJRVU03U1VGRFNpeERRVUZETzBsQmFVSlBMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRM2hDTEVsQlFTdENMRVZCUXk5Q0xFVkJRWEZGTzFGQlJYSkZMRGhDUVVFNFFqdFJRVU01UWl4SlFVRkpPMWxCUTBZc2NVVkJRWEZGTzFsQlEzSkZMRkZCUVZFN1dVRkRVaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhPMWxCUTJwRExIZEVRVUYzUkR0WlFVTjRSQ3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlEzcERMRU5CUVVNN1dVRkZSaXd5UWtGQk1rSTdXVUZETTBJc1NVRkJTU3hGUVVGRkxFVkJRVVU3WjBKQlEwNHNUMEZCVHl4RlFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETzJGQlF6VkNPMWxCUTBRc1QwRkJUeXhUUVVGVExFTkJRVU03VTBGRGJFSTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSVHRaUVVOa0xFbEJRVWtzUlVGQlJTeEZRVUZGTzJkQ1FVTk9MRTlCUVU4c1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJGQlEyeENPMWxCUlVRc1RVRkJUU3hMUVVGTExFTkJRVU03VTBGRFlqdEpRVU5JTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOTExHTkJRV01zUTBGRGNFSXNSMEZCTkVJN1VVRkZOVUlzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVGRk8xbEJRemRDTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMmRDUVVNNVFpeHhSVUZCY1VVN1owSkJRM0pGTEdsRFFVRnBRenRuUWtGRGFrTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMllzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEVEN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOTUxFTkJRVU03U1VGRlJEczdPenM3VDBGTFJ6dEpRVU5MTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUTI1Q0xGTkJRV3RETEVWQlEyeERMRVZCUVdkRk8xRkJSV2hGTEVsQlEwVXNRMEZCUXl4VFFVRlRPMWxCUTFZc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eFRRVUZUTEVOQlFVTTdXVUZEZUVJc1QwRkJUeXhUUVVGVExFdEJRVXNzVVVGQlVTeEZRVU0zUWp0WlFVTkJMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzYVVOQlFXZENMRU5CUTJoRExESkNRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMR05CUVdNc1JVRkROMElzTmtOQlFUWkRMRTlCUVU4c1UwRkJVeXhGUVVGRkxFVkJReTlFTEVWQlFVVXNUMEZCVHl4RlFVRkZMRk5CUVZNc1JVRkJSU3hEUVVOMlFpeERRVUZETzFsQlEwWXNUMEZCVHl4RlFVRkZMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzUlVGQlJTeEZRVUZGTEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTTdVMEZETlVRN1VVRkZSQ3hKUVVGSkxFOUJRVThzVTBGQlV5eERRVUZETEUxQlFVMHNTMEZCU3l4UlFVRlJMRVZCUVVVN1dVRkRlRU1zVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4cFEwRkJaMElzUTBGRGFFTXNNa0pCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zWTBGQll5eEZRVU0zUWl3eVEwRkJNa01zVDBGQlR5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUTNCRkxFVkJRVVVzVDBGQlR5eEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVTjJRaXhEUVVGRE8xbEJRMFlzVDBGQlR5eEZRVUZGTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxGTkJRVk1zUTBGQlF5eEZRVUZGTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETzFOQlF5OUVPMUZCUlVRc1RVRkJUU3hIUVVGSExIRkNRVUZwUXl4VFFVRlRMRU5CUVVVc1EwRkJRenRSUVVOMFJDeE5RVUZOTEVkQlFVY3NSMEZCYjBNN1dVRkRNME1zUlVGQlJTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RlFVRkZPMWxCUTFZc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGQlF5eFBRVUZQTzFOQlEzSkNMRU5CUVVNN1VVRkRSaXhKUVVGSkxFdEJRVXNzUjBGQkswSXNTVUZCU1N4RFFVRkRPMUZCUlRkRExFbEJRVWs3V1VGRFJpeE5RVUZOTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEzUkRPMUZCUVVNc1QwRkJUeXhOUVVGTkxFVkJRVVU3V1VGRFppeHpSVUZCYzBVN1dVRkRkRVVzWTBGQll6dFpRVU5rTEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNN1UwRkRhRUk3VVVGRlJDeEpRVUZKTEV0QlFVc3NSVUZCUlR0WlFVTlVMSEZFUVVGeFJEdFpRVU55UkN4UFFVRlBMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU03V1VGRGJFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVU3WjBKQlEyUXNSMEZCUnl4RFFVRkRMRXRCUVVzc1IwRkJSeXdyUWtGQll5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMkZCUTI1RE8xTkJRMFk3VVVGRlJDeFBRVUZQTEVWQlFVVXNRMEZCUXl4TFFVRkxMRVZCUVVVc1IwRkJLMElzUTBGQlF5eERRVUZETzBsQlEzQkVMRU5CUVVNN1NVRkZSRHM3T3p0UFFVbEhPMGxCUTBzc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGRE0wSXNSMEZCTkVJc1JVRkROVUlzUjBGQmIwTTdVVUZGY0VNc1RVRkJUU3hEUVVOS0xFdEJRVXNzUlVGRFRDeFZRVUZWTEVWQlExWXNZMEZCWXl4RlFVTm1MRWRCUVVjc1RVRkJUU3hoUVVGaExFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkZkRVVzZVVWQlFYbEZPMUZCUTNwRkxHZENRVUZuUWp0UlFVTm9RaXhoUVVGaExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVVjRSQ3g1UlVGQmVVVTdVVUZEZWtVc2VVSkJRWGxDTzFGQlEzcENMRTFCUVUwc1lVRkJZU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8xRkJSWFpFTEhWRlFVRjFSVHRSUVVOMlJTdzJRa0ZCTmtJN1VVRkROMElzU1VGQlNTeExRVUZMTEVWQlFVVTdXVUZEVkN4TlFVRk5MRXRCUVVzc1EwRkJRenRUUVVOaU8wbEJRMGdzUTBGQlF6dEpRVVZFT3pzN096czdUMEZOUnp0SlFVTkxMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zYVVKQlFXbENMRU5CUTNCRExFZEJRVFJDTEVWQlF6VkNMRWRCUVc5RExFVkJRM0JETEdWQlFYTkVPMUZCVVhSRUxFMUJRVTBzWTBGQll5eEhRVUZwUXl4RlFVRkZMRU5CUVVNN1VVRkRlRVFzU1VGQlNTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTJwQ0xFbEJRVWtzVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVVjJRaXgzUlVGQmQwVTdVVUZEZUVVc1MwRkJTeXhOUVVGTkxGVkJRVlVzU1VGQlNTeGxRVUZsTEVWQlFVVTdXVUZEZUVNc1EwRkJReXhMUVVGTExFVkJRVVVzVlVGQlZTeERRVUZETEVkQlFVY3NUVUZCVFN4aFFVRmhMRU5CUVVNc1kwRkJZeXhEUVVOMFJDeEhRVUZITEVWQlEwZ3NSMEZCUnl4RlFVTklMRlZCUVZVc1JVRkRWaXhqUVVGakxFTkJRMllzUTBGQlF6dFpRVU5HTEVsQlFVa3NWVUZCVlN4RlFVRkZPMmRDUVVOa0xFMUJRVTA3WVVGRFVEdFRRVU5HTzFGQlEwUXNUMEZCVHl4RFFVRkRMRXRCUVVzc1JVRkJSU3hWUVVGVkxFVkJRVVVzWTBGQll5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRka1FzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwc3NUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkRNMElzUjBGQk5FSXNSVUZETlVJc1IwRkJiME1zUlVGRGNFTXNWVUZCSzBNc1JVRkRMME1zWTBGQk5FTTdVVUZGTlVNc1QwRkJUeXhKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZPMWxCUXpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUUyUWl4RFFVRkRMRWRCUVdFc1JVRkJSU3hGUVVGRk8yZENRVU4wUkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXp0blFrRkRMMElzU1VGQlNTeExRVUZMTEVWQlFVVTdiMEpCUTFRc1IwRkJSeXhEUVVGRExFdEJRVXNzUjBGQlJ5d3JRa0ZCWXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8ybENRVU51UXp0blFrRkRSQ3cyUTBGQk5rTTdaMEpCUXpkRExFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM3BDTEVOQlFVTXNRMEZCUXp0WlFVVkdMRTFCUVUwc1NVRkJTU3hIUVVFNFFpeERRVU4wUXl4aFFVRXdReXhGUVVNeFF5eEZRVUZGTzJkQ1FVTkdMRWxCUVVrc1IwRkJSeXhEUVVGRExFdEJRVXNzUlVGQlJUdHZRa0ZEWWl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJsQ1FVTm9RanR4UWtGQlRUdHZRa0ZEVEN4SlFVRkpMR0ZCUVdFc1JVRkJSVHQzUWtGRGFrSXNTVUZCU1N4UFFVRlBMR0ZCUVdFc1MwRkJTeXhWUVVGVkxFVkJRVVU3TkVKQlEzWkRMRWRCUVVjc1EwRkRSQ3hKUVVGSkxHbERRVUZuUWl4RFFVTnNRaXd5UWtGQlZTeERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRVZCUTNaQ0xESkVRVUV5UkR0blEwRkRla1FzWVVGQllTeFBRVUZQTEdGQlFXRXNiVUpCUVcxQ0xFOUJRVThzUTBGRGVrUXNSMEZCUnl4RFFVTktMRVZCUVVVc1JVRkRUQ3hGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZEYWtJc1EwRkRSaXhEUVVGRE8zbENRVU5JTzNkQ1FVTkVMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdjVUpCUTNCRE8yOUNRVVZFTEd0RVFVRnJSRHR2UWtGRGJFUXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdhVUpCUTNoQ08xbEJRMGdzUTBGQlF5eERRVUZETzFsQlJVWXNTVUZCU1R0blFrRkRSaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03WVVGRGFrTTdXVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSVHRuUWtGRFpDeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1lVRkRXanRSUVVOSUxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVkVPenM3VDBGSFJ6dEpRVU5MTEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEVOQlEzSkRMRkZCUVhORE8xRkJSWFJETEV0QlFVc3NUVUZCVFN4UFFVRlBMRWxCUVVrc1VVRkJVU3hGUVVGRk8xbEJRemxDTEUxQlFVMHNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEVWQlFVVTdaMEpCUTNCRExFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNCRUxFTkJRVU1zUTBGQlF5eERRVUZETzFOQlEwbzdTVUZEU0N4RFFVRkRPMGxCUlVRN096dFBRVWRITzBsQlEwc3NUVUZCVFN4RFFVRkRMRzFDUVVGdFFpeERRVU5vUXl4SFFVRTBRaXhGUVVNMVFpeEhRVUZ2UXl4RlFVTndReXhWUVVGdFFqdFJRVVZ1UWl4SlFVRkpMRU5CUVVNc1EwRkJReXhSUVVGUkxFbEJRVWtzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRTlCUVU4c1NVRkJTU3hIUVVGSExFTkJRVU1zUlVGQlJUdFpRVU16UXl4TlFVRk5MRWxCUVVrc2FVTkJRV2RDTEVOQlEzaENMREpDUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEZGQlFWRXNSVUZEZGtJc1owVkJRV2RGTEU5QlFVOHNRMEZEY2tVc1IwRkJSeXhEUVVOS0xFVkJRVVVzUlVGRFNDeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkRha0lzUTBGQlF6dFRRVU5JTzFGQlEwUXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSVHRaUVVObUxFMUJRVTBzU1VGQlNTeHBRMEZCWjBJc1EwRkRlRUlzTWtKQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1VVRkJVU3hGUVVOMlFpd3dRMEZCTUVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVWQlEzaEVMRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVU5xUWl4RFFVRkRPMU5CUTBnN1NVRkRTQ3hEUVVGRE8wTkJRMFk3UVVGeVdVUXNjME5CY1ZsRE8wRkJSVVFzVTBGQlV5eFBRVUZQTEVOQlFVTXNUMEZCWjBNN1NVRkRMME1zVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETVVNc1EwRkJReUo5Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/JsonRpcEngine.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/createAsyncMiddleware.js": -/*!********************************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/createAsyncMiddleware.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createAsyncMiddleware = void 0;\n/**\n * JsonRpcEngine only accepts callback-based middleware directly.\n * createAsyncMiddleware exists to enable consumers to pass in async middleware\n * functions.\n *\n * Async middleware have no \"end\" function. Instead, they \"end\" if they return\n * without calling \"next\". Rather than passing in explicit return handlers,\n * async middleware can simply await \"next\", and perform operations on the\n * response object when execution resumes.\n *\n * To accomplish this, createAsyncMiddleware passes the async middleware a\n * wrapped \"next\" function. That function calls the internal JsonRpcEngine\n * \"next\" function with a return handler that resolves a promise when called.\n *\n * The return handler will always be called. Its resolution of the promise\n * enables the control flow described above.\n */\nfunction createAsyncMiddleware(asyncMiddleware) {\n return async (req, res, next, end) => {\n // nextPromise is the key to the implementation\n // it is resolved by the return handler passed to the\n // \"next\" function\n let resolveNextPromise;\n const nextPromise = new Promise((resolve) => {\n resolveNextPromise = resolve;\n });\n let returnHandlerCallback = null;\n let nextWasCalled = false;\n // This will be called by the consumer's async middleware.\n const asyncNext = async () => {\n nextWasCalled = true;\n // We pass a return handler to next(). When it is called by the engine,\n // the consumer's async middleware will resume executing.\n // eslint-disable-next-line node/callback-return\n next((runReturnHandlersCallback) => {\n // This callback comes from JsonRpcEngine._runReturnHandlers\n returnHandlerCallback = runReturnHandlersCallback;\n resolveNextPromise();\n });\n await nextPromise;\n };\n try {\n await asyncMiddleware(req, res, asyncNext);\n if (nextWasCalled) {\n await nextPromise; // we must wait until the return handler is called\n returnHandlerCallback(null);\n }\n else {\n end(null);\n }\n }\n catch (error) {\n if (returnHandlerCallback) {\n returnHandlerCallback(error);\n }\n else {\n end(error);\n }\n }\n };\n}\nexports.createAsyncMiddleware = createAsyncMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXN5bmNNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZUFzeW5jTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsZUFBNkM7SUFFN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsK0NBQStDO1FBQy9DLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsSUFBSSxrQkFBOEIsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUkscUJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQzFDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUUxQiwwREFBMEQ7UUFDMUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDM0IsYUFBYSxHQUFHLElBQUksQ0FBQztZQUVyQix1RUFBdUU7WUFDdkUseURBQXlEO1lBQ3pELGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFO2dCQUNqQyw0REFBNEQ7Z0JBQzVELHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO2dCQUNsRCxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxXQUFXLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBRUYsSUFBSTtZQUNGLE1BQU0sZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFM0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE1BQU0sV0FBVyxDQUFDLENBQUMsa0RBQWtEO2dCQUNwRSxxQkFBK0MsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4RDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDWDtTQUNGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLHFCQUFxQixFQUFFO2dCQUN4QixxQkFBK0MsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDWjtTQUNGO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQS9DRCxzREErQ0MifQ==//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvY3JlYXRlQXN5bmNNaWRkbGV3YXJlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QiwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2pzb24tcnBjLWVuZ2luZS9kaXN0L2NyZWF0ZUFzeW5jTWlkZGxld2FyZS5qcz9iNjMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVBc3luY01pZGRsZXdhcmUgPSB2b2lkIDA7XG4vKipcbiAqIEpzb25ScGNFbmdpbmUgb25seSBhY2NlcHRzIGNhbGxiYWNrLWJhc2VkIG1pZGRsZXdhcmUgZGlyZWN0bHkuXG4gKiBjcmVhdGVBc3luY01pZGRsZXdhcmUgZXhpc3RzIHRvIGVuYWJsZSBjb25zdW1lcnMgdG8gcGFzcyBpbiBhc3luYyBtaWRkbGV3YXJlXG4gKiBmdW5jdGlvbnMuXG4gKlxuICogQXN5bmMgbWlkZGxld2FyZSBoYXZlIG5vIFwiZW5kXCIgZnVuY3Rpb24uIEluc3RlYWQsIHRoZXkgXCJlbmRcIiBpZiB0aGV5IHJldHVyblxuICogd2l0aG91dCBjYWxsaW5nIFwibmV4dFwiLiBSYXRoZXIgdGhhbiBwYXNzaW5nIGluIGV4cGxpY2l0IHJldHVybiBoYW5kbGVycyxcbiAqIGFzeW5jIG1pZGRsZXdhcmUgY2FuIHNpbXBseSBhd2FpdCBcIm5leHRcIiwgYW5kIHBlcmZvcm0gb3BlcmF0aW9ucyBvbiB0aGVcbiAqIHJlc3BvbnNlIG9iamVjdCB3aGVuIGV4ZWN1dGlvbiByZXN1bWVzLlxuICpcbiAqIFRvIGFjY29tcGxpc2ggdGhpcywgY3JlYXRlQXN5bmNNaWRkbGV3YXJlIHBhc3NlcyB0aGUgYXN5bmMgbWlkZGxld2FyZSBhXG4gKiB3cmFwcGVkIFwibmV4dFwiIGZ1bmN0aW9uLiBUaGF0IGZ1bmN0aW9uIGNhbGxzIHRoZSBpbnRlcm5hbCBKc29uUnBjRW5naW5lXG4gKiBcIm5leHRcIiBmdW5jdGlvbiB3aXRoIGEgcmV0dXJuIGhhbmRsZXIgdGhhdCByZXNvbHZlcyBhIHByb21pc2Ugd2hlbiBjYWxsZWQuXG4gKlxuICogVGhlIHJldHVybiBoYW5kbGVyIHdpbGwgYWx3YXlzIGJlIGNhbGxlZC4gSXRzIHJlc29sdXRpb24gb2YgdGhlIHByb21pc2VcbiAqIGVuYWJsZXMgdGhlIGNvbnRyb2wgZmxvdyBkZXNjcmliZWQgYWJvdmUuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUFzeW5jTWlkZGxld2FyZShhc3luY01pZGRsZXdhcmUpIHtcbiAgICByZXR1cm4gYXN5bmMgKHJlcSwgcmVzLCBuZXh0LCBlbmQpID0+IHtcbiAgICAgICAgLy8gbmV4dFByb21pc2UgaXMgdGhlIGtleSB0byB0aGUgaW1wbGVtZW50YXRpb25cbiAgICAgICAgLy8gaXQgaXMgcmVzb2x2ZWQgYnkgdGhlIHJldHVybiBoYW5kbGVyIHBhc3NlZCB0byB0aGVcbiAgICAgICAgLy8gXCJuZXh0XCIgZnVuY3Rpb25cbiAgICAgICAgbGV0IHJlc29sdmVOZXh0UHJvbWlzZTtcbiAgICAgICAgY29uc3QgbmV4dFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZU5leHRQcm9taXNlID0gcmVzb2x2ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCByZXR1cm5IYW5kbGVyQ2FsbGJhY2sgPSBudWxsO1xuICAgICAgICBsZXQgbmV4dFdhc0NhbGxlZCA9IGZhbHNlO1xuICAgICAgICAvLyBUaGlzIHdpbGwgYmUgY2FsbGVkIGJ5IHRoZSBjb25zdW1lcidzIGFzeW5jIG1pZGRsZXdhcmUuXG4gICAgICAgIGNvbnN0IGFzeW5jTmV4dCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIG5leHRXYXNDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgLy8gV2UgcGFzcyBhIHJldHVybiBoYW5kbGVyIHRvIG5leHQoKS4gV2hlbiBpdCBpcyBjYWxsZWQgYnkgdGhlIGVuZ2luZSxcbiAgICAgICAgICAgIC8vIHRoZSBjb25zdW1lcidzIGFzeW5jIG1pZGRsZXdhcmUgd2lsbCByZXN1bWUgZXhlY3V0aW5nLlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vZGUvY2FsbGJhY2stcmV0dXJuXG4gICAgICAgICAgICBuZXh0KChydW5SZXR1cm5IYW5kbGVyc0NhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBjYWxsYmFjayBjb21lcyBmcm9tIEpzb25ScGNFbmdpbmUuX3J1blJldHVybkhhbmRsZXJzXG4gICAgICAgICAgICAgICAgcmV0dXJuSGFuZGxlckNhbGxiYWNrID0gcnVuUmV0dXJuSGFuZGxlcnNDYWxsYmFjaztcbiAgICAgICAgICAgICAgICByZXNvbHZlTmV4dFByb21pc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgbmV4dFByb21pc2U7XG4gICAgICAgIH07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBhc3luY01pZGRsZXdhcmUocmVxLCByZXMsIGFzeW5jTmV4dCk7XG4gICAgICAgICAgICBpZiAobmV4dFdhc0NhbGxlZCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IG5leHRQcm9taXNlOyAvLyB3ZSBtdXN0IHdhaXQgdW50aWwgdGhlIHJldHVybiBoYW5kbGVyIGlzIGNhbGxlZFxuICAgICAgICAgICAgICAgIHJldHVybkhhbmRsZXJDYWxsYmFjayhudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGVuZChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmIChyZXR1cm5IYW5kbGVyQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICByZXR1cm5IYW5kbGVyQ2FsbGJhY2soZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZW5kKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG5leHBvcnRzLmNyZWF0ZUFzeW5jTWlkZGxld2FyZSA9IGNyZWF0ZUFzeW5jTWlkZGxld2FyZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVkzSmxZWFJsUVhONWJtTk5hV1JrYkdWM1lYSmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZjM0pqTDJOeVpXRjBaVUZ6ZVc1alRXbGtaR3hsZDJGeVpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3UVVGblFrRTdPenM3T3pzN096czdPenM3T3pzN1IwRm5Ra2M3UVVGRFNDeFRRVUZuUWl4eFFrRkJjVUlzUTBGRGJrTXNaVUZCTmtNN1NVRkZOME1zVDBGQlR5eExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVTdVVUZEYmtNc0swTkJRU3RETzFGQlF5OURMSEZFUVVGeFJEdFJRVU55UkN4clFrRkJhMEk3VVVGRGJFSXNTVUZCU1N4clFrRkJPRUlzUTBGQlF6dFJRVU51UXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZPMWxCUXpGRExHdENRVUZyUWl4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVNdlFpeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVklMRWxCUVVrc2NVSkJRWEZDTEVkQlFWa3NTVUZCU1N4RFFVRkRPMUZCUXpGRExFbEJRVWtzWVVGQllTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVVXhRaXd3UkVGQk1FUTdVVUZETVVRc1RVRkJUU3hUUVVGVExFZEJRVWNzUzBGQlN5eEpRVUZKTEVWQlFVVTdXVUZETTBJc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF6dFpRVVZ5UWl4MVJVRkJkVVU3V1VGRGRrVXNlVVJCUVhsRU8xbEJRM3BFTEdkRVFVRm5SRHRaUVVOb1JDeEpRVUZKTEVOQlFVTXNRMEZCUXl4NVFrRkJlVUlzUlVGQlJTeEZRVUZGTzJkQ1FVTnFReXcwUkVGQk5FUTdaMEpCUXpWRUxIRkNRVUZ4UWl4SFFVRkhMSGxDUVVGNVFpeERRVUZETzJkQ1FVTnNSQ3hyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMWxCUTNaQ0xFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEwZ3NUVUZCVFN4WFFVRlhMRU5CUVVNN1VVRkRjRUlzUTBGQlF5eERRVUZETzFGQlJVWXNTVUZCU1R0WlFVTkdMRTFCUVUwc1pVRkJaU3hEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNVMEZCVXl4RFFVRkRMRU5CUVVNN1dVRkZNME1zU1VGQlNTeGhRVUZoTEVWQlFVVTdaMEpCUTJwQ0xFMUJRVTBzVjBGQlZ5eERRVUZETEVOQlFVTXNhMFJCUVd0RU8yZENRVU53UlN4eFFrRkJLME1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0aFFVTjRSRHRwUWtGQlRUdG5Ra0ZEVEN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03WVVGRFdEdFRRVU5HTzFGQlFVTXNUMEZCVHl4TFFVRkxMRVZCUVVVN1dVRkRaQ3hKUVVGSkxIRkNRVUZ4UWl4RlFVRkZPMmRDUVVONFFpeHhRa0ZCSzBNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dGhRVU42UkR0cFFrRkJUVHRuUWtGRFRDeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1lVRkRXanRUUVVOR08wbEJRMGdzUTBGQlF5eERRVUZETzBGQlEwb3NRMEZCUXp0QlFTOURSQ3h6UkVFclEwTWlmUT09Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/createAsyncMiddleware.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/createScaffoldMiddleware.js": -/*!***********************************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/createScaffoldMiddleware.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createScaffoldMiddleware = void 0;\nfunction createScaffoldMiddleware(handlers) {\n return (req, res, next, end) => {\n const handler = handlers[req.method];\n // if no handler, return\n if (handler === undefined) {\n return next();\n }\n // if handler is fn, call as middleware\n if (typeof handler === 'function') {\n return handler(req, res, next, end);\n }\n // if handler is some other value, use as result\n res.result = handler;\n return end();\n };\n}\nexports.createScaffoldMiddleware = createScaffoldMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZVNjYWZmb2xkTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxTQUFnQix3QkFBd0IsQ0FBQyxRQUV4QztJQUNDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUM3QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLHdCQUF3QjtRQUN4QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBQ0QsdUNBQXVDO1FBQ3ZDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsZ0RBQWdEO1FBQy9DLEdBQStCLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUNsRCxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWpCRCw0REFpQkMifQ==//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQywyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2pzb24tcnBjLWVuZ2luZS9kaXN0L2NyZWF0ZVNjYWZmb2xkTWlkZGxld2FyZS5qcz9hMzUwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVTY2FmZm9sZE1pZGRsZXdhcmUgPSB2b2lkIDA7XG5mdW5jdGlvbiBjcmVhdGVTY2FmZm9sZE1pZGRsZXdhcmUoaGFuZGxlcnMpIHtcbiAgICByZXR1cm4gKHJlcSwgcmVzLCBuZXh0LCBlbmQpID0+IHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IGhhbmRsZXJzW3JlcS5tZXRob2RdO1xuICAgICAgICAvLyBpZiBubyBoYW5kbGVyLCByZXR1cm5cbiAgICAgICAgaWYgKGhhbmRsZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiBoYW5kbGVyIGlzIGZuLCBjYWxsIGFzIG1pZGRsZXdhcmVcbiAgICAgICAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlcihyZXEsIHJlcywgbmV4dCwgZW5kKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiBoYW5kbGVyIGlzIHNvbWUgb3RoZXIgdmFsdWUsIHVzZSBhcyByZXN1bHRcbiAgICAgICAgcmVzLnJlc3VsdCA9IGhhbmRsZXI7XG4gICAgICAgIHJldHVybiBlbmQoKTtcbiAgICB9O1xufVxuZXhwb3J0cy5jcmVhdGVTY2FmZm9sZE1pZGRsZXdhcmUgPSBjcmVhdGVTY2FmZm9sZE1pZGRsZXdhcmU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZM0psWVhSbFUyTmhabVp2YkdSTmFXUmtiR1YzWVhKbExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dmMzSmpMMk55WldGMFpWTmpZV1ptYjJ4a1RXbGtaR3hsZDJGeVpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3UVVGSlFTeFRRVUZuUWl4M1FrRkJkMElzUTBGQlF5eFJRVVY0UXp0SlFVTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRSUVVNM1FpeE5RVUZOTEU5QlFVOHNSMEZCUnl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEzSkRMSGRDUVVGM1FqdFJRVU40UWl4SlFVRkpMRTlCUVU4c1MwRkJTeXhUUVVGVExFVkJRVVU3V1VGRGVrSXNUMEZCVHl4SlFVRkpMRVZCUVVVc1EwRkJRenRUUVVObU8xRkJRMFFzZFVOQlFYVkRPMUZCUTNaRExFbEJRVWtzVDBGQlR5eFBRVUZQTEV0QlFVc3NWVUZCVlN4RlFVRkZPMWxCUTJwRExFOUJRVThzVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEzSkRPMUZCUTBRc1owUkJRV2RFTzFGQlF5OURMRWRCUVN0Q0xFTkJRVU1zVFVGQlRTeEhRVUZITEU5QlFVOHNRMEZCUXp0UlFVTnNSQ3hQUVVGUExFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEyWXNRMEZCUXl4RFFVRkRPMEZCUTBvc1EwRkJRenRCUVdwQ1JDdzBSRUZwUWtNaWZRPT0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/createScaffoldMiddleware.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/getUniqueId.js": -/*!**********************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/getUniqueId.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getUniqueId = void 0;\n// uint32 (two's complement) max\n// more conservative than Number.MAX_SAFE_INTEGER\nconst MAX = 4294967295;\nlet idCounter = Math.floor(Math.random() * MAX);\nfunction getUniqueId() {\n idCounter = (idCounter + 1) % MAX;\n return idCounter;\n}\nexports.getUniqueId = getUniqueId;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VW5pcXVlSWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2V0VW5pcXVlSWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQWdDO0FBQ2hDLGlEQUFpRDtBQUNqRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7QUFDdkIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFFaEQsU0FBZ0IsV0FBVztJQUN6QixTQUFTLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2xDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFIRCxrQ0FHQyJ9//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvZ2V0VW5pcXVlSWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9qc29uLXJwYy1lbmdpbmUvZGlzdC9nZXRVbmlxdWVJZC5qcz81Y2Q0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRVbmlxdWVJZCA9IHZvaWQgMDtcbi8vIHVpbnQzMiAodHdvJ3MgY29tcGxlbWVudCkgbWF4XG4vLyBtb3JlIGNvbnNlcnZhdGl2ZSB0aGFuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG5jb25zdCBNQVggPSA0Mjk0OTY3Mjk1O1xubGV0IGlkQ291bnRlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1BWCk7XG5mdW5jdGlvbiBnZXRVbmlxdWVJZCgpIHtcbiAgICBpZENvdW50ZXIgPSAoaWRDb3VudGVyICsgMSkgJSBNQVg7XG4gICAgcmV0dXJuIGlkQ291bnRlcjtcbn1cbmV4cG9ydHMuZ2V0VW5pcXVlSWQgPSBnZXRVbmlxdWVJZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVoyVjBWVzVwY1hWbFNXUXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOXpjbU12WjJWMFZXNXBjWFZsU1dRdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPMEZCUVVFc1owTkJRV2RETzBGQlEyaERMR2xFUVVGcFJEdEJRVU5xUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhWUVVGVkxFTkJRVU03UVVGRGRrSXNTVUZCU1N4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRmFFUXNVMEZCWjBJc1YwRkJWenRKUVVONlFpeFRRVUZUTEVkQlFVY3NRMEZCUXl4VFFVRlRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEyeERMRTlCUVU4c1UwRkJVeXhEUVVGRE8wRkJRMjVDTEVOQlFVTTdRVUZJUkN4clEwRkhReUo5Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/getUniqueId.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/idRemapMiddleware.js": -/*!****************************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/idRemapMiddleware.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createIdRemapMiddleware = void 0;\nconst getUniqueId_1 = __webpack_require__(/*! ./getUniqueId */ \"./node_modules/json-rpc-engine/dist/getUniqueId.js\");\nfunction createIdRemapMiddleware() {\n return (req, res, next, _end) => {\n const originalId = req.id;\n const newId = getUniqueId_1.getUniqueId();\n req.id = newId;\n res.id = newId;\n next((done) => {\n req.id = originalId;\n res.id = originalId;\n done();\n });\n };\n}\nexports.createIdRemapMiddleware = createIdRemapMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRSZW1hcE1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRSZW1hcE1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQTRDO0FBRzVDLFNBQWdCLHVCQUF1QjtJQUNyQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyx5QkFBVyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDZixHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDcEIsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDcEIsSUFBSSxFQUFFLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFaRCwwREFZQyJ9//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvaWRSZW1hcE1pZGRsZXdhcmUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsK0JBQStCO0FBQy9CLHNCQUFzQixtQkFBTyxDQUFDLHlFQUFlO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9qc29uLXJwYy1lbmdpbmUvZGlzdC9pZFJlbWFwTWlkZGxld2FyZS5qcz81MDU0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVJZFJlbWFwTWlkZGxld2FyZSA9IHZvaWQgMDtcbmNvbnN0IGdldFVuaXF1ZUlkXzEgPSByZXF1aXJlKFwiLi9nZXRVbmlxdWVJZFwiKTtcbmZ1bmN0aW9uIGNyZWF0ZUlkUmVtYXBNaWRkbGV3YXJlKCkge1xuICAgIHJldHVybiAocmVxLCByZXMsIG5leHQsIF9lbmQpID0+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxJZCA9IHJlcS5pZDtcbiAgICAgICAgY29uc3QgbmV3SWQgPSBnZXRVbmlxdWVJZF8xLmdldFVuaXF1ZUlkKCk7XG4gICAgICAgIHJlcS5pZCA9IG5ld0lkO1xuICAgICAgICByZXMuaWQgPSBuZXdJZDtcbiAgICAgICAgbmV4dCgoZG9uZSkgPT4ge1xuICAgICAgICAgICAgcmVxLmlkID0gb3JpZ2luYWxJZDtcbiAgICAgICAgICAgIHJlcy5pZCA9IG9yaWdpbmFsSWQ7XG4gICAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0pO1xuICAgIH07XG59XG5leHBvcnRzLmNyZWF0ZUlkUmVtYXBNaWRkbGV3YXJlID0gY3JlYXRlSWRSZW1hcE1pZGRsZXdhcmU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhV1JTWlcxaGNFMXBaR1JzWlhkaGNtVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOXpjbU12YVdSU1pXMWhjRTFwWkdSc1pYZGhjbVV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN08wRkJRVUVzSzBOQlFUUkRPMEZCUnpWRExGTkJRV2RDTEhWQ1FVRjFRanRKUVVOeVF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVWQlFVVTdVVUZET1VJc1RVRkJUU3hWUVVGVkxFZEJRVWNzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVTXhRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eDVRa0ZCVnl4RlFVRkZMRU5CUVVNN1VVRkROVUlzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkRaaXhIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVTm1MRWxCUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTzFsQlExb3NSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhWUVVGVkxFTkJRVU03V1VGRGNFSXNSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhWUVVGVkxFTkJRVU03V1VGRGNFSXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRWQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTXNRMEZCUXp0QlFVTktMRU5CUVVNN1FVRmFSQ3d3UkVGWlF5SjkiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/idRemapMiddleware.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/index.js": -/*!****************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/index.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./idRemapMiddleware */ \"./node_modules/json-rpc-engine/dist/idRemapMiddleware.js\"), exports);\n__exportStar(__webpack_require__(/*! ./createAsyncMiddleware */ \"./node_modules/json-rpc-engine/dist/createAsyncMiddleware.js\"), exports);\n__exportStar(__webpack_require__(/*! ./createScaffoldMiddleware */ \"./node_modules/json-rpc-engine/dist/createScaffoldMiddleware.js\"), exports);\n__exportStar(__webpack_require__(/*! ./getUniqueId */ \"./node_modules/json-rpc-engine/dist/getUniqueId.js\"), exports);\n__exportStar(__webpack_require__(/*! ./JsonRpcEngine */ \"./node_modules/json-rpc-engine/dist/JsonRpcEngine.js\"), exports);\n__exportStar(__webpack_require__(/*! ./mergeMiddleware */ \"./node_modules/json-rpc-engine/dist/mergeMiddleware.js\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQW9DO0FBQ3BDLDBEQUF3QztBQUN4Qyw2REFBMkM7QUFDM0MsZ0RBQThCO0FBQzlCLGtEQUFnQztBQUNoQyxvREFBa0MifQ==//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsbUNBQW1DLG9DQUFvQyxnQkFBZ0I7QUFDdkYsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGFBQWEsbUJBQU8sQ0FBQyxxRkFBcUI7QUFDMUMsYUFBYSxtQkFBTyxDQUFDLDZGQUF5QjtBQUM5QyxhQUFhLG1CQUFPLENBQUMsbUdBQTRCO0FBQ2pELGFBQWEsbUJBQU8sQ0FBQyx5RUFBZTtBQUNwQyxhQUFhLG1CQUFPLENBQUMsNkVBQWlCO0FBQ3RDLGFBQWEsbUJBQU8sQ0FBQyxpRkFBbUI7QUFDeEMsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9qc29uLXJwYy1lbmdpbmUvZGlzdC9pbmRleC5qcz9iZGQ4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fY3JlYXRlQmluZGluZyA9ICh0aGlzICYmIHRoaXMuX19jcmVhdGVCaW5kaW5nKSB8fCAoT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH0pO1xufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xuICAgIG9bazJdID0gbVtrXTtcbn0pKTtcbnZhciBfX2V4cG9ydFN0YXIgPSAodGhpcyAmJiB0aGlzLl9fZXhwb3J0U3RhcikgfHwgZnVuY3Rpb24obSwgZXhwb3J0cykge1xuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXhwb3J0cywgcCkpIF9fY3JlYXRlQmluZGluZyhleHBvcnRzLCBtLCBwKTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vaWRSZW1hcE1pZGRsZXdhcmVcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2NyZWF0ZUFzeW5jTWlkZGxld2FyZVwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9nZXRVbmlxdWVJZFwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vSnNvblJwY0VuZ2luZVwiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vbWVyZ2VNaWRkbGV3YXJlXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTl6Y21NdmFXNWtaWGd1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN08wRkJRVUVzYzBSQlFXOURPMEZCUTNCRExEQkVRVUYzUXp0QlFVTjRReXcyUkVGQk1rTTdRVUZETTBNc1owUkJRVGhDTzBGQlF6bENMR3RFUVVGblF6dEJRVU5vUXl4dlJFRkJhME1pZlE9PSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-engine/dist/mergeMiddleware.js": -/*!**************************************************************!*\ - !*** ./node_modules/json-rpc-engine/dist/mergeMiddleware.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.mergeMiddleware = void 0;\nconst JsonRpcEngine_1 = __webpack_require__(/*! ./JsonRpcEngine */ \"./node_modules/json-rpc-engine/dist/JsonRpcEngine.js\");\nfunction mergeMiddleware(middlewareStack) {\n const engine = new JsonRpcEngine_1.JsonRpcEngine();\n middlewareStack.forEach((middleware) => engine.push(middleware));\n return engine.asMiddleware();\n}\nexports.mergeMiddleware = mergeMiddleware;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2VNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21lcmdlTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBbUU7QUFFbkUsU0FBZ0IsZUFBZSxDQUFDLGVBQXNEO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLElBQUksNkJBQWEsRUFBRSxDQUFDO0lBQ25DLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBSkQsMENBSUMifQ==//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtZW5naW5lL2Rpc3QvbWVyZ2VNaWRkbGV3YXJlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2Qix3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBaUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QiwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2pzb24tcnBjLWVuZ2luZS9kaXN0L21lcmdlTWlkZGxld2FyZS5qcz8zZmFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5tZXJnZU1pZGRsZXdhcmUgPSB2b2lkIDA7XG5jb25zdCBKc29uUnBjRW5naW5lXzEgPSByZXF1aXJlKFwiLi9Kc29uUnBjRW5naW5lXCIpO1xuZnVuY3Rpb24gbWVyZ2VNaWRkbGV3YXJlKG1pZGRsZXdhcmVTdGFjaykge1xuICAgIGNvbnN0IGVuZ2luZSA9IG5ldyBKc29uUnBjRW5naW5lXzEuSnNvblJwY0VuZ2luZSgpO1xuICAgIG1pZGRsZXdhcmVTdGFjay5mb3JFYWNoKChtaWRkbGV3YXJlKSA9PiBlbmdpbmUucHVzaChtaWRkbGV3YXJlKSk7XG4gICAgcmV0dXJuIGVuZ2luZS5hc01pZGRsZXdhcmUoKTtcbn1cbmV4cG9ydHMubWVyZ2VNaWRkbGV3YXJlID0gbWVyZ2VNaWRkbGV3YXJlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYldWeVoyVk5hV1JrYkdWM1lYSmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZjM0pqTDIxbGNtZGxUV2xrWkd4bGQyRnlaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN1FVRkJRU3h0UkVGQmJVVTdRVUZGYmtVc1UwRkJaMElzWlVGQlpTeERRVUZETEdWQlFYTkVPMGxCUTNCR0xFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NOa0pCUVdFc1JVRkJSU3hEUVVGRE8wbEJRMjVETEdWQlFXVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5xUlN4UFFVRlBMRTFCUVUwc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF6dEJRVU12UWl4RFFVRkRPMEZCU2tRc01FTkJTVU1pZlE9PSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-engine/dist/mergeMiddleware.js\n")); - -/***/ }), - -/***/ "./node_modules/json-rpc-random-id/index.js": -/*!**************************************************!*\ - !*** ./node_modules/json-rpc-random-id/index.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = IdIterator\n\nfunction IdIterator(opts){\n opts = opts || {}\n var max = opts.max || Number.MAX_SAFE_INTEGER\n var idCounter = typeof opts.start !== 'undefined' ? opts.start : Math.floor(Math.random() * max)\n\n return function createRandomId () {\n idCounter = idCounter % max\n return idCounter++\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanNvbi1ycGMtcmFuZG9tLWlkL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9qc29uLXJwYy1yYW5kb20taWQvaW5kZXguanM/ODFkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IElkSXRlcmF0b3JcblxuZnVuY3Rpb24gSWRJdGVyYXRvcihvcHRzKXtcbiAgb3B0cyA9IG9wdHMgfHwge31cbiAgdmFyIG1heCA9IG9wdHMubWF4IHx8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gIHZhciBpZENvdW50ZXIgPSB0eXBlb2Ygb3B0cy5zdGFydCAhPT0gJ3VuZGVmaW5lZCcgPyBvcHRzLnN0YXJ0IDogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbWF4KVxuXG4gIHJldHVybiBmdW5jdGlvbiBjcmVhdGVSYW5kb21JZCAoKSB7XG4gICAgaWRDb3VudGVyID0gaWRDb3VudGVyICUgbWF4XG4gICAgcmV0dXJuIGlkQ291bnRlcisrXG4gIH1cblxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/json-rpc-random-id/index.js\n")); - -/***/ }), - -/***/ "./node_modules/keccak/js.js": -/*!***********************************!*\ - !*** ./node_modules/keccak/js.js ***! - \***********************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = __webpack_require__(/*! ./lib/api */ \"./node_modules/keccak/lib/api/index.js\")(__webpack_require__(/*! ./lib/keccak */ \"./node_modules/keccak/lib/keccak.js\"))\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMva2VjY2FrL2pzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQixtQkFBTyxDQUFDLHlEQUFXLEVBQUUsbUJBQU8sQ0FBQyx5REFBYyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMva2VjY2FrL2pzLmpzPzQ5NDQiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2xpYi9hcGknKShyZXF1aXJlKCcuL2xpYi9rZWNjYWsnKSlcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/keccak/js.js\n")); - -/***/ }), - -/***/ "./node_modules/keccak/lib/api/index.js": -/*!**********************************************!*\ - !*** ./node_modules/keccak/lib/api/index.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const createKeccak = __webpack_require__(/*! ./keccak */ \"./node_modules/keccak/lib/api/keccak.js\")\nconst createShake = __webpack_require__(/*! ./shake */ \"./node_modules/keccak/lib/api/shake.js\")\n\nmodule.exports = function (KeccakState) {\n const Keccak = createKeccak(KeccakState)\n const Shake = createShake(KeccakState)\n\n return function (algorithm, options) {\n const hash = typeof algorithm === 'string' ? algorithm.toLowerCase() : algorithm\n switch (hash) {\n case 'keccak224': return new Keccak(1152, 448, null, 224, options)\n case 'keccak256': return new Keccak(1088, 512, null, 256, options)\n case 'keccak384': return new Keccak(832, 768, null, 384, options)\n case 'keccak512': return new Keccak(576, 1024, null, 512, options)\n\n case 'sha3-224': return new Keccak(1152, 448, 0x06, 224, options)\n case 'sha3-256': return new Keccak(1088, 512, 0x06, 256, options)\n case 'sha3-384': return new Keccak(832, 768, 0x06, 384, options)\n case 'sha3-512': return new Keccak(576, 1024, 0x06, 512, options)\n\n case 'shake128': return new Shake(1344, 256, 0x1f, options)\n case 'shake256': return new Shake(1088, 512, 0x1f, options)\n\n default: throw new Error('Invald algorithm: ' + algorithm)\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9hcGkvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCLG1CQUFPLENBQUMseURBQVU7QUFDdkMsb0JBQW9CLG1CQUFPLENBQUMsdURBQVM7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9rZWNjYWsvbGliL2FwaS9pbmRleC5qcz8yNzcwIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNyZWF0ZUtlY2NhayA9IHJlcXVpcmUoJy4va2VjY2FrJylcbmNvbnN0IGNyZWF0ZVNoYWtlID0gcmVxdWlyZSgnLi9zaGFrZScpXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtlY2Nha1N0YXRlKSB7XG4gIGNvbnN0IEtlY2NhayA9IGNyZWF0ZUtlY2NhayhLZWNjYWtTdGF0ZSlcbiAgY29uc3QgU2hha2UgPSBjcmVhdGVTaGFrZShLZWNjYWtTdGF0ZSlcblxuICByZXR1cm4gZnVuY3Rpb24gKGFsZ29yaXRobSwgb3B0aW9ucykge1xuICAgIGNvbnN0IGhhc2ggPSB0eXBlb2YgYWxnb3JpdGhtID09PSAnc3RyaW5nJyA/IGFsZ29yaXRobS50b0xvd2VyQ2FzZSgpIDogYWxnb3JpdGhtXG4gICAgc3dpdGNoIChoYXNoKSB7XG4gICAgICBjYXNlICdrZWNjYWsyMjQnOiByZXR1cm4gbmV3IEtlY2NhaygxMTUyLCA0NDgsIG51bGwsIDIyNCwgb3B0aW9ucylcbiAgICAgIGNhc2UgJ2tlY2NhazI1Nic6IHJldHVybiBuZXcgS2VjY2FrKDEwODgsIDUxMiwgbnVsbCwgMjU2LCBvcHRpb25zKVxuICAgICAgY2FzZSAna2VjY2FrMzg0JzogcmV0dXJuIG5ldyBLZWNjYWsoODMyLCA3NjgsIG51bGwsIDM4NCwgb3B0aW9ucylcbiAgICAgIGNhc2UgJ2tlY2NhazUxMic6IHJldHVybiBuZXcgS2VjY2FrKDU3NiwgMTAyNCwgbnVsbCwgNTEyLCBvcHRpb25zKVxuXG4gICAgICBjYXNlICdzaGEzLTIyNCc6IHJldHVybiBuZXcgS2VjY2FrKDExNTIsIDQ0OCwgMHgwNiwgMjI0LCBvcHRpb25zKVxuICAgICAgY2FzZSAnc2hhMy0yNTYnOiByZXR1cm4gbmV3IEtlY2NhaygxMDg4LCA1MTIsIDB4MDYsIDI1Niwgb3B0aW9ucylcbiAgICAgIGNhc2UgJ3NoYTMtMzg0JzogcmV0dXJuIG5ldyBLZWNjYWsoODMyLCA3NjgsIDB4MDYsIDM4NCwgb3B0aW9ucylcbiAgICAgIGNhc2UgJ3NoYTMtNTEyJzogcmV0dXJuIG5ldyBLZWNjYWsoNTc2LCAxMDI0LCAweDA2LCA1MTIsIG9wdGlvbnMpXG5cbiAgICAgIGNhc2UgJ3NoYWtlMTI4JzogcmV0dXJuIG5ldyBTaGFrZSgxMzQ0LCAyNTYsIDB4MWYsIG9wdGlvbnMpXG4gICAgICBjYXNlICdzaGFrZTI1Nic6IHJldHVybiBuZXcgU2hha2UoMTA4OCwgNTEyLCAweDFmLCBvcHRpb25zKVxuXG4gICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsZCBhbGdvcml0aG06ICcgKyBhbGdvcml0aG0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/keccak/lib/api/index.js\n")); - -/***/ }), - -/***/ "./node_modules/keccak/lib/api/keccak.js": -/*!***********************************************!*\ - !*** ./node_modules/keccak/lib/api/keccak.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\nconst { Transform } = __webpack_require__(/*! readable-stream */ \"./node_modules/readable-stream/readable-browser.js\")\n\nmodule.exports = (KeccakState) => class Keccak extends Transform {\n constructor (rate, capacity, delimitedSuffix, hashBitLength, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._hashBitLength = hashBitLength\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush (callback) {\n let error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n digest (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix)\n let digest = this._state.squeeze(this._hashBitLength / 8)\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n this._resetState()\n\n return digest\n }\n\n // remove result from memory\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n // because sometimes we need hash right now and little later\n _clone () {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9hcGkva2VjY2FrLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxRQUFRLFlBQVksRUFBRSxtQkFBTyxDQUFDLDJFQUFpQjs7QUFFL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFNBQVMsTUFBTTtBQUNmO0FBQ0EsU0FBUyxNQUFNLHdCQUF3QixNQUFNOztBQUU3Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9rZWNjYWsvbGliL2FwaS9rZWNjYWsuanM/YzQwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IFRyYW5zZm9ybSB9ID0gcmVxdWlyZSgncmVhZGFibGUtc3RyZWFtJylcblxubW9kdWxlLmV4cG9ydHMgPSAoS2VjY2FrU3RhdGUpID0+IGNsYXNzIEtlY2NhayBleHRlbmRzIFRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yIChyYXRlLCBjYXBhY2l0eSwgZGVsaW1pdGVkU3VmZml4LCBoYXNoQml0TGVuZ3RoLCBvcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucylcblxuICAgIHRoaXMuX3JhdGUgPSByYXRlXG4gICAgdGhpcy5fY2FwYWNpdHkgPSBjYXBhY2l0eVxuICAgIHRoaXMuX2RlbGltaXRlZFN1ZmZpeCA9IGRlbGltaXRlZFN1ZmZpeFxuICAgIHRoaXMuX2hhc2hCaXRMZW5ndGggPSBoYXNoQml0TGVuZ3RoXG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnNcblxuICAgIHRoaXMuX3N0YXRlID0gbmV3IEtlY2Nha1N0YXRlKClcbiAgICB0aGlzLl9zdGF0ZS5pbml0aWFsaXplKHJhdGUsIGNhcGFjaXR5KVxuICAgIHRoaXMuX2ZpbmFsaXplZCA9IGZhbHNlXG4gIH1cblxuICBfdHJhbnNmb3JtIChjaHVuaywgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgbGV0IGVycm9yID0gbnVsbFxuICAgIHRyeSB7XG4gICAgICB0aGlzLnVwZGF0ZShjaHVuaywgZW5jb2RpbmcpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBlcnJvciA9IGVyclxuICAgIH1cblxuICAgIGNhbGxiYWNrKGVycm9yKVxuICB9XG5cbiAgX2ZsdXNoIChjYWxsYmFjaykge1xuICAgIGxldCBlcnJvciA9IG51bGxcbiAgICB0cnkge1xuICAgICAgdGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBlcnJvciA9IGVyclxuICAgIH1cblxuICAgIGNhbGxiYWNrKGVycm9yKVxuICB9XG5cbiAgdXBkYXRlIChkYXRhLCBlbmNvZGluZykge1xuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKGRhdGEpICYmIHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJykgdGhyb3cgbmV3IFR5cGVFcnJvcignRGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyJylcbiAgICBpZiAodGhpcy5fZmluYWxpemVkKSB0aHJvdyBuZXcgRXJyb3IoJ0RpZ2VzdCBhbHJlYWR5IGNhbGxlZCcpXG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoZGF0YSkpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmNvZGluZylcblxuICAgIHRoaXMuX3N0YXRlLmFic29yYihkYXRhKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGRpZ2VzdCAoZW5jb2RpbmcpIHtcbiAgICBpZiAodGhpcy5fZmluYWxpemVkKSB0aHJvdyBuZXcgRXJyb3IoJ0RpZ2VzdCBhbHJlYWR5IGNhbGxlZCcpXG4gICAgdGhpcy5fZmluYWxpemVkID0gdHJ1ZVxuXG4gICAgaWYgKHRoaXMuX2RlbGltaXRlZFN1ZmZpeCkgdGhpcy5fc3RhdGUuYWJzb3JiTGFzdEZld0JpdHModGhpcy5fZGVsaW1pdGVkU3VmZml4KVxuICAgIGxldCBkaWdlc3QgPSB0aGlzLl9zdGF0ZS5zcXVlZXplKHRoaXMuX2hhc2hCaXRMZW5ndGggLyA4KVxuICAgIGlmIChlbmNvZGluZyAhPT0gdW5kZWZpbmVkKSBkaWdlc3QgPSBkaWdlc3QudG9TdHJpbmcoZW5jb2RpbmcpXG5cbiAgICB0aGlzLl9yZXNldFN0YXRlKClcblxuICAgIHJldHVybiBkaWdlc3RcbiAgfVxuXG4gIC8vIHJlbW92ZSByZXN1bHQgZnJvbSBtZW1vcnlcbiAgX3Jlc2V0U3RhdGUgKCkge1xuICAgIHRoaXMuX3N0YXRlLmluaXRpYWxpemUodGhpcy5fcmF0ZSwgdGhpcy5fY2FwYWNpdHkpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8vIGJlY2F1c2Ugc29tZXRpbWVzIHdlIG5lZWQgaGFzaCByaWdodCBub3cgYW5kIGxpdHRsZSBsYXRlclxuICBfY2xvbmUgKCkge1xuICAgIGNvbnN0IGNsb25lID0gbmV3IEtlY2Nhayh0aGlzLl9yYXRlLCB0aGlzLl9jYXBhY2l0eSwgdGhpcy5fZGVsaW1pdGVkU3VmZml4LCB0aGlzLl9oYXNoQml0TGVuZ3RoLCB0aGlzLl9vcHRpb25zKVxuICAgIHRoaXMuX3N0YXRlLmNvcHkoY2xvbmUuX3N0YXRlKVxuICAgIGNsb25lLl9maW5hbGl6ZWQgPSB0aGlzLl9maW5hbGl6ZWRcblxuICAgIHJldHVybiBjbG9uZVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/keccak/lib/api/keccak.js\n")); - -/***/ }), - -/***/ "./node_modules/keccak/lib/api/shake.js": -/*!**********************************************!*\ - !*** ./node_modules/keccak/lib/api/shake.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\nconst { Transform } = __webpack_require__(/*! readable-stream */ \"./node_modules/readable-stream/readable-browser.js\")\n\nmodule.exports = (KeccakState) => class Shake extends Transform {\n constructor (rate, capacity, delimitedSuffix, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush () {}\n\n _read (size) {\n this.push(this.squeeze(size))\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Squeeze already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n squeeze (dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true\n this._state.absorbLastFewBits(this._delimitedSuffix)\n }\n\n let data = this._state.squeeze(dataByteLength)\n if (encoding !== undefined) data = data.toString(encoding)\n\n return data\n }\n\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n _clone () {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9hcGkvc2hha2UuanMiLCJtYXBwaW5ncyI6IjtBQUFBLFFBQVEsWUFBWSxFQUFFLG1CQUFPLENBQUMsMkVBQWlCOztBQUUvQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsTUFBTTtBQUNmO0FBQ0EsU0FBUyxNQUFNLHdCQUF3QixNQUFNOztBQUU3Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9hcGkvc2hha2UuanM/YzhhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IFRyYW5zZm9ybSB9ID0gcmVxdWlyZSgncmVhZGFibGUtc3RyZWFtJylcblxubW9kdWxlLmV4cG9ydHMgPSAoS2VjY2FrU3RhdGUpID0+IGNsYXNzIFNoYWtlIGV4dGVuZHMgVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IgKHJhdGUsIGNhcGFjaXR5LCBkZWxpbWl0ZWRTdWZmaXgsIG9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKVxuXG4gICAgdGhpcy5fcmF0ZSA9IHJhdGVcbiAgICB0aGlzLl9jYXBhY2l0eSA9IGNhcGFjaXR5XG4gICAgdGhpcy5fZGVsaW1pdGVkU3VmZml4ID0gZGVsaW1pdGVkU3VmZml4XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnNcblxuICAgIHRoaXMuX3N0YXRlID0gbmV3IEtlY2Nha1N0YXRlKClcbiAgICB0aGlzLl9zdGF0ZS5pbml0aWFsaXplKHJhdGUsIGNhcGFjaXR5KVxuICAgIHRoaXMuX2ZpbmFsaXplZCA9IGZhbHNlXG4gIH1cblxuICBfdHJhbnNmb3JtIChjaHVuaywgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgbGV0IGVycm9yID0gbnVsbFxuICAgIHRyeSB7XG4gICAgICB0aGlzLnVwZGF0ZShjaHVuaywgZW5jb2RpbmcpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBlcnJvciA9IGVyclxuICAgIH1cblxuICAgIGNhbGxiYWNrKGVycm9yKVxuICB9XG5cbiAgX2ZsdXNoICgpIHt9XG5cbiAgX3JlYWQgKHNpemUpIHtcbiAgICB0aGlzLnB1c2godGhpcy5zcXVlZXplKHNpemUpKVxuICB9XG5cbiAgdXBkYXRlIChkYXRhLCBlbmNvZGluZykge1xuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKGRhdGEpICYmIHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJykgdGhyb3cgbmV3IFR5cGVFcnJvcignRGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyJylcbiAgICBpZiAodGhpcy5fZmluYWxpemVkKSB0aHJvdyBuZXcgRXJyb3IoJ1NxdWVlemUgYWxyZWFkeSBjYWxsZWQnKVxuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSwgZW5jb2RpbmcpXG5cbiAgICB0aGlzLl9zdGF0ZS5hYnNvcmIoZGF0YSlcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBzcXVlZXplIChkYXRhQnl0ZUxlbmd0aCwgZW5jb2RpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2ZpbmFsaXplZCkge1xuICAgICAgdGhpcy5fZmluYWxpemVkID0gdHJ1ZVxuICAgICAgdGhpcy5fc3RhdGUuYWJzb3JiTGFzdEZld0JpdHModGhpcy5fZGVsaW1pdGVkU3VmZml4KVxuICAgIH1cblxuICAgIGxldCBkYXRhID0gdGhpcy5fc3RhdGUuc3F1ZWV6ZShkYXRhQnl0ZUxlbmd0aClcbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCkgZGF0YSA9IGRhdGEudG9TdHJpbmcoZW5jb2RpbmcpXG5cbiAgICByZXR1cm4gZGF0YVxuICB9XG5cbiAgX3Jlc2V0U3RhdGUgKCkge1xuICAgIHRoaXMuX3N0YXRlLmluaXRpYWxpemUodGhpcy5fcmF0ZSwgdGhpcy5fY2FwYWNpdHkpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIF9jbG9uZSAoKSB7XG4gICAgY29uc3QgY2xvbmUgPSBuZXcgU2hha2UodGhpcy5fcmF0ZSwgdGhpcy5fY2FwYWNpdHksIHRoaXMuX2RlbGltaXRlZFN1ZmZpeCwgdGhpcy5fb3B0aW9ucylcbiAgICB0aGlzLl9zdGF0ZS5jb3B5KGNsb25lLl9zdGF0ZSlcbiAgICBjbG9uZS5fZmluYWxpemVkID0gdGhpcy5fZmluYWxpemVkXG5cbiAgICByZXR1cm4gY2xvbmVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/keccak/lib/api/shake.js\n")); - -/***/ }), - -/***/ "./node_modules/keccak/lib/keccak-state-unroll.js": -/*!********************************************************!*\ - !*** ./node_modules/keccak/lib/keccak-state-unroll.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]\n\nexports.p1600 = function (s) {\n for (let round = 0; round < 24; ++round) {\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]\n\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31)\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31)\n const t1slo0 = s[0] ^ lo\n const t1shi0 = s[1] ^ hi\n const t1slo5 = s[10] ^ lo\n const t1shi5 = s[11] ^ hi\n const t1slo10 = s[20] ^ lo\n const t1shi10 = s[21] ^ hi\n const t1slo15 = s[30] ^ lo\n const t1shi15 = s[31] ^ hi\n const t1slo20 = s[40] ^ lo\n const t1shi20 = s[41] ^ hi\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31)\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31)\n const t1slo1 = s[2] ^ lo\n const t1shi1 = s[3] ^ hi\n const t1slo6 = s[12] ^ lo\n const t1shi6 = s[13] ^ hi\n const t1slo11 = s[22] ^ lo\n const t1shi11 = s[23] ^ hi\n const t1slo16 = s[32] ^ lo\n const t1shi16 = s[33] ^ hi\n const t1slo21 = s[42] ^ lo\n const t1shi21 = s[43] ^ hi\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31)\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31)\n const t1slo2 = s[4] ^ lo\n const t1shi2 = s[5] ^ hi\n const t1slo7 = s[14] ^ lo\n const t1shi7 = s[15] ^ hi\n const t1slo12 = s[24] ^ lo\n const t1shi12 = s[25] ^ hi\n const t1slo17 = s[34] ^ lo\n const t1shi17 = s[35] ^ hi\n const t1slo22 = s[44] ^ lo\n const t1shi22 = s[45] ^ hi\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31)\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31)\n const t1slo3 = s[6] ^ lo\n const t1shi3 = s[7] ^ hi\n const t1slo8 = s[16] ^ lo\n const t1shi8 = s[17] ^ hi\n const t1slo13 = s[26] ^ lo\n const t1shi13 = s[27] ^ hi\n const t1slo18 = s[36] ^ lo\n const t1shi18 = s[37] ^ hi\n const t1slo23 = s[46] ^ lo\n const t1shi23 = s[47] ^ hi\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31)\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31)\n const t1slo4 = s[8] ^ lo\n const t1shi4 = s[9] ^ hi\n const t1slo9 = s[18] ^ lo\n const t1shi9 = s[19] ^ hi\n const t1slo14 = s[28] ^ lo\n const t1shi14 = s[29] ^ hi\n const t1slo19 = s[38] ^ lo\n const t1shi19 = s[39] ^ hi\n const t1slo24 = s[48] ^ lo\n const t1shi24 = s[49] ^ hi\n\n // rho & pi\n const t2slo0 = t1slo0\n const t2shi0 = t1shi0\n const t2slo16 = (t1shi5 << 4 | t1slo5 >>> 28)\n const t2shi16 = (t1slo5 << 4 | t1shi5 >>> 28)\n const t2slo7 = (t1slo10 << 3 | t1shi10 >>> 29)\n const t2shi7 = (t1shi10 << 3 | t1slo10 >>> 29)\n const t2slo23 = (t1shi15 << 9 | t1slo15 >>> 23)\n const t2shi23 = (t1slo15 << 9 | t1shi15 >>> 23)\n const t2slo14 = (t1slo20 << 18 | t1shi20 >>> 14)\n const t2shi14 = (t1shi20 << 18 | t1slo20 >>> 14)\n const t2slo10 = (t1slo1 << 1 | t1shi1 >>> 31)\n const t2shi10 = (t1shi1 << 1 | t1slo1 >>> 31)\n const t2slo1 = (t1shi6 << 12 | t1slo6 >>> 20)\n const t2shi1 = (t1slo6 << 12 | t1shi6 >>> 20)\n const t2slo17 = (t1slo11 << 10 | t1shi11 >>> 22)\n const t2shi17 = (t1shi11 << 10 | t1slo11 >>> 22)\n const t2slo8 = (t1shi16 << 13 | t1slo16 >>> 19)\n const t2shi8 = (t1slo16 << 13 | t1shi16 >>> 19)\n const t2slo24 = (t1slo21 << 2 | t1shi21 >>> 30)\n const t2shi24 = (t1shi21 << 2 | t1slo21 >>> 30)\n const t2slo20 = (t1shi2 << 30 | t1slo2 >>> 2)\n const t2shi20 = (t1slo2 << 30 | t1shi2 >>> 2)\n const t2slo11 = (t1slo7 << 6 | t1shi7 >>> 26)\n const t2shi11 = (t1shi7 << 6 | t1slo7 >>> 26)\n const t2slo2 = (t1shi12 << 11 | t1slo12 >>> 21)\n const t2shi2 = (t1slo12 << 11 | t1shi12 >>> 21)\n const t2slo18 = (t1slo17 << 15 | t1shi17 >>> 17)\n const t2shi18 = (t1shi17 << 15 | t1slo17 >>> 17)\n const t2slo9 = (t1shi22 << 29 | t1slo22 >>> 3)\n const t2shi9 = (t1slo22 << 29 | t1shi22 >>> 3)\n const t2slo5 = (t1slo3 << 28 | t1shi3 >>> 4)\n const t2shi5 = (t1shi3 << 28 | t1slo3 >>> 4)\n const t2slo21 = (t1shi8 << 23 | t1slo8 >>> 9)\n const t2shi21 = (t1slo8 << 23 | t1shi8 >>> 9)\n const t2slo12 = (t1slo13 << 25 | t1shi13 >>> 7)\n const t2shi12 = (t1shi13 << 25 | t1slo13 >>> 7)\n const t2slo3 = (t1slo18 << 21 | t1shi18 >>> 11)\n const t2shi3 = (t1shi18 << 21 | t1slo18 >>> 11)\n const t2slo19 = (t1shi23 << 24 | t1slo23 >>> 8)\n const t2shi19 = (t1slo23 << 24 | t1shi23 >>> 8)\n const t2slo15 = (t1slo4 << 27 | t1shi4 >>> 5)\n const t2shi15 = (t1shi4 << 27 | t1slo4 >>> 5)\n const t2slo6 = (t1slo9 << 20 | t1shi9 >>> 12)\n const t2shi6 = (t1shi9 << 20 | t1slo9 >>> 12)\n const t2slo22 = (t1shi14 << 7 | t1slo14 >>> 25)\n const t2shi22 = (t1slo14 << 7 | t1shi14 >>> 25)\n const t2slo13 = (t1slo19 << 8 | t1shi19 >>> 24)\n const t2shi13 = (t1shi19 << 8 | t1slo19 >>> 24)\n const t2slo4 = (t1slo24 << 14 | t1shi24 >>> 18)\n const t2shi4 = (t1shi24 << 14 | t1slo24 >>> 18)\n\n // chi\n s[0] = t2slo0 ^ (~t2slo1 & t2slo2)\n s[1] = t2shi0 ^ (~t2shi1 & t2shi2)\n s[10] = t2slo5 ^ (~t2slo6 & t2slo7)\n s[11] = t2shi5 ^ (~t2shi6 & t2shi7)\n s[20] = t2slo10 ^ (~t2slo11 & t2slo12)\n s[21] = t2shi10 ^ (~t2shi11 & t2shi12)\n s[30] = t2slo15 ^ (~t2slo16 & t2slo17)\n s[31] = t2shi15 ^ (~t2shi16 & t2shi17)\n s[40] = t2slo20 ^ (~t2slo21 & t2slo22)\n s[41] = t2shi20 ^ (~t2shi21 & t2shi22)\n s[2] = t2slo1 ^ (~t2slo2 & t2slo3)\n s[3] = t2shi1 ^ (~t2shi2 & t2shi3)\n s[12] = t2slo6 ^ (~t2slo7 & t2slo8)\n s[13] = t2shi6 ^ (~t2shi7 & t2shi8)\n s[22] = t2slo11 ^ (~t2slo12 & t2slo13)\n s[23] = t2shi11 ^ (~t2shi12 & t2shi13)\n s[32] = t2slo16 ^ (~t2slo17 & t2slo18)\n s[33] = t2shi16 ^ (~t2shi17 & t2shi18)\n s[42] = t2slo21 ^ (~t2slo22 & t2slo23)\n s[43] = t2shi21 ^ (~t2shi22 & t2shi23)\n s[4] = t2slo2 ^ (~t2slo3 & t2slo4)\n s[5] = t2shi2 ^ (~t2shi3 & t2shi4)\n s[14] = t2slo7 ^ (~t2slo8 & t2slo9)\n s[15] = t2shi7 ^ (~t2shi8 & t2shi9)\n s[24] = t2slo12 ^ (~t2slo13 & t2slo14)\n s[25] = t2shi12 ^ (~t2shi13 & t2shi14)\n s[34] = t2slo17 ^ (~t2slo18 & t2slo19)\n s[35] = t2shi17 ^ (~t2shi18 & t2shi19)\n s[44] = t2slo22 ^ (~t2slo23 & t2slo24)\n s[45] = t2shi22 ^ (~t2shi23 & t2shi24)\n s[6] = t2slo3 ^ (~t2slo4 & t2slo0)\n s[7] = t2shi3 ^ (~t2shi4 & t2shi0)\n s[16] = t2slo8 ^ (~t2slo9 & t2slo5)\n s[17] = t2shi8 ^ (~t2shi9 & t2shi5)\n s[26] = t2slo13 ^ (~t2slo14 & t2slo10)\n s[27] = t2shi13 ^ (~t2shi14 & t2shi10)\n s[36] = t2slo18 ^ (~t2slo19 & t2slo15)\n s[37] = t2shi18 ^ (~t2shi19 & t2shi15)\n s[46] = t2slo23 ^ (~t2slo24 & t2slo20)\n s[47] = t2shi23 ^ (~t2shi24 & t2shi20)\n s[8] = t2slo4 ^ (~t2slo0 & t2slo1)\n s[9] = t2shi4 ^ (~t2shi0 & t2shi1)\n s[18] = t2slo9 ^ (~t2slo5 & t2slo6)\n s[19] = t2shi9 ^ (~t2shi5 & t2shi6)\n s[28] = t2slo14 ^ (~t2slo10 & t2slo11)\n s[29] = t2shi14 ^ (~t2shi10 & t2shi11)\n s[38] = t2slo19 ^ (~t2slo15 & t2slo16)\n s[39] = t2shi19 ^ (~t2shi15 & t2shi16)\n s[48] = t2slo24 ^ (~t2slo20 & t2slo21)\n s[49] = t2shi24 ^ (~t2shi20 & t2shi21)\n\n // iota\n s[0] ^= P1600_ROUND_CONSTANTS[round * 2]\n s[1] ^= P1600_ROUND_CONSTANTS[round * 2 + 1]\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9rZWNjYWstc3RhdGUtdW5yb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOztBQUVBLGFBQWE7QUFDYixzQkFBc0IsWUFBWTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2tlY2Nhay9saWIva2VjY2FrLXN0YXRlLXVucm9sbC5qcz9mNDFjIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFAxNjAwX1JPVU5EX0NPTlNUQU5UUyA9IFsxLCAwLCAzMjg5OCwgMCwgMzI5MDYsIDIxNDc0ODM2NDgsIDIxNDc1MTY0MTYsIDIxNDc0ODM2NDgsIDMyOTA3LCAwLCAyMTQ3NDgzNjQ5LCAwLCAyMTQ3NTE2NTQ1LCAyMTQ3NDgzNjQ4LCAzMjc3NywgMjE0NzQ4MzY0OCwgMTM4LCAwLCAxMzYsIDAsIDIxNDc1MTY0MjUsIDAsIDIxNDc0ODM2NTgsIDAsIDIxNDc1MTY1NTUsIDAsIDEzOSwgMjE0NzQ4MzY0OCwgMzI5MDUsIDIxNDc0ODM2NDgsIDMyNzcxLCAyMTQ3NDgzNjQ4LCAzMjc3MCwgMjE0NzQ4MzY0OCwgMTI4LCAyMTQ3NDgzNjQ4LCAzMjc3OCwgMCwgMjE0NzQ4MzY1OCwgMjE0NzQ4MzY0OCwgMjE0NzUxNjU0NSwgMjE0NzQ4MzY0OCwgMzI4OTYsIDIxNDc0ODM2NDgsIDIxNDc0ODM2NDksIDAsIDIxNDc1MTY0MjQsIDIxNDc0ODM2NDhdXG5cbmV4cG9ydHMucDE2MDAgPSBmdW5jdGlvbiAocykge1xuICBmb3IgKGxldCByb3VuZCA9IDA7IHJvdW5kIDwgMjQ7ICsrcm91bmQpIHtcbiAgICAvLyB0aGV0YVxuICAgIGNvbnN0IGxvMCA9IHNbMF0gXiBzWzEwXSBeIHNbMjBdIF4gc1szMF0gXiBzWzQwXVxuICAgIGNvbnN0IGhpMCA9IHNbMV0gXiBzWzExXSBeIHNbMjFdIF4gc1szMV0gXiBzWzQxXVxuICAgIGNvbnN0IGxvMSA9IHNbMl0gXiBzWzEyXSBeIHNbMjJdIF4gc1szMl0gXiBzWzQyXVxuICAgIGNvbnN0IGhpMSA9IHNbM10gXiBzWzEzXSBeIHNbMjNdIF4gc1szM10gXiBzWzQzXVxuICAgIGNvbnN0IGxvMiA9IHNbNF0gXiBzWzE0XSBeIHNbMjRdIF4gc1szNF0gXiBzWzQ0XVxuICAgIGNvbnN0IGhpMiA9IHNbNV0gXiBzWzE1XSBeIHNbMjVdIF4gc1szNV0gXiBzWzQ1XVxuICAgIGNvbnN0IGxvMyA9IHNbNl0gXiBzWzE2XSBeIHNbMjZdIF4gc1szNl0gXiBzWzQ2XVxuICAgIGNvbnN0IGhpMyA9IHNbN10gXiBzWzE3XSBeIHNbMjddIF4gc1szN10gXiBzWzQ3XVxuICAgIGNvbnN0IGxvNCA9IHNbOF0gXiBzWzE4XSBeIHNbMjhdIF4gc1szOF0gXiBzWzQ4XVxuICAgIGNvbnN0IGhpNCA9IHNbOV0gXiBzWzE5XSBeIHNbMjldIF4gc1szOV0gXiBzWzQ5XVxuXG4gICAgbGV0IGxvID0gbG80IF4gKGxvMSA8PCAxIHwgaGkxID4+PiAzMSlcbiAgICBsZXQgaGkgPSBoaTQgXiAoaGkxIDw8IDEgfCBsbzEgPj4+IDMxKVxuICAgIGNvbnN0IHQxc2xvMCA9IHNbMF0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMCA9IHNbMV0gXiBoaVxuICAgIGNvbnN0IHQxc2xvNSA9IHNbMTBdIF4gbG9cbiAgICBjb25zdCB0MXNoaTUgPSBzWzExXSBeIGhpXG4gICAgY29uc3QgdDFzbG8xMCA9IHNbMjBdIF4gbG9cbiAgICBjb25zdCB0MXNoaTEwID0gc1syMV0gXiBoaVxuICAgIGNvbnN0IHQxc2xvMTUgPSBzWzMwXSBeIGxvXG4gICAgY29uc3QgdDFzaGkxNSA9IHNbMzFdIF4gaGlcbiAgICBjb25zdCB0MXNsbzIwID0gc1s0MF0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMjAgPSBzWzQxXSBeIGhpXG4gICAgbG8gPSBsbzAgXiAobG8yIDw8IDEgfCBoaTIgPj4+IDMxKVxuICAgIGhpID0gaGkwIF4gKGhpMiA8PCAxIHwgbG8yID4+PiAzMSlcbiAgICBjb25zdCB0MXNsbzEgPSBzWzJdIF4gbG9cbiAgICBjb25zdCB0MXNoaTEgPSBzWzNdIF4gaGlcbiAgICBjb25zdCB0MXNsbzYgPSBzWzEyXSBeIGxvXG4gICAgY29uc3QgdDFzaGk2ID0gc1sxM10gXiBoaVxuICAgIGNvbnN0IHQxc2xvMTEgPSBzWzIyXSBeIGxvXG4gICAgY29uc3QgdDFzaGkxMSA9IHNbMjNdIF4gaGlcbiAgICBjb25zdCB0MXNsbzE2ID0gc1szMl0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMTYgPSBzWzMzXSBeIGhpXG4gICAgY29uc3QgdDFzbG8yMSA9IHNbNDJdIF4gbG9cbiAgICBjb25zdCB0MXNoaTIxID0gc1s0M10gXiBoaVxuICAgIGxvID0gbG8xIF4gKGxvMyA8PCAxIHwgaGkzID4+PiAzMSlcbiAgICBoaSA9IGhpMSBeIChoaTMgPDwgMSB8IGxvMyA+Pj4gMzEpXG4gICAgY29uc3QgdDFzbG8yID0gc1s0XSBeIGxvXG4gICAgY29uc3QgdDFzaGkyID0gc1s1XSBeIGhpXG4gICAgY29uc3QgdDFzbG83ID0gc1sxNF0gXiBsb1xuICAgIGNvbnN0IHQxc2hpNyA9IHNbMTVdIF4gaGlcbiAgICBjb25zdCB0MXNsbzEyID0gc1syNF0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMTIgPSBzWzI1XSBeIGhpXG4gICAgY29uc3QgdDFzbG8xNyA9IHNbMzRdIF4gbG9cbiAgICBjb25zdCB0MXNoaTE3ID0gc1szNV0gXiBoaVxuICAgIGNvbnN0IHQxc2xvMjIgPSBzWzQ0XSBeIGxvXG4gICAgY29uc3QgdDFzaGkyMiA9IHNbNDVdIF4gaGlcbiAgICBsbyA9IGxvMiBeIChsbzQgPDwgMSB8IGhpNCA+Pj4gMzEpXG4gICAgaGkgPSBoaTIgXiAoaGk0IDw8IDEgfCBsbzQgPj4+IDMxKVxuICAgIGNvbnN0IHQxc2xvMyA9IHNbNl0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMyA9IHNbN10gXiBoaVxuICAgIGNvbnN0IHQxc2xvOCA9IHNbMTZdIF4gbG9cbiAgICBjb25zdCB0MXNoaTggPSBzWzE3XSBeIGhpXG4gICAgY29uc3QgdDFzbG8xMyA9IHNbMjZdIF4gbG9cbiAgICBjb25zdCB0MXNoaTEzID0gc1syN10gXiBoaVxuICAgIGNvbnN0IHQxc2xvMTggPSBzWzM2XSBeIGxvXG4gICAgY29uc3QgdDFzaGkxOCA9IHNbMzddIF4gaGlcbiAgICBjb25zdCB0MXNsbzIzID0gc1s0Nl0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMjMgPSBzWzQ3XSBeIGhpXG4gICAgbG8gPSBsbzMgXiAobG8wIDw8IDEgfCBoaTAgPj4+IDMxKVxuICAgIGhpID0gaGkzIF4gKGhpMCA8PCAxIHwgbG8wID4+PiAzMSlcbiAgICBjb25zdCB0MXNsbzQgPSBzWzhdIF4gbG9cbiAgICBjb25zdCB0MXNoaTQgPSBzWzldIF4gaGlcbiAgICBjb25zdCB0MXNsbzkgPSBzWzE4XSBeIGxvXG4gICAgY29uc3QgdDFzaGk5ID0gc1sxOV0gXiBoaVxuICAgIGNvbnN0IHQxc2xvMTQgPSBzWzI4XSBeIGxvXG4gICAgY29uc3QgdDFzaGkxNCA9IHNbMjldIF4gaGlcbiAgICBjb25zdCB0MXNsbzE5ID0gc1szOF0gXiBsb1xuICAgIGNvbnN0IHQxc2hpMTkgPSBzWzM5XSBeIGhpXG4gICAgY29uc3QgdDFzbG8yNCA9IHNbNDhdIF4gbG9cbiAgICBjb25zdCB0MXNoaTI0ID0gc1s0OV0gXiBoaVxuXG4gICAgLy8gcmhvICYgcGlcbiAgICBjb25zdCB0MnNsbzAgPSB0MXNsbzBcbiAgICBjb25zdCB0MnNoaTAgPSB0MXNoaTBcbiAgICBjb25zdCB0MnNsbzE2ID0gKHQxc2hpNSA8PCA0IHwgdDFzbG81ID4+PiAyOClcbiAgICBjb25zdCB0MnNoaTE2ID0gKHQxc2xvNSA8PCA0IHwgdDFzaGk1ID4+PiAyOClcbiAgICBjb25zdCB0MnNsbzcgPSAodDFzbG8xMCA8PCAzIHwgdDFzaGkxMCA+Pj4gMjkpXG4gICAgY29uc3QgdDJzaGk3ID0gKHQxc2hpMTAgPDwgMyB8IHQxc2xvMTAgPj4+IDI5KVxuICAgIGNvbnN0IHQyc2xvMjMgPSAodDFzaGkxNSA8PCA5IHwgdDFzbG8xNSA+Pj4gMjMpXG4gICAgY29uc3QgdDJzaGkyMyA9ICh0MXNsbzE1IDw8IDkgfCB0MXNoaTE1ID4+PiAyMylcbiAgICBjb25zdCB0MnNsbzE0ID0gKHQxc2xvMjAgPDwgMTggfCB0MXNoaTIwID4+PiAxNClcbiAgICBjb25zdCB0MnNoaTE0ID0gKHQxc2hpMjAgPDwgMTggfCB0MXNsbzIwID4+PiAxNClcbiAgICBjb25zdCB0MnNsbzEwID0gKHQxc2xvMSA8PCAxIHwgdDFzaGkxID4+PiAzMSlcbiAgICBjb25zdCB0MnNoaTEwID0gKHQxc2hpMSA8PCAxIHwgdDFzbG8xID4+PiAzMSlcbiAgICBjb25zdCB0MnNsbzEgPSAodDFzaGk2IDw8IDEyIHwgdDFzbG82ID4+PiAyMClcbiAgICBjb25zdCB0MnNoaTEgPSAodDFzbG82IDw8IDEyIHwgdDFzaGk2ID4+PiAyMClcbiAgICBjb25zdCB0MnNsbzE3ID0gKHQxc2xvMTEgPDwgMTAgfCB0MXNoaTExID4+PiAyMilcbiAgICBjb25zdCB0MnNoaTE3ID0gKHQxc2hpMTEgPDwgMTAgfCB0MXNsbzExID4+PiAyMilcbiAgICBjb25zdCB0MnNsbzggPSAodDFzaGkxNiA8PCAxMyB8IHQxc2xvMTYgPj4+IDE5KVxuICAgIGNvbnN0IHQyc2hpOCA9ICh0MXNsbzE2IDw8IDEzIHwgdDFzaGkxNiA+Pj4gMTkpXG4gICAgY29uc3QgdDJzbG8yNCA9ICh0MXNsbzIxIDw8IDIgfCB0MXNoaTIxID4+PiAzMClcbiAgICBjb25zdCB0MnNoaTI0ID0gKHQxc2hpMjEgPDwgMiB8IHQxc2xvMjEgPj4+IDMwKVxuICAgIGNvbnN0IHQyc2xvMjAgPSAodDFzaGkyIDw8IDMwIHwgdDFzbG8yID4+PiAyKVxuICAgIGNvbnN0IHQyc2hpMjAgPSAodDFzbG8yIDw8IDMwIHwgdDFzaGkyID4+PiAyKVxuICAgIGNvbnN0IHQyc2xvMTEgPSAodDFzbG83IDw8IDYgfCB0MXNoaTcgPj4+IDI2KVxuICAgIGNvbnN0IHQyc2hpMTEgPSAodDFzaGk3IDw8IDYgfCB0MXNsbzcgPj4+IDI2KVxuICAgIGNvbnN0IHQyc2xvMiA9ICh0MXNoaTEyIDw8IDExIHwgdDFzbG8xMiA+Pj4gMjEpXG4gICAgY29uc3QgdDJzaGkyID0gKHQxc2xvMTIgPDwgMTEgfCB0MXNoaTEyID4+PiAyMSlcbiAgICBjb25zdCB0MnNsbzE4ID0gKHQxc2xvMTcgPDwgMTUgfCB0MXNoaTE3ID4+PiAxNylcbiAgICBjb25zdCB0MnNoaTE4ID0gKHQxc2hpMTcgPDwgMTUgfCB0MXNsbzE3ID4+PiAxNylcbiAgICBjb25zdCB0MnNsbzkgPSAodDFzaGkyMiA8PCAyOSB8IHQxc2xvMjIgPj4+IDMpXG4gICAgY29uc3QgdDJzaGk5ID0gKHQxc2xvMjIgPDwgMjkgfCB0MXNoaTIyID4+PiAzKVxuICAgIGNvbnN0IHQyc2xvNSA9ICh0MXNsbzMgPDwgMjggfCB0MXNoaTMgPj4+IDQpXG4gICAgY29uc3QgdDJzaGk1ID0gKHQxc2hpMyA8PCAyOCB8IHQxc2xvMyA+Pj4gNClcbiAgICBjb25zdCB0MnNsbzIxID0gKHQxc2hpOCA8PCAyMyB8IHQxc2xvOCA+Pj4gOSlcbiAgICBjb25zdCB0MnNoaTIxID0gKHQxc2xvOCA8PCAyMyB8IHQxc2hpOCA+Pj4gOSlcbiAgICBjb25zdCB0MnNsbzEyID0gKHQxc2xvMTMgPDwgMjUgfCB0MXNoaTEzID4+PiA3KVxuICAgIGNvbnN0IHQyc2hpMTIgPSAodDFzaGkxMyA8PCAyNSB8IHQxc2xvMTMgPj4+IDcpXG4gICAgY29uc3QgdDJzbG8zID0gKHQxc2xvMTggPDwgMjEgfCB0MXNoaTE4ID4+PiAxMSlcbiAgICBjb25zdCB0MnNoaTMgPSAodDFzaGkxOCA8PCAyMSB8IHQxc2xvMTggPj4+IDExKVxuICAgIGNvbnN0IHQyc2xvMTkgPSAodDFzaGkyMyA8PCAyNCB8IHQxc2xvMjMgPj4+IDgpXG4gICAgY29uc3QgdDJzaGkxOSA9ICh0MXNsbzIzIDw8IDI0IHwgdDFzaGkyMyA+Pj4gOClcbiAgICBjb25zdCB0MnNsbzE1ID0gKHQxc2xvNCA8PCAyNyB8IHQxc2hpNCA+Pj4gNSlcbiAgICBjb25zdCB0MnNoaTE1ID0gKHQxc2hpNCA8PCAyNyB8IHQxc2xvNCA+Pj4gNSlcbiAgICBjb25zdCB0MnNsbzYgPSAodDFzbG85IDw8IDIwIHwgdDFzaGk5ID4+PiAxMilcbiAgICBjb25zdCB0MnNoaTYgPSAodDFzaGk5IDw8IDIwIHwgdDFzbG85ID4+PiAxMilcbiAgICBjb25zdCB0MnNsbzIyID0gKHQxc2hpMTQgPDwgNyB8IHQxc2xvMTQgPj4+IDI1KVxuICAgIGNvbnN0IHQyc2hpMjIgPSAodDFzbG8xNCA8PCA3IHwgdDFzaGkxNCA+Pj4gMjUpXG4gICAgY29uc3QgdDJzbG8xMyA9ICh0MXNsbzE5IDw8IDggfCB0MXNoaTE5ID4+PiAyNClcbiAgICBjb25zdCB0MnNoaTEzID0gKHQxc2hpMTkgPDwgOCB8IHQxc2xvMTkgPj4+IDI0KVxuICAgIGNvbnN0IHQyc2xvNCA9ICh0MXNsbzI0IDw8IDE0IHwgdDFzaGkyNCA+Pj4gMTgpXG4gICAgY29uc3QgdDJzaGk0ID0gKHQxc2hpMjQgPDwgMTQgfCB0MXNsbzI0ID4+PiAxOClcblxuICAgIC8vIGNoaVxuICAgIHNbMF0gPSB0MnNsbzAgXiAofnQyc2xvMSAmIHQyc2xvMilcbiAgICBzWzFdID0gdDJzaGkwIF4gKH50MnNoaTEgJiB0MnNoaTIpXG4gICAgc1sxMF0gPSB0MnNsbzUgXiAofnQyc2xvNiAmIHQyc2xvNylcbiAgICBzWzExXSA9IHQyc2hpNSBeICh+dDJzaGk2ICYgdDJzaGk3KVxuICAgIHNbMjBdID0gdDJzbG8xMCBeICh+dDJzbG8xMSAmIHQyc2xvMTIpXG4gICAgc1syMV0gPSB0MnNoaTEwIF4gKH50MnNoaTExICYgdDJzaGkxMilcbiAgICBzWzMwXSA9IHQyc2xvMTUgXiAofnQyc2xvMTYgJiB0MnNsbzE3KVxuICAgIHNbMzFdID0gdDJzaGkxNSBeICh+dDJzaGkxNiAmIHQyc2hpMTcpXG4gICAgc1s0MF0gPSB0MnNsbzIwIF4gKH50MnNsbzIxICYgdDJzbG8yMilcbiAgICBzWzQxXSA9IHQyc2hpMjAgXiAofnQyc2hpMjEgJiB0MnNoaTIyKVxuICAgIHNbMl0gPSB0MnNsbzEgXiAofnQyc2xvMiAmIHQyc2xvMylcbiAgICBzWzNdID0gdDJzaGkxIF4gKH50MnNoaTIgJiB0MnNoaTMpXG4gICAgc1sxMl0gPSB0MnNsbzYgXiAofnQyc2xvNyAmIHQyc2xvOClcbiAgICBzWzEzXSA9IHQyc2hpNiBeICh+dDJzaGk3ICYgdDJzaGk4KVxuICAgIHNbMjJdID0gdDJzbG8xMSBeICh+dDJzbG8xMiAmIHQyc2xvMTMpXG4gICAgc1syM10gPSB0MnNoaTExIF4gKH50MnNoaTEyICYgdDJzaGkxMylcbiAgICBzWzMyXSA9IHQyc2xvMTYgXiAofnQyc2xvMTcgJiB0MnNsbzE4KVxuICAgIHNbMzNdID0gdDJzaGkxNiBeICh+dDJzaGkxNyAmIHQyc2hpMTgpXG4gICAgc1s0Ml0gPSB0MnNsbzIxIF4gKH50MnNsbzIyICYgdDJzbG8yMylcbiAgICBzWzQzXSA9IHQyc2hpMjEgXiAofnQyc2hpMjIgJiB0MnNoaTIzKVxuICAgIHNbNF0gPSB0MnNsbzIgXiAofnQyc2xvMyAmIHQyc2xvNClcbiAgICBzWzVdID0gdDJzaGkyIF4gKH50MnNoaTMgJiB0MnNoaTQpXG4gICAgc1sxNF0gPSB0MnNsbzcgXiAofnQyc2xvOCAmIHQyc2xvOSlcbiAgICBzWzE1XSA9IHQyc2hpNyBeICh+dDJzaGk4ICYgdDJzaGk5KVxuICAgIHNbMjRdID0gdDJzbG8xMiBeICh+dDJzbG8xMyAmIHQyc2xvMTQpXG4gICAgc1syNV0gPSB0MnNoaTEyIF4gKH50MnNoaTEzICYgdDJzaGkxNClcbiAgICBzWzM0XSA9IHQyc2xvMTcgXiAofnQyc2xvMTggJiB0MnNsbzE5KVxuICAgIHNbMzVdID0gdDJzaGkxNyBeICh+dDJzaGkxOCAmIHQyc2hpMTkpXG4gICAgc1s0NF0gPSB0MnNsbzIyIF4gKH50MnNsbzIzICYgdDJzbG8yNClcbiAgICBzWzQ1XSA9IHQyc2hpMjIgXiAofnQyc2hpMjMgJiB0MnNoaTI0KVxuICAgIHNbNl0gPSB0MnNsbzMgXiAofnQyc2xvNCAmIHQyc2xvMClcbiAgICBzWzddID0gdDJzaGkzIF4gKH50MnNoaTQgJiB0MnNoaTApXG4gICAgc1sxNl0gPSB0MnNsbzggXiAofnQyc2xvOSAmIHQyc2xvNSlcbiAgICBzWzE3XSA9IHQyc2hpOCBeICh+dDJzaGk5ICYgdDJzaGk1KVxuICAgIHNbMjZdID0gdDJzbG8xMyBeICh+dDJzbG8xNCAmIHQyc2xvMTApXG4gICAgc1syN10gPSB0MnNoaTEzIF4gKH50MnNoaTE0ICYgdDJzaGkxMClcbiAgICBzWzM2XSA9IHQyc2xvMTggXiAofnQyc2xvMTkgJiB0MnNsbzE1KVxuICAgIHNbMzddID0gdDJzaGkxOCBeICh+dDJzaGkxOSAmIHQyc2hpMTUpXG4gICAgc1s0Nl0gPSB0MnNsbzIzIF4gKH50MnNsbzI0ICYgdDJzbG8yMClcbiAgICBzWzQ3XSA9IHQyc2hpMjMgXiAofnQyc2hpMjQgJiB0MnNoaTIwKVxuICAgIHNbOF0gPSB0MnNsbzQgXiAofnQyc2xvMCAmIHQyc2xvMSlcbiAgICBzWzldID0gdDJzaGk0IF4gKH50MnNoaTAgJiB0MnNoaTEpXG4gICAgc1sxOF0gPSB0MnNsbzkgXiAofnQyc2xvNSAmIHQyc2xvNilcbiAgICBzWzE5XSA9IHQyc2hpOSBeICh+dDJzaGk1ICYgdDJzaGk2KVxuICAgIHNbMjhdID0gdDJzbG8xNCBeICh+dDJzbG8xMCAmIHQyc2xvMTEpXG4gICAgc1syOV0gPSB0MnNoaTE0IF4gKH50MnNoaTEwICYgdDJzaGkxMSlcbiAgICBzWzM4XSA9IHQyc2xvMTkgXiAofnQyc2xvMTUgJiB0MnNsbzE2KVxuICAgIHNbMzldID0gdDJzaGkxOSBeICh+dDJzaGkxNSAmIHQyc2hpMTYpXG4gICAgc1s0OF0gPSB0MnNsbzI0IF4gKH50MnNsbzIwICYgdDJzbG8yMSlcbiAgICBzWzQ5XSA9IHQyc2hpMjQgXiAofnQyc2hpMjAgJiB0MnNoaTIxKVxuXG4gICAgLy8gaW90YVxuICAgIHNbMF0gXj0gUDE2MDBfUk9VTkRfQ09OU1RBTlRTW3JvdW5kICogMl1cbiAgICBzWzFdIF49IFAxNjAwX1JPVU5EX0NPTlNUQU5UU1tyb3VuZCAqIDIgKyAxXVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/keccak/lib/keccak-state-unroll.js\n")); - -/***/ }), - -/***/ "./node_modules/keccak/lib/keccak.js": -/*!*******************************************!*\ - !*** ./node_modules/keccak/lib/keccak.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\nconst keccakState = __webpack_require__(/*! ./keccak-state-unroll */ \"./node_modules/keccak/lib/keccak-state-unroll.js\")\n\nfunction Keccak () {\n // much faster than `new Array(50)`\n this.state = [\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0\n ]\n\n this.blockSize = null\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.initialize = function (rate, capacity) {\n for (let i = 0; i < 50; ++i) this.state[i] = 0\n this.blockSize = rate / 8\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.absorb = function (data) {\n for (let i = 0; i < data.length; ++i) {\n this.state[~~(this.count / 4)] ^= data[i] << (8 * (this.count % 4))\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n}\n\nKeccak.prototype.absorbLastFewBits = function (bits) {\n this.state[~~(this.count / 4)] ^= bits << (8 * (this.count % 4))\n if ((bits & 0x80) !== 0 && this.count === (this.blockSize - 1)) keccakState.p1600(this.state)\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << (8 * ((this.blockSize - 1) % 4))\n keccakState.p1600(this.state)\n this.count = 0\n this.squeezing = true\n}\n\nKeccak.prototype.squeeze = function (length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01)\n\n const output = Buffer.alloc(length)\n for (let i = 0; i < length; ++i) {\n output[i] = (this.state[~~(this.count / 4)] >>> (8 * (this.count % 4))) & 0xff\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n\n return output\n}\n\nKeccak.prototype.copy = function (dest) {\n for (let i = 0; i < 50; ++i) dest.state[i] = this.state[i]\n dest.blockSize = this.blockSize\n dest.count = this.count\n dest.squeezing = this.squeezing\n}\n\nmodule.exports = Keccak\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9rZWNjYWsuanMiLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQixtQkFBTyxDQUFDLCtFQUF1Qjs7QUFFbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlCQUFpQixNQUFNO0FBQ3ZCLGtCQUFrQixZQUFZO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsUUFBUTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMva2VjY2FrL2xpYi9rZWNjYWsuanM/MDdiOSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBrZWNjYWtTdGF0ZSA9IHJlcXVpcmUoJy4va2VjY2FrLXN0YXRlLXVucm9sbCcpXG5cbmZ1bmN0aW9uIEtlY2NhayAoKSB7XG4gIC8vIG11Y2ggZmFzdGVyIHRoYW4gYG5ldyBBcnJheSg1MClgXG4gIHRoaXMuc3RhdGUgPSBbXG4gICAgMCwgMCwgMCwgMCwgMCxcbiAgICAwLCAwLCAwLCAwLCAwLFxuICAgIDAsIDAsIDAsIDAsIDAsXG4gICAgMCwgMCwgMCwgMCwgMCxcbiAgICAwLCAwLCAwLCAwLCAwXG4gIF1cblxuICB0aGlzLmJsb2NrU2l6ZSA9IG51bGxcbiAgdGhpcy5jb3VudCA9IDBcbiAgdGhpcy5zcXVlZXppbmcgPSBmYWxzZVxufVxuXG5LZWNjYWsucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbiAocmF0ZSwgY2FwYWNpdHkpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1MDsgKytpKSB0aGlzLnN0YXRlW2ldID0gMFxuICB0aGlzLmJsb2NrU2l6ZSA9IHJhdGUgLyA4XG4gIHRoaXMuY291bnQgPSAwXG4gIHRoaXMuc3F1ZWV6aW5nID0gZmFsc2Vcbn1cblxuS2VjY2FrLnByb3RvdHlwZS5hYnNvcmIgPSBmdW5jdGlvbiAoZGF0YSkge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyArK2kpIHtcbiAgICB0aGlzLnN0YXRlW35+KHRoaXMuY291bnQgLyA0KV0gXj0gZGF0YVtpXSA8PCAoOCAqICh0aGlzLmNvdW50ICUgNCkpXG4gICAgdGhpcy5jb3VudCArPSAxXG4gICAgaWYgKHRoaXMuY291bnQgPT09IHRoaXMuYmxvY2tTaXplKSB7XG4gICAgICBrZWNjYWtTdGF0ZS5wMTYwMCh0aGlzLnN0YXRlKVxuICAgICAgdGhpcy5jb3VudCA9IDBcbiAgICB9XG4gIH1cbn1cblxuS2VjY2FrLnByb3RvdHlwZS5hYnNvcmJMYXN0RmV3Qml0cyA9IGZ1bmN0aW9uIChiaXRzKSB7XG4gIHRoaXMuc3RhdGVbfn4odGhpcy5jb3VudCAvIDQpXSBePSBiaXRzIDw8ICg4ICogKHRoaXMuY291bnQgJSA0KSlcbiAgaWYgKChiaXRzICYgMHg4MCkgIT09IDAgJiYgdGhpcy5jb3VudCA9PT0gKHRoaXMuYmxvY2tTaXplIC0gMSkpIGtlY2Nha1N0YXRlLnAxNjAwKHRoaXMuc3RhdGUpXG4gIHRoaXMuc3RhdGVbfn4oKHRoaXMuYmxvY2tTaXplIC0gMSkgLyA0KV0gXj0gMHg4MCA8PCAoOCAqICgodGhpcy5ibG9ja1NpemUgLSAxKSAlIDQpKVxuICBrZWNjYWtTdGF0ZS5wMTYwMCh0aGlzLnN0YXRlKVxuICB0aGlzLmNvdW50ID0gMFxuICB0aGlzLnNxdWVlemluZyA9IHRydWVcbn1cblxuS2VjY2FrLnByb3RvdHlwZS5zcXVlZXplID0gZnVuY3Rpb24gKGxlbmd0aCkge1xuICBpZiAoIXRoaXMuc3F1ZWV6aW5nKSB0aGlzLmFic29yYkxhc3RGZXdCaXRzKDB4MDEpXG5cbiAgY29uc3Qgb3V0cHV0ID0gQnVmZmVyLmFsbG9jKGxlbmd0aClcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgIG91dHB1dFtpXSA9ICh0aGlzLnN0YXRlW35+KHRoaXMuY291bnQgLyA0KV0gPj4+ICg4ICogKHRoaXMuY291bnQgJSA0KSkpICYgMHhmZlxuICAgIHRoaXMuY291bnQgKz0gMVxuICAgIGlmICh0aGlzLmNvdW50ID09PSB0aGlzLmJsb2NrU2l6ZSkge1xuICAgICAga2VjY2FrU3RhdGUucDE2MDAodGhpcy5zdGF0ZSlcbiAgICAgIHRoaXMuY291bnQgPSAwXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dHB1dFxufVxuXG5LZWNjYWsucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiAoZGVzdCkge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDUwOyArK2kpIGRlc3Quc3RhdGVbaV0gPSB0aGlzLnN0YXRlW2ldXG4gIGRlc3QuYmxvY2tTaXplID0gdGhpcy5ibG9ja1NpemVcbiAgZGVzdC5jb3VudCA9IHRoaXMuY291bnRcbiAgZGVzdC5zcXVlZXppbmcgPSB0aGlzLnNxdWVlemluZ1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEtlY2Nha1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/keccak/lib/keccak.js\n")); - -/***/ }), - -/***/ "./node_modules/lru-cache/index.js": -/*!*****************************************!*\ - !*** ./node_modules/lru-cache/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = __webpack_require__(/*! yallist */ \"./node_modules/yallist/yallist.js\")\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHJ1LWNhY2hlL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFZOztBQUVaO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsa0RBQVM7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUIsa0JBQWtCO0FBQ2xCLHFCQUFxQjs7QUFFckI7QUFDQTtBQUNBLDJDQUEyQyxnQkFBZ0I7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkNBQTJDLGdCQUFnQjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUMsUUFBUTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2xydS1jYWNoZS9pbmRleC5qcz85ODRlIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG4vLyBBIGxpbmtlZCBsaXN0IHRvIGtlZXAgdHJhY2sgb2YgcmVjZW50bHktdXNlZC1uZXNzXG5jb25zdCBZYWxsaXN0ID0gcmVxdWlyZSgneWFsbGlzdCcpXG5cbmNvbnN0IE1BWCA9IFN5bWJvbCgnbWF4JylcbmNvbnN0IExFTkdUSCA9IFN5bWJvbCgnbGVuZ3RoJylcbmNvbnN0IExFTkdUSF9DQUxDVUxBVE9SID0gU3ltYm9sKCdsZW5ndGhDYWxjdWxhdG9yJylcbmNvbnN0IEFMTE9XX1NUQUxFID0gU3ltYm9sKCdhbGxvd1N0YWxlJylcbmNvbnN0IE1BWF9BR0UgPSBTeW1ib2woJ21heEFnZScpXG5jb25zdCBESVNQT1NFID0gU3ltYm9sKCdkaXNwb3NlJylcbmNvbnN0IE5PX0RJU1BPU0VfT05fU0VUID0gU3ltYm9sKCdub0Rpc3Bvc2VPblNldCcpXG5jb25zdCBMUlVfTElTVCA9IFN5bWJvbCgnbHJ1TGlzdCcpXG5jb25zdCBDQUNIRSA9IFN5bWJvbCgnY2FjaGUnKVxuY29uc3QgVVBEQVRFX0FHRV9PTl9HRVQgPSBTeW1ib2woJ3VwZGF0ZUFnZU9uR2V0JylcblxuY29uc3QgbmFpdmVMZW5ndGggPSAoKSA9PiAxXG5cbi8vIGxydUxpc3QgaXMgYSB5YWxsaXN0IHdoZXJlIHRoZSBoZWFkIGlzIHRoZSB5b3VuZ2VzdFxuLy8gaXRlbSwgYW5kIHRoZSB0YWlsIGlzIHRoZSBvbGRlc3QuICB0aGUgbGlzdCBjb250YWlucyB0aGUgSGl0XG4vLyBvYmplY3RzIGFzIHRoZSBlbnRyaWVzLlxuLy8gRWFjaCBIaXQgb2JqZWN0IGhhcyBhIHJlZmVyZW5jZSB0byBpdHMgWWFsbGlzdC5Ob2RlLiAgVGhpc1xuLy8gbmV2ZXIgY2hhbmdlcy5cbi8vXG4vLyBjYWNoZSBpcyBhIE1hcCAob3IgUHNldWRvTWFwKSB0aGF0IG1hdGNoZXMgdGhlIGtleXMgdG9cbi8vIHRoZSBZYWxsaXN0Lk5vZGUgb2JqZWN0LlxuY2xhc3MgTFJVQ2FjaGUge1xuICBjb25zdHJ1Y3RvciAob3B0aW9ucykge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ251bWJlcicpXG4gICAgICBvcHRpb25zID0geyBtYXg6IG9wdGlvbnMgfVxuXG4gICAgaWYgKCFvcHRpb25zKVxuICAgICAgb3B0aW9ucyA9IHt9XG5cbiAgICBpZiAob3B0aW9ucy5tYXggJiYgKHR5cGVvZiBvcHRpb25zLm1heCAhPT0gJ251bWJlcicgfHwgb3B0aW9ucy5tYXggPCAwKSlcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21heCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG4gICAgLy8gS2luZCBvZiB3ZWlyZCB0byBoYXZlIGEgZGVmYXVsdCBtYXggb2YgSW5maW5pdHksIGJ1dCBvaCB3ZWxsLlxuICAgIGNvbnN0IG1heCA9IHRoaXNbTUFYXSA9IG9wdGlvbnMubWF4IHx8IEluZmluaXR5XG5cbiAgICBjb25zdCBsYyA9IG9wdGlvbnMubGVuZ3RoIHx8IG5haXZlTGVuZ3RoXG4gICAgdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0gPSAodHlwZW9mIGxjICE9PSAnZnVuY3Rpb24nKSA/IG5haXZlTGVuZ3RoIDogbGNcbiAgICB0aGlzW0FMTE9XX1NUQUxFXSA9IG9wdGlvbnMuc3RhbGUgfHwgZmFsc2VcbiAgICBpZiAob3B0aW9ucy5tYXhBZ2UgJiYgdHlwZW9mIG9wdGlvbnMubWF4QWdlICE9PSAnbnVtYmVyJylcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21heEFnZSBtdXN0IGJlIGEgbnVtYmVyJylcbiAgICB0aGlzW01BWF9BR0VdID0gb3B0aW9ucy5tYXhBZ2UgfHwgMFxuICAgIHRoaXNbRElTUE9TRV0gPSBvcHRpb25zLmRpc3Bvc2VcbiAgICB0aGlzW05PX0RJU1BPU0VfT05fU0VUXSA9IG9wdGlvbnMubm9EaXNwb3NlT25TZXQgfHwgZmFsc2VcbiAgICB0aGlzW1VQREFURV9BR0VfT05fR0VUXSA9IG9wdGlvbnMudXBkYXRlQWdlT25HZXQgfHwgZmFsc2VcbiAgICB0aGlzLnJlc2V0KClcbiAgfVxuXG4gIC8vIHJlc2l6ZSB0aGUgY2FjaGUgd2hlbiB0aGUgbWF4IGNoYW5nZXMuXG4gIHNldCBtYXggKG1MKSB7XG4gICAgaWYgKHR5cGVvZiBtTCAhPT0gJ251bWJlcicgfHwgbUwgPCAwKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWF4IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyJylcblxuICAgIHRoaXNbTUFYXSA9IG1MIHx8IEluZmluaXR5XG4gICAgdHJpbSh0aGlzKVxuICB9XG4gIGdldCBtYXggKCkge1xuICAgIHJldHVybiB0aGlzW01BWF1cbiAgfVxuXG4gIHNldCBhbGxvd1N0YWxlIChhbGxvd1N0YWxlKSB7XG4gICAgdGhpc1tBTExPV19TVEFMRV0gPSAhIWFsbG93U3RhbGVcbiAgfVxuICBnZXQgYWxsb3dTdGFsZSAoKSB7XG4gICAgcmV0dXJuIHRoaXNbQUxMT1dfU1RBTEVdXG4gIH1cblxuICBzZXQgbWF4QWdlIChtQSkge1xuICAgIGlmICh0eXBlb2YgbUEgIT09ICdudW1iZXInKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWF4QWdlIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyJylcblxuICAgIHRoaXNbTUFYX0FHRV0gPSBtQVxuICAgIHRyaW0odGhpcylcbiAgfVxuICBnZXQgbWF4QWdlICgpIHtcbiAgICByZXR1cm4gdGhpc1tNQVhfQUdFXVxuICB9XG5cbiAgLy8gcmVzaXplIHRoZSBjYWNoZSB3aGVuIHRoZSBsZW5ndGhDYWxjdWxhdG9yIGNoYW5nZXMuXG4gIHNldCBsZW5ndGhDYWxjdWxhdG9yIChsQykge1xuICAgIGlmICh0eXBlb2YgbEMgIT09ICdmdW5jdGlvbicpXG4gICAgICBsQyA9IG5haXZlTGVuZ3RoXG5cbiAgICBpZiAobEMgIT09IHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdKSB7XG4gICAgICB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXSA9IGxDXG4gICAgICB0aGlzW0xFTkdUSF0gPSAwXG4gICAgICB0aGlzW0xSVV9MSVNUXS5mb3JFYWNoKGhpdCA9PiB7XG4gICAgICAgIGhpdC5sZW5ndGggPSB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXShoaXQudmFsdWUsIGhpdC5rZXkpXG4gICAgICAgIHRoaXNbTEVOR1RIXSArPSBoaXQubGVuZ3RoXG4gICAgICB9KVxuICAgIH1cbiAgICB0cmltKHRoaXMpXG4gIH1cbiAgZ2V0IGxlbmd0aENhbGN1bGF0b3IgKCkgeyByZXR1cm4gdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0gfVxuXG4gIGdldCBsZW5ndGggKCkgeyByZXR1cm4gdGhpc1tMRU5HVEhdIH1cbiAgZ2V0IGl0ZW1Db3VudCAoKSB7IHJldHVybiB0aGlzW0xSVV9MSVNUXS5sZW5ndGggfVxuXG4gIHJmb3JFYWNoIChmbiwgdGhpc3ApIHtcbiAgICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgICBmb3IgKGxldCB3YWxrZXIgPSB0aGlzW0xSVV9MSVNUXS50YWlsOyB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgICBjb25zdCBwcmV2ID0gd2Fsa2VyLnByZXZcbiAgICAgIGZvckVhY2hTdGVwKHRoaXMsIGZuLCB3YWxrZXIsIHRoaXNwKVxuICAgICAgd2Fsa2VyID0gcHJldlxuICAgIH1cbiAgfVxuXG4gIGZvckVhY2ggKGZuLCB0aGlzcCkge1xuICAgIHRoaXNwID0gdGhpc3AgfHwgdGhpc1xuICAgIGZvciAobGV0IHdhbGtlciA9IHRoaXNbTFJVX0xJU1RdLmhlYWQ7IHdhbGtlciAhPT0gbnVsbDspIHtcbiAgICAgIGNvbnN0IG5leHQgPSB3YWxrZXIubmV4dFxuICAgICAgZm9yRWFjaFN0ZXAodGhpcywgZm4sIHdhbGtlciwgdGhpc3ApXG4gICAgICB3YWxrZXIgPSBuZXh0XG4gICAgfVxuICB9XG5cbiAga2V5cyAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdLnRvQXJyYXkoKS5tYXAoayA9PiBrLmtleSlcbiAgfVxuXG4gIHZhbHVlcyAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdLnRvQXJyYXkoKS5tYXAoayA9PiBrLnZhbHVlKVxuICB9XG5cbiAgcmVzZXQgKCkge1xuICAgIGlmICh0aGlzW0RJU1BPU0VdICYmXG4gICAgICAgIHRoaXNbTFJVX0xJU1RdICYmXG4gICAgICAgIHRoaXNbTFJVX0xJU1RdLmxlbmd0aCkge1xuICAgICAgdGhpc1tMUlVfTElTVF0uZm9yRWFjaChoaXQgPT4gdGhpc1tESVNQT1NFXShoaXQua2V5LCBoaXQudmFsdWUpKVxuICAgIH1cblxuICAgIHRoaXNbQ0FDSEVdID0gbmV3IE1hcCgpIC8vIGhhc2ggb2YgaXRlbXMgYnkga2V5XG4gICAgdGhpc1tMUlVfTElTVF0gPSBuZXcgWWFsbGlzdCgpIC8vIGxpc3Qgb2YgaXRlbXMgaW4gb3JkZXIgb2YgdXNlIHJlY2VuY3lcbiAgICB0aGlzW0xFTkdUSF0gPSAwIC8vIGxlbmd0aCBvZiBpdGVtcyBpbiB0aGUgbGlzdFxuICB9XG5cbiAgZHVtcCAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdLm1hcChoaXQgPT5cbiAgICAgIGlzU3RhbGUodGhpcywgaGl0KSA/IGZhbHNlIDoge1xuICAgICAgICBrOiBoaXQua2V5LFxuICAgICAgICB2OiBoaXQudmFsdWUsXG4gICAgICAgIGU6IGhpdC5ub3cgKyAoaGl0Lm1heEFnZSB8fCAwKVxuICAgICAgfSkudG9BcnJheSgpLmZpbHRlcihoID0+IGgpXG4gIH1cblxuICBkdW1wTHJ1ICgpIHtcbiAgICByZXR1cm4gdGhpc1tMUlVfTElTVF1cbiAgfVxuXG4gIHNldCAoa2V5LCB2YWx1ZSwgbWF4QWdlKSB7XG4gICAgbWF4QWdlID0gbWF4QWdlIHx8IHRoaXNbTUFYX0FHRV1cblxuICAgIGlmIChtYXhBZ2UgJiYgdHlwZW9mIG1heEFnZSAhPT0gJ251bWJlcicpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdtYXhBZ2UgbXVzdCBiZSBhIG51bWJlcicpXG5cbiAgICBjb25zdCBub3cgPSBtYXhBZ2UgPyBEYXRlLm5vdygpIDogMFxuICAgIGNvbnN0IGxlbiA9IHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdKHZhbHVlLCBrZXkpXG5cbiAgICBpZiAodGhpc1tDQUNIRV0uaGFzKGtleSkpIHtcbiAgICAgIGlmIChsZW4gPiB0aGlzW01BWF0pIHtcbiAgICAgICAgZGVsKHRoaXMsIHRoaXNbQ0FDSEVdLmdldChrZXkpKVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgY29uc3Qgbm9kZSA9IHRoaXNbQ0FDSEVdLmdldChrZXkpXG4gICAgICBjb25zdCBpdGVtID0gbm9kZS52YWx1ZVxuXG4gICAgICAvLyBkaXNwb3NlIG9mIHRoZSBvbGQgb25lIGJlZm9yZSBvdmVyd3JpdGluZ1xuICAgICAgLy8gc3BsaXQgb3V0IGludG8gMiBpZnMgZm9yIGJldHRlciBjb3ZlcmFnZSB0cmFja2luZ1xuICAgICAgaWYgKHRoaXNbRElTUE9TRV0pIHtcbiAgICAgICAgaWYgKCF0aGlzW05PX0RJU1BPU0VfT05fU0VUXSlcbiAgICAgICAgICB0aGlzW0RJU1BPU0VdKGtleSwgaXRlbS52YWx1ZSlcbiAgICAgIH1cblxuICAgICAgaXRlbS5ub3cgPSBub3dcbiAgICAgIGl0ZW0ubWF4QWdlID0gbWF4QWdlXG4gICAgICBpdGVtLnZhbHVlID0gdmFsdWVcbiAgICAgIHRoaXNbTEVOR1RIXSArPSBsZW4gLSBpdGVtLmxlbmd0aFxuICAgICAgaXRlbS5sZW5ndGggPSBsZW5cbiAgICAgIHRoaXMuZ2V0KGtleSlcbiAgICAgIHRyaW0odGhpcylcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgaGl0ID0gbmV3IEVudHJ5KGtleSwgdmFsdWUsIGxlbiwgbm93LCBtYXhBZ2UpXG5cbiAgICAvLyBvdmVyc2l6ZWQgb2JqZWN0cyBmYWxsIG91dCBvZiBjYWNoZSBhdXRvbWF0aWNhbGx5LlxuICAgIGlmIChoaXQubGVuZ3RoID4gdGhpc1tNQVhdKSB7XG4gICAgICBpZiAodGhpc1tESVNQT1NFXSlcbiAgICAgICAgdGhpc1tESVNQT1NFXShrZXksIHZhbHVlKVxuXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICB0aGlzW0xFTkdUSF0gKz0gaGl0Lmxlbmd0aFxuICAgIHRoaXNbTFJVX0xJU1RdLnVuc2hpZnQoaGl0KVxuICAgIHRoaXNbQ0FDSEVdLnNldChrZXksIHRoaXNbTFJVX0xJU1RdLmhlYWQpXG4gICAgdHJpbSh0aGlzKVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBoYXMgKGtleSkge1xuICAgIGlmICghdGhpc1tDQUNIRV0uaGFzKGtleSkpIHJldHVybiBmYWxzZVxuICAgIGNvbnN0IGhpdCA9IHRoaXNbQ0FDSEVdLmdldChrZXkpLnZhbHVlXG4gICAgcmV0dXJuICFpc1N0YWxlKHRoaXMsIGhpdClcbiAgfVxuXG4gIGdldCAoa2V5KSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLCBrZXksIHRydWUpXG4gIH1cblxuICBwZWVrIChrZXkpIHtcbiAgICByZXR1cm4gZ2V0KHRoaXMsIGtleSwgZmFsc2UpXG4gIH1cblxuICBwb3AgKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzW0xSVV9MSVNUXS50YWlsXG4gICAgaWYgKCFub2RlKVxuICAgICAgcmV0dXJuIG51bGxcblxuICAgIGRlbCh0aGlzLCBub2RlKVxuICAgIHJldHVybiBub2RlLnZhbHVlXG4gIH1cblxuICBkZWwgKGtleSkge1xuICAgIGRlbCh0aGlzLCB0aGlzW0NBQ0hFXS5nZXQoa2V5KSlcbiAgfVxuXG4gIGxvYWQgKGFycikge1xuICAgIC8vIHJlc2V0IHRoZSBjYWNoZVxuICAgIHRoaXMucmVzZXQoKVxuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuICAgIC8vIEEgcHJldmlvdXMgc2VyaWFsaXplZCBjYWNoZSBoYXMgdGhlIG1vc3QgcmVjZW50IGl0ZW1zIGZpcnN0XG4gICAgZm9yIChsZXQgbCA9IGFyci5sZW5ndGggLSAxOyBsID49IDA7IGwtLSkge1xuICAgICAgY29uc3QgaGl0ID0gYXJyW2xdXG4gICAgICBjb25zdCBleHBpcmVzQXQgPSBoaXQuZSB8fCAwXG4gICAgICBpZiAoZXhwaXJlc0F0ID09PSAwKVxuICAgICAgICAvLyB0aGUgaXRlbSB3YXMgY3JlYXRlZCB3aXRob3V0IGV4cGlyYXRpb24gaW4gYSBub24gYWdlZCBjYWNoZVxuICAgICAgICB0aGlzLnNldChoaXQuaywgaGl0LnYpXG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgbWF4QWdlID0gZXhwaXJlc0F0IC0gbm93XG4gICAgICAgIC8vIGRvbnQgYWRkIGFscmVhZHkgZXhwaXJlZCBpdGVtc1xuICAgICAgICBpZiAobWF4QWdlID4gMCkge1xuICAgICAgICAgIHRoaXMuc2V0KGhpdC5rLCBoaXQudiwgbWF4QWdlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJ1bmUgKCkge1xuICAgIHRoaXNbQ0FDSEVdLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IGdldCh0aGlzLCBrZXksIGZhbHNlKSlcbiAgfVxufVxuXG5jb25zdCBnZXQgPSAoc2VsZiwga2V5LCBkb1VzZSkgPT4ge1xuICBjb25zdCBub2RlID0gc2VsZltDQUNIRV0uZ2V0KGtleSlcbiAgaWYgKG5vZGUpIHtcbiAgICBjb25zdCBoaXQgPSBub2RlLnZhbHVlXG4gICAgaWYgKGlzU3RhbGUoc2VsZiwgaGl0KSkge1xuICAgICAgZGVsKHNlbGYsIG5vZGUpXG4gICAgICBpZiAoIXNlbGZbQUxMT1dfU1RBTEVdKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChkb1VzZSkge1xuICAgICAgICBpZiAoc2VsZltVUERBVEVfQUdFX09OX0dFVF0pXG4gICAgICAgICAgbm9kZS52YWx1ZS5ub3cgPSBEYXRlLm5vdygpXG4gICAgICAgIHNlbGZbTFJVX0xJU1RdLnVuc2hpZnROb2RlKG5vZGUpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoaXQudmFsdWVcbiAgfVxufVxuXG5jb25zdCBpc1N0YWxlID0gKHNlbGYsIGhpdCkgPT4ge1xuICBpZiAoIWhpdCB8fCAoIWhpdC5tYXhBZ2UgJiYgIXNlbGZbTUFYX0FHRV0pKVxuICAgIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGRpZmYgPSBEYXRlLm5vdygpIC0gaGl0Lm5vd1xuICByZXR1cm4gaGl0Lm1heEFnZSA/IGRpZmYgPiBoaXQubWF4QWdlXG4gICAgOiBzZWxmW01BWF9BR0VdICYmIChkaWZmID4gc2VsZltNQVhfQUdFXSlcbn1cblxuY29uc3QgdHJpbSA9IHNlbGYgPT4ge1xuICBpZiAoc2VsZltMRU5HVEhdID4gc2VsZltNQVhdKSB7XG4gICAgZm9yIChsZXQgd2Fsa2VyID0gc2VsZltMUlVfTElTVF0udGFpbDtcbiAgICAgIHNlbGZbTEVOR1RIXSA+IHNlbGZbTUFYXSAmJiB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgICAvLyBXZSBrbm93IHRoYXQgd2UncmUgYWJvdXQgdG8gZGVsZXRlIHRoaXMgb25lLCBhbmQgYWxzb1xuICAgICAgLy8gd2hhdCB0aGUgbmV4dCBsZWFzdCByZWNlbnRseSB1c2VkIGtleSB3aWxsIGJlLCBzbyBqdXN0XG4gICAgICAvLyBnbyBhaGVhZCBhbmQgc2V0IGl0IG5vdy5cbiAgICAgIGNvbnN0IHByZXYgPSB3YWxrZXIucHJldlxuICAgICAgZGVsKHNlbGYsIHdhbGtlcilcbiAgICAgIHdhbGtlciA9IHByZXZcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZGVsID0gKHNlbGYsIG5vZGUpID0+IHtcbiAgaWYgKG5vZGUpIHtcbiAgICBjb25zdCBoaXQgPSBub2RlLnZhbHVlXG4gICAgaWYgKHNlbGZbRElTUE9TRV0pXG4gICAgICBzZWxmW0RJU1BPU0VdKGhpdC5rZXksIGhpdC52YWx1ZSlcblxuICAgIHNlbGZbTEVOR1RIXSAtPSBoaXQubGVuZ3RoXG4gICAgc2VsZltDQUNIRV0uZGVsZXRlKGhpdC5rZXkpXG4gICAgc2VsZltMUlVfTElTVF0ucmVtb3ZlTm9kZShub2RlKVxuICB9XG59XG5cbmNsYXNzIEVudHJ5IHtcbiAgY29uc3RydWN0b3IgKGtleSwgdmFsdWUsIGxlbmd0aCwgbm93LCBtYXhBZ2UpIHtcbiAgICB0aGlzLmtleSA9IGtleVxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoXG4gICAgdGhpcy5ub3cgPSBub3dcbiAgICB0aGlzLm1heEFnZSA9IG1heEFnZSB8fCAwXG4gIH1cbn1cblxuY29uc3QgZm9yRWFjaFN0ZXAgPSAoc2VsZiwgZm4sIG5vZGUsIHRoaXNwKSA9PiB7XG4gIGxldCBoaXQgPSBub2RlLnZhbHVlXG4gIGlmIChpc1N0YWxlKHNlbGYsIGhpdCkpIHtcbiAgICBkZWwoc2VsZiwgbm9kZSlcbiAgICBpZiAoIXNlbGZbQUxMT1dfU1RBTEVdKVxuICAgICAgaGl0ID0gdW5kZWZpbmVkXG4gIH1cbiAgaWYgKGhpdClcbiAgICBmbi5jYWxsKHRoaXNwLCBoaXQudmFsdWUsIGhpdC5rZXksIHNlbGYpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gTFJVQ2FjaGVcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lru-cache/index.js\n")); - -/***/ }), - -/***/ "./node_modules/ms/index.js": -/*!**********************************!*\ - !*** ./node_modules/ms/index.js ***! - \**********************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZUFBZTtBQUMxQixXQUFXLFFBQVE7QUFDbkIsWUFBWSxPQUFPO0FBQ25CLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL21zL2luZGV4LmpzPzNhNzkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIZWxwZXJzLlxuICovXG5cbnZhciBzID0gMTAwMDtcbnZhciBtID0gcyAqIDYwO1xudmFyIGggPSBtICogNjA7XG52YXIgZCA9IGggKiAyNDtcbnZhciB3ID0gZCAqIDc7XG52YXIgeSA9IGQgKiAzNjUuMjU7XG5cbi8qKlxuICogUGFyc2Ugb3IgZm9ybWF0IHRoZSBnaXZlbiBgdmFsYC5cbiAqXG4gKiBPcHRpb25zOlxuICpcbiAqICAtIGBsb25nYCB2ZXJib3NlIGZvcm1hdHRpbmcgW2ZhbHNlXVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0gdmFsXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXG4gKiBAdGhyb3dzIHtFcnJvcn0gdGhyb3cgYW4gZXJyb3IgaWYgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSBudW1iZXJcbiAqIEByZXR1cm4ge1N0cmluZ3xOdW1iZXJ9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24odmFsLCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWw7XG4gIGlmICh0eXBlID09PSAnc3RyaW5nJyAmJiB2YWwubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBwYXJzZSh2YWwpO1xuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdudW1iZXInICYmIGlzRmluaXRlKHZhbCkpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5sb25nID8gZm10TG9uZyh2YWwpIDogZm10U2hvcnQodmFsKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgJ3ZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9JyArXG4gICAgICBKU09OLnN0cmluZ2lmeSh2YWwpXG4gICk7XG59O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBnaXZlbiBgc3RyYCBhbmQgcmV0dXJuIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBwYXJzZShzdHIpIHtcbiAgc3RyID0gU3RyaW5nKHN0cik7XG4gIGlmIChzdHIubGVuZ3RoID4gMTAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHZhciBtYXRjaCA9IC9eKC0/KD86XFxkKyk/XFwuP1xcZCspICoobWlsbGlzZWNvbmRzP3xtc2Vjcz98bXN8c2Vjb25kcz98c2Vjcz98c3xtaW51dGVzP3xtaW5zP3xtfGhvdXJzP3xocnM/fGh8ZGF5cz98ZHx3ZWVrcz98d3x5ZWFycz98eXJzP3x5KT8kL2kuZXhlYyhcbiAgICBzdHJcbiAgKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgbiA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pO1xuICB2YXIgdHlwZSA9IChtYXRjaFsyXSB8fCAnbXMnKS50b0xvd2VyQ2FzZSgpO1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICd5ZWFycyc6XG4gICAgY2FzZSAneWVhcic6XG4gICAgY2FzZSAneXJzJzpcbiAgICBjYXNlICd5cic6XG4gICAgY2FzZSAneSc6XG4gICAgICByZXR1cm4gbiAqIHk7XG4gICAgY2FzZSAnd2Vla3MnOlxuICAgIGNhc2UgJ3dlZWsnOlxuICAgIGNhc2UgJ3cnOlxuICAgICAgcmV0dXJuIG4gKiB3O1xuICAgIGNhc2UgJ2RheXMnOlxuICAgIGNhc2UgJ2RheSc6XG4gICAgY2FzZSAnZCc6XG4gICAgICByZXR1cm4gbiAqIGQ7XG4gICAgY2FzZSAnaG91cnMnOlxuICAgIGNhc2UgJ2hvdXInOlxuICAgIGNhc2UgJ2hycyc6XG4gICAgY2FzZSAnaHInOlxuICAgIGNhc2UgJ2gnOlxuICAgICAgcmV0dXJuIG4gKiBoO1xuICAgIGNhc2UgJ21pbnV0ZXMnOlxuICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgY2FzZSAnbWlucyc6XG4gICAgY2FzZSAnbWluJzpcbiAgICBjYXNlICdtJzpcbiAgICAgIHJldHVybiBuICogbTtcbiAgICBjYXNlICdzZWNvbmRzJzpcbiAgICBjYXNlICdzZWNvbmQnOlxuICAgIGNhc2UgJ3NlY3MnOlxuICAgIGNhc2UgJ3NlYyc6XG4gICAgY2FzZSAncyc6XG4gICAgICByZXR1cm4gbiAqIHM7XG4gICAgY2FzZSAnbWlsbGlzZWNvbmRzJzpcbiAgICBjYXNlICdtaWxsaXNlY29uZCc6XG4gICAgY2FzZSAnbXNlY3MnOlxuICAgIGNhc2UgJ21zZWMnOlxuICAgIGNhc2UgJ21zJzpcbiAgICAgIHJldHVybiBuO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogU2hvcnQgZm9ybWF0IGZvciBgbXNgLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBtc1xuICogQHJldHVybiB7U3RyaW5nfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZm10U2hvcnQobXMpIHtcbiAgdmFyIG1zQWJzID0gTWF0aC5hYnMobXMpO1xuICBpZiAobXNBYnMgPj0gZCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gZCkgKyAnZCc7XG4gIH1cbiAgaWYgKG1zQWJzID49IGgpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIGgpICsgJ2gnO1xuICB9XG4gIGlmIChtc0FicyA+PSBtKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBtKSArICdtJztcbiAgfVxuICBpZiAobXNBYnMgPj0gcykge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gcykgKyAncyc7XG4gIH1cbiAgcmV0dXJuIG1zICsgJ21zJztcbn1cblxuLyoqXG4gKiBMb25nIGZvcm1hdCBmb3IgYG1zYC5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbXNcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGZtdExvbmcobXMpIHtcbiAgdmFyIG1zQWJzID0gTWF0aC5hYnMobXMpO1xuICBpZiAobXNBYnMgPj0gZCkge1xuICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBkLCAnZGF5Jyk7XG4gIH1cbiAgaWYgKG1zQWJzID49IGgpIHtcbiAgICByZXR1cm4gcGx1cmFsKG1zLCBtc0FicywgaCwgJ2hvdXInKTtcbiAgfVxuICBpZiAobXNBYnMgPj0gbSkge1xuICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBtLCAnbWludXRlJyk7XG4gIH1cbiAgaWYgKG1zQWJzID49IHMpIHtcbiAgICByZXR1cm4gcGx1cmFsKG1zLCBtc0FicywgcywgJ3NlY29uZCcpO1xuICB9XG4gIHJldHVybiBtcyArICcgbXMnO1xufVxuXG4vKipcbiAqIFBsdXJhbGl6YXRpb24gaGVscGVyLlxuICovXG5cbmZ1bmN0aW9uIHBsdXJhbChtcywgbXNBYnMsIG4sIG5hbWUpIHtcbiAgdmFyIGlzUGx1cmFsID0gbXNBYnMgPj0gbiAqIDEuNTtcbiAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBuKSArICcgJyArIG5hbWUgKyAoaXNQbHVyYWwgPyAncycgOiAnJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ms/index.js\n")); - -/***/ }), - -/***/ "./node_modules/object-inspect/index.js": -/*!**********************************************!*\ - !*** ./node_modules/object-inspect/index.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = __webpack_require__(/*! ./util.inspect */ \"?2128\");\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvb2JqZWN0LWluc3BlY3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsRUFBRTtBQUN2QztBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQSwyR0FBMkcsRUFBRTtBQUM3RztBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsbUJBQU8sQ0FBQyw2QkFBZ0I7QUFDMUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFF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QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQSwyQkFBMkI7QUFDM0IsOEJBQThCLFlBQVk7QUFDMUMsd0VBQXdFLFlBQVk7QUFDcEY7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9vYmplY3QtaW5zcGVjdC9pbmRleC5qcz81Njc4Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBoYXNNYXAgPSB0eXBlb2YgTWFwID09PSAnZnVuY3Rpb24nICYmIE1hcC5wcm90b3R5cGU7XG52YXIgbWFwU2l6ZURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICYmIGhhc01hcCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLnByb3RvdHlwZSwgJ3NpemUnKSA6IG51bGw7XG52YXIgbWFwU2l6ZSA9IGhhc01hcCAmJiBtYXBTaXplRGVzY3JpcHRvciAmJiB0eXBlb2YgbWFwU2l6ZURlc2NyaXB0b3IuZ2V0ID09PSAnZnVuY3Rpb24nID8gbWFwU2l6ZURlc2NyaXB0b3IuZ2V0IDogbnVsbDtcbnZhciBtYXBGb3JFYWNoID0gaGFzTWFwICYmIE1hcC5wcm90b3R5cGUuZm9yRWFjaDtcbnZhciBoYXNTZXQgPSB0eXBlb2YgU2V0ID09PSAnZnVuY3Rpb24nICYmIFNldC5wcm90b3R5cGU7XG52YXIgc2V0U2l6ZURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICYmIGhhc1NldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LnByb3RvdHlwZSwgJ3NpemUnKSA6IG51bGw7XG52YXIgc2V0U2l6ZSA9IGhhc1NldCAmJiBzZXRTaXplRGVzY3JpcHRvciAmJiB0eXBlb2Ygc2V0U2l6ZURlc2NyaXB0b3IuZ2V0ID09PSAnZnVuY3Rpb24nID8gc2V0U2l6ZURlc2NyaXB0b3IuZ2V0IDogbnVsbDtcbnZhciBzZXRGb3JFYWNoID0gaGFzU2V0ICYmIFNldC5wcm90b3R5cGUuZm9yRWFjaDtcbnZhciBoYXNXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgJiYgV2Vha01hcC5wcm90b3R5cGU7XG52YXIgd2Vha01hcEhhcyA9IGhhc1dlYWtNYXAgPyBXZWFrTWFwLnByb3RvdHlwZS5oYXMgOiBudWxsO1xudmFyIGhhc1dlYWtTZXQgPSB0eXBlb2YgV2Vha1NldCA9PT0gJ2Z1bmN0aW9uJyAmJiBXZWFrU2V0LnByb3RvdHlwZTtcbnZhciB3ZWFrU2V0SGFzID0gaGFzV2Vha1NldCA/IFdlYWtTZXQucHJvdG90eXBlLmhhcyA6IG51bGw7XG52YXIgaGFzV2Vha1JlZiA9IHR5cGVvZiBXZWFrUmVmID09PSAnZnVuY3Rpb24nICYmIFdlYWtSZWYucHJvdG90eXBlO1xudmFyIHdlYWtSZWZEZXJlZiA9IGhhc1dlYWtSZWYgPyBXZWFrUmVmLnByb3RvdHlwZS5kZXJlZiA6IG51bGw7XG52YXIgYm9vbGVhblZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mO1xudmFyIG9iamVjdFRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbnZhciBmdW5jdGlvblRvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyICRtYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7XG52YXIgJHNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTtcbnZhciAkcmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTtcbnZhciAkdG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlO1xudmFyICR0b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7XG52YXIgJHRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7XG52YXIgJGNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7XG52YXIgJGpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjtcbnZhciAkYXJyU2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG52YXIgJGZsb29yID0gTWF0aC5mbG9vcjtcbnZhciBiaWdJbnRWYWx1ZU9mID0gdHlwZW9mIEJpZ0ludCA9PT0gJ2Z1bmN0aW9uJyA/IEJpZ0ludC5wcm90b3R5cGUudmFsdWVPZiA6IG51bGw7XG52YXIgZ09QUyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG52YXIgc3ltVG9TdHJpbmcgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09ICdzeW1ib2wnID8gU3ltYm9sLnByb3RvdHlwZS50b1N0cmluZyA6IG51bGw7XG52YXIgaGFzU2hhbW1lZFN5bWJvbHMgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09ICdvYmplY3QnO1xuLy8gaWUsIGBoYXMtdG9zdHJpbmd0YWcvc2hhbXNcbnZhciB0b1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnICYmICh0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSBoYXNTaGFtbWVkU3ltYm9scyA/ICdvYmplY3QnIDogJ3N5bWJvbCcpXG4gICAgPyBTeW1ib2wudG9TdHJpbmdUYWdcbiAgICA6IG51bGw7XG52YXIgaXNFbnVtZXJhYmxlID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxudmFyIGdQTyA9ICh0eXBlb2YgUmVmbGVjdCA9PT0gJ2Z1bmN0aW9uJyA/IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YgOiBPYmplY3QuZ2V0UHJvdG90eXBlT2YpIHx8IChcbiAgICBbXS5fX3Byb3RvX18gPT09IEFycmF5LnByb3RvdHlwZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXByb3RvXG4gICAgICAgID8gZnVuY3Rpb24gKE8pIHtcbiAgICAgICAgICAgIHJldHVybiBPLl9fcHJvdG9fXzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wcm90b1xuICAgICAgICB9XG4gICAgICAgIDogbnVsbFxuKTtcblxuZnVuY3Rpb24gYWRkTnVtZXJpY1NlcGFyYXRvcihudW0sIHN0cikge1xuICAgIGlmIChcbiAgICAgICAgbnVtID09PSBJbmZpbml0eVxuICAgICAgICB8fCBudW0gPT09IC1JbmZpbml0eVxuICAgICAgICB8fCBudW0gIT09IG51bVxuICAgICAgICB8fCAobnVtICYmIG51bSA+IC0xMDAwICYmIG51bSA8IDEwMDApXG4gICAgICAgIHx8ICR0ZXN0LmNhbGwoL2UvLCBzdHIpXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuICAgIHZhciBzZXBSZWdleCA9IC9bMC05XSg/PSg/OlswLTldezN9KSsoPyFbMC05XSkpL2c7XG4gICAgaWYgKHR5cGVvZiBudW0gPT09ICdudW1iZXInKSB7XG4gICAgICAgIHZhciBpbnQgPSBudW0gPCAwID8gLSRmbG9vcigtbnVtKSA6ICRmbG9vcihudW0pOyAvLyB0cnVuYyhudW0pXG4gICAgICAgIGlmIChpbnQgIT09IG51bSkge1xuICAgICAgICAgICAgdmFyIGludFN0ciA9IFN0cmluZyhpbnQpO1xuICAgICAgICAgICAgdmFyIGRlYyA9ICRzbGljZS5jYWxsKHN0ciwgaW50U3RyLmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgcmV0dXJuICRyZXBsYWNlLmNhbGwoaW50U3RyLCBzZXBSZWdleCwgJyQmXycpICsgJy4nICsgJHJlcGxhY2UuY2FsbCgkcmVwbGFjZS5jYWxsKGRlYywgLyhbMC05XXszfSkvZywgJyQmXycpLCAvXyQvLCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICRyZXBsYWNlLmNhbGwoc3RyLCBzZXBSZWdleCwgJyQmXycpO1xufVxuXG52YXIgdXRpbEluc3BlY3QgPSByZXF1aXJlKCcuL3V0aWwuaW5zcGVjdCcpO1xudmFyIGluc3BlY3RDdXN0b20gPSB1dGlsSW5zcGVjdC5jdXN0b207XG52YXIgaW5zcGVjdFN5bWJvbCA9IGlzU3ltYm9sKGluc3BlY3RDdXN0b20pID8gaW5zcGVjdEN1c3RvbSA6IG51bGw7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5zcGVjdF8ob2JqLCBvcHRpb25zLCBkZXB0aCwgc2Vlbikge1xuICAgIHZhciBvcHRzID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGlmIChoYXMob3B0cywgJ3F1b3RlU3R5bGUnKSAmJiAob3B0cy5xdW90ZVN0eWxlICE9PSAnc2luZ2xlJyAmJiBvcHRzLnF1b3RlU3R5bGUgIT09ICdkb3VibGUnKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvcHRpb24gXCJxdW90ZVN0eWxlXCIgbXVzdCBiZSBcInNpbmdsZVwiIG9yIFwiZG91YmxlXCInKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgICBoYXMob3B0cywgJ21heFN0cmluZ0xlbmd0aCcpICYmICh0eXBlb2Ygb3B0cy5tYXhTdHJpbmdMZW5ndGggPT09ICdudW1iZXInXG4gICAgICAgICAgICA/IG9wdHMubWF4U3RyaW5nTGVuZ3RoIDwgMCAmJiBvcHRzLm1heFN0cmluZ0xlbmd0aCAhPT0gSW5maW5pdHlcbiAgICAgICAgICAgIDogb3B0cy5tYXhTdHJpbmdMZW5ndGggIT09IG51bGxcbiAgICAgICAgKVxuICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvcHRpb24gXCJtYXhTdHJpbmdMZW5ndGhcIiwgaWYgcHJvdmlkZWQsIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBJbmZpbml0eSwgb3IgYG51bGxgJyk7XG4gICAgfVxuICAgIHZhciBjdXN0b21JbnNwZWN0ID0gaGFzKG9wdHMsICdjdXN0b21JbnNwZWN0JykgPyBvcHRzLmN1c3RvbUluc3BlY3QgOiB0cnVlO1xuICAgIGlmICh0eXBlb2YgY3VzdG9tSW5zcGVjdCAhPT0gJ2Jvb2xlYW4nICYmIGN1c3RvbUluc3BlY3QgIT09ICdzeW1ib2wnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ29wdGlvbiBcImN1c3RvbUluc3BlY3RcIiwgaWYgcHJvdmlkZWQsIG11c3QgYmUgYHRydWVgLCBgZmFsc2VgLCBvciBgXFwnc3ltYm9sXFwnYCcpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICAgaGFzKG9wdHMsICdpbmRlbnQnKVxuICAgICAgICAmJiBvcHRzLmluZGVudCAhPT0gbnVsbFxuICAgICAgICAmJiBvcHRzLmluZGVudCAhPT0gJ1xcdCdcbiAgICAgICAgJiYgIShwYXJzZUludChvcHRzLmluZGVudCwgMTApID09PSBvcHRzLmluZGVudCAmJiBvcHRzLmluZGVudCA+IDApXG4gICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ29wdGlvbiBcImluZGVudFwiIG11c3QgYmUgXCJcXFxcdFwiLCBhbiBpbnRlZ2VyID4gMCwgb3IgYG51bGxgJyk7XG4gICAgfVxuICAgIGlmIChoYXMob3B0cywgJ251bWVyaWNTZXBhcmF0b3InKSAmJiB0eXBlb2Ygb3B0cy5udW1lcmljU2VwYXJhdG9yICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb3B0aW9uIFwibnVtZXJpY1NlcGFyYXRvclwiLCBpZiBwcm92aWRlZCwgbXVzdCBiZSBgdHJ1ZWAgb3IgYGZhbHNlYCcpO1xuICAgIH1cbiAgICB2YXIgbnVtZXJpY1NlcGFyYXRvciA9IG9wdHMubnVtZXJpY1NlcGFyYXRvcjtcblxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgfVxuICAgIGlmIChvYmogPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuICdudWxsJztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdib29sZWFuJykge1xuICAgICAgICByZXR1cm4gb2JqID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGluc3BlY3RTdHJpbmcob2JqLCBvcHRzKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChvYmogPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eSAvIG9iaiA+IDAgPyAnMCcgOiAnLTAnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzdHIgPSBTdHJpbmcob2JqKTtcbiAgICAgICAgcmV0dXJuIG51bWVyaWNTZXBhcmF0b3IgPyBhZGROdW1lcmljU2VwYXJhdG9yKG9iaiwgc3RyKSA6IHN0cjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdiaWdpbnQnKSB7XG4gICAgICAgIHZhciBiaWdJbnRTdHIgPSBTdHJpbmcob2JqKSArICduJztcbiAgICAgICAgcmV0dXJuIG51bWVyaWNTZXBhcmF0b3IgPyBhZGROdW1lcmljU2VwYXJhdG9yKG9iaiwgYmlnSW50U3RyKSA6IGJpZ0ludFN0cjtcbiAgICB9XG5cbiAgICB2YXIgbWF4RGVwdGggPSB0eXBlb2Ygb3B0cy5kZXB0aCA9PT0gJ3VuZGVmaW5lZCcgPyA1IDogb3B0cy5kZXB0aDtcbiAgICBpZiAodHlwZW9mIGRlcHRoID09PSAndW5kZWZpbmVkJykgeyBkZXB0aCA9IDA7IH1cbiAgICBpZiAoZGVwdGggPj0gbWF4RGVwdGggJiYgbWF4RGVwdGggPiAwICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBpc0FycmF5KG9iaikgPyAnW0FycmF5XScgOiAnW09iamVjdF0nO1xuICAgIH1cblxuICAgIHZhciBpbmRlbnQgPSBnZXRJbmRlbnQob3B0cywgZGVwdGgpO1xuXG4gICAgaWYgKHR5cGVvZiBzZWVuID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBzZWVuID0gW107XG4gICAgfSBlbHNlIGlmIChpbmRleE9mKHNlZW4sIG9iaikgPj0gMCkge1xuICAgICAgICByZXR1cm4gJ1tDaXJjdWxhcl0nO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3BlY3QodmFsdWUsIGZyb20sIG5vSW5kZW50KSB7XG4gICAgICAgIGlmIChmcm9tKSB7XG4gICAgICAgICAgICBzZWVuID0gJGFyclNsaWNlLmNhbGwoc2Vlbik7XG4gICAgICAgICAgICBzZWVuLnB1c2goZnJvbSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vSW5kZW50KSB7XG4gICAgICAgICAgICB2YXIgbmV3T3B0cyA9IHtcbiAgICAgICAgICAgICAgICBkZXB0aDogb3B0cy5kZXB0aFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChoYXMob3B0cywgJ3F1b3RlU3R5bGUnKSkge1xuICAgICAgICAgICAgICAgIG5ld09wdHMucXVvdGVTdHlsZSA9IG9wdHMucXVvdGVTdHlsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbnNwZWN0Xyh2YWx1ZSwgbmV3T3B0cywgZGVwdGggKyAxLCBzZWVuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5zcGVjdF8odmFsdWUsIG9wdHMsIGRlcHRoICsgMSwgc2Vlbik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicgJiYgIWlzUmVnRXhwKG9iaikpIHsgLy8gaW4gb2xkZXIgZW5naW5lcywgcmVnZXhlcyBhcmUgY2FsbGFibGVcbiAgICAgICAgdmFyIG5hbWUgPSBuYW1lT2Yob2JqKTtcbiAgICAgICAgdmFyIGtleXMgPSBhcnJPYmpLZXlzKG9iaiwgaW5zcGVjdCk7XG4gICAgICAgIHJldHVybiAnW0Z1bmN0aW9uJyArIChuYW1lID8gJzogJyArIG5hbWUgOiAnIChhbm9ueW1vdXMpJykgKyAnXScgKyAoa2V5cy5sZW5ndGggPiAwID8gJyB7ICcgKyAkam9pbi5jYWxsKGtleXMsICcsICcpICsgJyB9JyA6ICcnKTtcbiAgICB9XG4gICAgaWYgKGlzU3ltYm9sKG9iaikpIHtcbiAgICAgICAgdmFyIHN5bVN0cmluZyA9IGhhc1NoYW1tZWRTeW1ib2xzID8gJHJlcGxhY2UuY2FsbChTdHJpbmcob2JqKSwgL14oU3ltYm9sXFwoLipcXCkpX1teKV0qJC8sICckMScpIDogc3ltVG9TdHJpbmcuY2FsbChvYmopO1xuICAgICAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgIWhhc1NoYW1tZWRTeW1ib2xzID8gbWFya0JveGVkKHN5bVN0cmluZykgOiBzeW1TdHJpbmc7XG4gICAgfVxuICAgIGlmIChpc0VsZW1lbnQob2JqKSkge1xuICAgICAgICB2YXIgcyA9ICc8JyArICR0b0xvd2VyQ2FzZS5jYWxsKFN0cmluZyhvYmoubm9kZU5hbWUpKTtcbiAgICAgICAgdmFyIGF0dHJzID0gb2JqLmF0dHJpYnV0ZXMgfHwgW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHMgKz0gJyAnICsgYXR0cnNbaV0ubmFtZSArICc9JyArIHdyYXBRdW90ZXMocXVvdGUoYXR0cnNbaV0udmFsdWUpLCAnZG91YmxlJywgb3B0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcyArPSAnPic7XG4gICAgICAgIGlmIChvYmouY2hpbGROb2RlcyAmJiBvYmouY2hpbGROb2Rlcy5sZW5ndGgpIHsgcyArPSAnLi4uJzsgfVxuICAgICAgICBzICs9ICc8LycgKyAkdG9Mb3dlckNhc2UuY2FsbChTdHJpbmcob2JqLm5vZGVOYW1lKSkgKyAnPic7XG4gICAgICAgIHJldHVybiBzO1xuICAgIH1cbiAgICBpZiAoaXNBcnJheShvYmopKSB7XG4gICAgICAgIGlmIChvYmoubGVuZ3RoID09PSAwKSB7IHJldHVybiAnW10nOyB9XG4gICAgICAgIHZhciB4cyA9IGFyck9iaktleXMob2JqLCBpbnNwZWN0KTtcbiAgICAgICAgaWYgKGluZGVudCAmJiAhc2luZ2xlTGluZVZhbHVlcyh4cykpIHtcbiAgICAgICAgICAgIHJldHVybiAnWycgKyBpbmRlbnRlZEpvaW4oeHMsIGluZGVudCkgKyAnXSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdbICcgKyAkam9pbi5jYWxsKHhzLCAnLCAnKSArICcgXSc7XG4gICAgfVxuICAgIGlmIChpc0Vycm9yKG9iaikpIHtcbiAgICAgICAgdmFyIHBhcnRzID0gYXJyT2JqS2V5cyhvYmosIGluc3BlY3QpO1xuICAgICAgICBpZiAoISgnY2F1c2UnIGluIEVycm9yLnByb3RvdHlwZSkgJiYgJ2NhdXNlJyBpbiBvYmogJiYgIWlzRW51bWVyYWJsZS5jYWxsKG9iaiwgJ2NhdXNlJykpIHtcbiAgICAgICAgICAgIHJldHVybiAneyBbJyArIFN0cmluZyhvYmopICsgJ10gJyArICRqb2luLmNhbGwoJGNvbmNhdC5jYWxsKCdbY2F1c2VdOiAnICsgaW5zcGVjdChvYmouY2F1c2UpLCBwYXJ0cyksICcsICcpICsgJyB9JztcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7IHJldHVybiAnWycgKyBTdHJpbmcob2JqKSArICddJzsgfVxuICAgICAgICByZXR1cm4gJ3sgWycgKyBTdHJpbmcob2JqKSArICddICcgKyAkam9pbi5jYWxsKHBhcnRzLCAnLCAnKSArICcgfSc7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBjdXN0b21JbnNwZWN0KSB7XG4gICAgICAgIGlmIChpbnNwZWN0U3ltYm9sICYmIHR5cGVvZiBvYmpbaW5zcGVjdFN5bWJvbF0gPT09ICdmdW5jdGlvbicgJiYgdXRpbEluc3BlY3QpIHtcbiAgICAgICAgICAgIHJldHVybiB1dGlsSW5zcGVjdChvYmosIHsgZGVwdGg6IG1heERlcHRoIC0gZGVwdGggfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VzdG9tSW5zcGVjdCAhPT0gJ3N5bWJvbCcgJiYgdHlwZW9mIG9iai5pbnNwZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqLmluc3BlY3QoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNNYXAob2JqKSkge1xuICAgICAgICB2YXIgbWFwUGFydHMgPSBbXTtcbiAgICAgICAgaWYgKG1hcEZvckVhY2gpIHtcbiAgICAgICAgICAgIG1hcEZvckVhY2guY2FsbChvYmosIGZ1bmN0aW9uICh2YWx1ZSwga2V5KSB7XG4gICAgICAgICAgICAgICAgbWFwUGFydHMucHVzaChpbnNwZWN0KGtleSwgb2JqLCB0cnVlKSArICcgPT4gJyArIGluc3BlY3QodmFsdWUsIG9iaikpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25PZignTWFwJywgbWFwU2l6ZS5jYWxsKG9iaiksIG1hcFBhcnRzLCBpbmRlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNTZXQob2JqKSkge1xuICAgICAgICB2YXIgc2V0UGFydHMgPSBbXTtcbiAgICAgICAgaWYgKHNldEZvckVhY2gpIHtcbiAgICAgICAgICAgIHNldEZvckVhY2guY2FsbChvYmosIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHNldFBhcnRzLnB1c2goaW5zcGVjdCh2YWx1ZSwgb2JqKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbk9mKCdTZXQnLCBzZXRTaXplLmNhbGwob2JqKSwgc2V0UGFydHMsIGluZGVudCk7XG4gICAgfVxuICAgIGlmIChpc1dlYWtNYXAob2JqKSkge1xuICAgICAgICByZXR1cm4gd2Vha0NvbGxlY3Rpb25PZignV2Vha01hcCcpO1xuICAgIH1cbiAgICBpZiAoaXNXZWFrU2V0KG9iaikpIHtcbiAgICAgICAgcmV0dXJuIHdlYWtDb2xsZWN0aW9uT2YoJ1dlYWtTZXQnKTtcbiAgICB9XG4gICAgaWYgKGlzV2Vha1JlZihvYmopKSB7XG4gICAgICAgIHJldHVybiB3ZWFrQ29sbGVjdGlvbk9mKCdXZWFrUmVmJyk7XG4gICAgfVxuICAgIGlmIChpc051bWJlcihvYmopKSB7XG4gICAgICAgIHJldHVybiBtYXJrQm94ZWQoaW5zcGVjdChOdW1iZXIob2JqKSkpO1xuICAgIH1cbiAgICBpZiAoaXNCaWdJbnQob2JqKSkge1xuICAgICAgICByZXR1cm4gbWFya0JveGVkKGluc3BlY3QoYmlnSW50VmFsdWVPZi5jYWxsKG9iaikpKTtcbiAgICB9XG4gICAgaWYgKGlzQm9vbGVhbihvYmopKSB7XG4gICAgICAgIHJldHVybiBtYXJrQm94ZWQoYm9vbGVhblZhbHVlT2YuY2FsbChvYmopKTtcbiAgICB9XG4gICAgaWYgKGlzU3RyaW5nKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIG1hcmtCb3hlZChpbnNwZWN0KFN0cmluZyhvYmopKSk7XG4gICAgfVxuICAgIGlmICghaXNEYXRlKG9iaikgJiYgIWlzUmVnRXhwKG9iaikpIHtcbiAgICAgICAgdmFyIHlzID0gYXJyT2JqS2V5cyhvYmosIGluc3BlY3QpO1xuICAgICAgICB2YXIgaXNQbGFpbk9iamVjdCA9IGdQTyA/IGdQTyhvYmopID09PSBPYmplY3QucHJvdG90eXBlIDogb2JqIGluc3RhbmNlb2YgT2JqZWN0IHx8IG9iai5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0O1xuICAgICAgICB2YXIgcHJvdG9UYWcgPSBvYmogaW5zdGFuY2VvZiBPYmplY3QgPyAnJyA6ICdudWxsIHByb3RvdHlwZSc7XG4gICAgICAgIHZhciBzdHJpbmdUYWcgPSAhaXNQbGFpbk9iamVjdCAmJiB0b1N0cmluZ1RhZyAmJiBPYmplY3Qob2JqKSA9PT0gb2JqICYmIHRvU3RyaW5nVGFnIGluIG9iaiA/ICRzbGljZS5jYWxsKHRvU3RyKG9iaiksIDgsIC0xKSA6IHByb3RvVGFnID8gJ09iamVjdCcgOiAnJztcbiAgICAgICAgdmFyIGNvbnN0cnVjdG9yVGFnID0gaXNQbGFpbk9iamVjdCB8fCB0eXBlb2Ygb2JqLmNvbnN0cnVjdG9yICE9PSAnZnVuY3Rpb24nID8gJycgOiBvYmouY29uc3RydWN0b3IubmFtZSA/IG9iai5jb25zdHJ1Y3Rvci5uYW1lICsgJyAnIDogJyc7XG4gICAgICAgIHZhciB0YWcgPSBjb25zdHJ1Y3RvclRhZyArIChzdHJpbmdUYWcgfHwgcHJvdG9UYWcgPyAnWycgKyAkam9pbi5jYWxsKCRjb25jYXQuY2FsbChbXSwgc3RyaW5nVGFnIHx8IFtdLCBwcm90b1RhZyB8fCBbXSksICc6ICcpICsgJ10gJyA6ICcnKTtcbiAgICAgICAgaWYgKHlzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gdGFnICsgJ3t9JzsgfVxuICAgICAgICBpZiAoaW5kZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGFnICsgJ3snICsgaW5kZW50ZWRKb2luKHlzLCBpbmRlbnQpICsgJ30nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YWcgKyAneyAnICsgJGpvaW4uY2FsbCh5cywgJywgJykgKyAnIH0nO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKG9iaik7XG59O1xuXG5mdW5jdGlvbiB3cmFwUXVvdGVzKHMsIGRlZmF1bHRTdHlsZSwgb3B0cykge1xuICAgIHZhciBxdW90ZUNoYXIgPSAob3B0cy5xdW90ZVN0eWxlIHx8IGRlZmF1bHRTdHlsZSkgPT09ICdkb3VibGUnID8gJ1wiJyA6IFwiJ1wiO1xuICAgIHJldHVybiBxdW90ZUNoYXIgKyBzICsgcXVvdGVDaGFyO1xufVxuXG5mdW5jdGlvbiBxdW90ZShzKSB7XG4gICAgcmV0dXJuICRyZXBsYWNlLmNhbGwoU3RyaW5nKHMpLCAvXCIvZywgJyZxdW90OycpO1xufVxuXG5mdW5jdGlvbiBpc0FycmF5KG9iaikgeyByZXR1cm4gdG9TdHIob2JqKSA9PT0gJ1tvYmplY3QgQXJyYXldJyAmJiAoIXRvU3RyaW5nVGFnIHx8ICEodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgdG9TdHJpbmdUYWcgaW4gb2JqKSk7IH1cbmZ1bmN0aW9uIGlzRGF0ZShvYmopIHsgcmV0dXJuIHRvU3RyKG9iaikgPT09ICdbb2JqZWN0IERhdGVdJyAmJiAoIXRvU3RyaW5nVGFnIHx8ICEodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgdG9TdHJpbmdUYWcgaW4gb2JqKSk7IH1cbmZ1bmN0aW9uIGlzUmVnRXhwKG9iaikgeyByZXR1cm4gdG9TdHIob2JqKSA9PT0gJ1tvYmplY3QgUmVnRXhwXScgJiYgKCF0b1N0cmluZ1RhZyB8fCAhKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIHRvU3RyaW5nVGFnIGluIG9iaikpOyB9XG5mdW5jdGlvbiBpc0Vycm9yKG9iaikgeyByZXR1cm4gdG9TdHIob2JqKSA9PT0gJ1tvYmplY3QgRXJyb3JdJyAmJiAoIXRvU3RyaW5nVGFnIHx8ICEodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgdG9TdHJpbmdUYWcgaW4gb2JqKSk7IH1cbmZ1bmN0aW9uIGlzU3RyaW5nKG9iaikgeyByZXR1cm4gdG9TdHIob2JqKSA9PT0gJ1tvYmplY3QgU3RyaW5nXScgJiYgKCF0b1N0cmluZ1RhZyB8fCAhKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIHRvU3RyaW5nVGFnIGluIG9iaikpOyB9XG5mdW5jdGlvbiBpc051bWJlcihvYmopIHsgcmV0dXJuIHRvU3RyKG9iaikgPT09ICdbb2JqZWN0IE51bWJlcl0nICYmICghdG9TdHJpbmdUYWcgfHwgISh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiB0b1N0cmluZ1RhZyBpbiBvYmopKTsgfVxuZnVuY3Rpb24gaXNCb29sZWFuKG9iaikgeyByZXR1cm4gdG9TdHIob2JqKSA9PT0gJ1tvYmplY3QgQm9vbGVhbl0nICYmICghdG9TdHJpbmdUYWcgfHwgISh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiB0b1N0cmluZ1RhZyBpbiBvYmopKTsgfVxuXG4vLyBTeW1ib2wgYW5kIEJpZ0ludCBkbyBoYXZlIFN5bWJvbC50b1N0cmluZ1RhZyBieSBzcGVjLCBzbyB0aGF0IGNhbid0IGJlIHVzZWQgdG8gZWxpbWluYXRlIGZhbHNlIHBvc2l0aXZlc1xuZnVuY3Rpb24gaXNTeW1ib2wob2JqKSB7XG4gICAgaWYgKGhhc1NoYW1tZWRTeW1ib2xzKSB7XG4gICAgICAgIHJldHVybiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqIGluc3RhbmNlb2YgU3ltYm9sO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICghb2JqIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8ICFzeW1Ub1N0cmluZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIHN5bVRvU3RyaW5nLmNhbGwob2JqKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGlzQmlnSW50KG9iaikge1xuICAgIGlmICghb2JqIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8ICFiaWdJbnRWYWx1ZU9mKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgYmlnSW50VmFsdWVPZi5jYWxsKG9iaik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgaGFzT3duID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSB8fCBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBrZXkgaW4gdGhpczsgfTtcbmZ1bmN0aW9uIGhhcyhvYmosIGtleSkge1xuICAgIHJldHVybiBoYXNPd24uY2FsbChvYmosIGtleSk7XG59XG5cbmZ1bmN0aW9uIHRvU3RyKG9iaikge1xuICAgIHJldHVybiBvYmplY3RUb1N0cmluZy5jYWxsKG9iaik7XG59XG5cbmZ1bmN0aW9uIG5hbWVPZihmKSB7XG4gICAgaWYgKGYubmFtZSkgeyByZXR1cm4gZi5uYW1lOyB9XG4gICAgdmFyIG0gPSAkbWF0Y2guY2FsbChmdW5jdGlvblRvU3RyaW5nLmNhbGwoZiksIC9eZnVuY3Rpb25cXHMqKFtcXHckXSspLyk7XG4gICAgaWYgKG0pIHsgcmV0dXJuIG1bMV07IH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gaW5kZXhPZih4cywgeCkge1xuICAgIGlmICh4cy5pbmRleE9mKSB7IHJldHVybiB4cy5pbmRleE9mKHgpOyB9XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSB4cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKHhzW2ldID09PSB4KSB7IHJldHVybiBpOyB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbn1cblxuZnVuY3Rpb24gaXNNYXAoeCkge1xuICAgIGlmICghbWFwU2l6ZSB8fCAheCB8fCB0eXBlb2YgeCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBtYXBTaXplLmNhbGwoeCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXRTaXplLmNhbGwoeCk7XG4gICAgICAgIH0gY2F0Y2ggKHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB4IGluc3RhbmNlb2YgTWFwOyAvLyBjb3JlLWpzIHdvcmthcm91bmQsIHByZS12Mi41LjBcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNXZWFrTWFwKHgpIHtcbiAgICBpZiAoIXdlYWtNYXBIYXMgfHwgIXggfHwgdHlwZW9mIHggIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgd2Vha01hcEhhcy5jYWxsKHgsIHdlYWtNYXBIYXMpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgd2Vha1NldEhhcy5jYWxsKHgsIHdlYWtTZXRIYXMpO1xuICAgICAgICB9IGNhdGNoIChzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geCBpbnN0YW5jZW9mIFdlYWtNYXA7IC8vIGNvcmUtanMgd29ya2Fyb3VuZCwgcHJlLXYyLjUuMFxuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBpc1dlYWtSZWYoeCkge1xuICAgIGlmICghd2Vha1JlZkRlcmVmIHx8ICF4IHx8IHR5cGVvZiB4ICE9PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIHdlYWtSZWZEZXJlZi5jYWxsKHgpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNTZXQoeCkge1xuICAgIGlmICghc2V0U2l6ZSB8fCAheCB8fCB0eXBlb2YgeCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBzZXRTaXplLmNhbGwoeCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBtYXBTaXplLmNhbGwoeCk7XG4gICAgICAgIH0gY2F0Y2ggKG0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB4IGluc3RhbmNlb2YgU2V0OyAvLyBjb3JlLWpzIHdvcmthcm91bmQsIHByZS12Mi41LjBcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNXZWFrU2V0KHgpIHtcbiAgICBpZiAoIXdlYWtTZXRIYXMgfHwgIXggfHwgdHlwZW9mIHggIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgd2Vha1NldEhhcy5jYWxsKHgsIHdlYWtTZXRIYXMpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgd2Vha01hcEhhcy5jYWxsKHgsIHdlYWtNYXBIYXMpO1xuICAgICAgICB9IGNhdGNoIChzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geCBpbnN0YW5jZW9mIFdlYWtTZXQ7IC8vIGNvcmUtanMgd29ya2Fyb3VuZCwgcHJlLXYyLjUuMFxuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBpc0VsZW1lbnQoeCkge1xuICAgIGlmICgheCB8fCB0eXBlb2YgeCAhPT0gJ29iamVjdCcpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgeCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHgubm9kZU5hbWUgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB4LmdldEF0dHJpYnV0ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZnVuY3Rpb24gaW5zcGVjdFN0cmluZyhzdHIsIG9wdHMpIHtcbiAgICBpZiAoc3RyLmxlbmd0aCA+IG9wdHMubWF4U3RyaW5nTGVuZ3RoKSB7XG4gICAgICAgIHZhciByZW1haW5pbmcgPSBzdHIubGVuZ3RoIC0gb3B0cy5tYXhTdHJpbmdMZW5ndGg7XG4gICAgICAgIHZhciB0cmFpbGVyID0gJy4uLiAnICsgcmVtYWluaW5nICsgJyBtb3JlIGNoYXJhY3RlcicgKyAocmVtYWluaW5nID4gMSA/ICdzJyA6ICcnKTtcbiAgICAgICAgcmV0dXJuIGluc3BlY3RTdHJpbmcoJHNsaWNlLmNhbGwoc3RyLCAwLCBvcHRzLm1heFN0cmluZ0xlbmd0aCksIG9wdHMpICsgdHJhaWxlcjtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRyb2wtcmVnZXhcbiAgICB2YXIgcyA9ICRyZXBsYWNlLmNhbGwoJHJlcGxhY2UuY2FsbChzdHIsIC8oWydcXFxcXSkvZywgJ1xcXFwkMScpLCAvW1xceDAwLVxceDFmXS9nLCBsb3dieXRlKTtcbiAgICByZXR1cm4gd3JhcFF1b3RlcyhzLCAnc2luZ2xlJywgb3B0cyk7XG59XG5cbmZ1bmN0aW9uIGxvd2J5dGUoYykge1xuICAgIHZhciBuID0gYy5jaGFyQ29kZUF0KDApO1xuICAgIHZhciB4ID0ge1xuICAgICAgICA4OiAnYicsXG4gICAgICAgIDk6ICd0JyxcbiAgICAgICAgMTA6ICduJyxcbiAgICAgICAgMTI6ICdmJyxcbiAgICAgICAgMTM6ICdyJ1xuICAgIH1bbl07XG4gICAgaWYgKHgpIHsgcmV0dXJuICdcXFxcJyArIHg7IH1cbiAgICByZXR1cm4gJ1xcXFx4JyArIChuIDwgMHgxMCA/ICcwJyA6ICcnKSArICR0b1VwcGVyQ2FzZS5jYWxsKG4udG9TdHJpbmcoMTYpKTtcbn1cblxuZnVuY3Rpb24gbWFya0JveGVkKHN0cikge1xuICAgIHJldHVybiAnT2JqZWN0KCcgKyBzdHIgKyAnKSc7XG59XG5cbmZ1bmN0aW9uIHdlYWtDb2xsZWN0aW9uT2YodHlwZSkge1xuICAgIHJldHVybiB0eXBlICsgJyB7ID8gfSc7XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3Rpb25PZih0eXBlLCBzaXplLCBlbnRyaWVzLCBpbmRlbnQpIHtcbiAgICB2YXIgam9pbmVkRW50cmllcyA9IGluZGVudCA/IGluZGVudGVkSm9pbihlbnRyaWVzLCBpbmRlbnQpIDogJGpvaW4uY2FsbChlbnRyaWVzLCAnLCAnKTtcbiAgICByZXR1cm4gdHlwZSArICcgKCcgKyBzaXplICsgJykgeycgKyBqb2luZWRFbnRyaWVzICsgJ30nO1xufVxuXG5mdW5jdGlvbiBzaW5nbGVMaW5lVmFsdWVzKHhzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaW5kZXhPZih4c1tpXSwgJ1xcbicpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SW5kZW50KG9wdHMsIGRlcHRoKSB7XG4gICAgdmFyIGJhc2VJbmRlbnQ7XG4gICAgaWYgKG9wdHMuaW5kZW50ID09PSAnXFx0Jykge1xuICAgICAgICBiYXNlSW5kZW50ID0gJ1xcdCc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0cy5pbmRlbnQgPT09ICdudW1iZXInICYmIG9wdHMuaW5kZW50ID4gMCkge1xuICAgICAgICBiYXNlSW5kZW50ID0gJGpvaW4uY2FsbChBcnJheShvcHRzLmluZGVudCArIDEpLCAnICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBiYXNlOiBiYXNlSW5kZW50LFxuICAgICAgICBwcmV2OiAkam9pbi5jYWxsKEFycmF5KGRlcHRoICsgMSksIGJhc2VJbmRlbnQpXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gaW5kZW50ZWRKb2luKHhzLCBpbmRlbnQpIHtcbiAgICBpZiAoeHMubGVuZ3RoID09PSAwKSB7IHJldHVybiAnJzsgfVxuICAgIHZhciBsaW5lSm9pbmVyID0gJ1xcbicgKyBpbmRlbnQucHJldiArIGluZGVudC5iYXNlO1xuICAgIHJldHVybiBsaW5lSm9pbmVyICsgJGpvaW4uY2FsbCh4cywgJywnICsgbGluZUpvaW5lcikgKyAnXFxuJyArIGluZGVudC5wcmV2O1xufVxuXG5mdW5jdGlvbiBhcnJPYmpLZXlzKG9iaiwgaW5zcGVjdCkge1xuICAgIHZhciBpc0FyciA9IGlzQXJyYXkob2JqKTtcbiAgICB2YXIgeHMgPSBbXTtcbiAgICBpZiAoaXNBcnIpIHtcbiAgICAgICAgeHMubGVuZ3RoID0gb2JqLmxlbmd0aDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHhzW2ldID0gaGFzKG9iaiwgaSkgPyBpbnNwZWN0KG9ialtpXSwgb2JqKSA6ICcnO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBzeW1zID0gdHlwZW9mIGdPUFMgPT09ICdmdW5jdGlvbicgPyBnT1BTKG9iaikgOiBbXTtcbiAgICB2YXIgc3ltTWFwO1xuICAgIGlmIChoYXNTaGFtbWVkU3ltYm9scykge1xuICAgICAgICBzeW1NYXAgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBzeW1zLmxlbmd0aDsgaysrKSB7XG4gICAgICAgICAgICBzeW1NYXBbJyQnICsgc3ltc1trXV0gPSBzeW1zW2tdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICAgIGlmICghaGFzKG9iaiwga2V5KSkgeyBjb250aW51ZTsgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1jb250aW51ZVxuICAgICAgICBpZiAoaXNBcnIgJiYgU3RyaW5nKE51bWJlcihrZXkpKSA9PT0ga2V5ICYmIGtleSA8IG9iai5sZW5ndGgpIHsgY29udGludWU7IH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tY29udGludWVcbiAgICAgICAgaWYgKGhhc1NoYW1tZWRTeW1ib2xzICYmIHN5bU1hcFsnJCcgKyBrZXldIGluc3RhbmNlb2YgU3ltYm9sKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIHRvIHByZXZlbnQgc2hhbW1lZCBTeW1ib2xzLCB3aGljaCBhcmUgc3RvcmVkIGFzIHN0cmluZ3MsIGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gdGhlIHN0cmluZyBrZXkgc2VjdGlvblxuICAgICAgICAgICAgY29udGludWU7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSBpZiAoJHRlc3QuY2FsbCgvW15cXHckXS8sIGtleSkpIHtcbiAgICAgICAgICAgIHhzLnB1c2goaW5zcGVjdChrZXksIG9iaikgKyAnOiAnICsgaW5zcGVjdChvYmpba2V5XSwgb2JqKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB4cy5wdXNoKGtleSArICc6ICcgKyBpbnNwZWN0KG9ialtrZXldLCBvYmopKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIGdPUFMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzeW1zLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBpZiAoaXNFbnVtZXJhYmxlLmNhbGwob2JqLCBzeW1zW2pdKSkge1xuICAgICAgICAgICAgICAgIHhzLnB1c2goJ1snICsgaW5zcGVjdChzeW1zW2pdKSArICddOiAnICsgaW5zcGVjdChvYmpbc3ltc1tqXV0sIG9iaikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB4cztcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/object-inspect/index.js\n")); - -/***/ }), - -/***/ "./node_modules/pify/index.js": -/*!************************************!*\ - !*** ./node_modules/pify/index.js ***! - \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst processFn = (fn, opts) => function () {\n\tconst P = opts.promiseModule;\n\tconst args = new Array(arguments.length);\n\n\tfor (let i = 0; i < arguments.length; i++) {\n\t\targs[i] = arguments[i];\n\t}\n\n\treturn new P((resolve, reject) => {\n\t\tif (opts.errorFirst) {\n\t\t\targs.push(function (err, result) {\n\t\t\t\tif (opts.multiArgs) {\n\t\t\t\t\tconst results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (let i = 1; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i - 1] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tresults.unshift(err);\n\t\t\t\t\t\treject(results);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(results);\n\t\t\t\t\t}\n\t\t\t\t} else if (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\targs.push(function (result) {\n\t\t\t\tif (opts.multiArgs) {\n\t\t\t\t\tconst results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (let i = 0; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(results);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfn.apply(this, args);\n\t});\n};\n\nmodule.exports = (obj, opts) => {\n\topts = Object.assign({\n\t\texclude: [/.+(Sync|Stream)$/],\n\t\terrorFirst: true,\n\t\tpromiseModule: Promise\n\t}, opts);\n\n\tconst filter = key => {\n\t\tconst match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);\n\t\treturn opts.include ? opts.include.some(match) : !opts.exclude.some(match);\n\t};\n\n\tlet ret;\n\tif (typeof obj === 'function') {\n\t\tret = function () {\n\t\t\tif (opts.excludeMain) {\n\t\t\t\treturn obj.apply(this, arguments);\n\t\t\t}\n\n\t\t\treturn processFn(obj, opts).apply(this, arguments);\n\t\t};\n\t} else {\n\t\tret = Object.create(Object.getPrototypeOf(obj));\n\t}\n\n\tfor (const key in obj) { // eslint-disable-line guard-for-in\n\t\tconst x = obj[key];\n\t\tret[key] = typeof x === 'function' && filter(key) ? processFn(x, opts) : x;\n\t}\n\n\treturn ret;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGlmeS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLHNCQUFzQjtBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLHNCQUFzQjtBQUMzQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsc0JBQXNCO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcGlmeS9pbmRleC5qcz8xMWE2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgcHJvY2Vzc0ZuID0gKGZuLCBvcHRzKSA9PiBmdW5jdGlvbiAoKSB7XG5cdGNvbnN0IFAgPSBvcHRzLnByb21pc2VNb2R1bGU7XG5cdGNvbnN0IGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcblx0XHRhcmdzW2ldID0gYXJndW1lbnRzW2ldO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBQKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRpZiAob3B0cy5lcnJvckZpcnN0KSB7XG5cdFx0XHRhcmdzLnB1c2goZnVuY3Rpb24gKGVyciwgcmVzdWx0KSB7XG5cdFx0XHRcdGlmIChvcHRzLm11bHRpQXJncykge1xuXHRcdFx0XHRcdGNvbnN0IHJlc3VsdHMgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdHJlc3VsdHNbaSAtIDFdID0gYXJndW1lbnRzW2ldO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChlcnIpIHtcblx0XHRcdFx0XHRcdHJlc3VsdHMudW5zaGlmdChlcnIpO1xuXHRcdFx0XHRcdFx0cmVqZWN0KHJlc3VsdHMpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXNvbHZlKHJlc3VsdHMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChlcnIpIHtcblx0XHRcdFx0XHRyZWplY3QoZXJyKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXNvbHZlKHJlc3VsdCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRhcmdzLnB1c2goZnVuY3Rpb24gKHJlc3VsdCkge1xuXHRcdFx0XHRpZiAob3B0cy5tdWx0aUFyZ3MpIHtcblx0XHRcdFx0XHRjb25zdCByZXN1bHRzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcblxuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0XHRyZXN1bHRzW2ldID0gYXJndW1lbnRzW2ldO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJlc29sdmUocmVzdWx0cyk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmVzb2x2ZShyZXN1bHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRmbi5hcHBseSh0aGlzLCBhcmdzKTtcblx0fSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IChvYmosIG9wdHMpID0+IHtcblx0b3B0cyA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdGV4Y2x1ZGU6IFsvLisoU3luY3xTdHJlYW0pJC9dLFxuXHRcdGVycm9yRmlyc3Q6IHRydWUsXG5cdFx0cHJvbWlzZU1vZHVsZTogUHJvbWlzZVxuXHR9LCBvcHRzKTtcblxuXHRjb25zdCBmaWx0ZXIgPSBrZXkgPT4ge1xuXHRcdGNvbnN0IG1hdGNoID0gcGF0dGVybiA9PiB0eXBlb2YgcGF0dGVybiA9PT0gJ3N0cmluZycgPyBrZXkgPT09IHBhdHRlcm4gOiBwYXR0ZXJuLnRlc3Qoa2V5KTtcblx0XHRyZXR1cm4gb3B0cy5pbmNsdWRlID8gb3B0cy5pbmNsdWRlLnNvbWUobWF0Y2gpIDogIW9wdHMuZXhjbHVkZS5zb21lKG1hdGNoKTtcblx0fTtcblxuXHRsZXQgcmV0O1xuXHRpZiAodHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHJldCA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdGlmIChvcHRzLmV4Y2x1ZGVNYWluKSB7XG5cdFx0XHRcdHJldHVybiBvYmouYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHByb2Nlc3NGbihvYmosIG9wdHMpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0fTtcblx0fSBlbHNlIHtcblx0XHRyZXQgPSBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopKTtcblx0fVxuXG5cdGZvciAoY29uc3Qga2V5IGluIG9iaikgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGd1YXJkLWZvci1pblxuXHRcdGNvbnN0IHggPSBvYmpba2V5XTtcblx0XHRyZXRba2V5XSA9IHR5cGVvZiB4ID09PSAnZnVuY3Rpb24nICYmIGZpbHRlcihrZXkpID8gcHJvY2Vzc0ZuKHgsIG9wdHMpIDogeDtcblx0fVxuXG5cdHJldHVybiByZXQ7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/pify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/preact/dist/preact.module.js": -/*!***************************************************!*\ - !*** ./node_modules/preact/dist/preact.module.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Component: function() { return /* binding */ b; },\n/* harmony export */ Fragment: function() { return /* binding */ k; },\n/* harmony export */ cloneElement: function() { return /* binding */ F; },\n/* harmony export */ createContext: function() { return /* binding */ G; },\n/* harmony export */ createElement: function() { return /* binding */ y; },\n/* harmony export */ createRef: function() { return /* binding */ _; },\n/* harmony export */ h: function() { return /* binding */ y; },\n/* harmony export */ hydrate: function() { return /* binding */ E; },\n/* harmony export */ isValidElement: function() { return /* binding */ t; },\n/* harmony export */ options: function() { return /* binding */ l; },\n/* harmony export */ render: function() { return /* binding */ D; },\n/* harmony export */ toChildArray: function() { return /* binding */ S; }\n/* harmony export */ });\nvar n,l,u,t,i,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function v(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?g(n):null}function m(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return m(n)}}function w(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!x.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(x)}function x(){var n,l,u,t,o,r,e,c,s;for(i.sort(f);n=i.shift();)n.__d&&(l=i.length,t=void 0,o=void 0,r=void 0,c=(e=(u=n).__v).__e,(s=u.__P)&&(t=[],o=[],(r=v({},e)).__v=e.__v+1,L(s,e,r,u.__n,void 0!==s.ownerSVGElement,null!=e.__h?[c]:null,t,null==c?g(e):c,e.__h,o),M(t,e,o),e.__e!=c&&m(e)),i.length>l&&i.sort(f));x.__r=0}function P(n,l,u,t,i,o,r,f,e,a,v){var p,y,_,b,g,m,w,x,P,S,H=0,I=t&&t.__k||s,T=I.length,j=T,z=l.length;for(u.__k=[],p=0;p<z;p++)null!=(b=u.__k[p]=null==(b=l[p])||\"boolean\"==typeof b||\"function\"==typeof b?null:\"string\"==typeof b||\"number\"==typeof b||\"bigint\"==typeof b?d(null,b,null,null,b):h(b)?d(k,{children:b},null,null,null):b.__b>0?d(b.type,b.props,b.key,b.ref?b.ref:null,b.__v):b)&&(b.__=u,b.__b=u.__b+1,-1===(x=A(b,I,w=p+H,j))?_=c:(_=I[x]||c,I[x]=void 0,j--),L(n,b,_,i,o,r,f,e,a,v),g=b.__e,(y=b.ref)&&_.ref!=y&&(_.ref&&O(_.ref,null,b),v.push(y,b.__c||g,b)),null!=g&&(null==m&&(m=g),S=!(P=_===c||null===_.__v)&&x===w,P?-1==x&&H--:x!==w&&(x===w+1?(H++,S=!0):x>w?j>z-w?(H+=x-w,S=!0):H--:H=x<w&&x==w-1?x-w:0),w=p+H,S=S||x==p&&!P,\"function\"!=typeof b.type||x===w&&_.__k!==b.__k?\"function\"==typeof b.type||S?void 0!==b.__d?(e=b.__d,b.__d=void 0):e=g.nextSibling:e=$(n,g,e):e=C(b,e,n),\"function\"==typeof u.type&&(u.__d=e)));for(u.__e=m,p=T;p--;)null!=I[p]&&(\"function\"==typeof u.type&&null!=I[p].__e&&I[p].__e==u.__d&&(u.__d=I[p].__e.nextSibling),q(I[p],I[p]))}function C(n,l,u){for(var t,i=n.__k,o=0;i&&o<i.length;o++)(t=i[o])&&(t.__=n,l=\"function\"==typeof t.type?C(t,l,u):$(u,t.__e,l));return l}function S(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(h(n)?n.some(function(n){S(n,l)}):l.push(n)),l}function $(n,l,u){return null==u||u.parentNode!==n?n.insertBefore(l,null):l==u&&null!=l.parentNode||n.insertBefore(l,u),l.nextSibling}function A(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type)return u;if(t>(null!=e?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&i==e.key&&o===e.type)return r;r--}if(f<l.length){if((e=l[f])&&i==e.key&&o===e.type)return f;f++}}return-1}function H(n,l,u,t,i){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||T(n,o,null,u[o],t);for(o in l)i&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||T(n,o,l[o],u[o],t)}function I(n,l,u){\"-\"===l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||a.test(l)?u:u+\"px\"}function T(n,l,u,t,i){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||I(n.style,l,\"\");if(u)for(l in u)t&&u[l]===t[l]||I(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t||n.addEventListener(l,o?z:j,o):n.removeEventListener(l,o?z:j,o);else if(\"dangerouslySetInnerHTML\"!==l){if(i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!==l&&\"height\"!==l&&\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&\"rowSpan\"!==l&&\"colSpan\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u))}}function j(n){return this.l[n.type+!1](l.event?l.event(n):n)}function z(n){return this.l[n.type+!0](l.event?l.event(n):n)}function L(n,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,g,m,w,x,C,S,$,A,H,I,T=u.type;if(void 0!==u.constructor)return null;null!=t.__h&&(c=t.__h,e=u.__e=t.__e,u.__h=null,r=[e]),(a=l.__b)&&a(u);try{n:if(\"function\"==typeof T){if(w=u.props,x=(a=T.contextType)&&i[a.__c],C=a?x?x.props.value:a.__:i,t.__c?m=(p=u.__c=t.__c).__=p.__E:(\"prototype\"in T&&T.prototype.render?u.__c=p=new T(w,C):(u.__c=p=new b(w,C),p.constructor=T,p.render=B),x&&x.sub(p),p.props=w,p.state||(p.state={}),p.context=C,p.__n=i,y=p.__d=!0,p.__h=[],p._sb=[]),null==p.__s&&(p.__s=p.state),null!=T.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=v({},p.__s)),v(p.__s,T.getDerivedStateFromProps(w,p.__s))),d=p.props,_=p.state,p.__v=u,y)null==T.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(null==T.getDerivedStateFromProps&&w!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(w,C),!p.__e&&(null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(w,p.__s,C)||u.__v===t.__v)){for(u.__v!==t.__v&&(p.props=w,p.state=p.__s,p.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u)}),S=0;S<p._sb.length;S++)p.__h.push(p._sb[S]);p._sb=[],p.__h.length&&f.push(p);break n}null!=p.componentWillUpdate&&p.componentWillUpdate(w,p.__s,C),null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,_,g)})}if(p.context=C,p.props=w,p.__P=n,p.__e=!1,$=l.__r,A=0,\"prototype\"in T&&T.prototype.render){for(p.state=p.__s,p.__d=!1,$&&$(u),a=p.render(p.props,p.state,p.context),H=0;H<p._sb.length;H++)p.__h.push(p._sb[H]);p._sb=[]}else do{p.__d=!1,$&&$(u),a=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++A<25);p.state=p.__s,null!=p.getChildContext&&(i=v(v({},i),p.getChildContext())),y||null==p.getSnapshotBeforeUpdate||(g=p.getSnapshotBeforeUpdate(d,_)),P(n,h(I=null!=a&&a.type===k&&null==a.key?a.props.children:a)?I:[I],u,t,i,o,r,f,e,c,s),p.base=u.__e,u.__h=null,p.__h.length&&f.push(p),m&&(p.__E=p.__=null)}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=N(t.__e,u,t,i,o,r,f,c,s);(a=l.diffed)&&a(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,t)}}function M(n,u,t){for(var i=0;i<t.length;i++)O(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function N(l,u,t,i,o,r,f,e,s){var a,v,y,d=t.props,_=u.props,k=u.type,b=0;if(\"svg\"===k&&(o=!0),null!=r)for(;b<r.length;b++)if((a=r[b])&&\"setAttribute\"in a==!!k&&(k?a.localName===k:3===a.nodeType)){l=a,r[b]=null;break}if(null==l){if(null===k)return document.createTextNode(_);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",k):document.createElement(k,_.is&&_),r=null,e=!1}if(null===k)d===_||e&&l.data===_||(l.data=_);else{if(r=r&&n.call(l.childNodes),v=(d=t.props||c).dangerouslySetInnerHTML,y=_.dangerouslySetInnerHTML,!e){if(null!=r)for(d={},b=0;b<l.attributes.length;b++)d[l.attributes[b].name]=l.attributes[b].value;(y||v)&&(y&&(v&&y.__html==v.__html||y.__html===l.innerHTML)||(l.innerHTML=y&&y.__html||\"\"))}if(H(l,_,d,o,e),y)u.__k=[];else if(P(l,h(b=u.props.children)?b:[b],u,t,i,o&&\"foreignObject\"!==k,r,f,r?r[0]:t.__k&&g(t,0),e,s),null!=r)for(b=r.length;b--;)null!=r[b]&&p(r[b]);e||(\"value\"in _&&void 0!==(b=_.value)&&(b!==l.value||\"progress\"===k&&!b||\"option\"===k&&b!==d.value)&&T(l,\"value\",b,d.value,!1),\"checked\"in _&&void 0!==(b=_.checked)&&b!==l.checked&&T(l,\"checked\",b,d.checked,!1))}return l}function O(n,u,t){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,t)}}function q(n,u,t){var i,o;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||O(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null,n.__c=void 0}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&q(i[o],u,t||\"function\"!=typeof n.type);t||null==n.__e||p(n.__e),n.__=n.__e=n.__d=void 0}function B(n,l,u){return this.constructor(n,u)}function D(u,t,i){var o,r,f,e;l.__&&l.__(u,t),r=(o=\"function\"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],L(t,u=(!o&&i||t).__k=y(k,null,[u]),r||c,c,void 0!==t.ownerSVGElement,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),M(f,u,e)}function E(n,l){D(n,l,E)}function F(l,u,t){var i,o,r,f,e=v({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),d(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v({},this.state),\"function\"==typeof n&&(n=n(v({},u),this.props)),n&&v(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;\n//# sourceMappingURL=preact.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJlYWN0L2Rpc3QvcHJlYWN0Lm1vZHVsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEIsNEZBQTRGLGdCQUFnQix5QkFBeUIsU0FBUyxjQUFjLG1CQUFtQixvQkFBb0Isa0JBQWtCLGVBQWUscURBQXFELHdMQUF3TCx1QkFBdUIsc0JBQXNCLE9BQU8sOEhBQThILDRDQUE0QyxhQUFhLE9BQU8sY0FBYyxjQUFjLGtCQUFrQixnQkFBZ0IsNEJBQTRCLGdCQUFnQiwwREFBMEQsVUFBVSxlQUFlLG9EQUFvRCwwQ0FBMEMsY0FBYyxRQUFRLGdDQUFnQyw4QkFBOEIsZUFBZSx3Q0FBd0MsdUJBQXVCLE1BQU0sYUFBYSxjQUFjLG9HQUFvRyxhQUFhLHNCQUFzQixjQUFjLFlBQVksZ0dBQWdHLHlKQUF5SixRQUFRLGtDQUFrQyxvRUFBb0UsaUJBQWlCLElBQUksZ0xBQWdMLFdBQVcsb21CQUFvbUIsZ0JBQWdCLElBQUkscUhBQXFILGtCQUFrQixzQkFBc0IsY0FBYyx5RUFBeUUsU0FBUyxnQkFBZ0Isc0VBQXNFLE9BQU8sZUFBZSxrQkFBa0Isb0hBQW9ILG9CQUFvQix3Q0FBd0MsOENBQThDLHdCQUF3QixpQkFBaUIsRUFBRSxTQUFTLDJDQUEyQyxJQUFJLGVBQWUsMkNBQTJDLEtBQUssU0FBUyxzQkFBc0IsTUFBTSxpRUFBaUUsOEhBQThILGtCQUFrQixnR0FBZ0csc0JBQXNCLE1BQU0seURBQXlELEtBQUssc0ZBQXNGLGtEQUFrRCx3SUFBd0ksaUZBQWlGLHVDQUF1QywwREFBMEQsZ0pBQWdKLGtCQUFrQixRQUFRLFVBQVUsOEZBQThGLGNBQWMsK0NBQStDLGNBQWMsK0NBQStDLGdDQUFnQywyQ0FBMkMsc0NBQXNDLHNFQUFzRSxJQUFJLDJCQUEyQix5UEFBeVAsK0lBQStJLHFPQUFxTyxLQUFLLGlOQUFpTix3R0FBd0csWUFBWSxNQUFNLGVBQWUseUJBQXlCLGlDQUFpQyxRQUFRLGdIQUFnSCw0QkFBNEIsRUFBRSwyRkFBMkYsNkVBQTZFLGVBQWUseUJBQXlCLFNBQVMsUUFBUSxxRUFBcUUscUJBQXFCLGdEQUFnRCw0UEFBNFAscUZBQXFGLG1CQUFtQixTQUFTLGdGQUFnRixrQkFBa0IsWUFBWSxXQUFXLDBCQUEwQixxQ0FBcUMsSUFBSSxvQ0FBb0MsVUFBVSxFQUFFLFNBQVMsZ0JBQWdCLEVBQUUsOEJBQThCLDJDQUEyQyxrQ0FBa0MsV0FBVyw4RUFBOEUsY0FBYyxNQUFNLFlBQVksOENBQThDLDJHQUEyRyw2Q0FBNkMsS0FBSyxzR0FBc0csbUJBQW1CLEtBQUssc0JBQXNCLGtEQUFrRCw0RkFBNEYsMkJBQTJCLDBIQUEwSCxJQUFJLHFCQUFxQixvTkFBb04sU0FBUyxrQkFBa0IsSUFBSSxzQ0FBc0MsU0FBUyxZQUFZLGtCQUFrQixRQUFRLG1HQUFtRyw4QkFBOEIseUJBQXlCLFNBQVMsV0FBVywrQkFBK0IsbUJBQW1CLFdBQVcsaURBQWlELGlEQUFpRCxrQkFBa0IsNkJBQTZCLGtCQUFrQixZQUFZLG9QQUFvUCxnQkFBZ0IsU0FBUyxrQkFBa0Isa0JBQWtCLFVBQVUseUlBQXlJLG9IQUFvSCxnQkFBZ0IsT0FBTyw2Q0FBNkMscUJBQXFCLHNCQUFzQixRQUFRLHdDQUF3QywwQ0FBMEMsU0FBUyx3Q0FBd0MsK0NBQStDLGNBQWMsRUFBRSxzQkFBc0IsVUFBVSw2QkFBNkIsa0NBQWtDLHVDQUF1QyxlQUFlLDhDQUE4QyxhQUFhLHNCQUFzQixjQUFjLE9BQU8seUJBQXlCLG1LQUFtSyw0QkFBNEIsU0FBUyxJQUFJLFNBQVMsbUJBQW1CLHVDQUF1QyxvQ0FBb0MsTUFBTSw4REFBOEQsNENBQTRDLDRFQUE0RSxxQ0FBcUMsb0RBQW9ELGtJQUFrSSwyQkFBMkIsYUFBNE07QUFDNStVIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvZGlzdC9wcmVhY3QubW9kdWxlLmpzPzdlY2EiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG4sbCx1LHQsaSxvLHIsZixlLGM9e30scz1bXSxhPS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksaD1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHYobixsKXtmb3IodmFyIHUgaW4gbCluW3VdPWxbdV07cmV0dXJuIG59ZnVuY3Rpb24gcChuKXt2YXIgbD1uLnBhcmVudE5vZGU7bCYmbC5yZW1vdmVDaGlsZChuKX1mdW5jdGlvbiB5KGwsdSx0KXt2YXIgaSxvLHIsZj17fTtmb3IociBpbiB1KVwia2V5XCI9PXI/aT11W3JdOlwicmVmXCI9PXI/bz11W3JdOmZbcl09dVtyXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihmLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGwmJm51bGwhPWwuZGVmYXVsdFByb3BzKWZvcihyIGluIGwuZGVmYXVsdFByb3BzKXZvaWQgMD09PWZbcl0mJihmW3JdPWwuZGVmYXVsdFByb3BzW3JdKTtyZXR1cm4gZChsLGYsaSxvLG51bGwpfWZ1bmN0aW9uIGQobix0LGksbyxyKXt2YXIgZj17dHlwZTpuLHByb3BzOnQsa2V5OmkscmVmOm8sX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2Q6dm9pZCAwLF9fYzpudWxsLF9faDpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6bnVsbD09cj8rK3U6cn07cmV0dXJuIG51bGw9PXImJm51bGwhPWwudm5vZGUmJmwudm5vZGUoZiksZn1mdW5jdGlvbiBfKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19ZnVuY3Rpb24gayhuKXtyZXR1cm4gbi5jaGlsZHJlbn1mdW5jdGlvbiBiKG4sbCl7dGhpcy5wcm9wcz1uLHRoaXMuY29udGV4dD1sfWZ1bmN0aW9uIGcobixsKXtpZihudWxsPT1sKXJldHVybiBuLl9fP2cobi5fXyxuLl9fLl9fay5pbmRleE9mKG4pKzEpOm51bGw7Zm9yKHZhciB1O2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odT1uLl9fa1tsXSkmJm51bGwhPXUuX19lKXJldHVybiB1Ll9fZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGU/ZyhuKTpudWxsfWZ1bmN0aW9uIG0obil7dmFyIGwsdTtpZihudWxsIT0obj1uLl9fKSYmbnVsbCE9bi5fX2Mpe2ZvcihuLl9fZT1uLl9fYy5iYXNlPW51bGwsbD0wO2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odT1uLl9fa1tsXSkmJm51bGwhPXUuX19lKXtuLl9fZT1uLl9fYy5iYXNlPXUuX19lO2JyZWFrfXJldHVybiBtKG4pfX1mdW5jdGlvbiB3KG4peyghbi5fX2QmJihuLl9fZD0hMCkmJmkucHVzaChuKSYmIXguX19yKyt8fG8hPT1sLmRlYm91bmNlUmVuZGVyaW5nKSYmKChvPWwuZGVib3VuY2VSZW5kZXJpbmcpfHxyKSh4KX1mdW5jdGlvbiB4KCl7dmFyIG4sbCx1LHQsbyxyLGUsYyxzO2ZvcihpLnNvcnQoZik7bj1pLnNoaWZ0KCk7KW4uX19kJiYobD1pLmxlbmd0aCx0PXZvaWQgMCxvPXZvaWQgMCxyPXZvaWQgMCxjPShlPSh1PW4pLl9fdikuX19lLChzPXUuX19QKSYmKHQ9W10sbz1bXSwocj12KHt9LGUpKS5fX3Y9ZS5fX3YrMSxMKHMsZSxyLHUuX19uLHZvaWQgMCE9PXMub3duZXJTVkdFbGVtZW50LG51bGwhPWUuX19oP1tjXTpudWxsLHQsbnVsbD09Yz9nKGUpOmMsZS5fX2gsbyksTSh0LGUsbyksZS5fX2UhPWMmJm0oZSkpLGkubGVuZ3RoPmwmJmkuc29ydChmKSk7eC5fX3I9MH1mdW5jdGlvbiBQKG4sbCx1LHQsaSxvLHIsZixlLGEsdil7dmFyIHAseSxfLGIsZyxtLHcseCxQLFMsSD0wLEk9dCYmdC5fX2t8fHMsVD1JLmxlbmd0aCxqPVQsej1sLmxlbmd0aDtmb3IodS5fX2s9W10scD0wO3A8ejtwKyspbnVsbCE9KGI9dS5fX2tbcF09bnVsbD09KGI9bFtwXSl8fFwiYm9vbGVhblwiPT10eXBlb2YgYnx8XCJmdW5jdGlvblwiPT10eXBlb2YgYj9udWxsOlwic3RyaW5nXCI9PXR5cGVvZiBifHxcIm51bWJlclwiPT10eXBlb2YgYnx8XCJiaWdpbnRcIj09dHlwZW9mIGI/ZChudWxsLGIsbnVsbCxudWxsLGIpOmgoYik/ZChrLHtjaGlsZHJlbjpifSxudWxsLG51bGwsbnVsbCk6Yi5fX2I+MD9kKGIudHlwZSxiLnByb3BzLGIua2V5LGIucmVmP2IucmVmOm51bGwsYi5fX3YpOmIpJiYoYi5fXz11LGIuX19iPXUuX19iKzEsLTE9PT0oeD1BKGIsSSx3PXArSCxqKSk/Xz1jOihfPUlbeF18fGMsSVt4XT12b2lkIDAsai0tKSxMKG4sYixfLGksbyxyLGYsZSxhLHYpLGc9Yi5fX2UsKHk9Yi5yZWYpJiZfLnJlZiE9eSYmKF8ucmVmJiZPKF8ucmVmLG51bGwsYiksdi5wdXNoKHksYi5fX2N8fGcsYikpLG51bGwhPWcmJihudWxsPT1tJiYobT1nKSxTPSEoUD1fPT09Y3x8bnVsbD09PV8uX192KSYmeD09PXcsUD8tMT09eCYmSC0tOnghPT13JiYoeD09PXcrMT8oSCsrLFM9ITApOng+dz9qPnotdz8oSCs9eC13LFM9ITApOkgtLTpIPXg8dyYmeD09dy0xP3gtdzowKSx3PXArSCxTPVN8fHg9PXAmJiFQLFwiZnVuY3Rpb25cIiE9dHlwZW9mIGIudHlwZXx8eD09PXcmJl8uX19rIT09Yi5fX2s/XCJmdW5jdGlvblwiPT10eXBlb2YgYi50eXBlfHxTP3ZvaWQgMCE9PWIuX19kPyhlPWIuX19kLGIuX19kPXZvaWQgMCk6ZT1nLm5leHRTaWJsaW5nOmU9JChuLGcsZSk6ZT1DKGIsZSxuKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB1LnR5cGUmJih1Ll9fZD1lKSkpO2Zvcih1Ll9fZT1tLHA9VDtwLS07KW51bGwhPUlbcF0mJihcImZ1bmN0aW9uXCI9PXR5cGVvZiB1LnR5cGUmJm51bGwhPUlbcF0uX19lJiZJW3BdLl9fZT09dS5fX2QmJih1Ll9fZD1JW3BdLl9fZS5uZXh0U2libGluZykscShJW3BdLElbcF0pKX1mdW5jdGlvbiBDKG4sbCx1KXtmb3IodmFyIHQsaT1uLl9fayxvPTA7aSYmbzxpLmxlbmd0aDtvKyspKHQ9aVtvXSkmJih0Ll9fPW4sbD1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0LnR5cGU/Qyh0LGwsdSk6JCh1LHQuX19lLGwpKTtyZXR1cm4gbH1mdW5jdGlvbiBTKG4sbCl7cmV0dXJuIGw9bHx8W10sbnVsbD09bnx8XCJib29sZWFuXCI9PXR5cGVvZiBufHwoaChuKT9uLnNvbWUoZnVuY3Rpb24obil7UyhuLGwpfSk6bC5wdXNoKG4pKSxsfWZ1bmN0aW9uICQobixsLHUpe3JldHVybiBudWxsPT11fHx1LnBhcmVudE5vZGUhPT1uP24uaW5zZXJ0QmVmb3JlKGwsbnVsbCk6bD09dSYmbnVsbCE9bC5wYXJlbnROb2RlfHxuLmluc2VydEJlZm9yZShsLHUpLGwubmV4dFNpYmxpbmd9ZnVuY3Rpb24gQShuLGwsdSx0KXt2YXIgaT1uLmtleSxvPW4udHlwZSxyPXUtMSxmPXUrMSxlPWxbdV07aWYobnVsbD09PWV8fGUmJmk9PWUua2V5JiZvPT09ZS50eXBlKXJldHVybiB1O2lmKHQ+KG51bGwhPWU/MTowKSlmb3IoO3I+PTB8fGY8bC5sZW5ndGg7KXtpZihyPj0wKXtpZigoZT1sW3JdKSYmaT09ZS5rZXkmJm89PT1lLnR5cGUpcmV0dXJuIHI7ci0tfWlmKGY8bC5sZW5ndGgpe2lmKChlPWxbZl0pJiZpPT1lLmtleSYmbz09PWUudHlwZSlyZXR1cm4gZjtmKyt9fXJldHVybi0xfWZ1bmN0aW9uIEgobixsLHUsdCxpKXt2YXIgbztmb3IobyBpbiB1KVwiY2hpbGRyZW5cIj09PW98fFwia2V5XCI9PT1vfHxvIGluIGx8fFQobixvLG51bGwsdVtvXSx0KTtmb3IobyBpbiBsKWkmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGxbb118fFwiY2hpbGRyZW5cIj09PW98fFwia2V5XCI9PT1vfHxcInZhbHVlXCI9PT1vfHxcImNoZWNrZWRcIj09PW98fHVbb109PT1sW29dfHxUKG4sbyxsW29dLHVbb10sdCl9ZnVuY3Rpb24gSShuLGwsdSl7XCItXCI9PT1sWzBdP24uc2V0UHJvcGVydHkobCxudWxsPT11P1wiXCI6dSk6bltsXT1udWxsPT11P1wiXCI6XCJudW1iZXJcIiE9dHlwZW9mIHV8fGEudGVzdChsKT91OnUrXCJweFwifWZ1bmN0aW9uIFQobixsLHUsdCxpKXt2YXIgbztuOmlmKFwic3R5bGVcIj09PWwpaWYoXCJzdHJpbmdcIj09dHlwZW9mIHUpbi5zdHlsZS5jc3NUZXh0PXU7ZWxzZXtpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmKG4uc3R5bGUuY3NzVGV4dD10PVwiXCIpLHQpZm9yKGwgaW4gdCl1JiZsIGluIHV8fEkobi5zdHlsZSxsLFwiXCIpO2lmKHUpZm9yKGwgaW4gdSl0JiZ1W2xdPT09dFtsXXx8SShuLnN0eWxlLGwsdVtsXSl9ZWxzZSBpZihcIm9cIj09PWxbMF0mJlwiblwiPT09bFsxXSlvPWwhPT0obD1sLnJlcGxhY2UoL0NhcHR1cmUkLyxcIlwiKSksbD1sLnRvTG93ZXJDYXNlKClpbiBuP2wudG9Mb3dlckNhc2UoKS5zbGljZSgyKTpsLnNsaWNlKDIpLG4ubHx8KG4ubD17fSksbi5sW2wrb109dSx1P3R8fG4uYWRkRXZlbnRMaXN0ZW5lcihsLG8/ejpqLG8pOm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihsLG8/ejpqLG8pO2Vsc2UgaWYoXCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiIT09bCl7aWYoaSlsPWwucmVwbGFjZSgveGxpbmsoSHw6aCkvLFwiaFwiKS5yZXBsYWNlKC9zTmFtZSQvLFwic1wiKTtlbHNlIGlmKFwid2lkdGhcIiE9PWwmJlwiaGVpZ2h0XCIhPT1sJiZcImhyZWZcIiE9PWwmJlwibGlzdFwiIT09bCYmXCJmb3JtXCIhPT1sJiZcInRhYkluZGV4XCIhPT1sJiZcImRvd25sb2FkXCIhPT1sJiZcInJvd1NwYW5cIiE9PWwmJlwiY29sU3BhblwiIT09bCYmbCBpbiBuKXRyeXtuW2xdPW51bGw9PXU/XCJcIjp1O2JyZWFrIG59Y2F0Y2gobil7fVwiZnVuY3Rpb25cIj09dHlwZW9mIHV8fChudWxsPT11fHwhMT09PXUmJlwiLVwiIT09bFs0XT9uLnJlbW92ZUF0dHJpYnV0ZShsKTpuLnNldEF0dHJpYnV0ZShsLHUpKX19ZnVuY3Rpb24gaihuKXtyZXR1cm4gdGhpcy5sW24udHlwZSshMV0obC5ldmVudD9sLmV2ZW50KG4pOm4pfWZ1bmN0aW9uIHoobil7cmV0dXJuIHRoaXMubFtuLnR5cGUrITBdKGwuZXZlbnQ/bC5ldmVudChuKTpuKX1mdW5jdGlvbiBMKG4sdSx0LGksbyxyLGYsZSxjLHMpe3ZhciBhLHAseSxkLF8sZyxtLHcseCxDLFMsJCxBLEgsSSxUPXUudHlwZTtpZih2b2lkIDAhPT11LmNvbnN0cnVjdG9yKXJldHVybiBudWxsO251bGwhPXQuX19oJiYoYz10Ll9faCxlPXUuX19lPXQuX19lLHUuX19oPW51bGwscj1bZV0pLChhPWwuX19iKSYmYSh1KTt0cnl7bjppZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBUKXtpZih3PXUucHJvcHMseD0oYT1ULmNvbnRleHRUeXBlKSYmaVthLl9fY10sQz1hP3g/eC5wcm9wcy52YWx1ZTphLl9fOmksdC5fX2M/bT0ocD11Ll9fYz10Ll9fYykuX189cC5fX0U6KFwicHJvdG90eXBlXCJpbiBUJiZULnByb3RvdHlwZS5yZW5kZXI/dS5fX2M9cD1uZXcgVCh3LEMpOih1Ll9fYz1wPW5ldyBiKHcsQykscC5jb25zdHJ1Y3Rvcj1ULHAucmVuZGVyPUIpLHgmJnguc3ViKHApLHAucHJvcHM9dyxwLnN0YXRlfHwocC5zdGF0ZT17fSkscC5jb250ZXh0PUMscC5fX249aSx5PXAuX19kPSEwLHAuX19oPVtdLHAuX3NiPVtdKSxudWxsPT1wLl9fcyYmKHAuX19zPXAuc3RhdGUpLG51bGwhPVQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiYocC5fX3M9PXAuc3RhdGUmJihwLl9fcz12KHt9LHAuX19zKSksdihwLl9fcyxULmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3LHAuX19zKSkpLGQ9cC5wcm9wcyxfPXAuc3RhdGUscC5fX3Y9dSx5KW51bGw9PVQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZudWxsIT1wLmNvbXBvbmVudFdpbGxNb3VudCYmcC5jb21wb25lbnRXaWxsTW91bnQoKSxudWxsIT1wLmNvbXBvbmVudERpZE1vdW50JiZwLl9faC5wdXNoKHAuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYobnVsbD09VC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMmJnchPT1kJiZudWxsIT1wLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnAuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3LEMpLCFwLl9fZSYmKG51bGwhPXAuc2hvdWxkQ29tcG9uZW50VXBkYXRlJiYhMT09PXAuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHcscC5fX3MsQyl8fHUuX192PT09dC5fX3YpKXtmb3IodS5fX3YhPT10Ll9fdiYmKHAucHJvcHM9dyxwLnN0YXRlPXAuX19zLHAuX19kPSExKSx1Ll9fZT10Ll9fZSx1Ll9faz10Ll9fayx1Ll9fay5mb3JFYWNoKGZ1bmN0aW9uKG4pe24mJihuLl9fPXUpfSksUz0wO1M8cC5fc2IubGVuZ3RoO1MrKylwLl9faC5wdXNoKHAuX3NiW1NdKTtwLl9zYj1bXSxwLl9faC5sZW5ndGgmJmYucHVzaChwKTticmVhayBufW51bGwhPXAuY29tcG9uZW50V2lsbFVwZGF0ZSYmcC5jb21wb25lbnRXaWxsVXBkYXRlKHcscC5fX3MsQyksbnVsbCE9cC5jb21wb25lbnREaWRVcGRhdGUmJnAuX19oLnB1c2goZnVuY3Rpb24oKXtwLmNvbXBvbmVudERpZFVwZGF0ZShkLF8sZyl9KX1pZihwLmNvbnRleHQ9QyxwLnByb3BzPXcscC5fX1A9bixwLl9fZT0hMSwkPWwuX19yLEE9MCxcInByb3RvdHlwZVwiaW4gVCYmVC5wcm90b3R5cGUucmVuZGVyKXtmb3IocC5zdGF0ZT1wLl9fcyxwLl9fZD0hMSwkJiYkKHUpLGE9cC5yZW5kZXIocC5wcm9wcyxwLnN0YXRlLHAuY29udGV4dCksSD0wO0g8cC5fc2IubGVuZ3RoO0grKylwLl9faC5wdXNoKHAuX3NiW0hdKTtwLl9zYj1bXX1lbHNlIGRve3AuX19kPSExLCQmJiQodSksYT1wLnJlbmRlcihwLnByb3BzLHAuc3RhdGUscC5jb250ZXh0KSxwLnN0YXRlPXAuX19zfXdoaWxlKHAuX19kJiYrK0E8MjUpO3Auc3RhdGU9cC5fX3MsbnVsbCE9cC5nZXRDaGlsZENvbnRleHQmJihpPXYodih7fSxpKSxwLmdldENoaWxkQ29udGV4dCgpKSkseXx8bnVsbD09cC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8KGc9cC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShkLF8pKSxQKG4saChJPW51bGwhPWEmJmEudHlwZT09PWsmJm51bGw9PWEua2V5P2EucHJvcHMuY2hpbGRyZW46YSk/STpbSV0sdSx0LGksbyxyLGYsZSxjLHMpLHAuYmFzZT11Ll9fZSx1Ll9faD1udWxsLHAuX19oLmxlbmd0aCYmZi5wdXNoKHApLG0mJihwLl9fRT1wLl9fPW51bGwpfWVsc2UgbnVsbD09ciYmdS5fX3Y9PT10Ll9fdj8odS5fX2s9dC5fX2ssdS5fX2U9dC5fX2UpOnUuX19lPU4odC5fX2UsdSx0LGksbyxyLGYsYyxzKTsoYT1sLmRpZmZlZCkmJmEodSl9Y2F0Y2gobil7dS5fX3Y9bnVsbCwoY3x8bnVsbCE9cikmJih1Ll9fZT1lLHUuX19oPSEhYyxyW3IuaW5kZXhPZihlKV09bnVsbCksbC5fX2Uobix1LHQpfX1mdW5jdGlvbiBNKG4sdSx0KXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylPKHRbaV0sdFsrK2ldLHRbKytpXSk7bC5fX2MmJmwuX19jKHUsbiksbi5zb21lKGZ1bmN0aW9uKHUpe3RyeXtuPXUuX19oLHUuX19oPVtdLG4uc29tZShmdW5jdGlvbihuKXtuLmNhbGwodSl9KX1jYXRjaChuKXtsLl9fZShuLHUuX192KX19KX1mdW5jdGlvbiBOKGwsdSx0LGksbyxyLGYsZSxzKXt2YXIgYSx2LHksZD10LnByb3BzLF89dS5wcm9wcyxrPXUudHlwZSxiPTA7aWYoXCJzdmdcIj09PWsmJihvPSEwKSxudWxsIT1yKWZvcig7YjxyLmxlbmd0aDtiKyspaWYoKGE9cltiXSkmJlwic2V0QXR0cmlidXRlXCJpbiBhPT0hIWsmJihrP2EubG9jYWxOYW1lPT09azozPT09YS5ub2RlVHlwZSkpe2w9YSxyW2JdPW51bGw7YnJlYWt9aWYobnVsbD09bCl7aWYobnVsbD09PWspcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKF8pO2w9bz9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLGspOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoayxfLmlzJiZfKSxyPW51bGwsZT0hMX1pZihudWxsPT09aylkPT09X3x8ZSYmbC5kYXRhPT09X3x8KGwuZGF0YT1fKTtlbHNle2lmKHI9ciYmbi5jYWxsKGwuY2hpbGROb2Rlcyksdj0oZD10LnByb3BzfHxjKS5kYW5nZXJvdXNseVNldElubmVySFRNTCx5PV8uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsIWUpe2lmKG51bGwhPXIpZm9yKGQ9e30sYj0wO2I8bC5hdHRyaWJ1dGVzLmxlbmd0aDtiKyspZFtsLmF0dHJpYnV0ZXNbYl0ubmFtZV09bC5hdHRyaWJ1dGVzW2JdLnZhbHVlOyh5fHx2KSYmKHkmJih2JiZ5Ll9faHRtbD09di5fX2h0bWx8fHkuX19odG1sPT09bC5pbm5lckhUTUwpfHwobC5pbm5lckhUTUw9eSYmeS5fX2h0bWx8fFwiXCIpKX1pZihIKGwsXyxkLG8sZSkseSl1Ll9faz1bXTtlbHNlIGlmKFAobCxoKGI9dS5wcm9wcy5jaGlsZHJlbik/YjpbYl0sdSx0LGksbyYmXCJmb3JlaWduT2JqZWN0XCIhPT1rLHIsZixyP3JbMF06dC5fX2smJmcodCwwKSxlLHMpLG51bGwhPXIpZm9yKGI9ci5sZW5ndGg7Yi0tOyludWxsIT1yW2JdJiZwKHJbYl0pO2V8fChcInZhbHVlXCJpbiBfJiZ2b2lkIDAhPT0oYj1fLnZhbHVlKSYmKGIhPT1sLnZhbHVlfHxcInByb2dyZXNzXCI9PT1rJiYhYnx8XCJvcHRpb25cIj09PWsmJmIhPT1kLnZhbHVlKSYmVChsLFwidmFsdWVcIixiLGQudmFsdWUsITEpLFwiY2hlY2tlZFwiaW4gXyYmdm9pZCAwIT09KGI9Xy5jaGVja2VkKSYmYiE9PWwuY2hlY2tlZCYmVChsLFwiY2hlY2tlZFwiLGIsZC5jaGVja2VkLCExKSl9cmV0dXJuIGx9ZnVuY3Rpb24gTyhuLHUsdCl7dHJ5e1wiZnVuY3Rpb25cIj09dHlwZW9mIG4/bih1KTpuLmN1cnJlbnQ9dX1jYXRjaChuKXtsLl9fZShuLHQpfX1mdW5jdGlvbiBxKG4sdSx0KXt2YXIgaSxvO2lmKGwudW5tb3VudCYmbC51bm1vdW50KG4pLChpPW4ucmVmKSYmKGkuY3VycmVudCYmaS5jdXJyZW50IT09bi5fX2V8fE8oaSxudWxsLHUpKSxudWxsIT0oaT1uLl9fYykpe2lmKGkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e2kuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtsLl9fZShuLHUpfWkuYmFzZT1pLl9fUD1udWxsLG4uX19jPXZvaWQgMH1pZihpPW4uX19rKWZvcihvPTA7bzxpLmxlbmd0aDtvKyspaVtvXSYmcShpW29dLHUsdHx8XCJmdW5jdGlvblwiIT10eXBlb2Ygbi50eXBlKTt0fHxudWxsPT1uLl9fZXx8cChuLl9fZSksbi5fXz1uLl9fZT1uLl9fZD12b2lkIDB9ZnVuY3Rpb24gQihuLGwsdSl7cmV0dXJuIHRoaXMuY29uc3RydWN0b3Iobix1KX1mdW5jdGlvbiBEKHUsdCxpKXt2YXIgbyxyLGYsZTtsLl9fJiZsLl9fKHUsdCkscj0obz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBpKT9udWxsOmkmJmkuX19rfHx0Ll9fayxmPVtdLGU9W10sTCh0LHU9KCFvJiZpfHx0KS5fX2s9eShrLG51bGwsW3VdKSxyfHxjLGMsdm9pZCAwIT09dC5vd25lclNWR0VsZW1lbnQsIW8mJmk/W2ldOnI/bnVsbDp0LmZpcnN0Q2hpbGQ/bi5jYWxsKHQuY2hpbGROb2Rlcyk6bnVsbCxmLCFvJiZpP2k6cj9yLl9fZTp0LmZpcnN0Q2hpbGQsbyxlKSxNKGYsdSxlKX1mdW5jdGlvbiBFKG4sbCl7RChuLGwsRSl9ZnVuY3Rpb24gRihsLHUsdCl7dmFyIGksbyxyLGYsZT12KHt9LGwucHJvcHMpO2ZvcihyIGluIGwudHlwZSYmbC50eXBlLmRlZmF1bHRQcm9wcyYmKGY9bC50eXBlLmRlZmF1bHRQcm9wcyksdSlcImtleVwiPT1yP2k9dVtyXTpcInJlZlwiPT1yP289dVtyXTplW3JdPXZvaWQgMD09PXVbcl0mJnZvaWQgMCE9PWY/ZltyXTp1W3JdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnQpLGQobC50eXBlLGUsaXx8bC5rZXksb3x8bC5yZWYsbnVsbCl9ZnVuY3Rpb24gRyhuLGwpe3ZhciB1PXtfX2M6bD1cIl9fY0NcIitlKyssX186bixDb25zdW1lcjpmdW5jdGlvbihuLGwpe3JldHVybiBuLmNoaWxkcmVuKGwpfSxQcm92aWRlcjpmdW5jdGlvbihuKXt2YXIgdSx0O3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KHU9W10sKHQ9e30pW2xdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5wcm9wcy52YWx1ZSE9PW4udmFsdWUmJnUuc29tZShmdW5jdGlvbihuKXtuLl9fZT0hMCx3KG4pfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKG4pe3UucHVzaChuKTt2YXIgbD1uLmNvbXBvbmVudFdpbGxVbm1vdW50O24uY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt1LnNwbGljZSh1LmluZGV4T2YobiksMSksbCYmbC5jYWxsKG4pfX0pLG4uY2hpbGRyZW59fTtyZXR1cm4gdS5Qcm92aWRlci5fXz11LkNvbnN1bWVyLmNvbnRleHRUeXBlPXV9bj1zLnNsaWNlLGw9e19fZTpmdW5jdGlvbihuLGwsdSx0KXtmb3IodmFyIGksbyxyO2w9bC5fXzspaWYoKGk9bC5fX2MpJiYhaS5fXyl0cnl7aWYoKG89aS5jb25zdHJ1Y3RvcikmJm51bGwhPW8uZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yJiYoaS5zZXRTdGF0ZShvLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihuKSkscj1pLl9fZCksbnVsbCE9aS5jb21wb25lbnREaWRDYXRjaCYmKGkuY29tcG9uZW50RGlkQ2F0Y2gobix0fHx7fSkscj1pLl9fZCkscilyZXR1cm4gaS5fX0U9aX1jYXRjaChsKXtuPWx9dGhyb3cgbn19LHU9MCx0PWZ1bmN0aW9uKG4pe3JldHVybiBudWxsIT1uJiZ2b2lkIDA9PT1uLmNvbnN0cnVjdG9yfSxiLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihuLGwpe3ZhciB1O3U9bnVsbCE9dGhpcy5fX3MmJnRoaXMuX19zIT09dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz12KHt9LHRoaXMuc3RhdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIG4mJihuPW4odih7fSx1KSx0aGlzLnByb3BzKSksbiYmdih1LG4pLG51bGwhPW4mJnRoaXMuX192JiYobCYmdGhpcy5fc2IucHVzaChsKSx3KHRoaXMpKX0sYi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCxuJiZ0aGlzLl9faC5wdXNoKG4pLHcodGhpcykpfSxiLnByb3RvdHlwZS5yZW5kZXI9ayxpPVtdLHI9XCJmdW5jdGlvblwiPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsZj1mdW5jdGlvbihuLGwpe3JldHVybiBuLl9fdi5fX2ItbC5fX3YuX19ifSx4Ll9fcj0wLGU9MDtleHBvcnR7YiBhcyBDb21wb25lbnQsayBhcyBGcmFnbWVudCxGIGFzIGNsb25lRWxlbWVudCxHIGFzIGNyZWF0ZUNvbnRleHQseSBhcyBjcmVhdGVFbGVtZW50LF8gYXMgY3JlYXRlUmVmLHkgYXMgaCxFIGFzIGh5ZHJhdGUsdCBhcyBpc1ZhbGlkRWxlbWVudCxsIGFzIG9wdGlvbnMsRCBhcyByZW5kZXIsUyBhcyB0b0NoaWxkQXJyYXl9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlYWN0Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/preact/dist/preact.module.js\n")); - -/***/ }), - -/***/ "./node_modules/preact/hooks/dist/hooks.module.js": -/*!********************************************************!*\ - !*** ./node_modules/preact/hooks/dist/hooks.module.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useCallback: function() { return /* binding */ T; },\n/* harmony export */ useContext: function() { return /* binding */ q; },\n/* harmony export */ useDebugValue: function() { return /* binding */ x; },\n/* harmony export */ useEffect: function() { return /* binding */ p; },\n/* harmony export */ useErrorBoundary: function() { return /* binding */ P; },\n/* harmony export */ useId: function() { return /* binding */ V; },\n/* harmony export */ useImperativeHandle: function() { return /* binding */ A; },\n/* harmony export */ useLayoutEffect: function() { return /* binding */ y; },\n/* harmony export */ useMemo: function() { return /* binding */ F; },\n/* harmony export */ useReducer: function() { return /* binding */ s; },\n/* harmony export */ useRef: function() { return /* binding */ _; },\n/* harmony export */ useState: function() { return /* binding */ h; }\n/* harmony export */ });\n/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nvar t,r,u,i,o=0,f=[],c=[],e=preact__WEBPACK_IMPORTED_MODULE_0__.options.__b,a=preact__WEBPACK_IMPORTED_MODULE_0__.options.__r,v=preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed,l=preact__WEBPACK_IMPORTED_MODULE_0__.options.__c,m=preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount;function d(t,u){preact__WEBPACK_IMPORTED_MODULE_0__.options.__h&&preact__WEBPACK_IMPORTED_MODULE_0__.options.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:c}),i.__[t]}function h(n){return o=1,s(B,n)}function s(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):B(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function p(u,i){var o=d(t++,3);!preact__WEBPACK_IMPORTED_MODULE_0__.options.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o))}function y(u,i){var o=d(t++,4);!preact__WEBPACK_IMPORTED_MODULE_0__.options.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o))}function _(n){return o=5,F(function(){return{current:n}},[])}function A(n,t,r){o=6,y(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function F(n,r){var u=d(t++,7);return z(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x(t,r){preact__WEBPACK_IMPORTED_MODULE_0__.options.useDebugValue&&preact__WEBPACK_IMPORTED_MODULE_0__.options.useDebugValue(r?r(t):t)}function P(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function V(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function b(){for(var t;t=f.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(k),t.__H.__h.forEach(w),t.__H.__h=[]}catch(r){t.__H.__h=[],preact__WEBPACK_IMPORTED_MODULE_0__.options.__e(r,t.__v)}}preact__WEBPACK_IMPORTED_MODULE_0__.options.__b=function(n){r=null,e&&e(n)},preact__WEBPACK_IMPORTED_MODULE_0__.options.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0})):(i.__h.forEach(k),i.__h.forEach(w),i.__h=[],t=0)),u=r},preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==f.push(o)&&i===preact__WEBPACK_IMPORTED_MODULE_0__.options.requestAnimationFrame||((i=preact__WEBPACK_IMPORTED_MODULE_0__.options.requestAnimationFrame)||j)(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c})),u=r=null},preact__WEBPACK_IMPORTED_MODULE_0__.options.__c=function(t,r){r.some(function(t){try{t.__h.forEach(k),t.__h=t.__h.filter(function(n){return!n.__||w(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],preact__WEBPACK_IMPORTED_MODULE_0__.options.__e(u,t.__v)}}),l&&l(t,r)},preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{k(n)}catch(n){r=n}}),u.__H=void 0,r&&preact__WEBPACK_IMPORTED_MODULE_0__.options.__e(r,u.__v))};var g=\"function\"==typeof requestAnimationFrame;function j(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r))}function k(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function w(n){var t=r;n.__c=n.__(),r=t}function z(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function B(n,t){return\"function\"==typeof t?t(n):t}\n//# sourceMappingURL=hooks.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJlYWN0L2hvb2tzL2Rpc3QvaG9va3MubW9kdWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUMsNEJBQTRCLDJDQUFDLE9BQU8sMkNBQUMsT0FBTywyQ0FBQyxVQUFVLDJDQUFDLE9BQU8sMkNBQUMsU0FBUyxnQkFBZ0IsMkNBQUMsTUFBTSwyQ0FBQyxtQkFBbUIscUJBQXFCLGFBQWEsRUFBRSxrQ0FBa0MsTUFBTSxVQUFVLGNBQWMsa0JBQWtCLGtCQUFrQixlQUFlLHVEQUF1RCx3Q0FBd0MsMkNBQTJDLEdBQUcsaUJBQWlCLHNCQUFzQix1QkFBdUIsc0NBQXNDLGFBQWEsRUFBRSx1QkFBdUIsYUFBYSwrQkFBK0IsU0FBUyw2QkFBNkIsVUFBVSxjQUFjLDZDQUE2QyxvREFBb0QsT0FBTyxzREFBc0Qsc0NBQXNDLGFBQWEsUUFBUSxzQkFBc0Isc0JBQXNCLDJCQUEyQixtQkFBbUIsZ0JBQWdCLGVBQWUsQ0FBQywyQ0FBQyxtREFBbUQsZ0JBQWdCLGVBQWUsQ0FBQywyQ0FBQywrQ0FBK0MsY0FBYyx3QkFBd0IsT0FBTyxXQUFXLEtBQUssa0JBQWtCLGlCQUFpQiw4Q0FBOEMsZUFBZSw4QkFBOEIsc0JBQXNCLFNBQVMsd0JBQXdCLGdCQUFnQixlQUFlLHVEQUF1RCxnQkFBZ0Isd0JBQXdCLFNBQVMsSUFBSSxjQUFjLGtDQUFrQyxtRUFBbUUsZ0JBQWdCLDJDQUFDLGdCQUFnQiwyQ0FBQyx5QkFBeUIsY0FBYyxzQkFBc0Isc0VBQXNFLHdCQUF3QixtQkFBbUIsYUFBYSxFQUFFLGFBQWEsZ0JBQWdCLFVBQVUsZ0JBQWdCLDhCQUE4QixRQUFRLDJCQUEyQix5QkFBeUIsWUFBWSxhQUFhLFVBQVUsWUFBWSxxQkFBcUIsdURBQXVELFNBQVMsYUFBYSwyQ0FBQyxlQUFlLDJDQUFDLGlCQUFpQixlQUFlLENBQUMsMkNBQUMsaUJBQWlCLFlBQVksb0JBQW9CLHNEQUFzRCw2Q0FBNkMseURBQXlELENBQUMsMkNBQUMsb0JBQW9CLFFBQVEsWUFBWSxpREFBaUQsMkNBQUMsNEJBQTRCLDJDQUFDLDZEQUE2RCw0REFBNEQsWUFBWSxDQUFDLDJDQUFDLG1CQUFtQixtQkFBbUIsSUFBSSxnREFBZ0Qsa0JBQWtCLEVBQUUsU0FBUyxtQkFBbUIsa0JBQWtCLE9BQU8sMkNBQUMsZUFBZSxZQUFZLENBQUMsMkNBQUMscUJBQXFCLFFBQVEsY0FBYyx3Q0FBd0MsSUFBSSxLQUFLLFNBQVMsS0FBSyxrQkFBa0IsMkNBQUMsZ0JBQWdCLCtDQUErQyxjQUFjLG1CQUFtQix5REFBeUQscUJBQXFCLGdDQUFnQyxjQUFjLGdCQUFnQiw2Q0FBNkMsY0FBYyxRQUFRLGlCQUFpQixnQkFBZ0Isb0RBQW9ELGdCQUFnQixFQUFFLGdCQUFnQixrQ0FBbVA7QUFDNWtIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanM/MTBlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7b3B0aW9ucyBhcyBufWZyb21cInByZWFjdFwiO3ZhciB0LHIsdSxpLG89MCxmPVtdLGM9W10sZT1uLl9fYixhPW4uX19yLHY9bi5kaWZmZWQsbD1uLl9fYyxtPW4udW5tb3VudDtmdW5jdGlvbiBkKHQsdSl7bi5fX2gmJm4uX19oKHIsdCxvfHx1KSxvPTA7dmFyIGk9ci5fX0h8fChyLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuIHQ+PWkuX18ubGVuZ3RoJiZpLl9fLnB1c2goe19fVjpjfSksaS5fX1t0XX1mdW5jdGlvbiBoKG4pe3JldHVybiBvPTEscyhCLG4pfWZ1bmN0aW9uIHMobix1LGkpe3ZhciBvPWQodCsrLDIpO2lmKG8udD1uLCFvLl9fYyYmKG8uX189W2k/aSh1KTpCKHZvaWQgMCx1KSxmdW5jdGlvbihuKXt2YXIgdD1vLl9fTj9vLl9fTlswXTpvLl9fWzBdLHI9by50KHQsbik7dCE9PXImJihvLl9fTj1bcixvLl9fWzFdXSxvLl9fYy5zZXRTdGF0ZSh7fSkpfV0sby5fX2M9ciwhci51KSl7dmFyIGY9ZnVuY3Rpb24obix0LHIpe2lmKCFvLl9fYy5fX0gpcmV0dXJuITA7dmFyIHU9by5fX2MuX19ILl9fLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gbi5fX2N9KTtpZih1LmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiFuLl9fTn0pKXJldHVybiFjfHxjLmNhbGwodGhpcyxuLHQscik7dmFyIGk9ITE7cmV0dXJuIHUuZm9yRWFjaChmdW5jdGlvbihuKXtpZihuLl9fTil7dmFyIHQ9bi5fX1swXTtuLl9fPW4uX19OLG4uX19OPXZvaWQgMCx0IT09bi5fX1swXSYmKGk9ITApfX0pLCEoIWkmJm8uX19jLnByb3BzPT09bikmJighY3x8Yy5jYWxsKHRoaXMsbix0LHIpKX07ci51PSEwO3ZhciBjPXIuc2hvdWxkQ29tcG9uZW50VXBkYXRlLGU9ci5jb21wb25lbnRXaWxsVXBkYXRlO3IuY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbihuLHQscil7aWYodGhpcy5fX2Upe3ZhciB1PWM7Yz12b2lkIDAsZihuLHQsciksYz11fWUmJmUuY2FsbCh0aGlzLG4sdCxyKX0sci5zaG91bGRDb21wb25lbnRVcGRhdGU9Zn1yZXR1cm4gby5fX058fG8uX199ZnVuY3Rpb24gcCh1LGkpe3ZhciBvPWQodCsrLDMpOyFuLl9fcyYmeihvLl9fSCxpKSYmKG8uX189dSxvLmk9aSxyLl9fSC5fX2gucHVzaChvKSl9ZnVuY3Rpb24geSh1LGkpe3ZhciBvPWQodCsrLDQpOyFuLl9fcyYmeihvLl9fSCxpKSYmKG8uX189dSxvLmk9aSxyLl9faC5wdXNoKG8pKX1mdW5jdGlvbiBfKG4pe3JldHVybiBvPTUsRihmdW5jdGlvbigpe3JldHVybntjdXJyZW50Om59fSxbXSl9ZnVuY3Rpb24gQShuLHQscil7bz02LHkoZnVuY3Rpb24oKXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuPyhuKHQoKSksZnVuY3Rpb24oKXtyZXR1cm4gbihudWxsKX0pOm4/KG4uY3VycmVudD10KCksZnVuY3Rpb24oKXtyZXR1cm4gbi5jdXJyZW50PW51bGx9KTp2b2lkIDB9LG51bGw9PXI/cjpyLmNvbmNhdChuKSl9ZnVuY3Rpb24gRihuLHIpe3ZhciB1PWQodCsrLDcpO3JldHVybiB6KHUuX19ILHIpPyh1Ll9fVj1uKCksdS5pPXIsdS5fX2g9bix1Ll9fVik6dS5fX31mdW5jdGlvbiBUKG4sdCl7cmV0dXJuIG89OCxGKGZ1bmN0aW9uKCl7cmV0dXJuIG59LHQpfWZ1bmN0aW9uIHEobil7dmFyIHU9ci5jb250ZXh0W24uX19jXSxpPWQodCsrLDkpO3JldHVybiBpLmM9bix1PyhudWxsPT1pLl9fJiYoaS5fXz0hMCx1LnN1YihyKSksdS5wcm9wcy52YWx1ZSk6bi5fX31mdW5jdGlvbiB4KHQscil7bi51c2VEZWJ1Z1ZhbHVlJiZuLnVzZURlYnVnVmFsdWUocj9yKHQpOnQpfWZ1bmN0aW9uIFAobil7dmFyIHU9ZCh0KyssMTApLGk9aCgpO3JldHVybiB1Ll9fPW4sci5jb21wb25lbnREaWRDYXRjaHx8KHIuY29tcG9uZW50RGlkQ2F0Y2g9ZnVuY3Rpb24obix0KXt1Ll9fJiZ1Ll9fKG4sdCksaVsxXShuKX0pLFtpWzBdLGZ1bmN0aW9uKCl7aVsxXSh2b2lkIDApfV19ZnVuY3Rpb24gVigpe3ZhciBuPWQodCsrLDExKTtpZighbi5fXyl7Zm9yKHZhciB1PXIuX192O251bGwhPT11JiYhdS5fX20mJm51bGwhPT11Ll9fOyl1PXUuX187dmFyIGk9dS5fX218fCh1Ll9fbT1bMCwwXSk7bi5fXz1cIlBcIitpWzBdK1wiLVwiK2lbMV0rK31yZXR1cm4gbi5fX31mdW5jdGlvbiBiKCl7Zm9yKHZhciB0O3Q9Zi5zaGlmdCgpOylpZih0Ll9fUCYmdC5fX0gpdHJ5e3QuX19ILl9faC5mb3JFYWNoKGspLHQuX19ILl9faC5mb3JFYWNoKHcpLHQuX19ILl9faD1bXX1jYXRjaChyKXt0Ll9fSC5fX2g9W10sbi5fX2Uocix0Ll9fdil9fW4uX19iPWZ1bmN0aW9uKG4pe3I9bnVsbCxlJiZlKG4pfSxuLl9fcj1mdW5jdGlvbihuKXthJiZhKG4pLHQ9MDt2YXIgaT0ocj1uLl9fYykuX19IO2kmJih1PT09cj8oaS5fX2g9W10sci5fX2g9W10saS5fXy5mb3JFYWNoKGZ1bmN0aW9uKG4pe24uX19OJiYobi5fXz1uLl9fTiksbi5fX1Y9YyxuLl9fTj1uLmk9dm9pZCAwfSkpOihpLl9faC5mb3JFYWNoKGspLGkuX19oLmZvckVhY2godyksaS5fX2g9W10sdD0wKSksdT1yfSxuLmRpZmZlZD1mdW5jdGlvbih0KXt2JiZ2KHQpO3ZhciBvPXQuX19jO28mJm8uX19IJiYoby5fX0guX19oLmxlbmd0aCYmKDEhPT1mLnB1c2gobykmJmk9PT1uLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8KChpPW4ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8aikoYikpLG8uX19ILl9fLmZvckVhY2goZnVuY3Rpb24obil7bi5pJiYobi5fX0g9bi5pKSxuLl9fViE9PWMmJihuLl9fPW4uX19WKSxuLmk9dm9pZCAwLG4uX19WPWN9KSksdT1yPW51bGx9LG4uX19jPWZ1bmN0aW9uKHQscil7ci5zb21lKGZ1bmN0aW9uKHQpe3RyeXt0Ll9faC5mb3JFYWNoKGspLHQuX19oPXQuX19oLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hbi5fX3x8dyhuKX0pfWNhdGNoKHUpe3Iuc29tZShmdW5jdGlvbihuKXtuLl9faCYmKG4uX19oPVtdKX0pLHI9W10sbi5fX2UodSx0Ll9fdil9fSksbCYmbCh0LHIpfSxuLnVubW91bnQ9ZnVuY3Rpb24odCl7bSYmbSh0KTt2YXIgcix1PXQuX19jO3UmJnUuX19IJiYodS5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXt0cnl7ayhuKX1jYXRjaChuKXtyPW59fSksdS5fX0g9dm9pZCAwLHImJm4uX19lKHIsdS5fX3YpKX07dmFyIGc9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lO2Z1bmN0aW9uIGoobil7dmFyIHQscj1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh1KSxnJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0KSxzZXRUaW1lb3V0KG4pfSx1PXNldFRpbWVvdXQociwxMDApO2cmJih0PXJlcXVlc3RBbmltYXRpb25GcmFtZShyKSl9ZnVuY3Rpb24gayhuKXt2YXIgdD1yLHU9bi5fX2M7XCJmdW5jdGlvblwiPT10eXBlb2YgdSYmKG4uX19jPXZvaWQgMCx1KCkpLHI9dH1mdW5jdGlvbiB3KG4pe3ZhciB0PXI7bi5fX2M9bi5fXygpLHI9dH1mdW5jdGlvbiB6KG4sdCl7cmV0dXJuIW58fG4ubGVuZ3RoIT09dC5sZW5ndGh8fHQuc29tZShmdW5jdGlvbih0LHIpe3JldHVybiB0IT09bltyXX0pfWZ1bmN0aW9uIEIobix0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Qobik6dH1leHBvcnR7VCBhcyB1c2VDYWxsYmFjayxxIGFzIHVzZUNvbnRleHQseCBhcyB1c2VEZWJ1Z1ZhbHVlLHAgYXMgdXNlRWZmZWN0LFAgYXMgdXNlRXJyb3JCb3VuZGFyeSxWIGFzIHVzZUlkLEEgYXMgdXNlSW1wZXJhdGl2ZUhhbmRsZSx5IGFzIHVzZUxheW91dEVmZmVjdCxGIGFzIHVzZU1lbW8scyBhcyB1c2VSZWR1Y2VyLF8gYXMgdXNlUmVmLGggYXMgdXNlU3RhdGV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3MubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/preact/hooks/dist/hooks.module.js\n")); - -/***/ }), - -/***/ "./node_modules/qs/lib/formats.js": -/*!****************************************!*\ - !*** ./node_modules/qs/lib/formats.js ***! - \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXMvbGliL2Zvcm1hdHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FzL2xpYi9mb3JtYXRzLmpzPzYxNjYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTtcbnZhciBwZXJjZW50VHdlbnRpZXMgPSAvJTIwL2c7XG5cbnZhciBGb3JtYXQgPSB7XG4gICAgUkZDMTczODogJ1JGQzE3MzgnLFxuICAgIFJGQzM5ODY6ICdSRkMzOTg2J1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgJ2RlZmF1bHQnOiBGb3JtYXQuUkZDMzk4NixcbiAgICBmb3JtYXR0ZXJzOiB7XG4gICAgICAgIFJGQzE3Mzg6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcGxhY2UuY2FsbCh2YWx1ZSwgcGVyY2VudFR3ZW50aWVzLCAnKycpO1xuICAgICAgICB9LFxuICAgICAgICBSRkMzOTg2OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBSRkMxNzM4OiBGb3JtYXQuUkZDMTczOCxcbiAgICBSRkMzOTg2OiBGb3JtYXQuUkZDMzk4NlxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qs/lib/formats.js\n")); - -/***/ }), - -/***/ "./node_modules/qs/lib/index.js": -/*!**************************************!*\ - !*** ./node_modules/qs/lib/index.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar stringify = __webpack_require__(/*! ./stringify */ \"./node_modules/qs/lib/stringify.js\");\nvar parse = __webpack_require__(/*! ./parse */ \"./node_modules/qs/lib/parse.js\");\nvar formats = __webpack_require__(/*! ./formats */ \"./node_modules/qs/lib/formats.js\");\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXMvbGliL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLHVEQUFhO0FBQ3JDLFlBQVksbUJBQU8sQ0FBQywrQ0FBUztBQUM3QixjQUFjLG1CQUFPLENBQUMsbURBQVc7O0FBRWpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FzL2xpYi9pbmRleC5qcz9iNjk5Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHN0cmluZ2lmeSA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5Jyk7XG52YXIgcGFyc2UgPSByZXF1aXJlKCcuL3BhcnNlJyk7XG52YXIgZm9ybWF0cyA9IHJlcXVpcmUoJy4vZm9ybWF0cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBmb3JtYXRzOiBmb3JtYXRzLFxuICAgIHBhcnNlOiBwYXJzZSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeVxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qs/lib/index.js\n")); - -/***/ }), - -/***/ "./node_modules/qs/lib/parse.js": -/*!**************************************!*\ - !*** ./node_modules/qs/lib/parse.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/qs/lib/utils.js\");\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXMvbGliL3BhcnNlLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFlBQVksbUJBQU8sQ0FBQywrQ0FBUzs7QUFFN0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLCtCQUErQjs7QUFFeEU7QUFDQSx3Q0FBd0M7O0FBRXhDO0FBQ0EsZ0JBQWdCOztBQUVoQjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCLGtCQUFrQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUNBQW1DLFFBQVE7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcy9saWIvcGFyc2UuanM/ZDVmYSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcblxudmFyIGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG5cbnZhciBkZWZhdWx0cyA9IHtcbiAgICBhbGxvd0RvdHM6IGZhbHNlLFxuICAgIGFsbG93UHJvdG90eXBlczogZmFsc2UsXG4gICAgYWxsb3dTcGFyc2U6IGZhbHNlLFxuICAgIGFycmF5TGltaXQ6IDIwLFxuICAgIGNoYXJzZXQ6ICd1dGYtOCcsXG4gICAgY2hhcnNldFNlbnRpbmVsOiBmYWxzZSxcbiAgICBjb21tYTogZmFsc2UsXG4gICAgZGVjb2RlcjogdXRpbHMuZGVjb2RlLFxuICAgIGRlbGltaXRlcjogJyYnLFxuICAgIGRlcHRoOiA1LFxuICAgIGlnbm9yZVF1ZXJ5UHJlZml4OiBmYWxzZSxcbiAgICBpbnRlcnByZXROdW1lcmljRW50aXRpZXM6IGZhbHNlLFxuICAgIHBhcmFtZXRlckxpbWl0OiAxMDAwLFxuICAgIHBhcnNlQXJyYXlzOiB0cnVlLFxuICAgIHBsYWluT2JqZWN0czogZmFsc2UsXG4gICAgc3RyaWN0TnVsbEhhbmRsaW5nOiBmYWxzZVxufTtcblxudmFyIGludGVycHJldE51bWVyaWNFbnRpdGllcyA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyYjKFxcZCspOy9nLCBmdW5jdGlvbiAoJDAsIG51bWJlclN0cikge1xuICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChudW1iZXJTdHIsIDEwKSk7XG4gICAgfSk7XG59O1xuXG52YXIgcGFyc2VBcnJheVZhbHVlID0gZnVuY3Rpb24gKHZhbCwgb3B0aW9ucykge1xuICAgIGlmICh2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgJiYgb3B0aW9ucy5jb21tYSAmJiB2YWwuaW5kZXhPZignLCcpID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHZhbC5zcGxpdCgnLCcpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWw7XG59O1xuXG4vLyBUaGlzIGlzIHdoYXQgYnJvd3NlcnMgd2lsbCBzdWJtaXQgd2hlbiB0aGUg4pyTIGNoYXJhY3RlciBvY2N1cnMgaW4gYW5cbi8vIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCBib2R5IGFuZCB0aGUgZW5jb2Rpbmcgb2YgdGhlIHBhZ2UgY29udGFpbmluZ1xuLy8gdGhlIGZvcm0gaXMgaXNvLTg4NTktMSwgb3Igd2hlbiB0aGUgc3VibWl0dGVkIGZvcm0gaGFzIGFuIGFjY2VwdC1jaGFyc2V0XG4vLyBhdHRyaWJ1dGUgb2YgaXNvLTg4NTktMS4gUHJlc3VtYWJseSBhbHNvIHdpdGggb3RoZXIgY2hhcnNldHMgdGhhdCBkbyBub3QgY29udGFpblxuLy8gdGhlIOKckyBjaGFyYWN0ZXIsIHN1Y2ggYXMgdXMtYXNjaWkuXG52YXIgaXNvU2VudGluZWwgPSAndXRmOD0lMjYlMjMxMDAwMyUzQic7IC8vIGVuY29kZVVSSUNvbXBvbmVudCgnJiMxMDAwMzsnKVxuXG4vLyBUaGVzZSBhcmUgdGhlIHBlcmNlbnQtZW5jb2RlZCB1dGYtOCBvY3RldHMgcmVwcmVzZW50aW5nIGEgY2hlY2ttYXJrLCBpbmRpY2F0aW5nIHRoYXQgdGhlIHJlcXVlc3QgYWN0dWFsbHkgaXMgdXRmLTggZW5jb2RlZC5cbnZhciBjaGFyc2V0U2VudGluZWwgPSAndXRmOD0lRTIlOUMlOTMnOyAvLyBlbmNvZGVVUklDb21wb25lbnQoJ+KckycpXG5cbnZhciBwYXJzZVZhbHVlcyA9IGZ1bmN0aW9uIHBhcnNlUXVlcnlTdHJpbmdWYWx1ZXMoc3RyLCBvcHRpb25zKSB7XG4gICAgdmFyIG9iaiA9IHsgX19wcm90b19fOiBudWxsIH07XG5cbiAgICB2YXIgY2xlYW5TdHIgPSBvcHRpb25zLmlnbm9yZVF1ZXJ5UHJlZml4ID8gc3RyLnJlcGxhY2UoL15cXD8vLCAnJykgOiBzdHI7XG4gICAgdmFyIGxpbWl0ID0gb3B0aW9ucy5wYXJhbWV0ZXJMaW1pdCA9PT0gSW5maW5pdHkgPyB1bmRlZmluZWQgOiBvcHRpb25zLnBhcmFtZXRlckxpbWl0O1xuICAgIHZhciBwYXJ0cyA9IGNsZWFuU3RyLnNwbGl0KG9wdGlvbnMuZGVsaW1pdGVyLCBsaW1pdCk7XG4gICAgdmFyIHNraXBJbmRleCA9IC0xOyAvLyBLZWVwIHRyYWNrIG9mIHdoZXJlIHRoZSB1dGY4IHNlbnRpbmVsIHdhcyBmb3VuZFxuICAgIHZhciBpO1xuXG4gICAgdmFyIGNoYXJzZXQgPSBvcHRpb25zLmNoYXJzZXQ7XG4gICAgaWYgKG9wdGlvbnMuY2hhcnNldFNlbnRpbmVsKSB7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgaWYgKHBhcnRzW2ldLmluZGV4T2YoJ3V0Zjg9JykgPT09IDApIHtcbiAgICAgICAgICAgICAgICBpZiAocGFydHNbaV0gPT09IGNoYXJzZXRTZW50aW5lbCkge1xuICAgICAgICAgICAgICAgICAgICBjaGFyc2V0ID0gJ3V0Zi04JztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcnRzW2ldID09PSBpc29TZW50aW5lbCkge1xuICAgICAgICAgICAgICAgICAgICBjaGFyc2V0ID0gJ2lzby04ODU5LTEnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBza2lwSW5kZXggPSBpO1xuICAgICAgICAgICAgICAgIGkgPSBwYXJ0cy5sZW5ndGg7IC8vIFRoZSBlc2xpbnQgc2V0dGluZ3MgZG8gbm90IGFsbG93IGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGlmIChpID09PSBza2lwSW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwYXJ0ID0gcGFydHNbaV07XG5cbiAgICAgICAgdmFyIGJyYWNrZXRFcXVhbHNQb3MgPSBwYXJ0LmluZGV4T2YoJ109Jyk7XG4gICAgICAgIHZhciBwb3MgPSBicmFja2V0RXF1YWxzUG9zID09PSAtMSA/IHBhcnQuaW5kZXhPZignPScpIDogYnJhY2tldEVxdWFsc1BvcyArIDE7XG5cbiAgICAgICAgdmFyIGtleSwgdmFsO1xuICAgICAgICBpZiAocG9zID09PSAtMSkge1xuICAgICAgICAgICAga2V5ID0gb3B0aW9ucy5kZWNvZGVyKHBhcnQsIGRlZmF1bHRzLmRlY29kZXIsIGNoYXJzZXQsICdrZXknKTtcbiAgICAgICAgICAgIHZhbCA9IG9wdGlvbnMuc3RyaWN0TnVsbEhhbmRsaW5nID8gbnVsbCA6ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAga2V5ID0gb3B0aW9ucy5kZWNvZGVyKHBhcnQuc2xpY2UoMCwgcG9zKSwgZGVmYXVsdHMuZGVjb2RlciwgY2hhcnNldCwgJ2tleScpO1xuICAgICAgICAgICAgdmFsID0gdXRpbHMubWF5YmVNYXAoXG4gICAgICAgICAgICAgICAgcGFyc2VBcnJheVZhbHVlKHBhcnQuc2xpY2UocG9zICsgMSksIG9wdGlvbnMpLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChlbmNvZGVkVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmRlY29kZXIoZW5jb2RlZFZhbCwgZGVmYXVsdHMuZGVjb2RlciwgY2hhcnNldCwgJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWwgJiYgb3B0aW9ucy5pbnRlcnByZXROdW1lcmljRW50aXRpZXMgJiYgY2hhcnNldCA9PT0gJ2lzby04ODU5LTEnKSB7XG4gICAgICAgICAgICB2YWwgPSBpbnRlcnByZXROdW1lcmljRW50aXRpZXModmFsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJ0LmluZGV4T2YoJ1tdPScpID4gLTEpIHtcbiAgICAgICAgICAgIHZhbCA9IGlzQXJyYXkodmFsKSA/IFt2YWxdIDogdmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhcy5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgb2JqW2tleV0gPSB1dGlscy5jb21iaW5lKG9ialtrZXldLCB2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2JqW2tleV0gPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb2JqO1xufTtcblxudmFyIHBhcnNlT2JqZWN0ID0gZnVuY3Rpb24gKGNoYWluLCB2YWwsIG9wdGlvbnMsIHZhbHVlc1BhcnNlZCkge1xuICAgIHZhciBsZWFmID0gdmFsdWVzUGFyc2VkID8gdmFsIDogcGFyc2VBcnJheVZhbHVlKHZhbCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKHZhciBpID0gY2hhaW4ubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIG9iajtcbiAgICAgICAgdmFyIHJvb3QgPSBjaGFpbltpXTtcblxuICAgICAgICBpZiAocm9vdCA9PT0gJ1tdJyAmJiBvcHRpb25zLnBhcnNlQXJyYXlzKSB7XG4gICAgICAgICAgICBvYmogPSBbXS5jb25jYXQobGVhZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmogPSBvcHRpb25zLnBsYWluT2JqZWN0cyA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB7fTtcbiAgICAgICAgICAgIHZhciBjbGVhblJvb3QgPSByb290LmNoYXJBdCgwKSA9PT0gJ1snICYmIHJvb3QuY2hhckF0KHJvb3QubGVuZ3RoIC0gMSkgPT09ICddJyA/IHJvb3Quc2xpY2UoMSwgLTEpIDogcm9vdDtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IHBhcnNlSW50KGNsZWFuUm9vdCwgMTApO1xuICAgICAgICAgICAgaWYgKCFvcHRpb25zLnBhcnNlQXJyYXlzICYmIGNsZWFuUm9vdCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBvYmogPSB7IDA6IGxlYWYgfTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgIWlzTmFOKGluZGV4KVxuICAgICAgICAgICAgICAgICYmIHJvb3QgIT09IGNsZWFuUm9vdFxuICAgICAgICAgICAgICAgICYmIFN0cmluZyhpbmRleCkgPT09IGNsZWFuUm9vdFxuICAgICAgICAgICAgICAgICYmIGluZGV4ID49IDBcbiAgICAgICAgICAgICAgICAmJiAob3B0aW9ucy5wYXJzZUFycmF5cyAmJiBpbmRleCA8PSBvcHRpb25zLmFycmF5TGltaXQpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBvYmogPSBbXTtcbiAgICAgICAgICAgICAgICBvYmpbaW5kZXhdID0gbGVhZjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2xlYW5Sb290ICE9PSAnX19wcm90b19fJykge1xuICAgICAgICAgICAgICAgIG9ialtjbGVhblJvb3RdID0gbGVhZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxlYWYgPSBvYmo7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxlYWY7XG59O1xuXG52YXIgcGFyc2VLZXlzID0gZnVuY3Rpb24gcGFyc2VRdWVyeVN0cmluZ0tleXMoZ2l2ZW5LZXksIHZhbCwgb3B0aW9ucywgdmFsdWVzUGFyc2VkKSB7XG4gICAgaWYgKCFnaXZlbktleSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVHJhbnNmb3JtIGRvdCBub3RhdGlvbiB0byBicmFja2V0IG5vdGF0aW9uXG4gICAgdmFyIGtleSA9IG9wdGlvbnMuYWxsb3dEb3RzID8gZ2l2ZW5LZXkucmVwbGFjZSgvXFwuKFteLltdKykvZywgJ1skMV0nKSA6IGdpdmVuS2V5O1xuXG4gICAgLy8gVGhlIHJlZ2V4IGNodW5rc1xuXG4gICAgdmFyIGJyYWNrZXRzID0gLyhcXFtbXltcXF1dKl0pLztcbiAgICB2YXIgY2hpbGQgPSAvKFxcW1teW1xcXV0qXSkvZztcblxuICAgIC8vIEdldCB0aGUgcGFyZW50XG5cbiAgICB2YXIgc2VnbWVudCA9IG9wdGlvbnMuZGVwdGggPiAwICYmIGJyYWNrZXRzLmV4ZWMoa2V5KTtcbiAgICB2YXIgcGFyZW50ID0gc2VnbWVudCA/IGtleS5zbGljZSgwLCBzZWdtZW50LmluZGV4KSA6IGtleTtcblxuICAgIC8vIFN0YXNoIHRoZSBwYXJlbnQgaWYgaXQgZXhpc3RzXG5cbiAgICB2YXIga2V5cyA9IFtdO1xuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgLy8gSWYgd2UgYXJlbid0IHVzaW5nIHBsYWluIG9iamVjdHMsIG9wdGlvbmFsbHkgcHJlZml4IGtleXMgdGhhdCB3b3VsZCBvdmVyd3JpdGUgb2JqZWN0IHByb3RvdHlwZSBwcm9wZXJ0aWVzXG4gICAgICAgIGlmICghb3B0aW9ucy5wbGFpbk9iamVjdHMgJiYgaGFzLmNhbGwoT2JqZWN0LnByb3RvdHlwZSwgcGFyZW50KSkge1xuICAgICAgICAgICAgaWYgKCFvcHRpb25zLmFsbG93UHJvdG90eXBlcykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGtleXMucHVzaChwYXJlbnQpO1xuICAgIH1cblxuICAgIC8vIExvb3AgdGhyb3VnaCBjaGlsZHJlbiBhcHBlbmRpbmcgdG8gdGhlIGFycmF5IHVudGlsIHdlIGhpdCBkZXB0aFxuXG4gICAgdmFyIGkgPSAwO1xuICAgIHdoaWxlIChvcHRpb25zLmRlcHRoID4gMCAmJiAoc2VnbWVudCA9IGNoaWxkLmV4ZWMoa2V5KSkgIT09IG51bGwgJiYgaSA8IG9wdGlvbnMuZGVwdGgpIHtcbiAgICAgICAgaSArPSAxO1xuICAgICAgICBpZiAoIW9wdGlvbnMucGxhaW5PYmplY3RzICYmIGhhcy5jYWxsKE9iamVjdC5wcm90b3R5cGUsIHNlZ21lbnRbMV0uc2xpY2UoMSwgLTEpKSkge1xuICAgICAgICAgICAgaWYgKCFvcHRpb25zLmFsbG93UHJvdG90eXBlcykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBrZXlzLnB1c2goc2VnbWVudFsxXSk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUncyBhIHJlbWFpbmRlciwganVzdCBhZGQgd2hhdGV2ZXIgaXMgbGVmdFxuXG4gICAgaWYgKHNlZ21lbnQpIHtcbiAgICAgICAga2V5cy5wdXNoKCdbJyArIGtleS5zbGljZShzZWdtZW50LmluZGV4KSArICddJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlT2JqZWN0KGtleXMsIHZhbCwgb3B0aW9ucywgdmFsdWVzUGFyc2VkKTtcbn07XG5cbnZhciBub3JtYWxpemVQYXJzZU9wdGlvbnMgPSBmdW5jdGlvbiBub3JtYWxpemVQYXJzZU9wdGlvbnMob3B0cykge1xuICAgIGlmICghb3B0cykge1xuICAgICAgICByZXR1cm4gZGVmYXVsdHM7XG4gICAgfVxuXG4gICAgaWYgKG9wdHMuZGVjb2RlciAhPT0gbnVsbCAmJiBvcHRzLmRlY29kZXIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb3B0cy5kZWNvZGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0RlY29kZXIgaGFzIHRvIGJlIGEgZnVuY3Rpb24uJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvcHRzLmNoYXJzZXQgIT09ICd1bmRlZmluZWQnICYmIG9wdHMuY2hhcnNldCAhPT0gJ3V0Zi04JyAmJiBvcHRzLmNoYXJzZXQgIT09ICdpc28tODg1OS0xJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgY2hhcnNldCBvcHRpb24gbXVzdCBiZSBlaXRoZXIgdXRmLTgsIGlzby04ODU5LTEsIG9yIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICB2YXIgY2hhcnNldCA9IHR5cGVvZiBvcHRzLmNoYXJzZXQgPT09ICd1bmRlZmluZWQnID8gZGVmYXVsdHMuY2hhcnNldCA6IG9wdHMuY2hhcnNldDtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGFsbG93RG90czogdHlwZW9mIG9wdHMuYWxsb3dEb3RzID09PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRzLmFsbG93RG90cyA6ICEhb3B0cy5hbGxvd0RvdHMsXG4gICAgICAgIGFsbG93UHJvdG90eXBlczogdHlwZW9mIG9wdHMuYWxsb3dQcm90b3R5cGVzID09PSAnYm9vbGVhbicgPyBvcHRzLmFsbG93UHJvdG90eXBlcyA6IGRlZmF1bHRzLmFsbG93UHJvdG90eXBlcyxcbiAgICAgICAgYWxsb3dTcGFyc2U6IHR5cGVvZiBvcHRzLmFsbG93U3BhcnNlID09PSAnYm9vbGVhbicgPyBvcHRzLmFsbG93U3BhcnNlIDogZGVmYXVsdHMuYWxsb3dTcGFyc2UsXG4gICAgICAgIGFycmF5TGltaXQ6IHR5cGVvZiBvcHRzLmFycmF5TGltaXQgPT09ICdudW1iZXInID8gb3B0cy5hcnJheUxpbWl0IDogZGVmYXVsdHMuYXJyYXlMaW1pdCxcbiAgICAgICAgY2hhcnNldDogY2hhcnNldCxcbiAgICAgICAgY2hhcnNldFNlbnRpbmVsOiB0eXBlb2Ygb3B0cy5jaGFyc2V0U2VudGluZWwgPT09ICdib29sZWFuJyA/IG9wdHMuY2hhcnNldFNlbnRpbmVsIDogZGVmYXVsdHMuY2hhcnNldFNlbnRpbmVsLFxuICAgICAgICBjb21tYTogdHlwZW9mIG9wdHMuY29tbWEgPT09ICdib29sZWFuJyA/IG9wdHMuY29tbWEgOiBkZWZhdWx0cy5jb21tYSxcbiAgICAgICAgZGVjb2RlcjogdHlwZW9mIG9wdHMuZGVjb2RlciA9PT0gJ2Z1bmN0aW9uJyA/IG9wdHMuZGVjb2RlciA6IGRlZmF1bHRzLmRlY29kZXIsXG4gICAgICAgIGRlbGltaXRlcjogdHlwZW9mIG9wdHMuZGVsaW1pdGVyID09PSAnc3RyaW5nJyB8fCB1dGlscy5pc1JlZ0V4cChvcHRzLmRlbGltaXRlcikgPyBvcHRzLmRlbGltaXRlciA6IGRlZmF1bHRzLmRlbGltaXRlcixcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWltcGxpY2l0LWNvZXJjaW9uLCBuby1leHRyYS1wYXJlbnNcbiAgICAgICAgZGVwdGg6ICh0eXBlb2Ygb3B0cy5kZXB0aCA9PT0gJ251bWJlcicgfHwgb3B0cy5kZXB0aCA9PT0gZmFsc2UpID8gK29wdHMuZGVwdGggOiBkZWZhdWx0cy5kZXB0aCxcbiAgICAgICAgaWdub3JlUXVlcnlQcmVmaXg6IG9wdHMuaWdub3JlUXVlcnlQcmVmaXggPT09IHRydWUsXG4gICAgICAgIGludGVycHJldE51bWVyaWNFbnRpdGllczogdHlwZW9mIG9wdHMuaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzID09PSAnYm9vbGVhbicgPyBvcHRzLmludGVycHJldE51bWVyaWNFbnRpdGllcyA6IGRlZmF1bHRzLmludGVycHJldE51bWVyaWNFbnRpdGllcyxcbiAgICAgICAgcGFyYW1ldGVyTGltaXQ6IHR5cGVvZiBvcHRzLnBhcmFtZXRlckxpbWl0ID09PSAnbnVtYmVyJyA/IG9wdHMucGFyYW1ldGVyTGltaXQgOiBkZWZhdWx0cy5wYXJhbWV0ZXJMaW1pdCxcbiAgICAgICAgcGFyc2VBcnJheXM6IG9wdHMucGFyc2VBcnJheXMgIT09IGZhbHNlLFxuICAgICAgICBwbGFpbk9iamVjdHM6IHR5cGVvZiBvcHRzLnBsYWluT2JqZWN0cyA9PT0gJ2Jvb2xlYW4nID8gb3B0cy5wbGFpbk9iamVjdHMgOiBkZWZhdWx0cy5wbGFpbk9iamVjdHMsXG4gICAgICAgIHN0cmljdE51bGxIYW5kbGluZzogdHlwZW9mIG9wdHMuc3RyaWN0TnVsbEhhbmRsaW5nID09PSAnYm9vbGVhbicgPyBvcHRzLnN0cmljdE51bGxIYW5kbGluZyA6IGRlZmF1bHRzLnN0cmljdE51bGxIYW5kbGluZ1xuICAgIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChzdHIsIG9wdHMpIHtcbiAgICB2YXIgb3B0aW9ucyA9IG5vcm1hbGl6ZVBhcnNlT3B0aW9ucyhvcHRzKTtcblxuICAgIGlmIChzdHIgPT09ICcnIHx8IHN0ciA9PT0gbnVsbCB8fCB0eXBlb2Ygc3RyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5wbGFpbk9iamVjdHMgPyBPYmplY3QuY3JlYXRlKG51bGwpIDoge307XG4gICAgfVxuXG4gICAgdmFyIHRlbXBPYmogPSB0eXBlb2Ygc3RyID09PSAnc3RyaW5nJyA/IHBhcnNlVmFsdWVzKHN0ciwgb3B0aW9ucykgOiBzdHI7XG4gICAgdmFyIG9iaiA9IG9wdGlvbnMucGxhaW5PYmplY3RzID8gT2JqZWN0LmNyZWF0ZShudWxsKSA6IHt9O1xuXG4gICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBrZXlzIGFuZCBzZXR1cCB0aGUgbmV3IG9iamVjdFxuXG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh0ZW1wT2JqKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgIHZhciBuZXdPYmogPSBwYXJzZUtleXMoa2V5LCB0ZW1wT2JqW2tleV0sIG9wdGlvbnMsIHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnKTtcbiAgICAgICAgb2JqID0gdXRpbHMubWVyZ2Uob2JqLCBuZXdPYmosIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmFsbG93U3BhcnNlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgcmV0dXJuIHV0aWxzLmNvbXBhY3Qob2JqKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qs/lib/parse.js\n")); - -/***/ }), - -/***/ "./node_modules/qs/lib/stringify.js": -/*!******************************************!*\ - !*** ./node_modules/qs/lib/stringify.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar getSideChannel = __webpack_require__(/*! side-channel */ \"./node_modules/side-channel/index.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/qs/lib/utils.js\");\nvar formats = __webpack_require__(/*! ./formats */ \"./node_modules/qs/lib/formats.js\");\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXMvbGliL3N0cmluZ2lmeS5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQywwREFBYztBQUMzQyxZQUFZLG1CQUFPLENBQUMsK0NBQVM7QUFDN0IsY0FBYyxtQkFBTyxDQUFDLG1EQUFXO0FBQ2pDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGdFQUFnRTtBQUNyRixNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBOztBQUVBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9CQUFvQixvQkFBb0I7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FzL2xpYi9zdHJpbmdpZnkuanM/NzFlOSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBnZXRTaWRlQ2hhbm5lbCA9IHJlcXVpcmUoJ3NpZGUtY2hhbm5lbCcpO1xudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIGZvcm1hdHMgPSByZXF1aXJlKCcuL2Zvcm1hdHMnKTtcbnZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXJyYXlQcmVmaXhHZW5lcmF0b3JzID0ge1xuICAgIGJyYWNrZXRzOiBmdW5jdGlvbiBicmFja2V0cyhwcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArICdbXSc7XG4gICAgfSxcbiAgICBjb21tYTogJ2NvbW1hJyxcbiAgICBpbmRpY2VzOiBmdW5jdGlvbiBpbmRpY2VzKHByZWZpeCwga2V5KSB7XG4gICAgICAgIHJldHVybiBwcmVmaXggKyAnWycgKyBrZXkgKyAnXSc7XG4gICAgfSxcbiAgICByZXBlYXQ6IGZ1bmN0aW9uIHJlcGVhdChwcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHByZWZpeDtcbiAgICB9XG59O1xuXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG52YXIgcHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoO1xudmFyIHB1c2hUb0FycmF5ID0gZnVuY3Rpb24gKGFyciwgdmFsdWVPckFycmF5KSB7XG4gICAgcHVzaC5hcHBseShhcnIsIGlzQXJyYXkodmFsdWVPckFycmF5KSA/IHZhbHVlT3JBcnJheSA6IFt2YWx1ZU9yQXJyYXldKTtcbn07XG5cbnZhciB0b0lTTyA9IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nO1xuXG52YXIgZGVmYXVsdEZvcm1hdCA9IGZvcm1hdHNbJ2RlZmF1bHQnXTtcbnZhciBkZWZhdWx0cyA9IHtcbiAgICBhZGRRdWVyeVByZWZpeDogZmFsc2UsXG4gICAgYWxsb3dEb3RzOiBmYWxzZSxcbiAgICBjaGFyc2V0OiAndXRmLTgnLFxuICAgIGNoYXJzZXRTZW50aW5lbDogZmFsc2UsXG4gICAgZGVsaW1pdGVyOiAnJicsXG4gICAgZW5jb2RlOiB0cnVlLFxuICAgIGVuY29kZXI6IHV0aWxzLmVuY29kZSxcbiAgICBlbmNvZGVWYWx1ZXNPbmx5OiBmYWxzZSxcbiAgICBmb3JtYXQ6IGRlZmF1bHRGb3JtYXQsXG4gICAgZm9ybWF0dGVyOiBmb3JtYXRzLmZvcm1hdHRlcnNbZGVmYXVsdEZvcm1hdF0sXG4gICAgLy8gZGVwcmVjYXRlZFxuICAgIGluZGljZXM6IGZhbHNlLFxuICAgIHNlcmlhbGl6ZURhdGU6IGZ1bmN0aW9uIHNlcmlhbGl6ZURhdGUoZGF0ZSkge1xuICAgICAgICByZXR1cm4gdG9JU08uY2FsbChkYXRlKTtcbiAgICB9LFxuICAgIHNraXBOdWxsczogZmFsc2UsXG4gICAgc3RyaWN0TnVsbEhhbmRsaW5nOiBmYWxzZVxufTtcblxudmFyIGlzTm9uTnVsbGlzaFByaW1pdGl2ZSA9IGZ1bmN0aW9uIGlzTm9uTnVsbGlzaFByaW1pdGl2ZSh2KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSAnc3RyaW5nJ1xuICAgICAgICB8fCB0eXBlb2YgdiA9PT0gJ251bWJlcidcbiAgICAgICAgfHwgdHlwZW9mIHYgPT09ICdib29sZWFuJ1xuICAgICAgICB8fCB0eXBlb2YgdiA9PT0gJ3N5bWJvbCdcbiAgICAgICAgfHwgdHlwZW9mIHYgPT09ICdiaWdpbnQnO1xufTtcblxudmFyIHNlbnRpbmVsID0ge307XG5cbnZhciBzdHJpbmdpZnkgPSBmdW5jdGlvbiBzdHJpbmdpZnkoXG4gICAgb2JqZWN0LFxuICAgIHByZWZpeCxcbiAgICBnZW5lcmF0ZUFycmF5UHJlZml4LFxuICAgIGNvbW1hUm91bmRUcmlwLFxuICAgIHN0cmljdE51bGxIYW5kbGluZyxcbiAgICBza2lwTnVsbHMsXG4gICAgZW5jb2RlcixcbiAgICBmaWx0ZXIsXG4gICAgc29ydCxcbiAgICBhbGxvd0RvdHMsXG4gICAgc2VyaWFsaXplRGF0ZSxcbiAgICBmb3JtYXQsXG4gICAgZm9ybWF0dGVyLFxuICAgIGVuY29kZVZhbHVlc09ubHksXG4gICAgY2hhcnNldCxcbiAgICBzaWRlQ2hhbm5lbFxuKSB7XG4gICAgdmFyIG9iaiA9IG9iamVjdDtcblxuICAgIHZhciB0bXBTYyA9IHNpZGVDaGFubmVsO1xuICAgIHZhciBzdGVwID0gMDtcbiAgICB2YXIgZmluZEZsYWcgPSBmYWxzZTtcbiAgICB3aGlsZSAoKHRtcFNjID0gdG1wU2MuZ2V0KHNlbnRpbmVsKSkgIT09IHZvaWQgdW5kZWZpbmVkICYmICFmaW5kRmxhZykge1xuICAgICAgICAvLyBXaGVyZSBvYmplY3QgbGFzdCBhcHBlYXJlZCBpbiB0aGUgcmVmIHRyZWVcbiAgICAgICAgdmFyIHBvcyA9IHRtcFNjLmdldChvYmplY3QpO1xuICAgICAgICBzdGVwICs9IDE7XG4gICAgICAgIGlmICh0eXBlb2YgcG9zICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKHBvcyA9PT0gc3RlcCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdDeWNsaWMgb2JqZWN0IHZhbHVlJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpbmRGbGFnID0gdHJ1ZTsgLy8gQnJlYWsgd2hpbGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRtcFNjLmdldChzZW50aW5lbCkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBzdGVwID0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZmlsdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9iaiA9IGZpbHRlcihwcmVmaXgsIG9iaik7XG4gICAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIG9iaiA9IHNlcmlhbGl6ZURhdGUob2JqKTtcbiAgICB9IGVsc2UgaWYgKGdlbmVyYXRlQXJyYXlQcmVmaXggPT09ICdjb21tYScgJiYgaXNBcnJheShvYmopKSB7XG4gICAgICAgIG9iaiA9IHV0aWxzLm1heWJlTWFwKG9iaiwgZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZURhdGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob2JqID09PSBudWxsKSB7XG4gICAgICAgIGlmIChzdHJpY3ROdWxsSGFuZGxpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBlbmNvZGVyICYmICFlbmNvZGVWYWx1ZXNPbmx5ID8gZW5jb2RlcihwcmVmaXgsIGRlZmF1bHRzLmVuY29kZXIsIGNoYXJzZXQsICdrZXknLCBmb3JtYXQpIDogcHJlZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgb2JqID0gJyc7XG4gICAgfVxuXG4gICAgaWYgKGlzTm9uTnVsbGlzaFByaW1pdGl2ZShvYmopIHx8IHV0aWxzLmlzQnVmZmVyKG9iaikpIHtcbiAgICAgICAgaWYgKGVuY29kZXIpIHtcbiAgICAgICAgICAgIHZhciBrZXlWYWx1ZSA9IGVuY29kZVZhbHVlc09ubHkgPyBwcmVmaXggOiBlbmNvZGVyKHByZWZpeCwgZGVmYXVsdHMuZW5jb2RlciwgY2hhcnNldCwgJ2tleScsIGZvcm1hdCk7XG4gICAgICAgICAgICByZXR1cm4gW2Zvcm1hdHRlcihrZXlWYWx1ZSkgKyAnPScgKyBmb3JtYXR0ZXIoZW5jb2RlcihvYmosIGRlZmF1bHRzLmVuY29kZXIsIGNoYXJzZXQsICd2YWx1ZScsIGZvcm1hdCkpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2Zvcm1hdHRlcihwcmVmaXgpICsgJz0nICsgZm9ybWF0dGVyKFN0cmluZyhvYmopKV07XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlcyA9IFtdO1xuXG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgfVxuXG4gICAgdmFyIG9iaktleXM7XG4gICAgaWYgKGdlbmVyYXRlQXJyYXlQcmVmaXggPT09ICdjb21tYScgJiYgaXNBcnJheShvYmopKSB7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gam9pbiBlbGVtZW50cyBpblxuICAgICAgICBpZiAoZW5jb2RlVmFsdWVzT25seSAmJiBlbmNvZGVyKSB7XG4gICAgICAgICAgICBvYmogPSB1dGlscy5tYXliZU1hcChvYmosIGVuY29kZXIpO1xuICAgICAgICB9XG4gICAgICAgIG9iaktleXMgPSBbeyB2YWx1ZTogb2JqLmxlbmd0aCA+IDAgPyBvYmouam9pbignLCcpIHx8IG51bGwgOiB2b2lkIHVuZGVmaW5lZCB9XTtcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZmlsdGVyKSkge1xuICAgICAgICBvYmpLZXlzID0gZmlsdGVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgICAgICAgb2JqS2V5cyA9IHNvcnQgPyBrZXlzLnNvcnQoc29ydCkgOiBrZXlzO1xuICAgIH1cblxuICAgIHZhciBhZGp1c3RlZFByZWZpeCA9IGNvbW1hUm91bmRUcmlwICYmIGlzQXJyYXkob2JqKSAmJiBvYmoubGVuZ3RoID09PSAxID8gcHJlZml4ICsgJ1tdJyA6IHByZWZpeDtcblxuICAgIGZvciAodmFyIGogPSAwOyBqIDwgb2JqS2V5cy5sZW5ndGg7ICsraikge1xuICAgICAgICB2YXIga2V5ID0gb2JqS2V5c1tqXTtcbiAgICAgICAgdmFyIHZhbHVlID0gdHlwZW9mIGtleSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIGtleS52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgPyBrZXkudmFsdWUgOiBvYmpba2V5XTtcblxuICAgICAgICBpZiAoc2tpcE51bGxzICYmIHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBrZXlQcmVmaXggPSBpc0FycmF5KG9iailcbiAgICAgICAgICAgID8gdHlwZW9mIGdlbmVyYXRlQXJyYXlQcmVmaXggPT09ICdmdW5jdGlvbicgPyBnZW5lcmF0ZUFycmF5UHJlZml4KGFkanVzdGVkUHJlZml4LCBrZXkpIDogYWRqdXN0ZWRQcmVmaXhcbiAgICAgICAgICAgIDogYWRqdXN0ZWRQcmVmaXggKyAoYWxsb3dEb3RzID8gJy4nICsga2V5IDogJ1snICsga2V5ICsgJ10nKTtcblxuICAgICAgICBzaWRlQ2hhbm5lbC5zZXQob2JqZWN0LCBzdGVwKTtcbiAgICAgICAgdmFyIHZhbHVlU2lkZUNoYW5uZWwgPSBnZXRTaWRlQ2hhbm5lbCgpO1xuICAgICAgICB2YWx1ZVNpZGVDaGFubmVsLnNldChzZW50aW5lbCwgc2lkZUNoYW5uZWwpO1xuICAgICAgICBwdXNoVG9BcnJheSh2YWx1ZXMsIHN0cmluZ2lmeShcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAga2V5UHJlZml4LFxuICAgICAgICAgICAgZ2VuZXJhdGVBcnJheVByZWZpeCxcbiAgICAgICAgICAgIGNvbW1hUm91bmRUcmlwLFxuICAgICAgICAgICAgc3RyaWN0TnVsbEhhbmRsaW5nLFxuICAgICAgICAgICAgc2tpcE51bGxzLFxuICAgICAgICAgICAgZ2VuZXJhdGVBcnJheVByZWZpeCA9PT0gJ2NvbW1hJyAmJiBlbmNvZGVWYWx1ZXNPbmx5ICYmIGlzQXJyYXkob2JqKSA/IG51bGwgOiBlbmNvZGVyLFxuICAgICAgICAgICAgZmlsdGVyLFxuICAgICAgICAgICAgc29ydCxcbiAgICAgICAgICAgIGFsbG93RG90cyxcbiAgICAgICAgICAgIHNlcmlhbGl6ZURhdGUsXG4gICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICBmb3JtYXR0ZXIsXG4gICAgICAgICAgICBlbmNvZGVWYWx1ZXNPbmx5LFxuICAgICAgICAgICAgY2hhcnNldCxcbiAgICAgICAgICAgIHZhbHVlU2lkZUNoYW5uZWxcbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlcztcbn07XG5cbnZhciBub3JtYWxpemVTdHJpbmdpZnlPcHRpb25zID0gZnVuY3Rpb24gbm9ybWFsaXplU3RyaW5naWZ5T3B0aW9ucyhvcHRzKSB7XG4gICAgaWYgKCFvcHRzKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0cztcbiAgICB9XG5cbiAgICBpZiAob3B0cy5lbmNvZGVyICE9PSBudWxsICYmIHR5cGVvZiBvcHRzLmVuY29kZXIgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBvcHRzLmVuY29kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRW5jb2RlciBoYXMgdG8gYmUgYSBmdW5jdGlvbi4nKTtcbiAgICB9XG5cbiAgICB2YXIgY2hhcnNldCA9IG9wdHMuY2hhcnNldCB8fCBkZWZhdWx0cy5jaGFyc2V0O1xuICAgIGlmICh0eXBlb2Ygb3B0cy5jaGFyc2V0ICE9PSAndW5kZWZpbmVkJyAmJiBvcHRzLmNoYXJzZXQgIT09ICd1dGYtOCcgJiYgb3B0cy5jaGFyc2V0ICE9PSAnaXNvLTg4NTktMScpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIGNoYXJzZXQgb3B0aW9uIG11c3QgYmUgZWl0aGVyIHV0Zi04LCBpc28tODg1OS0xLCBvciB1bmRlZmluZWQnKTtcbiAgICB9XG5cbiAgICB2YXIgZm9ybWF0ID0gZm9ybWF0c1snZGVmYXVsdCddO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5mb3JtYXQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlmICghaGFzLmNhbGwoZm9ybWF0cy5mb3JtYXR0ZXJzLCBvcHRzLmZvcm1hdCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZm9ybWF0IG9wdGlvbiBwcm92aWRlZC4nKTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtYXQgPSBvcHRzLmZvcm1hdDtcbiAgICB9XG4gICAgdmFyIGZvcm1hdHRlciA9IGZvcm1hdHMuZm9ybWF0dGVyc1tmb3JtYXRdO1xuXG4gICAgdmFyIGZpbHRlciA9IGRlZmF1bHRzLmZpbHRlcjtcbiAgICBpZiAodHlwZW9mIG9wdHMuZmlsdGVyID09PSAnZnVuY3Rpb24nIHx8IGlzQXJyYXkob3B0cy5maWx0ZXIpKSB7XG4gICAgICAgIGZpbHRlciA9IG9wdHMuZmlsdGVyO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGFkZFF1ZXJ5UHJlZml4OiB0eXBlb2Ygb3B0cy5hZGRRdWVyeVByZWZpeCA9PT0gJ2Jvb2xlYW4nID8gb3B0cy5hZGRRdWVyeVByZWZpeCA6IGRlZmF1bHRzLmFkZFF1ZXJ5UHJlZml4LFxuICAgICAgICBhbGxvd0RvdHM6IHR5cGVvZiBvcHRzLmFsbG93RG90cyA9PT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0cy5hbGxvd0RvdHMgOiAhIW9wdHMuYWxsb3dEb3RzLFxuICAgICAgICBjaGFyc2V0OiBjaGFyc2V0LFxuICAgICAgICBjaGFyc2V0U2VudGluZWw6IHR5cGVvZiBvcHRzLmNoYXJzZXRTZW50aW5lbCA9PT0gJ2Jvb2xlYW4nID8gb3B0cy5jaGFyc2V0U2VudGluZWwgOiBkZWZhdWx0cy5jaGFyc2V0U2VudGluZWwsXG4gICAgICAgIGRlbGltaXRlcjogdHlwZW9mIG9wdHMuZGVsaW1pdGVyID09PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRzLmRlbGltaXRlciA6IG9wdHMuZGVsaW1pdGVyLFxuICAgICAgICBlbmNvZGU6IHR5cGVvZiBvcHRzLmVuY29kZSA9PT0gJ2Jvb2xlYW4nID8gb3B0cy5lbmNvZGUgOiBkZWZhdWx0cy5lbmNvZGUsXG4gICAgICAgIGVuY29kZXI6IHR5cGVvZiBvcHRzLmVuY29kZXIgPT09ICdmdW5jdGlvbicgPyBvcHRzLmVuY29kZXIgOiBkZWZhdWx0cy5lbmNvZGVyLFxuICAgICAgICBlbmNvZGVWYWx1ZXNPbmx5OiB0eXBlb2Ygb3B0cy5lbmNvZGVWYWx1ZXNPbmx5ID09PSAnYm9vbGVhbicgPyBvcHRzLmVuY29kZVZhbHVlc09ubHkgOiBkZWZhdWx0cy5lbmNvZGVWYWx1ZXNPbmx5LFxuICAgICAgICBmaWx0ZXI6IGZpbHRlcixcbiAgICAgICAgZm9ybWF0OiBmb3JtYXQsXG4gICAgICAgIGZvcm1hdHRlcjogZm9ybWF0dGVyLFxuICAgICAgICBzZXJpYWxpemVEYXRlOiB0eXBlb2Ygb3B0cy5zZXJpYWxpemVEYXRlID09PSAnZnVuY3Rpb24nID8gb3B0cy5zZXJpYWxpemVEYXRlIDogZGVmYXVsdHMuc2VyaWFsaXplRGF0ZSxcbiAgICAgICAgc2tpcE51bGxzOiB0eXBlb2Ygb3B0cy5za2lwTnVsbHMgPT09ICdib29sZWFuJyA/IG9wdHMuc2tpcE51bGxzIDogZGVmYXVsdHMuc2tpcE51bGxzLFxuICAgICAgICBzb3J0OiB0eXBlb2Ygb3B0cy5zb3J0ID09PSAnZnVuY3Rpb24nID8gb3B0cy5zb3J0IDogbnVsbCxcbiAgICAgICAgc3RyaWN0TnVsbEhhbmRsaW5nOiB0eXBlb2Ygb3B0cy5zdHJpY3ROdWxsSGFuZGxpbmcgPT09ICdib29sZWFuJyA/IG9wdHMuc3RyaWN0TnVsbEhhbmRsaW5nIDogZGVmYXVsdHMuc3RyaWN0TnVsbEhhbmRsaW5nXG4gICAgfTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgb3B0cykge1xuICAgIHZhciBvYmogPSBvYmplY3Q7XG4gICAgdmFyIG9wdGlvbnMgPSBub3JtYWxpemVTdHJpbmdpZnlPcHRpb25zKG9wdHMpO1xuXG4gICAgdmFyIG9iaktleXM7XG4gICAgdmFyIGZpbHRlcjtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5maWx0ZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZmlsdGVyID0gb3B0aW9ucy5maWx0ZXI7XG4gICAgICAgIG9iaiA9IGZpbHRlcignJywgb2JqKTtcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkob3B0aW9ucy5maWx0ZXIpKSB7XG4gICAgICAgIGZpbHRlciA9IG9wdGlvbnMuZmlsdGVyO1xuICAgICAgICBvYmpLZXlzID0gZmlsdGVyO1xuICAgIH1cblxuICAgIHZhciBrZXlzID0gW107XG5cbiAgICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICB2YXIgYXJyYXlGb3JtYXQ7XG4gICAgaWYgKG9wdHMgJiYgb3B0cy5hcnJheUZvcm1hdCBpbiBhcnJheVByZWZpeEdlbmVyYXRvcnMpIHtcbiAgICAgICAgYXJyYXlGb3JtYXQgPSBvcHRzLmFycmF5Rm9ybWF0O1xuICAgIH0gZWxzZSBpZiAob3B0cyAmJiAnaW5kaWNlcycgaW4gb3B0cykge1xuICAgICAgICBhcnJheUZvcm1hdCA9IG9wdHMuaW5kaWNlcyA/ICdpbmRpY2VzJyA6ICdyZXBlYXQnO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGFycmF5Rm9ybWF0ID0gJ2luZGljZXMnO1xuICAgIH1cblxuICAgIHZhciBnZW5lcmF0ZUFycmF5UHJlZml4ID0gYXJyYXlQcmVmaXhHZW5lcmF0b3JzW2FycmF5Rm9ybWF0XTtcbiAgICBpZiAob3B0cyAmJiAnY29tbWFSb3VuZFRyaXAnIGluIG9wdHMgJiYgdHlwZW9mIG9wdHMuY29tbWFSb3VuZFRyaXAgIT09ICdib29sZWFuJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdgY29tbWFSb3VuZFRyaXBgIG11c3QgYmUgYSBib29sZWFuLCBvciBhYnNlbnQnKTtcbiAgICB9XG4gICAgdmFyIGNvbW1hUm91bmRUcmlwID0gZ2VuZXJhdGVBcnJheVByZWZpeCA9PT0gJ2NvbW1hJyAmJiBvcHRzICYmIG9wdHMuY29tbWFSb3VuZFRyaXA7XG5cbiAgICBpZiAoIW9iaktleXMpIHtcbiAgICAgICAgb2JqS2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc29ydCkge1xuICAgICAgICBvYmpLZXlzLnNvcnQob3B0aW9ucy5zb3J0KTtcbiAgICB9XG5cbiAgICB2YXIgc2lkZUNoYW5uZWwgPSBnZXRTaWRlQ2hhbm5lbCgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqS2V5cy5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIga2V5ID0gb2JqS2V5c1tpXTtcblxuICAgICAgICBpZiAob3B0aW9ucy5za2lwTnVsbHMgJiYgb2JqW2tleV0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHB1c2hUb0FycmF5KGtleXMsIHN0cmluZ2lmeShcbiAgICAgICAgICAgIG9ialtrZXldLFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgZ2VuZXJhdGVBcnJheVByZWZpeCxcbiAgICAgICAgICAgIGNvbW1hUm91bmRUcmlwLFxuICAgICAgICAgICAgb3B0aW9ucy5zdHJpY3ROdWxsSGFuZGxpbmcsXG4gICAgICAgICAgICBvcHRpb25zLnNraXBOdWxscyxcbiAgICAgICAgICAgIG9wdGlvbnMuZW5jb2RlID8gb3B0aW9ucy5lbmNvZGVyIDogbnVsbCxcbiAgICAgICAgICAgIG9wdGlvbnMuZmlsdGVyLFxuICAgICAgICAgICAgb3B0aW9ucy5zb3J0LFxuICAgICAgICAgICAgb3B0aW9ucy5hbGxvd0RvdHMsXG4gICAgICAgICAgICBvcHRpb25zLnNlcmlhbGl6ZURhdGUsXG4gICAgICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgICAgICAgIG9wdGlvbnMuZm9ybWF0dGVyLFxuICAgICAgICAgICAgb3B0aW9ucy5lbmNvZGVWYWx1ZXNPbmx5LFxuICAgICAgICAgICAgb3B0aW9ucy5jaGFyc2V0LFxuICAgICAgICAgICAgc2lkZUNoYW5uZWxcbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgdmFyIGpvaW5lZCA9IGtleXMuam9pbihvcHRpb25zLmRlbGltaXRlcik7XG4gICAgdmFyIHByZWZpeCA9IG9wdGlvbnMuYWRkUXVlcnlQcmVmaXggPT09IHRydWUgPyAnPycgOiAnJztcblxuICAgIGlmIChvcHRpb25zLmNoYXJzZXRTZW50aW5lbCkge1xuICAgICAgICBpZiAob3B0aW9ucy5jaGFyc2V0ID09PSAnaXNvLTg4NTktMScpIHtcbiAgICAgICAgICAgIC8vIGVuY29kZVVSSUNvbXBvbmVudCgnJiMxMDAwMzsnKSwgdGhlIFwibnVtZXJpYyBlbnRpdHlcIiByZXByZXNlbnRhdGlvbiBvZiBhIGNoZWNrbWFya1xuICAgICAgICAgICAgcHJlZml4ICs9ICd1dGY4PSUyNiUyMzEwMDAzJTNCJic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBlbmNvZGVVUklDb21wb25lbnQoJ+KckycpXG4gICAgICAgICAgICBwcmVmaXggKz0gJ3V0Zjg9JUUyJTlDJTkzJic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gam9pbmVkLmxlbmd0aCA+IDAgPyBwcmVmaXggKyBqb2luZWQgOiAnJztcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qs/lib/stringify.js\n")); - -/***/ }), - -/***/ "./node_modules/qs/lib/utils.js": -/*!**************************************!*\ - !*** ./node_modules/qs/lib/utils.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar formats = __webpack_require__(/*! ./formats */ \"./node_modules/qs/lib/formats.js\");\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXMvbGliL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyxtREFBVzs7QUFFakM7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0JBQW9CLFNBQVM7QUFDN0I7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw0QkFBNEIsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsRUFBRTtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0Esa0RBQWtELEVBQUU7QUFDcEQ7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixPQUFPLFVBQVUsYUFBYTtBQUNqRDs7QUFFQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixxQkFBcUI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdCQUFnQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcy9saWIvdXRpbHMuanM/NWJlMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBmb3JtYXRzID0gcmVxdWlyZSgnLi9mb3JtYXRzJyk7XG5cbnZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuXG52YXIgaGV4VGFibGUgPSAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBhcnJheSA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcbiAgICAgICAgYXJyYXkucHVzaCgnJScgKyAoKGkgPCAxNiA/ICcwJyA6ICcnKSArIGkudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJyYXk7XG59KCkpO1xuXG52YXIgY29tcGFjdFF1ZXVlID0gZnVuY3Rpb24gY29tcGFjdFF1ZXVlKHF1ZXVlKSB7XG4gICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdmFyIGl0ZW0gPSBxdWV1ZS5wb3AoKTtcbiAgICAgICAgdmFyIG9iaiA9IGl0ZW0ub2JqW2l0ZW0ucHJvcF07XG5cbiAgICAgICAgaWYgKGlzQXJyYXkob2JqKSkge1xuICAgICAgICAgICAgdmFyIGNvbXBhY3RlZCA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG9iai5sZW5ndGg7ICsraikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqW2pdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wYWN0ZWQucHVzaChvYmpbal0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaXRlbS5vYmpbaXRlbS5wcm9wXSA9IGNvbXBhY3RlZDtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbnZhciBhcnJheVRvT2JqZWN0ID0gZnVuY3Rpb24gYXJyYXlUb09iamVjdChzb3VyY2UsIG9wdGlvbnMpIHtcbiAgICB2YXIgb2JqID0gb3B0aW9ucyAmJiBvcHRpb25zLnBsYWluT2JqZWN0cyA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB7fTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJjZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBpZiAodHlwZW9mIHNvdXJjZVtpXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIG9ialtpXSA9IHNvdXJjZVtpXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvYmo7XG59O1xuXG52YXIgbWVyZ2UgPSBmdW5jdGlvbiBtZXJnZSh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuICAgIC8qIGVzbGludCBuby1wYXJhbS1yZWFzc2lnbjogMCAqL1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmIChpc0FycmF5KHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5wdXNoKHNvdXJjZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFyZ2V0ICYmIHR5cGVvZiB0YXJnZXQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBpZiAoKG9wdGlvbnMgJiYgKG9wdGlvbnMucGxhaW5PYmplY3RzIHx8IG9wdGlvbnMuYWxsb3dQcm90b3R5cGVzKSkgfHwgIWhhcy5jYWxsKE9iamVjdC5wcm90b3R5cGUsIHNvdXJjZSkpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRbc291cmNlXSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW3RhcmdldCwgc291cmNlXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuXG4gICAgaWYgKCF0YXJnZXQgfHwgdHlwZW9mIHRhcmdldCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIFt0YXJnZXRdLmNvbmNhdChzb3VyY2UpO1xuICAgIH1cblxuICAgIHZhciBtZXJnZVRhcmdldCA9IHRhcmdldDtcbiAgICBpZiAoaXNBcnJheSh0YXJnZXQpICYmICFpc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgICAgbWVyZ2VUYXJnZXQgPSBhcnJheVRvT2JqZWN0KHRhcmdldCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyYXkodGFyZ2V0KSAmJiBpc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgICAgc291cmNlLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGkpIHtcbiAgICAgICAgICAgIGlmIChoYXMuY2FsbCh0YXJnZXQsIGkpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRhcmdldEl0ZW0gPSB0YXJnZXRbaV07XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldEl0ZW0gJiYgdHlwZW9mIHRhcmdldEl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0gJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtpXSA9IG1lcmdlKHRhcmdldEl0ZW0sIGl0ZW0sIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0W2ldID0gaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGtleSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBzb3VyY2Vba2V5XTtcblxuICAgICAgICBpZiAoaGFzLmNhbGwoYWNjLCBrZXkpKSB7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IG1lcmdlKGFjY1trZXldLCB2YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgbWVyZ2VUYXJnZXQpO1xufTtcblxudmFyIGFzc2lnbiA9IGZ1bmN0aW9uIGFzc2lnblNpbmdsZVNvdXJjZSh0YXJnZXQsIHNvdXJjZSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBrZXkpIHtcbiAgICAgICAgYWNjW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB0YXJnZXQpO1xufTtcblxudmFyIGRlY29kZSA9IGZ1bmN0aW9uIChzdHIsIGRlY29kZXIsIGNoYXJzZXQpIHtcbiAgICB2YXIgc3RyV2l0aG91dFBsdXMgPSBzdHIucmVwbGFjZSgvXFwrL2csICcgJyk7XG4gICAgaWYgKGNoYXJzZXQgPT09ICdpc28tODg1OS0xJykge1xuICAgICAgICAvLyB1bmVzY2FwZSBuZXZlciB0aHJvd3MsIG5vIHRyeS4uLmNhdGNoIG5lZWRlZDpcbiAgICAgICAgcmV0dXJuIHN0cldpdGhvdXRQbHVzLnJlcGxhY2UoLyVbMC05YS1mXXsyfS9naSwgdW5lc2NhcGUpO1xuICAgIH1cbiAgICAvLyB1dGYtOFxuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoc3RyV2l0aG91dFBsdXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHN0cldpdGhvdXRQbHVzO1xuICAgIH1cbn07XG5cbnZhciBlbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoc3RyLCBkZWZhdWx0RW5jb2RlciwgY2hhcnNldCwga2luZCwgZm9ybWF0KSB7XG4gICAgLy8gVGhpcyBjb2RlIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkgQnJpYW4gV2hpdGUgKG1zY2RleCkgZm9yIHRoZSBpby5qcyBjb3JlIHF1ZXJ5c3RyaW5nIGxpYnJhcnkuXG4gICAgLy8gSXQgaGFzIGJlZW4gYWRhcHRlZCBoZXJlIGZvciBzdHJpY3RlciBhZGhlcmVuY2UgdG8gUkZDIDM5ODZcbiAgICBpZiAoc3RyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIHZhciBzdHJpbmcgPSBzdHI7XG4gICAgaWYgKHR5cGVvZiBzdHIgPT09ICdzeW1ib2wnKSB7XG4gICAgICAgIHN0cmluZyA9IFN5bWJvbC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzdHIpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgc3RyaW5nID0gU3RyaW5nKHN0cik7XG4gICAgfVxuXG4gICAgaWYgKGNoYXJzZXQgPT09ICdpc28tODg1OS0xJykge1xuICAgICAgICByZXR1cm4gZXNjYXBlKHN0cmluZykucmVwbGFjZSgvJXVbMC05YS1mXXs0fS9naSwgZnVuY3Rpb24gKCQwKSB7XG4gICAgICAgICAgICByZXR1cm4gJyUyNiUyMycgKyBwYXJzZUludCgkMC5zbGljZSgyKSwgMTYpICsgJyUzQic7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBvdXQgPSAnJztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIgYyA9IHN0cmluZy5jaGFyQ29kZUF0KGkpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGMgPT09IDB4MkQgLy8gLVxuICAgICAgICAgICAgfHwgYyA9PT0gMHgyRSAvLyAuXG4gICAgICAgICAgICB8fCBjID09PSAweDVGIC8vIF9cbiAgICAgICAgICAgIHx8IGMgPT09IDB4N0UgLy8gflxuICAgICAgICAgICAgfHwgKGMgPj0gMHgzMCAmJiBjIDw9IDB4MzkpIC8vIDAtOVxuICAgICAgICAgICAgfHwgKGMgPj0gMHg0MSAmJiBjIDw9IDB4NUEpIC8vIGEtelxuICAgICAgICAgICAgfHwgKGMgPj0gMHg2MSAmJiBjIDw9IDB4N0EpIC8vIEEtWlxuICAgICAgICAgICAgfHwgKGZvcm1hdCA9PT0gZm9ybWF0cy5SRkMxNzM4ICYmIChjID09PSAweDI4IHx8IGMgPT09IDB4MjkpKSAvLyAoIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBvdXQgKz0gc3RyaW5nLmNoYXJBdChpKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGMgPCAweDgwKSB7XG4gICAgICAgICAgICBvdXQgPSBvdXQgKyBoZXhUYWJsZVtjXTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGMgPCAweDgwMCkge1xuICAgICAgICAgICAgb3V0ID0gb3V0ICsgKGhleFRhYmxlWzB4QzAgfCAoYyA+PiA2KV0gKyBoZXhUYWJsZVsweDgwIHwgKGMgJiAweDNGKV0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYyA8IDB4RDgwMCB8fCBjID49IDB4RTAwMCkge1xuICAgICAgICAgICAgb3V0ID0gb3V0ICsgKGhleFRhYmxlWzB4RTAgfCAoYyA+PiAxMildICsgaGV4VGFibGVbMHg4MCB8ICgoYyA+PiA2KSAmIDB4M0YpXSArIGhleFRhYmxlWzB4ODAgfCAoYyAmIDB4M0YpXSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkgKz0gMTtcbiAgICAgICAgYyA9IDB4MTAwMDAgKyAoKChjICYgMHgzRkYpIDw8IDEwKSB8IChzdHJpbmcuY2hhckNvZGVBdChpKSAmIDB4M0ZGKSk7XG4gICAgICAgIC8qIGVzbGludCBvcGVyYXRvci1saW5lYnJlYWs6IFsyLCBcImJlZm9yZVwiXSAqL1xuICAgICAgICBvdXQgKz0gaGV4VGFibGVbMHhGMCB8IChjID4+IDE4KV1cbiAgICAgICAgICAgICsgaGV4VGFibGVbMHg4MCB8ICgoYyA+PiAxMikgJiAweDNGKV1cbiAgICAgICAgICAgICsgaGV4VGFibGVbMHg4MCB8ICgoYyA+PiA2KSAmIDB4M0YpXVxuICAgICAgICAgICAgKyBoZXhUYWJsZVsweDgwIHwgKGMgJiAweDNGKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dDtcbn07XG5cbnZhciBjb21wYWN0ID0gZnVuY3Rpb24gY29tcGFjdCh2YWx1ZSkge1xuICAgIHZhciBxdWV1ZSA9IFt7IG9iajogeyBvOiB2YWx1ZSB9LCBwcm9wOiAnbycgfV07XG4gICAgdmFyIHJlZnMgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGl0ZW0gPSBxdWV1ZVtpXTtcbiAgICAgICAgdmFyIG9iaiA9IGl0ZW0ub2JqW2l0ZW0ucHJvcF07XG5cbiAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGtleXMubGVuZ3RoOyArK2opIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBrZXlzW2pdO1xuICAgICAgICAgICAgdmFyIHZhbCA9IG9ialtrZXldO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbCAhPT0gbnVsbCAmJiByZWZzLmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBxdWV1ZS5wdXNoKHsgb2JqOiBvYmosIHByb3A6IGtleSB9KTtcbiAgICAgICAgICAgICAgICByZWZzLnB1c2godmFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBhY3RRdWV1ZShxdWV1ZSk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG59O1xuXG52YXIgaXNSZWdFeHAgPSBmdW5jdGlvbiBpc1JlZ0V4cChvYmopIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IFJlZ0V4cF0nO1xufTtcblxudmFyIGlzQnVmZmVyID0gZnVuY3Rpb24gaXNCdWZmZXIob2JqKSB7XG4gICAgaWYgKCFvYmogfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiAhIShvYmouY29uc3RydWN0b3IgJiYgb2JqLmNvbnN0cnVjdG9yLmlzQnVmZmVyICYmIG9iai5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihvYmopKTtcbn07XG5cbnZhciBjb21iaW5lID0gZnVuY3Rpb24gY29tYmluZShhLCBiKSB7XG4gICAgcmV0dXJuIFtdLmNvbmNhdChhLCBiKTtcbn07XG5cbnZhciBtYXliZU1hcCA9IGZ1bmN0aW9uIG1heWJlTWFwKHZhbCwgZm4pIHtcbiAgICBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgIHZhciBtYXBwZWQgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWwubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIG1hcHBlZC5wdXNoKGZuKHZhbFtpXSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXBwZWQ7XG4gICAgfVxuICAgIHJldHVybiBmbih2YWwpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgYXJyYXlUb09iamVjdDogYXJyYXlUb09iamVjdCxcbiAgICBhc3NpZ246IGFzc2lnbixcbiAgICBjb21iaW5lOiBjb21iaW5lLFxuICAgIGNvbXBhY3Q6IGNvbXBhY3QsXG4gICAgZGVjb2RlOiBkZWNvZGUsXG4gICAgZW5jb2RlOiBlbmNvZGUsXG4gICAgaXNCdWZmZXI6IGlzQnVmZmVyLFxuICAgIGlzUmVnRXhwOiBpc1JlZ0V4cCxcbiAgICBtYXliZU1hcDogbWF5YmVNYXAsXG4gICAgbWVyZ2U6IG1lcmdlXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qs/lib/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/errors-browser.js": -/*!********************************************************!*\ - !*** ./node_modules/readable-stream/errors-browser.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGdEQUFnRCwwREFBMEQsMkNBQTJDOztBQUVySjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxvQkFBb0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qcz9hNmE4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBjb2RlcyA9IHt9O1xuXG5mdW5jdGlvbiBjcmVhdGVFcnJvclR5cGUoY29kZSwgbWVzc2FnZSwgQmFzZSkge1xuICBpZiAoIUJhc2UpIHtcbiAgICBCYXNlID0gRXJyb3I7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRNZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIE5vZGVFcnJvciA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKF9CYXNlKSB7XG4gICAgX2luaGVyaXRzTG9vc2UoTm9kZUVycm9yLCBfQmFzZSk7XG5cbiAgICBmdW5jdGlvbiBOb2RlRXJyb3IoYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgcmV0dXJuIF9CYXNlLmNhbGwodGhpcywgZ2V0TWVzc2FnZShhcmcxLCBhcmcyLCBhcmczKSkgfHwgdGhpcztcbiAgICB9XG5cbiAgICByZXR1cm4gTm9kZUVycm9yO1xuICB9KEJhc2UpO1xuXG4gIE5vZGVFcnJvci5wcm90b3R5cGUubmFtZSA9IEJhc2UubmFtZTtcbiAgTm9kZUVycm9yLnByb3RvdHlwZS5jb2RlID0gY29kZTtcbiAgY29kZXNbY29kZV0gPSBOb2RlRXJyb3I7XG59IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9ibG9iL3YxMC44LjAvbGliL2ludGVybmFsL2Vycm9ycy5qc1xuXG5cbmZ1bmN0aW9uIG9uZU9mKGV4cGVjdGVkLCB0aGluZykge1xuICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3RlZCkpIHtcbiAgICB2YXIgbGVuID0gZXhwZWN0ZWQubGVuZ3RoO1xuICAgIGV4cGVjdGVkID0gZXhwZWN0ZWQubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKGkpO1xuICAgIH0pO1xuXG4gICAgaWYgKGxlbiA+IDIpIHtcbiAgICAgIHJldHVybiBcIm9uZSBvZiBcIi5jb25jYXQodGhpbmcsIFwiIFwiKS5jb25jYXQoZXhwZWN0ZWQuc2xpY2UoMCwgbGVuIC0gMSkuam9pbignLCAnKSwgXCIsIG9yIFwiKSArIGV4cGVjdGVkW2xlbiAtIDFdO1xuICAgIH0gZWxzZSBpZiAobGVuID09PSAyKSB7XG4gICAgICByZXR1cm4gXCJvbmUgb2YgXCIuY29uY2F0KHRoaW5nLCBcIiBcIikuY29uY2F0KGV4cGVjdGVkWzBdLCBcIiBvciBcIikuY29uY2F0KGV4cGVjdGVkWzFdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwib2YgXCIuY29uY2F0KHRoaW5nLCBcIiBcIikuY29uY2F0KGV4cGVjdGVkWzBdKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFwib2YgXCIuY29uY2F0KHRoaW5nLCBcIiBcIikuY29uY2F0KFN0cmluZyhleHBlY3RlZCkpO1xuICB9XG59IC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N0cmluZy9zdGFydHNXaXRoXG5cblxuZnVuY3Rpb24gc3RhcnRzV2l0aChzdHIsIHNlYXJjaCwgcG9zKSB7XG4gIHJldHVybiBzdHIuc3Vic3RyKCFwb3MgfHwgcG9zIDwgMCA/IDAgOiArcG9zLCBzZWFyY2gubGVuZ3RoKSA9PT0gc2VhcmNoO1xufSAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvZW5kc1dpdGhcblxuXG5mdW5jdGlvbiBlbmRzV2l0aChzdHIsIHNlYXJjaCwgdGhpc19sZW4pIHtcbiAgaWYgKHRoaXNfbGVuID09PSB1bmRlZmluZWQgfHwgdGhpc19sZW4gPiBzdHIubGVuZ3RoKSB7XG4gICAgdGhpc19sZW4gPSBzdHIubGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIHN0ci5zdWJzdHJpbmcodGhpc19sZW4gLSBzZWFyY2gubGVuZ3RoLCB0aGlzX2xlbikgPT09IHNlYXJjaDtcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL2luY2x1ZGVzXG5cblxuZnVuY3Rpb24gaW5jbHVkZXMoc3RyLCBzZWFyY2gsIHN0YXJ0KSB7XG4gIGlmICh0eXBlb2Ygc3RhcnQgIT09ICdudW1iZXInKSB7XG4gICAgc3RhcnQgPSAwO1xuICB9XG5cbiAgaWYgKHN0YXJ0ICsgc2VhcmNoLmxlbmd0aCA+IHN0ci5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5pbmRleE9mKHNlYXJjaCwgc3RhcnQpICE9PSAtMTtcbiAgfVxufVxuXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9JTlZBTElEX09QVF9WQUxVRScsIGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xuICByZXR1cm4gJ1RoZSB2YWx1ZSBcIicgKyB2YWx1ZSArICdcIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gXCInICsgbmFtZSArICdcIic7XG59LCBUeXBlRXJyb3IpO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9BUkdfVFlQRScsIGZ1bmN0aW9uIChuYW1lLCBleHBlY3RlZCwgYWN0dWFsKSB7XG4gIC8vIGRldGVybWluZXI6ICdtdXN0IGJlJyBvciAnbXVzdCBub3QgYmUnXG4gIHZhciBkZXRlcm1pbmVyO1xuXG4gIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT09ICdzdHJpbmcnICYmIHN0YXJ0c1dpdGgoZXhwZWN0ZWQsICdub3QgJykpIHtcbiAgICBkZXRlcm1pbmVyID0gJ211c3Qgbm90IGJlJztcbiAgICBleHBlY3RlZCA9IGV4cGVjdGVkLnJlcGxhY2UoL15ub3QgLywgJycpO1xuICB9IGVsc2Uge1xuICAgIGRldGVybWluZXIgPSAnbXVzdCBiZSc7XG4gIH1cblxuICB2YXIgbXNnO1xuXG4gIGlmIChlbmRzV2l0aChuYW1lLCAnIGFyZ3VtZW50JykpIHtcbiAgICAvLyBGb3IgY2FzZXMgbGlrZSAnZmlyc3QgYXJndW1lbnQnXG4gICAgbXNnID0gXCJUaGUgXCIuY29uY2F0KG5hbWUsIFwiIFwiKS5jb25jYXQoZGV0ZXJtaW5lciwgXCIgXCIpLmNvbmNhdChvbmVPZihleHBlY3RlZCwgJ3R5cGUnKSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHR5cGUgPSBpbmNsdWRlcyhuYW1lLCAnLicpID8gJ3Byb3BlcnR5JyA6ICdhcmd1bWVudCc7XG4gICAgbXNnID0gXCJUaGUgXFxcIlwiLmNvbmNhdChuYW1lLCBcIlxcXCIgXCIpLmNvbmNhdCh0eXBlLCBcIiBcIikuY29uY2F0KGRldGVybWluZXIsIFwiIFwiKS5jb25jYXQob25lT2YoZXhwZWN0ZWQsICd0eXBlJykpO1xuICB9XG5cbiAgbXNnICs9IFwiLiBSZWNlaXZlZCB0eXBlIFwiLmNvbmNhdCh0eXBlb2YgYWN0dWFsKTtcbiAgcmV0dXJuIG1zZztcbn0sIFR5cGVFcnJvcik7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YnLCAnc3RyZWFtLnB1c2goKSBhZnRlciBFT0YnKTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQnLCBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gJ1RoZSAnICsgbmFtZSArICcgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCc7XG59KTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UnLCAnUHJlbWF0dXJlIGNsb3NlJyk7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fREVTVFJPWUVEJywgZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuICdDYW5ub3QgY2FsbCAnICsgbmFtZSArICcgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZCc7XG59KTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX01VTFRJUExFX0NBTExCQUNLJywgJ0NhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lcycpO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX0NBTk5PVF9QSVBFJywgJ0Nhbm5vdCBwaXBlLCBub3QgcmVhZGFibGUnKTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQnLCAnd3JpdGUgYWZ0ZXIgZW5kJyk7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fTlVMTF9WQUxVRVMnLCAnTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0nLCBUeXBlRXJyb3IpO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfVU5LTk9XTl9FTkNPRElORycsIGZ1bmN0aW9uIChhcmcpIHtcbiAgcmV0dXJuICdVbmtub3duIGVuY29kaW5nOiAnICsgYXJnO1xufSwgVHlwZUVycm9yKTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCcsICdzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCcpO1xubW9kdWxlLmV4cG9ydHMuY29kZXMgPSBjb2RlcztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/errors-browser.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_duplex.js": -/*!************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_duplex.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n// 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// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/readable-stream/lib/_stream_readable.js\");\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/readable-stream/lib/_stream_writable.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qcyIsIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxrRkFBb0I7QUFDM0MsZUFBZSxtQkFBTyxDQUFDLGtGQUFvQjtBQUMzQyxtQkFBTyxDQUFDLDZEQUFVO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFLE9BQU87QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qcz81MDYyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIGR1cGxleCBzdHJlYW0gaXMganVzdCBhIHN0cmVhbSB0aGF0IGlzIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLlxuLy8gU2luY2UgSlMgZG9lc24ndCBoYXZlIG11bHRpcGxlIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UsIHRoaXMgY2xhc3Ncbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cbi8vIFdyaXRhYmxlLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgb2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIChvYmopIHtcbiAgdmFyIGtleXMgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIG9iaikga2V5cy5wdXNoKGtleSk7XG4gIHJldHVybiBrZXlzO1xufTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG5tb2R1bGUuZXhwb3J0cyA9IER1cGxleDtcbnZhciBSZWFkYWJsZSA9IHJlcXVpcmUoJy4vX3N0cmVhbV9yZWFkYWJsZScpO1xudmFyIFdyaXRhYmxlID0gcmVxdWlyZSgnLi9fc3RyZWFtX3dyaXRhYmxlJyk7XG5yZXF1aXJlKCdpbmhlcml0cycpKER1cGxleCwgUmVhZGFibGUpO1xue1xuICAvLyBBbGxvdyB0aGUga2V5cyBhcnJheSB0byBiZSBHQydlZC5cbiAgdmFyIGtleXMgPSBvYmplY3RLZXlzKFdyaXRhYmxlLnByb3RvdHlwZSk7XG4gIGZvciAodmFyIHYgPSAwOyB2IDwga2V5cy5sZW5ndGg7IHYrKykge1xuICAgIHZhciBtZXRob2QgPSBrZXlzW3ZdO1xuICAgIGlmICghRHVwbGV4LnByb3RvdHlwZVttZXRob2RdKSBEdXBsZXgucHJvdG90eXBlW21ldGhvZF0gPSBXcml0YWJsZS5wcm90b3R5cGVbbWV0aG9kXTtcbiAgfVxufVxuZnVuY3Rpb24gRHVwbGV4KG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHJldHVybiBuZXcgRHVwbGV4KG9wdGlvbnMpO1xuICBSZWFkYWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuICBXcml0YWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuICB0aGlzLmFsbG93SGFsZk9wZW4gPSB0cnVlO1xuICBpZiAob3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zLnJlYWRhYmxlID09PSBmYWxzZSkgdGhpcy5yZWFkYWJsZSA9IGZhbHNlO1xuICAgIGlmIChvcHRpb25zLndyaXRhYmxlID09PSBmYWxzZSkgdGhpcy53cml0YWJsZSA9IGZhbHNlO1xuICAgIGlmIChvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmFsbG93SGFsZk9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMub25jZSgnZW5kJywgb25lbmQpO1xuICAgIH1cbiAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUJ1ZmZlcicsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKTtcbiAgfVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ3dyaXRhYmxlTGVuZ3RoJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGg7XG4gIH1cbn0pO1xuXG4vLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXG5mdW5jdGlvbiBvbmVuZCgpIHtcbiAgLy8gSWYgdGhlIHdyaXRhYmxlIHNpZGUgZW5kZWQsIHRoZW4gd2UncmUgb2suXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKSByZXR1cm47XG5cbiAgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxuICAvLyBCdXQgYWxsb3cgbW9yZSB3cml0ZXMgdG8gaGFwcGVuIGluIHRoaXMgdGljay5cbiAgcHJvY2Vzcy5uZXh0VGljayhvbkVuZE5ULCB0aGlzKTtcbn1cbmZ1bmN0aW9uIG9uRW5kTlQoc2VsZikge1xuICBzZWxmLmVuZCgpO1xufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcbiAgfSxcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xuICB9XG59KTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/_stream_duplex.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_passthrough.js": -/*!*****************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_passthrough.js ***! - \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// 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// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\nvar Transform = __webpack_require__(/*! ./_stream_transform */ \"./node_modules/readable-stream/lib/_stream_transform.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsb0ZBQXFCO0FBQzdDLG1CQUFPLENBQUMsNkRBQVU7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcz84MDIyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cbi8vIGJhc2ljYWxseSBqdXN0IHRoZSBtb3N0IG1pbmltYWwgc29ydCBvZiBUcmFuc2Zvcm0gc3RyZWFtLlxuLy8gRXZlcnkgd3JpdHRlbiBjaHVuayBnZXRzIG91dHB1dCBhcy1pcy5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFBhc3NUaHJvdWdoO1xudmFyIFRyYW5zZm9ybSA9IHJlcXVpcmUoJy4vX3N0cmVhbV90cmFuc2Zvcm0nKTtcbnJlcXVpcmUoJ2luaGVyaXRzJykoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XG5mdW5jdGlvbiBQYXNzVGhyb3VnaChvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBQYXNzVGhyb3VnaCkpIHJldHVybiBuZXcgUGFzc1Rocm91Z2gob3B0aW9ucyk7XG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xufVxuUGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICBjYihudWxsLCBjaHVuayk7XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/_stream_passthrough.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_readable.js": -/*!**************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_readable.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n// 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\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = (__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter);\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*<replacement>*/\nvar debugUtil = __webpack_require__(/*! util */ \"?8c28\");\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/buffer_list */ \"./node_modules/readable-stream/lib/internal/streams/buffer_list.js\");\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = __webpack_require__(/*! ./internal/streams/async_iterator */ \"./node_modules/readable-stream/lib/internal/streams/async_iterator.js\");\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = __webpack_require__(/*! ./internal/streams/from */ \"./node_modules/readable-stream/lib/internal/streams/from-browser.js\");\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVMsbUZBQThCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLHdHQUEyQjtBQUNoRDs7QUFFQSxhQUFhLDRFQUF3QjtBQUNyQyw0QkFBNEIscUJBQU0sbUJBQW1CLHFCQUFNLG1GQUFtRjtBQUM5STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQyxtQkFBTTtBQUM5QjtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixtQkFBTyxDQUFDLDBHQUFnQztBQUN6RCxrQkFBa0IsbUJBQU8sQ0FBQyxrR0FBNEI7QUFDdEQsZUFBZSxtQkFBTyxDQUFDLDhGQUEwQjtBQUNqRDtBQUNBLHFCQUFxQixnR0FBMEI7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBTyxDQUFDLDZEQUFVO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RSxtRkFBbUY7QUFDNUo7QUFDQTtBQUNBLHFCQUFxQixtQkFBTyxDQUFDLDhFQUFrQjtBQUMvQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsaUhBQXdDO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsbUJBQU8sQ0FBQyw4RUFBa0I7QUFDL0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0ZBQStGO0FBQy9GLFFBQVE7QUFDUjtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSw0RkFBNEY7QUFDNUYsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0MsaUhBQXdDO0FBQzlFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEVBQTRFO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RDtBQUM3RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksT0FBTztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxPQUFPO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRUFBZ0UsT0FBTyxvQkFBb0IsT0FBTztBQUNsRztBQUNBLHdCQUF3QixPQUFPLGlCQUFpQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixTQUFTO0FBQzdCO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSLFFBQVEsT0FBTztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksT0FBTztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksT0FBTztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksT0FBTztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRFQUE0RTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IseUJBQXlCO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxtQkFBTyxDQUFDLGdIQUFtQztBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBLG1EQUFtRCwrREFBK0Q7QUFDbEg7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLE9BQU87QUFDWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsb0dBQXlCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsT0FBTztBQUN4QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzPzIyMTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBSZWFkYWJsZTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBEdXBsZXg7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuUmVhZGFibGUuUmVhZGFibGVTdGF0ZSA9IFJlYWRhYmxlU3RhdGU7XG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgRUUgPSByZXF1aXJlKCdldmVudHMnKS5FdmVudEVtaXR0ZXI7XG52YXIgRUVsaXN0ZW5lckNvdW50ID0gZnVuY3Rpb24gRUVsaXN0ZW5lckNvdW50KGVtaXR0ZXIsIHR5cGUpIHtcbiAgcmV0dXJuIGVtaXR0ZXIubGlzdGVuZXJzKHR5cGUpLmxlbmd0aDtcbn07XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBTdHJlYW0gPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtJyk7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpLkJ1ZmZlcjtcbnZhciBPdXJVaW50OEFycmF5ID0gKHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsIDogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDoge30pLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShjaHVuayk7XG59XG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xuICByZXR1cm4gQnVmZmVyLmlzQnVmZmVyKG9iaikgfHwgb2JqIGluc3RhbmNlb2YgT3VyVWludDhBcnJheTtcbn1cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBkZWJ1Z1V0aWwgPSByZXF1aXJlKCd1dGlsJyk7XG52YXIgZGVidWc7XG5pZiAoZGVidWdVdGlsICYmIGRlYnVnVXRpbC5kZWJ1Z2xvZykge1xuICBkZWJ1ZyA9IGRlYnVnVXRpbC5kZWJ1Z2xvZygnc3RyZWFtJyk7XG59IGVsc2Uge1xuICBkZWJ1ZyA9IGZ1bmN0aW9uIGRlYnVnKCkge307XG59XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIEJ1ZmZlckxpc3QgPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3QnKTtcbnZhciBkZXN0cm95SW1wbCA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95Jyk7XG52YXIgX3JlcXVpcmUgPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvc3RhdGUnKSxcbiAgZ2V0SGlnaFdhdGVyTWFyayA9IF9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcms7XG52YXIgX3JlcXVpcmUkY29kZXMgPSByZXF1aXJlKCcuLi9lcnJvcnMnKS5jb2RlcyxcbiAgRVJSX0lOVkFMSURfQVJHX1RZUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRSxcbiAgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRiA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YsXG4gIEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEID0gX3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsXG4gIEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UO1xuXG4vLyBMYXp5IGxvYWRlZCB0byBpbXByb3ZlIHRoZSBzdGFydHVwIHBlcmZvcm1hbmNlLlxudmFyIFN0cmluZ0RlY29kZXI7XG52YXIgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xudmFyIGZyb207XG5yZXF1aXJlKCdpbmhlcml0cycpKFJlYWRhYmxlLCBTdHJlYW0pO1xudmFyIGVycm9yT3JEZXN0cm95ID0gZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3k7XG52YXIga1Byb3h5RXZlbnRzID0gWydlcnJvcicsICdjbG9zZScsICdkZXN0cm95JywgJ3BhdXNlJywgJ3Jlc3VtZSddO1xuZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGVtaXR0ZXIsIGV2ZW50LCBmbikge1xuICAvLyBTYWRseSB0aGlzIGlzIG5vdCBjYWNoZWFibGUgYXMgc29tZSBsaWJyYXJpZXMgYnVuZGxlIHRoZWlyIG93blxuICAvLyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uIHdpdGggdGhlbS5cbiAgaWYgKHR5cGVvZiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyKGV2ZW50LCBmbik7XG5cbiAgLy8gVGhpcyBpcyBhIGhhY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIGFueVxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcbiAgLy8gdG8gY29udGludWUgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIE5vZGUuanMgdGhhdCBkbyBub3QgaW5jbHVkZVxuICAvLyB0aGUgcHJlcGVuZExpc3RlbmVyKCkgbWV0aG9kLiBUaGUgZ29hbCBpcyB0byBldmVudHVhbGx5IHJlbW92ZSB0aGlzIGhhY2suXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoQXJyYXkuaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xufVxuZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XG4gIER1cGxleCA9IER1cGxleCB8fCByZXF1aXJlKCcuL19zdHJlYW1fZHVwbGV4Jyk7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gIC8vIER1cGxleCBzdHJlYW1zIGFyZSBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZSwgYnV0IHNoYXJlXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxuICAvLyBIb3dldmVyLCBzb21lIGNhc2VzIHJlcXVpcmUgc2V0dGluZyBvcHRpb25zIHRvIGRpZmZlcmVudFxuICAvLyB2YWx1ZXMgZm9yIHRoZSByZWFkYWJsZSBhbmQgdGhlIHdyaXRhYmxlIHNpZGVzIG9mIHRoZSBkdXBsZXggc3RyZWFtLlxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcblxuICAvLyBvYmplY3Qgc3RyZWFtIGZsYWcuIFVzZWQgdG8gbWFrZSByZWFkKG4pIGlnbm9yZSBuIGFuZCB0b1xuICAvLyBtYWtlIGFsbCB0aGUgYnVmZmVyIG1lcmdpbmcgYW5kIGxlbmd0aCBjaGVja3MgZ28gYXdheVxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcbiAgaWYgKGlzRHVwbGV4KSB0aGlzLm9iamVjdE1vZGUgPSB0aGlzLm9iamVjdE1vZGUgfHwgISFvcHRpb25zLnJlYWRhYmxlT2JqZWN0TW9kZTtcblxuICAvLyB0aGUgcG9pbnQgYXQgd2hpY2ggaXQgc3RvcHMgY2FsbGluZyBfcmVhZCgpIHRvIGZpbGwgdGhlIGJ1ZmZlclxuICAvLyBOb3RlOiAwIGlzIGEgdmFsaWQgdmFsdWUsIG1lYW5zIFwiZG9uJ3QgY2FsbCBfcmVhZCBwcmVlbXB0aXZlbHkgZXZlclwiXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IGdldEhpZ2hXYXRlck1hcmsodGhpcywgb3B0aW9ucywgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIGlzRHVwbGV4KTtcblxuICAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxuICAvLyBsaW5rZWQgbGlzdCBjYW4gcmVtb3ZlIGVsZW1lbnRzIGZyb20gdGhlIGJlZ2lubmluZyBmYXN0ZXIgdGhhblxuICAvLyBhcnJheS5zaGlmdCgpXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcbiAgdGhpcy5sZW5ndGggPSAwO1xuICB0aGlzLnBpcGVzID0gbnVsbDtcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcbiAgdGhpcy5mbG93aW5nID0gbnVsbDtcbiAgdGhpcy5lbmRlZCA9IGZhbHNlO1xuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcbiAgdGhpcy5yZWFkaW5nID0gZmFsc2U7XG5cbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxuICAvLyBpbW1lZGlhdGVseSwgb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZVxuICAvLyBhbnkgYWN0aW9ucyB0aGF0IHNob3VsZG4ndCBoYXBwZW4gdW50aWwgXCJsYXRlclwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3QgcmVhZCBjYWxsLlxuICB0aGlzLnN5bmMgPSB0cnVlO1xuXG4gIC8vIHdoZW5ldmVyIHdlIHJldHVybiBudWxsLCB0aGVuIHdlIHNldCBhIGZsYWcgdG8gc2F5XG4gIC8vIHRoYXQgd2UncmUgYXdhaXRpbmcgYSAncmVhZGFibGUnIGV2ZW50IGVtaXNzaW9uLlxuICB0aGlzLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB0aGlzLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB0aGlzLnJlYWRhYmxlTGlzdGVuaW5nID0gZmFsc2U7XG4gIHRoaXMucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XG4gIHRoaXMucGF1c2VkID0gdHJ1ZTtcblxuICAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxuICB0aGlzLmVtaXRDbG9zZSA9IG9wdGlvbnMuZW1pdENsb3NlICE9PSBmYWxzZTtcblxuICAvLyBTaG91bGQgLmRlc3Ryb3koKSBiZSBjYWxsZWQgYWZ0ZXIgJ2VuZCcgKGFuZCBwb3RlbnRpYWxseSAnZmluaXNoJylcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTtcblxuICAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXG4gIC8vIGVuY29kaW5nIGlzICdiaW5hcnknIHNvIHdlIGhhdmUgdG8gbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZS5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JztcblxuICAvLyB0aGUgbnVtYmVyIG9mIHdyaXRlcnMgdGhhdCBhcmUgYXdhaXRpbmcgYSBkcmFpbiBldmVudCBpbiAucGlwZSgpc1xuICB0aGlzLmF3YWl0RHJhaW4gPSAwO1xuXG4gIC8vIGlmIHRydWUsIGEgbWF5YmVSZWFkTW9yZSBoYXMgYmVlbiBzY2hlZHVsZWRcbiAgdGhpcy5yZWFkaW5nTW9yZSA9IGZhbHNlO1xuICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICB0aGlzLmVuY29kaW5nID0gbnVsbDtcbiAgaWYgKG9wdGlvbnMuZW5jb2RpbmcpIHtcbiAgICBpZiAoIVN0cmluZ0RlY29kZXIpIFN0cmluZ0RlY29kZXIgPSByZXF1aXJlKCdzdHJpbmdfZGVjb2Rlci8nKS5TdHJpbmdEZWNvZGVyO1xuICAgIHRoaXMuZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKG9wdGlvbnMuZW5jb2RpbmcpO1xuICAgIHRoaXMuZW5jb2RpbmcgPSBvcHRpb25zLmVuY29kaW5nO1xuICB9XG59XG5mdW5jdGlvbiBSZWFkYWJsZShvcHRpb25zKSB7XG4gIER1cGxleCA9IER1cGxleCB8fCByZXF1aXJlKCcuL19zdHJlYW1fZHVwbGV4Jyk7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBSZWFkYWJsZSkpIHJldHVybiBuZXcgUmVhZGFibGUob3B0aW9ucyk7XG5cbiAgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxuICAvLyB0aGUgUmVhZGFibGVTdGF0ZSBjb25zdHJ1Y3RvciwgYXQgbGVhc3Qgd2l0aCBWOCA2LjVcbiAgdmFyIGlzRHVwbGV4ID0gdGhpcyBpbnN0YW5jZW9mIER1cGxleDtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZSA9IG5ldyBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTtcblxuICAvLyBsZWdhY3lcbiAgdGhpcy5yZWFkYWJsZSA9IHRydWU7XG4gIGlmIChvcHRpb25zKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLnJlYWQgPT09ICdmdW5jdGlvbicpIHRoaXMuX3JlYWQgPSBvcHRpb25zLnJlYWQ7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIHRoaXMuX2Rlc3Ryb3kgPSBvcHRpb25zLmRlc3Ryb3k7XG4gIH1cbiAgU3RyZWFtLmNhbGwodGhpcyk7XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZDtcbiAgfSxcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XG4gICAgaWYgKCF0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxuICAgIC8vIG1hbmFnaW5nIGRlc3Ryb3llZFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XG4gIH1cbn0pO1xuUmVhZGFibGUucHJvdG90eXBlLmRlc3Ryb3kgPSBkZXN0cm95SW1wbC5kZXN0cm95O1xuUmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XG5SZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xuICBjYihlcnIpO1xufTtcblxuLy8gTWFudWFsbHkgc2hvdmUgc29tZXRoaW5nIGludG8gdGhlIHJlYWQoKSBidWZmZXIuXG4vLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB0aGUgaGlnaFdhdGVyTWFyayBoYXMgbm90IGJlZW4gaGl0IHlldCxcbi8vIHNpbWlsYXIgdG8gaG93IFdyaXRhYmxlLndyaXRlKCkgcmV0dXJucyB0cnVlIGlmIHlvdSBzaG91bGRcbi8vIHdyaXRlKCkgc29tZSBtb3JlLlxuUmVhZGFibGUucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBza2lwQ2h1bmtDaGVjaztcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlKSB7XG4gICAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcgfHwgc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xuICAgICAgaWYgKGVuY29kaW5nICE9PSBzdGF0ZS5lbmNvZGluZykge1xuICAgICAgICBjaHVuayA9IEJ1ZmZlci5mcm9tKGNodW5rLCBlbmNvZGluZyk7XG4gICAgICAgIGVuY29kaW5nID0gJyc7XG4gICAgICB9XG4gICAgICBza2lwQ2h1bmtDaGVjayA9IHRydWU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLCBjaHVuaywgZW5jb2RpbmcsIGZhbHNlLCBza2lwQ2h1bmtDaGVjayk7XG59O1xuXG4vLyBVbnNoaWZ0IHNob3VsZCAqYWx3YXlzKiBiZSBzb21ldGhpbmcgZGlyZWN0bHkgb3V0IG9mIHJlYWQoKVxuUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoY2h1bmspIHtcbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIG51bGwsIHRydWUsIGZhbHNlKTtcbn07XG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xuICBkZWJ1ZygncmVhZGFibGVBZGRDaHVuaycsIGNodW5rKTtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcbiAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XG4gICAgb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZXI7XG4gICAgaWYgKCFza2lwQ2h1bmtDaGVjaykgZXIgPSBjaHVua0ludmFsaWQoc3RhdGUsIGNodW5rKTtcbiAgICBpZiAoZXIpIHtcbiAgICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUub2JqZWN0TW9kZSB8fCBjaHVuayAmJiBjaHVuay5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2h1bmspICE9PSBCdWZmZXIucHJvdG90eXBlKSB7XG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XG4gICAgICB9XG4gICAgICBpZiAoYWRkVG9Gcm9udCkge1xuICAgICAgICBpZiAoc3RhdGUuZW5kRW1pdHRlZCkgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBuZXcgRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCgpKTtlbHNlIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCB0cnVlKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUuZW5kZWQpIHtcbiAgICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBuZXcgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRigpKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUuZGVzdHJveWVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0YXRlLmRlY29kZXIgJiYgIWVuY29kaW5nKSB7XG4gICAgICAgICAgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTtcbiAgICAgICAgICBpZiAoc3RhdGUub2JqZWN0TW9kZSB8fCBjaHVuay5sZW5ndGggIT09IDApIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7ZWxzZSBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFhZGRUb0Zyb250KSB7XG4gICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XG4gICAgICBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBwdXNoIG1vcmUgZGF0YSBpZiB3ZSBhcmUgYmVsb3cgdGhlIGhpZ2hXYXRlck1hcmsuXG4gIC8vIEFsc28sIGlmIHdlIGhhdmUgbm8gZGF0YSB5ZXQsIHdlIGNhbiBzdGFuZCBzb21lIG1vcmUgYnl0ZXMuXG4gIC8vIFRoaXMgaXMgdG8gd29yayBhcm91bmQgY2FzZXMgd2hlcmUgaHdtPTAsIHN1Y2ggYXMgdGhlIHJlcGwuXG4gIHJldHVybiAhc3RhdGUuZW5kZWQgJiYgKHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcmsgfHwgc3RhdGUubGVuZ3RoID09PSAwKTtcbn1cbmZ1bmN0aW9uIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBhZGRUb0Zyb250KSB7XG4gIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiAhc3RhdGUuc3luYykge1xuICAgIHN0YXRlLmF3YWl0RHJhaW4gPSAwO1xuICAgIHN0cmVhbS5lbWl0KCdkYXRhJywgY2h1bmspO1xuICB9IGVsc2Uge1xuICAgIC8vIHVwZGF0ZSB0aGUgYnVmZmVyIGluZm8uXG4gICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuICAgIGlmIChhZGRUb0Zyb250KSBzdGF0ZS5idWZmZXIudW5zaGlmdChjaHVuayk7ZWxzZSBzdGF0ZS5idWZmZXIucHVzaChjaHVuayk7XG4gICAgaWYgKHN0YXRlLm5lZWRSZWFkYWJsZSkgZW1pdFJlYWRhYmxlKHN0cmVhbSk7XG4gIH1cbiAgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcbn1cbmZ1bmN0aW9uIGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspIHtcbiAgdmFyIGVyO1xuICBpZiAoIV9pc1VpbnQ4QXJyYXkoY2h1bmspICYmIHR5cGVvZiBjaHVuayAhPT0gJ3N0cmluZycgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xuICAgIGVyID0gbmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKCdjaHVuaycsIFsnc3RyaW5nJywgJ0J1ZmZlcicsICdVaW50OEFycmF5J10sIGNodW5rKTtcbiAgfVxuICByZXR1cm4gZXI7XG59XG5SZWFkYWJsZS5wcm90b3R5cGUuaXNQYXVzZWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPT09IGZhbHNlO1xufTtcblxuLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG5SZWFkYWJsZS5wcm90b3R5cGUuc2V0RW5jb2RpbmcgPSBmdW5jdGlvbiAoZW5jKSB7XG4gIGlmICghU3RyaW5nRGVjb2RlcikgU3RyaW5nRGVjb2RlciA9IHJlcXVpcmUoJ3N0cmluZ19kZWNvZGVyLycpLlN0cmluZ0RlY29kZXI7XG4gIHZhciBkZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gZGVjb2RlcjtcbiAgLy8gSWYgc2V0RW5jb2RpbmcobnVsbCksIGRlY29kZXIuZW5jb2RpbmcgZXF1YWxzIHV0ZjhcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmNvZGluZyA9IHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZztcblxuICAvLyBJdGVyYXRlIG92ZXIgY3VycmVudCBidWZmZXIgdG8gY29udmVydCBhbHJlYWR5IHN0b3JlZCBCdWZmZXJzOlxuICB2YXIgcCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQ7XG4gIHZhciBjb250ZW50ID0gJyc7XG4gIHdoaWxlIChwICE9PSBudWxsKSB7XG4gICAgY29udGVudCArPSBkZWNvZGVyLndyaXRlKHAuZGF0YSk7XG4gICAgcCA9IHAubmV4dDtcbiAgfVxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5jbGVhcigpO1xuICBpZiAoY29udGVudCAhPT0gJycpIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2goY29udGVudCk7XG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoID0gY29udGVudC5sZW5ndGg7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLy8gRG9uJ3QgcmFpc2UgdGhlIGh3bSA+IDFHQlxudmFyIE1BWF9IV00gPSAweDQwMDAwMDAwO1xuZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobikge1xuICBpZiAobiA+PSBNQVhfSFdNKSB7XG4gICAgLy8gVE9ETyhyb25hZyk6IFRocm93IEVSUl9WQUxVRV9PVVRfT0ZfUkFOR0UuXG4gICAgbiA9IE1BWF9IV007XG4gIH0gZWxzZSB7XG4gICAgLy8gR2V0IHRoZSBuZXh0IGhpZ2hlc3QgcG93ZXIgb2YgMiB0byBwcmV2ZW50IGluY3JlYXNpbmcgaHdtIGV4Y2Vzc2l2ZWx5IGluXG4gICAgLy8gdGlueSBhbW91bnRzXG4gICAgbi0tO1xuICAgIG4gfD0gbiA+Pj4gMTtcbiAgICBuIHw9IG4gPj4+IDI7XG4gICAgbiB8PSBuID4+PiA0O1xuICAgIG4gfD0gbiA+Pj4gODtcbiAgICBuIHw9IG4gPj4+IDE2O1xuICAgIG4rKztcbiAgfVxuICByZXR1cm4gbjtcbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXG5mdW5jdGlvbiBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKSB7XG4gIGlmIChuIDw9IDAgfHwgc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSByZXR1cm4gMDtcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldHVybiAxO1xuICBpZiAobiAhPT0gbikge1xuICAgIC8vIE9ubHkgZmxvdyBvbmUgYnVmZmVyIGF0IGEgdGltZVxuICAgIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCkgcmV0dXJuIHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoO2Vsc2UgcmV0dXJuIHN0YXRlLmxlbmd0aDtcbiAgfVxuICAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cbiAgaWYgKG4gPiBzdGF0ZS5oaWdoV2F0ZXJNYXJrKSBzdGF0ZS5oaWdoV2F0ZXJNYXJrID0gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobik7XG4gIGlmIChuIDw9IHN0YXRlLmxlbmd0aCkgcmV0dXJuIG47XG4gIC8vIERvbid0IGhhdmUgZW5vdWdoXG4gIGlmICghc3RhdGUuZW5kZWQpIHtcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuICAgIHJldHVybiAwO1xuICB9XG4gIHJldHVybiBzdGF0ZS5sZW5ndGg7XG59XG5cbi8vIHlvdSBjYW4gb3ZlcnJpZGUgZWl0aGVyIHRoaXMgbWV0aG9kLCBvciB0aGUgYXN5bmMgX3JlYWQobikgYmVsb3cuXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XG4gIGRlYnVnKCdyZWFkJywgbik7XG4gIG4gPSBwYXJzZUludChuLCAxMCk7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBuT3JpZyA9IG47XG4gIGlmIChuICE9PSAwKSBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTtcblxuICAvLyBpZiB3ZSdyZSBkb2luZyByZWFkKDApIHRvIHRyaWdnZXIgYSByZWFkYWJsZSBldmVudCwgYnV0IHdlXG4gIC8vIGFscmVhZHkgaGF2ZSBhIGJ1bmNoIG9mIGRhdGEgaW4gdGhlIGJ1ZmZlciwgdGhlbiBqdXN0IHRyaWdnZXJcbiAgLy8gdGhlICdyZWFkYWJsZScgZXZlbnQgYW5kIG1vdmUgb24uXG4gIGlmIChuID09PSAwICYmIHN0YXRlLm5lZWRSZWFkYWJsZSAmJiAoKHN0YXRlLmhpZ2hXYXRlck1hcmsgIT09IDAgPyBzdGF0ZS5sZW5ndGggPj0gc3RhdGUuaGlnaFdhdGVyTWFyayA6IHN0YXRlLmxlbmd0aCA+IDApIHx8IHN0YXRlLmVuZGVkKSkge1xuICAgIGRlYnVnKCdyZWFkOiBlbWl0UmVhZGFibGUnLCBzdGF0ZS5sZW5ndGgsIHN0YXRlLmVuZGVkKTtcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSBlbmRSZWFkYWJsZSh0aGlzKTtlbHNlIGVtaXRSZWFkYWJsZSh0aGlzKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBuID0gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSk7XG5cbiAgLy8gaWYgd2UndmUgZW5kZWQsIGFuZCB3ZSdyZSBub3cgY2xlYXIsIHRoZW4gZmluaXNoIGl0IHVwLlxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkge1xuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQWxsIHRoZSBhY3R1YWwgY2h1bmsgZ2VuZXJhdGlvbiBsb2dpYyBuZWVkcyB0byBiZVxuICAvLyAqYmVsb3cqIHRoZSBjYWxsIHRvIF9yZWFkLiAgVGhlIHJlYXNvbiBpcyB0aGF0IGluIGNlcnRhaW5cbiAgLy8gc3ludGhldGljIHN0cmVhbSBjYXNlcywgc3VjaCBhcyBwYXNzdGhyb3VnaCBzdHJlYW1zLCBfcmVhZFxuICAvLyBtYXkgYmUgYSBjb21wbGV0ZWx5IHN5bmNocm9ub3VzIG9wZXJhdGlvbiB3aGljaCBtYXkgY2hhbmdlXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgcmVhZCBidWZmZXIsIHByb3ZpZGluZyBlbm91Z2ggZGF0YSB3aGVuXG4gIC8vIGJlZm9yZSB0aGVyZSB3YXMgKm5vdCogZW5vdWdoLlxuICAvL1xuICAvLyBTbywgdGhlIHN0ZXBzIGFyZTpcbiAgLy8gMS4gRmlndXJlIG91dCB3aGF0IHRoZSBzdGF0ZSBvZiB0aGluZ3Mgd2lsbCBiZSBhZnRlciB3ZSBkb1xuICAvLyBhIHJlYWQgZnJvbSB0aGUgYnVmZmVyLlxuICAvL1xuICAvLyAyLiBJZiB0aGF0IHJlc3VsdGluZyBzdGF0ZSB3aWxsIHRyaWdnZXIgYSBfcmVhZCwgdGhlbiBjYWxsIF9yZWFkLlxuICAvLyBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgYXN5bmNocm9ub3VzLCBvciBzeW5jaHJvbm91cy4gIFllcywgaXQgaXNcbiAgLy8gZGVlcGx5IHVnbHkgdG8gd3JpdGUgQVBJcyB0aGlzIHdheSwgYnV0IHRoYXQgc3RpbGwgZG9lc24ndCBtZWFuXG4gIC8vIHRoYXQgdGhlIFJlYWRhYmxlIGNsYXNzIHNob3VsZCBiZWhhdmUgaW1wcm9wZXJseSwgYXMgc3RyZWFtcyBhcmVcbiAgLy8gZGVzaWduZWQgdG8gYmUgc3luYy9hc3luYyBhZ25vc3RpYy5cbiAgLy8gVGFrZSBub3RlIGlmIHRoZSBfcmVhZCBjYWxsIGlzIHN5bmMgb3IgYXN5bmMgKGllLCBpZiB0aGUgcmVhZCBjYWxsXG4gIC8vIGhhcyByZXR1cm5lZCB5ZXQpLCBzbyB0aGF0IHdlIGtub3cgd2hldGhlciBvciBub3QgaXQncyBzYWZlIHRvIGVtaXRcbiAgLy8gJ3JlYWRhYmxlJyBldGMuXG4gIC8vXG4gIC8vIDMuIEFjdHVhbGx5IHB1bGwgdGhlIHJlcXVlc3RlZCBjaHVua3Mgb3V0IG9mIHRoZSBidWZmZXIgYW5kIHJldHVybi5cblxuICAvLyBpZiB3ZSBuZWVkIGEgcmVhZGFibGUgZXZlbnQsIHRoZW4gd2UgbmVlZCB0byBkbyBzb21lIHJlYWRpbmcuXG4gIHZhciBkb1JlYWQgPSBzdGF0ZS5uZWVkUmVhZGFibGU7XG4gIGRlYnVnKCduZWVkIHJlYWRhYmxlJywgZG9SZWFkKTtcblxuICAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCB8fCBzdGF0ZS5sZW5ndGggLSBuIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykge1xuICAgIGRvUmVhZCA9IHRydWU7XG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcbiAgfVxuXG4gIC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XG4gIC8vIHJlYWRpbmcsIHRoZW4gaXQncyB1bm5lY2Vzc2FyeS5cbiAgaWYgKHN0YXRlLmVuZGVkIHx8IHN0YXRlLnJlYWRpbmcpIHtcbiAgICBkb1JlYWQgPSBmYWxzZTtcbiAgICBkZWJ1ZygncmVhZGluZyBvciBlbmRlZCcsIGRvUmVhZCk7XG4gIH0gZWxzZSBpZiAoZG9SZWFkKSB7XG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcbiAgICBzdGF0ZS5yZWFkaW5nID0gdHJ1ZTtcbiAgICBzdGF0ZS5zeW5jID0gdHJ1ZTtcbiAgICAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XG4gICAgLy8gY2FsbCBpbnRlcm5hbCByZWFkIG1ldGhvZFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XG4gICAgc3RhdGUuc3luYyA9IGZhbHNlO1xuICAgIC8vIElmIF9yZWFkIHB1c2hlZCBkYXRhIHN5bmNocm9ub3VzbHksIHRoZW4gYHJlYWRpbmdgIHdpbGwgYmUgZmFsc2UsXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxuICAgIGlmICghc3RhdGUucmVhZGluZykgbiA9IGhvd011Y2hUb1JlYWQobk9yaWcsIHN0YXRlKTtcbiAgfVxuICB2YXIgcmV0O1xuICBpZiAobiA+IDApIHJldCA9IGZyb21MaXN0KG4sIHN0YXRlKTtlbHNlIHJldCA9IG51bGw7XG4gIGlmIChyZXQgPT09IG51bGwpIHtcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBzdGF0ZS5sZW5ndGggPD0gc3RhdGUuaGlnaFdhdGVyTWFyaztcbiAgICBuID0gMDtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZS5sZW5ndGggLT0gbjtcbiAgICBzdGF0ZS5hd2FpdERyYWluID0gMDtcbiAgfVxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSB7XG4gICAgLy8gSWYgd2UgaGF2ZSBub3RoaW5nIGluIHRoZSBidWZmZXIsIHRoZW4gd2Ugd2FudCB0byBrbm93XG4gICAgLy8gYXMgc29vbiBhcyB3ZSAqZG8qIGdldCBzb21ldGhpbmcgaW50byB0aGUgYnVmZmVyLlxuICAgIGlmICghc3RhdGUuZW5kZWQpIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XG5cbiAgICAvLyBJZiB3ZSB0cmllZCB0byByZWFkKCkgcGFzdCB0aGUgRU9GLCB0aGVuIGVtaXQgZW5kIG9uIHRoZSBuZXh0IHRpY2suXG4gICAgaWYgKG5PcmlnICE9PSBuICYmIHN0YXRlLmVuZGVkKSBlbmRSZWFkYWJsZSh0aGlzKTtcbiAgfVxuICBpZiAocmV0ICE9PSBudWxsKSB0aGlzLmVtaXQoJ2RhdGEnLCByZXQpO1xuICByZXR1cm4gcmV0O1xufTtcbmZ1bmN0aW9uIG9uRW9mQ2h1bmsoc3RyZWFtLCBzdGF0ZSkge1xuICBkZWJ1Zygnb25Fb2ZDaHVuaycpO1xuICBpZiAoc3RhdGUuZW5kZWQpIHJldHVybjtcbiAgaWYgKHN0YXRlLmRlY29kZXIpIHtcbiAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xuICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIHtcbiAgICAgIHN0YXRlLmJ1ZmZlci5wdXNoKGNodW5rKTtcbiAgICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcbiAgICB9XG4gIH1cbiAgc3RhdGUuZW5kZWQgPSB0cnVlO1xuICBpZiAoc3RhdGUuc3luYykge1xuICAgIC8vIGlmIHdlIGFyZSBzeW5jLCB3YWl0IHVudGlsIG5leHQgdGljayB0byBlbWl0IHRoZSBkYXRhLlxuICAgIC8vIE90aGVyd2lzZSB3ZSByaXNrIGVtaXR0aW5nIGRhdGEgaW4gdGhlIGZsb3coKVxuICAgIC8vIHRoZSByZWFkYWJsZSBjb2RlIHRyaWdnZXJzIGR1cmluZyBhIHJlYWQoKSBjYWxsXG4gICAgZW1pdFJlYWRhYmxlKHN0cmVhbSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXG4gICAgc3RhdGUubmVlZFJlYWRhYmxlID0gZmFsc2U7XG4gICAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcbiAgICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IHRydWU7XG4gICAgICBlbWl0UmVhZGFibGVfKHN0cmVhbSk7XG4gICAgfVxuICB9XG59XG5cbi8vIERvbid0IGVtaXQgcmVhZGFibGUgcmlnaHQgYXdheSBpbiBzeW5jIG1vZGUsIGJlY2F1c2UgdGhpcyBjYW4gdHJpZ2dlclxuLy8gYW5vdGhlciByZWFkKCkgY2FsbCA9PiBzdGFjayBvdmVyZmxvdy4gIFRoaXMgd2F5LCBpdCBtaWdodCB0cmlnZ2VyXG4vLyBhIG5leHRUaWNrIHJlY3Vyc2lvbiB3YXJuaW5nLCBidXQgdGhhdCdzIG5vdCBzbyBiYWQuXG5mdW5jdGlvbiBlbWl0UmVhZGFibGUoc3RyZWFtKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcbiAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLm5lZWRSZWFkYWJsZSwgc3RhdGUuZW1pdHRlZFJlYWRhYmxlKTtcbiAgc3RhdGUubmVlZFJlYWRhYmxlID0gZmFsc2U7XG4gIGlmICghc3RhdGUuZW1pdHRlZFJlYWRhYmxlKSB7XG4gICAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLmZsb3dpbmcpO1xuICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IHRydWU7XG4gICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0UmVhZGFibGVfLCBzdHJlYW0pO1xuICB9XG59XG5mdW5jdGlvbiBlbWl0UmVhZGFibGVfKHN0cmVhbSkge1xuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIGRlYnVnKCdlbWl0UmVhZGFibGVfJywgc3RhdGUuZGVzdHJveWVkLCBzdGF0ZS5sZW5ndGgsIHN0YXRlLmVuZGVkKTtcbiAgaWYgKCFzdGF0ZS5kZXN0cm95ZWQgJiYgKHN0YXRlLmxlbmd0aCB8fCBzdGF0ZS5lbmRlZCkpIHtcbiAgICBzdHJlYW0uZW1pdCgncmVhZGFibGUnKTtcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTtcbiAgfVxuXG4gIC8vIFRoZSBzdHJlYW0gbmVlZHMgYW5vdGhlciByZWFkYWJsZSBldmVudCBpZlxuICAvLyAxLiBJdCBpcyBub3QgZmxvd2luZywgYXMgdGhlIGZsb3cgbWVjaGFuaXNtIHdpbGwgdGFrZVxuICAvLyAgICBjYXJlIG9mIGl0LlxuICAvLyAyLiBJdCBpcyBub3QgZW5kZWQuXG4gIC8vIDMuIEl0IGlzIGJlbG93IHRoZSBoaWdoV2F0ZXJNYXJrLCBzbyB3ZSBjYW4gc2NoZWR1bGVcbiAgLy8gICAgYW5vdGhlciByZWFkYWJsZSBsYXRlci5cbiAgc3RhdGUubmVlZFJlYWRhYmxlID0gIXN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLmVuZGVkICYmIHN0YXRlLmxlbmd0aCA8PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrO1xuICBmbG93KHN0cmVhbSk7XG59XG5cbi8vIGF0IHRoaXMgcG9pbnQsIHRoZSB1c2VyIGhhcyBwcmVzdW1hYmx5IHNlZW4gdGhlICdyZWFkYWJsZScgZXZlbnQsXG4vLyBhbmQgY2FsbGVkIHJlYWQoKSB0byBjb25zdW1lIHNvbWUgZGF0YS4gIHRoYXQgbWF5IGhhdmUgdHJpZ2dlcmVkXG4vLyBpbiB0dXJuIGFub3RoZXIgX3JlYWQobikgY2FsbCwgaW4gd2hpY2ggY2FzZSByZWFkaW5nID0gdHJ1ZSBpZlxuLy8gaXQncyBpbiBwcm9ncmVzcy5cbi8vIEhvd2V2ZXIsIGlmIHdlJ3JlIG5vdCBlbmRlZCwgb3IgcmVhZGluZywgYW5kIHRoZSBsZW5ndGggPCBod20sXG4vLyB0aGVuIGdvIGFoZWFkIGFuZCB0cnkgdG8gcmVhZCBzb21lIG1vcmUgcHJlZW1wdGl2ZWx5LlxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucmVhZGluZ01vcmUpIHtcbiAgICBzdGF0ZS5yZWFkaW5nTW9yZSA9IHRydWU7XG4gICAgcHJvY2Vzcy5uZXh0VGljayhtYXliZVJlYWRNb3JlXywgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIG1heWJlUmVhZE1vcmVfKHN0cmVhbSwgc3RhdGUpIHtcbiAgLy8gQXR0ZW1wdCB0byByZWFkIG1vcmUgZGF0YSBpZiB3ZSBzaG91bGQuXG4gIC8vXG4gIC8vIFRoZSBjb25kaXRpb25zIGZvciByZWFkaW5nIG1vcmUgZGF0YSBhcmUgKG9uZSBvZik6XG4gIC8vIC0gTm90IGVub3VnaCBkYXRhIGJ1ZmZlcmVkIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrKS4gVGhlIGxvb3BcbiAgLy8gICBpcyByZXNwb25zaWJsZSBmb3IgZmlsbGluZyB0aGUgYnVmZmVyIHdpdGggZW5vdWdoIGRhdGEgaWYgc3VjaCBkYXRhXG4gIC8vICAgaXMgYXZhaWxhYmxlLiBJZiBoaWdoV2F0ZXJNYXJrIGlzIDAgYW5kIHdlIGFyZSBub3QgaW4gdGhlIGZsb3dpbmcgbW9kZVxuICAvLyAgIHdlIHNob3VsZCBfbm90XyBhdHRlbXB0IHRvIGJ1ZmZlciBhbnkgZXh0cmEgZGF0YS4gV2UnbGwgZ2V0IG1vcmUgZGF0YVxuICAvLyAgIHdoZW4gdGhlIHN0cmVhbSBjb25zdW1lciBjYWxscyByZWFkKCkgaW5zdGVhZC5cbiAgLy8gLSBObyBkYXRhIGluIHRoZSBidWZmZXIsIGFuZCB0aGUgc3RyZWFtIGlzIGluIGZsb3dpbmcgbW9kZS4gSW4gdGhpcyBtb2RlXG4gIC8vICAgdGhlIGxvb3AgYmVsb3cgaXMgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHJlYWQoKSBpcyBjYWxsZWQuIEZhaWxpbmcgdG9cbiAgLy8gICBjYWxsIHJlYWQgaGVyZSB3b3VsZCBhYm9ydCB0aGUgZmxvdyBhbmQgdGhlcmUncyBubyBvdGhlciBtZWNoYW5pc20gZm9yXG4gIC8vICAgY29udGludWluZyB0aGUgZmxvdyBpZiB0aGUgc3RyZWFtIGNvbnN1bWVyIGhhcyBqdXN0IHN1YnNjcmliZWQgdG8gdGhlXG4gIC8vICAgJ2RhdGEnIGV2ZW50LlxuICAvL1xuICAvLyBJbiBhZGRpdGlvbiB0byB0aGUgYWJvdmUgY29uZGl0aW9ucyB0byBrZWVwIHJlYWRpbmcgZGF0YSwgdGhlIGZvbGxvd2luZ1xuICAvLyBjb25kaXRpb25zIHByZXZlbnQgdGhlIGRhdGEgZnJvbSBiZWluZyByZWFkOlxuICAvLyAtIFRoZSBzdHJlYW0gaGFzIGVuZGVkIChzdGF0ZS5lbmRlZCkuXG4gIC8vIC0gVGhlcmUgaXMgYWxyZWFkeSBhIHBlbmRpbmcgJ3JlYWQnIG9wZXJhdGlvbiAoc3RhdGUucmVhZGluZykuIFRoaXMgaXMgYVxuICAvLyAgIGNhc2Ugd2hlcmUgdGhlIHRoZSBzdHJlYW0gaGFzIGNhbGxlZCB0aGUgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBfcmVhZCgpXG4gIC8vICAgbWV0aG9kLCBidXQgdGhleSBhcmUgcHJvY2Vzc2luZyB0aGUgY2FsbCBhc3luY2hyb25vdXNseSBhbmQgaGF2ZSBfbm90X1xuICAvLyAgIGNhbGxlZCBwdXNoKCkgd2l0aCBuZXcgZGF0YS4gSW4gdGhpcyBjYXNlIHdlIHNraXAgcGVyZm9ybWluZyBtb3JlXG4gIC8vICAgcmVhZCgpcy4gVGhlIGV4ZWN1dGlvbiBlbmRzIGluIHRoaXMgbWV0aG9kIGFnYWluIGFmdGVyIHRoZSBfcmVhZCgpIGVuZHNcbiAgLy8gICB1cCBjYWxsaW5nIHB1c2goKSB3aXRoIG1vcmUgZGF0YS5cbiAgd2hpbGUgKCFzdGF0ZS5yZWFkaW5nICYmICFzdGF0ZS5lbmRlZCAmJiAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkpIHtcbiAgICB2YXIgbGVuID0gc3RhdGUubGVuZ3RoO1xuICAgIGRlYnVnKCdtYXliZVJlYWRNb3JlIHJlYWQgMCcpO1xuICAgIHN0cmVhbS5yZWFkKDApO1xuICAgIGlmIChsZW4gPT09IHN0YXRlLmxlbmd0aClcbiAgICAgIC8vIGRpZG4ndCBnZXQgYW55IGRhdGEsIHN0b3Agc3Bpbm5pbmcuXG4gICAgICBicmVhaztcbiAgfVxuICBzdGF0ZS5yZWFkaW5nTW9yZSA9IGZhbHNlO1xufVxuXG4vLyBhYnN0cmFjdCBtZXRob2QuICB0byBiZSBvdmVycmlkZGVuIGluIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXG4vLyBjYWxsIGNiKGVyLCBkYXRhKSB3aGVyZSBkYXRhIGlzIDw9IG4gaW4gbGVuZ3RoLlxuLy8gZm9yIHZpcnR1YWwgKG5vbi1zdHJpbmcsIG5vbi1idWZmZXIpIHN0cmVhbXMsIFwibGVuZ3RoXCIgaXMgc29tZXdoYXRcbi8vIGFyYml0cmFyeSwgYW5kIHBlcmhhcHMgbm90IHZlcnkgbWVhbmluZ2Z1bC5cblJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XG4gIGVycm9yT3JEZXN0cm95KHRoaXMsIG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3JlYWQoKScpKTtcbn07XG5SZWFkYWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uIChkZXN0LCBwaXBlT3B0cykge1xuICB2YXIgc3JjID0gdGhpcztcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgc3dpdGNoIChzdGF0ZS5waXBlc0NvdW50KSB7XG4gICAgY2FzZSAwOlxuICAgICAgc3RhdGUucGlwZXMgPSBkZXN0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAxOlxuICAgICAgc3RhdGUucGlwZXMgPSBbc3RhdGUucGlwZXMsIGRlc3RdO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHN0YXRlLnBpcGVzLnB1c2goZGVzdCk7XG4gICAgICBicmVhaztcbiAgfVxuICBzdGF0ZS5waXBlc0NvdW50ICs9IDE7XG4gIGRlYnVnKCdwaXBlIGNvdW50PSVkIG9wdHM9JWonLCBzdGF0ZS5waXBlc0NvdW50LCBwaXBlT3B0cyk7XG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XG4gIHZhciBlbmRGbiA9IGRvRW5kID8gb25lbmQgOiB1bnBpcGU7XG4gIGlmIChzdGF0ZS5lbmRFbWl0dGVkKSBwcm9jZXNzLm5leHRUaWNrKGVuZEZuKTtlbHNlIHNyYy5vbmNlKCdlbmQnLCBlbmRGbik7XG4gIGRlc3Qub24oJ3VucGlwZScsIG9udW5waXBlKTtcbiAgZnVuY3Rpb24gb251bnBpcGUocmVhZGFibGUsIHVucGlwZUluZm8pIHtcbiAgICBkZWJ1Zygnb251bnBpcGUnKTtcbiAgICBpZiAocmVhZGFibGUgPT09IHNyYykge1xuICAgICAgaWYgKHVucGlwZUluZm8gJiYgdW5waXBlSW5mby5oYXNVbnBpcGVkID09PSBmYWxzZSkge1xuICAgICAgICB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPSB0cnVlO1xuICAgICAgICBjbGVhbnVwKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIG9uZW5kKCkge1xuICAgIGRlYnVnKCdvbmVuZCcpO1xuICAgIGRlc3QuZW5kKCk7XG4gIH1cblxuICAvLyB3aGVuIHRoZSBkZXN0IGRyYWlucywgaXQgcmVkdWNlcyB0aGUgYXdhaXREcmFpbiBjb3VudGVyXG4gIC8vIG9uIHRoZSBzb3VyY2UuICBUaGlzIHdvdWxkIGJlIG1vcmUgZWxlZ2FudCB3aXRoIGEgLm9uY2UoKVxuICAvLyBoYW5kbGVyIGluIGZsb3coKSwgYnV0IGFkZGluZyBhbmQgcmVtb3ZpbmcgcmVwZWF0ZWRseSBpc1xuICAvLyB0b28gc2xvdy5cbiAgdmFyIG9uZHJhaW4gPSBwaXBlT25EcmFpbihzcmMpO1xuICBkZXN0Lm9uKCdkcmFpbicsIG9uZHJhaW4pO1xuICB2YXIgY2xlYW5lZFVwID0gZmFsc2U7XG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgZGVidWcoJ2NsZWFudXAnKTtcbiAgICAvLyBjbGVhbnVwIGV2ZW50IGhhbmRsZXJzIG9uY2UgdGhlIHBpcGUgaXMgYnJva2VuXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZHJhaW4nLCBvbmRyYWluKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ3VucGlwZScsIG9udW5waXBlKTtcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9uZW5kKTtcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIHVucGlwZSk7XG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdkYXRhJywgb25kYXRhKTtcbiAgICBjbGVhbmVkVXAgPSB0cnVlO1xuXG4gICAgLy8gaWYgdGhlIHJlYWRlciBpcyB3YWl0aW5nIGZvciBhIGRyYWluIGV2ZW50IGZyb20gdGhpc1xuICAgIC8vIHNwZWNpZmljIHdyaXRlciwgdGhlbiBpdCB3b3VsZCBjYXVzZSBpdCB0byBuZXZlciBzdGFydFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXG4gICAgLy8gU28sIGlmIHRoaXMgaXMgYXdhaXRpbmcgYSBkcmFpbiwgdGhlbiB3ZSBqdXN0IGNhbGwgaXQgbm93LlxuICAgIC8vIElmIHdlIGRvbid0IGtub3csIHRoZW4gYXNzdW1lIHRoYXQgd2UgYXJlIHdhaXRpbmcgZm9yIG9uZS5cbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XG4gIH1cbiAgc3JjLm9uKCdkYXRhJywgb25kYXRhKTtcbiAgZnVuY3Rpb24gb25kYXRhKGNodW5rKSB7XG4gICAgZGVidWcoJ29uZGF0YScpO1xuICAgIHZhciByZXQgPSBkZXN0LndyaXRlKGNodW5rKTtcbiAgICBkZWJ1ZygnZGVzdC53cml0ZScsIHJldCk7XG4gICAgaWYgKHJldCA9PT0gZmFsc2UpIHtcbiAgICAgIC8vIElmIHRoZSB1c2VyIHVucGlwZWQgZHVyaW5nIGBkZXN0LndyaXRlKClgLCBpdCBpcyBwb3NzaWJsZVxuICAgICAgLy8gdG8gZ2V0IHN0dWNrIGluIGEgcGVybWFuZW50bHkgcGF1c2VkIHN0YXRlIGlmIHRoYXQgd3JpdGVcbiAgICAgIC8vIGFsc28gcmV0dXJuZWQgZmFsc2UuXG4gICAgICAvLyA9PiBDaGVjayB3aGV0aGVyIGBkZXN0YCBpcyBzdGlsbCBhIHBpcGluZyBkZXN0aW5hdGlvbi5cbiAgICAgIGlmICgoc3RhdGUucGlwZXNDb3VudCA9PT0gMSAmJiBzdGF0ZS5waXBlcyA9PT0gZGVzdCB8fCBzdGF0ZS5waXBlc0NvdW50ID4gMSAmJiBpbmRleE9mKHN0YXRlLnBpcGVzLCBkZXN0KSAhPT0gLTEpICYmICFjbGVhbmVkVXApIHtcbiAgICAgICAgZGVidWcoJ2ZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZScsIHN0YXRlLmF3YWl0RHJhaW4pO1xuICAgICAgICBzdGF0ZS5hd2FpdERyYWluKys7XG4gICAgICB9XG4gICAgICBzcmMucGF1c2UoKTtcbiAgICB9XG4gIH1cblxuICAvLyBpZiB0aGUgZGVzdCBoYXMgYW4gZXJyb3IsIHRoZW4gc3RvcCBwaXBpbmcgaW50byBpdC5cbiAgLy8gaG93ZXZlciwgZG9uJ3Qgc3VwcHJlc3MgdGhlIHRocm93aW5nIGJlaGF2aW9yIGZvciB0aGlzLlxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XG4gICAgZGVidWcoJ29uZXJyb3InLCBlcik7XG4gICAgdW5waXBlKCk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICBpZiAoRUVsaXN0ZW5lckNvdW50KGRlc3QsICdlcnJvcicpID09PSAwKSBlcnJvck9yRGVzdHJveShkZXN0LCBlcik7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIHVzZXJsYW5kIG9uZXMuXG4gIHByZXBlbmRMaXN0ZW5lcihkZXN0LCAnZXJyb3InLCBvbmVycm9yKTtcblxuICAvLyBCb3RoIGNsb3NlIGFuZCBmaW5pc2ggc2hvdWxkIHRyaWdnZXIgdW5waXBlLCBidXQgb25seSBvbmNlLlxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgICB1bnBpcGUoKTtcbiAgfVxuICBkZXN0Lm9uY2UoJ2Nsb3NlJywgb25jbG9zZSk7XG4gIGZ1bmN0aW9uIG9uZmluaXNoKCkge1xuICAgIGRlYnVnKCdvbmZpbmlzaCcpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XG4gICAgdW5waXBlKCk7XG4gIH1cbiAgZGVzdC5vbmNlKCdmaW5pc2gnLCBvbmZpbmlzaCk7XG4gIGZ1bmN0aW9uIHVucGlwZSgpIHtcbiAgICBkZWJ1ZygndW5waXBlJyk7XG4gICAgc3JjLnVucGlwZShkZXN0KTtcbiAgfVxuXG4gIC8vIHRlbGwgdGhlIGRlc3QgdGhhdCBpdCdzIGJlaW5nIHBpcGVkIHRvXG4gIGRlc3QuZW1pdCgncGlwZScsIHNyYyk7XG5cbiAgLy8gc3RhcnQgdGhlIGZsb3cgaWYgaXQgaGFzbid0IGJlZW4gc3RhcnRlZCBhbHJlYWR5LlxuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcbiAgICBkZWJ1ZygncGlwZSByZXN1bWUnKTtcbiAgICBzcmMucmVzdW1lKCk7XG4gIH1cbiAgcmV0dXJuIGRlc3Q7XG59O1xuZnVuY3Rpb24gcGlwZU9uRHJhaW4oc3JjKSB7XG4gIHJldHVybiBmdW5jdGlvbiBwaXBlT25EcmFpbkZ1bmN0aW9uUmVzdWx0KCkge1xuICAgIHZhciBzdGF0ZSA9IHNyYy5fcmVhZGFibGVTdGF0ZTtcbiAgICBkZWJ1ZygncGlwZU9uRHJhaW4nLCBzdGF0ZS5hd2FpdERyYWluKTtcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbikgc3RhdGUuYXdhaXREcmFpbi0tO1xuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluID09PSAwICYmIEVFbGlzdGVuZXJDb3VudChzcmMsICdkYXRhJykpIHtcbiAgICAgIHN0YXRlLmZsb3dpbmcgPSB0cnVlO1xuICAgICAgZmxvdyhzcmMpO1xuICAgIH1cbiAgfTtcbn1cblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICB2YXIgdW5waXBlSW5mbyA9IHtcbiAgICBoYXNVbnBpcGVkOiBmYWxzZVxuICB9O1xuXG4gIC8vIGlmIHdlJ3JlIG5vdCBwaXBpbmcgYW55d2hlcmUsIHRoZW4gZG8gbm90aGluZy5cbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDApIHJldHVybiB0aGlzO1xuXG4gIC8vIGp1c3Qgb25lIGRlc3RpbmF0aW9uLiAgbW9zdCBjb21tb24gY2FzZS5cbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHtcbiAgICAvLyBwYXNzZWQgaW4gb25lLCBidXQgaXQncyBub3QgdGhlIHJpZ2h0IG9uZS5cbiAgICBpZiAoZGVzdCAmJiBkZXN0ICE9PSBzdGF0ZS5waXBlcykgcmV0dXJuIHRoaXM7XG4gICAgaWYgKCFkZXN0KSBkZXN0ID0gc3RhdGUucGlwZXM7XG5cbiAgICAvLyBnb3QgYSBtYXRjaC5cbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XG4gICAgc3RhdGUucGlwZXNDb3VudCA9IDA7XG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xuICAgIGlmIChkZXN0KSBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gc2xvdyBjYXNlLiBtdWx0aXBsZSBwaXBlIGRlc3RpbmF0aW9ucy5cblxuICBpZiAoIWRlc3QpIHtcbiAgICAvLyByZW1vdmUgYWxsLlxuICAgIHZhciBkZXN0cyA9IHN0YXRlLnBpcGVzO1xuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xuICAgIHN0YXRlLnBpcGVzID0gbnVsbDtcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykgZGVzdHNbaV0uZW1pdCgndW5waXBlJywgdGhpcywge1xuICAgICAgaGFzVW5waXBlZDogZmFsc2VcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIHRyeSB0byBmaW5kIHRoZSByaWdodCBvbmUuXG4gIHZhciBpbmRleCA9IGluZGV4T2Yoc3RhdGUucGlwZXMsIGRlc3QpO1xuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gdGhpcztcbiAgc3RhdGUucGlwZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkgc3RhdGUucGlwZXMgPSBzdGF0ZS5waXBlc1swXTtcbiAgZGVzdC5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vLyBzZXQgdXAgZGF0YSBldmVudHMgaWYgdGhleSBhcmUgYXNrZWQgZm9yXG4vLyBFbnN1cmUgcmVhZGFibGUgbGlzdGVuZXJzIGV2ZW50dWFsbHkgZ2V0IHNvbWV0aGluZ1xuUmVhZGFibGUucHJvdG90eXBlLm9uID0gZnVuY3Rpb24gKGV2LCBmbikge1xuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsIGV2LCBmbik7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIGlmIChldiA9PT0gJ2RhdGEnKSB7XG4gICAgLy8gdXBkYXRlIHJlYWRhYmxlTGlzdGVuaW5nIHNvIHRoYXQgcmVzdW1lKCkgbWF5IGJlIGEgbm8tb3BcbiAgICAvLyBhIGZldyBsaW5lcyBkb3duLiBUaGlzIGlzIG5lZWRlZCB0byBzdXBwb3J0IG9uY2UoJ3JlYWRhYmxlJykuXG4gICAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSB0aGlzLmxpc3RlbmVyQ291bnQoJ3JlYWRhYmxlJykgPiAwO1xuXG4gICAgLy8gVHJ5IHN0YXJ0IGZsb3dpbmcgb24gbmV4dCB0aWNrIGlmIHN0cmVhbSBpc24ndCBleHBsaWNpdGx5IHBhdXNlZFxuICAgIGlmIChzdGF0ZS5mbG93aW5nICE9PSBmYWxzZSkgdGhpcy5yZXN1bWUoKTtcbiAgfSBlbHNlIGlmIChldiA9PT0gJ3JlYWRhYmxlJykge1xuICAgIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcpIHtcbiAgICAgIHN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nID0gc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICAgIHN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcbiAgICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICAgICAgZGVidWcoJ29uIHJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5yZWFkaW5nKTtcbiAgICAgIGlmIChzdGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgZW1pdFJlYWRhYmxlKHRoaXMpO1xuICAgICAgfSBlbHNlIGlmICghc3RhdGUucmVhZGluZykge1xuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKG5SZWFkaW5nTmV4dFRpY2ssIHRoaXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzO1xufTtcblJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IFJlYWRhYmxlLnByb3RvdHlwZS5vbjtcblJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9IGZ1bmN0aW9uIChldiwgZm4pIHtcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLCBldiwgZm4pO1xuICBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcbiAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGlzIHNvbWVvbmUgc3RpbGwgbGlzdGVuaW5nIHRvXG4gICAgLy8gcmVhZGFibGUgYW5kIHJlc2V0IHRoZSBzdGF0ZS4gSG93ZXZlciB0aGlzIG5lZWRzIHRvIGhhcHBlblxuICAgIC8vIGFmdGVyIHJlYWRhYmxlIGhhcyBiZWVuIGVtaXR0ZWQgYnV0IGJlZm9yZSBJL08gKG5leHRUaWNrKSB0b1xuICAgIC8vIHN1cHBvcnQgb25jZSgncmVhZGFibGUnLCBmbikgY3ljbGVzLiBUaGlzIG1lYW5zIHRoYXQgY2FsbGluZ1xuICAgIC8vIHJlc3VtZSB3aXRoaW4gdGhlIHNhbWUgdGljayB3aWxsIGhhdmUgbm9cbiAgICAvLyBlZmZlY3QuXG4gICAgcHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZywgdGhpcyk7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn07XG5SZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID0gZnVuY3Rpb24gKGV2KSB7XG4gIHZhciByZXMgPSBTdHJlYW0ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICBpZiAoZXYgPT09ICdyZWFkYWJsZScgfHwgZXYgPT09IHVuZGVmaW5lZCkge1xuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgc29tZW9uZSBzdGlsbCBsaXN0ZW5pbmcgdG9cbiAgICAvLyByZWFkYWJsZSBhbmQgcmVzZXQgdGhlIHN0YXRlLiBIb3dldmVyIHRoaXMgbmVlZHMgdG8gaGFwcGVuXG4gICAgLy8gYWZ0ZXIgcmVhZGFibGUgaGFzIGJlZW4gZW1pdHRlZCBidXQgYmVmb3JlIEkvTyAobmV4dFRpY2spIHRvXG4gICAgLy8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScsIGZuKSBjeWNsZXMuIFRoaXMgbWVhbnMgdGhhdCBjYWxsaW5nXG4gICAgLy8gcmVzdW1lIHdpdGhpbiB0aGUgc2FtZSB0aWNrIHdpbGwgaGF2ZSBub1xuICAgIC8vIGVmZmVjdC5cbiAgICBwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLCB0aGlzKTtcbiAgfVxuICByZXR1cm4gcmVzO1xufTtcbmZ1bmN0aW9uIHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nKHNlbGYpIHtcbiAgdmFyIHN0YXRlID0gc2VsZi5fcmVhZGFibGVTdGF0ZTtcbiAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSBzZWxmLmxpc3RlbmVyQ291bnQoJ3JlYWRhYmxlJykgPiAwO1xuICBpZiAoc3RhdGUucmVzdW1lU2NoZWR1bGVkICYmICFzdGF0ZS5wYXVzZWQpIHtcbiAgICAvLyBmbG93aW5nIG5lZWRzIHRvIGJlIHNldCB0byB0cnVlIG5vdywgb3RoZXJ3aXNlXG4gICAgLy8gdGhlIHVwY29taW5nIHJlc3VtZSB3aWxsIG5vdCBmbG93LlxuICAgIHN0YXRlLmZsb3dpbmcgPSB0cnVlO1xuXG4gICAgLy8gY3J1ZGUgd2F5IHRvIGNoZWNrIGlmIHdlIHNob3VsZCByZXN1bWVcbiAgfSBlbHNlIGlmIChzZWxmLmxpc3RlbmVyQ291bnQoJ2RhdGEnKSA+IDApIHtcbiAgICBzZWxmLnJlc3VtZSgpO1xuICB9XG59XG5mdW5jdGlvbiBuUmVhZGluZ05leHRUaWNrKHNlbGYpIHtcbiAgZGVidWcoJ3JlYWRhYmxlIG5leHR0aWNrIHJlYWQgMCcpO1xuICBzZWxmLnJlYWQoMCk7XG59XG5cbi8vIHBhdXNlKCkgYW5kIHJlc3VtZSgpIGFyZSByZW1uYW50cyBvZiB0aGUgbGVnYWN5IHJlYWRhYmxlIHN0cmVhbSBBUElcbi8vIElmIHRoZSB1c2VyIHVzZXMgdGhlbSwgdGhlbiBzd2l0Y2ggaW50byBvbGQgbW9kZS5cblJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIGlmICghc3RhdGUuZmxvd2luZykge1xuICAgIGRlYnVnKCdyZXN1bWUnKTtcbiAgICAvLyB3ZSBmbG93IG9ubHkgaWYgdGhlcmUgaXMgbm8gb25lIGxpc3RlbmluZ1xuICAgIC8vIGZvciByZWFkYWJsZSwgYnV0IHdlIHN0aWxsIGhhdmUgdG8gY2FsbFxuICAgIC8vIHJlc3VtZSgpXG4gICAgc3RhdGUuZmxvd2luZyA9ICFzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZztcbiAgICByZXN1bWUodGhpcywgc3RhdGUpO1xuICB9XG4gIHN0YXRlLnBhdXNlZCA9IGZhbHNlO1xuICByZXR1cm4gdGhpcztcbn07XG5mdW5jdGlvbiByZXN1bWUoc3RyZWFtLCBzdGF0ZSkge1xuICBpZiAoIXN0YXRlLnJlc3VtZVNjaGVkdWxlZCkge1xuICAgIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IHRydWU7XG4gICAgcHJvY2Vzcy5uZXh0VGljayhyZXN1bWVfLCBzdHJlYW0sIHN0YXRlKTtcbiAgfVxufVxuZnVuY3Rpb24gcmVzdW1lXyhzdHJlYW0sIHN0YXRlKSB7XG4gIGRlYnVnKCdyZXN1bWUnLCBzdGF0ZS5yZWFkaW5nKTtcbiAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XG4gICAgc3RyZWFtLnJlYWQoMCk7XG4gIH1cbiAgc3RhdGUucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XG4gIHN0cmVhbS5lbWl0KCdyZXN1bWUnKTtcbiAgZmxvdyhzdHJlYW0pO1xuICBpZiAoc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUucmVhZGluZykgc3RyZWFtLnJlYWQoMCk7XG59XG5SZWFkYWJsZS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XG4gIGRlYnVnKCdjYWxsIHBhdXNlIGZsb3dpbmc9JWonLCB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpO1xuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nICE9PSBmYWxzZSkge1xuICAgIGRlYnVnKCdwYXVzZScpO1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9IGZhbHNlO1xuICAgIHRoaXMuZW1pdCgncGF1c2UnKTtcbiAgfVxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZCA9IHRydWU7XG4gIHJldHVybiB0aGlzO1xufTtcbmZ1bmN0aW9uIGZsb3coc3RyZWFtKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcbiAgZGVidWcoJ2Zsb3cnLCBzdGF0ZS5mbG93aW5nKTtcbiAgd2hpbGUgKHN0YXRlLmZsb3dpbmcgJiYgc3RyZWFtLnJlYWQoKSAhPT0gbnVsbCk7XG59XG5cbi8vIHdyYXAgYW4gb2xkLXN0eWxlIHN0cmVhbSBhcyB0aGUgYXN5bmMgZGF0YSBzb3VyY2UuXG4vLyBUaGlzIGlzICpub3QqIHBhcnQgb2YgdGhlIHJlYWRhYmxlIHN0cmVhbSBpbnRlcmZhY2UuXG4vLyBJdCBpcyBhbiB1Z2x5IHVuZm9ydHVuYXRlIG1lc3Mgb2YgaGlzdG9yeS5cblJlYWRhYmxlLnByb3RvdHlwZS53cmFwID0gZnVuY3Rpb24gKHN0cmVhbSkge1xuICB2YXIgX3RoaXMgPSB0aGlzO1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICB2YXIgcGF1c2VkID0gZmFsc2U7XG4gIHN0cmVhbS5vbignZW5kJywgZnVuY3Rpb24gKCkge1xuICAgIGRlYnVnKCd3cmFwcGVkIGVuZCcpO1xuICAgIGlmIChzdGF0ZS5kZWNvZGVyICYmICFzdGF0ZS5lbmRlZCkge1xuICAgICAgdmFyIGNodW5rID0gc3RhdGUuZGVjb2Rlci5lbmQoKTtcbiAgICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIF90aGlzLnB1c2goY2h1bmspO1xuICAgIH1cbiAgICBfdGhpcy5wdXNoKG51bGwpO1xuICB9KTtcbiAgc3RyZWFtLm9uKCdkYXRhJywgZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgZGF0YScpO1xuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xuXG4gICAgLy8gZG9uJ3Qgc2tpcCBvdmVyIGZhbHN5IHZhbHVlcyBpbiBvYmplY3RNb2RlXG4gICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgJiYgKGNodW5rID09PSBudWxsIHx8IGNodW5rID09PSB1bmRlZmluZWQpKSByZXR1cm47ZWxzZSBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgKCFjaHVuayB8fCAhY2h1bmsubGVuZ3RoKSkgcmV0dXJuO1xuICAgIHZhciByZXQgPSBfdGhpcy5wdXNoKGNodW5rKTtcbiAgICBpZiAoIXJldCkge1xuICAgICAgcGF1c2VkID0gdHJ1ZTtcbiAgICAgIHN0cmVhbS5wYXVzZSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gcHJveHkgYWxsIHRoZSBvdGhlciBtZXRob2RzLlxuICAvLyBpbXBvcnRhbnQgd2hlbiB3cmFwcGluZyBmaWx0ZXJzIGFuZCBkdXBsZXhlcy5cbiAgZm9yICh2YXIgaSBpbiBzdHJlYW0pIHtcbiAgICBpZiAodGhpc1tpXSA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiBzdHJlYW1baV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXNbaV0gPSBmdW5jdGlvbiBtZXRob2RXcmFwKG1ldGhvZCkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gbWV0aG9kV3JhcFJldHVybkZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBzdHJlYW1bbWV0aG9kXS5hcHBseShzdHJlYW0sIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgICB9KGkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHByb3h5IGNlcnRhaW4gaW1wb3J0YW50IGV2ZW50cy5cbiAgZm9yICh2YXIgbiA9IDA7IG4gPCBrUHJveHlFdmVudHMubGVuZ3RoOyBuKyspIHtcbiAgICBzdHJlYW0ub24oa1Byb3h5RXZlbnRzW25dLCB0aGlzLmVtaXQuYmluZCh0aGlzLCBrUHJveHlFdmVudHNbbl0pKTtcbiAgfVxuXG4gIC8vIHdoZW4gd2UgdHJ5IHRvIGNvbnN1bWUgc29tZSBtb3JlIGJ5dGVzLCBzaW1wbHkgdW5wYXVzZSB0aGVcbiAgLy8gdW5kZXJseWluZyBzdHJlYW0uXG4gIHRoaXMuX3JlYWQgPSBmdW5jdGlvbiAobikge1xuICAgIGRlYnVnKCd3cmFwcGVkIF9yZWFkJywgbik7XG4gICAgaWYgKHBhdXNlZCkge1xuICAgICAgcGF1c2VkID0gZmFsc2U7XG4gICAgICBzdHJlYW0ucmVzdW1lKCk7XG4gICAgfVxuICB9O1xuICByZXR1cm4gdGhpcztcbn07XG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJykge1xuICBSZWFkYWJsZS5wcm90b3R5cGVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkge1xuICAgIGlmIChjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yJyk7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IodGhpcyk7XG4gIH07XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVIaWdoV2F0ZXJNYXJrJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUJ1ZmZlcicsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXI7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlRmxvd2luZycsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZztcbiAgfSxcbiAgc2V0OiBmdW5jdGlvbiBzZXQoc3RhdGUpIHtcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xuICAgICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nID0gc3RhdGU7XG4gICAgfVxuICB9XG59KTtcblxuLy8gZXhwb3NlZCBmb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5LlxuUmVhZGFibGUuX2Zyb21MaXN0ID0gZnJvbUxpc3Q7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVMZW5ndGgnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aDtcbiAgfVxufSk7XG5cbi8vIFBsdWNrIG9mZiBuIGJ5dGVzIGZyb20gYW4gYXJyYXkgb2YgYnVmZmVycy5cbi8vIExlbmd0aCBpcyB0aGUgY29tYmluZWQgbGVuZ3RocyBvZiBhbGwgdGhlIGJ1ZmZlcnMgaW4gdGhlIGxpc3QuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGlubGluYWJsZSwgc28gcGxlYXNlIHRha2UgY2FyZSB3aGVuIG1ha2luZ1xuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cbmZ1bmN0aW9uIGZyb21MaXN0KG4sIHN0YXRlKSB7XG4gIC8vIG5vdGhpbmcgYnVmZmVyZWRcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XG4gIHZhciByZXQ7XG4gIGlmIChzdGF0ZS5vYmplY3RNb2RlKSByZXQgPSBzdGF0ZS5idWZmZXIuc2hpZnQoKTtlbHNlIGlmICghbiB8fCBuID49IHN0YXRlLmxlbmd0aCkge1xuICAgIC8vIHJlYWQgaXQgYWxsLCB0cnVuY2F0ZSB0aGUgbGlzdFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSByZXQgPSBzdGF0ZS5idWZmZXIuam9pbignJyk7ZWxzZSBpZiAoc3RhdGUuYnVmZmVyLmxlbmd0aCA9PT0gMSkgcmV0ID0gc3RhdGUuYnVmZmVyLmZpcnN0KCk7ZWxzZSByZXQgPSBzdGF0ZS5idWZmZXIuY29uY2F0KHN0YXRlLmxlbmd0aCk7XG4gICAgc3RhdGUuYnVmZmVyLmNsZWFyKCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gcmVhZCBwYXJ0IG9mIGxpc3RcbiAgICByZXQgPSBzdGF0ZS5idWZmZXIuY29uc3VtZShuLCBzdGF0ZS5kZWNvZGVyKTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuZnVuY3Rpb24gZW5kUmVhZGFibGUoc3RyZWFtKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcbiAgZGVidWcoJ2VuZFJlYWRhYmxlJywgc3RhdGUuZW5kRW1pdHRlZCk7XG4gIGlmICghc3RhdGUuZW5kRW1pdHRlZCkge1xuICAgIHN0YXRlLmVuZGVkID0gdHJ1ZTtcbiAgICBwcm9jZXNzLm5leHRUaWNrKGVuZFJlYWRhYmxlTlQsIHN0YXRlLCBzdHJlYW0pO1xuICB9XG59XG5mdW5jdGlvbiBlbmRSZWFkYWJsZU5UKHN0YXRlLCBzdHJlYW0pIHtcbiAgZGVidWcoJ2VuZFJlYWRhYmxlTlQnLCBzdGF0ZS5lbmRFbWl0dGVkLCBzdGF0ZS5sZW5ndGgpO1xuXG4gIC8vIENoZWNrIHRoYXQgd2UgZGlkbid0IGdldCBvbmUgbGFzdCB1bnNoaWZ0LlxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQgJiYgc3RhdGUubGVuZ3RoID09PSAwKSB7XG4gICAgc3RhdGUuZW5kRW1pdHRlZCA9IHRydWU7XG4gICAgc3RyZWFtLnJlYWRhYmxlID0gZmFsc2U7XG4gICAgc3RyZWFtLmVtaXQoJ2VuZCcpO1xuICAgIGlmIChzdGF0ZS5hdXRvRGVzdHJveSkge1xuICAgICAgLy8gSW4gY2FzZSBvZiBkdXBsZXggc3RyZWFtcyB3ZSBuZWVkIGEgd2F5IHRvIGRldGVjdFxuICAgICAgLy8gaWYgdGhlIHdyaXRhYmxlIHNpZGUgaXMgcmVhZHkgZm9yIGF1dG9EZXN0cm95IGFzIHdlbGxcbiAgICAgIHZhciB3U3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XG4gICAgICBpZiAoIXdTdGF0ZSB8fCB3U3RhdGUuYXV0b0Rlc3Ryb3kgJiYgd1N0YXRlLmZpbmlzaGVkKSB7XG4gICAgICAgIHN0cmVhbS5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJykge1xuICBSZWFkYWJsZS5mcm9tID0gZnVuY3Rpb24gKGl0ZXJhYmxlLCBvcHRzKSB7XG4gICAgaWYgKGZyb20gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZnJvbSA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9mcm9tJyk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tKFJlYWRhYmxlLCBpdGVyYWJsZSwgb3B0cyk7XG4gIH07XG59XG5mdW5jdGlvbiBpbmRleE9mKHhzLCB4KSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0geHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgaWYgKHhzW2ldID09PSB4KSByZXR1cm4gaTtcbiAgfVxuICByZXR1cm4gLTE7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/_stream_readable.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_transform.js": -/*!***************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_transform.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// 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// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/readable-stream/errors-browser.js\").codes),\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLGFBQWE7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0EscUJBQXFCLGdHQUEwQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyw4RUFBa0I7QUFDdkMsbUJBQU8sQ0FBQyw2REFBVTtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcz8yNDJkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIHRyYW5zZm9ybSBzdHJlYW0gaXMgYSByZWFkYWJsZS93cml0YWJsZSBzdHJlYW0gd2hlcmUgeW91IGRvXG4vLyBzb21ldGhpbmcgd2l0aCB0aGUgZGF0YS4gIFNvbWV0aW1lcyBpdCdzIGNhbGxlZCBhIFwiZmlsdGVyXCIsXG4vLyBidXQgdGhhdCdzIG5vdCBhIGdyZWF0IG5hbWUgZm9yIGl0LCBzaW5jZSB0aGF0IGltcGxpZXMgYSB0aGluZyB3aGVyZVxuLy8gc29tZSBiaXRzIHBhc3MgdGhyb3VnaCwgYW5kIG90aGVycyBhcmUgc2ltcGx5IGlnbm9yZWQuICAoVGhhdCB3b3VsZFxuLy8gYmUgYSB2YWxpZCBleGFtcGxlIG9mIGEgdHJhbnNmb3JtLCBvZiBjb3Vyc2UuKVxuLy9cbi8vIFdoaWxlIHRoZSBvdXRwdXQgaXMgY2F1c2FsbHkgcmVsYXRlZCB0byB0aGUgaW5wdXQsIGl0J3Mgbm90IGFcbi8vIG5lY2Vzc2FyaWx5IHN5bW1ldHJpYyBvciBzeW5jaHJvbm91cyB0cmFuc2Zvcm1hdGlvbi4gIEZvciBleGFtcGxlLFxuLy8gYSB6bGliIHN0cmVhbSBtaWdodCB0YWtlIG11bHRpcGxlIHBsYWluLXRleHQgd3JpdGVzKCksIGFuZCB0aGVuXG4vLyBlbWl0IGEgc2luZ2xlIGNvbXByZXNzZWQgY2h1bmsgc29tZSB0aW1lIGluIHRoZSBmdXR1cmUuXG4vL1xuLy8gSGVyZSdzIGhvdyB0aGlzIHdvcmtzOlxuLy9cbi8vIFRoZSBUcmFuc2Zvcm0gc3RyZWFtIGhhcyBhbGwgdGhlIGFzcGVjdHMgb2YgdGhlIHJlYWRhYmxlIGFuZCB3cml0YWJsZVxuLy8gc3RyZWFtIGNsYXNzZXMuICBXaGVuIHlvdSB3cml0ZShjaHVuayksIHRoYXQgY2FsbHMgX3dyaXRlKGNodW5rLGNiKVxuLy8gaW50ZXJuYWxseSwgYW5kIHJldHVybnMgZmFsc2UgaWYgdGhlcmUncyBhIGxvdCBvZiBwZW5kaW5nIHdyaXRlc1xuLy8gYnVmZmVyZWQgdXAuICBXaGVuIHlvdSBjYWxsIHJlYWQoKSwgdGhhdCBjYWxscyBfcmVhZChuKSB1bnRpbFxuLy8gdGhlcmUncyBlbm91Z2ggcGVuZGluZyByZWFkYWJsZSBkYXRhIGJ1ZmZlcmVkIHVwLlxuLy9cbi8vIEluIGEgdHJhbnNmb3JtIHN0cmVhbSwgdGhlIHdyaXR0ZW4gZGF0YSBpcyBwbGFjZWQgaW4gYSBidWZmZXIuICBXaGVuXG4vLyBfcmVhZChuKSBpcyBjYWxsZWQsIGl0IHRyYW5zZm9ybXMgdGhlIHF1ZXVlZCB1cCBkYXRhLCBjYWxsaW5nIHRoZVxuLy8gYnVmZmVyZWQgX3dyaXRlIGNiJ3MgYXMgaXQgY29uc3VtZXMgY2h1bmtzLiAgSWYgY29uc3VtaW5nIGEgc2luZ2xlXG4vLyB3cml0dGVuIGNodW5rIHdvdWxkIHJlc3VsdCBpbiBtdWx0aXBsZSBvdXRwdXQgY2h1bmtzLCB0aGVuIHRoZSBmaXJzdFxuLy8gb3V0cHV0dGVkIGJpdCBjYWxscyB0aGUgcmVhZGNiLCBhbmQgc3Vic2VxdWVudCBjaHVua3MganVzdCBnbyBpbnRvXG4vLyB0aGUgcmVhZCBidWZmZXIsIGFuZCB3aWxsIGNhdXNlIGl0IHRvIGVtaXQgJ3JlYWRhYmxlJyBpZiBuZWNlc3NhcnkuXG4vL1xuLy8gVGhpcyB3YXksIGJhY2stcHJlc3N1cmUgaXMgYWN0dWFsbHkgZGV0ZXJtaW5lZCBieSB0aGUgcmVhZGluZyBzaWRlLFxuLy8gc2luY2UgX3JlYWQgaGFzIHRvIGJlIGNhbGxlZCB0byBzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGNodW5rLiAgSG93ZXZlcixcbi8vIGEgcGF0aG9sb2dpY2FsIGluZmxhdGUgdHlwZSBvZiB0cmFuc2Zvcm0gY2FuIGNhdXNlIGV4Y2Vzc2l2ZSBidWZmZXJpbmdcbi8vIGhlcmUuICBGb3IgZXhhbXBsZSwgaW1hZ2luZSBhIHN0cmVhbSB3aGVyZSBldmVyeSBieXRlIG9mIGlucHV0IGlzXG4vLyBpbnRlcnByZXRlZCBhcyBhbiBpbnRlZ2VyIGZyb20gMC0yNTUsIGFuZCB0aGVuIHJlc3VsdHMgaW4gdGhhdCBtYW55XG4vLyBieXRlcyBvZiBvdXRwdXQuICBXcml0aW5nIHRoZSA0IGJ5dGVzIHtmZixmZixmZixmZn0gd291bGQgcmVzdWx0IGluXG4vLyAxa2Igb2YgZGF0YSBiZWluZyBvdXRwdXQuICBJbiB0aGlzIGNhc2UsIHlvdSBjb3VsZCB3cml0ZSBhIHZlcnkgc21hbGxcbi8vIGFtb3VudCBvZiBpbnB1dCwgYW5kIGVuZCB1cCB3aXRoIGEgdmVyeSBsYXJnZSBhbW91bnQgb2Ygb3V0cHV0LiAgSW5cbi8vIHN1Y2ggYSBwYXRob2xvZ2ljYWwgaW5mbGF0aW5nIG1lY2hhbmlzbSwgdGhlcmUnZCBiZSBubyB3YXkgdG8gdGVsbFxuLy8gdGhlIHN5c3RlbSB0byBzdG9wIGRvaW5nIHRoZSB0cmFuc2Zvcm0uICBBIHNpbmdsZSA0TUIgd3JpdGUgY291bGRcbi8vIGNhdXNlIHRoZSBzeXN0ZW0gdG8gcnVuIG91dCBvZiBtZW1vcnkuXG4vL1xuLy8gSG93ZXZlciwgZXZlbiBpbiBzdWNoIGEgcGF0aG9sb2dpY2FsIGNhc2UsIG9ubHkgYSBzaW5nbGUgd3JpdHRlbiBjaHVua1xuLy8gd291bGQgYmUgY29uc3VtZWQsIGFuZCB0aGVuIHRoZSByZXN0IHdvdWxkIHdhaXQgKHVuLXRyYW5zZm9ybWVkKSB1bnRpbFxuLy8gdGhlIHJlc3VsdHMgb2YgdGhlIHByZXZpb3VzIHRyYW5zZm9ybWVkIGNodW5rIHdlcmUgY29uc3VtZWQuXG5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBUcmFuc2Zvcm07XG52YXIgX3JlcXVpcmUkY29kZXMgPSByZXF1aXJlKCcuLi9lcnJvcnMnKS5jb2RlcyxcbiAgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxcbiAgRVJSX01VTFRJUExFX0NBTExCQUNLID0gX3JlcXVpcmUkY29kZXMuRVJSX01VTFRJUExFX0NBTExCQUNLLFxuICBFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HID0gX3JlcXVpcmUkY29kZXMuRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyxcbiAgRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wID0gX3JlcXVpcmUkY29kZXMuRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wO1xudmFyIER1cGxleCA9IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcbnJlcXVpcmUoJ2luaGVyaXRzJykoVHJhbnNmb3JtLCBEdXBsZXgpO1xuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG4gIHRzLnRyYW5zZm9ybWluZyA9IGZhbHNlO1xuICB2YXIgY2IgPSB0cy53cml0ZWNiO1xuICBpZiAoY2IgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0soKSk7XG4gIH1cbiAgdHMud3JpdGVjaHVuayA9IG51bGw7XG4gIHRzLndyaXRlY2IgPSBudWxsO1xuICBpZiAoZGF0YSAhPSBudWxsKVxuICAgIC8vIHNpbmdsZSBlcXVhbHMgY2hlY2sgZm9yIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYFxuICAgIHRoaXMucHVzaChkYXRhKTtcbiAgY2IoZXIpO1xuICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICBycy5yZWFkaW5nID0gZmFsc2U7XG4gIGlmIChycy5uZWVkUmVhZGFibGUgfHwgcnMubGVuZ3RoIDwgcnMuaGlnaFdhdGVyTWFyaykge1xuICAgIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XG4gIH1cbn1cbmZ1bmN0aW9uIFRyYW5zZm9ybShvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKSByZXR1cm4gbmV3IFRyYW5zZm9ybShvcHRpb25zKTtcbiAgRHVwbGV4LmNhbGwodGhpcywgb3B0aW9ucyk7XG4gIHRoaXMuX3RyYW5zZm9ybVN0YXRlID0ge1xuICAgIGFmdGVyVHJhbnNmb3JtOiBhZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLFxuICAgIG5lZWRUcmFuc2Zvcm06IGZhbHNlLFxuICAgIHRyYW5zZm9ybWluZzogZmFsc2UsXG4gICAgd3JpdGVjYjogbnVsbCxcbiAgICB3cml0ZWNodW5rOiBudWxsLFxuICAgIHdyaXRlZW5jb2Rpbmc6IG51bGxcbiAgfTtcblxuICAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuXG4gIC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xuICAvLyB0aGF0IFJlYWRhYmxlIHdhbnRzIGJlZm9yZSB0aGUgZmlyc3QgX3JlYWQgY2FsbCwgc28gdW5zZXQgdGhlXG4gIC8vIHN5bmMgZ3VhcmQgZmxhZy5cbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XG4gIGlmIChvcHRpb25zKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLnRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fdHJhbnNmb3JtID0gb3B0aW9ucy50cmFuc2Zvcm07XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmZsdXNoID09PSAnZnVuY3Rpb24nKSB0aGlzLl9mbHVzaCA9IG9wdGlvbnMuZmx1c2g7XG4gIH1cblxuICAvLyBXaGVuIHRoZSB3cml0YWJsZSBzaWRlIGZpbmlzaGVzLCB0aGVuIGZsdXNoIG91dCBhbnl0aGluZyByZW1haW5pbmcuXG4gIHRoaXMub24oJ3ByZWZpbmlzaCcsIHByZWZpbmlzaCk7XG59XG5mdW5jdGlvbiBwcmVmaW5pc2goKSB7XG4gIHZhciBfdGhpcyA9IHRoaXM7XG4gIGlmICh0eXBlb2YgdGhpcy5fZmx1c2ggPT09ICdmdW5jdGlvbicgJiYgIXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkKSB7XG4gICAgdGhpcy5fZmx1c2goZnVuY3Rpb24gKGVyLCBkYXRhKSB7XG4gICAgICBkb25lKF90aGlzLCBlciwgZGF0YSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgZG9uZSh0aGlzLCBudWxsLCBudWxsKTtcbiAgfVxufVxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtID0gZmFsc2U7XG4gIHJldHVybiBEdXBsZXgucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLCBjaHVuaywgZW5jb2RpbmcpO1xufTtcblxuLy8gVGhpcyBpcyB0aGUgcGFydCB3aGVyZSB5b3UgZG8gc3R1ZmYhXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXG4vLyAnY2h1bmsnIGlzIGFuIGlucHV0IGNodW5rLlxuLy9cbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxuLy8gdG8gdGhlIHJlYWRhYmxlIHNpZGUuICBZb3UgbWF5IGNhbGwgJ3B1c2gnIHplcm8gb3IgbW9yZSB0aW1lcy5cbi8vXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xuLy8gYW4gZXJyb3IsIHRoZW4gdGhhdCdsbCBwdXQgdGhlIGh1cnQgb24gdGhlIHdob2xlIG9wZXJhdGlvbi4gIElmIHlvdVxuLy8gbmV2ZXIgY2FsbCBjYigpLCB0aGVuIHlvdSdsbCBuZXZlciBnZXQgYW5vdGhlciBjaHVuay5cblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIGNiKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3RyYW5zZm9ybSgpJykpO1xufTtcblRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG4gIHRzLndyaXRlY2IgPSBjYjtcbiAgdHMud3JpdGVjaHVuayA9IGNodW5rO1xuICB0cy53cml0ZWVuY29kaW5nID0gZW5jb2Rpbmc7XG4gIGlmICghdHMudHJhbnNmb3JtaW5nKSB7XG4gICAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgICBpZiAodHMubmVlZFRyYW5zZm9ybSB8fCBycy5uZWVkUmVhZGFibGUgfHwgcnMubGVuZ3RoIDwgcnMuaGlnaFdhdGVyTWFyaykgdGhpcy5fcmVhZChycy5oaWdoV2F0ZXJNYXJrKTtcbiAgfVxufTtcblxuLy8gRG9lc24ndCBtYXR0ZXIgd2hhdCB0aGUgYXJncyBhcmUgaGVyZS5cbi8vIF90cmFuc2Zvcm0gZG9lcyBhbGwgdGhlIHdvcmsuXG4vLyBUaGF0IHdlIGdvdCBoZXJlIG1lYW5zIHRoYXQgdGhlIHJlYWRhYmxlIHNpZGUgd2FudHMgbW9yZSBkYXRhLlxuVHJhbnNmb3JtLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xuICBpZiAodHMud3JpdGVjaHVuayAhPT0gbnVsbCAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XG4gICAgdHMudHJhbnNmb3JtaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl90cmFuc2Zvcm0odHMud3JpdGVjaHVuaywgdHMud3JpdGVlbmNvZGluZywgdHMuYWZ0ZXJUcmFuc2Zvcm0pO1xuICB9IGVsc2Uge1xuICAgIC8vIG1hcmsgdGhhdCB3ZSBuZWVkIGEgdHJhbnNmb3JtLCBzbyB0aGF0IGFueSBkYXRhIHRoYXQgY29tZXMgaW5cbiAgICAvLyB3aWxsIGdldCBwcm9jZXNzZWQsIG5vdyB0aGF0IHdlJ3ZlIGFza2VkIGZvciBpdC5cbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcbiAgfVxufTtcblRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xuICBEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcywgZXJyLCBmdW5jdGlvbiAoZXJyMikge1xuICAgIGNiKGVycjIpO1xuICB9KTtcbn07XG5mdW5jdGlvbiBkb25lKHN0cmVhbSwgZXIsIGRhdGEpIHtcbiAgaWYgKGVyKSByZXR1cm4gc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICBpZiAoZGF0YSAhPSBudWxsKVxuICAgIC8vIHNpbmdsZSBlcXVhbHMgY2hlY2sgZm9yIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYFxuICAgIHN0cmVhbS5wdXNoKGRhdGEpO1xuXG4gIC8vIFRPRE8oQnJpZGdlQVIpOiBXcml0ZSBhIHRlc3QgZm9yIHRoZXNlIHR3byBlcnJvciBjYXNlc1xuICAvLyBpZiB0aGVyZSdzIG5vdGhpbmcgaW4gdGhlIHdyaXRlIGJ1ZmZlciwgdGhlbiB0aGF0IG1lYW5zXG4gIC8vIHRoYXQgbm90aGluZyBtb3JlIHdpbGwgZXZlciBiZSBwcm92aWRlZFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCgpO1xuICBpZiAoc3RyZWFtLl90cmFuc2Zvcm1TdGF0ZS50cmFuc2Zvcm1pbmcpIHRocm93IG5ldyBFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HKCk7XG4gIHJldHVybiBzdHJlYW0ucHVzaChudWxsKTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/_stream_transform.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_writable.js": -/*!**************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_writable.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n// 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// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/util-deprecate/browser.js\")\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLGdFQUFnQjtBQUNyQztBQUNBOztBQUVBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLHdHQUEyQjtBQUNoRDs7QUFFQSxhQUFhLDRFQUF3QjtBQUNyQyw0QkFBNEIscUJBQU0sbUJBQW1CLHFCQUFNLG1GQUFtRjtBQUM5STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQyxrR0FBNEI7QUFDdEQsZUFBZSxtQkFBTyxDQUFDLDhGQUEwQjtBQUNqRDtBQUNBLHFCQUFxQixnR0FBMEI7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQU8sQ0FBQyw2REFBVTtBQUNsQjtBQUNBO0FBQ0EscUJBQXFCLG1CQUFPLENBQUMsOEVBQWtCO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsSUFBSTtBQUNKLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixtQkFBTyxDQUFDLDhFQUFrQjs7QUFFL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU87QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksT0FBTztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RSxzREFBc0Q7QUFDOUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLE9BQU87QUFDWDtBQUNBO0FBQ0EsSUFBSSxPQUFPO0FBQ1g7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLE9BQU87QUFDYixNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTztBQUNiLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixPQUFPLGNBQWM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qcz9jZjFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBBIGJpdCBzaW1wbGVyIHRoYW4gcmVhZGFibGUgc3RyZWFtcy5cbi8vIEltcGxlbWVudCBhbiBhc3luYyAuX3dyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpLCBhbmQgaXQnbGwgaGFuZGxlIGFsbFxuLy8gdGhlIGRyYWluIGV2ZW50IGVtaXNzaW9uIGFuZCBidWZmZXJpbmcuXG5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBXcml0YWJsZTtcblxuLyogPHJlcGxhY2VtZW50PiAqL1xuZnVuY3Rpb24gV3JpdGVSZXEoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB0aGlzLmNodW5rID0gY2h1bms7XG4gIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZztcbiAgdGhpcy5jYWxsYmFjayA9IGNiO1xuICB0aGlzLm5leHQgPSBudWxsO1xufVxuXG4vLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3Rcbi8vIHRoZXJlIHdpbGwgYmUgb25seSAyIG9mIHRoZXNlIGZvciBlYWNoIHN0cmVhbVxuZnVuY3Rpb24gQ29ya2VkUmVxdWVzdChzdGF0ZSkge1xuICB2YXIgX3RoaXMgPSB0aGlzO1xuICB0aGlzLm5leHQgPSBudWxsO1xuICB0aGlzLmVudHJ5ID0gbnVsbDtcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgb25Db3JrZWRGaW5pc2goX3RoaXMsIHN0YXRlKTtcbiAgfTtcbn1cbi8qIDwvcmVwbGFjZW1lbnQ+ICovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgRHVwbGV4O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbldyaXRhYmxlLldyaXRhYmxlU3RhdGUgPSBXcml0YWJsZVN0YXRlO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIGludGVybmFsVXRpbCA9IHtcbiAgZGVwcmVjYXRlOiByZXF1aXJlKCd1dGlsLWRlcHJlY2F0ZScpXG59O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgU3RyZWFtID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbScpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdidWZmZXInKS5CdWZmZXI7XG52YXIgT3VyVWludDhBcnJheSA9ICh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbCA6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHt9KS5VaW50OEFycmF5IHx8IGZ1bmN0aW9uICgpIHt9O1xuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xuICByZXR1cm4gQnVmZmVyLmZyb20oY2h1bmspO1xufVxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcbiAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihvYmopIHx8IG9iaiBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXk7XG59XG52YXIgZGVzdHJveUltcGwgPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveScpO1xudmFyIF9yZXF1aXJlID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlJyksXG4gIGdldEhpZ2hXYXRlck1hcmsgPSBfcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrO1xudmFyIF9yZXF1aXJlJGNvZGVzID0gcmVxdWlyZSgnLi4vZXJyb3JzJykuY29kZXMsXG4gIEVSUl9JTlZBTElEX0FSR19UWVBFID0gX3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsXG4gIEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEID0gX3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsXG4gIEVSUl9NVUxUSVBMRV9DQUxMQkFDSyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxcbiAgRVJSX1NUUkVBTV9DQU5OT1RfUElQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUsXG4gIEVSUl9TVFJFQU1fREVTVFJPWUVEID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQsXG4gIEVSUl9TVFJFQU1fTlVMTF9WQUxVRVMgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX05VTExfVkFMVUVTLFxuICBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5ELFxuICBFUlJfVU5LTk9XTl9FTkNPRElORyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9VTktOT1dOX0VOQ09ESU5HO1xudmFyIGVycm9yT3JEZXN0cm95ID0gZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3k7XG5yZXF1aXJlKCdpbmhlcml0cycpKFdyaXRhYmxlLCBTdHJlYW0pO1xuZnVuY3Rpb24gbm9wKCkge31cbmZ1bmN0aW9uIFdyaXRhYmxlU3RhdGUob3B0aW9ucywgc3RyZWFtLCBpc0R1cGxleCkge1xuICBEdXBsZXggPSBEdXBsZXggfHwgcmVxdWlyZSgnLi9fc3RyZWFtX2R1cGxleCcpO1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuICAvLyBEdXBsZXggc3RyZWFtcyBhcmUgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUsIGJ1dCBzaGFyZVxuICAvLyB0aGUgc2FtZSBvcHRpb25zIG9iamVjdC5cbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcbiAgLy8gdmFsdWVzIGZvciB0aGUgcmVhZGFibGUgYW5kIHRoZSB3cml0YWJsZSBzaWRlcyBvZiB0aGUgZHVwbGV4IHN0cmVhbSxcbiAgLy8gZS5nLiBvcHRpb25zLnJlYWRhYmxlT2JqZWN0TW9kZSB2cy4gb3B0aW9ucy53cml0YWJsZU9iamVjdE1vZGUsIGV0Yy5cbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcblxuICAvLyBvYmplY3Qgc3RyZWFtIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBvciBub3QgdGhpcyBzdHJlYW1cbiAgLy8gY29udGFpbnMgYnVmZmVycyBvciBvYmplY3RzLlxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcbiAgaWYgKGlzRHVwbGV4KSB0aGlzLm9iamVjdE1vZGUgPSB0aGlzLm9iamVjdE1vZGUgfHwgISFvcHRpb25zLndyaXRhYmxlT2JqZWN0TW9kZTtcblxuICAvLyB0aGUgcG9pbnQgYXQgd2hpY2ggd3JpdGUoKSBzdGFydHMgcmV0dXJuaW5nIGZhbHNlXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgdGhhdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIGlmXG4gIC8vIHRoZSBlbnRpcmUgYnVmZmVyIGlzIG5vdCBmbHVzaGVkIGltbWVkaWF0ZWx5IG9uIHdyaXRlKClcbiAgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZ2V0SGlnaFdhdGVyTWFyayh0aGlzLCBvcHRpb25zLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywgaXNEdXBsZXgpO1xuXG4gIC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcbiAgdGhpcy5maW5hbENhbGxlZCA9IGZhbHNlO1xuXG4gIC8vIGRyYWluIGV2ZW50IGZsYWcuXG4gIHRoaXMubmVlZERyYWluID0gZmFsc2U7XG4gIC8vIGF0IHRoZSBzdGFydCBvZiBjYWxsaW5nIGVuZCgpXG4gIHRoaXMuZW5kaW5nID0gZmFsc2U7XG4gIC8vIHdoZW4gZW5kKCkgaGFzIGJlZW4gY2FsbGVkLCBhbmQgcmV0dXJuZWRcbiAgdGhpcy5lbmRlZCA9IGZhbHNlO1xuICAvLyB3aGVuICdmaW5pc2gnIGlzIGVtaXR0ZWRcbiAgdGhpcy5maW5pc2hlZCA9IGZhbHNlO1xuXG4gIC8vIGhhcyBpdCBiZWVuIGRlc3Ryb3llZFxuICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlO1xuXG4gIC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xuICAvLyB0aGlzIGlzIGhlcmUgc28gdGhhdCBzb21lIG5vZGUtY29yZSBzdHJlYW1zIGNhbiBvcHRpbWl6ZSBzdHJpbmdcbiAgLy8gaGFuZGxpbmcgYXQgYSBsb3dlciBsZXZlbC5cbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcbiAgdGhpcy5kZWNvZGVTdHJpbmdzID0gIW5vRGVjb2RlO1xuXG4gIC8vIENyeXB0byBpcyBraW5kIG9mIG9sZCBhbmQgY3J1c3R5LiAgSGlzdG9yaWNhbGx5LCBpdHMgZGVmYXVsdCBzdHJpbmdcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaW4gdGhlIHVuaXZlcnNlIHVzZXMgJ3V0ZjgnLCB0aG91Z2guXG4gIHRoaXMuZGVmYXVsdEVuY29kaW5nID0gb3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcgfHwgJ3V0ZjgnO1xuXG4gIC8vIG5vdCBhbiBhY3R1YWwgYnVmZmVyIHdlIGtlZXAgdHJhY2sgb2YsIGJ1dCBhIG1lYXN1cmVtZW50XG4gIC8vIG9mIGhvdyBtdWNoIHdlJ3JlIHdhaXRpbmcgdG8gZ2V0IHB1c2hlZCB0byBzb21lIHVuZGVybHlpbmdcbiAgLy8gc29ja2V0IG9yIGZpbGUuXG4gIHRoaXMubGVuZ3RoID0gMDtcblxuICAvLyBhIGZsYWcgdG8gc2VlIHdoZW4gd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBhIHdyaXRlLlxuICB0aGlzLndyaXRpbmcgPSBmYWxzZTtcblxuICAvLyB3aGVuIHRydWUgYWxsIHdyaXRlcyB3aWxsIGJlIGJ1ZmZlcmVkIHVudGlsIC51bmNvcmsoKSBjYWxsXG4gIHRoaXMuY29ya2VkID0gMDtcblxuICAvLyBhIGZsYWcgdG8gYmUgYWJsZSB0byB0ZWxsIGlmIHRoZSBvbndyaXRlIGNiIGlzIGNhbGxlZCBpbW1lZGlhdGVseSxcbiAgLy8gb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZSBhbnlcbiAgLy8gYWN0aW9ucyB0aGF0IHNob3VsZG4ndCBoYXBwZW4gdW50aWwgXCJsYXRlclwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGUgY2FsbC5cbiAgdGhpcy5zeW5jID0gdHJ1ZTtcblxuICAvLyBhIGZsYWcgdG8ga25vdyBpZiB3ZSdyZSBwcm9jZXNzaW5nIHByZXZpb3VzbHkgYnVmZmVyZWQgaXRlbXMsIHdoaWNoXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XG4gIC8vIGVuZCB1cCBpbiBhbiBvdmVybGFwcGVkIG9ud3JpdGUgc2l0dWF0aW9uLlxuICB0aGlzLmJ1ZmZlclByb2Nlc3NpbmcgPSBmYWxzZTtcblxuICAvLyB0aGUgY2FsbGJhY2sgdGhhdCdzIHBhc3NlZCB0byBfd3JpdGUoY2h1bmssY2IpXG4gIHRoaXMub253cml0ZSA9IGZ1bmN0aW9uIChlcikge1xuICAgIG9ud3JpdGUoc3RyZWFtLCBlcik7XG4gIH07XG5cbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQgdGhlIHVzZXIgc3VwcGxpZXMgdG8gd3JpdGUoY2h1bmssZW5jb2RpbmcsY2IpXG4gIHRoaXMud3JpdGVjYiA9IG51bGw7XG5cbiAgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxuICB0aGlzLndyaXRlbGVuID0gMDtcbiAgdGhpcy5idWZmZXJlZFJlcXVlc3QgPSBudWxsO1xuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xuXG4gIC8vIG51bWJlciBvZiBwZW5kaW5nIHVzZXItc3VwcGxpZWQgd3JpdGUgY2FsbGJhY2tzXG4gIC8vIHRoaXMgbXVzdCBiZSAwIGJlZm9yZSAnZmluaXNoJyBjYW4gYmUgZW1pdHRlZFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7XG5cbiAgLy8gZW1pdCBwcmVmaW5pc2ggaWYgdGhlIG9ubHkgdGhpbmcgd2UncmUgd2FpdGluZyBmb3IgaXMgX3dyaXRlIGNic1xuICAvLyBUaGlzIGlzIHJlbGV2YW50IGZvciBzeW5jaHJvbm91cyBUcmFuc2Zvcm0gc3RyZWFtc1xuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7XG5cbiAgLy8gVHJ1ZSBpZiB0aGUgZXJyb3Igd2FzIGFscmVhZHkgZW1pdHRlZCBhbmQgc2hvdWxkIG5vdCBiZSB0aHJvd24gYWdhaW5cbiAgdGhpcy5lcnJvckVtaXR0ZWQgPSBmYWxzZTtcblxuICAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxuICB0aGlzLmVtaXRDbG9zZSA9IG9wdGlvbnMuZW1pdENsb3NlICE9PSBmYWxzZTtcblxuICAvLyBTaG91bGQgLmRlc3Ryb3koKSBiZSBjYWxsZWQgYWZ0ZXIgJ2ZpbmlzaCcgKGFuZCBwb3RlbnRpYWxseSAnZW5kJylcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTtcblxuICAvLyBjb3VudCBidWZmZXJlZCByZXF1ZXN0c1xuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMDtcblxuICAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXG4gIC8vIG9uZSBhbGxvY2F0ZWQgYW5kIGZyZWUgdG8gdXNlLCBhbmQgd2UgbWFpbnRhaW4gYXQgbW9zdCB0d29cbiAgdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdCh0aGlzKTtcbn1cbldyaXRhYmxlU3RhdGUucHJvdG90eXBlLmdldEJ1ZmZlciA9IGZ1bmN0aW9uIGdldEJ1ZmZlcigpIHtcbiAgdmFyIGN1cnJlbnQgPSB0aGlzLmJ1ZmZlcmVkUmVxdWVzdDtcbiAgdmFyIG91dCA9IFtdO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIG91dC5wdXNoKGN1cnJlbnQpO1xuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn07XG4oZnVuY3Rpb24gKCkge1xuICB0cnkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSwgJ2J1ZmZlcicsIHtcbiAgICAgIGdldDogaW50ZXJuYWxVdGlsLmRlcHJlY2F0ZShmdW5jdGlvbiB3cml0YWJsZVN0YXRlQnVmZmVyR2V0dGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRCdWZmZXIoKTtcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxuICAgIH0pO1xuICB9IGNhdGNoIChfKSB7fVxufSkoKTtcblxuLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXG4vLyB3aG9zZSBwcm90b3R5cGUgY2hhaW4gb25seSBwb2ludHMgdG8gUmVhZGFibGUuXG52YXIgcmVhbEhhc0luc3RhbmNlO1xuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xuICByZWFsSGFzSW5zdGFuY2UgPSBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLCBTeW1ib2wuaGFzSW5zdGFuY2UsIHtcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUob2JqZWN0KSB7XG4gICAgICBpZiAocmVhbEhhc0luc3RhbmNlLmNhbGwodGhpcywgb2JqZWN0KSkgcmV0dXJuIHRydWU7XG4gICAgICBpZiAodGhpcyAhPT0gV3JpdGFibGUpIHJldHVybiBmYWxzZTtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcbiAgICB9XG4gIH0pO1xufSBlbHNlIHtcbiAgcmVhbEhhc0luc3RhbmNlID0gZnVuY3Rpb24gcmVhbEhhc0luc3RhbmNlKG9iamVjdCkge1xuICAgIHJldHVybiBvYmplY3QgaW5zdGFuY2VvZiB0aGlzO1xuICB9O1xufVxuZnVuY3Rpb24gV3JpdGFibGUob3B0aW9ucykge1xuICBEdXBsZXggPSBEdXBsZXggfHwgcmVxdWlyZSgnLi9fc3RyZWFtX2R1cGxleCcpO1xuXG4gIC8vIFdyaXRhYmxlIGN0b3IgaXMgYXBwbGllZCB0byBEdXBsZXhlcywgdG9vLlxuICAvLyBgcmVhbEhhc0luc3RhbmNlYCBpcyBuZWNlc3NhcnkgYmVjYXVzZSB1c2luZyBwbGFpbiBgaW5zdGFuY2VvZmBcbiAgLy8gd291bGQgcmV0dXJuIGZhbHNlLCBhcyBubyBgX3dyaXRhYmxlU3RhdGVgIHByb3BlcnR5IGlzIGF0dGFjaGVkLlxuXG4gIC8vIFRyeWluZyB0byB1c2UgdGhlIGN1c3RvbSBgaW5zdGFuY2VvZmAgZm9yIFdyaXRhYmxlIGhlcmUgd2lsbCBhbHNvIGJyZWFrIHRoZVxuICAvLyBOb2RlLmpzIExhenlUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhcyBhIG5vbi10cml2aWFsIGdldHRlciBmb3JcbiAgLy8gYF93cml0YWJsZVN0YXRlYCB0aGF0IHdvdWxkIGxlYWQgdG8gaW5maW5pdGUgcmVjdXJzaW9uLlxuXG4gIC8vIENoZWNraW5nIGZvciBhIFN0cmVhbS5EdXBsZXggaW5zdGFuY2UgaXMgZmFzdGVyIGhlcmUgaW5zdGVhZCBvZiBpbnNpZGVcbiAgLy8gdGhlIFdyaXRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XG4gIHZhciBpc0R1cGxleCA9IHRoaXMgaW5zdGFuY2VvZiBEdXBsZXg7XG4gIGlmICghaXNEdXBsZXggJiYgIXJlYWxIYXNJbnN0YW5jZS5jYWxsKFdyaXRhYmxlLCB0aGlzKSkgcmV0dXJuIG5ldyBXcml0YWJsZShvcHRpb25zKTtcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTtcblxuICAvLyBsZWdhY3kuXG4gIHRoaXMud3JpdGFibGUgPSB0cnVlO1xuICBpZiAob3B0aW9ucykge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53cml0ZSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGUgPSBvcHRpb25zLndyaXRlO1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53cml0ZXYgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRldiA9IG9wdGlvbnMud3JpdGV2O1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5maW5hbCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZmluYWwgPSBvcHRpb25zLmZpbmFsO1xuICB9XG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xufVxuXG4vLyBPdGhlcndpc2UgcGVvcGxlIGNhbiBwaXBlIFdyaXRhYmxlIHN0cmVhbXMsIHdoaWNoIGlzIGp1c3Qgd3JvbmcuXG5Xcml0YWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uICgpIHtcbiAgZXJyb3JPckRlc3Ryb3kodGhpcywgbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUoKSk7XG59O1xuZnVuY3Rpb24gd3JpdGVBZnRlckVuZChzdHJlYW0sIGNiKSB7XG4gIHZhciBlciA9IG5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCgpO1xuICAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxuICBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVyKTtcbiAgcHJvY2Vzcy5uZXh0VGljayhjYiwgZXIpO1xufVxuXG4vLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXG4vLyBtb2RlIHRoZSBzdHJlYW0gaXMgaW4uIEN1cnJlbnRseSB0aGlzIG1lYW5zIHRoYXQgYG51bGxgIGlzIG5ldmVyIGFjY2VwdGVkXG4vLyBhbmQgdW5kZWZpbmVkL25vbi1zdHJpbmcgdmFsdWVzIGFyZSBvbmx5IGFsbG93ZWQgaW4gb2JqZWN0IG1vZGUuXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xuICB2YXIgZXI7XG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xuICAgIGVyID0gbmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVMoKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmICFzdGF0ZS5vYmplY3RNb2RlKSB7XG4gICAgZXIgPSBuZXcgRVJSX0lOVkFMSURfQVJHX1RZUEUoJ2NodW5rJywgWydzdHJpbmcnLCAnQnVmZmVyJ10sIGNodW5rKTtcbiAgfVxuICBpZiAoZXIpIHtcbiAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVyKTtcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuV3JpdGFibGUucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcbiAgdmFyIHJldCA9IGZhbHNlO1xuICB2YXIgaXNCdWYgPSAhc3RhdGUub2JqZWN0TW9kZSAmJiBfaXNVaW50OEFycmF5KGNodW5rKTtcbiAgaWYgKGlzQnVmICYmICFCdWZmZXIuaXNCdWZmZXIoY2h1bmspKSB7XG4gICAgY2h1bmsgPSBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKTtcbiAgfVxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBlbmNvZGluZztcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH1cbiAgaWYgKGlzQnVmKSBlbmNvZGluZyA9ICdidWZmZXInO2Vsc2UgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSBzdGF0ZS5kZWZhdWx0RW5jb2Rpbmc7XG4gIGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIGNiID0gbm9wO1xuICBpZiAoc3RhdGUuZW5kaW5nKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XG4gICAgc3RhdGUucGVuZGluZ2NiKys7XG4gICAgcmV0ID0gd3JpdGVPckJ1ZmZlcih0aGlzLCBzdGF0ZSwgaXNCdWYsIGNodW5rLCBlbmNvZGluZywgY2IpO1xuICB9XG4gIHJldHVybiByZXQ7XG59O1xuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuX3dyaXRhYmxlU3RhdGUuY29ya2VkKys7XG59O1xuV3JpdGFibGUucHJvdG90eXBlLnVuY29yayA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcbiAgaWYgKHN0YXRlLmNvcmtlZCkge1xuICAgIHN0YXRlLmNvcmtlZC0tO1xuICAgIGlmICghc3RhdGUud3JpdGluZyAmJiAhc3RhdGUuY29ya2VkICYmICFzdGF0ZS5idWZmZXJQcm9jZXNzaW5nICYmIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCkgY2xlYXJCdWZmZXIodGhpcywgc3RhdGUpO1xuICB9XG59O1xuV3JpdGFibGUucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZyA9IGZ1bmN0aW9uIHNldERlZmF1bHRFbmNvZGluZyhlbmNvZGluZykge1xuICAvLyBub2RlOjpQYXJzZUVuY29kaW5nKCkgcmVxdWlyZXMgbG93ZXIgY2FzZS5cbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcbiAgaWYgKCEoWydoZXgnLCAndXRmOCcsICd1dGYtOCcsICdhc2NpaScsICdiaW5hcnknLCAnYmFzZTY0JywgJ3VjczInLCAndWNzLTInLCAndXRmMTZsZScsICd1dGYtMTZsZScsICdyYXcnXS5pbmRleE9mKChlbmNvZGluZyArICcnKS50b0xvd2VyQ2FzZSgpKSA+IC0xKSkgdGhyb3cgbmV3IEVSUl9VTktOT1dOX0VOQ09ESU5HKGVuY29kaW5nKTtcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2RpbmcgPSBlbmNvZGluZztcbiAgcmV0dXJuIHRoaXM7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ3dyaXRhYmxlQnVmZmVyJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpO1xuICB9XG59KTtcbmZ1bmN0aW9uIGRlY29kZUNodW5rKHN0YXRlLCBjaHVuaywgZW5jb2RpbmcpIHtcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmIHN0YXRlLmRlY29kZVN0cmluZ3MgIT09IGZhbHNlICYmIHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcbiAgICBjaHVuayA9IEJ1ZmZlci5mcm9tKGNodW5rLCBlbmNvZGluZyk7XG4gIH1cbiAgcmV0dXJuIGNodW5rO1xufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ3dyaXRhYmxlSGlnaFdhdGVyTWFyaycsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcbiAgfVxufSk7XG5cbi8vIGlmIHdlJ3JlIGFscmVhZHkgd3JpdGluZyBzb21ldGhpbmcsIHRoZW4ganVzdCBwdXQgdGhpc1xuLy8gaW4gdGhlIHF1ZXVlLCBhbmQgd2FpdCBvdXIgdHVybi4gIE90aGVyd2lzZSwgY2FsbCBfd3JpdGVcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXG5mdW5jdGlvbiB3cml0ZU9yQnVmZmVyKHN0cmVhbSwgc3RhdGUsIGlzQnVmLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIGlmICghaXNCdWYpIHtcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcbiAgICBpZiAoY2h1bmsgIT09IG5ld0NodW5rKSB7XG4gICAgICBpc0J1ZiA9IHRydWU7XG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xuICAgICAgY2h1bmsgPSBuZXdDaHVuaztcbiAgICB9XG4gIH1cbiAgdmFyIGxlbiA9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuICBzdGF0ZS5sZW5ndGggKz0gbGVuO1xuICB2YXIgcmV0ID0gc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyaztcbiAgLy8gd2UgbXVzdCBlbnN1cmUgdGhhdCBwcmV2aW91cyBuZWVkRHJhaW4gd2lsbCBub3QgYmUgcmVzZXQgdG8gZmFsc2UuXG4gIGlmICghcmV0KSBzdGF0ZS5uZWVkRHJhaW4gPSB0cnVlO1xuICBpZiAoc3RhdGUud3JpdGluZyB8fCBzdGF0ZS5jb3JrZWQpIHtcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XG4gICAgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IHtcbiAgICAgIGNodW5rOiBjaHVuayxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcbiAgICAgIGlzQnVmOiBpc0J1ZixcbiAgICAgIGNhbGxiYWNrOiBjYixcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuICAgIGlmIChsYXN0KSB7XG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIH1cbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xuICB9IGVsc2Uge1xuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgd3JpdGV2LCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgc3RhdGUud3JpdGVsZW4gPSBsZW47XG4gIHN0YXRlLndyaXRlY2IgPSBjYjtcbiAgc3RhdGUud3JpdGluZyA9IHRydWU7XG4gIHN0YXRlLnN5bmMgPSB0cnVlO1xuICBpZiAoc3RhdGUuZGVzdHJveWVkKSBzdGF0ZS5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgnd3JpdGUnKSk7ZWxzZSBpZiAod3JpdGV2KSBzdHJlYW0uX3dyaXRldihjaHVuaywgc3RhdGUub253cml0ZSk7ZWxzZSBzdHJlYW0uX3dyaXRlKGNodW5rLCBlbmNvZGluZywgc3RhdGUub253cml0ZSk7XG4gIHN0YXRlLnN5bmMgPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcbiAgLS1zdGF0ZS5wZW5kaW5nY2I7XG4gIGlmIChzeW5jKSB7XG4gICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGlmIHdlIGFyZSBiZWluZyBjYWxsZWQgc3luY2hyb25vdXNseVxuICAgIC8vIHRvIGF2b2lkIHBpbGluZyB1cCB0aGluZ3Mgb24gdGhlIHN0YWNrXG4gICAgcHJvY2Vzcy5uZXh0VGljayhjYiwgZXIpO1xuICAgIC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBhbmQgaXQgd2lsbCBhbHdheXMgaGFwcGVuXG4gICAgLy8gYWZ0ZXIgZXJyb3JcbiAgICBwcm9jZXNzLm5leHRUaWNrKGZpbmlzaE1heWJlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcbiAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVyKTtcbiAgfSBlbHNlIHtcbiAgICAvLyB0aGUgY2FsbGVyIGV4cGVjdCB0aGlzIHRvIGhhcHBlbiBiZWZvcmUgaWZcbiAgICAvLyBpdCBpcyBhc3luY1xuICAgIGNiKGVyKTtcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcbiAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVyKTtcbiAgICAvLyB0aGlzIGNhbiBlbWl0IGZpbmlzaCwgYnV0IGZpbmlzaCBtdXN0XG4gICAgLy8gYWx3YXlzIGZvbGxvdyBlcnJvclxuICAgIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xuICB9XG59XG5mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoc3RhdGUpIHtcbiAgc3RhdGUud3JpdGluZyA9IGZhbHNlO1xuICBzdGF0ZS53cml0ZWNiID0gbnVsbDtcbiAgc3RhdGUubGVuZ3RoIC09IHN0YXRlLndyaXRlbGVuO1xuICBzdGF0ZS53cml0ZWxlbiA9IDA7XG59XG5mdW5jdGlvbiBvbndyaXRlKHN0cmVhbSwgZXIpIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl93cml0YWJsZVN0YXRlO1xuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XG4gIHZhciBjYiA9IHN0YXRlLndyaXRlY2I7XG4gIGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIHRocm93IG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0soKTtcbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcbiAgaWYgKGVyKSBvbndyaXRlRXJyb3Ioc3RyZWFtLCBzdGF0ZSwgc3luYywgZXIsIGNiKTtlbHNlIHtcbiAgICAvLyBDaGVjayBpZiB3ZSdyZSBhY3R1YWxseSByZWFkeSB0byBmaW5pc2gsIGJ1dCBkb24ndCBlbWl0IHlldFxuICAgIHZhciBmaW5pc2hlZCA9IG5lZWRGaW5pc2goc3RhdGUpIHx8IHN0cmVhbS5kZXN0cm95ZWQ7XG4gICAgaWYgKCFmaW5pc2hlZCAmJiAhc3RhdGUuY29ya2VkICYmICFzdGF0ZS5idWZmZXJQcm9jZXNzaW5nICYmIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCkge1xuICAgICAgY2xlYXJCdWZmZXIoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIGlmIChzeW5jKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGFmdGVyV3JpdGUsIHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFmdGVyV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGFmdGVyV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKSB7XG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcbiAgc3RhdGUucGVuZGluZ2NiLS07XG4gIGNiKCk7XG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xufVxuXG4vLyBNdXN0IGZvcmNlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCBvbiBuZXh0VGljaywgc28gdGhhdCB3ZSBkb24ndFxuLy8gZW1pdCAnZHJhaW4nIGJlZm9yZSB0aGUgd3JpdGUoKSBjb25zdW1lciBnZXRzIHRoZSAnZmFsc2UnIHJldHVyblxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cbmZ1bmN0aW9uIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKSB7XG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUubmVlZERyYWluKSB7XG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XG4gICAgc3RyZWFtLmVtaXQoJ2RyYWluJyk7XG4gIH1cbn1cblxuLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcbmZ1bmN0aW9uIGNsZWFyQnVmZmVyKHN0cmVhbSwgc3RhdGUpIHtcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IHRydWU7XG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcbiAgaWYgKHN0cmVhbS5fd3JpdGV2ICYmIGVudHJ5ICYmIGVudHJ5Lm5leHQpIHtcbiAgICAvLyBGYXN0IGNhc2UsIHdyaXRlIGV2ZXJ5dGhpbmcgdXNpbmcgX3dyaXRldigpXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcbiAgICB2YXIgYnVmZmVyID0gbmV3IEFycmF5KGwpO1xuICAgIHZhciBob2xkZXIgPSBzdGF0ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU7XG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XG4gICAgdmFyIGNvdW50ID0gMDtcbiAgICB2YXIgYWxsQnVmZmVycyA9IHRydWU7XG4gICAgd2hpbGUgKGVudHJ5KSB7XG4gICAgICBidWZmZXJbY291bnRdID0gZW50cnk7XG4gICAgICBpZiAoIWVudHJ5LmlzQnVmKSBhbGxCdWZmZXJzID0gZmFsc2U7XG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XG4gICAgICBjb3VudCArPSAxO1xuICAgIH1cbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XG4gICAgZG9Xcml0ZShzdHJlYW0sIHN0YXRlLCB0cnVlLCBzdGF0ZS5sZW5ndGgsIGJ1ZmZlciwgJycsIGhvbGRlci5maW5pc2gpO1xuXG4gICAgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcbiAgICAvLyBhcyB0aGUgaG90IHBhdGggZW5kcyB3aXRoIGRvV3JpdGVcbiAgICBzdGF0ZS5wZW5kaW5nY2IrKztcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcbiAgICBpZiAoaG9sZGVyLm5leHQpIHtcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGhvbGRlci5uZXh0O1xuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdChzdGF0ZSk7XG4gICAgfVxuICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMDtcbiAgfSBlbHNlIHtcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXG4gICAgd2hpbGUgKGVudHJ5KSB7XG4gICAgICB2YXIgY2h1bmsgPSBlbnRyeS5jaHVuaztcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xuICAgICAgdmFyIGNiID0gZW50cnkuY2FsbGJhY2s7XG4gICAgICB2YXIgbGVuID0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xuICAgICAgZW50cnkgPSBlbnRyeS5uZXh0O1xuICAgICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQtLTtcbiAgICAgIC8vIGlmIHdlIGRpZG4ndCBjYWxsIHRoZSBvbndyaXRlIGltbWVkaWF0ZWx5LCB0aGVuXG4gICAgICAvLyBpdCBtZWFucyB0aGF0IHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdCBkb2VzLlxuICAgICAgLy8gYWxzbywgdGhhdCBtZWFucyB0aGF0IHRoZSBjaHVuayBhbmQgY2IgYXJlIGN1cnJlbnRseVxuICAgICAgLy8gYmVpbmcgcHJvY2Vzc2VkLCBzbyBtb3ZlIHRoZSBidWZmZXIgY291bnRlciBwYXN0IHRoZW0uXG4gICAgICBpZiAoc3RhdGUud3JpdGluZykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVudHJ5ID09PSBudWxsKSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcbiAgfVxuICBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPSBlbnRyeTtcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xufVxuV3JpdGFibGUucHJvdG90eXBlLl93cml0ZSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIGNiKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3dyaXRlKCknKSk7XG59O1xuV3JpdGFibGUucHJvdG90eXBlLl93cml0ZXYgPSBudWxsO1xuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XG4gIGlmICh0eXBlb2YgY2h1bmsgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IGNodW5rO1xuICAgIGNodW5rID0gbnVsbDtcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBlbmNvZGluZztcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH1cbiAgaWYgKGNodW5rICE9PSBudWxsICYmIGNodW5rICE9PSB1bmRlZmluZWQpIHRoaXMud3JpdGUoY2h1bmssIGVuY29kaW5nKTtcblxuICAvLyAuZW5kKCkgZnVsbHkgdW5jb3Jrc1xuICBpZiAoc3RhdGUuY29ya2VkKSB7XG4gICAgc3RhdGUuY29ya2VkID0gMTtcbiAgICB0aGlzLnVuY29yaygpO1xuICB9XG5cbiAgLy8gaWdub3JlIHVubmVjZXNzYXJ5IGVuZCgpIGNhbGxzLlxuICBpZiAoIXN0YXRlLmVuZGluZykgZW5kV3JpdGFibGUodGhpcywgc3RhdGUsIGNiKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ3dyaXRhYmxlTGVuZ3RoJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGg7XG4gIH1cbn0pO1xuZnVuY3Rpb24gbmVlZEZpbmlzaChzdGF0ZSkge1xuICByZXR1cm4gc3RhdGUuZW5kaW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPT09IG51bGwgJiYgIXN0YXRlLmZpbmlzaGVkICYmICFzdGF0ZS53cml0aW5nO1xufVxuZnVuY3Rpb24gY2FsbEZpbmFsKHN0cmVhbSwgc3RhdGUpIHtcbiAgc3RyZWFtLl9maW5hbChmdW5jdGlvbiAoZXJyKSB7XG4gICAgc3RhdGUucGVuZGluZ2NiLS07XG4gICAgaWYgKGVycikge1xuICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcnIpO1xuICAgIH1cbiAgICBzdGF0ZS5wcmVmaW5pc2hlZCA9IHRydWU7XG4gICAgc3RyZWFtLmVtaXQoJ3ByZWZpbmlzaCcpO1xuICAgIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xuICB9KTtcbn1cbmZ1bmN0aW9uIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucHJlZmluaXNoZWQgJiYgIXN0YXRlLmZpbmFsQ2FsbGVkKSB7XG4gICAgaWYgKHR5cGVvZiBzdHJlYW0uX2ZpbmFsID09PSAnZnVuY3Rpb24nICYmICFzdGF0ZS5kZXN0cm95ZWQpIHtcbiAgICAgIHN0YXRlLnBlbmRpbmdjYisrO1xuICAgICAgc3RhdGUuZmluYWxDYWxsZWQgPSB0cnVlO1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsIHN0cmVhbSwgc3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5wcmVmaW5pc2hlZCA9IHRydWU7XG4gICAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKSB7XG4gIHZhciBuZWVkID0gbmVlZEZpbmlzaChzdGF0ZSk7XG4gIGlmIChuZWVkKSB7XG4gICAgcHJlZmluaXNoKHN0cmVhbSwgc3RhdGUpO1xuICAgIGlmIChzdGF0ZS5wZW5kaW5nY2IgPT09IDApIHtcbiAgICAgIHN0YXRlLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgIHN0cmVhbS5lbWl0KCdmaW5pc2gnKTtcbiAgICAgIGlmIChzdGF0ZS5hdXRvRGVzdHJveSkge1xuICAgICAgICAvLyBJbiBjYXNlIG9mIGR1cGxleCBzdHJlYW1zIHdlIG5lZWQgYSB3YXkgdG8gZGV0ZWN0XG4gICAgICAgIC8vIGlmIHRoZSByZWFkYWJsZSBzaWRlIGlzIHJlYWR5IGZvciBhdXRvRGVzdHJveSBhcyB3ZWxsXG4gICAgICAgIHZhciByU3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gICAgICAgIGlmICghclN0YXRlIHx8IHJTdGF0ZS5hdXRvRGVzdHJveSAmJiByU3RhdGUuZW5kRW1pdHRlZCkge1xuICAgICAgICAgIHN0cmVhbS5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5lZWQ7XG59XG5mdW5jdGlvbiBlbmRXcml0YWJsZShzdHJlYW0sIHN0YXRlLCBjYikge1xuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xuICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcbiAgaWYgKGNiKSB7XG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwcm9jZXNzLm5leHRUaWNrKGNiKTtlbHNlIHN0cmVhbS5vbmNlKCdmaW5pc2gnLCBjYik7XG4gIH1cbiAgc3RhdGUuZW5kZWQgPSB0cnVlO1xuICBzdHJlYW0ud3JpdGFibGUgPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGNvcmtSZXEsIHN0YXRlLCBlcnIpIHtcbiAgdmFyIGVudHJ5ID0gY29ya1JlcS5lbnRyeTtcbiAgY29ya1JlcS5lbnRyeSA9IG51bGw7XG4gIHdoaWxlIChlbnRyeSkge1xuICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xuICAgIGNiKGVycik7XG4gICAgZW50cnkgPSBlbnRyeS5uZXh0O1xuICB9XG5cbiAgLy8gcmV1c2UgdGhlIGZyZWUgY29ya1JlcS5cbiAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ2Rlc3Ryb3llZCcsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxuICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xuICB9XG59KTtcbldyaXRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcbldyaXRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95ID0gZGVzdHJveUltcGwudW5kZXN0cm95O1xuV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcbiAgY2IoZXJyKTtcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/_stream_writable.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/async_iterator.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/async_iterator.js ***! - \*****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzIiwibWFwcGluZ3MiOiI7QUFBYTs7QUFFYjtBQUNBLDRDQUE0QywyQkFBMkIsa0JBQWtCLGtDQUFrQyxvRUFBb0UsS0FBSyxPQUFPLG9CQUFvQjtBQUMvTiwrQkFBK0IsdUNBQXVDO0FBQ3RFLHFDQUFxQywrREFBK0Qsc0NBQXNDLDBCQUEwQiwrQ0FBK0MseUNBQXlDLHVFQUF1RTtBQUNuVSxlQUFlLG1CQUFPLENBQUMsNkZBQWlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxpRUFBaUU7QUFDakU7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLE9BQU87QUFDZjtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBLHlGQUF5RjtBQUN6RjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvci5qcz8yMjg1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIF9PYmplY3Qkc2V0UHJvdG90eXBlTztcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsga2V5ID0gX3RvUHJvcGVydHlLZXkoa2V5KTsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5mdW5jdGlvbiBfdG9Qcm9wZXJ0eUtleShhcmcpIHsgdmFyIGtleSA9IF90b1ByaW1pdGl2ZShhcmcsIFwic3RyaW5nXCIpOyByZXR1cm4gdHlwZW9mIGtleSA9PT0gXCJzeW1ib2xcIiA/IGtleSA6IFN0cmluZyhrZXkpOyB9XG5mdW5jdGlvbiBfdG9QcmltaXRpdmUoaW5wdXQsIGhpbnQpIHsgaWYgKHR5cGVvZiBpbnB1dCAhPT0gXCJvYmplY3RcIiB8fCBpbnB1dCA9PT0gbnVsbCkgcmV0dXJuIGlucHV0OyB2YXIgcHJpbSA9IGlucHV0W1N5bWJvbC50b1ByaW1pdGl2ZV07IGlmIChwcmltICE9PSB1bmRlZmluZWQpIHsgdmFyIHJlcyA9IHByaW0uY2FsbChpbnB1dCwgaGludCB8fCBcImRlZmF1bHRcIik7IGlmICh0eXBlb2YgcmVzICE9PSBcIm9iamVjdFwiKSByZXR1cm4gcmVzOyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS5cIik7IH0gcmV0dXJuIChoaW50ID09PSBcInN0cmluZ1wiID8gU3RyaW5nIDogTnVtYmVyKShpbnB1dCk7IH1cbnZhciBmaW5pc2hlZCA9IHJlcXVpcmUoJy4vZW5kLW9mLXN0cmVhbScpO1xudmFyIGtMYXN0UmVzb2x2ZSA9IFN5bWJvbCgnbGFzdFJlc29sdmUnKTtcbnZhciBrTGFzdFJlamVjdCA9IFN5bWJvbCgnbGFzdFJlamVjdCcpO1xudmFyIGtFcnJvciA9IFN5bWJvbCgnZXJyb3InKTtcbnZhciBrRW5kZWQgPSBTeW1ib2woJ2VuZGVkJyk7XG52YXIga0xhc3RQcm9taXNlID0gU3ltYm9sKCdsYXN0UHJvbWlzZScpO1xudmFyIGtIYW5kbGVQcm9taXNlID0gU3ltYm9sKCdoYW5kbGVQcm9taXNlJyk7XG52YXIga1N0cmVhbSA9IFN5bWJvbCgnc3RyZWFtJyk7XG5mdW5jdGlvbiBjcmVhdGVJdGVyUmVzdWx0KHZhbHVlLCBkb25lKSB7XG4gIHJldHVybiB7XG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIGRvbmU6IGRvbmVcbiAgfTtcbn1cbmZ1bmN0aW9uIHJlYWRBbmRSZXNvbHZlKGl0ZXIpIHtcbiAgdmFyIHJlc29sdmUgPSBpdGVyW2tMYXN0UmVzb2x2ZV07XG4gIGlmIChyZXNvbHZlICE9PSBudWxsKSB7XG4gICAgdmFyIGRhdGEgPSBpdGVyW2tTdHJlYW1dLnJlYWQoKTtcbiAgICAvLyB3ZSBkZWZlciBpZiBkYXRhIGlzIG51bGxcbiAgICAvLyB3ZSBjYW4gYmUgZXhwZWN0aW5nIGVpdGhlciAnZW5kJyBvclxuICAgIC8vICdlcnJvcidcbiAgICBpZiAoZGF0YSAhPT0gbnVsbCkge1xuICAgICAgaXRlcltrTGFzdFByb21pc2VdID0gbnVsbDtcbiAgICAgIGl0ZXJba0xhc3RSZXNvbHZlXSA9IG51bGw7XG4gICAgICBpdGVyW2tMYXN0UmVqZWN0XSA9IG51bGw7XG4gICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG9uUmVhZGFibGUoaXRlcikge1xuICAvLyB3ZSB3YWl0IGZvciB0aGUgbmV4dCB0aWNrLCBiZWNhdXNlIGl0IG1pZ2h0XG4gIC8vIGVtaXQgYW4gZXJyb3Igd2l0aCBwcm9jZXNzLm5leHRUaWNrXG4gIHByb2Nlc3MubmV4dFRpY2socmVhZEFuZFJlc29sdmUsIGl0ZXIpO1xufVxuZnVuY3Rpb24gd3JhcEZvck5leHQobGFzdFByb21pc2UsIGl0ZXIpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICBsYXN0UHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChpdGVyW2tFbmRlZF0pIHtcbiAgICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpdGVyW2tIYW5kbGVQcm9taXNlXShyZXNvbHZlLCByZWplY3QpO1xuICAgIH0sIHJlamVjdCk7XG4gIH07XG59XG52YXIgQXN5bmNJdGVyYXRvclByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbiAoKSB7fSk7XG52YXIgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LnNldFByb3RvdHlwZU9mKChfT2JqZWN0JHNldFByb3RvdHlwZU8gPSB7XG4gIGdldCBzdHJlYW0oKSB7XG4gICAgcmV0dXJuIHRoaXNba1N0cmVhbV07XG4gIH0sXG4gIG5leHQ6IGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAvLyBpZiB3ZSBoYXZlIGRldGVjdGVkIGFuIGVycm9yIGluIHRoZSBtZWFud2hpbGVcbiAgICAvLyByZWplY3Qgc3RyYWlnaHQgYXdheVxuICAgIHZhciBlcnJvciA9IHRoaXNba0Vycm9yXTtcbiAgICBpZiAoZXJyb3IgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxuICAgIGlmICh0aGlzW2tFbmRlZF0pIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcbiAgICB9XG4gICAgaWYgKHRoaXNba1N0cmVhbV0uZGVzdHJveWVkKSB7XG4gICAgICAvLyBXZSBuZWVkIHRvIGRlZmVyIHZpYSBuZXh0VGljayBiZWNhdXNlIGlmIC5kZXN0cm95KGVycikgaXNcbiAgICAgIC8vIGNhbGxlZCwgdGhlIGVycm9yIHdpbGwgYmUgZW1pdHRlZCB2aWEgbmV4dFRpY2ssIGFuZFxuICAgICAgLy8gd2UgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIGlzIG5vIGVycm9yIGxpbmdlcmluZyBhcm91bmRcbiAgICAgIC8vIHdhaXRpbmcgdG8gYmUgZW1pdHRlZC5cbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChfdGhpc1trRXJyb3JdKSB7XG4gICAgICAgICAgICByZWplY3QoX3RoaXNba0Vycm9yXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgaGF2ZSBtdWx0aXBsZSBuZXh0KCkgY2FsbHNcbiAgICAvLyB3ZSB3aWxsIHdhaXQgZm9yIHRoZSBwcmV2aW91cyBQcm9taXNlIHRvIGZpbmlzaFxuICAgIC8vIHRoaXMgbG9naWMgaXMgb3B0aW1pemVkIHRvIHN1cHBvcnQgZm9yIGF3YWl0IGxvb3BzLFxuICAgIC8vIHdoZXJlIG5leHQoKSBpcyBvbmx5IGNhbGxlZCBvbmNlIGF0IGEgdGltZVxuICAgIHZhciBsYXN0UHJvbWlzZSA9IHRoaXNba0xhc3RQcm9taXNlXTtcbiAgICB2YXIgcHJvbWlzZTtcbiAgICBpZiAobGFzdFByb21pc2UpIHtcbiAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChsYXN0UHJvbWlzZSwgdGhpcykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBmYXN0IHBhdGggbmVlZGVkIHRvIHN1cHBvcnQgbXVsdGlwbGUgdGhpcy5wdXNoKClcbiAgICAgIC8vIHdpdGhvdXQgdHJpZ2dlcmluZyB0aGUgbmV4dCgpIHF1ZXVlXG4gICAgICB2YXIgZGF0YSA9IHRoaXNba1N0cmVhbV0ucmVhZCgpO1xuICAgICAgaWYgKGRhdGEgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XG4gICAgICB9XG4gICAgICBwcm9taXNlID0gbmV3IFByb21pc2UodGhpc1trSGFuZGxlUHJvbWlzZV0pO1xuICAgIH1cbiAgICB0aGlzW2tMYXN0UHJvbWlzZV0gPSBwcm9taXNlO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG59LCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLCBTeW1ib2wuYXN5bmNJdGVyYXRvciwgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdGhpcztcbn0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLCBcInJldHVyblwiLCBmdW5jdGlvbiBfcmV0dXJuKCkge1xuICB2YXIgX3RoaXMyID0gdGhpcztcbiAgLy8gZGVzdHJveShlcnIsIGNiKSBpcyBhIHByaXZhdGUgQVBJXG4gIC8vIHdlIGNhbiBndWFyYW50ZWUgd2UgaGF2ZSB0aGF0IGhlcmUsIGJlY2F1c2Ugd2UgY29udHJvbCB0aGVcbiAgLy8gUmVhZGFibGUgY2xhc3MgdGhpcyBpcyBhdHRhY2hlZCB0b1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIF90aGlzMltrU3RyZWFtXS5kZXN0cm95KG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcbiAgICB9KTtcbiAgfSk7XG59KSwgX09iamVjdCRzZXRQcm90b3R5cGVPKSwgQXN5bmNJdGVyYXRvclByb3RvdHlwZSk7XG52YXIgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yID0gZnVuY3Rpb24gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHN0cmVhbSkge1xuICB2YXIgX09iamVjdCRjcmVhdGU7XG4gIHZhciBpdGVyYXRvciA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlLCAoX09iamVjdCRjcmVhdGUgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrU3RyZWFtLCB7XG4gICAgdmFsdWU6IHN0cmVhbSxcbiAgICB3cml0YWJsZTogdHJ1ZVxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrTGFzdFJlc29sdmUsIHtcbiAgICB2YWx1ZTogbnVsbCxcbiAgICB3cml0YWJsZTogdHJ1ZVxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrTGFzdFJlamVjdCwge1xuICAgIHZhbHVlOiBudWxsLFxuICAgIHdyaXRhYmxlOiB0cnVlXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtFcnJvciwge1xuICAgIHZhbHVlOiBudWxsLFxuICAgIHdyaXRhYmxlOiB0cnVlXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtFbmRlZCwge1xuICAgIHZhbHVlOiBzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxcbiAgICB3cml0YWJsZTogdHJ1ZVxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrSGFuZGxlUHJvbWlzZSwge1xuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHZhciBkYXRhID0gaXRlcmF0b3Jba1N0cmVhbV0ucmVhZCgpO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSBudWxsO1xuICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSByZXNvbHZlO1xuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSByZWplY3Q7XG4gICAgICB9XG4gICAgfSxcbiAgICB3cml0YWJsZTogdHJ1ZVxuICB9KSwgX09iamVjdCRjcmVhdGUpKTtcbiAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XG4gIGZpbmlzaGVkKHN0cmVhbSwgZnVuY3Rpb24gKGVycikge1xuICAgIGlmIChlcnIgJiYgZXJyLmNvZGUgIT09ICdFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRScpIHtcbiAgICAgIHZhciByZWplY3QgPSBpdGVyYXRvcltrTGFzdFJlamVjdF07XG4gICAgICAvLyByZWplY3QgaWYgd2UgYXJlIHdhaXRpbmcgZm9yIGRhdGEgaW4gdGhlIFByb21pc2VcbiAgICAgIC8vIHJldHVybmVkIGJ5IG5leHQoKSBhbmQgc3RvcmUgdGhlIGVycm9yXG4gICAgICBpZiAocmVqZWN0ICE9PSBudWxsKSB7XG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xuICAgICAgICBpdGVyYXRvcltrTGFzdFJlc29sdmVdID0gbnVsbDtcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gbnVsbDtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgICBpdGVyYXRvcltrRXJyb3JdID0gZXJyO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgcmVzb2x2ZSA9IGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV07XG4gICAgaWYgKHJlc29sdmUgIT09IG51bGwpIHtcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xuICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IG51bGw7XG4gICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSBudWxsO1xuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xuICAgIH1cbiAgICBpdGVyYXRvcltrRW5kZWRdID0gdHJ1ZTtcbiAgfSk7XG4gIHN0cmVhbS5vbigncmVhZGFibGUnLCBvblJlYWRhYmxlLmJpbmQobnVsbCwgaXRlcmF0b3IpKTtcbiAgcmV0dXJuIGl0ZXJhdG9yO1xufTtcbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/async_iterator.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/buffer_list.js": -/*!**************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/buffer_list.js ***! - \**************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\"),\n Buffer = _require.Buffer;\nvar _require2 = __webpack_require__(/*! util */ \"?c852\"),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDJDQUEyQyxnQ0FBZ0Msb0NBQW9DLG9EQUFvRCw2REFBNkQsaUVBQWlFLHNDQUFzQztBQUN2VSxpQ0FBaUMsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCw2REFBNkQsNENBQTRDLG9LQUFvSyxtRkFBbUYsS0FBSztBQUMxZSw0Q0FBNEMsMkJBQTJCLGtCQUFrQixrQ0FBa0Msb0VBQW9FLEtBQUssT0FBTyxvQkFBb0I7QUFDL04sa0RBQWtELDBDQUEwQztBQUM1Riw0Q0FBNEMsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHVEQUF1RDtBQUMvUCw4REFBOEQsc0VBQXNFLDhEQUE4RCxrREFBa0QsaUJBQWlCLEdBQUc7QUFDeFEsK0JBQStCLHVDQUF1QztBQUN0RSxxQ0FBcUMsK0RBQStELHNDQUFzQywwQkFBMEIsK0NBQStDLHlDQUF5Qyx1RUFBdUU7QUFDblUsZUFBZSxtQkFBTyxDQUFDLDhDQUFRO0FBQy9CO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMsbUJBQU07QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBEO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EseURBQXlELGNBQWM7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3QuanM/ZmQ0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBlbnVtZXJhYmxlT25seSAmJiAoc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pKSwga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gbnVsbCAhPSBhcmd1bWVudHNbaV0gPyBhcmd1bWVudHNbaV0gOiB7fTsgaSAlIDIgPyBvd25LZXlzKE9iamVjdChzb3VyY2UpLCAhMCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKSA6IG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBrZXkgPSBfdG9Qcm9wZXJ0eUtleShrZXkpOyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIF90b1Byb3BlcnR5S2V5KGRlc2NyaXB0b3Iua2V5KSwgZGVzY3JpcHRvcik7IH0gfVxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29uc3RydWN0b3IsIFwicHJvdG90eXBlXCIsIHsgd3JpdGFibGU6IGZhbHNlIH0pOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cbmZ1bmN0aW9uIF90b1Byb3BlcnR5S2V5KGFyZykgeyB2YXIga2V5ID0gX3RvUHJpbWl0aXZlKGFyZywgXCJzdHJpbmdcIik7IHJldHVybiB0eXBlb2Yga2V5ID09PSBcInN5bWJvbFwiID8ga2V5IDogU3RyaW5nKGtleSk7IH1cbmZ1bmN0aW9uIF90b1ByaW1pdGl2ZShpbnB1dCwgaGludCkgeyBpZiAodHlwZW9mIGlucHV0ICE9PSBcIm9iamVjdFwiIHx8IGlucHV0ID09PSBudWxsKSByZXR1cm4gaW5wdXQ7IHZhciBwcmltID0gaW5wdXRbU3ltYm9sLnRvUHJpbWl0aXZlXTsgaWYgKHByaW0gIT09IHVuZGVmaW5lZCkgeyB2YXIgcmVzID0gcHJpbS5jYWxsKGlucHV0LCBoaW50IHx8IFwiZGVmYXVsdFwiKTsgaWYgKHR5cGVvZiByZXMgIT09IFwib2JqZWN0XCIpIHJldHVybiByZXM7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKTsgfSByZXR1cm4gKGhpbnQgPT09IFwic3RyaW5nXCIgPyBTdHJpbmcgOiBOdW1iZXIpKGlucHV0KTsgfVxudmFyIF9yZXF1aXJlID0gcmVxdWlyZSgnYnVmZmVyJyksXG4gIEJ1ZmZlciA9IF9yZXF1aXJlLkJ1ZmZlcjtcbnZhciBfcmVxdWlyZTIgPSByZXF1aXJlKCd1dGlsJyksXG4gIGluc3BlY3QgPSBfcmVxdWlyZTIuaW5zcGVjdDtcbnZhciBjdXN0b20gPSBpbnNwZWN0ICYmIGluc3BlY3QuY3VzdG9tIHx8ICdpbnNwZWN0JztcbmZ1bmN0aW9uIGNvcHlCdWZmZXIoc3JjLCB0YXJnZXQsIG9mZnNldCkge1xuICBCdWZmZXIucHJvdG90eXBlLmNvcHkuY2FsbChzcmMsIHRhcmdldCwgb2Zmc2V0KTtcbn1cbm1vZHVsZS5leHBvcnRzID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQnVmZmVyTGlzdCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnVmZmVyTGlzdCk7XG4gICAgdGhpcy5oZWFkID0gbnVsbDtcbiAgICB0aGlzLnRhaWwgPSBudWxsO1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgfVxuICBfY3JlYXRlQ2xhc3MoQnVmZmVyTGlzdCwgW3tcbiAgICBrZXk6IFwicHVzaFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwdXNoKHYpIHtcbiAgICAgIHZhciBlbnRyeSA9IHtcbiAgICAgICAgZGF0YTogdixcbiAgICAgICAgbmV4dDogbnVsbFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcbiAgICAgIHRoaXMudGFpbCA9IGVudHJ5O1xuICAgICAgKyt0aGlzLmxlbmd0aDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwidW5zaGlmdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bnNoaWZ0KHYpIHtcbiAgICAgIHZhciBlbnRyeSA9IHtcbiAgICAgICAgZGF0YTogdixcbiAgICAgICAgbmV4dDogdGhpcy5oZWFkXG4gICAgICB9O1xuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB0aGlzLnRhaWwgPSBlbnRyeTtcbiAgICAgIHRoaXMuaGVhZCA9IGVudHJ5O1xuICAgICAgKyt0aGlzLmxlbmd0aDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic2hpZnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2hpZnQoKSB7XG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIHZhciByZXQgPSB0aGlzLmhlYWQuZGF0YTtcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSkgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMuaGVhZC5uZXh0O1xuICAgICAgLS10aGlzLmxlbmd0aDtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNsZWFyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNsZWFyKCkge1xuICAgICAgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtcbiAgICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiam9pblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBqb2luKHMpIHtcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XG4gICAgICB2YXIgcmV0ID0gJycgKyBwLmRhdGE7XG4gICAgICB3aGlsZSAocCA9IHAubmV4dCkgcmV0ICs9IHMgKyBwLmRhdGE7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb25jYXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29uY2F0KG4pIHtcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcbiAgICAgIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobiA+Pj4gMCk7XG4gICAgICB2YXIgcCA9IHRoaXMuaGVhZDtcbiAgICAgIHZhciBpID0gMDtcbiAgICAgIHdoaWxlIChwKSB7XG4gICAgICAgIGNvcHlCdWZmZXIocC5kYXRhLCByZXQsIGkpO1xuICAgICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XG4gICAgICAgIHAgPSBwLm5leHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBieXRlcyBvciBjaGFyYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXG4gIH0sIHtcbiAgICBrZXk6IFwiY29uc3VtZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb25zdW1lKG4sIGhhc1N0cmluZ3MpIHtcbiAgICAgIHZhciByZXQ7XG4gICAgICBpZiAobiA8IHRoaXMuaGVhZC5kYXRhLmxlbmd0aCkge1xuICAgICAgICAvLyBgc2xpY2VgIGlzIHRoZSBzYW1lIGZvciBidWZmZXJzIGFuZCBzdHJpbmdzLlxuICAgICAgICByZXQgPSB0aGlzLmhlYWQuZGF0YS5zbGljZSgwLCBuKTtcbiAgICAgICAgdGhpcy5oZWFkLmRhdGEgPSB0aGlzLmhlYWQuZGF0YS5zbGljZShuKTtcbiAgICAgIH0gZWxzZSBpZiAobiA9PT0gdGhpcy5oZWFkLmRhdGEubGVuZ3RoKSB7XG4gICAgICAgIC8vIEZpcnN0IGNodW5rIGlzIGEgcGVyZmVjdCBtYXRjaC5cbiAgICAgICAgcmV0ID0gdGhpcy5zaGlmdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gUmVzdWx0IHNwYW5zIG1vcmUgdGhhbiBvbmUgYnVmZmVyLlxuICAgICAgICByZXQgPSBoYXNTdHJpbmdzID8gdGhpcy5fZ2V0U3RyaW5nKG4pIDogdGhpcy5fZ2V0QnVmZmVyKG4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZmlyc3RcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZmlyc3QoKSB7XG4gICAgICByZXR1cm4gdGhpcy5oZWFkLmRhdGE7XG4gICAgfVxuXG4gICAgLy8gQ29uc3VtZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGNoYXJhY3RlcnMgZnJvbSB0aGUgYnVmZmVyZWQgZGF0YS5cbiAgfSwge1xuICAgIGtleTogXCJfZ2V0U3RyaW5nXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRTdHJpbmcobikge1xuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XG4gICAgICB2YXIgYyA9IDE7XG4gICAgICB2YXIgcmV0ID0gcC5kYXRhO1xuICAgICAgbiAtPSByZXQubGVuZ3RoO1xuICAgICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcbiAgICAgICAgdmFyIHN0ciA9IHAuZGF0YTtcbiAgICAgICAgdmFyIG5iID0gbiA+IHN0ci5sZW5ndGggPyBzdHIubGVuZ3RoIDogbjtcbiAgICAgICAgaWYgKG5iID09PSBzdHIubGVuZ3RoKSByZXQgKz0gc3RyO2Vsc2UgcmV0ICs9IHN0ci5zbGljZSgwLCBuKTtcbiAgICAgICAgbiAtPSBuYjtcbiAgICAgICAgaWYgKG4gPT09IDApIHtcbiAgICAgICAgICBpZiAobmIgPT09IHN0ci5sZW5ndGgpIHtcbiAgICAgICAgICAgICsrYztcbiAgICAgICAgICAgIGlmIChwLm5leHQpIHRoaXMuaGVhZCA9IHAubmV4dDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZCA9IHA7XG4gICAgICAgICAgICBwLmRhdGEgPSBzdHIuc2xpY2UobmIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICArK2M7XG4gICAgICB9XG4gICAgICB0aGlzLmxlbmd0aCAtPSBjO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG5cbiAgICAvLyBDb25zdW1lcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgYnl0ZXMgZnJvbSB0aGUgYnVmZmVyZWQgZGF0YS5cbiAgfSwge1xuICAgIGtleTogXCJfZ2V0QnVmZmVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRCdWZmZXIobikge1xuICAgICAgdmFyIHJldCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuKTtcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xuICAgICAgdmFyIGMgPSAxO1xuICAgICAgcC5kYXRhLmNvcHkocmV0KTtcbiAgICAgIG4gLT0gcC5kYXRhLmxlbmd0aDtcbiAgICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgICAgIHZhciBidWYgPSBwLmRhdGE7XG4gICAgICAgIHZhciBuYiA9IG4gPiBidWYubGVuZ3RoID8gYnVmLmxlbmd0aCA6IG47XG4gICAgICAgIGJ1Zi5jb3B5KHJldCwgcmV0Lmxlbmd0aCAtIG4sIDAsIG5iKTtcbiAgICAgICAgbiAtPSBuYjtcbiAgICAgICAgaWYgKG4gPT09IDApIHtcbiAgICAgICAgICBpZiAobmIgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICAgICAgICAgICsrYztcbiAgICAgICAgICAgIGlmIChwLm5leHQpIHRoaXMuaGVhZCA9IHAubmV4dDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZCA9IHA7XG4gICAgICAgICAgICBwLmRhdGEgPSBidWYuc2xpY2UobmIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICArK2M7XG4gICAgICB9XG4gICAgICB0aGlzLmxlbmd0aCAtPSBjO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIGxpbmtlZCBsaXN0IG9ubHkgc2hvd3MgdGhlIG1pbmltYWwgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLlxuICB9LCB7XG4gICAga2V5OiBjdXN0b20sXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKF8sIG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBpbnNwZWN0KHRoaXMsIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgb3B0aW9ucyksIHt9LCB7XG4gICAgICAgIC8vIE9ubHkgaW5zcGVjdCBvbmUgbGV2ZWwuXG4gICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAvLyBJdCBzaG91bGQgbm90IHJlY3Vyc2UuXG4gICAgICAgIGN1c3RvbUluc3BlY3Q6IGZhbHNlXG4gICAgICB9KSk7XG4gICAgfVxuICB9XSk7XG4gIHJldHVybiBCdWZmZXJMaXN0O1xufSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/buffer_list.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/destroy.js": -/*!**********************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/destroy.js ***! - \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCJtYXBwaW5ncyI6IjtBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxRQUFRLE9BQU87QUFDZixRQUFRO0FBQ1I7QUFDQSxRQUFRLE9BQU87QUFDZjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsT0FBTztBQUNmLFFBQVE7QUFDUjtBQUNBLFFBQVEsT0FBTztBQUNmLFFBQVE7QUFDUixRQUFRLE9BQU87QUFDZjtBQUNBLE1BQU07QUFDTixNQUFNLE9BQU87QUFDYjtBQUNBLE1BQU07QUFDTixNQUFNLE9BQU87QUFDYjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0ZBQXdGO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanM/Yzg5MyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcbmZ1bmN0aW9uIGRlc3Ryb3koZXJyLCBjYikge1xuICB2YXIgX3RoaXMgPSB0aGlzO1xuICB2YXIgcmVhZGFibGVEZXN0cm95ZWQgPSB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xuICB2YXIgd3JpdGFibGVEZXN0cm95ZWQgPSB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xuICBpZiAocmVhZGFibGVEZXN0cm95ZWQgfHwgd3JpdGFibGVEZXN0cm95ZWQpIHtcbiAgICBpZiAoY2IpIHtcbiAgICAgIGNiKGVycik7XG4gICAgfSBlbHNlIGlmIChlcnIpIHtcbiAgICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULCB0aGlzLCBlcnIpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpIHtcbiAgICAgICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULCB0aGlzLCBlcnIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIHdlIHNldCBkZXN0cm95ZWQgdG8gdHJ1ZSBiZWZvcmUgZmlyaW5nIGVycm9yIGNhbGxiYWNrcyBpbiBvcmRlclxuICAvLyB0byBtYWtlIGl0IHJlLWVudHJhbmNlIHNhZmUgaW4gY2FzZSBkZXN0cm95KCkgaXMgY2FsbGVkIHdpdGhpbiBjYWxsYmFja3NcblxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHRydWU7XG4gIH1cbiAgdGhpcy5fZGVzdHJveShlcnIgfHwgbnVsbCwgZnVuY3Rpb24gKGVycikge1xuICAgIGlmICghY2IgJiYgZXJyKSB7XG4gICAgICBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlKSB7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCwgX3RoaXMsIGVycik7XG4gICAgICB9IGVsc2UgaWYgKCFfdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpIHtcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULCBfdGhpcywgZXJyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsIF90aGlzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNiKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XG4gICAgICBjYihlcnIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHRoaXM7XG59XG5mdW5jdGlvbiBlbWl0RXJyb3JBbmRDbG9zZU5UKHNlbGYsIGVycikge1xuICBlbWl0RXJyb3JOVChzZWxmLCBlcnIpO1xuICBlbWl0Q2xvc2VOVChzZWxmKTtcbn1cbmZ1bmN0aW9uIGVtaXRDbG9zZU5UKHNlbGYpIHtcbiAgaWYgKHNlbGYuX3dyaXRhYmxlU3RhdGUgJiYgIXNlbGYuX3dyaXRhYmxlU3RhdGUuZW1pdENsb3NlKSByZXR1cm47XG4gIGlmIChzZWxmLl9yZWFkYWJsZVN0YXRlICYmICFzZWxmLl9yZWFkYWJsZVN0YXRlLmVtaXRDbG9zZSkgcmV0dXJuO1xuICBzZWxmLmVtaXQoJ2Nsb3NlJyk7XG59XG5mdW5jdGlvbiB1bmRlc3Ryb3koKSB7XG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkID0gZmFsc2U7XG4gIH1cbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLnByZWZpbmlzaGVkID0gZmFsc2U7XG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGVtaXRFcnJvck5UKHNlbGYsIGVycikge1xuICBzZWxmLmVtaXQoJ2Vycm9yJywgZXJyKTtcbn1cbmZ1bmN0aW9uIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXJyKSB7XG4gIC8vIFdlIGhhdmUgdGVzdHMgdGhhdCByZWx5IG9uIGVycm9ycyBiZWluZyBlbWl0dGVkXG4gIC8vIGluIHRoZSBzYW1lIHRpY2ssIHNvIGNoYW5naW5nIHRoaXMgaXMgc2VtdmVyIG1ham9yLlxuICAvLyBGb3Igbm93IHdoZW4geW91IG9wdC1pbiB0byBhdXRvRGVzdHJveSB3ZSBhbGxvd1xuICAvLyB0aGUgZXJyb3IgdG8gYmUgZW1pdHRlZCBuZXh0VGljay4gSW4gYSBmdXR1cmVcbiAgLy8gc2VtdmVyIG1ham9yIHVwZGF0ZSB3ZSBzaG91bGQgY2hhbmdlIHRoZSBkZWZhdWx0IHRvIHRoaXMuXG5cbiAgdmFyIHJTdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcbiAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcbiAgaWYgKHJTdGF0ZSAmJiByU3RhdGUuYXV0b0Rlc3Ryb3kgfHwgd1N0YXRlICYmIHdTdGF0ZS5hdXRvRGVzdHJveSkgc3RyZWFtLmRlc3Ryb3koZXJyKTtlbHNlIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XG59XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZGVzdHJveTogZGVzdHJveSxcbiAgdW5kZXN0cm95OiB1bmRlc3Ryb3ksXG4gIGVycm9yT3JEZXN0cm95OiBlcnJvck9yRGVzdHJveVxufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/destroy.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/end-of-stream.js": -/*!****************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/end-of-stream.js ***! - \****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\n\nvar ERR_STREAM_PREMATURE_CLOSE = (__webpack_require__(/*! ../../../errors */ \"./node_modules/readable-stream/errors-browser.js\").codes.ERR_STREAM_PREMATURE_CLOSE);\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFYTs7QUFFYixpQ0FBaUMsaUlBQTJEO0FBQzVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RUFBd0UsYUFBYTtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanM/ODhkYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL2VuZC1vZi1zdHJlYW0gd2l0aFxuLy8gcGVybWlzc2lvbiBmcm9tIHRoZSBhdXRob3IsIE1hdGhpYXMgQnV1cyAoQG1hZmludG9zaCkuXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFID0gcmVxdWlyZSgnLi4vLi4vLi4vZXJyb3JzJykuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7XG5mdW5jdGlvbiBvbmNlKGNhbGxiYWNrKSB7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoY2FsbGVkKSByZXR1cm47XG4gICAgY2FsbGVkID0gdHJ1ZTtcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuICAgIGNhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9O1xufVxuZnVuY3Rpb24gbm9vcCgpIHt9XG5mdW5jdGlvbiBpc1JlcXVlc3Qoc3RyZWFtKSB7XG4gIHJldHVybiBzdHJlYW0uc2V0SGVhZGVyICYmIHR5cGVvZiBzdHJlYW0uYWJvcnQgPT09ICdmdW5jdGlvbic7XG59XG5mdW5jdGlvbiBlb3Moc3RyZWFtLCBvcHRzLCBjYWxsYmFjaykge1xuICBpZiAodHlwZW9mIG9wdHMgPT09ICdmdW5jdGlvbicpIHJldHVybiBlb3Moc3RyZWFtLCBudWxsLCBvcHRzKTtcbiAgaWYgKCFvcHRzKSBvcHRzID0ge307XG4gIGNhbGxiYWNrID0gb25jZShjYWxsYmFjayB8fCBub29wKTtcbiAgdmFyIHJlYWRhYmxlID0gb3B0cy5yZWFkYWJsZSB8fCBvcHRzLnJlYWRhYmxlICE9PSBmYWxzZSAmJiBzdHJlYW0ucmVhZGFibGU7XG4gIHZhciB3cml0YWJsZSA9IG9wdHMud3JpdGFibGUgfHwgb3B0cy53cml0YWJsZSAhPT0gZmFsc2UgJiYgc3RyZWFtLndyaXRhYmxlO1xuICB2YXIgb25sZWdhY3lmaW5pc2ggPSBmdW5jdGlvbiBvbmxlZ2FjeWZpbmlzaCgpIHtcbiAgICBpZiAoIXN0cmVhbS53cml0YWJsZSkgb25maW5pc2goKTtcbiAgfTtcbiAgdmFyIHdyaXRhYmxlRW5kZWQgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGUgJiYgc3RyZWFtLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkO1xuICB2YXIgb25maW5pc2ggPSBmdW5jdGlvbiBvbmZpbmlzaCgpIHtcbiAgICB3cml0YWJsZSA9IGZhbHNlO1xuICAgIHdyaXRhYmxlRW5kZWQgPSB0cnVlO1xuICAgIGlmICghcmVhZGFibGUpIGNhbGxiYWNrLmNhbGwoc3RyZWFtKTtcbiAgfTtcbiAgdmFyIHJlYWRhYmxlRW5kZWQgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGUgJiYgc3RyZWFtLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ7XG4gIHZhciBvbmVuZCA9IGZ1bmN0aW9uIG9uZW5kKCkge1xuICAgIHJlYWRhYmxlID0gZmFsc2U7XG4gICAgcmVhZGFibGVFbmRlZCA9IHRydWU7XG4gICAgaWYgKCF3cml0YWJsZSkgY2FsbGJhY2suY2FsbChzdHJlYW0pO1xuICB9O1xuICB2YXIgb25lcnJvciA9IGZ1bmN0aW9uIG9uZXJyb3IoZXJyKSB7XG4gICAgY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XG4gIH07XG4gIHZhciBvbmNsb3NlID0gZnVuY3Rpb24gb25jbG9zZSgpIHtcbiAgICB2YXIgZXJyO1xuICAgIGlmIChyZWFkYWJsZSAmJiAhcmVhZGFibGVFbmRlZCkge1xuICAgICAgaWYgKCFzdHJlYW0uX3JlYWRhYmxlU3RhdGUgfHwgIXN0cmVhbS5fcmVhZGFibGVTdGF0ZS5lbmRlZCkgZXJyID0gbmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKCk7XG4gICAgICByZXR1cm4gY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XG4gICAgfVxuICAgIGlmICh3cml0YWJsZSAmJiAhd3JpdGFibGVFbmRlZCkge1xuICAgICAgaWYgKCFzdHJlYW0uX3dyaXRhYmxlU3RhdGUgfHwgIXN0cmVhbS5fd3JpdGFibGVTdGF0ZS5lbmRlZCkgZXJyID0gbmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKCk7XG4gICAgICByZXR1cm4gY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XG4gICAgfVxuICB9O1xuICB2YXIgb25yZXF1ZXN0ID0gZnVuY3Rpb24gb25yZXF1ZXN0KCkge1xuICAgIHN0cmVhbS5yZXEub24oJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgfTtcbiAgaWYgKGlzUmVxdWVzdChzdHJlYW0pKSB7XG4gICAgc3RyZWFtLm9uKCdjb21wbGV0ZScsIG9uZmluaXNoKTtcbiAgICBzdHJlYW0ub24oJ2Fib3J0Jywgb25jbG9zZSk7XG4gICAgaWYgKHN0cmVhbS5yZXEpIG9ucmVxdWVzdCgpO2Vsc2Ugc3RyZWFtLm9uKCdyZXF1ZXN0Jywgb25yZXF1ZXN0KTtcbiAgfSBlbHNlIGlmICh3cml0YWJsZSAmJiAhc3RyZWFtLl93cml0YWJsZVN0YXRlKSB7XG4gICAgLy8gbGVnYWN5IHN0cmVhbXNcbiAgICBzdHJlYW0ub24oJ2VuZCcsIG9ubGVnYWN5ZmluaXNoKTtcbiAgICBzdHJlYW0ub24oJ2Nsb3NlJywgb25sZWdhY3lmaW5pc2gpO1xuICB9XG4gIHN0cmVhbS5vbignZW5kJywgb25lbmQpO1xuICBzdHJlYW0ub24oJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgaWYgKG9wdHMuZXJyb3IgIT09IGZhbHNlKSBzdHJlYW0ub24oJ2Vycm9yJywgb25lcnJvcik7XG4gIHN0cmVhbS5vbignY2xvc2UnLCBvbmNsb3NlKTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2NvbXBsZXRlJywgb25maW5pc2gpO1xuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignYWJvcnQnLCBvbmNsb3NlKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ3JlcXVlc3QnLCBvbnJlcXVlc3QpO1xuICAgIGlmIChzdHJlYW0ucmVxKSBzdHJlYW0ucmVxLnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmxlZ2FjeWZpbmlzaCk7XG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9ubGVnYWN5ZmluaXNoKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9uZW5kKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xuICB9O1xufVxubW9kdWxlLmV4cG9ydHMgPSBlb3M7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/end-of-stream.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/from-browser.js": -/*!***************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/from-browser.js ***! - \***************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9mcm9tLWJyb3dzZXIuanM/OWQ1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXInKVxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/from-browser.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/pipeline.js": -/*!***********************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/pipeline.js ***! - \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = (__webpack_require__(/*! ../../../errors */ \"./node_modules/readable-stream/errors-browser.js\").codes),\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3BpcGVsaW5lLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHNHQUFnQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILCtCQUErQixtQkFBTyxDQUFDLDZGQUFpQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUVBQXlFLGFBQWE7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanM/OTVmNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL3B1bXAgd2l0aFxuLy8gcGVybWlzc2lvbiBmcm9tIHRoZSBhdXRob3IsIE1hdGhpYXMgQnV1cyAoQG1hZmludG9zaCkuXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGVvcztcbmZ1bmN0aW9uIG9uY2UoY2FsbGJhY2spIHtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmIChjYWxsZWQpIHJldHVybjtcbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIGNhbGxiYWNrLmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcbiAgfTtcbn1cbnZhciBfcmVxdWlyZSRjb2RlcyA9IHJlcXVpcmUoJy4uLy4uLy4uL2Vycm9ycycpLmNvZGVzLFxuICBFUlJfTUlTU0lOR19BUkdTID0gX3JlcXVpcmUkY29kZXMuRVJSX01JU1NJTkdfQVJHUyxcbiAgRVJSX1NUUkVBTV9ERVNUUk9ZRUQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0RFU1RST1lFRDtcbmZ1bmN0aW9uIG5vb3AoZXJyKSB7XG4gIC8vIFJldGhyb3cgdGhlIGVycm9yIGlmIGl0IGV4aXN0cyB0byBhdm9pZCBzd2FsbG93aW5nIGl0XG4gIGlmIChlcnIpIHRocm93IGVycjtcbn1cbmZ1bmN0aW9uIGlzUmVxdWVzdChzdHJlYW0pIHtcbiAgcmV0dXJuIHN0cmVhbS5zZXRIZWFkZXIgJiYgdHlwZW9mIHN0cmVhbS5hYm9ydCA9PT0gJ2Z1bmN0aW9uJztcbn1cbmZ1bmN0aW9uIGRlc3Ryb3llcihzdHJlYW0sIHJlYWRpbmcsIHdyaXRpbmcsIGNhbGxiYWNrKSB7XG4gIGNhbGxiYWNrID0gb25jZShjYWxsYmFjayk7XG4gIHZhciBjbG9zZWQgPSBmYWxzZTtcbiAgc3RyZWFtLm9uKCdjbG9zZScsIGZ1bmN0aW9uICgpIHtcbiAgICBjbG9zZWQgPSB0cnVlO1xuICB9KTtcbiAgaWYgKGVvcyA9PT0gdW5kZWZpbmVkKSBlb3MgPSByZXF1aXJlKCcuL2VuZC1vZi1zdHJlYW0nKTtcbiAgZW9zKHN0cmVhbSwge1xuICAgIHJlYWRhYmxlOiByZWFkaW5nLFxuICAgIHdyaXRhYmxlOiB3cml0aW5nXG4gIH0sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICBpZiAoZXJyKSByZXR1cm4gY2FsbGJhY2soZXJyKTtcbiAgICBjbG9zZWQgPSB0cnVlO1xuICAgIGNhbGxiYWNrKCk7XG4gIH0pO1xuICB2YXIgZGVzdHJveWVkID0gZmFsc2U7XG4gIHJldHVybiBmdW5jdGlvbiAoZXJyKSB7XG4gICAgaWYgKGNsb3NlZCkgcmV0dXJuO1xuICAgIGlmIChkZXN0cm95ZWQpIHJldHVybjtcbiAgICBkZXN0cm95ZWQgPSB0cnVlO1xuXG4gICAgLy8gcmVxdWVzdC5kZXN0cm95IGp1c3QgZG8gLmVuZCAtIC5hYm9ydCBpcyB3aGF0IHdlIHdhbnRcbiAgICBpZiAoaXNSZXF1ZXN0KHN0cmVhbSkpIHJldHVybiBzdHJlYW0uYWJvcnQoKTtcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gc3RyZWFtLmRlc3Ryb3koKTtcbiAgICBjYWxsYmFjayhlcnIgfHwgbmV3IEVSUl9TVFJFQU1fREVTVFJPWUVEKCdwaXBlJykpO1xuICB9O1xufVxuZnVuY3Rpb24gY2FsbChmbikge1xuICBmbigpO1xufVxuZnVuY3Rpb24gcGlwZShmcm9tLCB0bykge1xuICByZXR1cm4gZnJvbS5waXBlKHRvKTtcbn1cbmZ1bmN0aW9uIHBvcENhbGxiYWNrKHN0cmVhbXMpIHtcbiAgaWYgKCFzdHJlYW1zLmxlbmd0aCkgcmV0dXJuIG5vb3A7XG4gIGlmICh0eXBlb2Ygc3RyZWFtc1tzdHJlYW1zLmxlbmd0aCAtIDFdICE9PSAnZnVuY3Rpb24nKSByZXR1cm4gbm9vcDtcbiAgcmV0dXJuIHN0cmVhbXMucG9wKCk7XG59XG5mdW5jdGlvbiBwaXBlbGluZSgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHN0cmVhbXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgc3RyZWFtc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuICB2YXIgY2FsbGJhY2sgPSBwb3BDYWxsYmFjayhzdHJlYW1zKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoc3RyZWFtc1swXSkpIHN0cmVhbXMgPSBzdHJlYW1zWzBdO1xuICBpZiAoc3RyZWFtcy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IEVSUl9NSVNTSU5HX0FSR1MoJ3N0cmVhbXMnKTtcbiAgfVxuICB2YXIgZXJyb3I7XG4gIHZhciBkZXN0cm95cyA9IHN0cmVhbXMubWFwKGZ1bmN0aW9uIChzdHJlYW0sIGkpIHtcbiAgICB2YXIgcmVhZGluZyA9IGkgPCBzdHJlYW1zLmxlbmd0aCAtIDE7XG4gICAgdmFyIHdyaXRpbmcgPSBpID4gMDtcbiAgICByZXR1cm4gZGVzdHJveWVyKHN0cmVhbSwgcmVhZGluZywgd3JpdGluZywgZnVuY3Rpb24gKGVycikge1xuICAgICAgaWYgKCFlcnJvcikgZXJyb3IgPSBlcnI7XG4gICAgICBpZiAoZXJyKSBkZXN0cm95cy5mb3JFYWNoKGNhbGwpO1xuICAgICAgaWYgKHJlYWRpbmcpIHJldHVybjtcbiAgICAgIGRlc3Ryb3lzLmZvckVhY2goY2FsbCk7XG4gICAgICBjYWxsYmFjayhlcnJvcik7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gc3RyZWFtcy5yZWR1Y2UocGlwZSk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IHBpcGVsaW5lOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/pipeline.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/state.js": -/*!********************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/state.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar ERR_INVALID_OPT_VALUE = (__webpack_require__(/*! ../../../errors */ \"./node_modules/readable-stream/errors-browser.js\").codes.ERR_INVALID_OPT_VALUE);\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDRCQUE0Qiw0SEFBc0Q7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzPzI2NTYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgRVJSX0lOVkFMSURfT1BUX1ZBTFVFID0gcmVxdWlyZSgnLi4vLi4vLi4vZXJyb3JzJykuY29kZXMuRVJSX0lOVkFMSURfT1BUX1ZBTFVFO1xuZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20ob3B0aW9ucywgaXNEdXBsZXgsIGR1cGxleEtleSkge1xuICByZXR1cm4gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrICE9IG51bGwgPyBvcHRpb25zLmhpZ2hXYXRlck1hcmsgOiBpc0R1cGxleCA/IG9wdGlvbnNbZHVwbGV4S2V5XSA6IG51bGw7XG59XG5mdW5jdGlvbiBnZXRIaWdoV2F0ZXJNYXJrKHN0YXRlLCBvcHRpb25zLCBkdXBsZXhLZXksIGlzRHVwbGV4KSB7XG4gIHZhciBod20gPSBoaWdoV2F0ZXJNYXJrRnJvbShvcHRpb25zLCBpc0R1cGxleCwgZHVwbGV4S2V5KTtcbiAgaWYgKGh3bSAhPSBudWxsKSB7XG4gICAgaWYgKCEoaXNGaW5pdGUoaHdtKSAmJiBNYXRoLmZsb29yKGh3bSkgPT09IGh3bSkgfHwgaHdtIDwgMCkge1xuICAgICAgdmFyIG5hbWUgPSBpc0R1cGxleCA/IGR1cGxleEtleSA6ICdoaWdoV2F0ZXJNYXJrJztcbiAgICAgIHRocm93IG5ldyBFUlJfSU5WQUxJRF9PUFRfVkFMVUUobmFtZSwgaHdtKTtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoaHdtKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgdmFsdWVcbiAgcmV0dXJuIHN0YXRlLm9iamVjdE1vZGUgPyAxNiA6IDE2ICogMTAyNDtcbn1cbm1vZHVsZS5leHBvcnRzID0ge1xuICBnZXRIaWdoV2F0ZXJNYXJrOiBnZXRIaWdoV2F0ZXJNYXJrXG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/state.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/stream-browser.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/stream-browser.js ***! - \*****************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = __webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGtHQUErQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzPzFjMjYiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCdldmVudHMnKS5FdmVudEVtaXR0ZXI7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js\n")); - -/***/ }), - -/***/ "./node_modules/readable-stream/readable-browser.js": -/*!**********************************************************!*\ - !*** ./node_modules/readable-stream/readable-browser.js ***! - \**********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ \"./node_modules/readable-stream/lib/_stream_readable.js\");\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ \"./node_modules/readable-stream/lib/_stream_writable.js\");\nexports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\nexports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ \"./node_modules/readable-stream/lib/_stream_transform.js\");\nexports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ \"./node_modules/readable-stream/lib/_stream_passthrough.js\");\nexports.finished = __webpack_require__(/*! ./lib/internal/streams/end-of-stream.js */ \"./node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\nexports.pipeline = __webpack_require__(/*! ./lib/internal/streams/pipeline.js */ \"./node_modules/readable-stream/lib/internal/streams/pipeline.js\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSwrSEFBcUQ7QUFDL0QsY0FBYztBQUNkLGdCQUFnQjtBQUNoQixpSUFBdUQ7QUFDdkQsMkhBQW1EO0FBQ25ELG9JQUF5RDtBQUN6RCwwSUFBNkQ7QUFDN0QsNkpBQXFFO0FBQ3JFLG1KQUFnRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanM/ZjQyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzJyk7XG5leHBvcnRzLlN0cmVhbSA9IGV4cG9ydHM7XG5leHBvcnRzLlJlYWRhYmxlID0gZXhwb3J0cztcbmV4cG9ydHMuV3JpdGFibGUgPSByZXF1aXJlKCcuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzJyk7XG5leHBvcnRzLkR1cGxleCA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fZHVwbGV4LmpzJyk7XG5leHBvcnRzLlRyYW5zZm9ybSA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzJyk7XG5leHBvcnRzLlBhc3NUaHJvdWdoID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcycpO1xuZXhwb3J0cy5maW5pc2hlZCA9IHJlcXVpcmUoJy4vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qcycpO1xuZXhwb3J0cy5waXBlbGluZSA9IHJlcXVpcmUoJy4vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanMnKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/readable-stream/readable-browser.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/index.js": -/*!******************************************!*\ - !*** ./node_modules/rxjs/_esm5/index.js ***! - \******************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ArgumentOutOfRangeError: function() { return /* reexport safe */ _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__.ArgumentOutOfRangeError; },\n/* harmony export */ AsyncSubject: function() { return /* reexport safe */ _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__.AsyncSubject; },\n/* harmony export */ BehaviorSubject: function() { return /* reexport safe */ _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__.BehaviorSubject; },\n/* harmony export */ ConnectableObservable: function() { return /* reexport safe */ _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__.ConnectableObservable; },\n/* harmony export */ EMPTY: function() { return /* reexport safe */ _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__.EMPTY; },\n/* harmony export */ EmptyError: function() { return /* reexport safe */ _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__.EmptyError; },\n/* harmony export */ GroupedObservable: function() { return /* reexport safe */ _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__.GroupedObservable; },\n/* harmony export */ NEVER: function() { return /* reexport safe */ _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__.NEVER; },\n/* harmony export */ Notification: function() { return /* reexport safe */ _internal_Notification__WEBPACK_IMPORTED_MODULE_16__.Notification; },\n/* harmony export */ NotificationKind: function() { return /* reexport safe */ _internal_Notification__WEBPACK_IMPORTED_MODULE_16__.NotificationKind; },\n/* harmony export */ ObjectUnsubscribedError: function() { return /* reexport safe */ _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__.ObjectUnsubscribedError; },\n/* harmony export */ Observable: function() { return /* reexport safe */ _internal_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable; },\n/* harmony export */ ReplaySubject: function() { return /* reexport safe */ _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__.ReplaySubject; },\n/* harmony export */ Scheduler: function() { return /* reexport safe */ _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__.Scheduler; },\n/* harmony export */ Subject: function() { return /* reexport safe */ _internal_Subject__WEBPACK_IMPORTED_MODULE_4__.Subject; },\n/* harmony export */ Subscriber: function() { return /* reexport safe */ _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__.Subscriber; },\n/* harmony export */ Subscription: function() { return /* reexport safe */ _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__.Subscription; },\n/* harmony export */ TimeoutError: function() { return /* reexport safe */ _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__.TimeoutError; },\n/* harmony export */ UnsubscriptionError: function() { return /* reexport safe */ _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__.UnsubscriptionError; },\n/* harmony export */ VirtualAction: function() { return /* reexport safe */ _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__.VirtualAction; },\n/* harmony export */ VirtualTimeScheduler: function() { return /* reexport safe */ _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__.VirtualTimeScheduler; },\n/* harmony export */ animationFrame: function() { return /* reexport safe */ _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__.animationFrame; },\n/* harmony export */ animationFrameScheduler: function() { return /* reexport safe */ _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__.animationFrameScheduler; },\n/* harmony export */ asap: function() { return /* reexport safe */ _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__.asap; },\n/* harmony export */ asapScheduler: function() { return /* reexport safe */ _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__.asapScheduler; },\n/* harmony export */ async: function() { return /* reexport safe */ _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__.async; },\n/* harmony export */ asyncScheduler: function() { return /* reexport safe */ _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__.asyncScheduler; },\n/* harmony export */ bindCallback: function() { return /* reexport safe */ _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__.bindCallback; },\n/* harmony export */ bindNodeCallback: function() { return /* reexport safe */ _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__.bindNodeCallback; },\n/* harmony export */ combineLatest: function() { return /* reexport safe */ _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__.combineLatest; },\n/* harmony export */ concat: function() { return /* reexport safe */ _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__.concat; },\n/* harmony export */ config: function() { return /* reexport safe */ _internal_config__WEBPACK_IMPORTED_MODULE_52__.config; },\n/* harmony export */ defer: function() { return /* reexport safe */ _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__.defer; },\n/* harmony export */ empty: function() { return /* reexport safe */ _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__.empty; },\n/* harmony export */ forkJoin: function() { return /* reexport safe */ _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__.forkJoin; },\n/* harmony export */ from: function() { return /* reexport safe */ _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__.from; },\n/* harmony export */ fromEvent: function() { return /* reexport safe */ _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__.fromEvent; },\n/* harmony export */ fromEventPattern: function() { return /* reexport safe */ _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__.fromEventPattern; },\n/* harmony export */ generate: function() { return /* reexport safe */ _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__.generate; },\n/* harmony export */ identity: function() { return /* reexport safe */ _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__.identity; },\n/* harmony export */ iif: function() { return /* reexport safe */ _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__.iif; },\n/* harmony export */ interval: function() { return /* reexport safe */ _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__.interval; },\n/* harmony export */ isObservable: function() { return /* reexport safe */ _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__.isObservable; },\n/* harmony export */ merge: function() { return /* reexport safe */ _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__.merge; },\n/* harmony export */ never: function() { return /* reexport safe */ _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__.never; },\n/* harmony export */ noop: function() { return /* reexport safe */ _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__.noop; },\n/* harmony export */ observable: function() { return /* reexport safe */ _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__.observable; },\n/* harmony export */ of: function() { return /* reexport safe */ _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__.of; },\n/* harmony export */ onErrorResumeNext: function() { return /* reexport safe */ _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__.onErrorResumeNext; },\n/* harmony export */ pairs: function() { return /* reexport safe */ _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__.pairs; },\n/* harmony export */ partition: function() { return /* reexport safe */ _internal_observable_partition__WEBPACK_IMPORTED_MODULE_44__.partition; },\n/* harmony export */ pipe: function() { return /* reexport safe */ _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__.pipe; },\n/* harmony export */ queue: function() { return /* reexport safe */ _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__.queue; },\n/* harmony export */ queueScheduler: function() { return /* reexport safe */ _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__.queueScheduler; },\n/* harmony export */ race: function() { return /* reexport safe */ _internal_observable_race__WEBPACK_IMPORTED_MODULE_45__.race; },\n/* harmony export */ range: function() { return /* reexport safe */ _internal_observable_range__WEBPACK_IMPORTED_MODULE_46__.range; },\n/* harmony export */ scheduled: function() { return /* reexport safe */ _internal_scheduled_scheduled__WEBPACK_IMPORTED_MODULE_51__.scheduled; },\n/* harmony export */ throwError: function() { return /* reexport safe */ _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_47__.throwError; },\n/* harmony export */ timer: function() { return /* reexport safe */ _internal_observable_timer__WEBPACK_IMPORTED_MODULE_48__.timer; },\n/* harmony export */ using: function() { return /* reexport safe */ _internal_observable_using__WEBPACK_IMPORTED_MODULE_49__.using; },\n/* harmony export */ zip: function() { return /* reexport safe */ _internal_observable_zip__WEBPACK_IMPORTED_MODULE_50__.zip; }\n/* harmony export */ });\n/* harmony import */ var _internal_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/observable/ConnectableObservable */ \"./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js\");\n/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/operators/groupBy */ \"./node_modules/rxjs/_esm5/internal/operators/groupBy.js\");\n/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/symbol/observable */ \"./node_modules/rxjs/_esm5/internal/symbol/observable.js\");\n/* harmony import */ var _internal_Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internal/BehaviorSubject */ \"./node_modules/rxjs/_esm5/internal/BehaviorSubject.js\");\n/* harmony import */ var _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./internal/ReplaySubject */ \"./node_modules/rxjs/_esm5/internal/ReplaySubject.js\");\n/* harmony import */ var _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./internal/AsyncSubject */ \"./node_modules/rxjs/_esm5/internal/AsyncSubject.js\");\n/* harmony import */ var _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./internal/scheduler/asap */ \"./node_modules/rxjs/_esm5/internal/scheduler/asap.js\");\n/* harmony import */ var _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internal/scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./internal/scheduler/queue */ \"./node_modules/rxjs/_esm5/internal/scheduler/queue.js\");\n/* harmony import */ var _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./internal/scheduler/animationFrame */ \"./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js\");\n/* harmony import */ var _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./internal/scheduler/VirtualTimeScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js\");\n/* harmony import */ var _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./internal/Scheduler */ \"./node_modules/rxjs/_esm5/internal/Scheduler.js\");\n/* harmony import */ var _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./internal/Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./internal/Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _internal_Notification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./internal/Notification */ \"./node_modules/rxjs/_esm5/internal/Notification.js\");\n/* harmony import */ var _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internal/util/pipe */ \"./node_modules/rxjs/_esm5/internal/util/pipe.js\");\n/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./internal/util/noop */ \"./node_modules/rxjs/_esm5/internal/util/noop.js\");\n/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internal/util/identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/* harmony import */ var _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./internal/util/isObservable */ \"./node_modules/rxjs/_esm5/internal/util/isObservable.js\");\n/* harmony import */ var _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./internal/util/ArgumentOutOfRangeError */ \"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js\");\n/* harmony import */ var _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./internal/util/EmptyError */ \"./node_modules/rxjs/_esm5/internal/util/EmptyError.js\");\n/* harmony import */ var _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./internal/util/ObjectUnsubscribedError */ \"./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js\");\n/* harmony import */ var _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internal/util/UnsubscriptionError */ \"./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js\");\n/* harmony import */ var _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./internal/util/TimeoutError */ \"./node_modules/rxjs/_esm5/internal/util/TimeoutError.js\");\n/* harmony import */ var _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./internal/observable/bindCallback */ \"./node_modules/rxjs/_esm5/internal/observable/bindCallback.js\");\n/* harmony import */ var _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./internal/observable/bindNodeCallback */ \"./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js\");\n/* harmony import */ var _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./internal/observable/combineLatest */ \"./node_modules/rxjs/_esm5/internal/observable/combineLatest.js\");\n/* harmony import */ var _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./internal/observable/concat */ \"./node_modules/rxjs/_esm5/internal/observable/concat.js\");\n/* harmony import */ var _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./internal/observable/defer */ \"./node_modules/rxjs/_esm5/internal/observable/defer.js\");\n/* harmony import */ var _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./internal/observable/empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/* harmony import */ var _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./internal/observable/forkJoin */ \"./node_modules/rxjs/_esm5/internal/observable/forkJoin.js\");\n/* harmony import */ var _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./internal/observable/from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./internal/observable/fromEvent */ \"./node_modules/rxjs/_esm5/internal/observable/fromEvent.js\");\n/* harmony import */ var _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./internal/observable/fromEventPattern */ \"./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js\");\n/* harmony import */ var _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./internal/observable/generate */ \"./node_modules/rxjs/_esm5/internal/observable/generate.js\");\n/* harmony import */ var _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./internal/observable/iif */ \"./node_modules/rxjs/_esm5/internal/observable/iif.js\");\n/* harmony import */ var _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./internal/observable/interval */ \"./node_modules/rxjs/_esm5/internal/observable/interval.js\");\n/* harmony import */ var _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./internal/observable/merge */ \"./node_modules/rxjs/_esm5/internal/observable/merge.js\");\n/* harmony import */ var _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./internal/observable/never */ \"./node_modules/rxjs/_esm5/internal/observable/never.js\");\n/* harmony import */ var _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./internal/observable/of */ \"./node_modules/rxjs/_esm5/internal/observable/of.js\");\n/* harmony import */ var _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./internal/observable/onErrorResumeNext */ \"./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js\");\n/* harmony import */ var _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./internal/observable/pairs */ \"./node_modules/rxjs/_esm5/internal/observable/pairs.js\");\n/* harmony import */ var _internal_observable_partition__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./internal/observable/partition */ \"./node_modules/rxjs/_esm5/internal/observable/partition.js\");\n/* harmony import */ var _internal_observable_race__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./internal/observable/race */ \"./node_modules/rxjs/_esm5/internal/observable/race.js\");\n/* harmony import */ var _internal_observable_range__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./internal/observable/range */ \"./node_modules/rxjs/_esm5/internal/observable/range.js\");\n/* harmony import */ var _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./internal/observable/throwError */ \"./node_modules/rxjs/_esm5/internal/observable/throwError.js\");\n/* harmony import */ var _internal_observable_timer__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./internal/observable/timer */ \"./node_modules/rxjs/_esm5/internal/observable/timer.js\");\n/* harmony import */ var _internal_observable_using__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./internal/observable/using */ \"./node_modules/rxjs/_esm5/internal/observable/using.js\");\n/* harmony import */ var _internal_observable_zip__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./internal/observable/zip */ \"./node_modules/rxjs/_esm5/internal/observable/zip.js\");\n/* harmony import */ var _internal_scheduled_scheduled__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./internal/scheduled/scheduled */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js\");\n/* harmony import */ var _internal_config__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./internal/config */ \"./node_modules/rxjs/_esm5/internal/config.js\");\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNtRDtBQUNpQztBQUNuQjtBQUNQO0FBQ2I7QUFDZ0I7QUFDSjtBQUNGO0FBQ1M7QUFDRztBQUNBO0FBQzJCO0FBQ0U7QUFDL0M7QUFDTTtBQUNKO0FBQ3NCO0FBQzdCO0FBQ0E7QUFDUTtBQUNRO0FBQ3NCO0FBQzFCO0FBQzBCO0FBQ1I7QUFDZDtBQUNNO0FBQ1E7QUFDTjtBQUNkO0FBQ0Y7QUFDQTtBQUNNO0FBQ1I7QUFDVTtBQUNjO0FBQ2hCO0FBQ1Y7QUFDVTtBQUNOO0FBQ0E7QUFDTjtBQUM4QjtBQUN4QjtBQUNRO0FBQ1Y7QUFDRTtBQUNVO0FBQ1Y7QUFDQTtBQUNKO0FBQ1c7QUFDUDtBQUNBO0FBQ1Q7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW5kZXguanM/ZGQ4YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmV4cG9ydCB7IENvbm5lY3RhYmxlT2JzZXJ2YWJsZSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9Db25uZWN0YWJsZU9ic2VydmFibGUnO1xuZXhwb3J0IHsgR3JvdXBlZE9ic2VydmFibGUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9ncm91cEJ5JztcbmV4cG9ydCB7IG9ic2VydmFibGUgfSBmcm9tICcuL2ludGVybmFsL3N5bWJvbC9vYnNlcnZhYmxlJztcbmV4cG9ydCB7IFN1YmplY3QgfSBmcm9tICcuL2ludGVybmFsL1N1YmplY3QnO1xuZXhwb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAnLi9pbnRlcm5hbC9CZWhhdmlvclN1YmplY3QnO1xuZXhwb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJy4vaW50ZXJuYWwvUmVwbGF5U3ViamVjdCc7XG5leHBvcnQgeyBBc3luY1N1YmplY3QgfSBmcm9tICcuL2ludGVybmFsL0FzeW5jU3ViamVjdCc7XG5leHBvcnQgeyBhc2FwLCBhc2FwU2NoZWR1bGVyIH0gZnJvbSAnLi9pbnRlcm5hbC9zY2hlZHVsZXIvYXNhcCc7XG5leHBvcnQgeyBhc3luYywgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlci9hc3luYyc7XG5leHBvcnQgeyBxdWV1ZSwgcXVldWVTY2hlZHVsZXIgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlci9xdWV1ZSc7XG5leHBvcnQgeyBhbmltYXRpb25GcmFtZSwgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlci9hbmltYXRpb25GcmFtZSc7XG5leHBvcnQgeyBWaXJ0dWFsVGltZVNjaGVkdWxlciwgVmlydHVhbEFjdGlvbiB9IGZyb20gJy4vaW50ZXJuYWwvc2NoZWR1bGVyL1ZpcnR1YWxUaW1lU2NoZWR1bGVyJztcbmV4cG9ydCB7IFNjaGVkdWxlciB9IGZyb20gJy4vaW50ZXJuYWwvU2NoZWR1bGVyJztcbmV4cG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4vaW50ZXJuYWwvU3Vic2NyaXB0aW9uJztcbmV4cG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuL2ludGVybmFsL1N1YnNjcmliZXInO1xuZXhwb3J0IHsgTm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25LaW5kIH0gZnJvbSAnLi9pbnRlcm5hbC9Ob3RpZmljYXRpb24nO1xuZXhwb3J0IHsgcGlwZSB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9waXBlJztcbmV4cG9ydCB7IG5vb3AgfSBmcm9tICcuL2ludGVybmFsL3V0aWwvbm9vcCc7XG5leHBvcnQgeyBpZGVudGl0eSB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9pZGVudGl0eSc7XG5leHBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tICcuL2ludGVybmFsL3V0aWwvaXNPYnNlcnZhYmxlJztcbmV4cG9ydCB7IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yJztcbmV4cG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuL2ludGVybmFsL3V0aWwvRW1wdHlFcnJvcic7XG5leHBvcnQgeyBPYmplY3RVbnN1YnNjcmliZWRFcnJvciB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9PYmplY3RVbnN1YnNjcmliZWRFcnJvcic7XG5leHBvcnQgeyBVbnN1YnNjcmlwdGlvbkVycm9yIH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL1Vuc3Vic2NyaXB0aW9uRXJyb3InO1xuZXhwb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL1RpbWVvdXRFcnJvcic7XG5leHBvcnQgeyBiaW5kQ2FsbGJhY2sgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvYmluZENhbGxiYWNrJztcbmV4cG9ydCB7IGJpbmROb2RlQ2FsbGJhY2sgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvYmluZE5vZGVDYWxsYmFjayc7XG5leHBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbWJpbmVMYXRlc3QnO1xuZXhwb3J0IHsgY29uY2F0IH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbmNhdCc7XG5leHBvcnQgeyBkZWZlciB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9kZWZlcic7XG5leHBvcnQgeyBlbXB0eSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9lbXB0eSc7XG5leHBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9mb3JrSm9pbic7XG5leHBvcnQgeyBmcm9tIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb20nO1xuZXhwb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21FdmVudCc7XG5leHBvcnQgeyBmcm9tRXZlbnRQYXR0ZXJuIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21FdmVudFBhdHRlcm4nO1xuZXhwb3J0IHsgZ2VuZXJhdGUgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvZ2VuZXJhdGUnO1xuZXhwb3J0IHsgaWlmIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2lpZic7XG5leHBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9pbnRlcnZhbCc7XG5leHBvcnQgeyBtZXJnZSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9tZXJnZSc7XG5leHBvcnQgeyBuZXZlciB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9uZXZlcic7XG5leHBvcnQgeyBvZiB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9vZic7XG5leHBvcnQgeyBvbkVycm9yUmVzdW1lTmV4dCB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9vbkVycm9yUmVzdW1lTmV4dCc7XG5leHBvcnQgeyBwYWlycyB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9wYWlycyc7XG5leHBvcnQgeyBwYXJ0aXRpb24gfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvcGFydGl0aW9uJztcbmV4cG9ydCB7IHJhY2UgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvcmFjZSc7XG5leHBvcnQgeyByYW5nZSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9yYW5nZSc7XG5leHBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL3Rocm93RXJyb3InO1xuZXhwb3J0IHsgdGltZXIgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvdGltZXInO1xuZXhwb3J0IHsgdXNpbmcgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvdXNpbmcnO1xuZXhwb3J0IHsgemlwIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL3ppcCc7XG5leHBvcnQgeyBzY2hlZHVsZWQgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlZC9zY2hlZHVsZWQnO1xuZXhwb3J0IHsgRU1QVFkgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvZW1wdHknO1xuZXhwb3J0IHsgTkVWRVIgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvbmV2ZXInO1xuZXhwb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9pbnRlcm5hbC9jb25maWcnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/index.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/AsyncSubject.js": -/*!**********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/AsyncSubject.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AsyncSubject: function() { return /* binding */ AsyncSubject; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */\n\n\n\nvar AsyncSubject = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.value = null;\n _this.hasNext = false;\n _this.hasCompleted = false;\n return _this;\n }\n AsyncSubject.prototype._subscribe = function (subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription.EMPTY;\n }\n return _super.prototype._subscribe.call(this, subscriber);\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n };\n AsyncSubject.prototype.error = function (error) {\n if (!this.hasCompleted) {\n _super.prototype.error.call(this, error);\n }\n };\n AsyncSubject.prototype.complete = function () {\n this.hasCompleted = true;\n if (this.hasNext) {\n _super.prototype.next.call(this, this.value);\n }\n _super.prototype.complete.call(this);\n };\n return AsyncSubject;\n}(_Subject__WEBPACK_IMPORTED_MODULE_2__.Subject));\n\n//# sourceMappingURL=AsyncSubject.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9Bc3luY1N1YmplY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ0c7QUFDVTtBQUM5QztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHVEQUFZO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHVEQUFZO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLDZDQUFPO0FBQ2U7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvQXN5bmNTdWJqZWN0LmpzPzZkYzkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3ViamVjdCxfU3Vic2NyaXB0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi9TdWJqZWN0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4vU3Vic2NyaXB0aW9uJztcbnZhciBBc3luY1N1YmplY3QgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQXN5bmNTdWJqZWN0LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEFzeW5jU3ViamVjdCgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgX3RoaXMuaGFzTmV4dCA9IGZhbHNlO1xuICAgICAgICBfdGhpcy5oYXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBBc3luY1N1YmplY3QucHJvdG90eXBlLl9zdWJzY3JpYmUgPSBmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICBpZiAodGhpcy5oYXNFcnJvcikge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcih0aGlzLnRocm93bkVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5oYXNDb21wbGV0ZWQgJiYgdGhpcy5oYXNOZXh0KSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXR1cm4gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLl9zdWJzY3JpYmUuY2FsbCh0aGlzLCBzdWJzY3JpYmVyKTtcbiAgICB9O1xuICAgIEFzeW5jU3ViamVjdC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzQ29tcGxldGVkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmhhc05leHQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBBc3luY1N1YmplY3QucHJvdG90eXBlLmVycm9yID0gZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNDb21wbGV0ZWQpIHtcbiAgICAgICAgICAgIF9zdXBlci5wcm90b3R5cGUuZXJyb3IuY2FsbCh0aGlzLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEFzeW5jU3ViamVjdC5wcm90b3R5cGUuY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuaGFzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaGFzTmV4dCkge1xuICAgICAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcywgdGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5jb21wbGV0ZS5jYWxsKHRoaXMpO1xuICAgIH07XG4gICAgcmV0dXJuIEFzeW5jU3ViamVjdDtcbn0oU3ViamVjdCkpO1xuZXhwb3J0IHsgQXN5bmNTdWJqZWN0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Bc3luY1N1YmplY3QuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/AsyncSubject.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/BehaviorSubject.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/BehaviorSubject.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BehaviorSubject: function() { return /* binding */ BehaviorSubject; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/ObjectUnsubscribedError */ \"./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\n\n\n\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_1__.ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(_Subject__WEBPACK_IMPORTED_MODULE_2__.Subject));\n\n//# sourceMappingURL=BehaviorSubject.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9CZWhhdmlvclN1YmplY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ0c7QUFDcUM7QUFDekU7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGtGQUF1QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsNkNBQU87QUFDa0I7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvQmVoYXZpb3JTdWJqZWN0LmpzP2IxYjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3ViamVjdCxfdXRpbF9PYmplY3RVbnN1YnNjcmliZWRFcnJvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4vU3ViamVjdCc7XG5pbXBvcnQgeyBPYmplY3RVbnN1YnNjcmliZWRFcnJvciB9IGZyb20gJy4vdXRpbC9PYmplY3RVbnN1YnNjcmliZWRFcnJvcic7XG52YXIgQmVoYXZpb3JTdWJqZWN0ID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEJlaGF2aW9yU3ViamVjdCwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBCZWhhdmlvclN1YmplY3QoX3ZhbHVlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLl92YWx1ZSA9IF92YWx1ZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQmVoYXZpb3JTdWJqZWN0LnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgQmVoYXZpb3JTdWJqZWN0LnByb3RvdHlwZS5fc3Vic2NyaWJlID0gZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IF9zdXBlci5wcm90b3R5cGUuX3N1YnNjcmliZS5jYWxsKHRoaXMsIHN1YnNjcmliZXIpO1xuICAgICAgICBpZiAoc3Vic2NyaXB0aW9uICYmICFzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodGhpcy5fdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICBCZWhhdmlvclN1YmplY3QucHJvdG90eXBlLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5oYXNFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy50aHJvd25FcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmNsb3NlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE9iamVjdFVuc3Vic2NyaWJlZEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEJlaGF2aW9yU3ViamVjdC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBfc3VwZXIucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLCB0aGlzLl92YWx1ZSA9IHZhbHVlKTtcbiAgICB9O1xuICAgIHJldHVybiBCZWhhdmlvclN1YmplY3Q7XG59KFN1YmplY3QpKTtcbmV4cG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QmVoYXZpb3JTdWJqZWN0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/BehaviorSubject.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/InnerSubscriber.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/InnerSubscriber.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InnerSubscriber: function() { return /* binding */ InnerSubscriber; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nvar InnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\n//# sourceMappingURL=InnerSubscriber.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9Jbm5lclN1YnNjcmliZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDUztBQUMxQztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDZTtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9Jbm5lclN1YnNjcmliZXIuanM/NmIwYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi9TdWJzY3JpYmVyJztcbnZhciBJbm5lclN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoSW5uZXJTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIElubmVyU3Vic2NyaWJlcihwYXJlbnQsIG91dGVyVmFsdWUsIG91dGVySW5kZXgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICBfdGhpcy5vdXRlclZhbHVlID0gb3V0ZXJWYWx1ZTtcbiAgICAgICAgX3RoaXMub3V0ZXJJbmRleCA9IG91dGVySW5kZXg7XG4gICAgICAgIF90aGlzLmluZGV4ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBJbm5lclN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucGFyZW50Lm5vdGlmeU5leHQodGhpcy5vdXRlclZhbHVlLCB2YWx1ZSwgdGhpcy5vdXRlckluZGV4LCB0aGlzLmluZGV4KyssIHRoaXMpO1xuICAgIH07XG4gICAgSW5uZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQubm90aWZ5RXJyb3IoZXJyb3IsIHRoaXMpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBJbm5lclN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQubm90aWZ5Q29tcGxldGUodGhpcyk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBJbm5lclN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbmV4cG9ydCB7IElubmVyU3Vic2NyaWJlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SW5uZXJTdWJzY3JpYmVyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/InnerSubscriber.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Notification.js": -/*!**********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Notification.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Notification: function() { return /* binding */ Notification; },\n/* harmony export */ NotificationKind: function() { return /* binding */ NotificationKind; }\n/* harmony export */ });\n/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./observable/empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./observable/of */ \"./node_modules/rxjs/_esm5/internal/observable/of.js\");\n/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./observable/throwError */ \"./node_modules/rxjs/_esm5/internal/observable/throwError.js\");\n/** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */\n\n\n\nvar NotificationKind;\n/*@__PURE__*/ (function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = /*@__PURE__*/ (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return (0,_observable_of__WEBPACK_IMPORTED_MODULE_0__.of)(this.value);\n case 'E':\n return (0,_observable_throwError__WEBPACK_IMPORTED_MODULE_1__.throwError)(this.error);\n case 'C':\n return (0,_observable_empty__WEBPACK_IMPORTED_MODULE_2__.empty)();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\n\n//# sourceMappingURL=Notification.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9Ob3RpZmljYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUMyQztBQUNOO0FBQ2dCO0FBQzlDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLDRDQUE0QztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixrREFBRTtBQUN6QjtBQUNBLHVCQUF1QixrRUFBVTtBQUNqQztBQUNBLHVCQUF1Qix3REFBSztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3VCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL05vdGlmaWNhdGlvbi5qcz9iZTZlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfZW1wdHksX29ic2VydmFibGVfb2YsX29ic2VydmFibGVfdGhyb3dFcnJvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBlbXB0eSB9IGZyb20gJy4vb2JzZXJ2YWJsZS9lbXB0eSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJy4vb2JzZXJ2YWJsZS9vZic7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAnLi9vYnNlcnZhYmxlL3Rocm93RXJyb3InO1xuZXhwb3J0IHZhciBOb3RpZmljYXRpb25LaW5kO1xuLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKE5vdGlmaWNhdGlvbktpbmQpIHtcbiAgICBOb3RpZmljYXRpb25LaW5kW1wiTkVYVFwiXSA9IFwiTlwiO1xuICAgIE5vdGlmaWNhdGlvbktpbmRbXCJFUlJPUlwiXSA9IFwiRVwiO1xuICAgIE5vdGlmaWNhdGlvbktpbmRbXCJDT01QTEVURVwiXSA9IFwiQ1wiO1xufSkoTm90aWZpY2F0aW9uS2luZCB8fCAoTm90aWZpY2F0aW9uS2luZCA9IHt9KSk7XG52YXIgTm90aWZpY2F0aW9uID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE5vdGlmaWNhdGlvbihraW5kLCB2YWx1ZSwgZXJyb3IpIHtcbiAgICAgICAgdGhpcy5raW5kID0ga2luZDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSBraW5kID09PSAnTic7XG4gICAgfVxuICAgIE5vdGlmaWNhdGlvbi5wcm90b3R5cGUub2JzZXJ2ZSA9IGZ1bmN0aW9uIChvYnNlcnZlcikge1xuICAgICAgICBzd2l0Y2ggKHRoaXMua2luZCkge1xuICAgICAgICAgICAgY2FzZSAnTic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmVyLm5leHQgJiYgb2JzZXJ2ZXIubmV4dCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgJ0UnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZlci5lcnJvciAmJiBvYnNlcnZlci5lcnJvcih0aGlzLmVycm9yKTtcbiAgICAgICAgICAgIGNhc2UgJ0MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZlci5jb21wbGV0ZSAmJiBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBOb3RpZmljYXRpb24ucHJvdG90eXBlLmRvID0gZnVuY3Rpb24gKG5leHQsIGVycm9yLCBjb21wbGV0ZSkge1xuICAgICAgICB2YXIga2luZCA9IHRoaXMua2luZDtcbiAgICAgICAgc3dpdGNoIChraW5kKSB7XG4gICAgICAgICAgICBjYXNlICdOJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dCAmJiBuZXh0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgY2FzZSAnRSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yICYmIGVycm9yKHRoaXMuZXJyb3IpO1xuICAgICAgICAgICAgY2FzZSAnQyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRlICYmIGNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIE5vdGlmaWNhdGlvbi5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24gKG5leHRPck9ic2VydmVyLCBlcnJvciwgY29tcGxldGUpIHtcbiAgICAgICAgaWYgKG5leHRPck9ic2VydmVyICYmIHR5cGVvZiBuZXh0T3JPYnNlcnZlci5uZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlKG5leHRPck9ic2VydmVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRvKG5leHRPck9ic2VydmVyLCBlcnJvciwgY29tcGxldGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBOb3RpZmljYXRpb24ucHJvdG90eXBlLnRvT2JzZXJ2YWJsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGtpbmQgPSB0aGlzLmtpbmQ7XG4gICAgICAgIHN3aXRjaCAoa2luZCkge1xuICAgICAgICAgICAgY2FzZSAnTic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgY2FzZSAnRSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IodGhpcy5lcnJvcik7XG4gICAgICAgICAgICBjYXNlICdDJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuZXhwZWN0ZWQgbm90aWZpY2F0aW9uIGtpbmQgdmFsdWUnKTtcbiAgICB9O1xuICAgIE5vdGlmaWNhdGlvbi5jcmVhdGVOZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE5vdGlmaWNhdGlvbignTicsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uLnVuZGVmaW5lZFZhbHVlTm90aWZpY2F0aW9uO1xuICAgIH07XG4gICAgTm90aWZpY2F0aW9uLmNyZWF0ZUVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICByZXR1cm4gbmV3IE5vdGlmaWNhdGlvbignRScsIHVuZGVmaW5lZCwgZXJyKTtcbiAgICB9O1xuICAgIE5vdGlmaWNhdGlvbi5jcmVhdGVDb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbi5jb21wbGV0ZU5vdGlmaWNhdGlvbjtcbiAgICB9O1xuICAgIE5vdGlmaWNhdGlvbi5jb21wbGV0ZU5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ0MnKTtcbiAgICBOb3RpZmljYXRpb24udW5kZWZpbmVkVmFsdWVOb3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKCdOJywgdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gTm90aWZpY2F0aW9uO1xufSgpKTtcbmV4cG9ydCB7IE5vdGlmaWNhdGlvbiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Tm90aWZpY2F0aW9uLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Notification.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Observable.js": -/*!********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Observable.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Observable: function() { return /* binding */ Observable; }\n/* harmony export */ });\n/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/canReportError */ \"./node_modules/rxjs/_esm5/internal/util/canReportError.js\");\n/* harmony import */ var _util_toSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/toSubscriber */ \"./node_modules/rxjs/_esm5/internal/util/toSubscriber.js\");\n/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./symbol/observable */ \"./node_modules/rxjs/_esm5/internal/symbol/observable.js\");\n/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/pipe */ \"./node_modules/rxjs/_esm5/internal/util/pipe.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config */ \"./node_modules/rxjs/_esm5/internal/config.js\");\n/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\n\n\n\n\n\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = (0,_util_toSubscriber__WEBPACK_IMPORTED_MODULE_0__.toSubscriber)(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (_config__WEBPACK_IMPORTED_MODULE_1__.config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (_config__WEBPACK_IMPORTED_MODULE_1__.config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (_config__WEBPACK_IMPORTED_MODULE_1__.config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if ((0,_util_canReportError__WEBPACK_IMPORTED_MODULE_2__.canReportError)(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[_symbol_observable__WEBPACK_IMPORTED_MODULE_3__.observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return (0,_util_pipe__WEBPACK_IMPORTED_MODULE_4__.pipeFromArray)(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\n\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = _config__WEBPACK_IMPORTED_MODULE_1__.config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9PYnNlcnZhYmxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ3VEO0FBQ0o7QUFDbUI7QUFDMUI7QUFDVjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsZ0VBQVk7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsMkNBQU07QUFDM0M7QUFDQTtBQUNBO0FBQ0EsWUFBWSwyQ0FBTTtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDJDQUFNO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixvRUFBYztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwwREFBaUI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsdUJBQXVCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlEQUFhO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxtQkFBbUIsbUJBQW1CLHFCQUFxQixnQkFBZ0Isd0JBQXdCO0FBQzlJLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNxQjtBQUN0QjtBQUNBO0FBQ0Esc0JBQXNCLDJDQUFNO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL09ic2VydmFibGUuanM/MmUyOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF91dGlsX2NhblJlcG9ydEVycm9yLF91dGlsX3RvU3Vic2NyaWJlcixfc3ltYm9sX29ic2VydmFibGUsX3V0aWxfcGlwZSxfY29uZmlnIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IGNhblJlcG9ydEVycm9yIH0gZnJvbSAnLi91dGlsL2NhblJlcG9ydEVycm9yJztcbmltcG9ydCB7IHRvU3Vic2NyaWJlciB9IGZyb20gJy4vdXRpbC90b1N1YnNjcmliZXInO1xuaW1wb3J0IHsgb2JzZXJ2YWJsZSBhcyBTeW1ib2xfb2JzZXJ2YWJsZSB9IGZyb20gJy4vc3ltYm9sL29ic2VydmFibGUnO1xuaW1wb3J0IHsgcGlwZUZyb21BcnJheSB9IGZyb20gJy4vdXRpbC9waXBlJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbnZhciBPYnNlcnZhYmxlID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE9ic2VydmFibGUoc3Vic2NyaWJlKSB7XG4gICAgICAgIHRoaXMuX2lzU2NhbGFyID0gZmFsc2U7XG4gICAgICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmliZSA9IHN1YnNjcmliZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBPYnNlcnZhYmxlLnByb3RvdHlwZS5saWZ0ID0gZnVuY3Rpb24gKG9wZXJhdG9yKSB7XG4gICAgICAgIHZhciBvYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGUoKTtcbiAgICAgICAgb2JzZXJ2YWJsZS5zb3VyY2UgPSB0aGlzO1xuICAgICAgICBvYnNlcnZhYmxlLm9wZXJhdG9yID0gb3BlcmF0b3I7XG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICAgIH07XG4gICAgT2JzZXJ2YWJsZS5wcm90b3R5cGUuc3Vic2NyaWJlID0gZnVuY3Rpb24gKG9ic2VydmVyT3JOZXh0LCBlcnJvciwgY29tcGxldGUpIHtcbiAgICAgICAgdmFyIG9wZXJhdG9yID0gdGhpcy5vcGVyYXRvcjtcbiAgICAgICAgdmFyIHNpbmsgPSB0b1N1YnNjcmliZXIob2JzZXJ2ZXJPck5leHQsIGVycm9yLCBjb21wbGV0ZSk7XG4gICAgICAgIGlmIChvcGVyYXRvcikge1xuICAgICAgICAgICAgc2luay5hZGQob3BlcmF0b3IuY2FsbChzaW5rLCB0aGlzLnNvdXJjZSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2luay5hZGQodGhpcy5zb3VyY2UgfHwgKGNvbmZpZy51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nICYmICFzaW5rLnN5bmNFcnJvclRocm93YWJsZSkgP1xuICAgICAgICAgICAgICAgIHRoaXMuX3N1YnNjcmliZShzaW5rKSA6XG4gICAgICAgICAgICAgICAgdGhpcy5fdHJ5U3Vic2NyaWJlKHNpbmspKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLnVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgIGlmIChzaW5rLnN5bmNFcnJvclRocm93YWJsZSkge1xuICAgICAgICAgICAgICAgIHNpbmsuc3luY0Vycm9yVGhyb3dhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHNpbmsuc3luY0Vycm9yVGhyb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IHNpbmsuc3luY0Vycm9yVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzaW5rO1xuICAgIH07XG4gICAgT2JzZXJ2YWJsZS5wcm90b3R5cGUuX3RyeVN1YnNjcmliZSA9IGZ1bmN0aW9uIChzaW5rKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc3Vic2NyaWJlKHNpbmspO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZykge1xuICAgICAgICAgICAgICAgIHNpbmsuc3luY0Vycm9yVGhyb3duID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzaW5rLnN5bmNFcnJvclZhbHVlID0gZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNhblJlcG9ydEVycm9yKHNpbmspKSB7XG4gICAgICAgICAgICAgICAgc2luay5lcnJvcihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIE9ic2VydmFibGUucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiAobmV4dCwgcHJvbWlzZUN0b3IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcHJvbWlzZUN0b3IgPSBnZXRQcm9taXNlQ3Rvcihwcm9taXNlQ3Rvcik7XG4gICAgICAgIHJldHVybiBuZXcgcHJvbWlzZUN0b3IoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgdmFyIHN1YnNjcmlwdGlvbjtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbiA9IF90aGlzLnN1YnNjcmliZShmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBuZXh0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZWplY3QsIHJlc29sdmUpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIE9ic2VydmFibGUucHJvdG90eXBlLl9zdWJzY3JpYmUgPSBmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB2YXIgc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgICAgIHJldHVybiBzb3VyY2UgJiYgc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICB9O1xuICAgIE9ic2VydmFibGUucHJvdG90eXBlW1N5bWJvbF9vYnNlcnZhYmxlXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBPYnNlcnZhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgb3BlcmF0aW9ucyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgb3BlcmF0aW9uc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcGVyYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBpcGVGcm9tQXJyYXkob3BlcmF0aW9ucykodGhpcyk7XG4gICAgfTtcbiAgICBPYnNlcnZhYmxlLnByb3RvdHlwZS50b1Byb21pc2UgPSBmdW5jdGlvbiAocHJvbWlzZUN0b3IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcHJvbWlzZUN0b3IgPSBnZXRQcm9taXNlQ3Rvcihwcm9taXNlQ3Rvcik7XG4gICAgICAgIHJldHVybiBuZXcgcHJvbWlzZUN0b3IoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlO1xuICAgICAgICAgICAgX3RoaXMuc3Vic2NyaWJlKGZ1bmN0aW9uICh4KSB7IHJldHVybiB2YWx1ZSA9IHg7IH0sIGZ1bmN0aW9uIChlcnIpIHsgcmV0dXJuIHJlamVjdChlcnIpOyB9LCBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlKHZhbHVlKTsgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgT2JzZXJ2YWJsZS5jcmVhdGUgPSBmdW5jdGlvbiAoc3Vic2NyaWJlKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmUpO1xuICAgIH07XG4gICAgcmV0dXJuIE9ic2VydmFibGU7XG59KCkpO1xuZXhwb3J0IHsgT2JzZXJ2YWJsZSB9O1xuZnVuY3Rpb24gZ2V0UHJvbWlzZUN0b3IocHJvbWlzZUN0b3IpIHtcbiAgICBpZiAoIXByb21pc2VDdG9yKSB7XG4gICAgICAgIHByb21pc2VDdG9yID0gY29uZmlnLlByb21pc2UgfHwgUHJvbWlzZTtcbiAgICB9XG4gICAgaWYgKCFwcm9taXNlQ3Rvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIFByb21pc2UgaW1wbCBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvbWlzZUN0b3I7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1PYnNlcnZhYmxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Observable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Observer.js": -/*!******************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Observer.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ empty: function() { return /* binding */ empty; }\n/* harmony export */ });\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \"./node_modules/rxjs/_esm5/internal/config.js\");\n/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/hostReportError */ \"./node_modules/rxjs/_esm5/internal/util/hostReportError.js\");\n/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\n\n\nvar empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (_config__WEBPACK_IMPORTED_MODULE_0__.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n (0,_util_hostReportError__WEBPACK_IMPORTED_MODULE_1__.hostReportError)(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9PYnNlcnZlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNrQztBQUN1QjtBQUNsRDtBQUNQO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0EsWUFBWSwyQ0FBTTtBQUNsQjtBQUNBO0FBQ0E7QUFDQSxZQUFZLHNFQUFlO0FBQzNCO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9PYnNlcnZlci5qcz80ZWY2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX2NvbmZpZyxfdXRpbF9ob3N0UmVwb3J0RXJyb3IgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgaG9zdFJlcG9ydEVycm9yIH0gZnJvbSAnLi91dGlsL2hvc3RSZXBvcnRFcnJvcic7XG5leHBvcnQgdmFyIGVtcHR5ID0ge1xuICAgIGNsb3NlZDogdHJ1ZSxcbiAgICBuZXh0OiBmdW5jdGlvbiAodmFsdWUpIHsgfSxcbiAgICBlcnJvcjogZnVuY3Rpb24gKGVycikge1xuICAgICAgICBpZiAoY29uZmlnLnVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGhvc3RSZXBvcnRFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wbGV0ZTogZnVuY3Rpb24gKCkgeyB9XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9T2JzZXJ2ZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Observer.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/OuterSubscriber.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/OuterSubscriber.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OuterSubscriber: function() { return /* binding */ OuterSubscriber; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nvar OuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\n//# sourceMappingURL=OuterSubscriber.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9PdXRlclN1YnNjcmliZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDUztBQUMxQztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ2U7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvT3V0ZXJTdWJzY3JpYmVyLmpzP2EwYzAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4vU3Vic2NyaWJlcic7XG52YXIgT3V0ZXJTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKE91dGVyU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBPdXRlclN1YnNjcmliZXIoKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgT3V0ZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKG91dGVyVmFsdWUsIGlubmVyVmFsdWUsIG91dGVySW5kZXgsIGlubmVySW5kZXgsIGlubmVyU3ViKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChpbm5lclZhbHVlKTtcbiAgICB9O1xuICAgIE91dGVyU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5RXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IsIGlubmVyU3ViKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyb3IpO1xuICAgIH07XG4gICAgT3V0ZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlDb21wbGV0ZSA9IGZ1bmN0aW9uIChpbm5lclN1Yikge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgfTtcbiAgICByZXR1cm4gT3V0ZXJTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBPdXRlclN1YnNjcmliZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU91dGVyU3Vic2NyaWJlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/ReplaySubject.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/ReplaySubject.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ReplaySubject: function() { return /* binding */ ReplaySubject; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _scheduler_queue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./scheduler/queue */ \"./node_modules/rxjs/_esm5/internal/scheduler/queue.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _operators_observeOn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./operators/observeOn */ \"./node_modules/rxjs/_esm5/internal/operators/observeOn.js\");\n/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/ObjectUnsubscribedError */ \"./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js\");\n/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SubjectSubscription */ \"./node_modules/rxjs/_esm5/internal/SubjectSubscription.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */\n\n\n\n\n\n\n\nvar ReplaySubject = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) {\n bufferSize = Number.POSITIVE_INFINITY;\n }\n if (windowTime === void 0) {\n windowTime = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this) || this;\n _this.scheduler = scheduler;\n _this._events = [];\n _this._infiniteTimeWindow = false;\n _this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n _this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n _this._infiniteTimeWindow = true;\n _this.next = _this.nextInfiniteTimeWindow;\n }\n else {\n _this.next = _this.nextTimeWindow;\n }\n return _this;\n }\n ReplaySubject.prototype.nextInfiniteTimeWindow = function (value) {\n if (!this.isStopped) {\n var _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype.nextTimeWindow = function (value) {\n if (!this.isStopped) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n var _infiniteTimeWindow = this._infiniteTimeWindow;\n var _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var len = _events.length;\n var subscription;\n if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_1__.ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = _Subscription__WEBPACK_IMPORTED_MODULE_2__.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new _SubjectSubscription__WEBPACK_IMPORTED_MODULE_3__.SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new _operators_observeOn__WEBPACK_IMPORTED_MODULE_4__.ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || _scheduler_queue__WEBPACK_IMPORTED_MODULE_5__.queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(_Subject__WEBPACK_IMPORTED_MODULE_6__.Subject));\n\nvar ReplayEvent = /*@__PURE__*/ (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9SZXBsYXlTdWJqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDRztBQUNNO0FBQ0k7QUFDYztBQUNhO0FBQ2I7QUFDNUQ7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRkFBdUI7QUFDN0M7QUFDQTtBQUNBLDJCQUEyQix1REFBWTtBQUN2QztBQUNBO0FBQ0E7QUFDQSwrQkFBK0IscUVBQW1CO0FBQ2xEO0FBQ0E7QUFDQSw0Q0FBNEMscUVBQW1CO0FBQy9EO0FBQ0E7QUFDQSw0QkFBNEIsK0JBQStCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLCtCQUErQjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsbURBQUs7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyw2Q0FBTztBQUNnQjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvUmVwbGF5U3ViamVjdC5qcz9lNjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YmplY3QsX3NjaGVkdWxlcl9xdWV1ZSxfU3Vic2NyaXB0aW9uLF9vcGVyYXRvcnNfb2JzZXJ2ZU9uLF91dGlsX09iamVjdFVuc3Vic2NyaWJlZEVycm9yLF9TdWJqZWN0U3Vic2NyaXB0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi9TdWJqZWN0JztcbmltcG9ydCB7IHF1ZXVlIH0gZnJvbSAnLi9zY2hlZHVsZXIvcXVldWUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2ZU9uU3Vic2NyaWJlciB9IGZyb20gJy4vb3BlcmF0b3JzL29ic2VydmVPbic7XG5pbXBvcnQgeyBPYmplY3RVbnN1YnNjcmliZWRFcnJvciB9IGZyb20gJy4vdXRpbC9PYmplY3RVbnN1YnNjcmliZWRFcnJvcic7XG5pbXBvcnQgeyBTdWJqZWN0U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJqZWN0U3Vic2NyaXB0aW9uJztcbnZhciBSZXBsYXlTdWJqZWN0ID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFJlcGxheVN1YmplY3QsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gUmVwbGF5U3ViamVjdChidWZmZXJTaXplLCB3aW5kb3dUaW1lLCBzY2hlZHVsZXIpIHtcbiAgICAgICAgaWYgKGJ1ZmZlclNpemUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgYnVmZmVyU2l6ZSA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcbiAgICAgICAgfVxuICAgICAgICBpZiAod2luZG93VGltZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICB3aW5kb3dUaW1lID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMuX2V2ZW50cyA9IFtdO1xuICAgICAgICBfdGhpcy5faW5maW5pdGVUaW1lV2luZG93ID0gZmFsc2U7XG4gICAgICAgIF90aGlzLl9idWZmZXJTaXplID0gYnVmZmVyU2l6ZSA8IDEgPyAxIDogYnVmZmVyU2l6ZTtcbiAgICAgICAgX3RoaXMuX3dpbmRvd1RpbWUgPSB3aW5kb3dUaW1lIDwgMSA/IDEgOiB3aW5kb3dUaW1lO1xuICAgICAgICBpZiAod2luZG93VGltZSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7XG4gICAgICAgICAgICBfdGhpcy5faW5maW5pdGVUaW1lV2luZG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIF90aGlzLm5leHQgPSBfdGhpcy5uZXh0SW5maW5pdGVUaW1lV2luZG93O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMubmV4dCA9IF90aGlzLm5leHRUaW1lV2luZG93O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgUmVwbGF5U3ViamVjdC5wcm90b3R5cGUubmV4dEluZmluaXRlVGltZVdpbmRvdyA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICB2YXIgX2V2ZW50cyA9IHRoaXMuX2V2ZW50cztcbiAgICAgICAgICAgIF9ldmVudHMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoX2V2ZW50cy5sZW5ndGggPiB0aGlzLl9idWZmZXJTaXplKSB7XG4gICAgICAgICAgICAgICAgX2V2ZW50cy5zaGlmdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICB9O1xuICAgIFJlcGxheVN1YmplY3QucHJvdG90eXBlLm5leHRUaW1lV2luZG93ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50cy5wdXNoKG5ldyBSZXBsYXlFdmVudCh0aGlzLl9nZXROb3coKSwgdmFsdWUpKTtcbiAgICAgICAgICAgIHRoaXMuX3RyaW1CdWZmZXJUaGVuR2V0RXZlbnRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcywgdmFsdWUpO1xuICAgIH07XG4gICAgUmVwbGF5U3ViamVjdC5wcm90b3R5cGUuX3N1YnNjcmliZSA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBfaW5maW5pdGVUaW1lV2luZG93ID0gdGhpcy5faW5maW5pdGVUaW1lV2luZG93O1xuICAgICAgICB2YXIgX2V2ZW50cyA9IF9pbmZpbml0ZVRpbWVXaW5kb3cgPyB0aGlzLl9ldmVudHMgOiB0aGlzLl90cmltQnVmZmVyVGhlbkdldEV2ZW50cygpO1xuICAgICAgICB2YXIgc2NoZWR1bGVyID0gdGhpcy5zY2hlZHVsZXI7XG4gICAgICAgIHZhciBsZW4gPSBfZXZlbnRzLmxlbmd0aDtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbjtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmlzU3RvcHBlZCB8fCB0aGlzLmhhc0Vycm9yKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVycy5wdXNoKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YmplY3RTdWJzY3JpcHRpb24odGhpcywgc3Vic2NyaWJlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNjaGVkdWxlcikge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5hZGQoc3Vic2NyaWJlciA9IG5ldyBPYnNlcnZlT25TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHNjaGVkdWxlcikpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfaW5maW5pdGVUaW1lV2luZG93KSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbiAmJiAhc3Vic2NyaWJlci5jbG9zZWQ7IGkrKykge1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChfZXZlbnRzW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuICYmICFzdWJzY3JpYmVyLmNsb3NlZDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KF9ldmVudHNbaV0udmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKHRoaXMudGhyb3duRXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgICB9O1xuICAgIFJlcGxheVN1YmplY3QucHJvdG90eXBlLl9nZXROb3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5zY2hlZHVsZXIgfHwgcXVldWUpLm5vdygpO1xuICAgIH07XG4gICAgUmVwbGF5U3ViamVjdC5wcm90b3R5cGUuX3RyaW1CdWZmZXJUaGVuR2V0RXZlbnRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgbm93ID0gdGhpcy5fZ2V0Tm93KCk7XG4gICAgICAgIHZhciBfYnVmZmVyU2l6ZSA9IHRoaXMuX2J1ZmZlclNpemU7XG4gICAgICAgIHZhciBfd2luZG93VGltZSA9IHRoaXMuX3dpbmRvd1RpbWU7XG4gICAgICAgIHZhciBfZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xuICAgICAgICB2YXIgZXZlbnRzQ291bnQgPSBfZXZlbnRzLmxlbmd0aDtcbiAgICAgICAgdmFyIHNwbGljZUNvdW50ID0gMDtcbiAgICAgICAgd2hpbGUgKHNwbGljZUNvdW50IDwgZXZlbnRzQ291bnQpIHtcbiAgICAgICAgICAgIGlmICgobm93IC0gX2V2ZW50c1tzcGxpY2VDb3VudF0udGltZSkgPCBfd2luZG93VGltZSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BsaWNlQ291bnQrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnRzQ291bnQgPiBfYnVmZmVyU2l6ZSkge1xuICAgICAgICAgICAgc3BsaWNlQ291bnQgPSBNYXRoLm1heChzcGxpY2VDb3VudCwgZXZlbnRzQ291bnQgLSBfYnVmZmVyU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNwbGljZUNvdW50ID4gMCkge1xuICAgICAgICAgICAgX2V2ZW50cy5zcGxpY2UoMCwgc3BsaWNlQ291bnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfZXZlbnRzO1xuICAgIH07XG4gICAgcmV0dXJuIFJlcGxheVN1YmplY3Q7XG59KFN1YmplY3QpKTtcbmV4cG9ydCB7IFJlcGxheVN1YmplY3QgfTtcbnZhciBSZXBsYXlFdmVudCA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBSZXBsYXlFdmVudCh0aW1lLCB2YWx1ZSkge1xuICAgICAgICB0aGlzLnRpbWUgPSB0aW1lO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBSZXBsYXlFdmVudDtcbn0oKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZXBsYXlTdWJqZWN0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/ReplaySubject.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Scheduler.js": -/*!*******************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Scheduler.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Scheduler: function() { return /* binding */ Scheduler; }\n/* harmony export */ });\nvar Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\n\n//# sourceMappingURL=Scheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9TY2hlZHVsZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQSxDQUFDO0FBQ29CO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL1NjaGVkdWxlci5qcz84NjI0Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBTY2hlZHVsZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU2NoZWR1bGVyKFNjaGVkdWxlckFjdGlvbiwgbm93KSB7XG4gICAgICAgIGlmIChub3cgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgbm93ID0gU2NoZWR1bGVyLm5vdztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLlNjaGVkdWxlckFjdGlvbiA9IFNjaGVkdWxlckFjdGlvbjtcbiAgICAgICAgdGhpcy5ub3cgPSBub3c7XG4gICAgfVxuICAgIFNjaGVkdWxlci5wcm90b3R5cGUuc2NoZWR1bGUgPSBmdW5jdGlvbiAod29yaywgZGVsYXksIHN0YXRlKSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLlNjaGVkdWxlckFjdGlvbih0aGlzLCB3b3JrKS5zY2hlZHVsZShzdGF0ZSwgZGVsYXkpO1xuICAgIH07XG4gICAgU2NoZWR1bGVyLm5vdyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIERhdGUubm93KCk7IH07XG4gICAgcmV0dXJuIFNjaGVkdWxlcjtcbn0oKSk7XG5leHBvcnQgeyBTY2hlZHVsZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNjaGVkdWxlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Scheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Subject.js": -/*!*****************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Subject.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnonymousSubject: function() { return /* binding */ AnonymousSubject; },\n/* harmony export */ Subject: function() { return /* binding */ Subject; },\n/* harmony export */ SubjectSubscriber: function() { return /* binding */ SubjectSubscriber; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/ObjectUnsubscribedError */ \"./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js\");\n/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SubjectSubscription */ \"./node_modules/rxjs/_esm5/internal/SubjectSubscription.js\");\n/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/symbol/rxSubscriber */ \"./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js\");\n/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\n\n\n\n\n\n\n\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[_internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_2__.rxSubscriber] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_3__.ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_3__.ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_3__.ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_3__.ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_3__.ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return _Subscription__WEBPACK_IMPORTED_MODULE_4__.Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return _Subscription__WEBPACK_IMPORTED_MODULE_4__.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new _SubjectSubscription__WEBPACK_IMPORTED_MODULE_5__.SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new _Observable__WEBPACK_IMPORTED_MODULE_6__.Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(_Observable__WEBPACK_IMPORTED_MODULE_6__.Observable));\n\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return _Subscription__WEBPACK_IMPORTED_MODULE_4__.Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\n\n//# sourceMappingURL=Subject.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9TdWJqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNTO0FBQ0E7QUFDSTtBQUMyQjtBQUNiO0FBQ3lCO0FBQ3JGO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ2lCO0FBQzdCO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHVFQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0ZBQXVCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsU0FBUztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0ZBQXVCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFNBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGtGQUF1QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFNBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRkFBdUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0ZBQXVCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix1REFBWTtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsdURBQVk7QUFDL0I7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHFFQUFtQjtBQUMxQztBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsbURBQVU7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDTztBQUNuQjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix1REFBWTtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQzJCO0FBQzVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL1N1YmplY3QuanM/YWI3YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9PYnNlcnZhYmxlLF9TdWJzY3JpYmVyLF9TdWJzY3JpcHRpb24sX3V0aWxfT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IsX1N1YmplY3RTdWJzY3JpcHRpb24sX2ludGVybmFsX3N5bWJvbF9yeFN1YnNjcmliZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBPYmplY3RVbnN1YnNjcmliZWRFcnJvciB9IGZyb20gJy4vdXRpbC9PYmplY3RVbnN1YnNjcmliZWRFcnJvcic7XG5pbXBvcnQgeyBTdWJqZWN0U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJqZWN0U3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IHJ4U3Vic2NyaWJlciBhcyByeFN1YnNjcmliZXJTeW1ib2wgfSBmcm9tICcuLi9pbnRlcm5hbC9zeW1ib2wvcnhTdWJzY3JpYmVyJztcbnZhciBTdWJqZWN0U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTdWJqZWN0U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTdWJqZWN0U3Vic2NyaWJlcihkZXN0aW5hdGlvbikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gU3ViamVjdFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbmV4cG9ydCB7IFN1YmplY3RTdWJzY3JpYmVyIH07XG52YXIgU3ViamVjdCA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTdWJqZWN0LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFN1YmplY3QoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLm9ic2VydmVycyA9IFtdO1xuICAgICAgICBfdGhpcy5jbG9zZWQgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuaXNTdG9wcGVkID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIF90aGlzLnRocm93bkVycm9yID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTdWJqZWN0LnByb3RvdHlwZVtyeFN1YnNjcmliZXJTeW1ib2xdID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gbmV3IFN1YmplY3RTdWJzY3JpYmVyKHRoaXMpO1xuICAgIH07XG4gICAgU3ViamVjdC5wcm90b3R5cGUubGlmdCA9IGZ1bmN0aW9uIChvcGVyYXRvcikge1xuICAgICAgICB2YXIgc3ViamVjdCA9IG5ldyBBbm9ueW1vdXNTdWJqZWN0KHRoaXMsIHRoaXMpO1xuICAgICAgICBzdWJqZWN0Lm9wZXJhdG9yID0gb3BlcmF0b3I7XG4gICAgICAgIHJldHVybiBzdWJqZWN0O1xuICAgIH07XG4gICAgU3ViamVjdC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBPYmplY3RVbnN1YnNjcmliZWRFcnJvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHZhciBvYnNlcnZlcnMgPSB0aGlzLm9ic2VydmVycztcbiAgICAgICAgICAgIHZhciBsZW4gPSBvYnNlcnZlcnMubGVuZ3RoO1xuICAgICAgICAgICAgdmFyIGNvcHkgPSBvYnNlcnZlcnMuc2xpY2UoKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb3B5W2ldLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBTdWJqZWN0LnByb3RvdHlwZS5lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aHJvd25FcnJvciA9IGVycjtcbiAgICAgICAgdGhpcy5pc1N0b3BwZWQgPSB0cnVlO1xuICAgICAgICB2YXIgb2JzZXJ2ZXJzID0gdGhpcy5vYnNlcnZlcnM7XG4gICAgICAgIHZhciBsZW4gPSBvYnNlcnZlcnMubGVuZ3RoO1xuICAgICAgICB2YXIgY29weSA9IG9ic2VydmVycy5zbGljZSgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBjb3B5W2ldLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vYnNlcnZlcnMubGVuZ3RoID0gMDtcbiAgICB9O1xuICAgIFN1YmplY3QucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBPYmplY3RVbnN1YnNjcmliZWRFcnJvcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdG9wcGVkID0gdHJ1ZTtcbiAgICAgICAgdmFyIG9ic2VydmVycyA9IHRoaXMub2JzZXJ2ZXJzO1xuICAgICAgICB2YXIgbGVuID0gb2JzZXJ2ZXJzLmxlbmd0aDtcbiAgICAgICAgdmFyIGNvcHkgPSBvYnNlcnZlcnMuc2xpY2UoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgY29weVtpXS5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JzZXJ2ZXJzLmxlbmd0aCA9IDA7XG4gICAgfTtcbiAgICBTdWJqZWN0LnByb3RvdHlwZS51bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5pc1N0b3BwZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXJzID0gbnVsbDtcbiAgICB9O1xuICAgIFN1YmplY3QucHJvdG90eXBlLl90cnlTdWJzY3JpYmUgPSBmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBPYmplY3RVbnN1YnNjcmliZWRFcnJvcigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIF9zdXBlci5wcm90b3R5cGUuX3RyeVN1YnNjcmliZS5jYWxsKHRoaXMsIHN1YnNjcmliZXIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTdWJqZWN0LnByb3RvdHlwZS5fc3Vic2NyaWJlID0gZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKHRoaXMudGhyb3duRXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmlzU3RvcHBlZCkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXJzLnB1c2goc3Vic2NyaWJlcik7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFN1YmplY3RTdWJzY3JpcHRpb24odGhpcywgc3Vic2NyaWJlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFN1YmplY3QucHJvdG90eXBlLmFzT2JzZXJ2YWJsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgpO1xuICAgICAgICBvYnNlcnZhYmxlLnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICAgIH07XG4gICAgU3ViamVjdC5jcmVhdGUgPSBmdW5jdGlvbiAoZGVzdGluYXRpb24sIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gbmV3IEFub255bW91c1N1YmplY3QoZGVzdGluYXRpb24sIHNvdXJjZSk7XG4gICAgfTtcbiAgICByZXR1cm4gU3ViamVjdDtcbn0oT2JzZXJ2YWJsZSkpO1xuZXhwb3J0IHsgU3ViamVjdCB9O1xudmFyIEFub255bW91c1N1YmplY3QgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQW5vbnltb3VzU3ViamVjdCwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBbm9ueW1vdXNTdWJqZWN0KGRlc3RpbmF0aW9uLCBzb3VyY2UpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgX3RoaXMuc291cmNlID0gc291cmNlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEFub255bW91c1N1YmplY3QucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgaWYgKGRlc3RpbmF0aW9uICYmIGRlc3RpbmF0aW9uLm5leHQpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBBbm9ueW1vdXNTdWJqZWN0LnByb3RvdHlwZS5lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgaWYgKGRlc3RpbmF0aW9uICYmIGRlc3RpbmF0aW9uLmVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEFub255bW91c1N1YmplY3QucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICBpZiAoZGVzdGluYXRpb24gJiYgZGVzdGluYXRpb24uY29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQW5vbnltb3VzU3ViamVjdC5wcm90b3R5cGUuX3N1YnNjcmliZSA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBzb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBBbm9ueW1vdXNTdWJqZWN0O1xufShTdWJqZWN0KSk7XG5leHBvcnQgeyBBbm9ueW1vdXNTdWJqZWN0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1TdWJqZWN0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Subject.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/SubjectSubscription.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/SubjectSubscription.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SubjectSubscription: function() { return /* binding */ SubjectSubscription; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\n\n\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(_Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription));\n\n//# sourceMappingURL=SubjectSubscription.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9TdWJqZWN0U3Vic2NyaXB0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ2E7QUFDOUM7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsdURBQVk7QUFDaUI7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvU3ViamVjdFN1YnNjcmlwdGlvbi5qcz9kYjE3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmlwdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb24nO1xudmFyIFN1YmplY3RTdWJzY3JpcHRpb24gPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU3ViamVjdFN1YnNjcmlwdGlvbiwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTdWJqZWN0U3Vic2NyaXB0aW9uKHN1YmplY3QsIHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuc3ViamVjdCA9IHN1YmplY3Q7XG4gICAgICAgIF90aGlzLnN1YnNjcmliZXIgPSBzdWJzY3JpYmVyO1xuICAgICAgICBfdGhpcy5jbG9zZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTdWJqZWN0U3Vic2NyaXB0aW9uLnByb3RvdHlwZS51bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xuICAgICAgICB2YXIgc3ViamVjdCA9IHRoaXMuc3ViamVjdDtcbiAgICAgICAgdmFyIG9ic2VydmVycyA9IHN1YmplY3Qub2JzZXJ2ZXJzO1xuICAgICAgICB0aGlzLnN1YmplY3QgPSBudWxsO1xuICAgICAgICBpZiAoIW9ic2VydmVycyB8fCBvYnNlcnZlcnMubGVuZ3RoID09PSAwIHx8IHN1YmplY3QuaXNTdG9wcGVkIHx8IHN1YmplY3QuY2xvc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHN1YnNjcmliZXJJbmRleCA9IG9ic2VydmVycy5pbmRleE9mKHRoaXMuc3Vic2NyaWJlcik7XG4gICAgICAgIGlmIChzdWJzY3JpYmVySW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBvYnNlcnZlcnMuc3BsaWNlKHN1YnNjcmliZXJJbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBTdWJqZWN0U3Vic2NyaXB0aW9uO1xufShTdWJzY3JpcHRpb24pKTtcbmV4cG9ydCB7IFN1YmplY3RTdWJzY3JpcHRpb24gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVN1YmplY3RTdWJzY3JpcHRpb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/SubjectSubscription.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Subscriber.js": -/*!********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Subscriber.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SafeSubscriber: function() { return /* binding */ SafeSubscriber; },\n/* harmony export */ Subscriber: function() { return /* binding */ Subscriber; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/isFunction */ \"./node_modules/rxjs/_esm5/internal/util/isFunction.js\");\n/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Observer */ \"./node_modules/rxjs/_esm5/internal/Observer.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/symbol/rxSubscriber */ \"./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./config */ \"./node_modules/rxjs/_esm5/internal/config.js\");\n/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./util/hostReportError */ \"./node_modules/rxjs/_esm5/internal/util/hostReportError.js\");\n/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\n\n\n\n\n\n\n\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = _Observer__WEBPACK_IMPORTED_MODULE_1__.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = _Observer__WEBPACK_IMPORTED_MODULE_1__.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[_internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_2__.rxSubscriber] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(_Subscription__WEBPACK_IMPORTED_MODULE_3__.Subscription));\n\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if ((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_4__.isFunction)(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== _Observer__WEBPACK_IMPORTED_MODULE_1__.empty) {\n context = Object.create(observerOrNext);\n if ((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_4__.isFunction)(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!_config__WEBPACK_IMPORTED_MODULE_5__.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = _config__WEBPACK_IMPORTED_MODULE_5__.config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n (0,_util_hostReportError__WEBPACK_IMPORTED_MODULE_6__.hostReportError)(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n (0,_util_hostReportError__WEBPACK_IMPORTED_MODULE_6__.hostReportError)(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!_config__WEBPACK_IMPORTED_MODULE_5__.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (_config__WEBPACK_IMPORTED_MODULE_5__.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n (0,_util_hostReportError__WEBPACK_IMPORTED_MODULE_6__.hostReportError)(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!_config__WEBPACK_IMPORTED_MODULE_5__.config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (_config__WEBPACK_IMPORTED_MODULE_5__.config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n (0,_util_hostReportError__WEBPACK_IMPORTED_MODULE_6__.hostReportError)(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\n\n//# sourceMappingURL=Subscriber.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9TdWJzY3JpYmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBO0FBQ2lDO0FBQ2M7QUFDSztBQUNOO0FBQ3VDO0FBQ25EO0FBQ3VCO0FBQ3pEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyw0Q0FBYTtBQUNqRDtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsNENBQWE7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLHVFQUFrQixrQkFBa0I7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyx1REFBWTtBQUNRO0FBQ3RCO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksNERBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLDRDQUFhO0FBQ2hEO0FBQ0Esb0JBQW9CLDREQUFVO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsMkNBQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsMkNBQU07QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHNFQUFlO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNFQUFlO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9EO0FBQ3BELHFCQUFxQiwyQ0FBTTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwyQ0FBTTtBQUN0QjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isc0VBQWU7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDJDQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwyQ0FBTTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHNFQUFlO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDeUI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvU3Vic2NyaWJlci5qcz9hZjE1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX3V0aWxfaXNGdW5jdGlvbixfT2JzZXJ2ZXIsX1N1YnNjcmlwdGlvbixfaW50ZXJuYWxfc3ltYm9sX3J4U3Vic2NyaWJlcixfY29uZmlnLF91dGlsX2hvc3RSZXBvcnRFcnJvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vdXRpbC9pc0Z1bmN0aW9uJztcbmltcG9ydCB7IGVtcHR5IGFzIGVtcHR5T2JzZXJ2ZXIgfSBmcm9tICcuL09ic2VydmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IHJ4U3Vic2NyaWJlciBhcyByeFN1YnNjcmliZXJTeW1ib2wgfSBmcm9tICcuLi9pbnRlcm5hbC9zeW1ib2wvcnhTdWJzY3JpYmVyJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IGhvc3RSZXBvcnRFcnJvciB9IGZyb20gJy4vdXRpbC9ob3N0UmVwb3J0RXJyb3InO1xudmFyIFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTdWJzY3JpYmVyKGRlc3RpbmF0aW9uT3JOZXh0LCBlcnJvciwgY29tcGxldGUpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuc3luY0Vycm9yVmFsdWUgPSBudWxsO1xuICAgICAgICBfdGhpcy5zeW5jRXJyb3JUaHJvd24gPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuc3luY0Vycm9yVGhyb3dhYmxlID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmlzU3RvcHBlZCA9IGZhbHNlO1xuICAgICAgICBzd2l0Y2ggKGFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IGVtcHR5T2JzZXJ2ZXI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgaWYgKCFkZXN0aW5hdGlvbk9yTmV4dCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IGVtcHR5T2JzZXJ2ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGRlc3RpbmF0aW9uT3JOZXh0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVzdGluYXRpb25Pck5leHQgaW5zdGFuY2VvZiBTdWJzY3JpYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5zeW5jRXJyb3JUaHJvd2FibGUgPSBkZXN0aW5hdGlvbk9yTmV4dC5zeW5jRXJyb3JUaHJvd2FibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uT3JOZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Pck5leHQuYWRkKF90aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLnN5bmNFcnJvclRocm93YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IG5ldyBTYWZlU3Vic2NyaWJlcihfdGhpcywgZGVzdGluYXRpb25Pck5leHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgX3RoaXMuc3luY0Vycm9yVGhyb3dhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IG5ldyBTYWZlU3Vic2NyaWJlcihfdGhpcywgZGVzdGluYXRpb25Pck5leHQsIGVycm9yLCBjb21wbGV0ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTdWJzY3JpYmVyLnByb3RvdHlwZVtyeFN1YnNjcmliZXJTeW1ib2xdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcbiAgICBTdWJzY3JpYmVyLmNyZWF0ZSA9IGZ1bmN0aW9uIChuZXh0LCBlcnJvciwgY29tcGxldGUpIHtcbiAgICAgICAgdmFyIHN1YnNjcmliZXIgPSBuZXcgU3Vic2NyaWJlcihuZXh0LCBlcnJvciwgY29tcGxldGUpO1xuICAgICAgICBzdWJzY3JpYmVyLnN5bmNFcnJvclRocm93YWJsZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gc3Vic2NyaWJlcjtcbiAgICB9O1xuICAgIFN1YnNjcmliZXIucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU3RvcHBlZCkge1xuICAgICAgICAgICAgdGhpcy5fbmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFN1YnNjcmliZXIucHJvdG90eXBlLmVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICB0aGlzLmlzU3RvcHBlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTdWJzY3JpYmVyLnByb3RvdHlwZS5jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU3RvcHBlZCkge1xuICAgICAgICAgICAgdGhpcy5pc1N0b3BwZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgU3Vic2NyaWJlci5wcm90b3R5cGUudW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdG9wcGVkID0gdHJ1ZTtcbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpO1xuICAgIH07XG4gICAgU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICB9O1xuICAgIFN1YnNjcmliZXIucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgU3Vic2NyaWJlci5wcm90b3R5cGUuX3Vuc3Vic2NyaWJlQW5kUmVjeWNsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9wYXJlbnRPclBhcmVudHMgPSB0aGlzLl9wYXJlbnRPclBhcmVudHM7XG4gICAgICAgIHRoaXMuX3BhcmVudE9yUGFyZW50cyA9IG51bGw7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5jbG9zZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1N0b3BwZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcGFyZW50T3JQYXJlbnRzID0gX3BhcmVudE9yUGFyZW50cztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICByZXR1cm4gU3Vic2NyaWJlcjtcbn0oU3Vic2NyaXB0aW9uKSk7XG5leHBvcnQgeyBTdWJzY3JpYmVyIH07XG52YXIgU2FmZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU2FmZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU2FmZVN1YnNjcmliZXIoX3BhcmVudFN1YnNjcmliZXIsIG9ic2VydmVyT3JOZXh0LCBlcnJvciwgY29tcGxldGUpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuX3BhcmVudFN1YnNjcmliZXIgPSBfcGFyZW50U3Vic2NyaWJlcjtcbiAgICAgICAgdmFyIG5leHQ7XG4gICAgICAgIHZhciBjb250ZXh0ID0gX3RoaXM7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9ic2VydmVyT3JOZXh0KSkge1xuICAgICAgICAgICAgbmV4dCA9IG9ic2VydmVyT3JOZXh0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG9ic2VydmVyT3JOZXh0KSB7XG4gICAgICAgICAgICBuZXh0ID0gb2JzZXJ2ZXJPck5leHQubmV4dDtcbiAgICAgICAgICAgIGVycm9yID0gb2JzZXJ2ZXJPck5leHQuZXJyb3I7XG4gICAgICAgICAgICBjb21wbGV0ZSA9IG9ic2VydmVyT3JOZXh0LmNvbXBsZXRlO1xuICAgICAgICAgICAgaWYgKG9ic2VydmVyT3JOZXh0ICE9PSBlbXB0eU9ic2VydmVyKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dCA9IE9iamVjdC5jcmVhdGUob2JzZXJ2ZXJPck5leHQpO1xuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQudW5zdWJzY3JpYmUpKSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmFkZChjb250ZXh0LnVuc3Vic2NyaWJlLmJpbmQoY29udGV4dCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250ZXh0LnVuc3Vic2NyaWJlID0gX3RoaXMudW5zdWJzY3JpYmUuYmluZChfdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgX3RoaXMuX2NvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICBfdGhpcy5fbmV4dCA9IG5leHQ7XG4gICAgICAgIF90aGlzLl9lcnJvciA9IGVycm9yO1xuICAgICAgICBfdGhpcy5fY29tcGxldGUgPSBjb21wbGV0ZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTYWZlU3Vic2NyaWJlci5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkICYmIHRoaXMuX25leHQpIHtcbiAgICAgICAgICAgIHZhciBfcGFyZW50U3Vic2NyaWJlciA9IHRoaXMuX3BhcmVudFN1YnNjcmliZXI7XG4gICAgICAgICAgICBpZiAoIWNvbmZpZy51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nIHx8ICFfcGFyZW50U3Vic2NyaWJlci5zeW5jRXJyb3JUaHJvd2FibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9fdHJ5T3JVbnN1Yih0aGlzLl9uZXh0LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9fdHJ5T3JTZXRFcnJvcihfcGFyZW50U3Vic2NyaWJlciwgdGhpcy5fbmV4dCwgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBTYWZlU3Vic2NyaWJlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHZhciBfcGFyZW50U3Vic2NyaWJlciA9IHRoaXMuX3BhcmVudFN1YnNjcmliZXI7XG4gICAgICAgICAgICB2YXIgdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyA9IGNvbmZpZy51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2Vycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF1c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nIHx8ICFfcGFyZW50U3Vic2NyaWJlci5zeW5jRXJyb3JUaHJvd2FibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fX3RyeU9yVW5zdWIodGhpcy5fZXJyb3IsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX190cnlPclNldEVycm9yKF9wYXJlbnRTdWJzY3JpYmVyLCB0aGlzLl9lcnJvciwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCFfcGFyZW50U3Vic2NyaWJlci5zeW5jRXJyb3JUaHJvd2FibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgaWYgKHVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBob3N0UmVwb3J0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh1c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIF9wYXJlbnRTdWJzY3JpYmVyLnN5bmNFcnJvclZhbHVlID0gZXJyO1xuICAgICAgICAgICAgICAgICAgICBfcGFyZW50U3Vic2NyaWJlci5zeW5jRXJyb3JUaHJvd24gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaG9zdFJlcG9ydEVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgU2FmZVN1YnNjcmliZXIucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICB2YXIgX3BhcmVudFN1YnNjcmliZXIgPSB0aGlzLl9wYXJlbnRTdWJzY3JpYmVyO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgdmFyIHdyYXBwZWRDb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF90aGlzLl9jb21wbGV0ZS5jYWxsKF90aGlzLl9jb250ZXh0KTsgfTtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nIHx8ICFfcGFyZW50U3Vic2NyaWJlci5zeW5jRXJyb3JUaHJvd2FibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fX3RyeU9yVW5zdWIod3JhcHBlZENvbXBsZXRlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fX3RyeU9yU2V0RXJyb3IoX3BhcmVudFN1YnNjcmliZXIsIHdyYXBwZWRDb21wbGV0ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFNhZmVTdWJzY3JpYmVyLnByb3RvdHlwZS5fX3RyeU9yVW5zdWIgPSBmdW5jdGlvbiAoZm4sIHZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmbi5jYWxsKHRoaXMuX2NvbnRleHQsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICBpZiAoY29uZmlnLnVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBob3N0UmVwb3J0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgU2FmZVN1YnNjcmliZXIucHJvdG90eXBlLl9fdHJ5T3JTZXRFcnJvciA9IGZ1bmN0aW9uIChwYXJlbnQsIGZuLCB2YWx1ZSkge1xuICAgICAgICBpZiAoIWNvbmZpZy51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCBjYWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGZuLmNhbGwodGhpcy5fY29udGV4dCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZykge1xuICAgICAgICAgICAgICAgIHBhcmVudC5zeW5jRXJyb3JWYWx1ZSA9IGVycjtcbiAgICAgICAgICAgICAgICBwYXJlbnQuc3luY0Vycm9yVGhyb3duID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGhvc3RSZXBvcnRFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIFNhZmVTdWJzY3JpYmVyLnByb3RvdHlwZS5fdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfcGFyZW50U3Vic2NyaWJlciA9IHRoaXMuX3BhcmVudFN1YnNjcmliZXI7XG4gICAgICAgIHRoaXMuX2NvbnRleHQgPSBudWxsO1xuICAgICAgICB0aGlzLl9wYXJlbnRTdWJzY3JpYmVyID0gbnVsbDtcbiAgICAgICAgX3BhcmVudFN1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBTYWZlU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZXhwb3J0IHsgU2FmZVN1YnNjcmliZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVN1YnNjcmliZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Subscriber.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/Subscription.js": -/*!**********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/Subscription.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Subscription: function() { return /* binding */ Subscription; }\n/* harmony export */ });\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/isObject */ \"./node_modules/rxjs/_esm5/internal/util/isObject.js\");\n/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/isFunction */ \"./node_modules/rxjs/_esm5/internal/util/isFunction.js\");\n/* harmony import */ var _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/UnsubscriptionError */ \"./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js\");\n/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\n\n\n\n\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if ((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.isFunction)(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_1__.UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if ((0,_util_isArray__WEBPACK_IMPORTED_MODULE_2__.isArray)(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if ((0,_util_isObject__WEBPACK_IMPORTED_MODULE_3__.isObject)(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_1__.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_1__.UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\n\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_1__.UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9TdWJzY3JpcHRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUN5QztBQUNFO0FBQ0k7QUFDa0I7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxpQ0FBaUM7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDREQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDBFQUFtQjtBQUN6RDtBQUNBO0FBQ0EsWUFBWSxzREFBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix3REFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLDBFQUFtQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwwRUFBbUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUM7QUFDdUI7QUFDeEI7QUFDQSxnREFBZ0QsbUNBQW1DLDBFQUFtQix3QkFBd0I7QUFDOUg7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9TdWJzY3JpcHRpb24uanM/ODMxMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF91dGlsX2lzQXJyYXksX3V0aWxfaXNPYmplY3QsX3V0aWxfaXNGdW5jdGlvbixfdXRpbF9VbnN1YnNjcmlwdGlvbkVycm9yIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuL3V0aWwvaXNBcnJheSc7XG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJy4vdXRpbC9pc09iamVjdCc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlsL2lzRnVuY3Rpb24nO1xuaW1wb3J0IHsgVW5zdWJzY3JpcHRpb25FcnJvciB9IGZyb20gJy4vdXRpbC9VbnN1YnNjcmlwdGlvbkVycm9yJztcbnZhciBTdWJzY3JpcHRpb24gPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU3Vic2NyaXB0aW9uKHVuc3Vic2NyaWJlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3BhcmVudE9yUGFyZW50cyA9IG51bGw7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBudWxsO1xuICAgICAgICBpZiAodW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2N0b3JVbnN1YnNjcmliZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZSA9IHVuc3Vic2NyaWJlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFN1YnNjcmlwdGlvbi5wcm90b3R5cGUudW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlcnJvcnM7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfYSA9IHRoaXMsIF9wYXJlbnRPclBhcmVudHMgPSBfYS5fcGFyZW50T3JQYXJlbnRzLCBfY3RvclVuc3Vic2NyaWJlID0gX2EuX2N0b3JVbnN1YnNjcmliZSwgX3Vuc3Vic2NyaWJlID0gX2EuX3Vuc3Vic2NyaWJlLCBfc3Vic2NyaXB0aW9ucyA9IF9hLl9zdWJzY3JpcHRpb25zO1xuICAgICAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3BhcmVudE9yUGFyZW50cyA9IG51bGw7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBudWxsO1xuICAgICAgICBpZiAoX3BhcmVudE9yUGFyZW50cyBpbnN0YW5jZW9mIFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgX3BhcmVudE9yUGFyZW50cy5yZW1vdmUodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoX3BhcmVudE9yUGFyZW50cyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IF9wYXJlbnRPclBhcmVudHMubGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICAgICAgICAgICAgdmFyIHBhcmVudF8xID0gX3BhcmVudE9yUGFyZW50c1tpbmRleF07XG4gICAgICAgICAgICAgICAgcGFyZW50XzEucmVtb3ZlKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKF91bnN1YnNjcmliZSkpIHtcbiAgICAgICAgICAgIGlmIChfY3RvclVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF91bnN1YnNjcmliZS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBlcnJvcnMgPSBlIGluc3RhbmNlb2YgVW5zdWJzY3JpcHRpb25FcnJvciA/IGZsYXR0ZW5VbnN1YnNjcmlwdGlvbkVycm9ycyhlLmVycm9ycykgOiBbZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQXJyYXkoX3N1YnNjcmlwdGlvbnMpKSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgICAgICAgIHZhciBsZW4gPSBfc3Vic2NyaXB0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbikge1xuICAgICAgICAgICAgICAgIHZhciBzdWIgPSBfc3Vic2NyaXB0aW9uc1tpbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHN1YikpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnJvcnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFVuc3Vic2NyaXB0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnJvcnMuY29uY2F0KGZsYXR0ZW5VbnN1YnNjcmlwdGlvbkVycm9ycyhlLmVycm9ycykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFVuc3Vic2NyaXB0aW9uRXJyb3IoZXJyb3JzKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgU3Vic2NyaXB0aW9uLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAodGVhcmRvd24pIHtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IHRlYXJkb3duO1xuICAgICAgICBpZiAoIXRlYXJkb3duKSB7XG4gICAgICAgICAgICByZXR1cm4gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHRlYXJkb3duKSB7XG4gICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbih0ZWFyZG93bik7XG4gICAgICAgICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24gPT09IHRoaXMgfHwgc3Vic2NyaXB0aW9uLmNsb3NlZCB8fCB0eXBlb2Ygc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICghKHN1YnNjcmlwdGlvbiBpbnN0YW5jZW9mIFN1YnNjcmlwdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRtcCA9IHN1YnNjcmlwdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uX3N1YnNjcmlwdGlvbnMgPSBbdG1wXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bnJlY29nbml6ZWQgdGVhcmRvd24gJyArIHRlYXJkb3duICsgJyBhZGRlZCB0byBTdWJzY3JpcHRpb24uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIF9wYXJlbnRPclBhcmVudHMgPSBzdWJzY3JpcHRpb24uX3BhcmVudE9yUGFyZW50cztcbiAgICAgICAgaWYgKF9wYXJlbnRPclBhcmVudHMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5fcGFyZW50T3JQYXJlbnRzID0gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChfcGFyZW50T3JQYXJlbnRzIGluc3RhbmNlb2YgU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBpZiAoX3BhcmVudE9yUGFyZW50cyA9PT0gdGhpcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24uX3BhcmVudE9yUGFyZW50cyA9IFtfcGFyZW50T3JQYXJlbnRzLCB0aGlzXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChfcGFyZW50T3JQYXJlbnRzLmluZGV4T2YodGhpcykgPT09IC0xKSB7XG4gICAgICAgICAgICBfcGFyZW50T3JQYXJlbnRzLnB1c2godGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzdWJzY3JpcHRpb25zID0gdGhpcy5fc3Vic2NyaXB0aW9ucztcbiAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbc3Vic2NyaXB0aW9uXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICBTdWJzY3JpcHRpb24ucHJvdG90eXBlLnJlbW92ZSA9IGZ1bmN0aW9uIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbnMgPSB0aGlzLl9zdWJzY3JpcHRpb25zO1xuICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgdmFyIHN1YnNjcmlwdGlvbkluZGV4ID0gc3Vic2NyaXB0aW9ucy5pbmRleE9mKHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5zcGxpY2Uoc3Vic2NyaXB0aW9uSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBTdWJzY3JpcHRpb24uRU1QVFkgPSAoZnVuY3Rpb24gKGVtcHR5KSB7XG4gICAgICAgIGVtcHR5LmNsb3NlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBlbXB0eTtcbiAgICB9KG5ldyBTdWJzY3JpcHRpb24oKSkpO1xuICAgIHJldHVybiBTdWJzY3JpcHRpb247XG59KCkpO1xuZXhwb3J0IHsgU3Vic2NyaXB0aW9uIH07XG5mdW5jdGlvbiBmbGF0dGVuVW5zdWJzY3JpcHRpb25FcnJvcnMoZXJyb3JzKSB7XG4gICAgcmV0dXJuIGVycm9ycy5yZWR1Y2UoZnVuY3Rpb24gKGVycnMsIGVycikgeyByZXR1cm4gZXJycy5jb25jYXQoKGVyciBpbnN0YW5jZW9mIFVuc3Vic2NyaXB0aW9uRXJyb3IpID8gZXJyLmVycm9ycyA6IGVycik7IH0sIFtdKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVN1YnNjcmlwdGlvbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/Subscription.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/config.js": -/*!****************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/config.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: function() { return /* binding */ config; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nvar config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9jb25maWcuanM/MmQ3NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG52YXIgX2VuYWJsZV9zdXBlcl9ncm9zc19tb2RlX3RoYXRfd2lsbF9jYXVzZV9iYWRfdGhpbmdzID0gZmFsc2U7XG5leHBvcnQgdmFyIGNvbmZpZyA9IHtcbiAgICBQcm9taXNlOiB1bmRlZmluZWQsXG4gICAgc2V0IHVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgZXJyb3IgPSAvKkBfX1BVUkVfXyovIG5ldyBFcnJvcigpO1xuICAgICAgICAgICAgLypAX19QVVJFX18qLyBjb25zb2xlLndhcm4oJ0RFUFJFQ0FURUQhIFJ4SlMgd2FzIHNldCB0byB1c2UgZGVwcmVjYXRlZCBzeW5jaHJvbm91cyBlcnJvciBoYW5kbGluZyBiZWhhdmlvciBieSBjb2RlIGF0OiBcXG4nICsgZXJyb3Iuc3RhY2spO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKF9lbmFibGVfc3VwZXJfZ3Jvc3NfbW9kZV90aGF0X3dpbGxfY2F1c2VfYmFkX3RoaW5ncykge1xuICAgICAgICAgICAgLypAX19QVVJFX18qLyBjb25zb2xlLmxvZygnUnhKUzogQmFjayB0byBhIGJldHRlciBlcnJvciBiZWhhdmlvci4gVGhhbmsgeW91LiA8MycpO1xuICAgICAgICB9XG4gICAgICAgIF9lbmFibGVfc3VwZXJfZ3Jvc3NfbW9kZV90aGF0X3dpbGxfY2F1c2VfYmFkX3RoaW5ncyA9IHZhbHVlO1xuICAgIH0sXG4gICAgZ2V0IHVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcoKSB7XG4gICAgICAgIHJldHVybiBfZW5hYmxlX3N1cGVyX2dyb3NzX21vZGVfdGhhdF93aWxsX2NhdXNlX2JhZF90aGluZ3M7XG4gICAgfSxcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25maWcuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/config.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/innerSubscribe.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/innerSubscribe.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ComplexInnerSubscriber: function() { return /* binding */ ComplexInnerSubscriber; },\n/* harmony export */ ComplexOuterSubscriber: function() { return /* binding */ ComplexOuterSubscriber; },\n/* harmony export */ SimpleInnerSubscriber: function() { return /* binding */ SimpleInnerSubscriber; },\n/* harmony export */ SimpleOuterSubscriber: function() { return /* binding */ SimpleOuterSubscriber; },\n/* harmony export */ innerSubscribe: function() { return /* binding */ innerSubscribe; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/subscribeTo */ \"./node_modules/rxjs/_esm5/internal/util/subscribeTo.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\n\n\n\n\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\nfunction innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof _Observable__WEBPACK_IMPORTED_MODULE_2__.Observable) {\n return result.subscribe(innerSubscriber);\n }\n var subscription;\n try {\n subscription = (0,_util_subscribeTo__WEBPACK_IMPORTED_MODULE_3__.subscribeTo)(result)(innerSubscriber);\n }\n catch (error) {\n innerSubscriber.error(error);\n }\n return subscription;\n}\n//# sourceMappingURL=innerSubscribe.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9pbm5lclN1YnNjcmliZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNTO0FBQ0E7QUFDTztBQUNqRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDcUI7QUFDakM7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNzQjtBQUNsQztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ3FCO0FBQ2pDO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDc0I7QUFDM0I7QUFDUDtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsbURBQVU7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsOERBQVc7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvaW5uZXJTdWJzY3JpYmUuanM/ZjJkYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyLF9PYnNlcnZhYmxlLF91dGlsX3N1YnNjcmliZVRvIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuL09ic2VydmFibGUnO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG8gfSBmcm9tICcuL3V0aWwvc3Vic2NyaWJlVG8nO1xudmFyIFNpbXBsZUlubmVyU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTaW1wbGVJbm5lclN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU2ltcGxlSW5uZXJTdWJzY3JpYmVyKHBhcmVudCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgU2ltcGxlSW5uZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnBhcmVudC5ub3RpZnlOZXh0KHZhbHVlKTtcbiAgICB9O1xuICAgIFNpbXBsZUlubmVyU3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIHRoaXMucGFyZW50Lm5vdGlmeUVycm9yKGVycm9yKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgU2ltcGxlSW5uZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucGFyZW50Lm5vdGlmeUNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBTaW1wbGVJbm5lclN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbmV4cG9ydCB7IFNpbXBsZUlubmVyU3Vic2NyaWJlciB9O1xudmFyIENvbXBsZXhJbm5lclN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQ29tcGxleElubmVyU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBDb21wbGV4SW5uZXJTdWJzY3JpYmVyKHBhcmVudCwgb3V0ZXJWYWx1ZSwgb3V0ZXJJbmRleCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgIF90aGlzLm91dGVyVmFsdWUgPSBvdXRlclZhbHVlO1xuICAgICAgICBfdGhpcy5vdXRlckluZGV4ID0gb3V0ZXJJbmRleDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBDb21wbGV4SW5uZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnBhcmVudC5ub3RpZnlOZXh0KHRoaXMub3V0ZXJWYWx1ZSwgdmFsdWUsIHRoaXMub3V0ZXJJbmRleCwgdGhpcyk7XG4gICAgfTtcbiAgICBDb21wbGV4SW5uZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQubm90aWZ5RXJyb3IoZXJyb3IpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBDb21wbGV4SW5uZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucGFyZW50Lm5vdGlmeUNvbXBsZXRlKHRoaXMpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICByZXR1cm4gQ29tcGxleElubmVyU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZXhwb3J0IHsgQ29tcGxleElubmVyU3Vic2NyaWJlciB9O1xudmFyIFNpbXBsZU91dGVyU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTaW1wbGVPdXRlclN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIFNpbXBsZU91dGVyU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5TmV4dCA9IGZ1bmN0aW9uIChpbm5lclZhbHVlKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChpbm5lclZhbHVlKTtcbiAgICB9O1xuICAgIFNpbXBsZU91dGVyU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5RXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICB9O1xuICAgIFNpbXBsZU91dGVyU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICB9O1xuICAgIHJldHVybiBTaW1wbGVPdXRlclN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbmV4cG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciB9O1xudmFyIENvbXBsZXhPdXRlclN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQ29tcGxleE91dGVyU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBDb21wbGV4T3V0ZXJTdWJzY3JpYmVyKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIENvbXBsZXhPdXRlclN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoX291dGVyVmFsdWUsIGlubmVyVmFsdWUsIF9vdXRlckluZGV4LCBfaW5uZXJTdWIpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KGlubmVyVmFsdWUpO1xuICAgIH07XG4gICAgQ29tcGxleE91dGVyU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5RXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnJvcik7XG4gICAgfTtcbiAgICBDb21wbGV4T3V0ZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlDb21wbGV0ZSA9IGZ1bmN0aW9uIChfaW5uZXJTdWIpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgcmV0dXJuIENvbXBsZXhPdXRlclN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbmV4cG9ydCB7IENvbXBsZXhPdXRlclN1YnNjcmliZXIgfTtcbmV4cG9ydCBmdW5jdGlvbiBpbm5lclN1YnNjcmliZShyZXN1bHQsIGlubmVyU3Vic2NyaWJlcikge1xuICAgIGlmIChpbm5lclN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQuc3Vic2NyaWJlKGlubmVyU3Vic2NyaWJlcik7XG4gICAgfVxuICAgIHZhciBzdWJzY3JpcHRpb247XG4gICAgdHJ5IHtcbiAgICAgICAgc3Vic2NyaXB0aW9uID0gc3Vic2NyaWJlVG8ocmVzdWx0KShpbm5lclN1YnNjcmliZXIpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaW5uZXJTdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlubmVyU3Vic2NyaWJlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/innerSubscribe.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js": -/*!******************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConnectableObservable: function() { return /* binding */ ConnectableObservable; },\n/* harmony export */ connectableObservableDescriptor: function() { return /* binding */ connectableObservableDescriptor; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _operators_refCount__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../operators/refCount */ \"./node_modules/rxjs/_esm5/internal/operators/refCount.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */\n\n\n\n\n\n\nvar ConnectableObservable = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._refCount = 0;\n _this._isComplete = false;\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return (0,_operators_refCount__WEBPACK_IMPORTED_MODULE_2__.refCount)()(this);\n };\n return ConnectableObservable;\n}(_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable));\n\nvar connectableObservableDescriptor = /*@__PURE__*/ (function () {\n var connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nvar ConnectableSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(_Subject__WEBPACK_IMPORTED_MODULE_4__.SubjectSubscriber));\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_5__.Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL0Nvbm5lY3RhYmxlT2JzZXJ2YWJsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ2lDO0FBQ2M7QUFDSjtBQUNBO0FBQ0k7QUFDeUI7QUFDeEU7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCx1REFBWTtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qix1REFBWTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSw2REFBbUI7QUFDbEM7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNxQjtBQUMxQjtBQUNQO0FBQ0E7QUFDQSxvQkFBb0IsYUFBYTtBQUNqQyxxQkFBcUIsMEJBQTBCO0FBQy9DLG9CQUFvQiw2QkFBNkI7QUFDakQsdUJBQXVCLDZCQUE2QjtBQUNwRCxzQkFBc0Isb0NBQW9DO0FBQzFELHVCQUF1QixxREFBcUQ7QUFDNUUsc0JBQXNCLG9DQUFvQztBQUMxRCxtQkFBbUIsaUNBQWlDO0FBQ3BELG9CQUFvQjtBQUNwQjtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLHVEQUFpQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL0Nvbm5lY3RhYmxlT2JzZXJ2YWJsZS5qcz85MjBkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YmplY3QsX09ic2VydmFibGUsX1N1YnNjcmliZXIsX1N1YnNjcmlwdGlvbixfb3BlcmF0b3JzX3JlZkNvdW50IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJqZWN0U3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IHJlZkNvdW50IGFzIGhpZ2hlck9yZGVyUmVmQ291bnQgfSBmcm9tICcuLi9vcGVyYXRvcnMvcmVmQ291bnQnO1xudmFyIENvbm5lY3RhYmxlT2JzZXJ2YWJsZSA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhDb25uZWN0YWJsZU9ic2VydmFibGUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQ29ubmVjdGFibGVPYnNlcnZhYmxlKHNvdXJjZSwgc3ViamVjdEZhY3RvcnkpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuc291cmNlID0gc291cmNlO1xuICAgICAgICBfdGhpcy5zdWJqZWN0RmFjdG9yeSA9IHN1YmplY3RGYWN0b3J5O1xuICAgICAgICBfdGhpcy5fcmVmQ291bnQgPSAwO1xuICAgICAgICBfdGhpcy5faXNDb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIENvbm5lY3RhYmxlT2JzZXJ2YWJsZS5wcm90b3R5cGUuX3N1YnNjcmliZSA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFN1YmplY3QoKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgfTtcbiAgICBDb25uZWN0YWJsZU9ic2VydmFibGUucHJvdG90eXBlLmdldFN1YmplY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzdWJqZWN0ID0gdGhpcy5fc3ViamVjdDtcbiAgICAgICAgaWYgKCFzdWJqZWN0IHx8IHN1YmplY3QuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJqZWN0ID0gdGhpcy5zdWJqZWN0RmFjdG9yeSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWJqZWN0O1xuICAgIH07XG4gICAgQ29ubmVjdGFibGVPYnNlcnZhYmxlLnByb3RvdHlwZS5jb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29ubmVjdGlvbiA9IHRoaXMuX2Nvbm5lY3Rpb247XG4gICAgICAgIGlmICghY29ubmVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5faXNDb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgY29ubmVjdGlvbiA9IHRoaXMuX2Nvbm5lY3Rpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICBjb25uZWN0aW9uLmFkZCh0aGlzLnNvdXJjZVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobmV3IENvbm5lY3RhYmxlU3Vic2NyaWJlcih0aGlzLmdldFN1YmplY3QoKSwgdGhpcykpKTtcbiAgICAgICAgICAgIGlmIChjb25uZWN0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb247XG4gICAgfTtcbiAgICBDb25uZWN0YWJsZU9ic2VydmFibGUucHJvdG90eXBlLnJlZkNvdW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gaGlnaGVyT3JkZXJSZWZDb3VudCgpKHRoaXMpO1xuICAgIH07XG4gICAgcmV0dXJuIENvbm5lY3RhYmxlT2JzZXJ2YWJsZTtcbn0oT2JzZXJ2YWJsZSkpO1xuZXhwb3J0IHsgQ29ubmVjdGFibGVPYnNlcnZhYmxlIH07XG5leHBvcnQgdmFyIGNvbm5lY3RhYmxlT2JzZXJ2YWJsZURlc2NyaXB0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGNvbm5lY3RhYmxlUHJvdG8gPSBDb25uZWN0YWJsZU9ic2VydmFibGUucHJvdG90eXBlO1xuICAgIHJldHVybiB7XG4gICAgICAgIG9wZXJhdG9yOiB7IHZhbHVlOiBudWxsIH0sXG4gICAgICAgIF9yZWZDb3VudDogeyB2YWx1ZTogMCwgd3JpdGFibGU6IHRydWUgfSxcbiAgICAgICAgX3N1YmplY3Q6IHsgdmFsdWU6IG51bGwsIHdyaXRhYmxlOiB0cnVlIH0sXG4gICAgICAgIF9jb25uZWN0aW9uOiB7IHZhbHVlOiBudWxsLCB3cml0YWJsZTogdHJ1ZSB9LFxuICAgICAgICBfc3Vic2NyaWJlOiB7IHZhbHVlOiBjb25uZWN0YWJsZVByb3RvLl9zdWJzY3JpYmUgfSxcbiAgICAgICAgX2lzQ29tcGxldGU6IHsgdmFsdWU6IGNvbm5lY3RhYmxlUHJvdG8uX2lzQ29tcGxldGUsIHdyaXRhYmxlOiB0cnVlIH0sXG4gICAgICAgIGdldFN1YmplY3Q6IHsgdmFsdWU6IGNvbm5lY3RhYmxlUHJvdG8uZ2V0U3ViamVjdCB9LFxuICAgICAgICBjb25uZWN0OiB7IHZhbHVlOiBjb25uZWN0YWJsZVByb3RvLmNvbm5lY3QgfSxcbiAgICAgICAgcmVmQ291bnQ6IHsgdmFsdWU6IGNvbm5lY3RhYmxlUHJvdG8ucmVmQ291bnQgfVxuICAgIH07XG59KSgpO1xudmFyIENvbm5lY3RhYmxlU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhDb25uZWN0YWJsZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQ29ubmVjdGFibGVTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBjb25uZWN0YWJsZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuY29ubmVjdGFibGUgPSBjb25uZWN0YWJsZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBDb25uZWN0YWJsZVN1YnNjcmliZXIucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5fZXJyb3IuY2FsbCh0aGlzLCBlcnIpO1xuICAgIH07XG4gICAgQ29ubmVjdGFibGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGFibGUuX2lzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgICAgICBfc3VwZXIucHJvdG90eXBlLl9jb21wbGV0ZS5jYWxsKHRoaXMpO1xuICAgIH07XG4gICAgQ29ubmVjdGFibGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjb25uZWN0YWJsZSA9IHRoaXMuY29ubmVjdGFibGU7XG4gICAgICAgIGlmIChjb25uZWN0YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0YWJsZSA9IG51bGw7XG4gICAgICAgICAgICB2YXIgY29ubmVjdGlvbiA9IGNvbm5lY3RhYmxlLl9jb25uZWN0aW9uO1xuICAgICAgICAgICAgY29ubmVjdGFibGUuX3JlZkNvdW50ID0gMDtcbiAgICAgICAgICAgIGNvbm5lY3RhYmxlLl9zdWJqZWN0ID0gbnVsbDtcbiAgICAgICAgICAgIGNvbm5lY3RhYmxlLl9jb25uZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChjb25uZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gQ29ubmVjdGFibGVTdWJzY3JpYmVyO1xufShTdWJqZWN0U3Vic2NyaWJlcikpO1xudmFyIFJlZkNvdW50T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gUmVmQ291bnRPcGVyYXRvcihjb25uZWN0YWJsZSkge1xuICAgICAgICB0aGlzLmNvbm5lY3RhYmxlID0gY29ubmVjdGFibGU7XG4gICAgfVxuICAgIFJlZkNvdW50T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHZhciBjb25uZWN0YWJsZSA9IHRoaXMuY29ubmVjdGFibGU7XG4gICAgICAgIGNvbm5lY3RhYmxlLl9yZWZDb3VudCsrO1xuICAgICAgICB2YXIgcmVmQ291bnRlciA9IG5ldyBSZWZDb3VudFN1YnNjcmliZXIoc3Vic2NyaWJlciwgY29ubmVjdGFibGUpO1xuICAgICAgICB2YXIgc3Vic2NyaXB0aW9uID0gc291cmNlLnN1YnNjcmliZShyZWZDb3VudGVyKTtcbiAgICAgICAgaWYgKCFyZWZDb3VudGVyLmNsb3NlZCkge1xuICAgICAgICAgICAgcmVmQ291bnRlci5jb25uZWN0aW9uID0gY29ubmVjdGFibGUuY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICByZXR1cm4gUmVmQ291bnRPcGVyYXRvcjtcbn0oKSk7XG52YXIgUmVmQ291bnRTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFJlZkNvdW50U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBSZWZDb3VudFN1YnNjcmliZXIoZGVzdGluYXRpb24sIGNvbm5lY3RhYmxlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5jb25uZWN0YWJsZSA9IGNvbm5lY3RhYmxlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFJlZkNvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX3Vuc3Vic2NyaWJlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29ubmVjdGFibGUgPSB0aGlzLmNvbm5lY3RhYmxlO1xuICAgICAgICBpZiAoIWNvbm5lY3RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29ubmVjdGFibGUgPSBudWxsO1xuICAgICAgICB2YXIgcmVmQ291bnQgPSBjb25uZWN0YWJsZS5fcmVmQ291bnQ7XG4gICAgICAgIGlmIChyZWZDb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbm5lY3RhYmxlLl9yZWZDb3VudCA9IHJlZkNvdW50IC0gMTtcbiAgICAgICAgaWYgKHJlZkNvdW50ID4gMSkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY29ubmVjdGlvbiA9IHRoaXMuY29ubmVjdGlvbjtcbiAgICAgICAgdmFyIHNoYXJlZENvbm5lY3Rpb24gPSBjb25uZWN0YWJsZS5fY29ubmVjdGlvbjtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gbnVsbDtcbiAgICAgICAgaWYgKHNoYXJlZENvbm5lY3Rpb24gJiYgKCFjb25uZWN0aW9uIHx8IHNoYXJlZENvbm5lY3Rpb24gPT09IGNvbm5lY3Rpb24pKSB7XG4gICAgICAgICAgICBzaGFyZWRDb25uZWN0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBSZWZDb3VudFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbm5lY3RhYmxlT2JzZXJ2YWJsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/SubscribeOnObservable.js": -/*!******************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/SubscribeOnObservable.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SubscribeOnObservable: function() { return /* binding */ SubscribeOnObservable; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _scheduler_asap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scheduler/asap */ \"./node_modules/rxjs/_esm5/internal/scheduler/asap.js\");\n/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isNumeric */ \"./node_modules/rxjs/_esm5/internal/util/isNumeric.js\");\n/** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */\n\n\n\n\nvar SubscribeOnObservable = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) {\n delayTime = 0;\n }\n if (scheduler === void 0) {\n scheduler = _scheduler_asap__WEBPACK_IMPORTED_MODULE_1__.asap;\n }\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.delayTime = delayTime;\n _this.scheduler = scheduler;\n if (!(0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_2__.isNumeric)(delayTime) || delayTime < 0) {\n _this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n _this.scheduler = _scheduler_asap__WEBPACK_IMPORTED_MODULE_1__.asap;\n }\n return _this;\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) {\n delay = 0;\n }\n if (scheduler === void 0) {\n scheduler = _scheduler_asap__WEBPACK_IMPORTED_MODULE_1__.asap;\n }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable));\n\n//# sourceMappingURL=SubscribeOnObservable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL1N1YnNjcmliZU9uT2JzZXJ2YWJsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDRjtBQUNLO0FBQzlDO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpREFBSTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwwREFBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsaURBQUk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpREFBSTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ3FCO0FBQ2pDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvU3Vic2NyaWJlT25PYnNlcnZhYmxlLmpzP2VjNTYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfT2JzZXJ2YWJsZSxfc2NoZWR1bGVyX2FzYXAsX3V0aWxfaXNOdW1lcmljIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBhc2FwIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzYXAnO1xuaW1wb3J0IHsgaXNOdW1lcmljIH0gZnJvbSAnLi4vdXRpbC9pc051bWVyaWMnO1xudmFyIFN1YnNjcmliZU9uT2JzZXJ2YWJsZSA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTdWJzY3JpYmVPbk9ic2VydmFibGUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU3Vic2NyaWJlT25PYnNlcnZhYmxlKHNvdXJjZSwgZGVsYXlUaW1lLCBzY2hlZHVsZXIpIHtcbiAgICAgICAgaWYgKGRlbGF5VGltZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheVRpbWUgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzY2hlZHVsZXIgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgc2NoZWR1bGVyID0gYXNhcDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIF90aGlzLmRlbGF5VGltZSA9IGRlbGF5VGltZTtcbiAgICAgICAgX3RoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgICAgICBpZiAoIWlzTnVtZXJpYyhkZWxheVRpbWUpIHx8IGRlbGF5VGltZSA8IDApIHtcbiAgICAgICAgICAgIF90aGlzLmRlbGF5VGltZSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzY2hlZHVsZXIgfHwgdHlwZW9mIHNjaGVkdWxlci5zY2hlZHVsZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgX3RoaXMuc2NoZWR1bGVyID0gYXNhcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFN1YnNjcmliZU9uT2JzZXJ2YWJsZS5jcmVhdGUgPSBmdW5jdGlvbiAoc291cmNlLCBkZWxheSwgc2NoZWR1bGVyKSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNjaGVkdWxlciA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBzY2hlZHVsZXIgPSBhc2FwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaWJlT25PYnNlcnZhYmxlKHNvdXJjZSwgZGVsYXksIHNjaGVkdWxlcik7XG4gICAgfTtcbiAgICBTdWJzY3JpYmVPbk9ic2VydmFibGUuZGlzcGF0Y2ggPSBmdW5jdGlvbiAoYXJnKSB7XG4gICAgICAgIHZhciBzb3VyY2UgPSBhcmcuc291cmNlLCBzdWJzY3JpYmVyID0gYXJnLnN1YnNjcmliZXI7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZChzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9O1xuICAgIFN1YnNjcmliZU9uT2JzZXJ2YWJsZS5wcm90b3R5cGUuX3N1YnNjcmliZSA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBkZWxheSA9IHRoaXMuZGVsYXlUaW1lO1xuICAgICAgICB2YXIgc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgICAgIHZhciBzY2hlZHVsZXIgPSB0aGlzLnNjaGVkdWxlcjtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZShTdWJzY3JpYmVPbk9ic2VydmFibGUuZGlzcGF0Y2gsIGRlbGF5LCB7XG4gICAgICAgICAgICBzb3VyY2U6IHNvdXJjZSwgc3Vic2NyaWJlcjogc3Vic2NyaWJlclxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHJldHVybiBTdWJzY3JpYmVPbk9ic2VydmFibGU7XG59KE9ic2VydmFibGUpKTtcbmV4cG9ydCB7IFN1YnNjcmliZU9uT2JzZXJ2YWJsZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U3Vic2NyaWJlT25PYnNlcnZhYmxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/SubscribeOnObservable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/bindCallback.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/bindCallback.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bindCallback: function() { return /* binding */ bindCallback; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../AsyncSubject */ \"./node_modules/rxjs/_esm5/internal/AsyncSubject.js\");\n/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../operators/map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/canReportError */ \"./node_modules/rxjs/_esm5/internal/util/canReportError.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isArray,_util_isScheduler PURE_IMPORTS_END */\n\n\n\n\n\n\nfunction bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_0__.isScheduler)(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallback(callbackFunc, scheduler).apply(void 0, args).pipe((0,_operators_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (args) { return (0,_util_isArray__WEBPACK_IMPORTED_MODULE_2__.isArray)(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var subject;\n var params = {\n context: context,\n subject: subject,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n };\n return new _Observable__WEBPACK_IMPORTED_MODULE_3__.Observable(function (subscriber) {\n if (!scheduler) {\n if (!subject) {\n subject = new _AsyncSubject__WEBPACK_IMPORTED_MODULE_4__.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if ((0,_util_canReportError__WEBPACK_IMPORTED_MODULE_5__.canReportError)(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n var state = {\n args: args, subscriber: subscriber, params: params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var self = this;\n var args = state.args, subscriber = state.subscriber, params = state.params;\n var callbackFunc = params.callbackFunc, context = params.context, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new _AsyncSubject__WEBPACK_IMPORTED_MODULE_4__.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n var value = state.value, subject = state.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n var err = state.err, subject = state.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindCallback.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2JpbmRDYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDMkM7QUFDSTtBQUNSO0FBQ2lCO0FBQ2Q7QUFDUTtBQUMzQztBQUNQO0FBQ0EsWUFBWSw4REFBVztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLHVCQUF1QjtBQUN4RDtBQUNBO0FBQ0Esc0ZBQXNGLG1EQUFHLG1CQUFtQixPQUFPLHNEQUFPLHFFQUFxRTtBQUMvTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLHVCQUF1QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtREFBVTtBQUM3QjtBQUNBO0FBQ0Esa0NBQWtDLHVEQUFZO0FBQzlDO0FBQ0E7QUFDQSx5Q0FBeUMsdUJBQXVCO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixvRUFBYztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUFZO0FBQ25EO0FBQ0E7QUFDQSw2QkFBNkIsdUJBQXVCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLDREQUE0RCxnQ0FBZ0M7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2JpbmRDYWxsYmFjay5qcz9kYjc1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX0FzeW5jU3ViamVjdCxfb3BlcmF0b3JzX21hcCxfdXRpbF9jYW5SZXBvcnRFcnJvcixfdXRpbF9pc0FycmF5LF91dGlsX2lzU2NoZWR1bGVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEFzeW5jU3ViamVjdCB9IGZyb20gJy4uL0FzeW5jU3ViamVjdCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuLi9vcGVyYXRvcnMvbWFwJztcbmltcG9ydCB7IGNhblJlcG9ydEVycm9yIH0gZnJvbSAnLi4vdXRpbC9jYW5SZXBvcnRFcnJvcic7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbC9pc0FycmF5JztcbmltcG9ydCB7IGlzU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9pc1NjaGVkdWxlcic7XG5leHBvcnQgZnVuY3Rpb24gYmluZENhbGxiYWNrKGNhbGxiYWNrRnVuYywgcmVzdWx0U2VsZWN0b3IsIHNjaGVkdWxlcikge1xuICAgIGlmIChyZXN1bHRTZWxlY3Rvcikge1xuICAgICAgICBpZiAoaXNTY2hlZHVsZXIocmVzdWx0U2VsZWN0b3IpKSB7XG4gICAgICAgICAgICBzY2hlZHVsZXIgPSByZXN1bHRTZWxlY3RvcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICBhcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBiaW5kQ2FsbGJhY2soY2FsbGJhY2tGdW5jLCBzY2hlZHVsZXIpLmFwcGx5KHZvaWQgMCwgYXJncykucGlwZShtYXAoZnVuY3Rpb24gKGFyZ3MpIHsgcmV0dXJuIGlzQXJyYXkoYXJncykgPyByZXN1bHRTZWxlY3Rvci5hcHBseSh2b2lkIDAsIGFyZ3MpIDogcmVzdWx0U2VsZWN0b3IoYXJncyk7IH0pKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY29udGV4dCA9IHRoaXM7XG4gICAgICAgIHZhciBzdWJqZWN0O1xuICAgICAgICB2YXIgcGFyYW1zID0ge1xuICAgICAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgICAgIHN1YmplY3Q6IHN1YmplY3QsXG4gICAgICAgICAgICBjYWxsYmFja0Z1bmM6IGNhbGxiYWNrRnVuYyxcbiAgICAgICAgICAgIHNjaGVkdWxlcjogc2NoZWR1bGVyLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIGlmICghc2NoZWR1bGVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzdWJqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QgPSBuZXcgQXN5bmNTdWJqZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlubmVyQXJncyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QubmV4dChpbm5lckFyZ3MubGVuZ3RoIDw9IDEgPyBpbm5lckFyZ3NbMF0gOiBpbm5lckFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tGdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MuY29uY2F0KFtoYW5kbGVyXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW5SZXBvcnRFcnJvcihzdWJqZWN0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzdWJqZWN0LnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYXJnczogYXJncywgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoLCAwLCBzdGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG59XG5mdW5jdGlvbiBkaXNwYXRjaChzdGF0ZSkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHZhciBhcmdzID0gc3RhdGUuYXJncywgc3Vic2NyaWJlciA9IHN0YXRlLnN1YnNjcmliZXIsIHBhcmFtcyA9IHN0YXRlLnBhcmFtcztcbiAgICB2YXIgY2FsbGJhY2tGdW5jID0gcGFyYW1zLmNhbGxiYWNrRnVuYywgY29udGV4dCA9IHBhcmFtcy5jb250ZXh0LCBzY2hlZHVsZXIgPSBwYXJhbXMuc2NoZWR1bGVyO1xuICAgIHZhciBzdWJqZWN0ID0gcGFyYW1zLnN1YmplY3Q7XG4gICAgaWYgKCFzdWJqZWN0KSB7XG4gICAgICAgIHN1YmplY3QgPSBwYXJhbXMuc3ViamVjdCA9IG5ldyBBc3luY1N1YmplY3QoKTtcbiAgICAgICAgdmFyIGhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgaW5uZXJBcmdzID0gW107XG4gICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgIGlubmVyQXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHZhbHVlID0gaW5uZXJBcmdzLmxlbmd0aCA8PSAxID8gaW5uZXJBcmdzWzBdIDogaW5uZXJBcmdzO1xuICAgICAgICAgICAgX3RoaXMuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaE5leHQsIDAsIHsgdmFsdWU6IHZhbHVlLCBzdWJqZWN0OiBzdWJqZWN0IH0pKTtcbiAgICAgICAgfTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNhbGxiYWNrRnVuYy5hcHBseShjb250ZXh0LCBhcmdzLmNvbmNhdChbaGFuZGxlcl0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5hZGQoc3ViamVjdC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xufVxuZnVuY3Rpb24gZGlzcGF0Y2hOZXh0KHN0YXRlKSB7XG4gICAgdmFyIHZhbHVlID0gc3RhdGUudmFsdWUsIHN1YmplY3QgPSBzdGF0ZS5zdWJqZWN0O1xuICAgIHN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgc3ViamVjdC5jb21wbGV0ZSgpO1xufVxuZnVuY3Rpb24gZGlzcGF0Y2hFcnJvcihzdGF0ZSkge1xuICAgIHZhciBlcnIgPSBzdGF0ZS5lcnIsIHN1YmplY3QgPSBzdGF0ZS5zdWJqZWN0O1xuICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJpbmRDYWxsYmFjay5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/bindCallback.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js": -/*!*************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bindNodeCallback: function() { return /* binding */ bindNodeCallback; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../AsyncSubject */ \"./node_modules/rxjs/_esm5/internal/AsyncSubject.js\");\n/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../operators/map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/canReportError */ \"./node_modules/rxjs/_esm5/internal/util/canReportError.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isScheduler,_util_isArray PURE_IMPORTS_END */\n\n\n\n\n\n\nfunction bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_0__.isScheduler)(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindNodeCallback(callbackFunc, scheduler).apply(void 0, args).pipe((0,_operators_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (args) { return (0,_util_isArray__WEBPACK_IMPORTED_MODULE_2__.isArray)(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var params = {\n subject: undefined,\n args: args,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n context: this,\n };\n return new _Observable__WEBPACK_IMPORTED_MODULE_3__.Observable(function (subscriber) {\n var context = params.context;\n var subject = params.subject;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new _AsyncSubject__WEBPACK_IMPORTED_MODULE_4__.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if ((0,_util_canReportError__WEBPACK_IMPORTED_MODULE_5__.canReportError)(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params: params, subscriber: subscriber, context: context });\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var params = state.params, subscriber = state.subscriber, context = state.context;\n var callbackFunc = params.callbackFunc, args = params.args, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new _AsyncSubject__WEBPACK_IMPORTED_MODULE_4__.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n _this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindNodeCallback.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2JpbmROb2RlQ2FsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQzJDO0FBQ0k7QUFDUjtBQUNpQjtBQUNOO0FBQ1I7QUFDbkM7QUFDUDtBQUNBLFlBQVksOERBQVc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyx1QkFBdUI7QUFDeEQ7QUFDQTtBQUNBLDBGQUEwRixtREFBRyxtQkFBbUIsT0FBTyxzREFBTyxxRUFBcUU7QUFDbk07QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qix1QkFBdUI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1EQUFVO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELHVEQUFZO0FBQy9EO0FBQ0E7QUFDQSx5Q0FBeUMsdUJBQXVCO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsb0VBQWM7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsMERBQTBEO0FBQ25IO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsdURBQVk7QUFDbkQ7QUFDQTtBQUNBLDZCQUE2Qix1QkFBdUI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsNEJBQTRCO0FBQzdGO0FBQ0E7QUFDQTtBQUNBLGdFQUFnRSxnQ0FBZ0M7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELDRCQUE0QjtBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvYmluZE5vZGVDYWxsYmFjay5qcz9hNWQwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX0FzeW5jU3ViamVjdCxfb3BlcmF0b3JzX21hcCxfdXRpbF9jYW5SZXBvcnRFcnJvcixfdXRpbF9pc1NjaGVkdWxlcixfdXRpbF9pc0FycmF5IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEFzeW5jU3ViamVjdCB9IGZyb20gJy4uL0FzeW5jU3ViamVjdCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuLi9vcGVyYXRvcnMvbWFwJztcbmltcG9ydCB7IGNhblJlcG9ydEVycm9yIH0gZnJvbSAnLi4vdXRpbC9jYW5SZXBvcnRFcnJvcic7XG5pbXBvcnQgeyBpc1NjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvaXNTY2hlZHVsZXInO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL3V0aWwvaXNBcnJheSc7XG5leHBvcnQgZnVuY3Rpb24gYmluZE5vZGVDYWxsYmFjayhjYWxsYmFja0Z1bmMsIHJlc3VsdFNlbGVjdG9yLCBzY2hlZHVsZXIpIHtcbiAgICBpZiAocmVzdWx0U2VsZWN0b3IpIHtcbiAgICAgICAgaWYgKGlzU2NoZWR1bGVyKHJlc3VsdFNlbGVjdG9yKSkge1xuICAgICAgICAgICAgc2NoZWR1bGVyID0gcmVzdWx0U2VsZWN0b3I7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYmluZE5vZGVDYWxsYmFjayhjYWxsYmFja0Z1bmMsIHNjaGVkdWxlcikuYXBwbHkodm9pZCAwLCBhcmdzKS5waXBlKG1hcChmdW5jdGlvbiAoYXJncykgeyByZXR1cm4gaXNBcnJheShhcmdzKSA/IHJlc3VsdFNlbGVjdG9yLmFwcGx5KHZvaWQgMCwgYXJncykgOiByZXN1bHRTZWxlY3RvcihhcmdzKTsgfSkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwYXJhbXMgPSB7XG4gICAgICAgICAgICBzdWJqZWN0OiB1bmRlZmluZWQsXG4gICAgICAgICAgICBhcmdzOiBhcmdzLFxuICAgICAgICAgICAgY2FsbGJhY2tGdW5jOiBjYWxsYmFja0Z1bmMsXG4gICAgICAgICAgICBzY2hlZHVsZXI6IHNjaGVkdWxlcixcbiAgICAgICAgICAgIGNvbnRleHQ6IHRoaXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICAgICAgdmFyIGNvbnRleHQgPSBwYXJhbXMuY29udGV4dDtcbiAgICAgICAgICAgIHZhciBzdWJqZWN0ID0gcGFyYW1zLnN1YmplY3Q7XG4gICAgICAgICAgICBpZiAoIXNjaGVkdWxlcikge1xuICAgICAgICAgICAgICAgIGlmICghc3ViamVjdCkge1xuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0ID0gcGFyYW1zLnN1YmplY3QgPSBuZXcgQXN5bmNTdWJqZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlubmVyQXJncyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnIgPSBpbm5lckFyZ3Muc2hpZnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5uZXh0KGlubmVyQXJncy5sZW5ndGggPD0gMSA/IGlubmVyQXJnc1swXSA6IGlubmVyQXJncyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja0Z1bmMuYXBwbHkoY29udGV4dCwgYXJncy5jb25jYXQoW2hhbmRsZXJdKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNhblJlcG9ydEVycm9yKHN1YmplY3QpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1YmplY3Quc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaCwgMCwgeyBwYXJhbXM6IHBhcmFtcywgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgY29udGV4dDogY29udGV4dCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoKHN0YXRlKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcbiAgICB2YXIgcGFyYW1zID0gc3RhdGUucGFyYW1zLCBzdWJzY3JpYmVyID0gc3RhdGUuc3Vic2NyaWJlciwgY29udGV4dCA9IHN0YXRlLmNvbnRleHQ7XG4gICAgdmFyIGNhbGxiYWNrRnVuYyA9IHBhcmFtcy5jYWxsYmFja0Z1bmMsIGFyZ3MgPSBwYXJhbXMuYXJncywgc2NoZWR1bGVyID0gcGFyYW1zLnNjaGVkdWxlcjtcbiAgICB2YXIgc3ViamVjdCA9IHBhcmFtcy5zdWJqZWN0O1xuICAgIGlmICghc3ViamVjdCkge1xuICAgICAgICBzdWJqZWN0ID0gcGFyYW1zLnN1YmplY3QgPSBuZXcgQXN5bmNTdWJqZWN0KCk7XG4gICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGlubmVyQXJncyA9IFtdO1xuICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICBpbm5lckFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBlcnIgPSBpbm5lckFyZ3Muc2hpZnQoKTtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoRXJyb3IsIDAsIHsgZXJyOiBlcnIsIHN1YmplY3Q6IHN1YmplY3QgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gaW5uZXJBcmdzLmxlbmd0aCA8PSAxID8gaW5uZXJBcmdzWzBdIDogaW5uZXJBcmdzO1xuICAgICAgICAgICAgICAgIF90aGlzLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoZGlzcGF0Y2hOZXh0LCAwLCB7IHZhbHVlOiB2YWx1ZSwgc3ViamVjdDogc3ViamVjdCB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjYWxsYmFja0Z1bmMuYXBwbHkoY29udGV4dCwgYXJncy5jb25jYXQoW2hhbmRsZXJdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoRXJyb3IsIDAsIHsgZXJyOiBlcnIsIHN1YmplY3Q6IHN1YmplY3QgfSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoaXMuYWRkKHN1YmplY3Quc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoTmV4dChhcmcpIHtcbiAgICB2YXIgdmFsdWUgPSBhcmcudmFsdWUsIHN1YmplY3QgPSBhcmcuc3ViamVjdDtcbiAgICBzdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIHN1YmplY3QuY29tcGxldGUoKTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoRXJyb3IoYXJnKSB7XG4gICAgdmFyIGVyciA9IGFyZy5lcnIsIHN1YmplY3QgPSBhcmcuc3ViamVjdDtcbiAgICBzdWJqZWN0LmVycm9yKGVycik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1iaW5kTm9kZUNhbGxiYWNrLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/combineLatest.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/combineLatest.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CombineLatestOperator: function() { return /* binding */ CombineLatestOperator; },\n/* harmony export */ CombineLatestSubscriber: function() { return /* binding */ CombineLatestSubscriber; },\n/* harmony export */ combineLatest: function() { return /* binding */ combineLatest; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fromArray */ \"./node_modules/rxjs/_esm5/internal/observable/fromArray.js\");\n/** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */\n\n\n\n\n\n\nvar NONE = {};\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = undefined;\n var scheduler = undefined;\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_0__.isScheduler)(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_1__.isArray)(observables[0])) {\n observables = observables[0];\n }\n return (0,_fromArray__WEBPACK_IMPORTED_MODULE_2__.fromArray)(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nvar CombineLatestOperator = /*@__PURE__*/ (function () {\n function CombineLatestOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n };\n return CombineLatestOperator;\n}());\n\nvar CombineLatestSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_3__.__extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, resultSelector) {\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.active = 0;\n _this.values = [];\n _this.observables = [];\n return _this;\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add((0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__.subscribeToResult)(this, observable, undefined, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryResultSelector = function (values) {\n var result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_5__.OuterSubscriber));\n\n//# sourceMappingURL=combineLatest.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbWJpbmVMYXRlc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDaUI7QUFDUjtBQUNXO0FBQ1M7QUFDdEI7QUFDeEM7QUFDTztBQUNQO0FBQ0EscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsOERBQVc7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxzREFBTztBQUMzQztBQUNBO0FBQ0EsV0FBVyxxREFBUztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2dDO0FBQ2pDO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLFNBQVM7QUFDckM7QUFDQSx5QkFBeUIsMEVBQWlCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyw2REFBZTtBQUNrQjtBQUNuQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbWJpbmVMYXRlc3QuanM/YWQyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF91dGlsX2lzU2NoZWR1bGVyLF91dGlsX2lzQXJyYXksX091dGVyU3Vic2NyaWJlcixfdXRpbF9zdWJzY3JpYmVUb1Jlc3VsdCxfZnJvbUFycmF5IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBpc1NjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvaXNTY2hlZHVsZXInO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL3V0aWwvaXNBcnJheSc7XG5pbXBvcnQgeyBPdXRlclN1YnNjcmliZXIgfSBmcm9tICcuLi9PdXRlclN1YnNjcmliZXInO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG9SZXN1bHQgfSBmcm9tICcuLi91dGlsL3N1YnNjcmliZVRvUmVzdWx0JztcbmltcG9ydCB7IGZyb21BcnJheSB9IGZyb20gJy4vZnJvbUFycmF5JztcbnZhciBOT05FID0ge307XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdCgpIHtcbiAgICB2YXIgb2JzZXJ2YWJsZXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBvYnNlcnZhYmxlc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgIH1cbiAgICB2YXIgcmVzdWx0U2VsZWN0b3IgPSB1bmRlZmluZWQ7XG4gICAgdmFyIHNjaGVkdWxlciA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNTY2hlZHVsZXIob2JzZXJ2YWJsZXNbb2JzZXJ2YWJsZXMubGVuZ3RoIC0gMV0pKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IG9ic2VydmFibGVzLnBvcCgpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG9ic2VydmFibGVzW29ic2VydmFibGVzLmxlbmd0aCAtIDFdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlc3VsdFNlbGVjdG9yID0gb2JzZXJ2YWJsZXMucG9wKCk7XG4gICAgfVxuICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGggPT09IDEgJiYgaXNBcnJheShvYnNlcnZhYmxlc1swXSkpIHtcbiAgICAgICAgb2JzZXJ2YWJsZXMgPSBvYnNlcnZhYmxlc1swXTtcbiAgICB9XG4gICAgcmV0dXJuIGZyb21BcnJheShvYnNlcnZhYmxlcywgc2NoZWR1bGVyKS5saWZ0KG5ldyBDb21iaW5lTGF0ZXN0T3BlcmF0b3IocmVzdWx0U2VsZWN0b3IpKTtcbn1cbnZhciBDb21iaW5lTGF0ZXN0T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQ29tYmluZUxhdGVzdE9wZXJhdG9yKHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMucmVzdWx0U2VsZWN0b3IgPSByZXN1bHRTZWxlY3RvcjtcbiAgICB9XG4gICAgQ29tYmluZUxhdGVzdE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgQ29tYmluZUxhdGVzdFN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5yZXN1bHRTZWxlY3RvcikpO1xuICAgIH07XG4gICAgcmV0dXJuIENvbWJpbmVMYXRlc3RPcGVyYXRvcjtcbn0oKSk7XG5leHBvcnQgeyBDb21iaW5lTGF0ZXN0T3BlcmF0b3IgfTtcbnZhciBDb21iaW5lTGF0ZXN0U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhDb21iaW5lTGF0ZXN0U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBDb21iaW5lTGF0ZXN0U3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgcmVzdWx0U2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnJlc3VsdFNlbGVjdG9yID0gcmVzdWx0U2VsZWN0b3I7XG4gICAgICAgIF90aGlzLmFjdGl2ZSA9IDA7XG4gICAgICAgIF90aGlzLnZhbHVlcyA9IFtdO1xuICAgICAgICBfdGhpcy5vYnNlcnZhYmxlcyA9IFtdO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIENvbWJpbmVMYXRlc3RTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uIChvYnNlcnZhYmxlKSB7XG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2goTk9ORSk7XG4gICAgICAgIHRoaXMub2JzZXJ2YWJsZXMucHVzaChvYnNlcnZhYmxlKTtcbiAgICB9O1xuICAgIENvbWJpbmVMYXRlc3RTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBvYnNlcnZhYmxlcyA9IHRoaXMub2JzZXJ2YWJsZXM7XG4gICAgICAgIHZhciBsZW4gPSBvYnNlcnZhYmxlcy5sZW5ndGg7XG4gICAgICAgIGlmIChsZW4gPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gbGVuO1xuICAgICAgICAgICAgdGhpcy50b1Jlc3BvbmQgPSBsZW47XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9ic2VydmFibGUgPSBvYnNlcnZhYmxlc1tpXTtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZChzdWJzY3JpYmVUb1Jlc3VsdCh0aGlzLCBvYnNlcnZhYmxlLCB1bmRlZmluZWQsIGkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgQ29tYmluZUxhdGVzdFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKHVudXNlZCkge1xuICAgICAgICBpZiAoKHRoaXMuYWN0aXZlIC09IDEpID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIENvbWJpbmVMYXRlc3RTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKF9vdXRlclZhbHVlLCBpbm5lclZhbHVlLCBvdXRlckluZGV4KSB7XG4gICAgICAgIHZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlcztcbiAgICAgICAgdmFyIG9sZFZhbCA9IHZhbHVlc1tvdXRlckluZGV4XTtcbiAgICAgICAgdmFyIHRvUmVzcG9uZCA9ICF0aGlzLnRvUmVzcG9uZFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IG9sZFZhbCA9PT0gTk9ORSA/IC0tdGhpcy50b1Jlc3BvbmQgOiB0aGlzLnRvUmVzcG9uZDtcbiAgICAgICAgdmFsdWVzW291dGVySW5kZXhdID0gaW5uZXJWYWx1ZTtcbiAgICAgICAgaWYgKHRvUmVzcG9uZCA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucmVzdWx0U2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cnlSZXN1bHRTZWxlY3Rvcih2YWx1ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlcy5zbGljZSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgQ29tYmluZUxhdGVzdFN1YnNjcmliZXIucHJvdG90eXBlLl90cnlSZXN1bHRTZWxlY3RvciA9IGZ1bmN0aW9uICh2YWx1ZXMpIHtcbiAgICAgICAgdmFyIHJlc3VsdDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMucmVzdWx0U2VsZWN0b3IuYXBwbHkodGhpcywgdmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHJlc3VsdCk7XG4gICAgfTtcbiAgICByZXR1cm4gQ29tYmluZUxhdGVzdFN1YnNjcmliZXI7XG59KE91dGVyU3Vic2NyaWJlcikpO1xuZXhwb3J0IHsgQ29tYmluZUxhdGVzdFN1YnNjcmliZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbWJpbmVMYXRlc3QuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/combineLatest.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/concat.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/concat.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concat: function() { return /* binding */ concat; }\n/* harmony export */ });\n/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./of */ \"./node_modules/rxjs/_esm5/internal/observable/of.js\");\n/* harmony import */ var _operators_concatAll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../operators/concatAll */ \"./node_modules/rxjs/_esm5/internal/operators/concatAll.js\");\n/** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */\n\n\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return (0,_operators_concatAll__WEBPACK_IMPORTED_MODULE_0__.concatAll)()(_of__WEBPACK_IMPORTED_MODULE_1__.of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbmNhdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUMwQjtBQUN5QjtBQUM1QztBQUNQO0FBQ0EscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBO0FBQ0EsV0FBVywrREFBUyxHQUFHLG1DQUFFO0FBQ3pCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9jb25jYXQuanM/NmJlMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9vZixfb3BlcmF0b3JzX2NvbmNhdEFsbCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBvZiB9IGZyb20gJy4vb2YnO1xuaW1wb3J0IHsgY29uY2F0QWxsIH0gZnJvbSAnLi4vb3BlcmF0b3JzL2NvbmNhdEFsbCc7XG5leHBvcnQgZnVuY3Rpb24gY29uY2F0KCkge1xuICAgIHZhciBvYnNlcnZhYmxlcyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIG9ic2VydmFibGVzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBjb25jYXRBbGwoKShvZi5hcHBseSh2b2lkIDAsIG9ic2VydmFibGVzKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25jYXQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/concat.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/defer.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/defer.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defer: function() { return /* binding */ defer; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\n\n\n\nfunction defer(observableFactory) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = input ? (0,_from__WEBPACK_IMPORTED_MODULE_1__.from)(input) : (0,_empty__WEBPACK_IMPORTED_MODULE_2__.empty)();\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2RlZmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNiO0FBQ0U7QUFDekI7QUFDUCxlQUFlLG1EQUFVO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsMkNBQUksVUFBVSw2Q0FBSztBQUNoRDtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvZGVmZXIuanM/NDZmMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlLF9mcm9tLF9lbXB0eSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi9mcm9tJztcbmltcG9ydCB7IGVtcHR5IH0gZnJvbSAnLi9lbXB0eSc7XG5leHBvcnQgZnVuY3Rpb24gZGVmZXIob2JzZXJ2YWJsZUZhY3RvcnkpIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIGlucHV0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaW5wdXQgPSBvYnNlcnZhYmxlRmFjdG9yeSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNvdXJjZSA9IGlucHV0ID8gZnJvbShpbnB1dCkgOiBlbXB0eSgpO1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlZmVyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/defer.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/empty.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/empty.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EMPTY: function() { return /* binding */ EMPTY; },\n/* harmony export */ empty: function() { return /* binding */ empty; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\n\nvar EMPTY = /*@__PURE__*/ new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) { return subscriber.complete(); });\nfunction empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2VtcHR5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQzJDO0FBQ3BDLDhCQUE4QixtREFBVSx5QkFBeUIsK0JBQStCO0FBQ2hHO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtREFBVSx5QkFBeUIsd0NBQXdDLCtCQUErQixJQUFJO0FBQzdIO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9lbXB0eS5qcz9mNDM3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuZXhwb3J0IHZhciBFTVBUWSA9IC8qQF9fUFVSRV9fKi8gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHsgcmV0dXJuIHN1YnNjcmliZXIuY29tcGxldGUoKTsgfSk7XG5leHBvcnQgZnVuY3Rpb24gZW1wdHkoc2NoZWR1bGVyKSB7XG4gICAgcmV0dXJuIHNjaGVkdWxlciA/IGVtcHR5U2NoZWR1bGVkKHNjaGVkdWxlcikgOiBFTVBUWTtcbn1cbmZ1bmN0aW9uIGVtcHR5U2NoZWR1bGVkKHNjaGVkdWxlcikge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikgeyByZXR1cm4gc2NoZWR1bGVyLnNjaGVkdWxlKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHN1YnNjcmliZXIuY29tcGxldGUoKTsgfSk7IH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW1wdHkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/empty.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/forkJoin.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/forkJoin.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ forkJoin: function() { return /* binding */ forkJoin; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../operators/map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isObject */ \"./node_modules/rxjs/_esm5/internal/util/isObject.js\");\n/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/** PURE_IMPORTS_START _Observable,_util_isArray,_operators_map,_util_isObject,_from PURE_IMPORTS_END */\n\n\n\n\n\nfunction forkJoin() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 1) {\n var first_1 = sources[0];\n if ((0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(first_1)) {\n return forkJoinInternal(first_1, null);\n }\n if ((0,_util_isObject__WEBPACK_IMPORTED_MODULE_1__.isObject)(first_1) && Object.getPrototypeOf(first_1) === Object.prototype) {\n var keys = Object.keys(first_1);\n return forkJoinInternal(keys.map(function (key) { return first_1[key]; }), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n var resultSelector_1 = sources.pop();\n sources = (sources.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe((0,_operators_map__WEBPACK_IMPORTED_MODULE_2__.map)(function (args) { return resultSelector_1.apply(void 0, args); }));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_3__.Observable(function (subscriber) {\n var len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n var values = new Array(len);\n var completed = 0;\n var emitted = 0;\n var _loop_1 = function (i) {\n var source = (0,_from__WEBPACK_IMPORTED_MODULE_4__.from)(sources[i]);\n var hasValue = false;\n subscriber.add(source.subscribe({\n next: function (value) {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: function (err) { return subscriber.error(err); },\n complete: function () {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce(function (result, key, i) { return (result[key] = values[i], result); }, {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n };\n for (var i = 0; i < len; i++) {\n _loop_1(i);\n }\n });\n}\n//# sourceMappingURL=forkJoin.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2ZvcmtKb2luLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQzJDO0FBQ0Q7QUFDSDtBQUNLO0FBQ2Q7QUFDdkI7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHNEQUFPO0FBQ25CO0FBQ0E7QUFDQSxZQUFZLHdEQUFRO0FBQ3BCO0FBQ0EsOERBQThELHNCQUFzQjtBQUNwRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxzREFBTztBQUNsRCxvREFBb0QsbURBQUcsbUJBQW1CLDhDQUE4QztBQUN4SDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbURBQVU7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLDJDQUFJO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsd0NBQXdDLCtCQUErQjtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0VBQXdFLDJDQUEyQyxJQUFJO0FBQ3ZIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSx3QkFBd0IsU0FBUztBQUNqQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9mb3JrSm9pbi5qcz80ZDNkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX3V0aWxfaXNBcnJheSxfb3BlcmF0b3JzX21hcCxfdXRpbF9pc09iamVjdCxfZnJvbSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbC9pc0FycmF5JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJy4uL29wZXJhdG9ycy9tYXAnO1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICcuLi91dGlsL2lzT2JqZWN0JztcbmltcG9ydCB7IGZyb20gfSBmcm9tICcuL2Zyb20nO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcmtKb2luKCkge1xuICAgIHZhciBzb3VyY2VzID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgc291cmNlc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgIH1cbiAgICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdmFyIGZpcnN0XzEgPSBzb3VyY2VzWzBdO1xuICAgICAgICBpZiAoaXNBcnJheShmaXJzdF8xKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luSW50ZXJuYWwoZmlyc3RfMSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KGZpcnN0XzEpICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihmaXJzdF8xKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgICAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhmaXJzdF8xKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbkludGVybmFsKGtleXMubWFwKGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGZpcnN0XzFba2V5XTsgfSksIGtleXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygc291cmNlc1tzb3VyY2VzLmxlbmd0aCAtIDFdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhciByZXN1bHRTZWxlY3Rvcl8xID0gc291cmNlcy5wb3AoKTtcbiAgICAgICAgc291cmNlcyA9IChzb3VyY2VzLmxlbmd0aCA9PT0gMSAmJiBpc0FycmF5KHNvdXJjZXNbMF0pKSA/IHNvdXJjZXNbMF0gOiBzb3VyY2VzO1xuICAgICAgICByZXR1cm4gZm9ya0pvaW5JbnRlcm5hbChzb3VyY2VzLCBudWxsKS5waXBlKG1hcChmdW5jdGlvbiAoYXJncykgeyByZXR1cm4gcmVzdWx0U2VsZWN0b3JfMS5hcHBseSh2b2lkIDAsIGFyZ3MpOyB9KSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JrSm9pbkludGVybmFsKHNvdXJjZXMsIG51bGwpO1xufVxuZnVuY3Rpb24gZm9ya0pvaW5JbnRlcm5hbChzb3VyY2VzLCBrZXlzKSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBsZW4gPSBzb3VyY2VzLmxlbmd0aDtcbiAgICAgICAgaWYgKGxlbiA9PT0gMCkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciB2YWx1ZXMgPSBuZXcgQXJyYXkobGVuKTtcbiAgICAgICAgdmFyIGNvbXBsZXRlZCA9IDA7XG4gICAgICAgIHZhciBlbWl0dGVkID0gMDtcbiAgICAgICAgdmFyIF9sb29wXzEgPSBmdW5jdGlvbiAoaSkge1xuICAgICAgICAgICAgdmFyIHNvdXJjZSA9IGZyb20oc291cmNlc1tpXSk7XG4gICAgICAgICAgICB2YXIgaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuYWRkKHNvdXJjZS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbWl0dGVkKys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzW2ldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKGVycikgeyByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlcnIpOyB9LFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZCsrO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVkID09PSBsZW4gfHwgIWhhc1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW1pdHRlZCA9PT0gbGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGtleXMgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzLnJlZHVjZShmdW5jdGlvbiAocmVzdWx0LCBrZXksIGkpIHsgcmV0dXJuIChyZXN1bHRba2V5XSA9IHZhbHVlc1tpXSwgcmVzdWx0KTsgfSwge30pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgX2xvb3BfMShpKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ya0pvaW4uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/forkJoin.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/from.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/from.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ from: function() { return /* binding */ from; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/subscribeTo */ \"./node_modules/rxjs/_esm5/internal/util/subscribeTo.js\");\n/* harmony import */ var _scheduled_scheduled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scheduled/scheduled */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js\");\n/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\n\n\n\nfunction from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable) {\n return input;\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable((0,_util_subscribeTo__WEBPACK_IMPORTED_MODULE_1__.subscribeTo)(input));\n }\n else {\n return (0,_scheduled_scheduled__WEBPACK_IMPORTED_MODULE_2__.scheduled)(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQzJDO0FBQ087QUFDQztBQUM1QztBQUNQO0FBQ0EsNkJBQTZCLG1EQUFVO0FBQ3ZDO0FBQ0E7QUFDQSxtQkFBbUIsbURBQVUsQ0FBQyw4REFBVztBQUN6QztBQUNBO0FBQ0EsZUFBZSwrREFBUztBQUN4QjtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9mcm9tLmpzPzY4Y2UiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfT2JzZXJ2YWJsZSxfdXRpbF9zdWJzY3JpYmVUbyxfc2NoZWR1bGVkX3NjaGVkdWxlZCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBzdWJzY3JpYmVUbyB9IGZyb20gJy4uL3V0aWwvc3Vic2NyaWJlVG8nO1xuaW1wb3J0IHsgc2NoZWR1bGVkIH0gZnJvbSAnLi4vc2NoZWR1bGVkL3NjaGVkdWxlZCc7XG5leHBvcnQgZnVuY3Rpb24gZnJvbShpbnB1dCwgc2NoZWR1bGVyKSB7XG4gICAgaWYgKCFzY2hlZHVsZXIpIHtcbiAgICAgICAgaWYgKGlucHV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGlucHV0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVUbyhpbnB1dCkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlZChpbnB1dCwgc2NoZWR1bGVyKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mcm9tLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/from.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/fromArray.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/fromArray.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fromArray: function() { return /* binding */ fromArray; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_subscribeToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/subscribeToArray */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js\");\n/* harmony import */ var _scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scheduled/scheduleArray */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js\");\n/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\n\n\n\nfunction fromArray(input, scheduler) {\n if (!scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable((0,_util_subscribeToArray__WEBPACK_IMPORTED_MODULE_1__.subscribeToArray)(input));\n }\n else {\n return (0,_scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_2__.scheduleArray)(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21BcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDMkM7QUFDaUI7QUFDRDtBQUNwRDtBQUNQO0FBQ0EsbUJBQW1CLG1EQUFVLENBQUMsd0VBQWdCO0FBQzlDO0FBQ0E7QUFDQSxlQUFlLHVFQUFhO0FBQzVCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21BcnJheS5qcz8yYzUyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX3V0aWxfc3Vic2NyaWJlVG9BcnJheSxfc2NoZWR1bGVkX3NjaGVkdWxlQXJyYXkgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG9BcnJheSB9IGZyb20gJy4uL3V0aWwvc3Vic2NyaWJlVG9BcnJheSc7XG5pbXBvcnQgeyBzY2hlZHVsZUFycmF5IH0gZnJvbSAnLi4vc2NoZWR1bGVkL3NjaGVkdWxlQXJyYXknO1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21BcnJheShpbnB1dCwgc2NoZWR1bGVyKSB7XG4gICAgaWYgKCFzY2hlZHVsZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZVRvQXJyYXkoaW5wdXQpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzY2hlZHVsZUFycmF5KGlucHV0LCBzY2hlZHVsZXIpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZyb21BcnJheS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/fromArray.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/fromEvent.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/fromEvent.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fromEvent: function() { return /* binding */ fromEvent; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isFunction */ \"./node_modules/rxjs/_esm5/internal/util/isFunction.js\");\n/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../operators/map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\n\n\n\n\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nfunction fromEvent(target, eventName, options, resultSelector) {\n if ((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.isFunction)(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe((0,_operators_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (args) { return (0,_util_isArray__WEBPACK_IMPORTED_MODULE_2__.isArray)(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_3__.Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21FdmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQzJDO0FBQ0Q7QUFDTTtBQUNUO0FBQ3ZDLDRDQUE0QyxtQ0FBbUM7QUFDeEU7QUFDUCxRQUFRLDREQUFVO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELG1EQUFHLG1CQUFtQixPQUFPLHNEQUFPLHFFQUFxRTtBQUNuSztBQUNBLGVBQWUsbURBQVU7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvZnJvbUV2ZW50LmpzPzQ3ZWIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfT2JzZXJ2YWJsZSxfdXRpbF9pc0FycmF5LF91dGlsX2lzRnVuY3Rpb24sX29wZXJhdG9yc19tYXAgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL3V0aWwvaXNBcnJheSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vdXRpbC9pc0Z1bmN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJy4uL29wZXJhdG9ycy9tYXAnO1xudmFyIHRvU3RyaW5nID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgfSkoKTtcbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnQodGFyZ2V0LCBldmVudE5hbWUsIG9wdGlvbnMsIHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24ob3B0aW9ucykpIHtcbiAgICAgICAgcmVzdWx0U2VsZWN0b3IgPSBvcHRpb25zO1xuICAgICAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAocmVzdWx0U2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudCh0YXJnZXQsIGV2ZW50TmFtZSwgb3B0aW9ucykucGlwZShtYXAoZnVuY3Rpb24gKGFyZ3MpIHsgcmV0dXJuIGlzQXJyYXkoYXJncykgPyByZXN1bHRTZWxlY3Rvci5hcHBseSh2b2lkIDAsIGFyZ3MpIDogcmVzdWx0U2VsZWN0b3IoYXJncyk7IH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZSkge1xuICAgICAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNldHVwU3Vic2NyaXB0aW9uKHRhcmdldCwgZXZlbnROYW1lLCBoYW5kbGVyLCBzdWJzY3JpYmVyLCBvcHRpb25zKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHNldHVwU3Vic2NyaXB0aW9uKHNvdXJjZU9iaiwgZXZlbnROYW1lLCBoYW5kbGVyLCBzdWJzY3JpYmVyLCBvcHRpb25zKSB7XG4gICAgdmFyIHVuc3Vic2NyaWJlO1xuICAgIGlmIChpc0V2ZW50VGFyZ2V0KHNvdXJjZU9iaikpIHtcbiAgICAgICAgdmFyIHNvdXJjZV8xID0gc291cmNlT2JqO1xuICAgICAgICBzb3VyY2VPYmouYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGhhbmRsZXIsIG9wdGlvbnMpO1xuICAgICAgICB1bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNvdXJjZV8xLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCBvcHRpb25zKTsgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNKUXVlcnlTdHlsZUV2ZW50RW1pdHRlcihzb3VyY2VPYmopKSB7XG4gICAgICAgIHZhciBzb3VyY2VfMiA9IHNvdXJjZU9iajtcbiAgICAgICAgc291cmNlT2JqLm9uKGV2ZW50TmFtZSwgaGFuZGxlcik7XG4gICAgICAgIHVuc3Vic2NyaWJlID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gc291cmNlXzIub2ZmKGV2ZW50TmFtZSwgaGFuZGxlcik7IH07XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTm9kZVN0eWxlRXZlbnRFbWl0dGVyKHNvdXJjZU9iaikpIHtcbiAgICAgICAgdmFyIHNvdXJjZV8zID0gc291cmNlT2JqO1xuICAgICAgICBzb3VyY2VPYmouYWRkTGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTtcbiAgICAgICAgdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBzb3VyY2VfMy5yZW1vdmVMaXN0ZW5lcihldmVudE5hbWUsIGhhbmRsZXIpOyB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChzb3VyY2VPYmogJiYgc291cmNlT2JqLmxlbmd0aCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gc291cmNlT2JqLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBzZXR1cFN1YnNjcmlwdGlvbihzb3VyY2VPYmpbaV0sIGV2ZW50TmFtZSwgaGFuZGxlciwgc3Vic2NyaWJlciwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgZXZlbnQgdGFyZ2V0Jyk7XG4gICAgfVxuICAgIHN1YnNjcmliZXIuYWRkKHVuc3Vic2NyaWJlKTtcbn1cbmZ1bmN0aW9uIGlzTm9kZVN0eWxlRXZlbnRFbWl0dGVyKHNvdXJjZU9iaikge1xuICAgIHJldHVybiBzb3VyY2VPYmogJiYgdHlwZW9mIHNvdXJjZU9iai5hZGRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2Ygc291cmNlT2JqLnJlbW92ZUxpc3RlbmVyID09PSAnZnVuY3Rpb24nO1xufVxuZnVuY3Rpb24gaXNKUXVlcnlTdHlsZUV2ZW50RW1pdHRlcihzb3VyY2VPYmopIHtcbiAgICByZXR1cm4gc291cmNlT2JqICYmIHR5cGVvZiBzb3VyY2VPYmoub24gPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHNvdXJjZU9iai5vZmYgPT09ICdmdW5jdGlvbic7XG59XG5mdW5jdGlvbiBpc0V2ZW50VGFyZ2V0KHNvdXJjZU9iaikge1xuICAgIHJldHVybiBzb3VyY2VPYmogJiYgdHlwZW9mIHNvdXJjZU9iai5hZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBzb3VyY2VPYmoucmVtb3ZlRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZyb21FdmVudC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/fromEvent.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js": -/*!*************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fromEventPattern: function() { return /* binding */ fromEventPattern; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/isFunction */ \"./node_modules/rxjs/_esm5/internal/util/isFunction.js\");\n/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../operators/map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\n\n\n\n\nfunction fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe((0,_operators_map__WEBPACK_IMPORTED_MODULE_0__.map)(function (args) { return (0,_util_isArray__WEBPACK_IMPORTED_MODULE_1__.isArray)(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_2__.Observable(function (subscriber) {\n var handler = function () {\n var e = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n e[_i] = arguments[_i];\n }\n return subscriber.next(e.length === 1 ? e[0] : e);\n };\n var retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_3__.isFunction)(removeHandler)) {\n return undefined;\n }\n return function () { return removeHandler(handler, retValue); };\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21FdmVudFBhdHRlcm4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUMyQztBQUNEO0FBQ007QUFDVDtBQUNoQztBQUNQO0FBQ0EsZ0VBQWdFLG1EQUFHLG1CQUFtQixPQUFPLHNEQUFPLHFFQUFxRTtBQUN6SztBQUNBLGVBQWUsbURBQVU7QUFDekI7QUFDQTtBQUNBLDZCQUE2Qix1QkFBdUI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSw0REFBVTtBQUN2QjtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvZnJvbUV2ZW50UGF0dGVybi5qcz84N2FlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX3V0aWxfaXNBcnJheSxfdXRpbF9pc0Z1bmN0aW9uLF9vcGVyYXRvcnNfbWFwIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlsL2lzQXJyYXknO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuLi9vcGVyYXRvcnMvbWFwJztcbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnRQYXR0ZXJuKGFkZEhhbmRsZXIsIHJlbW92ZUhhbmRsZXIsIHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgaWYgKHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnRQYXR0ZXJuKGFkZEhhbmRsZXIsIHJlbW92ZUhhbmRsZXIpLnBpcGUobWFwKGZ1bmN0aW9uIChhcmdzKSB7IHJldHVybiBpc0FycmF5KGFyZ3MpID8gcmVzdWx0U2VsZWN0b3IuYXBwbHkodm9pZCAwLCBhcmdzKSA6IHJlc3VsdFNlbGVjdG9yKGFyZ3MpOyB9KSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBlID0gW107XG4gICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgIGVbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdWJzY3JpYmVyLm5leHQoZS5sZW5ndGggPT09IDEgPyBlWzBdIDogZSk7XG4gICAgICAgIH07XG4gICAgICAgIHZhciByZXRWYWx1ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldFZhbHVlID0gYWRkSGFuZGxlcihoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNGdW5jdGlvbihyZW1vdmVIYW5kbGVyKSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVtb3ZlSGFuZGxlcihoYW5kbGVyLCByZXRWYWx1ZSk7IH07XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mcm9tRXZlbnRQYXR0ZXJuLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/generate.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/generate.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generate: function() { return /* binding */ generate; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */\n\n\n\nfunction generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n var resultSelector;\n var initialState;\n if (arguments.length == 1) {\n var options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || _util_identity__WEBPACK_IMPORTED_MODULE_0__.identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || (0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = _util_identity__WEBPACK_IMPORTED_MODULE_0__.identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_2__.Observable(function (subscriber) {\n var state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber: subscriber,\n iterate: iterate,\n condition: condition,\n resultSelector: resultSelector,\n state: state\n });\n }\n do {\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n var value = void 0;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n } while (true);\n return undefined;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, condition = state.condition;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n var value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n//# sourceMappingURL=generate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2dlbmVyYXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNDO0FBQ007QUFDM0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxvREFBUTtBQUMzRDtBQUNBO0FBQ0EseURBQXlELDhEQUFXO0FBQ3BFO0FBQ0EseUJBQXlCLG9EQUFRO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbURBQVU7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9nZW5lcmF0ZS5qcz82MzZjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX3V0aWxfaWRlbnRpdHksX3V0aWxfaXNTY2hlZHVsZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuLi91dGlsL2lkZW50aXR5JztcbmltcG9ydCB7IGlzU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9pc1NjaGVkdWxlcic7XG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGUoaW5pdGlhbFN0YXRlT3JPcHRpb25zLCBjb25kaXRpb24sIGl0ZXJhdGUsIHJlc3VsdFNlbGVjdG9yT3JPYnNlcnZhYmxlLCBzY2hlZHVsZXIpIHtcbiAgICB2YXIgcmVzdWx0U2VsZWN0b3I7XG4gICAgdmFyIGluaXRpYWxTdGF0ZTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgIHZhciBvcHRpb25zID0gaW5pdGlhbFN0YXRlT3JPcHRpb25zO1xuICAgICAgICBpbml0aWFsU3RhdGUgPSBvcHRpb25zLmluaXRpYWxTdGF0ZTtcbiAgICAgICAgY29uZGl0aW9uID0gb3B0aW9ucy5jb25kaXRpb247XG4gICAgICAgIGl0ZXJhdGUgPSBvcHRpb25zLml0ZXJhdGU7XG4gICAgICAgIHJlc3VsdFNlbGVjdG9yID0gb3B0aW9ucy5yZXN1bHRTZWxlY3RvciB8fCBpZGVudGl0eTtcbiAgICAgICAgc2NoZWR1bGVyID0gb3B0aW9ucy5zY2hlZHVsZXI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHJlc3VsdFNlbGVjdG9yT3JPYnNlcnZhYmxlID09PSB1bmRlZmluZWQgfHwgaXNTY2hlZHVsZXIocmVzdWx0U2VsZWN0b3JPck9ic2VydmFibGUpKSB7XG4gICAgICAgIGluaXRpYWxTdGF0ZSA9IGluaXRpYWxTdGF0ZU9yT3B0aW9ucztcbiAgICAgICAgcmVzdWx0U2VsZWN0b3IgPSBpZGVudGl0eTtcbiAgICAgICAgc2NoZWR1bGVyID0gcmVzdWx0U2VsZWN0b3JPck9ic2VydmFibGU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGVPck9wdGlvbnM7XG4gICAgICAgIHJlc3VsdFNlbGVjdG9yID0gcmVzdWx0U2VsZWN0b3JPck9ic2VydmFibGU7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB2YXIgc3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gICAgICAgIGlmIChzY2hlZHVsZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBzY2hlZHVsZXIuc2NoZWR1bGUoZGlzcGF0Y2gsIDAsIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyOiBzdWJzY3JpYmVyLFxuICAgICAgICAgICAgICAgIGl0ZXJhdGU6IGl0ZXJhdGUsXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXG4gICAgICAgICAgICAgICAgcmVzdWx0U2VsZWN0b3I6IHJlc3VsdFNlbGVjdG9yLFxuICAgICAgICAgICAgICAgIHN0YXRlOiBzdGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgICAgIHZhciBjb25kaXRpb25SZXN1bHQgPSB2b2lkIDA7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uUmVzdWx0ID0gY29uZGl0aW9uKHN0YXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHZhbHVlID0gdm9pZCAwO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHJlc3VsdFNlbGVjdG9yKHN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoc3Vic2NyaWJlci5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgc3RhdGUgPSBpdGVyYXRlKHN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSB3aGlsZSAodHJ1ZSk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBkaXNwYXRjaChzdGF0ZSkge1xuICAgIHZhciBzdWJzY3JpYmVyID0gc3RhdGUuc3Vic2NyaWJlciwgY29uZGl0aW9uID0gc3RhdGUuY29uZGl0aW9uO1xuICAgIGlmIChzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoc3RhdGUubmVlZEl0ZXJhdGUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXRlLnN0YXRlID0gc3RhdGUuaXRlcmF0ZShzdGF0ZS5zdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc3RhdGUubmVlZEl0ZXJhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgIHZhciBjb25kaXRpb25SZXN1bHQgPSB2b2lkIDA7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25kaXRpb25SZXN1bHQgPSBjb25kaXRpb24oc3RhdGUuc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjb25kaXRpb25SZXN1bHQpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciB2YWx1ZTtcbiAgICB0cnkge1xuICAgICAgICB2YWx1ZSA9IHN0YXRlLnJlc3VsdFNlbGVjdG9yKHN0YXRlLnN0YXRlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgIGlmIChzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zY2hlZHVsZShzdGF0ZSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZW5lcmF0ZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/generate.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/iif.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/iif.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ iif: function() { return /* binding */ iif; }\n/* harmony export */ });\n/* harmony import */ var _defer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defer */ \"./node_modules/rxjs/_esm5/internal/observable/defer.js\");\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START _defer,_empty PURE_IMPORTS_END */\n\n\nfunction iif(condition, trueResult, falseResult) {\n if (trueResult === void 0) {\n trueResult = _empty__WEBPACK_IMPORTED_MODULE_0__.EMPTY;\n }\n if (falseResult === void 0) {\n falseResult = _empty__WEBPACK_IMPORTED_MODULE_0__.EMPTY;\n }\n return (0,_defer__WEBPACK_IMPORTED_MODULE_1__.defer)(function () { return condition() ? trueResult : falseResult; });\n}\n//# sourceMappingURL=iif.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2lpZi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNnQztBQUNBO0FBQ3pCO0FBQ1A7QUFDQSxxQkFBcUIseUNBQUs7QUFDMUI7QUFDQTtBQUNBLHNCQUFzQix5Q0FBSztBQUMzQjtBQUNBLFdBQVcsNkNBQUssZUFBZSxnREFBZ0Q7QUFDL0U7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2lpZi5qcz81MDhmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX2RlZmVyLF9lbXB0eSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBkZWZlciB9IGZyb20gJy4vZGVmZXInO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICcuL2VtcHR5JztcbmV4cG9ydCBmdW5jdGlvbiBpaWYoY29uZGl0aW9uLCB0cnVlUmVzdWx0LCBmYWxzZVJlc3VsdCkge1xuICAgIGlmICh0cnVlUmVzdWx0ID09PSB2b2lkIDApIHtcbiAgICAgICAgdHJ1ZVJlc3VsdCA9IEVNUFRZO1xuICAgIH1cbiAgICBpZiAoZmFsc2VSZXN1bHQgPT09IHZvaWQgMCkge1xuICAgICAgICBmYWxzZVJlc3VsdCA9IEVNUFRZO1xuICAgIH1cbiAgICByZXR1cm4gZGVmZXIoZnVuY3Rpb24gKCkgeyByZXR1cm4gY29uZGl0aW9uKCkgPyB0cnVlUmVzdWx0IDogZmFsc2VSZXN1bHQ7IH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWlmLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/iif.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/interval.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/interval.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ interval: function() { return /* binding */ interval; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isNumeric */ \"./node_modules/rxjs/_esm5/internal/util/isNumeric.js\");\n/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric PURE_IMPORTS_END */\n\n\n\nfunction interval(period, scheduler) {\n if (period === void 0) {\n period = 0;\n }\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n if (!(0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(period) || period < 0) {\n period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_2__.Observable(function (subscriber) {\n subscriber.add(scheduler.schedule(dispatch, period, { subscriber: subscriber, counter: 0, period: period }));\n return subscriber;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, counter = state.counter, period = state.period;\n subscriber.next(counter);\n this.schedule({ subscriber: subscriber, counter: counter + 1, period: period }, period);\n}\n//# sourceMappingURL=interval.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL2ludGVydmFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNBO0FBQ0c7QUFDdkM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtREFBSztBQUN6QjtBQUNBLFNBQVMsMERBQVM7QUFDbEI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG1EQUFLO0FBQ3pCO0FBQ0EsZUFBZSxtREFBVTtBQUN6Qiw4REFBOEQsb0RBQW9EO0FBQ2xIO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhEQUE4RDtBQUNsRjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvaW50ZXJ2YWwuanM/NWY3NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlLF9zY2hlZHVsZXJfYXN5bmMsX3V0aWxfaXNOdW1lcmljIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGFzeW5jIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IGlzTnVtZXJpYyB9IGZyb20gJy4uL3V0aWwvaXNOdW1lcmljJztcbmV4cG9ydCBmdW5jdGlvbiBpbnRlcnZhbChwZXJpb2QsIHNjaGVkdWxlcikge1xuICAgIGlmIChwZXJpb2QgPT09IHZvaWQgMCkge1xuICAgICAgICBwZXJpb2QgPSAwO1xuICAgIH1cbiAgICBpZiAoc2NoZWR1bGVyID09PSB2b2lkIDApIHtcbiAgICAgICAgc2NoZWR1bGVyID0gYXN5bmM7XG4gICAgfVxuICAgIGlmICghaXNOdW1lcmljKHBlcmlvZCkgfHwgcGVyaW9kIDwgMCkge1xuICAgICAgICBwZXJpb2QgPSAwO1xuICAgIH1cbiAgICBpZiAoIXNjaGVkdWxlciB8fCB0eXBlb2Ygc2NoZWR1bGVyLnNjaGVkdWxlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IGFzeW5jO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgc3Vic2NyaWJlci5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoLCBwZXJpb2QsIHsgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgY291bnRlcjogMCwgcGVyaW9kOiBwZXJpb2QgfSkpO1xuICAgICAgICByZXR1cm4gc3Vic2NyaWJlcjtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoKHN0YXRlKSB7XG4gICAgdmFyIHN1YnNjcmliZXIgPSBzdGF0ZS5zdWJzY3JpYmVyLCBjb3VudGVyID0gc3RhdGUuY291bnRlciwgcGVyaW9kID0gc3RhdGUucGVyaW9kO1xuICAgIHN1YnNjcmliZXIubmV4dChjb3VudGVyKTtcbiAgICB0aGlzLnNjaGVkdWxlKHsgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgY291bnRlcjogY291bnRlciArIDEsIHBlcmlvZDogcGVyaW9kIH0sIHBlcmlvZCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcnZhbC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/interval.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/merge.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/merge.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ merge: function() { return /* binding */ merge; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/* harmony import */ var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../operators/mergeAll */ \"./node_modules/rxjs/_esm5/internal/operators/mergeAll.js\");\n/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fromArray */ \"./node_modules/rxjs/_esm5/internal/observable/fromArray.js\");\n/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\n\n\n\n\nfunction merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_0__.isScheduler)(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof _Observable__WEBPACK_IMPORTED_MODULE_1__.Observable) {\n return observables[0];\n }\n return (0,_operators_mergeAll__WEBPACK_IMPORTED_MODULE_2__.mergeAll)(concurrent)((0,_fromArray__WEBPACK_IMPORTED_MODULE_3__.fromArray)(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL21lcmdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDMkM7QUFDTztBQUNEO0FBQ1Q7QUFDakM7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsOERBQVc7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9GQUFvRixtREFBVTtBQUM5RjtBQUNBO0FBQ0EsV0FBVyw2REFBUSxhQUFhLHFEQUFTO0FBQ3pDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9tZXJnZS5qcz9kMmVkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX3V0aWxfaXNTY2hlZHVsZXIsX29wZXJhdG9yc19tZXJnZUFsbCxfZnJvbUFycmF5IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGlzU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9pc1NjaGVkdWxlcic7XG5pbXBvcnQgeyBtZXJnZUFsbCB9IGZyb20gJy4uL29wZXJhdG9ycy9tZXJnZUFsbCc7XG5pbXBvcnQgeyBmcm9tQXJyYXkgfSBmcm9tICcuL2Zyb21BcnJheSc7XG5leHBvcnQgZnVuY3Rpb24gbWVyZ2UoKSB7XG4gICAgdmFyIG9ic2VydmFibGVzID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgb2JzZXJ2YWJsZXNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgdmFyIGNvbmN1cnJlbnQgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gICAgdmFyIHNjaGVkdWxlciA9IG51bGw7XG4gICAgdmFyIGxhc3QgPSBvYnNlcnZhYmxlc1tvYnNlcnZhYmxlcy5sZW5ndGggLSAxXTtcbiAgICBpZiAoaXNTY2hlZHVsZXIobGFzdCkpIHtcbiAgICAgICAgc2NoZWR1bGVyID0gb2JzZXJ2YWJsZXMucG9wKCk7XG4gICAgICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGggPiAxICYmIHR5cGVvZiBvYnNlcnZhYmxlc1tvYnNlcnZhYmxlcy5sZW5ndGggLSAxXSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGNvbmN1cnJlbnQgPSBvYnNlcnZhYmxlcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgbGFzdCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uY3VycmVudCA9IG9ic2VydmFibGVzLnBvcCgpO1xuICAgIH1cbiAgICBpZiAoc2NoZWR1bGVyID09PSBudWxsICYmIG9ic2VydmFibGVzLmxlbmd0aCA9PT0gMSAmJiBvYnNlcnZhYmxlc1swXSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGVzWzBdO1xuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VBbGwoY29uY3VycmVudCkoZnJvbUFycmF5KG9ic2VydmFibGVzLCBzY2hlZHVsZXIpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1lcmdlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/merge.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/never.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/never.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NEVER: function() { return /* binding */ NEVER; },\n/* harmony export */ never: function() { return /* binding */ never; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/noop */ \"./node_modules/rxjs/_esm5/internal/util/noop.js\");\n/** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */\n\n\nvar NEVER = /*@__PURE__*/ new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(_util_noop__WEBPACK_IMPORTED_MODULE_1__.noop);\nfunction never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL25ldmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNQO0FBQzdCLDhCQUE4QixtREFBVSxDQUFDLDRDQUFJO0FBQzdDO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvbmV2ZXIuanM/YzZjNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlLF91dGlsX25vb3AgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL3V0aWwvbm9vcCc7XG5leHBvcnQgdmFyIE5FVkVSID0gLypAX19QVVJFX18qLyBuZXcgT2JzZXJ2YWJsZShub29wKTtcbmV4cG9ydCBmdW5jdGlvbiBuZXZlcigpIHtcbiAgICByZXR1cm4gTkVWRVI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1uZXZlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/never.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/of.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/of.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ of: function() { return /* binding */ of; }\n/* harmony export */ });\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fromArray */ \"./node_modules/rxjs/_esm5/internal/observable/fromArray.js\");\n/* harmony import */ var _scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scheduled/scheduleArray */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js\");\n/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\n\n\n\nfunction of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_0__.isScheduler)(scheduler)) {\n args.pop();\n return (0,_scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_1__.scheduleArray)(args, scheduler);\n }\n else {\n return (0,_fromArray__WEBPACK_IMPORTED_MODULE_2__.fromArray)(args);\n }\n}\n//# sourceMappingURL=of.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL29mLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNrRDtBQUNWO0FBQ21CO0FBQ3BEO0FBQ1A7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLFFBQVEsOERBQVc7QUFDbkI7QUFDQSxlQUFlLHVFQUFhO0FBQzVCO0FBQ0E7QUFDQSxlQUFlLHFEQUFTO0FBQ3hCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL29mLmpzPzI4ZDciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfdXRpbF9pc1NjaGVkdWxlcixfZnJvbUFycmF5LF9zY2hlZHVsZWRfc2NoZWR1bGVBcnJheSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBpc1NjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvaXNTY2hlZHVsZXInO1xuaW1wb3J0IHsgZnJvbUFycmF5IH0gZnJvbSAnLi9mcm9tQXJyYXknO1xuaW1wb3J0IHsgc2NoZWR1bGVBcnJheSB9IGZyb20gJy4uL3NjaGVkdWxlZC9zY2hlZHVsZUFycmF5JztcbmV4cG9ydCBmdW5jdGlvbiBvZigpIHtcbiAgICB2YXIgYXJncyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgdmFyIHNjaGVkdWxlciA9IGFyZ3NbYXJncy5sZW5ndGggLSAxXTtcbiAgICBpZiAoaXNTY2hlZHVsZXIoc2NoZWR1bGVyKSkge1xuICAgICAgICBhcmdzLnBvcCgpO1xuICAgICAgICByZXR1cm4gc2NoZWR1bGVBcnJheShhcmdzLCBzY2hlZHVsZXIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZyb21BcnJheShhcmdzKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1vZi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/of.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js": -/*!**************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ onErrorResumeNext: function() { return /* binding */ onErrorResumeNext; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START _Observable,_from,_util_isArray,_empty PURE_IMPORTS_END */\n\n\n\n\nfunction onErrorResumeNext() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 0) {\n return _empty__WEBPACK_IMPORTED_MODULE_0__.EMPTY;\n }\n var first = sources[0], remainder = sources.slice(1);\n if (sources.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_1__.isArray)(first)) {\n return onErrorResumeNext.apply(void 0, first);\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_2__.Observable(function (subscriber) {\n var subNext = function () { return subscriber.add(onErrorResumeNext.apply(void 0, remainder).subscribe(subscriber)); };\n return (0,_from__WEBPACK_IMPORTED_MODULE_3__.from)(first).subscribe({\n next: function (value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\n//# sourceMappingURL=onErrorResumeNext.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL29uRXJyb3JSZXN1bWVOZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDMkM7QUFDYjtBQUNZO0FBQ1Y7QUFDekI7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5Q0FBSztBQUNwQjtBQUNBO0FBQ0EsZ0NBQWdDLHNEQUFPO0FBQ3ZDO0FBQ0E7QUFDQSxlQUFlLG1EQUFVO0FBQ3pCLG9DQUFvQztBQUNwQyxlQUFlLDJDQUFJO0FBQ25CLHFDQUFxQyx5QkFBeUI7QUFDOUQ7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL29uRXJyb3JSZXN1bWVOZXh0LmpzP2JhNjciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfT2JzZXJ2YWJsZSxfZnJvbSxfdXRpbF9pc0FycmF5LF9lbXB0eSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi9mcm9tJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlsL2lzQXJyYXknO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICcuL2VtcHR5JztcbmV4cG9ydCBmdW5jdGlvbiBvbkVycm9yUmVzdW1lTmV4dCgpIHtcbiAgICB2YXIgc291cmNlcyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIHNvdXJjZXNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgaWYgKHNvdXJjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG4gICAgdmFyIGZpcnN0ID0gc291cmNlc1swXSwgcmVtYWluZGVyID0gc291cmNlcy5zbGljZSgxKTtcbiAgICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEgJiYgaXNBcnJheShmaXJzdCkpIHtcbiAgICAgICAgcmV0dXJuIG9uRXJyb3JSZXN1bWVOZXh0LmFwcGx5KHZvaWQgMCwgZmlyc3QpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIHN1Yk5leHQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBzdWJzY3JpYmVyLmFkZChvbkVycm9yUmVzdW1lTmV4dC5hcHBseSh2b2lkIDAsIHJlbWFpbmRlcikuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTsgfTtcbiAgICAgICAgcmV0dXJuIGZyb20oZmlyc3QpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiBmdW5jdGlvbiAodmFsdWUpIHsgc3Vic2NyaWJlci5uZXh0KHZhbHVlKTsgfSxcbiAgICAgICAgICAgIGVycm9yOiBzdWJOZXh0LFxuICAgICAgICAgICAgY29tcGxldGU6IHN1Yk5leHQsXG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b25FcnJvclJlc3VtZU5leHQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/pairs.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/pairs.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dispatch: function() { return /* binding */ dispatch; },\n/* harmony export */ pairs: function() { return /* binding */ pairs; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\n\n\nfunction pairs(obj, scheduler) {\n if (!scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length && !subscriber.closed; i++) {\n var key = keys[i];\n if (obj.hasOwnProperty(key)) {\n subscriber.next([key, obj[key]]);\n }\n }\n subscriber.complete();\n });\n }\n else {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var keys = Object.keys(obj);\n var subscription = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n subscription.add(scheduler.schedule(dispatch, 0, { keys: keys, index: 0, subscriber: subscriber, subscription: subscription, obj: obj }));\n return subscription;\n });\n }\n}\nfunction dispatch(state) {\n var keys = state.keys, index = state.index, subscriber = state.subscriber, subscription = state.subscription, obj = state.obj;\n if (!subscriber.closed) {\n if (index < keys.length) {\n var key = keys[index];\n subscriber.next([key, obj[key]]);\n subscription.add(this.schedule({ keys: keys, index: index + 1, subscriber: subscriber, subscription: subscription, obj: obj }));\n }\n else {\n subscriber.complete();\n }\n }\n}\n//# sourceMappingURL=pairs.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3BhaXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNJO0FBQ3hDO0FBQ1A7QUFDQSxtQkFBbUIsbURBQVU7QUFDN0I7QUFDQSw0QkFBNEIsdUNBQXVDO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsbUJBQW1CLG1EQUFVO0FBQzdCO0FBQ0EsbUNBQW1DLHVEQUFZO0FBQy9DLCtEQUErRCxvRkFBb0Y7QUFDbko7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2Qyw0RkFBNEY7QUFDekk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9wYWlycy5qcz84NTgxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX1N1YnNjcmlwdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuZXhwb3J0IGZ1bmN0aW9uIHBhaXJzKG9iaiwgc2NoZWR1bGVyKSB7XG4gICAgaWYgKCFzY2hlZHVsZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoICYmICFzdWJzY3JpYmVyLmNsb3NlZDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChba2V5LCBvYmpba2V5XV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgICAgICAgICAgIHZhciBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkKHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaCwgMCwgeyBrZXlzOiBrZXlzLCBpbmRleDogMCwgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgc3Vic2NyaXB0aW9uOiBzdWJzY3JpcHRpb24sIG9iajogb2JqIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBkaXNwYXRjaChzdGF0ZSkge1xuICAgIHZhciBrZXlzID0gc3RhdGUua2V5cywgaW5kZXggPSBzdGF0ZS5pbmRleCwgc3Vic2NyaWJlciA9IHN0YXRlLnN1YnNjcmliZXIsIHN1YnNjcmlwdGlvbiA9IHN0YXRlLnN1YnNjcmlwdGlvbiwgb2JqID0gc3RhdGUub2JqO1xuICAgIGlmICghc3Vic2NyaWJlci5jbG9zZWQpIHtcbiAgICAgICAgaWYgKGluZGV4IDwga2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBrZXlzW2luZGV4XTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChba2V5LCBvYmpba2V5XV0pO1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnNjaGVkdWxlKHsga2V5czoga2V5cywgaW5kZXg6IGluZGV4ICsgMSwgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgc3Vic2NyaXB0aW9uOiBzdWJzY3JpcHRpb24sIG9iajogb2JqIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhaXJzLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/pairs.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/partition.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/partition.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ partition: function() { return /* binding */ partition; }\n/* harmony export */ });\n/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/not */ \"./node_modules/rxjs/_esm5/internal/util/not.js\");\n/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/subscribeTo */ \"./node_modules/rxjs/_esm5/internal/util/subscribeTo.js\");\n/* harmony import */ var _operators_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../operators/filter */ \"./node_modules/rxjs/_esm5/internal/operators/filter.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/** PURE_IMPORTS_START _util_not,_util_subscribeTo,_operators_filter,_Observable PURE_IMPORTS_END */\n\n\n\n\nfunction partition(source, predicate, thisArg) {\n return [\n (0,_operators_filter__WEBPACK_IMPORTED_MODULE_0__.filter)(predicate, thisArg)(new _Observable__WEBPACK_IMPORTED_MODULE_1__.Observable((0,_util_subscribeTo__WEBPACK_IMPORTED_MODULE_2__.subscribeTo)(source))),\n (0,_operators_filter__WEBPACK_IMPORTED_MODULE_0__.filter)((0,_util_not__WEBPACK_IMPORTED_MODULE_3__.not)(predicate, thisArg))(new _Observable__WEBPACK_IMPORTED_MODULE_1__.Observable((0,_util_subscribeTo__WEBPACK_IMPORTED_MODULE_2__.subscribeTo)(source)))\n ];\n}\n//# sourceMappingURL=partition.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3BhcnRpdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2tDO0FBQ2dCO0FBQ0w7QUFDRjtBQUNwQztBQUNQO0FBQ0EsUUFBUSx5REFBTSx5QkFBeUIsbURBQVUsQ0FBQyw4REFBVztBQUM3RCxRQUFRLHlEQUFNLENBQUMsOENBQUcsMEJBQTBCLG1EQUFVLENBQUMsOERBQVc7QUFDbEU7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvcGFydGl0aW9uLmpzPzE5ZjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfdXRpbF9ub3QsX3V0aWxfc3Vic2NyaWJlVG8sX29wZXJhdG9yc19maWx0ZXIsX09ic2VydmFibGUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgbm90IH0gZnJvbSAnLi4vdXRpbC9ub3QnO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG8gfSBmcm9tICcuLi91dGlsL3N1YnNjcmliZVRvJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJy4uL29wZXJhdG9ycy9maWx0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbihzb3VyY2UsIHByZWRpY2F0ZSwgdGhpc0FyZykge1xuICAgIHJldHVybiBbXG4gICAgICAgIGZpbHRlcihwcmVkaWNhdGUsIHRoaXNBcmcpKG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZVRvKHNvdXJjZSkpKSxcbiAgICAgICAgZmlsdGVyKG5vdChwcmVkaWNhdGUsIHRoaXNBcmcpKShuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVUbyhzb3VyY2UpKSlcbiAgICBdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFydGl0aW9uLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/partition.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/race.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/race.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RaceOperator: function() { return /* binding */ RaceOperator; },\n/* harmony export */ RaceSubscriber: function() { return /* binding */ RaceSubscriber; },\n/* harmony export */ race: function() { return /* binding */ race; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fromArray */ \"./node_modules/rxjs/_esm5/internal/observable/fromArray.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/** PURE_IMPORTS_START tslib,_util_isArray,_fromArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\n\n\n\n\n\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n if (observables.length === 1) {\n if ((0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return (0,_fromArray__WEBPACK_IMPORTED_MODULE_1__.fromArray)(observables, undefined).lift(new RaceOperator());\n}\nvar RaceOperator = /*@__PURE__*/ (function () {\n function RaceOperator() {\n }\n RaceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n };\n return RaceOperator;\n}());\n\nvar RaceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(RaceSubscriber, _super);\n function RaceSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasFirst = false;\n _this.observables = [];\n _this.subscriptions = [];\n return _this;\n }\n RaceSubscriber.prototype._next = function (observable) {\n this.observables.push(observable);\n };\n RaceSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (var i = 0; i < len && !this.hasFirst; i++) {\n var observable = observables[i];\n var subscription = (0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__.subscribeToResult)(this, observable, undefined, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n };\n RaceSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (var i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n var subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n };\n return RaceSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__.OuterSubscriber));\n\n//# sourceMappingURL=race.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3JhY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNTO0FBQ0Y7QUFDYTtBQUNTO0FBQ3ZEO0FBQ1A7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLFlBQVksc0RBQU87QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxxREFBUztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUN1QjtBQUN4QjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsMkJBQTJCO0FBQ3ZEO0FBQ0EsbUNBQW1DLDBFQUFpQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLCtCQUErQjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLDZEQUFlO0FBQ1M7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS9yYWNlLmpzPzZlNTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfdXRpbF9pc0FycmF5LF9mcm9tQXJyYXksX091dGVyU3Vic2NyaWJlcixfdXRpbF9zdWJzY3JpYmVUb1Jlc3VsdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL3V0aWwvaXNBcnJheSc7XG5pbXBvcnQgeyBmcm9tQXJyYXkgfSBmcm9tICcuL2Zyb21BcnJheSc7XG5pbXBvcnQgeyBPdXRlclN1YnNjcmliZXIgfSBmcm9tICcuLi9PdXRlclN1YnNjcmliZXInO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG9SZXN1bHQgfSBmcm9tICcuLi91dGlsL3N1YnNjcmliZVRvUmVzdWx0JztcbmV4cG9ydCBmdW5jdGlvbiByYWNlKCkge1xuICAgIHZhciBvYnNlcnZhYmxlcyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIG9ic2VydmFibGVzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgaWYgKGlzQXJyYXkob2JzZXJ2YWJsZXNbMF0pKSB7XG4gICAgICAgICAgICBvYnNlcnZhYmxlcyA9IG9ic2VydmFibGVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVzWzBdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmcm9tQXJyYXkob2JzZXJ2YWJsZXMsIHVuZGVmaW5lZCkubGlmdChuZXcgUmFjZU9wZXJhdG9yKCkpO1xufVxudmFyIFJhY2VPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBSYWNlT3BlcmF0b3IoKSB7XG4gICAgfVxuICAgIFJhY2VPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFJhY2VTdWJzY3JpYmVyKHN1YnNjcmliZXIpKTtcbiAgICB9O1xuICAgIHJldHVybiBSYWNlT3BlcmF0b3I7XG59KCkpO1xuZXhwb3J0IHsgUmFjZU9wZXJhdG9yIH07XG52YXIgUmFjZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoUmFjZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gUmFjZVN1YnNjcmliZXIoZGVzdGluYXRpb24pIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmhhc0ZpcnN0ID0gZmFsc2U7XG4gICAgICAgIF90aGlzLm9ic2VydmFibGVzID0gW107XG4gICAgICAgIF90aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBSYWNlU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAob2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLm9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XG4gICAgfTtcbiAgICBSYWNlU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgb2JzZXJ2YWJsZXMgPSB0aGlzLm9ic2VydmFibGVzO1xuICAgICAgICB2YXIgbGVuID0gb2JzZXJ2YWJsZXMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbiAmJiAhdGhpcy5oYXNGaXJzdDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9ic2VydmFibGUgPSBvYnNlcnZhYmxlc1tpXTtcbiAgICAgICAgICAgICAgICB2YXIgc3Vic2NyaXB0aW9uID0gc3Vic2NyaWJlVG9SZXN1bHQodGhpcywgb2JzZXJ2YWJsZSwgdW5kZWZpbmVkLCBpKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9ic2VydmFibGVzID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgUmFjZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoX291dGVyVmFsdWUsIGlubmVyVmFsdWUsIG91dGVySW5kZXgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0ZpcnN0KSB7XG4gICAgICAgICAgICB0aGlzLmhhc0ZpcnN0ID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgIT09IG91dGVySW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IHRoaXMuc3Vic2NyaXB0aW9uc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQoaW5uZXJWYWx1ZSk7XG4gICAgfTtcbiAgICByZXR1cm4gUmFjZVN1YnNjcmliZXI7XG59KE91dGVyU3Vic2NyaWJlcikpO1xuZXhwb3J0IHsgUmFjZVN1YnNjcmliZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJhY2UuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/race.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/range.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/range.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dispatch: function() { return /* binding */ dispatch; },\n/* harmony export */ range: function() { return /* binding */ range; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\n\nfunction range(start, count, scheduler) {\n if (start === void 0) {\n start = 0;\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n if (count === undefined) {\n count = start;\n start = 0;\n }\n var index = 0;\n var current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index: index, count: count, start: start, subscriber: subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nfunction dispatch(state) {\n var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n}\n//# sourceMappingURL=range.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3JhbmdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQzJDO0FBQ3BDO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtREFBVTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvcmFuZ2UuanM/MmMyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmV4cG9ydCBmdW5jdGlvbiByYW5nZShzdGFydCwgY291bnQsIHNjaGVkdWxlcikge1xuICAgIGlmIChzdGFydCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHN0YXJ0ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIGlmIChjb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb3VudCA9IHN0YXJ0O1xuICAgICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICAgIHZhciBjdXJyZW50ID0gc3RhcnQ7XG4gICAgICAgIGlmIChzY2hlZHVsZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBzY2hlZHVsZXIuc2NoZWR1bGUoZGlzcGF0Y2gsIDAsIHtcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsIGNvdW50OiBjb3VudCwgc3RhcnQ6IHN0YXJ0LCBzdWJzY3JpYmVyOiBzdWJzY3JpYmVyXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXgrKyA+PSBjb3VudCkge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoY3VycmVudCsrKTtcbiAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaWJlci5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkaXNwYXRjaChzdGF0ZSkge1xuICAgIHZhciBzdGFydCA9IHN0YXRlLnN0YXJ0LCBpbmRleCA9IHN0YXRlLmluZGV4LCBjb3VudCA9IHN0YXRlLmNvdW50LCBzdWJzY3JpYmVyID0gc3RhdGUuc3Vic2NyaWJlcjtcbiAgICBpZiAoaW5kZXggPj0gY291bnQpIHtcbiAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHN1YnNjcmliZXIubmV4dChzdGFydCk7XG4gICAgaWYgKHN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3RhdGUuaW5kZXggPSBpbmRleCArIDE7XG4gICAgc3RhdGUuc3RhcnQgPSBzdGFydCArIDE7XG4gICAgdGhpcy5zY2hlZHVsZShzdGF0ZSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yYW5nZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/range.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/throwError.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/throwError.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ throwError: function() { return /* binding */ throwError; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\n\nfunction throwError(error, scheduler) {\n if (!scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3Rocm93RXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUMyQztBQUNwQztBQUNQO0FBQ0EsbUJBQW1CLG1EQUFVLHlCQUF5QixpQ0FBaUM7QUFDdkY7QUFDQTtBQUNBLG1CQUFtQixtREFBVSx5QkFBeUIseUNBQXlDLHNDQUFzQyxJQUFJO0FBQ3pJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvdGhyb3dFcnJvci5qcz8zZjFmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuZXhwb3J0IGZ1bmN0aW9uIHRocm93RXJyb3IoZXJyb3IsIHNjaGVkdWxlcikge1xuICAgIGlmICghc2NoZWR1bGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikgeyByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlcnJvcik7IH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7IHJldHVybiBzY2hlZHVsZXIuc2NoZWR1bGUoZGlzcGF0Y2gsIDAsIHsgZXJyb3I6IGVycm9yLCBzdWJzY3JpYmVyOiBzdWJzY3JpYmVyIH0pOyB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiBkaXNwYXRjaChfYSkge1xuICAgIHZhciBlcnJvciA9IF9hLmVycm9yLCBzdWJzY3JpYmVyID0gX2Euc3Vic2NyaWJlcjtcbiAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRocm93RXJyb3IuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/throwError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/timer.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/timer.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ timer: function() { return /* binding */ timer; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isNumeric */ \"./node_modules/rxjs/_esm5/internal/util/isNumeric.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\n\n\n\n\nfunction timer(dueTime, periodOrScheduler, scheduler) {\n if (dueTime === void 0) {\n dueTime = 0;\n }\n var period = -1;\n if ((0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_0__.isNumeric)(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!(0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(scheduler)) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_2__.async;\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_3__.Observable(function (subscriber) {\n var due = (0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_0__.isNumeric)(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period: period, subscriber: subscriber\n });\n });\n}\nfunction dispatch(state) {\n var index = state.index, period = state.period, subscriber = state.subscriber;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3RpbWVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDMkM7QUFDQTtBQUNHO0FBQ0k7QUFDM0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMERBQVM7QUFDakI7QUFDQTtBQUNBLGFBQWEsOERBQVc7QUFDeEI7QUFDQTtBQUNBLFNBQVMsOERBQVc7QUFDcEIsb0JBQW9CLG1EQUFLO0FBQ3pCO0FBQ0EsZUFBZSxtREFBVTtBQUN6QixrQkFBa0IsMERBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb2JzZXJ2YWJsZS90aW1lci5qcz84M2U4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX3NjaGVkdWxlcl9hc3luYyxfdXRpbF9pc051bWVyaWMsX3V0aWxfaXNTY2hlZHVsZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgYXN5bmMgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgaXNOdW1lcmljIH0gZnJvbSAnLi4vdXRpbC9pc051bWVyaWMnO1xuaW1wb3J0IHsgaXNTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2lzU2NoZWR1bGVyJztcbmV4cG9ydCBmdW5jdGlvbiB0aW1lcihkdWVUaW1lLCBwZXJpb2RPclNjaGVkdWxlciwgc2NoZWR1bGVyKSB7XG4gICAgaWYgKGR1ZVRpbWUgPT09IHZvaWQgMCkge1xuICAgICAgICBkdWVUaW1lID0gMDtcbiAgICB9XG4gICAgdmFyIHBlcmlvZCA9IC0xO1xuICAgIGlmIChpc051bWVyaWMocGVyaW9kT3JTY2hlZHVsZXIpKSB7XG4gICAgICAgIHBlcmlvZCA9IE51bWJlcihwZXJpb2RPclNjaGVkdWxlcikgPCAxICYmIDEgfHwgTnVtYmVyKHBlcmlvZE9yU2NoZWR1bGVyKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNTY2hlZHVsZXIocGVyaW9kT3JTY2hlZHVsZXIpKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IHBlcmlvZE9yU2NoZWR1bGVyO1xuICAgIH1cbiAgICBpZiAoIWlzU2NoZWR1bGVyKHNjaGVkdWxlcikpIHtcbiAgICAgICAgc2NoZWR1bGVyID0gYXN5bmM7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB2YXIgZHVlID0gaXNOdW1lcmljKGR1ZVRpbWUpXG4gICAgICAgICAgICA/IGR1ZVRpbWVcbiAgICAgICAgICAgIDogKCtkdWVUaW1lIC0gc2NoZWR1bGVyLm5vdygpKTtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaCwgZHVlLCB7XG4gICAgICAgICAgICBpbmRleDogMCwgcGVyaW9kOiBwZXJpb2QsIHN1YnNjcmliZXI6IHN1YnNjcmliZXJcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBkaXNwYXRjaChzdGF0ZSkge1xuICAgIHZhciBpbmRleCA9IHN0YXRlLmluZGV4LCBwZXJpb2QgPSBzdGF0ZS5wZXJpb2QsIHN1YnNjcmliZXIgPSBzdGF0ZS5zdWJzY3JpYmVyO1xuICAgIHN1YnNjcmliZXIubmV4dChpbmRleCk7XG4gICAgaWYgKHN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWxzZSBpZiAocGVyaW9kID09PSAtMSkge1xuICAgICAgICByZXR1cm4gc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgICBzdGF0ZS5pbmRleCA9IGluZGV4ICsgMTtcbiAgICB0aGlzLnNjaGVkdWxlKHN0YXRlLCBwZXJpb2QpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGltZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/timer.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/using.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/using.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ using: function() { return /* binding */ using; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\n\n\n\nfunction using(resourceFactory, observableFactory) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = result ? (0,_from__WEBPACK_IMPORTED_MODULE_1__.from)(result) : _empty__WEBPACK_IMPORTED_MODULE_2__.EMPTY;\n var subscription = source.subscribe(subscriber);\n return function () {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=using.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3VzaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNiO0FBQ0U7QUFDekI7QUFDUCxlQUFlLG1EQUFVO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDJDQUFJLFdBQVcseUNBQUs7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3VzaW5nLmpzPzEzYjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfT2JzZXJ2YWJsZSxfZnJvbSxfZW1wdHkgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJy4vZnJvbSc7XG5pbXBvcnQgeyBFTVBUWSB9IGZyb20gJy4vZW1wdHknO1xuZXhwb3J0IGZ1bmN0aW9uIHVzaW5nKHJlc291cmNlRmFjdG9yeSwgb2JzZXJ2YWJsZUZhY3RvcnkpIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIHJlc291cmNlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzb3VyY2UgPSByZXNvdXJjZUZhY3RvcnkoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSBvYnNlcnZhYmxlRmFjdG9yeShyZXNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc291cmNlID0gcmVzdWx0ID8gZnJvbShyZXN1bHQpIDogRU1QVFk7XG4gICAgICAgIHZhciBzdWJzY3JpcHRpb24gPSBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICByZXNvdXJjZS51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNpbmcuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/using.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/observable/zip.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/observable/zip.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ZipOperator: function() { return /* binding */ ZipOperator; },\n/* harmony export */ ZipSubscriber: function() { return /* binding */ ZipSubscriber; },\n/* harmony export */ zip: function() { return /* binding */ zip; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fromArray */ \"./node_modules/rxjs/_esm5/internal/observable/fromArray.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../internal/symbol/iterator */ \"./node_modules/rxjs/_esm5/internal/symbol/iterator.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_fromArray,_util_isArray,_Subscriber,_.._internal_symbol_iterator,_innerSubscribe PURE_IMPORTS_END */\n\n\n\n\n\n\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return (0,_fromArray__WEBPACK_IMPORTED_MODULE_0__.fromArray)(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nvar ZipOperator = /*@__PURE__*/ (function () {\n function ZipOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n };\n return ZipOperator;\n}());\n\nvar ZipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, resultSelector, values) {\n if (values === void 0) {\n values = Object.create(null);\n }\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.iterators = [];\n _this.active = 0;\n _this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : undefined;\n return _this;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if ((0,_util_isArray__WEBPACK_IMPORTED_MODULE_2__.isArray)(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[_internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_3__.iterator] === 'function') {\n iterators.push(new StaticIterator(value[_internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_3__.iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n var destination = this.destination;\n destination.add(iterator.subscribe());\n }\n else {\n this.active--;\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryresultSelector = function (args) {\n var result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_4__.Subscriber));\n\nvar StaticIterator = /*@__PURE__*/ (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return Boolean(nextResult && nextResult.done);\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = /*@__PURE__*/ (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[_internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_3__.iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\nvar ZipBufferIterator = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n _this.observable = observable;\n _this.stillUnsubscribed = true;\n _this.buffer = [];\n _this.isComplete = false;\n return _this;\n }\n ZipBufferIterator.prototype[_internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_3__.iterator] = function () {\n return this;\n };\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (innerValue) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function () {\n return (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_5__.innerSubscribe)(this.observable, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_5__.SimpleInnerSubscriber(this));\n };\n return ZipBufferIterator;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_5__.SimpleOuterSubscriber));\n//# sourceMappingURL=zip.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vYnNlcnZhYmxlL3ppcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNPO0FBQ0U7QUFDQztBQUNrQztBQUNvQjtBQUMxRjtBQUNQO0FBQ0EscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHFEQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDc0I7QUFDdkI7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksc0RBQU87QUFDbkI7QUFDQTtBQUNBLDhCQUE4QiwrREFBZTtBQUM3QyxvREFBb0QsK0RBQWU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsU0FBUztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNhO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQywrREFBZTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLCtCQUErQixJQUFJO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsK0RBQWU7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwrREFBYyxzQkFBc0Isa0VBQXFCO0FBQ3hFO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29ic2VydmFibGUvemlwLmpzP2U4ZDQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfZnJvbUFycmF5LF91dGlsX2lzQXJyYXksX1N1YnNjcmliZXIsXy4uX2ludGVybmFsX3N5bWJvbF9pdGVyYXRvcixfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGZyb21BcnJheSB9IGZyb20gJy4vZnJvbUFycmF5JztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlsL2lzQXJyYXknO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgaXRlcmF0b3IgYXMgU3ltYm9sX2l0ZXJhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvc3ltYm9sL2l0ZXJhdG9yJztcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiB6aXAoKSB7XG4gICAgdmFyIG9ic2VydmFibGVzID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgb2JzZXJ2YWJsZXNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgdmFyIHJlc3VsdFNlbGVjdG9yID0gb2JzZXJ2YWJsZXNbb2JzZXJ2YWJsZXMubGVuZ3RoIC0gMV07XG4gICAgaWYgKHR5cGVvZiByZXN1bHRTZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvYnNlcnZhYmxlcy5wb3AoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZyb21BcnJheShvYnNlcnZhYmxlcywgdW5kZWZpbmVkKS5saWZ0KG5ldyBaaXBPcGVyYXRvcihyZXN1bHRTZWxlY3RvcikpO1xufVxudmFyIFppcE9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFppcE9wZXJhdG9yKHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMucmVzdWx0U2VsZWN0b3IgPSByZXN1bHRTZWxlY3RvcjtcbiAgICB9XG4gICAgWmlwT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBaaXBTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMucmVzdWx0U2VsZWN0b3IpKTtcbiAgICB9O1xuICAgIHJldHVybiBaaXBPcGVyYXRvcjtcbn0oKSk7XG5leHBvcnQgeyBaaXBPcGVyYXRvciB9O1xudmFyIFppcFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoWmlwU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBaaXBTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCByZXN1bHRTZWxlY3RvciwgdmFsdWVzKSB7XG4gICAgICAgIGlmICh2YWx1ZXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgdmFsdWVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucmVzdWx0U2VsZWN0b3IgPSByZXN1bHRTZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuaXRlcmF0b3JzID0gW107XG4gICAgICAgIF90aGlzLmFjdGl2ZSA9IDA7XG4gICAgICAgIF90aGlzLnJlc3VsdFNlbGVjdG9yID0gKHR5cGVvZiByZXN1bHRTZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykgPyByZXN1bHRTZWxlY3RvciA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBaaXBTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgaXRlcmF0b3JzID0gdGhpcy5pdGVyYXRvcnM7XG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgaXRlcmF0b3JzLnB1c2gobmV3IFN0YXRpY0FycmF5SXRlcmF0b3IodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWVbU3ltYm9sX2l0ZXJhdG9yXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgaXRlcmF0b3JzLnB1c2gobmV3IFN0YXRpY0l0ZXJhdG9yKHZhbHVlW1N5bWJvbF9pdGVyYXRvcl0oKSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaXRlcmF0b3JzLnB1c2gobmV3IFppcEJ1ZmZlckl0ZXJhdG9yKHRoaXMuZGVzdGluYXRpb24sIHRoaXMsIHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFppcFN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9ycyA9IHRoaXMuaXRlcmF0b3JzO1xuICAgICAgICB2YXIgbGVuID0gaXRlcmF0b3JzLmxlbmd0aDtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICBpZiAobGVuID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmUgPSBsZW47XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yc1tpXTtcbiAgICAgICAgICAgIGlmIChpdGVyYXRvci5zdGlsbFVuc3Vic2NyaWJlZCkge1xuICAgICAgICAgICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24uYWRkKGl0ZXJhdG9yLnN1YnNjcmliZSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlLS07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFppcFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUluYWN0aXZlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZS0tO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgWmlwU3Vic2NyaWJlci5wcm90b3R5cGUuY2hlY2tJdGVyYXRvcnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpdGVyYXRvcnMgPSB0aGlzLml0ZXJhdG9ycztcbiAgICAgICAgdmFyIGxlbiA9IGl0ZXJhdG9ycy5sZW5ndGg7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yc1tpXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3IuaGFzVmFsdWUgPT09ICdmdW5jdGlvbicgJiYgIWl0ZXJhdG9yLmhhc1ZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNob3VsZENvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yc1tpXTtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICBpZiAoaXRlcmF0b3IuaGFzQ29tcGxldGVkKCkpIHtcbiAgICAgICAgICAgICAgICBzaG91bGRDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzdWx0LmRvbmUpIHtcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFyZ3MucHVzaChyZXN1bHQudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlc3VsdFNlbGVjdG9yKSB7XG4gICAgICAgICAgICB0aGlzLl90cnlyZXN1bHRTZWxlY3RvcihhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5leHQoYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZENvbXBsZXRlKSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBaaXBTdWJzY3JpYmVyLnByb3RvdHlwZS5fdHJ5cmVzdWx0U2VsZWN0b3IgPSBmdW5jdGlvbiAoYXJncykge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5yZXN1bHRTZWxlY3Rvci5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHJlc3VsdCk7XG4gICAgfTtcbiAgICByZXR1cm4gWmlwU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZXhwb3J0IHsgWmlwU3Vic2NyaWJlciB9O1xudmFyIFN0YXRpY0l0ZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFN0YXRpY0l0ZXJhdG9yKGl0ZXJhdG9yKSB7XG4gICAgICAgIHRoaXMuaXRlcmF0b3IgPSBpdGVyYXRvcjtcbiAgICAgICAgdGhpcy5uZXh0UmVzdWx0ID0gaXRlcmF0b3IubmV4dCgpO1xuICAgIH1cbiAgICBTdGF0aWNJdGVyYXRvci5wcm90b3R5cGUuaGFzVmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG4gICAgU3RhdGljSXRlcmF0b3IucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSB0aGlzLm5leHRSZXN1bHQ7XG4gICAgICAgIHRoaXMubmV4dFJlc3VsdCA9IHRoaXMuaXRlcmF0b3IubmV4dCgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gICAgU3RhdGljSXRlcmF0b3IucHJvdG90eXBlLmhhc0NvbXBsZXRlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG5leHRSZXN1bHQgPSB0aGlzLm5leHRSZXN1bHQ7XG4gICAgICAgIHJldHVybiBCb29sZWFuKG5leHRSZXN1bHQgJiYgbmV4dFJlc3VsdC5kb25lKTtcbiAgICB9O1xuICAgIHJldHVybiBTdGF0aWNJdGVyYXRvcjtcbn0oKSk7XG52YXIgU3RhdGljQXJyYXlJdGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTdGF0aWNBcnJheUl0ZXJhdG9yKGFycmF5KSB7XG4gICAgICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgfVxuICAgIFN0YXRpY0FycmF5SXRlcmF0b3IucHJvdG90eXBlW1N5bWJvbF9pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgU3RhdGljQXJyYXlJdGVyYXRvci5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXgrKztcbiAgICAgICAgdmFyIGFycmF5ID0gdGhpcy5hcnJheTtcbiAgICAgICAgcmV0dXJuIGkgPCB0aGlzLmxlbmd0aCA/IHsgdmFsdWU6IGFycmF5W2ldLCBkb25lOiBmYWxzZSB9IDogeyB2YWx1ZTogbnVsbCwgZG9uZTogdHJ1ZSB9O1xuICAgIH07XG4gICAgU3RhdGljQXJyYXlJdGVyYXRvci5wcm90b3R5cGUuaGFzVmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFycmF5Lmxlbmd0aCA+IHRoaXMuaW5kZXg7XG4gICAgfTtcbiAgICBTdGF0aWNBcnJheUl0ZXJhdG9yLnByb3RvdHlwZS5oYXNDb21wbGV0ZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFycmF5Lmxlbmd0aCA9PT0gdGhpcy5pbmRleDtcbiAgICB9O1xuICAgIHJldHVybiBTdGF0aWNBcnJheUl0ZXJhdG9yO1xufSgpKTtcbnZhciBaaXBCdWZmZXJJdGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhaaXBCdWZmZXJJdGVyYXRvciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBaaXBCdWZmZXJJdGVyYXRvcihkZXN0aW5hdGlvbiwgcGFyZW50LCBvYnNlcnZhYmxlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgIF90aGlzLm9ic2VydmFibGUgPSBvYnNlcnZhYmxlO1xuICAgICAgICBfdGhpcy5zdGlsbFVuc3Vic2NyaWJlZCA9IHRydWU7XG4gICAgICAgIF90aGlzLmJ1ZmZlciA9IFtdO1xuICAgICAgICBfdGhpcy5pc0NvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgWmlwQnVmZmVySXRlcmF0b3IucHJvdG90eXBlW1N5bWJvbF9pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgWmlwQnVmZmVySXRlcmF0b3IucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlcjtcbiAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGggPT09IDAgJiYgdGhpcy5pc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbnVsbCwgZG9uZTogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IGJ1ZmZlci5zaGlmdCgpLCBkb25lOiBmYWxzZSB9O1xuICAgICAgICB9XG4gICAgfTtcbiAgICBaaXBCdWZmZXJJdGVyYXRvci5wcm90b3R5cGUuaGFzVmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1ZmZlci5sZW5ndGggPiAwO1xuICAgIH07XG4gICAgWmlwQnVmZmVySXRlcmF0b3IucHJvdG90eXBlLmhhc0NvbXBsZXRlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyLmxlbmd0aCA9PT0gMCAmJiB0aGlzLmlzQ29tcGxldGU7XG4gICAgfTtcbiAgICBaaXBCdWZmZXJJdGVyYXRvci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmJ1ZmZlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5wYXJlbnQubm90aWZ5SW5hY3RpdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgWmlwQnVmZmVySXRlcmF0b3IucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoaW5uZXJWYWx1ZSkge1xuICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKGlubmVyVmFsdWUpO1xuICAgICAgICB0aGlzLnBhcmVudC5jaGVja0l0ZXJhdG9ycygpO1xuICAgIH07XG4gICAgWmlwQnVmZmVySXRlcmF0b3IucHJvdG90eXBlLnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGlubmVyU3Vic2NyaWJlKHRoaXMub2JzZXJ2YWJsZSwgbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKSk7XG4gICAgfTtcbiAgICByZXR1cm4gWmlwQnVmZmVySXRlcmF0b3I7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9emlwLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/observable/zip.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/audit.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/audit.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ audit: function() { return /* binding */ audit; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction audit(durationSelector) {\n return function auditOperatorFunction(source) {\n return source.lift(new AuditOperator(durationSelector));\n };\n}\nvar AuditOperator = /*@__PURE__*/ (function () {\n function AuditOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n AuditOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n };\n return AuditOperator;\n}());\nvar AuditSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AuditSubscriber, _super);\n function AuditSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n AuditSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n if (!this.throttled) {\n var duration = void 0;\n try {\n var durationSelector = this.durationSelector;\n duration = durationSelector(value);\n }\n catch (err) {\n return this.destination.error(err);\n }\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(duration, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this));\n if (!innerSubscription || innerSubscription.closed) {\n this.clearThrottle();\n }\n else {\n this.add(this.throttled = innerSubscription);\n }\n }\n };\n AuditSubscriber.prototype.clearThrottle = function () {\n var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n if (throttled) {\n this.remove(throttled);\n this.throttled = undefined;\n throttled.unsubscribe();\n }\n if (hasValue) {\n this.value = undefined;\n this.hasValue = false;\n this.destination.next(value);\n }\n };\n AuditSubscriber.prototype.notifyNext = function () {\n this.clearThrottle();\n };\n AuditSubscriber.prototype.notifyComplete = function () {\n this.clearThrottle();\n };\n return AuditSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=audit.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYXVkaXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDZ0U7QUFDMUY7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsK0RBQWMsZUFBZSxrRUFBcUI7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9hdWRpdC5qcz84NTAwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX2lubmVyU3Vic2NyaWJlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTaW1wbGVPdXRlclN1YnNjcmliZXIsIGlubmVyU3Vic2NyaWJlLCBTaW1wbGVJbm5lclN1YnNjcmliZXIgfSBmcm9tICcuLi9pbm5lclN1YnNjcmliZSc7XG5leHBvcnQgZnVuY3Rpb24gYXVkaXQoZHVyYXRpb25TZWxlY3Rvcikge1xuICAgIHJldHVybiBmdW5jdGlvbiBhdWRpdE9wZXJhdG9yRnVuY3Rpb24oc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgQXVkaXRPcGVyYXRvcihkdXJhdGlvblNlbGVjdG9yKSk7XG4gICAgfTtcbn1cbnZhciBBdWRpdE9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEF1ZGl0T3BlcmF0b3IoZHVyYXRpb25TZWxlY3Rvcikge1xuICAgICAgICB0aGlzLmR1cmF0aW9uU2VsZWN0b3IgPSBkdXJhdGlvblNlbGVjdG9yO1xuICAgIH1cbiAgICBBdWRpdE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgQXVkaXRTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuZHVyYXRpb25TZWxlY3RvcikpO1xuICAgIH07XG4gICAgcmV0dXJuIEF1ZGl0T3BlcmF0b3I7XG59KCkpO1xudmFyIEF1ZGl0U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhBdWRpdFN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQXVkaXRTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBkdXJhdGlvblNlbGVjdG9yKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5kdXJhdGlvblNlbGVjdG9yID0gZHVyYXRpb25TZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBBdWRpdFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgIGlmICghdGhpcy50aHJvdHRsZWQpIHtcbiAgICAgICAgICAgIHZhciBkdXJhdGlvbiA9IHZvaWQgMDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdmFyIGR1cmF0aW9uU2VsZWN0b3IgPSB0aGlzLmR1cmF0aW9uU2VsZWN0b3I7XG4gICAgICAgICAgICAgICAgZHVyYXRpb24gPSBkdXJhdGlvblNlbGVjdG9yKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGlubmVyU3Vic2NyaXB0aW9uID0gaW5uZXJTdWJzY3JpYmUoZHVyYXRpb24sIG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIodGhpcykpO1xuICAgICAgICAgICAgaWYgKCFpbm5lclN1YnNjcmlwdGlvbiB8fCBpbm5lclN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyVGhyb3R0bGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkKHRoaXMudGhyb3R0bGVkID0gaW5uZXJTdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBBdWRpdFN1YnNjcmliZXIucHJvdG90eXBlLmNsZWFyVGhyb3R0bGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMsIHZhbHVlID0gX2EudmFsdWUsIGhhc1ZhbHVlID0gX2EuaGFzVmFsdWUsIHRocm90dGxlZCA9IF9hLnRocm90dGxlZDtcbiAgICAgICAgaWYgKHRocm90dGxlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUodGhyb3R0bGVkKTtcbiAgICAgICAgICAgIHRoaXMudGhyb3R0bGVkID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhyb3R0bGVkLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQXVkaXRTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmNsZWFyVGhyb3R0bGUoKTtcbiAgICB9O1xuICAgIEF1ZGl0U3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY2xlYXJUaHJvdHRsZSgpO1xuICAgIH07XG4gICAgcmV0dXJuIEF1ZGl0U3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hdWRpdC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/audit.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/auditTime.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/auditTime.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ auditTime: function() { return /* binding */ auditTime; }\n/* harmony export */ });\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audit */ \"./node_modules/rxjs/_esm5/internal/operators/audit.js\");\n/* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../observable/timer */ \"./node_modules/rxjs/_esm5/internal/observable/timer.js\");\n/** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */\n\n\n\nfunction auditTime(duration, scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return (0,_audit__WEBPACK_IMPORTED_MODULE_1__.audit)(function () { return (0,_observable_timer__WEBPACK_IMPORTED_MODULE_2__.timer)(duration, scheduler); });\n}\n//# sourceMappingURL=auditTime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYXVkaXRUaW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNYO0FBQ1k7QUFDckM7QUFDUDtBQUNBLG9CQUFvQixtREFBSztBQUN6QjtBQUNBLFdBQVcsNkNBQUssZUFBZSxPQUFPLHdEQUFLLHdCQUF3QjtBQUNuRTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9hdWRpdFRpbWUuanM/NmRiZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9zY2hlZHVsZXJfYXN5bmMsX2F1ZGl0LF9vYnNlcnZhYmxlX3RpbWVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IGFzeW5jIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IGF1ZGl0IH0gZnJvbSAnLi9hdWRpdCc7XG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJy4uL29ic2VydmFibGUvdGltZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0VGltZShkdXJhdGlvbiwgc2NoZWR1bGVyKSB7XG4gICAgaWYgKHNjaGVkdWxlciA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IGFzeW5jO1xuICAgIH1cbiAgICByZXR1cm4gYXVkaXQoZnVuY3Rpb24gKCkgeyByZXR1cm4gdGltZXIoZHVyYXRpb24sIHNjaGVkdWxlcik7IH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXVkaXRUaW1lLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/auditTime.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/buffer.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/buffer.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ buffer: function() { return /* binding */ buffer; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction buffer(closingNotifier) {\n return function bufferOperatorFunction(source) {\n return source.lift(new BufferOperator(closingNotifier));\n };\n}\nvar BufferOperator = /*@__PURE__*/ (function () {\n function BufferOperator(closingNotifier) {\n this.closingNotifier = closingNotifier;\n }\n BufferOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n };\n return BufferOperator;\n}());\nvar BufferSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(BufferSubscriber, _super);\n function BufferSubscriber(destination, closingNotifier) {\n var _this = _super.call(this, destination) || this;\n _this.buffer = [];\n _this.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(closingNotifier, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(_this)));\n return _this;\n }\n BufferSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferSubscriber.prototype.notifyNext = function () {\n var buffer = this.buffer;\n this.buffer = [];\n this.destination.next(buffer);\n };\n return BufferSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=buffer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ2dFO0FBQzFGO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLCtEQUFjLHNCQUFzQixrRUFBcUI7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2J1ZmZlci5qcz8zMTEyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX2lubmVyU3Vic2NyaWJlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTaW1wbGVPdXRlclN1YnNjcmliZXIsIGlubmVyU3Vic2NyaWJlLCBTaW1wbGVJbm5lclN1YnNjcmliZXIgfSBmcm9tICcuLi9pbm5lclN1YnNjcmliZSc7XG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyKGNsb3NpbmdOb3RpZmllcikge1xuICAgIHJldHVybiBmdW5jdGlvbiBidWZmZXJPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IEJ1ZmZlck9wZXJhdG9yKGNsb3NpbmdOb3RpZmllcikpO1xuICAgIH07XG59XG52YXIgQnVmZmVyT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQnVmZmVyT3BlcmF0b3IoY2xvc2luZ05vdGlmaWVyKSB7XG4gICAgICAgIHRoaXMuY2xvc2luZ05vdGlmaWVyID0gY2xvc2luZ05vdGlmaWVyO1xuICAgIH1cbiAgICBCdWZmZXJPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IEJ1ZmZlclN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5jbG9zaW5nTm90aWZpZXIpKTtcbiAgICB9O1xuICAgIHJldHVybiBCdWZmZXJPcGVyYXRvcjtcbn0oKSk7XG52YXIgQnVmZmVyU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhCdWZmZXJTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEJ1ZmZlclN1YnNjcmliZXIoZGVzdGluYXRpb24sIGNsb3NpbmdOb3RpZmllcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuYnVmZmVyID0gW107XG4gICAgICAgIF90aGlzLmFkZChpbm5lclN1YnNjcmliZShjbG9zaW5nTm90aWZpZXIsIG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIoX3RoaXMpKSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQnVmZmVyU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5idWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgfTtcbiAgICBCdWZmZXJTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7XG4gICAgICAgIHRoaXMuYnVmZmVyID0gW107XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChidWZmZXIpO1xuICAgIH07XG4gICAgcmV0dXJuIEJ1ZmZlclN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnVmZmVyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/buffer.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/bufferCount.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/bufferCount.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bufferCount: function() { return /* binding */ bufferCount; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) {\n startBufferEvery = null;\n }\n return function bufferCountOperatorFunction(source) {\n return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n };\n}\nvar BufferCountOperator = /*@__PURE__*/ (function () {\n function BufferCountOperator(bufferSize, startBufferEvery) {\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n if (!startBufferEvery || bufferSize === startBufferEvery) {\n this.subscriberClass = BufferCountSubscriber;\n }\n else {\n this.subscriberClass = BufferSkipCountSubscriber;\n }\n }\n BufferCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));\n };\n return BufferCountOperator;\n}());\nvar BufferCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(BufferCountSubscriber, _super);\n function BufferCountSubscriber(destination, bufferSize) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.buffer = [];\n return _this;\n }\n BufferCountSubscriber.prototype._next = function (value) {\n var buffer = this.buffer;\n buffer.push(value);\n if (buffer.length == this.bufferSize) {\n this.destination.next(buffer);\n this.buffer = [];\n }\n };\n BufferCountSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer.length > 0) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n return BufferCountSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\nvar BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(BufferSkipCountSubscriber, _super);\n function BufferSkipCountSubscriber(destination, bufferSize, startBufferEvery) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.startBufferEvery = startBufferEvery;\n _this.buffers = [];\n _this.count = 0;\n return _this;\n }\n BufferSkipCountSubscriber.prototype._next = function (value) {\n var _a = this, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers, count = _a.count;\n this.count++;\n if (count % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (var i = buffers.length; i--;) {\n var buffer = buffers[i];\n buffer.push(value);\n if (buffer.length === bufferSize) {\n buffers.splice(i, 1);\n this.destination.next(buffer);\n }\n }\n };\n BufferSkipCountSubscriber.prototype._complete = function () {\n var _a = this, buffers = _a.buffers, destination = _a.destination;\n while (buffers.length > 0) {\n var buffer = buffers.shift();\n if (buffer.length > 0) {\n destination.next(buffer);\n }\n }\n _super.prototype._complete.call(this);\n };\n return BufferSkipCountSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=bufferCount.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyQ291bnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsSUFBSTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJDb3VudC5qcz9jYzFkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJDb3VudChidWZmZXJTaXplLCBzdGFydEJ1ZmZlckV2ZXJ5KSB7XG4gICAgaWYgKHN0YXJ0QnVmZmVyRXZlcnkgPT09IHZvaWQgMCkge1xuICAgICAgICBzdGFydEJ1ZmZlckV2ZXJ5ID0gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGJ1ZmZlckNvdW50T3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBCdWZmZXJDb3VudE9wZXJhdG9yKGJ1ZmZlclNpemUsIHN0YXJ0QnVmZmVyRXZlcnkpKTtcbiAgICB9O1xufVxudmFyIEJ1ZmZlckNvdW50T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQnVmZmVyQ291bnRPcGVyYXRvcihidWZmZXJTaXplLCBzdGFydEJ1ZmZlckV2ZXJ5KSB7XG4gICAgICAgIHRoaXMuYnVmZmVyU2l6ZSA9IGJ1ZmZlclNpemU7XG4gICAgICAgIHRoaXMuc3RhcnRCdWZmZXJFdmVyeSA9IHN0YXJ0QnVmZmVyRXZlcnk7XG4gICAgICAgIGlmICghc3RhcnRCdWZmZXJFdmVyeSB8fCBidWZmZXJTaXplID09PSBzdGFydEJ1ZmZlckV2ZXJ5KSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZXJDbGFzcyA9IEJ1ZmZlckNvdW50U3Vic2NyaWJlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlckNsYXNzID0gQnVmZmVyU2tpcENvdW50U3Vic2NyaWJlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCdWZmZXJDb3VudE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgdGhpcy5zdWJzY3JpYmVyQ2xhc3Moc3Vic2NyaWJlciwgdGhpcy5idWZmZXJTaXplLCB0aGlzLnN0YXJ0QnVmZmVyRXZlcnkpKTtcbiAgICB9O1xuICAgIHJldHVybiBCdWZmZXJDb3VudE9wZXJhdG9yO1xufSgpKTtcbnZhciBCdWZmZXJDb3VudFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQnVmZmVyQ291bnRTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEJ1ZmZlckNvdW50U3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgYnVmZmVyU2l6ZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuYnVmZmVyU2l6ZSA9IGJ1ZmZlclNpemU7XG4gICAgICAgIF90aGlzLmJ1ZmZlciA9IFtdO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEJ1ZmZlckNvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuYnVmZmVyO1xuICAgICAgICBidWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAgIGlmIChidWZmZXIubGVuZ3RoID09IHRoaXMuYnVmZmVyU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KGJ1ZmZlcik7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCdWZmZXJDb3VudFN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuYnVmZmVyO1xuICAgICAgICBpZiAoYnVmZmVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChidWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUuX2NvbXBsZXRlLmNhbGwodGhpcyk7XG4gICAgfTtcbiAgICByZXR1cm4gQnVmZmVyQ291bnRTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG52YXIgQnVmZmVyU2tpcENvdW50U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhCdWZmZXJTa2lwQ291bnRTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEJ1ZmZlclNraXBDb3VudFN1YnNjcmliZXIoZGVzdGluYXRpb24sIGJ1ZmZlclNpemUsIHN0YXJ0QnVmZmVyRXZlcnkpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmJ1ZmZlclNpemUgPSBidWZmZXJTaXplO1xuICAgICAgICBfdGhpcy5zdGFydEJ1ZmZlckV2ZXJ5ID0gc3RhcnRCdWZmZXJFdmVyeTtcbiAgICAgICAgX3RoaXMuYnVmZmVycyA9IFtdO1xuICAgICAgICBfdGhpcy5jb3VudCA9IDA7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQnVmZmVyU2tpcENvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgYnVmZmVyU2l6ZSA9IF9hLmJ1ZmZlclNpemUsIHN0YXJ0QnVmZmVyRXZlcnkgPSBfYS5zdGFydEJ1ZmZlckV2ZXJ5LCBidWZmZXJzID0gX2EuYnVmZmVycywgY291bnQgPSBfYS5jb3VudDtcbiAgICAgICAgdGhpcy5jb3VudCsrO1xuICAgICAgICBpZiAoY291bnQgJSBzdGFydEJ1ZmZlckV2ZXJ5ID09PSAwKSB7XG4gICAgICAgICAgICBidWZmZXJzLnB1c2goW10pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSBidWZmZXJzLmxlbmd0aDsgaS0tOykge1xuICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGJ1ZmZlcnNbaV07XG4gICAgICAgICAgICBidWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoYnVmZmVyLmxlbmd0aCA9PT0gYnVmZmVyU2l6ZSkge1xuICAgICAgICAgICAgICAgIGJ1ZmZlcnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChidWZmZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBCdWZmZXJTa2lwQ291bnRTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMsIGJ1ZmZlcnMgPSBfYS5idWZmZXJzLCBkZXN0aW5hdGlvbiA9IF9hLmRlc3RpbmF0aW9uO1xuICAgICAgICB3aGlsZSAoYnVmZmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgYnVmZmVyID0gYnVmZmVycy5zaGlmdCgpO1xuICAgICAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmV4dChidWZmZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUuX2NvbXBsZXRlLmNhbGwodGhpcyk7XG4gICAgfTtcbiAgICByZXR1cm4gQnVmZmVyU2tpcENvdW50U3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnVmZmVyQ291bnQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/bufferCount.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/bufferTime.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/bufferTime.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bufferTime: function() { return /* binding */ bufferTime; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/** PURE_IMPORTS_START tslib,_scheduler_async,_Subscriber,_util_isScheduler PURE_IMPORTS_END */\n\n\n\n\nfunction bufferTime(bufferTimeSpan) {\n var length = arguments.length;\n var scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n var bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n var maxBufferSize = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n return function bufferTimeOperatorFunction(source) {\n return source.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n };\n}\nvar BufferTimeOperator = /*@__PURE__*/ (function () {\n function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n }\n BufferTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n };\n return BufferTimeOperator;\n}());\nvar Context = /*@__PURE__*/ (function () {\n function Context() {\n this.buffer = [];\n }\n return Context;\n}());\nvar BufferTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(BufferTimeSubscriber, _super);\n function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.bufferTimeSpan = bufferTimeSpan;\n _this.bufferCreationInterval = bufferCreationInterval;\n _this.maxBufferSize = maxBufferSize;\n _this.scheduler = scheduler;\n _this.contexts = [];\n var context = _this.openContext();\n _this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (_this.timespanOnly) {\n var timeSpanOnlyState = { subscriber: _this, context: context, bufferTimeSpan: bufferTimeSpan };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n else {\n var closeState = { subscriber: _this, context: context };\n var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n return _this;\n }\n BufferTimeSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n var filledBufferContext;\n for (var i = 0; i < len; i++) {\n var context_1 = contexts[i];\n var buffer = context_1.buffer;\n buffer.push(value);\n if (buffer.length == this.maxBufferSize) {\n filledBufferContext = context_1;\n }\n }\n if (filledBufferContext) {\n this.onBufferFull(filledBufferContext);\n }\n };\n BufferTimeSubscriber.prototype._error = function (err) {\n this.contexts.length = 0;\n _super.prototype._error.call(this, err);\n };\n BufferTimeSubscriber.prototype._complete = function () {\n var _a = this, contexts = _a.contexts, destination = _a.destination;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n destination.next(context_2.buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferTimeSubscriber.prototype._unsubscribe = function () {\n this.contexts = null;\n };\n BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n this.closeContext(context);\n var closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n var bufferTimeSpan = this.bufferTimeSpan;\n var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n };\n BufferTimeSubscriber.prototype.openContext = function () {\n var context = new Context();\n this.contexts.push(context);\n return context;\n };\n BufferTimeSubscriber.prototype.closeContext = function (context) {\n this.destination.next(context.buffer);\n var contexts = this.contexts;\n var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n };\n return BufferTimeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_3__.Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n var subscriber = state.subscriber;\n var prevContext = state.context;\n if (prevContext) {\n subscriber.closeContext(prevContext);\n }\n if (!subscriber.closed) {\n state.context = subscriber.openContext();\n state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n }\n}\nfunction dispatchBufferCreation(state) {\n var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n var context = subscriber.openContext();\n var action = this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\nfunction dispatchBufferClose(arg) {\n var subscriber = arg.subscriber, context = arg.context;\n subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyVGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDQTtBQUNPO0FBQzNDO0FBQ1A7QUFDQSxvQkFBb0IsbURBQUs7QUFDekIsUUFBUSw4REFBVztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0Isa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVHQUF1RywwQ0FBMEM7QUFDako7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyVGltZS5qcz8zZGI2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX3NjaGVkdWxlcl9hc3luYyxfU3Vic2NyaWJlcixfdXRpbF9pc1NjaGVkdWxlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgYXN5bmMgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgaXNTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2lzU2NoZWR1bGVyJztcbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJUaW1lKGJ1ZmZlclRpbWVTcGFuKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIHNjaGVkdWxlciA9IGFzeW5jO1xuICAgIGlmIChpc1NjaGVkdWxlcihhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdKSkge1xuICAgICAgICBzY2hlZHVsZXIgPSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICBsZW5ndGgtLTtcbiAgICB9XG4gICAgdmFyIGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWwgPSBudWxsO1xuICAgIGlmIChsZW5ndGggPj0gMikge1xuICAgICAgICBidWZmZXJDcmVhdGlvbkludGVydmFsID0gYXJndW1lbnRzWzFdO1xuICAgIH1cbiAgICB2YXIgbWF4QnVmZmVyU2l6ZSA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcbiAgICBpZiAobGVuZ3RoID49IDMpIHtcbiAgICAgICAgbWF4QnVmZmVyU2l6ZSA9IGFyZ3VtZW50c1syXTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGJ1ZmZlclRpbWVPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IEJ1ZmZlclRpbWVPcGVyYXRvcihidWZmZXJUaW1lU3BhbiwgYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCwgbWF4QnVmZmVyU2l6ZSwgc2NoZWR1bGVyKSk7XG4gICAgfTtcbn1cbnZhciBCdWZmZXJUaW1lT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQnVmZmVyVGltZU9wZXJhdG9yKGJ1ZmZlclRpbWVTcGFuLCBidWZmZXJDcmVhdGlvbkludGVydmFsLCBtYXhCdWZmZXJTaXplLCBzY2hlZHVsZXIpIHtcbiAgICAgICAgdGhpcy5idWZmZXJUaW1lU3BhbiA9IGJ1ZmZlclRpbWVTcGFuO1xuICAgICAgICB0aGlzLmJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWwgPSBidWZmZXJDcmVhdGlvbkludGVydmFsO1xuICAgICAgICB0aGlzLm1heEJ1ZmZlclNpemUgPSBtYXhCdWZmZXJTaXplO1xuICAgICAgICB0aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICB9XG4gICAgQnVmZmVyVGltZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgQnVmZmVyVGltZVN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5idWZmZXJUaW1lU3BhbiwgdGhpcy5idWZmZXJDcmVhdGlvbkludGVydmFsLCB0aGlzLm1heEJ1ZmZlclNpemUsIHRoaXMuc2NoZWR1bGVyKSk7XG4gICAgfTtcbiAgICByZXR1cm4gQnVmZmVyVGltZU9wZXJhdG9yO1xufSgpKTtcbnZhciBDb250ZXh0ID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIENvbnRleHQoKSB7XG4gICAgICAgIHRoaXMuYnVmZmVyID0gW107XG4gICAgfVxuICAgIHJldHVybiBDb250ZXh0O1xufSgpKTtcbnZhciBCdWZmZXJUaW1lU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhCdWZmZXJUaW1lU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBCdWZmZXJUaW1lU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgYnVmZmVyVGltZVNwYW4sIGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWwsIG1heEJ1ZmZlclNpemUsIHNjaGVkdWxlcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuYnVmZmVyVGltZVNwYW4gPSBidWZmZXJUaW1lU3BhbjtcbiAgICAgICAgX3RoaXMuYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCA9IGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWw7XG4gICAgICAgIF90aGlzLm1heEJ1ZmZlclNpemUgPSBtYXhCdWZmZXJTaXplO1xuICAgICAgICBfdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIF90aGlzLmNvbnRleHRzID0gW107XG4gICAgICAgIHZhciBjb250ZXh0ID0gX3RoaXMub3BlbkNvbnRleHQoKTtcbiAgICAgICAgX3RoaXMudGltZXNwYW5Pbmx5ID0gYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCA9PSBudWxsIHx8IGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWwgPCAwO1xuICAgICAgICBpZiAoX3RoaXMudGltZXNwYW5Pbmx5KSB7XG4gICAgICAgICAgICB2YXIgdGltZVNwYW5Pbmx5U3RhdGUgPSB7IHN1YnNjcmliZXI6IF90aGlzLCBjb250ZXh0OiBjb250ZXh0LCBidWZmZXJUaW1lU3BhbjogYnVmZmVyVGltZVNwYW4gfTtcbiAgICAgICAgICAgIF90aGlzLmFkZChjb250ZXh0LmNsb3NlQWN0aW9uID0gc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoQnVmZmVyVGltZVNwYW5Pbmx5LCBidWZmZXJUaW1lU3BhbiwgdGltZVNwYW5Pbmx5U3RhdGUpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjbG9zZVN0YXRlID0geyBzdWJzY3JpYmVyOiBfdGhpcywgY29udGV4dDogY29udGV4dCB9O1xuICAgICAgICAgICAgdmFyIGNyZWF0aW9uU3RhdGUgPSB7IGJ1ZmZlclRpbWVTcGFuOiBidWZmZXJUaW1lU3BhbiwgYnVmZmVyQ3JlYXRpb25JbnRlcnZhbDogYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCwgc3Vic2NyaWJlcjogX3RoaXMsIHNjaGVkdWxlcjogc2NoZWR1bGVyIH07XG4gICAgICAgICAgICBfdGhpcy5hZGQoY29udGV4dC5jbG9zZUFjdGlvbiA9IHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaEJ1ZmZlckNsb3NlLCBidWZmZXJUaW1lU3BhbiwgY2xvc2VTdGF0ZSkpO1xuICAgICAgICAgICAgX3RoaXMuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaEJ1ZmZlckNyZWF0aW9uLCBidWZmZXJDcmVhdGlvbkludGVydmFsLCBjcmVhdGlvblN0YXRlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBCdWZmZXJUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgdmFyIGxlbiA9IGNvbnRleHRzLmxlbmd0aDtcbiAgICAgICAgdmFyIGZpbGxlZEJ1ZmZlckNvbnRleHQ7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjb250ZXh0XzEgPSBjb250ZXh0c1tpXTtcbiAgICAgICAgICAgIHZhciBidWZmZXIgPSBjb250ZXh0XzEuYnVmZmVyO1xuICAgICAgICAgICAgYnVmZmVyLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGggPT0gdGhpcy5tYXhCdWZmZXJTaXplKSB7XG4gICAgICAgICAgICAgICAgZmlsbGVkQnVmZmVyQ29udGV4dCA9IGNvbnRleHRfMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsbGVkQnVmZmVyQ29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5vbkJ1ZmZlckZ1bGwoZmlsbGVkQnVmZmVyQ29udGV4dCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEJ1ZmZlclRpbWVTdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHRoaXMuY29udGV4dHMubGVuZ3RoID0gMDtcbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5fZXJyb3IuY2FsbCh0aGlzLCBlcnIpO1xuICAgIH07XG4gICAgQnVmZmVyVGltZVN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgY29udGV4dHMgPSBfYS5jb250ZXh0cywgZGVzdGluYXRpb24gPSBfYS5kZXN0aW5hdGlvbjtcbiAgICAgICAgd2hpbGUgKGNvbnRleHRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHZhciBjb250ZXh0XzIgPSBjb250ZXh0cy5zaGlmdCgpO1xuICAgICAgICAgICAgZGVzdGluYXRpb24ubmV4dChjb250ZXh0XzIuYnVmZmVyKTtcbiAgICAgICAgfVxuICAgICAgICBfc3VwZXIucHJvdG90eXBlLl9jb21wbGV0ZS5jYWxsKHRoaXMpO1xuICAgIH07XG4gICAgQnVmZmVyVGltZVN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9IG51bGw7XG4gICAgfTtcbiAgICBCdWZmZXJUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUub25CdWZmZXJGdWxsID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgICAgdGhpcy5jbG9zZUNvbnRleHQoY29udGV4dCk7XG4gICAgICAgIHZhciBjbG9zZUFjdGlvbiA9IGNvbnRleHQuY2xvc2VBY3Rpb247XG4gICAgICAgIGNsb3NlQWN0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlKGNsb3NlQWN0aW9uKTtcbiAgICAgICAgaWYgKCF0aGlzLmNsb3NlZCAmJiB0aGlzLnRpbWVzcGFuT25seSkge1xuICAgICAgICAgICAgY29udGV4dCA9IHRoaXMub3BlbkNvbnRleHQoKTtcbiAgICAgICAgICAgIHZhciBidWZmZXJUaW1lU3BhbiA9IHRoaXMuYnVmZmVyVGltZVNwYW47XG4gICAgICAgICAgICB2YXIgdGltZVNwYW5Pbmx5U3RhdGUgPSB7IHN1YnNjcmliZXI6IHRoaXMsIGNvbnRleHQ6IGNvbnRleHQsIGJ1ZmZlclRpbWVTcGFuOiBidWZmZXJUaW1lU3BhbiB9O1xuICAgICAgICAgICAgdGhpcy5hZGQoY29udGV4dC5jbG9zZUFjdGlvbiA9IHRoaXMuc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoQnVmZmVyVGltZVNwYW5Pbmx5LCBidWZmZXJUaW1lU3BhbiwgdGltZVNwYW5Pbmx5U3RhdGUpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQnVmZmVyVGltZVN1YnNjcmliZXIucHJvdG90eXBlLm9wZW5Db250ZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29udGV4dCA9IG5ldyBDb250ZXh0KCk7XG4gICAgICAgIHRoaXMuY29udGV4dHMucHVzaChjb250ZXh0KTtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfTtcbiAgICBCdWZmZXJUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUuY2xvc2VDb250ZXh0ID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KGNvbnRleHQuYnVmZmVyKTtcbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgdmFyIHNwbGljZUluZGV4ID0gY29udGV4dHMgPyBjb250ZXh0cy5pbmRleE9mKGNvbnRleHQpIDogLTE7XG4gICAgICAgIGlmIChzcGxpY2VJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBjb250ZXh0cy5zcGxpY2UoY29udGV4dHMuaW5kZXhPZihjb250ZXh0KSwgMSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBCdWZmZXJUaW1lU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZnVuY3Rpb24gZGlzcGF0Y2hCdWZmZXJUaW1lU3Bhbk9ubHkoc3RhdGUpIHtcbiAgICB2YXIgc3Vic2NyaWJlciA9IHN0YXRlLnN1YnNjcmliZXI7XG4gICAgdmFyIHByZXZDb250ZXh0ID0gc3RhdGUuY29udGV4dDtcbiAgICBpZiAocHJldkNvbnRleHQpIHtcbiAgICAgICAgc3Vic2NyaWJlci5jbG9zZUNvbnRleHQocHJldkNvbnRleHQpO1xuICAgIH1cbiAgICBpZiAoIXN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIHN0YXRlLmNvbnRleHQgPSBzdWJzY3JpYmVyLm9wZW5Db250ZXh0KCk7XG4gICAgICAgIHN0YXRlLmNvbnRleHQuY2xvc2VBY3Rpb24gPSB0aGlzLnNjaGVkdWxlKHN0YXRlLCBzdGF0ZS5idWZmZXJUaW1lU3Bhbik7XG4gICAgfVxufVxuZnVuY3Rpb24gZGlzcGF0Y2hCdWZmZXJDcmVhdGlvbihzdGF0ZSkge1xuICAgIHZhciBidWZmZXJDcmVhdGlvbkludGVydmFsID0gc3RhdGUuYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCwgYnVmZmVyVGltZVNwYW4gPSBzdGF0ZS5idWZmZXJUaW1lU3Bhbiwgc3Vic2NyaWJlciA9IHN0YXRlLnN1YnNjcmliZXIsIHNjaGVkdWxlciA9IHN0YXRlLnNjaGVkdWxlcjtcbiAgICB2YXIgY29udGV4dCA9IHN1YnNjcmliZXIub3BlbkNvbnRleHQoKTtcbiAgICB2YXIgYWN0aW9uID0gdGhpcztcbiAgICBpZiAoIXN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIHN1YnNjcmliZXIuYWRkKGNvbnRleHQuY2xvc2VBY3Rpb24gPSBzY2hlZHVsZXIuc2NoZWR1bGUoZGlzcGF0Y2hCdWZmZXJDbG9zZSwgYnVmZmVyVGltZVNwYW4sIHsgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgY29udGV4dDogY29udGV4dCB9KSk7XG4gICAgICAgIGFjdGlvbi5zY2hlZHVsZShzdGF0ZSwgYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCk7XG4gICAgfVxufVxuZnVuY3Rpb24gZGlzcGF0Y2hCdWZmZXJDbG9zZShhcmcpIHtcbiAgICB2YXIgc3Vic2NyaWJlciA9IGFyZy5zdWJzY3JpYmVyLCBjb250ZXh0ID0gYXJnLmNvbnRleHQ7XG4gICAgc3Vic2NyaWJlci5jbG9zZUNvbnRleHQoY29udGV4dCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1idWZmZXJUaW1lLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/bufferTime.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/bufferToggle.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/bufferToggle.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bufferToggle: function() { return /* binding */ bufferToggle; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscription,_util_subscribeToResult,_OuterSubscriber PURE_IMPORTS_END */\n\n\n\n\nfunction bufferToggle(openings, closingSelector) {\n return function bufferToggleOperatorFunction(source) {\n return source.lift(new BufferToggleOperator(openings, closingSelector));\n };\n}\nvar BufferToggleOperator = /*@__PURE__*/ (function () {\n function BufferToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n BufferToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return BufferToggleOperator;\n}());\nvar BufferToggleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(BufferToggleSubscriber, _super);\n function BufferToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add((0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__.subscribeToResult)(_this, openings));\n return _this;\n }\n BufferToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].buffer.push(value);\n }\n };\n BufferToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_1 = contexts.shift();\n context_1.subscription.unsubscribe();\n context_1.buffer = null;\n context_1.subscription = null;\n }\n this.contexts = null;\n _super.prototype._error.call(this, err);\n };\n BufferToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n this.destination.next(context_2.buffer);\n context_2.subscription.unsubscribe();\n context_2.buffer = null;\n context_2.subscription = null;\n }\n this.contexts = null;\n _super.prototype._complete.call(this);\n };\n BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue) {\n outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n };\n BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n this.closeBuffer(innerSub.context);\n };\n BufferToggleSubscriber.prototype.openBuffer = function (value) {\n try {\n var closingSelector = this.closingSelector;\n var closingNotifier = closingSelector.call(this, value);\n if (closingNotifier) {\n this.trySubscribe(closingNotifier);\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n var contexts = this.contexts;\n if (contexts && context) {\n var buffer = context.buffer, subscription = context.subscription;\n this.destination.next(buffer);\n contexts.splice(contexts.indexOf(context), 1);\n this.remove(subscription);\n subscription.unsubscribe();\n }\n };\n BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n var contexts = this.contexts;\n var buffer = [];\n var subscription = new _Subscription__WEBPACK_IMPORTED_MODULE_2__.Subscription();\n var context = { buffer: buffer, subscription: subscription };\n contexts.push(context);\n var innerSubscription = (0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__.subscribeToResult)(this, closingNotifier, context);\n if (!innerSubscription || innerSubscription.closed) {\n this.closeBuffer(context);\n }\n else {\n innerSubscription.context = context;\n this.add(innerSubscription);\n subscription.add(innerSubscription);\n }\n };\n return BufferToggleSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__.OuterSubscriber));\n//# sourceMappingURL=bufferToggle.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyVG9nZ2xlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDYztBQUNlO0FBQ1Q7QUFDOUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDBFQUFpQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFNBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLHVEQUFZO0FBQzNDLHdCQUF3QjtBQUN4QjtBQUNBLGdDQUFnQywwRUFBaUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsNkRBQWU7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2J1ZmZlclRvZ2dsZS5qcz9mOWU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmlwdGlvbixfdXRpbF9zdWJzY3JpYmVUb1Jlc3VsdCxfT3V0ZXJTdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG9SZXN1bHQgfSBmcm9tICcuLi91dGlsL3N1YnNjcmliZVRvUmVzdWx0JztcbmltcG9ydCB7IE91dGVyU3Vic2NyaWJlciB9IGZyb20gJy4uL091dGVyU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVG9nZ2xlKG9wZW5pbmdzLCBjbG9zaW5nU2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gYnVmZmVyVG9nZ2xlT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBCdWZmZXJUb2dnbGVPcGVyYXRvcihvcGVuaW5ncywgY2xvc2luZ1NlbGVjdG9yKSk7XG4gICAgfTtcbn1cbnZhciBCdWZmZXJUb2dnbGVPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCdWZmZXJUb2dnbGVPcGVyYXRvcihvcGVuaW5ncywgY2xvc2luZ1NlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMub3BlbmluZ3MgPSBvcGVuaW5ncztcbiAgICAgICAgdGhpcy5jbG9zaW5nU2VsZWN0b3IgPSBjbG9zaW5nU2VsZWN0b3I7XG4gICAgfVxuICAgIEJ1ZmZlclRvZ2dsZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgQnVmZmVyVG9nZ2xlU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLm9wZW5pbmdzLCB0aGlzLmNsb3NpbmdTZWxlY3RvcikpO1xuICAgIH07XG4gICAgcmV0dXJuIEJ1ZmZlclRvZ2dsZU9wZXJhdG9yO1xufSgpKTtcbnZhciBCdWZmZXJUb2dnbGVTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEJ1ZmZlclRvZ2dsZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQnVmZmVyVG9nZ2xlU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgb3BlbmluZ3MsIGNsb3NpbmdTZWxlY3Rvcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuY2xvc2luZ1NlbGVjdG9yID0gY2xvc2luZ1NlbGVjdG9yO1xuICAgICAgICBfdGhpcy5jb250ZXh0cyA9IFtdO1xuICAgICAgICBfdGhpcy5hZGQoc3Vic2NyaWJlVG9SZXN1bHQoX3RoaXMsIG9wZW5pbmdzKSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQnVmZmVyVG9nZ2xlU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgdmFyIGxlbiA9IGNvbnRleHRzLmxlbmd0aDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgY29udGV4dHNbaV0uYnVmZmVyLnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCdWZmZXJUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7XG4gICAgICAgIHdoaWxlIChjb250ZXh0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgY29udGV4dF8xID0gY29udGV4dHMuc2hpZnQoKTtcbiAgICAgICAgICAgIGNvbnRleHRfMS5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIGNvbnRleHRfMS5idWZmZXIgPSBudWxsO1xuICAgICAgICAgICAgY29udGV4dF8xLnN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0cyA9IG51bGw7XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUuX2Vycm9yLmNhbGwodGhpcywgZXJyKTtcbiAgICB9O1xuICAgIEJ1ZmZlclRvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgd2hpbGUgKGNvbnRleHRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHZhciBjb250ZXh0XzIgPSBjb250ZXh0cy5zaGlmdCgpO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KGNvbnRleHRfMi5idWZmZXIpO1xuICAgICAgICAgICAgY29udGV4dF8yLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgY29udGV4dF8yLmJ1ZmZlciA9IG51bGw7XG4gICAgICAgICAgICBjb250ZXh0XzIuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHRzID0gbnVsbDtcbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5fY29tcGxldGUuY2FsbCh0aGlzKTtcbiAgICB9O1xuICAgIEJ1ZmZlclRvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAob3V0ZXJWYWx1ZSwgaW5uZXJWYWx1ZSkge1xuICAgICAgICBvdXRlclZhbHVlID8gdGhpcy5jbG9zZUJ1ZmZlcihvdXRlclZhbHVlKSA6IHRoaXMub3BlbkJ1ZmZlcihpbm5lclZhbHVlKTtcbiAgICB9O1xuICAgIEJ1ZmZlclRvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKGlubmVyU3ViKSB7XG4gICAgICAgIHRoaXMuY2xvc2VCdWZmZXIoaW5uZXJTdWIuY29udGV4dCk7XG4gICAgfTtcbiAgICBCdWZmZXJUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5vcGVuQnVmZmVyID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgY2xvc2luZ1NlbGVjdG9yID0gdGhpcy5jbG9zaW5nU2VsZWN0b3I7XG4gICAgICAgICAgICB2YXIgY2xvc2luZ05vdGlmaWVyID0gY2xvc2luZ1NlbGVjdG9yLmNhbGwodGhpcywgdmFsdWUpO1xuICAgICAgICAgICAgaWYgKGNsb3NpbmdOb3RpZmllcikge1xuICAgICAgICAgICAgICAgIHRoaXMudHJ5U3Vic2NyaWJlKGNsb3NpbmdOb3RpZmllcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5fZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQnVmZmVyVG9nZ2xlU3Vic2NyaWJlci5wcm90b3R5cGUuY2xvc2VCdWZmZXIgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgICB2YXIgY29udGV4dHMgPSB0aGlzLmNvbnRleHRzO1xuICAgICAgICBpZiAoY29udGV4dHMgJiYgY29udGV4dCkge1xuICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGNvbnRleHQuYnVmZmVyLCBzdWJzY3JpcHRpb24gPSBjb250ZXh0LnN1YnNjcmlwdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChidWZmZXIpO1xuICAgICAgICAgICAgY29udGV4dHMuc3BsaWNlKGNvbnRleHRzLmluZGV4T2YoY29udGV4dCksIDEpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCdWZmZXJUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS50cnlTdWJzY3JpYmUgPSBmdW5jdGlvbiAoY2xvc2luZ05vdGlmaWVyKSB7XG4gICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7XG4gICAgICAgIHZhciBidWZmZXIgPSBbXTtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdmFyIGNvbnRleHQgPSB7IGJ1ZmZlcjogYnVmZmVyLCBzdWJzY3JpcHRpb246IHN1YnNjcmlwdGlvbiB9O1xuICAgICAgICBjb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICAgICAgICB2YXIgaW5uZXJTdWJzY3JpcHRpb24gPSBzdWJzY3JpYmVUb1Jlc3VsdCh0aGlzLCBjbG9zaW5nTm90aWZpZXIsIGNvbnRleHQpO1xuICAgICAgICBpZiAoIWlubmVyU3Vic2NyaXB0aW9uIHx8IGlubmVyU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUJ1ZmZlcihjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlubmVyU3Vic2NyaXB0aW9uLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICAgICAgdGhpcy5hZGQoaW5uZXJTdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZChpbm5lclN1YnNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBCdWZmZXJUb2dnbGVTdWJzY3JpYmVyO1xufShPdXRlclN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJ1ZmZlclRvZ2dsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/bufferToggle.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/bufferWhen.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/bufferWhen.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bufferWhen: function() { return /* binding */ bufferWhen; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_Subscription,_innerSubscribe PURE_IMPORTS_END */\n\n\n\nfunction bufferWhen(closingSelector) {\n return function (source) {\n return source.lift(new BufferWhenOperator(closingSelector));\n };\n}\nvar BufferWhenOperator = /*@__PURE__*/ (function () {\n function BufferWhenOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n BufferWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n };\n return BufferWhenOperator;\n}());\nvar BufferWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(BufferWhenSubscriber, _super);\n function BufferWhenSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.subscribing = false;\n _this.openBuffer();\n return _this;\n }\n BufferWhenSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferWhenSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferWhenSubscriber.prototype._unsubscribe = function () {\n this.buffer = undefined;\n this.subscribing = false;\n };\n BufferWhenSubscriber.prototype.notifyNext = function () {\n this.openBuffer();\n };\n BufferWhenSubscriber.prototype.notifyComplete = function () {\n if (this.subscribing) {\n this.complete();\n }\n else {\n this.openBuffer();\n }\n };\n BufferWhenSubscriber.prototype.openBuffer = function () {\n var closingSubscription = this.closingSubscription;\n if (closingSubscription) {\n this.remove(closingSubscription);\n closingSubscription.unsubscribe();\n }\n var buffer = this.buffer;\n if (this.buffer) {\n this.destination.next(buffer);\n }\n this.buffer = [];\n var closingNotifier;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector();\n }\n catch (err) {\n return this.error(err);\n }\n closingSubscription = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n this.closingSubscription = closingSubscription;\n this.add(closingSubscription);\n this.subscribing = true;\n closingSubscription.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.innerSubscribe)(closingNotifier, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.SimpleInnerSubscriber(this)));\n this.subscribing = false;\n };\n return BufferWhenSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.SimpleOuterSubscriber));\n//# sourceMappingURL=bufferWhen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyV2hlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDaUM7QUFDYztBQUNrRDtBQUMxRjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyx1REFBWTtBQUM5QztBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsK0RBQWMsc0JBQXNCLGtFQUFxQjtBQUN6RjtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJXaGVuLmpzPzNiNGEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaXB0aW9uLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgaW5uZXJTdWJzY3JpYmUsIFNpbXBsZUlubmVyU3Vic2NyaWJlciB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJXaGVuKGNsb3NpbmdTZWxlY3Rvcikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgQnVmZmVyV2hlbk9wZXJhdG9yKGNsb3NpbmdTZWxlY3RvcikpO1xuICAgIH07XG59XG52YXIgQnVmZmVyV2hlbk9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEJ1ZmZlcldoZW5PcGVyYXRvcihjbG9zaW5nU2VsZWN0b3IpIHtcbiAgICAgICAgdGhpcy5jbG9zaW5nU2VsZWN0b3IgPSBjbG9zaW5nU2VsZWN0b3I7XG4gICAgfVxuICAgIEJ1ZmZlcldoZW5PcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IEJ1ZmZlcldoZW5TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuY2xvc2luZ1NlbGVjdG9yKSk7XG4gICAgfTtcbiAgICByZXR1cm4gQnVmZmVyV2hlbk9wZXJhdG9yO1xufSgpKTtcbnZhciBCdWZmZXJXaGVuU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhCdWZmZXJXaGVuU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBCdWZmZXJXaGVuU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgY2xvc2luZ1NlbGVjdG9yKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5jbG9zaW5nU2VsZWN0b3IgPSBjbG9zaW5nU2VsZWN0b3I7XG4gICAgICAgIF90aGlzLnN1YnNjcmliaW5nID0gZmFsc2U7XG4gICAgICAgIF90aGlzLm9wZW5CdWZmZXIoKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBCdWZmZXJXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5idWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgfTtcbiAgICBCdWZmZXJXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7XG4gICAgICAgIGlmIChidWZmZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChidWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUuX2NvbXBsZXRlLmNhbGwodGhpcyk7XG4gICAgfTtcbiAgICBCdWZmZXJXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUuX3Vuc3Vic2NyaWJlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmJ1ZmZlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmluZyA9IGZhbHNlO1xuICAgIH07XG4gICAgQnVmZmVyV2hlblN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMub3BlbkJ1ZmZlcigpO1xuICAgIH07XG4gICAgQnVmZmVyV2hlblN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpYmluZykge1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuQnVmZmVyKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEJ1ZmZlcldoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS5vcGVuQnVmZmVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY2xvc2luZ1N1YnNjcmlwdGlvbiA9IHRoaXMuY2xvc2luZ1N1YnNjcmlwdGlvbjtcbiAgICAgICAgaWYgKGNsb3NpbmdTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlKGNsb3NpbmdTdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgY2xvc2luZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlcjtcbiAgICAgICAgaWYgKHRoaXMuYnVmZmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQoYnVmZmVyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xuICAgICAgICB2YXIgY2xvc2luZ05vdGlmaWVyO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGNsb3NpbmdTZWxlY3RvciA9IHRoaXMuY2xvc2luZ1NlbGVjdG9yO1xuICAgICAgICAgICAgY2xvc2luZ05vdGlmaWVyID0gY2xvc2luZ1NlbGVjdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBjbG9zaW5nU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NpbmdTdWJzY3JpcHRpb24gPSBjbG9zaW5nU3Vic2NyaXB0aW9uO1xuICAgICAgICB0aGlzLmFkZChjbG9zaW5nU3Vic2NyaXB0aW9uKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmluZyA9IHRydWU7XG4gICAgICAgIGNsb3NpbmdTdWJzY3JpcHRpb24uYWRkKGlubmVyU3Vic2NyaWJlKGNsb3NpbmdOb3RpZmllciwgbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmliaW5nID0gZmFsc2U7XG4gICAgfTtcbiAgICByZXR1cm4gQnVmZmVyV2hlblN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnVmZmVyV2hlbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/bufferWhen.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/catchError.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/catchError.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ catchError: function() { return /* binding */ catchError; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nvar CatchOperator = /*@__PURE__*/ (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\nvar CatchSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n var _this = _super.call(this, destination) || this;\n _this.selector = selector;\n _this.caught = caught;\n return _this;\n }\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n };\n return CatchSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=catchError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY2F0Y2hFcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNnRTtBQUMxRjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLGtFQUFxQjtBQUMzRDtBQUNBLG9DQUFvQywrREFBYztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9jYXRjaEVycm9yLmpzPzIxYzgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiBjYXRjaEVycm9yKHNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNhdGNoRXJyb3JPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICB2YXIgb3BlcmF0b3IgPSBuZXcgQ2F0Y2hPcGVyYXRvcihzZWxlY3Rvcik7XG4gICAgICAgIHZhciBjYXVnaHQgPSBzb3VyY2UubGlmdChvcGVyYXRvcik7XG4gICAgICAgIHJldHVybiAob3BlcmF0b3IuY2F1Z2h0ID0gY2F1Z2h0KTtcbiAgICB9O1xufVxudmFyIENhdGNoT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQ2F0Y2hPcGVyYXRvcihzZWxlY3Rvcikge1xuICAgICAgICB0aGlzLnNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgfVxuICAgIENhdGNoT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBDYXRjaFN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5zZWxlY3RvciwgdGhpcy5jYXVnaHQpKTtcbiAgICB9O1xuICAgIHJldHVybiBDYXRjaE9wZXJhdG9yO1xufSgpKTtcbnZhciBDYXRjaFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQ2F0Y2hTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIENhdGNoU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgc2VsZWN0b3IsIGNhdWdodCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuc2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuY2F1Z2h0ID0gY2F1Z2h0O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIENhdGNoU3Vic2NyaWJlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSB2b2lkIDA7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuc2VsZWN0b3IoZXJyLCB0aGlzLmNhdWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyMikge1xuICAgICAgICAgICAgICAgIF9zdXBlci5wcm90b3R5cGUuZXJyb3IuY2FsbCh0aGlzLCBlcnIyKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFuZFJlY3ljbGUoKTtcbiAgICAgICAgICAgIHZhciBpbm5lclN1YnNjcmliZXIgPSBuZXcgU2ltcGxlSW5uZXJTdWJzY3JpYmVyKHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5hZGQoaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKHJlc3VsdCwgaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgICAgIGlmIChpbm5lclN1YnNjcmlwdGlvbiAhPT0gaW5uZXJTdWJzY3JpYmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGQoaW5uZXJTdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gQ2F0Y2hTdWJzY3JpYmVyO1xufShTaW1wbGVPdXRlclN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNhdGNoRXJyb3IuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/catchError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/combineAll.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/combineAll.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ combineAll: function() { return /* binding */ combineAll; }\n/* harmony export */ });\n/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/combineLatest */ \"./node_modules/rxjs/_esm5/internal/observable/combineLatest.js\");\n/** PURE_IMPORTS_START _observable_combineLatest PURE_IMPORTS_END */\n\nfunction combineAll(project) {\n return function (source) { return source.lift(new _observable_combineLatest__WEBPACK_IMPORTED_MODULE_0__.CombineLatestOperator(project)); };\n}\n//# sourceMappingURL=combineAll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29tYmluZUFsbC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ29FO0FBQzdEO0FBQ1AsK0JBQStCLHVCQUF1Qiw0RUFBcUI7QUFDM0U7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29tYmluZUFsbC5qcz9lMzk0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfY29tYmluZUxhdGVzdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBDb21iaW5lTGF0ZXN0T3BlcmF0b3IgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2NvbWJpbmVMYXRlc3QnO1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVBbGwocHJvamVjdCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgQ29tYmluZUxhdGVzdE9wZXJhdG9yKHByb2plY3QpKTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbWJpbmVBbGwuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/combineAll.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/combineLatest.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/combineLatest.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ combineLatest: function() { return /* binding */ combineLatest; }\n/* harmony export */ });\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../observable/combineLatest */ \"./node_modules/rxjs/_esm5/internal/observable/combineLatest.js\");\n/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../observable/from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/** PURE_IMPORTS_START _util_isArray,_observable_combineLatest,_observable_from PURE_IMPORTS_END */\n\n\n\nvar none = {};\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n if (observables.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call((0,_observable_from__WEBPACK_IMPORTED_MODULE_1__.from)([source].concat(observables)), new _observable_combineLatest__WEBPACK_IMPORTED_MODULE_2__.CombineLatestOperator(project)); };\n}\n//# sourceMappingURL=combineLatest.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29tYmluZUxhdGVzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDMEM7QUFDMEI7QUFDMUI7QUFDMUM7QUFDTztBQUNQO0FBQ0EscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0Msc0RBQU87QUFDM0M7QUFDQTtBQUNBLCtCQUErQix3QkFBd0Isc0RBQUksb0NBQW9DLDRFQUFxQjtBQUNwSDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9jb21iaW5lTGF0ZXN0LmpzPzU1NmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfdXRpbF9pc0FycmF5LF9vYnNlcnZhYmxlX2NvbWJpbmVMYXRlc3QsX29ic2VydmFibGVfZnJvbSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbC9pc0FycmF5JztcbmltcG9ydCB7IENvbWJpbmVMYXRlc3RPcGVyYXRvciB9IGZyb20gJy4uL29ic2VydmFibGUvY29tYmluZUxhdGVzdCc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tJztcbnZhciBub25lID0ge307XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdCgpIHtcbiAgICB2YXIgb2JzZXJ2YWJsZXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBvYnNlcnZhYmxlc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgIH1cbiAgICB2YXIgcHJvamVjdCA9IG51bGw7XG4gICAgaWYgKHR5cGVvZiBvYnNlcnZhYmxlc1tvYnNlcnZhYmxlcy5sZW5ndGggLSAxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBwcm9qZWN0ID0gb2JzZXJ2YWJsZXMucG9wKCk7XG4gICAgfVxuICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGggPT09IDEgJiYgaXNBcnJheShvYnNlcnZhYmxlc1swXSkpIHtcbiAgICAgICAgb2JzZXJ2YWJsZXMgPSBvYnNlcnZhYmxlc1swXS5zbGljZSgpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQuY2FsbChmcm9tKFtzb3VyY2VdLmNvbmNhdChvYnNlcnZhYmxlcykpLCBuZXcgQ29tYmluZUxhdGVzdE9wZXJhdG9yKHByb2plY3QpKTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbWJpbmVMYXRlc3QuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/combineLatest.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/concat.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/concat.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concat: function() { return /* binding */ concat; }\n/* harmony export */ });\n/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/concat */ \"./node_modules/rxjs/_esm5/internal/observable/concat.js\");\n/** PURE_IMPORTS_START _observable_concat PURE_IMPORTS_END */\n\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(_observable_concat__WEBPACK_IMPORTED_MODULE_0__.concat.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=concat.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDOEQ7QUFDdkQ7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBLCtCQUErQix3QkFBd0Isc0RBQVk7QUFDbkU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0LmpzPzdjODYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfb2JzZXJ2YWJsZV9jb25jYXQgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgY29uY2F0IGFzIGNvbmNhdFN0YXRpYyB9IGZyb20gJy4uL29ic2VydmFibGUvY29uY2F0JztcbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoKSB7XG4gICAgdmFyIG9ic2VydmFibGVzID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgb2JzZXJ2YWJsZXNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0LmNhbGwoY29uY2F0U3RhdGljLmFwcGx5KHZvaWQgMCwgW3NvdXJjZV0uY29uY2F0KG9ic2VydmFibGVzKSkpOyB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uY2F0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/concat.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/concatAll.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/concatAll.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concatAll: function() { return /* binding */ concatAll; }\n/* harmony export */ });\n/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mergeAll */ \"./node_modules/rxjs/_esm5/internal/operators/mergeAll.js\");\n/** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */\n\nfunction concatAll() {\n return (0,_mergeAll__WEBPACK_IMPORTED_MODULE_0__.mergeAll)(1);\n}\n//# sourceMappingURL=concatAll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0QWxsLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDc0M7QUFDL0I7QUFDUCxXQUFXLG1EQUFRO0FBQ25CO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdEFsbC5qcz84M2NiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX21lcmdlQWxsIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IG1lcmdlQWxsIH0gZnJvbSAnLi9tZXJnZUFsbCc7XG5leHBvcnQgZnVuY3Rpb24gY29uY2F0QWxsKCkge1xuICAgIHJldHVybiBtZXJnZUFsbCgxKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbmNhdEFsbC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/concatAll.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/concatMap.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/concatMap.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concatMap: function() { return /* binding */ concatMap; }\n/* harmony export */ });\n/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mergeMap */ \"./node_modules/rxjs/_esm5/internal/operators/mergeMap.js\");\n/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\n\nfunction concatMap(project, resultSelector) {\n return (0,_mergeMap__WEBPACK_IMPORTED_MODULE_0__.mergeMap)(project, resultSelector, 1);\n}\n//# sourceMappingURL=concatMap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0TWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDc0M7QUFDL0I7QUFDUCxXQUFXLG1EQUFRO0FBQ25CO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdE1hcC5qcz9jOTcwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX21lcmdlTWFwIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAnLi9tZXJnZU1hcCc7XG5leHBvcnQgZnVuY3Rpb24gY29uY2F0TWFwKHByb2plY3QsIHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIG1lcmdlTWFwKHByb2plY3QsIHJlc3VsdFNlbGVjdG9yLCAxKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbmNhdE1hcC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/concatMap.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/concatMapTo.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/concatMapTo.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concatMapTo: function() { return /* binding */ concatMapTo; }\n/* harmony export */ });\n/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./concatMap */ \"./node_modules/rxjs/_esm5/internal/operators/concatMap.js\");\n/** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */\n\nfunction concatMapTo(innerObservable, resultSelector) {\n return (0,_concatMap__WEBPACK_IMPORTED_MODULE_0__.concatMap)(function () { return innerObservable; }, resultSelector);\n}\n//# sourceMappingURL=concatMapTo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0TWFwVG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUN3QztBQUNqQztBQUNQLFdBQVcscURBQVMsZUFBZSx5QkFBeUI7QUFDNUQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0TWFwVG8uanM/ZTlmZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9jb25jYXRNYXAgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgY29uY2F0TWFwIH0gZnJvbSAnLi9jb25jYXRNYXAnO1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdE1hcFRvKGlubmVyT2JzZXJ2YWJsZSwgcmVzdWx0U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gY29uY2F0TWFwKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGlubmVyT2JzZXJ2YWJsZTsgfSwgcmVzdWx0U2VsZWN0b3IpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uY2F0TWFwVG8uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/concatMapTo.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/count.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/count.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ count: function() { return /* binding */ count; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nvar CountOperator = /*@__PURE__*/ (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\nvar CountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.count = 0;\n _this.index = 0;\n return _this;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=count.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvY291bnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2NvdW50LmpzPzQ5YjMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGNvdW50KHByZWRpY2F0ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgQ291bnRPcGVyYXRvcihwcmVkaWNhdGUsIHNvdXJjZSkpOyB9O1xufVxudmFyIENvdW50T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQ291bnRPcGVyYXRvcihwcmVkaWNhdGUsIHNvdXJjZSkge1xuICAgICAgICB0aGlzLnByZWRpY2F0ZSA9IHByZWRpY2F0ZTtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgfVxuICAgIENvdW50T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBDb3VudFN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5wcmVkaWNhdGUsIHRoaXMuc291cmNlKSk7XG4gICAgfTtcbiAgICByZXR1cm4gQ291bnRPcGVyYXRvcjtcbn0oKSk7XG52YXIgQ291bnRTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKENvdW50U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBDb3VudFN1YnNjcmliZXIoZGVzdGluYXRpb24sIHByZWRpY2F0ZSwgc291cmNlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wcmVkaWNhdGUgPSBwcmVkaWNhdGU7XG4gICAgICAgIF90aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgX3RoaXMuY291bnQgPSAwO1xuICAgICAgICBfdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQ291bnRTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5wcmVkaWNhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyeVByZWRpY2F0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvdW50Kys7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIENvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX3RyeVByZWRpY2F0ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5wcmVkaWNhdGUodmFsdWUsIHRoaXMuaW5kZXgrKywgdGhpcy5zb3VyY2UpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICB0aGlzLmNvdW50Kys7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIENvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodGhpcy5jb3VudCk7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICB9O1xuICAgIHJldHVybiBDb3VudFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvdW50LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/count.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/debounce.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/debounce.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ debounce: function() { return /* binding */ debounce; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction debounce(durationSelector) {\n return function (source) { return source.lift(new DebounceOperator(durationSelector)); };\n}\nvar DebounceOperator = /*@__PURE__*/ (function () {\n function DebounceOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n DebounceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n };\n return DebounceOperator;\n}());\nvar DebounceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(DebounceSubscriber, _super);\n function DebounceSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n DebounceSubscriber.prototype._next = function (value) {\n try {\n var result = this.durationSelector.call(this, value);\n if (result) {\n this._tryNext(value, result);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DebounceSubscriber.prototype._complete = function () {\n this.emitValue();\n this.destination.complete();\n };\n DebounceSubscriber.prototype._tryNext = function (value, duration) {\n var subscription = this.durationSubscription;\n this.value = value;\n this.hasValue = true;\n if (subscription) {\n subscription.unsubscribe();\n this.remove(subscription);\n }\n subscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(duration, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this));\n if (subscription && !subscription.closed) {\n this.add(this.durationSubscription = subscription);\n }\n };\n DebounceSubscriber.prototype.notifyNext = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n var value = this.value;\n var subscription = this.durationSubscription;\n if (subscription) {\n this.durationSubscription = undefined;\n subscription.unsubscribe();\n this.remove(subscription);\n }\n this.value = undefined;\n this.hasValue = false;\n _super.prototype._next.call(this, value);\n }\n };\n return DebounceSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=debounce.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGVib3VuY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDZ0U7QUFDMUY7QUFDUCwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrREFBYyxlQUFlLGtFQUFxQjtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2RlYm91bmNlLmpzPzI2ODUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgaW5uZXJTdWJzY3JpYmUsIFNpbXBsZUlubmVyU3Vic2NyaWJlciB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZShkdXJhdGlvblNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBEZWJvdW5jZU9wZXJhdG9yKGR1cmF0aW9uU2VsZWN0b3IpKTsgfTtcbn1cbnZhciBEZWJvdW5jZU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERlYm91bmNlT3BlcmF0b3IoZHVyYXRpb25TZWxlY3Rvcikge1xuICAgICAgICB0aGlzLmR1cmF0aW9uU2VsZWN0b3IgPSBkdXJhdGlvblNlbGVjdG9yO1xuICAgIH1cbiAgICBEZWJvdW5jZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgRGVib3VuY2VTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuZHVyYXRpb25TZWxlY3RvcikpO1xuICAgIH07XG4gICAgcmV0dXJuIERlYm91bmNlT3BlcmF0b3I7XG59KCkpO1xudmFyIERlYm91bmNlU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhEZWJvdW5jZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gRGVib3VuY2VTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBkdXJhdGlvblNlbGVjdG9yKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5kdXJhdGlvblNlbGVjdG9yID0gZHVyYXRpb25TZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBEZWJvdW5jZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gdGhpcy5kdXJhdGlvblNlbGVjdG9yLmNhbGwodGhpcywgdmFsdWUpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyeU5leHQodmFsdWUsIHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBEZWJvdW5jZVN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgRGVib3VuY2VTdWJzY3JpYmVyLnByb3RvdHlwZS5fdHJ5TmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSwgZHVyYXRpb24pIHtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IHRoaXMuZHVyYXRpb25TdWJzY3JpcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBzdWJzY3JpcHRpb24gPSBpbm5lclN1YnNjcmliZShkdXJhdGlvbiwgbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKSk7XG4gICAgICAgIGlmIChzdWJzY3JpcHRpb24gJiYgIXN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKHRoaXMuZHVyYXRpb25TdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb24pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBEZWJvdW5jZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgfTtcbiAgICBEZWJvdW5jZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgIH07XG4gICAgRGVib3VuY2VTdWJzY3JpYmVyLnByb3RvdHlwZS5lbWl0VmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IHRoaXMuZHVyYXRpb25TdWJzY3JpcHRpb247XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kdXJhdGlvblN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZShzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIF9zdXBlci5wcm90b3R5cGUuX25leHQuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBEZWJvdW5jZVN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVib3VuY2UuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/debounce.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/debounceTime.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/debounceTime.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ debounceTime: function() { return /* binding */ debounceTime; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\n\n\n\nfunction debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nvar DebounceTimeOperator = /*@__PURE__*/ (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\nvar DebounceTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.dueTime = dueTime;\n _this.scheduler = scheduler;\n _this.debouncedSubscription = null;\n _this.lastValue = null;\n _this.hasValue = false;\n return _this;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n var lastValue = this.lastValue;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGVib3VuY2VUaW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ0E7QUFDcEM7QUFDUDtBQUNBLG9CQUFvQixtREFBSztBQUN6QjtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1o7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2RlYm91bmNlVGltZS5qcz8zODJiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX3NjaGVkdWxlcl9hc3luYyBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgYXN5bmMgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRlYm91bmNlVGltZShkdWVUaW1lLCBzY2hlZHVsZXIpIHtcbiAgICBpZiAoc2NoZWR1bGVyID09PSB2b2lkIDApIHtcbiAgICAgICAgc2NoZWR1bGVyID0gYXN5bmM7XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgRGVib3VuY2VUaW1lT3BlcmF0b3IoZHVlVGltZSwgc2NoZWR1bGVyKSk7IH07XG59XG52YXIgRGVib3VuY2VUaW1lT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRGVib3VuY2VUaW1lT3BlcmF0b3IoZHVlVGltZSwgc2NoZWR1bGVyKSB7XG4gICAgICAgIHRoaXMuZHVlVGltZSA9IGR1ZVRpbWU7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgIH1cbiAgICBEZWJvdW5jZVRpbWVPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IERlYm91bmNlVGltZVN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5kdWVUaW1lLCB0aGlzLnNjaGVkdWxlcikpO1xuICAgIH07XG4gICAgcmV0dXJuIERlYm91bmNlVGltZU9wZXJhdG9yO1xufSgpKTtcbnZhciBEZWJvdW5jZVRpbWVTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKERlYm91bmNlVGltZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gRGVib3VuY2VUaW1lU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgZHVlVGltZSwgc2NoZWR1bGVyKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5kdWVUaW1lID0gZHVlVGltZTtcbiAgICAgICAgX3RoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgICAgICBfdGhpcy5kZWJvdW5jZWRTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICBfdGhpcy5sYXN0VmFsdWUgPSBudWxsO1xuICAgICAgICBfdGhpcy5oYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIERlYm91bmNlVGltZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2xlYXJEZWJvdW5jZSgpO1xuICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZGQodGhpcy5kZWJvdW5jZWRTdWJzY3JpcHRpb24gPSB0aGlzLnNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaE5leHQsIHRoaXMuZHVlVGltZSwgdGhpcykpO1xuICAgIH07XG4gICAgRGVib3VuY2VUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmRlYm91bmNlZE5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgRGVib3VuY2VUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUuZGVib3VuY2VkTmV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5jbGVhckRlYm91bmNlKCk7XG4gICAgICAgIGlmICh0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgbGFzdFZhbHVlID0gdGhpcy5sYXN0VmFsdWU7XG4gICAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQobGFzdFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRGVib3VuY2VUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUuY2xlYXJEZWJvdW5jZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRlYm91bmNlZFN1YnNjcmlwdGlvbiA9IHRoaXMuZGVib3VuY2VkU3Vic2NyaXB0aW9uO1xuICAgICAgICBpZiAoZGVib3VuY2VkU3Vic2NyaXB0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZShkZWJvdW5jZWRTdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgZGVib3VuY2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmRlYm91bmNlZFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBEZWJvdW5jZVRpbWVTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG5mdW5jdGlvbiBkaXNwYXRjaE5leHQoc3Vic2NyaWJlcikge1xuICAgIHN1YnNjcmliZXIuZGVib3VuY2VkTmV4dCgpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVib3VuY2VUaW1lLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/debounceTime.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultIfEmpty: function() { return /* binding */ defaultIfEmpty; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = null;\n }\n return function (source) { return source.lift(new DefaultIfEmptyOperator(defaultValue)); };\n}\nvar DefaultIfEmptyOperator = /*@__PURE__*/ (function () {\n function DefaultIfEmptyOperator(defaultValue) {\n this.defaultValue = defaultValue;\n }\n DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n };\n return DefaultIfEmptyOperator;\n}());\nvar DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(DefaultIfEmptySubscriber, _super);\n function DefaultIfEmptySubscriber(destination, defaultValue) {\n var _this = _super.call(this, destination) || this;\n _this.defaultValue = defaultValue;\n _this.isEmpty = true;\n return _this;\n }\n DefaultIfEmptySubscriber.prototype._next = function (value) {\n this.isEmpty = false;\n this.destination.next(value);\n };\n DefaultIfEmptySubscriber.prototype._complete = function () {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n };\n return DefaultIfEmptySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGVmYXVsdElmRW1wdHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2RlZmF1bHRJZkVtcHR5LmpzP2EyOWQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRJZkVtcHR5KGRlZmF1bHRWYWx1ZSkge1xuICAgIGlmIChkZWZhdWx0VmFsdWUgPT09IHZvaWQgMCkge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IERlZmF1bHRJZkVtcHR5T3BlcmF0b3IoZGVmYXVsdFZhbHVlKSk7IH07XG59XG52YXIgRGVmYXVsdElmRW1wdHlPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEZWZhdWx0SWZFbXB0eU9wZXJhdG9yKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gICAgRGVmYXVsdElmRW1wdHlPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IERlZmF1bHRJZkVtcHR5U3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmRlZmF1bHRWYWx1ZSkpO1xuICAgIH07XG4gICAgcmV0dXJuIERlZmF1bHRJZkVtcHR5T3BlcmF0b3I7XG59KCkpO1xudmFyIERlZmF1bHRJZkVtcHR5U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhEZWZhdWx0SWZFbXB0eVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gRGVmYXVsdElmRW1wdHlTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBkZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgX3RoaXMuaXNFbXB0eSA9IHRydWU7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgRGVmYXVsdElmRW1wdHlTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmlzRW1wdHkgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICB9O1xuICAgIERlZmF1bHRJZkVtcHR5U3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5pc0VtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodGhpcy5kZWZhdWx0VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICB9O1xuICAgIHJldHVybiBEZWZhdWx0SWZFbXB0eVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlZmF1bHRJZkVtcHR5LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/delay.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/delay.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ delay: function() { return /* binding */ delay; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isDate */ \"./node_modules/rxjs/_esm5/internal/util/isDate.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Notification */ \"./node_modules/rxjs/_esm5/internal/Notification.js\");\n/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */\n\n\n\n\n\nfunction delay(delay, scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n var absoluteDelay = (0,_util_isDate__WEBPACK_IMPORTED_MODULE_1__.isDate)(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nvar DelayOperator = /*@__PURE__*/ (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\nvar DelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.delay = delay;\n _this.scheduler = scheduler;\n _this.queue = [];\n _this.active = false;\n _this.errored = false;\n return _this;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n var destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(_Notification__WEBPACK_IMPORTED_MODULE_3__.Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(_Notification__WEBPACK_IMPORTED_MODULE_3__.Notification.createComplete());\n this.unsubscribe();\n };\n return DelaySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_4__.Subscriber));\nvar DelayMessage = /*@__PURE__*/ (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNIO0FBQ0c7QUFDSTtBQUN4QztBQUNQO0FBQ0Esb0JBQW9CLG1EQUFLO0FBQ3pCO0FBQ0Esd0JBQXdCLG9EQUFNO0FBQzlCO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsdURBQVk7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyx1REFBWTtBQUM5QztBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2RlbGF5LmpzPzgxZjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfc2NoZWR1bGVyX2FzeW5jLF91dGlsX2lzRGF0ZSxfU3Vic2NyaWJlcixfTm90aWZpY2F0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBhc3luYyB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBpc0RhdGUgfSBmcm9tICcuLi91dGlsL2lzRGF0ZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9Ob3RpZmljYXRpb24nO1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5KGRlbGF5LCBzY2hlZHVsZXIpIHtcbiAgICBpZiAoc2NoZWR1bGVyID09PSB2b2lkIDApIHtcbiAgICAgICAgc2NoZWR1bGVyID0gYXN5bmM7XG4gICAgfVxuICAgIHZhciBhYnNvbHV0ZURlbGF5ID0gaXNEYXRlKGRlbGF5KTtcbiAgICB2YXIgZGVsYXlGb3IgPSBhYnNvbHV0ZURlbGF5ID8gKCtkZWxheSAtIHNjaGVkdWxlci5ub3coKSkgOiBNYXRoLmFicyhkZWxheSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBEZWxheU9wZXJhdG9yKGRlbGF5Rm9yLCBzY2hlZHVsZXIpKTsgfTtcbn1cbnZhciBEZWxheU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERlbGF5T3BlcmF0b3IoZGVsYXksIHNjaGVkdWxlcikge1xuICAgICAgICB0aGlzLmRlbGF5ID0gZGVsYXk7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgIH1cbiAgICBEZWxheU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgRGVsYXlTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuZGVsYXksIHRoaXMuc2NoZWR1bGVyKSk7XG4gICAgfTtcbiAgICByZXR1cm4gRGVsYXlPcGVyYXRvcjtcbn0oKSk7XG52YXIgRGVsYXlTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKERlbGF5U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBEZWxheVN1YnNjcmliZXIoZGVzdGluYXRpb24sIGRlbGF5LCBzY2hlZHVsZXIpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmRlbGF5ID0gZGVsYXk7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMucXVldWUgPSBbXTtcbiAgICAgICAgX3RoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmVycm9yZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBEZWxheVN1YnNjcmliZXIuZGlzcGF0Y2ggPSBmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IHN0YXRlLnNvdXJjZTtcbiAgICAgICAgdmFyIHF1ZXVlID0gc291cmNlLnF1ZXVlO1xuICAgICAgICB2YXIgc2NoZWR1bGVyID0gc3RhdGUuc2NoZWR1bGVyO1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSBzdGF0ZS5kZXN0aW5hdGlvbjtcbiAgICAgICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDAgJiYgKHF1ZXVlWzBdLnRpbWUgLSBzY2hlZHVsZXIubm93KCkpIDw9IDApIHtcbiAgICAgICAgICAgIHF1ZXVlLnNoaWZ0KCkubm90aWZpY2F0aW9uLm9ic2VydmUoZGVzdGluYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgZGVsYXlfMSA9IE1hdGgubWF4KDAsIHF1ZXVlWzBdLnRpbWUgLSBzY2hlZHVsZXIubm93KCkpO1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZShzdGF0ZSwgZGVsYXlfMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICBzb3VyY2UuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIERlbGF5U3Vic2NyaWJlci5wcm90b3R5cGUuX3NjaGVkdWxlID0gZnVuY3Rpb24gKHNjaGVkdWxlcikge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGRlc3RpbmF0aW9uLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoRGVsYXlTdWJzY3JpYmVyLmRpc3BhdGNoLCB0aGlzLmRlbGF5LCB7XG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMsIGRlc3RpbmF0aW9uOiB0aGlzLmRlc3RpbmF0aW9uLCBzY2hlZHVsZXI6IHNjaGVkdWxlclxuICAgICAgICB9KSk7XG4gICAgfTtcbiAgICBEZWxheVN1YnNjcmliZXIucHJvdG90eXBlLnNjaGVkdWxlTm90aWZpY2F0aW9uID0gZnVuY3Rpb24gKG5vdGlmaWNhdGlvbikge1xuICAgICAgICBpZiAodGhpcy5lcnJvcmVkID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNjaGVkdWxlciA9IHRoaXMuc2NoZWR1bGVyO1xuICAgICAgICB2YXIgbWVzc2FnZSA9IG5ldyBEZWxheU1lc3NhZ2Uoc2NoZWR1bGVyLm5vdygpICsgdGhpcy5kZWxheSwgbm90aWZpY2F0aW9uKTtcbiAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLl9zY2hlZHVsZShzY2hlZHVsZXIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBEZWxheVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uLmNyZWF0ZU5leHQodmFsdWUpKTtcbiAgICB9O1xuICAgIERlbGF5U3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB0aGlzLmVycm9yZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1ZXVlID0gW107XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgRGVsYXlTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uLmNyZWF0ZUNvbXBsZXRlKCkpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICByZXR1cm4gRGVsYXlTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG52YXIgRGVsYXlNZXNzYWdlID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERlbGF5TWVzc2FnZSh0aW1lLCBub3RpZmljYXRpb24pIHtcbiAgICAgICAgdGhpcy50aW1lID0gdGltZTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24gPSBub3RpZmljYXRpb247XG4gICAgfVxuICAgIHJldHVybiBEZWxheU1lc3NhZ2U7XG59KCkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVsYXkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/delay.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/delayWhen.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/delayWhen.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ delayWhen: function() { return /* binding */ delayWhen; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\n\n\n\n\n\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return new SubscriptionDelayObservable(source, subscriptionDelay)\n .lift(new DelayWhenOperator(delayDurationSelector));\n };\n }\n return function (source) { return source.lift(new DelayWhenOperator(delayDurationSelector)); };\n}\nvar DelayWhenOperator = /*@__PURE__*/ (function () {\n function DelayWhenOperator(delayDurationSelector) {\n this.delayDurationSelector = delayDurationSelector;\n }\n DelayWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n };\n return DelayWhenOperator;\n}());\nvar DelayWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(DelayWhenSubscriber, _super);\n function DelayWhenSubscriber(destination, delayDurationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.delayDurationSelector = delayDurationSelector;\n _this.completed = false;\n _this.delayNotifierSubscriptions = [];\n _this.index = 0;\n return _this;\n }\n DelayWhenSubscriber.prototype.notifyNext = function (outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.destination.next(outerValue);\n this.removeSubscription(innerSub);\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n var value = this.removeSubscription(innerSub);\n if (value) {\n this.destination.next(value);\n }\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype._next = function (value) {\n var index = this.index++;\n try {\n var delayNotifier = this.delayDurationSelector(value, index);\n if (delayNotifier) {\n this.tryDelay(delayNotifier, value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DelayWhenSubscriber.prototype._complete = function () {\n this.completed = true;\n this.tryComplete();\n this.unsubscribe();\n };\n DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n subscription.unsubscribe();\n var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n if (subscriptionIdx !== -1) {\n this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n }\n return subscription.outerValue;\n };\n DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n var notifierSubscription = (0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__.subscribeToResult)(this, delayNotifier, value);\n if (notifierSubscription && !notifierSubscription.closed) {\n var destination = this.destination;\n destination.add(notifierSubscription);\n this.delayNotifierSubscriptions.push(notifierSubscription);\n }\n };\n DelayWhenSubscriber.prototype.tryComplete = function () {\n if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n this.destination.complete();\n }\n };\n return DelayWhenSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__.OuterSubscriber));\nvar SubscriptionDelayObservable = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SubscriptionDelayObservable, _super);\n function SubscriptionDelayObservable(source, subscriptionDelay) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subscriptionDelay = subscriptionDelay;\n return _this;\n }\n SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n };\n return SubscriptionDelayObservable;\n}(_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable));\nvar SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SubscriptionDelaySubscriber, _super);\n function SubscriptionDelaySubscriber(parent, source) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.source = source;\n _this.sourceSubscribed = false;\n return _this;\n }\n SubscriptionDelaySubscriber.prototype._next = function (unused) {\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype._error = function (err) {\n this.unsubscribe();\n this.parent.error(err);\n };\n SubscriptionDelaySubscriber.prototype._complete = function () {\n this.unsubscribe();\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n if (!this.sourceSubscribed) {\n this.sourceSubscribed = true;\n this.unsubscribe();\n this.source.subscribe(this.parent);\n }\n };\n return SubscriptionDelaySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_4__.Subscriber));\n//# sourceMappingURL=delayWhen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXlXaGVuLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDQTtBQUNVO0FBQ1M7QUFDdkQ7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsMEVBQWlCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyw2REFBZTtBQUNqQjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1o7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2RlbGF5V2hlbi5qcz8xNjk2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX09ic2VydmFibGUsX091dGVyU3Vic2NyaWJlcixfdXRpbF9zdWJzY3JpYmVUb1Jlc3VsdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgT3V0ZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vT3V0ZXJTdWJzY3JpYmVyJztcbmltcG9ydCB7IHN1YnNjcmliZVRvUmVzdWx0IH0gZnJvbSAnLi4vdXRpbC9zdWJzY3JpYmVUb1Jlc3VsdCc7XG5leHBvcnQgZnVuY3Rpb24gZGVsYXlXaGVuKGRlbGF5RHVyYXRpb25TZWxlY3Rvciwgc3Vic2NyaXB0aW9uRGVsYXkpIHtcbiAgICBpZiAoc3Vic2NyaXB0aW9uRGVsYXkpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRGVsYXlPYnNlcnZhYmxlKHNvdXJjZSwgc3Vic2NyaXB0aW9uRGVsYXkpXG4gICAgICAgICAgICAgICAgLmxpZnQobmV3IERlbGF5V2hlbk9wZXJhdG9yKGRlbGF5RHVyYXRpb25TZWxlY3RvcikpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IERlbGF5V2hlbk9wZXJhdG9yKGRlbGF5RHVyYXRpb25TZWxlY3RvcikpOyB9O1xufVxudmFyIERlbGF5V2hlbk9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERlbGF5V2hlbk9wZXJhdG9yKGRlbGF5RHVyYXRpb25TZWxlY3Rvcikge1xuICAgICAgICB0aGlzLmRlbGF5RHVyYXRpb25TZWxlY3RvciA9IGRlbGF5RHVyYXRpb25TZWxlY3RvcjtcbiAgICB9XG4gICAgRGVsYXlXaGVuT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBEZWxheVdoZW5TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuZGVsYXlEdXJhdGlvblNlbGVjdG9yKSk7XG4gICAgfTtcbiAgICByZXR1cm4gRGVsYXlXaGVuT3BlcmF0b3I7XG59KCkpO1xudmFyIERlbGF5V2hlblN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoRGVsYXlXaGVuU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBEZWxheVdoZW5TdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBkZWxheUR1cmF0aW9uU2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmRlbGF5RHVyYXRpb25TZWxlY3RvciA9IGRlbGF5RHVyYXRpb25TZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuY29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmRlbGF5Tm90aWZpZXJTdWJzY3JpcHRpb25zID0gW107XG4gICAgICAgIF90aGlzLmluZGV4ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBEZWxheVdoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKG91dGVyVmFsdWUsIF9pbm5lclZhbHVlLCBfb3V0ZXJJbmRleCwgX2lubmVySW5kZXgsIGlubmVyU3ViKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChvdXRlclZhbHVlKTtcbiAgICAgICAgdGhpcy5yZW1vdmVTdWJzY3JpcHRpb24oaW5uZXJTdWIpO1xuICAgICAgICB0aGlzLnRyeUNvbXBsZXRlKCk7XG4gICAgfTtcbiAgICBEZWxheVdoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlFcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgaW5uZXJTdWIpIHtcbiAgICAgICAgdGhpcy5fZXJyb3IoZXJyb3IpO1xuICAgIH07XG4gICAgRGVsYXlXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoaW5uZXJTdWIpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5yZW1vdmVTdWJzY3JpcHRpb24oaW5uZXJTdWIpO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50cnlDb21wbGV0ZSgpO1xuICAgIH07XG4gICAgRGVsYXlXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5pbmRleCsrO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGRlbGF5Tm90aWZpZXIgPSB0aGlzLmRlbGF5RHVyYXRpb25TZWxlY3Rvcih2YWx1ZSwgaW5kZXgpO1xuICAgICAgICAgICAgaWYgKGRlbGF5Tm90aWZpZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyeURlbGF5KGRlbGF5Tm90aWZpZXIsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIERlbGF5V2hlblN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5jb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnRyeUNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIERlbGF5V2hlblN1YnNjcmliZXIucHJvdG90eXBlLnJlbW92ZVN1YnNjcmlwdGlvbiA9IGZ1bmN0aW9uIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHZhciBzdWJzY3JpcHRpb25JZHggPSB0aGlzLmRlbGF5Tm90aWZpZXJTdWJzY3JpcHRpb25zLmluZGV4T2Yoc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKHN1YnNjcmlwdGlvbklkeCAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsYXlOb3RpZmllclN1YnNjcmlwdGlvbnMuc3BsaWNlKHN1YnNjcmlwdGlvbklkeCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbi5vdXRlclZhbHVlO1xuICAgIH07XG4gICAgRGVsYXlXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUudHJ5RGVsYXkgPSBmdW5jdGlvbiAoZGVsYXlOb3RpZmllciwgdmFsdWUpIHtcbiAgICAgICAgdmFyIG5vdGlmaWVyU3Vic2NyaXB0aW9uID0gc3Vic2NyaWJlVG9SZXN1bHQodGhpcywgZGVsYXlOb3RpZmllciwgdmFsdWUpO1xuICAgICAgICBpZiAobm90aWZpZXJTdWJzY3JpcHRpb24gJiYgIW5vdGlmaWVyU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLmFkZChub3RpZmllclN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICB0aGlzLmRlbGF5Tm90aWZpZXJTdWJzY3JpcHRpb25zLnB1c2gobm90aWZpZXJTdWJzY3JpcHRpb24pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBEZWxheVdoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS50cnlDb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcGxldGVkICYmIHRoaXMuZGVsYXlOb3RpZmllclN1YnNjcmlwdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBEZWxheVdoZW5TdWJzY3JpYmVyO1xufShPdXRlclN1YnNjcmliZXIpKTtcbnZhciBTdWJzY3JpcHRpb25EZWxheU9ic2VydmFibGUgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU3Vic2NyaXB0aW9uRGVsYXlPYnNlcnZhYmxlLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFN1YnNjcmlwdGlvbkRlbGF5T2JzZXJ2YWJsZShzb3VyY2UsIHN1YnNjcmlwdGlvbkRlbGF5KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgX3RoaXMuc3Vic2NyaXB0aW9uRGVsYXkgPSBzdWJzY3JpcHRpb25EZWxheTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTdWJzY3JpcHRpb25EZWxheU9ic2VydmFibGUucHJvdG90eXBlLl9zdWJzY3JpYmUgPSBmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkRlbGF5LnN1YnNjcmliZShuZXcgU3Vic2NyaXB0aW9uRGVsYXlTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuc291cmNlKSk7XG4gICAgfTtcbiAgICByZXR1cm4gU3Vic2NyaXB0aW9uRGVsYXlPYnNlcnZhYmxlO1xufShPYnNlcnZhYmxlKSk7XG52YXIgU3Vic2NyaXB0aW9uRGVsYXlTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFN1YnNjcmlwdGlvbkRlbGF5U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTdWJzY3JpcHRpb25EZWxheVN1YnNjcmliZXIocGFyZW50LCBzb3VyY2UpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICBfdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIF90aGlzLnNvdXJjZVN1YnNjcmliZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTdWJzY3JpcHRpb25EZWxheVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHVudXNlZCkge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvU291cmNlKCk7XG4gICAgfTtcbiAgICBTdWJzY3JpcHRpb25EZWxheVN1YnNjcmliZXIucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnBhcmVudC5lcnJvcihlcnIpO1xuICAgIH07XG4gICAgU3Vic2NyaXB0aW9uRGVsYXlTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1NvdXJjZSgpO1xuICAgIH07XG4gICAgU3Vic2NyaXB0aW9uRGVsYXlTdWJzY3JpYmVyLnByb3RvdHlwZS5zdWJzY3JpYmVUb1NvdXJjZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNvdXJjZVN1YnNjcmliZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc291cmNlU3Vic2NyaWJlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnNvdXJjZS5zdWJzY3JpYmUodGhpcy5wYXJlbnQpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gU3Vic2NyaXB0aW9uRGVsYXlTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWxheVdoZW4uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/delayWhen.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/dematerialize.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/dematerialize.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dematerialize: function() { return /* binding */ dematerialize; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction dematerialize() {\n return function dematerializeOperatorFunction(source) {\n return source.lift(new DeMaterializeOperator());\n };\n}\nvar DeMaterializeOperator = /*@__PURE__*/ (function () {\n function DeMaterializeOperator() {\n }\n DeMaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DeMaterializeSubscriber(subscriber));\n };\n return DeMaterializeOperator;\n}());\nvar DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(DeMaterializeSubscriber, _super);\n function DeMaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n DeMaterializeSubscriber.prototype._next = function (value) {\n value.observe(this.destination);\n };\n return DeMaterializeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=dematerialize.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGVtYXRlcmlhbGl6ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ3BDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2RlbWF0ZXJpYWxpemUuanM/OGFhNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gZGVtYXRlcmlhbGl6ZSgpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gZGVtYXRlcmlhbGl6ZU9wZXJhdG9yRnVuY3Rpb24oc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgRGVNYXRlcmlhbGl6ZU9wZXJhdG9yKCkpO1xuICAgIH07XG59XG52YXIgRGVNYXRlcmlhbGl6ZU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERlTWF0ZXJpYWxpemVPcGVyYXRvcigpIHtcbiAgICB9XG4gICAgRGVNYXRlcmlhbGl6ZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgRGVNYXRlcmlhbGl6ZVN1YnNjcmliZXIoc3Vic2NyaWJlcikpO1xuICAgIH07XG4gICAgcmV0dXJuIERlTWF0ZXJpYWxpemVPcGVyYXRvcjtcbn0oKSk7XG52YXIgRGVNYXRlcmlhbGl6ZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoRGVNYXRlcmlhbGl6ZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gRGVNYXRlcmlhbGl6ZVN1YnNjcmliZXIoZGVzdGluYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgIH1cbiAgICBEZU1hdGVyaWFsaXplU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFsdWUub2JzZXJ2ZSh0aGlzLmRlc3RpbmF0aW9uKTtcbiAgICB9O1xuICAgIHJldHVybiBEZU1hdGVyaWFsaXplU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVtYXRlcmlhbGl6ZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/dematerialize.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/distinct.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/distinct.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DistinctSubscriber: function() { return /* binding */ DistinctSubscriber; },\n/* harmony export */ distinct: function() { return /* binding */ distinct; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction distinct(keySelector, flushes) {\n return function (source) { return source.lift(new DistinctOperator(keySelector, flushes)); };\n}\nvar DistinctOperator = /*@__PURE__*/ (function () {\n function DistinctOperator(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n DistinctOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n };\n return DistinctOperator;\n}());\nvar DistinctSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(DistinctSubscriber, _super);\n function DistinctSubscriber(destination, keySelector, flushes) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.values = new Set();\n if (flushes) {\n _this.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(flushes, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(_this)));\n }\n return _this;\n }\n DistinctSubscriber.prototype.notifyNext = function () {\n this.values.clear();\n };\n DistinctSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n DistinctSubscriber.prototype._next = function (value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n };\n DistinctSubscriber.prototype._useKeySelector = function (value) {\n var key;\n var destination = this.destination;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n };\n DistinctSubscriber.prototype._finalizeNext = function (key, value) {\n var values = this.values;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n };\n return DistinctSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n\n//# sourceMappingURL=distinct.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ2dFO0FBQzFGO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwrREFBYyxjQUFjLGtFQUFxQjtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDTztBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3QuanM/OWE1MyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0KGtleVNlbGVjdG9yLCBmbHVzaGVzKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBEaXN0aW5jdE9wZXJhdG9yKGtleVNlbGVjdG9yLCBmbHVzaGVzKSk7IH07XG59XG52YXIgRGlzdGluY3RPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEaXN0aW5jdE9wZXJhdG9yKGtleVNlbGVjdG9yLCBmbHVzaGVzKSB7XG4gICAgICAgIHRoaXMua2V5U2VsZWN0b3IgPSBrZXlTZWxlY3RvcjtcbiAgICAgICAgdGhpcy5mbHVzaGVzID0gZmx1c2hlcztcbiAgICB9XG4gICAgRGlzdGluY3RPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IERpc3RpbmN0U3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmtleVNlbGVjdG9yLCB0aGlzLmZsdXNoZXMpKTtcbiAgICB9O1xuICAgIHJldHVybiBEaXN0aW5jdE9wZXJhdG9yO1xufSgpKTtcbnZhciBEaXN0aW5jdFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoRGlzdGluY3RTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIERpc3RpbmN0U3Vic2NyaWJlcihkZXN0aW5hdGlvbiwga2V5U2VsZWN0b3IsIGZsdXNoZXMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmtleVNlbGVjdG9yID0ga2V5U2VsZWN0b3I7XG4gICAgICAgIF90aGlzLnZhbHVlcyA9IG5ldyBTZXQoKTtcbiAgICAgICAgaWYgKGZsdXNoZXMpIHtcbiAgICAgICAgICAgIF90aGlzLmFkZChpbm5lclN1YnNjcmliZShmbHVzaGVzLCBuZXcgU2ltcGxlSW5uZXJTdWJzY3JpYmVyKF90aGlzKSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgRGlzdGluY3RTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnZhbHVlcy5jbGVhcigpO1xuICAgIH07XG4gICAgRGlzdGluY3RTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlFcnJvciA9IGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICB0aGlzLl9lcnJvcihlcnJvcik7XG4gICAgfTtcbiAgICBEaXN0aW5jdFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLmtleVNlbGVjdG9yKSB7XG4gICAgICAgICAgICB0aGlzLl91c2VLZXlTZWxlY3Rvcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9maW5hbGl6ZU5leHQodmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRGlzdGluY3RTdWJzY3JpYmVyLnByb3RvdHlwZS5fdXNlS2V5U2VsZWN0b3IgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGtleTtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGtleSA9IHRoaXMua2V5U2VsZWN0b3IodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZmluYWxpemVOZXh0KGtleSwgdmFsdWUpO1xuICAgIH07XG4gICAgRGlzdGluY3RTdWJzY3JpYmVyLnByb3RvdHlwZS5fZmluYWxpemVOZXh0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICAgICAgdmFyIHZhbHVlcyA9IHRoaXMudmFsdWVzO1xuICAgICAgICBpZiAoIXZhbHVlcy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdmFsdWVzLmFkZChrZXkpO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIERpc3RpbmN0U3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBEaXN0aW5jdFN1YnNjcmliZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRpc3RpbmN0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/distinct.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js": -/*!****************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ distinctUntilChanged: function() { return /* binding */ distinctUntilChanged; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nvar DistinctUntilChangedOperator = /*@__PURE__*/ (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\nvar DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.hasKey = false;\n if (typeof compare === 'function') {\n _this.compare = compare;\n }\n return _this;\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var key;\n try {\n var keySelector = this.keySelector;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n var result = false;\n if (this.hasKey) {\n try {\n var compare = this.compare;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3RVbnRpbENoYW5nZWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2Rpc3RpbmN0VW50aWxDaGFuZ2VkLmpzPzFhMWQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGNvbXBhcmUsIGtleVNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBEaXN0aW5jdFVudGlsQ2hhbmdlZE9wZXJhdG9yKGNvbXBhcmUsIGtleVNlbGVjdG9yKSk7IH07XG59XG52YXIgRGlzdGluY3RVbnRpbENoYW5nZWRPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEaXN0aW5jdFVudGlsQ2hhbmdlZE9wZXJhdG9yKGNvbXBhcmUsIGtleVNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMuY29tcGFyZSA9IGNvbXBhcmU7XG4gICAgICAgIHRoaXMua2V5U2VsZWN0b3IgPSBrZXlTZWxlY3RvcjtcbiAgICB9XG4gICAgRGlzdGluY3RVbnRpbENoYW5nZWRPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IERpc3RpbmN0VW50aWxDaGFuZ2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmNvbXBhcmUsIHRoaXMua2V5U2VsZWN0b3IpKTtcbiAgICB9O1xuICAgIHJldHVybiBEaXN0aW5jdFVudGlsQ2hhbmdlZE9wZXJhdG9yO1xufSgpKTtcbnZhciBEaXN0aW5jdFVudGlsQ2hhbmdlZFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoRGlzdGluY3RVbnRpbENoYW5nZWRTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIERpc3RpbmN0VW50aWxDaGFuZ2VkU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgY29tcGFyZSwga2V5U2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmtleVNlbGVjdG9yID0ga2V5U2VsZWN0b3I7XG4gICAgICAgIF90aGlzLmhhc0tleSA9IGZhbHNlO1xuICAgICAgICBpZiAodHlwZW9mIGNvbXBhcmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIF90aGlzLmNvbXBhcmUgPSBjb21wYXJlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgRGlzdGluY3RVbnRpbENoYW5nZWRTdWJzY3JpYmVyLnByb3RvdHlwZS5jb21wYXJlID0gZnVuY3Rpb24gKHgsIHkpIHtcbiAgICAgICAgcmV0dXJuIHggPT09IHk7XG4gICAgfTtcbiAgICBEaXN0aW5jdFVudGlsQ2hhbmdlZFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBrZXk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIga2V5U2VsZWN0b3IgPSB0aGlzLmtleVNlbGVjdG9yO1xuICAgICAgICAgICAga2V5ID0ga2V5U2VsZWN0b3IgPyBrZXlTZWxlY3Rvcih2YWx1ZSkgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaGFzS2V5KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBjb21wYXJlID0gdGhpcy5jb21wYXJlO1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNvbXBhcmUodGhpcy5rZXksIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFzS2V5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gRGlzdGluY3RVbnRpbENoYW5nZWRTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kaXN0aW5jdFVudGlsQ2hhbmdlZC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/distinctUntilKeyChanged.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/distinctUntilKeyChanged.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ distinctUntilKeyChanged: function() { return /* binding */ distinctUntilKeyChanged; }\n/* harmony export */ });\n/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./distinctUntilChanged */ \"./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js\");\n/** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */\n\nfunction distinctUntilKeyChanged(key, compare) {\n return (0,_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__.distinctUntilChanged)(function (x, y) { return compare ? compare(x[key], y[key]) : x[key] === y[key]; });\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3RVbnRpbEtleUNoYW5nZWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUM4RDtBQUN2RDtBQUNQLFdBQVcsMkVBQW9CLG1CQUFtQiwrREFBK0Q7QUFDakg7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3RVbnRpbEtleUNoYW5nZWQuanM/MzY5NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9kaXN0aW5jdFVudGlsQ2hhbmdlZCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJy4vZGlzdGluY3RVbnRpbENoYW5nZWQnO1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkKGtleSwgY29tcGFyZSkge1xuICAgIHJldHVybiBkaXN0aW5jdFVudGlsQ2hhbmdlZChmdW5jdGlvbiAoeCwgeSkgeyByZXR1cm4gY29tcGFyZSA/IGNvbXBhcmUoeFtrZXldLCB5W2tleV0pIDogeFtrZXldID09PSB5W2tleV07IH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGlzdGluY3RVbnRpbEtleUNoYW5nZWQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/distinctUntilKeyChanged.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/elementAt.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/elementAt.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ elementAt: function() { return /* binding */ elementAt; }\n/* harmony export */ });\n/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/ArgumentOutOfRangeError */ \"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js\");\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filter */ \"./node_modules/rxjs/_esm5/internal/operators/filter.js\");\n/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./throwIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js\");\n/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js\");\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./take */ \"./node_modules/rxjs/_esm5/internal/operators/take.js\");\n/** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */\n\n\n\n\n\nfunction elementAt(index, defaultValue) {\n if (index < 0) {\n throw new _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__.ArgumentOutOfRangeError();\n }\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe((0,_filter__WEBPACK_IMPORTED_MODULE_1__.filter)(function (v, i) { return i === index; }), (0,_take__WEBPACK_IMPORTED_MODULE_2__.take)(1), hasDefaultValue\n ? (0,_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__.defaultIfEmpty)(defaultValue)\n : (0,_throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__.throwIfEmpty)(function () { return new _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__.ArgumentOutOfRangeError(); }));\n };\n}\n//# sourceMappingURL=elementAt.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZWxlbWVudEF0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQzBFO0FBQ3hDO0FBQ1k7QUFDSTtBQUNwQjtBQUN2QjtBQUNQO0FBQ0Esa0JBQWtCLGtGQUF1QjtBQUN6QztBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsK0NBQU0sbUJBQW1CLHFCQUFxQixHQUFHLDJDQUFJO0FBQ2hGLGNBQWMsK0RBQWM7QUFDNUIsY0FBYywyREFBWSxlQUFlLFdBQVcsa0ZBQXVCLEtBQUs7QUFDaEY7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9lbGVtZW50QXQuanM/NmQwYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF91dGlsX0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yLF9maWx0ZXIsX3Rocm93SWZFbXB0eSxfZGVmYXVsdElmRW1wdHksX3Rha2UgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IgfSBmcm9tICcuLi91dGlsL0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IHRocm93SWZFbXB0eSB9IGZyb20gJy4vdGhyb3dJZkVtcHR5JztcbmltcG9ydCB7IGRlZmF1bHRJZkVtcHR5IH0gZnJvbSAnLi9kZWZhdWx0SWZFbXB0eSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAnLi90YWtlJztcbmV4cG9ydCBmdW5jdGlvbiBlbGVtZW50QXQoaW5kZXgsIGRlZmF1bHRWYWx1ZSkge1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yKCk7XG4gICAgfVxuICAgIHZhciBoYXNEZWZhdWx0VmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID49IDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5waXBlKGZpbHRlcihmdW5jdGlvbiAodiwgaSkgeyByZXR1cm4gaSA9PT0gaW5kZXg7IH0pLCB0YWtlKDEpLCBoYXNEZWZhdWx0VmFsdWVcbiAgICAgICAgICAgID8gZGVmYXVsdElmRW1wdHkoZGVmYXVsdFZhbHVlKVxuICAgICAgICAgICAgOiB0aHJvd0lmRW1wdHkoZnVuY3Rpb24gKCkgeyByZXR1cm4gbmV3IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yKCk7IH0pKTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZWxlbWVudEF0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/elementAt.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/endWith.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/endWith.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ endWith: function() { return /* binding */ endWith; }\n/* harmony export */ });\n/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/concat */ \"./node_modules/rxjs/_esm5/internal/observable/concat.js\");\n/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../observable/of */ \"./node_modules/rxjs/_esm5/internal/observable/of.js\");\n/** PURE_IMPORTS_START _observable_concat,_observable_of PURE_IMPORTS_END */\n\n\nfunction endWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n return function (source) { return (0,_observable_concat__WEBPACK_IMPORTED_MODULE_0__.concat)(source, _observable_of__WEBPACK_IMPORTED_MODULE_1__.of.apply(void 0, array)); };\n}\n//# sourceMappingURL=endWith.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZW5kV2l0aC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUM4QztBQUNSO0FBQy9CO0FBQ1A7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQSwrQkFBK0IsT0FBTywwREFBTSxTQUFTLDhDQUFFO0FBQ3ZEO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2VuZFdpdGguanM/YWY4OCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9vYnNlcnZhYmxlX2NvbmNhdCxfb2JzZXJ2YWJsZV9vZiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2NvbmNhdCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJy4uL29ic2VydmFibGUvb2YnO1xuZXhwb3J0IGZ1bmN0aW9uIGVuZFdpdGgoKSB7XG4gICAgdmFyIGFycmF5ID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgYXJyYXlbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIGNvbmNhdChzb3VyY2UsIG9mLmFwcGx5KHZvaWQgMCwgYXJyYXkpKTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuZFdpdGguanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/endWith.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/every.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/every.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ every: function() { return /* binding */ every; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction every(predicate, thisArg) {\n return function (source) { return source.lift(new EveryOperator(predicate, thisArg, source)); };\n}\nvar EveryOperator = /*@__PURE__*/ (function () {\n function EveryOperator(predicate, thisArg, source) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n }\n EveryOperator.prototype.call = function (observer, source) {\n return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n };\n return EveryOperator;\n}());\nvar EverySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(EverySubscriber, _super);\n function EverySubscriber(destination, predicate, thisArg, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.source = source;\n _this.index = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n this.destination.next(everyValueMatch);\n this.destination.complete();\n };\n EverySubscriber.prototype._next = function (value) {\n var result = false;\n try {\n result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (!result) {\n this.notifyComplete(false);\n }\n };\n EverySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return EverySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=every.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZXZlcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2V2ZXJ5LmpzPzFlYTciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5KHByZWRpY2F0ZSwgdGhpc0FyZykge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgRXZlcnlPcGVyYXRvcihwcmVkaWNhdGUsIHRoaXNBcmcsIHNvdXJjZSkpOyB9O1xufVxudmFyIEV2ZXJ5T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRXZlcnlPcGVyYXRvcihwcmVkaWNhdGUsIHRoaXNBcmcsIHNvdXJjZSkge1xuICAgICAgICB0aGlzLnByZWRpY2F0ZSA9IHByZWRpY2F0ZTtcbiAgICAgICAgdGhpcy50aGlzQXJnID0gdGhpc0FyZztcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgfVxuICAgIEV2ZXJ5T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAob2JzZXJ2ZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgRXZlcnlTdWJzY3JpYmVyKG9ic2VydmVyLCB0aGlzLnByZWRpY2F0ZSwgdGhpcy50aGlzQXJnLCB0aGlzLnNvdXJjZSkpO1xuICAgIH07XG4gICAgcmV0dXJuIEV2ZXJ5T3BlcmF0b3I7XG59KCkpO1xudmFyIEV2ZXJ5U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhFdmVyeVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gRXZlcnlTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwcmVkaWNhdGUsIHRoaXNBcmcsIHNvdXJjZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgICAgICBfdGhpcy50aGlzQXJnID0gdGhpc0FyZztcbiAgICAgICAgX3RoaXMuc291cmNlID0gc291cmNlO1xuICAgICAgICBfdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIF90aGlzLnRoaXNBcmcgPSB0aGlzQXJnIHx8IF90aGlzO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEV2ZXJ5U3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoZXZlcnlWYWx1ZU1hdGNoKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChldmVyeVZhbHVlTWF0Y2gpO1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgfTtcbiAgICBFdmVyeVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMucHJlZGljYXRlLmNhbGwodGhpcy50aGlzQXJnLCB2YWx1ZSwgdGhpcy5pbmRleCsrLCB0aGlzLnNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeUNvbXBsZXRlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRXZlcnlTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMubm90aWZ5Q29tcGxldGUodHJ1ZSk7XG4gICAgfTtcbiAgICByZXR1cm4gRXZlcnlTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ldmVyeS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/every.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/exhaust.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/exhaust.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ exhaust: function() { return /* binding */ exhaust; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction exhaust() {\n return function (source) { return source.lift(new SwitchFirstOperator()); };\n}\nvar SwitchFirstOperator = /*@__PURE__*/ (function () {\n function SwitchFirstOperator() {\n }\n SwitchFirstOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchFirstSubscriber(subscriber));\n };\n return SwitchFirstOperator;\n}());\nvar SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SwitchFirstSubscriber, _super);\n function SwitchFirstSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasCompleted = false;\n _this.hasSubscription = false;\n return _this;\n }\n SwitchFirstSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.hasSubscription = true;\n this.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(value, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this)));\n }\n };\n SwitchFirstSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n };\n SwitchFirstSubscriber.prototype.notifyComplete = function () {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return SwitchFirstSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=exhaust.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZXhoYXVzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNnRTtBQUMxRjtBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLCtEQUFjLFlBQVksa0VBQXFCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2V4aGF1c3QuanM/YjNhOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIGV4aGF1c3QoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBTd2l0Y2hGaXJzdE9wZXJhdG9yKCkpOyB9O1xufVxudmFyIFN3aXRjaEZpcnN0T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU3dpdGNoRmlyc3RPcGVyYXRvcigpIHtcbiAgICB9XG4gICAgU3dpdGNoRmlyc3RPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFN3aXRjaEZpcnN0U3Vic2NyaWJlcihzdWJzY3JpYmVyKSk7XG4gICAgfTtcbiAgICByZXR1cm4gU3dpdGNoRmlyc3RPcGVyYXRvcjtcbn0oKSk7XG52YXIgU3dpdGNoRmlyc3RTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFN3aXRjaEZpcnN0U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTd2l0Y2hGaXJzdFN1YnNjcmliZXIoZGVzdGluYXRpb24pIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmhhc0NvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICBfdGhpcy5oYXNTdWJzY3JpcHRpb24gPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTd2l0Y2hGaXJzdFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaGFzU3Vic2NyaXB0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYWRkKGlubmVyU3Vic2NyaWJlKHZhbHVlLCBuZXcgU2ltcGxlSW5uZXJTdWJzY3JpYmVyKHRoaXMpKSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFN3aXRjaEZpcnN0U3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmhhc0NvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgIGlmICghdGhpcy5oYXNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgU3dpdGNoRmlyc3RTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlDb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5oYXNTdWJzY3JpcHRpb24gPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaGFzQ29tcGxldGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBTd2l0Y2hGaXJzdFN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXhoYXVzdC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/exhaust.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/exhaustMap.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/exhaustMap.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ exhaustMap: function() { return /* binding */ exhaustMap; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\n\n\n\n\nfunction exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return function (source) { return source.pipe(exhaustMap(function (a, i) { return (0,_observable_from__WEBPACK_IMPORTED_MODULE_0__.from)(project(a, i)).pipe((0,_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) {\n return source.lift(new ExhaustMapOperator(project));\n };\n}\nvar ExhaustMapOperator = /*@__PURE__*/ (function () {\n function ExhaustMapOperator(project) {\n this.project = project;\n }\n ExhaustMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExhaustMapSubscriber(subscriber, this.project));\n };\n return ExhaustMapOperator;\n}());\nvar ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(ExhaustMapSubscriber, _super);\n function ExhaustMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.hasSubscription = false;\n _this.hasCompleted = false;\n _this.index = 0;\n return _this;\n }\n ExhaustMapSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.tryNext(value);\n }\n };\n ExhaustMapSubscriber.prototype.tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.hasSubscription = true;\n this._innerSub(result);\n };\n ExhaustMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.innerSubscribe)(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n ExhaustMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExhaustMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n ExhaustMapSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n ExhaustMapSubscriber.prototype.notifyComplete = function () {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return ExhaustMapSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleOuterSubscriber));\n//# sourceMappingURL=exhaustMap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZXhoYXVzdE1hcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ0w7QUFDYztBQUN1RDtBQUMxRjtBQUNQO0FBQ0EsbUNBQW1DLGdEQUFnRCxPQUFPLHNEQUFJLHFCQUFxQix5Q0FBRyxvQkFBb0IscUNBQXFDLEtBQUs7QUFDcEw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0Msa0VBQXFCO0FBQ3ZEO0FBQ0E7QUFDQSxnQ0FBZ0MsK0RBQWM7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLGtFQUFxQjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZXhoYXVzdE1hcC5qcz9iMzQwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX21hcCxfb2JzZXJ2YWJsZV9mcm9tLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi9tYXAnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvZnJvbSc7XG5pbXBvcnQgeyBTaW1wbGVPdXRlclN1YnNjcmliZXIsIFNpbXBsZUlubmVyU3Vic2NyaWJlciwgaW5uZXJTdWJzY3JpYmUgfSBmcm9tICcuLi9pbm5lclN1YnNjcmliZSc7XG5leHBvcnQgZnVuY3Rpb24gZXhoYXVzdE1hcChwcm9qZWN0LCByZXN1bHRTZWxlY3Rvcikge1xuICAgIGlmIChyZXN1bHRTZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLnBpcGUoZXhoYXVzdE1hcChmdW5jdGlvbiAoYSwgaSkgeyByZXR1cm4gZnJvbShwcm9qZWN0KGEsIGkpKS5waXBlKG1hcChmdW5jdGlvbiAoYiwgaWkpIHsgcmV0dXJuIHJlc3VsdFNlbGVjdG9yKGEsIGIsIGksIGlpKTsgfSkpOyB9KSk7IH07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgRXhoYXVzdE1hcE9wZXJhdG9yKHByb2plY3QpKTtcbiAgICB9O1xufVxudmFyIEV4aGF1c3RNYXBPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBFeGhhdXN0TWFwT3BlcmF0b3IocHJvamVjdCkge1xuICAgICAgICB0aGlzLnByb2plY3QgPSBwcm9qZWN0O1xuICAgIH1cbiAgICBFeGhhdXN0TWFwT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBFeGhhdXN0TWFwU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLnByb2plY3QpKTtcbiAgICB9O1xuICAgIHJldHVybiBFeGhhdXN0TWFwT3BlcmF0b3I7XG59KCkpO1xudmFyIEV4aGF1c3RNYXBTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEV4aGF1c3RNYXBTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEV4aGF1c3RNYXBTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwcm9qZWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wcm9qZWN0ID0gcHJvamVjdDtcbiAgICAgICAgX3RoaXMuaGFzU3Vic2NyaXB0aW9uID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmhhc0NvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICBfdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgRXhoYXVzdE1hcFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudHJ5TmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEV4aGF1c3RNYXBTdWJzY3JpYmVyLnByb3RvdHlwZS50cnlOZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIHZhciBpbmRleCA9IHRoaXMuaW5kZXgrKztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMucHJvamVjdCh2YWx1ZSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhc1N1YnNjcmlwdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuX2lubmVyU3ViKHJlc3VsdCk7XG4gICAgfTtcbiAgICBFeGhhdXN0TWFwU3Vic2NyaWJlci5wcm90b3R5cGUuX2lubmVyU3ViID0gZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgICB2YXIgaW5uZXJTdWJzY3JpYmVyID0gbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKTtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgZGVzdGluYXRpb24uYWRkKGlubmVyU3Vic2NyaWJlcik7XG4gICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKHJlc3VsdCwgaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgaWYgKGlubmVyU3Vic2NyaXB0aW9uICE9PSBpbm5lclN1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLmFkZChpbm5lclN1YnNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEV4aGF1c3RNYXBTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuaGFzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIEV4aGF1c3RNYXBTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKGlubmVyVmFsdWUpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KGlubmVyVmFsdWUpO1xuICAgIH07XG4gICAgRXhoYXVzdE1hcFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgfTtcbiAgICBFeGhhdXN0TWFwU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuaGFzU3Vic2NyaXB0aW9uID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmhhc0NvbXBsZXRlZCkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gRXhoYXVzdE1hcFN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXhoYXVzdE1hcC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/exhaustMap.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/expand.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/expand.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExpandOperator: function() { return /* binding */ ExpandOperator; },\n/* harmony export */ ExpandSubscriber: function() { return /* binding */ ExpandSubscriber; },\n/* harmony export */ expand: function() { return /* binding */ expand; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction expand(project, concurrent, scheduler) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return function (source) { return source.lift(new ExpandOperator(project, concurrent, scheduler)); };\n}\nvar ExpandOperator = /*@__PURE__*/ (function () {\n function ExpandOperator(project, concurrent, scheduler) {\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n }\n ExpandOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n };\n return ExpandOperator;\n}());\n\nvar ExpandSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ExpandSubscriber, _super);\n function ExpandSubscriber(destination, project, concurrent, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.scheduler = scheduler;\n _this.index = 0;\n _this.active = 0;\n _this.hasCompleted = false;\n if (concurrent < Number.POSITIVE_INFINITY) {\n _this.buffer = [];\n }\n return _this;\n }\n ExpandSubscriber.dispatch = function (arg) {\n var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n subscriber.subscribeToProjection(result, value, index);\n };\n ExpandSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (destination.closed) {\n this._complete();\n return;\n }\n var index = this.index++;\n if (this.active < this.concurrent) {\n destination.next(value);\n try {\n var project = this.project;\n var result = project(value, index);\n if (!this.scheduler) {\n this.subscribeToProjection(result, value, index);\n }\n else {\n var state = { subscriber: this, result: result, value: value, index: index };\n var destination_1 = this.destination;\n destination_1.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n }\n }\n catch (e) {\n destination.error(e);\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n this.active++;\n var destination = this.destination;\n destination.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(result, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this)));\n };\n ExpandSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExpandSubscriber.prototype.notifyNext = function (innerValue) {\n this._next(innerValue);\n };\n ExpandSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer && buffer.length > 0) {\n this._next(buffer.shift());\n }\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n };\n return ExpandSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n\n//# sourceMappingURL=expand.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZXhwYW5kLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDZ0U7QUFDMUY7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUN5QjtBQUMxQjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsK0RBQWMsYUFBYSxrRUFBcUI7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ0s7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2V4cGFuZC5qcz8yMjZkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX2lubmVyU3Vic2NyaWJlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTaW1wbGVPdXRlclN1YnNjcmliZXIsIGlubmVyU3Vic2NyaWJlLCBTaW1wbGVJbm5lclN1YnNjcmliZXIgfSBmcm9tICcuLi9pbm5lclN1YnNjcmliZSc7XG5leHBvcnQgZnVuY3Rpb24gZXhwYW5kKHByb2plY3QsIGNvbmN1cnJlbnQsIHNjaGVkdWxlcikge1xuICAgIGlmIChjb25jdXJyZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgY29uY3VycmVudCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcbiAgICB9XG4gICAgY29uY3VycmVudCA9IChjb25jdXJyZW50IHx8IDApIDwgMSA/IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA6IGNvbmN1cnJlbnQ7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBFeHBhbmRPcGVyYXRvcihwcm9qZWN0LCBjb25jdXJyZW50LCBzY2hlZHVsZXIpKTsgfTtcbn1cbnZhciBFeHBhbmRPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBFeHBhbmRPcGVyYXRvcihwcm9qZWN0LCBjb25jdXJyZW50LCBzY2hlZHVsZXIpIHtcbiAgICAgICAgdGhpcy5wcm9qZWN0ID0gcHJvamVjdDtcbiAgICAgICAgdGhpcy5jb25jdXJyZW50ID0gY29uY3VycmVudDtcbiAgICAgICAgdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgfVxuICAgIEV4cGFuZE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgRXhwYW5kU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLnByb2plY3QsIHRoaXMuY29uY3VycmVudCwgdGhpcy5zY2hlZHVsZXIpKTtcbiAgICB9O1xuICAgIHJldHVybiBFeHBhbmRPcGVyYXRvcjtcbn0oKSk7XG5leHBvcnQgeyBFeHBhbmRPcGVyYXRvciB9O1xudmFyIEV4cGFuZFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoRXhwYW5kU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBFeHBhbmRTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwcm9qZWN0LCBjb25jdXJyZW50LCBzY2hlZHVsZXIpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnByb2plY3QgPSBwcm9qZWN0O1xuICAgICAgICBfdGhpcy5jb25jdXJyZW50ID0gY29uY3VycmVudDtcbiAgICAgICAgX3RoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgICAgICBfdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIF90aGlzLmFjdGl2ZSA9IDA7XG4gICAgICAgIF90aGlzLmhhc0NvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICBpZiAoY29uY3VycmVudCA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkge1xuICAgICAgICAgICAgX3RoaXMuYnVmZmVyID0gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBFeHBhbmRTdWJzY3JpYmVyLmRpc3BhdGNoID0gZnVuY3Rpb24gKGFyZykge1xuICAgICAgICB2YXIgc3Vic2NyaWJlciA9IGFyZy5zdWJzY3JpYmVyLCByZXN1bHQgPSBhcmcucmVzdWx0LCB2YWx1ZSA9IGFyZy52YWx1ZSwgaW5kZXggPSBhcmcuaW5kZXg7XG4gICAgICAgIHN1YnNjcmliZXIuc3Vic2NyaWJlVG9Qcm9qZWN0aW9uKHJlc3VsdCwgdmFsdWUsIGluZGV4KTtcbiAgICB9O1xuICAgIEV4cGFuZFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGlmIChkZXN0aW5hdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5pbmRleCsrO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUgPCB0aGlzLmNvbmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB2YXIgcHJvamVjdCA9IHRoaXMucHJvamVjdDtcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gcHJvamVjdCh2YWx1ZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zY2hlZHVsZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1Byb2plY3Rpb24ocmVzdWx0LCB2YWx1ZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXRlID0geyBzdWJzY3JpYmVyOiB0aGlzLCByZXN1bHQ6IHJlc3VsdCwgdmFsdWU6IHZhbHVlLCBpbmRleDogaW5kZXggfTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRlc3RpbmF0aW9uXzEgPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbl8xLmFkZCh0aGlzLnNjaGVkdWxlci5zY2hlZHVsZShFeHBhbmRTdWJzY3JpYmVyLmRpc3BhdGNoLCAwLCBzdGF0ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24uZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRXhwYW5kU3Vic2NyaWJlci5wcm90b3R5cGUuc3Vic2NyaWJlVG9Qcm9qZWN0aW9uID0gZnVuY3Rpb24gKHJlc3VsdCwgdmFsdWUsIGluZGV4KSB7XG4gICAgICAgIHRoaXMuYWN0aXZlKys7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGRlc3RpbmF0aW9uLmFkZChpbm5lclN1YnNjcmliZShyZXN1bHQsIG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIodGhpcykpKTtcbiAgICB9O1xuICAgIEV4cGFuZFN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5oYXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5oYXNDb21wbGV0ZWQgJiYgdGhpcy5hY3RpdmUgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBFeHBhbmRTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKGlubmVyVmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbmV4dChpbm5lclZhbHVlKTtcbiAgICB9O1xuICAgIEV4cGFuZFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7XG4gICAgICAgIHRoaXMuYWN0aXZlLS07XG4gICAgICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX25leHQoYnVmZmVyLnNoaWZ0KCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhhc0NvbXBsZXRlZCAmJiB0aGlzLmFjdGl2ZSA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gRXhwYW5kU3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBFeHBhbmRTdWJzY3JpYmVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1leHBhbmQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/expand.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/filter.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/filter.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filter: function() { return /* binding */ filter; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZmlsdGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDcEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9maWx0ZXIuanM/ZDExMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyKHByZWRpY2F0ZSwgdGhpc0FyZykge1xuICAgIHJldHVybiBmdW5jdGlvbiBmaWx0ZXJPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IEZpbHRlck9wZXJhdG9yKHByZWRpY2F0ZSwgdGhpc0FyZykpO1xuICAgIH07XG59XG52YXIgRmlsdGVyT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRmlsdGVyT3BlcmF0b3IocHJlZGljYXRlLCB0aGlzQXJnKSB7XG4gICAgICAgIHRoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgICAgICB0aGlzLnRoaXNBcmcgPSB0aGlzQXJnO1xuICAgIH1cbiAgICBGaWx0ZXJPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IEZpbHRlclN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5wcmVkaWNhdGUsIHRoaXMudGhpc0FyZykpO1xuICAgIH07XG4gICAgcmV0dXJuIEZpbHRlck9wZXJhdG9yO1xufSgpKTtcbnZhciBGaWx0ZXJTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEZpbHRlclN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gRmlsdGVyU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgcHJlZGljYXRlLCB0aGlzQXJnKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wcmVkaWNhdGUgPSBwcmVkaWNhdGU7XG4gICAgICAgIF90aGlzLnRoaXNBcmcgPSB0aGlzQXJnO1xuICAgICAgICBfdGhpcy5jb3VudCA9IDA7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgRmlsdGVyU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJlc3VsdDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMucHJlZGljYXRlLmNhbGwodGhpcy50aGlzQXJnLCB2YWx1ZSwgdGhpcy5jb3VudCsrKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIEZpbHRlclN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbHRlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/filter.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/finalize.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/finalize.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ finalize: function() { return /* binding */ finalize; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription PURE_IMPORTS_END */\n\n\n\nfunction finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\nvar FinallyOperator = /*@__PURE__*/ (function () {\n function FinallyOperator(callback) {\n this.callback = callback;\n }\n FinallyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n };\n return FinallyOperator;\n}());\nvar FinallySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(FinallySubscriber, _super);\n function FinallySubscriber(destination, callback) {\n var _this = _super.call(this, destination) || this;\n _this.add(new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription(callback));\n return _this;\n }\n return FinallySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\n//# sourceMappingURL=finalize.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZmluYWxpemUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDSTtBQUN4QztBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0Esc0JBQXNCLHVEQUFZO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9maW5hbGl6ZS5qcz9mOTRmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX1N1YnNjcmlwdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZShjYWxsYmFjaykge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgRmluYWxseU9wZXJhdG9yKGNhbGxiYWNrKSk7IH07XG59XG52YXIgRmluYWxseU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEZpbmFsbHlPcGVyYXRvcihjYWxsYmFjaykge1xuICAgICAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgfVxuICAgIEZpbmFsbHlPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IEZpbmFsbHlTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuY2FsbGJhY2spKTtcbiAgICB9O1xuICAgIHJldHVybiBGaW5hbGx5T3BlcmF0b3I7XG59KCkpO1xudmFyIEZpbmFsbHlTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEZpbmFsbHlTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEZpbmFsbHlTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBjYWxsYmFjaykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuYWRkKG5ldyBTdWJzY3JpcHRpb24oY2FsbGJhY2spKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gRmluYWxseVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbmFsaXplLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/finalize.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/find.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/find.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FindValueOperator: function() { return /* binding */ FindValueOperator; },\n/* harmony export */ FindValueSubscriber: function() { return /* binding */ FindValueSubscriber; },\n/* harmony export */ find: function() { return /* binding */ find; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction find(predicate, thisArg) {\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate is not a function');\n }\n return function (source) { return source.lift(new FindValueOperator(predicate, source, false, thisArg)); };\n}\nvar FindValueOperator = /*@__PURE__*/ (function () {\n function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n }\n FindValueOperator.prototype.call = function (observer, source) {\n return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n };\n return FindValueOperator;\n}());\n\nvar FindValueSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(FindValueSubscriber, _super);\n function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.yieldIndex = yieldIndex;\n _this.thisArg = thisArg;\n _this.index = 0;\n return _this;\n }\n FindValueSubscriber.prototype.notifyComplete = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n this.unsubscribe();\n };\n FindValueSubscriber.prototype._next = function (value) {\n var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n var index = this.index++;\n try {\n var result = predicate.call(thisArg || this, value, index, this.source);\n if (result) {\n this.notifyComplete(this.yieldIndex ? index : value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n FindValueSubscriber.prototype._complete = function () {\n this.notifyComplete(this.yieldIndex ? -1 : undefined);\n };\n return FindValueSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\n//# sourceMappingURL=find.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZmluZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDcEM7QUFDUDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUM0QjtBQUM3QjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDbUI7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2ZpbmQuanM/N2MxOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gZmluZChwcmVkaWNhdGUsIHRoaXNBcmcpIHtcbiAgICBpZiAodHlwZW9mIHByZWRpY2F0ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdwcmVkaWNhdGUgaXMgbm90IGEgZnVuY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBGaW5kVmFsdWVPcGVyYXRvcihwcmVkaWNhdGUsIHNvdXJjZSwgZmFsc2UsIHRoaXNBcmcpKTsgfTtcbn1cbnZhciBGaW5kVmFsdWVPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBGaW5kVmFsdWVPcGVyYXRvcihwcmVkaWNhdGUsIHNvdXJjZSwgeWllbGRJbmRleCwgdGhpc0FyZykge1xuICAgICAgICB0aGlzLnByZWRpY2F0ZSA9IHByZWRpY2F0ZTtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIHRoaXMueWllbGRJbmRleCA9IHlpZWxkSW5kZXg7XG4gICAgICAgIHRoaXMudGhpc0FyZyA9IHRoaXNBcmc7XG4gICAgfVxuICAgIEZpbmRWYWx1ZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKG9ic2VydmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IEZpbmRWYWx1ZVN1YnNjcmliZXIob2JzZXJ2ZXIsIHRoaXMucHJlZGljYXRlLCB0aGlzLnNvdXJjZSwgdGhpcy55aWVsZEluZGV4LCB0aGlzLnRoaXNBcmcpKTtcbiAgICB9O1xuICAgIHJldHVybiBGaW5kVmFsdWVPcGVyYXRvcjtcbn0oKSk7XG5leHBvcnQgeyBGaW5kVmFsdWVPcGVyYXRvciB9O1xudmFyIEZpbmRWYWx1ZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoRmluZFZhbHVlU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBGaW5kVmFsdWVTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwcmVkaWNhdGUsIHNvdXJjZSwgeWllbGRJbmRleCwgdGhpc0FyZykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgICAgICBfdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIF90aGlzLnlpZWxkSW5kZXggPSB5aWVsZEluZGV4O1xuICAgICAgICBfdGhpcy50aGlzQXJnID0gdGhpc0FyZztcbiAgICAgICAgX3RoaXMuaW5kZXggPSAwO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEZpbmRWYWx1ZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBGaW5kVmFsdWVTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgX2EgPSB0aGlzLCBwcmVkaWNhdGUgPSBfYS5wcmVkaWNhdGUsIHRoaXNBcmcgPSBfYS50aGlzQXJnO1xuICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmluZGV4Kys7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gcHJlZGljYXRlLmNhbGwodGhpc0FyZyB8fCB0aGlzLCB2YWx1ZSwgaW5kZXgsIHRoaXMuc291cmNlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeUNvbXBsZXRlKHRoaXMueWllbGRJbmRleCA/IGluZGV4IDogdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRmluZFZhbHVlU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLm5vdGlmeUNvbXBsZXRlKHRoaXMueWllbGRJbmRleCA/IC0xIDogdW5kZWZpbmVkKTtcbiAgICB9O1xuICAgIHJldHVybiBGaW5kVmFsdWVTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBGaW5kVmFsdWVTdWJzY3JpYmVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maW5kLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/find.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/findIndex.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/findIndex.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ findIndex: function() { return /* binding */ findIndex; }\n/* harmony export */ });\n/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../operators/find */ \"./node_modules/rxjs/_esm5/internal/operators/find.js\");\n/** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */\n\nfunction findIndex(predicate, thisArg) {\n return function (source) { return source.lift(new _operators_find__WEBPACK_IMPORTED_MODULE_0__.FindValueOperator(predicate, source, true, thisArg)); };\n}\n//# sourceMappingURL=findIndex.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZmluZEluZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDc0Q7QUFDL0M7QUFDUCwrQkFBK0IsdUJBQXVCLDhEQUFpQjtBQUN2RTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9maW5kSW5kZXguanM/MDljMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9vcGVyYXRvcnNfZmluZCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBGaW5kVmFsdWVPcGVyYXRvciB9IGZyb20gJy4uL29wZXJhdG9ycy9maW5kJztcbmV4cG9ydCBmdW5jdGlvbiBmaW5kSW5kZXgocHJlZGljYXRlLCB0aGlzQXJnKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBGaW5kVmFsdWVPcGVyYXRvcihwcmVkaWNhdGUsIHNvdXJjZSwgdHJ1ZSwgdGhpc0FyZykpOyB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmluZEluZGV4LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/findIndex.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/first.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/first.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ first: function() { return /* binding */ first; }\n/* harmony export */ });\n/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/EmptyError */ \"./node_modules/rxjs/_esm5/internal/util/EmptyError.js\");\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter */ \"./node_modules/rxjs/_esm5/internal/operators/filter.js\");\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./take */ \"./node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js\");\n/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./throwIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js\");\n/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */\n\n\n\n\n\n\nfunction first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? (0,_filter__WEBPACK_IMPORTED_MODULE_0__.filter)(function (v, i) { return predicate(v, i, source); }) : _util_identity__WEBPACK_IMPORTED_MODULE_1__.identity, (0,_take__WEBPACK_IMPORTED_MODULE_2__.take)(1), hasDefaultValue ? (0,_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__.defaultIfEmpty)(defaultValue) : (0,_throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__.throwIfEmpty)(function () { return new _util_EmptyError__WEBPACK_IMPORTED_MODULE_5__.EmptyError(); })); };\n}\n//# sourceMappingURL=first.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZmlyc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQ2dEO0FBQ2Q7QUFDSjtBQUNvQjtBQUNKO0FBQ0Y7QUFDckM7QUFDUDtBQUNBLCtCQUErQiwrQkFBK0IsK0NBQU0sbUJBQW1CLGlDQUFpQyxJQUFJLG9EQUFRLEVBQUUsMkNBQUksdUJBQXVCLCtEQUFjLGlCQUFpQiwyREFBWSxlQUFlLFdBQVcsd0RBQVUsS0FBSztBQUNyUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9maXJzdC5qcz9lZjc4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3V0aWxfRW1wdHlFcnJvcixfZmlsdGVyLF90YWtlLF9kZWZhdWx0SWZFbXB0eSxfdGhyb3dJZkVtcHR5LF91dGlsX2lkZW50aXR5IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuLi91dGlsL0VtcHR5RXJyb3InO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJy4vdGFrZSc7XG5pbXBvcnQgeyBkZWZhdWx0SWZFbXB0eSB9IGZyb20gJy4vZGVmYXVsdElmRW1wdHknO1xuaW1wb3J0IHsgdGhyb3dJZkVtcHR5IH0gZnJvbSAnLi90aHJvd0lmRW1wdHknO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuLi91dGlsL2lkZW50aXR5JztcbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChwcmVkaWNhdGUsIGRlZmF1bHRWYWx1ZSkge1xuICAgIHZhciBoYXNEZWZhdWx0VmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID49IDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5waXBlKHByZWRpY2F0ZSA/IGZpbHRlcihmdW5jdGlvbiAodiwgaSkgeyByZXR1cm4gcHJlZGljYXRlKHYsIGksIHNvdXJjZSk7IH0pIDogaWRlbnRpdHksIHRha2UoMSksIGhhc0RlZmF1bHRWYWx1ZSA/IGRlZmF1bHRJZkVtcHR5KGRlZmF1bHRWYWx1ZSkgOiB0aHJvd0lmRW1wdHkoZnVuY3Rpb24gKCkgeyByZXR1cm4gbmV3IEVtcHR5RXJyb3IoKTsgfSkpOyB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zmlyc3QuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/first.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/groupBy.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/groupBy.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GroupedObservable: function() { return /* binding */ GroupedObservable; },\n/* harmony export */ groupBy: function() { return /* binding */ groupBy; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription,_Observable,_Subject PURE_IMPORTS_END */\n\n\n\n\n\nfunction groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nvar GroupByOperator = /*@__PURE__*/ (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\nvar GroupBySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.elementSelector = elementSelector;\n _this.durationSelector = durationSelector;\n _this.subjectSelector = subjectSelector;\n _this.groups = null;\n _this.attemptedToUnsubscribe = false;\n _this.count = 0;\n return _this;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = (this.subjectSelector ? this.subjectSelector() : new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject());\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\nvar GroupDurationSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n var _this = _super.call(this, group) || this;\n _this.key = key;\n _this.group = group;\n _this.parent = parent;\n return _this;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\nvar GroupedObservable = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n var _this = _super.call(this) || this;\n _this.key = key;\n _this.groupSubject = groupSubject;\n _this.refCountSubscription = refCountSubscription;\n return _this;\n }\n GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new _Subscription__WEBPACK_IMPORTED_MODULE_3__.Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(_Observable__WEBPACK_IMPORTED_MODULE_4__.Observable));\n\nvar InnerRefCountSubscription = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n parent.count++;\n return _this;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(_Subscription__WEBPACK_IMPORTED_MODULE_3__.Subscription));\n//# sourceMappingURL=groupBy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvZ3JvdXBCeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNJO0FBQ0o7QUFDTjtBQUM5QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5RUFBeUUsNkNBQU87QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1o7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLHVEQUFZO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDaUI7QUFDN0I7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLHVEQUFZO0FBQ2QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL2dyb3VwQnkuanM/ODJlMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyLF9TdWJzY3JpcHRpb24sX09ic2VydmFibGUsX1N1YmplY3QgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBCeShrZXlTZWxlY3RvciwgZWxlbWVudFNlbGVjdG9yLCBkdXJhdGlvblNlbGVjdG9yLCBzdWJqZWN0U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IEdyb3VwQnlPcGVyYXRvcihrZXlTZWxlY3RvciwgZWxlbWVudFNlbGVjdG9yLCBkdXJhdGlvblNlbGVjdG9yLCBzdWJqZWN0U2VsZWN0b3IpKTtcbiAgICB9O1xufVxudmFyIEdyb3VwQnlPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBHcm91cEJ5T3BlcmF0b3Ioa2V5U2VsZWN0b3IsIGVsZW1lbnRTZWxlY3RvciwgZHVyYXRpb25TZWxlY3Rvciwgc3ViamVjdFNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMua2V5U2VsZWN0b3IgPSBrZXlTZWxlY3RvcjtcbiAgICAgICAgdGhpcy5lbGVtZW50U2VsZWN0b3IgPSBlbGVtZW50U2VsZWN0b3I7XG4gICAgICAgIHRoaXMuZHVyYXRpb25TZWxlY3RvciA9IGR1cmF0aW9uU2VsZWN0b3I7XG4gICAgICAgIHRoaXMuc3ViamVjdFNlbGVjdG9yID0gc3ViamVjdFNlbGVjdG9yO1xuICAgIH1cbiAgICBHcm91cEJ5T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBHcm91cEJ5U3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmtleVNlbGVjdG9yLCB0aGlzLmVsZW1lbnRTZWxlY3RvciwgdGhpcy5kdXJhdGlvblNlbGVjdG9yLCB0aGlzLnN1YmplY3RTZWxlY3RvcikpO1xuICAgIH07XG4gICAgcmV0dXJuIEdyb3VwQnlPcGVyYXRvcjtcbn0oKSk7XG52YXIgR3JvdXBCeVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoR3JvdXBCeVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gR3JvdXBCeVN1YnNjcmliZXIoZGVzdGluYXRpb24sIGtleVNlbGVjdG9yLCBlbGVtZW50U2VsZWN0b3IsIGR1cmF0aW9uU2VsZWN0b3IsIHN1YmplY3RTZWxlY3Rvcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMua2V5U2VsZWN0b3IgPSBrZXlTZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuZWxlbWVudFNlbGVjdG9yID0gZWxlbWVudFNlbGVjdG9yO1xuICAgICAgICBfdGhpcy5kdXJhdGlvblNlbGVjdG9yID0gZHVyYXRpb25TZWxlY3RvcjtcbiAgICAgICAgX3RoaXMuc3ViamVjdFNlbGVjdG9yID0gc3ViamVjdFNlbGVjdG9yO1xuICAgICAgICBfdGhpcy5ncm91cHMgPSBudWxsO1xuICAgICAgICBfdGhpcy5hdHRlbXB0ZWRUb1Vuc3Vic2NyaWJlID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmNvdW50ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBHcm91cEJ5U3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGtleTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGtleSA9IHRoaXMua2V5U2VsZWN0b3IodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ncm91cCh2YWx1ZSwga2V5KTtcbiAgICB9O1xuICAgIEdyb3VwQnlTdWJzY3JpYmVyLnByb3RvdHlwZS5fZ3JvdXAgPSBmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgICAgICB2YXIgZ3JvdXBzID0gdGhpcy5ncm91cHM7XG4gICAgICAgIGlmICghZ3JvdXBzKSB7XG4gICAgICAgICAgICBncm91cHMgPSB0aGlzLmdyb3VwcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZ3JvdXAgPSBncm91cHMuZ2V0KGtleSk7XG4gICAgICAgIHZhciBlbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50U2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudCA9IHRoaXMuZWxlbWVudFNlbGVjdG9yKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFncm91cCkge1xuICAgICAgICAgICAgZ3JvdXAgPSAodGhpcy5zdWJqZWN0U2VsZWN0b3IgPyB0aGlzLnN1YmplY3RTZWxlY3RvcigpIDogbmV3IFN1YmplY3QoKSk7XG4gICAgICAgICAgICBncm91cHMuc2V0KGtleSwgZ3JvdXApO1xuICAgICAgICAgICAgdmFyIGdyb3VwZWRPYnNlcnZhYmxlID0gbmV3IEdyb3VwZWRPYnNlcnZhYmxlKGtleSwgZ3JvdXAsIHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KGdyb3VwZWRPYnNlcnZhYmxlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmR1cmF0aW9uU2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICB2YXIgZHVyYXRpb24gPSB2b2lkIDA7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb24gPSB0aGlzLmR1cmF0aW9uU2VsZWN0b3IobmV3IEdyb3VwZWRPYnNlcnZhYmxlKGtleSwgZ3JvdXApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5hZGQoZHVyYXRpb24uc3Vic2NyaWJlKG5ldyBHcm91cER1cmF0aW9uU3Vic2NyaWJlcihrZXksIGdyb3VwLCB0aGlzKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZ3JvdXAuY2xvc2VkKSB7XG4gICAgICAgICAgICBncm91cC5uZXh0KGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBHcm91cEJ5U3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB2YXIgZ3JvdXBzID0gdGhpcy5ncm91cHM7XG4gICAgICAgIGlmIChncm91cHMpIHtcbiAgICAgICAgICAgIGdyb3Vwcy5mb3JFYWNoKGZ1bmN0aW9uIChncm91cCwga2V5KSB7XG4gICAgICAgICAgICAgICAgZ3JvdXAuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZ3JvdXBzLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgIH07XG4gICAgR3JvdXBCeVN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGdyb3VwcyA9IHRoaXMuZ3JvdXBzO1xuICAgICAgICBpZiAoZ3JvdXBzKSB7XG4gICAgICAgICAgICBncm91cHMuZm9yRWFjaChmdW5jdGlvbiAoZ3JvdXAsIGtleSkge1xuICAgICAgICAgICAgICAgIGdyb3VwLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGdyb3Vwcy5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICB9O1xuICAgIEdyb3VwQnlTdWJzY3JpYmVyLnByb3RvdHlwZS5yZW1vdmVHcm91cCA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdGhpcy5ncm91cHMuZGVsZXRlKGtleSk7XG4gICAgfTtcbiAgICBHcm91cEJ5U3Vic2NyaWJlci5wcm90b3R5cGUudW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghdGhpcy5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXR0ZW1wdGVkVG9VbnN1YnNjcmliZSA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIF9zdXBlci5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIEdyb3VwQnlTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG52YXIgR3JvdXBEdXJhdGlvblN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoR3JvdXBEdXJhdGlvblN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gR3JvdXBEdXJhdGlvblN1YnNjcmliZXIoa2V5LCBncm91cCwgcGFyZW50KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGdyb3VwKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5rZXkgPSBrZXk7XG4gICAgICAgIF90aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgICAgIF90aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBHcm91cER1cmF0aW9uU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgR3JvdXBEdXJhdGlvblN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgcGFyZW50ID0gX2EucGFyZW50LCBrZXkgPSBfYS5rZXk7XG4gICAgICAgIHRoaXMua2V5ID0gdGhpcy5wYXJlbnQgPSBudWxsO1xuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlR3JvdXAoa2V5KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIEdyb3VwRHVyYXRpb25TdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG52YXIgR3JvdXBlZE9ic2VydmFibGUgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoR3JvdXBlZE9ic2VydmFibGUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gR3JvdXBlZE9ic2VydmFibGUoa2V5LCBncm91cFN1YmplY3QsIHJlZkNvdW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmtleSA9IGtleTtcbiAgICAgICAgX3RoaXMuZ3JvdXBTdWJqZWN0ID0gZ3JvdXBTdWJqZWN0O1xuICAgICAgICBfdGhpcy5yZWZDb3VudFN1YnNjcmlwdGlvbiA9IHJlZkNvdW50U3Vic2NyaXB0aW9uO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEdyb3VwZWRPYnNlcnZhYmxlLnByb3RvdHlwZS5fc3Vic2NyaWJlID0gZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgcmVmQ291bnRTdWJzY3JpcHRpb24gPSBfYS5yZWZDb3VudFN1YnNjcmlwdGlvbiwgZ3JvdXBTdWJqZWN0ID0gX2EuZ3JvdXBTdWJqZWN0O1xuICAgICAgICBpZiAocmVmQ291bnRTdWJzY3JpcHRpb24gJiYgIXJlZkNvdW50U3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmFkZChuZXcgSW5uZXJSZWZDb3VudFN1YnNjcmlwdGlvbihyZWZDb3VudFN1YnNjcmlwdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHN1YnNjcmlwdGlvbi5hZGQoZ3JvdXBTdWJqZWN0LnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICByZXR1cm4gR3JvdXBlZE9ic2VydmFibGU7XG59KE9ic2VydmFibGUpKTtcbmV4cG9ydCB7IEdyb3VwZWRPYnNlcnZhYmxlIH07XG52YXIgSW5uZXJSZWZDb3VudFN1YnNjcmlwdGlvbiA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhJbm5lclJlZkNvdW50U3Vic2NyaXB0aW9uLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIElubmVyUmVmQ291bnRTdWJzY3JpcHRpb24ocGFyZW50KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgcGFyZW50LmNvdW50Kys7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgSW5uZXJSZWZDb3VudFN1YnNjcmlwdGlvbi5wcm90b3R5cGUudW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwYXJlbnQgPSB0aGlzLnBhcmVudDtcbiAgICAgICAgaWYgKCFwYXJlbnQuY2xvc2VkICYmICF0aGlzLmNsb3NlZCkge1xuICAgICAgICAgICAgX3N1cGVyLnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgcGFyZW50LmNvdW50IC09IDE7XG4gICAgICAgICAgICBpZiAocGFyZW50LmNvdW50ID09PSAwICYmIHBhcmVudC5hdHRlbXB0ZWRUb1Vuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgcGFyZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBJbm5lclJlZkNvdW50U3Vic2NyaXB0aW9uO1xufShTdWJzY3JpcHRpb24pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdyb3VwQnkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/groupBy.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/ignoreElements.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/ignoreElements.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ignoreElements: function() { return /* binding */ ignoreElements; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nvar IgnoreElementsOperator = /*@__PURE__*/ (function () {\n function IgnoreElementsOperator() {\n }\n IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n };\n return IgnoreElementsOperator;\n}());\nvar IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(IgnoreElementsSubscriber, _super);\n function IgnoreElementsSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IgnoreElementsSubscriber.prototype._next = function (unused) {\n };\n return IgnoreElementsSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=ignoreElements.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvaWdub3JlRWxlbWVudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvaWdub3JlRWxlbWVudHMuanM/ODg1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gaWdub3JlRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGlnbm9yZUVsZW1lbnRzT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBJZ25vcmVFbGVtZW50c09wZXJhdG9yKCkpO1xuICAgIH07XG59XG52YXIgSWdub3JlRWxlbWVudHNPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBJZ25vcmVFbGVtZW50c09wZXJhdG9yKCkge1xuICAgIH1cbiAgICBJZ25vcmVFbGVtZW50c09wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgSWdub3JlRWxlbWVudHNTdWJzY3JpYmVyKHN1YnNjcmliZXIpKTtcbiAgICB9O1xuICAgIHJldHVybiBJZ25vcmVFbGVtZW50c09wZXJhdG9yO1xufSgpKTtcbnZhciBJZ25vcmVFbGVtZW50c1N1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoSWdub3JlRWxlbWVudHNTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIElnbm9yZUVsZW1lbnRzU3Vic2NyaWJlcigpIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICBJZ25vcmVFbGVtZW50c1N1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHVudXNlZCkge1xuICAgIH07XG4gICAgcmV0dXJuIElnbm9yZUVsZW1lbnRzU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWdub3JlRWxlbWVudHMuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/ignoreElements.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/isEmpty.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/isEmpty.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isEmpty: function() { return /* binding */ isEmpty; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction isEmpty() {\n return function (source) { return source.lift(new IsEmptyOperator()); };\n}\nvar IsEmptyOperator = /*@__PURE__*/ (function () {\n function IsEmptyOperator() {\n }\n IsEmptyOperator.prototype.call = function (observer, source) {\n return source.subscribe(new IsEmptySubscriber(observer));\n };\n return IsEmptyOperator;\n}());\nvar IsEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(IsEmptySubscriber, _super);\n function IsEmptySubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n var destination = this.destination;\n destination.next(isEmpty);\n destination.complete();\n };\n IsEmptySubscriber.prototype._next = function (value) {\n this.notifyComplete(false);\n };\n IsEmptySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return IsEmptySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=isEmpty.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvaXNFbXB0eS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ3BDO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvaXNFbXB0eS5qcz9lYWU1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgSXNFbXB0eU9wZXJhdG9yKCkpOyB9O1xufVxudmFyIElzRW1wdHlPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBJc0VtcHR5T3BlcmF0b3IoKSB7XG4gICAgfVxuICAgIElzRW1wdHlPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChvYnNlcnZlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBJc0VtcHR5U3Vic2NyaWJlcihvYnNlcnZlcikpO1xuICAgIH07XG4gICAgcmV0dXJuIElzRW1wdHlPcGVyYXRvcjtcbn0oKSk7XG52YXIgSXNFbXB0eVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoSXNFbXB0eVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gSXNFbXB0eVN1YnNjcmliZXIoZGVzdGluYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgIH1cbiAgICBJc0VtcHR5U3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoaXNFbXB0eSkge1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICBkZXN0aW5hdGlvbi5uZXh0KGlzRW1wdHkpO1xuICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgSXNFbXB0eVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMubm90aWZ5Q29tcGxldGUoZmFsc2UpO1xuICAgIH07XG4gICAgSXNFbXB0eVN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5ub3RpZnlDb21wbGV0ZSh0cnVlKTtcbiAgICB9O1xuICAgIHJldHVybiBJc0VtcHR5U3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNFbXB0eS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/isEmpty.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/last.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/last.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ last: function() { return /* binding */ last; }\n/* harmony export */ });\n/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/EmptyError */ \"./node_modules/rxjs/_esm5/internal/util/EmptyError.js\");\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter */ \"./node_modules/rxjs/_esm5/internal/operators/filter.js\");\n/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./takeLast */ \"./node_modules/rxjs/_esm5/internal/operators/takeLast.js\");\n/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./throwIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js\");\n/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js\");\n/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */\n\n\n\n\n\n\nfunction last(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? (0,_filter__WEBPACK_IMPORTED_MODULE_0__.filter)(function (v, i) { return predicate(v, i, source); }) : _util_identity__WEBPACK_IMPORTED_MODULE_1__.identity, (0,_takeLast__WEBPACK_IMPORTED_MODULE_2__.takeLast)(1), hasDefaultValue ? (0,_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__.defaultIfEmpty)(defaultValue) : (0,_throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__.throwIfEmpty)(function () { return new _util_EmptyError__WEBPACK_IMPORTED_MODULE_5__.EmptyError(); })); };\n}\n//# sourceMappingURL=last.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbGFzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDZ0Q7QUFDZDtBQUNJO0FBQ1E7QUFDSTtBQUNOO0FBQ3JDO0FBQ1A7QUFDQSwrQkFBK0IsK0JBQStCLCtDQUFNLG1CQUFtQixpQ0FBaUMsSUFBSSxvREFBUSxFQUFFLG1EQUFRLHVCQUF1QiwrREFBYyxpQkFBaUIsMkRBQVksZUFBZSxXQUFXLHdEQUFVLEtBQUs7QUFDelA7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbGFzdC5qcz9hYTg0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3V0aWxfRW1wdHlFcnJvcixfZmlsdGVyLF90YWtlTGFzdCxfdGhyb3dJZkVtcHR5LF9kZWZhdWx0SWZFbXB0eSxfdXRpbF9pZGVudGl0eSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBFbXB0eUVycm9yIH0gZnJvbSAnLi4vdXRpbC9FbXB0eUVycm9yJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IHRha2VMYXN0IH0gZnJvbSAnLi90YWtlTGFzdCc7XG5pbXBvcnQgeyB0aHJvd0lmRW1wdHkgfSBmcm9tICcuL3Rocm93SWZFbXB0eSc7XG5pbXBvcnQgeyBkZWZhdWx0SWZFbXB0eSB9IGZyb20gJy4vZGVmYXVsdElmRW1wdHknO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuLi91dGlsL2lkZW50aXR5JztcbmV4cG9ydCBmdW5jdGlvbiBsYXN0KHByZWRpY2F0ZSwgZGVmYXVsdFZhbHVlKSB7XG4gICAgdmFyIGhhc0RlZmF1bHRWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPj0gMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLnBpcGUocHJlZGljYXRlID8gZmlsdGVyKGZ1bmN0aW9uICh2LCBpKSB7IHJldHVybiBwcmVkaWNhdGUodiwgaSwgc291cmNlKTsgfSkgOiBpZGVudGl0eSwgdGFrZUxhc3QoMSksIGhhc0RlZmF1bHRWYWx1ZSA/IGRlZmF1bHRJZkVtcHR5KGRlZmF1bHRWYWx1ZSkgOiB0aHJvd0lmRW1wdHkoZnVuY3Rpb24gKCkgeyByZXR1cm4gbmV3IEVtcHR5RXJyb3IoKTsgfSkpOyB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGFzdC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/last.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/map.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/map.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MapOperator: function() { return /* binding */ MapOperator; },\n/* harmony export */ map: function() { return /* binding */ map; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\n\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=map.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ3BDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3NCO0FBQ3ZCO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwLmpzP2VhM2YiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIG1hcChwcm9qZWN0LCB0aGlzQXJnKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG1hcE9wZXJhdGlvbihzb3VyY2UpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9qZWN0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdhcmd1bWVudCBpcyBub3QgYSBmdW5jdGlvbi4gQXJlIHlvdSBsb29raW5nIGZvciBgbWFwVG8oKWA/Jyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBNYXBPcGVyYXRvcihwcm9qZWN0LCB0aGlzQXJnKSk7XG4gICAgfTtcbn1cbnZhciBNYXBPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBNYXBPcGVyYXRvcihwcm9qZWN0LCB0aGlzQXJnKSB7XG4gICAgICAgIHRoaXMucHJvamVjdCA9IHByb2plY3Q7XG4gICAgICAgIHRoaXMudGhpc0FyZyA9IHRoaXNBcmc7XG4gICAgfVxuICAgIE1hcE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgTWFwU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLnByb2plY3QsIHRoaXMudGhpc0FyZykpO1xuICAgIH07XG4gICAgcmV0dXJuIE1hcE9wZXJhdG9yO1xufSgpKTtcbmV4cG9ydCB7IE1hcE9wZXJhdG9yIH07XG52YXIgTWFwU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhNYXBTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE1hcFN1YnNjcmliZXIoZGVzdGluYXRpb24sIHByb2plY3QsIHRoaXNBcmcpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnByb2plY3QgPSBwcm9qZWN0O1xuICAgICAgICBfdGhpcy5jb3VudCA9IDA7XG4gICAgICAgIF90aGlzLnRoaXNBcmcgPSB0aGlzQXJnIHx8IF90aGlzO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIE1hcFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSB0aGlzLnByb2plY3QuY2FsbCh0aGlzLnRoaXNBcmcsIHZhbHVlLCB0aGlzLmNvdW50KyspO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQocmVzdWx0KTtcbiAgICB9O1xuICAgIHJldHVybiBNYXBTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tYXAuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/map.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/mapTo.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/mapTo.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mapTo: function() { return /* binding */ mapTo; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nvar MapToOperator = /*@__PURE__*/ (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\nvar MapToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n var _this = _super.call(this, destination) || this;\n _this.value = value;\n return _this;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=mapTo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwVG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwVG8uanM/MWM1YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gbWFwVG8odmFsdWUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IE1hcFRvT3BlcmF0b3IodmFsdWUpKTsgfTtcbn1cbnZhciBNYXBUb09wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE1hcFRvT3BlcmF0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBNYXBUb09wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgTWFwVG9TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMudmFsdWUpKTtcbiAgICB9O1xuICAgIHJldHVybiBNYXBUb09wZXJhdG9yO1xufSgpKTtcbnZhciBNYXBUb1N1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoTWFwVG9TdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE1hcFRvU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgdmFsdWUpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgTWFwVG9TdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh4KSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dCh0aGlzLnZhbHVlKTtcbiAgICB9O1xuICAgIHJldHVybiBNYXBUb1N1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hcFRvLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/mapTo.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/materialize.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/materialize.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ materialize: function() { return /* binding */ materialize; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Notification */ \"./node_modules/rxjs/_esm5/internal/Notification.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\n\n\n\nfunction materialize() {\n return function materializeOperatorFunction(source) {\n return source.lift(new MaterializeOperator());\n };\n}\nvar MaterializeOperator = /*@__PURE__*/ (function () {\n function MaterializeOperator() {\n }\n MaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MaterializeSubscriber(subscriber));\n };\n return MaterializeOperator;\n}());\nvar MaterializeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(MaterializeSubscriber, _super);\n function MaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n MaterializeSubscriber.prototype._next = function (value) {\n this.destination.next(_Notification__WEBPACK_IMPORTED_MODULE_1__.Notification.createNext(value));\n };\n MaterializeSubscriber.prototype._error = function (err) {\n var destination = this.destination;\n destination.next(_Notification__WEBPACK_IMPORTED_MODULE_1__.Notification.createError(err));\n destination.complete();\n };\n MaterializeSubscriber.prototype._complete = function () {\n var destination = this.destination;\n destination.next(_Notification__WEBPACK_IMPORTED_MODULE_1__.Notification.createComplete());\n destination.complete();\n };\n return MaterializeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\n//# sourceMappingURL=materialize.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWF0ZXJpYWxpemUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDSTtBQUN4QztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qix1REFBWTtBQUMxQztBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsdURBQVk7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsdURBQVk7QUFDckM7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL21hdGVyaWFsaXplLmpzPzIzYmYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlcixfTm90aWZpY2F0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9Ob3RpZmljYXRpb24nO1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGVyaWFsaXplKCkge1xuICAgIHJldHVybiBmdW5jdGlvbiBtYXRlcmlhbGl6ZU9wZXJhdG9yRnVuY3Rpb24oc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgTWF0ZXJpYWxpemVPcGVyYXRvcigpKTtcbiAgICB9O1xufVxudmFyIE1hdGVyaWFsaXplT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTWF0ZXJpYWxpemVPcGVyYXRvcigpIHtcbiAgICB9XG4gICAgTWF0ZXJpYWxpemVPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IE1hdGVyaWFsaXplU3Vic2NyaWJlcihzdWJzY3JpYmVyKSk7XG4gICAgfTtcbiAgICByZXR1cm4gTWF0ZXJpYWxpemVPcGVyYXRvcjtcbn0oKSk7XG52YXIgTWF0ZXJpYWxpemVTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKE1hdGVyaWFsaXplU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBNYXRlcmlhbGl6ZVN1YnNjcmliZXIoZGVzdGluYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgIH1cbiAgICBNYXRlcmlhbGl6ZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChOb3RpZmljYXRpb24uY3JlYXRlTmV4dCh2YWx1ZSkpO1xuICAgIH07XG4gICAgTWF0ZXJpYWxpemVTdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGRlc3RpbmF0aW9uLm5leHQoTm90aWZpY2F0aW9uLmNyZWF0ZUVycm9yKGVycikpO1xuICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgTWF0ZXJpYWxpemVTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGRlc3RpbmF0aW9uLm5leHQoTm90aWZpY2F0aW9uLmNyZWF0ZUNvbXBsZXRlKCkpO1xuICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgcmV0dXJuIE1hdGVyaWFsaXplU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWF0ZXJpYWxpemUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/materialize.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/max.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/max.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ max: function() { return /* binding */ max; }\n/* harmony export */ });\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduce */ \"./node_modules/rxjs/_esm5/internal/operators/reduce.js\");\n/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\n\nfunction max(comparer) {\n var max = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n : function (x, y) { return x > y ? x : y; };\n return (0,_reduce__WEBPACK_IMPORTED_MODULE_0__.reduce)(max);\n}\n//# sourceMappingURL=max.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWF4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDa0M7QUFDM0I7QUFDUDtBQUNBLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsV0FBVywrQ0FBTTtBQUNqQjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9tYXguanM/MDM2MSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9yZWR1Y2UgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgcmVkdWNlIH0gZnJvbSAnLi9yZWR1Y2UnO1xuZXhwb3J0IGZ1bmN0aW9uIG1heChjb21wYXJlcikge1xuICAgIHZhciBtYXggPSAodHlwZW9mIGNvbXBhcmVyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICA/IGZ1bmN0aW9uICh4LCB5KSB7IHJldHVybiBjb21wYXJlcih4LCB5KSA+IDAgPyB4IDogeTsgfVxuICAgICAgICA6IGZ1bmN0aW9uICh4LCB5KSB7IHJldHVybiB4ID4geSA/IHggOiB5OyB9O1xuICAgIHJldHVybiByZWR1Y2UobWF4KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1heC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/max.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/merge.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/merge.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ merge: function() { return /* binding */ merge; }\n/* harmony export */ });\n/* harmony import */ var _observable_merge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/merge */ \"./node_modules/rxjs/_esm5/internal/observable/merge.js\");\n/** PURE_IMPORTS_START _observable_merge PURE_IMPORTS_END */\n\nfunction merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(_observable_merge__WEBPACK_IMPORTED_MODULE_0__.merge.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=merge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUMyRDtBQUNwRDtBQUNQO0FBQ0EscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBO0FBQ0EsK0JBQStCLHdCQUF3QixvREFBVztBQUNsRTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9tZXJnZS5qcz8xNTk0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfbWVyZ2UgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgbWVyZ2UgYXMgbWVyZ2VTdGF0aWMgfSBmcm9tICcuLi9vYnNlcnZhYmxlL21lcmdlJztcbmV4cG9ydCBmdW5jdGlvbiBtZXJnZSgpIHtcbiAgICB2YXIgb2JzZXJ2YWJsZXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBvYnNlcnZhYmxlc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQuY2FsbChtZXJnZVN0YXRpYy5hcHBseSh2b2lkIDAsIFtzb3VyY2VdLmNvbmNhdChvYnNlcnZhYmxlcykpKTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1lcmdlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/merge.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/mergeAll.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/mergeAll.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mergeAll: function() { return /* binding */ mergeAll; }\n/* harmony export */ });\n/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mergeMap */ \"./node_modules/rxjs/_esm5/internal/operators/mergeMap.js\");\n/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\n\n\nfunction mergeAll(concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return (0,_mergeMap__WEBPACK_IMPORTED_MODULE_0__.mergeMap)(_util_identity__WEBPACK_IMPORTED_MODULE_1__.identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VBbGwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDc0M7QUFDTTtBQUNyQztBQUNQO0FBQ0E7QUFDQTtBQUNBLFdBQVcsbURBQVEsQ0FBQyxvREFBUTtBQUM1QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9tZXJnZUFsbC5qcz9mNTE1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX21lcmdlTWFwLF91dGlsX2lkZW50aXR5IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAnLi9tZXJnZU1hcCc7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJy4uL3V0aWwvaWRlbnRpdHknO1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQWxsKGNvbmN1cnJlbnQpIHtcbiAgICBpZiAoY29uY3VycmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIGNvbmN1cnJlbnQgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gICAgfVxuICAgIHJldHVybiBtZXJnZU1hcChpZGVudGl0eSwgY29uY3VycmVudCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXJnZUFsbC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/mergeAll.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/mergeMap.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/mergeMap.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MergeMapOperator: function() { return /* binding */ MergeMapOperator; },\n/* harmony export */ MergeMapSubscriber: function() { return /* binding */ MergeMapSubscriber; },\n/* harmony export */ flatMap: function() { return /* binding */ flatMap; },\n/* harmony export */ mergeMap: function() { return /* binding */ mergeMap; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\n\n\n\n\nfunction mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return (0,_observable_from__WEBPACK_IMPORTED_MODULE_0__.from)(project(a, i)).pipe((0,_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\n\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.innerSubscribe)(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleOuterSubscriber));\n\nvar flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VNYXAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNMO0FBQ2M7QUFDdUQ7QUFDMUY7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyw4Q0FBOEMsT0FBTyxzREFBSSxxQkFBcUIseUNBQUcsb0JBQW9CLHFDQUFxQyxLQUFLO0FBQ2xMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUMyQjtBQUM1QjtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0Msa0VBQXFCO0FBQ3ZEO0FBQ0E7QUFDQSxnQ0FBZ0MsK0RBQWM7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ087QUFDdkI7QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VNYXAuanM/NmJlZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9tYXAsX29ic2VydmFibGVfZnJvbSxfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gJy4vbWFwJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2Zyb20nO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBTaW1wbGVJbm5lclN1YnNjcmliZXIsIGlubmVyU3Vic2NyaWJlIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTWFwKHByb2plY3QsIHJlc3VsdFNlbGVjdG9yLCBjb25jdXJyZW50KSB7XG4gICAgaWYgKGNvbmN1cnJlbnQgPT09IHZvaWQgMCkge1xuICAgICAgICBjb25jdXJyZW50ID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHJlc3VsdFNlbGVjdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UucGlwZShtZXJnZU1hcChmdW5jdGlvbiAoYSwgaSkgeyByZXR1cm4gZnJvbShwcm9qZWN0KGEsIGkpKS5waXBlKG1hcChmdW5jdGlvbiAoYiwgaWkpIHsgcmV0dXJuIHJlc3VsdFNlbGVjdG9yKGEsIGIsIGksIGlpKTsgfSkpOyB9LCBjb25jdXJyZW50KSk7IH07XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiByZXN1bHRTZWxlY3RvciA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uY3VycmVudCA9IHJlc3VsdFNlbGVjdG9yO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IE1lcmdlTWFwT3BlcmF0b3IocHJvamVjdCwgY29uY3VycmVudCkpOyB9O1xufVxudmFyIE1lcmdlTWFwT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTWVyZ2VNYXBPcGVyYXRvcihwcm9qZWN0LCBjb25jdXJyZW50KSB7XG4gICAgICAgIGlmIChjb25jdXJyZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIGNvbmN1cnJlbnQgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9qZWN0ID0gcHJvamVjdDtcbiAgICAgICAgdGhpcy5jb25jdXJyZW50ID0gY29uY3VycmVudDtcbiAgICB9XG4gICAgTWVyZ2VNYXBPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChvYnNlcnZlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBNZXJnZU1hcFN1YnNjcmliZXIob2JzZXJ2ZXIsIHRoaXMucHJvamVjdCwgdGhpcy5jb25jdXJyZW50KSk7XG4gICAgfTtcbiAgICByZXR1cm4gTWVyZ2VNYXBPcGVyYXRvcjtcbn0oKSk7XG5leHBvcnQgeyBNZXJnZU1hcE9wZXJhdG9yIH07XG52YXIgTWVyZ2VNYXBTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKE1lcmdlTWFwU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBNZXJnZU1hcFN1YnNjcmliZXIoZGVzdGluYXRpb24sIHByb2plY3QsIGNvbmN1cnJlbnQpIHtcbiAgICAgICAgaWYgKGNvbmN1cnJlbnQgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgY29uY3VycmVudCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucHJvamVjdCA9IHByb2plY3Q7XG4gICAgICAgIF90aGlzLmNvbmN1cnJlbnQgPSBjb25jdXJyZW50O1xuICAgICAgICBfdGhpcy5oYXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuYnVmZmVyID0gW107XG4gICAgICAgIF90aGlzLmFjdGl2ZSA9IDA7XG4gICAgICAgIF90aGlzLmluZGV4ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBNZXJnZU1hcFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZSA8IHRoaXMuY29uY3VycmVudCkge1xuICAgICAgICAgICAgdGhpcy5fdHJ5TmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgTWVyZ2VNYXBTdWJzY3JpYmVyLnByb3RvdHlwZS5fdHJ5TmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmluZGV4Kys7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSB0aGlzLnByb2plY3QodmFsdWUsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmUrKztcbiAgICAgICAgdGhpcy5faW5uZXJTdWIocmVzdWx0KTtcbiAgICB9O1xuICAgIE1lcmdlTWFwU3Vic2NyaWJlci5wcm90b3R5cGUuX2lubmVyU3ViID0gZnVuY3Rpb24gKGlzaCkge1xuICAgICAgICB2YXIgaW5uZXJTdWJzY3JpYmVyID0gbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKTtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgZGVzdGluYXRpb24uYWRkKGlubmVyU3Vic2NyaWJlcik7XG4gICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKGlzaCwgaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgaWYgKGlubmVyU3Vic2NyaXB0aW9uICE9PSBpbm5lclN1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLmFkZChpbm5lclN1YnNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIE1lcmdlTWFwU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmhhc0NvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gMCAmJiB0aGlzLmJ1ZmZlci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBNZXJnZU1hcFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoaW5uZXJWYWx1ZSkge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQoaW5uZXJWYWx1ZSk7XG4gICAgfTtcbiAgICBNZXJnZU1hcFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7XG4gICAgICAgIHRoaXMuYWN0aXZlLS07XG4gICAgICAgIGlmIChidWZmZXIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fbmV4dChidWZmZXIuc2hpZnQoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5hY3RpdmUgPT09IDAgJiYgdGhpcy5oYXNDb21wbGV0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIE1lcmdlTWFwU3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBNZXJnZU1hcFN1YnNjcmliZXIgfTtcbmV4cG9ydCB2YXIgZmxhdE1hcCA9IG1lcmdlTWFwO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVyZ2VNYXAuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/mergeMap.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/mergeMapTo.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/mergeMapTo.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mergeMapTo: function() { return /* binding */ mergeMapTo; }\n/* harmony export */ });\n/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mergeMap */ \"./node_modules/rxjs/_esm5/internal/operators/mergeMap.js\");\n/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\n\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return (0,_mergeMap__WEBPACK_IMPORTED_MODULE_0__.mergeMap)(function () { return innerObservable; }, resultSelector, concurrent);\n }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (0,_mergeMap__WEBPACK_IMPORTED_MODULE_0__.mergeMap)(function () { return innerObservable; }, concurrent);\n}\n//# sourceMappingURL=mergeMapTo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VNYXBUby5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ3NDO0FBQy9CO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1EQUFRLGVBQWUseUJBQXlCO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxtREFBUSxlQUFlLHlCQUF5QjtBQUMzRDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9tZXJnZU1hcFRvLmpzP2EzMDEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfbWVyZ2VNYXAgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICcuL21lcmdlTWFwJztcbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU1hcFRvKGlubmVyT2JzZXJ2YWJsZSwgcmVzdWx0U2VsZWN0b3IsIGNvbmN1cnJlbnQpIHtcbiAgICBpZiAoY29uY3VycmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIGNvbmN1cnJlbnQgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcmVzdWx0U2VsZWN0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlTWFwKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGlubmVyT2JzZXJ2YWJsZTsgfSwgcmVzdWx0U2VsZWN0b3IsIGNvbmN1cnJlbnQpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHJlc3VsdFNlbGVjdG9yID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25jdXJyZW50ID0gcmVzdWx0U2VsZWN0b3I7XG4gICAgfVxuICAgIHJldHVybiBtZXJnZU1hcChmdW5jdGlvbiAoKSB7IHJldHVybiBpbm5lck9ic2VydmFibGU7IH0sIGNvbmN1cnJlbnQpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVyZ2VNYXBUby5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/mergeMapTo.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/mergeScan.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/mergeScan.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MergeScanOperator: function() { return /* binding */ MergeScanOperator; },\n/* harmony export */ MergeScanSubscriber: function() { return /* binding */ MergeScanSubscriber; },\n/* harmony export */ mergeScan: function() { return /* binding */ mergeScan; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return function (source) { return source.lift(new MergeScanOperator(accumulator, seed, concurrent)); };\n}\nvar MergeScanOperator = /*@__PURE__*/ (function () {\n function MergeScanOperator(accumulator, seed, concurrent) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.concurrent = concurrent;\n }\n MergeScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));\n };\n return MergeScanOperator;\n}());\n\nvar MergeScanSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(MergeScanSubscriber, _super);\n function MergeScanSubscriber(destination, accumulator, acc, concurrent) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this.acc = acc;\n _this.concurrent = concurrent;\n _this.hasValue = false;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeScanSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n var index = this.index++;\n var destination = this.destination;\n var ish = void 0;\n try {\n var accumulator = this.accumulator;\n ish = accumulator(this.acc, value, index);\n }\n catch (e) {\n return destination.error(e);\n }\n this.active++;\n this._innerSub(ish);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeScanSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeScanSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeScanSubscriber.prototype.notifyNext = function (innerValue) {\n var destination = this.destination;\n this.acc = innerValue;\n this.hasValue = true;\n destination.next(innerValue);\n };\n MergeScanSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n };\n return MergeScanSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n\n//# sourceMappingURL=mergeScan.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VTY2FuLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDZ0U7QUFDMUY7QUFDUDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDNEI7QUFDN0I7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGtFQUFxQjtBQUN2RDtBQUNBO0FBQ0EsZ0NBQWdDLCtEQUFjO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLGtFQUFxQjtBQUNRO0FBQy9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9tZXJnZVNjYW4uanM/ZDA3ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBTaW1wbGVJbm5lclN1YnNjcmliZXIsIGlubmVyU3Vic2NyaWJlIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlU2NhbihhY2N1bXVsYXRvciwgc2VlZCwgY29uY3VycmVudCkge1xuICAgIGlmIChjb25jdXJyZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgY29uY3VycmVudCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBNZXJnZVNjYW5PcGVyYXRvcihhY2N1bXVsYXRvciwgc2VlZCwgY29uY3VycmVudCkpOyB9O1xufVxudmFyIE1lcmdlU2Nhbk9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE1lcmdlU2Nhbk9wZXJhdG9yKGFjY3VtdWxhdG9yLCBzZWVkLCBjb25jdXJyZW50KSB7XG4gICAgICAgIHRoaXMuYWNjdW11bGF0b3IgPSBhY2N1bXVsYXRvcjtcbiAgICAgICAgdGhpcy5zZWVkID0gc2VlZDtcbiAgICAgICAgdGhpcy5jb25jdXJyZW50ID0gY29uY3VycmVudDtcbiAgICB9XG4gICAgTWVyZ2VTY2FuT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBNZXJnZVNjYW5TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuYWNjdW11bGF0b3IsIHRoaXMuc2VlZCwgdGhpcy5jb25jdXJyZW50KSk7XG4gICAgfTtcbiAgICByZXR1cm4gTWVyZ2VTY2FuT3BlcmF0b3I7XG59KCkpO1xuZXhwb3J0IHsgTWVyZ2VTY2FuT3BlcmF0b3IgfTtcbnZhciBNZXJnZVNjYW5TdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKE1lcmdlU2NhblN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gTWVyZ2VTY2FuU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgYWNjdW11bGF0b3IsIGFjYywgY29uY3VycmVudCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuYWNjdW11bGF0b3IgPSBhY2N1bXVsYXRvcjtcbiAgICAgICAgX3RoaXMuYWNjID0gYWNjO1xuICAgICAgICBfdGhpcy5jb25jdXJyZW50ID0gY29uY3VycmVudDtcbiAgICAgICAgX3RoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuaGFzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIF90aGlzLmJ1ZmZlciA9IFtdO1xuICAgICAgICBfdGhpcy5hY3RpdmUgPSAwO1xuICAgICAgICBfdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgTWVyZ2VTY2FuU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlIDwgdGhpcy5jb25jdXJyZW50KSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmluZGV4Kys7XG4gICAgICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICAgICAgdmFyIGlzaCA9IHZvaWQgMDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdmFyIGFjY3VtdWxhdG9yID0gdGhpcy5hY2N1bXVsYXRvcjtcbiAgICAgICAgICAgICAgICBpc2ggPSBhY2N1bXVsYXRvcih0aGlzLmFjYywgdmFsdWUsIGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uLmVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hY3RpdmUrKztcbiAgICAgICAgICAgIHRoaXMuX2lubmVyU3ViKGlzaCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgTWVyZ2VTY2FuU3Vic2NyaWJlci5wcm90b3R5cGUuX2lubmVyU3ViID0gZnVuY3Rpb24gKGlzaCkge1xuICAgICAgICB2YXIgaW5uZXJTdWJzY3JpYmVyID0gbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKTtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgZGVzdGluYXRpb24uYWRkKGlubmVyU3Vic2NyaWJlcik7XG4gICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKGlzaCwgaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgaWYgKGlubmVyU3Vic2NyaXB0aW9uICE9PSBpbm5lclN1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLmFkZChpbm5lclN1YnNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIE1lcmdlU2NhblN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5oYXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUgPT09IDAgJiYgdGhpcy5idWZmZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodGhpcy5hY2MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIE1lcmdlU2NhblN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoaW5uZXJWYWx1ZSkge1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLmFjYyA9IGlubmVyVmFsdWU7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgICBkZXN0aW5hdGlvbi5uZXh0KGlubmVyVmFsdWUpO1xuICAgIH07XG4gICAgTWVyZ2VTY2FuU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlcjtcbiAgICAgICAgdGhpcy5hY3RpdmUtLTtcbiAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9uZXh0KGJ1ZmZlci5zaGlmdCgpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZSA9PT0gMCAmJiB0aGlzLmhhc0NvbXBsZXRlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHRoaXMuYWNjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIE1lcmdlU2NhblN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuZXhwb3J0IHsgTWVyZ2VTY2FuU3Vic2NyaWJlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVyZ2VTY2FuLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/mergeScan.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/min.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/min.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ min: function() { return /* binding */ min; }\n/* harmony export */ });\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduce */ \"./node_modules/rxjs/_esm5/internal/operators/reduce.js\");\n/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\n\nfunction min(comparer) {\n var min = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n : function (x, y) { return x < y ? x : y; };\n return (0,_reduce__WEBPACK_IMPORTED_MODULE_0__.reduce)(min);\n}\n//# sourceMappingURL=min.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbWluLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDa0M7QUFDM0I7QUFDUDtBQUNBLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsV0FBVywrQ0FBTTtBQUNqQjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9taW4uanM/ZDkwYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9yZWR1Y2UgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgcmVkdWNlIH0gZnJvbSAnLi9yZWR1Y2UnO1xuZXhwb3J0IGZ1bmN0aW9uIG1pbihjb21wYXJlcikge1xuICAgIHZhciBtaW4gPSAodHlwZW9mIGNvbXBhcmVyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICA/IGZ1bmN0aW9uICh4LCB5KSB7IHJldHVybiBjb21wYXJlcih4LCB5KSA8IDAgPyB4IDogeTsgfVxuICAgICAgICA6IGZ1bmN0aW9uICh4LCB5KSB7IHJldHVybiB4IDwgeSA/IHggOiB5OyB9O1xuICAgIHJldHVybiByZWR1Y2UobWluKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/min.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/multicast.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/multicast.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MulticastOperator: function() { return /* binding */ MulticastOperator; },\n/* harmony export */ multicast: function() { return /* binding */ multicast; }\n/* harmony export */ });\n/* harmony import */ var _observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/ConnectableObservable */ \"./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js\");\n/** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */\n\nfunction multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n var subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n var connectable = Object.create(source, _observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_0__.connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nvar MulticastOperator = /*@__PURE__*/ (function () {\n function MulticastOperator(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n MulticastOperator.prototype.call = function (subscriber, source) {\n var selector = this.selector;\n var subject = this.subjectFactory();\n var subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n };\n return MulticastOperator;\n}());\n\n//# sourceMappingURL=multicast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvbXVsdGljYXN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ3NGO0FBQy9FO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsOEZBQStCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDNEI7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL211bHRpY2FzdC5qcz9mNzRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfQ29ubmVjdGFibGVPYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IGNvbm5lY3RhYmxlT2JzZXJ2YWJsZURlc2NyaXB0b3IgfSBmcm9tICcuLi9vYnNlcnZhYmxlL0Nvbm5lY3RhYmxlT2JzZXJ2YWJsZSc7XG5leHBvcnQgZnVuY3Rpb24gbXVsdGljYXN0KHN1YmplY3RPclN1YmplY3RGYWN0b3J5LCBzZWxlY3Rvcikge1xuICAgIHJldHVybiBmdW5jdGlvbiBtdWx0aWNhc3RPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICB2YXIgc3ViamVjdEZhY3Rvcnk7XG4gICAgICAgIGlmICh0eXBlb2Ygc3ViamVjdE9yU3ViamVjdEZhY3RvcnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN1YmplY3RGYWN0b3J5ID0gc3ViamVjdE9yU3ViamVjdEZhY3Rvcnk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzdWJqZWN0RmFjdG9yeSA9IGZ1bmN0aW9uIHN1YmplY3RGYWN0b3J5KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWJqZWN0T3JTdWJqZWN0RmFjdG9yeTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBzZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBNdWx0aWNhc3RPcGVyYXRvcihzdWJqZWN0RmFjdG9yeSwgc2VsZWN0b3IpKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY29ubmVjdGFibGUgPSBPYmplY3QuY3JlYXRlKHNvdXJjZSwgY29ubmVjdGFibGVPYnNlcnZhYmxlRGVzY3JpcHRvcik7XG4gICAgICAgIGNvbm5lY3RhYmxlLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgY29ubmVjdGFibGUuc3ViamVjdEZhY3RvcnkgPSBzdWJqZWN0RmFjdG9yeTtcbiAgICAgICAgcmV0dXJuIGNvbm5lY3RhYmxlO1xuICAgIH07XG59XG52YXIgTXVsdGljYXN0T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTXVsdGljYXN0T3BlcmF0b3Ioc3ViamVjdEZhY3RvcnksIHNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMuc3ViamVjdEZhY3RvcnkgPSBzdWJqZWN0RmFjdG9yeTtcbiAgICAgICAgdGhpcy5zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIH1cbiAgICBNdWx0aWNhc3RPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgdmFyIHNlbGVjdG9yID0gdGhpcy5zZWxlY3RvcjtcbiAgICAgICAgdmFyIHN1YmplY3QgPSB0aGlzLnN1YmplY3RGYWN0b3J5KCk7XG4gICAgICAgIHZhciBzdWJzY3JpcHRpb24gPSBzZWxlY3RvcihzdWJqZWN0KS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5hZGQoc291cmNlLnN1YnNjcmliZShzdWJqZWN0KSk7XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICByZXR1cm4gTXVsdGljYXN0T3BlcmF0b3I7XG59KCkpO1xuZXhwb3J0IHsgTXVsdGljYXN0T3BlcmF0b3IgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW11bHRpY2FzdC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/multicast.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/observeOn.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/observeOn.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObserveOnMessage: function() { return /* binding */ ObserveOnMessage; },\n/* harmony export */ ObserveOnOperator: function() { return /* binding */ ObserveOnOperator; },\n/* harmony export */ ObserveOnSubscriber: function() { return /* binding */ ObserveOnSubscriber; },\n/* harmony export */ observeOn: function() { return /* binding */ observeOn; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Notification */ \"./node_modules/rxjs/_esm5/internal/Notification.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\n\n\n\nfunction observeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nvar ObserveOnOperator = /*@__PURE__*/ (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\n\nvar ObserveOnSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(_Notification__WEBPACK_IMPORTED_MODULE_1__.Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(_Notification__WEBPACK_IMPORTED_MODULE_1__.Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(_Notification__WEBPACK_IMPORTED_MODULE_1__.Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\n\nvar ObserveOnMessage = /*@__PURE__*/ (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\n\n//# sourceMappingURL=observeOn.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvb2JzZXJ2ZU9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ0k7QUFDeEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDNEI7QUFDN0I7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qix1REFBWTtBQUN6QztBQUNBO0FBQ0EsNkJBQTZCLHVEQUFZO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qix1REFBWTtBQUN6QztBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDbUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUMyQjtBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvb2JzZXJ2ZU9uLmpzPzdlM2IiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlcixfTm90aWZpY2F0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9Ob3RpZmljYXRpb24nO1xuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVPbihzY2hlZHVsZXIsIGRlbGF5KSB7XG4gICAgaWYgKGRlbGF5ID09PSB2b2lkIDApIHtcbiAgICAgICAgZGVsYXkgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gb2JzZXJ2ZU9uT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBPYnNlcnZlT25PcGVyYXRvcihzY2hlZHVsZXIsIGRlbGF5KSk7XG4gICAgfTtcbn1cbnZhciBPYnNlcnZlT25PcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBPYnNlcnZlT25PcGVyYXRvcihzY2hlZHVsZXIsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIHRoaXMuZGVsYXkgPSBkZWxheTtcbiAgICB9XG4gICAgT2JzZXJ2ZU9uT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBPYnNlcnZlT25TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuc2NoZWR1bGVyLCB0aGlzLmRlbGF5KSk7XG4gICAgfTtcbiAgICByZXR1cm4gT2JzZXJ2ZU9uT3BlcmF0b3I7XG59KCkpO1xuZXhwb3J0IHsgT2JzZXJ2ZU9uT3BlcmF0b3IgfTtcbnZhciBPYnNlcnZlT25TdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKE9ic2VydmVPblN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gT2JzZXJ2ZU9uU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgc2NoZWR1bGVyLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIF90aGlzLmRlbGF5ID0gZGVsYXk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgT2JzZXJ2ZU9uU3Vic2NyaWJlci5kaXNwYXRjaCA9IGZ1bmN0aW9uIChhcmcpIHtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IGFyZy5ub3RpZmljYXRpb24sIGRlc3RpbmF0aW9uID0gYXJnLmRlc3RpbmF0aW9uO1xuICAgICAgICBub3RpZmljYXRpb24ub2JzZXJ2ZShkZXN0aW5hdGlvbik7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIE9ic2VydmVPblN1YnNjcmliZXIucHJvdG90eXBlLnNjaGVkdWxlTWVzc2FnZSA9IGZ1bmN0aW9uIChub3RpZmljYXRpb24pIHtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgZGVzdGluYXRpb24uYWRkKHRoaXMuc2NoZWR1bGVyLnNjaGVkdWxlKE9ic2VydmVPblN1YnNjcmliZXIuZGlzcGF0Y2gsIHRoaXMuZGVsYXksIG5ldyBPYnNlcnZlT25NZXNzYWdlKG5vdGlmaWNhdGlvbiwgdGhpcy5kZXN0aW5hdGlvbikpKTtcbiAgICB9O1xuICAgIE9ic2VydmVPblN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVNZXNzYWdlKE5vdGlmaWNhdGlvbi5jcmVhdGVOZXh0KHZhbHVlKSk7XG4gICAgfTtcbiAgICBPYnNlcnZlT25TdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVNZXNzYWdlKE5vdGlmaWNhdGlvbi5jcmVhdGVFcnJvcihlcnIpKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgT2JzZXJ2ZU9uU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnNjaGVkdWxlTWVzc2FnZShOb3RpZmljYXRpb24uY3JlYXRlQ29tcGxldGUoKSk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBPYnNlcnZlT25TdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBPYnNlcnZlT25TdWJzY3JpYmVyIH07XG52YXIgT2JzZXJ2ZU9uTWVzc2FnZSA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBPYnNlcnZlT25NZXNzYWdlKG5vdGlmaWNhdGlvbiwgZGVzdGluYXRpb24pIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24gPSBub3RpZmljYXRpb247XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIE9ic2VydmVPbk1lc3NhZ2U7XG59KCkpO1xuZXhwb3J0IHsgT2JzZXJ2ZU9uTWVzc2FnZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b2JzZXJ2ZU9uLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/observeOn.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/onErrorResumeNext.js": -/*!*************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/onErrorResumeNext.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ onErrorResumeNext: function() { return /* binding */ onErrorResumeNext; },\n/* harmony export */ onErrorResumeNextStatic: function() { return /* binding */ onErrorResumeNextStatic; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../observable/from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_observable_from,_util_isArray,_innerSubscribe PURE_IMPORTS_END */\n\n\n\n\nfunction onErrorResumeNext() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n if (nextSources.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(nextSources[0])) {\n nextSources = nextSources[0];\n }\n return function (source) { return source.lift(new OnErrorResumeNextOperator(nextSources)); };\n}\nfunction onErrorResumeNextStatic() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n var source = undefined;\n if (nextSources.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(nextSources[0])) {\n nextSources = nextSources[0];\n }\n source = nextSources.shift();\n return (0,_observable_from__WEBPACK_IMPORTED_MODULE_1__.from)(source).lift(new OnErrorResumeNextOperator(nextSources));\n}\nvar OnErrorResumeNextOperator = /*@__PURE__*/ (function () {\n function OnErrorResumeNextOperator(nextSources) {\n this.nextSources = nextSources;\n }\n OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n };\n return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(OnErrorResumeNextSubscriber, _super);\n function OnErrorResumeNextSubscriber(destination, nextSources) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.nextSources = nextSources;\n return _this;\n }\n OnErrorResumeNextSubscriber.prototype.notifyError = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype.notifyComplete = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype._error = function (err) {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype._complete = function () {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n var next = this.nextSources.shift();\n if (!!next) {\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.innerSubscribe)(next, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n else {\n this.destination.complete();\n }\n };\n return OnErrorResumeNextSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleOuterSubscriber));\n//# sourceMappingURL=onErrorResumeNext.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvb25FcnJvclJlc3VtZU5leHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDUztBQUNBO0FBQ3VEO0FBQzFGO0FBQ1A7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQSxvQ0FBb0Msc0RBQU87QUFDM0M7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNPO0FBQ1A7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxzREFBTztBQUMzQztBQUNBO0FBQ0E7QUFDQSxXQUFXLHNEQUFJO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyxrRUFBcUI7QUFDM0Q7QUFDQTtBQUNBLG9DQUFvQywrREFBYztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9vbkVycm9yUmVzdW1lTmV4dC5qcz9hNGJiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX29ic2VydmFibGVfZnJvbSxfdXRpbF9pc0FycmF5LF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvZnJvbSc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbC9pc0FycmF5JztcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiBvbkVycm9yUmVzdW1lTmV4dCgpIHtcbiAgICB2YXIgbmV4dFNvdXJjZXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBuZXh0U291cmNlc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgIH1cbiAgICBpZiAobmV4dFNvdXJjZXMubGVuZ3RoID09PSAxICYmIGlzQXJyYXkobmV4dFNvdXJjZXNbMF0pKSB7XG4gICAgICAgIG5leHRTb3VyY2VzID0gbmV4dFNvdXJjZXNbMF07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgT25FcnJvclJlc3VtZU5leHRPcGVyYXRvcihuZXh0U291cmNlcykpOyB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIG9uRXJyb3JSZXN1bWVOZXh0U3RhdGljKCkge1xuICAgIHZhciBuZXh0U291cmNlcyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIG5leHRTb3VyY2VzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBzb3VyY2UgPSB1bmRlZmluZWQ7XG4gICAgaWYgKG5leHRTb3VyY2VzLmxlbmd0aCA9PT0gMSAmJiBpc0FycmF5KG5leHRTb3VyY2VzWzBdKSkge1xuICAgICAgICBuZXh0U291cmNlcyA9IG5leHRTb3VyY2VzWzBdO1xuICAgIH1cbiAgICBzb3VyY2UgPSBuZXh0U291cmNlcy5zaGlmdCgpO1xuICAgIHJldHVybiBmcm9tKHNvdXJjZSkubGlmdChuZXcgT25FcnJvclJlc3VtZU5leHRPcGVyYXRvcihuZXh0U291cmNlcykpO1xufVxudmFyIE9uRXJyb3JSZXN1bWVOZXh0T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gT25FcnJvclJlc3VtZU5leHRPcGVyYXRvcihuZXh0U291cmNlcykge1xuICAgICAgICB0aGlzLm5leHRTb3VyY2VzID0gbmV4dFNvdXJjZXM7XG4gICAgfVxuICAgIE9uRXJyb3JSZXN1bWVOZXh0T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBPbkVycm9yUmVzdW1lTmV4dFN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5uZXh0U291cmNlcykpO1xuICAgIH07XG4gICAgcmV0dXJuIE9uRXJyb3JSZXN1bWVOZXh0T3BlcmF0b3I7XG59KCkpO1xudmFyIE9uRXJyb3JSZXN1bWVOZXh0U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhPbkVycm9yUmVzdW1lTmV4dFN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gT25FcnJvclJlc3VtZU5leHRTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBuZXh0U291cmNlcykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgX3RoaXMubmV4dFNvdXJjZXMgPSBuZXh0U291cmNlcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBPbkVycm9yUmVzdW1lTmV4dFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvTmV4dFNvdXJjZSgpO1xuICAgIH07XG4gICAgT25FcnJvclJlc3VtZU5leHRTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlDb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb05leHRTb3VyY2UoKTtcbiAgICB9O1xuICAgIE9uRXJyb3JSZXN1bWVOZXh0U3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvTmV4dFNvdXJjZSgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcbiAgICBPbkVycm9yUmVzdW1lTmV4dFN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb05leHRTb3VyY2UoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgT25FcnJvclJlc3VtZU5leHRTdWJzY3JpYmVyLnByb3RvdHlwZS5zdWJzY3JpYmVUb05leHRTb3VyY2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBuZXh0ID0gdGhpcy5uZXh0U291cmNlcy5zaGlmdCgpO1xuICAgICAgICBpZiAoISFuZXh0KSB7XG4gICAgICAgICAgICB2YXIgaW5uZXJTdWJzY3JpYmVyID0gbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKTtcbiAgICAgICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgICAgICBkZXN0aW5hdGlvbi5hZGQoaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKG5leHQsIGlubmVyU3Vic2NyaWJlcik7XG4gICAgICAgICAgICBpZiAoaW5uZXJTdWJzY3JpcHRpb24gIT09IGlubmVyU3Vic2NyaWJlcikge1xuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLmFkZChpbm5lclN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBPbkVycm9yUmVzdW1lTmV4dFN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b25FcnJvclJlc3VtZU5leHQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/onErrorResumeNext.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/pairwise.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/pairwise.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pairwise: function() { return /* binding */ pairwise; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nvar PairwiseOperator = /*@__PURE__*/ (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\nvar PairwiseSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasPrev = false;\n return _this;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n var pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n };\n return PairwiseSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=pairwise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcGFpcndpc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcGFpcndpc2UuanM/NTBiMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gcGFpcndpc2UoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBQYWlyd2lzZU9wZXJhdG9yKCkpOyB9O1xufVxudmFyIFBhaXJ3aXNlT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gUGFpcndpc2VPcGVyYXRvcigpIHtcbiAgICB9XG4gICAgUGFpcndpc2VPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFBhaXJ3aXNlU3Vic2NyaWJlcihzdWJzY3JpYmVyKSk7XG4gICAgfTtcbiAgICByZXR1cm4gUGFpcndpc2VPcGVyYXRvcjtcbn0oKSk7XG52YXIgUGFpcndpc2VTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFBhaXJ3aXNlU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBQYWlyd2lzZVN1YnNjcmliZXIoZGVzdGluYXRpb24pIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmhhc1ByZXYgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBQYWlyd2lzZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBwYWlyO1xuICAgICAgICBpZiAodGhpcy5oYXNQcmV2KSB7XG4gICAgICAgICAgICBwYWlyID0gW3RoaXMucHJldiwgdmFsdWVdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYXNQcmV2ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXYgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHBhaXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChwYWlyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFBhaXJ3aXNlU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFpcndpc2UuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/pairwise.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/partition.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/partition.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ partition: function() { return /* binding */ partition; }\n/* harmony export */ });\n/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/not */ \"./node_modules/rxjs/_esm5/internal/util/not.js\");\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter */ \"./node_modules/rxjs/_esm5/internal/operators/filter.js\");\n/** PURE_IMPORTS_START _util_not,_filter PURE_IMPORTS_END */\n\n\nfunction partition(predicate, thisArg) {\n return function (source) {\n return [\n (0,_filter__WEBPACK_IMPORTED_MODULE_0__.filter)(predicate, thisArg)(source),\n (0,_filter__WEBPACK_IMPORTED_MODULE_0__.filter)((0,_util_not__WEBPACK_IMPORTED_MODULE_1__.not)(predicate, thisArg))(source)\n ];\n };\n}\n//# sourceMappingURL=partition.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcGFydGl0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2tDO0FBQ0E7QUFDM0I7QUFDUDtBQUNBO0FBQ0EsWUFBWSwrQ0FBTTtBQUNsQixZQUFZLCtDQUFNLENBQUMsOENBQUc7QUFDdEI7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3BhcnRpdGlvbi5qcz9kNWNhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3V0aWxfbm90LF9maWx0ZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgbm90IH0gZnJvbSAnLi4vdXRpbC9ub3QnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbihwcmVkaWNhdGUsIHRoaXNBcmcpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgZmlsdGVyKHByZWRpY2F0ZSwgdGhpc0FyZykoc291cmNlKSxcbiAgICAgICAgICAgIGZpbHRlcihub3QocHJlZGljYXRlLCB0aGlzQXJnKSkoc291cmNlKVxuICAgICAgICBdO1xuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJ0aXRpb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/partition.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/pluck.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/pluck.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pluck: function() { return /* binding */ pluck; }\n/* harmony export */ });\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/** PURE_IMPORTS_START _map PURE_IMPORTS_END */\n\nfunction pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return (0,_map__WEBPACK_IMPORTED_MODULE_0__.map)(plucker(properties, length))(source); };\n}\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp != null ? currentProp[props[i]] : undefined;\n if (p !== void 0) {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n//# sourceMappingURL=pluck.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcGx1Y2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUM0QjtBQUNyQjtBQUNQO0FBQ0EscUJBQXFCLHVCQUF1QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsT0FBTyx5Q0FBRztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9wbHVjay5qcz81YTlmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX21hcCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuL21hcCc7XG5leHBvcnQgZnVuY3Rpb24gcGx1Y2soKSB7XG4gICAgdmFyIHByb3BlcnRpZXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBwcm9wZXJ0aWVzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBsZW5ndGggPSBwcm9wZXJ0aWVzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignbGlzdCBvZiBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBlbXB0eS4nKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIG1hcChwbHVja2VyKHByb3BlcnRpZXMsIGxlbmd0aCkpKHNvdXJjZSk7IH07XG59XG5mdW5jdGlvbiBwbHVja2VyKHByb3BzLCBsZW5ndGgpIHtcbiAgICB2YXIgbWFwcGVyID0gZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgdmFyIGN1cnJlbnRQcm9wID0geDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHAgPSBjdXJyZW50UHJvcCAhPSBudWxsID8gY3VycmVudFByb3BbcHJvcHNbaV1dIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKHAgIT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQcm9wID0gcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQcm9wO1xuICAgIH07XG4gICAgcmV0dXJuIG1hcHBlcjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBsdWNrLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/pluck.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/publish.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/publish.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publish: function() { return /* binding */ publish; }\n/* harmony export */ });\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multicast */ \"./node_modules/rxjs/_esm5/internal/operators/multicast.js\");\n/** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */\n\n\nfunction publish(selector) {\n return selector ?\n (0,_multicast__WEBPACK_IMPORTED_MODULE_0__.multicast)(function () { return new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject(); }, selector) :\n (0,_multicast__WEBPACK_IMPORTED_MODULE_0__.multicast)(new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject());\n}\n//# sourceMappingURL=publish.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNxQztBQUNHO0FBQ2pDO0FBQ1A7QUFDQSxRQUFRLHFEQUFTLGVBQWUsV0FBVyw2Q0FBTyxLQUFLO0FBQ3ZELFFBQVEscURBQVMsS0FBSyw2Q0FBTztBQUM3QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9wdWJsaXNoLmpzPzdiZmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfU3ViamVjdCxfbXVsdGljYXN0IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuLi9TdWJqZWN0JztcbmltcG9ydCB7IG11bHRpY2FzdCB9IGZyb20gJy4vbXVsdGljYXN0JztcbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoKHNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIHNlbGVjdG9yID9cbiAgICAgICAgbXVsdGljYXN0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5ldyBTdWJqZWN0KCk7IH0sIHNlbGVjdG9yKSA6XG4gICAgICAgIG11bHRpY2FzdChuZXcgU3ViamVjdCgpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXB1Ymxpc2guanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/publish.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/publishBehavior.js": -/*!***********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/publishBehavior.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publishBehavior: function() { return /* binding */ publishBehavior; }\n/* harmony export */ });\n/* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BehaviorSubject */ \"./node_modules/rxjs/_esm5/internal/BehaviorSubject.js\");\n/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multicast */ \"./node_modules/rxjs/_esm5/internal/operators/multicast.js\");\n/** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */\n\n\nfunction publishBehavior(value) {\n return function (source) { return (0,_multicast__WEBPACK_IMPORTED_MODULE_0__.multicast)(new _BehaviorSubject__WEBPACK_IMPORTED_MODULE_1__.BehaviorSubject(value))(source); };\n}\n//# sourceMappingURL=publishBehavior.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaEJlaGF2aW9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ3FEO0FBQ2I7QUFDakM7QUFDUCwrQkFBK0IsT0FBTyxxREFBUyxLQUFLLDZEQUFlO0FBQ25FO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3B1Ymxpc2hCZWhhdmlvci5qcz85ZmVjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX0JlaGF2aW9yU3ViamVjdCxfbXVsdGljYXN0IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJy4uL0JlaGF2aW9yU3ViamVjdCc7XG5pbXBvcnQgeyBtdWx0aWNhc3QgfSBmcm9tICcuL211bHRpY2FzdCc7XG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaEJlaGF2aW9yKHZhbHVlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIG11bHRpY2FzdChuZXcgQmVoYXZpb3JTdWJqZWN0KHZhbHVlKSkoc291cmNlKTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXB1Ymxpc2hCZWhhdmlvci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/publishBehavior.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/publishLast.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/publishLast.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publishLast: function() { return /* binding */ publishLast; }\n/* harmony export */ });\n/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AsyncSubject */ \"./node_modules/rxjs/_esm5/internal/AsyncSubject.js\");\n/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multicast */ \"./node_modules/rxjs/_esm5/internal/operators/multicast.js\");\n/** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */\n\n\nfunction publishLast() {\n return function (source) { return (0,_multicast__WEBPACK_IMPORTED_MODULE_0__.multicast)(new _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__.AsyncSubject())(source); };\n}\n//# sourceMappingURL=publishLast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaExhc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDK0M7QUFDUDtBQUNqQztBQUNQLCtCQUErQixPQUFPLHFEQUFTLEtBQUssdURBQVk7QUFDaEU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaExhc3QuanM/MjBmNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9Bc3luY1N1YmplY3QsX211bHRpY2FzdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBBc3luY1N1YmplY3QgfSBmcm9tICcuLi9Bc3luY1N1YmplY3QnO1xuaW1wb3J0IHsgbXVsdGljYXN0IH0gZnJvbSAnLi9tdWx0aWNhc3QnO1xuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hMYXN0KCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBtdWx0aWNhc3QobmV3IEFzeW5jU3ViamVjdCgpKShzb3VyY2UpOyB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHVibGlzaExhc3QuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/publishLast.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/publishReplay.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/publishReplay.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publishReplay: function() { return /* binding */ publishReplay; }\n/* harmony export */ });\n/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ReplaySubject */ \"./node_modules/rxjs/_esm5/internal/ReplaySubject.js\");\n/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./multicast */ \"./node_modules/rxjs/_esm5/internal/operators/multicast.js\");\n/** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */\n\n\nfunction publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n var selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n var subject = new _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__.ReplaySubject(bufferSize, windowTime, scheduler);\n return function (source) { return (0,_multicast__WEBPACK_IMPORTED_MODULE_1__.multicast)(function () { return subject; }, selector)(source); };\n}\n//# sourceMappingURL=publishReplay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaFJlcGxheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpRDtBQUNUO0FBQ2pDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IseURBQWE7QUFDbkMsK0JBQStCLE9BQU8scURBQVMsZUFBZSxpQkFBaUI7QUFDL0U7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaFJlcGxheS5qcz85NDkxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX1JlcGxheVN1YmplY3QsX211bHRpY2FzdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAnLi4vUmVwbGF5U3ViamVjdCc7XG5pbXBvcnQgeyBtdWx0aWNhc3QgfSBmcm9tICcuL211bHRpY2FzdCc7XG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFJlcGxheShidWZmZXJTaXplLCB3aW5kb3dUaW1lLCBzZWxlY3Rvck9yU2NoZWR1bGVyLCBzY2hlZHVsZXIpIHtcbiAgICBpZiAoc2VsZWN0b3JPclNjaGVkdWxlciAmJiB0eXBlb2Ygc2VsZWN0b3JPclNjaGVkdWxlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBzY2hlZHVsZXIgPSBzZWxlY3Rvck9yU2NoZWR1bGVyO1xuICAgIH1cbiAgICB2YXIgc2VsZWN0b3IgPSB0eXBlb2Ygc2VsZWN0b3JPclNjaGVkdWxlciA9PT0gJ2Z1bmN0aW9uJyA/IHNlbGVjdG9yT3JTY2hlZHVsZXIgOiB1bmRlZmluZWQ7XG4gICAgdmFyIHN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdChidWZmZXJTaXplLCB3aW5kb3dUaW1lLCBzY2hlZHVsZXIpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBtdWx0aWNhc3QoZnVuY3Rpb24gKCkgeyByZXR1cm4gc3ViamVjdDsgfSwgc2VsZWN0b3IpKHNvdXJjZSk7IH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdWJsaXNoUmVwbGF5LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/publishReplay.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/race.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/race.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ race: function() { return /* binding */ race; }\n/* harmony export */ });\n/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/* harmony import */ var _observable_race__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../observable/race */ \"./node_modules/rxjs/_esm5/internal/observable/race.js\");\n/** PURE_IMPORTS_START _util_isArray,_observable_race PURE_IMPORTS_END */\n\n\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function raceOperatorFunction(source) {\n if (observables.length === 1 && (0,_util_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(observables[0])) {\n observables = observables[0];\n }\n return source.lift.call(_observable_race__WEBPACK_IMPORTED_MODULE_1__.race.apply(void 0, [source].concat(observables)));\n };\n}\n//# sourceMappingURL=race.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmFjZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUMwQztBQUNjO0FBQ2pEO0FBQ1A7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxzREFBTztBQUMvQztBQUNBO0FBQ0EsZ0NBQWdDLGtEQUFVO0FBQzFDO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmFjZS5qcz8yZDJmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3V0aWxfaXNBcnJheSxfb2JzZXJ2YWJsZV9yYWNlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlsL2lzQXJyYXknO1xuaW1wb3J0IHsgcmFjZSBhcyByYWNlU3RhdGljIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9yYWNlJztcbmV4cG9ydCBmdW5jdGlvbiByYWNlKCkge1xuICAgIHZhciBvYnNlcnZhYmxlcyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIG9ic2VydmFibGVzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiByYWNlT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgaWYgKG9ic2VydmFibGVzLmxlbmd0aCA9PT0gMSAmJiBpc0FycmF5KG9ic2VydmFibGVzWzBdKSkge1xuICAgICAgICAgICAgb2JzZXJ2YWJsZXMgPSBvYnNlcnZhYmxlc1swXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQuY2FsbChyYWNlU3RhdGljLmFwcGx5KHZvaWQgMCwgW3NvdXJjZV0uY29uY2F0KG9ic2VydmFibGVzKSkpO1xuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yYWNlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/race.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/reduce.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/reduce.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ reduce: function() { return /* binding */ reduce; }\n/* harmony export */ });\n/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scan */ \"./node_modules/rxjs/_esm5/internal/operators/scan.js\");\n/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./takeLast */ \"./node_modules/rxjs/_esm5/internal/operators/takeLast.js\");\n/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js\");\n/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/pipe */ \"./node_modules/rxjs/_esm5/internal/util/pipe.js\");\n/** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */\n\n\n\n\nfunction reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return (0,_util_pipe__WEBPACK_IMPORTED_MODULE_0__.pipe)((0,_scan__WEBPACK_IMPORTED_MODULE_1__.scan)(accumulator, seed), (0,_takeLast__WEBPACK_IMPORTED_MODULE_2__.takeLast)(1), (0,_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__.defaultIfEmpty)(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return (0,_util_pipe__WEBPACK_IMPORTED_MODULE_0__.pipe)((0,_scan__WEBPACK_IMPORTED_MODULE_1__.scan)(function (acc, value, index) { return accumulator(acc, value, index + 1); }), (0,_takeLast__WEBPACK_IMPORTED_MODULE_2__.takeLast)(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmVkdWNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDOEI7QUFDUTtBQUNZO0FBQ2Q7QUFDN0I7QUFDUDtBQUNBO0FBQ0EsbUJBQW1CLGdEQUFJLENBQUMsMkNBQUkscUJBQXFCLG1EQUFRLEtBQUssK0RBQWM7QUFDNUU7QUFDQTtBQUNBO0FBQ0EsZUFBZSxnREFBSSxDQUFDLDJDQUFJLGdDQUFnQyw0Q0FBNEMsR0FBRyxtREFBUTtBQUMvRztBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3JlZHVjZS5qcz8zN2NiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3NjYW4sX3Rha2VMYXN0LF9kZWZhdWx0SWZFbXB0eSxfdXRpbF9waXBlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IHNjYW4gfSBmcm9tICcuL3NjYW4nO1xuaW1wb3J0IHsgdGFrZUxhc3QgfSBmcm9tICcuL3Rha2VMYXN0JztcbmltcG9ydCB7IGRlZmF1bHRJZkVtcHR5IH0gZnJvbSAnLi9kZWZhdWx0SWZFbXB0eSc7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSAnLi4vdXRpbC9waXBlJztcbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2UoYWNjdW11bGF0b3IsIHNlZWQpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiByZWR1Y2VPcGVyYXRvckZ1bmN0aW9uV2l0aFNlZWQoc291cmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gcGlwZShzY2FuKGFjY3VtdWxhdG9yLCBzZWVkKSwgdGFrZUxhc3QoMSksIGRlZmF1bHRJZkVtcHR5KHNlZWQpKShzb3VyY2UpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gcmVkdWNlT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHBpcGUoc2NhbihmdW5jdGlvbiAoYWNjLCB2YWx1ZSwgaW5kZXgpIHsgcmV0dXJuIGFjY3VtdWxhdG9yKGFjYywgdmFsdWUsIGluZGV4ICsgMSk7IH0pLCB0YWtlTGFzdCgxKSkoc291cmNlKTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVkdWNlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/reduce.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/refCount.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/refCount.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ refCount: function() { return /* binding */ refCount; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=refCount.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmVmQ291bnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3JlZkNvdW50LmpzP2IwNDIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHJlZkNvdW50KCkge1xuICAgIHJldHVybiBmdW5jdGlvbiByZWZDb3VudE9wZXJhdG9yRnVuY3Rpb24oc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgUmVmQ291bnRPcGVyYXRvcihzb3VyY2UpKTtcbiAgICB9O1xufVxudmFyIFJlZkNvdW50T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gUmVmQ291bnRPcGVyYXRvcihjb25uZWN0YWJsZSkge1xuICAgICAgICB0aGlzLmNvbm5lY3RhYmxlID0gY29ubmVjdGFibGU7XG4gICAgfVxuICAgIFJlZkNvdW50T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHZhciBjb25uZWN0YWJsZSA9IHRoaXMuY29ubmVjdGFibGU7XG4gICAgICAgIGNvbm5lY3RhYmxlLl9yZWZDb3VudCsrO1xuICAgICAgICB2YXIgcmVmQ291bnRlciA9IG5ldyBSZWZDb3VudFN1YnNjcmliZXIoc3Vic2NyaWJlciwgY29ubmVjdGFibGUpO1xuICAgICAgICB2YXIgc3Vic2NyaXB0aW9uID0gc291cmNlLnN1YnNjcmliZShyZWZDb3VudGVyKTtcbiAgICAgICAgaWYgKCFyZWZDb3VudGVyLmNsb3NlZCkge1xuICAgICAgICAgICAgcmVmQ291bnRlci5jb25uZWN0aW9uID0gY29ubmVjdGFibGUuY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICByZXR1cm4gUmVmQ291bnRPcGVyYXRvcjtcbn0oKSk7XG52YXIgUmVmQ291bnRTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFJlZkNvdW50U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBSZWZDb3VudFN1YnNjcmliZXIoZGVzdGluYXRpb24sIGNvbm5lY3RhYmxlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5jb25uZWN0YWJsZSA9IGNvbm5lY3RhYmxlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFJlZkNvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX3Vuc3Vic2NyaWJlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29ubmVjdGFibGUgPSB0aGlzLmNvbm5lY3RhYmxlO1xuICAgICAgICBpZiAoIWNvbm5lY3RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29ubmVjdGFibGUgPSBudWxsO1xuICAgICAgICB2YXIgcmVmQ291bnQgPSBjb25uZWN0YWJsZS5fcmVmQ291bnQ7XG4gICAgICAgIGlmIChyZWZDb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbm5lY3RhYmxlLl9yZWZDb3VudCA9IHJlZkNvdW50IC0gMTtcbiAgICAgICAgaWYgKHJlZkNvdW50ID4gMSkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY29ubmVjdGlvbiA9IHRoaXMuY29ubmVjdGlvbjtcbiAgICAgICAgdmFyIHNoYXJlZENvbm5lY3Rpb24gPSBjb25uZWN0YWJsZS5fY29ubmVjdGlvbjtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gbnVsbDtcbiAgICAgICAgaWYgKHNoYXJlZENvbm5lY3Rpb24gJiYgKCFjb25uZWN0aW9uIHx8IHNoYXJlZENvbm5lY3Rpb24gPT09IGNvbm5lY3Rpb24pKSB7XG4gICAgICAgICAgICBzaGFyZWRDb25uZWN0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBSZWZDb3VudFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZkNvdW50LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/refCount.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/repeat.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/repeat.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ repeat: function() { return /* binding */ repeat; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_observable_empty PURE_IMPORTS_END */\n\n\n\nfunction repeat(count) {\n if (count === void 0) {\n count = -1;\n }\n return function (source) {\n if (count === 0) {\n return (0,_observable_empty__WEBPACK_IMPORTED_MODULE_0__.empty)();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nvar RepeatOperator = /*@__PURE__*/ (function () {\n function RepeatOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RepeatOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n };\n return RepeatOperator;\n}());\nvar RepeatSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(RepeatSubscriber, _super);\n function RepeatSubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RepeatSubscriber.prototype.complete = function () {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.complete.call(this);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RepeatSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\n//# sourceMappingURL=repeat.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmVwZWF0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ0M7QUFDckM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHdEQUFLO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3JlcGVhdC5qcz84YmMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX29ic2VydmFibGVfZW1wdHkgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IGVtcHR5IH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9lbXB0eSc7XG5leHBvcnQgZnVuY3Rpb24gcmVwZWF0KGNvdW50KSB7XG4gICAgaWYgKGNvdW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgY291bnQgPSAtMTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChjb3VudCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgUmVwZWF0T3BlcmF0b3IoLTEsIHNvdXJjZSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBSZXBlYXRPcGVyYXRvcihjb3VudCAtIDEsIHNvdXJjZSkpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbnZhciBSZXBlYXRPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBSZXBlYXRPcGVyYXRvcihjb3VudCwgc291cmNlKSB7XG4gICAgICAgIHRoaXMuY291bnQgPSBjb3VudDtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgfVxuICAgIFJlcGVhdE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgUmVwZWF0U3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmNvdW50LCB0aGlzLnNvdXJjZSkpO1xuICAgIH07XG4gICAgcmV0dXJuIFJlcGVhdE9wZXJhdG9yO1xufSgpKTtcbnZhciBSZXBlYXRTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFJlcGVhdFN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gUmVwZWF0U3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgY291bnQsIHNvdXJjZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuY291bnQgPSBjb3VudDtcbiAgICAgICAgX3RoaXMuc291cmNlID0gc291cmNlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFJlcGVhdFN1YnNjcmliZXIucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLCBzb3VyY2UgPSBfYS5zb3VyY2UsIGNvdW50ID0gX2EuY291bnQ7XG4gICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5jb21wbGV0ZS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY291bnQgPiAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnQgPSBjb3VudCAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzb3VyY2Uuc3Vic2NyaWJlKHRoaXMuX3Vuc3Vic2NyaWJlQW5kUmVjeWNsZSgpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFJlcGVhdFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcGVhdC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/repeat.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/repeatWhen.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/repeatWhen.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ repeatWhen: function() { return /* binding */ repeatWhen; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\n\n\n\nfunction repeatWhen(notifier) {\n return function (source) { return source.lift(new RepeatWhenOperator(notifier)); };\n}\nvar RepeatWhenOperator = /*@__PURE__*/ (function () {\n function RepeatWhenOperator(notifier) {\n this.notifier = notifier;\n }\n RepeatWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));\n };\n return RepeatWhenOperator;\n}());\nvar RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(RepeatWhenSubscriber, _super);\n function RepeatWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n _this.sourceIsBeingSubscribedTo = true;\n return _this;\n }\n RepeatWhenSubscriber.prototype.notifyNext = function () {\n this.sourceIsBeingSubscribedTo = true;\n this.source.subscribe(this);\n };\n RepeatWhenSubscriber.prototype.notifyComplete = function () {\n if (this.sourceIsBeingSubscribedTo === false) {\n return _super.prototype.complete.call(this);\n }\n };\n RepeatWhenSubscriber.prototype.complete = function () {\n this.sourceIsBeingSubscribedTo = false;\n if (!this.isStopped) {\n if (!this.retries) {\n this.subscribeToRetries();\n }\n if (!this.retriesSubscription || this.retriesSubscription.closed) {\n return _super.prototype.complete.call(this);\n }\n this._unsubscribeAndRecycle();\n this.notifications.next(undefined);\n }\n };\n RepeatWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n if (notifications) {\n notifications.unsubscribe();\n this.notifications = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n };\n RepeatWhenSubscriber.prototype._unsubscribeAndRecycle = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n _super.prototype._unsubscribeAndRecycle.call(this);\n this._unsubscribe = _unsubscribe;\n return this;\n };\n RepeatWhenSubscriber.prototype.subscribeToRetries = function () {\n this.notifications = new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject();\n var retries;\n try {\n var notifier = this.notifier;\n retries = notifier(this.notifications);\n }\n catch (e) {\n return _super.prototype.complete.call(this);\n }\n this.retries = retries;\n this.retriesSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.innerSubscribe)(retries, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.SimpleInnerSubscriber(this));\n };\n return RepeatWhenSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.SimpleOuterSubscriber));\n//# sourceMappingURL=repeatWhen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmVwZWF0V2hlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDaUM7QUFDSTtBQUM0RDtBQUMxRjtBQUNQLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2Q0FBTztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsK0RBQWMsY0FBYyxrRUFBcUI7QUFDcEY7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3JlcGVhdFdoZW4uanM/NjEzNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJqZWN0LF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGVhdFdoZW4obm90aWZpZXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IFJlcGVhdFdoZW5PcGVyYXRvcihub3RpZmllcikpOyB9O1xufVxudmFyIFJlcGVhdFdoZW5PcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBSZXBlYXRXaGVuT3BlcmF0b3Iobm90aWZpZXIpIHtcbiAgICAgICAgdGhpcy5ub3RpZmllciA9IG5vdGlmaWVyO1xuICAgIH1cbiAgICBSZXBlYXRXaGVuT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBSZXBlYXRXaGVuU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLm5vdGlmaWVyLCBzb3VyY2UpKTtcbiAgICB9O1xuICAgIHJldHVybiBSZXBlYXRXaGVuT3BlcmF0b3I7XG59KCkpO1xudmFyIFJlcGVhdFdoZW5TdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFJlcGVhdFdoZW5TdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFJlcGVhdFdoZW5TdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBub3RpZmllciwgc291cmNlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5ub3RpZmllciA9IG5vdGlmaWVyO1xuICAgICAgICBfdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIF90aGlzLnNvdXJjZUlzQmVpbmdTdWJzY3JpYmVkVG8gPSB0cnVlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFJlcGVhdFdoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnNvdXJjZUlzQmVpbmdTdWJzY3JpYmVkVG8gPSB0cnVlO1xuICAgICAgICB0aGlzLnNvdXJjZS5zdWJzY3JpYmUodGhpcyk7XG4gICAgfTtcbiAgICBSZXBlYXRXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLnNvdXJjZUlzQmVpbmdTdWJzY3JpYmVkVG8gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5jb21wbGV0ZS5jYWxsKHRoaXMpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBSZXBlYXRXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUuY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuc291cmNlSXNCZWluZ1N1YnNjcmliZWRUbyA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucmV0cmllcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9SZXRyaWVzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMucmV0cmllc1N1YnNjcmlwdGlvbiB8fCB0aGlzLnJldHJpZXNTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9zdXBlci5wcm90b3R5cGUuY29tcGxldGUuY2FsbCh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQW5kUmVjeWNsZSgpO1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLm5leHQodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgUmVwZWF0V2hlblN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgbm90aWZpY2F0aW9ucyA9IF9hLm5vdGlmaWNhdGlvbnMsIHJldHJpZXNTdWJzY3JpcHRpb24gPSBfYS5yZXRyaWVzU3Vic2NyaXB0aW9uO1xuICAgICAgICBpZiAobm90aWZpY2F0aW9ucykge1xuICAgICAgICAgICAgbm90aWZpY2F0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXRyaWVzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICByZXRyaWVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnJldHJpZXNTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXRyaWVzID0gdW5kZWZpbmVkO1xuICAgIH07XG4gICAgUmVwZWF0V2hlblN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZUFuZFJlY3ljbGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdW5zdWJzY3JpYmUgPSB0aGlzLl91bnN1YnNjcmliZTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUgPSBudWxsO1xuICAgICAgICBfc3VwZXIucHJvdG90eXBlLl91bnN1YnNjcmliZUFuZFJlY3ljbGUuY2FsbCh0aGlzKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUgPSBfdW5zdWJzY3JpYmU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgUmVwZWF0V2hlblN1YnNjcmliZXIucHJvdG90eXBlLnN1YnNjcmliZVRvUmV0cmllcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdmFyIHJldHJpZXM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgbm90aWZpZXIgPSB0aGlzLm5vdGlmaWVyO1xuICAgICAgICAgICAgcmV0cmllcyA9IG5vdGlmaWVyKHRoaXMubm90aWZpY2F0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLmNvbXBsZXRlLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXRyaWVzID0gcmV0cmllcztcbiAgICAgICAgdGhpcy5yZXRyaWVzU3Vic2NyaXB0aW9uID0gaW5uZXJTdWJzY3JpYmUocmV0cmllcywgbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKSk7XG4gICAgfTtcbiAgICByZXR1cm4gUmVwZWF0V2hlblN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVwZWF0V2hlbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/repeatWhen.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/retry.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/retry.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ retry: function() { return /* binding */ retry; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction retry(count) {\n if (count === void 0) {\n count = -1;\n }\n return function (source) { return source.lift(new RetryOperator(count, source)); };\n}\nvar RetryOperator = /*@__PURE__*/ (function () {\n function RetryOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RetryOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n };\n return RetryOperator;\n}());\nvar RetrySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(RetrySubscriber, _super);\n function RetrySubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RetrySubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.error.call(this, err);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RetrySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=retry.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmV0cnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNwQztBQUNQO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3JldHJ5LmpzP2FkY2MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHJldHJ5KGNvdW50KSB7XG4gICAgaWYgKGNvdW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgY291bnQgPSAtMTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBSZXRyeU9wZXJhdG9yKGNvdW50LCBzb3VyY2UpKTsgfTtcbn1cbnZhciBSZXRyeU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFJldHJ5T3BlcmF0b3IoY291bnQsIHNvdXJjZSkge1xuICAgICAgICB0aGlzLmNvdW50ID0gY291bnQ7XG4gICAgICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICAgIH1cbiAgICBSZXRyeU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgUmV0cnlTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuY291bnQsIHRoaXMuc291cmNlKSk7XG4gICAgfTtcbiAgICByZXR1cm4gUmV0cnlPcGVyYXRvcjtcbn0oKSk7XG52YXIgUmV0cnlTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFJldHJ5U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBSZXRyeVN1YnNjcmliZXIoZGVzdGluYXRpb24sIGNvdW50LCBzb3VyY2UpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmNvdW50ID0gY291bnQ7XG4gICAgICAgIF90aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBSZXRyeVN1YnNjcmliZXIucHJvdG90eXBlLmVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLCBzb3VyY2UgPSBfYS5zb3VyY2UsIGNvdW50ID0gX2EuY291bnQ7XG4gICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5lcnJvci5jYWxsKHRoaXMsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjb3VudCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudCA9IGNvdW50IC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNvdXJjZS5zdWJzY3JpYmUodGhpcy5fdW5zdWJzY3JpYmVBbmRSZWN5Y2xlKCkpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gUmV0cnlTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXRyeS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/retry.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/retryWhen.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/retryWhen.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ retryWhen: function() { return /* binding */ retryWhen; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\n\n\n\nfunction retryWhen(notifier) {\n return function (source) { return source.lift(new RetryWhenOperator(notifier, source)); };\n}\nvar RetryWhenOperator = /*@__PURE__*/ (function () {\n function RetryWhenOperator(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n };\n return RetryWhenOperator;\n}());\nvar RetryWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(RetryWhenSubscriber, _super);\n function RetryWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n return _this;\n }\n RetryWhenSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var errors = this.errors;\n var retries = this.retries;\n var retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject();\n try {\n var notifier = this.notifier;\n retries = notifier(errors);\n }\n catch (e) {\n return _super.prototype.error.call(this, e);\n }\n retriesSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.innerSubscribe)(retries, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.SimpleInnerSubscriber(this));\n }\n else {\n this.errors = undefined;\n this.retriesSubscription = undefined;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n };\n RetryWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n if (errors) {\n errors.unsubscribe();\n this.errors = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n };\n RetryWhenSubscriber.prototype.notifyNext = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n this._unsubscribeAndRecycle();\n this._unsubscribe = _unsubscribe;\n this.source.subscribe(this);\n };\n return RetryWhenSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_2__.SimpleOuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvcmV0cnlXaGVuLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNJO0FBQzREO0FBQzFGO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLDZDQUFPO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLCtEQUFjLGNBQWMsa0VBQXFCO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9yZXRyeVdoZW4uanM/NjM2MiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJqZWN0LF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIHJldHJ5V2hlbihub3RpZmllcikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgUmV0cnlXaGVuT3BlcmF0b3Iobm90aWZpZXIsIHNvdXJjZSkpOyB9O1xufVxudmFyIFJldHJ5V2hlbk9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFJldHJ5V2hlbk9wZXJhdG9yKG5vdGlmaWVyLCBzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5ub3RpZmllciA9IG5vdGlmaWVyO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICB9XG4gICAgUmV0cnlXaGVuT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBSZXRyeVdoZW5TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMubm90aWZpZXIsIHRoaXMuc291cmNlKSk7XG4gICAgfTtcbiAgICByZXR1cm4gUmV0cnlXaGVuT3BlcmF0b3I7XG59KCkpO1xudmFyIFJldHJ5V2hlblN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoUmV0cnlXaGVuU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBSZXRyeVdoZW5TdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBub3RpZmllciwgc291cmNlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5ub3RpZmllciA9IG5vdGlmaWVyO1xuICAgICAgICBfdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgUmV0cnlXaGVuU3Vic2NyaWJlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHZhciBlcnJvcnMgPSB0aGlzLmVycm9ycztcbiAgICAgICAgICAgIHZhciByZXRyaWVzID0gdGhpcy5yZXRyaWVzO1xuICAgICAgICAgICAgdmFyIHJldHJpZXNTdWJzY3JpcHRpb24gPSB0aGlzLnJldHJpZXNTdWJzY3JpcHRpb247XG4gICAgICAgICAgICBpZiAoIXJldHJpZXMpIHtcbiAgICAgICAgICAgICAgICBlcnJvcnMgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBub3RpZmllciA9IHRoaXMubm90aWZpZXI7XG4gICAgICAgICAgICAgICAgICAgIHJldHJpZXMgPSBub3RpZmllcihlcnJvcnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5lcnJvci5jYWxsKHRoaXMsIGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXRyaWVzU3Vic2NyaXB0aW9uID0gaW5uZXJTdWJzY3JpYmUocmV0cmllcywgbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9ycyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLnJldHJpZXNTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFuZFJlY3ljbGUoKTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgICAgICAgICAgdGhpcy5yZXRyaWVzID0gcmV0cmllcztcbiAgICAgICAgICAgIHRoaXMucmV0cmllc1N1YnNjcmlwdGlvbiA9IHJldHJpZXNTdWJzY3JpcHRpb247XG4gICAgICAgICAgICBlcnJvcnMubmV4dChlcnIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBSZXRyeVdoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS5fdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMsIGVycm9ycyA9IF9hLmVycm9ycywgcmV0cmllc1N1YnNjcmlwdGlvbiA9IF9hLnJldHJpZXNTdWJzY3JpcHRpb247XG4gICAgICAgIGlmIChlcnJvcnMpIHtcbiAgICAgICAgICAgIGVycm9ycy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5lcnJvcnMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJldHJpZXNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHJldHJpZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMucmV0cmllc1N1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJldHJpZXMgPSB1bmRlZmluZWQ7XG4gICAgfTtcbiAgICBSZXRyeVdoZW5TdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3Vuc3Vic2NyaWJlID0gdGhpcy5fdW5zdWJzY3JpYmU7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlID0gbnVsbDtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbmRSZWN5Y2xlKCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlID0gX3Vuc3Vic2NyaWJlO1xuICAgICAgICB0aGlzLnNvdXJjZS5zdWJzY3JpYmUodGhpcyk7XG4gICAgfTtcbiAgICByZXR1cm4gUmV0cnlXaGVuU3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXRyeVdoZW4uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/retryWhen.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/sample.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/sample.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sample: function() { return /* binding */ sample; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction sample(notifier) {\n return function (source) { return source.lift(new SampleOperator(notifier)); };\n}\nvar SampleOperator = /*@__PURE__*/ (function () {\n function SampleOperator(notifier) {\n this.notifier = notifier;\n }\n SampleOperator.prototype.call = function (subscriber, source) {\n var sampleSubscriber = new SampleSubscriber(subscriber);\n var subscription = source.subscribe(sampleSubscriber);\n subscription.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.innerSubscribe)(this.notifier, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.SimpleInnerSubscriber(sampleSubscriber)));\n return subscription;\n };\n return SampleOperator;\n}());\nvar SampleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(SampleSubscriber, _super);\n function SampleSubscriber() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hasValue = false;\n return _this;\n }\n SampleSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n };\n SampleSubscriber.prototype.notifyNext = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.value);\n }\n };\n return SampleSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.SimpleOuterSubscriber));\n//# sourceMappingURL=sample.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2FtcGxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ2dFO0FBQzFGO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsK0RBQWMsb0JBQW9CLGtFQUFxQjtBQUNoRjtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3NhbXBsZS5qcz9hYTk5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX2lubmVyU3Vic2NyaWJlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTaW1wbGVPdXRlclN1YnNjcmliZXIsIGlubmVyU3Vic2NyaWJlLCBTaW1wbGVJbm5lclN1YnNjcmliZXIgfSBmcm9tICcuLi9pbm5lclN1YnNjcmliZSc7XG5leHBvcnQgZnVuY3Rpb24gc2FtcGxlKG5vdGlmaWVyKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBTYW1wbGVPcGVyYXRvcihub3RpZmllcikpOyB9O1xufVxudmFyIFNhbXBsZU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNhbXBsZU9wZXJhdG9yKG5vdGlmaWVyKSB7XG4gICAgICAgIHRoaXMubm90aWZpZXIgPSBub3RpZmllcjtcbiAgICB9XG4gICAgU2FtcGxlT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHZhciBzYW1wbGVTdWJzY3JpYmVyID0gbmV3IFNhbXBsZVN1YnNjcmliZXIoc3Vic2NyaWJlcik7XG4gICAgICAgIHZhciBzdWJzY3JpcHRpb24gPSBzb3VyY2Uuc3Vic2NyaWJlKHNhbXBsZVN1YnNjcmliZXIpO1xuICAgICAgICBzdWJzY3JpcHRpb24uYWRkKGlubmVyU3Vic2NyaWJlKHRoaXMubm90aWZpZXIsIG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIoc2FtcGxlU3Vic2NyaWJlcikpKTtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgICB9O1xuICAgIHJldHVybiBTYW1wbGVPcGVyYXRvcjtcbn0oKSk7XG52YXIgU2FtcGxlU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTYW1wbGVTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFNhbXBsZVN1YnNjcmliZXIoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5oYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFNhbXBsZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IHRydWU7XG4gICAgfTtcbiAgICBTYW1wbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgIH07XG4gICAgU2FtcGxlU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgfTtcbiAgICBTYW1wbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5lbWl0VmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBTYW1wbGVTdWJzY3JpYmVyO1xufShTaW1wbGVPdXRlclN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNhbXBsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/sample.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/sampleTime.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/sampleTime.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sampleTime: function() { return /* binding */ sampleTime; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\n\n\n\nfunction sampleTime(period, scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return function (source) { return source.lift(new SampleTimeOperator(period, scheduler)); };\n}\nvar SampleTimeOperator = /*@__PURE__*/ (function () {\n function SampleTimeOperator(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n SampleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n };\n return SampleTimeOperator;\n}());\nvar SampleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(SampleTimeSubscriber, _super);\n function SampleTimeSubscriber(destination, period, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.period = period;\n _this.scheduler = scheduler;\n _this.hasValue = false;\n _this.add(scheduler.schedule(dispatchNotification, period, { subscriber: _this, period: period }));\n return _this;\n }\n SampleTimeSubscriber.prototype._next = function (value) {\n this.lastValue = value;\n this.hasValue = true;\n };\n SampleTimeSubscriber.prototype.notifyNext = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n };\n return SampleTimeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\nfunction dispatchNotification(state) {\n var subscriber = state.subscriber, period = state.period;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2FtcGxlVGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNBO0FBQ3BDO0FBQ1A7QUFDQSxvQkFBb0IsbURBQUs7QUFDekI7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFLG1DQUFtQztBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2FtcGxlVGltZS5qcz82MGViIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX3NjaGVkdWxlcl9hc3luYyBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgYXN5bmMgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuZXhwb3J0IGZ1bmN0aW9uIHNhbXBsZVRpbWUocGVyaW9kLCBzY2hlZHVsZXIpIHtcbiAgICBpZiAoc2NoZWR1bGVyID09PSB2b2lkIDApIHtcbiAgICAgICAgc2NoZWR1bGVyID0gYXN5bmM7XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgU2FtcGxlVGltZU9wZXJhdG9yKHBlcmlvZCwgc2NoZWR1bGVyKSk7IH07XG59XG52YXIgU2FtcGxlVGltZU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNhbXBsZVRpbWVPcGVyYXRvcihwZXJpb2QsIHNjaGVkdWxlcikge1xuICAgICAgICB0aGlzLnBlcmlvZCA9IHBlcmlvZDtcbiAgICAgICAgdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgfVxuICAgIFNhbXBsZVRpbWVPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFNhbXBsZVRpbWVTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMucGVyaW9kLCB0aGlzLnNjaGVkdWxlcikpO1xuICAgIH07XG4gICAgcmV0dXJuIFNhbXBsZVRpbWVPcGVyYXRvcjtcbn0oKSk7XG52YXIgU2FtcGxlVGltZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU2FtcGxlVGltZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU2FtcGxlVGltZVN1YnNjcmliZXIoZGVzdGluYXRpb24sIHBlcmlvZCwgc2NoZWR1bGVyKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wZXJpb2QgPSBwZXJpb2Q7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaE5vdGlmaWNhdGlvbiwgcGVyaW9kLCB7IHN1YnNjcmliZXI6IF90aGlzLCBwZXJpb2Q6IHBlcmlvZCB9KSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgU2FtcGxlVGltZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSB0cnVlO1xuICAgIH07XG4gICAgU2FtcGxlVGltZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodGhpcy5sYXN0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gU2FtcGxlVGltZVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbmZ1bmN0aW9uIGRpc3BhdGNoTm90aWZpY2F0aW9uKHN0YXRlKSB7XG4gICAgdmFyIHN1YnNjcmliZXIgPSBzdGF0ZS5zdWJzY3JpYmVyLCBwZXJpb2QgPSBzdGF0ZS5wZXJpb2Q7XG4gICAgc3Vic2NyaWJlci5ub3RpZnlOZXh0KCk7XG4gICAgdGhpcy5zY2hlZHVsZShzdGF0ZSwgcGVyaW9kKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNhbXBsZVRpbWUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/sampleTime.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/scan.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/scan.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scan: function() { return /* binding */ scan; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction scan(accumulator, seed) {\n var hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nvar ScanOperator = /*@__PURE__*/ (function () {\n function ScanOperator(accumulator, seed, hasSeed) {\n if (hasSeed === void 0) {\n hasSeed = false;\n }\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n ScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n };\n return ScanOperator;\n}());\nvar ScanSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ScanSubscriber, _super);\n function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this._seed = _seed;\n _this.hasSeed = hasSeed;\n _this.index = 0;\n return _this;\n }\n Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n get: function () {\n return this._seed;\n },\n set: function (value) {\n this.hasSeed = true;\n this._seed = value;\n },\n enumerable: true,\n configurable: true\n });\n ScanSubscriber.prototype._next = function (value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n };\n ScanSubscriber.prototype._tryNext = function (value) {\n var index = this.index++;\n var result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n };\n return ScanSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=scan.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2Nhbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ3BDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9zY2FuLmpzPzM4MTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHNjYW4oYWNjdW11bGF0b3IsIHNlZWQpIHtcbiAgICB2YXIgaGFzU2VlZCA9IGZhbHNlO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgaGFzU2VlZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiBzY2FuT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBTY2FuT3BlcmF0b3IoYWNjdW11bGF0b3IsIHNlZWQsIGhhc1NlZWQpKTtcbiAgICB9O1xufVxudmFyIFNjYW5PcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTY2FuT3BlcmF0b3IoYWNjdW11bGF0b3IsIHNlZWQsIGhhc1NlZWQpIHtcbiAgICAgICAgaWYgKGhhc1NlZWQgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgaGFzU2VlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWNjdW11bGF0b3IgPSBhY2N1bXVsYXRvcjtcbiAgICAgICAgdGhpcy5zZWVkID0gc2VlZDtcbiAgICAgICAgdGhpcy5oYXNTZWVkID0gaGFzU2VlZDtcbiAgICB9XG4gICAgU2Nhbk9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgU2NhblN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5hY2N1bXVsYXRvciwgdGhpcy5zZWVkLCB0aGlzLmhhc1NlZWQpKTtcbiAgICB9O1xuICAgIHJldHVybiBTY2FuT3BlcmF0b3I7XG59KCkpO1xudmFyIFNjYW5TdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFNjYW5TdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFNjYW5TdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBhY2N1bXVsYXRvciwgX3NlZWQsIGhhc1NlZWQpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmFjY3VtdWxhdG9yID0gYWNjdW11bGF0b3I7XG4gICAgICAgIF90aGlzLl9zZWVkID0gX3NlZWQ7XG4gICAgICAgIF90aGlzLmhhc1NlZWQgPSBoYXNTZWVkO1xuICAgICAgICBfdGhpcy5pbmRleCA9IDA7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFNjYW5TdWJzY3JpYmVyLnByb3RvdHlwZSwgXCJzZWVkXCIsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VlZDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzU2VlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9zZWVkID0gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICAgIFNjYW5TdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzU2VlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWVkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RyeU5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTY2FuU3Vic2NyaWJlci5wcm90b3R5cGUuX3RyeU5leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5pbmRleCsrO1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5hY2N1bXVsYXRvcih0aGlzLnNlZWQsIHZhbHVlLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VlZCA9IHJlc3VsdDtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHJlc3VsdCk7XG4gICAgfTtcbiAgICByZXR1cm4gU2NhblN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNjYW4uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/scan.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/sequenceEqual.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/sequenceEqual.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SequenceEqualOperator: function() { return /* binding */ SequenceEqualOperator; },\n/* harmony export */ SequenceEqualSubscriber: function() { return /* binding */ SequenceEqualSubscriber; },\n/* harmony export */ sequenceEqual: function() { return /* binding */ sequenceEqual; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction sequenceEqual(compareTo, comparator) {\n return function (source) { return source.lift(new SequenceEqualOperator(compareTo, comparator)); };\n}\nvar SequenceEqualOperator = /*@__PURE__*/ (function () {\n function SequenceEqualOperator(compareTo, comparator) {\n this.compareTo = compareTo;\n this.comparator = comparator;\n }\n SequenceEqualOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparator));\n };\n return SequenceEqualOperator;\n}());\n\nvar SequenceEqualSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SequenceEqualSubscriber, _super);\n function SequenceEqualSubscriber(destination, compareTo, comparator) {\n var _this = _super.call(this, destination) || this;\n _this.compareTo = compareTo;\n _this.comparator = comparator;\n _this._a = [];\n _this._b = [];\n _this._oneComplete = false;\n _this.destination.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, _this)));\n return _this;\n }\n SequenceEqualSubscriber.prototype._next = function (value) {\n if (this._oneComplete && this._b.length === 0) {\n this.emit(false);\n }\n else {\n this._a.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype._complete = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n this.unsubscribe();\n };\n SequenceEqualSubscriber.prototype.checkValues = function () {\n var _c = this, _a = _c._a, _b = _c._b, comparator = _c.comparator;\n while (_a.length > 0 && _b.length > 0) {\n var a = _a.shift();\n var b = _b.shift();\n var areEqual = false;\n try {\n areEqual = comparator ? comparator(a, b) : a === b;\n }\n catch (e) {\n this.destination.error(e);\n }\n if (!areEqual) {\n this.emit(false);\n }\n }\n };\n SequenceEqualSubscriber.prototype.emit = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n };\n SequenceEqualSubscriber.prototype.nextB = function (value) {\n if (this._oneComplete && this._a.length === 0) {\n this.emit(false);\n }\n else {\n this._b.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype.completeB = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n };\n return SequenceEqualSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n\nvar SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SequenceEqualCompareToSubscriber, _super);\n function SequenceEqualCompareToSubscriber(destination, parent) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n return _this;\n }\n SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n this.parent.nextB(value);\n };\n SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n this.parent.error(err);\n this.unsubscribe();\n };\n SequenceEqualCompareToSubscriber.prototype._complete = function () {\n this.parent.completeB();\n this.unsubscribe();\n };\n return SequenceEqualCompareToSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=sequenceEqual.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2VxdWVuY2VFcXVhbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDcEM7QUFDUCwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2dDO0FBQ2pDO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUN1QjtBQUNuQztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2VxdWVuY2VFcXVhbC5qcz8wMTEwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmV4cG9ydCBmdW5jdGlvbiBzZXF1ZW5jZUVxdWFsKGNvbXBhcmVUbywgY29tcGFyYXRvcikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgU2VxdWVuY2VFcXVhbE9wZXJhdG9yKGNvbXBhcmVUbywgY29tcGFyYXRvcikpOyB9O1xufVxudmFyIFNlcXVlbmNlRXF1YWxPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTZXF1ZW5jZUVxdWFsT3BlcmF0b3IoY29tcGFyZVRvLCBjb21wYXJhdG9yKSB7XG4gICAgICAgIHRoaXMuY29tcGFyZVRvID0gY29tcGFyZVRvO1xuICAgICAgICB0aGlzLmNvbXBhcmF0b3IgPSBjb21wYXJhdG9yO1xuICAgIH1cbiAgICBTZXF1ZW5jZUVxdWFsT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBTZXF1ZW5jZUVxdWFsU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmNvbXBhcmVUbywgdGhpcy5jb21wYXJhdG9yKSk7XG4gICAgfTtcbiAgICByZXR1cm4gU2VxdWVuY2VFcXVhbE9wZXJhdG9yO1xufSgpKTtcbmV4cG9ydCB7IFNlcXVlbmNlRXF1YWxPcGVyYXRvciB9O1xudmFyIFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBjb21wYXJlVG8sIGNvbXBhcmF0b3IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmNvbXBhcmVUbyA9IGNvbXBhcmVUbztcbiAgICAgICAgX3RoaXMuY29tcGFyYXRvciA9IGNvbXBhcmF0b3I7XG4gICAgICAgIF90aGlzLl9hID0gW107XG4gICAgICAgIF90aGlzLl9iID0gW107XG4gICAgICAgIF90aGlzLl9vbmVDb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbi5hZGQoY29tcGFyZVRvLnN1YnNjcmliZShuZXcgU2VxdWVuY2VFcXVhbENvbXBhcmVUb1N1YnNjcmliZXIoZGVzdGluYXRpb24sIF90aGlzKSkpO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5fb25lQ29tcGxldGUgJiYgdGhpcy5fYi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9hLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5jaGVja1ZhbHVlcygpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTZXF1ZW5jZUVxdWFsU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5fb25lQ29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdCh0aGlzLl9hLmxlbmd0aCA9PT0gMCAmJiB0aGlzLl9iLmxlbmd0aCA9PT0gMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9vbmVDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgU2VxdWVuY2VFcXVhbFN1YnNjcmliZXIucHJvdG90eXBlLmNoZWNrVmFsdWVzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX2MgPSB0aGlzLCBfYSA9IF9jLl9hLCBfYiA9IF9jLl9iLCBjb21wYXJhdG9yID0gX2MuY29tcGFyYXRvcjtcbiAgICAgICAgd2hpbGUgKF9hLmxlbmd0aCA+IDAgJiYgX2IubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdmFyIGEgPSBfYS5zaGlmdCgpO1xuICAgICAgICAgICAgdmFyIGIgPSBfYi5zaGlmdCgpO1xuICAgICAgICAgICAgdmFyIGFyZUVxdWFsID0gZmFsc2U7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGFyZUVxdWFsID0gY29tcGFyYXRvciA/IGNvbXBhcmF0b3IoYSwgYikgOiBhID09PSBiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhcmVFcXVhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW1pdChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICBkZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgU2VxdWVuY2VFcXVhbFN1YnNjcmliZXIucHJvdG90eXBlLm5leHRCID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLl9vbmVDb21wbGV0ZSAmJiB0aGlzLl9hLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5lbWl0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2IucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVmFsdWVzKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyLnByb3RvdHlwZS5jb21wbGV0ZUIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9vbmVDb21wbGV0ZSkge1xuICAgICAgICAgICAgdGhpcy5lbWl0KHRoaXMuX2EubGVuZ3RoID09PSAwICYmIHRoaXMuX2IubGVuZ3RoID09PSAwKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX29uZUNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG5leHBvcnQgeyBTZXF1ZW5jZUVxdWFsU3Vic2NyaWJlciB9O1xudmFyIFNlcXVlbmNlRXF1YWxDb21wYXJlVG9TdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFNlcXVlbmNlRXF1YWxDb21wYXJlVG9TdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFNlcXVlbmNlRXF1YWxDb21wYXJlVG9TdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwYXJlbnQpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTZXF1ZW5jZUVxdWFsQ29tcGFyZVRvU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQubmV4dEIodmFsdWUpO1xuICAgIH07XG4gICAgU2VxdWVuY2VFcXVhbENvbXBhcmVUb1N1YnNjcmliZXIucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQuZXJyb3IoZXJyKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH07XG4gICAgU2VxdWVuY2VFcXVhbENvbXBhcmVUb1N1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wYXJlbnQuY29tcGxldGVCKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBTZXF1ZW5jZUVxdWFsQ29tcGFyZVRvU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VxdWVuY2VFcXVhbC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/sequenceEqual.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/share.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/share.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ share: function() { return /* binding */ share; }\n/* harmony export */ });\n/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./multicast */ \"./node_modules/rxjs/_esm5/internal/operators/multicast.js\");\n/* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./refCount */ \"./node_modules/rxjs/_esm5/internal/operators/refCount.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */\n\n\n\nfunction shareSubjectFactory() {\n return new _Subject__WEBPACK_IMPORTED_MODULE_0__.Subject();\n}\nfunction share() {\n return function (source) { return (0,_refCount__WEBPACK_IMPORTED_MODULE_1__.refCount)()((0,_multicast__WEBPACK_IMPORTED_MODULE_2__.multicast)(shareSubjectFactory)(source)); };\n}\n//# sourceMappingURL=share.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2hhcmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ3dDO0FBQ0Y7QUFDRDtBQUNyQztBQUNBLGVBQWUsNkNBQU87QUFDdEI7QUFDTztBQUNQLCtCQUErQixPQUFPLG1EQUFRLEdBQUcscURBQVM7QUFDMUQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2hhcmUuanM/MzNlMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9tdWx0aWNhc3QsX3JlZkNvdW50LF9TdWJqZWN0IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IG11bHRpY2FzdCB9IGZyb20gJy4vbXVsdGljYXN0JztcbmltcG9ydCB7IHJlZkNvdW50IH0gZnJvbSAnLi9yZWZDb3VudCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5mdW5jdGlvbiBzaGFyZVN1YmplY3RGYWN0b3J5KCkge1xuICAgIHJldHVybiBuZXcgU3ViamVjdCgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNoYXJlKCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiByZWZDb3VudCgpKG11bHRpY2FzdChzaGFyZVN1YmplY3RGYWN0b3J5KShzb3VyY2UpKTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNoYXJlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/share.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/shareReplay.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/shareReplay.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ shareReplay: function() { return /* binding */ shareReplay; }\n/* harmony export */ });\n/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ReplaySubject */ \"./node_modules/rxjs/_esm5/internal/ReplaySubject.js\");\n/** PURE_IMPORTS_START _ReplaySubject PURE_IMPORTS_END */\n\nfunction shareReplay(configOrBufferSize, windowTime, scheduler) {\n var config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime: windowTime,\n refCount: false,\n scheduler: scheduler,\n };\n }\n return function (source) { return source.lift(shareReplayOperator(config)); };\n}\nfunction shareReplayOperator(_a) {\n var _b = _a.bufferSize, bufferSize = _b === void 0 ? Number.POSITIVE_INFINITY : _b, _c = _a.windowTime, windowTime = _c === void 0 ? Number.POSITIVE_INFINITY : _c, useRefCount = _a.refCount, scheduler = _a.scheduler;\n var subject;\n var refCount = 0;\n var subscription;\n var hasError = false;\n var isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n var innerSub;\n if (!subject || hasError) {\n hasError = false;\n subject = new _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__.ReplaySubject(bufferSize, windowTime, scheduler);\n innerSub = subject.subscribe(this);\n subscription = source.subscribe({\n next: function (value) {\n subject.next(value);\n },\n error: function (err) {\n hasError = true;\n subject.error(err);\n },\n complete: function () {\n isComplete = true;\n subscription = undefined;\n subject.complete();\n },\n });\n if (isComplete) {\n subscription = undefined;\n }\n }\n else {\n innerSub = subject.subscribe(this);\n }\n this.add(function () {\n refCount--;\n innerSub.unsubscribe();\n innerSub = undefined;\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n//# sourceMappingURL=shareReplay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2hhcmVSZXBsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNpRDtBQUMxQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix5REFBYTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2hhcmVSZXBsYXkuanM/MGYzOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9SZXBsYXlTdWJqZWN0IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICcuLi9SZXBsYXlTdWJqZWN0JztcbmV4cG9ydCBmdW5jdGlvbiBzaGFyZVJlcGxheShjb25maWdPckJ1ZmZlclNpemUsIHdpbmRvd1RpbWUsIHNjaGVkdWxlcikge1xuICAgIHZhciBjb25maWc7XG4gICAgaWYgKGNvbmZpZ09yQnVmZmVyU2l6ZSAmJiB0eXBlb2YgY29uZmlnT3JCdWZmZXJTaXplID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25maWcgPSBjb25maWdPckJ1ZmZlclNpemU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25maWcgPSB7XG4gICAgICAgICAgICBidWZmZXJTaXplOiBjb25maWdPckJ1ZmZlclNpemUsXG4gICAgICAgICAgICB3aW5kb3dUaW1lOiB3aW5kb3dUaW1lLFxuICAgICAgICAgICAgcmVmQ291bnQ6IGZhbHNlLFxuICAgICAgICAgICAgc2NoZWR1bGVyOiBzY2hlZHVsZXIsXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChzaGFyZVJlcGxheU9wZXJhdG9yKGNvbmZpZykpOyB9O1xufVxuZnVuY3Rpb24gc2hhcmVSZXBsYXlPcGVyYXRvcihfYSkge1xuICAgIHZhciBfYiA9IF9hLmJ1ZmZlclNpemUsIGJ1ZmZlclNpemUgPSBfYiA9PT0gdm9pZCAwID8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDogX2IsIF9jID0gX2Eud2luZG93VGltZSwgd2luZG93VGltZSA9IF9jID09PSB2b2lkIDAgPyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgOiBfYywgdXNlUmVmQ291bnQgPSBfYS5yZWZDb3VudCwgc2NoZWR1bGVyID0gX2Euc2NoZWR1bGVyO1xuICAgIHZhciBzdWJqZWN0O1xuICAgIHZhciByZWZDb3VudCA9IDA7XG4gICAgdmFyIHN1YnNjcmlwdGlvbjtcbiAgICB2YXIgaGFzRXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgaXNDb21wbGV0ZSA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbiBzaGFyZVJlcGxheU9wZXJhdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmVmQ291bnQrKztcbiAgICAgICAgdmFyIGlubmVyU3ViO1xuICAgICAgICBpZiAoIXN1YmplY3QgfHwgaGFzRXJyb3IpIHtcbiAgICAgICAgICAgIGhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgICAgICBzdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoYnVmZmVyU2l6ZSwgd2luZG93VGltZSwgc2NoZWR1bGVyKTtcbiAgICAgICAgICAgIGlubmVyU3ViID0gc3ViamVjdC5zdWJzY3JpYmUodGhpcyk7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24gPSBzb3VyY2Uuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaW5uZXJTdWIgPSBzdWJqZWN0LnN1YnNjcmliZSh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFkZChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZWZDb3VudC0tO1xuICAgICAgICAgICAgaW5uZXJTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIGlubmVyU3ViID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbiAmJiAhaXNDb21wbGV0ZSAmJiB1c2VSZWZDb3VudCAmJiByZWZDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBzdWJqZWN0ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2hhcmVSZXBsYXkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/shareReplay.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/single.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/single.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ single: function() { return /* binding */ single; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/EmptyError */ \"./node_modules/rxjs/_esm5/internal/util/EmptyError.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_util_EmptyError PURE_IMPORTS_END */\n\n\n\nfunction single(predicate) {\n return function (source) { return source.lift(new SingleOperator(predicate, source)); };\n}\nvar SingleOperator = /*@__PURE__*/ (function () {\n function SingleOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n SingleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n };\n return SingleOperator;\n}());\nvar SingleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SingleSubscriber, _super);\n function SingleSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.seenValue = false;\n _this.index = 0;\n return _this;\n }\n SingleSubscriber.prototype.applySingleValue = function (value) {\n if (this.seenValue) {\n this.destination.error('Sequence contains more than one element');\n }\n else {\n this.seenValue = true;\n this.singleValue = value;\n }\n };\n SingleSubscriber.prototype._next = function (value) {\n var index = this.index++;\n if (this.predicate) {\n this.tryNext(value, index);\n }\n else {\n this.applySingleValue(value);\n }\n };\n SingleSubscriber.prototype.tryNext = function (value, index) {\n try {\n if (this.predicate(value, index, this.source)) {\n this.applySingleValue(value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n SingleSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.index > 0) {\n destination.next(this.seenValue ? this.singleValue : undefined);\n destination.complete();\n }\n else {\n destination.error(new _util_EmptyError__WEBPACK_IMPORTED_MODULE_1__.EmptyError);\n }\n };\n return SingleSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\n//# sourceMappingURL=single.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2luZ2xlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ0s7QUFDekM7QUFDUCwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyx3REFBVTtBQUM1QztBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2luZ2xlLmpzP2YyZTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlcixfdXRpbF9FbXB0eUVycm9yIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBFbXB0eUVycm9yIH0gZnJvbSAnLi4vdXRpbC9FbXB0eUVycm9yJztcbmV4cG9ydCBmdW5jdGlvbiBzaW5nbGUocHJlZGljYXRlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBTaW5nbGVPcGVyYXRvcihwcmVkaWNhdGUsIHNvdXJjZSkpOyB9O1xufVxudmFyIFNpbmdsZU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNpbmdsZU9wZXJhdG9yKHByZWRpY2F0ZSwgc291cmNlKSB7XG4gICAgICAgIHRoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICB9XG4gICAgU2luZ2xlT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBTaW5nbGVTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMucHJlZGljYXRlLCB0aGlzLnNvdXJjZSkpO1xuICAgIH07XG4gICAgcmV0dXJuIFNpbmdsZU9wZXJhdG9yO1xufSgpKTtcbnZhciBTaW5nbGVTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFNpbmdsZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU2luZ2xlU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgcHJlZGljYXRlLCBzb3VyY2UpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnByZWRpY2F0ZSA9IHByZWRpY2F0ZTtcbiAgICAgICAgX3RoaXMuc291cmNlID0gc291cmNlO1xuICAgICAgICBfdGhpcy5zZWVuVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuaW5kZXggPSAwO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFNpbmdsZVN1YnNjcmliZXIucHJvdG90eXBlLmFwcGx5U2luZ2xlVmFsdWUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VlblZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKCdTZXF1ZW5jZSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VlblZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2luZ2xlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgU2luZ2xlU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5pbmRleCsrO1xuICAgICAgICBpZiAodGhpcy5wcmVkaWNhdGUpIHtcbiAgICAgICAgICAgIHRoaXMudHJ5TmV4dCh2YWx1ZSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hcHBseVNpbmdsZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgU2luZ2xlU3Vic2NyaWJlci5wcm90b3R5cGUudHJ5TmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIHRoaXMuc291cmNlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlTaW5nbGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTaW5nbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIGlmICh0aGlzLmluZGV4ID4gMCkge1xuICAgICAgICAgICAgZGVzdGluYXRpb24ubmV4dCh0aGlzLnNlZW5WYWx1ZSA/IHRoaXMuc2luZ2xlVmFsdWUgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLmVycm9yKG5ldyBFbXB0eUVycm9yKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFNpbmdsZVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpbmdsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/single.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/skip.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/skip.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ skip: function() { return /* binding */ skip; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nvar SkipOperator = /*@__PURE__*/ (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\nvar SkipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=skip.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ3BDO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9za2lwLmpzPzBiOWMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHNraXAoY291bnQpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IFNraXBPcGVyYXRvcihjb3VudCkpOyB9O1xufVxudmFyIFNraXBPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTa2lwT3BlcmF0b3IodG90YWwpIHtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRvdGFsO1xuICAgIH1cbiAgICBTa2lwT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBTa2lwU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLnRvdGFsKSk7XG4gICAgfTtcbiAgICByZXR1cm4gU2tpcE9wZXJhdG9yO1xufSgpKTtcbnZhciBTa2lwU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTa2lwU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTa2lwU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgdG90YWwpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnRvdGFsID0gdG90YWw7XG4gICAgICAgIF90aGlzLmNvdW50ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTa2lwU3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAoeCkge1xuICAgICAgICBpZiAoKyt0aGlzLmNvdW50ID4gdGhpcy50b3RhbCkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gU2tpcFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNraXAuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/skip.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/skipLast.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/skipLast.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ skipLast: function() { return /* binding */ skipLast; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/ArgumentOutOfRangeError */ \"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError PURE_IMPORTS_END */\n\n\n\nfunction skipLast(count) {\n return function (source) { return source.lift(new SkipLastOperator(count)); };\n}\nvar SkipLastOperator = /*@__PURE__*/ (function () {\n function SkipLastOperator(_skipCount) {\n this._skipCount = _skipCount;\n if (this._skipCount < 0) {\n throw new _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__.ArgumentOutOfRangeError;\n }\n }\n SkipLastOperator.prototype.call = function (subscriber, source) {\n if (this._skipCount === 0) {\n return source.subscribe(new _Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber(subscriber));\n }\n else {\n return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount));\n }\n };\n return SkipLastOperator;\n}());\nvar SkipLastSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(SkipLastSubscriber, _super);\n function SkipLastSubscriber(destination, _skipCount) {\n var _this = _super.call(this, destination) || this;\n _this._skipCount = _skipCount;\n _this._count = 0;\n _this._ring = new Array(_skipCount);\n return _this;\n }\n SkipLastSubscriber.prototype._next = function (value) {\n var skipCount = this._skipCount;\n var count = this._count++;\n if (count < skipCount) {\n this._ring[count] = value;\n }\n else {\n var currentIndex = count % skipCount;\n var ring = this._ring;\n var oldValue = ring[currentIndex];\n ring[currentIndex] = value;\n this.destination.next(oldValue);\n }\n };\n return SkipLastSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=skipLast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcExhc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDK0I7QUFDbkU7QUFDUCwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRkFBdUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsbURBQVU7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcExhc3QuanM/M2NlNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyLF91dGlsX0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBBcmd1bWVudE91dE9mUmFuZ2VFcnJvciB9IGZyb20gJy4uL3V0aWwvQXJndW1lbnRPdXRPZlJhbmdlRXJyb3InO1xuZXhwb3J0IGZ1bmN0aW9uIHNraXBMYXN0KGNvdW50KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBTa2lwTGFzdE9wZXJhdG9yKGNvdW50KSk7IH07XG59XG52YXIgU2tpcExhc3RPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTa2lwTGFzdE9wZXJhdG9yKF9za2lwQ291bnQpIHtcbiAgICAgICAgdGhpcy5fc2tpcENvdW50ID0gX3NraXBDb3VudDtcbiAgICAgICAgaWYgKHRoaXMuX3NraXBDb3VudCA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudE91dE9mUmFuZ2VFcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBTa2lwTGFzdE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICBpZiAodGhpcy5fc2tpcENvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgU3Vic2NyaWJlcihzdWJzY3JpYmVyKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgU2tpcExhc3RTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMuX3NraXBDb3VudCkpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gU2tpcExhc3RPcGVyYXRvcjtcbn0oKSk7XG52YXIgU2tpcExhc3RTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFNraXBMYXN0U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTa2lwTGFzdFN1YnNjcmliZXIoZGVzdGluYXRpb24sIF9za2lwQ291bnQpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLl9za2lwQ291bnQgPSBfc2tpcENvdW50O1xuICAgICAgICBfdGhpcy5fY291bnQgPSAwO1xuICAgICAgICBfdGhpcy5fcmluZyA9IG5ldyBBcnJheShfc2tpcENvdW50KTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTa2lwTGFzdFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBza2lwQ291bnQgPSB0aGlzLl9za2lwQ291bnQ7XG4gICAgICAgIHZhciBjb3VudCA9IHRoaXMuX2NvdW50Kys7XG4gICAgICAgIGlmIChjb3VudCA8IHNraXBDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5fcmluZ1tjb3VudF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjdXJyZW50SW5kZXggPSBjb3VudCAlIHNraXBDb3VudDtcbiAgICAgICAgICAgIHZhciByaW5nID0gdGhpcy5fcmluZztcbiAgICAgICAgICAgIHZhciBvbGRWYWx1ZSA9IHJpbmdbY3VycmVudEluZGV4XTtcbiAgICAgICAgICAgIHJpbmdbY3VycmVudEluZGV4XSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KG9sZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFNraXBMYXN0U3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2tpcExhc3QuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/skipLast.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/skipUntil.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/skipUntil.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ skipUntil: function() { return /* binding */ skipUntil; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction skipUntil(notifier) {\n return function (source) { return source.lift(new SkipUntilOperator(notifier)); };\n}\nvar SkipUntilOperator = /*@__PURE__*/ (function () {\n function SkipUntilOperator(notifier) {\n this.notifier = notifier;\n }\n SkipUntilOperator.prototype.call = function (destination, source) {\n return source.subscribe(new SkipUntilSubscriber(destination, this.notifier));\n };\n return SkipUntilOperator;\n}());\nvar SkipUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SkipUntilSubscriber, _super);\n function SkipUntilSubscriber(destination, notifier) {\n var _this = _super.call(this, destination) || this;\n _this.hasValue = false;\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(_this);\n _this.add(innerSubscriber);\n _this.innerSubscription = innerSubscriber;\n var innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(notifier, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n _this.add(innerSubscription);\n _this.innerSubscription = innerSubscription;\n }\n return _this;\n }\n SkipUntilSubscriber.prototype._next = function (value) {\n if (this.hasValue) {\n _super.prototype._next.call(this, value);\n }\n };\n SkipUntilSubscriber.prototype.notifyNext = function () {\n this.hasValue = true;\n if (this.innerSubscription) {\n this.innerSubscription.unsubscribe();\n }\n };\n SkipUntilSubscriber.prototype.notifyComplete = function () {\n };\n return SkipUntilSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=skipUntil.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcFVudGlsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ2dFO0FBQzFGO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxrRUFBcUI7QUFDdkQ7QUFDQTtBQUNBLGdDQUFnQywrREFBYztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLGtFQUFxQjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcFVudGlsLmpzP2FlOWEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiBza2lwVW50aWwobm90aWZpZXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IFNraXBVbnRpbE9wZXJhdG9yKG5vdGlmaWVyKSk7IH07XG59XG52YXIgU2tpcFVudGlsT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU2tpcFVudGlsT3BlcmF0b3Iobm90aWZpZXIpIHtcbiAgICAgICAgdGhpcy5ub3RpZmllciA9IG5vdGlmaWVyO1xuICAgIH1cbiAgICBTa2lwVW50aWxPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChkZXN0aW5hdGlvbiwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBTa2lwVW50aWxTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCB0aGlzLm5vdGlmaWVyKSk7XG4gICAgfTtcbiAgICByZXR1cm4gU2tpcFVudGlsT3BlcmF0b3I7XG59KCkpO1xudmFyIFNraXBVbnRpbFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU2tpcFVudGlsU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTa2lwVW50aWxTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBub3RpZmllcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgdmFyIGlubmVyU3Vic2NyaWJlciA9IG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIoX3RoaXMpO1xuICAgICAgICBfdGhpcy5hZGQoaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgX3RoaXMuaW5uZXJTdWJzY3JpcHRpb24gPSBpbm5lclN1YnNjcmliZXI7XG4gICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKG5vdGlmaWVyLCBpbm5lclN1YnNjcmliZXIpO1xuICAgICAgICBpZiAoaW5uZXJTdWJzY3JpcHRpb24gIT09IGlubmVyU3Vic2NyaWJlcikge1xuICAgICAgICAgICAgX3RoaXMuYWRkKGlubmVyU3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgIF90aGlzLmlubmVyU3Vic2NyaXB0aW9uID0gaW5uZXJTdWJzY3JpcHRpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTa2lwVW50aWxTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5oYXNWYWx1ZSkge1xuICAgICAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5fbmV4dC5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgU2tpcFVudGlsU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5TmV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmlubmVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFNraXBVbnRpbFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgIH07XG4gICAgcmV0dXJuIFNraXBVbnRpbFN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2tpcFVudGlsLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/skipUntil.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/skipWhile.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/skipWhile.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ skipWhile: function() { return /* binding */ skipWhile; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction skipWhile(predicate) {\n return function (source) { return source.lift(new SkipWhileOperator(predicate)); };\n}\nvar SkipWhileOperator = /*@__PURE__*/ (function () {\n function SkipWhileOperator(predicate) {\n this.predicate = predicate;\n }\n SkipWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n };\n return SkipWhileOperator;\n}());\nvar SkipWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(SkipWhileSubscriber, _super);\n function SkipWhileSubscriber(destination, predicate) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.skipping = true;\n _this.index = 0;\n return _this;\n }\n SkipWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (this.skipping) {\n this.tryCallPredicate(value);\n }\n if (!this.skipping) {\n destination.next(value);\n }\n };\n SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n try {\n var result = this.predicate(value, this.index++);\n this.skipping = Boolean(result);\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n return SkipWhileSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=skipWhile.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcFdoaWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDcEM7QUFDUCwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9za2lwV2hpbGUuanM/YWY2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gc2tpcFdoaWxlKHByZWRpY2F0ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgU2tpcFdoaWxlT3BlcmF0b3IocHJlZGljYXRlKSk7IH07XG59XG52YXIgU2tpcFdoaWxlT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU2tpcFdoaWxlT3BlcmF0b3IocHJlZGljYXRlKSB7XG4gICAgICAgIHRoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgIH1cbiAgICBTa2lwV2hpbGVPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFNraXBXaGlsZVN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5wcmVkaWNhdGUpKTtcbiAgICB9O1xuICAgIHJldHVybiBTa2lwV2hpbGVPcGVyYXRvcjtcbn0oKSk7XG52YXIgU2tpcFdoaWxlU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhTa2lwV2hpbGVTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFNraXBXaGlsZVN1YnNjcmliZXIoZGVzdGluYXRpb24sIHByZWRpY2F0ZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgICAgICBfdGhpcy5za2lwcGluZyA9IHRydWU7XG4gICAgICAgIF90aGlzLmluZGV4ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTa2lwV2hpbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICBpZiAodGhpcy5za2lwcGluZykge1xuICAgICAgICAgICAgdGhpcy50cnlDYWxsUHJlZGljYXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuc2tpcHBpbmcpIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTa2lwV2hpbGVTdWJzY3JpYmVyLnByb3RvdHlwZS50cnlDYWxsUHJlZGljYXRlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gdGhpcy5wcmVkaWNhdGUodmFsdWUsIHRoaXMuaW5kZXgrKyk7XG4gICAgICAgICAgICB0aGlzLnNraXBwaW5nID0gQm9vbGVhbihyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFNraXBXaGlsZVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNraXBXaGlsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/skipWhile.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/startWith.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/startWith.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ startWith: function() { return /* binding */ startWith; }\n/* harmony export */ });\n/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../observable/concat */ \"./node_modules/rxjs/_esm5/internal/observable/concat.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/** PURE_IMPORTS_START _observable_concat,_util_isScheduler PURE_IMPORTS_END */\n\n\nfunction startWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n var scheduler = array[array.length - 1];\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_0__.isScheduler)(scheduler)) {\n array.pop();\n return function (source) { return (0,_observable_concat__WEBPACK_IMPORTED_MODULE_1__.concat)(array, source, scheduler); };\n }\n else {\n return function (source) { return (0,_observable_concat__WEBPACK_IMPORTED_MODULE_1__.concat)(array, source); };\n }\n}\n//# sourceMappingURL=startWith.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3RhcnRXaXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQzhDO0FBQ0k7QUFDM0M7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsUUFBUSw4REFBVztBQUNuQjtBQUNBLG1DQUFtQyxPQUFPLDBEQUFNO0FBQ2hEO0FBQ0E7QUFDQSxtQ0FBbUMsT0FBTywwREFBTTtBQUNoRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3N0YXJ0V2l0aC5qcz9kMDQyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfY29uY2F0LF91dGlsX2lzU2NoZWR1bGVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uL29ic2VydmFibGUvY29uY2F0JztcbmltcG9ydCB7IGlzU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9pc1NjaGVkdWxlcic7XG5leHBvcnQgZnVuY3Rpb24gc3RhcnRXaXRoKCkge1xuICAgIHZhciBhcnJheSA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGFycmF5W19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBzY2hlZHVsZXIgPSBhcnJheVthcnJheS5sZW5ndGggLSAxXTtcbiAgICBpZiAoaXNTY2hlZHVsZXIoc2NoZWR1bGVyKSkge1xuICAgICAgICBhcnJheS5wb3AoKTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIGNvbmNhdChhcnJheSwgc291cmNlLCBzY2hlZHVsZXIpOyB9O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIGNvbmNhdChhcnJheSwgc291cmNlKTsgfTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGFydFdpdGguanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/startWith.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/subscribeOn.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/subscribeOn.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeOn: function() { return /* binding */ subscribeOn; }\n/* harmony export */ });\n/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/SubscribeOnObservable */ \"./node_modules/rxjs/_esm5/internal/observable/SubscribeOnObservable.js\");\n/** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */\n\nfunction subscribeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nvar SubscribeOnOperator = /*@__PURE__*/ (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__.SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3Vic2NyaWJlT24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUM0RTtBQUNyRTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG9GQUFxQjtBQUN4QztBQUNBO0FBQ0EsQ0FBQztBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy9zdWJzY3JpYmVPbi5qcz9iOTc0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfU3Vic2NyaWJlT25PYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IFN1YnNjcmliZU9uT2JzZXJ2YWJsZSB9IGZyb20gJy4uL29ic2VydmFibGUvU3Vic2NyaWJlT25PYnNlcnZhYmxlJztcbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVPbihzY2hlZHVsZXIsIGRlbGF5KSB7XG4gICAgaWYgKGRlbGF5ID09PSB2b2lkIDApIHtcbiAgICAgICAgZGVsYXkgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gc3Vic2NyaWJlT25PcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IFN1YnNjcmliZU9uT3BlcmF0b3Ioc2NoZWR1bGVyLCBkZWxheSkpO1xuICAgIH07XG59XG52YXIgU3Vic2NyaWJlT25PcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTdWJzY3JpYmVPbk9wZXJhdG9yKHNjaGVkdWxlciwgZGVsYXkpIHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIHRoaXMuZGVsYXkgPSBkZWxheTtcbiAgICB9XG4gICAgU3Vic2NyaWJlT25PcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpYmVPbk9ic2VydmFibGUoc291cmNlLCB0aGlzLmRlbGF5LCB0aGlzLnNjaGVkdWxlcikuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH07XG4gICAgcmV0dXJuIFN1YnNjcmliZU9uT3BlcmF0b3I7XG59KCkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3Vic2NyaWJlT24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/subscribeOn.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/switchAll.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/switchAll.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ switchAll: function() { return /* binding */ switchAll; }\n/* harmony export */ });\n/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./switchMap */ \"./node_modules/rxjs/_esm5/internal/operators/switchMap.js\");\n/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */\n\n\nfunction switchAll() {\n return (0,_switchMap__WEBPACK_IMPORTED_MODULE_0__.switchMap)(_util_identity__WEBPACK_IMPORTED_MODULE_1__.identity);\n}\n//# sourceMappingURL=switchAll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoQWxsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ3dDO0FBQ0k7QUFDckM7QUFDUCxXQUFXLHFEQUFTLENBQUMsb0RBQVE7QUFDN0I7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoQWxsLmpzP2Y2NDQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfc3dpdGNoTWFwLF91dGlsX2lkZW50aXR5IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJy4vc3dpdGNoTWFwJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoQWxsKCkge1xuICAgIHJldHVybiBzd2l0Y2hNYXAoaWRlbnRpdHkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3dpdGNoQWxsLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/switchAll.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/switchMap.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/switchMap.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ switchMap: function() { return /* binding */ switchMap; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/from */ \"./node_modules/rxjs/_esm5/internal/observable/from.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\n\n\n\n\nfunction switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return (0,_observable_from__WEBPACK_IMPORTED_MODULE_0__.from)(project(a, i)).pipe((0,_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\nvar SwitchMapOperator = /*@__PURE__*/ (function () {\n function SwitchMapOperator(project) {\n this.project = project;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n };\n return SwitchMapOperator;\n}());\nvar SwitchMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.index = 0;\n return _this;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n var innerSubscriber = new _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.innerSubscribe)(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n this.unsubscribe();\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = undefined;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function () {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n return SwitchMapSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleOuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoTWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDTDtBQUNjO0FBQ3VEO0FBQzFGO0FBQ1A7QUFDQSxtQ0FBbUMsK0NBQStDLE9BQU8sc0RBQUkscUJBQXFCLHlDQUFHLG9CQUFvQixxQ0FBcUMsS0FBSztBQUNuTDtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGtFQUFxQjtBQUN2RDtBQUNBO0FBQ0EsaUNBQWlDLCtEQUFjO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3N3aXRjaE1hcC5qcz8xMDIwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX21hcCxfb2JzZXJ2YWJsZV9mcm9tLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi9tYXAnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvZnJvbSc7XG5pbXBvcnQgeyBTaW1wbGVPdXRlclN1YnNjcmliZXIsIFNpbXBsZUlubmVyU3Vic2NyaWJlciwgaW5uZXJTdWJzY3JpYmUgfSBmcm9tICcuLi9pbm5lclN1YnNjcmliZSc7XG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoTWFwKHByb2plY3QsIHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgaWYgKHR5cGVvZiByZXN1bHRTZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLnBpcGUoc3dpdGNoTWFwKGZ1bmN0aW9uIChhLCBpKSB7IHJldHVybiBmcm9tKHByb2plY3QoYSwgaSkpLnBpcGUobWFwKGZ1bmN0aW9uIChiLCBpaSkgeyByZXR1cm4gcmVzdWx0U2VsZWN0b3IoYSwgYiwgaSwgaWkpOyB9KSk7IH0pKTsgfTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBTd2l0Y2hNYXBPcGVyYXRvcihwcm9qZWN0KSk7IH07XG59XG52YXIgU3dpdGNoTWFwT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU3dpdGNoTWFwT3BlcmF0b3IocHJvamVjdCkge1xuICAgICAgICB0aGlzLnByb2plY3QgPSBwcm9qZWN0O1xuICAgIH1cbiAgICBTd2l0Y2hNYXBPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFN3aXRjaE1hcFN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5wcm9qZWN0KSk7XG4gICAgfTtcbiAgICByZXR1cm4gU3dpdGNoTWFwT3BlcmF0b3I7XG59KCkpO1xudmFyIFN3aXRjaE1hcFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoU3dpdGNoTWFwU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTd2l0Y2hNYXBTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwcm9qZWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5wcm9qZWN0ID0gcHJvamVjdDtcbiAgICAgICAgX3RoaXMuaW5kZXggPSAwO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFN3aXRjaE1hcFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIHZhciBpbmRleCA9IHRoaXMuaW5kZXgrKztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMucHJvamVjdCh2YWx1ZSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5uZXJTdWIocmVzdWx0KTtcbiAgICB9O1xuICAgIFN3aXRjaE1hcFN1YnNjcmliZXIucHJvdG90eXBlLl9pbm5lclN1YiA9IGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgdmFyIGlubmVyU3Vic2NyaXB0aW9uID0gdGhpcy5pbm5lclN1YnNjcmlwdGlvbjtcbiAgICAgICAgaWYgKGlubmVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBpbm5lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpbm5lclN1YnNjcmliZXIgPSBuZXcgU2ltcGxlSW5uZXJTdWJzY3JpYmVyKHRoaXMpO1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICBkZXN0aW5hdGlvbi5hZGQoaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgdGhpcy5pbm5lclN1YnNjcmlwdGlvbiA9IGlubmVyU3Vic2NyaWJlKHJlc3VsdCwgaW5uZXJTdWJzY3JpYmVyKTtcbiAgICAgICAgaWYgKHRoaXMuaW5uZXJTdWJzY3JpcHRpb24gIT09IGlubmVyU3Vic2NyaWJlcikge1xuICAgICAgICAgICAgZGVzdGluYXRpb24uYWRkKHRoaXMuaW5uZXJTdWJzY3JpcHRpb24pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBTd2l0Y2hNYXBTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbm5lclN1YnNjcmlwdGlvbiA9IHRoaXMuaW5uZXJTdWJzY3JpcHRpb247XG4gICAgICAgIGlmICghaW5uZXJTdWJzY3JpcHRpb24gfHwgaW5uZXJTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgICBfc3VwZXIucHJvdG90eXBlLl9jb21wbGV0ZS5jYWxsKHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIFN3aXRjaE1hcFN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5pbm5lclN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9O1xuICAgIFN3aXRjaE1hcFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmlubmVyU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIF9zdXBlci5wcm90b3R5cGUuX2NvbXBsZXRlLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFN3aXRjaE1hcFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoaW5uZXJWYWx1ZSkge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQoaW5uZXJWYWx1ZSk7XG4gICAgfTtcbiAgICByZXR1cm4gU3dpdGNoTWFwU3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zd2l0Y2hNYXAuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/switchMap.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/switchMapTo.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/switchMapTo.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ switchMapTo: function() { return /* binding */ switchMapTo; }\n/* harmony export */ });\n/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./switchMap */ \"./node_modules/rxjs/_esm5/internal/operators/switchMap.js\");\n/** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */\n\nfunction switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? (0,_switchMap__WEBPACK_IMPORTED_MODULE_0__.switchMap)(function () { return innerObservable; }, resultSelector) : (0,_switchMap__WEBPACK_IMPORTED_MODULE_0__.switchMap)(function () { return innerObservable; });\n}\n//# sourceMappingURL=switchMapTo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoTWFwVG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUN3QztBQUNqQztBQUNQLDRCQUE0QixxREFBUyxlQUFlLHlCQUF5QixvQkFBb0IscURBQVMsZUFBZSx5QkFBeUI7QUFDbEo7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoTWFwVG8uanM/Y2VlNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9zd2l0Y2hNYXAgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAnLi9zd2l0Y2hNYXAnO1xuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaE1hcFRvKGlubmVyT2JzZXJ2YWJsZSwgcmVzdWx0U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gcmVzdWx0U2VsZWN0b3IgPyBzd2l0Y2hNYXAoZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5uZXJPYnNlcnZhYmxlOyB9LCByZXN1bHRTZWxlY3RvcikgOiBzd2l0Y2hNYXAoZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5uZXJPYnNlcnZhYmxlOyB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN3aXRjaE1hcFRvLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/switchMapTo.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/take.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/take.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ take: function() { return /* binding */ take; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/ArgumentOutOfRangeError */ \"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js\");\n/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\n\n\n\n\nfunction take(count) {\n return function (source) {\n if (count === 0) {\n return (0,_observable_empty__WEBPACK_IMPORTED_MODULE_0__.empty)();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nvar TakeOperator = /*@__PURE__*/ (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_1__.ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\nvar TakeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_3__.Subscriber));\n//# sourceMappingURL=take.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDK0I7QUFDOUI7QUFDckM7QUFDUDtBQUNBO0FBQ0EsbUJBQW1CLHdEQUFLO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGtGQUF1QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZS5qcz83YzZiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX3V0aWxfQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IsX29ic2VydmFibGVfZW1wdHkgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIH0gZnJvbSAnLi4vdXRpbC9Bcmd1bWVudE91dE9mUmFuZ2VFcnJvcic7XG5pbXBvcnQgeyBlbXB0eSB9IGZyb20gJy4uL29ic2VydmFibGUvZW1wdHknO1xuZXhwb3J0IGZ1bmN0aW9uIHRha2UoY291bnQpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBUYWtlT3BlcmF0b3IoY291bnQpKTtcbiAgICAgICAgfVxuICAgIH07XG59XG52YXIgVGFrZU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRha2VPcGVyYXRvcih0b3RhbCkge1xuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XG4gICAgICAgIGlmICh0aGlzLnRvdGFsIDwgMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIFRha2VPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFRha2VTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMudG90YWwpKTtcbiAgICB9O1xuICAgIHJldHVybiBUYWtlT3BlcmF0b3I7XG59KCkpO1xudmFyIFRha2VTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFRha2VTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRha2VTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCB0b3RhbCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMudG90YWwgPSB0b3RhbDtcbiAgICAgICAgX3RoaXMuY291bnQgPSAwO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRha2VTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgdG90YWwgPSB0aGlzLnRvdGFsO1xuICAgICAgICB2YXIgY291bnQgPSArK3RoaXMuY291bnQ7XG4gICAgICAgIGlmIChjb3VudCA8PSB0b3RhbCkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChjb3VudCA9PT0gdG90YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gVGFrZVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRha2UuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/take.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/takeLast.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/takeLast.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ takeLast: function() { return /* binding */ takeLast; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/ArgumentOutOfRangeError */ \"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js\");\n/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/empty */ \"./node_modules/rxjs/_esm5/internal/observable/empty.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\n\n\n\n\nfunction takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return (0,_observable_empty__WEBPACK_IMPORTED_MODULE_0__.empty)();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nvar TakeLastOperator = /*@__PURE__*/ (function () {\n function TakeLastOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_1__.ArgumentOutOfRangeError;\n }\n }\n TakeLastOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n };\n return TakeLastOperator;\n}());\nvar TakeLastSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(TakeLastSubscriber, _super);\n function TakeLastSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.ring = new Array();\n _this.count = 0;\n return _this;\n }\n TakeLastSubscriber.prototype._next = function (value) {\n var ring = this.ring;\n var total = this.total;\n var count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n var index = count % total;\n ring[index] = value;\n }\n };\n TakeLastSubscriber.prototype._complete = function () {\n var destination = this.destination;\n var count = this.count;\n if (count > 0) {\n var total = this.count >= this.total ? this.total : this.count;\n var ring = this.ring;\n for (var i = 0; i < total; i++) {\n var idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n };\n return TakeLastSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_3__.Subscriber));\n//# sourceMappingURL=takeLast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZUxhc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQytCO0FBQzlCO0FBQ3JDO0FBQ1A7QUFDQTtBQUNBLG1CQUFtQix3REFBSztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRkFBdUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsV0FBVztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxtREFBVTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy90YWtlTGFzdC5qcz81ODFiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YnNjcmliZXIsX3V0aWxfQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IsX29ic2VydmFibGVfZW1wdHkgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIH0gZnJvbSAnLi4vdXRpbC9Bcmd1bWVudE91dE9mUmFuZ2VFcnJvcic7XG5pbXBvcnQgeyBlbXB0eSB9IGZyb20gJy4uL29ic2VydmFibGUvZW1wdHknO1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VMYXN0KGNvdW50KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHRha2VMYXN0T3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgVGFrZUxhc3RPcGVyYXRvcihjb3VudCkpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbnZhciBUYWtlTGFzdE9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRha2VMYXN0T3BlcmF0b3IodG90YWwpIHtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRvdGFsO1xuICAgICAgICBpZiAodGhpcy50b3RhbCA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudE91dE9mUmFuZ2VFcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBUYWtlTGFzdE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgVGFrZUxhc3RTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMudG90YWwpKTtcbiAgICB9O1xuICAgIHJldHVybiBUYWtlTGFzdE9wZXJhdG9yO1xufSgpKTtcbnZhciBUYWtlTGFzdFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVGFrZUxhc3RTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRha2VMYXN0U3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgdG90YWwpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZGVzdGluYXRpb24pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnRvdGFsID0gdG90YWw7XG4gICAgICAgIF90aGlzLnJpbmcgPSBuZXcgQXJyYXkoKTtcbiAgICAgICAgX3RoaXMuY291bnQgPSAwO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRha2VMYXN0U3Vic2NyaWJlci5wcm90b3R5cGUuX25leHQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJpbmcgPSB0aGlzLnJpbmc7XG4gICAgICAgIHZhciB0b3RhbCA9IHRoaXMudG90YWw7XG4gICAgICAgIHZhciBjb3VudCA9IHRoaXMuY291bnQrKztcbiAgICAgICAgaWYgKHJpbmcubGVuZ3RoIDwgdG90YWwpIHtcbiAgICAgICAgICAgIHJpbmcucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSBjb3VudCAlIHRvdGFsO1xuICAgICAgICAgICAgcmluZ1tpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgVGFrZUxhc3RTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkZXN0aW5hdGlvbiA9IHRoaXMuZGVzdGluYXRpb247XG4gICAgICAgIHZhciBjb3VudCA9IHRoaXMuY291bnQ7XG4gICAgICAgIGlmIChjb3VudCA+IDApIHtcbiAgICAgICAgICAgIHZhciB0b3RhbCA9IHRoaXMuY291bnQgPj0gdGhpcy50b3RhbCA/IHRoaXMudG90YWwgOiB0aGlzLmNvdW50O1xuICAgICAgICAgICAgdmFyIHJpbmcgPSB0aGlzLnJpbmc7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvdGFsOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgaWR4ID0gKGNvdW50KyspICUgdG90YWw7XG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24ubmV4dChyaW5nW2lkeF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgfTtcbiAgICByZXR1cm4gVGFrZUxhc3RTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10YWtlTGFzdC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/takeLast.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/takeUntil.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/takeUntil.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ takeUntil: function() { return /* binding */ takeUntil; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nfunction takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nvar TakeUntilOperator = /*@__PURE__*/ (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n var notifierSubscription = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.innerSubscribe)(this.notifier, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n };\n return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.seenValue = false;\n return _this;\n }\n TakeUntilSubscriber.prototype.notifyNext = function () {\n this.seenValue = true;\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n };\n return TakeUntilSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.SimpleOuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVVudGlsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ2dFO0FBQzFGO0FBQ1AsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLCtEQUFjLG9CQUFvQixrRUFBcUI7QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsa0VBQXFCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy90YWtlVW50aWwuanM/N2I0MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgaW5uZXJTdWJzY3JpYmUsIFNpbXBsZUlubmVyU3Vic2NyaWJlciwgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VVbnRpbChub3RpZmllcikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgVGFrZVVudGlsT3BlcmF0b3Iobm90aWZpZXIpKTsgfTtcbn1cbnZhciBUYWtlVW50aWxPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUYWtlVW50aWxPcGVyYXRvcihub3RpZmllcikge1xuICAgICAgICB0aGlzLm5vdGlmaWVyID0gbm90aWZpZXI7XG4gICAgfVxuICAgIFRha2VVbnRpbE9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICB2YXIgdGFrZVVudGlsU3Vic2NyaWJlciA9IG5ldyBUYWtlVW50aWxTdWJzY3JpYmVyKHN1YnNjcmliZXIpO1xuICAgICAgICB2YXIgbm90aWZpZXJTdWJzY3JpcHRpb24gPSBpbm5lclN1YnNjcmliZSh0aGlzLm5vdGlmaWVyLCBuZXcgU2ltcGxlSW5uZXJTdWJzY3JpYmVyKHRha2VVbnRpbFN1YnNjcmliZXIpKTtcbiAgICAgICAgaWYgKG5vdGlmaWVyU3Vic2NyaXB0aW9uICYmICF0YWtlVW50aWxTdWJzY3JpYmVyLnNlZW5WYWx1ZSkge1xuICAgICAgICAgICAgdGFrZVVudGlsU3Vic2NyaWJlci5hZGQobm90aWZpZXJTdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUodGFrZVVudGlsU3Vic2NyaWJlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRha2VVbnRpbFN1YnNjcmliZXI7XG4gICAgfTtcbiAgICByZXR1cm4gVGFrZVVudGlsT3BlcmF0b3I7XG59KCkpO1xudmFyIFRha2VVbnRpbFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVGFrZVVudGlsU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUYWtlVW50aWxTdWJzY3JpYmVyKGRlc3RpbmF0aW9uKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zZWVuVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUYWtlVW50aWxTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlOZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnNlZW5WYWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICB9O1xuICAgIFRha2VVbnRpbFN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgIH07XG4gICAgcmV0dXJuIFRha2VVbnRpbFN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGFrZVVudGlsLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/takeUntil.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/takeWhile.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/takeWhile.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ takeWhile: function() { return /* binding */ takeWhile; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\n\n\nfunction takeWhile(predicate, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n return function (source) {\n return source.lift(new TakeWhileOperator(predicate, inclusive));\n };\n}\nvar TakeWhileOperator = /*@__PURE__*/ (function () {\n function TakeWhileOperator(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n };\n return TakeWhileOperator;\n}());\nvar TakeWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate, inclusive) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.inclusive = inclusive;\n _this.index = 0;\n return _this;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\n//# sourceMappingURL=takeWhile.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVdoaWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDcEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVdoaWxlLmpzP2YyZDEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VXaGlsZShwcmVkaWNhdGUsIGluY2x1c2l2ZSkge1xuICAgIGlmIChpbmNsdXNpdmUgPT09IHZvaWQgMCkge1xuICAgICAgICBpbmNsdXNpdmUgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBUYWtlV2hpbGVPcGVyYXRvcihwcmVkaWNhdGUsIGluY2x1c2l2ZSkpO1xuICAgIH07XG59XG52YXIgVGFrZVdoaWxlT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVGFrZVdoaWxlT3BlcmF0b3IocHJlZGljYXRlLCBpbmNsdXNpdmUpIHtcbiAgICAgICAgdGhpcy5wcmVkaWNhdGUgPSBwcmVkaWNhdGU7XG4gICAgICAgIHRoaXMuaW5jbHVzaXZlID0gaW5jbHVzaXZlO1xuICAgIH1cbiAgICBUYWtlV2hpbGVPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFRha2VXaGlsZVN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5wcmVkaWNhdGUsIHRoaXMuaW5jbHVzaXZlKSk7XG4gICAgfTtcbiAgICByZXR1cm4gVGFrZVdoaWxlT3BlcmF0b3I7XG59KCkpO1xudmFyIFRha2VXaGlsZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVGFrZVdoaWxlU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUYWtlV2hpbGVTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBwcmVkaWNhdGUsIGluY2x1c2l2ZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAgICAgICBfdGhpcy5pbmNsdXNpdmUgPSBpbmNsdXNpdmU7XG4gICAgICAgIF90aGlzLmluZGV4ID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUYWtlV2hpbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5wcmVkaWNhdGUodmFsdWUsIHRoaXMuaW5kZXgrKyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5leHRPckNvbXBsZXRlKHZhbHVlLCByZXN1bHQpO1xuICAgIH07XG4gICAgVGFrZVdoaWxlU3Vic2NyaWJlci5wcm90b3R5cGUubmV4dE9yQ29tcGxldGUgPSBmdW5jdGlvbiAodmFsdWUsIHByZWRpY2F0ZVJlc3VsdCkge1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICBpZiAoQm9vbGVhbihwcmVkaWNhdGVSZXN1bHQpKSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFRha2VXaGlsZVN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRha2VXaGlsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/takeWhile.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/tap.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/tap.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ tap: function() { return /* binding */ tap; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/noop */ \"./node_modules/rxjs/_esm5/internal/util/noop.js\");\n/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isFunction */ \"./node_modules/rxjs/_esm5/internal/util/isFunction.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */\n\n\n\n\nfunction tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nvar DoOperator = /*@__PURE__*/ (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\nvar TapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(TapSubscriber, _super);\n function TapSubscriber(destination, observerOrNext, error, complete) {\n var _this = _super.call(this, destination) || this;\n _this._tapNext = _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n _this._tapError = _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n _this._tapComplete = _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n _this._tapError = error || _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n _this._tapComplete = complete || _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n if ((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_2__.isFunction)(observerOrNext)) {\n _this._context = _this;\n _this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n _this._context = observerOrNext;\n _this._tapNext = observerOrNext.next || _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n _this._tapError = observerOrNext.error || _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n _this._tapComplete = observerOrNext.complete || _util_noop__WEBPACK_IMPORTED_MODULE_1__.noop;\n }\n return _this;\n }\n TapSubscriber.prototype._next = function (value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n };\n TapSubscriber.prototype._error = function (err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n };\n TapSubscriber.prototype._complete = function () {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n };\n return TapSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_3__.Subscriber));\n//# sourceMappingURL=tap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNQO0FBQ1k7QUFDekM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBLHlCQUF5Qiw0Q0FBSTtBQUM3QiwwQkFBMEIsNENBQUk7QUFDOUIsNkJBQTZCLDRDQUFJO0FBQ2pDLG1DQUFtQyw0Q0FBSTtBQUN2Qyx5Q0FBeUMsNENBQUk7QUFDN0MsWUFBWSw0REFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELDRDQUFJO0FBQ3hELHNEQUFzRCw0Q0FBSTtBQUMxRCw0REFBNEQsNENBQUk7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGFwLmpzP2Q2MDYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlcixfdXRpbF9ub29wLF91dGlsX2lzRnVuY3Rpb24gUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlsL25vb3AnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5leHBvcnQgZnVuY3Rpb24gdGFwKG5leHRPck9ic2VydmVyLCBlcnJvciwgY29tcGxldGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gdGFwT3BlcmF0b3JGdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBEb09wZXJhdG9yKG5leHRPck9ic2VydmVyLCBlcnJvciwgY29tcGxldGUpKTtcbiAgICB9O1xufVxudmFyIERvT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRG9PcGVyYXRvcihuZXh0T3JPYnNlcnZlciwgZXJyb3IsIGNvbXBsZXRlKSB7XG4gICAgICAgIHRoaXMubmV4dE9yT2JzZXJ2ZXIgPSBuZXh0T3JPYnNlcnZlcjtcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yO1xuICAgICAgICB0aGlzLmNvbXBsZXRlID0gY29tcGxldGU7XG4gICAgfVxuICAgIERvT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBUYXBTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMubmV4dE9yT2JzZXJ2ZXIsIHRoaXMuZXJyb3IsIHRoaXMuY29tcGxldGUpKTtcbiAgICB9O1xuICAgIHJldHVybiBEb09wZXJhdG9yO1xufSgpKTtcbnZhciBUYXBTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFRhcFN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVGFwU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgb2JzZXJ2ZXJPck5leHQsIGVycm9yLCBjb21wbGV0ZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuX3RhcE5leHQgPSBub29wO1xuICAgICAgICBfdGhpcy5fdGFwRXJyb3IgPSBub29wO1xuICAgICAgICBfdGhpcy5fdGFwQ29tcGxldGUgPSBub29wO1xuICAgICAgICBfdGhpcy5fdGFwRXJyb3IgPSBlcnJvciB8fCBub29wO1xuICAgICAgICBfdGhpcy5fdGFwQ29tcGxldGUgPSBjb21wbGV0ZSB8fCBub29wO1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihvYnNlcnZlck9yTmV4dCkpIHtcbiAgICAgICAgICAgIF90aGlzLl9jb250ZXh0ID0gX3RoaXM7XG4gICAgICAgICAgICBfdGhpcy5fdGFwTmV4dCA9IG9ic2VydmVyT3JOZXh0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG9ic2VydmVyT3JOZXh0KSB7XG4gICAgICAgICAgICBfdGhpcy5fY29udGV4dCA9IG9ic2VydmVyT3JOZXh0O1xuICAgICAgICAgICAgX3RoaXMuX3RhcE5leHQgPSBvYnNlcnZlck9yTmV4dC5uZXh0IHx8IG5vb3A7XG4gICAgICAgICAgICBfdGhpcy5fdGFwRXJyb3IgPSBvYnNlcnZlck9yTmV4dC5lcnJvciB8fCBub29wO1xuICAgICAgICAgICAgX3RoaXMuX3RhcENvbXBsZXRlID0gb2JzZXJ2ZXJPck5leHQuY29tcGxldGUgfHwgbm9vcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRhcFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLl90YXBOZXh0LmNhbGwodGhpcy5fY29udGV4dCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgIH07XG4gICAgVGFwU3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5fdGFwRXJyb3IuY2FsbCh0aGlzLl9jb250ZXh0LCBlcnIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgfTtcbiAgICBUYXBTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLl90YXBDb21wbGV0ZS5jYWxsKHRoaXMuX2NvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgcmV0dXJuIFRhcFN1YnNjcmliZXI7XG59KFN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRhcC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/tap.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/throttle.js": -/*!****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/throttle.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultThrottleConfig: function() { return /* binding */ defaultThrottleConfig; },\n/* harmony export */ throttle: function() { return /* binding */ throttle; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\n\n\nvar defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nfunction throttle(durationSelector, config) {\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, !!config.leading, !!config.trailing)); };\n}\nvar ThrottleOperator = /*@__PURE__*/ (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\nvar ThrottleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.durationSelector = durationSelector;\n _this._leading = _leading;\n _this._trailing = _trailing;\n _this._hasValue = false;\n return _this;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n this._hasValue = true;\n this._sendValue = value;\n if (!this._throttled) {\n if (this._leading) {\n this.send();\n }\n else {\n this.throttle(value);\n }\n }\n };\n ThrottleSubscriber.prototype.send = function () {\n var _a = this, _hasValue = _a._hasValue, _sendValue = _a._sendValue;\n if (_hasValue) {\n this.destination.next(_sendValue);\n this.throttle(_sendValue);\n }\n this._hasValue = false;\n this._sendValue = undefined;\n };\n ThrottleSubscriber.prototype.throttle = function (value) {\n var duration = this.tryDurationSelector(value);\n if (!!duration) {\n this.add(this._throttled = (0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.innerSubscribe)(duration, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleInnerSubscriber(this)));\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n ThrottleSubscriber.prototype.throttlingDone = function () {\n var _a = this, _throttled = _a._throttled, _trailing = _a._trailing;\n if (_throttled) {\n _throttled.unsubscribe();\n }\n this._throttled = undefined;\n if (_trailing) {\n this.send();\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function () {\n this.throttlingDone();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this.throttlingDone();\n };\n return ThrottleSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_1__.SimpleOuterSubscriber));\n//# sourceMappingURL=throttle.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGhyb3R0bGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ2dFO0FBQzFGO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QywrREFBYyxlQUFlLGtFQUFxQjtBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxrRUFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3Rocm90dGxlLmpzPzIzYzAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgaW5uZXJTdWJzY3JpYmUsIFNpbXBsZUlubmVyU3Vic2NyaWJlciB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCB2YXIgZGVmYXVsdFRocm90dGxlQ29uZmlnID0ge1xuICAgIGxlYWRpbmc6IHRydWUsXG4gICAgdHJhaWxpbmc6IGZhbHNlXG59O1xuZXhwb3J0IGZ1bmN0aW9uIHRocm90dGxlKGR1cmF0aW9uU2VsZWN0b3IsIGNvbmZpZykge1xuICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkge1xuICAgICAgICBjb25maWcgPSBkZWZhdWx0VGhyb3R0bGVDb25maWc7XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7IHJldHVybiBzb3VyY2UubGlmdChuZXcgVGhyb3R0bGVPcGVyYXRvcihkdXJhdGlvblNlbGVjdG9yLCAhIWNvbmZpZy5sZWFkaW5nLCAhIWNvbmZpZy50cmFpbGluZykpOyB9O1xufVxudmFyIFRocm90dGxlT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVGhyb3R0bGVPcGVyYXRvcihkdXJhdGlvblNlbGVjdG9yLCBsZWFkaW5nLCB0cmFpbGluZykge1xuICAgICAgICB0aGlzLmR1cmF0aW9uU2VsZWN0b3IgPSBkdXJhdGlvblNlbGVjdG9yO1xuICAgICAgICB0aGlzLmxlYWRpbmcgPSBsZWFkaW5nO1xuICAgICAgICB0aGlzLnRyYWlsaW5nID0gdHJhaWxpbmc7XG4gICAgfVxuICAgIFRocm90dGxlT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBUaHJvdHRsZVN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5kdXJhdGlvblNlbGVjdG9yLCB0aGlzLmxlYWRpbmcsIHRoaXMudHJhaWxpbmcpKTtcbiAgICB9O1xuICAgIHJldHVybiBUaHJvdHRsZU9wZXJhdG9yO1xufSgpKTtcbnZhciBUaHJvdHRsZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVGhyb3R0bGVTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRocm90dGxlU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgZHVyYXRpb25TZWxlY3RvciwgX2xlYWRpbmcsIF90cmFpbGluZykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgX3RoaXMuZHVyYXRpb25TZWxlY3RvciA9IGR1cmF0aW9uU2VsZWN0b3I7XG4gICAgICAgIF90aGlzLl9sZWFkaW5nID0gX2xlYWRpbmc7XG4gICAgICAgIF90aGlzLl90cmFpbGluZyA9IF90cmFpbGluZztcbiAgICAgICAgX3RoaXMuX2hhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgVGhyb3R0bGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9oYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX3NlbmRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICBpZiAoIXRoaXMuX3Rocm90dGxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2xlYWRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGhyb3R0bGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBUaHJvdHRsZVN1YnNjcmliZXIucHJvdG90eXBlLnNlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMsIF9oYXNWYWx1ZSA9IF9hLl9oYXNWYWx1ZSwgX3NlbmRWYWx1ZSA9IF9hLl9zZW5kVmFsdWU7XG4gICAgICAgIGlmIChfaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dChfc2VuZFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMudGhyb3R0bGUoX3NlbmRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fc2VuZFZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH07XG4gICAgVGhyb3R0bGVTdWJzY3JpYmVyLnByb3RvdHlwZS50aHJvdHRsZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgZHVyYXRpb24gPSB0aGlzLnRyeUR1cmF0aW9uU2VsZWN0b3IodmFsdWUpO1xuICAgICAgICBpZiAoISFkdXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5hZGQodGhpcy5fdGhyb3R0bGVkID0gaW5uZXJTdWJzY3JpYmUoZHVyYXRpb24sIG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIodGhpcykpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgVGhyb3R0bGVTdWJzY3JpYmVyLnByb3RvdHlwZS50cnlEdXJhdGlvblNlbGVjdG9yID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kdXJhdGlvblNlbGVjdG9yKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgVGhyb3R0bGVTdWJzY3JpYmVyLnByb3RvdHlwZS50aHJvdHRsaW5nRG9uZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgX3Rocm90dGxlZCA9IF9hLl90aHJvdHRsZWQsIF90cmFpbGluZyA9IF9hLl90cmFpbGluZztcbiAgICAgICAgaWYgKF90aHJvdHRsZWQpIHtcbiAgICAgICAgICAgIF90aHJvdHRsZWQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90aHJvdHRsZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChfdHJhaWxpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2VuZCgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUaHJvdHRsZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudGhyb3R0bGluZ0RvbmUoKTtcbiAgICB9O1xuICAgIFRocm90dGxlU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudGhyb3R0bGluZ0RvbmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBUaHJvdHRsZVN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGhyb3R0bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/throttle.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/throttleTime.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/throttleTime.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ throttleTime: function() { return /* binding */ throttleTime; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle */ \"./node_modules/rxjs/_esm5/internal/operators/throttle.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */\n\n\n\n\nfunction throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n if (config === void 0) {\n config = _throttle__WEBPACK_IMPORTED_MODULE_1__.defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nvar ThrottleTimeOperator = /*@__PURE__*/ (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\nvar ThrottleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n var _this = _super.call(this, destination) || this;\n _this.duration = duration;\n _this.scheduler = scheduler;\n _this.leading = leading;\n _this.trailing = trailing;\n _this._hasTrailingValue = false;\n _this._trailingValue = null;\n return _this;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n else if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n };\n ThrottleTimeSubscriber.prototype._complete = function () {\n if (this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this.destination.complete();\n }\n else {\n this.destination.complete();\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_3__.Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGhyb3R0bGVUaW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDVTtBQUNBO0FBQ1E7QUFDNUM7QUFDUDtBQUNBLG9CQUFvQixtREFBSztBQUN6QjtBQUNBO0FBQ0EsaUJBQWlCLDREQUFxQjtBQUN0QztBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2RkFBNkYsa0JBQWtCO0FBQy9HO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsbURBQVU7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy90aHJvdHRsZVRpbWUuanM/ZDZjZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpYmVyLF9zY2hlZHVsZXJfYXN5bmMsX3Rocm90dGxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBhc3luYyB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBkZWZhdWx0VGhyb3R0bGVDb25maWcgfSBmcm9tICcuL3Rocm90dGxlJztcbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZVRpbWUoZHVyYXRpb24sIHNjaGVkdWxlciwgY29uZmlnKSB7XG4gICAgaWYgKHNjaGVkdWxlciA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IGFzeW5jO1xuICAgIH1cbiAgICBpZiAoY29uZmlnID09PSB2b2lkIDApIHtcbiAgICAgICAgY29uZmlnID0gZGVmYXVsdFRocm90dGxlQ29uZmlnO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IFRocm90dGxlVGltZU9wZXJhdG9yKGR1cmF0aW9uLCBzY2hlZHVsZXIsIGNvbmZpZy5sZWFkaW5nLCBjb25maWcudHJhaWxpbmcpKTsgfTtcbn1cbnZhciBUaHJvdHRsZVRpbWVPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUaHJvdHRsZVRpbWVPcGVyYXRvcihkdXJhdGlvbiwgc2NoZWR1bGVyLCBsZWFkaW5nLCB0cmFpbGluZykge1xuICAgICAgICB0aGlzLmR1cmF0aW9uID0gZHVyYXRpb247XG4gICAgICAgIHRoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgICAgICB0aGlzLmxlYWRpbmcgPSBsZWFkaW5nO1xuICAgICAgICB0aGlzLnRyYWlsaW5nID0gdHJhaWxpbmc7XG4gICAgfVxuICAgIFRocm90dGxlVGltZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgVGhyb3R0bGVUaW1lU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLmR1cmF0aW9uLCB0aGlzLnNjaGVkdWxlciwgdGhpcy5sZWFkaW5nLCB0aGlzLnRyYWlsaW5nKSk7XG4gICAgfTtcbiAgICByZXR1cm4gVGhyb3R0bGVUaW1lT3BlcmF0b3I7XG59KCkpO1xudmFyIFRocm90dGxlVGltZVN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVGhyb3R0bGVUaW1lU3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUaHJvdHRsZVRpbWVTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBkdXJhdGlvbiwgc2NoZWR1bGVyLCBsZWFkaW5nLCB0cmFpbGluZykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZHVyYXRpb24gPSBkdXJhdGlvbjtcbiAgICAgICAgX3RoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgICAgICBfdGhpcy5sZWFkaW5nID0gbGVhZGluZztcbiAgICAgICAgX3RoaXMudHJhaWxpbmcgPSB0cmFpbGluZztcbiAgICAgICAgX3RoaXMuX2hhc1RyYWlsaW5nVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuX3RyYWlsaW5nVmFsdWUgPSBudWxsO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRocm90dGxlVGltZVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLnRocm90dGxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHJhaWxpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFpbGluZ1ZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFzVHJhaWxpbmdWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFkZCh0aGlzLnRocm90dGxlZCA9IHRoaXMuc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoTmV4dCwgdGhpcy5kdXJhdGlvbiwgeyBzdWJzY3JpYmVyOiB0aGlzIH0pKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmxlYWRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy50cmFpbGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyYWlsaW5nVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9oYXNUcmFpbGluZ1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgVGhyb3R0bGVUaW1lU3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5faGFzVHJhaWxpbmdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHRoaXMuX3RyYWlsaW5nVmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUaHJvdHRsZVRpbWVTdWJzY3JpYmVyLnByb3RvdHlwZS5jbGVhclRocm90dGxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdGhyb3R0bGVkID0gdGhpcy50aHJvdHRsZWQ7XG4gICAgICAgIGlmICh0aHJvdHRsZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYWlsaW5nICYmIHRoaXMuX2hhc1RyYWlsaW5nVmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodGhpcy5fdHJhaWxpbmdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhaWxpbmdWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFzVHJhaWxpbmdWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3R0bGVkLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZSh0aHJvdHRsZWQpO1xuICAgICAgICAgICAgdGhpcy50aHJvdHRsZWQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gVGhyb3R0bGVUaW1lU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZnVuY3Rpb24gZGlzcGF0Y2hOZXh0KGFyZykge1xuICAgIHZhciBzdWJzY3JpYmVyID0gYXJnLnN1YnNjcmliZXI7XG4gICAgc3Vic2NyaWJlci5jbGVhclRocm90dGxlKCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10aHJvdHRsZVRpbWUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/throttleTime.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ throwIfEmpty: function() { return /* binding */ throwIfEmpty; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/EmptyError */ \"./node_modules/rxjs/_esm5/internal/util/EmptyError.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START tslib,_util_EmptyError,_Subscriber PURE_IMPORTS_END */\n\n\n\nfunction throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) {\n errorFactory = defaultErrorFactory;\n }\n return function (source) {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nvar ThrowIfEmptyOperator = /*@__PURE__*/ (function () {\n function ThrowIfEmptyOperator(errorFactory) {\n this.errorFactory = errorFactory;\n }\n ThrowIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n };\n return ThrowIfEmptyOperator;\n}());\nvar ThrowIfEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(ThrowIfEmptySubscriber, _super);\n function ThrowIfEmptySubscriber(destination, errorFactory) {\n var _this = _super.call(this, destination) || this;\n _this.errorFactory = errorFactory;\n _this.hasValue = false;\n return _this;\n }\n ThrowIfEmptySubscriber.prototype._next = function (value) {\n this.hasValue = true;\n this.destination.next(value);\n };\n ThrowIfEmptySubscriber.prototype._complete = function () {\n if (!this.hasValue) {\n var err = void 0;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n };\n return ThrowIfEmptySubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_1__.Subscriber));\nfunction defaultErrorFactory() {\n return new _util_EmptyError__WEBPACK_IMPORTED_MODULE_2__.EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGhyb3dJZkVtcHR5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNlO0FBQ0w7QUFDcEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1o7QUFDQSxlQUFlLHdEQUFVO0FBQ3pCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3Rocm93SWZFbXB0eS5qcz9lNzAzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX3V0aWxfRW1wdHlFcnJvcixfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgRW1wdHlFcnJvciB9IGZyb20gJy4uL3V0aWwvRW1wdHlFcnJvcic7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gdGhyb3dJZkVtcHR5KGVycm9yRmFjdG9yeSkge1xuICAgIGlmIChlcnJvckZhY3RvcnkgPT09IHZvaWQgMCkge1xuICAgICAgICBlcnJvckZhY3RvcnkgPSBkZWZhdWx0RXJyb3JGYWN0b3J5O1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IFRocm93SWZFbXB0eU9wZXJhdG9yKGVycm9yRmFjdG9yeSkpO1xuICAgIH07XG59XG52YXIgVGhyb3dJZkVtcHR5T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVGhyb3dJZkVtcHR5T3BlcmF0b3IoZXJyb3JGYWN0b3J5KSB7XG4gICAgICAgIHRoaXMuZXJyb3JGYWN0b3J5ID0gZXJyb3JGYWN0b3J5O1xuICAgIH1cbiAgICBUaHJvd0lmRW1wdHlPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFRocm93SWZFbXB0eVN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5lcnJvckZhY3RvcnkpKTtcbiAgICB9O1xuICAgIHJldHVybiBUaHJvd0lmRW1wdHlPcGVyYXRvcjtcbn0oKSk7XG52YXIgVGhyb3dJZkVtcHR5U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhUaHJvd0lmRW1wdHlTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRocm93SWZFbXB0eVN1YnNjcmliZXIoZGVzdGluYXRpb24sIGVycm9yRmFjdG9yeSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZXJyb3JGYWN0b3J5ID0gZXJyb3JGYWN0b3J5O1xuICAgICAgICBfdGhpcy5oYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRocm93SWZFbXB0eVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQodmFsdWUpO1xuICAgIH07XG4gICAgVGhyb3dJZkVtcHR5U3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBlcnIgPSB2b2lkIDA7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGVyciA9IHRoaXMuZXJyb3JGYWN0b3J5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGVyciA9IGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gVGhyb3dJZkVtcHR5U3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZnVuY3Rpb24gZGVmYXVsdEVycm9yRmFjdG9yeSgpIHtcbiAgICByZXR1cm4gbmV3IEVtcHR5RXJyb3IoKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRocm93SWZFbXB0eS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/timeInterval.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/timeInterval.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TimeInterval: function() { return /* binding */ TimeInterval; },\n/* harmony export */ timeInterval: function() { return /* binding */ timeInterval; }\n/* harmony export */ });\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scan */ \"./node_modules/rxjs/_esm5/internal/operators/scan.js\");\n/* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../observable/defer */ \"./node_modules/rxjs/_esm5/internal/observable/defer.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */\n\n\n\n\nfunction timeInterval(scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return function (source) {\n return (0,_observable_defer__WEBPACK_IMPORTED_MODULE_1__.defer)(function () {\n return source.pipe((0,_scan__WEBPACK_IMPORTED_MODULE_2__.scan)(function (_a, value) {\n var current = _a.current;\n return ({ value: value, current: scheduler.now(), last: current });\n }, { current: scheduler.now(), value: undefined, last: undefined }), (0,_map__WEBPACK_IMPORTED_MODULE_3__.map)(function (_a) {\n var current = _a.current, last = _a.last, value = _a.value;\n return new TimeInterval(value, current - last);\n }));\n });\n };\n}\nvar TimeInterval = /*@__PURE__*/ (function () {\n function TimeInterval(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n return TimeInterval;\n}());\n\n//# sourceMappingURL=timeInterval.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZUludGVydmFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQzJDO0FBQ2I7QUFDYztBQUNoQjtBQUNyQjtBQUNQO0FBQ0Esb0JBQW9CLG1EQUFLO0FBQ3pCO0FBQ0E7QUFDQSxlQUFlLHdEQUFLO0FBQ3BCLCtCQUErQiwyQ0FBSTtBQUNuQztBQUNBLDBCQUEwQix1REFBdUQ7QUFDakYsYUFBYSxJQUFJLDZEQUE2RCxHQUFHLHlDQUFHO0FBQ3BGO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3VCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy90aW1lSW50ZXJ2YWwuanM/NDkzMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9zY2hlZHVsZXJfYXN5bmMsX3NjYW4sX29ic2VydmFibGVfZGVmZXIsX21hcCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBhc3luYyB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBzY2FuIH0gZnJvbSAnLi9zY2FuJztcbmltcG9ydCB7IGRlZmVyIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9kZWZlcic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuL21hcCc7XG5leHBvcnQgZnVuY3Rpb24gdGltZUludGVydmFsKHNjaGVkdWxlcikge1xuICAgIGlmIChzY2hlZHVsZXIgPT09IHZvaWQgMCkge1xuICAgICAgICBzY2hlZHVsZXIgPSBhc3luYztcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2UucGlwZShzY2FuKGZ1bmN0aW9uIChfYSwgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YXIgY3VycmVudCA9IF9hLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuICh7IHZhbHVlOiB2YWx1ZSwgY3VycmVudDogc2NoZWR1bGVyLm5vdygpLCBsYXN0OiBjdXJyZW50IH0pO1xuICAgICAgICAgICAgfSwgeyBjdXJyZW50OiBzY2hlZHVsZXIubm93KCksIHZhbHVlOiB1bmRlZmluZWQsIGxhc3Q6IHVuZGVmaW5lZCB9KSwgbWFwKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgIHZhciBjdXJyZW50ID0gX2EuY3VycmVudCwgbGFzdCA9IF9hLmxhc3QsIHZhbHVlID0gX2EudmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBUaW1lSW50ZXJ2YWwodmFsdWUsIGN1cnJlbnQgLSBsYXN0KTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbnZhciBUaW1lSW50ZXJ2YWwgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVGltZUludGVydmFsKHZhbHVlLCBpbnRlcnZhbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBpbnRlcnZhbDtcbiAgICB9XG4gICAgcmV0dXJuIFRpbWVJbnRlcnZhbDtcbn0oKSk7XG5leHBvcnQgeyBUaW1lSW50ZXJ2YWwgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRpbWVJbnRlcnZhbC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/timeInterval.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/timeout.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/timeout.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ timeout: function() { return /* binding */ timeout; }\n/* harmony export */ });\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/TimeoutError */ \"./node_modules/rxjs/_esm5/internal/util/TimeoutError.js\");\n/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./timeoutWith */ \"./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js\");\n/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../observable/throwError */ \"./node_modules/rxjs/_esm5/internal/observable/throwError.js\");\n/** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */\n\n\n\n\nfunction timeout(due, scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return (0,_timeoutWith__WEBPACK_IMPORTED_MODULE_1__.timeoutWith)(due, (0,_observable_throwError__WEBPACK_IMPORTED_MODULE_2__.throwError)(new _util_TimeoutError__WEBPACK_IMPORTED_MODULE_3__.TimeoutError()), scheduler);\n}\n//# sourceMappingURL=timeout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZW91dC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQzJDO0FBQ1M7QUFDUjtBQUNVO0FBQy9DO0FBQ1A7QUFDQSxvQkFBb0IsbURBQUs7QUFDekI7QUFDQSxXQUFXLHlEQUFXLE1BQU0sa0VBQVUsS0FBSyw0REFBWTtBQUN2RDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy90aW1lb3V0LmpzPzhhZjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfc2NoZWR1bGVyX2FzeW5jLF91dGlsX1RpbWVvdXRFcnJvcixfdGltZW91dFdpdGgsX29ic2VydmFibGVfdGhyb3dFcnJvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBhc3luYyB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBUaW1lb3V0RXJyb3IgfSBmcm9tICcuLi91dGlsL1RpbWVvdXRFcnJvcic7XG5pbXBvcnQgeyB0aW1lb3V0V2l0aCB9IGZyb20gJy4vdGltZW91dFdpdGgnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJy4uL29ic2VydmFibGUvdGhyb3dFcnJvcic7XG5leHBvcnQgZnVuY3Rpb24gdGltZW91dChkdWUsIHNjaGVkdWxlcikge1xuICAgIGlmIChzY2hlZHVsZXIgPT09IHZvaWQgMCkge1xuICAgICAgICBzY2hlZHVsZXIgPSBhc3luYztcbiAgICB9XG4gICAgcmV0dXJuIHRpbWVvdXRXaXRoKGR1ZSwgdGhyb3dFcnJvcihuZXcgVGltZW91dEVycm9yKCkpLCBzY2hlZHVsZXIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGltZW91dC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/timeout.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ timeoutWith: function() { return /* binding */ timeoutWith; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isDate */ \"./node_modules/rxjs/_esm5/internal/util/isDate.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_innerSubscribe PURE_IMPORTS_END */\n\n\n\n\nfunction timeoutWith(due, withObservable, scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return function (source) {\n var absoluteTimeout = (0,_util_isDate__WEBPACK_IMPORTED_MODULE_1__.isDate)(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n };\n}\nvar TimeoutWithOperator = /*@__PURE__*/ (function () {\n function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n }\n TimeoutWithOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n };\n return TimeoutWithOperator;\n}());\nvar TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_2__.__extends(TimeoutWithSubscriber, _super);\n function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.absoluteTimeout = absoluteTimeout;\n _this.waitFor = waitFor;\n _this.withObservable = withObservable;\n _this.scheduler = scheduler;\n _this.scheduleTimeout();\n return _this;\n }\n TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {\n var withObservable = subscriber.withObservable;\n subscriber._unsubscribeAndRecycle();\n subscriber.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.innerSubscribe)(withObservable, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleInnerSubscriber(subscriber)));\n };\n TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutWithSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n TimeoutWithSubscriber.prototype._unsubscribe = function () {\n this.action = undefined;\n this.scheduler = null;\n this.withObservable = null;\n };\n return TimeoutWithSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_3__.SimpleOuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZW91dFdpdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNVO0FBQ0g7QUFDeUQ7QUFDMUY7QUFDUDtBQUNBLG9CQUFvQixtREFBSztBQUN6QjtBQUNBO0FBQ0EsOEJBQThCLG9EQUFNO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrREFBYyxxQkFBcUIsa0VBQXFCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLGtFQUFxQjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZW91dFdpdGguanM/MjYwYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9zY2hlZHVsZXJfYXN5bmMsX3V0aWxfaXNEYXRlLF9pbm5lclN1YnNjcmliZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgYXN5bmMgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgaXNEYXRlIH0gZnJvbSAnLi4vdXRpbC9pc0RhdGUnO1xuaW1wb3J0IHsgU2ltcGxlT3V0ZXJTdWJzY3JpYmVyLCBpbm5lclN1YnNjcmliZSwgU2ltcGxlSW5uZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vaW5uZXJTdWJzY3JpYmUnO1xuZXhwb3J0IGZ1bmN0aW9uIHRpbWVvdXRXaXRoKGR1ZSwgd2l0aE9ic2VydmFibGUsIHNjaGVkdWxlcikge1xuICAgIGlmIChzY2hlZHVsZXIgPT09IHZvaWQgMCkge1xuICAgICAgICBzY2hlZHVsZXIgPSBhc3luYztcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgICAgdmFyIGFic29sdXRlVGltZW91dCA9IGlzRGF0ZShkdWUpO1xuICAgICAgICB2YXIgd2FpdEZvciA9IGFic29sdXRlVGltZW91dCA/ICgrZHVlIC0gc2NoZWR1bGVyLm5vdygpKSA6IE1hdGguYWJzKGR1ZSk7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgVGltZW91dFdpdGhPcGVyYXRvcih3YWl0Rm9yLCBhYnNvbHV0ZVRpbWVvdXQsIHdpdGhPYnNlcnZhYmxlLCBzY2hlZHVsZXIpKTtcbiAgICB9O1xufVxudmFyIFRpbWVvdXRXaXRoT3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVGltZW91dFdpdGhPcGVyYXRvcih3YWl0Rm9yLCBhYnNvbHV0ZVRpbWVvdXQsIHdpdGhPYnNlcnZhYmxlLCBzY2hlZHVsZXIpIHtcbiAgICAgICAgdGhpcy53YWl0Rm9yID0gd2FpdEZvcjtcbiAgICAgICAgdGhpcy5hYnNvbHV0ZVRpbWVvdXQgPSBhYnNvbHV0ZVRpbWVvdXQ7XG4gICAgICAgIHRoaXMud2l0aE9ic2VydmFibGUgPSB3aXRoT2JzZXJ2YWJsZTtcbiAgICAgICAgdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgfVxuICAgIFRpbWVvdXRXaXRoT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBUaW1lb3V0V2l0aFN1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5hYnNvbHV0ZVRpbWVvdXQsIHRoaXMud2FpdEZvciwgdGhpcy53aXRoT2JzZXJ2YWJsZSwgdGhpcy5zY2hlZHVsZXIpKTtcbiAgICB9O1xuICAgIHJldHVybiBUaW1lb3V0V2l0aE9wZXJhdG9yO1xufSgpKTtcbnZhciBUaW1lb3V0V2l0aFN1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVGltZW91dFdpdGhTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRpbWVvdXRXaXRoU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgYWJzb2x1dGVUaW1lb3V0LCB3YWl0Rm9yLCB3aXRoT2JzZXJ2YWJsZSwgc2NoZWR1bGVyKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5hYnNvbHV0ZVRpbWVvdXQgPSBhYnNvbHV0ZVRpbWVvdXQ7XG4gICAgICAgIF90aGlzLndhaXRGb3IgPSB3YWl0Rm9yO1xuICAgICAgICBfdGhpcy53aXRoT2JzZXJ2YWJsZSA9IHdpdGhPYnNlcnZhYmxlO1xuICAgICAgICBfdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlVGltZW91dCgpO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRpbWVvdXRXaXRoU3Vic2NyaWJlci5kaXNwYXRjaFRpbWVvdXQgPSBmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB2YXIgd2l0aE9ic2VydmFibGUgPSBzdWJzY3JpYmVyLndpdGhPYnNlcnZhYmxlO1xuICAgICAgICBzdWJzY3JpYmVyLl91bnN1YnNjcmliZUFuZFJlY3ljbGUoKTtcbiAgICAgICAgc3Vic2NyaWJlci5hZGQoaW5uZXJTdWJzY3JpYmUod2l0aE9ic2VydmFibGUsIG5ldyBTaW1wbGVJbm5lclN1YnNjcmliZXIoc3Vic2NyaWJlcikpKTtcbiAgICB9O1xuICAgIFRpbWVvdXRXaXRoU3Vic2NyaWJlci5wcm90b3R5cGUuc2NoZWR1bGVUaW1lb3V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYWN0aW9uID0gdGhpcy5hY3Rpb247XG4gICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uLnNjaGVkdWxlKHRoaXMsIHRoaXMud2FpdEZvcik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFkZCh0aGlzLmFjdGlvbiA9IHRoaXMuc2NoZWR1bGVyLnNjaGVkdWxlKFRpbWVvdXRXaXRoU3Vic2NyaWJlci5kaXNwYXRjaFRpbWVvdXQsIHRoaXMud2FpdEZvciwgdGhpcykpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUaW1lb3V0V2l0aFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5hYnNvbHV0ZVRpbWVvdXQpIHtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVUaW1lb3V0KCk7XG4gICAgICAgIH1cbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5fbmV4dC5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICB9O1xuICAgIFRpbWVvdXRXaXRoU3Vic2NyaWJlci5wcm90b3R5cGUuX3Vuc3Vic2NyaWJlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zY2hlZHVsZXIgPSBudWxsO1xuICAgICAgICB0aGlzLndpdGhPYnNlcnZhYmxlID0gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiBUaW1lb3V0V2l0aFN1YnNjcmliZXI7XG59KFNpbXBsZU91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGltZW91dFdpdGguanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/timestamp.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/timestamp.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Timestamp: function() { return /* binding */ Timestamp; },\n/* harmony export */ timestamp: function() { return /* binding */ timestamp; }\n/* harmony export */ });\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/** PURE_IMPORTS_START _scheduler_async,_map PURE_IMPORTS_END */\n\n\nfunction timestamp(scheduler) {\n if (scheduler === void 0) {\n scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n }\n return (0,_map__WEBPACK_IMPORTED_MODULE_1__.map)(function (value) { return new Timestamp(value, scheduler.now()); });\n}\nvar Timestamp = /*@__PURE__*/ (function () {\n function Timestamp(value, timestamp) {\n this.value = value;\n this.timestamp = timestamp;\n }\n return Timestamp;\n}());\n\n//# sourceMappingURL=timestamp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZXN0YW1wLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNmO0FBQ3JCO0FBQ1A7QUFDQSxvQkFBb0IsbURBQUs7QUFDekI7QUFDQSxXQUFXLHlDQUFHLG9CQUFvQiwrQ0FBK0M7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ29CO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy90aW1lc3RhbXAuanM/ODE5NSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9zY2hlZHVsZXJfYXN5bmMsX21hcCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBhc3luYyB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuL21hcCc7XG5leHBvcnQgZnVuY3Rpb24gdGltZXN0YW1wKHNjaGVkdWxlcikge1xuICAgIGlmIChzY2hlZHVsZXIgPT09IHZvaWQgMCkge1xuICAgICAgICBzY2hlZHVsZXIgPSBhc3luYztcbiAgICB9XG4gICAgcmV0dXJuIG1hcChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIG5ldyBUaW1lc3RhbXAodmFsdWUsIHNjaGVkdWxlci5ub3coKSk7IH0pO1xufVxudmFyIFRpbWVzdGFtcCA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUaW1lc3RhbXAodmFsdWUsIHRpbWVzdGFtcCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudGltZXN0YW1wID0gdGltZXN0YW1wO1xuICAgIH1cbiAgICByZXR1cm4gVGltZXN0YW1wO1xufSgpKTtcbmV4cG9ydCB7IFRpbWVzdGFtcCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGltZXN0YW1wLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/timestamp.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/toArray.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/toArray.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toArray: function() { return /* binding */ toArray; }\n/* harmony export */ });\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduce */ \"./node_modules/rxjs/_esm5/internal/operators/reduce.js\");\n/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\n\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nfunction toArray() {\n return (0,_reduce__WEBPACK_IMPORTED_MODULE_0__.reduce)(toArrayReducer, []);\n}\n//# sourceMappingURL=toArray.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvdG9BcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ2tDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLCtDQUFNO0FBQ2pCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3RvQXJyYXkuanM/ZTAyMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9yZWR1Y2UgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgcmVkdWNlIH0gZnJvbSAnLi9yZWR1Y2UnO1xuZnVuY3Rpb24gdG9BcnJheVJlZHVjZXIoYXJyLCBpdGVtLCBpbmRleCkge1xuICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gW2l0ZW1dO1xuICAgIH1cbiAgICBhcnIucHVzaChpdGVtKTtcbiAgICByZXR1cm4gYXJyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRvQXJyYXkoKSB7XG4gICAgcmV0dXJuIHJlZHVjZSh0b0FycmF5UmVkdWNlciwgW10pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9BcnJheS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/toArray.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/window.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/window.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ window: function() { return /* binding */ window; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../innerSubscribe */ \"./node_modules/rxjs/_esm5/internal/innerSubscribe.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\n\n\n\nfunction window(windowBoundaries) {\n return function windowOperatorFunction(source) {\n return source.lift(new WindowOperator(windowBoundaries));\n };\n}\nvar WindowOperator = /*@__PURE__*/ (function () {\n function WindowOperator(windowBoundaries) {\n this.windowBoundaries = windowBoundaries;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n var windowSubscriber = new WindowSubscriber(subscriber);\n var sourceSubscription = source.subscribe(windowSubscriber);\n if (!sourceSubscription.closed) {\n windowSubscriber.add((0,_innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.innerSubscribe)(this.windowBoundaries, new _innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.SimpleInnerSubscriber(windowSubscriber)));\n }\n return sourceSubscription;\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_1__.__extends(WindowSubscriber, _super);\n function WindowSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.window = new _Subject__WEBPACK_IMPORTED_MODULE_2__.Subject();\n destination.next(_this.window);\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function () {\n this.openWindow();\n };\n WindowSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function () {\n this._complete();\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n };\n WindowSubscriber.prototype._unsubscribe = function () {\n this.window = null;\n };\n WindowSubscriber.prototype.openWindow = function () {\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var destination = this.destination;\n var newWindow = this.window = new _Subject__WEBPACK_IMPORTED_MODULE_2__.Subject();\n destination.next(newWindow);\n };\n return WindowSubscriber;\n}(_innerSubscribe__WEBPACK_IMPORTED_MODULE_0__.SimpleOuterSubscriber));\n//# sourceMappingURL=window.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNpQztBQUNJO0FBQzREO0FBQzFGO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLCtEQUFjLDRCQUE0QixrRUFBcUI7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0EsMkJBQTJCLDZDQUFPO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsNkNBQU87QUFDakQ7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLGtFQUFxQjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93LmpzP2Q2YzMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3ViamVjdCxfaW5uZXJTdWJzY3JpYmUgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuLi9TdWJqZWN0JztcbmltcG9ydCB7IFNpbXBsZU91dGVyU3Vic2NyaWJlciwgaW5uZXJTdWJzY3JpYmUsIFNpbXBsZUlubmVyU3Vic2NyaWJlciB9IGZyb20gJy4uL2lubmVyU3Vic2NyaWJlJztcbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3cod2luZG93Qm91bmRhcmllcykge1xuICAgIHJldHVybiBmdW5jdGlvbiB3aW5kb3dPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IFdpbmRvd09wZXJhdG9yKHdpbmRvd0JvdW5kYXJpZXMpKTtcbiAgICB9O1xufVxudmFyIFdpbmRvd09wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFdpbmRvd09wZXJhdG9yKHdpbmRvd0JvdW5kYXJpZXMpIHtcbiAgICAgICAgdGhpcy53aW5kb3dCb3VuZGFyaWVzID0gd2luZG93Qm91bmRhcmllcztcbiAgICB9XG4gICAgV2luZG93T3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHZhciB3aW5kb3dTdWJzY3JpYmVyID0gbmV3IFdpbmRvd1N1YnNjcmliZXIoc3Vic2NyaWJlcik7XG4gICAgICAgIHZhciBzb3VyY2VTdWJzY3JpcHRpb24gPSBzb3VyY2Uuc3Vic2NyaWJlKHdpbmRvd1N1YnNjcmliZXIpO1xuICAgICAgICBpZiAoIXNvdXJjZVN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgIHdpbmRvd1N1YnNjcmliZXIuYWRkKGlubmVyU3Vic2NyaWJlKHRoaXMud2luZG93Qm91bmRhcmllcywgbmV3IFNpbXBsZUlubmVyU3Vic2NyaWJlcih3aW5kb3dTdWJzY3JpYmVyKSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzb3VyY2VTdWJzY3JpcHRpb247XG4gICAgfTtcbiAgICByZXR1cm4gV2luZG93T3BlcmF0b3I7XG59KCkpO1xudmFyIFdpbmRvd1N1YnNjcmliZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoV2luZG93U3Vic2NyaWJlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBXaW5kb3dTdWJzY3JpYmVyKGRlc3RpbmF0aW9uKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy53aW5kb3cgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICBkZXN0aW5hdGlvbi5uZXh0KF90aGlzLndpbmRvdyk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgV2luZG93U3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5TmV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5vcGVuV2luZG93KCk7XG4gICAgfTtcbiAgICBXaW5kb3dTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlFcnJvciA9IGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICB0aGlzLl9lcnJvcihlcnJvcik7XG4gICAgfTtcbiAgICBXaW5kb3dTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlDb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5fY29tcGxldGUoKTtcbiAgICB9O1xuICAgIFdpbmRvd1N1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMud2luZG93Lm5leHQodmFsdWUpO1xuICAgIH07XG4gICAgV2luZG93U3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB0aGlzLndpbmRvdy5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGVycik7XG4gICAgfTtcbiAgICBXaW5kb3dTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMud2luZG93LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKTtcbiAgICB9O1xuICAgIFdpbmRvd1N1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy53aW5kb3cgPSBudWxsO1xuICAgIH07XG4gICAgV2luZG93U3Vic2NyaWJlci5wcm90b3R5cGUub3BlbldpbmRvdyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHByZXZXaW5kb3cgPSB0aGlzLndpbmRvdztcbiAgICAgICAgaWYgKHByZXZXaW5kb3cpIHtcbiAgICAgICAgICAgIHByZXZXaW5kb3cuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICB2YXIgbmV3V2luZG93ID0gdGhpcy53aW5kb3cgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICBkZXN0aW5hdGlvbi5uZXh0KG5ld1dpbmRvdyk7XG4gICAgfTtcbiAgICByZXR1cm4gV2luZG93U3Vic2NyaWJlcjtcbn0oU2ltcGxlT3V0ZXJTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13aW5kb3cuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/window.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/windowCount.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/windowCount.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ windowCount: function() { return /* binding */ windowCount; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/** PURE_IMPORTS_START tslib,_Subscriber,_Subject PURE_IMPORTS_END */\n\n\n\nfunction windowCount(windowSize, startWindowEvery) {\n if (startWindowEvery === void 0) {\n startWindowEvery = 0;\n }\n return function windowCountOperatorFunction(source) {\n return source.lift(new WindowCountOperator(windowSize, startWindowEvery));\n };\n}\nvar WindowCountOperator = /*@__PURE__*/ (function () {\n function WindowCountOperator(windowSize, startWindowEvery) {\n this.windowSize = windowSize;\n this.startWindowEvery = startWindowEvery;\n }\n WindowCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n };\n return WindowCountOperator;\n}());\nvar WindowCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(WindowCountSubscriber, _super);\n function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowSize = windowSize;\n _this.startWindowEvery = startWindowEvery;\n _this.windows = [new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject()];\n _this.count = 0;\n destination.next(_this.windows[0]);\n return _this;\n }\n WindowCountSubscriber.prototype._next = function (value) {\n var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n var destination = this.destination;\n var windowSize = this.windowSize;\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len && !this.closed; i++) {\n windows[i].next(value);\n }\n var c = this.count - windowSize + 1;\n if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n windows.shift().complete();\n }\n if (++this.count % startWindowEvery === 0 && !this.closed) {\n var window_1 = new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject();\n windows.push(window_1);\n destination.next(window_1);\n }\n };\n WindowCountSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().error(err);\n }\n }\n this.destination.error(err);\n };\n WindowCountSubscriber.prototype._complete = function () {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().complete();\n }\n }\n this.destination.complete();\n };\n WindowCountSubscriber.prototype._unsubscribe = function () {\n this.count = 0;\n this.windows = null;\n };\n return WindowCountSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_2__.Subscriber));\n//# sourceMappingURL=windowCount.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93Q291bnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ1U7QUFDTjtBQUM5QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qiw2Q0FBTztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qix5QkFBeUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsNkNBQU87QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd0NvdW50LmpzP2I4ZjMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCB0c2xpYixfU3Vic2NyaWJlcixfU3ViamVjdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuZXhwb3J0IGZ1bmN0aW9uIHdpbmRvd0NvdW50KHdpbmRvd1NpemUsIHN0YXJ0V2luZG93RXZlcnkpIHtcbiAgICBpZiAoc3RhcnRXaW5kb3dFdmVyeSA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHN0YXJ0V2luZG93RXZlcnkgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gd2luZG93Q291bnRPcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IFdpbmRvd0NvdW50T3BlcmF0b3Iod2luZG93U2l6ZSwgc3RhcnRXaW5kb3dFdmVyeSkpO1xuICAgIH07XG59XG52YXIgV2luZG93Q291bnRPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBXaW5kb3dDb3VudE9wZXJhdG9yKHdpbmRvd1NpemUsIHN0YXJ0V2luZG93RXZlcnkpIHtcbiAgICAgICAgdGhpcy53aW5kb3dTaXplID0gd2luZG93U2l6ZTtcbiAgICAgICAgdGhpcy5zdGFydFdpbmRvd0V2ZXJ5ID0gc3RhcnRXaW5kb3dFdmVyeTtcbiAgICB9XG4gICAgV2luZG93Q291bnRPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFdpbmRvd0NvdW50U3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLndpbmRvd1NpemUsIHRoaXMuc3RhcnRXaW5kb3dFdmVyeSkpO1xuICAgIH07XG4gICAgcmV0dXJuIFdpbmRvd0NvdW50T3BlcmF0b3I7XG59KCkpO1xudmFyIFdpbmRvd0NvdW50U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhXaW5kb3dDb3VudFN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gV2luZG93Q291bnRTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCB3aW5kb3dTaXplLCBzdGFydFdpbmRvd0V2ZXJ5KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICBfdGhpcy53aW5kb3dTaXplID0gd2luZG93U2l6ZTtcbiAgICAgICAgX3RoaXMuc3RhcnRXaW5kb3dFdmVyeSA9IHN0YXJ0V2luZG93RXZlcnk7XG4gICAgICAgIF90aGlzLndpbmRvd3MgPSBbbmV3IFN1YmplY3QoKV07XG4gICAgICAgIF90aGlzLmNvdW50ID0gMDtcbiAgICAgICAgZGVzdGluYXRpb24ubmV4dChfdGhpcy53aW5kb3dzWzBdKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBXaW5kb3dDb3VudFN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciBzdGFydFdpbmRvd0V2ZXJ5ID0gKHRoaXMuc3RhcnRXaW5kb3dFdmVyeSA+IDApID8gdGhpcy5zdGFydFdpbmRvd0V2ZXJ5IDogdGhpcy53aW5kb3dTaXplO1xuICAgICAgICB2YXIgZGVzdGluYXRpb24gPSB0aGlzLmRlc3RpbmF0aW9uO1xuICAgICAgICB2YXIgd2luZG93U2l6ZSA9IHRoaXMud2luZG93U2l6ZTtcbiAgICAgICAgdmFyIHdpbmRvd3MgPSB0aGlzLndpbmRvd3M7XG4gICAgICAgIHZhciBsZW4gPSB3aW5kb3dzLmxlbmd0aDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW4gJiYgIXRoaXMuY2xvc2VkOyBpKyspIHtcbiAgICAgICAgICAgIHdpbmRvd3NbaV0ubmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGMgPSB0aGlzLmNvdW50IC0gd2luZG93U2l6ZSArIDE7XG4gICAgICAgIGlmIChjID49IDAgJiYgYyAlIHN0YXJ0V2luZG93RXZlcnkgPT09IDAgJiYgIXRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICB3aW5kb3dzLnNoaWZ0KCkuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKyt0aGlzLmNvdW50ICUgc3RhcnRXaW5kb3dFdmVyeSA9PT0gMCAmJiAhdGhpcy5jbG9zZWQpIHtcbiAgICAgICAgICAgIHZhciB3aW5kb3dfMSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgICAgICAgICB3aW5kb3dzLnB1c2god2luZG93XzEpO1xuICAgICAgICAgICAgZGVzdGluYXRpb24ubmV4dCh3aW5kb3dfMSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFdpbmRvd0NvdW50U3Vic2NyaWJlci5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB2YXIgd2luZG93cyA9IHRoaXMud2luZG93cztcbiAgICAgICAgaWYgKHdpbmRvd3MpIHtcbiAgICAgICAgICAgIHdoaWxlICh3aW5kb3dzLmxlbmd0aCA+IDAgJiYgIXRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgd2luZG93cy5zaGlmdCgpLmVycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgIH07XG4gICAgV2luZG93Q291bnRTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB3aW5kb3dzID0gdGhpcy53aW5kb3dzO1xuICAgICAgICBpZiAod2luZG93cykge1xuICAgICAgICAgICAgd2hpbGUgKHdpbmRvd3MubGVuZ3RoID4gMCAmJiAhdGhpcy5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3dzLnNoaWZ0KCkuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgfTtcbiAgICBXaW5kb3dDb3VudFN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5jb3VudCA9IDA7XG4gICAgICAgIHRoaXMud2luZG93cyA9IG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gV2luZG93Q291bnRTdWJzY3JpYmVyO1xufShTdWJzY3JpYmVyKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13aW5kb3dDb3VudC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/windowCount.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/windowTime.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/windowTime.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ windowTime: function() { return /* binding */ windowTime; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ \"./node_modules/rxjs/_esm5/internal/scheduler/async.js\");\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isNumeric */ \"./node_modules/rxjs/_esm5/internal/util/isNumeric.js\");\n/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isScheduler */ \"./node_modules/rxjs/_esm5/internal/util/isScheduler.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_scheduler_async,_Subscriber,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\n\n\n\n\n\n\nfunction windowTime(windowTimeSpan) {\n var scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;\n var windowCreationInterval = null;\n var maxWindowSize = Number.POSITIVE_INFINITY;\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(arguments[3])) {\n scheduler = arguments[3];\n }\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(arguments[2])) {\n scheduler = arguments[2];\n }\n else if ((0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_2__.isNumeric)(arguments[2])) {\n maxWindowSize = Number(arguments[2]);\n }\n if ((0,_util_isScheduler__WEBPACK_IMPORTED_MODULE_1__.isScheduler)(arguments[1])) {\n scheduler = arguments[1];\n }\n else if ((0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_2__.isNumeric)(arguments[1])) {\n windowCreationInterval = Number(arguments[1]);\n }\n return function windowTimeOperatorFunction(source) {\n return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler));\n };\n}\nvar WindowTimeOperator = /*@__PURE__*/ (function () {\n function WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n }\n WindowTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler));\n };\n return WindowTimeOperator;\n}());\nvar CountedSubject = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_3__.__extends(CountedSubject, _super);\n function CountedSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._numberOfNextedValues = 0;\n return _this;\n }\n CountedSubject.prototype.next = function (value) {\n this._numberOfNextedValues++;\n _super.prototype.next.call(this, value);\n };\n Object.defineProperty(CountedSubject.prototype, \"numberOfNextedValues\", {\n get: function () {\n return this._numberOfNextedValues;\n },\n enumerable: true,\n configurable: true\n });\n return CountedSubject;\n}(_Subject__WEBPACK_IMPORTED_MODULE_4__.Subject));\nvar WindowTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_3__.__extends(WindowTimeSubscriber, _super);\n function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowTimeSpan = windowTimeSpan;\n _this.windowCreationInterval = windowCreationInterval;\n _this.maxWindowSize = maxWindowSize;\n _this.scheduler = scheduler;\n _this.windows = [];\n var window = _this.openWindow();\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n var closeState = { subscriber: _this, window: window, context: null };\n var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n }\n else {\n var timeSpanOnlyState = { subscriber: _this, window: window, windowTimeSpan: windowTimeSpan };\n _this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n }\n return _this;\n }\n WindowTimeSubscriber.prototype._next = function (value) {\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len; i++) {\n var window_1 = windows[i];\n if (!window_1.closed) {\n window_1.next(value);\n if (window_1.numberOfNextedValues >= this.maxWindowSize) {\n this.closeWindow(window_1);\n }\n }\n }\n };\n WindowTimeSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n this.destination.error(err);\n };\n WindowTimeSubscriber.prototype._complete = function () {\n var windows = this.windows;\n while (windows.length > 0) {\n var window_2 = windows.shift();\n if (!window_2.closed) {\n window_2.complete();\n }\n }\n this.destination.complete();\n };\n WindowTimeSubscriber.prototype.openWindow = function () {\n var window = new CountedSubject();\n this.windows.push(window);\n var destination = this.destination;\n destination.next(window);\n return window;\n };\n WindowTimeSubscriber.prototype.closeWindow = function (window) {\n window.complete();\n var windows = this.windows;\n windows.splice(windows.indexOf(window), 1);\n };\n return WindowTimeSubscriber;\n}(_Subscriber__WEBPACK_IMPORTED_MODULE_5__.Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n if (window) {\n subscriber.closeWindow(window);\n }\n state.window = subscriber.openWindow();\n this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n var window = subscriber.openWindow();\n var action = this;\n var context = { action: action, subscription: null };\n var timeSpanState = { subscriber: subscriber, window: window, context: context };\n context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n action.add(context.subscription);\n action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(state) {\n var subscriber = state.subscriber, window = state.window, context = state.context;\n if (context && context.action && context.subscription) {\n context.action.remove(context.subscription);\n }\n subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93VGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDaUM7QUFDSTtBQUNNO0FBQ0E7QUFDRztBQUNJO0FBQzNDO0FBQ1Asb0JBQW9CLG1EQUFLO0FBQ3pCO0FBQ0E7QUFDQSxRQUFRLDhEQUFXO0FBQ25CO0FBQ0E7QUFDQSxRQUFRLDhEQUFXO0FBQ25CO0FBQ0E7QUFDQSxhQUFhLDBEQUFTO0FBQ3RCO0FBQ0E7QUFDQSxRQUFRLDhEQUFXO0FBQ25CO0FBQ0E7QUFDQSxhQUFhLDBEQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMsQ0FBQyw2Q0FBTztBQUNUO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0Isa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFNBQVM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLG1EQUFVO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd1RpbWUuanM/ZmExMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJqZWN0LF9zY2hlZHVsZXJfYXN5bmMsX1N1YnNjcmliZXIsX3V0aWxfaXNOdW1lcmljLF91dGlsX2lzU2NoZWR1bGVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5pbXBvcnQgeyBhc3luYyB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBpc051bWVyaWMgfSBmcm9tICcuLi91dGlsL2lzTnVtZXJpYyc7XG5pbXBvcnQgeyBpc1NjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvaXNTY2hlZHVsZXInO1xuZXhwb3J0IGZ1bmN0aW9uIHdpbmRvd1RpbWUod2luZG93VGltZVNwYW4pIHtcbiAgICB2YXIgc2NoZWR1bGVyID0gYXN5bmM7XG4gICAgdmFyIHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWwgPSBudWxsO1xuICAgIHZhciBtYXhXaW5kb3dTaXplID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICAgIGlmIChpc1NjaGVkdWxlcihhcmd1bWVudHNbM10pKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IGFyZ3VtZW50c1szXTtcbiAgICB9XG4gICAgaWYgKGlzU2NoZWR1bGVyKGFyZ3VtZW50c1syXSkpIHtcbiAgICAgICAgc2NoZWR1bGVyID0gYXJndW1lbnRzWzJdO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc051bWVyaWMoYXJndW1lbnRzWzJdKSkge1xuICAgICAgICBtYXhXaW5kb3dTaXplID0gTnVtYmVyKGFyZ3VtZW50c1syXSk7XG4gICAgfVxuICAgIGlmIChpc1NjaGVkdWxlcihhcmd1bWVudHNbMV0pKSB7XG4gICAgICAgIHNjaGVkdWxlciA9IGFyZ3VtZW50c1sxXTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNOdW1lcmljKGFyZ3VtZW50c1sxXSkpIHtcbiAgICAgICAgd2luZG93Q3JlYXRpb25JbnRlcnZhbCA9IE51bWJlcihhcmd1bWVudHNbMV0pO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gd2luZG93VGltZU9wZXJhdG9yRnVuY3Rpb24oc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdChuZXcgV2luZG93VGltZU9wZXJhdG9yKHdpbmRvd1RpbWVTcGFuLCB3aW5kb3dDcmVhdGlvbkludGVydmFsLCBtYXhXaW5kb3dTaXplLCBzY2hlZHVsZXIpKTtcbiAgICB9O1xufVxudmFyIFdpbmRvd1RpbWVPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBXaW5kb3dUaW1lT3BlcmF0b3Iod2luZG93VGltZVNwYW4sIHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWwsIG1heFdpbmRvd1NpemUsIHNjaGVkdWxlcikge1xuICAgICAgICB0aGlzLndpbmRvd1RpbWVTcGFuID0gd2luZG93VGltZVNwYW47XG4gICAgICAgIHRoaXMud2luZG93Q3JlYXRpb25JbnRlcnZhbCA9IHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWw7XG4gICAgICAgIHRoaXMubWF4V2luZG93U2l6ZSA9IG1heFdpbmRvd1NpemU7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVyID0gc2NoZWR1bGVyO1xuICAgIH1cbiAgICBXaW5kb3dUaW1lT3BlcmF0b3IucHJvdG90eXBlLmNhbGwgPSBmdW5jdGlvbiAoc3Vic2NyaWJlciwgc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2Uuc3Vic2NyaWJlKG5ldyBXaW5kb3dUaW1lU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLndpbmRvd1RpbWVTcGFuLCB0aGlzLndpbmRvd0NyZWF0aW9uSW50ZXJ2YWwsIHRoaXMubWF4V2luZG93U2l6ZSwgdGhpcy5zY2hlZHVsZXIpKTtcbiAgICB9O1xuICAgIHJldHVybiBXaW5kb3dUaW1lT3BlcmF0b3I7XG59KCkpO1xudmFyIENvdW50ZWRTdWJqZWN0ID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKENvdW50ZWRTdWJqZWN0LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIENvdW50ZWRTdWJqZWN0KCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuX251bWJlck9mTmV4dGVkVmFsdWVzID0gMDtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBDb3VudGVkU3ViamVjdC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9udW1iZXJPZk5leHRlZFZhbHVlcysrO1xuICAgICAgICBfc3VwZXIucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgfTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ291bnRlZFN1YmplY3QucHJvdG90eXBlLCBcIm51bWJlck9mTmV4dGVkVmFsdWVzXCIsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyT2ZOZXh0ZWRWYWx1ZXM7XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICAgIHJldHVybiBDb3VudGVkU3ViamVjdDtcbn0oU3ViamVjdCkpO1xudmFyIFdpbmRvd1RpbWVTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFdpbmRvd1RpbWVTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFdpbmRvd1RpbWVTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCB3aW5kb3dUaW1lU3Bhbiwgd2luZG93Q3JlYXRpb25JbnRlcnZhbCwgbWF4V2luZG93U2l6ZSwgc2NoZWR1bGVyKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGRlc3RpbmF0aW9uKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICBfdGhpcy53aW5kb3dUaW1lU3BhbiA9IHdpbmRvd1RpbWVTcGFuO1xuICAgICAgICBfdGhpcy53aW5kb3dDcmVhdGlvbkludGVydmFsID0gd2luZG93Q3JlYXRpb25JbnRlcnZhbDtcbiAgICAgICAgX3RoaXMubWF4V2luZG93U2l6ZSA9IG1heFdpbmRvd1NpemU7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMud2luZG93cyA9IFtdO1xuICAgICAgICB2YXIgd2luZG93ID0gX3RoaXMub3BlbldpbmRvdygpO1xuICAgICAgICBpZiAod2luZG93Q3JlYXRpb25JbnRlcnZhbCAhPT0gbnVsbCAmJiB3aW5kb3dDcmVhdGlvbkludGVydmFsID49IDApIHtcbiAgICAgICAgICAgIHZhciBjbG9zZVN0YXRlID0geyBzdWJzY3JpYmVyOiBfdGhpcywgd2luZG93OiB3aW5kb3csIGNvbnRleHQ6IG51bGwgfTtcbiAgICAgICAgICAgIHZhciBjcmVhdGlvblN0YXRlID0geyB3aW5kb3dUaW1lU3Bhbjogd2luZG93VGltZVNwYW4sIHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWw6IHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWwsIHN1YnNjcmliZXI6IF90aGlzLCBzY2hlZHVsZXI6IHNjaGVkdWxlciB9O1xuICAgICAgICAgICAgX3RoaXMuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaFdpbmRvd0Nsb3NlLCB3aW5kb3dUaW1lU3BhbiwgY2xvc2VTdGF0ZSkpO1xuICAgICAgICAgICAgX3RoaXMuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaFdpbmRvd0NyZWF0aW9uLCB3aW5kb3dDcmVhdGlvbkludGVydmFsLCBjcmVhdGlvblN0YXRlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgdGltZVNwYW5Pbmx5U3RhdGUgPSB7IHN1YnNjcmliZXI6IF90aGlzLCB3aW5kb3c6IHdpbmRvdywgd2luZG93VGltZVNwYW46IHdpbmRvd1RpbWVTcGFuIH07XG4gICAgICAgICAgICBfdGhpcy5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGRpc3BhdGNoV2luZG93VGltZVNwYW5Pbmx5LCB3aW5kb3dUaW1lU3BhbiwgdGltZVNwYW5Pbmx5U3RhdGUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFdpbmRvd1RpbWVTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgd2luZG93cyA9IHRoaXMud2luZG93cztcbiAgICAgICAgdmFyIGxlbiA9IHdpbmRvd3MubGVuZ3RoO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgd2luZG93XzEgPSB3aW5kb3dzW2ldO1xuICAgICAgICAgICAgaWYgKCF3aW5kb3dfMS5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3dfMS5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAod2luZG93XzEubnVtYmVyT2ZOZXh0ZWRWYWx1ZXMgPj0gdGhpcy5tYXhXaW5kb3dTaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VXaW5kb3cod2luZG93XzEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgV2luZG93VGltZVN1YnNjcmliZXIucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdmFyIHdpbmRvd3MgPSB0aGlzLndpbmRvd3M7XG4gICAgICAgIHdoaWxlICh3aW5kb3dzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHdpbmRvd3Muc2hpZnQoKS5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICB9O1xuICAgIFdpbmRvd1RpbWVTdWJzY3JpYmVyLnByb3RvdHlwZS5fY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB3aW5kb3dzID0gdGhpcy53aW5kb3dzO1xuICAgICAgICB3aGlsZSAod2luZG93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgd2luZG93XzIgPSB3aW5kb3dzLnNoaWZ0KCk7XG4gICAgICAgICAgICBpZiAoIXdpbmRvd18yLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIHdpbmRvd18yLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH07XG4gICAgV2luZG93VGltZVN1YnNjcmliZXIucHJvdG90eXBlLm9wZW5XaW5kb3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB3aW5kb3cgPSBuZXcgQ291bnRlZFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy53aW5kb3dzLnB1c2god2luZG93KTtcbiAgICAgICAgdmFyIGRlc3RpbmF0aW9uID0gdGhpcy5kZXN0aW5hdGlvbjtcbiAgICAgICAgZGVzdGluYXRpb24ubmV4dCh3aW5kb3cpO1xuICAgICAgICByZXR1cm4gd2luZG93O1xuICAgIH07XG4gICAgV2luZG93VGltZVN1YnNjcmliZXIucHJvdG90eXBlLmNsb3NlV2luZG93ID0gZnVuY3Rpb24gKHdpbmRvdykge1xuICAgICAgICB3aW5kb3cuY29tcGxldGUoKTtcbiAgICAgICAgdmFyIHdpbmRvd3MgPSB0aGlzLndpbmRvd3M7XG4gICAgICAgIHdpbmRvd3Muc3BsaWNlKHdpbmRvd3MuaW5kZXhPZih3aW5kb3cpLCAxKTtcbiAgICB9O1xuICAgIHJldHVybiBXaW5kb3dUaW1lU3Vic2NyaWJlcjtcbn0oU3Vic2NyaWJlcikpO1xuZnVuY3Rpb24gZGlzcGF0Y2hXaW5kb3dUaW1lU3Bhbk9ubHkoc3RhdGUpIHtcbiAgICB2YXIgc3Vic2NyaWJlciA9IHN0YXRlLnN1YnNjcmliZXIsIHdpbmRvd1RpbWVTcGFuID0gc3RhdGUud2luZG93VGltZVNwYW4sIHdpbmRvdyA9IHN0YXRlLndpbmRvdztcbiAgICBpZiAod2luZG93KSB7XG4gICAgICAgIHN1YnNjcmliZXIuY2xvc2VXaW5kb3cod2luZG93KTtcbiAgICB9XG4gICAgc3RhdGUud2luZG93ID0gc3Vic2NyaWJlci5vcGVuV2luZG93KCk7XG4gICAgdGhpcy5zY2hlZHVsZShzdGF0ZSwgd2luZG93VGltZVNwYW4pO1xufVxuZnVuY3Rpb24gZGlzcGF0Y2hXaW5kb3dDcmVhdGlvbihzdGF0ZSkge1xuICAgIHZhciB3aW5kb3dUaW1lU3BhbiA9IHN0YXRlLndpbmRvd1RpbWVTcGFuLCBzdWJzY3JpYmVyID0gc3RhdGUuc3Vic2NyaWJlciwgc2NoZWR1bGVyID0gc3RhdGUuc2NoZWR1bGVyLCB3aW5kb3dDcmVhdGlvbkludGVydmFsID0gc3RhdGUud2luZG93Q3JlYXRpb25JbnRlcnZhbDtcbiAgICB2YXIgd2luZG93ID0gc3Vic2NyaWJlci5vcGVuV2luZG93KCk7XG4gICAgdmFyIGFjdGlvbiA9IHRoaXM7XG4gICAgdmFyIGNvbnRleHQgPSB7IGFjdGlvbjogYWN0aW9uLCBzdWJzY3JpcHRpb246IG51bGwgfTtcbiAgICB2YXIgdGltZVNwYW5TdGF0ZSA9IHsgc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgd2luZG93OiB3aW5kb3csIGNvbnRleHQ6IGNvbnRleHQgfTtcbiAgICBjb250ZXh0LnN1YnNjcmlwdGlvbiA9IHNjaGVkdWxlci5zY2hlZHVsZShkaXNwYXRjaFdpbmRvd0Nsb3NlLCB3aW5kb3dUaW1lU3BhbiwgdGltZVNwYW5TdGF0ZSk7XG4gICAgYWN0aW9uLmFkZChjb250ZXh0LnN1YnNjcmlwdGlvbik7XG4gICAgYWN0aW9uLnNjaGVkdWxlKHN0YXRlLCB3aW5kb3dDcmVhdGlvbkludGVydmFsKTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoV2luZG93Q2xvc2Uoc3RhdGUpIHtcbiAgICB2YXIgc3Vic2NyaWJlciA9IHN0YXRlLnN1YnNjcmliZXIsIHdpbmRvdyA9IHN0YXRlLndpbmRvdywgY29udGV4dCA9IHN0YXRlLmNvbnRleHQ7XG4gICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5hY3Rpb24gJiYgY29udGV4dC5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgY29udGV4dC5hY3Rpb24ucmVtb3ZlKGNvbnRleHQuc3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gICAgc3Vic2NyaWJlci5jbG9zZVdpbmRvdyh3aW5kb3cpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2luZG93VGltZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/windowTime.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/windowToggle.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/windowToggle.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ windowToggle: function() { return /* binding */ windowToggle; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_Subscription,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\n\n\n\n\n\nfunction windowToggle(openings, closingSelector) {\n return function (source) { return source.lift(new WindowToggleOperator(openings, closingSelector)); };\n}\nvar WindowToggleOperator = /*@__PURE__*/ (function () {\n function WindowToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n WindowToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return WindowToggleOperator;\n}());\nvar WindowToggleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(WindowToggleSubscriber, _super);\n function WindowToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.openings = openings;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(_this.openSubscription = (0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__.subscribeToResult)(_this, openings, openings));\n return _this;\n }\n WindowToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n if (contexts) {\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].window.next(value);\n }\n }\n };\n WindowToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_1 = contexts[index];\n context_1.window.error(err);\n context_1.subscription.unsubscribe();\n }\n }\n _super.prototype._error.call(this, err);\n };\n WindowToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_2 = contexts[index];\n context_2.window.complete();\n context_2.subscription.unsubscribe();\n }\n }\n _super.prototype._complete.call(this);\n };\n WindowToggleSubscriber.prototype._unsubscribe = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_3 = contexts[index];\n context_3.window.unsubscribe();\n context_3.subscription.unsubscribe();\n }\n }\n };\n WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (outerValue === this.openings) {\n var closingNotifier = void 0;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector(innerValue);\n }\n catch (e) {\n return this.error(e);\n }\n var window_1 = new _Subject__WEBPACK_IMPORTED_MODULE_2__.Subject();\n var subscription = new _Subscription__WEBPACK_IMPORTED_MODULE_3__.Subscription();\n var context_4 = { window: window_1, subscription: subscription };\n this.contexts.push(context_4);\n var innerSubscription = (0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__.subscribeToResult)(this, closingNotifier, context_4);\n if (innerSubscription.closed) {\n this.closeWindow(this.contexts.length - 1);\n }\n else {\n innerSubscription.context = context_4;\n subscription.add(innerSubscription);\n }\n this.destination.next(window_1);\n }\n else {\n this.closeWindow(this.contexts.indexOf(outerValue));\n }\n };\n WindowToggleSubscriber.prototype.notifyError = function (err) {\n this.error(err);\n };\n WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n if (inner !== this.openSubscription) {\n this.closeWindow(this.contexts.indexOf(inner.context));\n }\n };\n WindowToggleSubscriber.prototype.closeWindow = function (index) {\n if (index === -1) {\n return;\n }\n var contexts = this.contexts;\n var context = contexts[index];\n var window = context.window, subscription = context.subscription;\n contexts.splice(index, 1);\n window.complete();\n subscription.unsubscribe();\n };\n return WindowToggleSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_4__.OuterSubscriber));\n//# sourceMappingURL=windowToggle.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93VG9nZ2xlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ2lDO0FBQ0k7QUFDVTtBQUNNO0FBQ1M7QUFDdkQ7QUFDUCwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDLDBFQUFpQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsU0FBUztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw2Q0FBTztBQUN0QyxtQ0FBbUMsdURBQVk7QUFDL0MsOEJBQThCO0FBQzlCO0FBQ0Esb0NBQW9DLDBFQUFpQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsNkRBQWU7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd1RvZ2dsZS5qcz84MjkzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX1N1YmplY3QsX1N1YnNjcmlwdGlvbixfT3V0ZXJTdWJzY3JpYmVyLF91dGlsX3N1YnNjcmliZVRvUmVzdWx0IFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT3V0ZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vT3V0ZXJTdWJzY3JpYmVyJztcbmltcG9ydCB7IHN1YnNjcmliZVRvUmVzdWx0IH0gZnJvbSAnLi4vdXRpbC9zdWJzY3JpYmVUb1Jlc3VsdCc7XG5leHBvcnQgZnVuY3Rpb24gd2luZG93VG9nZ2xlKG9wZW5pbmdzLCBjbG9zaW5nU2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZSkgeyByZXR1cm4gc291cmNlLmxpZnQobmV3IFdpbmRvd1RvZ2dsZU9wZXJhdG9yKG9wZW5pbmdzLCBjbG9zaW5nU2VsZWN0b3IpKTsgfTtcbn1cbnZhciBXaW5kb3dUb2dnbGVPcGVyYXRvciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBXaW5kb3dUb2dnbGVPcGVyYXRvcihvcGVuaW5ncywgY2xvc2luZ1NlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMub3BlbmluZ3MgPSBvcGVuaW5ncztcbiAgICAgICAgdGhpcy5jbG9zaW5nU2VsZWN0b3IgPSBjbG9zaW5nU2VsZWN0b3I7XG4gICAgfVxuICAgIFdpbmRvd1RvZ2dsZU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgV2luZG93VG9nZ2xlU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB0aGlzLm9wZW5pbmdzLCB0aGlzLmNsb3NpbmdTZWxlY3RvcikpO1xuICAgIH07XG4gICAgcmV0dXJuIFdpbmRvd1RvZ2dsZU9wZXJhdG9yO1xufSgpKTtcbnZhciBXaW5kb3dUb2dnbGVTdWJzY3JpYmVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFdpbmRvd1RvZ2dsZVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gV2luZG93VG9nZ2xlU3Vic2NyaWJlcihkZXN0aW5hdGlvbiwgb3BlbmluZ3MsIGNsb3NpbmdTZWxlY3Rvcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMub3BlbmluZ3MgPSBvcGVuaW5ncztcbiAgICAgICAgX3RoaXMuY2xvc2luZ1NlbGVjdG9yID0gY2xvc2luZ1NlbGVjdG9yO1xuICAgICAgICBfdGhpcy5jb250ZXh0cyA9IFtdO1xuICAgICAgICBfdGhpcy5hZGQoX3RoaXMub3BlblN1YnNjcmlwdGlvbiA9IHN1YnNjcmliZVRvUmVzdWx0KF90aGlzLCBvcGVuaW5ncywgb3BlbmluZ3MpKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBXaW5kb3dUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgY29udGV4dHMgPSB0aGlzLmNvbnRleHRzO1xuICAgICAgICBpZiAoY29udGV4dHMpIHtcbiAgICAgICAgICAgIHZhciBsZW4gPSBjb250ZXh0cy5sZW5ndGg7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dHNbaV0ud2luZG93Lm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBXaW5kb3dUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5fZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7XG4gICAgICAgIHRoaXMuY29udGV4dHMgPSBudWxsO1xuICAgICAgICBpZiAoY29udGV4dHMpIHtcbiAgICAgICAgICAgIHZhciBsZW4gPSBjb250ZXh0cy5sZW5ndGg7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRleHRfMSA9IGNvbnRleHRzW2luZGV4XTtcbiAgICAgICAgICAgICAgICBjb250ZXh0XzEud2luZG93LmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY29udGV4dF8xLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUuX2Vycm9yLmNhbGwodGhpcywgZXJyKTtcbiAgICB9O1xuICAgIFdpbmRvd1RvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLl9jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9IG51bGw7XG4gICAgICAgIGlmIChjb250ZXh0cykge1xuICAgICAgICAgICAgdmFyIGxlbiA9IGNvbnRleHRzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IC0xO1xuICAgICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgICAgICB2YXIgY29udGV4dF8yID0gY29udGV4dHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnRleHRfMi53aW5kb3cuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0XzIuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5fY29tcGxldGUuY2FsbCh0aGlzKTtcbiAgICB9O1xuICAgIFdpbmRvd1RvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLl91bnN1YnNjcmliZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9IG51bGw7XG4gICAgICAgIGlmIChjb250ZXh0cykge1xuICAgICAgICAgICAgdmFyIGxlbiA9IGNvbnRleHRzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IC0xO1xuICAgICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgICAgICB2YXIgY29udGV4dF8zID0gY29udGV4dHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnRleHRfMy53aW5kb3cudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0XzMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFdpbmRvd1RvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAob3V0ZXJWYWx1ZSwgaW5uZXJWYWx1ZSwgb3V0ZXJJbmRleCwgaW5uZXJJbmRleCwgaW5uZXJTdWIpIHtcbiAgICAgICAgaWYgKG91dGVyVmFsdWUgPT09IHRoaXMub3BlbmluZ3MpIHtcbiAgICAgICAgICAgIHZhciBjbG9zaW5nTm90aWZpZXIgPSB2b2lkIDA7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBjbG9zaW5nU2VsZWN0b3IgPSB0aGlzLmNsb3NpbmdTZWxlY3RvcjtcbiAgICAgICAgICAgICAgICBjbG9zaW5nTm90aWZpZXIgPSBjbG9zaW5nU2VsZWN0b3IoaW5uZXJWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHdpbmRvd18xID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgICAgIHZhciBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB2YXIgY29udGV4dF80ID0geyB3aW5kb3c6IHdpbmRvd18xLCBzdWJzY3JpcHRpb246IHN1YnNjcmlwdGlvbiB9O1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0cy5wdXNoKGNvbnRleHRfNCk7XG4gICAgICAgICAgICB2YXIgaW5uZXJTdWJzY3JpcHRpb24gPSBzdWJzY3JpYmVUb1Jlc3VsdCh0aGlzLCBjbG9zaW5nTm90aWZpZXIsIGNvbnRleHRfNCk7XG4gICAgICAgICAgICBpZiAoaW5uZXJTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVdpbmRvdyh0aGlzLmNvbnRleHRzLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaW5uZXJTdWJzY3JpcHRpb24uY29udGV4dCA9IGNvbnRleHRfNDtcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uYWRkKGlubmVyU3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dCh3aW5kb3dfMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlV2luZG93KHRoaXMuY29udGV4dHMuaW5kZXhPZihvdXRlclZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFdpbmRvd1RvZ2dsZVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICAgICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgfTtcbiAgICBXaW5kb3dUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5ub3RpZnlDb21wbGV0ZSA9IGZ1bmN0aW9uIChpbm5lcikge1xuICAgICAgICBpZiAoaW5uZXIgIT09IHRoaXMub3BlblN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVdpbmRvdyh0aGlzLmNvbnRleHRzLmluZGV4T2YoaW5uZXIuY29udGV4dCkpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBXaW5kb3dUb2dnbGVTdWJzY3JpYmVyLnByb3RvdHlwZS5jbG9zZVdpbmRvdyA9IGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0cztcbiAgICAgICAgdmFyIGNvbnRleHQgPSBjb250ZXh0c1tpbmRleF07XG4gICAgICAgIHZhciB3aW5kb3cgPSBjb250ZXh0LndpbmRvdywgc3Vic2NyaXB0aW9uID0gY29udGV4dC5zdWJzY3JpcHRpb247XG4gICAgICAgIGNvbnRleHRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHdpbmRvdy5jb21wbGV0ZSgpO1xuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIHJldHVybiBXaW5kb3dUb2dnbGVTdWJzY3JpYmVyO1xufShPdXRlclN1YnNjcmliZXIpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpbmRvd1RvZ2dsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/windowToggle.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/windowWhen.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/windowWhen.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ windowWhen: function() { return /* binding */ windowWhen; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subject */ \"./node_modules/rxjs/_esm5/internal/Subject.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/** PURE_IMPORTS_START tslib,_Subject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\n\n\n\n\nfunction windowWhen(closingSelector) {\n return function windowWhenOperatorFunction(source) {\n return source.lift(new WindowOperator(closingSelector));\n };\n}\nvar WindowOperator = /*@__PURE__*/ (function () {\n function WindowOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(WindowSubscriber, _super);\n function WindowSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.closingSelector = closingSelector;\n _this.openWindow();\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function (_outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n if (this.closingNotification) {\n this.closingNotification.unsubscribe();\n }\n };\n WindowSubscriber.prototype.openWindow = function (innerSub) {\n if (innerSub === void 0) {\n innerSub = null;\n }\n if (innerSub) {\n this.remove(innerSub);\n innerSub.unsubscribe();\n }\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var window = this.window = new _Subject__WEBPACK_IMPORTED_MODULE_1__.Subject();\n this.destination.next(window);\n var closingNotifier;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector();\n }\n catch (e) {\n this.destination.error(e);\n this.window.error(e);\n return;\n }\n this.add(this.closingNotification = (0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__.subscribeToResult)(this, closingNotifier));\n };\n return WindowSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__.OuterSubscriber));\n//# sourceMappingURL=windowWhen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93V2hlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2lDO0FBQ0k7QUFDZ0I7QUFDUztBQUN2RDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLDZDQUFPO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsMEVBQWlCO0FBQzdEO0FBQ0E7QUFDQSxDQUFDLENBQUMsNkRBQWU7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd1doZW4uanM/NDdkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJqZWN0LF9PdXRlclN1YnNjcmliZXIsX3V0aWxfc3Vic2NyaWJlVG9SZXN1bHQgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuLi9TdWJqZWN0JztcbmltcG9ydCB7IE91dGVyU3Vic2NyaWJlciB9IGZyb20gJy4uL091dGVyU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBzdWJzY3JpYmVUb1Jlc3VsdCB9IGZyb20gJy4uL3V0aWwvc3Vic2NyaWJlVG9SZXN1bHQnO1xuZXhwb3J0IGZ1bmN0aW9uIHdpbmRvd1doZW4oY2xvc2luZ1NlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdpbmRvd1doZW5PcGVyYXRvckZ1bmN0aW9uKHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLmxpZnQobmV3IFdpbmRvd09wZXJhdG9yKGNsb3NpbmdTZWxlY3RvcikpO1xuICAgIH07XG59XG52YXIgV2luZG93T3BlcmF0b3IgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gV2luZG93T3BlcmF0b3IoY2xvc2luZ1NlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMuY2xvc2luZ1NlbGVjdG9yID0gY2xvc2luZ1NlbGVjdG9yO1xuICAgIH1cbiAgICBXaW5kb3dPcGVyYXRvci5wcm90b3R5cGUuY2FsbCA9IGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFdpbmRvd1N1YnNjcmliZXIoc3Vic2NyaWJlciwgdGhpcy5jbG9zaW5nU2VsZWN0b3IpKTtcbiAgICB9O1xuICAgIHJldHVybiBXaW5kb3dPcGVyYXRvcjtcbn0oKSk7XG52YXIgV2luZG93U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhXaW5kb3dTdWJzY3JpYmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFdpbmRvd1N1YnNjcmliZXIoZGVzdGluYXRpb24sIGNsb3NpbmdTZWxlY3Rvcikge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgX3RoaXMuY2xvc2luZ1NlbGVjdG9yID0gY2xvc2luZ1NlbGVjdG9yO1xuICAgICAgICBfdGhpcy5vcGVuV2luZG93KCk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgV2luZG93U3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5TmV4dCA9IGZ1bmN0aW9uIChfb3V0ZXJWYWx1ZSwgX2lubmVyVmFsdWUsIF9vdXRlckluZGV4LCBfaW5uZXJJbmRleCwgaW5uZXJTdWIpIHtcbiAgICAgICAgdGhpcy5vcGVuV2luZG93KGlubmVyU3ViKTtcbiAgICB9O1xuICAgIFdpbmRvd1N1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUVycm9yID0gZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIHRoaXMuX2Vycm9yKGVycm9yKTtcbiAgICB9O1xuICAgIFdpbmRvd1N1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeUNvbXBsZXRlID0gZnVuY3Rpb24gKGlubmVyU3ViKSB7XG4gICAgICAgIHRoaXMub3BlbldpbmRvdyhpbm5lclN1Yik7XG4gICAgfTtcbiAgICBXaW5kb3dTdWJzY3JpYmVyLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLndpbmRvdy5uZXh0KHZhbHVlKTtcbiAgICB9O1xuICAgIFdpbmRvd1N1YnNjcmliZXIucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdGhpcy53aW5kb3cuZXJyb3IoZXJyKTtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQ2xvc2luZ05vdGlmaWNhdGlvbigpO1xuICAgIH07XG4gICAgV2luZG93U3Vic2NyaWJlci5wcm90b3R5cGUuX2NvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLndpbmRvdy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVDbG9zaW5nTm90aWZpY2F0aW9uKCk7XG4gICAgfTtcbiAgICBXaW5kb3dTdWJzY3JpYmVyLnByb3RvdHlwZS51bnN1YnNjcmliZUNsb3NpbmdOb3RpZmljYXRpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NpbmdOb3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2luZ05vdGlmaWNhdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBXaW5kb3dTdWJzY3JpYmVyLnByb3RvdHlwZS5vcGVuV2luZG93ID0gZnVuY3Rpb24gKGlubmVyU3ViKSB7XG4gICAgICAgIGlmIChpbm5lclN1YiA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBpbm5lclN1YiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubmVyU3ViKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZShpbm5lclN1Yik7XG4gICAgICAgICAgICBpbm5lclN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwcmV2V2luZG93ID0gdGhpcy53aW5kb3c7XG4gICAgICAgIGlmIChwcmV2V2luZG93KSB7XG4gICAgICAgICAgICBwcmV2V2luZG93LmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHdpbmRvdyA9IHRoaXMud2luZG93ID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHdpbmRvdyk7XG4gICAgICAgIHZhciBjbG9zaW5nTm90aWZpZXI7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgY2xvc2luZ1NlbGVjdG9yID0gdGhpcy5jbG9zaW5nU2VsZWN0b3I7XG4gICAgICAgICAgICBjbG9zaW5nTm90aWZpZXIgPSBjbG9zaW5nU2VsZWN0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlKTtcbiAgICAgICAgICAgIHRoaXMud2luZG93LmVycm9yKGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWRkKHRoaXMuY2xvc2luZ05vdGlmaWNhdGlvbiA9IHN1YnNjcmliZVRvUmVzdWx0KHRoaXMsIGNsb3NpbmdOb3RpZmllcikpO1xuICAgIH07XG4gICAgcmV0dXJuIFdpbmRvd1N1YnNjcmliZXI7XG59KE91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2luZG93V2hlbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/windowWhen.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ withLatestFrom: function() { return /* binding */ withLatestFrom; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../OuterSubscriber */ \"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js\");\n/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/subscribeToResult */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\");\n/** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\n\n\n\nfunction withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nvar WithLatestFromOperator = /*@__PURE__*/ (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\nvar WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n var _this = _super.call(this, destination) || this;\n _this.observables = observables;\n _this.project = project;\n _this.toRespond = [];\n var len = observables.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n _this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n _this.add((0,_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__.subscribeToResult)(_this, observable, undefined, i));\n }\n return _this;\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(_OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__.OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvd2l0aExhdGVzdEZyb20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ2lDO0FBQ29CO0FBQ1M7QUFDdkQ7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFNBQVM7QUFDakM7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0Esc0JBQXNCLDBFQUFpQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLDZEQUFlO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL29wZXJhdG9ycy93aXRoTGF0ZXN0RnJvbS5qcz80Mjc4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX091dGVyU3Vic2NyaWJlcixfdXRpbF9zdWJzY3JpYmVUb1Jlc3VsdCBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgT3V0ZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vT3V0ZXJTdWJzY3JpYmVyJztcbmltcG9ydCB7IHN1YnNjcmliZVRvUmVzdWx0IH0gZnJvbSAnLi4vdXRpbC9zdWJzY3JpYmVUb1Jlc3VsdCc7XG5leHBvcnQgZnVuY3Rpb24gd2l0aExhdGVzdEZyb20oKSB7XG4gICAgdmFyIGFyZ3MgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBhcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICAgIHZhciBwcm9qZWN0O1xuICAgICAgICBpZiAodHlwZW9mIGFyZ3NbYXJncy5sZW5ndGggLSAxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcHJvamVjdCA9IGFyZ3MucG9wKCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9ic2VydmFibGVzID0gYXJncztcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBXaXRoTGF0ZXN0RnJvbU9wZXJhdG9yKG9ic2VydmFibGVzLCBwcm9qZWN0KSk7XG4gICAgfTtcbn1cbnZhciBXaXRoTGF0ZXN0RnJvbU9wZXJhdG9yID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFdpdGhMYXRlc3RGcm9tT3BlcmF0b3Iob2JzZXJ2YWJsZXMsIHByb2plY3QpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlcyA9IG9ic2VydmFibGVzO1xuICAgICAgICB0aGlzLnByb2plY3QgPSBwcm9qZWN0O1xuICAgIH1cbiAgICBXaXRoTGF0ZXN0RnJvbU9wZXJhdG9yLnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24gKHN1YnNjcmliZXIsIHNvdXJjZSkge1xuICAgICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShuZXcgV2l0aExhdGVzdEZyb21TdWJzY3JpYmVyKHN1YnNjcmliZXIsIHRoaXMub2JzZXJ2YWJsZXMsIHRoaXMucHJvamVjdCkpO1xuICAgIH07XG4gICAgcmV0dXJuIFdpdGhMYXRlc3RGcm9tT3BlcmF0b3I7XG59KCkpO1xudmFyIFdpdGhMYXRlc3RGcm9tU3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhXaXRoTGF0ZXN0RnJvbVN1YnNjcmliZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gV2l0aExhdGVzdEZyb21TdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBvYnNlcnZhYmxlcywgcHJvamVjdCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBkZXN0aW5hdGlvbikgfHwgdGhpcztcbiAgICAgICAgX3RoaXMub2JzZXJ2YWJsZXMgPSBvYnNlcnZhYmxlcztcbiAgICAgICAgX3RoaXMucHJvamVjdCA9IHByb2plY3Q7XG4gICAgICAgIF90aGlzLnRvUmVzcG9uZCA9IFtdO1xuICAgICAgICB2YXIgbGVuID0gb2JzZXJ2YWJsZXMubGVuZ3RoO1xuICAgICAgICBfdGhpcy52YWx1ZXMgPSBuZXcgQXJyYXkobGVuKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgX3RoaXMudG9SZXNwb25kLnB1c2goaSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgdmFyIG9ic2VydmFibGUgPSBvYnNlcnZhYmxlc1tpXTtcbiAgICAgICAgICAgIF90aGlzLmFkZChzdWJzY3JpYmVUb1Jlc3VsdChfdGhpcywgb2JzZXJ2YWJsZSwgdW5kZWZpbmVkLCBpKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBXaXRoTGF0ZXN0RnJvbVN1YnNjcmliZXIucHJvdG90eXBlLm5vdGlmeU5leHQgPSBmdW5jdGlvbiAoX291dGVyVmFsdWUsIGlubmVyVmFsdWUsIG91dGVySW5kZXgpIHtcbiAgICAgICAgdGhpcy52YWx1ZXNbb3V0ZXJJbmRleF0gPSBpbm5lclZhbHVlO1xuICAgICAgICB2YXIgdG9SZXNwb25kID0gdGhpcy50b1Jlc3BvbmQ7XG4gICAgICAgIGlmICh0b1Jlc3BvbmQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdmFyIGZvdW5kID0gdG9SZXNwb25kLmluZGV4T2Yob3V0ZXJJbmRleCk7XG4gICAgICAgICAgICBpZiAoZm91bmQgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdG9SZXNwb25kLnNwbGljZShmb3VuZCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFdpdGhMYXRlc3RGcm9tU3Vic2NyaWJlci5wcm90b3R5cGUubm90aWZ5Q29tcGxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgfTtcbiAgICBXaXRoTGF0ZXN0RnJvbVN1YnNjcmliZXIucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLnRvUmVzcG9uZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHZhciBhcmdzID0gW3ZhbHVlXS5jb25jYXQodGhpcy52YWx1ZXMpO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvamVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyeVByb2plY3QoYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQoYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFdpdGhMYXRlc3RGcm9tU3Vic2NyaWJlci5wcm90b3R5cGUuX3RyeVByb2plY3QgPSBmdW5jdGlvbiAoYXJncykge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5wcm9qZWN0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLm5leHQocmVzdWx0KTtcbiAgICB9O1xuICAgIHJldHVybiBXaXRoTGF0ZXN0RnJvbVN1YnNjcmliZXI7XG59KE91dGVyU3Vic2NyaWJlcikpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2l0aExhdGVzdEZyb20uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/zip.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/zip.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ zip: function() { return /* binding */ zip; }\n/* harmony export */ });\n/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/zip */ \"./node_modules/rxjs/_esm5/internal/observable/zip.js\");\n/** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */\n\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(_observable_zip__WEBPACK_IMPORTED_MODULE_0__.zip.apply(void 0, [source].concat(observables)));\n };\n}\n//# sourceMappingURL=zip.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvemlwLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDcUQ7QUFDOUM7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGdEQUFTO0FBQ3pDO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvemlwLmpzP2M2NmUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfb2JzZXJ2YWJsZV96aXAgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgemlwIGFzIHppcFN0YXRpYyB9IGZyb20gJy4uL29ic2VydmFibGUvemlwJztcbmV4cG9ydCBmdW5jdGlvbiB6aXAoKSB7XG4gICAgdmFyIG9ic2VydmFibGVzID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgb2JzZXJ2YWJsZXNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHppcE9wZXJhdG9yRnVuY3Rpb24oc291cmNlKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2UubGlmdC5jYWxsKHppcFN0YXRpYy5hcHBseSh2b2lkIDAsIFtzb3VyY2VdLmNvbmNhdChvYnNlcnZhYmxlcykpKTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9emlwLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/zip.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/operators/zipAll.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/operators/zipAll.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ zipAll: function() { return /* binding */ zipAll; }\n/* harmony export */ });\n/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observable/zip */ \"./node_modules/rxjs/_esm5/internal/observable/zip.js\");\n/** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */\n\nfunction zipAll(project) {\n return function (source) { return source.lift(new _observable_zip__WEBPACK_IMPORTED_MODULE_0__.ZipOperator(project)); };\n}\n//# sourceMappingURL=zipAll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9vcGVyYXRvcnMvemlwQWxsLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDZ0Q7QUFDekM7QUFDUCwrQkFBK0IsdUJBQXVCLHdEQUFXO0FBQ2pFO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvb3BlcmF0b3JzL3ppcEFsbC5qcz8wOTkxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX29ic2VydmFibGVfemlwIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IFppcE9wZXJhdG9yIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS96aXAnO1xuZXhwb3J0IGZ1bmN0aW9uIHppcEFsbChwcm9qZWN0KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzb3VyY2UpIHsgcmV0dXJuIHNvdXJjZS5saWZ0KG5ldyBaaXBPcGVyYXRvcihwcm9qZWN0KSk7IH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD16aXBBbGwuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/operators/zipAll.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scheduleArray: function() { return /* binding */ scheduleArray; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\n\n\nfunction scheduleArray(input, scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var sub = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleArray.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVBcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUMyQztBQUNJO0FBQ3hDO0FBQ1AsZUFBZSxtREFBVTtBQUN6QixzQkFBc0IsdURBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVBcnJheS5qcz83NTUwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX09ic2VydmFibGUsX1N1YnNjcmlwdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVkdWxlQXJyYXkoaW5wdXQsIHNjaGVkdWxlcikge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICB2YXIgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB2YXIgaSA9IDA7XG4gICAgICAgIHN1Yi5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChpID09PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGlucHV0W2krK10pO1xuICAgICAgICAgICAgaWYgKCFzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIHN1Yi5hZGQodGhpcy5zY2hlZHVsZSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gc3ViO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2NoZWR1bGVBcnJheS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js": -/*!************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scheduleIterable: function() { return /* binding */ scheduleIterable; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../symbol/iterator */ \"./node_modules/rxjs/_esm5/internal/symbol/iterator.js\");\n/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\n\n\n\nfunction scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var sub = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[_symbol_iterator__WEBPACK_IMPORTED_MODULE_2__.iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVJdGVyYWJsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDMkM7QUFDSTtBQUNrQjtBQUMxRDtBQUNQO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbURBQVU7QUFDekIsc0JBQXNCLHVEQUFZO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSw2QkFBNkIsc0RBQWU7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvc2NoZWR1bGVkL3NjaGVkdWxlSXRlcmFibGUuanM/NGRhNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlLF9TdWJzY3JpcHRpb24sX3N5bWJvbF9pdGVyYXRvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgaXRlcmF0b3IgYXMgU3ltYm9sX2l0ZXJhdG9yIH0gZnJvbSAnLi4vc3ltYm9sL2l0ZXJhdG9yJztcbmV4cG9ydCBmdW5jdGlvbiBzY2hlZHVsZUl0ZXJhYmxlKGlucHV0LCBzY2hlZHVsZXIpIHtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSXRlcmFibGUgY2Fubm90IGJlIG51bGwnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHZhciBpdGVyYXRvcjtcbiAgICAgICAgc3ViLmFkZChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoaXRlcmF0b3IgJiYgdHlwZW9mIGl0ZXJhdG9yLnJldHVybiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yLnJldHVybigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc3ViLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaXRlcmF0b3IgPSBpbnB1dFtTeW1ib2xfaXRlcmF0b3JdKCk7XG4gICAgICAgICAgICBzdWIuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlO1xuICAgICAgICAgICAgICAgIHZhciBkb25lO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gcmVzdWx0LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBkb25lID0gcmVzdWx0LmRvbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChkb25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIHN1YjtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNjaGVkdWxlSXRlcmFibGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js": -/*!**************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scheduleObservable: function() { return /* binding */ scheduleObservable; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../symbol/observable */ \"./node_modules/rxjs/_esm5/internal/symbol/observable.js\");\n/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\n\n\n\nfunction scheduleObservable(input, scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var sub = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[_symbol_observable__WEBPACK_IMPORTED_MODULE_2__.observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVPYnNlcnZhYmxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUMyQztBQUNJO0FBQ3dCO0FBQ2hFO0FBQ1AsZUFBZSxtREFBVTtBQUN6QixzQkFBc0IsdURBQVk7QUFDbEM7QUFDQSxtQ0FBbUMsMERBQWlCO0FBQ3BEO0FBQ0EseUNBQXlDLHlDQUF5QyxnQ0FBZ0MsS0FBSztBQUN2SCx3Q0FBd0MseUNBQXlDLCtCQUErQixLQUFLO0FBQ3JILHdDQUF3Qyx5Q0FBeUMsK0JBQStCLEtBQUs7QUFDckgsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlZC9zY2hlZHVsZU9ic2VydmFibGUuanM/NmQwYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlLF9TdWJzY3JpcHRpb24sX3N5bWJvbF9vYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBvYnNlcnZhYmxlIGFzIFN5bWJvbF9vYnNlcnZhYmxlIH0gZnJvbSAnLi4vc3ltYm9sL29ic2VydmFibGUnO1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVkdWxlT2JzZXJ2YWJsZShpbnB1dCwgc2NoZWR1bGVyKSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHN1Yi5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBvYnNlcnZhYmxlID0gaW5wdXRbU3ltYm9sX29ic2VydmFibGVdKCk7XG4gICAgICAgICAgICBzdWIuYWRkKG9ic2VydmFibGUuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiBmdW5jdGlvbiAodmFsdWUpIHsgc3ViLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoZnVuY3Rpb24gKCkgeyByZXR1cm4gc3Vic2NyaWJlci5uZXh0KHZhbHVlKTsgfSkpOyB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoZXJyKSB7IHN1Yi5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHN1YnNjcmliZXIuZXJyb3IoZXJyKTsgfSkpOyB9LFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiAoKSB7IHN1Yi5hZGQoc2NoZWR1bGVyLnNjaGVkdWxlKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHN1YnNjcmliZXIuY29tcGxldGUoKTsgfSkpOyB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBzdWI7XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zY2hlZHVsZU9ic2VydmFibGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js": -/*!***********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ schedulePromise: function() { return /* binding */ schedulePromise; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\n\n\nfunction schedulePromise(input, scheduler) {\n return new _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable(function (subscriber) {\n var sub = new _Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription();\n sub.add(scheduler.schedule(function () {\n return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n });\n }));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVQcm9taXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQzJDO0FBQ0k7QUFDeEM7QUFDUCxlQUFlLG1EQUFVO0FBQ3pCLHNCQUFzQix1REFBWTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCwrQkFBK0I7QUFDNUYsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYix5REFBeUQsK0JBQStCO0FBQ3hGLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVQcm9taXNlLmpzPzc5ZmEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfT2JzZXJ2YWJsZSxfU3Vic2NyaXB0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5leHBvcnQgZnVuY3Rpb24gc2NoZWR1bGVQcm9taXNlKGlucHV0LCBzY2hlZHVsZXIpIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgc3ViLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGlucHV0LnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc3ViLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBzdWIuYWRkKHNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbiAoKSB7IHJldHVybiBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7IH0pKTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9LCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgc3ViLmFkZChzY2hlZHVsZXIuc2NoZWR1bGUoZnVuY3Rpb24gKCkgeyByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlcnIpOyB9KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gc3ViO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2NoZWR1bGVQcm9taXNlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scheduled: function() { return /* binding */ scheduled; }\n/* harmony export */ });\n/* harmony import */ var _scheduleObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scheduleObservable */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js\");\n/* harmony import */ var _schedulePromise__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schedulePromise */ \"./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js\");\n/* harmony import */ var _scheduleArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./scheduleArray */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js\");\n/* harmony import */ var _scheduleIterable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./scheduleIterable */ \"./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js\");\n/* harmony import */ var _util_isInteropObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/isInteropObservable */ \"./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js\");\n/* harmony import */ var _util_isPromise__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/isPromise */ \"./node_modules/rxjs/_esm5/internal/util/isPromise.js\");\n/* harmony import */ var _util_isArrayLike__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/isArrayLike */ \"./node_modules/rxjs/_esm5/internal/util/isArrayLike.js\");\n/* harmony import */ var _util_isIterable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/isIterable */ \"./node_modules/rxjs/_esm5/internal/util/isIterable.js\");\n/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\n\n\n\n\n\n\n\n\nfunction scheduled(input, scheduler) {\n if (input != null) {\n if ((0,_util_isInteropObservable__WEBPACK_IMPORTED_MODULE_0__.isInteropObservable)(input)) {\n return (0,_scheduleObservable__WEBPACK_IMPORTED_MODULE_1__.scheduleObservable)(input, scheduler);\n }\n else if ((0,_util_isPromise__WEBPACK_IMPORTED_MODULE_2__.isPromise)(input)) {\n return (0,_schedulePromise__WEBPACK_IMPORTED_MODULE_3__.schedulePromise)(input, scheduler);\n }\n else if ((0,_util_isArrayLike__WEBPACK_IMPORTED_MODULE_4__.isArrayLike)(input)) {\n return (0,_scheduleArray__WEBPACK_IMPORTED_MODULE_5__.scheduleArray)(input, scheduler);\n }\n else if ((0,_util_isIterable__WEBPACK_IMPORTED_MODULE_6__.isIterable)(input) || typeof input === 'string') {\n return (0,_scheduleIterable__WEBPACK_IMPORTED_MODULE_7__.scheduleIterable)(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBO0FBQzBEO0FBQ047QUFDSjtBQUNNO0FBQ1k7QUFDcEI7QUFDSTtBQUNGO0FBQ3pDO0FBQ1A7QUFDQSxZQUFZLDhFQUFtQjtBQUMvQixtQkFBbUIsdUVBQWtCO0FBQ3JDO0FBQ0EsaUJBQWlCLDBEQUFTO0FBQzFCLG1CQUFtQixpRUFBZTtBQUNsQztBQUNBLGlCQUFpQiw4REFBVztBQUM1QixtQkFBbUIsNkRBQWE7QUFDaEM7QUFDQSxpQkFBaUIsNERBQVU7QUFDM0IsbUJBQW1CLG1FQUFnQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlZC9zY2hlZHVsZWQuanM/MDllZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9zY2hlZHVsZU9ic2VydmFibGUsX3NjaGVkdWxlUHJvbWlzZSxfc2NoZWR1bGVBcnJheSxfc2NoZWR1bGVJdGVyYWJsZSxfdXRpbF9pc0ludGVyb3BPYnNlcnZhYmxlLF91dGlsX2lzUHJvbWlzZSxfdXRpbF9pc0FycmF5TGlrZSxfdXRpbF9pc0l0ZXJhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IHNjaGVkdWxlT2JzZXJ2YWJsZSB9IGZyb20gJy4vc2NoZWR1bGVPYnNlcnZhYmxlJztcbmltcG9ydCB7IHNjaGVkdWxlUHJvbWlzZSB9IGZyb20gJy4vc2NoZWR1bGVQcm9taXNlJztcbmltcG9ydCB7IHNjaGVkdWxlQXJyYXkgfSBmcm9tICcuL3NjaGVkdWxlQXJyYXknO1xuaW1wb3J0IHsgc2NoZWR1bGVJdGVyYWJsZSB9IGZyb20gJy4vc2NoZWR1bGVJdGVyYWJsZSc7XG5pbXBvcnQgeyBpc0ludGVyb3BPYnNlcnZhYmxlIH0gZnJvbSAnLi4vdXRpbC9pc0ludGVyb3BPYnNlcnZhYmxlJztcbmltcG9ydCB7IGlzUHJvbWlzZSB9IGZyb20gJy4uL3V0aWwvaXNQcm9taXNlJztcbmltcG9ydCB7IGlzQXJyYXlMaWtlIH0gZnJvbSAnLi4vdXRpbC9pc0FycmF5TGlrZSc7XG5pbXBvcnQgeyBpc0l0ZXJhYmxlIH0gZnJvbSAnLi4vdXRpbC9pc0l0ZXJhYmxlJztcbmV4cG9ydCBmdW5jdGlvbiBzY2hlZHVsZWQoaW5wdXQsIHNjaGVkdWxlcikge1xuICAgIGlmIChpbnB1dCAhPSBudWxsKSB7XG4gICAgICAgIGlmIChpc0ludGVyb3BPYnNlcnZhYmxlKGlucHV0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHNjaGVkdWxlT2JzZXJ2YWJsZShpbnB1dCwgc2NoZWR1bGVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1Byb21pc2UoaW5wdXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gc2NoZWR1bGVQcm9taXNlKGlucHV0LCBzY2hlZHVsZXIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzQXJyYXlMaWtlKGlucHV0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHNjaGVkdWxlQXJyYXkoaW5wdXQsIHNjaGVkdWxlcik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNJdGVyYWJsZShpbnB1dCkgfHwgdHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHNjaGVkdWxlSXRlcmFibGUoaW5wdXQsIHNjaGVkdWxlcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcigoaW5wdXQgIT09IG51bGwgJiYgdHlwZW9mIGlucHV0IHx8IGlucHV0KSArICcgaXMgbm90IG9ic2VydmFibGUnKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNjaGVkdWxlZC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/Action.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/Action.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Action: function() { return /* binding */ Action; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Subscription */ \"./node_modules/rxjs/_esm5/internal/Subscription.js\");\n/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\n\n\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(_Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription));\n\n//# sourceMappingURL=Action.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ2lDO0FBQ2M7QUFDL0M7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyx1REFBWTtBQUNJO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9BY3Rpb24uanM/YmNhNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TdWJzY3JpcHRpb24gUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG52YXIgQWN0aW9uID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEFjdGlvbiwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBY3Rpb24oc2NoZWR1bGVyLCB3b3JrKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgIH1cbiAgICBBY3Rpb24ucHJvdG90eXBlLnNjaGVkdWxlID0gZnVuY3Rpb24gKHN0YXRlLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgcmV0dXJuIEFjdGlvbjtcbn0oU3Vic2NyaXB0aW9uKSk7XG5leHBvcnQgeyBBY3Rpb24gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFjdGlvbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/Action.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js": -/*!****************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationFrameAction: function() { return /* binding */ AnimationFrameAction; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js\");\n/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\n\n\nvar AnimationFrameAction = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(_AsyncAction__WEBPACK_IMPORTED_MODULE_1__.AsyncAction));\n\n//# sourceMappingURL=AnimationFrameAction.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQW5pbWF0aW9uRnJhbWVBY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVztBQUM1QztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsK0JBQStCO0FBQ2hJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxxREFBVztBQUNtQjtBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQW5pbWF0aW9uRnJhbWVBY3Rpb24uanM/YjNkNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9Bc3luY0FjdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQXN5bmNBY3Rpb24gfSBmcm9tICcuL0FzeW5jQWN0aW9uJztcbnZhciBBbmltYXRpb25GcmFtZUFjdGlvbiA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhBbmltYXRpb25GcmFtZUFjdGlvbiwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBbmltYXRpb25GcmFtZUFjdGlvbihzY2hlZHVsZXIsIHdvcmspIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgc2NoZWR1bGVyLCB3b3JrKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIF90aGlzLndvcmsgPSB3b3JrO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEFuaW1hdGlvbkZyYW1lQWN0aW9uLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZCA9IGZ1bmN0aW9uIChzY2hlZHVsZXIsIGlkLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWxheSAhPT0gbnVsbCAmJiBkZWxheSA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcywgc2NoZWR1bGVyLCBpZCwgZGVsYXkpO1xuICAgICAgICB9XG4gICAgICAgIHNjaGVkdWxlci5hY3Rpb25zLnB1c2godGhpcyk7XG4gICAgICAgIHJldHVybiBzY2hlZHVsZXIuc2NoZWR1bGVkIHx8IChzY2hlZHVsZXIuc2NoZWR1bGVkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNjaGVkdWxlci5mbHVzaChudWxsKTsgfSkpO1xuICAgIH07XG4gICAgQW5pbWF0aW9uRnJhbWVBY3Rpb24ucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkID0gZnVuY3Rpb24gKHNjaGVkdWxlciwgaWQsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKChkZWxheSAhPT0gbnVsbCAmJiBkZWxheSA+IDApIHx8IChkZWxheSA9PT0gbnVsbCAmJiB0aGlzLmRlbGF5ID4gMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcywgc2NoZWR1bGVyLCBpZCwgZGVsYXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzY2hlZHVsZXIuYWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkKTtcbiAgICAgICAgICAgIHNjaGVkdWxlci5zY2hlZHVsZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9O1xuICAgIHJldHVybiBBbmltYXRpb25GcmFtZUFjdGlvbjtcbn0oQXN5bmNBY3Rpb24pKTtcbmV4cG9ydCB7IEFuaW1hdGlvbkZyYW1lQWN0aW9uIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1BbmltYXRpb25GcmFtZUFjdGlvbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationFrameScheduler: function() { return /* binding */ AnimationFrameScheduler; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js\");\n/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\n\n\nvar AnimationFrameScheduler = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(_AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__.AsyncScheduler));\n\n//# sourceMappingURL=AnimationFrameScheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDaUI7QUFDbEQ7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLDJEQUFjO0FBQ21CO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9BbmltYXRpb25GcmFtZVNjaGVkdWxlci5qcz8wMGUxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX0FzeW5jU2NoZWR1bGVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJy4vQXN5bmNTY2hlZHVsZXInO1xudmFyIEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLnByb3RvdHlwZS5mbHVzaCA9IGZ1bmN0aW9uIChhY3Rpb24pIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0aGlzLnNjaGVkdWxlZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdmFyIGFjdGlvbnMgPSB0aGlzLmFjdGlvbnM7XG4gICAgICAgIHZhciBlcnJvcjtcbiAgICAgICAgdmFyIGluZGV4ID0gLTE7XG4gICAgICAgIHZhciBjb3VudCA9IGFjdGlvbnMubGVuZ3RoO1xuICAgICAgICBhY3Rpb24gPSBhY3Rpb24gfHwgYWN0aW9ucy5zaGlmdCgpO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBpZiAoZXJyb3IgPSBhY3Rpb24uZXhlY3V0ZShhY3Rpb24uc3RhdGUsIGFjdGlvbi5kZWxheSkpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSB3aGlsZSAoKytpbmRleCA8IGNvdW50ICYmIChhY3Rpb24gPSBhY3Rpb25zLnNoaWZ0KCkpKTtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGNvdW50ICYmIChhY3Rpb24gPSBhY3Rpb25zLnNoaWZ0KCkpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyO1xufShBc3luY1NjaGVkdWxlcikpO1xuZXhwb3J0IHsgQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AsapAction: function() { return /* binding */ AsapAction; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _util_Immediate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/Immediate */ \"./node_modules/rxjs/_esm5/internal/util/Immediate.js\");\n/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AsyncAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js\");\n/** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */\n\n\n\nvar AsapAction = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = _util_Immediate__WEBPACK_IMPORTED_MODULE_1__.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n _util_Immediate__WEBPACK_IMPORTED_MODULE_1__.Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(_AsyncAction__WEBPACK_IMPORTED_MODULE_2__.AsyncAction));\n\n//# sourceMappingURL=AsapAction.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXNhcEFjdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDaUM7QUFDYTtBQUNGO0FBQzVDO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxzREFBUztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHNEQUFTO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMscURBQVc7QUFDUztBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXNhcEFjdGlvbi5qcz9lY2Q1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX3V0aWxfSW1tZWRpYXRlLF9Bc3luY0FjdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgSW1tZWRpYXRlIH0gZnJvbSAnLi4vdXRpbC9JbW1lZGlhdGUnO1xuaW1wb3J0IHsgQXN5bmNBY3Rpb24gfSBmcm9tICcuL0FzeW5jQWN0aW9uJztcbnZhciBBc2FwQWN0aW9uID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEFzYXBBY3Rpb24sIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQXNhcEFjdGlvbihzY2hlZHVsZXIsIHdvcmspIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgc2NoZWR1bGVyLCB3b3JrKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zY2hlZHVsZXIgPSBzY2hlZHVsZXI7XG4gICAgICAgIF90aGlzLndvcmsgPSB3b3JrO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEFzYXBBY3Rpb24ucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkID0gZnVuY3Rpb24gKHNjaGVkdWxlciwgaWQsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlbGF5ICE9PSBudWxsICYmIGRlbGF5ID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIF9zdXBlci5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLCBzY2hlZHVsZXIsIGlkLCBkZWxheSk7XG4gICAgICAgIH1cbiAgICAgICAgc2NoZWR1bGVyLmFjdGlvbnMucHVzaCh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZWQgfHwgKHNjaGVkdWxlci5zY2hlZHVsZWQgPSBJbW1lZGlhdGUuc2V0SW1tZWRpYXRlKHNjaGVkdWxlci5mbHVzaC5iaW5kKHNjaGVkdWxlciwgbnVsbCkpKTtcbiAgICB9O1xuICAgIEFzYXBBY3Rpb24ucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkID0gZnVuY3Rpb24gKHNjaGVkdWxlciwgaWQsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKChkZWxheSAhPT0gbnVsbCAmJiBkZWxheSA+IDApIHx8IChkZWxheSA9PT0gbnVsbCAmJiB0aGlzLmRlbGF5ID4gMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcywgc2NoZWR1bGVyLCBpZCwgZGVsYXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzY2hlZHVsZXIuYWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIEltbWVkaWF0ZS5jbGVhckltbWVkaWF0ZShpZCk7XG4gICAgICAgICAgICBzY2hlZHVsZXIuc2NoZWR1bGVkID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfTtcbiAgICByZXR1cm4gQXNhcEFjdGlvbjtcbn0oQXN5bmNBY3Rpb24pKTtcbmV4cG9ydCB7IEFzYXBBY3Rpb24gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFzYXBBY3Rpb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AsapScheduler: function() { return /* binding */ AsapScheduler; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js\");\n/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\n\n\nvar AsapScheduler = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(_AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__.AsyncScheduler));\n\n//# sourceMappingURL=AsapScheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXNhcFNjaGVkdWxlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNpQztBQUNpQjtBQUNsRDtBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsMkRBQWM7QUFDUztBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXNhcFNjaGVkdWxlci5qcz8xYTk3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX0FzeW5jU2NoZWR1bGVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJy4vQXN5bmNTY2hlZHVsZXInO1xudmFyIEFzYXBTY2hlZHVsZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQXNhcFNjaGVkdWxlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBc2FwU2NoZWR1bGVyKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIEFzYXBTY2hlZHVsZXIucHJvdG90eXBlLmZsdXNoID0gZnVuY3Rpb24gKGFjdGlvbikge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVkID0gdW5kZWZpbmVkO1xuICAgICAgICB2YXIgYWN0aW9ucyA9IHRoaXMuYWN0aW9ucztcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgICAgdmFyIGNvdW50ID0gYWN0aW9ucy5sZW5ndGg7XG4gICAgICAgIGFjdGlvbiA9IGFjdGlvbiB8fCBhY3Rpb25zLnNoaWZ0KCk7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGlmIChlcnJvciA9IGFjdGlvbi5leGVjdXRlKGFjdGlvbi5zdGF0ZSwgYWN0aW9uLmRlbGF5KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlICgrK2luZGV4IDwgY291bnQgJiYgKGFjdGlvbiA9IGFjdGlvbnMuc2hpZnQoKSkpO1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgY291bnQgJiYgKGFjdGlvbiA9IGFjdGlvbnMuc2hpZnQoKSkpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gQXNhcFNjaGVkdWxlcjtcbn0oQXN5bmNTY2hlZHVsZXIpKTtcbmV4cG9ydCB7IEFzYXBTY2hlZHVsZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFzYXBTY2hlZHVsZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AsyncAction: function() { return /* binding */ AsyncAction; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Action */ \"./node_modules/rxjs/_esm5/internal/scheduler/Action.js\");\n/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\n\n\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(_Action__WEBPACK_IMPORTED_MODULE_1__.Action));\n\n//# sourceMappingURL=AsyncAction.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXN5bmNBY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDQztBQUNsQztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQywyQ0FBTTtBQUNlO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9Bc3luY0FjdGlvbi5qcz83YmY3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX0FjdGlvbiBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9BY3Rpb24nO1xudmFyIEFzeW5jQWN0aW9uID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKEFzeW5jQWN0aW9uLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEFzeW5jQWN0aW9uKHNjaGVkdWxlciwgd29yaykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBzY2hlZHVsZXIsIHdvcmspIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMud29yayA9IHdvcms7XG4gICAgICAgIF90aGlzLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBBc3luY0FjdGlvbi5wcm90b3R5cGUuc2NoZWR1bGUgPSBmdW5jdGlvbiAoc3RhdGUsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgIHZhciBpZCA9IHRoaXMuaWQ7XG4gICAgICAgIHZhciBzY2hlZHVsZXIgPSB0aGlzLnNjaGVkdWxlcjtcbiAgICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSB0aGlzLnJlY3ljbGVBc3luY0lkKHNjaGVkdWxlciwgaWQsIGRlbGF5KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBlbmRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmRlbGF5ID0gZGVsYXk7XG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmlkIHx8IHRoaXMucmVxdWVzdEFzeW5jSWQoc2NoZWR1bGVyLCB0aGlzLmlkLCBkZWxheSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgQXN5bmNBY3Rpb24ucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkID0gZnVuY3Rpb24gKHNjaGVkdWxlciwgaWQsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNldEludGVydmFsKHNjaGVkdWxlci5mbHVzaC5iaW5kKHNjaGVkdWxlciwgdGhpcyksIGRlbGF5KTtcbiAgICB9O1xuICAgIEFzeW5jQWN0aW9uLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZCA9IGZ1bmN0aW9uIChzY2hlZHVsZXIsIGlkLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWxheSAhPT0gbnVsbCAmJiB0aGlzLmRlbGF5ID09PSBkZWxheSAmJiB0aGlzLnBlbmRpbmcgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gaWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2xlYXJJbnRlcnZhbChpZCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfTtcbiAgICBBc3luY0FjdGlvbi5wcm90b3R5cGUuZXhlY3V0ZSA9IGZ1bmN0aW9uIChzdGF0ZSwgZGVsYXkpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdleGVjdXRpbmcgYSBjYW5jZWxsZWQgYWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHZhciBlcnJvciA9IHRoaXMuX2V4ZWN1dGUoc3RhdGUsIGRlbGF5KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5wZW5kaW5nID09PSBmYWxzZSAmJiB0aGlzLmlkICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSB0aGlzLnJlY3ljbGVBc3luY0lkKHRoaXMuc2NoZWR1bGVyLCB0aGlzLmlkLCBudWxsKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQXN5bmNBY3Rpb24ucHJvdG90eXBlLl9leGVjdXRlID0gZnVuY3Rpb24gKHN0YXRlLCBkZWxheSkge1xuICAgICAgICB2YXIgZXJyb3JlZCA9IGZhbHNlO1xuICAgICAgICB2YXIgZXJyb3JWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMud29yayhzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGVycm9yZWQgPSB0cnVlO1xuICAgICAgICAgICAgZXJyb3JWYWx1ZSA9ICEhZSAmJiBlIHx8IG5ldyBFcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JlZCkge1xuICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yVmFsdWU7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEFzeW5jQWN0aW9uLnByb3RvdHlwZS5fdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpZCA9IHRoaXMuaWQ7XG4gICAgICAgIHZhciBzY2hlZHVsZXIgPSB0aGlzLnNjaGVkdWxlcjtcbiAgICAgICAgdmFyIGFjdGlvbnMgPSBzY2hlZHVsZXIuYWN0aW9ucztcbiAgICAgICAgdmFyIGluZGV4ID0gYWN0aW9ucy5pbmRleE9mKHRoaXMpO1xuICAgICAgICB0aGlzLndvcmsgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXRlID0gbnVsbDtcbiAgICAgICAgdGhpcy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVyID0gbnVsbDtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgYWN0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0gdGhpcy5yZWN5Y2xlQXN5bmNJZChzY2hlZHVsZXIsIGlkLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlbGF5ID0gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiBBc3luY0FjdGlvbjtcbn0oQWN0aW9uKSk7XG5leHBvcnQgeyBBc3luY0FjdGlvbiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXN5bmNBY3Rpb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AsyncScheduler: function() { return /* binding */ AsyncScheduler; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _Scheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Scheduler */ \"./node_modules/rxjs/_esm5/internal/Scheduler.js\");\n/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\n\n\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = _Scheduler__WEBPACK_IMPORTED_MODULE_1__.Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(_Scheduler__WEBPACK_IMPORTED_MODULE_1__.Scheduler));\n\n//# sourceMappingURL=AsyncScheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXN5bmNTY2hlZHVsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDUTtBQUN6QztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQSxrQkFBa0IsaURBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLENBQUMsaURBQVM7QUFDZTtBQUMxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvQXN5bmNTY2hlZHVsZXIuanM/OTVjOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIHRzbGliLF9TY2hlZHVsZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IFNjaGVkdWxlciB9IGZyb20gJy4uL1NjaGVkdWxlcic7XG52YXIgQXN5bmNTY2hlZHVsZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoQXN5bmNTY2hlZHVsZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQXN5bmNTY2hlZHVsZXIoU2NoZWR1bGVyQWN0aW9uLCBub3cpIHtcbiAgICAgICAgaWYgKG5vdyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBub3cgPSBTY2hlZHVsZXIubm93O1xuICAgICAgICB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIFNjaGVkdWxlckFjdGlvbiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKEFzeW5jU2NoZWR1bGVyLmRlbGVnYXRlICYmIEFzeW5jU2NoZWR1bGVyLmRlbGVnYXRlICE9PSBfdGhpcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBBc3luY1NjaGVkdWxlci5kZWxlZ2F0ZS5ub3coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBub3coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuYWN0aW9ucyA9IFtdO1xuICAgICAgICBfdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgX3RoaXMuc2NoZWR1bGVkID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEFzeW5jU2NoZWR1bGVyLnByb3RvdHlwZS5zY2hlZHVsZSA9IGZ1bmN0aW9uICh3b3JrLCBkZWxheSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKGRlbGF5ID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIGRlbGF5ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoQXN5bmNTY2hlZHVsZXIuZGVsZWdhdGUgJiYgQXN5bmNTY2hlZHVsZXIuZGVsZWdhdGUgIT09IHRoaXMpIHtcbiAgICAgICAgICAgIHJldHVybiBBc3luY1NjaGVkdWxlci5kZWxlZ2F0ZS5zY2hlZHVsZSh3b3JrLCBkZWxheSwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIF9zdXBlci5wcm90b3R5cGUuc2NoZWR1bGUuY2FsbCh0aGlzLCB3b3JrLCBkZWxheSwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBBc3luY1NjaGVkdWxlci5wcm90b3R5cGUuZmx1c2ggPSBmdW5jdGlvbiAoYWN0aW9uKSB7XG4gICAgICAgIHZhciBhY3Rpb25zID0gdGhpcy5hY3Rpb25zO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvcjtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBpZiAoZXJyb3IgPSBhY3Rpb24uZXhlY3V0ZShhY3Rpb24uc3RhdGUsIGFjdGlvbi5kZWxheSkpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSB3aGlsZSAoYWN0aW9uID0gYWN0aW9ucy5zaGlmdCgpKTtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICB3aGlsZSAoYWN0aW9uID0gYWN0aW9ucy5zaGlmdCgpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIEFzeW5jU2NoZWR1bGVyO1xufShTY2hlZHVsZXIpKTtcbmV4cG9ydCB7IEFzeW5jU2NoZWR1bGVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Bc3luY1NjaGVkdWxlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueueAction: function() { return /* binding */ QueueAction; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js\");\n/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\n\n\nvar QueueAction = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(_AsyncAction__WEBPACK_IMPORTED_MODULE_1__.AsyncAction));\n\n//# sourceMappingURL=QueueAction.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvUXVldWVBY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDVztBQUM1QztBQUNBLElBQUksNENBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxxREFBVztBQUNVO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9RdWV1ZUFjdGlvbi5qcz9jNGU4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX0FzeW5jQWN0aW9uIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBBc3luY0FjdGlvbiB9IGZyb20gJy4vQXN5bmNBY3Rpb24nO1xudmFyIFF1ZXVlQWN0aW9uID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFF1ZXVlQWN0aW9uLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFF1ZXVlQWN0aW9uKHNjaGVkdWxlciwgd29yaykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBzY2hlZHVsZXIsIHdvcmspIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMud29yayA9IHdvcms7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgUXVldWVBY3Rpb24ucHJvdG90eXBlLnNjaGVkdWxlID0gZnVuY3Rpb24gKHN0YXRlLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWxheSA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcywgc3RhdGUsIGRlbGF5KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlbGF5ID0gZGVsYXk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy5zY2hlZHVsZXIuZmx1c2godGhpcyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgUXVldWVBY3Rpb24ucHJvdG90eXBlLmV4ZWN1dGUgPSBmdW5jdGlvbiAoc3RhdGUsIGRlbGF5KSB7XG4gICAgICAgIHJldHVybiAoZGVsYXkgPiAwIHx8IHRoaXMuY2xvc2VkKSA/XG4gICAgICAgICAgICBfc3VwZXIucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzLCBzdGF0ZSwgZGVsYXkpIDpcbiAgICAgICAgICAgIHRoaXMuX2V4ZWN1dGUoc3RhdGUsIGRlbGF5KTtcbiAgICB9O1xuICAgIFF1ZXVlQWN0aW9uLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZCA9IGZ1bmN0aW9uIChzY2hlZHVsZXIsIGlkLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICgoZGVsYXkgIT09IG51bGwgJiYgZGVsYXkgPiAwKSB8fCAoZGVsYXkgPT09IG51bGwgJiYgdGhpcy5kZWxheSA+IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsIHNjaGVkdWxlciwgaWQsIGRlbGF5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2NoZWR1bGVyLmZsdXNoKHRoaXMpO1xuICAgIH07XG4gICAgcmV0dXJuIFF1ZXVlQWN0aW9uO1xufShBc3luY0FjdGlvbikpO1xuZXhwb3J0IHsgUXVldWVBY3Rpb24gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVF1ZXVlQWN0aW9uLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueueScheduler: function() { return /* binding */ QueueScheduler; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js\");\n/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\n\n\nvar QueueScheduler = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(_AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__.AsyncScheduler));\n\n//# sourceMappingURL=QueueScheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvUXVldWVTY2hlZHVsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDaUM7QUFDaUI7QUFDbEQ7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQywyREFBYztBQUNVO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9RdWV1ZVNjaGVkdWxlci5qcz9mOGNjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX0FzeW5jU2NoZWR1bGVyIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCAqIGFzIHRzbGliXzEgZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJy4vQXN5bmNTY2hlZHVsZXInO1xudmFyIFF1ZXVlU2NoZWR1bGVyID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIHRzbGliXzEuX19leHRlbmRzKFF1ZXVlU2NoZWR1bGVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFF1ZXVlU2NoZWR1bGVyKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBRdWV1ZVNjaGVkdWxlcjtcbn0oQXN5bmNTY2hlZHVsZXIpKTtcbmV4cG9ydCB7IFF1ZXVlU2NoZWR1bGVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1RdWV1ZVNjaGVkdWxlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js": -/*!****************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VirtualAction: function() { return /* binding */ VirtualAction; },\n/* harmony export */ VirtualTimeScheduler: function() { return /* binding */ VirtualTimeScheduler; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/rxjs/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AsyncAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js\");\n/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js\");\n/** PURE_IMPORTS_START tslib,_AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\n\n\n\nvar VirtualTimeScheduler = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n if (SchedulerAction === void 0) {\n SchedulerAction = VirtualAction;\n }\n if (maxFrames === void 0) {\n maxFrames = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, SchedulerAction, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error, action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(_AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__.AsyncScheduler));\n\nvar VirtualAction = /*@__PURE__*/ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__.__extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) {\n index = scheduler.index += 1;\n }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(_AsyncAction__WEBPACK_IMPORTED_MODULE_2__.AsyncAction));\n\n//# sourceMappingURL=VirtualTimeScheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvVmlydHVhbFRpbWVTY2hlZHVsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNpQztBQUNXO0FBQ007QUFDbEQ7QUFDQSxJQUFJLDRDQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFFQUFxRSxxQkFBcUI7QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDLDJEQUFjO0FBQ2dCO0FBQ2hDO0FBQ0EsSUFBSSw0Q0FBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQyxxREFBVztBQUNZO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9WaXJ0dWFsVGltZVNjaGVkdWxlci5qcz9hNGIyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgdHNsaWIsX0FzeW5jQWN0aW9uLF9Bc3luY1NjaGVkdWxlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQXN5bmNBY3Rpb24gfSBmcm9tICcuL0FzeW5jQWN0aW9uJztcbmltcG9ydCB7IEFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi9Bc3luY1NjaGVkdWxlcic7XG52YXIgVmlydHVhbFRpbWVTY2hlZHVsZXIgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgdHNsaWJfMS5fX2V4dGVuZHMoVmlydHVhbFRpbWVTY2hlZHVsZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVmlydHVhbFRpbWVTY2hlZHVsZXIoU2NoZWR1bGVyQWN0aW9uLCBtYXhGcmFtZXMpIHtcbiAgICAgICAgaWYgKFNjaGVkdWxlckFjdGlvbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBTY2hlZHVsZXJBY3Rpb24gPSBWaXJ0dWFsQWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXhGcmFtZXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgbWF4RnJhbWVzID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIFNjaGVkdWxlckFjdGlvbiwgZnVuY3Rpb24gKCkgeyByZXR1cm4gX3RoaXMuZnJhbWU7IH0pIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLm1heEZyYW1lcyA9IG1heEZyYW1lcztcbiAgICAgICAgX3RoaXMuZnJhbWUgPSAwO1xuICAgICAgICBfdGhpcy5pbmRleCA9IC0xO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFZpcnR1YWxUaW1lU2NoZWR1bGVyLnByb3RvdHlwZS5mbHVzaCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcywgYWN0aW9ucyA9IF9hLmFjdGlvbnMsIG1heEZyYW1lcyA9IF9hLm1heEZyYW1lcztcbiAgICAgICAgdmFyIGVycm9yLCBhY3Rpb247XG4gICAgICAgIHdoaWxlICgoYWN0aW9uID0gYWN0aW9uc1swXSkgJiYgYWN0aW9uLmRlbGF5IDw9IG1heEZyYW1lcykge1xuICAgICAgICAgICAgYWN0aW9ucy5zaGlmdCgpO1xuICAgICAgICAgICAgdGhpcy5mcmFtZSA9IGFjdGlvbi5kZWxheTtcbiAgICAgICAgICAgIGlmIChlcnJvciA9IGFjdGlvbi5leGVjdXRlKGFjdGlvbi5zdGF0ZSwgYWN0aW9uLmRlbGF5KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgd2hpbGUgKGFjdGlvbiA9IGFjdGlvbnMuc2hpZnQoKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFZpcnR1YWxUaW1lU2NoZWR1bGVyLmZyYW1lVGltZUZhY3RvciA9IDEwO1xuICAgIHJldHVybiBWaXJ0dWFsVGltZVNjaGVkdWxlcjtcbn0oQXN5bmNTY2hlZHVsZXIpKTtcbmV4cG9ydCB7IFZpcnR1YWxUaW1lU2NoZWR1bGVyIH07XG52YXIgVmlydHVhbEFjdGlvbiA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhWaXJ0dWFsQWN0aW9uLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFZpcnR1YWxBY3Rpb24oc2NoZWR1bGVyLCB3b3JrLCBpbmRleCkge1xuICAgICAgICBpZiAoaW5kZXggPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgaW5kZXggPSBzY2hlZHVsZXIuaW5kZXggKz0gMTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBzY2hlZHVsZXIsIHdvcmspIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnNjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAgICAgX3RoaXMud29yayA9IHdvcms7XG4gICAgICAgIF90aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIF90aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIF90aGlzLmluZGV4ID0gc2NoZWR1bGVyLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgVmlydHVhbEFjdGlvbi5wcm90b3R5cGUuc2NoZWR1bGUgPSBmdW5jdGlvbiAoc3RhdGUsIGRlbGF5KSB7XG4gICAgICAgIGlmIChkZWxheSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5zY2hlZHVsZS5jYWxsKHRoaXMsIHN0YXRlLCBkZWxheSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdmFyIGFjdGlvbiA9IG5ldyBWaXJ0dWFsQWN0aW9uKHRoaXMuc2NoZWR1bGVyLCB0aGlzLndvcmspO1xuICAgICAgICB0aGlzLmFkZChhY3Rpb24pO1xuICAgICAgICByZXR1cm4gYWN0aW9uLnNjaGVkdWxlKHN0YXRlLCBkZWxheSk7XG4gICAgfTtcbiAgICBWaXJ0dWFsQWN0aW9uLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZCA9IGZ1bmN0aW9uIChzY2hlZHVsZXIsIGlkLCBkZWxheSkge1xuICAgICAgICBpZiAoZGVsYXkgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVsYXkgPSBzY2hlZHVsZXIuZnJhbWUgKyBkZWxheTtcbiAgICAgICAgdmFyIGFjdGlvbnMgPSBzY2hlZHVsZXIuYWN0aW9ucztcbiAgICAgICAgYWN0aW9ucy5wdXNoKHRoaXMpO1xuICAgICAgICBhY3Rpb25zLnNvcnQoVmlydHVhbEFjdGlvbi5zb3J0QWN0aW9ucyk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG4gICAgVmlydHVhbEFjdGlvbi5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQgPSBmdW5jdGlvbiAoc2NoZWR1bGVyLCBpZCwgZGVsYXkpIHtcbiAgICAgICAgaWYgKGRlbGF5ID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIGRlbGF5ID0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG4gICAgVmlydHVhbEFjdGlvbi5wcm90b3R5cGUuX2V4ZWN1dGUgPSBmdW5jdGlvbiAoc3RhdGUsIGRlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIF9zdXBlci5wcm90b3R5cGUuX2V4ZWN1dGUuY2FsbCh0aGlzLCBzdGF0ZSwgZGVsYXkpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBWaXJ0dWFsQWN0aW9uLnNvcnRBY3Rpb25zID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgaWYgKGEuZGVsYXkgPT09IGIuZGVsYXkpIHtcbiAgICAgICAgICAgIGlmIChhLmluZGV4ID09PSBiLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhLmluZGV4ID4gYi5pbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGEuZGVsYXkgPiBiLmRlbGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFZpcnR1YWxBY3Rpb247XG59KEFzeW5jQWN0aW9uKSk7XG5leHBvcnQgeyBWaXJ0dWFsQWN0aW9uIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1WaXJ0dWFsVGltZVNjaGVkdWxlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ animationFrame: function() { return /* binding */ animationFrame; },\n/* harmony export */ animationFrameScheduler: function() { return /* binding */ animationFrameScheduler; }\n/* harmony export */ });\n/* harmony import */ var _AnimationFrameAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AnimationFrameAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js\");\n/* harmony import */ var _AnimationFrameScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnimationFrameScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js\");\n/** PURE_IMPORTS_START _AnimationFrameAction,_AnimationFrameScheduler PURE_IMPORTS_END */\n\n\nvar animationFrameScheduler = /*@__PURE__*/ new _AnimationFrameScheduler__WEBPACK_IMPORTED_MODULE_0__.AnimationFrameScheduler(_AnimationFrameAction__WEBPACK_IMPORTED_MODULE_1__.AnimationFrameAction);\nvar animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvYW5pbWF0aW9uRnJhbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQzhEO0FBQ007QUFDN0QsZ0RBQWdELDZFQUF1QixDQUFDLHVFQUFvQjtBQUM1RjtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9hbmltYXRpb25GcmFtZS5qcz81Yzc4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX0FuaW1hdGlvbkZyYW1lQWN0aW9uLF9BbmltYXRpb25GcmFtZVNjaGVkdWxlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBBbmltYXRpb25GcmFtZUFjdGlvbiB9IGZyb20gJy4vQW5pbWF0aW9uRnJhbWVBY3Rpb24nO1xuaW1wb3J0IHsgQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgfSBmcm9tICcuL0FuaW1hdGlvbkZyYW1lU2NoZWR1bGVyJztcbmV4cG9ydCB2YXIgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgPSAvKkBfX1BVUkVfXyovIG5ldyBBbmltYXRpb25GcmFtZVNjaGVkdWxlcihBbmltYXRpb25GcmFtZUFjdGlvbik7XG5leHBvcnQgdmFyIGFuaW1hdGlvbkZyYW1lID0gYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hbmltYXRpb25GcmFtZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/asap.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/asap.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ asap: function() { return /* binding */ asap; },\n/* harmony export */ asapScheduler: function() { return /* binding */ asapScheduler; }\n/* harmony export */ });\n/* harmony import */ var _AsapAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsapAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js\");\n/* harmony import */ var _AsapScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AsapScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js\");\n/** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */\n\n\nvar asapScheduler = /*@__PURE__*/ new _AsapScheduler__WEBPACK_IMPORTED_MODULE_0__.AsapScheduler(_AsapAction__WEBPACK_IMPORTED_MODULE_1__.AsapAction);\nvar asap = asapScheduler;\n//# sourceMappingURL=asap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvYXNhcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDMEM7QUFDTTtBQUN6QyxzQ0FBc0MseURBQWEsQ0FBQyxtREFBVTtBQUM5RDtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3NjaGVkdWxlci9hc2FwLmpzP2YzMTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfQXNhcEFjdGlvbixfQXNhcFNjaGVkdWxlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBBc2FwQWN0aW9uIH0gZnJvbSAnLi9Bc2FwQWN0aW9uJztcbmltcG9ydCB7IEFzYXBTY2hlZHVsZXIgfSBmcm9tICcuL0FzYXBTY2hlZHVsZXInO1xuZXhwb3J0IHZhciBhc2FwU2NoZWR1bGVyID0gLypAX19QVVJFX18qLyBuZXcgQXNhcFNjaGVkdWxlcihBc2FwQWN0aW9uKTtcbmV4cG9ydCB2YXIgYXNhcCA9IGFzYXBTY2hlZHVsZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hc2FwLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/asap.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/async.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/async.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ async: function() { return /* binding */ async; },\n/* harmony export */ asyncScheduler: function() { return /* binding */ asyncScheduler; }\n/* harmony export */ });\n/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AsyncAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js\");\n/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AsyncScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js\");\n/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\n\n\nvar asyncScheduler = /*@__PURE__*/ new _AsyncScheduler__WEBPACK_IMPORTED_MODULE_0__.AsyncScheduler(_AsyncAction__WEBPACK_IMPORTED_MODULE_1__.AsyncAction);\nvar async = asyncScheduler;\n//# sourceMappingURL=async.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvYXN5bmMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQzRDO0FBQ007QUFDM0MsdUNBQXVDLDJEQUFjLENBQUMscURBQVc7QUFDakU7QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvYXN5bmMuanM/N2JhYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9Bc3luY0FjdGlvbixfQXN5bmNTY2hlZHVsZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgQXN5bmNBY3Rpb24gfSBmcm9tICcuL0FzeW5jQWN0aW9uJztcbmltcG9ydCB7IEFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi9Bc3luY1NjaGVkdWxlcic7XG5leHBvcnQgdmFyIGFzeW5jU2NoZWR1bGVyID0gLypAX19QVVJFX18qLyBuZXcgQXN5bmNTY2hlZHVsZXIoQXN5bmNBY3Rpb24pO1xuZXhwb3J0IHZhciBhc3luYyA9IGFzeW5jU2NoZWR1bGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXN5bmMuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/async.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/scheduler/queue.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/scheduler/queue.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ queue: function() { return /* binding */ queue; },\n/* harmony export */ queueScheduler: function() { return /* binding */ queueScheduler; }\n/* harmony export */ });\n/* harmony import */ var _QueueAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./QueueAction */ \"./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js\");\n/* harmony import */ var _QueueScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./QueueScheduler */ \"./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js\");\n/** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */\n\n\nvar queueScheduler = /*@__PURE__*/ new _QueueScheduler__WEBPACK_IMPORTED_MODULE_0__.QueueScheduler(_QueueAction__WEBPACK_IMPORTED_MODULE_1__.QueueAction);\nvar queue = queueScheduler;\n//# sourceMappingURL=queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvcXVldWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQzRDO0FBQ007QUFDM0MsdUNBQXVDLDJEQUFjLENBQUMscURBQVc7QUFDakU7QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zY2hlZHVsZXIvcXVldWUuanM/MDYyMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9RdWV1ZUFjdGlvbixfUXVldWVTY2hlZHVsZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgUXVldWVBY3Rpb24gfSBmcm9tICcuL1F1ZXVlQWN0aW9uJztcbmltcG9ydCB7IFF1ZXVlU2NoZWR1bGVyIH0gZnJvbSAnLi9RdWV1ZVNjaGVkdWxlcic7XG5leHBvcnQgdmFyIHF1ZXVlU2NoZWR1bGVyID0gLypAX19QVVJFX18qLyBuZXcgUXVldWVTY2hlZHVsZXIoUXVldWVBY3Rpb24pO1xuZXhwb3J0IHZhciBxdWV1ZSA9IHF1ZXVlU2NoZWR1bGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cXVldWUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/scheduler/queue.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/symbol/iterator.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/symbol/iterator.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $$iterator: function() { return /* binding */ $$iterator; },\n/* harmony export */ getSymbolIterator: function() { return /* binding */ getSymbolIterator; },\n/* harmony export */ iterator: function() { return /* binding */ iterator; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nvar iterator = /*@__PURE__*/ getSymbolIterator();\nvar $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zeW1ib2wvaXRlcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvc3ltYm9sL2l0ZXJhdG9yLmpzPzk0NjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCAgUFVSRV9JTVBPUlRTX0VORCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN5bWJvbEl0ZXJhdG9yKCkge1xuICAgIGlmICh0eXBlb2YgU3ltYm9sICE9PSAnZnVuY3Rpb24nIHx8ICFTeW1ib2wuaXRlcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuICdAQGl0ZXJhdG9yJztcbiAgICB9XG4gICAgcmV0dXJuIFN5bWJvbC5pdGVyYXRvcjtcbn1cbmV4cG9ydCB2YXIgaXRlcmF0b3IgPSAvKkBfX1BVUkVfXyovIGdldFN5bWJvbEl0ZXJhdG9yKCk7XG5leHBvcnQgdmFyICQkaXRlcmF0b3IgPSBpdGVyYXRvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWl0ZXJhdG9yLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/symbol/iterator.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/symbol/observable.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/symbol/observable.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ observable: function() { return /* binding */ observable; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zeW1ib2wvb2JzZXJ2YWJsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDTyw4Q0FBOEMsNkVBQTZFO0FBQ2xJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3N5bWJvbC9vYnNlcnZhYmxlLmpzPzFjNGQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCAgUFVSRV9JTVBPUlRTX0VORCAqL1xuZXhwb3J0IHZhciBvYnNlcnZhYmxlID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wub2JzZXJ2YWJsZSB8fCAnQEBvYnNlcnZhYmxlJzsgfSkoKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9ic2VydmFibGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/symbol/observable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $$rxSubscriber: function() { return /* binding */ $$rxSubscriber; },\n/* harmony export */ rxSubscriber: function() { return /* binding */ rxSubscriber; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nvar $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC9zeW1ib2wvcnhTdWJzY3JpYmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTTtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3N5bWJvbC9yeFN1YnNjcmliZXIuanM/OGY5NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgdmFyIHJ4U3Vic2NyaWJlciA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IC8qQF9fUFVSRV9fKi8gU3ltYm9sKCdyeFN1YnNjcmliZXInKVxuICAgICAgICA6ICdAQHJ4U3Vic2NyaWJlcl8nICsgLypAX19QVVJFX18qLyBNYXRoLnJhbmRvbSgpO1xufSkoKTtcbmV4cG9ydCB2YXIgJCRyeFN1YnNjcmliZXIgPSByeFN1YnNjcmliZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yeFN1YnNjcmliZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js": -/*!**************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ArgumentOutOfRangeError: function() { return /* binding */ ArgumentOutOfRangeError; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ArgumentOutOfRangeErrorImpl = /*@__PURE__*/ (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nvar ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTTtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IuanM/M2EzNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG52YXIgQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JJbXBsID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9ySW1wbCgpIHtcbiAgICAgICAgRXJyb3IuY2FsbCh0aGlzKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gJ2FyZ3VtZW50IG91dCBvZiByYW5nZSc7XG4gICAgICAgIHRoaXMubmFtZSA9ICdBcmd1bWVudE91dE9mUmFuZ2VFcnJvcic7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBBcmd1bWVudE91dE9mUmFuZ2VFcnJvckltcGwucHJvdG90eXBlID0gLypAX19QVVJFX18qLyBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7XG4gICAgcmV0dXJuIEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9ySW1wbDtcbn0pKCk7XG5leHBvcnQgdmFyIEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yID0gQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JJbXBsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXJndW1lbnRPdXRPZlJhbmdlRXJyb3IuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/EmptyError.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/EmptyError.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmptyError: function() { return /* binding */ EmptyError; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar EmptyErrorImpl = /*@__PURE__*/ (function () {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nvar EmptyError = EmptyErrorImpl;\n//# sourceMappingURL=EmptyError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL0VtcHR5RXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNNO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9FbXB0eUVycm9yLmpzP2U3ODUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCAgUFVSRV9JTVBPUlRTX0VORCAqL1xudmFyIEVtcHR5RXJyb3JJbXBsID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEVtcHR5RXJyb3JJbXBsKCkge1xuICAgICAgICBFcnJvci5jYWxsKHRoaXMpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnbm8gZWxlbWVudHMgaW4gc2VxdWVuY2UnO1xuICAgICAgICB0aGlzLm5hbWUgPSAnRW1wdHlFcnJvcic7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBFbXB0eUVycm9ySW1wbC5wcm90b3R5cGUgPSAvKkBfX1BVUkVfXyovIE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTtcbiAgICByZXR1cm4gRW1wdHlFcnJvckltcGw7XG59KSgpO1xuZXhwb3J0IHZhciBFbXB0eUVycm9yID0gRW1wdHlFcnJvckltcGw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1FbXB0eUVycm9yLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/EmptyError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/Immediate.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/Immediate.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Immediate: function() { return /* binding */ Immediate; },\n/* harmony export */ TestTools: function() { return /* binding */ TestTools; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar nextHandle = 1;\nvar RESOLVED = /*@__PURE__*/ (function () { return /*@__PURE__*/ Promise.resolve(); })();\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nvar Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nvar TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL0ltbWVkaWF0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQSw0Q0FBNEMseUNBQXlDO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyw0Q0FBNEM7QUFDaEY7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL0ltbWVkaWF0ZS5qcz8wNDBhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbnZhciBuZXh0SGFuZGxlID0gMTtcbnZhciBSRVNPTFZFRCA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIC8qQF9fUFVSRV9fKi8gUHJvbWlzZS5yZXNvbHZlKCk7IH0pKCk7XG52YXIgYWN0aXZlSGFuZGxlcyA9IHt9O1xuZnVuY3Rpb24gZmluZEFuZENsZWFySGFuZGxlKGhhbmRsZSkge1xuICAgIGlmIChoYW5kbGUgaW4gYWN0aXZlSGFuZGxlcykge1xuICAgICAgICBkZWxldGUgYWN0aXZlSGFuZGxlc1toYW5kbGVdO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZXhwb3J0IHZhciBJbW1lZGlhdGUgPSB7XG4gICAgc2V0SW1tZWRpYXRlOiBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdmFyIGhhbmRsZSA9IG5leHRIYW5kbGUrKztcbiAgICAgICAgYWN0aXZlSGFuZGxlc1toYW5kbGVdID0gdHJ1ZTtcbiAgICAgICAgUkVTT0xWRUQudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBmaW5kQW5kQ2xlYXJIYW5kbGUoaGFuZGxlKSAmJiBjYigpOyB9KTtcbiAgICAgICAgcmV0dXJuIGhhbmRsZTtcbiAgICB9LFxuICAgIGNsZWFySW1tZWRpYXRlOiBmdW5jdGlvbiAoaGFuZGxlKSB7XG4gICAgICAgIGZpbmRBbmRDbGVhckhhbmRsZShoYW5kbGUpO1xuICAgIH0sXG59O1xuZXhwb3J0IHZhciBUZXN0VG9vbHMgPSB7XG4gICAgcGVuZGluZzogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWN0aXZlSGFuZGxlcykubGVuZ3RoO1xuICAgIH1cbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1JbW1lZGlhdGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/Immediate.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js": -/*!**************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectUnsubscribedError: function() { return /* binding */ ObjectUnsubscribedError; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nvar ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL09iamVjdFVuc3Vic2NyaWJlZEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTTtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IuanM/NmE4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG52YXIgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3JJbXBsID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbCgpIHtcbiAgICAgICAgRXJyb3IuY2FsbCh0aGlzKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gJ29iamVjdCB1bnN1YnNjcmliZWQnO1xuICAgICAgICB0aGlzLm5hbWUgPSAnT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3InO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3JJbXBsLnByb3RvdHlwZSA9IC8qQF9fUFVSRV9fKi8gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpO1xuICAgIHJldHVybiBPYmplY3RVbnN1YnNjcmliZWRFcnJvckltcGw7XG59KSgpO1xuZXhwb3J0IHZhciBPYmplY3RVbnN1YnNjcmliZWRFcnJvciA9IE9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU9iamVjdFVuc3Vic2NyaWJlZEVycm9yLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/TimeoutError.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/TimeoutError.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TimeoutError: function() { return /* binding */ TimeoutError; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar TimeoutErrorImpl = /*@__PURE__*/ (function () {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nvar TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL1RpbWVvdXRFcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ007QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL1RpbWVvdXRFcnJvci5qcz8wYjZhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbnZhciBUaW1lb3V0RXJyb3JJbXBsID0gLypAX19QVVJFX18qLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRpbWVvdXRFcnJvckltcGwoKSB7XG4gICAgICAgIEVycm9yLmNhbGwodGhpcyk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9ICdUaW1lb3V0IGhhcyBvY2N1cnJlZCc7XG4gICAgICAgIHRoaXMubmFtZSA9ICdUaW1lb3V0RXJyb3InO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgVGltZW91dEVycm9ySW1wbC5wcm90b3R5cGUgPSAvKkBfX1BVUkVfXyovIE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTtcbiAgICByZXR1cm4gVGltZW91dEVycm9ySW1wbDtcbn0pKCk7XG5leHBvcnQgdmFyIFRpbWVvdXRFcnJvciA9IFRpbWVvdXRFcnJvckltcGw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1UaW1lb3V0RXJyb3IuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/TimeoutError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UnsubscriptionError: function() { return /* binding */ UnsubscriptionError; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nvar UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL1Vuc3Vic2NyaXB0aW9uRXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5R0FBeUcsdUNBQXVDO0FBQ2hKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTTtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvVW5zdWJzY3JpcHRpb25FcnJvci5qcz9jZTNhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbnZhciBVbnN1YnNjcmlwdGlvbkVycm9ySW1wbCA9IC8qQF9fUFVSRV9fKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBVbnN1YnNjcmlwdGlvbkVycm9ySW1wbChlcnJvcnMpIHtcbiAgICAgICAgRXJyb3IuY2FsbCh0aGlzKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gZXJyb3JzID9cbiAgICAgICAgICAgIGVycm9ycy5sZW5ndGggKyBcIiBlcnJvcnMgb2NjdXJyZWQgZHVyaW5nIHVuc3Vic2NyaXB0aW9uOlxcblwiICsgZXJyb3JzLm1hcChmdW5jdGlvbiAoZXJyLCBpKSB7IHJldHVybiBpICsgMSArIFwiKSBcIiArIGVyci50b1N0cmluZygpOyB9KS5qb2luKCdcXG4gICcpIDogJyc7XG4gICAgICAgIHRoaXMubmFtZSA9ICdVbnN1YnNjcmlwdGlvbkVycm9yJztcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBVbnN1YnNjcmlwdGlvbkVycm9ySW1wbC5wcm90b3R5cGUgPSAvKkBfX1BVUkVfXyovIE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTtcbiAgICByZXR1cm4gVW5zdWJzY3JpcHRpb25FcnJvckltcGw7XG59KSgpO1xuZXhwb3J0IHZhciBVbnN1YnNjcmlwdGlvbkVycm9yID0gVW5zdWJzY3JpcHRpb25FcnJvckltcGw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1VbnN1YnNjcmlwdGlvbkVycm9yLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/canReportError.js": -/*!*****************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/canReportError.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ canReportError: function() { return /* binding */ canReportError; }\n/* harmony export */ });\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\n\nfunction canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof _Subscriber__WEBPACK_IMPORTED_MODULE_0__.Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2NhblJlcG9ydEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDMkM7QUFDcEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELG1EQUFVO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2NhblJlcG9ydEVycm9yLmpzP2I5NzgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfU3Vic2NyaWJlciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5leHBvcnQgZnVuY3Rpb24gY2FuUmVwb3J0RXJyb3Iob2JzZXJ2ZXIpIHtcbiAgICB3aGlsZSAob2JzZXJ2ZXIpIHtcbiAgICAgICAgdmFyIF9hID0gb2JzZXJ2ZXIsIGNsb3NlZF8xID0gX2EuY2xvc2VkLCBkZXN0aW5hdGlvbiA9IF9hLmRlc3RpbmF0aW9uLCBpc1N0b3BwZWQgPSBfYS5pc1N0b3BwZWQ7XG4gICAgICAgIGlmIChjbG9zZWRfMSB8fCBpc1N0b3BwZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChkZXN0aW5hdGlvbiAmJiBkZXN0aW5hdGlvbiBpbnN0YW5jZW9mIFN1YnNjcmliZXIpIHtcbiAgICAgICAgICAgIG9ic2VydmVyID0gZGVzdGluYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBvYnNlcnZlciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jYW5SZXBvcnRFcnJvci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/canReportError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/hostReportError.js": -/*!******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/hostReportError.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hostReportError: function() { return /* binding */ hostReportError; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2hvc3RSZXBvcnRFcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDTztBQUNQLDZCQUE2QixZQUFZO0FBQ3pDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9ob3N0UmVwb3J0RXJyb3IuanM/YmU4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgZnVuY3Rpb24gaG9zdFJlcG9ydEVycm9yKGVycikge1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB0aHJvdyBlcnI7IH0sIDApO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9zdFJlcG9ydEVycm9yLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/hostReportError.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/identity.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/identity.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ identity: function() { return /* binding */ identity; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lkZW50aXR5LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvaWRlbnRpdHkuanM/MWZjYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpdHkoeCkge1xuICAgIHJldHVybiB4O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aWRlbnRpdHkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/identity.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isArray.js": -/*!**********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isArray.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isArray: function() { return /* binding */ isArray; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzQXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ08sMkNBQTJDLHdDQUF3QywyQ0FBMkMsSUFBSTtBQUN6SSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzQXJyYXkuanM/YTk2YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgdmFyIGlzQXJyYXkgPSAvKkBfX1BVUkVfXyovIChmdW5jdGlvbiAoKSB7IHJldHVybiBBcnJheS5pc0FycmF5IHx8IChmdW5jdGlvbiAoeCkgeyByZXR1cm4geCAmJiB0eXBlb2YgeC5sZW5ndGggPT09ICdudW1iZXInOyB9KTsgfSkoKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzQXJyYXkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isArray.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isArrayLike.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isArrayLike.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isArrayLike: function() { return /* binding */ isArrayLike; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzQXJyYXlMaWtlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPLGtDQUFrQyxzRUFBc0U7QUFDL0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9pc0FycmF5TGlrZS5qcz84ZjcxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbmV4cG9ydCB2YXIgaXNBcnJheUxpa2UgPSAoZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHggJiYgdHlwZW9mIHgubGVuZ3RoID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgeCAhPT0gJ2Z1bmN0aW9uJzsgfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0FycmF5TGlrZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isArrayLike.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isDate.js": -/*!*********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isDate.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDate: function() { return /* binding */ isDate; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzRGF0ZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzRGF0ZS5qcz9kNDVhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGUodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTigrdmFsdWUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNEYXRlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isDate.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isFunction.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isFunction.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isFunction: function() { return /* binding */ isFunction; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzRnVuY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ087QUFDUDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9pc0Z1bmN0aW9uLmpzPzBlYjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCAgUFVSRV9JTVBPUlRTX0VORCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24oeCkge1xuICAgIHJldHVybiB0eXBlb2YgeCA9PT0gJ2Z1bmN0aW9uJztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzRnVuY3Rpb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isFunction.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isInteropObservable: function() { return /* binding */ isInteropObservable; }\n/* harmony export */ });\n/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../symbol/observable */ \"./node_modules/rxjs/_esm5/internal/symbol/observable.js\");\n/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\n\nfunction isInteropObservable(input) {\n return input && typeof input[_symbol_observable__WEBPACK_IMPORTED_MODULE_0__.observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzSW50ZXJvcE9ic2VydmFibGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUN1RTtBQUNoRTtBQUNQLGlDQUFpQywwREFBaUI7QUFDbEQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzSW50ZXJvcE9ic2VydmFibGUuanM/ZmVmNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9zeW1ib2xfb2JzZXJ2YWJsZSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBvYnNlcnZhYmxlIGFzIFN5bWJvbF9vYnNlcnZhYmxlIH0gZnJvbSAnLi4vc3ltYm9sL29ic2VydmFibGUnO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW50ZXJvcE9ic2VydmFibGUoaW5wdXQpIHtcbiAgICByZXR1cm4gaW5wdXQgJiYgdHlwZW9mIGlucHV0W1N5bWJvbF9vYnNlcnZhYmxlXSA9PT0gJ2Z1bmN0aW9uJztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzSW50ZXJvcE9ic2VydmFibGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isIterable.js": -/*!*************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isIterable.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isIterable: function() { return /* binding */ isIterable; }\n/* harmony export */ });\n/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../symbol/iterator */ \"./node_modules/rxjs/_esm5/internal/symbol/iterator.js\");\n/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\n\nfunction isIterable(input) {\n return input && typeof input[_symbol_iterator__WEBPACK_IMPORTED_MODULE_0__.iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzSXRlcmFibGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNpRTtBQUMxRDtBQUNQLGlDQUFpQyxzREFBZTtBQUNoRDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvaXNJdGVyYWJsZS5qcz83NTQ3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3N5bWJvbF9pdGVyYXRvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBpdGVyYXRvciBhcyBTeW1ib2xfaXRlcmF0b3IgfSBmcm9tICcuLi9zeW1ib2wvaXRlcmF0b3InO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSXRlcmFibGUoaW5wdXQpIHtcbiAgICByZXR1cm4gaW5wdXQgJiYgdHlwZW9mIGlucHV0W1N5bWJvbF9pdGVyYXRvcl0gPT09ICdmdW5jdGlvbic7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0l0ZXJhYmxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isIterable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isNumeric.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isNumeric.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isNumeric: function() { return /* binding */ isNumeric; }\n/* harmony export */ });\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray */ \"./node_modules/rxjs/_esm5/internal/util/isArray.js\");\n/** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */\n\nfunction isNumeric(val) {\n return !(0,_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzTnVtZXJpYy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ29DO0FBQzdCO0FBQ1AsWUFBWSxpREFBTztBQUNuQjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvaXNOdW1lcmljLmpzPzFmYTUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfaXNBcnJheSBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi9pc0FycmF5JztcbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWModmFsKSB7XG4gICAgcmV0dXJuICFpc0FycmF5KHZhbCkgJiYgKHZhbCAtIHBhcnNlRmxvYXQodmFsKSArIDEpID49IDA7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc051bWVyaWMuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isNumeric.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isObject.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isObject.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isObject: function() { return /* binding */ isObject; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzT2JqZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvaXNPYmplY3QuanM/NmMyNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3QoeCkge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0Jztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzT2JqZWN0LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isObject.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isObservable.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isObservable.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isObservable: function() { return /* binding */ isObservable; }\n/* harmony export */ });\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\n\nfunction isObservable(obj) {\n return !!obj && (obj instanceof _Observable__WEBPACK_IMPORTED_MODULE_0__.Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n//# sourceMappingURL=isObservable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzT2JzZXJ2YWJsZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQzJDO0FBQ3BDO0FBQ1Asb0NBQW9DLG1EQUFVO0FBQzlDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9pc09ic2VydmFibGUuanM/Mzc0MiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9PYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmV4cG9ydCBmdW5jdGlvbiBpc09ic2VydmFibGUob2JqKSB7XG4gICAgcmV0dXJuICEhb2JqICYmIChvYmogaW5zdGFuY2VvZiBPYnNlcnZhYmxlIHx8ICh0eXBlb2Ygb2JqLmxpZnQgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG9iai5zdWJzY3JpYmUgPT09ICdmdW5jdGlvbicpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzT2JzZXJ2YWJsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isObservable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isPromise.js": -/*!************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isPromise.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isPromise: function() { return /* binding */ isPromise; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzUHJvbWlzZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzUHJvbWlzZS5qcz8wOTQyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb21pc2UodmFsdWUpIHtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUuc3Vic2NyaWJlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNQcm9taXNlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isPromise.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/isScheduler.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/isScheduler.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isScheduler: function() { return /* binding */ isScheduler; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL2lzU2NoZWR1bGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvaXNTY2hlZHVsZXIuanM/OGMzNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgZnVuY3Rpb24gaXNTY2hlZHVsZXIodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnNjaGVkdWxlID09PSAnZnVuY3Rpb24nO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNTY2hlZHVsZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/isScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/noop.js": -/*!*******************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/noop.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ noop: function() { return /* binding */ noop; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction noop() { }\n//# sourceMappingURL=noop.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL25vb3AuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ087QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL25vb3AuanM/MzE5NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgZnVuY3Rpb24gbm9vcCgpIHsgfVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9vcC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/noop.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/not.js": -/*!******************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/not.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ not: function() { return /* binding */ not; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nfunction not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\n//# sourceMappingURL=not.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL25vdC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9ub3QuanM/NGJhZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgZnVuY3Rpb24gbm90KHByZWQsIHRoaXNBcmcpIHtcbiAgICBmdW5jdGlvbiBub3RQcmVkKCkge1xuICAgICAgICByZXR1cm4gIShub3RQcmVkLnByZWQuYXBwbHkobm90UHJlZC50aGlzQXJnLCBhcmd1bWVudHMpKTtcbiAgICB9XG4gICAgbm90UHJlZC5wcmVkID0gcHJlZDtcbiAgICBub3RQcmVkLnRoaXNBcmcgPSB0aGlzQXJnO1xuICAgIHJldHVybiBub3RQcmVkO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/not.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/pipe.js": -/*!*******************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/pipe.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pipe: function() { return /* binding */ pipe; },\n/* harmony export */ pipeFromArray: function() { return /* binding */ pipeFromArray; }\n/* harmony export */ });\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity */ \"./node_modules/rxjs/_esm5/internal/util/identity.js\");\n/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\n\nfunction pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nfunction pipeFromArray(fns) {\n if (fns.length === 0) {\n return _identity__WEBPACK_IMPORTED_MODULE_0__.identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3BpcGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDc0M7QUFDL0I7QUFDUDtBQUNBLHFCQUFxQix1QkFBdUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsZUFBZSwrQ0FBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELGtCQUFrQjtBQUNsRTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3J4anMvX2VzbTUvaW50ZXJuYWwvdXRpbC9waXBlLmpzPzBlOTAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfaWRlbnRpdHkgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuL2lkZW50aXR5JztcbmV4cG9ydCBmdW5jdGlvbiBwaXBlKCkge1xuICAgIHZhciBmbnMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBmbnNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIHBpcGVGcm9tQXJyYXkoZm5zKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwaXBlRnJvbUFycmF5KGZucykge1xuICAgIGlmIChmbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBpZGVudGl0eTtcbiAgICB9XG4gICAgaWYgKGZucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIGZuc1swXTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHBpcGVkKGlucHV0KSB7XG4gICAgICAgIHJldHVybiBmbnMucmVkdWNlKGZ1bmN0aW9uIChwcmV2LCBmbikgeyByZXR1cm4gZm4ocHJldik7IH0sIGlucHV0KTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGlwZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/pipe.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/subscribeTo.js": -/*!**************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/subscribeTo.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeTo: function() { return /* binding */ subscribeTo; }\n/* harmony export */ });\n/* harmony import */ var _subscribeToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./subscribeToArray */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js\");\n/* harmony import */ var _subscribeToPromise__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./subscribeToPromise */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js\");\n/* harmony import */ var _subscribeToIterable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./subscribeToIterable */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js\");\n/* harmony import */ var _subscribeToObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./subscribeToObservable */ \"./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js\");\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike */ \"./node_modules/rxjs/_esm5/internal/util/isArrayLike.js\");\n/* harmony import */ var _isPromise__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isPromise */ \"./node_modules/rxjs/_esm5/internal/util/isPromise.js\");\n/* harmony import */ var _isObject__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isObject */ \"./node_modules/rxjs/_esm5/internal/util/isObject.js\");\n/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../symbol/iterator */ \"./node_modules/rxjs/_esm5/internal/symbol/iterator.js\");\n/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../symbol/observable */ \"./node_modules/rxjs/_esm5/internal/symbol/observable.js\");\n/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\n\n\n\n\n\n\n\n\n\nvar subscribeTo = function (result) {\n if (!!result && typeof result[_symbol_observable__WEBPACK_IMPORTED_MODULE_0__.observable] === 'function') {\n return (0,_subscribeToObservable__WEBPACK_IMPORTED_MODULE_1__.subscribeToObservable)(result);\n }\n else if ((0,_isArrayLike__WEBPACK_IMPORTED_MODULE_2__.isArrayLike)(result)) {\n return (0,_subscribeToArray__WEBPACK_IMPORTED_MODULE_3__.subscribeToArray)(result);\n }\n else if ((0,_isPromise__WEBPACK_IMPORTED_MODULE_4__.isPromise)(result)) {\n return (0,_subscribeToPromise__WEBPACK_IMPORTED_MODULE_5__.subscribeToPromise)(result);\n }\n else if (!!result && typeof result[_symbol_iterator__WEBPACK_IMPORTED_MODULE_6__.iterator] === 'function') {\n return (0,_subscribeToIterable__WEBPACK_IMPORTED_MODULE_7__.subscribeToIterable)(result);\n }\n else {\n var value = (0,_isObject__WEBPACK_IMPORTED_MODULE_8__.isObject)(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNzRDtBQUNJO0FBQ0U7QUFDSTtBQUNwQjtBQUNKO0FBQ0Y7QUFDMkI7QUFDTTtBQUNoRTtBQUNQLGtDQUFrQywwREFBaUI7QUFDbkQsZUFBZSw2RUFBcUI7QUFDcEM7QUFDQSxhQUFhLHlEQUFXO0FBQ3hCLGVBQWUsbUVBQWdCO0FBQy9CO0FBQ0EsYUFBYSxxREFBUztBQUN0QixlQUFlLHVFQUFrQjtBQUNqQztBQUNBLHVDQUF1QyxzREFBZTtBQUN0RCxlQUFlLHlFQUFtQjtBQUNsQztBQUNBO0FBQ0Esb0JBQW9CLG1EQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvLmpzP2E5ZDEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfc3Vic2NyaWJlVG9BcnJheSxfc3Vic2NyaWJlVG9Qcm9taXNlLF9zdWJzY3JpYmVUb0l0ZXJhYmxlLF9zdWJzY3JpYmVUb09ic2VydmFibGUsX2lzQXJyYXlMaWtlLF9pc1Byb21pc2UsX2lzT2JqZWN0LF9zeW1ib2xfaXRlcmF0b3IsX3N5bWJvbF9vYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IHN1YnNjcmliZVRvQXJyYXkgfSBmcm9tICcuL3N1YnNjcmliZVRvQXJyYXknO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG9Qcm9taXNlIH0gZnJvbSAnLi9zdWJzY3JpYmVUb1Byb21pc2UnO1xuaW1wb3J0IHsgc3Vic2NyaWJlVG9JdGVyYWJsZSB9IGZyb20gJy4vc3Vic2NyaWJlVG9JdGVyYWJsZSc7XG5pbXBvcnQgeyBzdWJzY3JpYmVUb09ic2VydmFibGUgfSBmcm9tICcuL3N1YnNjcmliZVRvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0FycmF5TGlrZSB9IGZyb20gJy4vaXNBcnJheUxpa2UnO1xuaW1wb3J0IHsgaXNQcm9taXNlIH0gZnJvbSAnLi9pc1Byb21pc2UnO1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICcuL2lzT2JqZWN0JztcbmltcG9ydCB7IGl0ZXJhdG9yIGFzIFN5bWJvbF9pdGVyYXRvciB9IGZyb20gJy4uL3N5bWJvbC9pdGVyYXRvcic7XG5pbXBvcnQgeyBvYnNlcnZhYmxlIGFzIFN5bWJvbF9vYnNlcnZhYmxlIH0gZnJvbSAnLi4vc3ltYm9sL29ic2VydmFibGUnO1xuZXhwb3J0IHZhciBzdWJzY3JpYmVUbyA9IGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICBpZiAoISFyZXN1bHQgJiYgdHlwZW9mIHJlc3VsdFtTeW1ib2xfb2JzZXJ2YWJsZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmliZVRvT2JzZXJ2YWJsZShyZXN1bHQpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0FycmF5TGlrZShyZXN1bHQpKSB7XG4gICAgICAgIHJldHVybiBzdWJzY3JpYmVUb0FycmF5KHJlc3VsdCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUHJvbWlzZShyZXN1bHQpKSB7XG4gICAgICAgIHJldHVybiBzdWJzY3JpYmVUb1Byb21pc2UocmVzdWx0KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoISFyZXN1bHQgJiYgdHlwZW9mIHJlc3VsdFtTeW1ib2xfaXRlcmF0b3JdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBzdWJzY3JpYmVUb0l0ZXJhYmxlKHJlc3VsdCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgdmFsdWUgPSBpc09iamVjdChyZXN1bHQpID8gJ2FuIGludmFsaWQgb2JqZWN0JyA6IFwiJ1wiICsgcmVzdWx0ICsgXCInXCI7XG4gICAgICAgIHZhciBtc2cgPSBcIllvdSBwcm92aWRlZCBcIiArIHZhbHVlICsgXCIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLlwiXG4gICAgICAgICAgICArICcgWW91IGNhbiBwcm92aWRlIGFuIE9ic2VydmFibGUsIFByb21pc2UsIEFycmF5LCBvciBJdGVyYWJsZS4nO1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKG1zZyk7XG4gICAgfVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN1YnNjcmliZVRvLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/subscribeTo.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js": -/*!*******************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeToArray: function() { return /* binding */ subscribeToArray; }\n/* harmony export */ });\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvQXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ087QUFDUDtBQUNBLDRDQUE0QywrQkFBK0I7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvc3Vic2NyaWJlVG9BcnJheS5qcz9kZjE4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgIFBVUkVfSU1QT1JUU19FTkQgKi9cbmV4cG9ydCB2YXIgc3Vic2NyaWJlVG9BcnJheSA9IGZ1bmN0aW9uIChhcnJheSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xuICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuICYmICFzdWJzY3JpYmVyLmNsb3NlZDsgaSsrKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoYXJyYXlbaV0pO1xuICAgICAgICB9XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICB9O1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN1YnNjcmliZVRvQXJyYXkuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js": -/*!**********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeToIterable: function() { return /* binding */ subscribeToIterable; }\n/* harmony export */ });\n/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../symbol/iterator */ \"./node_modules/rxjs/_esm5/internal/symbol/iterator.js\");\n/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\n\nvar subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[_symbol_iterator__WEBPACK_IMPORTED_MODULE_0__.iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvSXRlcmFibGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNpRTtBQUMxRDtBQUNQO0FBQ0EsZ0NBQWdDLHNEQUFlO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvc3Vic2NyaWJlVG9JdGVyYWJsZS5qcz9jMzA2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3N5bWJvbF9pdGVyYXRvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBpdGVyYXRvciBhcyBTeW1ib2xfaXRlcmF0b3IgfSBmcm9tICcuLi9zeW1ib2wvaXRlcmF0b3InO1xuZXhwb3J0IHZhciBzdWJzY3JpYmVUb0l0ZXJhYmxlID0gZnVuY3Rpb24gKGl0ZXJhYmxlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhYmxlW1N5bWJvbF9pdGVyYXRvcl0oKTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgdmFyIGl0ZW0gPSB2b2lkIDA7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWJzY3JpYmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZG9uZSkge1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChpdGVtLnZhbHVlKTtcbiAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlICh0cnVlKTtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVyYXRvci5yZXR1cm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuYWRkKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlcmF0b3IucmV0dXJuKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZXJhdG9yLnJldHVybigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJzY3JpYmVyO1xuICAgIH07XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3Vic2NyaWJlVG9JdGVyYWJsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js": -/*!************************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeToObservable: function() { return /* binding */ subscribeToObservable; }\n/* harmony export */ });\n/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../symbol/observable */ \"./node_modules/rxjs/_esm5/internal/symbol/observable.js\");\n/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\n\nvar subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[_symbol_observable__WEBPACK_IMPORTED_MODULE_0__.observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvT2JzZXJ2YWJsZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ3VFO0FBQ2hFO0FBQ1A7QUFDQSxzQkFBc0IsMERBQWlCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvT2JzZXJ2YWJsZS5qcz82ZDQ2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX3N5bWJvbF9vYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IG9ic2VydmFibGUgYXMgU3ltYm9sX29ic2VydmFibGUgfSBmcm9tICcuLi9zeW1ib2wvb2JzZXJ2YWJsZSc7XG5leHBvcnQgdmFyIHN1YnNjcmliZVRvT2JzZXJ2YWJsZSA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICAgICAgdmFyIG9icyA9IG9ialtTeW1ib2xfb2JzZXJ2YWJsZV0oKTtcbiAgICAgICAgaWYgKHR5cGVvZiBvYnMuc3Vic2NyaWJlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQcm92aWRlZCBvYmplY3QgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBTeW1ib2wub2JzZXJ2YWJsZScpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9icy5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgIH1cbiAgICB9O1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN1YnNjcmliZVRvT2JzZXJ2YWJsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js": -/*!*********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeToPromise: function() { return /* binding */ subscribeToPromise; }\n/* harmony export */ });\n/* harmony import */ var _hostReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hostReportError */ \"./node_modules/rxjs/_esm5/internal/util/hostReportError.js\");\n/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\n\nvar subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, _hostReportError__WEBPACK_IMPORTED_MODULE_0__.hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvUHJvbWlzZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ29EO0FBQzdDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxtQkFBbUIsK0JBQStCO0FBQzNELHdCQUF3Qiw2REFBZTtBQUN2QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvUHJvbWlzZS5qcz81NGNjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBQVVJFX0lNUE9SVFNfU1RBUlQgX2hvc3RSZXBvcnRFcnJvciBQVVJFX0lNUE9SVFNfRU5EICovXG5pbXBvcnQgeyBob3N0UmVwb3J0RXJyb3IgfSBmcm9tICcuL2hvc3RSZXBvcnRFcnJvcic7XG5leHBvcnQgdmFyIHN1YnNjcmliZVRvUHJvbWlzZSA9IGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgICAgIHByb21pc2UudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmICghc3Vic2NyaWJlci5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZnVuY3Rpb24gKGVycikgeyByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlcnIpOyB9KVxuICAgICAgICAgICAgLnRoZW4obnVsbCwgaG9zdFJlcG9ydEVycm9yKTtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmliZXI7XG4gICAgfTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdWJzY3JpYmVUb1Byb21pc2UuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js": -/*!********************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ subscribeToResult: function() { return /* binding */ subscribeToResult; }\n/* harmony export */ });\n/* harmony import */ var _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../InnerSubscriber */ \"./node_modules/rxjs/_esm5/internal/InnerSubscriber.js\");\n/* harmony import */ var _subscribeTo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./subscribeTo */ \"./node_modules/rxjs/_esm5/internal/util/subscribeTo.js\");\n/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Observable */ \"./node_modules/rxjs/_esm5/internal/Observable.js\");\n/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */\n\n\n\nfunction subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) {\n innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__.InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof _Observable__WEBPACK_IMPORTED_MODULE_1__.Observable) {\n return result.subscribe(innerSubscriber);\n }\n return (0,_subscribeTo__WEBPACK_IMPORTED_MODULE_2__.subscribeTo)(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3N1YnNjcmliZVRvUmVzdWx0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNxRDtBQUNUO0FBQ0Q7QUFDcEM7QUFDUDtBQUNBLDhCQUE4Qiw2REFBZTtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixtREFBVTtBQUNwQztBQUNBO0FBQ0EsV0FBVyx5REFBVztBQUN0QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvc3Vic2NyaWJlVG9SZXN1bHQuanM/NTY0ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUIF9Jbm5lclN1YnNjcmliZXIsX3N1YnNjcmliZVRvLF9PYnNlcnZhYmxlIFBVUkVfSU1QT1JUU19FTkQgKi9cbmltcG9ydCB7IElubmVyU3Vic2NyaWJlciB9IGZyb20gJy4uL0lubmVyU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBzdWJzY3JpYmVUbyB9IGZyb20gJy4vc3Vic2NyaWJlVG8nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuZXhwb3J0IGZ1bmN0aW9uIHN1YnNjcmliZVRvUmVzdWx0KG91dGVyU3Vic2NyaWJlciwgcmVzdWx0LCBvdXRlclZhbHVlLCBvdXRlckluZGV4LCBpbm5lclN1YnNjcmliZXIpIHtcbiAgICBpZiAoaW5uZXJTdWJzY3JpYmVyID09PSB2b2lkIDApIHtcbiAgICAgICAgaW5uZXJTdWJzY3JpYmVyID0gbmV3IElubmVyU3Vic2NyaWJlcihvdXRlclN1YnNjcmliZXIsIG91dGVyVmFsdWUsIG91dGVySW5kZXgpO1xuICAgIH1cbiAgICBpZiAoaW5uZXJTdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0LnN1YnNjcmliZShpbm5lclN1YnNjcmliZXIpO1xuICAgIH1cbiAgICByZXR1cm4gc3Vic2NyaWJlVG8ocmVzdWx0KShpbm5lclN1YnNjcmliZXIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3Vic2NyaWJlVG9SZXN1bHQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/internal/util/toSubscriber.js": -/*!***************************************************************!*\ - !*** ./node_modules/rxjs/_esm5/internal/util/toSubscriber.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toSubscriber: function() { return /* binding */ toSubscriber; }\n/* harmony export */ });\n/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Subscriber */ \"./node_modules/rxjs/_esm5/internal/Subscriber.js\");\n/* harmony import */ var _symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../symbol/rxSubscriber */ \"./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js\");\n/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Observer */ \"./node_modules/rxjs/_esm5/internal/Observer.js\");\n/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\n\n\n\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof _Subscriber__WEBPACK_IMPORTED_MODULE_0__.Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__.rxSubscriber]) {\n return nextOrObserver[_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__.rxSubscriber]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new _Subscriber__WEBPACK_IMPORTED_MODULE_0__.Subscriber(_Observer__WEBPACK_IMPORTED_MODULE_2__.empty);\n }\n return new _Subscriber__WEBPACK_IMPORTED_MODULE_0__.Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9pbnRlcm5hbC91dGlsL3RvU3Vic2NyaWJlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDMkM7QUFDaUM7QUFDdkI7QUFDOUM7QUFDUDtBQUNBLHNDQUFzQyxtREFBVTtBQUNoRDtBQUNBO0FBQ0EsMkJBQTJCLDhEQUFrQjtBQUM3QyxrQ0FBa0MsOERBQWtCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtREFBVSxDQUFDLDRDQUFhO0FBQzNDO0FBQ0EsZUFBZSxtREFBVTtBQUN6QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL19lc201L2ludGVybmFsL3V0aWwvdG9TdWJzY3JpYmVyLmpzP2ViOTciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFBVUkVfSU1QT1JUU19TVEFSVCBfU3Vic2NyaWJlcixfc3ltYm9sX3J4U3Vic2NyaWJlcixfT2JzZXJ2ZXIgUFVSRV9JTVBPUlRTX0VORCAqL1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgcnhTdWJzY3JpYmVyIGFzIHJ4U3Vic2NyaWJlclN5bWJvbCB9IGZyb20gJy4uL3N5bWJvbC9yeFN1YnNjcmliZXInO1xuaW1wb3J0IHsgZW1wdHkgYXMgZW1wdHlPYnNlcnZlciB9IGZyb20gJy4uL09ic2VydmVyJztcbmV4cG9ydCBmdW5jdGlvbiB0b1N1YnNjcmliZXIobmV4dE9yT2JzZXJ2ZXIsIGVycm9yLCBjb21wbGV0ZSkge1xuICAgIGlmIChuZXh0T3JPYnNlcnZlcikge1xuICAgICAgICBpZiAobmV4dE9yT2JzZXJ2ZXIgaW5zdGFuY2VvZiBTdWJzY3JpYmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dE9yT2JzZXJ2ZXI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5leHRPck9ic2VydmVyW3J4U3Vic2NyaWJlclN5bWJvbF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0T3JPYnNlcnZlcltyeFN1YnNjcmliZXJTeW1ib2xdKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFuZXh0T3JPYnNlcnZlciAmJiAhZXJyb3IgJiYgIWNvbXBsZXRlKSB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaWJlcihlbXB0eU9ic2VydmVyKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpYmVyKG5leHRPck9ic2VydmVyLCBlcnJvciwgY29tcGxldGUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9TdWJzY3JpYmVyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/internal/util/toSubscriber.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/_esm5/operators/index.js": -/*!****************************************************!*\ - !*** ./node_modules/rxjs/_esm5/operators/index.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ audit: function() { return /* reexport safe */ _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__.audit; },\n/* harmony export */ auditTime: function() { return /* reexport safe */ _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__.auditTime; },\n/* harmony export */ buffer: function() { return /* reexport safe */ _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__.buffer; },\n/* harmony export */ bufferCount: function() { return /* reexport safe */ _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__.bufferCount; },\n/* harmony export */ bufferTime: function() { return /* reexport safe */ _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__.bufferTime; },\n/* harmony export */ bufferToggle: function() { return /* reexport safe */ _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__.bufferToggle; },\n/* harmony export */ bufferWhen: function() { return /* reexport safe */ _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__.bufferWhen; },\n/* harmony export */ catchError: function() { return /* reexport safe */ _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__.catchError; },\n/* harmony export */ combineAll: function() { return /* reexport safe */ _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__.combineAll; },\n/* harmony export */ combineLatest: function() { return /* reexport safe */ _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__.combineLatest; },\n/* harmony export */ concat: function() { return /* reexport safe */ _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__.concat; },\n/* harmony export */ concatAll: function() { return /* reexport safe */ _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__.concatAll; },\n/* harmony export */ concatMap: function() { return /* reexport safe */ _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__.concatMap; },\n/* harmony export */ concatMapTo: function() { return /* reexport safe */ _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__.concatMapTo; },\n/* harmony export */ count: function() { return /* reexport safe */ _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__.count; },\n/* harmony export */ debounce: function() { return /* reexport safe */ _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__.debounce; },\n/* harmony export */ debounceTime: function() { return /* reexport safe */ _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__.debounceTime; },\n/* harmony export */ defaultIfEmpty: function() { return /* reexport safe */ _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__.defaultIfEmpty; },\n/* harmony export */ delay: function() { return /* reexport safe */ _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__.delay; },\n/* harmony export */ delayWhen: function() { return /* reexport safe */ _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__.delayWhen; },\n/* harmony export */ dematerialize: function() { return /* reexport safe */ _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__.dematerialize; },\n/* harmony export */ distinct: function() { return /* reexport safe */ _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__.distinct; },\n/* harmony export */ distinctUntilChanged: function() { return /* reexport safe */ _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__.distinctUntilChanged; },\n/* harmony export */ distinctUntilKeyChanged: function() { return /* reexport safe */ _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__.distinctUntilKeyChanged; },\n/* harmony export */ elementAt: function() { return /* reexport safe */ _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__.elementAt; },\n/* harmony export */ endWith: function() { return /* reexport safe */ _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__.endWith; },\n/* harmony export */ every: function() { return /* reexport safe */ _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__.every; },\n/* harmony export */ exhaust: function() { return /* reexport safe */ _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__.exhaust; },\n/* harmony export */ exhaustMap: function() { return /* reexport safe */ _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__.exhaustMap; },\n/* harmony export */ expand: function() { return /* reexport safe */ _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__.expand; },\n/* harmony export */ filter: function() { return /* reexport safe */ _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__.filter; },\n/* harmony export */ finalize: function() { return /* reexport safe */ _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__.finalize; },\n/* harmony export */ find: function() { return /* reexport safe */ _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__.find; },\n/* harmony export */ findIndex: function() { return /* reexport safe */ _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__.findIndex; },\n/* harmony export */ first: function() { return /* reexport safe */ _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__.first; },\n/* harmony export */ flatMap: function() { return /* reexport safe */ _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__.flatMap; },\n/* harmony export */ groupBy: function() { return /* reexport safe */ _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__.groupBy; },\n/* harmony export */ ignoreElements: function() { return /* reexport safe */ _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__.ignoreElements; },\n/* harmony export */ isEmpty: function() { return /* reexport safe */ _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__.isEmpty; },\n/* harmony export */ last: function() { return /* reexport safe */ _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__.last; },\n/* harmony export */ map: function() { return /* reexport safe */ _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__.map; },\n/* harmony export */ mapTo: function() { return /* reexport safe */ _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__.mapTo; },\n/* harmony export */ materialize: function() { return /* reexport safe */ _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__.materialize; },\n/* harmony export */ max: function() { return /* reexport safe */ _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__.max; },\n/* harmony export */ merge: function() { return /* reexport safe */ _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__.merge; },\n/* harmony export */ mergeAll: function() { return /* reexport safe */ _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__.mergeAll; },\n/* harmony export */ mergeMap: function() { return /* reexport safe */ _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__.mergeMap; },\n/* harmony export */ mergeMapTo: function() { return /* reexport safe */ _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__.mergeMapTo; },\n/* harmony export */ mergeScan: function() { return /* reexport safe */ _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__.mergeScan; },\n/* harmony export */ min: function() { return /* reexport safe */ _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__.min; },\n/* harmony export */ multicast: function() { return /* reexport safe */ _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__.multicast; },\n/* harmony export */ observeOn: function() { return /* reexport safe */ _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__.observeOn; },\n/* harmony export */ onErrorResumeNext: function() { return /* reexport safe */ _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__.onErrorResumeNext; },\n/* harmony export */ pairwise: function() { return /* reexport safe */ _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__.pairwise; },\n/* harmony export */ partition: function() { return /* reexport safe */ _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__.partition; },\n/* harmony export */ pluck: function() { return /* reexport safe */ _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__.pluck; },\n/* harmony export */ publish: function() { return /* reexport safe */ _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__.publish; },\n/* harmony export */ publishBehavior: function() { return /* reexport safe */ _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__.publishBehavior; },\n/* harmony export */ publishLast: function() { return /* reexport safe */ _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__.publishLast; },\n/* harmony export */ publishReplay: function() { return /* reexport safe */ _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__.publishReplay; },\n/* harmony export */ race: function() { return /* reexport safe */ _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__.race; },\n/* harmony export */ reduce: function() { return /* reexport safe */ _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__.reduce; },\n/* harmony export */ refCount: function() { return /* reexport safe */ _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__.refCount; },\n/* harmony export */ repeat: function() { return /* reexport safe */ _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__.repeat; },\n/* harmony export */ repeatWhen: function() { return /* reexport safe */ _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__.repeatWhen; },\n/* harmony export */ retry: function() { return /* reexport safe */ _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__.retry; },\n/* harmony export */ retryWhen: function() { return /* reexport safe */ _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__.retryWhen; },\n/* harmony export */ sample: function() { return /* reexport safe */ _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__.sample; },\n/* harmony export */ sampleTime: function() { return /* reexport safe */ _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__.sampleTime; },\n/* harmony export */ scan: function() { return /* reexport safe */ _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__.scan; },\n/* harmony export */ sequenceEqual: function() { return /* reexport safe */ _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__.sequenceEqual; },\n/* harmony export */ share: function() { return /* reexport safe */ _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__.share; },\n/* harmony export */ shareReplay: function() { return /* reexport safe */ _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__.shareReplay; },\n/* harmony export */ single: function() { return /* reexport safe */ _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__.single; },\n/* harmony export */ skip: function() { return /* reexport safe */ _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__.skip; },\n/* harmony export */ skipLast: function() { return /* reexport safe */ _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__.skipLast; },\n/* harmony export */ skipUntil: function() { return /* reexport safe */ _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__.skipUntil; },\n/* harmony export */ skipWhile: function() { return /* reexport safe */ _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__.skipWhile; },\n/* harmony export */ startWith: function() { return /* reexport safe */ _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__.startWith; },\n/* harmony export */ subscribeOn: function() { return /* reexport safe */ _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__.subscribeOn; },\n/* harmony export */ switchAll: function() { return /* reexport safe */ _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__.switchAll; },\n/* harmony export */ switchMap: function() { return /* reexport safe */ _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__.switchMap; },\n/* harmony export */ switchMapTo: function() { return /* reexport safe */ _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__.switchMapTo; },\n/* harmony export */ take: function() { return /* reexport safe */ _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__.take; },\n/* harmony export */ takeLast: function() { return /* reexport safe */ _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__.takeLast; },\n/* harmony export */ takeUntil: function() { return /* reexport safe */ _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__.takeUntil; },\n/* harmony export */ takeWhile: function() { return /* reexport safe */ _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__.takeWhile; },\n/* harmony export */ tap: function() { return /* reexport safe */ _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__.tap; },\n/* harmony export */ throttle: function() { return /* reexport safe */ _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__.throttle; },\n/* harmony export */ throttleTime: function() { return /* reexport safe */ _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__.throttleTime; },\n/* harmony export */ throwIfEmpty: function() { return /* reexport safe */ _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__.throwIfEmpty; },\n/* harmony export */ timeInterval: function() { return /* reexport safe */ _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__.timeInterval; },\n/* harmony export */ timeout: function() { return /* reexport safe */ _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__.timeout; },\n/* harmony export */ timeoutWith: function() { return /* reexport safe */ _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__.timeoutWith; },\n/* harmony export */ timestamp: function() { return /* reexport safe */ _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__.timestamp; },\n/* harmony export */ toArray: function() { return /* reexport safe */ _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__.toArray; },\n/* harmony export */ window: function() { return /* reexport safe */ _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__.window; },\n/* harmony export */ windowCount: function() { return /* reexport safe */ _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__.windowCount; },\n/* harmony export */ windowTime: function() { return /* reexport safe */ _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__.windowTime; },\n/* harmony export */ windowToggle: function() { return /* reexport safe */ _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__.windowToggle; },\n/* harmony export */ windowWhen: function() { return /* reexport safe */ _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__.windowWhen; },\n/* harmony export */ withLatestFrom: function() { return /* reexport safe */ _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__.withLatestFrom; },\n/* harmony export */ zip: function() { return /* reexport safe */ _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__.zip; },\n/* harmony export */ zipAll: function() { return /* reexport safe */ _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__.zipAll; }\n/* harmony export */ });\n/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/operators/audit */ \"./node_modules/rxjs/_esm5/internal/operators/audit.js\");\n/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/operators/auditTime */ \"./node_modules/rxjs/_esm5/internal/operators/auditTime.js\");\n/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/operators/buffer */ \"./node_modules/rxjs/_esm5/internal/operators/buffer.js\");\n/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../internal/operators/bufferCount */ \"./node_modules/rxjs/_esm5/internal/operators/bufferCount.js\");\n/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internal/operators/bufferTime */ \"./node_modules/rxjs/_esm5/internal/operators/bufferTime.js\");\n/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../internal/operators/bufferToggle */ \"./node_modules/rxjs/_esm5/internal/operators/bufferToggle.js\");\n/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../internal/operators/bufferWhen */ \"./node_modules/rxjs/_esm5/internal/operators/bufferWhen.js\");\n/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../internal/operators/catchError */ \"./node_modules/rxjs/_esm5/internal/operators/catchError.js\");\n/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../internal/operators/combineAll */ \"./node_modules/rxjs/_esm5/internal/operators/combineAll.js\");\n/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../internal/operators/combineLatest */ \"./node_modules/rxjs/_esm5/internal/operators/combineLatest.js\");\n/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../internal/operators/concat */ \"./node_modules/rxjs/_esm5/internal/operators/concat.js\");\n/* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../internal/operators/concatAll */ \"./node_modules/rxjs/_esm5/internal/operators/concatAll.js\");\n/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../internal/operators/concatMap */ \"./node_modules/rxjs/_esm5/internal/operators/concatMap.js\");\n/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../internal/operators/concatMapTo */ \"./node_modules/rxjs/_esm5/internal/operators/concatMapTo.js\");\n/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../internal/operators/count */ \"./node_modules/rxjs/_esm5/internal/operators/count.js\");\n/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../internal/operators/debounce */ \"./node_modules/rxjs/_esm5/internal/operators/debounce.js\");\n/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../internal/operators/debounceTime */ \"./node_modules/rxjs/_esm5/internal/operators/debounceTime.js\");\n/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../internal/operators/defaultIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js\");\n/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../internal/operators/delay */ \"./node_modules/rxjs/_esm5/internal/operators/delay.js\");\n/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../internal/operators/delayWhen */ \"./node_modules/rxjs/_esm5/internal/operators/delayWhen.js\");\n/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../internal/operators/dematerialize */ \"./node_modules/rxjs/_esm5/internal/operators/dematerialize.js\");\n/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../internal/operators/distinct */ \"./node_modules/rxjs/_esm5/internal/operators/distinct.js\");\n/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../internal/operators/distinctUntilChanged */ \"./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js\");\n/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../internal/operators/distinctUntilKeyChanged */ \"./node_modules/rxjs/_esm5/internal/operators/distinctUntilKeyChanged.js\");\n/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../internal/operators/elementAt */ \"./node_modules/rxjs/_esm5/internal/operators/elementAt.js\");\n/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../internal/operators/endWith */ \"./node_modules/rxjs/_esm5/internal/operators/endWith.js\");\n/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../internal/operators/every */ \"./node_modules/rxjs/_esm5/internal/operators/every.js\");\n/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../internal/operators/exhaust */ \"./node_modules/rxjs/_esm5/internal/operators/exhaust.js\");\n/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../internal/operators/exhaustMap */ \"./node_modules/rxjs/_esm5/internal/operators/exhaustMap.js\");\n/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../internal/operators/expand */ \"./node_modules/rxjs/_esm5/internal/operators/expand.js\");\n/* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../internal/operators/filter */ \"./node_modules/rxjs/_esm5/internal/operators/filter.js\");\n/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../internal/operators/finalize */ \"./node_modules/rxjs/_esm5/internal/operators/finalize.js\");\n/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../internal/operators/find */ \"./node_modules/rxjs/_esm5/internal/operators/find.js\");\n/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../internal/operators/findIndex */ \"./node_modules/rxjs/_esm5/internal/operators/findIndex.js\");\n/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../internal/operators/first */ \"./node_modules/rxjs/_esm5/internal/operators/first.js\");\n/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../internal/operators/groupBy */ \"./node_modules/rxjs/_esm5/internal/operators/groupBy.js\");\n/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../internal/operators/ignoreElements */ \"./node_modules/rxjs/_esm5/internal/operators/ignoreElements.js\");\n/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../internal/operators/isEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/isEmpty.js\");\n/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../internal/operators/last */ \"./node_modules/rxjs/_esm5/internal/operators/last.js\");\n/* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../internal/operators/map */ \"./node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../internal/operators/mapTo */ \"./node_modules/rxjs/_esm5/internal/operators/mapTo.js\");\n/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../internal/operators/materialize */ \"./node_modules/rxjs/_esm5/internal/operators/materialize.js\");\n/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../internal/operators/max */ \"./node_modules/rxjs/_esm5/internal/operators/max.js\");\n/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../internal/operators/merge */ \"./node_modules/rxjs/_esm5/internal/operators/merge.js\");\n/* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../internal/operators/mergeAll */ \"./node_modules/rxjs/_esm5/internal/operators/mergeAll.js\");\n/* harmony import */ var _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../internal/operators/mergeMap */ \"./node_modules/rxjs/_esm5/internal/operators/mergeMap.js\");\n/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../internal/operators/mergeMapTo */ \"./node_modules/rxjs/_esm5/internal/operators/mergeMapTo.js\");\n/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../internal/operators/mergeScan */ \"./node_modules/rxjs/_esm5/internal/operators/mergeScan.js\");\n/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../internal/operators/min */ \"./node_modules/rxjs/_esm5/internal/operators/min.js\");\n/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../internal/operators/multicast */ \"./node_modules/rxjs/_esm5/internal/operators/multicast.js\");\n/* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../internal/operators/observeOn */ \"./node_modules/rxjs/_esm5/internal/operators/observeOn.js\");\n/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../internal/operators/onErrorResumeNext */ \"./node_modules/rxjs/_esm5/internal/operators/onErrorResumeNext.js\");\n/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../internal/operators/pairwise */ \"./node_modules/rxjs/_esm5/internal/operators/pairwise.js\");\n/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../internal/operators/partition */ \"./node_modules/rxjs/_esm5/internal/operators/partition.js\");\n/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../internal/operators/pluck */ \"./node_modules/rxjs/_esm5/internal/operators/pluck.js\");\n/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../internal/operators/publish */ \"./node_modules/rxjs/_esm5/internal/operators/publish.js\");\n/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../internal/operators/publishBehavior */ \"./node_modules/rxjs/_esm5/internal/operators/publishBehavior.js\");\n/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../internal/operators/publishLast */ \"./node_modules/rxjs/_esm5/internal/operators/publishLast.js\");\n/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../internal/operators/publishReplay */ \"./node_modules/rxjs/_esm5/internal/operators/publishReplay.js\");\n/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../internal/operators/race */ \"./node_modules/rxjs/_esm5/internal/operators/race.js\");\n/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../internal/operators/reduce */ \"./node_modules/rxjs/_esm5/internal/operators/reduce.js\");\n/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../internal/operators/repeat */ \"./node_modules/rxjs/_esm5/internal/operators/repeat.js\");\n/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../internal/operators/repeatWhen */ \"./node_modules/rxjs/_esm5/internal/operators/repeatWhen.js\");\n/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../internal/operators/retry */ \"./node_modules/rxjs/_esm5/internal/operators/retry.js\");\n/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../internal/operators/retryWhen */ \"./node_modules/rxjs/_esm5/internal/operators/retryWhen.js\");\n/* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../internal/operators/refCount */ \"./node_modules/rxjs/_esm5/internal/operators/refCount.js\");\n/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../internal/operators/sample */ \"./node_modules/rxjs/_esm5/internal/operators/sample.js\");\n/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../internal/operators/sampleTime */ \"./node_modules/rxjs/_esm5/internal/operators/sampleTime.js\");\n/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../internal/operators/scan */ \"./node_modules/rxjs/_esm5/internal/operators/scan.js\");\n/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../internal/operators/sequenceEqual */ \"./node_modules/rxjs/_esm5/internal/operators/sequenceEqual.js\");\n/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../internal/operators/share */ \"./node_modules/rxjs/_esm5/internal/operators/share.js\");\n/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../internal/operators/shareReplay */ \"./node_modules/rxjs/_esm5/internal/operators/shareReplay.js\");\n/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../internal/operators/single */ \"./node_modules/rxjs/_esm5/internal/operators/single.js\");\n/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../internal/operators/skip */ \"./node_modules/rxjs/_esm5/internal/operators/skip.js\");\n/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../internal/operators/skipLast */ \"./node_modules/rxjs/_esm5/internal/operators/skipLast.js\");\n/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../internal/operators/skipUntil */ \"./node_modules/rxjs/_esm5/internal/operators/skipUntil.js\");\n/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../internal/operators/skipWhile */ \"./node_modules/rxjs/_esm5/internal/operators/skipWhile.js\");\n/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../internal/operators/startWith */ \"./node_modules/rxjs/_esm5/internal/operators/startWith.js\");\n/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../internal/operators/subscribeOn */ \"./node_modules/rxjs/_esm5/internal/operators/subscribeOn.js\");\n/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../internal/operators/switchAll */ \"./node_modules/rxjs/_esm5/internal/operators/switchAll.js\");\n/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../internal/operators/switchMap */ \"./node_modules/rxjs/_esm5/internal/operators/switchMap.js\");\n/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../internal/operators/switchMapTo */ \"./node_modules/rxjs/_esm5/internal/operators/switchMapTo.js\");\n/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ../internal/operators/take */ \"./node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ../internal/operators/takeLast */ \"./node_modules/rxjs/_esm5/internal/operators/takeLast.js\");\n/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ../internal/operators/takeUntil */ \"./node_modules/rxjs/_esm5/internal/operators/takeUntil.js\");\n/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ../internal/operators/takeWhile */ \"./node_modules/rxjs/_esm5/internal/operators/takeWhile.js\");\n/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ../internal/operators/tap */ \"./node_modules/rxjs/_esm5/internal/operators/tap.js\");\n/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ../internal/operators/throttle */ \"./node_modules/rxjs/_esm5/internal/operators/throttle.js\");\n/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ../internal/operators/throttleTime */ \"./node_modules/rxjs/_esm5/internal/operators/throttleTime.js\");\n/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ../internal/operators/throwIfEmpty */ \"./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js\");\n/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ../internal/operators/timeInterval */ \"./node_modules/rxjs/_esm5/internal/operators/timeInterval.js\");\n/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ../internal/operators/timeout */ \"./node_modules/rxjs/_esm5/internal/operators/timeout.js\");\n/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ../internal/operators/timeoutWith */ \"./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js\");\n/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ../internal/operators/timestamp */ \"./node_modules/rxjs/_esm5/internal/operators/timestamp.js\");\n/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ../internal/operators/toArray */ \"./node_modules/rxjs/_esm5/internal/operators/toArray.js\");\n/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ../internal/operators/window */ \"./node_modules/rxjs/_esm5/internal/operators/window.js\");\n/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ../internal/operators/windowCount */ \"./node_modules/rxjs/_esm5/internal/operators/windowCount.js\");\n/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ../internal/operators/windowTime */ \"./node_modules/rxjs/_esm5/internal/operators/windowTime.js\");\n/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ../internal/operators/windowToggle */ \"./node_modules/rxjs/_esm5/internal/operators/windowToggle.js\");\n/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ../internal/operators/windowWhen */ \"./node_modules/rxjs/_esm5/internal/operators/windowWhen.js\");\n/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ../internal/operators/withLatestFrom */ \"./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js\");\n/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ../internal/operators/zip */ \"./node_modules/rxjs/_esm5/internal/operators/zip.js\");\n/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ../internal/operators/zipAll */ \"./node_modules/rxjs/_esm5/internal/operators/zipAll.js\");\n/** PURE_IMPORTS_START PURE_IMPORTS_END */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9vcGVyYXRvcnMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDb0Q7QUFDUTtBQUNOO0FBQ1U7QUFDRjtBQUNJO0FBQ0o7QUFDQTtBQUNBO0FBQ007QUFDZDtBQUNNO0FBQ0E7QUFDSTtBQUNaO0FBQ007QUFDUTtBQUNJO0FBQ2xCO0FBQ1E7QUFDUTtBQUNWO0FBQ3dCO0FBQ007QUFDNUI7QUFDSjtBQUNKO0FBQ0k7QUFDTTtBQUNSO0FBQ0E7QUFDSTtBQUNSO0FBQ1U7QUFDUjtBQUNJO0FBQ2M7QUFDZDtBQUNOO0FBQ0Y7QUFDSTtBQUNZO0FBQ2hCO0FBQ0k7QUFDTTtBQUNTO0FBQ0w7QUFDRjtBQUNaO0FBQ1k7QUFDQTtBQUNnQjtBQUNsQjtBQUNFO0FBQ1I7QUFDSTtBQUNnQjtBQUNSO0FBQ0k7QUFDbEI7QUFDSTtBQUNBO0FBQ1E7QUFDVjtBQUNRO0FBQ0Y7QUFDSjtBQUNRO0FBQ1o7QUFDa0I7QUFDaEI7QUFDWTtBQUNWO0FBQ0o7QUFDUTtBQUNFO0FBQ0E7QUFDQTtBQUNJO0FBQ0o7QUFDQTtBQUNJO0FBQ2Q7QUFDUTtBQUNFO0FBQ0E7QUFDWjtBQUNVO0FBQ1E7QUFDQTtBQUNBO0FBQ1Y7QUFDUTtBQUNKO0FBQ0o7QUFDRjtBQUNVO0FBQ0Y7QUFDSTtBQUNKO0FBQ1E7QUFDdEI7QUFDTTtBQUN0RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcnhqcy9fZXNtNS9vcGVyYXRvcnMvaW5kZXguanM/NjE0NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUFVSRV9JTVBPUlRTX1NUQVJUICBQVVJFX0lNUE9SVFNfRU5EICovXG5leHBvcnQgeyBhdWRpdCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9hdWRpdCc7XG5leHBvcnQgeyBhdWRpdFRpbWUgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvYXVkaXRUaW1lJztcbmV4cG9ydCB7IGJ1ZmZlciB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXInO1xuZXhwb3J0IHsgYnVmZmVyQ291bnQgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyQ291bnQnO1xuZXhwb3J0IHsgYnVmZmVyVGltZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJUaW1lJztcbmV4cG9ydCB7IGJ1ZmZlclRvZ2dsZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJUb2dnbGUnO1xuZXhwb3J0IHsgYnVmZmVyV2hlbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJXaGVuJztcbmV4cG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvY2F0Y2hFcnJvcic7XG5leHBvcnQgeyBjb21iaW5lQWxsIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvbWJpbmVBbGwnO1xuZXhwb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9jb21iaW5lTGF0ZXN0JztcbmV4cG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9jb25jYXQnO1xuZXhwb3J0IHsgY29uY2F0QWxsIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdEFsbCc7XG5leHBvcnQgeyBjb25jYXRNYXAgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0TWFwJztcbmV4cG9ydCB7IGNvbmNhdE1hcFRvIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdE1hcFRvJztcbmV4cG9ydCB7IGNvdW50IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvdW50JztcbmV4cG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2RlYm91bmNlJztcbmV4cG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9kZWJvdW5jZVRpbWUnO1xuZXhwb3J0IHsgZGVmYXVsdElmRW1wdHkgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGVmYXVsdElmRW1wdHknO1xuZXhwb3J0IHsgZGVsYXkgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXknO1xuZXhwb3J0IHsgZGVsYXlXaGVuIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2RlbGF5V2hlbic7XG5leHBvcnQgeyBkZW1hdGVyaWFsaXplIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2RlbWF0ZXJpYWxpemUnO1xuZXhwb3J0IHsgZGlzdGluY3QgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3QnO1xuZXhwb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3RVbnRpbENoYW5nZWQnO1xuZXhwb3J0IHsgZGlzdGluY3RVbnRpbEtleUNoYW5nZWQgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3RVbnRpbEtleUNoYW5nZWQnO1xuZXhwb3J0IHsgZWxlbWVudEF0IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2VsZW1lbnRBdCc7XG5leHBvcnQgeyBlbmRXaXRoIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2VuZFdpdGgnO1xuZXhwb3J0IHsgZXZlcnkgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZXZlcnknO1xuZXhwb3J0IHsgZXhoYXVzdCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9leGhhdXN0JztcbmV4cG9ydCB7IGV4aGF1c3RNYXAgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZXhoYXVzdE1hcCc7XG5leHBvcnQgeyBleHBhbmQgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZXhwYW5kJztcbmV4cG9ydCB7IGZpbHRlciB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9maWx0ZXInO1xuZXhwb3J0IHsgZmluYWxpemUgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZmluYWxpemUnO1xuZXhwb3J0IHsgZmluZCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9maW5kJztcbmV4cG9ydCB7IGZpbmRJbmRleCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9maW5kSW5kZXgnO1xuZXhwb3J0IHsgZmlyc3QgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvZmlyc3QnO1xuZXhwb3J0IHsgZ3JvdXBCeSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9ncm91cEJ5JztcbmV4cG9ydCB7IGlnbm9yZUVsZW1lbnRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2lnbm9yZUVsZW1lbnRzJztcbmV4cG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvaXNFbXB0eSc7XG5leHBvcnQgeyBsYXN0IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL2xhc3QnO1xuZXhwb3J0IHsgbWFwIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL21hcCc7XG5leHBvcnQgeyBtYXBUbyB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9tYXBUbyc7XG5leHBvcnQgeyBtYXRlcmlhbGl6ZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9tYXRlcmlhbGl6ZSc7XG5leHBvcnQgeyBtYXggfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWF4JztcbmV4cG9ydCB7IG1lcmdlIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlJztcbmV4cG9ydCB7IG1lcmdlQWxsIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlQWxsJztcbmV4cG9ydCB7IG1lcmdlTWFwLCBmbGF0TWFwIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlTWFwJztcbmV4cG9ydCB7IG1lcmdlTWFwVG8gfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VNYXBUbyc7XG5leHBvcnQgeyBtZXJnZVNjYW4gfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VTY2FuJztcbmV4cG9ydCB7IG1pbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9taW4nO1xuZXhwb3J0IHsgbXVsdGljYXN0IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL211bHRpY2FzdCc7XG5leHBvcnQgeyBvYnNlcnZlT24gfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvb2JzZXJ2ZU9uJztcbmV4cG9ydCB7IG9uRXJyb3JSZXN1bWVOZXh0IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL29uRXJyb3JSZXN1bWVOZXh0JztcbmV4cG9ydCB7IHBhaXJ3aXNlIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3BhaXJ3aXNlJztcbmV4cG9ydCB7IHBhcnRpdGlvbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9wYXJ0aXRpb24nO1xuZXhwb3J0IHsgcGx1Y2sgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvcGx1Y2snO1xuZXhwb3J0IHsgcHVibGlzaCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9wdWJsaXNoJztcbmV4cG9ydCB7IHB1Ymxpc2hCZWhhdmlvciB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9wdWJsaXNoQmVoYXZpb3InO1xuZXhwb3J0IHsgcHVibGlzaExhc3QgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaExhc3QnO1xuZXhwb3J0IHsgcHVibGlzaFJlcGxheSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9wdWJsaXNoUmVwbGF5JztcbmV4cG9ydCB7IHJhY2UgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvcmFjZSc7XG5leHBvcnQgeyByZWR1Y2UgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvcmVkdWNlJztcbmV4cG9ydCB7IHJlcGVhdCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9yZXBlYXQnO1xuZXhwb3J0IHsgcmVwZWF0V2hlbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9yZXBlYXRXaGVuJztcbmV4cG9ydCB7IHJldHJ5IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3JldHJ5JztcbmV4cG9ydCB7IHJldHJ5V2hlbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9yZXRyeVdoZW4nO1xuZXhwb3J0IHsgcmVmQ291bnQgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvcmVmQ291bnQnO1xuZXhwb3J0IHsgc2FtcGxlIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3NhbXBsZSc7XG5leHBvcnQgeyBzYW1wbGVUaW1lIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3NhbXBsZVRpbWUnO1xuZXhwb3J0IHsgc2NhbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9zY2FuJztcbmV4cG9ydCB7IHNlcXVlbmNlRXF1YWwgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvc2VxdWVuY2VFcXVhbCc7XG5leHBvcnQgeyBzaGFyZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9zaGFyZSc7XG5leHBvcnQgeyBzaGFyZVJlcGxheSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9zaGFyZVJlcGxheSc7XG5leHBvcnQgeyBzaW5nbGUgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvc2luZ2xlJztcbmV4cG9ydCB7IHNraXAgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcCc7XG5leHBvcnQgeyBza2lwTGFzdCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9za2lwTGFzdCc7XG5leHBvcnQgeyBza2lwVW50aWwgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcFVudGlsJztcbmV4cG9ydCB7IHNraXBXaGlsZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9za2lwV2hpbGUnO1xuZXhwb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3N0YXJ0V2l0aCc7XG5leHBvcnQgeyBzdWJzY3JpYmVPbiB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9zdWJzY3JpYmVPbic7XG5leHBvcnQgeyBzd2l0Y2hBbGwgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoQWxsJztcbmV4cG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy9zd2l0Y2hNYXAnO1xuZXhwb3J0IHsgc3dpdGNoTWFwVG8gfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoTWFwVG8nO1xuZXhwb3J0IHsgdGFrZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy90YWtlJztcbmV4cG9ydCB7IHRha2VMYXN0IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rha2VMYXN0JztcbmV4cG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy90YWtlVW50aWwnO1xuZXhwb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rha2VXaGlsZSc7XG5leHBvcnQgeyB0YXAgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGFwJztcbmV4cG9ydCB7IHRocm90dGxlIH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rocm90dGxlJztcbmV4cG9ydCB7IHRocm90dGxlVGltZSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy90aHJvdHRsZVRpbWUnO1xuZXhwb3J0IHsgdGhyb3dJZkVtcHR5IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rocm93SWZFbXB0eSc7XG5leHBvcnQgeyB0aW1lSW50ZXJ2YWwgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZUludGVydmFsJztcbmV4cG9ydCB7IHRpbWVvdXQgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZW91dCc7XG5leHBvcnQgeyB0aW1lb3V0V2l0aCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy90aW1lb3V0V2l0aCc7XG5leHBvcnQgeyB0aW1lc3RhbXAgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZXN0YW1wJztcbmV4cG9ydCB7IHRvQXJyYXkgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvdG9BcnJheSc7XG5leHBvcnQgeyB3aW5kb3cgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93JztcbmV4cG9ydCB7IHdpbmRvd0NvdW50IH0gZnJvbSAnLi4vaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd0NvdW50JztcbmV4cG9ydCB7IHdpbmRvd1RpbWUgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93VGltZSc7XG5leHBvcnQgeyB3aW5kb3dUb2dnbGUgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93VG9nZ2xlJztcbmV4cG9ydCB7IHdpbmRvd1doZW4gfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93V2hlbic7XG5leHBvcnQgeyB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy93aXRoTGF0ZXN0RnJvbSc7XG5leHBvcnQgeyB6aXAgfSBmcm9tICcuLi9pbnRlcm5hbC9vcGVyYXRvcnMvemlwJztcbmV4cG9ydCB7IHppcEFsbCB9IGZyb20gJy4uL2ludGVybmFsL29wZXJhdG9ycy96aXBBbGwnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/_esm5/operators/index.js\n")); - -/***/ }), - -/***/ "./node_modules/rxjs/node_modules/tslib/tslib.es6.js": -/*!***********************************************************!*\ - !*** ./node_modules/rxjs/node_modules/tslib/tslib.es6.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcnhqcy9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0Isc0NBQXNDLGtCQUFrQjtBQUNuRiwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsY0FBYztBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSw2Q0FBNkMsUUFBUTtBQUNyRDtBQUNBO0FBQ0E7QUFDTztBQUNQLG9DQUFvQztBQUNwQztBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQLDRCQUE0QiwrREFBK0QsaUJBQWlCO0FBQzVHO0FBQ0Esb0NBQW9DLE1BQU0sK0JBQStCLFlBQVk7QUFDckYsbUNBQW1DLE1BQU0sbUNBQW1DLFlBQVk7QUFDeEYsZ0NBQWdDO0FBQ2hDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQLGNBQWMsNkJBQTZCLDBCQUEwQixjQUFjLHFCQUFxQjtBQUN4RyxpQkFBaUIsb0RBQW9ELHFFQUFxRSxjQUFjO0FBQ3hKLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDLG1DQUFtQyxTQUFTO0FBQzVDLG1DQUFtQyxXQUFXLFVBQVU7QUFDeEQsMENBQTBDLGNBQWM7QUFDeEQ7QUFDQSw4R0FBOEcsT0FBTztBQUNySCxpRkFBaUYsaUJBQWlCO0FBQ2xHLHlEQUF5RCxnQkFBZ0IsUUFBUTtBQUNqRiwrQ0FBK0MsZ0JBQWdCLGdCQUFnQjtBQUMvRTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0EsVUFBVSxZQUFZLGFBQWEsU0FBUyxVQUFVO0FBQ3RELG9DQUFvQyxTQUFTO0FBQzdDO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsTUFBTTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNkJBQTZCLHNCQUFzQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1Asa0RBQWtELFFBQVE7QUFDMUQseUNBQXlDLFFBQVE7QUFDakQseURBQXlELFFBQVE7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLGlCQUFpQix1RkFBdUYsY0FBYztBQUN0SCx1QkFBdUIsZ0NBQWdDLHFDQUFxQywyQ0FBMkM7QUFDdkksNEJBQTRCLE1BQU0saUJBQWlCLFlBQVk7QUFDL0QsdUJBQXVCO0FBQ3ZCLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0IsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDTztBQUNQO0FBQ0EsaUJBQWlCLDZDQUE2QyxVQUFVLHNEQUFzRCxjQUFjO0FBQzVJLDBCQUEwQiw2QkFBNkIsb0JBQW9CLGdEQUFnRCxrQkFBa0I7QUFDN0k7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDJHQUEyRyx1RkFBdUYsY0FBYztBQUNoTix1QkFBdUIsOEJBQThCLGdEQUFnRCx3REFBd0Q7QUFDN0osNkNBQTZDLHNDQUFzQyxVQUFVLG1CQUFtQixJQUFJO0FBQ3BIO0FBQ0E7QUFDTztBQUNQLGlDQUFpQyx1Q0FBdUMsWUFBWSxLQUFLLE9BQU87QUFDaEc7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yeGpzL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanM/NWNiMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jcmVhdGVCaW5kaW5nKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIGV4cG9ydHMpIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFleHBvcnRzLmhhc093blByb3BlcnR5KHApKSBleHBvcnRzW3BdID0gbVtwXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByaXZhdGVNYXAuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHByaXZhdGVNYXAsIHZhbHVlKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZU1hcC5zZXQocmVjZWl2ZXIsIHZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/rxjs/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/safe-buffer/index.js": -/*!*******************************************!*\ - !*** ./node_modules/safe-buffer/index.js ***! - \*******************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyw4Q0FBUTtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFLGNBQWM7QUFDaEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcz9jZjJmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBzYWZlLWJ1ZmZlci4gTUlUIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xudmFyIGJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpXG52YXIgQnVmZmVyID0gYnVmZmVyLkJ1ZmZlclxuXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXG5mdW5jdGlvbiBjb3B5UHJvcHMgKHNyYywgZHN0KSB7XG4gIGZvciAodmFyIGtleSBpbiBzcmMpIHtcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXG4gIH1cbn1cbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBidWZmZXJcbn0gZWxzZSB7XG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXG4gIGNvcHlQcm9wcyhidWZmZXIsIGV4cG9ydHMpXG4gIGV4cG9ydHMuQnVmZmVyID0gU2FmZUJ1ZmZlclxufVxuXG5mdW5jdGlvbiBTYWZlQnVmZmVyIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5TYWZlQnVmZmVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSlcblxuLy8gQ29weSBzdGF0aWMgbWV0aG9kcyBmcm9tIEJ1ZmZlclxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcblxuU2FmZUJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJylcbiAgfVxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcbiAgfVxuICB2YXIgYnVmID0gQnVmZmVyKHNpemUpXG4gIGlmIChmaWxsICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgYnVmLmZpbGwoZmlsbCwgZW5jb2RpbmcpXG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGJ1Zi5maWxsKDApXG4gIH1cbiAgcmV0dXJuIGJ1ZlxufVxuXG5TYWZlQnVmZmVyLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxuICB9XG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcbn1cblxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgcmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKHNpemUpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/safe-buffer/index.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/classes/comparator.js": -/*!***************************************************!*\ - !*** ./node_modules/semver/classes/comparator.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = __webpack_require__(/*! ../internal/parse-options */ \"./node_modules/semver/internal/parse-options.js\")\nconst { safeRe: re, t } = __webpack_require__(/*! ../internal/re */ \"./node_modules/semver/internal/re.js\")\nconst cmp = __webpack_require__(/*! ../functions/cmp */ \"./node_modules/semver/functions/cmp.js\")\nconst debug = __webpack_require__(/*! ../internal/debug */ \"./node_modules/semver/internal/debug.js\")\nconst SemVer = __webpack_require__(/*! ./semver */ \"./node_modules/semver/classes/semver.js\")\nconst Range = __webpack_require__(/*! ./range */ \"./node_modules/semver/classes/range.js\")\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2NsYXNzZXMvY29tcGFyYXRvci5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaURBQWlELEtBQUs7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLHFCQUFxQixtQkFBTyxDQUFDLGtGQUEyQjtBQUN4RCxRQUFRLGdCQUFnQixFQUFFLG1CQUFPLENBQUMsNERBQWdCO0FBQ2xELFlBQVksbUJBQU8sQ0FBQyxnRUFBa0I7QUFDdEMsY0FBYyxtQkFBTyxDQUFDLGtFQUFtQjtBQUN6QyxlQUFlLG1CQUFPLENBQUMseURBQVU7QUFDakMsY0FBYyxtQkFBTyxDQUFDLHVEQUFTIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvY2xhc3Nlcy9jb21wYXJhdG9yLmpzP2UzYWQiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQU5ZID0gU3ltYm9sKCdTZW1WZXIgQU5ZJylcbi8vIGhvaXN0ZWQgY2xhc3MgZm9yIGN5Y2xpYyBkZXBlbmRlbmN5XG5jbGFzcyBDb21wYXJhdG9yIHtcbiAgc3RhdGljIGdldCBBTlkgKCkge1xuICAgIHJldHVybiBBTllcbiAgfVxuXG4gIGNvbnN0cnVjdG9yIChjb21wLCBvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHBhcnNlT3B0aW9ucyhvcHRpb25zKVxuXG4gICAgaWYgKGNvbXAgaW5zdGFuY2VvZiBDb21wYXJhdG9yKSB7XG4gICAgICBpZiAoY29tcC5sb29zZSA9PT0gISFvcHRpb25zLmxvb3NlKSB7XG4gICAgICAgIHJldHVybiBjb21wXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wID0gY29tcC52YWx1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXAgPSBjb21wLnRyaW0oKS5zcGxpdCgvXFxzKy8pLmpvaW4oJyAnKVxuICAgIGRlYnVnKCdjb21wYXJhdG9yJywgY29tcCwgb3B0aW9ucylcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5sb29zZSA9ICEhb3B0aW9ucy5sb29zZVxuICAgIHRoaXMucGFyc2UoY29tcClcblxuICAgIGlmICh0aGlzLnNlbXZlciA9PT0gQU5ZKSB7XG4gICAgICB0aGlzLnZhbHVlID0gJydcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3BlcmF0b3IgKyB0aGlzLnNlbXZlci52ZXJzaW9uXG4gICAgfVxuXG4gICAgZGVidWcoJ2NvbXAnLCB0aGlzKVxuICB9XG5cbiAgcGFyc2UgKGNvbXApIHtcbiAgICBjb25zdCByID0gdGhpcy5vcHRpb25zLmxvb3NlID8gcmVbdC5DT01QQVJBVE9STE9PU0VdIDogcmVbdC5DT01QQVJBVE9SXVxuICAgIGNvbnN0IG0gPSBjb21wLm1hdGNoKHIpXG5cbiAgICBpZiAoIW0pIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgY29tcGFyYXRvcjogJHtjb21wfWApXG4gICAgfVxuXG4gICAgdGhpcy5vcGVyYXRvciA9IG1bMV0gIT09IHVuZGVmaW5lZCA/IG1bMV0gOiAnJ1xuICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSAnPScpIHtcbiAgICAgIHRoaXMub3BlcmF0b3IgPSAnJ1xuICAgIH1cblxuICAgIC8vIGlmIGl0IGxpdGVyYWxseSBpcyBqdXN0ICc+JyBvciAnJyB0aGVuIGFsbG93IGFueXRoaW5nLlxuICAgIGlmICghbVsyXSkge1xuICAgICAgdGhpcy5zZW12ZXIgPSBBTllcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW12ZXIgPSBuZXcgU2VtVmVyKG1bMl0sIHRoaXMub3B0aW9ucy5sb29zZSlcbiAgICB9XG4gIH1cblxuICB0b1N0cmluZyAoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVcbiAgfVxuXG4gIHRlc3QgKHZlcnNpb24pIHtcbiAgICBkZWJ1ZygnQ29tcGFyYXRvci50ZXN0JywgdmVyc2lvbiwgdGhpcy5vcHRpb25zLmxvb3NlKVxuXG4gICAgaWYgKHRoaXMuc2VtdmVyID09PSBBTlkgfHwgdmVyc2lvbiA9PT0gQU5ZKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmVyc2lvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZlcnNpb24gPSBuZXcgU2VtVmVyKHZlcnNpb24sIHRoaXMub3B0aW9ucylcbiAgICAgIH0gY2F0Y2ggKGVyKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbXAodmVyc2lvbiwgdGhpcy5vcGVyYXRvciwgdGhpcy5zZW12ZXIsIHRoaXMub3B0aW9ucylcbiAgfVxuXG4gIGludGVyc2VjdHMgKGNvbXAsIG9wdGlvbnMpIHtcbiAgICBpZiAoIShjb21wIGluc3RhbmNlb2YgQ29tcGFyYXRvcikpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2EgQ29tcGFyYXRvciBpcyByZXF1aXJlZCcpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3BlcmF0b3IgPT09ICcnKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgUmFuZ2UoY29tcC52YWx1ZSwgb3B0aW9ucykudGVzdCh0aGlzLnZhbHVlKVxuICAgIH0gZWxzZSBpZiAoY29tcC5vcGVyYXRvciA9PT0gJycpIHtcbiAgICAgIGlmIChjb21wLnZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBSYW5nZSh0aGlzLnZhbHVlLCBvcHRpb25zKS50ZXN0KGNvbXAuc2VtdmVyKVxuICAgIH1cblxuICAgIG9wdGlvbnMgPSBwYXJzZU9wdGlvbnMob3B0aW9ucylcblxuICAgIC8vIFNwZWNpYWwgY2FzZXMgd2hlcmUgbm90aGluZyBjYW4gcG9zc2libHkgYmUgbG93ZXJcbiAgICBpZiAob3B0aW9ucy5pbmNsdWRlUHJlcmVsZWFzZSAmJlxuICAgICAgKHRoaXMudmFsdWUgPT09ICc8MC4wLjAtMCcgfHwgY29tcC52YWx1ZSA9PT0gJzwwLjAuMC0wJykpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2UgJiZcbiAgICAgICh0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJzwwLjAuMCcpIHx8IGNvbXAudmFsdWUuc3RhcnRzV2l0aCgnPDAuMC4wJykpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvLyBTYW1lIGRpcmVjdGlvbiBpbmNyZWFzaW5nICg+IG9yID49KVxuICAgIGlmICh0aGlzLm9wZXJhdG9yLnN0YXJ0c1dpdGgoJz4nKSAmJiBjb21wLm9wZXJhdG9yLnN0YXJ0c1dpdGgoJz4nKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgLy8gU2FtZSBkaXJlY3Rpb24gZGVjcmVhc2luZyAoPCBvciA8PSlcbiAgICBpZiAodGhpcy5vcGVyYXRvci5zdGFydHNXaXRoKCc8JykgJiYgY29tcC5vcGVyYXRvci5zdGFydHNXaXRoKCc8JykpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIC8vIHNhbWUgU2VtVmVyIGFuZCBib3RoIHNpZGVzIGFyZSBpbmNsdXNpdmUgKDw9IG9yID49KVxuICAgIGlmIChcbiAgICAgICh0aGlzLnNlbXZlci52ZXJzaW9uID09PSBjb21wLnNlbXZlci52ZXJzaW9uKSAmJlxuICAgICAgdGhpcy5vcGVyYXRvci5pbmNsdWRlcygnPScpICYmIGNvbXAub3BlcmF0b3IuaW5jbHVkZXMoJz0nKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgLy8gb3Bwb3NpdGUgZGlyZWN0aW9ucyBsZXNzIHRoYW5cbiAgICBpZiAoY21wKHRoaXMuc2VtdmVyLCAnPCcsIGNvbXAuc2VtdmVyLCBvcHRpb25zKSAmJlxuICAgICAgdGhpcy5vcGVyYXRvci5zdGFydHNXaXRoKCc+JykgJiYgY29tcC5vcGVyYXRvci5zdGFydHNXaXRoKCc8JykpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIC8vIG9wcG9zaXRlIGRpcmVjdGlvbnMgZ3JlYXRlciB0aGFuXG4gICAgaWYgKGNtcCh0aGlzLnNlbXZlciwgJz4nLCBjb21wLnNlbXZlciwgb3B0aW9ucykgJiZcbiAgICAgIHRoaXMub3BlcmF0b3Iuc3RhcnRzV2l0aCgnPCcpICYmIGNvbXAub3BlcmF0b3Iuc3RhcnRzV2l0aCgnPicpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbXBhcmF0b3JcblxuY29uc3QgcGFyc2VPcHRpb25zID0gcmVxdWlyZSgnLi4vaW50ZXJuYWwvcGFyc2Utb3B0aW9ucycpXG5jb25zdCB7IHNhZmVSZTogcmUsIHQgfSA9IHJlcXVpcmUoJy4uL2ludGVybmFsL3JlJylcbmNvbnN0IGNtcCA9IHJlcXVpcmUoJy4uL2Z1bmN0aW9ucy9jbXAnKVxuY29uc3QgZGVidWcgPSByZXF1aXJlKCcuLi9pbnRlcm5hbC9kZWJ1ZycpXG5jb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuL3NlbXZlcicpXG5jb25zdCBSYW5nZSA9IHJlcXVpcmUoJy4vcmFuZ2UnKVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/classes/comparator.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/classes/range.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/classes/range.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => comps.join(' ').trim())\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = __webpack_require__(/*! lru-cache */ \"./node_modules/lru-cache/index.js\")\nconst cache = new LRU({ max: 1000 })\n\nconst parseOptions = __webpack_require__(/*! ../internal/parse-options */ \"./node_modules/semver/internal/parse-options.js\")\nconst Comparator = __webpack_require__(/*! ./comparator */ \"./node_modules/semver/classes/comparator.js\")\nconst debug = __webpack_require__(/*! ../internal/debug */ \"./node_modules/semver/internal/debug.js\")\nconst SemVer = __webpack_require__(/*! ./semver */ \"./node_modules/semver/classes/semver.js\")\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = __webpack_require__(/*! ../internal/re */ \"./node_modules/semver/internal/re.js\")\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__(/*! ../internal/constants */ \"./node_modules/semver/internal/constants.js\")\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2NsYXNzZXMvcmFuZ2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbURBQW1ELFNBQVM7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZixhQUFhO0FBQ2I7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FB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QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLGFBQWEsUUFBUTtBQUNyQixJQUFJO0FBQ0osYUFBYSxHQUFHLEdBQUcsUUFBUTtBQUMzQixJQUFJO0FBQ0osY0FBYyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJO0FBQ3BDLElBQUk7QUFDSixhQUFhLEdBQUcsR0FBRyxHQUFHLEdBQUcsUUFBUTtBQUNqQyxJQUFJO0FBQ0osY0FBYyxHQUFHO0FBQ2pCOztBQUVBLFlBQVksTUFBTSxFQUFFLEdBQUc7QUFDdkI7O0FBRUE7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixnQkFBZ0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvY2xhc3Nlcy9yYW5nZS5qcz84ZWNkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGhvaXN0ZWQgY2xhc3MgZm9yIGN5Y2xpYyBkZXBlbmRlbmN5XG5jbGFzcyBSYW5nZSB7XG4gIGNvbnN0cnVjdG9yIChyYW5nZSwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBwYXJzZU9wdGlvbnMob3B0aW9ucylcblxuICAgIGlmIChyYW5nZSBpbnN0YW5jZW9mIFJhbmdlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHJhbmdlLmxvb3NlID09PSAhIW9wdGlvbnMubG9vc2UgJiZcbiAgICAgICAgcmFuZ2UuaW5jbHVkZVByZXJlbGVhc2UgPT09ICEhb3B0aW9ucy5pbmNsdWRlUHJlcmVsZWFzZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiByYW5nZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSYW5nZShyYW5nZS5yYXcsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJhbmdlIGluc3RhbmNlb2YgQ29tcGFyYXRvcikge1xuICAgICAgLy8ganVzdCBwdXQgaXQgaW4gdGhlIHNldCBhbmQgcmV0dXJuXG4gICAgICB0aGlzLnJhdyA9IHJhbmdlLnZhbHVlXG4gICAgICB0aGlzLnNldCA9IFtbcmFuZ2VdXVxuICAgICAgdGhpcy5mb3JtYXQoKVxuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5sb29zZSA9ICEhb3B0aW9ucy5sb29zZVxuICAgIHRoaXMuaW5jbHVkZVByZXJlbGVhc2UgPSAhIW9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2VcblxuICAgIC8vIEZpcnN0IHJlZHVjZSBhbGwgd2hpdGVzcGFjZSBhcyBtdWNoIGFzIHBvc3NpYmxlIHNvIHdlIGRvIG5vdCBoYXZlIHRvIHJlbHlcbiAgICAvLyBvbiBwb3RlbnRpYWxseSBzbG93IHJlZ2V4ZXMgbGlrZSBcXHMqLiBUaGlzIGlzIHRoZW4gc3RvcmVkIGFuZCB1c2VkIGZvclxuICAgIC8vIGZ1dHVyZSBlcnJvciBtZXNzYWdlcyBhcyB3ZWxsLlxuICAgIHRoaXMucmF3ID0gcmFuZ2VcbiAgICAgIC50cmltKClcbiAgICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgICAuam9pbignICcpXG5cbiAgICAvLyBGaXJzdCwgc3BsaXQgb24gfHxcbiAgICB0aGlzLnNldCA9IHRoaXMucmF3XG4gICAgICAuc3BsaXQoJ3x8JylcbiAgICAgIC8vIG1hcCB0aGUgcmFuZ2UgdG8gYSAyZCBhcnJheSBvZiBjb21wYXJhdG9yc1xuICAgICAgLm1hcChyID0+IHRoaXMucGFyc2VSYW5nZShyLnRyaW0oKSkpXG4gICAgICAvLyB0aHJvdyBvdXQgYW55IGNvbXBhcmF0b3IgbGlzdHMgdGhhdCBhcmUgZW1wdHlcbiAgICAgIC8vIHRoaXMgZ2VuZXJhbGx5IG1lYW5zIHRoYXQgaXQgd2FzIG5vdCBhIHZhbGlkIHJhbmdlLCB3aGljaCBpcyBhbGxvd2VkXG4gICAgICAvLyBpbiBsb29zZSBtb2RlLCBidXQgd2lsbCBzdGlsbCB0aHJvdyBpZiB0aGUgV0hPTEUgcmFuZ2UgaXMgaW52YWxpZC5cbiAgICAgIC5maWx0ZXIoYyA9PiBjLmxlbmd0aClcblxuICAgIGlmICghdGhpcy5zZXQubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIFNlbVZlciBSYW5nZTogJHt0aGlzLnJhd31gKVxuICAgIH1cblxuICAgIC8vIGlmIHdlIGhhdmUgYW55IHRoYXQgYXJlIG5vdCB0aGUgbnVsbCBzZXQsIHRocm93IG91dCBudWxsIHNldHMuXG4gICAgaWYgKHRoaXMuc2V0Lmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIGtlZXAgdGhlIGZpcnN0IG9uZSwgaW4gY2FzZSB0aGV5J3JlIGFsbCBudWxsIHNldHNcbiAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5zZXRbMF1cbiAgICAgIHRoaXMuc2V0ID0gdGhpcy5zZXQuZmlsdGVyKGMgPT4gIWlzTnVsbFNldChjWzBdKSlcbiAgICAgIGlmICh0aGlzLnNldC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5zZXQgPSBbZmlyc3RdXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2V0Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbnkgdGhhdCBhcmUgKiwgdGhlbiB0aGUgcmFuZ2UgaXMganVzdCAqXG4gICAgICAgIGZvciAoY29uc3QgYyBvZiB0aGlzLnNldCkge1xuICAgICAgICAgIGlmIChjLmxlbmd0aCA9PT0gMSAmJiBpc0FueShjWzBdKSkge1xuICAgICAgICAgICAgdGhpcy5zZXQgPSBbY11cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtYXQoKVxuICB9XG5cbiAgZm9ybWF0ICgpIHtcbiAgICB0aGlzLnJhbmdlID0gdGhpcy5zZXRcbiAgICAgIC5tYXAoKGNvbXBzKSA9PiBjb21wcy5qb2luKCcgJykudHJpbSgpKVxuICAgICAgLmpvaW4oJ3x8JylcbiAgICAgIC50cmltKClcbiAgICByZXR1cm4gdGhpcy5yYW5nZVxuICB9XG5cbiAgdG9TdHJpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLnJhbmdlXG4gIH1cblxuICBwYXJzZVJhbmdlIChyYW5nZSkge1xuICAgIC8vIG1lbW9pemUgcmFuZ2UgcGFyc2luZyBmb3IgcGVyZm9ybWFuY2UuXG4gICAgLy8gdGhpcyBpcyBhIHZlcnkgaG90IHBhdGgsIGFuZCBmdWxseSBkZXRlcm1pbmlzdGljLlxuICAgIGNvbnN0IG1lbW9PcHRzID1cbiAgICAgICh0aGlzLm9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2UgJiYgRkxBR19JTkNMVURFX1BSRVJFTEVBU0UpIHxcbiAgICAgICh0aGlzLm9wdGlvbnMubG9vc2UgJiYgRkxBR19MT09TRSlcbiAgICBjb25zdCBtZW1vS2V5ID0gbWVtb09wdHMgKyAnOicgKyByYW5nZVxuICAgIGNvbnN0IGNhY2hlZCA9IGNhY2hlLmdldChtZW1vS2V5KVxuICAgIGlmIChjYWNoZWQpIHtcbiAgICAgIHJldHVybiBjYWNoZWRcbiAgICB9XG5cbiAgICBjb25zdCBsb29zZSA9IHRoaXMub3B0aW9ucy5sb29zZVxuICAgIC8vIGAxLjIuMyAtIDEuMi40YCA9PiBgPj0xLjIuMyA8PTEuMi40YFxuICAgIGNvbnN0IGhyID0gbG9vc2UgPyByZVt0LkhZUEhFTlJBTkdFTE9PU0VdIDogcmVbdC5IWVBIRU5SQU5HRV1cbiAgICByYW5nZSA9IHJhbmdlLnJlcGxhY2UoaHIsIGh5cGhlblJlcGxhY2UodGhpcy5vcHRpb25zLmluY2x1ZGVQcmVyZWxlYXNlKSlcbiAgICBkZWJ1ZygnaHlwaGVuIHJlcGxhY2UnLCByYW5nZSlcblxuICAgIC8vIGA+IDEuMi4zIDwgMS4yLjVgID0+IGA+MS4yLjMgPDEuMi41YFxuICAgIHJhbmdlID0gcmFuZ2UucmVwbGFjZShyZVt0LkNPTVBBUkFUT1JUUklNXSwgY29tcGFyYXRvclRyaW1SZXBsYWNlKVxuICAgIGRlYnVnKCdjb21wYXJhdG9yIHRyaW0nLCByYW5nZSlcblxuICAgIC8vIGB+IDEuMi4zYCA9PiBgfjEuMi4zYFxuICAgIHJhbmdlID0gcmFuZ2UucmVwbGFjZShyZVt0LlRJTERFVFJJTV0sIHRpbGRlVHJpbVJlcGxhY2UpXG4gICAgZGVidWcoJ3RpbGRlIHRyaW0nLCByYW5nZSlcblxuICAgIC8vIGBeIDEuMi4zYCA9PiBgXjEuMi4zYFxuICAgIHJhbmdlID0gcmFuZ2UucmVwbGFjZShyZVt0LkNBUkVUVFJJTV0sIGNhcmV0VHJpbVJlcGxhY2UpXG4gICAgZGVidWcoJ2NhcmV0IHRyaW0nLCByYW5nZSlcblxuICAgIC8vIEF0IHRoaXMgcG9pbnQsIHRoZSByYW5nZSBpcyBjb21wbGV0ZWx5IHRyaW1tZWQgYW5kXG4gICAgLy8gcmVhZHkgdG8gYmUgc3BsaXQgaW50byBjb21wYXJhdG9ycy5cblxuICAgIGxldCByYW5nZUxpc3QgPSByYW5nZVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5tYXAoY29tcCA9PiBwYXJzZUNvbXBhcmF0b3IoY29tcCwgdGhpcy5vcHRpb25zKSlcbiAgICAgIC5qb2luKCcgJylcbiAgICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgICAvLyA+PTAuMC4wIGlzIGVxdWl2YWxlbnQgdG8gKlxuICAgICAgLm1hcChjb21wID0+IHJlcGxhY2VHVEUwKGNvbXAsIHRoaXMub3B0aW9ucykpXG5cbiAgICBpZiAobG9vc2UpIHtcbiAgICAgIC8vIGluIGxvb3NlIG1vZGUsIHRocm93IG91dCBhbnkgdGhhdCBhcmUgbm90IHZhbGlkIGNvbXBhcmF0b3JzXG4gICAgICByYW5nZUxpc3QgPSByYW5nZUxpc3QuZmlsdGVyKGNvbXAgPT4ge1xuICAgICAgICBkZWJ1ZygnbG9vc2UgaW52YWxpZCBmaWx0ZXInLCBjb21wLCB0aGlzLm9wdGlvbnMpXG4gICAgICAgIHJldHVybiAhIWNvbXAubWF0Y2gocmVbdC5DT01QQVJBVE9STE9PU0VdKVxuICAgICAgfSlcbiAgICB9XG4gICAgZGVidWcoJ3JhbmdlIGxpc3QnLCByYW5nZUxpc3QpXG5cbiAgICAvLyBpZiBhbnkgY29tcGFyYXRvcnMgYXJlIHRoZSBudWxsIHNldCwgdGhlbiByZXBsYWNlIHdpdGggSlVTVCBudWxsIHNldFxuICAgIC8vIGlmIG1vcmUgdGhhbiBvbmUgY29tcGFyYXRvciwgcmVtb3ZlIGFueSAqIGNvbXBhcmF0b3JzXG4gICAgLy8gYWxzbywgZG9uJ3QgaW5jbHVkZSB0aGUgc2FtZSBjb21wYXJhdG9yIG1vcmUgdGhhbiBvbmNlXG4gICAgY29uc3QgcmFuZ2VNYXAgPSBuZXcgTWFwKClcbiAgICBjb25zdCBjb21wYXJhdG9ycyA9IHJhbmdlTGlzdC5tYXAoY29tcCA9PiBuZXcgQ29tcGFyYXRvcihjb21wLCB0aGlzLm9wdGlvbnMpKVxuICAgIGZvciAoY29uc3QgY29tcCBvZiBjb21wYXJhdG9ycykge1xuICAgICAgaWYgKGlzTnVsbFNldChjb21wKSkge1xuICAgICAgICByZXR1cm4gW2NvbXBdXG4gICAgICB9XG4gICAgICByYW5nZU1hcC5zZXQoY29tcC52YWx1ZSwgY29tcClcbiAgICB9XG4gICAgaWYgKHJhbmdlTWFwLnNpemUgPiAxICYmIHJhbmdlTWFwLmhhcygnJykpIHtcbiAgICAgIHJhbmdlTWFwLmRlbGV0ZSgnJylcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBbLi4ucmFuZ2VNYXAudmFsdWVzKCldXG4gICAgY2FjaGUuc2V0KG1lbW9LZXksIHJlc3VsdClcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpbnRlcnNlY3RzIChyYW5nZSwgb3B0aW9ucykge1xuICAgIGlmICghKHJhbmdlIGluc3RhbmNlb2YgUmFuZ2UpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdhIFJhbmdlIGlzIHJlcXVpcmVkJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXQuc29tZSgodGhpc0NvbXBhcmF0b3JzKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBpc1NhdGlzZmlhYmxlKHRoaXNDb21wYXJhdG9ycywgb3B0aW9ucykgJiZcbiAgICAgICAgcmFuZ2Uuc2V0LnNvbWUoKHJhbmdlQ29tcGFyYXRvcnMpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNTYXRpc2ZpYWJsZShyYW5nZUNvbXBhcmF0b3JzLCBvcHRpb25zKSAmJlxuICAgICAgICAgICAgdGhpc0NvbXBhcmF0b3JzLmV2ZXJ5KCh0aGlzQ29tcGFyYXRvcikgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gcmFuZ2VDb21wYXJhdG9ycy5ldmVyeSgocmFuZ2VDb21wYXJhdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNDb21wYXJhdG9yLmludGVyc2VjdHMocmFuZ2VDb21wYXJhdG9yLCBvcHRpb25zKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSlcbiAgfVxuXG4gIC8vIGlmIEFOWSBvZiB0aGUgc2V0cyBtYXRjaCBBTEwgb2YgaXRzIGNvbXBhcmF0b3JzLCB0aGVuIHBhc3NcbiAgdGVzdCAodmVyc2lvbikge1xuICAgIGlmICghdmVyc2lvbikge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2ZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmVyc2lvbiA9IG5ldyBTZW1WZXIodmVyc2lvbiwgdGhpcy5vcHRpb25zKVxuICAgICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNldC5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRlc3RTZXQodGhpcy5zZXRbaV0sIHZlcnNpb24sIHRoaXMub3B0aW9ucykpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSYW5nZVxuXG5jb25zdCBMUlUgPSByZXF1aXJlKCdscnUtY2FjaGUnKVxuY29uc3QgY2FjaGUgPSBuZXcgTFJVKHsgbWF4OiAxMDAwIH0pXG5cbmNvbnN0IHBhcnNlT3B0aW9ucyA9IHJlcXVpcmUoJy4uL2ludGVybmFsL3BhcnNlLW9wdGlvbnMnKVxuY29uc3QgQ29tcGFyYXRvciA9IHJlcXVpcmUoJy4vY29tcGFyYXRvcicpXG5jb25zdCBkZWJ1ZyA9IHJlcXVpcmUoJy4uL2ludGVybmFsL2RlYnVnJylcbmNvbnN0IFNlbVZlciA9IHJlcXVpcmUoJy4vc2VtdmVyJylcbmNvbnN0IHtcbiAgc2FmZVJlOiByZSxcbiAgdCxcbiAgY29tcGFyYXRvclRyaW1SZXBsYWNlLFxuICB0aWxkZVRyaW1SZXBsYWNlLFxuICBjYXJldFRyaW1SZXBsYWNlLFxufSA9IHJlcXVpcmUoJy4uL2ludGVybmFsL3JlJylcbmNvbnN0IHsgRkxBR19JTkNMVURFX1BSRVJFTEVBU0UsIEZMQUdfTE9PU0UgfSA9IHJlcXVpcmUoJy4uL2ludGVybmFsL2NvbnN0YW50cycpXG5cbmNvbnN0IGlzTnVsbFNldCA9IGMgPT4gYy52YWx1ZSA9PT0gJzwwLjAuMC0wJ1xuY29uc3QgaXNBbnkgPSBjID0+IGMudmFsdWUgPT09ICcnXG5cbi8vIHRha2UgYSBzZXQgb2YgY29tcGFyYXRvcnMgYW5kIGRldGVybWluZSB3aGV0aGVyIHRoZXJlXG4vLyBleGlzdHMgYSB2ZXJzaW9uIHdoaWNoIGNhbiBzYXRpc2Z5IGl0XG5jb25zdCBpc1NhdGlzZmlhYmxlID0gKGNvbXBhcmF0b3JzLCBvcHRpb25zKSA9PiB7XG4gIGxldCByZXN1bHQgPSB0cnVlXG4gIGNvbnN0IHJlbWFpbmluZ0NvbXBhcmF0b3JzID0gY29tcGFyYXRvcnMuc2xpY2UoKVxuICBsZXQgdGVzdENvbXBhcmF0b3IgPSByZW1haW5pbmdDb21wYXJhdG9ycy5wb3AoKVxuXG4gIHdoaWxlIChyZXN1bHQgJiYgcmVtYWluaW5nQ29tcGFyYXRvcnMubGVuZ3RoKSB7XG4gICAgcmVzdWx0ID0gcmVtYWluaW5nQ29tcGFyYXRvcnMuZXZlcnkoKG90aGVyQ29tcGFyYXRvcikgPT4ge1xuICAgICAgcmV0dXJuIHRlc3RDb21wYXJhdG9yLmludGVyc2VjdHMob3RoZXJDb21wYXJhdG9yLCBvcHRpb25zKVxuICAgIH0pXG5cbiAgICB0ZXN0Q29tcGFyYXRvciA9IHJlbWFpbmluZ0NvbXBhcmF0b3JzLnBvcCgpXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbi8vIGNvbXByaXNlZCBvZiB4cmFuZ2VzLCB0aWxkZXMsIHN0YXJzLCBhbmQgZ3RsdCdzIGF0IHRoaXMgcG9pbnQuXG4vLyBhbHJlYWR5IHJlcGxhY2VkIHRoZSBoeXBoZW4gcmFuZ2VzXG4vLyB0dXJuIGludG8gYSBzZXQgb2YgSlVTVCBjb21wYXJhdG9ycy5cbmNvbnN0IHBhcnNlQ29tcGFyYXRvciA9IChjb21wLCBvcHRpb25zKSA9PiB7XG4gIGRlYnVnKCdjb21wJywgY29tcCwgb3B0aW9ucylcbiAgY29tcCA9IHJlcGxhY2VDYXJldHMoY29tcCwgb3B0aW9ucylcbiAgZGVidWcoJ2NhcmV0JywgY29tcClcbiAgY29tcCA9IHJlcGxhY2VUaWxkZXMoY29tcCwgb3B0aW9ucylcbiAgZGVidWcoJ3RpbGRlcycsIGNvbXApXG4gIGNvbXAgPSByZXBsYWNlWFJhbmdlcyhjb21wLCBvcHRpb25zKVxuICBkZWJ1ZygneHJhbmdlJywgY29tcClcbiAgY29tcCA9IHJlcGxhY2VTdGFycyhjb21wLCBvcHRpb25zKVxuICBkZWJ1Zygnc3RhcnMnLCBjb21wKVxuICByZXR1cm4gY29tcFxufVxuXG5jb25zdCBpc1ggPSBpZCA9PiAhaWQgfHwgaWQudG9Mb3dlckNhc2UoKSA9PT0gJ3gnIHx8IGlkID09PSAnKidcblxuLy8gfiwgfj4gLS0+ICogKGFueSwga2luZGEgc2lsbHkpXG4vLyB+MiwgfjIueCwgfjIueC54LCB+PjIsIH4+Mi54IH4+Mi54LnggLS0+ID49Mi4wLjAgPDMuMC4wLTBcbi8vIH4yLjAsIH4yLjAueCwgfj4yLjAsIH4+Mi4wLnggLS0+ID49Mi4wLjAgPDIuMS4wLTBcbi8vIH4xLjIsIH4xLjIueCwgfj4xLjIsIH4+MS4yLnggLS0+ID49MS4yLjAgPDEuMy4wLTBcbi8vIH4xLjIuMywgfj4xLjIuMyAtLT4gPj0xLjIuMyA8MS4zLjAtMFxuLy8gfjEuMi4wLCB+PjEuMi4wIC0tPiA+PTEuMi4wIDwxLjMuMC0wXG4vLyB+MC4wLjEgLS0+ID49MC4wLjEgPDAuMS4wLTBcbmNvbnN0IHJlcGxhY2VUaWxkZXMgPSAoY29tcCwgb3B0aW9ucykgPT4ge1xuICByZXR1cm4gY29tcFxuICAgIC50cmltKClcbiAgICAuc3BsaXQoL1xccysvKVxuICAgIC5tYXAoKGMpID0+IHJlcGxhY2VUaWxkZShjLCBvcHRpb25zKSlcbiAgICAuam9pbignICcpXG59XG5cbmNvbnN0IHJlcGxhY2VUaWxkZSA9IChjb21wLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHIgPSBvcHRpb25zLmxvb3NlID8gcmVbdC5USUxERUxPT1NFXSA6IHJlW3QuVElMREVdXG4gIHJldHVybiBjb21wLnJlcGxhY2UociwgKF8sIE0sIG0sIHAsIHByKSA9PiB7XG4gICAgZGVidWcoJ3RpbGRlJywgY29tcCwgXywgTSwgbSwgcCwgcHIpXG4gICAgbGV0IHJldFxuXG4gICAgaWYgKGlzWChNKSkge1xuICAgICAgcmV0ID0gJydcbiAgICB9IGVsc2UgaWYgKGlzWChtKSkge1xuICAgICAgcmV0ID0gYD49JHtNfS4wLjAgPCR7K00gKyAxfS4wLjAtMGBcbiAgICB9IGVsc2UgaWYgKGlzWChwKSkge1xuICAgICAgLy8gfjEuMiA9PSA+PTEuMi4wIDwxLjMuMC0wXG4gICAgICByZXQgPSBgPj0ke019LiR7bX0uMCA8JHtNfS4keyttICsgMX0uMC0wYFxuICAgIH0gZWxzZSBpZiAocHIpIHtcbiAgICAgIGRlYnVnKCdyZXBsYWNlVGlsZGUgcHInLCBwcilcbiAgICAgIHJldCA9IGA+PSR7TX0uJHttfS4ke3B9LSR7cHJcbiAgICAgIH0gPCR7TX0uJHsrbSArIDF9LjAtMGBcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gfjEuMi4zID09ID49MS4yLjMgPDEuMy4wLTBcbiAgICAgIHJldCA9IGA+PSR7TX0uJHttfS4ke3BcbiAgICAgIH0gPCR7TX0uJHsrbSArIDF9LjAtMGBcbiAgICB9XG5cbiAgICBkZWJ1ZygndGlsZGUgcmV0dXJuJywgcmV0KVxuICAgIHJldHVybiByZXRcbiAgfSlcbn1cblxuLy8gXiAtLT4gKiAoYW55LCBraW5kYSBzaWxseSlcbi8vIF4yLCBeMi54LCBeMi54LnggLS0+ID49Mi4wLjAgPDMuMC4wLTBcbi8vIF4yLjAsIF4yLjAueCAtLT4gPj0yLjAuMCA8My4wLjAtMFxuLy8gXjEuMiwgXjEuMi54IC0tPiA+PTEuMi4wIDwyLjAuMC0wXG4vLyBeMS4yLjMgLS0+ID49MS4yLjMgPDIuMC4wLTBcbi8vIF4xLjIuMCAtLT4gPj0xLjIuMCA8Mi4wLjAtMFxuLy8gXjAuMC4xIC0tPiA+PTAuMC4xIDwwLjAuMi0wXG4vLyBeMC4xLjAgLS0+ID49MC4xLjAgPDAuMi4wLTBcbmNvbnN0IHJlcGxhY2VDYXJldHMgPSAoY29tcCwgb3B0aW9ucykgPT4ge1xuICByZXR1cm4gY29tcFxuICAgIC50cmltKClcbiAgICAuc3BsaXQoL1xccysvKVxuICAgIC5tYXAoKGMpID0+IHJlcGxhY2VDYXJldChjLCBvcHRpb25zKSlcbiAgICAuam9pbignICcpXG59XG5cbmNvbnN0IHJlcGxhY2VDYXJldCA9IChjb21wLCBvcHRpb25zKSA9PiB7XG4gIGRlYnVnKCdjYXJldCcsIGNvbXAsIG9wdGlvbnMpXG4gIGNvbnN0IHIgPSBvcHRpb25zLmxvb3NlID8gcmVbdC5DQVJFVExPT1NFXSA6IHJlW3QuQ0FSRVRdXG4gIGNvbnN0IHogPSBvcHRpb25zLmluY2x1ZGVQcmVyZWxlYXNlID8gJy0wJyA6ICcnXG4gIHJldHVybiBjb21wLnJlcGxhY2UociwgKF8sIE0sIG0sIHAsIHByKSA9PiB7XG4gICAgZGVidWcoJ2NhcmV0JywgY29tcCwgXywgTSwgbSwgcCwgcHIpXG4gICAgbGV0IHJldFxuXG4gICAgaWYgKGlzWChNKSkge1xuICAgICAgcmV0ID0gJydcbiAgICB9IGVsc2UgaWYgKGlzWChtKSkge1xuICAgICAgcmV0ID0gYD49JHtNfS4wLjAke3p9IDwkeytNICsgMX0uMC4wLTBgXG4gICAgfSBlbHNlIGlmIChpc1gocCkpIHtcbiAgICAgIGlmIChNID09PSAnMCcpIHtcbiAgICAgICAgcmV0ID0gYD49JHtNfS4ke219LjAke3p9IDwke019LiR7K20gKyAxfS4wLTBgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXQgPSBgPj0ke019LiR7bX0uMCR7en0gPCR7K00gKyAxfS4wLjAtMGBcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByKSB7XG4gICAgICBkZWJ1ZygncmVwbGFjZUNhcmV0IHByJywgcHIpXG4gICAgICBpZiAoTSA9PT0gJzAnKSB7XG4gICAgICAgIGlmIChtID09PSAnMCcpIHtcbiAgICAgICAgICByZXQgPSBgPj0ke019LiR7bX0uJHtwfS0ke3ByXG4gICAgICAgICAgfSA8JHtNfS4ke219LiR7K3AgKyAxfS0wYFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldCA9IGA+PSR7TX0uJHttfS4ke3B9LSR7cHJcbiAgICAgICAgICB9IDwke019LiR7K20gKyAxfS4wLTBgXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldCA9IGA+PSR7TX0uJHttfS4ke3B9LSR7cHJcbiAgICAgICAgfSA8JHsrTSArIDF9LjAuMC0wYFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1Zygnbm8gcHInKVxuICAgICAgaWYgKE0gPT09ICcwJykge1xuICAgICAgICBpZiAobSA9PT0gJzAnKSB7XG4gICAgICAgICAgcmV0ID0gYD49JHtNfS4ke219LiR7cFxuICAgICAgICAgIH0ke3p9IDwke019LiR7bX0uJHsrcCArIDF9LTBgXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0ID0gYD49JHtNfS4ke219LiR7cFxuICAgICAgICAgIH0ke3p9IDwke019LiR7K20gKyAxfS4wLTBgXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldCA9IGA+PSR7TX0uJHttfS4ke3BcbiAgICAgICAgfSA8JHsrTSArIDF9LjAuMC0wYFxuICAgICAgfVxuICAgIH1cblxuICAgIGRlYnVnKCdjYXJldCByZXR1cm4nLCByZXQpXG4gICAgcmV0dXJuIHJldFxuICB9KVxufVxuXG5jb25zdCByZXBsYWNlWFJhbmdlcyA9IChjb21wLCBvcHRpb25zKSA9PiB7XG4gIGRlYnVnKCdyZXBsYWNlWFJhbmdlcycsIGNvbXAsIG9wdGlvbnMpXG4gIHJldHVybiBjb21wXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAubWFwKChjKSA9PiByZXBsYWNlWFJhbmdlKGMsIG9wdGlvbnMpKVxuICAgIC5qb2luKCcgJylcbn1cblxuY29uc3QgcmVwbGFjZVhSYW5nZSA9IChjb21wLCBvcHRpb25zKSA9PiB7XG4gIGNvbXAgPSBjb21wLnRyaW0oKVxuICBjb25zdCByID0gb3B0aW9ucy5sb29zZSA/IHJlW3QuWFJBTkdFTE9PU0VdIDogcmVbdC5YUkFOR0VdXG4gIHJldHVybiBjb21wLnJlcGxhY2UociwgKHJldCwgZ3RsdCwgTSwgbSwgcCwgcHIpID0+IHtcbiAgICBkZWJ1ZygneFJhbmdlJywgY29tcCwgcmV0LCBndGx0LCBNLCBtLCBwLCBwcilcbiAgICBjb25zdCB4TSA9IGlzWChNKVxuICAgIGNvbnN0IHhtID0geE0gfHwgaXNYKG0pXG4gICAgY29uc3QgeHAgPSB4bSB8fCBpc1gocClcbiAgICBjb25zdCBhbnlYID0geHBcblxuICAgIGlmIChndGx0ID09PSAnPScgJiYgYW55WCkge1xuICAgICAgZ3RsdCA9ICcnXG4gICAgfVxuXG4gICAgLy8gaWYgd2UncmUgaW5jbHVkaW5nIHByZXJlbGVhc2VzIGluIHRoZSBtYXRjaCwgdGhlbiB3ZSBuZWVkXG4gICAgLy8gdG8gZml4IHRoaXMgdG8gLTAsIHRoZSBsb3dlc3QgcG9zc2libGUgcHJlcmVsZWFzZSB2YWx1ZVxuICAgIHByID0gb3B0aW9ucy5pbmNsdWRlUHJlcmVsZWFzZSA/ICctMCcgOiAnJ1xuXG4gICAgaWYgKHhNKSB7XG4gICAgICBpZiAoZ3RsdCA9PT0gJz4nIHx8IGd0bHQgPT09ICc8Jykge1xuICAgICAgICAvLyBub3RoaW5nIGlzIGFsbG93ZWRcbiAgICAgICAgcmV0ID0gJzwwLjAuMC0wJ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gbm90aGluZyBpcyBmb3JiaWRkZW5cbiAgICAgICAgcmV0ID0gJyonXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChndGx0ICYmIGFueVgpIHtcbiAgICAgIC8vIHdlIGtub3cgcGF0Y2ggaXMgYW4geCwgYmVjYXVzZSB3ZSBoYXZlIGFueSB4IGF0IGFsbC5cbiAgICAgIC8vIHJlcGxhY2UgWCB3aXRoIDBcbiAgICAgIGlmICh4bSkge1xuICAgICAgICBtID0gMFxuICAgICAgfVxuICAgICAgcCA9IDBcblxuICAgICAgaWYgKGd0bHQgPT09ICc+Jykge1xuICAgICAgICAvLyA+MSA9PiA+PTIuMC4wXG4gICAgICAgIC8vID4xLjIgPT4gPj0xLjMuMFxuICAgICAgICBndGx0ID0gJz49J1xuICAgICAgICBpZiAoeG0pIHtcbiAgICAgICAgICBNID0gK00gKyAxXG4gICAgICAgICAgbSA9IDBcbiAgICAgICAgICBwID0gMFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG0gPSArbSArIDFcbiAgICAgICAgICBwID0gMFxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGd0bHQgPT09ICc8PScpIHtcbiAgICAgICAgLy8gPD0wLjcueCBpcyBhY3R1YWxseSA8MC44LjAsIHNpbmNlIGFueSAwLjcueCBzaG91bGRcbiAgICAgICAgLy8gcGFzcy4gIFNpbWlsYXJseSwgPD03LnggaXMgYWN0dWFsbHkgPDguMC4wLCBldGMuXG4gICAgICAgIGd0bHQgPSAnPCdcbiAgICAgICAgaWYgKHhtKSB7XG4gICAgICAgICAgTSA9ICtNICsgMVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG0gPSArbSArIDFcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZ3RsdCA9PT0gJzwnKSB7XG4gICAgICAgIHByID0gJy0wJ1xuICAgICAgfVxuXG4gICAgICByZXQgPSBgJHtndGx0ICsgTX0uJHttfS4ke3B9JHtwcn1gXG4gICAgfSBlbHNlIGlmICh4bSkge1xuICAgICAgcmV0ID0gYD49JHtNfS4wLjAke3ByfSA8JHsrTSArIDF9LjAuMC0wYFxuICAgIH0gZWxzZSBpZiAoeHApIHtcbiAgICAgIHJldCA9IGA+PSR7TX0uJHttfS4wJHtwclxuICAgICAgfSA8JHtNfS4keyttICsgMX0uMC0wYFxuICAgIH1cblxuICAgIGRlYnVnKCd4UmFuZ2UgcmV0dXJuJywgcmV0KVxuXG4gICAgcmV0dXJuIHJldFxuICB9KVxufVxuXG4vLyBCZWNhdXNlICogaXMgQU5ELWVkIHdpdGggZXZlcnl0aGluZyBlbHNlIGluIHRoZSBjb21wYXJhdG9yLFxuLy8gYW5kICcnIG1lYW5zIFwiYW55IHZlcnNpb25cIiwganVzdCByZW1vdmUgdGhlICpzIGVudGlyZWx5LlxuY29uc3QgcmVwbGFjZVN0YXJzID0gKGNvbXAsIG9wdGlvbnMpID0+IHtcbiAgZGVidWcoJ3JlcGxhY2VTdGFycycsIGNvbXAsIG9wdGlvbnMpXG4gIC8vIExvb3NlbmVzcyBpcyBpZ25vcmVkIGhlcmUuICBzdGFyIGlzIGFsd2F5cyBhcyBsb29zZSBhcyBpdCBnZXRzIVxuICByZXR1cm4gY29tcFxuICAgIC50cmltKClcbiAgICAucmVwbGFjZShyZVt0LlNUQVJdLCAnJylcbn1cblxuY29uc3QgcmVwbGFjZUdURTAgPSAoY29tcCwgb3B0aW9ucykgPT4ge1xuICBkZWJ1ZygncmVwbGFjZUdURTAnLCBjb21wLCBvcHRpb25zKVxuICByZXR1cm4gY29tcFxuICAgIC50cmltKClcbiAgICAucmVwbGFjZShyZVtvcHRpb25zLmluY2x1ZGVQcmVyZWxlYXNlID8gdC5HVEUwUFJFIDogdC5HVEUwXSwgJycpXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcGFzc2VkIHRvIHN0cmluZy5yZXBsYWNlKHJlW3QuSFlQSEVOUkFOR0VdKVxuLy8gTSwgbSwgcGF0Y2gsIHByZXJlbGVhc2UsIGJ1aWxkXG4vLyAxLjIgLSAzLjQuNSA9PiA+PTEuMi4wIDw9My40LjVcbi8vIDEuMi4zIC0gMy40ID0+ID49MS4yLjAgPDMuNS4wLTAgQW55IDMuNC54IHdpbGwgZG9cbi8vIDEuMiAtIDMuNCA9PiA+PTEuMi4wIDwzLjUuMC0wXG5jb25zdCBoeXBoZW5SZXBsYWNlID0gaW5jUHIgPT4gKCQwLFxuICBmcm9tLCBmTSwgZm0sIGZwLCBmcHIsIGZiLFxuICB0bywgdE0sIHRtLCB0cCwgdHByLCB0YikgPT4ge1xuICBpZiAoaXNYKGZNKSkge1xuICAgIGZyb20gPSAnJ1xuICB9IGVsc2UgaWYgKGlzWChmbSkpIHtcbiAgICBmcm9tID0gYD49JHtmTX0uMC4wJHtpbmNQciA/ICctMCcgOiAnJ31gXG4gIH0gZWxzZSBpZiAoaXNYKGZwKSkge1xuICAgIGZyb20gPSBgPj0ke2ZNfS4ke2ZtfS4wJHtpbmNQciA/ICctMCcgOiAnJ31gXG4gIH0gZWxzZSBpZiAoZnByKSB7XG4gICAgZnJvbSA9IGA+PSR7ZnJvbX1gXG4gIH0gZWxzZSB7XG4gICAgZnJvbSA9IGA+PSR7ZnJvbX0ke2luY1ByID8gJy0wJyA6ICcnfWBcbiAgfVxuXG4gIGlmIChpc1godE0pKSB7XG4gICAgdG8gPSAnJ1xuICB9IGVsc2UgaWYgKGlzWCh0bSkpIHtcbiAgICB0byA9IGA8JHsrdE0gKyAxfS4wLjAtMGBcbiAgfSBlbHNlIGlmIChpc1godHApKSB7XG4gICAgdG8gPSBgPCR7dE19LiR7K3RtICsgMX0uMC0wYFxuICB9IGVsc2UgaWYgKHRwcikge1xuICAgIHRvID0gYDw9JHt0TX0uJHt0bX0uJHt0cH0tJHt0cHJ9YFxuICB9IGVsc2UgaWYgKGluY1ByKSB7XG4gICAgdG8gPSBgPCR7dE19LiR7dG19LiR7K3RwICsgMX0tMGBcbiAgfSBlbHNlIHtcbiAgICB0byA9IGA8PSR7dG99YFxuICB9XG5cbiAgcmV0dXJuIGAke2Zyb219ICR7dG99YC50cmltKClcbn1cblxuY29uc3QgdGVzdFNldCA9IChzZXQsIHZlcnNpb24sIG9wdGlvbnMpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZXQubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoIXNldFtpXS50ZXN0KHZlcnNpb24pKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cblxuICBpZiAodmVyc2lvbi5wcmVyZWxlYXNlLmxlbmd0aCAmJiAhb3B0aW9ucy5pbmNsdWRlUHJlcmVsZWFzZSkge1xuICAgIC8vIEZpbmQgdGhlIHNldCBvZiB2ZXJzaW9ucyB0aGF0IGFyZSBhbGxvd2VkIHRvIGhhdmUgcHJlcmVsZWFzZXNcbiAgICAvLyBGb3IgZXhhbXBsZSwgXjEuMi4zLXByLjEgZGVzdWdhcnMgdG8gPj0xLjIuMy1wci4xIDwyLjAuMFxuICAgIC8vIFRoYXQgc2hvdWxkIGFsbG93IGAxLjIuMy1wci4yYCB0byBwYXNzLlxuICAgIC8vIEhvd2V2ZXIsIGAxLjIuNC1hbHBoYS5ub3RyZWFkeWAgc2hvdWxkIE5PVCBiZSBhbGxvd2VkLFxuICAgIC8vIGV2ZW4gdGhvdWdoIGl0J3Mgd2l0aGluIHRoZSByYW5nZSBzZXQgYnkgdGhlIGNvbXBhcmF0b3JzLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2V0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBkZWJ1ZyhzZXRbaV0uc2VtdmVyKVxuICAgICAgaWYgKHNldFtpXS5zZW12ZXIgPT09IENvbXBhcmF0b3IuQU5ZKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmIChzZXRbaV0uc2VtdmVyLnByZXJlbGVhc2UubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBhbGxvd2VkID0gc2V0W2ldLnNlbXZlclxuICAgICAgICBpZiAoYWxsb3dlZC5tYWpvciA9PT0gdmVyc2lvbi5tYWpvciAmJlxuICAgICAgICAgICAgYWxsb3dlZC5taW5vciA9PT0gdmVyc2lvbi5taW5vciAmJlxuICAgICAgICAgICAgYWxsb3dlZC5wYXRjaCA9PT0gdmVyc2lvbi5wYXRjaCkge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJzaW9uIGhhcyBhIC1wcmUsIGJ1dCBpdCdzIG5vdCBvbmUgb2YgdGhlIG9uZXMgd2UgbGlrZS5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/classes/range.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/classes/semver.js": -/*!***********************************************!*\ - !*** ./node_modules/semver/classes/semver.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const debug = __webpack_require__(/*! ../internal/debug */ \"./node_modules/semver/internal/debug.js\")\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(/*! ../internal/constants */ \"./node_modules/semver/internal/constants.js\")\nconst { safeRe: re, t } = __webpack_require__(/*! ../internal/re */ \"./node_modules/semver/internal/re.js\")\n\nconst parseOptions = __webpack_require__(/*! ../internal/parse-options */ \"./node_modules/semver/internal/parse-options.js\")\nconst { compareIdentifiers } = __webpack_require__(/*! ../internal/identifiers */ \"./node_modules/semver/internal/identifiers.js\")\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2NsYXNzZXMvc2VtdmVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyxrRUFBbUI7QUFDekMsUUFBUSwrQkFBK0IsRUFBRSxtQkFBTyxDQUFDLDBFQUF1QjtBQUN4RSxRQUFRLGdCQUFnQixFQUFFLG1CQUFPLENBQUMsNERBQWdCOztBQUVsRCxxQkFBcUIsbUJBQU8sQ0FBQyxrRkFBMkI7QUFDeEQsUUFBUSxxQkFBcUIsRUFBRSxtQkFBTyxDQUFDLDhFQUF5QjtBQUNoRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTiwwRUFBMEUsZUFBZTtBQUN6Rjs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDLFlBQVk7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSw4Q0FBOEMsUUFBUTtBQUN0RDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0IsV0FBVyxHQUFHLFdBQVcsR0FBRyxXQUFXO0FBQzdEO0FBQ0EsMEJBQTBCLDBCQUEwQjtBQUNwRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxRQUFRO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixxQkFBcUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9jbGFzc2VzL3NlbXZlci5qcz84M2NjIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGRlYnVnID0gcmVxdWlyZSgnLi4vaW50ZXJuYWwvZGVidWcnKVxuY29uc3QgeyBNQVhfTEVOR1RILCBNQVhfU0FGRV9JTlRFR0VSIH0gPSByZXF1aXJlKCcuLi9pbnRlcm5hbC9jb25zdGFudHMnKVxuY29uc3QgeyBzYWZlUmU6IHJlLCB0IH0gPSByZXF1aXJlKCcuLi9pbnRlcm5hbC9yZScpXG5cbmNvbnN0IHBhcnNlT3B0aW9ucyA9IHJlcXVpcmUoJy4uL2ludGVybmFsL3BhcnNlLW9wdGlvbnMnKVxuY29uc3QgeyBjb21wYXJlSWRlbnRpZmllcnMgfSA9IHJlcXVpcmUoJy4uL2ludGVybmFsL2lkZW50aWZpZXJzJylcbmNsYXNzIFNlbVZlciB7XG4gIGNvbnN0cnVjdG9yICh2ZXJzaW9uLCBvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHBhcnNlT3B0aW9ucyhvcHRpb25zKVxuXG4gICAgaWYgKHZlcnNpb24gaW5zdGFuY2VvZiBTZW1WZXIpIHtcbiAgICAgIGlmICh2ZXJzaW9uLmxvb3NlID09PSAhIW9wdGlvbnMubG9vc2UgJiZcbiAgICAgICAgICB2ZXJzaW9uLmluY2x1ZGVQcmVyZWxlYXNlID09PSAhIW9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2UpIHtcbiAgICAgICAgcmV0dXJuIHZlcnNpb25cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uLnZlcnNpb25cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2ZXJzaW9uICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCB2ZXJzaW9uLiBNdXN0IGJlIGEgc3RyaW5nLiBHb3QgdHlwZSBcIiR7dHlwZW9mIHZlcnNpb259XCIuYClcbiAgICB9XG5cbiAgICBpZiAodmVyc2lvbi5sZW5ndGggPiBNQVhfTEVOR1RIKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgdmVyc2lvbiBpcyBsb25nZXIgdGhhbiAke01BWF9MRU5HVEh9IGNoYXJhY3RlcnNgXG4gICAgICApXG4gICAgfVxuXG4gICAgZGVidWcoJ1NlbVZlcicsIHZlcnNpb24sIG9wdGlvbnMpXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMubG9vc2UgPSAhIW9wdGlvbnMubG9vc2VcbiAgICAvLyB0aGlzIGlzbid0IGFjdHVhbGx5IHJlbGV2YW50IGZvciB2ZXJzaW9ucywgYnV0IGtlZXAgaXQgc28gdGhhdCB3ZVxuICAgIC8vIGRvbid0IHJ1biBpbnRvIHRyb3VibGUgcGFzc2luZyB0aGlzLm9wdGlvbnMgYXJvdW5kLlxuICAgIHRoaXMuaW5jbHVkZVByZXJlbGVhc2UgPSAhIW9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2VcblxuICAgIGNvbnN0IG0gPSB2ZXJzaW9uLnRyaW0oKS5tYXRjaChvcHRpb25zLmxvb3NlID8gcmVbdC5MT09TRV0gOiByZVt0LkZVTExdKVxuXG4gICAgaWYgKCFtKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIFZlcnNpb246ICR7dmVyc2lvbn1gKVxuICAgIH1cblxuICAgIHRoaXMucmF3ID0gdmVyc2lvblxuXG4gICAgLy8gdGhlc2UgYXJlIGFjdHVhbGx5IG51bWJlcnNcbiAgICB0aGlzLm1ham9yID0gK21bMV1cbiAgICB0aGlzLm1pbm9yID0gK21bMl1cbiAgICB0aGlzLnBhdGNoID0gK21bM11cblxuICAgIGlmICh0aGlzLm1ham9yID4gTUFYX1NBRkVfSU5URUdFUiB8fCB0aGlzLm1ham9yIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBtYWpvciB2ZXJzaW9uJylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW5vciA+IE1BWF9TQUZFX0lOVEVHRVIgfHwgdGhpcy5taW5vciA8IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbWlub3IgdmVyc2lvbicpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGF0Y2ggPiBNQVhfU0FGRV9JTlRFR0VSIHx8IHRoaXMucGF0Y2ggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHBhdGNoIHZlcnNpb24nKVxuICAgIH1cblxuICAgIC8vIG51bWJlcmlmeSBhbnkgcHJlcmVsZWFzZSBudW1lcmljIGlkc1xuICAgIGlmICghbVs0XSkge1xuICAgICAgdGhpcy5wcmVyZWxlYXNlID0gW11cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmVyZWxlYXNlID0gbVs0XS5zcGxpdCgnLicpLm1hcCgoaWQpID0+IHtcbiAgICAgICAgaWYgKC9eWzAtOV0rJC8udGVzdChpZCkpIHtcbiAgICAgICAgICBjb25zdCBudW0gPSAraWRcbiAgICAgICAgICBpZiAobnVtID49IDAgJiYgbnVtIDwgTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICAgICAgcmV0dXJuIG51bVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaWRcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5idWlsZCA9IG1bNV0gPyBtWzVdLnNwbGl0KCcuJykgOiBbXVxuICAgIHRoaXMuZm9ybWF0KClcbiAgfVxuXG4gIGZvcm1hdCAoKSB7XG4gICAgdGhpcy52ZXJzaW9uID0gYCR7dGhpcy5tYWpvcn0uJHt0aGlzLm1pbm9yfS4ke3RoaXMucGF0Y2h9YFxuICAgIGlmICh0aGlzLnByZXJlbGVhc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLnZlcnNpb24gKz0gYC0ke3RoaXMucHJlcmVsZWFzZS5qb2luKCcuJyl9YFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy52ZXJzaW9uXG4gIH1cblxuICB0b1N0cmluZyAoKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyc2lvblxuICB9XG5cbiAgY29tcGFyZSAob3RoZXIpIHtcbiAgICBkZWJ1ZygnU2VtVmVyLmNvbXBhcmUnLCB0aGlzLnZlcnNpb24sIHRoaXMub3B0aW9ucywgb3RoZXIpXG4gICAgaWYgKCEob3RoZXIgaW5zdGFuY2VvZiBTZW1WZXIpKSB7XG4gICAgICBpZiAodHlwZW9mIG90aGVyID09PSAnc3RyaW5nJyAmJiBvdGhlciA9PT0gdGhpcy52ZXJzaW9uKSB7XG4gICAgICAgIHJldHVybiAwXG4gICAgICB9XG4gICAgICBvdGhlciA9IG5ldyBTZW1WZXIob3RoZXIsIHRoaXMub3B0aW9ucylcbiAgICB9XG5cbiAgICBpZiAob3RoZXIudmVyc2lvbiA9PT0gdGhpcy52ZXJzaW9uKSB7XG4gICAgICByZXR1cm4gMFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbXBhcmVNYWluKG90aGVyKSB8fCB0aGlzLmNvbXBhcmVQcmUob3RoZXIpXG4gIH1cblxuICBjb21wYXJlTWFpbiAob3RoZXIpIHtcbiAgICBpZiAoIShvdGhlciBpbnN0YW5jZW9mIFNlbVZlcikpIHtcbiAgICAgIG90aGVyID0gbmV3IFNlbVZlcihvdGhlciwgdGhpcy5vcHRpb25zKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBjb21wYXJlSWRlbnRpZmllcnModGhpcy5tYWpvciwgb3RoZXIubWFqb3IpIHx8XG4gICAgICBjb21wYXJlSWRlbnRpZmllcnModGhpcy5taW5vciwgb3RoZXIubWlub3IpIHx8XG4gICAgICBjb21wYXJlSWRlbnRpZmllcnModGhpcy5wYXRjaCwgb3RoZXIucGF0Y2gpXG4gICAgKVxuICB9XG5cbiAgY29tcGFyZVByZSAob3RoZXIpIHtcbiAgICBpZiAoIShvdGhlciBpbnN0YW5jZW9mIFNlbVZlcikpIHtcbiAgICAgIG90aGVyID0gbmV3IFNlbVZlcihvdGhlciwgdGhpcy5vcHRpb25zKVxuICAgIH1cblxuICAgIC8vIE5PVCBoYXZpbmcgYSBwcmVyZWxlYXNlIGlzID4gaGF2aW5nIG9uZVxuICAgIGlmICh0aGlzLnByZXJlbGVhc2UubGVuZ3RoICYmICFvdGhlci5wcmVyZWxlYXNlLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIC0xXG4gICAgfSBlbHNlIGlmICghdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCAmJiBvdGhlci5wcmVyZWxlYXNlLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDFcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnByZXJlbGVhc2UubGVuZ3RoICYmICFvdGhlci5wcmVyZWxlYXNlLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDBcbiAgICB9XG5cbiAgICBsZXQgaSA9IDBcbiAgICBkbyB7XG4gICAgICBjb25zdCBhID0gdGhpcy5wcmVyZWxlYXNlW2ldXG4gICAgICBjb25zdCBiID0gb3RoZXIucHJlcmVsZWFzZVtpXVxuICAgICAgZGVidWcoJ3ByZXJlbGVhc2UgY29tcGFyZScsIGksIGEsIGIpXG4gICAgICBpZiAoYSA9PT0gdW5kZWZpbmVkICYmIGIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gMFxuICAgICAgfSBlbHNlIGlmIChiID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIDFcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgICAgfSBlbHNlIGlmIChhID09PSBiKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29tcGFyZUlkZW50aWZpZXJzKGEsIGIpXG4gICAgICB9XG4gICAgfSB3aGlsZSAoKytpKVxuICB9XG5cbiAgY29tcGFyZUJ1aWxkIChvdGhlcikge1xuICAgIGlmICghKG90aGVyIGluc3RhbmNlb2YgU2VtVmVyKSkge1xuICAgICAgb3RoZXIgPSBuZXcgU2VtVmVyKG90aGVyLCB0aGlzLm9wdGlvbnMpXG4gICAgfVxuXG4gICAgbGV0IGkgPSAwXG4gICAgZG8ge1xuICAgICAgY29uc3QgYSA9IHRoaXMuYnVpbGRbaV1cbiAgICAgIGNvbnN0IGIgPSBvdGhlci5idWlsZFtpXVxuICAgICAgZGVidWcoJ3ByZXJlbGVhc2UgY29tcGFyZScsIGksIGEsIGIpXG4gICAgICBpZiAoYSA9PT0gdW5kZWZpbmVkICYmIGIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gMFxuICAgICAgfSBlbHNlIGlmIChiID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIDFcbiAgICAgIH0gZWxzZSBpZiAoYSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgICAgfSBlbHNlIGlmIChhID09PSBiKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29tcGFyZUlkZW50aWZpZXJzKGEsIGIpXG4gICAgICB9XG4gICAgfSB3aGlsZSAoKytpKVxuICB9XG5cbiAgLy8gcHJlbWlub3Igd2lsbCBidW1wIHRoZSB2ZXJzaW9uIHVwIHRvIHRoZSBuZXh0IG1pbm9yIHJlbGVhc2UsIGFuZCBpbW1lZGlhdGVseVxuICAvLyBkb3duIHRvIHByZS1yZWxlYXNlLiBwcmVtYWpvciBhbmQgcHJlcGF0Y2ggd29yayB0aGUgc2FtZSB3YXkuXG4gIGluYyAocmVsZWFzZSwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpIHtcbiAgICBzd2l0Y2ggKHJlbGVhc2UpIHtcbiAgICAgIGNhc2UgJ3ByZW1ham9yJzpcbiAgICAgICAgdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCA9IDBcbiAgICAgICAgdGhpcy5wYXRjaCA9IDBcbiAgICAgICAgdGhpcy5taW5vciA9IDBcbiAgICAgICAgdGhpcy5tYWpvcisrXG4gICAgICAgIHRoaXMuaW5jKCdwcmUnLCBpZGVudGlmaWVyLCBpZGVudGlmaWVyQmFzZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3ByZW1pbm9yJzpcbiAgICAgICAgdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCA9IDBcbiAgICAgICAgdGhpcy5wYXRjaCA9IDBcbiAgICAgICAgdGhpcy5taW5vcisrXG4gICAgICAgIHRoaXMuaW5jKCdwcmUnLCBpZGVudGlmaWVyLCBpZGVudGlmaWVyQmFzZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3ByZXBhdGNoJzpcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBhbHJlYWR5IGEgcHJlcmVsZWFzZSwgaXQgd2lsbCBidW1wIHRvIHRoZSBuZXh0IHZlcnNpb25cbiAgICAgICAgLy8gZHJvcCBhbnkgcHJlcmVsZWFzZXMgdGhhdCBtaWdodCBhbHJlYWR5IGV4aXN0LCBzaW5jZSB0aGV5IGFyZSBub3RcbiAgICAgICAgLy8gcmVsZXZhbnQgYXQgdGhpcyBwb2ludC5cbiAgICAgICAgdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCA9IDBcbiAgICAgICAgdGhpcy5pbmMoJ3BhdGNoJywgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpXG4gICAgICAgIHRoaXMuaW5jKCdwcmUnLCBpZGVudGlmaWVyLCBpZGVudGlmaWVyQmFzZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIC8vIElmIHRoZSBpbnB1dCBpcyBhIG5vbi1wcmVyZWxlYXNlIHZlcnNpb24sIHRoaXMgYWN0cyB0aGUgc2FtZSBhc1xuICAgICAgLy8gcHJlcGF0Y2guXG4gICAgICBjYXNlICdwcmVyZWxlYXNlJzpcbiAgICAgICAgaWYgKHRoaXMucHJlcmVsZWFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLmluYygncGF0Y2gnLCBpZGVudGlmaWVyLCBpZGVudGlmaWVyQmFzZSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluYygncHJlJywgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ21ham9yJzpcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHByZS1tYWpvciB2ZXJzaW9uLCBidW1wIHVwIHRvIHRoZSBzYW1lIG1ham9yIHZlcnNpb24uXG4gICAgICAgIC8vIE90aGVyd2lzZSBpbmNyZW1lbnQgbWFqb3IuXG4gICAgICAgIC8vIDEuMC4wLTUgYnVtcHMgdG8gMS4wLjBcbiAgICAgICAgLy8gMS4xLjAgYnVtcHMgdG8gMi4wLjBcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMubWlub3IgIT09IDAgfHxcbiAgICAgICAgICB0aGlzLnBhdGNoICE9PSAwIHx8XG4gICAgICAgICAgdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLm1ham9yKytcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1pbm9yID0gMFxuICAgICAgICB0aGlzLnBhdGNoID0gMFxuICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBbXVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbWlub3InOlxuICAgICAgICAvLyBJZiB0aGlzIGlzIGEgcHJlLW1pbm9yIHZlcnNpb24sIGJ1bXAgdXAgdG8gdGhlIHNhbWUgbWlub3IgdmVyc2lvbi5cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGluY3JlbWVudCBtaW5vci5cbiAgICAgICAgLy8gMS4yLjAtNSBidW1wcyB0byAxLjIuMFxuICAgICAgICAvLyAxLjIuMSBidW1wcyB0byAxLjMuMFxuICAgICAgICBpZiAodGhpcy5wYXRjaCAhPT0gMCB8fCB0aGlzLnByZXJlbGVhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5taW5vcisrXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYXRjaCA9IDBcbiAgICAgICAgdGhpcy5wcmVyZWxlYXNlID0gW11cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3BhdGNoJzpcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBub3QgYSBwcmUtcmVsZWFzZSB2ZXJzaW9uLCBpdCB3aWxsIGluY3JlbWVudCB0aGUgcGF0Y2guXG4gICAgICAgIC8vIElmIGl0IGlzIGEgcHJlLXJlbGVhc2UgaXQgd2lsbCBidW1wIHVwIHRvIHRoZSBzYW1lIHBhdGNoIHZlcnNpb24uXG4gICAgICAgIC8vIDEuMi4wLTUgcGF0Y2hlcyB0byAxLjIuMFxuICAgICAgICAvLyAxLjIuMCBwYXRjaGVzIHRvIDEuMi4xXG4gICAgICAgIGlmICh0aGlzLnByZXJlbGVhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5wYXRjaCsrXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmVyZWxlYXNlID0gW11cbiAgICAgICAgYnJlYWtcbiAgICAgIC8vIFRoaXMgcHJvYmFibHkgc2hvdWxkbid0IGJlIHVzZWQgcHVibGljbHkuXG4gICAgICAvLyAxLjAuMCAncHJlJyB3b3VsZCBiZWNvbWUgMS4wLjAtMCB3aGljaCBpcyB0aGUgd3JvbmcgZGlyZWN0aW9uLlxuICAgICAgY2FzZSAncHJlJzoge1xuICAgICAgICBjb25zdCBiYXNlID0gTnVtYmVyKGlkZW50aWZpZXJCYXNlKSA/IDEgOiAwXG5cbiAgICAgICAgaWYgKCFpZGVudGlmaWVyICYmIGlkZW50aWZpZXJCYXNlID09PSBmYWxzZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpbmNyZW1lbnQgYXJndW1lbnQ6IGlkZW50aWZpZXIgaXMgZW1wdHknKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucHJlcmVsZWFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBbYmFzZV1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgaSA9IHRoaXMucHJlcmVsZWFzZS5sZW5ndGhcbiAgICAgICAgICB3aGlsZSAoLS1pID49IDApIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcmVyZWxlYXNlW2ldID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2VbaV0rK1xuICAgICAgICAgICAgICBpID0gLTJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGkgPT09IC0xKSB7XG4gICAgICAgICAgICAvLyBkaWRuJ3QgaW5jcmVtZW50IGFueXRoaW5nXG4gICAgICAgICAgICBpZiAoaWRlbnRpZmllciA9PT0gdGhpcy5wcmVyZWxlYXNlLmpvaW4oJy4nKSAmJiBpZGVudGlmaWVyQmFzZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGluY3JlbWVudCBhcmd1bWVudDogaWRlbnRpZmllciBhbHJlYWR5IGV4aXN0cycpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UucHVzaChiYXNlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaWRlbnRpZmllcikge1xuICAgICAgICAgIC8vIDEuMi4wLWJldGEuMSBidW1wcyB0byAxLjIuMC1iZXRhLjIsXG4gICAgICAgICAgLy8gMS4yLjAtYmV0YS5mb29ibHogb3IgMS4yLjAtYmV0YSBidW1wcyB0byAxLjIuMC1iZXRhLjBcbiAgICAgICAgICBsZXQgcHJlcmVsZWFzZSA9IFtpZGVudGlmaWVyLCBiYXNlXVxuICAgICAgICAgIGlmIChpZGVudGlmaWVyQmFzZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHByZXJlbGVhc2UgPSBbaWRlbnRpZmllcl1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNvbXBhcmVJZGVudGlmaWVycyh0aGlzLnByZXJlbGVhc2VbMF0sIGlkZW50aWZpZXIpID09PSAwKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4odGhpcy5wcmVyZWxlYXNlWzFdKSkge1xuICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBwcmVyZWxlYXNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHJlcmVsZWFzZSA9IHByZXJlbGVhc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBpbmNyZW1lbnQgYXJndW1lbnQ6ICR7cmVsZWFzZX1gKVxuICAgIH1cbiAgICB0aGlzLnJhdyA9IHRoaXMuZm9ybWF0KClcbiAgICBpZiAodGhpcy5idWlsZC5sZW5ndGgpIHtcbiAgICAgIHRoaXMucmF3ICs9IGArJHt0aGlzLmJ1aWxkLmpvaW4oJy4nKX1gXG4gICAgfVxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTZW1WZXJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/classes/semver.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/clean.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/clean.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const parse = __webpack_require__(/*! ./parse */ \"./node_modules/semver/functions/parse.js\")\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jbGVhbi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMseURBQVM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jbGVhbi5qcz8zZGUxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBhcnNlID0gcmVxdWlyZSgnLi9wYXJzZScpXG5jb25zdCBjbGVhbiA9ICh2ZXJzaW9uLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHMgPSBwYXJzZSh2ZXJzaW9uLnRyaW0oKS5yZXBsYWNlKC9eWz12XSsvLCAnJyksIG9wdGlvbnMpXG4gIHJldHVybiBzID8gcy52ZXJzaW9uIDogbnVsbFxufVxubW9kdWxlLmV4cG9ydHMgPSBjbGVhblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/clean.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/cmp.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/functions/cmp.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const eq = __webpack_require__(/*! ./eq */ \"./node_modules/semver/functions/eq.js\")\nconst neq = __webpack_require__(/*! ./neq */ \"./node_modules/semver/functions/neq.js\")\nconst gt = __webpack_require__(/*! ./gt */ \"./node_modules/semver/functions/gt.js\")\nconst gte = __webpack_require__(/*! ./gte */ \"./node_modules/semver/functions/gte.js\")\nconst lt = __webpack_require__(/*! ./lt */ \"./node_modules/semver/functions/lt.js\")\nconst lte = __webpack_require__(/*! ./lte */ \"./node_modules/semver/functions/lte.js\")\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jbXAuanMiLCJtYXBwaW5ncyI6IkFBQUEsV0FBVyxtQkFBTyxDQUFDLG1EQUFNO0FBQ3pCLFlBQVksbUJBQU8sQ0FBQyxxREFBTztBQUMzQixXQUFXLG1CQUFPLENBQUMsbURBQU07QUFDekIsWUFBWSxtQkFBTyxDQUFDLHFEQUFPO0FBQzNCLFdBQVcsbUJBQU8sQ0FBQyxtREFBTTtBQUN6QixZQUFZLG1CQUFPLENBQUMscURBQU87O0FBRTNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsK0NBQStDLEdBQUc7QUFDbEQ7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2NtcC5qcz83ODMwIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVxID0gcmVxdWlyZSgnLi9lcScpXG5jb25zdCBuZXEgPSByZXF1aXJlKCcuL25lcScpXG5jb25zdCBndCA9IHJlcXVpcmUoJy4vZ3QnKVxuY29uc3QgZ3RlID0gcmVxdWlyZSgnLi9ndGUnKVxuY29uc3QgbHQgPSByZXF1aXJlKCcuL2x0JylcbmNvbnN0IGx0ZSA9IHJlcXVpcmUoJy4vbHRlJylcblxuY29uc3QgY21wID0gKGEsIG9wLCBiLCBsb29zZSkgPT4ge1xuICBzd2l0Y2ggKG9wKSB7XG4gICAgY2FzZSAnPT09JzpcbiAgICAgIGlmICh0eXBlb2YgYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgYSA9IGEudmVyc2lvblxuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBiID09PSAnb2JqZWN0Jykge1xuICAgICAgICBiID0gYi52ZXJzaW9uXG4gICAgICB9XG4gICAgICByZXR1cm4gYSA9PT0gYlxuXG4gICAgY2FzZSAnIT09JzpcbiAgICAgIGlmICh0eXBlb2YgYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgYSA9IGEudmVyc2lvblxuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBiID09PSAnb2JqZWN0Jykge1xuICAgICAgICBiID0gYi52ZXJzaW9uXG4gICAgICB9XG4gICAgICByZXR1cm4gYSAhPT0gYlxuXG4gICAgY2FzZSAnJzpcbiAgICBjYXNlICc9JzpcbiAgICBjYXNlICc9PSc6XG4gICAgICByZXR1cm4gZXEoYSwgYiwgbG9vc2UpXG5cbiAgICBjYXNlICchPSc6XG4gICAgICByZXR1cm4gbmVxKGEsIGIsIGxvb3NlKVxuXG4gICAgY2FzZSAnPic6XG4gICAgICByZXR1cm4gZ3QoYSwgYiwgbG9vc2UpXG5cbiAgICBjYXNlICc+PSc6XG4gICAgICByZXR1cm4gZ3RlKGEsIGIsIGxvb3NlKVxuXG4gICAgY2FzZSAnPCc6XG4gICAgICByZXR1cm4gbHQoYSwgYiwgbG9vc2UpXG5cbiAgICBjYXNlICc8PSc6XG4gICAgICByZXR1cm4gbHRlKGEsIGIsIGxvb3NlKVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgb3BlcmF0b3I6ICR7b3B9YClcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBjbXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/cmp.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/coerce.js": -/*!*************************************************!*\ - !*** ./node_modules/semver/functions/coerce.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst parse = __webpack_require__(/*! ./parse */ \"./node_modules/semver/functions/parse.js\")\nconst { safeRe: re, t } = __webpack_require__(/*! ../internal/re */ \"./node_modules/semver/internal/re.js\")\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jb2VyY2UuanMiLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLGtFQUFtQjtBQUMxQyxjQUFjLG1CQUFPLENBQUMseURBQVM7QUFDL0IsUUFBUSxnQkFBZ0IsRUFBRSxtQkFBTyxDQUFDLDREQUFnQjs7QUFFbEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsU0FBUyxHQUFHLGdCQUFnQixHQUFHLGdCQUFnQjtBQUNqRTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2NvZXJjZS5qcz9hNmJiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFNlbVZlciA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvc2VtdmVyJylcbmNvbnN0IHBhcnNlID0gcmVxdWlyZSgnLi9wYXJzZScpXG5jb25zdCB7IHNhZmVSZTogcmUsIHQgfSA9IHJlcXVpcmUoJy4uL2ludGVybmFsL3JlJylcblxuY29uc3QgY29lcmNlID0gKHZlcnNpb24sIG9wdGlvbnMpID0+IHtcbiAgaWYgKHZlcnNpb24gaW5zdGFuY2VvZiBTZW1WZXIpIHtcbiAgICByZXR1cm4gdmVyc2lvblxuICB9XG5cbiAgaWYgKHR5cGVvZiB2ZXJzaW9uID09PSAnbnVtYmVyJykge1xuICAgIHZlcnNpb24gPSBTdHJpbmcodmVyc2lvbilcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmVyc2lvbiAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cblxuICBsZXQgbWF0Y2ggPSBudWxsXG4gIGlmICghb3B0aW9ucy5ydGwpIHtcbiAgICBtYXRjaCA9IHZlcnNpb24ubWF0Y2gocmVbdC5DT0VSQ0VdKVxuICB9IGVsc2Uge1xuICAgIC8vIEZpbmQgdGhlIHJpZ2h0LW1vc3QgY29lcmNpYmxlIHN0cmluZyB0aGF0IGRvZXMgbm90IHNoYXJlXG4gICAgLy8gYSB0ZXJtaW51cyB3aXRoIGEgbW9yZSBsZWZ0LXdhcmQgY29lcmNpYmxlIHN0cmluZy5cbiAgICAvLyBFZywgJzEuMi4zLjQnIHdhbnRzIHRvIGNvZXJjZSAnMi4zLjQnLCBub3QgJzMuNCcgb3IgJzQnXG4gICAgLy9cbiAgICAvLyBXYWxrIHRocm91Z2ggdGhlIHN0cmluZyBjaGVja2luZyB3aXRoIGEgL2cgcmVnZXhwXG4gICAgLy8gTWFudWFsbHkgc2V0IHRoZSBpbmRleCBzbyBhcyB0byBwaWNrIHVwIG92ZXJsYXBwaW5nIG1hdGNoZXMuXG4gICAgLy8gU3RvcCB3aGVuIHdlIGdldCBhIG1hdGNoIHRoYXQgZW5kcyBhdCB0aGUgc3RyaW5nIGVuZCwgc2luY2Ugbm9cbiAgICAvLyBjb2VyY2libGUgc3RyaW5nIGNhbiBiZSBtb3JlIHJpZ2h0LXdhcmQgd2l0aG91dCB0aGUgc2FtZSB0ZXJtaW51cy5cbiAgICBsZXQgbmV4dFxuICAgIHdoaWxlICgobmV4dCA9IHJlW3QuQ09FUkNFUlRMXS5leGVjKHZlcnNpb24pKSAmJlxuICAgICAgICAoIW1hdGNoIHx8IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoICE9PSB2ZXJzaW9uLmxlbmd0aClcbiAgICApIHtcbiAgICAgIGlmICghbWF0Y2ggfHxcbiAgICAgICAgICAgIG5leHQuaW5kZXggKyBuZXh0WzBdLmxlbmd0aCAhPT0gbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgpIHtcbiAgICAgICAgbWF0Y2ggPSBuZXh0XG4gICAgICB9XG4gICAgICByZVt0LkNPRVJDRVJUTF0ubGFzdEluZGV4ID0gbmV4dC5pbmRleCArIG5leHRbMV0ubGVuZ3RoICsgbmV4dFsyXS5sZW5ndGhcbiAgICB9XG4gICAgLy8gbGVhdmUgaXQgaW4gYSBjbGVhbiBzdGF0ZVxuICAgIHJlW3QuQ09FUkNFUlRMXS5sYXN0SW5kZXggPSAtMVxuICB9XG5cbiAgaWYgKG1hdGNoID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBwYXJzZShgJHttYXRjaFsyXX0uJHttYXRjaFszXSB8fCAnMCd9LiR7bWF0Y2hbNF0gfHwgJzAnfWAsIG9wdGlvbnMpXG59XG5tb2R1bGUuZXhwb3J0cyA9IGNvZXJjZVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/coerce.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/compare-build.js": -/*!********************************************************!*\ - !*** ./node_modules/semver/functions/compare-build.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jb21wYXJlLWJ1aWxkLmpzIiwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxrRUFBbUI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2NvbXBhcmUtYnVpbGQuanM/M2RjNyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3NlbXZlcicpXG5jb25zdCBjb21wYXJlQnVpbGQgPSAoYSwgYiwgbG9vc2UpID0+IHtcbiAgY29uc3QgdmVyc2lvbkEgPSBuZXcgU2VtVmVyKGEsIGxvb3NlKVxuICBjb25zdCB2ZXJzaW9uQiA9IG5ldyBTZW1WZXIoYiwgbG9vc2UpXG4gIHJldHVybiB2ZXJzaW9uQS5jb21wYXJlKHZlcnNpb25CKSB8fCB2ZXJzaW9uQS5jb21wYXJlQnVpbGQodmVyc2lvbkIpXG59XG5tb2R1bGUuZXhwb3J0cyA9IGNvbXBhcmVCdWlsZFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/compare-build.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/compare-loose.js": -/*!********************************************************!*\ - !*** ./node_modules/semver/functions/compare-loose.js ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jb21wYXJlLWxvb3NlLmpzIiwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQixtQkFBTyxDQUFDLDZEQUFXO0FBQ25DO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvY29tcGFyZS1sb29zZS5qcz8zMTJlIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbXBhcmUgPSByZXF1aXJlKCcuL2NvbXBhcmUnKVxuY29uc3QgY29tcGFyZUxvb3NlID0gKGEsIGIpID0+IGNvbXBhcmUoYSwgYiwgdHJ1ZSlcbm1vZHVsZS5leHBvcnRzID0gY29tcGFyZUxvb3NlXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/compare-loose.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/compare.js": -/*!**************************************************!*\ - !*** ./node_modules/semver/functions/compare.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jb21wYXJlLmpzIiwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxrRUFBbUI7QUFDMUM7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jb21wYXJlLmpzPzJjNjQiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU2VtVmVyID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9zZW12ZXInKVxuY29uc3QgY29tcGFyZSA9IChhLCBiLCBsb29zZSkgPT5cbiAgbmV3IFNlbVZlcihhLCBsb29zZSkuY29tcGFyZShuZXcgU2VtVmVyKGIsIGxvb3NlKSlcblxubW9kdWxlLmV4cG9ydHMgPSBjb21wYXJlXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/compare.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/diff.js": -/*!***********************************************!*\ - !*** ./node_modules/semver/functions/diff.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const parse = __webpack_require__(/*! ./parse.js */ \"./node_modules/semver/functions/parse.js\")\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9kaWZmLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyw0REFBWTs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9kaWZmLmpzP2JlNDYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcGFyc2UgPSByZXF1aXJlKCcuL3BhcnNlLmpzJylcblxuY29uc3QgZGlmZiA9ICh2ZXJzaW9uMSwgdmVyc2lvbjIpID0+IHtcbiAgY29uc3QgdjEgPSBwYXJzZSh2ZXJzaW9uMSwgbnVsbCwgdHJ1ZSlcbiAgY29uc3QgdjIgPSBwYXJzZSh2ZXJzaW9uMiwgbnVsbCwgdHJ1ZSlcbiAgY29uc3QgY29tcGFyaXNvbiA9IHYxLmNvbXBhcmUodjIpXG5cbiAgaWYgKGNvbXBhcmlzb24gPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgdjFIaWdoZXIgPSBjb21wYXJpc29uID4gMFxuICBjb25zdCBoaWdoVmVyc2lvbiA9IHYxSGlnaGVyID8gdjEgOiB2MlxuICBjb25zdCBsb3dWZXJzaW9uID0gdjFIaWdoZXIgPyB2MiA6IHYxXG4gIGNvbnN0IGhpZ2hIYXNQcmUgPSAhIWhpZ2hWZXJzaW9uLnByZXJlbGVhc2UubGVuZ3RoXG4gIGNvbnN0IGxvd0hhc1ByZSA9ICEhbG93VmVyc2lvbi5wcmVyZWxlYXNlLmxlbmd0aFxuXG4gIGlmIChsb3dIYXNQcmUgJiYgIWhpZ2hIYXNQcmUpIHtcbiAgICAvLyBHb2luZyBmcm9tIHByZXJlbGVhc2UgLT4gbm8gcHJlcmVsZWFzZSByZXF1aXJlcyBzb21lIHNwZWNpYWwgY2FzaW5nXG5cbiAgICAvLyBJZiB0aGUgbG93IHZlcnNpb24gaGFzIG9ubHkgYSBtYWpvciwgdGhlbiBpdCB3aWxsIGFsd2F5cyBiZSBhIG1ham9yXG4gICAgLy8gU29tZSBleGFtcGxlczpcbiAgICAvLyAxLjAuMC0xIC0+IDEuMC4wXG4gICAgLy8gMS4wLjAtMSAtPiAxLjEuMVxuICAgIC8vIDEuMC4wLTEgLT4gMi4wLjBcbiAgICBpZiAoIWxvd1ZlcnNpb24ucGF0Y2ggJiYgIWxvd1ZlcnNpb24ubWlub3IpIHtcbiAgICAgIHJldHVybiAnbWFqb3InXG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlIGl0IGNhbiBiZSBkZXRlcm1pbmVkIGJ5IGNoZWNraW5nIHRoZSBoaWdoIHZlcnNpb25cblxuICAgIGlmIChoaWdoVmVyc2lvbi5wYXRjaCkge1xuICAgICAgLy8gYW55dGhpbmcgaGlnaGVyIHRoYW4gYSBwYXRjaCBidW1wIHdvdWxkIHJlc3VsdCBpbiB0aGUgd3JvbmcgdmVyc2lvblxuICAgICAgcmV0dXJuICdwYXRjaCdcbiAgICB9XG5cbiAgICBpZiAoaGlnaFZlcnNpb24ubWlub3IpIHtcbiAgICAgIC8vIGFueXRoaW5nIGhpZ2hlciB0aGFuIGEgbWlub3IgYnVtcCB3b3VsZCByZXN1bHQgaW4gdGhlIHdyb25nIHZlcnNpb25cbiAgICAgIHJldHVybiAnbWlub3InXG4gICAgfVxuXG4gICAgLy8gYnVtcGluZyBtYWpvci9taW5vci9wYXRjaCBhbGwgaGF2ZSBzYW1lIHJlc3VsdFxuICAgIHJldHVybiAnbWFqb3InXG4gIH1cblxuICAvLyBhZGQgdGhlIGBwcmVgIHByZWZpeCBpZiB3ZSBhcmUgZ29pbmcgdG8gYSBwcmVyZWxlYXNlIHZlcnNpb25cbiAgY29uc3QgcHJlZml4ID0gaGlnaEhhc1ByZSA/ICdwcmUnIDogJydcblxuICBpZiAodjEubWFqb3IgIT09IHYyLm1ham9yKSB7XG4gICAgcmV0dXJuIHByZWZpeCArICdtYWpvcidcbiAgfVxuXG4gIGlmICh2MS5taW5vciAhPT0gdjIubWlub3IpIHtcbiAgICByZXR1cm4gcHJlZml4ICsgJ21pbm9yJ1xuICB9XG5cbiAgaWYgKHYxLnBhdGNoICE9PSB2Mi5wYXRjaCkge1xuICAgIHJldHVybiBwcmVmaXggKyAncGF0Y2gnXG4gIH1cblxuICAvLyBoaWdoIGFuZCBsb3cgYXJlIHByZWxlYXNlc1xuICByZXR1cm4gJ3ByZXJlbGVhc2UnXG59XG5cbm1vZHVsZS5leHBvcnRzID0gZGlmZlxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/diff.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/eq.js": -/*!*********************************************!*\ - !*** ./node_modules/semver/functions/eq.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9lcS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQyw2REFBVztBQUNuQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2VxLmpzPzQyZTIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tcGFyZSA9IHJlcXVpcmUoJy4vY29tcGFyZScpXG5jb25zdCBlcSA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShhLCBiLCBsb29zZSkgPT09IDBcbm1vZHVsZS5leHBvcnRzID0gZXFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/eq.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/gt.js": -/*!*********************************************!*\ - !*** ./node_modules/semver/functions/gt.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9ndC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQyw2REFBVztBQUNuQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2d0LmpzP2MyNDAiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tcGFyZSA9IHJlcXVpcmUoJy4vY29tcGFyZScpXG5jb25zdCBndCA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShhLCBiLCBsb29zZSkgPiAwXG5tb2R1bGUuZXhwb3J0cyA9IGd0XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/gt.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/gte.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/functions/gte.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9ndGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQVc7QUFDbkM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9ndGUuanM/ZTE0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21wYXJlID0gcmVxdWlyZSgnLi9jb21wYXJlJylcbmNvbnN0IGd0ZSA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShhLCBiLCBsb29zZSkgPj0gMFxubW9kdWxlLmV4cG9ydHMgPSBndGVcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/gte.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/inc.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/functions/inc.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9pbmMuanMiLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLGtFQUFtQjs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvaW5jLmpzPzMzNmIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU2VtVmVyID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9zZW12ZXInKVxuXG5jb25zdCBpbmMgPSAodmVyc2lvbiwgcmVsZWFzZSwgb3B0aW9ucywgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpID0+IHtcbiAgaWYgKHR5cGVvZiAob3B0aW9ucykgPT09ICdzdHJpbmcnKSB7XG4gICAgaWRlbnRpZmllckJhc2UgPSBpZGVudGlmaWVyXG4gICAgaWRlbnRpZmllciA9IG9wdGlvbnNcbiAgICBvcHRpb25zID0gdW5kZWZpbmVkXG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBuZXcgU2VtVmVyKFxuICAgICAgdmVyc2lvbiBpbnN0YW5jZW9mIFNlbVZlciA/IHZlcnNpb24udmVyc2lvbiA6IHZlcnNpb24sXG4gICAgICBvcHRpb25zXG4gICAgKS5pbmMocmVsZWFzZSwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpLnZlcnNpb25cbiAgfSBjYXRjaCAoZXIpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGluY1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/inc.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/lt.js": -/*!*********************************************!*\ - !*** ./node_modules/semver/functions/lt.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9sdC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQyw2REFBVztBQUNuQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2x0LmpzP2IwMzMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tcGFyZSA9IHJlcXVpcmUoJy4vY29tcGFyZScpXG5jb25zdCBsdCA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShhLCBiLCBsb29zZSkgPCAwXG5tb2R1bGUuZXhwb3J0cyA9IGx0XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/lt.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/lte.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/functions/lte.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9sdGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQVc7QUFDbkM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9sdGUuanM/ZjMxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21wYXJlID0gcmVxdWlyZSgnLi9jb21wYXJlJylcbmNvbnN0IGx0ZSA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShhLCBiLCBsb29zZSkgPD0gMFxubW9kdWxlLmV4cG9ydHMgPSBsdGVcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/lte.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/major.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/major.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9tYWpvci5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvbWFqb3IuanM/ZDJkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3NlbXZlcicpXG5jb25zdCBtYWpvciA9IChhLCBsb29zZSkgPT4gbmV3IFNlbVZlcihhLCBsb29zZSkubWFqb3Jcbm1vZHVsZS5leHBvcnRzID0gbWFqb3JcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/major.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/minor.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/minor.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9taW5vci5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvbWlub3IuanM/NDllYiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3NlbXZlcicpXG5jb25zdCBtaW5vciA9IChhLCBsb29zZSkgPT4gbmV3IFNlbVZlcihhLCBsb29zZSkubWlub3Jcbm1vZHVsZS5leHBvcnRzID0gbWlub3JcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/minor.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/neq.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/functions/neq.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9uZXEuanMiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCLG1CQUFPLENBQUMsNkRBQVc7QUFDbkM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9uZXEuanM/ZGU2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21wYXJlID0gcmVxdWlyZSgnLi9jb21wYXJlJylcbmNvbnN0IG5lcSA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShhLCBiLCBsb29zZSkgIT09IDBcbm1vZHVsZS5leHBvcnRzID0gbmVxXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/neq.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/parse.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/parse.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9wYXJzZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvcGFyc2UuanM/NGM5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3NlbXZlcicpXG5jb25zdCBwYXJzZSA9ICh2ZXJzaW9uLCBvcHRpb25zLCB0aHJvd0Vycm9ycyA9IGZhbHNlKSA9PiB7XG4gIGlmICh2ZXJzaW9uIGluc3RhbmNlb2YgU2VtVmVyKSB7XG4gICAgcmV0dXJuIHZlcnNpb25cbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBuZXcgU2VtVmVyKHZlcnNpb24sIG9wdGlvbnMpXG4gIH0gY2F0Y2ggKGVyKSB7XG4gICAgaWYgKCF0aHJvd0Vycm9ycykge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgdGhyb3cgZXJcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHBhcnNlXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/parse.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/patch.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/patch.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9wYXRjaC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvcGF0Y2guanM/NDY2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3NlbXZlcicpXG5jb25zdCBwYXRjaCA9IChhLCBsb29zZSkgPT4gbmV3IFNlbVZlcihhLCBsb29zZSkucGF0Y2hcbm1vZHVsZS5leHBvcnRzID0gcGF0Y2hcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/patch.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/prerelease.js": -/*!*****************************************************!*\ - !*** ./node_modules/semver/functions/prerelease.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const parse = __webpack_require__(/*! ./parse */ \"./node_modules/semver/functions/parse.js\")\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9wcmVyZWxlYXNlLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyx5REFBUztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL3ByZXJlbGVhc2UuanM/ZDE2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBwYXJzZSA9IHJlcXVpcmUoJy4vcGFyc2UnKVxuY29uc3QgcHJlcmVsZWFzZSA9ICh2ZXJzaW9uLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlKHZlcnNpb24sIG9wdGlvbnMpXG4gIHJldHVybiAocGFyc2VkICYmIHBhcnNlZC5wcmVyZWxlYXNlLmxlbmd0aCkgPyBwYXJzZWQucHJlcmVsZWFzZSA6IG51bGxcbn1cbm1vZHVsZS5leHBvcnRzID0gcHJlcmVsZWFzZVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/prerelease.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/rcompare.js": -/*!***************************************************!*\ - !*** ./node_modules/semver/functions/rcompare.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compare = __webpack_require__(/*! ./compare */ \"./node_modules/semver/functions/compare.js\")\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9yY29tcGFyZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQyw2REFBVztBQUNuQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL3Jjb21wYXJlLmpzP2ZhZGUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tcGFyZSA9IHJlcXVpcmUoJy4vY29tcGFyZScpXG5jb25zdCByY29tcGFyZSA9IChhLCBiLCBsb29zZSkgPT4gY29tcGFyZShiLCBhLCBsb29zZSlcbm1vZHVsZS5leHBvcnRzID0gcmNvbXBhcmVcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/rcompare.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/rsort.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/rsort.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compareBuild = __webpack_require__(/*! ./compare-build */ \"./node_modules/semver/functions/compare-build.js\")\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9yc29ydC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUIsbUJBQU8sQ0FBQyx5RUFBaUI7QUFDOUM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9yc29ydC5qcz9hZGQ5Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbXBhcmVCdWlsZCA9IHJlcXVpcmUoJy4vY29tcGFyZS1idWlsZCcpXG5jb25zdCByc29ydCA9IChsaXN0LCBsb29zZSkgPT4gbGlzdC5zb3J0KChhLCBiKSA9PiBjb21wYXJlQnVpbGQoYiwgYSwgbG9vc2UpKVxubW9kdWxlLmV4cG9ydHMgPSByc29ydFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/rsort.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/satisfies.js": -/*!****************************************************!*\ - !*** ./node_modules/semver/functions/satisfies.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9zYXRpc2ZpZXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLGdFQUFrQjtBQUN4QztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9zYXRpc2ZpZXMuanM/N2I0OCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSYW5nZSA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvcmFuZ2UnKVxuY29uc3Qgc2F0aXNmaWVzID0gKHZlcnNpb24sIHJhbmdlLCBvcHRpb25zKSA9PiB7XG4gIHRyeSB7XG4gICAgcmFuZ2UgPSBuZXcgUmFuZ2UocmFuZ2UsIG9wdGlvbnMpXG4gIH0gY2F0Y2ggKGVyKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIHJhbmdlLnRlc3QodmVyc2lvbilcbn1cbm1vZHVsZS5leHBvcnRzID0gc2F0aXNmaWVzXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/satisfies.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/sort.js": -/*!***********************************************!*\ - !*** ./node_modules/semver/functions/sort.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const compareBuild = __webpack_require__(/*! ./compare-build */ \"./node_modules/semver/functions/compare-build.js\")\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9zb3J0LmpzIiwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQixtQkFBTyxDQUFDLHlFQUFpQjtBQUM5QztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL3NvcnQuanM/Yjc3MCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21wYXJlQnVpbGQgPSByZXF1aXJlKCcuL2NvbXBhcmUtYnVpbGQnKVxuY29uc3Qgc29ydCA9IChsaXN0LCBsb29zZSkgPT4gbGlzdC5zb3J0KChhLCBiKSA9PiBjb21wYXJlQnVpbGQoYSwgYiwgbG9vc2UpKVxubW9kdWxlLmV4cG9ydHMgPSBzb3J0XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/sort.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/functions/valid.js": -/*!************************************************!*\ - !*** ./node_modules/semver/functions/valid.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const parse = __webpack_require__(/*! ./parse */ \"./node_modules/semver/functions/parse.js\")\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy92YWxpZC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMseURBQVM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy92YWxpZC5qcz8yYTg5Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBhcnNlID0gcmVxdWlyZSgnLi9wYXJzZScpXG5jb25zdCB2YWxpZCA9ICh2ZXJzaW9uLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHYgPSBwYXJzZSh2ZXJzaW9uLCBvcHRpb25zKVxuICByZXR1cm4gdiA/IHYudmVyc2lvbiA6IG51bGxcbn1cbm1vZHVsZS5leHBvcnRzID0gdmFsaWRcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/functions/valid.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/index.js": -/*!**************************************!*\ - !*** ./node_modules/semver/index.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// just pre-load all the stuff that index.js lazily exports\nconst internalRe = __webpack_require__(/*! ./internal/re */ \"./node_modules/semver/internal/re.js\")\nconst constants = __webpack_require__(/*! ./internal/constants */ \"./node_modules/semver/internal/constants.js\")\nconst SemVer = __webpack_require__(/*! ./classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst identifiers = __webpack_require__(/*! ./internal/identifiers */ \"./node_modules/semver/internal/identifiers.js\")\nconst parse = __webpack_require__(/*! ./functions/parse */ \"./node_modules/semver/functions/parse.js\")\nconst valid = __webpack_require__(/*! ./functions/valid */ \"./node_modules/semver/functions/valid.js\")\nconst clean = __webpack_require__(/*! ./functions/clean */ \"./node_modules/semver/functions/clean.js\")\nconst inc = __webpack_require__(/*! ./functions/inc */ \"./node_modules/semver/functions/inc.js\")\nconst diff = __webpack_require__(/*! ./functions/diff */ \"./node_modules/semver/functions/diff.js\")\nconst major = __webpack_require__(/*! ./functions/major */ \"./node_modules/semver/functions/major.js\")\nconst minor = __webpack_require__(/*! ./functions/minor */ \"./node_modules/semver/functions/minor.js\")\nconst patch = __webpack_require__(/*! ./functions/patch */ \"./node_modules/semver/functions/patch.js\")\nconst prerelease = __webpack_require__(/*! ./functions/prerelease */ \"./node_modules/semver/functions/prerelease.js\")\nconst compare = __webpack_require__(/*! ./functions/compare */ \"./node_modules/semver/functions/compare.js\")\nconst rcompare = __webpack_require__(/*! ./functions/rcompare */ \"./node_modules/semver/functions/rcompare.js\")\nconst compareLoose = __webpack_require__(/*! ./functions/compare-loose */ \"./node_modules/semver/functions/compare-loose.js\")\nconst compareBuild = __webpack_require__(/*! ./functions/compare-build */ \"./node_modules/semver/functions/compare-build.js\")\nconst sort = __webpack_require__(/*! ./functions/sort */ \"./node_modules/semver/functions/sort.js\")\nconst rsort = __webpack_require__(/*! ./functions/rsort */ \"./node_modules/semver/functions/rsort.js\")\nconst gt = __webpack_require__(/*! ./functions/gt */ \"./node_modules/semver/functions/gt.js\")\nconst lt = __webpack_require__(/*! ./functions/lt */ \"./node_modules/semver/functions/lt.js\")\nconst eq = __webpack_require__(/*! ./functions/eq */ \"./node_modules/semver/functions/eq.js\")\nconst neq = __webpack_require__(/*! ./functions/neq */ \"./node_modules/semver/functions/neq.js\")\nconst gte = __webpack_require__(/*! ./functions/gte */ \"./node_modules/semver/functions/gte.js\")\nconst lte = __webpack_require__(/*! ./functions/lte */ \"./node_modules/semver/functions/lte.js\")\nconst cmp = __webpack_require__(/*! ./functions/cmp */ \"./node_modules/semver/functions/cmp.js\")\nconst coerce = __webpack_require__(/*! ./functions/coerce */ \"./node_modules/semver/functions/coerce.js\")\nconst Comparator = __webpack_require__(/*! ./classes/comparator */ \"./node_modules/semver/classes/comparator.js\")\nconst Range = __webpack_require__(/*! ./classes/range */ \"./node_modules/semver/classes/range.js\")\nconst satisfies = __webpack_require__(/*! ./functions/satisfies */ \"./node_modules/semver/functions/satisfies.js\")\nconst toComparators = __webpack_require__(/*! ./ranges/to-comparators */ \"./node_modules/semver/ranges/to-comparators.js\")\nconst maxSatisfying = __webpack_require__(/*! ./ranges/max-satisfying */ \"./node_modules/semver/ranges/max-satisfying.js\")\nconst minSatisfying = __webpack_require__(/*! ./ranges/min-satisfying */ \"./node_modules/semver/ranges/min-satisfying.js\")\nconst minVersion = __webpack_require__(/*! ./ranges/min-version */ \"./node_modules/semver/ranges/min-version.js\")\nconst validRange = __webpack_require__(/*! ./ranges/valid */ \"./node_modules/semver/ranges/valid.js\")\nconst outside = __webpack_require__(/*! ./ranges/outside */ \"./node_modules/semver/ranges/outside.js\")\nconst gtr = __webpack_require__(/*! ./ranges/gtr */ \"./node_modules/semver/ranges/gtr.js\")\nconst ltr = __webpack_require__(/*! ./ranges/ltr */ \"./node_modules/semver/ranges/ltr.js\")\nconst intersects = __webpack_require__(/*! ./ranges/intersects */ \"./node_modules/semver/ranges/intersects.js\")\nconst simplifyRange = __webpack_require__(/*! ./ranges/simplify */ \"./node_modules/semver/ranges/simplify.js\")\nconst subset = __webpack_require__(/*! ./ranges/subset */ \"./node_modules/semver/ranges/subset.js\")\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsMkRBQWU7QUFDMUMsa0JBQWtCLG1CQUFPLENBQUMseUVBQXNCO0FBQ2hELGVBQWUsbUJBQU8sQ0FBQyxpRUFBa0I7QUFDekMsb0JBQW9CLG1CQUFPLENBQUMsNkVBQXdCO0FBQ3BELGNBQWMsbUJBQU8sQ0FBQyxtRUFBbUI7QUFDekMsY0FBYyxtQkFBTyxDQUFDLG1FQUFtQjtBQUN6QyxjQUFjLG1CQUFPLENBQUMsbUVBQW1CO0FBQ3pDLFlBQVksbUJBQU8sQ0FBQywrREFBaUI7QUFDckMsYUFBYSxtQkFBTyxDQUFDLGlFQUFrQjtBQUN2QyxjQUFjLG1CQUFPLENBQUMsbUVBQW1CO0FBQ3pDLGNBQWMsbUJBQU8sQ0FBQyxtRUFBbUI7QUFDekMsY0FBYyxtQkFBTyxDQUFDLG1FQUFtQjtBQUN6QyxtQkFBbUIsbUJBQU8sQ0FBQyw2RUFBd0I7QUFDbkQsZ0JBQWdCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzdDLGlCQUFpQixtQkFBTyxDQUFDLHlFQUFzQjtBQUMvQyxxQkFBcUIsbUJBQU8sQ0FBQyxtRkFBMkI7QUFDeEQscUJBQXFCLG1CQUFPLENBQUMsbUZBQTJCO0FBQ3hELGFBQWEsbUJBQU8sQ0FBQyxpRUFBa0I7QUFDdkMsY0FBYyxtQkFBTyxDQUFDLG1FQUFtQjtBQUN6QyxXQUFXLG1CQUFPLENBQUMsNkRBQWdCO0FBQ25DLFdBQVcsbUJBQU8sQ0FBQyw2REFBZ0I7QUFDbkMsV0FBVyxtQkFBTyxDQUFDLDZEQUFnQjtBQUNuQyxZQUFZLG1CQUFPLENBQUMsK0RBQWlCO0FBQ3JDLFlBQVksbUJBQU8sQ0FBQywrREFBaUI7QUFDckMsWUFBWSxtQkFBTyxDQUFDLCtEQUFpQjtBQUNyQyxZQUFZLG1CQUFPLENBQUMsK0RBQWlCO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxxRUFBb0I7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMseUVBQXNCO0FBQ2pELGNBQWMsbUJBQU8sQ0FBQywrREFBaUI7QUFDdkMsa0JBQWtCLG1CQUFPLENBQUMsMkVBQXVCO0FBQ2pELHNCQUFzQixtQkFBTyxDQUFDLCtFQUF5QjtBQUN2RCxzQkFBc0IsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdkQsc0JBQXNCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3ZELG1CQUFtQixtQkFBTyxDQUFDLHlFQUFzQjtBQUNqRCxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBZ0I7QUFDM0MsZ0JBQWdCLG1CQUFPLENBQUMsaUVBQWtCO0FBQzFDLFlBQVksbUJBQU8sQ0FBQyx5REFBYztBQUNsQyxZQUFZLG1CQUFPLENBQUMseURBQWM7QUFDbEMsbUJBQW1CLG1CQUFPLENBQUMsdUVBQXFCO0FBQ2hELHNCQUFzQixtQkFBTyxDQUFDLG1FQUFtQjtBQUNqRCxlQUFlLG1CQUFPLENBQUMsK0RBQWlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9pbmRleC5qcz8xMmI2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGp1c3QgcHJlLWxvYWQgYWxsIHRoZSBzdHVmZiB0aGF0IGluZGV4LmpzIGxhemlseSBleHBvcnRzXG5jb25zdCBpbnRlcm5hbFJlID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9yZScpXG5jb25zdCBjb25zdGFudHMgPSByZXF1aXJlKCcuL2ludGVybmFsL2NvbnN0YW50cycpXG5jb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuL2NsYXNzZXMvc2VtdmVyJylcbmNvbnN0IGlkZW50aWZpZXJzID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9pZGVudGlmaWVycycpXG5jb25zdCBwYXJzZSA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL3BhcnNlJylcbmNvbnN0IHZhbGlkID0gcmVxdWlyZSgnLi9mdW5jdGlvbnMvdmFsaWQnKVxuY29uc3QgY2xlYW4gPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9jbGVhbicpXG5jb25zdCBpbmMgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9pbmMnKVxuY29uc3QgZGlmZiA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL2RpZmYnKVxuY29uc3QgbWFqb3IgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9tYWpvcicpXG5jb25zdCBtaW5vciA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL21pbm9yJylcbmNvbnN0IHBhdGNoID0gcmVxdWlyZSgnLi9mdW5jdGlvbnMvcGF0Y2gnKVxuY29uc3QgcHJlcmVsZWFzZSA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL3ByZXJlbGVhc2UnKVxuY29uc3QgY29tcGFyZSA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL2NvbXBhcmUnKVxuY29uc3QgcmNvbXBhcmUgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9yY29tcGFyZScpXG5jb25zdCBjb21wYXJlTG9vc2UgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9jb21wYXJlLWxvb3NlJylcbmNvbnN0IGNvbXBhcmVCdWlsZCA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL2NvbXBhcmUtYnVpbGQnKVxuY29uc3Qgc29ydCA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL3NvcnQnKVxuY29uc3QgcnNvcnQgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9yc29ydCcpXG5jb25zdCBndCA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL2d0JylcbmNvbnN0IGx0ID0gcmVxdWlyZSgnLi9mdW5jdGlvbnMvbHQnKVxuY29uc3QgZXEgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9lcScpXG5jb25zdCBuZXEgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9uZXEnKVxuY29uc3QgZ3RlID0gcmVxdWlyZSgnLi9mdW5jdGlvbnMvZ3RlJylcbmNvbnN0IGx0ZSA9IHJlcXVpcmUoJy4vZnVuY3Rpb25zL2x0ZScpXG5jb25zdCBjbXAgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9jbXAnKVxuY29uc3QgY29lcmNlID0gcmVxdWlyZSgnLi9mdW5jdGlvbnMvY29lcmNlJylcbmNvbnN0IENvbXBhcmF0b3IgPSByZXF1aXJlKCcuL2NsYXNzZXMvY29tcGFyYXRvcicpXG5jb25zdCBSYW5nZSA9IHJlcXVpcmUoJy4vY2xhc3Nlcy9yYW5nZScpXG5jb25zdCBzYXRpc2ZpZXMgPSByZXF1aXJlKCcuL2Z1bmN0aW9ucy9zYXRpc2ZpZXMnKVxuY29uc3QgdG9Db21wYXJhdG9ycyA9IHJlcXVpcmUoJy4vcmFuZ2VzL3RvLWNvbXBhcmF0b3JzJylcbmNvbnN0IG1heFNhdGlzZnlpbmcgPSByZXF1aXJlKCcuL3Jhbmdlcy9tYXgtc2F0aXNmeWluZycpXG5jb25zdCBtaW5TYXRpc2Z5aW5nID0gcmVxdWlyZSgnLi9yYW5nZXMvbWluLXNhdGlzZnlpbmcnKVxuY29uc3QgbWluVmVyc2lvbiA9IHJlcXVpcmUoJy4vcmFuZ2VzL21pbi12ZXJzaW9uJylcbmNvbnN0IHZhbGlkUmFuZ2UgPSByZXF1aXJlKCcuL3Jhbmdlcy92YWxpZCcpXG5jb25zdCBvdXRzaWRlID0gcmVxdWlyZSgnLi9yYW5nZXMvb3V0c2lkZScpXG5jb25zdCBndHIgPSByZXF1aXJlKCcuL3Jhbmdlcy9ndHInKVxuY29uc3QgbHRyID0gcmVxdWlyZSgnLi9yYW5nZXMvbHRyJylcbmNvbnN0IGludGVyc2VjdHMgPSByZXF1aXJlKCcuL3Jhbmdlcy9pbnRlcnNlY3RzJylcbmNvbnN0IHNpbXBsaWZ5UmFuZ2UgPSByZXF1aXJlKCcuL3Jhbmdlcy9zaW1wbGlmeScpXG5jb25zdCBzdWJzZXQgPSByZXF1aXJlKCcuL3Jhbmdlcy9zdWJzZXQnKVxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHBhcnNlLFxuICB2YWxpZCxcbiAgY2xlYW4sXG4gIGluYyxcbiAgZGlmZixcbiAgbWFqb3IsXG4gIG1pbm9yLFxuICBwYXRjaCxcbiAgcHJlcmVsZWFzZSxcbiAgY29tcGFyZSxcbiAgcmNvbXBhcmUsXG4gIGNvbXBhcmVMb29zZSxcbiAgY29tcGFyZUJ1aWxkLFxuICBzb3J0LFxuICByc29ydCxcbiAgZ3QsXG4gIGx0LFxuICBlcSxcbiAgbmVxLFxuICBndGUsXG4gIGx0ZSxcbiAgY21wLFxuICBjb2VyY2UsXG4gIENvbXBhcmF0b3IsXG4gIFJhbmdlLFxuICBzYXRpc2ZpZXMsXG4gIHRvQ29tcGFyYXRvcnMsXG4gIG1heFNhdGlzZnlpbmcsXG4gIG1pblNhdGlzZnlpbmcsXG4gIG1pblZlcnNpb24sXG4gIHZhbGlkUmFuZ2UsXG4gIG91dHNpZGUsXG4gIGd0cixcbiAgbHRyLFxuICBpbnRlcnNlY3RzLFxuICBzaW1wbGlmeVJhbmdlLFxuICBzdWJzZXQsXG4gIFNlbVZlcixcbiAgcmU6IGludGVybmFsUmUucmUsXG4gIHNyYzogaW50ZXJuYWxSZS5zcmMsXG4gIHRva2VuczogaW50ZXJuYWxSZS50LFxuICBTRU1WRVJfU1BFQ19WRVJTSU9OOiBjb25zdGFudHMuU0VNVkVSX1NQRUNfVkVSU0lPTixcbiAgUkVMRUFTRV9UWVBFUzogY29uc3RhbnRzLlJFTEVBU0VfVFlQRVMsXG4gIGNvbXBhcmVJZGVudGlmaWVyczogaWRlbnRpZmllcnMuY29tcGFyZUlkZW50aWZpZXJzLFxuICByY29tcGFyZUlkZW50aWZpZXJzOiBpZGVudGlmaWVycy5yY29tcGFyZUlkZW50aWZpZXJzLFxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/index.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/internal/constants.js": -/*!***************************************************!*\ - !*** ./node_modules/semver/internal/constants.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2NvbnN0YW50cy5qcz85ZDMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIE5vdGU6IHRoaXMgaXMgdGhlIHNlbXZlci5vcmcgdmVyc2lvbiBvZiB0aGUgc3BlYyB0aGF0IGl0IGltcGxlbWVudHNcbi8vIE5vdCBuZWNlc3NhcmlseSB0aGUgcGFja2FnZSB2ZXJzaW9uIG9mIHRoaXMgY29kZS5cbmNvbnN0IFNFTVZFUl9TUEVDX1ZFUlNJT04gPSAnMi4wLjAnXG5cbmNvbnN0IE1BWF9MRU5HVEggPSAyNTZcbmNvbnN0IE1BWF9TQUZFX0lOVEVHRVIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiB8fFxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gOTAwNzE5OTI1NDc0MDk5MVxuXG4vLyBNYXggc2FmZSBzZWdtZW50IGxlbmd0aCBmb3IgY29lcmNpb24uXG5jb25zdCBNQVhfU0FGRV9DT01QT05FTlRfTEVOR1RIID0gMTZcblxuLy8gTWF4IHNhZmUgbGVuZ3RoIGZvciBhIGJ1aWxkIGlkZW50aWZpZXIuIFRoZSBtYXggbGVuZ3RoIG1pbnVzIDYgY2hhcmFjdGVycyBmb3Jcbi8vIHRoZSBzaG9ydGVzdCB2ZXJzaW9uIHdpdGggYSBidWlsZCAwLjAuMCtCVUlMRC5cbmNvbnN0IE1BWF9TQUZFX0JVSUxEX0xFTkdUSCA9IE1BWF9MRU5HVEggLSA2XG5cbmNvbnN0IFJFTEVBU0VfVFlQRVMgPSBbXG4gICdtYWpvcicsXG4gICdwcmVtYWpvcicsXG4gICdtaW5vcicsXG4gICdwcmVtaW5vcicsXG4gICdwYXRjaCcsXG4gICdwcmVwYXRjaCcsXG4gICdwcmVyZWxlYXNlJyxcbl1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIE1BWF9MRU5HVEgsXG4gIE1BWF9TQUZFX0NPTVBPTkVOVF9MRU5HVEgsXG4gIE1BWF9TQUZFX0JVSUxEX0xFTkdUSCxcbiAgTUFYX1NBRkVfSU5URUdFUixcbiAgUkVMRUFTRV9UWVBFUyxcbiAgU0VNVkVSX1NQRUNfVkVSU0lPTixcbiAgRkxBR19JTkNMVURFX1BSRVJFTEVBU0U6IDBiMDAxLFxuICBGTEFHX0xPT1NFOiAwYjAxMCxcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/internal/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/internal/debug.js": -/*!***********************************************!*\ - !*** ./node_modules/semver/internal/debug.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nconst debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2RlYnVnLmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBLFNBQVMsT0FBTztBQUNoQixFQUFFLE9BQU87QUFDVCxFQUFFLE9BQU87QUFDVCxxQkFBcUIsT0FBTztBQUM1QjtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvaW50ZXJuYWwvZGVidWcuanM/MzI4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBkZWJ1ZyA9IChcbiAgdHlwZW9mIHByb2Nlc3MgPT09ICdvYmplY3QnICYmXG4gIHByb2Nlc3MuZW52ICYmXG4gIHByb2Nlc3MuZW52Lk5PREVfREVCVUcgJiZcbiAgL1xcYnNlbXZlclxcYi9pLnRlc3QocHJvY2Vzcy5lbnYuTk9ERV9ERUJVRylcbikgPyAoLi4uYXJncykgPT4gY29uc29sZS5lcnJvcignU0VNVkVSJywgLi4uYXJncylcbiAgOiAoKSA9PiB7fVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRlYnVnXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/internal/debug.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/internal/identifiers.js": -/*!*****************************************************!*\ - !*** ./node_modules/semver/internal/identifiers.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2lkZW50aWZpZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2lkZW50aWZpZXJzLmpzP2YxYTgiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbnVtZXJpYyA9IC9eWzAtOV0rJC9cbmNvbnN0IGNvbXBhcmVJZGVudGlmaWVycyA9IChhLCBiKSA9PiB7XG4gIGNvbnN0IGFudW0gPSBudW1lcmljLnRlc3QoYSlcbiAgY29uc3QgYm51bSA9IG51bWVyaWMudGVzdChiKVxuXG4gIGlmIChhbnVtICYmIGJudW0pIHtcbiAgICBhID0gK2FcbiAgICBiID0gK2JcbiAgfVxuXG4gIHJldHVybiBhID09PSBiID8gMFxuICAgIDogKGFudW0gJiYgIWJudW0pID8gLTFcbiAgICA6IChibnVtICYmICFhbnVtKSA/IDFcbiAgICA6IGEgPCBiID8gLTFcbiAgICA6IDFcbn1cblxuY29uc3QgcmNvbXBhcmVJZGVudGlmaWVycyA9IChhLCBiKSA9PiBjb21wYXJlSWRlbnRpZmllcnMoYiwgYSlcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGNvbXBhcmVJZGVudGlmaWVycyxcbiAgcmNvbXBhcmVJZGVudGlmaWVycyxcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/internal/identifiers.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/internal/parse-options.js": -/*!*******************************************************!*\ - !*** ./node_modules/semver/internal/parse-options.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL3BhcnNlLW9wdGlvbnMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxvQ0FBb0MsYUFBYTtBQUNqRCxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL3BhcnNlLW9wdGlvbnMuanM/Y2QxYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBwYXJzZSBvdXQganVzdCB0aGUgb3B0aW9ucyB3ZSBjYXJlIGFib3V0XG5jb25zdCBsb29zZU9wdGlvbiA9IE9iamVjdC5mcmVlemUoeyBsb29zZTogdHJ1ZSB9KVxuY29uc3QgZW1wdHlPcHRzID0gT2JqZWN0LmZyZWV6ZSh7IH0pXG5jb25zdCBwYXJzZU9wdGlvbnMgPSBvcHRpb25zID0+IHtcbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgcmV0dXJuIGVtcHR5T3B0c1xuICB9XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBsb29zZU9wdGlvblxuICB9XG5cbiAgcmV0dXJuIG9wdGlvbnNcbn1cbm1vZHVsZS5leHBvcnRzID0gcGFyc2VPcHRpb25zXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/internal/parse-options.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/internal/re.js": -/*!********************************************!*\ - !*** ./node_modules/semver/internal/re.js ***! - \********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = __webpack_require__(/*! ./constants */ \"./node_modules/semver/internal/constants.js\")\nconst debug = __webpack_require__(/*! ./debug */ \"./node_modules/semver/internal/debug.js\")\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL3JlLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxFQUFFLG1CQUFPLENBQUMsZ0VBQWE7QUFDekIsY0FBYyxtQkFBTyxDQUFDLHdEQUFTO0FBQy9COztBQUVBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCLGVBQWUsY0FBYztBQUM3QixZQUFZLFdBQVc7QUFDdkIsVUFBVSxTQUFTO0FBQ25COztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLE1BQU0sWUFBWSxPQUFPLElBQUksS0FBSztBQUNsRCxnQkFBZ0IsTUFBTSxZQUFZLE9BQU8sSUFBSSxLQUFLO0FBQ2xEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCxpQkFBaUI7O0FBRXJFO0FBQ0E7O0FBRUEsK0JBQStCLHlCQUF5QjtBQUN4RCx1QkFBdUIseUJBQXlCO0FBQ2hELHVCQUF1Qix5QkFBeUI7O0FBRWhELG9DQUFvQyw4QkFBOEI7QUFDbEUsNEJBQTRCLDhCQUE4QjtBQUMxRCw0QkFBNEIsOEJBQThCOztBQUUxRDtBQUNBOztBQUVBLDBDQUEwQztBQUMxQyxDQUFDLEdBQUcsNEJBQTRCOztBQUVoQywrQ0FBK0M7QUFDL0MsQ0FBQyxHQUFHLDRCQUE0Qjs7QUFFaEM7QUFDQTtBQUNBOztBQUVBLGtDQUFrQztBQUNsQyxDQUFDLFFBQVEsNEJBQTRCOztBQUVyQyx3Q0FBd0M7QUFDeEMsQ0FBQyxRQUFRLGlDQUFpQzs7QUFFMUM7QUFDQTs7QUFFQSxrQ0FBa0MsaUJBQWlCOztBQUVuRDtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCO0FBQy9CLENBQUMsUUFBUSx1QkFBdUI7O0FBRWhDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEI7QUFDOUIsQ0FBQyxFQUFFLGtCQUFrQjtBQUNyQixlQUFlOztBQUVmLHdCQUF3QixpQkFBaUI7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQyxDQUFDLEVBQUUsdUJBQXVCO0FBQzFCLGVBQWU7O0FBRWYseUJBQXlCLGtCQUFrQjs7QUFFM0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLDhCQUE4QjtBQUN0RSxtQ0FBbUMseUJBQXlCOztBQUU1RCx1Q0FBdUMsd0JBQXdCO0FBQy9ELDZCQUE2Qix3QkFBd0I7QUFDckQsNkJBQTZCLHdCQUF3QjtBQUNyRCx5QkFBeUIsa0JBQWtCO0FBQzNDLGtDQUFrQztBQUNsQzs7QUFFQSw0Q0FBNEMsNkJBQTZCO0FBQ3pFLGtDQUFrQyw2QkFBNkI7QUFDL0Qsa0NBQWtDLDZCQUE2QjtBQUMvRCw4QkFBOEIsdUJBQXVCO0FBQ3JELHVDQUF1QztBQUN2Qzs7QUFFQSwwQkFBMEIsWUFBWSxNQUFNLG1CQUFtQjtBQUMvRCwrQkFBK0IsWUFBWSxNQUFNLHdCQUF3Qjs7QUFFekU7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QixvQkFBb0IsSUFBSSxFQUFFLDJCQUEyQjtBQUNyRCwwQkFBMEIsSUFBSSwyQkFBMkI7QUFDekQsMEJBQTBCLElBQUksMkJBQTJCO0FBQ3pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxpQkFBaUI7QUFDbkQsd0JBQXdCOztBQUV4Qix5QkFBeUIsaUJBQWlCLEVBQUUsbUJBQW1CO0FBQy9ELDhCQUE4QixpQkFBaUIsRUFBRSx3QkFBd0I7O0FBRXpFO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0MsaUJBQWlCO0FBQ25ELHdCQUF3Qjs7QUFFeEIseUJBQXlCLGlCQUFpQixFQUFFLG1CQUFtQjtBQUMvRCw4QkFBOEIsaUJBQWlCLEVBQUUsd0JBQXdCOztBQUV6RTtBQUNBLG1DQUFtQyxZQUFZLE9BQU8sa0JBQWtCO0FBQ3hFLDhCQUE4QixZQUFZLE9BQU8saUJBQWlCOztBQUVsRTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDLENBQUMsT0FBTyxrQkFBa0IsR0FBRyxtQkFBbUI7QUFDaEQsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxtQkFBbUI7QUFDdkQ7QUFDQSx1QkFBdUIsbUJBQW1CO0FBQzFDOztBQUVBLHlDQUF5Qyx3QkFBd0I7QUFDakU7QUFDQSw0QkFBNEIsd0JBQXdCO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9pbnRlcm5hbC9yZS5qcz84MmM0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtcbiAgTUFYX1NBRkVfQ09NUE9ORU5UX0xFTkdUSCxcbiAgTUFYX1NBRkVfQlVJTERfTEVOR1RILFxuICBNQVhfTEVOR1RILFxufSA9IHJlcXVpcmUoJy4vY29uc3RhbnRzJylcbmNvbnN0IGRlYnVnID0gcmVxdWlyZSgnLi9kZWJ1ZycpXG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSB7fVxuXG4vLyBUaGUgYWN0dWFsIHJlZ2V4cHMgZ28gb24gZXhwb3J0cy5yZVxuY29uc3QgcmUgPSBleHBvcnRzLnJlID0gW11cbmNvbnN0IHNhZmVSZSA9IGV4cG9ydHMuc2FmZVJlID0gW11cbmNvbnN0IHNyYyA9IGV4cG9ydHMuc3JjID0gW11cbmNvbnN0IHQgPSBleHBvcnRzLnQgPSB7fVxubGV0IFIgPSAwXG5cbmNvbnN0IExFVFRFUkRBU0hOVU1CRVIgPSAnW2EtekEtWjAtOS1dJ1xuXG4vLyBSZXBsYWNlIHNvbWUgZ3JlZWR5IHJlZ2V4IHRva2VucyB0byBwcmV2ZW50IHJlZ2V4IGRvcyBpc3N1ZXMuIFRoZXNlIHJlZ2V4IGFyZVxuLy8gdXNlZCBpbnRlcm5hbGx5IHZpYSB0aGUgc2FmZVJlIG9iamVjdCBzaW5jZSBhbGwgaW5wdXRzIGluIHRoaXMgbGlicmFyeSBnZXRcbi8vIG5vcm1hbGl6ZWQgZmlyc3QgdG8gdHJpbSBhbmQgY29sbGFwc2UgYWxsIGV4dHJhIHdoaXRlc3BhY2UuIFRoZSBvcmlnaW5hbFxuLy8gcmVnZXhlcyBhcmUgZXhwb3J0ZWQgZm9yIHVzZXJsYW5kIGNvbnN1bXB0aW9uIGFuZCBsb3dlciBsZXZlbCB1c2FnZS4gQVxuLy8gZnV0dXJlIGJyZWFraW5nIGNoYW5nZSBjb3VsZCBleHBvcnQgdGhlIHNhZmVyIHJlZ2V4IG9ubHkgd2l0aCBhIG5vdGUgdGhhdFxuLy8gYWxsIGlucHV0IHNob3VsZCBoYXZlIGV4dHJhIHdoaXRlc3BhY2UgcmVtb3ZlZC5cbmNvbnN0IHNhZmVSZWdleFJlcGxhY2VtZW50cyA9IFtcbiAgWydcXFxccycsIDFdLFxuICBbJ1xcXFxkJywgTUFYX0xFTkdUSF0sXG4gIFtMRVRURVJEQVNITlVNQkVSLCBNQVhfU0FGRV9CVUlMRF9MRU5HVEhdLFxuXVxuXG5jb25zdCBtYWtlU2FmZVJlZ2V4ID0gKHZhbHVlKSA9PiB7XG4gIGZvciAoY29uc3QgW3Rva2VuLCBtYXhdIG9mIHNhZmVSZWdleFJlcGxhY2VtZW50cykge1xuICAgIHZhbHVlID0gdmFsdWVcbiAgICAgIC5zcGxpdChgJHt0b2tlbn0qYCkuam9pbihgJHt0b2tlbn17MCwke21heH19YClcbiAgICAgIC5zcGxpdChgJHt0b2tlbn0rYCkuam9pbihgJHt0b2tlbn17MSwke21heH19YClcbiAgfVxuICByZXR1cm4gdmFsdWVcbn1cblxuY29uc3QgY3JlYXRlVG9rZW4gPSAobmFtZSwgdmFsdWUsIGlzR2xvYmFsKSA9PiB7XG4gIGNvbnN0IHNhZmUgPSBtYWtlU2FmZVJlZ2V4KHZhbHVlKVxuICBjb25zdCBpbmRleCA9IFIrK1xuICBkZWJ1ZyhuYW1lLCBpbmRleCwgdmFsdWUpXG4gIHRbbmFtZV0gPSBpbmRleFxuICBzcmNbaW5kZXhdID0gdmFsdWVcbiAgcmVbaW5kZXhdID0gbmV3IFJlZ0V4cCh2YWx1ZSwgaXNHbG9iYWwgPyAnZycgOiB1bmRlZmluZWQpXG4gIHNhZmVSZVtpbmRleF0gPSBuZXcgUmVnRXhwKHNhZmUsIGlzR2xvYmFsID8gJ2cnIDogdW5kZWZpbmVkKVxufVxuXG4vLyBUaGUgZm9sbG93aW5nIFJlZ3VsYXIgRXhwcmVzc2lvbnMgY2FuIGJlIHVzZWQgZm9yIHRva2VuaXppbmcsXG4vLyB2YWxpZGF0aW5nLCBhbmQgcGFyc2luZyBTZW1WZXIgdmVyc2lvbiBzdHJpbmdzLlxuXG4vLyAjIyBOdW1lcmljIElkZW50aWZpZXJcbi8vIEEgc2luZ2xlIGAwYCwgb3IgYSBub24temVybyBkaWdpdCBmb2xsb3dlZCBieSB6ZXJvIG9yIG1vcmUgZGlnaXRzLlxuXG5jcmVhdGVUb2tlbignTlVNRVJJQ0lERU5USUZJRVInLCAnMHxbMS05XVxcXFxkKicpXG5jcmVhdGVUb2tlbignTlVNRVJJQ0lERU5USUZJRVJMT09TRScsICdcXFxcZCsnKVxuXG4vLyAjIyBOb24tbnVtZXJpYyBJZGVudGlmaWVyXG4vLyBaZXJvIG9yIG1vcmUgZGlnaXRzLCBmb2xsb3dlZCBieSBhIGxldHRlciBvciBoeXBoZW4sIGFuZCB0aGVuIHplcm8gb3Jcbi8vIG1vcmUgbGV0dGVycywgZGlnaXRzLCBvciBoeXBoZW5zLlxuXG5jcmVhdGVUb2tlbignTk9OTlVNRVJJQ0lERU5USUZJRVInLCBgXFxcXGQqW2EtekEtWi1dJHtMRVRURVJEQVNITlVNQkVSfSpgKVxuXG4vLyAjIyBNYWluIFZlcnNpb25cbi8vIFRocmVlIGRvdC1zZXBhcmF0ZWQgbnVtZXJpYyBpZGVudGlmaWVycy5cblxuY3JlYXRlVG9rZW4oJ01BSU5WRVJTSU9OJywgYCgke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSXX0pXFxcXC5gICtcbiAgICAgICAgICAgICAgICAgICBgKCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJdfSlcXFxcLmAgK1xuICAgICAgICAgICAgICAgICAgIGAoJHtzcmNbdC5OVU1FUklDSURFTlRJRklFUl19KWApXG5cbmNyZWF0ZVRva2VuKCdNQUlOVkVSU0lPTkxPT1NFJywgYCgke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSTE9PU0VdfSlcXFxcLmAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYCgke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSTE9PU0VdfSlcXFxcLmAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYCgke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSTE9PU0VdfSlgKVxuXG4vLyAjIyBQcmUtcmVsZWFzZSBWZXJzaW9uIElkZW50aWZpZXJcbi8vIEEgbnVtZXJpYyBpZGVudGlmaWVyLCBvciBhIG5vbi1udW1lcmljIGlkZW50aWZpZXIuXG5cbmNyZWF0ZVRva2VuKCdQUkVSRUxFQVNFSURFTlRJRklFUicsIGAoPzoke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSXVxufXwke3NyY1t0Lk5PTk5VTUVSSUNJREVOVElGSUVSXX0pYClcblxuY3JlYXRlVG9rZW4oJ1BSRVJFTEVBU0VJREVOVElGSUVSTE9PU0UnLCBgKD86JHtzcmNbdC5OVU1FUklDSURFTlRJRklFUkxPT1NFXVxufXwke3NyY1t0Lk5PTk5VTUVSSUNJREVOVElGSUVSXX0pYClcblxuLy8gIyMgUHJlLXJlbGVhc2UgVmVyc2lvblxuLy8gSHlwaGVuLCBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBkb3Qtc2VwYXJhdGVkIHByZS1yZWxlYXNlIHZlcnNpb25cbi8vIGlkZW50aWZpZXJzLlxuXG5jcmVhdGVUb2tlbignUFJFUkVMRUFTRScsIGAoPzotKCR7c3JjW3QuUFJFUkVMRUFTRUlERU5USUZJRVJdXG59KD86XFxcXC4ke3NyY1t0LlBSRVJFTEVBU0VJREVOVElGSUVSXX0pKikpYClcblxuY3JlYXRlVG9rZW4oJ1BSRVJFTEVBU0VMT09TRScsIGAoPzotPygke3NyY1t0LlBSRVJFTEVBU0VJREVOVElGSUVSTE9PU0VdXG59KD86XFxcXC4ke3NyY1t0LlBSRVJFTEVBU0VJREVOVElGSUVSTE9PU0VdfSkqKSlgKVxuXG4vLyAjIyBCdWlsZCBNZXRhZGF0YSBJZGVudGlmaWVyXG4vLyBBbnkgY29tYmluYXRpb24gb2YgZGlnaXRzLCBsZXR0ZXJzLCBvciBoeXBoZW5zLlxuXG5jcmVhdGVUb2tlbignQlVJTERJREVOVElGSUVSJywgYCR7TEVUVEVSREFTSE5VTUJFUn0rYClcblxuLy8gIyMgQnVpbGQgTWV0YWRhdGFcbi8vIFBsdXMgc2lnbiwgZm9sbG93ZWQgYnkgb25lIG9yIG1vcmUgcGVyaW9kLXNlcGFyYXRlZCBidWlsZCBtZXRhZGF0YVxuLy8gaWRlbnRpZmllcnMuXG5cbmNyZWF0ZVRva2VuKCdCVUlMRCcsIGAoPzpcXFxcKygke3NyY1t0LkJVSUxESURFTlRJRklFUl1cbn0oPzpcXFxcLiR7c3JjW3QuQlVJTERJREVOVElGSUVSXX0pKikpYClcblxuLy8gIyMgRnVsbCBWZXJzaW9uIFN0cmluZ1xuLy8gQSBtYWluIHZlcnNpb24sIGZvbGxvd2VkIG9wdGlvbmFsbHkgYnkgYSBwcmUtcmVsZWFzZSB2ZXJzaW9uIGFuZFxuLy8gYnVpbGQgbWV0YWRhdGEuXG5cbi8vIE5vdGUgdGhhdCB0aGUgb25seSBtYWpvciwgbWlub3IsIHBhdGNoLCBhbmQgcHJlLXJlbGVhc2Ugc2VjdGlvbnMgb2Zcbi8vIHRoZSB2ZXJzaW9uIHN0cmluZyBhcmUgY2FwdHVyaW5nIGdyb3Vwcy4gIFRoZSBidWlsZCBtZXRhZGF0YSBpcyBub3QgYVxuLy8gY2FwdHVyaW5nIGdyb3VwLCBiZWNhdXNlIGl0IHNob3VsZCBub3QgZXZlciBiZSB1c2VkIGluIHZlcnNpb25cbi8vIGNvbXBhcmlzb24uXG5cbmNyZWF0ZVRva2VuKCdGVUxMUExBSU4nLCBgdj8ke3NyY1t0Lk1BSU5WRVJTSU9OXVxufSR7c3JjW3QuUFJFUkVMRUFTRV19PyR7XG4gIHNyY1t0LkJVSUxEXX0/YClcblxuY3JlYXRlVG9rZW4oJ0ZVTEwnLCBgXiR7c3JjW3QuRlVMTFBMQUlOXX0kYClcblxuLy8gbGlrZSBmdWxsLCBidXQgYWxsb3dzIHYxLjIuMyBhbmQgPTEuMi4zLCB3aGljaCBwZW9wbGUgZG8gc29tZXRpbWVzLlxuLy8gYWxzbywgMS4wLjBhbHBoYTEgKHByZXJlbGVhc2Ugd2l0aG91dCB0aGUgaHlwaGVuKSB3aGljaCBpcyBwcmV0dHlcbi8vIGNvbW1vbiBpbiB0aGUgbnBtIHJlZ2lzdHJ5LlxuY3JlYXRlVG9rZW4oJ0xPT1NFUExBSU4nLCBgW3Y9XFxcXHNdKiR7c3JjW3QuTUFJTlZFUlNJT05MT09TRV1cbn0ke3NyY1t0LlBSRVJFTEVBU0VMT09TRV19PyR7XG4gIHNyY1t0LkJVSUxEXX0/YClcblxuY3JlYXRlVG9rZW4oJ0xPT1NFJywgYF4ke3NyY1t0LkxPT1NFUExBSU5dfSRgKVxuXG5jcmVhdGVUb2tlbignR1RMVCcsICcoKD86PHw+KT89PyknKVxuXG4vLyBTb21ldGhpbmcgbGlrZSBcIjIuKlwiIG9yIFwiMS4yLnhcIi5cbi8vIE5vdGUgdGhhdCBcIngueFwiIGlzIGEgdmFsaWQgeFJhbmdlIGlkZW50aWZlciwgbWVhbmluZyBcImFueSB2ZXJzaW9uXCJcbi8vIE9ubHkgdGhlIGZpcnN0IGl0ZW0gaXMgc3RyaWN0bHkgcmVxdWlyZWQuXG5jcmVhdGVUb2tlbignWFJBTkdFSURFTlRJRklFUkxPT1NFJywgYCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19fHh8WHxcXFxcKmApXG5jcmVhdGVUb2tlbignWFJBTkdFSURFTlRJRklFUicsIGAke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSXX18eHxYfFxcXFwqYClcblxuY3JlYXRlVG9rZW4oJ1hSQU5HRVBMQUlOJywgYFt2PVxcXFxzXSooJHtzcmNbdC5YUkFOR0VJREVOVElGSUVSXX0pYCArXG4gICAgICAgICAgICAgICAgICAgYCg/OlxcXFwuKCR7c3JjW3QuWFJBTkdFSURFTlRJRklFUl19KWAgK1xuICAgICAgICAgICAgICAgICAgIGAoPzpcXFxcLigke3NyY1t0LlhSQU5HRUlERU5USUZJRVJdfSlgICtcbiAgICAgICAgICAgICAgICAgICBgKD86JHtzcmNbdC5QUkVSRUxFQVNFXX0pPyR7XG4gICAgICAgICAgICAgICAgICAgICBzcmNbdC5CVUlMRF19P2AgK1xuICAgICAgICAgICAgICAgICAgIGApPyk/YClcblxuY3JlYXRlVG9rZW4oJ1hSQU5HRVBMQUlOTE9PU0UnLCBgW3Y9XFxcXHNdKigke3NyY1t0LlhSQU5HRUlERU5USUZJRVJMT09TRV19KWAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYCg/OlxcXFwuKCR7c3JjW3QuWFJBTkdFSURFTlRJRklFUkxPT1NFXX0pYCArXG4gICAgICAgICAgICAgICAgICAgICAgICBgKD86XFxcXC4oJHtzcmNbdC5YUkFOR0VJREVOVElGSUVSTE9PU0VdfSlgICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGAoPzoke3NyY1t0LlBSRVJFTEVBU0VMT09TRV19KT8ke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNbdC5CVUlMRF19P2AgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYCk/KT9gKVxuXG5jcmVhdGVUb2tlbignWFJBTkdFJywgYF4ke3NyY1t0LkdUTFRdfVxcXFxzKiR7c3JjW3QuWFJBTkdFUExBSU5dfSRgKVxuY3JlYXRlVG9rZW4oJ1hSQU5HRUxPT1NFJywgYF4ke3NyY1t0LkdUTFRdfVxcXFxzKiR7c3JjW3QuWFJBTkdFUExBSU5MT09TRV19JGApXG5cbi8vIENvZXJjaW9uLlxuLy8gRXh0cmFjdCBhbnl0aGluZyB0aGF0IGNvdWxkIGNvbmNlaXZhYmx5IGJlIGEgcGFydCBvZiBhIHZhbGlkIHNlbXZlclxuY3JlYXRlVG9rZW4oJ0NPRVJDRScsIGAkeycoXnxbXlxcXFxkXSknICtcbiAgICAgICAgICAgICAgJyhcXFxcZHsxLCd9JHtNQVhfU0FGRV9DT01QT05FTlRfTEVOR1RIfX0pYCArXG4gICAgICAgICAgICAgIGAoPzpcXFxcLihcXFxcZHsxLCR7TUFYX1NBRkVfQ09NUE9ORU5UX0xFTkdUSH19KSk/YCArXG4gICAgICAgICAgICAgIGAoPzpcXFxcLihcXFxcZHsxLCR7TUFYX1NBRkVfQ09NUE9ORU5UX0xFTkdUSH19KSk/YCArXG4gICAgICAgICAgICAgIGAoPzokfFteXFxcXGRdKWApXG5jcmVhdGVUb2tlbignQ09FUkNFUlRMJywgc3JjW3QuQ09FUkNFXSwgdHJ1ZSlcblxuLy8gVGlsZGUgcmFuZ2VzLlxuLy8gTWVhbmluZyBpcyBcInJlYXNvbmFibHkgYXQgb3IgZ3JlYXRlciB0aGFuXCJcbmNyZWF0ZVRva2VuKCdMT05FVElMREUnLCAnKD86fj4/KScpXG5cbmNyZWF0ZVRva2VuKCdUSUxERVRSSU0nLCBgKFxcXFxzKikke3NyY1t0LkxPTkVUSUxERV19XFxcXHMrYCwgdHJ1ZSlcbmV4cG9ydHMudGlsZGVUcmltUmVwbGFjZSA9ICckMX4nXG5cbmNyZWF0ZVRva2VuKCdUSUxERScsIGBeJHtzcmNbdC5MT05FVElMREVdfSR7c3JjW3QuWFJBTkdFUExBSU5dfSRgKVxuY3JlYXRlVG9rZW4oJ1RJTERFTE9PU0UnLCBgXiR7c3JjW3QuTE9ORVRJTERFXX0ke3NyY1t0LlhSQU5HRVBMQUlOTE9PU0VdfSRgKVxuXG4vLyBDYXJldCByYW5nZXMuXG4vLyBNZWFuaW5nIGlzIFwiYXQgbGVhc3QgYW5kIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGhcIlxuY3JlYXRlVG9rZW4oJ0xPTkVDQVJFVCcsICcoPzpcXFxcXiknKVxuXG5jcmVhdGVUb2tlbignQ0FSRVRUUklNJywgYChcXFxccyopJHtzcmNbdC5MT05FQ0FSRVRdfVxcXFxzK2AsIHRydWUpXG5leHBvcnRzLmNhcmV0VHJpbVJlcGxhY2UgPSAnJDFeJ1xuXG5jcmVhdGVUb2tlbignQ0FSRVQnLCBgXiR7c3JjW3QuTE9ORUNBUkVUXX0ke3NyY1t0LlhSQU5HRVBMQUlOXX0kYClcbmNyZWF0ZVRva2VuKCdDQVJFVExPT1NFJywgYF4ke3NyY1t0LkxPTkVDQVJFVF19JHtzcmNbdC5YUkFOR0VQTEFJTkxPT1NFXX0kYClcblxuLy8gQSBzaW1wbGUgZ3QvbHQvZXEgdGhpbmcsIG9yIGp1c3QgXCJcIiB0byBpbmRpY2F0ZSBcImFueSB2ZXJzaW9uXCJcbmNyZWF0ZVRva2VuKCdDT01QQVJBVE9STE9PU0UnLCBgXiR7c3JjW3QuR1RMVF19XFxcXHMqKCR7c3JjW3QuTE9PU0VQTEFJTl19KSR8XiRgKVxuY3JlYXRlVG9rZW4oJ0NPTVBBUkFUT1InLCBgXiR7c3JjW3QuR1RMVF19XFxcXHMqKCR7c3JjW3QuRlVMTFBMQUlOXX0pJHxeJGApXG5cbi8vIEFuIGV4cHJlc3Npb24gdG8gc3RyaXAgYW55IHdoaXRlc3BhY2UgYmV0d2VlbiB0aGUgZ3RsdCBhbmQgdGhlIHRoaW5nXG4vLyBpdCBtb2RpZmllcywgc28gdGhhdCBgPiAxLjIuM2AgPT0+IGA+MS4yLjNgXG5jcmVhdGVUb2tlbignQ09NUEFSQVRPUlRSSU0nLCBgKFxcXFxzKikke3NyY1t0LkdUTFRdXG59XFxcXHMqKCR7c3JjW3QuTE9PU0VQTEFJTl19fCR7c3JjW3QuWFJBTkdFUExBSU5dfSlgLCB0cnVlKVxuZXhwb3J0cy5jb21wYXJhdG9yVHJpbVJlcGxhY2UgPSAnJDEkMiQzJ1xuXG4vLyBTb21ldGhpbmcgbGlrZSBgMS4yLjMgLSAxLjIuNGBcbi8vIE5vdGUgdGhhdCB0aGVzZSBhbGwgdXNlIHRoZSBsb29zZSBmb3JtLCBiZWNhdXNlIHRoZXknbGwgYmVcbi8vIGNoZWNrZWQgYWdhaW5zdCBlaXRoZXIgdGhlIHN0cmljdCBvciBsb29zZSBjb21wYXJhdG9yIGZvcm1cbi8vIGxhdGVyLlxuY3JlYXRlVG9rZW4oJ0hZUEhFTlJBTkdFJywgYF5cXFxccyooJHtzcmNbdC5YUkFOR0VQTEFJTl19KWAgK1xuICAgICAgICAgICAgICAgICAgIGBcXFxccystXFxcXHMrYCArXG4gICAgICAgICAgICAgICAgICAgYCgke3NyY1t0LlhSQU5HRVBMQUlOXX0pYCArXG4gICAgICAgICAgICAgICAgICAgYFxcXFxzKiRgKVxuXG5jcmVhdGVUb2tlbignSFlQSEVOUkFOR0VMT09TRScsIGBeXFxcXHMqKCR7c3JjW3QuWFJBTkdFUExBSU5MT09TRV19KWAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYFxcXFxzKy1cXFxccytgICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGAoJHtzcmNbdC5YUkFOR0VQTEFJTkxPT1NFXX0pYCArXG4gICAgICAgICAgICAgICAgICAgICAgICBgXFxcXHMqJGApXG5cbi8vIFN0YXIgcmFuZ2VzIGJhc2ljYWxseSBqdXN0IGFsbG93IGFueXRoaW5nIGF0IGFsbC5cbmNyZWF0ZVRva2VuKCdTVEFSJywgJyg8fD4pPz0/XFxcXHMqXFxcXConKVxuLy8gPj0wLjAuMCBpcyBsaWtlIGEgc3RhclxuY3JlYXRlVG9rZW4oJ0dURTAnLCAnXlxcXFxzKj49XFxcXHMqMFxcXFwuMFxcXFwuMFxcXFxzKiQnKVxuY3JlYXRlVG9rZW4oJ0dURTBQUkUnLCAnXlxcXFxzKj49XFxcXHMqMFxcXFwuMFxcXFwuMC0wXFxcXHMqJCcpXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/internal/re.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/gtr.js": -/*!*******************************************!*\ - !*** ./node_modules/semver/ranges/gtr.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// Determine if version is greater than all the versions possible in the range.\nconst outside = __webpack_require__(/*! ./outside */ \"./node_modules/semver/ranges/outside.js\")\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9ndHIuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQywwREFBVztBQUNuQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvcmFuZ2VzL2d0ci5qcz9hMzNkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIERldGVybWluZSBpZiB2ZXJzaW9uIGlzIGdyZWF0ZXIgdGhhbiBhbGwgdGhlIHZlcnNpb25zIHBvc3NpYmxlIGluIHRoZSByYW5nZS5cbmNvbnN0IG91dHNpZGUgPSByZXF1aXJlKCcuL291dHNpZGUnKVxuY29uc3QgZ3RyID0gKHZlcnNpb24sIHJhbmdlLCBvcHRpb25zKSA9PiBvdXRzaWRlKHZlcnNpb24sIHJhbmdlLCAnPicsIG9wdGlvbnMpXG5tb2R1bGUuZXhwb3J0cyA9IGd0clxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/gtr.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/intersects.js": -/*!**************************************************!*\ - !*** ./node_modules/semver/ranges/intersects.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9pbnRlcnNlY3RzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyxnRUFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvcmFuZ2VzL2ludGVyc2VjdHMuanM/MzY3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSYW5nZSA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvcmFuZ2UnKVxuY29uc3QgaW50ZXJzZWN0cyA9IChyMSwgcjIsIG9wdGlvbnMpID0+IHtcbiAgcjEgPSBuZXcgUmFuZ2UocjEsIG9wdGlvbnMpXG4gIHIyID0gbmV3IFJhbmdlKHIyLCBvcHRpb25zKVxuICByZXR1cm4gcjEuaW50ZXJzZWN0cyhyMiwgb3B0aW9ucylcbn1cbm1vZHVsZS5leHBvcnRzID0gaW50ZXJzZWN0c1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/intersects.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/ltr.js": -/*!*******************************************!*\ - !*** ./node_modules/semver/ranges/ltr.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const outside = __webpack_require__(/*! ./outside */ \"./node_modules/semver/ranges/outside.js\")\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9sdHIuanMiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCLG1CQUFPLENBQUMsMERBQVc7QUFDbkM7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvcmFuZ2VzL2x0ci5qcz8wNzg4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG91dHNpZGUgPSByZXF1aXJlKCcuL291dHNpZGUnKVxuLy8gRGV0ZXJtaW5lIGlmIHZlcnNpb24gaXMgbGVzcyB0aGFuIGFsbCB0aGUgdmVyc2lvbnMgcG9zc2libGUgaW4gdGhlIHJhbmdlXG5jb25zdCBsdHIgPSAodmVyc2lvbiwgcmFuZ2UsIG9wdGlvbnMpID0+IG91dHNpZGUodmVyc2lvbiwgcmFuZ2UsICc8Jywgb3B0aW9ucylcbm1vZHVsZS5leHBvcnRzID0gbHRyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/ltr.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/max-satisfying.js": -/*!******************************************************!*\ - !*** ./node_modules/semver/ranges/max-satisfying.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9tYXgtc2F0aXNmeWluZy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDLGNBQWMsbUJBQU8sQ0FBQyxnRUFBa0I7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9tYXgtc2F0aXNmeWluZy5qcz8wNzVhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFNlbVZlciA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvc2VtdmVyJylcbmNvbnN0IFJhbmdlID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9yYW5nZScpXG5cbmNvbnN0IG1heFNhdGlzZnlpbmcgPSAodmVyc2lvbnMsIHJhbmdlLCBvcHRpb25zKSA9PiB7XG4gIGxldCBtYXggPSBudWxsXG4gIGxldCBtYXhTViA9IG51bGxcbiAgbGV0IHJhbmdlT2JqID0gbnVsbFxuICB0cnkge1xuICAgIHJhbmdlT2JqID0gbmV3IFJhbmdlKHJhbmdlLCBvcHRpb25zKVxuICB9IGNhdGNoIChlcikge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgdmVyc2lvbnMuZm9yRWFjaCgodikgPT4ge1xuICAgIGlmIChyYW5nZU9iai50ZXN0KHYpKSB7XG4gICAgICAvLyBzYXRpc2ZpZXModiwgcmFuZ2UsIG9wdGlvbnMpXG4gICAgICBpZiAoIW1heCB8fCBtYXhTVi5jb21wYXJlKHYpID09PSAtMSkge1xuICAgICAgICAvLyBjb21wYXJlKG1heCwgdiwgdHJ1ZSlcbiAgICAgICAgbWF4ID0gdlxuICAgICAgICBtYXhTViA9IG5ldyBTZW1WZXIobWF4LCBvcHRpb25zKVxuICAgICAgfVxuICAgIH1cbiAgfSlcbiAgcmV0dXJuIG1heFxufVxubW9kdWxlLmV4cG9ydHMgPSBtYXhTYXRpc2Z5aW5nXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/max-satisfying.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/min-satisfying.js": -/*!******************************************************!*\ - !*** ./node_modules/semver/ranges/min-satisfying.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9taW4tc2F0aXNmeWluZy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDLGNBQWMsbUJBQU8sQ0FBQyxnRUFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvcmFuZ2VzL21pbi1zYXRpc2Z5aW5nLmpzPzgzMjkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU2VtVmVyID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9zZW12ZXInKVxuY29uc3QgUmFuZ2UgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3JhbmdlJylcbmNvbnN0IG1pblNhdGlzZnlpbmcgPSAodmVyc2lvbnMsIHJhbmdlLCBvcHRpb25zKSA9PiB7XG4gIGxldCBtaW4gPSBudWxsXG4gIGxldCBtaW5TViA9IG51bGxcbiAgbGV0IHJhbmdlT2JqID0gbnVsbFxuICB0cnkge1xuICAgIHJhbmdlT2JqID0gbmV3IFJhbmdlKHJhbmdlLCBvcHRpb25zKVxuICB9IGNhdGNoIChlcikge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgdmVyc2lvbnMuZm9yRWFjaCgodikgPT4ge1xuICAgIGlmIChyYW5nZU9iai50ZXN0KHYpKSB7XG4gICAgICAvLyBzYXRpc2ZpZXModiwgcmFuZ2UsIG9wdGlvbnMpXG4gICAgICBpZiAoIW1pbiB8fCBtaW5TVi5jb21wYXJlKHYpID09PSAxKSB7XG4gICAgICAgIC8vIGNvbXBhcmUobWluLCB2LCB0cnVlKVxuICAgICAgICBtaW4gPSB2XG4gICAgICAgIG1pblNWID0gbmV3IFNlbVZlcihtaW4sIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9KVxuICByZXR1cm4gbWluXG59XG5tb2R1bGUuZXhwb3J0cyA9IG1pblNhdGlzZnlpbmdcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/min-satisfying.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/min-version.js": -/*!***************************************************!*\ - !*** ./node_modules/semver/ranges/min-version.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\nconst gt = __webpack_require__(/*! ../functions/gt */ \"./node_modules/semver/functions/gt.js\")\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9taW4tdmVyc2lvbi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQW1CO0FBQzFDLGNBQWMsbUJBQU8sQ0FBQyxnRUFBa0I7QUFDeEMsV0FBVyxtQkFBTyxDQUFDLDhEQUFpQjs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixzQkFBc0I7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxvQkFBb0I7QUFDdkU7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9taW4tdmVyc2lvbi5qcz8wZjNiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFNlbVZlciA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvc2VtdmVyJylcbmNvbnN0IFJhbmdlID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9yYW5nZScpXG5jb25zdCBndCA9IHJlcXVpcmUoJy4uL2Z1bmN0aW9ucy9ndCcpXG5cbmNvbnN0IG1pblZlcnNpb24gPSAocmFuZ2UsIGxvb3NlKSA9PiB7XG4gIHJhbmdlID0gbmV3IFJhbmdlKHJhbmdlLCBsb29zZSlcblxuICBsZXQgbWludmVyID0gbmV3IFNlbVZlcignMC4wLjAnKVxuICBpZiAocmFuZ2UudGVzdChtaW52ZXIpKSB7XG4gICAgcmV0dXJuIG1pbnZlclxuICB9XG5cbiAgbWludmVyID0gbmV3IFNlbVZlcignMC4wLjAtMCcpXG4gIGlmIChyYW5nZS50ZXN0KG1pbnZlcikpIHtcbiAgICByZXR1cm4gbWludmVyXG4gIH1cblxuICBtaW52ZXIgPSBudWxsXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZ2Uuc2V0Lmxlbmd0aDsgKytpKSB7XG4gICAgY29uc3QgY29tcGFyYXRvcnMgPSByYW5nZS5zZXRbaV1cblxuICAgIGxldCBzZXRNaW4gPSBudWxsXG4gICAgY29tcGFyYXRvcnMuZm9yRWFjaCgoY29tcGFyYXRvcikgPT4ge1xuICAgICAgLy8gQ2xvbmUgdG8gYXZvaWQgbWFuaXB1bGF0aW5nIHRoZSBjb21wYXJhdG9yJ3Mgc2VtdmVyIG9iamVjdC5cbiAgICAgIGNvbnN0IGNvbXB2ZXIgPSBuZXcgU2VtVmVyKGNvbXBhcmF0b3Iuc2VtdmVyLnZlcnNpb24pXG4gICAgICBzd2l0Y2ggKGNvbXBhcmF0b3Iub3BlcmF0b3IpIHtcbiAgICAgICAgY2FzZSAnPic6XG4gICAgICAgICAgaWYgKGNvbXB2ZXIucHJlcmVsZWFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbXB2ZXIucGF0Y2grK1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21wdmVyLnByZXJlbGVhc2UucHVzaCgwKVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb21wdmVyLnJhdyA9IGNvbXB2ZXIuZm9ybWF0KClcbiAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqL1xuICAgICAgICBjYXNlICcnOlxuICAgICAgICBjYXNlICc+PSc6XG4gICAgICAgICAgaWYgKCFzZXRNaW4gfHwgZ3QoY29tcHZlciwgc2V0TWluKSkge1xuICAgICAgICAgICAgc2V0TWluID0gY29tcHZlclxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgY2FzZSAnPD0nOlxuICAgICAgICAgIC8qIElnbm9yZSBtYXhpbXVtIHZlcnNpb25zICovXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgb3BlcmF0aW9uOiAke2NvbXBhcmF0b3Iub3BlcmF0b3J9YClcbiAgICAgIH1cbiAgICB9KVxuICAgIGlmIChzZXRNaW4gJiYgKCFtaW52ZXIgfHwgZ3QobWludmVyLCBzZXRNaW4pKSkge1xuICAgICAgbWludmVyID0gc2V0TWluXG4gICAgfVxuICB9XG5cbiAgaWYgKG1pbnZlciAmJiByYW5nZS50ZXN0KG1pbnZlcikpIHtcbiAgICByZXR1cm4gbWludmVyXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxubW9kdWxlLmV4cG9ydHMgPSBtaW5WZXJzaW9uXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/min-version.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/outside.js": -/*!***********************************************!*\ - !*** ./node_modules/semver/ranges/outside.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const SemVer = __webpack_require__(/*! ../classes/semver */ \"./node_modules/semver/classes/semver.js\")\nconst Comparator = __webpack_require__(/*! ../classes/comparator */ \"./node_modules/semver/classes/comparator.js\")\nconst { ANY } = Comparator\nconst Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\nconst satisfies = __webpack_require__(/*! ../functions/satisfies */ \"./node_modules/semver/functions/satisfies.js\")\nconst gt = __webpack_require__(/*! ../functions/gt */ \"./node_modules/semver/functions/gt.js\")\nconst lt = __webpack_require__(/*! ../functions/lt */ \"./node_modules/semver/functions/lt.js\")\nconst lte = __webpack_require__(/*! ../functions/lte */ \"./node_modules/semver/functions/lte.js\")\nconst gte = __webpack_require__(/*! ../functions/gte */ \"./node_modules/semver/functions/gte.js\")\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9vdXRzaWRlLmpzIiwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxrRUFBbUI7QUFDMUMsbUJBQW1CLG1CQUFPLENBQUMsMEVBQXVCO0FBQ2xELFFBQVEsTUFBTTtBQUNkLGNBQWMsbUJBQU8sQ0FBQyxnRUFBa0I7QUFDeEMsa0JBQWtCLG1CQUFPLENBQUMsNEVBQXdCO0FBQ2xELFdBQVcsbUJBQU8sQ0FBQyw4REFBaUI7QUFDcEMsV0FBVyxtQkFBTyxDQUFDLDhEQUFpQjtBQUNwQyxZQUFZLG1CQUFPLENBQUMsZ0VBQWtCO0FBQ3RDLFlBQVksbUJBQU8sQ0FBQyxnRUFBa0I7O0FBRXRDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQixzQkFBc0I7QUFDeEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvcmFuZ2VzL291dHNpZGUuanM/ZjczNCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTZW1WZXIgPSByZXF1aXJlKCcuLi9jbGFzc2VzL3NlbXZlcicpXG5jb25zdCBDb21wYXJhdG9yID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9jb21wYXJhdG9yJylcbmNvbnN0IHsgQU5ZIH0gPSBDb21wYXJhdG9yXG5jb25zdCBSYW5nZSA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvcmFuZ2UnKVxuY29uc3Qgc2F0aXNmaWVzID0gcmVxdWlyZSgnLi4vZnVuY3Rpb25zL3NhdGlzZmllcycpXG5jb25zdCBndCA9IHJlcXVpcmUoJy4uL2Z1bmN0aW9ucy9ndCcpXG5jb25zdCBsdCA9IHJlcXVpcmUoJy4uL2Z1bmN0aW9ucy9sdCcpXG5jb25zdCBsdGUgPSByZXF1aXJlKCcuLi9mdW5jdGlvbnMvbHRlJylcbmNvbnN0IGd0ZSA9IHJlcXVpcmUoJy4uL2Z1bmN0aW9ucy9ndGUnKVxuXG5jb25zdCBvdXRzaWRlID0gKHZlcnNpb24sIHJhbmdlLCBoaWxvLCBvcHRpb25zKSA9PiB7XG4gIHZlcnNpb24gPSBuZXcgU2VtVmVyKHZlcnNpb24sIG9wdGlvbnMpXG4gIHJhbmdlID0gbmV3IFJhbmdlKHJhbmdlLCBvcHRpb25zKVxuXG4gIGxldCBndGZuLCBsdGVmbiwgbHRmbiwgY29tcCwgZWNvbXBcbiAgc3dpdGNoIChoaWxvKSB7XG4gICAgY2FzZSAnPic6XG4gICAgICBndGZuID0gZ3RcbiAgICAgIGx0ZWZuID0gbHRlXG4gICAgICBsdGZuID0gbHRcbiAgICAgIGNvbXAgPSAnPidcbiAgICAgIGVjb21wID0gJz49J1xuICAgICAgYnJlYWtcbiAgICBjYXNlICc8JzpcbiAgICAgIGd0Zm4gPSBsdFxuICAgICAgbHRlZm4gPSBndGVcbiAgICAgIGx0Zm4gPSBndFxuICAgICAgY29tcCA9ICc8J1xuICAgICAgZWNvbXAgPSAnPD0nXG4gICAgICBicmVha1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdNdXN0IHByb3ZpZGUgYSBoaWxvIHZhbCBvZiBcIjxcIiBvciBcIj5cIicpXG4gIH1cblxuICAvLyBJZiBpdCBzYXRpc2ZpZXMgdGhlIHJhbmdlIGl0IGlzIG5vdCBvdXRzaWRlXG4gIGlmIChzYXRpc2ZpZXModmVyc2lvbiwgcmFuZ2UsIG9wdGlvbnMpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvLyBGcm9tIG5vdyBvbiwgdmFyaWFibGUgdGVybXMgYXJlIGFzIGlmIHdlJ3JlIGluIFwiZ3RyXCIgbW9kZS5cbiAgLy8gYnV0IG5vdGUgdGhhdCBldmVyeXRoaW5nIGlzIGZsaXBwZWQgZm9yIHRoZSBcImx0clwiIGZ1bmN0aW9uLlxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZ2Uuc2V0Lmxlbmd0aDsgKytpKSB7XG4gICAgY29uc3QgY29tcGFyYXRvcnMgPSByYW5nZS5zZXRbaV1cblxuICAgIGxldCBoaWdoID0gbnVsbFxuICAgIGxldCBsb3cgPSBudWxsXG5cbiAgICBjb21wYXJhdG9ycy5mb3JFYWNoKChjb21wYXJhdG9yKSA9PiB7XG4gICAgICBpZiAoY29tcGFyYXRvci5zZW12ZXIgPT09IEFOWSkge1xuICAgICAgICBjb21wYXJhdG9yID0gbmV3IENvbXBhcmF0b3IoJz49MC4wLjAnKVxuICAgICAgfVxuICAgICAgaGlnaCA9IGhpZ2ggfHwgY29tcGFyYXRvclxuICAgICAgbG93ID0gbG93IHx8IGNvbXBhcmF0b3JcbiAgICAgIGlmIChndGZuKGNvbXBhcmF0b3Iuc2VtdmVyLCBoaWdoLnNlbXZlciwgb3B0aW9ucykpIHtcbiAgICAgICAgaGlnaCA9IGNvbXBhcmF0b3JcbiAgICAgIH0gZWxzZSBpZiAobHRmbihjb21wYXJhdG9yLnNlbXZlciwgbG93LnNlbXZlciwgb3B0aW9ucykpIHtcbiAgICAgICAgbG93ID0gY29tcGFyYXRvclxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBJZiB0aGUgZWRnZSB2ZXJzaW9uIGNvbXBhcmF0b3IgaGFzIGEgb3BlcmF0b3IgdGhlbiBvdXIgdmVyc2lvblxuICAgIC8vIGlzbid0IG91dHNpZGUgaXRcbiAgICBpZiAoaGlnaC5vcGVyYXRvciA9PT0gY29tcCB8fCBoaWdoLm9wZXJhdG9yID09PSBlY29tcCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGxvd2VzdCB2ZXJzaW9uIGNvbXBhcmF0b3IgaGFzIGFuIG9wZXJhdG9yIGFuZCBvdXIgdmVyc2lvblxuICAgIC8vIGlzIGxlc3MgdGhhbiBpdCB0aGVuIGl0IGlzbid0IGhpZ2hlciB0aGFuIHRoZSByYW5nZVxuICAgIGlmICgoIWxvdy5vcGVyYXRvciB8fCBsb3cub3BlcmF0b3IgPT09IGNvbXApICYmXG4gICAgICAgIGx0ZWZuKHZlcnNpb24sIGxvdy5zZW12ZXIpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9IGVsc2UgaWYgKGxvdy5vcGVyYXRvciA9PT0gZWNvbXAgJiYgbHRmbih2ZXJzaW9uLCBsb3cuc2VtdmVyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlXG59XG5cbm1vZHVsZS5leHBvcnRzID0gb3V0c2lkZVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/outside.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/simplify.js": -/*!************************************************!*\ - !*** ./node_modules/semver/ranges/simplify.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = __webpack_require__(/*! ../functions/satisfies.js */ \"./node_modules/semver/functions/satisfies.js\")\nconst compare = __webpack_require__(/*! ../functions/compare.js */ \"./node_modules/semver/functions/compare.js\")\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9zaW1wbGlmeS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQywrRUFBMkI7QUFDckQsZ0JBQWdCLG1CQUFPLENBQUMsMkVBQXlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTix1QkFBdUIsSUFBSTtBQUMzQixNQUFNO0FBQ04sdUJBQXVCLElBQUk7QUFDM0IsTUFBTTtBQUNOLHFCQUFxQixLQUFLLElBQUksSUFBSTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9yYW5nZXMvc2ltcGxpZnkuanM/N2E0OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBnaXZlbiBhIHNldCBvZiB2ZXJzaW9ucyBhbmQgYSByYW5nZSwgY3JlYXRlIGEgXCJzaW1wbGlmaWVkXCIgcmFuZ2Vcbi8vIHRoYXQgaW5jbHVkZXMgdGhlIHNhbWUgdmVyc2lvbnMgdGhhdCB0aGUgb3JpZ2luYWwgcmFuZ2UgZG9lc1xuLy8gSWYgdGhlIG9yaWdpbmFsIHJhbmdlIGlzIHNob3J0ZXIgdGhhbiB0aGUgc2ltcGxpZmllZCBvbmUsIHJldHVybiB0aGF0LlxuY29uc3Qgc2F0aXNmaWVzID0gcmVxdWlyZSgnLi4vZnVuY3Rpb25zL3NhdGlzZmllcy5qcycpXG5jb25zdCBjb21wYXJlID0gcmVxdWlyZSgnLi4vZnVuY3Rpb25zL2NvbXBhcmUuanMnKVxubW9kdWxlLmV4cG9ydHMgPSAodmVyc2lvbnMsIHJhbmdlLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHNldCA9IFtdXG4gIGxldCBmaXJzdCA9IG51bGxcbiAgbGV0IHByZXYgPSBudWxsXG4gIGNvbnN0IHYgPSB2ZXJzaW9ucy5zb3J0KChhLCBiKSA9PiBjb21wYXJlKGEsIGIsIG9wdGlvbnMpKVxuICBmb3IgKGNvbnN0IHZlcnNpb24gb2Ygdikge1xuICAgIGNvbnN0IGluY2x1ZGVkID0gc2F0aXNmaWVzKHZlcnNpb24sIHJhbmdlLCBvcHRpb25zKVxuICAgIGlmIChpbmNsdWRlZCkge1xuICAgICAgcHJldiA9IHZlcnNpb25cbiAgICAgIGlmICghZmlyc3QpIHtcbiAgICAgICAgZmlyc3QgPSB2ZXJzaW9uXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgIHNldC5wdXNoKFtmaXJzdCwgcHJldl0pXG4gICAgICB9XG4gICAgICBwcmV2ID0gbnVsbFxuICAgICAgZmlyc3QgPSBudWxsXG4gICAgfVxuICB9XG4gIGlmIChmaXJzdCkge1xuICAgIHNldC5wdXNoKFtmaXJzdCwgbnVsbF0pXG4gIH1cblxuICBjb25zdCByYW5nZXMgPSBbXVxuICBmb3IgKGNvbnN0IFttaW4sIG1heF0gb2Ygc2V0KSB7XG4gICAgaWYgKG1pbiA9PT0gbWF4KSB7XG4gICAgICByYW5nZXMucHVzaChtaW4pXG4gICAgfSBlbHNlIGlmICghbWF4ICYmIG1pbiA9PT0gdlswXSkge1xuICAgICAgcmFuZ2VzLnB1c2goJyonKVxuICAgIH0gZWxzZSBpZiAoIW1heCkge1xuICAgICAgcmFuZ2VzLnB1c2goYD49JHttaW59YClcbiAgICB9IGVsc2UgaWYgKG1pbiA9PT0gdlswXSkge1xuICAgICAgcmFuZ2VzLnB1c2goYDw9JHttYXh9YClcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2VzLnB1c2goYCR7bWlufSAtICR7bWF4fWApXG4gICAgfVxuICB9XG4gIGNvbnN0IHNpbXBsaWZpZWQgPSByYW5nZXMuam9pbignIHx8ICcpXG4gIGNvbnN0IG9yaWdpbmFsID0gdHlwZW9mIHJhbmdlLnJhdyA9PT0gJ3N0cmluZycgPyByYW5nZS5yYXcgOiBTdHJpbmcocmFuZ2UpXG4gIHJldHVybiBzaW1wbGlmaWVkLmxlbmd0aCA8IG9yaWdpbmFsLmxlbmd0aCA/IHNpbXBsaWZpZWQgOiByYW5nZVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/simplify.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/subset.js": -/*!**********************************************!*\ - !*** ./node_modules/semver/ranges/subset.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Range = __webpack_require__(/*! ../classes/range.js */ \"./node_modules/semver/classes/range.js\")\nconst Comparator = __webpack_require__(/*! ../classes/comparator.js */ \"./node_modules/semver/classes/comparator.js\")\nconst { ANY } = Comparator\nconst satisfies = __webpack_require__(/*! ../functions/satisfies.js */ \"./node_modules/semver/functions/satisfies.js\")\nconst compare = __webpack_require__(/*! ../functions/compare.js */ \"./node_modules/semver/functions/compare.js\")\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy9zdWJzZXQuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLG1FQUFxQjtBQUMzQyxtQkFBbUIsbUJBQU8sQ0FBQyw2RUFBMEI7QUFDckQsUUFBUSxNQUFNO0FBQ2Qsa0JBQWtCLG1CQUFPLENBQUMsK0VBQTJCO0FBQ3JELGdCQUFnQixtQkFBTyxDQUFDLDJFQUF5Qjs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zZW12ZXIvcmFuZ2VzL3N1YnNldC5qcz8yNzU2Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFJhbmdlID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9yYW5nZS5qcycpXG5jb25zdCBDb21wYXJhdG9yID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9jb21wYXJhdG9yLmpzJylcbmNvbnN0IHsgQU5ZIH0gPSBDb21wYXJhdG9yXG5jb25zdCBzYXRpc2ZpZXMgPSByZXF1aXJlKCcuLi9mdW5jdGlvbnMvc2F0aXNmaWVzLmpzJylcbmNvbnN0IGNvbXBhcmUgPSByZXF1aXJlKCcuLi9mdW5jdGlvbnMvY29tcGFyZS5qcycpXG5cbi8vIENvbXBsZXggcmFuZ2UgYHIxIHx8IHIyIHx8IC4uLmAgaXMgYSBzdWJzZXQgb2YgYFIxIHx8IFIyIHx8IC4uLmAgaWZmOlxuLy8gLSBFdmVyeSBzaW1wbGUgcmFuZ2UgYHIxLCByMiwgLi4uYCBpcyBhIG51bGwgc2V0LCBPUlxuLy8gLSBFdmVyeSBzaW1wbGUgcmFuZ2UgYHIxLCByMiwgLi4uYCB3aGljaCBpcyBub3QgYSBudWxsIHNldCBpcyBhIHN1YnNldCBvZlxuLy8gICBzb21lIGBSMSwgUjIsIC4uLmBcbi8vXG4vLyBTaW1wbGUgcmFuZ2UgYGMxIGMyIC4uLmAgaXMgYSBzdWJzZXQgb2Ygc2ltcGxlIHJhbmdlIGBDMSBDMiAuLi5gIGlmZjpcbi8vIC0gSWYgYyBpcyBvbmx5IHRoZSBBTlkgY29tcGFyYXRvclxuLy8gICAtIElmIEMgaXMgb25seSB0aGUgQU5ZIGNvbXBhcmF0b3IsIHJldHVybiB0cnVlXG4vLyAgIC0gRWxzZSBpZiBpbiBwcmVyZWxlYXNlIG1vZGUsIHJldHVybiBmYWxzZVxuLy8gICAtIGVsc2UgcmVwbGFjZSBjIHdpdGggYFs+PTAuMC4wXWBcbi8vIC0gSWYgQyBpcyBvbmx5IHRoZSBBTlkgY29tcGFyYXRvclxuLy8gICAtIGlmIGluIHByZXJlbGVhc2UgbW9kZSwgcmV0dXJuIHRydWVcbi8vICAgLSBlbHNlIHJlcGxhY2UgQyB3aXRoIGBbPj0wLjAuMF1gXG4vLyAtIExldCBFUSBiZSB0aGUgc2V0IG9mID0gY29tcGFyYXRvcnMgaW4gY1xuLy8gLSBJZiBFUSBpcyBtb3JlIHRoYW4gb25lLCByZXR1cm4gdHJ1ZSAobnVsbCBzZXQpXG4vLyAtIExldCBHVCBiZSB0aGUgaGlnaGVzdCA+IG9yID49IGNvbXBhcmF0b3IgaW4gY1xuLy8gLSBMZXQgTFQgYmUgdGhlIGxvd2VzdCA8IG9yIDw9IGNvbXBhcmF0b3IgaW4gY1xuLy8gLSBJZiBHVCBhbmQgTFQsIGFuZCBHVC5zZW12ZXIgPiBMVC5zZW12ZXIsIHJldHVybiB0cnVlIChudWxsIHNldClcbi8vIC0gSWYgYW55IEMgaXMgYSA9IHJhbmdlLCBhbmQgR1Qgb3IgTFQgYXJlIHNldCwgcmV0dXJuIGZhbHNlXG4vLyAtIElmIEVRXG4vLyAgIC0gSWYgR1QsIGFuZCBFUSBkb2VzIG5vdCBzYXRpc2Z5IEdULCByZXR1cm4gdHJ1ZSAobnVsbCBzZXQpXG4vLyAgIC0gSWYgTFQsIGFuZCBFUSBkb2VzIG5vdCBzYXRpc2Z5IExULCByZXR1cm4gdHJ1ZSAobnVsbCBzZXQpXG4vLyAgIC0gSWYgRVEgc2F0aXNmaWVzIGV2ZXJ5IEMsIHJldHVybiB0cnVlXG4vLyAgIC0gRWxzZSByZXR1cm4gZmFsc2Vcbi8vIC0gSWYgR1Rcbi8vICAgLSBJZiBHVC5zZW12ZXIgaXMgbG93ZXIgdGhhbiBhbnkgPiBvciA+PSBjb21wIGluIEMsIHJldHVybiBmYWxzZVxuLy8gICAtIElmIEdUIGlzID49LCBhbmQgR1Quc2VtdmVyIGRvZXMgbm90IHNhdGlzZnkgZXZlcnkgQywgcmV0dXJuIGZhbHNlXG4vLyAgIC0gSWYgR1Quc2VtdmVyIGhhcyBhIHByZXJlbGVhc2UsIGFuZCBub3QgaW4gcHJlcmVsZWFzZSBtb2RlXG4vLyAgICAgLSBJZiBubyBDIGhhcyBhIHByZXJlbGVhc2UgYW5kIHRoZSBHVC5zZW12ZXIgdHVwbGUsIHJldHVybiBmYWxzZVxuLy8gLSBJZiBMVFxuLy8gICAtIElmIExULnNlbXZlciBpcyBncmVhdGVyIHRoYW4gYW55IDwgb3IgPD0gY29tcCBpbiBDLCByZXR1cm4gZmFsc2Vcbi8vICAgLSBJZiBMVCBpcyA8PSwgYW5kIExULnNlbXZlciBkb2VzIG5vdCBzYXRpc2Z5IGV2ZXJ5IEMsIHJldHVybiBmYWxzZVxuLy8gICAtIElmIEdULnNlbXZlciBoYXMgYSBwcmVyZWxlYXNlLCBhbmQgbm90IGluIHByZXJlbGVhc2UgbW9kZVxuLy8gICAgIC0gSWYgbm8gQyBoYXMgYSBwcmVyZWxlYXNlIGFuZCB0aGUgTFQuc2VtdmVyIHR1cGxlLCByZXR1cm4gZmFsc2Vcbi8vIC0gRWxzZSByZXR1cm4gdHJ1ZVxuXG5jb25zdCBzdWJzZXQgPSAoc3ViLCBkb20sIG9wdGlvbnMgPSB7fSkgPT4ge1xuICBpZiAoc3ViID09PSBkb20pIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgc3ViID0gbmV3IFJhbmdlKHN1Yiwgb3B0aW9ucylcbiAgZG9tID0gbmV3IFJhbmdlKGRvbSwgb3B0aW9ucylcbiAgbGV0IHNhd05vbk51bGwgPSBmYWxzZVxuXG4gIE9VVEVSOiBmb3IgKGNvbnN0IHNpbXBsZVN1YiBvZiBzdWIuc2V0KSB7XG4gICAgZm9yIChjb25zdCBzaW1wbGVEb20gb2YgZG9tLnNldCkge1xuICAgICAgY29uc3QgaXNTdWIgPSBzaW1wbGVTdWJzZXQoc2ltcGxlU3ViLCBzaW1wbGVEb20sIG9wdGlvbnMpXG4gICAgICBzYXdOb25OdWxsID0gc2F3Tm9uTnVsbCB8fCBpc1N1YiAhPT0gbnVsbFxuICAgICAgaWYgKGlzU3ViKSB7XG4gICAgICAgIGNvbnRpbnVlIE9VVEVSXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHRoZSBudWxsIHNldCBpcyBhIHN1YnNldCBvZiBldmVyeXRoaW5nLCBidXQgbnVsbCBzaW1wbGUgcmFuZ2VzIGluXG4gICAgLy8gYSBjb21wbGV4IHJhbmdlIHNob3VsZCBiZSBpZ25vcmVkLiAgc28gaWYgd2Ugc2F3IGEgbm9uLW51bGwgcmFuZ2UsXG4gICAgLy8gdGhlbiB3ZSBrbm93IHRoaXMgaXNuJ3QgYSBzdWJzZXQsIGJ1dCBpZiBFVkVSWSBzaW1wbGUgcmFuZ2Ugd2FzIG51bGwsXG4gICAgLy8gdGhlbiBpdCBpcyBhIHN1YnNldC5cbiAgICBpZiAoc2F3Tm9uTnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlXG59XG5cbmNvbnN0IG1pbmltdW1WZXJzaW9uV2l0aFByZVJlbGVhc2UgPSBbbmV3IENvbXBhcmF0b3IoJz49MC4wLjAtMCcpXVxuY29uc3QgbWluaW11bVZlcnNpb24gPSBbbmV3IENvbXBhcmF0b3IoJz49MC4wLjAnKV1cblxuY29uc3Qgc2ltcGxlU3Vic2V0ID0gKHN1YiwgZG9tLCBvcHRpb25zKSA9PiB7XG4gIGlmIChzdWIgPT09IGRvbSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAoc3ViLmxlbmd0aCA9PT0gMSAmJiBzdWJbMF0uc2VtdmVyID09PSBBTlkpIHtcbiAgICBpZiAoZG9tLmxlbmd0aCA9PT0gMSAmJiBkb21bMF0uc2VtdmVyID09PSBBTlkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmluY2x1ZGVQcmVyZWxlYXNlKSB7XG4gICAgICBzdWIgPSBtaW5pbXVtVmVyc2lvbldpdGhQcmVSZWxlYXNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHN1YiA9IG1pbmltdW1WZXJzaW9uXG4gICAgfVxuICB9XG5cbiAgaWYgKGRvbS5sZW5ndGggPT09IDEgJiYgZG9tWzBdLnNlbXZlciA9PT0gQU5ZKSB7XG4gICAgaWYgKG9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2UpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIGRvbSA9IG1pbmltdW1WZXJzaW9uXG4gICAgfVxuICB9XG5cbiAgY29uc3QgZXFTZXQgPSBuZXcgU2V0KClcbiAgbGV0IGd0LCBsdFxuICBmb3IgKGNvbnN0IGMgb2Ygc3ViKSB7XG4gICAgaWYgKGMub3BlcmF0b3IgPT09ICc+JyB8fCBjLm9wZXJhdG9yID09PSAnPj0nKSB7XG4gICAgICBndCA9IGhpZ2hlckdUKGd0LCBjLCBvcHRpb25zKVxuICAgIH0gZWxzZSBpZiAoYy5vcGVyYXRvciA9PT0gJzwnIHx8IGMub3BlcmF0b3IgPT09ICc8PScpIHtcbiAgICAgIGx0ID0gbG93ZXJMVChsdCwgYywgb3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgZXFTZXQuYWRkKGMuc2VtdmVyKVxuICAgIH1cbiAgfVxuXG4gIGlmIChlcVNldC5zaXplID4gMSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBsZXQgZ3RsdENvbXBcbiAgaWYgKGd0ICYmIGx0KSB7XG4gICAgZ3RsdENvbXAgPSBjb21wYXJlKGd0LnNlbXZlciwgbHQuc2VtdmVyLCBvcHRpb25zKVxuICAgIGlmIChndGx0Q29tcCA+IDApIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBlbHNlIGlmIChndGx0Q29tcCA9PT0gMCAmJiAoZ3Qub3BlcmF0b3IgIT09ICc+PScgfHwgbHQub3BlcmF0b3IgIT09ICc8PScpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIC8vIHdpbGwgaXRlcmF0ZSBvbmUgb3IgemVybyB0aW1lc1xuICBmb3IgKGNvbnN0IGVxIG9mIGVxU2V0KSB7XG4gICAgaWYgKGd0ICYmICFzYXRpc2ZpZXMoZXEsIFN0cmluZyhndCksIG9wdGlvbnMpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGlmIChsdCAmJiAhc2F0aXNmaWVzKGVxLCBTdHJpbmcobHQpLCBvcHRpb25zKSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGMgb2YgZG9tKSB7XG4gICAgICBpZiAoIXNhdGlzZmllcyhlcSwgU3RyaW5nKGMpLCBvcHRpb25zKSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgbGV0IGhpZ2hlciwgbG93ZXJcbiAgbGV0IGhhc0RvbUxULCBoYXNEb21HVFxuICAvLyBpZiB0aGUgc3Vic2V0IGhhcyBhIHByZXJlbGVhc2UsIHdlIG5lZWQgYSBjb21wYXJhdG9yIGluIHRoZSBzdXBlcnNldFxuICAvLyB3aXRoIHRoZSBzYW1lIHR1cGxlIGFuZCBhIHByZXJlbGVhc2UsIG9yIGl0J3Mgbm90IGEgc3Vic2V0XG4gIGxldCBuZWVkRG9tTFRQcmUgPSBsdCAmJlxuICAgICFvcHRpb25zLmluY2x1ZGVQcmVyZWxlYXNlICYmXG4gICAgbHQuc2VtdmVyLnByZXJlbGVhc2UubGVuZ3RoID8gbHQuc2VtdmVyIDogZmFsc2VcbiAgbGV0IG5lZWREb21HVFByZSA9IGd0ICYmXG4gICAgIW9wdGlvbnMuaW5jbHVkZVByZXJlbGVhc2UgJiZcbiAgICBndC5zZW12ZXIucHJlcmVsZWFzZS5sZW5ndGggPyBndC5zZW12ZXIgOiBmYWxzZVxuICAvLyBleGNlcHRpb246IDwxLjIuMy0wIGlzIHRoZSBzYW1lIGFzIDwxLjIuM1xuICBpZiAobmVlZERvbUxUUHJlICYmIG5lZWREb21MVFByZS5wcmVyZWxlYXNlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgbHQub3BlcmF0b3IgPT09ICc8JyAmJiBuZWVkRG9tTFRQcmUucHJlcmVsZWFzZVswXSA9PT0gMCkge1xuICAgIG5lZWREb21MVFByZSA9IGZhbHNlXG4gIH1cblxuICBmb3IgKGNvbnN0IGMgb2YgZG9tKSB7XG4gICAgaGFzRG9tR1QgPSBoYXNEb21HVCB8fCBjLm9wZXJhdG9yID09PSAnPicgfHwgYy5vcGVyYXRvciA9PT0gJz49J1xuICAgIGhhc0RvbUxUID0gaGFzRG9tTFQgfHwgYy5vcGVyYXRvciA9PT0gJzwnIHx8IGMub3BlcmF0b3IgPT09ICc8PSdcbiAgICBpZiAoZ3QpIHtcbiAgICAgIGlmIChuZWVkRG9tR1RQcmUpIHtcbiAgICAgICAgaWYgKGMuc2VtdmVyLnByZXJlbGVhc2UgJiYgYy5zZW12ZXIucHJlcmVsZWFzZS5sZW5ndGggJiZcbiAgICAgICAgICAgIGMuc2VtdmVyLm1ham9yID09PSBuZWVkRG9tR1RQcmUubWFqb3IgJiZcbiAgICAgICAgICAgIGMuc2VtdmVyLm1pbm9yID09PSBuZWVkRG9tR1RQcmUubWlub3IgJiZcbiAgICAgICAgICAgIGMuc2VtdmVyLnBhdGNoID09PSBuZWVkRG9tR1RQcmUucGF0Y2gpIHtcbiAgICAgICAgICBuZWVkRG9tR1RQcmUgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoYy5vcGVyYXRvciA9PT0gJz4nIHx8IGMub3BlcmF0b3IgPT09ICc+PScpIHtcbiAgICAgICAgaGlnaGVyID0gaGlnaGVyR1QoZ3QsIGMsIG9wdGlvbnMpXG4gICAgICAgIGlmIChoaWdoZXIgPT09IGMgJiYgaGlnaGVyICE9PSBndCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGd0Lm9wZXJhdG9yID09PSAnPj0nICYmICFzYXRpc2ZpZXMoZ3Quc2VtdmVyLCBTdHJpbmcoYyksIG9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobHQpIHtcbiAgICAgIGlmIChuZWVkRG9tTFRQcmUpIHtcbiAgICAgICAgaWYgKGMuc2VtdmVyLnByZXJlbGVhc2UgJiYgYy5zZW12ZXIucHJlcmVsZWFzZS5sZW5ndGggJiZcbiAgICAgICAgICAgIGMuc2VtdmVyLm1ham9yID09PSBuZWVkRG9tTFRQcmUubWFqb3IgJiZcbiAgICAgICAgICAgIGMuc2VtdmVyLm1pbm9yID09PSBuZWVkRG9tTFRQcmUubWlub3IgJiZcbiAgICAgICAgICAgIGMuc2VtdmVyLnBhdGNoID09PSBuZWVkRG9tTFRQcmUucGF0Y2gpIHtcbiAgICAgICAgICBuZWVkRG9tTFRQcmUgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoYy5vcGVyYXRvciA9PT0gJzwnIHx8IGMub3BlcmF0b3IgPT09ICc8PScpIHtcbiAgICAgICAgbG93ZXIgPSBsb3dlckxUKGx0LCBjLCBvcHRpb25zKVxuICAgICAgICBpZiAobG93ZXIgPT09IGMgJiYgbG93ZXIgIT09IGx0KSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobHQub3BlcmF0b3IgPT09ICc8PScgJiYgIXNhdGlzZmllcyhsdC5zZW12ZXIsIFN0cmluZyhjKSwgb3B0aW9ucykpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghYy5vcGVyYXRvciAmJiAobHQgfHwgZ3QpICYmIGd0bHRDb21wICE9PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cblxuICAvLyBpZiB0aGVyZSB3YXMgYSA8IG9yID4sIGFuZCBub3RoaW5nIGluIHRoZSBkb20sIHRoZW4gbXVzdCBiZSBmYWxzZVxuICAvLyBVTkxFU1MgaXQgd2FzIGxpbWl0ZWQgYnkgYW5vdGhlciByYW5nZSBpbiB0aGUgb3RoZXIgZGlyZWN0aW9uLlxuICAvLyBFZywgPjEuMC4wIDwxLjAuMSBpcyBzdGlsbCBhIHN1YnNldCBvZiA8Mi4wLjBcbiAgaWYgKGd0ICYmIGhhc0RvbUxUICYmICFsdCAmJiBndGx0Q29tcCAhPT0gMCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKGx0ICYmIGhhc0RvbUdUICYmICFndCAmJiBndGx0Q29tcCAhPT0gMCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLy8gd2UgbmVlZGVkIGEgcHJlcmVsZWFzZSByYW5nZSBpbiBhIHNwZWNpZmljIHR1cGxlLCBidXQgZGlkbid0IGdldCBvbmVcbiAgLy8gdGhlbiB0aGlzIGlzbid0IGEgc3Vic2V0LiAgZWcgPj0xLjIuMy1wcmUgaXMgbm90IGEgc3Vic2V0IG9mID49MS4wLjAsXG4gIC8vIGJlY2F1c2UgaXQgaW5jbHVkZXMgcHJlcmVsZWFzZXMgaW4gdGhlIDEuMi4zIHR1cGxlXG4gIGlmIChuZWVkRG9tR1RQcmUgfHwgbmVlZERvbUxUUHJlKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG4vLyA+PTEuMi4zIGlzIGxvd2VyIHRoYW4gPjEuMi4zXG5jb25zdCBoaWdoZXJHVCA9IChhLCBiLCBvcHRpb25zKSA9PiB7XG4gIGlmICghYSkge1xuICAgIHJldHVybiBiXG4gIH1cbiAgY29uc3QgY29tcCA9IGNvbXBhcmUoYS5zZW12ZXIsIGIuc2VtdmVyLCBvcHRpb25zKVxuICByZXR1cm4gY29tcCA+IDAgPyBhXG4gICAgOiBjb21wIDwgMCA/IGJcbiAgICA6IGIub3BlcmF0b3IgPT09ICc+JyAmJiBhLm9wZXJhdG9yID09PSAnPj0nID8gYlxuICAgIDogYVxufVxuXG4vLyA8PTEuMi4zIGlzIGhpZ2hlciB0aGFuIDwxLjIuM1xuY29uc3QgbG93ZXJMVCA9IChhLCBiLCBvcHRpb25zKSA9PiB7XG4gIGlmICghYSkge1xuICAgIHJldHVybiBiXG4gIH1cbiAgY29uc3QgY29tcCA9IGNvbXBhcmUoYS5zZW12ZXIsIGIuc2VtdmVyLCBvcHRpb25zKVxuICByZXR1cm4gY29tcCA8IDAgPyBhXG4gICAgOiBjb21wID4gMCA/IGJcbiAgICA6IGIub3BlcmF0b3IgPT09ICc8JyAmJiBhLm9wZXJhdG9yID09PSAnPD0nID8gYlxuICAgIDogYVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN1YnNldFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/subset.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/to-comparators.js": -/*!******************************************************!*\ - !*** ./node_modules/semver/ranges/to-comparators.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy90by1jb21wYXJhdG9ycy5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsZ0VBQWtCOztBQUV4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy90by1jb21wYXJhdG9ycy5qcz9lMDA3Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFJhbmdlID0gcmVxdWlyZSgnLi4vY2xhc3Nlcy9yYW5nZScpXG5cbi8vIE1vc3RseSBqdXN0IGZvciB0ZXN0aW5nIGFuZCBsZWdhY3kgQVBJIHJlYXNvbnNcbmNvbnN0IHRvQ29tcGFyYXRvcnMgPSAocmFuZ2UsIG9wdGlvbnMpID0+XG4gIG5ldyBSYW5nZShyYW5nZSwgb3B0aW9ucykuc2V0XG4gICAgLm1hcChjb21wID0+IGNvbXAubWFwKGMgPT4gYy52YWx1ZSkuam9pbignICcpLnRyaW0oKS5zcGxpdCgnICcpKVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvQ29tcGFyYXRvcnNcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/to-comparators.js\n")); - -/***/ }), - -/***/ "./node_modules/semver/ranges/valid.js": -/*!*********************************************!*\ - !*** ./node_modules/semver/ranges/valid.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Range = __webpack_require__(/*! ../classes/range */ \"./node_modules/semver/classes/range.js\")\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2VtdmVyL3Jhbmdlcy92YWxpZC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsZ0VBQWtCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NlbXZlci9yYW5nZXMvdmFsaWQuanM/YTVkMyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSYW5nZSA9IHJlcXVpcmUoJy4uL2NsYXNzZXMvcmFuZ2UnKVxuY29uc3QgdmFsaWRSYW5nZSA9IChyYW5nZSwgb3B0aW9ucykgPT4ge1xuICB0cnkge1xuICAgIC8vIFJldHVybiAnKicgaW5zdGVhZCBvZiAnJyBzbyB0aGF0IHRydXRoaW5lc3Mgd29ya3MuXG4gICAgLy8gVGhpcyB3aWxsIHRocm93IGlmIGl0J3MgaW52YWxpZCBhbnl3YXlcbiAgICByZXR1cm4gbmV3IFJhbmdlKHJhbmdlLCBvcHRpb25zKS5yYW5nZSB8fCAnKidcbiAgfSBjYXRjaCAoZXIpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IHZhbGlkUmFuZ2VcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/semver/ranges/valid.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/hash.js": -/*!*************************************!*\ - !*** ./node_modules/sha.js/hash.js ***! - \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2hhc2guanMiLCJtYXBwaW5ncyI6IkFBQUEsYUFBYSxzRkFBNkI7O0FBRTFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCLGdCQUFnQjtBQUN2QztBQUNBOztBQUVBLG9CQUFvQixlQUFlO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzPzQ1NGQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbi8vIHByb3RvdHlwZSBjbGFzcyBmb3IgaGFzaCBmdW5jdGlvbnNcbmZ1bmN0aW9uIEhhc2ggKGJsb2NrU2l6ZSwgZmluYWxTaXplKSB7XG4gIHRoaXMuX2Jsb2NrID0gQnVmZmVyLmFsbG9jKGJsb2NrU2l6ZSlcbiAgdGhpcy5fZmluYWxTaXplID0gZmluYWxTaXplXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxuICB0aGlzLl9sZW4gPSAwXG59XG5cbkhhc2gucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhLCBlbmMpIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgIGVuYyA9IGVuYyB8fCAndXRmOCdcbiAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSwgZW5jKVxuICB9XG5cbiAgdmFyIGJsb2NrID0gdGhpcy5fYmxvY2tcbiAgdmFyIGJsb2NrU2l6ZSA9IHRoaXMuX2Jsb2NrU2l6ZVxuICB2YXIgbGVuZ3RoID0gZGF0YS5sZW5ndGhcbiAgdmFyIGFjY3VtID0gdGhpcy5fbGVuXG5cbiAgZm9yICh2YXIgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgbGVuZ3RoOykge1xuICAgIHZhciBhc3NpZ25lZCA9IGFjY3VtICUgYmxvY2tTaXplXG4gICAgdmFyIHJlbWFpbmRlciA9IE1hdGgubWluKGxlbmd0aCAtIG9mZnNldCwgYmxvY2tTaXplIC0gYXNzaWduZWQpXG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlbWFpbmRlcjsgaSsrKSB7XG4gICAgICBibG9ja1thc3NpZ25lZCArIGldID0gZGF0YVtvZmZzZXQgKyBpXVxuICAgIH1cblxuICAgIGFjY3VtICs9IHJlbWFpbmRlclxuICAgIG9mZnNldCArPSByZW1haW5kZXJcblxuICAgIGlmICgoYWNjdW0gJSBibG9ja1NpemUpID09PSAwKSB7XG4gICAgICB0aGlzLl91cGRhdGUoYmxvY2spXG4gICAgfVxuICB9XG5cbiAgdGhpcy5fbGVuICs9IGxlbmd0aFxuICByZXR1cm4gdGhpc1xufVxuXG5IYXNoLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiAoZW5jKSB7XG4gIHZhciByZW0gPSB0aGlzLl9sZW4gJSB0aGlzLl9ibG9ja1NpemVcblxuICB0aGlzLl9ibG9ja1tyZW1dID0gMHg4MFxuXG4gIC8vIHplcm8gKHJlbSArIDEpIHRyYWlsaW5nIGJpdHMsIHdoZXJlIChyZW0gKyAxKSBpcyB0aGUgc21hbGxlc3RcbiAgLy8gbm9uLW5lZ2F0aXZlIHNvbHV0aW9uIHRvIHRoZSBlcXVhdGlvbiAobGVuZ3RoICsgMSArIChyZW0gKyAxKSkgPT09IGZpbmFsU2l6ZSBtb2QgYmxvY2tTaXplXG4gIHRoaXMuX2Jsb2NrLmZpbGwoMCwgcmVtICsgMSlcblxuICBpZiAocmVtID49IHRoaXMuX2ZpbmFsU2l6ZSkge1xuICAgIHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jaylcbiAgICB0aGlzLl9ibG9jay5maWxsKDApXG4gIH1cblxuICB2YXIgYml0cyA9IHRoaXMuX2xlbiAqIDhcblxuICAvLyB1aW50MzJcbiAgaWYgKGJpdHMgPD0gMHhmZmZmZmZmZikge1xuICAgIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUoYml0cywgdGhpcy5fYmxvY2tTaXplIC0gNClcblxuICAvLyB1aW50NjRcbiAgfSBlbHNlIHtcbiAgICB2YXIgbG93Qml0cyA9IChiaXRzICYgMHhmZmZmZmZmZikgPj4+IDBcbiAgICB2YXIgaGlnaEJpdHMgPSAoYml0cyAtIGxvd0JpdHMpIC8gMHgxMDAwMDAwMDBcblxuICAgIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUoaGlnaEJpdHMsIHRoaXMuX2Jsb2NrU2l6ZSAtIDgpXG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShsb3dCaXRzLCB0aGlzLl9ibG9ja1NpemUgLSA0KVxuICB9XG5cbiAgdGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKVxuICB2YXIgaGFzaCA9IHRoaXMuX2hhc2goKVxuXG4gIHJldHVybiBlbmMgPyBoYXNoLnRvU3RyaW5nKGVuYykgOiBoYXNoXG59XG5cbkhhc2gucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gIHRocm93IG5ldyBFcnJvcignX3VwZGF0ZSBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzJylcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBIYXNoXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/sha.js/hash.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/index.js": -/*!**************************************!*\ - !*** ./node_modules/sha.js/index.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = __webpack_require__(/*! ./sha */ \"./node_modules/sha.js/sha.js\")\nexports.sha1 = __webpack_require__(/*! ./sha1 */ \"./node_modules/sha.js/sha1.js\")\nexports.sha224 = __webpack_require__(/*! ./sha224 */ \"./node_modules/sha.js/sha224.js\")\nexports.sha256 = __webpack_require__(/*! ./sha256 */ \"./node_modules/sha.js/sha256.js\")\nexports.sha384 = __webpack_require__(/*! ./sha384 */ \"./node_modules/sha.js/sha384.js\")\nexports.sha512 = __webpack_require__(/*! ./sha512 */ \"./node_modules/sha.js/sha512.js\")\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWMsbUJBQU8sQ0FBQywyQ0FBTztBQUM3QixlQUFlLG1CQUFPLENBQUMsNkNBQVE7QUFDL0IsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7QUFDbkMsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7QUFDbkMsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7QUFDbkMsaUJBQWlCLG1CQUFPLENBQUMsaURBQVUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qcz83NDJhIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBTSEEgKGFsZ29yaXRobSkge1xuICBhbGdvcml0aG0gPSBhbGdvcml0aG0udG9Mb3dlckNhc2UoKVxuXG4gIHZhciBBbGdvcml0aG0gPSBleHBvcnRzW2FsZ29yaXRobV1cbiAgaWYgKCFBbGdvcml0aG0pIHRocm93IG5ldyBFcnJvcihhbGdvcml0aG0gKyAnIGlzIG5vdCBzdXBwb3J0ZWQgKHdlIGFjY2VwdCBwdWxsIHJlcXVlc3RzKScpXG5cbiAgcmV0dXJuIG5ldyBBbGdvcml0aG0oKVxufVxuXG5leHBvcnRzLnNoYSA9IHJlcXVpcmUoJy4vc2hhJylcbmV4cG9ydHMuc2hhMSA9IHJlcXVpcmUoJy4vc2hhMScpXG5leHBvcnRzLnNoYTIyNCA9IHJlcXVpcmUoJy4vc2hhMjI0JylcbmV4cG9ydHMuc2hhMjU2ID0gcmVxdWlyZSgnLi9zaGEyNTYnKVxuZXhwb3J0cy5zaGEzODQgPSByZXF1aXJlKCcuL3NoYTM4NCcpXG5leHBvcnRzLnNoYTUxMiA9IHJlcXVpcmUoJy4vc2hhNTEyJylcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/sha.js/index.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/sha.js": -/*!************************************!*\ - !*** ./node_modules/sha.js/sha.js ***! - \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLGFBQWEsc0ZBQTZCOztBQUUxQztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsUUFBUTtBQUMxQixTQUFTLFFBQVE7O0FBRWpCLGtCQUFrQixRQUFRO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYS5qcz85Njg2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTAsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgUFVCIDE4MC0xXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzaGExLmpzIG9mIHRoZSBzYW1lIHJlcG9zaXRvcnkuXG4gKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIFNIQS0wIGFuZCBTSEEtMSBpcyBqdXN0IGEgYml0d2lzZSByb3RhdGUgbGVmdFxuICogb3BlcmF0aW9uIHdhcyBhZGRlZC5cbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEsgPSBbXG4gIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMgfCAwLCAweGNhNjJjMWQ2IHwgMFxuXVxuXG52YXIgVyA9IG5ldyBBcnJheSg4MClcblxuZnVuY3Rpb24gU2hhICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxufVxuXG5pbmhlcml0cyhTaGEsIEhhc2gpXG5cblNoYS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcbiAgdGhpcy5fYiA9IDB4ZWZjZGFiODlcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcbiAgdGhpcy5fZSA9IDB4YzNkMmUxZjBcblxuICByZXR1cm4gdGhpc1xufVxuXG5mdW5jdGlvbiByb3RsNSAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDUpIHwgKG51bSA+Pj4gMjcpXG59XG5cbmZ1bmN0aW9uIHJvdGwzMCAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXG59XG5cbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XG4gIGlmIChzID09PSAwKSByZXR1cm4gKGIgJiBjKSB8ICgofmIpICYgZClcbiAgaWYgKHMgPT09IDIpIHJldHVybiAoYiAmIGMpIHwgKGIgJiBkKSB8IChjICYgZClcbiAgcmV0dXJuIGIgXiBjIF4gZFxufVxuXG5TaGEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xuICB2YXIgVyA9IHRoaXMuX3dcblxuICB2YXIgYSA9IHRoaXMuX2EgfCAwXG4gIHZhciBiID0gdGhpcy5fYiB8IDBcbiAgdmFyIGMgPSB0aGlzLl9jIHwgMFxuICB2YXIgZCA9IHRoaXMuX2QgfCAwXG4gIHZhciBlID0gdGhpcy5fZSB8IDBcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpIFdbaV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0KVxuICBmb3IgKDsgaSA8IDgwOyArK2kpIFdbaV0gPSBXW2kgLSAzXSBeIFdbaSAtIDhdIF4gV1tpIC0gMTRdIF4gV1tpIC0gMTZdXG5cbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XG4gICAgdmFyIHMgPSB+fihqIC8gMjApXG4gICAgdmFyIHQgPSAocm90bDUoYSkgKyBmdChzLCBiLCBjLCBkKSArIGUgKyBXW2pdICsgS1tzXSkgfCAwXG5cbiAgICBlID0gZFxuICAgIGQgPSBjXG4gICAgYyA9IHJvdGwzMChiKVxuICAgIGIgPSBhXG4gICAgYSA9IHRcbiAgfVxuXG4gIHRoaXMuX2EgPSAoYSArIHRoaXMuX2EpIHwgMFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXG4gIHRoaXMuX2QgPSAoZCArIHRoaXMuX2QpIHwgMFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcbn1cblxuU2hhLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjApXG5cbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IgfCAwLCA0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9jIHwgMCwgOClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lIHwgMCwgMTYpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/sha.js/sha.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/sha1.js": -/*!*************************************!*\ - !*** ./node_modules/sha.js/sha1.js ***! - \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTEuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLGFBQWEsc0ZBQTZCOztBQUUxQztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLFFBQVE7QUFDMUIsU0FBUyxRQUFROztBQUVqQixrQkFBa0IsUUFBUTtBQUMxQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzPzRkOWMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMSwgYXMgZGVmaW5lZFxuICogaW4gRklQUyBQVUIgMTgwLTFcbiAqIFZlcnNpb24gMi4xYSBDb3B5cmlnaHQgUGF1bCBKb2huc3RvbiAyMDAwIC0gMjAwMi5cbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcbiAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCU0QgTGljZW5zZVxuICogU2VlIGh0dHA6Ly9wYWpob21lLm9yZy51ay9jcnlwdC9tZDUgZm9yIGRldGFpbHMuXG4gKi9cblxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEhhc2ggPSByZXF1aXJlKCcuL2hhc2gnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbnZhciBLID0gW1xuICAweDVhODI3OTk5LCAweDZlZDllYmExLCAweDhmMWJiY2RjIHwgMCwgMHhjYTYyYzFkNiB8IDBcbl1cblxudmFyIFcgPSBuZXcgQXJyYXkoODApXG5cbmZ1bmN0aW9uIFNoYTEgKCkge1xuICB0aGlzLmluaXQoKVxuICB0aGlzLl93ID0gV1xuXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXG59XG5cbmluaGVyaXRzKFNoYTEsIEhhc2gpXG5cblNoYTEucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuX2EgPSAweDY3NDUyMzAxXG4gIHRoaXMuX2IgPSAweGVmY2RhYjg5XG4gIHRoaXMuX2MgPSAweDk4YmFkY2ZlXG4gIHRoaXMuX2QgPSAweDEwMzI1NDc2XG4gIHRoaXMuX2UgPSAweGMzZDJlMWYwXG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuZnVuY3Rpb24gcm90bDEgKG51bSkge1xuICByZXR1cm4gKG51bSA8PCAxKSB8IChudW0gPj4+IDMxKVxufVxuXG5mdW5jdGlvbiByb3RsNSAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDUpIHwgKG51bSA+Pj4gMjcpXG59XG5cbmZ1bmN0aW9uIHJvdGwzMCAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXG59XG5cbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XG4gIGlmIChzID09PSAwKSByZXR1cm4gKGIgJiBjKSB8ICgofmIpICYgZClcbiAgaWYgKHMgPT09IDIpIHJldHVybiAoYiAmIGMpIHwgKGIgJiBkKSB8IChjICYgZClcbiAgcmV0dXJuIGIgXiBjIF4gZFxufVxuXG5TaGExLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKE0pIHtcbiAgdmFyIFcgPSB0aGlzLl93XG5cbiAgdmFyIGEgPSB0aGlzLl9hIHwgMFxuICB2YXIgYiA9IHRoaXMuX2IgfCAwXG4gIHZhciBjID0gdGhpcy5fYyB8IDBcbiAgdmFyIGQgPSB0aGlzLl9kIHwgMFxuICB2YXIgZSA9IHRoaXMuX2UgfCAwXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcbiAgZm9yICg7IGkgPCA4MDsgKytpKSBXW2ldID0gcm90bDEoV1tpIC0gM10gXiBXW2kgLSA4XSBeIFdbaSAtIDE0XSBeIFdbaSAtIDE2XSlcblxuICBmb3IgKHZhciBqID0gMDsgaiA8IDgwOyArK2opIHtcbiAgICB2YXIgcyA9IH5+KGogLyAyMClcbiAgICB2YXIgdCA9IChyb3RsNShhKSArIGZ0KHMsIGIsIGMsIGQpICsgZSArIFdbal0gKyBLW3NdKSB8IDBcblxuICAgIGUgPSBkXG4gICAgZCA9IGNcbiAgICBjID0gcm90bDMwKGIpXG4gICAgYiA9IGFcbiAgICBhID0gdFxuICB9XG5cbiAgdGhpcy5fYSA9IChhICsgdGhpcy5fYSkgfCAwXG4gIHRoaXMuX2IgPSAoYiArIHRoaXMuX2IpIHwgMFxuICB0aGlzLl9jID0gKGMgKyB0aGlzLl9jKSB8IDBcbiAgdGhpcy5fZCA9IChkICsgdGhpcy5fZCkgfCAwXG4gIHRoaXMuX2UgPSAoZSArIHRoaXMuX2UpIHwgMFxufVxuXG5TaGExLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjApXG5cbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IgfCAwLCA0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9jIHwgMCwgOClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lIHwgMCwgMTYpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGExXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/sha.js/sha1.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/sha224.js": -/*!***************************************!*\ - !*** ./node_modules/sha.js/sha224.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Sha256 = __webpack_require__(/*! ./sha256 */ \"./node_modules/sha.js/sha256.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTIyNC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsYUFBYSxtQkFBTyxDQUFDLGlEQUFVO0FBQy9CLFdBQVcsbUJBQU8sQ0FBQyw2Q0FBUTtBQUMzQixhQUFhLHNGQUE2Qjs7QUFFMUM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTIyNC5qcz85YWMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBKYXZhU2NyaXB0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBTZWN1cmUgSGFzaCBBbGdvcml0aG0sIFNIQS0yNTYsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgMTgwLTJcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxuICogT3RoZXIgY29udHJpYnV0b3JzOiBHcmVnIEhvbHQsIEFuZHJldyBLZXBlcnQsIFlkbmFyLCBMb3N0aW5ldFxuICpcbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgU2hhMjU2ID0gcmVxdWlyZSgnLi9zaGEyNTYnKVxudmFyIEhhc2ggPSByZXF1aXJlKCcuL2hhc2gnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbnZhciBXID0gbmV3IEFycmF5KDY0KVxuXG5mdW5jdGlvbiBTaGEyMjQgKCkge1xuICB0aGlzLmluaXQoKVxuXG4gIHRoaXMuX3cgPSBXIC8vIG5ldyBBcnJheSg2NClcblxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxufVxuXG5pbmhlcml0cyhTaGEyMjQsIFNoYTI1NilcblxuU2hhMjI0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9hID0gMHhjMTA1OWVkOFxuICB0aGlzLl9iID0gMHgzNjdjZDUwN1xuICB0aGlzLl9jID0gMHgzMDcwZGQxN1xuICB0aGlzLl9kID0gMHhmNzBlNTkzOVxuICB0aGlzLl9lID0gMHhmZmMwMGIzMVxuICB0aGlzLl9mID0gMHg2ODU4MTUxMVxuICB0aGlzLl9nID0gMHg2NGY5OGZhN1xuICB0aGlzLl9oID0gMHhiZWZhNGZhNFxuXG4gIHJldHVybiB0aGlzXG59XG5cblNoYTIyNC5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDI4KVxuXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2EsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IsIDQpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2QsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lLCAxNilcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2csIDI0KVxuXG4gIHJldHVybiBIXG59XG5cbm1vZHVsZS5leHBvcnRzID0gU2hhMjI0XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/sha.js/sha224.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/sha256.js": -/*!***************************************!*\ - !*** ./node_modules/sha.js/sha256.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, 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 this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTI1Ni5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLGFBQWEsc0ZBQTZCOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsUUFBUTtBQUMxQixTQUFTLFFBQVE7O0FBRWpCLGtCQUFrQixRQUFRO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTI1Ni5qcz83ZTdjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBKYXZhU2NyaXB0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBTZWN1cmUgSGFzaCBBbGdvcml0aG0sIFNIQS0yNTYsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgMTgwLTJcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxuICogT3RoZXIgY29udHJpYnV0b3JzOiBHcmVnIEhvbHQsIEFuZHJldyBLZXBlcnQsIFlkbmFyLCBMb3N0aW5ldFxuICpcbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEsgPSBbXG4gIDB4NDI4QTJGOTgsIDB4NzEzNzQ0OTEsIDB4QjVDMEZCQ0YsIDB4RTlCNURCQTUsXG4gIDB4Mzk1NkMyNUIsIDB4NTlGMTExRjEsIDB4OTIzRjgyQTQsIDB4QUIxQzVFRDUsXG4gIDB4RDgwN0FBOTgsIDB4MTI4MzVCMDEsIDB4MjQzMTg1QkUsIDB4NTUwQzdEQzMsXG4gIDB4NzJCRTVENzQsIDB4ODBERUIxRkUsIDB4OUJEQzA2QTcsIDB4QzE5QkYxNzQsXG4gIDB4RTQ5QjY5QzEsIDB4RUZCRTQ3ODYsIDB4MEZDMTlEQzYsIDB4MjQwQ0ExQ0MsXG4gIDB4MkRFOTJDNkYsIDB4NEE3NDg0QUEsIDB4NUNCMEE5REMsIDB4NzZGOTg4REEsXG4gIDB4OTgzRTUxNTIsIDB4QTgzMUM2NkQsIDB4QjAwMzI3QzgsIDB4QkY1OTdGQzcsXG4gIDB4QzZFMDBCRjMsIDB4RDVBNzkxNDcsIDB4MDZDQTYzNTEsIDB4MTQyOTI5NjcsXG4gIDB4MjdCNzBBODUsIDB4MkUxQjIxMzgsIDB4NEQyQzZERkMsIDB4NTMzODBEMTMsXG4gIDB4NjUwQTczNTQsIDB4NzY2QTBBQkIsIDB4ODFDMkM5MkUsIDB4OTI3MjJDODUsXG4gIDB4QTJCRkU4QTEsIDB4QTgxQTY2NEIsIDB4QzI0QjhCNzAsIDB4Qzc2QzUxQTMsXG4gIDB4RDE5MkU4MTksIDB4RDY5OTA2MjQsIDB4RjQwRTM1ODUsIDB4MTA2QUEwNzAsXG4gIDB4MTlBNEMxMTYsIDB4MUUzNzZDMDgsIDB4Mjc0ODc3NEMsIDB4MzRCMEJDQjUsXG4gIDB4MzkxQzBDQjMsIDB4NEVEOEFBNEEsIDB4NUI5Q0NBNEYsIDB4NjgyRTZGRjMsXG4gIDB4NzQ4RjgyRUUsIDB4NzhBNTYzNkYsIDB4ODRDODc4MTQsIDB4OENDNzAyMDgsXG4gIDB4OTBCRUZGRkEsIDB4QTQ1MDZDRUIsIDB4QkVGOUEzRjcsIDB4QzY3MTc4RjJcbl1cblxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXG5cbmZ1bmN0aW9uIFNoYTI1NiAoKSB7XG4gIHRoaXMuaW5pdCgpXG5cbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxuXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXG59XG5cbmluaGVyaXRzKFNoYTI1NiwgSGFzaClcblxuU2hhMjU2LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9hID0gMHg2YTA5ZTY2N1xuICB0aGlzLl9iID0gMHhiYjY3YWU4NVxuICB0aGlzLl9jID0gMHgzYzZlZjM3MlxuICB0aGlzLl9kID0gMHhhNTRmZjUzYVxuICB0aGlzLl9lID0gMHg1MTBlNTI3ZlxuICB0aGlzLl9mID0gMHg5YjA1Njg4Y1xuICB0aGlzLl9nID0gMHgxZjgzZDlhYlxuICB0aGlzLl9oID0gMHg1YmUwY2QxOVxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIGNoICh4LCB5LCB6KSB7XG4gIHJldHVybiB6IF4gKHggJiAoeSBeIHopKVxufVxuXG5mdW5jdGlvbiBtYWogKHgsIHksIHopIHtcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXG59XG5cbmZ1bmN0aW9uIHNpZ21hMCAoeCkge1xuICByZXR1cm4gKHggPj4+IDIgfCB4IDw8IDMwKSBeICh4ID4+PiAxMyB8IHggPDwgMTkpIF4gKHggPj4+IDIyIHwgeCA8PCAxMClcbn1cblxuZnVuY3Rpb24gc2lnbWExICh4KSB7XG4gIHJldHVybiAoeCA+Pj4gNiB8IHggPDwgMjYpIF4gKHggPj4+IDExIHwgeCA8PCAyMSkgXiAoeCA+Pj4gMjUgfCB4IDw8IDcpXG59XG5cbmZ1bmN0aW9uIGdhbW1hMCAoeCkge1xuICByZXR1cm4gKHggPj4+IDcgfCB4IDw8IDI1KSBeICh4ID4+PiAxOCB8IHggPDwgMTQpIF4gKHggPj4+IDMpXG59XG5cbmZ1bmN0aW9uIGdhbW1hMSAoeCkge1xuICByZXR1cm4gKHggPj4+IDE3IHwgeCA8PCAxNSkgXiAoeCA+Pj4gMTkgfCB4IDw8IDEzKSBeICh4ID4+PiAxMClcbn1cblxuU2hhMjU2LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKE0pIHtcbiAgdmFyIFcgPSB0aGlzLl93XG5cbiAgdmFyIGEgPSB0aGlzLl9hIHwgMFxuICB2YXIgYiA9IHRoaXMuX2IgfCAwXG4gIHZhciBjID0gdGhpcy5fYyB8IDBcbiAgdmFyIGQgPSB0aGlzLl9kIHwgMFxuICB2YXIgZSA9IHRoaXMuX2UgfCAwXG4gIHZhciBmID0gdGhpcy5fZiB8IDBcbiAgdmFyIGcgPSB0aGlzLl9nIHwgMFxuICB2YXIgaCA9IHRoaXMuX2ggfCAwXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcbiAgZm9yICg7IGkgPCA2NDsgKytpKSBXW2ldID0gKGdhbW1hMShXW2kgLSAyXSkgKyBXW2kgLSA3XSArIGdhbW1hMChXW2kgLSAxNV0pICsgV1tpIC0gMTZdKSB8IDBcblxuICBmb3IgKHZhciBqID0gMDsgaiA8IDY0OyArK2opIHtcbiAgICB2YXIgVDEgPSAoaCArIHNpZ21hMShlKSArIGNoKGUsIGYsIGcpICsgS1tqXSArIFdbal0pIHwgMFxuICAgIHZhciBUMiA9IChzaWdtYTAoYSkgKyBtYWooYSwgYiwgYykpIHwgMFxuXG4gICAgaCA9IGdcbiAgICBnID0gZlxuICAgIGYgPSBlXG4gICAgZSA9IChkICsgVDEpIHwgMFxuICAgIGQgPSBjXG4gICAgYyA9IGJcbiAgICBiID0gYVxuICAgIGEgPSAoVDEgKyBUMikgfCAwXG4gIH1cblxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcbiAgdGhpcy5fYiA9IChiICsgdGhpcy5fYikgfCAwXG4gIHRoaXMuX2MgPSAoYyArIHRoaXMuX2MpIHwgMFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcbiAgdGhpcy5fZSA9IChlICsgdGhpcy5fZSkgfCAwXG4gIHRoaXMuX2YgPSAoZiArIHRoaXMuX2YpIHwgMFxuICB0aGlzLl9nID0gKGcgKyB0aGlzLl9nKSB8IDBcbiAgdGhpcy5faCA9IChoICsgdGhpcy5faCkgfCAwXG59XG5cblNoYTI1Ni5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDMyKVxuXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2EsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IsIDQpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2QsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lLCAxNilcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2csIDI0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9oLCAyOClcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTI1NlxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/sha.js/sha256.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/sha384.js": -/*!***************************************!*\ - !*** ./node_modules/sha.js/sha384.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar SHA512 = __webpack_require__(/*! ./sha512 */ \"./node_modules/sha.js/sha512.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTM4NC5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsYUFBYSxtQkFBTyxDQUFDLGlEQUFVO0FBQy9CLFdBQVcsbUJBQU8sQ0FBQyw2Q0FBUTtBQUMzQixhQUFhLHNGQUE2Qjs7QUFFMUM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMzg0LmpzPzUzM2YiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIFNIQTUxMiA9IHJlcXVpcmUoJy4vc2hhNTEyJylcbnZhciBIYXNoID0gcmVxdWlyZSgnLi9oYXNoJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgVyA9IG5ldyBBcnJheSgxNjApXG5cbmZ1bmN0aW9uIFNoYTM4NCAoKSB7XG4gIHRoaXMuaW5pdCgpXG4gIHRoaXMuX3cgPSBXXG5cbiAgSGFzaC5jYWxsKHRoaXMsIDEyOCwgMTEyKVxufVxuXG5pbmhlcml0cyhTaGEzODQsIFNIQTUxMilcblxuU2hhMzg0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9haCA9IDB4Y2JiYjlkNWRcbiAgdGhpcy5fYmggPSAweDYyOWEyOTJhXG4gIHRoaXMuX2NoID0gMHg5MTU5MDE1YVxuICB0aGlzLl9kaCA9IDB4MTUyZmVjZDhcbiAgdGhpcy5fZWggPSAweDY3MzMyNjY3XG4gIHRoaXMuX2ZoID0gMHg4ZWI0NGE4N1xuICB0aGlzLl9naCA9IDB4ZGIwYzJlMGRcbiAgdGhpcy5faGggPSAweDQ3YjU0ODFkXG5cbiAgdGhpcy5fYWwgPSAweGMxMDU5ZWQ4XG4gIHRoaXMuX2JsID0gMHgzNjdjZDUwN1xuICB0aGlzLl9jbCA9IDB4MzA3MGRkMTdcbiAgdGhpcy5fZGwgPSAweGY3MGU1OTM5XG4gIHRoaXMuX2VsID0gMHhmZmMwMGIzMVxuICB0aGlzLl9mbCA9IDB4Njg1ODE1MTFcbiAgdGhpcy5fZ2wgPSAweDY0Zjk4ZmE3XG4gIHRoaXMuX2hsID0gMHhiZWZhNGZhNFxuXG4gIHJldHVybiB0aGlzXG59XG5cblNoYTM4NC5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDQ4KVxuXG4gIGZ1bmN0aW9uIHdyaXRlSW50NjRCRSAoaCwgbCwgb2Zmc2V0KSB7XG4gICAgSC53cml0ZUludDMyQkUoaCwgb2Zmc2V0KVxuICAgIEgud3JpdGVJbnQzMkJFKGwsIG9mZnNldCArIDQpXG4gIH1cblxuICB3cml0ZUludDY0QkUodGhpcy5fYWgsIHRoaXMuX2FsLCAwKVxuICB3cml0ZUludDY0QkUodGhpcy5fYmgsIHRoaXMuX2JsLCA4KVxuICB3cml0ZUludDY0QkUodGhpcy5fY2gsIHRoaXMuX2NsLCAxNilcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2RoLCB0aGlzLl9kbCwgMjQpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9laCwgdGhpcy5fZWwsIDMyKVxuICB3cml0ZUludDY0QkUodGhpcy5fZmgsIHRoaXMuX2ZsLCA0MClcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTM4NFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/sha.js/sha384.js\n")); - -/***/ }), - -/***/ "./node_modules/sha.js/sha512.js": -/*!***************************************!*\ - !*** ./node_modules/sha.js/sha512.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/sha.js/hash.js\")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\nvar K = [\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\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTUxMi5qcyIsIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLGFBQWEsc0ZBQTZCOztBQUUxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsUUFBUTtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxTQUFTLFNBQVM7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTUxMi5qcz9jZGI1Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBIYXNoID0gcmVxdWlyZSgnLi9oYXNoJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgSyA9IFtcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcbiAgMHhiNWMwZmJjZiwgMHhlYzRkM2IyZiwgMHhlOWI1ZGJhNSwgMHg4MTg5ZGJiYyxcbiAgMHgzOTU2YzI1YiwgMHhmMzQ4YjUzOCwgMHg1OWYxMTFmMSwgMHhiNjA1ZDAxOSxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcbiAgMHhkODA3YWE5OCwgMHhhMzAzMDI0MiwgMHgxMjgzNWIwMSwgMHg0NTcwNmZiZSxcbiAgMHgyNDMxODViZSwgMHg0ZWU0YjI4YywgMHg1NTBjN2RjMywgMHhkNWZmYjRlMixcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcbiAgMHg5YmRjMDZhNywgMHgyNWM3MTIzNSwgMHhjMTliZjE3NCwgMHhjZjY5MjY5NCxcbiAgMHhlNDliNjljMSwgMHg5ZWYxNGFkMiwgMHhlZmJlNDc4NiwgMHgzODRmMjVlMyxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcbiAgMHgyZGU5MmM2ZiwgMHg1OTJiMDI3NSwgMHg0YTc0ODRhYSwgMHg2ZWE2ZTQ4MyxcbiAgMHg1Y2IwYTlkYywgMHhiZDQxZmJkNCwgMHg3NmY5ODhkYSwgMHg4MzExNTNiNSxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcbiAgMHhiMDAzMjdjOCwgMHg5OGZiMjEzZiwgMHhiZjU5N2ZjNywgMHhiZWVmMGVlNCxcbiAgMHhjNmUwMGJmMywgMHgzZGE4OGZjMiwgMHhkNWE3OTE0NywgMHg5MzBhYTcyNSxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcbiAgMHgyN2I3MGE4NSwgMHg0NmQyMmZmYywgMHgyZTFiMjEzOCwgMHg1YzI2YzkyNixcbiAgMHg0ZDJjNmRmYywgMHg1YWM0MmFlZCwgMHg1MzM4MGQxMywgMHg5ZDk1YjNkZixcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcbiAgMHg4MWMyYzkyZSwgMHg0N2VkYWVlNiwgMHg5MjcyMmM4NSwgMHgxNDgyMzUzYixcbiAgMHhhMmJmZThhMSwgMHg0Y2YxMDM2NCwgMHhhODFhNjY0YiwgMHhiYzQyMzAwMSxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcbiAgMHhkMTkyZTgxOSwgMHhkNmVmNTIxOCwgMHhkNjk5MDYyNCwgMHg1NTY1YTkxMCxcbiAgMHhmNDBlMzU4NSwgMHg1NzcxMjAyYSwgMHgxMDZhYTA3MCwgMHgzMmJiZDFiOCxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcbiAgMHgyNzQ4Nzc0YywgMHhkZjhlZWI5OSwgMHgzNGIwYmNiNSwgMHhlMTliNDhhOCxcbiAgMHgzOTFjMGNiMywgMHhjNWM5NWE2MywgMHg0ZWQ4YWE0YSwgMHhlMzQxOGFjYixcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcbiAgMHg3NDhmODJlZSwgMHg1ZGVmYjJmYywgMHg3OGE1NjM2ZiwgMHg0MzE3MmY2MCxcbiAgMHg4NGM4NzgxNCwgMHhhMWYwYWI3MiwgMHg4Y2M3MDIwOCwgMHgxYTY0MzllYyxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcbiAgMHhiZWY5YTNmNywgMHhiMmM2NzkxNSwgMHhjNjcxNzhmMiwgMHhlMzcyNTMyYixcbiAgMHhjYTI3M2VjZSwgMHhlYTI2NjE5YywgMHhkMTg2YjhjNywgMHgyMWMwYzIwNyxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcbiAgMHgwNmYwNjdhYSwgMHg3MjE3NmZiYSwgMHgwYTYzN2RjNSwgMHhhMmM4OThhNixcbiAgMHgxMTNmOTgwNCwgMHhiZWY5MGRhZSwgMHgxYjcxMGIzNSwgMHgxMzFjNDcxYixcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcbiAgMHgzYzllYmUwYSwgMHgxNWM5YmViYywgMHg0MzFkNjdjNCwgMHg5YzEwMGQ0YyxcbiAgMHg0Y2M1ZDRiZSwgMHhjYjNlNDJiNiwgMHg1OTdmMjk5YywgMHhmYzY1N2UyYSxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xuXVxuXG52YXIgVyA9IG5ldyBBcnJheSgxNjApXG5cbmZ1bmN0aW9uIFNoYTUxMiAoKSB7XG4gIHRoaXMuaW5pdCgpXG4gIHRoaXMuX3cgPSBXXG5cbiAgSGFzaC5jYWxsKHRoaXMsIDEyOCwgMTEyKVxufVxuXG5pbmhlcml0cyhTaGE1MTIsIEhhc2gpXG5cblNoYTUxMi5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5fYWggPSAweDZhMDllNjY3XG4gIHRoaXMuX2JoID0gMHhiYjY3YWU4NVxuICB0aGlzLl9jaCA9IDB4M2M2ZWYzNzJcbiAgdGhpcy5fZGggPSAweGE1NGZmNTNhXG4gIHRoaXMuX2VoID0gMHg1MTBlNTI3ZlxuICB0aGlzLl9maCA9IDB4OWIwNTY4OGNcbiAgdGhpcy5fZ2ggPSAweDFmODNkOWFiXG4gIHRoaXMuX2hoID0gMHg1YmUwY2QxOVxuXG4gIHRoaXMuX2FsID0gMHhmM2JjYzkwOFxuICB0aGlzLl9ibCA9IDB4ODRjYWE3M2JcbiAgdGhpcy5fY2wgPSAweGZlOTRmODJiXG4gIHRoaXMuX2RsID0gMHg1ZjFkMzZmMVxuICB0aGlzLl9lbCA9IDB4YWRlNjgyZDFcbiAgdGhpcy5fZmwgPSAweDJiM2U2YzFmXG4gIHRoaXMuX2dsID0gMHhmYjQxYmQ2YlxuICB0aGlzLl9obCA9IDB4MTM3ZTIxNzlcblxuICByZXR1cm4gdGhpc1xufVxuXG5mdW5jdGlvbiBDaCAoeCwgeSwgeikge1xuICByZXR1cm4geiBeICh4ICYgKHkgXiB6KSlcbn1cblxuZnVuY3Rpb24gbWFqICh4LCB5LCB6KSB7XG4gIHJldHVybiAoeCAmIHkpIHwgKHogJiAoeCB8IHkpKVxufVxuXG5mdW5jdGlvbiBzaWdtYTAgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMjggfCB4bCA8PCA0KSBeICh4bCA+Pj4gMiB8IHggPDwgMzApIF4gKHhsID4+PiA3IHwgeCA8PCAyNSlcbn1cblxuZnVuY3Rpb24gc2lnbWExICh4LCB4bCkge1xuICByZXR1cm4gKHggPj4+IDE0IHwgeGwgPDwgMTgpIF4gKHggPj4+IDE4IHwgeGwgPDwgMTQpIF4gKHhsID4+PiA5IHwgeCA8PCAyMylcbn1cblxuZnVuY3Rpb24gR2FtbWEwICh4LCB4bCkge1xuICByZXR1cm4gKHggPj4+IDEgfCB4bCA8PCAzMSkgXiAoeCA+Pj4gOCB8IHhsIDw8IDI0KSBeICh4ID4+PiA3KVxufVxuXG5mdW5jdGlvbiBHYW1tYTBsICh4LCB4bCkge1xuICByZXR1cm4gKHggPj4+IDEgfCB4bCA8PCAzMSkgXiAoeCA+Pj4gOCB8IHhsIDw8IDI0KSBeICh4ID4+PiA3IHwgeGwgPDwgMjUpXG59XG5cbmZ1bmN0aW9uIEdhbW1hMSAoeCwgeGwpIHtcbiAgcmV0dXJuICh4ID4+PiAxOSB8IHhsIDw8IDEzKSBeICh4bCA+Pj4gMjkgfCB4IDw8IDMpIF4gKHggPj4+IDYpXG59XG5cbmZ1bmN0aW9uIEdhbW1hMWwgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMTkgfCB4bCA8PCAxMykgXiAoeGwgPj4+IDI5IHwgeCA8PCAzKSBeICh4ID4+PiA2IHwgeGwgPDwgMjYpXG59XG5cbmZ1bmN0aW9uIGdldENhcnJ5IChhLCBiKSB7XG4gIHJldHVybiAoYSA+Pj4gMCkgPCAoYiA+Pj4gMCkgPyAxIDogMFxufVxuXG5TaGE1MTIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xuICB2YXIgVyA9IHRoaXMuX3dcblxuICB2YXIgYWggPSB0aGlzLl9haCB8IDBcbiAgdmFyIGJoID0gdGhpcy5fYmggfCAwXG4gIHZhciBjaCA9IHRoaXMuX2NoIHwgMFxuICB2YXIgZGggPSB0aGlzLl9kaCB8IDBcbiAgdmFyIGVoID0gdGhpcy5fZWggfCAwXG4gIHZhciBmaCA9IHRoaXMuX2ZoIHwgMFxuICB2YXIgZ2ggPSB0aGlzLl9naCB8IDBcbiAgdmFyIGhoID0gdGhpcy5faGggfCAwXG5cbiAgdmFyIGFsID0gdGhpcy5fYWwgfCAwXG4gIHZhciBibCA9IHRoaXMuX2JsIHwgMFxuICB2YXIgY2wgPSB0aGlzLl9jbCB8IDBcbiAgdmFyIGRsID0gdGhpcy5fZGwgfCAwXG4gIHZhciBlbCA9IHRoaXMuX2VsIHwgMFxuICB2YXIgZmwgPSB0aGlzLl9mbCB8IDBcbiAgdmFyIGdsID0gdGhpcy5fZ2wgfCAwXG4gIHZhciBobCA9IHRoaXMuX2hsIHwgMFxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7IGkgKz0gMikge1xuICAgIFdbaV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0KVxuICAgIFdbaSArIDFdID0gTS5yZWFkSW50MzJCRShpICogNCArIDQpXG4gIH1cbiAgZm9yICg7IGkgPCAxNjA7IGkgKz0gMikge1xuICAgIHZhciB4aCA9IFdbaSAtIDE1ICogMl1cbiAgICB2YXIgeGwgPSBXW2kgLSAxNSAqIDIgKyAxXVxuICAgIHZhciBnYW1tYTAgPSBHYW1tYTAoeGgsIHhsKVxuICAgIHZhciBnYW1tYTBsID0gR2FtbWEwbCh4bCwgeGgpXG5cbiAgICB4aCA9IFdbaSAtIDIgKiAyXVxuICAgIHhsID0gV1tpIC0gMiAqIDIgKyAxXVxuICAgIHZhciBnYW1tYTEgPSBHYW1tYTEoeGgsIHhsKVxuICAgIHZhciBnYW1tYTFsID0gR2FtbWExbCh4bCwgeGgpXG5cbiAgICAvLyBXW2ldID0gZ2FtbWEwICsgV1tpIC0gN10gKyBnYW1tYTEgKyBXW2kgLSAxNl1cbiAgICB2YXIgV2k3aCA9IFdbaSAtIDcgKiAyXVxuICAgIHZhciBXaTdsID0gV1tpIC0gNyAqIDIgKyAxXVxuXG4gICAgdmFyIFdpMTZoID0gV1tpIC0gMTYgKiAyXVxuICAgIHZhciBXaTE2bCA9IFdbaSAtIDE2ICogMiArIDFdXG5cbiAgICB2YXIgV2lsID0gKGdhbW1hMGwgKyBXaTdsKSB8IDBcbiAgICB2YXIgV2loID0gKGdhbW1hMCArIFdpN2ggKyBnZXRDYXJyeShXaWwsIGdhbW1hMGwpKSB8IDBcbiAgICBXaWwgPSAoV2lsICsgZ2FtbWExbCkgfCAwXG4gICAgV2loID0gKFdpaCArIGdhbW1hMSArIGdldENhcnJ5KFdpbCwgZ2FtbWExbCkpIHwgMFxuICAgIFdpbCA9IChXaWwgKyBXaTE2bCkgfCAwXG4gICAgV2loID0gKFdpaCArIFdpMTZoICsgZ2V0Q2FycnkoV2lsLCBXaTE2bCkpIHwgMFxuXG4gICAgV1tpXSA9IFdpaFxuICAgIFdbaSArIDFdID0gV2lsXG4gIH1cblxuICBmb3IgKHZhciBqID0gMDsgaiA8IDE2MDsgaiArPSAyKSB7XG4gICAgV2loID0gV1tqXVxuICAgIFdpbCA9IFdbaiArIDFdXG5cbiAgICB2YXIgbWFqaCA9IG1haihhaCwgYmgsIGNoKVxuICAgIHZhciBtYWpsID0gbWFqKGFsLCBibCwgY2wpXG5cbiAgICB2YXIgc2lnbWEwaCA9IHNpZ21hMChhaCwgYWwpXG4gICAgdmFyIHNpZ21hMGwgPSBzaWdtYTAoYWwsIGFoKVxuICAgIHZhciBzaWdtYTFoID0gc2lnbWExKGVoLCBlbClcbiAgICB2YXIgc2lnbWExbCA9IHNpZ21hMShlbCwgZWgpXG5cbiAgICAvLyB0MSA9IGggKyBzaWdtYTEgKyBjaCArIEtbal0gKyBXW2pdXG4gICAgdmFyIEtpaCA9IEtbal1cbiAgICB2YXIgS2lsID0gS1tqICsgMV1cblxuICAgIHZhciBjaGggPSBDaChlaCwgZmgsIGdoKVxuICAgIHZhciBjaGwgPSBDaChlbCwgZmwsIGdsKVxuXG4gICAgdmFyIHQxbCA9IChobCArIHNpZ21hMWwpIHwgMFxuICAgIHZhciB0MWggPSAoaGggKyBzaWdtYTFoICsgZ2V0Q2FycnkodDFsLCBobCkpIHwgMFxuICAgIHQxbCA9ICh0MWwgKyBjaGwpIHwgMFxuICAgIHQxaCA9ICh0MWggKyBjaGggKyBnZXRDYXJyeSh0MWwsIGNobCkpIHwgMFxuICAgIHQxbCA9ICh0MWwgKyBLaWwpIHwgMFxuICAgIHQxaCA9ICh0MWggKyBLaWggKyBnZXRDYXJyeSh0MWwsIEtpbCkpIHwgMFxuICAgIHQxbCA9ICh0MWwgKyBXaWwpIHwgMFxuICAgIHQxaCA9ICh0MWggKyBXaWggKyBnZXRDYXJyeSh0MWwsIFdpbCkpIHwgMFxuXG4gICAgLy8gdDIgPSBzaWdtYTAgKyBtYWpcbiAgICB2YXIgdDJsID0gKHNpZ21hMGwgKyBtYWpsKSB8IDBcbiAgICB2YXIgdDJoID0gKHNpZ21hMGggKyBtYWpoICsgZ2V0Q2FycnkodDJsLCBzaWdtYTBsKSkgfCAwXG5cbiAgICBoaCA9IGdoXG4gICAgaGwgPSBnbFxuICAgIGdoID0gZmhcbiAgICBnbCA9IGZsXG4gICAgZmggPSBlaFxuICAgIGZsID0gZWxcbiAgICBlbCA9IChkbCArIHQxbCkgfCAwXG4gICAgZWggPSAoZGggKyB0MWggKyBnZXRDYXJyeShlbCwgZGwpKSB8IDBcbiAgICBkaCA9IGNoXG4gICAgZGwgPSBjbFxuICAgIGNoID0gYmhcbiAgICBjbCA9IGJsXG4gICAgYmggPSBhaFxuICAgIGJsID0gYWxcbiAgICBhbCA9ICh0MWwgKyB0MmwpIHwgMFxuICAgIGFoID0gKHQxaCArIHQyaCArIGdldENhcnJ5KGFsLCB0MWwpKSB8IDBcbiAgfVxuXG4gIHRoaXMuX2FsID0gKHRoaXMuX2FsICsgYWwpIHwgMFxuICB0aGlzLl9ibCA9ICh0aGlzLl9ibCArIGJsKSB8IDBcbiAgdGhpcy5fY2wgPSAodGhpcy5fY2wgKyBjbCkgfCAwXG4gIHRoaXMuX2RsID0gKHRoaXMuX2RsICsgZGwpIHwgMFxuICB0aGlzLl9lbCA9ICh0aGlzLl9lbCArIGVsKSB8IDBcbiAgdGhpcy5fZmwgPSAodGhpcy5fZmwgKyBmbCkgfCAwXG4gIHRoaXMuX2dsID0gKHRoaXMuX2dsICsgZ2wpIHwgMFxuICB0aGlzLl9obCA9ICh0aGlzLl9obCArIGhsKSB8IDBcblxuICB0aGlzLl9haCA9ICh0aGlzLl9haCArIGFoICsgZ2V0Q2FycnkodGhpcy5fYWwsIGFsKSkgfCAwXG4gIHRoaXMuX2JoID0gKHRoaXMuX2JoICsgYmggKyBnZXRDYXJyeSh0aGlzLl9ibCwgYmwpKSB8IDBcbiAgdGhpcy5fY2ggPSAodGhpcy5fY2ggKyBjaCArIGdldENhcnJ5KHRoaXMuX2NsLCBjbCkpIHwgMFxuICB0aGlzLl9kaCA9ICh0aGlzLl9kaCArIGRoICsgZ2V0Q2FycnkodGhpcy5fZGwsIGRsKSkgfCAwXG4gIHRoaXMuX2VoID0gKHRoaXMuX2VoICsgZWggKyBnZXRDYXJyeSh0aGlzLl9lbCwgZWwpKSB8IDBcbiAgdGhpcy5fZmggPSAodGhpcy5fZmggKyBmaCArIGdldENhcnJ5KHRoaXMuX2ZsLCBmbCkpIHwgMFxuICB0aGlzLl9naCA9ICh0aGlzLl9naCArIGdoICsgZ2V0Q2FycnkodGhpcy5fZ2wsIGdsKSkgfCAwXG4gIHRoaXMuX2hoID0gKHRoaXMuX2hoICsgaGggKyBnZXRDYXJyeSh0aGlzLl9obCwgaGwpKSB8IDBcbn1cblxuU2hhNTEyLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoNjQpXG5cbiAgZnVuY3Rpb24gd3JpdGVJbnQ2NEJFIChoLCBsLCBvZmZzZXQpIHtcbiAgICBILndyaXRlSW50MzJCRShoLCBvZmZzZXQpXG4gICAgSC53cml0ZUludDMyQkUobCwgb2Zmc2V0ICsgNClcbiAgfVxuXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9haCwgdGhpcy5fYWwsIDApXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9iaCwgdGhpcy5fYmwsIDgpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9jaCwgdGhpcy5fY2wsIDE2KVxuICB3cml0ZUludDY0QkUodGhpcy5fZGgsIHRoaXMuX2RsLCAyNClcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2VoLCB0aGlzLl9lbCwgMzIpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9maCwgdGhpcy5fZmwsIDQwKVxuICB3cml0ZUludDY0QkUodGhpcy5fZ2gsIHRoaXMuX2dsLCA0OClcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2hoLCB0aGlzLl9obCwgNTYpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGE1MTJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/sha.js/sha512.js\n")); - -/***/ }), - -/***/ "./node_modules/side-channel/index.js": -/*!********************************************!*\ - !*** ./node_modules/side-channel/index.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\nvar callBound = __webpack_require__(/*! call-bind/callBound */ \"./node_modules/call-bind/callBound.js\");\nvar inspect = __webpack_require__(/*! object-inspect */ \"./node_modules/object-inspect/index.js\");\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2lkZS1jaGFubmVsL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLG1CQUFtQixtQkFBTyxDQUFDLDREQUFlO0FBQzFDLGdCQUFnQixtQkFBTyxDQUFDLGtFQUFxQjtBQUM3QyxjQUFjLG1CQUFPLENBQUMsOERBQWdCOztBQUV0QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekMsNkJBQTZCLDZCQUE2QjtBQUMxRDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvc2lkZS1jaGFubmVsL2luZGV4LmpzPzlhYzUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgR2V0SW50cmluc2ljID0gcmVxdWlyZSgnZ2V0LWludHJpbnNpYycpO1xudmFyIGNhbGxCb3VuZCA9IHJlcXVpcmUoJ2NhbGwtYmluZC9jYWxsQm91bmQnKTtcbnZhciBpbnNwZWN0ID0gcmVxdWlyZSgnb2JqZWN0LWluc3BlY3QnKTtcblxudmFyICRUeXBlRXJyb3IgPSBHZXRJbnRyaW5zaWMoJyVUeXBlRXJyb3IlJyk7XG52YXIgJFdlYWtNYXAgPSBHZXRJbnRyaW5zaWMoJyVXZWFrTWFwJScsIHRydWUpO1xudmFyICRNYXAgPSBHZXRJbnRyaW5zaWMoJyVNYXAlJywgdHJ1ZSk7XG5cbnZhciAkd2Vha01hcEdldCA9IGNhbGxCb3VuZCgnV2Vha01hcC5wcm90b3R5cGUuZ2V0JywgdHJ1ZSk7XG52YXIgJHdlYWtNYXBTZXQgPSBjYWxsQm91bmQoJ1dlYWtNYXAucHJvdG90eXBlLnNldCcsIHRydWUpO1xudmFyICR3ZWFrTWFwSGFzID0gY2FsbEJvdW5kKCdXZWFrTWFwLnByb3RvdHlwZS5oYXMnLCB0cnVlKTtcbnZhciAkbWFwR2V0ID0gY2FsbEJvdW5kKCdNYXAucHJvdG90eXBlLmdldCcsIHRydWUpO1xudmFyICRtYXBTZXQgPSBjYWxsQm91bmQoJ01hcC5wcm90b3R5cGUuc2V0JywgdHJ1ZSk7XG52YXIgJG1hcEhhcyA9IGNhbGxCb3VuZCgnTWFwLnByb3RvdHlwZS5oYXMnLCB0cnVlKTtcblxuLypcbiAqIFRoaXMgZnVuY3Rpb24gdHJhdmVyc2VzIHRoZSBsaXN0IHJldHVybmluZyB0aGUgbm9kZSBjb3JyZXNwb25kaW5nIHRvIHRoZVxuICogZ2l2ZW4ga2V5LlxuICpcbiAqIFRoYXQgbm9kZSBpcyBhbHNvIG1vdmVkIHRvIHRoZSBoZWFkIG9mIHRoZSBsaXN0LCBzbyB0aGF0IGlmIGl0J3MgYWNjZXNzZWRcbiAqIGFnYWluIHdlIGRvbid0IG5lZWQgdG8gdHJhdmVyc2UgdGhlIHdob2xlIGxpc3QuIEJ5IGRvaW5nIHNvLCBhbGwgdGhlIHJlY2VudGx5XG4gKiB1c2VkIG5vZGVzIGNhbiBiZSBhY2Nlc3NlZCByZWxhdGl2ZWx5IHF1aWNrbHkuXG4gKi9cbnZhciBsaXN0R2V0Tm9kZSA9IGZ1bmN0aW9uIChsaXN0LCBrZXkpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb25zaXN0ZW50LXJldHVyblxuXHRmb3IgKHZhciBwcmV2ID0gbGlzdCwgY3VycjsgKGN1cnIgPSBwcmV2Lm5leHQpICE9PSBudWxsOyBwcmV2ID0gY3Vycikge1xuXHRcdGlmIChjdXJyLmtleSA9PT0ga2V5KSB7XG5cdFx0XHRwcmV2Lm5leHQgPSBjdXJyLm5leHQ7XG5cdFx0XHRjdXJyLm5leHQgPSBsaXN0Lm5leHQ7XG5cdFx0XHRsaXN0Lm5leHQgPSBjdXJyOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG5cdFx0XHRyZXR1cm4gY3Vycjtcblx0XHR9XG5cdH1cbn07XG5cbnZhciBsaXN0R2V0ID0gZnVuY3Rpb24gKG9iamVjdHMsIGtleSkge1xuXHR2YXIgbm9kZSA9IGxpc3RHZXROb2RlKG9iamVjdHMsIGtleSk7XG5cdHJldHVybiBub2RlICYmIG5vZGUudmFsdWU7XG59O1xudmFyIGxpc3RTZXQgPSBmdW5jdGlvbiAob2JqZWN0cywga2V5LCB2YWx1ZSkge1xuXHR2YXIgbm9kZSA9IGxpc3RHZXROb2RlKG9iamVjdHMsIGtleSk7XG5cdGlmIChub2RlKSB7XG5cdFx0bm9kZS52YWx1ZSA9IHZhbHVlO1xuXHR9IGVsc2Uge1xuXHRcdC8vIFByZXBlbmQgdGhlIG5ldyBub2RlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3Rcblx0XHRvYmplY3RzLm5leHQgPSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cblx0XHRcdGtleToga2V5LFxuXHRcdFx0bmV4dDogb2JqZWN0cy5uZXh0LFxuXHRcdFx0dmFsdWU6IHZhbHVlXG5cdFx0fTtcblx0fVxufTtcbnZhciBsaXN0SGFzID0gZnVuY3Rpb24gKG9iamVjdHMsIGtleSkge1xuXHRyZXR1cm4gISFsaXN0R2V0Tm9kZShvYmplY3RzLCBrZXkpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZXRTaWRlQ2hhbm5lbCgpIHtcblx0dmFyICR3bTtcblx0dmFyICRtO1xuXHR2YXIgJG87XG5cdHZhciBjaGFubmVsID0ge1xuXHRcdGFzc2VydDogZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0aWYgKCFjaGFubmVsLmhhcyhrZXkpKSB7XG5cdFx0XHRcdHRocm93IG5ldyAkVHlwZUVycm9yKCdTaWRlIGNoYW5uZWwgZG9lcyBub3QgY29udGFpbiAnICsgaW5zcGVjdChrZXkpKTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGdldDogZnVuY3Rpb24gKGtleSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG5cdFx0XHRpZiAoJFdlYWtNYXAgJiYga2V5ICYmICh0eXBlb2Yga2V5ID09PSAnb2JqZWN0JyB8fCB0eXBlb2Yga2V5ID09PSAnZnVuY3Rpb24nKSkge1xuXHRcdFx0XHRpZiAoJHdtKSB7XG5cdFx0XHRcdFx0cmV0dXJuICR3ZWFrTWFwR2V0KCR3bSwga2V5KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmICgkTWFwKSB7XG5cdFx0XHRcdGlmICgkbSkge1xuXHRcdFx0XHRcdHJldHVybiAkbWFwR2V0KCRtLCBrZXkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoJG8pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1sb25lbHktaWZcblx0XHRcdFx0XHRyZXR1cm4gbGlzdEdldCgkbywga2V5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0aGFzOiBmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRpZiAoJFdlYWtNYXAgJiYga2V5ICYmICh0eXBlb2Yga2V5ID09PSAnb2JqZWN0JyB8fCB0eXBlb2Yga2V5ID09PSAnZnVuY3Rpb24nKSkge1xuXHRcdFx0XHRpZiAoJHdtKSB7XG5cdFx0XHRcdFx0cmV0dXJuICR3ZWFrTWFwSGFzKCR3bSwga2V5KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmICgkTWFwKSB7XG5cdFx0XHRcdGlmICgkbSkge1xuXHRcdFx0XHRcdHJldHVybiAkbWFwSGFzKCRtLCBrZXkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoJG8pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1sb25lbHktaWZcblx0XHRcdFx0XHRyZXR1cm4gbGlzdEhhcygkbywga2V5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH0sXG5cdFx0c2V0OiBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuXHRcdFx0aWYgKCRXZWFrTWFwICYmIGtleSAmJiAodHlwZW9mIGtleSA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIGtleSA9PT0gJ2Z1bmN0aW9uJykpIHtcblx0XHRcdFx0aWYgKCEkd20pIHtcblx0XHRcdFx0XHQkd20gPSBuZXcgJFdlYWtNYXAoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQkd2Vha01hcFNldCgkd20sIGtleSwgdmFsdWUpO1xuXHRcdFx0fSBlbHNlIGlmICgkTWFwKSB7XG5cdFx0XHRcdGlmICghJG0pIHtcblx0XHRcdFx0XHQkbSA9IG5ldyAkTWFwKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JG1hcFNldCgkbSwga2V5LCB2YWx1ZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoISRvKSB7XG5cdFx0XHRcdFx0Lypcblx0XHRcdFx0XHQgKiBJbml0aWFsaXplIHRoZSBsaW5rZWQgbGlzdCBhcyBhbiBlbXB0eSBub2RlLCBzbyB0aGF0IHdlIGRvbid0IGhhdmVcblx0XHRcdFx0XHQgKiB0byBzcGVjaWFsLWNhc2UgaGFuZGxpbmcgb2YgdGhlIGZpcnN0IG5vZGU6IHdlIGNhbiBhbHdheXMgcmVmZXIgdG9cblx0XHRcdFx0XHQgKiBpdCBhcyAocHJldmlvdXMgbm9kZSkubmV4dCwgaW5zdGVhZCBvZiBzb21ldGhpbmcgbGlrZSAobGlzdCkuaGVhZFxuXHRcdFx0XHRcdCAqL1xuXHRcdFx0XHRcdCRvID0geyBrZXk6IHt9LCBuZXh0OiBudWxsIH07XG5cdFx0XHRcdH1cblx0XHRcdFx0bGlzdFNldCgkbywga2V5LCB2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gY2hhbm5lbDtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/side-channel/index.js\n")); - -/***/ }), - -/***/ "./node_modules/string_decoder/lib/string_decoder.js": -/*!***********************************************************!*\ - !*** ./node_modules/string_decoder/lib/string_decoder.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// 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\n\n/*<replacement>*/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7O0FBRUEsYUFBYSxzRkFBNkI7QUFDMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHNDQUFzQyxzQ0FBc0M7QUFDekc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanM/ODJkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXI7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIGlzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZyB8fCBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcbiAgZW5jb2RpbmcgPSAnJyArIGVuY29kaW5nO1xuICBzd2l0Y2ggKGVuY29kaW5nICYmIGVuY29kaW5nLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdoZXgnOmNhc2UgJ3V0ZjgnOmNhc2UgJ3V0Zi04JzpjYXNlICdhc2NpaSc6Y2FzZSAnYmluYXJ5JzpjYXNlICdiYXNlNjQnOmNhc2UgJ3VjczInOmNhc2UgJ3Vjcy0yJzpjYXNlICd1dGYxNmxlJzpjYXNlICd1dGYtMTZsZSc6Y2FzZSAncmF3JzpcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyhlbmMpIHtcbiAgaWYgKCFlbmMpIHJldHVybiAndXRmOCc7XG4gIHZhciByZXRyaWVkO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHN3aXRjaCAoZW5jKSB7XG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuICd1dGY4JztcbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiAndXRmMTZsZSc7XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuICdsYXRpbjEnO1xuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBlbmM7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAocmV0cmllZCkgcmV0dXJuOyAvLyB1bmRlZmluZWRcbiAgICAgICAgZW5jID0gKCcnICsgZW5jKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXRyaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn07XG5cbi8vIERvIG5vdCBjYWNoZSBgQnVmZmVyLmlzRW5jb2RpbmdgIHdoZW4gY2hlY2tpbmcgZW5jb2RpbmcgbmFtZXMgYXMgc29tZVxuLy8gbW9kdWxlcyBtb25rZXktcGF0Y2ggaXQgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGVuY29kaW5nc1xuZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XG4gIHZhciBuZW5jID0gX25vcm1hbGl6ZUVuY29kaW5nKGVuYyk7XG4gIGlmICh0eXBlb2YgbmVuYyAhPT0gJ3N0cmluZycgJiYgKEJ1ZmZlci5pc0VuY29kaW5nID09PSBpc0VuY29kaW5nIHx8ICFpc0VuY29kaW5nKGVuYykpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmMpO1xuICByZXR1cm4gbmVuYyB8fCBlbmM7XG59XG5cbi8vIFN0cmluZ0RlY29kZXIgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBlZmZpY2llbnRseSBzcGxpdHRpbmcgYSBzZXJpZXMgb2Zcbi8vIGJ1ZmZlcnMgaW50byBhIHNlcmllcyBvZiBKUyBzdHJpbmdzIHdpdGhvdXQgYnJlYWtpbmcgYXBhcnQgbXVsdGktYnl0ZVxuLy8gY2hhcmFjdGVycy5cbmV4cG9ydHMuU3RyaW5nRGVjb2RlciA9IFN0cmluZ0RlY29kZXI7XG5mdW5jdGlvbiBTdHJpbmdEZWNvZGVyKGVuY29kaW5nKSB7XG4gIHRoaXMuZW5jb2RpbmcgPSBub3JtYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XG4gIHZhciBuYjtcbiAgc3dpdGNoICh0aGlzLmVuY29kaW5nKSB7XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICB0aGlzLnRleHQgPSB1dGYxNlRleHQ7XG4gICAgICB0aGlzLmVuZCA9IHV0ZjE2RW5kO1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndXRmOCc6XG4gICAgICB0aGlzLmZpbGxMYXN0ID0gdXRmOEZpbGxMYXN0O1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIHRoaXMudGV4dCA9IGJhc2U2NFRleHQ7XG4gICAgICB0aGlzLmVuZCA9IGJhc2U2NEVuZDtcbiAgICAgIG5iID0gMztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aGlzLndyaXRlID0gc2ltcGxlV3JpdGU7XG4gICAgICB0aGlzLmVuZCA9IHNpbXBsZUVuZDtcbiAgICAgIHJldHVybjtcbiAgfVxuICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgdGhpcy5sYXN0VG90YWwgPSAwO1xuICB0aGlzLmxhc3RDaGFyID0gQnVmZmVyLmFsbG9jVW5zYWZlKG5iKTtcbn1cblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmIChidWYubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gIHZhciByO1xuICB2YXIgaTtcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcbiAgICByID0gdGhpcy5maWxsTGFzdChidWYpO1xuICAgIGlmIChyID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcbiAgICBpID0gdGhpcy5sYXN0TmVlZDtcbiAgICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgfSBlbHNlIHtcbiAgICBpID0gMDtcbiAgfVxuICBpZiAoaSA8IGJ1Zi5sZW5ndGgpIHJldHVybiByID8gciArIHRoaXMudGV4dChidWYsIGkpIDogdGhpcy50ZXh0KGJ1ZiwgaSk7XG4gIHJldHVybiByIHx8ICcnO1xufTtcblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gdXRmOEVuZDtcblxuLy8gUmV0dXJucyBvbmx5IGNvbXBsZXRlIGNoYXJhY3RlcnMgaW4gYSBCdWZmZXJcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQgPSB1dGY4VGV4dDtcblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBwYXJ0aWFsIG5vbi1VVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlclxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3QgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmICh0aGlzLmxhc3ROZWVkIDw9IGJ1Zi5sZW5ndGgpIHtcbiAgICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIHRoaXMubGFzdE5lZWQpO1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcbiAgfVxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59O1xuXG4vLyBDaGVja3MgdGhlIHR5cGUgb2YgYSBVVEYtOCBieXRlLCB3aGV0aGVyIGl0J3MgQVNDSUksIGEgbGVhZGluZyBieXRlLCBvciBhXG4vLyBjb250aW51YXRpb24gYnl0ZS4gSWYgYW4gaW52YWxpZCBieXRlIGlzIGRldGVjdGVkLCAtMiBpcyByZXR1cm5lZC5cbmZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUoYnl0ZSkge1xuICBpZiAoYnl0ZSA8PSAweDdGKSByZXR1cm4gMDtlbHNlIGlmIChieXRlID4+IDUgPT09IDB4MDYpIHJldHVybiAyO2Vsc2UgaWYgKGJ5dGUgPj4gNCA9PT0gMHgwRSkgcmV0dXJuIDM7ZWxzZSBpZiAoYnl0ZSA+PiAzID09PSAweDFFKSByZXR1cm4gNDtcbiAgcmV0dXJuIGJ5dGUgPj4gNiA9PT0gMHgwMiA/IC0xIDogLTI7XG59XG5cbi8vIENoZWNrcyBhdCBtb3N0IDMgYnl0ZXMgYXQgdGhlIGVuZCBvZiBhIEJ1ZmZlciBpbiBvcmRlciB0byBkZXRlY3QgYW5cbi8vIGluY29tcGxldGUgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIuIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKDIsIDMsIG9yIDQpXG4vLyBuZWVkZWQgdG8gY29tcGxldGUgdGhlIFVURi04IGNoYXJhY3RlciAoaWYgYXBwbGljYWJsZSkgYXJlIHJldHVybmVkLlxuZnVuY3Rpb24gdXRmOENoZWNrSW5jb21wbGV0ZShzZWxmLCBidWYsIGkpIHtcbiAgdmFyIGogPSBidWYubGVuZ3RoIC0gMTtcbiAgaWYgKGogPCBpKSByZXR1cm4gMDtcbiAgdmFyIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDE7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDI7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHtcbiAgICAgIGlmIChuYiA9PT0gMikgbmIgPSAwO2Vsc2Ugc2VsZi5sYXN0TmVlZCA9IG5iIC0gMztcbiAgICB9XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIHJldHVybiAwO1xufVxuXG4vLyBWYWxpZGF0ZXMgYXMgbWFueSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgYXNcbi8vIG5lZWRlZCBvciBhcmUgYXZhaWxhYmxlLiBJZiB3ZSBzZWUgYSBub24tY29udGludWF0aW9uIGJ5dGUgd2hlcmUgd2UgZXhwZWN0XG4vLyBvbmUsIHdlIFwicmVwbGFjZVwiIHRoZSB2YWxpZGF0ZWQgY29udGludWF0aW9uIGJ5dGVzIHdlJ3ZlIHNlZW4gc28gZmFyIHdpdGhcbi8vIGEgc2luZ2xlIFVURi04IHJlcGxhY2VtZW50IGNoYXJhY3RlciAoJ1xcdWZmZmQnKSwgdG8gbWF0Y2ggdjgncyBVVEYtOCBkZWNvZGluZ1xuLy8gYmVoYXZpb3IuIFRoZSBjb250aW51YXRpb24gYnl0ZSBjaGVjayBpcyBpbmNsdWRlZCB0aHJlZSB0aW1lcyBpbiB0aGUgY2FzZVxuLy8gd2hlcmUgYWxsIG9mIHRoZSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgY2hhcmFjdGVyIGV4aXN0IGluIHRoZSBzYW1lIGJ1ZmZlci5cbi8vIEl0IGlzIGFsc28gZG9uZSB0aGlzIHdheSBhcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBpbmNyZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGFcbi8vIGxvb3AuXG5mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHNlbGYsIGJ1ZiwgcCkge1xuICBpZiAoKGJ1ZlswXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgc2VsZi5sYXN0TmVlZCA9IDA7XG4gICAgcmV0dXJuICdcXHVmZmZkJztcbiAgfVxuICBpZiAoc2VsZi5sYXN0TmVlZCA+IDEgJiYgYnVmLmxlbmd0aCA+IDEpIHtcbiAgICBpZiAoKGJ1ZlsxXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgICBzZWxmLmxhc3ROZWVkID0gMTtcbiAgICAgIHJldHVybiAnXFx1ZmZmZCc7XG4gICAgfVxuICAgIGlmIChzZWxmLmxhc3ROZWVkID4gMiAmJiBidWYubGVuZ3RoID4gMikge1xuICAgICAgaWYgKChidWZbMl0gJiAweEMwKSAhPT0gMHg4MCkge1xuICAgICAgICBzZWxmLmxhc3ROZWVkID0gMjtcbiAgICAgICAgcmV0dXJuICdcXHVmZmZkJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBtdWx0aS1ieXRlIFVURi04IGNoYXJhY3RlciB1c2luZyBieXRlcyBmcm9tIGEgQnVmZmVyLlxuZnVuY3Rpb24gdXRmOEZpbGxMYXN0KGJ1Zikge1xuICB2YXIgcCA9IHRoaXMubGFzdFRvdGFsIC0gdGhpcy5sYXN0TmVlZDtcbiAgdmFyIHIgPSB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsIGJ1ZiwgcCk7XG4gIGlmIChyICE9PSB1bmRlZmluZWQpIHJldHVybiByO1xuICBpZiAodGhpcy5sYXN0TmVlZCA8PSBidWYubGVuZ3RoKSB7XG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgcCwgMCwgdGhpcy5sYXN0TmVlZCk7XG4gICAgcmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywgMCwgdGhpcy5sYXN0VG90YWwpO1xuICB9XG4gIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59XG5cbi8vIFJldHVybnMgYWxsIGNvbXBsZXRlIFVURi04IGNoYXJhY3RlcnMgaW4gYSBCdWZmZXIuIElmIHRoZSBCdWZmZXIgZW5kZWQgb24gYVxuLy8gcGFydGlhbCBjaGFyYWN0ZXIsIHRoZSBjaGFyYWN0ZXIncyBieXRlcyBhcmUgYnVmZmVyZWQgdW50aWwgdGhlIHJlcXVpcmVkXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXJlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIHV0ZjhUZXh0KGJ1ZiwgaSkge1xuICB2YXIgdG90YWwgPSB1dGY4Q2hlY2tJbmNvbXBsZXRlKHRoaXMsIGJ1ZiwgaSk7XG4gIGlmICghdGhpcy5sYXN0TmVlZCkgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGkpO1xuICB0aGlzLmxhc3RUb3RhbCA9IHRvdGFsO1xuICB2YXIgZW5kID0gYnVmLmxlbmd0aCAtICh0b3RhbCAtIHRoaXMubGFzdE5lZWQpO1xuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCAwLCBlbmQpO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGY4JywgaSwgZW5kKTtcbn1cblxuLy8gRm9yIFVURi04LCBhIHJlcGxhY2VtZW50IGNoYXJhY3RlciBpcyBhZGRlZCB3aGVuIGVuZGluZyBvbiBhIHBhcnRpYWxcbi8vIGNoYXJhY3Rlci5cbmZ1bmN0aW9uIHV0ZjhFbmQoYnVmKSB7XG4gIHZhciByID0gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHJldHVybiByICsgJ1xcdWZmZmQnO1xuICByZXR1cm4gcjtcbn1cblxuLy8gVVRGLTE2TEUgdHlwaWNhbGx5IG5lZWRzIHR3byBieXRlcyBwZXIgY2hhcmFjdGVyLCBidXQgZXZlbiBpZiB3ZSBoYXZlIGFuIGV2ZW5cbi8vIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgZW5kIG9uIGEgbGVhZGluZy9oaWdoXG4vLyBzdXJyb2dhdGUuIEluIHRoYXQgY2FzZSwgd2UgbmVlZCB0byB3YWl0IGZvciB0aGUgbmV4dCB0d28gYnl0ZXMgaW4gb3JkZXIgdG9cbi8vIGRlY29kZSB0aGUgbGFzdCBjaGFyYWN0ZXIgcHJvcGVybHkuXG5mdW5jdGlvbiB1dGYxNlRleHQoYnVmLCBpKSB7XG4gIGlmICgoYnVmLmxlbmd0aCAtIGkpICUgMiA9PT0gMCkge1xuICAgIHZhciByID0gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHZhciBjID0gci5jaGFyQ29kZUF0KHIubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoYyA+PSAweEQ4MDAgJiYgYyA8PSAweERCRkYpIHtcbiAgICAgICAgdGhpcy5sYXN0TmVlZCA9IDI7XG4gICAgICAgIHRoaXMubGFzdFRvdGFsID0gNDtcbiAgICAgICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XG4gICAgICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICAgICAgICByZXR1cm4gci5zbGljZSgwLCAtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9XG4gIHRoaXMubGFzdE5lZWQgPSAxO1xuICB0aGlzLmxhc3RUb3RhbCA9IDI7XG4gIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSwgYnVmLmxlbmd0aCAtIDEpO1xufVxuXG4vLyBGb3IgVVRGLTE2TEUgd2UgZG8gbm90IGV4cGxpY2l0bHkgYXBwZW5kIHNwZWNpYWwgcmVwbGFjZW1lbnQgY2hhcmFjdGVycyBpZiB3ZVxuLy8gZW5kIG9uIGEgcGFydGlhbCBjaGFyYWN0ZXIsIHdlIHNpbXBseSBsZXQgdjggaGFuZGxlIHRoYXQuXG5mdW5jdGlvbiB1dGYxNkVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkge1xuICAgIHZhciBlbmQgPSB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQ7XG4gICAgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCd1dGYxNmxlJywgMCwgZW5kKTtcbiAgfVxuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gYmFzZTY0VGV4dChidWYsIGkpIHtcbiAgdmFyIG4gPSAoYnVmLmxlbmd0aCAtIGkpICUgMztcbiAgaWYgKG4gPT09IDApIHJldHVybiBidWYudG9TdHJpbmcoJ2Jhc2U2NCcsIGkpO1xuICB0aGlzLmxhc3ROZWVkID0gMyAtIG47XG4gIHRoaXMubGFzdFRvdGFsID0gMztcbiAgaWYgKG4gPT09IDEpIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAyXTtcbiAgICB0aGlzLmxhc3RDaGFyWzFdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfVxuICByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpLCBidWYubGVuZ3RoIC0gbik7XG59XG5cbmZ1bmN0aW9uIGJhc2U2NEVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCdiYXNlNjQnLCAwLCAzIC0gdGhpcy5sYXN0TmVlZCk7XG4gIHJldHVybiByO1xufVxuXG4vLyBQYXNzIGJ5dGVzIG9uIHRocm91Z2ggZm9yIHNpbmdsZS1ieXRlIGVuY29kaW5ncyAoZS5nLiBhc2NpaSwgbGF0aW4xLCBoZXgpXG5mdW5jdGlvbiBzaW1wbGVXcml0ZShidWYpIHtcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcbn1cblxuZnVuY3Rpb24gc2ltcGxlRW5kKGJ1Zikge1xuICByZXR1cm4gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/string_decoder/lib/string_decoder.js\n")); - -/***/ }), - -/***/ "./node_modules/util-deprecate/browser.js": -/*!************************************************!*\ - !*** ./node_modules/util-deprecate/browser.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!__webpack_require__.g.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = __webpack_require__.g.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsVUFBVTtBQUNyQixXQUFXLFFBQVE7QUFDbkIsYUFBYSxVQUFVO0FBQ3ZCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsYUFBYTtBQUNiO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUyxxQkFBTTtBQUNmLElBQUk7QUFDSjtBQUNBO0FBQ0EsWUFBWSxxQkFBTTtBQUNsQjtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3V0aWwtZGVwcmVjYXRlL2Jyb3dzZXIuanM/YmIzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBkZXByZWNhdGU7XG5cbi8qKlxuICogTWFyayB0aGF0IGEgbWV0aG9kIHNob3VsZCBub3QgYmUgdXNlZC5cbiAqIFJldHVybnMgYSBtb2RpZmllZCBmdW5jdGlvbiB3aGljaCB3YXJucyBvbmNlIGJ5IGRlZmF1bHQuXG4gKlxuICogSWYgYGxvY2FsU3RvcmFnZS5ub0RlcHJlY2F0aW9uID0gdHJ1ZWAgaXMgc2V0LCB0aGVuIGl0IGlzIGEgbm8tb3AuXG4gKlxuICogSWYgYGxvY2FsU3RvcmFnZS50aHJvd0RlcHJlY2F0aW9uID0gdHJ1ZWAgaXMgc2V0LCB0aGVuIGRlcHJlY2F0ZWQgZnVuY3Rpb25zXG4gKiB3aWxsIHRocm93IGFuIEVycm9yIHdoZW4gaW52b2tlZC5cbiAqXG4gKiBJZiBgbG9jYWxTdG9yYWdlLnRyYWNlRGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gZGVwcmVjYXRlZCBmdW5jdGlvbnNcbiAqIHdpbGwgaW52b2tlIGBjb25zb2xlLnRyYWNlKClgIGluc3RlYWQgb2YgYGNvbnNvbGUuZXJyb3IoKWAuXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gLSB0aGUgZnVuY3Rpb24gdG8gZGVwcmVjYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gbXNnIC0gdGhlIHN0cmluZyB0byBwcmludCB0byB0aGUgY29uc29sZSB3aGVuIGBmbmAgaXMgaW52b2tlZFxuICogQHJldHVybnMge0Z1bmN0aW9ufSBhIG5ldyBcImRlcHJlY2F0ZWRcIiB2ZXJzaW9uIG9mIGBmbmBcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZGVwcmVjYXRlIChmbiwgbXNnKSB7XG4gIGlmIChjb25maWcoJ25vRGVwcmVjYXRpb24nKSkge1xuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHZhciB3YXJuZWQgPSBmYWxzZTtcbiAgZnVuY3Rpb24gZGVwcmVjYXRlZCgpIHtcbiAgICBpZiAoIXdhcm5lZCkge1xuICAgICAgaWYgKGNvbmZpZygndGhyb3dEZXByZWNhdGlvbicpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgICAgfSBlbHNlIGlmIChjb25maWcoJ3RyYWNlRGVwcmVjYXRpb24nKSkge1xuICAgICAgICBjb25zb2xlLnRyYWNlKG1zZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4obXNnKTtcbiAgICAgIH1cbiAgICAgIHdhcm5lZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgcmV0dXJuIGRlcHJlY2F0ZWQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIGBsb2NhbFN0b3JhZ2VgIGZvciBib29sZWFuIHZhbHVlcyBmb3IgdGhlIGdpdmVuIGBuYW1lYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZVxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBjb25maWcgKG5hbWUpIHtcbiAgLy8gYWNjZXNzaW5nIGdsb2JhbC5sb2NhbFN0b3JhZ2UgY2FuIHRyaWdnZXIgYSBET01FeGNlcHRpb24gaW4gc2FuZGJveGVkIGlmcmFtZXNcbiAgdHJ5IHtcbiAgICBpZiAoIWdsb2JhbC5sb2NhbFN0b3JhZ2UpIHJldHVybiBmYWxzZTtcbiAgfSBjYXRjaCAoXykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgdmFsID0gZ2xvYmFsLmxvY2FsU3RvcmFnZVtuYW1lXTtcbiAgaWYgKG51bGwgPT0gdmFsKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBTdHJpbmcodmFsKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZSc7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/util-deprecate/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/xtend/immutable.js": -/*!*****************************************!*\ - !*** ./node_modules/xtend/immutable.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMveHRlbmQvaW1tdXRhYmxlLmpzIiwibWFwcGluZ3MiOiJBQUFBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsb0JBQW9CLHNCQUFzQjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMveHRlbmQvaW1tdXRhYmxlLmpzP2EwNTgiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBleHRlbmRcblxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuZnVuY3Rpb24gZXh0ZW5kKCkge1xuICAgIHZhciB0YXJnZXQgPSB7fVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXVxuXG4gICAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/xtend/immutable.js\n")); - -/***/ }), - -/***/ "./node_modules/yallist/iterator.js": -/*!******************************************!*\ - !*** ./node_modules/yallist/iterator.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMveWFsbGlzdC9pdGVyYXRvci5qcyIsIm1hcHBpbmdzIjoiQUFBWTtBQUNaO0FBQ0E7QUFDQSxpQ0FBaUMsUUFBUTtBQUN6QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMveWFsbGlzdC9pdGVyYXRvci5qcz82ZmViIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoWWFsbGlzdCkge1xuICBZYWxsaXN0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHtcbiAgICBmb3IgKGxldCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlcjsgd2Fsa2VyID0gd2Fsa2VyLm5leHQpIHtcbiAgICAgIHlpZWxkIHdhbGtlci52YWx1ZVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/yallist/iterator.js\n")); - -/***/ }), - -/***/ "./node_modules/yallist/yallist.js": -/*!*****************************************!*\ - !*** ./node_modules/yallist/yallist.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n __webpack_require__(/*! ./iterator.js */ \"./node_modules/yallist/iterator.js\")(Yallist)\n} catch (er) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0MsOEJBQThCO0FBQ3BFO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsMkJBQTJCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsaUJBQWlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFLG1CQUFPLENBQUMseURBQWU7QUFDekIsRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMveWFsbGlzdC95YWxsaXN0LmpzP2VhNzQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5tb2R1bGUuZXhwb3J0cyA9IFlhbGxpc3RcblxuWWFsbGlzdC5Ob2RlID0gTm9kZVxuWWFsbGlzdC5jcmVhdGUgPSBZYWxsaXN0XG5cbmZ1bmN0aW9uIFlhbGxpc3QgKGxpc3QpIHtcbiAgdmFyIHNlbGYgPSB0aGlzXG4gIGlmICghKHNlbGYgaW5zdGFuY2VvZiBZYWxsaXN0KSkge1xuICAgIHNlbGYgPSBuZXcgWWFsbGlzdCgpXG4gIH1cblxuICBzZWxmLnRhaWwgPSBudWxsXG4gIHNlbGYuaGVhZCA9IG51bGxcbiAgc2VsZi5sZW5ndGggPSAwXG5cbiAgaWYgKGxpc3QgJiYgdHlwZW9mIGxpc3QuZm9yRWFjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGxpc3QuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgc2VsZi5wdXNoKGl0ZW0pXG4gICAgfSlcbiAgfSBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMCkge1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgc2VsZi5wdXNoKGFyZ3VtZW50c1tpXSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2VsZlxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5yZW1vdmVOb2RlID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgaWYgKG5vZGUubGlzdCAhPT0gdGhpcykge1xuICAgIHRocm93IG5ldyBFcnJvcigncmVtb3Zpbmcgbm9kZSB3aGljaCBkb2VzIG5vdCBiZWxvbmcgdG8gdGhpcyBsaXN0JylcbiAgfVxuXG4gIHZhciBuZXh0ID0gbm9kZS5uZXh0XG4gIHZhciBwcmV2ID0gbm9kZS5wcmV2XG5cbiAgaWYgKG5leHQpIHtcbiAgICBuZXh0LnByZXYgPSBwcmV2XG4gIH1cblxuICBpZiAocHJldikge1xuICAgIHByZXYubmV4dCA9IG5leHRcbiAgfVxuXG4gIGlmIChub2RlID09PSB0aGlzLmhlYWQpIHtcbiAgICB0aGlzLmhlYWQgPSBuZXh0XG4gIH1cbiAgaWYgKG5vZGUgPT09IHRoaXMudGFpbCkge1xuICAgIHRoaXMudGFpbCA9IHByZXZcbiAgfVxuXG4gIG5vZGUubGlzdC5sZW5ndGgtLVxuICBub2RlLm5leHQgPSBudWxsXG4gIG5vZGUucHJldiA9IG51bGxcbiAgbm9kZS5saXN0ID0gbnVsbFxuXG4gIHJldHVybiBuZXh0XG59XG5cbllhbGxpc3QucHJvdG90eXBlLnVuc2hpZnROb2RlID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgaWYgKG5vZGUgPT09IHRoaXMuaGVhZCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKG5vZGUubGlzdCkge1xuICAgIG5vZGUubGlzdC5yZW1vdmVOb2RlKG5vZGUpXG4gIH1cblxuICB2YXIgaGVhZCA9IHRoaXMuaGVhZFxuICBub2RlLmxpc3QgPSB0aGlzXG4gIG5vZGUubmV4dCA9IGhlYWRcbiAgaWYgKGhlYWQpIHtcbiAgICBoZWFkLnByZXYgPSBub2RlXG4gIH1cblxuICB0aGlzLmhlYWQgPSBub2RlXG4gIGlmICghdGhpcy50YWlsKSB7XG4gICAgdGhpcy50YWlsID0gbm9kZVxuICB9XG4gIHRoaXMubGVuZ3RoKytcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucHVzaE5vZGUgPSBmdW5jdGlvbiAobm9kZSkge1xuICBpZiAobm9kZSA9PT0gdGhpcy50YWlsKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAobm9kZS5saXN0KSB7XG4gICAgbm9kZS5saXN0LnJlbW92ZU5vZGUobm9kZSlcbiAgfVxuXG4gIHZhciB0YWlsID0gdGhpcy50YWlsXG4gIG5vZGUubGlzdCA9IHRoaXNcbiAgbm9kZS5wcmV2ID0gdGFpbFxuICBpZiAodGFpbCkge1xuICAgIHRhaWwubmV4dCA9IG5vZGVcbiAgfVxuXG4gIHRoaXMudGFpbCA9IG5vZGVcbiAgaWYgKCF0aGlzLmhlYWQpIHtcbiAgICB0aGlzLmhlYWQgPSBub2RlXG4gIH1cbiAgdGhpcy5sZW5ndGgrK1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBwdXNoKHRoaXMsIGFyZ3VtZW50c1tpXSlcbiAgfVxuICByZXR1cm4gdGhpcy5sZW5ndGhcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uICgpIHtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdW5zaGlmdCh0aGlzLCBhcmd1bWVudHNbaV0pXG4gIH1cbiAgcmV0dXJuIHRoaXMubGVuZ3RoXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnBvcCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCF0aGlzLnRhaWwpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICB2YXIgcmVzID0gdGhpcy50YWlsLnZhbHVlXG4gIHRoaXMudGFpbCA9IHRoaXMudGFpbC5wcmV2XG4gIGlmICh0aGlzLnRhaWwpIHtcbiAgICB0aGlzLnRhaWwubmV4dCA9IG51bGxcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmhlYWQgPSBudWxsXG4gIH1cbiAgdGhpcy5sZW5ndGgtLVxuICByZXR1cm4gcmVzXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnNoaWZ0ID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMuaGVhZCkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIHZhciByZXMgPSB0aGlzLmhlYWQudmFsdWVcbiAgdGhpcy5oZWFkID0gdGhpcy5oZWFkLm5leHRcbiAgaWYgKHRoaXMuaGVhZCkge1xuICAgIHRoaXMuaGVhZC5wcmV2ID0gbnVsbFxuICB9IGVsc2Uge1xuICAgIHRoaXMudGFpbCA9IG51bGxcbiAgfVxuICB0aGlzLmxlbmd0aC0tXG4gIHJldHVybiByZXNcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuZm9yRWFjaCA9IGZ1bmN0aW9uIChmbiwgdGhpc3ApIHtcbiAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzXG4gIGZvciAodmFyIHdhbGtlciA9IHRoaXMuaGVhZCwgaSA9IDA7IHdhbGtlciAhPT0gbnVsbDsgaSsrKSB7XG4gICAgZm4uY2FsbCh0aGlzcCwgd2Fsa2VyLnZhbHVlLCBpLCB0aGlzKVxuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuZm9yRWFjaFJldmVyc2UgPSBmdW5jdGlvbiAoZm4sIHRoaXNwKSB7XG4gIHRoaXNwID0gdGhpc3AgfHwgdGhpc1xuICBmb3IgKHZhciB3YWxrZXIgPSB0aGlzLnRhaWwsIGkgPSB0aGlzLmxlbmd0aCAtIDE7IHdhbGtlciAhPT0gbnVsbDsgaS0tKSB7XG4gICAgZm4uY2FsbCh0aGlzcCwgd2Fsa2VyLnZhbHVlLCBpLCB0aGlzKVxuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKG4pIHtcbiAgZm9yICh2YXIgaSA9IDAsIHdhbGtlciA9IHRoaXMuaGVhZDsgd2Fsa2VyICE9PSBudWxsICYmIGkgPCBuOyBpKyspIHtcbiAgICAvLyBhYm9ydCBvdXQgb2YgdGhlIGxpc3QgZWFybHkgaWYgd2UgaGl0IGEgY3ljbGVcbiAgICB3YWxrZXIgPSB3YWxrZXIubmV4dFxuICB9XG4gIGlmIChpID09PSBuICYmIHdhbGtlciAhPT0gbnVsbCkge1xuICAgIHJldHVybiB3YWxrZXIudmFsdWVcbiAgfVxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5nZXRSZXZlcnNlID0gZnVuY3Rpb24gKG4pIHtcbiAgZm9yICh2YXIgaSA9IDAsIHdhbGtlciA9IHRoaXMudGFpbDsgd2Fsa2VyICE9PSBudWxsICYmIGkgPCBuOyBpKyspIHtcbiAgICAvLyBhYm9ydCBvdXQgb2YgdGhlIGxpc3QgZWFybHkgaWYgd2UgaGl0IGEgY3ljbGVcbiAgICB3YWxrZXIgPSB3YWxrZXIucHJldlxuICB9XG4gIGlmIChpID09PSBuICYmIHdhbGtlciAhPT0gbnVsbCkge1xuICAgIHJldHVybiB3YWxrZXIudmFsdWVcbiAgfVxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbiAoZm4sIHRoaXNwKSB7XG4gIHRoaXNwID0gdGhpc3AgfHwgdGhpc1xuICB2YXIgcmVzID0gbmV3IFlhbGxpc3QoKVxuICBmb3IgKHZhciB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlciAhPT0gbnVsbDspIHtcbiAgICByZXMucHVzaChmbi5jYWxsKHRoaXNwLCB3YWxrZXIudmFsdWUsIHRoaXMpKVxuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5tYXBSZXZlcnNlID0gZnVuY3Rpb24gKGZuLCB0aGlzcCkge1xuICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgdmFyIHJlcyA9IG5ldyBZYWxsaXN0KClcbiAgZm9yICh2YXIgd2Fsa2VyID0gdGhpcy50YWlsOyB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgcmVzLnB1c2goZm4uY2FsbCh0aGlzcCwgd2Fsa2VyLnZhbHVlLCB0aGlzKSlcbiAgICB3YWxrZXIgPSB3YWxrZXIucHJldlxuICB9XG4gIHJldHVybiByZXNcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucmVkdWNlID0gZnVuY3Rpb24gKGZuLCBpbml0aWFsKSB7XG4gIHZhciBhY2NcbiAgdmFyIHdhbGtlciA9IHRoaXMuaGVhZFxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICBhY2MgPSBpbml0aWFsXG4gIH0gZWxzZSBpZiAodGhpcy5oZWFkKSB7XG4gICAgd2Fsa2VyID0gdGhpcy5oZWFkLm5leHRcbiAgICBhY2MgPSB0aGlzLmhlYWQudmFsdWVcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWR1Y2Ugb2YgZW1wdHkgbGlzdCB3aXRoIG5vIGluaXRpYWwgdmFsdWUnKVxuICB9XG5cbiAgZm9yICh2YXIgaSA9IDA7IHdhbGtlciAhPT0gbnVsbDsgaSsrKSB7XG4gICAgYWNjID0gZm4oYWNjLCB3YWxrZXIudmFsdWUsIGkpXG4gICAgd2Fsa2VyID0gd2Fsa2VyLm5leHRcbiAgfVxuXG4gIHJldHVybiBhY2Ncbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucmVkdWNlUmV2ZXJzZSA9IGZ1bmN0aW9uIChmbiwgaW5pdGlhbCkge1xuICB2YXIgYWNjXG4gIHZhciB3YWxrZXIgPSB0aGlzLnRhaWxcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgYWNjID0gaW5pdGlhbFxuICB9IGVsc2UgaWYgKHRoaXMudGFpbCkge1xuICAgIHdhbGtlciA9IHRoaXMudGFpbC5wcmV2XG4gICAgYWNjID0gdGhpcy50YWlsLnZhbHVlXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVkdWNlIG9mIGVtcHR5IGxpc3Qgd2l0aCBubyBpbml0aWFsIHZhbHVlJylcbiAgfVxuXG4gIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IHdhbGtlciAhPT0gbnVsbDsgaS0tKSB7XG4gICAgYWNjID0gZm4oYWNjLCB3YWxrZXIudmFsdWUsIGkpXG4gICAgd2Fsa2VyID0gd2Fsa2VyLnByZXZcbiAgfVxuXG4gIHJldHVybiBhY2Ncbn1cblxuWWFsbGlzdC5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGFyciA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aClcbiAgZm9yICh2YXIgaSA9IDAsIHdhbGtlciA9IHRoaXMuaGVhZDsgd2Fsa2VyICE9PSBudWxsOyBpKyspIHtcbiAgICBhcnJbaV0gPSB3YWxrZXIudmFsdWVcbiAgICB3YWxrZXIgPSB3YWxrZXIubmV4dFxuICB9XG4gIHJldHVybiBhcnJcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUudG9BcnJheVJldmVyc2UgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBhcnIgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpXG4gIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbDsgaSsrKSB7XG4gICAgYXJyW2ldID0gd2Fsa2VyLnZhbHVlXG4gICAgd2Fsa2VyID0gd2Fsa2VyLnByZXZcbiAgfVxuICByZXR1cm4gYXJyXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnNsaWNlID0gZnVuY3Rpb24gKGZyb20sIHRvKSB7XG4gIHRvID0gdG8gfHwgdGhpcy5sZW5ndGhcbiAgaWYgKHRvIDwgMCkge1xuICAgIHRvICs9IHRoaXMubGVuZ3RoXG4gIH1cbiAgZnJvbSA9IGZyb20gfHwgMFxuICBpZiAoZnJvbSA8IDApIHtcbiAgICBmcm9tICs9IHRoaXMubGVuZ3RoXG4gIH1cbiAgdmFyIHJldCA9IG5ldyBZYWxsaXN0KClcbiAgaWYgKHRvIDwgZnJvbSB8fCB0byA8IDApIHtcbiAgICByZXR1cm4gcmV0XG4gIH1cbiAgaWYgKGZyb20gPCAwKSB7XG4gICAgZnJvbSA9IDBcbiAgfVxuICBpZiAodG8gPiB0aGlzLmxlbmd0aCkge1xuICAgIHRvID0gdGhpcy5sZW5ndGhcbiAgfVxuICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXIgIT09IG51bGwgJiYgaSA8IGZyb207IGkrKykge1xuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cbiAgZm9yICg7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgdG87IGkrKywgd2Fsa2VyID0gd2Fsa2VyLm5leHQpIHtcbiAgICByZXQucHVzaCh3YWxrZXIudmFsdWUpXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5zbGljZVJldmVyc2UgPSBmdW5jdGlvbiAoZnJvbSwgdG8pIHtcbiAgdG8gPSB0byB8fCB0aGlzLmxlbmd0aFxuICBpZiAodG8gPCAwKSB7XG4gICAgdG8gKz0gdGhpcy5sZW5ndGhcbiAgfVxuICBmcm9tID0gZnJvbSB8fCAwXG4gIGlmIChmcm9tIDwgMCkge1xuICAgIGZyb20gKz0gdGhpcy5sZW5ndGhcbiAgfVxuICB2YXIgcmV0ID0gbmV3IFlhbGxpc3QoKVxuICBpZiAodG8gPCBmcm9tIHx8IHRvIDwgMCkge1xuICAgIHJldHVybiByZXRcbiAgfVxuICBpZiAoZnJvbSA8IDApIHtcbiAgICBmcm9tID0gMFxuICB9XG4gIGlmICh0byA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdG8gPSB0aGlzLmxlbmd0aFxuICB9XG4gIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCwgd2Fsa2VyID0gdGhpcy50YWlsOyB3YWxrZXIgIT09IG51bGwgJiYgaSA+IHRvOyBpLS0pIHtcbiAgICB3YWxrZXIgPSB3YWxrZXIucHJldlxuICB9XG4gIGZvciAoOyB3YWxrZXIgIT09IG51bGwgJiYgaSA+IGZyb207IGktLSwgd2Fsa2VyID0gd2Fsa2VyLnByZXYpIHtcbiAgICByZXQucHVzaCh3YWxrZXIudmFsdWUpXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5zcGxpY2UgPSBmdW5jdGlvbiAoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5ub2Rlcykge1xuICBpZiAoc3RhcnQgPiB0aGlzLmxlbmd0aCkge1xuICAgIHN0YXJ0ID0gdGhpcy5sZW5ndGggLSAxXG4gIH1cbiAgaWYgKHN0YXJ0IDwgMCkge1xuICAgIHN0YXJ0ID0gdGhpcy5sZW5ndGggKyBzdGFydDtcbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgc3RhcnQ7IGkrKykge1xuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cblxuICB2YXIgcmV0ID0gW11cbiAgZm9yICh2YXIgaSA9IDA7IHdhbGtlciAmJiBpIDwgZGVsZXRlQ291bnQ7IGkrKykge1xuICAgIHJldC5wdXNoKHdhbGtlci52YWx1ZSlcbiAgICB3YWxrZXIgPSB0aGlzLnJlbW92ZU5vZGUod2Fsa2VyKVxuICB9XG4gIGlmICh3YWxrZXIgPT09IG51bGwpIHtcbiAgICB3YWxrZXIgPSB0aGlzLnRhaWxcbiAgfVxuXG4gIGlmICh3YWxrZXIgIT09IHRoaXMuaGVhZCAmJiB3YWxrZXIgIT09IHRoaXMudGFpbCkge1xuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgd2Fsa2VyID0gaW5zZXJ0KHRoaXMsIHdhbGtlciwgbm9kZXNbaV0pXG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhlYWQgPSB0aGlzLmhlYWRcbiAgdmFyIHRhaWwgPSB0aGlzLnRhaWxcbiAgZm9yICh2YXIgd2Fsa2VyID0gaGVhZDsgd2Fsa2VyICE9PSBudWxsOyB3YWxrZXIgPSB3YWxrZXIucHJldikge1xuICAgIHZhciBwID0gd2Fsa2VyLnByZXZcbiAgICB3YWxrZXIucHJldiA9IHdhbGtlci5uZXh0XG4gICAgd2Fsa2VyLm5leHQgPSBwXG4gIH1cbiAgdGhpcy5oZWFkID0gdGFpbFxuICB0aGlzLnRhaWwgPSBoZWFkXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIGluc2VydCAoc2VsZiwgbm9kZSwgdmFsdWUpIHtcbiAgdmFyIGluc2VydGVkID0gbm9kZSA9PT0gc2VsZi5oZWFkID9cbiAgICBuZXcgTm9kZSh2YWx1ZSwgbnVsbCwgbm9kZSwgc2VsZikgOlxuICAgIG5ldyBOb2RlKHZhbHVlLCBub2RlLCBub2RlLm5leHQsIHNlbGYpXG5cbiAgaWYgKGluc2VydGVkLm5leHQgPT09IG51bGwpIHtcbiAgICBzZWxmLnRhaWwgPSBpbnNlcnRlZFxuICB9XG4gIGlmIChpbnNlcnRlZC5wcmV2ID09PSBudWxsKSB7XG4gICAgc2VsZi5oZWFkID0gaW5zZXJ0ZWRcbiAgfVxuXG4gIHNlbGYubGVuZ3RoKytcblxuICByZXR1cm4gaW5zZXJ0ZWRcbn1cblxuZnVuY3Rpb24gcHVzaCAoc2VsZiwgaXRlbSkge1xuICBzZWxmLnRhaWwgPSBuZXcgTm9kZShpdGVtLCBzZWxmLnRhaWwsIG51bGwsIHNlbGYpXG4gIGlmICghc2VsZi5oZWFkKSB7XG4gICAgc2VsZi5oZWFkID0gc2VsZi50YWlsXG4gIH1cbiAgc2VsZi5sZW5ndGgrK1xufVxuXG5mdW5jdGlvbiB1bnNoaWZ0IChzZWxmLCBpdGVtKSB7XG4gIHNlbGYuaGVhZCA9IG5ldyBOb2RlKGl0ZW0sIG51bGwsIHNlbGYuaGVhZCwgc2VsZilcbiAgaWYgKCFzZWxmLnRhaWwpIHtcbiAgICBzZWxmLnRhaWwgPSBzZWxmLmhlYWRcbiAgfVxuICBzZWxmLmxlbmd0aCsrXG59XG5cbmZ1bmN0aW9uIE5vZGUgKHZhbHVlLCBwcmV2LCBuZXh0LCBsaXN0KSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBOb2RlKSkge1xuICAgIHJldHVybiBuZXcgTm9kZSh2YWx1ZSwgcHJldiwgbmV4dCwgbGlzdClcbiAgfVxuXG4gIHRoaXMubGlzdCA9IGxpc3RcbiAgdGhpcy52YWx1ZSA9IHZhbHVlXG5cbiAgaWYgKHByZXYpIHtcbiAgICBwcmV2Lm5leHQgPSB0aGlzXG4gICAgdGhpcy5wcmV2ID0gcHJldlxuICB9IGVsc2Uge1xuICAgIHRoaXMucHJldiA9IG51bGxcbiAgfVxuXG4gIGlmIChuZXh0KSB7XG4gICAgbmV4dC5wcmV2ID0gdGhpc1xuICAgIHRoaXMubmV4dCA9IG5leHRcbiAgfSBlbHNlIHtcbiAgICB0aGlzLm5leHQgPSBudWxsXG4gIH1cbn1cblxudHJ5IHtcbiAgLy8gYWRkIGlmIHN1cHBvcnQgZm9yIFN5bWJvbC5pdGVyYXRvciBpcyBwcmVzZW50XG4gIHJlcXVpcmUoJy4vaXRlcmF0b3IuanMnKShZYWxsaXN0KVxufSBjYXRjaCAoZXIpIHt9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/yallist/yallist.js\n")); - -/***/ }), - -/***/ "?f4e8": -/*!************************!*\ - !*** buffer (ignored) ***! - \************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "?2128": -/*!********************************!*\ - !*** ./util.inspect (ignored) ***! - \********************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "?c852": -/*!**********************!*\ - !*** util (ignored) ***! - \**********************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "?8c28": -/*!**********************!*\ - !*** util (ignored) ***! - \**********************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs": -/*!******************************************************************************!*\ - !*** ./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Struct: function() { return /* binding */ Struct; },\n/* harmony export */ StructError: function() { return /* binding */ StructError; },\n/* harmony export */ any: function() { return /* binding */ any; },\n/* harmony export */ array: function() { return /* binding */ array; },\n/* harmony export */ assert: function() { return /* binding */ assert; },\n/* harmony export */ assign: function() { return /* binding */ assign; },\n/* harmony export */ bigint: function() { return /* binding */ bigint; },\n/* harmony export */ boolean: function() { return /* binding */ boolean; },\n/* harmony export */ coerce: function() { return /* binding */ coerce; },\n/* harmony export */ create: function() { return /* binding */ create; },\n/* harmony export */ date: function() { return /* binding */ date; },\n/* harmony export */ defaulted: function() { return /* binding */ defaulted; },\n/* harmony export */ define: function() { return /* binding */ define; },\n/* harmony export */ deprecated: function() { return /* binding */ deprecated; },\n/* harmony export */ dynamic: function() { return /* binding */ dynamic; },\n/* harmony export */ empty: function() { return /* binding */ empty; },\n/* harmony export */ enums: function() { return /* binding */ enums; },\n/* harmony export */ func: function() { return /* binding */ func; },\n/* harmony export */ instance: function() { return /* binding */ instance; },\n/* harmony export */ integer: function() { return /* binding */ integer; },\n/* harmony export */ intersection: function() { return /* binding */ intersection; },\n/* harmony export */ is: function() { return /* binding */ is; },\n/* harmony export */ lazy: function() { return /* binding */ lazy; },\n/* harmony export */ literal: function() { return /* binding */ literal; },\n/* harmony export */ map: function() { return /* binding */ map; },\n/* harmony export */ mask: function() { return /* binding */ mask; },\n/* harmony export */ max: function() { return /* binding */ max; },\n/* harmony export */ min: function() { return /* binding */ min; },\n/* harmony export */ never: function() { return /* binding */ never; },\n/* harmony export */ nonempty: function() { return /* binding */ nonempty; },\n/* harmony export */ nullable: function() { return /* binding */ nullable; },\n/* harmony export */ number: function() { return /* binding */ number; },\n/* harmony export */ object: function() { return /* binding */ object; },\n/* harmony export */ omit: function() { return /* binding */ omit; },\n/* harmony export */ optional: function() { return /* binding */ optional; },\n/* harmony export */ partial: function() { return /* binding */ partial; },\n/* harmony export */ pattern: function() { return /* binding */ pattern; },\n/* harmony export */ pick: function() { return /* binding */ pick; },\n/* harmony export */ record: function() { return /* binding */ record; },\n/* harmony export */ refine: function() { return /* binding */ refine; },\n/* harmony export */ regexp: function() { return /* binding */ regexp; },\n/* harmony export */ set: function() { return /* binding */ set; },\n/* harmony export */ size: function() { return /* binding */ size; },\n/* harmony export */ string: function() { return /* binding */ string; },\n/* harmony export */ struct: function() { return /* binding */ struct; },\n/* harmony export */ trimmed: function() { return /* binding */ trimmed; },\n/* harmony export */ tuple: function() { return /* binding */ tuple; },\n/* harmony export */ type: function() { return /* binding */ type; },\n/* harmony export */ union: function() { return /* binding */ union; },\n/* harmony export */ unknown: function() { return /* binding */ unknown; },\n/* harmony export */ validate: function() { return /* binding */ validate; }\n/* harmony export */ });\n/**\n * A `StructFailure` represents a single specific failure in validation.\n */\n/**\n * `StructError` objects are thrown (or returned) when validation fails.\n *\n * Validation logic is design to exit early for maximum performance. The error\n * represents the first error encountered during validation. For more detail,\n * the `error.failures` property is a generator function that can be run to\n * continue validation and receive all the failures in the data.\n */\nclass StructError extends TypeError {\n constructor(failure, failures) {\n let cached;\n const { message, explanation, ...rest } = failure;\n const { path } = failure;\n const msg = path.length === 0 ? message : `At path: ${path.join('.')} -- ${message}`;\n super(explanation ?? msg);\n if (explanation != null)\n this.cause = msg;\n Object.assign(this, rest);\n this.name = this.constructor.name;\n this.failures = () => {\n return (cached ?? (cached = [failure, ...failures()]));\n };\n }\n}\n\n/**\n * Check if a value is an iterator.\n */\nfunction isIterable(x) {\n return isObject(x) && typeof x[Symbol.iterator] === 'function';\n}\n/**\n * Check if a value is a plain object.\n */\nfunction isObject(x) {\n return typeof x === 'object' && x != null;\n}\n/**\n * Check if a value is a plain object.\n */\nfunction isPlainObject(x) {\n if (Object.prototype.toString.call(x) !== '[object Object]') {\n return false;\n }\n const prototype = Object.getPrototypeOf(x);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Return a value as a printable string.\n */\nfunction print(value) {\n if (typeof value === 'symbol') {\n return value.toString();\n }\n return typeof value === 'string' ? JSON.stringify(value) : `${value}`;\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\nfunction shiftIterator(input) {\n const { done, value } = input.next();\n return done ? undefined : value;\n}\n/**\n * Convert a single validation result to a failure.\n */\nfunction toFailure(result, context, struct, value) {\n if (result === true) {\n return;\n }\n else if (result === false) {\n result = {};\n }\n else if (typeof result === 'string') {\n result = { message: result };\n }\n const { path, branch } = context;\n const { type } = struct;\n const { refinement, message = `Expected a value of type \\`${type}\\`${refinement ? ` with refinement \\`${refinement}\\`` : ''}, but received: \\`${print(value)}\\``, } = result;\n return {\n value,\n type,\n refinement,\n key: path[path.length - 1],\n path,\n branch,\n ...result,\n message,\n };\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\nfunction* toFailures(result, context, struct, value) {\n if (!isIterable(result)) {\n result = [result];\n }\n for (const r of result) {\n const failure = toFailure(r, context, struct, value);\n if (failure) {\n yield failure;\n }\n }\n}\n/**\n * Check a value against a struct, traversing deeply into nested values, and\n * returning an iterator of failures or success.\n */\nfunction* run(value, struct, options = {}) {\n const { path = [], branch = [value], coerce = false, mask = false } = options;\n const ctx = { path, branch };\n if (coerce) {\n value = struct.coercer(value, ctx);\n if (mask &&\n struct.type !== 'type' &&\n isObject(struct.schema) &&\n isObject(value) &&\n !Array.isArray(value)) {\n for (const key in value) {\n if (struct.schema[key] === undefined) {\n delete value[key];\n }\n }\n }\n }\n let status = 'valid';\n for (const failure of struct.validator(value, ctx)) {\n failure.explanation = options.message;\n status = 'not_valid';\n yield [failure, undefined];\n }\n for (let [k, v, s] of struct.entries(value, ctx)) {\n const ts = run(v, s, {\n path: k === undefined ? path : [...path, k],\n branch: k === undefined ? branch : [...branch, v],\n coerce,\n mask,\n message: options.message,\n });\n for (const t of ts) {\n if (t[0]) {\n status = t[0].refinement != null ? 'not_refined' : 'not_valid';\n yield [t[0], undefined];\n }\n else if (coerce) {\n v = t[1];\n if (k === undefined) {\n value = v;\n }\n else if (value instanceof Map) {\n value.set(k, v);\n }\n else if (value instanceof Set) {\n value.add(v);\n }\n else if (isObject(value)) {\n if (v !== undefined || k in value)\n value[k] = v;\n }\n }\n }\n }\n if (status !== 'not_valid') {\n for (const failure of struct.refiner(value, ctx)) {\n failure.explanation = options.message;\n status = 'not_refined';\n yield [failure, undefined];\n }\n }\n if (status === 'valid') {\n yield [undefined, value];\n }\n}\n\n/**\n * `Struct` objects encapsulate the validation logic for a specific type of\n * values. Once constructed, you use the `assert`, `is` or `validate` helpers to\n * validate unknown input data against the struct.\n */\nclass Struct {\n constructor(props) {\n const { type, schema, validator, refiner, coercer = (value) => value, entries = function* () { }, } = props;\n this.type = type;\n this.schema = schema;\n this.entries = entries;\n this.coercer = coercer;\n if (validator) {\n this.validator = (value, context) => {\n const result = validator(value, context);\n return toFailures(result, context, this, value);\n };\n }\n else {\n this.validator = () => [];\n }\n if (refiner) {\n this.refiner = (value, context) => {\n const result = refiner(value, context);\n return toFailures(result, context, this, value);\n };\n }\n else {\n this.refiner = () => [];\n }\n }\n /**\n * Assert that a value passes the struct's validation, throwing if it doesn't.\n */\n assert(value, message) {\n return assert(value, this, message);\n }\n /**\n * Create a value with the struct's coercion logic, then validate it.\n */\n create(value, message) {\n return create(value, this, message);\n }\n /**\n * Check if a value passes the struct's validation.\n */\n is(value) {\n return is(value, this);\n }\n /**\n * Mask a value, coercing and validating it, but returning only the subset of\n * properties defined by the struct's schema.\n */\n mask(value, message) {\n return mask(value, this, message);\n }\n /**\n * Validate a value with the struct's validation logic, returning a tuple\n * representing the result.\n *\n * You may optionally pass `true` for the `withCoercion` argument to coerce\n * the value before attempting to validate it. If you do, the result will\n * contain the coerced result when successful.\n */\n validate(value, options = {}) {\n return validate(value, this, options);\n }\n}\n/**\n * Assert that a value passes a struct, throwing if it doesn't.\n */\nfunction assert(value, struct, message) {\n const result = validate(value, struct, { message });\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Create a value with the coercion logic of struct and validate it.\n */\nfunction create(value, struct, message) {\n const result = validate(value, struct, { coerce: true, message });\n if (result[0]) {\n throw result[0];\n }\n else {\n return result[1];\n }\n}\n/**\n * Mask a value, returning only the subset of properties defined by a struct.\n */\nfunction mask(value, struct, message) {\n const result = validate(value, struct, { coerce: true, mask: true, message });\n if (result[0]) {\n throw result[0];\n }\n else {\n return result[1];\n }\n}\n/**\n * Check if a value passes a struct.\n */\nfunction is(value, struct) {\n const result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a struct, returning an error if invalid, or the\n * value (with potential coercion) if valid.\n */\nfunction validate(value, struct, options = {}) {\n const tuples = run(value, struct, options);\n const tuple = shiftIterator(tuples);\n if (tuple[0]) {\n const error = new StructError(tuple[0], function* () {\n for (const t of tuples) {\n if (t[0]) {\n yield t[0];\n }\n }\n });\n return [error, undefined];\n }\n else {\n const v = tuple[1];\n return [undefined, v];\n }\n}\n\nfunction assign(...Structs) {\n const isType = Structs[0].type === 'type';\n const schemas = Structs.map((s) => s.schema);\n const schema = Object.assign({}, ...schemas);\n return isType ? type(schema) : object(schema);\n}\n/**\n * Define a new struct type with a custom validation function.\n */\nfunction define(name, validator) {\n return new Struct({ type: name, schema: null, validator });\n}\n/**\n * Create a new struct based on an existing struct, but the value is allowed to\n * be `undefined`. `log` will be called if the value is not `undefined`.\n */\nfunction deprecated(struct, log) {\n return new Struct({\n ...struct,\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n validator(value, ctx) {\n if (value === undefined) {\n return true;\n }\n else {\n log(value, ctx);\n return struct.validator(value, ctx);\n }\n },\n });\n}\n/**\n * Create a struct with dynamic validation logic.\n *\n * The callback will receive the value currently being validated, and must\n * return a struct object to validate it with. This can be useful to model\n * validation logic that changes based on its input.\n */\nfunction dynamic(fn) {\n return new Struct({\n type: 'dynamic',\n schema: null,\n *entries(value, ctx) {\n const struct = fn(value, ctx);\n yield* struct.entries(value, ctx);\n },\n validator(value, ctx) {\n const struct = fn(value, ctx);\n return struct.validator(value, ctx);\n },\n coercer(value, ctx) {\n const struct = fn(value, ctx);\n return struct.coercer(value, ctx);\n },\n refiner(value, ctx) {\n const struct = fn(value, ctx);\n return struct.refiner(value, ctx);\n },\n });\n}\n/**\n * Create a struct with lazily evaluated validation logic.\n *\n * The first time validation is run with the struct, the callback will be called\n * and must return a struct object to use. This is useful for cases where you\n * want to have self-referential structs for nested data structures to avoid a\n * circular definition problem.\n */\nfunction lazy(fn) {\n let struct;\n return new Struct({\n type: 'lazy',\n schema: null,\n *entries(value, ctx) {\n struct ?? (struct = fn());\n yield* struct.entries(value, ctx);\n },\n validator(value, ctx) {\n struct ?? (struct = fn());\n return struct.validator(value, ctx);\n },\n coercer(value, ctx) {\n struct ?? (struct = fn());\n return struct.coercer(value, ctx);\n },\n refiner(value, ctx) {\n struct ?? (struct = fn());\n return struct.refiner(value, ctx);\n },\n });\n}\n/**\n * Create a new struct based on an existing object struct, but excluding\n * specific properties.\n *\n * Like TypeScript's `Omit` utility.\n */\nfunction omit(struct, keys) {\n const { schema } = struct;\n const subschema = { ...schema };\n for (const key of keys) {\n delete subschema[key];\n }\n switch (struct.type) {\n case 'type':\n return type(subschema);\n default:\n return object(subschema);\n }\n}\n/**\n * Create a new struct based on an existing object struct, but with all of its\n * properties allowed to be `undefined`.\n *\n * Like TypeScript's `Partial` utility.\n */\nfunction partial(struct) {\n const schema = struct instanceof Struct ? { ...struct.schema } : { ...struct };\n for (const key in schema) {\n schema[key] = optional(schema[key]);\n }\n return object(schema);\n}\n/**\n * Create a new struct based on an existing object struct, but only including\n * specific properties.\n *\n * Like TypeScript's `Pick` utility.\n */\nfunction pick(struct, keys) {\n const { schema } = struct;\n const subschema = {};\n for (const key of keys) {\n subschema[key] = schema[key];\n }\n return object(subschema);\n}\n/**\n * Define a new struct type with a custom validation function.\n *\n * @deprecated This function has been renamed to `define`.\n */\nfunction struct(name, validator) {\n console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.');\n return define(name, validator);\n}\n\n/**\n * Ensure that any value passes validation.\n */\nfunction any() {\n return define('any', () => true);\n}\nfunction array(Element) {\n return new Struct({\n type: 'array',\n schema: Element,\n *entries(value) {\n if (Element && Array.isArray(value)) {\n for (const [i, v] of value.entries()) {\n yield [i, v, Element];\n }\n }\n },\n coercer(value) {\n return Array.isArray(value) ? value.slice() : value;\n },\n validator(value) {\n return (Array.isArray(value) ||\n `Expected an array value, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a bigint.\n */\nfunction bigint() {\n return define('bigint', (value) => {\n return typeof value === 'bigint';\n });\n}\n/**\n * Ensure that a value is a boolean.\n */\nfunction boolean() {\n return define('boolean', (value) => {\n return typeof value === 'boolean';\n });\n}\n/**\n * Ensure that a value is a valid `Date`.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\nfunction date() {\n return define('date', (value) => {\n return ((value instanceof Date && !isNaN(value.getTime())) ||\n `Expected a valid \\`Date\\` object, but received: ${print(value)}`);\n });\n}\nfunction enums(values) {\n const schema = {};\n const description = values.map((v) => print(v)).join();\n for (const key of values) {\n schema[key] = key;\n }\n return new Struct({\n type: 'enums',\n schema,\n validator(value) {\n return (values.includes(value) ||\n `Expected one of \\`${description}\\`, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a function.\n */\nfunction func() {\n return define('func', (value) => {\n return (typeof value === 'function' ||\n `Expected a function, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is an instance of a specific class.\n */\nfunction instance(Class) {\n return define('instance', (value) => {\n return (value instanceof Class ||\n `Expected a \\`${Class.name}\\` instance, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is an integer.\n */\nfunction integer() {\n return define('integer', (value) => {\n return ((typeof value === 'number' && !isNaN(value) && Number.isInteger(value)) ||\n `Expected an integer, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value matches all of a set of types.\n */\nfunction intersection(Structs) {\n return new Struct({\n type: 'intersection',\n schema: null,\n *entries(value, ctx) {\n for (const S of Structs) {\n yield* S.entries(value, ctx);\n }\n },\n *validator(value, ctx) {\n for (const S of Structs) {\n yield* S.validator(value, ctx);\n }\n },\n *refiner(value, ctx) {\n for (const S of Structs) {\n yield* S.refiner(value, ctx);\n }\n },\n });\n}\nfunction literal(constant) {\n const description = print(constant);\n const t = typeof constant;\n return new Struct({\n type: 'literal',\n schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null,\n validator(value) {\n return (value === constant ||\n `Expected the literal \\`${description}\\`, but received: ${print(value)}`);\n },\n });\n}\nfunction map(Key, Value) {\n return new Struct({\n type: 'map',\n schema: null,\n *entries(value) {\n if (Key && Value && value instanceof Map) {\n for (const [k, v] of value.entries()) {\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n coercer(value) {\n return value instanceof Map ? new Map(value) : value;\n },\n validator(value) {\n return (value instanceof Map ||\n `Expected a \\`Map\\` object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that no value ever passes validation.\n */\nfunction never() {\n return define('never', () => false);\n}\n/**\n * Augment an existing struct to allow `null` values.\n */\nfunction nullable(struct) {\n return new Struct({\n ...struct,\n validator: (value, ctx) => value === null || struct.validator(value, ctx),\n refiner: (value, ctx) => value === null || struct.refiner(value, ctx),\n });\n}\n/**\n * Ensure that a value is a number.\n */\nfunction number() {\n return define('number', (value) => {\n return ((typeof value === 'number' && !isNaN(value)) ||\n `Expected a number, but received: ${print(value)}`);\n });\n}\nfunction object(schema) {\n const knowns = schema ? Object.keys(schema) : [];\n const Never = never();\n return new Struct({\n type: 'object',\n schema: schema ? schema : null,\n *entries(value) {\n if (schema && isObject(value)) {\n const unknowns = new Set(Object.keys(value));\n for (const key of knowns) {\n unknowns.delete(key);\n yield [key, value[key], schema[key]];\n }\n for (const key of unknowns) {\n yield [key, value[key], Never];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n coercer(value) {\n return isObject(value) ? { ...value } : value;\n },\n });\n}\n/**\n * Augment a struct to allow `undefined` values.\n */\nfunction optional(struct) {\n return new Struct({\n ...struct,\n validator: (value, ctx) => value === undefined || struct.validator(value, ctx),\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n });\n}\n/**\n * Ensure that a value is an object with keys and values of specific types, but\n * without ensuring any specific shape of properties.\n *\n * Like TypeScript's `Record` utility.\n */\nfunction record(Key, Value) {\n return new Struct({\n type: 'record',\n schema: null,\n *entries(value) {\n if (isObject(value)) {\n for (const k in value) {\n const v = value[k];\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a `RegExp`.\n *\n * Note: this does not test the value against the regular expression! For that\n * you need to use the `pattern()` refinement.\n */\nfunction regexp() {\n return define('regexp', (value) => {\n return value instanceof RegExp;\n });\n}\nfunction set(Element) {\n return new Struct({\n type: 'set',\n schema: null,\n *entries(value) {\n if (Element && value instanceof Set) {\n for (const v of value) {\n yield [v, v, Element];\n }\n }\n },\n coercer(value) {\n return value instanceof Set ? new Set(value) : value;\n },\n validator(value) {\n return (value instanceof Set ||\n `Expected a \\`Set\\` object, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value is a string.\n */\nfunction string() {\n return define('string', (value) => {\n return (typeof value === 'string' ||\n `Expected a string, but received: ${print(value)}`);\n });\n}\n/**\n * Ensure that a value is a tuple of a specific length, and that each of its\n * elements is of a specific type.\n */\nfunction tuple(Structs) {\n const Never = never();\n return new Struct({\n type: 'tuple',\n schema: null,\n *entries(value) {\n if (Array.isArray(value)) {\n const length = Math.max(Structs.length, value.length);\n for (let i = 0; i < length; i++) {\n yield [i, value[i], Structs[i] || Never];\n }\n }\n },\n validator(value) {\n return (Array.isArray(value) ||\n `Expected an array, but received: ${print(value)}`);\n },\n });\n}\n/**\n * Ensure that a value has a set of known properties of specific types.\n *\n * Note: Unrecognized properties are allowed and untouched. This is similar to\n * how TypeScript's structural typing works.\n */\nfunction type(schema) {\n const keys = Object.keys(schema);\n return new Struct({\n type: 'type',\n schema,\n *entries(value) {\n if (isObject(value)) {\n for (const k of keys) {\n yield [k, value[k], schema[k]];\n }\n }\n },\n validator(value) {\n return (isObject(value) || `Expected an object, but received: ${print(value)}`);\n },\n coercer(value) {\n return isObject(value) ? { ...value } : value;\n },\n });\n}\n/**\n * Ensure that a value matches one of a set of types.\n */\nfunction union(Structs) {\n const description = Structs.map((s) => s.type).join(' | ');\n return new Struct({\n type: 'union',\n schema: null,\n coercer(value) {\n for (const S of Structs) {\n const [error, coerced] = S.validate(value, { coerce: true });\n if (!error) {\n return coerced;\n }\n }\n return value;\n },\n validator(value, ctx) {\n const failures = [];\n for (const S of Structs) {\n const [...tuples] = run(value, S, ctx);\n const [first] = tuples;\n if (!first[0]) {\n return [];\n }\n else {\n for (const [failure] of tuples) {\n if (failure) {\n failures.push(failure);\n }\n }\n }\n }\n return [\n `Expected the value to satisfy a union of \\`${description}\\`, but received: ${print(value)}`,\n ...failures,\n ];\n },\n });\n}\n/**\n * Ensure that any value passes validation, without widening its type to `any`.\n */\nfunction unknown() {\n return define('unknown', () => true);\n}\n\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n *\n * This allows you to transform input data before validating it, to increase the\n * likelihood that it passes validation—for example for default values, parsing\n * different formats, etc.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction coerce(struct, condition, coercer) {\n return new Struct({\n ...struct,\n coercer: (value, ctx) => {\n return is(value, condition)\n ? struct.coercer(coercer(value, ctx), ctx)\n : struct.coercer(value, ctx);\n },\n });\n}\n/**\n * Augment a struct to replace `undefined` values with a default.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction defaulted(struct, fallback, options = {}) {\n return coerce(struct, unknown(), (x) => {\n const f = typeof fallback === 'function' ? fallback() : fallback;\n if (x === undefined) {\n return f;\n }\n if (!options.strict && isPlainObject(x) && isPlainObject(f)) {\n const ret = { ...x };\n let changed = false;\n for (const key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n if (changed) {\n return ret;\n }\n }\n return x;\n });\n}\n/**\n * Augment a struct to trim string inputs.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\nfunction trimmed(struct) {\n return coerce(struct, string(), (x) => x.trim());\n}\n\n/**\n * Ensure that a string, array, map, or set is empty.\n */\nfunction empty(struct) {\n return refine(struct, 'empty', (value) => {\n const size = getSize(value);\n return (size === 0 ||\n `Expected an empty ${struct.type} but received one with a size of \\`${size}\\``);\n });\n}\nfunction getSize(value) {\n if (value instanceof Map || value instanceof Set) {\n return value.size;\n }\n else {\n return value.length;\n }\n}\n/**\n * Ensure that a number or date is below a threshold.\n */\nfunction max(struct, threshold, options = {}) {\n const { exclusive } = options;\n return refine(struct, 'max', (value) => {\n return exclusive\n ? value < threshold\n : value <= threshold ||\n `Expected a ${struct.type} less than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a number or date is above a threshold.\n */\nfunction min(struct, threshold, options = {}) {\n const { exclusive } = options;\n return refine(struct, 'min', (value) => {\n return exclusive\n ? value > threshold\n : value >= threshold ||\n `Expected a ${struct.type} greater than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a string, array, map or set is not empty.\n */\nfunction nonempty(struct) {\n return refine(struct, 'nonempty', (value) => {\n const size = getSize(value);\n return (size > 0 || `Expected a nonempty ${struct.type} but received an empty one`);\n });\n}\n/**\n * Ensure that a string matches a regular expression.\n */\nfunction pattern(struct, regexp) {\n return refine(struct, 'pattern', (value) => {\n return (regexp.test(value) ||\n `Expected a ${struct.type} matching \\`/${regexp.source}/\\` but received \"${value}\"`);\n });\n}\n/**\n * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`.\n */\nfunction size(struct, min, max = min) {\n const expected = `Expected a ${struct.type}`;\n const of = min === max ? `of \\`${min}\\`` : `between \\`${min}\\` and \\`${max}\\``;\n return refine(struct, 'size', (value) => {\n if (typeof value === 'number' || value instanceof Date) {\n return ((min <= value && value <= max) ||\n `${expected} ${of} but received \\`${value}\\``);\n }\n else if (value instanceof Map || value instanceof Set) {\n const { size } = value;\n return ((min <= size && size <= max) ||\n `${expected} with a size ${of} but received one with a size of \\`${size}\\``);\n }\n else {\n const { length } = value;\n return ((min <= length && length <= max) ||\n `${expected} with a length ${of} but received one with a length of \\`${length}\\``);\n }\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n *\n * The refiner function is guaranteed to receive a value of the struct's type,\n * because the struct's existing validation will already have passed. This\n * allows you to layer additional validation on top of existing structs.\n */\nfunction refine(struct, name, refiner) {\n return new Struct({\n ...struct,\n *refiner(value, ctx) {\n yield* struct.refiner(value, ctx);\n const result = refiner(value, ctx);\n const failures = toFailures(result, ctx, struct, value);\n for (const failure of failures) {\n yield { ...failure, refinement: name };\n }\n },\n });\n}\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1ldGFtYXNrL3V0aWxzL25vZGVfbW9kdWxlcy9zdXBlcnN0cnVjdC9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGdDQUFnQztBQUNoRCxnQkFBZ0IsT0FBTztBQUN2Qiw4REFBOEQsZ0JBQWdCLEtBQUssUUFBUTtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFLE1BQU07QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxjQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksT0FBTztBQUNuQixZQUFZLG9EQUFvRCxLQUFLLElBQUksbUNBQW1DLFdBQVcsU0FBUyxvQkFBb0IsYUFBYSxPQUFPO0FBQ3hLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekMsWUFBWSw0REFBNEQ7QUFDeEUsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQix3RkFBd0YsSUFBSTtBQUM1RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDLFNBQVM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2Qyx1QkFBdUI7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxtQ0FBbUM7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFDQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFNBQVM7QUFDckIsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsbUJBQW1CLElBQUk7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwwREFBMEQsYUFBYTtBQUN2RSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStELGFBQWE7QUFDNUUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxZQUFZLG9CQUFvQixhQUFhO0FBQ2xGLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsYUFBYTtBQUMvRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsV0FBVyw2QkFBNkIsYUFBYTtBQUNqRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsYUFBYTtBQUMvRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsWUFBWSxvQkFBb0IsYUFBYTtBQUN2RixTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw0REFBNEQsYUFBYTtBQUN6RSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxhQUFhO0FBQzdELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSw0RUFBNEUsYUFBYTtBQUN6RixTQUFTO0FBQ1Q7QUFDQSx1Q0FBdUMsV0FBVztBQUNsRCxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDRFQUE0RSxhQUFhO0FBQ3pGLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7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QUFLO0FBQ3hGO0FBQ0E7QUFDQSxvQkFBb0IsU0FBUztBQUM3QjtBQUNBLG1CQUFtQixVQUFVLGdCQUFnQixJQUFJLHNDQUFzQyxPQUFPO0FBQzlGO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDs7QUFFNlo7QUFDN1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BtZXRhbWFzay91dGlscy9ub2RlX21vZHVsZXMvc3VwZXJzdHJ1Y3QvZGlzdC9pbmRleC5tanM/MjVkNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgYFN0cnVjdEZhaWx1cmVgIHJlcHJlc2VudHMgYSBzaW5nbGUgc3BlY2lmaWMgZmFpbHVyZSBpbiB2YWxpZGF0aW9uLlxuICovXG4vKipcbiAqIGBTdHJ1Y3RFcnJvcmAgb2JqZWN0cyBhcmUgdGhyb3duIChvciByZXR1cm5lZCkgd2hlbiB2YWxpZGF0aW9uIGZhaWxzLlxuICpcbiAqIFZhbGlkYXRpb24gbG9naWMgaXMgZGVzaWduIHRvIGV4aXQgZWFybHkgZm9yIG1heGltdW0gcGVyZm9ybWFuY2UuIFRoZSBlcnJvclxuICogcmVwcmVzZW50cyB0aGUgZmlyc3QgZXJyb3IgZW5jb3VudGVyZWQgZHVyaW5nIHZhbGlkYXRpb24uIEZvciBtb3JlIGRldGFpbCxcbiAqIHRoZSBgZXJyb3IuZmFpbHVyZXNgIHByb3BlcnR5IGlzIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHJ1biB0b1xuICogY29udGludWUgdmFsaWRhdGlvbiBhbmQgcmVjZWl2ZSBhbGwgdGhlIGZhaWx1cmVzIGluIHRoZSBkYXRhLlxuICovXG5jbGFzcyBTdHJ1Y3RFcnJvciBleHRlbmRzIFR5cGVFcnJvciB7XG4gICAgY29uc3RydWN0b3IoZmFpbHVyZSwgZmFpbHVyZXMpIHtcbiAgICAgICAgbGV0IGNhY2hlZDtcbiAgICAgICAgY29uc3QgeyBtZXNzYWdlLCBleHBsYW5hdGlvbiwgLi4ucmVzdCB9ID0gZmFpbHVyZTtcbiAgICAgICAgY29uc3QgeyBwYXRoIH0gPSBmYWlsdXJlO1xuICAgICAgICBjb25zdCBtc2cgPSBwYXRoLmxlbmd0aCA9PT0gMCA/IG1lc3NhZ2UgOiBgQXQgcGF0aDogJHtwYXRoLmpvaW4oJy4nKX0gLS0gJHttZXNzYWdlfWA7XG4gICAgICAgIHN1cGVyKGV4cGxhbmF0aW9uID8/IG1zZyk7XG4gICAgICAgIGlmIChleHBsYW5hdGlvbiAhPSBudWxsKVxuICAgICAgICAgICAgdGhpcy5jYXVzZSA9IG1zZztcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCByZXN0KTtcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgICB0aGlzLmZhaWx1cmVzID0gKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChjYWNoZWQgPz8gKGNhY2hlZCA9IFtmYWlsdXJlLCAuLi5mYWlsdXJlcygpXSkpO1xuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGFuIGl0ZXJhdG9yLlxuICovXG5mdW5jdGlvbiBpc0l0ZXJhYmxlKHgpIHtcbiAgICByZXR1cm4gaXNPYmplY3QoeCkgJiYgdHlwZW9mIHhbU3ltYm9sLml0ZXJhdG9yXSA9PT0gJ2Z1bmN0aW9uJztcbn1cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIHBsYWluIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gaXNPYmplY3QoeCkge1xuICAgIHJldHVybiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgeCAhPSBudWxsO1xufVxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgcGxhaW4gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHgpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgpICE9PSAnW29iamVjdCBPYmplY3RdJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih4KTtcbiAgICByZXR1cm4gcHJvdG90eXBlID09PSBudWxsIHx8IHByb3RvdHlwZSA9PT0gT2JqZWN0LnByb3RvdHlwZTtcbn1cbi8qKlxuICogUmV0dXJuIGEgdmFsdWUgYXMgYSBwcmludGFibGUgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBwcmludCh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzeW1ib2wnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IGAke3ZhbHVlfWA7XG59XG4vKipcbiAqIFNoaWZ0cyAocmVtb3ZlcyBhbmQgcmV0dXJucykgdGhlIGZpcnN0IHZhbHVlIGZyb20gdGhlIGBpbnB1dGAgaXRlcmF0b3IuXG4gKiBMaWtlIGBBcnJheS5wcm90b3R5cGUuc2hpZnQoKWAgYnV0IGZvciBhbiBgSXRlcmF0b3JgLlxuICovXG5mdW5jdGlvbiBzaGlmdEl0ZXJhdG9yKGlucHV0KSB7XG4gICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gaW5wdXQubmV4dCgpO1xuICAgIHJldHVybiBkb25lID8gdW5kZWZpbmVkIDogdmFsdWU7XG59XG4vKipcbiAqIENvbnZlcnQgYSBzaW5nbGUgdmFsaWRhdGlvbiByZXN1bHQgdG8gYSBmYWlsdXJlLlxuICovXG5mdW5jdGlvbiB0b0ZhaWx1cmUocmVzdWx0LCBjb250ZXh0LCBzdHJ1Y3QsIHZhbHVlKSB7XG4gICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsc2UgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmVzdWx0ID0ge307XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlc3VsdCA9IHsgbWVzc2FnZTogcmVzdWx0IH07XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aCwgYnJhbmNoIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gc3RydWN0O1xuICAgIGNvbnN0IHsgcmVmaW5lbWVudCwgbWVzc2FnZSA9IGBFeHBlY3RlZCBhIHZhbHVlIG9mIHR5cGUgXFxgJHt0eXBlfVxcYCR7cmVmaW5lbWVudCA/IGAgd2l0aCByZWZpbmVtZW50IFxcYCR7cmVmaW5lbWVudH1cXGBgIDogJyd9LCBidXQgcmVjZWl2ZWQ6IFxcYCR7cHJpbnQodmFsdWUpfVxcYGAsIH0gPSByZXN1bHQ7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHJlZmluZW1lbnQsXG4gICAgICAgIGtleTogcGF0aFtwYXRoLmxlbmd0aCAtIDFdLFxuICAgICAgICBwYXRoLFxuICAgICAgICBicmFuY2gsXG4gICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICB9O1xufVxuLyoqXG4gKiBDb252ZXJ0IGEgdmFsaWRhdGlvbiByZXN1bHQgdG8gYW4gaXRlcmFibGUgb2YgZmFpbHVyZXMuXG4gKi9cbmZ1bmN0aW9uKiB0b0ZhaWx1cmVzKHJlc3VsdCwgY29udGV4dCwgc3RydWN0LCB2YWx1ZSkge1xuICAgIGlmICghaXNJdGVyYWJsZShyZXN1bHQpKSB7XG4gICAgICAgIHJlc3VsdCA9IFtyZXN1bHRdO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHIgb2YgcmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IGZhaWx1cmUgPSB0b0ZhaWx1cmUociwgY29udGV4dCwgc3RydWN0LCB2YWx1ZSk7XG4gICAgICAgIGlmIChmYWlsdXJlKSB7XG4gICAgICAgICAgICB5aWVsZCBmYWlsdXJlO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBDaGVjayBhIHZhbHVlIGFnYWluc3QgYSBzdHJ1Y3QsIHRyYXZlcnNpbmcgZGVlcGx5IGludG8gbmVzdGVkIHZhbHVlcywgYW5kXG4gKiByZXR1cm5pbmcgYW4gaXRlcmF0b3Igb2YgZmFpbHVyZXMgb3Igc3VjY2Vzcy5cbiAqL1xuZnVuY3Rpb24qIHJ1bih2YWx1ZSwgc3RydWN0LCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB7IHBhdGggPSBbXSwgYnJhbmNoID0gW3ZhbHVlXSwgY29lcmNlID0gZmFsc2UsIG1hc2sgPSBmYWxzZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBjdHggPSB7IHBhdGgsIGJyYW5jaCB9O1xuICAgIGlmIChjb2VyY2UpIHtcbiAgICAgICAgdmFsdWUgPSBzdHJ1Y3QuY29lcmNlcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgaWYgKG1hc2sgJiZcbiAgICAgICAgICAgIHN0cnVjdC50eXBlICE9PSAndHlwZScgJiZcbiAgICAgICAgICAgIGlzT2JqZWN0KHN0cnVjdC5zY2hlbWEpICYmXG4gICAgICAgICAgICBpc09iamVjdCh2YWx1ZSkgJiZcbiAgICAgICAgICAgICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RydWN0LnNjaGVtYVtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZhbHVlW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxldCBzdGF0dXMgPSAndmFsaWQnO1xuICAgIGZvciAoY29uc3QgZmFpbHVyZSBvZiBzdHJ1Y3QudmFsaWRhdG9yKHZhbHVlLCBjdHgpKSB7XG4gICAgICAgIGZhaWx1cmUuZXhwbGFuYXRpb24gPSBvcHRpb25zLm1lc3NhZ2U7XG4gICAgICAgIHN0YXR1cyA9ICdub3RfdmFsaWQnO1xuICAgICAgICB5aWVsZCBbZmFpbHVyZSwgdW5kZWZpbmVkXTtcbiAgICB9XG4gICAgZm9yIChsZXQgW2ssIHYsIHNdIG9mIHN0cnVjdC5lbnRyaWVzKHZhbHVlLCBjdHgpKSB7XG4gICAgICAgIGNvbnN0IHRzID0gcnVuKHYsIHMsIHtcbiAgICAgICAgICAgIHBhdGg6IGsgPT09IHVuZGVmaW5lZCA/IHBhdGggOiBbLi4ucGF0aCwga10sXG4gICAgICAgICAgICBicmFuY2g6IGsgPT09IHVuZGVmaW5lZCA/IGJyYW5jaCA6IFsuLi5icmFuY2gsIHZdLFxuICAgICAgICAgICAgY29lcmNlLFxuICAgICAgICAgICAgbWFzayxcbiAgICAgICAgICAgIG1lc3NhZ2U6IG9wdGlvbnMubWVzc2FnZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGZvciAoY29uc3QgdCBvZiB0cykge1xuICAgICAgICAgICAgaWYgKHRbMF0pIHtcbiAgICAgICAgICAgICAgICBzdGF0dXMgPSB0WzBdLnJlZmluZW1lbnQgIT0gbnVsbCA/ICdub3RfcmVmaW5lZCcgOiAnbm90X3ZhbGlkJztcbiAgICAgICAgICAgICAgICB5aWVsZCBbdFswXSwgdW5kZWZpbmVkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNvZXJjZSkge1xuICAgICAgICAgICAgICAgIHYgPSB0WzFdO1xuICAgICAgICAgICAgICAgIGlmIChrID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5zZXQoaywgdik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmFkZCh2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZmluZWQgfHwgayBpbiB2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlW2tdID0gdjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHN0YXR1cyAhPT0gJ25vdF92YWxpZCcpIHtcbiAgICAgICAgZm9yIChjb25zdCBmYWlsdXJlIG9mIHN0cnVjdC5yZWZpbmVyKHZhbHVlLCBjdHgpKSB7XG4gICAgICAgICAgICBmYWlsdXJlLmV4cGxhbmF0aW9uID0gb3B0aW9ucy5tZXNzYWdlO1xuICAgICAgICAgICAgc3RhdHVzID0gJ25vdF9yZWZpbmVkJztcbiAgICAgICAgICAgIHlpZWxkIFtmYWlsdXJlLCB1bmRlZmluZWRdO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09ICd2YWxpZCcpIHtcbiAgICAgICAgeWllbGQgW3VuZGVmaW5lZCwgdmFsdWVdO1xuICAgIH1cbn1cblxuLyoqXG4gKiBgU3RydWN0YCBvYmplY3RzIGVuY2Fwc3VsYXRlIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIGZvciBhIHNwZWNpZmljIHR5cGUgb2ZcbiAqIHZhbHVlcy4gT25jZSBjb25zdHJ1Y3RlZCwgeW91IHVzZSB0aGUgYGFzc2VydGAsIGBpc2Agb3IgYHZhbGlkYXRlYCBoZWxwZXJzIHRvXG4gKiB2YWxpZGF0ZSB1bmtub3duIGlucHV0IGRhdGEgYWdhaW5zdCB0aGUgc3RydWN0LlxuICovXG5jbGFzcyBTdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSwgc2NoZW1hLCB2YWxpZGF0b3IsIHJlZmluZXIsIGNvZXJjZXIgPSAodmFsdWUpID0+IHZhbHVlLCBlbnRyaWVzID0gZnVuY3Rpb24qICgpIHsgfSwgfSA9IHByb3BzO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gZW50cmllcztcbiAgICAgICAgdGhpcy5jb2VyY2VyID0gY29lcmNlcjtcbiAgICAgICAgaWYgKHZhbGlkYXRvcikge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3IgPSAodmFsdWUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB2YWxpZGF0b3IodmFsdWUsIGNvbnRleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b0ZhaWx1cmVzKHJlc3VsdCwgY29udGV4dCwgdGhpcywgdmFsdWUpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yID0gKCkgPT4gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlZmluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVmaW5lciA9ICh2YWx1ZSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlZmluZXIodmFsdWUsIGNvbnRleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b0ZhaWx1cmVzKHJlc3VsdCwgY29udGV4dCwgdGhpcywgdmFsdWUpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVmaW5lciA9ICgpID0+IFtdO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFzc2VydCB0aGF0IGEgdmFsdWUgcGFzc2VzIHRoZSBzdHJ1Y3QncyB2YWxpZGF0aW9uLCB0aHJvd2luZyBpZiBpdCBkb2Vzbid0LlxuICAgICAqL1xuICAgIGFzc2VydCh2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gYXNzZXJ0KHZhbHVlLCB0aGlzLCBtZXNzYWdlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgdmFsdWUgd2l0aCB0aGUgc3RydWN0J3MgY29lcmNpb24gbG9naWMsIHRoZW4gdmFsaWRhdGUgaXQuXG4gICAgICovXG4gICAgY3JlYXRlKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGUodmFsdWUsIHRoaXMsIG1lc3NhZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhIHZhbHVlIHBhc3NlcyB0aGUgc3RydWN0J3MgdmFsaWRhdGlvbi5cbiAgICAgKi9cbiAgICBpcyh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXModmFsdWUsIHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNYXNrIGEgdmFsdWUsIGNvZXJjaW5nIGFuZCB2YWxpZGF0aW5nIGl0LCBidXQgcmV0dXJuaW5nIG9ubHkgdGhlIHN1YnNldCBvZlxuICAgICAqIHByb3BlcnRpZXMgZGVmaW5lZCBieSB0aGUgc3RydWN0J3Mgc2NoZW1hLlxuICAgICAqL1xuICAgIG1hc2sodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG1hc2sodmFsdWUsIHRoaXMsIG1lc3NhZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZSBhIHZhbHVlIHdpdGggdGhlIHN0cnVjdCdzIHZhbGlkYXRpb24gbG9naWMsIHJldHVybmluZyBhIHR1cGxlXG4gICAgICogcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuXG4gICAgICpcbiAgICAgKiBZb3UgbWF5IG9wdGlvbmFsbHkgcGFzcyBgdHJ1ZWAgZm9yIHRoZSBgd2l0aENvZXJjaW9uYCBhcmd1bWVudCB0byBjb2VyY2VcbiAgICAgKiB0aGUgdmFsdWUgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdmFsaWRhdGUgaXQuIElmIHlvdSBkbywgdGhlIHJlc3VsdCB3aWxsXG4gICAgICogY29udGFpbiB0aGUgY29lcmNlZCByZXN1bHQgd2hlbiBzdWNjZXNzZnVsLlxuICAgICAqL1xuICAgIHZhbGlkYXRlKHZhbHVlLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlKHZhbHVlLCB0aGlzLCBvcHRpb25zKTtcbiAgICB9XG59XG4vKipcbiAqIEFzc2VydCB0aGF0IGEgdmFsdWUgcGFzc2VzIGEgc3RydWN0LCB0aHJvd2luZyBpZiBpdCBkb2Vzbid0LlxuICovXG5mdW5jdGlvbiBhc3NlcnQodmFsdWUsIHN0cnVjdCwgbWVzc2FnZSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHZhbGlkYXRlKHZhbHVlLCBzdHJ1Y3QsIHsgbWVzc2FnZSB9KTtcbiAgICBpZiAocmVzdWx0WzBdKSB7XG4gICAgICAgIHRocm93IHJlc3VsdFswXTtcbiAgICB9XG59XG4vKipcbiAqIENyZWF0ZSBhIHZhbHVlIHdpdGggdGhlIGNvZXJjaW9uIGxvZ2ljIG9mIHN0cnVjdCBhbmQgdmFsaWRhdGUgaXQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZSh2YWx1ZSwgc3RydWN0LCBtZXNzYWdlKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdmFsaWRhdGUodmFsdWUsIHN0cnVjdCwgeyBjb2VyY2U6IHRydWUsIG1lc3NhZ2UgfSk7XG4gICAgaWYgKHJlc3VsdFswXSkge1xuICAgICAgICB0aHJvdyByZXN1bHRbMF07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzFdO1xuICAgIH1cbn1cbi8qKlxuICogTWFzayBhIHZhbHVlLCByZXR1cm5pbmcgb25seSB0aGUgc3Vic2V0IG9mIHByb3BlcnRpZXMgZGVmaW5lZCBieSBhIHN0cnVjdC5cbiAqL1xuZnVuY3Rpb24gbWFzayh2YWx1ZSwgc3RydWN0LCBtZXNzYWdlKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdmFsaWRhdGUodmFsdWUsIHN0cnVjdCwgeyBjb2VyY2U6IHRydWUsIG1hc2s6IHRydWUsIG1lc3NhZ2UgfSk7XG4gICAgaWYgKHJlc3VsdFswXSkge1xuICAgICAgICB0aHJvdyByZXN1bHRbMF07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzFdO1xuICAgIH1cbn1cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBwYXNzZXMgYSBzdHJ1Y3QuXG4gKi9cbmZ1bmN0aW9uIGlzKHZhbHVlLCBzdHJ1Y3QpIHtcbiAgICBjb25zdCByZXN1bHQgPSB2YWxpZGF0ZSh2YWx1ZSwgc3RydWN0KTtcbiAgICByZXR1cm4gIXJlc3VsdFswXTtcbn1cbi8qKlxuICogVmFsaWRhdGUgYSB2YWx1ZSBhZ2FpbnN0IGEgc3RydWN0LCByZXR1cm5pbmcgYW4gZXJyb3IgaWYgaW52YWxpZCwgb3IgdGhlXG4gKiB2YWx1ZSAod2l0aCBwb3RlbnRpYWwgY29lcmNpb24pIGlmIHZhbGlkLlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZSh2YWx1ZSwgc3RydWN0LCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB0dXBsZXMgPSBydW4odmFsdWUsIHN0cnVjdCwgb3B0aW9ucyk7XG4gICAgY29uc3QgdHVwbGUgPSBzaGlmdEl0ZXJhdG9yKHR1cGxlcyk7XG4gICAgaWYgKHR1cGxlWzBdKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IFN0cnVjdEVycm9yKHR1cGxlWzBdLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0IG9mIHR1cGxlcykge1xuICAgICAgICAgICAgICAgIGlmICh0WzBdKSB7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHRbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtlcnJvciwgdW5kZWZpbmVkXTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IHYgPSB0dXBsZVsxXTtcbiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWQsIHZdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYXNzaWduKC4uLlN0cnVjdHMpIHtcbiAgICBjb25zdCBpc1R5cGUgPSBTdHJ1Y3RzWzBdLnR5cGUgPT09ICd0eXBlJztcbiAgICBjb25zdCBzY2hlbWFzID0gU3RydWN0cy5tYXAoKHMpID0+IHMuc2NoZW1hKTtcbiAgICBjb25zdCBzY2hlbWEgPSBPYmplY3QuYXNzaWduKHt9LCAuLi5zY2hlbWFzKTtcbiAgICByZXR1cm4gaXNUeXBlID8gdHlwZShzY2hlbWEpIDogb2JqZWN0KHNjaGVtYSk7XG59XG4vKipcbiAqIERlZmluZSBhIG5ldyBzdHJ1Y3QgdHlwZSB3aXRoIGEgY3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGRlZmluZShuYW1lLCB2YWxpZGF0b3IpIHtcbiAgICByZXR1cm4gbmV3IFN0cnVjdCh7IHR5cGU6IG5hbWUsIHNjaGVtYTogbnVsbCwgdmFsaWRhdG9yIH0pO1xufVxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgc3RydWN0IGJhc2VkIG9uIGFuIGV4aXN0aW5nIHN0cnVjdCwgYnV0IHRoZSB2YWx1ZSBpcyBhbGxvd2VkIHRvXG4gKiBiZSBgdW5kZWZpbmVkYC4gYGxvZ2Agd2lsbCBiZSBjYWxsZWQgaWYgdGhlIHZhbHVlIGlzIG5vdCBgdW5kZWZpbmVkYC5cbiAqL1xuZnVuY3Rpb24gZGVwcmVjYXRlZChzdHJ1Y3QsIGxvZykge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgLi4uc3RydWN0LFxuICAgICAgICByZWZpbmVyOiAodmFsdWUsIGN0eCkgPT4gdmFsdWUgPT09IHVuZGVmaW5lZCB8fCBzdHJ1Y3QucmVmaW5lcih2YWx1ZSwgY3R4KSxcbiAgICAgICAgdmFsaWRhdG9yKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsb2codmFsdWUsIGN0eCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0cnVjdC52YWxpZGF0b3IodmFsdWUsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4vKipcbiAqIENyZWF0ZSBhIHN0cnVjdCB3aXRoIGR5bmFtaWMgdmFsaWRhdGlvbiBsb2dpYy5cbiAqXG4gKiBUaGUgY2FsbGJhY2sgd2lsbCByZWNlaXZlIHRoZSB2YWx1ZSBjdXJyZW50bHkgYmVpbmcgdmFsaWRhdGVkLCBhbmQgbXVzdFxuICogcmV0dXJuIGEgc3RydWN0IG9iamVjdCB0byB2YWxpZGF0ZSBpdCB3aXRoLiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gbW9kZWxcbiAqIHZhbGlkYXRpb24gbG9naWMgdGhhdCBjaGFuZ2VzIGJhc2VkIG9uIGl0cyBpbnB1dC5cbiAqL1xuZnVuY3Rpb24gZHluYW1pYyhmbikge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ2R5bmFtaWMnLFxuICAgICAgICBzY2hlbWE6IG51bGwsXG4gICAgICAgICplbnRyaWVzKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0cnVjdCA9IGZuKHZhbHVlLCBjdHgpO1xuICAgICAgICAgICAgeWllbGQqIHN0cnVjdC5lbnRyaWVzKHZhbHVlLCBjdHgpO1xuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3IodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgY29uc3Qgc3RydWN0ID0gZm4odmFsdWUsIGN0eCk7XG4gICAgICAgICAgICByZXR1cm4gc3RydWN0LnZhbGlkYXRvcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgfSxcbiAgICAgICAgY29lcmNlcih2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBjb25zdCBzdHJ1Y3QgPSBmbih2YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIHJldHVybiBzdHJ1Y3QuY29lcmNlcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVmaW5lcih2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBjb25zdCBzdHJ1Y3QgPSBmbih2YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIHJldHVybiBzdHJ1Y3QucmVmaW5lcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cbi8qKlxuICogQ3JlYXRlIGEgc3RydWN0IHdpdGggbGF6aWx5IGV2YWx1YXRlZCB2YWxpZGF0aW9uIGxvZ2ljLlxuICpcbiAqIFRoZSBmaXJzdCB0aW1lIHZhbGlkYXRpb24gaXMgcnVuIHdpdGggdGhlIHN0cnVjdCwgdGhlIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkXG4gKiBhbmQgbXVzdCByZXR1cm4gYSBzdHJ1Y3Qgb2JqZWN0IHRvIHVzZS4gVGhpcyBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHlvdVxuICogd2FudCB0byBoYXZlIHNlbGYtcmVmZXJlbnRpYWwgc3RydWN0cyBmb3IgbmVzdGVkIGRhdGEgc3RydWN0dXJlcyB0byBhdm9pZCBhXG4gKiBjaXJjdWxhciBkZWZpbml0aW9uIHByb2JsZW0uXG4gKi9cbmZ1bmN0aW9uIGxhenkoZm4pIHtcbiAgICBsZXQgc3RydWN0O1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ2xhenknLFxuICAgICAgICBzY2hlbWE6IG51bGwsXG4gICAgICAgICplbnRyaWVzKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHN0cnVjdCA/PyAoc3RydWN0ID0gZm4oKSk7XG4gICAgICAgICAgICB5aWVsZCogc3RydWN0LmVudHJpZXModmFsdWUsIGN0eCk7XG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRvcih2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBzdHJ1Y3QgPz8gKHN0cnVjdCA9IGZuKCkpO1xuICAgICAgICAgICAgcmV0dXJuIHN0cnVjdC52YWxpZGF0b3IodmFsdWUsIGN0eCk7XG4gICAgICAgIH0sXG4gICAgICAgIGNvZXJjZXIodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgc3RydWN0ID8/IChzdHJ1Y3QgPSBmbigpKTtcbiAgICAgICAgICAgIHJldHVybiBzdHJ1Y3QuY29lcmNlcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVmaW5lcih2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBzdHJ1Y3QgPz8gKHN0cnVjdCA9IGZuKCkpO1xuICAgICAgICAgICAgcmV0dXJuIHN0cnVjdC5yZWZpbmVyKHZhbHVlLCBjdHgpO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgc3RydWN0IGJhc2VkIG9uIGFuIGV4aXN0aW5nIG9iamVjdCBzdHJ1Y3QsIGJ1dCBleGNsdWRpbmdcbiAqIHNwZWNpZmljIHByb3BlcnRpZXMuXG4gKlxuICogTGlrZSBUeXBlU2NyaXB0J3MgYE9taXRgIHV0aWxpdHkuXG4gKi9cbmZ1bmN0aW9uIG9taXQoc3RydWN0LCBrZXlzKSB7XG4gICAgY29uc3QgeyBzY2hlbWEgfSA9IHN0cnVjdDtcbiAgICBjb25zdCBzdWJzY2hlbWEgPSB7IC4uLnNjaGVtYSB9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgZGVsZXRlIHN1YnNjaGVtYVtrZXldO1xuICAgIH1cbiAgICBzd2l0Y2ggKHN0cnVjdC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ3R5cGUnOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGUoc3Vic2NoZW1hKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBvYmplY3Qoc3Vic2NoZW1hKTtcbiAgICB9XG59XG4vKipcbiAqIENyZWF0ZSBhIG5ldyBzdHJ1Y3QgYmFzZWQgb24gYW4gZXhpc3Rpbmcgb2JqZWN0IHN0cnVjdCwgYnV0IHdpdGggYWxsIG9mIGl0c1xuICogcHJvcGVydGllcyBhbGxvd2VkIHRvIGJlIGB1bmRlZmluZWRgLlxuICpcbiAqIExpa2UgVHlwZVNjcmlwdCdzIGBQYXJ0aWFsYCB1dGlsaXR5LlxuICovXG5mdW5jdGlvbiBwYXJ0aWFsKHN0cnVjdCkge1xuICAgIGNvbnN0IHNjaGVtYSA9IHN0cnVjdCBpbnN0YW5jZW9mIFN0cnVjdCA/IHsgLi4uc3RydWN0LnNjaGVtYSB9IDogeyAuLi5zdHJ1Y3QgfTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzY2hlbWEpIHtcbiAgICAgICAgc2NoZW1hW2tleV0gPSBvcHRpb25hbChzY2hlbWFba2V5XSk7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3Qoc2NoZW1hKTtcbn1cbi8qKlxuICogQ3JlYXRlIGEgbmV3IHN0cnVjdCBiYXNlZCBvbiBhbiBleGlzdGluZyBvYmplY3Qgc3RydWN0LCBidXQgb25seSBpbmNsdWRpbmdcbiAqIHNwZWNpZmljIHByb3BlcnRpZXMuXG4gKlxuICogTGlrZSBUeXBlU2NyaXB0J3MgYFBpY2tgIHV0aWxpdHkuXG4gKi9cbmZ1bmN0aW9uIHBpY2soc3RydWN0LCBrZXlzKSB7XG4gICAgY29uc3QgeyBzY2hlbWEgfSA9IHN0cnVjdDtcbiAgICBjb25zdCBzdWJzY2hlbWEgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgIHN1YnNjaGVtYVtrZXldID0gc2NoZW1hW2tleV07XG4gICAgfVxuICAgIHJldHVybiBvYmplY3Qoc3Vic2NoZW1hKTtcbn1cbi8qKlxuICogRGVmaW5lIGEgbmV3IHN0cnVjdCB0eXBlIHdpdGggYSBjdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbi5cbiAqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGRlZmluZWAuXG4gKi9cbmZ1bmN0aW9uIHN0cnVjdChuYW1lLCB2YWxpZGF0b3IpIHtcbiAgICBjb25zb2xlLndhcm4oJ3N1cGVyc3RydWN0QDAuMTEgLSBUaGUgYHN0cnVjdGAgaGVscGVyIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGRlZmluZWAuJyk7XG4gICAgcmV0dXJuIGRlZmluZShuYW1lLCB2YWxpZGF0b3IpO1xufVxuXG4vKipcbiAqIEVuc3VyZSB0aGF0IGFueSB2YWx1ZSBwYXNzZXMgdmFsaWRhdGlvbi5cbiAqL1xuZnVuY3Rpb24gYW55KCkge1xuICAgIHJldHVybiBkZWZpbmUoJ2FueScsICgpID0+IHRydWUpO1xufVxuZnVuY3Rpb24gYXJyYXkoRWxlbWVudCkge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgc2NoZW1hOiBFbGVtZW50LFxuICAgICAgICAqZW50cmllcyh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKEVsZW1lbnQgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtpLCB2XSBvZiB2YWx1ZS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgW2ksIHYsIEVsZW1lbnRdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29lcmNlcih2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuc2xpY2UoKSA6IHZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgYW4gYXJyYXkgdmFsdWUsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgdmFsdWUgaXMgYSBiaWdpbnQuXG4gKi9cbmZ1bmN0aW9uIGJpZ2ludCgpIHtcbiAgICByZXR1cm4gZGVmaW5lKCdiaWdpbnQnLCAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCc7XG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgdmFsdWUgaXMgYSBib29sZWFuLlxuICovXG5mdW5jdGlvbiBib29sZWFuKCkge1xuICAgIHJldHVybiBkZWZpbmUoJ2Jvb2xlYW4nLCAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIGlzIGEgdmFsaWQgYERhdGVgLlxuICpcbiAqIE5vdGU6IHRoaXMgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIHZhbHVlIGlzICpub3QqIGFuIGludmFsaWQgYERhdGVgIG9iamVjdCxcbiAqIHdoaWNoIGNhbiBvY2N1ciB3aGVuIHBhcnNpbmcgYSBkYXRlIGZhaWxzIGJ1dCBzdGlsbCByZXR1cm5zIGEgYERhdGVgLlxuICovXG5mdW5jdGlvbiBkYXRlKCkge1xuICAgIHJldHVybiBkZWZpbmUoJ2RhdGUnLCAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuICgodmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTih2YWx1ZS5nZXRUaW1lKCkpKSB8fFxuICAgICAgICAgICAgYEV4cGVjdGVkIGEgdmFsaWQgXFxgRGF0ZVxcYCBvYmplY3QsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBlbnVtcyh2YWx1ZXMpIHtcbiAgICBjb25zdCBzY2hlbWEgPSB7fTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHZhbHVlcy5tYXAoKHYpID0+IHByaW50KHYpKS5qb2luKCk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdmFsdWVzKSB7XG4gICAgICAgIHNjaGVtYVtrZXldID0ga2V5O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFN0cnVjdCh7XG4gICAgICAgIHR5cGU6ICdlbnVtcycsXG4gICAgICAgIHNjaGVtYSxcbiAgICAgICAgdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgb25lIG9mIFxcYCR7ZGVzY3JpcHRpb259XFxgLCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIGlzIGEgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGZ1bmMoKSB7XG4gICAgcmV0dXJuIGRlZmluZSgnZnVuYycsICh2YWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgYEV4cGVjdGVkIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgYSBzcGVjaWZpYyBjbGFzcy5cbiAqL1xuZnVuY3Rpb24gaW5zdGFuY2UoQ2xhc3MpIHtcbiAgICByZXR1cm4gZGVmaW5lKCdpbnN0YW5jZScsICh2YWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gKHZhbHVlIGluc3RhbmNlb2YgQ2xhc3MgfHxcbiAgICAgICAgICAgIGBFeHBlY3RlZCBhIFxcYCR7Q2xhc3MubmFtZX1cXGAgaW5zdGFuY2UsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgdmFsdWUgaXMgYW4gaW50ZWdlci5cbiAqL1xuZnVuY3Rpb24gaW50ZWdlcigpIHtcbiAgICByZXR1cm4gZGVmaW5lKCdpbnRlZ2VyJywgKHZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiAoKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbHVlKSAmJiBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSkgfHxcbiAgICAgICAgICAgIGBFeHBlY3RlZCBhbiBpbnRlZ2VyLCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIG1hdGNoZXMgYWxsIG9mIGEgc2V0IG9mIHR5cGVzLlxuICovXG5mdW5jdGlvbiBpbnRlcnNlY3Rpb24oU3RydWN0cykge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ2ludGVyc2VjdGlvbicsXG4gICAgICAgIHNjaGVtYTogbnVsbCxcbiAgICAgICAgKmVudHJpZXModmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBTIG9mIFN0cnVjdHMpIHtcbiAgICAgICAgICAgICAgICB5aWVsZCogUy5lbnRyaWVzKHZhbHVlLCBjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAqdmFsaWRhdG9yKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgUyBvZiBTdHJ1Y3RzKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIFMudmFsaWRhdG9yKHZhbHVlLCBjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAqcmVmaW5lcih2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFMgb2YgU3RydWN0cykge1xuICAgICAgICAgICAgICAgIHlpZWxkKiBTLnJlZmluZXIodmFsdWUsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5mdW5jdGlvbiBsaXRlcmFsKGNvbnN0YW50KSB7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBwcmludChjb25zdGFudCk7XG4gICAgY29uc3QgdCA9IHR5cGVvZiBjb25zdGFudDtcbiAgICByZXR1cm4gbmV3IFN0cnVjdCh7XG4gICAgICAgIHR5cGU6ICdsaXRlcmFsJyxcbiAgICAgICAgc2NoZW1hOiB0ID09PSAnc3RyaW5nJyB8fCB0ID09PSAnbnVtYmVyJyB8fCB0ID09PSAnYm9vbGVhbicgPyBjb25zdGFudCA6IG51bGwsXG4gICAgICAgIHZhbGlkYXRvcih2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSA9PT0gY29uc3RhbnQgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgdGhlIGxpdGVyYWwgXFxgJHtkZXNjcmlwdGlvbn1cXGAsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5mdW5jdGlvbiBtYXAoS2V5LCBWYWx1ZSkge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ21hcCcsXG4gICAgICAgIHNjaGVtYTogbnVsbCxcbiAgICAgICAgKmVudHJpZXModmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChLZXkgJiYgVmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiB2YWx1ZS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgW2ssIGssIEtleV07XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIFtrLCB2LCBWYWx1ZV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb2VyY2VyKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBNYXAgPyBuZXcgTWFwKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWUgaW5zdGFuY2VvZiBNYXAgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgYSBcXGBNYXBcXGAgb2JqZWN0LCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBubyB2YWx1ZSBldmVyIHBhc3NlcyB2YWxpZGF0aW9uLlxuICovXG5mdW5jdGlvbiBuZXZlcigpIHtcbiAgICByZXR1cm4gZGVmaW5lKCduZXZlcicsICgpID0+IGZhbHNlKTtcbn1cbi8qKlxuICogQXVnbWVudCBhbiBleGlzdGluZyBzdHJ1Y3QgdG8gYWxsb3cgYG51bGxgIHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gbnVsbGFibGUoc3RydWN0KSB7XG4gICAgcmV0dXJuIG5ldyBTdHJ1Y3Qoe1xuICAgICAgICAuLi5zdHJ1Y3QsXG4gICAgICAgIHZhbGlkYXRvcjogKHZhbHVlLCBjdHgpID0+IHZhbHVlID09PSBudWxsIHx8IHN0cnVjdC52YWxpZGF0b3IodmFsdWUsIGN0eCksXG4gICAgICAgIHJlZmluZXI6ICh2YWx1ZSwgY3R4KSA9PiB2YWx1ZSA9PT0gbnVsbCB8fCBzdHJ1Y3QucmVmaW5lcih2YWx1ZSwgY3R4KSxcbiAgICB9KTtcbn1cbi8qKlxuICogRW5zdXJlIHRoYXQgYSB2YWx1ZSBpcyBhIG51bWJlci5cbiAqL1xuZnVuY3Rpb24gbnVtYmVyKCkge1xuICAgIHJldHVybiBkZWZpbmUoJ251bWJlcicsICh2YWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gKCh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmICFpc05hTih2YWx1ZSkpIHx8XG4gICAgICAgICAgICBgRXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBvYmplY3Qoc2NoZW1hKSB7XG4gICAgY29uc3Qga25vd25zID0gc2NoZW1hID8gT2JqZWN0LmtleXMoc2NoZW1hKSA6IFtdO1xuICAgIGNvbnN0IE5ldmVyID0gbmV2ZXIoKTtcbiAgICByZXR1cm4gbmV3IFN0cnVjdCh7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBzY2hlbWE6IHNjaGVtYSA/IHNjaGVtYSA6IG51bGwsXG4gICAgICAgICplbnRyaWVzKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoc2NoZW1hICYmIGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVua25vd25zID0gbmV3IFNldChPYmplY3Qua2V5cyh2YWx1ZSkpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtub3ducykge1xuICAgICAgICAgICAgICAgICAgICB1bmtub3ducy5kZWxldGUoa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgW2tleSwgdmFsdWVba2V5XSwgc2NoZW1hW2tleV1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB1bmtub3ducykge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBba2V5LCB2YWx1ZVtrZXldLCBOZXZlcl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAoaXNPYmplY3QodmFsdWUpIHx8IGBFeHBlY3RlZCBhbiBvYmplY3QsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgICAgIH0sXG4gICAgICAgIGNvZXJjZXIodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBpc09iamVjdCh2YWx1ZSkgPyB7IC4uLnZhbHVlIH0gOiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cbi8qKlxuICogQXVnbWVudCBhIHN0cnVjdCB0byBhbGxvdyBgdW5kZWZpbmVkYCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIG9wdGlvbmFsKHN0cnVjdCkge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgLi4uc3RydWN0LFxuICAgICAgICB2YWxpZGF0b3I6ICh2YWx1ZSwgY3R4KSA9PiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cnVjdC52YWxpZGF0b3IodmFsdWUsIGN0eCksXG4gICAgICAgIHJlZmluZXI6ICh2YWx1ZSwgY3R4KSA9PiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cnVjdC5yZWZpbmVyKHZhbHVlLCBjdHgpLFxuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIGlzIGFuIG9iamVjdCB3aXRoIGtleXMgYW5kIHZhbHVlcyBvZiBzcGVjaWZpYyB0eXBlcywgYnV0XG4gKiB3aXRob3V0IGVuc3VyaW5nIGFueSBzcGVjaWZpYyBzaGFwZSBvZiBwcm9wZXJ0aWVzLlxuICpcbiAqIExpa2UgVHlwZVNjcmlwdCdzIGBSZWNvcmRgIHV0aWxpdHkuXG4gKi9cbmZ1bmN0aW9uIHJlY29yZChLZXksIFZhbHVlKSB7XG4gICAgcmV0dXJuIG5ldyBTdHJ1Y3Qoe1xuICAgICAgICB0eXBlOiAncmVjb3JkJyxcbiAgICAgICAgc2NoZW1hOiBudWxsLFxuICAgICAgICAqZW50cmllcyh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgayBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ID0gdmFsdWVba107XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIFtrLCBrLCBLZXldO1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBbaywgdiwgVmFsdWVdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gKGlzT2JqZWN0KHZhbHVlKSB8fCBgRXhwZWN0ZWQgYW4gb2JqZWN0LCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIGlzIGEgYFJlZ0V4cGAuXG4gKlxuICogTm90ZTogdGhpcyBkb2VzIG5vdCB0ZXN0IHRoZSB2YWx1ZSBhZ2FpbnN0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24hIEZvciB0aGF0XG4gKiB5b3UgbmVlZCB0byB1c2UgdGhlIGBwYXR0ZXJuKClgIHJlZmluZW1lbnQuXG4gKi9cbmZ1bmN0aW9uIHJlZ2V4cCgpIHtcbiAgICByZXR1cm4gZGVmaW5lKCdyZWdleHAnLCAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUmVnRXhwO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gc2V0KEVsZW1lbnQpIHtcbiAgICByZXR1cm4gbmV3IFN0cnVjdCh7XG4gICAgICAgIHR5cGU6ICdzZXQnLFxuICAgICAgICBzY2hlbWE6IG51bGwsXG4gICAgICAgICplbnRyaWVzKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoRWxlbWVudCAmJiB2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBbdiwgdiwgRWxlbWVudF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb2VyY2VyKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTZXQgPyBuZXcgU2V0KHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWUgaW5zdGFuY2VvZiBTZXQgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgYSBcXGBTZXRcXGAgb2JqZWN0LCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIGlzIGEgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBzdHJpbmcoKSB7XG4gICAgcmV0dXJuIGRlZmluZSgnc3RyaW5nJywgKHZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgICAgICAgICAgYEV4cGVjdGVkIGEgc3RyaW5nLCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHZhbHVlIGlzIGEgdHVwbGUgb2YgYSBzcGVjaWZpYyBsZW5ndGgsIGFuZCB0aGF0IGVhY2ggb2YgaXRzXG4gKiBlbGVtZW50cyBpcyBvZiBhIHNwZWNpZmljIHR5cGUuXG4gKi9cbmZ1bmN0aW9uIHR1cGxlKFN0cnVjdHMpIHtcbiAgICBjb25zdCBOZXZlciA9IG5ldmVyKCk7XG4gICAgcmV0dXJuIG5ldyBTdHJ1Y3Qoe1xuICAgICAgICB0eXBlOiAndHVwbGUnLFxuICAgICAgICBzY2hlbWE6IG51bGwsXG4gICAgICAgICplbnRyaWVzKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1heChTdHJ1Y3RzLmxlbmd0aCwgdmFsdWUubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIFtpLCB2YWx1ZVtpXSwgU3RydWN0c1tpXSB8fCBOZXZlcl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgYW4gYXJyYXksIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgdmFsdWUgaGFzIGEgc2V0IG9mIGtub3duIHByb3BlcnRpZXMgb2Ygc3BlY2lmaWMgdHlwZXMuXG4gKlxuICogTm90ZTogVW5yZWNvZ25pemVkIHByb3BlcnRpZXMgYXJlIGFsbG93ZWQgYW5kIHVudG91Y2hlZC4gVGhpcyBpcyBzaW1pbGFyIHRvXG4gKiBob3cgVHlwZVNjcmlwdCdzIHN0cnVjdHVyYWwgdHlwaW5nIHdvcmtzLlxuICovXG5mdW5jdGlvbiB0eXBlKHNjaGVtYSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzY2hlbWEpO1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ3R5cGUnLFxuICAgICAgICBzY2hlbWEsXG4gICAgICAgICplbnRyaWVzKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrIG9mIGtleXMpIHtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgW2ssIHZhbHVlW2tdLCBzY2hlbWFba11dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdG9yKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gKGlzT2JqZWN0KHZhbHVlKSB8fCBgRXhwZWN0ZWQgYW4gb2JqZWN0LCBidXQgcmVjZWl2ZWQ6ICR7cHJpbnQodmFsdWUpfWApO1xuICAgICAgICB9LFxuICAgICAgICBjb2VyY2VyKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8geyAuLi52YWx1ZSB9IDogdmFsdWU7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgdmFsdWUgbWF0Y2hlcyBvbmUgb2YgYSBzZXQgb2YgdHlwZXMuXG4gKi9cbmZ1bmN0aW9uIHVuaW9uKFN0cnVjdHMpIHtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IFN0cnVjdHMubWFwKChzKSA9PiBzLnR5cGUpLmpvaW4oJyB8ICcpO1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgdHlwZTogJ3VuaW9uJyxcbiAgICAgICAgc2NoZW1hOiBudWxsLFxuICAgICAgICBjb2VyY2VyKHZhbHVlKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFMgb2YgU3RydWN0cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtlcnJvciwgY29lcmNlZF0gPSBTLnZhbGlkYXRlKHZhbHVlLCB7IGNvZXJjZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIWVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2VyY2VkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdG9yKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGNvbnN0IGZhaWx1cmVzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFMgb2YgU3RydWN0cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IFsuLi50dXBsZXNdID0gcnVuKHZhbHVlLCBTLCBjdHgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IFtmaXJzdF0gPSB0dXBsZXM7XG4gICAgICAgICAgICAgICAgaWYgKCFmaXJzdFswXSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtmYWlsdXJlXSBvZiB0dXBsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWlsdXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZXMucHVzaChmYWlsdXJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgYEV4cGVjdGVkIHRoZSB2YWx1ZSB0byBzYXRpc2Z5IGEgdW5pb24gb2YgXFxgJHtkZXNjcmlwdGlvbn1cXGAsIGJ1dCByZWNlaXZlZDogJHtwcmludCh2YWx1ZSl9YCxcbiAgICAgICAgICAgICAgICAuLi5mYWlsdXJlcyxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGFueSB2YWx1ZSBwYXNzZXMgdmFsaWRhdGlvbiwgd2l0aG91dCB3aWRlbmluZyBpdHMgdHlwZSB0byBgYW55YC5cbiAqL1xuZnVuY3Rpb24gdW5rbm93bigpIHtcbiAgICByZXR1cm4gZGVmaW5lKCd1bmtub3duJywgKCkgPT4gdHJ1ZSk7XG59XG5cbi8qKlxuICogQXVnbWVudCBhIGBTdHJ1Y3RgIHRvIGFkZCBhbiBhZGRpdGlvbmFsIGNvZXJjaW9uIHN0ZXAgdG8gaXRzIGlucHV0LlxuICpcbiAqIFRoaXMgYWxsb3dzIHlvdSB0byB0cmFuc2Zvcm0gaW5wdXQgZGF0YSBiZWZvcmUgdmFsaWRhdGluZyBpdCwgdG8gaW5jcmVhc2UgdGhlXG4gKiBsaWtlbGlob29kIHRoYXQgaXQgcGFzc2VzIHZhbGlkYXRpb27igJRmb3IgZXhhbXBsZSBmb3IgZGVmYXVsdCB2YWx1ZXMsIHBhcnNpbmdcbiAqIGRpZmZlcmVudCBmb3JtYXRzLCBldGMuXG4gKlxuICogTm90ZTogWW91IG11c3QgdXNlIGBjcmVhdGUodmFsdWUsIFN0cnVjdClgIG9uIHRoZSB2YWx1ZSB0byBoYXZlIHRoZSBjb2VyY2lvblxuICogdGFrZSBlZmZlY3QhIFVzaW5nIHNpbXBseSBgYXNzZXJ0KClgIG9yIGBpcygpYCB3aWxsIG5vdCB1c2UgY29lcmNpb24uXG4gKi9cbmZ1bmN0aW9uIGNvZXJjZShzdHJ1Y3QsIGNvbmRpdGlvbiwgY29lcmNlcikge1xuICAgIHJldHVybiBuZXcgU3RydWN0KHtcbiAgICAgICAgLi4uc3RydWN0LFxuICAgICAgICBjb2VyY2VyOiAodmFsdWUsIGN0eCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGlzKHZhbHVlLCBjb25kaXRpb24pXG4gICAgICAgICAgICAgICAgPyBzdHJ1Y3QuY29lcmNlcihjb2VyY2VyKHZhbHVlLCBjdHgpLCBjdHgpXG4gICAgICAgICAgICAgICAgOiBzdHJ1Y3QuY29lcmNlcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cbi8qKlxuICogQXVnbWVudCBhIHN0cnVjdCB0byByZXBsYWNlIGB1bmRlZmluZWRgIHZhbHVlcyB3aXRoIGEgZGVmYXVsdC5cbiAqXG4gKiBOb3RlOiBZb3UgbXVzdCB1c2UgYGNyZWF0ZSh2YWx1ZSwgU3RydWN0KWAgb24gdGhlIHZhbHVlIHRvIGhhdmUgdGhlIGNvZXJjaW9uXG4gKiB0YWtlIGVmZmVjdCEgVXNpbmcgc2ltcGx5IGBhc3NlcnQoKWAgb3IgYGlzKClgIHdpbGwgbm90IHVzZSBjb2VyY2lvbi5cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdGVkKHN0cnVjdCwgZmFsbGJhY2ssIG9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiBjb2VyY2Uoc3RydWN0LCB1bmtub3duKCksICh4KSA9PiB7XG4gICAgICAgIGNvbnN0IGYgPSB0eXBlb2YgZmFsbGJhY2sgPT09ICdmdW5jdGlvbicgPyBmYWxsYmFjaygpIDogZmFsbGJhY2s7XG4gICAgICAgIGlmICh4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy5zdHJpY3QgJiYgaXNQbGFpbk9iamVjdCh4KSAmJiBpc1BsYWluT2JqZWN0KGYpKSB7XG4gICAgICAgICAgICBjb25zdCByZXQgPSB7IC4uLnggfTtcbiAgICAgICAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJldFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0W2tleV0gPSBmW2tleV07XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geDtcbiAgICB9KTtcbn1cbi8qKlxuICogQXVnbWVudCBhIHN0cnVjdCB0byB0cmltIHN0cmluZyBpbnB1dHMuXG4gKlxuICogTm90ZTogWW91IG11c3QgdXNlIGBjcmVhdGUodmFsdWUsIFN0cnVjdClgIG9uIHRoZSB2YWx1ZSB0byBoYXZlIHRoZSBjb2VyY2lvblxuICogdGFrZSBlZmZlY3QhIFVzaW5nIHNpbXBseSBgYXNzZXJ0KClgIG9yIGBpcygpYCB3aWxsIG5vdCB1c2UgY29lcmNpb24uXG4gKi9cbmZ1bmN0aW9uIHRyaW1tZWQoc3RydWN0KSB7XG4gICAgcmV0dXJuIGNvZXJjZShzdHJ1Y3QsIHN0cmluZygpLCAoeCkgPT4geC50cmltKCkpO1xufVxuXG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgc3RyaW5nLCBhcnJheSwgbWFwLCBvciBzZXQgaXMgZW1wdHkuXG4gKi9cbmZ1bmN0aW9uIGVtcHR5KHN0cnVjdCkge1xuICAgIHJldHVybiByZWZpbmUoc3RydWN0LCAnZW1wdHknLCAodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGdldFNpemUodmFsdWUpO1xuICAgICAgICByZXR1cm4gKHNpemUgPT09IDAgfHxcbiAgICAgICAgICAgIGBFeHBlY3RlZCBhbiBlbXB0eSAke3N0cnVjdC50eXBlfSBidXQgcmVjZWl2ZWQgb25lIHdpdGggYSBzaXplIG9mIFxcYCR7c2l6ZX1cXGBgKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFNpemUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXAgfHwgdmFsdWUgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnNpemU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICAgIH1cbn1cbi8qKlxuICogRW5zdXJlIHRoYXQgYSBudW1iZXIgb3IgZGF0ZSBpcyBiZWxvdyBhIHRocmVzaG9sZC5cbiAqL1xuZnVuY3Rpb24gbWF4KHN0cnVjdCwgdGhyZXNob2xkLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB7IGV4Y2x1c2l2ZSB9ID0gb3B0aW9ucztcbiAgICByZXR1cm4gcmVmaW5lKHN0cnVjdCwgJ21heCcsICh2YWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gZXhjbHVzaXZlXG4gICAgICAgICAgICA/IHZhbHVlIDwgdGhyZXNob2xkXG4gICAgICAgICAgICA6IHZhbHVlIDw9IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgIGBFeHBlY3RlZCBhICR7c3RydWN0LnR5cGV9IGxlc3MgdGhhbiAke2V4Y2x1c2l2ZSA/ICcnIDogJ29yIGVxdWFsIHRvICd9JHt0aHJlc2hvbGR9IGJ1dCByZWNlaXZlZCBcXGAke3ZhbHVlfVxcYGA7XG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgbnVtYmVyIG9yIGRhdGUgaXMgYWJvdmUgYSB0aHJlc2hvbGQuXG4gKi9cbmZ1bmN0aW9uIG1pbihzdHJ1Y3QsIHRocmVzaG9sZCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgeyBleGNsdXNpdmUgfSA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHJlZmluZShzdHJ1Y3QsICdtaW4nLCAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIGV4Y2x1c2l2ZVxuICAgICAgICAgICAgPyB2YWx1ZSA+IHRocmVzaG9sZFxuICAgICAgICAgICAgOiB2YWx1ZSA+PSB0aHJlc2hvbGQgfHxcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgYSAke3N0cnVjdC50eXBlfSBncmVhdGVyIHRoYW4gJHtleGNsdXNpdmUgPyAnJyA6ICdvciBlcXVhbCB0byAnfSR7dGhyZXNob2xkfSBidXQgcmVjZWl2ZWQgXFxgJHt2YWx1ZX1cXGBgO1xuICAgIH0pO1xufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBhIHN0cmluZywgYXJyYXksIG1hcCBvciBzZXQgaXMgbm90IGVtcHR5LlxuICovXG5mdW5jdGlvbiBub25lbXB0eShzdHJ1Y3QpIHtcbiAgICByZXR1cm4gcmVmaW5lKHN0cnVjdCwgJ25vbmVtcHR5JywgKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBnZXRTaXplKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIChzaXplID4gMCB8fCBgRXhwZWN0ZWQgYSBub25lbXB0eSAke3N0cnVjdC50eXBlfSBidXQgcmVjZWl2ZWQgYW4gZW1wdHkgb25lYCk7XG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgc3RyaW5nIG1hdGNoZXMgYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKi9cbmZ1bmN0aW9uIHBhdHRlcm4oc3RydWN0LCByZWdleHApIHtcbiAgICByZXR1cm4gcmVmaW5lKHN0cnVjdCwgJ3BhdHRlcm4nLCAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIChyZWdleHAudGVzdCh2YWx1ZSkgfHxcbiAgICAgICAgICAgIGBFeHBlY3RlZCBhICR7c3RydWN0LnR5cGV9IG1hdGNoaW5nIFxcYC8ke3JlZ2V4cC5zb3VyY2V9L1xcYCBidXQgcmVjZWl2ZWQgXCIke3ZhbHVlfVwiYCk7XG4gICAgfSk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGEgc3RyaW5nLCBhcnJheSwgbnVtYmVyLCBkYXRlLCBtYXAsIG9yIHNldCBoYXMgYSBzaXplIChvciBsZW5ndGgsIG9yIHRpbWUpIGJldHdlZW4gYG1pbmAgYW5kIGBtYXhgLlxuICovXG5mdW5jdGlvbiBzaXplKHN0cnVjdCwgbWluLCBtYXggPSBtaW4pIHtcbiAgICBjb25zdCBleHBlY3RlZCA9IGBFeHBlY3RlZCBhICR7c3RydWN0LnR5cGV9YDtcbiAgICBjb25zdCBvZiA9IG1pbiA9PT0gbWF4ID8gYG9mIFxcYCR7bWlufVxcYGAgOiBgYmV0d2VlbiBcXGAke21pbn1cXGAgYW5kIFxcYCR7bWF4fVxcYGA7XG4gICAgcmV0dXJuIHJlZmluZShzdHJ1Y3QsICdzaXplJywgKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICgobWluIDw9IHZhbHVlICYmIHZhbHVlIDw9IG1heCkgfHxcbiAgICAgICAgICAgICAgICBgJHtleHBlY3RlZH0gJHtvZn0gYnV0IHJlY2VpdmVkIFxcYCR7dmFsdWV9XFxgYCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXAgfHwgdmFsdWUgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2l6ZSB9ID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gKChtaW4gPD0gc2l6ZSAmJiBzaXplIDw9IG1heCkgfHxcbiAgICAgICAgICAgICAgICBgJHtleHBlY3RlZH0gd2l0aCBhIHNpemUgJHtvZn0gYnV0IHJlY2VpdmVkIG9uZSB3aXRoIGEgc2l6ZSBvZiBcXGAke3NpemV9XFxgYCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB7IGxlbmd0aCB9ID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gKChtaW4gPD0gbGVuZ3RoICYmIGxlbmd0aCA8PSBtYXgpIHx8XG4gICAgICAgICAgICAgICAgYCR7ZXhwZWN0ZWR9IHdpdGggYSBsZW5ndGggJHtvZn0gYnV0IHJlY2VpdmVkIG9uZSB3aXRoIGEgbGVuZ3RoIG9mIFxcYCR7bGVuZ3RofVxcYGApO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4vKipcbiAqIEF1Z21lbnQgYSBgU3RydWN0YCB0byBhZGQgYW4gYWRkaXRpb25hbCByZWZpbmVtZW50IHRvIHRoZSB2YWxpZGF0aW9uLlxuICpcbiAqIFRoZSByZWZpbmVyIGZ1bmN0aW9uIGlzIGd1YXJhbnRlZWQgdG8gcmVjZWl2ZSBhIHZhbHVlIG9mIHRoZSBzdHJ1Y3QncyB0eXBlLFxuICogYmVjYXVzZSB0aGUgc3RydWN0J3MgZXhpc3RpbmcgdmFsaWRhdGlvbiB3aWxsIGFscmVhZHkgaGF2ZSBwYXNzZWQuIFRoaXNcbiAqIGFsbG93cyB5b3UgdG8gbGF5ZXIgYWRkaXRpb25hbCB2YWxpZGF0aW9uIG9uIHRvcCBvZiBleGlzdGluZyBzdHJ1Y3RzLlxuICovXG5mdW5jdGlvbiByZWZpbmUoc3RydWN0LCBuYW1lLCByZWZpbmVyKSB7XG4gICAgcmV0dXJuIG5ldyBTdHJ1Y3Qoe1xuICAgICAgICAuLi5zdHJ1Y3QsXG4gICAgICAgICpyZWZpbmVyKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHlpZWxkKiBzdHJ1Y3QucmVmaW5lcih2YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlZmluZXIodmFsdWUsIGN0eCk7XG4gICAgICAgICAgICBjb25zdCBmYWlsdXJlcyA9IHRvRmFpbHVyZXMocmVzdWx0LCBjdHgsIHN0cnVjdCwgdmFsdWUpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBmYWlsdXJlIG9mIGZhaWx1cmVzKSB7XG4gICAgICAgICAgICAgICAgeWllbGQgeyAuLi5mYWlsdXJlLCByZWZpbmVtZW50OiBuYW1lIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5cbmV4cG9ydCB7IFN0cnVjdCwgU3RydWN0RXJyb3IsIGFueSwgYXJyYXksIGFzc2VydCwgYXNzaWduLCBiaWdpbnQsIGJvb2xlYW4sIGNvZXJjZSwgY3JlYXRlLCBkYXRlLCBkZWZhdWx0ZWQsIGRlZmluZSwgZGVwcmVjYXRlZCwgZHluYW1pYywgZW1wdHksIGVudW1zLCBmdW5jLCBpbnN0YW5jZSwgaW50ZWdlciwgaW50ZXJzZWN0aW9uLCBpcywgbGF6eSwgbGl0ZXJhbCwgbWFwLCBtYXNrLCBtYXgsIG1pbiwgbmV2ZXIsIG5vbmVtcHR5LCBudWxsYWJsZSwgbnVtYmVyLCBvYmplY3QsIG9taXQsIG9wdGlvbmFsLCBwYXJ0aWFsLCBwYXR0ZXJuLCBwaWNrLCByZWNvcmQsIHJlZmluZSwgcmVnZXhwLCBzZXQsIHNpemUsIHN0cmluZywgc3RydWN0LCB0cmltbWVkLCB0dXBsZSwgdHlwZSwgdW5pb24sIHVua25vd24sIHZhbGlkYXRlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@metamask/utils/node_modules/superstruct/dist/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@coinbase/wallet-sdk/package.json": -/*!********************************************************!*\ - !*** ./node_modules/@coinbase/wallet-sdk/package.json ***! - \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -module.exports = JSON.parse('{"name":"@coinbase/wallet-sdk","version":"3.7.1","description":"Coinbase Wallet JavaScript SDK","keywords":["cipher","cipherbrowser","coinbase","coinbasewallet","eth","ether","ethereum","etherium","injection","toshi","wallet","walletlink","web3"],"main":"dist/index.js","types":"dist/index.d.ts","repository":"https://github.com/coinbase/coinbase-wallet-sdk.git","author":"Coinbase, Inc.","license":"Apache-2.0","scripts":{"pretest:unit":"node compile-assets.js","test:unit":"jest","test:unit:coverage":"yarn test:unit && open coverage/lcov-report/index.html","test:karma":"yarn build-npm && karma start","prebuild":"rm -rf ./build && node -p \\"\'export const LIB_VERSION = \' + JSON.stringify(require(\'./package.json\').version) + \';\'\\" > src/version.ts","build":"node compile-assets.js && webpack --config webpack.config.js","build-npm":"tsc -p ./tsconfig.build.json","build:dev":"export LINK_API_URL=\'http://localhost:3000\'; yarn build","build:dev:watch":"nodemon -e \'ts,tsx,js,json,css,scss,svg\' --ignore \'src/**/*-css.ts\' --ignore \'src/**/*-svg.ts\' --watch src/ --exec \'yarn build:dev\'","build:prod":"yarn prebuild && yarn build && yarn build-npm && cp ./package.json ../../README.md ./LICENSE build/npm && cp -a src/vendor-js build/npm/dist && sed -i.bak \'s| \\"private\\": true,||g\' build/npm/package.json && rm -f build/npm/package.json.bak","lint:types":"tsc --noEmit","lint:prettier":"prettier --check \\"{src,__tests__}/**/*.(js|ts|tsx)\\"","lint:eslint":"eslint ./src --ext .ts,.tsx","lint":"yarn lint:eslint && yarn lint:types && yarn lint:prettier","fix:eslint":"yarn lint:eslint --fix","fix:prettier":"prettier . --write","release":"./scripts/release.sh"},"dependencies":{"@metamask/safe-event-emitter":"2.0.0","@solana/web3.js":"^1.70.1","bind-decorator":"^1.0.11","bn.js":"^5.1.1","buffer":"^6.0.3","clsx":"^1.1.0","eth-block-tracker":"6.1.0","eth-json-rpc-filters":"5.1.0","eth-rpc-errors":"4.0.2","json-rpc-engine":"6.1.0","keccak":"^3.0.1","preact":"^10.5.9","qs":"^6.10.3","rxjs":"^6.6.3","sha.js":"^2.4.11","stream-browserify":"^3.0.0","util":"^0.12.4"},"devDependencies":{"@babel/core":"^7.17.9","@babel/plugin-proposal-decorators":"^7.17.9","@babel/plugin-transform-react-jsx":"^7.17.3","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@peculiar/webcrypto":"^1.3.3","@testing-library/jest-dom":"^5.16.4","@testing-library/preact":"^2.0.1","@types/bn.js":"^4.11.6","@types/jest":"^27.4.1","@types/node":"^14.14.20","@types/qs":"^6.9.7","@types/sha.js":"^2.4.0","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/eslint-plugin-tslint":"^5.7.0","@typescript-eslint/parser":"^5.7.0","babel-jest":"^27.5.1","browserify":"17.0.0","copy-webpack-plugin":"^6.4.1","core-js":"^3.8.2","eslint":"^8.4.1","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.3","eslint-plugin-preact":"^0.1.0","eslint-plugin-prettier":"^4.0.0","eslint-plugin-simple-import-sort":"^7.0.0","jasmine":"3.8.0","jest":"^27.5.1","jest-chrome":"^0.7.2","jest-websocket-mock":"^2.3.0","karma":"^6.4.0","karma-browserify":"8.1.0","karma-chrome-launcher":"^3.1.0","karma-jasmine":"^4.0.1","nodemon":"^2.0.6","prettier":"^2.5.1","raw-loader":"^4.0.2","regenerator-runtime":"^0.13.7","sass":"^1.50.0","svgo":"^2.8.0","ts-jest":"^27.1.4","ts-loader":"^8.0.13","ts-node":"^10.7.0","tslib":"^2.0.3","typescript":"^4.1.3","watchify":"4.0.0","webpack":"^5.76.0","webpack-cli":"^4.9.2","whatwg-fetch":"^3.5.0"},"engines":{"node":">= 10.0.0"}}'); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_isomorphic-ws_browser_js.js b/.next/static/chunks/node_modules_isomorphic-ws_browser_js.js deleted file mode 100644 index 77ec1a5..0000000 --- a/.next/static/chunks/node_modules_isomorphic-ws_browser_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_isomorphic-ws_browser_js"],{ - -/***/ "./node_modules/isomorphic-ws/browser.js": -/*!***********************************************!*\ - !*** ./node_modules/isomorphic-ws/browser.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n// https://github.com/maxogden/websocket-stream/blob/48dc3ddf943e5ada668c31ccd94e9186f02fafbd/ws-fallback.js\n\nvar ws = null\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else if (typeof MozWebSocket !== 'undefined') {\n ws = MozWebSocket\n} else if (typeof __webpack_require__.g !== 'undefined') {\n ws = __webpack_require__.g.WebSocket || __webpack_require__.g.MozWebSocket\n} else if (typeof window !== 'undefined') {\n ws = window.WebSocket || window.MozWebSocket\n} else if (typeof self !== 'undefined') {\n ws = self.WebSocket || self.MozWebSocket\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ws);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaXNvbW9ycGhpYy13cy9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0EsRUFBRSxnQkFBZ0IscUJBQU07QUFDeEIsT0FBTyxxQkFBTSxjQUFjLHFCQUFNO0FBQ2pDLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBLCtEQUFlLEVBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2lzb21vcnBoaWMtd3MvYnJvd3Nlci5qcz8zMzM1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhvZ2Rlbi93ZWJzb2NrZXQtc3RyZWFtL2Jsb2IvNDhkYzNkZGY5NDNlNWFkYTY2OGMzMWNjZDk0ZTkxODZmMDJmYWZiZC93cy1mYWxsYmFjay5qc1xuXG52YXIgd3MgPSBudWxsXG5cbmlmICh0eXBlb2YgV2ViU29ja2V0ICE9PSAndW5kZWZpbmVkJykge1xuICB3cyA9IFdlYlNvY2tldFxufSBlbHNlIGlmICh0eXBlb2YgTW96V2ViU29ja2V0ICE9PSAndW5kZWZpbmVkJykge1xuICB3cyA9IE1veldlYlNvY2tldFxufSBlbHNlIGlmICh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJykge1xuICB3cyA9IGdsb2JhbC5XZWJTb2NrZXQgfHwgZ2xvYmFsLk1veldlYlNvY2tldFxufSBlbHNlIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICB3cyA9IHdpbmRvdy5XZWJTb2NrZXQgfHwgd2luZG93Lk1veldlYlNvY2tldFxufSBlbHNlIGlmICh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgd3MgPSBzZWxmLldlYlNvY2tldCB8fCBzZWxmLk1veldlYlNvY2tldFxufVxuXG5leHBvcnQgZGVmYXVsdCB3c1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/isomorphic-ws/browser.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_noble_curves_esm_secp256k1_js.js b/.next/static/chunks/node_modules_noble_curves_esm_secp256k1_js.js deleted file mode 100644 index 56d64b6..0000000 --- a/.next/static/chunks/node_modules_noble_curves_esm_secp256k1_js.js +++ /dev/null @@ -1,102 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_noble_curves_esm_secp256k1_js"],{ - -/***/ "./node_modules/@noble/curves/esm/_shortw_utils.js": -/*!*********************************************************!*\ - !*** ./node_modules/@noble/curves/esm/_shortw_utils.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createCurve: function() { return /* binding */ createCurve; },\n/* harmony export */ getHash: function() { return /* binding */ getHash; }\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_hmac__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/hashes/hmac */ \"./node_modules/@noble/hashes/esm/hmac.js\");\n/* harmony import */ var _noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/hashes/utils */ \"./node_modules/@noble/hashes/esm/utils.js\");\n/* harmony import */ var _abstract_weierstrass_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstract/weierstrass.js */ \"./node_modules/@noble/curves/esm/abstract/weierstrass.js\");\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n\n\n// connects noble-curves to noble-hashes\nfunction getHash(hash) {\n return {\n hash,\n hmac: (key, ...msgs) => (0,_noble_hashes_hmac__WEBPACK_IMPORTED_MODULE_0__.hmac)(hash, key, (0,_noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__.concatBytes)(...msgs)),\n randomBytes: _noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__.randomBytes,\n };\n}\nfunction createCurve(curveDef, defHash) {\n const create = (hash) => (0,_abstract_weierstrass_js__WEBPACK_IMPORTED_MODULE_2__.weierstrass)({ ...curveDef, ...getHash(hash) });\n return Object.freeze({ ...create(defHash), create });\n}\n//# sourceMappingURL=_shortw_utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vX3Nob3J0d191dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQzBDO0FBQ3FCO0FBQ1A7QUFDeEQ7QUFDTztBQUNQO0FBQ0E7QUFDQSxnQ0FBZ0Msd0RBQUksWUFBWSxnRUFBVztBQUMzRCxtQkFBbUI7QUFDbkI7QUFDQTtBQUNPO0FBQ1AsNkJBQTZCLHFFQUFXLEdBQUcsK0JBQStCO0FBQzFFLDJCQUEyQiw0QkFBNEI7QUFDdkQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vX3Nob3J0d191dGlscy5qcz9iZTRmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9cbmltcG9ydCB7IGhtYWMgfSBmcm9tICdAbm9ibGUvaGFzaGVzL2htYWMnO1xuaW1wb3J0IHsgY29uY2F0Qnl0ZXMsIHJhbmRvbUJ5dGVzIH0gZnJvbSAnQG5vYmxlL2hhc2hlcy91dGlscyc7XG5pbXBvcnQgeyB3ZWllcnN0cmFzcyB9IGZyb20gJy4vYWJzdHJhY3Qvd2VpZXJzdHJhc3MuanMnO1xuLy8gY29ubmVjdHMgbm9ibGUtY3VydmVzIHRvIG5vYmxlLWhhc2hlc1xuZXhwb3J0IGZ1bmN0aW9uIGdldEhhc2goaGFzaCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGhhc2gsXG4gICAgICAgIGhtYWM6IChrZXksIC4uLm1zZ3MpID0+IGhtYWMoaGFzaCwga2V5LCBjb25jYXRCeXRlcyguLi5tc2dzKSksXG4gICAgICAgIHJhbmRvbUJ5dGVzLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ3VydmUoY3VydmVEZWYsIGRlZkhhc2gpIHtcbiAgICBjb25zdCBjcmVhdGUgPSAoaGFzaCkgPT4gd2VpZXJzdHJhc3MoeyAuLi5jdXJ2ZURlZiwgLi4uZ2V0SGFzaChoYXNoKSB9KTtcbiAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZSh7IC4uLmNyZWF0ZShkZWZIYXNoKSwgY3JlYXRlIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X3Nob3J0d191dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/_shortw_utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/curves/esm/abstract/curve.js": -/*!**********************************************************!*\ - !*** ./node_modules/@noble/curves/esm/abstract/curve.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ validateBasic: function() { return /* binding */ validateBasic; },\n/* harmony export */ wNAF: function() { return /* binding */ wNAF; }\n/* harmony export */ });\n/* harmony import */ var _modular_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modular.js */ \"./node_modules/@noble/curves/esm/abstract/modular.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/curves/esm/abstract/utils.js\");\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Abelian group utilities\n\n\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\n// Elliptic curve multiplication of Point by scalar. Fragile.\n// Scalars should always be less than curve order: this should be checked inside of a curve itself.\n// Creates precomputation tables for fast multiplication:\n// - private scalar is split by fixed size windows of W bits\n// - every window point is collected from window's table & added to accumulator\n// - since windows are different, same point inside tables won't be accessed more than once per calc\n// - each multiplication is 'Math.ceil(CURVE_ORDER / 𝑊) + 1' point additions (fixed for any scalar)\n// - +1 window is neccessary for wNAF\n// - wNAF reduces table size: 2x less memory + 2x faster generation, but 10% slower multiplication\n// TODO: Research returning 2d JS array of windows, instead of a single window. This would allow\n// windows to be in different memory locations\nfunction wNAF(c, bits) {\n const constTimeNegate = (condition, item) => {\n const neg = item.negate();\n return condition ? neg : item;\n };\n const opts = (W) => {\n const windows = Math.ceil(bits / W) + 1; // +1, because\n const windowSize = 2 ** (W - 1); // -1 because we skip zero\n return { windows, windowSize };\n };\n return {\n constTimeNegate,\n // non-const time multiplication ladder\n unsafeLadder(elm, n) {\n let p = c.ZERO;\n let d = elm;\n while (n > _0n) {\n if (n & _1n)\n p = p.add(d);\n d = d.double();\n n >>= _1n;\n }\n return p;\n },\n /**\n * Creates a wNAF precomputation window. Used for caching.\n * Default window size is set by `utils.precompute()` and is equal to 8.\n * Number of precomputed points depends on the curve size:\n * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:\n * - 𝑊 is the window size\n * - 𝑛 is the bitlength of the curve order.\n * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.\n * @returns precomputed point tables flattened to a single array\n */\n precomputeWindow(elm, W) {\n const { windows, windowSize } = opts(W);\n const points = [];\n let p = elm;\n let base = p;\n for (let window = 0; window < windows; window++) {\n base = p;\n points.push(base);\n // =1, because we skip zero\n for (let i = 1; i < windowSize; i++) {\n base = base.add(p);\n points.push(base);\n }\n p = base.double();\n }\n return points;\n },\n /**\n * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.\n * @param W window size\n * @param precomputes precomputed tables\n * @param n scalar (we don't check here, but should be less than curve order)\n * @returns real and fake (for const-time) points\n */\n wNAF(W, precomputes, n) {\n // TODO: maybe check that scalar is less than group order? wNAF behavious is undefined otherwise\n // But need to carefully remove other checks before wNAF. ORDER == bits here\n const { windows, windowSize } = opts(W);\n let p = c.ZERO;\n let f = c.BASE;\n const mask = BigInt(2 ** W - 1); // Create mask with W ones: 0b1111 for W=4 etc.\n const maxNumber = 2 ** W;\n const shiftBy = BigInt(W);\n for (let window = 0; window < windows; window++) {\n const offset = window * windowSize;\n // Extract W bits.\n let wbits = Number(n & mask);\n // Shift number by W bits.\n n >>= shiftBy;\n // If the bits are bigger than max size, we'll split those.\n // +224 => 256 - 32\n if (wbits > windowSize) {\n wbits -= maxNumber;\n n += _1n;\n }\n // This code was first written with assumption that 'f' and 'p' will never be infinity point:\n // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,\n // there is negate now: it is possible that negated element from low value\n // would be the same as high element, which will create carry into next window.\n // It's not obvious how this can fail, but still worth investigating later.\n // Check if we're onto Zero point.\n // Add random point inside current window to f.\n const offset1 = offset;\n const offset2 = offset + Math.abs(wbits) - 1; // -1 because we skip zero\n const cond1 = window % 2 !== 0;\n const cond2 = wbits < 0;\n if (wbits === 0) {\n // The most important part for const-time getPublicKey\n f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n }\n else {\n p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n }\n }\n // JIT-compiler should not eliminate f here, since it will later be used in normalizeZ()\n // Even if the variable is still unused, there are some checks which will\n // throw an exception, so compiler needs to prove they won't happen, which is hard.\n // At this point there is a way to F be infinity-point even if p is not,\n // which makes it less const-time: around 1 bigint multiply.\n return { p, f };\n },\n wNAFCached(P, precomputesMap, n, transform) {\n // @ts-ignore\n const W = P._WINDOW_SIZE || 1;\n // Calculate precomputes on a first run, reuse them after\n let comp = precomputesMap.get(P);\n if (!comp) {\n comp = this.precomputeWindow(P, W);\n if (W !== 1) {\n precomputesMap.set(P, transform(comp));\n }\n }\n return this.wNAF(W, comp, n);\n },\n };\n}\nfunction validateBasic(curve) {\n (0,_modular_js__WEBPACK_IMPORTED_MODULE_0__.validateField)(curve.Fp);\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.validateObject)(curve, {\n n: 'bigint',\n h: 'bigint',\n Gx: 'field',\n Gy: 'field',\n }, {\n nBitLength: 'isSafeInteger',\n nByteLength: 'isSafeInteger',\n });\n // Set defaults\n return Object.freeze({\n ...(0,_modular_js__WEBPACK_IMPORTED_MODULE_0__.nLength)(curve.n, curve.nBitLength),\n ...curve,\n ...{ p: curve.Fp.ORDER },\n });\n}\n//# sourceMappingURL=curve.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvY3VydmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDc0Q7QUFDVjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRCx5Q0FBeUM7QUFDekMsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGtCQUFrQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBO0FBQ0EsaUNBQWlDLGtCQUFrQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ087QUFDUCxJQUFJLDBEQUFhO0FBQ2pCLElBQUkseURBQWM7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsV0FBVyxvREFBTztBQUNsQjtBQUNBLGFBQWEsbUJBQW1CO0FBQ2hDLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Abm9ibGUvY3VydmVzL2VzbS9hYnN0cmFjdC9jdXJ2ZS5qcz9lMDcxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9cbi8vIEFiZWxpYW4gZ3JvdXAgdXRpbGl0aWVzXG5pbXBvcnQgeyB2YWxpZGF0ZUZpZWxkLCBuTGVuZ3RoIH0gZnJvbSAnLi9tb2R1bGFyLmpzJztcbmltcG9ydCB7IHZhbGlkYXRlT2JqZWN0IH0gZnJvbSAnLi91dGlscy5qcyc7XG5jb25zdCBfMG4gPSBCaWdJbnQoMCk7XG5jb25zdCBfMW4gPSBCaWdJbnQoMSk7XG4vLyBFbGxpcHRpYyBjdXJ2ZSBtdWx0aXBsaWNhdGlvbiBvZiBQb2ludCBieSBzY2FsYXIuIEZyYWdpbGUuXG4vLyBTY2FsYXJzIHNob3VsZCBhbHdheXMgYmUgbGVzcyB0aGFuIGN1cnZlIG9yZGVyOiB0aGlzIHNob3VsZCBiZSBjaGVja2VkIGluc2lkZSBvZiBhIGN1cnZlIGl0c2VsZi5cbi8vIENyZWF0ZXMgcHJlY29tcHV0YXRpb24gdGFibGVzIGZvciBmYXN0IG11bHRpcGxpY2F0aW9uOlxuLy8gLSBwcml2YXRlIHNjYWxhciBpcyBzcGxpdCBieSBmaXhlZCBzaXplIHdpbmRvd3Mgb2YgVyBiaXRzXG4vLyAtIGV2ZXJ5IHdpbmRvdyBwb2ludCBpcyBjb2xsZWN0ZWQgZnJvbSB3aW5kb3cncyB0YWJsZSAmIGFkZGVkIHRvIGFjY3VtdWxhdG9yXG4vLyAtIHNpbmNlIHdpbmRvd3MgYXJlIGRpZmZlcmVudCwgc2FtZSBwb2ludCBpbnNpZGUgdGFibGVzIHdvbid0IGJlIGFjY2Vzc2VkIG1vcmUgdGhhbiBvbmNlIHBlciBjYWxjXG4vLyAtIGVhY2ggbXVsdGlwbGljYXRpb24gaXMgJ01hdGguY2VpbChDVVJWRV9PUkRFUiAvIPCdkYopICsgMScgcG9pbnQgYWRkaXRpb25zIChmaXhlZCBmb3IgYW55IHNjYWxhcilcbi8vIC0gKzEgd2luZG93IGlzIG5lY2Nlc3NhcnkgZm9yIHdOQUZcbi8vIC0gd05BRiByZWR1Y2VzIHRhYmxlIHNpemU6IDJ4IGxlc3MgbWVtb3J5ICsgMnggZmFzdGVyIGdlbmVyYXRpb24sIGJ1dCAxMCUgc2xvd2VyIG11bHRpcGxpY2F0aW9uXG4vLyBUT0RPOiBSZXNlYXJjaCByZXR1cm5pbmcgMmQgSlMgYXJyYXkgb2Ygd2luZG93cywgaW5zdGVhZCBvZiBhIHNpbmdsZSB3aW5kb3cuIFRoaXMgd291bGQgYWxsb3dcbi8vIHdpbmRvd3MgdG8gYmUgaW4gZGlmZmVyZW50IG1lbW9yeSBsb2NhdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiB3TkFGKGMsIGJpdHMpIHtcbiAgICBjb25zdCBjb25zdFRpbWVOZWdhdGUgPSAoY29uZGl0aW9uLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IG5lZyA9IGl0ZW0ubmVnYXRlKCk7XG4gICAgICAgIHJldHVybiBjb25kaXRpb24gPyBuZWcgOiBpdGVtO1xuICAgIH07XG4gICAgY29uc3Qgb3B0cyA9IChXKSA9PiB7XG4gICAgICAgIGNvbnN0IHdpbmRvd3MgPSBNYXRoLmNlaWwoYml0cyAvIFcpICsgMTsgLy8gKzEsIGJlY2F1c2VcbiAgICAgICAgY29uc3Qgd2luZG93U2l6ZSA9IDIgKiogKFcgLSAxKTsgLy8gLTEgYmVjYXVzZSB3ZSBza2lwIHplcm9cbiAgICAgICAgcmV0dXJuIHsgd2luZG93cywgd2luZG93U2l6ZSB9O1xuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29uc3RUaW1lTmVnYXRlLFxuICAgICAgICAvLyBub24tY29uc3QgdGltZSBtdWx0aXBsaWNhdGlvbiBsYWRkZXJcbiAgICAgICAgdW5zYWZlTGFkZGVyKGVsbSwgbikge1xuICAgICAgICAgICAgbGV0IHAgPSBjLlpFUk87XG4gICAgICAgICAgICBsZXQgZCA9IGVsbTtcbiAgICAgICAgICAgIHdoaWxlIChuID4gXzBuKSB7XG4gICAgICAgICAgICAgICAgaWYgKG4gJiBfMW4pXG4gICAgICAgICAgICAgICAgICAgIHAgPSBwLmFkZChkKTtcbiAgICAgICAgICAgICAgICBkID0gZC5kb3VibGUoKTtcbiAgICAgICAgICAgICAgICBuID4+PSBfMW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcDtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZXMgYSB3TkFGIHByZWNvbXB1dGF0aW9uIHdpbmRvdy4gVXNlZCBmb3IgY2FjaGluZy5cbiAgICAgICAgICogRGVmYXVsdCB3aW5kb3cgc2l6ZSBpcyBzZXQgYnkgYHV0aWxzLnByZWNvbXB1dGUoKWAgYW5kIGlzIGVxdWFsIHRvIDguXG4gICAgICAgICAqIE51bWJlciBvZiBwcmVjb21wdXRlZCBwb2ludHMgZGVwZW5kcyBvbiB0aGUgY3VydmUgc2l6ZTpcbiAgICAgICAgICogMl4o8J2RiuKIkjEpICogKE1hdGguY2VpbCjwnZGbIC8g8J2RiikgKyAxKSwgd2hlcmU6XG4gICAgICAgICAqIC0g8J2RiiBpcyB0aGUgd2luZG93IHNpemVcbiAgICAgICAgICogLSDwnZGbIGlzIHRoZSBiaXRsZW5ndGggb2YgdGhlIGN1cnZlIG9yZGVyLlxuICAgICAgICAgKiBGb3IgYSAyNTYtYml0IGN1cnZlIGFuZCB3aW5kb3cgc2l6ZSA4LCB0aGUgbnVtYmVyIG9mIHByZWNvbXB1dGVkIHBvaW50cyBpcyAxMjggKiAzMyA9IDQyMjQuXG4gICAgICAgICAqIEByZXR1cm5zIHByZWNvbXB1dGVkIHBvaW50IHRhYmxlcyBmbGF0dGVuZWQgdG8gYSBzaW5nbGUgYXJyYXlcbiAgICAgICAgICovXG4gICAgICAgIHByZWNvbXB1dGVXaW5kb3coZWxtLCBXKSB7XG4gICAgICAgICAgICBjb25zdCB7IHdpbmRvd3MsIHdpbmRvd1NpemUgfSA9IG9wdHMoVyk7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBbXTtcbiAgICAgICAgICAgIGxldCBwID0gZWxtO1xuICAgICAgICAgICAgbGV0IGJhc2UgPSBwO1xuICAgICAgICAgICAgZm9yIChsZXQgd2luZG93ID0gMDsgd2luZG93IDwgd2luZG93czsgd2luZG93KyspIHtcbiAgICAgICAgICAgICAgICBiYXNlID0gcDtcbiAgICAgICAgICAgICAgICBwb2ludHMucHVzaChiYXNlKTtcbiAgICAgICAgICAgICAgICAvLyA9MSwgYmVjYXVzZSB3ZSBza2lwIHplcm9cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHdpbmRvd1NpemU7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBiYXNlID0gYmFzZS5hZGQocCk7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50cy5wdXNoKGJhc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwID0gYmFzZS5kb3VibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbXBsZW1lbnRzIGVjIG11bHRpcGxpY2F0aW9uIHVzaW5nIHByZWNvbXB1dGVkIHRhYmxlcyBhbmQgdy1hcnkgbm9uLWFkamFjZW50IGZvcm0uXG4gICAgICAgICAqIEBwYXJhbSBXIHdpbmRvdyBzaXplXG4gICAgICAgICAqIEBwYXJhbSBwcmVjb21wdXRlcyBwcmVjb21wdXRlZCB0YWJsZXNcbiAgICAgICAgICogQHBhcmFtIG4gc2NhbGFyICh3ZSBkb24ndCBjaGVjayBoZXJlLCBidXQgc2hvdWxkIGJlIGxlc3MgdGhhbiBjdXJ2ZSBvcmRlcilcbiAgICAgICAgICogQHJldHVybnMgcmVhbCBhbmQgZmFrZSAoZm9yIGNvbnN0LXRpbWUpIHBvaW50c1xuICAgICAgICAgKi9cbiAgICAgICAgd05BRihXLCBwcmVjb21wdXRlcywgbikge1xuICAgICAgICAgICAgLy8gVE9ETzogbWF5YmUgY2hlY2sgdGhhdCBzY2FsYXIgaXMgbGVzcyB0aGFuIGdyb3VwIG9yZGVyPyB3TkFGIGJlaGF2aW91cyBpcyB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gICAgICAgICAgICAvLyBCdXQgbmVlZCB0byBjYXJlZnVsbHkgcmVtb3ZlIG90aGVyIGNoZWNrcyBiZWZvcmUgd05BRi4gT1JERVIgPT0gYml0cyBoZXJlXG4gICAgICAgICAgICBjb25zdCB7IHdpbmRvd3MsIHdpbmRvd1NpemUgfSA9IG9wdHMoVyk7XG4gICAgICAgICAgICBsZXQgcCA9IGMuWkVSTztcbiAgICAgICAgICAgIGxldCBmID0gYy5CQVNFO1xuICAgICAgICAgICAgY29uc3QgbWFzayA9IEJpZ0ludCgyICoqIFcgLSAxKTsgLy8gQ3JlYXRlIG1hc2sgd2l0aCBXIG9uZXM6IDBiMTExMSBmb3IgVz00IGV0Yy5cbiAgICAgICAgICAgIGNvbnN0IG1heE51bWJlciA9IDIgKiogVztcbiAgICAgICAgICAgIGNvbnN0IHNoaWZ0QnkgPSBCaWdJbnQoVyk7XG4gICAgICAgICAgICBmb3IgKGxldCB3aW5kb3cgPSAwOyB3aW5kb3cgPCB3aW5kb3dzOyB3aW5kb3crKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdyAqIHdpbmRvd1NpemU7XG4gICAgICAgICAgICAgICAgLy8gRXh0cmFjdCBXIGJpdHMuXG4gICAgICAgICAgICAgICAgbGV0IHdiaXRzID0gTnVtYmVyKG4gJiBtYXNrKTtcbiAgICAgICAgICAgICAgICAvLyBTaGlmdCBudW1iZXIgYnkgVyBiaXRzLlxuICAgICAgICAgICAgICAgIG4gPj49IHNoaWZ0Qnk7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGJpdHMgYXJlIGJpZ2dlciB0aGFuIG1heCBzaXplLCB3ZSdsbCBzcGxpdCB0aG9zZS5cbiAgICAgICAgICAgICAgICAvLyArMjI0ID0+IDI1NiAtIDMyXG4gICAgICAgICAgICAgICAgaWYgKHdiaXRzID4gd2luZG93U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICB3Yml0cyAtPSBtYXhOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIG4gKz0gXzFuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBUaGlzIGNvZGUgd2FzIGZpcnN0IHdyaXR0ZW4gd2l0aCBhc3N1bXB0aW9uIHRoYXQgJ2YnIGFuZCAncCcgd2lsbCBuZXZlciBiZSBpbmZpbml0eSBwb2ludDpcbiAgICAgICAgICAgICAgICAvLyBzaW5jZSBlYWNoIGFkZGl0aW9uIGlzIG11bHRpcGxpZWQgYnkgMiAqKiBXLCBpdCBjYW5ub3QgY2FuY2VsIGVhY2ggb3RoZXIuIEhvd2V2ZXIsXG4gICAgICAgICAgICAgICAgLy8gdGhlcmUgaXMgbmVnYXRlIG5vdzogaXQgaXMgcG9zc2libGUgdGhhdCBuZWdhdGVkIGVsZW1lbnQgZnJvbSBsb3cgdmFsdWVcbiAgICAgICAgICAgICAgICAvLyB3b3VsZCBiZSB0aGUgc2FtZSBhcyBoaWdoIGVsZW1lbnQsIHdoaWNoIHdpbGwgY3JlYXRlIGNhcnJ5IGludG8gbmV4dCB3aW5kb3cuXG4gICAgICAgICAgICAgICAgLy8gSXQncyBub3Qgb2J2aW91cyBob3cgdGhpcyBjYW4gZmFpbCwgYnV0IHN0aWxsIHdvcnRoIGludmVzdGlnYXRpbmcgbGF0ZXIuXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgb250byBaZXJvIHBvaW50LlxuICAgICAgICAgICAgICAgIC8vIEFkZCByYW5kb20gcG9pbnQgaW5zaWRlIGN1cnJlbnQgd2luZG93IHRvIGYuXG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0MSA9IG9mZnNldDtcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQyID0gb2Zmc2V0ICsgTWF0aC5hYnMod2JpdHMpIC0gMTsgLy8gLTEgYmVjYXVzZSB3ZSBza2lwIHplcm9cbiAgICAgICAgICAgICAgICBjb25zdCBjb25kMSA9IHdpbmRvdyAlIDIgIT09IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgY29uZDIgPSB3Yml0cyA8IDA7XG4gICAgICAgICAgICAgICAgaWYgKHdiaXRzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBtb3N0IGltcG9ydGFudCBwYXJ0IGZvciBjb25zdC10aW1lIGdldFB1YmxpY0tleVxuICAgICAgICAgICAgICAgICAgICBmID0gZi5hZGQoY29uc3RUaW1lTmVnYXRlKGNvbmQxLCBwcmVjb21wdXRlc1tvZmZzZXQxXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcCA9IHAuYWRkKGNvbnN0VGltZU5lZ2F0ZShjb25kMiwgcHJlY29tcHV0ZXNbb2Zmc2V0Ml0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBKSVQtY29tcGlsZXIgc2hvdWxkIG5vdCBlbGltaW5hdGUgZiBoZXJlLCBzaW5jZSBpdCB3aWxsIGxhdGVyIGJlIHVzZWQgaW4gbm9ybWFsaXplWigpXG4gICAgICAgICAgICAvLyBFdmVuIGlmIHRoZSB2YXJpYWJsZSBpcyBzdGlsbCB1bnVzZWQsIHRoZXJlIGFyZSBzb21lIGNoZWNrcyB3aGljaCB3aWxsXG4gICAgICAgICAgICAvLyB0aHJvdyBhbiBleGNlcHRpb24sIHNvIGNvbXBpbGVyIG5lZWRzIHRvIHByb3ZlIHRoZXkgd29uJ3QgaGFwcGVuLCB3aGljaCBpcyBoYXJkLlxuICAgICAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGVyZSBpcyBhIHdheSB0byBGIGJlIGluZmluaXR5LXBvaW50IGV2ZW4gaWYgcCBpcyBub3QsXG4gICAgICAgICAgICAvLyB3aGljaCBtYWtlcyBpdCBsZXNzIGNvbnN0LXRpbWU6IGFyb3VuZCAxIGJpZ2ludCBtdWx0aXBseS5cbiAgICAgICAgICAgIHJldHVybiB7IHAsIGYgfTtcbiAgICAgICAgfSxcbiAgICAgICAgd05BRkNhY2hlZChQLCBwcmVjb21wdXRlc01hcCwgbiwgdHJhbnNmb3JtKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25zdCBXID0gUC5fV0lORE9XX1NJWkUgfHwgMTtcbiAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBwcmVjb21wdXRlcyBvbiBhIGZpcnN0IHJ1biwgcmV1c2UgdGhlbSBhZnRlclxuICAgICAgICAgICAgbGV0IGNvbXAgPSBwcmVjb21wdXRlc01hcC5nZXQoUCk7XG4gICAgICAgICAgICBpZiAoIWNvbXApIHtcbiAgICAgICAgICAgICAgICBjb21wID0gdGhpcy5wcmVjb21wdXRlV2luZG93KFAsIFcpO1xuICAgICAgICAgICAgICAgIGlmIChXICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHByZWNvbXB1dGVzTWFwLnNldChQLCB0cmFuc2Zvcm0oY29tcCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLndOQUYoVywgY29tcCwgbik7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJhc2ljKGN1cnZlKSB7XG4gICAgdmFsaWRhdGVGaWVsZChjdXJ2ZS5GcCk7XG4gICAgdmFsaWRhdGVPYmplY3QoY3VydmUsIHtcbiAgICAgICAgbjogJ2JpZ2ludCcsXG4gICAgICAgIGg6ICdiaWdpbnQnLFxuICAgICAgICBHeDogJ2ZpZWxkJyxcbiAgICAgICAgR3k6ICdmaWVsZCcsXG4gICAgfSwge1xuICAgICAgICBuQml0TGVuZ3RoOiAnaXNTYWZlSW50ZWdlcicsXG4gICAgICAgIG5CeXRlTGVuZ3RoOiAnaXNTYWZlSW50ZWdlcicsXG4gICAgfSk7XG4gICAgLy8gU2V0IGRlZmF1bHRzXG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUoe1xuICAgICAgICAuLi5uTGVuZ3RoKGN1cnZlLm4sIGN1cnZlLm5CaXRMZW5ndGgpLFxuICAgICAgICAuLi5jdXJ2ZSxcbiAgICAgICAgLi4ueyBwOiBjdXJ2ZS5GcC5PUkRFUiB9LFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3VydmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/abstract/curve.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/curves/esm/abstract/hash-to-curve.js": -/*!******************************************************************!*\ - !*** ./node_modules/@noble/curves/esm/abstract/hash-to-curve.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createHasher: function() { return /* binding */ createHasher; },\n/* harmony export */ expand_message_xmd: function() { return /* binding */ expand_message_xmd; },\n/* harmony export */ expand_message_xof: function() { return /* binding */ expand_message_xof; },\n/* harmony export */ hash_to_field: function() { return /* binding */ hash_to_field; },\n/* harmony export */ isogenyMap: function() { return /* binding */ isogenyMap; }\n/* harmony export */ });\n/* harmony import */ var _modular_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modular.js */ \"./node_modules/@noble/curves/esm/abstract/modular.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/curves/esm/abstract/utils.js\");\n\n\nfunction validateDST(dst) {\n if (dst instanceof Uint8Array)\n return dst;\n if (typeof dst === 'string')\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(dst);\n throw new Error('DST must be Uint8Array or string');\n}\n// Octet Stream to Integer. \"spec\" implementation of os2ip is 2.5x slower vs bytesToNumberBE.\nconst os2ip = _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToNumberBE;\n// Integer to Octet Stream (numberToBytesBE)\nfunction i2osp(value, length) {\n if (value < 0 || value >= 1 << (8 * length)) {\n throw new Error(`bad I2OSP call: value=${value} length=${length}`);\n }\n const res = Array.from({ length }).fill(0);\n for (let i = length - 1; i >= 0; i--) {\n res[i] = value & 0xff;\n value >>>= 8;\n }\n return new Uint8Array(res);\n}\nfunction strxor(a, b) {\n const arr = new Uint8Array(a.length);\n for (let i = 0; i < a.length; i++) {\n arr[i] = a[i] ^ b[i];\n }\n return arr;\n}\nfunction isBytes(item) {\n if (!(item instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n}\nfunction isNum(item) {\n if (!Number.isSafeInteger(item))\n throw new Error('number expected');\n}\n// Produces a uniformly random byte string using a cryptographic hash function H that outputs b bits\n// https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-11#section-5.4.1\nfunction expand_message_xmd(msg, DST, lenInBytes, H) {\n isBytes(msg);\n isBytes(DST);\n isNum(lenInBytes);\n // https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16#section-5.3.3\n if (DST.length > 255)\n DST = H((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes)((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)('H2C-OVERSIZE-DST-'), DST));\n const { outputLen: b_in_bytes, blockLen: r_in_bytes } = H;\n const ell = Math.ceil(lenInBytes / b_in_bytes);\n if (ell > 255)\n throw new Error('Invalid xmd length');\n const DST_prime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes)(DST, i2osp(DST.length, 1));\n const Z_pad = i2osp(0, r_in_bytes);\n const l_i_b_str = i2osp(lenInBytes, 2); // len_in_bytes_str\n const b = new Array(ell);\n const b_0 = H((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes)(Z_pad, msg, l_i_b_str, i2osp(0, 1), DST_prime));\n b[0] = H((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes)(b_0, i2osp(1, 1), DST_prime));\n for (let i = 1; i <= ell; i++) {\n const args = [strxor(b_0, b[i - 1]), i2osp(i + 1, 1), DST_prime];\n b[i] = H((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes)(...args));\n }\n const pseudo_random_bytes = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes)(...b);\n return pseudo_random_bytes.slice(0, lenInBytes);\n}\nfunction expand_message_xof(msg, DST, lenInBytes, k, H) {\n isBytes(msg);\n isBytes(DST);\n isNum(lenInBytes);\n // https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16#section-5.3.3\n // DST = H('H2C-OVERSIZE-DST-' || a_very_long_DST, Math.ceil((lenInBytes * k) / 8));\n if (DST.length > 255) {\n const dkLen = Math.ceil((2 * k) / 8);\n DST = H.create({ dkLen }).update((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)('H2C-OVERSIZE-DST-')).update(DST).digest();\n }\n if (lenInBytes > 65535 || DST.length > 255)\n throw new Error('expand_message_xof: invalid lenInBytes');\n return (H.create({ dkLen: lenInBytes })\n .update(msg)\n .update(i2osp(lenInBytes, 2))\n // 2. DST_prime = DST || I2OSP(len(DST), 1)\n .update(DST)\n .update(i2osp(DST.length, 1))\n .digest());\n}\n/**\n * Hashes arbitrary-length byte strings to a list of one or more elements of a finite field F\n * https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-11#section-5.3\n * @param msg a byte string containing the message to hash\n * @param count the number of elements of F to output\n * @param options `{DST: string, p: bigint, m: number, k: number, expand: 'xmd' | 'xof', hash: H}`, see above\n * @returns [u_0, ..., u_(count - 1)], a list of field elements.\n */\nfunction hash_to_field(msg, count, options) {\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.validateObject)(options, {\n DST: 'string',\n p: 'bigint',\n m: 'isSafeInteger',\n k: 'isSafeInteger',\n hash: 'hash',\n });\n const { p, k, m, hash, expand, DST: _DST } = options;\n isBytes(msg);\n isNum(count);\n const DST = validateDST(_DST);\n const log2p = p.toString(2).length;\n const L = Math.ceil((log2p + k) / 8); // section 5.1 of ietf draft link above\n const len_in_bytes = count * m * L;\n let prb; // pseudo_random_bytes\n if (expand === 'xmd') {\n prb = expand_message_xmd(msg, DST, len_in_bytes, hash);\n }\n else if (expand === 'xof') {\n prb = expand_message_xof(msg, DST, len_in_bytes, k, hash);\n }\n else if (expand === '_internal_pass') {\n // for internal tests only\n prb = msg;\n }\n else {\n throw new Error('expand must be \"xmd\" or \"xof\"');\n }\n const u = new Array(count);\n for (let i = 0; i < count; i++) {\n const e = new Array(m);\n for (let j = 0; j < m; j++) {\n const elm_offset = L * (j + i * m);\n const tv = prb.subarray(elm_offset, elm_offset + L);\n e[j] = (0,_modular_js__WEBPACK_IMPORTED_MODULE_0__.mod)(os2ip(tv), p);\n }\n u[i] = e;\n }\n return u;\n}\nfunction isogenyMap(field, map) {\n // Make same order as in spec\n const COEFF = map.map((i) => Array.from(i).reverse());\n return (x, y) => {\n const [xNum, xDen, yNum, yDen] = COEFF.map((val) => val.reduce((acc, i) => field.add(field.mul(acc, x), i)));\n x = field.div(xNum, xDen); // xNum / xDen\n y = field.mul(y, field.div(yNum, yDen)); // y * (yNum / yDev)\n return { x, y };\n };\n}\nfunction createHasher(Point, mapToCurve, def) {\n if (typeof mapToCurve !== 'function')\n throw new Error('mapToCurve() must be defined');\n return {\n // Encodes byte string to elliptic curve\n // https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16#section-3\n hashToCurve(msg, options) {\n const u = hash_to_field(msg, 2, { ...def, DST: def.DST, ...options });\n const u0 = Point.fromAffine(mapToCurve(u[0]));\n const u1 = Point.fromAffine(mapToCurve(u[1]));\n const P = u0.add(u1).clearCofactor();\n P.assertValidity();\n return P;\n },\n // https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16#section-3\n encodeToCurve(msg, options) {\n const u = hash_to_field(msg, 1, { ...def, DST: def.encodeDST, ...options });\n const P = Point.fromAffine(mapToCurve(u[0])).clearCofactor();\n P.assertValidity();\n return P;\n },\n };\n}\n//# sourceMappingURL=hash-to-curve.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvaGFzaC10by1jdXJ2ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQW1DO0FBQ29EO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxzREFBVztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxjQUFjLHNEQUFlO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxPQUFPLFNBQVMsT0FBTztBQUN4RTtBQUNBLDZCQUE2QixRQUFRO0FBQ3JDLDZCQUE2QixRQUFRO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGNBQWM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixzREFBVyxDQUFDLHNEQUFXO0FBQ3ZDLFlBQVksOENBQThDO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixzREFBVztBQUNqQztBQUNBLDRDQUE0QztBQUM1QztBQUNBLGtCQUFrQixzREFBVztBQUM3QixhQUFhLHNEQUFXO0FBQ3hCLG9CQUFvQixVQUFVO0FBQzlCO0FBQ0EsaUJBQWlCLHNEQUFXO0FBQzVCO0FBQ0EsZ0NBQWdDLHNEQUFXO0FBQzNDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLE9BQU8sU0FBUyxzREFBVztBQUNwRDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsbUJBQW1CO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2RUFBNkU7QUFDakc7QUFDQTtBQUNPO0FBQ1AsSUFBSSx5REFBYztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFlBQVksbUNBQW1DO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsV0FBVztBQUMvQjtBQUNBLHdCQUF3QixPQUFPO0FBQy9CO0FBQ0E7QUFDQSxtQkFBbUIsZ0RBQUc7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkMsaURBQWlEO0FBQ2pELGlCQUFpQjtBQUNqQjtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsa0NBQWtDO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDhDQUE4Qyx3Q0FBd0M7QUFDdEY7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvaGFzaC10by1jdXJ2ZS5qcz84NzlmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1vZCB9IGZyb20gJy4vbW9kdWxhci5qcyc7XG5pbXBvcnQgeyBieXRlc1RvTnVtYmVyQkUsIGNvbmNhdEJ5dGVzLCB1dGY4VG9CeXRlcywgdmFsaWRhdGVPYmplY3QgfSBmcm9tICcuL3V0aWxzLmpzJztcbmZ1bmN0aW9uIHZhbGlkYXRlRFNUKGRzdCkge1xuICAgIGlmIChkc3QgaW5zdGFuY2VvZiBVaW50OEFycmF5KVxuICAgICAgICByZXR1cm4gZHN0O1xuICAgIGlmICh0eXBlb2YgZHN0ID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIHV0ZjhUb0J5dGVzKGRzdCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEU1QgbXVzdCBiZSBVaW50OEFycmF5IG9yIHN0cmluZycpO1xufVxuLy8gT2N0ZXQgU3RyZWFtIHRvIEludGVnZXIuIFwic3BlY1wiIGltcGxlbWVudGF0aW9uIG9mIG9zMmlwIGlzIDIuNXggc2xvd2VyIHZzIGJ5dGVzVG9OdW1iZXJCRS5cbmNvbnN0IG9zMmlwID0gYnl0ZXNUb051bWJlckJFO1xuLy8gSW50ZWdlciB0byBPY3RldCBTdHJlYW0gKG51bWJlclRvQnl0ZXNCRSlcbmZ1bmN0aW9uIGkyb3NwKHZhbHVlLCBsZW5ndGgpIHtcbiAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID49IDEgPDwgKDggKiBsZW5ndGgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgYmFkIEkyT1NQIGNhbGw6IHZhbHVlPSR7dmFsdWV9IGxlbmd0aD0ke2xlbmd0aH1gKTtcbiAgICB9XG4gICAgY29uc3QgcmVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aCB9KS5maWxsKDApO1xuICAgIGZvciAobGV0IGkgPSBsZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICByZXNbaV0gPSB2YWx1ZSAmIDB4ZmY7XG4gICAgICAgIHZhbHVlID4+Pj0gODtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJlcyk7XG59XG5mdW5jdGlvbiBzdHJ4b3IoYSwgYikge1xuICAgIGNvbnN0IGFyciA9IG5ldyBVaW50OEFycmF5KGEubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYXJyW2ldID0gYVtpXSBeIGJbaV07XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG59XG5mdW5jdGlvbiBpc0J5dGVzKGl0ZW0pIHtcbiAgICBpZiAoIShpdGVtIGluc3RhbmNlb2YgVWludDhBcnJheSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVWludDhBcnJheSBleHBlY3RlZCcpO1xufVxuZnVuY3Rpb24gaXNOdW0oaXRlbSkge1xuICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIoaXRlbSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignbnVtYmVyIGV4cGVjdGVkJyk7XG59XG4vLyBQcm9kdWNlcyBhIHVuaWZvcm1seSByYW5kb20gYnl0ZSBzdHJpbmcgdXNpbmcgYSBjcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24gSCB0aGF0IG91dHB1dHMgYiBiaXRzXG4vLyBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL2RyYWZ0LWlydGYtY2ZyZy1oYXNoLXRvLWN1cnZlLTExI3NlY3Rpb24tNS40LjFcbmV4cG9ydCBmdW5jdGlvbiBleHBhbmRfbWVzc2FnZV94bWQobXNnLCBEU1QsIGxlbkluQnl0ZXMsIEgpIHtcbiAgICBpc0J5dGVzKG1zZyk7XG4gICAgaXNCeXRlcyhEU1QpO1xuICAgIGlzTnVtKGxlbkluQnl0ZXMpO1xuICAgIC8vIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvZHJhZnQtaXJ0Zi1jZnJnLWhhc2gtdG8tY3VydmUtMTYjc2VjdGlvbi01LjMuM1xuICAgIGlmIChEU1QubGVuZ3RoID4gMjU1KVxuICAgICAgICBEU1QgPSBIKGNvbmNhdEJ5dGVzKHV0ZjhUb0J5dGVzKCdIMkMtT1ZFUlNJWkUtRFNULScpLCBEU1QpKTtcbiAgICBjb25zdCB7IG91dHB1dExlbjogYl9pbl9ieXRlcywgYmxvY2tMZW46IHJfaW5fYnl0ZXMgfSA9IEg7XG4gICAgY29uc3QgZWxsID0gTWF0aC5jZWlsKGxlbkluQnl0ZXMgLyBiX2luX2J5dGVzKTtcbiAgICBpZiAoZWxsID4gMjU1KVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgeG1kIGxlbmd0aCcpO1xuICAgIGNvbnN0IERTVF9wcmltZSA9IGNvbmNhdEJ5dGVzKERTVCwgaTJvc3AoRFNULmxlbmd0aCwgMSkpO1xuICAgIGNvbnN0IFpfcGFkID0gaTJvc3AoMCwgcl9pbl9ieXRlcyk7XG4gICAgY29uc3QgbF9pX2Jfc3RyID0gaTJvc3AobGVuSW5CeXRlcywgMik7IC8vIGxlbl9pbl9ieXRlc19zdHJcbiAgICBjb25zdCBiID0gbmV3IEFycmF5KGVsbCk7XG4gICAgY29uc3QgYl8wID0gSChjb25jYXRCeXRlcyhaX3BhZCwgbXNnLCBsX2lfYl9zdHIsIGkyb3NwKDAsIDEpLCBEU1RfcHJpbWUpKTtcbiAgICBiWzBdID0gSChjb25jYXRCeXRlcyhiXzAsIGkyb3NwKDEsIDEpLCBEU1RfcHJpbWUpKTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBlbGw7IGkrKykge1xuICAgICAgICBjb25zdCBhcmdzID0gW3N0cnhvcihiXzAsIGJbaSAtIDFdKSwgaTJvc3AoaSArIDEsIDEpLCBEU1RfcHJpbWVdO1xuICAgICAgICBiW2ldID0gSChjb25jYXRCeXRlcyguLi5hcmdzKSk7XG4gICAgfVxuICAgIGNvbnN0IHBzZXVkb19yYW5kb21fYnl0ZXMgPSBjb25jYXRCeXRlcyguLi5iKTtcbiAgICByZXR1cm4gcHNldWRvX3JhbmRvbV9ieXRlcy5zbGljZSgwLCBsZW5JbkJ5dGVzKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBhbmRfbWVzc2FnZV94b2YobXNnLCBEU1QsIGxlbkluQnl0ZXMsIGssIEgpIHtcbiAgICBpc0J5dGVzKG1zZyk7XG4gICAgaXNCeXRlcyhEU1QpO1xuICAgIGlzTnVtKGxlbkluQnl0ZXMpO1xuICAgIC8vIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvZHJhZnQtaXJ0Zi1jZnJnLWhhc2gtdG8tY3VydmUtMTYjc2VjdGlvbi01LjMuM1xuICAgIC8vIERTVCA9IEgoJ0gyQy1PVkVSU0laRS1EU1QtJyB8fCBhX3ZlcnlfbG9uZ19EU1QsIE1hdGguY2VpbCgobGVuSW5CeXRlcyAqIGspIC8gOCkpO1xuICAgIGlmIChEU1QubGVuZ3RoID4gMjU1KSB7XG4gICAgICAgIGNvbnN0IGRrTGVuID0gTWF0aC5jZWlsKCgyICogaykgLyA4KTtcbiAgICAgICAgRFNUID0gSC5jcmVhdGUoeyBka0xlbiB9KS51cGRhdGUodXRmOFRvQnl0ZXMoJ0gyQy1PVkVSU0laRS1EU1QtJykpLnVwZGF0ZShEU1QpLmRpZ2VzdCgpO1xuICAgIH1cbiAgICBpZiAobGVuSW5CeXRlcyA+IDY1NTM1IHx8IERTVC5sZW5ndGggPiAyNTUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZXhwYW5kX21lc3NhZ2VfeG9mOiBpbnZhbGlkIGxlbkluQnl0ZXMnKTtcbiAgICByZXR1cm4gKEguY3JlYXRlKHsgZGtMZW46IGxlbkluQnl0ZXMgfSlcbiAgICAgICAgLnVwZGF0ZShtc2cpXG4gICAgICAgIC51cGRhdGUoaTJvc3AobGVuSW5CeXRlcywgMikpXG4gICAgICAgIC8vIDIuIERTVF9wcmltZSA9IERTVCB8fCBJMk9TUChsZW4oRFNUKSwgMSlcbiAgICAgICAgLnVwZGF0ZShEU1QpXG4gICAgICAgIC51cGRhdGUoaTJvc3AoRFNULmxlbmd0aCwgMSkpXG4gICAgICAgIC5kaWdlc3QoKSk7XG59XG4vKipcbiAqIEhhc2hlcyBhcmJpdHJhcnktbGVuZ3RoIGJ5dGUgc3RyaW5ncyB0byBhIGxpc3Qgb2Ygb25lIG9yIG1vcmUgZWxlbWVudHMgb2YgYSBmaW5pdGUgZmllbGQgRlxuICogaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9kcmFmdC1pcnRmLWNmcmctaGFzaC10by1jdXJ2ZS0xMSNzZWN0aW9uLTUuM1xuICogQHBhcmFtIG1zZyBhIGJ5dGUgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1lc3NhZ2UgdG8gaGFzaFxuICogQHBhcmFtIGNvdW50IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgb2YgRiB0byBvdXRwdXRcbiAqIEBwYXJhbSBvcHRpb25zIGB7RFNUOiBzdHJpbmcsIHA6IGJpZ2ludCwgbTogbnVtYmVyLCBrOiBudW1iZXIsIGV4cGFuZDogJ3htZCcgfCAneG9mJywgaGFzaDogSH1gLCBzZWUgYWJvdmVcbiAqIEByZXR1cm5zIFt1XzAsIC4uLiwgdV8oY291bnQgLSAxKV0sIGEgbGlzdCBvZiBmaWVsZCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hfdG9fZmllbGQobXNnLCBjb3VudCwgb3B0aW9ucykge1xuICAgIHZhbGlkYXRlT2JqZWN0KG9wdGlvbnMsIHtcbiAgICAgICAgRFNUOiAnc3RyaW5nJyxcbiAgICAgICAgcDogJ2JpZ2ludCcsXG4gICAgICAgIG06ICdpc1NhZmVJbnRlZ2VyJyxcbiAgICAgICAgazogJ2lzU2FmZUludGVnZXInLFxuICAgICAgICBoYXNoOiAnaGFzaCcsXG4gICAgfSk7XG4gICAgY29uc3QgeyBwLCBrLCBtLCBoYXNoLCBleHBhbmQsIERTVDogX0RTVCB9ID0gb3B0aW9ucztcbiAgICBpc0J5dGVzKG1zZyk7XG4gICAgaXNOdW0oY291bnQpO1xuICAgIGNvbnN0IERTVCA9IHZhbGlkYXRlRFNUKF9EU1QpO1xuICAgIGNvbnN0IGxvZzJwID0gcC50b1N0cmluZygyKS5sZW5ndGg7XG4gICAgY29uc3QgTCA9IE1hdGguY2VpbCgobG9nMnAgKyBrKSAvIDgpOyAvLyBzZWN0aW9uIDUuMSBvZiBpZXRmIGRyYWZ0IGxpbmsgYWJvdmVcbiAgICBjb25zdCBsZW5faW5fYnl0ZXMgPSBjb3VudCAqIG0gKiBMO1xuICAgIGxldCBwcmI7IC8vIHBzZXVkb19yYW5kb21fYnl0ZXNcbiAgICBpZiAoZXhwYW5kID09PSAneG1kJykge1xuICAgICAgICBwcmIgPSBleHBhbmRfbWVzc2FnZV94bWQobXNnLCBEU1QsIGxlbl9pbl9ieXRlcywgaGFzaCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGV4cGFuZCA9PT0gJ3hvZicpIHtcbiAgICAgICAgcHJiID0gZXhwYW5kX21lc3NhZ2VfeG9mKG1zZywgRFNULCBsZW5faW5fYnl0ZXMsIGssIGhhc2gpO1xuICAgIH1cbiAgICBlbHNlIGlmIChleHBhbmQgPT09ICdfaW50ZXJuYWxfcGFzcycpIHtcbiAgICAgICAgLy8gZm9yIGludGVybmFsIHRlc3RzIG9ubHlcbiAgICAgICAgcHJiID0gbXNnO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBhbmQgbXVzdCBiZSBcInhtZFwiIG9yIFwieG9mXCInKTtcbiAgICB9XG4gICAgY29uc3QgdSA9IG5ldyBBcnJheShjb3VudCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGUgPSBuZXcgQXJyYXkobSk7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbTsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCBlbG1fb2Zmc2V0ID0gTCAqIChqICsgaSAqIG0pO1xuICAgICAgICAgICAgY29uc3QgdHYgPSBwcmIuc3ViYXJyYXkoZWxtX29mZnNldCwgZWxtX29mZnNldCArIEwpO1xuICAgICAgICAgICAgZVtqXSA9IG1vZChvczJpcCh0diksIHApO1xuICAgICAgICB9XG4gICAgICAgIHVbaV0gPSBlO1xuICAgIH1cbiAgICByZXR1cm4gdTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc29nZW55TWFwKGZpZWxkLCBtYXApIHtcbiAgICAvLyBNYWtlIHNhbWUgb3JkZXIgYXMgaW4gc3BlY1xuICAgIGNvbnN0IENPRUZGID0gbWFwLm1hcCgoaSkgPT4gQXJyYXkuZnJvbShpKS5yZXZlcnNlKCkpO1xuICAgIHJldHVybiAoeCwgeSkgPT4ge1xuICAgICAgICBjb25zdCBbeE51bSwgeERlbiwgeU51bSwgeURlbl0gPSBDT0VGRi5tYXAoKHZhbCkgPT4gdmFsLnJlZHVjZSgoYWNjLCBpKSA9PiBmaWVsZC5hZGQoZmllbGQubXVsKGFjYywgeCksIGkpKSk7XG4gICAgICAgIHggPSBmaWVsZC5kaXYoeE51bSwgeERlbik7IC8vIHhOdW0gLyB4RGVuXG4gICAgICAgIHkgPSBmaWVsZC5tdWwoeSwgZmllbGQuZGl2KHlOdW0sIHlEZW4pKTsgLy8geSAqICh5TnVtIC8geURldilcbiAgICAgICAgcmV0dXJuIHsgeCwgeSB9O1xuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGFzaGVyKFBvaW50LCBtYXBUb0N1cnZlLCBkZWYpIHtcbiAgICBpZiAodHlwZW9mIG1hcFRvQ3VydmUgIT09ICdmdW5jdGlvbicpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignbWFwVG9DdXJ2ZSgpIG11c3QgYmUgZGVmaW5lZCcpO1xuICAgIHJldHVybiB7XG4gICAgICAgIC8vIEVuY29kZXMgYnl0ZSBzdHJpbmcgdG8gZWxsaXB0aWMgY3VydmVcbiAgICAgICAgLy8gaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9kcmFmdC1pcnRmLWNmcmctaGFzaC10by1jdXJ2ZS0xNiNzZWN0aW9uLTNcbiAgICAgICAgaGFzaFRvQ3VydmUobXNnLCBvcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCB1ID0gaGFzaF90b19maWVsZChtc2csIDIsIHsgLi4uZGVmLCBEU1Q6IGRlZi5EU1QsIC4uLm9wdGlvbnMgfSk7XG4gICAgICAgICAgICBjb25zdCB1MCA9IFBvaW50LmZyb21BZmZpbmUobWFwVG9DdXJ2ZSh1WzBdKSk7XG4gICAgICAgICAgICBjb25zdCB1MSA9IFBvaW50LmZyb21BZmZpbmUobWFwVG9DdXJ2ZSh1WzFdKSk7XG4gICAgICAgICAgICBjb25zdCBQID0gdTAuYWRkKHUxKS5jbGVhckNvZmFjdG9yKCk7XG4gICAgICAgICAgICBQLmFzc2VydFZhbGlkaXR5KCk7XG4gICAgICAgICAgICByZXR1cm4gUDtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9kcmFmdC1pcnRmLWNmcmctaGFzaC10by1jdXJ2ZS0xNiNzZWN0aW9uLTNcbiAgICAgICAgZW5jb2RlVG9DdXJ2ZShtc2csIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHUgPSBoYXNoX3RvX2ZpZWxkKG1zZywgMSwgeyAuLi5kZWYsIERTVDogZGVmLmVuY29kZURTVCwgLi4ub3B0aW9ucyB9KTtcbiAgICAgICAgICAgIGNvbnN0IFAgPSBQb2ludC5mcm9tQWZmaW5lKG1hcFRvQ3VydmUodVswXSkpLmNsZWFyQ29mYWN0b3IoKTtcbiAgICAgICAgICAgIFAuYXNzZXJ0VmFsaWRpdHkoKTtcbiAgICAgICAgICAgIHJldHVybiBQO1xuICAgICAgICB9LFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYXNoLXRvLWN1cnZlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/abstract/hash-to-curve.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/curves/esm/abstract/modular.js": -/*!************************************************************!*\ - !*** ./node_modules/@noble/curves/esm/abstract/modular.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Field: function() { return /* binding */ Field; },\n/* harmony export */ FpDiv: function() { return /* binding */ FpDiv; },\n/* harmony export */ FpInvertBatch: function() { return /* binding */ FpInvertBatch; },\n/* harmony export */ FpIsSquare: function() { return /* binding */ FpIsSquare; },\n/* harmony export */ FpPow: function() { return /* binding */ FpPow; },\n/* harmony export */ FpSqrt: function() { return /* binding */ FpSqrt; },\n/* harmony export */ FpSqrtEven: function() { return /* binding */ FpSqrtEven; },\n/* harmony export */ FpSqrtOdd: function() { return /* binding */ FpSqrtOdd; },\n/* harmony export */ hashToPrivateScalar: function() { return /* binding */ hashToPrivateScalar; },\n/* harmony export */ invert: function() { return /* binding */ invert; },\n/* harmony export */ isNegativeLE: function() { return /* binding */ isNegativeLE; },\n/* harmony export */ mod: function() { return /* binding */ mod; },\n/* harmony export */ nLength: function() { return /* binding */ nLength; },\n/* harmony export */ pow: function() { return /* binding */ pow; },\n/* harmony export */ pow2: function() { return /* binding */ pow2; },\n/* harmony export */ tonelliShanks: function() { return /* binding */ tonelliShanks; },\n/* harmony export */ validateField: function() { return /* binding */ validateField; }\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/curves/esm/abstract/utils.js\");\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Utilities for modular arithmetics and finite fields\n\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);\n// prettier-ignore\nconst _4n = BigInt(4), _5n = BigInt(5), _8n = BigInt(8);\n// prettier-ignore\nconst _9n = BigInt(9), _16n = BigInt(16);\n// Calculates a modulo b\nfunction mod(a, b) {\n const result = a % b;\n return result >= _0n ? result : b + result;\n}\n/**\n * Efficiently exponentiate num to power and do modular division.\n * Unsafe in some contexts: uses ladder, so can expose bigint bits.\n * @example\n * powMod(2n, 6n, 11n) // 64n % 11n == 9n\n */\n// TODO: use field version && remove\nfunction pow(num, power, modulo) {\n if (modulo <= _0n || power < _0n)\n throw new Error('Expected power/modulo > 0');\n if (modulo === _1n)\n return _0n;\n let res = _1n;\n while (power > _0n) {\n if (power & _1n)\n res = (res * num) % modulo;\n num = (num * num) % modulo;\n power >>= _1n;\n }\n return res;\n}\n// Does x ^ (2 ^ power) mod p. pow2(30, 4) == 30 ^ (2 ^ 4)\nfunction pow2(x, power, modulo) {\n let res = x;\n while (power-- > _0n) {\n res *= res;\n res %= modulo;\n }\n return res;\n}\n// Inverses number over modulo\nfunction invert(number, modulo) {\n if (number === _0n || modulo <= _0n) {\n throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n }\n // Eucledian GCD https://brilliant.org/wiki/extended-euclidean-algorithm/\n // Fermat's little theorem \"CT-like\" version inv(n) = n^(m-2) mod m is 30x slower.\n let a = mod(number, modulo);\n let b = modulo;\n // prettier-ignore\n let x = _0n, y = _1n, u = _1n, v = _0n;\n while (a !== _0n) {\n // JIT applies optimization if those two lines follow each other\n const q = b / a;\n const r = b % a;\n const m = x - u * q;\n const n = y - v * q;\n // prettier-ignore\n b = a, a = r, x = u, y = v, u = m, v = n;\n }\n const gcd = b;\n if (gcd !== _1n)\n throw new Error('invert: does not exist');\n return mod(x, modulo);\n}\n// Tonelli-Shanks algorithm\n// Paper 1: https://eprint.iacr.org/2012/685.pdf (page 12)\n// Paper 2: Square Roots from 1; 24, 51, 10 to Dan Shanks\nfunction tonelliShanks(P) {\n // Legendre constant: used to calculate Legendre symbol (a | p),\n // which denotes the value of a^((p-1)/2) (mod p).\n // (a | p) ≡ 1 if a is a square (mod p)\n // (a | p) ≡ -1 if a is not a square (mod p)\n // (a | p) ≡ 0 if a ≡ 0 (mod p)\n const legendreC = (P - _1n) / _2n;\n let Q, S, Z;\n // Step 1: By factoring out powers of 2 from p - 1,\n // find q and s such that p - 1 = q*(2^s) with q odd\n for (Q = P - _1n, S = 0; Q % _2n === _0n; Q /= _2n, S++)\n ;\n // Step 2: Select a non-square z such that (z | p) ≡ -1 and set c ≡ zq\n for (Z = _2n; Z < P && pow(Z, legendreC, P) !== P - _1n; Z++)\n ;\n // Fast-path\n if (S === 1) {\n const p1div4 = (P + _1n) / _4n;\n return function tonelliFast(Fp, n) {\n const root = Fp.pow(n, p1div4);\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Slow-path\n const Q1div2 = (Q + _1n) / _2n;\n return function tonelliSlow(Fp, n) {\n // Step 0: Check that n is indeed a square: (n | p) should not be ≡ -1\n if (Fp.pow(n, legendreC) === Fp.neg(Fp.ONE))\n throw new Error('Cannot find square root');\n let r = S;\n // TODO: will fail at Fp2/etc\n let g = Fp.pow(Fp.mul(Fp.ONE, Z), Q); // will update both x and b\n let x = Fp.pow(n, Q1div2); // first guess at the square root\n let b = Fp.pow(n, Q); // first guess at the fudge factor\n while (!Fp.eql(b, Fp.ONE)) {\n if (Fp.eql(b, Fp.ZERO))\n return Fp.ZERO; // https://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm (4. If t = 0, return r = 0)\n // Find m such b^(2^m)==1\n let m = 1;\n for (let t2 = Fp.sqr(b); m < r; m++) {\n if (Fp.eql(t2, Fp.ONE))\n break;\n t2 = Fp.sqr(t2); // t2 *= t2\n }\n // NOTE: r-m-1 can be bigger than 32, need to convert to bigint before shift, otherwise there will be overflow\n const ge = Fp.pow(g, _1n << BigInt(r - m - 1)); // ge = 2^(r-m-1)\n g = Fp.sqr(ge); // g = ge * ge\n x = Fp.mul(x, ge); // x *= ge\n b = Fp.mul(b, g); // b *= g\n r = m;\n }\n return x;\n };\n}\nfunction FpSqrt(P) {\n // NOTE: different algorithms can give different roots, it is up to user to decide which one they want.\n // For example there is FpSqrtOdd/FpSqrtEven to choice root based on oddness (used for hash-to-curve).\n // P ≡ 3 (mod 4)\n // √n = n^((P+1)/4)\n if (P % _4n === _3n) {\n // Not all roots possible!\n // const ORDER =\n // 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn;\n // const NUM = 72057594037927816n;\n const p1div4 = (P + _1n) / _4n;\n return function sqrt3mod4(Fp, n) {\n const root = Fp.pow(n, p1div4);\n // Throw if root**2 != n\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Atkin algorithm for q ≡ 5 (mod 8), https://eprint.iacr.org/2012/685.pdf (page 10)\n if (P % _8n === _5n) {\n const c1 = (P - _5n) / _8n;\n return function sqrt5mod8(Fp, n) {\n const n2 = Fp.mul(n, _2n);\n const v = Fp.pow(n2, c1);\n const nv = Fp.mul(n, v);\n const i = Fp.mul(Fp.mul(nv, _2n), v);\n const root = Fp.mul(nv, Fp.sub(i, Fp.ONE));\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // P ≡ 9 (mod 16)\n if (P % _16n === _9n) {\n // NOTE: tonelli is too slow for bls-Fp2 calculations even on start\n // Means we cannot use sqrt for constants at all!\n //\n // const c1 = Fp.sqrt(Fp.negate(Fp.ONE)); // 1. c1 = sqrt(-1) in F, i.e., (c1^2) == -1 in F\n // const c2 = Fp.sqrt(c1); // 2. c2 = sqrt(c1) in F, i.e., (c2^2) == c1 in F\n // const c3 = Fp.sqrt(Fp.negate(c1)); // 3. c3 = sqrt(-c1) in F, i.e., (c3^2) == -c1 in F\n // const c4 = (P + _7n) / _16n; // 4. c4 = (q + 7) / 16 # Integer arithmetic\n // sqrt = (x) => {\n // let tv1 = Fp.pow(x, c4); // 1. tv1 = x^c4\n // let tv2 = Fp.mul(c1, tv1); // 2. tv2 = c1 * tv1\n // const tv3 = Fp.mul(c2, tv1); // 3. tv3 = c2 * tv1\n // let tv4 = Fp.mul(c3, tv1); // 4. tv4 = c3 * tv1\n // const e1 = Fp.equals(Fp.square(tv2), x); // 5. e1 = (tv2^2) == x\n // const e2 = Fp.equals(Fp.square(tv3), x); // 6. e2 = (tv3^2) == x\n // tv1 = Fp.cmov(tv1, tv2, e1); // 7. tv1 = CMOV(tv1, tv2, e1) # Select tv2 if (tv2^2) == x\n // tv2 = Fp.cmov(tv4, tv3, e2); // 8. tv2 = CMOV(tv4, tv3, e2) # Select tv3 if (tv3^2) == x\n // const e3 = Fp.equals(Fp.square(tv2), x); // 9. e3 = (tv2^2) == x\n // return Fp.cmov(tv1, tv2, e3); // 10. z = CMOV(tv1, tv2, e3) # Select the sqrt from tv1 and tv2\n // }\n }\n // Other cases: Tonelli-Shanks algorithm\n return tonelliShanks(P);\n}\n// Little-endian check for first LE bit (last BE bit);\nconst isNegativeLE = (num, modulo) => (mod(num, modulo) & _1n) === _1n;\n// prettier-ignore\nconst FIELD_FIELDS = [\n 'create', 'isValid', 'is0', 'neg', 'inv', 'sqrt', 'sqr',\n 'eql', 'add', 'sub', 'mul', 'pow', 'div',\n 'addN', 'subN', 'mulN', 'sqrN'\n];\nfunction validateField(field) {\n const initial = {\n ORDER: 'bigint',\n MASK: 'bigint',\n BYTES: 'isSafeInteger',\n BITS: 'isSafeInteger',\n };\n const opts = FIELD_FIELDS.reduce((map, val) => {\n map[val] = 'function';\n return map;\n }, initial);\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.validateObject)(field, opts);\n}\n// Generic field functions\nfunction FpPow(f, num, power) {\n // Should have same speed as pow for bigints\n // TODO: benchmark!\n if (power < _0n)\n throw new Error('Expected power > 0');\n if (power === _0n)\n return f.ONE;\n if (power === _1n)\n return num;\n let p = f.ONE;\n let d = num;\n while (power > _0n) {\n if (power & _1n)\n p = f.mul(p, d);\n d = f.sqr(d);\n power >>= _1n;\n }\n return p;\n}\n// 0 is non-invertible: non-batched version will throw on 0\nfunction FpInvertBatch(f, nums) {\n const tmp = new Array(nums.length);\n // Walk from first to last, multiply them by each other MOD p\n const lastMultiplied = nums.reduce((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = acc;\n return f.mul(acc, num);\n }, f.ONE);\n // Invert last element\n const inverted = f.inv(lastMultiplied);\n // Walk from last to first, multiply them by inverted each other MOD p\n nums.reduceRight((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = f.mul(acc, tmp[i]);\n return f.mul(acc, num);\n }, inverted);\n return tmp;\n}\nfunction FpDiv(f, lhs, rhs) {\n return f.mul(lhs, typeof rhs === 'bigint' ? invert(rhs, f.ORDER) : f.inv(rhs));\n}\n// This function returns True whenever the value x is a square in the field F.\nfunction FpIsSquare(f) {\n const legendreConst = (f.ORDER - _1n) / _2n; // Integer arithmetic\n return (x) => {\n const p = f.pow(x, legendreConst);\n return f.eql(p, f.ZERO) || f.eql(p, f.ONE);\n };\n}\n// CURVE.n lengths\nfunction nLength(n, nBitLength) {\n // Bit size, byte size of CURVE.n\n const _nBitLength = nBitLength !== undefined ? nBitLength : n.toString(2).length;\n const nByteLength = Math.ceil(_nBitLength / 8);\n return { nBitLength: _nBitLength, nByteLength };\n}\n/**\n * Initializes a galois field over prime. Non-primes are not supported for now.\n * Do not init in loop: slow. Very fragile: always run a benchmark on change.\n * Major performance gains:\n * a) non-normalized operations like mulN instead of mul\n * b) `Object.freeze`\n * c) Same object shape: never add or remove keys\n * @param ORDER prime positive bigint\n * @param bitLen how many bits the field consumes\n * @param isLE (def: false) if encoding / decoding should be in little-endian\n * @param redef optional faster redefinitions of sqrt and other methods\n */\nfunction Field(ORDER, bitLen, isLE = false, redef = {}) {\n if (ORDER <= _0n)\n throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`);\n const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen);\n if (BYTES > 2048)\n throw new Error('Field lengths over 2048 bytes are not supported');\n const sqrtP = FpSqrt(ORDER);\n const f = Object.freeze({\n ORDER,\n BITS,\n BYTES,\n MASK: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.bitMask)(BITS),\n ZERO: _0n,\n ONE: _1n,\n create: (num) => mod(num, ORDER),\n isValid: (num) => {\n if (typeof num !== 'bigint')\n throw new Error(`Invalid field element: expected bigint, got ${typeof num}`);\n return _0n <= num && num < ORDER; // 0 is valid element, but it's not invertible\n },\n is0: (num) => num === _0n,\n isOdd: (num) => (num & _1n) === _1n,\n neg: (num) => mod(-num, ORDER),\n eql: (lhs, rhs) => lhs === rhs,\n sqr: (num) => mod(num * num, ORDER),\n add: (lhs, rhs) => mod(lhs + rhs, ORDER),\n sub: (lhs, rhs) => mod(lhs - rhs, ORDER),\n mul: (lhs, rhs) => mod(lhs * rhs, ORDER),\n pow: (num, power) => FpPow(f, num, power),\n div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER),\n // Same as above, but doesn't normalize\n sqrN: (num) => num * num,\n addN: (lhs, rhs) => lhs + rhs,\n subN: (lhs, rhs) => lhs - rhs,\n mulN: (lhs, rhs) => lhs * rhs,\n inv: (num) => invert(num, ORDER),\n sqrt: redef.sqrt || ((n) => sqrtP(f, n)),\n invertBatch: (lst) => FpInvertBatch(f, lst),\n // TODO: do we really need constant cmov?\n // We don't have const-time bigints anyway, so probably will be not very useful\n cmov: (a, b, c) => (c ? b : a),\n toBytes: (num) => (isLE ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.numberToBytesLE)(num, BYTES) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.numberToBytesBE)(num, BYTES)),\n fromBytes: (bytes) => {\n if (bytes.length !== BYTES)\n throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes.length}`);\n return isLE ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.bytesToNumberLE)(bytes) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.bytesToNumberBE)(bytes);\n },\n });\n return Object.freeze(f);\n}\nfunction FpSqrtOdd(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? root : Fp.neg(root);\n}\nfunction FpSqrtEven(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? Fp.neg(root) : root;\n}\n/**\n * FIPS 186 B.4.1-compliant \"constant-time\" private key generation utility.\n * Can take (n+8) or more bytes of uniform input e.g. from CSPRNG or KDF\n * and convert them into private scalar, with the modulo bias being neglible.\n * Needs at least 40 bytes of input for 32-byte private key.\n * https://research.kudelskisecurity.com/2020/07/28/the-definitive-guide-to-modulo-bias-and-how-to-avoid-it/\n * @param hash hash output from SHA3 or a similar function\n * @returns valid private scalar\n */\nfunction hashToPrivateScalar(hash, groupOrder, isLE = false) {\n hash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.ensureBytes)('privateHash', hash);\n const hashLen = hash.length;\n const minLen = nLength(groupOrder).nByteLength + 8;\n if (minLen < 24 || hashLen < minLen || hashLen > 1024)\n throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`);\n const num = isLE ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.bytesToNumberLE)(hash) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.bytesToNumberBE)(hash);\n return mod(num, groupOrder - _1n) + _1n;\n}\n//# sourceMappingURL=modular.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvbW9kdWxhci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ3VJO0FBQ3ZJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxxRUFBcUUsUUFBUSxNQUFNLE9BQU87QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUMxQjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixpQkFBaUI7QUFDOUM7QUFDQTtBQUNBLGtCQUFrQiwyQ0FBMkM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUMsbUNBQW1DO0FBQ25DLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQSxxQ0FBcUMsT0FBTztBQUM1QztBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQsa0RBQWtEO0FBQ2xELGtEQUFrRDtBQUNsRCxrREFBa0Q7QUFDbEQ7QUFDQSxrREFBa0Q7QUFDbEQsa0RBQWtEO0FBQ2xELGtEQUFrRDtBQUNsRCxrREFBa0Q7QUFDbEQsc0RBQXNEO0FBQ3RELHNEQUFzRDtBQUN0RCwwQ0FBMEM7QUFDMUMsMENBQTBDO0FBQzFDLHNEQUFzRDtBQUN0RCwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxXQUFXLHlEQUFjO0FBQ3pCO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sc0RBQXNEO0FBQzdEO0FBQ0Esc0RBQXNELE1BQU07QUFDNUQsWUFBWSx1Q0FBdUM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLGtEQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRUFBK0UsV0FBVztBQUMxRiw4Q0FBOEM7QUFDOUMsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQywwREFBZSxlQUFlLDBEQUFlO0FBQy9FO0FBQ0E7QUFDQSwwREFBMEQsTUFBTSxRQUFRLGFBQWE7QUFDckYsMEJBQTBCLDBEQUFlLFVBQVUsMERBQWU7QUFDbEUsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLHNEQUFXO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxPQUFPLDRCQUE0QixRQUFRO0FBQ3BHLHVCQUF1QiwwREFBZSxTQUFTLDBEQUFlO0FBQzlEO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvbW9kdWxhci5qcz8xMzQ3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub2JsZS1jdXJ2ZXMgLSBNSVQgTGljZW5zZSAoYykgMjAyMiBQYXVsIE1pbGxlciAocGF1bG1pbGxyLmNvbSkgKi9cbi8vIFV0aWxpdGllcyBmb3IgbW9kdWxhciBhcml0aG1ldGljcyBhbmQgZmluaXRlIGZpZWxkc1xuaW1wb3J0IHsgYml0TWFzaywgbnVtYmVyVG9CeXRlc0JFLCBudW1iZXJUb0J5dGVzTEUsIGJ5dGVzVG9OdW1iZXJCRSwgYnl0ZXNUb051bWJlckxFLCBlbnN1cmVCeXRlcywgdmFsaWRhdGVPYmplY3QsIH0gZnJvbSAnLi91dGlscy5qcyc7XG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IF8wbiA9IEJpZ0ludCgwKSwgXzFuID0gQmlnSW50KDEpLCBfMm4gPSBCaWdJbnQoMiksIF8zbiA9IEJpZ0ludCgzKTtcbi8vIHByZXR0aWVyLWlnbm9yZVxuY29uc3QgXzRuID0gQmlnSW50KDQpLCBfNW4gPSBCaWdJbnQoNSksIF84biA9IEJpZ0ludCg4KTtcbi8vIHByZXR0aWVyLWlnbm9yZVxuY29uc3QgXzluID0gQmlnSW50KDkpLCBfMTZuID0gQmlnSW50KDE2KTtcbi8vIENhbGN1bGF0ZXMgYSBtb2R1bG8gYlxuZXhwb3J0IGZ1bmN0aW9uIG1vZChhLCBiKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYSAlIGI7XG4gICAgcmV0dXJuIHJlc3VsdCA+PSBfMG4gPyByZXN1bHQgOiBiICsgcmVzdWx0O1xufVxuLyoqXG4gKiBFZmZpY2llbnRseSBleHBvbmVudGlhdGUgbnVtIHRvIHBvd2VyIGFuZCBkbyBtb2R1bGFyIGRpdmlzaW9uLlxuICogVW5zYWZlIGluIHNvbWUgY29udGV4dHM6IHVzZXMgbGFkZGVyLCBzbyBjYW4gZXhwb3NlIGJpZ2ludCBiaXRzLlxuICogQGV4YW1wbGVcbiAqIHBvd01vZCgybiwgNm4sIDExbikgLy8gNjRuICUgMTFuID09IDluXG4gKi9cbi8vIFRPRE86IHVzZSBmaWVsZCB2ZXJzaW9uICYmIHJlbW92ZVxuZXhwb3J0IGZ1bmN0aW9uIHBvdyhudW0sIHBvd2VyLCBtb2R1bG8pIHtcbiAgICBpZiAobW9kdWxvIDw9IF8wbiB8fCBwb3dlciA8IF8wbilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBwb3dlci9tb2R1bG8gPiAwJyk7XG4gICAgaWYgKG1vZHVsbyA9PT0gXzFuKVxuICAgICAgICByZXR1cm4gXzBuO1xuICAgIGxldCByZXMgPSBfMW47XG4gICAgd2hpbGUgKHBvd2VyID4gXzBuKSB7XG4gICAgICAgIGlmIChwb3dlciAmIF8xbilcbiAgICAgICAgICAgIHJlcyA9IChyZXMgKiBudW0pICUgbW9kdWxvO1xuICAgICAgICBudW0gPSAobnVtICogbnVtKSAlIG1vZHVsbztcbiAgICAgICAgcG93ZXIgPj49IF8xbjtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbi8vIERvZXMgeCBeICgyIF4gcG93ZXIpIG1vZCBwLiBwb3cyKDMwLCA0KSA9PSAzMCBeICgyIF4gNClcbmV4cG9ydCBmdW5jdGlvbiBwb3cyKHgsIHBvd2VyLCBtb2R1bG8pIHtcbiAgICBsZXQgcmVzID0geDtcbiAgICB3aGlsZSAocG93ZXItLSA+IF8wbikge1xuICAgICAgICByZXMgKj0gcmVzO1xuICAgICAgICByZXMgJT0gbW9kdWxvO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuLy8gSW52ZXJzZXMgbnVtYmVyIG92ZXIgbW9kdWxvXG5leHBvcnQgZnVuY3Rpb24gaW52ZXJ0KG51bWJlciwgbW9kdWxvKSB7XG4gICAgaWYgKG51bWJlciA9PT0gXzBuIHx8IG1vZHVsbyA8PSBfMG4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZlcnQ6IGV4cGVjdGVkIHBvc2l0aXZlIGludGVnZXJzLCBnb3Qgbj0ke251bWJlcn0gbW9kPSR7bW9kdWxvfWApO1xuICAgIH1cbiAgICAvLyBFdWNsZWRpYW4gR0NEIGh0dHBzOi8vYnJpbGxpYW50Lm9yZy93aWtpL2V4dGVuZGVkLWV1Y2xpZGVhbi1hbGdvcml0aG0vXG4gICAgLy8gRmVybWF0J3MgbGl0dGxlIHRoZW9yZW0gXCJDVC1saWtlXCIgdmVyc2lvbiBpbnYobikgPSBuXihtLTIpIG1vZCBtIGlzIDMweCBzbG93ZXIuXG4gICAgbGV0IGEgPSBtb2QobnVtYmVyLCBtb2R1bG8pO1xuICAgIGxldCBiID0gbW9kdWxvO1xuICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgIGxldCB4ID0gXzBuLCB5ID0gXzFuLCB1ID0gXzFuLCB2ID0gXzBuO1xuICAgIHdoaWxlIChhICE9PSBfMG4pIHtcbiAgICAgICAgLy8gSklUIGFwcGxpZXMgb3B0aW1pemF0aW9uIGlmIHRob3NlIHR3byBsaW5lcyBmb2xsb3cgZWFjaCBvdGhlclxuICAgICAgICBjb25zdCBxID0gYiAvIGE7XG4gICAgICAgIGNvbnN0IHIgPSBiICUgYTtcbiAgICAgICAgY29uc3QgbSA9IHggLSB1ICogcTtcbiAgICAgICAgY29uc3QgbiA9IHkgLSB2ICogcTtcbiAgICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICAgIGIgPSBhLCBhID0gciwgeCA9IHUsIHkgPSB2LCB1ID0gbSwgdiA9IG47XG4gICAgfVxuICAgIGNvbnN0IGdjZCA9IGI7XG4gICAgaWYgKGdjZCAhPT0gXzFuKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmVydDogZG9lcyBub3QgZXhpc3QnKTtcbiAgICByZXR1cm4gbW9kKHgsIG1vZHVsbyk7XG59XG4vLyBUb25lbGxpLVNoYW5rcyBhbGdvcml0aG1cbi8vIFBhcGVyIDE6IGh0dHBzOi8vZXByaW50LmlhY3Iub3JnLzIwMTIvNjg1LnBkZiAocGFnZSAxMilcbi8vIFBhcGVyIDI6IFNxdWFyZSBSb290cyBmcm9tIDE7IDI0LCA1MSwgMTAgdG8gRGFuIFNoYW5rc1xuZXhwb3J0IGZ1bmN0aW9uIHRvbmVsbGlTaGFua3MoUCkge1xuICAgIC8vIExlZ2VuZHJlIGNvbnN0YW50OiB1c2VkIHRvIGNhbGN1bGF0ZSBMZWdlbmRyZSBzeW1ib2wgKGEgfCBwKSxcbiAgICAvLyB3aGljaCBkZW5vdGVzIHRoZSB2YWx1ZSBvZiBhXigocC0xKS8yKSAobW9kIHApLlxuICAgIC8vIChhIHwgcCkg4omhIDEgICAgaWYgYSBpcyBhIHNxdWFyZSAobW9kIHApXG4gICAgLy8gKGEgfCBwKSDiiaEgLTEgICBpZiBhIGlzIG5vdCBhIHNxdWFyZSAobW9kIHApXG4gICAgLy8gKGEgfCBwKSDiiaEgMCAgICBpZiBhIOKJoSAwIChtb2QgcClcbiAgICBjb25zdCBsZWdlbmRyZUMgPSAoUCAtIF8xbikgLyBfMm47XG4gICAgbGV0IFEsIFMsIFo7XG4gICAgLy8gU3RlcCAxOiBCeSBmYWN0b3Jpbmcgb3V0IHBvd2VycyBvZiAyIGZyb20gcCAtIDEsXG4gICAgLy8gZmluZCBxIGFuZCBzIHN1Y2ggdGhhdCBwIC0gMSA9IHEqKDJecykgd2l0aCBxIG9kZFxuICAgIGZvciAoUSA9IFAgLSBfMW4sIFMgPSAwOyBRICUgXzJuID09PSBfMG47IFEgLz0gXzJuLCBTKyspXG4gICAgICAgIDtcbiAgICAvLyBTdGVwIDI6IFNlbGVjdCBhIG5vbi1zcXVhcmUgeiBzdWNoIHRoYXQgKHogfCBwKSDiiaEgLTEgYW5kIHNldCBjIOKJoSB6cVxuICAgIGZvciAoWiA9IF8ybjsgWiA8IFAgJiYgcG93KFosIGxlZ2VuZHJlQywgUCkgIT09IFAgLSBfMW47IForKylcbiAgICAgICAgO1xuICAgIC8vIEZhc3QtcGF0aFxuICAgIGlmIChTID09PSAxKSB7XG4gICAgICAgIGNvbnN0IHAxZGl2NCA9IChQICsgXzFuKSAvIF80bjtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHRvbmVsbGlGYXN0KEZwLCBuKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gRnAucG93KG4sIHAxZGl2NCk7XG4gICAgICAgICAgICBpZiAoIUZwLmVxbChGcC5zcXIocm9vdCksIG4pKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QnKTtcbiAgICAgICAgICAgIHJldHVybiByb290O1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvLyBTbG93LXBhdGhcbiAgICBjb25zdCBRMWRpdjIgPSAoUSArIF8xbikgLyBfMm47XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHRvbmVsbGlTbG93KEZwLCBuKSB7XG4gICAgICAgIC8vIFN0ZXAgMDogQ2hlY2sgdGhhdCBuIGlzIGluZGVlZCBhIHNxdWFyZTogKG4gfCBwKSBzaG91bGQgbm90IGJlIOKJoSAtMVxuICAgICAgICBpZiAoRnAucG93KG4sIGxlZ2VuZHJlQykgPT09IEZwLm5lZyhGcC5PTkUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmluZCBzcXVhcmUgcm9vdCcpO1xuICAgICAgICBsZXQgciA9IFM7XG4gICAgICAgIC8vIFRPRE86IHdpbGwgZmFpbCBhdCBGcDIvZXRjXG4gICAgICAgIGxldCBnID0gRnAucG93KEZwLm11bChGcC5PTkUsIFopLCBRKTsgLy8gd2lsbCB1cGRhdGUgYm90aCB4IGFuZCBiXG4gICAgICAgIGxldCB4ID0gRnAucG93KG4sIFExZGl2Mik7IC8vIGZpcnN0IGd1ZXNzIGF0IHRoZSBzcXVhcmUgcm9vdFxuICAgICAgICBsZXQgYiA9IEZwLnBvdyhuLCBRKTsgLy8gZmlyc3QgZ3Vlc3MgYXQgdGhlIGZ1ZGdlIGZhY3RvclxuICAgICAgICB3aGlsZSAoIUZwLmVxbChiLCBGcC5PTkUpKSB7XG4gICAgICAgICAgICBpZiAoRnAuZXFsKGIsIEZwLlpFUk8pKVxuICAgICAgICAgICAgICAgIHJldHVybiBGcC5aRVJPOyAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Ub25lbGxpJUUyJTgwJTkzU2hhbmtzX2FsZ29yaXRobSAoNC4gSWYgdCA9IDAsIHJldHVybiByID0gMClcbiAgICAgICAgICAgIC8vIEZpbmQgbSBzdWNoIGJeKDJebSk9PTFcbiAgICAgICAgICAgIGxldCBtID0gMTtcbiAgICAgICAgICAgIGZvciAobGV0IHQyID0gRnAuc3FyKGIpOyBtIDwgcjsgbSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKEZwLmVxbCh0MiwgRnAuT05FKSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgdDIgPSBGcC5zcXIodDIpOyAvLyB0MiAqPSB0MlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gTk9URTogci1tLTEgY2FuIGJlIGJpZ2dlciB0aGFuIDMyLCBuZWVkIHRvIGNvbnZlcnQgdG8gYmlnaW50IGJlZm9yZSBzaGlmdCwgb3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgb3ZlcmZsb3dcbiAgICAgICAgICAgIGNvbnN0IGdlID0gRnAucG93KGcsIF8xbiA8PCBCaWdJbnQociAtIG0gLSAxKSk7IC8vIGdlID0gMl4oci1tLTEpXG4gICAgICAgICAgICBnID0gRnAuc3FyKGdlKTsgLy8gZyA9IGdlICogZ2VcbiAgICAgICAgICAgIHggPSBGcC5tdWwoeCwgZ2UpOyAvLyB4ICo9IGdlXG4gICAgICAgICAgICBiID0gRnAubXVsKGIsIGcpOyAvLyBiICo9IGdcbiAgICAgICAgICAgIHIgPSBtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB4O1xuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gRnBTcXJ0KFApIHtcbiAgICAvLyBOT1RFOiBkaWZmZXJlbnQgYWxnb3JpdGhtcyBjYW4gZ2l2ZSBkaWZmZXJlbnQgcm9vdHMsIGl0IGlzIHVwIHRvIHVzZXIgdG8gZGVjaWRlIHdoaWNoIG9uZSB0aGV5IHdhbnQuXG4gICAgLy8gRm9yIGV4YW1wbGUgdGhlcmUgaXMgRnBTcXJ0T2RkL0ZwU3FydEV2ZW4gdG8gY2hvaWNlIHJvb3QgYmFzZWQgb24gb2RkbmVzcyAodXNlZCBmb3IgaGFzaC10by1jdXJ2ZSkuXG4gICAgLy8gUCDiiaEgMyAobW9kIDQpXG4gICAgLy8g4oiabiA9IG5eKChQKzEpLzQpXG4gICAgaWYgKFAgJSBfNG4gPT09IF8zbikge1xuICAgICAgICAvLyBOb3QgYWxsIHJvb3RzIHBvc3NpYmxlIVxuICAgICAgICAvLyBjb25zdCBPUkRFUiA9XG4gICAgICAgIC8vICAgMHgxYTAxMTFlYTM5N2ZlNjlhNGIxYmE3YjY0MzRiYWNkNzY0Nzc0Yjg0ZjM4NTEyYmY2NzMwZDJhMGY2YjBmNjI0MWVhYmZmZmViMTUzZmZmZmI5ZmVmZmZmZmZmZmFhYWJuO1xuICAgICAgICAvLyBjb25zdCBOVU0gPSA3MjA1NzU5NDAzNzkyNzgxNm47XG4gICAgICAgIGNvbnN0IHAxZGl2NCA9IChQICsgXzFuKSAvIF80bjtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHNxcnQzbW9kNChGcCwgbikge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IEZwLnBvdyhuLCBwMWRpdjQpO1xuICAgICAgICAgICAgLy8gVGhyb3cgaWYgcm9vdCoqMiAhPSBuXG4gICAgICAgICAgICBpZiAoIUZwLmVxbChGcC5zcXIocm9vdCksIG4pKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QnKTtcbiAgICAgICAgICAgIHJldHVybiByb290O1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvLyBBdGtpbiBhbGdvcml0aG0gZm9yIHEg4omhIDUgKG1vZCA4KSwgaHR0cHM6Ly9lcHJpbnQuaWFjci5vcmcvMjAxMi82ODUucGRmIChwYWdlIDEwKVxuICAgIGlmIChQICUgXzhuID09PSBfNW4pIHtcbiAgICAgICAgY29uc3QgYzEgPSAoUCAtIF81bikgLyBfOG47XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBzcXJ0NW1vZDgoRnAsIG4pIHtcbiAgICAgICAgICAgIGNvbnN0IG4yID0gRnAubXVsKG4sIF8ybik7XG4gICAgICAgICAgICBjb25zdCB2ID0gRnAucG93KG4yLCBjMSk7XG4gICAgICAgICAgICBjb25zdCBudiA9IEZwLm11bChuLCB2KTtcbiAgICAgICAgICAgIGNvbnN0IGkgPSBGcC5tdWwoRnAubXVsKG52LCBfMm4pLCB2KTtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBGcC5tdWwobnYsIEZwLnN1YihpLCBGcC5PTkUpKTtcbiAgICAgICAgICAgIGlmICghRnAuZXFsKEZwLnNxcihyb290KSwgbikpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZmluZCBzcXVhcmUgcm9vdCcpO1xuICAgICAgICAgICAgcmV0dXJuIHJvb3Q7XG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vIFAg4omhIDkgKG1vZCAxNilcbiAgICBpZiAoUCAlIF8xNm4gPT09IF85bikge1xuICAgICAgICAvLyBOT1RFOiB0b25lbGxpIGlzIHRvbyBzbG93IGZvciBibHMtRnAyIGNhbGN1bGF0aW9ucyBldmVuIG9uIHN0YXJ0XG4gICAgICAgIC8vIE1lYW5zIHdlIGNhbm5vdCB1c2Ugc3FydCBmb3IgY29uc3RhbnRzIGF0IGFsbCFcbiAgICAgICAgLy9cbiAgICAgICAgLy8gY29uc3QgYzEgPSBGcC5zcXJ0KEZwLm5lZ2F0ZShGcC5PTkUpKTsgLy8gIDEuIGMxID0gc3FydCgtMSkgaW4gRiwgaS5lLiwgKGMxXjIpID09IC0xIGluIEZcbiAgICAgICAgLy8gY29uc3QgYzIgPSBGcC5zcXJ0KGMxKTsgICAgICAgICAgICAgICAgLy8gIDIuIGMyID0gc3FydChjMSkgaW4gRiwgaS5lLiwgKGMyXjIpID09IGMxIGluIEZcbiAgICAgICAgLy8gY29uc3QgYzMgPSBGcC5zcXJ0KEZwLm5lZ2F0ZShjMSkpOyAgICAgLy8gIDMuIGMzID0gc3FydCgtYzEpIGluIEYsIGkuZS4sIChjM14yKSA9PSAtYzEgaW4gRlxuICAgICAgICAvLyBjb25zdCBjNCA9IChQICsgXzduKSAvIF8xNm47ICAgICAgICAgICAvLyAgNC4gYzQgPSAocSArIDcpIC8gMTYgICAgICAgICMgSW50ZWdlciBhcml0aG1ldGljXG4gICAgICAgIC8vIHNxcnQgPSAoeCkgPT4ge1xuICAgICAgICAvLyAgIGxldCB0djEgPSBGcC5wb3coeCwgYzQpOyAgICAgICAgICAgICAvLyAgMS4gdHYxID0geF5jNFxuICAgICAgICAvLyAgIGxldCB0djIgPSBGcC5tdWwoYzEsIHR2MSk7ICAgICAgICAgICAvLyAgMi4gdHYyID0gYzEgKiB0djFcbiAgICAgICAgLy8gICBjb25zdCB0djMgPSBGcC5tdWwoYzIsIHR2MSk7ICAgICAgICAgLy8gIDMuIHR2MyA9IGMyICogdHYxXG4gICAgICAgIC8vICAgbGV0IHR2NCA9IEZwLm11bChjMywgdHYxKTsgICAgICAgICAgIC8vICA0LiB0djQgPSBjMyAqIHR2MVxuICAgICAgICAvLyAgIGNvbnN0IGUxID0gRnAuZXF1YWxzKEZwLnNxdWFyZSh0djIpLCB4KTsgLy8gIDUuICBlMSA9ICh0djJeMikgPT0geFxuICAgICAgICAvLyAgIGNvbnN0IGUyID0gRnAuZXF1YWxzKEZwLnNxdWFyZSh0djMpLCB4KTsgLy8gIDYuICBlMiA9ICh0djNeMikgPT0geFxuICAgICAgICAvLyAgIHR2MSA9IEZwLmNtb3YodHYxLCB0djIsIGUxKTsgLy8gIDcuIHR2MSA9IENNT1YodHYxLCB0djIsIGUxKSAgIyBTZWxlY3QgdHYyIGlmICh0djJeMikgPT0geFxuICAgICAgICAvLyAgIHR2MiA9IEZwLmNtb3YodHY0LCB0djMsIGUyKTsgLy8gIDguIHR2MiA9IENNT1YodHY0LCB0djMsIGUyKSAgIyBTZWxlY3QgdHYzIGlmICh0djNeMikgPT0geFxuICAgICAgICAvLyAgIGNvbnN0IGUzID0gRnAuZXF1YWxzKEZwLnNxdWFyZSh0djIpLCB4KTsgLy8gIDkuICBlMyA9ICh0djJeMikgPT0geFxuICAgICAgICAvLyAgIHJldHVybiBGcC5jbW92KHR2MSwgdHYyLCBlMyk7IC8vICAxMC4gIHogPSBDTU9WKHR2MSwgdHYyLCBlMykgICMgU2VsZWN0IHRoZSBzcXJ0IGZyb20gdHYxIGFuZCB0djJcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICAvLyBPdGhlciBjYXNlczogVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtXG4gICAgcmV0dXJuIHRvbmVsbGlTaGFua3MoUCk7XG59XG4vLyBMaXR0bGUtZW5kaWFuIGNoZWNrIGZvciBmaXJzdCBMRSBiaXQgKGxhc3QgQkUgYml0KTtcbmV4cG9ydCBjb25zdCBpc05lZ2F0aXZlTEUgPSAobnVtLCBtb2R1bG8pID0+IChtb2QobnVtLCBtb2R1bG8pICYgXzFuKSA9PT0gXzFuO1xuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCBGSUVMRF9GSUVMRFMgPSBbXG4gICAgJ2NyZWF0ZScsICdpc1ZhbGlkJywgJ2lzMCcsICduZWcnLCAnaW52JywgJ3NxcnQnLCAnc3FyJyxcbiAgICAnZXFsJywgJ2FkZCcsICdzdWInLCAnbXVsJywgJ3BvdycsICdkaXYnLFxuICAgICdhZGROJywgJ3N1Yk4nLCAnbXVsTicsICdzcXJOJ1xuXTtcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUZpZWxkKGZpZWxkKSB7XG4gICAgY29uc3QgaW5pdGlhbCA9IHtcbiAgICAgICAgT1JERVI6ICdiaWdpbnQnLFxuICAgICAgICBNQVNLOiAnYmlnaW50JyxcbiAgICAgICAgQllURVM6ICdpc1NhZmVJbnRlZ2VyJyxcbiAgICAgICAgQklUUzogJ2lzU2FmZUludGVnZXInLFxuICAgIH07XG4gICAgY29uc3Qgb3B0cyA9IEZJRUxEX0ZJRUxEUy5yZWR1Y2UoKG1hcCwgdmFsKSA9PiB7XG4gICAgICAgIG1hcFt2YWxdID0gJ2Z1bmN0aW9uJztcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBpbml0aWFsKTtcbiAgICByZXR1cm4gdmFsaWRhdGVPYmplY3QoZmllbGQsIG9wdHMpO1xufVxuLy8gR2VuZXJpYyBmaWVsZCBmdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBGcFBvdyhmLCBudW0sIHBvd2VyKSB7XG4gICAgLy8gU2hvdWxkIGhhdmUgc2FtZSBzcGVlZCBhcyBwb3cgZm9yIGJpZ2ludHNcbiAgICAvLyBUT0RPOiBiZW5jaG1hcmshXG4gICAgaWYgKHBvd2VyIDwgXzBuKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHBvd2VyID4gMCcpO1xuICAgIGlmIChwb3dlciA9PT0gXzBuKVxuICAgICAgICByZXR1cm4gZi5PTkU7XG4gICAgaWYgKHBvd2VyID09PSBfMW4pXG4gICAgICAgIHJldHVybiBudW07XG4gICAgbGV0IHAgPSBmLk9ORTtcbiAgICBsZXQgZCA9IG51bTtcbiAgICB3aGlsZSAocG93ZXIgPiBfMG4pIHtcbiAgICAgICAgaWYgKHBvd2VyICYgXzFuKVxuICAgICAgICAgICAgcCA9IGYubXVsKHAsIGQpO1xuICAgICAgICBkID0gZi5zcXIoZCk7XG4gICAgICAgIHBvd2VyID4+PSBfMW47XG4gICAgfVxuICAgIHJldHVybiBwO1xufVxuLy8gMCBpcyBub24taW52ZXJ0aWJsZTogbm9uLWJhdGNoZWQgdmVyc2lvbiB3aWxsIHRocm93IG9uIDBcbmV4cG9ydCBmdW5jdGlvbiBGcEludmVydEJhdGNoKGYsIG51bXMpIHtcbiAgICBjb25zdCB0bXAgPSBuZXcgQXJyYXkobnVtcy5sZW5ndGgpO1xuICAgIC8vIFdhbGsgZnJvbSBmaXJzdCB0byBsYXN0LCBtdWx0aXBseSB0aGVtIGJ5IGVhY2ggb3RoZXIgTU9EIHBcbiAgICBjb25zdCBsYXN0TXVsdGlwbGllZCA9IG51bXMucmVkdWNlKChhY2MsIG51bSwgaSkgPT4ge1xuICAgICAgICBpZiAoZi5pczAobnVtKSlcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIHRtcFtpXSA9IGFjYztcbiAgICAgICAgcmV0dXJuIGYubXVsKGFjYywgbnVtKTtcbiAgICB9LCBmLk9ORSk7XG4gICAgLy8gSW52ZXJ0IGxhc3QgZWxlbWVudFxuICAgIGNvbnN0IGludmVydGVkID0gZi5pbnYobGFzdE11bHRpcGxpZWQpO1xuICAgIC8vIFdhbGsgZnJvbSBsYXN0IHRvIGZpcnN0LCBtdWx0aXBseSB0aGVtIGJ5IGludmVydGVkIGVhY2ggb3RoZXIgTU9EIHBcbiAgICBudW1zLnJlZHVjZVJpZ2h0KChhY2MsIG51bSwgaSkgPT4ge1xuICAgICAgICBpZiAoZi5pczAobnVtKSlcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIHRtcFtpXSA9IGYubXVsKGFjYywgdG1wW2ldKTtcbiAgICAgICAgcmV0dXJuIGYubXVsKGFjYywgbnVtKTtcbiAgICB9LCBpbnZlcnRlZCk7XG4gICAgcmV0dXJuIHRtcDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBGcERpdihmLCBsaHMsIHJocykge1xuICAgIHJldHVybiBmLm11bChsaHMsIHR5cGVvZiByaHMgPT09ICdiaWdpbnQnID8gaW52ZXJ0KHJocywgZi5PUkRFUikgOiBmLmludihyaHMpKTtcbn1cbi8vIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBUcnVlIHdoZW5ldmVyIHRoZSB2YWx1ZSB4IGlzIGEgc3F1YXJlIGluIHRoZSBmaWVsZCBGLlxuZXhwb3J0IGZ1bmN0aW9uIEZwSXNTcXVhcmUoZikge1xuICAgIGNvbnN0IGxlZ2VuZHJlQ29uc3QgPSAoZi5PUkRFUiAtIF8xbikgLyBfMm47IC8vIEludGVnZXIgYXJpdGhtZXRpY1xuICAgIHJldHVybiAoeCkgPT4ge1xuICAgICAgICBjb25zdCBwID0gZi5wb3coeCwgbGVnZW5kcmVDb25zdCk7XG4gICAgICAgIHJldHVybiBmLmVxbChwLCBmLlpFUk8pIHx8IGYuZXFsKHAsIGYuT05FKTtcbiAgICB9O1xufVxuLy8gQ1VSVkUubiBsZW5ndGhzXG5leHBvcnQgZnVuY3Rpb24gbkxlbmd0aChuLCBuQml0TGVuZ3RoKSB7XG4gICAgLy8gQml0IHNpemUsIGJ5dGUgc2l6ZSBvZiBDVVJWRS5uXG4gICAgY29uc3QgX25CaXRMZW5ndGggPSBuQml0TGVuZ3RoICE9PSB1bmRlZmluZWQgPyBuQml0TGVuZ3RoIDogbi50b1N0cmluZygyKS5sZW5ndGg7XG4gICAgY29uc3QgbkJ5dGVMZW5ndGggPSBNYXRoLmNlaWwoX25CaXRMZW5ndGggLyA4KTtcbiAgICByZXR1cm4geyBuQml0TGVuZ3RoOiBfbkJpdExlbmd0aCwgbkJ5dGVMZW5ndGggfTtcbn1cbi8qKlxuICogSW5pdGlhbGl6ZXMgYSBnYWxvaXMgZmllbGQgb3ZlciBwcmltZS4gTm9uLXByaW1lcyBhcmUgbm90IHN1cHBvcnRlZCBmb3Igbm93LlxuICogRG8gbm90IGluaXQgaW4gbG9vcDogc2xvdy4gVmVyeSBmcmFnaWxlOiBhbHdheXMgcnVuIGEgYmVuY2htYXJrIG9uIGNoYW5nZS5cbiAqIE1ham9yIHBlcmZvcm1hbmNlIGdhaW5zOlxuICogYSkgbm9uLW5vcm1hbGl6ZWQgb3BlcmF0aW9ucyBsaWtlIG11bE4gaW5zdGVhZCBvZiBtdWxcbiAqIGIpIGBPYmplY3QuZnJlZXplYFxuICogYykgU2FtZSBvYmplY3Qgc2hhcGU6IG5ldmVyIGFkZCBvciByZW1vdmUga2V5c1xuICogQHBhcmFtIE9SREVSIHByaW1lIHBvc2l0aXZlIGJpZ2ludFxuICogQHBhcmFtIGJpdExlbiBob3cgbWFueSBiaXRzIHRoZSBmaWVsZCBjb25zdW1lc1xuICogQHBhcmFtIGlzTEUgKGRlZjogZmFsc2UpIGlmIGVuY29kaW5nIC8gZGVjb2Rpbmcgc2hvdWxkIGJlIGluIGxpdHRsZS1lbmRpYW5cbiAqIEBwYXJhbSByZWRlZiBvcHRpb25hbCBmYXN0ZXIgcmVkZWZpbml0aW9ucyBvZiBzcXJ0IGFuZCBvdGhlciBtZXRob2RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBGaWVsZChPUkRFUiwgYml0TGVuLCBpc0xFID0gZmFsc2UsIHJlZGVmID0ge30pIHtcbiAgICBpZiAoT1JERVIgPD0gXzBuKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIEZwIE9SREVSID4gMCwgZ290ICR7T1JERVJ9YCk7XG4gICAgY29uc3QgeyBuQml0TGVuZ3RoOiBCSVRTLCBuQnl0ZUxlbmd0aDogQllURVMgfSA9IG5MZW5ndGgoT1JERVIsIGJpdExlbik7XG4gICAgaWYgKEJZVEVTID4gMjA0OClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWVsZCBsZW5ndGhzIG92ZXIgMjA0OCBieXRlcyBhcmUgbm90IHN1cHBvcnRlZCcpO1xuICAgIGNvbnN0IHNxcnRQID0gRnBTcXJ0KE9SREVSKTtcbiAgICBjb25zdCBmID0gT2JqZWN0LmZyZWV6ZSh7XG4gICAgICAgIE9SREVSLFxuICAgICAgICBCSVRTLFxuICAgICAgICBCWVRFUyxcbiAgICAgICAgTUFTSzogYml0TWFzayhCSVRTKSxcbiAgICAgICAgWkVSTzogXzBuLFxuICAgICAgICBPTkU6IF8xbixcbiAgICAgICAgY3JlYXRlOiAobnVtKSA9PiBtb2QobnVtLCBPUkRFUiksXG4gICAgICAgIGlzVmFsaWQ6IChudW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbnVtICE9PSAnYmlnaW50JylcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmllbGQgZWxlbWVudDogZXhwZWN0ZWQgYmlnaW50LCBnb3QgJHt0eXBlb2YgbnVtfWApO1xuICAgICAgICAgICAgcmV0dXJuIF8wbiA8PSBudW0gJiYgbnVtIDwgT1JERVI7IC8vIDAgaXMgdmFsaWQgZWxlbWVudCwgYnV0IGl0J3Mgbm90IGludmVydGlibGVcbiAgICAgICAgfSxcbiAgICAgICAgaXMwOiAobnVtKSA9PiBudW0gPT09IF8wbixcbiAgICAgICAgaXNPZGQ6IChudW0pID0+IChudW0gJiBfMW4pID09PSBfMW4sXG4gICAgICAgIG5lZzogKG51bSkgPT4gbW9kKC1udW0sIE9SREVSKSxcbiAgICAgICAgZXFsOiAobGhzLCByaHMpID0+IGxocyA9PT0gcmhzLFxuICAgICAgICBzcXI6IChudW0pID0+IG1vZChudW0gKiBudW0sIE9SREVSKSxcbiAgICAgICAgYWRkOiAobGhzLCByaHMpID0+IG1vZChsaHMgKyByaHMsIE9SREVSKSxcbiAgICAgICAgc3ViOiAobGhzLCByaHMpID0+IG1vZChsaHMgLSByaHMsIE9SREVSKSxcbiAgICAgICAgbXVsOiAobGhzLCByaHMpID0+IG1vZChsaHMgKiByaHMsIE9SREVSKSxcbiAgICAgICAgcG93OiAobnVtLCBwb3dlcikgPT4gRnBQb3coZiwgbnVtLCBwb3dlciksXG4gICAgICAgIGRpdjogKGxocywgcmhzKSA9PiBtb2QobGhzICogaW52ZXJ0KHJocywgT1JERVIpLCBPUkRFUiksXG4gICAgICAgIC8vIFNhbWUgYXMgYWJvdmUsIGJ1dCBkb2Vzbid0IG5vcm1hbGl6ZVxuICAgICAgICBzcXJOOiAobnVtKSA9PiBudW0gKiBudW0sXG4gICAgICAgIGFkZE46IChsaHMsIHJocykgPT4gbGhzICsgcmhzLFxuICAgICAgICBzdWJOOiAobGhzLCByaHMpID0+IGxocyAtIHJocyxcbiAgICAgICAgbXVsTjogKGxocywgcmhzKSA9PiBsaHMgKiByaHMsXG4gICAgICAgIGludjogKG51bSkgPT4gaW52ZXJ0KG51bSwgT1JERVIpLFxuICAgICAgICBzcXJ0OiByZWRlZi5zcXJ0IHx8ICgobikgPT4gc3FydFAoZiwgbikpLFxuICAgICAgICBpbnZlcnRCYXRjaDogKGxzdCkgPT4gRnBJbnZlcnRCYXRjaChmLCBsc3QpLFxuICAgICAgICAvLyBUT0RPOiBkbyB3ZSByZWFsbHkgbmVlZCBjb25zdGFudCBjbW92P1xuICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGNvbnN0LXRpbWUgYmlnaW50cyBhbnl3YXksIHNvIHByb2JhYmx5IHdpbGwgYmUgbm90IHZlcnkgdXNlZnVsXG4gICAgICAgIGNtb3Y6IChhLCBiLCBjKSA9PiAoYyA/IGIgOiBhKSxcbiAgICAgICAgdG9CeXRlczogKG51bSkgPT4gKGlzTEUgPyBudW1iZXJUb0J5dGVzTEUobnVtLCBCWVRFUykgOiBudW1iZXJUb0J5dGVzQkUobnVtLCBCWVRFUykpLFxuICAgICAgICBmcm9tQnl0ZXM6IChieXRlcykgPT4ge1xuICAgICAgICAgICAgaWYgKGJ5dGVzLmxlbmd0aCAhPT0gQllURVMpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGcC5mcm9tQnl0ZXM6IGV4cGVjdGVkICR7QllURVN9LCBnb3QgJHtieXRlcy5sZW5ndGh9YCk7XG4gICAgICAgICAgICByZXR1cm4gaXNMRSA/IGJ5dGVzVG9OdW1iZXJMRShieXRlcykgOiBieXRlc1RvTnVtYmVyQkUoYnl0ZXMpO1xuICAgICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKGYpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIEZwU3FydE9kZChGcCwgZWxtKSB7XG4gICAgaWYgKCFGcC5pc09kZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWVsZCBkb2Vzbid0IGhhdmUgaXNPZGRgKTtcbiAgICBjb25zdCByb290ID0gRnAuc3FydChlbG0pO1xuICAgIHJldHVybiBGcC5pc09kZChyb290KSA/IHJvb3QgOiBGcC5uZWcocm9vdCk7XG59XG5leHBvcnQgZnVuY3Rpb24gRnBTcXJ0RXZlbihGcCwgZWxtKSB7XG4gICAgaWYgKCFGcC5pc09kZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWVsZCBkb2Vzbid0IGhhdmUgaXNPZGRgKTtcbiAgICBjb25zdCByb290ID0gRnAuc3FydChlbG0pO1xuICAgIHJldHVybiBGcC5pc09kZChyb290KSA/IEZwLm5lZyhyb290KSA6IHJvb3Q7XG59XG4vKipcbiAqIEZJUFMgMTg2IEIuNC4xLWNvbXBsaWFudCBcImNvbnN0YW50LXRpbWVcIiBwcml2YXRlIGtleSBnZW5lcmF0aW9uIHV0aWxpdHkuXG4gKiBDYW4gdGFrZSAobis4KSBvciBtb3JlIGJ5dGVzIG9mIHVuaWZvcm0gaW5wdXQgZS5nLiBmcm9tIENTUFJORyBvciBLREZcbiAqIGFuZCBjb252ZXJ0IHRoZW0gaW50byBwcml2YXRlIHNjYWxhciwgd2l0aCB0aGUgbW9kdWxvIGJpYXMgYmVpbmcgbmVnbGlibGUuXG4gKiBOZWVkcyBhdCBsZWFzdCA0MCBieXRlcyBvZiBpbnB1dCBmb3IgMzItYnl0ZSBwcml2YXRlIGtleS5cbiAqIGh0dHBzOi8vcmVzZWFyY2gua3VkZWxza2lzZWN1cml0eS5jb20vMjAyMC8wNy8yOC90aGUtZGVmaW5pdGl2ZS1ndWlkZS10by1tb2R1bG8tYmlhcy1hbmQtaG93LXRvLWF2b2lkLWl0L1xuICogQHBhcmFtIGhhc2ggaGFzaCBvdXRwdXQgZnJvbSBTSEEzIG9yIGEgc2ltaWxhciBmdW5jdGlvblxuICogQHJldHVybnMgdmFsaWQgcHJpdmF0ZSBzY2FsYXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hUb1ByaXZhdGVTY2FsYXIoaGFzaCwgZ3JvdXBPcmRlciwgaXNMRSA9IGZhbHNlKSB7XG4gICAgaGFzaCA9IGVuc3VyZUJ5dGVzKCdwcml2YXRlSGFzaCcsIGhhc2gpO1xuICAgIGNvbnN0IGhhc2hMZW4gPSBoYXNoLmxlbmd0aDtcbiAgICBjb25zdCBtaW5MZW4gPSBuTGVuZ3RoKGdyb3VwT3JkZXIpLm5CeXRlTGVuZ3RoICsgODtcbiAgICBpZiAobWluTGVuIDwgMjQgfHwgaGFzaExlbiA8IG1pbkxlbiB8fCBoYXNoTGVuID4gMTAyNClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBoYXNoVG9Qcml2YXRlU2NhbGFyOiBleHBlY3RlZCAke21pbkxlbn0tMTAyNCBieXRlcyBvZiBpbnB1dCwgZ290ICR7aGFzaExlbn1gKTtcbiAgICBjb25zdCBudW0gPSBpc0xFID8gYnl0ZXNUb051bWJlckxFKGhhc2gpIDogYnl0ZXNUb051bWJlckJFKGhhc2gpO1xuICAgIHJldHVybiBtb2QobnVtLCBncm91cE9yZGVyIC0gXzFuKSArIF8xbjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsYXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/abstract/modular.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/curves/esm/abstract/weierstrass.js": -/*!****************************************************************!*\ - !*** ./node_modules/@noble/curves/esm/abstract/weierstrass.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DER: function() { return /* binding */ DER; },\n/* harmony export */ SWUFpSqrtRatio: function() { return /* binding */ SWUFpSqrtRatio; },\n/* harmony export */ mapToCurveSimpleSWU: function() { return /* binding */ mapToCurveSimpleSWU; },\n/* harmony export */ weierstrass: function() { return /* binding */ weierstrass; },\n/* harmony export */ weierstrassPoints: function() { return /* binding */ weierstrassPoints; }\n/* harmony export */ });\n/* harmony import */ var _modular_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modular.js */ \"./node_modules/@noble/curves/esm/abstract/modular.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/curves/esm/abstract/utils.js\");\n/* harmony import */ var _curve_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curve.js */ \"./node_modules/@noble/curves/esm/abstract/curve.js\");\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Short Weierstrass curve. The formula is: y² = x³ + ax + b\n\n\n\n\nfunction validatePointOpts(curve) {\n const opts = (0,_curve_js__WEBPACK_IMPORTED_MODULE_2__.validateBasic)(curve);\n _utils_js__WEBPACK_IMPORTED_MODULE_1__.validateObject(opts, {\n a: 'field',\n b: 'field',\n }, {\n allowedPrivateKeyLengths: 'array',\n wrapPrivateKey: 'boolean',\n isTorsionFree: 'function',\n clearCofactor: 'function',\n allowInfinityPoint: 'boolean',\n fromBytes: 'function',\n toBytes: 'function',\n });\n const { endo, Fp, a } = opts;\n if (endo) {\n if (!Fp.eql(a, Fp.ZERO)) {\n throw new Error('Endomorphism can only be defined for Koblitz curves that have a=0');\n }\n if (typeof endo !== 'object' ||\n typeof endo.beta !== 'bigint' ||\n typeof endo.splitScalar !== 'function') {\n throw new Error('Expected endomorphism with beta: bigint and splitScalar: function');\n }\n }\n return Object.freeze({ ...opts });\n}\n// ASN.1 DER encoding utilities\nconst { bytesToNumberBE: b2n, hexToBytes: h2b } = _utils_js__WEBPACK_IMPORTED_MODULE_1__;\nconst DER = {\n // asn.1 DER encoding utils\n Err: class DERErr extends Error {\n constructor(m = '') {\n super(m);\n }\n },\n _parseInt(data) {\n const { Err: E } = DER;\n if (data.length < 2 || data[0] !== 0x02)\n throw new E('Invalid signature integer tag');\n const len = data[1];\n const res = data.subarray(2, len + 2);\n if (!len || res.length !== len)\n throw new E('Invalid signature integer: wrong length');\n // https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,\n // since we always use positive integers here. It must always be empty:\n // - add zero byte if exists\n // - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)\n if (res[0] & 0b10000000)\n throw new E('Invalid signature integer: negative');\n if (res[0] === 0x00 && !(res[1] & 0b10000000))\n throw new E('Invalid signature integer: unnecessary leading zero');\n return { d: b2n(res), l: data.subarray(len + 2) }; // d is data, l is left\n },\n toSig(hex) {\n // parse DER signature\n const { Err: E } = DER;\n const data = typeof hex === 'string' ? h2b(hex) : hex;\n if (!(data instanceof Uint8Array))\n throw new Error('ui8a expected');\n let l = data.length;\n if (l < 2 || data[0] != 0x30)\n throw new E('Invalid signature tag');\n if (data[1] !== l - 2)\n throw new E('Invalid signature: incorrect length');\n const { d: r, l: sBytes } = DER._parseInt(data.subarray(2));\n const { d: s, l: rBytesLeft } = DER._parseInt(sBytes);\n if (rBytesLeft.length)\n throw new E('Invalid signature: left bytes after parsing');\n return { r, s };\n },\n hexFromSig(sig) {\n // Add leading zero if first byte has negative bit enabled. More details in '_parseInt'\n const slice = (s) => (Number.parseInt(s[0], 16) & 0b1000 ? '00' + s : s);\n const h = (num) => {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n };\n const s = slice(h(sig.s));\n const r = slice(h(sig.r));\n const shl = s.length / 2;\n const rhl = r.length / 2;\n const sl = h(shl);\n const rl = h(rhl);\n return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`;\n },\n};\n// Be friendly to bad ECMAScript parsers by not using bigint literals\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3), _4n = BigInt(4);\nfunction weierstrassPoints(opts) {\n const CURVE = validatePointOpts(opts);\n const { Fp } = CURVE; // All curves has same field / group length as for now, but they can differ\n const toBytes = CURVE.toBytes ||\n ((c, point, isCompressed) => {\n const a = point.toAffine();\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes(Uint8Array.from([0x04]), Fp.toBytes(a.x), Fp.toBytes(a.y));\n });\n const fromBytes = CURVE.fromBytes ||\n ((bytes) => {\n // const head = bytes[0];\n const tail = bytes.subarray(1);\n // if (head !== 0x04) throw new Error('Only non-compressed encoding is supported');\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n });\n /**\n * y² = x³ + ax + b: Short weierstrass curve formula\n * @returns y²\n */\n function weierstrassEquation(x) {\n const { a, b } = CURVE;\n const x2 = Fp.sqr(x); // x * x\n const x3 = Fp.mul(x2, x); // x2 * x\n return Fp.add(Fp.add(x3, Fp.mul(x, a)), b); // x3 + a * x + b\n }\n // Validate whether the passed curve params are valid.\n // We check if curve equation works for generator point.\n // `assertValidity()` won't work: `isTorsionFree()` is not available at this point in bls12-381.\n // ProjectivePoint class has not been initialized yet.\n if (!Fp.eql(Fp.sqr(CURVE.Gy), weierstrassEquation(CURVE.Gx)))\n throw new Error('bad generator point: equation left != right');\n // Valid group elements reside in range 1..n-1\n function isWithinCurveOrder(num) {\n return typeof num === 'bigint' && _0n < num && num < CURVE.n;\n }\n function assertGE(num) {\n if (!isWithinCurveOrder(num))\n throw new Error('Expected valid bigint: 0 < bigint < curve.n');\n }\n // Validates if priv key is valid and converts it to bigint.\n // Supports options allowedPrivateKeyLengths and wrapPrivateKey.\n function normPrivateKeyToScalar(key) {\n const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE;\n if (lengths && typeof key !== 'bigint') {\n if (key instanceof Uint8Array)\n key = _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToHex(key);\n // Normalize to hex string, pad. E.g. P521 would norm 130-132 char hex to 132-char bytes\n if (typeof key !== 'string' || !lengths.includes(key.length))\n throw new Error('Invalid key');\n key = key.padStart(nByteLength * 2, '0');\n }\n let num;\n try {\n num =\n typeof key === 'bigint'\n ? key\n : _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToNumberBE((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('private key', key, nByteLength));\n }\n catch (error) {\n throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`);\n }\n if (wrapPrivateKey)\n num = _modular_js__WEBPACK_IMPORTED_MODULE_0__.mod(num, n); // disabled by default, enabled for BLS\n assertGE(num); // num in range [1..N-1]\n return num;\n }\n const pointPrecomputes = new Map();\n function assertPrjPoint(other) {\n if (!(other instanceof Point))\n throw new Error('ProjectivePoint expected');\n }\n /**\n * Projective Point works in 3d / projective (homogeneous) coordinates: (x, y, z) ∋ (x=x/z, y=y/z)\n * Default Point works in 2d / affine coordinates: (x, y)\n * We're doing calculations in projective, because its operations don't require costly inversion.\n */\n class Point {\n constructor(px, py, pz) {\n this.px = px;\n this.py = py;\n this.pz = pz;\n if (px == null || !Fp.isValid(px))\n throw new Error('x required');\n if (py == null || !Fp.isValid(py))\n throw new Error('y required');\n if (pz == null || !Fp.isValid(pz))\n throw new Error('z required');\n }\n // Does not validate if the point is on-curve.\n // Use fromHex instead, or call assertValidity() later.\n static fromAffine(p) {\n const { x, y } = p || {};\n if (!p || !Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('invalid affine point');\n if (p instanceof Point)\n throw new Error('projective point not allowed');\n const is0 = (i) => Fp.eql(i, Fp.ZERO);\n // fromAffine(x:0, y:0) would produce (x:0, y:0, z:1), but we need (x:0, y:1, z:0)\n if (is0(x) && is0(y))\n return Point.ZERO;\n return new Point(x, y, Fp.ONE);\n }\n get x() {\n return this.toAffine().x;\n }\n get y() {\n return this.toAffine().y;\n }\n /**\n * Takes a bunch of Projective Points but executes only one\n * inversion on all of them. Inversion is very slow operation,\n * so this improves performance massively.\n * Optimization: converts a list of projective points to a list of identical points with Z=1.\n */\n static normalizeZ(points) {\n const toInv = Fp.invertBatch(points.map((p) => p.pz));\n return points.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n }\n /**\n * Converts hash string or Uint8Array to Point.\n * @param hex short/long ECDSA hex\n */\n static fromHex(hex) {\n const P = Point.fromAffine(fromBytes((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('pointHex', hex)));\n P.assertValidity();\n return P;\n }\n // Multiplies generator point by privateKey.\n static fromPrivateKey(privateKey) {\n return Point.BASE.multiply(normPrivateKeyToScalar(privateKey));\n }\n // \"Private method\", don't use it directly\n _setWindowSize(windowSize) {\n this._WINDOW_SIZE = windowSize;\n pointPrecomputes.delete(this);\n }\n // A point on curve is valid if it conforms to equation.\n assertValidity() {\n // Zero is valid point too!\n if (this.is0()) {\n if (CURVE.allowInfinityPoint)\n return;\n throw new Error('bad point: ZERO');\n }\n // Some 3rd-party test vectors require different wording between here & `fromCompressedHex`\n const { x, y } = this.toAffine();\n // Check if x, y are valid field elements\n if (!Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('bad point: x or y not FE');\n const left = Fp.sqr(y); // y²\n const right = weierstrassEquation(x); // x³ + ax + b\n if (!Fp.eql(left, right))\n throw new Error('bad point: equation left != right');\n if (!this.isTorsionFree())\n throw new Error('bad point: not in prime-order subgroup');\n }\n hasEvenY() {\n const { y } = this.toAffine();\n if (Fp.isOdd)\n return !Fp.isOdd(y);\n throw new Error(\"Field doesn't support isOdd\");\n }\n /**\n * Compare one point to another.\n */\n equals(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n const U1 = Fp.eql(Fp.mul(X1, Z2), Fp.mul(X2, Z1));\n const U2 = Fp.eql(Fp.mul(Y1, Z2), Fp.mul(Y2, Z1));\n return U1 && U2;\n }\n /**\n * Flips point to one corresponding to (x, -y) in Affine coordinates.\n */\n negate() {\n return new Point(this.px, Fp.neg(this.py), this.pz);\n }\n // Renes-Costello-Batina exception-free doubling formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 3\n // Cost: 8M + 3S + 3*a + 2*b3 + 15add.\n double() {\n const { a, b } = CURVE;\n const b3 = Fp.mul(b, _3n);\n const { px: X1, py: Y1, pz: Z1 } = this;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n let t0 = Fp.mul(X1, X1); // step 1\n let t1 = Fp.mul(Y1, Y1);\n let t2 = Fp.mul(Z1, Z1);\n let t3 = Fp.mul(X1, Y1);\n t3 = Fp.add(t3, t3); // step 5\n Z3 = Fp.mul(X1, Z1);\n Z3 = Fp.add(Z3, Z3);\n X3 = Fp.mul(a, Z3);\n Y3 = Fp.mul(b3, t2);\n Y3 = Fp.add(X3, Y3); // step 10\n X3 = Fp.sub(t1, Y3);\n Y3 = Fp.add(t1, Y3);\n Y3 = Fp.mul(X3, Y3);\n X3 = Fp.mul(t3, X3);\n Z3 = Fp.mul(b3, Z3); // step 15\n t2 = Fp.mul(a, t2);\n t3 = Fp.sub(t0, t2);\n t3 = Fp.mul(a, t3);\n t3 = Fp.add(t3, Z3);\n Z3 = Fp.add(t0, t0); // step 20\n t0 = Fp.add(Z3, t0);\n t0 = Fp.add(t0, t2);\n t0 = Fp.mul(t0, t3);\n Y3 = Fp.add(Y3, t0);\n t2 = Fp.mul(Y1, Z1); // step 25\n t2 = Fp.add(t2, t2);\n t0 = Fp.mul(t2, t3);\n X3 = Fp.sub(X3, t0);\n Z3 = Fp.mul(t2, t1);\n Z3 = Fp.add(Z3, Z3); // step 30\n Z3 = Fp.add(Z3, Z3);\n return new Point(X3, Y3, Z3);\n }\n // Renes-Costello-Batina exception-free addition formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 1\n // Cost: 12M + 0S + 3*a + 3*b3 + 23add.\n add(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n const a = CURVE.a;\n const b3 = Fp.mul(CURVE.b, _3n);\n let t0 = Fp.mul(X1, X2); // step 1\n let t1 = Fp.mul(Y1, Y2);\n let t2 = Fp.mul(Z1, Z2);\n let t3 = Fp.add(X1, Y1);\n let t4 = Fp.add(X2, Y2); // step 5\n t3 = Fp.mul(t3, t4);\n t4 = Fp.add(t0, t1);\n t3 = Fp.sub(t3, t4);\n t4 = Fp.add(X1, Z1);\n let t5 = Fp.add(X2, Z2); // step 10\n t4 = Fp.mul(t4, t5);\n t5 = Fp.add(t0, t2);\n t4 = Fp.sub(t4, t5);\n t5 = Fp.add(Y1, Z1);\n X3 = Fp.add(Y2, Z2); // step 15\n t5 = Fp.mul(t5, X3);\n X3 = Fp.add(t1, t2);\n t5 = Fp.sub(t5, X3);\n Z3 = Fp.mul(a, t4);\n X3 = Fp.mul(b3, t2); // step 20\n Z3 = Fp.add(X3, Z3);\n X3 = Fp.sub(t1, Z3);\n Z3 = Fp.add(t1, Z3);\n Y3 = Fp.mul(X3, Z3);\n t1 = Fp.add(t0, t0); // step 25\n t1 = Fp.add(t1, t0);\n t2 = Fp.mul(a, t2);\n t4 = Fp.mul(b3, t4);\n t1 = Fp.add(t1, t2);\n t2 = Fp.sub(t0, t2); // step 30\n t2 = Fp.mul(a, t2);\n t4 = Fp.add(t4, t2);\n t0 = Fp.mul(t1, t4);\n Y3 = Fp.add(Y3, t0);\n t0 = Fp.mul(t5, t4); // step 35\n X3 = Fp.mul(t3, X3);\n X3 = Fp.sub(X3, t0);\n t0 = Fp.mul(t3, t1);\n Z3 = Fp.mul(t5, Z3);\n Z3 = Fp.add(Z3, t0); // step 40\n return new Point(X3, Y3, Z3);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n is0() {\n return this.equals(Point.ZERO);\n }\n wNAF(n) {\n return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => {\n const toInv = Fp.invertBatch(comp.map((p) => p.pz));\n return comp.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n });\n }\n /**\n * Non-constant-time multiplication. Uses double-and-add algorithm.\n * It's faster, but should only be used when you don't care about\n * an exposed private key e.g. sig verification, which works over *public* keys.\n */\n multiplyUnsafe(n) {\n const I = Point.ZERO;\n if (n === _0n)\n return I;\n assertGE(n); // Will throw on 0\n if (n === _1n)\n return this;\n const { endo } = CURVE;\n if (!endo)\n return wnaf.unsafeLadder(this, n);\n // Apply endomorphism\n let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let k1p = I;\n let k2p = I;\n let d = this;\n while (k1 > _0n || k2 > _0n) {\n if (k1 & _1n)\n k1p = k1p.add(d);\n if (k2 & _1n)\n k2p = k2p.add(d);\n d = d.double();\n k1 >>= _1n;\n k2 >>= _1n;\n }\n if (k1neg)\n k1p = k1p.negate();\n if (k2neg)\n k2p = k2p.negate();\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n return k1p.add(k2p);\n }\n /**\n * Constant time multiplication.\n * Uses wNAF method. Windowed method may be 10% faster,\n * but takes 2x longer to generate and consumes 2x memory.\n * Uses precomputes when available.\n * Uses endomorphism for Koblitz curves.\n * @param scalar by which the point would be multiplied\n * @returns New point\n */\n multiply(scalar) {\n assertGE(scalar);\n let n = scalar;\n let point, fake; // Fake point is used to const-time mult\n const { endo } = CURVE;\n if (endo) {\n const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let { p: k1p, f: f1p } = this.wNAF(k1);\n let { p: k2p, f: f2p } = this.wNAF(k2);\n k1p = wnaf.constTimeNegate(k1neg, k1p);\n k2p = wnaf.constTimeNegate(k2neg, k2p);\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n point = k1p.add(k2p);\n fake = f1p.add(f2p);\n }\n else {\n const { p, f } = this.wNAF(n);\n point = p;\n fake = f;\n }\n // Normalize `z` for both points, but return only real one\n return Point.normalizeZ([point, fake])[0];\n }\n /**\n * Efficiently calculate `aP + bQ`. Unsafe, can expose private key, if used incorrectly.\n * Not using Strauss-Shamir trick: precomputation tables are faster.\n * The trick could be useful if both P and Q are not G (not in our case).\n * @returns non-zero affine point\n */\n multiplyAndAddUnsafe(Q, a, b) {\n const G = Point.BASE; // No Strauss-Shamir trick: we have 10% faster G precomputes\n const mul = (P, a // Select faster multiply() method\n ) => (a === _0n || a === _1n || !P.equals(G) ? P.multiplyUnsafe(a) : P.multiply(a));\n const sum = mul(this, a).add(mul(Q, b));\n return sum.is0() ? undefined : sum;\n }\n // Converts Projective point to affine (x, y) coordinates.\n // Can accept precomputed Z^-1 - for example, from invertBatch.\n // (x, y, z) ∋ (x=x/z, y=y/z)\n toAffine(iz) {\n const { px: x, py: y, pz: z } = this;\n const is0 = this.is0();\n // If invZ was 0, we return zero point. However we still want to execute\n // all operations, so we replace invZ with a random number, 1.\n if (iz == null)\n iz = is0 ? Fp.ONE : Fp.inv(z);\n const ax = Fp.mul(x, iz);\n const ay = Fp.mul(y, iz);\n const zz = Fp.mul(z, iz);\n if (is0)\n return { x: Fp.ZERO, y: Fp.ZERO };\n if (!Fp.eql(zz, Fp.ONE))\n throw new Error('invZ was invalid');\n return { x: ax, y: ay };\n }\n isTorsionFree() {\n const { h: cofactor, isTorsionFree } = CURVE;\n if (cofactor === _1n)\n return true; // No subgroups, always torsion-free\n if (isTorsionFree)\n return isTorsionFree(Point, this);\n throw new Error('isTorsionFree() has not been declared for the elliptic curve');\n }\n clearCofactor() {\n const { h: cofactor, clearCofactor } = CURVE;\n if (cofactor === _1n)\n return this; // Fast-path\n if (clearCofactor)\n return clearCofactor(Point, this);\n return this.multiplyUnsafe(CURVE.h);\n }\n toRawBytes(isCompressed = true) {\n this.assertValidity();\n return toBytes(Point, this, isCompressed);\n }\n toHex(isCompressed = true) {\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToHex(this.toRawBytes(isCompressed));\n }\n }\n Point.BASE = new Point(CURVE.Gx, CURVE.Gy, Fp.ONE);\n Point.ZERO = new Point(Fp.ZERO, Fp.ONE, Fp.ZERO);\n const _bits = CURVE.nBitLength;\n const wnaf = (0,_curve_js__WEBPACK_IMPORTED_MODULE_2__.wNAF)(Point, CURVE.endo ? Math.ceil(_bits / 2) : _bits);\n // Validate if generator point is on curve\n return {\n CURVE,\n ProjectivePoint: Point,\n normPrivateKeyToScalar,\n weierstrassEquation,\n isWithinCurveOrder,\n };\n}\nfunction validateOpts(curve) {\n const opts = (0,_curve_js__WEBPACK_IMPORTED_MODULE_2__.validateBasic)(curve);\n _utils_js__WEBPACK_IMPORTED_MODULE_1__.validateObject(opts, {\n hash: 'hash',\n hmac: 'function',\n randomBytes: 'function',\n }, {\n bits2int: 'function',\n bits2int_modN: 'function',\n lowS: 'boolean',\n });\n return Object.freeze({ lowS: true, ...opts });\n}\nfunction weierstrass(curveDef) {\n const CURVE = validateOpts(curveDef);\n const { Fp, n: CURVE_ORDER } = CURVE;\n const compressedLen = Fp.BYTES + 1; // e.g. 33 for 32\n const uncompressedLen = 2 * Fp.BYTES + 1; // e.g. 65 for 32\n function isValidFieldElement(num) {\n return _0n < num && num < Fp.ORDER; // 0 is banned since it's not invertible FE\n }\n function modN(a) {\n return _modular_js__WEBPACK_IMPORTED_MODULE_0__.mod(a, CURVE_ORDER);\n }\n function invN(a) {\n return _modular_js__WEBPACK_IMPORTED_MODULE_0__.invert(a, CURVE_ORDER);\n }\n const { ProjectivePoint: Point, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder, } = weierstrassPoints({\n ...CURVE,\n toBytes(c, point, isCompressed) {\n const a = point.toAffine();\n const x = Fp.toBytes(a.x);\n const cat = _utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes;\n if (isCompressed) {\n return cat(Uint8Array.from([point.hasEvenY() ? 0x02 : 0x03]), x);\n }\n else {\n return cat(Uint8Array.from([0x04]), x, Fp.toBytes(a.y));\n }\n },\n fromBytes(bytes) {\n const len = bytes.length;\n const head = bytes[0];\n const tail = bytes.subarray(1);\n // this.assertValidity() is done inside of fromHex\n if (len === compressedLen && (head === 0x02 || head === 0x03)) {\n const x = _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToNumberBE(tail);\n if (!isValidFieldElement(x))\n throw new Error('Point is not on curve');\n const y2 = weierstrassEquation(x); // y² = x³ + ax + b\n let y = Fp.sqrt(y2); // y = y² ^ (p+1)/4\n const isYOdd = (y & _1n) === _1n;\n // ECDSA\n const isHeadOdd = (head & 1) === 1;\n if (isHeadOdd !== isYOdd)\n y = Fp.neg(y);\n return { x, y };\n }\n else if (len === uncompressedLen && head === 0x04) {\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n }\n else {\n throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`);\n }\n },\n });\n const numToNByteStr = (num) => _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToHex(_utils_js__WEBPACK_IMPORTED_MODULE_1__.numberToBytesBE(num, CURVE.nByteLength));\n function isBiggerThanHalfOrder(number) {\n const HALF = CURVE_ORDER >> _1n;\n return number > HALF;\n }\n function normalizeS(s) {\n return isBiggerThanHalfOrder(s) ? modN(-s) : s;\n }\n // slice bytes num\n const slcNum = (b, from, to) => _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToNumberBE(b.slice(from, to));\n /**\n * ECDSA signature with its (r, s) properties. Supports DER & compact representations.\n */\n class Signature {\n constructor(r, s, recovery) {\n this.r = r;\n this.s = s;\n this.recovery = recovery;\n this.assertValidity();\n }\n // pair (bytes of r, bytes of s)\n static fromCompact(hex) {\n const l = CURVE.nByteLength;\n hex = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('compactSignature', hex, l * 2);\n return new Signature(slcNum(hex, 0, l), slcNum(hex, l, 2 * l));\n }\n // DER encoded ECDSA signature\n // https://bitcoin.stackexchange.com/questions/57644/what-are-the-parts-of-a-bitcoin-transaction-input-script\n static fromDER(hex) {\n const { r, s } = DER.toSig((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('DER', hex));\n return new Signature(r, s);\n }\n assertValidity() {\n // can use assertGE here\n if (!isWithinCurveOrder(this.r))\n throw new Error('r must be 0 < r < CURVE.n');\n if (!isWithinCurveOrder(this.s))\n throw new Error('s must be 0 < s < CURVE.n');\n }\n addRecoveryBit(recovery) {\n return new Signature(this.r, this.s, recovery);\n }\n recoverPublicKey(msgHash) {\n const { r, s, recovery: rec } = this;\n const h = bits2int_modN((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('msgHash', msgHash)); // Truncate hash\n if (rec == null || ![0, 1, 2, 3].includes(rec))\n throw new Error('recovery id invalid');\n const radj = rec === 2 || rec === 3 ? r + CURVE.n : r;\n if (radj >= Fp.ORDER)\n throw new Error('recovery id 2 or 3 invalid');\n const prefix = (rec & 1) === 0 ? '02' : '03';\n const R = Point.fromHex(prefix + numToNByteStr(radj));\n const ir = invN(radj); // r^-1\n const u1 = modN(-h * ir); // -hr^-1\n const u2 = modN(s * ir); // sr^-1\n const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2); // (sr^-1)R-(hr^-1)G = -(hr^-1)G + (sr^-1)\n if (!Q)\n throw new Error('point at infinify'); // unsafe is fine: no priv data leaked\n Q.assertValidity();\n return Q;\n }\n // Signatures should be low-s, to prevent malleability.\n hasHighS() {\n return isBiggerThanHalfOrder(this.s);\n }\n normalizeS() {\n return this.hasHighS() ? new Signature(this.r, modN(-this.s), this.recovery) : this;\n }\n // DER-encoded\n toDERRawBytes() {\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__.hexToBytes(this.toDERHex());\n }\n toDERHex() {\n return DER.hexFromSig({ r: this.r, s: this.s });\n }\n // padded bytes of r, then padded bytes of s\n toCompactRawBytes() {\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__.hexToBytes(this.toCompactHex());\n }\n toCompactHex() {\n return numToNByteStr(this.r) + numToNByteStr(this.s);\n }\n }\n const utils = {\n isValidPrivateKey(privateKey) {\n try {\n normPrivateKeyToScalar(privateKey);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n normPrivateKeyToScalar: normPrivateKeyToScalar,\n /**\n * Produces cryptographically secure private key from random of size (nBitLength+64)\n * as per FIPS 186 B.4.1 with modulo bias being neglible.\n */\n randomPrivateKey: () => {\n const rand = CURVE.randomBytes(Fp.BYTES + 8);\n const num = _modular_js__WEBPACK_IMPORTED_MODULE_0__.hashToPrivateScalar(rand, CURVE_ORDER);\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__.numberToBytesBE(num, CURVE.nByteLength);\n },\n /**\n * Creates precompute table for an arbitrary EC point. Makes point \"cached\".\n * Allows to massively speed-up `point.multiply(scalar)`.\n * @returns cached point\n * @example\n * const fast = utils.precompute(8, ProjectivePoint.fromHex(someonesPubKey));\n * fast.multiply(privKey); // much faster ECDH now\n */\n precompute(windowSize = 8, point = Point.BASE) {\n point._setWindowSize(windowSize);\n point.multiply(BigInt(3)); // 3 is arbitrary, just need any number here\n return point;\n },\n };\n /**\n * Computes public key for a private key. Checks for validity of the private key.\n * @param privateKey private key\n * @param isCompressed whether to return compact (default), or full key\n * @returns Public key, full when isCompressed=false; short when isCompressed=true\n */\n function getPublicKey(privateKey, isCompressed = true) {\n return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n }\n /**\n * Quick and dirty check for item being public key. Does not validate hex, or being on-curve.\n */\n function isProbPub(item) {\n const arr = item instanceof Uint8Array;\n const str = typeof item === 'string';\n const len = (arr || str) && item.length;\n if (arr)\n return len === compressedLen || len === uncompressedLen;\n if (str)\n return len === 2 * compressedLen || len === 2 * uncompressedLen;\n if (item instanceof Point)\n return true;\n return false;\n }\n /**\n * ECDH (Elliptic Curve Diffie Hellman).\n * Computes shared public key from private key and public key.\n * Checks: 1) private key validity 2) shared key is on-curve.\n * Does NOT hash the result.\n * @param privateA private key\n * @param publicB different public key\n * @param isCompressed whether to return compact (default), or full key\n * @returns shared public key\n */\n function getSharedSecret(privateA, publicB, isCompressed = true) {\n if (isProbPub(privateA))\n throw new Error('first arg must be private key');\n if (!isProbPub(publicB))\n throw new Error('second arg must be public key');\n const b = Point.fromHex(publicB); // check for being on-curve\n return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed);\n }\n // RFC6979: ensure ECDSA msg is X bytes and < N. RFC suggests optional truncating via bits2octets.\n // FIPS 186-4 4.6 suggests the leftmost min(nBitLen, outLen) bits, which matches bits2int.\n // bits2int can produce res>N, we can do mod(res, N) since the bitLen is the same.\n // int2octets can't be used; pads small msgs with 0: unacceptatble for trunc as per RFC vectors\n const bits2int = CURVE.bits2int ||\n function (bytes) {\n // For curves with nBitLength % 8 !== 0: bits2octets(bits2octets(m)) !== bits2octets(m)\n // for some cases, since bytes.length * 8 is not actual bitLength.\n const num = _utils_js__WEBPACK_IMPORTED_MODULE_1__.bytesToNumberBE(bytes); // check for == u8 done here\n const delta = bytes.length * 8 - CURVE.nBitLength; // truncate to nBitLength leftmost bits\n return delta > 0 ? num >> BigInt(delta) : num;\n };\n const bits2int_modN = CURVE.bits2int_modN ||\n function (bytes) {\n return modN(bits2int(bytes)); // can't use bytesToNumberBE here\n };\n // NOTE: pads output with zero as per spec\n const ORDER_MASK = _utils_js__WEBPACK_IMPORTED_MODULE_1__.bitMask(CURVE.nBitLength);\n /**\n * Converts to bytes. Checks if num in `[0..ORDER_MASK-1]` e.g.: `[0..2^256-1]`.\n */\n function int2octets(num) {\n if (typeof num !== 'bigint')\n throw new Error('bigint expected');\n if (!(_0n <= num && num < ORDER_MASK))\n throw new Error(`bigint expected < 2^${CURVE.nBitLength}`);\n // works with order, can have different size than numToField!\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__.numberToBytesBE(num, CURVE.nByteLength);\n }\n // Steps A, D of RFC6979 3.2\n // Creates RFC6979 seed; converts msg/privKey to numbers.\n // Used only in sign, not in verify.\n // NOTE: we cannot assume here that msgHash has same amount of bytes as curve order, this will be wrong at least for P521.\n // Also it can be bigger for P224 + SHA256\n function prepSig(msgHash, privateKey, opts = defaultSigOpts) {\n if (['recovered', 'canonical'].some((k) => k in opts))\n throw new Error('sign() legacy options not supported');\n const { hash, randomBytes } = CURVE;\n let { lowS, prehash, extraEntropy: ent } = opts; // generates low-s sigs by default\n if (lowS == null)\n lowS = true; // RFC6979 3.2: we skip step A, because we already provide hash\n msgHash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('msgHash', msgHash);\n if (prehash)\n msgHash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('prehashed msgHash', hash(msgHash));\n // We can't later call bits2octets, since nested bits2int is broken for curves\n // with nBitLength % 8 !== 0. Because of that, we unwrap it here as int2octets call.\n // const bits2octets = (bits) => int2octets(bits2int_modN(bits))\n const h1int = bits2int_modN(msgHash);\n const d = normPrivateKeyToScalar(privateKey); // validate private key, convert to bigint\n const seedArgs = [int2octets(d), int2octets(h1int)];\n // extraEntropy. RFC6979 3.6: additional k' (optional).\n if (ent != null) {\n // K = HMAC_K(V || 0x00 || int2octets(x) || bits2octets(h1) || k')\n const e = ent === true ? randomBytes(Fp.BYTES) : ent; // generate random bytes OR pass as-is\n seedArgs.push((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('extraEntropy', e, Fp.BYTES)); // check for being of size BYTES\n }\n const seed = _utils_js__WEBPACK_IMPORTED_MODULE_1__.concatBytes(...seedArgs); // Step D of RFC6979 3.2\n const m = h1int; // NOTE: no need to call bits2int second time here, it is inside truncateHash!\n // Converts signature params into point w r/s, checks result for validity.\n function k2sig(kBytes) {\n // RFC 6979 Section 3.2, step 3: k = bits2int(T)\n const k = bits2int(kBytes); // Cannot use fields methods, since it is group element\n if (!isWithinCurveOrder(k))\n return; // Important: all mod() calls here must be done over N\n const ik = invN(k); // k^-1 mod n\n const q = Point.BASE.multiply(k).toAffine(); // q = Gk\n const r = modN(q.x); // r = q.x mod n\n if (r === _0n)\n return;\n // Can use scalar blinding b^-1(bm + bdr) where b ∈ [1,q−1] according to\n // https://tches.iacr.org/index.php/TCHES/article/view/7337/6509. We've decided against it:\n // a) dependency on CSPRNG b) 15% slowdown c) doesn't really help since bigints are not CT\n const s = modN(ik * modN(m + r * d)); // Not using blinding here\n if (s === _0n)\n return;\n let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n); // recovery bit (2 or 3, when q.x > n)\n let normS = s;\n if (lowS && isBiggerThanHalfOrder(s)) {\n normS = normalizeS(s); // if lowS was passed, ensure s is always\n recovery ^= 1; // // in the bottom half of N\n }\n return new Signature(r, normS, recovery); // use normS, not s\n }\n return { seed, k2sig };\n }\n const defaultSigOpts = { lowS: CURVE.lowS, prehash: false };\n const defaultVerOpts = { lowS: CURVE.lowS, prehash: false };\n /**\n * Signs message hash (not message: you need to hash it by yourself).\n * ```\n * sign(m, d, k) where\n * (x, y) = G × k\n * r = x mod n\n * s = (m + dr)/k mod n\n * ```\n * @param opts `lowS, extraEntropy, prehash`\n */\n function sign(msgHash, privKey, opts = defaultSigOpts) {\n const { seed, k2sig } = prepSig(msgHash, privKey, opts); // Steps A, D of RFC6979 3.2.\n const drbg = _utils_js__WEBPACK_IMPORTED_MODULE_1__.createHmacDrbg(CURVE.hash.outputLen, CURVE.nByteLength, CURVE.hmac);\n return drbg(seed, k2sig); // Steps B, C, D, E, F, G\n }\n // Enable precomputes. Slows down first publicKey computation by 20ms.\n Point.BASE._setWindowSize(8);\n // utils.precompute(8, ProjectivePoint.BASE)\n /**\n * Verifies a signature against message hash and public key.\n * Rejects lowS signatures by default: to override,\n * specify option `{lowS: false}`. Implements section 4.1.4 from https://www.secg.org/sec1-v2.pdf:\n *\n * ```\n * verify(r, s, h, P) where\n * U1 = hs^-1 mod n\n * U2 = rs^-1 mod n\n * R = U1⋅G - U2⋅P\n * mod(R.x, n) == r\n * ```\n */\n function verify(signature, msgHash, publicKey, opts = defaultVerOpts) {\n const sg = signature;\n msgHash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('msgHash', msgHash);\n publicKey = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.ensureBytes)('publicKey', publicKey);\n if ('strict' in opts)\n throw new Error('options.strict was renamed to lowS');\n const { lowS, prehash } = opts;\n let _sig = undefined;\n let P;\n try {\n if (typeof sg === 'string' || sg instanceof Uint8Array) {\n // Signature can be represented in 2 ways: compact (2*nByteLength) & DER (variable-length).\n // Since DER can also be 2*nByteLength bytes, we check for it first.\n try {\n _sig = Signature.fromDER(sg);\n }\n catch (derError) {\n if (!(derError instanceof DER.Err))\n throw derError;\n _sig = Signature.fromCompact(sg);\n }\n }\n else if (typeof sg === 'object' && typeof sg.r === 'bigint' && typeof sg.s === 'bigint') {\n const { r, s } = sg;\n _sig = new Signature(r, s);\n }\n else {\n throw new Error('PARSE');\n }\n P = Point.fromHex(publicKey);\n }\n catch (error) {\n if (error.message === 'PARSE')\n throw new Error(`signature must be Signature instance, Uint8Array or hex string`);\n return false;\n }\n if (lowS && _sig.hasHighS())\n return false;\n if (prehash)\n msgHash = CURVE.hash(msgHash);\n const { r, s } = _sig;\n const h = bits2int_modN(msgHash); // Cannot use fields methods, since it is group element\n const is = invN(s); // s^-1\n const u1 = modN(h * is); // u1 = hs^-1 mod n\n const u2 = modN(r * is); // u2 = rs^-1 mod n\n const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); // R = u1⋅G + u2⋅P\n if (!R)\n return false;\n const v = modN(R.x);\n return v === r;\n }\n return {\n CURVE,\n getPublicKey,\n getSharedSecret,\n sign,\n verify,\n ProjectivePoint: Point,\n Signature,\n utils,\n };\n}\n// Implementation of the Shallue and van de Woestijne method for any Weierstrass curve\n// TODO: check if there is a way to merge this with uvRatio in Edwards && move to modular?\n// b = True and y = sqrt(u / v) if (u / v) is square in F, and\n// b = False and y = sqrt(Z * (u / v)) otherwise.\nfunction SWUFpSqrtRatio(Fp, Z) {\n // Generic implementation\n const q = Fp.ORDER;\n let l = _0n;\n for (let o = q - _1n; o % _2n === _0n; o /= _2n)\n l += _1n;\n const c1 = l; // 1. c1, the largest integer such that 2^c1 divides q - 1.\n const c2 = (q - _1n) / _2n ** c1; // 2. c2 = (q - 1) / (2^c1) # Integer arithmetic\n const c3 = (c2 - _1n) / _2n; // 3. c3 = (c2 - 1) / 2 # Integer arithmetic\n const c4 = _2n ** c1 - _1n; // 4. c4 = 2^c1 - 1 # Integer arithmetic\n const c5 = _2n ** (c1 - _1n); // 5. c5 = 2^(c1 - 1) # Integer arithmetic\n const c6 = Fp.pow(Z, c2); // 6. c6 = Z^c2\n const c7 = Fp.pow(Z, (c2 + _1n) / _2n); // 7. c7 = Z^((c2 + 1) / 2)\n let sqrtRatio = (u, v) => {\n let tv1 = c6; // 1. tv1 = c6\n let tv2 = Fp.pow(v, c4); // 2. tv2 = v^c4\n let tv3 = Fp.sqr(tv2); // 3. tv3 = tv2^2\n tv3 = Fp.mul(tv3, v); // 4. tv3 = tv3 * v\n let tv5 = Fp.mul(u, tv3); // 5. tv5 = u * tv3\n tv5 = Fp.pow(tv5, c3); // 6. tv5 = tv5^c3\n tv5 = Fp.mul(tv5, tv2); // 7. tv5 = tv5 * tv2\n tv2 = Fp.mul(tv5, v); // 8. tv2 = tv5 * v\n tv3 = Fp.mul(tv5, u); // 9. tv3 = tv5 * u\n let tv4 = Fp.mul(tv3, tv2); // 10. tv4 = tv3 * tv2\n tv5 = Fp.pow(tv4, c5); // 11. tv5 = tv4^c5\n let isQR = Fp.eql(tv5, Fp.ONE); // 12. isQR = tv5 == 1\n tv2 = Fp.mul(tv3, c7); // 13. tv2 = tv3 * c7\n tv5 = Fp.mul(tv4, tv1); // 14. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, isQR); // 15. tv3 = CMOV(tv2, tv3, isQR)\n tv4 = Fp.cmov(tv5, tv4, isQR); // 16. tv4 = CMOV(tv5, tv4, isQR)\n // 17. for i in (c1, c1 - 1, ..., 2):\n for (let i = c1; i > _1n; i--) {\n let tv5 = _2n ** (i - _2n); // 18. tv5 = i - 2; 19. tv5 = 2^tv5\n let tvv5 = Fp.pow(tv4, tv5); // 20. tv5 = tv4^tv5\n const e1 = Fp.eql(tvv5, Fp.ONE); // 21. e1 = tv5 == 1\n tv2 = Fp.mul(tv3, tv1); // 22. tv2 = tv3 * tv1\n tv1 = Fp.mul(tv1, tv1); // 23. tv1 = tv1 * tv1\n tvv5 = Fp.mul(tv4, tv1); // 24. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, e1); // 25. tv3 = CMOV(tv2, tv3, e1)\n tv4 = Fp.cmov(tvv5, tv4, e1); // 26. tv4 = CMOV(tv5, tv4, e1)\n }\n return { isValid: isQR, value: tv3 };\n };\n if (Fp.ORDER % _4n === _3n) {\n // sqrt_ratio_3mod4(u, v)\n const c1 = (Fp.ORDER - _3n) / _4n; // 1. c1 = (q - 3) / 4 # Integer arithmetic\n const c2 = Fp.sqrt(Fp.neg(Z)); // 2. c2 = sqrt(-Z)\n sqrtRatio = (u, v) => {\n let tv1 = Fp.sqr(v); // 1. tv1 = v^2\n const tv2 = Fp.mul(u, v); // 2. tv2 = u * v\n tv1 = Fp.mul(tv1, tv2); // 3. tv1 = tv1 * tv2\n let y1 = Fp.pow(tv1, c1); // 4. y1 = tv1^c1\n y1 = Fp.mul(y1, tv2); // 5. y1 = y1 * tv2\n const y2 = Fp.mul(y1, c2); // 6. y2 = y1 * c2\n const tv3 = Fp.mul(Fp.sqr(y1), v); // 7. tv3 = y1^2; 8. tv3 = tv3 * v\n const isQR = Fp.eql(tv3, u); // 9. isQR = tv3 == u\n let y = Fp.cmov(y2, y1, isQR); // 10. y = CMOV(y2, y1, isQR)\n return { isValid: isQR, value: y }; // 11. return (isQR, y) isQR ? y : y*c2\n };\n }\n // No curves uses that\n // if (Fp.ORDER % _8n === _5n) // sqrt_ratio_5mod8\n return sqrtRatio;\n}\n// From draft-irtf-cfrg-hash-to-curve-16\nfunction mapToCurveSimpleSWU(Fp, opts) {\n _modular_js__WEBPACK_IMPORTED_MODULE_0__.validateField(Fp);\n if (!Fp.isValid(opts.A) || !Fp.isValid(opts.B) || !Fp.isValid(opts.Z))\n throw new Error('mapToCurveSimpleSWU: invalid opts');\n const sqrtRatio = SWUFpSqrtRatio(Fp, opts.Z);\n if (!Fp.isOdd)\n throw new Error('Fp.isOdd is not implemented!');\n // Input: u, an element of F.\n // Output: (x, y), a point on E.\n return (u) => {\n // prettier-ignore\n let tv1, tv2, tv3, tv4, tv5, tv6, x, y;\n tv1 = Fp.sqr(u); // 1. tv1 = u^2\n tv1 = Fp.mul(tv1, opts.Z); // 2. tv1 = Z * tv1\n tv2 = Fp.sqr(tv1); // 3. tv2 = tv1^2\n tv2 = Fp.add(tv2, tv1); // 4. tv2 = tv2 + tv1\n tv3 = Fp.add(tv2, Fp.ONE); // 5. tv3 = tv2 + 1\n tv3 = Fp.mul(tv3, opts.B); // 6. tv3 = B * tv3\n tv4 = Fp.cmov(opts.Z, Fp.neg(tv2), !Fp.eql(tv2, Fp.ZERO)); // 7. tv4 = CMOV(Z, -tv2, tv2 != 0)\n tv4 = Fp.mul(tv4, opts.A); // 8. tv4 = A * tv4\n tv2 = Fp.sqr(tv3); // 9. tv2 = tv3^2\n tv6 = Fp.sqr(tv4); // 10. tv6 = tv4^2\n tv5 = Fp.mul(tv6, opts.A); // 11. tv5 = A * tv6\n tv2 = Fp.add(tv2, tv5); // 12. tv2 = tv2 + tv5\n tv2 = Fp.mul(tv2, tv3); // 13. tv2 = tv2 * tv3\n tv6 = Fp.mul(tv6, tv4); // 14. tv6 = tv6 * tv4\n tv5 = Fp.mul(tv6, opts.B); // 15. tv5 = B * tv6\n tv2 = Fp.add(tv2, tv5); // 16. tv2 = tv2 + tv5\n x = Fp.mul(tv1, tv3); // 17. x = tv1 * tv3\n const { isValid, value } = sqrtRatio(tv2, tv6); // 18. (is_gx1_square, y1) = sqrt_ratio(tv2, tv6)\n y = Fp.mul(tv1, u); // 19. y = tv1 * u -> Z * u^3 * y1\n y = Fp.mul(y, value); // 20. y = y * y1\n x = Fp.cmov(x, tv3, isValid); // 21. x = CMOV(x, tv3, is_gx1_square)\n y = Fp.cmov(y, value, isValid); // 22. y = CMOV(y, y1, is_gx1_square)\n const e1 = Fp.isOdd(u) === Fp.isOdd(y); // 23. e1 = sgn0(u) == sgn0(y)\n y = Fp.cmov(Fp.neg(y), y, e1); // 24. y = CMOV(-y, y, e1)\n x = Fp.div(x, tv4); // 25. x = x / tv4\n return { x, y };\n };\n}\n//# sourceMappingURL=weierstrass.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3Qvd2VpZXJzdHJhc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ29DO0FBQ0g7QUFDUTtBQUNRO0FBQ2pEO0FBQ0EsaUJBQWlCLHdEQUFhO0FBQzlCLElBQUkscURBQWlCO0FBQ3JCO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsWUFBWSxjQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLFNBQVM7QUFDcEM7QUFDQTtBQUNBLFFBQVEsd0NBQXdDLEVBQUUsc0NBQUU7QUFDN0M7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZ0JBQWdCLFNBQVM7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiwwQ0FBMEM7QUFDM0QsS0FBSztBQUNMO0FBQ0E7QUFDQSxnQkFBZ0IsU0FBUztBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGtCQUFrQjtBQUNsQyxnQkFBZ0Isc0JBQXNCO0FBQ3RDO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsSUFBSTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUIsSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzNELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxZQUFZLEtBQUssU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsa0RBQWM7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cEMscUNBQXFDO0FBQ3JDLHlDQUF5QztBQUN6QywwQ0FBMEM7QUFDMUM7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDLHVDQUF1QztBQUN2QztBQUNBLGlDQUFpQztBQUNqQyxzQ0FBc0M7QUFDdEMsb0NBQW9DO0FBQ3BDLHNDQUFzQztBQUN0QyxrQ0FBa0M7QUFDbEMsdUNBQXVDO0FBQ3ZDLCtDQUErQyxrQkFBa0I7QUFDakUseUNBQXlDO0FBQ3pDLDJDQUEyQztBQUMzQyxxQkFBcUIsMkJBQTJCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxJQUFJLHNEQUFpQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QixtQ0FBbUM7QUFDbkMsMkJBQTJCO0FBQzNCLGdDQUFnQztBQUNoQyxtQ0FBbUM7QUFDbkMsbUNBQW1DO0FBQ25DLG1FQUFtRTtBQUNuRSxtQ0FBbUM7QUFDbkMsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQixtQ0FBbUM7QUFDbkMsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQyxnQ0FBZ0M7QUFDaEMsbUNBQW1DO0FBQ25DLGdDQUFnQztBQUNoQyw4QkFBOEI7QUFDOUIsZ0JBQWdCLGlCQUFpQix1QkFBdUI7QUFDeEQsNEJBQTRCO0FBQzVCLDhCQUE4QjtBQUM5QixzQ0FBc0M7QUFDdEMsd0NBQXdDO0FBQ3hDLGdEQUFnRDtBQUNoRCx1Q0FBdUM7QUFDdkMsNEJBQTRCO0FBQzVCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9jdXJ2ZXMvZXNtL2Fic3RyYWN0L3dlaWVyc3RyYXNzLmpzPzM0NGQiXSwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vYmxlLWN1cnZlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL1xuLy8gU2hvcnQgV2VpZXJzdHJhc3MgY3VydmUuIFRoZSBmb3JtdWxhIGlzOiB5wrIgPSB4wrMgKyBheCArIGJcbmltcG9ydCAqIGFzIG1vZCBmcm9tICcuL21vZHVsYXIuanMnO1xuaW1wb3J0ICogYXMgdXQgZnJvbSAnLi91dGlscy5qcyc7XG5pbXBvcnQgeyBlbnN1cmVCeXRlcyB9IGZyb20gJy4vdXRpbHMuanMnO1xuaW1wb3J0IHsgd05BRiwgdmFsaWRhdGVCYXNpYyB9IGZyb20gJy4vY3VydmUuanMnO1xuZnVuY3Rpb24gdmFsaWRhdGVQb2ludE9wdHMoY3VydmUpIHtcbiAgICBjb25zdCBvcHRzID0gdmFsaWRhdGVCYXNpYyhjdXJ2ZSk7XG4gICAgdXQudmFsaWRhdGVPYmplY3Qob3B0cywge1xuICAgICAgICBhOiAnZmllbGQnLFxuICAgICAgICBiOiAnZmllbGQnLFxuICAgIH0sIHtcbiAgICAgICAgYWxsb3dlZFByaXZhdGVLZXlMZW5ndGhzOiAnYXJyYXknLFxuICAgICAgICB3cmFwUHJpdmF0ZUtleTogJ2Jvb2xlYW4nLFxuICAgICAgICBpc1RvcnNpb25GcmVlOiAnZnVuY3Rpb24nLFxuICAgICAgICBjbGVhckNvZmFjdG9yOiAnZnVuY3Rpb24nLFxuICAgICAgICBhbGxvd0luZmluaXR5UG9pbnQ6ICdib29sZWFuJyxcbiAgICAgICAgZnJvbUJ5dGVzOiAnZnVuY3Rpb24nLFxuICAgICAgICB0b0J5dGVzOiAnZnVuY3Rpb24nLFxuICAgIH0pO1xuICAgIGNvbnN0IHsgZW5kbywgRnAsIGEgfSA9IG9wdHM7XG4gICAgaWYgKGVuZG8pIHtcbiAgICAgICAgaWYgKCFGcC5lcWwoYSwgRnAuWkVSTykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW5kb21vcnBoaXNtIGNhbiBvbmx5IGJlIGRlZmluZWQgZm9yIEtvYmxpdHogY3VydmVzIHRoYXQgaGF2ZSBhPTAnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGVuZG8gIT09ICdvYmplY3QnIHx8XG4gICAgICAgICAgICB0eXBlb2YgZW5kby5iZXRhICE9PSAnYmlnaW50JyB8fFxuICAgICAgICAgICAgdHlwZW9mIGVuZG8uc3BsaXRTY2FsYXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZW5kb21vcnBoaXNtIHdpdGggYmV0YTogYmlnaW50IGFuZCBzcGxpdFNjYWxhcjogZnVuY3Rpb24nKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZSh7IC4uLm9wdHMgfSk7XG59XG4vLyBBU04uMSBERVIgZW5jb2RpbmcgdXRpbGl0aWVzXG5jb25zdCB7IGJ5dGVzVG9OdW1iZXJCRTogYjJuLCBoZXhUb0J5dGVzOiBoMmIgfSA9IHV0O1xuZXhwb3J0IGNvbnN0IERFUiA9IHtcbiAgICAvLyBhc24uMSBERVIgZW5jb2RpbmcgdXRpbHNcbiAgICBFcnI6IGNsYXNzIERFUkVyciBleHRlbmRzIEVycm9yIHtcbiAgICAgICAgY29uc3RydWN0b3IobSA9ICcnKSB7XG4gICAgICAgICAgICBzdXBlcihtKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgX3BhcnNlSW50KGRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBFcnI6IEUgfSA9IERFUjtcbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoIDwgMiB8fCBkYXRhWzBdICE9PSAweDAyKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEUoJ0ludmFsaWQgc2lnbmF0dXJlIGludGVnZXIgdGFnJyk7XG4gICAgICAgIGNvbnN0IGxlbiA9IGRhdGFbMV07XG4gICAgICAgIGNvbnN0IHJlcyA9IGRhdGEuc3ViYXJyYXkoMiwgbGVuICsgMik7XG4gICAgICAgIGlmICghbGVuIHx8IHJlcy5sZW5ndGggIT09IGxlbilcbiAgICAgICAgICAgIHRocm93IG5ldyBFKCdJbnZhbGlkIHNpZ25hdHVyZSBpbnRlZ2VyOiB3cm9uZyBsZW5ndGgnKTtcbiAgICAgICAgLy8gaHR0cHM6Ly9jcnlwdG8uc3RhY2tleGNoYW5nZS5jb20vYS81NzczNCBMZWZ0bW9zdCBiaXQgb2YgZmlyc3QgYnl0ZSBpcyAnbmVnYXRpdmUnIGZsYWcsXG4gICAgICAgIC8vIHNpbmNlIHdlIGFsd2F5cyB1c2UgcG9zaXRpdmUgaW50ZWdlcnMgaGVyZS4gSXQgbXVzdCBhbHdheXMgYmUgZW1wdHk6XG4gICAgICAgIC8vIC0gYWRkIHplcm8gYnl0ZSBpZiBleGlzdHNcbiAgICAgICAgLy8gLSBpZiBuZXh0IGJ5dGUgZG9lc24ndCBoYXZlIGEgZmxhZywgbGVhZGluZyB6ZXJvIGlzIG5vdCBhbGxvd2VkIChtaW5pbWFsIGVuY29kaW5nKVxuICAgICAgICBpZiAocmVzWzBdICYgMGIxMDAwMDAwMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFKCdJbnZhbGlkIHNpZ25hdHVyZSBpbnRlZ2VyOiBuZWdhdGl2ZScpO1xuICAgICAgICBpZiAocmVzWzBdID09PSAweDAwICYmICEocmVzWzFdICYgMGIxMDAwMDAwMCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRSgnSW52YWxpZCBzaWduYXR1cmUgaW50ZWdlcjogdW5uZWNlc3NhcnkgbGVhZGluZyB6ZXJvJyk7XG4gICAgICAgIHJldHVybiB7IGQ6IGIybihyZXMpLCBsOiBkYXRhLnN1YmFycmF5KGxlbiArIDIpIH07IC8vIGQgaXMgZGF0YSwgbCBpcyBsZWZ0XG4gICAgfSxcbiAgICB0b1NpZyhoZXgpIHtcbiAgICAgICAgLy8gcGFyc2UgREVSIHNpZ25hdHVyZVxuICAgICAgICBjb25zdCB7IEVycjogRSB9ID0gREVSO1xuICAgICAgICBjb25zdCBkYXRhID0gdHlwZW9mIGhleCA9PT0gJ3N0cmluZycgPyBoMmIoaGV4KSA6IGhleDtcbiAgICAgICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1aThhIGV4cGVjdGVkJyk7XG4gICAgICAgIGxldCBsID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIGlmIChsIDwgMiB8fCBkYXRhWzBdICE9IDB4MzApXG4gICAgICAgICAgICB0aHJvdyBuZXcgRSgnSW52YWxpZCBzaWduYXR1cmUgdGFnJyk7XG4gICAgICAgIGlmIChkYXRhWzFdICE9PSBsIC0gMilcbiAgICAgICAgICAgIHRocm93IG5ldyBFKCdJbnZhbGlkIHNpZ25hdHVyZTogaW5jb3JyZWN0IGxlbmd0aCcpO1xuICAgICAgICBjb25zdCB7IGQ6IHIsIGw6IHNCeXRlcyB9ID0gREVSLl9wYXJzZUludChkYXRhLnN1YmFycmF5KDIpKTtcbiAgICAgICAgY29uc3QgeyBkOiBzLCBsOiByQnl0ZXNMZWZ0IH0gPSBERVIuX3BhcnNlSW50KHNCeXRlcyk7XG4gICAgICAgIGlmIChyQnl0ZXNMZWZ0Lmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFKCdJbnZhbGlkIHNpZ25hdHVyZTogbGVmdCBieXRlcyBhZnRlciBwYXJzaW5nJyk7XG4gICAgICAgIHJldHVybiB7IHIsIHMgfTtcbiAgICB9LFxuICAgIGhleEZyb21TaWcoc2lnKSB7XG4gICAgICAgIC8vIEFkZCBsZWFkaW5nIHplcm8gaWYgZmlyc3QgYnl0ZSBoYXMgbmVnYXRpdmUgYml0IGVuYWJsZWQuIE1vcmUgZGV0YWlscyBpbiAnX3BhcnNlSW50J1xuICAgICAgICBjb25zdCBzbGljZSA9IChzKSA9PiAoTnVtYmVyLnBhcnNlSW50KHNbMF0sIDE2KSAmIDBiMTAwMCA/ICcwMCcgKyBzIDogcyk7XG4gICAgICAgIGNvbnN0IGggPSAobnVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBoZXggPSBudW0udG9TdHJpbmcoMTYpO1xuICAgICAgICAgICAgcmV0dXJuIGhleC5sZW5ndGggJiAxID8gYDAke2hleH1gIDogaGV4O1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzID0gc2xpY2UoaChzaWcucykpO1xuICAgICAgICBjb25zdCByID0gc2xpY2UoaChzaWcucikpO1xuICAgICAgICBjb25zdCBzaGwgPSBzLmxlbmd0aCAvIDI7XG4gICAgICAgIGNvbnN0IHJobCA9IHIubGVuZ3RoIC8gMjtcbiAgICAgICAgY29uc3Qgc2wgPSBoKHNobCk7XG4gICAgICAgIGNvbnN0IHJsID0gaChyaGwpO1xuICAgICAgICByZXR1cm4gYDMwJHtoKHJobCArIHNobCArIDQpfTAyJHtybH0ke3J9MDIke3NsfSR7c31gO1xuICAgIH0sXG59O1xuLy8gQmUgZnJpZW5kbHkgdG8gYmFkIEVDTUFTY3JpcHQgcGFyc2VycyBieSBub3QgdXNpbmcgYmlnaW50IGxpdGVyYWxzXG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IF8wbiA9IEJpZ0ludCgwKSwgXzFuID0gQmlnSW50KDEpLCBfMm4gPSBCaWdJbnQoMiksIF8zbiA9IEJpZ0ludCgzKSwgXzRuID0gQmlnSW50KDQpO1xuZXhwb3J0IGZ1bmN0aW9uIHdlaWVyc3RyYXNzUG9pbnRzKG9wdHMpIHtcbiAgICBjb25zdCBDVVJWRSA9IHZhbGlkYXRlUG9pbnRPcHRzKG9wdHMpO1xuICAgIGNvbnN0IHsgRnAgfSA9IENVUlZFOyAvLyBBbGwgY3VydmVzIGhhcyBzYW1lIGZpZWxkIC8gZ3JvdXAgbGVuZ3RoIGFzIGZvciBub3csIGJ1dCB0aGV5IGNhbiBkaWZmZXJcbiAgICBjb25zdCB0b0J5dGVzID0gQ1VSVkUudG9CeXRlcyB8fFxuICAgICAgICAoKGMsIHBvaW50LCBpc0NvbXByZXNzZWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGEgPSBwb2ludC50b0FmZmluZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHV0LmNvbmNhdEJ5dGVzKFVpbnQ4QXJyYXkuZnJvbShbMHgwNF0pLCBGcC50b0J5dGVzKGEueCksIEZwLnRvQnl0ZXMoYS55KSk7XG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGZyb21CeXRlcyA9IENVUlZFLmZyb21CeXRlcyB8fFxuICAgICAgICAoKGJ5dGVzKSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zdCBoZWFkID0gYnl0ZXNbMF07XG4gICAgICAgICAgICBjb25zdCB0YWlsID0gYnl0ZXMuc3ViYXJyYXkoMSk7XG4gICAgICAgICAgICAvLyBpZiAoaGVhZCAhPT0gMHgwNCkgdGhyb3cgbmV3IEVycm9yKCdPbmx5IG5vbi1jb21wcmVzc2VkIGVuY29kaW5nIGlzIHN1cHBvcnRlZCcpO1xuICAgICAgICAgICAgY29uc3QgeCA9IEZwLmZyb21CeXRlcyh0YWlsLnN1YmFycmF5KDAsIEZwLkJZVEVTKSk7XG4gICAgICAgICAgICBjb25zdCB5ID0gRnAuZnJvbUJ5dGVzKHRhaWwuc3ViYXJyYXkoRnAuQllURVMsIDIgKiBGcC5CWVRFUykpO1xuICAgICAgICAgICAgcmV0dXJuIHsgeCwgeSB9O1xuICAgICAgICB9KTtcbiAgICAvKipcbiAgICAgKiB5wrIgPSB4wrMgKyBheCArIGI6IFNob3J0IHdlaWVyc3RyYXNzIGN1cnZlIGZvcm11bGFcbiAgICAgKiBAcmV0dXJucyB5wrJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3ZWllcnN0cmFzc0VxdWF0aW9uKHgpIHtcbiAgICAgICAgY29uc3QgeyBhLCBiIH0gPSBDVVJWRTtcbiAgICAgICAgY29uc3QgeDIgPSBGcC5zcXIoeCk7IC8vIHggKiB4XG4gICAgICAgIGNvbnN0IHgzID0gRnAubXVsKHgyLCB4KTsgLy8geDIgKiB4XG4gICAgICAgIHJldHVybiBGcC5hZGQoRnAuYWRkKHgzLCBGcC5tdWwoeCwgYSkpLCBiKTsgLy8geDMgKyBhICogeCArIGJcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgd2hldGhlciB0aGUgcGFzc2VkIGN1cnZlIHBhcmFtcyBhcmUgdmFsaWQuXG4gICAgLy8gV2UgY2hlY2sgaWYgY3VydmUgZXF1YXRpb24gd29ya3MgZm9yIGdlbmVyYXRvciBwb2ludC5cbiAgICAvLyBgYXNzZXJ0VmFsaWRpdHkoKWAgd29uJ3Qgd29yazogYGlzVG9yc2lvbkZyZWUoKWAgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGlzIHBvaW50IGluIGJsczEyLTM4MS5cbiAgICAvLyBQcm9qZWN0aXZlUG9pbnQgY2xhc3MgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldC5cbiAgICBpZiAoIUZwLmVxbChGcC5zcXIoQ1VSVkUuR3kpLCB3ZWllcnN0cmFzc0VxdWF0aW9uKENVUlZFLkd4KSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIGdlbmVyYXRvciBwb2ludDogZXF1YXRpb24gbGVmdCAhPSByaWdodCcpO1xuICAgIC8vIFZhbGlkIGdyb3VwIGVsZW1lbnRzIHJlc2lkZSBpbiByYW5nZSAxLi5uLTFcbiAgICBmdW5jdGlvbiBpc1dpdGhpbkN1cnZlT3JkZXIobnVtKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgbnVtID09PSAnYmlnaW50JyAmJiBfMG4gPCBudW0gJiYgbnVtIDwgQ1VSVkUubjtcbiAgICB9XG4gICAgZnVuY3Rpb24gYXNzZXJ0R0UobnVtKSB7XG4gICAgICAgIGlmICghaXNXaXRoaW5DdXJ2ZU9yZGVyKG51bSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHZhbGlkIGJpZ2ludDogMCA8IGJpZ2ludCA8IGN1cnZlLm4nKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGVzIGlmIHByaXYga2V5IGlzIHZhbGlkIGFuZCBjb252ZXJ0cyBpdCB0byBiaWdpbnQuXG4gICAgLy8gU3VwcG9ydHMgb3B0aW9ucyBhbGxvd2VkUHJpdmF0ZUtleUxlbmd0aHMgYW5kIHdyYXBQcml2YXRlS2V5LlxuICAgIGZ1bmN0aW9uIG5vcm1Qcml2YXRlS2V5VG9TY2FsYXIoa2V5KSB7XG4gICAgICAgIGNvbnN0IHsgYWxsb3dlZFByaXZhdGVLZXlMZW5ndGhzOiBsZW5ndGhzLCBuQnl0ZUxlbmd0aCwgd3JhcFByaXZhdGVLZXksIG4gfSA9IENVUlZFO1xuICAgICAgICBpZiAobGVuZ3RocyAmJiB0eXBlb2Yga2V5ICE9PSAnYmlnaW50Jykge1xuICAgICAgICAgICAgaWYgKGtleSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpXG4gICAgICAgICAgICAgICAga2V5ID0gdXQuYnl0ZXNUb0hleChrZXkpO1xuICAgICAgICAgICAgLy8gTm9ybWFsaXplIHRvIGhleCBzdHJpbmcsIHBhZC4gRS5nLiBQNTIxIHdvdWxkIG5vcm0gMTMwLTEzMiBjaGFyIGhleCB0byAxMzItY2hhciBieXRlc1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnIHx8ICFsZW5ndGhzLmluY2x1ZGVzKGtleS5sZW5ndGgpKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXknKTtcbiAgICAgICAgICAgIGtleSA9IGtleS5wYWRTdGFydChuQnl0ZUxlbmd0aCAqIDIsICcwJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG51bTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG51bSA9XG4gICAgICAgICAgICAgICAgdHlwZW9mIGtleSA9PT0gJ2JpZ2ludCdcbiAgICAgICAgICAgICAgICAgICAgPyBrZXlcbiAgICAgICAgICAgICAgICAgICAgOiB1dC5ieXRlc1RvTnVtYmVyQkUoZW5zdXJlQnl0ZXMoJ3ByaXZhdGUga2V5Jywga2V5LCBuQnl0ZUxlbmd0aCkpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBwcml2YXRlIGtleSBtdXN0IGJlICR7bkJ5dGVMZW5ndGh9IGJ5dGVzLCBoZXggb3IgYmlnaW50LCBub3QgJHt0eXBlb2Yga2V5fWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh3cmFwUHJpdmF0ZUtleSlcbiAgICAgICAgICAgIG51bSA9IG1vZC5tb2QobnVtLCBuKTsgLy8gZGlzYWJsZWQgYnkgZGVmYXVsdCwgZW5hYmxlZCBmb3IgQkxTXG4gICAgICAgIGFzc2VydEdFKG51bSk7IC8vIG51bSBpbiByYW5nZSBbMS4uTi0xXVxuICAgICAgICByZXR1cm4gbnVtO1xuICAgIH1cbiAgICBjb25zdCBwb2ludFByZWNvbXB1dGVzID0gbmV3IE1hcCgpO1xuICAgIGZ1bmN0aW9uIGFzc2VydFByalBvaW50KG90aGVyKSB7XG4gICAgICAgIGlmICghKG90aGVyIGluc3RhbmNlb2YgUG9pbnQpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9qZWN0aXZlUG9pbnQgZXhwZWN0ZWQnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUHJvamVjdGl2ZSBQb2ludCB3b3JrcyBpbiAzZCAvIHByb2plY3RpdmUgKGhvbW9nZW5lb3VzKSBjb29yZGluYXRlczogKHgsIHksIHopIOKIiyAoeD14L3osIHk9eS96KVxuICAgICAqIERlZmF1bHQgUG9pbnQgd29ya3MgaW4gMmQgLyBhZmZpbmUgY29vcmRpbmF0ZXM6ICh4LCB5KVxuICAgICAqIFdlJ3JlIGRvaW5nIGNhbGN1bGF0aW9ucyBpbiBwcm9qZWN0aXZlLCBiZWNhdXNlIGl0cyBvcGVyYXRpb25zIGRvbid0IHJlcXVpcmUgY29zdGx5IGludmVyc2lvbi5cbiAgICAgKi9cbiAgICBjbGFzcyBQb2ludCB7XG4gICAgICAgIGNvbnN0cnVjdG9yKHB4LCBweSwgcHopIHtcbiAgICAgICAgICAgIHRoaXMucHggPSBweDtcbiAgICAgICAgICAgIHRoaXMucHkgPSBweTtcbiAgICAgICAgICAgIHRoaXMucHogPSBwejtcbiAgICAgICAgICAgIGlmIChweCA9PSBudWxsIHx8ICFGcC5pc1ZhbGlkKHB4KSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ggcmVxdWlyZWQnKTtcbiAgICAgICAgICAgIGlmIChweSA9PSBudWxsIHx8ICFGcC5pc1ZhbGlkKHB5KSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3kgcmVxdWlyZWQnKTtcbiAgICAgICAgICAgIGlmIChweiA9PSBudWxsIHx8ICFGcC5pc1ZhbGlkKHB6KSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ogcmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBEb2VzIG5vdCB2YWxpZGF0ZSBpZiB0aGUgcG9pbnQgaXMgb24tY3VydmUuXG4gICAgICAgIC8vIFVzZSBmcm9tSGV4IGluc3RlYWQsIG9yIGNhbGwgYXNzZXJ0VmFsaWRpdHkoKSBsYXRlci5cbiAgICAgICAgc3RhdGljIGZyb21BZmZpbmUocCkge1xuICAgICAgICAgICAgY29uc3QgeyB4LCB5IH0gPSBwIHx8IHt9O1xuICAgICAgICAgICAgaWYgKCFwIHx8ICFGcC5pc1ZhbGlkKHgpIHx8ICFGcC5pc1ZhbGlkKHkpKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBhZmZpbmUgcG9pbnQnKTtcbiAgICAgICAgICAgIGlmIChwIGluc3RhbmNlb2YgUG9pbnQpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdwcm9qZWN0aXZlIHBvaW50IG5vdCBhbGxvd2VkJyk7XG4gICAgICAgICAgICBjb25zdCBpczAgPSAoaSkgPT4gRnAuZXFsKGksIEZwLlpFUk8pO1xuICAgICAgICAgICAgLy8gZnJvbUFmZmluZSh4OjAsIHk6MCkgd291bGQgcHJvZHVjZSAoeDowLCB5OjAsIHo6MSksIGJ1dCB3ZSBuZWVkICh4OjAsIHk6MSwgejowKVxuICAgICAgICAgICAgaWYgKGlzMCh4KSAmJiBpczAoeSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFBvaW50LlpFUk87XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvaW50KHgsIHksIEZwLk9ORSk7XG4gICAgICAgIH1cbiAgICAgICAgZ2V0IHgoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b0FmZmluZSgpLng7XG4gICAgICAgIH1cbiAgICAgICAgZ2V0IHkoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b0FmZmluZSgpLnk7XG4gICAgICAgIH1cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRha2VzIGEgYnVuY2ggb2YgUHJvamVjdGl2ZSBQb2ludHMgYnV0IGV4ZWN1dGVzIG9ubHkgb25lXG4gICAgICAgICAqIGludmVyc2lvbiBvbiBhbGwgb2YgdGhlbS4gSW52ZXJzaW9uIGlzIHZlcnkgc2xvdyBvcGVyYXRpb24sXG4gICAgICAgICAqIHNvIHRoaXMgaW1wcm92ZXMgcGVyZm9ybWFuY2UgbWFzc2l2ZWx5LlxuICAgICAgICAgKiBPcHRpbWl6YXRpb246IGNvbnZlcnRzIGEgbGlzdCBvZiBwcm9qZWN0aXZlIHBvaW50cyB0byBhIGxpc3Qgb2YgaWRlbnRpY2FsIHBvaW50cyB3aXRoIFo9MS5cbiAgICAgICAgICovXG4gICAgICAgIHN0YXRpYyBub3JtYWxpemVaKHBvaW50cykge1xuICAgICAgICAgICAgY29uc3QgdG9JbnYgPSBGcC5pbnZlcnRCYXRjaChwb2ludHMubWFwKChwKSA9PiBwLnB6KSk7XG4gICAgICAgICAgICByZXR1cm4gcG9pbnRzLm1hcCgocCwgaSkgPT4gcC50b0FmZmluZSh0b0ludltpXSkpLm1hcChQb2ludC5mcm9tQWZmaW5lKTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogQ29udmVydHMgaGFzaCBzdHJpbmcgb3IgVWludDhBcnJheSB0byBQb2ludC5cbiAgICAgICAgICogQHBhcmFtIGhleCBzaG9ydC9sb25nIEVDRFNBIGhleFxuICAgICAgICAgKi9cbiAgICAgICAgc3RhdGljIGZyb21IZXgoaGV4KSB7XG4gICAgICAgICAgICBjb25zdCBQID0gUG9pbnQuZnJvbUFmZmluZShmcm9tQnl0ZXMoZW5zdXJlQnl0ZXMoJ3BvaW50SGV4JywgaGV4KSkpO1xuICAgICAgICAgICAgUC5hc3NlcnRWYWxpZGl0eSgpO1xuICAgICAgICAgICAgcmV0dXJuIFA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTXVsdGlwbGllcyBnZW5lcmF0b3IgcG9pbnQgYnkgcHJpdmF0ZUtleS5cbiAgICAgICAgc3RhdGljIGZyb21Qcml2YXRlS2V5KHByaXZhdGVLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBQb2ludC5CQVNFLm11bHRpcGx5KG5vcm1Qcml2YXRlS2V5VG9TY2FsYXIocHJpdmF0ZUtleSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFwiUHJpdmF0ZSBtZXRob2RcIiwgZG9uJ3QgdXNlIGl0IGRpcmVjdGx5XG4gICAgICAgIF9zZXRXaW5kb3dTaXplKHdpbmRvd1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuX1dJTkRPV19TSVpFID0gd2luZG93U2l6ZTtcbiAgICAgICAgICAgIHBvaW50UHJlY29tcHV0ZXMuZGVsZXRlKHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEEgcG9pbnQgb24gY3VydmUgaXMgdmFsaWQgaWYgaXQgY29uZm9ybXMgdG8gZXF1YXRpb24uXG4gICAgICAgIGFzc2VydFZhbGlkaXR5KCkge1xuICAgICAgICAgICAgLy8gWmVybyBpcyB2YWxpZCBwb2ludCB0b28hXG4gICAgICAgICAgICBpZiAodGhpcy5pczAoKSkge1xuICAgICAgICAgICAgICAgIGlmIChDVVJWRS5hbGxvd0luZmluaXR5UG9pbnQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCBwb2ludDogWkVSTycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU29tZSAzcmQtcGFydHkgdGVzdCB2ZWN0b3JzIHJlcXVpcmUgZGlmZmVyZW50IHdvcmRpbmcgYmV0d2VlbiBoZXJlICYgYGZyb21Db21wcmVzc2VkSGV4YFxuICAgICAgICAgICAgY29uc3QgeyB4LCB5IH0gPSB0aGlzLnRvQWZmaW5lKCk7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB4LCB5IGFyZSB2YWxpZCBmaWVsZCBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKCFGcC5pc1ZhbGlkKHgpIHx8ICFGcC5pc1ZhbGlkKHkpKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHBvaW50OiB4IG9yIHkgbm90IEZFJyk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gRnAuc3FyKHkpOyAvLyB5wrJcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gd2VpZXJzdHJhc3NFcXVhdGlvbih4KTsgLy8geMKzICsgYXggKyBiXG4gICAgICAgICAgICBpZiAoIUZwLmVxbChsZWZ0LCByaWdodCkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgcG9pbnQ6IGVxdWF0aW9uIGxlZnQgIT0gcmlnaHQnKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1RvcnNpb25GcmVlKCkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgcG9pbnQ6IG5vdCBpbiBwcmltZS1vcmRlciBzdWJncm91cCcpO1xuICAgICAgICB9XG4gICAgICAgIGhhc0V2ZW5ZKCkge1xuICAgICAgICAgICAgY29uc3QgeyB5IH0gPSB0aGlzLnRvQWZmaW5lKCk7XG4gICAgICAgICAgICBpZiAoRnAuaXNPZGQpXG4gICAgICAgICAgICAgICAgcmV0dXJuICFGcC5pc09kZCh5KTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZpZWxkIGRvZXNuJ3Qgc3VwcG9ydCBpc09kZFwiKTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogQ29tcGFyZSBvbmUgcG9pbnQgdG8gYW5vdGhlci5cbiAgICAgICAgICovXG4gICAgICAgIGVxdWFscyhvdGhlcikge1xuICAgICAgICAgICAgYXNzZXJ0UHJqUG9pbnQob3RoZXIpO1xuICAgICAgICAgICAgY29uc3QgeyBweDogWDEsIHB5OiBZMSwgcHo6IFoxIH0gPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgeyBweDogWDIsIHB5OiBZMiwgcHo6IFoyIH0gPSBvdGhlcjtcbiAgICAgICAgICAgIGNvbnN0IFUxID0gRnAuZXFsKEZwLm11bChYMSwgWjIpLCBGcC5tdWwoWDIsIFoxKSk7XG4gICAgICAgICAgICBjb25zdCBVMiA9IEZwLmVxbChGcC5tdWwoWTEsIFoyKSwgRnAubXVsKFkyLCBaMSkpO1xuICAgICAgICAgICAgcmV0dXJuIFUxICYmIFUyO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBGbGlwcyBwb2ludCB0byBvbmUgY29ycmVzcG9uZGluZyB0byAoeCwgLXkpIGluIEFmZmluZSBjb29yZGluYXRlcy5cbiAgICAgICAgICovXG4gICAgICAgIG5lZ2F0ZSgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQodGhpcy5weCwgRnAubmVnKHRoaXMucHkpLCB0aGlzLnB6KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZW5lcy1Db3N0ZWxsby1CYXRpbmEgZXhjZXB0aW9uLWZyZWUgZG91YmxpbmcgZm9ybXVsYS5cbiAgICAgICAgLy8gVGhlcmUgaXMgMzAlIGZhc3RlciBKYWNvYmlhbiBmb3JtdWxhLCBidXQgaXQgaXMgbm90IGNvbXBsZXRlLlxuICAgICAgICAvLyBodHRwczovL2VwcmludC5pYWNyLm9yZy8yMDE1LzEwNjAsIGFsZ29yaXRobSAzXG4gICAgICAgIC8vIENvc3Q6IDhNICsgM1MgKyAzKmEgKyAyKmIzICsgMTVhZGQuXG4gICAgICAgIGRvdWJsZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgYSwgYiB9ID0gQ1VSVkU7XG4gICAgICAgICAgICBjb25zdCBiMyA9IEZwLm11bChiLCBfM24pO1xuICAgICAgICAgICAgY29uc3QgeyBweDogWDEsIHB5OiBZMSwgcHo6IFoxIH0gPSB0aGlzO1xuICAgICAgICAgICAgbGV0IFgzID0gRnAuWkVSTywgWTMgPSBGcC5aRVJPLCBaMyA9IEZwLlpFUk87IC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgICAgICAgbGV0IHQwID0gRnAubXVsKFgxLCBYMSk7IC8vIHN0ZXAgMVxuICAgICAgICAgICAgbGV0IHQxID0gRnAubXVsKFkxLCBZMSk7XG4gICAgICAgICAgICBsZXQgdDIgPSBGcC5tdWwoWjEsIFoxKTtcbiAgICAgICAgICAgIGxldCB0MyA9IEZwLm11bChYMSwgWTEpO1xuICAgICAgICAgICAgdDMgPSBGcC5hZGQodDMsIHQzKTsgLy8gc3RlcCA1XG4gICAgICAgICAgICBaMyA9IEZwLm11bChYMSwgWjEpO1xuICAgICAgICAgICAgWjMgPSBGcC5hZGQoWjMsIFozKTtcbiAgICAgICAgICAgIFgzID0gRnAubXVsKGEsIFozKTtcbiAgICAgICAgICAgIFkzID0gRnAubXVsKGIzLCB0Mik7XG4gICAgICAgICAgICBZMyA9IEZwLmFkZChYMywgWTMpOyAvLyBzdGVwIDEwXG4gICAgICAgICAgICBYMyA9IEZwLnN1Yih0MSwgWTMpO1xuICAgICAgICAgICAgWTMgPSBGcC5hZGQodDEsIFkzKTtcbiAgICAgICAgICAgIFkzID0gRnAubXVsKFgzLCBZMyk7XG4gICAgICAgICAgICBYMyA9IEZwLm11bCh0MywgWDMpO1xuICAgICAgICAgICAgWjMgPSBGcC5tdWwoYjMsIFozKTsgLy8gc3RlcCAxNVxuICAgICAgICAgICAgdDIgPSBGcC5tdWwoYSwgdDIpO1xuICAgICAgICAgICAgdDMgPSBGcC5zdWIodDAsIHQyKTtcbiAgICAgICAgICAgIHQzID0gRnAubXVsKGEsIHQzKTtcbiAgICAgICAgICAgIHQzID0gRnAuYWRkKHQzLCBaMyk7XG4gICAgICAgICAgICBaMyA9IEZwLmFkZCh0MCwgdDApOyAvLyBzdGVwIDIwXG4gICAgICAgICAgICB0MCA9IEZwLmFkZChaMywgdDApO1xuICAgICAgICAgICAgdDAgPSBGcC5hZGQodDAsIHQyKTtcbiAgICAgICAgICAgIHQwID0gRnAubXVsKHQwLCB0Myk7XG4gICAgICAgICAgICBZMyA9IEZwLmFkZChZMywgdDApO1xuICAgICAgICAgICAgdDIgPSBGcC5tdWwoWTEsIFoxKTsgLy8gc3RlcCAyNVxuICAgICAgICAgICAgdDIgPSBGcC5hZGQodDIsIHQyKTtcbiAgICAgICAgICAgIHQwID0gRnAubXVsKHQyLCB0Myk7XG4gICAgICAgICAgICBYMyA9IEZwLnN1YihYMywgdDApO1xuICAgICAgICAgICAgWjMgPSBGcC5tdWwodDIsIHQxKTtcbiAgICAgICAgICAgIFozID0gRnAuYWRkKFozLCBaMyk7IC8vIHN0ZXAgMzBcbiAgICAgICAgICAgIFozID0gRnAuYWRkKFozLCBaMyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvaW50KFgzLCBZMywgWjMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlbmVzLUNvc3RlbGxvLUJhdGluYSBleGNlcHRpb24tZnJlZSBhZGRpdGlvbiBmb3JtdWxhLlxuICAgICAgICAvLyBUaGVyZSBpcyAzMCUgZmFzdGVyIEphY29iaWFuIGZvcm11bGEsIGJ1dCBpdCBpcyBub3QgY29tcGxldGUuXG4gICAgICAgIC8vIGh0dHBzOi8vZXByaW50LmlhY3Iub3JnLzIwMTUvMTA2MCwgYWxnb3JpdGhtIDFcbiAgICAgICAgLy8gQ29zdDogMTJNICsgMFMgKyAzKmEgKyAzKmIzICsgMjNhZGQuXG4gICAgICAgIGFkZChvdGhlcikge1xuICAgICAgICAgICAgYXNzZXJ0UHJqUG9pbnQob3RoZXIpO1xuICAgICAgICAgICAgY29uc3QgeyBweDogWDEsIHB5OiBZMSwgcHo6IFoxIH0gPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgeyBweDogWDIsIHB5OiBZMiwgcHo6IFoyIH0gPSBvdGhlcjtcbiAgICAgICAgICAgIGxldCBYMyA9IEZwLlpFUk8sIFkzID0gRnAuWkVSTywgWjMgPSBGcC5aRVJPOyAvLyBwcmV0dGllci1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGEgPSBDVVJWRS5hO1xuICAgICAgICAgICAgY29uc3QgYjMgPSBGcC5tdWwoQ1VSVkUuYiwgXzNuKTtcbiAgICAgICAgICAgIGxldCB0MCA9IEZwLm11bChYMSwgWDIpOyAvLyBzdGVwIDFcbiAgICAgICAgICAgIGxldCB0MSA9IEZwLm11bChZMSwgWTIpO1xuICAgICAgICAgICAgbGV0IHQyID0gRnAubXVsKFoxLCBaMik7XG4gICAgICAgICAgICBsZXQgdDMgPSBGcC5hZGQoWDEsIFkxKTtcbiAgICAgICAgICAgIGxldCB0NCA9IEZwLmFkZChYMiwgWTIpOyAvLyBzdGVwIDVcbiAgICAgICAgICAgIHQzID0gRnAubXVsKHQzLCB0NCk7XG4gICAgICAgICAgICB0NCA9IEZwLmFkZCh0MCwgdDEpO1xuICAgICAgICAgICAgdDMgPSBGcC5zdWIodDMsIHQ0KTtcbiAgICAgICAgICAgIHQ0ID0gRnAuYWRkKFgxLCBaMSk7XG4gICAgICAgICAgICBsZXQgdDUgPSBGcC5hZGQoWDIsIFoyKTsgLy8gc3RlcCAxMFxuICAgICAgICAgICAgdDQgPSBGcC5tdWwodDQsIHQ1KTtcbiAgICAgICAgICAgIHQ1ID0gRnAuYWRkKHQwLCB0Mik7XG4gICAgICAgICAgICB0NCA9IEZwLnN1Yih0NCwgdDUpO1xuICAgICAgICAgICAgdDUgPSBGcC5hZGQoWTEsIFoxKTtcbiAgICAgICAgICAgIFgzID0gRnAuYWRkKFkyLCBaMik7IC8vIHN0ZXAgMTVcbiAgICAgICAgICAgIHQ1ID0gRnAubXVsKHQ1LCBYMyk7XG4gICAgICAgICAgICBYMyA9IEZwLmFkZCh0MSwgdDIpO1xuICAgICAgICAgICAgdDUgPSBGcC5zdWIodDUsIFgzKTtcbiAgICAgICAgICAgIFozID0gRnAubXVsKGEsIHQ0KTtcbiAgICAgICAgICAgIFgzID0gRnAubXVsKGIzLCB0Mik7IC8vIHN0ZXAgMjBcbiAgICAgICAgICAgIFozID0gRnAuYWRkKFgzLCBaMyk7XG4gICAgICAgICAgICBYMyA9IEZwLnN1Yih0MSwgWjMpO1xuICAgICAgICAgICAgWjMgPSBGcC5hZGQodDEsIFozKTtcbiAgICAgICAgICAgIFkzID0gRnAubXVsKFgzLCBaMyk7XG4gICAgICAgICAgICB0MSA9IEZwLmFkZCh0MCwgdDApOyAvLyBzdGVwIDI1XG4gICAgICAgICAgICB0MSA9IEZwLmFkZCh0MSwgdDApO1xuICAgICAgICAgICAgdDIgPSBGcC5tdWwoYSwgdDIpO1xuICAgICAgICAgICAgdDQgPSBGcC5tdWwoYjMsIHQ0KTtcbiAgICAgICAgICAgIHQxID0gRnAuYWRkKHQxLCB0Mik7XG4gICAgICAgICAgICB0MiA9IEZwLnN1Yih0MCwgdDIpOyAvLyBzdGVwIDMwXG4gICAgICAgICAgICB0MiA9IEZwLm11bChhLCB0Mik7XG4gICAgICAgICAgICB0NCA9IEZwLmFkZCh0NCwgdDIpO1xuICAgICAgICAgICAgdDAgPSBGcC5tdWwodDEsIHQ0KTtcbiAgICAgICAgICAgIFkzID0gRnAuYWRkKFkzLCB0MCk7XG4gICAgICAgICAgICB0MCA9IEZwLm11bCh0NSwgdDQpOyAvLyBzdGVwIDM1XG4gICAgICAgICAgICBYMyA9IEZwLm11bCh0MywgWDMpO1xuICAgICAgICAgICAgWDMgPSBGcC5zdWIoWDMsIHQwKTtcbiAgICAgICAgICAgIHQwID0gRnAubXVsKHQzLCB0MSk7XG4gICAgICAgICAgICBaMyA9IEZwLm11bCh0NSwgWjMpO1xuICAgICAgICAgICAgWjMgPSBGcC5hZGQoWjMsIHQwKTsgLy8gc3RlcCA0MFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQb2ludChYMywgWTMsIFozKTtcbiAgICAgICAgfVxuICAgICAgICBzdWJ0cmFjdChvdGhlcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKG90aGVyLm5lZ2F0ZSgpKTtcbiAgICAgICAgfVxuICAgICAgICBpczAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lcXVhbHMoUG9pbnQuWkVSTyk7XG4gICAgICAgIH1cbiAgICAgICAgd05BRihuKSB7XG4gICAgICAgICAgICByZXR1cm4gd25hZi53TkFGQ2FjaGVkKHRoaXMsIHBvaW50UHJlY29tcHV0ZXMsIG4sIChjb21wKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9JbnYgPSBGcC5pbnZlcnRCYXRjaChjb21wLm1hcCgocCkgPT4gcC5weikpO1xuICAgICAgICAgICAgICAgIHJldHVybiBjb21wLm1hcCgocCwgaSkgPT4gcC50b0FmZmluZSh0b0ludltpXSkpLm1hcChQb2ludC5mcm9tQWZmaW5lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBOb24tY29uc3RhbnQtdGltZSBtdWx0aXBsaWNhdGlvbi4gVXNlcyBkb3VibGUtYW5kLWFkZCBhbGdvcml0aG0uXG4gICAgICAgICAqIEl0J3MgZmFzdGVyLCBidXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHlvdSBkb24ndCBjYXJlIGFib3V0XG4gICAgICAgICAqIGFuIGV4cG9zZWQgcHJpdmF0ZSBrZXkgZS5nLiBzaWcgdmVyaWZpY2F0aW9uLCB3aGljaCB3b3JrcyBvdmVyICpwdWJsaWMqIGtleXMuXG4gICAgICAgICAqL1xuICAgICAgICBtdWx0aXBseVVuc2FmZShuKSB7XG4gICAgICAgICAgICBjb25zdCBJID0gUG9pbnQuWkVSTztcbiAgICAgICAgICAgIGlmIChuID09PSBfMG4pXG4gICAgICAgICAgICAgICAgcmV0dXJuIEk7XG4gICAgICAgICAgICBhc3NlcnRHRShuKTsgLy8gV2lsbCB0aHJvdyBvbiAwXG4gICAgICAgICAgICBpZiAobiA9PT0gXzFuKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAgICAgY29uc3QgeyBlbmRvIH0gPSBDVVJWRTtcbiAgICAgICAgICAgIGlmICghZW5kbylcbiAgICAgICAgICAgICAgICByZXR1cm4gd25hZi51bnNhZmVMYWRkZXIodGhpcywgbik7XG4gICAgICAgICAgICAvLyBBcHBseSBlbmRvbW9ycGhpc21cbiAgICAgICAgICAgIGxldCB7IGsxbmVnLCBrMSwgazJuZWcsIGsyIH0gPSBlbmRvLnNwbGl0U2NhbGFyKG4pO1xuICAgICAgICAgICAgbGV0IGsxcCA9IEk7XG4gICAgICAgICAgICBsZXQgazJwID0gSTtcbiAgICAgICAgICAgIGxldCBkID0gdGhpcztcbiAgICAgICAgICAgIHdoaWxlIChrMSA+IF8wbiB8fCBrMiA+IF8wbikge1xuICAgICAgICAgICAgICAgIGlmIChrMSAmIF8xbilcbiAgICAgICAgICAgICAgICAgICAgazFwID0gazFwLmFkZChkKTtcbiAgICAgICAgICAgICAgICBpZiAoazIgJiBfMW4pXG4gICAgICAgICAgICAgICAgICAgIGsycCA9IGsycC5hZGQoZCk7XG4gICAgICAgICAgICAgICAgZCA9IGQuZG91YmxlKCk7XG4gICAgICAgICAgICAgICAgazEgPj49IF8xbjtcbiAgICAgICAgICAgICAgICBrMiA+Pj0gXzFuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGsxbmVnKVxuICAgICAgICAgICAgICAgIGsxcCA9IGsxcC5uZWdhdGUoKTtcbiAgICAgICAgICAgIGlmIChrMm5lZylcbiAgICAgICAgICAgICAgICBrMnAgPSBrMnAubmVnYXRlKCk7XG4gICAgICAgICAgICBrMnAgPSBuZXcgUG9pbnQoRnAubXVsKGsycC5weCwgZW5kby5iZXRhKSwgazJwLnB5LCBrMnAucHopO1xuICAgICAgICAgICAgcmV0dXJuIGsxcC5hZGQoazJwKTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogQ29uc3RhbnQgdGltZSBtdWx0aXBsaWNhdGlvbi5cbiAgICAgICAgICogVXNlcyB3TkFGIG1ldGhvZC4gV2luZG93ZWQgbWV0aG9kIG1heSBiZSAxMCUgZmFzdGVyLFxuICAgICAgICAgKiBidXQgdGFrZXMgMnggbG9uZ2VyIHRvIGdlbmVyYXRlIGFuZCBjb25zdW1lcyAyeCBtZW1vcnkuXG4gICAgICAgICAqIFVzZXMgcHJlY29tcHV0ZXMgd2hlbiBhdmFpbGFibGUuXG4gICAgICAgICAqIFVzZXMgZW5kb21vcnBoaXNtIGZvciBLb2JsaXR6IGN1cnZlcy5cbiAgICAgICAgICogQHBhcmFtIHNjYWxhciBieSB3aGljaCB0aGUgcG9pbnQgd291bGQgYmUgbXVsdGlwbGllZFxuICAgICAgICAgKiBAcmV0dXJucyBOZXcgcG9pbnRcbiAgICAgICAgICovXG4gICAgICAgIG11bHRpcGx5KHNjYWxhcikge1xuICAgICAgICAgICAgYXNzZXJ0R0Uoc2NhbGFyKTtcbiAgICAgICAgICAgIGxldCBuID0gc2NhbGFyO1xuICAgICAgICAgICAgbGV0IHBvaW50LCBmYWtlOyAvLyBGYWtlIHBvaW50IGlzIHVzZWQgdG8gY29uc3QtdGltZSBtdWx0XG4gICAgICAgICAgICBjb25zdCB7IGVuZG8gfSA9IENVUlZFO1xuICAgICAgICAgICAgaWYgKGVuZG8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGsxbmVnLCBrMSwgazJuZWcsIGsyIH0gPSBlbmRvLnNwbGl0U2NhbGFyKG4pO1xuICAgICAgICAgICAgICAgIGxldCB7IHA6IGsxcCwgZjogZjFwIH0gPSB0aGlzLndOQUYoazEpO1xuICAgICAgICAgICAgICAgIGxldCB7IHA6IGsycCwgZjogZjJwIH0gPSB0aGlzLndOQUYoazIpO1xuICAgICAgICAgICAgICAgIGsxcCA9IHduYWYuY29uc3RUaW1lTmVnYXRlKGsxbmVnLCBrMXApO1xuICAgICAgICAgICAgICAgIGsycCA9IHduYWYuY29uc3RUaW1lTmVnYXRlKGsybmVnLCBrMnApO1xuICAgICAgICAgICAgICAgIGsycCA9IG5ldyBQb2ludChGcC5tdWwoazJwLnB4LCBlbmRvLmJldGEpLCBrMnAucHksIGsycC5weik7XG4gICAgICAgICAgICAgICAgcG9pbnQgPSBrMXAuYWRkKGsycCk7XG4gICAgICAgICAgICAgICAgZmFrZSA9IGYxcC5hZGQoZjJwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcCwgZiB9ID0gdGhpcy53TkFGKG4pO1xuICAgICAgICAgICAgICAgIHBvaW50ID0gcDtcbiAgICAgICAgICAgICAgICBmYWtlID0gZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIE5vcm1hbGl6ZSBgemAgZm9yIGJvdGggcG9pbnRzLCBidXQgcmV0dXJuIG9ubHkgcmVhbCBvbmVcbiAgICAgICAgICAgIHJldHVybiBQb2ludC5ub3JtYWxpemVaKFtwb2ludCwgZmFrZV0pWzBdO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFZmZpY2llbnRseSBjYWxjdWxhdGUgYGFQICsgYlFgLiBVbnNhZmUsIGNhbiBleHBvc2UgcHJpdmF0ZSBrZXksIGlmIHVzZWQgaW5jb3JyZWN0bHkuXG4gICAgICAgICAqIE5vdCB1c2luZyBTdHJhdXNzLVNoYW1pciB0cmljazogcHJlY29tcHV0YXRpb24gdGFibGVzIGFyZSBmYXN0ZXIuXG4gICAgICAgICAqIFRoZSB0cmljayBjb3VsZCBiZSB1c2VmdWwgaWYgYm90aCBQIGFuZCBRIGFyZSBub3QgRyAobm90IGluIG91ciBjYXNlKS5cbiAgICAgICAgICogQHJldHVybnMgbm9uLXplcm8gYWZmaW5lIHBvaW50XG4gICAgICAgICAqL1xuICAgICAgICBtdWx0aXBseUFuZEFkZFVuc2FmZShRLCBhLCBiKSB7XG4gICAgICAgICAgICBjb25zdCBHID0gUG9pbnQuQkFTRTsgLy8gTm8gU3RyYXVzcy1TaGFtaXIgdHJpY2s6IHdlIGhhdmUgMTAlIGZhc3RlciBHIHByZWNvbXB1dGVzXG4gICAgICAgICAgICBjb25zdCBtdWwgPSAoUCwgYSAvLyBTZWxlY3QgZmFzdGVyIG11bHRpcGx5KCkgbWV0aG9kXG4gICAgICAgICAgICApID0+IChhID09PSBfMG4gfHwgYSA9PT0gXzFuIHx8ICFQLmVxdWFscyhHKSA/IFAubXVsdGlwbHlVbnNhZmUoYSkgOiBQLm11bHRpcGx5KGEpKTtcbiAgICAgICAgICAgIGNvbnN0IHN1bSA9IG11bCh0aGlzLCBhKS5hZGQobXVsKFEsIGIpKTtcbiAgICAgICAgICAgIHJldHVybiBzdW0uaXMwKCkgPyB1bmRlZmluZWQgOiBzdW07XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ29udmVydHMgUHJvamVjdGl2ZSBwb2ludCB0byBhZmZpbmUgKHgsIHkpIGNvb3JkaW5hdGVzLlxuICAgICAgICAvLyBDYW4gYWNjZXB0IHByZWNvbXB1dGVkIFpeLTEgLSBmb3IgZXhhbXBsZSwgZnJvbSBpbnZlcnRCYXRjaC5cbiAgICAgICAgLy8gKHgsIHksIHopIOKIiyAoeD14L3osIHk9eS96KVxuICAgICAgICB0b0FmZmluZShpeikge1xuICAgICAgICAgICAgY29uc3QgeyBweDogeCwgcHk6IHksIHB6OiB6IH0gPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgaXMwID0gdGhpcy5pczAoKTtcbiAgICAgICAgICAgIC8vIElmIGludlogd2FzIDAsIHdlIHJldHVybiB6ZXJvIHBvaW50LiBIb3dldmVyIHdlIHN0aWxsIHdhbnQgdG8gZXhlY3V0ZVxuICAgICAgICAgICAgLy8gYWxsIG9wZXJhdGlvbnMsIHNvIHdlIHJlcGxhY2UgaW52WiB3aXRoIGEgcmFuZG9tIG51bWJlciwgMS5cbiAgICAgICAgICAgIGlmIChpeiA9PSBudWxsKVxuICAgICAgICAgICAgICAgIGl6ID0gaXMwID8gRnAuT05FIDogRnAuaW52KHopO1xuICAgICAgICAgICAgY29uc3QgYXggPSBGcC5tdWwoeCwgaXopO1xuICAgICAgICAgICAgY29uc3QgYXkgPSBGcC5tdWwoeSwgaXopO1xuICAgICAgICAgICAgY29uc3QgenogPSBGcC5tdWwoeiwgaXopO1xuICAgICAgICAgICAgaWYgKGlzMClcbiAgICAgICAgICAgICAgICByZXR1cm4geyB4OiBGcC5aRVJPLCB5OiBGcC5aRVJPIH07XG4gICAgICAgICAgICBpZiAoIUZwLmVxbCh6eiwgRnAuT05FKSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludlogd2FzIGludmFsaWQnKTtcbiAgICAgICAgICAgIHJldHVybiB7IHg6IGF4LCB5OiBheSB9O1xuICAgICAgICB9XG4gICAgICAgIGlzVG9yc2lvbkZyZWUoKSB7XG4gICAgICAgICAgICBjb25zdCB7IGg6IGNvZmFjdG9yLCBpc1RvcnNpb25GcmVlIH0gPSBDVVJWRTtcbiAgICAgICAgICAgIGlmIChjb2ZhY3RvciA9PT0gXzFuKVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBObyBzdWJncm91cHMsIGFsd2F5cyB0b3JzaW9uLWZyZWVcbiAgICAgICAgICAgIGlmIChpc1RvcnNpb25GcmVlKVxuICAgICAgICAgICAgICAgIHJldHVybiBpc1RvcnNpb25GcmVlKFBvaW50LCB0aGlzKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaXNUb3JzaW9uRnJlZSgpIGhhcyBub3QgYmVlbiBkZWNsYXJlZCBmb3IgdGhlIGVsbGlwdGljIGN1cnZlJyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xlYXJDb2ZhY3RvcigpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgaDogY29mYWN0b3IsIGNsZWFyQ29mYWN0b3IgfSA9IENVUlZFO1xuICAgICAgICAgICAgaWYgKGNvZmFjdG9yID09PSBfMW4pXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7IC8vIEZhc3QtcGF0aFxuICAgICAgICAgICAgaWYgKGNsZWFyQ29mYWN0b3IpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFyQ29mYWN0b3IoUG9pbnQsIHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbHlVbnNhZmUoQ1VSVkUuaCk7XG4gICAgICAgIH1cbiAgICAgICAgdG9SYXdCeXRlcyhpc0NvbXByZXNzZWQgPSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2VydFZhbGlkaXR5KCk7XG4gICAgICAgICAgICByZXR1cm4gdG9CeXRlcyhQb2ludCwgdGhpcywgaXNDb21wcmVzc2VkKTtcbiAgICAgICAgfVxuICAgICAgICB0b0hleChpc0NvbXByZXNzZWQgPSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdXQuYnl0ZXNUb0hleCh0aGlzLnRvUmF3Qnl0ZXMoaXNDb21wcmVzc2VkKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgUG9pbnQuQkFTRSA9IG5ldyBQb2ludChDVVJWRS5HeCwgQ1VSVkUuR3ksIEZwLk9ORSk7XG4gICAgUG9pbnQuWkVSTyA9IG5ldyBQb2ludChGcC5aRVJPLCBGcC5PTkUsIEZwLlpFUk8pO1xuICAgIGNvbnN0IF9iaXRzID0gQ1VSVkUubkJpdExlbmd0aDtcbiAgICBjb25zdCB3bmFmID0gd05BRihQb2ludCwgQ1VSVkUuZW5kbyA/IE1hdGguY2VpbChfYml0cyAvIDIpIDogX2JpdHMpO1xuICAgIC8vIFZhbGlkYXRlIGlmIGdlbmVyYXRvciBwb2ludCBpcyBvbiBjdXJ2ZVxuICAgIHJldHVybiB7XG4gICAgICAgIENVUlZFLFxuICAgICAgICBQcm9qZWN0aXZlUG9pbnQ6IFBvaW50LFxuICAgICAgICBub3JtUHJpdmF0ZUtleVRvU2NhbGFyLFxuICAgICAgICB3ZWllcnN0cmFzc0VxdWF0aW9uLFxuICAgICAgICBpc1dpdGhpbkN1cnZlT3JkZXIsXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHZhbGlkYXRlT3B0cyhjdXJ2ZSkge1xuICAgIGNvbnN0IG9wdHMgPSB2YWxpZGF0ZUJhc2ljKGN1cnZlKTtcbiAgICB1dC52YWxpZGF0ZU9iamVjdChvcHRzLCB7XG4gICAgICAgIGhhc2g6ICdoYXNoJyxcbiAgICAgICAgaG1hYzogJ2Z1bmN0aW9uJyxcbiAgICAgICAgcmFuZG9tQnl0ZXM6ICdmdW5jdGlvbicsXG4gICAgfSwge1xuICAgICAgICBiaXRzMmludDogJ2Z1bmN0aW9uJyxcbiAgICAgICAgYml0czJpbnRfbW9kTjogJ2Z1bmN0aW9uJyxcbiAgICAgICAgbG93UzogJ2Jvb2xlYW4nLFxuICAgIH0pO1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKHsgbG93UzogdHJ1ZSwgLi4ub3B0cyB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB3ZWllcnN0cmFzcyhjdXJ2ZURlZikge1xuICAgIGNvbnN0IENVUlZFID0gdmFsaWRhdGVPcHRzKGN1cnZlRGVmKTtcbiAgICBjb25zdCB7IEZwLCBuOiBDVVJWRV9PUkRFUiB9ID0gQ1VSVkU7XG4gICAgY29uc3QgY29tcHJlc3NlZExlbiA9IEZwLkJZVEVTICsgMTsgLy8gZS5nLiAzMyBmb3IgMzJcbiAgICBjb25zdCB1bmNvbXByZXNzZWRMZW4gPSAyICogRnAuQllURVMgKyAxOyAvLyBlLmcuIDY1IGZvciAzMlxuICAgIGZ1bmN0aW9uIGlzVmFsaWRGaWVsZEVsZW1lbnQobnVtKSB7XG4gICAgICAgIHJldHVybiBfMG4gPCBudW0gJiYgbnVtIDwgRnAuT1JERVI7IC8vIDAgaXMgYmFubmVkIHNpbmNlIGl0J3Mgbm90IGludmVydGlibGUgRkVcbiAgICB9XG4gICAgZnVuY3Rpb24gbW9kTihhKSB7XG4gICAgICAgIHJldHVybiBtb2QubW9kKGEsIENVUlZFX09SREVSKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaW52TihhKSB7XG4gICAgICAgIHJldHVybiBtb2QuaW52ZXJ0KGEsIENVUlZFX09SREVSKTtcbiAgICB9XG4gICAgY29uc3QgeyBQcm9qZWN0aXZlUG9pbnQ6IFBvaW50LCBub3JtUHJpdmF0ZUtleVRvU2NhbGFyLCB3ZWllcnN0cmFzc0VxdWF0aW9uLCBpc1dpdGhpbkN1cnZlT3JkZXIsIH0gPSB3ZWllcnN0cmFzc1BvaW50cyh7XG4gICAgICAgIC4uLkNVUlZFLFxuICAgICAgICB0b0J5dGVzKGMsIHBvaW50LCBpc0NvbXByZXNzZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGEgPSBwb2ludC50b0FmZmluZSgpO1xuICAgICAgICAgICAgY29uc3QgeCA9IEZwLnRvQnl0ZXMoYS54KTtcbiAgICAgICAgICAgIGNvbnN0IGNhdCA9IHV0LmNvbmNhdEJ5dGVzO1xuICAgICAgICAgICAgaWYgKGlzQ29tcHJlc3NlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYXQoVWludDhBcnJheS5mcm9tKFtwb2ludC5oYXNFdmVuWSgpID8gMHgwMiA6IDB4MDNdKSwgeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2F0KFVpbnQ4QXJyYXkuZnJvbShbMHgwNF0pLCB4LCBGcC50b0J5dGVzKGEueSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBmcm9tQnl0ZXMoYnl0ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGxlbiA9IGJ5dGVzLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGhlYWQgPSBieXRlc1swXTtcbiAgICAgICAgICAgIGNvbnN0IHRhaWwgPSBieXRlcy5zdWJhcnJheSgxKTtcbiAgICAgICAgICAgIC8vIHRoaXMuYXNzZXJ0VmFsaWRpdHkoKSBpcyBkb25lIGluc2lkZSBvZiBmcm9tSGV4XG4gICAgICAgICAgICBpZiAobGVuID09PSBjb21wcmVzc2VkTGVuICYmIChoZWFkID09PSAweDAyIHx8IGhlYWQgPT09IDB4MDMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeCA9IHV0LmJ5dGVzVG9OdW1iZXJCRSh0YWlsKTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRGaWVsZEVsZW1lbnQoeCkpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUG9pbnQgaXMgbm90IG9uIGN1cnZlJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgeTIgPSB3ZWllcnN0cmFzc0VxdWF0aW9uKHgpOyAvLyB5wrIgPSB4wrMgKyBheCArIGJcbiAgICAgICAgICAgICAgICBsZXQgeSA9IEZwLnNxcnQoeTIpOyAvLyB5ID0gecKyIF4gKHArMSkvNFxuICAgICAgICAgICAgICAgIGNvbnN0IGlzWU9kZCA9ICh5ICYgXzFuKSA9PT0gXzFuO1xuICAgICAgICAgICAgICAgIC8vIEVDRFNBXG4gICAgICAgICAgICAgICAgY29uc3QgaXNIZWFkT2RkID0gKGhlYWQgJiAxKSA9PT0gMTtcbiAgICAgICAgICAgICAgICBpZiAoaXNIZWFkT2RkICE9PSBpc1lPZGQpXG4gICAgICAgICAgICAgICAgICAgIHkgPSBGcC5uZWcoeSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgeCwgeSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobGVuID09PSB1bmNvbXByZXNzZWRMZW4gJiYgaGVhZCA9PT0gMHgwNCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHggPSBGcC5mcm9tQnl0ZXModGFpbC5zdWJhcnJheSgwLCBGcC5CWVRFUykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHkgPSBGcC5mcm9tQnl0ZXModGFpbC5zdWJhcnJheShGcC5CWVRFUywgMiAqIEZwLkJZVEVTKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgeCwgeSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQb2ludCBvZiBsZW5ndGggJHtsZW59IHdhcyBpbnZhbGlkLiBFeHBlY3RlZCAke2NvbXByZXNzZWRMZW59IGNvbXByZXNzZWQgYnl0ZXMgb3IgJHt1bmNvbXByZXNzZWRMZW59IHVuY29tcHJlc3NlZCBieXRlc2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IG51bVRvTkJ5dGVTdHIgPSAobnVtKSA9PiB1dC5ieXRlc1RvSGV4KHV0Lm51bWJlclRvQnl0ZXNCRShudW0sIENVUlZFLm5CeXRlTGVuZ3RoKSk7XG4gICAgZnVuY3Rpb24gaXNCaWdnZXJUaGFuSGFsZk9yZGVyKG51bWJlcikge1xuICAgICAgICBjb25zdCBIQUxGID0gQ1VSVkVfT1JERVIgPj4gXzFuO1xuICAgICAgICByZXR1cm4gbnVtYmVyID4gSEFMRjtcbiAgICB9XG4gICAgZnVuY3Rpb24gbm9ybWFsaXplUyhzKSB7XG4gICAgICAgIHJldHVybiBpc0JpZ2dlclRoYW5IYWxmT3JkZXIocykgPyBtb2ROKC1zKSA6IHM7XG4gICAgfVxuICAgIC8vIHNsaWNlIGJ5dGVzIG51bVxuICAgIGNvbnN0IHNsY051bSA9IChiLCBmcm9tLCB0bykgPT4gdXQuYnl0ZXNUb051bWJlckJFKGIuc2xpY2UoZnJvbSwgdG8pKTtcbiAgICAvKipcbiAgICAgKiBFQ0RTQSBzaWduYXR1cmUgd2l0aCBpdHMgKHIsIHMpIHByb3BlcnRpZXMuIFN1cHBvcnRzIERFUiAmIGNvbXBhY3QgcmVwcmVzZW50YXRpb25zLlxuICAgICAqL1xuICAgIGNsYXNzIFNpZ25hdHVyZSB7XG4gICAgICAgIGNvbnN0cnVjdG9yKHIsIHMsIHJlY292ZXJ5KSB7XG4gICAgICAgICAgICB0aGlzLnIgPSByO1xuICAgICAgICAgICAgdGhpcy5zID0gcztcbiAgICAgICAgICAgIHRoaXMucmVjb3ZlcnkgPSByZWNvdmVyeTtcbiAgICAgICAgICAgIHRoaXMuYXNzZXJ0VmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwYWlyIChieXRlcyBvZiByLCBieXRlcyBvZiBzKVxuICAgICAgICBzdGF0aWMgZnJvbUNvbXBhY3QoaGV4KSB7XG4gICAgICAgICAgICBjb25zdCBsID0gQ1VSVkUubkJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBoZXggPSBlbnN1cmVCeXRlcygnY29tcGFjdFNpZ25hdHVyZScsIGhleCwgbCAqIDIpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTaWduYXR1cmUoc2xjTnVtKGhleCwgMCwgbCksIHNsY051bShoZXgsIGwsIDIgKiBsKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gREVSIGVuY29kZWQgRUNEU0Egc2lnbmF0dXJlXG4gICAgICAgIC8vIGh0dHBzOi8vYml0Y29pbi5zdGFja2V4Y2hhbmdlLmNvbS9xdWVzdGlvbnMvNTc2NDQvd2hhdC1hcmUtdGhlLXBhcnRzLW9mLWEtYml0Y29pbi10cmFuc2FjdGlvbi1pbnB1dC1zY3JpcHRcbiAgICAgICAgc3RhdGljIGZyb21ERVIoaGV4KSB7XG4gICAgICAgICAgICBjb25zdCB7IHIsIHMgfSA9IERFUi50b1NpZyhlbnN1cmVCeXRlcygnREVSJywgaGV4KSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZShyLCBzKTtcbiAgICAgICAgfVxuICAgICAgICBhc3NlcnRWYWxpZGl0eSgpIHtcbiAgICAgICAgICAgIC8vIGNhbiB1c2UgYXNzZXJ0R0UgaGVyZVxuICAgICAgICAgICAgaWYgKCFpc1dpdGhpbkN1cnZlT3JkZXIodGhpcy5yKSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3IgbXVzdCBiZSAwIDwgciA8IENVUlZFLm4nKTtcbiAgICAgICAgICAgIGlmICghaXNXaXRoaW5DdXJ2ZU9yZGVyKHRoaXMucykpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzIG11c3QgYmUgMCA8IHMgPCBDVVJWRS5uJyk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkUmVjb3ZlcnlCaXQocmVjb3ZlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlKHRoaXMuciwgdGhpcy5zLCByZWNvdmVyeSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVjb3ZlclB1YmxpY0tleShtc2dIYXNoKSB7XG4gICAgICAgICAgICBjb25zdCB7IHIsIHMsIHJlY292ZXJ5OiByZWMgfSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCBoID0gYml0czJpbnRfbW9kTihlbnN1cmVCeXRlcygnbXNnSGFzaCcsIG1zZ0hhc2gpKTsgLy8gVHJ1bmNhdGUgaGFzaFxuICAgICAgICAgICAgaWYgKHJlYyA9PSBudWxsIHx8ICFbMCwgMSwgMiwgM10uaW5jbHVkZXMocmVjKSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlY292ZXJ5IGlkIGludmFsaWQnKTtcbiAgICAgICAgICAgIGNvbnN0IHJhZGogPSByZWMgPT09IDIgfHwgcmVjID09PSAzID8gciArIENVUlZFLm4gOiByO1xuICAgICAgICAgICAgaWYgKHJhZGogPj0gRnAuT1JERVIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZWNvdmVyeSBpZCAyIG9yIDMgaW52YWxpZCcpO1xuICAgICAgICAgICAgY29uc3QgcHJlZml4ID0gKHJlYyAmIDEpID09PSAwID8gJzAyJyA6ICcwMyc7XG4gICAgICAgICAgICBjb25zdCBSID0gUG9pbnQuZnJvbUhleChwcmVmaXggKyBudW1Ub05CeXRlU3RyKHJhZGopKTtcbiAgICAgICAgICAgIGNvbnN0IGlyID0gaW52TihyYWRqKTsgLy8gcl4tMVxuICAgICAgICAgICAgY29uc3QgdTEgPSBtb2ROKC1oICogaXIpOyAvLyAtaHJeLTFcbiAgICAgICAgICAgIGNvbnN0IHUyID0gbW9kTihzICogaXIpOyAvLyBzcl4tMVxuICAgICAgICAgICAgY29uc3QgUSA9IFBvaW50LkJBU0UubXVsdGlwbHlBbmRBZGRVbnNhZmUoUiwgdTEsIHUyKTsgLy8gKHNyXi0xKVItKGhyXi0xKUcgPSAtKGhyXi0xKUcgKyAoc3JeLTEpXG4gICAgICAgICAgICBpZiAoIVEpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdwb2ludCBhdCBpbmZpbmlmeScpOyAvLyB1bnNhZmUgaXMgZmluZTogbm8gcHJpdiBkYXRhIGxlYWtlZFxuICAgICAgICAgICAgUS5hc3NlcnRWYWxpZGl0eSgpO1xuICAgICAgICAgICAgcmV0dXJuIFE7XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2lnbmF0dXJlcyBzaG91bGQgYmUgbG93LXMsIHRvIHByZXZlbnQgbWFsbGVhYmlsaXR5LlxuICAgICAgICBoYXNIaWdoUygpIHtcbiAgICAgICAgICAgIHJldHVybiBpc0JpZ2dlclRoYW5IYWxmT3JkZXIodGhpcy5zKTtcbiAgICAgICAgfVxuICAgICAgICBub3JtYWxpemVTKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzSGlnaFMoKSA/IG5ldyBTaWduYXR1cmUodGhpcy5yLCBtb2ROKC10aGlzLnMpLCB0aGlzLnJlY292ZXJ5KSA6IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgLy8gREVSLWVuY29kZWRcbiAgICAgICAgdG9ERVJSYXdCeXRlcygpIHtcbiAgICAgICAgICAgIHJldHVybiB1dC5oZXhUb0J5dGVzKHRoaXMudG9ERVJIZXgoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdG9ERVJIZXgoKSB7XG4gICAgICAgICAgICByZXR1cm4gREVSLmhleEZyb21TaWcoeyByOiB0aGlzLnIsIHM6IHRoaXMucyB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwYWRkZWQgYnl0ZXMgb2YgciwgdGhlbiBwYWRkZWQgYnl0ZXMgb2Ygc1xuICAgICAgICB0b0NvbXBhY3RSYXdCeXRlcygpIHtcbiAgICAgICAgICAgIHJldHVybiB1dC5oZXhUb0J5dGVzKHRoaXMudG9Db21wYWN0SGV4KCkpO1xuICAgICAgICB9XG4gICAgICAgIHRvQ29tcGFjdEhleCgpIHtcbiAgICAgICAgICAgIHJldHVybiBudW1Ub05CeXRlU3RyKHRoaXMucikgKyBudW1Ub05CeXRlU3RyKHRoaXMucyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgdXRpbHMgPSB7XG4gICAgICAgIGlzVmFsaWRQcml2YXRlS2V5KHByaXZhdGVLZXkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbm9ybVByaXZhdGVLZXlUb1NjYWxhcihwcml2YXRlS2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbm9ybVByaXZhdGVLZXlUb1NjYWxhcjogbm9ybVByaXZhdGVLZXlUb1NjYWxhcixcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByb2R1Y2VzIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwcml2YXRlIGtleSBmcm9tIHJhbmRvbSBvZiBzaXplIChuQml0TGVuZ3RoKzY0KVxuICAgICAgICAgKiBhcyBwZXIgRklQUyAxODYgQi40LjEgd2l0aCBtb2R1bG8gYmlhcyBiZWluZyBuZWdsaWJsZS5cbiAgICAgICAgICovXG4gICAgICAgIHJhbmRvbVByaXZhdGVLZXk6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmQgPSBDVVJWRS5yYW5kb21CeXRlcyhGcC5CWVRFUyArIDgpO1xuICAgICAgICAgICAgY29uc3QgbnVtID0gbW9kLmhhc2hUb1ByaXZhdGVTY2FsYXIocmFuZCwgQ1VSVkVfT1JERVIpO1xuICAgICAgICAgICAgcmV0dXJuIHV0Lm51bWJlclRvQnl0ZXNCRShudW0sIENVUlZFLm5CeXRlTGVuZ3RoKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZXMgcHJlY29tcHV0ZSB0YWJsZSBmb3IgYW4gYXJiaXRyYXJ5IEVDIHBvaW50LiBNYWtlcyBwb2ludCBcImNhY2hlZFwiLlxuICAgICAgICAgKiBBbGxvd3MgdG8gbWFzc2l2ZWx5IHNwZWVkLXVwIGBwb2ludC5tdWx0aXBseShzY2FsYXIpYC5cbiAgICAgICAgICogQHJldHVybnMgY2FjaGVkIHBvaW50XG4gICAgICAgICAqIEBleGFtcGxlXG4gICAgICAgICAqIGNvbnN0IGZhc3QgPSB1dGlscy5wcmVjb21wdXRlKDgsIFByb2plY3RpdmVQb2ludC5mcm9tSGV4KHNvbWVvbmVzUHViS2V5KSk7XG4gICAgICAgICAqIGZhc3QubXVsdGlwbHkocHJpdktleSk7IC8vIG11Y2ggZmFzdGVyIEVDREggbm93XG4gICAgICAgICAqL1xuICAgICAgICBwcmVjb21wdXRlKHdpbmRvd1NpemUgPSA4LCBwb2ludCA9IFBvaW50LkJBU0UpIHtcbiAgICAgICAgICAgIHBvaW50Ll9zZXRXaW5kb3dTaXplKHdpbmRvd1NpemUpO1xuICAgICAgICAgICAgcG9pbnQubXVsdGlwbHkoQmlnSW50KDMpKTsgLy8gMyBpcyBhcmJpdHJhcnksIGp1c3QgbmVlZCBhbnkgbnVtYmVyIGhlcmVcbiAgICAgICAgICAgIHJldHVybiBwb2ludDtcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHB1YmxpYyBrZXkgZm9yIGEgcHJpdmF0ZSBrZXkuIENoZWNrcyBmb3IgdmFsaWRpdHkgb2YgdGhlIHByaXZhdGUga2V5LlxuICAgICAqIEBwYXJhbSBwcml2YXRlS2V5IHByaXZhdGUga2V5XG4gICAgICogQHBhcmFtIGlzQ29tcHJlc3NlZCB3aGV0aGVyIHRvIHJldHVybiBjb21wYWN0IChkZWZhdWx0KSwgb3IgZnVsbCBrZXlcbiAgICAgKiBAcmV0dXJucyBQdWJsaWMga2V5LCBmdWxsIHdoZW4gaXNDb21wcmVzc2VkPWZhbHNlOyBzaG9ydCB3aGVuIGlzQ29tcHJlc3NlZD10cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0UHVibGljS2V5KHByaXZhdGVLZXksIGlzQ29tcHJlc3NlZCA9IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIFBvaW50LmZyb21Qcml2YXRlS2V5KHByaXZhdGVLZXkpLnRvUmF3Qnl0ZXMoaXNDb21wcmVzc2VkKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUXVpY2sgYW5kIGRpcnR5IGNoZWNrIGZvciBpdGVtIGJlaW5nIHB1YmxpYyBrZXkuIERvZXMgbm90IHZhbGlkYXRlIGhleCwgb3IgYmVpbmcgb24tY3VydmUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNQcm9iUHViKGl0ZW0pIHtcbiAgICAgICAgY29uc3QgYXJyID0gaXRlbSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk7XG4gICAgICAgIGNvbnN0IHN0ciA9IHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJztcbiAgICAgICAgY29uc3QgbGVuID0gKGFyciB8fCBzdHIpICYmIGl0ZW0ubGVuZ3RoO1xuICAgICAgICBpZiAoYXJyKVxuICAgICAgICAgICAgcmV0dXJuIGxlbiA9PT0gY29tcHJlc3NlZExlbiB8fCBsZW4gPT09IHVuY29tcHJlc3NlZExlbjtcbiAgICAgICAgaWYgKHN0cilcbiAgICAgICAgICAgIHJldHVybiBsZW4gPT09IDIgKiBjb21wcmVzc2VkTGVuIHx8IGxlbiA9PT0gMiAqIHVuY29tcHJlc3NlZExlbjtcbiAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBQb2ludClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVDREggKEVsbGlwdGljIEN1cnZlIERpZmZpZSBIZWxsbWFuKS5cbiAgICAgKiBDb21wdXRlcyBzaGFyZWQgcHVibGljIGtleSBmcm9tIHByaXZhdGUga2V5IGFuZCBwdWJsaWMga2V5LlxuICAgICAqIENoZWNrczogMSkgcHJpdmF0ZSBrZXkgdmFsaWRpdHkgMikgc2hhcmVkIGtleSBpcyBvbi1jdXJ2ZS5cbiAgICAgKiBEb2VzIE5PVCBoYXNoIHRoZSByZXN1bHQuXG4gICAgICogQHBhcmFtIHByaXZhdGVBIHByaXZhdGUga2V5XG4gICAgICogQHBhcmFtIHB1YmxpY0IgZGlmZmVyZW50IHB1YmxpYyBrZXlcbiAgICAgKiBAcGFyYW0gaXNDb21wcmVzc2VkIHdoZXRoZXIgdG8gcmV0dXJuIGNvbXBhY3QgKGRlZmF1bHQpLCBvciBmdWxsIGtleVxuICAgICAqIEByZXR1cm5zIHNoYXJlZCBwdWJsaWMga2V5XG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0U2hhcmVkU2VjcmV0KHByaXZhdGVBLCBwdWJsaWNCLCBpc0NvbXByZXNzZWQgPSB0cnVlKSB7XG4gICAgICAgIGlmIChpc1Byb2JQdWIocHJpdmF0ZUEpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdmaXJzdCBhcmcgbXVzdCBiZSBwcml2YXRlIGtleScpO1xuICAgICAgICBpZiAoIWlzUHJvYlB1YihwdWJsaWNCKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc2Vjb25kIGFyZyBtdXN0IGJlIHB1YmxpYyBrZXknKTtcbiAgICAgICAgY29uc3QgYiA9IFBvaW50LmZyb21IZXgocHVibGljQik7IC8vIGNoZWNrIGZvciBiZWluZyBvbi1jdXJ2ZVxuICAgICAgICByZXR1cm4gYi5tdWx0aXBseShub3JtUHJpdmF0ZUtleVRvU2NhbGFyKHByaXZhdGVBKSkudG9SYXdCeXRlcyhpc0NvbXByZXNzZWQpO1xuICAgIH1cbiAgICAvLyBSRkM2OTc5OiBlbnN1cmUgRUNEU0EgbXNnIGlzIFggYnl0ZXMgYW5kIDwgTi4gUkZDIHN1Z2dlc3RzIG9wdGlvbmFsIHRydW5jYXRpbmcgdmlhIGJpdHMyb2N0ZXRzLlxuICAgIC8vIEZJUFMgMTg2LTQgNC42IHN1Z2dlc3RzIHRoZSBsZWZ0bW9zdCBtaW4obkJpdExlbiwgb3V0TGVuKSBiaXRzLCB3aGljaCBtYXRjaGVzIGJpdHMyaW50LlxuICAgIC8vIGJpdHMyaW50IGNhbiBwcm9kdWNlIHJlcz5OLCB3ZSBjYW4gZG8gbW9kKHJlcywgTikgc2luY2UgdGhlIGJpdExlbiBpcyB0aGUgc2FtZS5cbiAgICAvLyBpbnQyb2N0ZXRzIGNhbid0IGJlIHVzZWQ7IHBhZHMgc21hbGwgbXNncyB3aXRoIDA6IHVuYWNjZXB0YXRibGUgZm9yIHRydW5jIGFzIHBlciBSRkMgdmVjdG9yc1xuICAgIGNvbnN0IGJpdHMyaW50ID0gQ1VSVkUuYml0czJpbnQgfHxcbiAgICAgICAgZnVuY3Rpb24gKGJ5dGVzKSB7XG4gICAgICAgICAgICAvLyBGb3IgY3VydmVzIHdpdGggbkJpdExlbmd0aCAlIDggIT09IDA6IGJpdHMyb2N0ZXRzKGJpdHMyb2N0ZXRzKG0pKSAhPT0gYml0czJvY3RldHMobSlcbiAgICAgICAgICAgIC8vIGZvciBzb21lIGNhc2VzLCBzaW5jZSBieXRlcy5sZW5ndGggKiA4IGlzIG5vdCBhY3R1YWwgYml0TGVuZ3RoLlxuICAgICAgICAgICAgY29uc3QgbnVtID0gdXQuYnl0ZXNUb051bWJlckJFKGJ5dGVzKTsgLy8gY2hlY2sgZm9yID09IHU4IGRvbmUgaGVyZVxuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSBieXRlcy5sZW5ndGggKiA4IC0gQ1VSVkUubkJpdExlbmd0aDsgLy8gdHJ1bmNhdGUgdG8gbkJpdExlbmd0aCBsZWZ0bW9zdCBiaXRzXG4gICAgICAgICAgICByZXR1cm4gZGVsdGEgPiAwID8gbnVtID4+IEJpZ0ludChkZWx0YSkgOiBudW07XG4gICAgICAgIH07XG4gICAgY29uc3QgYml0czJpbnRfbW9kTiA9IENVUlZFLmJpdHMyaW50X21vZE4gfHxcbiAgICAgICAgZnVuY3Rpb24gKGJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gbW9kTihiaXRzMmludChieXRlcykpOyAvLyBjYW4ndCB1c2UgYnl0ZXNUb051bWJlckJFIGhlcmVcbiAgICAgICAgfTtcbiAgICAvLyBOT1RFOiBwYWRzIG91dHB1dCB3aXRoIHplcm8gYXMgcGVyIHNwZWNcbiAgICBjb25zdCBPUkRFUl9NQVNLID0gdXQuYml0TWFzayhDVVJWRS5uQml0TGVuZ3RoKTtcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0byBieXRlcy4gQ2hlY2tzIGlmIG51bSBpbiBgWzAuLk9SREVSX01BU0stMV1gIGUuZy46IGBbMC4uMl4yNTYtMV1gLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGludDJvY3RldHMobnVtKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbnVtICE9PSAnYmlnaW50JylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYmlnaW50IGV4cGVjdGVkJyk7XG4gICAgICAgIGlmICghKF8wbiA8PSBudW0gJiYgbnVtIDwgT1JERVJfTUFTSykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGJpZ2ludCBleHBlY3RlZCA8IDJeJHtDVVJWRS5uQml0TGVuZ3RofWApO1xuICAgICAgICAvLyB3b3JrcyB3aXRoIG9yZGVyLCBjYW4gaGF2ZSBkaWZmZXJlbnQgc2l6ZSB0aGFuIG51bVRvRmllbGQhXG4gICAgICAgIHJldHVybiB1dC5udW1iZXJUb0J5dGVzQkUobnVtLCBDVVJWRS5uQnl0ZUxlbmd0aCk7XG4gICAgfVxuICAgIC8vIFN0ZXBzIEEsIEQgb2YgUkZDNjk3OSAzLjJcbiAgICAvLyBDcmVhdGVzIFJGQzY5Nzkgc2VlZDsgY29udmVydHMgbXNnL3ByaXZLZXkgdG8gbnVtYmVycy5cbiAgICAvLyBVc2VkIG9ubHkgaW4gc2lnbiwgbm90IGluIHZlcmlmeS5cbiAgICAvLyBOT1RFOiB3ZSBjYW5ub3QgYXNzdW1lIGhlcmUgdGhhdCBtc2dIYXNoIGhhcyBzYW1lIGFtb3VudCBvZiBieXRlcyBhcyBjdXJ2ZSBvcmRlciwgdGhpcyB3aWxsIGJlIHdyb25nIGF0IGxlYXN0IGZvciBQNTIxLlxuICAgIC8vIEFsc28gaXQgY2FuIGJlIGJpZ2dlciBmb3IgUDIyNCArIFNIQTI1NlxuICAgIGZ1bmN0aW9uIHByZXBTaWcobXNnSGFzaCwgcHJpdmF0ZUtleSwgb3B0cyA9IGRlZmF1bHRTaWdPcHRzKSB7XG4gICAgICAgIGlmIChbJ3JlY292ZXJlZCcsICdjYW5vbmljYWwnXS5zb21lKChrKSA9PiBrIGluIG9wdHMpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduKCkgbGVnYWN5IG9wdGlvbnMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICBjb25zdCB7IGhhc2gsIHJhbmRvbUJ5dGVzIH0gPSBDVVJWRTtcbiAgICAgICAgbGV0IHsgbG93UywgcHJlaGFzaCwgZXh0cmFFbnRyb3B5OiBlbnQgfSA9IG9wdHM7IC8vIGdlbmVyYXRlcyBsb3ctcyBzaWdzIGJ5IGRlZmF1bHRcbiAgICAgICAgaWYgKGxvd1MgPT0gbnVsbClcbiAgICAgICAgICAgIGxvd1MgPSB0cnVlOyAvLyBSRkM2OTc5IDMuMjogd2Ugc2tpcCBzdGVwIEEsIGJlY2F1c2Ugd2UgYWxyZWFkeSBwcm92aWRlIGhhc2hcbiAgICAgICAgbXNnSGFzaCA9IGVuc3VyZUJ5dGVzKCdtc2dIYXNoJywgbXNnSGFzaCk7XG4gICAgICAgIGlmIChwcmVoYXNoKVxuICAgICAgICAgICAgbXNnSGFzaCA9IGVuc3VyZUJ5dGVzKCdwcmVoYXNoZWQgbXNnSGFzaCcsIGhhc2gobXNnSGFzaCkpO1xuICAgICAgICAvLyBXZSBjYW4ndCBsYXRlciBjYWxsIGJpdHMyb2N0ZXRzLCBzaW5jZSBuZXN0ZWQgYml0czJpbnQgaXMgYnJva2VuIGZvciBjdXJ2ZXNcbiAgICAgICAgLy8gd2l0aCBuQml0TGVuZ3RoICUgOCAhPT0gMC4gQmVjYXVzZSBvZiB0aGF0LCB3ZSB1bndyYXAgaXQgaGVyZSBhcyBpbnQyb2N0ZXRzIGNhbGwuXG4gICAgICAgIC8vIGNvbnN0IGJpdHMyb2N0ZXRzID0gKGJpdHMpID0+IGludDJvY3RldHMoYml0czJpbnRfbW9kTihiaXRzKSlcbiAgICAgICAgY29uc3QgaDFpbnQgPSBiaXRzMmludF9tb2ROKG1zZ0hhc2gpO1xuICAgICAgICBjb25zdCBkID0gbm9ybVByaXZhdGVLZXlUb1NjYWxhcihwcml2YXRlS2V5KTsgLy8gdmFsaWRhdGUgcHJpdmF0ZSBrZXksIGNvbnZlcnQgdG8gYmlnaW50XG4gICAgICAgIGNvbnN0IHNlZWRBcmdzID0gW2ludDJvY3RldHMoZCksIGludDJvY3RldHMoaDFpbnQpXTtcbiAgICAgICAgLy8gZXh0cmFFbnRyb3B5LiBSRkM2OTc5IDMuNjogYWRkaXRpb25hbCBrJyAob3B0aW9uYWwpLlxuICAgICAgICBpZiAoZW50ICE9IG51bGwpIHtcbiAgICAgICAgICAgIC8vIEsgPSBITUFDX0soViB8fCAweDAwIHx8IGludDJvY3RldHMoeCkgfHwgYml0czJvY3RldHMoaDEpIHx8IGsnKVxuICAgICAgICAgICAgY29uc3QgZSA9IGVudCA9PT0gdHJ1ZSA/IHJhbmRvbUJ5dGVzKEZwLkJZVEVTKSA6IGVudDsgLy8gZ2VuZXJhdGUgcmFuZG9tIGJ5dGVzIE9SIHBhc3MgYXMtaXNcbiAgICAgICAgICAgIHNlZWRBcmdzLnB1c2goZW5zdXJlQnl0ZXMoJ2V4dHJhRW50cm9weScsIGUsIEZwLkJZVEVTKSk7IC8vIGNoZWNrIGZvciBiZWluZyBvZiBzaXplIEJZVEVTXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VlZCA9IHV0LmNvbmNhdEJ5dGVzKC4uLnNlZWRBcmdzKTsgLy8gU3RlcCBEIG9mIFJGQzY5NzkgMy4yXG4gICAgICAgIGNvbnN0IG0gPSBoMWludDsgLy8gTk9URTogbm8gbmVlZCB0byBjYWxsIGJpdHMyaW50IHNlY29uZCB0aW1lIGhlcmUsIGl0IGlzIGluc2lkZSB0cnVuY2F0ZUhhc2ghXG4gICAgICAgIC8vIENvbnZlcnRzIHNpZ25hdHVyZSBwYXJhbXMgaW50byBwb2ludCB3IHIvcywgY2hlY2tzIHJlc3VsdCBmb3IgdmFsaWRpdHkuXG4gICAgICAgIGZ1bmN0aW9uIGsyc2lnKGtCeXRlcykge1xuICAgICAgICAgICAgLy8gUkZDIDY5NzkgU2VjdGlvbiAzLjIsIHN0ZXAgMzogayA9IGJpdHMyaW50KFQpXG4gICAgICAgICAgICBjb25zdCBrID0gYml0czJpbnQoa0J5dGVzKTsgLy8gQ2Fubm90IHVzZSBmaWVsZHMgbWV0aG9kcywgc2luY2UgaXQgaXMgZ3JvdXAgZWxlbWVudFxuICAgICAgICAgICAgaWYgKCFpc1dpdGhpbkN1cnZlT3JkZXIoaykpXG4gICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBJbXBvcnRhbnQ6IGFsbCBtb2QoKSBjYWxscyBoZXJlIG11c3QgYmUgZG9uZSBvdmVyIE5cbiAgICAgICAgICAgIGNvbnN0IGlrID0gaW52TihrKTsgLy8ga14tMSBtb2QgblxuICAgICAgICAgICAgY29uc3QgcSA9IFBvaW50LkJBU0UubXVsdGlwbHkoaykudG9BZmZpbmUoKTsgLy8gcSA9IEdrXG4gICAgICAgICAgICBjb25zdCByID0gbW9kTihxLngpOyAvLyByID0gcS54IG1vZCBuXG4gICAgICAgICAgICBpZiAociA9PT0gXzBuKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIENhbiB1c2Ugc2NhbGFyIGJsaW5kaW5nIGJeLTEoYm0gKyBiZHIpIHdoZXJlIGIg4oiIIFsxLHHiiJIxXSBhY2NvcmRpbmcgdG9cbiAgICAgICAgICAgIC8vIGh0dHBzOi8vdGNoZXMuaWFjci5vcmcvaW5kZXgucGhwL1RDSEVTL2FydGljbGUvdmlldy83MzM3LzY1MDkuIFdlJ3ZlIGRlY2lkZWQgYWdhaW5zdCBpdDpcbiAgICAgICAgICAgIC8vIGEpIGRlcGVuZGVuY3kgb24gQ1NQUk5HIGIpIDE1JSBzbG93ZG93biBjKSBkb2Vzbid0IHJlYWxseSBoZWxwIHNpbmNlIGJpZ2ludHMgYXJlIG5vdCBDVFxuICAgICAgICAgICAgY29uc3QgcyA9IG1vZE4oaWsgKiBtb2ROKG0gKyByICogZCkpOyAvLyBOb3QgdXNpbmcgYmxpbmRpbmcgaGVyZVxuICAgICAgICAgICAgaWYgKHMgPT09IF8wbilcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBsZXQgcmVjb3ZlcnkgPSAocS54ID09PSByID8gMCA6IDIpIHwgTnVtYmVyKHEueSAmIF8xbik7IC8vIHJlY292ZXJ5IGJpdCAoMiBvciAzLCB3aGVuIHEueCA+IG4pXG4gICAgICAgICAgICBsZXQgbm9ybVMgPSBzO1xuICAgICAgICAgICAgaWYgKGxvd1MgJiYgaXNCaWdnZXJUaGFuSGFsZk9yZGVyKHMpKSB7XG4gICAgICAgICAgICAgICAgbm9ybVMgPSBub3JtYWxpemVTKHMpOyAvLyBpZiBsb3dTIHdhcyBwYXNzZWQsIGVuc3VyZSBzIGlzIGFsd2F5c1xuICAgICAgICAgICAgICAgIHJlY292ZXJ5IF49IDE7IC8vIC8vIGluIHRoZSBib3R0b20gaGFsZiBvZiBOXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZShyLCBub3JtUywgcmVjb3ZlcnkpOyAvLyB1c2Ugbm9ybVMsIG5vdCBzXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc2VlZCwgazJzaWcgfTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFNpZ09wdHMgPSB7IGxvd1M6IENVUlZFLmxvd1MsIHByZWhhc2g6IGZhbHNlIH07XG4gICAgY29uc3QgZGVmYXVsdFZlck9wdHMgPSB7IGxvd1M6IENVUlZFLmxvd1MsIHByZWhhc2g6IGZhbHNlIH07XG4gICAgLyoqXG4gICAgICogU2lnbnMgbWVzc2FnZSBoYXNoIChub3QgbWVzc2FnZTogeW91IG5lZWQgdG8gaGFzaCBpdCBieSB5b3Vyc2VsZikuXG4gICAgICogYGBgXG4gICAgICogc2lnbihtLCBkLCBrKSB3aGVyZVxuICAgICAqICAgKHgsIHkpID0gRyDDlyBrXG4gICAgICogICByID0geCBtb2QgblxuICAgICAqICAgcyA9IChtICsgZHIpL2sgbW9kIG5cbiAgICAgKiBgYGBcbiAgICAgKiBAcGFyYW0gb3B0cyBgbG93UywgZXh0cmFFbnRyb3B5LCBwcmVoYXNoYFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNpZ24obXNnSGFzaCwgcHJpdktleSwgb3B0cyA9IGRlZmF1bHRTaWdPcHRzKSB7XG4gICAgICAgIGNvbnN0IHsgc2VlZCwgazJzaWcgfSA9IHByZXBTaWcobXNnSGFzaCwgcHJpdktleSwgb3B0cyk7IC8vIFN0ZXBzIEEsIEQgb2YgUkZDNjk3OSAzLjIuXG4gICAgICAgIGNvbnN0IGRyYmcgPSB1dC5jcmVhdGVIbWFjRHJiZyhDVVJWRS5oYXNoLm91dHB1dExlbiwgQ1VSVkUubkJ5dGVMZW5ndGgsIENVUlZFLmhtYWMpO1xuICAgICAgICByZXR1cm4gZHJiZyhzZWVkLCBrMnNpZyk7IC8vIFN0ZXBzIEIsIEMsIEQsIEUsIEYsIEdcbiAgICB9XG4gICAgLy8gRW5hYmxlIHByZWNvbXB1dGVzLiBTbG93cyBkb3duIGZpcnN0IHB1YmxpY0tleSBjb21wdXRhdGlvbiBieSAyMG1zLlxuICAgIFBvaW50LkJBU0UuX3NldFdpbmRvd1NpemUoOCk7XG4gICAgLy8gdXRpbHMucHJlY29tcHV0ZSg4LCBQcm9qZWN0aXZlUG9pbnQuQkFTRSlcbiAgICAvKipcbiAgICAgKiBWZXJpZmllcyBhIHNpZ25hdHVyZSBhZ2FpbnN0IG1lc3NhZ2UgaGFzaCBhbmQgcHVibGljIGtleS5cbiAgICAgKiBSZWplY3RzIGxvd1Mgc2lnbmF0dXJlcyBieSBkZWZhdWx0OiB0byBvdmVycmlkZSxcbiAgICAgKiBzcGVjaWZ5IG9wdGlvbiBge2xvd1M6IGZhbHNlfWAuIEltcGxlbWVudHMgc2VjdGlvbiA0LjEuNCBmcm9tIGh0dHBzOi8vd3d3LnNlY2cub3JnL3NlYzEtdjIucGRmOlxuICAgICAqXG4gICAgICogYGBgXG4gICAgICogdmVyaWZ5KHIsIHMsIGgsIFApIHdoZXJlXG4gICAgICogICBVMSA9IGhzXi0xIG1vZCBuXG4gICAgICogICBVMiA9IHJzXi0xIG1vZCBuXG4gICAgICogICBSID0gVTHii4VHIC0gVTLii4VQXG4gICAgICogICBtb2QoUi54LCBuKSA9PSByXG4gICAgICogYGBgXG4gICAgICovXG4gICAgZnVuY3Rpb24gdmVyaWZ5KHNpZ25hdHVyZSwgbXNnSGFzaCwgcHVibGljS2V5LCBvcHRzID0gZGVmYXVsdFZlck9wdHMpIHtcbiAgICAgICAgY29uc3Qgc2cgPSBzaWduYXR1cmU7XG4gICAgICAgIG1zZ0hhc2ggPSBlbnN1cmVCeXRlcygnbXNnSGFzaCcsIG1zZ0hhc2gpO1xuICAgICAgICBwdWJsaWNLZXkgPSBlbnN1cmVCeXRlcygncHVibGljS2V5JywgcHVibGljS2V5KTtcbiAgICAgICAgaWYgKCdzdHJpY3QnIGluIG9wdHMpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGlvbnMuc3RyaWN0IHdhcyByZW5hbWVkIHRvIGxvd1MnKTtcbiAgICAgICAgY29uc3QgeyBsb3dTLCBwcmVoYXNoIH0gPSBvcHRzO1xuICAgICAgICBsZXQgX3NpZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IFA7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHNnID09PSAnc3RyaW5nJyB8fCBzZyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgICAgICAgICAgICAvLyBTaWduYXR1cmUgY2FuIGJlIHJlcHJlc2VudGVkIGluIDIgd2F5czogY29tcGFjdCAoMipuQnl0ZUxlbmd0aCkgJiBERVIgKHZhcmlhYmxlLWxlbmd0aCkuXG4gICAgICAgICAgICAgICAgLy8gU2luY2UgREVSIGNhbiBhbHNvIGJlIDIqbkJ5dGVMZW5ndGggYnl0ZXMsIHdlIGNoZWNrIGZvciBpdCBmaXJzdC5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBfc2lnID0gU2lnbmF0dXJlLmZyb21ERVIoc2cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZGVyRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoZGVyRXJyb3IgaW5zdGFuY2VvZiBERVIuRXJyKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGRlckVycm9yO1xuICAgICAgICAgICAgICAgICAgICBfc2lnID0gU2lnbmF0dXJlLmZyb21Db21wYWN0KHNnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2Ygc2cgPT09ICdvYmplY3QnICYmIHR5cGVvZiBzZy5yID09PSAnYmlnaW50JyAmJiB0eXBlb2Ygc2cucyA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHIsIHMgfSA9IHNnO1xuICAgICAgICAgICAgICAgIF9zaWcgPSBuZXcgU2lnbmF0dXJlKHIsIHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQQVJTRScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgUCA9IFBvaW50LmZyb21IZXgocHVibGljS2V5KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmIChlcnJvci5tZXNzYWdlID09PSAnUEFSU0UnKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgc2lnbmF0dXJlIG11c3QgYmUgU2lnbmF0dXJlIGluc3RhbmNlLCBVaW50OEFycmF5IG9yIGhleCBzdHJpbmdgKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93UyAmJiBfc2lnLmhhc0hpZ2hTKCkpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChwcmVoYXNoKVxuICAgICAgICAgICAgbXNnSGFzaCA9IENVUlZFLmhhc2gobXNnSGFzaCk7XG4gICAgICAgIGNvbnN0IHsgciwgcyB9ID0gX3NpZztcbiAgICAgICAgY29uc3QgaCA9IGJpdHMyaW50X21vZE4obXNnSGFzaCk7IC8vIENhbm5vdCB1c2UgZmllbGRzIG1ldGhvZHMsIHNpbmNlIGl0IGlzIGdyb3VwIGVsZW1lbnRcbiAgICAgICAgY29uc3QgaXMgPSBpbnZOKHMpOyAvLyBzXi0xXG4gICAgICAgIGNvbnN0IHUxID0gbW9kTihoICogaXMpOyAvLyB1MSA9IGhzXi0xIG1vZCBuXG4gICAgICAgIGNvbnN0IHUyID0gbW9kTihyICogaXMpOyAvLyB1MiA9IHJzXi0xIG1vZCBuXG4gICAgICAgIGNvbnN0IFIgPSBQb2ludC5CQVNFLm11bHRpcGx5QW5kQWRkVW5zYWZlKFAsIHUxLCB1Mik/LnRvQWZmaW5lKCk7IC8vIFIgPSB1MeKLhUcgKyB1MuKLhVBcbiAgICAgICAgaWYgKCFSKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCB2ID0gbW9kTihSLngpO1xuICAgICAgICByZXR1cm4gdiA9PT0gcjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgQ1VSVkUsXG4gICAgICAgIGdldFB1YmxpY0tleSxcbiAgICAgICAgZ2V0U2hhcmVkU2VjcmV0LFxuICAgICAgICBzaWduLFxuICAgICAgICB2ZXJpZnksXG4gICAgICAgIFByb2plY3RpdmVQb2ludDogUG9pbnQsXG4gICAgICAgIFNpZ25hdHVyZSxcbiAgICAgICAgdXRpbHMsXG4gICAgfTtcbn1cbi8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBTaGFsbHVlIGFuZCB2YW4gZGUgV29lc3Rpam5lIG1ldGhvZCBmb3IgYW55IFdlaWVyc3RyYXNzIGN1cnZlXG4vLyBUT0RPOiBjaGVjayBpZiB0aGVyZSBpcyBhIHdheSB0byBtZXJnZSB0aGlzIHdpdGggdXZSYXRpbyBpbiBFZHdhcmRzICYmIG1vdmUgdG8gbW9kdWxhcj9cbi8vIGIgPSBUcnVlIGFuZCB5ID0gc3FydCh1IC8gdikgaWYgKHUgLyB2KSBpcyBzcXVhcmUgaW4gRiwgYW5kXG4vLyBiID0gRmFsc2UgYW5kIHkgPSBzcXJ0KFogKiAodSAvIHYpKSBvdGhlcndpc2UuXG5leHBvcnQgZnVuY3Rpb24gU1dVRnBTcXJ0UmF0aW8oRnAsIFopIHtcbiAgICAvLyBHZW5lcmljIGltcGxlbWVudGF0aW9uXG4gICAgY29uc3QgcSA9IEZwLk9SREVSO1xuICAgIGxldCBsID0gXzBuO1xuICAgIGZvciAobGV0IG8gPSBxIC0gXzFuOyBvICUgXzJuID09PSBfMG47IG8gLz0gXzJuKVxuICAgICAgICBsICs9IF8xbjtcbiAgICBjb25zdCBjMSA9IGw7IC8vIDEuIGMxLCB0aGUgbGFyZ2VzdCBpbnRlZ2VyIHN1Y2ggdGhhdCAyXmMxIGRpdmlkZXMgcSAtIDEuXG4gICAgY29uc3QgYzIgPSAocSAtIF8xbikgLyBfMm4gKiogYzE7IC8vIDIuIGMyID0gKHEgLSAxKSAvICgyXmMxKSAgICAgICAgIyBJbnRlZ2VyIGFyaXRobWV0aWNcbiAgICBjb25zdCBjMyA9IChjMiAtIF8xbikgLyBfMm47IC8vIDMuIGMzID0gKGMyIC0gMSkgLyAyICAgICAgICAgICAgIyBJbnRlZ2VyIGFyaXRobWV0aWNcbiAgICBjb25zdCBjNCA9IF8ybiAqKiBjMSAtIF8xbjsgLy8gNC4gYzQgPSAyXmMxIC0gMSAgICAgICAgICAgICAgICAjIEludGVnZXIgYXJpdGhtZXRpY1xuICAgIGNvbnN0IGM1ID0gXzJuICoqIChjMSAtIF8xbik7IC8vIDUuIGM1ID0gMl4oYzEgLSAxKSAgICAgICAgICAgICAgIyBJbnRlZ2VyIGFyaXRobWV0aWNcbiAgICBjb25zdCBjNiA9IEZwLnBvdyhaLCBjMik7IC8vIDYuIGM2ID0gWl5jMlxuICAgIGNvbnN0IGM3ID0gRnAucG93KFosIChjMiArIF8xbikgLyBfMm4pOyAvLyA3LiBjNyA9IFpeKChjMiArIDEpIC8gMilcbiAgICBsZXQgc3FydFJhdGlvID0gKHUsIHYpID0+IHtcbiAgICAgICAgbGV0IHR2MSA9IGM2OyAvLyAxLiB0djEgPSBjNlxuICAgICAgICBsZXQgdHYyID0gRnAucG93KHYsIGM0KTsgLy8gMi4gdHYyID0gdl5jNFxuICAgICAgICBsZXQgdHYzID0gRnAuc3FyKHR2Mik7IC8vIDMuIHR2MyA9IHR2Ml4yXG4gICAgICAgIHR2MyA9IEZwLm11bCh0djMsIHYpOyAvLyA0LiB0djMgPSB0djMgKiB2XG4gICAgICAgIGxldCB0djUgPSBGcC5tdWwodSwgdHYzKTsgLy8gNS4gdHY1ID0gdSAqIHR2M1xuICAgICAgICB0djUgPSBGcC5wb3codHY1LCBjMyk7IC8vIDYuIHR2NSA9IHR2NV5jM1xuICAgICAgICB0djUgPSBGcC5tdWwodHY1LCB0djIpOyAvLyA3LiB0djUgPSB0djUgKiB0djJcbiAgICAgICAgdHYyID0gRnAubXVsKHR2NSwgdik7IC8vIDguIHR2MiA9IHR2NSAqIHZcbiAgICAgICAgdHYzID0gRnAubXVsKHR2NSwgdSk7IC8vIDkuIHR2MyA9IHR2NSAqIHVcbiAgICAgICAgbGV0IHR2NCA9IEZwLm11bCh0djMsIHR2Mik7IC8vIDEwLiB0djQgPSB0djMgKiB0djJcbiAgICAgICAgdHY1ID0gRnAucG93KHR2NCwgYzUpOyAvLyAxMS4gdHY1ID0gdHY0XmM1XG4gICAgICAgIGxldCBpc1FSID0gRnAuZXFsKHR2NSwgRnAuT05FKTsgLy8gMTIuIGlzUVIgPSB0djUgPT0gMVxuICAgICAgICB0djIgPSBGcC5tdWwodHYzLCBjNyk7IC8vIDEzLiB0djIgPSB0djMgKiBjN1xuICAgICAgICB0djUgPSBGcC5tdWwodHY0LCB0djEpOyAvLyAxNC4gdHY1ID0gdHY0ICogdHYxXG4gICAgICAgIHR2MyA9IEZwLmNtb3YodHYyLCB0djMsIGlzUVIpOyAvLyAxNS4gdHYzID0gQ01PVih0djIsIHR2MywgaXNRUilcbiAgICAgICAgdHY0ID0gRnAuY21vdih0djUsIHR2NCwgaXNRUik7IC8vIDE2LiB0djQgPSBDTU9WKHR2NSwgdHY0LCBpc1FSKVxuICAgICAgICAvLyAxNy4gZm9yIGkgaW4gKGMxLCBjMSAtIDEsIC4uLiwgMik6XG4gICAgICAgIGZvciAobGV0IGkgPSBjMTsgaSA+IF8xbjsgaS0tKSB7XG4gICAgICAgICAgICBsZXQgdHY1ID0gXzJuICoqIChpIC0gXzJuKTsgLy8gMTguICAgIHR2NSA9IGkgLSAyOyAgICAxOS4gICAgdHY1ID0gMl50djVcbiAgICAgICAgICAgIGxldCB0dnY1ID0gRnAucG93KHR2NCwgdHY1KTsgLy8gMjAuICAgIHR2NSA9IHR2NF50djVcbiAgICAgICAgICAgIGNvbnN0IGUxID0gRnAuZXFsKHR2djUsIEZwLk9ORSk7IC8vIDIxLiAgICBlMSA9IHR2NSA9PSAxXG4gICAgICAgICAgICB0djIgPSBGcC5tdWwodHYzLCB0djEpOyAvLyAyMi4gICAgdHYyID0gdHYzICogdHYxXG4gICAgICAgICAgICB0djEgPSBGcC5tdWwodHYxLCB0djEpOyAvLyAyMy4gICAgdHYxID0gdHYxICogdHYxXG4gICAgICAgICAgICB0dnY1ID0gRnAubXVsKHR2NCwgdHYxKTsgLy8gMjQuICAgIHR2NSA9IHR2NCAqIHR2MVxuICAgICAgICAgICAgdHYzID0gRnAuY21vdih0djIsIHR2MywgZTEpOyAvLyAyNS4gICAgdHYzID0gQ01PVih0djIsIHR2MywgZTEpXG4gICAgICAgICAgICB0djQgPSBGcC5jbW92KHR2djUsIHR2NCwgZTEpOyAvLyAyNi4gICAgdHY0ID0gQ01PVih0djUsIHR2NCwgZTEpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaXNWYWxpZDogaXNRUiwgdmFsdWU6IHR2MyB9O1xuICAgIH07XG4gICAgaWYgKEZwLk9SREVSICUgXzRuID09PSBfM24pIHtcbiAgICAgICAgLy8gc3FydF9yYXRpb18zbW9kNCh1LCB2KVxuICAgICAgICBjb25zdCBjMSA9IChGcC5PUkRFUiAtIF8zbikgLyBfNG47IC8vIDEuIGMxID0gKHEgLSAzKSAvIDQgICAgICMgSW50ZWdlciBhcml0aG1ldGljXG4gICAgICAgIGNvbnN0IGMyID0gRnAuc3FydChGcC5uZWcoWikpOyAvLyAyLiBjMiA9IHNxcnQoLVopXG4gICAgICAgIHNxcnRSYXRpbyA9ICh1LCB2KSA9PiB7XG4gICAgICAgICAgICBsZXQgdHYxID0gRnAuc3FyKHYpOyAvLyAxLiB0djEgPSB2XjJcbiAgICAgICAgICAgIGNvbnN0IHR2MiA9IEZwLm11bCh1LCB2KTsgLy8gMi4gdHYyID0gdSAqIHZcbiAgICAgICAgICAgIHR2MSA9IEZwLm11bCh0djEsIHR2Mik7IC8vIDMuIHR2MSA9IHR2MSAqIHR2MlxuICAgICAgICAgICAgbGV0IHkxID0gRnAucG93KHR2MSwgYzEpOyAvLyA0LiB5MSA9IHR2MV5jMVxuICAgICAgICAgICAgeTEgPSBGcC5tdWwoeTEsIHR2Mik7IC8vIDUuIHkxID0geTEgKiB0djJcbiAgICAgICAgICAgIGNvbnN0IHkyID0gRnAubXVsKHkxLCBjMik7IC8vIDYuIHkyID0geTEgKiBjMlxuICAgICAgICAgICAgY29uc3QgdHYzID0gRnAubXVsKEZwLnNxcih5MSksIHYpOyAvLyA3LiB0djMgPSB5MV4yOyA4LiB0djMgPSB0djMgKiB2XG4gICAgICAgICAgICBjb25zdCBpc1FSID0gRnAuZXFsKHR2MywgdSk7IC8vIDkuIGlzUVIgPSB0djMgPT0gdVxuICAgICAgICAgICAgbGV0IHkgPSBGcC5jbW92KHkyLCB5MSwgaXNRUik7IC8vIDEwLiB5ID0gQ01PVih5MiwgeTEsIGlzUVIpXG4gICAgICAgICAgICByZXR1cm4geyBpc1ZhbGlkOiBpc1FSLCB2YWx1ZTogeSB9OyAvLyAxMS4gcmV0dXJuIChpc1FSLCB5KSBpc1FSID8geSA6IHkqYzJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLy8gTm8gY3VydmVzIHVzZXMgdGhhdFxuICAgIC8vIGlmIChGcC5PUkRFUiAlIF84biA9PT0gXzVuKSAvLyBzcXJ0X3JhdGlvXzVtb2Q4XG4gICAgcmV0dXJuIHNxcnRSYXRpbztcbn1cbi8vIEZyb20gZHJhZnQtaXJ0Zi1jZnJnLWhhc2gtdG8tY3VydmUtMTZcbmV4cG9ydCBmdW5jdGlvbiBtYXBUb0N1cnZlU2ltcGxlU1dVKEZwLCBvcHRzKSB7XG4gICAgbW9kLnZhbGlkYXRlRmllbGQoRnApO1xuICAgIGlmICghRnAuaXNWYWxpZChvcHRzLkEpIHx8ICFGcC5pc1ZhbGlkKG9wdHMuQikgfHwgIUZwLmlzVmFsaWQob3B0cy5aKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtYXBUb0N1cnZlU2ltcGxlU1dVOiBpbnZhbGlkIG9wdHMnKTtcbiAgICBjb25zdCBzcXJ0UmF0aW8gPSBTV1VGcFNxcnRSYXRpbyhGcCwgb3B0cy5aKTtcbiAgICBpZiAoIUZwLmlzT2RkKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZwLmlzT2RkIGlzIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICAvLyBJbnB1dDogdSwgYW4gZWxlbWVudCBvZiBGLlxuICAgIC8vIE91dHB1dDogKHgsIHkpLCBhIHBvaW50IG9uIEUuXG4gICAgcmV0dXJuICh1KSA9PiB7XG4gICAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgICBsZXQgdHYxLCB0djIsIHR2MywgdHY0LCB0djUsIHR2NiwgeCwgeTtcbiAgICAgICAgdHYxID0gRnAuc3FyKHUpOyAvLyAxLiAgdHYxID0gdV4yXG4gICAgICAgIHR2MSA9IEZwLm11bCh0djEsIG9wdHMuWik7IC8vIDIuICB0djEgPSBaICogdHYxXG4gICAgICAgIHR2MiA9IEZwLnNxcih0djEpOyAvLyAzLiAgdHYyID0gdHYxXjJcbiAgICAgICAgdHYyID0gRnAuYWRkKHR2MiwgdHYxKTsgLy8gNC4gIHR2MiA9IHR2MiArIHR2MVxuICAgICAgICB0djMgPSBGcC5hZGQodHYyLCBGcC5PTkUpOyAvLyA1LiAgdHYzID0gdHYyICsgMVxuICAgICAgICB0djMgPSBGcC5tdWwodHYzLCBvcHRzLkIpOyAvLyA2LiAgdHYzID0gQiAqIHR2M1xuICAgICAgICB0djQgPSBGcC5jbW92KG9wdHMuWiwgRnAubmVnKHR2MiksICFGcC5lcWwodHYyLCBGcC5aRVJPKSk7IC8vIDcuICB0djQgPSBDTU9WKFosIC10djIsIHR2MiAhPSAwKVxuICAgICAgICB0djQgPSBGcC5tdWwodHY0LCBvcHRzLkEpOyAvLyA4LiAgdHY0ID0gQSAqIHR2NFxuICAgICAgICB0djIgPSBGcC5zcXIodHYzKTsgLy8gOS4gIHR2MiA9IHR2M14yXG4gICAgICAgIHR2NiA9IEZwLnNxcih0djQpOyAvLyAxMC4gdHY2ID0gdHY0XjJcbiAgICAgICAgdHY1ID0gRnAubXVsKHR2Niwgb3B0cy5BKTsgLy8gMTEuIHR2NSA9IEEgKiB0djZcbiAgICAgICAgdHYyID0gRnAuYWRkKHR2MiwgdHY1KTsgLy8gMTIuIHR2MiA9IHR2MiArIHR2NVxuICAgICAgICB0djIgPSBGcC5tdWwodHYyLCB0djMpOyAvLyAxMy4gdHYyID0gdHYyICogdHYzXG4gICAgICAgIHR2NiA9IEZwLm11bCh0djYsIHR2NCk7IC8vIDE0LiB0djYgPSB0djYgKiB0djRcbiAgICAgICAgdHY1ID0gRnAubXVsKHR2Niwgb3B0cy5CKTsgLy8gMTUuIHR2NSA9IEIgKiB0djZcbiAgICAgICAgdHYyID0gRnAuYWRkKHR2MiwgdHY1KTsgLy8gMTYuIHR2MiA9IHR2MiArIHR2NVxuICAgICAgICB4ID0gRnAubXVsKHR2MSwgdHYzKTsgLy8gMTcuICAgeCA9IHR2MSAqIHR2M1xuICAgICAgICBjb25zdCB7IGlzVmFsaWQsIHZhbHVlIH0gPSBzcXJ0UmF0aW8odHYyLCB0djYpOyAvLyAxOC4gKGlzX2d4MV9zcXVhcmUsIHkxKSA9IHNxcnRfcmF0aW8odHYyLCB0djYpXG4gICAgICAgIHkgPSBGcC5tdWwodHYxLCB1KTsgLy8gMTkuICAgeSA9IHR2MSAqIHUgIC0+IFogKiB1XjMgKiB5MVxuICAgICAgICB5ID0gRnAubXVsKHksIHZhbHVlKTsgLy8gMjAuICAgeSA9IHkgKiB5MVxuICAgICAgICB4ID0gRnAuY21vdih4LCB0djMsIGlzVmFsaWQpOyAvLyAyMS4gICB4ID0gQ01PVih4LCB0djMsIGlzX2d4MV9zcXVhcmUpXG4gICAgICAgIHkgPSBGcC5jbW92KHksIHZhbHVlLCBpc1ZhbGlkKTsgLy8gMjIuICAgeSA9IENNT1YoeSwgeTEsIGlzX2d4MV9zcXVhcmUpXG4gICAgICAgIGNvbnN0IGUxID0gRnAuaXNPZGQodSkgPT09IEZwLmlzT2RkKHkpOyAvLyAyMy4gIGUxID0gc2duMCh1KSA9PSBzZ24wKHkpXG4gICAgICAgIHkgPSBGcC5jbW92KEZwLm5lZyh5KSwgeSwgZTEpOyAvLyAyNC4gICB5ID0gQ01PVigteSwgeSwgZTEpXG4gICAgICAgIHggPSBGcC5kaXYoeCwgdHY0KTsgLy8gMjUuICAgeCA9IHggLyB0djRcbiAgICAgICAgcmV0dXJuIHsgeCwgeSB9O1xuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13ZWllcnN0cmFzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/abstract/weierstrass.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/curves/esm/secp256k1.js": -/*!*****************************************************!*\ - !*** ./node_modules/@noble/curves/esm/secp256k1.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeToCurve: function() { return /* binding */ encodeToCurve; },\n/* harmony export */ hashToCurve: function() { return /* binding */ hashToCurve; },\n/* harmony export */ schnorr: function() { return /* binding */ schnorr; },\n/* harmony export */ secp256k1: function() { return /* binding */ secp256k1; }\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/hashes/utils */ \"./node_modules/@noble/hashes/esm/utils.js\");\n/* harmony import */ var _abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstract/modular.js */ \"./node_modules/@noble/curves/esm/abstract/modular.js\");\n/* harmony import */ var _abstract_weierstrass_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./abstract/weierstrass.js */ \"./node_modules/@noble/curves/esm/abstract/weierstrass.js\");\n/* harmony import */ var _abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./abstract/utils.js */ \"./node_modules/@noble/curves/esm/abstract/utils.js\");\n/* harmony import */ var _abstract_hash_to_curve_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./abstract/hash-to-curve.js */ \"./node_modules/@noble/curves/esm/abstract/hash-to-curve.js\");\n/* harmony import */ var _shortw_utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_shortw_utils.js */ \"./node_modules/@noble/curves/esm/_shortw_utils.js\");\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n\n\n\n\n\n\nconst secp256k1P = BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f');\nconst secp256k1N = BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141');\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst divNearest = (a, b) => (a + b / _2n) / b;\n/**\n * √n = n^((p+1)/4) for fields p = 3 mod 4. We unwrap the loop and multiply bit-by-bit.\n * (P+1n/4n).toString(2) would produce bits [223x 1, 0, 22x 1, 4x 0, 11, 00]\n */\nfunction sqrtMod(y) {\n const P = secp256k1P;\n // prettier-ignore\n const _3n = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22);\n // prettier-ignore\n const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88);\n const b2 = (y * y * y) % P; // x^3, 11\n const b3 = (b2 * b2 * y) % P; // x^7\n const b6 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b3, _3n, P) * b3) % P;\n const b9 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b6, _3n, P) * b3) % P;\n const b11 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b9, _2n, P) * b2) % P;\n const b22 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b11, _11n, P) * b11) % P;\n const b44 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b22, _22n, P) * b22) % P;\n const b88 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b44, _44n, P) * b44) % P;\n const b176 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b88, _88n, P) * b88) % P;\n const b220 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b176, _44n, P) * b44) % P;\n const b223 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b220, _3n, P) * b3) % P;\n const t1 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(b223, _23n, P) * b22) % P;\n const t2 = ((0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(t1, _6n, P) * b2) % P;\n const root = (0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.pow2)(t2, _2n, P);\n if (!Fp.eql(Fp.sqr(root), y))\n throw new Error('Cannot find square root');\n return root;\n}\nconst Fp = (0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.Field)(secp256k1P, undefined, undefined, { sqrt: sqrtMod });\nconst secp256k1 = (0,_shortw_utils_js__WEBPACK_IMPORTED_MODULE_6__.createCurve)({\n a: BigInt(0),\n b: BigInt(7),\n Fp,\n n: secp256k1N,\n // Base point (x, y) aka generator point\n Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n h: BigInt(1),\n lowS: true,\n /**\n * secp256k1 belongs to Koblitz curves: it has efficiently computable endomorphism.\n * Endomorphism uses 2x less RAM, speeds up precomputation by 2x and ECDH / key recovery by 20%.\n * For precomputed wNAF it trades off 1/2 init time & 1/3 ram for 20% perf hit.\n * Explanation: https://gist.github.com/paulmillr/eb670806793e84df628a7c434a873066\n */\n endo: {\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n splitScalar: (k) => {\n const n = secp256k1N;\n const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n const b2 = a1;\n const POW_2_128 = BigInt('0x100000000000000000000000000000000'); // (2n**128n).toString(16)\n const c1 = divNearest(b2 * k, n);\n const c2 = divNearest(-b1 * k, n);\n let k1 = (0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.mod)(k - c1 * a1 - c2 * a2, n);\n let k2 = (0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.mod)(-c1 * b1 - c2 * b2, n);\n const k1neg = k1 > POW_2_128;\n const k2neg = k2 > POW_2_128;\n if (k1neg)\n k1 = n - k1;\n if (k2neg)\n k2 = n - k2;\n if (k1 > POW_2_128 || k2 > POW_2_128) {\n throw new Error('splitScalar: Endomorphism failed, k=' + k);\n }\n return { k1neg, k1, k2neg, k2 };\n },\n },\n}, _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_0__.sha256);\n// Schnorr signatures are superior to ECDSA from above. Below is Schnorr-specific BIP0340 code.\n// https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki\nconst _0n = BigInt(0);\nconst fe = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1P;\nconst ge = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1N;\n/** An object mapping tags to their tagged hash prefix of [SHA256(tag) | SHA256(tag)] */\nconst TAGGED_HASH_PREFIXES = {};\nfunction taggedHash(tag, ...messages) {\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_0__.sha256)(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.concatBytes)(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_0__.sha256)((0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.concatBytes)(tagP, ...messages));\n}\n// ECDSA compact points are 33-byte. Schnorr is 32: we strip first byte 0x02 or 0x03\nconst pointToBytes = (point) => point.toRawBytes(true).slice(1);\nconst numTo32b = (n) => (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.numberToBytesBE)(n, 32);\nconst modP = (x) => (0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.mod)(x, secp256k1P);\nconst modN = (x) => (0,_abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.mod)(x, secp256k1N);\nconst Point = secp256k1.ProjectivePoint;\nconst GmulAdd = (Q, a, b) => Point.BASE.multiplyAndAddUnsafe(Q, a, b);\n// Calculate point, scalar and bytes\nfunction schnorrGetExtPubKey(priv) {\n let d_ = secp256k1.utils.normPrivateKeyToScalar(priv); // same method executed in fromPrivateKey\n let p = Point.fromPrivateKey(d_); // P = d'⋅G; 0 < d' < n check is done inside\n const scalar = p.hasEvenY() ? d_ : modN(-d_);\n return { scalar: scalar, bytes: pointToBytes(p) };\n}\n/**\n * lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.\n * @returns valid point checked for being on-curve\n */\nfunction lift_x(x) {\n if (!fe(x))\n throw new Error('bad x: need 0 < x < p'); // Fail if x ≥ p.\n const xx = modP(x * x);\n const c = modP(xx * x + BigInt(7)); // Let c = x³ + 7 mod p.\n let y = sqrtMod(c); // Let y = c^(p+1)/4 mod p.\n if (y % _2n !== _0n)\n y = modP(-y); // Return the unique point P such that x(P) = x and\n const p = new Point(x, y, _1n); // y(P) = y if y mod 2 = 0 or y(P) = p-y otherwise.\n p.assertValidity();\n return p;\n}\n/**\n * Create tagged hash, convert it to bigint, reduce modulo-n.\n */\nfunction challenge(...args) {\n return modN((0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE)(taggedHash('BIP0340/challenge', ...args)));\n}\n/**\n * Schnorr public key is just `x` coordinate of Point as per BIP340.\n */\nfunction schnorrGetPublicKey(privateKey) {\n return schnorrGetExtPubKey(privateKey).bytes; // d'=int(sk). Fail if d'=0 or d'≥n. Ret bytes(d'⋅G)\n}\n/**\n * Creates Schnorr signature as per BIP340. Verifies itself before returning anything.\n * auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.\n */\nfunction schnorrSign(message, privateKey, auxRand = (0,_noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__.randomBytes)(32)) {\n const m = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.ensureBytes)('message', message);\n const { bytes: px, scalar: d } = schnorrGetExtPubKey(privateKey); // checks for isWithinCurveOrder\n const a = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.ensureBytes)('auxRand', auxRand, 32); // Auxiliary random data a: a 32-byte array\n const t = numTo32b(d ^ (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE)(taggedHash('BIP0340/aux', a))); // Let t be the byte-wise xor of bytes(d) and hash/aux(a)\n const rand = taggedHash('BIP0340/nonce', t, px, m); // Let rand = hash/nonce(t || bytes(P) || m)\n const k_ = modN((0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE)(rand)); // Let k' = int(rand) mod n\n if (k_ === _0n)\n throw new Error('sign failed: k is zero'); // Fail if k' = 0.\n const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); // Let R = k'⋅G.\n const e = challenge(rx, px, m); // Let e = int(hash/challenge(bytes(R) || bytes(P) || m)) mod n.\n const sig = new Uint8Array(64); // Let sig = bytes(R) || bytes((k + ed) mod n).\n sig.set(rx, 0);\n sig.set(numTo32b(modN(k + e * d)), 32);\n // If Verify(bytes(P), m, sig) (see below) returns failure, abort\n if (!schnorrVerify(sig, m, px))\n throw new Error('sign: Invalid signature produced');\n return sig;\n}\n/**\n * Verifies Schnorr signature.\n * Will swallow errors & return false except for initial type validation of arguments.\n */\nfunction schnorrVerify(signature, message, publicKey) {\n const sig = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.ensureBytes)('signature', signature, 64);\n const m = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.ensureBytes)('message', message);\n const pub = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.ensureBytes)('publicKey', publicKey, 32);\n try {\n const P = lift_x((0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE)(pub)); // P = lift_x(int(pk)); fail if that fails\n const r = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE)(sig.subarray(0, 32)); // Let r = int(sig[0:32]); fail if r ≥ p.\n if (!fe(r))\n return false;\n const s = (0,_abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE)(sig.subarray(32, 64)); // Let s = int(sig[32:64]); fail if s ≥ n.\n if (!ge(s))\n return false;\n const e = challenge(numTo32b(r), pointToBytes(P), m); // int(challenge(bytes(r)||bytes(P)||m))%n\n const R = GmulAdd(P, s, modN(-e)); // R = s⋅G - e⋅P\n if (!R || !R.hasEvenY() || R.toAffine().x !== r)\n return false; // -eP == (n-e)P\n return true; // Fail if is_infinite(R) / not has_even_y(R) / x(R) ≠ r.\n }\n catch (error) {\n return false;\n }\n}\nconst schnorr = {\n getPublicKey: schnorrGetPublicKey,\n sign: schnorrSign,\n verify: schnorrVerify,\n utils: {\n randomPrivateKey: secp256k1.utils.randomPrivateKey,\n lift_x,\n pointToBytes,\n numberToBytesBE: _abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.numberToBytesBE,\n bytesToNumberBE: _abstract_utils_js__WEBPACK_IMPORTED_MODULE_4__.bytesToNumberBE,\n taggedHash,\n mod: _abstract_modular_js__WEBPACK_IMPORTED_MODULE_2__.mod,\n },\n};\nconst isoMap = _abstract_hash_to_curve_js__WEBPACK_IMPORTED_MODULE_5__.isogenyMap(Fp, [\n // xNum\n [\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7',\n '0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581',\n '0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262',\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c',\n ],\n // xDen\n [\n '0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b',\n '0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n // yNum\n [\n '0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c',\n '0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3',\n '0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931',\n '0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84',\n ],\n // yDen\n [\n '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b',\n '0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573',\n '0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n].map((i) => i.map((j) => BigInt(j))));\nconst mapSWU = (0,_abstract_weierstrass_js__WEBPACK_IMPORTED_MODULE_3__.mapToCurveSimpleSWU)(Fp, {\n A: BigInt('0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533'),\n B: BigInt('1771'),\n Z: Fp.create(BigInt('-11')),\n});\nconst { hashToCurve, encodeToCurve } = _abstract_hash_to_curve_js__WEBPACK_IMPORTED_MODULE_5__.createHasher(secp256k1.ProjectivePoint, (scalars) => {\n const { x, y } = mapSWU(Fp.create(scalars[0]));\n return isoMap(x, y);\n}, {\n DST: 'secp256k1_XMD:SHA-256_SSWU_RO_',\n encodeDST: 'secp256k1_XMD:SHA-256_SSWU_NU_',\n p: Fp.ORDER,\n m: 1,\n k: 128,\n expand: 'xmd',\n hash: _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_0__.sha256,\n});\n//# sourceMappingURL=secp256k1.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vc2VjcDI1NmsxLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDOEM7QUFDSTtBQUNPO0FBQ087QUFDaUM7QUFDOUM7QUFDRjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMsa0NBQWtDO0FBQ2xDLGdCQUFnQiwwREFBSTtBQUNwQixnQkFBZ0IsMERBQUk7QUFDcEIsaUJBQWlCLDBEQUFJO0FBQ3JCLGlCQUFpQiwwREFBSTtBQUNyQixpQkFBaUIsMERBQUk7QUFDckIsaUJBQWlCLDBEQUFJO0FBQ3JCLGtCQUFrQiwwREFBSTtBQUN0QixrQkFBa0IsMERBQUk7QUFDdEIsa0JBQWtCLDBEQUFJO0FBQ3RCLGdCQUFnQiwwREFBSTtBQUNwQixnQkFBZ0IsMERBQUk7QUFDcEIsaUJBQWlCLDBEQUFJO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVywyREFBSyxxQ0FBcUMsZUFBZTtBQUM3RCxrQkFBa0IsNkRBQVc7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZFQUE2RTtBQUM3RTtBQUNBO0FBQ0EscUJBQXFCLHlEQUFHO0FBQ3hCLHFCQUFxQix5REFBRztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsU0FBUztBQUNULEtBQUs7QUFDTCxDQUFDLEVBQUUsd0RBQU07QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiw0REFBTTtBQUMzQixlQUFlLCtEQUFXO0FBQzFCO0FBQ0E7QUFDQSxXQUFXLDREQUFNLENBQUMsK0RBQVc7QUFDN0I7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG1FQUFlO0FBQ3ZDLG9CQUFvQix5REFBRztBQUN2QixvQkFBb0IseURBQUc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Qsc0NBQXNDLGFBQWE7QUFDbkQ7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQSx3Q0FBd0M7QUFDeEMsd0JBQXdCO0FBQ3hCO0FBQ0Esc0JBQXNCO0FBQ3RCLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixtRUFBZTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsZ0VBQVc7QUFDL0QsY0FBYywrREFBVztBQUN6QixZQUFZLHVCQUF1QixtQ0FBbUM7QUFDdEUsY0FBYywrREFBVywwQkFBMEI7QUFDbkQsMkJBQTJCLG1FQUFlLGlDQUFpQztBQUMzRSx3REFBd0Q7QUFDeEQsb0JBQW9CLG1FQUFlLFNBQVM7QUFDNUM7QUFDQSxtREFBbUQ7QUFDbkQsWUFBWSx1QkFBdUIsMkJBQTJCO0FBQzlELG9DQUFvQztBQUNwQyxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLCtEQUFXO0FBQzNCLGNBQWMsK0RBQVc7QUFDekIsZ0JBQWdCLCtEQUFXO0FBQzNCO0FBQ0EseUJBQXlCLG1FQUFlLFFBQVEsd0JBQXdCO0FBQ3hFLGtCQUFrQixtRUFBZSx1QkFBdUIsMkJBQTJCO0FBQ25GO0FBQ0E7QUFDQSxrQkFBa0IsbUVBQWUsd0JBQXdCLDRCQUE0QjtBQUNyRjtBQUNBO0FBQ0EsOERBQThEO0FBQzlELDJDQUEyQztBQUMzQztBQUNBLDBCQUEwQjtBQUMxQixxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkIsdUJBQXVCO0FBQ3ZCO0FBQ0EsV0FBVztBQUNYLEtBQUs7QUFDTDtBQUNBLGVBQWUsa0VBQWM7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDZFQUFtQjtBQUNsQztBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ00sUUFBUSw2QkFBNkIsRUFBRSxvRUFBZ0I7QUFDOUQsWUFBWSxPQUFPO0FBQ25CO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsd0RBQU07QUFDaEIsQ0FBQztBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Abm9ibGUvY3VydmVzL2VzbS9zZWNwMjU2azEuanM/Y2EzMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovXG5pbXBvcnQgeyBzaGEyNTYgfSBmcm9tICdAbm9ibGUvaGFzaGVzL3NoYTI1Nic7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ0Bub2JsZS9oYXNoZXMvdXRpbHMnO1xuaW1wb3J0IHsgRmllbGQsIG1vZCwgcG93MiB9IGZyb20gJy4vYWJzdHJhY3QvbW9kdWxhci5qcyc7XG5pbXBvcnQgeyBtYXBUb0N1cnZlU2ltcGxlU1dVIH0gZnJvbSAnLi9hYnN0cmFjdC93ZWllcnN0cmFzcy5qcyc7XG5pbXBvcnQgeyBieXRlc1RvTnVtYmVyQkUsIGNvbmNhdEJ5dGVzLCBlbnN1cmVCeXRlcywgbnVtYmVyVG9CeXRlc0JFIH0gZnJvbSAnLi9hYnN0cmFjdC91dGlscy5qcyc7XG5pbXBvcnQgKiBhcyBodGYgZnJvbSAnLi9hYnN0cmFjdC9oYXNoLXRvLWN1cnZlLmpzJztcbmltcG9ydCB7IGNyZWF0ZUN1cnZlIH0gZnJvbSAnLi9fc2hvcnR3X3V0aWxzLmpzJztcbmNvbnN0IHNlY3AyNTZrMVAgPSBCaWdJbnQoJzB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmMyZicpO1xuY29uc3Qgc2VjcDI1NmsxTiA9IEJpZ0ludCgnMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWJhYWVkY2U2YWY0OGEwM2JiZmQyNWU4Y2QwMzY0MTQxJyk7XG5jb25zdCBfMW4gPSBCaWdJbnQoMSk7XG5jb25zdCBfMm4gPSBCaWdJbnQoMik7XG5jb25zdCBkaXZOZWFyZXN0ID0gKGEsIGIpID0+IChhICsgYiAvIF8ybikgLyBiO1xuLyoqXG4gKiDiiJpuID0gbl4oKHArMSkvNCkgZm9yIGZpZWxkcyBwID0gMyBtb2QgNC4gV2UgdW53cmFwIHRoZSBsb29wIGFuZCBtdWx0aXBseSBiaXQtYnktYml0LlxuICogKFArMW4vNG4pLnRvU3RyaW5nKDIpIHdvdWxkIHByb2R1Y2UgYml0cyBbMjIzeCAxLCAwLCAyMnggMSwgNHggMCwgMTEsIDAwXVxuICovXG5mdW5jdGlvbiBzcXJ0TW9kKHkpIHtcbiAgICBjb25zdCBQID0gc2VjcDI1NmsxUDtcbiAgICAvLyBwcmV0dGllci1pZ25vcmVcbiAgICBjb25zdCBfM24gPSBCaWdJbnQoMyksIF82biA9IEJpZ0ludCg2KSwgXzExbiA9IEJpZ0ludCgxMSksIF8yMm4gPSBCaWdJbnQoMjIpO1xuICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgIGNvbnN0IF8yM24gPSBCaWdJbnQoMjMpLCBfNDRuID0gQmlnSW50KDQ0KSwgXzg4biA9IEJpZ0ludCg4OCk7XG4gICAgY29uc3QgYjIgPSAoeSAqIHkgKiB5KSAlIFA7IC8vIHheMywgMTFcbiAgICBjb25zdCBiMyA9IChiMiAqIGIyICogeSkgJSBQOyAvLyB4XjdcbiAgICBjb25zdCBiNiA9IChwb3cyKGIzLCBfM24sIFApICogYjMpICUgUDtcbiAgICBjb25zdCBiOSA9IChwb3cyKGI2LCBfM24sIFApICogYjMpICUgUDtcbiAgICBjb25zdCBiMTEgPSAocG93MihiOSwgXzJuLCBQKSAqIGIyKSAlIFA7XG4gICAgY29uc3QgYjIyID0gKHBvdzIoYjExLCBfMTFuLCBQKSAqIGIxMSkgJSBQO1xuICAgIGNvbnN0IGI0NCA9IChwb3cyKGIyMiwgXzIybiwgUCkgKiBiMjIpICUgUDtcbiAgICBjb25zdCBiODggPSAocG93MihiNDQsIF80NG4sIFApICogYjQ0KSAlIFA7XG4gICAgY29uc3QgYjE3NiA9IChwb3cyKGI4OCwgXzg4biwgUCkgKiBiODgpICUgUDtcbiAgICBjb25zdCBiMjIwID0gKHBvdzIoYjE3NiwgXzQ0biwgUCkgKiBiNDQpICUgUDtcbiAgICBjb25zdCBiMjIzID0gKHBvdzIoYjIyMCwgXzNuLCBQKSAqIGIzKSAlIFA7XG4gICAgY29uc3QgdDEgPSAocG93MihiMjIzLCBfMjNuLCBQKSAqIGIyMikgJSBQO1xuICAgIGNvbnN0IHQyID0gKHBvdzIodDEsIF82biwgUCkgKiBiMikgJSBQO1xuICAgIGNvbnN0IHJvb3QgPSBwb3cyKHQyLCBfMm4sIFApO1xuICAgIGlmICghRnAuZXFsKEZwLnNxcihyb290KSwgeSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZpbmQgc3F1YXJlIHJvb3QnKTtcbiAgICByZXR1cm4gcm9vdDtcbn1cbmNvbnN0IEZwID0gRmllbGQoc2VjcDI1NmsxUCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHsgc3FydDogc3FydE1vZCB9KTtcbmV4cG9ydCBjb25zdCBzZWNwMjU2azEgPSBjcmVhdGVDdXJ2ZSh7XG4gICAgYTogQmlnSW50KDApLFxuICAgIGI6IEJpZ0ludCg3KSxcbiAgICBGcCxcbiAgICBuOiBzZWNwMjU2azFOLFxuICAgIC8vIEJhc2UgcG9pbnQgKHgsIHkpIGFrYSBnZW5lcmF0b3IgcG9pbnRcbiAgICBHeDogQmlnSW50KCc1NTA2NjI2MzAyMjI3NzM0MzY2OTU3ODcxODg5NTE2ODUzNDMyNjI1MDYwMzQ1Mzc3NzU5NDE3NTUwMDE4NzM2MDM4OTExNjcyOTI0MCcpLFxuICAgIEd5OiBCaWdJbnQoJzMyNjcwNTEwMDIwNzU4ODE2OTc4MDgzMDg1MTMwNTA3MDQzMTg0NDcxMjczMzgwNjU5MjQzMjc1OTM4OTA0MzM1NzU3MzM3NDgyNDI0JyksXG4gICAgaDogQmlnSW50KDEpLFxuICAgIGxvd1M6IHRydWUsXG4gICAgLyoqXG4gICAgICogc2VjcDI1NmsxIGJlbG9uZ3MgdG8gS29ibGl0eiBjdXJ2ZXM6IGl0IGhhcyBlZmZpY2llbnRseSBjb21wdXRhYmxlIGVuZG9tb3JwaGlzbS5cbiAgICAgKiBFbmRvbW9ycGhpc20gdXNlcyAyeCBsZXNzIFJBTSwgc3BlZWRzIHVwIHByZWNvbXB1dGF0aW9uIGJ5IDJ4IGFuZCBFQ0RIIC8ga2V5IHJlY292ZXJ5IGJ5IDIwJS5cbiAgICAgKiBGb3IgcHJlY29tcHV0ZWQgd05BRiBpdCB0cmFkZXMgb2ZmIDEvMiBpbml0IHRpbWUgJiAxLzMgcmFtIGZvciAyMCUgcGVyZiBoaXQuXG4gICAgICogRXhwbGFuYXRpb246IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3BhdWxtaWxsci9lYjY3MDgwNjc5M2U4NGRmNjI4YTdjNDM0YTg3MzA2NlxuICAgICAqL1xuICAgIGVuZG86IHtcbiAgICAgICAgYmV0YTogQmlnSW50KCcweDdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUnKSxcbiAgICAgICAgc3BsaXRTY2FsYXI6IChrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuID0gc2VjcDI1NmsxTjtcbiAgICAgICAgICAgIGNvbnN0IGExID0gQmlnSW50KCcweDMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1Jyk7XG4gICAgICAgICAgICBjb25zdCBiMSA9IC1fMW4gKiBCaWdJbnQoJzB4ZTQ0MzdlZDYwMTBlODgyODZmNTQ3ZmE5MGFiZmU0YzMnKTtcbiAgICAgICAgICAgIGNvbnN0IGEyID0gQmlnSW50KCcweDExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCcpO1xuICAgICAgICAgICAgY29uc3QgYjIgPSBhMTtcbiAgICAgICAgICAgIGNvbnN0IFBPV18yXzEyOCA9IEJpZ0ludCgnMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKTsgLy8gKDJuKioxMjhuKS50b1N0cmluZygxNilcbiAgICAgICAgICAgIGNvbnN0IGMxID0gZGl2TmVhcmVzdChiMiAqIGssIG4pO1xuICAgICAgICAgICAgY29uc3QgYzIgPSBkaXZOZWFyZXN0KC1iMSAqIGssIG4pO1xuICAgICAgICAgICAgbGV0IGsxID0gbW9kKGsgLSBjMSAqIGExIC0gYzIgKiBhMiwgbik7XG4gICAgICAgICAgICBsZXQgazIgPSBtb2QoLWMxICogYjEgLSBjMiAqIGIyLCBuKTtcbiAgICAgICAgICAgIGNvbnN0IGsxbmVnID0gazEgPiBQT1dfMl8xMjg7XG4gICAgICAgICAgICBjb25zdCBrMm5lZyA9IGsyID4gUE9XXzJfMTI4O1xuICAgICAgICAgICAgaWYgKGsxbmVnKVxuICAgICAgICAgICAgICAgIGsxID0gbiAtIGsxO1xuICAgICAgICAgICAgaWYgKGsybmVnKVxuICAgICAgICAgICAgICAgIGsyID0gbiAtIGsyO1xuICAgICAgICAgICAgaWYgKGsxID4gUE9XXzJfMTI4IHx8IGsyID4gUE9XXzJfMTI4KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzcGxpdFNjYWxhcjogRW5kb21vcnBoaXNtIGZhaWxlZCwgaz0nICsgayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBrMW5lZywgazEsIGsybmVnLCBrMiB9O1xuICAgICAgICB9LFxuICAgIH0sXG59LCBzaGEyNTYpO1xuLy8gU2Nobm9yciBzaWduYXR1cmVzIGFyZSBzdXBlcmlvciB0byBFQ0RTQSBmcm9tIGFib3ZlLiBCZWxvdyBpcyBTY2hub3JyLXNwZWNpZmljIEJJUDAzNDAgY29kZS5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvYmxvYi9tYXN0ZXIvYmlwLTAzNDAubWVkaWF3aWtpXG5jb25zdCBfMG4gPSBCaWdJbnQoMCk7XG5jb25zdCBmZSA9ICh4KSA9PiB0eXBlb2YgeCA9PT0gJ2JpZ2ludCcgJiYgXzBuIDwgeCAmJiB4IDwgc2VjcDI1NmsxUDtcbmNvbnN0IGdlID0gKHgpID0+IHR5cGVvZiB4ID09PSAnYmlnaW50JyAmJiBfMG4gPCB4ICYmIHggPCBzZWNwMjU2azFOO1xuLyoqIEFuIG9iamVjdCBtYXBwaW5nIHRhZ3MgdG8gdGhlaXIgdGFnZ2VkIGhhc2ggcHJlZml4IG9mIFtTSEEyNTYodGFnKSB8IFNIQTI1Nih0YWcpXSAqL1xuY29uc3QgVEFHR0VEX0hBU0hfUFJFRklYRVMgPSB7fTtcbmZ1bmN0aW9uIHRhZ2dlZEhhc2godGFnLCAuLi5tZXNzYWdlcykge1xuICAgIGxldCB0YWdQID0gVEFHR0VEX0hBU0hfUFJFRklYRVNbdGFnXTtcbiAgICBpZiAodGFnUCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHRhZ0ggPSBzaGEyNTYoVWludDhBcnJheS5mcm9tKHRhZywgKGMpID0+IGMuY2hhckNvZGVBdCgwKSkpO1xuICAgICAgICB0YWdQID0gY29uY2F0Qnl0ZXModGFnSCwgdGFnSCk7XG4gICAgICAgIFRBR0dFRF9IQVNIX1BSRUZJWEVTW3RhZ10gPSB0YWdQO1xuICAgIH1cbiAgICByZXR1cm4gc2hhMjU2KGNvbmNhdEJ5dGVzKHRhZ1AsIC4uLm1lc3NhZ2VzKSk7XG59XG4vLyBFQ0RTQSBjb21wYWN0IHBvaW50cyBhcmUgMzMtYnl0ZS4gU2Nobm9yciBpcyAzMjogd2Ugc3RyaXAgZmlyc3QgYnl0ZSAweDAyIG9yIDB4MDNcbmNvbnN0IHBvaW50VG9CeXRlcyA9IChwb2ludCkgPT4gcG9pbnQudG9SYXdCeXRlcyh0cnVlKS5zbGljZSgxKTtcbmNvbnN0IG51bVRvMzJiID0gKG4pID0+IG51bWJlclRvQnl0ZXNCRShuLCAzMik7XG5jb25zdCBtb2RQID0gKHgpID0+IG1vZCh4LCBzZWNwMjU2azFQKTtcbmNvbnN0IG1vZE4gPSAoeCkgPT4gbW9kKHgsIHNlY3AyNTZrMU4pO1xuY29uc3QgUG9pbnQgPSBzZWNwMjU2azEuUHJvamVjdGl2ZVBvaW50O1xuY29uc3QgR211bEFkZCA9IChRLCBhLCBiKSA9PiBQb2ludC5CQVNFLm11bHRpcGx5QW5kQWRkVW5zYWZlKFEsIGEsIGIpO1xuLy8gQ2FsY3VsYXRlIHBvaW50LCBzY2FsYXIgYW5kIGJ5dGVzXG5mdW5jdGlvbiBzY2hub3JyR2V0RXh0UHViS2V5KHByaXYpIHtcbiAgICBsZXQgZF8gPSBzZWNwMjU2azEudXRpbHMubm9ybVByaXZhdGVLZXlUb1NjYWxhcihwcml2KTsgLy8gc2FtZSBtZXRob2QgZXhlY3V0ZWQgaW4gZnJvbVByaXZhdGVLZXlcbiAgICBsZXQgcCA9IFBvaW50LmZyb21Qcml2YXRlS2V5KGRfKTsgLy8gUCA9IGQn4ouFRzsgMCA8IGQnIDwgbiBjaGVjayBpcyBkb25lIGluc2lkZVxuICAgIGNvbnN0IHNjYWxhciA9IHAuaGFzRXZlblkoKSA/IGRfIDogbW9kTigtZF8pO1xuICAgIHJldHVybiB7IHNjYWxhcjogc2NhbGFyLCBieXRlczogcG9pbnRUb0J5dGVzKHApIH07XG59XG4vKipcbiAqIGxpZnRfeCBmcm9tIEJJUDM0MC4gQ29udmVydCAzMi1ieXRlIHggY29vcmRpbmF0ZSB0byBlbGxpcHRpYyBjdXJ2ZSBwb2ludC5cbiAqIEByZXR1cm5zIHZhbGlkIHBvaW50IGNoZWNrZWQgZm9yIGJlaW5nIG9uLWN1cnZlXG4gKi9cbmZ1bmN0aW9uIGxpZnRfeCh4KSB7XG4gICAgaWYgKCFmZSh4KSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgeDogbmVlZCAwIDwgeCA8IHAnKTsgLy8gRmFpbCBpZiB4IOKJpSBwLlxuICAgIGNvbnN0IHh4ID0gbW9kUCh4ICogeCk7XG4gICAgY29uc3QgYyA9IG1vZFAoeHggKiB4ICsgQmlnSW50KDcpKTsgLy8gTGV0IGMgPSB4wrMgKyA3IG1vZCBwLlxuICAgIGxldCB5ID0gc3FydE1vZChjKTsgLy8gTGV0IHkgPSBjXihwKzEpLzQgbW9kIHAuXG4gICAgaWYgKHkgJSBfMm4gIT09IF8wbilcbiAgICAgICAgeSA9IG1vZFAoLXkpOyAvLyBSZXR1cm4gdGhlIHVuaXF1ZSBwb2ludCBQIHN1Y2ggdGhhdCB4KFApID0geCBhbmRcbiAgICBjb25zdCBwID0gbmV3IFBvaW50KHgsIHksIF8xbik7IC8vIHkoUCkgPSB5IGlmIHkgbW9kIDIgPSAwIG9yIHkoUCkgPSBwLXkgb3RoZXJ3aXNlLlxuICAgIHAuYXNzZXJ0VmFsaWRpdHkoKTtcbiAgICByZXR1cm4gcDtcbn1cbi8qKlxuICogQ3JlYXRlIHRhZ2dlZCBoYXNoLCBjb252ZXJ0IGl0IHRvIGJpZ2ludCwgcmVkdWNlIG1vZHVsby1uLlxuICovXG5mdW5jdGlvbiBjaGFsbGVuZ2UoLi4uYXJncykge1xuICAgIHJldHVybiBtb2ROKGJ5dGVzVG9OdW1iZXJCRSh0YWdnZWRIYXNoKCdCSVAwMzQwL2NoYWxsZW5nZScsIC4uLmFyZ3MpKSk7XG59XG4vKipcbiAqIFNjaG5vcnIgcHVibGljIGtleSBpcyBqdXN0IGB4YCBjb29yZGluYXRlIG9mIFBvaW50IGFzIHBlciBCSVAzNDAuXG4gKi9cbmZ1bmN0aW9uIHNjaG5vcnJHZXRQdWJsaWNLZXkocHJpdmF0ZUtleSkge1xuICAgIHJldHVybiBzY2hub3JyR2V0RXh0UHViS2V5KHByaXZhdGVLZXkpLmJ5dGVzOyAvLyBkJz1pbnQoc2spLiBGYWlsIGlmIGQnPTAgb3IgZCfiiaVuLiBSZXQgYnl0ZXMoZCfii4VHKVxufVxuLyoqXG4gKiBDcmVhdGVzIFNjaG5vcnIgc2lnbmF0dXJlIGFzIHBlciBCSVAzNDAuIFZlcmlmaWVzIGl0c2VsZiBiZWZvcmUgcmV0dXJuaW5nIGFueXRoaW5nLlxuICogYXV4UmFuZCBpcyBvcHRpb25hbCBhbmQgaXMgbm90IHRoZSBzb2xlIHNvdXJjZSBvZiBrIGdlbmVyYXRpb246IGJhZCBDU1BSTkcgd29uJ3QgYmUgZGFuZ2Vyb3VzLlxuICovXG5mdW5jdGlvbiBzY2hub3JyU2lnbihtZXNzYWdlLCBwcml2YXRlS2V5LCBhdXhSYW5kID0gcmFuZG9tQnl0ZXMoMzIpKSB7XG4gICAgY29uc3QgbSA9IGVuc3VyZUJ5dGVzKCdtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgY29uc3QgeyBieXRlczogcHgsIHNjYWxhcjogZCB9ID0gc2Nobm9yckdldEV4dFB1YktleShwcml2YXRlS2V5KTsgLy8gY2hlY2tzIGZvciBpc1dpdGhpbkN1cnZlT3JkZXJcbiAgICBjb25zdCBhID0gZW5zdXJlQnl0ZXMoJ2F1eFJhbmQnLCBhdXhSYW5kLCAzMik7IC8vIEF1eGlsaWFyeSByYW5kb20gZGF0YSBhOiBhIDMyLWJ5dGUgYXJyYXlcbiAgICBjb25zdCB0ID0gbnVtVG8zMmIoZCBeIGJ5dGVzVG9OdW1iZXJCRSh0YWdnZWRIYXNoKCdCSVAwMzQwL2F1eCcsIGEpKSk7IC8vIExldCB0IGJlIHRoZSBieXRlLXdpc2UgeG9yIG9mIGJ5dGVzKGQpIGFuZCBoYXNoL2F1eChhKVxuICAgIGNvbnN0IHJhbmQgPSB0YWdnZWRIYXNoKCdCSVAwMzQwL25vbmNlJywgdCwgcHgsIG0pOyAvLyBMZXQgcmFuZCA9IGhhc2gvbm9uY2UodCB8fCBieXRlcyhQKSB8fCBtKVxuICAgIGNvbnN0IGtfID0gbW9kTihieXRlc1RvTnVtYmVyQkUocmFuZCkpOyAvLyBMZXQgaycgPSBpbnQocmFuZCkgbW9kIG5cbiAgICBpZiAoa18gPT09IF8wbilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduIGZhaWxlZDogayBpcyB6ZXJvJyk7IC8vIEZhaWwgaWYgaycgPSAwLlxuICAgIGNvbnN0IHsgYnl0ZXM6IHJ4LCBzY2FsYXI6IGsgfSA9IHNjaG5vcnJHZXRFeHRQdWJLZXkoa18pOyAvLyBMZXQgUiA9IGsn4ouFRy5cbiAgICBjb25zdCBlID0gY2hhbGxlbmdlKHJ4LCBweCwgbSk7IC8vIExldCBlID0gaW50KGhhc2gvY2hhbGxlbmdlKGJ5dGVzKFIpIHx8IGJ5dGVzKFApIHx8IG0pKSBtb2Qgbi5cbiAgICBjb25zdCBzaWcgPSBuZXcgVWludDhBcnJheSg2NCk7IC8vIExldCBzaWcgPSBieXRlcyhSKSB8fCBieXRlcygoayArIGVkKSBtb2QgbikuXG4gICAgc2lnLnNldChyeCwgMCk7XG4gICAgc2lnLnNldChudW1UbzMyYihtb2ROKGsgKyBlICogZCkpLCAzMik7XG4gICAgLy8gSWYgVmVyaWZ5KGJ5dGVzKFApLCBtLCBzaWcpIChzZWUgYmVsb3cpIHJldHVybnMgZmFpbHVyZSwgYWJvcnRcbiAgICBpZiAoIXNjaG5vcnJWZXJpZnkoc2lnLCBtLCBweCkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2lnbjogSW52YWxpZCBzaWduYXR1cmUgcHJvZHVjZWQnKTtcbiAgICByZXR1cm4gc2lnO1xufVxuLyoqXG4gKiBWZXJpZmllcyBTY2hub3JyIHNpZ25hdHVyZS5cbiAqIFdpbGwgc3dhbGxvdyBlcnJvcnMgJiByZXR1cm4gZmFsc2UgZXhjZXB0IGZvciBpbml0aWFsIHR5cGUgdmFsaWRhdGlvbiBvZiBhcmd1bWVudHMuXG4gKi9cbmZ1bmN0aW9uIHNjaG5vcnJWZXJpZnkoc2lnbmF0dXJlLCBtZXNzYWdlLCBwdWJsaWNLZXkpIHtcbiAgICBjb25zdCBzaWcgPSBlbnN1cmVCeXRlcygnc2lnbmF0dXJlJywgc2lnbmF0dXJlLCA2NCk7XG4gICAgY29uc3QgbSA9IGVuc3VyZUJ5dGVzKCdtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgY29uc3QgcHViID0gZW5zdXJlQnl0ZXMoJ3B1YmxpY0tleScsIHB1YmxpY0tleSwgMzIpO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IFAgPSBsaWZ0X3goYnl0ZXNUb051bWJlckJFKHB1YikpOyAvLyBQID0gbGlmdF94KGludChwaykpOyBmYWlsIGlmIHRoYXQgZmFpbHNcbiAgICAgICAgY29uc3QgciA9IGJ5dGVzVG9OdW1iZXJCRShzaWcuc3ViYXJyYXkoMCwgMzIpKTsgLy8gTGV0IHIgPSBpbnQoc2lnWzA6MzJdKTsgZmFpbCBpZiByIOKJpSBwLlxuICAgICAgICBpZiAoIWZlKHIpKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBzID0gYnl0ZXNUb051bWJlckJFKHNpZy5zdWJhcnJheSgzMiwgNjQpKTsgLy8gTGV0IHMgPSBpbnQoc2lnWzMyOjY0XSk7IGZhaWwgaWYgcyDiiaUgbi5cbiAgICAgICAgaWYgKCFnZShzKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgZSA9IGNoYWxsZW5nZShudW1UbzMyYihyKSwgcG9pbnRUb0J5dGVzKFApLCBtKTsgLy8gaW50KGNoYWxsZW5nZShieXRlcyhyKXx8Ynl0ZXMoUCl8fG0pKSVuXG4gICAgICAgIGNvbnN0IFIgPSBHbXVsQWRkKFAsIHMsIG1vZE4oLWUpKTsgLy8gUiA9IHPii4VHIC0gZeKLhVBcbiAgICAgICAgaWYgKCFSIHx8ICFSLmhhc0V2ZW5ZKCkgfHwgUi50b0FmZmluZSgpLnggIT09IHIpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIC1lUCA9PSAobi1lKVBcbiAgICAgICAgcmV0dXJuIHRydWU7IC8vIEZhaWwgaWYgaXNfaW5maW5pdGUoUikgLyBub3QgaGFzX2V2ZW5feShSKSAvIHgoUikg4omgIHIuXG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuZXhwb3J0IGNvbnN0IHNjaG5vcnIgPSB7XG4gICAgZ2V0UHVibGljS2V5OiBzY2hub3JyR2V0UHVibGljS2V5LFxuICAgIHNpZ246IHNjaG5vcnJTaWduLFxuICAgIHZlcmlmeTogc2Nobm9yclZlcmlmeSxcbiAgICB1dGlsczoge1xuICAgICAgICByYW5kb21Qcml2YXRlS2V5OiBzZWNwMjU2azEudXRpbHMucmFuZG9tUHJpdmF0ZUtleSxcbiAgICAgICAgbGlmdF94LFxuICAgICAgICBwb2ludFRvQnl0ZXMsXG4gICAgICAgIG51bWJlclRvQnl0ZXNCRSxcbiAgICAgICAgYnl0ZXNUb051bWJlckJFLFxuICAgICAgICB0YWdnZWRIYXNoLFxuICAgICAgICBtb2QsXG4gICAgfSxcbn07XG5jb25zdCBpc29NYXAgPSBodGYuaXNvZ2VueU1hcChGcCwgW1xuICAgIC8vIHhOdW1cbiAgICBbXG4gICAgICAgICcweDhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhlMzhkYWFhYWE4YzcnLFxuICAgICAgICAnMHg3ZDNkNGM4MGJjMzIxZDViOWYzMTVjZWE3ZmQ0NGM1ZDU5NWQyZmMwYmY2M2I5MmRmZmYxMDQ0ZjE3YzY1ODEnLFxuICAgICAgICAnMHg1MzRjMzI4ZDIzZjIzNGU2ZTJhNDEzZGVjYTI1Y2FlY2U0NTA2MTQ0MDM3YzQwMzE0ZWNiZDBiNTNkOWRkMjYyJyxcbiAgICAgICAgJzB4OGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGUzOGRhYWFhYTg4YycsXG4gICAgXSxcbiAgICAvLyB4RGVuXG4gICAgW1xuICAgICAgICAnMHhkMzU3NzExOTNkOTQ5MThhOWNhMzRjY2JiN2I2NDBkZDg2Y2Q0MDk1NDJmODQ4N2Q5ZmU2Yjc0NTc4MWViNDliJyxcbiAgICAgICAgJzB4ZWRhZGM2ZjY0MzgzZGMxZGY3YzRiMmQ1MWI1NDIyNTQwNmQzNmI2NDFmNWU0MWJiYzUyYTU2NjEyYThjNmQxNCcsXG4gICAgICAgICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnLCAvLyBMQVNUIDFcbiAgICBdLFxuICAgIC8vIHlOdW1cbiAgICBbXG4gICAgICAgICcweDRiZGExMmY2ODRiZGExMmY2ODRiZGExMmY2ODRiZGExMmY2ODRiZGExMmY2ODRiZGExMmY2ODRiOGUzOGUyM2MnLFxuICAgICAgICAnMHhjNzVlMGMzMmQ1Y2I3YzBmYTlkMGE1NGIxMmEwYTZkNTY0N2FiMDQ2ZDY4NmRhNmZkZmZjOTBmYzIwMWQ3MWEzJyxcbiAgICAgICAgJzB4MjlhNjE5NDY5MWY5MWE3MzcxNTIwOWVmNjUxMmU1NzY3MjI4MzBhMjAxYmUyMDE4YTc2NWU4NWE5ZWNlZTkzMScsXG4gICAgICAgICcweDJmNjg0YmRhMTJmNjg0YmRhMTJmNjg0YmRhMTJmNjg0YmRhMTJmNjg0YmRhMTJmNjg0YmRhMTJmMzhlMzhkODQnLFxuICAgIF0sXG4gICAgLy8geURlblxuICAgIFtcbiAgICAgICAgJzB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZjkzYicsXG4gICAgICAgICcweDdhMDY1MzRiYjhiZGI0OWZkNWU5ZTY2MzI3MjJjMjk4OTQ2N2MxYmZjOGU4ZDk3OGRmYjQyNWQyNjg1YzI1NzMnLFxuICAgICAgICAnMHg2NDg0YWE3MTY1NDVjYTJjZjNhNzBjM2ZhOGZlMzM3ZTBhM2QyMTE2MmYwZDYyOTlhN2JmODE5MmJmZDJhNzZmJyxcbiAgICAgICAgJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMScsIC8vIExBU1QgMVxuICAgIF0sXG5dLm1hcCgoaSkgPT4gaS5tYXAoKGopID0+IEJpZ0ludChqKSkpKTtcbmNvbnN0IG1hcFNXVSA9IG1hcFRvQ3VydmVTaW1wbGVTV1UoRnAsIHtcbiAgICBBOiBCaWdJbnQoJzB4M2Y4NzMxYWJkZDY2MWFkY2EwOGE1NTU4ZjBmNWQyNzJlOTUzZDM2M2NiNmYwZTVkNDA1NDQ3YzAxYTQ0NDUzMycpLFxuICAgIEI6IEJpZ0ludCgnMTc3MScpLFxuICAgIFo6IEZwLmNyZWF0ZShCaWdJbnQoJy0xMScpKSxcbn0pO1xuZXhwb3J0IGNvbnN0IHsgaGFzaFRvQ3VydmUsIGVuY29kZVRvQ3VydmUgfSA9IGh0Zi5jcmVhdGVIYXNoZXIoc2VjcDI1NmsxLlByb2plY3RpdmVQb2ludCwgKHNjYWxhcnMpID0+IHtcbiAgICBjb25zdCB7IHgsIHkgfSA9IG1hcFNXVShGcC5jcmVhdGUoc2NhbGFyc1swXSkpO1xuICAgIHJldHVybiBpc29NYXAoeCwgeSk7XG59LCB7XG4gICAgRFNUOiAnc2VjcDI1NmsxX1hNRDpTSEEtMjU2X1NTV1VfUk9fJyxcbiAgICBlbmNvZGVEU1Q6ICdzZWNwMjU2azFfWE1EOlNIQS0yNTZfU1NXVV9OVV8nLFxuICAgIHA6IEZwLk9SREVSLFxuICAgIG06IDEsXG4gICAgazogMTI4LFxuICAgIGV4cGFuZDogJ3htZCcsXG4gICAgaGFzaDogc2hhMjU2LFxufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZWNwMjU2azEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/secp256k1.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/_sha2.js": -/*!*************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/_sha2.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SHA2: function() { return /* binding */ SHA2; }\n/* harmony export */ });\n/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assert.js */ \"./node_modules/@noble/hashes/esm/_assert.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/hashes/esm/utils.js\");\n\n\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nclass SHA2 extends _utils_js__WEBPACK_IMPORTED_MODULE_1__.Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.createView)(this.buffer);\n }\n update(data) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists(this);\n const { view, buffer, blockLen } = this;\n data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.toBytes)(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.createView)(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists(this);\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.createView)(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\n//# sourceMappingURL=_sha2.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vX3NoYTIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWtDO0FBQ3FCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxtQkFBbUIsMkNBQUk7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxREFBVTtBQUM5QjtBQUNBO0FBQ0EsUUFBUSx5REFBYTtBQUNyQixnQkFBZ0IseUJBQXlCO0FBQ3pDLGVBQWUsa0RBQU87QUFDdEI7QUFDQSwwQkFBMEIsVUFBVTtBQUNwQztBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMscURBQVU7QUFDM0MsdUJBQXVCLHVCQUF1QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEseURBQWE7QUFDckIsUUFBUSx5REFBYTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwrQkFBK0I7QUFDL0MsY0FBYyxNQUFNO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixjQUFjO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixxREFBVTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHFEQUFxRDtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vX3NoYTIuanM/NThiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJy4vX2Fzc2VydC5qcyc7XG5pbXBvcnQgeyBIYXNoLCBjcmVhdGVWaWV3LCB0b0J5dGVzIH0gZnJvbSAnLi91dGlscy5qcyc7XG4vLyBQb2x5ZmlsbCBmb3IgU2FmYXJpIDE0XG5mdW5jdGlvbiBzZXRCaWdVaW50NjQodmlldywgYnl0ZU9mZnNldCwgdmFsdWUsIGlzTEUpIHtcbiAgICBpZiAodHlwZW9mIHZpZXcuc2V0QmlnVWludDY0ID09PSAnZnVuY3Rpb24nKVxuICAgICAgICByZXR1cm4gdmlldy5zZXRCaWdVaW50NjQoYnl0ZU9mZnNldCwgdmFsdWUsIGlzTEUpO1xuICAgIGNvbnN0IF8zMm4gPSBCaWdJbnQoMzIpO1xuICAgIGNvbnN0IF91MzJfbWF4ID0gQmlnSW50KDB4ZmZmZmZmZmYpO1xuICAgIGNvbnN0IHdoID0gTnVtYmVyKCh2YWx1ZSA+PiBfMzJuKSAmIF91MzJfbWF4KTtcbiAgICBjb25zdCB3bCA9IE51bWJlcih2YWx1ZSAmIF91MzJfbWF4KTtcbiAgICBjb25zdCBoID0gaXNMRSA/IDQgOiAwO1xuICAgIGNvbnN0IGwgPSBpc0xFID8gMCA6IDQ7XG4gICAgdmlldy5zZXRVaW50MzIoYnl0ZU9mZnNldCArIGgsIHdoLCBpc0xFKTtcbiAgICB2aWV3LnNldFVpbnQzMihieXRlT2Zmc2V0ICsgbCwgd2wsIGlzTEUpO1xufVxuLy8gQmFzZSBTSEEyIGNsYXNzIChSRkMgNjIzNClcbmV4cG9ydCBjbGFzcyBTSEEyIGV4dGVuZHMgSGFzaCB7XG4gICAgY29uc3RydWN0b3IoYmxvY2tMZW4sIG91dHB1dExlbiwgcGFkT2Zmc2V0LCBpc0xFKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYmxvY2tMZW4gPSBibG9ja0xlbjtcbiAgICAgICAgdGhpcy5vdXRwdXRMZW4gPSBvdXRwdXRMZW47XG4gICAgICAgIHRoaXMucGFkT2Zmc2V0ID0gcGFkT2Zmc2V0O1xuICAgICAgICB0aGlzLmlzTEUgPSBpc0xFO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICAgICAgdGhpcy5wb3MgPSAwO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJsb2NrTGVuKTtcbiAgICAgICAgdGhpcy52aWV3ID0gY3JlYXRlVmlldyh0aGlzLmJ1ZmZlcik7XG4gICAgfVxuICAgIHVwZGF0ZShkYXRhKSB7XG4gICAgICAgIGFzc2VydC5leGlzdHModGhpcyk7XG4gICAgICAgIGNvbnN0IHsgdmlldywgYnVmZmVyLCBibG9ja0xlbiB9ID0gdGhpcztcbiAgICAgICAgZGF0YSA9IHRvQnl0ZXMoZGF0YSk7XG4gICAgICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBwb3MgPSAwOyBwb3MgPCBsZW47KSB7XG4gICAgICAgICAgICBjb25zdCB0YWtlID0gTWF0aC5taW4oYmxvY2tMZW4gLSB0aGlzLnBvcywgbGVuIC0gcG9zKTtcbiAgICAgICAgICAgIC8vIEZhc3QgcGF0aDogd2UgaGF2ZSBhdCBsZWFzdCBvbmUgYmxvY2sgaW4gaW5wdXQsIGNhc3QgaXQgdG8gdmlldyBhbmQgcHJvY2Vzc1xuICAgICAgICAgICAgaWYgKHRha2UgPT09IGJsb2NrTGVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YVZpZXcgPSBjcmVhdGVWaWV3KGRhdGEpO1xuICAgICAgICAgICAgICAgIGZvciAoOyBibG9ja0xlbiA8PSBsZW4gLSBwb3M7IHBvcyArPSBibG9ja0xlbilcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzKGRhdGFWaWV3LCBwb3MpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnVmZmVyLnNldChkYXRhLnN1YmFycmF5KHBvcywgcG9zICsgdGFrZSksIHRoaXMucG9zKTtcbiAgICAgICAgICAgIHRoaXMucG9zICs9IHRha2U7XG4gICAgICAgICAgICBwb3MgKz0gdGFrZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBvcyA9PT0gYmxvY2tMZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3ModmlldywgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3MgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubGVuZ3RoICs9IGRhdGEubGVuZ3RoO1xuICAgICAgICB0aGlzLnJvdW5kQ2xlYW4oKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIGRpZ2VzdEludG8ob3V0KSB7XG4gICAgICAgIGFzc2VydC5leGlzdHModGhpcyk7XG4gICAgICAgIGFzc2VydC5vdXRwdXQob3V0LCB0aGlzKTtcbiAgICAgICAgdGhpcy5maW5pc2hlZCA9IHRydWU7XG4gICAgICAgIC8vIFBhZGRpbmdcbiAgICAgICAgLy8gV2UgY2FuIGF2b2lkIGFsbG9jYXRpb24gb2YgYnVmZmVyIGZvciBwYWRkaW5nIGNvbXBsZXRlbHkgaWYgaXRcbiAgICAgICAgLy8gd2FzIHByZXZpb3VzbHkgbm90IGFsbG9jYXRlZCBoZXJlLiBCdXQgaXQgd29uJ3QgY2hhbmdlIHBlcmZvcm1hbmNlLlxuICAgICAgICBjb25zdCB7IGJ1ZmZlciwgdmlldywgYmxvY2tMZW4sIGlzTEUgfSA9IHRoaXM7XG4gICAgICAgIGxldCB7IHBvcyB9ID0gdGhpcztcbiAgICAgICAgLy8gYXBwZW5kIHRoZSBiaXQgJzEnIHRvIHRoZSBtZXNzYWdlXG4gICAgICAgIGJ1ZmZlcltwb3MrK10gPSAwYjEwMDAwMDAwO1xuICAgICAgICB0aGlzLmJ1ZmZlci5zdWJhcnJheShwb3MpLmZpbGwoMCk7XG4gICAgICAgIC8vIHdlIGhhdmUgbGVzcyB0aGFuIHBhZE9mZnNldCBsZWZ0IGluIGJ1ZmZlciwgc28gd2UgY2Fubm90IHB1dCBsZW5ndGggaW4gY3VycmVudCBibG9jaywgbmVlZCBwcm9jZXNzIGl0IGFuZCBwYWQgYWdhaW5cbiAgICAgICAgaWYgKHRoaXMucGFkT2Zmc2V0ID4gYmxvY2tMZW4gLSBwb3MpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzcyh2aWV3LCAwKTtcbiAgICAgICAgICAgIHBvcyA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUGFkIHVudGlsIGZ1bGwgYmxvY2sgYnl0ZSB3aXRoIHplcm9zXG4gICAgICAgIGZvciAobGV0IGkgPSBwb3M7IGkgPCBibG9ja0xlbjsgaSsrKVxuICAgICAgICAgICAgYnVmZmVyW2ldID0gMDtcbiAgICAgICAgLy8gTm90ZTogc2hhNTEyIHJlcXVpcmVzIGxlbmd0aCB0byBiZSAxMjhiaXQgaW50ZWdlciwgYnV0IGxlbmd0aCBpbiBKUyB3aWxsIG92ZXJmbG93IGJlZm9yZSB0aGF0XG4gICAgICAgIC8vIFlvdSBuZWVkIHRvIHdyaXRlIGFyb3VuZCAyIGV4YWJ5dGVzICh1NjRfbWF4IC8gOCAvICgxMDI0Kio2KSkgZm9yIHRoaXMgdG8gaGFwcGVuLlxuICAgICAgICAvLyBTbyB3ZSBqdXN0IHdyaXRlIGxvd2VzdCA2NCBiaXRzIG9mIHRoYXQgdmFsdWUuXG4gICAgICAgIHNldEJpZ1VpbnQ2NCh2aWV3LCBibG9ja0xlbiAtIDgsIEJpZ0ludCh0aGlzLmxlbmd0aCAqIDgpLCBpc0xFKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzKHZpZXcsIDApO1xuICAgICAgICBjb25zdCBvdmlldyA9IGNyZWF0ZVZpZXcob3V0KTtcbiAgICAgICAgY29uc3QgbGVuID0gdGhpcy5vdXRwdXRMZW47XG4gICAgICAgIC8vIE5PVEU6IHdlIGRvIGRpdmlzaW9uIGJ5IDQgbGF0ZXIsIHdoaWNoIHNob3VsZCBiZSBmdXNlZCBpbiBzaW5nbGUgb3Agd2l0aCBtb2R1bG8gYnkgSklUXG4gICAgICAgIGlmIChsZW4gJSA0KVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdfc2hhMjogb3V0cHV0TGVuIHNob3VsZCBiZSBhbGlnbmVkIHRvIDMyYml0Jyk7XG4gICAgICAgIGNvbnN0IG91dExlbiA9IGxlbiAvIDQ7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5nZXQoKTtcbiAgICAgICAgaWYgKG91dExlbiA+IHN0YXRlLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignX3NoYTI6IG91dHB1dExlbiBiaWdnZXIgdGhhbiBzdGF0ZScpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dExlbjsgaSsrKVxuICAgICAgICAgICAgb3ZpZXcuc2V0VWludDMyKDQgKiBpLCBzdGF0ZVtpXSwgaXNMRSk7XG4gICAgfVxuICAgIGRpZ2VzdCgpIHtcbiAgICAgICAgY29uc3QgeyBidWZmZXIsIG91dHB1dExlbiB9ID0gdGhpcztcbiAgICAgICAgdGhpcy5kaWdlc3RJbnRvKGJ1ZmZlcik7XG4gICAgICAgIGNvbnN0IHJlcyA9IGJ1ZmZlci5zbGljZSgwLCBvdXRwdXRMZW4pO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgX2Nsb25lSW50byh0bykge1xuICAgICAgICB0byB8fCAodG8gPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcigpKTtcbiAgICAgICAgdG8uc2V0KC4uLnRoaXMuZ2V0KCkpO1xuICAgICAgICBjb25zdCB7IGJsb2NrTGVuLCBidWZmZXIsIGxlbmd0aCwgZmluaXNoZWQsIGRlc3Ryb3llZCwgcG9zIH0gPSB0aGlzO1xuICAgICAgICB0by5sZW5ndGggPSBsZW5ndGg7XG4gICAgICAgIHRvLnBvcyA9IHBvcztcbiAgICAgICAgdG8uZmluaXNoZWQgPSBmaW5pc2hlZDtcbiAgICAgICAgdG8uZGVzdHJveWVkID0gZGVzdHJveWVkO1xuICAgICAgICBpZiAobGVuZ3RoICUgYmxvY2tMZW4pXG4gICAgICAgICAgICB0by5idWZmZXIuc2V0KGJ1ZmZlcik7XG4gICAgICAgIHJldHVybiB0bztcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1fc2hhMi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/_sha2.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/hmac.js": -/*!************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/hmac.js ***! - \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hmac: function() { return /* binding */ hmac; }\n/* harmony export */ });\n/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assert.js */ \"./node_modules/@noble/hashes/esm/_assert.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/hashes/esm/utils.js\");\n\n\n// HMAC (RFC 2104)\nclass HMAC extends _utils_js__WEBPACK_IMPORTED_MODULE_1__.Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].hash(hash);\n const key = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.toBytes)(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new TypeError('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists(this);\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].bytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nconst hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nhmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vaG1hYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFDUztBQUMzQztBQUNBLG1CQUFtQiwyQ0FBSTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsdURBQVc7QUFDbkIsb0JBQW9CLGtEQUFPO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEseURBQWE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLHlEQUFhO0FBQ3JCLFFBQVEsd0RBQVk7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUU7QUFDakUsZ0JBQWdCLHlEQUF5RDtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9oYXNoZXMvZXNtL2htYWMuanM/YThjMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJy4vX2Fzc2VydC5qcyc7XG5pbXBvcnQgeyBIYXNoLCB0b0J5dGVzIH0gZnJvbSAnLi91dGlscy5qcyc7XG4vLyBITUFDIChSRkMgMjEwNClcbmNsYXNzIEhNQUMgZXh0ZW5kcyBIYXNoIHtcbiAgICBjb25zdHJ1Y3RvcihoYXNoLCBfa2V5KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcbiAgICAgICAgYXNzZXJ0Lmhhc2goaGFzaCk7XG4gICAgICAgIGNvbnN0IGtleSA9IHRvQnl0ZXMoX2tleSk7XG4gICAgICAgIHRoaXMuaUhhc2ggPSBoYXNoLmNyZWF0ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaUhhc2gudXBkYXRlICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgaW5zdGFuY2Ugb2YgY2xhc3Mgd2hpY2ggZXh0ZW5kcyB1dGlscy5IYXNoJyk7XG4gICAgICAgIHRoaXMuYmxvY2tMZW4gPSB0aGlzLmlIYXNoLmJsb2NrTGVuO1xuICAgICAgICB0aGlzLm91dHB1dExlbiA9IHRoaXMuaUhhc2gub3V0cHV0TGVuO1xuICAgICAgICBjb25zdCBibG9ja0xlbiA9IHRoaXMuYmxvY2tMZW47XG4gICAgICAgIGNvbnN0IHBhZCA9IG5ldyBVaW50OEFycmF5KGJsb2NrTGVuKTtcbiAgICAgICAgLy8gYmxvY2tMZW4gY2FuIGJlIGJpZ2dlciB0aGFuIG91dHB1dExlblxuICAgICAgICBwYWQuc2V0KGtleS5sZW5ndGggPiBibG9ja0xlbiA/IGhhc2guY3JlYXRlKCkudXBkYXRlKGtleSkuZGlnZXN0KCkgOiBrZXkpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhZC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHBhZFtpXSBePSAweDM2O1xuICAgICAgICB0aGlzLmlIYXNoLnVwZGF0ZShwYWQpO1xuICAgICAgICAvLyBCeSBkb2luZyB1cGRhdGUgKHByb2Nlc3Npbmcgb2YgZmlyc3QgYmxvY2spIG9mIG91dGVyIGhhc2ggaGVyZSB3ZSBjYW4gcmUtdXNlIGl0IGJldHdlZW4gbXVsdGlwbGUgY2FsbHMgdmlhIGNsb25lXG4gICAgICAgIHRoaXMub0hhc2ggPSBoYXNoLmNyZWF0ZSgpO1xuICAgICAgICAvLyBVbmRvIGludGVybmFsIFhPUiAmJiBhcHBseSBvdXRlciBYT1JcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWQubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBwYWRbaV0gXj0gMHgzNiBeIDB4NWM7XG4gICAgICAgIHRoaXMub0hhc2gudXBkYXRlKHBhZCk7XG4gICAgICAgIHBhZC5maWxsKDApO1xuICAgIH1cbiAgICB1cGRhdGUoYnVmKSB7XG4gICAgICAgIGFzc2VydC5leGlzdHModGhpcyk7XG4gICAgICAgIHRoaXMuaUhhc2gudXBkYXRlKGJ1Zik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBkaWdlc3RJbnRvKG91dCkge1xuICAgICAgICBhc3NlcnQuZXhpc3RzKHRoaXMpO1xuICAgICAgICBhc3NlcnQuYnl0ZXMob3V0LCB0aGlzLm91dHB1dExlbik7XG4gICAgICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmlIYXNoLmRpZ2VzdEludG8ob3V0KTtcbiAgICAgICAgdGhpcy5vSGFzaC51cGRhdGUob3V0KTtcbiAgICAgICAgdGhpcy5vSGFzaC5kaWdlc3RJbnRvKG91dCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH1cbiAgICBkaWdlc3QoKSB7XG4gICAgICAgIGNvbnN0IG91dCA9IG5ldyBVaW50OEFycmF5KHRoaXMub0hhc2gub3V0cHV0TGVuKTtcbiAgICAgICAgdGhpcy5kaWdlc3RJbnRvKG91dCk7XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuICAgIF9jbG9uZUludG8odG8pIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBpbnN0YW5jZSB3aXRob3V0IGNhbGxpbmcgY29uc3RydWN0b3Igc2luY2Uga2V5IGFscmVhZHkgaW4gc3RhdGUgYW5kIHdlIGRvbid0IGtub3cgaXQuXG4gICAgICAgIHRvIHx8ICh0byA9IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLCB7fSkpO1xuICAgICAgICBjb25zdCB7IG9IYXNoLCBpSGFzaCwgZmluaXNoZWQsIGRlc3Ryb3llZCwgYmxvY2tMZW4sIG91dHB1dExlbiB9ID0gdGhpcztcbiAgICAgICAgdG8gPSB0bztcbiAgICAgICAgdG8uZmluaXNoZWQgPSBmaW5pc2hlZDtcbiAgICAgICAgdG8uZGVzdHJveWVkID0gZGVzdHJveWVkO1xuICAgICAgICB0by5ibG9ja0xlbiA9IGJsb2NrTGVuO1xuICAgICAgICB0by5vdXRwdXRMZW4gPSBvdXRwdXRMZW47XG4gICAgICAgIHRvLm9IYXNoID0gb0hhc2guX2Nsb25lSW50byh0by5vSGFzaCk7XG4gICAgICAgIHRvLmlIYXNoID0gaUhhc2guX2Nsb25lSW50byh0by5pSGFzaCk7XG4gICAgICAgIHJldHVybiB0bztcbiAgICB9XG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9IYXNoLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pSGFzaC5kZXN0cm95KCk7XG4gICAgfVxufVxuLyoqXG4gKiBITUFDOiBSRkMyMTA0IG1lc3NhZ2UgYXV0aGVudGljYXRpb24gY29kZS5cbiAqIEBwYXJhbSBoYXNoIC0gZnVuY3Rpb24gdGhhdCB3b3VsZCBiZSB1c2VkIGUuZy4gc2hhMjU2XG4gKiBAcGFyYW0ga2V5IC0gbWVzc2FnZSBrZXlcbiAqIEBwYXJhbSBtZXNzYWdlIC0gbWVzc2FnZSBkYXRhXG4gKi9cbmV4cG9ydCBjb25zdCBobWFjID0gKGhhc2gsIGtleSwgbWVzc2FnZSkgPT4gbmV3IEhNQUMoaGFzaCwga2V5KS51cGRhdGUobWVzc2FnZSkuZGlnZXN0KCk7XG5obWFjLmNyZWF0ZSA9IChoYXNoLCBrZXkpID0+IG5ldyBITUFDKGhhc2gsIGtleSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1obWFjLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/hmac.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/sha256.js": -/*!**************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/sha256.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sha224: function() { return /* binding */ sha224; },\n/* harmony export */ sha256: function() { return /* binding */ sha256; }\n/* harmony export */ });\n/* harmony import */ var _sha2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_sha2.js */ \"./node_modules/@noble/hashes/esm/_sha2.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/hashes/esm/utils.js\");\n\n\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends _sha2_js__WEBPACK_IMPORTED_MODULE_0__.SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(W15, 7) ^ (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(W15, 18) ^ (W15 >>> 3);\n const s1 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(W2, 17) ^ (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(E, 6) ^ (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(E, 11) ^ (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(A, 2) ^ (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(A, 13) ^ (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.rotr)(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\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 // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nconst sha256 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.wrapConstructor)(() => new SHA256());\nconst sha224 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.wrapConstructor)(() => new SHA224());\n//# sourceMappingURL=sha256.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vc2hhMjU2LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBa0M7QUFDaUI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsMENBQUk7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQix5QkFBeUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEM7QUFDQSx5QkFBeUIsUUFBUTtBQUNqQztBQUNBO0FBQ0EsdUJBQXVCLCtDQUFJLFdBQVcsK0NBQUk7QUFDMUMsdUJBQXVCLCtDQUFJLFdBQVcsK0NBQUk7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsY0FBYyx5QkFBeUI7QUFDdkMsd0JBQXdCLFFBQVE7QUFDaEMsMkJBQTJCLCtDQUFJLFNBQVMsK0NBQUksVUFBVSwrQ0FBSTtBQUMxRDtBQUNBLDJCQUEyQiwrQ0FBSSxTQUFTLCtDQUFJLFVBQVUsK0NBQUk7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZSwwREFBZTtBQUM5QixlQUFlLDBEQUFlO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Abm9ibGUvaGFzaGVzL2VzbS9zaGEyNTYuanM/OWNhZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTSEEyIH0gZnJvbSAnLi9fc2hhMi5qcyc7XG5pbXBvcnQgeyByb3RyLCB3cmFwQ29uc3RydWN0b3IgfSBmcm9tICcuL3V0aWxzLmpzJztcbi8vIENob2ljZTogYSA/IGIgOiBjXG5jb25zdCBDaGkgPSAoYSwgYiwgYykgPT4gKGEgJiBiKSBeICh+YSAmIGMpO1xuLy8gTWFqb3JpdHkgZnVuY3Rpb24sIHRydWUgaWYgYW55IHR3byBpbnB1c3QgaXMgdHJ1ZVxuY29uc3QgTWFqID0gKGEsIGIsIGMpID0+IChhICYgYikgXiAoYSAmIGMpIF4gKGIgJiBjKTtcbi8vIFJvdW5kIGNvbnN0YW50czpcbi8vIGZpcnN0IDMyIGJpdHMgb2YgdGhlIGZyYWN0aW9uYWwgcGFydHMgb2YgdGhlIGN1YmUgcm9vdHMgb2YgdGhlIGZpcnN0IDY0IHByaW1lcyAyLi4zMTEpXG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IFNIQTI1Nl9LID0gbmV3IFVpbnQzMkFycmF5KFtcbiAgICAweDQyOGEyZjk4LCAweDcxMzc0NDkxLCAweGI1YzBmYmNmLCAweGU5YjVkYmE1LCAweDM5NTZjMjViLCAweDU5ZjExMWYxLCAweDkyM2Y4MmE0LCAweGFiMWM1ZWQ1LFxuICAgIDB4ZDgwN2FhOTgsIDB4MTI4MzViMDEsIDB4MjQzMTg1YmUsIDB4NTUwYzdkYzMsIDB4NzJiZTVkNzQsIDB4ODBkZWIxZmUsIDB4OWJkYzA2YTcsIDB4YzE5YmYxNzQsXG4gICAgMHhlNDliNjljMSwgMHhlZmJlNDc4NiwgMHgwZmMxOWRjNiwgMHgyNDBjYTFjYywgMHgyZGU5MmM2ZiwgMHg0YTc0ODRhYSwgMHg1Y2IwYTlkYywgMHg3NmY5ODhkYSxcbiAgICAweDk4M2U1MTUyLCAweGE4MzFjNjZkLCAweGIwMDMyN2M4LCAweGJmNTk3ZmM3LCAweGM2ZTAwYmYzLCAweGQ1YTc5MTQ3LCAweDA2Y2E2MzUxLCAweDE0MjkyOTY3LFxuICAgIDB4MjdiNzBhODUsIDB4MmUxYjIxMzgsIDB4NGQyYzZkZmMsIDB4NTMzODBkMTMsIDB4NjUwYTczNTQsIDB4NzY2YTBhYmIsIDB4ODFjMmM5MmUsIDB4OTI3MjJjODUsXG4gICAgMHhhMmJmZThhMSwgMHhhODFhNjY0YiwgMHhjMjRiOGI3MCwgMHhjNzZjNTFhMywgMHhkMTkyZTgxOSwgMHhkNjk5MDYyNCwgMHhmNDBlMzU4NSwgMHgxMDZhYTA3MCxcbiAgICAweDE5YTRjMTE2LCAweDFlMzc2YzA4LCAweDI3NDg3NzRjLCAweDM0YjBiY2I1LCAweDM5MWMwY2IzLCAweDRlZDhhYTRhLCAweDViOWNjYTRmLCAweDY4MmU2ZmYzLFxuICAgIDB4NzQ4ZjgyZWUsIDB4NzhhNTYzNmYsIDB4ODRjODc4MTQsIDB4OGNjNzAyMDgsIDB4OTBiZWZmZmEsIDB4YTQ1MDZjZWIsIDB4YmVmOWEzZjcsIDB4YzY3MTc4ZjJcbl0pO1xuLy8gSW5pdGlhbCBzdGF0ZSAoZmlyc3QgMzIgYml0cyBvZiB0aGUgZnJhY3Rpb25hbCBwYXJ0cyBvZiB0aGUgc3F1YXJlIHJvb3RzIG9mIHRoZSBmaXJzdCA4IHByaW1lcyAyLi4xOSk6XG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IElWID0gbmV3IFVpbnQzMkFycmF5KFtcbiAgICAweDZhMDllNjY3LCAweGJiNjdhZTg1LCAweDNjNmVmMzcyLCAweGE1NGZmNTNhLCAweDUxMGU1MjdmLCAweDliMDU2ODhjLCAweDFmODNkOWFiLCAweDViZTBjZDE5XG5dKTtcbi8vIFRlbXBvcmFyeSBidWZmZXIsIG5vdCB1c2VkIHRvIHN0b3JlIGFueXRoaW5nIGJldHdlZW4gcnVuc1xuLy8gTmFtZWQgdGhpcyB3YXkgYmVjYXVzZSBpdCBtYXRjaGVzIHNwZWNpZmljYXRpb24uXG5jb25zdCBTSEEyNTZfVyA9IG5ldyBVaW50MzJBcnJheSg2NCk7XG5jbGFzcyBTSEEyNTYgZXh0ZW5kcyBTSEEyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoNjQsIDMyLCA4LCBmYWxzZSk7XG4gICAgICAgIC8vIFdlIGNhbm5vdCB1c2UgYXJyYXkgaGVyZSBzaW5jZSBhcnJheSBhbGxvd3MgaW5kZXhpbmcgYnkgdmFyaWFibGVcbiAgICAgICAgLy8gd2hpY2ggbWVhbnMgb3B0aW1pemVyL2NvbXBpbGVyIGNhbm5vdCB1c2UgcmVnaXN0ZXJzLlxuICAgICAgICB0aGlzLkEgPSBJVlswXSB8IDA7XG4gICAgICAgIHRoaXMuQiA9IElWWzFdIHwgMDtcbiAgICAgICAgdGhpcy5DID0gSVZbMl0gfCAwO1xuICAgICAgICB0aGlzLkQgPSBJVlszXSB8IDA7XG4gICAgICAgIHRoaXMuRSA9IElWWzRdIHwgMDtcbiAgICAgICAgdGhpcy5GID0gSVZbNV0gfCAwO1xuICAgICAgICB0aGlzLkcgPSBJVls2XSB8IDA7XG4gICAgICAgIHRoaXMuSCA9IElWWzddIHwgMDtcbiAgICB9XG4gICAgZ2V0KCkge1xuICAgICAgICBjb25zdCB7IEEsIEIsIEMsIEQsIEUsIEYsIEcsIEggfSA9IHRoaXM7XG4gICAgICAgIHJldHVybiBbQSwgQiwgQywgRCwgRSwgRiwgRywgSF07XG4gICAgfVxuICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgIHNldChBLCBCLCBDLCBELCBFLCBGLCBHLCBIKSB7XG4gICAgICAgIHRoaXMuQSA9IEEgfCAwO1xuICAgICAgICB0aGlzLkIgPSBCIHwgMDtcbiAgICAgICAgdGhpcy5DID0gQyB8IDA7XG4gICAgICAgIHRoaXMuRCA9IEQgfCAwO1xuICAgICAgICB0aGlzLkUgPSBFIHwgMDtcbiAgICAgICAgdGhpcy5GID0gRiB8IDA7XG4gICAgICAgIHRoaXMuRyA9IEcgfCAwO1xuICAgICAgICB0aGlzLkggPSBIIHwgMDtcbiAgICB9XG4gICAgcHJvY2Vzcyh2aWV3LCBvZmZzZXQpIHtcbiAgICAgICAgLy8gRXh0ZW5kIHRoZSBmaXJzdCAxNiB3b3JkcyBpbnRvIHRoZSByZW1haW5pbmcgNDggd29yZHMgd1sxNi4uNjNdIG9mIHRoZSBtZXNzYWdlIHNjaGVkdWxlIGFycmF5XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKywgb2Zmc2V0ICs9IDQpXG4gICAgICAgICAgICBTSEEyNTZfV1tpXSA9IHZpZXcuZ2V0VWludDMyKG9mZnNldCwgZmFsc2UpO1xuICAgICAgICBmb3IgKGxldCBpID0gMTY7IGkgPCA2NDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBXMTUgPSBTSEEyNTZfV1tpIC0gMTVdO1xuICAgICAgICAgICAgY29uc3QgVzIgPSBTSEEyNTZfV1tpIC0gMl07XG4gICAgICAgICAgICBjb25zdCBzMCA9IHJvdHIoVzE1LCA3KSBeIHJvdHIoVzE1LCAxOCkgXiAoVzE1ID4+PiAzKTtcbiAgICAgICAgICAgIGNvbnN0IHMxID0gcm90cihXMiwgMTcpIF4gcm90cihXMiwgMTkpIF4gKFcyID4+PiAxMCk7XG4gICAgICAgICAgICBTSEEyNTZfV1tpXSA9IChzMSArIFNIQTI1Nl9XW2kgLSA3XSArIHMwICsgU0hBMjU2X1dbaSAtIDE2XSkgfCAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIENvbXByZXNzaW9uIGZ1bmN0aW9uIG1haW4gbG9vcCwgNjQgcm91bmRzXG4gICAgICAgIGxldCB7IEEsIEIsIEMsIEQsIEUsIEYsIEcsIEggfSA9IHRoaXM7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2lnbWExID0gcm90cihFLCA2KSBeIHJvdHIoRSwgMTEpIF4gcm90cihFLCAyNSk7XG4gICAgICAgICAgICBjb25zdCBUMSA9IChIICsgc2lnbWExICsgQ2hpKEUsIEYsIEcpICsgU0hBMjU2X0tbaV0gKyBTSEEyNTZfV1tpXSkgfCAwO1xuICAgICAgICAgICAgY29uc3Qgc2lnbWEwID0gcm90cihBLCAyKSBeIHJvdHIoQSwgMTMpIF4gcm90cihBLCAyMik7XG4gICAgICAgICAgICBjb25zdCBUMiA9IChzaWdtYTAgKyBNYWooQSwgQiwgQykpIHwgMDtcbiAgICAgICAgICAgIEggPSBHO1xuICAgICAgICAgICAgRyA9IEY7XG4gICAgICAgICAgICBGID0gRTtcbiAgICAgICAgICAgIEUgPSAoRCArIFQxKSB8IDA7XG4gICAgICAgICAgICBEID0gQztcbiAgICAgICAgICAgIEMgPSBCO1xuICAgICAgICAgICAgQiA9IEE7XG4gICAgICAgICAgICBBID0gKFQxICsgVDIpIHwgMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBBZGQgdGhlIGNvbXByZXNzZWQgY2h1bmsgdG8gdGhlIGN1cnJlbnQgaGFzaCB2YWx1ZVxuICAgICAgICBBID0gKEEgKyB0aGlzLkEpIHwgMDtcbiAgICAgICAgQiA9IChCICsgdGhpcy5CKSB8IDA7XG4gICAgICAgIEMgPSAoQyArIHRoaXMuQykgfCAwO1xuICAgICAgICBEID0gKEQgKyB0aGlzLkQpIHwgMDtcbiAgICAgICAgRSA9IChFICsgdGhpcy5FKSB8IDA7XG4gICAgICAgIEYgPSAoRiArIHRoaXMuRikgfCAwO1xuICAgICAgICBHID0gKEcgKyB0aGlzLkcpIHwgMDtcbiAgICAgICAgSCA9IChIICsgdGhpcy5IKSB8IDA7XG4gICAgICAgIHRoaXMuc2V0KEEsIEIsIEMsIEQsIEUsIEYsIEcsIEgpO1xuICAgIH1cbiAgICByb3VuZENsZWFuKCkge1xuICAgICAgICBTSEEyNTZfVy5maWxsKDApO1xuICAgIH1cbiAgICBkZXN0cm95KCkge1xuICAgICAgICB0aGlzLnNldCgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwKTtcbiAgICAgICAgdGhpcy5idWZmZXIuZmlsbCgwKTtcbiAgICB9XG59XG4vLyBDb25zdGFudHMgZnJvbSBodHRwczovL252bHB1YnMubmlzdC5nb3YvbmlzdHB1YnMvRklQUy9OSVNULkZJUFMuMTgwLTQucGRmXG5jbGFzcyBTSEEyMjQgZXh0ZW5kcyBTSEEyNTYge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkEgPSAweGMxMDU5ZWQ4IHwgMDtcbiAgICAgICAgdGhpcy5CID0gMHgzNjdjZDUwNyB8IDA7XG4gICAgICAgIHRoaXMuQyA9IDB4MzA3MGRkMTcgfCAwO1xuICAgICAgICB0aGlzLkQgPSAweGY3MGU1OTM5IHwgMDtcbiAgICAgICAgdGhpcy5FID0gMHhmZmMwMGIzMSB8IDA7XG4gICAgICAgIHRoaXMuRiA9IDB4Njg1ODE1MTEgfCAwO1xuICAgICAgICB0aGlzLkcgPSAweDY0Zjk4ZmE3IHwgMDtcbiAgICAgICAgdGhpcy5IID0gMHhiZWZhNGZhNCB8IDA7XG4gICAgICAgIHRoaXMub3V0cHV0TGVuID0gMjg7XG4gICAgfVxufVxuLyoqXG4gKiBTSEEyLTI1NiBoYXNoIGZ1bmN0aW9uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIGRhdGEgdGhhdCB3b3VsZCBiZSBoYXNoZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHNoYTI1NiA9IHdyYXBDb25zdHJ1Y3RvcigoKSA9PiBuZXcgU0hBMjU2KCkpO1xuZXhwb3J0IGNvbnN0IHNoYTIyNCA9IHdyYXBDb25zdHJ1Y3RvcigoKSA9PiBuZXcgU0hBMjI0KCkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2hhMjU2LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/sha256.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js.js deleted file mode 100644 index 20e5c98..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Arc-QDJFTGH2.js": -/*!******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Arc-QDJFTGH2.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Arc_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Arc.svg\nvar Arc_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNzggNzgiPjxkZWZzPjxwYXRoIGlkPSJhIiBmaWxsPSIjMUEwMDdGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0yNi43MjIgNTYuNDUyIDYuNjA4LTEzLjkwNGMtNS4wNDctMS4wNzMtMTAuMTI2LTQuMTk1LTEyLjk5OS03Ljk5M2wtNi45MSAxNC41MjlhMzkuMjU3IDM5LjI1NyAwIDAgMCAxMy4zIDcuMzY4WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggaWQ9ImIiIGZpbGw9IiM0RTAwMEEiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTU0LjMwNCAzNC4xMzhjLTMuMzIgNC4wNy03LjkzMSA3LjA4Ny0xMi44NjQgOC4yNjNsNi41ODggMTMuODYzYzQuODA5LTEuNjIzIDkuMzA0LTQuMjQ1IDEzLjE4NS03LjYwOGwtNi45MS0xNC41MThaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBpZD0iYyIgZmlsbD0iIzFBMDA3RiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMTMuNDIyIDQ5LjA4NC0zLjQ1NSA3LjI2NWMtMS43NiAzLjY5NC0uNDM3IDguMjQyIDMuMTg0IDEwLjE2NyAzLjg0IDIuMDQgOC41NjYuNDQ4IDEwLjQxOS0zLjQzNGwzLjE1Mi02LjYzYTM5LjQyNyAzOS40MjcgMCAwIDEtMTMuMy03LjM2OCIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggaWQ9ImQiIGZpbGw9IiNGRjkzOTYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTY4LjAyIDE4LjI3N2E3LjU4NiA3LjU4NiAwIDAgMC04LjkzIDUuOTUyYy0uNzI5IDMuNjQyLTIuNDM2IDcuMDM1LTQuNzg3IDkuOTJsNi45IDE0LjUyOGM2LjM2OS01LjUyNyAxMS4wNzQtMTMuMDUyIDEyLjc1OS0yMS40NzEuODIzLTQuMTIyLTEuODQyLTguMTE3LTUuOTQzLTguOTMiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGlkPSJlIiBmaWxsPSIjMDAyREM4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MS40MzggNDIuNDAzYTE5LjMxMiAxOS4zMTIgMCAwIDEtNC40OTYuNTQgMTcuMzMgMTcuMzMgMCAwIDEtMy42MS0uMzk1Yy01LjA0OC0xLjA3Mi0xMC4xMjgtNC4xOTQtMTMtNy45OTMtLjcxOC0uOTQ3LTEuMzAxLTEuOTM2LTEuNzA2LTIuOTQ1LTEuNTcyLTMuODgyLTUuOTk2LTUuNzU2LTkuODc4LTQuMTk1LTMuODgxIDEuNTcyLTUuNzU1IDUuOTk1LTQuMTk0IDkuODc3IDEuNzggNC40MTQgNC45MjMgOC40NjIgOC44NjcgMTEuNzkxYTM5LjM3NyAzOS4zNzcgMCAwIDAgMTMuMjkxIDcuMzdjMy4zNDEgMS4wNzEgNi44MDcgMS42NjUgMTAuMjIgMS42NjUgMy43ODggMCA3LjUyNS0uNjU2IDExLjA4NC0xLjg1M2wtNi41NzgtMTMuODYyWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggaWQ9ImYiIGZpbGw9IiNGRjUzNkEiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTY0Ljg0NiA1Ni4zMTYtMy42NDMtNy42Ni02LjktMTQuNTE4LS4wMTEuMDFzMC0uMDEuMDExLS4wMUw0NC4yNyAxMy4wMzJhNy41ODkgNy41ODkgMCAwIDAtNi44NDgtNC4zMyA3LjU4OSA3LjU4OSAwIDAgMC02Ljg0OCA0LjMzTDIwLjM0MyAzNC41NTRjMi44NzIgMy43OTkgNy45NSA2LjkyMSAxMi45OTkgNy45OTNsMy4zMDktNi45NTJhLjg2Ni44NjYgMCAwIDEgMS41NjEgMGwzLjIzOCA2LjgwNmguMDItLjAybDYuNTg4IDEzLjg2MyAzLjIzNiA2LjgwN2E3LjU3NiA3LjU3NiAwIDAgMCA2Ljg1OCA0LjMzIDcuNDQgNy40NCAwIDAgMCAyLjAyLS4yODFjNC41NjktMS4yNiA2LjczNC02LjUxNSA0LjY5NC0xMC44MDQiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZGVmcz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNy40MjIgOC43MDJhNy41OSA3LjU5IDAgMCAxIDYuODQ4IDQuMzNsMTAuMDMzIDIxLjEwN3MwIC4wMS0uMDExLjAxYzAgMCAwLS4wMTEuMDEtLjAxMSAyLjM1My0yLjg4MyA0LjA2LTYuMjc2IDQuNzg4LTkuOTE5LjgyMi00LjExIDQuODE4LTYuNzY0IDguOTMtNS45NTJhNy41ODUgNy41ODUgMCAwIDEgNS45NTMgOC45M2MtMS42ODYgOC40MTktNi4zOSAxNS45NDQtMTIuNzYgMjEuNDdsMy42NDMgNy42NmMyLjAxOSA0LjI0Ni0uMDk0IDkuNDQtNC41NyAxMC43NzFsLS4xMzUuMDQzYTcuNTA2IDcuNTA2IDAgMCAxLTIuMDE5LjI4IDcuNTk1IDcuNTk1IDAgMCAxLTYuODU4LTQuMzNsLTMuMjM4LTYuODA1LTYuNTg3LTEzLjg2M2guMDIyLS4wMjJsLTMuMjM3LTYuODA3YS44NjUuODY1IDAgMCAwLTEuNTYgMGwtMy4zMSA2Ljk1MmMtNS4wNDgtMS4wNy0xMC4xMjctNC4xOTQtMTMtNy45OTNsMTAuMjMxLTIxLjUyM2E3LjU1IDcuNTUgMCAwIDEgNi44NDgtNC4zNVpNOC43NDkgMjcuNDE0YTcuNTgyIDcuNTgyIDAgMCAxIDkuODc2IDQuMTk1Yy40MDcgMS4wMS45OSAxLjk5OCAxLjcwNyAyLjk0NWwuMDEuMDExLjM0NC40MzZjLjAzMi4wNDIuMDYzLjA3NC4wOTQuMTE2bC4wOTMuMTE0Yy4wNTMuMDUyLjA5NC4xMTUuMTQ2LjE2Ni4wMS4wMS4wMjEuMDIyLjAyMS4wMzJsLS4wMi0uMDMyYy4xOTcuMjQuNDE1LjQ2OC42MzQuNjk5LjAxLjAwOS4wMS4wMi4wMi4wMmEyMC4zMzIgMjAuMzMyIDAgMCAwIDIuMzg1IDIuMTEyYy40MDUuMzEzLjgyMi42MDMgMS4yNDguODk1LjA0Mi4wMjEuMDczLjA1Mi4xMTUuMDc0IDIuNDA0IDEuNTggNS4xNjIgMi43NjcgNy45MSAzLjM1IDEuMTY1LjI1IDIuMzMuMzg2IDMuNDY1LjM5NmguMTQ2YzEuNTA5IDAgMy4wMTgtLjE4OCA0LjQ5NS0uNTQybDYuNTg5IDEzLjg2M2MtMy41NiAxLjE5OC03LjI5NiAxLjg1My0xMS4wODQgMS44NTMtMy40MTQgMC02Ljg2OS0uNTkzLTEwLjIyLTEuNjY1bC0zLjE1NCA2LjYzYTcuNTgzIDcuNTgzIDAgMCAxLTEwLjQxOCAzLjQzNEM5LjUzIDY0LjU5IDguMjA3IDYwLjA1MyA5Ljk2NyA1Ni4zNDhsMy40NTUtNy4yNjRjLTMuOTAzLTMuMy03LjAxNS03LjMwNy04LjgxNS0xMS42NTdsLS4wNTItLjEzNWMtMS41Ni0zLjg4My4zMTItOC4zMDUgNC4xOTQtOS44NzhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjYuMDIxIiBkPSJNMzcuNDIyIDguNzAyYTcuNTkgNy41OSAwIDAgMSA2Ljg0OCA0LjMzbDEwLjAzMyAyMS4xMDdzMCAuMDEtLjAxMS4wMWMwIDAgMC0uMDExLjAxLS4wMTEgMi4zNTMtMi44ODMgNC4wNi02LjI3NiA0Ljc4OC05LjkxOS44MjItNC4xMSA0LjgxOC02Ljc2NCA4LjkzLTUuOTUyYTcuNTg1IDcuNTg1IDAgMCAxIDUuOTUzIDguOTNjLTEuNjg2IDguNDE5LTYuMzkgMTUuOTQ0LTEyLjc2IDIxLjQ3bDMuNjQzIDcuNjZjMi4wMTkgNC4yNDYtLjA5NCA5LjQ0LTQuNTcgMTAuNzcxbC0uMTM1LjA0M2E3LjUwNiA3LjUwNiAwIDAgMS0yLjAxOS4yOCA3LjU5NSA3LjU5NSAwIDAgMS02Ljg1OC00LjMzbC0zLjIzOC02LjgwNS02LjU4Ny0xMy44NjNoLjAyMi0uMDIybC0zLjIzNy02LjgwN2EuODY1Ljg2NSAwIDAgMC0xLjU2IDBsLTMuMzEgNi45NTJjLTUuMDQ4LTEuMDctMTAuMTI3LTQuMTk0LTEzLTcuOTkzbDEwLjIzMS0yMS41MjNhNy41NSA3LjU1IDAgMCAxIDYuODQ4LTQuMzVoMFpNOC43NDkgMjcuNDE0YTcuNTgyIDcuNTgyIDAgMCAxIDkuODc2IDQuMTk1Yy40MDcgMS4wMS45OSAxLjk5OCAxLjcwNyAyLjk0NWwuMDEuMDExLjM0NC40MzZjLjAzMi4wNDIuMDYzLjA3NC4wOTQuMTE2bC4wOTMuMTE0Yy4wNTMuMDUyLjA5NC4xMTUuMTQ2LjE2Ni4wMS4wMS4wMjEuMDIyLjAyMS4wMzJsLS4wMi0uMDMyYy4xOTcuMjQuNDE1LjQ2OC42MzQuNjk5LjAxLjAwOS4wMS4wMi4wMi4wMmEyMC4zMzIgMjAuMzMyIDAgMCAwIDIuMzg1IDIuMTEyYy40MDUuMzEzLjgyMi42MDMgMS4yNDguODk1LjA0Mi4wMjEuMDczLjA1Mi4xMTUuMDc0IDIuNDA0IDEuNTggNS4xNjIgMi43NjcgNy45MSAzLjM1IDEuMTY1LjI1IDIuMzMuMzg2IDMuNDY1LjM5NmguMTQ2YzEuNTA5IDAgMy4wMTgtLjE4OCA0LjQ5NS0uNTQybDYuNTg5IDEzLjg2M2MtMy41NiAxLjE5OC03LjI5NiAxLjg1My0xMS4wODQgMS44NTMtMy40MTQgMC02Ljg2OS0uNTkzLTEwLjIyLTEuNjY1bC0zLjE1NCA2LjYzYTcuNTgzIDcuNTgzIDAgMCAxLTEwLjQxOCAzLjQzNEM5LjUzIDY0LjU5IDguMjA3IDYwLjA1MyA5Ljk2NyA1Ni4zNDhsMy40NTUtNy4yNjRjLTMuOTAzLTMuMy03LjAxNS03LjMwNy04LjgxNS0xMS42NTdsLS4wNTItLjEzNWMtMS41Ni0zLjg4My4zMTItOC4zMDUgNC4xOTQtOS44NzhoMFoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjx1c2UgeGxpbms6aHJlZj0iI2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHVzZSB4bGluazpocmVmPSIjYiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48dXNlIHhsaW5rOmhyZWY9IiNjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjx1c2UgeGxpbms6aHJlZj0iI2QiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHVzZSB4bGluazpocmVmPSIjZSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48dXNlIHhsaW5rOmhyZWY9IiNmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjx1c2UgeGxpbms6aHJlZj0iI2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHVzZSB4bGluazpocmVmPSIjYiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48dXNlIHhsaW5rOmhyZWY9IiNjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjx1c2UgeGxpbms6aHJlZj0iI2QiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHVzZSB4bGluazpocmVmPSIjZSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48dXNlIHhsaW5rOmhyZWY9IiNmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0FyYy1RREpGVEdIMi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHNDQUFzQztBQUdwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0FyYy1RREpGVEdIMi5qcz85ZWIyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvQXJjLnN2Z1xudmFyIEFyY19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQm1hV3hzUFNKdWIyNWxJaUIyYVdWM1FtOTRQU0l3SURBZ056Z2dOemdpUGp4a1pXWnpQanh3WVhSb0lHbGtQU0poSWlCbWFXeHNQU0lqTVVFd01EZEdJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUltMHlOaTQzTWpJZ05UWXVORFV5SURZdU5qQTRMVEV6TGprd05HTXROUzR3TkRjdE1TNHdOek10TVRBdU1USTJMVFF1TVRrMUxURXlMams1T1MwM0xqazVNMnd0Tmk0NU1TQXhOQzQxTWpsaE16a3VNalUzSURNNUxqSTFOeUF3SURBZ01DQXhNeTR6SURjdU16WTRXaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnYVdROUltSWlJR1pwYkd3OUlpTTBSVEF3TUVFaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRVMExqTXdOQ0F6TkM0eE16aGpMVE11TXpJZ05DNHdOeTAzTGprek1TQTNMakE0TnkweE1pNDROalFnT0M0eU5qTnNOaTQxT0RnZ01UTXVPRFl6WXpRdU9EQTVMVEV1TmpJeklEa3VNekEwTFRRdU1qUTFJREV6TGpFNE5TMDNMall3T0d3dE5pNDVNUzB4TkM0MU1UaGFJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpTHo0OGNHRjBhQ0JwWkQwaVl5SWdabWxzYkQwaUl6RkJNREEzUmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0p0TVRNdU5ESXlJRFE1TGpBNE5DMHpMalExTlNBM0xqSTJOV010TVM0M05pQXpMalk1TkMwdU5ETTNJRGd1TWpReUlETXVNVGcwSURFd0xqRTJOeUF6TGpnMElESXVNRFFnT0M0MU5qWXVORFE0SURFd0xqUXhPUzB6TGpRek5Hd3pMakUxTWkwMkxqWXpZVE01TGpReU55QXpPUzQwTWpjZ01DQXdJREV0TVRNdU15MDNMak0yT0NJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSEJoZEdnZ2FXUTlJbVFpSUdacGJHdzlJaU5HUmprek9UWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUWTRMakF5SURFNExqSTNOMkUzTGpVNE5pQTNMalU0TmlBd0lEQWdNQzA0TGpreklEVXVPVFV5WXkwdU56STVJRE11TmpReUxUSXVORE0ySURjdU1ETTFMVFF1TnpnM0lEa3VPVEpzTmk0NUlERTBMalV5T0dNMkxqTTJPUzAxTGpVeU55QXhNUzR3TnpRdE1UTXVNRFV5SURFeUxqYzFPUzB5TVM0ME56RXVPREl6TFRRdU1USXlMVEV1T0RReUxUZ3VNVEUzTFRVdU9UUXpMVGd1T1RNaUlHTnNhWEF0Y25Wc1pUMGlaWFpsYm05a1pDSXZQanh3WVhSb0lHbGtQU0psSWlCbWFXeHNQU0lqTURBeVJFTTRJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMDBNUzQwTXpnZ05ESXVOREF6WVRFNUxqTXhNaUF4T1M0ek1USWdNQ0F3SURFdE5DNDBPVFl1TlRRZ01UY3VNek1nTVRjdU16TWdNQ0F3SURFdE15NDJNUzB1TXprMVl5MDFMakEwT0MweExqQTNNaTB4TUM0eE1qZ3ROQzR4T1RRdE1UTXROeTQ1T1RNdExqY3hPQzB1T1RRM0xURXVNekF4TFRFdU9UTTJMVEV1TnpBMkxUSXVPVFExTFRFdU5UY3lMVE11T0RneUxUVXVPVGsyTFRVdU56VTJMVGt1T0RjNExUUXVNVGsxTFRNdU9EZ3hJREV1TlRjeUxUVXVOelUxSURVdU9UazFMVFF1TVRrMElEa3VPRGMzSURFdU56Z2dOQzQwTVRRZ05DNDVNak1nT0M0ME5qSWdPQzQ0TmpjZ01URXVOemt4WVRNNUxqTTNOeUF6T1M0ek56Y2dNQ0F3SURBZ01UTXVNamt4SURjdU16ZGpNeTR6TkRFZ01TNHdOekVnTmk0NE1EY2dNUzQyTmpVZ01UQXVNaklnTVM0Mk5qVWdNeTQzT0RnZ01DQTNMalV5TlMwdU5qVTJJREV4TGpBNE5DMHhMamcxTTJ3dE5pNDFOemd0TVRNdU9EWXlXaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnYVdROUltWWlJR1pwYkd3OUlpTkdSalV6TmtFaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpYlRZMExqZzBOaUExTmk0ek1UWXRNeTQyTkRNdE55NDJOaTAyTGprdE1UUXVOVEU0TFM0d01URXVNREZ6TUMwdU1ERXVNREV4TFM0d01VdzBOQzR5TnlBeE15NHdNekpoTnk0MU9Ea2dOeTQxT0RrZ01DQXdJREF0Tmk0NE5EZ3ROQzR6TXlBM0xqVTRPU0EzTGpVNE9TQXdJREFnTUMwMkxqZzBPQ0EwTGpNelRESXdMak0wTXlBek5DNDFOVFJqTWk0NE56SWdNeTQzT1RrZ055NDVOU0EyTGpreU1TQXhNaTQ1T1RrZ055NDVPVE5zTXk0ek1Ea3ROaTQ1TlRKaExqZzJOaTQ0TmpZZ01DQXdJREVnTVM0MU5qRWdNR3d6TGpJek9DQTJMamd3Tm1ndU1ESXRMakF5YkRZdU5UZzRJREV6TGpnMk15QXpMakl6TmlBMkxqZ3dOMkUzTGpVM05pQTNMalUzTmlBd0lEQWdNQ0EyTGpnMU9DQTBMak16SURjdU5EUWdOeTQwTkNBd0lEQWdNQ0F5TGpBeUxTNHlPREZqTkM0MU5qa3RNUzR5TmlBMkxqY3pOQzAyTGpVeE5TQTBMalk1TkMweE1DNDRNRFFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqd3ZaR1ZtY3o0OGNHRjBhQ0JtYVd4c1BTSWpNREF3SWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB6Tnk0ME1qSWdPQzQzTURKaE55NDFPU0EzTGpVNUlEQWdNQ0F4SURZdU9EUTRJRFF1TXpOc01UQXVNRE16SURJeExqRXdOM013SUM0d01TMHVNREV4TGpBeFl6QWdNQ0F3TFM0d01URXVNREV0TGpBeE1TQXlMak0xTXkweUxqZzRNeUEwTGpBMkxUWXVNamMySURRdU56ZzRMVGt1T1RFNUxqZ3lNaTAwTGpFeElEUXVPREU0TFRZdU56WTBJRGd1T1RNdE5TNDVOVEpoTnk0MU9EVWdOeTQxT0RVZ01DQXdJREVnTlM0NU5UTWdPQzQ1TTJNdE1TNDJPRFlnT0M0ME1Ua3ROaTR6T1NBeE5TNDVORFF0TVRJdU56WWdNakV1TkRkc015NDJORE1nTnk0Mk5tTXlMakF4T1NBMExqSTBOaTB1TURrMElEa3VORFF0TkM0MU55QXhNQzQzTnpGc0xTNHhNelV1TURRellUY3VOVEEySURjdU5UQTJJREFnTUNBeExUSXVNREU1TGpJNElEY3VOVGsxSURjdU5UazFJREFnTUNBeExUWXVPRFU0TFRRdU16TnNMVE11TWpNNExUWXVPREExTFRZdU5UZzNMVEV6TGpnMk0yZ3VNREl5TFM0d01qSnNMVE11TWpNM0xUWXVPREEzWVM0NE5qVXVPRFkxSURBZ01DQXdMVEV1TlRZZ01Hd3RNeTR6TVNBMkxqazFNbU10TlM0d05EZ3RNUzR3TnkweE1DNHhNamN0TkM0eE9UUXRNVE10Tnk0NU9UTnNNVEF1TWpNeExUSXhMalV5TTJFM0xqVTFJRGN1TlRVZ01DQXdJREVnTmk0NE5EZ3ROQzR6TlZwTk9DNDNORGtnTWpjdU5ERTBZVGN1TlRneUlEY3VOVGd5SURBZ01DQXhJRGt1T0RjMklEUXVNVGsxWXk0ME1EY2dNUzR3TVM0NU9TQXhMams1T0NBeExqY3dOeUF5TGprME5Xd3VNREV1TURFeExqTTBOQzQwTXpaakxqQXpNaTR3TkRJdU1EWXpMakEzTkM0d09UUXVNVEUyYkM0d09UTXVNVEUwWXk0d05UTXVNRFV5TGpBNU5DNHhNVFV1TVRRMkxqRTJOaTR3TVM0d01TNHdNakV1TURJeUxqQXlNUzR3TXpKc0xTNHdNaTB1TURNeVl5NHhPVGN1TWpRdU5ERTFMalEyT0M0Mk16UXVOams1TGpBeExqQXdPUzR3TVM0d01pNHdNaTR3TW1FeU1DNHpNeklnTWpBdU16TXlJREFnTUNBd0lESXVNemcxSURJdU1URXlZeTQwTURVdU16RXpMamd5TWk0Mk1ETWdNUzR5TkRndU9EazFMakEwTWk0d01qRXVNRGN6TGpBMU1pNHhNVFV1TURjMElESXVOREEwSURFdU5UZ2dOUzR4TmpJZ01pNDNOamNnTnk0NU1TQXpMak0xSURFdU1UWTFMakkxSURJdU16TXVNemcySURNdU5EWTFMak01Tm1ndU1UUTJZekV1TlRBNUlEQWdNeTR3TVRndExqRTRPQ0EwTGpRNU5TMHVOVFF5YkRZdU5UZzVJREV6TGpnMk0yTXRNeTQxTmlBeExqRTVPQzAzTGpJNU5pQXhMamcxTXkweE1TNHdPRFFnTVM0NE5UTXRNeTQwTVRRZ01DMDJMamcyT1MwdU5Ua3pMVEV3TGpJeUxURXVOalkxYkMwekxqRTFOQ0EyTGpZellUY3VOVGd6SURjdU5UZ3pJREFnTUNBeExURXdMalF4T0NBekxqUXpORU01TGpVeklEWTBMalU1SURndU1qQTNJRFl3TGpBMU15QTVMamsyTnlBMU5pNHpORGhzTXk0ME5UVXROeTR5TmpSakxUTXVPVEF6TFRNdU15MDNMakF4TlMwM0xqTXdOeTA0TGpneE5TMHhNUzQyTlRkc0xTNHdOVEl0TGpFek5XTXRNUzQxTmkwekxqZzRNeTR6TVRJdE9DNHpNRFVnTkM0eE9UUXRPUzQ0TnpoYUlpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlMejQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUhOMGNtOXJaVDBpSTJabVppSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5KdmRXNWtJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqWXVNREl4SWlCa1BTSk5NemN1TkRJeUlEZ3VOekF5WVRjdU5Ua2dOeTQxT1NBd0lEQWdNU0EyTGpnME9DQTBMak16YkRFd0xqQXpNeUF5TVM0eE1EZHpNQ0F1TURFdExqQXhNUzR3TVdNd0lEQWdNQzB1TURFeExqQXhMUzR3TVRFZ01pNHpOVE10TWk0NE9ETWdOQzR3TmkwMkxqSTNOaUEwTGpjNE9DMDVMamt4T1M0NE1qSXROQzR4TVNBMExqZ3hPQzAyTGpjMk5DQTRMamt6TFRVdU9UVXlZVGN1TlRnMUlEY3VOVGcxSURBZ01DQXhJRFV1T1RVeklEZ3VPVE5qTFRFdU5qZzJJRGd1TkRFNUxUWXVNemtnTVRVdU9UUTBMVEV5TGpjMklESXhMalEzYkRNdU5qUXpJRGN1Tmpaak1pNHdNVGtnTkM0eU5EWXRMakE1TkNBNUxqUTBMVFF1TlRjZ01UQXVOemN4YkMwdU1UTTFMakEwTTJFM0xqVXdOaUEzTGpVd05pQXdJREFnTVMweUxqQXhPUzR5T0NBM0xqVTVOU0EzTGpVNU5TQXdJREFnTVMwMkxqZzFPQzAwTGpNemJDMHpMakl6T0MwMkxqZ3dOUzAyTGpVNE55MHhNeTQ0TmpOb0xqQXlNaTB1TURJeWJDMHpMakl6TnkwMkxqZ3dOMkV1T0RZMUxqZzJOU0F3SURBZ01DMHhMalUySURCc0xUTXVNekVnTmk0NU5USmpMVFV1TURRNExURXVNRGN0TVRBdU1USTNMVFF1TVRrMExURXpMVGN1T1RremJERXdMakl6TVMweU1TNDFNak5oTnk0MU5TQTNMalUxSURBZ01DQXhJRFl1T0RRNExUUXVNelZvTUZwTk9DNDNORGtnTWpjdU5ERTBZVGN1TlRneUlEY3VOVGd5SURBZ01DQXhJRGt1T0RjMklEUXVNVGsxWXk0ME1EY2dNUzR3TVM0NU9TQXhMams1T0NBeExqY3dOeUF5TGprME5Xd3VNREV1TURFeExqTTBOQzQwTXpaakxqQXpNaTR3TkRJdU1EWXpMakEzTkM0d09UUXVNVEUyYkM0d09UTXVNVEUwWXk0d05UTXVNRFV5TGpBNU5DNHhNVFV1TVRRMkxqRTJOaTR3TVM0d01TNHdNakV1TURJeUxqQXlNUzR3TXpKc0xTNHdNaTB1TURNeVl5NHhPVGN1TWpRdU5ERTFMalEyT0M0Mk16UXVOams1TGpBeExqQXdPUzR3TVM0d01pNHdNaTR3TW1FeU1DNHpNeklnTWpBdU16TXlJREFnTUNBd0lESXVNemcxSURJdU1URXlZeTQwTURVdU16RXpMamd5TWk0Mk1ETWdNUzR5TkRndU9EazFMakEwTWk0d01qRXVNRGN6TGpBMU1pNHhNVFV1TURjMElESXVOREEwSURFdU5UZ2dOUzR4TmpJZ01pNDNOamNnTnk0NU1TQXpMak0xSURFdU1UWTFMakkxSURJdU16TXVNemcySURNdU5EWTFMak01Tm1ndU1UUTJZekV1TlRBNUlEQWdNeTR3TVRndExqRTRPQ0EwTGpRNU5TMHVOVFF5YkRZdU5UZzVJREV6TGpnMk0yTXRNeTQxTmlBeExqRTVPQzAzTGpJNU5pQXhMamcxTXkweE1TNHdPRFFnTVM0NE5UTXRNeTQwTVRRZ01DMDJMamcyT1MwdU5Ua3pMVEV3TGpJeUxURXVOalkxYkMwekxqRTFOQ0EyTGpZellUY3VOVGd6SURjdU5UZ3pJREFnTUNBeExURXdMalF4T0NBekxqUXpORU01TGpVeklEWTBMalU1SURndU1qQTNJRFl3TGpBMU15QTVMamsyTnlBMU5pNHpORGhzTXk0ME5UVXROeTR5TmpSakxUTXVPVEF6TFRNdU15MDNMakF4TlMwM0xqTXdOeTA0TGpneE5TMHhNUzQyTlRkc0xTNHdOVEl0TGpFek5XTXRNUzQxTmkwekxqZzRNeTR6TVRJdE9DNHpNRFVnTkM0eE9UUXRPUzQ0Tnpob01Gb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTJFaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaTgrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqWWlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlMejQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5qSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHTnNhWEF0Y25Wc1pUMGlaWFpsYm05a1pDSXZQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMlFpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUx6NDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTm1JaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkyRWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJallpSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpTHo0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOaklpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTJRaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaTgrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqWlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlMejQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5tSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHTnNhWEF0Y25Wc1pUMGlaWFpsYm05a1pDSXZQand2YzNablBnPT1cIjtcbmV4cG9ydCB7XG4gIEFyY19kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Arc-QDJFTGH2.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js.js deleted file mode 100644 index d722844..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Brave-YATE5BIM.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Brave-YATE5BIM.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Brave_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Brave.svg\nvar Brave_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA3OCA3OCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtNjcuODEgMTkuNTQgMS42OS00LjJzLTIuMTQtMi4zNS00Ljc1LTVjLTIuNi0yLjY1LTguMS0xLjA5LTguMS0xLjA5TDUwLjM3IDJIMjguMzRsLTYuMjggNy4yNXMtNS41LTEuNTYtOC4xIDEuMWMtMi42IDIuNjQtNC43NSA0Ljk4LTQuNzUgNC45OGwxLjY5IDQuMjEtMi4xNSA2LjI0czYuMyAyNC4zIDcuMDQgMjcuMjhjMS40NiA1Ljg0IDIuNDUgOC4xIDYuNTggMTEuMDZhNTEzLjY2IDUxMy42NiAwIDAgMCAxMi44NSA4Ljg5YzEuMjMuNzggMi43NiAyLjEgNC4xMyAyLjEgMS4zOCAwIDIuOTEtMS4zMiA0LjE0LTIuMSAxLjIyLS43OCA4LjcyLTUuOTIgMTIuODUtOC44OSA0LjEzLTIuOTYgNS4xMi01LjIyIDYuNTgtMTEuMDYuNzQtMi45NyA3LjA0LTI3LjI4IDcuMDQtMjcuMjhsLTIuMTUtNi4yNFoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM5LjM1IDQ3LjVjLjQyIDAgMy4xMS45NyA1LjI3IDIuMSAyLjE1IDEuMTQgMy43MiAxLjk1IDQuMjIgMi4yNi41LjMyLjIuOTItLjI2IDEuMjUtLjQ2LjMzLTYuNTcgNS4xNS03LjE3IDUuNjktLjYuNTMtMS40NiAxLjQxLTIuMDYgMS40MS0uNTkgMC0xLjQ2LS44OC0yLjA1LTEuNDEtLjYtLjU0LTYuNzEtNS4zNi03LjE3LTUuNjktLjQ1LS4zMy0uNzYtLjkzLS4yNi0xLjI1LjUtLjMxIDIuMDctMS4xMiA0LjIyLTIuMjUgMi4xNi0xLjE0IDQuODUtMi4xIDUuMjYtMi4xWm0uMDQtMzQuMzZjLjIuMDEgMS4zNi4wNyAzLjAyLjYzIDEuODQuNjMgMy44MyAxLjQgNC43NSAxLjQuOTIgMCA3LjczLTEuMzIgNy43My0xLjMyczguMDYgOS45NCA4LjA2IDEyLjA2YzAgMi4xMy0xLjAxIDIuNjktMi4wMyAzLjhsLTYuMDUgNi41NGMtLjU3LjYyLTEuNzcgMS41NS0xLjA2IDMuMjQuNyAxLjcgMS43MyAzLjg0LjU4IDYuMDMtMS4xNSAyLjE4LTMuMTIgMy42My00LjM4IDMuNC0xLjI2LS4yNS00LjIzLTEuODMtNS4zMi0yLjU1LTEuMDktLjcyLTQuNTQtMy42Mi00LjU0LTQuNzMgMC0xLjExIDMuNTctMy4xIDQuMjMtMy41Ni42Ni0uNDUgMy42Ny0yLjIgMy43My0yLjkuMDYtLjY5LjA0LS44OS0uODUtMi41OS0uODktMS43LTIuNDktMy45Ny0yLjIyLTUuNDguMjYtMS41MSAyLjg0LTIuMyA0LjY4LTMgMS44NC0uNzEgNS4zOS0yLjA1IDUuODMtMi4yNi40NC0uMi4zMy0uNC0xLjAxLS41M3MtNS4xNS0uNjUtNi44Ni0uMTZjLTEuNzIuNDktNC42NSAxLjIzLTQuODkgMS42Mi0uMjQuNC0uNDUuNC0uMiAxLjc2LjI0IDEuMzYgMS41IDcuODcgMS42MiA5LjAyLjEyIDEuMTYuMzYgMS45Mi0uODcgMi4yLTEuMjIuMy0zLjI4Ljc5LTMuOTkuNzktLjcgMC0yLjc2LS41LTMuOTktLjc4LTEuMjItLjI5LS45OC0xLjA1LS44Ni0yLjIuMTItMS4xNiAxLjM4LTcuNjcgMS42Mi05LjAzLjI1LTEuMzUuMDQtMS4zNy0uMi0xLjc2LS4yNC0uNC0zLjE3LTEuMTMtNC44OS0xLjYyLTEuNzEtLjQ5LTUuNTIuMDMtNi44Ni4xNi0xLjM0LjEzLTEuNDYuMzItMS4wMS41My40NC4yMSAzLjk4IDEuNTUgNS44MyAyLjI2IDEuODQuNyA0LjQyIDEuNDkgNC42OCAzIC4yNyAxLjUxLTEuMzMgMy43OC0yLjIyIDUuNDgtLjg5IDEuNy0uOTEgMS45LS44NSAyLjYuMDYuNjggMy4wNyAyLjQ0IDMuNzMgMi44OS42Ni40NSA0LjIzIDIuNDUgNC4yMyAzLjU2IDAgMS4xLTMuNDUgNC4wMS00LjU0IDQuNzMtMS4xLjcyLTQuMDYgMi4zLTUuMzIgMi41NC0xLjI2LjI0LTMuMjMtMS4yMS00LjM4LTMuNC0xLjE1LTIuMTgtLjEyLTQuMzMuNTgtNi4wMi43LTEuNjktLjQ5LTIuNjItMS4wNi0zLjI0TDE3LjggMjkuN2MtMS4wMi0xLjEtMi4wNC0xLjY2LTIuMDQtMy43OSAwLTIuMTIgOC4wNy0xMi4wNiA4LjA3LTEyLjA2czYuODEgMS4zMyA3LjczIDEuMzNjLjkyIDAgMi45LS43OCA0Ljc0LTEuNGExMS4zIDExLjMgMCAwIDEgMy4wMy0uNjRoLjA3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PG1hc2sgaWQ9ImIiIHdpZHRoPSI1MiIgaGVpZ2h0PSIxNCIgeD0iMTMiIHk9IjIiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01Ni42NCA5LjI1IDUwLjM3IDJIMjguMzRsLTYuMjggNy4yNXMtNS41LTEuNTYtOC4xIDEuMWMwIDAgNy4zNC0uNjggOS44NiAzLjUgMCAwIDYuODEgMS4zMyA3LjczIDEuMzMuOTIgMCAyLjktLjc4IDQuNzQtMS40IDEuODQtLjYzIDMuMDYtLjY0IDMuMDYtLjY0czEuMjMgMCAzLjA2LjYzYzEuODQuNjMgMy44MyAxLjQgNC43NSAxLjQuOTIgMCA3LjczLTEuMzIgNy43My0xLjMyIDIuNTItNC4xOCA5Ljg2LTMuNSA5Ljg2LTMuNS0yLjYtMi42Ni04LjEtMS4xLTguMS0xLjFaIi8+PC9tYXNrPjxnIG1hc2s9InVybCgjYikiPjxwYXRoIGZpbGw9InVybCgjYykiIGQ9Ik01Ni42NCA5LjI1IDUwLjM3IDJIMjguMzRsLTYuMjggNy4yNXMtNS41LTEuNTYtOC4xIDEuMWMwIDAgNy4zNC0uNjggOS44NiAzLjUgMCAwIDYuODEgMS4zMyA3LjczIDEuMzMuOTIgMCAyLjktLjc4IDQuNzQtMS40IDEuODQtLjYzIDMuMDYtLjY0IDMuMDYtLjY0czEuMjMgMCAzLjA2LjYzYzEuODQuNjMgMy44MyAxLjQgNC43NSAxLjQuOTIgMCA3LjczLTEuMzIgNy43My0xLjMyIDIuNTItNC4xOCA5Ljg2LTMuNSA5Ljg2LTMuNS0yLjYtMi42Ni04LjEtMS4xLTguMS0xLjFaIi8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjguNzUiIHgyPSI2OS45NiIgeTE9IjM5LjA3IiB5Mj0iMzkuMDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRjUwIi8+PHN0b3Agb2Zmc2V0PSIuNDEiIHN0b3AtY29sb3I9IiNGNTAiLz48c3RvcCBvZmZzZXQ9Ii41OCIgc3RvcC1jb2xvcj0iI0ZGMjAwMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGMjAwMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMTUuMDUiIHgyPSI2NC43NSIgeTE9IjguNjgiIHkyPSI4LjY4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGNDUyQSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGMjAwMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0JyYXZlLVlBVEU1QklNLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0Esd0NBQXdDO0FBR3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvQnJhdmUtWUFURTVCSU0uanM/MWRlOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0JyYXZlLnN2Z1xudmFyIEJyYXZlX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBM09DQTNPQ0krUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05oS1NJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0p0TmpjdU9ERWdNVGt1TlRRZ01TNDJPUzAwTGpKekxUSXVNVFF0TWk0ek5TMDBMamMxTFRWakxUSXVOaTB5TGpZMUxUZ3VNUzB4TGpBNUxUZ3VNUzB4TGpBNVREVXdMak0zSURKSU1qZ3VNelJzTFRZdU1qZ2dOeTR5TlhNdE5TNDFMVEV1TlRZdE9DNHhJREV1TVdNdE1pNDJJREl1TmpRdE5DNDNOU0EwTGprNExUUXVOelVnTkM0NU9Hd3hMalk1SURRdU1qRXRNaTR4TlNBMkxqSTBjell1TXlBeU5DNHpJRGN1TURRZ01qY3VNamhqTVM0ME5pQTFMamcwSURJdU5EVWdPQzR4SURZdU5UZ2dNVEV1TURaaE5URXpMalkySURVeE15NDJOaUF3SURBZ01DQXhNaTQ0TlNBNExqZzVZekV1TWpNdU56Z2dNaTQzTmlBeUxqRWdOQzR4TXlBeUxqRWdNUzR6T0NBd0lESXVPVEV0TVM0ek1pQTBMakUwTFRJdU1TQXhMakl5TFM0M09DQTRMamN5TFRVdU9USWdNVEl1T0RVdE9DNDRPU0EwTGpFekxUSXVPVFlnTlM0eE1pMDFMakl5SURZdU5UZ3RNVEV1TURZdU56UXRNaTQ1TnlBM0xqQTBMVEkzTGpJNElEY3VNRFF0TWpjdU1qaHNMVEl1TVRVdE5pNHlORm9pSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRNNUxqTTFJRFEzTGpWakxqUXlJREFnTXk0eE1TNDVOeUExTGpJM0lESXVNU0F5TGpFMUlERXVNVFFnTXk0M01pQXhMamsxSURRdU1qSWdNaTR5Tmk0MUxqTXlMakl1T1RJdExqSTJJREV1TWpVdExqUTJMak16TFRZdU5UY2dOUzR4TlMwM0xqRTNJRFV1TmprdExqWXVOVE10TVM0ME5pQXhMalF4TFRJdU1EWWdNUzQwTVMwdU5Ua2dNQzB4TGpRMkxTNDRPQzB5TGpBMUxURXVOREV0TGpZdExqVTBMVFl1TnpFdE5TNHpOaTAzTGpFM0xUVXVOamt0TGpRMUxTNHpNeTB1TnpZdExqa3pMUzR5TmkweExqSTFMalV0TGpNeElESXVNRGN0TVM0eE1pQTBMakl5TFRJdU1qVWdNaTR4TmkweExqRTBJRFF1T0RVdE1pNHhJRFV1TWpZdE1pNHhXbTB1TURRdE16UXVNelpqTGpJdU1ERWdNUzR6Tmk0d055QXpMakF5TGpZeklERXVPRFF1TmpNZ015NDRNeUF4TGpRZ05DNDNOU0F4TGpRdU9USWdNQ0EzTGpjekxURXVNeklnTnk0M015MHhMak15Y3pndU1EWWdPUzQ1TkNBNExqQTJJREV5TGpBMll6QWdNaTR4TXkweExqQXhJREl1TmprdE1pNHdNeUF6TGpoc0xUWXVNRFVnTmk0MU5HTXRMalUzTGpZeUxURXVOemNnTVM0MU5TMHhMakEySURNdU1qUXVOeUF4TGpjZ01TNDNNeUF6TGpnMExqVTRJRFl1TURNdE1TNHhOU0F5TGpFNExUTXVNVElnTXk0Mk15MDBMak00SURNdU5DMHhMakkyTFM0eU5TMDBMakl6TFRFdU9ETXROUzR6TWkweUxqVTFMVEV1TURrdExqY3lMVFF1TlRRdE15NDJNaTAwTGpVMExUUXVOek1nTUMweExqRXhJRE11TlRjdE15NHhJRFF1TWpNdE15NDFOaTQyTmkwdU5EVWdNeTQyTnkweUxqSWdNeTQzTXkweUxqa3VNRFl0TGpZNUxqQTBMUzQ0T1MwdU9EVXRNaTQxT1MwdU9Ea3RNUzQzTFRJdU5Ea3RNeTQ1TnkweUxqSXlMVFV1TkRndU1qWXRNUzQxTVNBeUxqZzBMVEl1TXlBMExqWTRMVE1nTVM0NE5DMHVOekVnTlM0ek9TMHlMakExSURVdU9ETXRNaTR5Tmk0ME5DMHVNaTR6TXkwdU5DMHhMakF4TFM0MU0zTXROUzR4TlMwdU5qVXROaTQ0TmkwdU1UWmpMVEV1TnpJdU5Ea3ROQzQyTlNBeExqSXpMVFF1T0RrZ01TNDJNaTB1TWpRdU5DMHVORFV1TkMwdU1pQXhMamMyTGpJMElERXVNellnTVM0MUlEY3VPRGNnTVM0Mk1pQTVMakF5TGpFeUlERXVNVFl1TXpZZ01TNDVNaTB1T0RjZ01pNHlMVEV1TWpJdU15MHpMakk0TGpjNUxUTXVPVGt1TnprdExqY2dNQzB5TGpjMkxTNDFMVE11T1RrdExqYzRMVEV1TWpJdExqSTVMUzQ1T0MweExqQTFMUzQ0TmkweUxqSXVNVEl0TVM0eE5pQXhMak00TFRjdU5qY2dNUzQyTWkwNUxqQXpMakkxTFRFdU16VXVNRFF0TVM0ek55MHVNaTB4TGpjMkxTNHlOQzB1TkMwekxqRTNMVEV1TVRNdE5DNDRPUzB4TGpZeUxURXVOekV0TGpRNUxUVXVOVEl1TURNdE5pNDROaTR4TmkweExqTTBMakV6TFRFdU5EWXVNekl0TVM0d01TNDFNeTQwTkM0eU1TQXpMams0SURFdU5UVWdOUzQ0TXlBeUxqSTJJREV1T0RRdU55QTBMalF5SURFdU5Ea2dOQzQyT0NBeklDNHlOeUF4TGpVeExURXVNek1nTXk0M09DMHlMakl5SURVdU5EZ3RMamc1SURFdU55MHVPVEVnTVM0NUxTNDROU0F5TGpZdU1EWXVOamdnTXk0d055QXlMalEwSURNdU56TWdNaTQ0T1M0Mk5pNDBOU0EwTGpJeklESXVORFVnTkM0eU15QXpMalUySURBZ01TNHhMVE11TkRVZ05DNHdNUzAwTGpVMElEUXVOek10TVM0eExqY3lMVFF1TURZZ01pNHpMVFV1TXpJZ01pNDFOQzB4TGpJMkxqSTBMVE11TWpNdE1TNHlNUzAwTGpNNExUTXVOQzB4TGpFMUxUSXVNVGd0TGpFeUxUUXVNek11TlRndE5pNHdNaTQzTFRFdU5qa3RMalE1TFRJdU5qSXRNUzR3TmkwekxqSTBUREUzTGpnZ01qa3VOMk10TVM0d01pMHhMakV0TWk0d05DMHhMalkyTFRJdU1EUXRNeTQzT1NBd0xUSXVNVElnT0M0d055MHhNaTR3TmlBNExqQTNMVEV5TGpBMmN6WXVPREVnTVM0ek15QTNMamN6SURFdU16TmpMamt5SURBZ01pNDVMUzQzT0NBMExqYzBMVEV1TkdFeE1TNHpJREV4TGpNZ01DQXdJREVnTXk0d015MHVOalJvTGpBM1dpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaTgrUEcxaGMyc2dhV1E5SW1JaUlIZHBaSFJvUFNJMU1pSWdhR1ZwWjJoMFBTSXhOQ0lnZUQwaU1UTWlJSGs5SWpJaUlHMWhjMnRWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaUlITjBlV3hsUFNKdFlYTnJMWFI1Y0dVNllXeHdhR0VpUGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdROUlrMDFOaTQyTkNBNUxqSTFJRFV3TGpNM0lESklNamd1TXpSc0xUWXVNamdnTnk0eU5YTXROUzQxTFRFdU5UWXRPQzR4SURFdU1XTXdJREFnTnk0ek5DMHVOamdnT1M0NE5pQXpMalVnTUNBd0lEWXVPREVnTVM0ek15QTNMamN6SURFdU16TXVPVElnTUNBeUxqa3RMamM0SURRdU56UXRNUzQwSURFdU9EUXRMall6SURNdU1EWXRMalkwSURNdU1EWXRMalkwY3pFdU1qTWdNQ0F6TGpBMkxqWXpZekV1T0RRdU5qTWdNeTQ0TXlBeExqUWdOQzQzTlNBeExqUXVPVElnTUNBM0xqY3pMVEV1TXpJZ055NDNNeTB4TGpNeUlESXVOVEl0TkM0eE9DQTVMamcyTFRNdU5TQTVMamcyTFRNdU5TMHlMall0TWk0Mk5pMDRMakV0TVM0eExUZ3VNUzB4TGpGYUlpOCtQQzl0WVhOclBqeG5JRzFoYzJzOUluVnliQ2dqWWlraVBqeHdZWFJvSUdacGJHdzlJblZ5YkNnall5a2lJR1E5SWswMU5pNDJOQ0E1TGpJMUlEVXdMak0zSURKSU1qZ3VNelJzTFRZdU1qZ2dOeTR5TlhNdE5TNDFMVEV1TlRZdE9DNHhJREV1TVdNd0lEQWdOeTR6TkMwdU5qZ2dPUzQ0TmlBekxqVWdNQ0F3SURZdU9ERWdNUzR6TXlBM0xqY3pJREV1TXpNdU9USWdNQ0F5TGprdExqYzRJRFF1TnpRdE1TNDBJREV1T0RRdExqWXpJRE11TURZdExqWTBJRE11TURZdExqWTBjekV1TWpNZ01DQXpMakEyTGpZell6RXVPRFF1TmpNZ015NDRNeUF4TGpRZ05DNDNOU0F4TGpRdU9USWdNQ0EzTGpjekxURXVNeklnTnk0M015MHhMak15SURJdU5USXROQzR4T0NBNUxqZzJMVE11TlNBNUxqZzJMVE11TlMweUxqWXRNaTQyTmkwNExqRXRNUzR4TFRndU1TMHhMakZhSWk4K1BDOW5QanhrWldaelBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlZU0lnZURFOUlqZ3VOelVpSUhneVBTSTJPUzQ1TmlJZ2VURTlJak01TGpBM0lpQjVNajBpTXprdU1EY2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqVXdJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOREVpSUhOMGIzQXRZMjlzYjNJOUlpTkdOVEFpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTQxT0NJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHTWpBd01DSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSTBaR01qQXdNQ0l2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKaklpQjRNVDBpTVRVdU1EVWlJSGd5UFNJMk5DNDNOU0lnZVRFOUlqZ3VOamdpSUhreVBTSTRMalk0SWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHTkRVeVFTSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSTBaR01qQXdNQ0l2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEM5a1pXWnpQand2YzNablBnPT1cIjtcbmV4cG9ydCB7XG4gIEJyYXZlX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Brave-YATE5BIM.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js.js deleted file mode 100644 index e172281..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Browser-HN7O5MN7.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Browser-HN7O5MN7.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Browser_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Browser.svg\nvar Browser_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA3OCA3OCI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0zOSA3NmMyMC40MzQgMCAzNy0xNi41NjYgMzctMzdTNTkuNDM0IDIgMzkgMiAyIDE4LjU2NiAyIDM5czE2LjU2NiAzNyAzNyAzN1ptMC01YzE3LjY3MyAwIDMyLTE0LjMyNyAzMi0zMkM3MSAyMS4zMjcgNTYuNjczIDcgMzkgNyAyMS4zMjcgNyA3IDIxLjMyNyA3IDM5YzAgMTcuNjczIDE0LjMyNyAzMiAzMiAzMloiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMzkgNzZjMjAuNDM0IDAgMzctMTYuNTY2IDM3LTM3UzU5LjQzNCAyIDM5IDIgMiAxOC41NjYgMiAzOXMxNi41NjYgMzcgMzcgMzdabTAtNWMxNy42NzMgMCAzMi0xNC4zMjcgMzItMzJDNzEgMjEuMzI3IDU2LjY3MyA3IDM5IDcgMjEuMzI3IDcgNyAyMS4zMjcgNyAzOWMwIDE3LjY3MyAxNC4zMjcgMzIgMzIgMzJaIi8+PC9nPjxjaXJjbGUgY3g9IjM5IiBjeT0iMzkiIHI9IjMwIiBmaWxsPSJ1cmwoI2MpIi8+PGNpcmNsZSBjeD0iMzkiIGN5PSIzOSIgcj0iMzAiIGZpbGw9InVybCgjZCkiIGZpbGwtb3BhY2l0eT0iLjciIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpzY3JlZW4iLz48ZyBmaWx0ZXI9InVybCgjZSkiPjxjaXJjbGUgY3g9IjM5IiBjeT0iMzkiIHI9IjI5LjUiIHN0cm9rZT0iIzAwMCIvPjwvZz48ZyBmaWx0ZXI9InVybCgjZikiPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjMiIGQ9Im01NS42ODEgNTMuNTk3LTguOTczLTE4Ljg2NWMtLjU0LTEuMTQ3LTEuMzE2LTEuOTI0LTIuNDI5LTIuNDYzbC0xOC44MjQtOC45MWMtMi40MjktMS4xNDctNC4yNS42MDctMy4xMDMgMy4xMDUgMS4xNDcgMi40OTcgOC45NCAxOC44MzEgOC45NCAxOC44MzEuNTA1IDEuMDggMS4yNDggMS44MjIgMi40MjggMi40M2wxOC44NTggOC45NDNjMi4zNjEgMS4xMTQgNC4xODMtLjc0MiAzLjEwMy0zLjA3MVptLTEyLjM4LTEzLjZjMCAyLjMyOC0xLjkyMyA0LjI1Mi00LjI1IDQuMjUyLTIuMzI4IDAtNC4yNTEtMS45MjQtNC4yNTEtNC4yNTJhNC4yNTUgNC4yNTUgMCAwIDEgNC4yNS00LjI1MmMyLjMyOCAwIDQuMjUgMS44OSA0LjI1IDQuMjUyWiIvPjwvZz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii44IiBkPSJtNTUuNjgxIDUyLjU5Ny04Ljk3My0xOC44NjVjLS41NC0xLjE0Ny0xLjMxNi0xLjkyNC0yLjQyOS0yLjQ2M2wtMTguODI0LTguOTFjLTIuNDI5LTEuMTQ3LTQuMjUuNjA3LTMuMTAzIDMuMTA1IDEuMTQ3IDIuNDk3IDguOTQgMTguODMxIDguOTQgMTguODMxLjUwNSAxLjA4IDEuMjQ4IDEuODIyIDIuNDI4IDIuNDNsMTguODU4IDguOTQzYzIuMzYxIDEuMTE0IDQuMTgzLS43NDIgMy4xMDMtMy4wNzFabS0xMi4zOC0xMy42YzAgMi4zMjgtMS45MjMgNC4yNTItNC4yNSA0LjI1Mi0yLjMyOCAwLTQuMjUxLTEuOTI0LTQuMjUxLTQuMjUyYTQuMjU1IDQuMjU1IDAgMCAxIDQuMjUtNC4yNTJjMi4zMjggMCA0LjI1IDEuODkgNC4yNSA0LjI1MloiLz48cGF0aCBmaWxsPSJ1cmwoI2cpIiBkPSJtNTUuNjgxIDUyLjU5Ny04Ljk3My0xOC44NjVjLS41NC0xLjE0Ny0xLjMxNi0xLjkyNC0yLjQyOS0yLjQ2M2wtMTguODI0LTguOTFjLTIuNDI5LTEuMTQ3LTQuMjUuNjA3LTMuMTAzIDMuMTA1IDEuMTQ3IDIuNDk3IDguOTQgMTguODMxIDguOTQgMTguODMxLjUwNSAxLjA4IDEuMjQ4IDEuODIyIDIuNDI4IDIuNDNsMTguODU4IDguOTQzYzIuMzYxIDEuMTE0IDQuMTgzLS43NDIgMy4xMDMtMy4wNzFabS0xMi4zOC0xMy42YzAgMi4zMjgtMS45MjMgNC4yNTItNC4yNSA0LjI1Mi0yLjMyOCAwLTQuMjUxLTEuOTI0LTQuMjUxLTQuMjUyYTQuMjU1IDQuMjU1IDAgMCAxIDQuMjUtNC4yNTJjMi4zMjggMCA0LjI1IDEuODkgNC4yNSA0LjI1MloiIG9wYWNpdHk9Ii4xNCIvPjxwYXRoIGZpbGw9InVybCgjaCkiIGZpbGwtb3BhY2l0eT0iLjA4IiBkPSJNNjEuMjQ4IDU2LjAwOGMuMTY2LS4yMTcuMjUtLjMyNS4zNzgtLjY2Ljc1NC0xLjk1LTEuMTgzLTMuOTUtMy4xNTctMy4yNi0uMzM4LjExOC0uOTA0LjUyMi0yLjAzNSAxLjMzMkEyOS44NjMgMjkuODYzIDAgMCAxIDM5IDU5LjAwM2EyOS44NjMgMjkuODYzIDAgMCAxLTE3LjQyNS01LjU3N2MtMS4xMzItLjgwOS0xLjY5Ny0xLjIxMy0yLjAzNS0xLjMzMS0xLjk3NC0uNjktMy45MTEgMS4zMTMtMy4xNTYgMy4yNjMuMTI5LjMzNC4yMTIuNDQyLjM3OC42NTkgNS4xMTggNi42NzkgMTMuMTc2IDEwLjk4NiAyMi4yNCAxMC45ODYgOS4wNjggMCAxNy4xMjktNC4zMSAyMi4yNDYtMTAuOTk1WiIvPjxwYXRoIGZpbGw9InVybCgjaSkiIGZpbGwtb3BhY2l0eT0iLjIiIGQ9Ik02Mi4yNiA0MC4wNTFDNjMuODA1IDQxLjk0NyA2NyA0MS40NDUgNjcgMzljMC0xNS40NjQtMTIuNTM2LTI4LTI4LTI4UzExIDIzLjUzNiAxMSAzOWMwIDIuNDQ1IDMuMTk1IDIuOTQ2IDQuNzQgMS4wNTFDMjEuMjQxIDMzLjMwNyAyOS42MTggMjkgMzkgMjljOS4zODIgMCAxNy43NTggNC4zMDcgMjMuMjYgMTEuMDUxWiIvPjxwYXRoIGZpbGw9InVybCgjaikiIGQ9Ik0zOSA0NWE2IDYgMCAxIDEgMC0xMS45OTkgNiA2IDAgMCAxIDAgMTJaIi8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjI0IiBzdHJva2Utd2lkdGg9Ii4xMjUiIGQ9Ik0zNi43MjggNDQuNDg2YTUuOTM4IDUuOTM4IDAgMSAwIDQuNTQ1LTEwLjk3MSA1LjkzOCA1LjkzOCAwIDAgMC00LjU0NSAxMC45NzFaIi8+PGcgZmlsdGVyPSJ1cmwoI2spIj48cGF0aCBmaWxsPSIjMUExQjFGIiBkPSJNMzkgNDZhNiA2IDAgMSAxIDAtMTEuOTk5IDYgNiAwIDAgMSAwIDEyWiIvPjwvZz48cGF0aCBmaWxsPSJ1cmwoI2wpIiBkPSJNMzkgNDQuNWE1LjUgNS41IDAgMSAxIDAtMTEgNS41IDUuNSAwIDAgMSAwIDExWiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9Ii4yNCIgc3Ryb2tlLXdpZHRoPSIuMjUiIGQ9Ik0zNi45NDQgNDMuOTY2YTUuMzc2IDUuMzc2IDAgMSAwIDQuMTE0LTkuOTM0IDUuMzc2IDUuMzc2IDAgMCAwLTQuMTE0IDkuOTM0WiIvPjxwYXRoIGZpbGw9InVybCgjbSkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjcwNCA0NC41NDRhNi4wMDIgNi4wMDIgMCAwIDAgOC4yOTctNS41NDMgNiA2IDAgMSAwLTguMjk3IDUuNTQzWm0uMTkxLS40NjNhNS41IDUuNSAwIDEgMCA0LjIxLTEwLjE2MyA1LjUgNS41IDAgMCAwLTQuMjEgMTAuMTYzWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0idXJsKCNuKSIgZmlsbC1vcGFjaXR5PSIuMDYiIGQ9Ik0zNi44OTcgNDIuMTJBNS45OCA1Ljk4IDAgMCAwIDM5IDQyLjVjMS40NiAwIDIuODU4LS41MjYgMy44OS0xLjQ2NC4yNTYtLjIzMy43MDEtLjAyMi41NC4yODVhNSA1IDAgMCAxLTkuMDQ5LS40MDZjLS4wOTgtLjIzOC4yMzctLjM4My40MTEtLjE5NWE1LjU2NSA1LjU2NSAwIDAgMCAyLjEwMyAxLjRaIi8+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9InVybCgjbykiIGQ9Ik0zOSA3MWMxNy42NzMgMCAzMi0xNC4zMjcgMzItMzJDNzEgMjEuMzI3IDU2LjY3MyA3IDM5IDcgMjEuMzI3IDcgNyAyMS4zMjcgNyAzOWMwIDE3LjY3MyAxNC4zMjcgMzIgMzIgMzJabTAtMmMxNi41NjkgMCAzMC0xMy40MzEgMzAtMzBDNjkgMjIuNDMxIDU1LjU2OSA5IDM5IDkgMjIuNDMxIDkgOSAyMi40MzEgOSAzOWMwIDE2LjU2OSAxMy40MzEgMzAgMzAgMzBaIi8+PHBhdGggZmlsbD0idXJsKCNwKSIgZD0iTTM5IDcxYzE3LjY3MyAwIDMyLTE0LjMyNyAzMi0zMkM3MSAyMS4zMjcgNTYuNjczIDcgMzkgNyAyMS4zMjcgNyA3IDIxLjMyNyA3IDM5YzAgMTcuNjczIDE0LjMyNyAzMiAzMiAzMlptMC0yYzE2LjU2OSAwIDMwLTEzLjQzMSAzMC0zMEM2OSAyMi40MzEgNTUuNTY5IDkgMzkgOSAyMi40MzEgOSA5IDIyLjQzMSA5IDM5YzAgMTYuNTY5IDEzLjQzMSAzMCAzMCAzMFoiLz48L2c+PHBhdGggZmlsbD0idXJsKCNxKSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzkgNzZjMjAuNDM0IDAgMzctMTYuNTY2IDM3LTM3UzU5LjQzNCAyIDM5IDIgMiAxOC41NjYgMiAzOXMxNi41NjYgMzcgMzcgMzdabTAtMWMxOS44ODIgMCAzNi0xNi4xMTggMzYtMzZTNTguODgyIDMgMzkgMyAzIDE5LjExOCAzIDM5czE2LjExOCAzNiAzNiAzNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxjaXJjbGUgY3g9IjM5IiBjeT0iMzkiIHI9IjMyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIuMyIgc3Ryb2tlLXdpZHRoPSIuMjUiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIzOSIgeDI9IjM5IiB5MT0iMiIgeTI9Ijc2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzE3NDI5OSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwMUU1OSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMzkiIHgyPSIzOSIgeTE9IjIiIHkyPSI3NiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNEMkQ4RTQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNDMkM5RDYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZyIgeDE9IjM0IiB4Mj0iNDYuNSIgeTE9IjQ1LjUiIHkyPSIzMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iLjQ1MyIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIuNjQiLz48c3RvcCBvZmZzZXQ9Ii40NTMiIHN0b3AtY29sb3I9IiMzQjNCM0IiIHN0b3Atb3BhY2l0eT0iLjIzMyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImkiIHgxPSIzOSIgeDI9IjM5IiB5MT0iMTEiIHkyPSI0MS4yMDUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaiIgeDE9IjM5LjAwMSIgeDI9IjM4Ljc1MSIgeTE9IjMzIiB5Mj0iNDUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRENFMUVBIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQkVDNkQ1Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImwiIHgxPSIzOS4wMDEiIHgyPSIzOC43NzIiIHkxPSIzMy41IiB5Mj0iNDQuNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNEQ0UxRUEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNCRUM2RDUiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibSIgeDE9IjM5IiB4Mj0iMzkiIHkxPSIzMyIgeTI9IjQ1LjAwMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGMkY0RjciLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNBM0FEQzIiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibyIgeDE9IjM5IiB4Mj0iMzkiIHkxPSI3IiB5Mj0iNzEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRDJEOEU0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQzJDOUQ2Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9InAiIHgxPSIzOSIgeDI9IjM5IiB5MT0iNyIgeTI9IjcxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzlGQUNDNiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0UwRTNFQiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJxIiB4MT0iMzkiIHgyPSIzOSIgeTE9IjIiIHkyPSI3NiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGMkY0RjciLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNBM0FEQzIiLz48L2xpbmVhckdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iYyIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFRyYW5zZm9ybT0icm90YXRlKC00MC4wNzcgMTA4LjU1NiA2NS40MTYpIHNjYWxlKDExOC40MzUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMjc2IiBzdG9wLWNvbG9yPSIjMjBGRjREIi8+PHN0b3Agb2Zmc2V0PSIuNDY0IiBzdG9wLWNvbG9yPSIjMTQ5OUZGIi8+PHN0b3Agb2Zmc2V0PSIuNzU1IiBzdG9wLWNvbG9yPSIjRkY2RkM2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQkM2N0ZGIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImQiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSg0NSAuMjY1IC0uNjQpIHNjYWxlKDk4LjExMTEpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0icmVkIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDBBM0ZGIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImgiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yOS4zODg3IDU3LjQ4MzggMCAzOC45OTkgNjcpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3AvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9Im4iIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtLjAwMTM1IC01Ljc1MDM4IDguNDI1NTcgLS4wMDE5OSAzOS4wMDIgNDQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3AvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48ZmlsdGVyIGlkPSJlIiB3aWR0aD0iNjgiIGhlaWdodD0iNjgiIHg9IjUiIHk9IjUiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPjxmZUJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPjxmZUdhdXNzaWFuQmx1ciByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjEzOF80Nzg5NSIgc3RkRGV2aWF0aW9uPSIyIi8+PC9maWx0ZXI+PGZpbHRlciBpZD0iZiIgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB4PSIyMCIgeT0iMjEiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj48ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPjxmZUJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPjxmZUdhdXNzaWFuQmx1ciByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjEzOF80Nzg5NSIgc3RkRGV2aWF0aW9uPSIxIi8+PC9maWx0ZXI+PGZpbHRlciBpZD0iayIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB4PSIzMS4wMDEiIHk9IjMyIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz48ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzIxMzhfNDc4OTUiIHN0ZERldmlhdGlvbj0iMSIvPjwvZmlsdGVyPjwvZGVmcz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0Jyb3dzZXItSE43TzVNTjcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFHeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9Ccm93c2VyLUhON081TU43LmpzPzgwMzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9Ccm93c2VyLnN2Z1xudmFyIEJyb3dzZXJfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdacGJHdzlJbTV2Ym1VaUlIWnBaWGRDYjNnOUlqQWdNQ0EzT0NBM09DSStQR2NnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaVBqeHdZWFJvSUdacGJHdzlJblZ5YkNnallTa2lJR1E5SWswek9TQTNObU15TUM0ME16UWdNQ0F6TnkweE5pNDFOallnTXpjdE16ZFROVGt1TkRNMElESWdNemtnTWlBeUlERTRMalUyTmlBeUlETTVjekUyTGpVMk5pQXpOeUF6TnlBek4xcHRNQzAxWXpFM0xqWTNNeUF3SURNeUxURTBMak15TnlBek1pMHpNa00zTVNBeU1TNHpNamNnTlRZdU5qY3pJRGNnTXprZ055QXlNUzR6TWpjZ055QTNJREl4TGpNeU55QTNJRE01WXpBZ01UY3VOamN6SURFMExqTXlOeUF6TWlBek1pQXpNbG9pTHo0OGNHRjBhQ0JtYVd4c1BTSjFjbXdvSTJJcElpQmtQU0pOTXprZ056WmpNakF1TkRNMElEQWdNemN0TVRZdU5UWTJJRE0zTFRNM1V6VTVMalF6TkNBeUlETTVJRElnTWlBeE9DNDFOallnTWlBek9YTXhOaTQxTmpZZ016Y2dNemNnTXpkYWJUQXROV014Tnk0Mk56TWdNQ0F6TWkweE5DNHpNamNnTXpJdE16SkROekVnTWpFdU16STNJRFUyTGpZM015QTNJRE01SURjZ01qRXVNekkzSURjZ055QXlNUzR6TWpjZ055QXpPV013SURFM0xqWTNNeUF4TkM0ek1qY2dNeklnTXpJZ016SmFJaTgrUEM5blBqeGphWEpqYkdVZ1kzZzlJak01SWlCamVUMGlNemtpSUhJOUlqTXdJaUJtYVd4c1BTSjFjbXdvSTJNcElpOCtQR05wY21Oc1pTQmplRDBpTXpraUlHTjVQU0l6T1NJZ2NqMGlNekFpSUdacGJHdzlJblZ5YkNnalpDa2lJR1pwYkd3dGIzQmhZMmwwZVQwaUxqY2lJSE4wZVd4bFBTSnRhWGd0WW14bGJtUXRiVzlrWlRwelkzSmxaVzRpTHo0OFp5Qm1hV3gwWlhJOUluVnliQ2dqWlNraVBqeGphWEpqYkdVZ1kzZzlJak01SWlCamVUMGlNemtpSUhJOUlqSTVMalVpSUhOMGNtOXJaVDBpSXpBd01DSXZQand2Wno0OFp5Qm1hV3gwWlhJOUluVnliQ2dqWmlraVBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHUTlJbTAxTlM0Mk9ERWdOVE11TlRrM0xUZ3VPVGN6TFRFNExqZzJOV010TGpVMExURXVNVFEzTFRFdU16RTJMVEV1T1RJMExUSXVOREk1TFRJdU5EWXpiQzB4T0M0NE1qUXRPQzQ1TVdNdE1pNDBNamt0TVM0eE5EY3ROQzR5TlM0Mk1EY3RNeTR4TURNZ015NHhNRFVnTVM0eE5EY2dNaTQwT1RjZ09DNDVOQ0F4T0M0NE16RWdPQzQ1TkNBeE9DNDRNekV1TlRBMUlERXVNRGdnTVM0eU5EZ2dNUzQ0TWpJZ01pNDBNamdnTWk0ME0yd3hPQzQ0TlRnZ09DNDVORE5qTWk0ek5qRWdNUzR4TVRRZ05DNHhPRE10TGpjME1pQXpMakV3TXkwekxqQTNNVnB0TFRFeUxqTTRMVEV6TGpaak1DQXlMak15T0MweExqa3lNeUEwTGpJMU1pMDBMakkxSURRdU1qVXlMVEl1TXpJNElEQXROQzR5TlRFdE1TNDVNalF0TkM0eU5URXROQzR5TlRKaE5DNHlOVFVnTkM0eU5UVWdNQ0F3SURFZ05DNHlOUzAwTGpJMU1tTXlMak15T0NBd0lEUXVNalVnTVM0NE9TQTBMakkxSURRdU1qVXlXaUl2UGp3dlp6NDhjR0YwYUNCbWFXeHNQU0lqTURBd0lpQm1hV3hzTFc5d1lXTnBkSGs5SWk0NElpQmtQU0p0TlRVdU5qZ3hJRFV5TGpVNU55MDRMamszTXkweE9DNDROalZqTFM0MU5DMHhMakUwTnkweExqTXhOaTB4TGpreU5DMHlMalF5T1MweUxqUTJNMnd0TVRndU9ESTBMVGd1T1RGakxUSXVOREk1TFRFdU1UUTNMVFF1TWpVdU5qQTNMVE11TVRBeklETXVNVEExSURFdU1UUTNJREl1TkRrM0lEZ3VPVFFnTVRndU9ETXhJRGd1T1RRZ01UZ3VPRE14TGpVd05TQXhMakE0SURFdU1qUTRJREV1T0RJeUlESXVOREk0SURJdU5ETnNNVGd1T0RVNElEZ3VPVFF6WXpJdU16WXhJREV1TVRFMElEUXVNVGd6TFM0M05ESWdNeTR4TURNdE15NHdOekZhYlMweE1pNHpPQzB4TXk0Mll6QWdNaTR6TWpndE1TNDVNak1nTkM0eU5USXROQzR5TlNBMExqSTFNaTB5TGpNeU9DQXdMVFF1TWpVeExURXVPVEkwTFRRdU1qVXhMVFF1TWpVeVlUUXVNalUxSURRdU1qVTFJREFnTUNBeElEUXVNalV0TkM0eU5USmpNaTR6TWpnZ01DQTBMakkxSURFdU9Ea2dOQzR5TlNBMExqSTFNbG9pTHo0OGNHRjBhQ0JtYVd4c1BTSjFjbXdvSTJjcElpQmtQU0p0TlRVdU5qZ3hJRFV5TGpVNU55MDRMamszTXkweE9DNDROalZqTFM0MU5DMHhMakUwTnkweExqTXhOaTB4TGpreU5DMHlMalF5T1MweUxqUTJNMnd0TVRndU9ESTBMVGd1T1RGakxUSXVOREk1TFRFdU1UUTNMVFF1TWpVdU5qQTNMVE11TVRBeklETXVNVEExSURFdU1UUTNJREl1TkRrM0lEZ3VPVFFnTVRndU9ETXhJRGd1T1RRZ01UZ3VPRE14TGpVd05TQXhMakE0SURFdU1qUTRJREV1T0RJeUlESXVOREk0SURJdU5ETnNNVGd1T0RVNElEZ3VPVFF6WXpJdU16WXhJREV1TVRFMElEUXVNVGd6TFM0M05ESWdNeTR4TURNdE15NHdOekZhYlMweE1pNHpPQzB4TXk0Mll6QWdNaTR6TWpndE1TNDVNak1nTkM0eU5USXROQzR5TlNBMExqSTFNaTB5TGpNeU9DQXdMVFF1TWpVeExURXVPVEkwTFRRdU1qVXhMVFF1TWpVeVlUUXVNalUxSURRdU1qVTFJREFnTUNBeElEUXVNalV0TkM0eU5USmpNaTR6TWpnZ01DQTBMakkxSURFdU9Ea2dOQzR5TlNBMExqSTFNbG9pSUc5d1lXTnBkSGs5SWk0eE5DSXZQanh3WVhSb0lHWnBiR3c5SW5WeWJDZ2phQ2tpSUdacGJHd3RiM0JoWTJsMGVUMGlMakE0SWlCa1BTSk5OakV1TWpRNElEVTJMakF3T0dNdU1UWTJMUzR5TVRjdU1qVXRMak15TlM0ek56Z3RMalkyTGpjMU5DMHhMamsxTFRFdU1UZ3pMVE11T1RVdE15NHhOVGN0TXk0eU5pMHVNek00TGpFeE9DMHVPVEEwTGpVeU1pMHlMakF6TlNBeExqTXpNa0V5T1M0NE5qTWdNamt1T0RZeklEQWdNQ0F4SURNNUlEVTVMakF3TTJFeU9TNDROak1nTWprdU9EWXpJREFnTUNBeExURTNMalF5TlMwMUxqVTNOMk10TVM0eE16SXRMamd3T1MweExqWTVOeTB4TGpJeE15MHlMakF6TlMweExqTXpNUzB4TGprM05DMHVOamt0TXk0NU1URWdNUzR6TVRNdE15NHhOVFlnTXk0eU5qTXVNVEk1TGpNek5DNHlNVEl1TkRReUxqTTNPQzQyTlRrZ05TNHhNVGdnTmk0Mk56a2dNVE11TVRjMklERXdMams0TmlBeU1pNHlOQ0F4TUM0NU9EWWdPUzR3TmpnZ01DQXhOeTR4TWprdE5DNHpNU0F5TWk0eU5EWXRNVEF1T1RrMVdpSXZQanh3WVhSb0lHWnBiR3c5SW5WeWJDZ2phU2tpSUdacGJHd3RiM0JoWTJsMGVUMGlMaklpSUdROUlrMDJNaTR5TmlBME1DNHdOVEZETmpNdU9EQTFJRFF4TGprME55QTJOeUEwTVM0ME5EVWdOamNnTXpsak1DMHhOUzQwTmpRdE1USXVOVE0yTFRJNExUSTRMVEk0VXpFeElESXpMalV6TmlBeE1TQXpPV013SURJdU5EUTFJRE11TVRrMUlESXVPVFEySURRdU56UWdNUzR3TlRGRE1qRXVNalF4SURNekxqTXdOeUF5T1M0Mk1UZ2dNamtnTXprZ01qbGpPUzR6T0RJZ01DQXhOeTQzTlRnZ05DNHpNRGNnTWpNdU1qWWdNVEV1TURVeFdpSXZQanh3WVhSb0lHWnBiR3c5SW5WeWJDZ2phaWtpSUdROUlrMHpPU0EwTldFMklEWWdNQ0F4SURFZ01DMHhNUzQ1T1RrZ05pQTJJREFnTUNBeElEQWdNVEphSWk4K1BIQmhkR2dnYzNSeWIydGxQU0lqWm1abUlpQnpkSEp2YTJVdGIzQmhZMmwwZVQwaUxqSTBJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlpNHhNalVpSUdROUlrMHpOaTQzTWpnZ05EUXVORGcyWVRVdU9UTTRJRFV1T1RNNElEQWdNU0F3SURRdU5UUTFMVEV3TGprM01TQTFMamt6T0NBMUxqa3pPQ0F3SURBZ01DMDBMalUwTlNBeE1DNDVOekZhSWk4K1BHY2dabWxzZEdWeVBTSjFjbXdvSTJzcElqNDhjR0YwYUNCbWFXeHNQU0lqTVVFeFFqRkdJaUJrUFNKTk16a2dORFpoTmlBMklEQWdNU0F4SURBdE1URXVPVGs1SURZZ05pQXdJREFnTVNBd0lERXlXaUl2UGp3dlp6NDhjR0YwYUNCbWFXeHNQU0oxY213b0kyd3BJaUJrUFNKTk16a2dORFF1TldFMUxqVWdOUzQxSURBZ01TQXhJREF0TVRFZ05TNDFJRFV1TlNBd0lEQWdNU0F3SURFeFdpSXZQanh3WVhSb0lITjBjbTlyWlQwaUkyWm1aaUlnYzNSeWIydGxMVzl3WVdOcGRIazlJaTR5TkNJZ2MzUnliMnRsTFhkcFpIUm9QU0l1TWpVaUlHUTlJazB6Tmk0NU5EUWdORE11T1RZMllUVXVNemMySURVdU16YzJJREFnTVNBd0lEUXVNVEUwTFRrdU9UTTBJRFV1TXpjMklEVXVNemMySURBZ01DQXdMVFF1TVRFMElEa3VPVE0wV2lJdlBqeHdZWFJvSUdacGJHdzlJblZ5YkNnamJTa2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUTTJMamN3TkNBME5DNDFORFJoTmk0d01ESWdOaTR3TURJZ01DQXdJREFnT0M0eU9UY3ROUzQxTkRNZ05pQTJJREFnTVNBd0xUZ3VNamszSURVdU5UUXpXbTB1TVRreExTNDBOak5oTlM0MUlEVXVOU0F3SURFZ01DQTBMakl4TFRFd0xqRTJNeUExTGpVZ05TNDFJREFnTUNBd0xUUXVNakVnTVRBdU1UWXpXaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOdUtTSWdabWxzYkMxdmNHRmphWFI1UFNJdU1EWWlJR1E5SWswek5pNDRPVGNnTkRJdU1USkJOUzQ1T0NBMUxqazRJREFnTUNBd0lETTVJRFF5TGpWak1TNDBOaUF3SURJdU9EVTRMUzQxTWpZZ015NDRPUzB4TGpRMk5DNHlOVFl0TGpJek15NDNNREV0TGpBeU1pNDFOQzR5T0RWaE5TQTFJREFnTUNBeExUa3VNRFE1TFM0ME1EWmpMUzR3T1RndExqSXpPQzR5TXpjdExqTTRNeTQwTVRFdExqRTVOV0UxTGpVMk5TQTFMalUyTlNBd0lEQWdNQ0F5TGpFd015QXhMalJhSWk4K1BHY2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpUGp4d1lYUm9JR1pwYkd3OUluVnliQ2dqYnlraUlHUTlJazB6T1NBM01XTXhOeTQyTnpNZ01DQXpNaTB4TkM0ek1qY2dNekl0TXpKRE56RWdNakV1TXpJM0lEVTJMalkzTXlBM0lETTVJRGNnTWpFdU16STNJRGNnTnlBeU1TNHpNamNnTnlBek9XTXdJREUzTGpZM015QXhOQzR6TWpjZ016SWdNeklnTXpKYWJUQXRNbU14Tmk0MU5qa2dNQ0F6TUMweE15NDBNekVnTXpBdE16QkROamtnTWpJdU5ETXhJRFUxTGpVMk9TQTVJRE01SURrZ01qSXVORE14SURrZ09TQXlNaTQwTXpFZ09TQXpPV013SURFMkxqVTJPU0F4TXk0ME16RWdNekFnTXpBZ016QmFJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ053S1NJZ1pEMGlUVE01SURjeFl6RTNMalkzTXlBd0lETXlMVEUwTGpNeU55QXpNaTB6TWtNM01TQXlNUzR6TWpjZ05UWXVOamN6SURjZ016a2dOeUF5TVM0ek1qY2dOeUEzSURJeExqTXlOeUEzSURNNVl6QWdNVGN1TmpjeklERTBMak15TnlBek1pQXpNaUF6TWxwdE1DMHlZekUyTGpVMk9TQXdJRE13TFRFekxqUXpNU0F6TUMwek1FTTJPU0F5TWk0ME16RWdOVFV1TlRZNUlEa2dNemtnT1NBeU1pNDBNekVnT1NBNUlESXlMalF6TVNBNUlETTVZekFnTVRZdU5UWTVJREV6TGpRek1TQXpNQ0F6TUNBek1Gb2lMejQ4TDJjK1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOeEtTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk16a2dOelpqTWpBdU5ETTBJREFnTXpjdE1UWXVOVFkySURNM0xUTTNVelU1TGpRek5DQXlJRE01SURJZ01pQXhPQzQxTmpZZ01pQXpPWE14Tmk0MU5qWWdNemNnTXpjZ016ZGFiVEF0TVdNeE9TNDRPRElnTUNBek5pMHhOaTR4TVRnZ016WXRNelpUTlRndU9EZ3lJRE1nTXprZ015QXpJREU1TGpFeE9DQXpJRE01Y3pFMkxqRXhPQ0F6TmlBek5pQXpObG9pSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeGphWEpqYkdVZ1kzZzlJak01SWlCamVUMGlNemtpSUhJOUlqTXlJaUJ6ZEhKdmEyVTlJaU5tWm1ZaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU15SWdjM1J5YjJ0bExYZHBaSFJvUFNJdU1qVWlMejQ4WkdWbWN6NDhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbUVpSUhneFBTSXpPU0lnZURJOUlqTTVJaUI1TVQwaU1pSWdlVEk5SWpjMklpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpFM05ESTVPU0l2UGp4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUl6QXdNVVUxT1NJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSmlJaUI0TVQwaU16a2lJSGd5UFNJek9TSWdlVEU5SWpJaUlIa3lQU0kzTmlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FTWtRNFJUUWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlORE1rTTVSRFlpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaVp5SWdlREU5SWpNMElpQjRNajBpTkRZdU5TSWdlVEU5SWpRMUxqVWlJSGt5UFNJek15SWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlObVptWWlJSE4wYjNBdGIzQmhZMmwwZVQwaU1DSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqUTFNeUlnYzNSdmNDMWpiMnh2Y2owaUkyWm1aaUlnYzNSdmNDMXZjR0ZqYVhSNVBTSXVOalFpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTQwTlRNaUlITjBiM0F0WTI5c2IzSTlJaU16UWpOQ00wSWlJSE4wYjNBdGIzQmhZMmwwZVQwaUxqSXpNeUl2UGp4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXdJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW1raUlIZ3hQU0l6T1NJZ2VESTlJak01SWlCNU1UMGlNVEVpSUhreVBTSTBNUzR5TURVaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqWm1abUlpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqWm1abUlpQnpkRzl3TFc5d1lXTnBkSGs5SWpBaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlhaUlnZURFOUlqTTVMakF3TVNJZ2VESTlJak00TGpjMU1TSWdlVEU5SWpNeklpQjVNajBpTkRVaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkVORk1VVkJJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJalFrVkROa1ExSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUltd2lJSGd4UFNJek9TNHdNREVpSUhneVBTSXpPQzQzTnpJaUlIa3hQU0l6TXk0MUlpQjVNajBpTkRRdU5TSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORVEwVXhSVUVpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTkNSVU0yUkRVaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGliU0lnZURFOUlqTTVJaUI0TWowaU16a2lJSGt4UFNJek15SWdlVEk5SWpRMUxqQXdNU0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkdNa1kwUmpjaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU5CTTBGRVF6SWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpYnlJZ2VERTlJak01SWlCNE1qMGlNemtpSUhreFBTSTNJaUI1TWowaU56RWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJESkVPRVUwSWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpRekpET1VRMklpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkFpSUhneFBTSXpPU0lnZURJOUlqTTVJaUI1TVQwaU55SWdlVEk5SWpjeElpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpsR1FVTkROaUl2UGp4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUkwVXdSVE5GUWlJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSnhJaUI0TVQwaU16a2lJSGd5UFNJek9TSWdlVEU5SWpJaUlIa3lQU0kzTmlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5HTWtZMFJqY2lMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlOQk0wRkVReklpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4eVlXUnBZV3hIY21Ga2FXVnVkQ0JwWkQwaVl5SWdZM2c5SWpBaUlHTjVQU0l3SWlCeVBTSXhJaUJuY21Ga2FXVnVkRlJ5WVc1elptOXliVDBpY205MFlYUmxLQzAwTUM0d056Y2dNVEE0TGpVMU5pQTJOUzQwTVRZcElITmpZV3hsS0RFeE9DNDBNelVwSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2IyWm1jMlYwUFNJdU1qYzJJaUJ6ZEc5d0xXTnZiRzl5UFNJak1qQkdSalJFSWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TkRZMElpQnpkRzl3TFdOdmJHOXlQU0lqTVRRNU9VWkdJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOelUxSWlCemRHOXdMV052Ykc5eVBTSWpSa1kyUmtNMklpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqUWtNMk4wWkdJaTgrUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDQ4Y21Ga2FXRnNSM0poWkdsbGJuUWdhV1E5SW1RaUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbkp2ZEdGMFpTZzBOU0F1TWpZMUlDMHVOalFwSUhOallXeGxLRGs0TGpFeE1URXBJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaWNtVmtJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJak1EQkJNMFpHSWk4K1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0OGNtRmthV0ZzUjNKaFpHbGxiblFnYVdROUltZ2lJR040UFNJd0lpQmplVDBpTUNJZ2NqMGlNU0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d3SUMweU9TNHpPRGczSURVM0xqUTRNemdnTUNBek9DNDVPVGtnTmpjcElpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxdmNHRmphWFI1UFNJd0lpOCtQQzl5WVdScFlXeEhjbUZrYVdWdWRENDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbTRpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNndExqQXdNVE0xSUMwMUxqYzFNRE00SURndU5ESTFOVGNnTFM0d01ERTVPU0F6T1M0d01ESWdORFFwSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l3SWk4K1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0OFptbHNkR1Z5SUdsa1BTSmxJaUIzYVdSMGFEMGlOamdpSUdobGFXZG9kRDBpTmpnaUlIZzlJalVpSUhrOUlqVWlJR052Ykc5eUxXbHVkR1Z5Y0c5c1lYUnBiMjR0Wm1sc2RHVnljejBpYzFKSFFpSWdabWxzZEdWeVZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajQ4Wm1WR2JHOXZaQ0JtYkc5dlpDMXZjR0ZqYVhSNVBTSXdJaUJ5WlhOMWJIUTlJa0poWTJ0bmNtOTFibVJKYldGblpVWnBlQ0l2UGp4bVpVSnNaVzVrSUdsdVBTSlRiM1Z5WTJWSGNtRndhR2xqSWlCcGJqSTlJa0poWTJ0bmNtOTFibVJKYldGblpVWnBlQ0lnY21WemRXeDBQU0p6YUdGd1pTSXZQanhtWlVkaGRYTnphV0Z1UW14MWNpQnlaWE4xYkhROUltVm1abVZqZERGZlptOXlaV2R5YjNWdVpFSnNkWEpmTWpFek9GODBOemc1TlNJZ2MzUmtSR1YyYVdGMGFXOXVQU0l5SWk4K1BDOW1hV3gwWlhJK1BHWnBiSFJsY2lCcFpEMGlaaUlnZDJsa2RHZzlJak00SWlCb1pXbG5hSFE5SWpNNElpQjRQU0l5TUNJZ2VUMGlNakVpSUdOdmJHOXlMV2x1ZEdWeWNHOXNZWFJwYjI0dFptbHNkR1Z5Y3owaWMxSkhRaUlnWm1sc2RHVnlWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OFptVkdiRzl2WkNCbWJHOXZaQzF2Y0dGamFYUjVQU0l3SWlCeVpYTjFiSFE5SWtKaFkydG5jbTkxYm1SSmJXRm5aVVpwZUNJdlBqeG1aVUpzWlc1a0lHbHVQU0pUYjNWeVkyVkhjbUZ3YUdsaklpQnBiakk5SWtKaFkydG5jbTkxYm1SSmJXRm5aVVpwZUNJZ2NtVnpkV3gwUFNKemFHRndaU0l2UGp4bVpVZGhkWE56YVdGdVFteDFjaUJ5WlhOMWJIUTlJbVZtWm1WamRERmZabTl5WldkeWIzVnVaRUpzZFhKZk1qRXpPRjgwTnpnNU5TSWdjM1JrUkdWMmFXRjBhVzl1UFNJeElpOCtQQzltYVd4MFpYSStQR1pwYkhSbGNpQnBaRDBpYXlJZ2QybGtkR2c5SWpFMklpQm9aV2xuYUhROUlqRTJJaUI0UFNJek1TNHdNREVpSUhrOUlqTXlJaUJqYjJ4dmNpMXBiblJsY25CdmJHRjBhVzl1TFdacGJIUmxjbk05SW5OU1IwSWlJR1pwYkhSbGNsVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEdabFJteHZiMlFnWm14dmIyUXRiM0JoWTJsMGVUMGlNQ0lnY21WemRXeDBQU0pDWVdOclozSnZkVzVrU1cxaFoyVkdhWGdpTHo0OFptVkNiR1Z1WkNCcGJqMGlVMjkxY21ObFIzSmhjR2hwWXlJZ2FXNHlQU0pDWVdOclozSnZkVzVrU1cxaFoyVkdhWGdpSUhKbGMzVnNkRDBpYzJoaGNHVWlMejQ4Wm1WSFlYVnpjMmxoYmtKc2RYSWdjbVZ6ZFd4MFBTSmxabVpsWTNReFgyWnZjbVZuY205MWJtUkNiSFZ5WHpJeE16aGZORGM0T1RVaUlITjBaRVJsZG1saGRHbHZiajBpTVNJdlBqd3ZabWxzZEdWeVBqd3ZaR1ZtY3o0OEwzTjJaejQ9XCI7XG5leHBvcnQge1xuICBCcm93c2VyX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Browser-HN7O5MN7.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js.js deleted file mode 100644 index 60d24af..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Chrome-LGF33C3S.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Chrome-LGF33C3S.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Chrome_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Chrome.svg\nvar Chrome_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA3OCA3OCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTcxLjAzNCAyMC41YTM3LjAwMSAzNy4wMDEgMCAwIDAtNjQuMDg0IDBsMi4yMiAzOS45Nkw3MS4wMzQgMjAuNVoiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMjIuOTc5IDQ4LjI1IDYuOTU4IDIwLjVBMzcgMzcgMCAwIDAgMzkgNzZsMzYuMjYtMzctNTIuMjgxIDkuMjVaIi8+PHBhdGggZmlsbD0idXJsKCNjKSIgZD0iTTU1LjAyMSA0OC4yNSAzOSA3NmEzNy4wMDEgMzcuMDAxIDAgMCAwIDMyLjAzNS01NS41SDM5bDE2LjAyMSAyNy43NVoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMzkgNTcuNWExOC41IDE4LjUgMCAxIDAgMC0zNyAxOC41IDE4LjUgMCAwIDAgMCAzN1oiLz48cGF0aCBmaWxsPSIjMUE3M0U4IiBkPSJNMzkgNTMuNjUyYTE0LjY1IDE0LjY1IDAgMCAwIDEzLjUzNi0yMC4yNkExNC42NTMgMTQuNjUzIDAgMSAwIDM5IDUzLjY1M1oiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI2Ljk1OCIgeDI9IjcxLjAzNCIgeTE9IjI1LjEyNSIgeTI9IjI1LjEyNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNEOTMwMjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFQTQzMzUiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjQzLjAwMyIgeDI9IjEwLjk2MSIgeTE9IjczLjY4NCIgeTI9IjE4LjE4NCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMxRThFM0UiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMzNEE4NTMiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgeDE9IjMzLjU5OCIgeDI9IjY1LjY0IiB5MT0iNzYiIHkyPSIyMC41OTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkNDOTM0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkJCQzA0Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0Nocm9tZS1MR0YzM0MzUy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHlDQUF5QztBQUd2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0Nocm9tZS1MR0YzM0MzUy5qcz8wOTJkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvQ2hyb21lLnN2Z1xudmFyIENocm9tZV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJR1pwYkd3OUltNXZibVVpSUhacFpYZENiM2c5SWpBZ01DQTNPQ0EzT0NJK1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOaEtTSWdaRDBpVFRjeExqQXpOQ0F5TUM0MVlUTTNMakF3TVNBek55NHdNREVnTUNBd0lEQXROalF1TURnMElEQnNNaTR5TWlBek9TNDVOa3czTVM0d016UWdNakF1TlZvaUx6NDhjR0YwYUNCbWFXeHNQU0oxY213b0kySXBJaUJrUFNKTk1qSXVPVGM1SURRNExqSTFJRFl1T1RVNElESXdMalZCTXpjZ016Y2dNQ0F3SURBZ016a2dOelpzTXpZdU1qWXRNemN0TlRJdU1qZ3hJRGt1TWpWYUlpOCtQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTmpLU0lnWkQwaVRUVTFMakF5TVNBME9DNHlOU0F6T1NBM05tRXpOeTR3TURFZ016Y3VNREF4SURBZ01DQXdJRE15TGpBek5TMDFOUzQxU0RNNWJERTJMakF5TVNBeU55NDNOVm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NemtnTlRjdU5XRXhPQzQxSURFNExqVWdNQ0F4SURBZ01DMHpOeUF4T0M0MUlERTRMalVnTUNBd0lEQWdNQ0F6TjFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqTVVFM00wVTRJaUJrUFNKTk16a2dOVE11TmpVeVlURTBMalkxSURFMExqWTFJREFnTUNBd0lERXpMalV6TmkweU1DNHlOa0V4TkM0Mk5UTWdNVFF1TmpVeklEQWdNU0F3SURNNUlEVXpMalkxTTFvaUx6NDhaR1ZtY3o0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUltRWlJSGd4UFNJMkxqazFPQ0lnZURJOUlqY3hMakF6TkNJZ2VURTlJakkxTGpFeU5TSWdlVEk5SWpJMUxqRXlOU0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkVPVE13TWpVaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU5GUVRRek16VWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWWlJZ2VERTlJalF6TGpBd015SWdlREk5SWpFd0xqazJNU0lnZVRFOUlqY3pMalk0TkNJZ2VUSTlJakU0TGpFNE5DSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNeFJUaEZNMFVpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTXpORUU0TlRNaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlZeUlnZURFOUlqTXpMalU1T0NJZ2VESTlJalkxTGpZMElpQjVNVDBpTnpZaUlIa3lQU0l5TUM0MU9UWWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJrTkRPVE0wSWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpSa0pDUXpBMElpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhMMlJsWm5NK1BDOXpkbWMrXCI7XG5leHBvcnQge1xuICBDaHJvbWVfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Chrome-LGF33C3S.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js.js deleted file mode 100644 index 240d7bb..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Edge-K2JEGI5S.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Edge-K2JEGI5S.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Edge_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Edge.svg\nvar Edge_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA3OCA3OCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNNjguODAyIDU3LjA2NmMtLjk5Mi41MTYtMi4wMTYuOTctMy4wNjQgMS4zNTlhMjkuNDU2IDI5LjQ1NiAwIDAgMS0xMC4zNzcgMS44NWMtMTMuNjczIDAtMjUuNTgyLTkuMzk1LTI1LjU4Mi0yMS40NzdhOS4xMDYgOS4xMDYgMCAwIDEgNC43NC03Ljg5MmMtMTIuMzcxLjUyLTE1LjU1MSAxMy40MTMtMTUuNTUxIDIwLjk1NyAwIDIxLjM5IDE5LjY4NSAyMy41MyAyMy45MzQgMjMuNTMgMi4yODQgMCA1LjcyNC0uNjY1IDcuODA1LTEuMzNsLjM3Ni0uMTE1YTM3LjA4OCAzNy4wODggMCAwIDAgMTkuMjUxLTE1LjI2MyAxLjE1NiAxLjE1NiAwIDAgMC0xLjUzMi0xLjYxOVoiLz48cGF0aCBmaWxsPSJ1cmwoI2MpIiBkPSJNNjguODAyIDU3LjA2NmMtLjk5Mi41MTYtMi4wMTYuOTctMy4wNjQgMS4zNTlhMjkuNDU2IDI5LjQ1NiAwIDAgMS0xMC4zNzcgMS44NWMtMTMuNjczIDAtMjUuNTgyLTkuMzk1LTI1LjU4Mi0yMS40NzdhOS4xMDYgOS4xMDYgMCAwIDEgNC43NC03Ljg5MmMtMTIuMzcxLjUyLTE1LjU1MSAxMy40MTMtMTUuNTUxIDIwLjk1NyAwIDIxLjM5IDE5LjY4NSAyMy41MyAyMy45MzQgMjMuNTMgMi4yODQgMCA1LjcyNC0uNjY1IDcuODA1LTEuMzNsLjM3Ni0uMTE1YTM3LjA4OCAzNy4wODggMCAwIDAgMTkuMjUxLTE1LjI2MyAxLjE1NiAxLjE1NiAwIDAgMC0xLjUzMi0xLjYxOVoiIG9wYWNpdHk9Ii4zNSIvPjxwYXRoIGZpbGw9InVybCgjZCkiIGQ9Ik0zMi41NTQgNzEuNzUxYTIyLjg5NCAyMi44OTQgMCAwIDEtNi41NjItNi4xNTcgMjMuMzI5IDIzLjMyOSAwIDAgMSA4LjUyNy0zNC42ODdjLjkyNS0uNDM0IDIuNDU4LTEuMTg2IDQuNTEtMS4xNTdhOS4zNjUgOS4zNjUgMCAwIDEgNy40MjkgMy43NTggOS4yMjIgOS4yMjIgMCAwIDEgMS44MiA1LjQwNmMwLS4wNTggNy4wODMtMjMuMDEtMjMuMTI0LTIzLjAxLTEyLjY5IDAtMjMuMTI1IDEyLjAyNS0yMy4xMjUgMjIuNjA1YTM3LjYzNiAzNy42MzYgMCAwIDAgMy40OTggMTYuMTg4IDM3IDM3IDAgMCAwIDQ1LjIwOSAxOS4zNjcgMjEuODI1IDIxLjgyNSAwIDAgMS0xOC4xNTMtMi4zMTNoLS4wM1oiLz48cGF0aCBmaWxsPSJ1cmwoI2UpIiBkPSJNMzIuNTU0IDcxLjc1MWEyMi44OTQgMjIuODk0IDAgMCAxLTYuNTYyLTYuMTU3IDIzLjMyOSAyMy4zMjkgMCAwIDEgOC41MjctMzQuNjg3Yy45MjUtLjQzNCAyLjQ1OC0xLjE4NiA0LjUxLTEuMTU3YTkuMzY1IDkuMzY1IDAgMCAxIDcuNDI5IDMuNzU4IDkuMjIyIDkuMjIyIDAgMCAxIDEuODIgNS40MDZjMC0uMDU4IDcuMDgzLTIzLjAxLTIzLjEyNC0yMy4wMS0xMi42OSAwLTIzLjEyNSAxMi4wMjUtMjMuMTI1IDIyLjYwNWEzNy42MzYgMzcuNjM2IDAgMCAwIDMuNDk4IDE2LjE4OCAzNyAzNyAwIDAgMCA0NS4yMDkgMTkuMzY3IDIxLjgyNSAyMS44MjUgMCAwIDEtMTguMTUzLTIuMzEzaC0uMDNaIiBvcGFjaXR5PSIuNDEiLz48cGF0aCBmaWxsPSJ1cmwoI2YpIiBkPSJNNDYuMDUzIDQ1LjAxM2MtLjI2LjI4OS0uOTgzLjcyMi0uOTgzIDEuNjE4IDAgLjc1Mi40OTIgMS41MDMgMS4zODggMi4xMSA0LjEzMyAyLjg5MSAxMS45NjcgMi40ODYgMTEuOTk2IDIuNDg2YTE3LjIyNyAxNy4yMjcgMCAwIDAgOC43NTktMi4zOTlBMTcuNzQ4IDE3Ljc0OCAwIDAgMCA3NiAzMy41MzdjLjA4Ny02LjQ3NS0yLjMxMy0xMC43ODItMy4yNjYtMTIuNjlDNjYuNTc3IDguODggNTMuMzY2IDIgMzkgMkEzNyAzNyAwIDAgMCAyIDM4LjQ4Yy4xNDUtMTAuNTUxIDEwLjYzNy0xOS4wNzggMjMuMTI1LTE5LjA3OCAxLjAxMiAwIDYuNzkzLjA4NiAxMi4xNCAyLjg5YTIwLjk4NiAyMC45ODYgMCAwIDEgOC45MzMgOC40N2MxLjc2MyAzLjA2NCAyLjA4IDYuOTY2IDIuMDggOC41MjcgMCAxLjU2MS0uNzggMy44NDUtMi4yNTQgNS43NTJsLjAzLS4wMjhaIi8+PHBhdGggZmlsbD0idXJsKCNnKSIgZD0iTTQ2LjA1MyA0NS4wMTNjLS4yNi4yODktLjk4My43MjItLjk4MyAxLjYxOCAwIC43NTIuNDkyIDEuNTAzIDEuMzg4IDIuMTEgNC4xMzMgMi44OTEgMTEuOTY3IDIuNDg2IDExLjk5NiAyLjQ4NmExNy4yMjcgMTcuMjI3IDAgMCAwIDguNzU5LTIuMzk5QTE3Ljc0OCAxNy43NDggMCAwIDAgNzYgMzMuNTM3Yy4wODctNi40NzUtMi4zMTMtMTAuNzgyLTMuMjY2LTEyLjY5QzY2LjU3NyA4Ljg4IDUzLjM2NiAyIDM5IDJBMzcgMzcgMCAwIDAgMiAzOC40OGMuMTQ1LTEwLjU1MSAxMC42MzctMTkuMDc4IDIzLjEyNS0xOS4wNzggMS4wMTIgMCA2Ljc5My4wODYgMTIuMTQgMi44OWEyMC45ODYgMjAuOTg2IDAgMCAxIDguOTMzIDguNDdjMS43NjMgMy4wNjQgMi4wOCA2Ljk2NiAyLjA4IDguNTI3IDAgMS41NjEtLjc4IDMuODQ1LTIuMjU0IDUuNzUybC4wMy0uMDI4WiIvPjwvZz48ZGVmcz48cmFkaWFsR3JhZGllbnQgaWQ9ImMiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgyNy41NzY2IDAgMCAyNi4xOTc3IDQ3LjQ0IDUzLjU1MykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii43IiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii45IiBzdG9wLW9wYWNpdHk9Ii41Ii8+PHN0b3Agb2Zmc2V0PSIxIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImUiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg2LjIwOTAyIC00MC45Nzk4IDMzLjEwNzU0IDUuMDE2MjcgMjIuMzk1IDU5LjUwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii44IiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii45IiBzdG9wLW9wYWNpdHk9Ii41Ii8+PHN0b3Agb2Zmc2V0PSIxIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImYiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMi4zNDAyNCA1OC41MDYyMSAtMTI0LjYwNjM2IC00Ljk4NDIzIDkuNDg0IDE1LjY3NykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjMzVDMUYxIi8+PHN0b3Agb2Zmc2V0PSIuMSIgc3RvcC1jb2xvcj0iIzM0QzFFRCIvPjxzdG9wIG9mZnNldD0iLjIiIHN0b3AtY29sb3I9IiMyRkMyREYiLz48c3RvcCBvZmZzZXQ9Ii4zIiBzdG9wLWNvbG9yPSIjMkJDM0QyIi8+PHN0b3Agb2Zmc2V0PSIuNyIgc3RvcC1jb2xvcj0iIzM2Qzc1MiIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJnIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoNzMuNzQgMTkuNDY3IDU5Ljc2Nykgc2NhbGUoMjguMTI1OCAyMi44NzE5KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM2NkVCNkUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM2NkVCNkUiIHN0b3Atb3BhY2l0eT0iMCIvPjwvcmFkaWFsR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMTguOTY4IiB4Mj0iNzAuNTM3IiB5MT0iNTMuMTY0IiB5Mj0iNTMuMTY0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzBDNTlBNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzExNEE4QiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJkIiB4MT0iNDYuMTQiIHgyPSIxMy45NjciIHkxPSIzMC43OTEiIHkyPSI2NS44NTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjMUI5REUyIi8+PHN0b3Agb2Zmc2V0PSIuMiIgc3RvcC1jb2xvcj0iIzE1OTVERiIvPjxzdG9wIG9mZnNldD0iLjciIHN0b3AtY29sb3I9IiMwNjgwRDciLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDc4RDQiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg3NHY3NEgweiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0VkZ2UtSzJKRUdJNVMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFHckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9FZGdlLUsySkVHSTVTLmpzPzIzYWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9FZGdlLnN2Z1xudmFyIEVkZ2VfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdacGJHdzlJbTV2Ym1VaUlIWnBaWGRDYjNnOUlqQWdNQ0EzT0NBM09DSStQR2NnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMkVwSWo0OGNHRjBhQ0JtYVd4c1BTSjFjbXdvSTJJcElpQmtQU0pOTmpndU9EQXlJRFUzTGpBMk5tTXRMams1TWk0MU1UWXRNaTR3TVRZdU9UY3RNeTR3TmpRZ01TNHpOVGxoTWprdU5EVTJJREk1TGpRMU5pQXdJREFnTVMweE1DNHpOemNnTVM0NE5XTXRNVE11TmpjeklEQXRNalV1TlRneUxUa3VNemsxTFRJMUxqVTRNaTB5TVM0ME56ZGhPUzR4TURZZ09TNHhNRFlnTUNBd0lERWdOQzQzTkMwM0xqZzVNbU10TVRJdU16Y3hMalV5TFRFMUxqVTFNU0F4TXk0ME1UTXRNVFV1TlRVeElESXdMamsxTnlBd0lESXhMak01SURFNUxqWTROU0F5TXk0MU15QXlNeTQ1TXpRZ01qTXVOVE1nTWk0eU9EUWdNQ0ExTGpjeU5DMHVOalkxSURjdU9EQTFMVEV1TXpOc0xqTTNOaTB1TVRFMVlUTTNMakE0T0NBek55NHdPRGdnTUNBd0lEQWdNVGt1TWpVeExURTFMakkyTXlBeExqRTFOaUF4TGpFMU5pQXdJREFnTUMweExqVXpNaTB4TGpZeE9Wb2lMejQ4Y0dGMGFDQm1hV3hzUFNKMWNtd29JMk1wSWlCa1BTSk5Oamd1T0RBeUlEVTNMakEyTm1NdExqazVNaTQxTVRZdE1pNHdNVFl1T1RjdE15NHdOalFnTVM0ek5UbGhNamt1TkRVMklESTVMalExTmlBd0lEQWdNUzB4TUM0ek56Y2dNUzQ0TldNdE1UTXVOamN6SURBdE1qVXVOVGd5TFRrdU16azFMVEkxTGpVNE1pMHlNUzQwTnpkaE9TNHhNRFlnT1M0eE1EWWdNQ0F3SURFZ05DNDNOQzAzTGpnNU1tTXRNVEl1TXpjeExqVXlMVEUxTGpVMU1TQXhNeTQwTVRNdE1UVXVOVFV4SURJd0xqazFOeUF3SURJeExqTTVJREU1TGpZNE5TQXlNeTQxTXlBeU15NDVNelFnTWpNdU5UTWdNaTR5T0RRZ01DQTFMamN5TkMwdU5qWTFJRGN1T0RBMUxURXVNek5zTGpNM05pMHVNVEUxWVRNM0xqQTRPQ0F6Tnk0d09EZ2dNQ0F3SURBZ01Ua3VNalV4TFRFMUxqSTJNeUF4TGpFMU5pQXhMakUxTmlBd0lEQWdNQzB4TGpVek1pMHhMall4T1ZvaUlHOXdZV05wZEhrOUlpNHpOU0l2UGp4d1lYUm9JR1pwYkd3OUluVnliQ2dqWkNraUlHUTlJazB6TWk0MU5UUWdOekV1TnpVeFlUSXlMamc1TkNBeU1pNDRPVFFnTUNBd0lERXROaTQxTmpJdE5pNHhOVGNnTWpNdU16STVJREl6TGpNeU9TQXdJREFnTVNBNExqVXlOeTB6TkM0Mk9EZGpMamt5TlMwdU5ETTBJREl1TkRVNExURXVNVGcySURRdU5URXRNUzR4TlRkaE9TNHpOalVnT1M0ek5qVWdNQ0F3SURFZ055NDBNamtnTXk0M05UZ2dPUzR5TWpJZ09TNHlNaklnTUNBd0lERWdNUzQ0TWlBMUxqUXdObU13TFM0d05UZ2dOeTR3T0RNdE1qTXVNREV0TWpNdU1USTBMVEl6TGpBeExURXlMalk1SURBdE1qTXVNVEkxSURFeUxqQXlOUzB5TXk0eE1qVWdNakl1TmpBMVlUTTNMall6TmlBek55NDJNellnTUNBd0lEQWdNeTQwT1RnZ01UWXVNVGc0SURNM0lETTNJREFnTUNBd0lEUTFMakl3T1NBeE9TNHpOamNnTWpFdU9ESTFJREl4TGpneU5TQXdJREFnTVMweE9DNHhOVE10TWk0ek1UTm9MUzR3TTFvaUx6NDhjR0YwYUNCbWFXeHNQU0oxY213b0kyVXBJaUJrUFNKTk16SXVOVFUwSURjeExqYzFNV0V5TWk0NE9UUWdNakl1T0RrMElEQWdNQ0F4TFRZdU5UWXlMVFl1TVRVM0lESXpMak15T1NBeU15NHpNamtnTUNBd0lERWdPQzQxTWpjdE16UXVOamczWXk0NU1qVXRMalF6TkNBeUxqUTFPQzB4TGpFNE5pQTBMalV4TFRFdU1UVTNZVGt1TXpZMUlEa3VNelkxSURBZ01DQXhJRGN1TkRJNUlETXVOelU0SURrdU1qSXlJRGt1TWpJeUlEQWdNQ0F4SURFdU9ESWdOUzQwTURaak1DMHVNRFU0SURjdU1EZ3pMVEl6TGpBeExUSXpMakV5TkMweU15NHdNUzB4TWk0Mk9TQXdMVEl6TGpFeU5TQXhNaTR3TWpVdE1qTXVNVEkxSURJeUxqWXdOV0V6Tnk0Mk16WWdNemN1TmpNMklEQWdNQ0F3SURNdU5EazRJREUyTGpFNE9DQXpOeUF6TnlBd0lEQWdNQ0EwTlM0eU1Ea2dNVGt1TXpZM0lESXhMamd5TlNBeU1TNDRNalVnTUNBd0lERXRNVGd1TVRVekxUSXVNekV6YUMwdU1ETmFJaUJ2Y0dGamFYUjVQU0l1TkRFaUx6NDhjR0YwYUNCbWFXeHNQU0oxY213b0kyWXBJaUJrUFNKTk5EWXVNRFV6SURRMUxqQXhNMk10TGpJMkxqSTRPUzB1T1RnekxqY3lNaTB1T1RneklERXVOakU0SURBZ0xqYzFNaTQwT1RJZ01TNDFNRE1nTVM0ek9EZ2dNaTR4TVNBMExqRXpNeUF5TGpnNU1TQXhNUzQ1TmpjZ01pNDBPRFlnTVRFdU9UazJJREl1TkRnMllURTNMakl5TnlBeE55NHlNamNnTUNBd0lEQWdPQzQzTlRrdE1pNHpPVGxCTVRjdU56UTRJREUzTGpjME9DQXdJREFnTUNBM05pQXpNeTQxTXpkakxqQTROeTAyTGpRM05TMHlMak14TXkweE1DNDNPREl0TXk0eU5qWXRNVEl1TmpsRE5qWXVOVGMzSURndU9EZ2dOVE11TXpZMklESWdNemtnTWtFek55QXpOeUF3SURBZ01DQXlJRE00TGpRNFl5NHhORFV0TVRBdU5UVXhJREV3TGpZek55MHhPUzR3TnpnZ01qTXVNVEkxTFRFNUxqQTNPQ0F4TGpBeE1pQXdJRFl1TnprekxqQTROaUF4TWk0eE5DQXlMamc1WVRJd0xqazROaUF5TUM0NU9EWWdNQ0F3SURFZ09DNDVNek1nT0M0ME4yTXhMamMyTXlBekxqQTJOQ0F5TGpBNElEWXVPVFkySURJdU1EZ2dPQzQxTWpjZ01DQXhMalUyTVMwdU56Z2dNeTQ0TkRVdE1pNHlOVFFnTlM0M05USnNMakF6TFM0d01qaGFJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05uS1NJZ1pEMGlUVFEyTGpBMU15QTBOUzR3TVROakxTNHlOaTR5T0RrdExqazRNeTQzTWpJdExqazRNeUF4TGpZeE9DQXdJQzQzTlRJdU5Ea3lJREV1TlRBeklERXVNemc0SURJdU1URWdOQzR4TXpNZ01pNDRPVEVnTVRFdU9UWTNJREl1TkRnMklERXhMams1TmlBeUxqUTRObUV4Tnk0eU1qY2dNVGN1TWpJM0lEQWdNQ0F3SURndU56VTVMVEl1TXprNVFURTNMamMwT0NBeE55NDNORGdnTUNBd0lEQWdOellnTXpNdU5UTTNZeTR3T0RjdE5pNDBOelV0TWk0ek1UTXRNVEF1TnpneUxUTXVNalkyTFRFeUxqWTVRelkyTGpVM055QTRMamc0SURVekxqTTJOaUF5SURNNUlESkJNemNnTXpjZ01DQXdJREFnTWlBek9DNDBPR011TVRRMUxURXdMalUxTVNBeE1DNDJNemN0TVRrdU1EYzRJREl6TGpFeU5TMHhPUzR3TnpnZ01TNHdNVElnTUNBMkxqYzVNeTR3T0RZZ01USXVNVFFnTWk0NE9XRXlNQzQ1T0RZZ01qQXVPVGcySURBZ01DQXhJRGd1T1RNeklEZ3VORGRqTVM0M05qTWdNeTR3TmpRZ01pNHdPQ0EyTGprMk5pQXlMakE0SURndU5USTNJREFnTVM0MU5qRXRMamM0SURNdU9EUTFMVEl1TWpVMElEVXVOelV5YkM0d015MHVNREk0V2lJdlBqd3ZaejQ4WkdWbWN6NDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbU1pSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNneU55NDFOelkySURBZ01DQXlOaTR4T1RjM0lEUTNMalEwSURVekxqVTFNeWtpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElqNDhjM1J2Y0NCdlptWnpaWFE5SWk0M0lpQnpkRzl3TFc5d1lXTnBkSGs5SWpBaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0NUlpQnpkRzl3TFc5d1lXTnBkSGs5SWk0MUlpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpOCtQQzl5WVdScFlXeEhjbUZrYVdWdWRENDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbVVpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNnMkxqSXdPVEF5SUMwME1DNDVOems0SURNekxqRXdOelUwSURVdU1ERTJNamNnTWpJdU16azFJRFU1TGpVd05pa2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J2Wm1aelpYUTlJaTQ0SWlCemRHOXdMVzl3WVdOcGRIazlJakFpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTQ1SWlCemRHOXdMVzl3WVdOcGRIazlJaTQxSWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWk4K1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0OGNtRmthV0ZzUjNKaFpHbGxiblFnYVdROUltWWlJR040UFNJd0lpQmplVDBpTUNJZ2NqMGlNU0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d0TWk0ek5EQXlOQ0ExT0M0MU1EWXlNU0F0TVRJMExqWXdOak0ySUMwMExqazROREl6SURrdU5EZzBJREUxTGpZM055a2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak16VkRNVVl4SWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TVNJZ2MzUnZjQzFqYjJ4dmNqMGlJek0wUXpGRlJDSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqSWlJSE4wYjNBdFkyOXNiM0k5SWlNeVJrTXlSRVlpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTR6SWlCemRHOXdMV052Ykc5eVBTSWpNa0pETTBReUlpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU55SWdjM1J2Y0MxamIyeHZjajBpSXpNMlF6YzFNaUl2UGp3dmNtRmthV0ZzUjNKaFpHbGxiblErUEhKaFpHbGhiRWR5WVdScFpXNTBJR2xrUFNKbklpQmplRDBpTUNJZ1kzazlJakFpSUhJOUlqRWlJR2R5WVdScFpXNTBWSEpoYm5ObWIzSnRQU0p5YjNSaGRHVW9Oek11TnpRZ01Ua3VORFkzSURVNUxqYzJOeWtnYzJOaGJHVW9Namd1TVRJMU9DQXlNaTQ0TnpFNUtTSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNMk5rVkNOa1VpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTTJOa1ZDTmtVaUlITjBiM0F0YjNCaFkybDBlVDBpTUNJdlBqd3ZjbUZrYVdGc1IzSmhaR2xsYm5RK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSmlJaUI0TVQwaU1UZ3VPVFk0SWlCNE1qMGlOekF1TlRNM0lpQjVNVDBpTlRNdU1UWTBJaUI1TWowaU5UTXVNVFkwSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekJETlRsQk5DSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSXpFeE5FRTRRaUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKa0lpQjRNVDBpTkRZdU1UUWlJSGd5UFNJeE15NDVOamNpSUhreFBTSXpNQzQzT1RFaUlIa3lQU0kyTlM0NE5UUWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak1VSTVSRVV5SWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TWlJZ2MzUnZjQzFqYjJ4dmNqMGlJekUxT1RWRVJpSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqY2lJSE4wYjNBdFkyOXNiM0k5SWlNd05qZ3dSRGNpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTXdNRGM0UkRRaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeGpiR2x3VUdGMGFDQnBaRDBpWVNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEFnTUdnM05IWTNORWd3ZWlJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NaUF5S1NJdlBqd3ZZMnhwY0ZCaGRHZytQQzlrWldaelBqd3ZjM1puUGc9PVwiO1xuZXhwb3J0IHtcbiAgRWRnZV9kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Edge-K2JEGI5S.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js.js deleted file mode 100644 index f524814..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Firefox-NP5SYEK5.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Firefox-NP5SYEK5.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Firefox_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Firefox.svg\nvar Firefox_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA3OCA3OCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNNzIuMDQ5IDI2LjgyN2MtMS41NTktMy43NS00LjcyLTcuNzk4LTcuMTk1LTkuMDc4YTM3LjI2NCAzNy4yNjQgMCAwIDEgMy42MzIgMTAuODgzbC4wMDcuMDZjLTQuMDU1LTEwLjEwNS0xMC45MjktMTQuMTg2LTE2LjU0Ni0yMy4wNmE0My4zOSA0My4zOSAwIDAgMS0uODQ1LTEuMzczIDExLjMzNyAxMS4zMzcgMCAwIDEtLjM5NS0uNzQgNi41MjUgNi41MjUgMCAwIDEtLjUzNS0xLjQyLjA5Mi4wOTIgMCAwIDAtLjA4LS4wOTMuMTI4LjEyOCAwIDAgMC0uMDY5IDBjLS4wMDQgMC0uMDEyLjAwOC0uMDE3LjAxLS4wMDYuMDAyLS4wMTguMDEtLjAyNi4wMTRsLjAxNC0uMDI0QzQwLjk4NiA3LjI4IDM3LjkyNyAxNy4wNDIgMzcuNjUgMjEuOTI4YTE3Ljk0NCAxNy45NDQgMCAwIDAtOS44NzQgMy44MDRjLS4yOTUtLjI1LS42MDQtLjQ4NC0uOTI1LS43MDFhMTYuNjI5IDE2LjYyOSAwIDAgMS0uMS04Ljc2NiAyNi41NTggMjYuNTU4IDAgMCAwLTguNjM0IDYuNjcyaC0uMDE2Yy0xLjQyMS0xLjgwMi0xLjMyMi03Ljc0My0xLjI0LTguOTgzYTYuNDQgNi40NCAwIDAgMC0xLjE5Ny42MzUgMjYuMTE5IDI2LjExOSAwIDAgMC0zLjUwNiAzLjAwMyAzMS4zMTIgMzEuMzEyIDAgMCAwLTMuMzUyIDQuMDIzdi4wMDUtLjAwNmEzMC4yODcgMzAuMjg3IDAgMCAwLTQuODEyIDEwLjg2M2wtLjA0OC4yMzdhNTcuMDU4IDU3LjA1OCAwIDAgMC0uMzUzIDIuMjRjMCAuMDI2LS4wMDUuMDUxLS4wMDguMDc4YTM0LjE4MyAzNC4xODMgMCAwIDAtLjU4MiA0Ljk0NHYuMTg1YTM1Ljg2NyAzNS44NjcgMCAwIDAgNzEuMjA1IDYuMDY1Yy4wNi0uNDYzLjExLS45Mi4xNjMtMS4zODhhMzYuODgzIDM2Ljg4MyAwIDAgMC0yLjMyNi0xOC4wMTdsLjAwNC4wMDZaTTMwLjcxMyA1NC45MDJjLjE2OC4wOC4zMjUuMTY3LjQ5Ny4yNDRsLjAyNS4wMTZjLS4xNzQtLjA4My0uMzQ4LS4xNy0uNTIyLS4yNlptMzcuNzgtMjYuMnYtLjAzNGwuMDA3LjAzOC0uMDA3LS4wMDRaIi8+PHBhdGggZmlsbD0idXJsKCNjKSIgZD0iTTcyLjA1IDI2LjgyOGMtMS41NTgtMy43NS00LjcyLTcuNzk4LTcuMTk1LTkuMDc4YTM3LjI2MSAzNy4yNjEgMCAwIDEgMy42MzIgMTAuODgydi4wMzRsLjAwNy4wMzhhMzIuNDggMzIuNDggMCAwIDEtMS4xMTYgMjQuMjA3Yy00LjExIDguODItMTQuMDU2IDE3Ljg2LTI5LjYzIDE3LjQxNUMyMC45MjYgNjkuODUgNi4xMDEgNTcuMzYyIDMuMzM1IDQxLjAxMWMtLjUwNS0yLjU3OSAwLTMuODg2LjI1My01Ljk4MmEyNi43MjMgMjYuNzIzIDAgMCAwLS41NzYgNC45NDl2LjE4NWEzNS44NjcgMzUuODY3IDAgMCAwIDcxLjIwNSA2LjA2NWMuMDYtLjQ2My4xMS0uOTIxLjE2My0xLjM4OWEzNi44ODQgMzYuODg0IDAgMCAwLTIuMzI2LTE4LjAxNmwtLjAwNC4wMDVaIi8+PHBhdGggZmlsbD0idXJsKCNkKSIgZD0iTTcyLjA1IDI2LjgyOGMtMS41NTgtMy43NS00LjcyLTcuNzk4LTcuMTk1LTkuMDc4YTM3LjI2MSAzNy4yNjEgMCAwIDEgMy42MzIgMTAuODgydi4wMzRsLjAwNy4wMzhhMzIuNDggMzIuNDggMCAwIDEtMS4xMTYgMjQuMjA3Yy00LjExIDguODItMTQuMDU2IDE3Ljg2LTI5LjYzIDE3LjQxNUMyMC45MjYgNjkuODUgNi4xMDEgNTcuMzYyIDMuMzM1IDQxLjAxMWMtLjUwNS0yLjU3OSAwLTMuODg2LjI1My01Ljk4MmEyNi43MjMgMjYuNzIzIDAgMCAwLS41NzYgNC45NDl2LjE4NWEzNS44NjcgMzUuODY3IDAgMCAwIDcxLjIwNSA2LjA2NWMuMDYtLjQ2My4xMS0uOTIxLjE2My0xLjM4OWEzNi44ODQgMzYuODg0IDAgMCAwLTIuMzI2LTE4LjAxNmwtLjAwNC4wMDVaIi8+PHBhdGggZmlsbD0idXJsKCNlKSIgZD0iTTU0LjYxNSAzMS4wMzdjLjA3OC4wNTUuMTUuMTEuMjIzLjE2NGExOS41MjUgMTkuNTI1IDAgMCAwLTMuMzMtNC4zNDRjLTExLjE1MS0xMS4xNS0yLjkyMi0yNC4xNy0xLjUzNS0yNC44MzdsLjAxNC0uMDJDNDAuOTc4IDcuMjc0IDM3LjkyIDE3LjAzNyAzNy42NDMgMjEuOTIzYy40MTgtLjAyOS44MzItLjA2NCAxLjI2LS4wNjRhMTguMSAxOC4xIDAgMCAxIDE1LjcxMiA5LjE3NnYuMDAyWiIvPjxwYXRoIGZpbGw9InVybCgjZikiIGQ9Ik0zOC45MjMgMzMuMjY4Yy0uMDYuODkyLTMuMjExIDMuOTY5LTQuMzEzIDMuOTY5LTEwLjE5OCAwLTExLjg1NCA2LjE2OS0xMS44NTQgNi4xNjkuNDUxIDUuMTk1IDQuMDcxIDkuNDc2IDguNDQ3IDExLjczMy4yLjEwNC40MDMuMTk3LjYwNS4yOS4zNTIuMTU0LjcwMy4yOTggMS4wNTQuNDNhMTUuOTEgMTUuOTEgMCAwIDAgNC42NjYuOWMxNy44NzguODM5IDIxLjMzOS0yMS4zNzUgOC40MzgtMjcuODI1YTEyLjM4MSAxMi4zODEgMCAwIDEgOC42NDggMi4xQTE4LjEgMTguMSAwIDAgMCAzOC45IDIxLjg1N2MtLjQyNSAwLS44NDIuMDM2LTEuMjYuMDY0YTE3Ljk0MyAxNy45NDMgMCAwIDAtOS44NzMgMy44MDRjLjU0Ni40NjMgMS4xNjQgMS4wODEgMi40NjQgMi4zNjMgMi40MzMgMi4zOTcgOC42NzUgNC44ODEgOC42ODkgNS4xNzJsLjAwMi4wMDhaIi8+PHBhdGggZmlsbD0idXJsKCNnKSIgZD0iTTM4LjkyMyAzMy4yNjhjLS4wNi44OTItMy4yMTEgMy45NjktNC4zMTMgMy45NjktMTAuMTk4IDAtMTEuODU0IDYuMTY5LTExLjg1NCA2LjE2OS40NTEgNS4xOTUgNC4wNzEgOS40NzYgOC40NDcgMTEuNzMzLjIuMTA0LjQwMy4xOTcuNjA1LjI5LjM1Mi4xNTQuNzAzLjI5OCAxLjA1NC40M2ExNS45MSAxNS45MSAwIDAgMCA0LjY2Ni45YzE3Ljg3OC44MzkgMjEuMzM5LTIxLjM3NSA4LjQzOC0yNy44MjVhMTIuMzgxIDEyLjM4MSAwIDAgMSA4LjY0OCAyLjFBMTguMSAxOC4xIDAgMCAwIDM4LjkgMjEuODU3Yy0uNDI1IDAtLjg0Mi4wMzYtMS4yNi4wNjRhMTcuOTQzIDE3Ljk0MyAwIDAgMC05Ljg3MyAzLjgwNGMuNTQ2LjQ2MyAxLjE2NCAxLjA4MSAyLjQ2NCAyLjM2MyAyLjQzMyAyLjM5NyA4LjY3NSA0Ljg4MSA4LjY4OSA1LjE3MmwuMDAyLjAwOFoiLz48cGF0aCBmaWxsPSJ1cmwoI2gpIiBkPSJNMjYuMDk3IDI0LjU0MmMuMjkuMTg1LjUzLjM0Ni43NC40OTFhMTYuNjI4IDE2LjYyOCAwIDAgMS0uMS04Ljc2NSAyNi41NTcgMjYuNTU3IDAgMCAwLTguNjMzIDYuNjcxYy4xNzQtLjAwNCA1LjM3Ny0uMDk4IDcuOTkzIDEuNjAzWiIvPjxwYXRoIGZpbGw9InVybCgjaSkiIGQ9Ik0zLjMyNyA0MS4wMTNjMi43NjggMTYuMzUgMTcuNTkgMjguODQzIDM0LjQxNCAyOS4zMTUgMTUuNTczLjQ0IDI1LjUyLTguNiAyOS42My0xNy40MTVhMzIuNDggMzIuNDggMCAwIDAgMS4xMTUtMjQuMjA3di0uMDM0YzAtLjAyNy0uMDA1LS4wNDMgMC0uMDM1bC4wMDcuMDZjMS4yNzIgOC4zMDctMi45NTMgMTYuMzUxLTkuNTYgMjEuODAybC0uMDIuMDQ2Yy0xMi44NzEgMTAuNDg0LTI1LjE4OCA2LjMyNC0yNy42NzcgNC42MjctLjE3NC0uMDg0LS4zNDgtLjE3LS41MjItLjI2LTcuNTAzLTMuNTg3LTEwLjYwNC0xMC40Mi05LjkzOC0xNi4yODZhOS4yMSA5LjIxIDAgMCAxLTguNDk1LTUuMzQ0IDEzLjUyOCAxMy41MjggMCAwIDEgMTMuMTg2LS41MyAxNy44NiAxNy44NiAwIDAgMCAxMy40NjQuNTNjLS4wMTQtLjI5Mi02LjI1Ni0yLjc3Ni04LjY5LTUuMTczLTEuMy0xLjI4Mi0xLjkxNy0xLjg5OS0yLjQ2NC0yLjM2My0uMjk1LS4yNS0uNjA0LS40ODQtLjkyNS0uNy0uMjEzLS4xNDYtLjQ1My0uMzAzLS43NC0uNDkyLTIuNjE2LTEuNzAxLTcuODE4LTEuNjA4LTcuOTktMS42MDNoLS4wMTdjLTEuNDIyLTEuODAyLTEuMzIyLTcuNzQyLTEuMjQtOC45ODMtLjQyLjE2OS0uODIyLjM4Mi0xLjE5OC42MzZhMjYuMTA1IDI2LjEwNSAwIDAgMC0zLjUwNSAzLjAwMiAzMS4zMTUgMzEuMzE1IDAgMCAwLTMuMzY2IDQuMDEzdi4wMDYtLjAwNmEzMC4yODcgMzAuMjg3IDAgMCAwLTQuODEyIDEwLjg2M2MtLjAxOC4wNzMtMS4yOTIgNS42NDQtLjY2NCA4LjUzM2wuMDA3LS4wMDJaIi8+PHBhdGggZmlsbD0idXJsKCNqKSIgZD0iTTUxLjUwNyAyNi44NTVhMTkuNTI3IDE5LjUyNyAwIDAgMSAzLjMzIDQuMzQ5Yy4xOTguMTQ5LjM4Mi4yOTcuNTM4LjQ0IDguMTMyIDcuNDk2IDMuODcxIDE4LjA5IDMuNTU0IDE4Ljg0IDYuNjA1LTUuNDQyIDEwLjgyNi0xMy40OTEgOS41NTktMjEuOEM2NC40MyAxOC41NjggNTcuNTUgMTQuNDg3IDUxLjk0MiA1LjYxM2E0My40MDEgNDMuNDAxIDAgMCAxLS44NDQtMS4zNzMgMTEuMjkgMTEuMjkgMCAwIDEtLjM5Ni0uNzQgNi41MjUgNi41MjUgMCAwIDEtLjUzNC0xLjQyLjA5My4wOTMgMCAwIDAtLjA4Mi0uMDkzLjEyNy4xMjcgMCAwIDAtLjA2NyAwYy0uMDA1IDAtLjAxMi4wMDgtLjAxOC4wMWwtLjAyNi4wMTRjLTEuMzg3LjY1OC05LjYxNCAxMy42ODYgMS41MzYgMjQuODI3bC0uMDA0LjAxNloiLz48cGF0aCBmaWxsPSJ1cmwoI2spIiBkPSJNNTUuMzc1IDMxLjY1YTcuNDk1IDcuNDk1IDAgMCAwLS41MzgtLjQ0MWMtLjA3My0uMDU1LS4xNDUtLjExLS4yMjMtLjE2NGExMi4zODIgMTIuMzgyIDAgMCAwLTguNjQ3LTIuMWMxMi45IDYuNDUgOS40MzkgMjguNjU4LTguNDM4IDI3LjgyNWExNS45NSAxNS45NSAwIDAgMS00LjY2Ny0uOSAxOC44ODUgMTguODg1IDAgMCAxLTEuMDUzLS40MzEgMTMuMjQ4IDEzLjI0OCAwIDAgMS0uNjA1LS4yODlsLjAyNS4wMTZjMi40OTMgMS43MDIgMTQuODA2IDUuODYgMjcuNjc3LTQuNjI3bC4wMi0uMDQ2Yy4zMjItLjc1IDQuNTgyLTExLjM0NS0zLjU1My0xOC44NGwuMDAyLS4wMDRaIi8+PHBhdGggZmlsbD0idXJsKCNsKSIgZD0iTTIyLjc1NiA0My40czEuNjU1LTYuMTcgMTEuODUzLTYuMTdjMS4xMDIgMCA0LjI1Ny0zLjA3NiA0LjMxMy0zLjk2OGExNy44NiAxNy44NiAwIDAgMS0xMy40NjMtLjUzIDEzLjUyOSAxMy41MjkgMCAwIDAtMTMuMTg2LjUzIDkuMjEgOS4yMSAwIDAgMCA4LjQ5NSA1LjM0NGMtLjY2NCA1Ljg2NCAyLjQzNiAxMi42OTYgOS45MzggMTYuMjg2LjE2OC4wOC4zMjUuMTY3LjQ5Ny4yNDQtNC4zOC0yLjI2Mi03Ljk5Ni02LjU0MS04LjQ0Ny0xMS43MzNWNDMuNFoiLz48cGF0aCBmaWxsPSJ1cmwoI20pIiBkPSJNNzIuMDQ5IDI2LjgyN2MtMS41NTktMy43NS00LjcyLTcuNzk4LTcuMTk1LTkuMDc4YTM3LjI2MSAzNy4yNjEgMCAwIDEgMy42MzIgMTAuODgzbC4wMDcuMDZjLTQuMDU1LTEwLjEwNS0xMC45MjktMTQuMTg2LTE2LjU0Ni0yMy4wNmE0My4zOSA0My4zOSAwIDAgMS0uODQ0LTEuMzczIDExLjMzNyAxMS4zMzcgMCAwIDEtLjM5Ni0uNzQgNi41MjUgNi41MjUgMCAwIDEtLjUzNC0xLjQyLjA5Mi4wOTIgMCAwIDAtLjA4Mi0uMDkzLjEyOC4xMjggMCAwIDAtLjA2NyAwYy0uMDA1IDAtLjAxMi4wMDgtLjAxOC4wMWwtLjAyNi4wMTQuMDE0LS4wMjRDNDAuOTg2IDcuMjggMzcuOTI4IDE3LjA0MiAzNy42NSAyMS45MjhjLjQxOC0uMDI4LjgzMy0uMDY0IDEuMjYtLjA2NGExOC4xIDE4LjEgMCAwIDEgMTUuNzEzIDkuMTc3IDEyLjM4IDEyLjM4IDAgMCAwLTguNjQ4LTIuMWMxMi45IDYuNDUgOS40MzkgMjguNjU4LTguNDM4IDI3LjgyNmExNS45NTIgMTUuOTUyIDAgMCAxLTQuNjY2LS45IDE4LjkzMyAxOC45MzMgMCAwIDEtMS4wNTQtLjQzMmMtLjIwMi0uMDkzLS40MDUtLjE4NS0uNjA1LS4yODlsLjAyNS4wMTZhMTkuMDQgMTkuMDQgMCAwIDEtLjUyMi0uMjZjLjE2OC4wOC4zMjUuMTY3LjQ5Ny4yNDQtNC4zOC0yLjI2My03Ljk5Ni02LjU0Mi04LjQ0Ny0xMS43MzMgMCAwIDEuNjU1LTYuMTcgMTEuODUzLTYuMTcgMS4xMDIgMCA0LjI1Ny0zLjA3NiA0LjMxMy0zLjk2OC0uMDEzLS4yOTItNi4yNTUtMi43NzYtOC42ODgtNS4xNzMtMS4zLTEuMjgxLTEuOTE4LTEuODk5LTIuNDY1LTIuMzYyLS4yOTUtLjI1LS42MDQtLjQ4NS0uOTI1LS43MDJhMTYuNjI4IDE2LjYyOCAwIDAgMS0uMS04Ljc2NSAyNi41NTcgMjYuNTU3IDAgMCAwLTguNjM0IDYuNjcxaC0uMDE2Yy0xLjQyMi0xLjgwMS0xLjMyMi03Ljc0Mi0xLjI0LTguOTgzLS40Mi4xNjktLjgyMi4zODItMS4xOTcuNjM2YTI2LjExMiAyNi4xMTIgMCAwIDAtMy41MDYgMy4wMDIgMzEuMzA0IDMxLjMwNCAwIDAgMC0zLjM1MiA0LjAyM3YuMDA2LS4wMDdhMzAuMjg3IDMwLjI4NyAwIDAgMC00LjgxMiAxMC44NjRsLS4wNDguMjM2Yy0uMDY4LjMxNi0uMzcgMS45MTktLjQxNCAyLjI2M2E0MS43MjQgNDEuNzI0IDAgMCAwLS41MyA1di4xODVhMzUuODY2IDM1Ljg2NiAwIDAgMCA3MS4yMDYgNi4wNjRjLjA2LS40NjIuMTEtLjkyLjE2My0xLjM4OGEzNi44ODUgMzYuODg1IDAgMCAwLTIuMzI2LTE4LjAxNmwuMDAyLS4wMDJabS0zLjU1OCAxLjg0Mi4wMDYuMDM4LS4wMDYtLjAzOFoiLz48L2c+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJjIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjQuOTk5IDEwLjMyOSkgc2NhbGUoNzQuNzY4KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjEyOSIgc3RvcC1jb2xvcj0iI0ZGQkQ0RiIvPjxzdG9wIG9mZnNldD0iLjE4NiIgc3RvcC1jb2xvcj0iI0ZGQUMzMSIvPjxzdG9wIG9mZnNldD0iLjI0NyIgc3RvcC1jb2xvcj0iI0ZGOUQxNyIvPjxzdG9wIG9mZnNldD0iLjI4MyIgc3RvcC1jb2xvcj0iI0ZGOTgwRSIvPjxzdG9wIG9mZnNldD0iLjQwMyIgc3RvcC1jb2xvcj0iI0ZGNTYzQiIvPjxzdG9wIG9mZnNldD0iLjQ2NyIgc3RvcC1jb2xvcj0iI0ZGMzc1MCIvPjxzdG9wIG9mZnNldD0iLjcxIiBzdG9wLWNvbG9yPSIjRjUxNTZDIi8+PHN0b3Agb2Zmc2V0PSIuNzgyIiBzdG9wLWNvbG9yPSIjRUIwODc4Ii8+PHN0b3Agb2Zmc2V0PSIuODYiIHN0b3AtY29sb3I9IiNFNTAwODAiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iZCIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDM3LjIzOSA0MC44NjUpIHNjYWxlKDc0Ljc2OCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4zIiBzdG9wLWNvbG9yPSIjOTYwRTE4Ii8+PHN0b3Agb2Zmc2V0PSIuMzUxIiBzdG9wLWNvbG9yPSIjQjExOTI3IiBzdG9wLW9wYWNpdHk9Ii43NCIvPjxzdG9wIG9mZnNldD0iLjQzNSIgc3RvcC1jb2xvcj0iI0RCMjkzRCIgc3RvcC1vcGFjaXR5PSIuMzQzIi8+PHN0b3Agb2Zmc2V0PSIuNDk3IiBzdG9wLWNvbG9yPSIjRjUzMzRCIiBzdG9wLW9wYWNpdHk9Ii4wOTQiLz48c3RvcCBvZmZzZXQ9Ii41MyIgc3RvcC1jb2xvcj0iI0ZGMzc1MCIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImUiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg0Ni40OSAtNi4zMjgpIHNjYWxlKDU0LjE2MDYpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTMyIiBzdG9wLWNvbG9yPSIjRkZGNDRGIi8+PHN0b3Agb2Zmc2V0PSIuMjUyIiBzdG9wLWNvbG9yPSIjRkZEQzNFIi8+PHN0b3Agb2Zmc2V0PSIuNTA2IiBzdG9wLWNvbG9yPSIjRkY5RDEyIi8+PHN0b3Agb2Zmc2V0PSIuNTI2IiBzdG9wLWNvbG9yPSIjRkY5ODBFIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImYiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgyOC45MSA2MC4yOTcpIHNjYWxlKDM1LjU5ODEpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMzUzIiBzdG9wLWNvbG9yPSIjM0E4RUU2Ii8+PHN0b3Agb2Zmc2V0PSIuNDcyIiBzdG9wLWNvbG9yPSIjNUM3OUYwIi8+PHN0b3Agb2Zmc2V0PSIuNjY5IiBzdG9wLWNvbG9yPSIjOTA1OUZGIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQzEzOUU2Ii8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxOC4zNDg1MiAtNC40MzYyNiA1LjE5Mzc0IDIxLjQ4MTQ1IDQwLjg1NiAzNC40NDgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMjA2IiBzdG9wLWNvbG9yPSIjOTA1OUZGIiBzdG9wLW9wYWNpdHk9IjAiLz48c3RvcCBvZmZzZXQ9Ii4yNzgiIHN0b3AtY29sb3I9IiM4QzRGRjMiIHN0b3Atb3BhY2l0eT0iLjA2NCIvPjxzdG9wIG9mZnNldD0iLjc0NyIgc3RvcC1jb2xvcj0iIzc3MTZBOCIgc3RvcC1vcGFjaXR5PSIuNDUiLz48c3RvcCBvZmZzZXQ9Ii45NzUiIHN0b3AtY29sb3I9IiM2RTAwOEIiIHN0b3Atb3BhY2l0eT0iLjYiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iaCIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDM2LjMxMyA3LjU1Mykgc2NhbGUoMjUuNjEzNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZFMjI2Ii8+PHN0b3Agb2Zmc2V0PSIuMTIxIiBzdG9wLWNvbG9yPSIjRkZEQjI3Ii8+PHN0b3Agb2Zmc2V0PSIuMjk1IiBzdG9wLWNvbG9yPSIjRkZDODJBIi8+PHN0b3Agb2Zmc2V0PSIuNTAyIiBzdG9wLWNvbG9yPSIjRkZBOTMwIi8+PHN0b3Agb2Zmc2V0PSIuNzMyIiBzdG9wLWNvbG9yPSIjRkY3RTM3Ii8+PHN0b3Agb2Zmc2V0PSIuNzkyIiBzdG9wLWNvbG9yPSIjRkY3MTM5Ii8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImkiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg1Ni42NyAtOS4xMDQpIHNjYWxlKDEwOS4yODMpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTEzIiBzdG9wLWNvbG9yPSIjRkZGNDRGIi8+PHN0b3Agb2Zmc2V0PSIuNDU2IiBzdG9wLWNvbG9yPSIjRkY5ODBFIi8+PHN0b3Agb2Zmc2V0PSIuNjIyIiBzdG9wLWNvbG9yPSIjRkY1NjM0Ii8+PHN0b3Agb2Zmc2V0PSIuNzE2IiBzdG9wLWNvbG9yPSIjRkYzNjQ3Ii8+PHN0b3Agb2Zmc2V0PSIuOTA0IiBzdG9wLWNvbG9yPSIjRTMxNTg3Ii8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImoiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSg4My45NzYgMjUuNDg1IDI0LjkxNCkgc2NhbGUoODAuMDg0NSA1Mi41NTg4KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGRkY0NEYiLz48c3RvcCBvZmZzZXQ9Ii4wNiIgc3RvcC1jb2xvcj0iI0ZGRTg0NyIvPjxzdG9wIG9mZnNldD0iLjE2OCIgc3RvcC1jb2xvcj0iI0ZGQzgzMCIvPjxzdG9wIG9mZnNldD0iLjMwNCIgc3RvcC1jb2xvcj0iI0ZGOTgwRSIvPjxzdG9wIG9mZnNldD0iLjM1NiIgc3RvcC1jb2xvcj0iI0ZGOEIxNiIvPjxzdG9wIG9mZnNldD0iLjQ1NSIgc3RvcC1jb2xvcj0iI0ZGNjcyQSIvPjxzdG9wIG9mZnNldD0iLjU3IiBzdG9wLWNvbG9yPSIjRkYzNjQ3Ii8+PHN0b3Agb2Zmc2V0PSIuNzM3IiBzdG9wLWNvbG9yPSIjRTMxNTg3Ii8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImsiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4zMTMgMTYuODA3KSBzY2FsZSg2OC4yMTY2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjEzNyIgc3RvcC1jb2xvcj0iI0ZGRjQ0RiIvPjxzdG9wIG9mZnNldD0iLjQ4IiBzdG9wLWNvbG9yPSIjRkY5ODBFIi8+PHN0b3Agb2Zmc2V0PSIuNTkyIiBzdG9wLWNvbG9yPSIjRkY1NjM0Ii8+PHN0b3Agb2Zmc2V0PSIuNjU1IiBzdG9wLWNvbG9yPSIjRkYzNjQ3Ii8+PHN0b3Agb2Zmc2V0PSIuOTA0IiBzdG9wLWNvbG9yPSIjRTMxNTg3Ii8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImwiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg1My44OTQgMjAuNTA3KSBzY2FsZSg3NC42NjYyKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjA5NCIgc3RvcC1jb2xvcj0iI0ZGRjQ0RiIvPjxzdG9wIG9mZnNldD0iLjIzMSIgc3RvcC1jb2xvcj0iI0ZGRTE0MSIvPjxzdG9wIG9mZnNldD0iLjUwOSIgc3RvcC1jb2xvcj0iI0ZGQUYxRSIvPjxzdG9wIG9mZnNldD0iLjYyNiIgc3RvcC1jb2xvcj0iI0ZGOTgwRSIvPjwvcmFkaWFsR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iNjcuMzAyIiB4Mj0iNy43NjIiIHkxPSIxMy40NjEiIHkyPSI3MC45MDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4wNDgiIHN0b3AtY29sb3I9IiNGRkY0NEYiLz48c3RvcCBvZmZzZXQ9Ii4xMTEiIHN0b3AtY29sb3I9IiNGRkU4NDciLz48c3RvcCBvZmZzZXQ9Ii4yMjUiIHN0b3AtY29sb3I9IiNGRkM4MzAiLz48c3RvcCBvZmZzZXQ9Ii4zNjgiIHN0b3AtY29sb3I9IiNGRjk4MEUiLz48c3RvcCBvZmZzZXQ9Ii40MDEiIHN0b3AtY29sb3I9IiNGRjhCMTYiLz48c3RvcCBvZmZzZXQ9Ii40NjIiIHN0b3AtY29sb3I9IiNGRjY3MkEiLz48c3RvcCBvZmZzZXQ9Ii41MzQiIHN0b3AtY29sb3I9IiNGRjM2NDciLz48c3RvcCBvZmZzZXQ9Ii43MDUiIHN0b3AtY29sb3I9IiNFMzE1ODciLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibSIgeDE9IjY2LjU4IiB4Mj0iMTUuOTI2IiB5MT0iMTMuMTU2IiB5Mj0iNjMuODE5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTY3IiBzdG9wLWNvbG9yPSIjRkZGNDRGIiBzdG9wLW9wYWNpdHk9Ii44Ii8+PHN0b3Agb2Zmc2V0PSIuMjY2IiBzdG9wLWNvbG9yPSIjRkZGNDRGIiBzdG9wLW9wYWNpdHk9Ii42MzQiLz48c3RvcCBvZmZzZXQ9Ii40ODkiIHN0b3AtY29sb3I9IiNGRkY0NEYiIHN0b3Atb3BhY2l0eT0iLjIxNyIvPjxzdG9wIG9mZnNldD0iLjYiIHN0b3AtY29sb3I9IiNGRkY0NEYiIHN0b3Atb3BhY2l0eT0iMCIvPjwvbGluZWFyR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDcxLjY0djc0SDB6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDIpIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L0ZpcmVmb3gtTlA1U1lFSzUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFHeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9GaXJlZm94LU5QNVNZRUs1LmpzP2Q3YWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9GaXJlZm94LnN2Z1xudmFyIEZpcmVmb3hfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdacGJHdzlJbTV2Ym1VaUlIWnBaWGRDYjNnOUlqQWdNQ0EzT0NBM09DSStQR2NnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMkVwSWo0OGNHRjBhQ0JtYVd4c1BTSjFjbXdvSTJJcElpQmtQU0pOTnpJdU1EUTVJREkyTGpneU4yTXRNUzQxTlRrdE15NDNOUzAwTGpjeUxUY3VOems0TFRjdU1UazFMVGt1TURjNFlUTTNMakkyTkNBek55NHlOalFnTUNBd0lERWdNeTQyTXpJZ01UQXVPRGd6YkM0d01EY3VNRFpqTFRRdU1EVTFMVEV3TGpFd05TMHhNQzQ1TWprdE1UUXVNVGcyTFRFMkxqVTBOaTB5TXk0d05tRTBNeTR6T1NBME15NHpPU0F3SURBZ01TMHVPRFExTFRFdU16Y3pJREV4TGpNek55QXhNUzR6TXpjZ01DQXdJREV0TGpNNU5TMHVOelFnTmk0MU1qVWdOaTQxTWpVZ01DQXdJREV0TGpVek5TMHhMalF5TGpBNU1pNHdPVElnTUNBd0lEQXRMakE0TFM0d09UTXVNVEk0TGpFeU9DQXdJREFnTUMwdU1EWTVJREJqTFM0d01EUWdNQzB1TURFeUxqQXdPQzB1TURFM0xqQXhMUzR3TURZdU1EQXlMUzR3TVRndU1ERXRMakF5Tmk0d01UUnNMakF4TkMwdU1ESTBRelF3TGprNE5pQTNMakk0SURNM0xqa3lOeUF4Tnk0d05ESWdNemN1TmpVZ01qRXVPVEk0WVRFM0xqazBOQ0F4Tnk0NU5EUWdNQ0F3SURBdE9TNDROelFnTXk0NE1EUmpMUzR5T1RVdExqSTFMUzQyTURRdExqUTROQzB1T1RJMUxTNDNNREZoTVRZdU5qSTVJREUyTGpZeU9TQXdJREFnTVMwdU1TMDRMamMyTmlBeU5pNDFOVGdnTWpZdU5UVTRJREFnTUNBd0xUZ3VOak0wSURZdU5qY3lhQzB1TURFMll5MHhMalF5TVMweExqZ3dNaTB4TGpNeU1pMDNMamMwTXkweExqSTBMVGd1T1RnellUWXVORFFnTmk0ME5DQXdJREFnTUMweExqRTVOeTQyTXpVZ01qWXVNVEU1SURJMkxqRXhPU0F3SURBZ01DMHpMalV3TmlBekxqQXdNeUF6TVM0ek1USWdNekV1TXpFeUlEQWdNQ0F3TFRNdU16VXlJRFF1TURJemRpNHdNRFV0TGpBd05tRXpNQzR5T0RjZ016QXVNamczSURBZ01DQXdMVFF1T0RFeUlERXdMamcyTTJ3dExqQTBPQzR5TXpkaE5UY3VNRFU0SURVM0xqQTFPQ0F3SURBZ01DMHVNelV6SURJdU1qUmpNQ0F1TURJMkxTNHdNRFV1TURVeExTNHdNRGd1TURjNFlUTTBMakU0TXlBek5DNHhPRE1nTUNBd0lEQXRMalU0TWlBMExqazBOSFl1TVRnMVlUTTFMamcyTnlBek5TNDROamNnTUNBd0lEQWdOekV1TWpBMUlEWXVNRFkxWXk0d05pMHVORFl6TGpFeExTNDVNaTR4TmpNdE1TNHpPRGhoTXpZdU9EZ3pJRE0yTGpnNE15QXdJREFnTUMweUxqTXlOaTB4T0M0d01UZHNMakF3TkM0d01EWmFUVE13TGpjeE15QTFOQzQ1TURKakxqRTJPQzR3T0M0ek1qVXVNVFkzTGpRNU55NHlORFJzTGpBeU5TNHdNVFpqTFM0eE56UXRMakE0TXkwdU16UTRMUzR4TnkwdU5USXlMUzR5TmxwdE16Y3VOemd0TWpZdU1uWXRMakF6Tkd3dU1EQTNMakF6T0MwdU1EQTNMUzR3TURSYUlpOCtQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTmpLU0lnWkQwaVRUY3lMakExSURJMkxqZ3lPR010TVM0MU5UZ3RNeTQzTlMwMExqY3lMVGN1TnprNExUY3VNVGsxTFRrdU1EYzRZVE0zTGpJMk1TQXpOeTR5TmpFZ01DQXdJREVnTXk0Mk16SWdNVEF1T0RneWRpNHdNelJzTGpBd055NHdNemhoTXpJdU5EZ2dNekl1TkRnZ01DQXdJREV0TVM0eE1UWWdNalF1TWpBM1l5MDBMakV4SURndU9ESXRNVFF1TURVMklERTNMamcyTFRJNUxqWXpJREUzTGpReE5VTXlNQzQ1TWpZZ05qa3VPRFVnTmk0eE1ERWdOVGN1TXpZeUlETXVNek0xSURReExqQXhNV010TGpVd05TMHlMalUzT1NBd0xUTXVPRGcyTGpJMU15MDFMams0TW1FeU5pNDNNak1nTWpZdU56SXpJREFnTUNBd0xTNDFOellnTkM0NU5EbDJMakU0TldFek5TNDROamNnTXpVdU9EWTNJREFnTUNBd0lEY3hMakl3TlNBMkxqQTJOV011TURZdExqUTJNeTR4TVMwdU9USXhMakUyTXkweExqTTRPV0V6Tmk0NE9EUWdNell1T0RnMElEQWdNQ0F3TFRJdU16STJMVEU0TGpBeE5td3RMakF3TkM0d01EVmFJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05rS1NJZ1pEMGlUVGN5TGpBMUlESTJMamd5T0dNdE1TNDFOVGd0TXk0M05TMDBMamN5TFRjdU56azRMVGN1TVRrMUxUa3VNRGM0WVRNM0xqSTJNU0F6Tnk0eU5qRWdNQ0F3SURFZ015NDJNeklnTVRBdU9EZ3lkaTR3TXpSc0xqQXdOeTR3TXpoaE16SXVORGdnTXpJdU5EZ2dNQ0F3SURFdE1TNHhNVFlnTWpRdU1qQTNZeTAwTGpFeElEZ3VPREl0TVRRdU1EVTJJREUzTGpnMkxUSTVMall6SURFM0xqUXhOVU15TUM0NU1qWWdOamt1T0RVZ05pNHhNREVnTlRjdU16WXlJRE11TXpNMUlEUXhMakF4TVdNdExqVXdOUzB5TGpVM09TQXdMVE11T0RnMkxqSTFNeTAxTGprNE1tRXlOaTQzTWpNZ01qWXVOekl6SURBZ01DQXdMUzQxTnpZZ05DNDVORGwyTGpFNE5XRXpOUzQ0TmpjZ016VXVPRFkzSURBZ01DQXdJRGN4TGpJd05TQTJMakEyTldNdU1EWXRMalEyTXk0eE1TMHVPVEl4TGpFMk15MHhMak00T1dFek5pNDRPRFFnTXpZdU9EZzBJREFnTUNBd0xUSXVNekkyTFRFNExqQXhObXd0TGpBd05DNHdNRFZhSWk4K1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NObEtTSWdaRDBpVFRVMExqWXhOU0F6TVM0d016ZGpMakEzT0M0d05UVXVNVFV1TVRFdU1qSXpMakUyTkdFeE9TNDFNalVnTVRrdU5USTFJREFnTUNBd0xUTXVNek10TkM0ek5EUmpMVEV4TGpFMU1TMHhNUzR4TlMweUxqa3lNaTB5TkM0eE55MHhMalV6TlMweU5DNDRNemRzTGpBeE5DMHVNREpETkRBdU9UYzRJRGN1TWpjMElETTNMamt5SURFM0xqQXpOeUF6Tnk0Mk5ETWdNakV1T1RJell5NDBNVGd0TGpBeU9TNDRNekl0TGpBMk5DQXhMakkyTFM0d05qUmhNVGd1TVNBeE9DNHhJREFnTUNBeElERTFMamN4TWlBNUxqRTNObll1TURBeVdpSXZQanh3WVhSb0lHWnBiR3c5SW5WeWJDZ2paaWtpSUdROUlrMHpPQzQ1TWpNZ016TXVNalk0WXkwdU1EWXVPRGt5TFRNdU1qRXhJRE11T1RZNUxUUXVNekV6SURNdU9UWTVMVEV3TGpFNU9DQXdMVEV4TGpnMU5DQTJMakUyT1MweE1TNDROVFFnTmk0eE5qa3VORFV4SURVdU1UazFJRFF1TURjeElEa3VORGMySURndU5EUTNJREV4TGpjek15NHlMakV3TkM0ME1ETXVNVGszTGpZd05TNHlPUzR6TlRJdU1UVTBMamN3TXk0eU9UZ2dNUzR3TlRRdU5ETmhNVFV1T1RFZ01UVXVPVEVnTUNBd0lEQWdOQzQyTmpZdU9XTXhOeTQ0TnpndU9ETTVJREl4TGpNek9TMHlNUzR6TnpVZ09DNDBNemd0TWpjdU9ESTFZVEV5TGpNNE1TQXhNaTR6T0RFZ01DQXdJREVnT0M0Mk5EZ2dNaTR4UVRFNExqRWdNVGd1TVNBd0lEQWdNQ0F6T0M0NUlESXhMamcxTjJNdExqUXlOU0F3TFM0NE5ESXVNRE0yTFRFdU1qWXVNRFkwWVRFM0xqazBNeUF4Tnk0NU5ETWdNQ0F3SURBdE9TNDROek1nTXk0NE1EUmpMalUwTmk0ME5qTWdNUzR4TmpRZ01TNHdPREVnTWk0ME5qUWdNaTR6TmpNZ01pNDBNek1nTWk0ek9UY2dPQzQyTnpVZ05DNDRPREVnT0M0Mk9Ea2dOUzR4TnpKc0xqQXdNaTR3TURoYUlpOCtQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTm5LU0lnWkQwaVRUTTRMamt5TXlBek15NHlOamhqTFM0d05pNDRPVEl0TXk0eU1URWdNeTQ1TmprdE5DNHpNVE1nTXk0NU5qa3RNVEF1TVRrNElEQXRNVEV1T0RVMElEWXVNVFk1TFRFeExqZzFOQ0EyTGpFMk9TNDBOVEVnTlM0eE9UVWdOQzR3TnpFZ09TNDBOellnT0M0ME5EY2dNVEV1TnpNekxqSXVNVEEwTGpRd015NHhPVGN1TmpBMUxqSTVMak0xTWk0eE5UUXVOekF6TGpJNU9DQXhMakExTkM0ME0yRXhOUzQ1TVNBeE5TNDVNU0F3SURBZ01DQTBMalkyTmk0NVl6RTNMamczT0M0NE16a2dNakV1TXpNNUxUSXhMak0zTlNBNExqUXpPQzB5Tnk0NE1qVmhNVEl1TXpneElERXlMak00TVNBd0lEQWdNU0E0TGpZME9DQXlMakZCTVRndU1TQXhPQzR4SURBZ01DQXdJRE00TGprZ01qRXVPRFUzWXkwdU5ESTFJREF0TGpnME1pNHdNell0TVM0eU5pNHdOalJoTVRjdU9UUXpJREUzTGprME15QXdJREFnTUMwNUxqZzNNeUF6TGpnd05HTXVOVFEyTGpRMk15QXhMakUyTkNBeExqQTRNU0F5TGpRMk5DQXlMak0yTXlBeUxqUXpNeUF5TGpNNU55QTRMalkzTlNBMExqZzRNU0E0TGpZNE9TQTFMakUzTW13dU1EQXlMakF3T0ZvaUx6NDhjR0YwYUNCbWFXeHNQU0oxY213b0kyZ3BJaUJrUFNKTk1qWXVNRGszSURJMExqVTBNbU11TWprdU1UZzFMalV6TGpNME5pNDNOQzQwT1RGaE1UWXVOakk0SURFMkxqWXlPQ0F3SURBZ01TMHVNUzA0TGpjMk5TQXlOaTQxTlRjZ01qWXVOVFUzSURBZ01DQXdMVGd1TmpNeklEWXVOamN4WXk0eE56UXRMakF3TkNBMUxqTTNOeTB1TURrNElEY3VPVGt6SURFdU5qQXpXaUl2UGp4d1lYUm9JR1pwYkd3OUluVnliQ2dqYVNraUlHUTlJazB6TGpNeU55QTBNUzR3TVROak1pNDNOamdnTVRZdU16VWdNVGN1TlRrZ01qZ3VPRFF6SURNMExqUXhOQ0F5T1M0ek1UVWdNVFV1TlRjekxqUTBJREkxTGpVeUxUZ3VOaUF5T1M0Mk15MHhOeTQwTVRWaE16SXVORGdnTXpJdU5EZ2dNQ0F3SURBZ01TNHhNVFV0TWpRdU1qQTNkaTB1TURNMFl6QXRMakF5TnkwdU1EQTFMUzR3TkRNZ01DMHVNRE0xYkM0d01EY3VNRFpqTVM0eU56SWdPQzR6TURjdE1pNDVOVE1nTVRZdU16VXhMVGt1TlRZZ01qRXVPREF5YkMwdU1ESXVNRFEyWXkweE1pNDROekVnTVRBdU5EZzBMVEkxTGpFNE9DQTJMak15TkMweU55NDJOemNnTkM0Mk1qY3RMakUzTkMwdU1EZzBMUzR6TkRndExqRTNMUzQxTWpJdExqSTJMVGN1TlRBekxUTXVOVGczTFRFd0xqWXdOQzB4TUM0ME1pMDVMamt6T0MweE5pNHlPRFpoT1M0eU1TQTVMakl4SURBZ01DQXhMVGd1TkRrMUxUVXVNelEwSURFekxqVXlPQ0F4TXk0MU1qZ2dNQ0F3SURFZ01UTXVNVGcyTFM0MU15QXhOeTQ0TmlBeE55NDROaUF3SURBZ01DQXhNeTQwTmpRdU5UTmpMUzR3TVRRdExqSTVNaTAyTGpJMU5pMHlMamMzTmkwNExqWTVMVFV1TVRjekxURXVNeTB4TGpJNE1pMHhMamt4TnkweExqZzVPUzB5TGpRMk5DMHlMak0yTXkwdU1qazFMUzR5TlMwdU5qQTBMUzQwT0RRdExqa3lOUzB1TnkwdU1qRXpMUzR4TkRZdExqUTFNeTB1TXpBekxTNDNOQzB1TkRreUxUSXVOakUyTFRFdU56QXhMVGN1T0RFNExURXVOakE0TFRjdU9Ua3RNUzQyTUROb0xTNHdNVGRqTFRFdU5ESXlMVEV1T0RBeUxURXVNekl5TFRjdU56UXlMVEV1TWpRdE9DNDVPRE10TGpReUxqRTJPUzB1T0RJeUxqTTRNaTB4TGpFNU9DNDJNelpoTWpZdU1UQTFJREkyTGpFd05TQXdJREFnTUMwekxqVXdOU0F6TGpBd01pQXpNUzR6TVRVZ016RXVNekUxSURBZ01DQXdMVE11TXpZMklEUXVNREV6ZGk0d01EWXRMakF3Tm1Fek1DNHlPRGNnTXpBdU1qZzNJREFnTUNBd0xUUXVPREV5SURFd0xqZzJNMk10TGpBeE9DNHdOek10TVM0eU9USWdOUzQyTkRRdExqWTJOQ0E0TGpVek0yd3VNREEzTFM0d01ESmFJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05xS1NJZ1pEMGlUVFV4TGpVd055QXlOaTQ0TlRWaE1Ua3VOVEkzSURFNUxqVXlOeUF3SURBZ01TQXpMak16SURRdU16UTVZeTR4T1RndU1UUTVMak00TWk0eU9UY3VOVE00TGpRMElEZ3VNVE15SURjdU5EazJJRE11T0RjeElERTRMakE1SURNdU5UVTBJREU0TGpnMElEWXVOakExTFRVdU5EUXlJREV3TGpneU5pMHhNeTQwT1RFZ09TNDFOVGt0TWpFdU9FTTJOQzQwTXlBeE9DNDFOamdnTlRjdU5UVWdNVFF1TkRnM0lEVXhMamswTWlBMUxqWXhNMkUwTXk0ME1ERWdORE11TkRBeElEQWdNQ0F4TFM0NE5EUXRNUzR6TnpNZ01URXVNamtnTVRFdU1qa2dNQ0F3SURFdExqTTVOaTB1TnpRZ05pNDFNalVnTmk0MU1qVWdNQ0F3SURFdExqVXpOQzB4TGpReUxqQTVNeTR3T1RNZ01DQXdJREF0TGpBNE1pMHVNRGt6TGpFeU55NHhNamNnTUNBd0lEQXRMakEyTnlBd1l5MHVNREExSURBdExqQXhNaTR3TURndExqQXhPQzR3TVd3dExqQXlOaTR3TVRSakxURXVNemczTGpZMU9DMDVMall4TkNBeE15NDJPRFlnTVM0MU16WWdNalF1T0RJM2JDMHVNREEwTGpBeE5sb2lMejQ4Y0dGMGFDQm1hV3hzUFNKMWNtd29JMnNwSWlCa1BTSk5OVFV1TXpjMUlETXhMalkxWVRjdU5EazFJRGN1TkRrMUlEQWdNQ0F3TFM0MU16Z3RMalEwTVdNdExqQTNNeTB1TURVMUxTNHhORFV0TGpFeExTNHlNak10TGpFMk5HRXhNaTR6T0RJZ01USXVNemd5SURBZ01DQXdMVGd1TmpRM0xUSXVNV014TWk0NUlEWXVORFVnT1M0ME16a2dNamd1TmpVNExUZ3VORE00SURJM0xqZ3lOV0V4TlM0NU5TQXhOUzQ1TlNBd0lEQWdNUzAwTGpZMk55MHVPU0F4T0M0NE9EVWdNVGd1T0RnMUlEQWdNQ0F4TFRFdU1EVXpMUzQwTXpFZ01UTXVNalE0SURFekxqSTBPQ0F3SURBZ01TMHVOakExTFM0eU9EbHNMakF5TlM0d01UWmpNaTQwT1RNZ01TNDNNRElnTVRRdU9EQTJJRFV1T0RZZ01qY3VOamMzTFRRdU5qSTNiQzR3TWkwdU1EUTJZeTR6TWpJdExqYzFJRFF1TlRneUxURXhMak0wTlMwekxqVTFNeTB4T0M0NE5Hd3VNREF5TFM0d01EUmFJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05zS1NJZ1pEMGlUVEl5TGpjMU5pQTBNeTQwY3pFdU5qVTFMVFl1TVRjZ01URXVPRFV6TFRZdU1UZGpNUzR4TURJZ01DQTBMakkxTnkwekxqQTNOaUEwTGpNeE15MHpMamsyT0dFeE55NDROaUF4Tnk0NE5pQXdJREFnTVMweE15NDBOak10TGpVeklERXpMalV5T1NBeE15NDFNamtnTUNBd0lEQXRNVE11TVRnMkxqVXpJRGt1TWpFZ09TNHlNU0F3SURBZ01DQTRMalE1TlNBMUxqTTBOR010TGpZMk5DQTFMamcyTkNBeUxqUXpOaUF4TWk0Mk9UWWdPUzQ1TXpnZ01UWXVNamcyTGpFMk9DNHdPQzR6TWpVdU1UWTNMalE1Tnk0eU5EUXROQzR6T0MweUxqSTJNaTAzTGprNU5pMDJMalUwTVMwNExqUTBOeTB4TVM0M016TldORE11TkZvaUx6NDhjR0YwYUNCbWFXeHNQU0oxY213b0kyMHBJaUJrUFNKTk56SXVNRFE1SURJMkxqZ3lOMk10TVM0MU5Ua3RNeTQzTlMwMExqY3lMVGN1TnprNExUY3VNVGsxTFRrdU1EYzRZVE0zTGpJMk1TQXpOeTR5TmpFZ01DQXdJREVnTXk0Mk16SWdNVEF1T0RnemJDNHdNRGN1TURaakxUUXVNRFUxTFRFd0xqRXdOUzB4TUM0NU1qa3RNVFF1TVRnMkxURTJMalUwTmkweU15NHdObUUwTXk0ek9TQTBNeTR6T1NBd0lEQWdNUzB1T0RRMExURXVNemN6SURFeExqTXpOeUF4TVM0ek16Y2dNQ0F3SURFdExqTTVOaTB1TnpRZ05pNDFNalVnTmk0MU1qVWdNQ0F3SURFdExqVXpOQzB4TGpReUxqQTVNaTR3T1RJZ01DQXdJREF0TGpBNE1pMHVNRGt6TGpFeU9DNHhNamdnTUNBd0lEQXRMakEyTnlBd1l5MHVNREExSURBdExqQXhNaTR3TURndExqQXhPQzR3TVd3dExqQXlOaTR3TVRRdU1ERTBMUzR3TWpSRE5EQXVPVGcySURjdU1qZ2dNemN1T1RJNElERTNMakEwTWlBek55NDJOU0F5TVM0NU1qaGpMalF4T0MwdU1ESTRMamd6TXkwdU1EWTBJREV1TWpZdExqQTJOR0V4T0M0eElERTRMakVnTUNBd0lERWdNVFV1TnpFeklEa3VNVGMzSURFeUxqTTRJREV5TGpNNElEQWdNQ0F3TFRndU5qUTRMVEl1TVdNeE1pNDVJRFl1TkRVZ09TNDBNemtnTWpndU5qVTRMVGd1TkRNNElESTNMamd5Tm1FeE5TNDVOVElnTVRVdU9UVXlJREFnTUNBeExUUXVOalkyTFM0NUlERTRMamt6TXlBeE9DNDVNek1nTUNBd0lERXRNUzR3TlRRdExqUXpNbU10TGpJd01pMHVNRGt6TFM0ME1EVXRMakU0TlMwdU5qQTFMUzR5T0Rsc0xqQXlOUzR3TVRaaE1Ua3VNRFFnTVRrdU1EUWdNQ0F3SURFdExqVXlNaTB1TWpaakxqRTJPQzR3T0M0ek1qVXVNVFkzTGpRNU55NHlORFF0TkM0ek9DMHlMakkyTXkwM0xqazVOaTAyTGpVME1pMDRMalEwTnkweE1TNDNNek1nTUNBd0lERXVOalUxTFRZdU1UY2dNVEV1T0RVekxUWXVNVGNnTVM0eE1ESWdNQ0EwTGpJMU55MHpMakEzTmlBMExqTXhNeTB6TGprMk9DMHVNREV6TFM0eU9USXROaTR5TlRVdE1pNDNOell0T0M0Mk9EZ3ROUzR4TnpNdE1TNHpMVEV1TWpneExURXVPVEU0TFRFdU9EazVMVEl1TkRZMUxUSXVNell5TFM0eU9UVXRMakkxTFM0Mk1EUXRMalE0TlMwdU9USTFMUzQzTURKaE1UWXVOakk0SURFMkxqWXlPQ0F3SURBZ01TMHVNUzA0TGpjMk5TQXlOaTQxTlRjZ01qWXVOVFUzSURBZ01DQXdMVGd1TmpNMElEWXVOamN4YUMwdU1ERTJZeTB4TGpReU1pMHhMamd3TVMweExqTXlNaTAzTGpjME1pMHhMakkwTFRndU9UZ3pMUzQwTWk0eE5qa3RMamd5TWk0ek9ESXRNUzR4T1RjdU5qTTJZVEkyTGpFeE1pQXlOaTR4TVRJZ01DQXdJREF0TXk0MU1EWWdNeTR3TURJZ016RXVNekEwSURNeExqTXdOQ0F3SURBZ01DMHpMak0xTWlBMExqQXlNM1l1TURBMkxTNHdNRGRoTXpBdU1qZzNJRE13TGpJNE55QXdJREFnTUMwMExqZ3hNaUF4TUM0NE5qUnNMUzR3TkRndU1qTTJZeTB1TURZNExqTXhOaTB1TXpjZ01TNDVNVGt0TGpReE5DQXlMakkyTTJFME1TNDNNalFnTkRFdU56STBJREFnTUNBd0xTNDFNeUExZGk0eE9EVmhNelV1T0RZMklETTFMamcyTmlBd0lEQWdNQ0EzTVM0eU1EWWdOaTR3TmpSakxqQTJMUzQwTmpJdU1URXRMamt5TGpFMk15MHhMak00T0dFek5pNDRPRFVnTXpZdU9EZzFJREFnTUNBd0xUSXVNekkyTFRFNExqQXhObXd1TURBeUxTNHdNREphYlMwekxqVTFPQ0F4TGpnME1pNHdNRFl1TURNNExTNHdNRFl0TGpBek9Gb2lMejQ4TDJjK1BHUmxabk0rUEhKaFpHbGhiRWR5WVdScFpXNTBJR2xrUFNKaklpQmplRDBpTUNJZ1kzazlJakFpSUhJOUlqRWlJR2R5WVdScFpXNTBWSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTmpRdU9UazVJREV3TGpNeU9Ta2djMk5oYkdVb056UXVOelk0S1NJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lHOW1abk5sZEQwaUxqRXlPU0lnYzNSdmNDMWpiMnh2Y2owaUkwWkdRa1EwUmlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpFNE5pSWdjM1J2Y0MxamIyeHZjajBpSTBaR1FVTXpNU0l2UGp4emRHOXdJRzltWm5ObGREMGlMakkwTnlJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHT1VReE55SXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqSTRNeUlnYzNSdmNDMWpiMnh2Y2owaUkwWkdPVGd3UlNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpRd015SWdjM1J2Y0MxamIyeHZjajBpSTBaR05UWXpRaUl2UGp4emRHOXdJRzltWm5ObGREMGlMalEyTnlJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHTXpjMU1DSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqY3hJaUJ6ZEc5d0xXTnZiRzl5UFNJalJqVXhOVFpESWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TnpneUlpQnpkRzl3TFdOdmJHOXlQU0lqUlVJd09EYzRJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVPRFlpSUhOMGIzQXRZMjlzYjNJOUlpTkZOVEF3T0RBaUx6NDhMM0poWkdsaGJFZHlZV1JwWlc1MFBqeHlZV1JwWVd4SGNtRmthV1Z1ZENCcFpEMGlaQ0lnWTNnOUlqQWlJR041UFNJd0lpQnlQU0l4SWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtETTNMakl6T1NBME1DNDROalVwSUhOallXeGxLRGMwTGpjMk9Da2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J2Wm1aelpYUTlJaTR6SWlCemRHOXdMV052Ykc5eVBTSWpPVFl3UlRFNElpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU16VXhJaUJ6ZEc5d0xXTnZiRzl5UFNJalFqRXhPVEkzSWlCemRHOXdMVzl3WVdOcGRIazlJaTQzTkNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpRek5TSWdjM1J2Y0MxamIyeHZjajBpSTBSQ01qa3pSQ0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXVNelF6SWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TkRrM0lpQnpkRzl3TFdOdmJHOXlQU0lqUmpVek16UkNJaUJ6ZEc5d0xXOXdZV05wZEhrOUlpNHdPVFFpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTQxTXlJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHTXpjMU1DSWdjM1J2Y0MxdmNHRmphWFI1UFNJd0lpOCtQQzl5WVdScFlXeEhjbUZrYVdWdWRENDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbVVpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZzBOaTQwT1NBdE5pNHpNamdwSUhOallXeGxLRFUwTGpFMk1EWXBJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYjJabWMyVjBQU0l1TVRNeUlpQnpkRzl3TFdOdmJHOXlQU0lqUmtaR05EUkdJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVNalV5SWlCemRHOXdMV052Ykc5eVBTSWpSa1pFUXpORklpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU5UQTJJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWTVSREV5SWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TlRJMklpQnpkRzl3TFdOdmJHOXlQU0lqUmtZNU9EQkZJaTgrUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDQ4Y21Ga2FXRnNSM0poWkdsbGJuUWdhV1E5SW1ZaUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d5T0M0NU1TQTJNQzR5T1RjcElITmpZV3hsS0RNMUxqVTVPREVwSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2IyWm1jMlYwUFNJdU16VXpJaUJ6ZEc5d0xXTnZiRzl5UFNJak0wRTRSVVUySWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TkRjeUlpQnpkRzl3TFdOdmJHOXlQU0lqTlVNM09VWXdJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOalk1SWlCemRHOXdMV052Ykc5eVBTSWpPVEExT1VaR0lpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqUXpFek9VVTJJaTgrUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDQ4Y21Ga2FXRnNSM0poWkdsbGJuUWdhV1E5SW1jaUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3hPQzR6TkRnMU1pQXROQzQwTXpZeU5pQTFMakU1TXpjMElESXhMalE0TVRRMUlEUXdMamcxTmlBek5DNDBORGdwSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2IyWm1jMlYwUFNJdU1qQTJJaUJ6ZEc5d0xXTnZiRzl5UFNJak9UQTFPVVpHSWlCemRHOXdMVzl3WVdOcGRIazlJakFpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTR5TnpnaUlITjBiM0F0WTI5c2IzSTlJaU00UXpSR1JqTWlJSE4wYjNBdGIzQmhZMmwwZVQwaUxqQTJOQ0l2UGp4emRHOXdJRzltWm5ObGREMGlMamMwTnlJZ2MzUnZjQzFqYjJ4dmNqMGlJemMzTVRaQk9DSWdjM1J2Y0MxdmNHRmphWFI1UFNJdU5EVWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNDVOelVpSUhOMGIzQXRZMjlzYjNJOUlpTTJSVEF3T0VJaUlITjBiM0F0YjNCaFkybDBlVDBpTGpZaUx6NDhMM0poWkdsaGJFZHlZV1JwWlc1MFBqeHlZV1JwWVd4SGNtRmthV1Z1ZENCcFpEMGlhQ0lnWTNnOUlqQWlJR041UFNJd0lpQnlQU0l4SWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtETTJMak14TXlBM0xqVTFNeWtnYzJOaGJHVW9NalV1TmpFek5pa2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJrWkZNakkySWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TVRJeElpQnpkRzl3TFdOdmJHOXlQU0lqUmtaRVFqSTNJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVNamsxSWlCemRHOXdMV052Ykc5eVBTSWpSa1pET0RKQklpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU5UQXlJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWkJPVE13SWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TnpNeUlpQnpkRzl3TFdOdmJHOXlQU0lqUmtZM1JUTTNJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOemt5SWlCemRHOXdMV052Ykc5eVBTSWpSa1kzTVRNNUlpOCtQQzl5WVdScFlXeEhjbUZrYVdWdWRENDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbWtpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZzFOaTQyTnlBdE9TNHhNRFFwSUhOallXeGxLREV3T1M0eU9ETXBJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYjJabWMyVjBQU0l1TVRFeklpQnpkRzl3TFdOdmJHOXlQU0lqUmtaR05EUkdJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVORFUySWlCemRHOXdMV052Ykc5eVBTSWpSa1k1T0RCRklpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU5qSXlJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWTFOak0wSWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TnpFMklpQnpkRzl3TFdOdmJHOXlQU0lqUmtZek5qUTNJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVPVEEwSWlCemRHOXdMV052Ykc5eVBTSWpSVE14TlRnM0lpOCtQQzl5WVdScFlXeEhjbUZrYVdWdWRENDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbW9pSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUluSnZkR0YwWlNnNE15NDVOellnTWpVdU5EZzFJREkwTGpreE5Da2djMk5oYkdVb09EQXVNRGcwTlNBMU1pNDFOVGc0S1NJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5HUmtZME5FWWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNHdOaUlnYzNSdmNDMWpiMnh2Y2owaUkwWkdSVGcwTnlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpFMk9DSWdjM1J2Y0MxamIyeHZjajBpSTBaR1F6Z3pNQ0l2UGp4emRHOXdJRzltWm5ObGREMGlMak13TkNJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHT1Rnd1JTSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqTTFOaUlnYzNSdmNDMWpiMnh2Y2owaUkwWkdPRUl4TmlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpRMU5TSWdjM1J2Y0MxamIyeHZjajBpSTBaR05qY3lRU0l2UGp4emRHOXdJRzltWm5ObGREMGlMalUzSWlCemRHOXdMV052Ykc5eVBTSWpSa1l6TmpRM0lpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU56TTNJaUJ6ZEc5d0xXTnZiRzl5UFNJalJUTXhOVGczSWk4K1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0OGNtRmthV0ZzUjNKaFpHbGxiblFnYVdROUltc2lJR040UFNJd0lpQmplVDBpTUNJZ2NqMGlNU0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNnek5pNHpNVE1nTVRZdU9EQTNLU0J6WTJGc1pTZzJPQzR5TVRZMktTSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJRzltWm5ObGREMGlMakV6TnlJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHUmpRMFJpSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqUTRJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWTVPREJGSWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TlRreUlpQnpkRzl3TFdOdmJHOXlQU0lqUmtZMU5qTTBJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOalUxSWlCemRHOXdMV052Ykc5eVBTSWpSa1l6TmpRM0lpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU9UQTBJaUJ6ZEc5d0xXTnZiRzl5UFNJalJUTXhOVGczSWk4K1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0OGNtRmthV0ZzUjNKaFpHbGxiblFnYVdROUltd2lJR040UFNJd0lpQmplVDBpTUNJZ2NqMGlNU0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNnMU15NDRPVFFnTWpBdU5UQTNLU0J6WTJGc1pTZzNOQzQyTmpZeUtTSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJRzltWm5ObGREMGlMakE1TkNJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHUmpRMFJpSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqSXpNU0lnYzNSdmNDMWpiMnh2Y2owaUkwWkdSVEUwTVNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpVd09TSWdjM1J2Y0MxamIyeHZjajBpSTBaR1FVWXhSU0l2UGp4emRHOXdJRzltWm5ObGREMGlMall5TmlJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHT1Rnd1JTSXZQand2Y21Ga2FXRnNSM0poWkdsbGJuUStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0ppSWlCNE1UMGlOamN1TXpBeUlpQjRNajBpTnk0M05qSWlJSGt4UFNJeE15NDBOakVpSUhreVBTSTNNQzQ1TURjaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajQ4YzNSdmNDQnZabVp6WlhROUlpNHdORGdpSUhOMGIzQXRZMjlzYjNJOUlpTkdSa1kwTkVZaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0eE1URWlJSE4wYjNBdFkyOXNiM0k5SWlOR1JrVTRORGNpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTR5TWpVaUlITjBiM0F0WTI5c2IzSTlJaU5HUmtNNE16QWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNHpOamdpSUhOMGIzQXRZMjlzYjNJOUlpTkdSams0TUVVaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0ME1ERWlJSE4wYjNBdFkyOXNiM0k5SWlOR1JqaENNVFlpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJaTQwTmpJaUlITjBiM0F0WTI5c2IzSTlJaU5HUmpZM01rRWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNDFNelFpSUhOMGIzQXRZMjlzYjNJOUlpTkdSak0yTkRjaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0M01EVWlJSE4wYjNBdFkyOXNiM0k5SWlORk16RTFPRGNpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaWJTSWdlREU5SWpZMkxqVTRJaUI0TWowaU1UVXVPVEkySWlCNU1UMGlNVE11TVRVMklpQjVNajBpTmpNdU9ERTVJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYjJabWMyVjBQU0l1TVRZM0lpQnpkRzl3TFdOdmJHOXlQU0lqUmtaR05EUkdJaUJ6ZEc5d0xXOXdZV05wZEhrOUlpNDRJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVNalkySWlCemRHOXdMV052Ykc5eVBTSWpSa1pHTkRSR0lpQnpkRzl3TFc5d1lXTnBkSGs5SWk0Mk16UWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNDBPRGtpSUhOMGIzQXRZMjlzYjNJOUlpTkdSa1kwTkVZaUlITjBiM0F0YjNCaFkybDBlVDBpTGpJeE55SXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqWWlJSE4wYjNBdFkyOXNiM0k5SWlOR1JrWTBORVlpSUhOMGIzQXRiM0JoWTJsMGVUMGlNQ0l2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEdOc2FYQlFZWFJvSUdsa1BTSmhJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1DQXdhRGN4TGpZMGRqYzBTREI2SWlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3pJRElwSWk4K1BDOWpiR2x3VUdGMGFENDhMMlJsWm5NK1BDOXpkbWMrXCI7XG5leHBvcnQge1xuICBGaXJlZm94X2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Firefox-NP5SYEK5.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js.js deleted file mode 100644 index f9eb54a..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Opera-KV54PXPA.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Opera-KV54PXPA.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Opera_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Opera.svg\nvar Opera_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3OCA3OCI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4Mj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC01NC45NDQgLTU0Ljk0NCAwIDIzLjYyIDc5LjQ3NCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZjFiMmQiLz48c3RvcCBvZmZzZXQ9Ii4zIiBzdG9wLWNvbG9yPSIjZmYxYjJkIi8+PHN0b3Agb2Zmc2V0PSIuNjE0IiBzdG9wLWNvbG9yPSIjZmYxYjJkIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYTcwMDE0Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgyPSIxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTQ4LjU5NSAtNDguNTk1IDAgMzcuODU0IDc2LjIzNSkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM5YzAwMDAiLz48c3RvcCBvZmZzZXQ9Ii43IiBzdG9wLWNvbG9yPSIjZmY0YjRiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmY0YjRiIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNMjguMzQ2IDgwLjM5OEMxMi42OTEgODAuMzk4IDAgNjcuNzA3IDAgNTIuMDUyIDAgMzYuODUgMTEuOTY4IDI0LjQ0MyAyNi45OTYgMjMuNzM5YTI4LjI0NCAyOC4yNDQgMCAwIDEgMjAuMjQxIDcuMThjLTMuMzIyLTIuMjAzLTcuMjA3LTMuNDctMTEuMzU5LTMuNDctNi43NSAwLTEyLjc5NiAzLjM0OC0xNi44NjIgOC42MjktMy4xMzQgMy43LTUuMTY0IDkuMTY5LTUuMzAyIDE1LjMwN3YxLjMzNWMuMTM4IDYuMTM3IDIuMTY4IDExLjYwOCA1LjMwMiAxNS4zMDcgNC4wNjYgNS4yOCAxMC4xMTIgOC42MyAxNi44NjIgOC42MyA0LjE1MiAwIDguMDM4LTEuMjY5IDExLjM2LTMuNDc0YTI4LjIzOSAyOC4yMzkgMCAwIDEtMTguNzg1IDcuMjE1bC0uMTA4LjAwMXoiIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMyAwIDAgLTEuMzMzMyAwIDEwNy4yKSIvPjxwYXRoIGZpbGw9InVybCgjYikiIGQ9Ik0xOS4wMTYgNjguMDI1YzIuNjAxIDMuMDcgNS45NiA0LjkyMyA5LjYzMSA0LjkyMyA4LjI1MiAwIDE0Ljk0MS05LjM1NiAxNC45NDEtMjAuODk3cy02LjY5LTIwLjg5Ny0xNC45NDEtMjAuODk3Yy0zLjY3IDAtNy4wMyAxLjg1LTkuNjMgNC45MjIgNC4wNjYtNS4yODEgMTAuMTEtOC42MyAxNi44NjItOC42MyA0LjE1MiAwIDguMDM2IDEuMjY4IDExLjM1OSAzLjQ3MiA1LjgwMiA1LjE5IDkuNDU1IDEyLjczNSA5LjQ1NSAyMS4xMzMgMCA4LjM5Ny0zLjY1MyAxNS45NC05LjQ1MyAyMS4xMy0zLjMyNCAyLjIwNi03LjIwOSAzLjQ3My0xMS4zNjEgMy40NzMtNi43NSAwLTEyLjc5Ni0zLjM0OC0xNi44NjItOC42MyIgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzMzIDAgMCAtMS4zMzMzIDAgMTA3LjIpIi8+PC9zdmc+\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L09wZXJhLUtWNTRQWFBBLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0Esd0NBQXdDO0FBR3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvT3BlcmEtS1Y1NFBYUEEuanM/OTAzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL09wZXJhLnN2Z1xudmFyIE9wZXJhX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EzT0NBM09DSStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0poSWlCNE1qMGlNU0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d3SUMwMU5DNDVORFFnTFRVMExqazBOQ0F3SURJekxqWXlJRGM1TGpRM05Da2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J2Wm1aelpYUTlJakFpSUhOMGIzQXRZMjlzYjNJOUlpTm1aakZpTW1RaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0eklpQnpkRzl3TFdOdmJHOXlQU0lqWm1ZeFlqSmtJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOakUwSWlCemRHOXdMV052Ykc5eVBTSWpabVl4WWpKa0lpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqWVRjd01ERTBJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW1JaUlIZ3lQU0l4SWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUUTRMalU1TlNBdE5EZ3VOVGsxSURBZ016Y3VPRFUwSURjMkxqSXpOU2tpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElqNDhjM1J2Y0NCdlptWnpaWFE5SWpBaUlITjBiM0F0WTI5c2IzSTlJaU01WXpBd01EQWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNDNJaUJ6ZEc5d0xXTnZiRzl5UFNJalptWTBZalJpSWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpabVkwWWpSaUlpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhjR0YwYUNCbWFXeHNQU0oxY213b0kyRXBJaUJrUFNKTk1qZ3VNelEySURnd0xqTTVPRU14TWk0Mk9URWdPREF1TXprNElEQWdOamN1TnpBM0lEQWdOVEl1TURVeUlEQWdNell1T0RVZ01URXVPVFk0SURJMExqUTBNeUF5Tmk0NU9UWWdNak11TnpNNVlUSTRMakkwTkNBeU9DNHlORFFnTUNBd0lERWdNakF1TWpReElEY3VNVGhqTFRNdU16SXlMVEl1TWpBekxUY3VNakEzTFRNdU5EY3RNVEV1TXpVNUxUTXVORGN0Tmk0M05TQXdMVEV5TGpjNU5pQXpMak0wT0MweE5pNDROaklnT0M0Mk1qa3RNeTR4TXpRZ015NDNMVFV1TVRZMElEa3VNVFk1TFRVdU16QXlJREUxTGpNd04zWXhMak16TldNdU1UTTRJRFl1TVRNM0lESXVNVFk0SURFeExqWXdPQ0ExTGpNd01pQXhOUzR6TURjZ05DNHdOallnTlM0eU9DQXhNQzR4TVRJZ09DNDJNeUF4Tmk0NE5qSWdPQzQyTXlBMExqRTFNaUF3SURndU1ETTRMVEV1TWpZNUlERXhMak0yTFRNdU5EYzBZVEk0TGpJek9TQXlPQzR5TXprZ01DQXdJREV0TVRndU56ZzFJRGN1TWpFMWJDMHVNVEE0TGpBd01Yb2lJSFJ5WVc1elptOXliVDBpYldGMGNtbDRLREV1TXpNek15QXdJREFnTFRFdU16TXpNeUF3SURFd055NHlLU0l2UGp4d1lYUm9JR1pwYkd3OUluVnliQ2dqWWlraUlHUTlJazB4T1M0d01UWWdOamd1TURJMVl6SXVOakF4SURNdU1EY2dOUzQ1TmlBMExqa3lNeUE1TGpZek1TQTBMamt5TXlBNExqSTFNaUF3SURFMExqazBNUzA1TGpNMU5pQXhOQzQ1TkRFdE1qQXVPRGszY3kwMkxqWTVMVEl3TGpnNU55MHhOQzQ1TkRFdE1qQXVPRGszWXkwekxqWTNJREF0Tnk0d015QXhMamcxTFRrdU5qTWdOQzQ1TWpJZ05DNHdOall0TlM0eU9ERWdNVEF1TVRFdE9DNDJNeUF4Tmk0NE5qSXRPQzQyTXlBMExqRTFNaUF3SURndU1ETTJJREV1TWpZNElERXhMak0xT1NBekxqUTNNaUExTGpnd01pQTFMakU1SURrdU5EVTFJREV5TGpjek5TQTVMalExTlNBeU1TNHhNek1nTUNBNExqTTVOeTB6TGpZMU15QXhOUzQ1TkMwNUxqUTFNeUF5TVM0eE15MHpMak15TkNBeUxqSXdOaTAzTGpJd09TQXpMalEzTXkweE1TNHpOakVnTXk0ME56TXROaTQzTlNBd0xURXlMamM1TmkwekxqTTBPQzB4Tmk0NE5qSXRPQzQyTXlJZ2RISmhibk5tYjNKdFBTSnRZWFJ5YVhnb01TNHpNek16SURBZ01DQXRNUzR6TXpNeklEQWdNVEEzTGpJcElpOCtQQzl6ZG1jK1wiO1xuZXhwb3J0IHtcbiAgT3BlcmFfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Opera-KV54PXPA.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js.js deleted file mode 100644 index 7261a4e..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/Safari-2QIYKJ4P.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/Safari-2QIYKJ4P.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Safari_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/Safari.svg\nvar Safari_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzggNzciPjxkZWZzPjxtYXNrIGlkPSJkIj48ZyBmaWx0ZXI9InVybCgjYSkiPjxwYXRoIGQ9Ik0wIDBoNzh2NzdIMHoiIHN0eWxlPSJmaWxsOiMwMDA7ZmlsbC1vcGFjaXR5Oi41Mjk0MTI7c3Ryb2tlOm5vbmUiLz48L2c+PC9tYXNrPjxtYXNrIGlkPSJoIj48ZyBmaWx0ZXI9InVybCgjYSkiPjxwYXRoIGQ9Ik0wIDBoNzh2NzdIMHoiIHN0eWxlPSJmaWxsOiMwMDA7ZmlsbC1vcGFjaXR5Oi40MDc4NDM7c3Ryb2tlOm5vbmUiLz48L2c+PC9tYXNrPjxtYXNrIGlkPSJqIj48ZyBmaWx0ZXI9InVybCgjYSkiPjxwYXRoIGQ9Ik0wIDBoNzh2NzdIMHoiIHN0eWxlPSJmaWxsOiMwMDA7ZmlsbC1vcGFjaXR5Oi4yNDMxMzc7c3Ryb2tlOm5vbmUiLz48L2c+PC9tYXNrPjxyYWRpYWxHcmFkaWVudCBpZD0iZiIgY3g9IjQxMy4wNjEiIGN5PSIxMzYuODE4IiByPSI4Mi4xMjUiIGZ4PSI0MTMuMDYxIiBmeT0iMTM2LjgxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCguNDUwNSAwIDAgLjQ0NjY0IC0xNDYuODYgLTI5LjI5MSkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNmMyZTc7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9Ii4yNSIgc3R5bGU9InN0b3AtY29sb3I6IzBkYjhlYztzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iLjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMxMmFlZjE7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9Ii43NSIgc3R5bGU9InN0b3AtY29sb3I6IzFmODZmOTtzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzEwN2RkZDtzdG9wLW9wYWNpdHk6MSIvPjwvcmFkaWFsR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJlIiB4MT0iNDEyLjk3NSIgeDI9IjQxMi45NzUiIHkxPSIyMzcuNjA4IiB5Mj0iNTkuMzkyIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDIwNi43OSAxNTkuNzczKSBzY2FsZSguMzUxNTQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojYmRiZGJkO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZmZmO3N0b3Atb3BhY2l0eToxIi8+PC9saW5lYXJHcmFkaWVudD48Y2xpcFBhdGggaWQ9ImIiPjxwYXRoIGQ9Ik0wIDBoNzh2NzdIMHoiLz48L2NsaXBQYXRoPjxmaWx0ZXIgaWQ9ImEiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHg9IjAlIiB5PSIwJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlR3JhcGhpYyIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAxIDAiLz48L2ZpbHRlcj48ZyBpZD0iaSIgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cGF0aCBkPSJtMTUuMzE2IDU5LjIzOCAyNy42NTctMTguNDQ1IDE5Ljg1OS0yNi41NFptMCAwIiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojMDAwO2ZpbGwtb3BhY2l0eToxIi8+PC9nPjwvZGVmcz48dXNlIHhsaW5rOmhyZWY9IiNjIiBtYXNrPSJ1cmwoI2QpIi8+PHBhdGggZD0iTTM4My4yOTUgMjExLjk3NmMwIDE3LjMtMTQuMDI2IDMxLjMyNC0zMS4zMjcgMzEuMzI0LTE3LjMgMC0zMS4zMjYtMTQuMDI0LTMxLjMyNi0zMS4zMjQgMC0xNy4zIDE0LjAyNi0zMS4zMjQgMzEuMzI2LTMxLjMyNHMzMS4zMjcgMTQuMDI0IDMxLjMyNyAzMS4zMjRabTAgMCIgc3R5bGU9ImZpbGwtcnVsZTpub256ZXJvO2ZpbGw6dXJsKCNlKTtzdHJva2Utd2lkdGg6LjA5MzAxMjM7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZTojY2RjZGNkO3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLW1pdGVybGltaXQ6NCIgdHJhbnNmb3JtPSJtYXRyaXgoMS4xODExIDAgMCAxLjE3MDk2IC0zNzYuNjM3IC0yMTEuNDcpIi8+PHBhdGggZD0iTTczLjE3MiAzNi43NDZjMCAxOC42NzItMTUuMjY2IDMzLjgwOS0zNC4wOTggMzMuODA5UzQuOTc3IDU1LjQxOCA0Ljk3NyAzNi43NDZjMC0xOC42NzIgMTUuMjY1LTMzLjgwNSAzNC4wOTctMzMuODA1czM0LjA5OCAxNS4xMzMgMzQuMDk4IDMzLjgwNVptMCAwIiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDp1cmwoI2YpIi8+PHBhdGggZD0iTTM5LjA3NCA0LjcwM2EuNDkzLjQ5MyAwIDAgMC0uNDk2LjQ5MnY1LjY4OGMwIC4yNzMuMjIzLjQ5Mi40OTYuNDkyYS40OTEuNDkxIDAgMCAwIC40OTYtLjQ5MlY1LjE5NWEuNDkxLjQ5MSAwIDAgMC0uNDk2LS40OTJabS0zLjI1NC4yMDNhLjQ5NS40OTUgMCAwIDAtLjU0My41NDNsLjI1IDIuMzhhLjUuNSAwIDAgMCAuNTQ3LjQzNy40ODkuNDg5IDAgMCAwIC40NDItLjU0bC0uMjUtMi4zNzhhLjQ5NS40OTUgMCAwIDAtLjQ0Ni0uNDQyWm02LjUyOC4wMDRjLS4yMy4wMi0uNDE4LjItLjQ0Ni40MzhsLS4yNSAyLjM3OWEuNDkuNDkgMCAwIDAgLjQ0Mi41NDMuNDk2LjQ5NiAwIDAgMCAuNTQ3LS40MzhsLjI1NC0yLjM3OWEuNDk2LjQ5NiAwIDAgMC0uNTQ3LS41NDNabS05Ljg2OC40NzdhLjQ5My40OTMgMCAwIDAtLjQ4NC41OThsMS4xODggNS41NThjLjA1OC4yNy4zMi40MzcuNTkuMzgzYS40OTIuNDkyIDAgMCAwIC4zODItLjU4NkwzMi45NyA1Ljc3N2EuNDk0LjQ5NCAwIDAgMC0uNDg5LS4zOVptMTMuMjExLjAwNGEuNTAyLjUwMiAwIDAgMC0uNDkyLjM5bC0xLjE5MSA1LjU2M2EuNDk3LjQ5NyAwIDAgMCAuOTcyLjIwN2wxLjE5Mi01LjU2M2EuNDkyLjQ5MiAwIDAgMC0uNDgtLjU5N1ptLTE2LjM5OC44ODZhLjU0OC41NDggMCAwIDAtLjE5NS4wMjQuNDkyLjQ5MiAwIDAgMC0uMzIuNjJsLjc0NSAyLjI3NGEuNDkzLjQ5MyAwIDAgMCAuNjI1LjMxNy40OS40OSAwIDAgMCAuMzItLjYyMWwtLjc0NS0yLjI3NGEuNS41IDAgMCAwLS40My0uMzRabTE5LjU2Ni4wMDRhLjUuNSAwIDAgMC0uNDMuMzM2bC0uNzQ1IDIuMjc4YS40OTYuNDk2IDAgMCAwIC45NDUuMzA0bC43NDYtMi4yNzdhLjQ5LjQ5IDAgMCAwLS41MTYtLjY0Wm0tMjIuNzE4IDEuMTRhLjQ5Mi40OTIgMCAwIDAtLjQ0NS42OTVsMi4zMjcgNS4xOTdhLjQ5Ny40OTcgMCAwIDAgLjkxLS40MDJsLTIuMzMxLTUuMTk2YS40OTMuNDkzIDAgMCAwLS40NjEtLjI5M1ptMjUuOTEuMDJhLjQ5NC40OTQgMCAwIDAtLjQ2NS4yOTNsLTIuMzM2IDUuMTkyYy0uMTEzLjI1IDAgLjUzOS4yNS42NDguMjU0LjExNC41NDcgMCAuNjU2LS4yNDZsMi4zMzYtNS4xOTVhLjQ4OC40ODggMCAwIDAtLjI1LS42NDkuNDg2LjQ4NiAwIDAgMC0uMTkxLS4wNDNaTTIzLjIxIDguOTU3YS40OTEuNDkxIDAgMCAwLS4yODEuMDY2LjQ5LjQ5IDAgMCAwLS4xODQuNjcybDEuMjA3IDIuMDc1YS41LjUgMCAwIDAgLjY4LjE4LjQ5NC40OTQgMCAwIDAgLjE4My0uNjc3bC0xLjIwNy0yLjA3YS41LjUgMCAwIDAtLjM5OC0uMjQ2Wm0zMS43MjcgMGEuNS41IDAgMCAwLS4zOTkuMjQ2bC0xLjIwNyAyLjA3YS40OTQuNDk0IDAgMCAwIC4xODQuNjc2LjUuNSAwIDAgMCAuNjgtLjE4bDEuMjA2LTIuMDc0YS40OS40OSAwIDAgMC0uMTgzLS42NzIuNTI0LjUyNCAwIDAgMC0uMjgyLS4wNjZaTTIwLjM3IDEwLjcxNWEuNTAxLjUwMSAwIDAgMC0uMjczLjA5NC40ODcuNDg3IDAgMCAwLS4xMTQuNjg3bDMuMzY4IDQuNjAyYS41LjUgMCAwIDAgLjY5NS4xMTMuNDkuNDkgMCAwIDAgLjExLS42OTFsLTMuMzY4LTQuNjAyYS41MDIuNTAyIDAgMCAwLS40MTgtLjIwM1ptMzcuNDQyLjAyN2EuNDg4LjQ4OCAwIDAgMC0uNDE4LjJsLTMuMzc1IDQuNTk3YS40OTQuNDk0IDAgMCAwIC4xMDkuNjkxYy4yMjMuMTYuNTM1LjExLjY5NS0uMTA5bDMuMzc1LTQuNTk4YS40OS40OSAwIDAgMC0uMTEtLjY4Ny40NjUuNDY1IDAgMCAwLS4yNzYtLjA5NFptLTM5Ljk4MSAyLjA4NmEuNDk2LjQ5NiAwIDAgMC0uMzYuMTI1LjQ4Ny40ODcgMCAwIDAtLjAzOC42OTVsMS42MTcgMS43NzhhLjQ5NS40OTUgMCAxIDAgLjczOC0uNjZsLTEuNjEzLTEuNzc0YS40OTUuNDk1IDAgMCAwLS4zNDQtLjE2NFptNDIuNDg4LjAwNGEuNTA2LjUwNiAwIDAgMC0uMzQzLjE2bC0xLjYxNCAxLjc3OGEuNDkxLjQ5MSAwIDAgMCAuMDQuNjk5Yy4yMDIuMTguNTE1LjE2NC42OTktLjA0bDEuNjE3LTEuNzc3YS40ODcuNDg3IDAgMCAwLS4wNC0uNjk1LjQ5Ni40OTYgMCAwIDAtLjM1OS0uMTI1Wm0tNDQuOTI1IDIuMzEzYS41MTEuNTExIDAgMCAwLS4zNDQuMTY0LjQ5LjQ5IDAgMCAwIC4wMzkuNjk1bDQuMjYyIDMuODA1YS41LjUgMCAwIDAgLjcwMy0uMDM2LjQ5MS40OTEgMCAwIDAtLjA0LS42OTlsLTQuMjYxLTMuOGEuNS41IDAgMCAwLS4zNi0uMTNabTQ3LjM3NS4wMmEuNDk2LjQ5NiAwIDAgMC0uMzYuMTI0bC00LjI2NSAzLjhhLjQ5LjQ5IDAgMCAwLS4wNC42OTZjLjE4OC4yMDMuNS4yMTkuNzA0LjA0bDQuMjY1LTMuODAyYS40OS40OSAwIDAgMC0uMzA1LS44NlpNMTMuMzcgMTcuNzI2YS41MDIuNTAyIDAgMCAwLS40MTguMjAzLjQ4Ni40ODYgMCAwIDAgLjExLjY4N2wxLjk0OSAxLjQwNmMuMjIyLjE2LjUzNS4xMTQuNjk1LS4xMDlhLjQ4Ni40ODYgMCAwIDAtLjExLS42ODdsLTEuOTQ5LTEuNDA3YS41MjUuNTI1IDAgMCAwLS4yNzctLjA5M1ptNTEuNDE4LjAyYS40ODEuNDgxIDAgMCAwLS4yNzMuMDkzbC0xLjk1NCAxLjQwMmEuNDk0LjQ5NCAwIDAgMC0uMTA5LjY5MmMuMTYuMjE4LjQ3My4yNy42OTUuMTA5bDEuOTU0LTEuNDA2YS40OS40OSAwIDAgMCAuMTA5LS42ODguNDg5LjQ4OSAwIDAgMC0uNDIyLS4yMDNaTTExLjQ4IDIwLjQ4YS40OS40OSAwIDAgMC0uMjE1LjkxOGw0Ljk2NSAyLjg0NGEuNS41IDAgMCAwIC42OC0uMTguNDkyLjQ5MiAwIDAgMC0uMTgtLjY3NWwtNC45NjgtMi44NGEuNDkxLjQ5MSAwIDAgMC0uMjgyLS4wNjdabTU1LjE4OCAwYS40NjIuNDYyIDAgMCAwLS4yODEuMDY3bC00Ljk2OSAyLjg0YS40OTIuNDkyIDAgMCAwLS4xOC42NzUuNS41IDAgMCAwIC42OC4xOGw0Ljk2NS0yLjg0NGEuNDkuNDkgMCAwIDAtLjIxNS0uOTE4Wm0tNTYuNjE3IDIuOTM0YS40OTQuNDk0IDAgMCAwLS4yMTUuOTQ1bDIuMjAzLjk3M2MuMjU0LjExLjU0NyAwIC42NTYtLjI1YS40ODUuNDg1IDAgMCAwLS4yNS0uNjQ4bC0yLjIwMy0uOTc3YS40ODYuNDg2IDAgMCAwLS4xOTEtLjA0M1ptNTguMDU4LjAyYS41NDUuNTQ1IDAgMCAwLS4xOTEuMDQzbC0yLjIwNy45NzJhLjQ5Mi40OTIgMCAwIDAtLjI1LjY1My41LjUgMCAwIDAgLjY1Ni4yNWwyLjIwMy0uOTczYS40OTMuNDkzIDAgMCAwIC4yNTQtLjY1Mi40OTguNDk4IDAgMCAwLS40NjUtLjI5M1pNOC43NzMgMjYuNDhhLjQ5Mi40OTIgMCAwIDAtLjExLjk2bDUuNDUgMS43NjNhLjQ5Mi40OTIgMCAxIDAgLjMwOS0uOTM4bC01LjQ1My0xLjc2MWEuNTQ4LjU0OCAwIDAgMC0uMTk2LS4wMjRabTYwLjYxLjAyNGEuNDE1LjQxNSAwIDAgMC0uMTk1LjAyM2wtNS40NTggMS43NTRhLjQ5My40OTMgMCAxIDAgLjMwOS45MzhsNS40NTMtMS43NTRhLjQ5NS40OTUgMCAwIDAgLjMyLS42MjUuNDk2LjQ5NiAwIDAgMC0uNDMtLjMzNlptLTYxLjQwMyAzLjJhLjQ5NC40OTQgMCAwIDAtLjQ5Mi4zOS40OTMuNDkzIDAgMCAwIC4zODcuNTgybDIuMzYuNDk2Yy4yNjkuMDU4LjUzLS4xMS41OS0uMzc5YS40OTMuNDkzIDAgMCAwLS4zODctLjU4MmwtMi4zNi0uNWEuODIyLjgyMiAwIDAgMC0uMDk4LS4wMDhabTYyLjE5Mi4wMDNjLS4wMzUgMC0uMDY3LjAwNC0uMTAyLjAwOGwtMi4zNi41YS40OTEuNDkxIDAgMSAwIC4yMDcuOTZsMi4zNi0uNDk1YS40OS40OSAwIDAgMC0uMTA1LS45NzNaTTcuMzc5IDMyLjk0MWMtLjIzLjAyLS40MjIuMi0uNDQ1LjQzOGEuNDk1LjQ5NSAwIDAgMCAuNDQxLjU0M2w1LjcwMy41OThhLjQ5OS40OTkgMCAwIDAgLjU0Ny0uNDQyLjQ5MS40OTEgMCAwIDAtLjQ0MS0uNTM5bC01LjcwNC0uNTk4YS40NDEuNDQxIDAgMCAwLS4xMDEgMFptNjMuMzk4LjA0Yy0uMDM1IDAtLjA3IDAtLjEwMS4wMDNsLTUuNzAzLjU5YS40OTIuNDkyIDAgMSAwIC4xMDEuOThsNS43MDMtLjU5YS40OTUuNDk1IDAgMCAwIDAtLjk4NFpNNy4yODEgMzYuMjUzYS40OTMuNDkzIDAgMSAwIDAgLjk4OGgyLjQxNGEuNDkzLjQ5MyAwIDEgMCAwLS45ODhabTYxLjE3MiAwYS40OTMuNDkzIDAgMSAwIDAgLjk4OGgyLjQxNGEuNDkzLjQ5MyAwIDEgMCAwLS45ODhaTTEzLjE3NiAzOC45NGEuNDQyLjQ0MiAwIDAgMC0uMTAyIDBsLTUuNzAzLjU5YS40OTMuNDkzIDAgMSAwIC4xMDIuOThsNS43MDMtLjU5YS40OTIuNDkyIDAgMCAwIDAtLjk4Wm01MS43OTMuMDM2YS40OTMuNDkzIDAgMCAwLS4wMDQuOThsNS43MDMuNTk4YS40OTYuNDk2IDAgMCAwIC41NDctLjQzOC40OS40OSAwIDAgMC0uNDQyLS41NDNsLTUuNzAzLS41OTdhLjQ0MS40NDEgMCAwIDAtLjEwMSAwWm0tNTQuNjM3IDMuMzI4YS40NzcuNDc3IDAgMCAwLS4xMDIuMDExbC0yLjM1OS40OTZhLjQ5Ny40OTcgMCAwIDAtLjM4My41ODZjLjA1OS4yNjYuMzIuNDM4LjU5LjM4bDIuMzYtLjQ5N2EuNDkyLjQ5MiAwIDAgMCAuMzgyLS41ODYuNS41IDAgMCAwLS40ODgtLjM5Wm01Ny40ODQuMDA4YS40OS40OSAwIDAgMC0uNDg4LjM5LjQ4OC40ODggMCAwIDAgLjM4My41ODJsMi4zNi41YS40OTkuNDk5IDAgMCAwIC41OS0uMzgzLjQ5NC40OTQgMCAwIDAtLjM4NC0uNTgybC0yLjM1OS0uNWEuOTMuOTMgMCAwIDAtLjEwMi0uMDA4Wm0tNTMuNTExIDEuOTRhLjQ4NC40ODQgMCAwIDAtLjE5Ni4wMkw4LjY1NiA0Ni4wM2EuNDkyLjQ5MiAwIDEgMCAuMzA5LjkzOGw1LjQ1My0xLjc1OGEuNDkxLjQ5MSAwIDAgMC0uMTEzLS45NTdabTQ5LjUzLjAxN2EuNDkyLjQ5MiAwIDAgMC0uMTEuOTZsNS40NTUgMS43NjJhLjUuNSAwIDAgMCAuNjI1LS4zMTYuNDg3LjQ4NyAwIDAgMC0uMzE3LS42MjFsLTUuNDUzLTEuNzYyYy0uMDY2LS4wMjMtLjEzMy0uMDI3LS4yLS4wMjNabS01MS42MTIgMy44MzJhLjQ4Ni40ODYgMCAwIDAtLjE5Mi4wNDNsLTIuMjAzLjk3MmEuNDk2LjQ5NiAwIDAgMC0uMjU0LjY1My41MDMuNTAzIDAgMCAwIC42NTYuMjVsMi4yMDctLjk3M2EuNDk0LjQ5NCAwIDAgMC0uMjE1LS45NDVabTUzLjY5NS4wMmEuNDk0LjQ5NCAwIDAgMC0uNDY1LjI5MmMtLjExMy4yNSAwIC41NC4yNS42NDhsMi4yMDMuOTc3Yy4yNTQuMTEuNTQ3IDAgLjY1Ni0uMjVhLjQ5LjQ5IDAgMCAwLS4yNS0uNjUybC0yLjIwMy0uOTczYS40ODYuNDg2IDAgMCAwLS4xOTEtLjA0M1ptLTQ5LjQwMiAxLjA2NmEuNDk3LjQ5NyAwIDAgMC0uMjg2LjA2NmwtNC45NjQgMi44NDRhLjQ5LjQ5IDAgMCAwLS4xODQuNjcyYy4xNC4yMzguNDQxLjMxNi42OC4xOGw0Ljk2OC0yLjg0YS40OTIuNDkyIDAgMCAwIC4xOC0uNjc2LjQ5My40OTMgMCAwIDAtLjM5NC0uMjQ2Wm00NS4xMTcgMGEuNDkzLjQ5MyAwIDAgMC0uMzk1LjI0Ni40OTIuNDkyIDAgMCAwIC4xOC42NzVsNC45NjkgMi44NGEuNDk4LjQ5OCAwIDAgMCAuNjgtLjE4LjQ5LjQ5IDAgMCAwLS4xODQtLjY3MWwtNC45NjUtMi44NDRhLjUzLjUzIDAgMCAwLS4yODUtLjA2NlptLTQ2LjM1NiA0LjE3MWEuNTI0LjUyNCAwIDAgMC0uMjc3LjA5NGwtMS45NSAxLjQwNmEuNDkuNDkgMCAwIDAtLjExMy42ODguNS41IDAgMCAwIC42OTYuMTFsMS45NTMtMS40MDNhLjQ5LjQ5IDAgMCAwIC4xMS0uNjkxLjUwMi41MDIgMCAwIDAtLjQxOS0uMjA0Wm00Ny41ODIuMDE2YS41MDIuNTAyIDAgMCAwLS40MTguMjAzLjQ5LjQ5IDAgMCAwIC4xMS42OTJsMS45NTMgMS40MDZjLjIyMy4xNi41MzEuMTEuNjkxLS4xMWEuNDkuNDkgMCAwIDAtLjExLS42OTFsLTEuOTQ4LTEuNDAyYS40OTguNDk4IDAgMCAwLS4yNzgtLjA5OFptLTQzLjE2LjE3MmEuNDk2LjQ5NiAwIDAgMC0uMzYuMTI1bC00LjI2NSAzLjhhLjQ4Ni40ODYgMCAwIDAtLjAzNS42OTYuNDk1LjQ5NSAwIDAgMCAuNy4wMzlsNC4yNjUtMy44YS40ODcuNDg3IDAgMCAwIC4wMzktLjY5Ni41MTEuNTExIDAgMCAwLS4zNDQtLjE2NFptMzguNzM5LjAxMmEuNTExLjUxMSAwIDAgMC0uMzQ0LjE2NC40ODYuNDg2IDAgMCAwIC4wMzkuNjk1bDQuMjYyIDMuODA1YS41LjUgMCAwIDAgLjcwMy0uMDM1LjQ4Ni40ODYgMCAwIDAtLjA0LS42OTZsLTQuMjYxLTMuODA0YS41LjUgMCAwIDAtLjM2LS4xM1ptLTM0LjY5NiAzLjYxM2EuNDg3LjQ4NyAwIDAgMC0uNDE4LjIwM2wtMy4zNzUgNC41OThhLjQ5LjQ5IDAgMCAwIC4xMS42ODdjLjIyMi4xNi41MzUuMTEzLjY5NS0uMTFsMy4zNzUtNC41OTdhLjQ5LjQ5IDAgMCAwLS4zODctLjc4MVptMzAuNjMzLjAyYS41MTIuNTEyIDAgMCAwLS4yNzMuMDkzLjQ4Ni40ODYgMCAwIDAtLjExLjY4OGwzLjM2NyA0LjYwMWEuNDk1LjQ5NSAwIDEgMCAuODA1LS41NzhsLTMuMzY3LTQuNjAxYS41MDkuNTA5IDAgMCAwLS40MjItLjIwNFptLTM0Ljk4NC43MWEuNDk2LjQ5NiAwIDAgMC0uMzQ0LjE2NGwtMS42MTMgMS43NzhhLjQ4Ny40ODcgMCAwIDAgLjAzNS42OTUuNS41IDAgMCAwIC43MDMtLjAzOWwxLjYxMy0xLjc3N2EuNDg3LjQ4NyAwIDAgMC0uMDM5LS42OTYuNDkyLjQ5MiAwIDAgMC0uMzU1LS4xMjVabTM5LjM2NyAwYS41LjUgMCAwIDAtLjM2LjEzLjQ4Ny40ODcgMCAwIDAtLjAzOS42OTVsMS42MTQgMS43NzdhLjUuNSAwIDAgMCAuNzAzLjAzNS40ODYuNDg2IDAgMCAwIC4wMzktLjY5NWwtMS42MTMtMS43NzhhLjUxMS41MTEgMCAwIDAtLjM0NC0uMTY0Wm0tMzAuMzA1IDEuOTczYS40OTMuNDkzIDAgMCAwLS40Ni4yOTNsLTIuMzM3IDUuMTkxYy0uMTEzLjI1IDAgLjU0LjI1LjY1M2EuNS41IDAgMCAwIC42NTctLjI1bDIuMzM1LTUuMTkyYS40OTIuNDkyIDAgMCAwLS40NDUtLjY5NVptMjEuMjExLjAxNmEuNDkxLjQ5MSAwIDAgMC0uNDUuNjkxbDIuMzMzIDUuMTk1Yy4xMS4yNS40MDIuMzY0LjY1Ni4yNWEuNDg2LjQ4NiAwIDAgMCAuMjUtLjY0OGwtMi4zMjgtNS4xOTVhLjQ5My40OTMgMCAwIDAtLjQ2LS4yOTNabS0yNS4zMTYgMS41OWEuNDk5LjQ5OSAwIDAgMC0uMzk1LjI0NmwtMS4yMDcgMi4wN2EuNDk0LjQ5NCAwIDAgMCAuMTg0LjY3Ni40OTguNDk4IDAgMCAwIC42OC0uMTg0bDEuMjA2LTIuMDdhLjQ5LjQ5IDAgMCAwLS4xODMtLjY3Mi40OTcuNDk3IDAgMCAwLS4yODUtLjA2N1ptMjkuNDUzIDBhLjQ5Ny40OTcgMCAwIDAtLjI4NS4wNjYuNDg1LjQ4NSAwIDAgMC0uMTguNjcybDEuMjAzIDIuMDdhLjUuNSAwIDAgMCAuNjguMTg0LjQ5NC40OTQgMCAwIDAgLjE4My0uNjc2bC0xLjIwNy0yLjA3YS40OTkuNDk5IDAgMCAwLS4zOTQtLjI0N1ptLTIwLjE0NS4wNzRhLjQ5Ny40OTcgMCAwIDAtLjQ4OC4zOWwtMS4xOTEgNS41NjNhLjQ4OC40ODggMCAwIDAgLjM4Mi41ODJjLjI3LjA1OC41MzItLjExLjU5LS4zOGwxLjE5Mi01LjU1OGEuNDkzLjQ5MyAwIDAgMC0uNDg1LS41OTdabTEwLjgyLjAwNGEuNDUuNDUgMCAwIDAtLjEwMS4wMTEuNDg4LjQ4OCAwIDAgMC0uMzgzLjU4MmwxLjE4OCA1LjU2M2MuMDU0LjI3LjMyLjQzNy41OS4zNzlhLjQ5LjQ5IDAgMCAwIC4zODItLjU4MmwtMS4xODctNS41NjNhLjQ5Ny40OTcgMCAwIDAtLjQ4OC0uMzlabS01LjQwMi41NjJhLjQ5My40OTMgMCAwIDAtLjQ5Ni40OTJ2NS42ODRjMCAuMjczLjIyMy40OTIuNDk2LjQ5MmEuNDkxLjQ5MSAwIDAgMCAuNDk2LS40OTJ2LTUuNjg0YS40OTEuNDkxIDAgMCAwLS40OTYtLjQ5MlptLTkuMTI1IDEuODM2YS40OS40OSAwIDAgMC0uNDMuMzRsLS43NDYgMi4yNzNhLjQ5LjQ5IDAgMCAwIC4zMTcuNjIxLjQ5OS40OTkgMCAwIDAgLjYyOS0uMzE2bC43NDYtMi4yNzNhLjQ5LjQ5IDAgMCAwLS4zMi0uNjIyLjQ4OC40ODggMCAwIDAtLjE5Ni0uMDIzWm0xOC4yNDYgMGEuNTcuNTcgMCAwIDAtLjE5NS4wMjMuNDkyLjQ5MiAwIDAgMC0uMzIuNjIybC43NDYgMi4yNzNhLjQ5My40OTMgMCAwIDAgLjYyNS4zMTYuNDg2LjQ4NiAwIDAgMCAuMzItLjYybC0uNzQ2LTIuMjc0YS40OS40OSAwIDAgMC0uNDMtLjM0Wm0tMTIuMjQyIDEuMjdhLjQ5MS40OTEgMCAwIDAtLjQ0NS40MzdsLS4yNSAyLjM3OWEuNDg5LjQ4OSAwIDAgMCAuNDQxLjUzOS40OTMuNDkzIDAgMCAwIC41NDctLjQzN2wuMjUtMi4zOGEuNDg5LjQ4OSAwIDAgMC0uNTQzLS41MzhabTYuMjIzIDBhLjQ5LjQ5IDAgMCAwLS41NDMuNTQzbC4yNSAyLjM3OGMuMDI3LjI3LjI3LjQ2NS41NDMuNDM4YS40OTIuNDkyIDAgMCAwIC40NDUtLjU0bC0uMjUtMi4zNzhhLjQ5OS40OTkgMCAwIDAtLjQ0NS0uNDQxWm0wIDAiIHN0eWxlPSJzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOiNmNGYyZjM7ZmlsbC1vcGFjaXR5OjEiLz48dXNlIHhsaW5rOmhyZWY9IiNnIiBtYXNrPSJ1cmwoI2gpIi8+PHBhdGggZD0ibTQyLjk3MyA0MC43OTMtNy43OTctOC4wOTQgMjcuNjU2LTE4LjQ0NVptMCAwIiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmY1MTUwO2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZD0ibTQyLjk3MyA0MC43OTMtNy43OTctOC4wOTQtMTkuODYgMjYuNTRabTAgMCIgc3R5bGU9InN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6I2YxZjFmMTtmaWxsLW9wYWNpdHk6MSIvPjx1c2UgeGxpbms6aHJlZj0iI2kiIG1hc2s9InVybCgjaikiLz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L1NhZmFyaS0yUUlZS0o0UC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHlDQUF5QztBQUd2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L1NhZmFyaS0yUUlZS0o0UC5qcz8zMzhhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvU2FmYXJpLnN2Z1xudmFyIFNhZmFyaV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTnpnZ056Y2lQanhrWldaelBqeHRZWE5ySUdsa1BTSmtJajQ4WnlCbWFXeDBaWEk5SW5WeWJDZ2pZU2tpUGp4d1lYUm9JR1E5SWswd0lEQm9OemgyTnpkSU1Ib2lJSE4wZVd4bFBTSm1hV3hzT2lNd01EQTdabWxzYkMxdmNHRmphWFI1T2k0MU1qazBNVEk3YzNSeWIydGxPbTV2Ym1VaUx6NDhMMmMrUEM5dFlYTnJQanh0WVhOcklHbGtQU0pvSWo0OFp5Qm1hV3gwWlhJOUluVnliQ2dqWVNraVBqeHdZWFJvSUdROUlrMHdJREJvTnpoMk56ZElNSG9pSUhOMGVXeGxQU0ptYVd4c09pTXdNREE3Wm1sc2JDMXZjR0ZqYVhSNU9pNDBNRGM0TkRNN2MzUnliMnRsT201dmJtVWlMejQ4TDJjK1BDOXRZWE5yUGp4dFlYTnJJR2xrUFNKcUlqNDhaeUJtYVd4MFpYSTlJblZ5YkNnallTa2lQanh3WVhSb0lHUTlJazB3SURCb056aDJOemRJTUhvaUlITjBlV3hsUFNKbWFXeHNPaU13TURBN1ptbHNiQzF2Y0dGamFYUjVPaTR5TkRNeE16YzdjM1J5YjJ0bE9tNXZibVVpTHo0OEwyYytQQzl0WVhOclBqeHlZV1JwWVd4SGNtRmthV1Z1ZENCcFpEMGlaaUlnWTNnOUlqUXhNeTR3TmpFaUlHTjVQU0l4TXpZdU9ERTRJaUJ5UFNJNE1pNHhNalVpSUdaNFBTSTBNVE11TURZeElpQm1lVDBpTVRNMkxqZ3hPQ0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d1TkRVd05TQXdJREFnTGpRME5qWTBJQzB4TkRZdU9EWWdMVEk1TGpJNU1Ta2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J2Wm1aelpYUTlJakFpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05tTXlaVGM3YzNSdmNDMXZjR0ZqYVhSNU9qRWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNHlOU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCa1lqaGxZenR6ZEc5d0xXOXdZV05wZEhrNk1TSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqVWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU14TW1GbFpqRTdjM1J2Y0MxdmNHRmphWFI1T2pFaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0M05TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekZtT0RabU9UdHpkRzl3TFc5d1lXTnBkSGs2TVNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6RXdOMlJrWkR0emRHOXdMVzl3WVdOcGRIazZNU0l2UGp3dmNtRmthV0ZzUjNKaFpHbGxiblErUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbElpQjRNVDBpTkRFeUxqazNOU0lnZURJOUlqUXhNaTQ1TnpVaUlIa3hQU0l5TXpjdU5qQTRJaUI1TWowaU5Ua3VNemt5SWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtESXdOaTQzT1NBeE5Ua3VOemN6S1NCelkyRnNaU2d1TXpVeE5UUXBJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYjJabWMyVjBQU0l3SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvalltUmlaR0prTzNOMGIzQXRiM0JoWTJsMGVUb3hJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qWm1abU8zTjBiM0F0YjNCaFkybDBlVG94SWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OFkyeHBjRkJoZEdnZ2FXUTlJbUlpUGp4d1lYUm9JR1E5SWswd0lEQm9OemgyTnpkSU1Ib2lMejQ4TDJOc2FYQlFZWFJvUGp4bWFXeDBaWElnYVdROUltRWlJSGRwWkhSb1BTSXhNREFsSWlCb1pXbG5hSFE5SWpFd01DVWlJSGc5SWpBbElpQjVQU0l3SlNJZ1ptbHNkR1Z5Vlc1cGRITTlJbTlpYW1WamRFSnZkVzVrYVc1blFtOTRJajQ4Wm1WRGIyeHZjazFoZEhKcGVDQnBiajBpVTI5MWNtTmxSM0poY0docFl5SWdkbUZzZFdWelBTSXdJREFnTUNBd0lERWdNQ0F3SURBZ01DQXhJREFnTUNBd0lEQWdNU0F3SURBZ01DQXhJREFpTHo0OEwyWnBiSFJsY2o0OFp5QnBaRDBpYVNJZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTJJcElqNDhjR0YwYUNCa1BTSnRNVFV1TXpFMklEVTVMakl6T0NBeU55NDJOVGN0TVRndU5EUTFJREU1TGpnMU9TMHlOaTQxTkZwdE1DQXdJaUJ6ZEhsc1pUMGljM1J5YjJ0bE9tNXZibVU3Wm1sc2JDMXlkV3hsT201dmJucGxjbTg3Wm1sc2JEb2pNREF3TzJacGJHd3RiM0JoWTJsMGVUb3hJaTgrUEM5blBqd3ZaR1ZtY3o0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOaklpQnRZWE5yUFNKMWNtd29JMlFwSWk4K1BIQmhkR2dnWkQwaVRUTTRNeTR5T1RVZ01qRXhMamszTm1Nd0lERTNMak10TVRRdU1ESTJJRE14TGpNeU5DMHpNUzR6TWpjZ016RXVNekkwTFRFM0xqTWdNQzB6TVM0ek1qWXRNVFF1TURJMExUTXhMak15Tmkwek1TNHpNalFnTUMweE55NHpJREUwTGpBeU5pMHpNUzR6TWpRZ016RXVNekkyTFRNeExqTXlOSE16TVM0ek1qY2dNVFF1TURJMElETXhMak15TnlBek1TNHpNalJhYlRBZ01DSWdjM1I1YkdVOUltWnBiR3d0Y25Wc1pUcHViMjU2WlhKdk8yWnBiR3c2ZFhKc0tDTmxLVHR6ZEhKdmEyVXRkMmxrZEdnNkxqQTVNekF4TWpNN2MzUnliMnRsTFd4cGJtVmpZWEE2Y205MWJtUTdjM1J5YjJ0bExXeHBibVZxYjJsdU9uSnZkVzVrTzNOMGNtOXJaVG9qWTJSalpHTmtPM04wY205clpTMXZjR0ZqYVhSNU9qRTdjM1J5YjJ0bExXMXBkR1Z5YkdsdGFYUTZOQ0lnZEhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTVM0eE9ERXhJREFnTUNBeExqRTNNRGsySUMwek56WXVOak0zSUMweU1URXVORGNwSWk4K1BIQmhkR2dnWkQwaVRUY3pMakUzTWlBek5pNDNORFpqTUNBeE9DNDJOekl0TVRVdU1qWTJJRE16TGpnd09TMHpOQzR3T1RnZ016TXVPREE1VXpRdU9UYzNJRFUxTGpReE9DQTBMamszTnlBek5pNDNORFpqTUMweE9DNDJOeklnTVRVdU1qWTFMVE16TGpnd05TQXpOQzR3T1RjdE16TXVPREExY3pNMExqQTVPQ0F4TlM0eE16TWdNelF1TURrNElETXpMamd3TlZwdE1DQXdJaUJ6ZEhsc1pUMGljM1J5YjJ0bE9tNXZibVU3Wm1sc2JDMXlkV3hsT201dmJucGxjbTg3Wm1sc2JEcDFjbXdvSTJZcElpOCtQSEJoZEdnZ1pEMGlUVE01TGpBM05DQTBMamN3TTJFdU5Ea3pMalE1TXlBd0lEQWdNQzB1TkRrMkxqUTVNblkxTGpZNE9HTXdJQzR5TnpNdU1qSXpMalE1TWk0ME9UWXVORGt5WVM0ME9URXVORGt4SURBZ01DQXdJQzQwT1RZdExqUTVNbFkxTGpFNU5XRXVORGt4TGpRNU1TQXdJREFnTUMwdU5EazJMUzQwT1RKYWJTMHpMakkxTkM0eU1ETmhMalE1TlM0ME9UVWdNQ0F3SURBdExqVTBNeTQxTkROc0xqSTFJREl1TXpoaExqVXVOU0F3SURBZ01DQXVOVFEzTGpRek55NDBPRGt1TkRnNUlEQWdNQ0F3SUM0ME5ESXRMalUwYkMwdU1qVXRNaTR6TnpoaExqUTVOUzQwT1RVZ01DQXdJREF0TGpRME5pMHVORFF5V20wMkxqVXlPQzR3TURSakxTNHlNeTR3TWkwdU5ERTRMakl0TGpRME5pNDBNemhzTFM0eU5TQXlMak0zT1dFdU5Ea3VORGtnTUNBd0lEQWdMalEwTWk0MU5ETXVORGsyTGpRNU5pQXdJREFnTUNBdU5UUTNMUzQwTXpoc0xqSTFOQzB5TGpNM09XRXVORGsyTGpRNU5pQXdJREFnTUMwdU5UUTNMUzQxTkROYWJTMDVMamcyT0M0ME56ZGhMalE1TXk0ME9UTWdNQ0F3SURBdExqUTROQzQxT1Roc01TNHhPRGdnTlM0MU5UaGpMakExT0M0eU55NHpNaTQwTXpjdU5Ua3VNemd6WVM0ME9USXVORGt5SURBZ01DQXdJQzR6T0RJdExqVTROa3d6TWk0NU55QTFMamMzTjJFdU5EazBMalE1TkNBd0lEQWdNQzB1TkRnNUxTNHpPVnB0TVRNdU1qRXhMakF3TkdFdU5UQXlMalV3TWlBd0lEQWdNQzB1TkRreUxqTTViQzB4TGpFNU1TQTFMalUyTTJFdU5EazNMalE1TnlBd0lEQWdNQ0F1T1RjeUxqSXdOMnd4TGpFNU1pMDFMalUyTTJFdU5Ea3lMalE1TWlBd0lEQWdNQzB1TkRndExqVTVOMXB0TFRFMkxqTTVPQzQ0T0RaaExqVTBPQzQxTkRnZ01DQXdJREF0TGpFNU5TNHdNalF1TkRreUxqUTVNaUF3SURBZ01DMHVNekl1TmpKc0xqYzBOU0F5TGpJM05HRXVORGt6TGpRNU15QXdJREFnTUNBdU5qSTFMak14Tnk0ME9TNDBPU0F3SURBZ01DQXVNekl0TGpZeU1Xd3RMamMwTlMweUxqSTNOR0V1TlM0MUlEQWdNQ0F3TFM0ME15MHVNelJhYlRFNUxqVTJOaTR3TURSaExqVXVOU0F3SURBZ01DMHVORE11TXpNMmJDMHVOelExSURJdU1qYzRZUzQwT1RZdU5EazJJREFnTUNBd0lDNDVORFV1TXpBMGJDNDNORFl0TWk0eU56ZGhMalE1TGpRNUlEQWdNQ0F3TFM0MU1UWXRMalkwV20wdE1qSXVOekU0SURFdU1UUmhMalE1TWk0ME9USWdNQ0F3SURBdExqUTBOUzQyT1RWc01pNHpNamNnTlM0eE9UZGhMalE1Tnk0ME9UY2dNQ0F3SURBZ0xqa3hMUzQwTURKc0xUSXVNek14TFRVdU1UazJZUzQwT1RNdU5Ea3pJREFnTUNBd0xTNDBOakV0TGpJNU0xcHRNalV1T1RFdU1ESmhMalE1TkM0ME9UUWdNQ0F3SURBdExqUTJOUzR5T1ROc0xUSXVNek0ySURVdU1Ua3lZeTB1TVRFekxqSTFJREFnTGpVek9TNHlOUzQyTkRndU1qVTBMakV4TkM0MU5EY2dNQ0F1TmpVMkxTNHlORFpzTWk0ek16WXROUzR4T1RWaExqUTRPQzQwT0RnZ01DQXdJREF0TGpJMUxTNDJORGt1TkRnMkxqUTROaUF3SURBZ01DMHVNVGt4TFM0d05ETmFUVEl6TGpJeElEZ3VPVFUzWVM0ME9URXVORGt4SURBZ01DQXdMUzR5T0RFdU1EWTJMalE1TGpRNUlEQWdNQ0F3TFM0eE9EUXVOamN5YkRFdU1qQTNJREl1TURjMVlTNDFMalVnTUNBd0lEQWdMalk0TGpFNExqUTVOQzQwT1RRZ01DQXdJREFnTGpFNE15MHVOamMzYkMweExqSXdOeTB5TGpBM1lTNDFMalVnTUNBd0lEQXRMak01T0MwdU1qUTJXbTB6TVM0M01qY2dNR0V1TlM0MUlEQWdNQ0F3TFM0ek9Ua3VNalEyYkMweExqSXdOeUF5TGpBM1lTNDBPVFF1TkRrMElEQWdNQ0F3SUM0eE9EUXVOamMyTGpVdU5TQXdJREFnTUNBdU5qZ3RMakU0YkRFdU1qQTJMVEl1TURjMFlTNDBPUzQwT1NBd0lEQWdNQzB1TVRnekxTNDJOekl1TlRJMExqVXlOQ0F3SURBZ01DMHVNamd5TFM0d05qWmFUVEl3TGpNM0lERXdMamN4TldFdU5UQXhMalV3TVNBd0lEQWdNQzB1TWpjekxqQTVOQzQwT0RjdU5EZzNJREFnTUNBd0xTNHhNVFF1TmpnM2JETXVNelk0SURRdU5qQXlZUzQxTGpVZ01DQXdJREFnTGpZNU5TNHhNVE11TkRrdU5Ea2dNQ0F3SURBZ0xqRXhMUzQyT1RGc0xUTXVNelk0TFRRdU5qQXlZUzQxTURJdU5UQXlJREFnTUNBd0xTNDBNVGd0TGpJd00xcHRNemN1TkRReUxqQXlOMkV1TkRnNExqUTRPQ0F3SURBZ01DMHVOREU0TGpKc0xUTXVNemMxSURRdU5UazNZUzQwT1RRdU5EazBJREFnTUNBd0lDNHhNRGt1TmpreFl5NHlNak11TVRZdU5UTTFMakV4TGpZNU5TMHVNVEE1YkRNdU16YzFMVFF1TlRrNFlTNDBPUzQwT1NBd0lEQWdNQzB1TVRFdExqWTROeTQwTmpVdU5EWTFJREFnTUNBd0xTNHlOell0TGpBNU5GcHRMVE01TGprNE1TQXlMakE0Tm1FdU5EazJMalE1TmlBd0lEQWdNQzB1TXpZdU1USTFMalE0Tnk0ME9EY2dNQ0F3SURBdExqQXpPQzQyT1RWc01TNDJNVGNnTVM0M056aGhMalE1TlM0ME9UVWdNQ0F4SURBZ0xqY3pPQzB1Tmpac0xURXVOakV6TFRFdU56YzBZUzQwT1RVdU5EazFJREFnTUNBd0xTNHpORFF0TGpFMk5GcHROREl1TkRnNExqQXdOR0V1TlRBMkxqVXdOaUF3SURBZ01DMHVNelF6TGpFMmJDMHhMall4TkNBeExqYzNPR0V1TkRreExqUTVNU0F3SURBZ01DQXVNRFF1TmprNVl5NHlNREl1TVRndU5URTFMakUyTkM0Mk9Ua3RMakEwYkRFdU5qRTNMVEV1TnpjM1lTNDBPRGN1TkRnM0lEQWdNQ0F3TFM0d05DMHVOamsxTGpRNU5pNDBPVFlnTUNBd0lEQXRMak0xT1MwdU1USTFXbTB0TkRRdU9USTFJREl1TXpFellTNDFNVEV1TlRFeElEQWdNQ0F3TFM0ek5EUXVNVFkwTGpRNUxqUTVJREFnTUNBd0lDNHdNemt1TmprMWJEUXVNall5SURNdU9EQTFZUzQxTGpVZ01DQXdJREFnTGpjd015MHVNRE0yTGpRNU1TNDBPVEVnTUNBd0lEQXRMakEwTFM0Mk9UbHNMVFF1TWpZeExUTXVPR0V1TlM0MUlEQWdNQ0F3TFM0ek5pMHVNVE5hYlRRM0xqTTNOUzR3TW1FdU5EazJMalE1TmlBd0lEQWdNQzB1TXpZdU1USTBiQzAwTGpJMk5TQXpMamhoTGpRNUxqUTVJREFnTUNBd0xTNHdOQzQyT1RaakxqRTRPQzR5TURNdU5TNHlNVGt1TnpBMExqQTBiRFF1TWpZMUxUTXVPREF5WVM0ME9TNDBPU0F3SURBZ01DMHVNekExTFM0NE5scE5NVE11TXpjZ01UY3VOekkyWVM0MU1ESXVOVEF5SURBZ01DQXdMUzQwTVRndU1qQXpMalE0Tmk0ME9EWWdNQ0F3SURBZ0xqRXhMalk0TjJ3eExqazBPU0F4TGpRd05tTXVNakl5TGpFMkxqVXpOUzR4TVRRdU5qazFMUzR4TURsaExqUTROaTQwT0RZZ01DQXdJREF0TGpFeExTNDJPRGRzTFRFdU9UUTVMVEV1TkRBM1lTNDFNalV1TlRJMUlEQWdNQ0F3TFM0eU56Y3RMakE1TTFwdE5URXVOREU0TGpBeVlTNDBPREV1TkRneElEQWdNQ0F3TFM0eU56TXVNRGt6YkMweExqazFOQ0F4TGpRd01tRXVORGswTGpRNU5DQXdJREFnTUMwdU1UQTVMalk1TW1NdU1UWXVNakU0TGpRM015NHlOeTQyT1RVdU1UQTViREV1T1RVMExURXVOREEyWVM0ME9TNDBPU0F3SURBZ01DQXVNVEE1TFM0Mk9EZ3VORGc1TGpRNE9TQXdJREFnTUMwdU5ESXlMUzR5TUROYVRURXhMalE0SURJd0xqUTRZUzQwT1M0ME9TQXdJREFnTUMwdU1qRTFMamt4T0d3MExqazJOU0F5TGpnME5HRXVOUzQxSURBZ01DQXdJQzQyT0MwdU1UZ3VORGt5TGpRNU1pQXdJREFnTUMwdU1UZ3RMalkzTld3dE5DNDVOamd0TWk0NE5HRXVORGt4TGpRNU1TQXdJREFnTUMwdU1qZ3lMUzR3TmpkYWJUVTFMakU0T0NBd1lTNDBOakl1TkRZeUlEQWdNQ0F3TFM0eU9ERXVNRFkzYkMwMExqazJPU0F5TGpnMFlTNDBPVEl1TkRreUlEQWdNQ0F3TFM0eE9DNDJOelV1TlM0MUlEQWdNQ0F3SUM0Mk9DNHhPR3cwTGprMk5TMHlMamcwTkdFdU5Ea3VORGtnTUNBd0lEQXRMakl4TlMwdU9URTRXbTB0TlRZdU5qRTNJREl1T1RNMFlTNDBPVFF1TkRrMElEQWdNQ0F3TFM0eU1UVXVPVFExYkRJdU1qQXpMamszTTJNdU1qVTBMakV4TGpVME55QXdJQzQyTlRZdExqSTFZUzQwT0RVdU5EZzFJREFnTUNBd0xTNHlOUzB1TmpRNGJDMHlMakl3TXkwdU9UYzNZUzQwT0RZdU5EZzJJREFnTUNBd0xTNHhPVEV0TGpBME0xcHROVGd1TURVNExqQXlZUzQxTkRVdU5UUTFJREFnTUNBd0xTNHhPVEV1TURRemJDMHlMakl3Tnk0NU56SmhMalE1TWk0ME9USWdNQ0F3SURBdExqSTFMalkxTXk0MUxqVWdNQ0F3SURBZ0xqWTFOaTR5Tld3eUxqSXdNeTB1T1RjellTNDBPVE11TkRreklEQWdNQ0F3SUM0eU5UUXRMalkxTWk0ME9UZ3VORGs0SURBZ01DQXdMUzQwTmpVdExqSTVNMXBOT0M0M056TWdNall1TkRoaExqUTVNaTQwT1RJZ01DQXdJREF0TGpFeExqazJiRFV1TkRVZ01TNDNOak5oTGpRNU1pNDBPVElnTUNBeElEQWdMak13T1MwdU9UTTRiQzAxTGpRMU15MHhMamMyTVdFdU5UUTRMalUwT0NBd0lEQWdNQzB1TVRrMkxTNHdNalJhYlRZd0xqWXhMakF5TkdFdU5ERTFMalF4TlNBd0lEQWdNQzB1TVRrMUxqQXlNMnd0TlM0ME5UZ2dNUzQzTlRSaExqUTVNeTQwT1RNZ01DQXhJREFnTGpNd09TNDVNemhzTlM0ME5UTXRNUzQzTlRSaExqUTVOUzQwT1RVZ01DQXdJREFnTGpNeUxTNDJNalV1TkRrMkxqUTVOaUF3SURBZ01DMHVORE10TGpNek5scHRMVFl4TGpRd015QXpMakpoTGpRNU5DNDBPVFFnTUNBd0lEQXRMalE1TWk0ek9TNDBPVE11TkRreklEQWdNQ0F3SUM0ek9EY3VOVGd5YkRJdU16WXVORGsyWXk0eU5qa3VNRFU0TGpVekxTNHhNUzQxT1MwdU16YzVZUzQwT1RNdU5Ea3pJREFnTUNBd0xTNHpPRGN0TGpVNE1td3RNaTR6TmkwdU5XRXVPREl5TGpneU1pQXdJREFnTUMwdU1EazRMUzR3TURoYWJUWXlMakU1TWk0d01ETmpMUzR3TXpVZ01DMHVNRFkzTGpBd05DMHVNVEF5TGpBd09Hd3RNaTR6Tmk0MVlTNDBPVEV1TkRreElEQWdNU0F3SUM0eU1EY3VPVFpzTWk0ek5pMHVORGsxWVM0ME9TNDBPU0F3SURBZ01DMHVNVEExTFM0NU56TmFUVGN1TXpjNUlETXlMamswTVdNdExqSXpMakF5TFM0ME1qSXVNaTB1TkRRMUxqUXpPR0V1TkRrMUxqUTVOU0F3SURBZ01DQXVORFF4TGpVME0ydzFMamN3TXk0MU9UaGhMalE1T1M0ME9Ua2dNQ0F3SURBZ0xqVTBOeTB1TkRReUxqUTVNUzQwT1RFZ01DQXdJREF0TGpRME1TMHVOVE01YkMwMUxqY3dOQzB1TlRrNFlTNDBOREV1TkRReElEQWdNQ0F3TFM0eE1ERWdNRnB0TmpNdU16azRMakEwWXkwdU1ETTFJREF0TGpBM0lEQXRMakV3TVM0d01ETnNMVFV1TnpBekxqVTVZUzQwT1RJdU5Ea3lJREFnTVNBd0lDNHhNREV1T1Roc05TNDNNRE10TGpVNVlTNDBPVFV1TkRrMUlEQWdNQ0F3SURBdExqazRORnBOTnk0eU9ERWdNell1TWpVellTNDBPVE11TkRreklEQWdNU0F3SURBZ0xqazRPR2d5TGpReE5HRXVORGt6TGpRNU15QXdJREVnTUNBd0xTNDVPRGhhYlRZeExqRTNNaUF3WVM0ME9UTXVORGt6SURBZ01TQXdJREFnTGprNE9HZ3lMalF4TkdFdU5Ea3pMalE1TXlBd0lERWdNQ0F3TFM0NU9EaGFUVEV6TGpFM05pQXpPQzQ1TkdFdU5EUXlMalEwTWlBd0lEQWdNQzB1TVRBeUlEQnNMVFV1TnpBekxqVTVZUzQwT1RNdU5Ea3pJREFnTVNBd0lDNHhNREl1T1Roc05TNDNNRE10TGpVNVlTNDBPVEl1TkRreUlEQWdNQ0F3SURBdExqazRXbTAxTVM0M09UTXVNRE0yWVM0ME9UTXVORGt6SURBZ01DQXdMUzR3TURRdU9UaHNOUzQzTURNdU5UazRZUzQwT1RZdU5EazJJREFnTUNBd0lDNDFORGN0TGpRek9DNDBPUzQwT1NBd0lEQWdNQzB1TkRReUxTNDFORE5zTFRVdU56QXpMUzQxT1RkaExqUTBNUzQwTkRFZ01DQXdJREF0TGpFd01TQXdXbTB0TlRRdU5qTTNJRE11TXpJNFlTNDBOemN1TkRjM0lEQWdNQ0F3TFM0eE1ESXVNREV4YkMweUxqTTFPUzQwT1RaaExqUTVOeTQwT1RjZ01DQXdJREF0TGpNNE15NDFPRFpqTGpBMU9TNHlOall1TXpJdU5ETTRMalU1TGpNNGJESXVNell0TGpRNU4yRXVORGt5TGpRNU1pQXdJREFnTUNBdU16Z3lMUzQxT0RZdU5TNDFJREFnTUNBd0xTNDBPRGd0TGpNNVdtMDFOeTQwT0RRdU1EQTRZUzQwT1M0ME9TQXdJREFnTUMwdU5EZzRMak01TGpRNE9DNDBPRGdnTUNBd0lEQWdMak00TXk0MU9ESnNNaTR6Tmk0MVlTNDBPVGt1TkRrNUlEQWdNQ0F3SUM0MU9TMHVNemd6TGpRNU5DNDBPVFFnTUNBd0lEQXRMak00TkMwdU5UZ3liQzB5TGpNMU9TMHVOV0V1T1RNdU9UTWdNQ0F3SURBdExqRXdNaTB1TURBNFdtMHROVE11TlRFeElERXVPVFJoTGpRNE5DNDBPRFFnTUNBd0lEQXRMakU1Tmk0d01rdzRMalkxTmlBME5pNHdNMkV1TkRreUxqUTVNaUF3SURFZ01DQXVNekE1TGprek9HdzFMalExTXkweExqYzFPR0V1TkRreExqUTVNU0F3SURBZ01DMHVNVEV6TFM0NU5UZGFiVFE1TGpVekxqQXhOMkV1TkRreUxqUTVNaUF3SURBZ01DMHVNVEV1T1Rac05TNDBOVFVnTVM0M05qSmhMalV1TlNBd0lEQWdNQ0F1TmpJMUxTNHpNVFl1TkRnM0xqUTROeUF3SURBZ01DMHVNekUzTFM0Mk1qRnNMVFV1TkRVekxURXVOell5WXkwdU1EWTJMUzR3TWpNdExqRXpNeTB1TURJM0xTNHlMUzR3TWpOYWJTMDFNUzQyTVRJZ015NDRNekpoTGpRNE5pNDBPRFlnTUNBd0lEQXRMakU1TWk0d05ETnNMVEl1TWpBekxqazNNbUV1TkRrMkxqUTVOaUF3SURBZ01DMHVNalUwTGpZMU15NDFNRE11TlRBeklEQWdNQ0F3SUM0Mk5UWXVNalZzTWk0eU1EY3RMamszTTJFdU5EazBMalE1TkNBd0lEQWdNQzB1TWpFMUxTNDVORFZhYlRVekxqWTVOUzR3TW1FdU5EazBMalE1TkNBd0lEQWdNQzB1TkRZMUxqSTVNbU10TGpFeE15NHlOU0F3SUM0MU5DNHlOUzQyTkRoc01pNHlNRE11T1RjM1l5NHlOVFF1TVRFdU5UUTNJREFnTGpZMU5pMHVNalZoTGpRNUxqUTVJREFnTUNBd0xTNHlOUzB1TmpVeWJDMHlMakl3TXkwdU9UY3pZUzQwT0RZdU5EZzJJREFnTUNBd0xTNHhPVEV0TGpBME0xcHRMVFE1TGpRd01pQXhMakEyTm1FdU5EazNMalE1TnlBd0lEQWdNQzB1TWpnMkxqQTJObXd0TkM0NU5qUWdNaTQ0TkRSaExqUTVMalE1SURBZ01DQXdMUzR4T0RRdU5qY3lZeTR4TkM0eU16Z3VORFF4TGpNeE5pNDJPQzR4T0d3MExqazJPQzB5TGpnMFlTNDBPVEl1TkRreUlEQWdNQ0F3SUM0eE9DMHVOamMyTGpRNU15NDBPVE1nTUNBd0lEQXRMak01TkMwdU1qUTJXbTAwTlM0eE1UY2dNR0V1TkRrekxqUTVNeUF3SURBZ01DMHVNemsxTGpJME5pNDBPVEl1TkRreUlEQWdNQ0F3SUM0eE9DNDJOelZzTkM0NU5qa2dNaTQ0TkdFdU5EazRMalE1T0NBd0lEQWdNQ0F1TmpndExqRTRMalE1TGpRNUlEQWdNQ0F3TFM0eE9EUXRMalkzTVd3dE5DNDVOalV0TWk0NE5EUmhMalV6TGpVeklEQWdNQ0F3TFM0eU9EVXRMakEyTmxwdExUUTJMak0xTmlBMExqRTNNV0V1TlRJMExqVXlOQ0F3SURBZ01DMHVNamMzTGpBNU5Hd3RNUzQ1TlNBeExqUXdObUV1TkRrdU5Ea2dNQ0F3SURBdExqRXhNeTQyT0RndU5TNDFJREFnTUNBd0lDNDJPVFl1TVRGc01TNDVOVE10TVM0ME1ETmhMalE1TGpRNUlEQWdNQ0F3SUM0eE1TMHVOamt4TGpVd01pNDFNRElnTUNBd0lEQXRMalF4T1MwdU1qQTBXbTAwTnk0MU9ESXVNREUyWVM0MU1ESXVOVEF5SURBZ01DQXdMUzQwTVRndU1qQXpMalE1TGpRNUlEQWdNQ0F3SUM0eE1TNDJPVEpzTVM0NU5UTWdNUzQwTURaakxqSXlNeTR4Tmk0MU16RXVNVEV1TmpreExTNHhNV0V1TkRrdU5Ea2dNQ0F3SURBdExqRXhMUzQyT1RGc0xURXVPVFE0TFRFdU5EQXlZUzQwT1RndU5EazRJREFnTUNBd0xTNHlOemd0TGpBNU9GcHRMVFF6TGpFMkxqRTNNbUV1TkRrMkxqUTVOaUF3SURBZ01DMHVNell1TVRJMWJDMDBMakkyTlNBekxqaGhMalE0Tmk0ME9EWWdNQ0F3SURBdExqQXpOUzQyT1RZdU5EazFMalE1TlNBd0lEQWdNQ0F1Tnk0d016bHNOQzR5TmpVdE15NDRZUzQwT0RjdU5EZzNJREFnTUNBd0lDNHdNemt0TGpZNU5pNDFNVEV1TlRFeElEQWdNQ0F3TFM0ek5EUXRMakUyTkZwdE16Z3VOek01TGpBeE1tRXVOVEV4TGpVeE1TQXdJREFnTUMwdU16UTBMakUyTkM0ME9EWXVORGcySURBZ01DQXdJQzR3TXprdU5qazFiRFF1TWpZeUlETXVPREExWVM0MUxqVWdNQ0F3SURBZ0xqY3dNeTB1TURNMUxqUTROaTQwT0RZZ01DQXdJREF0TGpBMExTNDJPVFpzTFRRdU1qWXhMVE11T0RBMFlTNDFMalVnTUNBd0lEQXRMak0yTFM0eE0xcHRMVE0wTGpZNU5pQXpMall4TTJFdU5EZzNMalE0TnlBd0lEQWdNQzB1TkRFNExqSXdNMnd0TXk0ek56VWdOQzQxT1RoaExqUTVMalE1SURBZ01DQXdJQzR4TVM0Mk9EZGpMakl5TWk0eE5pNDFNelV1TVRFekxqWTVOUzB1TVRGc015NHpOelV0TkM0MU9UZGhMalE1TGpRNUlEQWdNQ0F3TFM0ek9EY3RMamM0TVZwdE16QXVOak16TGpBeVlTNDFNVEl1TlRFeUlEQWdNQ0F3TFM0eU56TXVNRGt6TGpRNE5pNDBPRFlnTUNBd0lEQXRMakV4TGpZNE9Hd3pMak0yTnlBMExqWXdNV0V1TkRrMUxqUTVOU0F3SURFZ01DQXVPREExTFM0MU56aHNMVE11TXpZM0xUUXVOakF4WVM0MU1Ea3VOVEE1SURBZ01DQXdMUzQwTWpJdExqSXdORnB0TFRNMExqazROQzQzTVdFdU5EazJMalE1TmlBd0lEQWdNQzB1TXpRMExqRTJOR3d0TVM0Mk1UTWdNUzQzTnpoaExqUTROeTQwT0RjZ01DQXdJREFnTGpBek5TNDJPVFV1TlM0MUlEQWdNQ0F3SUM0M01ETXRMakF6T1d3eExqWXhNeTB4TGpjM04yRXVORGczTGpRNE55QXdJREFnTUMwdU1ETTVMUzQyT1RZdU5Ea3lMalE1TWlBd0lEQWdNQzB1TXpVMUxTNHhNalZhYlRNNUxqTTJOeUF3WVM0MUxqVWdNQ0F3SURBdExqTTJMakV6TGpRNE55NDBPRGNnTUNBd0lEQXRMakF6T1M0Mk9UVnNNUzQyTVRRZ01TNDNOemRoTGpVdU5TQXdJREFnTUNBdU56QXpMakF6TlM0ME9EWXVORGcySURBZ01DQXdJQzR3TXprdExqWTVOV3d0TVM0Mk1UTXRNUzQzTnpoaExqVXhNUzQxTVRFZ01DQXdJREF0TGpNME5DMHVNVFkwV20wdE16QXVNekExSURFdU9UY3pZUzQwT1RNdU5Ea3pJREFnTUNBd0xTNDBOaTR5T1ROc0xUSXVNek0zSURVdU1Ua3hZeTB1TVRFekxqSTFJREFnTGpVMExqSTFMalkxTTJFdU5TNDFJREFnTUNBd0lDNDJOVGN0TGpJMWJESXVNek0xTFRVdU1Ua3lZUzQwT1RJdU5Ea3lJREFnTUNBd0xTNDBORFV0TGpZNU5WcHRNakV1TWpFeExqQXhObUV1TkRreExqUTVNU0F3SURBZ01DMHVORFV1TmpreGJESXVNek16SURVdU1UazFZeTR4TVM0eU5TNDBNREl1TXpZMExqWTFOaTR5TldFdU5EZzJMalE0TmlBd0lEQWdNQ0F1TWpVdExqWTBPR3d0TWk0ek1qZ3ROUzR4T1RWaExqUTVNeTQwT1RNZ01DQXdJREF0TGpRMkxTNHlPVE5hYlMweU5TNHpNVFlnTVM0MU9XRXVORGs1TGpRNU9TQXdJREFnTUMwdU16azFMakkwTm13dE1TNHlNRGNnTWk0d04yRXVORGswTGpRNU5DQXdJREFnTUNBdU1UZzBMalkzTmk0ME9UZ3VORGs0SURBZ01DQXdJQzQyT0MwdU1UZzBiREV1TWpBMkxUSXVNRGRoTGpRNUxqUTVJREFnTUNBd0xTNHhPRE10TGpZM01pNDBPVGN1TkRrM0lEQWdNQ0F3TFM0eU9EVXRMakEyTjFwdE1qa3VORFV6SURCaExqUTVOeTQwT1RjZ01DQXdJREF0TGpJNE5TNHdOall1TkRnMUxqUTROU0F3SURBZ01DMHVNVGd1TmpjeWJERXVNakF6SURJdU1EZGhMalV1TlNBd0lEQWdNQ0F1TmpndU1UZzBMalE1TkM0ME9UUWdNQ0F3SURBZ0xqRTRNeTB1TmpjMmJDMHhMakl3TnkweUxqQTNZUzQwT1RrdU5EazVJREFnTUNBd0xTNHpPVFF0TGpJME4xcHRMVEl3TGpFME5TNHdOelJoTGpRNU55NDBPVGNnTUNBd0lEQXRMalE0T0M0ek9Xd3RNUzR4T1RFZ05TNDFOak5oTGpRNE9DNDBPRGdnTUNBd0lEQWdMak00TWk0MU9ESmpMakkzTGpBMU9DNDFNekl0TGpFeExqVTVMUzR6T0d3eExqRTVNaTAxTGpVMU9HRXVORGt6TGpRNU15QXdJREFnTUMwdU5EZzFMUzQxT1RkYWJURXdMamd5TGpBd05HRXVORFV1TkRVZ01DQXdJREF0TGpFd01TNHdNVEV1TkRnNExqUTRPQ0F3SURBZ01DMHVNemd6TGpVNE1td3hMakU0T0NBMUxqVTJNMk11TURVMExqSTNMak15TGpRek55NDFPUzR6TnpsaExqUTVMalE1SURBZ01DQXdJQzR6T0RJdExqVTRNbXd0TVM0eE9EY3ROUzQxTmpOaExqUTVOeTQwT1RjZ01DQXdJREF0TGpRNE9DMHVNemxhYlMwMUxqUXdNaTQxTmpKaExqUTVNeTQwT1RNZ01DQXdJREF0TGpRNU5pNDBPVEoyTlM0Mk9EUmpNQ0F1TWpjekxqSXlNeTQwT1RJdU5EazJMalE1TW1FdU5Ea3hMalE1TVNBd0lEQWdNQ0F1TkRrMkxTNDBPVEoyTFRVdU5qZzBZUzQwT1RFdU5Ea3hJREFnTUNBd0xTNDBPVFl0TGpRNU1scHRMVGt1TVRJMUlERXVPRE0yWVM0ME9TNDBPU0F3SURBZ01DMHVORE11TXpSc0xTNDNORFlnTWk0eU56TmhMalE1TGpRNUlEQWdNQ0F3SUM0ek1UY3VOakl4TGpRNU9TNDBPVGtnTUNBd0lEQWdMall5T1MwdU16RTJiQzQzTkRZdE1pNHlOek5oTGpRNUxqUTVJREFnTUNBd0xTNHpNaTB1TmpJeUxqUTRPQzQwT0RnZ01DQXdJREF0TGpFNU5pMHVNREl6V20weE9DNHlORFlnTUdFdU5UY3VOVGNnTUNBd0lEQXRMakU1TlM0d01qTXVORGt5TGpRNU1pQXdJREFnTUMwdU16SXVOakl5YkM0M05EWWdNaTR5TnpOaExqUTVNeTQwT1RNZ01DQXdJREFnTGpZeU5TNHpNVFl1TkRnMkxqUTROaUF3SURBZ01DQXVNekl0TGpZeWJDMHVOelEyTFRJdU1qYzBZUzQwT1M0ME9TQXdJREFnTUMwdU5ETXRMak0wV20wdE1USXVNalF5SURFdU1qZGhMalE1TVM0ME9URWdNQ0F3SURBdExqUTBOUzQwTXpkc0xTNHlOU0F5TGpNM09XRXVORGc1TGpRNE9TQXdJREFnTUNBdU5EUXhMalV6T1M0ME9UTXVORGt6SURBZ01DQXdJQzQxTkRjdExqUXpOMnd1TWpVdE1pNHpPR0V1TkRnNUxqUTRPU0F3SURBZ01DMHVOVFF6TFM0MU16aGFiVFl1TWpJeklEQmhMalE1TGpRNUlEQWdNQ0F3TFM0MU5ETXVOVFF6YkM0eU5TQXlMak0zT0dNdU1ESTNMakkzTGpJM0xqUTJOUzQxTkRNdU5ETTRZUzQwT1RJdU5Ea3lJREFnTUNBd0lDNDBORFV0TGpVMGJDMHVNalV0TWk0ek56aGhMalE1T1M0ME9Ua2dNQ0F3SURBdExqUTBOUzB1TkRReFdtMHdJREFpSUhOMGVXeGxQU0p6ZEhKdmEyVTZibTl1WlR0bWFXeHNMWEoxYkdVNmJtOXVlbVZ5Ynp0bWFXeHNPaU5tTkdZeVpqTTdabWxzYkMxdmNHRmphWFI1T2pFaUx6NDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTm5JaUJ0WVhOclBTSjFjbXdvSTJncElpOCtQSEJoZEdnZ1pEMGliVFF5TGprM015QTBNQzQzT1RNdE55NDNPVGN0T0M0d09UUWdNamN1TmpVMkxURTRMalEwTlZwdE1DQXdJaUJ6ZEhsc1pUMGljM1J5YjJ0bE9tNXZibVU3Wm1sc2JDMXlkV3hsT201dmJucGxjbTg3Wm1sc2JEb2pabVkxTVRVd08yWnBiR3d0YjNCaFkybDBlVG94SWk4K1BIQmhkR2dnWkQwaWJUUXlMamszTXlBME1DNDNPVE10Tnk0M09UY3RPQzR3T1RRdE1Ua3VPRFlnTWpZdU5UUmFiVEFnTUNJZ2MzUjViR1U5SW5OMGNtOXJaVHB1YjI1bE8yWnBiR3d0Y25Wc1pUcHViMjU2WlhKdk8yWnBiR3c2STJZeFpqRm1NVHRtYVd4c0xXOXdZV05wZEhrNk1TSXZQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMmtpSUcxaGMyczlJblZ5YkNnamFpa2lMejQ4TDNOMlp6ND1cIjtcbmV4cG9ydCB7XG4gIFNhZmFyaV9kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/Safari-2QIYKJ4P.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js.js deleted file mode 100644 index e2b890d..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/arbitrum-LYDBJZP3.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/arbitrum-LYDBJZP3.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ arbitrum_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/arbitrum.svg\nvar arbitrum_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI2LjYiIGhlaWdodD0iMjYuNiIgeD0iLjciIHk9Ii43IiBmaWxsPSIjMkQzNzRCIiBzdHJva2U9IiM5NkJFREMiIHN0cm9rZS13aWR0aD0iMS40IiByeD0iMTMuMyIvPjxtYXNrIGlkPSJhIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHg9IjAiIHk9IjAiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiPjxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI0M0QzRDNCIgcng9IjE0Ii8+PC9tYXNrPjxnIG1hc2s9InVybCgjYSkiPjxwYXRoIGZpbGw9IiMyOEEwRjAiIGQ9Im0xNC4wODYxIDE4LjYwNDEgNi41MDE0IDEwLjIyMzkgNC4wMDU3LTIuMzIxMy03Ljg2LTEyLjM5NDMtMi42NDcxIDQuNDkxN1ptMTMuMDc0NCAzLjQ2OTItLjAwMy0xLjg1OTktNy4zMDY0LTExLjQwNy0yLjMwODcgMy45MTczIDcuMDkxIDExLjQzMDMgMi4xNzItMS4yNTg2YS45NjI4Ljk2MjggMCAwIDAgLjM1NTUtLjcwMDlsLS4wMDA0LS4xMjEyWiIvPjxyZWN0IHdpZHRoPSIyNS45IiBoZWlnaHQ9IjI1LjkiIHg9IjEuMDUiIHk9IjEuMDUiIGZpbGw9InVybCgjYikiIGZpbGwtb3BhY2l0eT0iLjMiIHN0cm9rZT0iIzk2QkVEQyIgc3Ryb2tlLXdpZHRoPSIyLjEiIHJ4PSIxMi45NSIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0uMzYzNCAyOC4yMjA3LTMuMDctMS43Njc0LS4yMzQtLjgzMzNMNy43NDYxIDkuMDE5NGMuNzI5OC0xLjE5MTMgMi4zMTk3LTEuNTc1IDMuNzk1Ny0xLjU1NDFsMS43MzIzLjA0NTdMLjM2MzQgMjguMjIwN1pNMTkuMTY1NSA3LjUxMWwtNC41NjUzLjAxNjZMMi4yNCAyNy45NTMzbDMuNjEwMyAyLjA3ODguOTgxOC0xLjY2NTJMMTkuMTY1NSA3LjUxMVoiLz48L2c+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMCIgeDI9IjE0IiB5MT0iMCIgeTI9IjI4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+Cg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2FyYml0cnVtLUxZREJKWlAzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsMkNBQTJDO0FBR3pDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvYXJiaXRydW0tTFlEQkpaUDMuanM/Y2I2YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci9jaGFpbkljb25zL2FyYml0cnVtLnN2Z1xudmFyIGFyYml0cnVtX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU9DSWdhR1ZwWjJoMFBTSXlPQ0lnWm1sc2JEMGlibTl1WlNJK1BISmxZM1FnZDJsa2RHZzlJakkyTGpZaUlHaGxhV2RvZEQwaU1qWXVOaUlnZUQwaUxqY2lJSGs5SWk0M0lpQm1hV3hzUFNJak1rUXpOelJDSWlCemRISnZhMlU5SWlNNU5rSkZSRU1pSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQwSWlCeWVEMGlNVE11TXlJdlBqeHRZWE5ySUdsa1BTSmhJaUIzYVdSMGFEMGlNamdpSUdobGFXZG9kRDBpTWpnaUlIZzlJakFpSUhrOUlqQWlJRzFoYzJ0VmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSE4wZVd4bFBTSnRZWE5yTFhSNWNHVTZZV3h3YUdFaVBqeHlaV04wSUhkcFpIUm9QU0l5T0NJZ2FHVnBaMmgwUFNJeU9DSWdabWxzYkQwaUkwTTBRelJETkNJZ2NuZzlJakUwSWk4K1BDOXRZWE5yUGp4bklHMWhjMnM5SW5WeWJDZ2pZU2tpUGp4d1lYUm9JR1pwYkd3OUlpTXlPRUV3UmpBaUlHUTlJbTB4TkM0d09EWXhJREU0TGpZd05ERWdOaTQxTURFMElERXdMakl5TXprZ05DNHdNRFUzTFRJdU16SXhNeTAzTGpnMkxURXlMak01TkRNdE1pNDJORGN4SURRdU5Ea3hOMXB0TVRNdU1EYzBOQ0F6TGpRMk9USXRMakF3TXkweExqZzFPVGt0Tnk0ek1EWTBMVEV4TGpRd055MHlMak13T0RjZ015NDVNVGN6SURjdU1Ea3hJREV4TGpRek1ETWdNaTR4TnpJdE1TNHlOVGcyWVM0NU5qSTRMamsyTWpnZ01DQXdJREFnTGpNMU5UVXRMamN3TURsc0xTNHdNREEwTFM0eE1qRXlXaUl2UGp4eVpXTjBJSGRwWkhSb1BTSXlOUzQ1SWlCb1pXbG5hSFE5SWpJMUxqa2lJSGc5SWpFdU1EVWlJSGs5SWpFdU1EVWlJR1pwYkd3OUluVnliQ2dqWWlraUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlITjBjbTlyWlQwaUl6azJRa1ZFUXlJZ2MzUnliMnRsTFhkcFpIUm9QU0l5TGpFaUlISjRQU0l4TWk0NU5TSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SW0wdU16WXpOQ0F5T0M0eU1qQTNMVE11TURjdE1TNDNOamMwTFM0eU16UXRMamd6TXpOTU55NDNORFl4SURrdU1ERTVOR011TnpJNU9DMHhMakU1TVRNZ01pNHpNVGszTFRFdU5UYzFJRE11TnprMU55MHhMalUxTkRGc01TNDNNekl6TGpBME5UZE1Mak0yTXpRZ01qZ3VNakl3TjFwTk1Ua3VNVFkxTlNBM0xqVXhNV3d0TkM0MU5qVXpMakF4TmpaTU1pNHlOQ0F5Tnk0NU5UTXpiRE11TmpFd015QXlMakEzT0RndU9UZ3hPQzB4TGpZMk5USk1NVGt1TVRZMU5TQTNMalV4TVZvaUx6NDhMMmMrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0ppSWlCNE1UMGlNQ0lnZURJOUlqRTBJaUI1TVQwaU1DSWdlVEk5SWpJNElpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTJabVppSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSTJabVppSWdjM1J2Y0MxdmNHRmphWFI1UFNJd0lpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhMMlJsWm5NK1BDOXpkbWMrQ2c9PVwiO1xuZXhwb3J0IHtcbiAgYXJiaXRydW1fZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/arbitrum-LYDBJZP3.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js.js deleted file mode 100644 index fda4212..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/assets-26YY4GVD.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/assets-26YY4GVD.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ assets_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/assets.svg\nvar assets_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTEuMDkgNS40NkMwIDcuNiAwIDEwLjQgMCAxNnYxNmMwIDUuNiAwIDguNCAxLjA5IDEwLjU0YTEwIDEwIDAgMCAwIDQuMzcgNC4zN0M3LjYgNDggMTAuNCA0OCAxNiA0OGgxNmMxLjc1MiAwIDMuMjMgMCA0LjUtLjAzMyAwLTEuMzYyIDAtMi4wNDQuMDY2LTIuNjE2YTEwIDEwIDAgMCAxIDguNzg1LTguNzg1Yy41NzItLjA2NiAxLjI1NC0uMDY2IDIuNjE2LS4wNjZDNDggMzUuMjMgNDggMzMuNzUyIDQ4IDMyVjE2YzAtNS42IDAtOC40LTEuMDktMTAuNTRhMTAgMTAgMCAwIDAtNC4zNy00LjM3QzQwLjQgMCAzNy42IDAgMzIgMEgxNkMxMC40IDAgNy42IDAgNS40NiAxLjA5YTEwIDEwIDAgMCAwLTQuMzcgNC4zN1oiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMS4wOSA1LjQ2QzAgNy42IDAgMTAuNCAwIDE2djE2YzAgNS42IDAgOC40IDEuMDkgMTAuNTRhMTAgMTAgMCAwIDAgNC4zNyA0LjM3QzcuNiA0OCAxMC40IDQ4IDE2IDQ4aDE2YzEuNzUyIDAgMy4yMyAwIDQuNS0uMDMzIDAtMS4zNjIgMC0yLjA0NC4wNjYtMi42MTZhMTAgMTAgMCAwIDEgOC43ODUtOC43ODVjLjU3Mi0uMDY2IDEuMjU0LS4wNjYgMi42MTYtLjA2NkM0OCAzNS4yMyA0OCAzMy43NTIgNDggMzJWMTZjMC01LjYgMC04LjQtMS4wOS0xMC41NGExMCAxMCAwIDAgMC00LjM3LTQuMzdDNDAuNCAwIDM3LjYgMCAzMiAwSDE2QzEwLjQgMCA3LjYgMCA1LjQ2IDEuMDlhMTAgMTAgMCAwIDAtNC4zNyA0LjM3WiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjA0IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNS41IDM1LjVoMTEuNDg2QzQ3IDM0LjQ3NSA0NyAzMy4zMiA0NyAzMlYxNmMwLTIuODE3IDAtNC44Ny0uMTMzLTYuNDg3LS4xMzEtMS42MDUtLjM4Ny0yLjY5NC0uODQ4LTMuNTk5YTkgOSAwIDAgMC0zLjkzMy0zLjkzM2MtLjkwNS0uNDYxLTEuOTk0LS43MTctMy42LS44NDhDMzYuODcgMSAzNC44MTYgMSAzMiAxSDE2Yy0yLjgxNyAwLTQuODcgMC02LjQ4Ny4xMzMtMS42MDUuMTMxLTIuNjk0LjM4Ny0zLjU5OS44NDhhOSA5IDAgMCAwLTMuOTMzIDMuOTMzYy0uNDYxLjkwNS0uNzE3IDEuOTk0LS44NDggMy42QzEgMTEuMTMgMSAxMy4xODMgMSAxNnYxNmMwIDIuODE3IDAgNC44Ny4xMzMgNi40ODYuMTMxIDEuNjA2LjM4NyAyLjY5NS44NDggMy42YTkgOSAwIDAgMCAzLjkzMyAzLjkzM2MuOTA1LjQ2MSAxLjk5NC43MTcgMy42Ljg0OEMxMS4xMyA0NyAxMy4xODMgNDcgMTYgNDdoMTZjMS4zMiAwIDIuNDc1IDAgMy41LS4wMTRWMzUuNVptMSAxMi40NjdDMzUuMjMgNDggMzMuNzUyIDQ4IDMyIDQ4SDE2Yy01LjYgMC04LjQgMC0xMC41NC0xLjA5YTEwIDEwIDAgMCAxLTQuMzctNC4zN0MwIDQwLjQgMCAzNy42IDAgMzJWMTZjMC01LjYgMC04LjQgMS4wOS0xMC41NGExMCAxMCAwIDAgMSA0LjM3LTQuMzdDNy42IDAgMTAuNCAwIDE2IDBoMTZjNS42IDAgOC40IDAgMTAuNTQgMS4wOWExMCAxMCAwIDAgMSA0LjM3IDQuMzdDNDggNy42IDQ4IDEwLjQgNDggMTZ2MTZjMCAxLjc1MiAwIDMuMjMtLjAzMyA0LjVIMzYuNXYxMS40NjdaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii44IiBkPSJNMyAxNC4yYzAtMy45MiAwLTUuODguNzYzLTcuMzc4YTcgNyAwIDAgMSAzLjA2LTMuMDU5QzguMzE4IDMgMTAuMjggMyAxNC4yIDNoMTkuNmMzLjkyIDAgNS44OCAwIDcuMzc4Ljc2M2E3IDcgMCAwIDEgMy4wNTkgMy4wNkM0NSA4LjMxOCA0NSAxMC4yOCA0NSAxNC4ydjE5LjZjMCAzLjkyIDAgNS44OC0uNzYzIDcuMzc4YTcgNyAwIDAgMS0zLjA2IDMuMDU5QzM5LjY4MiA0NSAzNy43MiA0NSAzMy44IDQ1SDE0LjJjLTMuOTIgMC01Ljg4IDAtNy4zNzgtLjc2M2E3IDcgMCAwIDEtMy4wNTktMy4wNkMzIDM5LjY4MiAzIDM3LjcyIDMgMzMuOFYxNC4yWiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMzLjggMy41SDE0LjJjLTEuOTY4IDAtMy40MTUgMC00LjU1Ny4wOTQtMS4xMzYuMDkzLTEuOTI3LjI3NS0yLjU5NC42MTRBNi41IDYuNSAwIDAgMCA0LjIxIDcuMDVjLS4zNC42NjctLjUyMiAxLjQ1OC0uNjE1IDIuNTk0QzMuNSAxMC43ODUgMy41IDEyLjIzMiAzLjUgMTQuMnYxOS42YzAgMS45NjggMCAzLjQxNS4wOTQgNC41NTcuMDkzIDEuMTM2LjI3NSAxLjkyOC42MTQgMi41OTRhNi41IDYuNSAwIDAgMCAyLjg0MSAyLjg0Yy42NjcuMzQgMS40NTguNTIyIDIuNTk0LjYxNSAxLjE0Mi4wOTQgMi41ODkuMDk0IDQuNTU3LjA5NGgxOS42YzEuOTY4IDAgMy40MTUgMCA0LjU1Ny0uMDk0IDEuMTM2LS4wOTMgMS45MjgtLjI3NSAyLjU5NC0uNjE0YTYuNDk5IDYuNDk5IDAgMCAwIDIuODQtMi44NDFjLjM0LS42NjYuNTIyLTEuNDU4LjYxNS0yLjU5NC4wOTQtMS4xNDIuMDk0LTIuNTg5LjA5NC00LjU1N1YxNC4yYzAtMS45NjggMC0zLjQxNS0uMDk0LTQuNTU3LS4wOTMtMS4xMzYtLjI3NS0xLjkyNy0uNjE0LTIuNTk0YTYuNSA2LjUgMCAwIDAtMi44NDEtMi44NGMtLjY2Ni0uMzQtMS40NTgtLjUyMi0yLjU5NC0uNjE1QzM3LjIxNSAzLjUgMzUuNzY4IDMuNSAzMy44IDMuNVpNMy43NjMgNi44MjJDMyA4LjMyIDMgMTAuMjggMyAxNC4ydjE5LjZjMCAzLjkyIDAgNS44OC43NjMgNy4zNzhhNyA3IDAgMCAwIDMuMDYgMy4wNTlDOC4zMTggNDUgMTAuMjggNDUgMTQuMiA0NWgxOS42YzMuOTIgMCA1Ljg4IDAgNy4zNzgtLjc2M2E3IDcgMCAwIDAgMy4wNTktMy4wNkM0NSAzOS42ODIgNDUgMzcuNzIgNDUgMzMuOFYxNC4yYzAtMy45MiAwLTUuODgtLjc2My03LjM3OGE3IDcgMCAwIDAtMy4wNi0zLjA1OUMzOS42ODIgMyAzNy43MiAzIDMzLjggM0gxNC4yYy0zLjkyIDAtNS44OCAwLTcuMzc4Ljc2M2E3IDcgMCAwIDAtMy4wNTkgMy4wNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNERkQ3RDUiIGQ9Ik0yNSAxM2MwLTIuOCAwLTQuMi41NDUtNS4yN2E1IDUgMCAwIDEgMi4xODUtMi4xODVDMjguOCA1IDMwLjIgNSAzMyA1aDJjMi44IDAgNC4yIDAgNS4yNy41NDVhNSA1IDAgMCAxIDIuMTg1IDIuMTg1QzQzIDguOCA0MyAxMC4yIDQzIDEzdjJjMCAyLjggMCA0LjItLjU0NSA1LjI3YTUgNSAwIDAgMS0yLjE4NSAyLjE4NUMzOS4yIDIzIDM3LjggMjMgMzUgMjNoLTJjLTIuOCAwLTQuMiAwLTUuMjctLjU0NWE1IDUgMCAwIDEtMi4xODUtMi4xODVDMjUgMTkuMiAyNSAxNy44IDI1IDE1di0yWiIvPjxwYXRoIGZpbGw9IiNFMUQ3RDUiIGQ9Ik0zOCA1aC04YTUgNSAwIDAgMC01IDV2OGE1IDUgMCAwIDAgNSA1aDhhNSA1IDAgMCAwIDUtNXYtOGE1IDUgMCAwIDAtNS01WiIvPjxwYXRoIGZpbGw9IiNEMjIyMDkiIGQ9Ik0zNy45MzggMTYuODEzaC03Ljg3NnYuNTYyaDcuODc1di0uNTYzWm0wIC41NjJoLTcuODc2di41NjNoNy44NzV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0QyMjIwOSIgZD0iTTM3LjkzOCAxNy45MzhoLTcuODc2di41NjJoNy44NzV2LS41NjNabTAgLjU2MmgtNy44NzZ2LjU2M2g3Ljg3NVYxOC41WiIvPjxwYXRoIGZpbGw9IiNEMjIyMDkiIGQ9Ik0zMS4xODggMTkuMDYzaC0xLjEyNXYuNTYyaDEuMTI1di0uNTYzWm02Ljc1IDBIMzEuNzV2LjU2Mmg2LjE4OHYtLjU2M1ptLTYuNzUuNTYyaC0xLjEyNXYuNTYzaDEuMTI1di0uNTYzWm02Ljc1IDBIMzEuNzV2LjU2M2g2LjE4OHYtLjU2M1oiLz48cGF0aCBmaWxsPSIjRDIyMjA5IiBkPSJNMzEuMTg4IDIwLjE4OGgtMS4xMjV2LjU2MmgxLjEyNXYtLjU2M1ptNi43NSAwSDMxLjc1di41NjJoNi4xODh2LS41NjNabS02Ljc1LjU2MmgtMS4xMjV2LjU2M2gxLjEyNXYtLjU2M1ptNi43NSAwSDMxLjc1di41NjNoNi4xODh2LS41NjNaIi8+PHBhdGggZmlsbD0iI0QyMjIwOSIgZD0iTTMxLjE4OCAyMS4zMTNoLTEuMTI1di41NjJoMS4xMjV2LS41NjNabTYuNzUgMEgzMS43NXYuNTYyaDYuMTg4di0uNTYzWm0tNi43NS41NjJoLTEuMTI1di41NjNoMS4xMjV2LS41NjNabTYuNzUgMEgzMS43NXYuNTYzaDYuMTg4di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNEMjIyMDkiIGQ9Ik0zMS4xODggMjIuNDM4aC0xLjEyNVYyM2gxLjEyNXYtLjU2M1ptNi43NSAwSDMxLjc1VjIzaDYuMTg4di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMi44NzUgMTcuOTM4aC0uNTYzdi41NjJoLjU2M3YtLjU2M1ptMi4yNSAwSDM0di41NjJoMS4xMjV2LS41NjNabTEuMTI1IDBoLS41NjN2LjU2MmguNTYzdi0uNTYzWm0tMy4zNzUuNTYyaC0uNTYzdi41NjNoLjU2M1YxOC41Wm0yLjI1IDBIMzR2LjU2M2gxLjEyNVYxOC41Wm0xLjEyNSAwaC0uNTYzdi41NjNoLjU2M1YxOC41WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMy40MzggMTkuMDYzaC0xLjEyNnYuNTYyaDEuMTI2di0uNTYzWm0xLjY4NyAwSDM0di41NjJoMS4xMjV2LS41NjNabTEuNjg4IDBoLTEuMTI2di41NjJoMS4xMjZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMzLjQzOCA4LjM3NWgtLjU2M3YuNTYzaC41NjN2LS41NjNabTEuNjg3IDBIMzR2LjU2M2gxLjEyNXYtLjU2M1oiLz48cGF0aCBmaWxsPSIjRDRBMDE1IiBkPSJNMzEuNzUgOC45MzhoLTEuNjg4VjkuNWgxLjY4OHYtLjU2M1oiLz48cGF0aCBmaWxsPSIjQzE2NzEwIiBkPSJNMzUuNjg4IDguOTM4aC0zLjM3NlY5LjVoMy4zNzZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM3LjkzOCA4LjkzOEgzNi4yNVY5LjVoMS42ODh2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMwLjA2MyA5LjVoLTEuMTI1di41NjNoMS4xMjVWOS41WiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zMS43NSA5LjVoLTEuNjg4di41NjNoMS42ODhWOS41WiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zNS4xMjUgOS41SDMxLjc1di41NjNoMy4zNzVWOS41WiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNy45MzggOS41SDM2LjI1di41NjNoMS42ODhWOS41WiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTAuMDYzaC0xLjEyNXYuNTYyaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNCAxMC4wNjNoLTMuOTM4di41NjJIMzR2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTM0LjU2MyAxMC4wNjNIMzR2LjU2MmguNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNy45MzggMTAuMDYzaC0zLjM3NnYuNTYyaDMuMzc2di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTAuNjI1aC0xLjY4OHYuNTYzaDEuNjg4di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zMy40MzggMTAuNjI1aC0zLjM3NnYuNTYzaDMuMzc1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNGRkU5MzkiIGQ9Ik0zNS4xMjUgMTAuNjI1aC0xLjY4OHYuNTYzaDEuNjg4di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNy45MzggMTAuNjI1aC0yLjgxM3YuNTYzaDIuODEzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTEuMTg4aC0xLjEyNXYuNTYyaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNCAxMS4xODhoLTMuOTM4di41NjJIMzR2LS41NjNaIi8+PHBhdGggZmlsbD0iI0ZGRTkzOSIgZD0iTTM0LjU2MyAxMS4xODhIMzR2LjU2MmguNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNy45MzggMTEuMTg4aC0zLjM3NnYuNTYyaDMuMzc2di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTEuNzVoLTEuMTI1di41NjNoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM0IDExLjc1aC0zLjkzOHYuNTYzSDM0di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNGRkU5MzkiIGQ9Ik0zNC41NjMgMTEuNzVIMzR2LjU2M2guNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNy45MzggMTEuNzVoLTMuMzc2di41NjNoMy4zNzZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMwLjA2MyAxMi4zMTNoLTEuNjg4di41NjJoMS42ODh2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM0IDEyLjMxM2gtMy45Mzh2LjU2MkgzNHYtLjU2M1oiLz48cGF0aCBmaWxsPSIjRkZFOTM5IiBkPSJNMzQuNTYzIDEyLjMxM0gzNHYuNTYyaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM3LjkzOCAxMi4zMTNoLTMuMzc2di41NjJoMy4zNzZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMwLjA2MyAxMi44NzVoLTEuMTI1di41NjNoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM0IDEyLjg3NWgtMy45Mzh2LjU2M0gzNHYtLjU2M1oiLz48cGF0aCBmaWxsPSIjRkZFOTM5IiBkPSJNMzQuNTYzIDEyLjg3NUgzNHYuNTYzaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM3LjkzOCAxMi44NzVoLTMuMzc2di41NjNoMy4zNzZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMwLjA2MyAxMy40MzhoLTEuMTI1VjE0aDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNENEEwMTUiIGQ9Ik0zNCAxMy40MzhoLTMuOTM4VjE0SDM0di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNGRkU5MzkiIGQ9Ik0zNC41NjMgMTMuNDM4SDM0VjE0aC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI0Q0QTAxNSIgZD0iTTM3LjkzOCAxMy40MzhoLTMuMzc2VjE0aDMuMzc2di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTRoLTEuNjg4di41NjNoMS42ODhWMTRaIi8+PHBhdGggZmlsbD0iI0QwOEIxMSIgZD0iTTQwLjE4OCAxNEgzMC4wNjJ2LjU2M2gxMC4xMjVWMTRaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMwLjA2MyAxNC41NjNoLTEuMTI1di41NjJoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0QwOEIxMSIgZD0iTTM3LjkzOCAxNC41NjNoLTcuODc2di41NjJoNy44NzV2LS41NjNaIi8+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTM4LjUgMTQuNTYzaC0uNTYzdi41NjJoLjU2M3YtLjU2M1oiLz48cGF0aCBmaWxsPSIjRDA4QjExIiBkPSJNMzkuMDYzIDE0LjU2M0gzOC41di41NjJoLjU2M3YtLjU2M1oiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzkuNjI1IDE0LjU2M2gtLjU2M3YuNTYyaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI0QwOEIxMSIgZD0iTTQwLjE4OCAxNC41NjNoLS41NjN2LjU2MmguNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTUuMTI1aC0xLjY4OHYuNTYzaDEuNjg4di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNEMDhCMTEiIGQ9Ik0zMS4xODggMTUuMTI1aC0xLjEyNXYuNTYzaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNGRkU5MzkiIGQ9Ik0zMS43NSAxNS4xMjVoLS41NjN2LjU2M2guNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0zMi4zMTMgMTUuMTI1aC0uNTYzdi41NjNoLjU2M3YtLjU2M1oiLz48cGF0aCBmaWxsPSIjRkZFOTM5IiBkPSJNMzIuODc1IDE1LjEyNWgtLjU2M3YuNTYzaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTMzLjQzOCAxNS4xMjVoLS41NjN2LjU2M2guNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNGRkU5MzkiIGQ9Ik0zNCAxNS4xMjVoLS41NjN2LjU2M0gzNHYtLjU2M1oiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzQuNTYzIDE1LjEyNUgzNHYuNTYzaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI0ZGRTkzOSIgZD0iTTM1LjEyNSAxNS4xMjVoLS41NjN2LjU2M2guNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNEMDhCMTEiIGQ9Ik00MC4xODggMTUuMTI1aC01LjA2M3YuNTYzaDUuMDYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNDMTY3MTAiIGQ9Ik0zMC4wNjMgMTUuNjg4aC0yLjI1di41NjJoMi4yNXYtLjU2M1oiLz48cGF0aCBmaWxsPSIjRDA4QjExIiBkPSJNNDAuMTg4IDE1LjY4OEgzMC4wNjJ2LjU2MmgxMC4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0MxNjcxMCIgZD0iTTMwLjA2MyAxNi4yNWgtMS42ODh2LjU2M2gxLjY4OHYtLjU2M1oiLz48cGF0aCBmaWxsPSIjRDA4QjExIiBkPSJNNDAuMTg4IDE2LjI1SDMwLjA2MnYuNTYzaDEwLjEyNXYtLjU2M1oiLz48cGF0aCBmaWxsPSIjQzE2NzEwIiBkPSJNMjguOTM4IDE2LjgxM2gtLjU2M3YuNTYyaC41NjN2LS41NjNabTEuMTI1IDBIMjkuNXYuNTYyaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI0QwOEIxMSIgZD0iTTM3LjkzOCAxNi44MTNoLTcuODc2di41NjJoNy44NzV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0I5MTg1QyIgZD0iTTM0IDExLjE4OGgtMy4zNzV2LjU2MkgzNHYtLjU2M1ptMy45MzggMGgtMy4zNzZ2LjU2MmgzLjM3NnYtLjU2M1ptLTYuNzUuNTYyaC0uNTYzdi41NjNoLjU2M3YtLjU2M1oiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMzIuMzEzIDExLjc1aC0xLjEyNnYuNTYzaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0zMy40MzggMTEuNzVoLTEuMTI2di41NjNoMS4xMjZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0I5MTg1QyIgZD0iTTM0IDExLjc1aC0uNTYzdi41NjNIMzR2LS41NjNabTEuMTI1IDBoLS41NjN2LjU2M2guNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zNi4yNSAxMS43NWgtMS4xMjV2LjU2M2gxLjEyNXYtLjU2M1oiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzcuMzc1IDExLjc1SDM2LjI1di41NjNoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0I5MTg1QyIgZD0iTTM3LjkzOCAxMS43NWgtLjU2M3YuNTYzaC41NjN2LS41NjNabS02Ljc1LjU2M2gtMi4yNXYuNTYyaDIuMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTMyLjMxMyAxMi4zMTNoLTEuMTI2di41NjJoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTMzLjQzOCAxMi4zMTNoLTEuMTI2di41NjJoMS4xMjZ2LS41NjNaIi8+PHBhdGggZmlsbD0iI0I5MTg1QyIgZD0iTTM1LjEyNSAxMi4zMTNoLTEuNjg4di41NjJoMS42ODh2LS41NjNaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTM2LjI1IDEyLjMxM2gtMS4xMjV2LjU2MmgxLjEyNXYtLjU2M1oiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzcuMzc1IDEyLjMxM0gzNi4yNXYuNTYyaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNCOTE4NUMiIGQ9Ik0zNy45MzggMTIuMzEzaC0uNTYzdi41NjJoLjU2M3YtLjU2M1ptLTguNDM4LjU2MmgtLjU2M3YuNTYzaC41NjN2LS41NjNabTEuNjg4IDBoLS41NjN2LjU2M2guNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMi4zMTMgMTIuODc1aC0xLjEyNnYuNTYzaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0zMy40MzggMTIuODc1aC0xLjEyNnYuNTYzaDEuMTI2di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNCOTE4NUMiIGQ9Ik0zNCAxMi44NzVoLS41NjN2LjU2M0gzNHYtLjU2M1ptMS4xMjUgMGgtLjU2M3YuNTYzaC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTM2LjI1IDEyLjg3NWgtMS4xMjV2LjU2M2gxLjEyNXYtLjU2M1oiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzcuMzc1IDEyLjg3NUgzNi4yNXYuNTYzaDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiNCOTE4NUMiIGQ9Ik0zNy45MzggMTIuODc1aC0uNTYzdi41NjNoLjU2M3YtLjU2M1ptLTguNDM4LjU2M2gtLjU2M1YxNGguNTYzdi0uNTYzWm0xLjY4OCAwaC0uNTYzVjE0aC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTMyLjMxMyAxMy40MzhoLTEuMTI2VjE0aDEuMTI1di0uNTYzWiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0zMy40MzggMTMuNDM4aC0xLjEyNlYxNGgxLjEyNnYtLjU2M1oiLz48cGF0aCBmaWxsPSIjQjkxODVDIiBkPSJNMzQgMTMuNDM4aC0uNTYzVjE0SDM0di0uNTYzWm0xLjEyNSAwaC0uNTYzVjE0aC41NjN2LS41NjNaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTM2LjI1IDEzLjQzOGgtMS4xMjVWMTRoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTM3LjM3NSAxMy40MzhIMzYuMjVWMTRoMS4xMjV2LS41NjNaIi8+PHBhdGggZmlsbD0iI0I5MTg1QyIgZD0iTTM3LjkzOCAxMy40MzhoLS41NjNWMTRoLjU2M3YtLjU2M1pNMzQgMTRoLTMuMzc1di41NjNIMzRWMTRabTMuOTM4IDBoLTMuMzc2di41NjNoMy4zNzZWMTRaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIuMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzUgNS41aC0yYy0xLjQwOCAwLTIuNDM1IDAtMy4yNDMuMDY2LS44MDMuMDY2LTEuMzQ3LjE5NC0xLjguNDI0YTQuNSA0LjUgMCAwIDAtMS45NjYgMS45NjdjLS4yMzEuNDUzLS4zNTkuOTk3LS40MjQgMS44LS4wNjcuODA4LS4wNjcgMS44MzUtLjA2NyAzLjI0M3YyYzAgMS40MDggMCAyLjQzNS4wNjcgMy4yNDMuMDY1LjgwMy4xOTMgMS4zNDcuNDI0IDEuOGE0LjUgNC41IDAgMCAwIDEuOTY2IDEuOTY2Yy40NTMuMjMxLjk5Ny4zNTkgMS44LjQyNC44MDguMDY3IDEuODM1LjA2NyAzLjI0My4wNjdoMmMxLjQwOCAwIDIuNDM1IDAgMy4yNDMtLjA2Ny44MDMtLjA2NSAxLjM0Ny0uMTkzIDEuOC0uNDI0YTQuNSA0LjUgMCAwIDAgMS45NjctMS45NjZjLjIzLS40NTMuMzU4LS45OTcuNDI0LTEuOC4wNjYtLjgwOC4wNjYtMS44MzUuMDY2LTMuMjQzdi0yYzAtMS40MDggMC0yLjQzNS0uMDY2LTMuMjQzLS4wNjYtLjgwMy0uMTk0LTEuMzQ3LS40MjQtMS44YTQuNSA0LjUgMCAwIDAtMS45NjctMS45NjdjLS40NTMtLjIzLS45OTctLjM1OC0xLjgtLjQyNEMzNy40MzUgNS41IDM2LjQwOCA1LjUgMzUgNS41Wm0tOS40NTUgMi4yM0MyNSA4LjggMjUgMTAuMiAyNSAxM3YyYzAgMi44IDAgNC4yLjU0NSA1LjI3YTUgNSAwIDAgMCAyLjE4NSAyLjE4NUMyOC44IDIzIDMwLjIgMjMgMzMgMjNoMmMyLjggMCA0LjIgMCA1LjI3LS41NDVhNSA1IDAgMCAwIDIuMTg1LTIuMTg1QzQzIDE5LjIgNDMgMTcuOCA0MyAxNXYtMmMwLTIuOCAwLTQuMi0uNTQ1LTUuMjdhNSA1IDAgMCAwLTIuMTg1LTIuMTg1QzM5LjIgNSAzNy44IDUgMzUgNWgtMmMtMi44IDAtNC4yIDAtNS4yNy41NDVhNSA1IDAgMCAwLTIuMTg1IDIuMTg1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzU2NENCRiIgZD0iTTUgMzNjMC0yLjggMC00LjIuNTQ1LTUuMjdhNSA1IDAgMCAxIDIuMTg1LTIuMTg1QzguOCAyNSAxMC4yIDI1IDEzIDI1aDJjMi44IDAgNC4yIDAgNS4yNy41NDVhNSA1IDAgMCAxIDIuMTg1IDIuMTg1QzIzIDI4LjggMjMgMzAuMiAyMyAzM3YyYzAgMi44IDAgNC4yLS41NDUgNS4yN2E1IDUgMCAwIDEtMi4xODUgMi4xODVDMTkuMiA0MyAxNy44IDQzIDE1IDQzaC0yYy0yLjggMC00LjIgMC01LjI3LS41NDVhNSA1IDAgMCAxLTIuMTg1LTIuMTg1QzUgMzkuMiA1IDM3LjggNSAzNXYtMloiLz48cGF0aCBmaWxsPSIjRkY2NkIzIiBkPSJNMTEuMTg4IDI2LjEyNWguNTYydjIuODEzaC41NjN2LTIuODEzaC41NjJWMjkuNWguNTYzdi0zLjM3NUgxNFYyOS41aC41NjN2LTMuMzc1aC41NjJ2Mi44MTNoLjU2M3YtMi44MTNoLjU2MnYyLjI1aC41NjN2LTEuNjg4aC41NjJ2Mi4yNWgtLjU2M3YuNTYzaC0uNTYydi41NjNoLTEuMTI1di41NjJoLTIuODEzdi0uNTYzaC0xLjEyNFYyOS41aC0uNTYzdi0uNTYzaC0uNTYzdi0yLjI1aC41NjN2MS42ODhoLjU2M3YtMi4yNVoiLz48cGF0aCBmaWxsPSIjQjNGRkNDIiBkPSJNMTMuNDM4IDMwLjYyNUgxNHYuNTYzaDEuMTI1djIuMjVoMS4xMjV2LS41NjNoLjU2M1YzNGgtMS42ODh2MS4xMjVoLS41NjN2MS4xMjVoLjU2M3Y1LjYyNWgtLjU2M3YtNS4wNjNIMTR2LS41NjJoLTEuNjg4di0xLjEyNWguNTYzdi41NjNIMTR2LTEuMTI2aC41NjNWMzEuNzVoLTEuMTI2di0xLjEyNVoiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBkPSJNMTYuMjUgMjYuMTI1aC41NjN2Mi4yNWgtLjU2M3YtMi4yNVptLTUuNjI1LjU2M2guNTYzdjEuNjg3aC0uNTYzdi0xLjY4OFoiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii45IiBkPSJNMTcuOTM4IDI2LjY4OGgtLjU2M3YyLjI1aC0uNTYzdi41NjJoLS41NjJ2LjU2M2guNTYzVjI5LjVoLjU2MnYtLjU2M2guNTYzdi0yLjI1Wm0tNi4xODgtLjU2M2guNTYzdjIuODEzaC0uNTYzdi0yLjgxM1ptMy45MzggMGgtLjU2M3YyLjgxM2guNTYzdi0yLjgxM1ptLTIuODEzIDBoLjU2M1YyOS41aC0uNTYzdi0zLjM3NVptMS42ODggMEgxNFYyOS41aC41NjN2LTMuMzc1Wm0uNTYyIDMuOTM4aC41NjN2LjU2MmgtLjU2M3YtLjU2M1ptLS41NjIuNTYySDE0di41NjNoLjU2M3YtLjU2M1ptLjU2Mi41NjNoLjU2M3YyLjI1aC0uNTYzdi0yLjI1Wm0yLjI1IDEuNjg3aC0uNTYzVjM0aC41NjN2LTEuMTI1Wk0xNS4xMjUgMzRoLjU2M3YxLjEyNWgtLjU2M1YzNFptMCAyLjI1di0xLjEyNWgtLjU2M3YxLjEyNWguNTYzWm0wIDB2NS42MjVoLjU2M1YzNi4yNWgtLjU2M1ptLTIuMjUtMS4xMjVoLjU2M3YuNTYzaC0uNTYzdi0uNTYzWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iLjEyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNSAyNS41aC0yYy0xLjQwOCAwLTIuNDM1IDAtMy4yNDMuMDY3LS44MDMuMDY1LTEuMzQ3LjE5My0xLjguNDI0YTQuNSA0LjUgMCAwIDAtMS45NjcgMS45NjZjLS4yMy40NTMtLjM1OC45OTctLjQyNCAxLjhDNS41IDMwLjU2NSA1LjUgMzEuNTkyIDUuNSAzM3YyYzAgMS40MDggMCAyLjQzNS4wNjYgMy4yNDMuMDY2LjgwMy4xOTQgMS4zNDcuNDI0IDEuOGE0LjUgNC41IDAgMCAwIDEuOTY3IDEuOTY3Yy40NTMuMjMuOTk3LjM1OCAxLjguNDI0LjgwOC4wNjYgMS44MzUuMDY2IDMuMjQzLjA2NmgyYzEuNDA4IDAgMi40MzUgMCAzLjI0My0uMDY2LjgwMy0uMDY2IDEuMzQ3LS4xOTQgMS44LS40MjRhNC41IDQuNSAwIDAgMCAxLjk2Ni0xLjk2N2MuMjMxLS40NTMuMzU5LS45OTcuNDI0LTEuOC4wNjctLjgwOC4wNjctMS44MzUuMDY3LTMuMjQzdi0yYzAtMS40MDggMC0yLjQzNS0uMDY3LTMuMjQzLS4wNjUtLjgwMy0uMTkzLTEuMzQ3LS40MjQtMS44YTQuNSA0LjUgMCAwIDAtMS45NjYtMS45NjZjLS40NTMtLjIzMS0uOTk3LS4zNTktMS44LS40MjQtLjgwOC0uMDY3LTEuODM1LS4wNjctMy4yNDMtLjA2N1ptLTkuNDU1IDIuMjNDNSAyOC44IDUgMzAuMiA1IDMzdjJjMCAyLjggMCA0LjIuNTQ1IDUuMjdhNSA1IDAgMCAwIDIuMTg1IDIuMTg1QzguOCA0MyAxMC4yIDQzIDEzIDQzaDJjMi44IDAgNC4yIDAgNS4yNy0uNTQ1YTUgNSAwIDAgMCAyLjE4NS0yLjE4NUMyMyAzOS4yIDIzIDM3LjggMjMgMzV2LTJjMC0yLjggMC00LjItLjU0NS01LjI3YTUgNSAwIDAgMC0yLjE4NS0yLjE4NUMxOS4yIDI1IDE3LjggMjUgMTUgMjVoLTJjLTIuOCAwLTQuMiAwLTUuMjcuNTQ1YTUgNSAwIDAgMC0yLjE4NSAyLjE4NVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiMxNzJEOTkiIGQ9Ik01IDEzYzAtMi44IDAtNC4yLjU0NS01LjI3QTUgNSAwIDAgMSA3LjczIDUuNTQ1QzguOCA1IDEwLjIgNSAxMyA1aDJjMi44IDAgNC4yIDAgNS4yNy41NDVhNSA1IDAgMCAxIDIuMTg1IDIuMTg1QzIzIDguOCAyMyAxMC4yIDIzIDEzdjJjMCAyLjggMCA0LjItLjU0NSA1LjI3YTUgNSAwIDAgMS0yLjE4NSAyLjE4NUMxOS4yIDIzIDE3LjggMjMgMTUgMjNoLTJjLTIuOCAwLTQuMiAwLTUuMjctLjU0NWE1IDUgMCAwIDEtMi4xODUtMi4xODVDNSAxOS4yIDUgMTcuOCA1IDE1di0yWiIvPjxwYXRoIGZpbGw9IiMwMEEyRDgiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjMgMTMuMUg4LjZ2LjloMi43di0uOVptMCAuOWgxLjh2LjloLjl2MS44aC0uOXYtLjloLS45di0uOWgtLjlWMTRabTIuNyAyLjdoLjl2Mi43SDE0di0yLjdaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjMDBERTZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS4zIDEyLjJIOC42di45aDIuN3YtLjlabTAgLjloMS44di45aC0xLjh2LS45Wm0yLjcgMS44aC0uOVYxNGguOXYuOVptLjkgMS44SDE0di0xLjhoLjl2MS44Wm0wIDBoLjl2Mi43aC0uOXYtMi43WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI0ZGRUIwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuMyAxMS4zSDguNnYuOWgyLjd2LS45Wm0wIC45aDEuOHYuOWgtMS44di0uOVpNMTQgMTRoLS45di0uOWguOXYuOVptLjkuOUgxNFYxNGguOXYuOVptLjkgMS44aC0uOXYtMS44aC45djEuOFptMCAwaC45djIuN2gtLjl2LTIuN1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNGQTAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjMgMTAuNEg4LjZ2LjloMi43di0uOVptMCAuOUgxNHYuOWguOXYuOWguOXYuOWguOXYxLjhoLjl2My42aC0uOXYtMi43aC0uOXYtMS44aC0uOVYxNEgxNHYtLjloLS45di0uOWgtMS44di0uOVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNERDNEMUMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjIgOS41SDguNnYuOWgyLjd2LjlIMTR2LjloLjl2LjloLjl2LjloLjl2MS44aC45djMuNmguOXYtMy42aC0uOVYxNGgtLjl2LS45aC0uOXYtLjloLS45di0uOUgxNHYtLjloLTEuOHYtLjlaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjQzAzMDc4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi4yIDguNkg4LjZ2LjloMy42di0uOVptMCAuOUgxNHYuOWgtMS44di0uOVptNS40IDQuNWgtLjl2LS45aC0uOXYtLjloLS45di0uOUgxNHYtLjloMS44di45aC45di45aC45VjE0Wm0uOSAxLjhoLS45VjE0aC45djEuOFptMCAwaC45djMuNmgtLjl2LTMuNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iLjEyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNSA1LjVoLTJjLTEuNDA4IDAtMi40MzUgMC0zLjI0My4wNjYtLjgwMy4wNjYtMS4zNDcuMTk0LTEuOC40MjRBNC41IDQuNSAwIDAgMCA1Ljk5IDcuOTU3Yy0uMjMuNDUzLS4zNTguOTk3LS40MjQgMS44QzUuNSAxMC41NjUgNS41IDExLjU5MiA1LjUgMTN2MmMwIDEuNDA4IDAgMi40MzUuMDY2IDMuMjQzLjA2Ni44MDMuMTk0IDEuMzQ3LjQyNCAxLjhhNC41IDQuNSAwIDAgMCAxLjk2NyAxLjk2NmMuNDUzLjIzMS45OTcuMzU5IDEuOC40MjQuODA4LjA2NyAxLjgzNS4wNjcgMy4yNDMuMDY3aDJjMS40MDggMCAyLjQzNSAwIDMuMjQzLS4wNjcuODAzLS4wNjUgMS4zNDctLjE5MyAxLjgtLjQyNGE0LjUgNC41IDAgMCAwIDEuOTY2LTEuOTY2Yy4yMzEtLjQ1My4zNTktLjk5Ny40MjQtMS44LjA2Ny0uODA4LjA2Ny0xLjgzNS4wNjctMy4yNDN2LTJjMC0xLjQwOCAwLTIuNDM1LS4wNjctMy4yNDMtLjA2NS0uODAzLS4xOTMtMS4zNDctLjQyNC0xLjhhNC41IDQuNSAwIDAgMC0xLjk2Ni0xLjk2N2MtLjQ1My0uMjMtLjk5Ny0uMzU4LTEuOC0uNDI0QzE3LjQzNSA1LjUgMTYuNDA4IDUuNSAxNSA1LjVaTTUuNTQ1IDcuNzNDNSA4LjggNSAxMC4yIDUgMTN2MmMwIDIuOCAwIDQuMi41NDUgNS4yN2E1IDUgMCAwIDAgMi4xODUgMi4xODVDOC44IDIzIDEwLjIgMjMgMTMgMjNoMmMyLjggMCA0LjIgMCA1LjI3LS41NDVhNSA1IDAgMCAwIDIuMTg1LTIuMTg1QzIzIDE5LjIgMjMgMTcuOCAyMyAxNXYtMmMwLTIuOCAwLTQuMi0uNTQ1LTUuMjdhNSA1IDAgMCAwLTIuMTg1LTIuMTg1QzE5LjIgNSAxNy44IDUgMTUgNWgtMmMtMi44IDAtNC4yIDAtNS4yNy41NDVBNSA1IDAgMCAwIDUuNTQ1IDcuNzNaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjOTlCM0ZGIiBkPSJNNDggMzYuNUM0OCA0Mi44NTEgNDIuODUxIDQ4IDM2LjUgNDhTMjUgNDIuODUxIDI1IDM2LjUgMzAuMTQ5IDI1IDM2LjUgMjUgNDggMzAuMTQ5IDQ4IDM2LjVaIi8+PHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuMTIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjUgNDcuNWM2LjA3NSAwIDExLTQuOTI1IDExLTExcy00LjkyNS0xMS0xMS0xMS0xMSA0LjkyNS0xMSAxMSA0LjkyNSAxMSAxMSAxMVptMCAuNUM0Mi44NTEgNDggNDggNDIuODUxIDQ4IDM2LjVTNDIuODUxIDI1IDM2LjUgMjUgMjUgMzAuMTQ5IDI1IDM2LjUgMzAuMTQ5IDQ4IDM2LjUgNDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjN0Y5MUVCIiBkPSJNNDYgMzYuNWE5LjUgOS41IDAgMSAxLTE5IDAgOS41IDkuNSAwIDAgMSAxOSAwWiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjEyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNi41IDQ1LjVhOSA5IDAgMSAwIDAtMTggOSA5IDAgMCAwIDAgMThabTAgLjVhOS41IDkuNSAwIDEgMCAwLTE5IDkuNSA5LjUgMCAwIDAgMCAxOVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iLjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMxLjkxMiAzNy4wMzdhLjUuNSAwIDAgMS0uMTM5LS42NjVsNC4yOTgtNy4xM2EuNS41IDAgMCAxIC44NTYgMGw0LjI5NyA3LjEzYS41LjUgMCAwIDEtLjEzNy42NjQuNS41IDAgMCAxIC4xMTkuNjk4bC00LjMgNi4wNTVhLjUuNSAwIDAgMS0uODE1IDBsLTQuMjk3LTYuMDU1YS41LjUgMCAwIDEgLjExOC0uNjk3Wm0uMjkuNDA4IDQuMjk3IDIuNTM4IDQuMy0yLjUzOC00LjMgNi4wNTUtNC4yOTctNi4wNTVabTAtLjgxNSA0LjI5Ny03LjEzIDQuMjk3IDcuMTMtNC4yOTcgMi41NC00LjI5Ny0yLjU0WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuNTUiIGQ9Ik0zNi40OTkgMjkuNXY5LjY3bDQuMjk3LTIuNTQtNC4yOTctNy4xM1oiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii4zIiBkPSJtMzYuNDk5IDI5LjUtNC4yOTcgNy4xMyA0LjI5NyAyLjU0VjI5LjVaIi8+PHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuNTUiIGQ9Ik0zNi40OTkgMzkuOTgzVjQzLjVsNC4zLTYuMDU1LTQuMyAyLjUzOFoiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii4zIiBkPSJNMzYuNDk5IDQzLjV2LTMuNTE3bC00LjI5Ny0yLjUzOCA0LjI5NyA2LjA1NVoiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJtMzYuNDk5IDM5LjE3IDQuMjk3LTIuNTQtNC4yOTctMS45NTN2NC40OTNaIi8+PHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuNiIgZD0ibTMyLjIwMiAzNi42MyA0LjI5NyAyLjU0di00LjQ5M2wtNC4yOTcgMS45NTNaIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMjQiIHgyPSIyNCIgeTE9IjAiIHkyPSI0OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMxNzQyOTkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDFFNTkiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjI0IiB4Mj0iMjQiIHkxPSIwIiB5Mj0iNDgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRDJEOEU0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQzJDOUQ2Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2Fzc2V0cy0yNllZNEdWRC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHlDQUF5QztBQUd2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2Fzc2V0cy0yNllZNEdWRC5qcz84MjQ3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvYXNzZXRzLnN2Z1xudmFyIGFzc2V0c19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJR1pwYkd3OUltNXZibVVpSUhacFpYZENiM2c5SWpBZ01DQTBPQ0EwT0NJK1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOaEtTSWdaRDBpVFRFdU1Ea2dOUzQwTmtNd0lEY3VOaUF3SURFd0xqUWdNQ0F4Tm5ZeE5tTXdJRFV1TmlBd0lEZ3VOQ0F4TGpBNUlERXdMalUwWVRFd0lERXdJREFnTUNBd0lEUXVNemNnTkM0ek4wTTNMallnTkRnZ01UQXVOQ0EwT0NBeE5pQTBPR2d4Tm1NeExqYzFNaUF3SURNdU1qTWdNQ0EwTGpVdExqQXpNeUF3TFRFdU16WXlJREF0TWk0d05EUXVNRFkyTFRJdU5qRTJZVEV3SURFd0lEQWdNQ0F4SURndU56ZzFMVGd1TnpnMVl5NDFOekl0TGpBMk5pQXhMakkxTkMwdU1EWTJJREl1TmpFMkxTNHdOalpETkRnZ016VXVNak1nTkRnZ016TXVOelV5SURRNElETXlWakUyWXpBdE5TNDJJREF0T0M0MExURXVNRGt0TVRBdU5UUmhNVEFnTVRBZ01DQXdJREF0TkM0ek55MDBMak0zUXpRd0xqUWdNQ0F6Tnk0MklEQWdNeklnTUVneE5rTXhNQzQwSURBZ055NDJJREFnTlM0ME5pQXhMakE1WVRFd0lERXdJREFnTUNBd0xUUXVNemNnTkM0ek4xb2lMejQ4Y0dGMGFDQm1hV3hzUFNKMWNtd29JMklwSWlCa1BTSk5NUzR3T1NBMUxqUTJRekFnTnk0MklEQWdNVEF1TkNBd0lERTJkakUyWXpBZ05TNDJJREFnT0M0MElERXVNRGtnTVRBdU5UUmhNVEFnTVRBZ01DQXdJREFnTkM0ek55QTBMak0zUXpjdU5pQTBPQ0F4TUM0MElEUTRJREUySURRNGFERTJZekV1TnpVeUlEQWdNeTR5TXlBd0lEUXVOUzB1TURNeklEQXRNUzR6TmpJZ01DMHlMakEwTkM0d05qWXRNaTQyTVRaaE1UQWdNVEFnTUNBd0lERWdPQzQzT0RVdE9DNDNPRFZqTGpVM01pMHVNRFkySURFdU1qVTBMUzR3TmpZZ01pNDJNVFl0TGpBMk5rTTBPQ0F6TlM0eU15QTBPQ0F6TXk0M05USWdORGdnTXpKV01UWmpNQzAxTGpZZ01DMDRMalF0TVM0d09TMHhNQzQxTkdFeE1DQXhNQ0F3SURBZ01DMDBMak0zTFRRdU16ZEROREF1TkNBd0lETTNMallnTUNBek1pQXdTREUyUXpFd0xqUWdNQ0EzTGpZZ01DQTFMalEySURFdU1EbGhNVEFnTVRBZ01DQXdJREF0TkM0ek55QTBMak0zV2lJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpBMElpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWswek5TNDFJRE0xTGpWb01URXVORGcyUXpRM0lETTBMalEzTlNBME55QXpNeTR6TWlBME55QXpNbFl4Tm1Nd0xUSXVPREUzSURBdE5DNDROeTB1TVRNekxUWXVORGczTFM0eE16RXRNUzQyTURVdExqTTROeTB5TGpZNU5DMHVPRFE0TFRNdU5UazVZVGtnT1NBd0lEQWdNQzB6TGprek15MHpMamt6TTJNdExqa3dOUzB1TkRZeExURXVPVGswTFM0M01UY3RNeTQyTFM0NE5EaERNell1T0RjZ01TQXpOQzQ0TVRZZ01TQXpNaUF4U0RFMll5MHlMamd4TnlBd0xUUXVPRGNnTUMwMkxqUTROeTR4TXpNdE1TNDJNRFV1TVRNeExUSXVOamswTGpNNE55MHpMalU1T1M0NE5EaGhPU0E1SURBZ01DQXdMVE11T1RNeklETXVPVE16WXkwdU5EWXhMamt3TlMwdU56RTNJREV1T1RrMExTNDRORGdnTXk0MlF6RWdNVEV1TVRNZ01TQXhNeTR4T0RNZ01TQXhObll4Tm1Nd0lESXVPREUzSURBZ05DNDROeTR4TXpNZ05pNDBPRFl1TVRNeElERXVOakEyTGpNNE55QXlMalk1TlM0NE5EZ2dNeTQyWVRrZ09TQXdJREFnTUNBekxqa3pNeUF6TGprek0yTXVPVEExTGpRMk1TQXhMams1TkM0M01UY2dNeTQyTGpnME9FTXhNUzR4TXlBME55QXhNeTR4T0RNZ05EY2dNVFlnTkRkb01UWmpNUzR6TWlBd0lESXVORGMxSURBZ015NDFMUzR3TVRSV016VXVOVnB0TVNBeE1pNDBOamRETXpVdU1qTWdORGdnTXpNdU56VXlJRFE0SURNeUlEUTRTREUyWXkwMUxqWWdNQzA0TGpRZ01DMHhNQzQxTkMweExqQTVZVEV3SURFd0lEQWdNQ0F4TFRRdU16Y3ROQzR6TjBNd0lEUXdMalFnTUNBek55NDJJREFnTXpKV01UWmpNQzAxTGpZZ01DMDRMalFnTVM0d09TMHhNQzQxTkdFeE1DQXhNQ0F3SURBZ01TQTBMak0zTFRRdU16ZEROeTQySURBZ01UQXVOQ0F3SURFMklEQm9NVFpqTlM0MklEQWdPQzQwSURBZ01UQXVOVFFnTVM0d09XRXhNQ0F4TUNBd0lEQWdNU0EwTGpNM0lEUXVNemRETkRnZ055NDJJRFE0SURFd0xqUWdORGdnTVRaMk1UWmpNQ0F4TGpjMU1pQXdJRE11TWpNdExqQXpNeUEwTGpWSU16WXVOWFl4TVM0ME5qZGFJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpTHo0OGNHRjBhQ0JtYVd4c1BTSWpNREF3SWlCbWFXeHNMVzl3WVdOcGRIazlJaTQ0SWlCa1BTSk5NeUF4TkM0eVl6QXRNeTQ1TWlBd0xUVXVPRGd1TnpZekxUY3VNemM0WVRjZ055QXdJREFnTVNBekxqQTJMVE11TURVNVF6Z3VNekU0SURNZ01UQXVNamdnTXlBeE5DNHlJRE5vTVRrdU5tTXpMamt5SURBZ05TNDRPQ0F3SURjdU16YzRMamMyTTJFM0lEY2dNQ0F3SURFZ015NHdOVGtnTXk0d05rTTBOU0E0TGpNeE9DQTBOU0F4TUM0eU9DQTBOU0F4TkM0eWRqRTVMalpqTUNBekxqa3lJREFnTlM0NE9DMHVOell6SURjdU16YzRZVGNnTnlBd0lEQWdNUzB6TGpBMklETXVNRFU1UXpNNUxqWTRNaUEwTlNBek55NDNNaUEwTlNBek15NDRJRFExU0RFMExqSmpMVE11T1RJZ01DMDFMamc0SURBdE55NHpOemd0TGpjMk0yRTNJRGNnTUNBd0lERXRNeTR3TlRrdE15NHdOa016SURNNUxqWTRNaUF6SURNM0xqY3lJRE1nTXpNdU9GWXhOQzR5V2lJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRNekxqZ2dNeTQxU0RFMExqSmpMVEV1T1RZNElEQXRNeTQwTVRVZ01DMDBMalUxTnk0d09UUXRNUzR4TXpZdU1Ea3pMVEV1T1RJM0xqSTNOUzB5TGpVNU5DNDJNVFJCTmk0MUlEWXVOU0F3SURBZ01DQTBMakl4SURjdU1EVmpMUzR6TkM0Mk5qY3RMalV5TWlBeExqUTFPQzB1TmpFMUlESXVOVGswUXpNdU5TQXhNQzQzT0RVZ015NDFJREV5TGpJek1pQXpMalVnTVRRdU1uWXhPUzQyWXpBZ01TNDVOamdnTUNBekxqUXhOUzR3T1RRZ05DNDFOVGN1TURreklERXVNVE0yTGpJM05TQXhMamt5T0M0Mk1UUWdNaTQxT1RSaE5pNDFJRFl1TlNBd0lEQWdNQ0F5TGpnME1TQXlMamcwWXk0Mk5qY3VNelFnTVM0ME5UZ3VOVEl5SURJdU5UazBMall4TlNBeExqRTBNaTR3T1RRZ01pNDFPRGt1TURrMElEUXVOVFUzTGpBNU5HZ3hPUzQyWXpFdU9UWTRJREFnTXk0ME1UVWdNQ0EwTGpVMU55MHVNRGswSURFdU1UTTJMUzR3T1RNZ01TNDVNamd0TGpJM05TQXlMalU1TkMwdU5qRTBZVFl1TkRrNUlEWXVORGs1SURBZ01DQXdJREl1T0RRdE1pNDROREZqTGpNMExTNDJOall1TlRJeUxURXVORFU0TGpZeE5TMHlMalU1TkM0d09UUXRNUzR4TkRJdU1EazBMVEl1TlRnNUxqQTVOQzAwTGpVMU4xWXhOQzR5WXpBdE1TNDVOamdnTUMwekxqUXhOUzB1TURrMExUUXVOVFUzTFM0d09UTXRNUzR4TXpZdExqSTNOUzB4TGpreU55MHVOakUwTFRJdU5UazBZVFl1TlNBMkxqVWdNQ0F3SURBdE1pNDROREV0TWk0NE5HTXRMalkyTmkwdU16UXRNUzQwTlRndExqVXlNaTB5TGpVNU5DMHVOakUxUXpNM0xqSXhOU0F6TGpVZ016VXVOelk0SURNdU5TQXpNeTQ0SURNdU5WcE5NeTQzTmpNZ05pNDRNakpETXlBNExqTXlJRE1nTVRBdU1qZ2dNeUF4TkM0eWRqRTVMalpqTUNBekxqa3lJREFnTlM0NE9DNDNOak1nTnk0ek56aGhOeUEzSURBZ01DQXdJRE11TURZZ015NHdOVGxET0M0ek1UZ2dORFVnTVRBdU1qZ2dORFVnTVRRdU1pQTBOV2d4T1M0Mll6TXVPVElnTUNBMUxqZzRJREFnTnk0ek56Z3RMamMyTTJFM0lEY2dNQ0F3SURBZ015NHdOVGt0TXk0d05rTTBOU0F6T1M0Mk9ESWdORFVnTXpjdU56SWdORFVnTXpNdU9GWXhOQzR5WXpBdE15NDVNaUF3TFRVdU9EZ3RMamMyTXkwM0xqTTNPR0UzSURjZ01DQXdJREF0TXk0d05pMHpMakExT1VNek9TNDJPRElnTXlBek55NDNNaUF6SURNekxqZ2dNMGd4TkM0eVl5MHpMamt5SURBdE5TNDRPQ0F3TFRjdU16YzRMamMyTTJFM0lEY2dNQ0F3SURBdE15NHdOVGtnTXk0d05sb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp4d1lYUm9JR1pwYkd3OUlpTkVSa1EzUkRVaUlHUTlJazB5TlNBeE0yTXdMVEl1T0NBd0xUUXVNaTQxTkRVdE5TNHlOMkUxSURVZ01DQXdJREVnTWk0eE9EVXRNaTR4T0RWRE1qZ3VPQ0ExSURNd0xqSWdOU0F6TXlBMWFESmpNaTQ0SURBZ05DNHlJREFnTlM0eU55NDFORFZoTlNBMUlEQWdNQ0F4SURJdU1UZzFJREl1TVRnMVF6UXpJRGd1T0NBME15QXhNQzR5SURReklERXpkakpqTUNBeUxqZ2dNQ0EwTGpJdExqVTBOU0ExTGpJM1lUVWdOU0F3SURBZ01TMHlMakU0TlNBeUxqRTROVU16T1M0eUlESXpJRE0zTGpnZ01qTWdNelVnTWpOb0xUSmpMVEl1T0NBd0xUUXVNaUF3TFRVdU1qY3RMalUwTldFMUlEVWdNQ0F3SURFdE1pNHhPRFV0TWk0eE9EVkRNalVnTVRrdU1pQXlOU0F4Tnk0NElESTFJREUxZGkweVdpSXZQanh3WVhSb0lHWnBiR3c5SWlORk1VUTNSRFVpSUdROUlrMHpPQ0ExYUMwNFlUVWdOU0F3SURBZ01DMDFJRFYyT0dFMUlEVWdNQ0F3SURBZ05TQTFhRGhoTlNBMUlEQWdNQ0F3SURVdE5YWXRPR0UxSURVZ01DQXdJREF0TlMwMVdpSXZQanh3WVhSb0lHWnBiR3c5SWlORU1qSXlNRGtpSUdROUlrMHpOeTQ1TXpnZ01UWXVPREV6YUMwM0xqZzNObll1TlRZeWFEY3VPRGMxZGkwdU5UWXpXbTB3SUM0MU5qSm9MVGN1T0RjMmRpNDFOak5vTnk0NE56VjJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBReU1qSXdPU0lnWkQwaVRUTTNMamt6T0NBeE55NDVNemhvTFRjdU9EYzJkaTQxTmpKb055NDROelYyTFM0MU5qTmFiVEFnTGpVMk1tZ3ROeTQ0TnpaMkxqVTJNMmczTGpnM05WWXhPQzQxV2lJdlBqeHdZWFJvSUdacGJHdzlJaU5FTWpJeU1Ea2lJR1E5SWswek1TNHhPRGdnTVRrdU1EWXphQzB4TGpFeU5YWXVOVFl5YURFdU1USTFkaTB1TlRZeldtMDJMamMxSURCSU16RXVOelYyTGpVMk1tZzJMakU0T0hZdExqVTJNMXB0TFRZdU56VXVOVFl5YUMweExqRXlOWFl1TlRZemFERXVNVEkxZGkwdU5UWXpXbTAyTGpjMUlEQklNekV1TnpWMkxqVTJNMmcyTGpFNE9IWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqUkRJeU1qQTVJaUJrUFNKTk16RXVNVGc0SURJd0xqRTRPR2d0TVM0eE1qVjJMalUyTW1neExqRXlOWFl0TGpVMk0xcHROaTQzTlNBd1NETXhMamMxZGk0MU5qSm9OaTR4T0RoMkxTNDFOak5hYlMwMkxqYzFMalUyTW1ndE1TNHhNalYyTGpVMk0yZ3hMakV5TlhZdExqVTJNMXB0Tmk0M05TQXdTRE14TGpjMWRpNDFOak5vTmk0eE9EaDJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBReU1qSXdPU0lnWkQwaVRUTXhMakU0T0NBeU1TNHpNVE5vTFRFdU1USTFkaTQxTmpKb01TNHhNalYyTFM0MU5qTmFiVFl1TnpVZ01FZ3pNUzQzTlhZdU5UWXlhRFl1TVRnNGRpMHVOVFl6V20wdE5pNDNOUzQxTmpKb0xURXVNVEkxZGk0MU5qTm9NUzR4TWpWMkxTNDFOak5hYlRZdU56VWdNRWd6TVM0M05YWXVOVFl6YURZdU1UZzRkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlORU1qSXlNRGtpSUdROUlrMHpNUzR4T0RnZ01qSXVORE00YUMweExqRXlOVll5TTJneExqRXlOWFl0TGpVMk0xcHROaTQzTlNBd1NETXhMamMxVmpJemFEWXVNVGc0ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdROUlrMHpNaTQ0TnpVZ01UY3VPVE00YUMwdU5UWXpkaTQxTmpKb0xqVTJNM1l0TGpVMk0xcHRNaTR5TlNBd1NETTBkaTQxTmpKb01TNHhNalYyTFM0MU5qTmFiVEV1TVRJMUlEQm9MUzQxTmpOMkxqVTJNbWd1TlRZemRpMHVOVFl6V20wdE15NHpOelV1TlRZeWFDMHVOVFl6ZGk0MU5qTm9MalUyTTFZeE9DNDFXbTB5TGpJMUlEQklNelIyTGpVMk0yZ3hMakV5TlZZeE9DNDFXbTB4TGpFeU5TQXdhQzB1TlRZemRpNDFOak5vTGpVMk0xWXhPQzQxV2lJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB6TXk0ME16Z2dNVGt1TURZemFDMHhMakV5Tm5ZdU5UWXlhREV1TVRJMmRpMHVOVFl6V20weExqWTROeUF3U0RNMGRpNDFOakpvTVM0eE1qVjJMUzQxTmpOYWJURXVOamc0SURCb0xURXVNVEkyZGk0MU5qSm9NUzR4TWpaMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJME14TmpjeE1DSWdaRDBpVFRNekxqUXpPQ0E0TGpNM05XZ3RMalUyTTNZdU5UWXphQzQxTmpOMkxTNDFOak5hYlRFdU5qZzNJREJJTXpSMkxqVTJNMmd4TGpFeU5YWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqUkRSQk1ERTFJaUJrUFNKTk16RXVOelVnT0M0NU16aG9MVEV1TmpnNFZqa3VOV2d4TGpZNE9IWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqUXpFMk56RXdJaUJrUFNKTk16VXVOamc0SURndU9UTTRhQzB6TGpNM05sWTVMalZvTXk0ek56WjJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBRMFFUQXhOU0lnWkQwaVRUTTNMamt6T0NBNExqa3pPRWd6Tmk0eU5WWTVMalZvTVM0Mk9EaDJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBNeE5qY3hNQ0lnWkQwaVRUTXdMakEyTXlBNUxqVm9MVEV1TVRJMWRpNDFOak5vTVM0eE1qVldPUzQxV2lJdlBqeHdZWFJvSUdacGJHdzlJaU5FTkVFd01UVWlJR1E5SWswek1TNDNOU0E1TGpWb0xURXVOamc0ZGk0MU5qTm9NUzQyT0RoV09TNDFXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkRNVFkzTVRBaUlHUTlJazB6TlM0eE1qVWdPUzQxU0RNeExqYzFkaTQxTmpOb015NHpOelZXT1M0MVdpSXZQanh3WVhSb0lHWnBiR3c5SWlORU5FRXdNVFVpSUdROUlrMHpOeTQ1TXpnZ09TNDFTRE0yTGpJMWRpNDFOak5vTVM0Mk9EaFdPUzQxV2lJdlBqeHdZWFJvSUdacGJHdzlJaU5ETVRZM01UQWlJR1E5SWswek1DNHdOak1nTVRBdU1EWXphQzB4TGpFeU5YWXVOVFl5YURFdU1USTFkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlORU5FRXdNVFVpSUdROUlrMHpOQ0F4TUM0d05qTm9MVE11T1RNNGRpNDFOakpJTXpSMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJME14TmpjeE1DSWdaRDBpVFRNMExqVTJNeUF4TUM0d05qTklNelIyTGpVMk1tZ3VOVFl6ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkVORUV3TVRVaUlHUTlJazB6Tnk0NU16Z2dNVEF1TURZemFDMHpMak0zTm5ZdU5UWXlhRE11TXpjMmRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5ETVRZM01UQWlJR1E5SWswek1DNHdOak1nTVRBdU5qSTFhQzB4TGpZNE9IWXVOVFl6YURFdU5qZzRkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlORU5FRXdNVFVpSUdROUlrMHpNeTQwTXpnZ01UQXVOakkxYUMwekxqTTNObll1TlRZemFETXVNemMxZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkdSa1U1TXpraUlHUTlJazB6TlM0eE1qVWdNVEF1TmpJMWFDMHhMalk0T0hZdU5UWXphREV1TmpnNGRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5FTkVFd01UVWlJR1E5SWswek55NDVNemdnTVRBdU5qSTFhQzB5TGpneE0zWXVOVFl6YURJdU9ERXpkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlORE1UWTNNVEFpSUdROUlrMHpNQzR3TmpNZ01URXVNVGc0YUMweExqRXlOWFl1TlRZeWFERXVNVEkxZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkVORUV3TVRVaUlHUTlJazB6TkNBeE1TNHhPRGhvTFRNdU9UTTRkaTQxTmpKSU16UjJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBaR1JUa3pPU0lnWkQwaVRUTTBMalUyTXlBeE1TNHhPRGhJTXpSMkxqVTJNbWd1TlRZemRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5FTkVFd01UVWlJR1E5SWswek55NDVNemdnTVRFdU1UZzRhQzB6TGpNM05uWXVOVFl5YURNdU16YzJkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlORE1UWTNNVEFpSUdROUlrMHpNQzR3TmpNZ01URXVOelZvTFRFdU1USTFkaTQxTmpOb01TNHhNalYyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwUTBRVEF4TlNJZ1pEMGlUVE0wSURFeExqYzFhQzB6TGprek9IWXVOVFl6U0RNMGRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5HUmtVNU16a2lJR1E5SWswek5DNDFOak1nTVRFdU56VklNelIyTGpVMk0yZ3VOVFl6ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkVORUV3TVRVaUlHUTlJazB6Tnk0NU16Z2dNVEV1TnpWb0xUTXVNemMyZGk0MU5qTm9NeTR6TnpaMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJME14TmpjeE1DSWdaRDBpVFRNd0xqQTJNeUF4TWk0ek1UTm9MVEV1TmpnNGRpNDFOakpvTVM0Mk9EaDJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBRMFFUQXhOU0lnWkQwaVRUTTBJREV5TGpNeE0yZ3RNeTQ1TXpoMkxqVTJNa2d6TkhZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpSa1pGT1RNNUlpQmtQU0pOTXpRdU5UWXpJREV5TGpNeE0wZ3pOSFl1TlRZeWFDNDFOak4yTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwUTBRVEF4TlNJZ1pEMGlUVE0zTGprek9DQXhNaTR6TVROb0xUTXVNemMyZGk0MU5qSm9NeTR6TnpaMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJME14TmpjeE1DSWdaRDBpVFRNd0xqQTJNeUF4TWk0NE56Vm9MVEV1TVRJMWRpNDFOak5vTVM0eE1qVjJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBRMFFUQXhOU0lnWkQwaVRUTTBJREV5TGpnM05XZ3RNeTQ1TXpoMkxqVTJNMGd6TkhZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpSa1pGT1RNNUlpQmtQU0pOTXpRdU5UWXpJREV5TGpnM05VZ3pOSFl1TlRZemFDNDFOak4yTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwUTBRVEF4TlNJZ1pEMGlUVE0zTGprek9DQXhNaTQ0TnpWb0xUTXVNemMyZGk0MU5qTm9NeTR6TnpaMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJME14TmpjeE1DSWdaRDBpVFRNd0xqQTJNeUF4TXk0ME16aG9MVEV1TVRJMVZqRTBhREV1TVRJMWRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5FTkVFd01UVWlJR1E5SWswek5DQXhNeTQwTXpob0xUTXVPVE00VmpFMFNETTBkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlOR1JrVTVNemtpSUdROUlrMHpOQzQxTmpNZ01UTXVORE00U0RNMFZqRTBhQzQxTmpOMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJMFEwUVRBeE5TSWdaRDBpVFRNM0xqa3pPQ0F4TXk0ME16aG9MVE11TXpjMlZqRTBhRE11TXpjMmRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5ETVRZM01UQWlJR1E5SWswek1DNHdOak1nTVRSb0xURXVOamc0ZGk0MU5qTm9NUzQyT0RoV01UUmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwUXdPRUl4TVNJZ1pEMGlUVFF3TGpFNE9DQXhORWd6TUM0d05qSjJMalUyTTJneE1DNHhNalZXTVRSYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBNeE5qY3hNQ0lnWkQwaVRUTXdMakEyTXlBeE5DNDFOak5vTFRFdU1USTFkaTQxTmpKb01TNHhNalYyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwUXdPRUl4TVNJZ1pEMGlUVE0zTGprek9DQXhOQzQxTmpOb0xUY3VPRGMyZGk0MU5qSm9OeTQ0TnpWMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJekF3TUNJZ1pEMGlUVE00TGpVZ01UUXVOVFl6YUMwdU5UWXpkaTQxTmpKb0xqVTJNM1l0TGpVMk0xb2lMejQ4Y0dGMGFDQm1hV3hzUFNJalJEQTRRakV4SWlCa1BTSk5Nemt1TURZeklERTBMalUyTTBnek9DNDFkaTQxTmpKb0xqVTJNM1l0TGpVMk0xb2lMejQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk16a3VOakkxSURFMExqVTJNMmd0TGpVMk0zWXVOVFl5YUM0MU5qTjJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTBRd09FSXhNU0lnWkQwaVRUUXdMakU0T0NBeE5DNDFOak5vTFM0MU5qTjJMalUyTW1ndU5UWXpkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlORE1UWTNNVEFpSUdROUlrMHpNQzR3TmpNZ01UVXVNVEkxYUMweExqWTRPSFl1TlRZemFERXVOamc0ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkVNRGhDTVRFaUlHUTlJazB6TVM0eE9EZ2dNVFV1TVRJMWFDMHhMakV5TlhZdU5UWXphREV1TVRJMWRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5HUmtVNU16a2lJR1E5SWswek1TNDNOU0F4TlM0eE1qVm9MUzQxTmpOMkxqVTJNMmd1TlRZemRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHUTlJazB6TWk0ek1UTWdNVFV1TVRJMWFDMHVOVFl6ZGk0MU5qTm9MalUyTTNZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpSa1pGT1RNNUlpQmtQU0pOTXpJdU9EYzFJREUxTGpFeU5XZ3RMalUyTTNZdU5UWXphQzQxTmpOMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJekF3TUNJZ1pEMGlUVE16TGpRek9DQXhOUzR4TWpWb0xTNDFOak4yTGpVMk0yZ3VOVFl6ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkdSa1U1TXpraUlHUTlJazB6TkNBeE5TNHhNalZvTFM0MU5qTjJMalUyTTBnek5IWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqTURBd0lpQmtQU0pOTXpRdU5UWXpJREUxTGpFeU5VZ3pOSFl1TlRZemFDNDFOak4yTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwWkdSVGt6T1NJZ1pEMGlUVE0xTGpFeU5TQXhOUzR4TWpWb0xTNDFOak4yTGpVMk0yZ3VOVFl6ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkVNRGhDTVRFaUlHUTlJazAwTUM0eE9EZ2dNVFV1TVRJMWFDMDFMakEyTTNZdU5UWXphRFV1TURZemRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5ETVRZM01UQWlJR1E5SWswek1DNHdOak1nTVRVdU5qZzRhQzB5TGpJMWRpNDFOakpvTWk0eU5YWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqUkRBNFFqRXhJaUJrUFNKTk5EQXVNVGc0SURFMUxqWTRPRWd6TUM0d05qSjJMalUyTW1neE1DNHhNalYyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwTXhOamN4TUNJZ1pEMGlUVE13TGpBMk15QXhOaTR5TldndE1TNDJPRGgyTGpVMk0yZ3hMalk0T0hZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpSREE0UWpFeElpQmtQU0pOTkRBdU1UZzRJREUyTGpJMVNETXdMakEyTW5ZdU5UWXphREV3TGpFeU5YWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqUXpFMk56RXdJaUJrUFNKTk1qZ3VPVE00SURFMkxqZ3hNMmd0TGpVMk0zWXVOVFl5YUM0MU5qTjJMUzQxTmpOYWJURXVNVEkxSURCSU1qa3VOWFl1TlRZeWFDNDFOak4yTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwUXdPRUl4TVNJZ1pEMGlUVE0zTGprek9DQXhOaTQ0TVROb0xUY3VPRGMyZGk0MU5qSm9OeTQ0TnpWMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJMEk1TVRnMVF5SWdaRDBpVFRNMElERXhMakU0T0dndE15NHpOelYyTGpVMk1rZ3pOSFl0TGpVMk0xcHRNeTQ1TXpnZ01HZ3RNeTR6TnpaMkxqVTJNbWd6TGpNM05uWXRMalUyTTFwdExUWXVOelV1TlRZeWFDMHVOVFl6ZGk0MU5qTm9MalUyTTNZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5Nekl1TXpFeklERXhMamMxYUMweExqRXlObll1TlRZemFERXVNVEkxZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTXdNREFpSUdROUlrMHpNeTQwTXpnZ01URXVOelZvTFRFdU1USTJkaTQxTmpOb01TNHhNaloyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwSTVNVGcxUXlJZ1pEMGlUVE0wSURFeExqYzFhQzB1TlRZemRpNDFOak5JTXpSMkxTNDFOak5hYlRFdU1USTFJREJvTFM0MU5qTjJMalUyTTJndU5UWXpkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWswek5pNHlOU0F4TVM0M05XZ3RNUzR4TWpWMkxqVTJNMmd4TGpFeU5YWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqTURBd0lpQmtQU0pOTXpjdU16YzFJREV4TGpjMVNETTJMakkxZGk0MU5qTm9NUzR4TWpWMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJMEk1TVRnMVF5SWdaRDBpVFRNM0xqa3pPQ0F4TVM0M05XZ3RMalUyTTNZdU5UWXphQzQxTmpOMkxTNDFOak5hYlMwMkxqYzFMalUyTTJndE1pNHlOWFl1TlRZeWFESXVNalYyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUTXlMak14TXlBeE1pNHpNVE5vTFRFdU1USTJkaTQxTmpKb01TNHhNalYyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWkQwaVRUTXpMalF6T0NBeE1pNHpNVE5vTFRFdU1USTJkaTQxTmpKb01TNHhNaloyTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkwSTVNVGcxUXlJZ1pEMGlUVE0xTGpFeU5TQXhNaTR6TVROb0xURXVOamc0ZGk0MU5qSm9NUzQyT0RoMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVE0yTGpJMUlERXlMak14TTJndE1TNHhNalYyTGpVMk1tZ3hMakV5TlhZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpNREF3SWlCa1BTSk5NemN1TXpjMUlERXlMak14TTBnek5pNHlOWFl1TlRZeWFERXVNVEkxZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkNPVEU0TlVNaUlHUTlJazB6Tnk0NU16Z2dNVEl1TXpFemFDMHVOVFl6ZGk0MU5qSm9MalUyTTNZdExqVTJNMXB0TFRndU5ETTRMalUyTW1ndExqVTJNM1l1TlRZemFDNDFOak4yTFM0MU5qTmFiVEV1TmpnNElEQm9MUzQxTmpOMkxqVTJNMmd1TlRZemRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB6TWk0ek1UTWdNVEl1T0RjMWFDMHhMakV5Tm5ZdU5UWXphREV1TVRJMWRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHUTlJazB6TXk0ME16Z2dNVEl1T0RjMWFDMHhMakV5Tm5ZdU5UWXphREV1TVRJMmRpMHVOVFl6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5DT1RFNE5VTWlJR1E5SWswek5DQXhNaTQ0TnpWb0xTNDFOak4yTGpVMk0wZ3pOSFl0TGpVMk0xcHRNUzR4TWpVZ01HZ3RMalUyTTNZdU5UWXphQzQxTmpOMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVE0yTGpJMUlERXlMamczTldndE1TNHhNalYyTGpVMk0yZ3hMakV5TlhZdExqVTJNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpNREF3SWlCa1BTSk5NemN1TXpjMUlERXlMamczTlVnek5pNHlOWFl1TlRZemFERXVNVEkxZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkNPVEU0TlVNaUlHUTlJazB6Tnk0NU16Z2dNVEl1T0RjMWFDMHVOVFl6ZGk0MU5qTm9MalUyTTNZdExqVTJNMXB0TFRndU5ETTRMalUyTTJndExqVTJNMVl4TkdndU5UWXpkaTB1TlRZeldtMHhMalk0T0NBd2FDMHVOVFl6VmpFMGFDNDFOak4yTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUTXlMak14TXlBeE15NDBNemhvTFRFdU1USTJWakUwYURFdU1USTFkaTB1TlRZeldpSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1E5SWswek15NDBNemdnTVRNdU5ETTRhQzB4TGpFeU5sWXhOR2d4TGpFeU5uWXRMalUyTTFvaUx6NDhjR0YwYUNCbWFXeHNQU0lqUWpreE9EVkRJaUJrUFNKTk16UWdNVE11TkRNNGFDMHVOVFl6VmpFMFNETTBkaTB1TlRZeldtMHhMakV5TlNBd2FDMHVOVFl6VmpFMGFDNDFOak4yTFM0MU5qTmFJaTgrUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUTTJMakkxSURFekxqUXpPR2d0TVM0eE1qVldNVFJvTVM0eE1qVjJMUzQxTmpOYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSXpBd01DSWdaRDBpVFRNM0xqTTNOU0F4TXk0ME16aElNell1TWpWV01UUm9NUzR4TWpWMkxTNDFOak5hSWk4K1BIQmhkR2dnWm1sc2JEMGlJMEk1TVRnMVF5SWdaRDBpVFRNM0xqa3pPQ0F4TXk0ME16aG9MUzQxTmpOV01UUm9MalUyTTNZdExqVTJNMXBOTXpRZ01UUm9MVE11TXpjMWRpNDFOak5JTXpSV01UUmFiVE11T1RNNElEQm9MVE11TXpjMmRpNDFOak5vTXk0ek56WldNVFJhSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF2Y0dGamFYUjVQU0l1TXlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTXpVZ05TNDFhQzB5WXkweExqUXdPQ0F3TFRJdU5ETTFJREF0TXk0eU5ETXVNRFkyTFM0NE1ETXVNRFkyTFRFdU16UTNMakU1TkMweExqZ3VOREkwWVRRdU5TQTBMalVnTUNBd0lEQXRNUzQ1TmpZZ01TNDVOamRqTFM0eU16RXVORFV6TFM0ek5Ua3VPVGszTFM0ME1qUWdNUzQ0TFM0d05qY3VPREE0TFM0d05qY2dNUzQ0TXpVdExqQTJOeUF6TGpJME0zWXlZekFnTVM0ME1EZ2dNQ0F5TGpRek5TNHdOamNnTXk0eU5ETXVNRFkxTGpnd015NHhPVE1nTVM0ek5EY3VOREkwSURFdU9HRTBMalVnTkM0MUlEQWdNQ0F3SURFdU9UWTJJREV1T1RZMll5NDBOVE11TWpNeExqazVOeTR6TlRrZ01TNDRMalF5TkM0NE1EZ3VNRFkzSURFdU9ETTFMakEyTnlBekxqSTBNeTR3Tmpkb01tTXhMalF3T0NBd0lESXVORE0xSURBZ015NHlORE10TGpBMk55NDRNRE10TGpBMk5TQXhMak0wTnkwdU1Ua3pJREV1T0MwdU5ESTBZVFF1TlNBMExqVWdNQ0F3SURBZ01TNDVOamN0TVM0NU5qWmpMakl6TFM0ME5UTXVNelU0TFM0NU9UY3VOREkwTFRFdU9DNHdOall0TGpnd09DNHdOall0TVM0NE16VXVNRFkyTFRNdU1qUXpkaTB5WXpBdE1TNDBNRGdnTUMweUxqUXpOUzB1TURZMkxUTXVNalF6TFM0d05qWXRMamd3TXkwdU1UazBMVEV1TXpRM0xTNDBNalF0TVM0NFlUUXVOU0EwTGpVZ01DQXdJREF0TVM0NU5qY3RNUzQ1TmpkakxTNDBOVE10TGpJekxTNDVPVGN0TGpNMU9DMHhMamd0TGpReU5FTXpOeTQwTXpVZ05TNDFJRE0yTGpRd09DQTFMalVnTXpVZ05TNDFXbTB0T1M0ME5UVWdNaTR5TTBNeU5TQTRMamdnTWpVZ01UQXVNaUF5TlNBeE0zWXlZekFnTWk0NElEQWdOQzR5TGpVME5TQTFMakkzWVRVZ05TQXdJREFnTUNBeUxqRTROU0F5TGpFNE5VTXlPQzQ0SURJeklETXdMaklnTWpNZ016TWdNak5vTW1NeUxqZ2dNQ0EwTGpJZ01DQTFMakkzTFM0MU5EVmhOU0ExSURBZ01DQXdJREl1TVRnMUxUSXVNVGcxUXpReklERTVMaklnTkRNZ01UY3VPQ0EwTXlBeE5YWXRNbU13TFRJdU9DQXdMVFF1TWkwdU5UUTFMVFV1TWpkaE5TQTFJREFnTUNBd0xUSXVNVGcxTFRJdU1UZzFRek01TGpJZ05TQXpOeTQ0SURVZ016VWdOV2d0TW1NdE1pNDRJREF0TkM0eUlEQXROUzR5Tnk0MU5EVmhOU0ExSURBZ01DQXdMVEl1TVRnMUlESXVNVGcxV2lJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSEJoZEdnZ1ptbHNiRDBpSXpVMk5FTkNSaUlnWkQwaVRUVWdNek5qTUMweUxqZ2dNQzAwTGpJdU5UUTFMVFV1TWpkaE5TQTFJREFnTUNBeElESXVNVGcxTFRJdU1UZzFRemd1T0NBeU5TQXhNQzR5SURJMUlERXpJREkxYURKak1pNDRJREFnTkM0eUlEQWdOUzR5Tnk0MU5EVmhOU0ExSURBZ01DQXhJREl1TVRnMUlESXVNVGcxUXpJeklESTRMamdnTWpNZ016QXVNaUF5TXlBek0zWXlZekFnTWk0NElEQWdOQzR5TFM0MU5EVWdOUzR5TjJFMUlEVWdNQ0F3SURFdE1pNHhPRFVnTWk0eE9EVkRNVGt1TWlBME15QXhOeTQ0SURReklERTFJRFF6YUMweVl5MHlMamdnTUMwMExqSWdNQzAxTGpJM0xTNDFORFZoTlNBMUlEQWdNQ0F4TFRJdU1UZzFMVEl1TVRnMVF6VWdNemt1TWlBMUlETTNMamdnTlNBek5YWXRNbG9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpSa1kyTmtJeklpQmtQU0pOTVRFdU1UZzRJREkyTGpFeU5XZ3VOVFl5ZGpJdU9ERXphQzQxTmpOMkxUSXVPREV6YUM0MU5qSldNamt1TldndU5UWXpkaTB6TGpNM05VZ3hORll5T1M0MWFDNDFOak4yTFRNdU16YzFhQzQxTmpKMk1pNDRNVE5vTGpVMk0zWXRNaTQ0TVROb0xqVTJNbll5TGpJMWFDNDFOak4yTFRFdU5qZzRhQzQxTmpKMk1pNHlOV2d0TGpVMk0zWXVOVFl6YUMwdU5UWXlkaTQxTmpOb0xURXVNVEkxZGk0MU5qSm9MVEl1T0RFemRpMHVOVFl6YUMweExqRXlORll5T1M0MWFDMHVOVFl6ZGkwdU5UWXphQzB1TlRZemRpMHlMakkxYUM0MU5qTjJNUzQyT0Rob0xqVTJNM1l0TWk0eU5Wb2lMejQ4Y0dGMGFDQm1hV3hzUFNJalFqTkdSa05ESWlCa1BTSk5NVE11TkRNNElETXdMall5TlVneE5IWXVOVFl6YURFdU1USTFkakl1TWpWb01TNHhNalYyTFM0MU5qTm9MalUyTTFZek5HZ3RNUzQyT0RoMk1TNHhNalZvTFM0MU5qTjJNUzR4TWpWb0xqVTJNM1kxTGpZeU5XZ3RMalUyTTNZdE5TNHdOak5JTVRSMkxTNDFOakpvTFRFdU5qZzRkaTB4TGpFeU5XZ3VOVFl6ZGk0MU5qTklNVFIyTFRFdU1USTJhQzQxTmpOV016RXVOelZvTFRFdU1USTJkaTB4TGpFeU5Wb2lMejQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJtYVd4c0xXOXdZV05wZEhrOUlpNDVJaUJrUFNKTk1UWXVNalVnTWpZdU1USTFhQzQxTmpOMk1pNHlOV2d0TGpVMk0zWXRNaTR5TlZwdExUVXVOakkxTGpVMk0yZ3VOVFl6ZGpFdU5qZzNhQzB1TlRZemRpMHhMalk0T0ZvaUx6NDhjR0YwYUNCbWFXeHNQU0lqTURBd0lpQm1hV3hzTFc5d1lXTnBkSGs5SWk0NUlpQmtQU0pOTVRjdU9UTTRJREkyTGpZNE9HZ3RMalUyTTNZeUxqSTFhQzB1TlRZemRpNDFOakpvTFM0MU5qSjJMalUyTTJndU5UWXpWakk1TGpWb0xqVTJNbll0TGpVMk0yZ3VOVFl6ZGkweUxqSTFXbTB0Tmk0eE9EZ3RMalUyTTJndU5UWXpkakl1T0RFemFDMHVOVFl6ZGkweUxqZ3hNMXB0TXk0NU16Z2dNR2d0TGpVMk0zWXlMamd4TTJndU5UWXpkaTB5TGpneE0xcHRMVEl1T0RFeklEQm9MalUyTTFZeU9TNDFhQzB1TlRZemRpMHpMak0zTlZwdE1TNDJPRGdnTUVneE5GWXlPUzQxYUM0MU5qTjJMVE11TXpjMVdtMHVOVFl5SURNdU9UTTRhQzQxTmpOMkxqVTJNbWd0TGpVMk0zWXRMalUyTTFwdExTNDFOakl1TlRZeVNERTBkaTQxTmpOb0xqVTJNM1l0TGpVMk0xcHRMalUyTWk0MU5qTm9MalUyTTNZeUxqSTFhQzB1TlRZemRpMHlMakkxV20weUxqSTFJREV1TmpnM2FDMHVOVFl6VmpNMGFDNDFOak4yTFRFdU1USTFXazB4TlM0eE1qVWdNelJvTGpVMk0zWXhMakV5TldndExqVTJNMVl6TkZwdE1DQXlMakkxZGkweExqRXlOV2d0TGpVMk0zWXhMakV5TldndU5UWXpXbTB3SURCMk5TNDJNalZvTGpVMk0xWXpOaTR5TldndExqVTJNMXB0TFRJdU1qVXRNUzR4TWpWb0xqVTJNM1l1TlRZemFDMHVOVFl6ZGkwdU5UWXpXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RiM0JoWTJsMGVUMGlMakV5SWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TlNBeU5TNDFhQzB5WXkweExqUXdPQ0F3TFRJdU5ETTFJREF0TXk0eU5ETXVNRFkzTFM0NE1ETXVNRFkxTFRFdU16UTNMakU1TXkweExqZ3VOREkwWVRRdU5TQTBMalVnTUNBd0lEQXRNUzQ1TmpjZ01TNDVOalpqTFM0eU15NDBOVE10TGpNMU9DNDVPVGN0TGpReU5DQXhMamhETlM0MUlETXdMalUyTlNBMUxqVWdNekV1TlRreUlEVXVOU0F6TTNZeVl6QWdNUzQwTURnZ01DQXlMalF6TlM0d05qWWdNeTR5TkRNdU1EWTJMamd3TXk0eE9UUWdNUzR6TkRjdU5ESTBJREV1T0dFMExqVWdOQzQxSURBZ01DQXdJREV1T1RZM0lERXVPVFkzWXk0ME5UTXVNak11T1RrM0xqTTFPQ0F4TGpndU5ESTBMamd3T0M0d05qWWdNUzQ0TXpVdU1EWTJJRE11TWpRekxqQTJObWd5WXpFdU5EQTRJREFnTWk0ME16VWdNQ0F6TGpJME15MHVNRFkyTGpnd015MHVNRFkySURFdU16UTNMUzR4T1RRZ01TNDRMUzQwTWpSaE5DNDFJRFF1TlNBd0lEQWdNQ0F4TGprMk5pMHhMamsyTjJNdU1qTXhMUzQwTlRNdU16VTVMUzQ1T1RjdU5ESTBMVEV1T0M0d05qY3RMamd3T0M0d05qY3RNUzQ0TXpVdU1EWTNMVE11TWpRemRpMHlZekF0TVM0ME1EZ2dNQzB5TGpRek5TMHVNRFkzTFRNdU1qUXpMUzR3TmpVdExqZ3dNeTB1TVRrekxURXVNelEzTFM0ME1qUXRNUzQ0WVRRdU5TQTBMalVnTUNBd0lEQXRNUzQ1TmpZdE1TNDVOalpqTFM0ME5UTXRMakl6TVMwdU9UazNMUzR6TlRrdE1TNDRMUzQwTWpRdExqZ3dPQzB1TURZM0xURXVPRE0xTFM0d05qY3RNeTR5TkRNdExqQTJOMXB0TFRrdU5EVTFJREl1TWpORE5TQXlPQzQ0SURVZ016QXVNaUExSURNemRqSmpNQ0F5TGpnZ01DQTBMakl1TlRRMUlEVXVNamRoTlNBMUlEQWdNQ0F3SURJdU1UZzFJREl1TVRnMVF6Z3VPQ0EwTXlBeE1DNHlJRFF6SURFeklEUXphREpqTWk0NElEQWdOQzR5SURBZ05TNHlOeTB1TlRRMVlUVWdOU0F3SURBZ01DQXlMakU0TlMweUxqRTROVU15TXlBek9TNHlJREl6SURNM0xqZ2dNak1nTXpWMkxUSmpNQzB5TGpnZ01DMDBMakl0TGpVME5TMDFMakkzWVRVZ05TQXdJREFnTUMweUxqRTROUzB5TGpFNE5VTXhPUzR5SURJMUlERTNMamdnTWpVZ01UVWdNalZvTFRKakxUSXVPQ0F3TFRRdU1pQXdMVFV1TWpjdU5UUTFZVFVnTlNBd0lEQWdNQzB5TGpFNE5TQXlMakU0TlZvaUlHTnNhWEF0Y25Wc1pUMGlaWFpsYm05a1pDSXZQanh3WVhSb0lHWnBiR3c5SWlNeE56SkVPVGtpSUdROUlrMDFJREV6WXpBdE1pNDRJREF0TkM0eUxqVTBOUzAxTGpJM1FUVWdOU0F3SURBZ01TQTNMamN6SURVdU5UUTFRemd1T0NBMUlERXdMaklnTlNBeE15QTFhREpqTWk0NElEQWdOQzR5SURBZ05TNHlOeTQxTkRWaE5TQTFJREFnTUNBeElESXVNVGcxSURJdU1UZzFRekl6SURndU9DQXlNeUF4TUM0eUlESXpJREV6ZGpKak1DQXlMamdnTUNBMExqSXRMalUwTlNBMUxqSTNZVFVnTlNBd0lEQWdNUzB5TGpFNE5TQXlMakU0TlVNeE9TNHlJREl6SURFM0xqZ2dNak1nTVRVZ01qTm9MVEpqTFRJdU9DQXdMVFF1TWlBd0xUVXVNamN0TGpVME5XRTFJRFVnTUNBd0lERXRNaTR4T0RVdE1pNHhPRFZETlNBeE9TNHlJRFVnTVRjdU9DQTFJREUxZGkweVdpSXZQanh3WVhSb0lHWnBiR3c5SWlNd01FRXlSRGdpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV4TGpNZ01UTXVNVWc0TGpaMkxqbG9NaTQzZGkwdU9WcHRNQ0F1T1dneExqaDJMamxvTGpsMk1TNDRhQzB1T1hZdExqbG9MUzQ1ZGkwdU9XZ3RMamxXTVRSYWJUSXVOeUF5TGpkb0xqbDJNaTQzU0RFMGRpMHlMamRhSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUx6NDhjR0YwYUNCbWFXeHNQU0lqTURCRVJUWkdJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNUzR6SURFeUxqSklPQzQyZGk0NWFESXVOM1l0TGpsYWJUQWdMamxvTVM0NGRpNDVhQzB4TGpoMkxTNDVXbTB5TGpjZ01TNDRhQzB1T1ZZeE5HZ3VPWFl1T1ZwdExqa2dNUzQ0U0RFMGRpMHhMamhvTGpsMk1TNDRXbTB3SURCb0xqbDJNaTQzYUMwdU9YWXRNaTQzV2lJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSEJoZEdnZ1ptbHNiRDBpSTBaR1JVSXdNQ0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCa1BTSk5NVEV1TXlBeE1TNHpTRGd1Tm5ZdU9XZ3lMamQyTFM0NVdtMHdJQzQ1YURFdU9IWXVPV2d0TVM0NGRpMHVPVnBOTVRRZ01UUm9MUzQ1ZGkwdU9XZ3VPWFl1T1ZwdExqa3VPVWd4TkZZeE5HZ3VPWFl1T1ZwdExqa2dNUzQ0YUMwdU9YWXRNUzQ0YUM0NWRqRXVPRnB0TUNBd2FDNDVkakl1TjJndExqbDJMVEl1TjFvaUlHTnNhWEF0Y25Wc1pUMGlaWFpsYm05a1pDSXZQanh3WVhSb0lHWnBiR3c5SWlOR1FUQWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhMak1nTVRBdU5FZzRMaloyTGpsb01pNDNkaTB1T1ZwdE1DQXVPVWd4TkhZdU9XZ3VPWFl1T1dndU9YWXVPV2d1T1hZeExqaG9MamwyTXk0MmFDMHVPWFl0TWk0M2FDMHVPWFl0TVM0NGFDMHVPVll4TkVneE5IWXRMamxvTFM0NWRpMHVPV2d0TVM0NGRpMHVPVm9pSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5FUkRORU1VTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXlMaklnT1M0MVNEZ3VObll1T1dneUxqZDJMamxJTVRSMkxqbG9MamwyTGpsb0xqbDJMamxvTGpsMk1TNDRhQzQ1ZGpNdU5tZ3VPWFl0TXk0MmFDMHVPVll4TkdndExqbDJMUzQ1YUMwdU9YWXRMamxvTFM0NWRpMHVPVWd4TkhZdExqbG9MVEV1T0hZdExqbGFJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpTHo0OGNHRjBhQ0JtYVd4c1BTSWpRekF6TURjNElpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE1pNHlJRGd1TmtnNExqWjJMamxvTXk0MmRpMHVPVnB0TUNBdU9VZ3hOSFl1T1dndE1TNDRkaTB1T1ZwdE5TNDBJRFF1TldndExqbDJMUzQ1YUMwdU9YWXRMamxvTFM0NWRpMHVPVWd4TkhZdExqbG9NUzQ0ZGk0NWFDNDVkaTQ1YUM0NVZqRTBXbTB1T1NBeExqaG9MUzQ1VmpFMGFDNDVkakV1T0ZwdE1DQXdhQzQ1ZGpNdU5tZ3RMamwyTFRNdU5sb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RiM0JoWTJsMGVUMGlMakV5SWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TlNBMUxqVm9MVEpqTFRFdU5EQTRJREF0TWk0ME16VWdNQzB6TGpJME15NHdOall0TGpnd015NHdOall0TVM0ek5EY3VNVGswTFRFdU9DNDBNalJCTkM0MUlEUXVOU0F3SURBZ01DQTFMams1SURjdU9UVTNZeTB1TWpNdU5EVXpMUzR6TlRndU9UazNMUzQwTWpRZ01TNDRRelV1TlNBeE1DNDFOalVnTlM0MUlERXhMalU1TWlBMUxqVWdNVE4yTW1Nd0lERXVOREE0SURBZ01pNDBNelV1TURZMklETXVNalF6TGpBMk5pNDRNRE11TVRrMElERXVNelEzTGpReU5DQXhMamhoTkM0MUlEUXVOU0F3SURBZ01DQXhMamsyTnlBeExqazJObU11TkRVekxqSXpNUzQ1T1RjdU16VTVJREV1T0M0ME1qUXVPREE0TGpBMk55QXhMamd6TlM0d05qY2dNeTR5TkRNdU1EWTNhREpqTVM0ME1EZ2dNQ0F5TGpRek5TQXdJRE11TWpRekxTNHdOamN1T0RBekxTNHdOalVnTVM0ek5EY3RMakU1TXlBeExqZ3RMalF5TkdFMExqVWdOQzQxSURBZ01DQXdJREV1T1RZMkxURXVPVFkyWXk0eU16RXRMalExTXk0ek5Ua3RMams1Tnk0ME1qUXRNUzQ0TGpBMk55MHVPREE0TGpBMk55MHhMamd6TlM0d05qY3RNeTR5TkROMkxUSmpNQzB4TGpRd09DQXdMVEl1TkRNMUxTNHdOamN0TXk0eU5ETXRMakEyTlMwdU9EQXpMUzR4T1RNdE1TNHpORGN0TGpReU5DMHhMamhoTkM0MUlEUXVOU0F3SURBZ01DMHhMamsyTmkweExqazJOMk10TGpRMU15MHVNak10TGprNU55MHVNelU0TFRFdU9DMHVOREkwUXpFM0xqUXpOU0ExTGpVZ01UWXVOREE0SURVdU5TQXhOU0ExTGpWYVRUVXVOVFExSURjdU56TkROU0E0TGpnZ05TQXhNQzR5SURVZ01UTjJNbU13SURJdU9DQXdJRFF1TWk0MU5EVWdOUzR5TjJFMUlEVWdNQ0F3SURBZ01pNHhPRFVnTWk0eE9EVkRPQzQ0SURJeklERXdMaklnTWpNZ01UTWdNak5vTW1NeUxqZ2dNQ0EwTGpJZ01DQTFMakkzTFM0MU5EVmhOU0ExSURBZ01DQXdJREl1TVRnMUxUSXVNVGcxUXpJeklERTVMaklnTWpNZ01UY3VPQ0F5TXlBeE5YWXRNbU13TFRJdU9DQXdMVFF1TWkwdU5UUTFMVFV1TWpkaE5TQTFJREFnTUNBd0xUSXVNVGcxTFRJdU1UZzFRekU1TGpJZ05TQXhOeTQ0SURVZ01UVWdOV2d0TW1NdE1pNDRJREF0TkM0eUlEQXROUzR5Tnk0MU5EVkJOU0ExSURBZ01DQXdJRFV1TlRRMUlEY3VOek5hSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUx6NDhjR0YwYUNCbWFXeHNQU0lqT1RsQ00wWkdJaUJrUFNKTk5EZ2dNell1TlVNME9DQTBNaTQ0TlRFZ05ESXVPRFV4SURRNElETTJMalVnTkRoVE1qVWdOREl1T0RVeElESTFJRE0yTGpVZ016QXVNVFE1SURJMUlETTJMalVnTWpVZ05EZ2dNekF1TVRRNUlEUTRJRE0yTGpWYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSXpBd01DSWdabWxzYkMxdmNHRmphWFI1UFNJdU1USWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUTTJMalVnTkRjdU5XTTJMakEzTlNBd0lERXhMVFF1T1RJMUlERXhMVEV4Y3kwMExqa3lOUzB4TVMweE1TMHhNUzB4TVNBMExqa3lOUzB4TVNBeE1TQTBMamt5TlNBeE1TQXhNU0F4TVZwdE1DQXVOVU0wTWk0NE5URWdORGdnTkRnZ05ESXVPRFV4SURRNElETTJMalZUTkRJdU9EVXhJREkxSURNMkxqVWdNalVnTWpVZ016QXVNVFE1SURJMUlETTJMalVnTXpBdU1UUTVJRFE0SURNMkxqVWdORGhhSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUx6NDhjR0YwYUNCbWFXeHNQU0lqTjBZNU1VVkNJaUJrUFNKTk5EWWdNell1TldFNUxqVWdPUzQxSURBZ01TQXhMVEU1SURBZ09TNDFJRGt1TlNBd0lEQWdNU0F4T1NBd1dpSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqRXlJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHpOaTQxSURRMUxqVmhPU0E1SURBZ01TQXdJREF0TVRnZ09TQTVJREFnTUNBd0lEQWdNVGhhYlRBZ0xqVmhPUzQxSURrdU5TQXdJREVnTUNBd0xURTVJRGt1TlNBNUxqVWdNQ0F3SURBZ01DQXhPVm9pSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpJaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRNeExqa3hNaUF6Tnk0d016ZGhMalV1TlNBd0lEQWdNUzB1TVRNNUxTNDJOalZzTkM0eU9UZ3ROeTR4TTJFdU5TNDFJREFnTUNBeElDNDROVFlnTUd3MExqSTVOeUEzTGpFellTNDFMalVnTUNBd0lERXRMakV6Tnk0Mk5qUXVOUzQxSURBZ01DQXhJQzR4TVRrdU5qazRiQzAwTGpNZ05pNHdOVFZoTGpVdU5TQXdJREFnTVMwdU9ERTFJREJzTFRRdU1qazNMVFl1TURVMVlTNDFMalVnTUNBd0lERWdMakV4T0MwdU5qazNXbTB1TWprdU5EQTRJRFF1TWprM0lESXVOVE00SURRdU15MHlMalV6T0MwMExqTWdOaTR3TlRVdE5DNHlPVGN0Tmk0d05UVmFiVEF0TGpneE5TQTBMakk1TnkwM0xqRXpJRFF1TWprM0lEY3VNVE10TkM0eU9UY2dNaTQxTkMwMExqSTVOeTB5TGpVMFdpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaTgrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOVFVpSUdROUlrMHpOaTQwT1RrZ01qa3VOWFk1TGpZM2JEUXVNamszTFRJdU5UUXROQzR5T1RjdE55NHhNMW9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpNREF3SWlCbWFXeHNMVzl3WVdOcGRIazlJaTR6SWlCa1BTSnRNell1TkRrNUlESTVMalV0TkM0eU9UY2dOeTR4TXlBMExqSTVOeUF5TGpVMFZqSTVMalZhSWk4K1BIQmhkR2dnWm1sc2JEMGlJekF3TUNJZ1ptbHNiQzF2Y0dGamFYUjVQU0l1TlRVaUlHUTlJazB6Tmk0ME9Ua2dNemt1T1RnelZqUXpMalZzTkM0ekxUWXVNRFUxTFRRdU15QXlMalV6T0ZvaUx6NDhjR0YwYUNCbWFXeHNQU0lqTURBd0lpQm1hV3hzTFc5d1lXTnBkSGs5SWk0eklpQmtQU0pOTXpZdU5EazVJRFF6TGpWMkxUTXVOVEUzYkMwMExqSTVOeTB5TGpVek9DQTBMakk1TnlBMkxqQTFOVm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpNREF3SWlCa1BTSnRNell1TkRrNUlETTVMakUzSURRdU1qazNMVEl1TlRRdE5DNHlPVGN0TVM0NU5UTjJOQzQwT1ROYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSXpBd01DSWdabWxzYkMxdmNHRmphWFI1UFNJdU5pSWdaRDBpYlRNeUxqSXdNaUF6Tmk0Mk15QTBMakk1TnlBeUxqVTBkaTAwTGpRNU0yd3ROQzR5T1RjZ01TNDVOVE5hSWk4K1BHUmxabk0rUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKaElpQjRNVDBpTWpRaUlIZ3lQU0l5TkNJZ2VURTlJakFpSUhreVBTSTBPQ0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXhOelF5T1RraUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU13TURGRk5Ua2lMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWWlJZ2VERTlJakkwSWlCNE1qMGlNalFpSUhreFBTSXdJaUI1TWowaU5EZ2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJESkVPRVUwSWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpRekpET1VRMklpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhMMlJsWm5NK1BDOXpkbWMrXCI7XG5leHBvcnQge1xuICBhc3NldHNfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/assets-26YY4GVD.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js.js deleted file mode 100644 index 5d056b5..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/avalanche-TFPKP544.js": -/*!************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/avalanche-TFPKP544.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ avalanche_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/avalanche.svg\nvar avalanche_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIzIDVINXYxOGgxOFY1WiIvPjxwYXRoIGZpbGw9IiNFODQxNDIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0IDI4Yy03LjUxMy4wMDgtMTQtNi40ODctMTQtMTRDMCA2LjE5NiA2LjA0My0uMDA4IDE0IDBjNy45NS4wMDggMTQgNi4xOTYgMTQgMTQgMCA3LjUwNS02LjQ5NSAxMy45OTItMTQgMTRabS0zLjk3MS03LjQzNkg3LjMxNWMtLjU3IDAtLjg1MSAwLTEuMDIzLS4xMWEuNjkuNjkgMCAwIDEtLjMxMy0uNTRjLS4wMS0uMjAyLjEzLS40NS40MTItLjk0NGw2LjctMTEuODA5Yy4yODUtLjUwMS40My0uNzUyLjYxMi0uODQ1LjE5NS0uMS40MjktLjEuNjI1IDAgLjE4Mi4wOTMuMzI2LjM0NC42MTEuODQ1bDEuMzc3IDIuNDA0LjAwNy4wMTNjLjMwOC41MzguNDY0LjgxLjUzMyAxLjA5N2EyLjA0IDIuMDQgMCAwIDEgMCAuOTU0Yy0uMDcuMjg5LS4yMjQuNTY0LS41MzYgMS4xMWwtMy41MiA2LjIyLS4wMDkuMDE3Yy0uMzEuNTQyLS40NjcuODE3LS42ODQgMS4wMjRhMi4wNDggMi4wNDggMCAwIDEtLjgzNS40ODVjLS4yODUuMDc5LS42MDQuMDc5LTEuMjQzLjA3OVptNi44NTIgMGgzLjg4OGMuNTc0IDAgLjg2MiAwIDEuMDM0LS4xMTNhLjY4Ny42ODcgMCAwIDAgLjMxMy0uNTQzYy4wMS0uMTk2LS4xMjgtLjQzNC0uMzk4LS45YTguMTk4IDguMTk4IDAgMCAxLS4wMjgtLjA0OGwtMS45NDgtMy4zMzItLjAyMi0uMDM3Yy0uMjc0LS40NjMtLjQxMi0uNjk3LS41OS0uNzg3YS42ODQuNjg0IDAgMCAwLS42MjEgMGMtLjE3OS4wOTMtLjMyMy4zMzctLjYwOC44MjhsLTEuOTQgMy4zMzEtLjAwNy4wMTJjLS4yODQuNDktLjQyNi43MzUtLjQxNi45MzYuMDE0LjIyLjEyNy40MjMuMzEzLjU0My4xNjguMTEuNDU2LjExIDEuMDMuMTFaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4K\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2F2YWxhbmNoZS1URlBLUDU0NC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLDRDQUE0QztBQUcxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2F2YWxhbmNoZS1URlBLUDU0NC5qcz9mODJkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL2NoYWluSWNvbnMvYXZhbGFuY2hlLnN2Z1xudmFyIGF2YWxhbmNoZV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlPQ0lnYUdWcFoyaDBQU0l5T0NJZ1ptbHNiRDBpYm05dVpTSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJeklEVklOWFl4T0dneE9GWTFXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkZPRFF4TkRJaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFMElESTRZeTAzTGpVeE15NHdNRGd0TVRRdE5pNDBPRGN0TVRRdE1UUkRNQ0EyTGpFNU5pQTJMakEwTXkwdU1EQTRJREUwSURCak55NDVOUzR3TURnZ01UUWdOaTR4T1RZZ01UUWdNVFFnTUNBM0xqVXdOUzAyTGpRNU5TQXhNeTQ1T1RJdE1UUWdNVFJhYlMwekxqazNNUzAzTGpRek5rZzNMak14TldNdExqVTNJREF0TGpnMU1TQXdMVEV1TURJekxTNHhNV0V1TmprdU5qa2dNQ0F3SURFdExqTXhNeTB1TlRSakxTNHdNUzB1TWpBeUxqRXpMUzQwTlM0ME1USXRMamswTkd3MkxqY3RNVEV1T0RBNVl5NHlPRFV0TGpVd01TNDBNeTB1TnpVeUxqWXhNaTB1T0RRMUxqRTVOUzB1TVM0ME1qa3RMakV1TmpJMUlEQWdMakU0TWk0d09UTXVNekkyTGpNME5DNDJNVEV1T0RRMWJERXVNemMzSURJdU5EQTBMakF3Tnk0d01UTmpMak13T0M0MU16Z3VORFkwTGpneExqVXpNeUF4TGpBNU4yRXlMakEwSURJdU1EUWdNQ0F3SURFZ01DQXVPVFUwWXkwdU1EY3VNamc1TFM0eU1qUXVOVFkwTFM0MU16WWdNUzR4TVd3dE15NDFNaUEyTGpJeUxTNHdNRGt1TURFM1l5MHVNekV1TlRReUxTNDBOamN1T0RFM0xTNDJPRFFnTVM0d01qUmhNaTR3TkRnZ01pNHdORGdnTUNBd0lERXRMamd6TlM0ME9EVmpMUzR5T0RVdU1EYzVMUzQyTURRdU1EYzVMVEV1TWpRekxqQTNPVnB0Tmk0NE5USWdNR2d6TGpnNE9HTXVOVGMwSURBZ0xqZzJNaUF3SURFdU1ETTBMUzR4TVROaExqWTROeTQyT0RjZ01DQXdJREFnTGpNeE15MHVOVFF6WXk0d01TMHVNVGsyTFM0eE1qZ3RMalF6TkMwdU16azRMUzQ1WVRndU1UazRJRGd1TVRrNElEQWdNQ0F4TFM0d01qZ3RMakEwT0d3dE1TNDVORGd0TXk0ek16SXRMakF5TWkwdU1ETTNZeTB1TWpjMExTNDBOak10TGpReE1pMHVOamszTFM0MU9TMHVOemczWVM0Mk9EUXVOamcwSURBZ01DQXdMUzQyTWpFZ01HTXRMakUzT1M0d09UTXRMak15TXk0ek16Y3RMall3T0M0NE1qaHNMVEV1T1RRZ015NHpNekV0TGpBd055NHdNVEpqTFM0eU9EUXVORGt0TGpReU5pNDNNelV0TGpReE5pNDVNell1TURFMExqSXlMakV5Tnk0ME1qTXVNekV6TGpVME15NHhOamd1TVRFdU5EVTJMakV4SURFdU1ETXVNVEZhSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUx6NDhMM04yWno0S1wiO1xuZXhwb3J0IHtcbiAgYXZhbGFuY2hlX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/avalanche-TFPKP544.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js.js deleted file mode 100644 index 8fef8d0..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/base-3MIUIYGA.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/base-3MIUIYGA.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ base_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/base.svg\nvar base_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjMDA1MkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0xNCAyOGExNCAxNCAwIDEgMCAwLTI4IDE0IDE0IDAgMCAwIDAgMjhaIi8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTEzLjk2NyAyMy44NmM1LjQ0NSAwIDkuODYtNC40MTUgOS44Ni05Ljg2IDAtNS40NDUtNC40MTUtOS44Ni05Ljg2LTkuODYtNS4xNjYgMC05LjQwMyAzLjk3NC05LjgyNSA5LjAzaDE0LjYzdjEuNjQySDQuMTQyYy40MTMgNS4wNjUgNC42NTQgOS4wNDcgOS44MjYgOS4wNDdaIi8+PC9nPjwvc3ZnPg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2Jhc2UtM01JVUlZR0EuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFHckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9iYXNlLTNNSVVJWUdBLmpzP2RjMTEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvY2hhaW5JY29ucy9iYXNlLnN2Z1xudmFyIGJhc2VfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5T0NJZ2FHVnBaMmgwUFNJeU9DSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lqNDhjR0YwYUNCbWFXeHNQU0lqTURBMU1rWkdJaUJtYVd4c0xYSjFiR1U5SW01dmJucGxjbThpSUdROUlrMHhOQ0F5T0dFeE5DQXhOQ0F3SURFZ01DQXdMVEk0SURFMElERTBJREFnTUNBd0lEQWdNamhhSWk4K1BIQmhkR2dnWm1sc2JEMGlJMFpHUmlJZ1pEMGlUVEV6TGprMk55QXlNeTQ0Tm1NMUxqUTBOU0F3SURrdU9EWXROQzQwTVRVZ09TNDROaTA1TGpnMklEQXROUzQwTkRVdE5DNDBNVFV0T1M0NE5pMDVMamcyTFRrdU9EWXROUzR4TmpZZ01DMDVMalF3TXlBekxqazNOQzA1TGpneU5TQTVMakF6YURFMExqWXpkakV1TmpReVNEUXVNVFF5WXk0ME1UTWdOUzR3TmpVZ05DNDJOVFFnT1M0d05EY2dPUzQ0TWpZZ09TNHdORGRhSWk4K1BDOW5Qand2YzNablBnPT1cIjtcbmV4cG9ydCB7XG4gIGJhc2VfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/base-3MIUIYGA.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js.js deleted file mode 100644 index 577396d..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/braveWallet-BTBH4MDN.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/braveWallet-BTBH4MDN.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ braveWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/braveWallet/braveWallet.svg\nvar braveWallet_default = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjc3MCIgaGVpZ2h0PSIyNzcwIiB2aWV3Qm94PSItMTAwIC0xMDAgMjk3MCAyOTcwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOndoaXRlIj48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHkxPSI1MSUiIHkyPSI1MSUiPjxzdG9wIG9mZnNldD0iLjQiIHN0b3AtY29sb3I9IiNmNTAiLz48c3RvcCBvZmZzZXQ9Ii42IiBzdG9wLWNvbG9yPSIjZmYyMDAwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIyJSIgeTE9IjUxJSIgeTI9IjUxJSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmY0NTJhIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmYyMDAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJtMjM5NSA3MjMgNjAtMTQ3LTE3MC0xNzZjLTkyLTkyLTI4OC0zOC0yODgtMzhsLTIyMi0yNTJIOTkyTDc2OSAzNjNzLTE5Ni01My0yODggMzdMMzExIDU3NWw2MCAxNDctNzUgMjE4IDI1MCA5NTNjNTIgMjA0IDg3IDI4MyAyMzQgMzg3bDQ1NyAzMTBjNDQgMjcgOTggNzQgMTQ3IDc0czEwMy00NyAxNDctNzRsNDU3LTMxMGMxNDctMTA0IDE4Mi0xODMgMjM0LTM4N2wyNTAtOTUzeiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xOTM1IDUyNHMyODcgMzQ3IDI4NyA0MjBjMCA3NS0zNiA5NC03MiAxMzNsLTIxNSAyMzBjLTIwIDIwLTYzIDU0LTM4IDExMyAyNSA2MCA2MCAxMzQgMjAgMjEwLTQwIDc3LTExMCAxMjgtMTU1IDEyMGE4MjAgODIwIDAgMCAxLTE5MC05MGMtMzgtMjUtMTYwLTEyNi0xNjAtMTY1czEyNi0xMTAgMTUwLTEyNGMyMy0xNiAxMzAtNzggMTMyLTEwMnMyLTMwLTMwLTkwLTg4LTE0MC04MC0xOTJjMTAtNTIgMTAwLTgwIDE2Ny0xMDVsMjA3LTc4YzE2LTggMTItMTUtMzYtMjAtNDgtNC0xODMtMjItMjQ0LTVzLTE2MyA0My0xNzMgNTdjLTggMTQtMTYgMTQtNyA2Mmw1OCAzMTVjNCA0MCAxMiA2Ny0zMCA3Ny00NCAxMC0xMTcgMjctMTQyIDI3cy05OS0xNy0xNDItMjctMzUtMzctMzAtNzdjNC00MCA0OC0yNjggNTctMzE1IDEwLTQ4IDEtNDgtNy02Mi0xMC0xNC0xMTMtNDAtMTc0LTU3LTYwLTE3LTE5NiAxLTI0NCA2LTQ4IDQtNTIgMTAtMzYgMjBsMjA3IDc3YzY2IDI1IDE1OCA1MyAxNjcgMTA1IDEwIDUzLTQ3IDEzMi04MCAxOTJzLTMyIDY2LTMwIDkwIDExMCA4NiAxMzIgMTAyYzI0IDE1IDE1MCA4NSAxNTAgMTI0cy0xMTkgMTQwLTE1OSAxNjVhODIwIDgyMCAwIDAgMS0xOTAgOTBjLTQ1IDgtMTE1LTQzLTE1Ni0xMjAtNDAtNzYtNC0xNTAgMjAtMjEwIDI1LTYwLTE3LTkyLTM4LTExM2wtMjE1LTIzMGMtMzUtMzctNzEtNTctNzEtMTMxczI4Ny00MjAgMjg3LTQyMGwyNzMgNDRjMzIgMCAxMDMtMjcgMTY4LTUwIDY1LTIwIDExMC0yMiAxMTAtMjJzNDQgMCAxMTAgMjIgMTM2IDUwIDE2OCA1MGMzMyAwIDI3NS00NyAyNzUtNDd6bS0yMTUgMTMyOGMxOCAxMCA3IDMyLTEwIDQ0bC0yNTQgMTk4Yy0yMCAyMC01MiA1MC03MyA1MHMtNTItMzAtNzMtNTBhMTMyMDAgMTMyMDAgMCAwIDAtMjU1LTE5OGMtMTYtMTItMjctMzMtMTAtNDRsMTUwLTgwYTg3MCA4NzAgMCAwIDEgMTg4LTczYzE1IDAgMTEwIDM0IDE4NyA3M2wxNTAgODB6Ii8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0ibTE5OTkgMzYzLTIyNC0yNTNIOTkyTDc2OSAzNjNzLTE5Ni01My0yODggMzdjMCAwIDI2MC0yMyAzNTAgMTIzbDI3NiA0N2MzMiAwIDEwMy0yNyAxNjgtNTAgNjUtMjAgMTEwLTIyIDExMC0yMnM0NCAwIDExMCAyMiAxMzYgNTAgMTY4IDUwYzMzIDAgMjc1LTQ3IDI3NS00NyA5MC0xNDYgMzUwLTEyMyAzNTAtMTIzLTkyLTkyLTI4OC0zOC0yODgtMzgiLz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2JyYXZlV2FsbGV0LUJUQkg0TUROLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsOENBQThDO0FBRzVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvYnJhdmVXYWxsZXQtQlRCSDRNRE4uanM/MTQyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy93YWxsZXRzL3dhbGxldENvbm5lY3RvcnMvYnJhdmVXYWxsZXQvYnJhdmVXYWxsZXQuc3ZnXG52YXIgYnJhdmVXYWxsZXRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpjM01DSWdhR1ZwWjJoMFBTSXlOemN3SWlCMmFXVjNRbTk0UFNJdE1UQXdJQzB4TURBZ01qazNNQ0F5T1Rjd0lpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlITjBlV3hsUFNKaVlXTnJaM0p2ZFc1a0xXTnZiRzl5T25kb2FYUmxJajQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW1FaUlIa3hQU0kxTVNVaUlIa3lQU0kxTVNVaVBqeHpkRzl3SUc5bVpuTmxkRDBpTGpRaUlITjBiM0F0WTI5c2IzSTlJaU5tTlRBaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0MklpQnpkRzl3TFdOdmJHOXlQU0lqWm1ZeU1EQXdJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW1JaUlIZ3hQU0l5SlNJZ2VURTlJalV4SlNJZ2VUSTlJalV4SlNJK1BITjBiM0FnYjJabWMyVjBQU0l3SWlCemRHOXdMV052Ykc5eVBTSWpabVkwTlRKaElpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqWm1ZeU1EQXdJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4Y0dGMGFDQm1hV3hzUFNKMWNtd29JMkVwSWlCa1BTSnRNak01TlNBM01qTWdOakF0TVRRM0xURTNNQzB4TnpaakxUa3lMVGt5TFRJNE9DMHpPQzB5T0RndE16aHNMVEl5TWkweU5USklPVGt5VERjMk9TQXpOak56TFRFNU5pMDFNeTB5T0RnZ016ZE1NekV4SURVM05XdzJNQ0F4TkRjdE56VWdNakU0SURJMU1DQTVOVE5qTlRJZ01qQTBJRGczSURJNE15QXlNelFnTXpnM2JEUTFOeUF6TVRCak5EUWdNamNnT1RnZ056UWdNVFEzSURjMGN6RXdNeTAwTnlBeE5EY3ROelJzTkRVM0xUTXhNR014TkRjdE1UQTBJREU0TWkweE9ETWdNak0wTFRNNE4yd3lOVEF0T1RVemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweE9UTTFJRFV5TkhNeU9EY2dNelEzSURJNE55QTBNakJqTUNBM05TMHpOaUE1TkMwM01pQXhNek5zTFRJeE5TQXlNekJqTFRJd0lESXdMVFl6SURVMExUTTRJREV4TXlBeU5TQTJNQ0EyTUNBeE16UWdNakFnTWpFd0xUUXdJRGMzTFRFeE1DQXhNamd0TVRVMUlERXlNR0U0TWpBZ09ESXdJREFnTUNBeExURTVNQzA1TUdNdE16Z3RNalV0TVRZd0xURXlOaTB4TmpBdE1UWTFjekV5TmkweE1UQWdNVFV3TFRFeU5HTXlNeTB4TmlBeE16QXROemdnTVRNeUxURXdNbk15TFRNd0xUTXdMVGt3TFRnNExURTBNQzA0TUMweE9USmpNVEF0TlRJZ01UQXdMVGd3SURFMk55MHhNRFZzTWpBM0xUYzRZekUyTFRnZ01USXRNVFV0TXpZdE1qQXRORGd0TkMweE9ETXRNakl0TWpRMExUVnpMVEUyTXlBME15MHhOek1nTlRkakxUZ2dNVFF0TVRZZ01UUXROeUEyTW13MU9DQXpNVFZqTkNBME1DQXhNaUEyTnkwek1DQTNOeTAwTkNBeE1DMHhNVGNnTWpjdE1UUXlJREkzY3kwNU9TMHhOeTB4TkRJdE1qY3RNelV0TXpjdE16QXROemRqTkMwME1DQTBPQzB5TmpnZ05UY3RNekUxSURFd0xUUTRJREV0TkRndE55MDJNaTB4TUMweE5DMHhNVE10TkRBdE1UYzBMVFUzTFRZd0xURTNMVEU1TmlBeExUSTBOQ0EyTFRRNElEUXROVElnTVRBdE16WWdNakJzTWpBM0lEYzNZelkySURJMUlERTFPQ0ExTXlBeE5qY2dNVEExSURFd0lEVXpMVFEzSURFek1pMDRNQ0F4T1RKekxUTXlJRFkyTFRNd0lEa3dJREV4TUNBNE5pQXhNeklnTVRBeVl6STBJREUxSURFMU1DQTROU0F4TlRBZ01USTBjeTB4TVRrZ01UUXdMVEUxT1NBeE5qVmhPREl3SURneU1DQXdJREFnTVMweE9UQWdPVEJqTFRRMUlEZ3RNVEUxTFRRekxURTFOaTB4TWpBdE5EQXROell0TkMweE5UQWdNakF0TWpFd0lESTFMVFl3TFRFM0xUa3lMVE00TFRFeE0yd3RNakUxTFRJek1HTXRNelV0TXpjdE56RXROVGN0TnpFdE1UTXhjekk0TnkwME1qQWdNamczTFRReU1Hd3lOek1nTkRSak16SWdNQ0F4TURNdE1qY2dNVFk0TFRVd0lEWTFMVEl3SURFeE1DMHlNaUF4TVRBdE1qSnpORFFnTUNBeE1UQWdNaklnTVRNMklEVXdJREUyT0NBMU1HTXpNeUF3SURJM05TMDBOeUF5TnpVdE5EZDZiUzB5TVRVZ01UTXlPR014T0NBeE1DQTNJRE15TFRFd0lEUTBiQzB5TlRRZ01UazRZeTB5TUNBeU1DMDFNaUExTUMwM015QTFNSE10TlRJdE16QXROek10TlRCaE1UTXlNREFnTVRNeU1EQWdNQ0F3SURBdE1qVTFMVEU1T0dNdE1UWXRNVEl0TWpjdE16TXRNVEF0TkRSc01UVXdMVGd3WVRnM01DQTROekFnTUNBd0lERWdNVGc0TFRjell6RTFJREFnTVRFd0lETTBJREU0TnlBM00yd3hOVEFnT0RCNklpOCtQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTmlLU0lnWkQwaWJURTVPVGtnTXpZekxUSXlOQzB5TlROSU9Ua3lURGMyT1NBek5qTnpMVEU1TmkwMU15MHlPRGdnTXpkak1DQXdJREkyTUMweU15QXpOVEFnTVRJemJESTNOaUEwTjJNek1pQXdJREV3TXkweU55QXhOamd0TlRBZ05qVXRNakFnTVRFd0xUSXlJREV4TUMweU1uTTBOQ0F3SURFeE1DQXlNaUF4TXpZZ05UQWdNVFk0SURVd1l6TXpJREFnTWpjMUxUUTNJREkzTlMwME55QTVNQzB4TkRZZ016VXdMVEV5TXlBek5UQXRNVEl6TFRreUxUa3lMVEk0T0Mwek9DMHlPRGd0TXpnaUx6NDhMM04yWno0PVwiO1xuZXhwb3J0IHtcbiAgYnJhdmVXYWxsZXRfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/braveWallet-BTBH4MDN.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js.js deleted file mode 100644 index 52caf6f..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/bsc-S2GSW6VX.js": -/*!******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/bsc-S2GSW6VX.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ bsc_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/bsc.svg\nvar bsc_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjRjBCOTBCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNCAwYzcuNzMzIDAgMTQgNi4yNjcgMTQgMTRzLTYuMjY3IDE0LTE0IDE0UzAgMjEuNzMzIDAgMTQgNi4yNjcgMCAxNCAwWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTcuNjk0IDE0IC4wMSAzLjcwMiAzLjE0NiAxLjg1djIuMTY4bC00Ljk4Ni0yLjkyNHYtNS44NzhMNy42OTQgMTRabTAtMy43MDJ2Mi4xNTdsLTEuODMyLTEuMDgzVjkuMjE0bDEuODMyLTEuMDgzIDEuODQxIDEuMDgzLTEuODQgMS4wODRabTQuNDctMS4wODQgMS44MzItMS4wODMgMS44NCAxLjA4My0xLjg0IDEuMDg0LTEuODMyLTEuMDg0WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik05LjAxOCAxNi45MzV2LTIuMTY4bDEuODMyIDEuMDg0djIuMTU3bC0xLjgzMi0xLjA3M1ptMy4xNDYgMy4zOTQgMS44MzIgMS4wODQgMS44NC0xLjA4NHYyLjE1N2wtMS44NCAxLjA4NC0xLjgzMi0xLjA4NFYyMC4zM1ptNi4zLTExLjExNSAxLjgzMi0xLjA4MyAxLjg0IDEuMDgzdjIuMTU4bC0xLjg0IDEuMDgzdi0yLjE1N2wtMS44MzItMS4wODRabTEuODMyIDguNDg4LjAxLTMuNzAyIDEuODMxLTEuMDg0djUuODc5bC00Ljk4NiAyLjkyNHYtMi4xNjdsMy4xNDUtMS44NVoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJtMTguOTgyIDE2LjkzNS0xLjgzMiAxLjA3M3YtMi4xNTdsMS44MzItMS4wODR2Mi4xNjhaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTE4Ljk4MiAxMS4wNjUuMDEgMi4xNjgtMy4xNTUgMS44NXYzLjcxMmwtMS44MzEgMS4wNzMtMS44MzItMS4wNzN2LTMuNzExbC0zLjE1NS0xLjg1MXYtMi4xNjhsMS44NC0xLjA4MyAzLjEzNSAxLjg2IDMuMTU1LTEuODYgMS44NCAxLjA4M2gtLjAwN1ptLTkuOTY0LTMuNyA0Ljk3Ny0yLjkzNSA0Ljk4NyAyLjkzNS0xLjgzMiAxLjA4My0zLjE1NC0xLjg2LTMuMTQ2IDEuODYtMS44MzItMS4wODNaIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyOHYyOEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2JzYy1TMkdTVzZWWC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHNDQUFzQztBQUdwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2JzYy1TMkdTVzZWWC5qcz8zN2E2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL2NoYWluSWNvbnMvYnNjLnN2Z1xudmFyIGJzY19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlPQ0lnYUdWcFoyaDBQU0l5T0NJZ1ptbHNiRDBpYm05dVpTSStQR2NnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMkVwSWo0OGNHRjBhQ0JtYVd4c1BTSWpSakJDT1RCQ0lpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE5DQXdZemN1TnpNeklEQWdNVFFnTmk0eU5qY2dNVFFnTVRSekxUWXVNalkzSURFMExURTBJREUwVXpBZ01qRXVOek16SURBZ01UUWdOaTR5TmpjZ01DQXhOQ0F3V2lJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRjdU5qazBJREUwSUM0d01TQXpMamN3TWlBekxqRTBOaUF4TGpnMWRqSXVNVFk0YkMwMExqazROaTB5TGpreU5IWXROUzQ0TnpoTU55NDJPVFFnTVRSYWJUQXRNeTQzTURKMk1pNHhOVGRzTFRFdU9ETXlMVEV1TURnelZqa3VNakUwYkRFdU9ETXlMVEV1TURneklERXVPRFF4SURFdU1EZ3pMVEV1T0RRZ01TNHdPRFJhYlRRdU5EY3RNUzR3T0RRZ01TNDRNekl0TVM0d09ETWdNUzQ0TkNBeExqQTRNeTB4TGpnMElERXVNRGcwTFRFdU9ETXlMVEV1TURnMFdpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWswNUxqQXhPQ0F4Tmk0NU16VjJMVEl1TVRZNGJERXVPRE15SURFdU1EZzBkakl1TVRVM2JDMHhMamd6TWkweExqQTNNMXB0TXk0eE5EWWdNeTR6T1RRZ01TNDRNeklnTVM0d09EUWdNUzQ0TkMweExqQTROSFl5TGpFMU4yd3RNUzQ0TkNBeExqQTROQzB4TGpnek1pMHhMakE0TkZZeU1DNHpNMXB0Tmk0ekxURXhMakV4TlNBeExqZ3pNaTB4TGpBNE15QXhMamcwSURFdU1EZ3pkakl1TVRVNGJDMHhMamcwSURFdU1EZ3pkaTB5TGpFMU4yd3RNUzQ0TXpJdE1TNHdPRFJhYlRFdU9ETXlJRGd1TkRnNExqQXhMVE11TnpBeUlERXVPRE14TFRFdU1EZzBkalV1T0RjNWJDMDBMams0TmlBeUxqa3lOSFl0TWk0eE5qZHNNeTR4TkRVdE1TNDROVm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVGd1T1RneUlERTJMamt6TlMweExqZ3pNaUF4TGpBM00zWXRNaTR4TlRkc01TNDRNekl0TVM0d09EUjJNaTR4TmpoYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNExqazRNaUF4TVM0d05qVXVNREVnTWk0eE5qZ3RNeTR4TlRVZ01TNDROWFl6TGpjeE1td3RNUzQ0TXpFZ01TNHdOek10TVM0NE16SXRNUzR3TnpOMkxUTXVOekV4YkMwekxqRTFOUzB4TGpnMU1YWXRNaTR4Tmpoc01TNDROQzB4TGpBNE15QXpMakV6TlNBeExqZzJJRE11TVRVMUxURXVPRFlnTVM0NE5DQXhMakE0TTJndExqQXdOMXB0TFRrdU9UWTBMVE11TnlBMExqazNOeTB5TGprek5TQTBMams0TnlBeUxqa3pOUzB4TGpnek1pQXhMakE0TXkwekxqRTFOQzB4TGpnMkxUTXVNVFEySURFdU9EWXRNUzQ0TXpJdE1TNHdPRE5hSWk4K1BDOW5QanhrWldaelBqeGpiR2x3VUdGMGFDQnBaRDBpWVNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEFnTUdneU9IWXlPRWd3ZWlJdlBqd3ZZMnhwY0ZCaGRHZytQQzlrWldaelBqd3ZjM1puUGc9PVwiO1xuZXhwb3J0IHtcbiAgYnNjX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/bsc-S2GSW6VX.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js.js deleted file mode 100644 index f89c5cb..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/coinbaseWallet-2OUR5TUP.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/coinbaseWallet-2OUR5TUP.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ coinbaseWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/coinbaseWallet/coinbaseWallet.svg\nvar coinbaseWallet_default = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMkM1RkY2Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTQgMjMuOEMxOS40MTI0IDIzLjggMjMuOCAxOS40MTI0IDIzLjggMTRDMjMuOCA4LjU4NzYxIDE5LjQxMjQgNC4yIDE0IDQuMkM4LjU4NzYxIDQuMiA0LjIgOC41ODc2MSA0LjIgMTRDNC4yIDE5LjQxMjQgOC41ODc2MSAyMy44IDE0IDIzLjhaTTExLjU1IDEwLjhDMTEuMTM1OCAxMC44IDEwLjggMTEuMTM1OCAxMC44IDExLjU1VjE2LjQ1QzEwLjggMTYuODY0MiAxMS4xMzU4IDE3LjIgMTEuNTUgMTcuMkgxNi40NUMxNi44NjQyIDE3LjIgMTcuMiAxNi44NjQyIDE3LjIgMTYuNDVWMTEuNTVDMTcuMiAxMS4xMzU4IDE2Ljg2NDIgMTAuOCAxNi40NSAxMC44SDExLjU1WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NvaW5iYXNlV2FsbGV0LTJPVVI1VFVQLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsaURBQWlEO0FBRy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvY29pbmJhc2VXYWxsZXQtMk9VUjVUVVAuanM/NDIyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy93YWxsZXRzL3dhbGxldENvbm5lY3RvcnMvY29pbmJhc2VXYWxsZXQvY29pbmJhc2VXYWxsZXQuc3ZnXG52YXIgY29pbmJhc2VXYWxsZXRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpnaUlHaGxhV2RvZEQwaU1qZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeU9DQXlPQ0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BISmxZM1FnZDJsa2RHZzlJakk0SWlCb1pXbG5hSFE5SWpJNElpQm1hV3hzUFNJak1rTTFSa1kySWk4K0NqeHdZWFJvSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRRZ01qTXVPRU14T1M0ME1USTBJREl6TGpnZ01qTXVPQ0F4T1M0ME1USTBJREl6TGpnZ01UUkRNak11T0NBNExqVTROell4SURFNUxqUXhNalFnTkM0eUlERTBJRFF1TWtNNExqVTROell4SURRdU1pQTBMaklnT0M0MU9EYzJNU0EwTGpJZ01UUkROQzR5SURFNUxqUXhNalFnT0M0MU9EYzJNU0F5TXk0NElERTBJREl6TGpoYVRURXhMalUxSURFd0xqaERNVEV1TVRNMU9DQXhNQzQ0SURFd0xqZ2dNVEV1TVRNMU9DQXhNQzQ0SURFeExqVTFWakUyTGpRMVF6RXdMamdnTVRZdU9EWTBNaUF4TVM0eE16VTRJREUzTGpJZ01URXVOVFVnTVRjdU1rZ3hOaTQwTlVNeE5pNDROalF5SURFM0xqSWdNVGN1TWlBeE5pNDROalF5SURFM0xqSWdNVFl1TkRWV01URXVOVFZETVRjdU1pQXhNUzR4TXpVNElERTJMamcyTkRJZ01UQXVPQ0F4Tmk0ME5TQXhNQzQ0U0RFeExqVTFXaUlnWm1sc2JEMGlkMmhwZEdVaUx6NEtQQzl6ZG1jK0NnPT1cIjtcbmV4cG9ydCB7XG4gIGNvaW5iYXNlV2FsbGV0X2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/coinbaseWallet-2OUR5TUP.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js.js deleted file mode 100644 index 761f095..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/create-PAJXJDV3.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/create-PAJXJDV3.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ create_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/create.svg\nvar create_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTAgMTZjMC01LjYgMC04LjQgMS4wOS0xMC41NGExMCAxMCAwIDAgMSA0LjM3LTQuMzdDNy42IDAgMTAuNCAwIDE2IDBoMTZjNS42IDAgOC40IDAgMTAuNTQgMS4wOWExMCAxMCAwIDAgMSA0LjM3IDQuMzdDNDggNy42IDQ4IDEwLjQgNDggMTZ2MTZjMCA1LjYgMCA4LjQtMS4wOSAxMC41NGExMC4wMDEgMTAuMDAxIDAgMCAxLTQuMzcgNC4zN0M0MC40IDQ4IDM3LjYgNDggMzIgNDhIMTZjLTUuNiAwLTguNCAwLTEwLjU0LTEuMDlhMTAgMTAgMCAwIDEtNC4zNy00LjM3QzAgNDAuNCAwIDM3LjYgMCAzMlYxNloiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBmaWxsLW9wYWNpdHk9Ii43IiBkPSJNMCAxNmMwLTUuNiAwLTguNCAxLjA5LTEwLjU0YTEwIDEwIDAgMCAxIDQuMzctNC4zN0M3LjYgMCAxMC40IDAgMTYgMGgxNmM1LjYgMCA4LjQgMCAxMC41NCAxLjA5YTEwIDEwIDAgMCAxIDQuMzcgNC4zN0M0OCA3LjYgNDggMTAuNCA0OCAxNnYxNmMwIDUuNiAwIDguNC0xLjA5IDEwLjU0YTEwLjAwMSAxMC4wMDEgMCAwIDEtNC4zNyA0LjM3QzQwLjQgNDggMzcuNiA0OCAzMiA0OEgxNmMtNS42IDAtOC40IDAtMTAuNTQtMS4wOWExMCAxMCAwIDAgMS00LjM3LTQuMzdDMCA0MC40IDAgMzcuNiAwIDMyVjE2WiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOnNjcmVlbiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjA0IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMiAxSDE2Yy0yLjgxNyAwLTQuODcgMC02LjQ4Ny4xMzMtMS42MDUuMTMxLTIuNjk0LjM4Ny0zLjU5OS44NDhhOSA5IDAgMCAwLTMuOTMzIDMuOTMzYy0uNDYxLjkwNS0uNzE3IDEuOTk0LS44NDggMy42QzEgMTEuMTMgMSAxMy4xODMgMSAxNnYxNmMwIDIuODE3IDAgNC44Ny4xMzMgNi40ODYuMTMxIDEuNjA2LjM4NyAyLjY5NS44NDggMy42YTkgOSAwIDAgMCAzLjkzMyAzLjkzM2MuOTA1LjQ2MSAxLjk5NC43MTcgMy42Ljg0OEMxMS4xMyA0NyAxMy4xODMgNDcgMTYgNDdoMTZjMi44MTcgMCA0Ljg3IDAgNi40ODYtLjEzMyAxLjYwNi0uMTMxIDIuNjk1LS4zODcgMy42LS44NDhhOSA5IDAgMCAwIDMuOTMzLTMuOTMzYy40NjEtLjkwNS43MTctMS45OTQuODQ4LTMuNkM0NyAzNi44NyA0NyAzNC44MTYgNDcgMzJWMTZjMC0yLjgxNyAwLTQuODctLjEzMy02LjQ4Ny0uMTMxLTEuNjA1LS4zODctMi42OTQtLjg0OC0zLjU5OWE5IDkgMCAwIDAtMy45MzMtMy45MzNjLS45MDUtLjQ2MS0xLjk5NC0uNzE3LTMuNi0uODQ4QzM2Ljg3IDEgMzQuODE2IDEgMzIgMVpNMS4wOSA1LjQ2QzAgNy42IDAgMTAuNCAwIDE2djE2YzAgNS42IDAgOC40IDEuMDkgMTAuNTRhMTAgMTAgMCAwIDAgNC4zNyA0LjM3QzcuNiA0OCAxMC40IDQ4IDE2IDQ4aDE2YzUuNiAwIDguNCAwIDEwLjU0LTEuMDlhMTAuMDAxIDEwLjAwMSAwIDAgMCA0LjM3LTQuMzdDNDggNDAuNCA0OCAzNy42IDQ4IDMyVjE2YzAtNS42IDAtOC40LTEuMDktMTAuNTRhMTAgMTAgMCAwIDAtNC4zNy00LjM3QzQwLjQgMCAzNy42IDAgMzIgMEgxNkMxMC40IDAgNy42IDAgNS40NiAxLjA5YTEwIDEwIDAgMCAwLTQuMzcgNC4zN1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjEyIiBkPSJNMjQgMTNhMS41IDEuNSAwIDAgMC0xLjUgMS41djguMmMwIC4yOCAwIC40Mi0uMDU1LjUyN2EuNS41IDAgMCAxLS4yMTguMjE4Yy0uMTA3LjA1NS0uMjQ3LjA1NS0uNTI3LjA1NWgtOC4yYTEuNSAxLjUgMCAwIDAgMCAzaDguMmMuMjggMCAuNDIgMCAuNTI3LjA1NWEuNS41IDAgMCAxIC4yMTguMjE4Yy4wNTUuMTA3LjA1NS4yNDcuMDU1LjUyN3Y4LjJhMS41IDEuNSAwIDAgMCAzIDB2LTguMmMwLS4yOCAwLS40Mi4wNTUtLjUyN2EuNS41IDAgMCAxIC4yMTgtLjIxOGMuMTA3LS4wNTUuMjQ3LS4wNTUuNTI3LS4wNTVoOC4yYTEuNSAxLjUgMCAwIDAgMC0zaC04LjJjLS4yOCAwLS40MiAwLS41MjctLjA1NWEuNS41IDAgMCAxLS4yMTgtLjIxOGMtLjA1NS0uMTA3LS4wNTUtLjI0Ny0uMDU1LS41Mjd2LTguMkExLjUgMS41IDAgMCAwIDI0IDEzWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yNCAxMmExLjUgMS41IDAgMCAwLTEuNSAxLjV2OC4yYzAgLjI4IDAgLjQyLS4wNTUuNTI3YS41LjUgMCAwIDEtLjIxOC4yMThjLS4xMDcuMDU1LS4yNDcuMDU1LS41MjcuMDU1aC04LjJhMS41IDEuNSAwIDAgMCAwIDNoOC4yYy4yOCAwIC40MiAwIC41MjcuMDU1YS41LjUgMCAwIDEgLjIxOC4yMThjLjA1NS4xMDcuMDU1LjI0Ny4wNTUuNTI3djguMmExLjUgMS41IDAgMCAwIDMgMHYtOC4yYzAtLjI4IDAtLjQyLjA1NS0uNTI3YS41LjUgMCAwIDEgLjIxOC0uMjE4Yy4xMDctLjA1NS4yNDctLjA1NS41MjctLjA1NWg4LjJhMS41IDEuNSAwIDAgMCAwLTNoLTguMmMtLjI4IDAtLjQyIDAtLjUyNy0uMDU1YS41LjUgMCAwIDEtLjIxOC0uMjE4Yy0uMDU1LS4xMDctLjA1NS0uMjQ3LS4wNTUtLjUyN3YtOC4yQTEuNSAxLjUgMCAwIDAgMjQgMTJaIi8+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoLTQwLjA3NyA3My4zNzQgNTguNjAzKSBzY2FsZSg5NC43NDg0KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjI3NiIgc3RvcC1jb2xvcj0iIzIwRkY0RCIvPjxzdG9wIG9mZnNldD0iLjQ2NCIgc3RvcC1jb2xvcj0iIzE0OTlGRiIvPjxzdG9wIG9mZnNldD0iLjc1NSIgc3RvcC1jb2xvcj0iI0ZGNkZDNSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0JDNjdGRiIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoNDUgNS4zMDMgLTEyLjgwMykgc2NhbGUoNzguNDg4OSkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSJyZWQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMEEzRkYiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NyZWF0ZS1QQUpYSkRWMy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHlDQUF5QztBQUd2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NyZWF0ZS1QQUpYSkRWMy5qcz9jNWQ2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvY3JlYXRlLnN2Z1xudmFyIGNyZWF0ZV9kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJR1pwYkd3OUltNXZibVVpSUhacFpYZENiM2c5SWpBZ01DQTBPQ0EwT0NJK1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOaEtTSWdaRDBpVFRBZ01UWmpNQzAxTGpZZ01DMDRMalFnTVM0d09TMHhNQzQxTkdFeE1DQXhNQ0F3SURBZ01TQTBMak0zTFRRdU16ZEROeTQySURBZ01UQXVOQ0F3SURFMklEQm9NVFpqTlM0MklEQWdPQzQwSURBZ01UQXVOVFFnTVM0d09XRXhNQ0F4TUNBd0lEQWdNU0EwTGpNM0lEUXVNemRETkRnZ055NDJJRFE0SURFd0xqUWdORGdnTVRaMk1UWmpNQ0ExTGpZZ01DQTRMalF0TVM0d09TQXhNQzQxTkdFeE1DNHdNREVnTVRBdU1EQXhJREFnTUNBeExUUXVNemNnTkM0ek4wTTBNQzQwSURRNElETTNMallnTkRnZ016SWdORGhJTVRaakxUVXVOaUF3TFRndU5DQXdMVEV3TGpVMExURXVNRGxoTVRBZ01UQWdNQ0F3SURFdE5DNHpOeTAwTGpNM1F6QWdOREF1TkNBd0lETTNMallnTUNBek1sWXhObG9pTHo0OGNHRjBhQ0JtYVd4c1BTSjFjbXdvSTJJcElpQm1hV3hzTFc5d1lXTnBkSGs5SWk0M0lpQmtQU0pOTUNBeE5tTXdMVFV1TmlBd0xUZ3VOQ0F4TGpBNUxURXdMalUwWVRFd0lERXdJREFnTUNBeElEUXVNemN0TkM0ek4wTTNMallnTUNBeE1DNDBJREFnTVRZZ01HZ3hObU0xTGpZZ01DQTRMalFnTUNBeE1DNDFOQ0F4TGpBNVlURXdJREV3SURBZ01DQXhJRFF1TXpjZ05DNHpOME0wT0NBM0xqWWdORGdnTVRBdU5DQTBPQ0F4Tm5ZeE5tTXdJRFV1TmlBd0lEZ3VOQzB4TGpBNUlERXdMalUwWVRFd0xqQXdNU0F4TUM0d01ERWdNQ0F3SURFdE5DNHpOeUEwTGpNM1F6UXdMalFnTkRnZ016Y3VOaUEwT0NBek1pQTBPRWd4Tm1NdE5TNDJJREF0T0M0MElEQXRNVEF1TlRRdE1TNHdPV0V4TUNBeE1DQXdJREFnTVMwMExqTTNMVFF1TXpkRE1DQTBNQzQwSURBZ016Y3VOaUF3SURNeVZqRTJXaUlnYzNSNWJHVTlJbTFwZUMxaWJHVnVaQzF0YjJSbE9uTmpjbVZsYmlJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpBMElpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWswek1pQXhTREUyWXkweUxqZ3hOeUF3TFRRdU9EY2dNQzAyTGpRNE55NHhNek10TVM0Mk1EVXVNVE14TFRJdU5qazBMak00TnkwekxqVTVPUzQ0TkRoaE9TQTVJREFnTUNBd0xUTXVPVE16SURNdU9UTXpZeTB1TkRZeExqa3dOUzB1TnpFM0lERXVPVGswTFM0NE5EZ2dNeTQyUXpFZ01URXVNVE1nTVNBeE15NHhPRE1nTVNBeE5uWXhObU13SURJdU9ERTNJREFnTkM0NE55NHhNek1nTmk0ME9EWXVNVE14SURFdU5qQTJMak00TnlBeUxqWTVOUzQ0TkRnZ015NDJZVGtnT1NBd0lEQWdNQ0F6TGprek15QXpMamt6TTJNdU9UQTFMalEyTVNBeExqazVOQzQzTVRjZ015NDJMamcwT0VNeE1TNHhNeUEwTnlBeE15NHhPRE1nTkRjZ01UWWdORGRvTVRaak1pNDRNVGNnTUNBMExqZzNJREFnTmk0ME9EWXRMakV6TXlBeExqWXdOaTB1TVRNeElESXVOamsxTFM0ek9EY2dNeTQyTFM0NE5EaGhPU0E1SURBZ01DQXdJRE11T1RNekxUTXVPVE16WXk0ME5qRXRMamt3TlM0M01UY3RNUzQ1T1RRdU9EUTRMVE11TmtNME55QXpOaTQ0TnlBME55QXpOQzQ0TVRZZ05EY2dNekpXTVRaak1DMHlMamd4TnlBd0xUUXVPRGN0TGpFek15MDJMalE0TnkwdU1UTXhMVEV1TmpBMUxTNHpPRGN0TWk0Mk9UUXRMamcwT0MwekxqVTVPV0U1SURrZ01DQXdJREF0TXk0NU16TXRNeTQ1TXpOakxTNDVNRFV0TGpRMk1TMHhMams1TkMwdU56RTNMVE11TmkwdU9EUTRRek0yTGpnM0lERWdNelF1T0RFMklERWdNeklnTVZwTk1TNHdPU0ExTGpRMlF6QWdOeTQySURBZ01UQXVOQ0F3SURFMmRqRTJZekFnTlM0MklEQWdPQzQwSURFdU1Ea2dNVEF1TlRSaE1UQWdNVEFnTUNBd0lEQWdOQzR6TnlBMExqTTNRemN1TmlBME9DQXhNQzQwSURRNElERTJJRFE0YURFMll6VXVOaUF3SURndU5DQXdJREV3TGpVMExURXVNRGxoTVRBdU1EQXhJREV3TGpBd01TQXdJREFnTUNBMExqTTNMVFF1TXpkRE5EZ2dOREF1TkNBME9DQXpOeTQySURRNElETXlWakUyWXpBdE5TNDJJREF0T0M0MExURXVNRGt0TVRBdU5UUmhNVEFnTVRBZ01DQXdJREF0TkM0ek55MDBMak0zUXpRd0xqUWdNQ0F6Tnk0MklEQWdNeklnTUVneE5rTXhNQzQwSURBZ055NDJJREFnTlM0ME5pQXhMakE1WVRFd0lERXdJREFnTUNBd0xUUXVNemNnTkM0ek4xb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp4d1lYUm9JR1pwYkd3OUlpTXdNREFpSUdacGJHd3RiM0JoWTJsMGVUMGlMakV5SWlCa1BTSk5NalFnTVROaE1TNDFJREV1TlNBd0lEQWdNQzB4TGpVZ01TNDFkamd1TW1Nd0lDNHlPQ0F3SUM0ME1pMHVNRFUxTGpVeU4yRXVOUzQxSURBZ01DQXhMUzR5TVRndU1qRTRZeTB1TVRBM0xqQTFOUzB1TWpRM0xqQTFOUzB1TlRJM0xqQTFOV2d0T0M0eVlURXVOU0F4TGpVZ01DQXdJREFnTUNBemFEZ3VNbU11TWpnZ01DQXVORElnTUNBdU5USTNMakExTldFdU5TNDFJREFnTUNBeElDNHlNVGd1TWpFNFl5NHdOVFV1TVRBM0xqQTFOUzR5TkRjdU1EVTFMalV5TjNZNExqSmhNUzQxSURFdU5TQXdJREFnTUNBeklEQjJMVGd1TW1Nd0xTNHlPQ0F3TFM0ME1pNHdOVFV0TGpVeU4yRXVOUzQxSURBZ01DQXhJQzR5TVRndExqSXhPR011TVRBM0xTNHdOVFV1TWpRM0xTNHdOVFV1TlRJM0xTNHdOVFZvT0M0eVlURXVOU0F4TGpVZ01DQXdJREFnTUMwemFDMDRMakpqTFM0eU9DQXdMUzQwTWlBd0xTNDFNamN0TGpBMU5XRXVOUzQxSURBZ01DQXhMUzR5TVRndExqSXhPR010TGpBMU5TMHVNVEEzTFM0d05UVXRMakkwTnkwdU1EVTFMUzQxTWpkMkxUZ3VNa0V4TGpVZ01TNDFJREFnTUNBd0lESTBJREV6V2lJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TkNBeE1tRXhMalVnTVM0MUlEQWdNQ0F3TFRFdU5TQXhMalYyT0M0eVl6QWdMakk0SURBZ0xqUXlMUzR3TlRVdU5USTNZUzQxTGpVZ01DQXdJREV0TGpJeE9DNHlNVGhqTFM0eE1EY3VNRFUxTFM0eU5EY3VNRFUxTFM0MU1qY3VNRFUxYUMwNExqSmhNUzQxSURFdU5TQXdJREFnTUNBd0lETm9PQzR5WXk0eU9DQXdJQzQwTWlBd0lDNDFNamN1TURVMVlTNDFMalVnTUNBd0lERWdMakl4T0M0eU1UaGpMakExTlM0eE1EY3VNRFUxTGpJME55NHdOVFV1TlRJM2RqZ3VNbUV4TGpVZ01TNDFJREFnTUNBd0lETWdNSFl0T0M0eVl6QXRMakk0SURBdExqUXlMakExTlMwdU5USTNZUzQxTGpVZ01DQXdJREVnTGpJeE9DMHVNakU0WXk0eE1EY3RMakExTlM0eU5EY3RMakExTlM0MU1qY3RMakExTldnNExqSmhNUzQxSURFdU5TQXdJREFnTUNBd0xUTm9MVGd1TW1NdExqSTRJREF0TGpReUlEQXRMalV5TnkwdU1EVTFZUzQxTGpVZ01DQXdJREV0TGpJeE9DMHVNakU0WXkwdU1EVTFMUzR4TURjdExqQTFOUzB1TWpRM0xTNHdOVFV0TGpVeU4zWXRPQzR5UVRFdU5TQXhMalVnTUNBd0lEQWdNalFnTVRKYUlpOCtQR1JsWm5NK1BISmhaR2xoYkVkeVlXUnBaVzUwSUdsa1BTSmhJaUJqZUQwaU1DSWdZM2s5SWpBaUlISTlJakVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKeWIzUmhkR1VvTFRRd0xqQTNOeUEzTXk0ek56UWdOVGd1TmpBektTQnpZMkZzWlNnNU5DNDNORGcwS1NJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lHOW1abk5sZEQwaUxqSTNOaUlnYzNSdmNDMWpiMnh2Y2owaUl6SXdSa1kwUkNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpRMk5DSWdjM1J2Y0MxamIyeHZjajBpSXpFME9UbEdSaUl2UGp4emRHOXdJRzltWm5ObGREMGlMamMxTlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMFpHTmtaRE5TSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSTBKRE5qZEdSaUl2UGp3dmNtRmthV0ZzUjNKaFpHbGxiblErUEhKaFpHbGhiRWR5WVdScFpXNTBJR2xrUFNKaUlpQmplRDBpTUNJZ1kzazlJakFpSUhJOUlqRWlJR2R5WVdScFpXNTBWSEpoYm5ObWIzSnRQU0p5YjNSaGRHVW9ORFVnTlM0ek1ETWdMVEV5TGpnd015a2djMk5oYkdVb056Z3VORGc0T1NraUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0p5WldRaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU13TUVFelJrWWlMejQ4TDNKaFpHbGhiRWR5WVdScFpXNTBQand2WkdWbWN6NDhMM04yWno0PVwiO1xuZXhwb3J0IHtcbiAgY3JlYXRlX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/create-PAJXJDV3.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js.js deleted file mode 100644 index 31972e7..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/cronos-DQKKIEX7.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/cronos-DQKKIEX7.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ cronos_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/cronos.svg\nvar cronos_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iQSIgeDE9Ii0xOC4yNzUlIiB4Mj0iODQuOTU5JSIgeTE9IjguMjE5JSIgeTI9IjcxLjM5MyUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMDJkNzQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDEyNDYiLz48L2xpbmVhckdyYWRpZW50PjxjaXJjbGUgaWQ9IkIiIGN4PSIxNCIgY3k9IjE0IiByPSIxNCIvPjwvZGVmcz48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxtYXNrIGlkPSJDIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNCIi8+PC9tYXNrPjxnIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZmlsbD0idXJsKCNBKSIgZD0iTS0xLjMyNi0xLjMyNmgzMC42NTF2MzAuNjUxSC0xLjMyNnoiIG1hc2s9InVybCgjQykiLz48ZyBmaWxsPSIjZmZmIj48cGF0aCBkPSJNMTQuMTg3IDZMNyAxMC4xNzV2OC4zNWw3LjE4NyA0LjE3NSA3LjE3NS00LjE3NXYtOC4zNUwxNC4xODcgNnptNS4wNDYgMTEuMjg2bC01LjA1OCAyLjkzNi01LjA0Ni0yLjkzNnYtNS44NzFsNS4wNTgtMi45MzYgNS4wNDYgMi45MzZ2NS44NzF6Ii8+PHBhdGggZD0iTTE0LjE4NyAyMi43bDcuMTc1LTQuMTc1di04LjM1TDE0LjE4NyA2djIuNDc5bDUuMDQ2IDIuOTM2djUuODgzbC01LjA1OCAyLjkzNlYyMi43aC4wMTJ6Ii8+PHBhdGggZD0iTTE0LjE3NSA2TDcgMTAuMTc1djguMzVsNy4xNzUgNC4xNzV2LTIuNDc5bC01LjA0Ni0yLjkzNnYtNS44ODNsNS4wNDYtMi45MjRWNnptMy4zNiAxMC4yOTlsLTMuMzQ4IDEuOTQ5LTMuMzYtMS45NDl2LTMuODk4bDMuMzYtMS45NDkgMy4zNDggMS45NDktMS4zOTkuODE4LTEuOTYxLTEuMTQzLTEuOTQ5IDEuMTQzdjIuMjc0bDEuOTYxIDEuMTQzIDEuOTYxLTEuMTQzIDEuMzg3LjgwNnoiLz48L2c+PC9nPjwvZz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2Nyb25vcy1EUUtLSUVYNy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLHlDQUF5QztBQUd2QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2Nyb25vcy1EUUtLSUVYNy5qcz80MDJjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL2NoYWluSWNvbnMvY3Jvbm9zLnN2Z1xudmFyIGNyb25vc19kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjNhV1IwYUQwaU1qZ2lJR2hsYVdkb2REMGlNamdpUGp4a1pXWnpQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpUVNJZ2VERTlJaTB4T0M0eU56VWxJaUI0TWowaU9EUXVPVFU1SlNJZ2VURTlJamd1TWpFNUpTSWdlVEk5SWpjeExqTTVNeVVpUGp4emRHOXdJRzltWm5ObGREMGlNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTXdNREprTnpRaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlNd01ERXlORFlpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4amFYSmpiR1VnYVdROUlrSWlJR040UFNJeE5DSWdZM2s5SWpFMElpQnlQU0l4TkNJdlBqd3ZaR1ZtY3o0OFp5Qm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlQanh0WVhOcklHbGtQU0pESWlCbWFXeHNQU0lqWm1abUlqNDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTkNJaTgrUEM5dFlYTnJQanhuSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJK1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOQktTSWdaRDBpVFMweExqTXlOaTB4TGpNeU5tZ3pNQzQyTlRGMk16QXVOalV4U0MweExqTXlObm9pSUcxaGMyczlJblZ5YkNnalF5a2lMejQ4WnlCbWFXeHNQU0lqWm1abUlqNDhjR0YwYUNCa1BTSk5NVFF1TVRnM0lEWk1OeUF4TUM0eE56VjJPQzR6Tld3M0xqRTROeUEwTGpFM05TQTNMakUzTlMwMExqRTNOWFl0T0M0ek5Vd3hOQzR4T0RjZ05ucHROUzR3TkRZZ01URXVNamcyYkMwMUxqQTFPQ0F5TGprek5pMDFMakEwTmkweUxqa3pObll0TlM0NE56RnNOUzR3TlRndE1pNDVNellnTlM0d05EWWdNaTQ1TXpaMk5TNDROekY2SWk4K1BIQmhkR2dnWkQwaVRURTBMakU0TnlBeU1pNDNiRGN1TVRjMUxUUXVNVGMxZGkwNExqTTFUREUwTGpFNE55QTJkakl1TkRjNWJEVXVNRFEySURJdU9UTTJkalV1T0RnemJDMDFMakExT0NBeUxqa3pObFl5TWk0M2FDNHdNVEo2SWk4K1BIQmhkR2dnWkQwaVRURTBMakUzTlNBMlREY2dNVEF1TVRjMWRqZ3VNelZzTnk0eE56VWdOQzR4TnpWMkxUSXVORGM1YkMwMUxqQTBOaTB5TGprek5uWXROUzQ0T0ROc05TNHdORFl0TWk0NU1qUldObnB0TXk0ek5pQXhNQzR5T1Rsc0xUTXVNelE0SURFdU9UUTVMVE11TXpZdE1TNDVORGwyTFRNdU9EazRiRE11TXpZdE1TNDVORGtnTXk0ek5EZ2dNUzQ1TkRrdE1TNHpPVGt1T0RFNExURXVPVFl4TFRFdU1UUXpMVEV1T1RRNUlERXVNVFF6ZGpJdU1qYzBiREV1T1RZeElERXVNVFF6SURFdU9UWXhMVEV1TVRReklERXVNemczTGpnd05ub2lMejQ4TDJjK1BDOW5Qand2Wno0OEwzTjJaejQ9XCI7XG5leHBvcnQge1xuICBjcm9ub3NfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/cronos-DQKKIEX7.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js.js deleted file mode 100644 index 1201717..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/ethereum-4FY57XJF.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/ethereum-4FY57XJF.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ ethereum_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/ethereum.svg\nvar ethereum_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzI1MjkyRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQgMjhhMTQgMTQgMCAxIDAgMC0yOCAxNCAxNCAwIDAgMCAwIDI4WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0idXJsKCNhKSIgZmlsbC1vcGFjaXR5PSIuMyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQgMjhhMTQgMTQgMCAxIDAgMC0yOCAxNCAxNCAwIDAgMCAwIDI4WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTguMTkgMTQuNzcgMTQgMTguMjFsNS44LTMuNDQtNS44IDguMTktNS44MS04LjE5WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0xNCAxNi45My01LjgxLTMuNDRMMTQgNC4zNGw1LjgxIDkuMTVMMTQgMTYuOTNaIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMCIgeDI9IjE0IiB5MT0iMCIgeTI9IjI4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIxNCIgeDI9IjE0IiB5MT0iMTQuNzciIHkyPSIyMi45NiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iLjkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4K\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2V0aGVyZXVtLTRGWTU3WEpGLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsMkNBQTJDO0FBR3pDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvZXRoZXJldW0tNEZZNTdYSkYuanM/OTE1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci9jaGFpbkljb25zL2V0aGVyZXVtLnN2Z1xudmFyIGV0aGVyZXVtX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU9DSWdhR1ZwWjJoMFBTSXlPQ0lnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJekkxTWpreVJTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk1UUWdNamhoTVRRZ01UUWdNQ0F4SURBZ01DMHlPQ0F4TkNBeE5DQXdJREFnTUNBd0lESTRXaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOaEtTSWdabWxzYkMxdmNHRmphWFI1UFNJdU15SWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk1UUWdNamhoTVRRZ01UUWdNQ0F4SURBZ01DMHlPQ0F4TkNBeE5DQXdJREFnTUNBd0lESTRXaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOaUtTSWdaRDBpVFRndU1Ua2dNVFF1TnpjZ01UUWdNVGd1TWpGc05TNDRMVE11TkRRdE5TNDRJRGd1TVRrdE5TNDRNUzA0TGpFNVdpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SW0weE5DQXhOaTQ1TXkwMUxqZ3hMVE11TkRSTU1UUWdOQzR6Tkd3MUxqZ3hJRGt1TVRWTU1UUWdNVFl1T1ROYUlpOCtQR1JsWm5NK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSmhJaUI0TVQwaU1DSWdlREk5SWpFMElpQjVNVDBpTUNJZ2VUSTlJakk0SWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMlptWmlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlptWmlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l3SWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUltSWlJSGd4UFNJeE5DSWdlREk5SWpFMElpQjVNVDBpTVRRdU56Y2lJSGt5UFNJeU1pNDVOaUlnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTm1abVlpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTm1abVlpSUhOMGIzQXRiM0JoWTJsMGVUMGlMamtpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp3dlpHVm1jejQ4TDNOMlp6NEtcIjtcbmV4cG9ydCB7XG4gIGV0aGVyZXVtX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/ethereum-4FY57XJF.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js.js deleted file mode 100644 index 6259e09..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/hardhat-ARRFHFKB.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/hardhat-ARRFHFKB.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ hardhat_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/hardhat.svg\nvar hardhat_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJ1cmwoI2EpIiByeD0iMTQiLz48ZyBjbGlwLXBhdGg9InVybCgjYikiPjxwYXRoIGZpbGw9IiNGRkYxMDAiIGQ9Ik0yMi40NTggMTguNDA5di0uODc1YzAtLjE2Mi0uMjU4LS4zMTctLjcyLS40NTdsLjAxMS0xLjA4OGMwLTEuNjc2LS40OS0zLjMxMi0xLjQwMi00LjY4NWE3LjgzMyA3LjgzMyAwIDAgMC0zLjcwMi0yLjk5NGwtLjAzMy0uMjE4YS42MzkuNjM5IDAgMCAwLS4xMzgtLjMxNS41OTIuNTkyIDAgMCAwLS4yNzctLjE4OCA3LjQyOSA3LjQyOSAwIDAgMC00LjM5NSAwIC41OTIuNTkyIDAgMCAwLS4yNzguMTg4LjY0LjY0IDAgMCAwLS4xNC4zMTVsLS4wMzEuMjAzYTcuODMgNy44MyAwIDAgMC0zLjcyNyAyLjk5MSA4LjQ3NCA4LjQ3NCAwIDAgMC0xLjQxNCA0LjcwM3YxLjA5M2MtLjQ1Ni4xMzktLjcxLjI5Mi0uNzEuNDU0di44NzRhLjIyNC4yMjQgMCAwIDAgLjAzLjE0N2MuMjI3LS4xNzguNDg3LS4zMDMuNzY0LS4zNjYuNzA0LS4xODEgMS40Mi0uMzA3IDIuMTQzLS4zNzguMjAyLS4wMjQuNDA3LS4wMDMuNjAxLjA2M3MuMzcyLjE3NC41MjMuMzE4YTIuOTQ1IDIuOTQ1IDAgMCAwIDIuMDQzLjgzNmg0Ljc0OGMuNzU2IDAgMS40ODUtLjI5OSAyLjA0My0uODM2YTEuNDIgMS40MiAwIDAgMSAuNTIyLS4zMmMuMTk0LS4wNjcuNC0uMDkuNjAyLS4wNjZhMTQuMiAxNC4yIDAgMCAxIDIuMTQzLjM3NmMuMjYyLjA1My41MS4xNjcuNzI0LjMzNC4wMTIuMDEzLjAyNy4wMjQuMDM3LjAzNmEuMjI3LjIyNyAwIDAgMCAuMDMzLS4xNDVaIi8+PHBhdGggZmlsbD0idXJsKCNjKSIgZD0iTTkuNTc0IDE2LjU2OWMtLjAwNi0uMi0uMDEtLjQwMi0uMDEtLjYwNC4wMDMtMy4wNC42NzctNS43NjUgMS43OS03LjY2OGE3LjgzIDcuODMgMCAwIDAtMy43MjggMi45OSA4LjQ3NCA4LjQ3NCAwIDAgMC0xLjQxNCA0LjcwMnYxLjA5M2ExNy45OCAxNy45OCAwIDAgMSAzLjM2Mi0uNTEzWiIvPjxwYXRoIGZpbGw9InVybCgjZCkiIGQ9Ik0yMS43NDkgMTUuOTg5YTguNDA5IDguNDA5IDAgMCAwLTEuNzczLTUuMTk5Yy40OTggMS42NzQuNzQ2IDMuNDIuNzM1IDUuMTczIDAgLjI5Ni0uMDA4LjU5LS4wMi44OGE5LjIgOS4yIDAgMCAxIDEuMDQ1LjIzNGwuMDEzLTEuMDg4WiIvPjxwYXRoIGZpbGw9InVybCgjZSkiIGQ9Ik0yMS42NjQgMTguMTg3Yy0uNzA1LS4xOC0xLjQyLS4zMDYtMi4xNDMtLjM3N2ExLjM2NSAxLjM2NSAwIDAgMC0uNjAyLjA2NCAxLjQxNiAxLjQxNiAwIDAgMC0uNTIzLjMyIDIuOTQzIDIuOTQzIDAgMCAxLTIuMDQzLjgzNWgtNC43NDVhMi45NDUgMi45NDUgMCAwIDEtMi4wNDMtLjgzNSAxLjQxNyAxLjQxNyAwIDAgMC0uNTIyLS4zMjIgMS4zNjYgMS4zNjYgMCAwIDAtLjYwMi0uMDY1IDE0LjE4IDE0LjE4IDAgMCAwLTIuMTQzLjM3NyAxLjk2MiAxLjk2MiAwIDAgMC0uNzY0LjM2N2MuMzYuNTggNC4wMDYgMS4xOSA4LjQ0OCAxLjE5czguMDg2LS42MTIgOC40NDctMS4xOWMtLjAxMy0uMDEyLS4wMjctLjAyMy0uMDM3LS4wMzVhMS44IDEuOCAwIDAgMC0uNzI4LS4zMjlaIi8+PHBhdGggZmlsbD0iIzBBMEEwQSIgZD0ibTEzLjk4IDkuODIzLTEuODE4IDMuMjU4IDEuODE3IDEuMTg4VjkuODI0WiIvPjxwYXRoIGZpbGw9IiM0QjRENEQiIGQ9Ik0xMy45OCA5LjgyNHY0LjQ0NGwxLjgxNy0xLjE4Ni0xLjgxNy0zLjI1OFptMCA1LjA5djEuNTVjLjAzNC0uMDUyIDEuODE3LTIuNzM4IDEuODE3LTIuNzRsLTEuODE3IDEuMTlaIi8+PHBhdGggZmlsbD0iIzBBMEEwQSIgZD0ibTEzLjk4IDE0LjkxNC0xLjgxOC0xLjE4NyAxLjgxOCAyLjczN3YtMS41NVoiLz48L2c+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTQiIHgyPSIxNCIgeTE9IjAiIHkyPSIyOCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNGN0YxRkQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGQkZDREMiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgeDE9IjguNzgzIiB4Mj0iOC43ODMiIHkxPSIxNy4wODIiIHkyPSI4LjI5NyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNFRENGMDAiLz48c3RvcCBvZmZzZXQ9Ii4zMyIgc3RvcC1jb2xvcj0iI0YwRDUwMCIvPjxzdG9wIG9mZnNldD0iLjc3IiBzdG9wLWNvbG9yPSIjRjlFNTAwIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZGMTAwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImQiIHgxPSIyMC44NjIiIHgyPSIyMC44NjIiIHkxPSIxNy4xNDYiIHkyPSIxMC43OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNFRENGMDAiLz48c3RvcCBvZmZzZXQ9Ii41OSIgc3RvcC1jb2xvcj0iI0Y3RTEwMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRjEwMCIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJlIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNi4zMDM1MyAwIDAgNi42NDkzNSA2LjQ1IDIzLjA4NCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRkZGMTAwIi8+PHN0b3Agb2Zmc2V0PSIuMjMiIHN0b3AtY29sb3I9IiNGOUU1MDAiLz48c3RvcCBvZmZzZXQ9Ii42NyIgc3RvcC1jb2xvcj0iI0YwRDUwMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0VEQ0YwMCIvPjwvcmFkaWFsR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJiIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE3djEzSDB6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjUgNykiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4K\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2hhcmRoYXQtQVJSRkhGS0IuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFHeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9oYXJkaGF0LUFSUkZIRktCLmpzPzU5Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvY2hhaW5JY29ucy9oYXJkaGF0LnN2Z1xudmFyIGhhcmRoYXRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5T0NJZ2FHVnBaMmgwUFNJeU9DSWdabWxzYkQwaWJtOXVaU0krUEhKbFkzUWdkMmxrZEdnOUlqSTRJaUJvWldsbmFIUTlJakk0SWlCbWFXeHNQU0oxY213b0kyRXBJaUJ5ZUQwaU1UUWlMejQ4WnlCamJHbHdMWEJoZEdnOUluVnliQ2dqWWlraVBqeHdZWFJvSUdacGJHdzlJaU5HUmtZeE1EQWlJR1E5SWsweU1pNDBOVGdnTVRndU5EQTVkaTB1T0RjMVl6QXRMakUyTWkwdU1qVTRMUzR6TVRjdExqY3lMUzQwTlRkc0xqQXhNUzB4TGpBNE9HTXdMVEV1TmpjMkxTNDBPUzB6TGpNeE1pMHhMalF3TWkwMExqWTROV0UzTGpnek15QTNMamd6TXlBd0lEQWdNQzB6TGpjd01pMHlMams1Tkd3dExqQXpNeTB1TWpFNFlTNDJNemt1TmpNNUlEQWdNQ0F3TFM0eE16Z3RMak14TlM0MU9USXVOVGt5SURBZ01DQXdMUzR5TnpjdExqRTRPQ0EzTGpReU9TQTNMalF5T1NBd0lEQWdNQzAwTGpNNU5TQXdJQzQxT1RJdU5Ua3lJREFnTUNBd0xTNHlOemd1TVRnNExqWTBMalkwSURBZ01DQXdMUzR4TkM0ek1UVnNMUzR3TXpFdU1qQXpZVGN1T0RNZ055NDRNeUF3SURBZ01DMHpMamN5TnlBeUxqazVNU0E0TGpRM05DQTRMalEzTkNBd0lEQWdNQzB4TGpReE5DQTBMamN3TTNZeExqQTVNMk10TGpRMU5pNHhNemt0TGpjeExqSTVNaTB1TnpFdU5EVTBkaTQ0TnpSaExqSXlOQzR5TWpRZ01DQXdJREFnTGpBekxqRTBOMk11TWpJM0xTNHhOemd1TkRnM0xTNHpNRE11TnpZMExTNHpOall1TnpBMExTNHhPREVnTVM0ME1pMHVNekEzSURJdU1UUXpMUzR6TnpndU1qQXlMUzR3TWpRdU5EQTNMUzR3TURNdU5qQXhMakEyTTNNdU16Y3lMakUzTkM0MU1qTXVNekU0WVRJdU9UUTFJREl1T1RRMUlEQWdNQ0F3SURJdU1EUXpMamd6Tm1nMExqYzBPR011TnpVMklEQWdNUzQwT0RVdExqSTVPU0F5TGpBME15MHVPRE0yWVRFdU5ESWdNUzQwTWlBd0lEQWdNU0F1TlRJeUxTNHpNbU11TVRrMExTNHdOamN1TkMwdU1Ea3VOakF5TFM0d05qWmhNVFF1TWlBeE5DNHlJREFnTUNBeElESXVNVFF6TGpNM05tTXVNall5TGpBMU15NDFNUzR4TmpjdU56STBMak16TkM0d01USXVNREV6TGpBeU55NHdNalF1TURNM0xqQXpObUV1TWpJM0xqSXlOeUF3SURBZ01DQXVNRE16TFM0eE5EVmFJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05qS1NJZ1pEMGlUVGt1TlRjMElERTJMalUyT1dNdExqQXdOaTB1TWkwdU1ERXRMalF3TWkwdU1ERXRMall3TkM0d01ETXRNeTR3TkM0Mk56Y3ROUzQzTmpVZ01TNDNPUzAzTGpZMk9HRTNMamd6SURjdU9ETWdNQ0F3SURBdE15NDNNamdnTWk0NU9TQTRMalEzTkNBNExqUTNOQ0F3SURBZ01DMHhMalF4TkNBMExqY3dNbll4TGpBNU0yRXhOeTQ1T0NBeE55NDVPQ0F3SURBZ01TQXpMak0yTWkwdU5URXpXaUl2UGp4d1lYUm9JR1pwYkd3OUluVnliQ2dqWkNraUlHUTlJazB5TVM0M05Ea2dNVFV1T1RnNVlUZ3VOREE1SURndU5EQTVJREFnTUNBd0xURXVOemN6TFRVdU1UazVZeTQwT1RnZ01TNDJOelF1TnpRMklETXVOREl1TnpNMUlEVXVNVGN6SURBZ0xqSTVOaTB1TURBNExqVTVMUzR3TWk0NE9HRTVMaklnT1M0eUlEQWdNQ0F4SURFdU1EUTFMakl6Tkd3dU1ERXpMVEV1TURnNFdpSXZQanh3WVhSb0lHWnBiR3c5SW5WeWJDZ2paU2tpSUdROUlrMHlNUzQyTmpRZ01UZ3VNVGczWXkwdU56QTFMUzR4T0MweExqUXlMUzR6TURZdE1pNHhORE10TGpNM04yRXhMak0yTlNBeExqTTJOU0F3SURBZ01DMHVOakF5TGpBMk5DQXhMalF4TmlBeExqUXhOaUF3SURBZ01DMHVOVEl6TGpNeUlESXVPVFF6SURJdU9UUXpJREFnTUNBeExUSXVNRFF6TGpnek5XZ3ROQzQzTkRWaE1pNDVORFVnTWk0NU5EVWdNQ0F3SURFdE1pNHdORE10TGpnek5TQXhMalF4TnlBeExqUXhOeUF3SURBZ01DMHVOVEl5TFM0ek1qSWdNUzR6TmpZZ01TNHpOallnTUNBd0lEQXRMall3TWkwdU1EWTFJREUwTGpFNElERTBMakU0SURBZ01DQXdMVEl1TVRRekxqTTNOeUF4TGprMk1pQXhMamsyTWlBd0lEQWdNQzB1TnpZMExqTTJOMk11TXpZdU5UZ2dOQzR3TURZZ01TNHhPU0E0TGpRME9DQXhMakU1Y3pndU1EZzJMUzQyTVRJZ09DNDBORGN0TVM0eE9XTXRMakF4TXkwdU1ERXlMUzR3TWpjdExqQXlNeTB1TURNM0xTNHdNelZoTVM0NElERXVPQ0F3SURBZ01DMHVOekk0TFM0ek1qbGFJaTgrUEhCaGRHZ2dabWxzYkQwaUl6QkJNRUV3UVNJZ1pEMGliVEV6TGprNElEa3VPREl6TFRFdU9ERTRJRE11TWpVNElERXVPREUzSURFdU1UZzRWamt1T0RJMFdpSXZQanh3WVhSb0lHWnBiR3c5SWlNMFFqUkVORVFpSUdROUlrMHhNeTQ1T0NBNUxqZ3lOSFkwTGpRME5Hd3hMamd4TnkweExqRTROaTB4TGpneE55MHpMakkxT0ZwdE1DQTFMakE1ZGpFdU5UVmpMakF6TkMwdU1EVXlJREV1T0RFM0xUSXVOek00SURFdU9ERTNMVEl1TnpSc0xURXVPREUzSURFdU1UbGFJaTgrUEhCaGRHZ2dabWxzYkQwaUl6QkJNRUV3UVNJZ1pEMGliVEV6TGprNElERTBMamt4TkMweExqZ3hPQzB4TGpFNE55QXhMamd4T0NBeUxqY3pOM1l0TVM0MU5Wb2lMejQ4TDJjK1BHUmxabk0rUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKaElpQjRNVDBpTVRRaUlIZ3lQU0l4TkNJZ2VURTlJakFpSUhreVBTSXlPQ0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkdOMFl4UmtRaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU5HUWtaRFJFTWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWXlJZ2VERTlJamd1TnpneklpQjRNajBpT0M0M09ETWlJSGt4UFNJeE55NHdPRElpSUhreVBTSTRMakk1TnlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GUkVOR01EQWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNHpNeUlnYzNSdmNDMWpiMnh2Y2owaUkwWXdSRFV3TUNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpjM0lpQnpkRzl3TFdOdmJHOXlQU0lqUmpsRk5UQXdJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWkdNVEF3SWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUltUWlJSGd4UFNJeU1DNDROaklpSUhneVBTSXlNQzQ0TmpJaUlIa3hQU0l4Tnk0eE5EWWlJSGt5UFNJeE1DNDNPU0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkZSRU5HTURBaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0MU9TSWdjM1J2Y0MxamIyeHZjajBpSTBZM1JURXdNQ0l2UGp4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUkwWkdSakV3TUNJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BISmhaR2xoYkVkeVlXUnBaVzUwSUdsa1BTSmxJaUJqZUQwaU1DSWdZM2s5SWpBaUlISTlJakVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTmk0ek1ETTFNeUF3SURBZ05pNDJORGt6TlNBMkxqUTFJREl6TGpBNE5Da2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJrWkdNVEF3SWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TWpNaUlITjBiM0F0WTI5c2IzSTlJaU5HT1VVMU1EQWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNDJOeUlnYzNSdmNDMWpiMnh2Y2owaUkwWXdSRFV3TUNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzFqYjJ4dmNqMGlJMFZFUTBZd01DSXZQand2Y21Ga2FXRnNSM0poWkdsbGJuUStQR05zYVhCUVlYUm9JR2xrUFNKaUlqNDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTUNBd2FERTNkakV6U0RCNklpQjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2cxTGpVZ055a2lMejQ4TDJOc2FYQlFZWFJvUGp3dlpHVm1jejQ4TDNOMlp6NEtcIjtcbmV4cG9ydCB7XG4gIGhhcmRoYXRfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/hardhat-ARRFHFKB.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js.js deleted file mode 100644 index 77678e3..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/injectedWallet-EUKDEAIU.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/injectedWallet-EUKDEAIU.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ injectedWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/injectedWallet/injectedWallet.svg\nvar injectedWallet_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyOHYyOEgweiIvPjxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgeD0iNCIgeT0iNiIgZmlsbD0idXJsKCNhKSIgcng9IjMuNSIvPjxwYXRoIGZpbGw9IiMwRTc2RkQiIGQ9Ik0xNiAxNGEzIDMgMCAwIDEgMy0zaDQuNGMuNTYgMCAuODQgMCAxLjA1NC4xMDlhMSAxIDAgMCAxIC40MzcuNDM3QzI1IDExLjc2IDI1IDEyLjA0IDI1IDEyLjZ2Mi44YzAgLjU2IDAgLjg0LS4xMDkgMS4wNTRhMSAxIDAgMCAxLS40MzcuNDM3QzI0LjI0IDE3IDIzLjk2IDE3IDIzLjQgMTdIMTlhMyAzIDAgMCAxLTMtM1oiLz48Y2lyY2xlIGN4PSIxOSIgY3k9IjE0IiByPSIxLjI1IiBmaWxsPSIjQTNEN0ZGIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTQiIHgyPSIxNCIgeTE9IjYiIHkyPSIyMiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMxNzQyOTkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDFFNTkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2luamVjdGVkV2FsbGV0LUVVS0RFQUlVLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsaURBQWlEO0FBRy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvaW5qZWN0ZWRXYWxsZXQtRVVLREVBSVUuanM/ZWQ1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy93YWxsZXRzL3dhbGxldENvbm5lY3RvcnMvaW5qZWN0ZWRXYWxsZXQvaW5qZWN0ZWRXYWxsZXQuc3ZnXG52YXIgaW5qZWN0ZWRXYWxsZXRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5T0NJZ2FHVnBaMmgwUFNJeU9DSWdabWxzYkQwaWJtOXVaU0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUQWdNR2d5T0hZeU9FZ3dlaUl2UGp4eVpXTjBJSGRwWkhSb1BTSXlNQ0lnYUdWcFoyaDBQU0l4TmlJZ2VEMGlOQ0lnZVQwaU5pSWdabWxzYkQwaWRYSnNLQ05oS1NJZ2NuZzlJak11TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13UlRjMlJrUWlJR1E5SWsweE5pQXhOR0V6SURNZ01DQXdJREVnTXkwemFEUXVOR011TlRZZ01DQXVPRFFnTUNBeExqQTFOQzR4TURsaE1TQXhJREFnTUNBeElDNDBNemN1TkRNM1F6STFJREV4TGpjMklESTFJREV5TGpBMElESTFJREV5TGpaMk1pNDRZekFnTGpVMklEQWdMamcwTFM0eE1Ea2dNUzR3TlRSaE1TQXhJREFnTUNBeExTNDBNemN1TkRNM1F6STBMakkwSURFM0lESXpMamsySURFM0lESXpMalFnTVRkSU1UbGhNeUF6SURBZ01DQXhMVE10TTFvaUx6NDhZMmx5WTJ4bElHTjRQU0l4T1NJZ1kzazlJakUwSWlCeVBTSXhMakkxSWlCbWFXeHNQU0lqUVRORU4wWkdJaTgrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0poSWlCNE1UMGlNVFFpSUhneVBTSXhOQ0lnZVRFOUlqWWlJSGt5UFNJeU1pSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNeE56UXlPVGtpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTXdNREZGTlRraUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqd3ZaR1ZtY3o0OEwzTjJaejQ9XCI7XG5leHBvcnQge1xuICBpbmplY3RlZFdhbGxldF9kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/injectedWallet-EUKDEAIU.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js.js deleted file mode 100644 index 55685b2..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/login-ZSMM5UYL.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/login-ZSMM5UYL.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ login_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/login.svg\nvar login_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTAgMTZjMC01LjYgMC04LjQgMS4wOS0xMC41NGExMCAxMCAwIDAgMSA0LjM3LTQuMzdDNy42IDAgMTAuNCAwIDE2IDBoMTZjNS42IDAgOC40IDAgMTAuNTQgMS4wOWExMCAxMCAwIDAgMSA0LjM3IDQuMzdDNDggNy42IDQ4IDEwLjQgNDggMTZ2MTZjMCA1LjYgMCA4LjQtMS4wOSAxMC41NGExMC4wMDEgMTAuMDAxIDAgMCAxLTQuMzcgNC4zN0M0MC40IDQ4IDM3LjYgNDggMzIgNDhIMTZjLTUuNiAwLTguNCAwLTEwLjU0LTEuMDlhMTAgMTAgMCAwIDEtNC4zNy00LjM3QzAgNDAuNCAwIDM3LjYgMCAzMlYxNloiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMCAxNmMwLTUuNiAwLTguNCAxLjA5LTEwLjU0YTEwIDEwIDAgMCAxIDQuMzctNC4zN0M3LjYgMCAxMC40IDAgMTYgMGgxNmM1LjYgMCA4LjQgMCAxMC41NCAxLjA5YTEwIDEwIDAgMCAxIDQuMzcgNC4zN0M0OCA3LjYgNDggMTAuNCA0OCAxNnYxNmMwIDUuNiAwIDguNC0xLjA5IDEwLjU0YTEwLjAwMSAxMC4wMDEgMCAwIDEtNC4zNyA0LjM3QzQwLjQgNDggMzcuNiA0OCAzMiA0OEgxNmMtNS42IDAtOC40IDAtMTAuNTQtMS4wOWExMCAxMCAwIDAgMS00LjM3LTQuMzdDMCA0MC40IDAgMzcuNiAwIDMyVjE2WiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjA0IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjEzMyA5LjUxM0MxIDExLjEzMSAxIDEzLjE4MyAxIDE2djE2YzAgMi44MTcgMCA0Ljg3LjEzMyA2LjQ4Ni4xMzEgMS42MDYuMzg3IDIuNjk1Ljg0OCAzLjZhOSA5IDAgMCAwIDMuOTMzIDMuOTMzYy45MDUuNDYxIDEuOTk0LjcxNyAzLjYuODQ4QzExLjEzIDQ3IDEzLjE4MyA0NyAxNiA0N2gxNmMyLjgxNyAwIDQuODcgMCA2LjQ4Ni0uMTMzIDEuNjA2LS4xMzEgMi42OTUtLjM4NyAzLjYtLjg0OGE5IDkgMCAwIDAgMy45MzMtMy45MzNjLjQ2MS0uOTA1LjcxNy0xLjk5NC44NDgtMy42QzQ3IDM2Ljg3IDQ3IDM0LjgxNiA0NyAzMlYxNmMwLTIuODE3IDAtNC44Ny0uMTMzLTYuNDg3LS4xMzEtMS42MDUtLjM4Ny0yLjY5NC0uODQ4LTMuNTk5YTkgOSAwIDAgMC0zLjkzMy0zLjkzM2MtLjkwNS0uNDYxLTEuOTk0LS43MTctMy42LS44NDhDMzYuODcgMSAzNC44MTYgMSAzMiAxSDE2Yy0yLjgxNyAwLTQuODcgMC02LjQ4Ny4xMzMtMS42MDUuMTMxLTIuNjk0LjM4Ny0zLjU5OS44NDhhOSA5IDAgMCAwLTMuOTMzIDMuOTMzYy0uNDYxLjkwNS0uNzE3IDEuOTk0LS44NDggMy42Wk0xLjA5IDUuNDZDMCA3LjYgMCAxMC40IDAgMTZ2MTZjMCA1LjYgMCA4LjQgMS4wOSAxMC41NGExMCAxMCAwIDAgMCA0LjM3IDQuMzdDNy42IDQ4IDEwLjQgNDggMTYgNDhoMTZjNS42IDAgOC40IDAgMTAuNTQtMS4wOWExMC4wMDEgMTAuMDAxIDAgMCAwIDQuMzctNC4zN0M0OCA0MC40IDQ4IDM3LjYgNDggMzJWMTZjMC01LjYgMC04LjQtMS4wOS0xMC41NGExMCAxMCAwIDAgMC00LjM3LTQuMzdDNDAuNCAwIDM3LjYgMCAzMiAwSDE2QzEwLjQgMCA3LjYgMCA1LjQ2IDEuMDlhMTAgMTAgMCAwIDAtNC4zNyA0LjM3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0idXJsKCNjKSIgZD0iTTMgMTQuMmMwLTMuOTIgMC01Ljg4Ljc2My03LjM3OGE3IDcgMCAwIDEgMy4wNi0zLjA1OUM4LjMxOCAzIDEwLjI4IDMgMTQuMiAzaDE5LjZjMy45MiAwIDUuODggMCA3LjM3OC43NjNhNyA3IDAgMCAxIDMuMDU5IDMuMDZDNDUgOC4zMTggNDUgMTAuMjggNDUgMTQuMnYxOS42YzAgMy45MiAwIDUuODgtLjc2MyA3LjM3OGE3IDcgMCAwIDEtMy4wNiAzLjA1OUMzOS42ODIgNDUgMzcuNzIgNDUgMzMuOCA0NUgxNC4yYy0zLjkyIDAtNS44OCAwLTcuMzc4LS43NjNhNyA3IDAgMCAxLTMuMDU5LTMuMDZDMyAzOS42ODIgMyAzNy43MiAzIDMzLjhWMTQuMloiLz48cGF0aCBmaWxsPSJ1cmwoI2QpIiBmaWxsLW9wYWNpdHk9Ii43IiBkPSJNMyAxNC4yYzAtMy45MiAwLTUuODguNzYzLTcuMzc4YTcgNyAwIDAgMSAzLjA2LTMuMDU5QzguMzE4IDMgMTAuMjggMyAxNC4yIDNoMTkuNmMzLjkyIDAgNS44OCAwIDcuMzc4Ljc2M2E3IDcgMCAwIDEgMy4wNTkgMy4wNkM0NSA4LjMxOCA0NSAxMC4yOCA0NSAxNC4ydjE5LjZjMCAzLjkyIDAgNS44OC0uNzYzIDcuMzc4YTcgNyAwIDAgMS0zLjA2IDMuMDU5QzM5LjY4MiA0NSAzNy43MiA0NSAzMy44IDQ1SDE0LjJjLTMuOTIgMC01Ljg4IDAtNy4zNzgtLjc2M2E3IDcgMCAwIDEtMy4wNTktMy4wNkMzIDM5LjY4MiAzIDM3LjcyIDMgMzMuOFYxNC4yWiIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOnNjcmVlbiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNTk0IDkuNjQzQzMuNSAxMC43ODUgMy41IDEyLjIzMiAzLjUgMTQuMnYxOS42YzAgMS45NjggMCAzLjQxNS4wOTQgNC41NTcuMDkzIDEuMTM2LjI3NSAxLjkyOC42MTQgMi41OTRhNi41IDYuNSAwIDAgMCAyLjg0MSAyLjg0Yy42NjcuMzQgMS40NTguNTIyIDIuNTk0LjYxNSAxLjE0Mi4wOTQgMi41ODkuMDk0IDQuNTU3LjA5NGgxOS42YzEuOTY4IDAgMy40MTUgMCA0LjU1Ny0uMDk0IDEuMTM2LS4wOTMgMS45MjgtLjI3NSAyLjU5NC0uNjE0YTYuNDk5IDYuNDk5IDAgMCAwIDIuODQtMi44NDFjLjM0LS42NjYuNTIyLTEuNDU4LjYxNS0yLjU5NC4wOTQtMS4xNDIuMDk0LTIuNTg5LjA5NC00LjU1N1YxNC4yYzAtMS45NjggMC0zLjQxNS0uMDk0LTQuNTU3LS4wOTMtMS4xMzYtLjI3NS0xLjkyNy0uNjE0LTIuNTk0YTYuNSA2LjUgMCAwIDAtMi44NDEtMi44NGMtLjY2Ni0uMzQtMS40NTgtLjUyMi0yLjU5NC0uNjE1QzM3LjIxNSAzLjUgMzUuNzY4IDMuNSAzMy44IDMuNUgxNC4yYy0xLjk2OCAwLTMuNDE1IDAtNC41NTcuMDk0LTEuMTM2LjA5My0xLjkyNy4yNzUtMi41OTQuNjE0QTYuNSA2LjUgMCAwIDAgNC4yMSA3LjA1Yy0uMzQuNjY3LS41MjIgMS40NTgtLjYxNSAyLjU5NFptLjE2OS0yLjgyQzMgOC4zMTggMyAxMC4yOCAzIDE0LjJ2MTkuNmMwIDMuOTIgMCA1Ljg4Ljc2MyA3LjM3OGE3IDcgMCAwIDAgMy4wNiAzLjA1OUM4LjMxOCA0NSAxMC4yOCA0NSAxNC4yIDQ1aDE5LjZjMy45MiAwIDUuODggMCA3LjM3OC0uNzYzYTcgNyAwIDAgMCAzLjA1OS0zLjA2QzQ1IDM5LjY4MiA0NSAzNy43MiA0NSAzMy44VjE0LjJjMC0zLjkyIDAtNS44OC0uNzYzLTcuMzc4YTcgNyAwIDAgMC0zLjA2LTMuMDU5QzM5LjY4MiAzIDM3LjcyIDMgMzMuOCAzSDE0LjJjLTMuOTIgMC01Ljg4IDAtNy4zNzguNzYzYTcgNyAwIDAgMC0zLjA1OSAzLjA2WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIuMiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC41ODUgOS43MTJDNC41MDEgMTAuNzQ2IDQuNSAxMi4wNjMgNC41IDEzLjl2MjAuMmMwIDEuODM3IDAgMy4xNTQuMDg1IDQuMTg4LjA4NCAxLjAyMi4yNDQgMS42NzguNTE0IDIuMjA5QTUuNSA1LjUgMCAwIDAgNy41MDMgNDIuOWMuNTMuMjcgMS4xODcuNDMgMi4yMS41MTQgMS4wMzMuMDg0IDIuMzUuMDg1IDQuMTg3LjA4NWgyMC4yYzEuODM3IDAgMy4xNTQgMCA0LjE4OC0uMDg1IDEuMDIyLS4wODQgMS42NzgtLjI0NCAyLjIwOS0uNTE0YTUuNSA1LjUgMCAwIDAgMi40MDQtMi40MDRjLjI3LS41My40My0xLjE4Ny41MTQtMi4yMS4wODQtMS4wMzMuMDg1LTIuMzUuMDg1LTQuMTg3VjEzLjljMC0xLjgzNyAwLTMuMTU0LS4wODUtNC4xODgtLjA4NC0xLjAyMi0uMjQ0LTEuNjc4LS41MTQtMi4yMDlBNS41IDUuNSAwIDAgMCA0MC40OTYgNS4xYy0uNTMtLjI3LTEuMTg3LS40My0yLjIxLS41MTQtMS4wMzMtLjA4NC0yLjM1LS4wODUtNC4xODctLjA4NUgxMy45Yy0xLjgzNyAwLTMuMTU0IDAtNC4xODguMDg1LTEuMDIyLjA4NC0xLjY3OC4yNDQtMi4yMDkuNTE0QTUuNSA1LjUgMCAwIDAgNS4xIDcuNTAzYy0uMjcuNTMtLjQzIDEuMTg3LS41MTQgMi4yMVpNNC4yMDggNy4wNUMzLjUgOC40NCAzLjUgMTAuMjYgMy41IDEzLjl2MjAuMmMwIDMuNjQgMCA1LjQ2LjcwOCA2Ljg1YTYuNSA2LjUgMCAwIDAgMi44NDEgMi44NDFjMS4zOS43MDkgMy4yMS43MDkgNi44NTEuNzA5aDIwLjJjMy42NCAwIDUuNDYgMCA2Ljg1LS43MDlhNi40OTkgNi40OTkgMCAwIDAgMi44NDEtMi44NGMuNzA5LTEuMzkuNzA5LTMuMjEuNzA5LTYuODUxVjEzLjljMC0zLjY0IDAtNS40Ni0uNzA5LTYuODVhNi41IDYuNSAwIDAgMC0yLjg0LTIuODQyQzM5LjU2IDMuNSAzNy43NCAzLjUgMzQuMSAzLjVIMTMuOWMtMy42NCAwLTUuNDYgMC02Ljg1LjcwOEE2LjUgNi41IDAgMCAwIDQuMjA3IDcuMDVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpvdmVybGF5Ii8+PHBhdGggZmlsbD0idXJsKCNlKSIgZD0iTTE4IDExLjM0N2MtNC43MyAyLjI0Ny04IDcuMDY4LTggMTIuNjUzIDAgNS41ODUgMy4yNyAxMC40MDYgOCAxMi42NTNWMjMuOTA4YzAtLjMgMC0uNTY1LjA0Ny0uODI5LjA0LS4yMzIuMTEtLjQ1OC4yMDQtLjY3NC4xMDctLjI0NS4yNTQtLjQ2NS40Mi0uNzE1bC45MDUtMS4zNTdhNi44NiA2Ljg2IDAgMCAwIC4yMTItLjMyN0wxOS43OSAyMGwtLjAwMy0uMDA2YTYuODYgNi44NiAwIDAgMC0uMjEyLS4zMjdsLS45MDQtMS4zNTdjLS4xNjctLjI1LS4zMTQtLjQ3LS40MjEtLjcxNWEyLjk5NCAyLjk5NCAwIDAgMS0uMjA0LS42NzRDMTggMTYuNjU3IDE4IDE2LjM5MiAxOCAxNi4wOTJ2LTQuNzQ1WiIvPjxwYXRoIGZpbGw9InVybCgjZikiIGQ9Ik0zMCAzNi42NTNjNC43My0yLjI0NyA4LTcuMDY4IDgtMTIuNjUzIDAtNS41ODUtMy4yNy0xMC40MDYtOC0xMi42NTN2MTIuNzQ1YzAgLjMgMCAuNTY1LS4wNDcuODI5LS4wNC4yMzItLjExLjQ1OC0uMjA0LjY3NC0uMTA3LjI0NS0uMjU0LjQ2NS0uNDIuNzE1bC0uOTA1IDEuMzU3YTYuODYgNi44NiAwIDAgMC0uMjEyLjMyN0wyOC4yMSAyOGwuMDAzLjAwNmMuMDM5LjA2Ny4wOTguMTU2LjIxMi4zMjdsLjkwNCAxLjM1N2MuMTY3LjI1LjMxNC40Ny40MjEuNzE1LjA5NS4yMTYuMTYzLjQ0Mi4yMDQuNjc0LjA0Ny4yNjQuMDQ3LjUyOS4wNDcuODI5djQuNzQ1WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iLjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIwLjA5MiAzOS43ODJhMiAyIDAgMCAxLS44NzQtLjg3NEMxOSAzOC40OCAxOSAzNy45MiAxOSAzNi44VjIzLjk2OWMwLS4zNiAwLS41NC4wMzEtLjcxNC4wMjgtLjE1NS4wNzMtLjMwNi4xMzYtLjQ1LjA3LS4xNjIuMTctLjMxMS4zNy0uNjExbC44NzEtMS4zMDZjLjIxNC0uMzIxLjMyMS0uNDgyLjM2My0uNjU1YTEgMSAwIDAgMCAwLS40NjZjLS4wNDItLjE3My0uMTQ5LS4zMzQtLjM2My0uNjU0bC0uODctMS4zMDdjLS4yLS4zLS4zLS40NS0uMzctLjYxMWExLjk5OCAxLjk5OCAwIDAgMS0uMTM3LS40NWMtLjAzLS4xNzQtLjAzLS4zNTQtLjAzLS43MTRWMTEuMmMwLTEuMTIgMC0xLjY4LjIxNy0yLjEwOGEyIDIgMCAwIDEgLjg3NC0uODc0QzIwLjUyIDggMjEuMDggOCAyMi4yIDhoMy42YzEuMTIgMCAxLjY4IDAgMi4xMDguMjE4YTIgMiAwIDAgMSAuODc0Ljg3NEMyOSA5LjUyIDI5IDEwLjA4IDI5IDExLjJ2MTIuODMxYzAgLjM2IDAgLjU0LS4wMzEuNzE0YTEuOTk4IDEuOTk4IDAgMCAxLS4xMzYuNDVjLS4wNy4xNjItLjE3LjMxMS0uMzcuNjExbC0uODcxIDEuMzA2Yy0uMjE0LjMyMS0uMzIxLjQ4Mi0uMzYzLjY1NWExIDEgMCAwIDAgMCAuNDY2Yy4wNDIuMTczLjE0OS4zMzQuMzYzLjY1NGwuODcgMS4zMDdjLjIuMy4zLjQ1LjM3MS42MTEuMDYzLjE0NC4xMDkuMjk1LjEzNi40NS4wMzEuMTc0LjAzMS4zNTQuMDMxLjcxNFYzNi44YzAgMS4xMiAwIDEuNjgtLjIxOCAyLjEwOGEyIDIgMCAwIDEtLjg3NC44NzRDMjcuNDggNDAgMjYuOTIgNDAgMjUuOCA0MGgtMy42Yy0xLjEyIDAtMS42OCAwLTIuMTA4LS4yMThaTTE5Ljc5MSAyMGwtLjAwMy0uMDA2YTYuODYgNi44NiAwIDAgMC0uMjEyLS4zMjdsLS44Ny0xLjMwNi0uMDM0LS4wNWMtLjE2Ny0uMjUtLjMxNC0uNDcxLS40MjEtLjcxNmEzIDMgMCAwIDEtLjIwNC0uNjc0QzE4IDE2LjY1NyAxOCAxNi4zOTIgMTggMTYuMDkydi00LjkzYzAtLjUyOCAwLS45ODIuMDMtMS4zNTcuMDMzLS4zOTUuMTA0LS43ODkuMjk3LTEuMTY3YTMgMyAwIDAgMSAxLjMxMS0xLjMxMWMuMzc4LS4xOTMuNzcyLS4yNjQgMS4xNjctLjI5NkMyMS4xOCA3IDIxLjYzNSA3IDIyLjE2MiA3aDMuNjc3Yy41MjcgMCAuOTgyIDAgMS4zNTYuMDMuMzk1LjAzMy43ODkuMTA0IDEuMTY3LjI5N2EzIDMgMCAwIDEgMS4zMTEgMS4zMTFjLjE5My4zNzguMjY0Ljc3Mi4yOTcgMS4xNjcuMDMuMzc1LjAzLjgzLjAzIDEuMzU3djEyLjkzYzAgLjMgMCAuNTY1LS4wNDcuODI5YTMgMyAwIDAgMS0uMjAzLjY3NGMtLjEwOC4yNDUtLjI1NS40NjUtLjQyMi43MTUtLjAxLjAxNy0uMDIyLjAzNC0uMDMzLjA1bC0uODcxIDEuMzA3YTYuODYgNi44NiAwIDAgMC0uMjExLjMyN2wtLjAwNC4wMDYuMDA0LjAwNmMuMDM4LjA2Ny4wOTcuMTU2LjIxLjMyN2wuODcyIDEuMzA2LjAzMy4wNWMuMTY3LjI1LjMxNC40NzEuNDIyLjcxNmEzIDMgMCAwIDEgLjIwMy42NzRjLjA0Ny4yNjQuMDQ3LjUyOS4wNDcuODI5djQuOTNjMCAuNTI4IDAgLjk4My0uMDMgMS4zNTctLjAzMy4zOTUtLjEwNC43ODktLjI5NyAxLjE2N2EzIDMgMCAwIDEtMS4zMTEgMS4zMTFjLS4zNzguMTkzLS43NzIuMjY0LTEuMTY3LjI5Ni0uMzc1LjAzMS0uODMuMDMxLTEuMzU2LjAzMWgtMy42NzdjLS41MjggMC0uOTgyIDAtMS4zNTctLjAzLS4zOTUtLjAzMy0uNzg4LS4xMDQtMS4xNjctLjI5N2EzIDMgMCAwIDEtMS4zMTEtMS4zMTFjLS4xOTMtLjM3OC0uMjY0LS43NzItLjI5Ni0xLjE2N2ExNy4yMyAxNy4yMyAwIDAgMS0uMDMtMS4zNTZ2LTEyLjg3TDE4IDIzLjkwOGMwLS4zIDAtLjU2NS4wNDctLjgyOWEzIDMgMCAwIDEgLjIwNC0uNjc0Yy4xMDctLjI0NS4yNTQtLjQ2NS40Mi0uNzE1bC4wMzQtLjA1Ljg3MS0xLjMwN2E2Ljg2IDYuODYgMCAwIDAgLjIxMi0uMzI3TDE5Ljc5IDIwWiIgY2xpcC1ydWxlPSJldmVub2RkIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6b3ZlcmxheSIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjciIGQ9Ik0xOSAxMS4yYzAtMS4xMiAwLTEuNjguMjE4LTIuMTA4YTIgMiAwIDAgMSAuODc0LS44NzRDMjAuNTIgOCAyMS4wOCA4IDIyLjIgOGgzLjZjMS4xMiAwIDEuNjggMCAyLjEwOC4yMThhMiAyIDAgMCAxIC44NzQuODc0QzI5IDkuNTIgMjkgMTAuMDggMjkgMTEuMnYxMi44MzFjMCAuMzYgMCAuNTQtLjAzMS43MTRhMi4wMDMgMi4wMDMgMCAwIDEtLjEzNi40NWMtLjA3LjE2Mi0uMTcuMzExLS4zNy42MTFsLS44NzEgMS4zMDZjLS4yMTQuMzIxLS4zMjEuNDgyLS4zNjMuNjU1YTEgMSAwIDAgMCAwIC40NjZjLjA0Mi4xNzMuMTQ5LjMzNC4zNjMuNjU0bC44NyAxLjMwN2MuMi4zLjMuNDUuMzcxLjYxMS4wNjMuMTQ0LjEwOC4yOTUuMTM2LjQ1LjAzMS4xNzQuMDMxLjM1NC4wMzEuNzE0VjM2LjhjMCAxLjEyIDAgMS42OC0uMjE4IDIuMTA4YTIgMiAwIDAgMS0uODc0Ljg3NEMyNy40OCA0MCAyNi45MiA0MCAyNS44IDQwaC0zLjZjLTEuMTIgMC0xLjY4IDAtMi4xMDgtLjIxOGEyIDIgMCAwIDEtLjg3NC0uODc0QzE5IDM4LjQ4IDE5IDM3LjkyIDE5IDM2LjhWMjMuOTY5YzAtLjM2IDAtLjU0LjAzMS0uNzE0LjAyOC0uMTU1LjA3My0uMzA2LjEzNi0uNDUuMDctLjE2Mi4xNy0uMzExLjM3LS42MTFsLjg3MS0xLjMwNmMuMjE0LS4zMjEuMzIxLS40ODIuMzYzLS42NTVhMSAxIDAgMCAwIDAtLjQ2NmMtLjA0Mi0uMTczLS4xNDktLjMzNC0uMzYzLS42NTRsLS44Ny0xLjMwN2MtLjItLjMtLjMtLjQ1LS4zNzEtLjYxMWEyLjAwMyAyLjAwMyAwIDAgMS0uMTM2LS40NUMxOSAxNi41NzEgMTkgMTYuMzkxIDE5IDE2LjAzMVYxMS4yWiIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjI0IiB4Mj0iMjQiIHkxPSIwIiB5Mj0iNDgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjMTc0Mjk5Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDAxRTU5Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIyNCIgeDI9IjI0IiB5MT0iMCIgeTI9IjQ4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0QyRDhFNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0MyQzlENiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJlIiB4MT0iMjQiIHgyPSIyNCIgeTE9IjEwIiB5Mj0iMzgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLW9wYWNpdHk9Ii4xMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIuMDQiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZiIgeDE9IjI0IiB4Mj0iMjQiIHkxPSIxMCIgeTI9IjM4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1vcGFjaXR5PSIuMTIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjA0Ii8+PC9saW5lYXJHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImMiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSgtNDAuMDc3IDY5LjgxNSA0OC42NjUpIHNjYWxlKDgyLjkwNDgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMjc2IiBzdG9wLWNvbG9yPSIjMjBGRjREIi8+PHN0b3Agb2Zmc2V0PSIuNDY0IiBzdG9wLWNvbG9yPSIjMTQ5OUZGIi8+PHN0b3Agb2Zmc2V0PSIuNzU1IiBzdG9wLWNvbG9yPSIjRkY2RkM2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQkM2N0ZGIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImQiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSg0NSAyLjUyIC02LjA4Mikgc2NhbGUoNjguNjc3NykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSJyZWQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMEEzRkYiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2xvZ2luLVpTTU01VVlMLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0Esd0NBQXdDO0FBR3RDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvbG9naW4tWlNNTTVVWUwuanM/NGVkZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL2xvZ2luLnN2Z1xudmFyIGxvZ2luX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05oS1NJZ1pEMGlUVEFnTVRaak1DMDFMallnTUMwNExqUWdNUzR3T1MweE1DNDFOR0V4TUNBeE1DQXdJREFnTVNBMExqTTNMVFF1TXpkRE55NDJJREFnTVRBdU5DQXdJREUySURCb01UWmpOUzQySURBZ09DNDBJREFnTVRBdU5UUWdNUzR3T1dFeE1DQXhNQ0F3SURBZ01TQTBMak0zSURRdU16ZERORGdnTnk0MklEUTRJREV3TGpRZ05EZ2dNVFoyTVRaak1DQTFMallnTUNBNExqUXRNUzR3T1NBeE1DNDFOR0V4TUM0d01ERWdNVEF1TURBeElEQWdNQ0F4TFRRdU16Y2dOQzR6TjBNME1DNDBJRFE0SURNM0xqWWdORGdnTXpJZ05EaElNVFpqTFRVdU5pQXdMVGd1TkNBd0xURXdMalUwTFRFdU1EbGhNVEFnTVRBZ01DQXdJREV0TkM0ek55MDBMak0zUXpBZ05EQXVOQ0F3SURNM0xqWWdNQ0F6TWxZeE5sb2lMejQ4Y0dGMGFDQm1hV3hzUFNKMWNtd29JMklwSWlCa1BTSk5NQ0F4Tm1Nd0xUVXVOaUF3TFRndU5DQXhMakE1TFRFd0xqVTBZVEV3SURFd0lEQWdNQ0F4SURRdU16Y3ROQzR6TjBNM0xqWWdNQ0F4TUM0MElEQWdNVFlnTUdneE5tTTFMallnTUNBNExqUWdNQ0F4TUM0MU5DQXhMakE1WVRFd0lERXdJREFnTUNBeElEUXVNemNnTkM0ek4wTTBPQ0EzTGpZZ05EZ2dNVEF1TkNBME9DQXhObll4Tm1Nd0lEVXVOaUF3SURndU5DMHhMakE1SURFd0xqVTBZVEV3TGpBd01TQXhNQzR3TURFZ01DQXdJREV0TkM0ek55QTBMak0zUXpRd0xqUWdORGdnTXpjdU5pQTBPQ0F6TWlBME9FZ3hObU10TlM0MklEQXRPQzQwSURBdE1UQXVOVFF0TVM0d09XRXhNQ0F4TUNBd0lEQWdNUzAwTGpNM0xUUXVNemRETUNBME1DNDBJREFnTXpjdU5pQXdJRE15VmpFMldpSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqQTBJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhMakV6TXlBNUxqVXhNME14SURFeExqRXpNU0F4SURFekxqRTRNeUF4SURFMmRqRTJZekFnTWk0NE1UY2dNQ0EwTGpnM0xqRXpNeUEyTGpRNE5pNHhNekVnTVM0Mk1EWXVNemczSURJdU5qazFMamcwT0NBekxqWmhPU0E1SURBZ01DQXdJRE11T1RNeklETXVPVE16WXk0NU1EVXVORFl4SURFdU9UazBMamN4TnlBekxqWXVPRFE0UXpFeExqRXpJRFEzSURFekxqRTRNeUEwTnlBeE5pQTBOMmd4Tm1NeUxqZ3hOeUF3SURRdU9EY2dNQ0EyTGpRNE5pMHVNVE16SURFdU5qQTJMUzR4TXpFZ01pNDJPVFV0TGpNNE55QXpMall0TGpnME9HRTVJRGtnTUNBd0lEQWdNeTQ1TXpNdE15NDVNek5qTGpRMk1TMHVPVEExTGpjeE55MHhMams1TkM0NE5EZ3RNeTQyUXpRM0lETTJMamczSURRM0lETTBMamd4TmlBME55QXpNbFl4Tm1Nd0xUSXVPREUzSURBdE5DNDROeTB1TVRNekxUWXVORGczTFM0eE16RXRNUzQyTURVdExqTTROeTB5TGpZNU5DMHVPRFE0TFRNdU5UazVZVGtnT1NBd0lEQWdNQzB6TGprek15MHpMamt6TTJNdExqa3dOUzB1TkRZeExURXVPVGswTFM0M01UY3RNeTQyTFM0NE5EaERNell1T0RjZ01TQXpOQzQ0TVRZZ01TQXpNaUF4U0RFMll5MHlMamd4TnlBd0xUUXVPRGNnTUMwMkxqUTROeTR4TXpNdE1TNDJNRFV1TVRNeExUSXVOamswTGpNNE55MHpMalU1T1M0NE5EaGhPU0E1SURBZ01DQXdMVE11T1RNeklETXVPVE16WXkwdU5EWXhMamt3TlMwdU56RTNJREV1T1RrMExTNDRORGdnTXk0MldrMHhMakE1SURVdU5EWkRNQ0EzTGpZZ01DQXhNQzQwSURBZ01UWjJNVFpqTUNBMUxqWWdNQ0E0TGpRZ01TNHdPU0F4TUM0MU5HRXhNQ0F4TUNBd0lEQWdNQ0EwTGpNM0lEUXVNemRETnk0MklEUTRJREV3TGpRZ05EZ2dNVFlnTkRob01UWmpOUzQySURBZ09DNDBJREFnTVRBdU5UUXRNUzR3T1dFeE1DNHdNREVnTVRBdU1EQXhJREFnTUNBd0lEUXVNemN0TkM0ek4wTTBPQ0EwTUM0MElEUTRJRE0zTGpZZ05EZ2dNekpXTVRaak1DMDFMallnTUMwNExqUXRNUzR3T1MweE1DNDFOR0V4TUNBeE1DQXdJREFnTUMwMExqTTNMVFF1TXpkRE5EQXVOQ0F3SURNM0xqWWdNQ0F6TWlBd1NERTJRekV3TGpRZ01DQTNMallnTUNBMUxqUTJJREV1TURsaE1UQWdNVEFnTUNBd0lEQXROQzR6TnlBMExqTTNXaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlkWEpzS0NOaktTSWdaRDBpVFRNZ01UUXVNbU13TFRNdU9USWdNQzAxTGpnNExqYzJNeTAzTGpNM09HRTNJRGNnTUNBd0lERWdNeTR3TmkwekxqQTFPVU00TGpNeE9DQXpJREV3TGpJNElETWdNVFF1TWlBemFERTVMalpqTXk0NU1pQXdJRFV1T0RnZ01DQTNMak0zT0M0M05qTmhOeUEzSURBZ01DQXhJRE11TURVNUlETXVNRFpETkRVZ09DNHpNVGdnTkRVZ01UQXVNamdnTkRVZ01UUXVNbll4T1M0Mll6QWdNeTQ1TWlBd0lEVXVPRGd0TGpjMk15QTNMak0zT0dFM0lEY2dNQ0F3SURFdE15NHdOaUF6TGpBMU9VTXpPUzQyT0RJZ05EVWdNemN1TnpJZ05EVWdNek11T0NBME5VZ3hOQzR5WXkwekxqa3lJREF0TlM0NE9DQXdMVGN1TXpjNExTNDNOak5oTnlBM0lEQWdNQ0F4TFRNdU1EVTVMVE11TURaRE15QXpPUzQyT0RJZ015QXpOeTQzTWlBeklETXpMamhXTVRRdU1sb2lMejQ4Y0dGMGFDQm1hV3hzUFNKMWNtd29JMlFwSWlCbWFXeHNMVzl3WVdOcGRIazlJaTQzSWlCa1BTSk5NeUF4TkM0eVl6QXRNeTQ1TWlBd0xUVXVPRGd1TnpZekxUY3VNemM0WVRjZ055QXdJREFnTVNBekxqQTJMVE11TURVNVF6Z3VNekU0SURNZ01UQXVNamdnTXlBeE5DNHlJRE5vTVRrdU5tTXpMamt5SURBZ05TNDRPQ0F3SURjdU16YzRMamMyTTJFM0lEY2dNQ0F3SURFZ015NHdOVGtnTXk0d05rTTBOU0E0TGpNeE9DQTBOU0F4TUM0eU9DQTBOU0F4TkM0eWRqRTVMalpqTUNBekxqa3lJREFnTlM0NE9DMHVOell6SURjdU16YzRZVGNnTnlBd0lEQWdNUzB6TGpBMklETXVNRFU1UXpNNUxqWTRNaUEwTlNBek55NDNNaUEwTlNBek15NDRJRFExU0RFMExqSmpMVE11T1RJZ01DMDFMamc0SURBdE55NHpOemd0TGpjMk0yRTNJRGNnTUNBd0lERXRNeTR3TlRrdE15NHdOa016SURNNUxqWTRNaUF6SURNM0xqY3lJRE1nTXpNdU9GWXhOQzR5V2lJZ2MzUjViR1U5SW0xcGVDMWliR1Z1WkMxdGIyUmxPbk5qY21WbGJpSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqSWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUTXVOVGswSURrdU5qUXpRek11TlNBeE1DNDNPRFVnTXk0MUlERXlMakl6TWlBekxqVWdNVFF1TW5ZeE9TNDJZekFnTVM0NU5qZ2dNQ0F6TGpReE5TNHdPVFFnTkM0MU5UY3VNRGt6SURFdU1UTTJMakkzTlNBeExqa3lPQzQyTVRRZ01pNDFPVFJoTmk0MUlEWXVOU0F3SURBZ01DQXlMamcwTVNBeUxqZzBZeTQyTmpjdU16UWdNUzQwTlRndU5USXlJREl1TlRrMExqWXhOU0F4TGpFME1pNHdPVFFnTWk0MU9Ea3VNRGswSURRdU5UVTNMakE1TkdneE9TNDJZekV1T1RZNElEQWdNeTQwTVRVZ01DQTBMalUxTnkwdU1EazBJREV1TVRNMkxTNHdPVE1nTVM0NU1qZ3RMakkzTlNBeUxqVTVOQzB1TmpFMFlUWXVORGs1SURZdU5EazVJREFnTUNBd0lESXVPRFF0TWk0NE5ERmpMak0wTFM0Mk5qWXVOVEl5TFRFdU5EVTRMall4TlMweUxqVTVOQzR3T1RRdE1TNHhOREl1TURrMExUSXVOVGc1TGpBNU5DMDBMalUxTjFZeE5DNHlZekF0TVM0NU5qZ2dNQzB6TGpReE5TMHVNRGswTFRRdU5UVTNMUzR3T1RNdE1TNHhNell0TGpJM05TMHhMamt5TnkwdU5qRTBMVEl1TlRrMFlUWXVOU0EyTGpVZ01DQXdJREF0TWk0NE5ERXRNaTQ0TkdNdExqWTJOaTB1TXpRdE1TNDBOVGd0TGpVeU1pMHlMalU1TkMwdU5qRTFRek0zTGpJeE5TQXpMalVnTXpVdU56WTRJRE11TlNBek15NDRJRE11TlVneE5DNHlZeTB4TGprMk9DQXdMVE11TkRFMUlEQXROQzQxTlRjdU1EazBMVEV1TVRNMkxqQTVNeTB4TGpreU55NHlOelV0TWk0MU9UUXVOakUwUVRZdU5TQTJMalVnTUNBd0lEQWdOQzR5TVNBM0xqQTFZeTB1TXpRdU5qWTNMUzQxTWpJZ01TNDBOVGd0TGpZeE5TQXlMalU1TkZwdExqRTJPUzB5TGpneVF6TWdPQzR6TVRnZ015QXhNQzR5T0NBeklERTBMakoyTVRrdU5tTXdJRE11T1RJZ01DQTFMamc0TGpjMk15QTNMak0zT0dFM0lEY2dNQ0F3SURBZ015NHdOaUF6TGpBMU9VTTRMak14T0NBME5TQXhNQzR5T0NBME5TQXhOQzR5SURRMWFERTVMalpqTXk0NU1pQXdJRFV1T0RnZ01DQTNMak0zT0MwdU56WXpZVGNnTnlBd0lEQWdNQ0F6TGpBMU9TMHpMakEyUXpRMUlETTVMalk0TWlBME5TQXpOeTQzTWlBME5TQXpNeTQ0VmpFMExqSmpNQzB6TGpreUlEQXROUzQ0T0MwdU56WXpMVGN1TXpjNFlUY2dOeUF3SURBZ01DMHpMakEyTFRNdU1EVTVRek01TGpZNE1pQXpJRE0zTGpjeUlETWdNek11T0NBelNERTBMakpqTFRNdU9USWdNQzAxTGpnNElEQXROeTR6TnpndU56WXpZVGNnTnlBd0lEQWdNQzB6TGpBMU9TQXpMakEyV2lJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdabWxzYkMxdmNHRmphWFI1UFNJdU1pSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk5DNDFPRFVnT1M0M01USkROQzQxTURFZ01UQXVOelEySURRdU5TQXhNaTR3TmpNZ05DNDFJREV6TGpsMk1qQXVNbU13SURFdU9ETTNJREFnTXk0eE5UUXVNRGcxSURRdU1UZzRMakE0TkNBeExqQXlNaTR5TkRRZ01TNDJOemd1TlRFMElESXVNakE1UVRVdU5TQTFMalVnTUNBd0lEQWdOeTQxTURNZ05ESXVPV011TlRNdU1qY2dNUzR4T0RjdU5ETWdNaTR5TVM0MU1UUWdNUzR3TXpNdU1EZzBJREl1TXpVdU1EZzFJRFF1TVRnM0xqQTROV2d5TUM0eVl6RXVPRE0zSURBZ015NHhOVFFnTUNBMExqRTRPQzB1TURnMUlERXVNREl5TFM0d09EUWdNUzQyTnpndExqSTBOQ0F5TGpJd09TMHVOVEUwWVRVdU5TQTFMalVnTUNBd0lEQWdNaTQwTURRdE1pNDBNRFJqTGpJM0xTNDFNeTQwTXkweExqRTROeTQxTVRRdE1pNHlNUzR3T0RRdE1TNHdNek11TURnMUxUSXVNelV1TURnMUxUUXVNVGczVmpFekxqbGpNQzB4TGpnek55QXdMVE11TVRVMExTNHdPRFV0TkM0eE9EZ3RMakE0TkMweExqQXlNaTB1TWpRMExURXVOamM0TFM0MU1UUXRNaTR5TURsQk5TNDFJRFV1TlNBd0lEQWdNQ0EwTUM0ME9UWWdOUzR4WXkwdU5UTXRMakkzTFRFdU1UZzNMUzQwTXkweUxqSXhMUzQxTVRRdE1TNHdNek10TGpBNE5DMHlMak0xTFM0d09EVXROQzR4T0RjdExqQTROVWd4TXk0NVl5MHhMamd6TnlBd0xUTXVNVFUwSURBdE5DNHhPRGd1TURnMUxURXVNREl5TGpBNE5DMHhMalkzT0M0eU5EUXRNaTR5TURrdU5URTBRVFV1TlNBMUxqVWdNQ0F3SURBZ05TNHhJRGN1TlRBell5MHVNamN1TlRNdExqUXpJREV1TVRnM0xTNDFNVFFnTWk0eU1WcE5OQzR5TURnZ055NHdOVU16TGpVZ09DNDBOQ0F6TGpVZ01UQXVNallnTXk0MUlERXpMamwyTWpBdU1tTXdJRE11TmpRZ01DQTFMalEyTGpjd09DQTJMamcxWVRZdU5TQTJMalVnTUNBd0lEQWdNaTQ0TkRFZ01pNDROREZqTVM0ek9TNDNNRGtnTXk0eU1TNDNNRGtnTmk0NE5URXVOekE1YURJd0xqSmpNeTQyTkNBd0lEVXVORFlnTUNBMkxqZzFMUzQzTURsaE5pNDBPVGtnTmk0ME9Ua2dNQ0F3SURBZ01pNDROREV0TWk0NE5HTXVOekE1TFRFdU16a3VOekE1TFRNdU1qRXVOekE1TFRZdU9EVXhWakV6TGpsak1DMHpMalkwSURBdE5TNDBOaTB1TnpBNUxUWXVPRFZoTmk0MUlEWXVOU0F3SURBZ01DMHlMamcwTFRJdU9EUXlRek01TGpVMklETXVOU0F6Tnk0M05DQXpMalVnTXpRdU1TQXpMalZJTVRNdU9XTXRNeTQyTkNBd0xUVXVORFlnTUMwMkxqZzFMamN3T0VFMkxqVWdOaTQxSURBZ01DQXdJRFF1TWpBM0lEY3VNRFZhSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUlITjBlV3hsUFNKdGFYZ3RZbXhsYm1RdGJXOWtaVHB2ZG1WeWJHRjVJaTgrUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ05sS1NJZ1pEMGlUVEU0SURFeExqTTBOMk10TkM0M015QXlMakkwTnkwNElEY3VNRFk0TFRnZ01USXVOalV6SURBZ05TNDFPRFVnTXk0eU55QXhNQzQwTURZZ09DQXhNaTQyTlROV01qTXVPVEE0WXpBdExqTWdNQzB1TlRZMUxqQTBOeTB1T0RJNUxqQTBMUzR5TXpJdU1URXRMalExT0M0eU1EUXRMalkzTkM0eE1EY3RMakkwTlM0eU5UUXRMalEyTlM0ME1pMHVOekUxYkM0NU1EVXRNUzR6TlRkaE5pNDROaUEyTGpnMklEQWdNQ0F3SUM0eU1USXRMak15TjB3eE9TNDNPU0F5TUd3dExqQXdNeTB1TURBMllUWXVPRFlnTmk0NE5pQXdJREFnTUMwdU1qRXlMUzR6TWpkc0xTNDVNRFF0TVM0ek5UZGpMUzR4TmpjdExqSTFMUzR6TVRRdExqUTNMUzQwTWpFdExqY3hOV0V5TGprNU5DQXlMams1TkNBd0lEQWdNUzB1TWpBMExTNDJOelJETVRnZ01UWXVOalUzSURFNElERTJMak01TWlBeE9DQXhOaTR3T1RKMkxUUXVOelExV2lJdlBqeHdZWFJvSUdacGJHdzlJblZ5YkNnalppa2lJR1E5SWswek1DQXpOaTQyTlROak5DNDNNeTB5TGpJME55QTRMVGN1TURZNElEZ3RNVEl1TmpVeklEQXROUzQxT0RVdE15NHlOeTB4TUM0ME1EWXRPQzB4TWk0Mk5UTjJNVEl1TnpRMVl6QWdMak1nTUNBdU5UWTFMUzR3TkRjdU9ESTVMUzR3TkM0eU16SXRMakV4TGpRMU9DMHVNakEwTGpZM05DMHVNVEEzTGpJME5TMHVNalUwTGpRMk5TMHVOREl1TnpFMWJDMHVPVEExSURFdU16VTNZVFl1T0RZZ05pNDROaUF3SURBZ01DMHVNakV5TGpNeU4wd3lPQzR5TVNBeU9Hd3VNREF6TGpBd05tTXVNRE01TGpBMk55NHdPVGd1TVRVMkxqSXhNaTR6TWpkc0xqa3dOQ0F4TGpNMU4yTXVNVFkzTGpJMUxqTXhOQzQwTnk0ME1qRXVOekUxTGpBNU5TNHlNVFl1TVRZekxqUTBNaTR5TURRdU5qYzBMakEwTnk0eU5qUXVNRFEzTGpVeU9TNHdORGN1T0RJNWRqUXVOelExV2lJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpJaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRJd0xqQTVNaUF6T1M0M09ESmhNaUF5SURBZ01DQXhMUzQ0TnpRdExqZzNORU14T1NBek9DNDBPQ0F4T1NBek55NDVNaUF4T1NBek5pNDRWakl6TGprMk9XTXdMUzR6TmlBd0xTNDFOQzR3TXpFdExqY3hOQzR3TWpndExqRTFOUzR3TnpNdExqTXdOaTR4TXpZdExqUTFMakEzTFM0eE5qSXVNVGN0TGpNeE1TNHpOeTB1TmpFeGJDNDROekV0TVM0ek1EWmpMakl4TkMwdU16SXhMak15TVMwdU5EZ3lMak0yTXkwdU5qVTFZVEVnTVNBd0lEQWdNQ0F3TFM0ME5qWmpMUzR3TkRJdExqRTNNeTB1TVRRNUxTNHpNelF0TGpNMk15MHVOalUwYkMwdU9EY3RNUzR6TURkakxTNHlMUzR6TFM0ekxTNDBOUzB1TXpjdExqWXhNV0V4TGprNU9DQXhMams1T0NBd0lEQWdNUzB1TVRNM0xTNDBOV010TGpBekxTNHhOelF0TGpBekxTNHpOVFF0TGpBekxTNDNNVFJXTVRFdU1tTXdMVEV1TVRJZ01DMHhMalk0TGpJeE55MHlMakV3T0dFeUlESWdNQ0F3SURFZ0xqZzNOQzB1T0RjMFF6SXdMalV5SURnZ01qRXVNRGdnT0NBeU1pNHlJRGhvTXk0Mll6RXVNVElnTUNBeExqWTRJREFnTWk0eE1EZ3VNakU0WVRJZ01pQXdJREFnTVNBdU9EYzBMamczTkVNeU9TQTVMalV5SURJNUlERXdMakE0SURJNUlERXhMakoyTVRJdU9ETXhZekFnTGpNMklEQWdMalUwTFM0d016RXVOekUwWVRFdU9UazRJREV1T1RrNElEQWdNQ0F4TFM0eE16WXVORFZqTFM0d055NHhOakl0TGpFM0xqTXhNUzB1TXpjdU5qRXhiQzB1T0RjeElERXVNekEyWXkwdU1qRTBMak15TVMwdU16SXhMalE0TWkwdU16WXpMalkxTldFeElERWdNQ0F3SURBZ01DQXVORFkyWXk0d05ESXVNVGN6TGpFME9TNHpNelF1TXpZekxqWTFOR3d1T0RjZ01TNHpNRGRqTGpJdU15NHpMalExTGpNM01TNDJNVEV1TURZekxqRTBOQzR4TURrdU1qazFMakV6Tmk0ME5TNHdNekV1TVRjMExqQXpNUzR6TlRRdU1ETXhMamN4TkZZek5pNDRZekFnTVM0eE1pQXdJREV1TmpndExqSXhPQ0F5TGpFd09HRXlJRElnTUNBd0lERXRMamczTkM0NE56UkRNamN1TkRnZ05EQWdNall1T1RJZ05EQWdNalV1T0NBME1HZ3RNeTQyWXkweExqRXlJREF0TVM0Mk9DQXdMVEl1TVRBNExTNHlNVGhhVFRFNUxqYzVNU0F5TUd3dExqQXdNeTB1TURBMllUWXVPRFlnTmk0NE5pQXdJREFnTUMwdU1qRXlMUzR6TWpkc0xTNDROeTB4TGpNd05pMHVNRE0wTFM0d05XTXRMakUyTnkwdU1qVXRMak14TkMwdU5EY3hMUzQwTWpFdExqY3hObUV6SURNZ01DQXdJREV0TGpJd05DMHVOamMwUXpFNElERTJMalkxTnlBeE9DQXhOaTR6T1RJZ01UZ2dNVFl1TURreWRpMDBMamt6WXpBdExqVXlPQ0F3TFM0NU9ESXVNRE10TVM0ek5UY3VNRE16TFM0ek9UVXVNVEEwTFM0M09Ea3VNamszTFRFdU1UWTNZVE1nTXlBd0lEQWdNU0F4TGpNeE1TMHhMak14TVdNdU16YzRMUzR4T1RNdU56Y3lMUzR5TmpRZ01TNHhOamN0TGpJNU5rTXlNUzR4T0NBM0lESXhMall6TlNBM0lESXlMakUyTWlBM2FETXVOamMzWXk0MU1qY2dNQ0F1T1RneUlEQWdNUzR6TlRZdU1ETXVNemsxTGpBek15NDNPRGt1TVRBMElERXVNVFkzTGpJNU4yRXpJRE1nTUNBd0lERWdNUzR6TVRFZ01TNHpNVEZqTGpFNU15NHpOemd1TWpZMExqYzNNaTR5T1RjZ01TNHhOamN1TURNdU16YzFMakF6TGpnekxqQXpJREV1TXpVM2RqRXlMamt6WXpBZ0xqTWdNQ0F1TlRZMUxTNHdORGN1T0RJNVlUTWdNeUF3SURBZ01TMHVNakF6TGpZM05HTXRMakV3T0M0eU5EVXRMakkxTlM0ME5qVXRMalF5TWk0M01UVXRMakF4TGpBeE55MHVNREl5TGpBek5DMHVNRE16TGpBMWJDMHVPRGN4SURFdU16QTNZVFl1T0RZZ05pNDROaUF3SURBZ01DMHVNakV4TGpNeU4yd3RMakF3TkM0d01EWXVNREEwTGpBd05tTXVNRE00TGpBMk55NHdPVGN1TVRVMkxqSXhMak15TjJ3dU9EY3lJREV1TXpBMkxqQXpNeTR3TldNdU1UWTNMakkxTGpNeE5DNDBOekV1TkRJeUxqY3hObUV6SURNZ01DQXdJREVnTGpJd015NDJOelJqTGpBME55NHlOalF1TURRM0xqVXlPUzR3TkRjdU9ESTVkalF1T1ROak1DQXVOVEk0SURBZ0xqazRNeTB1TURNZ01TNHpOVGN0TGpBek15NHpPVFV0TGpFd05DNDNPRGt0TGpJNU55QXhMakUyTjJFeklETWdNQ0F3SURFdE1TNHpNVEVnTVM0ek1URmpMUzR6TnpndU1Ua3pMUzQzTnpJdU1qWTBMVEV1TVRZM0xqSTVOaTB1TXpjMUxqQXpNUzB1T0RNdU1ETXhMVEV1TXpVMkxqQXpNV2d0TXk0Mk56ZGpMUzQxTWpnZ01DMHVPVGd5SURBdE1TNHpOVGN0TGpBekxTNHpPVFV0TGpBek15MHVOemc0TFM0eE1EUXRNUzR4TmpjdExqSTVOMkV6SURNZ01DQXdJREV0TVM0ek1URXRNUzR6TVRGakxTNHhPVE10TGpNM09DMHVNalkwTFM0M056SXRMakk1TmkweExqRTJOMkV4Tnk0eU15QXhOeTR5TXlBd0lEQWdNUzB1TURNdE1TNHpOVFoyTFRFeUxqZzNUREU0SURJekxqa3dPR013TFM0eklEQXRMalUyTlM0d05EY3RMamd5T1dFeklETWdNQ0F3SURFZ0xqSXdOQzB1TmpjMFl5NHhNRGN0TGpJME5TNHlOVFF0TGpRMk5TNDBNaTB1TnpFMWJDNHdNelF0TGpBMUxqZzNNUzB4TGpNd04yRTJMamcySURZdU9EWWdNQ0F3SURBZ0xqSXhNaTB1TXpJM1RERTVMamM1SURJd1dpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhsc1pUMGliV2w0TFdKc1pXNWtMVzF2WkdVNmIzWmxjbXhoZVNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpjaUlHUTlJazB4T1NBeE1TNHlZekF0TVM0eE1pQXdMVEV1TmpndU1qRTRMVEl1TVRBNFlUSWdNaUF3SURBZ01TQXVPRGMwTFM0NE56UkRNakF1TlRJZ09DQXlNUzR3T0NBNElESXlMaklnT0dnekxqWmpNUzR4TWlBd0lERXVOamdnTUNBeUxqRXdPQzR5TVRoaE1pQXlJREFnTUNBeElDNDROelF1T0RjMFF6STVJRGt1TlRJZ01qa2dNVEF1TURnZ01qa2dNVEV1TW5ZeE1pNDRNekZqTUNBdU16WWdNQ0F1TlRRdExqQXpNUzQzTVRSaE1pNHdNRE1nTWk0d01ETWdNQ0F3SURFdExqRXpOaTQwTldNdExqQTNMakUyTWkwdU1UY3VNekV4TFM0ek55NDJNVEZzTFM0NE56RWdNUzR6TURaakxTNHlNVFF1TXpJeExTNHpNakV1TkRneUxTNHpOak11TmpVMVlURWdNU0F3SURBZ01DQXdJQzQwTmpaakxqQTBNaTR4TnpNdU1UUTVMak16TkM0ek5qTXVOalUwYkM0NE55QXhMak13TjJNdU1pNHpMak11TkRVdU16Y3hMall4TVM0d05qTXVNVFEwTGpFd09DNHlPVFV1TVRNMkxqUTFMakF6TVM0eE56UXVNRE14TGpNMU5DNHdNekV1TnpFMFZqTTJMamhqTUNBeExqRXlJREFnTVM0Mk9DMHVNakU0SURJdU1UQTRZVElnTWlBd0lEQWdNUzB1T0RjMExqZzNORU15Tnk0ME9DQTBNQ0F5Tmk0NU1pQTBNQ0F5TlM0NElEUXdhQzB6TGpaakxURXVNVElnTUMweExqWTRJREF0TWk0eE1EZ3RMakl4T0dFeUlESWdNQ0F3SURFdExqZzNOQzB1T0RjMFF6RTVJRE00TGpRNElERTVJRE0zTGpreUlERTVJRE0yTGpoV01qTXVPVFk1WXpBdExqTTJJREF0TGpVMExqQXpNUzB1TnpFMExqQXlPQzB1TVRVMUxqQTNNeTB1TXpBMkxqRXpOaTB1TkRVdU1EY3RMakUyTWk0eE55MHVNekV4TGpNM0xTNDJNVEZzTGpnM01TMHhMak13Tm1NdU1qRTBMUzR6TWpFdU16SXhMUzQwT0RJdU16WXpMUzQyTlRWaE1TQXhJREFnTUNBd0lEQXRMalEyTm1NdExqQTBNaTB1TVRjekxTNHhORGt0TGpNek5DMHVNell6TFM0Mk5UUnNMUzQ0TnkweExqTXdOMk10TGpJdExqTXRMak10TGpRMUxTNHpOekV0TGpZeE1XRXlMakF3TXlBeUxqQXdNeUF3SURBZ01TMHVNVE0yTFM0ME5VTXhPU0F4Tmk0MU56RWdNVGtnTVRZdU16a3hJREU1SURFMkxqQXpNVll4TVM0eVdpSXZQanhrWldaelBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlZU0lnZURFOUlqSTBJaUI0TWowaU1qUWlJSGt4UFNJd0lpQjVNajBpTkRnaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTVRjME1qazVJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJak1EQXhSVFU1SWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUltSWlJSGd4UFNJeU5DSWdlREk5SWpJMElpQjVNVDBpTUNJZ2VUSTlJalE0SWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFF5UkRoRk5DSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSTBNeVF6bEVOaUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbElpQjRNVDBpTWpRaUlIZ3lQU0l5TkNJZ2VURTlJakV3SWlCNU1qMGlNemdpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElqNDhjM1J2Y0NCemRHOXdMVzl3WVdOcGRIazlJaTR4TWlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l1TURRaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlaaUlnZURFOUlqSTBJaUI0TWowaU1qUWlJSGt4UFNJeE1DSWdlVEk5SWpNNElpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQWdjM1J2Y0MxdmNHRmphWFI1UFNJdU1USWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdGIzQmhZMmwwZVQwaUxqQTBJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4Y21Ga2FXRnNSM0poWkdsbGJuUWdhV1E5SW1NaUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbkp2ZEdGMFpTZ3ROREF1TURjM0lEWTVMamd4TlNBME9DNDJOalVwSUhOallXeGxLRGd5TGprd05EZ3BJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYjJabWMyVjBQU0l1TWpjMklpQnpkRzl3TFdOdmJHOXlQU0lqTWpCR1JqUkVJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVORFkwSWlCemRHOXdMV052Ykc5eVBTSWpNVFE1T1VaR0lpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU56VTFJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWTJSa00ySWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpRa00yTjBaR0lpOCtQQzl5WVdScFlXeEhjbUZrYVdWdWRENDhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbVFpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUluSnZkR0YwWlNnME5TQXlMalV5SUMwMkxqQTRNaWtnYzJOaGJHVW9Oamd1TmpjM055a2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNKeVpXUWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlNd01FRXpSa1lpTHo0OEwzSmhaR2xoYkVkeVlXUnBaVzUwUGp3dlpHVm1jejQ4TDNOMlp6ND1cIjtcbmV4cG9ydCB7XG4gIGxvZ2luX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/login-ZSMM5UYL.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js.js deleted file mode 100644 index 67a8403..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/metaMaskWallet-ORHUNQRP.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/metaMaskWallet-ORHUNQRP.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ metaMaskWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.svg\nvar metaMaskWallet_default = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjQuMDg5MSAzLjExOTlMMTUuMzQ0NiA5LjYxNDU2TDE2Ljk2MTcgNS43ODI4TDI0LjA4OTEgMy4xMTk5WiIgZmlsbD0iI0UyNzYxQiIgc3Ryb2tlPSIjRTI3NjFCIiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0zLjkwMjA3IDMuMTE5OUwxMi41NzYzIDkuNjc2MDhMMTEuMDM4MyA1Ljc4MjhMMy45MDIwNyAzLjExOTlaIiBmaWxsPSIjRTQ3NjFCIiBzdHJva2U9IiNFNDc2MUIiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTIwLjk0MjkgMTguMTc0NUwxOC42MTM5IDIxLjc0MjZMMjMuNTk3IDIzLjExMzZMMjUuMDI5NSAxOC4yNTM2TDIwLjk0MjkgMTguMTc0NVoiIGZpbGw9IiNFNDc2MUIiIHN0cm9rZT0iI0U0NzYxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMi45NzkyOSAxOC4yNTM2TDQuNDAzMDEgMjMuMTEzNkw5LjM4NjA3IDIxLjc0MjZMNy4wNTcxMyAxOC4xNzQ1TDIuOTc5MjkgMTguMjUzNloiIGZpbGw9IiNFNDc2MUIiIHN0cm9rZT0iI0U0NzYxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNOS4xMDQ4MyAxMi4xNDU2TDcuNzE2MjYgMTQuMjQ2MUwxMi42NjQyIDE0LjQ2NThMMTIuNDg4NCA5LjE0ODc3TDkuMTA0ODMgMTIuMTQ1NloiIGZpbGw9IiNFNDc2MUIiIHN0cm9rZT0iI0U0NzYxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTguODg2NCAxMi4xNDU2TDE1LjQ1ODkgOS4wODcyNUwxNS4zNDQ2IDE0LjQ2NThMMjAuMjgzNyAxNC4yNDYxTDE4Ljg4NjQgMTIuMTQ1NloiIGZpbGw9IiNFNDc2MUIiIHN0cm9rZT0iI0U0NzYxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNOS4zODYwNiAyMS43NDI2TDEyLjM1NjYgMjAuMjkyNUw5Ljc5MDMzIDE4LjI4ODhMOS4zODYwNiAyMS43NDI2WiIgZmlsbD0iI0U0NzYxQiIgc3Ryb2tlPSIjRTQ3NjFCIiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNS42MzQ3IDIwLjI5MjVMMTguNjEzOSAyMS43NDI2TDE4LjIwMDkgMTguMjg4OEwxNS42MzQ3IDIwLjI5MjVaIiBmaWxsPSIjRTQ3NjFCIiBzdHJva2U9IiNFNDc2MUIiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE4LjYxMzkgMjEuNzQyNkwxNS42MzQ3IDIwLjI5MjVMMTUuODcxOSAyMi4yMzQ4TDE1Ljg0NTYgMjMuMDUyMUwxOC42MTM5IDIxLjc0MjZaIiBmaWxsPSIjRDdDMUIzIiBzdHJva2U9IiNEN0MxQjMiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTkuMzg2MDYgMjEuNzQyNkwxMi4xNTQ0IDIzLjA1MjFMMTIuMTM2OCAyMi4yMzQ4TDEyLjM1NjYgMjAuMjkyNUw5LjM4NjA2IDIxLjc0MjZaIiBmaWxsPSIjRDdDMUIzIiBzdHJva2U9IiNEN0MxQjMiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEyLjE5ODQgMTcuMDA1Nkw5LjcyMDAyIDE2LjI3NjJMMTEuNDY4OSAxNS40NzY1TDEyLjE5ODQgMTcuMDA1NloiIGZpbGw9IiMyMzM0NDciIHN0cm9rZT0iIzIzMzQ0NyIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTUuNzkyOCAxNy4wMDU2TDE2LjUyMjMgMTUuNDc2NUwxOC4yOCAxNi4yNzYyTDE1Ljc5MjggMTcuMDA1NloiIGZpbGw9IiMyMzM0NDciIHN0cm9rZT0iIzIzMzQ0NyIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNOS4zODYwNiAyMS43NDI2TDkuODA3OTEgMTguMTc0NUw3LjA1NzEyIDE4LjI1MzZMOS4zODYwNiAyMS43NDI2WiIgZmlsbD0iI0NENjExNiIgc3Ryb2tlPSIjQ0Q2MTE2IiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xOC4xOTIxIDE4LjE3NDVMMTguNjEzOSAyMS43NDI2TDIwLjk0MjkgMTguMjUzNkwxOC4xOTIxIDE4LjE3NDVaIiBmaWxsPSIjQ0Q2MTE2IiBzdHJva2U9IiNDRDYxMTYiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTIwLjI4MzcgMTQuMjQ2MUwxNS4zNDQ2IDE0LjQ2NThMMTUuODAxNiAxNy4wMDU3TDE2LjUzMTEgMTUuNDc2NUwxOC4yODg4IDE2LjI3NjJMMjAuMjgzNyAxNC4yNDYxWiIgZmlsbD0iI0NENjExNiIgc3Ryb2tlPSIjQ0Q2MTE2IiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik05LjcyMDAyIDE2LjI3NjJMMTEuNDc3NyAxNS40NzY1TDEyLjE5ODQgMTcuMDA1N0wxMi42NjQyIDE0LjQ2NThMNy43MTYyNiAxNC4yNDYxTDkuNzIwMDIgMTYuMjc2MloiIGZpbGw9IiNDRDYxMTYiIHN0cm9rZT0iI0NENjExNiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNNy43MTYyNiAxNC4yNDYxTDkuNzkwMzMgMTguMjg4OEw5LjcyMDAyIDE2LjI3NjJMNy43MTYyNiAxNC4yNDYxWiIgZmlsbD0iI0U0NzUxRiIgc3Ryb2tlPSIjRTQ3NTFGIiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xOC4yODg4IDE2LjI3NjJMMTguMjAwOSAxOC4yODg4TDIwLjI4MzcgMTQuMjQ2MUwxOC4yODg4IDE2LjI3NjJaIiBmaWxsPSIjRTQ3NTFGIiBzdHJva2U9IiNFNDc1MUYiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEyLjY2NDIgMTQuNDY1OEwxMi4xOTg0IDE3LjAwNTdMMTIuNzc4NCAyMC4wMDI1TDEyLjkxMDIgMTYuMDU2NUwxMi42NjQyIDE0LjQ2NThaIiBmaWxsPSIjRTQ3NTFGIiBzdHJva2U9IiNFNDc1MUYiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE1LjM0NDYgMTQuNDY1OEwxNS4xMDczIDE2LjA0NzdMMTUuMjEyOCAyMC4wMDI1TDE1LjgwMTYgMTcuMDA1N0wxNS4zNDQ2IDE0LjQ2NThaIiBmaWxsPSIjRTQ3NTFGIiBzdHJva2U9IiNFNDc1MUYiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE1LjgwMTYgMTcuMDA1NkwxNS4yMTI4IDIwLjAwMjVMMTUuNjM0NyAyMC4yOTI1TDE4LjIwMDkgMTguMjg4OEwxOC4yODg4IDE2LjI3NjJMMTUuODAxNiAxNy4wMDU2WiIgZmlsbD0iI0Y2ODUxQiIgc3Ryb2tlPSIjRjY4NTFCIiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik05LjcyMDAyIDE2LjI3NjJMOS43OTAzMyAxOC4yODg4TDEyLjM1NjYgMjAuMjkyNUwxMi43Nzg0IDIwLjAwMjVMMTIuMTk4NCAxNy4wMDU2TDkuNzIwMDIgMTYuMjc2MloiIGZpbGw9IiNGNjg1MUIiIHN0cm9rZT0iI0Y2ODUxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTUuODQ1NiAyMy4wNTIxTDE1Ljg3MTkgMjIuMjM0OEwxNS42NTIyIDIyLjA0MTRIMTIuMzM5TDEyLjEzNjggMjIuMjM0OEwxMi4xNTQ0IDIzLjA1MjFMOS4zODYwNiAyMS43NDI2TDEwLjM1MjggMjIuNTMzNkwxMi4zMTI2IDIzLjg5NThIMTUuNjc4NkwxNy42NDcyIDIyLjUzMzZMMTguNjEzOSAyMS43NDI2TDE1Ljg0NTYgMjMuMDUyMVoiIGZpbGw9IiNDMEFEOUUiIHN0cm9rZT0iI0MwQUQ5RSIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTUuNjM0NyAyMC4yOTI1TDE1LjIxMjggMjAuMDAyNUgxMi43Nzg0TDEyLjM1NjYgMjAuMjkyNUwxMi4xMzY4IDIyLjIzNDhMMTIuMzM5IDIyLjA0MTRIMTUuNjUyMkwxNS44NzE5IDIyLjIzNDhMMTUuNjM0NyAyMC4yOTI1WiIgZmlsbD0iIzE2MTYxNiIgc3Ryb2tlPSIjMTYxNjE2IiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yNC40NTgzIDEwLjAzNjRMMjUuMjA1MyA2LjQ1MDcyTDI0LjA4OTEgMy4xMTk5TDE1LjYzNDcgOS4zOTQ4NUwxOC44ODY0IDEyLjE0NTZMMjMuNDgyNyAxMy40OTAzTDI0LjUwMjIgMTIuMzAzOEwyNC4wNjI4IDExLjk4NzRMMjQuNzY1OCAxMS4zNDU5TDI0LjIyMSAxMC45MjRMMjQuOTI0IDEwLjM4NzlMMjQuNDU4MyAxMC4wMzY0WiIgZmlsbD0iIzc2M0QxNiIgc3Ryb2tlPSIjNzYzRDE2IiBzdHJva2Utd2lkdGg9IjAuMDg3ODg0NSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yLjc5NDcyIDYuNDUwNzJMMy41NDE3NCAxMC4wMzY0TDMuMDY3MTcgMTAuMzg3OUwzLjc3MDI0IDEwLjkyNEwzLjIzNDE1IDExLjM0NTlMMy45MzcyMiAxMS45ODc0TDMuNDk3OCAxMi4zMDM4TDQuNTA4NDcgMTMuNDkwM0w5LjEwNDgzIDEyLjE0NTZMMTIuMzU2NiA5LjM5NDg1TDMuOTAyMDcgMy4xMTk5TDIuNzk0NzIgNi40NTA3MloiIGZpbGw9IiM3NjNEMTYiIHN0cm9rZT0iIzc2M0QxNiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjMuNDgyNyAxMy40OTAzTDE4Ljg4NjQgMTIuMTQ1NkwyMC4yODM3IDE0LjI0NjFMMTguMjAwOSAxOC4yODg4TDIwLjk0MjkgMTguMjUzNkgyNS4wMjk1TDIzLjQ4MjcgMTMuNDkwM1oiIGZpbGw9IiNGNjg1MUIiIHN0cm9rZT0iI0Y2ODUxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNOS4xMDQ4NCAxMi4xNDU2TDQuNTA4NDggMTMuNDkwM0wyLjk3OTI5IDE4LjI1MzZINy4wNTcxM0w5Ljc5MDMzIDE4LjI4ODhMNy43MTYyNiAxNC4yNDYxTDkuMTA0ODQgMTIuMTQ1NloiIGZpbGw9IiNGNjg1MUIiIHN0cm9rZT0iI0Y2ODUxQiIgc3Ryb2tlLXdpZHRoPSIwLjA4Nzg4NDUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTUuMzQ0NiAxNC40NjU4TDE1LjYzNDcgOS4zOTQ4NUwxNi45NzA1IDUuNzgyOEgxMS4wMzgzTDEyLjM1NjYgOS4zOTQ4NUwxMi42NjQyIDE0LjQ2NThMMTIuNzY5NiAxNi4wNjUzTDEyLjc3ODQgMjAuMDAyNUgxNS4yMTI4TDE1LjIzMDQgMTYuMDY1M0wxNS4zNDQ2IDE0LjQ2NThaIiBmaWxsPSIjRjY4NTFCIiBzdHJva2U9IiNGNjg1MUIiIHN0cm9rZS13aWR0aD0iMC4wODc4ODQ1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L21ldGFNYXNrV2FsbGV0LU9SSFVOUVJQLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsaURBQWlEO0FBRy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvbWV0YU1hc2tXYWxsZXQtT1JIVU5RUlAuanM/YWRhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy93YWxsZXRzL3dhbGxldENvbm5lY3RvcnMvbWV0YU1hc2tXYWxsZXQvbWV0YU1hc2tXYWxsZXQuc3ZnXG52YXIgbWV0YU1hc2tXYWxsZXRfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpnaUlHaGxhV2RvZEQwaU1qZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeU9DQXlPQ0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BISmxZM1FnZDJsa2RHZzlJakk0SWlCb1pXbG5hSFE5SWpJNElpQm1hV3hzUFNKM2FHbDBaU0l2UGdvOGNHRjBhQ0JrUFNKTk1qUXVNRGc1TVNBekxqRXhPVGxNTVRVdU16UTBOaUE1TGpZeE5EVTJUREUyTGprMk1UY2dOUzQzT0RJNFRESTBMakE0T1RFZ015NHhNVGs1V2lJZ1ptbHNiRDBpSTBVeU56WXhRaUlnYzNSeWIydGxQU0lqUlRJM05qRkNJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqQXVNRGczT0RnME5TSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5KdmRXNWtJaTgrQ2p4d1lYUm9JR1E5SWswekxqa3dNakEzSURNdU1URTVPVXd4TWk0MU56WXpJRGt1TmpjMk1EaE1NVEV1TURNNE15QTFMamM0TWpoTU15NDVNREl3TnlBekxqRXhPVGxhSWlCbWFXeHNQU0lqUlRRM05qRkNJaUJ6ZEhKdmEyVTlJaU5GTkRjMk1VSWlJSE4wY205clpTMTNhV1IwYUQwaU1DNHdPRGM0T0RRMUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlMejRLUEhCaGRHZ2daRDBpVFRJd0xqazBNamtnTVRndU1UYzBOVXd4T0M0Mk1UTTVJREl4TGpjME1qWk1Nak11TlRrM0lESXpMakV4TXpaTU1qVXVNREk1TlNBeE9DNHlOVE0yVERJd0xqazBNamtnTVRndU1UYzBOVm9pSUdacGJHdzlJaU5GTkRjMk1VSWlJSE4wY205clpUMGlJMFUwTnpZeFFpSWdjM1J5YjJ0bExYZHBaSFJvUFNJd0xqQTROemc0TkRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p5YjNWdVpDSXZQZ284Y0dGMGFDQmtQU0pOTWk0NU56a3lPU0F4T0M0eU5UTTJURFF1TkRBek1ERWdNak11TVRFek5rdzVMak00TmpBM0lESXhMamMwTWpaTU55NHdOVGN4TXlBeE9DNHhOelExVERJdU9UYzVNamtnTVRndU1qVXpObG9pSUdacGJHdzlJaU5GTkRjMk1VSWlJSE4wY205clpUMGlJMFUwTnpZeFFpSWdjM1J5YjJ0bExYZHBaSFJvUFNJd0xqQTROemc0TkRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p5YjNWdVpDSXZQZ284Y0dGMGFDQmtQU0pOT1M0eE1EUTRNeUF4TWk0eE5EVTJURGN1TnpFMk1qWWdNVFF1TWpRMk1Vd3hNaTQyTmpReUlERTBMalEyTlRoTU1USXVORGc0TkNBNUxqRTBPRGMzVERrdU1UQTBPRE1nTVRJdU1UUTFObG9pSUdacGJHdzlJaU5GTkRjMk1VSWlJSE4wY205clpUMGlJMFUwTnpZeFFpSWdjM1J5YjJ0bExYZHBaSFJvUFNJd0xqQTROemc0TkRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p5YjNWdVpDSXZQZ284Y0dGMGFDQmtQU0pOTVRndU9EZzJOQ0F4TWk0eE5EVTJUREUxTGpRMU9Ea2dPUzR3T0RjeU5Vd3hOUzR6TkRRMklERTBMalEyTlRoTU1qQXVNamd6TnlBeE5DNHlORFl4VERFNExqZzROalFnTVRJdU1UUTFObG9pSUdacGJHdzlJaU5GTkRjMk1VSWlJSE4wY205clpUMGlJMFUwTnpZeFFpSWdjM1J5YjJ0bExYZHBaSFJvUFNJd0xqQTROemc0TkRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p5YjNWdVpDSXZQZ284Y0dGMGFDQmtQU0pOT1M0ek9EWXdOaUF5TVM0M05ESTJUREV5TGpNMU5qWWdNakF1TWpreU5VdzVMamM1TURNeklERTRMakk0T0RoTU9TNHpPRFl3TmlBeU1TNDNOREkyV2lJZ1ptbHNiRDBpSTBVME56WXhRaUlnYzNSeWIydGxQU0lqUlRRM05qRkNJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqQXVNRGczT0RnME5TSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5KdmRXNWtJaTgrQ2p4d1lYUm9JR1E5SWsweE5TNDJNelEzSURJd0xqSTVNalZNTVRndU5qRXpPU0F5TVM0M05ESTJUREU0TGpJd01Ea2dNVGd1TWpnNE9Fd3hOUzQyTXpRM0lESXdMakk1TWpWYUlpQm1hV3hzUFNJalJUUTNOakZDSWlCemRISnZhMlU5SWlORk5EYzJNVUlpSUhOMGNtOXJaUzEzYVdSMGFEMGlNQzR3T0RjNE9EUTFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpTHo0S1BIQmhkR2dnWkQwaVRURTRMall4TXprZ01qRXVOelF5Tmt3eE5TNDJNelEzSURJd0xqSTVNalZNTVRVdU9EY3hPU0F5TWk0eU16UTRUREUxTGpnME5UWWdNak11TURVeU1Vd3hPQzQyTVRNNUlESXhMamMwTWpaYUlpQm1hV3hzUFNJalJEZERNVUl6SWlCemRISnZhMlU5SWlORU4wTXhRak1pSUhOMGNtOXJaUzEzYVdSMGFEMGlNQzR3T0RjNE9EUTFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpTHo0S1BIQmhkR2dnWkQwaVRUa3VNemcyTURZZ01qRXVOelF5Tmt3eE1pNHhOVFEwSURJekxqQTFNakZNTVRJdU1UTTJPQ0F5TWk0eU16UTRUREV5TGpNMU5qWWdNakF1TWpreU5VdzVMak00TmpBMklESXhMamMwTWpaYUlpQm1hV3hzUFNJalJEZERNVUl6SWlCemRISnZhMlU5SWlORU4wTXhRak1pSUhOMGNtOXJaUzEzYVdSMGFEMGlNQzR3T0RjNE9EUTFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpTHo0S1BIQmhkR2dnWkQwaVRURXlMakU1T0RRZ01UY3VNREExTmt3NUxqY3lNREF5SURFMkxqSTNOakpNTVRFdU5EWTRPU0F4TlM0ME56WTFUREV5TGpFNU9EUWdNVGN1TURBMU5sb2lJR1pwYkd3OUlpTXlNek0wTkRjaUlITjBjbTlyWlQwaUl6SXpNelEwTnlJZ2MzUnliMnRsTFhkcFpIUm9QU0l3TGpBNE56ZzRORFVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnliM1Z1WkNJdlBnbzhjR0YwYUNCa1BTSk5NVFV1TnpreU9DQXhOeTR3TURVMlRERTJMalV5TWpNZ01UVXVORGMyTlV3eE9DNHlPQ0F4Tmk0eU56WXlUREUxTGpjNU1qZ2dNVGN1TURBMU5sb2lJR1pwYkd3OUlpTXlNek0wTkRjaUlITjBjbTlyWlQwaUl6SXpNelEwTnlJZ2MzUnliMnRsTFhkcFpIUm9QU0l3TGpBNE56ZzRORFVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnliM1Z1WkNJdlBnbzhjR0YwYUNCa1BTSk5PUzR6T0RZd05pQXlNUzQzTkRJMlREa3VPREEzT1RFZ01UZ3VNVGMwTlV3M0xqQTFOekV5SURFNExqSTFNelpNT1M0ek9EWXdOaUF5TVM0M05ESTJXaUlnWm1sc2JEMGlJME5FTmpFeE5pSWdjM1J5YjJ0bFBTSWpRMFEyTVRFMklpQnpkSEp2YTJVdGQybGtkR2c5SWpBdU1EZzNPRGcwTlNJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbkp2ZFc1a0lpOCtDanh3WVhSb0lHUTlJazB4T0M0eE9USXhJREU0TGpFM05EVk1NVGd1TmpFek9TQXlNUzQzTkRJMlRESXdMamswTWprZ01UZ3VNalV6Tmt3eE9DNHhPVEl4SURFNExqRTNORFZhSWlCbWFXeHNQU0lqUTBRMk1URTJJaUJ6ZEhKdmEyVTlJaU5EUkRZeE1UWWlJSE4wY205clpTMTNhV1IwYUQwaU1DNHdPRGM0T0RRMUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlMejRLUEhCaGRHZ2daRDBpVFRJd0xqSTRNemNnTVRRdU1qUTJNVXd4TlM0ek5EUTJJREUwTGpRMk5UaE1NVFV1T0RBeE5pQXhOeTR3TURVM1RERTJMalV6TVRFZ01UVXVORGMyTlV3eE9DNHlPRGc0SURFMkxqSTNOakpNTWpBdU1qZ3pOeUF4TkM0eU5EWXhXaUlnWm1sc2JEMGlJME5FTmpFeE5pSWdjM1J5YjJ0bFBTSWpRMFEyTVRFMklpQnpkSEp2YTJVdGQybGtkR2c5SWpBdU1EZzNPRGcwTlNJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbkp2ZFc1a0lpOCtDanh3WVhSb0lHUTlJazA1TGpjeU1EQXlJREUyTGpJM05qSk1NVEV1TkRjM055QXhOUzQwTnpZMVRERXlMakU1T0RRZ01UY3VNREExTjB3eE1pNDJOalF5SURFMExqUTJOVGhNTnk0M01UWXlOaUF4TkM0eU5EWXhURGt1TnpJd01ESWdNVFl1TWpjMk1sb2lJR1pwYkd3OUlpTkRSRFl4TVRZaUlITjBjbTlyWlQwaUkwTkVOakV4TmlJZ2MzUnliMnRsTFhkcFpIUm9QU0l3TGpBNE56ZzRORFVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnliM1Z1WkNJdlBnbzhjR0YwYUNCa1BTSk5OeTQzTVRZeU5pQXhOQzR5TkRZeFREa3VOemt3TXpNZ01UZ3VNamc0T0V3NUxqY3lNREF5SURFMkxqSTNOakpNTnk0M01UWXlOaUF4TkM0eU5EWXhXaUlnWm1sc2JEMGlJMFUwTnpVeFJpSWdjM1J5YjJ0bFBTSWpSVFEzTlRGR0lpQnpkSEp2YTJVdGQybGtkR2c5SWpBdU1EZzNPRGcwTlNJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbkp2ZFc1a0lpOCtDanh3WVhSb0lHUTlJazB4T0M0eU9EZzRJREUyTGpJM05qSk1NVGd1TWpBd09TQXhPQzR5T0RnNFRESXdMakk0TXpjZ01UUXVNalEyTVV3eE9DNHlPRGc0SURFMkxqSTNOakphSWlCbWFXeHNQU0lqUlRRM05URkdJaUJ6ZEhKdmEyVTlJaU5GTkRjMU1VWWlJSE4wY205clpTMTNhV1IwYUQwaU1DNHdPRGM0T0RRMUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlMejRLUEhCaGRHZ2daRDBpVFRFeUxqWTJORElnTVRRdU5EWTFPRXd4TWk0eE9UZzBJREUzTGpBd05UZE1NVEl1TnpjNE5DQXlNQzR3TURJMVRERXlMamt4TURJZ01UWXVNRFUyTlV3eE1pNDJOalF5SURFMExqUTJOVGhhSWlCbWFXeHNQU0lqUlRRM05URkdJaUJ6ZEhKdmEyVTlJaU5GTkRjMU1VWWlJSE4wY205clpTMTNhV1IwYUQwaU1DNHdPRGM0T0RRMUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlMejRLUEhCaGRHZ2daRDBpVFRFMUxqTTBORFlnTVRRdU5EWTFPRXd4TlM0eE1EY3pJREUyTGpBME56ZE1NVFV1TWpFeU9DQXlNQzR3TURJMVRERTFMamd3TVRZZ01UY3VNREExTjB3eE5TNHpORFEySURFMExqUTJOVGhhSWlCbWFXeHNQU0lqUlRRM05URkdJaUJ6ZEhKdmEyVTlJaU5GTkRjMU1VWWlJSE4wY205clpTMTNhV1IwYUQwaU1DNHdPRGM0T0RRMUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlMejRLUEhCaGRHZ2daRDBpVFRFMUxqZ3dNVFlnTVRjdU1EQTFOa3d4TlM0eU1USTRJREl3TGpBd01qVk1NVFV1TmpNME55QXlNQzR5T1RJMVRERTRMakl3TURrZ01UZ3VNamc0T0V3eE9DNHlPRGc0SURFMkxqSTNOakpNTVRVdU9EQXhOaUF4Tnk0d01EVTJXaUlnWm1sc2JEMGlJMFkyT0RVeFFpSWdjM1J5YjJ0bFBTSWpSalk0TlRGQ0lpQnpkSEp2YTJVdGQybGtkR2c5SWpBdU1EZzNPRGcwTlNJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbkp2ZFc1a0lpOCtDanh3WVhSb0lHUTlJazA1TGpjeU1EQXlJREUyTGpJM05qSk1PUzQzT1RBek15QXhPQzR5T0RnNFRERXlMak0xTmpZZ01qQXVNamt5TlV3eE1pNDNOemcwSURJd0xqQXdNalZNTVRJdU1UazROQ0F4Tnk0d01EVTJURGt1TnpJd01ESWdNVFl1TWpjMk1sb2lJR1pwYkd3OUlpTkdOamcxTVVJaUlITjBjbTlyWlQwaUkwWTJPRFV4UWlJZ2MzUnliMnRsTFhkcFpIUm9QU0l3TGpBNE56ZzRORFVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnliM1Z1WkNJdlBnbzhjR0YwYUNCa1BTSk5NVFV1T0RRMU5pQXlNeTR3TlRJeFRERTFMamczTVRrZ01qSXVNak0wT0V3eE5TNDJOVEl5SURJeUxqQTBNVFJJTVRJdU16TTVUREV5TGpFek5qZ2dNakl1TWpNME9Fd3hNaTR4TlRRMElESXpMakExTWpGTU9TNHpPRFl3TmlBeU1TNDNOREkyVERFd0xqTTFNamdnTWpJdU5UTXpOa3d4TWk0ek1USTJJREl6TGpnNU5UaElNVFV1TmpjNE5rd3hOeTQyTkRjeUlESXlMalV6TXpaTU1UZ3VOakV6T1NBeU1TNDNOREkyVERFMUxqZzBOVFlnTWpNdU1EVXlNVm9pSUdacGJHdzlJaU5ETUVGRU9VVWlJSE4wY205clpUMGlJME13UVVRNVJTSWdjM1J5YjJ0bExYZHBaSFJvUFNJd0xqQTROemc0TkRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p5YjNWdVpDSXZQZ284Y0dGMGFDQmtQU0pOTVRVdU5qTTBOeUF5TUM0eU9USTFUREUxTGpJeE1qZ2dNakF1TURBeU5VZ3hNaTQzTnpnMFRERXlMak0xTmpZZ01qQXVNamt5TlV3eE1pNHhNelk0SURJeUxqSXpORGhNTVRJdU16TTVJREl5TGpBME1UUklNVFV1TmpVeU1rd3hOUzQ0TnpFNUlESXlMakl6TkRoTU1UVXVOak0wTnlBeU1DNHlPVEkxV2lJZ1ptbHNiRDBpSXpFMk1UWXhOaUlnYzNSeWIydGxQU0lqTVRZeE5qRTJJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqQXVNRGczT0RnME5TSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5KdmRXNWtJaTgrQ2p4d1lYUm9JR1E5SWsweU5DNDBOVGd6SURFd0xqQXpOalJNTWpVdU1qQTFNeUEyTGpRMU1EY3lUREkwTGpBNE9URWdNeTR4TVRrNVRERTFMall6TkRjZ09TNHpPVFE0TlV3eE9DNDRPRFkwSURFeUxqRTBOVFpNTWpNdU5EZ3lOeUF4TXk0ME9UQXpUREkwTGpVd01qSWdNVEl1TXpBek9Fd3lOQzR3TmpJNElERXhMams0TnpSTU1qUXVOelkxT0NBeE1TNHpORFU1VERJMExqSXlNU0F4TUM0NU1qUk1NalF1T1RJMElERXdMak00TnpsTU1qUXVORFU0TXlBeE1DNHdNelkwV2lJZ1ptbHNiRDBpSXpjMk0wUXhOaUlnYzNSeWIydGxQU0lqTnpZelJERTJJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqQXVNRGczT0RnME5TSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW5KdmRXNWtJaTgrQ2p4d1lYUm9JR1E5SWsweUxqYzVORGN5SURZdU5EVXdOekpNTXk0MU5ERTNOQ0F4TUM0d016WTBURE11TURZM01UY2dNVEF1TXpnM09Vd3pMamMzTURJMElERXdMamt5TkV3ekxqSXpOREUxSURFeExqTTBOVGxNTXk0NU16Y3lNaUF4TVM0NU9EYzBURE11TkRrM09DQXhNaTR6TURNNFREUXVOVEE0TkRjZ01UTXVORGt3TTB3NUxqRXdORGd6SURFeUxqRTBOVFpNTVRJdU16VTJOaUE1TGpNNU5EZzFURE11T1RBeU1EY2dNeTR4TVRrNVRESXVOemswTnpJZ05pNDBOVEEzTWxvaUlHWnBiR3c5SWlNM05qTkVNVFlpSUhOMGNtOXJaVDBpSXpjMk0wUXhOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXdMakE0TnpnNE5EVWlJSE4wY205clpTMXNhVzVsWTJGd1BTSnliM1Z1WkNJZ2MzUnliMnRsTFd4cGJtVnFiMmx1UFNKeWIzVnVaQ0l2UGdvOGNHRjBhQ0JrUFNKTk1qTXVORGd5TnlBeE15NDBPVEF6VERFNExqZzROalFnTVRJdU1UUTFOa3d5TUM0eU9ETTNJREUwTGpJME5qRk1NVGd1TWpBd09TQXhPQzR5T0RnNFRESXdMamswTWprZ01UZ3VNalV6TmtneU5TNHdNamsxVERJekxqUTRNamNnTVRNdU5Ea3dNMW9pSUdacGJHdzlJaU5HTmpnMU1VSWlJSE4wY205clpUMGlJMFkyT0RVeFFpSWdjM1J5YjJ0bExYZHBaSFJvUFNJd0xqQTROemc0TkRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p5YjNWdVpDSXZQZ284Y0dGMGFDQmtQU0pOT1M0eE1EUTROQ0F4TWk0eE5EVTJURFF1TlRBNE5EZ2dNVE11TkRrd00wd3lMamszT1RJNUlERTRMakkxTXpaSU55NHdOVGN4TTB3NUxqYzVNRE16SURFNExqSTRPRGhNTnk0M01UWXlOaUF4TkM0eU5EWXhURGt1TVRBME9EUWdNVEl1TVRRMU5sb2lJR1pwYkd3OUlpTkdOamcxTVVJaUlITjBjbTlyWlQwaUkwWTJPRFV4UWlJZ2MzUnliMnRsTFhkcFpIUm9QU0l3TGpBNE56ZzRORFVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnliM1Z1WkNJdlBnbzhjR0YwYUNCa1BTSk5NVFV1TXpRME5pQXhOQzQwTmpVNFRERTFMall6TkRjZ09TNHpPVFE0TlV3eE5pNDVOekExSURVdU56Z3lPRWd4TVM0d016Z3pUREV5TGpNMU5qWWdPUzR6T1RRNE5Vd3hNaTQyTmpReUlERTBMalEyTlRoTU1USXVOelk1TmlBeE5pNHdOalV6VERFeUxqYzNPRFFnTWpBdU1EQXlOVWd4TlM0eU1USTRUREUxTGpJek1EUWdNVFl1TURZMU0wd3hOUzR6TkRRMklERTBMalEyTlRoYUlpQm1hV3hzUFNJalJqWTROVEZDSWlCemRISnZhMlU5SWlOR05qZzFNVUlpSUhOMGNtOXJaUzEzYVdSMGFEMGlNQzR3T0RjNE9EUTFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpTHo0S1BDOXpkbWMrQ2c9PVwiO1xuZXhwb3J0IHtcbiAgbWV0YU1hc2tXYWxsZXRfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/metaMaskWallet-ORHUNQRP.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js.js deleted file mode 100644 index f002ad4..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/optimism-UUP5Y7TB.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/optimism-UUP5Y7TB.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ optimism_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/optimism.svg\nvar optimism_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjRkYzMTMxIiByeD0iMTQiLz48cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9InVybCgjYSkiIGZpbGwtb3BhY2l0eT0iLjMiIHJ4PSIxNCIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik05LjIyIDE4LjM1YzIuNyAwIDQuODYtMi4yIDQuODYtNS4zOCAwLTIuMTktMS40Ny0zLjgtMy45OC0zLjgtMi43MiAwLTQuODUgMi4yLTQuODUgNS4zOCAwIDIuMiAxLjUgMy44IDMuOTcgMy44Wm0uODMtNy4zNWMxLjA2IDAgMS43NC44MSAxLjc0IDIuMSAwIDEuOS0xLjExIDMuNDItMi41MSAzLjQyLTEuMDYgMC0xLjc0LS44Mi0xLjc0LTIuMSAwLTEuODkgMS4xMS0zLjQyIDIuNS0zLjQyWm02LjM4LTEuNjgtMS44OCA4Ljg4aDIuMjZsLjU1LTIuNmgxLjQ3YzIuNDMgMCA0LjAxLTEuMzggNC4wMS0zLjYgMC0xLjYxLTEuMTctMi42OC0zLjEtMi42OGgtMy4zWm0xLjkgMS43NGguOTRjLjgzIDAgMS4zLjM4IDEuMyAxLjE0IDAgMS0uNjggMS43LTEuNzQgMS43aC0xLjExbC42LTIuODRaIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMCIgeDI9IjE0IiB5MT0iMCIgeTI9IjI4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+Cg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L29wdGltaXNtLVVVUDVZN1RCLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsMkNBQTJDO0FBR3pDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3Qvb3B0aW1pc20tVVVQNVk3VEIuanM/ZDAxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci9jaGFpbkljb25zL29wdGltaXNtLnN2Z1xudmFyIG9wdGltaXNtX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU9DSWdhR1ZwWjJoMFBTSXlPQ0lnWm1sc2JEMGlibTl1WlNJK1BISmxZM1FnZDJsa2RHZzlJakk0SWlCb1pXbG5hSFE5SWpJNElpQm1hV3hzUFNJalJrWXpNVE14SWlCeWVEMGlNVFFpTHo0OGNtVmpkQ0IzYVdSMGFEMGlNamdpSUdobGFXZG9kRDBpTWpnaUlHWnBiR3c5SW5WeWJDZ2pZU2tpSUdacGJHd3RiM0JoWTJsMGVUMGlMak1pSUhKNFBTSXhOQ0l2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdROUlrMDVMakl5SURFNExqTTFZekl1TnlBd0lEUXVPRFl0TWk0eUlEUXVPRFl0TlM0ek9DQXdMVEl1TVRrdE1TNDBOeTB6TGpndE15NDVPQzB6TGpndE1pNDNNaUF3TFRRdU9EVWdNaTR5TFRRdU9EVWdOUzR6T0NBd0lESXVNaUF4TGpVZ015NDRJRE11T1RjZ015NDRXbTB1T0RNdE55NHpOV014TGpBMklEQWdNUzQzTkM0NE1TQXhMamMwSURJdU1TQXdJREV1T1MweExqRXhJRE11TkRJdE1pNDFNU0F6TGpReUxURXVNRFlnTUMweExqYzBMUzQ0TWkweExqYzBMVEl1TVNBd0xURXVPRGtnTVM0eE1TMHpMalF5SURJdU5TMHpMalF5V20wMkxqTTRMVEV1TmpndE1TNDRPQ0E0TGpnNGFESXVNalpzTGpVMUxUSXVObWd4TGpRM1l6SXVORE1nTUNBMExqQXhMVEV1TXpnZ05DNHdNUzB6TGpZZ01DMHhMall4TFRFdU1UY3RNaTQyT0MwekxqRXRNaTQyT0dndE15NHpXbTB4TGprZ01TNDNOR2d1T1RSakxqZ3pJREFnTVM0ekxqTTRJREV1TXlBeExqRTBJREFnTVMwdU5qZ2dNUzQzTFRFdU56UWdNUzQzYUMweExqRXhiQzQyTFRJdU9EUmFJaTgrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0poSWlCNE1UMGlNQ0lnZURJOUlqRTBJaUI1TVQwaU1DSWdlVEk5SWpJNElpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTJabVppSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSTJabVppSWdjM1J2Y0MxdmNHRmphWFI1UFNJd0lpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhMMlJsWm5NK1BDOXpkbWMrQ2c9PVwiO1xuZXhwb3J0IHtcbiAgb3B0aW1pc21fZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/optimism-UUP5Y7TB.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js.js deleted file mode 100644 index 6ff5738..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/polygon-Z4QITDL7.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/polygon-Z4QITDL7.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ polygon_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/polygon.svg\nvar polygon_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iQSIgeDE9Ii0xOC4yNzUlIiB4Mj0iODQuOTU5JSIgeTE9IjguMjE5JSIgeTI9IjcxLjM5MyUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNhMjI5YzUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3YjNmZTQiLz48L2xpbmVhckdyYWRpZW50PjxjaXJjbGUgaWQ9IkIiIGN4PSIxNCIgY3k9IjE0IiByPSIxNCIvPjwvZGVmcz48ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxtYXNrIGlkPSJDIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNCIi8+PC9tYXNrPjxnIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZmlsbD0idXJsKCNBKSIgZD0iTS0xLjMyNi0xLjMyNmgzMC42NTF2MzAuNjUxSC0xLjMyNnoiIG1hc2s9InVybCgjQykiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTguMDQ5IDE3LjAyMWwzLjk2LTIuMjg3YS42ODEuNjgxIDAgMCAwIC4zNC0uNTg5VjkuNTcyYS42ODMuNjgzIDAgMCAwLS4zNC0uNTlsLTMuOTYtMi4yODZhLjY4Mi42ODIgMCAwIDAtLjY4IDBsLTMuOTYgMi4yODdhLjY4Mi42ODIgMCAwIDAtLjM0LjU4OXY4LjE3M0wxMC4yOSAxOS4zNWwtMi43NzctMS42MDR2LTMuMjA3bDIuNzc3LTEuNjA0IDEuODMyIDEuMDU4VjExLjg0bC0xLjQ5Mi0uODYxYS42ODEuNjgxIDAgMCAwLS42OCAwbC0zLjk2IDIuMjg3YS42ODEuNjgxIDAgMCAwLS4zNC41ODl2NC41NzNjMCAuMjQyLjEzLjQ2OC4zNC41OWwzLjk2IDIuMjg2YS42OC42OCAwIDAgMCAuNjggMGwzLjk2LTIuMjg2YS42ODIuNjgyIDAgMCAwIC4zNC0uNTg5di04LjE3NGwuMDUtLjAyOCAyLjcyOC0xLjU3NSAyLjc3NyAxLjYwM3YzLjIwOGwtMi43NzcgMS42MDMtMS44My0xLjA1NnYyLjE1MWwxLjQ5Ljg2YS42OC42OCAwIDAgMCAuNjggMHoiLz48L2c+PC9nPjwvc3ZnPg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3BvbHlnb24tWjRRSVRETDcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFHeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9wb2x5Z29uLVo0UUlUREw3LmpzP2JjMzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvY2hhaW5JY29ucy9wb2x5Z29uLnN2Z1xudmFyIHBvbHlnb25fZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIzYVdSMGFEMGlNamdpSUdobGFXZG9kRDBpTWpnaVBqeGtaV1p6UGp4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaVFTSWdlREU5SWkweE9DNHlOelVsSWlCNE1qMGlPRFF1T1RVNUpTSWdlVEU5SWpndU1qRTVKU0lnZVRJOUlqY3hMak01TXlVaVBqeHpkRzl3SUc5bVpuTmxkRDBpTUNVaUlITjBiM0F0WTI5c2IzSTlJaU5oTWpJNVl6VWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTTNZak5tWlRRaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeGphWEpqYkdVZ2FXUTlJa0lpSUdONFBTSXhOQ0lnWTNrOUlqRTBJaUJ5UFNJeE5DSXZQand2WkdWbWN6NDhaeUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpUGp4dFlYTnJJR2xrUFNKRElpQm1hV3hzUFNJalptWm1JajQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5DSWk4K1BDOXRZWE5yUGp4bklHWnBiR3d0Y25Wc1pUMGlibTl1ZW1WeWJ5SStQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTkJLU0lnWkQwaVRTMHhMak15TmkweExqTXlObWd6TUM0Mk5URjJNekF1TmpVeFNDMHhMak15Tm5vaUlHMWhjMnM5SW5WeWJDZ2pReWtpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVGd1TURRNUlERTNMakF5TVd3ekxqazJMVEl1TWpnM1lTNDJPREV1TmpneElEQWdNQ0F3SUM0ek5DMHVOVGc1VmprdU5UY3lZUzQyT0RNdU5qZ3pJREFnTUNBd0xTNHpOQzB1TlRsc0xUTXVPVFl0TWk0eU9EWmhMalk0TWk0Mk9ESWdNQ0F3SURBdExqWTRJREJzTFRNdU9UWWdNaTR5T0RkaExqWTRNaTQyT0RJZ01DQXdJREF0TGpNMExqVTRPWFk0TGpFM00wd3hNQzR5T1NBeE9TNHpOV3d0TWk0M056Y3RNUzQyTURSMkxUTXVNakEzYkRJdU56YzNMVEV1TmpBMElERXVPRE15SURFdU1EVTRWakV4TGpnMGJDMHhMalE1TWkwdU9EWXhZUzQyT0RFdU5qZ3hJREFnTUNBd0xTNDJPQ0F3YkMwekxqazJJREl1TWpnM1lTNDJPREV1TmpneElEQWdNQ0F3TFM0ek5DNDFPRGwyTkM0MU56TmpNQ0F1TWpReUxqRXpMalEyT0M0ek5DNDFPV3d6TGprMklESXVNamcyWVM0Mk9DNDJPQ0F3SURBZ01DQXVOamdnTUd3ekxqazJMVEl1TWpnMllTNDJPREl1TmpneUlEQWdNQ0F3SUM0ek5DMHVOVGc1ZGkwNExqRTNOR3d1TURVdExqQXlPQ0F5TGpjeU9DMHhMalUzTlNBeUxqYzNOeUF4TGpZd00zWXpMakl3T0d3dE1pNDNOemNnTVM0Mk1ETXRNUzQ0TXkweExqQTFObll5TGpFMU1Xd3hMalE1TGpnMllTNDJPQzQyT0NBd0lEQWdNQ0F1TmpnZ01Ib2lMejQ4TDJjK1BDOW5Qand2YzNablBnPT1cIjtcbmV4cG9ydCB7XG4gIHBvbHlnb25fZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/polygon-Z4QITDL7.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js.js deleted file mode 100644 index 9a95152..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/rainbowWallet-GGU64QEI.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/rainbowWallet-GGU64QEI.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ rainbowWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/rainbowWallet/rainbowWallet.svg\nvar rainbowWallet_default = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDEyMCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfNjJfMzI5KSIvPgo8cGF0aCBkPSJNMjAgMzhIMjZDNTYuOTI3OSAzOCA4MiA2My4wNzIxIDgyIDk0VjEwMEg5NEM5Ny4zMTM3IDEwMCAxMDAgOTcuMzEzNyAxMDAgOTRDMTAwIDUzLjEzMDkgNjYuODY5MSAyMCAyNiAyMEMyMi42ODYzIDIwIDIwIDIyLjY4NjMgMjAgMjZWMzhaIiBmaWxsPSJ1cmwoI3BhaW50MV9yYWRpYWxfNjJfMzI5KSIvPgo8cGF0aCBkPSJNODQgOTRIMTAwQzEwMCA5Ny4zMTM3IDk3LjMxMzcgMTAwIDk0IDEwMEg4NFY5NFoiIGZpbGw9InVybCgjcGFpbnQyX2xpbmVhcl82Ml8zMjkpIi8+CjxwYXRoIGQ9Ik0yNiAyMEwyNiAzNkgyMEwyMCAyNkMyMCAyMi42ODYzIDIyLjY4NjMgMjAgMjYgMjBaIiBmaWxsPSJ1cmwoI3BhaW50M19saW5lYXJfNjJfMzI5KSIvPgo8cGF0aCBkPSJNMjAgMzZIMjZDNTguMDMyNSAzNiA4NCA2MS45Njc1IDg0IDk0VjEwMEg2NlY5NEM2NiA3MS45MDg2IDQ4LjA5MTQgNTQgMjYgNTRIMjBWMzZaIiBmaWxsPSJ1cmwoI3BhaW50NF9yYWRpYWxfNjJfMzI5KSIvPgo8cGF0aCBkPSJNNjggOTRIODRWMTAwSDY4Vjk0WiIgZmlsbD0idXJsKCNwYWludDVfbGluZWFyXzYyXzMyOSkiLz4KPHBhdGggZD0iTTIwIDUyTDIwIDM2TDI2IDM2TDI2IDUySDIwWiIgZmlsbD0idXJsKCNwYWludDZfbGluZWFyXzYyXzMyOSkiLz4KPHBhdGggZD0iTTIwIDYyQzIwIDY1LjMxMzcgMjIuNjg2MyA2OCAyNiA2OEM0MC4zNTk0IDY4IDUyIDc5LjY0MDYgNTIgOTRDNTIgOTcuMzEzNyA1NC42ODYzIDEwMCA1OCAxMDBINjhWOTRDNjggNzAuODA0IDQ5LjE5NiA1MiAyNiA1MkgyMFY2MloiIGZpbGw9InVybCgjcGFpbnQ3X3JhZGlhbF82Ml8zMjkpIi8+CjxwYXRoIGQ9Ik01MiA5NEg2OFYxMDBINThDNTQuNjg2MyAxMDAgNTIgOTcuMzEzNyA1MiA5NFoiIGZpbGw9InVybCgjcGFpbnQ4X3JhZGlhbF82Ml8zMjkpIi8+CjxwYXRoIGQ9Ik0yNiA2OEMyMi42ODYzIDY4IDIwIDY1LjMxMzcgMjAgNjJMMjAgNTJMMjYgNTJMMjYgNjhaIiBmaWxsPSJ1cmwoI3BhaW50OV9yYWRpYWxfNjJfMzI5KSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzYyXzMyOSIgeDE9IjYwIiB5MT0iMCIgeDI9IjYwIiB5Mj0iMTIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMxNzQyOTkiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDAxRTU5Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQxX3JhZGlhbF82Ml8zMjkiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjYgOTQpIHJvdGF0ZSgtOTApIHNjYWxlKDc0KSI+CjxzdG9wIG9mZnNldD0iMC43NzAyNzciIHN0b3AtY29sb3I9IiNGRjQwMDAiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjODc1NEM5Ii8+CjwvcmFkaWFsR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQyX2xpbmVhcl82Ml8zMjkiIHgxPSI4MyIgeTE9Ijk3IiB4Mj0iMTAwIiB5Mj0iOTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDNfbGluZWFyXzYyXzMyOSIgeDE9IjIzIiB5MT0iMjAiIHgyPSIyMyIgeTI9IjM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkY0MDAwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ0X3JhZGlhbF82Ml8zMjkiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjYgOTQpIHJvdGF0ZSgtOTApIHNjYWxlKDU4KSI+CjxzdG9wIG9mZnNldD0iMC43MjM5MjkiIHN0b3AtY29sb3I9IiNGRkY3MDAiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkY5OTAxIi8+CjwvcmFkaWFsR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ1X2xpbmVhcl82Ml8zMjkiIHgxPSI2OCIgeTE9Ijk3IiB4Mj0iODQiIHkyPSI5NyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Nl9saW5lYXJfNjJfMzI5IiB4MT0iMjMiIHkxPSI1MiIgeDI9IjIzIiB5Mj0iMzYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0ZGRjcwMCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjk5MDEiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDdfcmFkaWFsXzYyXzMyOSIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgyNiA5NCkgcm90YXRlKC05MCkgc2NhbGUoNDIpIj4KPHN0b3Agb2Zmc2V0PSIwLjU5NTEzIiBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50OF9yYWRpYWxfNjJfMzI5IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDUxIDk3KSBzY2FsZSgxNyA0NS4zMzMzKSI+CjxzdG9wIHN0b3AtY29sb3I9IiMwMEFBRkYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDFEQTQwIi8+CjwvcmFkaWFsR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ5X3JhZGlhbF82Ml8zMjkiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMgNjkpIHJvdGF0ZSgtOTApIHNjYWxlKDE3IDMyMi4zNykiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3JhaW5ib3dXYWxsZXQtR0dVNjRRRUkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFHOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9yYWluYm93V2FsbGV0LUdHVTY0UUVJLmpzPzJlMjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL3JhaW5ib3dXYWxsZXQvcmFpbmJvd1dhbGxldC5zdmdcbnZhciByYWluYm93V2FsbGV0X2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1USXdJaUJvWldsbmFIUTlJakV5TUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREV5TUNBeE1qQWlJR1pwYkd3OUltNXZibVVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrQ2p4eVpXTjBJSGRwWkhSb1BTSXhNakFpSUdobGFXZG9kRDBpTVRJd0lpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME1GOXNhVzVsWVhKZk5qSmZNekk1S1NJdlBnbzhjR0YwYUNCa1BTSk5NakFnTXpoSU1qWkROVFl1T1RJM09TQXpPQ0E0TWlBMk15NHdOekl4SURneUlEazBWakV3TUVnNU5FTTVOeTR6TVRNM0lERXdNQ0F4TURBZ09UY3VNekV6TnlBeE1EQWdPVFJETVRBd0lEVXpMakV6TURrZ05qWXVPRFk1TVNBeU1DQXlOaUF5TUVNeU1pNDJPRFl6SURJd0lESXdJREl5TGpZNE5qTWdNakFnTWpaV016aGFJaUJtYVd4c1BTSjFjbXdvSTNCaGFXNTBNVjl5WVdScFlXeGZOakpmTXpJNUtTSXZQZ284Y0dGMGFDQmtQU0pOT0RRZ09UUklNVEF3UXpFd01DQTVOeTR6TVRNM0lEazNMak14TXpjZ01UQXdJRGswSURFd01FZzRORlk1TkZvaUlHWnBiR3c5SW5WeWJDZ2pjR0ZwYm5ReVgyeHBibVZoY2w4Mk1sOHpNamtwSWk4K0NqeHdZWFJvSUdROUlrMHlOaUF5TUV3eU5pQXpOa2d5TUV3eU1DQXlOa015TUNBeU1pNDJPRFl6SURJeUxqWTROak1nTWpBZ01qWWdNakJhSWlCbWFXeHNQU0oxY213b0kzQmhhVzUwTTE5c2FXNWxZWEpmTmpKZk16STVLU0l2UGdvOGNHRjBhQ0JrUFNKTk1qQWdNelpJTWpaRE5UZ3VNRE15TlNBek5pQTROQ0EyTVM0NU5qYzFJRGcwSURrMFZqRXdNRWcyTmxZNU5FTTJOaUEzTVM0NU1EZzJJRFE0TGpBNU1UUWdOVFFnTWpZZ05UUklNakJXTXpaYUlpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME5GOXlZV1JwWVd4Zk5qSmZNekk1S1NJdlBnbzhjR0YwYUNCa1BTSk5OamdnT1RSSU9EUldNVEF3U0RZNFZqazBXaUlnWm1sc2JEMGlkWEpzS0NOd1lXbHVkRFZmYkdsdVpXRnlYell5WHpNeU9Ta2lMejRLUEhCaGRHZ2daRDBpVFRJd0lEVXlUREl3SURNMlRESTJJRE0yVERJMklEVXlTREl3V2lJZ1ptbHNiRDBpZFhKc0tDTndZV2x1ZERaZmJHbHVaV0Z5WHpZeVh6TXlPU2tpTHo0S1BIQmhkR2dnWkQwaVRUSXdJRFl5UXpJd0lEWTFMak14TXpjZ01qSXVOamcyTXlBMk9DQXlOaUEyT0VNME1DNHpOVGswSURZNElEVXlJRGM1TGpZME1EWWdOVElnT1RSRE5USWdPVGN1TXpFek55QTFOQzQyT0RZeklERXdNQ0ExT0NBeE1EQklOamhXT1RSRE5qZ2dOekF1T0RBMElEUTVMakU1TmlBMU1pQXlOaUExTWtneU1GWTJNbG9pSUdacGJHdzlJblZ5YkNnamNHRnBiblEzWDNKaFpHbGhiRjgyTWw4ek1qa3BJaTgrQ2p4d1lYUm9JR1E5SWswMU1pQTVORWcyT0ZZeE1EQklOVGhETlRRdU5qZzJNeUF4TURBZ05USWdPVGN1TXpFek55QTFNaUE1TkZvaUlHWnBiR3c5SW5WeWJDZ2pjR0ZwYm5RNFgzSmhaR2xoYkY4Mk1sOHpNamtwSWk4K0NqeHdZWFJvSUdROUlrMHlOaUEyT0VNeU1pNDJPRFl6SURZNElESXdJRFkxTGpNeE16Y2dNakFnTmpKTU1qQWdOVEpNTWpZZ05USk1NallnTmpoYUlpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME9WOXlZV1JwWVd4Zk5qSmZNekk1S1NJdlBnbzhaR1ZtY3o0S1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSndZV2x1ZERCZmJHbHVaV0Z5WHpZeVh6TXlPU0lnZURFOUlqWXdJaUI1TVQwaU1DSWdlREk5SWpZd0lpQjVNajBpTVRJd0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krQ2p4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNeE56UXlPVGtpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpNREF4UlRVNUlpOCtDand2YkdsdVpXRnlSM0poWkdsbGJuUStDanh5WVdScFlXeEhjbUZrYVdWdWRDQnBaRDBpY0dGcGJuUXhYM0poWkdsaGJGODJNbDh6TWpraUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01qWWdPVFFwSUhKdmRHRjBaU2d0T1RBcElITmpZV3hsS0RjMEtTSStDanh6ZEc5d0lHOW1abk5sZEQwaU1DNDNOekF5TnpjaUlITjBiM0F0WTI5c2IzSTlJaU5HUmpRd01EQWlMejRLUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJak9EYzFORU01SWk4K0Nqd3ZjbUZrYVdGc1IzSmhaR2xsYm5RK0NqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGljR0ZwYm5ReVgyeHBibVZoY2w4Mk1sOHpNamtpSUhneFBTSTRNeUlnZVRFOUlqazNJaUI0TWowaU1UQXdJaUI1TWowaU9UY2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwWkdOREF3TUNJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU00TnpVMFF6a2lMejRLUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDRLUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKd1lXbHVkRE5mYkdsdVpXRnlYell5WHpNeU9TSWdlREU5SWpJeklpQjVNVDBpTWpBaUlIZ3lQU0l5TXlJZ2VUSTlJak0zSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStDanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU00TnpVMFF6a2lMejRLUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJalJrWTBNREF3SWk4K0Nqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NqeHlZV1JwWVd4SGNtRmthV1Z1ZENCcFpEMGljR0ZwYm5RMFgzSmhaR2xoYkY4Mk1sOHpNamtpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJR2R5WVdScFpXNTBWSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTWpZZ09UUXBJSEp2ZEdGMFpTZ3RPVEFwSUhOallXeGxLRFU0S1NJK0NqeHpkRzl3SUc5bVpuTmxkRDBpTUM0M01qTTVNamtpSUhOMGIzQXRZMjlzYjNJOUlpTkdSa1kzTURBaUx6NEtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqUmtZNU9UQXhJaTgrQ2p3dmNtRmthV0ZzUjNKaFpHbGxiblErQ2p4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaWNHRnBiblExWDJ4cGJtVmhjbDgyTWw4ek1qa2lJSGd4UFNJMk9DSWdlVEU5SWprM0lpQjRNajBpT0RRaUlIa3lQU0k1TnlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtaR056QXdJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUkwWkdPVGt3TVNJdlBnbzhMMnhwYm1WaGNrZHlZV1JwWlc1MFBnbzhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME5sOXNhVzVsWVhKZk5qSmZNekk1SWlCNE1UMGlNak1pSUhreFBTSTFNaUlnZURJOUlqSXpJaUI1TWowaU16WWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwWkdSamN3TUNJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU5HUmprNU1ERWlMejRLUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDRLUEhKaFpHbGhiRWR5WVdScFpXNTBJR2xrUFNKd1lXbHVkRGRmY21Ga2FXRnNYell5WHpNeU9TSWdZM2c5SWpBaUlHTjVQU0l3SWlCeVBTSXhJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3lOaUE1TkNrZ2NtOTBZWFJsS0MwNU1Da2djMk5oYkdVb05ESXBJajRLUEhOMGIzQWdiMlptYzJWMFBTSXdMalU1TlRFeklpQnpkRzl3TFdOdmJHOXlQU0lqTURCQlFVWkdJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUl6QXhSRUUwTUNJdlBnbzhMM0poWkdsaGJFZHlZV1JwWlc1MFBnbzhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME9GOXlZV1JwWVd4Zk5qSmZNekk1SWlCamVEMGlNQ0lnWTNrOUlqQWlJSEk5SWpFaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJaUJuY21Ga2FXVnVkRlJ5WVc1elptOXliVDBpZEhKaGJuTnNZWFJsS0RVeElEazNLU0J6WTJGc1pTZ3hOeUEwTlM0ek16TXpLU0krQ2p4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNd01FRkJSa1lpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpNREZFUVRRd0lpOCtDand2Y21Ga2FXRnNSM0poWkdsbGJuUStDanh5WVdScFlXeEhjbUZrYVdWdWRDQnBaRDBpY0dGcGJuUTVYM0poWkdsaGJGODJNbDh6TWpraUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01qTWdOamtwSUhKdmRHRjBaU2d0T1RBcElITmpZV3hsS0RFM0lETXlNaTR6TnlraVBnbzhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpNREJCUVVaR0lpOCtDanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSXpBeFJFRTBNQ0l2UGdvOEwzSmhaR2xoYkVkeVlXUnBaVzUwUGdvOEwyUmxabk0rQ2p3dmMzWm5QZ289XCI7XG5leHBvcnQge1xuICByYWluYm93V2FsbGV0X2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/rainbowWallet-GGU64QEI.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js.js deleted file mode 100644 index 10ec7c8..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/refresh-5KGGHTJP.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/refresh-5KGGHTJP.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ refresh_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/refresh.svg\nvar refresh_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMCAxNmMwLTUuNiAwLTguNCAxLjA5LTEwLjU0YTEwIDEwIDAgMCAxIDQuMzctNC4zN0M3LjYgMCAxMC40IDAgMTYgMGgxNmM1LjYgMCA4LjQgMCAxMC41NCAxLjA5YTEwIDEwIDAgMCAxIDQuMzcgNC4zN0M0OCA3LjYgNDggMTAuNCA0OCAxNnYxNmMwIDUuNiAwIDguNC0xLjA5IDEwLjU0YTEwLjAwMSAxMC4wMDEgMCAwIDEtNC4zNyA0LjM3QzQwLjQgNDggMzcuNiA0OCAzMiA0OEgxNmMtNS42IDAtOC40IDAtMTAuNTQtMS4wOWExMCAxMCAwIDAgMS00LjM3LTQuMzdDMCA0MC40IDAgMzcuNiAwIDMyVjE2WiIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjA4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjEzMyA5LjUxM0MxIDExLjEzMSAxIDEzLjE4MyAxIDE2djE2YzAgMi44MTcgMCA0Ljg3LjEzMyA2LjQ4Ni4xMzEgMS42MDYuMzg3IDIuNjk1Ljg0OCAzLjZhOSA5IDAgMCAwIDMuOTMzIDMuOTMzYy45MDUuNDYxIDEuOTk0LjcxNyAzLjYuODQ4QzExLjEzIDQ3IDEzLjE4MyA0NyAxNiA0N2gxNmMyLjgxNyAwIDQuODcgMCA2LjQ4Ni0uMTMzIDEuNjA2LS4xMzEgMi42OTUtLjM4NyAzLjYtLjg0OGE5IDkgMCAwIDAgMy45MzMtMy45MzNjLjQ2MS0uOTA1LjcxNy0xLjk5NC44NDgtMy42QzQ3IDM2Ljg3IDQ3IDM0LjgxNiA0NyAzMlYxNmMwLTIuODE3IDAtNC44Ny0uMTMzLTYuNDg3LS4xMzEtMS42MDUtLjM4Ny0yLjY5NC0uODQ4LTMuNTk5YTkgOSAwIDAgMC0zLjkzMy0zLjkzM2MtLjkwNS0uNDYxLTEuOTk0LS43MTctMy42LS44NDhDMzYuODcgMSAzNC44MTYgMSAzMiAxSDE2Yy0yLjgxNyAwLTQuODcgMC02LjQ4Ny4xMzMtMS42MDUuMTMxLTIuNjk0LjM4Ny0zLjU5OS44NDhhOSA5IDAgMCAwLTMuOTMzIDMuOTMzYy0uNDYxLjkwNS0uNzE3IDEuOTk0LS44NDggMy42Wk0xLjA5IDUuNDZDMCA3LjYgMCAxMC40IDAgMTZ2MTZjMCA1LjYgMCA4LjQgMS4wOSAxMC41NGExMCAxMCAwIDAgMCA0LjM3IDQuMzdDNy42IDQ4IDEwLjQgNDggMTYgNDhoMTZjNS42IDAgOC40IDAgMTAuNTQtMS4wOWExMC4wMDEgMTAuMDAxIDAgMCAwIDQuMzctNC4zN0M0OCA0MC40IDQ4IDM3LjYgNDggMzJWMTZjMC01LjYgMC04LjQtMS4wOS0xMC41NGExMCAxMCAwIDAgMC00LjM3LTQuMzdDNDAuNCAwIDM3LjYgMCAzMiAwSDE2QzEwLjQgMCA3LjYgMCA1LjQ2IDEuMDlhMTAgMTAgMCAwIDAtNC4zNyA0LjM3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuMTIiIGQ9Ik0zNi4zNDUgMTMuMTU1YTEuNSAxLjUgMCAxIDAtMyAwdjIuMjI0YzAgLjYyNy0uNzc1LjkzNy0xLjIxOC40OTRhMTIuNzUgMTIuNzUgMCAxIDAgMCAxOC4wMzEgMS41IDEuNSAwIDEgMC0yLjEyMS0yLjEyIDkuNzUgOS43NSAwIDEgMSAwLTEzLjc5Yy42MS42MS4xNzIgMS42MTYtLjY5MSAxLjYxNkgyNi44OWExLjUgMS41IDAgMCAwIDAgM2g3Ljk1NWExLjUgMS41IDAgMCAwIDEuNS0xLjV2LTcuOTU1WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zNi4zNDUgMTIuMTU1YTEuNSAxLjUgMCAxIDAtMyAwdjIuMjI0YzAgLjYyNy0uNzc1LjkzNy0xLjIxOC40OTRhMTIuNzUgMTIuNzUgMCAxIDAgMCAxOC4wMzEgMS41IDEuNSAwIDEgMC0yLjEyMS0yLjEyIDkuNzUgOS43NSAwIDEgMSAwLTEzLjc5Yy42MS42MS4xNzIgMS42MTYtLjY5MSAxLjYxNkgyNi44OWExLjUgMS41IDAgMCAwIDAgM2g3Ljk1NWExLjUgMS41IDAgMCAwIDEuNS0xLjV2LTcuOTU1WiIvPjwvZz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIyNCIgeDI9IjI0IiB5MT0iMCIgeTI9IjQ4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzU5NjI3QSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzRBNTI2NiIvPjwvbGluZWFyR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDQ4djQ4SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3JlZnJlc2gtNUtHR0hUSlAuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFHeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9yZWZyZXNoLTVLR0dIVEpQLmpzPzgzOWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9yZWZyZXNoLnN2Z1xudmFyIHJlZnJlc2hfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdacGJHdzlJbTV2Ym1VaUlIWnBaWGRDYjNnOUlqQWdNQ0EwT0NBME9DSStQR2NnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMkVwSWo0OGNHRjBhQ0JtYVd4c1BTSjFjbXdvSTJJcElpQmtQU0pOTUNBeE5tTXdMVFV1TmlBd0xUZ3VOQ0F4TGpBNUxURXdMalUwWVRFd0lERXdJREFnTUNBeElEUXVNemN0TkM0ek4wTTNMallnTUNBeE1DNDBJREFnTVRZZ01HZ3hObU0xTGpZZ01DQTRMalFnTUNBeE1DNDFOQ0F4TGpBNVlURXdJREV3SURBZ01DQXhJRFF1TXpjZ05DNHpOME0wT0NBM0xqWWdORGdnTVRBdU5DQTBPQ0F4Tm5ZeE5tTXdJRFV1TmlBd0lEZ3VOQzB4TGpBNUlERXdMalUwWVRFd0xqQXdNU0F4TUM0d01ERWdNQ0F3SURFdE5DNHpOeUEwTGpNM1F6UXdMalFnTkRnZ016Y3VOaUEwT0NBek1pQTBPRWd4Tm1NdE5TNDJJREF0T0M0MElEQXRNVEF1TlRRdE1TNHdPV0V4TUNBeE1DQXdJREFnTVMwMExqTTNMVFF1TXpkRE1DQTBNQzQwSURBZ016Y3VOaUF3SURNeVZqRTJXaUl2UGp4d1lYUm9JR1pwYkd3OUlpTXdNREFpSUdacGJHd3RiM0JoWTJsMGVUMGlMakE0SWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TGpFek15QTVMalV4TTBNeElERXhMakV6TVNBeElERXpMakU0TXlBeElERTJkakUyWXpBZ01pNDRNVGNnTUNBMExqZzNMakV6TXlBMkxqUTROaTR4TXpFZ01TNDJNRFl1TXpnM0lESXVOamsxTGpnME9DQXpMalpoT1NBNUlEQWdNQ0F3SURNdU9UTXpJRE11T1RNell5NDVNRFV1TkRZeElERXVPVGswTGpjeE55QXpMall1T0RRNFF6RXhMakV6SURRM0lERXpMakU0TXlBME55QXhOaUEwTjJneE5tTXlMamd4TnlBd0lEUXVPRGNnTUNBMkxqUTROaTB1TVRNeklERXVOakEyTFM0eE16RWdNaTQyT1RVdExqTTROeUF6TGpZdExqZzBPR0U1SURrZ01DQXdJREFnTXk0NU16TXRNeTQ1TXpOakxqUTJNUzB1T1RBMUxqY3hOeTB4TGprNU5DNDRORGd0TXk0MlF6UTNJRE0yTGpnM0lEUTNJRE0wTGpneE5pQTBOeUF6TWxZeE5tTXdMVEl1T0RFM0lEQXROQzQ0TnkwdU1UTXpMVFl1TkRnM0xTNHhNekV0TVM0Mk1EVXRMak00TnkweUxqWTVOQzB1T0RRNExUTXVOVGs1WVRrZ09TQXdJREFnTUMwekxqa3pNeTB6TGprek0yTXRMamt3TlMwdU5EWXhMVEV1T1RrMExTNDNNVGN0TXk0MkxTNDRORGhETXpZdU9EY2dNU0F6TkM0NE1UWWdNU0F6TWlBeFNERTJZeTB5TGpneE55QXdMVFF1T0RjZ01DMDJMalE0Tnk0eE16TXRNUzQyTURVdU1UTXhMVEl1TmprMExqTTROeTB6TGpVNU9TNDRORGhoT1NBNUlEQWdNQ0F3TFRNdU9UTXpJRE11T1RNell5MHVORFl4TGprd05TMHVOekUzSURFdU9UazBMUzQ0TkRnZ015NDJXazB4TGpBNUlEVXVORFpETUNBM0xqWWdNQ0F4TUM0MElEQWdNVFoyTVRaak1DQTFMallnTUNBNExqUWdNUzR3T1NBeE1DNDFOR0V4TUNBeE1DQXdJREFnTUNBMExqTTNJRFF1TXpkRE55NDJJRFE0SURFd0xqUWdORGdnTVRZZ05EaG9NVFpqTlM0MklEQWdPQzQwSURBZ01UQXVOVFF0TVM0d09XRXhNQzR3TURFZ01UQXVNREF4SURBZ01DQXdJRFF1TXpjdE5DNHpOME0wT0NBME1DNDBJRFE0SURNM0xqWWdORGdnTXpKV01UWmpNQzAxTGpZZ01DMDRMalF0TVM0d09TMHhNQzQxTkdFeE1DQXhNQ0F3SURBZ01DMDBMak0zTFRRdU16ZEROREF1TkNBd0lETTNMallnTUNBek1pQXdTREUyUXpFd0xqUWdNQ0EzTGpZZ01DQTFMalEySURFdU1EbGhNVEFnTVRBZ01DQXdJREF0TkM0ek55QTBMak0zV2lJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpOCtQSEJoZEdnZ1ptbHNiRDBpSXpBd01DSWdabWxzYkMxdmNHRmphWFI1UFNJdU1USWlJR1E5SWswek5pNHpORFVnTVRNdU1UVTFZVEV1TlNBeExqVWdNQ0F4SURBdE15QXdkakl1TWpJMFl6QWdMall5TnkwdU56YzFMamt6TnkweExqSXhPQzQwT1RSaE1USXVOelVnTVRJdU56VWdNQ0F4SURBZ01DQXhPQzR3TXpFZ01TNDFJREV1TlNBd0lERWdNQzB5TGpFeU1TMHlMakV5SURrdU56VWdPUzQzTlNBd0lERWdNU0F3TFRFekxqYzVZeTQyTVM0Mk1TNHhOeklnTVM0Mk1UWXRMalk1TVNBeExqWXhOa2d5Tmk0NE9XRXhMalVnTVM0MUlEQWdNQ0F3SURBZ00yZzNMamsxTldFeExqVWdNUzQxSURBZ01DQXdJREV1TlMweExqVjJMVGN1T1RVMVdpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWswek5pNHpORFVnTVRJdU1UVTFZVEV1TlNBeExqVWdNQ0F4SURBdE15QXdkakl1TWpJMFl6QWdMall5TnkwdU56YzFMamt6TnkweExqSXhPQzQwT1RSaE1USXVOelVnTVRJdU56VWdNQ0F4SURBZ01DQXhPQzR3TXpFZ01TNDFJREV1TlNBd0lERWdNQzB5TGpFeU1TMHlMakV5SURrdU56VWdPUzQzTlNBd0lERWdNU0F3TFRFekxqYzVZeTQyTVM0Mk1TNHhOeklnTVM0Mk1UWXRMalk1TVNBeExqWXhOa2d5Tmk0NE9XRXhMalVnTVM0MUlEQWdNQ0F3SURBZ00yZzNMamsxTldFeExqVWdNUzQxSURBZ01DQXdJREV1TlMweExqVjJMVGN1T1RVMVdpSXZQand2Wno0OFpHVm1jejQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW1JaUlIZ3hQU0l5TkNJZ2VESTlJakkwSWlCNU1UMGlNQ0lnZVRJOUlqUTRJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6VTVOakkzUVNJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzFqYjJ4dmNqMGlJelJCTlRJMk5pSXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQR05zYVhCUVlYUm9JR2xrUFNKaElqNDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTUNBd2FEUTRkalE0U0RCNklpOCtQQzlqYkdsd1VHRjBhRDQ4TDJSbFpuTStQQzl6ZG1jK1wiO1xuZXhwb3J0IHtcbiAgcmVmcmVzaF9kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/refresh-5KGGHTJP.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js.js deleted file mode 100644 index 34a4a5a..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/safeWallet-DFMLSLCR.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/safeWallet-DFMLSLCR.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ safeWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/safeWallet/safeWallet.svg\nvar safeWallet_default = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3NhZmVXYWxsZXQtREZNTFNMQ1IuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFHM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9zYWZlV2FsbGV0LURGTUxTTENSLmpzP2E0NDIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL3NhZmVXYWxsZXQvc2FmZVdhbGxldC5zdmdcbnZhciBzYWZlV2FsbGV0X2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qZ2lJR2hsYVdkb2REMGlNamdpSUhacFpYZENiM2c5SWpBZ01DQXlPQ0F5T0NJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEpsWTNRZ2QybGtkR2c5SWpJNElpQm9aV2xuYUhROUlqSTRJaUJtYVd4c1BTSWpNVEpHUmpnd0lpOCtDanh3WVhSb0lHUTlJazB5TWk0MU1UVXhJREV6TGprNU56bElNakF1TkRJME5FTXhPUzQzT1RneElERXpMams1TnprZ01Ua3VNamswTlNBeE5DNDFNRFU0SURFNUxqSTVORFVnTVRVdU1USTRWakU0TGpFMk0wTXhPUzR5T1RRMUlERTRMamM0T1RRZ01UZ3VOemcyTmlBeE9TNHlPVE14SURFNExqRTJORFVnTVRrdU1qa3pNVWc1TGpnek9UaERPUzR5TVRNME5DQXhPUzR5T1RNeElEZ3VOekE1T0RFZ01Ua3VPREF4TVNBNExqY3dPVGd4SURJd0xqUXlNek5XTWpJdU5URTROVU00TGpjd09UZ3hJREl6TGpFME5TQTVMakl4TnpZM0lESXpMalkwT0RjZ09TNDRNems0SURJekxqWTBPRGRJTVRndU5qUXlOME14T1M0eU5qa3hJREl6TGpZME9EY2dNVGt1TnpZME1pQXlNeTR4TkRBM0lERTVMamMyTkRJZ01qSXVOVEU0TlZZeU1DNDROREl6UXpFNUxqYzJORElnTWpBdU1qRTFPU0F5TUM0eU56SXhJREU1TGpjM05UY2dNakF1T0RrME1pQXhPUzQzTnpVM1NESXlMalV4TlRGRE1qTXVNVFF4TlNBeE9TNDNOelUzSURJekxqWTBOVEVnTVRrdU1qWTNOeUF5TXk0Mk5EVXhJREU0TGpZME5UVldNVFV1TVRFNU5rTXlNeTQyTkRVeElERTBMalE0T0RrZ01qTXVNVE0zTXlBeE15NDVPVGM1SURJeUxqVXhOVEVnTVRNdU9UazNPVm9pSUdacGJHdzlJbUpzWVdOcklpOCtDanh3WVhSb0lHUTlJazA0TGpjd09UZ2dPUzQ0TkRFeU4wTTRMamN3T1RnZ09TNHlNVFE0TVNBNUxqSXhOelkySURndU56RXhNVEVnT1M0NE16azNPQ0E0TGpjeE1URXhTREU0TGpFMU5rTXhPQzQzT0RJeklEZ3VOekV4TVRFZ01Ua3VNamcySURndU1qQXpNVGNnTVRrdU1qZzJJRGN1TlRnd09UVldOUzQwT0RrNU5VTXhPUzR5T0RZZ05DNDROak0wT1NBeE9DNDNOemd4SURRdU16VTVOemtnTVRndU1UVTJJRFF1TXpVNU56bElPUzR6TlRjek1rTTRMamN6TURrMklEUXVNelU1TnprZ09DNHlNamN6TXlBMExqZzJOemN5SURndU1qSTNNek1nTlM0ME9EazVOVlkzTGpFd01qWTBRemd1TWpJM016TWdOeTQzTWpreElEY3VOekU1TkRjZ09DNHlNekk0SURjdU1EazNNelFnT0M0eU16STRTRFV1TkRnNU1USkROQzQ0TmpJM05pQTRMakl6TWpnZ05DNHpOVGt4TXlBNExqYzBNRGMwSURRdU16VTVNVE1nT1M0ek5qSTVObFl4TWk0NE9UTXhRelF1TXpVNU1UTWdNVE11TlRFNU5pQTBMamcyTmprNUlERXpMams1TnprZ05TNDBPVE16TlNBeE15NDVPVGM1U0RjdU5UZzBNRFJET0M0eU1UQTBJREV6TGprNU56a2dPQzQzTVRRd015QXhNeTQwT0RrNUlEZ3VOekUwTURNZ01USXVPRFkzTjB3NExqY3dPVGdnT1M0NE5ERXlOMW9pSUdacGJHdzlJbUpzWVdOcklpOCtDanh3WVhSb0lHUTlJazB4TXk0d01UTTVJREV4TGpnd01URklNVFV1TURJME1rTXhOUzQyT0RBeUlERXhMamd3TVRFZ01UWXVNakE1TWlBeE1pNHpNelEwSURFMkxqSXdPVElnTVRJdU9UZzJNbFl4TkM0NU9UWTRRekUyTGpJd09USWdNVFV1TmpVeU9TQXhOUzQyTnpVNUlERTJMakU0TWlBeE5TNHdNalF5SURFMkxqRTRNa2d4TXk0d01UTTVRekV5TGpNMU56a2dNVFl1TVRneUlERXhMamd5T0RrZ01UVXVOalE0TnlBeE1TNDRNamc1SURFMExqazVOamhXTVRJdU9UZzJNa014TVM0NE1qZzVJREV5TGpNek1ESWdNVEl1TXpZeU1TQXhNUzQ0TURFeElERXpMakF4TXprZ01URXVPREF4TVZvaUlHWnBiR3c5SW1Kc1lXTnJJaTgrQ2p3dmMzWm5QZ289XCI7XG5leHBvcnQge1xuICBzYWZlV2FsbGV0X2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/safeWallet-DFMLSLCR.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js.js deleted file mode 100644 index 5c4b608..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/scan-HZBLXLM4.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/scan-HZBLXLM4.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ scan_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/Icons/scan.svg\nvar scan_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTAgMTZjMC01LjYgMC04LjQgMS4wOS0xMC41NGExMCAxMCAwIDAgMSA0LjM3LTQuMzdDNy42IDAgMTAuNCAwIDE2IDBoMTZjNS42IDAgOC40IDAgMTAuNTQgMS4wOWExMCAxMCAwIDAgMSA0LjM3IDQuMzdDNDggNy42IDQ4IDEwLjQgNDggMTZ2MTZjMCA1LjYgMCA4LjQtMS4wOSAxMC41NGExMC4wMDEgMTAuMDAxIDAgMCAxLTQuMzcgNC4zN0M0MC40IDQ4IDM3LjYgNDggMzIgNDhIMTZjLTUuNiAwLTguNCAwLTEwLjU0LTEuMDlhMTAgMTAgMCAwIDEtNC4zNy00LjM3QzAgNDAuNCAwIDM3LjYgMCAzMlYxNloiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii4wOCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMS4xMzMgOS41MTNDMSAxMS4xMzEgMSAxMy4xODMgMSAxNnYxNmMwIDIuODE3IDAgNC44Ny4xMzMgNi40ODYuMTMxIDEuNjA2LjM4NyAyLjY5NS44NDggMy42YTkgOSAwIDAgMCAzLjkzMyAzLjkzM2MuOTA1LjQ2MSAxLjk5NC43MTcgMy42Ljg0OEMxMS4xMyA0NyAxMy4xODMgNDcgMTYgNDdoMTZjMi44MTcgMCA0Ljg3IDAgNi40ODYtLjEzMyAxLjYwNi0uMTMxIDIuNjk1LS4zODcgMy42LS44NDhhOSA5IDAgMCAwIDMuOTMzLTMuOTMzYy40NjEtLjkwNS43MTctMS45OTQuODQ4LTMuNkM0NyAzNi44NyA0NyAzNC44MTYgNDcgMzJWMTZjMC0yLjgxNyAwLTQuODctLjEzMy02LjQ4Ny0uMTMxLTEuNjA1LS4zODctMi42OTQtLjg0OC0zLjU5OWE5IDkgMCAwIDAtMy45MzMtMy45MzNjLS45MDUtLjQ2MS0xLjk5NC0uNzE3LTMuNi0uODQ4QzM2Ljg3IDEgMzQuODE2IDEgMzIgMUgxNmMtMi44MTcgMC00Ljg3IDAtNi40ODcuMTMzLTEuNjA1LjEzMS0yLjY5NC4zODctMy41OTkuODQ4YTkgOSAwIDAgMC0zLjkzMyAzLjkzM2MtLjQ2MS45MDUtLjcxNyAxLjk5NC0uODQ4IDMuNlpNMS4wOSA1LjQ2QzAgNy42IDAgMTAuNCAwIDE2djE2YzAgNS42IDAgOC40IDEuMDkgMTAuNTRhMTAgMTAgMCAwIDAgNC4zNyA0LjM3QzcuNiA0OCAxMC40IDQ4IDE2IDQ4aDE2YzUuNiAwIDguNCAwIDEwLjU0LTEuMDlhMTAuMDAxIDEwLjAwMSAwIDAgMCA0LjM3LTQuMzdDNDggNDAuNCA0OCAzNy42IDQ4IDMyVjE2YzAtNS42IDAtOC40LTEuMDktMTAuNTRhMTAgMTAgMCAwIDAtNC4zNy00LjM3QzQwLjQgMCAzNy42IDAgMzIgMEgxNkMxMC40IDAgNy42IDAgNS40NiAxLjA5YTEwIDEwIDAgMCAwLTQuMzcgNC4zN1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iLjEyIiBkPSJNMjggMTAuNUExLjUgMS41IDAgMCAxIDI5LjUgOWgzLjk1NWMuNTA2IDAgLjc2IDAgLjk3My4wMTVhNiA2IDAgMCAxIDUuNTU3IDUuNTU3Yy4wMTUuMjE0LjAxNS40NjcuMDE1Ljk3NFYxOS41YTEuNSAxLjUgMCAwIDEtMyAwdi00LjEyNWMwLS4zNDggMC0uNTIyLS4wMTQtLjY3YTMgMyAwIDAgMC0yLjY5Mi0yLjY5Yy0uMTQ3LS4wMTUtLjMyLS4wMTUtLjY2OS0uMDE1SDI5LjVhMS41IDEuNSAwIDAgMS0xLjUtMS41Wm0wIDI5YTEuNSAxLjUgMCAwIDAgMS41IDEuNWgzLjk1NWMuNTA2IDAgLjc2IDAgLjk3My0uMDE1YTYgNiAwIDAgMCA1LjU1Ny01LjU1N2MuMDE1LS4yMTQuMDE1LS40NjcuMDE1LS45NzNWMzAuNWExLjUgMS41IDAgMCAwLTMgMHY0LjEyNWMwIC4zNDggMCAuNTIyLS4wMTQuNjdhMyAzIDAgMCAxLTIuNjkyIDIuNjljLS4xNDcuMDE1LS4zMi4wMTUtLjY2OS4wMTVIMjkuNWExLjUgMS41IDAgMCAwLTEuNSAxLjVaTTE4LjUgNDFhMS41IDEuNSAwIDAgMCAwLTNoLTQuMTI1Yy0uMzQ4IDAtLjUyMiAwLS42Ny0uMDE0YTMgMyAwIDAgMS0yLjY5LTIuNjkyYy0uMDE1LS4xNDctLjAxNS0uMzItLjAxNS0uNjY5VjMwLjVhMS41IDEuNSAwIDAgMC0zIDB2My45NTVjMCAuNTA2IDAgLjc2LjAxNS45NzNhNiA2IDAgMCAwIDUuNTU3IDUuNTU3Yy4yMTQuMDE1LjQ2Ny4wMTUuOTc0LjAxNUgxOC41Wk0yMCAxMC41QTEuNSAxLjUgMCAwIDAgMTguNSA5aC0zLjk1NGMtLjUwNyAwLS43NiAwLS45NzQuMDE1YTYgNiAwIDAgMC01LjU1NyA1LjU1N0M4IDE0Ljc4NiA4IDE1LjAzOSA4IDE1LjU0NlYxOS41YTEuNSAxLjUgMCAwIDAgMyAwdi00LjEyNWMwLS4zNDggMC0uNTIyLjAxNC0uNjdhMyAzIDAgMCAxIDIuNjkyLTIuNjljLjE0Ny0uMDE1LjMyLS4wMTUuNjY5LS4wMTVIMTguNWExLjUgMS41IDAgMCAwIDEuNS0xLjVaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI4IDkuNUExLjUgMS41IDAgMCAxIDI5LjUgOGgzLjk1NWMuNTA2IDAgLjc2IDAgLjk3My4wMTVhNiA2IDAgMCAxIDUuNTU3IDUuNTU3Yy4wMTUuMjE0LjAxNS40NjcuMDE1Ljk3NFYxOC41YTEuNSAxLjUgMCAwIDEtMyAwdi00LjEyNWMwLS4zNDggMC0uNTIyLS4wMTQtLjY3YTMgMyAwIDAgMC0yLjY5Mi0yLjY5Yy0uMTQ3LS4wMTUtLjMyLS4wMTUtLjY2OS0uMDE1SDI5LjVBMS41IDEuNSAwIDAgMSAyOCA5LjVabTAgMjlhMS41IDEuNSAwIDAgMCAxLjUgMS41aDMuOTU1Yy41MDYgMCAuNzYgMCAuOTczLS4wMTVhNiA2IDAgMCAwIDUuNTU3LTUuNTU3Yy4wMTUtLjIxNC4wMTUtLjQ2Ny4wMTUtLjk3M1YyOS41YTEuNSAxLjUgMCAwIDAtMyAwdjQuMTI1YzAgLjM0OCAwIC41MjItLjAxNC42N2EzIDMgMCAwIDEtMi42OTIgMi42OWMtLjE0Ny4wMTUtLjMyLjAxNS0uNjY5LjAxNUgyOS41YTEuNSAxLjUgMCAwIDAtMS41IDEuNVpNMTguNSA0MGExLjUgMS41IDAgMCAwIDAtM2gtNC4xMjVjLS4zNDggMC0uNTIyIDAtLjY3LS4wMTRhMyAzIDAgMCAxLTIuNjktMi42OTJjLS4wMTUtLjE0Ny0uMDE1LS4zMi0uMDE1LS42NjlWMjkuNWExLjUgMS41IDAgMCAwLTMgMHYzLjk1NWMwIC41MDYgMCAuNzYuMDE1Ljk3M2E2IDYgMCAwIDAgNS41NTcgNS41NTdjLjIxNC4wMTUuNDY3LjAxNS45NzQuMDE1SDE4LjVaTTIwIDkuNUExLjUgMS41IDAgMCAwIDE4LjUgOGgtMy45NTRjLS41MDcgMC0uNzYgMC0uOTc0LjAxNWE2IDYgMCAwIDAtNS41NTcgNS41NTdDOCAxMy43ODYgOCAxNC4wMzkgOCAxNC41NDZWMTguNWExLjUgMS41IDAgMCAwIDMgMHYtNC4xMjVjMC0uMzQ4IDAtLjUyMi4wMTQtLjY3YTMgMyAwIDAgMSAyLjY5Mi0yLjY5Yy4xNDctLjAxNS4zMi0uMDE1LjY2OS0uMDE1SDE4LjVBMS41IDEuNSAwIDAgMCAyMCA5LjVaIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMjQiIHgyPSIyNCIgeTE9IjAiIHkyPSI0OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTYyN0EiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0QTUyNjYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3NjYW4tSFpCTFhMTTQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFHckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9zY2FuLUhaQkxYTE00LmpzPzUyMWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9zY2FuLnN2Z1xudmFyIHNjYW5fZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdacGJHdzlJbTV2Ym1VaUlIWnBaWGRDYjNnOUlqQWdNQ0EwT0NBME9DSStQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTmhLU0lnWkQwaVRUQWdNVFpqTUMwMUxqWWdNQzA0TGpRZ01TNHdPUzB4TUM0MU5HRXhNQ0F4TUNBd0lEQWdNU0EwTGpNM0xUUXVNemRETnk0MklEQWdNVEF1TkNBd0lERTJJREJvTVRaak5TNDJJREFnT0M0MElEQWdNVEF1TlRRZ01TNHdPV0V4TUNBeE1DQXdJREFnTVNBMExqTTNJRFF1TXpkRE5EZ2dOeTQySURRNElERXdMalFnTkRnZ01UWjJNVFpqTUNBMUxqWWdNQ0E0TGpRdE1TNHdPU0F4TUM0MU5HRXhNQzR3TURFZ01UQXVNREF4SURBZ01DQXhMVFF1TXpjZ05DNHpOME0wTUM0MElEUTRJRE0zTGpZZ05EZ2dNeklnTkRoSU1UWmpMVFV1TmlBd0xUZ3VOQ0F3TFRFd0xqVTBMVEV1TURsaE1UQWdNVEFnTUNBd0lERXROQzR6TnkwMExqTTNRekFnTkRBdU5DQXdJRE0zTGpZZ01DQXpNbFl4TmxvaUx6NDhjR0YwYUNCbWFXeHNQU0lqTURBd0lpQm1hV3hzTFc5d1lXTnBkSGs5SWk0d09DSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk1TNHhNek1nT1M0MU1UTkRNU0F4TVM0eE16RWdNU0F4TXk0eE9ETWdNU0F4Tm5ZeE5tTXdJREl1T0RFM0lEQWdOQzQ0Tnk0eE16TWdOaTQwT0RZdU1UTXhJREV1TmpBMkxqTTROeUF5TGpZNU5TNDRORGdnTXk0MllUa2dPU0F3SURBZ01DQXpMamt6TXlBekxqa3pNMk11T1RBMUxqUTJNU0F4TGprNU5DNDNNVGNnTXk0MkxqZzBPRU14TVM0eE15QTBOeUF4TXk0eE9ETWdORGNnTVRZZ05EZG9NVFpqTWk0NE1UY2dNQ0EwTGpnM0lEQWdOaTQwT0RZdExqRXpNeUF4TGpZd05pMHVNVE14SURJdU5qazFMUzR6T0RjZ015NDJMUzQ0TkRoaE9TQTVJREFnTUNBd0lETXVPVE16TFRNdU9UTXpZeTQwTmpFdExqa3dOUzQzTVRjdE1TNDVPVFF1T0RRNExUTXVOa00wTnlBek5pNDROeUEwTnlBek5DNDRNVFlnTkRjZ016SldNVFpqTUMweUxqZ3hOeUF3TFRRdU9EY3RMakV6TXkwMkxqUTROeTB1TVRNeExURXVOakExTFM0ek9EY3RNaTQyT1RRdExqZzBPQzB6TGpVNU9XRTVJRGtnTUNBd0lEQXRNeTQ1TXpNdE15NDVNek5qTFM0NU1EVXRMalEyTVMweExqazVOQzB1TnpFM0xUTXVOaTB1T0RRNFF6TTJMamczSURFZ016UXVPREUySURFZ016SWdNVWd4Tm1NdE1pNDRNVGNnTUMwMExqZzNJREF0Tmk0ME9EY3VNVE16TFRFdU5qQTFMakV6TVMweUxqWTVOQzR6T0RjdE15NDFPVGt1T0RRNFlUa2dPU0F3SURBZ01DMHpMamt6TXlBekxqa3pNMk10TGpRMk1TNDVNRFV0TGpjeE55QXhMams1TkMwdU9EUTRJRE11TmxwTk1TNHdPU0ExTGpRMlF6QWdOeTQySURBZ01UQXVOQ0F3SURFMmRqRTJZekFnTlM0MklEQWdPQzQwSURFdU1Ea2dNVEF1TlRSaE1UQWdNVEFnTUNBd0lEQWdOQzR6TnlBMExqTTNRemN1TmlBME9DQXhNQzQwSURRNElERTJJRFE0YURFMll6VXVOaUF3SURndU5DQXdJREV3TGpVMExURXVNRGxoTVRBdU1EQXhJREV3TGpBd01TQXdJREFnTUNBMExqTTNMVFF1TXpkRE5EZ2dOREF1TkNBME9DQXpOeTQySURRNElETXlWakUyWXpBdE5TNDJJREF0T0M0MExURXVNRGt0TVRBdU5UUmhNVEFnTVRBZ01DQXdJREF0TkM0ek55MDBMak0zUXpRd0xqUWdNQ0F6Tnk0MklEQWdNeklnTUVneE5rTXhNQzQwSURBZ055NDJJREFnTlM0ME5pQXhMakE1WVRFd0lERXdJREFnTUNBd0xUUXVNemNnTkM0ek4xb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp4d1lYUm9JR1pwYkd3OUlpTXdNREFpSUdacGJHd3RiM0JoWTJsMGVUMGlMakV5SWlCa1BTSk5NamdnTVRBdU5VRXhMalVnTVM0MUlEQWdNQ0F4SURJNUxqVWdPV2d6TGprMU5XTXVOVEEySURBZ0xqYzJJREFnTGprM015NHdNVFZoTmlBMklEQWdNQ0F4SURVdU5UVTNJRFV1TlRVM1l5NHdNVFV1TWpFMExqQXhOUzQwTmpjdU1ERTFMamszTkZZeE9TNDFZVEV1TlNBeExqVWdNQ0F3SURFdE15QXdkaTAwTGpFeU5XTXdMUzR6TkRnZ01DMHVOVEl5TFM0d01UUXRMalkzWVRNZ015QXdJREFnTUMweUxqWTVNaTB5TGpZNVl5MHVNVFEzTFM0d01UVXRMak15TFM0d01UVXRMalkyT1MwdU1ERTFTREk1TGpWaE1TNDFJREV1TlNBd0lEQWdNUzB4TGpVdE1TNDFXbTB3SURJNVlURXVOU0F4TGpVZ01DQXdJREFnTVM0MUlERXVOV2d6TGprMU5XTXVOVEEySURBZ0xqYzJJREFnTGprM015MHVNREUxWVRZZ05pQXdJREFnTUNBMUxqVTFOeTAxTGpVMU4yTXVNREUxTFM0eU1UUXVNREUxTFM0ME5qY3VNREUxTFM0NU56TldNekF1TldFeExqVWdNUzQxSURBZ01DQXdMVE1nTUhZMExqRXlOV013SUM0ek5EZ2dNQ0F1TlRJeUxTNHdNVFF1TmpkaE15QXpJREFnTUNBeExUSXVOamt5SURJdU5qbGpMUzR4TkRjdU1ERTFMUzR6TWk0d01UVXRMalkyT1M0d01UVklNamt1TldFeExqVWdNUzQxSURBZ01DQXdMVEV1TlNBeExqVmFUVEU0TGpVZ05ERmhNUzQxSURFdU5TQXdJREFnTUNBd0xUTm9MVFF1TVRJMVl5MHVNelE0SURBdExqVXlNaUF3TFM0Mk55MHVNREUwWVRNZ015QXdJREFnTVMweUxqWTVMVEl1TmpreVl5MHVNREUxTFM0eE5EY3RMakF4TlMwdU16SXRMakF4TlMwdU5qWTVWak13TGpWaE1TNDFJREV1TlNBd0lEQWdNQzB6SURCMk15NDVOVFZqTUNBdU5UQTJJREFnTGpjMkxqQXhOUzQ1TnpOaE5pQTJJREFnTUNBd0lEVXVOVFUzSURVdU5UVTNZeTR5TVRRdU1ERTFMalEyTnk0d01UVXVPVGMwTGpBeE5VZ3hPQzQxV2sweU1DQXhNQzQxUVRFdU5TQXhMalVnTUNBd0lEQWdNVGd1TlNBNWFDMHpMamsxTkdNdExqVXdOeUF3TFM0M05pQXdMUzQ1TnpRdU1ERTFZVFlnTmlBd0lEQWdNQzAxTGpVMU55QTFMalUxTjBNNElERTBMamM0TmlBNElERTFMakF6T1NBNElERTFMalUwTmxZeE9TNDFZVEV1TlNBeExqVWdNQ0F3SURBZ015QXdkaTAwTGpFeU5XTXdMUzR6TkRnZ01DMHVOVEl5TGpBeE5DMHVOamRoTXlBeklEQWdNQ0F4SURJdU5qa3lMVEl1TmpsakxqRTBOeTB1TURFMUxqTXlMUzR3TVRVdU5qWTVMUzR3TVRWSU1UZ3VOV0V4TGpVZ01TNDFJREFnTUNBd0lERXVOUzB4TGpWYUlpOCtQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJNElEa3VOVUV4TGpVZ01TNDFJREFnTUNBeElESTVMalVnT0dnekxqazFOV011TlRBMklEQWdMamMySURBZ0xqazNNeTR3TVRWaE5pQTJJREFnTUNBeElEVXVOVFUzSURVdU5UVTNZeTR3TVRVdU1qRTBMakF4TlM0ME5qY3VNREUxTGprM05GWXhPQzQxWVRFdU5TQXhMalVnTUNBd0lERXRNeUF3ZGkwMExqRXlOV013TFM0ek5EZ2dNQzB1TlRJeUxTNHdNVFF0TGpZM1lUTWdNeUF3SURBZ01DMHlMalk1TWkweUxqWTVZeTB1TVRRM0xTNHdNVFV0TGpNeUxTNHdNVFV0TGpZMk9TMHVNREUxU0RJNUxqVkJNUzQxSURFdU5TQXdJREFnTVNBeU9DQTVMalZhYlRBZ01qbGhNUzQxSURFdU5TQXdJREFnTUNBeExqVWdNUzQxYURNdU9UVTFZeTQxTURZZ01DQXVOellnTUNBdU9UY3pMUzR3TVRWaE5pQTJJREFnTUNBd0lEVXVOVFUzTFRVdU5UVTNZeTR3TVRVdExqSXhOQzR3TVRVdExqUTJOeTR3TVRVdExqazNNMVl5T1M0MVlURXVOU0F4TGpVZ01DQXdJREF0TXlBd2RqUXVNVEkxWXpBZ0xqTTBPQ0F3SUM0MU1qSXRMakF4TkM0Mk4yRXpJRE1nTUNBd0lERXRNaTQyT1RJZ01pNDJPV010TGpFME55NHdNVFV0TGpNeUxqQXhOUzB1TmpZNUxqQXhOVWd5T1M0MVlURXVOU0F4TGpVZ01DQXdJREF0TVM0MUlERXVOVnBOTVRndU5TQTBNR0V4TGpVZ01TNDFJREFnTUNBd0lEQXRNMmd0TkM0eE1qVmpMUzR6TkRnZ01DMHVOVEl5SURBdExqWTNMUzR3TVRSaE15QXpJREFnTUNBeExUSXVOamt0TWk0Mk9USmpMUzR3TVRVdExqRTBOeTB1TURFMUxTNHpNaTB1TURFMUxTNDJOamxXTWprdU5XRXhMalVnTVM0MUlEQWdNQ0F3TFRNZ01IWXpMamsxTldNd0lDNDFNRFlnTUNBdU56WXVNREUxTGprM00yRTJJRFlnTUNBd0lEQWdOUzQxTlRjZ05TNDFOVGRqTGpJeE5DNHdNVFV1TkRZM0xqQXhOUzQ1TnpRdU1ERTFTREU0TGpWYVRUSXdJRGt1TlVFeExqVWdNUzQxSURBZ01DQXdJREU0TGpVZ09HZ3RNeTQ1TlRSakxTNDFNRGNnTUMwdU56WWdNQzB1T1RjMExqQXhOV0UySURZZ01DQXdJREF0TlM0MU5UY2dOUzQxTlRkRE9DQXhNeTQzT0RZZ09DQXhOQzR3TXprZ09DQXhOQzQxTkRaV01UZ3VOV0V4TGpVZ01TNDFJREFnTUNBd0lETWdNSFl0TkM0eE1qVmpNQzB1TXpRNElEQXRMalV5TWk0d01UUXRMalkzWVRNZ015QXdJREFnTVNBeUxqWTVNaTB5TGpZNVl5NHhORGN0TGpBeE5TNHpNaTB1TURFMUxqWTJPUzB1TURFMVNERTRMalZCTVM0MUlERXVOU0F3SURBZ01DQXlNQ0E1TGpWYUlpOCtQR1JsWm5NK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSmhJaUI0TVQwaU1qUWlJSGd5UFNJeU5DSWdlVEU5SWpBaUlIa3lQU0kwT0NJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU0xT1RZeU4wRWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlNMFFUVXlOallpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp3dlpHVm1jejQ4TDNOMlp6ND1cIjtcbmV4cG9ydCB7XG4gIHNjYW5fZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/scan-HZBLXLM4.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js.js deleted file mode 100644 index 1f592fd..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/sign-FZVB2CS6.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/sign-FZVB2CS6.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ sign_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/SignIn/sign.png\nvar sign_default = \"data:image/png;base64,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\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3NpZ24tRlpWQjJDUzYuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFHakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9zaWduLUZaVkIyQ1M2LmpzPzRhZDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9TaWduSW4vc2lnbi5wbmdcbnZhciBzaWduX2RlZmF1bHQgPSBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRkFBQUFCUUNBTUFBQUM1endLZkFBQUMvVkJNVkVVQUFBRFMwZERwNmVuVjFOVGk0dUxPemMzbDVlWGg0ZUhsNWVYVzFkWGEydHJRejg3ZTN0MmxsNWZuZTN2RmRYVitQVDE0ZDNmUzBkSGo0K09CYUdoNVB6OXlPanFxWDE5aVltSnFRVUdsa0pCb1FVR3JxcXFLaW9tRVkyUElpWW4zOXZieDhmSHo4L1A2K2ZudTdlMzQrUGp2NysvMTlmWHA2T2plM2QzbTV1WHM3T3pkM056cjYrcmEyZG5jMjl2ZjM5N2IydHJuNStmcTZ1bms1T1RWMU5UajQrTFoyTmZYMTlmWDF0WGc0Ti9pNHVIaDRlRFF6ODdUMHRMVTA5UFIwTS9EdzhQNysvckt5c2xuWjJmS2x4L016TXZIeDhmLzAwUE96YzJycTZ1TGk0ei96VGlscGFiRnhjVy92OENwcUttaW9xUE9teWIvekRUUzBkQzB0TFNmb0tHZG5aNlltSm4vMTAzLzFVaklsUm4xdHcrNnVydXhzYkdFaElYL3p6ei95Qjdib1E2OXZiM3YwSkdQa0pDSWlZckVxbmZNbVNPYm01dVZsWmFIaDRkOWZYN21wd0hxcXdEOC9QeUFnSURRblNuL3d4YXRyYTJSa3BQLzBUNy95UzYzdHJiVG55eTN1TGl2cnErTmpZOXRiR3hxYW1xVWxKWDlwNmQ0ZUhuKzBFR0Nnb050YVdEMnV5QndjSERXb3pIeTA1UHJ6STdkd0labFpXYStqUkxCd2NESXJudloyOS8vb2FIN2xKUnliMmh5YTF6L3h5ajF1Uis1aWhPUG9iZjlyYTJabFpEcGg0YlRnWUhPdEgvR2JtNVdXRmsvUUVMYzN1SGZlbnA5ZkhsM2RuT3loUmZHa1E2U25xNjBuS1hseDQzeWhvWGVoSVRMZDNmZHZYRzRZbUxlcnpPMXlOeVpxYjcrc3JLNnNLTDltNXYxMXBXdVhWMlVWRlJYVmxFMk9UM0RraUQvd0F6b3FRSGQ0ZVdwdmRYUjA5UzJ3OUdibzY3b282UFJvS1B3bkp6a3hZYld1b0xjdm5YSXEydVFnMmxjWDJGTFRVL3l5RUNpdE1xVW1LRE92SlB5am81NWZvYVZpbld5bkhEYXVHbGxZMStHZEU2ZGhVdjYwa3IveTBtWGZEMzZ4elBvc2hyM3RRVGk3ZlBpc3JLTGs2R3VrNXVubFpXK3E0R1RqSUQxelhldG1HVDZ6R0hTckZ6R28xWGl0azZtaTBieXdqYit2eUxVbXdqaG93RG0yOXFqcjd6UHQ3Zi81YWY4M1o3NzNKejMySmkwbHBXZmZvQ2tsWFRVdUhLNW4ycm12bVd6bUZXQ1FVRndOallkSUNLYjZkRVBBQUFBSUhSU1RsTUF0cU84dkxhenRLT3pzN3l6SkFxdCtyeUVkMVAzN3VIYXc3Njl2THhzWnJuN0g0MEFBQXlyU1VSQlZGakRuZFlIZkJwVkhBZHc5OTU3Qzl3Qk54akhjYXc3SUl3S0FySTBEQWVnSWxHR0JnMktTVXlNMFRwcXRPNVIyNnAxNzczMzNudnZ2ZmZlZnZ5L2Q5QVFRbDIvbE91bDkrN2IveHYzanVYa2JMZ2F6Z3IvUGF1MXN5R0cxbW1CcTlKT2dXRVludWVwL3hTZVp5Q0MxU3JTSzhsU0c1UVl5cXpYc3l6WmprYUREdTNUWlliVjYvVm1NMFV4WWhkb3BjRFNRSlQvS1hBRFpzMlV0UXNVektTc3FWclJ6dnJwamxJMWJiTGQ0Q29NZ05PZXRqdVloQ00rN2VSbEVrQ2hHOVNUNExVd2hWYlJJOXFPVXptWWxjVmVZTnRUL090Z0VvdWttZWtHV1Z4Z1cxUEwwY29uQlB6QTJUSkU4SHFBdkF3cVFrcW5iQkh3UnhzbTBCa1ZZa3h3MGhWQ2pVVmNZbThRRmVoMHgxaG9yTklTRUxJODdJTy8rREtYVUJBUXRkTG5HeVFHQ1FMcFBoTlBLclNraXRXUWZ3T3E0L1lncDFDWW5heVZJSHorSUtuVUVJUEQ3dEYraDRvZ21HVEdXMHdZUnRTazBVZFFxVnk0bW1sa003RUc4emVnUHBrY1NvOW5rNE5SMGVkanNvbnhLT2tMUnJPWm9YR0RiM0JFVENjSEJqS2xjQ3JwalEwcm9ubDZKSnpOSnJKLzAyV0ZsM2FYRXZIOENKK3krT2k4eVI4Y0pCaS9pZFF3R2lYaG8rTmFtQ1pWdmpnWUJWOU42ZUUzUXFXRnh4Vk5pdEFMdEZxVWFsYnRHeHdreklUUFRCQndRdmg4UGtLT2J4QWRIS09EMWdxTFJsSFJuaFM4RG51Qldwc1dyeGppN3lMeHF0U3dEM2tZYkMxRHRpZUlIaElBLzBFa2JCbHFtcE1YRGFtbnJOMmdIa0NsVmsxeU0wdjBTVDVDbzVGN0RDRUlmQlU4WkdwSVhGOVBrQUZRU2FXYVhwMEszYUp1ZS83eUlKSFVJQ013UEpTS3F5RzRQQ0lZVStnTElxb1BiMSs4MVBOWkpwcEVoc2Izb0xrWWhPSW1kYjZvbTBBZ0V5WlNDUUp6RUhwVW94Z1Bvdm5BbXl6Rk9HZUQwR2M2RUs5b09TWFVHQXJHcWRpVUpoMnl4S2Q0eEtnbHY3MnFaZUdaNWhtVms4MkdncDVFcXVYQmppMklYYUJnQmxDUjZvdlVVMVdObXNobkdvWHM2RUF4bk1sbG8zRUNqV3VlbVJ4Tmh3a0ZFeGtJRjhyWldyNlFycEMwQm5NOEwzQzlRSVBmNi9VT1JTbTFZRkVKakpXTVY4T0dmdHJ2MUZyVmF0WlVqTWRIdkFxMVYxTU0rOU54ZjF3WEhrMEhEVVlLZFppUjZGNGdxWUxaSTN6UUxUbnNwS3ExNzdTWHAxcmVmVlZhbUEzMGdPZ3A4NWR2M1BPMXlJdTZWYnRBaWtXdmdLVWJMQjc2YkpHWXRmMU5iOUtvc3p6MXhzVVhuN1B3K2g5bzQweHdWUUJKRE1xckc2OHpxcWpHTXJGVVk1YnUwS1NHQlk3aDc3NzRoQk5PdVBpYzYyOG85bmlOUWh1RzBaSmFGTFZJWVVualVKdmphaTJPdXVsdXZaUlVyQ1djMXpPTWNQZkYxODZmUC8vYUU4NjUvUGN0dWtBZUZtSXdsYk81QWxvSWFSakhkUkpoM2xvVkZkaFQrRk1LekdsMHlVUlVhTjVoOWQ5ejVyWHpENFhNQjNHOWJXYUJwQ3BJNmFNRXVqZFlNZUIrZTRQT2toa0toSGxRaVFPc2p1RW9Uc095ckhFNEZ1VzU5QjMzM0l1ODAwK2YveVNJRzNXQ0VxOW5TVEt2SFMrRnZiQ3pKdzEycDlzb0NvVlVPZTRQVmdleXhVS3NORjVOVmhxSnBFWnZacVBCaWNCd1BKVUNFYnlycno3MDJvc3Z2WDZUdFdlQVpsWXp6RVNiamFwYnk2WXppV285azQyVXN1YWhTTllmS0pZcmpZcTNNUlMxcHpOcGpqSVBaNWJVQ3VPNTI4NGV2dXZDZXhGNCt2d1R6bHg0dzVhZElHUFdreFQ2V2dFekRRY0ZiTWhXZ1NlMWFKTkNpdzlmVUpKS25kbkE4eUdqSjVBdm5uM2I2M2RlTUhEaDNhZGZmZnFoQUo1eitSOGJUWU5PaHRLem5kOUdRR21kdEwvQ29LVUhhNDhXUk1IcWpLVlNkdmIxTzY4ODdjMm5RQVR2eVRQUFdYakQ1bDFncDZqd21xYzU3T0Z0aFJRS29ZYkFuZjNMTlhmY2R0dVZWMTV3K3dYalQxMTQ3N1hnWGJKZzRmVWJyNzBVRkJrZVdwT2d5YUlpMXRSMmN1RGhmU0JhYjliN3ViT2YvZno4SjY2OC9iR3Jibi96eXJ2T3FGMTQ1cGxuWG5MSmdrdXZ2NkVERkdCV3JLVjRmOUZDTzNXME1oNkdoVUlhSFNhbGg3UVl3VE1hdkRHZU1tZmNqYkQ3N0dlLytHSzNWOSsvNnJTcnJycjk4VHZUN3k1NWE4RWxDTHg4MDNXV2doeUF1blI2UEZLdWxrcjFiS1RPS2xYbTBYcWtrYXdQajhMR1lZdzA1bGJNWWltZHJRNDg5ZXkrKys2Mnh4R3Z2bkRhYVk5ZGRlZmp3NVZ6bDd4MTZZSUZDeFpldmkxUTA2QSt3RmhpUVdVZ0Y3UTJ2ZkdjeWp4UWk2U2p5Y2xLS2FYUnBUTUJmMDRmdHlTODN2aEgrOTY2Mng0SHZQTHBGVWk4SzllNDVvd2w1NzU5NllKTEY2NkxMWnkxT0N2TUNwcG5zajB0U3FaczFtanRBd2F6R1VhUFpkRzJ6RWdTZmZ4bDJEdm9GVm44cXR3ODQ4TFNrbk4vWExodzNYVTZRQnBBRURVc2dBNGxUTFpHTmVxQW9Xc01LVmtXZnkvbkdjRXFpVHJ3OWtQZVRqdnM4T2lqVjN4eXdRVWpiMTl6eGhtRkU1ZmNBTjVNRUlaY245Q3d5dUUwQXBYRkViUkwrZlhJQXc1NVRxN0QyMzMzd3c1NzlORlBMb2dpNzl3VEY5MElNOXdKU2d6UHM5RUFxOGxWOVhpWlVNREJ5c1FjbE1kWVozckFIZmJpaXkrKyt2SmR5VE1LOVJOdmZHU3ptYUJPRWhpenQ4RFNobnFlQ1N0aExJRkQwWnZsOHFBKzJqakQyMzZYWFhZKzVmT2JYMDVYd1Z2MDNQckFkSUpPZ1hGTVJpb3dzYlZTdnRqaTlCQW9UeDQrcnRNN0VMeWRkejVsengxdlB1LzUwUk1YUFR5dkd6UTZyWHpZRlIwS1VsNUhybWdLeVY2clBPelJwdU1mbU9YdHY4L05JSTR0bWpOdmJPc3VVSVJwNXZWZ3NDeFVSeUlOUEtybE9aZmg3YmpkZGpjZmU5NUo4K2JOald3MUExekRKRm9GbUJZS2swQmhidHJqYUdPbnQzM2IyMmU3WFhjOS83ekR4K1pXaGxidUJpVUJIaFloMTVSTHc1N01DUko0SWUrMEJ5RDJEZ1p2TytUTm0xdkp4MWJzQWpsSkVHT0pwSXVSTFZUZHRLY3pqZjdjOXVRQ3A3MVRENTh6VmhnS2VycEFBNEMyb0QvdUw3WTBNdytMRHp5OC9PakhIK3owZHBucEhUS1pqUGYzZDRPMDB5cFFTV3VaaFhVQ2J5RjRFQ1ZHZ1ByNlFuM0cvdEhmYnAxWjN4RjdIaXdQSVBJaWlhTEgwaFAwZXpQNVFJYlZUMFVxOVdSMHBHUzFXazJsYUtreThUTDJUdTd5b01EemtEY1U2N003M0YyZ2pSWWxKbG11MVNaSDlMRjZwcGtzRlNxRmpNc3FCYk9ONElNdGI2ZHU3OVFiNXh3eU9oU3pHMnl6UVowb1dieCtpNHVEbDVwUjRnUTdMNFlrd1NseTNObkg3THNzNzNEa0JlMG1nMkVXYU5lSjBHY0doOGRIZUhyUjgwYTN2WU42ZWREZm9NMWtNaGtjZmQyZ2tYTktWcXNBR05YSDJBRkVudVRpdk84Zzc1WmxlU081b05FSW9MMEhLSUxJNUJtK1dTOE84TGcrSmpBNWRlSVYwOTVoMkRzU3ZIMWFYajVYN1ROQ0RQYXVMcS91TUFFb01Qa21INXhNMW95Q0FQdWZXSzZsRDNubjEvMW1lVHRpYit5UVVyNDZZZEhwZEZCaUQ1QVd4V1N1WWpST2pOU2lCcWVZRC9rTkpjOUU0cGlQWDdzRkpnVDNGM3NIWSsvWXd4Yy9VanUzdmlSRUF3Z1ZPbnFBemhGWEtkQklsaVBsaWNsNllXRHUzRUpxdlBidU1SL3Y5OW90R0d4NSsyUHZ1Y1dMRnk4YVN4V21PTG8zYURIUVVyU2NUbFltcXZWbTFCRk41WFB4cVV6Tys4UXhSNy8zd1VzdkhiUURldUNtdlpNV2p3MVVpbjZkVjBmVElKcDZnVHBPcEFVK1Y2MUVLVVpDVStMa1JLNTUxbjE3WGZmOXQ5Kzh0Qk1NWUljSDh4RU9HbWdjcUxBWGFOUFJNQzNjeEZEZElFR2NUaWZINld4UEgzUDBVVWRkZDkxM0gzeTJ3MkduelBSaUJoM2N3aTBiTkFJb2luNkpzem9sQ2Jab0VZM09FL2Z0ZFJUa3V2ZGUrMnkzUFk4OHN0T0RDbWdaTkM0VGhFNkhvRGJKS1F4ekltbzdkZi9SQUVMMjJuZmZQYTlBQldKdmJBQjVpT05hWGJiTkF2dnNSaDFjbnh4R25aVzhHUW1CbnFmdjJ3dm42SXVPUEg5L0FIZmNCOWVIUGVndkJudFhDS0JKcHhQSEcyZzJySmFHRTFVb0Z2WStXdWFPdWYrc0J6LzY4TU9EZDF6cUdRRkVHb3dMcnREUzN3VzZIU1lqbDVnTTVNdUZvWFROSm5LQmlYSWhmeC9pd0R2ck9KU3o5dDlPN3E4WHVnTll4eVQzQWcxRzkwUjJvam9acWRYTDBQdHNkYVIyemRHdDhvN2JHM0xjZy9BK0FpOEJIaXF3N2VsTUNQUjBnZjBPZzI1b0lwNndCQno5VStVK3pqaGFUSXorZE4yMEIzbi8rVGx6RGdIUEFSNUFzb2NMbkEwdTc3SFlUQU5oa2NNajdZVFJFZDJSeGswUDdRWGRsYmxuSGpweDNwdzVjeU5ocjhOa01nSUpKZ1ROQ0lEMlhtQnh3bTJFRnEyZWNNbngwazJMYjl3YnZMWTJOdmZjOFpHWXc0QkJrS1k5bTczUHRlWk0wR1d4cFZKd1dXNkdPeUl0V256VDRvZWZ4dG84MENhcTJVVE83ekFZUUFRVFIrWnM4STRLelFSWER2WEIvMnpvYkdnSzNIVFRJdzh2ZWdSS1E3VU5aQlBOS2IvYmJyTVpFQ21qOElGZndMUDB6d0xkRHR6VzFBcWNKUDVjTk8vaE9XT2cxU0xseExEWDc3RkFHeHhNNHNqMUFSam9BZ1A5RmdjbVc0RVR5MVN6Z0xWTU9PY05lQ3lvUVNzeUNoOGJjSFlvME9LWkRmYWhPM0JiL0lGNFJtcWdEZVZpOGtXNGpEOXRGOW9oekFGY245dlZEZnBkL1c2M3V3OXVuSTRybHhnQnplUHVnd3M0K0cvTGpFYndqKzcrZmxmSTN3VUcvWUZRS09SeWVUejkrQWZGNVEvNlF5NUlDSC9nMkk0SGZYRFFsVkFnRVBESDJ1QTYrTGpCeWpqTC81K3NMR2NEMmZzTGVyRzUxOW9EbEhJQUFBQUFTVVZPUks1Q1lJST1cIjtcbmV4cG9ydCB7XG4gIHNpZ25fZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/sign-FZVB2CS6.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js.js deleted file mode 100644 index b839428..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/walletConnectWallet-D6ZADJM7.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/walletConnectWallet-D6ZADJM7.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ walletConnectWallet_default; }\n/* harmony export */ });\n\"use client\";\n// src/wallets/walletConnectors/walletConnectWallet/walletConnectWallet.svg\nvar walletConnectWallet_default = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjM0I5OUZDIi8+CjxwYXRoIGQ9Ik04LjM4OTY5IDEwLjM3MzlDMTEuNDg4MiA3LjI3NTM4IDE2LjUxMTggNy4yNzUzOCAxOS42MTAzIDEwLjM3MzlMMTkuOTgzMiAxMC43NDY4QzIwLjEzODIgMTAuOTAxNyAyMC4xMzgyIDExLjE1MjkgMTkuOTgzMiAxMS4zMDc4TDE4LjcwNzYgMTIuNTgzNUMxOC42MzAxIDEyLjY2MDkgMTguNTA0NSAxMi42NjA5IDE4LjQyNzEgMTIuNTgzNUwxNy45MTM5IDEyLjA3MDNDMTUuNzUyMyA5LjkwODcgMTIuMjQ3NyA5LjkwODcgMTAuMDg2MSAxMi4wNzAzTDkuNTM2NTUgMTIuNjE5OEM5LjQ1OTA5IDEyLjY5NzMgOS4zMzM1IDEyLjY5NzMgOS4yNTYwNCAxMi42MTk4TDcuOTgwMzkgMTEuMzQ0MkM3LjgyNTQ3IDExLjE4OTMgNy44MjU0NyAxMC45MzgxIDcuOTgwMzkgMTAuNzgzMkw4LjM4OTY5IDEwLjM3MzlaTTIyLjI0ODUgMTMuMDEyTDIzLjM4MzggMTQuMTQ3NEMyMy41Mzg3IDE0LjMwMjMgMjMuNTM4NyAxNC41NTM1IDIzLjM4MzggMTQuNzA4NEwxOC4yNjQ1IDE5LjgyNzdDMTguMTA5NiAxOS45ODI3IDE3Ljg1ODQgMTkuOTgyNyAxNy43MDM1IDE5LjgyNzdDMTcuNzAzNSAxOS44Mjc3IDE3LjcwMzUgMTkuODI3NyAxNy43MDM1IDE5LjgyNzdMMTQuMDcwMiAxNi4xOTQ0QzE0LjAzMTQgMTYuMTU1NyAxMy45Njg2IDE2LjE1NTcgMTMuOTI5OSAxNi4xOTQ0QzEzLjkyOTkgMTYuMTk0NCAxMy45Mjk5IDE2LjE5NDQgMTMuOTI5OSAxNi4xOTQ0TDEwLjI5NjYgMTkuODI3N0MxMC4xNDE3IDE5Ljk4MjcgOS44OTA1MyAxOS45ODI3IDkuNzM1NjEgMTkuODI3OEM5LjczNTYgMTkuODI3OCA5LjczNTYgMTkuODI3NyA5LjczNTYgMTkuODI3N0w0LjYxNjE5IDE0LjcwODNDNC40NjEyNyAxNC41NTM0IDQuNDYxMjcgMTQuMzAyMiA0LjYxNjE5IDE0LjE0NzNMNS43NTE1MiAxMy4wMTJDNS45MDY0NSAxMi44NTcgNi4xNTc2MyAxMi44NTcgNi4zMTI1NSAxMy4wMTJMOS45NDU5NSAxNi42NDU0QzkuOTg0NjggMTYuNjg0MSAxMC4wNDc1IDE2LjY4NDEgMTAuMDg2MiAxNi42NDU0QzEwLjA4NjIgMTYuNjQ1NCAxMC4wODYyIDE2LjY0NTQgMTAuMDg2MiAxNi42NDU0TDEzLjcxOTQgMTMuMDEyQzEzLjg3NDMgMTIuODU3IDE0LjEyNTUgMTIuODU3IDE0LjI4MDUgMTMuMDEyQzE0LjI4MDUgMTMuMDEyIDE0LjI4MDUgMTMuMDEyIDE0LjI4MDUgMTMuMDEyTDE3LjkxMzkgMTYuNjQ1NEMxNy45NTI2IDE2LjY4NDEgMTguMDE1NCAxNi42ODQxIDE4LjA1NDEgMTYuNjQ1NEwyMS42ODc0IDEzLjAxMkMyMS44NDI0IDEyLjg1NzEgMjIuMDkzNiAxMi44NTcxIDIyLjI0ODUgMTMuMDEyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3dhbGxldENvbm5lY3RXYWxsZXQtRDZaQURKTTcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxzREFBc0Q7QUFHcEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC93YWxsZXRDb25uZWN0V2FsbGV0LUQ2WkFESk03LmpzPzVjMzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL3dhbGxldENvbm5lY3RXYWxsZXQvd2FsbGV0Q29ubmVjdFdhbGxldC5zdmdcbnZhciB3YWxsZXRDb25uZWN0V2FsbGV0X2RlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qZ2lJR2hsYVdkb2REMGlNamdpSUhacFpYZENiM2c5SWpBZ01DQXlPQ0F5T0NJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEpsWTNRZ2QybGtkR2c5SWpJNElpQm9aV2xuYUhROUlqSTRJaUJtYVd4c1BTSWpNMEk1T1VaRElpOCtDanh3WVhSb0lHUTlJazA0TGpNNE9UWTVJREV3TGpNM016bERNVEV1TkRnNE1pQTNMakkzTlRNNElERTJMalV4TVRnZ055NHlOelV6T0NBeE9TNDJNVEF6SURFd0xqTTNNemxNTVRrdU9UZ3pNaUF4TUM0M05EWTRRekl3TGpFek9ESWdNVEF1T1RBeE55QXlNQzR4TXpneUlERXhMakUxTWprZ01Ua3VPVGd6TWlBeE1TNHpNRGM0VERFNExqY3dOellnTVRJdU5UZ3pOVU14T0M0Mk16QXhJREV5TGpZMk1Ea2dNVGd1TlRBME5TQXhNaTQyTmpBNUlERTRMalF5TnpFZ01USXVOVGd6TlV3eE55NDVNVE01SURFeUxqQTNNRE5ETVRVdU56VXlNeUE1TGprd09EY2dNVEl1TWpRM055QTVMamt3T0RjZ01UQXVNRGcyTVNBeE1pNHdOekF6VERrdU5UTTJOVFVnTVRJdU5qRTVPRU01TGpRMU9UQTVJREV5TGpZNU56TWdPUzR6TXpNMUlERXlMalk1TnpNZ09TNHlOVFl3TkNBeE1pNDJNVGs0VERjdU9UZ3dNemtnTVRFdU16UTBNa00zTGpneU5UUTNJREV4TGpFNE9UTWdOeTQ0TWpVME55QXhNQzQ1TXpneElEY3VPVGd3TXprZ01UQXVOemd6TWt3NExqTTRPVFk1SURFd0xqTTNNemxhVFRJeUxqSTBPRFVnTVRNdU1ERXlUREl6TGpNNE16Z2dNVFF1TVRRM05FTXlNeTQxTXpnM0lERTBMak13TWpNZ01qTXVOVE00TnlBeE5DNDFOVE0xSURJekxqTTRNemdnTVRRdU56QTRORXd4T0M0eU5qUTFJREU1TGpneU56ZERNVGd1TVRBNU5pQXhPUzQ1T0RJM0lERTNMamcxT0RRZ01Ua3VPVGd5TnlBeE55NDNNRE0xSURFNUxqZ3lOemRETVRjdU56QXpOU0F4T1M0NE1qYzNJREUzTGpjd016VWdNVGt1T0RJM055QXhOeTQzTURNMUlERTVMamd5TnpkTU1UUXVNRGN3TWlBeE5pNHhPVFEwUXpFMExqQXpNVFFnTVRZdU1UVTFOeUF4TXk0NU5qZzJJREUyTGpFMU5UY2dNVE11T1RJNU9TQXhOaTR4T1RRMFF6RXpMamt5T1RrZ01UWXVNVGswTkNBeE15NDVNams1SURFMkxqRTVORFFnTVRNdU9USTVPU0F4Tmk0eE9UUTBUREV3TGpJNU5qWWdNVGt1T0RJM04wTXhNQzR4TkRFM0lERTVMams0TWpjZ09TNDRPVEExTXlBeE9TNDVPREkzSURrdU56TTFOakVnTVRrdU9ESTNPRU01TGpjek5UWWdNVGt1T0RJM09DQTVMamN6TlRZZ01Ua3VPREkzTnlBNUxqY3pOVFlnTVRrdU9ESTNOMHcwTGpZeE5qRTVJREUwTGpjd09ETkROQzQwTmpFeU55QXhOQzQxTlRNMElEUXVORFl4TWpjZ01UUXVNekF5TWlBMExqWXhOakU1SURFMExqRTBOek5NTlM0M05URTFNaUF4TXk0d01USkROUzQ1TURZME5TQXhNaTQ0TlRjZ05pNHhOVGMyTXlBeE1pNDROVGNnTmk0ek1USTFOU0F4TXk0d01USk1PUzQ1TkRVNU5TQXhOaTQyTkRVMFF6a3VPVGcwTmpnZ01UWXVOamcwTVNBeE1DNHdORGMxSURFMkxqWTROREVnTVRBdU1EZzJNaUF4Tmk0Mk5EVTBRekV3TGpBNE5qSWdNVFl1TmpRMU5DQXhNQzR3T0RZeUlERTJMalkwTlRRZ01UQXVNRGcyTWlBeE5pNDJORFUwVERFekxqY3hPVFFnTVRNdU1ERXlRekV6TGpnM05ETWdNVEl1T0RVM0lERTBMakV5TlRVZ01USXVPRFUzSURFMExqSTRNRFVnTVRNdU1ERXlRekUwTGpJNE1EVWdNVE11TURFeUlERTBMakk0TURVZ01UTXVNREV5SURFMExqSTRNRFVnTVRNdU1ERXlUREUzTGpreE16a2dNVFl1TmpRMU5FTXhOeTQ1TlRJMklERTJMalk0TkRFZ01UZ3VNREUxTkNBeE5pNDJPRFF4SURFNExqQTFOREVnTVRZdU5qUTFORXd5TVM0Mk9EYzBJREV6TGpBeE1rTXlNUzQ0TkRJMElERXlMamcxTnpFZ01qSXVNRGt6TmlBeE1pNDROVGN4SURJeUxqSTBPRFVnTVRNdU1ERXlXaUlnWm1sc2JEMGlkMmhwZEdVaUx6NEtQQzl6ZG1jK0NnPT1cIjtcbmV4cG9ydCB7XG4gIHdhbGxldENvbm5lY3RXYWxsZXRfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/walletConnectWallet-D6ZADJM7.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js.js b/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js.js deleted file mode 100644 index 8379afe..0000000 --- a/.next/static/chunks/node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js"],{ - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/zora-KVO7WIOK.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/zora-KVO7WIOK.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ zora_default; }\n/* harmony export */ });\n\"use client\";\n// src/components/RainbowKitProvider/chainIcons/zora.svg\nvar zora_default = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNLjk0MyAxMy43NTRjMCA3LjU4NiA1Ljk0NCAxMy43NTUgMTMuMjUyIDEzLjc1NSA3LjMwOCAwIDEzLjI1Mi02LjE3IDEzLjI1Mi0xMy43NTVDMjcuNDQgNi4xNyAyMS40OTcgMCAxNC4xOTUgMCA2Ljg4NyAwIC45NDMgNi4xNy45NDMgMTMuNzU0WiIvPjxwYXRoIGZpbGw9InVybCgjYykiIGQ9Ik0uOTQzIDEzLjc1NGMwIDcuNTg2IDUuOTQ0IDEzLjc1NSAxMy4yNTIgMTMuNzU1IDcuMzA4IDAgMTMuMjUyLTYuMTcgMTMuMjUyLTEzLjc1NUMyNy40NCA2LjE3IDIxLjQ5NyAwIDE0LjE5NSAwIDYuODg3IDAgLjk0MyA2LjE3Ljk0MyAxMy43NTRaIi8+PHBhdGggZmlsbD0idXJsKCNkKSIgZD0iTS45NDMgMTMuNzU0YzAgNy41ODYgNS45NDQgMTMuNzU1IDEzLjI1MiAxMy43NTUgNy4zMDggMCAxMy4yNTItNi4xNyAxMy4yNTItMTMuNzU1QzI3LjQ0IDYuMTcgMjEuNDk3IDAgMTQuMTk1IDAgNi44ODcgMCAuOTQzIDYuMTcuOTQzIDEzLjc1NFoiLz48L2c+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTkuOTU0NyAwIDAgMjAuNzExMyAxOC4xNiA2LjcpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMDA1IiBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIuNDU4IiBzdG9wLWNvbG9yPSIjQjdEOEM4Ii8+PHN0b3Agb2Zmc2V0PSIuNjU2IiBzdG9wLWNvbG9yPSIjNkQ5NDg3Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNEI0QzNDIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImMiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxOS45NTQ3IDAgMCAyMC43MTEzIDE4LjE2IDYuNykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4wMDUiIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii40NTgiIHN0b3AtY29sb3I9IiNCNUI0QzYiLz48c3RvcCBvZmZzZXQ9Ii42NTYiIHN0b3AtY29sb3I9IiM5QjhGOEYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0QjRDM0MiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iZCIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDE5Ljk1NDcgMCAwIDIwLjcxMTMgMTguMTYgNi43KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjE1NiIgc3RvcC1jb2xvcj0iI0RDQzhEMCIvPjxzdG9wIG9mZnNldD0iLjMwMiIgc3RvcC1jb2xvcj0iIzc4QzhDRiIvPjxzdG9wIG9mZnNldD0iLjQyNyIgc3RvcC1jb2xvcj0iIzREOTU5RSIvPjxzdG9wIG9mZnNldD0iLjU1NyIgc3RvcC1jb2xvcj0iIzMwNUVCOSIvPjxzdG9wIG9mZnNldD0iLjc5NyIgc3RvcC1jb2xvcj0iIzMxMUYxMiIvPjxzdG9wIG9mZnNldD0iLjkwNiIgc3RvcC1jb2xvcj0iIzY4NDIzMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzJEMUMxMyIvPjwvcmFkaWFsR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDI4djI4SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L3pvcmEtS1ZPN1dJT0suanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFHckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC96b3JhLUtWTzdXSU9LLmpzPzkwNzUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvY2hhaW5JY29ucy96b3JhLnN2Z1xudmFyIHpvcmFfZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5T0NJZ2FHVnBaMmgwUFNJeU9DSWdabWxzYkQwaWJtOXVaU0krUEdjZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTJFcElqNDhjR0YwYUNCbWFXeHNQU0oxY213b0kySXBJaUJrUFNKTkxqazBNeUF4TXk0M05UUmpNQ0EzTGpVNE5pQTFMamswTkNBeE15NDNOVFVnTVRNdU1qVXlJREV6TGpjMU5TQTNMak13T0NBd0lERXpMakkxTWkwMkxqRTNJREV6TGpJMU1pMHhNeTQzTlRWRE1qY3VORFFnTmk0eE55QXlNUzQwT1RjZ01DQXhOQzR4T1RVZ01DQTJMamc0TnlBd0lDNDVORE1nTmk0eE55NDVORE1nTVRNdU56VTBXaUl2UGp4d1lYUm9JR1pwYkd3OUluVnliQ2dqWXlraUlHUTlJazB1T1RReklERXpMamMxTkdNd0lEY3VOVGcySURVdU9UUTBJREV6TGpjMU5TQXhNeTR5TlRJZ01UTXVOelUxSURjdU16QTRJREFnTVRNdU1qVXlMVFl1TVRjZ01UTXVNalV5TFRFekxqYzFOVU15Tnk0ME5DQTJMakUzSURJeExqUTVOeUF3SURFMExqRTVOU0F3SURZdU9EZzNJREFnTGprME15QTJMakUzTGprME15QXhNeTQzTlRSYUlpOCtQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTmtLU0lnWkQwaVRTNDVORE1nTVRNdU56VTBZekFnTnk0MU9EWWdOUzQ1TkRRZ01UTXVOelUxSURFekxqSTFNaUF4TXk0M05UVWdOeTR6TURnZ01DQXhNeTR5TlRJdE5pNHhOeUF4TXk0eU5USXRNVE11TnpVMVF6STNMalEwSURZdU1UY2dNakV1TkRrM0lEQWdNVFF1TVRrMUlEQWdOaTQ0T0RjZ01DQXVPVFF6SURZdU1UY3VPVFF6SURFekxqYzFORm9pTHo0OEwyYytQR1JsWm5NK1BISmhaR2xoYkVkeVlXUnBaVzUwSUdsa1BTSmlJaUJqZUQwaU1DSWdZM2s5SWpBaUlISTlJakVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTVRrdU9UVTBOeUF3SURBZ01qQXVOekV4TXlBeE9DNHhOaUEyTGpjcElpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krUEhOMGIzQWdiMlptYzJWMFBTSXVNREExSWlCemRHOXdMV052Ykc5eVBTSWpabVptSWk4K1BITjBiM0FnYjJabWMyVjBQU0l1TkRVNElpQnpkRzl3TFdOdmJHOXlQU0lqUWpkRU9FTTRJaTgrUEhOMGIzQWdiMlptYzJWMFBTSXVOalUySWlCemRHOXdMV052Ykc5eVBTSWpOa1E1TkRnM0lpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkRzl3TFdOdmJHOXlQU0lqTkVJMFF6TkRJaTgrUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDQ4Y21Ga2FXRnNSM0poWkdsbGJuUWdhV1E5SW1NaUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3hPUzQ1TlRRM0lEQWdNQ0F5TUM0M01URXpJREU0TGpFMklEWXVOeWtpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElqNDhjM1J2Y0NCdlptWnpaWFE5SWk0d01EVWlJSE4wYjNBdFkyOXNiM0k5SWlObVptWWlMejQ4YzNSdmNDQnZabVp6WlhROUlpNDBOVGdpSUhOMGIzQXRZMjlzYjNJOUlpTkNOVUkwUXpZaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWk0Mk5UWWlJSE4wYjNBdFkyOXNiM0k5SWlNNVFqaEdPRVlpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTTBRalJETTBNaUx6NDhMM0poWkdsaGJFZHlZV1JwWlc1MFBqeHlZV1JwWVd4SGNtRmthV1Z1ZENCcFpEMGlaQ0lnWTNnOUlqQWlJR041UFNJd0lpQnlQU0l4SWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RFNUxqazFORGNnTUNBd0lESXdMamN4TVRNZ01UZ3VNVFlnTmk0M0tTSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJRzltWm5ObGREMGlMakUxTmlJZ2MzUnZjQzFqYjJ4dmNqMGlJMFJEUXpoRU1DSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqTXdNaUlnYzNSdmNDMWpiMnh2Y2owaUl6YzRRemhEUmlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGpReU55SWdjM1J2Y0MxamIyeHZjajBpSXpSRU9UVTVSU0l2UGp4emRHOXdJRzltWm5ObGREMGlMalUxTnlJZ2MzUnZjQzFqYjJ4dmNqMGlJek13TlVWQ09TSXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqYzVOeUlnYzNSdmNDMWpiMnh2Y2owaUl6TXhNVVl4TWlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTGprd05pSWdjM1J2Y0MxamIyeHZjajBpSXpZNE5ESXpNaUl2UGp4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUl6SkVNVU14TXlJdlBqd3ZjbUZrYVdGc1IzSmhaR2xsYm5RK1BHTnNhWEJRWVhSb0lHbGtQU0poSWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NQ0F3YURJNGRqSTRTREI2SWk4K1BDOWpiR2x3VUdGMGFENDhMMlJsWm5NK1BDOXpkbWMrXCI7XG5leHBvcnQge1xuICB6b3JhX2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/zora-KVO7WIOK.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_walletconnect_ethereum-provider_dist_index_es_js.js b/.next/static/chunks/node_modules_walletconnect_ethereum-provider_dist_index_es_js.js deleted file mode 100644 index a657990..0000000 --- a/.next/static/chunks/node_modules_walletconnect_ethereum-provider_dist_index_es_js.js +++ /dev/null @@ -1,691 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_walletconnect_ethereum-provider_dist_index_es_js"],{ - -/***/ "./node_modules/@stablelib/ed25519/lib/ed25519.js": -/*!********************************************************!*\ - !*** ./node_modules/@stablelib/ed25519/lib/ed25519.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.convertSecretKeyToX25519 = exports.convertPublicKeyToX25519 = exports.verify = exports.sign = exports.extractPublicKeyFromSecretKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\nconst random_1 = __webpack_require__(/*! @stablelib/random */ \"./node_modules/@stablelib/random/lib/random.js\");\nconst sha512_1 = __webpack_require__(/*! @stablelib/sha512 */ \"./node_modules/@stablelib/sha512/lib/sha512.js\");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nexports.SIGNATURE_LENGTH = 64;\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 64;\nexports.SEED_LENGTH = 32;\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) {\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// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst gf0 = gf();\nconst gf1 = gf([1]);\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\nfunction set25519(r, a) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\nfunction car25519(o) {\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}\nfunction sel25519(p, q, b) {\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}\nfunction pack25519(o, n) {\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}\nfunction verify32(x, y) {\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}\nfunction neq25519(a, b) {\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}\nfunction par25519(a) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\nfunction unpack25519(o, n) {\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}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\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 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 // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\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}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, i) {\n const c = gf();\n let a;\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}\nfunction pow2523(o, i) {\n const c = gf();\n let a;\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}\nfunction edadd(p, q) {\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();\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 mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\nfunction cswap(p, q, b) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\nfunction pack(r, p) {\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}\nfunction scalarmult(p, q, s) {\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}\nfunction scalarbase(p, s) {\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// Generates key pair from secret 32-byte seed.\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`);\n }\n const d = (0, sha512_1.hash)(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\nfunction extractPublicKeyFromSecretKey(secretKey) {\n if (secretKey.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\nexports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;\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]);\nfunction modL(r, x) {\n let carry;\n let i;\n let j;\n let k;\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}\nfunction reduce(r) {\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// Returns 64-byte signature of the message under the 64-byte secret key.\nfunction sign(secretKey, message) {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n const hs = new sha512_1.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 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 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 return signature;\n}\nexports.sign = sign;\nfunction unpackneg(r, p) {\n const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\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 square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\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 square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n mul(r[3], r[0], r[1]);\n return 0;\n}\nfunction verify(publicKey, message, signature) {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n if (signature.length !== exports.SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`);\n }\n if (unpackneg(q, publicKey)) {\n return false;\n }\n const hs = new sha512_1.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 scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\nexports.verify = verify;\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nfunction convertPublicKeyToX25519(publicKey) {\n let q = [gf(), gf(), gf(), gf()];\n if (unpackneg(q, publicKey)) {\n throw new Error(\"Ed25519: invalid public key\");\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 let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\nexports.convertPublicKeyToX25519 = convertPublicKeyToX25519;\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nfunction convertSecretKeyToX25519(secretKey) {\n const d = (0, sha512_1.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 (0, wipe_1.wipe)(d);\n return o;\n}\nexports.convertSecretKeyToX25519 = convertSecretKeyToX25519;\n//# sourceMappingURL=ed25519.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9lZDI1NTE5L2xpYi9lZDI1NTE5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsR0FBRyxjQUFjLEdBQUcsWUFBWSxHQUFHLHFDQUFxQyxHQUFHLHVCQUF1QixHQUFHLCtCQUErQixHQUFHLG1CQUFtQixHQUFHLHlCQUF5QixHQUFHLHlCQUF5QixHQUFHLHdCQUF3QjtBQUNoVDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDNUMsaUJBQWlCLG1CQUFPLENBQUMseUVBQW1CO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyxtRUFBaUI7QUFDeEMsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQkFBaUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLE9BQU87QUFDM0I7QUFDQSx3QkFBd0IsUUFBUTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFFBQVE7QUFDeEI7QUFDQTtBQUNBLGtCQUFrQixRQUFRO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsUUFBUTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsUUFBUTtBQUN4QjtBQUNBO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixRQUFRO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLE9BQU87QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsUUFBUTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQscUJBQXFCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSx1REFBdUQsMkJBQTJCO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBLHFDQUFxQyxPQUFPO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsUUFBUTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixRQUFRO0FBQ3hCO0FBQ0E7QUFDQSxnQkFBZ0IsUUFBUTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUIsd0JBQXdCLFFBQVE7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCwwQkFBMEI7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL2VkMjU1MTkvbGliL2VkMjU1MTkuanM/YzE5OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoQykgMjAxNiBEbWl0cnkgQ2hlc3RueWtoXG4vLyBNSVQgTGljZW5zZS4gU2VlIExJQ0VOU0UgZmlsZSBmb3IgZGV0YWlscy5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY29udmVydFNlY3JldEtleVRvWDI1NTE5ID0gZXhwb3J0cy5jb252ZXJ0UHVibGljS2V5VG9YMjU1MTkgPSBleHBvcnRzLnZlcmlmeSA9IGV4cG9ydHMuc2lnbiA9IGV4cG9ydHMuZXh0cmFjdFB1YmxpY0tleUZyb21TZWNyZXRLZXkgPSBleHBvcnRzLmdlbmVyYXRlS2V5UGFpciA9IGV4cG9ydHMuZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQgPSBleHBvcnRzLlNFRURfTEVOR1RIID0gZXhwb3J0cy5TRUNSRVRfS0VZX0xFTkdUSCA9IGV4cG9ydHMuUFVCTElDX0tFWV9MRU5HVEggPSBleHBvcnRzLlNJR05BVFVSRV9MRU5HVEggPSB2b2lkIDA7XG4vKipcbiAqIFBhY2thZ2UgZWQyNTUxOSBpbXBsZW1lbnRzIEVkMjU1MTkgcHVibGljLWtleSBzaWduYXR1cmUgYWxnb3JpdGhtLlxuICovXG5jb25zdCByYW5kb21fMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL3JhbmRvbVwiKTtcbmNvbnN0IHNoYTUxMl8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvc2hhNTEyXCIpO1xuY29uc3Qgd2lwZV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvd2lwZVwiKTtcbmV4cG9ydHMuU0lHTkFUVVJFX0xFTkdUSCA9IDY0O1xuZXhwb3J0cy5QVUJMSUNfS0VZX0xFTkdUSCA9IDMyO1xuZXhwb3J0cy5TRUNSRVRfS0VZX0xFTkdUSCA9IDY0O1xuZXhwb3J0cy5TRUVEX0xFTkdUSCA9IDMyO1xuLy8gUmV0dXJucyBuZXcgemVyby1maWxsZWQgMTYtZWxlbWVudCBHRiAoRmxvYXQ2NEFycmF5KS5cbi8vIElmIHBhc3NlZCBhbiBhcnJheSBvZiBudW1iZXJzLCBwcmVmaWxscyB0aGUgcmV0dXJuZWRcbi8vIGFycmF5IHdpdGggdGhlbS5cbi8vXG4vLyBXZSB1c2UgRmxvYXQ2NEFycmF5LCBiZWNhdXNlIHdlIG5lZWQgNDgtYml0IG51bWJlcnNcbi8vIGZvciB0aGlzIGltcGxlbWVudGF0aW9uLlxuZnVuY3Rpb24gZ2YoaW5pdCkge1xuICAgIGNvbnN0IHIgPSBuZXcgRmxvYXQ2NEFycmF5KDE2KTtcbiAgICBpZiAoaW5pdCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluaXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHJbaV0gPSBpbml0W2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByO1xufVxuLy8gQmFzZSBwb2ludC5cbmNvbnN0IF85ID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuXzlbMF0gPSA5O1xuY29uc3QgZ2YwID0gZ2YoKTtcbmNvbnN0IGdmMSA9IGdmKFsxXSk7XG5jb25zdCBEID0gZ2YoW1xuICAgIDB4NzhhMywgMHgxMzU5LCAweDRkY2EsIDB4NzVlYiwgMHhkOGFiLCAweDQxNDEsIDB4MGE0ZCwgMHgwMDcwLFxuICAgIDB4ZTg5OCwgMHg3Nzc5LCAweDQwNzksIDB4OGNjNywgMHhmZTczLCAweDJiNmYsIDB4NmNlZSwgMHg1MjAzXG5dKTtcbmNvbnN0IEQyID0gZ2YoW1xuICAgIDB4ZjE1OSwgMHgyNmIyLCAweDliOTQsIDB4ZWJkNiwgMHhiMTU2LCAweDgyODMsIDB4MTQ5YSwgMHgwMGUwLFxuICAgIDB4ZDEzMCwgMHhlZWYzLCAweDgwZjIsIDB4MTk4ZSwgMHhmY2U3LCAweDU2ZGYsIDB4ZDlkYywgMHgyNDA2XG5dKTtcbmNvbnN0IFggPSBnZihbXG4gICAgMHhkNTFhLCAweDhmMjUsIDB4MmQ2MCwgMHhjOTU2LCAweGE3YjIsIDB4OTUyNSwgMHhjNzYwLCAweDY5MmMsXG4gICAgMHhkYzVjLCAweGZkZDYsIDB4ZTIzMSwgMHhjMGE0LCAweDUzZmUsIDB4Y2Q2ZSwgMHgzNmQzLCAweDIxNjlcbl0pO1xuY29uc3QgWSA9IGdmKFtcbiAgICAweDY2NTgsIDB4NjY2NiwgMHg2NjY2LCAweDY2NjYsIDB4NjY2NiwgMHg2NjY2LCAweDY2NjYsIDB4NjY2NixcbiAgICAweDY2NjYsIDB4NjY2NiwgMHg2NjY2LCAweDY2NjYsIDB4NjY2NiwgMHg2NjY2LCAweDY2NjYsIDB4NjY2NlxuXSk7XG5jb25zdCBJID0gZ2YoW1xuICAgIDB4YTBiMCwgMHg0YTBlLCAweDFiMjcsIDB4YzRlZSwgMHhlNDc4LCAweGFkMmYsIDB4MTgwNiwgMHgyZjQzLFxuICAgIDB4ZDdhNywgMHgzZGZiLCAweDAwOTksIDB4MmI0ZCwgMHhkZjBiLCAweDRmYzEsIDB4MjQ4MCwgMHgyYjgzXG5dKTtcbmZ1bmN0aW9uIHNldDI1NTE5KHIsIGEpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgcltpXSA9IGFbaV0gfCAwO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNhcjI1NTE5KG8pIHtcbiAgICBsZXQgYyA9IDE7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIGxldCB2ID0gb1tpXSArIGMgKyA2NTUzNTtcbiAgICAgICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICAgICAgb1tpXSA9IHYgLSBjICogNjU1MzY7XG4gICAgfVxuICAgIG9bMF0gKz0gYyAtIDEgKyAzNyAqIChjIC0gMSk7XG59XG5mdW5jdGlvbiBzZWwyNTUxOShwLCBxLCBiKSB7XG4gICAgY29uc3QgYyA9IH4oYiAtIDEpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICBjb25zdCB0ID0gYyAmIChwW2ldIF4gcVtpXSk7XG4gICAgICAgIHBbaV0gXj0gdDtcbiAgICAgICAgcVtpXSBePSB0O1xuICAgIH1cbn1cbmZ1bmN0aW9uIHBhY2syNTUxOShvLCBuKSB7XG4gICAgY29uc3QgbSA9IGdmKCk7XG4gICAgY29uc3QgdCA9IGdmKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIHRbaV0gPSBuW2ldO1xuICAgIH1cbiAgICBjYXIyNTUxOSh0KTtcbiAgICBjYXIyNTUxOSh0KTtcbiAgICBjYXIyNTUxOSh0KTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IDI7IGorKykge1xuICAgICAgICBtWzBdID0gdFswXSAtIDB4ZmZlZDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCAxNTsgaSsrKSB7XG4gICAgICAgICAgICBtW2ldID0gdFtpXSAtIDB4ZmZmZiAtICgobVtpIC0gMV0gPj4gMTYpICYgMSk7XG4gICAgICAgICAgICBtW2kgLSAxXSAmPSAweGZmZmY7XG4gICAgICAgIH1cbiAgICAgICAgbVsxNV0gPSB0WzE1XSAtIDB4N2ZmZiAtICgobVsxNF0gPj4gMTYpICYgMSk7XG4gICAgICAgIGNvbnN0IGIgPSAobVsxNV0gPj4gMTYpICYgMTtcbiAgICAgICAgbVsxNF0gJj0gMHhmZmZmO1xuICAgICAgICBzZWwyNTUxOSh0LCBtLCAxIC0gYik7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICBvWzIgKiBpXSA9IHRbaV0gJiAweGZmO1xuICAgICAgICBvWzIgKiBpICsgMV0gPSB0W2ldID4+IDg7XG4gICAgfVxufVxuZnVuY3Rpb24gdmVyaWZ5MzIoeCwgeSkge1xuICAgIGxldCBkID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMyOyBpKyspIHtcbiAgICAgICAgZCB8PSB4W2ldIF4geVtpXTtcbiAgICB9XG4gICAgcmV0dXJuICgxICYgKChkIC0gMSkgPj4+IDgpKSAtIDE7XG59XG5mdW5jdGlvbiBuZXEyNTUxOShhLCBiKSB7XG4gICAgY29uc3QgYyA9IG5ldyBVaW50OEFycmF5KDMyKTtcbiAgICBjb25zdCBkID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuICAgIHBhY2syNTUxOShjLCBhKTtcbiAgICBwYWNrMjU1MTkoZCwgYik7XG4gICAgcmV0dXJuIHZlcmlmeTMyKGMsIGQpO1xufVxuZnVuY3Rpb24gcGFyMjU1MTkoYSkge1xuICAgIGNvbnN0IGQgPSBuZXcgVWludDhBcnJheSgzMik7XG4gICAgcGFjazI1NTE5KGQsIGEpO1xuICAgIHJldHVybiBkWzBdICYgMTtcbn1cbmZ1bmN0aW9uIHVucGFjazI1NTE5KG8sIG4pIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgb1tpXSA9IG5bMiAqIGldICsgKG5bMiAqIGkgKyAxXSA8PCA4KTtcbiAgICB9XG4gICAgb1sxNV0gJj0gMHg3ZmZmO1xufVxuZnVuY3Rpb24gYWRkKG8sIGEsIGIpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgb1tpXSA9IGFbaV0gKyBiW2ldO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHN1YihvLCBhLCBiKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIG9baV0gPSBhW2ldIC0gYltpXTtcbiAgICB9XG59XG5mdW5jdGlvbiBtdWwobywgYSwgYikge1xuICAgIGxldCB2LCBjLCB0MCA9IDAsIHQxID0gMCwgdDIgPSAwLCB0MyA9IDAsIHQ0ID0gMCwgdDUgPSAwLCB0NiA9IDAsIHQ3ID0gMCwgdDggPSAwLCB0OSA9IDAsIHQxMCA9IDAsIHQxMSA9IDAsIHQxMiA9IDAsIHQxMyA9IDAsIHQxNCA9IDAsIHQxNSA9IDAsIHQxNiA9IDAsIHQxNyA9IDAsIHQxOCA9IDAsIHQxOSA9IDAsIHQyMCA9IDAsIHQyMSA9IDAsIHQyMiA9IDAsIHQyMyA9IDAsIHQyNCA9IDAsIHQyNSA9IDAsIHQyNiA9IDAsIHQyNyA9IDAsIHQyOCA9IDAsIHQyOSA9IDAsIHQzMCA9IDAsIGIwID0gYlswXSwgYjEgPSBiWzFdLCBiMiA9IGJbMl0sIGIzID0gYlszXSwgYjQgPSBiWzRdLCBiNSA9IGJbNV0sIGI2ID0gYls2XSwgYjcgPSBiWzddLCBiOCA9IGJbOF0sIGI5ID0gYls5XSwgYjEwID0gYlsxMF0sIGIxMSA9IGJbMTFdLCBiMTIgPSBiWzEyXSwgYjEzID0gYlsxM10sIGIxNCA9IGJbMTRdLCBiMTUgPSBiWzE1XTtcbiAgICB2ID0gYVswXTtcbiAgICB0MCArPSB2ICogYjA7XG4gICAgdDEgKz0gdiAqIGIxO1xuICAgIHQyICs9IHYgKiBiMjtcbiAgICB0MyArPSB2ICogYjM7XG4gICAgdDQgKz0gdiAqIGI0O1xuICAgIHQ1ICs9IHYgKiBiNTtcbiAgICB0NiArPSB2ICogYjY7XG4gICAgdDcgKz0gdiAqIGI3O1xuICAgIHQ4ICs9IHYgKiBiODtcbiAgICB0OSArPSB2ICogYjk7XG4gICAgdDEwICs9IHYgKiBiMTA7XG4gICAgdDExICs9IHYgKiBiMTE7XG4gICAgdDEyICs9IHYgKiBiMTI7XG4gICAgdDEzICs9IHYgKiBiMTM7XG4gICAgdDE0ICs9IHYgKiBiMTQ7XG4gICAgdDE1ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMV07XG4gICAgdDEgKz0gdiAqIGIwO1xuICAgIHQyICs9IHYgKiBiMTtcbiAgICB0MyArPSB2ICogYjI7XG4gICAgdDQgKz0gdiAqIGIzO1xuICAgIHQ1ICs9IHYgKiBiNDtcbiAgICB0NiArPSB2ICogYjU7XG4gICAgdDcgKz0gdiAqIGI2O1xuICAgIHQ4ICs9IHYgKiBiNztcbiAgICB0OSArPSB2ICogYjg7XG4gICAgdDEwICs9IHYgKiBiOTtcbiAgICB0MTEgKz0gdiAqIGIxMDtcbiAgICB0MTIgKz0gdiAqIGIxMTtcbiAgICB0MTMgKz0gdiAqIGIxMjtcbiAgICB0MTQgKz0gdiAqIGIxMztcbiAgICB0MTUgKz0gdiAqIGIxNDtcbiAgICB0MTYgKz0gdiAqIGIxNTtcbiAgICB2ID0gYVsyXTtcbiAgICB0MiArPSB2ICogYjA7XG4gICAgdDMgKz0gdiAqIGIxO1xuICAgIHQ0ICs9IHYgKiBiMjtcbiAgICB0NSArPSB2ICogYjM7XG4gICAgdDYgKz0gdiAqIGI0O1xuICAgIHQ3ICs9IHYgKiBiNTtcbiAgICB0OCArPSB2ICogYjY7XG4gICAgdDkgKz0gdiAqIGI3O1xuICAgIHQxMCArPSB2ICogYjg7XG4gICAgdDExICs9IHYgKiBiOTtcbiAgICB0MTIgKz0gdiAqIGIxMDtcbiAgICB0MTMgKz0gdiAqIGIxMTtcbiAgICB0MTQgKz0gdiAqIGIxMjtcbiAgICB0MTUgKz0gdiAqIGIxMztcbiAgICB0MTYgKz0gdiAqIGIxNDtcbiAgICB0MTcgKz0gdiAqIGIxNTtcbiAgICB2ID0gYVszXTtcbiAgICB0MyArPSB2ICogYjA7XG4gICAgdDQgKz0gdiAqIGIxO1xuICAgIHQ1ICs9IHYgKiBiMjtcbiAgICB0NiArPSB2ICogYjM7XG4gICAgdDcgKz0gdiAqIGI0O1xuICAgIHQ4ICs9IHYgKiBiNTtcbiAgICB0OSArPSB2ICogYjY7XG4gICAgdDEwICs9IHYgKiBiNztcbiAgICB0MTEgKz0gdiAqIGI4O1xuICAgIHQxMiArPSB2ICogYjk7XG4gICAgdDEzICs9IHYgKiBiMTA7XG4gICAgdDE0ICs9IHYgKiBiMTE7XG4gICAgdDE1ICs9IHYgKiBiMTI7XG4gICAgdDE2ICs9IHYgKiBiMTM7XG4gICAgdDE3ICs9IHYgKiBiMTQ7XG4gICAgdDE4ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbNF07XG4gICAgdDQgKz0gdiAqIGIwO1xuICAgIHQ1ICs9IHYgKiBiMTtcbiAgICB0NiArPSB2ICogYjI7XG4gICAgdDcgKz0gdiAqIGIzO1xuICAgIHQ4ICs9IHYgKiBiNDtcbiAgICB0OSArPSB2ICogYjU7XG4gICAgdDEwICs9IHYgKiBiNjtcbiAgICB0MTEgKz0gdiAqIGI3O1xuICAgIHQxMiArPSB2ICogYjg7XG4gICAgdDEzICs9IHYgKiBiOTtcbiAgICB0MTQgKz0gdiAqIGIxMDtcbiAgICB0MTUgKz0gdiAqIGIxMTtcbiAgICB0MTYgKz0gdiAqIGIxMjtcbiAgICB0MTcgKz0gdiAqIGIxMztcbiAgICB0MTggKz0gdiAqIGIxNDtcbiAgICB0MTkgKz0gdiAqIGIxNTtcbiAgICB2ID0gYVs1XTtcbiAgICB0NSArPSB2ICogYjA7XG4gICAgdDYgKz0gdiAqIGIxO1xuICAgIHQ3ICs9IHYgKiBiMjtcbiAgICB0OCArPSB2ICogYjM7XG4gICAgdDkgKz0gdiAqIGI0O1xuICAgIHQxMCArPSB2ICogYjU7XG4gICAgdDExICs9IHYgKiBiNjtcbiAgICB0MTIgKz0gdiAqIGI3O1xuICAgIHQxMyArPSB2ICogYjg7XG4gICAgdDE0ICs9IHYgKiBiOTtcbiAgICB0MTUgKz0gdiAqIGIxMDtcbiAgICB0MTYgKz0gdiAqIGIxMTtcbiAgICB0MTcgKz0gdiAqIGIxMjtcbiAgICB0MTggKz0gdiAqIGIxMztcbiAgICB0MTkgKz0gdiAqIGIxNDtcbiAgICB0MjAgKz0gdiAqIGIxNTtcbiAgICB2ID0gYVs2XTtcbiAgICB0NiArPSB2ICogYjA7XG4gICAgdDcgKz0gdiAqIGIxO1xuICAgIHQ4ICs9IHYgKiBiMjtcbiAgICB0OSArPSB2ICogYjM7XG4gICAgdDEwICs9IHYgKiBiNDtcbiAgICB0MTEgKz0gdiAqIGI1O1xuICAgIHQxMiArPSB2ICogYjY7XG4gICAgdDEzICs9IHYgKiBiNztcbiAgICB0MTQgKz0gdiAqIGI4O1xuICAgIHQxNSArPSB2ICogYjk7XG4gICAgdDE2ICs9IHYgKiBiMTA7XG4gICAgdDE3ICs9IHYgKiBiMTE7XG4gICAgdDE4ICs9IHYgKiBiMTI7XG4gICAgdDE5ICs9IHYgKiBiMTM7XG4gICAgdDIwICs9IHYgKiBiMTQ7XG4gICAgdDIxICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbN107XG4gICAgdDcgKz0gdiAqIGIwO1xuICAgIHQ4ICs9IHYgKiBiMTtcbiAgICB0OSArPSB2ICogYjI7XG4gICAgdDEwICs9IHYgKiBiMztcbiAgICB0MTEgKz0gdiAqIGI0O1xuICAgIHQxMiArPSB2ICogYjU7XG4gICAgdDEzICs9IHYgKiBiNjtcbiAgICB0MTQgKz0gdiAqIGI3O1xuICAgIHQxNSArPSB2ICogYjg7XG4gICAgdDE2ICs9IHYgKiBiOTtcbiAgICB0MTcgKz0gdiAqIGIxMDtcbiAgICB0MTggKz0gdiAqIGIxMTtcbiAgICB0MTkgKz0gdiAqIGIxMjtcbiAgICB0MjAgKz0gdiAqIGIxMztcbiAgICB0MjEgKz0gdiAqIGIxNDtcbiAgICB0MjIgKz0gdiAqIGIxNTtcbiAgICB2ID0gYVs4XTtcbiAgICB0OCArPSB2ICogYjA7XG4gICAgdDkgKz0gdiAqIGIxO1xuICAgIHQxMCArPSB2ICogYjI7XG4gICAgdDExICs9IHYgKiBiMztcbiAgICB0MTIgKz0gdiAqIGI0O1xuICAgIHQxMyArPSB2ICogYjU7XG4gICAgdDE0ICs9IHYgKiBiNjtcbiAgICB0MTUgKz0gdiAqIGI3O1xuICAgIHQxNiArPSB2ICogYjg7XG4gICAgdDE3ICs9IHYgKiBiOTtcbiAgICB0MTggKz0gdiAqIGIxMDtcbiAgICB0MTkgKz0gdiAqIGIxMTtcbiAgICB0MjAgKz0gdiAqIGIxMjtcbiAgICB0MjEgKz0gdiAqIGIxMztcbiAgICB0MjIgKz0gdiAqIGIxNDtcbiAgICB0MjMgKz0gdiAqIGIxNTtcbiAgICB2ID0gYVs5XTtcbiAgICB0OSArPSB2ICogYjA7XG4gICAgdDEwICs9IHYgKiBiMTtcbiAgICB0MTEgKz0gdiAqIGIyO1xuICAgIHQxMiArPSB2ICogYjM7XG4gICAgdDEzICs9IHYgKiBiNDtcbiAgICB0MTQgKz0gdiAqIGI1O1xuICAgIHQxNSArPSB2ICogYjY7XG4gICAgdDE2ICs9IHYgKiBiNztcbiAgICB0MTcgKz0gdiAqIGI4O1xuICAgIHQxOCArPSB2ICogYjk7XG4gICAgdDE5ICs9IHYgKiBiMTA7XG4gICAgdDIwICs9IHYgKiBiMTE7XG4gICAgdDIxICs9IHYgKiBiMTI7XG4gICAgdDIyICs9IHYgKiBiMTM7XG4gICAgdDIzICs9IHYgKiBiMTQ7XG4gICAgdDI0ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMTBdO1xuICAgIHQxMCArPSB2ICogYjA7XG4gICAgdDExICs9IHYgKiBiMTtcbiAgICB0MTIgKz0gdiAqIGIyO1xuICAgIHQxMyArPSB2ICogYjM7XG4gICAgdDE0ICs9IHYgKiBiNDtcbiAgICB0MTUgKz0gdiAqIGI1O1xuICAgIHQxNiArPSB2ICogYjY7XG4gICAgdDE3ICs9IHYgKiBiNztcbiAgICB0MTggKz0gdiAqIGI4O1xuICAgIHQxOSArPSB2ICogYjk7XG4gICAgdDIwICs9IHYgKiBiMTA7XG4gICAgdDIxICs9IHYgKiBiMTE7XG4gICAgdDIyICs9IHYgKiBiMTI7XG4gICAgdDIzICs9IHYgKiBiMTM7XG4gICAgdDI0ICs9IHYgKiBiMTQ7XG4gICAgdDI1ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMTFdO1xuICAgIHQxMSArPSB2ICogYjA7XG4gICAgdDEyICs9IHYgKiBiMTtcbiAgICB0MTMgKz0gdiAqIGIyO1xuICAgIHQxNCArPSB2ICogYjM7XG4gICAgdDE1ICs9IHYgKiBiNDtcbiAgICB0MTYgKz0gdiAqIGI1O1xuICAgIHQxNyArPSB2ICogYjY7XG4gICAgdDE4ICs9IHYgKiBiNztcbiAgICB0MTkgKz0gdiAqIGI4O1xuICAgIHQyMCArPSB2ICogYjk7XG4gICAgdDIxICs9IHYgKiBiMTA7XG4gICAgdDIyICs9IHYgKiBiMTE7XG4gICAgdDIzICs9IHYgKiBiMTI7XG4gICAgdDI0ICs9IHYgKiBiMTM7XG4gICAgdDI1ICs9IHYgKiBiMTQ7XG4gICAgdDI2ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMTJdO1xuICAgIHQxMiArPSB2ICogYjA7XG4gICAgdDEzICs9IHYgKiBiMTtcbiAgICB0MTQgKz0gdiAqIGIyO1xuICAgIHQxNSArPSB2ICogYjM7XG4gICAgdDE2ICs9IHYgKiBiNDtcbiAgICB0MTcgKz0gdiAqIGI1O1xuICAgIHQxOCArPSB2ICogYjY7XG4gICAgdDE5ICs9IHYgKiBiNztcbiAgICB0MjAgKz0gdiAqIGI4O1xuICAgIHQyMSArPSB2ICogYjk7XG4gICAgdDIyICs9IHYgKiBiMTA7XG4gICAgdDIzICs9IHYgKiBiMTE7XG4gICAgdDI0ICs9IHYgKiBiMTI7XG4gICAgdDI1ICs9IHYgKiBiMTM7XG4gICAgdDI2ICs9IHYgKiBiMTQ7XG4gICAgdDI3ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMTNdO1xuICAgIHQxMyArPSB2ICogYjA7XG4gICAgdDE0ICs9IHYgKiBiMTtcbiAgICB0MTUgKz0gdiAqIGIyO1xuICAgIHQxNiArPSB2ICogYjM7XG4gICAgdDE3ICs9IHYgKiBiNDtcbiAgICB0MTggKz0gdiAqIGI1O1xuICAgIHQxOSArPSB2ICogYjY7XG4gICAgdDIwICs9IHYgKiBiNztcbiAgICB0MjEgKz0gdiAqIGI4O1xuICAgIHQyMiArPSB2ICogYjk7XG4gICAgdDIzICs9IHYgKiBiMTA7XG4gICAgdDI0ICs9IHYgKiBiMTE7XG4gICAgdDI1ICs9IHYgKiBiMTI7XG4gICAgdDI2ICs9IHYgKiBiMTM7XG4gICAgdDI3ICs9IHYgKiBiMTQ7XG4gICAgdDI4ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMTRdO1xuICAgIHQxNCArPSB2ICogYjA7XG4gICAgdDE1ICs9IHYgKiBiMTtcbiAgICB0MTYgKz0gdiAqIGIyO1xuICAgIHQxNyArPSB2ICogYjM7XG4gICAgdDE4ICs9IHYgKiBiNDtcbiAgICB0MTkgKz0gdiAqIGI1O1xuICAgIHQyMCArPSB2ICogYjY7XG4gICAgdDIxICs9IHYgKiBiNztcbiAgICB0MjIgKz0gdiAqIGI4O1xuICAgIHQyMyArPSB2ICogYjk7XG4gICAgdDI0ICs9IHYgKiBiMTA7XG4gICAgdDI1ICs9IHYgKiBiMTE7XG4gICAgdDI2ICs9IHYgKiBiMTI7XG4gICAgdDI3ICs9IHYgKiBiMTM7XG4gICAgdDI4ICs9IHYgKiBiMTQ7XG4gICAgdDI5ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMTVdO1xuICAgIHQxNSArPSB2ICogYjA7XG4gICAgdDE2ICs9IHYgKiBiMTtcbiAgICB0MTcgKz0gdiAqIGIyO1xuICAgIHQxOCArPSB2ICogYjM7XG4gICAgdDE5ICs9IHYgKiBiNDtcbiAgICB0MjAgKz0gdiAqIGI1O1xuICAgIHQyMSArPSB2ICogYjY7XG4gICAgdDIyICs9IHYgKiBiNztcbiAgICB0MjMgKz0gdiAqIGI4O1xuICAgIHQyNCArPSB2ICogYjk7XG4gICAgdDI1ICs9IHYgKiBiMTA7XG4gICAgdDI2ICs9IHYgKiBiMTE7XG4gICAgdDI3ICs9IHYgKiBiMTI7XG4gICAgdDI4ICs9IHYgKiBiMTM7XG4gICAgdDI5ICs9IHYgKiBiMTQ7XG4gICAgdDMwICs9IHYgKiBiMTU7XG4gICAgdDAgKz0gMzggKiB0MTY7XG4gICAgdDEgKz0gMzggKiB0MTc7XG4gICAgdDIgKz0gMzggKiB0MTg7XG4gICAgdDMgKz0gMzggKiB0MTk7XG4gICAgdDQgKz0gMzggKiB0MjA7XG4gICAgdDUgKz0gMzggKiB0MjE7XG4gICAgdDYgKz0gMzggKiB0MjI7XG4gICAgdDcgKz0gMzggKiB0MjM7XG4gICAgdDggKz0gMzggKiB0MjQ7XG4gICAgdDkgKz0gMzggKiB0MjU7XG4gICAgdDEwICs9IDM4ICogdDI2O1xuICAgIHQxMSArPSAzOCAqIHQyNztcbiAgICB0MTIgKz0gMzggKiB0Mjg7XG4gICAgdDEzICs9IDM4ICogdDI5O1xuICAgIHQxNCArPSAzOCAqIHQzMDtcbiAgICAvLyB0MTUgbGVmdCBhcyBpc1xuICAgIC8vIGZpcnN0IGNhclxuICAgIGMgPSAxO1xuICAgIHYgPSB0MCArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQwID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MSA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQyICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDIgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MyArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQzID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDQgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0NCA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ1ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDUgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0NiArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ2ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDcgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0NyA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ4ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDggPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0OSArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ5ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEwICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEwID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDExICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDExID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEyICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEyID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEzICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEzID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDE0ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDE0ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDE1ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDE1ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB0MCArPSBjIC0gMSArIDM3ICogKGMgLSAxKTtcbiAgICAvLyBzZWNvbmQgY2FyXG4gICAgYyA9IDE7XG4gICAgdiA9IHQwICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDAgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MSArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDIgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MiA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQzICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDMgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0NCArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ0ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDUgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0NSA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ2ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDYgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0NyArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ3ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDggKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0OCA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ5ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDkgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MTAgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MTAgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MTEgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MTEgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MTIgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MTIgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MTMgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MTMgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MTQgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MTQgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MTUgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MTUgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHQwICs9IGMgLSAxICsgMzcgKiAoYyAtIDEpO1xuICAgIG9bMF0gPSB0MDtcbiAgICBvWzFdID0gdDE7XG4gICAgb1syXSA9IHQyO1xuICAgIG9bM10gPSB0MztcbiAgICBvWzRdID0gdDQ7XG4gICAgb1s1XSA9IHQ1O1xuICAgIG9bNl0gPSB0NjtcbiAgICBvWzddID0gdDc7XG4gICAgb1s4XSA9IHQ4O1xuICAgIG9bOV0gPSB0OTtcbiAgICBvWzEwXSA9IHQxMDtcbiAgICBvWzExXSA9IHQxMTtcbiAgICBvWzEyXSA9IHQxMjtcbiAgICBvWzEzXSA9IHQxMztcbiAgICBvWzE0XSA9IHQxNDtcbiAgICBvWzE1XSA9IHQxNTtcbn1cbmZ1bmN0aW9uIHNxdWFyZShvLCBhKSB7XG4gICAgbXVsKG8sIGEsIGEpO1xufVxuZnVuY3Rpb24gaW52MjU1MTkobywgaSkge1xuICAgIGNvbnN0IGMgPSBnZigpO1xuICAgIGxldCBhO1xuICAgIGZvciAoYSA9IDA7IGEgPCAxNjsgYSsrKSB7XG4gICAgICAgIGNbYV0gPSBpW2FdO1xuICAgIH1cbiAgICBmb3IgKGEgPSAyNTM7IGEgPj0gMDsgYS0tKSB7XG4gICAgICAgIHNxdWFyZShjLCBjKTtcbiAgICAgICAgaWYgKGEgIT09IDIgJiYgYSAhPT0gNCkge1xuICAgICAgICAgICAgbXVsKGMsIGMsIGkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAoYSA9IDA7IGEgPCAxNjsgYSsrKSB7XG4gICAgICAgIG9bYV0gPSBjW2FdO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHBvdzI1MjMobywgaSkge1xuICAgIGNvbnN0IGMgPSBnZigpO1xuICAgIGxldCBhO1xuICAgIGZvciAoYSA9IDA7IGEgPCAxNjsgYSsrKSB7XG4gICAgICAgIGNbYV0gPSBpW2FdO1xuICAgIH1cbiAgICBmb3IgKGEgPSAyNTA7IGEgPj0gMDsgYS0tKSB7XG4gICAgICAgIHNxdWFyZShjLCBjKTtcbiAgICAgICAgaWYgKGEgIT09IDEpIHtcbiAgICAgICAgICAgIG11bChjLCBjLCBpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGEgPSAwOyBhIDwgMTY7IGErKykge1xuICAgICAgICBvW2FdID0gY1thXTtcbiAgICB9XG59XG5mdW5jdGlvbiBlZGFkZChwLCBxKSB7XG4gICAgY29uc3QgYSA9IGdmKCksIGIgPSBnZigpLCBjID0gZ2YoKSwgZCA9IGdmKCksIGUgPSBnZigpLCBmID0gZ2YoKSwgZyA9IGdmKCksIGggPSBnZigpLCB0ID0gZ2YoKTtcbiAgICBzdWIoYSwgcFsxXSwgcFswXSk7XG4gICAgc3ViKHQsIHFbMV0sIHFbMF0pO1xuICAgIG11bChhLCBhLCB0KTtcbiAgICBhZGQoYiwgcFswXSwgcFsxXSk7XG4gICAgYWRkKHQsIHFbMF0sIHFbMV0pO1xuICAgIG11bChiLCBiLCB0KTtcbiAgICBtdWwoYywgcFszXSwgcVszXSk7XG4gICAgbXVsKGMsIGMsIEQyKTtcbiAgICBtdWwoZCwgcFsyXSwgcVsyXSk7XG4gICAgYWRkKGQsIGQsIGQpO1xuICAgIHN1YihlLCBiLCBhKTtcbiAgICBzdWIoZiwgZCwgYyk7XG4gICAgYWRkKGcsIGQsIGMpO1xuICAgIGFkZChoLCBiLCBhKTtcbiAgICBtdWwocFswXSwgZSwgZik7XG4gICAgbXVsKHBbMV0sIGgsIGcpO1xuICAgIG11bChwWzJdLCBnLCBmKTtcbiAgICBtdWwocFszXSwgZSwgaCk7XG59XG5mdW5jdGlvbiBjc3dhcChwLCBxLCBiKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgc2VsMjU1MTkocFtpXSwgcVtpXSwgYik7XG4gICAgfVxufVxuZnVuY3Rpb24gcGFjayhyLCBwKSB7XG4gICAgY29uc3QgdHggPSBnZigpLCB0eSA9IGdmKCksIHppID0gZ2YoKTtcbiAgICBpbnYyNTUxOSh6aSwgcFsyXSk7XG4gICAgbXVsKHR4LCBwWzBdLCB6aSk7XG4gICAgbXVsKHR5LCBwWzFdLCB6aSk7XG4gICAgcGFjazI1NTE5KHIsIHR5KTtcbiAgICByWzMxXSBePSBwYXIyNTUxOSh0eCkgPDwgNztcbn1cbmZ1bmN0aW9uIHNjYWxhcm11bHQocCwgcSwgcykge1xuICAgIHNldDI1NTE5KHBbMF0sIGdmMCk7XG4gICAgc2V0MjU1MTkocFsxXSwgZ2YxKTtcbiAgICBzZXQyNTUxOShwWzJdLCBnZjEpO1xuICAgIHNldDI1NTE5KHBbM10sIGdmMCk7XG4gICAgZm9yIChsZXQgaSA9IDI1NTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgY29uc3QgYiA9IChzWyhpIC8gOCkgfCAwXSA+PiAoaSAmIDcpKSAmIDE7XG4gICAgICAgIGNzd2FwKHAsIHEsIGIpO1xuICAgICAgICBlZGFkZChxLCBwKTtcbiAgICAgICAgZWRhZGQocCwgcCk7XG4gICAgICAgIGNzd2FwKHAsIHEsIGIpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNjYWxhcmJhc2UocCwgcykge1xuICAgIGNvbnN0IHEgPSBbZ2YoKSwgZ2YoKSwgZ2YoKSwgZ2YoKV07XG4gICAgc2V0MjU1MTkocVswXSwgWCk7XG4gICAgc2V0MjU1MTkocVsxXSwgWSk7XG4gICAgc2V0MjU1MTkocVsyXSwgZ2YxKTtcbiAgICBtdWwocVszXSwgWCwgWSk7XG4gICAgc2NhbGFybXVsdChwLCBxLCBzKTtcbn1cbi8vIEdlbmVyYXRlcyBrZXkgcGFpciBmcm9tIHNlY3JldCAzMi1ieXRlIHNlZWQuXG5mdW5jdGlvbiBnZW5lcmF0ZUtleVBhaXJGcm9tU2VlZChzZWVkKSB7XG4gICAgaWYgKHNlZWQubGVuZ3RoICE9PSBleHBvcnRzLlNFRURfTEVOR1RIKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZWQyNTUxOTogc2VlZCBtdXN0IGJlICR7ZXhwb3J0cy5TRUVEX0xFTkdUSH0gYnl0ZXNgKTtcbiAgICB9XG4gICAgY29uc3QgZCA9ICgwLCBzaGE1MTJfMS5oYXNoKShzZWVkKTtcbiAgICBkWzBdICY9IDI0ODtcbiAgICBkWzMxXSAmPSAxMjc7XG4gICAgZFszMV0gfD0gNjQ7XG4gICAgY29uc3QgcHVibGljS2V5ID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuICAgIGNvbnN0IHAgPSBbZ2YoKSwgZ2YoKSwgZ2YoKSwgZ2YoKV07XG4gICAgc2NhbGFyYmFzZShwLCBkKTtcbiAgICBwYWNrKHB1YmxpY0tleSwgcCk7XG4gICAgY29uc3Qgc2VjcmV0S2V5ID0gbmV3IFVpbnQ4QXJyYXkoNjQpO1xuICAgIHNlY3JldEtleS5zZXQoc2VlZCk7XG4gICAgc2VjcmV0S2V5LnNldChwdWJsaWNLZXksIDMyKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwdWJsaWNLZXksXG4gICAgICAgIHNlY3JldEtleVxuICAgIH07XG59XG5leHBvcnRzLmdlbmVyYXRlS2V5UGFpckZyb21TZWVkID0gZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQ7XG5mdW5jdGlvbiBnZW5lcmF0ZUtleVBhaXIocHJuZykge1xuICAgIGNvbnN0IHNlZWQgPSAoMCwgcmFuZG9tXzEucmFuZG9tQnl0ZXMpKDMyLCBwcm5nKTtcbiAgICBjb25zdCByZXN1bHQgPSBnZW5lcmF0ZUtleVBhaXJGcm9tU2VlZChzZWVkKTtcbiAgICAoMCwgd2lwZV8xLndpcGUpKHNlZWQpO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnRzLmdlbmVyYXRlS2V5UGFpciA9IGdlbmVyYXRlS2V5UGFpcjtcbmZ1bmN0aW9uIGV4dHJhY3RQdWJsaWNLZXlGcm9tU2VjcmV0S2V5KHNlY3JldEtleSkge1xuICAgIGlmIChzZWNyZXRLZXkubGVuZ3RoICE9PSBleHBvcnRzLlNFQ1JFVF9LRVlfTEVOR1RIKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgZWQyNTUxOTogc2VjcmV0IGtleSBtdXN0IGJlICR7ZXhwb3J0cy5TRUNSRVRfS0VZX0xFTkdUSH0gYnl0ZXNgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHNlY3JldEtleS5zdWJhcnJheSgzMikpO1xufVxuZXhwb3J0cy5leHRyYWN0UHVibGljS2V5RnJvbVNlY3JldEtleSA9IGV4dHJhY3RQdWJsaWNLZXlGcm9tU2VjcmV0S2V5O1xuY29uc3QgTCA9IG5ldyBGbG9hdDY0QXJyYXkoW1xuICAgIDB4ZWQsIDB4ZDMsIDB4ZjUsIDB4NWMsIDB4MWEsIDB4NjMsIDB4MTIsIDB4NTgsIDB4ZDYsIDB4OWMsIDB4ZjcsIDB4YTIsXG4gICAgMHhkZSwgMHhmOSwgMHhkZSwgMHgxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMHgxMFxuXSk7XG5mdW5jdGlvbiBtb2RMKHIsIHgpIHtcbiAgICBsZXQgY2Fycnk7XG4gICAgbGV0IGk7XG4gICAgbGV0IGo7XG4gICAgbGV0IGs7XG4gICAgZm9yIChpID0gNjM7IGkgPj0gMzI7IC0taSkge1xuICAgICAgICBjYXJyeSA9IDA7XG4gICAgICAgIGZvciAoaiA9IGkgLSAzMiwgayA9IGkgLSAxMjsgaiA8IGs7ICsraikge1xuICAgICAgICAgICAgeFtqXSArPSBjYXJyeSAtIDE2ICogeFtpXSAqIExbaiAtIChpIC0gMzIpXTtcbiAgICAgICAgICAgIGNhcnJ5ID0gTWF0aC5mbG9vcigoeFtqXSArIDEyOCkgLyAyNTYpO1xuICAgICAgICAgICAgeFtqXSAtPSBjYXJyeSAqIDI1NjtcbiAgICAgICAgfVxuICAgICAgICB4W2pdICs9IGNhcnJ5O1xuICAgICAgICB4W2ldID0gMDtcbiAgICB9XG4gICAgY2FycnkgPSAwO1xuICAgIGZvciAoaiA9IDA7IGogPCAzMjsgaisrKSB7XG4gICAgICAgIHhbal0gKz0gY2FycnkgLSAoeFszMV0gPj4gNCkgKiBMW2pdO1xuICAgICAgICBjYXJyeSA9IHhbal0gPj4gODtcbiAgICAgICAgeFtqXSAmPSAyNTU7XG4gICAgfVxuICAgIGZvciAoaiA9IDA7IGogPCAzMjsgaisrKSB7XG4gICAgICAgIHhbal0gLT0gY2FycnkgKiBMW2pdO1xuICAgIH1cbiAgICBmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICB4W2kgKyAxXSArPSB4W2ldID4+IDg7XG4gICAgICAgIHJbaV0gPSB4W2ldICYgMjU1O1xuICAgIH1cbn1cbmZ1bmN0aW9uIHJlZHVjZShyKSB7XG4gICAgY29uc3QgeCA9IG5ldyBGbG9hdDY0QXJyYXkoNjQpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjQ7IGkrKykge1xuICAgICAgICB4W2ldID0gcltpXTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA2NDsgaSsrKSB7XG4gICAgICAgIHJbaV0gPSAwO1xuICAgIH1cbiAgICBtb2RMKHIsIHgpO1xufVxuLy8gUmV0dXJucyA2NC1ieXRlIHNpZ25hdHVyZSBvZiB0aGUgbWVzc2FnZSB1bmRlciB0aGUgNjQtYnl0ZSBzZWNyZXQga2V5LlxuZnVuY3Rpb24gc2lnbihzZWNyZXRLZXksIG1lc3NhZ2UpIHtcbiAgICBjb25zdCB4ID0gbmV3IEZsb2F0NjRBcnJheSg2NCk7XG4gICAgY29uc3QgcCA9IFtnZigpLCBnZigpLCBnZigpLCBnZigpXTtcbiAgICBjb25zdCBkID0gKDAsIHNoYTUxMl8xLmhhc2gpKHNlY3JldEtleS5zdWJhcnJheSgwLCAzMikpO1xuICAgIGRbMF0gJj0gMjQ4O1xuICAgIGRbMzFdICY9IDEyNztcbiAgICBkWzMxXSB8PSA2NDtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBuZXcgVWludDhBcnJheSg2NCk7XG4gICAgc2lnbmF0dXJlLnNldChkLnN1YmFycmF5KDMyKSwgMzIpO1xuICAgIGNvbnN0IGhzID0gbmV3IHNoYTUxMl8xLlNIQTUxMigpO1xuICAgIGhzLnVwZGF0ZShzaWduYXR1cmUuc3ViYXJyYXkoMzIpKTtcbiAgICBocy51cGRhdGUobWVzc2FnZSk7XG4gICAgY29uc3QgciA9IGhzLmRpZ2VzdCgpO1xuICAgIGhzLmNsZWFuKCk7XG4gICAgcmVkdWNlKHIpO1xuICAgIHNjYWxhcmJhc2UocCwgcik7XG4gICAgcGFjayhzaWduYXR1cmUsIHApO1xuICAgIGhzLnJlc2V0KCk7XG4gICAgaHMudXBkYXRlKHNpZ25hdHVyZS5zdWJhcnJheSgwLCAzMikpO1xuICAgIGhzLnVwZGF0ZShzZWNyZXRLZXkuc3ViYXJyYXkoMzIpKTtcbiAgICBocy51cGRhdGUobWVzc2FnZSk7XG4gICAgY29uc3QgaCA9IGhzLmRpZ2VzdCgpO1xuICAgIHJlZHVjZShoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMyOyBpKyspIHtcbiAgICAgICAgeFtpXSA9IHJbaV07XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDMyOyBqKyspIHtcbiAgICAgICAgICAgIHhbaSArIGpdICs9IGhbaV0gKiBkW2pdO1xuICAgICAgICB9XG4gICAgfVxuICAgIG1vZEwoc2lnbmF0dXJlLnN1YmFycmF5KDMyKSwgeCk7XG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbn1cbmV4cG9ydHMuc2lnbiA9IHNpZ247XG5mdW5jdGlvbiB1bnBhY2tuZWcociwgcCkge1xuICAgIGNvbnN0IHQgPSBnZigpLCBjaGsgPSBnZigpLCBudW0gPSBnZigpLCBkZW4gPSBnZigpLCBkZW4yID0gZ2YoKSwgZGVuNCA9IGdmKCksIGRlbjYgPSBnZigpO1xuICAgIHNldDI1NTE5KHJbMl0sIGdmMSk7XG4gICAgdW5wYWNrMjU1MTkoclsxXSwgcCk7XG4gICAgc3F1YXJlKG51bSwgclsxXSk7XG4gICAgbXVsKGRlbiwgbnVtLCBEKTtcbiAgICBzdWIobnVtLCBudW0sIHJbMl0pO1xuICAgIGFkZChkZW4sIHJbMl0sIGRlbik7XG4gICAgc3F1YXJlKGRlbjIsIGRlbik7XG4gICAgc3F1YXJlKGRlbjQsIGRlbjIpO1xuICAgIG11bChkZW42LCBkZW40LCBkZW4yKTtcbiAgICBtdWwodCwgZGVuNiwgbnVtKTtcbiAgICBtdWwodCwgdCwgZGVuKTtcbiAgICBwb3cyNTIzKHQsIHQpO1xuICAgIG11bCh0LCB0LCBudW0pO1xuICAgIG11bCh0LCB0LCBkZW4pO1xuICAgIG11bCh0LCB0LCBkZW4pO1xuICAgIG11bChyWzBdLCB0LCBkZW4pO1xuICAgIHNxdWFyZShjaGssIHJbMF0pO1xuICAgIG11bChjaGssIGNoaywgZGVuKTtcbiAgICBpZiAobmVxMjU1MTkoY2hrLCBudW0pKSB7XG4gICAgICAgIG11bChyWzBdLCByWzBdLCBJKTtcbiAgICB9XG4gICAgc3F1YXJlKGNoaywgclswXSk7XG4gICAgbXVsKGNoaywgY2hrLCBkZW4pO1xuICAgIGlmIChuZXEyNTUxOShjaGssIG51bSkpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAocGFyMjU1MTkoclswXSkgPT09IChwWzMxXSA+PiA3KSkge1xuICAgICAgICBzdWIoclswXSwgZ2YwLCByWzBdKTtcbiAgICB9XG4gICAgbXVsKHJbM10sIHJbMF0sIHJbMV0pO1xuICAgIHJldHVybiAwO1xufVxuZnVuY3Rpb24gdmVyaWZ5KHB1YmxpY0tleSwgbWVzc2FnZSwgc2lnbmF0dXJlKSB7XG4gICAgY29uc3QgdCA9IG5ldyBVaW50OEFycmF5KDMyKTtcbiAgICBjb25zdCBwID0gW2dmKCksIGdmKCksIGdmKCksIGdmKCldO1xuICAgIGNvbnN0IHEgPSBbZ2YoKSwgZ2YoKSwgZ2YoKSwgZ2YoKV07XG4gICAgaWYgKHNpZ25hdHVyZS5sZW5ndGggIT09IGV4cG9ydHMuU0lHTkFUVVJFX0xFTkdUSCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGVkMjU1MTk6IHNpZ25hdHVyZSBtdXN0IGJlICR7ZXhwb3J0cy5TSUdOQVRVUkVfTEVOR1RIfSBieXRlc2ApO1xuICAgIH1cbiAgICBpZiAodW5wYWNrbmVnKHEsIHB1YmxpY0tleSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBocyA9IG5ldyBzaGE1MTJfMS5TSEE1MTIoKTtcbiAgICBocy51cGRhdGUoc2lnbmF0dXJlLnN1YmFycmF5KDAsIDMyKSk7XG4gICAgaHMudXBkYXRlKHB1YmxpY0tleSk7XG4gICAgaHMudXBkYXRlKG1lc3NhZ2UpO1xuICAgIGNvbnN0IGggPSBocy5kaWdlc3QoKTtcbiAgICByZWR1Y2UoaCk7XG4gICAgc2NhbGFybXVsdChwLCBxLCBoKTtcbiAgICBzY2FsYXJiYXNlKHEsIHNpZ25hdHVyZS5zdWJhcnJheSgzMikpO1xuICAgIGVkYWRkKHAsIHEpO1xuICAgIHBhY2sodCwgcCk7XG4gICAgaWYgKHZlcmlmeTMyKHNpZ25hdHVyZSwgdCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmV4cG9ydHMudmVyaWZ5ID0gdmVyaWZ5O1xuLyoqXG4gKiBDb252ZXJ0IEVkMjU1MTkgcHVibGljIGtleSB0byBYMjU1MTkgcHVibGljIGtleS5cbiAqXG4gKiBUaHJvd3MgaWYgZ2l2ZW4gYW4gaW52YWxpZCBwdWJsaWMga2V5LlxuICovXG5mdW5jdGlvbiBjb252ZXJ0UHVibGljS2V5VG9YMjU1MTkocHVibGljS2V5KSB7XG4gICAgbGV0IHEgPSBbZ2YoKSwgZ2YoKSwgZ2YoKSwgZ2YoKV07XG4gICAgaWYgKHVucGFja25lZyhxLCBwdWJsaWNLZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVkMjU1MTk6IGludmFsaWQgcHVibGljIGtleVwiKTtcbiAgICB9XG4gICAgLy8gRm9ybXVsYTogbW9udGdvbWVyeVggPSAoZWR3YXJkc1kgKyAxKSppbnZlcnNlKDEgLSBlZHdhcmRzWSkgbW9kIHBcbiAgICBsZXQgYSA9IGdmKCk7XG4gICAgbGV0IGIgPSBnZigpO1xuICAgIGxldCB5ID0gcVsxXTtcbiAgICBhZGQoYSwgZ2YxLCB5KTtcbiAgICBzdWIoYiwgZ2YxLCB5KTtcbiAgICBpbnYyNTUxOShiLCBiKTtcbiAgICBtdWwoYSwgYSwgYik7XG4gICAgbGV0IHogPSBuZXcgVWludDhBcnJheSgzMik7XG4gICAgcGFjazI1NTE5KHosIGEpO1xuICAgIHJldHVybiB6O1xufVxuZXhwb3J0cy5jb252ZXJ0UHVibGljS2V5VG9YMjU1MTkgPSBjb252ZXJ0UHVibGljS2V5VG9YMjU1MTk7XG4vKipcbiAqICBDb252ZXJ0IEVkMjU1MTkgc2VjcmV0IChwcml2YXRlKSBrZXkgdG8gWDI1NTE5IHNlY3JldCBrZXkuXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRTZWNyZXRLZXlUb1gyNTUxOShzZWNyZXRLZXkpIHtcbiAgICBjb25zdCBkID0gKDAsIHNoYTUxMl8xLmhhc2gpKHNlY3JldEtleS5zdWJhcnJheSgwLCAzMikpO1xuICAgIGRbMF0gJj0gMjQ4O1xuICAgIGRbMzFdICY9IDEyNztcbiAgICBkWzMxXSB8PSA2NDtcbiAgICBjb25zdCBvID0gbmV3IFVpbnQ4QXJyYXkoZC5zdWJhcnJheSgwLCAzMikpO1xuICAgICgwLCB3aXBlXzEud2lwZSkoZCk7XG4gICAgcmV0dXJuIG87XG59XG5leHBvcnRzLmNvbnZlcnRTZWNyZXRLZXlUb1gyNTUxOSA9IGNvbnZlcnRTZWNyZXRLZXlUb1gyNTUxOTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVkMjU1MTkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/ed25519/lib/ed25519.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/sha512/lib/sha512.js": -/*!******************************************************!*\ - !*** ./node_modules/@stablelib/sha512/lib/sha512.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ \"./node_modules/@stablelib/binary/lib/binary.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nexports.DIGEST_LENGTH = 64;\nexports.BLOCK_SIZE = 128;\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nvar SHA512 = /** @class */ (function () {\n function SHA512() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._stateHi = new Int32Array(8); // hash state, high bytes\n this._stateLo = new Int32Array(8); // hash state, low bytes\n this._tempHi = new Int32Array(16); // temporary state, high bytes\n this._tempLo = new Int32Array(16); // temporary state, low bytes\n this._buffer = new Uint8Array(256); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA512.prototype._initState = function () {\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 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 * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA512.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA512.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._tempHi);\n wipe_1.wipe(this._tempLo);\n this.reset();\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 SHA512.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA512: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < exports.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, 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, 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 * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA512.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 8; i++) {\n binary_1.writeUint32BE(this._stateHi[i], out, i * 8);\n binary_1.writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA512.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\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 SHA512.prototype.saveState = function () {\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 * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n SHA512.prototype.restoreState = function (savedState) {\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 * Cleans state returned by saveState().\n */\n SHA512.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.stateHi);\n wipe_1.wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA512;\n}());\nexports.SHA512 = SHA512;\n// Constants\nvar 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]);\nfunction hashBlocks(wh, wl, hh, hl, m, pos, len) {\n var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];\n var h, l;\n var th, tl;\n var a, b, c, d;\n while (len >= 128) {\n for (var i = 0; i < 16; i++) {\n var j = 8 * i + pos;\n wh[i] = binary_1.readUint32BE(m, j);\n wl[i] = binary_1.readUint32BE(m, j + 4);\n }\n for (var i = 0; i < 80; i++) {\n var bh0 = ah0;\n var bh1 = ah1;\n var bh2 = ah2;\n var bh3 = ah3;\n var bh4 = ah4;\n var bh5 = ah5;\n var bh6 = ah6;\n var bh7 = ah7;\n var bl0 = al0;\n var bl1 = al1;\n var bl2 = al2;\n var bl3 = al3;\n var bl4 = al4;\n var bl5 = al5;\n var bl6 = al6;\n var bl7 = al7;\n // add\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\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 a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n // add\n h = th;\n l = tl;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\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 a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n // add\n h = bh3;\n l = bl3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = th;\n l = tl;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\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 al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n if (i % 16 === 15) {\n for (var j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\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 a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\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 a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n // add\n h = ah0;\n l = al0;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[0];\n l = hl[0];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n h = ah1;\n l = al1;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[1];\n l = hl[1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n h = ah2;\n l = al2;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[2];\n l = hl[2];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n h = ah3;\n l = al3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[3];\n l = hl[3];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n h = ah4;\n l = al4;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[4];\n l = hl[4];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n h = ah5;\n l = al5;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[5];\n l = hl[5];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n h = ah6;\n l = al6;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[6];\n l = hl[6];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[7];\n l = hl[7];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n pos += 128;\n len -= 128;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA512();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha512.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9zaGE1MTIvbGliL3NoYTUxMi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZUFBZSxtQkFBTyxDQUFDLHlFQUFtQjtBQUMxQyxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsNENBQTRDO0FBQzVDLGdDQUFnQztBQUNoQywrQkFBK0I7QUFDL0IsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsbUJBQW1CO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDJCQUEyQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsUUFBUTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixRQUFRO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLFFBQVE7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL3NoYTUxMi9saWIvc2hhNTEyLmpzPzc3NWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKEMpIDIwMTYgRG1pdHJ5IENoZXN0bnlraFxuLy8gTUlUIExpY2Vuc2UuIFNlZSBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgYmluYXJ5XzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9iaW5hcnlcIik7XG52YXIgd2lwZV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvd2lwZVwiKTtcbmV4cG9ydHMuRElHRVNUX0xFTkdUSCA9IDY0O1xuZXhwb3J0cy5CTE9DS19TSVpFID0gMTI4O1xuLyoqXG4gKiBTSEEtMi01MTIgY3J5cHRvZ3JhcGhpYyBoYXNoIGFsZ29yaXRobS5cbiAqL1xudmFyIFNIQTUxMiA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTSEE1MTIoKSB7XG4gICAgICAgIC8qKiBMZW5ndGggb2YgaGFzaCBvdXRwdXQgKi9cbiAgICAgICAgdGhpcy5kaWdlc3RMZW5ndGggPSBleHBvcnRzLkRJR0VTVF9MRU5HVEg7XG4gICAgICAgIC8qKiBCbG9jayBzaXplICovXG4gICAgICAgIHRoaXMuYmxvY2tTaXplID0gZXhwb3J0cy5CTE9DS19TSVpFO1xuICAgICAgICAvLyBOb3RlOiBJbnQzMkFycmF5IGlzIHVzZWQgaW5zdGVhZCBvZiBVaW50MzJBcnJheSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cbiAgICAgICAgdGhpcy5fc3RhdGVIaSA9IG5ldyBJbnQzMkFycmF5KDgpOyAvLyBoYXNoIHN0YXRlLCBoaWdoIGJ5dGVzXG4gICAgICAgIHRoaXMuX3N0YXRlTG8gPSBuZXcgSW50MzJBcnJheSg4KTsgLy8gaGFzaCBzdGF0ZSwgbG93IGJ5dGVzXG4gICAgICAgIHRoaXMuX3RlbXBIaSA9IG5ldyBJbnQzMkFycmF5KDE2KTsgLy8gdGVtcG9yYXJ5IHN0YXRlLCBoaWdoIGJ5dGVzXG4gICAgICAgIHRoaXMuX3RlbXBMbyA9IG5ldyBJbnQzMkFycmF5KDE2KTsgLy8gdGVtcG9yYXJ5IHN0YXRlLCBsb3cgYnl0ZXNcbiAgICAgICAgdGhpcy5fYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMjU2KTsgLy8gYnVmZmVyIGZvciBkYXRhIHRvIGhhc2hcbiAgICAgICAgdGhpcy5fYnVmZmVyTGVuZ3RoID0gMDsgLy8gbnVtYmVyIG9mIGJ5dGVzIGluIGJ1ZmZlclxuICAgICAgICB0aGlzLl9ieXRlc0hhc2hlZCA9IDA7IC8vIG51bWJlciBvZiB0b3RhbCBieXRlcyBoYXNoZWRcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSBmYWxzZTsgLy8gaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGhhc2ggd2FzIGZpbmFsaXplZFxuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuICAgIFNIQTUxMi5wcm90b3R5cGUuX2luaXRTdGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5fc3RhdGVIaVswXSA9IDB4NmEwOWU2Njc7XG4gICAgICAgIHRoaXMuX3N0YXRlSGlbMV0gPSAweGJiNjdhZTg1O1xuICAgICAgICB0aGlzLl9zdGF0ZUhpWzJdID0gMHgzYzZlZjM3MjtcbiAgICAgICAgdGhpcy5fc3RhdGVIaVszXSA9IDB4YTU0ZmY1M2E7XG4gICAgICAgIHRoaXMuX3N0YXRlSGlbNF0gPSAweDUxMGU1MjdmO1xuICAgICAgICB0aGlzLl9zdGF0ZUhpWzVdID0gMHg5YjA1Njg4YztcbiAgICAgICAgdGhpcy5fc3RhdGVIaVs2XSA9IDB4MWY4M2Q5YWI7XG4gICAgICAgIHRoaXMuX3N0YXRlSGlbN10gPSAweDViZTBjZDE5O1xuICAgICAgICB0aGlzLl9zdGF0ZUxvWzBdID0gMHhmM2JjYzkwODtcbiAgICAgICAgdGhpcy5fc3RhdGVMb1sxXSA9IDB4ODRjYWE3M2I7XG4gICAgICAgIHRoaXMuX3N0YXRlTG9bMl0gPSAweGZlOTRmODJiO1xuICAgICAgICB0aGlzLl9zdGF0ZUxvWzNdID0gMHg1ZjFkMzZmMTtcbiAgICAgICAgdGhpcy5fc3RhdGVMb1s0XSA9IDB4YWRlNjgyZDE7XG4gICAgICAgIHRoaXMuX3N0YXRlTG9bNV0gPSAweDJiM2U2YzFmO1xuICAgICAgICB0aGlzLl9zdGF0ZUxvWzZdID0gMHhmYjQxYmQ2YjtcbiAgICAgICAgdGhpcy5fc3RhdGVMb1s3XSA9IDB4MTM3ZTIxNzk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXNldHMgaGFzaCBzdGF0ZSBtYWtpbmcgaXQgcG9zc2libGVcbiAgICAgKiB0byByZS11c2UgdGhpcyBpbnN0YW5jZSB0byBoYXNoIG90aGVyIGRhdGEuXG4gICAgICovXG4gICAgU0hBNTEyLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5faW5pdFN0YXRlKCk7XG4gICAgICAgIHRoaXMuX2J1ZmZlckxlbmd0aCA9IDA7XG4gICAgICAgIHRoaXMuX2J5dGVzSGFzaGVkID0gMDtcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBDbGVhbnMgaW50ZXJuYWwgYnVmZmVycyBhbmQgcmVzZXRzIGhhc2ggc3RhdGUuXG4gICAgICovXG4gICAgU0hBNTEyLnByb3RvdHlwZS5jbGVhbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2lwZV8xLndpcGUodGhpcy5fYnVmZmVyKTtcbiAgICAgICAgd2lwZV8xLndpcGUodGhpcy5fdGVtcEhpKTtcbiAgICAgICAgd2lwZV8xLndpcGUodGhpcy5fdGVtcExvKTtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBoYXNoIHN0YXRlIHdpdGggdGhlIGdpdmVuIGRhdGEuXG4gICAgICpcbiAgICAgKiBUaHJvd3MgZXJyb3Igd2hlbiB0cnlpbmcgdG8gdXBkYXRlIGFscmVhZHkgZmluYWxpemVkIGhhc2g6XG4gICAgICogaW5zdGFuY2UgbXVzdCBiZSByZXNldCB0byB1cGRhdGUgaXQgYWdhaW4uXG4gICAgICovXG4gICAgU0hBNTEyLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSwgZGF0YUxlbmd0aCkge1xuICAgICAgICBpZiAoZGF0YUxlbmd0aCA9PT0gdm9pZCAwKSB7IGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aDsgfVxuICAgICAgICBpZiAodGhpcy5fZmluaXNoZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNIQTUxMjogY2FuJ3QgdXBkYXRlIGJlY2F1c2UgaGFzaCB3YXMgZmluaXNoZWQuXCIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBkYXRhUG9zID0gMDtcbiAgICAgICAgdGhpcy5fYnl0ZXNIYXNoZWQgKz0gZGF0YUxlbmd0aDtcbiAgICAgICAgaWYgKHRoaXMuX2J1ZmZlckxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLl9idWZmZXJMZW5ndGggPCBleHBvcnRzLkJMT0NLX1NJWkUgJiYgZGF0YUxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9idWZmZXJbdGhpcy5fYnVmZmVyTGVuZ3RoKytdID0gZGF0YVtkYXRhUG9zKytdO1xuICAgICAgICAgICAgICAgIGRhdGFMZW5ndGgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl9idWZmZXJMZW5ndGggPT09IHRoaXMuYmxvY2tTaXplKSB7XG4gICAgICAgICAgICAgICAgaGFzaEJsb2Nrcyh0aGlzLl90ZW1wSGksIHRoaXMuX3RlbXBMbywgdGhpcy5fc3RhdGVIaSwgdGhpcy5fc3RhdGVMbywgdGhpcy5fYnVmZmVyLCAwLCB0aGlzLmJsb2NrU2l6ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fYnVmZmVyTGVuZ3RoID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YUxlbmd0aCA+PSB0aGlzLmJsb2NrU2l6ZSkge1xuICAgICAgICAgICAgZGF0YVBvcyA9IGhhc2hCbG9ja3ModGhpcy5fdGVtcEhpLCB0aGlzLl90ZW1wTG8sIHRoaXMuX3N0YXRlSGksIHRoaXMuX3N0YXRlTG8sIGRhdGEsIGRhdGFQb3MsIGRhdGFMZW5ndGgpO1xuICAgICAgICAgICAgZGF0YUxlbmd0aCAlPSB0aGlzLmJsb2NrU2l6ZTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoZGF0YUxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2J1ZmZlclt0aGlzLl9idWZmZXJMZW5ndGgrK10gPSBkYXRhW2RhdGFQb3MrK107XG4gICAgICAgICAgICBkYXRhTGVuZ3RoLS07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBGaW5hbGl6ZXMgaGFzaCBzdGF0ZSBhbmQgcHV0cyBoYXNoIGludG8gb3V0LlxuICAgICAqIElmIGhhc2ggd2FzIGFscmVhZHkgZmluYWxpemVkLCBwdXRzIHRoZSBzYW1lIHZhbHVlLlxuICAgICAqL1xuICAgIFNIQTUxMi5wcm90b3R5cGUuZmluaXNoID0gZnVuY3Rpb24gKG91dCkge1xuICAgICAgICBpZiAoIXRoaXMuX2ZpbmlzaGVkKSB7XG4gICAgICAgICAgICB2YXIgYnl0ZXNIYXNoZWQgPSB0aGlzLl9ieXRlc0hhc2hlZDtcbiAgICAgICAgICAgIHZhciBsZWZ0ID0gdGhpcy5fYnVmZmVyTGVuZ3RoO1xuICAgICAgICAgICAgdmFyIGJpdExlbkhpID0gKGJ5dGVzSGFzaGVkIC8gMHgyMDAwMDAwMCkgfCAwO1xuICAgICAgICAgICAgdmFyIGJpdExlbkxvID0gYnl0ZXNIYXNoZWQgPDwgMztcbiAgICAgICAgICAgIHZhciBwYWRMZW5ndGggPSAoYnl0ZXNIYXNoZWQgJSAxMjggPCAxMTIpID8gMTI4IDogMjU2O1xuICAgICAgICAgICAgdGhpcy5fYnVmZmVyW2xlZnRdID0gMHg4MDtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSBsZWZ0ICsgMTsgaSA8IHBhZExlbmd0aCAtIDg7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2J1ZmZlcltpXSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBiaW5hcnlfMS53cml0ZVVpbnQzMkJFKGJpdExlbkhpLCB0aGlzLl9idWZmZXIsIHBhZExlbmd0aCAtIDgpO1xuICAgICAgICAgICAgYmluYXJ5XzEud3JpdGVVaW50MzJCRShiaXRMZW5MbywgdGhpcy5fYnVmZmVyLCBwYWRMZW5ndGggLSA0KTtcbiAgICAgICAgICAgIGhhc2hCbG9ja3ModGhpcy5fdGVtcEhpLCB0aGlzLl90ZW1wTG8sIHRoaXMuX3N0YXRlSGksIHRoaXMuX3N0YXRlTG8sIHRoaXMuX2J1ZmZlciwgMCwgcGFkTGVuZ3RoKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZGlnZXN0TGVuZ3RoIC8gODsgaSsrKSB7XG4gICAgICAgICAgICBiaW5hcnlfMS53cml0ZVVpbnQzMkJFKHRoaXMuX3N0YXRlSGlbaV0sIG91dCwgaSAqIDgpO1xuICAgICAgICAgICAgYmluYXJ5XzEud3JpdGVVaW50MzJCRSh0aGlzLl9zdGF0ZUxvW2ldLCBvdXQsIGkgKiA4ICsgNCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmaW5hbCBoYXNoIGRpZ2VzdC5cbiAgICAgKi9cbiAgICBTSEE1MTIucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG91dCA9IG5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5maW5pc2gob3V0KTtcbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHVzZWZ1bCBmb3IgSE1BQy9QQktERjIgb3B0aW1pemF0aW9uLiBSZXR1cm5zIGhhc2ggc3RhdGUgdG8gYmVcbiAgICAgKiB1c2VkIHdpdGggcmVzdG9yZVN0YXRlKCkuIE9ubHkgY2hhaW4gdmFsdWUgaXMgc2F2ZWQsIG5vdCBidWZmZXJzIG9yXG4gICAgICogb3RoZXIgc3RhdGUgdmFyaWFibGVzLlxuICAgICAqL1xuICAgIFNIQTUxMi5wcm90b3R5cGUuc2F2ZVN0YXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5fZmluaXNoZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNIQTI1NjogY2Fubm90IHNhdmUgZmluaXNoZWQgc3RhdGVcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXRlSGk6IG5ldyBJbnQzMkFycmF5KHRoaXMuX3N0YXRlSGkpLFxuICAgICAgICAgICAgc3RhdGVMbzogbmV3IEludDMyQXJyYXkodGhpcy5fc3RhdGVMbyksXG4gICAgICAgICAgICBidWZmZXI6IHRoaXMuX2J1ZmZlckxlbmd0aCA+IDAgPyBuZXcgVWludDhBcnJheSh0aGlzLl9idWZmZXIpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgYnVmZmVyTGVuZ3RoOiB0aGlzLl9idWZmZXJMZW5ndGgsXG4gICAgICAgICAgICBieXRlc0hhc2hlZDogdGhpcy5fYnl0ZXNIYXNoZWRcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHVzZWZ1bCBmb3IgSE1BQy9QQktERjIgb3B0aW1pemF0aW9uLiBSZXN0b3JlcyBzdGF0ZSBzYXZlZCBieVxuICAgICAqIHNhdmVTdGF0ZSgpIGFuZCBzZXRzIGJ5dGVzSGFzaGVkIHRvIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICAgKi9cbiAgICBTSEE1MTIucHJvdG90eXBlLnJlc3RvcmVTdGF0ZSA9IGZ1bmN0aW9uIChzYXZlZFN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlSGkuc2V0KHNhdmVkU3RhdGUuc3RhdGVIaSk7XG4gICAgICAgIHRoaXMuX3N0YXRlTG8uc2V0KHNhdmVkU3RhdGUuc3RhdGVMbyk7XG4gICAgICAgIHRoaXMuX2J1ZmZlckxlbmd0aCA9IHNhdmVkU3RhdGUuYnVmZmVyTGVuZ3RoO1xuICAgICAgICBpZiAoc2F2ZWRTdGF0ZS5idWZmZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2J1ZmZlci5zZXQoc2F2ZWRTdGF0ZS5idWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2J5dGVzSGFzaGVkID0gc2F2ZWRTdGF0ZS5ieXRlc0hhc2hlZDtcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBDbGVhbnMgc3RhdGUgcmV0dXJuZWQgYnkgc2F2ZVN0YXRlKCkuXG4gICAgICovXG4gICAgU0hBNTEyLnByb3RvdHlwZS5jbGVhblNhdmVkU3RhdGUgPSBmdW5jdGlvbiAoc2F2ZWRTdGF0ZSkge1xuICAgICAgICB3aXBlXzEud2lwZShzYXZlZFN0YXRlLnN0YXRlSGkpO1xuICAgICAgICB3aXBlXzEud2lwZShzYXZlZFN0YXRlLnN0YXRlTG8pO1xuICAgICAgICBpZiAoc2F2ZWRTdGF0ZS5idWZmZXIpIHtcbiAgICAgICAgICAgIHdpcGVfMS53aXBlKHNhdmVkU3RhdGUuYnVmZmVyKTtcbiAgICAgICAgfVxuICAgICAgICBzYXZlZFN0YXRlLmJ1ZmZlckxlbmd0aCA9IDA7XG4gICAgICAgIHNhdmVkU3RhdGUuYnl0ZXNIYXNoZWQgPSAwO1xuICAgIH07XG4gICAgcmV0dXJuIFNIQTUxMjtcbn0oKSk7XG5leHBvcnRzLlNIQTUxMiA9IFNIQTUxMjtcbi8vIENvbnN0YW50c1xudmFyIEsgPSBuZXcgSW50MzJBcnJheShbXG4gICAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcbiAgICAweGI1YzBmYmNmLCAweGVjNGQzYjJmLCAweGU5YjVkYmE1LCAweDgxODlkYmJjLFxuICAgIDB4Mzk1NmMyNWIsIDB4ZjM0OGI1MzgsIDB4NTlmMTExZjEsIDB4YjYwNWQwMTksXG4gICAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcbiAgICAweGQ4MDdhYTk4LCAweGEzMDMwMjQyLCAweDEyODM1YjAxLCAweDQ1NzA2ZmJlLFxuICAgIDB4MjQzMTg1YmUsIDB4NGVlNGIyOGMsIDB4NTUwYzdkYzMsIDB4ZDVmZmI0ZTIsXG4gICAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcbiAgICAweDliZGMwNmE3LCAweDI1YzcxMjM1LCAweGMxOWJmMTc0LCAweGNmNjkyNjk0LFxuICAgIDB4ZTQ5YjY5YzEsIDB4OWVmMTRhZDIsIDB4ZWZiZTQ3ODYsIDB4Mzg0ZjI1ZTMsXG4gICAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcbiAgICAweDJkZTkyYzZmLCAweDU5MmIwMjc1LCAweDRhNzQ4NGFhLCAweDZlYTZlNDgzLFxuICAgIDB4NWNiMGE5ZGMsIDB4YmQ0MWZiZDQsIDB4NzZmOTg4ZGEsIDB4ODMxMTUzYjUsXG4gICAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcbiAgICAweGIwMDMyN2M4LCAweDk4ZmIyMTNmLCAweGJmNTk3ZmM3LCAweGJlZWYwZWU0LFxuICAgIDB4YzZlMDBiZjMsIDB4M2RhODhmYzIsIDB4ZDVhNzkxNDcsIDB4OTMwYWE3MjUsXG4gICAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcbiAgICAweDI3YjcwYTg1LCAweDQ2ZDIyZmZjLCAweDJlMWIyMTM4LCAweDVjMjZjOTI2LFxuICAgIDB4NGQyYzZkZmMsIDB4NWFjNDJhZWQsIDB4NTMzODBkMTMsIDB4OWQ5NWIzZGYsXG4gICAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcbiAgICAweDgxYzJjOTJlLCAweDQ3ZWRhZWU2LCAweDkyNzIyYzg1LCAweDE0ODIzNTNiLFxuICAgIDB4YTJiZmU4YTEsIDB4NGNmMTAzNjQsIDB4YTgxYTY2NGIsIDB4YmM0MjMwMDEsXG4gICAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcbiAgICAweGQxOTJlODE5LCAweGQ2ZWY1MjE4LCAweGQ2OTkwNjI0LCAweDU1NjVhOTEwLFxuICAgIDB4ZjQwZTM1ODUsIDB4NTc3MTIwMmEsIDB4MTA2YWEwNzAsIDB4MzJiYmQxYjgsXG4gICAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcbiAgICAweDI3NDg3NzRjLCAweGRmOGVlYjk5LCAweDM0YjBiY2I1LCAweGUxOWI0OGE4LFxuICAgIDB4MzkxYzBjYjMsIDB4YzVjOTVhNjMsIDB4NGVkOGFhNGEsIDB4ZTM0MThhY2IsXG4gICAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcbiAgICAweDc0OGY4MmVlLCAweDVkZWZiMmZjLCAweDc4YTU2MzZmLCAweDQzMTcyZjYwLFxuICAgIDB4ODRjODc4MTQsIDB4YTFmMGFiNzIsIDB4OGNjNzAyMDgsIDB4MWE2NDM5ZWMsXG4gICAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcbiAgICAweGJlZjlhM2Y3LCAweGIyYzY3OTE1LCAweGM2NzE3OGYyLCAweGUzNzI1MzJiLFxuICAgIDB4Y2EyNzNlY2UsIDB4ZWEyNjYxOWMsIDB4ZDE4NmI4YzcsIDB4MjFjMGMyMDcsXG4gICAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcbiAgICAweDA2ZjA2N2FhLCAweDcyMTc2ZmJhLCAweDBhNjM3ZGM1LCAweGEyYzg5OGE2LFxuICAgIDB4MTEzZjk4MDQsIDB4YmVmOTBkYWUsIDB4MWI3MTBiMzUsIDB4MTMxYzQ3MWIsXG4gICAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcbiAgICAweDNjOWViZTBhLCAweDE1YzliZWJjLCAweDQzMWQ2N2M0LCAweDljMTAwZDRjLFxuICAgIDB4NGNjNWQ0YmUsIDB4Y2IzZTQyYjYsIDB4NTk3ZjI5OWMsIDB4ZmM2NTdlMmEsXG4gICAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xuXSk7XG5mdW5jdGlvbiBoYXNoQmxvY2tzKHdoLCB3bCwgaGgsIGhsLCBtLCBwb3MsIGxlbikge1xuICAgIHZhciBhaDAgPSBoaFswXSwgYWgxID0gaGhbMV0sIGFoMiA9IGhoWzJdLCBhaDMgPSBoaFszXSwgYWg0ID0gaGhbNF0sIGFoNSA9IGhoWzVdLCBhaDYgPSBoaFs2XSwgYWg3ID0gaGhbN10sIGFsMCA9IGhsWzBdLCBhbDEgPSBobFsxXSwgYWwyID0gaGxbMl0sIGFsMyA9IGhsWzNdLCBhbDQgPSBobFs0XSwgYWw1ID0gaGxbNV0sIGFsNiA9IGhsWzZdLCBhbDcgPSBobFs3XTtcbiAgICB2YXIgaCwgbDtcbiAgICB2YXIgdGgsIHRsO1xuICAgIHZhciBhLCBiLCBjLCBkO1xuICAgIHdoaWxlIChsZW4gPj0gMTI4KSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICAgICAgdmFyIGogPSA4ICogaSArIHBvcztcbiAgICAgICAgICAgIHdoW2ldID0gYmluYXJ5XzEucmVhZFVpbnQzMkJFKG0sIGopO1xuICAgICAgICAgICAgd2xbaV0gPSBiaW5hcnlfMS5yZWFkVWludDMyQkUobSwgaiArIDQpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODA7IGkrKykge1xuICAgICAgICAgICAgdmFyIGJoMCA9IGFoMDtcbiAgICAgICAgICAgIHZhciBiaDEgPSBhaDE7XG4gICAgICAgICAgICB2YXIgYmgyID0gYWgyO1xuICAgICAgICAgICAgdmFyIGJoMyA9IGFoMztcbiAgICAgICAgICAgIHZhciBiaDQgPSBhaDQ7XG4gICAgICAgICAgICB2YXIgYmg1ID0gYWg1O1xuICAgICAgICAgICAgdmFyIGJoNiA9IGFoNjtcbiAgICAgICAgICAgIHZhciBiaDcgPSBhaDc7XG4gICAgICAgICAgICB2YXIgYmwwID0gYWwwO1xuICAgICAgICAgICAgdmFyIGJsMSA9IGFsMTtcbiAgICAgICAgICAgIHZhciBibDIgPSBhbDI7XG4gICAgICAgICAgICB2YXIgYmwzID0gYWwzO1xuICAgICAgICAgICAgdmFyIGJsNCA9IGFsNDtcbiAgICAgICAgICAgIHZhciBibDUgPSBhbDU7XG4gICAgICAgICAgICB2YXIgYmw2ID0gYWw2O1xuICAgICAgICAgICAgdmFyIGJsNyA9IGFsNztcbiAgICAgICAgICAgIC8vIGFkZFxuICAgICAgICAgICAgaCA9IGFoNztcbiAgICAgICAgICAgIGwgPSBhbDc7XG4gICAgICAgICAgICBhID0gbCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGIgPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgPSBoICYgMHhmZmZmO1xuICAgICAgICAgICAgZCA9IGggPj4+IDE2O1xuICAgICAgICAgICAgLy8gU2lnbWExXG4gICAgICAgICAgICBoID0gKChhaDQgPj4+IDE0KSB8IChhbDQgPDwgKDMyIC0gMTQpKSkgXiAoKGFoNCA+Pj4gMTgpIHxcbiAgICAgICAgICAgICAgICAoYWw0IDw8ICgzMiAtIDE4KSkpIF4gKChhbDQgPj4+ICg0MSAtIDMyKSkgfCAoYWg0IDw8ICgzMiAtICg0MSAtIDMyKSkpKTtcbiAgICAgICAgICAgIGwgPSAoKGFsNCA+Pj4gMTQpIHwgKGFoNCA8PCAoMzIgLSAxNCkpKSBeICgoYWw0ID4+PiAxOCkgfFxuICAgICAgICAgICAgICAgIChhaDQgPDwgKDMyIC0gMTgpKSkgXiAoKGFoNCA+Pj4gKDQxIC0gMzIpKSB8IChhbDQgPDwgKDMyIC0gKDQxIC0gMzIpKSkpO1xuICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICAvLyBDaFxuICAgICAgICAgICAgaCA9IChhaDQgJiBhaDUpIF4gKH5haDQgJiBhaDYpO1xuICAgICAgICAgICAgbCA9IChhbDQgJiBhbDUpIF4gKH5hbDQgJiBhbDYpO1xuICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICAvLyBLXG4gICAgICAgICAgICBoID0gS1tpICogMl07XG4gICAgICAgICAgICBsID0gS1tpICogMiArIDFdO1xuICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICAvLyB3XG4gICAgICAgICAgICBoID0gd2hbaSAlIDE2XTtcbiAgICAgICAgICAgIGwgPSB3bFtpICUgMTZdO1xuICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICBiICs9IGEgPj4+IDE2O1xuICAgICAgICAgICAgYyArPSBiID4+PiAxNjtcbiAgICAgICAgICAgIGQgKz0gYyA+Pj4gMTY7XG4gICAgICAgICAgICB0aCA9IGMgJiAweGZmZmYgfCBkIDw8IDE2O1xuICAgICAgICAgICAgdGwgPSBhICYgMHhmZmZmIHwgYiA8PCAxNjtcbiAgICAgICAgICAgIC8vIGFkZFxuICAgICAgICAgICAgaCA9IHRoO1xuICAgICAgICAgICAgbCA9IHRsO1xuICAgICAgICAgICAgYSA9IGwgJiAweGZmZmY7XG4gICAgICAgICAgICBiID0gbCA+Pj4gMTY7XG4gICAgICAgICAgICBjID0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGQgPSBoID4+PiAxNjtcbiAgICAgICAgICAgIC8vIFNpZ21hMFxuICAgICAgICAgICAgaCA9ICgoYWgwID4+PiAyOCkgfCAoYWwwIDw8ICgzMiAtIDI4KSkpIF4gKChhbDAgPj4+ICgzNCAtIDMyKSkgfFxuICAgICAgICAgICAgICAgIChhaDAgPDwgKDMyIC0gKDM0IC0gMzIpKSkpIF4gKChhbDAgPj4+ICgzOSAtIDMyKSkgfCAoYWgwIDw8ICgzMiAtICgzOSAtIDMyKSkpKTtcbiAgICAgICAgICAgIGwgPSAoKGFsMCA+Pj4gMjgpIHwgKGFoMCA8PCAoMzIgLSAyOCkpKSBeICgoYWgwID4+PiAoMzQgLSAzMikpIHxcbiAgICAgICAgICAgICAgICAoYWwwIDw8ICgzMiAtICgzNCAtIDMyKSkpKSBeICgoYWgwID4+PiAoMzkgLSAzMikpIHwgKGFsMCA8PCAoMzIgLSAoMzkgLSAzMikpKSk7XG4gICAgICAgICAgICBhICs9IGwgJiAweGZmZmY7XG4gICAgICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICAgICAgYyArPSBoICYgMHhmZmZmO1xuICAgICAgICAgICAgZCArPSBoID4+PiAxNjtcbiAgICAgICAgICAgIC8vIE1halxuICAgICAgICAgICAgaCA9IChhaDAgJiBhaDEpIF4gKGFoMCAmIGFoMikgXiAoYWgxICYgYWgyKTtcbiAgICAgICAgICAgIGwgPSAoYWwwICYgYWwxKSBeIChhbDAgJiBhbDIpIF4gKGFsMSAmIGFsMik7XG4gICAgICAgICAgICBhICs9IGwgJiAweGZmZmY7XG4gICAgICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICAgICAgYyArPSBoICYgMHhmZmZmO1xuICAgICAgICAgICAgZCArPSBoID4+PiAxNjtcbiAgICAgICAgICAgIGIgKz0gYSA+Pj4gMTY7XG4gICAgICAgICAgICBjICs9IGIgPj4+IDE2O1xuICAgICAgICAgICAgZCArPSBjID4+PiAxNjtcbiAgICAgICAgICAgIGJoNyA9IChjICYgMHhmZmZmKSB8IChkIDw8IDE2KTtcbiAgICAgICAgICAgIGJsNyA9IChhICYgMHhmZmZmKSB8IChiIDw8IDE2KTtcbiAgICAgICAgICAgIC8vIGFkZFxuICAgICAgICAgICAgaCA9IGJoMztcbiAgICAgICAgICAgIGwgPSBibDM7XG4gICAgICAgICAgICBhID0gbCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGIgPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgPSBoICYgMHhmZmZmO1xuICAgICAgICAgICAgZCA9IGggPj4+IDE2O1xuICAgICAgICAgICAgaCA9IHRoO1xuICAgICAgICAgICAgbCA9IHRsO1xuICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICBiICs9IGEgPj4+IDE2O1xuICAgICAgICAgICAgYyArPSBiID4+PiAxNjtcbiAgICAgICAgICAgIGQgKz0gYyA+Pj4gMTY7XG4gICAgICAgICAgICBiaDMgPSAoYyAmIDB4ZmZmZikgfCAoZCA8PCAxNik7XG4gICAgICAgICAgICBibDMgPSAoYSAmIDB4ZmZmZikgfCAoYiA8PCAxNik7XG4gICAgICAgICAgICBhaDEgPSBiaDA7XG4gICAgICAgICAgICBhaDIgPSBiaDE7XG4gICAgICAgICAgICBhaDMgPSBiaDI7XG4gICAgICAgICAgICBhaDQgPSBiaDM7XG4gICAgICAgICAgICBhaDUgPSBiaDQ7XG4gICAgICAgICAgICBhaDYgPSBiaDU7XG4gICAgICAgICAgICBhaDcgPSBiaDY7XG4gICAgICAgICAgICBhaDAgPSBiaDc7XG4gICAgICAgICAgICBhbDEgPSBibDA7XG4gICAgICAgICAgICBhbDIgPSBibDE7XG4gICAgICAgICAgICBhbDMgPSBibDI7XG4gICAgICAgICAgICBhbDQgPSBibDM7XG4gICAgICAgICAgICBhbDUgPSBibDQ7XG4gICAgICAgICAgICBhbDYgPSBibDU7XG4gICAgICAgICAgICBhbDcgPSBibDY7XG4gICAgICAgICAgICBhbDAgPSBibDc7XG4gICAgICAgICAgICBpZiAoaSAlIDE2ID09PSAxNSkge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgMTY7IGorKykge1xuICAgICAgICAgICAgICAgICAgICAvLyBhZGRcbiAgICAgICAgICAgICAgICAgICAgaCA9IHdoW2pdO1xuICAgICAgICAgICAgICAgICAgICBsID0gd2xbal07XG4gICAgICAgICAgICAgICAgICAgIGEgPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgICAgICAgICBiID0gbCA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIGMgPSBoICYgMHhmZmZmO1xuICAgICAgICAgICAgICAgICAgICBkID0gaCA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIGggPSB3aFsoaiArIDkpICUgMTZdO1xuICAgICAgICAgICAgICAgICAgICBsID0gd2xbKGogKyA5KSAlIDE2XTtcbiAgICAgICAgICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICAgICAgICAgICAgICBjICs9IGggJiAweGZmZmY7XG4gICAgICAgICAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNpZ21hMFxuICAgICAgICAgICAgICAgICAgICB0aCA9IHdoWyhqICsgMSkgJSAxNl07XG4gICAgICAgICAgICAgICAgICAgIHRsID0gd2xbKGogKyAxKSAlIDE2XTtcbiAgICAgICAgICAgICAgICAgICAgaCA9ICgodGggPj4+IDEpIHwgKHRsIDw8ICgzMiAtIDEpKSkgXiAoKHRoID4+PiA4KSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAodGwgPDwgKDMyIC0gOCkpKSBeICh0aCA+Pj4gNyk7XG4gICAgICAgICAgICAgICAgICAgIGwgPSAoKHRsID4+PiAxKSB8ICh0aCA8PCAoMzIgLSAxKSkpIF4gKCh0bCA+Pj4gOCkgfFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoIDw8ICgzMiAtIDgpKSkgXiAoKHRsID4+PiA3KSB8ICh0aCA8PCAoMzIgLSA3KSkpO1xuICAgICAgICAgICAgICAgICAgICBhICs9IGwgJiAweGZmZmY7XG4gICAgICAgICAgICAgICAgICAgIGIgKz0gbCA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgICAgICAgICAgICAgZCArPSBoID4+PiAxNjtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2lnbWExXG4gICAgICAgICAgICAgICAgICAgIHRoID0gd2hbKGogKyAxNCkgJSAxNl07XG4gICAgICAgICAgICAgICAgICAgIHRsID0gd2xbKGogKyAxNCkgJSAxNl07XG4gICAgICAgICAgICAgICAgICAgIGggPSAoKHRoID4+PiAxOSkgfCAodGwgPDwgKDMyIC0gMTkpKSkgXiAoKHRsID4+PiAoNjEgLSAzMikpIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aCA8PCAoMzIgLSAoNjEgLSAzMikpKSkgXiAodGggPj4+IDYpO1xuICAgICAgICAgICAgICAgICAgICBsID0gKCh0bCA+Pj4gMTkpIHwgKHRoIDw8ICgzMiAtIDE5KSkpIF4gKCh0aCA+Pj4gKDYxIC0gMzIpKSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAodGwgPDwgKDMyIC0gKDYxIC0gMzIpKSkpIF4gKCh0bCA+Pj4gNikgfCAodGggPDwgKDMyIC0gNikpKTtcbiAgICAgICAgICAgICAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICAgICAgICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICAgICAgICAgICAgICBjICs9IGggJiAweGZmZmY7XG4gICAgICAgICAgICAgICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIGIgKz0gYSA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIGMgKz0gYiA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIGQgKz0gYyA+Pj4gMTY7XG4gICAgICAgICAgICAgICAgICAgIHdoW2pdID0gKGMgJiAweGZmZmYpIHwgKGQgPDwgMTYpO1xuICAgICAgICAgICAgICAgICAgICB3bFtqXSA9IChhICYgMHhmZmZmKSB8IChiIDw8IDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gYWRkXG4gICAgICAgIGggPSBhaDA7XG4gICAgICAgIGwgPSBhbDA7XG4gICAgICAgIGEgPSBsICYgMHhmZmZmO1xuICAgICAgICBiID0gbCA+Pj4gMTY7XG4gICAgICAgIGMgPSBoICYgMHhmZmZmO1xuICAgICAgICBkID0gaCA+Pj4gMTY7XG4gICAgICAgIGggPSBoaFswXTtcbiAgICAgICAgbCA9IGhsWzBdO1xuICAgICAgICBhICs9IGwgJiAweGZmZmY7XG4gICAgICAgIGIgKz0gbCA+Pj4gMTY7XG4gICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgZCArPSBoID4+PiAxNjtcbiAgICAgICAgYiArPSBhID4+PiAxNjtcbiAgICAgICAgYyArPSBiID4+PiAxNjtcbiAgICAgICAgZCArPSBjID4+PiAxNjtcbiAgICAgICAgaGhbMF0gPSBhaDAgPSAoYyAmIDB4ZmZmZikgfCAoZCA8PCAxNik7XG4gICAgICAgIGhsWzBdID0gYWwwID0gKGEgJiAweGZmZmYpIHwgKGIgPDwgMTYpO1xuICAgICAgICBoID0gYWgxO1xuICAgICAgICBsID0gYWwxO1xuICAgICAgICBhID0gbCAmIDB4ZmZmZjtcbiAgICAgICAgYiA9IGwgPj4+IDE2O1xuICAgICAgICBjID0gaCAmIDB4ZmZmZjtcbiAgICAgICAgZCA9IGggPj4+IDE2O1xuICAgICAgICBoID0gaGhbMV07XG4gICAgICAgIGwgPSBobFsxXTtcbiAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICBjICs9IGggJiAweGZmZmY7XG4gICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgIGIgKz0gYSA+Pj4gMTY7XG4gICAgICAgIGMgKz0gYiA+Pj4gMTY7XG4gICAgICAgIGQgKz0gYyA+Pj4gMTY7XG4gICAgICAgIGhoWzFdID0gYWgxID0gKGMgJiAweGZmZmYpIHwgKGQgPDwgMTYpO1xuICAgICAgICBobFsxXSA9IGFsMSA9IChhICYgMHhmZmZmKSB8IChiIDw8IDE2KTtcbiAgICAgICAgaCA9IGFoMjtcbiAgICAgICAgbCA9IGFsMjtcbiAgICAgICAgYSA9IGwgJiAweGZmZmY7XG4gICAgICAgIGIgPSBsID4+PiAxNjtcbiAgICAgICAgYyA9IGggJiAweGZmZmY7XG4gICAgICAgIGQgPSBoID4+PiAxNjtcbiAgICAgICAgaCA9IGhoWzJdO1xuICAgICAgICBsID0gaGxbMl07XG4gICAgICAgIGEgKz0gbCAmIDB4ZmZmZjtcbiAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgYyArPSBoICYgMHhmZmZmO1xuICAgICAgICBkICs9IGggPj4+IDE2O1xuICAgICAgICBiICs9IGEgPj4+IDE2O1xuICAgICAgICBjICs9IGIgPj4+IDE2O1xuICAgICAgICBkICs9IGMgPj4+IDE2O1xuICAgICAgICBoaFsyXSA9IGFoMiA9IChjICYgMHhmZmZmKSB8IChkIDw8IDE2KTtcbiAgICAgICAgaGxbMl0gPSBhbDIgPSAoYSAmIDB4ZmZmZikgfCAoYiA8PCAxNik7XG4gICAgICAgIGggPSBhaDM7XG4gICAgICAgIGwgPSBhbDM7XG4gICAgICAgIGEgPSBsICYgMHhmZmZmO1xuICAgICAgICBiID0gbCA+Pj4gMTY7XG4gICAgICAgIGMgPSBoICYgMHhmZmZmO1xuICAgICAgICBkID0gaCA+Pj4gMTY7XG4gICAgICAgIGggPSBoaFszXTtcbiAgICAgICAgbCA9IGhsWzNdO1xuICAgICAgICBhICs9IGwgJiAweGZmZmY7XG4gICAgICAgIGIgKz0gbCA+Pj4gMTY7XG4gICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgZCArPSBoID4+PiAxNjtcbiAgICAgICAgYiArPSBhID4+PiAxNjtcbiAgICAgICAgYyArPSBiID4+PiAxNjtcbiAgICAgICAgZCArPSBjID4+PiAxNjtcbiAgICAgICAgaGhbM10gPSBhaDMgPSAoYyAmIDB4ZmZmZikgfCAoZCA8PCAxNik7XG4gICAgICAgIGhsWzNdID0gYWwzID0gKGEgJiAweGZmZmYpIHwgKGIgPDwgMTYpO1xuICAgICAgICBoID0gYWg0O1xuICAgICAgICBsID0gYWw0O1xuICAgICAgICBhID0gbCAmIDB4ZmZmZjtcbiAgICAgICAgYiA9IGwgPj4+IDE2O1xuICAgICAgICBjID0gaCAmIDB4ZmZmZjtcbiAgICAgICAgZCA9IGggPj4+IDE2O1xuICAgICAgICBoID0gaGhbNF07XG4gICAgICAgIGwgPSBobFs0XTtcbiAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICBjICs9IGggJiAweGZmZmY7XG4gICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgIGIgKz0gYSA+Pj4gMTY7XG4gICAgICAgIGMgKz0gYiA+Pj4gMTY7XG4gICAgICAgIGQgKz0gYyA+Pj4gMTY7XG4gICAgICAgIGhoWzRdID0gYWg0ID0gKGMgJiAweGZmZmYpIHwgKGQgPDwgMTYpO1xuICAgICAgICBobFs0XSA9IGFsNCA9IChhICYgMHhmZmZmKSB8IChiIDw8IDE2KTtcbiAgICAgICAgaCA9IGFoNTtcbiAgICAgICAgbCA9IGFsNTtcbiAgICAgICAgYSA9IGwgJiAweGZmZmY7XG4gICAgICAgIGIgPSBsID4+PiAxNjtcbiAgICAgICAgYyA9IGggJiAweGZmZmY7XG4gICAgICAgIGQgPSBoID4+PiAxNjtcbiAgICAgICAgaCA9IGhoWzVdO1xuICAgICAgICBsID0gaGxbNV07XG4gICAgICAgIGEgKz0gbCAmIDB4ZmZmZjtcbiAgICAgICAgYiArPSBsID4+PiAxNjtcbiAgICAgICAgYyArPSBoICYgMHhmZmZmO1xuICAgICAgICBkICs9IGggPj4+IDE2O1xuICAgICAgICBiICs9IGEgPj4+IDE2O1xuICAgICAgICBjICs9IGIgPj4+IDE2O1xuICAgICAgICBkICs9IGMgPj4+IDE2O1xuICAgICAgICBoaFs1XSA9IGFoNSA9IChjICYgMHhmZmZmKSB8IChkIDw8IDE2KTtcbiAgICAgICAgaGxbNV0gPSBhbDUgPSAoYSAmIDB4ZmZmZikgfCAoYiA8PCAxNik7XG4gICAgICAgIGggPSBhaDY7XG4gICAgICAgIGwgPSBhbDY7XG4gICAgICAgIGEgPSBsICYgMHhmZmZmO1xuICAgICAgICBiID0gbCA+Pj4gMTY7XG4gICAgICAgIGMgPSBoICYgMHhmZmZmO1xuICAgICAgICBkID0gaCA+Pj4gMTY7XG4gICAgICAgIGggPSBoaFs2XTtcbiAgICAgICAgbCA9IGhsWzZdO1xuICAgICAgICBhICs9IGwgJiAweGZmZmY7XG4gICAgICAgIGIgKz0gbCA+Pj4gMTY7XG4gICAgICAgIGMgKz0gaCAmIDB4ZmZmZjtcbiAgICAgICAgZCArPSBoID4+PiAxNjtcbiAgICAgICAgYiArPSBhID4+PiAxNjtcbiAgICAgICAgYyArPSBiID4+PiAxNjtcbiAgICAgICAgZCArPSBjID4+PiAxNjtcbiAgICAgICAgaGhbNl0gPSBhaDYgPSAoYyAmIDB4ZmZmZikgfCAoZCA8PCAxNik7XG4gICAgICAgIGhsWzZdID0gYWw2ID0gKGEgJiAweGZmZmYpIHwgKGIgPDwgMTYpO1xuICAgICAgICBoID0gYWg3O1xuICAgICAgICBsID0gYWw3O1xuICAgICAgICBhID0gbCAmIDB4ZmZmZjtcbiAgICAgICAgYiA9IGwgPj4+IDE2O1xuICAgICAgICBjID0gaCAmIDB4ZmZmZjtcbiAgICAgICAgZCA9IGggPj4+IDE2O1xuICAgICAgICBoID0gaGhbN107XG4gICAgICAgIGwgPSBobFs3XTtcbiAgICAgICAgYSArPSBsICYgMHhmZmZmO1xuICAgICAgICBiICs9IGwgPj4+IDE2O1xuICAgICAgICBjICs9IGggJiAweGZmZmY7XG4gICAgICAgIGQgKz0gaCA+Pj4gMTY7XG4gICAgICAgIGIgKz0gYSA+Pj4gMTY7XG4gICAgICAgIGMgKz0gYiA+Pj4gMTY7XG4gICAgICAgIGQgKz0gYyA+Pj4gMTY7XG4gICAgICAgIGhoWzddID0gYWg3ID0gKGMgJiAweGZmZmYpIHwgKGQgPDwgMTYpO1xuICAgICAgICBobFs3XSA9IGFsNyA9IChhICYgMHhmZmZmKSB8IChiIDw8IDE2KTtcbiAgICAgICAgcG9zICs9IDEyODtcbiAgICAgICAgbGVuIC09IDEyODtcbiAgICB9XG4gICAgcmV0dXJuIHBvcztcbn1cbmZ1bmN0aW9uIGhhc2goZGF0YSkge1xuICAgIHZhciBoID0gbmV3IFNIQTUxMigpO1xuICAgIGgudXBkYXRlKGRhdGEpO1xuICAgIHZhciBkaWdlc3QgPSBoLmRpZ2VzdCgpO1xuICAgIGguY2xlYW4oKTtcbiAgICByZXR1cm4gZGlnZXN0O1xufVxuZXhwb3J0cy5oYXNoID0gaGFzaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNoYTUxMi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/sha512/lib/sha512.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/core/dist/index.es.js": -/*!***********************************************************!*\ - !*** ./node_modules/@walletconnect/core/dist/index.es.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CORE_CONTEXT: function() { return /* binding */ W; },\n/* harmony export */ CORE_DEFAULT: function() { return /* binding */ Je; },\n/* harmony export */ CORE_PROTOCOL: function() { return /* binding */ ce; },\n/* harmony export */ CORE_STORAGE_OPTIONS: function() { return /* binding */ He; },\n/* harmony export */ CORE_STORAGE_PREFIX: function() { return /* binding */ O; },\n/* harmony export */ CORE_VERSION: function() { return /* binding */ Ge; },\n/* harmony export */ CRYPTO_CLIENT_SEED: function() { return /* binding */ ue; },\n/* harmony export */ CRYPTO_CONTEXT: function() { return /* binding */ We; },\n/* harmony export */ CRYPTO_JWT_TTL: function() { return /* binding */ Xe; },\n/* harmony export */ Core: function() { return /* binding */ Sr; },\n/* harmony export */ Crypto: function() { return /* binding */ It; },\n/* harmony export */ EXPIRER_CONTEXT: function() { return /* binding */ ft; },\n/* harmony export */ EXPIRER_DEFAULT_TTL: function() { return /* binding */ ur; },\n/* harmony export */ EXPIRER_EVENTS: function() { return /* binding */ w; },\n/* harmony export */ EXPIRER_STORAGE_VERSION: function() { return /* binding */ wt; },\n/* harmony export */ Expirer: function() { return /* binding */ $t; },\n/* harmony export */ HISTORY_CONTEXT: function() { return /* binding */ mt; },\n/* harmony export */ HISTORY_EVENTS: function() { return /* binding */ _; },\n/* harmony export */ HISTORY_STORAGE_VERSION: function() { return /* binding */ Et; },\n/* harmony export */ JsonRpcHistory: function() { return /* binding */ Lt; },\n/* harmony export */ KEYCHAIN_CONTEXT: function() { return /* binding */ Ze; },\n/* harmony export */ KEYCHAIN_STORAGE_VERSION: function() { return /* binding */ Qe; },\n/* harmony export */ KeyChain: function() { return /* binding */ vt; },\n/* harmony export */ MESSAGES_CONTEXT: function() { return /* binding */ et; },\n/* harmony export */ MESSAGES_STORAGE_VERSION: function() { return /* binding */ tt; },\n/* harmony export */ MessageTracker: function() { return /* binding */ Ct; },\n/* harmony export */ PAIRING_CONTEXT: function() { return /* binding */ yt; },\n/* harmony export */ PAIRING_DEFAULT_TTL: function() { return /* binding */ cr; },\n/* harmony export */ PAIRING_RPC_OPTS: function() { return /* binding */ $; },\n/* harmony export */ PAIRING_STORAGE_VERSION: function() { return /* binding */ bt; },\n/* harmony export */ PENDING_SUB_RESOLUTION_TIMEOUT: function() { return /* binding */ Dt; },\n/* harmony export */ PUBLISHER_CONTEXT: function() { return /* binding */ st; },\n/* harmony export */ PUBLISHER_DEFAULT_TTL: function() { return /* binding */ it; },\n/* harmony export */ Pairing: function() { return /* binding */ Ut; },\n/* harmony export */ RELAYER_CONTEXT: function() { return /* binding */ at; },\n/* harmony export */ RELAYER_DEFAULT_LOGGER: function() { return /* binding */ nt; },\n/* harmony export */ RELAYER_DEFAULT_PROTOCOL: function() { return /* binding */ rt; },\n/* harmony export */ RELAYER_DEFAULT_RELAY_URL: function() { return /* binding */ le; },\n/* harmony export */ RELAYER_EVENTS: function() { return /* binding */ g; },\n/* harmony export */ RELAYER_FAILOVER_RELAY_URL: function() { return /* binding */ de; },\n/* harmony export */ RELAYER_PROVIDER_EVENTS: function() { return /* binding */ L; },\n/* harmony export */ RELAYER_RECONNECT_TIMEOUT: function() { return /* binding */ ht; },\n/* harmony export */ RELAYER_SDK_VERSION: function() { return /* binding */ ct; },\n/* harmony export */ RELAYER_STORAGE_OPTIONS: function() { return /* binding */ or; },\n/* harmony export */ RELAYER_SUBSCRIBER_SUFFIX: function() { return /* binding */ ot; },\n/* harmony export */ RELAYER_TRANSPORT_CUTOFF: function() { return /* binding */ ut; },\n/* harmony export */ Relayer: function() { return /* binding */ Ot; },\n/* harmony export */ STORE_STORAGE_VERSION: function() { return /* binding */ lt; },\n/* harmony export */ SUBSCRIBER_CONTEXT: function() { return /* binding */ gt; },\n/* harmony export */ SUBSCRIBER_DEFAULT_TTL: function() { return /* binding */ hr; },\n/* harmony export */ SUBSCRIBER_EVENTS: function() { return /* binding */ C; },\n/* harmony export */ SUBSCRIBER_STORAGE_VERSION: function() { return /* binding */ pt; },\n/* harmony export */ Store: function() { return /* binding */ Nt; },\n/* harmony export */ Subscriber: function() { return /* binding */ Tt; },\n/* harmony export */ VERIFY_CONTEXT: function() { return /* binding */ X; },\n/* harmony export */ VERIFY_SERVER: function() { return /* binding */ ge; },\n/* harmony export */ Verify: function() { return /* binding */ Ft; },\n/* harmony export */ WALLETCONNECT_CLIENT_ID: function() { return /* binding */ dt; },\n/* harmony export */ \"default\": function() { return /* binding */ Z; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_keyvaluestorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/keyvaluestorage */ \"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js\");\n/* harmony import */ var _walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/heartbeat */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/logger */ \"./node_modules/@walletconnect/logger/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @walletconnect/types */ \"./node_modules/@walletconnect/types/dist/index.es.js\");\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @walletconnect/safe-json */ \"./node_modules/@walletconnect/safe-json/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @walletconnect/relay-auth */ \"./node_modules/@walletconnect/relay-auth/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @walletconnect/utils */ \"./node_modules/@walletconnect/utils/dist/index.es.js\");\n/* harmony import */ var uint8arrays__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uint8arrays */ \"./node_modules/uint8arrays/esm/src/index.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @walletconnect/time */ \"./node_modules/@walletconnect/time/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @walletconnect/jsonrpc-provider */ \"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_ws_connection__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @walletconnect/jsonrpc-ws-connection */ \"./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js\");\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lodash.isequal */ \"./node_modules/lodash.isequal/index.js\");\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash_isequal__WEBPACK_IMPORTED_MODULE_11__);\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nfunction $i(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),a=n.charCodeAt(0);if(t[a]!==255)throw new TypeError(n+\" is ambiguous\");t[a]=s}var o=r.length,h=r.charAt(0),l=Math.log(o)/Math.log(256),d=Math.log(256)/Math.log(o);function b(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(u.length===0)return\"\";for(var D=0,A=0,v=0,R=u.length;v!==R&&u[v]===0;)v++,D++;for(var T=(R-v)*d+1>>>0,m=new Uint8Array(T);v!==R;){for(var S=u[v],x=0,I=T-1;(S!==0||x<A)&&I!==-1;I--,x++)S+=256*m[I]>>>0,m[I]=S%o>>>0,S=S/o>>>0;if(S!==0)throw new Error(\"Non-zero carry\");A=x,v++}for(var P=T-A;P!==T&&m[P]===0;)P++;for(var B=h.repeat(D);P<T;++P)B+=r.charAt(m[P]);return B}function y(u){if(typeof u!=\"string\")throw new TypeError(\"Expected String\");if(u.length===0)return new Uint8Array;var D=0;if(u[D]!==\" \"){for(var A=0,v=0;u[D]===h;)A++,D++;for(var R=(u.length-D)*l+1>>>0,T=new Uint8Array(R);u[D];){var m=t[u.charCodeAt(D)];if(m===255)return;for(var S=0,x=R-1;(m!==0||S<v)&&x!==-1;x--,S++)m+=o*T[x]>>>0,T[x]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error(\"Non-zero carry\");v=S,D++}if(u[D]!==\" \"){for(var I=R-v;I!==R&&T[I]===0;)I++;for(var P=new Uint8Array(A+(R-I)),B=A;I!==R;)P[B++]=T[I++];return P}}}function k(u){var D=y(u);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:b,decodeUnsafe:y,decode:k}}var Fi=$i,Mi=Fi;const Oe=r=>{if(r instanceof Uint8Array&&r.constructor.name===\"Uint8Array\")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error(\"Unknown type, must be binary type\")},Ki=r=>new TextEncoder().encode(r),ki=r=>new TextDecoder().decode(r);class Bi{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class ji{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(\"Can only multibase decode strings\")}or(e){return xe(this,e)}}class Vi{constructor(e){this.decoders=e}or(e){return xe(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const xe=(r,e)=>new Vi({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class qi{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new Bi(e,t,i),this.decoder=new ji(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const H=({name:r,prefix:e,encode:t,decode:i})=>new qi(r,e,t,i),M=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=Mi(t,e);return H({prefix:r,name:e,encode:i,decode:n=>Oe(s(n))})},Yi=(r,e,t,i)=>{const s={};for(let d=0;d<e.length;++d)s[e[d]]=d;let n=r.length;for(;r[n-1]===\"=\";)--n;const a=new Uint8Array(n*t/8|0);let o=0,h=0,l=0;for(let d=0;d<n;++d){const b=s[r[d]];if(b===void 0)throw new SyntaxError(`Non-${i} character`);h=h<<t|b,o+=t,o>=8&&(o-=8,a[l++]=255&h>>o)}if(o>=t||255&h<<8-o)throw new SyntaxError(\"Unexpected end of data\");return a},Gi=(r,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<<t)-1;let n=\"\",a=0,o=0;for(let h=0;h<r.length;++h)for(o=o<<8|r[h],a+=8;a>t;)a-=t,n+=e[s&o>>a];if(a&&(n+=e[s&o<<t-a]),i)for(;n.length*t&7;)n+=\"=\";return n},p=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>H({prefix:e,name:r,encode(s){return Gi(s,i,t)},decode(s){return Yi(s,i,t,r)}}),Ji=H({prefix:\"\\0\",name:\"identity\",encode:r=>ki(r),decode:r=>Ki(r)});var Hi=Object.freeze({__proto__:null,identity:Ji});const Wi=p({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var Xi=Object.freeze({__proto__:null,base2:Wi});const Zi=p({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var Qi=Object.freeze({__proto__:null,base8:Zi});const es=M({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var ts=Object.freeze({__proto__:null,base10:es});const is=p({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),ss=p({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var rs=Object.freeze({__proto__:null,base16:is,base16upper:ss});const ns=p({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),as=p({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),os=p({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),hs=p({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),cs=p({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),us=p({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),ls=p({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),ds=p({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),gs=p({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var ps=Object.freeze({__proto__:null,base32:ns,base32upper:as,base32pad:os,base32padupper:hs,base32hex:cs,base32hexupper:us,base32hexpad:ls,base32hexpadupper:ds,base32z:gs});const Ds=M({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),ys=M({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var bs=Object.freeze({__proto__:null,base36:Ds,base36upper:ys});const ms=M({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Es=M({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var fs=Object.freeze({__proto__:null,base58btc:ms,base58flickr:Es});const ws=p({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),vs=p({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Is=p({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Cs=p({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var _s=Object.freeze({__proto__:null,base64:ws,base64pad:vs,base64url:Is,base64urlpad:Cs});const Ae=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Rs=Ae.reduce((r,e,t)=>(r[t]=e,r),[]),Ts=Ae.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Ss(r){return r.reduce((e,t)=>(e+=Rs[t],e),\"\")}function Ps(r){const e=[];for(const t of r){const i=Ts[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Os=H({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Ss,decode:Ps});var xs=Object.freeze({__proto__:null,base256emoji:Os}),As=Ne,ze=128,zs=127,Ns=~zs,Us=Math.pow(2,31);function Ne(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Us;)e[t++]=r&255|ze,r/=128;for(;r&Ns;)e[t++]=r&255|ze,r>>>=7;return e[t]=r|0,Ne.bytes=t-i+1,e}var Ls=ae,$s=128,Ue=127;function ae(r,i){var t=0,i=i||0,s=0,n=i,a,o=r.length;do{if(n>=o)throw ae.bytes=0,new RangeError(\"Could not decode varint\");a=r[n++],t+=s<28?(a&Ue)<<s:(a&Ue)*Math.pow(2,s),s+=7}while(a>=$s);return ae.bytes=n-i,t}var Fs=Math.pow(2,7),Ms=Math.pow(2,14),Ks=Math.pow(2,21),ks=Math.pow(2,28),Bs=Math.pow(2,35),js=Math.pow(2,42),Vs=Math.pow(2,49),qs=Math.pow(2,56),Ys=Math.pow(2,63),Gs=function(r){return r<Fs?1:r<Ms?2:r<Ks?3:r<ks?4:r<Bs?5:r<js?6:r<Vs?7:r<qs?8:r<Ys?9:10},Js={encode:As,decode:Ls,encodingLength:Gs},Le=Js;const $e=(r,e,t=0)=>(Le.encode(r,e,t),e),Fe=r=>Le.encodingLength(r),oe=(r,e)=>{const t=e.byteLength,i=Fe(r),s=i+Fe(t),n=new Uint8Array(s+t);return $e(r,n,0),$e(t,n,i),n.set(e,s),new Hs(r,t,e,n)};class Hs{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const Me=({name:r,code:e,encode:t})=>new Ws(r,e,t);class Ws{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?oe(this.code,t):t.then(i=>oe(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const Ke=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Xs=Me({name:\"sha2-256\",code:18,encode:Ke(\"SHA-256\")}),Zs=Me({name:\"sha2-512\",code:19,encode:Ke(\"SHA-512\")});var Qs=Object.freeze({__proto__:null,sha256:Xs,sha512:Zs});const ke=0,er=\"identity\",Be=Oe,tr=r=>oe(ke,Be(r)),ir={code:ke,name:er,encode:Be,digest:tr};var sr=Object.freeze({__proto__:null,identity:ir});new TextEncoder,new TextDecoder;const je={...Hi,...Xi,...Qi,...ts,...rs,...ps,...bs,...fs,..._s,...xs};({...Qs,...sr});function Ve(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function rr(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ve(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function qe(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const Ye=qe(\"utf8\",\"u\",r=>\"u\"+new TextDecoder(\"utf8\").decode(r),r=>new TextEncoder().encode(r.substring(1))),he=qe(\"ascii\",\"a\",r=>{let e=\"a\";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=rr(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),nr={utf8:Ye,\"utf-8\":Ye,hex:je.base16,latin1:he,ascii:he,binary:he,...je};function ar(r,e=\"utf8\"){const t=nr[e];if(!t)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ve(globalThis.Buffer.from(r,\"utf-8\")):t.decoder.decode(`${t.prefix}${r}`)}const ce=\"wc\",Ge=2,W=\"core\",O=`${ce}@2:${W}:`,Je={name:W,logger:\"error\"},He={database:\":memory:\"},We=\"crypto\",ue=\"client_ed25519_seed\",Xe=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_DAY,Ze=\"keychain\",Qe=\"0.3\",et=\"messages\",tt=\"0.3\",it=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.SIX_HOURS,st=\"publisher\",rt=\"irn\",nt=\"error\",le=\"wss://relay.walletconnect.com\",de=\"wss://relay.walletconnect.org\",at=\"relayer\",g={message:\"relayer_message\",message_ack:\"relayer_message_ack\",connect:\"relayer_connect\",disconnect:\"relayer_disconnect\",error:\"relayer_error\",connection_stalled:\"relayer_connection_stalled\",transport_closed:\"relayer_transport_closed\",publish:\"relayer_publish\"},ot=\"_subscription\",L={payload:\"payload\",connect:\"connect\",disconnect:\"disconnect\",error:\"error\"},ht=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_SECOND/2,or={database:\":memory:\"},ct=\"2.9.2\",ut=1e4,lt=\"0.3\",dt=\"WALLETCONNECT_CLIENT_ID\",C={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},hr=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.THIRTY_DAYS,gt=\"subscription\",pt=\"0.3\",Dt=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.FIVE_SECONDS*1e3,yt=\"pairing\",bt=\"0.3\",cr=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.THIRTY_DAYS,$={wc_pairingDelete:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_DAY,prompt:!1,tag:0},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_DAY,prompt:!1,tag:0}}},_={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},mt=\"history\",Et=\"0.3\",ft=\"expirer\",w={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},wt=\"0.3\",ur=_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_DAY,X=\"verify-api\",ge=\"https://verify.walletconnect.com\";class vt{constructor(e,t){this.core=e,this.logger=t,this.keychain=new Map,this.name=Ze,this.version=Qe,this.initialized=!1,this.storagePrefix=O,this.init=async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()},this.get=i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:n}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(n)}return s},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.mapToObj)(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.objToMap)(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class It{constructor(e,t,i){this.core=e,this.logger=t,this.name=We,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=s=>(this.isInitialized(),this.keychain.has(s)),this.getClientId=async()=>{this.isInitialized();const s=await this.getClientSeed(),n=_walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_5__.generateKeyPair(s);return _walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_5__.encodeIss(n.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const s=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.generateKeyPair)();return this.setPrivateKey(s.publicKey,s.privateKey)},this.signJWT=async s=>{this.isInitialized();const n=await this.getClientSeed(),a=_walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_5__.generateKeyPair(n),o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.generateRandomBytes32)(),h=Xe;return await _walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_5__.signJWT(o,s,h,a)},this.generateSharedKey=(s,n,a)=>{this.isInitialized();const o=this.getPrivateKey(s),h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.deriveSymKey)(o,n);return this.setSymKey(h,a)},this.setSymKey=async(s,n)=>{this.isInitialized();const a=n||(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.hashKey)(s);return await this.keychain.set(a,s),a},this.deleteKeyPair=async s=>{this.isInitialized(),await this.keychain.del(s)},this.deleteSymKey=async s=>{this.isInitialized(),await this.keychain.del(s)},this.encode=async(s,n,a)=>{this.isInitialized();const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.validateEncoding)(a),h=(0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_4__.safeJsonStringify)(n);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isTypeOneEnvelope)(o)){const y=o.senderPublicKey,k=o.receiverPublicKey;s=await this.generateSharedKey(y,k)}const l=this.getSymKey(s),{type:d,senderPublicKey:b}=o;return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.encrypt)({type:d,symKey:l,message:h,senderPublicKey:b})},this.decode=async(s,n,a)=>{this.isInitialized();const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.validateDecoding)(n,a);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isTypeOneEnvelope)(o)){const h=o.receiverPublicKey,l=o.senderPublicKey;s=await this.generateSharedKey(h,l)}try{const h=this.getSymKey(s),l=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.decrypt)({symKey:h,encoded:n});return (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_4__.safeJsonParse)(l)}catch(h){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(h)}},this.getPayloadType=s=>{const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.deserialize)(s);return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.decodeTypeByte)(n.type)},this.getPayloadSenderPublicKey=s=>{const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.deserialize)(s);return n.senderPublicKey?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_6__.toString)(n.senderPublicKey,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.BASE16):void 0},this.core=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.keychain=i||new vt(this.core,this.logger)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=\"\";try{e=this.keychain.get(ue)}catch{e=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.generateRandomBytes32)(),await this.keychain.set(ue,e)}return ar(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ct extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IMessageTracker{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=et,this.version=tt,this.initialized=!1,this.storagePrefix=O,this.init=async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,s)=>{this.isInitialized();const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.hashMessage)(s);let a=this.messages.get(i);return typeof a>\"u\"&&(a={}),typeof a[n]<\"u\"||(a[n]=s,this.messages.set(i,a),await this.persist()),n},this.get=i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s},this.has=(i,s)=>{this.isInitialized();const n=this.get(i),a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.hashMessage)(s);return typeof n[a]<\"u\"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(e,this.name),this.core=t}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+\"//\"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.mapToObj)(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.objToMap)(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class lr extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IPublisher{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=st,this.queue=new Map,this.publishTimeout=(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.TEN_SECONDS),this.queueTimeout=(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.FIVE_SECONDS),this.needsTransportRestart=!1,this.publish=async(i,s,n)=>{this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:n}});try{const a=n?.ttl||it,o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolName)(n),h=n?.prompt||!1,l=n?.tag||0,d=n?.id||(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.getBigIntRpcId)().toString(),b={topic:i,message:s,opts:{ttl:a,relay:o,prompt:h,tag:l,id:d}},y=setTimeout(()=>this.queue.set(d,b),this.queueTimeout);try{await await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.createExpiringPromise)(this.rpcPublish(i,s,a,o,h,l,d),this.publishTimeout),clearTimeout(y),this.relayer.events.emit(g.publish,b)}catch{this.logger.debug(\"Publishing Payload stalled\"),this.needsTransportRestart=!0;return}this.logger.debug(\"Successfully Published Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:n}})}catch(a){throw this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(a),a}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.relayer=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.registerEventListeners()}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}rpcPublish(e,t,i,s,n,a,o){var h,l,d,b;const y={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolApi)(s.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:n,tag:a},id:o};return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isUndefined)((h=y.params)==null?void 0:h.prompt)&&((l=y.params)==null||delete l.prompt),(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isUndefined)((d=y.params)==null?void 0:d.tag)&&((b=y.params)==null||delete b.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:y}),this.relayer.request(y)}onPublish(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:s}=e;await this.publish(t,i,s)})}registerEventListeners(){this.relayer.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(g.connection_stalled);return}this.checkQueue()}),this.relayer.on(g.message_ack,e=>{this.onPublish(e.id.toString())})}}class dr{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var gr=Object.defineProperty,pr=Object.defineProperties,Dr=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertySymbols,yr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,Rt=(r,e,t)=>e in r?gr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,K=(r,e)=>{for(var t in e||(e={}))yr.call(e,t)&&Rt(r,t,e[t]);if(_t)for(var t of _t(e))br.call(e,t)&&Rt(r,t,e[t]);return r},pe=(r,e)=>pr(r,Dr(e));class Tt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.ISubscriber{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new dr,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=gt,this.version=pt,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel=\"pending_sub_watch_label\",this.pollingInterval=20,this.storagePrefix=O,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restart(),this.registerEventListeners(),this.onEnable(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolName)(s),a={topic:i,relay:n};this.pending.set(i,a);const o=await this.rpcSubscribe(i,n);return this.onSubscribe(o,a),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}}),o}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}},this.unsubscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)},this.isSubscribed=async i=>this.topics.includes(i)?!0:await new Promise((s,n)=>{const a=new _walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.Watch;a.start(this.pendingSubscriptionWatchLabel);const o=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(o),a.stop(this.pendingSubscriptionWatchLabel),s(!0)),a.elapsed(this.pendingSubscriptionWatchLabel)>=Dt&&(clearInterval(o),a.stop(this.pendingSubscriptionWatchLabel),n(new Error(\"Subscription resolution timeout\")))},this.pollingInterval)}).catch(()=>!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.clientId=\"\"}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}});try{const s=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolName)(i);await this.rpcUnsubscribe(e,t,s);const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getSdkError)(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t){const i={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolApi)(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.createExpiringPromise)(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(g.connection_stalled)}return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.hashMessage)(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolApi)(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{return await await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.createExpiringPromise)(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug(\"Outgoing Relay Payload stalled\"),this.relayer.events.emit(g.connection_stalled)}}rpcUnsubscribe(e,t,i){const s={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getRelayProtocolApi)(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,pe(K({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,K({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.subscriptions.has(e)||(this.logger.debug(\"Setting subscription\"),this.logger.trace({type:\"method\",method:\"setSubscription\",id:e,subscription:t}),this.addSubscription(e,t))}addSubscription(e,t){this.subscriptions.set(e,K({},t)),this.topicMap.set(t.topic,e),this.events.emit(C.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(C.deleted,pe(K({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(C.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t<e;t++){const i=this.cached.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(i)}}this.events.emit(C.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isValidArray)(t)&&this.onBatchSubscribe(t.map((i,s)=>pe(K({},e[s]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(g.connect,async()=>{await this.onConnect()}),this.relayer.on(g.disconnect,()=>{this.onDisconnect()}),this.events.on(C.created,async e=>{const t=C.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()}),this.events.on(C.deleted,async e=>{const t=C.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var mr=Object.defineProperty,St=Object.getOwnPropertySymbols,Er=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,Pt=(r,e,t)=>e in r?mr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,wr=(r,e)=>{for(var t in e||(e={}))Er.call(e,t)&&Pt(r,t,e[t]);if(St)for(var t of St(e))fr.call(e,t)&&Pt(r,t,e[t]);return r};class Ot extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IRelayer{constructor(e){super(e),this.protocol=\"wc\",this.version=2,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=at,this.transportExplicitlyClosed=!1,this.initialized=!1,this.reconnecting=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=[\"socket hang up\",\"socket stalled\"],this.request=async t=>{this.logger.debug(\"Publishing Request Payload\");try{return await this.toEstablishConnection(),await this.provider.request(t)}catch(i){throw this.logger.debug(\"Failed to Publish Request\"),this.logger.error(i),i}},this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(e.logger,this.name):(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getDefaultLoggerOptions)({level:e.logger||nt})),this.messages=new Ct(this.logger,e.core),this.subscriber=new Tt(this,this.logger),this.publisher=new lr(this,this.logger),this.relayUrl=e?.relayUrl||le,this.projectId=e.projectId,this.provider={}}async init(){this.logger.trace(\"Initialized\"),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${de}...`),await this.restartTransport(de)}this.registerEventListeners(),this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info(\"No topics subscribed to after init, closing transport\"),await this.transportClose(),this.transportExplicitlyClosed=!1)},ut)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let s=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||\"\";return s||(await Promise.all([new Promise(n=>{this.subscriber.once(C.created,a=>{a.topic===e&&n()})}),new Promise(async n=>{s=await this.subscriber.subscribe(e,t),n()})]),s)}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportClose(){this.transportExplicitlyClosed=!0,this.connected&&(await this.provider.disconnect(),this.events.emit(g.transport_closed))}async transportOpen(e){if(this.transportExplicitlyClosed=!1,!this.reconnecting){this.relayUrl=e||this.relayUrl,this.reconnecting=!0;try{await Promise.all([new Promise(t=>{this.initialized||t(),this.subscriber.once(C.resubscribed,()=>{t()})}),await Promise.race([new Promise(async(t,i)=>{await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.createExpiringPromise)(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(s=>i(s)).then(()=>t()).finally(()=>this.removeListener(g.transport_closed,this.rejectTransportOpen))}),new Promise(t=>this.once(g.transport_closed,this.rejectTransportOpen))])])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.events.emit(g.transport_closed)}finally{this.reconnecting=!1}}}async restartTransport(e){this.transportExplicitlyClosed||this.reconnecting||(this.relayUrl=e||this.relayUrl,this.connected&&await Promise.all([new Promise(t=>{this.provider.once(L.disconnect,()=>{t()})}),this.transportClose()]),await this.createProvider(),await this.transportOpen())}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}rejectTransportOpen(){throw new Error(\"Attempt to connect to relay via `transportOpen` has stalled. Retrying...\")}async createProvider(){const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_8__.JsonRpcProvider(new _walletconnect_jsonrpc_ws_connection__WEBPACK_IMPORTED_MODULE_10__[\"default\"]((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.formatRelayRpcUrl)({sdkVersion:ct,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.debug(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcRequest)(e)){if(!e.method.endsWith(ot))return;const t=e.params,{topic:i,message:s,publishedAt:n}=t.data,a={topic:i,message:s,publishedAt:n};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(wr({type:\"event\",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcResponse)(e)&&this.events.emit(g.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(g.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}registerProviderListeners(){this.provider.on(L.payload,e=>this.onProviderPayload(e)),this.provider.on(L.connect,()=>{this.events.emit(g.connect)}),this.provider.on(L.disconnect,()=>{this.onProviderDisconnect()}),this.provider.on(L.error,e=>{this.logger.error(e),this.events.emit(g.error,e)})}registerEventListeners(){this.events.on(g.connection_stalled,async()=>{await this.restartTransport()})}onProviderDisconnect(){this.events.emit(g.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||setTimeout(async()=>{await this.restartTransport()},(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(ht))}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){if(!this.connected){if(this.connecting)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var vr=Object.defineProperty,xt=Object.getOwnPropertySymbols,Ir=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,At=(r,e,t)=>e in r?vr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,zt=(r,e)=>{for(var t in e||(e={}))Ir.call(e,t)&&At(r,t,e[t]);if(xt)for(var t of xt(e))Cr.call(e,t)&&At(r,t,e[t]);return r};class Nt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IStore{constructor(e,t,i,s=O,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=lt,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(a=>{this.getKey&&a!==null&&!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isUndefined)(a)?this.map.set(this.getKey(a),a):(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isProposalStruct)(a)?this.map.set(a.id,a):(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isSessionStruct)(a)&&this.map.set(a.topic,a)}),this.cached=[],this.initialized=!0)},this.set=async(a,o)=>{this.isInitialized(),this.map.has(a)?await this.update(a,o):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:a,value:o}),this.map.set(a,o),await this.persist())},this.get=a=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:a}),this.getData(a)),this.getAll=a=>(this.isInitialized(),a?this.values.filter(o=>Object.keys(a).every(h=>lodash_isequal__WEBPACK_IMPORTED_MODULE_11___default()(o[h],a[h]))):this.values),this.update=async(a,o)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:a,update:o});const h=zt(zt({},this.getData(a)),o);this.map.set(a,h),await this.persist()},this.delete=async(a,o)=>{this.isInitialized(),this.map.has(a)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:a,reason:o}),this.map.delete(a),await this.persist())},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ut{constructor(e,t){this.core=e,this.logger=t,this.name=yt,this.version=bt,this.events=new (events__WEBPACK_IMPORTED_MODULE_0___default()),this.initialized=!1,this.storagePrefix=O,this.ignoredPayloadTypes=[_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.TYPE_1],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.generateRandomBytes32)(),s=await this.core.crypto.setSymKey(i),n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.FIVE_MINUTES),a={protocol:rt},o={topic:s,expiry:n,relay:a,active:!1},h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.formatUri)({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:i,relay:a});return await this.pairings.set(s,o),await this.core.relayer.subscribe(s),this.core.expirer.set(s,n),{topic:s,uri:h}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:s,symKey:n,relay:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.parseUri)(i.uri);if(this.pairings.keys.includes(s))throw new Error(`Pairing already exists: ${s}`);if(this.core.crypto.hasKeys(s))throw new Error(`Keychain already exists: ${s}`);const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.FIVE_MINUTES),h={topic:s,relay:a,expiry:o,active:!1};return await this.pairings.set(s,h),await this.core.crypto.setSymKey(n,s),await this.core.relayer.subscribe(s,{relay:a}),this.core.expirer.set(s,o),i.activatePairing&&await this.activate({topic:s}),h},this.activate=async({topic:i})=>{this.isInitialized();const s=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.THIRTY_DAYS);await this.pairings.update(i,{active:!0,expiry:s}),this.core.expirer.set(i,s)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:a,resolve:o,reject:h}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.createDelayedPromise)();this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.engineEvent)(\"pairing_ping\",n),({error:l})=>{l?h(l):o()}),await a()}},this.updateExpiry=async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})},this.updateMetadata=async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getSdkError)(\"USER_DISCONNECTED\")),await this.deletePairing(s))},this.sendRequest=async(i,s,n)=>{const a=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.formatJsonRpcRequest)(s,n),o=await this.core.crypto.encode(i,a),h=$[s].req;return this.core.history.set(i,a),this.core.relayer.publish(i,o,h),a.id},this.sendResult=async(i,s,n)=>{const a=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.formatJsonRpcResult)(i,n),o=await this.core.crypto.encode(s,a),h=await this.core.history.get(s,i),l=$[h.request.method].res;await this.core.relayer.publish(s,o,l),await this.core.history.resolve(a)},this.sendError=async(i,s,n)=>{const a=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.formatJsonRpcError)(i,n),o=await this.core.crypto.encode(s,a),h=await this.core.history.get(s,i),l=$[h.request.method]?$[h.request.method].res:$.unregistered_method.res;await this.core.relayer.publish(s,o,l),await this.core.history.resolve(a)},this.deletePairing=async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getSdkError)(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(s=>(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isExpired)(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))},this.onRelayEventRequest=i=>{const{topic:s,payload:n}=i;switch(n.method){case\"wc_pairingPing\":return this.onPairingPingRequest(s,n);case\"wc_pairingDelete\":return this.onPairingDeleteRequest(s,n);default:return this.onUnknownRpcMethodRequest(s,n)}},this.onRelayEventResponse=async i=>{const{topic:s,payload:n}=i,a=(await this.core.history.get(s,n.id)).request.method;switch(a){case\"wc_pairingPing\":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(a)}},this.onPairingPingRequest=async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(\"pairing_ping\",{id:n,topic:i})}catch(a){await this.sendError(n,i,a),this.logger.error(a)}},this.onPairingPingResponse=(i,s)=>{const{id:n}=s;setTimeout(()=>{(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.engineEvent)(\"pairing_ping\",n),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.engineEvent)(\"pairing_ping\",n),{error:s.error})},500)},this.onPairingDeleteRequest=async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(\"pairing_delete\",{id:n,topic:i})}catch(a){await this.sendError(n,i,a),this.logger.error(a)}},this.onUnknownRpcMethodRequest=async(i,s)=>{const{id:n,method:a}=s;try{if(this.registeredMethods.includes(a))return;const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getSdkError)(\"WC_METHOD_UNSUPPORTED\",a);await this.sendError(n,i,o),this.logger.error(o)}catch(o){await this.sendError(n,i,o),this.logger.error(o)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getSdkError)(\"WC_METHOD_UNSUPPORTED\",i))},this.isValidPair=i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isValidParams)(i)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw new Error(s)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isValidUrl)(i.uri)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw new Error(s)}},this.isValidPing=async i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isValidParams)(i)){const{message:n}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidDisconnect=async i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isValidParams)(i)){const{message:n}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidPairingTopic=async i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isValidString)(i,!1)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isExpired)(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}},this.core=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.pairings=new Nt(this.core,this.logger,this.name,this.storagePrefix)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(g.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcRequest)(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcResponse)(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(w.expired,async e=>{const{topic:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.parseExpirerTarget)(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(\"pairing_expire\",{topic:t}))})}}class Lt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IJsonRpcHistory{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=mt,this.version=Et,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,s,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const a={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.THIRTY_DAYS)};this.records.set(a.id,a),this.events.emit(_.created,a)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.isJsonRpcError)(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.events.emit(_.updated,s))},this.get=async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s)),this.delete=(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<\"u\"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(_.deleted,n)}})},this.exists=async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_9__.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(_.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(_.created,e=>{const t=_.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.events.on(_.updated,e=>{const t=_.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.events.on(_.deleted,e=>{const t=_.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e}),this.persist()}),this.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(e=>{(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(e.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${e.id}`),this.delete(e.topic,e.id))})}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class $t extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IExpirer{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=ft,this.version=wt,this.cached=[],this.initialized=!1,this.storagePrefix=O,this.init=async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}},this.set=(i,s)=>{this.isInitialized();const n=this.formatTarget(i),a={target:n,expiry:s};this.expirations.set(n,a),this.checkExpiry(n,a),this.events.emit(w.created,{target:n,expiration:a})},this.get=i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)},this.del=i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(w.deleted,{target:s,expiration:n})}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+\"//\"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==\"string\")return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.formatTopicTarget)(e);if(typeof e==\"number\")return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.formatIdTarget)(e);const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(w.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(w.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(w.created,e=>{const t=w.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(w.expired,e=>{const t=w.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(w.deleted,e=>{const t=w.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}class Ft extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.IVerify{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=X,this.initialized=!1,this.init=async i=>{(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isReactNative)()||!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isBrowser)()||(this.verifyUrl=i?.verifyUrl||ge,await this.createIframe())},this.register=async i=>{var s;if(this.initialized||await this.init(),!!this.iframe)try{(s=this.iframe.contentWindow)==null||s.postMessage(i.attestationId,this.verifyUrl),this.logger.info(`postMessage sent: ${i.attestationId} ${this.verifyUrl}`)}catch{}},this.resolve=async i=>{var s;if(this.isDevEnv)return\"\";this.logger.info(`resolving attestation: ${i.attestationId}`);const n=this.startAbortTimer(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.FIVE_SECONDS),a=await fetch(`${this.verifyUrl}/attestation/${i.attestationId}`,{signal:this.abortController.signal});return clearTimeout(n),a.status===200?(s=await a.json())==null?void 0:s.origin:\"\"},this.createIframe=async()=>{try{await Promise.race([new Promise((i,s)=>{if(document.getElementById(X))return i();const n=document.createElement(\"iframe\");n.setAttribute(\"id\",X),n.setAttribute(\"src\",`${this.verifyUrl}/${this.projectId}`),n.style.display=\"none\",n.addEventListener(\"load\",()=>{this.initialized=!0,i()}),n.addEventListener(\"error\",a=>{s(a)}),document.body.append(n),this.iframe=n}),new Promise(i=>{setTimeout(()=>i(\"iframe load timeout\"),(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.ONE_SECOND/2))})])}catch(i){this.logger.error(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.error(i)}},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.verifyUrl=ge,this.abortController=new AbortController,this.isDevEnv=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_12__.isNode)()&&process.env.IS_VITEST}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}startAbortTimer(e){return setTimeout(()=>this.abortController.abort(),(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_7__.toMiliseconds)(e))}}var _r=Object.defineProperty,Mt=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable,Kt=(r,e,t)=>e in r?_r(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,kt=(r,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Kt(r,t,e[t]);if(Mt)for(var t of Mt(e))Tr.call(e,t)&&Kt(r,t,e[t]);return r};class Z extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_13__.ICore{constructor(e){super(e),this.protocol=ce,this.version=Ge,this.name=W,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.initialized=!1,this.on=(i,s)=>this.events.on(i,s),this.once=(i,s)=>this.events.once(i,s),this.off=(i,s)=>this.events.off(i,s),this.removeListener=(i,s)=>this.events.removeListener(i,s),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||le;const t=typeof e?.logger<\"u\"&&typeof e?.logger!=\"string\"?e.logger:(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getDefaultLoggerOptions)({level:e?.logger||Je.logger}));this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.heartbeat=new _walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HeartBeat,this.crypto=new It(this,this.logger,e?.keychain),this.history=new Lt(this,this.logger),this.expirer=new $t(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new _walletconnect_keyvaluestorage__WEBPACK_IMPORTED_MODULE_1__[\"default\"](kt(kt({},He),e?.storageOptions)),this.relayer=new Ot({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Ut(this,this.logger),this.verify=new Ft(this.projectId||\"\",this.logger)}static async init(e){const t=new Z(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(dt,i),t}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Sr=Z;\n//# sourceMappingURL=index.es.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY29yZS9kaXN0L2luZGV4LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBeWdFLGlCQUFpQiwwREFBMEQsa0NBQWtDLFdBQVcsYUFBYSxZQUFZLFdBQVcsS0FBSyxvQ0FBb0MscURBQXFELE9BQU8scUZBQXFGLGNBQWMsd05BQXdOLHlCQUF5QiwrQkFBK0IsZ0JBQWdCLFNBQVMsNENBQTRDLE1BQU0sRUFBRSx5QkFBeUIscUJBQXFCLCtDQUErQywyQ0FBMkMsUUFBUSxjQUFjLGdCQUFnQixLQUFLLHNCQUFzQixJQUFJLHNCQUFzQixTQUFTLGNBQWMsNkRBQTZELHNDQUFzQyxRQUFRLGVBQWUsZ0JBQWdCLFNBQVMsU0FBUyxtREFBbUQsS0FBSyxFQUFFLHlCQUF5QixrQkFBa0Isa0JBQWtCLHFCQUFxQixpREFBaUQsMkNBQTJDLFFBQVEsZUFBZSxjQUFjLGdCQUFnQixLQUFLLHNDQUFzQyxNQUFNLGVBQWUsV0FBVyxjQUFjLFdBQVcsY0FBYyx1QkFBdUIsR0FBRyxZQUFZLE9BQU8sa0NBQWtDLGdCQUFnQixhQUFhLHVFQUF1RSxxREFBcUQsbUZBQW1GLHFEQUFxRCxxRUFBcUUsU0FBUyxtQkFBbUIsNENBQTRDLFVBQVUsb0NBQW9DLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrREFBa0QsU0FBUyxtQkFBbUIsbUdBQW1HLHdEQUF3RCxVQUFVLHVCQUF1Qiw0RkFBNEYsa0JBQWtCLElBQUksV0FBVyw2Q0FBNkMsWUFBWSxHQUFHLG9EQUFvRCxzREFBc0QsTUFBTSxtQkFBbUIsU0FBUyxlQUFlLGdCQUFnQixNQUFNLGtCQUFrQixVQUFVLGdDQUFnQyx3QkFBd0Isc0RBQXNELGtCQUFrQiw4QkFBOEIsNEJBQTRCLGlCQUFpQix3QkFBd0IsZ0JBQWdCLGFBQWEsaUJBQWlCLGNBQWMsRUFBRSxTQUFTLHFCQUFxQixvSEFBb0gsVUFBVSw4QkFBOEIsVUFBVSwrQkFBK0IsVUFBVSxrQ0FBa0MsdUJBQXVCLDJCQUEyQixJQUFJLE1BQU0sa0JBQWtCLFNBQVMsVUFBVSw0Q0FBNEMsRUFBRSxnQkFBZ0IsV0FBVyxZQUFZLFdBQVcsY0FBYyxlQUFlLEtBQUssYUFBYSxLQUFLLGdDQUFnQyxnQkFBZ0IsWUFBWSxJQUFJLEtBQUssZ0JBQWdCLDJDQUEyQyxHQUFHLFlBQVksMkNBQTJDLG9FQUFvRSxTQUFTLGNBQWMsdUNBQXVDLGlCQUFpQixZQUFZLFdBQVcseUJBQXlCLElBQUksbUJBQW1CLDhCQUE4QixhQUFhLFFBQVEsU0FBUyxLQUFLLHlDQUF5QyxNQUFNLDBCQUEwQixpQkFBaUIsV0FBVyxvQkFBb0IsUUFBUSw0REFBNEQsRUFBRSxzQkFBc0IsMkJBQTJCLEVBQUUsWUFBWSxvREFBb0QsRUFBRSxzQkFBc0Isd0JBQXdCLEVBQUUsWUFBWSwwREFBMEQsRUFBRSxzQkFBc0Isd0JBQXdCLEVBQUUsWUFBWSwrQ0FBK0MsRUFBRSxzQkFBc0IseUJBQXlCLEVBQUUsWUFBWSxtRUFBbUUsUUFBUSx3RUFBd0UsRUFBRSxzQkFBc0Isd0NBQXdDLEVBQUUsWUFBWSxtRkFBbUYsUUFBUSx3RkFBd0YsUUFBUSx1RkFBdUYsUUFBUSw0RkFBNEYsUUFBUSxzRkFBc0YsUUFBUSwyRkFBMkYsUUFBUSwwRkFBMEYsUUFBUSwrRkFBK0YsUUFBUSxvRkFBb0YsRUFBRSxzQkFBc0Isc0pBQXNKLEVBQUUsWUFBWSx5RUFBeUUsUUFBUSw4RUFBOEUsRUFBRSxzQkFBc0Isd0NBQXdDLEVBQUUsWUFBWSxrR0FBa0csUUFBUSxxR0FBcUcsRUFBRSxzQkFBc0IsNENBQTRDLEVBQUUsWUFBWSxtSEFBbUgsUUFBUSx1SEFBdUgsUUFBUSxzSEFBc0gsUUFBUSwwSEFBMEgsRUFBRSxzQkFBc0IsbUVBQW1FLEVBQUUsd0JBQXdCLE1BQU0sR0FBRyxNQUFNLFNBQVMsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxTQUFTLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLGVBQWUsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLGVBQWUsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLFNBQVMsTUFBTSxHQUFHLE1BQU0sZUFBZSxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxTQUFTLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxxQkFBcUIsTUFBTSxHQUFHLE1BQU0sU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxTQUFTLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFN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QUFJLHdDQUF3Qyx5Q0FBeUMseUNBQXlDLCtDQUErQyxlQUFlLEdBQUcsZUFBZSx5REFBeUQsd0JBQXdCLGlDQUFpQyxLQUFLLHdDQUF3QyxrQkFBa0Isd0NBQXdDLGtFQUFDLENBQUMsMkRBQUUsS0FBSyxJQUFJLFNBQVMsbURBQW1ELGVBQWUseUJBQXlCLGFBQWEsMEVBQUMsdUZBQXVGLDZEQUFFLElBQUksT0FBTyxlQUFlLGNBQWMsT0FBTyx1RUFBQyxjQUFjLG1CQUFtQixtREFBbUQsa0VBQUMsTUFBTSxvS0FBb0ssa0RBQWtELG9CQUFvQixxQkFBcUIsNkJBQTZCLG9EQUFvRCxVQUFVLGdCQUFnQix3REFBRSxDQUFDLGVBQWUsc0VBQXNFLGdEQUFDLHlQQUF5UCxrRUFBa0UsMkRBQUUsQ0FBQyw4RUFBRSxFQUFFLDJCQUEyQixHQUFHLFlBQVksMEVBQUMsaUNBQWlDLCtEQUFFLDRLQUE0SyxzRUFBRSxTQUFTLDhDQUE4Qyw2RUFBNkUsMkZBQTJGLHFCQUFxQixpQkFBaUIscUJBQXFCLHFDQUFxQyx1Q0FBdUMsY0FBYyxPQUFPLHVFQUFDLGNBQWMsY0FBYywwQ0FBMEMsbUJBQW1CLGlDQUFpQyxJQUFJLGlPQUFpTyxTQUFTLCtEQUErRCxXQUFXLHNDQUFzQyxXQUFzNEM7QUFDM2gyRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY29yZS9kaXN0L2luZGV4LmVzLmpzP2UzNWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJ0LHtFdmVudEVtaXR0ZXIgYXMgTn1mcm9tXCJldmVudHNcIjtpbXBvcnQganQgZnJvbVwiQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlXCI7aW1wb3J0e0hFQVJUQkVBVF9FVkVOVFMgYXMgaixIZWFydEJlYXQgYXMgVnR9ZnJvbVwiQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0XCI7aW1wb3J0e2dlbmVyYXRlQ2hpbGRMb2dnZXIgYXMgRSxnZXRMb2dnZXJDb250ZXh0IGFzIGYscGlubyBhcyBEZSxnZXREZWZhdWx0TG9nZ2VyT3B0aW9ucyBhcyB5ZX1mcm9tXCJAd2FsbGV0Y29ubmVjdC9sb2dnZXJcIjtpbXBvcnR7SU1lc3NhZ2VUcmFja2VyIGFzIHF0LElQdWJsaXNoZXIgYXMgWXQsSVN1YnNjcmliZXIgYXMgR3QsSVJlbGF5ZXIgYXMgSnQsSVN0b3JlIGFzIEh0LElKc29uUnBjSGlzdG9yeSBhcyBXdCxJRXhwaXJlciBhcyBYdCxJVmVyaWZ5IGFzIFp0LElDb3JlIGFzIFF0fWZyb21cIkB3YWxsZXRjb25uZWN0L3R5cGVzXCI7aW1wb3J0e3NhZmVKc29uU3RyaW5naWZ5IGFzIGVpLHNhZmVKc29uUGFyc2UgYXMgdGl9ZnJvbVwiQHdhbGxldGNvbm5lY3Qvc2FmZS1qc29uXCI7aW1wb3J0KmFzIFYgZnJvbVwiQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aFwiO2ltcG9ydHtnZXRJbnRlcm5hbEVycm9yIGFzIGMsbWFwVG9PYmogYXMgYmUsb2JqVG9NYXAgYXMgbWUsZ2VuZXJhdGVLZXlQYWlyIGFzIGlpLGdlbmVyYXRlUmFuZG9tQnl0ZXMzMiBhcyBRLGRlcml2ZVN5bUtleSBhcyBzaSxoYXNoS2V5IGFzIHJpLHZhbGlkYXRlRW5jb2RpbmcgYXMgbmksaXNUeXBlT25lRW52ZWxvcGUgYXMgRWUsZW5jcnlwdCBhcyBhaSx2YWxpZGF0ZURlY29kaW5nIGFzIG9pLGRlY3J5cHQgYXMgaGksZGVzZXJpYWxpemUgYXMgZmUsZGVjb2RlVHlwZUJ5dGUgYXMgY2ksQkFTRTE2IGFzIHVpLGhhc2hNZXNzYWdlIGFzIGVlLGdldFJlbGF5UHJvdG9jb2xOYW1lIGFzIHRlLGNyZWF0ZUV4cGlyaW5nUHJvbWlzZSBhcyBxLGdldFJlbGF5UHJvdG9jb2xBcGkgYXMgWSxpc1VuZGVmaW5lZCBhcyBpZSxnZXRTZGtFcnJvciBhcyBGLGlzVmFsaWRBcnJheSBhcyBsaSxmb3JtYXRSZWxheVJwY1VybCBhcyBkaSxpc1Byb3Bvc2FsU3RydWN0IGFzIGdpLGlzU2Vzc2lvblN0cnVjdCBhcyBwaSxUWVBFXzEgYXMgRGksY2FsY0V4cGlyeSBhcyBHLGZvcm1hdFVyaSBhcyB5aSxwYXJzZVVyaSBhcyBiaSxjcmVhdGVEZWxheWVkUHJvbWlzZSBhcyBtaSxlbmdpbmVFdmVudCBhcyBzZSxpc0V4cGlyZWQgYXMgd2UsaXNWYWxpZFBhcmFtcyBhcyByZSxpc1ZhbGlkVXJsIGFzIEVpLGlzVmFsaWRTdHJpbmcgYXMgZmkscGFyc2VFeHBpcmVyVGFyZ2V0IGFzIHdpLGZvcm1hdFRvcGljVGFyZ2V0IGFzIHZpLGZvcm1hdElkVGFyZ2V0IGFzIElpLGlzUmVhY3ROYXRpdmUgYXMgQ2ksaXNCcm93c2VyIGFzIF9pLGlzTm9kZSBhcyBSaX1mcm9tXCJAd2FsbGV0Y29ubmVjdC91dGlsc1wiO2ltcG9ydHt0b1N0cmluZyBhcyBUaX1mcm9tXCJ1aW50OGFycmF5c1wiO2ltcG9ydHtPTkVfREFZIGFzIFUsU0lYX0hPVVJTIGFzIFNpLE9ORV9TRUNPTkQgYXMgdmUsVEhJUlRZX0RBWVMgYXMgSixGSVZFX1NFQ09ORFMgYXMgbmUsVEhJUlRZX1NFQ09ORFMgYXMgSWUsdG9NaWxpc2Vjb25kcyBhcyB6LFRFTl9TRUNPTkRTIGFzIFBpLFdhdGNoIGFzIE9pLEZJVkVfTUlOVVRFUyBhcyBDZX1mcm9tXCJAd2FsbGV0Y29ubmVjdC90aW1lXCI7aW1wb3J0e0pzb25ScGNQcm92aWRlciBhcyB4aX1mcm9tXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLXByb3ZpZGVyXCI7aW1wb3J0e2dldEJpZ0ludFJwY0lkIGFzIEFpLGlzSnNvblJwY1JlcXVlc3QgYXMgX2UsaXNKc29uUnBjUmVzcG9uc2UgYXMgUmUsZm9ybWF0SnNvblJwY1Jlc3VsdCBhcyBUZSxmb3JtYXRKc29uUnBjUmVxdWVzdCBhcyBTZSxmb3JtYXRKc29uUnBjRXJyb3IgYXMgemksaXNKc29uUnBjUmVzdWx0IGFzIE5pLGlzSnNvblJwY0Vycm9yIGFzIFBlfWZyb21cIkB3YWxsZXRjb25uZWN0L2pzb25ycGMtdXRpbHNcIjtpbXBvcnQgVWkgZnJvbVwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uXCI7aW1wb3J0IExpIGZyb21cImxvZGFzaC5pc2VxdWFsXCI7ZnVuY3Rpb24gJGkocixlKXtpZihyLmxlbmd0aD49MjU1KXRocm93IG5ldyBUeXBlRXJyb3IoXCJBbHBoYWJldCB0b28gbG9uZ1wiKTtmb3IodmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPTA7aTx0Lmxlbmd0aDtpKyspdFtpXT0yNTU7Zm9yKHZhciBzPTA7czxyLmxlbmd0aDtzKyspe3ZhciBuPXIuY2hhckF0KHMpLGE9bi5jaGFyQ29kZUF0KDApO2lmKHRbYV0hPT0yNTUpdGhyb3cgbmV3IFR5cGVFcnJvcihuK1wiIGlzIGFtYmlndW91c1wiKTt0W2FdPXN9dmFyIG89ci5sZW5ndGgsaD1yLmNoYXJBdCgwKSxsPU1hdGgubG9nKG8pL01hdGgubG9nKDI1NiksZD1NYXRoLmxvZygyNTYpL01hdGgubG9nKG8pO2Z1bmN0aW9uIGIodSl7aWYodSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fChBcnJheUJ1ZmZlci5pc1ZpZXcodSk/dT1uZXcgVWludDhBcnJheSh1LmJ1ZmZlcix1LmJ5dGVPZmZzZXQsdS5ieXRlTGVuZ3RoKTpBcnJheS5pc0FycmF5KHUpJiYodT1VaW50OEFycmF5LmZyb20odSkpKSwhKHUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgVWludDhBcnJheVwiKTtpZih1Lmxlbmd0aD09PTApcmV0dXJuXCJcIjtmb3IodmFyIEQ9MCxBPTAsdj0wLFI9dS5sZW5ndGg7diE9PVImJnVbdl09PT0wOyl2KyssRCsrO2Zvcih2YXIgVD0oUi12KSpkKzE+Pj4wLG09bmV3IFVpbnQ4QXJyYXkoVCk7diE9PVI7KXtmb3IodmFyIFM9dVt2XSx4PTAsST1ULTE7KFMhPT0wfHx4PEEpJiZJIT09LTE7SS0tLHgrKylTKz0yNTYqbVtJXT4+PjAsbVtJXT1TJW8+Pj4wLFM9Uy9vPj4+MDtpZihTIT09MCl0aHJvdyBuZXcgRXJyb3IoXCJOb24temVybyBjYXJyeVwiKTtBPXgsdisrfWZvcih2YXIgUD1ULUE7UCE9PVQmJm1bUF09PT0wOylQKys7Zm9yKHZhciBCPWgucmVwZWF0KEQpO1A8VDsrK1ApQis9ci5jaGFyQXQobVtQXSk7cmV0dXJuIEJ9ZnVuY3Rpb24geSh1KXtpZih0eXBlb2YgdSE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgU3RyaW5nXCIpO2lmKHUubGVuZ3RoPT09MClyZXR1cm4gbmV3IFVpbnQ4QXJyYXk7dmFyIEQ9MDtpZih1W0RdIT09XCIgXCIpe2Zvcih2YXIgQT0wLHY9MDt1W0RdPT09aDspQSsrLEQrKztmb3IodmFyIFI9KHUubGVuZ3RoLUQpKmwrMT4+PjAsVD1uZXcgVWludDhBcnJheShSKTt1W0RdOyl7dmFyIG09dFt1LmNoYXJDb2RlQXQoRCldO2lmKG09PT0yNTUpcmV0dXJuO2Zvcih2YXIgUz0wLHg9Ui0xOyhtIT09MHx8Uzx2KSYmeCE9PS0xO3gtLSxTKyspbSs9bypUW3hdPj4+MCxUW3hdPW0lMjU2Pj4+MCxtPW0vMjU2Pj4+MDtpZihtIT09MCl0aHJvdyBuZXcgRXJyb3IoXCJOb24temVybyBjYXJyeVwiKTt2PVMsRCsrfWlmKHVbRF0hPT1cIiBcIil7Zm9yKHZhciBJPVItdjtJIT09UiYmVFtJXT09PTA7KUkrKztmb3IodmFyIFA9bmV3IFVpbnQ4QXJyYXkoQSsoUi1JKSksQj1BO0khPT1SOylQW0IrK109VFtJKytdO3JldHVybiBQfX19ZnVuY3Rpb24gayh1KXt2YXIgRD15KHUpO2lmKEQpcmV0dXJuIEQ7dGhyb3cgbmV3IEVycm9yKGBOb24tJHtlfSBjaGFyYWN0ZXJgKX1yZXR1cm57ZW5jb2RlOmIsZGVjb2RlVW5zYWZlOnksZGVjb2RlOmt9fXZhciBGaT0kaSxNaT1GaTtjb25zdCBPZT1yPT57aWYociBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkmJnIuY29uc3RydWN0b3IubmFtZT09PVwiVWludDhBcnJheVwiKXJldHVybiByO2lmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkocik7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHIpKXJldHVybiBuZXcgVWludDhBcnJheShyLmJ1ZmZlcixyLmJ5dGVPZmZzZXQsci5ieXRlTGVuZ3RoKTt0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHR5cGUsIG11c3QgYmUgYmluYXJ5IHR5cGVcIil9LEtpPXI9Pm5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShyKSxraT1yPT5uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocik7Y2xhc3MgQml7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMubmFtZT1lLHRoaXMucHJlZml4PXQsdGhpcy5iYXNlRW5jb2RlPWl9ZW5jb2RlKGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybmAke3RoaXMucHJlZml4fSR7dGhpcy5iYXNlRW5jb2RlKGUpfWA7dGhyb3cgRXJyb3IoXCJVbmtub3duIHR5cGUsIG11c3QgYmUgYmluYXJ5IHR5cGVcIil9fWNsYXNzIGppe2NvbnN0cnVjdG9yKGUsdCxpKXtpZih0aGlzLm5hbWU9ZSx0aGlzLnByZWZpeD10LHQuY29kZVBvaW50QXQoMCk9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBwcmVmaXggY2hhcmFjdGVyXCIpO3RoaXMucHJlZml4Q29kZVBvaW50PXQuY29kZVBvaW50QXQoMCksdGhpcy5iYXNlRGVjb2RlPWl9ZGVjb2RlKGUpe2lmKHR5cGVvZiBlPT1cInN0cmluZ1wiKXtpZihlLmNvZGVQb2ludEF0KDApIT09dGhpcy5wcmVmaXhDb2RlUG9pbnQpdGhyb3cgRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAke0pTT04uc3RyaW5naWZ5KGUpfSwgJHt0aGlzLm5hbWV9IGRlY29kZXIgb25seSBzdXBwb3J0cyBpbnB1dHMgcHJlZml4ZWQgd2l0aCAke3RoaXMucHJlZml4fWApO3JldHVybiB0aGlzLmJhc2VEZWNvZGUoZS5zbGljZSh0aGlzLnByZWZpeC5sZW5ndGgpKX1lbHNlIHRocm93IEVycm9yKFwiQ2FuIG9ubHkgbXVsdGliYXNlIGRlY29kZSBzdHJpbmdzXCIpfW9yKGUpe3JldHVybiB4ZSh0aGlzLGUpfX1jbGFzcyBWaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmRlY29kZXJzPWV9b3IoZSl7cmV0dXJuIHhlKHRoaXMsZSl9ZGVjb2RlKGUpe2NvbnN0IHQ9ZVswXSxpPXRoaXMuZGVjb2RlcnNbdF07aWYoaSlyZXR1cm4gaS5kZWNvZGUoZSk7dGhyb3cgUmFuZ2VFcnJvcihgVW5hYmxlIHRvIGRlY29kZSBtdWx0aWJhc2Ugc3RyaW5nICR7SlNPTi5zdHJpbmdpZnkoZSl9LCBvbmx5IGlucHV0cyBwcmVmaXhlZCB3aXRoICR7T2JqZWN0LmtleXModGhpcy5kZWNvZGVycyl9IGFyZSBzdXBwb3J0ZWRgKX19Y29uc3QgeGU9KHIsZSk9Pm5ldyBWaSh7Li4uci5kZWNvZGVyc3x8e1tyLnByZWZpeF06cn0sLi4uZS5kZWNvZGVyc3x8e1tlLnByZWZpeF06ZX19KTtjbGFzcyBxaXtjb25zdHJ1Y3RvcihlLHQsaSxzKXt0aGlzLm5hbWU9ZSx0aGlzLnByZWZpeD10LHRoaXMuYmFzZUVuY29kZT1pLHRoaXMuYmFzZURlY29kZT1zLHRoaXMuZW5jb2Rlcj1uZXcgQmkoZSx0LGkpLHRoaXMuZGVjb2Rlcj1uZXcgamkoZSx0LHMpfWVuY29kZShlKXtyZXR1cm4gdGhpcy5lbmNvZGVyLmVuY29kZShlKX1kZWNvZGUoZSl7cmV0dXJuIHRoaXMuZGVjb2Rlci5kZWNvZGUoZSl9fWNvbnN0IEg9KHtuYW1lOnIscHJlZml4OmUsZW5jb2RlOnQsZGVjb2RlOml9KT0+bmV3IHFpKHIsZSx0LGkpLE09KHtwcmVmaXg6cixuYW1lOmUsYWxwaGFiZXQ6dH0pPT57Y29uc3R7ZW5jb2RlOmksZGVjb2RlOnN9PU1pKHQsZSk7cmV0dXJuIEgoe3ByZWZpeDpyLG5hbWU6ZSxlbmNvZGU6aSxkZWNvZGU6bj0+T2UocyhuKSl9KX0sWWk9KHIsZSx0LGkpPT57Y29uc3Qgcz17fTtmb3IobGV0IGQ9MDtkPGUubGVuZ3RoOysrZClzW2VbZF1dPWQ7bGV0IG49ci5sZW5ndGg7Zm9yKDtyW24tMV09PT1cIj1cIjspLS1uO2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkobip0Lzh8MCk7bGV0IG89MCxoPTAsbD0wO2ZvcihsZXQgZD0wO2Q8bjsrK2Qpe2NvbnN0IGI9c1tyW2RdXTtpZihiPT09dm9pZCAwKXRocm93IG5ldyBTeW50YXhFcnJvcihgTm9uLSR7aX0gY2hhcmFjdGVyYCk7aD1oPDx0fGIsbys9dCxvPj04JiYoby09OCxhW2wrK109MjU1Jmg+Pm8pfWlmKG8+PXR8fDI1NSZoPDw4LW8pdGhyb3cgbmV3IFN5bnRheEVycm9yKFwiVW5leHBlY3RlZCBlbmQgb2YgZGF0YVwiKTtyZXR1cm4gYX0sR2k9KHIsZSx0KT0+e2NvbnN0IGk9ZVtlLmxlbmd0aC0xXT09PVwiPVwiLHM9KDE8PHQpLTE7bGV0IG49XCJcIixhPTAsbz0wO2ZvcihsZXQgaD0wO2g8ci5sZW5ndGg7KytoKWZvcihvPW88PDh8cltoXSxhKz04O2E+dDspYS09dCxuKz1lW3Mmbz4+YV07aWYoYSYmKG4rPWVbcyZvPDx0LWFdKSxpKWZvcig7bi5sZW5ndGgqdCY3OyluKz1cIj1cIjtyZXR1cm4gbn0scD0oe25hbWU6cixwcmVmaXg6ZSxiaXRzUGVyQ2hhcjp0LGFscGhhYmV0Oml9KT0+SCh7cHJlZml4OmUsbmFtZTpyLGVuY29kZShzKXtyZXR1cm4gR2kocyxpLHQpfSxkZWNvZGUocyl7cmV0dXJuIFlpKHMsaSx0LHIpfX0pLEppPUgoe3ByZWZpeDpcIlxcMFwiLG5hbWU6XCJpZGVudGl0eVwiLGVuY29kZTpyPT5raShyKSxkZWNvZGU6cj0+S2kocil9KTt2YXIgSGk9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsaWRlbnRpdHk6Sml9KTtjb25zdCBXaT1wKHtwcmVmaXg6XCIwXCIsbmFtZTpcImJhc2UyXCIsYWxwaGFiZXQ6XCIwMVwiLGJpdHNQZXJDaGFyOjF9KTt2YXIgWGk9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTI6V2l9KTtjb25zdCBaaT1wKHtwcmVmaXg6XCI3XCIsbmFtZTpcImJhc2U4XCIsYWxwaGFiZXQ6XCIwMTIzNDU2N1wiLGJpdHNQZXJDaGFyOjN9KTt2YXIgUWk9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTg6Wml9KTtjb25zdCBlcz1NKHtwcmVmaXg6XCI5XCIsbmFtZTpcImJhc2UxMFwiLGFscGhhYmV0OlwiMDEyMzQ1Njc4OVwifSk7dmFyIHRzPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UxMDplc30pO2NvbnN0IGlzPXAoe3ByZWZpeDpcImZcIixuYW1lOlwiYmFzZTE2XCIsYWxwaGFiZXQ6XCIwMTIzNDU2Nzg5YWJjZGVmXCIsYml0c1BlckNoYXI6NH0pLHNzPXAoe3ByZWZpeDpcIkZcIixuYW1lOlwiYmFzZTE2dXBwZXJcIixhbHBoYWJldDpcIjAxMjM0NTY3ODlBQkNERUZcIixiaXRzUGVyQ2hhcjo0fSk7dmFyIHJzPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UxNjppcyxiYXNlMTZ1cHBlcjpzc30pO2NvbnN0IG5zPXAoe3ByZWZpeDpcImJcIixuYW1lOlwiYmFzZTMyXCIsYWxwaGFiZXQ6XCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2N1wiLGJpdHNQZXJDaGFyOjV9KSxhcz1wKHtwcmVmaXg6XCJCXCIsbmFtZTpcImJhc2UzMnVwcGVyXCIsYWxwaGFiZXQ6XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2N1wiLGJpdHNQZXJDaGFyOjV9KSxvcz1wKHtwcmVmaXg6XCJjXCIsbmFtZTpcImJhc2UzMnBhZFwiLGFscGhhYmV0OlwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1Njc9XCIsYml0c1BlckNoYXI6NX0pLGhzPXAoe3ByZWZpeDpcIkNcIixuYW1lOlwiYmFzZTMycGFkdXBwZXJcIixhbHBoYWJldDpcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMjM0NTY3PVwiLGJpdHNQZXJDaGFyOjV9KSxjcz1wKHtwcmVmaXg6XCJ2XCIsbmFtZTpcImJhc2UzMmhleFwiLGFscGhhYmV0OlwiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZcIixiaXRzUGVyQ2hhcjo1fSksdXM9cCh7cHJlZml4OlwiVlwiLG5hbWU6XCJiYXNlMzJoZXh1cHBlclwiLGFscGhhYmV0OlwiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZcIixiaXRzUGVyQ2hhcjo1fSksbHM9cCh7cHJlZml4OlwidFwiLG5hbWU6XCJiYXNlMzJoZXhwYWRcIixhbHBoYWJldDpcIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2PVwiLGJpdHNQZXJDaGFyOjV9KSxkcz1wKHtwcmVmaXg6XCJUXCIsbmFtZTpcImJhc2UzMmhleHBhZHVwcGVyXCIsYWxwaGFiZXQ6XCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVj1cIixiaXRzUGVyQ2hhcjo1fSksZ3M9cCh7cHJlZml4OlwiaFwiLG5hbWU6XCJiYXNlMzJ6XCIsYWxwaGFiZXQ6XCJ5Ym5kcmZnOGVqa21jcHF4b3QxdXdpc3phMzQ1aDc2OVwiLGJpdHNQZXJDaGFyOjV9KTt2YXIgcHM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTMyOm5zLGJhc2UzMnVwcGVyOmFzLGJhc2UzMnBhZDpvcyxiYXNlMzJwYWR1cHBlcjpocyxiYXNlMzJoZXg6Y3MsYmFzZTMyaGV4dXBwZXI6dXMsYmFzZTMyaGV4cGFkOmxzLGJhc2UzMmhleHBhZHVwcGVyOmRzLGJhc2UzMno6Z3N9KTtjb25zdCBEcz1NKHtwcmVmaXg6XCJrXCIsbmFtZTpcImJhc2UzNlwiLGFscGhhYmV0OlwiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6XCJ9KSx5cz1NKHtwcmVmaXg6XCJLXCIsbmFtZTpcImJhc2UzNnVwcGVyXCIsYWxwaGFiZXQ6XCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcIn0pO3ZhciBicz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMzY6RHMsYmFzZTM2dXBwZXI6eXN9KTtjb25zdCBtcz1NKHtuYW1lOlwiYmFzZTU4YnRjXCIscHJlZml4OlwielwiLGFscGhhYmV0OlwiMTIzNDU2Nzg5QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5elwifSksRXM9TSh7bmFtZTpcImJhc2U1OGZsaWNrclwiLHByZWZpeDpcIlpcIixhbHBoYWJldDpcIjEyMzQ1Njc4OWFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OUFFSU1RVVldYWVpcIn0pO3ZhciBmcz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlNThidGM6bXMsYmFzZTU4ZmxpY2tyOkVzfSk7Y29uc3Qgd3M9cCh7cHJlZml4OlwibVwiLG5hbWU6XCJiYXNlNjRcIixhbHBoYWJldDpcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIixiaXRzUGVyQ2hhcjo2fSksdnM9cCh7cHJlZml4OlwiTVwiLG5hbWU6XCJiYXNlNjRwYWRcIixhbHBoYWJldDpcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XCIsYml0c1BlckNoYXI6Nn0pLElzPXAoe3ByZWZpeDpcInVcIixuYW1lOlwiYmFzZTY0dXJsXCIsYWxwaGFiZXQ6XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fXCIsYml0c1BlckNoYXI6Nn0pLENzPXAoe3ByZWZpeDpcIlVcIixuYW1lOlwiYmFzZTY0dXJscGFkXCIsYWxwaGFiZXQ6XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fPVwiLGJpdHNQZXJDaGFyOjZ9KTt2YXIgX3M9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTY0OndzLGJhc2U2NHBhZDp2cyxiYXNlNjR1cmw6SXMsYmFzZTY0dXJscGFkOkNzfSk7Y29uc3QgQWU9QXJyYXkuZnJvbShcIlxcdXsxRjY4MH1cXHV7MUZBOTB9XFx1MjYwNFxcdXsxRjZGMH1cXHV7MUYzMEN9XFx1ezFGMzExfVxcdXsxRjMxMn1cXHV7MUYzMTN9XFx1ezFGMzE0fVxcdXsxRjMxNX1cXHV7MUYzMTZ9XFx1ezFGMzE3fVxcdXsxRjMxOH1cXHV7MUYzMER9XFx1ezFGMzBGfVxcdXsxRjMwRX1cXHV7MUY0MDl9XFx1MjYwMFxcdXsxRjRCQn1cXHV7MUY1QTV9XFx1ezFGNEJFfVxcdXsxRjRCRn1cXHV7MUY2MDJ9XFx1Mjc2NFxcdXsxRjYwRH1cXHV7MUY5MjN9XFx1ezFGNjBBfVxcdXsxRjY0Rn1cXHV7MUY0OTV9XFx1ezFGNjJEfVxcdXsxRjYxOH1cXHV7MUY0NER9XFx1ezFGNjA1fVxcdXsxRjQ0Rn1cXHV7MUY2MDF9XFx1ezFGNTI1fVxcdXsxRjk3MH1cXHV7MUY0OTR9XFx1ezFGNDk2fVxcdXsxRjQ5OX1cXHV7MUY2MjJ9XFx1ezFGOTE0fVxcdXsxRjYwNn1cXHV7MUY2NDR9XFx1ezFGNEFBfVxcdXsxRjYwOX1cXHUyNjNBXFx1ezFGNDRDfVxcdXsxRjkxN31cXHV7MUY0OUN9XFx1ezFGNjE0fVxcdXsxRjYwRX1cXHV7MUY2MDd9XFx1ezFGMzM5fVxcdXsxRjkyNn1cXHV7MUYzODl9XFx1ezFGNDlFfVxcdTI3MENcXHUyNzI4XFx1ezFGOTM3fVxcdXsxRjYzMX1cXHV7MUY2MEN9XFx1ezFGMzM4fVxcdXsxRjY0Q31cXHV7MUY2MEJ9XFx1ezFGNDk3fVxcdXsxRjQ5QX1cXHV7MUY2MEZ9XFx1ezFGNDlCfVxcdXsxRjY0Mn1cXHV7MUY0OTN9XFx1ezFGOTI5fVxcdXsxRjYwNH1cXHV7MUY2MDB9XFx1ezFGNUE0fVxcdXsxRjYwM31cXHV7MUY0QUZ9XFx1ezFGNjQ4fVxcdXsxRjQ0N31cXHV7MUYzQjZ9XFx1ezFGNjEyfVxcdXsxRjkyRH1cXHUyNzYzXFx1ezFGNjFDfVxcdXsxRjQ4Qn1cXHV7MUY0NDB9XFx1ezFGNjJBfVxcdXsxRjYxMX1cXHV7MUY0QTV9XFx1ezFGNjRCfVxcdXsxRjYxRX1cXHV7MUY2Mjl9XFx1ezFGNjIxfVxcdXsxRjkyQX1cXHV7MUY0NEF9XFx1ezFGOTczfVxcdXsxRjYyNX1cXHV7MUY5MjR9XFx1ezFGNDQ5fVxcdXsxRjQ4M31cXHV7MUY2MzN9XFx1MjcwQlxcdXsxRjYxQX1cXHV7MUY2MUR9XFx1ezFGNjM0fVxcdXsxRjMxRn1cXHV7MUY2MkN9XFx1ezFGNjQzfVxcdXsxRjM0MH1cXHV7MUYzMzd9XFx1ezFGNjNCfVxcdXsxRjYxM31cXHUyQjUwXFx1MjcwNVxcdXsxRjk3QX1cXHV7MUYzMDh9XFx1ezFGNjA4fVxcdXsxRjkxOH1cXHV7MUY0QTZ9XFx1MjcxNFxcdXsxRjYyM31cXHV7MUYzQzN9XFx1ezFGNDkwfVxcdTI2MzlcXHV7MUYzOEF9XFx1ezFGNDk4fVxcdXsxRjYyMH1cXHUyNjFEXFx1ezFGNjE1fVxcdXsxRjMzQX1cXHV7MUYzODJ9XFx1ezFGMzNCfVxcdXsxRjYxMH1cXHV7MUY1OTV9XFx1ezFGNDlEfVxcdXsxRjY0QX1cXHV7MUY2Mzl9XFx1ezFGNUUzfVxcdXsxRjRBQn1cXHV7MUY0ODB9XFx1ezFGNDUxfVxcdXsxRjNCNX1cXHV7MUY5MUV9XFx1ezFGNjFCfVxcdXsxRjUzNH1cXHV7MUY2MjR9XFx1ezFGMzNDfVxcdXsxRjYyQn1cXHUyNkJEXFx1ezFGOTE5fVxcdTI2MTVcXHV7MUYzQzZ9XFx1ezFGOTJCfVxcdXsxRjQ0OH1cXHV7MUY2MkV9XFx1ezFGNjQ2fVxcdXsxRjM3Qn1cXHV7MUYzNDN9XFx1ezFGNDM2fVxcdXsxRjQ4MX1cXHV7MUY2MzJ9XFx1ezFGMzNGfVxcdXsxRjlFMX1cXHV7MUYzODF9XFx1MjZBMVxcdXsxRjMxRX1cXHV7MUYzODh9XFx1Mjc0Q1xcdTI3MEFcXHV7MUY0NEJ9XFx1ezFGNjMwfVxcdXsxRjkyOH1cXHV7MUY2MzZ9XFx1ezFGOTFEfVxcdXsxRjZCNn1cXHV7MUY0QjB9XFx1ezFGMzUzfVxcdXsxRjRBMn1cXHV7MUY5MUZ9XFx1ezFGNjQxfVxcdXsxRjZBOH1cXHV7MUY0QTh9XFx1ezFGOTJDfVxcdTI3MDhcXHV7MUYzODB9XFx1ezFGMzdBfVxcdXsxRjkxM31cXHV7MUY2MTl9XFx1ezFGNDlGfVxcdXsxRjMzMX1cXHV7MUY2MTZ9XFx1ezFGNDc2fVxcdXsxRjk3NH1cXHUyNUI2XFx1MjdBMVxcdTI3NTNcXHV7MUY0OEV9XFx1ezFGNEI4fVxcdTJCMDdcXHV7MUY2Mjh9XFx1ezFGMzFBfVxcdXsxRjk4Qn1cXHV7MUY2Mzd9XFx1ezFGNTdBfVxcdTI2QTBcXHV7MUY2NDV9XFx1ezFGNjFGfVxcdXsxRjYzNX1cXHV7MUY0NEV9XFx1ezFGOTMyfVxcdXsxRjkyMH1cXHV7MUY5Mjd9XFx1ezFGNENDfVxcdXsxRjUzNX1cXHV7MUY0ODV9XFx1ezFGOUQwfVxcdXsxRjQzRX1cXHV7MUYzNTJ9XFx1ezFGNjE3fVxcdXsxRjkxMX1cXHV7MUYzMEF9XFx1ezFGOTJGfVxcdXsxRjQzN31cXHUyNjBFXFx1ezFGNEE3fVxcdXsxRjYyRn1cXHV7MUY0ODZ9XFx1ezFGNDQ2fVxcdXsxRjNBNH1cXHV7MUY2NDd9XFx1ezFGMzUxfVxcdTI3NDRcXHV7MUYzMzR9XFx1ezFGNEEzfVxcdXsxRjQzOH1cXHV7MUY0OEN9XFx1ezFGNENEfVxcdXsxRjk0MH1cXHV7MUY5MjJ9XFx1ezFGNDQ1fVxcdXsxRjRBMX1cXHV7MUY0QTl9XFx1ezFGNDUwfVxcdXsxRjRGOH1cXHV7MUY0N0J9XFx1ezFGOTEwfVxcdXsxRjkyRX1cXHV7MUYzQkN9XFx1ezFGOTc1fVxcdXsxRjZBOX1cXHV7MUYzNEV9XFx1ezFGMzRBfVxcdXsxRjQ3Q31cXHV7MUY0OER9XFx1ezFGNEUzfVxcdXsxRjk0Mn1cIiksUnM9QWUucmVkdWNlKChyLGUsdCk9PihyW3RdPWUsciksW10pLFRzPUFlLnJlZHVjZSgocixlLHQpPT4ocltlLmNvZGVQb2ludEF0KDApXT10LHIpLFtdKTtmdW5jdGlvbiBTcyhyKXtyZXR1cm4gci5yZWR1Y2UoKGUsdCk9PihlKz1Sc1t0XSxlKSxcIlwiKX1mdW5jdGlvbiBQcyhyKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHIpe2NvbnN0IGk9VHNbdC5jb2RlUG9pbnRBdCgwKV07aWYoaT09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYE5vbi1iYXNlMjU2ZW1vamkgY2hhcmFjdGVyOiAke3R9YCk7ZS5wdXNoKGkpfXJldHVybiBuZXcgVWludDhBcnJheShlKX1jb25zdCBPcz1IKHtwcmVmaXg6XCJcXHV7MUY2ODB9XCIsbmFtZTpcImJhc2UyNTZlbW9qaVwiLGVuY29kZTpTcyxkZWNvZGU6UHN9KTt2YXIgeHM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTI1NmVtb2ppOk9zfSksQXM9TmUsemU9MTI4LHpzPTEyNyxOcz1+enMsVXM9TWF0aC5wb3coMiwzMSk7ZnVuY3Rpb24gTmUocixlLHQpe2U9ZXx8W10sdD10fHwwO2Zvcih2YXIgaT10O3I+PVVzOyllW3QrK109ciYyNTV8emUsci89MTI4O2Zvcig7ciZOczspZVt0KytdPXImMjU1fHplLHI+Pj49NztyZXR1cm4gZVt0XT1yfDAsTmUuYnl0ZXM9dC1pKzEsZX12YXIgTHM9YWUsJHM9MTI4LFVlPTEyNztmdW5jdGlvbiBhZShyLGkpe3ZhciB0PTAsaT1pfHwwLHM9MCxuPWksYSxvPXIubGVuZ3RoO2Rve2lmKG4+PW8pdGhyb3cgYWUuYnl0ZXM9MCxuZXcgUmFuZ2VFcnJvcihcIkNvdWxkIG5vdCBkZWNvZGUgdmFyaW50XCIpO2E9cltuKytdLHQrPXM8Mjg/KGEmVWUpPDxzOihhJlVlKSpNYXRoLnBvdygyLHMpLHMrPTd9d2hpbGUoYT49JHMpO3JldHVybiBhZS5ieXRlcz1uLWksdH12YXIgRnM9TWF0aC5wb3coMiw3KSxNcz1NYXRoLnBvdygyLDE0KSxLcz1NYXRoLnBvdygyLDIxKSxrcz1NYXRoLnBvdygyLDI4KSxCcz1NYXRoLnBvdygyLDM1KSxqcz1NYXRoLnBvdygyLDQyKSxWcz1NYXRoLnBvdygyLDQ5KSxxcz1NYXRoLnBvdygyLDU2KSxZcz1NYXRoLnBvdygyLDYzKSxHcz1mdW5jdGlvbihyKXtyZXR1cm4gcjxGcz8xOnI8TXM/MjpyPEtzPzM6cjxrcz80OnI8QnM/NTpyPGpzPzY6cjxWcz83OnI8cXM/ODpyPFlzPzk6MTB9LEpzPXtlbmNvZGU6QXMsZGVjb2RlOkxzLGVuY29kaW5nTGVuZ3RoOkdzfSxMZT1Kcztjb25zdCAkZT0ocixlLHQ9MCk9PihMZS5lbmNvZGUocixlLHQpLGUpLEZlPXI9PkxlLmVuY29kaW5nTGVuZ3RoKHIpLG9lPShyLGUpPT57Y29uc3QgdD1lLmJ5dGVMZW5ndGgsaT1GZShyKSxzPWkrRmUodCksbj1uZXcgVWludDhBcnJheShzK3QpO3JldHVybiAkZShyLG4sMCksJGUodCxuLGkpLG4uc2V0KGUscyksbmV3IEhzKHIsdCxlLG4pfTtjbGFzcyBIc3tjb25zdHJ1Y3RvcihlLHQsaSxzKXt0aGlzLmNvZGU9ZSx0aGlzLnNpemU9dCx0aGlzLmRpZ2VzdD1pLHRoaXMuYnl0ZXM9c319Y29uc3QgTWU9KHtuYW1lOnIsY29kZTplLGVuY29kZTp0fSk9Pm5ldyBXcyhyLGUsdCk7Y2xhc3MgV3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMubmFtZT1lLHRoaXMuY29kZT10LHRoaXMuZW5jb2RlPWl9ZGlnZXN0KGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtjb25zdCB0PXRoaXMuZW5jb2RlKGUpO3JldHVybiB0IGluc3RhbmNlb2YgVWludDhBcnJheT9vZSh0aGlzLmNvZGUsdCk6dC50aGVuKGk9Pm9lKHRoaXMuY29kZSxpKSl9ZWxzZSB0aHJvdyBFcnJvcihcIlVua25vd24gdHlwZSwgbXVzdCBiZSBiaW5hcnkgdHlwZVwiKX19Y29uc3QgS2U9cj0+YXN5bmMgZT0+bmV3IFVpbnQ4QXJyYXkoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QocixlKSksWHM9TWUoe25hbWU6XCJzaGEyLTI1NlwiLGNvZGU6MTgsZW5jb2RlOktlKFwiU0hBLTI1NlwiKX0pLFpzPU1lKHtuYW1lOlwic2hhMi01MTJcIixjb2RlOjE5LGVuY29kZTpLZShcIlNIQS01MTJcIil9KTt2YXIgUXM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsc2hhMjU2OlhzLHNoYTUxMjpac30pO2NvbnN0IGtlPTAsZXI9XCJpZGVudGl0eVwiLEJlPU9lLHRyPXI9Pm9lKGtlLEJlKHIpKSxpcj17Y29kZTprZSxuYW1lOmVyLGVuY29kZTpCZSxkaWdlc3Q6dHJ9O3ZhciBzcj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxpZGVudGl0eTppcn0pO25ldyBUZXh0RW5jb2RlcixuZXcgVGV4dERlY29kZXI7Y29uc3QgamU9ey4uLkhpLC4uLlhpLC4uLlFpLC4uLnRzLC4uLnJzLC4uLnBzLC4uLmJzLC4uLmZzLC4uLl9zLC4uLnhzfTsoey4uLlFzLC4uLnNyfSk7ZnVuY3Rpb24gVmUocil7cmV0dXJuIGdsb2JhbFRoaXMuQnVmZmVyIT1udWxsP25ldyBVaW50OEFycmF5KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxyLmJ5dGVMZW5ndGgpOnJ9ZnVuY3Rpb24gcnIocj0wKXtyZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGwmJmdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jVW5zYWZlIT1udWxsP1ZlKGdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jVW5zYWZlKHIpKTpuZXcgVWludDhBcnJheShyKX1mdW5jdGlvbiBxZShyLGUsdCxpKXtyZXR1cm57bmFtZTpyLHByZWZpeDplLGVuY29kZXI6e25hbWU6cixwcmVmaXg6ZSxlbmNvZGU6dH0sZGVjb2Rlcjp7ZGVjb2RlOml9fX1jb25zdCBZZT1xZShcInV0ZjhcIixcInVcIixyPT5cInVcIituZXcgVGV4dERlY29kZXIoXCJ1dGY4XCIpLmRlY29kZShyKSxyPT5uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoci5zdWJzdHJpbmcoMSkpKSxoZT1xZShcImFzY2lpXCIsXCJhXCIscj0+e2xldCBlPVwiYVwiO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKWUrPVN0cmluZy5mcm9tQ2hhckNvZGUoclt0XSk7cmV0dXJuIGV9LHI9PntyPXIuc3Vic3RyaW5nKDEpO2NvbnN0IGU9cnIoci5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKWVbdF09ci5jaGFyQ29kZUF0KHQpO3JldHVybiBlfSksbnI9e3V0Zjg6WWUsXCJ1dGYtOFwiOlllLGhleDpqZS5iYXNlMTYsbGF0aW4xOmhlLGFzY2lpOmhlLGJpbmFyeTpoZSwuLi5qZX07ZnVuY3Rpb24gYXIocixlPVwidXRmOFwiKXtjb25zdCB0PW5yW2VdO2lmKCF0KXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZW5jb2RpbmcgXCIke2V9XCJgKTtyZXR1cm4oZT09PVwidXRmOFwifHxlPT09XCJ1dGYtOFwiKSYmZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGwmJmdsb2JhbFRoaXMuQnVmZmVyLmZyb20hPW51bGw/VmUoZ2xvYmFsVGhpcy5CdWZmZXIuZnJvbShyLFwidXRmLThcIikpOnQuZGVjb2Rlci5kZWNvZGUoYCR7dC5wcmVmaXh9JHtyfWApfWNvbnN0IGNlPVwid2NcIixHZT0yLFc9XCJjb3JlXCIsTz1gJHtjZX1AMjoke1d9OmAsSmU9e25hbWU6Vyxsb2dnZXI6XCJlcnJvclwifSxIZT17ZGF0YWJhc2U6XCI6bWVtb3J5OlwifSxXZT1cImNyeXB0b1wiLHVlPVwiY2xpZW50X2VkMjU1MTlfc2VlZFwiLFhlPVUsWmU9XCJrZXljaGFpblwiLFFlPVwiMC4zXCIsZXQ9XCJtZXNzYWdlc1wiLHR0PVwiMC4zXCIsaXQ9U2ksc3Q9XCJwdWJsaXNoZXJcIixydD1cImlyblwiLG50PVwiZXJyb3JcIixsZT1cIndzczovL3JlbGF5LndhbGxldGNvbm5lY3QuY29tXCIsZGU9XCJ3c3M6Ly9yZWxheS53YWxsZXRjb25uZWN0Lm9yZ1wiLGF0PVwicmVsYXllclwiLGc9e21lc3NhZ2U6XCJyZWxheWVyX21lc3NhZ2VcIixtZXNzYWdlX2FjazpcInJlbGF5ZXJfbWVzc2FnZV9hY2tcIixjb25uZWN0OlwicmVsYXllcl9jb25uZWN0XCIsZGlzY29ubmVjdDpcInJlbGF5ZXJfZGlzY29ubmVjdFwiLGVycm9yOlwicmVsYXllcl9lcnJvclwiLGNvbm5lY3Rpb25fc3RhbGxlZDpcInJlbGF5ZXJfY29ubmVjdGlvbl9zdGFsbGVkXCIsdHJhbnNwb3J0X2Nsb3NlZDpcInJlbGF5ZXJfdHJhbnNwb3J0X2Nsb3NlZFwiLHB1Ymxpc2g6XCJyZWxheWVyX3B1Ymxpc2hcIn0sb3Q9XCJfc3Vic2NyaXB0aW9uXCIsTD17cGF5bG9hZDpcInBheWxvYWRcIixjb25uZWN0OlwiY29ubmVjdFwiLGRpc2Nvbm5lY3Q6XCJkaXNjb25uZWN0XCIsZXJyb3I6XCJlcnJvclwifSxodD12ZS8yLG9yPXtkYXRhYmFzZTpcIjptZW1vcnk6XCJ9LGN0PVwiMi45LjJcIix1dD0xZTQsbHQ9XCIwLjNcIixkdD1cIldBTExFVENPTk5FQ1RfQ0xJRU5UX0lEXCIsQz17Y3JlYXRlZDpcInN1YnNjcmlwdGlvbl9jcmVhdGVkXCIsZGVsZXRlZDpcInN1YnNjcmlwdGlvbl9kZWxldGVkXCIsZXhwaXJlZDpcInN1YnNjcmlwdGlvbl9leHBpcmVkXCIsZGlzYWJsZWQ6XCJzdWJzY3JpcHRpb25fZGlzYWJsZWRcIixzeW5jOlwic3Vic2NyaXB0aW9uX3N5bmNcIixyZXN1YnNjcmliZWQ6XCJzdWJzY3JpcHRpb25fcmVzdWJzY3JpYmVkXCJ9LGhyPUosZ3Q9XCJzdWJzY3JpcHRpb25cIixwdD1cIjAuM1wiLER0PW5lKjFlMyx5dD1cInBhaXJpbmdcIixidD1cIjAuM1wiLGNyPUosJD17d2NfcGFpcmluZ0RlbGV0ZTp7cmVxOnt0dGw6VSxwcm9tcHQ6ITEsdGFnOjFlM30scmVzOnt0dGw6VSxwcm9tcHQ6ITEsdGFnOjEwMDF9fSx3Y19wYWlyaW5nUGluZzp7cmVxOnt0dGw6SWUscHJvbXB0OiExLHRhZzoxMDAyfSxyZXM6e3R0bDpJZSxwcm9tcHQ6ITEsdGFnOjEwMDN9fSx1bnJlZ2lzdGVyZWRfbWV0aG9kOntyZXE6e3R0bDpVLHByb21wdDohMSx0YWc6MH0scmVzOnt0dGw6VSxwcm9tcHQ6ITEsdGFnOjB9fX0sXz17Y3JlYXRlZDpcImhpc3RvcnlfY3JlYXRlZFwiLHVwZGF0ZWQ6XCJoaXN0b3J5X3VwZGF0ZWRcIixkZWxldGVkOlwiaGlzdG9yeV9kZWxldGVkXCIsc3luYzpcImhpc3Rvcnlfc3luY1wifSxtdD1cImhpc3RvcnlcIixFdD1cIjAuM1wiLGZ0PVwiZXhwaXJlclwiLHc9e2NyZWF0ZWQ6XCJleHBpcmVyX2NyZWF0ZWRcIixkZWxldGVkOlwiZXhwaXJlcl9kZWxldGVkXCIsZXhwaXJlZDpcImV4cGlyZXJfZXhwaXJlZFwiLHN5bmM6XCJleHBpcmVyX3N5bmNcIn0sd3Q9XCIwLjNcIix1cj1VLFg9XCJ2ZXJpZnktYXBpXCIsZ2U9XCJodHRwczovL3ZlcmlmeS53YWxsZXRjb25uZWN0LmNvbVwiO2NsYXNzIHZ0e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9dCx0aGlzLmtleWNoYWluPW5ldyBNYXAsdGhpcy5uYW1lPVplLHRoaXMudmVyc2lvbj1RZSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuc3RvcmFnZVByZWZpeD1PLHRoaXMuaW5pdD1hc3luYygpPT57aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0IGk9YXdhaXQgdGhpcy5nZXRLZXlDaGFpbigpO3R5cGVvZiBpPFwidVwiJiYodGhpcy5rZXljaGFpbj1pKSx0aGlzLmluaXRpYWxpemVkPSEwfX0sdGhpcy5oYXM9aT0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMua2V5Y2hhaW4uaGFzKGkpKSx0aGlzLnNldD1hc3luYyhpLHMpPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5rZXljaGFpbi5zZXQoaSxzKSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0sdGhpcy5nZXQ9aT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IHM9dGhpcy5rZXljaGFpbi5nZXQoaSk7aWYodHlwZW9mIHM+XCJ1XCIpe2NvbnN0e21lc3NhZ2U6bn09YyhcIk5PX01BVENISU5HX0tFWVwiLGAke3RoaXMubmFtZX06ICR7aX1gKTt0aHJvdyBuZXcgRXJyb3Iobil9cmV0dXJuIHN9LHRoaXMuZGVsPWFzeW5jIGk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmtleWNoYWluLmRlbGV0ZShpKSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0sdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9RSh0LHRoaXMubmFtZSl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gZih0aGlzLmxvZ2dlcil9Z2V0IHN0b3JhZ2VLZXkoKXtyZXR1cm4gdGhpcy5zdG9yYWdlUHJlZml4K3RoaXMudmVyc2lvbitcIi8vXCIrdGhpcy5uYW1lfWFzeW5jIHNldEtleUNoYWluKGUpe2F3YWl0IHRoaXMuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LGJlKGUpKX1hc3luYyBnZXRLZXlDaGFpbigpe2NvbnN0IGU9YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO3JldHVybiB0eXBlb2YgZTxcInVcIj9tZShlKTp2b2lkIDB9YXN5bmMgcGVyc2lzdCgpe2F3YWl0IHRoaXMuc2V0S2V5Q2hhaW4odGhpcy5rZXljaGFpbil9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PWMoXCJOT1RfSU5JVElBTElaRURcIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19fWNsYXNzIEl0e2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj10LHRoaXMubmFtZT1XZSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KGF3YWl0IHRoaXMua2V5Y2hhaW4uaW5pdCgpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLmhhc0tleXM9cz0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMua2V5Y2hhaW4uaGFzKHMpKSx0aGlzLmdldENsaWVudElkPWFzeW5jKCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBzPWF3YWl0IHRoaXMuZ2V0Q2xpZW50U2VlZCgpLG49Vi5nZW5lcmF0ZUtleVBhaXIocyk7cmV0dXJuIFYuZW5jb2RlSXNzKG4ucHVibGljS2V5KX0sdGhpcy5nZW5lcmF0ZUtleVBhaXI9KCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBzPWlpKCk7cmV0dXJuIHRoaXMuc2V0UHJpdmF0ZUtleShzLnB1YmxpY0tleSxzLnByaXZhdGVLZXkpfSx0aGlzLnNpZ25KV1Q9YXN5bmMgcz0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IG49YXdhaXQgdGhpcy5nZXRDbGllbnRTZWVkKCksYT1WLmdlbmVyYXRlS2V5UGFpcihuKSxvPVEoKSxoPVhlO3JldHVybiBhd2FpdCBWLnNpZ25KV1QobyxzLGgsYSl9LHRoaXMuZ2VuZXJhdGVTaGFyZWRLZXk9KHMsbixhKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IG89dGhpcy5nZXRQcml2YXRlS2V5KHMpLGg9c2kobyxuKTtyZXR1cm4gdGhpcy5zZXRTeW1LZXkoaCxhKX0sdGhpcy5zZXRTeW1LZXk9YXN5bmMocyxuKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IGE9bnx8cmkocyk7cmV0dXJuIGF3YWl0IHRoaXMua2V5Y2hhaW4uc2V0KGEscyksYX0sdGhpcy5kZWxldGVLZXlQYWlyPWFzeW5jIHM9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmtleWNoYWluLmRlbChzKX0sdGhpcy5kZWxldGVTeW1LZXk9YXN5bmMgcz0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMua2V5Y2hhaW4uZGVsKHMpfSx0aGlzLmVuY29kZT1hc3luYyhzLG4sYSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBvPW5pKGEpLGg9ZWkobik7aWYoRWUobykpe2NvbnN0IHk9by5zZW5kZXJQdWJsaWNLZXksaz1vLnJlY2VpdmVyUHVibGljS2V5O3M9YXdhaXQgdGhpcy5nZW5lcmF0ZVNoYXJlZEtleSh5LGspfWNvbnN0IGw9dGhpcy5nZXRTeW1LZXkocykse3R5cGU6ZCxzZW5kZXJQdWJsaWNLZXk6Yn09bztyZXR1cm4gYWkoe3R5cGU6ZCxzeW1LZXk6bCxtZXNzYWdlOmgsc2VuZGVyUHVibGljS2V5OmJ9KX0sdGhpcy5kZWNvZGU9YXN5bmMocyxuLGEpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3Qgbz1vaShuLGEpO2lmKEVlKG8pKXtjb25zdCBoPW8ucmVjZWl2ZXJQdWJsaWNLZXksbD1vLnNlbmRlclB1YmxpY0tleTtzPWF3YWl0IHRoaXMuZ2VuZXJhdGVTaGFyZWRLZXkoaCxsKX10cnl7Y29uc3QgaD10aGlzLmdldFN5bUtleShzKSxsPWhpKHtzeW1LZXk6aCxlbmNvZGVkOm59KTtyZXR1cm4gdGkobCl9Y2F0Y2goaCl7dGhpcy5sb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgbWVzc2FnZSBmcm9tIHRvcGljOiAnJHtzfScsIGNsaWVudElkOiAnJHthd2FpdCB0aGlzLmdldENsaWVudElkKCl9J2ApLHRoaXMubG9nZ2VyLmVycm9yKGgpfX0sdGhpcy5nZXRQYXlsb2FkVHlwZT1zPT57Y29uc3Qgbj1mZShzKTtyZXR1cm4gY2kobi50eXBlKX0sdGhpcy5nZXRQYXlsb2FkU2VuZGVyUHVibGljS2V5PXM9Pntjb25zdCBuPWZlKHMpO3JldHVybiBuLnNlbmRlclB1YmxpY0tleT9UaShuLnNlbmRlclB1YmxpY0tleSx1aSk6dm9pZCAwfSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1FKHQsdGhpcy5uYW1lKSx0aGlzLmtleWNoYWluPWl8fG5ldyB2dCh0aGlzLmNvcmUsdGhpcy5sb2dnZXIpfWdldCBjb250ZXh0KCl7cmV0dXJuIGYodGhpcy5sb2dnZXIpfWFzeW5jIHNldFByaXZhdGVLZXkoZSx0KXtyZXR1cm4gYXdhaXQgdGhpcy5rZXljaGFpbi5zZXQoZSx0KSxlfWdldFByaXZhdGVLZXkoZSl7cmV0dXJuIHRoaXMua2V5Y2hhaW4uZ2V0KGUpfWFzeW5jIGdldENsaWVudFNlZWQoKXtsZXQgZT1cIlwiO3RyeXtlPXRoaXMua2V5Y2hhaW4uZ2V0KHVlKX1jYXRjaHtlPVEoKSxhd2FpdCB0aGlzLmtleWNoYWluLnNldCh1ZSxlKX1yZXR1cm4gYXIoZSxcImJhc2UxNlwiKX1nZXRTeW1LZXkoZSl7cmV0dXJuIHRoaXMua2V5Y2hhaW4uZ2V0KGUpfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyBDdCBleHRlbmRzIHF0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmxvZ2dlcj1lLHRoaXMuY29yZT10LHRoaXMubWVzc2FnZXM9bmV3IE1hcCx0aGlzLm5hbWU9ZXQsdGhpcy52ZXJzaW9uPXR0LHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PU8sdGhpcy5pbml0PWFzeW5jKCk9PntpZighdGhpcy5pbml0aWFsaXplZCl7dGhpcy5sb2dnZXIudHJhY2UoXCJJbml0aWFsaXplZFwiKTt0cnl7Y29uc3QgaT1hd2FpdCB0aGlzLmdldFJlbGF5ZXJNZXNzYWdlcygpO3R5cGVvZiBpPFwidVwiJiYodGhpcy5tZXNzYWdlcz1pKSx0aGlzLmxvZ2dlci5kZWJ1ZyhgU3VjY2Vzc2Z1bGx5IFJlc3RvcmVkIHJlY29yZHMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwicmVzdG9yZVwiLHNpemU6dGhpcy5tZXNzYWdlcy5zaXplfSl9Y2F0Y2goaSl7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIHJlY29yZHMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLmVycm9yKGkpfWZpbmFsbHl7dGhpcy5pbml0aWFsaXplZD0hMH19fSx0aGlzLnNldD1hc3luYyhpLHMpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3Qgbj1lZShzKTtsZXQgYT10aGlzLm1lc3NhZ2VzLmdldChpKTtyZXR1cm4gdHlwZW9mIGE+XCJ1XCImJihhPXt9KSx0eXBlb2YgYVtuXTxcInVcInx8KGFbbl09cyx0aGlzLm1lc3NhZ2VzLnNldChpLGEpLGF3YWl0IHRoaXMucGVyc2lzdCgpKSxufSx0aGlzLmdldD1pPT57dGhpcy5pc0luaXRpYWxpemVkKCk7bGV0IHM9dGhpcy5tZXNzYWdlcy5nZXQoaSk7cmV0dXJuIHR5cGVvZiBzPlwidVwiJiYocz17fSksc30sdGhpcy5oYXM9KGkscyk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBuPXRoaXMuZ2V0KGkpLGE9ZWUocyk7cmV0dXJuIHR5cGVvZiBuW2FdPFwidVwifSx0aGlzLmRlbD1hc3luYyBpPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5tZXNzYWdlcy5kZWxldGUoaSksYXdhaXQgdGhpcy5wZXJzaXN0KCl9LHRoaXMubG9nZ2VyPUUoZSx0aGlzLm5hbWUpLHRoaXMuY29yZT10fWdldCBjb250ZXh0KCl7cmV0dXJuIGYodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rXCIvL1wiK3RoaXMubmFtZX1hc3luYyBzZXRSZWxheWVyTWVzc2FnZXMoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksYmUoZSkpfWFzeW5jIGdldFJlbGF5ZXJNZXNzYWdlcygpe2NvbnN0IGU9YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO3JldHVybiB0eXBlb2YgZTxcInVcIj9tZShlKTp2b2lkIDB9YXN5bmMgcGVyc2lzdCgpe2F3YWl0IHRoaXMuc2V0UmVsYXllck1lc3NhZ2VzKHRoaXMubWVzc2FnZXMpfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyBsciBleHRlbmRzIFl0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLnJlbGF5ZXI9ZSx0aGlzLmxvZ2dlcj10LHRoaXMuZXZlbnRzPW5ldyBOLHRoaXMubmFtZT1zdCx0aGlzLnF1ZXVlPW5ldyBNYXAsdGhpcy5wdWJsaXNoVGltZW91dD16KFBpKSx0aGlzLnF1ZXVlVGltZW91dD16KG5lKSx0aGlzLm5lZWRzVHJhbnNwb3J0UmVzdGFydD0hMSx0aGlzLnB1Ymxpc2g9YXN5bmMoaSxzLG4pPT57dGhpcy5sb2dnZXIuZGVidWcoXCJQdWJsaXNoaW5nIFBheWxvYWRcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJwdWJsaXNoXCIscGFyYW1zOnt0b3BpYzppLG1lc3NhZ2U6cyxvcHRzOm59fSk7dHJ5e2NvbnN0IGE9bj8udHRsfHxpdCxvPXRlKG4pLGg9bj8ucHJvbXB0fHwhMSxsPW4/LnRhZ3x8MCxkPW4/LmlkfHxBaSgpLnRvU3RyaW5nKCksYj17dG9waWM6aSxtZXNzYWdlOnMsb3B0czp7dHRsOmEscmVsYXk6byxwcm9tcHQ6aCx0YWc6bCxpZDpkfX0seT1zZXRUaW1lb3V0KCgpPT50aGlzLnF1ZXVlLnNldChkLGIpLHRoaXMucXVldWVUaW1lb3V0KTt0cnl7YXdhaXQgYXdhaXQgcSh0aGlzLnJwY1B1Ymxpc2goaSxzLGEsbyxoLGwsZCksdGhpcy5wdWJsaXNoVGltZW91dCksY2xlYXJUaW1lb3V0KHkpLHRoaXMucmVsYXllci5ldmVudHMuZW1pdChnLnB1Ymxpc2gsYil9Y2F0Y2h7dGhpcy5sb2dnZXIuZGVidWcoXCJQdWJsaXNoaW5nIFBheWxvYWQgc3RhbGxlZFwiKSx0aGlzLm5lZWRzVHJhbnNwb3J0UmVzdGFydD0hMDtyZXR1cm59dGhpcy5sb2dnZXIuZGVidWcoXCJTdWNjZXNzZnVsbHkgUHVibGlzaGVkIFBheWxvYWRcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJwdWJsaXNoXCIscGFyYW1zOnt0b3BpYzppLG1lc3NhZ2U6cyxvcHRzOm59fSl9Y2F0Y2goYSl7dGhyb3cgdGhpcy5sb2dnZXIuZGVidWcoXCJGYWlsZWQgdG8gUHVibGlzaCBQYXlsb2FkXCIpLHRoaXMubG9nZ2VyLmVycm9yKGEpLGF9fSx0aGlzLm9uPShpLHMpPT57dGhpcy5ldmVudHMub24oaSxzKX0sdGhpcy5vbmNlPShpLHMpPT57dGhpcy5ldmVudHMub25jZShpLHMpfSx0aGlzLm9mZj0oaSxzKT0+e3RoaXMuZXZlbnRzLm9mZihpLHMpfSx0aGlzLnJlbW92ZUxpc3RlbmVyPShpLHMpPT57dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoaSxzKX0sdGhpcy5yZWxheWVyPWUsdGhpcy5sb2dnZXI9RSh0LHRoaXMubmFtZSksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gZih0aGlzLmxvZ2dlcil9cnBjUHVibGlzaChlLHQsaSxzLG4sYSxvKXt2YXIgaCxsLGQsYjtjb25zdCB5PXttZXRob2Q6WShzLnByb3RvY29sKS5wdWJsaXNoLHBhcmFtczp7dG9waWM6ZSxtZXNzYWdlOnQsdHRsOmkscHJvbXB0Om4sdGFnOmF9LGlkOm99O3JldHVybiBpZSgoaD15LnBhcmFtcyk9PW51bGw/dm9pZCAwOmgucHJvbXB0KSYmKChsPXkucGFyYW1zKT09bnVsbHx8ZGVsZXRlIGwucHJvbXB0KSxpZSgoZD15LnBhcmFtcyk9PW51bGw/dm9pZCAwOmQudGFnKSYmKChiPXkucGFyYW1zKT09bnVsbHx8ZGVsZXRlIGIudGFnKSx0aGlzLmxvZ2dlci5kZWJ1ZyhcIk91dGdvaW5nIFJlbGF5IFBheWxvYWRcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXNzYWdlXCIsZGlyZWN0aW9uOlwib3V0Z29pbmdcIixyZXF1ZXN0Onl9KSx0aGlzLnJlbGF5ZXIucmVxdWVzdCh5KX1vblB1Ymxpc2goZSl7dGhpcy5xdWV1ZS5kZWxldGUoZSl9Y2hlY2tRdWV1ZSgpe3RoaXMucXVldWUuZm9yRWFjaChhc3luYyBlPT57Y29uc3R7dG9waWM6dCxtZXNzYWdlOmksb3B0czpzfT1lO2F3YWl0IHRoaXMucHVibGlzaCh0LGkscyl9KX1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5yZWxheWVyLmNvcmUuaGVhcnRiZWF0Lm9uKGoucHVsc2UsKCk9PntpZih0aGlzLm5lZWRzVHJhbnNwb3J0UmVzdGFydCl7dGhpcy5uZWVkc1RyYW5zcG9ydFJlc3RhcnQ9ITEsdGhpcy5yZWxheWVyLmV2ZW50cy5lbWl0KGcuY29ubmVjdGlvbl9zdGFsbGVkKTtyZXR1cm59dGhpcy5jaGVja1F1ZXVlKCl9KSx0aGlzLnJlbGF5ZXIub24oZy5tZXNzYWdlX2FjayxlPT57dGhpcy5vblB1Ymxpc2goZS5pZC50b1N0cmluZygpKX0pfX1jbGFzcyBkcntjb25zdHJ1Y3Rvcigpe3RoaXMubWFwPW5ldyBNYXAsdGhpcy5zZXQ9KGUsdCk9Pntjb25zdCBpPXRoaXMuZ2V0KGUpO3RoaXMuZXhpc3RzKGUsdCl8fHRoaXMubWFwLnNldChlLFsuLi5pLHRdKX0sdGhpcy5nZXQ9ZT0+dGhpcy5tYXAuZ2V0KGUpfHxbXSx0aGlzLmV4aXN0cz0oZSx0KT0+dGhpcy5nZXQoZSkuaW5jbHVkZXModCksdGhpcy5kZWxldGU9KGUsdCk9PntpZih0eXBlb2YgdD5cInVcIil7dGhpcy5tYXAuZGVsZXRlKGUpO3JldHVybn1pZighdGhpcy5tYXAuaGFzKGUpKXJldHVybjtjb25zdCBpPXRoaXMuZ2V0KGUpO2lmKCF0aGlzLmV4aXN0cyhlLHQpKXJldHVybjtjb25zdCBzPWkuZmlsdGVyKG49Pm4hPT10KTtpZighcy5sZW5ndGgpe3RoaXMubWFwLmRlbGV0ZShlKTtyZXR1cm59dGhpcy5tYXAuc2V0KGUscyl9LHRoaXMuY2xlYXI9KCk9Pnt0aGlzLm1hcC5jbGVhcigpfX1nZXQgdG9waWNzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXAua2V5cygpKX19dmFyIGdyPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxwcj1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxEcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyxfdD1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLHlyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYnI9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxSdD0ocixlLHQpPT5lIGluIHI/Z3IocixlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6cltlXT10LEs9KHIsZSk9Pntmb3IodmFyIHQgaW4gZXx8KGU9e30pKXlyLmNhbGwoZSx0KSYmUnQocix0LGVbdF0pO2lmKF90KWZvcih2YXIgdCBvZiBfdChlKSlici5jYWxsKGUsdCkmJlJ0KHIsdCxlW3RdKTtyZXR1cm4gcn0scGU9KHIsZSk9PnByKHIsRHIoZSkpO2NsYXNzIFR0IGV4dGVuZHMgR3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPXQsdGhpcy5zdWJzY3JpcHRpb25zPW5ldyBNYXAsdGhpcy50b3BpY01hcD1uZXcgZHIsdGhpcy5ldmVudHM9bmV3IE4sdGhpcy5uYW1lPWd0LHRoaXMudmVyc2lvbj1wdCx0aGlzLnBlbmRpbmc9bmV3IE1hcCx0aGlzLmNhY2hlZD1bXSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMucGVuZGluZ1N1YnNjcmlwdGlvbldhdGNoTGFiZWw9XCJwZW5kaW5nX3N1Yl93YXRjaF9sYWJlbFwiLHRoaXMucG9sbGluZ0ludGVydmFsPTIwLHRoaXMuc3RvcmFnZVByZWZpeD1PLHRoaXMuc3Vic2NyaWJlVGltZW91dD0xZTQsdGhpcy5yZXN0YXJ0SW5Qcm9ncmVzcz0hMSx0aGlzLmJhdGNoU3Vic2NyaWJlVG9waWNzTGltaXQ9NTAwLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KHRoaXMubG9nZ2VyLnRyYWNlKFwiSW5pdGlhbGl6ZWRcIiksYXdhaXQgdGhpcy5yZXN0YXJ0KCksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCksdGhpcy5vbkVuYWJsZSgpLHRoaXMuY2xpZW50SWQ9YXdhaXQgdGhpcy5yZWxheWVyLmNvcmUuY3J5cHRvLmdldENsaWVudElkKCkpfSx0aGlzLnN1YnNjcmliZT1hc3luYyhpLHMpPT57YXdhaXQgdGhpcy5yZXN0YXJ0VG9Db21wbGV0ZSgpLHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKFwiU3Vic2NyaWJpbmcgVG9waWNcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJzdWJzY3JpYmVcIixwYXJhbXM6e3RvcGljOmksb3B0czpzfX0pO3RyeXtjb25zdCBuPXRlKHMpLGE9e3RvcGljOmkscmVsYXk6bn07dGhpcy5wZW5kaW5nLnNldChpLGEpO2NvbnN0IG89YXdhaXQgdGhpcy5ycGNTdWJzY3JpYmUoaSxuKTtyZXR1cm4gdGhpcy5vblN1YnNjcmliZShvLGEpLHRoaXMubG9nZ2VyLmRlYnVnKFwiU3VjY2Vzc2Z1bGx5IFN1YnNjcmliZWQgVG9waWNcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJzdWJzY3JpYmVcIixwYXJhbXM6e3RvcGljOmksb3B0czpzfX0pLG99Y2F0Y2gobil7dGhyb3cgdGhpcy5sb2dnZXIuZGVidWcoXCJGYWlsZWQgdG8gU3Vic2NyaWJlIFRvcGljXCIpLHRoaXMubG9nZ2VyLmVycm9yKG4pLG59fSx0aGlzLnVuc3Vic2NyaWJlPWFzeW5jKGkscyk9Pnthd2FpdCB0aGlzLnJlc3RhcnRUb0NvbXBsZXRlKCksdGhpcy5pc0luaXRpYWxpemVkKCksdHlwZW9mIHM/LmlkPFwidVwiP2F3YWl0IHRoaXMudW5zdWJzY3JpYmVCeUlkKGkscy5pZCxzKTphd2FpdCB0aGlzLnVuc3Vic2NyaWJlQnlUb3BpYyhpLHMpfSx0aGlzLmlzU3Vic2NyaWJlZD1hc3luYyBpPT50aGlzLnRvcGljcy5pbmNsdWRlcyhpKT8hMDphd2FpdCBuZXcgUHJvbWlzZSgocyxuKT0+e2NvbnN0IGE9bmV3IE9pO2Euc3RhcnQodGhpcy5wZW5kaW5nU3Vic2NyaXB0aW9uV2F0Y2hMYWJlbCk7Y29uc3Qgbz1zZXRJbnRlcnZhbCgoKT0+eyF0aGlzLnBlbmRpbmcuaGFzKGkpJiZ0aGlzLnRvcGljcy5pbmNsdWRlcyhpKSYmKGNsZWFySW50ZXJ2YWwobyksYS5zdG9wKHRoaXMucGVuZGluZ1N1YnNjcmlwdGlvbldhdGNoTGFiZWwpLHMoITApKSxhLmVsYXBzZWQodGhpcy5wZW5kaW5nU3Vic2NyaXB0aW9uV2F0Y2hMYWJlbCk+PUR0JiYoY2xlYXJJbnRlcnZhbChvKSxhLnN0b3AodGhpcy5wZW5kaW5nU3Vic2NyaXB0aW9uV2F0Y2hMYWJlbCksbihuZXcgRXJyb3IoXCJTdWJzY3JpcHRpb24gcmVzb2x1dGlvbiB0aW1lb3V0XCIpKSl9LHRoaXMucG9sbGluZ0ludGVydmFsKX0pLmNhdGNoKCgpPT4hMSksdGhpcy5vbj0oaSxzKT0+e3RoaXMuZXZlbnRzLm9uKGkscyl9LHRoaXMub25jZT0oaSxzKT0+e3RoaXMuZXZlbnRzLm9uY2UoaSxzKX0sdGhpcy5vZmY9KGkscyk9Pnt0aGlzLmV2ZW50cy5vZmYoaSxzKX0sdGhpcy5yZW1vdmVMaXN0ZW5lcj0oaSxzKT0+e3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGkscyl9LHRoaXMucmVzdGFydD1hc3luYygpPT57dGhpcy5yZXN0YXJ0SW5Qcm9ncmVzcz0hMCxhd2FpdCB0aGlzLnJlc3RvcmUoKSxhd2FpdCB0aGlzLnJlc2V0KCksdGhpcy5yZXN0YXJ0SW5Qcm9ncmVzcz0hMX0sdGhpcy5yZWxheWVyPWUsdGhpcy5sb2dnZXI9RSh0LHRoaXMubmFtZSksdGhpcy5jbGllbnRJZD1cIlwifWdldCBjb250ZXh0KCl7cmV0dXJuIGYodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rXCIvL1wiK3RoaXMubmFtZX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5zaXplfWdldCBpZHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnN1YnNjcmlwdGlvbnMua2V5cygpKX1nZXQgdmFsdWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5zdWJzY3JpcHRpb25zLnZhbHVlcygpKX1nZXQgdG9waWNzKCl7cmV0dXJuIHRoaXMudG9waWNNYXAudG9waWNzfWhhc1N1YnNjcmlwdGlvbihlLHQpe2xldCBpPSExO3RyeXtpPXRoaXMuZ2V0U3Vic2NyaXB0aW9uKGUpLnRvcGljPT09dH1jYXRjaHt9cmV0dXJuIGl9b25FbmFibGUoKXt0aGlzLmNhY2hlZD1bXSx0aGlzLmluaXRpYWxpemVkPSEwfW9uRGlzYWJsZSgpe3RoaXMuY2FjaGVkPXRoaXMudmFsdWVzLHRoaXMuc3Vic2NyaXB0aW9ucy5jbGVhcigpLHRoaXMudG9waWNNYXAuY2xlYXIoKX1hc3luYyB1bnN1YnNjcmliZUJ5VG9waWMoZSx0KXtjb25zdCBpPXRoaXMudG9waWNNYXAuZ2V0KGUpO2F3YWl0IFByb21pc2UuYWxsKGkubWFwKGFzeW5jIHM9PmF3YWl0IHRoaXMudW5zdWJzY3JpYmVCeUlkKGUscyx0KSkpfWFzeW5jIHVuc3Vic2NyaWJlQnlJZChlLHQsaSl7dGhpcy5sb2dnZXIuZGVidWcoXCJVbnN1YnNjcmliaW5nIFRvcGljXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwidW5zdWJzY3JpYmVcIixwYXJhbXM6e3RvcGljOmUsaWQ6dCxvcHRzOml9fSk7dHJ5e2NvbnN0IHM9dGUoaSk7YXdhaXQgdGhpcy5ycGNVbnN1YnNjcmliZShlLHQscyk7Y29uc3Qgbj1GKFwiVVNFUl9ESVNDT05ORUNURURcIixgJHt0aGlzLm5hbWV9LCAke2V9YCk7YXdhaXQgdGhpcy5vblVuc3Vic2NyaWJlKGUsdCxuKSx0aGlzLmxvZ2dlci5kZWJ1ZyhcIlN1Y2Nlc3NmdWxseSBVbnN1YnNjcmliZWQgVG9waWNcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJ1bnN1YnNjcmliZVwiLHBhcmFtczp7dG9waWM6ZSxpZDp0LG9wdHM6aX19KX1jYXRjaChzKXt0aHJvdyB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkZhaWxlZCB0byBVbnN1YnNjcmliZSBUb3BpY1wiKSx0aGlzLmxvZ2dlci5lcnJvcihzKSxzfX1hc3luYyBycGNTdWJzY3JpYmUoZSx0KXtjb25zdCBpPXttZXRob2Q6WSh0LnByb3RvY29sKS5zdWJzY3JpYmUscGFyYW1zOnt0b3BpYzplfX07dGhpcy5sb2dnZXIuZGVidWcoXCJPdXRnb2luZyBSZWxheSBQYXlsb2FkXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwicGF5bG9hZFwiLGRpcmVjdGlvbjpcIm91dGdvaW5nXCIscmVxdWVzdDppfSk7dHJ5e2F3YWl0IGF3YWl0IHEodGhpcy5yZWxheWVyLnJlcXVlc3QoaSksdGhpcy5zdWJzY3JpYmVUaW1lb3V0KX1jYXRjaHt0aGlzLmxvZ2dlci5kZWJ1ZyhcIk91dGdvaW5nIFJlbGF5IFN1YnNjcmliZSBQYXlsb2FkIHN0YWxsZWRcIiksdGhpcy5yZWxheWVyLmV2ZW50cy5lbWl0KGcuY29ubmVjdGlvbl9zdGFsbGVkKX1yZXR1cm4gZWUoZSt0aGlzLmNsaWVudElkKX1hc3luYyBycGNCYXRjaFN1YnNjcmliZShlKXtpZighZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9ZVswXS5yZWxheSxpPXttZXRob2Q6WSh0LnByb3RvY29sKS5iYXRjaFN1YnNjcmliZSxwYXJhbXM6e3RvcGljczplLm1hcChzPT5zLnRvcGljKX19O3RoaXMubG9nZ2VyLmRlYnVnKFwiT3V0Z29pbmcgUmVsYXkgUGF5bG9hZFwiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZTpcInBheWxvYWRcIixkaXJlY3Rpb246XCJvdXRnb2luZ1wiLHJlcXVlc3Q6aX0pO3RyeXtyZXR1cm4gYXdhaXQgYXdhaXQgcSh0aGlzLnJlbGF5ZXIucmVxdWVzdChpKSx0aGlzLnN1YnNjcmliZVRpbWVvdXQpfWNhdGNoe3RoaXMubG9nZ2VyLmRlYnVnKFwiT3V0Z29pbmcgUmVsYXkgUGF5bG9hZCBzdGFsbGVkXCIpLHRoaXMucmVsYXllci5ldmVudHMuZW1pdChnLmNvbm5lY3Rpb25fc3RhbGxlZCl9fXJwY1Vuc3Vic2NyaWJlKGUsdCxpKXtjb25zdCBzPXttZXRob2Q6WShpLnByb3RvY29sKS51bnN1YnNjcmliZSxwYXJhbXM6e3RvcGljOmUsaWQ6dH19O3JldHVybiB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk91dGdvaW5nIFJlbGF5IFBheWxvYWRcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJwYXlsb2FkXCIsZGlyZWN0aW9uOlwib3V0Z29pbmdcIixyZXF1ZXN0OnN9KSx0aGlzLnJlbGF5ZXIucmVxdWVzdChzKX1vblN1YnNjcmliZShlLHQpe3RoaXMuc2V0U3Vic2NyaXB0aW9uKGUscGUoSyh7fSx0KSx7aWQ6ZX0pKSx0aGlzLnBlbmRpbmcuZGVsZXRlKHQudG9waWMpfW9uQmF0Y2hTdWJzY3JpYmUoZSl7ZS5sZW5ndGgmJmUuZm9yRWFjaCh0PT57dGhpcy5zZXRTdWJzY3JpcHRpb24odC5pZCxLKHt9LHQpKSx0aGlzLnBlbmRpbmcuZGVsZXRlKHQudG9waWMpfSl9YXN5bmMgb25VbnN1YnNjcmliZShlLHQsaSl7dGhpcy5ldmVudHMucmVtb3ZlQWxsTGlzdGVuZXJzKHQpLHRoaXMuaGFzU3Vic2NyaXB0aW9uKHQsZSkmJnRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uKHQsaSksYXdhaXQgdGhpcy5yZWxheWVyLm1lc3NhZ2VzLmRlbChlKX1hc3luYyBzZXRSZWxheWVyU3Vic2NyaXB0aW9ucyhlKXthd2FpdCB0aGlzLnJlbGF5ZXIuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LGUpfWFzeW5jIGdldFJlbGF5ZXJTdWJzY3JpcHRpb25zKCl7cmV0dXJuIGF3YWl0IHRoaXMucmVsYXllci5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfXNldFN1YnNjcmlwdGlvbihlLHQpe3RoaXMuc3Vic2NyaXB0aW9ucy5oYXMoZSl8fCh0aGlzLmxvZ2dlci5kZWJ1ZyhcIlNldHRpbmcgc3Vic2NyaXB0aW9uXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwic2V0U3Vic2NyaXB0aW9uXCIsaWQ6ZSxzdWJzY3JpcHRpb246dH0pLHRoaXMuYWRkU3Vic2NyaXB0aW9uKGUsdCkpfWFkZFN1YnNjcmlwdGlvbihlLHQpe3RoaXMuc3Vic2NyaXB0aW9ucy5zZXQoZSxLKHt9LHQpKSx0aGlzLnRvcGljTWFwLnNldCh0LnRvcGljLGUpLHRoaXMuZXZlbnRzLmVtaXQoQy5jcmVhdGVkLHQpfWdldFN1YnNjcmlwdGlvbihlKXt0aGlzLmxvZ2dlci5kZWJ1ZyhcIkdldHRpbmcgc3Vic2NyaXB0aW9uXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwiZ2V0U3Vic2NyaXB0aW9uXCIsaWQ6ZX0pO2NvbnN0IHQ9dGhpcy5zdWJzY3JpcHRpb25zLmdldChlKTtpZighdCl7Y29uc3R7bWVzc2FnZTppfT1jKFwiTk9fTUFUQ0hJTkdfS0VZXCIsYCR7dGhpcy5uYW1lfTogJHtlfWApO3Rocm93IG5ldyBFcnJvcihpKX1yZXR1cm4gdH1kZWxldGVTdWJzY3JpcHRpb24oZSx0KXt0aGlzLmxvZ2dlci5kZWJ1ZyhcIkRlbGV0aW5nIHN1YnNjcmlwdGlvblwiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcImRlbGV0ZVN1YnNjcmlwdGlvblwiLGlkOmUscmVhc29uOnR9KTtjb25zdCBpPXRoaXMuZ2V0U3Vic2NyaXB0aW9uKGUpO3RoaXMuc3Vic2NyaXB0aW9ucy5kZWxldGUoZSksdGhpcy50b3BpY01hcC5kZWxldGUoaS50b3BpYyxlKSx0aGlzLmV2ZW50cy5lbWl0KEMuZGVsZXRlZCxwZShLKHt9LGkpLHtyZWFzb246dH0pKX1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXRSZWxheWVyU3Vic2NyaXB0aW9ucyh0aGlzLnZhbHVlcyksdGhpcy5ldmVudHMuZW1pdChDLnN5bmMpfWFzeW5jIHJlc2V0KCl7aWYodGhpcy5jYWNoZWQubGVuZ3RoKXtjb25zdCBlPU1hdGguY2VpbCh0aGlzLmNhY2hlZC5sZW5ndGgvdGhpcy5iYXRjaFN1YnNjcmliZVRvcGljc0xpbWl0KTtmb3IobGV0IHQ9MDt0PGU7dCsrKXtjb25zdCBpPXRoaXMuY2FjaGVkLnNwbGljZSgwLHRoaXMuYmF0Y2hTdWJzY3JpYmVUb3BpY3NMaW1pdCk7YXdhaXQgdGhpcy5iYXRjaFN1YnNjcmliZShpKX19dGhpcy5ldmVudHMuZW1pdChDLnJlc3Vic2NyaWJlZCl9YXN5bmMgcmVzdG9yZSgpe3RyeXtjb25zdCBlPWF3YWl0IHRoaXMuZ2V0UmVsYXllclN1YnNjcmlwdGlvbnMoKTtpZih0eXBlb2YgZT5cInVcInx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLnN1YnNjcmlwdGlvbnMuc2l6ZSl7Y29uc3R7bWVzc2FnZTp0fT1jKFwiUkVTVE9SRV9XSUxMX09WRVJSSURFXCIsdGhpcy5uYW1lKTt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcih0KSx0aGlzLmxvZ2dlci5lcnJvcihgJHt0aGlzLm5hbWV9OiAke0pTT04uc3RyaW5naWZ5KHRoaXMudmFsdWVzKX1gKSxuZXcgRXJyb3IodCl9dGhpcy5jYWNoZWQ9ZSx0aGlzLmxvZ2dlci5kZWJ1ZyhgU3VjY2Vzc2Z1bGx5IFJlc3RvcmVkIHN1YnNjcmlwdGlvbnMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwicmVzdG9yZVwiLHN1YnNjcmlwdGlvbnM6dGhpcy52YWx1ZXN9KX1jYXRjaChlKXt0aGlzLmxvZ2dlci5kZWJ1ZyhgRmFpbGVkIHRvIFJlc3RvcmUgc3Vic2NyaXB0aW9ucyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIuZXJyb3IoZSl9fWFzeW5jIGJhdGNoU3Vic2NyaWJlKGUpe2lmKCFlLmxlbmd0aClyZXR1cm47Y29uc3QgdD1hd2FpdCB0aGlzLnJwY0JhdGNoU3Vic2NyaWJlKGUpO2xpKHQpJiZ0aGlzLm9uQmF0Y2hTdWJzY3JpYmUodC5tYXAoKGkscyk9PnBlKEsoe30sZVtzXSkse2lkOml9KSkpfWFzeW5jIG9uQ29ubmVjdCgpe3RoaXMucmVzdGFydEluUHJvZ3Jlc3N8fChhd2FpdCB0aGlzLnJlc3RhcnQoKSx0aGlzLm9uRW5hYmxlKCkpfW9uRGlzY29ubmVjdCgpe3RoaXMub25EaXNhYmxlKCl9YXN5bmMgY2hlY2tQZW5kaW5nKCl7aWYodGhpcy5yZWxheWVyLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWQpcmV0dXJuO2NvbnN0IGU9W107dGhpcy5wZW5kaW5nLmZvckVhY2godD0+e2UucHVzaCh0KX0pLGF3YWl0IHRoaXMuYmF0Y2hTdWJzY3JpYmUoZSl9cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe3RoaXMucmVsYXllci5jb3JlLmhlYXJ0YmVhdC5vbihqLnB1bHNlLGFzeW5jKCk9Pnthd2FpdCB0aGlzLmNoZWNrUGVuZGluZygpfSksdGhpcy5yZWxheWVyLm9uKGcuY29ubmVjdCxhc3luYygpPT57YXdhaXQgdGhpcy5vbkNvbm5lY3QoKX0pLHRoaXMucmVsYXllci5vbihnLmRpc2Nvbm5lY3QsKCk9Pnt0aGlzLm9uRGlzY29ubmVjdCgpfSksdGhpcy5ldmVudHMub24oQy5jcmVhdGVkLGFzeW5jIGU9Pntjb25zdCB0PUMuY3JlYXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3R9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6XCJldmVudFwiLGV2ZW50OnQsZGF0YTplfSksYXdhaXQgdGhpcy5wZXJzaXN0KCl9KSx0aGlzLmV2ZW50cy5vbihDLmRlbGV0ZWQsYXN5bmMgZT0+e2NvbnN0IHQ9Qy5kZWxldGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7dH1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZTpcImV2ZW50XCIsZXZlbnQ6dCxkYXRhOmV9KSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0pfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fWFzeW5jIHJlc3RhcnRUb0NvbXBsZXRlKCl7dGhpcy5yZXN0YXJ0SW5Qcm9ncmVzcyYmYXdhaXQgbmV3IFByb21pc2UoZT0+e2NvbnN0IHQ9c2V0SW50ZXJ2YWwoKCk9Pnt0aGlzLnJlc3RhcnRJblByb2dyZXNzfHwoY2xlYXJJbnRlcnZhbCh0KSxlKCkpfSx0aGlzLnBvbGxpbmdJbnRlcnZhbCl9KX19dmFyIG1yPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxTdD1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEVyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksZnI9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxQdD0ocixlLHQpPT5lIGluIHI/bXIocixlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6cltlXT10LHdyPShyLGUpPT57Zm9yKHZhciB0IGluIGV8fChlPXt9KSlFci5jYWxsKGUsdCkmJlB0KHIsdCxlW3RdKTtpZihTdClmb3IodmFyIHQgb2YgU3QoZSkpZnIuY2FsbChlLHQpJiZQdChyLHQsZVt0XSk7cmV0dXJuIHJ9O2NsYXNzIE90IGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5wcm90b2NvbD1cIndjXCIsdGhpcy52ZXJzaW9uPTIsdGhpcy5ldmVudHM9bmV3IE4sdGhpcy5uYW1lPWF0LHRoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZD0hMSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuY29ubmVjdGlvblN0YXR1c1BvbGxpbmdJbnRlcnZhbD0yMCx0aGlzLnN0YWxlQ29ubmVjdGlvbkVycm9ycz1bXCJzb2NrZXQgaGFuZyB1cFwiLFwic29ja2V0IHN0YWxsZWRcIl0sdGhpcy5yZXF1ZXN0PWFzeW5jIHQ9Pnt0aGlzLmxvZ2dlci5kZWJ1ZyhcIlB1Ymxpc2hpbmcgUmVxdWVzdCBQYXlsb2FkXCIpO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy50b0VzdGFibGlzaENvbm5lY3Rpb24oKSxhd2FpdCB0aGlzLnByb3ZpZGVyLnJlcXVlc3QodCl9Y2F0Y2goaSl7dGhyb3cgdGhpcy5sb2dnZXIuZGVidWcoXCJGYWlsZWQgdG8gUHVibGlzaCBSZXF1ZXN0XCIpLHRoaXMubG9nZ2VyLmVycm9yKGkpLGl9fSx0aGlzLmNvcmU9ZS5jb3JlLHRoaXMubG9nZ2VyPXR5cGVvZiBlLmxvZ2dlcjxcInVcIiYmdHlwZW9mIGUubG9nZ2VyIT1cInN0cmluZ1wiP0UoZS5sb2dnZXIsdGhpcy5uYW1lKTpEZSh5ZSh7bGV2ZWw6ZS5sb2dnZXJ8fG50fSkpLHRoaXMubWVzc2FnZXM9bmV3IEN0KHRoaXMubG9nZ2VyLGUuY29yZSksdGhpcy5zdWJzY3JpYmVyPW5ldyBUdCh0aGlzLHRoaXMubG9nZ2VyKSx0aGlzLnB1Ymxpc2hlcj1uZXcgbHIodGhpcyx0aGlzLmxvZ2dlciksdGhpcy5yZWxheVVybD1lPy5yZWxheVVybHx8bGUsdGhpcy5wcm9qZWN0SWQ9ZS5wcm9qZWN0SWQsdGhpcy5wcm92aWRlcj17fX1hc3luYyBpbml0KCl7dGhpcy5sb2dnZXIudHJhY2UoXCJJbml0aWFsaXplZFwiKSxhd2FpdCB0aGlzLmNyZWF0ZVByb3ZpZGVyKCksYXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMubWVzc2FnZXMuaW5pdCgpLHRoaXMuc3Vic2NyaWJlci5pbml0KCldKTt0cnl7YXdhaXQgdGhpcy50cmFuc3BvcnRPcGVuKCl9Y2F0Y2h7dGhpcy5sb2dnZXIud2FybihgQ29ubmVjdGlvbiB2aWEgJHt0aGlzLnJlbGF5VXJsfSBmYWlsZWQsIGF0dGVtcHRpbmcgdG8gY29ubmVjdCB2aWEgZmFpbG92ZXIgZG9tYWluICR7ZGV9Li4uYCksYXdhaXQgdGhpcy5yZXN0YXJ0VHJhbnNwb3J0KGRlKX10aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmluaXRpYWxpemVkPSEwLHNldFRpbWVvdXQoYXN5bmMoKT0+e3RoaXMuc3Vic2NyaWJlci50b3BpY3MubGVuZ3RoPT09MCYmKHRoaXMubG9nZ2VyLmluZm8oXCJObyB0b3BpY3Mgc3Vic2NyaWJlZCB0byBhZnRlciBpbml0LCBjbG9zaW5nIHRyYW5zcG9ydFwiKSxhd2FpdCB0aGlzLnRyYW5zcG9ydENsb3NlKCksdGhpcy50cmFuc3BvcnRFeHBsaWNpdGx5Q2xvc2VkPSExKX0sdXQpfWdldCBjb250ZXh0KCl7cmV0dXJuIGYodGhpcy5sb2dnZXIpfWdldCBjb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5wcm92aWRlci5jb25uZWN0aW9uLmNvbm5lY3RlZH1nZXQgY29ubmVjdGluZygpe3JldHVybiB0aGlzLnByb3ZpZGVyLmNvbm5lY3Rpb24uY29ubmVjdGluZ31hc3luYyBwdWJsaXNoKGUsdCxpKXt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLnB1Ymxpc2hlci5wdWJsaXNoKGUsdCxpKSxhd2FpdCB0aGlzLnJlY29yZE1lc3NhZ2VFdmVudCh7dG9waWM6ZSxtZXNzYWdlOnQscHVibGlzaGVkQXQ6RGF0ZS5ub3coKX0pfWFzeW5jIHN1YnNjcmliZShlLHQpe3ZhciBpO3RoaXMuaXNJbml0aWFsaXplZCgpO2xldCBzPSgoaT10aGlzLnN1YnNjcmliZXIudG9waWNNYXAuZ2V0KGUpKT09bnVsbD92b2lkIDA6aVswXSl8fFwiXCI7cmV0dXJuIHN8fChhd2FpdCBQcm9taXNlLmFsbChbbmV3IFByb21pc2Uobj0+e3RoaXMuc3Vic2NyaWJlci5vbmNlKEMuY3JlYXRlZCxhPT57YS50b3BpYz09PWUmJm4oKX0pfSksbmV3IFByb21pc2UoYXN5bmMgbj0+e3M9YXdhaXQgdGhpcy5zdWJzY3JpYmVyLnN1YnNjcmliZShlLHQpLG4oKX0pXSkscyl9YXN5bmMgdW5zdWJzY3JpYmUoZSx0KXt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLnN1YnNjcmliZXIudW5zdWJzY3JpYmUoZSx0KX1vbihlLHQpe3RoaXMuZXZlbnRzLm9uKGUsdCl9b25jZShlLHQpe3RoaXMuZXZlbnRzLm9uY2UoZSx0KX1vZmYoZSx0KXt0aGlzLmV2ZW50cy5vZmYoZSx0KX1yZW1vdmVMaXN0ZW5lcihlLHQpe3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGUsdCl9YXN5bmMgdHJhbnNwb3J0Q2xvc2UoKXt0aGlzLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWQ9ITAsdGhpcy5jb25uZWN0ZWQmJihhd2FpdCB0aGlzLnByb3ZpZGVyLmRpc2Nvbm5lY3QoKSx0aGlzLmV2ZW50cy5lbWl0KGcudHJhbnNwb3J0X2Nsb3NlZCkpfWFzeW5jIHRyYW5zcG9ydE9wZW4oZSl7aWYodGhpcy50cmFuc3BvcnRFeHBsaWNpdGx5Q2xvc2VkPSExLCF0aGlzLnJlY29ubmVjdGluZyl7dGhpcy5yZWxheVVybD1lfHx0aGlzLnJlbGF5VXJsLHRoaXMucmVjb25uZWN0aW5nPSEwO3RyeXthd2FpdCBQcm9taXNlLmFsbChbbmV3IFByb21pc2UodD0+e3RoaXMuaW5pdGlhbGl6ZWR8fHQoKSx0aGlzLnN1YnNjcmliZXIub25jZShDLnJlc3Vic2NyaWJlZCwoKT0+e3QoKX0pfSksYXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZShhc3luYyh0LGkpPT57YXdhaXQgcSh0aGlzLnByb3ZpZGVyLmNvbm5lY3QoKSwxZTQsYFNvY2tldCBzdGFsbGVkIHdoZW4gdHJ5aW5nIHRvIGNvbm5lY3QgdG8gJHt0aGlzLnJlbGF5VXJsfWApLmNhdGNoKHM9PmkocykpLnRoZW4oKCk9PnQoKSkuZmluYWxseSgoKT0+dGhpcy5yZW1vdmVMaXN0ZW5lcihnLnRyYW5zcG9ydF9jbG9zZWQsdGhpcy5yZWplY3RUcmFuc3BvcnRPcGVuKSl9KSxuZXcgUHJvbWlzZSh0PT50aGlzLm9uY2UoZy50cmFuc3BvcnRfY2xvc2VkLHRoaXMucmVqZWN0VHJhbnNwb3J0T3BlbikpXSldKX1jYXRjaCh0KXt0aGlzLmxvZ2dlci5lcnJvcih0KTtjb25zdCBpPXQ7aWYoIXRoaXMuaXNDb25uZWN0aW9uU3RhbGxlZChpLm1lc3NhZ2UpKXRocm93IHQ7dGhpcy5ldmVudHMuZW1pdChnLnRyYW5zcG9ydF9jbG9zZWQpfWZpbmFsbHl7dGhpcy5yZWNvbm5lY3Rpbmc9ITF9fX1hc3luYyByZXN0YXJ0VHJhbnNwb3J0KGUpe3RoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZHx8dGhpcy5yZWNvbm5lY3Rpbmd8fCh0aGlzLnJlbGF5VXJsPWV8fHRoaXMucmVsYXlVcmwsdGhpcy5jb25uZWN0ZWQmJmF3YWl0IFByb21pc2UuYWxsKFtuZXcgUHJvbWlzZSh0PT57dGhpcy5wcm92aWRlci5vbmNlKEwuZGlzY29ubmVjdCwoKT0+e3QoKX0pfSksdGhpcy50cmFuc3BvcnRDbG9zZSgpXSksYXdhaXQgdGhpcy5jcmVhdGVQcm92aWRlcigpLGF3YWl0IHRoaXMudHJhbnNwb3J0T3BlbigpKX1pc0Nvbm5lY3Rpb25TdGFsbGVkKGUpe3JldHVybiB0aGlzLnN0YWxlQ29ubmVjdGlvbkVycm9ycy5zb21lKHQ9PmUuaW5jbHVkZXModCkpfXJlamVjdFRyYW5zcG9ydE9wZW4oKXt0aHJvdyBuZXcgRXJyb3IoXCJBdHRlbXB0IHRvIGNvbm5lY3QgdG8gcmVsYXkgdmlhIGB0cmFuc3BvcnRPcGVuYCBoYXMgc3RhbGxlZC4gUmV0cnlpbmcuLi5cIil9YXN5bmMgY3JlYXRlUHJvdmlkZXIoKXtjb25zdCBlPWF3YWl0IHRoaXMuY29yZS5jcnlwdG8uc2lnbkpXVCh0aGlzLnJlbGF5VXJsKTt0aGlzLnByb3ZpZGVyPW5ldyB4aShuZXcgVWkoZGkoe3Nka1ZlcnNpb246Y3QscHJvdG9jb2w6dGhpcy5wcm90b2NvbCx2ZXJzaW9uOnRoaXMudmVyc2lvbixyZWxheVVybDp0aGlzLnJlbGF5VXJsLHByb2plY3RJZDp0aGlzLnByb2plY3RJZCxhdXRoOmUsdXNlT25DbG9zZUV2ZW50OiEwfSkpKSx0aGlzLnJlZ2lzdGVyUHJvdmlkZXJMaXN0ZW5lcnMoKX1hc3luYyByZWNvcmRNZXNzYWdlRXZlbnQoZSl7Y29uc3R7dG9waWM6dCxtZXNzYWdlOml9PWU7YXdhaXQgdGhpcy5tZXNzYWdlcy5zZXQodCxpKX1hc3luYyBzaG91bGRJZ25vcmVNZXNzYWdlRXZlbnQoZSl7Y29uc3R7dG9waWM6dCxtZXNzYWdlOml9PWU7aWYoIWl8fGkubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5sb2dnZXIuZGVidWcoYElnbm9yaW5nIGludmFsaWQvZW1wdHkgbWVzc2FnZTogJHtpfWApLCEwO2lmKCFhd2FpdCB0aGlzLnN1YnNjcmliZXIuaXNTdWJzY3JpYmVkKHQpKXJldHVybiB0aGlzLmxvZ2dlci5kZWJ1ZyhgSWdub3JpbmcgbWVzc2FnZSBmb3Igbm9uLXN1YnNjcmliZWQgdG9waWMgJHt0fWApLCEwO2NvbnN0IHM9dGhpcy5tZXNzYWdlcy5oYXModCxpKTtyZXR1cm4gcyYmdGhpcy5sb2dnZXIuZGVidWcoYElnbm9yaW5nIGR1cGxpY2F0ZSBtZXNzYWdlOiAke2l9YCksc31hc3luYyBvblByb3ZpZGVyUGF5bG9hZChlKXtpZih0aGlzLmxvZ2dlci5kZWJ1ZyhcIkluY29taW5nIFJlbGF5IFBheWxvYWRcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJwYXlsb2FkXCIsZGlyZWN0aW9uOlwiaW5jb21pbmdcIixwYXlsb2FkOmV9KSxfZShlKSl7aWYoIWUubWV0aG9kLmVuZHNXaXRoKG90KSlyZXR1cm47Y29uc3QgdD1lLnBhcmFtcyx7dG9waWM6aSxtZXNzYWdlOnMscHVibGlzaGVkQXQ6bn09dC5kYXRhLGE9e3RvcGljOmksbWVzc2FnZTpzLHB1Ymxpc2hlZEF0Om59O3RoaXMubG9nZ2VyLmRlYnVnKFwiRW1pdHRpbmcgUmVsYXllciBQYXlsb2FkXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHdyKHt0eXBlOlwiZXZlbnRcIixldmVudDp0LmlkfSxhKSksdGhpcy5ldmVudHMuZW1pdCh0LmlkLGEpLGF3YWl0IHRoaXMuYWNrbm93bGVkZ2VQYXlsb2FkKGUpLGF3YWl0IHRoaXMub25NZXNzYWdlRXZlbnQoYSl9ZWxzZSBSZShlKSYmdGhpcy5ldmVudHMuZW1pdChnLm1lc3NhZ2VfYWNrLGUpfWFzeW5jIG9uTWVzc2FnZUV2ZW50KGUpe2F3YWl0IHRoaXMuc2hvdWxkSWdub3JlTWVzc2FnZUV2ZW50KGUpfHwodGhpcy5ldmVudHMuZW1pdChnLm1lc3NhZ2UsZSksYXdhaXQgdGhpcy5yZWNvcmRNZXNzYWdlRXZlbnQoZSkpfWFzeW5jIGFja25vd2xlZGdlUGF5bG9hZChlKXtjb25zdCB0PVRlKGUuaWQsITApO2F3YWl0IHRoaXMucHJvdmlkZXIuY29ubmVjdGlvbi5zZW5kKHQpfXJlZ2lzdGVyUHJvdmlkZXJMaXN0ZW5lcnMoKXt0aGlzLnByb3ZpZGVyLm9uKEwucGF5bG9hZCxlPT50aGlzLm9uUHJvdmlkZXJQYXlsb2FkKGUpKSx0aGlzLnByb3ZpZGVyLm9uKEwuY29ubmVjdCwoKT0+e3RoaXMuZXZlbnRzLmVtaXQoZy5jb25uZWN0KX0pLHRoaXMucHJvdmlkZXIub24oTC5kaXNjb25uZWN0LCgpPT57dGhpcy5vblByb3ZpZGVyRGlzY29ubmVjdCgpfSksdGhpcy5wcm92aWRlci5vbihMLmVycm9yLGU9Pnt0aGlzLmxvZ2dlci5lcnJvcihlKSx0aGlzLmV2ZW50cy5lbWl0KGcuZXJyb3IsZSl9KX1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5ldmVudHMub24oZy5jb25uZWN0aW9uX3N0YWxsZWQsYXN5bmMoKT0+e2F3YWl0IHRoaXMucmVzdGFydFRyYW5zcG9ydCgpfSl9b25Qcm92aWRlckRpc2Nvbm5lY3QoKXt0aGlzLmV2ZW50cy5lbWl0KGcuZGlzY29ubmVjdCksdGhpcy5hdHRlbXB0VG9SZWNvbm5lY3QoKX1hdHRlbXB0VG9SZWNvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWR8fHNldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IHRoaXMucmVzdGFydFRyYW5zcG9ydCgpfSx6KGh0KSl9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PWMoXCJOT1RfSU5JVElBTElaRURcIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19YXN5bmMgdG9Fc3RhYmxpc2hDb25uZWN0aW9uKCl7aWYoIXRoaXMuY29ubmVjdGVkKXtpZih0aGlzLmNvbm5lY3RpbmcpcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKGU9Pntjb25zdCB0PXNldEludGVydmFsKCgpPT57dGhpcy5jb25uZWN0ZWQmJihjbGVhckludGVydmFsKHQpLGUoKSl9LHRoaXMuY29ubmVjdGlvblN0YXR1c1BvbGxpbmdJbnRlcnZhbCl9KTthd2FpdCB0aGlzLnJlc3RhcnRUcmFuc3BvcnQoKX19fXZhciB2cj1PYmplY3QuZGVmaW5lUHJvcGVydHkseHQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxJcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LENyPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsQXQ9KHIsZSx0KT0+ZSBpbiByP3ZyKHIsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pOnJbZV09dCx6dD0ocixlKT0+e2Zvcih2YXIgdCBpbiBlfHwoZT17fSkpSXIuY2FsbChlLHQpJiZBdChyLHQsZVt0XSk7aWYoeHQpZm9yKHZhciB0IG9mIHh0KGUpKUNyLmNhbGwoZSx0KSYmQXQocix0LGVbdF0pO3JldHVybiByfTtjbGFzcyBOdCBleHRlbmRzIEh0e2NvbnN0cnVjdG9yKGUsdCxpLHM9TyxuPXZvaWQgMCl7c3VwZXIoZSx0LGkscyksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9dCx0aGlzLm5hbWU9aSx0aGlzLm1hcD1uZXcgTWFwLHRoaXMudmVyc2lvbj1sdCx0aGlzLmNhY2hlZD1bXSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuc3RvcmFnZVByZWZpeD1PLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KHRoaXMubG9nZ2VyLnRyYWNlKFwiSW5pdGlhbGl6ZWRcIiksYXdhaXQgdGhpcy5yZXN0b3JlKCksdGhpcy5jYWNoZWQuZm9yRWFjaChhPT57dGhpcy5nZXRLZXkmJmEhPT1udWxsJiYhaWUoYSk/dGhpcy5tYXAuc2V0KHRoaXMuZ2V0S2V5KGEpLGEpOmdpKGEpP3RoaXMubWFwLnNldChhLmlkLGEpOnBpKGEpJiZ0aGlzLm1hcC5zZXQoYS50b3BpYyxhKX0pLHRoaXMuY2FjaGVkPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLnNldD1hc3luYyhhLG8pPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5tYXAuaGFzKGEpP2F3YWl0IHRoaXMudXBkYXRlKGEsbyk6KHRoaXMubG9nZ2VyLmRlYnVnKFwiU2V0dGluZyB2YWx1ZVwiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcInNldFwiLGtleTphLHZhbHVlOm99KSx0aGlzLm1hcC5zZXQoYSxvKSxhd2FpdCB0aGlzLnBlcnNpc3QoKSl9LHRoaXMuZ2V0PWE9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmxvZ2dlci5kZWJ1ZyhcIkdldHRpbmcgdmFsdWVcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJnZXRcIixrZXk6YX0pLHRoaXMuZ2V0RGF0YShhKSksdGhpcy5nZXRBbGw9YT0+KHRoaXMuaXNJbml0aWFsaXplZCgpLGE/dGhpcy52YWx1ZXMuZmlsdGVyKG89Pk9iamVjdC5rZXlzKGEpLmV2ZXJ5KGg9PkxpKG9baF0sYVtoXSkpKTp0aGlzLnZhbHVlcyksdGhpcy51cGRhdGU9YXN5bmMoYSxvKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKFwiVXBkYXRpbmcgdmFsdWVcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJ1cGRhdGVcIixrZXk6YSx1cGRhdGU6b30pO2NvbnN0IGg9enQoenQoe30sdGhpcy5nZXREYXRhKGEpKSxvKTt0aGlzLm1hcC5zZXQoYSxoKSxhd2FpdCB0aGlzLnBlcnNpc3QoKX0sdGhpcy5kZWxldGU9YXN5bmMoYSxvKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubWFwLmhhcyhhKSYmKHRoaXMubG9nZ2VyLmRlYnVnKFwiRGVsZXRpbmcgdmFsdWVcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJkZWxldGVcIixrZXk6YSxyZWFzb246b30pLHRoaXMubWFwLmRlbGV0ZShhKSxhd2FpdCB0aGlzLnBlcnNpc3QoKSl9LHRoaXMubG9nZ2VyPUUodCx0aGlzLm5hbWUpLHRoaXMuc3RvcmFnZVByZWZpeD1zLHRoaXMuZ2V0S2V5PW59Z2V0IGNvbnRleHQoKXtyZXR1cm4gZih0aGlzLmxvZ2dlcil9Z2V0IHN0b3JhZ2VLZXkoKXtyZXR1cm4gdGhpcy5zdG9yYWdlUHJlZml4K3RoaXMudmVyc2lvbitcIi8vXCIrdGhpcy5uYW1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5tYXAuc2l6ZX1nZXQga2V5cygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMubWFwLmtleXMoKSl9Z2V0IHZhbHVlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMubWFwLnZhbHVlcygpKX1hc3luYyBzZXREYXRhU3RvcmUoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksZSl9YXN5bmMgZ2V0RGF0YVN0b3JlKCl7cmV0dXJuIGF3YWl0IHRoaXMuY29yZS5zdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KX1nZXREYXRhKGUpe2NvbnN0IHQ9dGhpcy5tYXAuZ2V0KGUpO2lmKCF0KXtjb25zdHttZXNzYWdlOml9PWMoXCJOT19NQVRDSElOR19LRVlcIixgJHt0aGlzLm5hbWV9OiAke2V9YCk7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IoaSksbmV3IEVycm9yKGkpfXJldHVybiB0fWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldERhdGFTdG9yZSh0aGlzLnZhbHVlcyl9YXN5bmMgcmVzdG9yZSgpe3RyeXtjb25zdCBlPWF3YWl0IHRoaXMuZ2V0RGF0YVN0b3JlKCk7aWYodHlwZW9mIGU+XCJ1XCJ8fCFlLmxlbmd0aClyZXR1cm47aWYodGhpcy5tYXAuc2l6ZSl7Y29uc3R7bWVzc2FnZTp0fT1jKFwiUkVTVE9SRV9XSUxMX09WRVJSSURFXCIsdGhpcy5uYW1lKTt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcih0KSxuZXcgRXJyb3IodCl9dGhpcy5jYWNoZWQ9ZSx0aGlzLmxvZ2dlci5kZWJ1ZyhgU3VjY2Vzc2Z1bGx5IFJlc3RvcmVkIHZhbHVlIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcInJlc3RvcmVcIix2YWx1ZTp0aGlzLnZhbHVlc30pfWNhdGNoKGUpe3RoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUmVzdG9yZSB2YWx1ZSBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIuZXJyb3IoZSl9fWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyBVdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXQsdGhpcy5uYW1lPXl0LHRoaXMudmVyc2lvbj1idCx0aGlzLmV2ZW50cz1uZXcgQnQsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9Tyx0aGlzLmlnbm9yZWRQYXlsb2FkVHlwZXM9W0RpXSx0aGlzLnJlZ2lzdGVyZWRNZXRob2RzPVtdLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KGF3YWl0IHRoaXMucGFpcmluZ3MuaW5pdCgpLGF3YWl0IHRoaXMuY2xlYW51cCgpLHRoaXMucmVnaXN0ZXJSZWxheWVyRXZlbnRzKCksdGhpcy5yZWdpc3RlckV4cGlyZXJFdmVudHMoKSx0aGlzLmluaXRpYWxpemVkPSEwLHRoaXMubG9nZ2VyLnRyYWNlKFwiSW5pdGlhbGl6ZWRcIikpfSx0aGlzLnJlZ2lzdGVyPSh7bWV0aG9kczppfSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLnJlZ2lzdGVyZWRNZXRob2RzPVsuLi5uZXcgU2V0KFsuLi50aGlzLnJlZ2lzdGVyZWRNZXRob2RzLC4uLmldKV19LHRoaXMuY3JlYXRlPWFzeW5jKCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBpPVEoKSxzPWF3YWl0IHRoaXMuY29yZS5jcnlwdG8uc2V0U3ltS2V5KGkpLG49RyhDZSksYT17cHJvdG9jb2w6cnR9LG89e3RvcGljOnMsZXhwaXJ5Om4scmVsYXk6YSxhY3RpdmU6ITF9LGg9eWkoe3Byb3RvY29sOnRoaXMuY29yZS5wcm90b2NvbCx2ZXJzaW9uOnRoaXMuY29yZS52ZXJzaW9uLHRvcGljOnMsc3ltS2V5OmkscmVsYXk6YX0pO3JldHVybiBhd2FpdCB0aGlzLnBhaXJpbmdzLnNldChzLG8pLGF3YWl0IHRoaXMuY29yZS5yZWxheWVyLnN1YnNjcmliZShzKSx0aGlzLmNvcmUuZXhwaXJlci5zZXQocyxuKSx7dG9waWM6cyx1cmk6aH19LHRoaXMucGFpcj1hc3luYyBpPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5pc1ZhbGlkUGFpcihpKTtjb25zdHt0b3BpYzpzLHN5bUtleTpuLHJlbGF5OmF9PWJpKGkudXJpKTtpZih0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocykpdGhyb3cgbmV3IEVycm9yKGBQYWlyaW5nIGFscmVhZHkgZXhpc3RzOiAke3N9YCk7aWYodGhpcy5jb3JlLmNyeXB0by5oYXNLZXlzKHMpKXRocm93IG5ldyBFcnJvcihgS2V5Y2hhaW4gYWxyZWFkeSBleGlzdHM6ICR7c31gKTtjb25zdCBvPUcoQ2UpLGg9e3RvcGljOnMscmVsYXk6YSxleHBpcnk6byxhY3RpdmU6ITF9O3JldHVybiBhd2FpdCB0aGlzLnBhaXJpbmdzLnNldChzLGgpLGF3YWl0IHRoaXMuY29yZS5jcnlwdG8uc2V0U3ltS2V5KG4scyksYXdhaXQgdGhpcy5jb3JlLnJlbGF5ZXIuc3Vic2NyaWJlKHMse3JlbGF5OmF9KSx0aGlzLmNvcmUuZXhwaXJlci5zZXQocyxvKSxpLmFjdGl2YXRlUGFpcmluZyYmYXdhaXQgdGhpcy5hY3RpdmF0ZSh7dG9waWM6c30pLGh9LHRoaXMuYWN0aXZhdGU9YXN5bmMoe3RvcGljOml9KT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IHM9RyhKKTthd2FpdCB0aGlzLnBhaXJpbmdzLnVwZGF0ZShpLHthY3RpdmU6ITAsZXhwaXJ5OnN9KSx0aGlzLmNvcmUuZXhwaXJlci5zZXQoaSxzKX0sdGhpcy5waW5nPWFzeW5jIGk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRQaW5nKGkpO2NvbnN0e3RvcGljOnN9PWk7aWYodGhpcy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKHMpKXtjb25zdCBuPWF3YWl0IHRoaXMuc2VuZFJlcXVlc3QocyxcIndjX3BhaXJpbmdQaW5nXCIse30pLHtkb25lOmEscmVzb2x2ZTpvLHJlamVjdDpofT1taSgpO3RoaXMuZXZlbnRzLm9uY2Uoc2UoXCJwYWlyaW5nX3BpbmdcIixuKSwoe2Vycm9yOmx9KT0+e2w/aChsKTpvKCl9KSxhd2FpdCBhKCl9fSx0aGlzLnVwZGF0ZUV4cGlyeT1hc3luYyh7dG9waWM6aSxleHBpcnk6c30pPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5wYWlyaW5ncy51cGRhdGUoaSx7ZXhwaXJ5OnN9KX0sdGhpcy51cGRhdGVNZXRhZGF0YT1hc3luYyh7dG9waWM6aSxtZXRhZGF0YTpzfSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLnBhaXJpbmdzLnVwZGF0ZShpLHtwZWVyTWV0YWRhdGE6c30pfSx0aGlzLmdldFBhaXJpbmdzPSgpPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5wYWlyaW5ncy52YWx1ZXMpLHRoaXMuZGlzY29ubmVjdD1hc3luYyBpPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkRGlzY29ubmVjdChpKTtjb25zdHt0b3BpYzpzfT1pO3RoaXMucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhzKSYmKGF3YWl0IHRoaXMuc2VuZFJlcXVlc3QocyxcIndjX3BhaXJpbmdEZWxldGVcIixGKFwiVVNFUl9ESVNDT05ORUNURURcIikpLGF3YWl0IHRoaXMuZGVsZXRlUGFpcmluZyhzKSl9LHRoaXMuc2VuZFJlcXVlc3Q9YXN5bmMoaSxzLG4pPT57Y29uc3QgYT1TZShzLG4pLG89YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5lbmNvZGUoaSxhKSxoPSRbc10ucmVxO3JldHVybiB0aGlzLmNvcmUuaGlzdG9yeS5zZXQoaSxhKSx0aGlzLmNvcmUucmVsYXllci5wdWJsaXNoKGksbyxoKSxhLmlkfSx0aGlzLnNlbmRSZXN1bHQ9YXN5bmMoaSxzLG4pPT57Y29uc3QgYT1UZShpLG4pLG89YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5lbmNvZGUocyxhKSxoPWF3YWl0IHRoaXMuY29yZS5oaXN0b3J5LmdldChzLGkpLGw9JFtoLnJlcXVlc3QubWV0aG9kXS5yZXM7YXdhaXQgdGhpcy5jb3JlLnJlbGF5ZXIucHVibGlzaChzLG8sbCksYXdhaXQgdGhpcy5jb3JlLmhpc3RvcnkucmVzb2x2ZShhKX0sdGhpcy5zZW5kRXJyb3I9YXN5bmMoaSxzLG4pPT57Y29uc3QgYT16aShpLG4pLG89YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5lbmNvZGUocyxhKSxoPWF3YWl0IHRoaXMuY29yZS5oaXN0b3J5LmdldChzLGkpLGw9JFtoLnJlcXVlc3QubWV0aG9kXT8kW2gucmVxdWVzdC5tZXRob2RdLnJlczokLnVucmVnaXN0ZXJlZF9tZXRob2QucmVzO2F3YWl0IHRoaXMuY29yZS5yZWxheWVyLnB1Ymxpc2gocyxvLGwpLGF3YWl0IHRoaXMuY29yZS5oaXN0b3J5LnJlc29sdmUoYSl9LHRoaXMuZGVsZXRlUGFpcmluZz1hc3luYyhpLHMpPT57YXdhaXQgdGhpcy5jb3JlLnJlbGF5ZXIudW5zdWJzY3JpYmUoaSksYXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMucGFpcmluZ3MuZGVsZXRlKGksRihcIlVTRVJfRElTQ09OTkVDVEVEXCIpKSx0aGlzLmNvcmUuY3J5cHRvLmRlbGV0ZVN5bUtleShpKSxzP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuY29yZS5leHBpcmVyLmRlbChpKV0pfSx0aGlzLmNsZWFudXA9YXN5bmMoKT0+e2NvbnN0IGk9dGhpcy5wYWlyaW5ncy5nZXRBbGwoKS5maWx0ZXIocz0+d2Uocy5leHBpcnkpKTthd2FpdCBQcm9taXNlLmFsbChpLm1hcChzPT50aGlzLmRlbGV0ZVBhaXJpbmcocy50b3BpYykpKX0sdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0PWk9Pntjb25zdHt0b3BpYzpzLHBheWxvYWQ6bn09aTtzd2l0Y2gobi5tZXRob2Qpe2Nhc2VcIndjX3BhaXJpbmdQaW5nXCI6cmV0dXJuIHRoaXMub25QYWlyaW5nUGluZ1JlcXVlc3QocyxuKTtjYXNlXCJ3Y19wYWlyaW5nRGVsZXRlXCI6cmV0dXJuIHRoaXMub25QYWlyaW5nRGVsZXRlUmVxdWVzdChzLG4pO2RlZmF1bHQ6cmV0dXJuIHRoaXMub25Vbmtub3duUnBjTWV0aG9kUmVxdWVzdChzLG4pfX0sdGhpcy5vblJlbGF5RXZlbnRSZXNwb25zZT1hc3luYyBpPT57Y29uc3R7dG9waWM6cyxwYXlsb2FkOm59PWksYT0oYXdhaXQgdGhpcy5jb3JlLmhpc3RvcnkuZ2V0KHMsbi5pZCkpLnJlcXVlc3QubWV0aG9kO3N3aXRjaChhKXtjYXNlXCJ3Y19wYWlyaW5nUGluZ1wiOnJldHVybiB0aGlzLm9uUGFpcmluZ1BpbmdSZXNwb25zZShzLG4pO2RlZmF1bHQ6cmV0dXJuIHRoaXMub25Vbmtub3duUnBjTWV0aG9kUmVzcG9uc2UoYSl9fSx0aGlzLm9uUGFpcmluZ1BpbmdSZXF1ZXN0PWFzeW5jKGkscyk9Pntjb25zdHtpZDpufT1zO3RyeXt0aGlzLmlzVmFsaWRQaW5nKHt0b3BpYzppfSksYXdhaXQgdGhpcy5zZW5kUmVzdWx0KG4saSwhMCksdGhpcy5ldmVudHMuZW1pdChcInBhaXJpbmdfcGluZ1wiLHtpZDpuLHRvcGljOml9KX1jYXRjaChhKXthd2FpdCB0aGlzLnNlbmRFcnJvcihuLGksYSksdGhpcy5sb2dnZXIuZXJyb3IoYSl9fSx0aGlzLm9uUGFpcmluZ1BpbmdSZXNwb25zZT0oaSxzKT0+e2NvbnN0e2lkOm59PXM7c2V0VGltZW91dCgoKT0+e05pKHMpP3RoaXMuZXZlbnRzLmVtaXQoc2UoXCJwYWlyaW5nX3BpbmdcIixuKSx7fSk6UGUocykmJnRoaXMuZXZlbnRzLmVtaXQoc2UoXCJwYWlyaW5nX3BpbmdcIixuKSx7ZXJyb3I6cy5lcnJvcn0pfSw1MDApfSx0aGlzLm9uUGFpcmluZ0RlbGV0ZVJlcXVlc3Q9YXN5bmMoaSxzKT0+e2NvbnN0e2lkOm59PXM7dHJ5e3RoaXMuaXNWYWxpZERpc2Nvbm5lY3Qoe3RvcGljOml9KSxhd2FpdCB0aGlzLmRlbGV0ZVBhaXJpbmcoaSksdGhpcy5ldmVudHMuZW1pdChcInBhaXJpbmdfZGVsZXRlXCIse2lkOm4sdG9waWM6aX0pfWNhdGNoKGEpe2F3YWl0IHRoaXMuc2VuZEVycm9yKG4saSxhKSx0aGlzLmxvZ2dlci5lcnJvcihhKX19LHRoaXMub25Vbmtub3duUnBjTWV0aG9kUmVxdWVzdD1hc3luYyhpLHMpPT57Y29uc3R7aWQ6bixtZXRob2Q6YX09czt0cnl7aWYodGhpcy5yZWdpc3RlcmVkTWV0aG9kcy5pbmNsdWRlcyhhKSlyZXR1cm47Y29uc3Qgbz1GKFwiV0NfTUVUSE9EX1VOU1VQUE9SVEVEXCIsYSk7YXdhaXQgdGhpcy5zZW5kRXJyb3IobixpLG8pLHRoaXMubG9nZ2VyLmVycm9yKG8pfWNhdGNoKG8pe2F3YWl0IHRoaXMuc2VuZEVycm9yKG4saSxvKSx0aGlzLmxvZ2dlci5lcnJvcihvKX19LHRoaXMub25Vbmtub3duUnBjTWV0aG9kUmVzcG9uc2U9aT0+e3RoaXMucmVnaXN0ZXJlZE1ldGhvZHMuaW5jbHVkZXMoaSl8fHRoaXMubG9nZ2VyLmVycm9yKEYoXCJXQ19NRVRIT0RfVU5TVVBQT1JURURcIixpKSl9LHRoaXMuaXNWYWxpZFBhaXI9aT0+e2lmKCFyZShpKSl7Y29uc3R7bWVzc2FnZTpzfT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYHBhaXIoKSBwYXJhbXM6ICR7aX1gKTt0aHJvdyBuZXcgRXJyb3Iocyl9aWYoIUVpKGkudXJpKSl7Y29uc3R7bWVzc2FnZTpzfT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYHBhaXIoKSB1cmk6ICR7aS51cml9YCk7dGhyb3cgbmV3IEVycm9yKHMpfX0sdGhpcy5pc1ZhbGlkUGluZz1hc3luYyBpPT57aWYoIXJlKGkpKXtjb25zdHttZXNzYWdlOm59PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgcGluZygpIHBhcmFtczogJHtpfWApO3Rocm93IG5ldyBFcnJvcihuKX1jb25zdHt0b3BpYzpzfT1pO2F3YWl0IHRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYyhzKX0sdGhpcy5pc1ZhbGlkRGlzY29ubmVjdD1hc3luYyBpPT57aWYoIXJlKGkpKXtjb25zdHttZXNzYWdlOm59PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgZGlzY29ubmVjdCgpIHBhcmFtczogJHtpfWApO3Rocm93IG5ldyBFcnJvcihuKX1jb25zdHt0b3BpYzpzfT1pO2F3YWl0IHRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYyhzKX0sdGhpcy5pc1ZhbGlkUGFpcmluZ1RvcGljPWFzeW5jIGk9PntpZighZmkoaSwhMSkpe2NvbnN0e21lc3NhZ2U6c309YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGBwYWlyaW5nIHRvcGljIHNob3VsZCBiZSBhIHN0cmluZzogJHtpfWApO3Rocm93IG5ldyBFcnJvcihzKX1pZighdGhpcy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKGkpKXtjb25zdHttZXNzYWdlOnN9PWMoXCJOT19NQVRDSElOR19LRVlcIixgcGFpcmluZyB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke2l9YCk7dGhyb3cgbmV3IEVycm9yKHMpfWlmKHdlKHRoaXMucGFpcmluZ3MuZ2V0KGkpLmV4cGlyeSkpe2F3YWl0IHRoaXMuZGVsZXRlUGFpcmluZyhpKTtjb25zdHttZXNzYWdlOnN9PWMoXCJFWFBJUkVEXCIsYHBhaXJpbmcgdG9waWM6ICR7aX1gKTt0aHJvdyBuZXcgRXJyb3Iocyl9fSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1FKHQsdGhpcy5uYW1lKSx0aGlzLnBhaXJpbmdzPW5ldyBOdCh0aGlzLmNvcmUsdGhpcy5sb2dnZXIsdGhpcy5uYW1lLHRoaXMuc3RvcmFnZVByZWZpeCl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gZih0aGlzLmxvZ2dlcil9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PWMoXCJOT1RfSU5JVElBTElaRURcIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19cmVnaXN0ZXJSZWxheWVyRXZlbnRzKCl7dGhpcy5jb3JlLnJlbGF5ZXIub24oZy5tZXNzYWdlLGFzeW5jIGU9Pntjb25zdHt0b3BpYzp0LG1lc3NhZ2U6aX09ZTtpZighdGhpcy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKHQpfHx0aGlzLmlnbm9yZWRQYXlsb2FkVHlwZXMuaW5jbHVkZXModGhpcy5jb3JlLmNyeXB0by5nZXRQYXlsb2FkVHlwZShpKSkpcmV0dXJuO2NvbnN0IHM9YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5kZWNvZGUodCxpKTt0cnl7X2Uocyk/KHRoaXMuY29yZS5oaXN0b3J5LnNldCh0LHMpLHRoaXMub25SZWxheUV2ZW50UmVxdWVzdCh7dG9waWM6dCxwYXlsb2FkOnN9KSk6UmUocykmJihhd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5yZXNvbHZlKHMpLGF3YWl0IHRoaXMub25SZWxheUV2ZW50UmVzcG9uc2Uoe3RvcGljOnQscGF5bG9hZDpzfSksdGhpcy5jb3JlLmhpc3RvcnkuZGVsZXRlKHQscy5pZCkpfWNhdGNoKG4pe3RoaXMubG9nZ2VyLmVycm9yKG4pfX0pfXJlZ2lzdGVyRXhwaXJlckV2ZW50cygpe3RoaXMuY29yZS5leHBpcmVyLm9uKHcuZXhwaXJlZCxhc3luYyBlPT57Y29uc3R7dG9waWM6dH09d2koZS50YXJnZXQpO3QmJnRoaXMucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyh0KSYmKGF3YWl0IHRoaXMuZGVsZXRlUGFpcmluZyh0LCEwKSx0aGlzLmV2ZW50cy5lbWl0KFwicGFpcmluZ19leHBpcmVcIix7dG9waWM6dH0pKX0pfX1jbGFzcyBMdCBleHRlbmRzIFd0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj10LHRoaXMucmVjb3Jkcz1uZXcgTWFwLHRoaXMuZXZlbnRzPW5ldyBOLHRoaXMubmFtZT1tdCx0aGlzLnZlcnNpb249RXQsdGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9Tyx0aGlzLmluaXQ9YXN5bmMoKT0+e3RoaXMuaW5pdGlhbGl6ZWR8fCh0aGlzLmxvZ2dlci50cmFjZShcIkluaXRpYWxpemVkXCIpLGF3YWl0IHRoaXMucmVzdG9yZSgpLHRoaXMuY2FjaGVkLmZvckVhY2goaT0+dGhpcy5yZWNvcmRzLnNldChpLmlkLGkpKSx0aGlzLmNhY2hlZD1bXSx0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmluaXRpYWxpemVkPSEwKX0sdGhpcy5zZXQ9KGkscyxuKT0+e2lmKHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKFwiU2V0dGluZyBKU09OLVJQQyByZXF1ZXN0IGhpc3RvcnkgcmVjb3JkXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwic2V0XCIsdG9waWM6aSxyZXF1ZXN0OnMsY2hhaW5JZDpufSksdGhpcy5yZWNvcmRzLmhhcyhzLmlkKSlyZXR1cm47Y29uc3QgYT17aWQ6cy5pZCx0b3BpYzppLHJlcXVlc3Q6e21ldGhvZDpzLm1ldGhvZCxwYXJhbXM6cy5wYXJhbXN8fG51bGx9LGNoYWluSWQ6bixleHBpcnk6RyhKKX07dGhpcy5yZWNvcmRzLnNldChhLmlkLGEpLHRoaXMuZXZlbnRzLmVtaXQoXy5jcmVhdGVkLGEpfSx0aGlzLnJlc29sdmU9YXN5bmMgaT0+e2lmKHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKFwiVXBkYXRpbmcgSlNPTi1SUEMgcmVzcG9uc2UgaGlzdG9yeSByZWNvcmRcIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJ1cGRhdGVcIixyZXNwb25zZTppfSksIXRoaXMucmVjb3Jkcy5oYXMoaS5pZCkpcmV0dXJuO2NvbnN0IHM9YXdhaXQgdGhpcy5nZXRSZWNvcmQoaS5pZCk7dHlwZW9mIHMucmVzcG9uc2U+XCJ1XCImJihzLnJlc3BvbnNlPVBlKGkpP3tlcnJvcjppLmVycm9yfTp7cmVzdWx0OmkucmVzdWx0fSx0aGlzLnJlY29yZHMuc2V0KHMuaWQscyksdGhpcy5ldmVudHMuZW1pdChfLnVwZGF0ZWQscykpfSx0aGlzLmdldD1hc3luYyhpLHMpPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoXCJHZXR0aW5nIHJlY29yZFwiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcImdldFwiLHRvcGljOmksaWQ6c30pLGF3YWl0IHRoaXMuZ2V0UmVjb3JkKHMpKSx0aGlzLmRlbGV0ZT0oaSxzKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKFwiRGVsZXRpbmcgcmVjb3JkXCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwiZGVsZXRlXCIsaWQ6c30pLHRoaXMudmFsdWVzLmZvckVhY2gobj0+e2lmKG4udG9waWM9PT1pKXtpZih0eXBlb2YgczxcInVcIiYmbi5pZCE9PXMpcmV0dXJuO3RoaXMucmVjb3Jkcy5kZWxldGUobi5pZCksdGhpcy5ldmVudHMuZW1pdChfLmRlbGV0ZWQsbil9fSl9LHRoaXMuZXhpc3RzPWFzeW5jKGkscyk9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLnJlY29yZHMuaGFzKHMpPyhhd2FpdCB0aGlzLmdldFJlY29yZChzKSkudG9waWM9PT1pOiExKSx0aGlzLm9uPShpLHMpPT57dGhpcy5ldmVudHMub24oaSxzKX0sdGhpcy5vbmNlPShpLHMpPT57dGhpcy5ldmVudHMub25jZShpLHMpfSx0aGlzLm9mZj0oaSxzKT0+e3RoaXMuZXZlbnRzLm9mZihpLHMpfSx0aGlzLnJlbW92ZUxpc3RlbmVyPShpLHMpPT57dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoaSxzKX0sdGhpcy5sb2dnZXI9RSh0LHRoaXMubmFtZSl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gZih0aGlzLmxvZ2dlcil9Z2V0IHN0b3JhZ2VLZXkoKXtyZXR1cm4gdGhpcy5zdG9yYWdlUHJlZml4K3RoaXMudmVyc2lvbitcIi8vXCIrdGhpcy5uYW1lfWdldCBzaXplKCl7cmV0dXJuIHRoaXMucmVjb3Jkcy5zaXplfWdldCBrZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5yZWNvcmRzLmtleXMoKSl9Z2V0IHZhbHVlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMucmVjb3Jkcy52YWx1ZXMoKSl9Z2V0IHBlbmRpbmcoKXtjb25zdCBlPVtdO3JldHVybiB0aGlzLnZhbHVlcy5mb3JFYWNoKHQ9PntpZih0eXBlb2YgdC5yZXNwb25zZTxcInVcIilyZXR1cm47Y29uc3QgaT17dG9waWM6dC50b3BpYyxyZXF1ZXN0OlNlKHQucmVxdWVzdC5tZXRob2QsdC5yZXF1ZXN0LnBhcmFtcyx0LmlkKSxjaGFpbklkOnQuY2hhaW5JZH07cmV0dXJuIGUucHVzaChpKX0pLGV9YXN5bmMgc2V0SnNvblJwY1JlY29yZHMoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksZSl9YXN5bmMgZ2V0SnNvblJwY1JlY29yZHMoKXtyZXR1cm4gYXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfWdldFJlY29yZChlKXt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCB0PXRoaXMucmVjb3Jkcy5nZXQoZSk7aWYoIXQpe2NvbnN0e21lc3NhZ2U6aX09YyhcIk5PX01BVENISU5HX0tFWVwiLGAke3RoaXMubmFtZX06ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3IoaSl9cmV0dXJuIHR9YXN5bmMgcGVyc2lzdCgpe2F3YWl0IHRoaXMuc2V0SnNvblJwY1JlY29yZHModGhpcy52YWx1ZXMpLHRoaXMuZXZlbnRzLmVtaXQoXy5zeW5jKX1hc3luYyByZXN0b3JlKCl7dHJ5e2NvbnN0IGU9YXdhaXQgdGhpcy5nZXRKc29uUnBjUmVjb3JkcygpO2lmKHR5cGVvZiBlPlwidVwifHwhZS5sZW5ndGgpcmV0dXJuO2lmKHRoaXMucmVjb3Jkcy5zaXplKXtjb25zdHttZXNzYWdlOnR9PWMoXCJSRVNUT1JFX1dJTExfT1ZFUlJJREVcIix0aGlzLm5hbWUpO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKHQpLG5ldyBFcnJvcih0KX10aGlzLmNhY2hlZD1lLHRoaXMubG9nZ2VyLmRlYnVnKGBTdWNjZXNzZnVsbHkgUmVzdG9yZWQgcmVjb3JkcyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJyZXN0b3JlXCIscmVjb3Jkczp0aGlzLnZhbHVlc30pfWNhdGNoKGUpe3RoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUmVzdG9yZSByZWNvcmRzIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci5lcnJvcihlKX19cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe3RoaXMuZXZlbnRzLm9uKF8uY3JlYXRlZCxlPT57Y29uc3QgdD1fLmNyZWF0ZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHt0fWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOlwiZXZlbnRcIixldmVudDp0LHJlY29yZDplfSksdGhpcy5wZXJzaXN0KCl9KSx0aGlzLmV2ZW50cy5vbihfLnVwZGF0ZWQsZT0+e2NvbnN0IHQ9Xy51cGRhdGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7dH1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZTpcImV2ZW50XCIsZXZlbnQ6dCxyZWNvcmQ6ZX0pLHRoaXMucGVyc2lzdCgpfSksdGhpcy5ldmVudHMub24oXy5kZWxldGVkLGU9Pntjb25zdCB0PV8uZGVsZXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3R9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6XCJldmVudFwiLGV2ZW50OnQscmVjb3JkOmV9KSx0aGlzLnBlcnNpc3QoKX0pLHRoaXMuY29yZS5oZWFydGJlYXQub24oai5wdWxzZSwoKT0+e3RoaXMuY2xlYW51cCgpfSl9Y2xlYW51cCgpe3RyeXt0aGlzLnJlY29yZHMuZm9yRWFjaChlPT57eihlLmV4cGlyeXx8MCktRGF0ZS5ub3coKTw9MCYmKHRoaXMubG9nZ2VyLmluZm8oYERlbGV0aW5nIGV4cGlyZWQgaGlzdG9yeSBsb2c6ICR7ZS5pZH1gKSx0aGlzLmRlbGV0ZShlLnRvcGljLGUuaWQpKX0pfWNhdGNoKGUpe3RoaXMubG9nZ2VyLndhcm4oZSl9fWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyAkdCBleHRlbmRzIFh0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj10LHRoaXMuZXhwaXJhdGlvbnM9bmV3IE1hcCx0aGlzLmV2ZW50cz1uZXcgTix0aGlzLm5hbWU9ZnQsdGhpcy52ZXJzaW9uPXd0LHRoaXMuY2FjaGVkPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PU8sdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5sb2dnZXIudHJhY2UoXCJJbml0aWFsaXplZFwiKSxhd2FpdCB0aGlzLnJlc3RvcmUoKSx0aGlzLmNhY2hlZC5mb3JFYWNoKGk9PnRoaXMuZXhwaXJhdGlvbnMuc2V0KGkudGFyZ2V0LGkpKSx0aGlzLmNhY2hlZD1bXSx0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmluaXRpYWxpemVkPSEwKX0sdGhpcy5oYXM9aT0+e3RyeXtjb25zdCBzPXRoaXMuZm9ybWF0VGFyZ2V0KGkpO3JldHVybiB0eXBlb2YgdGhpcy5nZXRFeHBpcmF0aW9uKHMpPFwidVwifWNhdGNoe3JldHVybiExfX0sdGhpcy5zZXQ9KGkscyk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBuPXRoaXMuZm9ybWF0VGFyZ2V0KGkpLGE9e3RhcmdldDpuLGV4cGlyeTpzfTt0aGlzLmV4cGlyYXRpb25zLnNldChuLGEpLHRoaXMuY2hlY2tFeHBpcnkobixhKSx0aGlzLmV2ZW50cy5lbWl0KHcuY3JlYXRlZCx7dGFyZ2V0Om4sZXhwaXJhdGlvbjphfSl9LHRoaXMuZ2V0PWk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBzPXRoaXMuZm9ybWF0VGFyZ2V0KGkpO3JldHVybiB0aGlzLmdldEV4cGlyYXRpb24ocyl9LHRoaXMuZGVsPWk9PntpZih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmhhcyhpKSl7Y29uc3Qgcz10aGlzLmZvcm1hdFRhcmdldChpKSxuPXRoaXMuZ2V0RXhwaXJhdGlvbihzKTt0aGlzLmV4cGlyYXRpb25zLmRlbGV0ZShzKSx0aGlzLmV2ZW50cy5lbWl0KHcuZGVsZXRlZCx7dGFyZ2V0OnMsZXhwaXJhdGlvbjpufSl9fSx0aGlzLm9uPShpLHMpPT57dGhpcy5ldmVudHMub24oaSxzKX0sdGhpcy5vbmNlPShpLHMpPT57dGhpcy5ldmVudHMub25jZShpLHMpfSx0aGlzLm9mZj0oaSxzKT0+e3RoaXMuZXZlbnRzLm9mZihpLHMpfSx0aGlzLnJlbW92ZUxpc3RlbmVyPShpLHMpPT57dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoaSxzKX0sdGhpcy5sb2dnZXI9RSh0LHRoaXMubmFtZSl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gZih0aGlzLmxvZ2dlcil9Z2V0IHN0b3JhZ2VLZXkoKXtyZXR1cm4gdGhpcy5zdG9yYWdlUHJlZml4K3RoaXMudmVyc2lvbitcIi8vXCIrdGhpcy5uYW1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5leHBpcmF0aW9ucy5zaXplfWdldCBrZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5leHBpcmF0aW9ucy5rZXlzKCkpfWdldCB2YWx1ZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmV4cGlyYXRpb25zLnZhbHVlcygpKX1mb3JtYXRUYXJnZXQoZSl7aWYodHlwZW9mIGU9PVwic3RyaW5nXCIpcmV0dXJuIHZpKGUpO2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXJldHVybiBJaShlKTtjb25zdHttZXNzYWdlOnR9PWMoXCJVTktOT1dOX1RZUEVcIixgVGFyZ2V0IHR5cGU6ICR7dHlwZW9mIGV9YCk7dGhyb3cgbmV3IEVycm9yKHQpfWFzeW5jIHNldEV4cGlyYXRpb25zKGUpe2F3YWl0IHRoaXMuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LGUpfWFzeW5jIGdldEV4cGlyYXRpb25zKCl7cmV0dXJuIGF3YWl0IHRoaXMuY29yZS5zdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KX1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXRFeHBpcmF0aW9ucyh0aGlzLnZhbHVlcyksdGhpcy5ldmVudHMuZW1pdCh3LnN5bmMpfWFzeW5jIHJlc3RvcmUoKXt0cnl7Y29uc3QgZT1hd2FpdCB0aGlzLmdldEV4cGlyYXRpb25zKCk7aWYodHlwZW9mIGU+XCJ1XCJ8fCFlLmxlbmd0aClyZXR1cm47aWYodGhpcy5leHBpcmF0aW9ucy5zaXplKXtjb25zdHttZXNzYWdlOnR9PWMoXCJSRVNUT1JFX1dJTExfT1ZFUlJJREVcIix0aGlzLm5hbWUpO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKHQpLG5ldyBFcnJvcih0KX10aGlzLmNhY2hlZD1lLHRoaXMubG9nZ2VyLmRlYnVnKGBTdWNjZXNzZnVsbHkgUmVzdG9yZWQgZXhwaXJhdGlvbnMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwicmVzdG9yZVwiLGV4cGlyYXRpb25zOnRoaXMudmFsdWVzfSl9Y2F0Y2goZSl7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIGV4cGlyYXRpb25zIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci5lcnJvcihlKX19Z2V0RXhwaXJhdGlvbihlKXtjb25zdCB0PXRoaXMuZXhwaXJhdGlvbnMuZ2V0KGUpO2lmKCF0KXtjb25zdHttZXNzYWdlOml9PWMoXCJOT19NQVRDSElOR19LRVlcIixgJHt0aGlzLm5hbWV9OiAke2V9YCk7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IoaSksbmV3IEVycm9yKGkpfXJldHVybiB0fWNoZWNrRXhwaXJ5KGUsdCl7Y29uc3R7ZXhwaXJ5Oml9PXQ7eihpKS1EYXRlLm5vdygpPD0wJiZ0aGlzLmV4cGlyZShlLHQpfWV4cGlyZShlLHQpe3RoaXMuZXhwaXJhdGlvbnMuZGVsZXRlKGUpLHRoaXMuZXZlbnRzLmVtaXQody5leHBpcmVkLHt0YXJnZXQ6ZSxleHBpcmF0aW9uOnR9KX1jaGVja0V4cGlyYXRpb25zKCl7dGhpcy5jb3JlLnJlbGF5ZXIuY29ubmVjdGVkJiZ0aGlzLmV4cGlyYXRpb25zLmZvckVhY2goKGUsdCk9PnRoaXMuY2hlY2tFeHBpcnkodCxlKSl9cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe3RoaXMuY29yZS5oZWFydGJlYXQub24oai5wdWxzZSwoKT0+dGhpcy5jaGVja0V4cGlyYXRpb25zKCkpLHRoaXMuZXZlbnRzLm9uKHcuY3JlYXRlZCxlPT57Y29uc3QgdD13LmNyZWF0ZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHt0fWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOlwiZXZlbnRcIixldmVudDp0LGRhdGE6ZX0pLHRoaXMucGVyc2lzdCgpfSksdGhpcy5ldmVudHMub24ody5leHBpcmVkLGU9Pntjb25zdCB0PXcuZXhwaXJlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3R9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6XCJldmVudFwiLGV2ZW50OnQsZGF0YTplfSksdGhpcy5wZXJzaXN0KCl9KSx0aGlzLmV2ZW50cy5vbih3LmRlbGV0ZWQsZT0+e2NvbnN0IHQ9dy5kZWxldGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7dH1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZTpcImV2ZW50XCIsZXZlbnQ6dCxkYXRhOmV9KSx0aGlzLnBlcnNpc3QoKX0pfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyBGdCBleHRlbmRzIFp0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLnByb2plY3RJZD1lLHRoaXMubG9nZ2VyPXQsdGhpcy5uYW1lPVgsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLmluaXQ9YXN5bmMgaT0+e0NpKCl8fCFfaSgpfHwodGhpcy52ZXJpZnlVcmw9aT8udmVyaWZ5VXJsfHxnZSxhd2FpdCB0aGlzLmNyZWF0ZUlmcmFtZSgpKX0sdGhpcy5yZWdpc3Rlcj1hc3luYyBpPT57dmFyIHM7aWYodGhpcy5pbml0aWFsaXplZHx8YXdhaXQgdGhpcy5pbml0KCksISF0aGlzLmlmcmFtZSl0cnl7KHM9dGhpcy5pZnJhbWUuY29udGVudFdpbmRvdyk9PW51bGx8fHMucG9zdE1lc3NhZ2UoaS5hdHRlc3RhdGlvbklkLHRoaXMudmVyaWZ5VXJsKSx0aGlzLmxvZ2dlci5pbmZvKGBwb3N0TWVzc2FnZSBzZW50OiAke2kuYXR0ZXN0YXRpb25JZH0gJHt0aGlzLnZlcmlmeVVybH1gKX1jYXRjaHt9fSx0aGlzLnJlc29sdmU9YXN5bmMgaT0+e3ZhciBzO2lmKHRoaXMuaXNEZXZFbnYpcmV0dXJuXCJcIjt0aGlzLmxvZ2dlci5pbmZvKGByZXNvbHZpbmcgYXR0ZXN0YXRpb246ICR7aS5hdHRlc3RhdGlvbklkfWApO2NvbnN0IG49dGhpcy5zdGFydEFib3J0VGltZXIobmUpLGE9YXdhaXQgZmV0Y2goYCR7dGhpcy52ZXJpZnlVcmx9L2F0dGVzdGF0aW9uLyR7aS5hdHRlc3RhdGlvbklkfWAse3NpZ25hbDp0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWx9KTtyZXR1cm4gY2xlYXJUaW1lb3V0KG4pLGEuc3RhdHVzPT09MjAwPyhzPWF3YWl0IGEuanNvbigpKT09bnVsbD92b2lkIDA6cy5vcmlnaW46XCJcIn0sdGhpcy5jcmVhdGVJZnJhbWU9YXN5bmMoKT0+e3RyeXthd2FpdCBQcm9taXNlLnJhY2UoW25ldyBQcm9taXNlKChpLHMpPT57aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoWCkpcmV0dXJuIGkoKTtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIik7bi5zZXRBdHRyaWJ1dGUoXCJpZFwiLFgpLG4uc2V0QXR0cmlidXRlKFwic3JjXCIsYCR7dGhpcy52ZXJpZnlVcmx9LyR7dGhpcy5wcm9qZWN0SWR9YCksbi5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLG4uYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwoKT0+e3RoaXMuaW5pdGlhbGl6ZWQ9ITAsaSgpfSksbi5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIixhPT57cyhhKX0pLGRvY3VtZW50LmJvZHkuYXBwZW5kKG4pLHRoaXMuaWZyYW1lPW59KSxuZXcgUHJvbWlzZShpPT57c2V0VGltZW91dCgoKT0+aShcImlmcmFtZSBsb2FkIHRpbWVvdXRcIikseih2ZS8yKSl9KV0pfWNhdGNoKGkpe3RoaXMubG9nZ2VyLmVycm9yKGBWZXJpZnkgaWZyYW1lIGZhaWxlZCB0byBsb2FkOiAke3RoaXMudmVyaWZ5VXJsfWApLHRoaXMubG9nZ2VyLmVycm9yKGkpfX0sdGhpcy5sb2dnZXI9RSh0LHRoaXMubmFtZSksdGhpcy52ZXJpZnlVcmw9Z2UsdGhpcy5hYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLmlzRGV2RW52PVJpKCkmJnByb2Nlc3MuZW52LklTX1ZJVEVTVH1nZXQgY29udGV4dCgpe3JldHVybiBmKHRoaXMubG9nZ2VyKX1zdGFydEFib3J0VGltZXIoZSl7cmV0dXJuIHNldFRpbWVvdXQoKCk9PnRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCkseihlKSl9fXZhciBfcj1PYmplY3QuZGVmaW5lUHJvcGVydHksTXQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxScj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFRyPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsS3Q9KHIsZSx0KT0+ZSBpbiByP19yKHIsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pOnJbZV09dCxrdD0ocixlKT0+e2Zvcih2YXIgdCBpbiBlfHwoZT17fSkpUnIuY2FsbChlLHQpJiZLdChyLHQsZVt0XSk7aWYoTXQpZm9yKHZhciB0IG9mIE10KGUpKVRyLmNhbGwoZSx0KSYmS3Qocix0LGVbdF0pO3JldHVybiByfTtjbGFzcyBaIGV4dGVuZHMgUXR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5wcm90b2NvbD1jZSx0aGlzLnZlcnNpb249R2UsdGhpcy5uYW1lPVcsdGhpcy5ldmVudHM9bmV3IE4sdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLm9uPShpLHMpPT50aGlzLmV2ZW50cy5vbihpLHMpLHRoaXMub25jZT0oaSxzKT0+dGhpcy5ldmVudHMub25jZShpLHMpLHRoaXMub2ZmPShpLHMpPT50aGlzLmV2ZW50cy5vZmYoaSxzKSx0aGlzLnJlbW92ZUxpc3RlbmVyPShpLHMpPT50aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihpLHMpLHRoaXMucHJvamVjdElkPWU/LnByb2plY3RJZCx0aGlzLnJlbGF5VXJsPWU/LnJlbGF5VXJsfHxsZTtjb25zdCB0PXR5cGVvZiBlPy5sb2dnZXI8XCJ1XCImJnR5cGVvZiBlPy5sb2dnZXIhPVwic3RyaW5nXCI/ZS5sb2dnZXI6RGUoeWUoe2xldmVsOmU/LmxvZ2dlcnx8SmUubG9nZ2VyfSkpO3RoaXMubG9nZ2VyPUUodCx0aGlzLm5hbWUpLHRoaXMuaGVhcnRiZWF0PW5ldyBWdCx0aGlzLmNyeXB0bz1uZXcgSXQodGhpcyx0aGlzLmxvZ2dlcixlPy5rZXljaGFpbiksdGhpcy5oaXN0b3J5PW5ldyBMdCh0aGlzLHRoaXMubG9nZ2VyKSx0aGlzLmV4cGlyZXI9bmV3ICR0KHRoaXMsdGhpcy5sb2dnZXIpLHRoaXMuc3RvcmFnZT1lIT1udWxsJiZlLnN0b3JhZ2U/ZS5zdG9yYWdlOm5ldyBqdChrdChrdCh7fSxIZSksZT8uc3RvcmFnZU9wdGlvbnMpKSx0aGlzLnJlbGF5ZXI9bmV3IE90KHtjb3JlOnRoaXMsbG9nZ2VyOnRoaXMubG9nZ2VyLHJlbGF5VXJsOnRoaXMucmVsYXlVcmwscHJvamVjdElkOnRoaXMucHJvamVjdElkfSksdGhpcy5wYWlyaW5nPW5ldyBVdCh0aGlzLHRoaXMubG9nZ2VyKSx0aGlzLnZlcmlmeT1uZXcgRnQodGhpcy5wcm9qZWN0SWR8fFwiXCIsdGhpcy5sb2dnZXIpfXN0YXRpYyBhc3luYyBpbml0KGUpe2NvbnN0IHQ9bmV3IFooZSk7YXdhaXQgdC5pbml0aWFsaXplKCk7Y29uc3QgaT1hd2FpdCB0LmNyeXB0by5nZXRDbGllbnRJZCgpO3JldHVybiBhd2FpdCB0LnN0b3JhZ2Uuc2V0SXRlbShkdCxpKSx0fWdldCBjb250ZXh0KCl7cmV0dXJuIGYodGhpcy5sb2dnZXIpfWFzeW5jIHN0YXJ0KCl7dGhpcy5pbml0aWFsaXplZHx8YXdhaXQgdGhpcy5pbml0aWFsaXplKCl9YXN5bmMgaW5pdGlhbGl6ZSgpe3RoaXMubG9nZ2VyLnRyYWNlKFwiSW5pdGlhbGl6ZWRcIik7dHJ5e2F3YWl0IHRoaXMuY3J5cHRvLmluaXQoKSxhd2FpdCB0aGlzLmhpc3RvcnkuaW5pdCgpLGF3YWl0IHRoaXMuZXhwaXJlci5pbml0KCksYXdhaXQgdGhpcy5yZWxheWVyLmluaXQoKSxhd2FpdCB0aGlzLmhlYXJ0YmVhdC5pbml0KCksYXdhaXQgdGhpcy5wYWlyaW5nLmluaXQoKSx0aGlzLmluaXRpYWxpemVkPSEwLHRoaXMubG9nZ2VyLmluZm8oXCJDb3JlIEluaXRpYWxpemF0aW9uIFN1Y2Nlc3NcIil9Y2F0Y2goZSl7dGhyb3cgdGhpcy5sb2dnZXIud2FybihgQ29yZSBJbml0aWFsaXphdGlvbiBGYWlsdXJlIGF0IGVwb2NoICR7RGF0ZS5ub3coKX1gLGUpLHRoaXMubG9nZ2VyLmVycm9yKGUubWVzc2FnZSksZX19fWNvbnN0IFNyPVo7ZXhwb3J0e1cgYXMgQ09SRV9DT05URVhULEplIGFzIENPUkVfREVGQVVMVCxjZSBhcyBDT1JFX1BST1RPQ09MLEhlIGFzIENPUkVfU1RPUkFHRV9PUFRJT05TLE8gYXMgQ09SRV9TVE9SQUdFX1BSRUZJWCxHZSBhcyBDT1JFX1ZFUlNJT04sdWUgYXMgQ1JZUFRPX0NMSUVOVF9TRUVELFdlIGFzIENSWVBUT19DT05URVhULFhlIGFzIENSWVBUT19KV1RfVFRMLFNyIGFzIENvcmUsSXQgYXMgQ3J5cHRvLGZ0IGFzIEVYUElSRVJfQ09OVEVYVCx1ciBhcyBFWFBJUkVSX0RFRkFVTFRfVFRMLHcgYXMgRVhQSVJFUl9FVkVOVFMsd3QgYXMgRVhQSVJFUl9TVE9SQUdFX1ZFUlNJT04sJHQgYXMgRXhwaXJlcixtdCBhcyBISVNUT1JZX0NPTlRFWFQsXyBhcyBISVNUT1JZX0VWRU5UUyxFdCBhcyBISVNUT1JZX1NUT1JBR0VfVkVSU0lPTixMdCBhcyBKc29uUnBjSGlzdG9yeSxaZSBhcyBLRVlDSEFJTl9DT05URVhULFFlIGFzIEtFWUNIQUlOX1NUT1JBR0VfVkVSU0lPTix2dCBhcyBLZXlDaGFpbixldCBhcyBNRVNTQUdFU19DT05URVhULHR0IGFzIE1FU1NBR0VTX1NUT1JBR0VfVkVSU0lPTixDdCBhcyBNZXNzYWdlVHJhY2tlcix5dCBhcyBQQUlSSU5HX0NPTlRFWFQsY3IgYXMgUEFJUklOR19ERUZBVUxUX1RUTCwkIGFzIFBBSVJJTkdfUlBDX09QVFMsYnQgYXMgUEFJUklOR19TVE9SQUdFX1ZFUlNJT04sRHQgYXMgUEVORElOR19TVUJfUkVTT0xVVElPTl9USU1FT1VULHN0IGFzIFBVQkxJU0hFUl9DT05URVhULGl0IGFzIFBVQkxJU0hFUl9ERUZBVUxUX1RUTCxVdCBhcyBQYWlyaW5nLGF0IGFzIFJFTEFZRVJfQ09OVEVYVCxudCBhcyBSRUxBWUVSX0RFRkFVTFRfTE9HR0VSLHJ0IGFzIFJFTEFZRVJfREVGQVVMVF9QUk9UT0NPTCxsZSBhcyBSRUxBWUVSX0RFRkFVTFRfUkVMQVlfVVJMLGcgYXMgUkVMQVlFUl9FVkVOVFMsZGUgYXMgUkVMQVlFUl9GQUlMT1ZFUl9SRUxBWV9VUkwsTCBhcyBSRUxBWUVSX1BST1ZJREVSX0VWRU5UUyxodCBhcyBSRUxBWUVSX1JFQ09OTkVDVF9USU1FT1VULGN0IGFzIFJFTEFZRVJfU0RLX1ZFUlNJT04sb3IgYXMgUkVMQVlFUl9TVE9SQUdFX09QVElPTlMsb3QgYXMgUkVMQVlFUl9TVUJTQ1JJQkVSX1NVRkZJWCx1dCBhcyBSRUxBWUVSX1RSQU5TUE9SVF9DVVRPRkYsT3QgYXMgUmVsYXllcixsdCBhcyBTVE9SRV9TVE9SQUdFX1ZFUlNJT04sZ3QgYXMgU1VCU0NSSUJFUl9DT05URVhULGhyIGFzIFNVQlNDUklCRVJfREVGQVVMVF9UVEwsQyBhcyBTVUJTQ1JJQkVSX0VWRU5UUyxwdCBhcyBTVUJTQ1JJQkVSX1NUT1JBR0VfVkVSU0lPTixOdCBhcyBTdG9yZSxUdCBhcyBTdWJzY3JpYmVyLFggYXMgVkVSSUZZX0NPTlRFWFQsZ2UgYXMgVkVSSUZZX1NFUlZFUixGdCBhcyBWZXJpZnksZHQgYXMgV0FMTEVUQ09OTkVDVF9DTElFTlRfSUQsWiBhcyBkZWZhdWx0fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmVzLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/core/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/dist/cjs/crypto.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/dist/cjs/crypto.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (__webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.crypto) || (__webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvY3J5cHRvLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQyxHQUFHLHVCQUF1QixHQUFHLHVCQUF1QjtBQUNwRjtBQUNBLFlBQVkscUJBQU0sYUFBYSxxQkFBTSx1QkFBdUIscUJBQU0sYUFBYSxxQkFBTSxhQUFhLHFCQUFNLHVCQUF1QixxQkFBTTtBQUNySTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50L2Rpc3QvY2pzL2NyeXB0by5qcz82ZGQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc0Jyb3dzZXJDcnlwdG9BdmFpbGFibGUgPSBleHBvcnRzLmdldFN1YnRsZUNyeXB0byA9IGV4cG9ydHMuZ2V0QnJvd2VyQ3J5cHRvID0gdm9pZCAwO1xuZnVuY3Rpb24gZ2V0QnJvd2VyQ3J5cHRvKCkge1xuICAgIHJldHVybiAoZ2xvYmFsID09PSBudWxsIHx8IGdsb2JhbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ2xvYmFsLmNyeXB0bykgfHwgKGdsb2JhbCA9PT0gbnVsbCB8fCBnbG9iYWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdsb2JhbC5tc0NyeXB0bykgfHwge307XG59XG5leHBvcnRzLmdldEJyb3dlckNyeXB0byA9IGdldEJyb3dlckNyeXB0bztcbmZ1bmN0aW9uIGdldFN1YnRsZUNyeXB0bygpIHtcbiAgICBjb25zdCBicm93c2VyQ3J5cHRvID0gZ2V0QnJvd2VyQ3J5cHRvKCk7XG4gICAgcmV0dXJuIGJyb3dzZXJDcnlwdG8uc3VidGxlIHx8IGJyb3dzZXJDcnlwdG8ud2Via2l0U3VidGxlO1xufVxuZXhwb3J0cy5nZXRTdWJ0bGVDcnlwdG8gPSBnZXRTdWJ0bGVDcnlwdG87XG5mdW5jdGlvbiBpc0Jyb3dzZXJDcnlwdG9BdmFpbGFibGUoKSB7XG4gICAgcmV0dXJuICEhZ2V0QnJvd2VyQ3J5cHRvKCkgJiYgISFnZXRTdWJ0bGVDcnlwdG8oKTtcbn1cbmV4cG9ydHMuaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlID0gaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3J5cHRvLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/dist/cjs/crypto.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/dist/cjs/env.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/dist/cjs/env.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvZW52LmpzIiwibWFwcGluZ3MiOiI7QUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsR0FBRyxjQUFjLEdBQUcscUJBQXFCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxtQkFBbUIsT0FBTztBQUMxQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvZW52LmpzPzQzOGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmlzQnJvd3NlciA9IGV4cG9ydHMuaXNOb2RlID0gZXhwb3J0cy5pc1JlYWN0TmF0aXZlID0gdm9pZCAwO1xuZnVuY3Rpb24gaXNSZWFjdE5hdGl2ZSgpIHtcbiAgICByZXR1cm4gKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgICAgICB0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIG5hdmlnYXRvci5wcm9kdWN0ID09PSBcIlJlYWN0TmF0aXZlXCIpO1xufVxuZXhwb3J0cy5pc1JlYWN0TmF0aXZlID0gaXNSZWFjdE5hdGl2ZTtcbmZ1bmN0aW9uIGlzTm9kZSgpIHtcbiAgICByZXR1cm4gKHR5cGVvZiBwcm9jZXNzICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIHR5cGVvZiBwcm9jZXNzLnZlcnNpb25zICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIHR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUgIT09IFwidW5kZWZpbmVkXCIpO1xufVxuZXhwb3J0cy5pc05vZGUgPSBpc05vZGU7XG5mdW5jdGlvbiBpc0Jyb3dzZXIoKSB7XG4gICAgcmV0dXJuICFpc1JlYWN0TmF0aXZlKCkgJiYgIWlzTm9kZSgpO1xufVxuZXhwb3J0cy5pc0Jyb3dzZXIgPSBpc0Jyb3dzZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/dist/cjs/env.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/dist/cjs/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/dist/cjs/index.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./crypto */ \"./node_modules/@walletconnect/environment/dist/cjs/crypto.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./env */ \"./node_modules/@walletconnect/environment/dist/cjs/env.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0JBQWdCLG1CQUFPLENBQUMsd0ZBQU87QUFDL0IscUJBQXFCLG1CQUFPLENBQUMsOEVBQVU7QUFDdkMscUJBQXFCLG1CQUFPLENBQUMsd0VBQU87QUFDcEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50L2Rpc3QvY2pzL2luZGV4LmpzPzVjMjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vY3J5cHRvXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2VudlwiKSwgZXhwb3J0cyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZ0JBQWdCLHNDQUFzQyxrQkFBa0I7QUFDbkYsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGlEQUFpRCxPQUFPO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWM7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsNkNBQTZDLFFBQVE7QUFDckQ7QUFDQTtBQUNBO0FBQ087QUFDUCxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUCw0QkFBNEIsK0RBQStELGlCQUFpQjtBQUM1RztBQUNBLG9DQUFvQyxNQUFNLCtCQUErQixZQUFZO0FBQ3JGLG1DQUFtQyxNQUFNLG1DQUFtQyxZQUFZO0FBQ3hGLGdDQUFnQztBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ087QUFDUCxjQUFjLDZCQUE2QiwwQkFBMEIsY0FBYyxxQkFBcUI7QUFDeEcsaUJBQWlCLG9EQUFvRCxxRUFBcUUsY0FBYztBQUN4Six1QkFBdUIsc0JBQXNCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QyxtQ0FBbUMsU0FBUztBQUM1QyxtQ0FBbUMsV0FBVyxVQUFVO0FBQ3hELDBDQUEwQyxjQUFjO0FBQ3hEO0FBQ0EsOEdBQThHLE9BQU87QUFDckgsaUZBQWlGLGlCQUFpQjtBQUNsRyx5REFBeUQsZ0JBQWdCLFFBQVE7QUFDakYsK0NBQStDLGdCQUFnQixnQkFBZ0I7QUFDL0U7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBLFVBQVUsWUFBWSxhQUFhLFNBQVMsVUFBVTtBQUN0RCxvQ0FBb0MsU0FBUztBQUM3QztBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLE1BQU07QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLDZCQUE2QixzQkFBc0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGtEQUFrRCxRQUFRO0FBQzFELHlDQUF5QyxRQUFRO0FBQ2pELHlEQUF5RCxRQUFRO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSxpQkFBaUIsdUZBQXVGLGNBQWM7QUFDdEgsdUJBQXVCLGdDQUFnQyxxQ0FBcUMsMkNBQTJDO0FBQ3ZJLDRCQUE0QixNQUFNLGlCQUFpQixZQUFZO0FBQy9ELHVCQUF1QjtBQUN2Qiw4QkFBOEI7QUFDOUIsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ087QUFDUDtBQUNBLGlCQUFpQiw2Q0FBNkMsVUFBVSxzREFBc0QsY0FBYztBQUM1SSwwQkFBMEIsNkJBQTZCLG9CQUFvQixnREFBZ0Qsa0JBQWtCO0FBQzdJO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSwyR0FBMkcsdUZBQXVGLGNBQWM7QUFDaE4sdUJBQXVCLDhCQUE4QixnREFBZ0Qsd0RBQXdEO0FBQzdKLDZDQUE2QyxzQ0FBc0MsVUFBVSxtQkFBbUIsSUFBSTtBQUNwSDtBQUNBO0FBQ087QUFDUCxpQ0FBaUMsdUNBQXVDLFlBQVksS0FBSyxPQUFPO0FBQ2hHO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLDZDQUE2QztBQUM3QztBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcz8yZDQwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NyZWF0ZUJpbmRpbmcobywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/ethereum-provider/dist/index.es.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/ethereum-provider/dist/index.es.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EthereumProvider: function() { return /* binding */ G; },\n/* harmony export */ OPTIONAL_EVENTS: function() { return /* binding */ _; },\n/* harmony export */ OPTIONAL_METHODS: function() { return /* binding */ E; },\n/* harmony export */ REQUIRED_EVENTS: function() { return /* binding */ m; },\n/* harmony export */ REQUIRED_METHODS: function() { return /* binding */ u; },\n/* harmony export */ \"default\": function() { return /* binding */ v; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/utils */ \"./node_modules/@walletconnect/utils/dist/index.es.js\");\n/* harmony import */ var _walletconnect_universal_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/universal-provider */ \"./node_modules/@walletconnect/universal-provider/dist/index.es.js\");\nconst P=\"wc\",S=\"ethereum_provider\",$=`${P}@2:${S}:`,j=\"https://rpc.walletconnect.com/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],E=[\"eth_accounts\",\"eth_requestAccounts\",\"eth_sendRawTransaction\",\"eth_sign\",\"eth_signTransaction\",\"eth_signTypedData\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"wallet_switchEthereumChain\",\"wallet_addEthereumChain\",\"wallet_getPermissions\",\"wallet_requestPermissions\",\"wallet_registerOnboarding\",\"wallet_watchAsset\",\"wallet_scanQRCode\"],m=[\"chainChanged\",\"accountsChanged\"],_=[\"message\",\"disconnect\",\"connect\"];var N=Object.defineProperty,q=Object.defineProperties,D=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,O=(a,t,s)=>t in a?N(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,p=(a,t)=>{for(var s in t||(t={}))U.call(t,s)&&O(a,s,t[s]);if(y)for(var s of y(t))Q.call(t,s)&&O(a,s,t[s]);return a},M=(a,t)=>q(a,D(t));function g(a){return Number(a[0].split(\":\")[1])}function f(a){return`0x${a.toString(16)}`}function L(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:n,events:e,optionalEvents:h,rpcMap:c}=a;if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.isValidArray)(t))throw new Error(\"Invalid chains\");const o={chains:t,methods:i||u,events:e||m,rpcMap:p({},t.length?{[g(t)]:c[g(t)]}:{})},r=e?.filter(l=>!m.includes(l)),d=i?.filter(l=>!u.includes(l));if(!s&&!h&&!n&&!(r!=null&&r.length)&&!(d!=null&&d.length))return{required:t.length?o:void 0};const C=r?.length&&d?.length||!s,I={chains:[...new Set(C?o.chains.concat(s||[]):s)],methods:[...new Set(o.methods.concat(n!=null&&n.length?n:E))],events:[...new Set(o.events.concat(h||_))],rpcMap:c};return{required:t.length?o:void 0,optional:s.length?I:void 0}}class v{constructor(){this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.namespace=\"eip155\",this.accounts=[],this.chainId=1,this.STORAGE_KEY=$,this.on=(t,s)=>(this.events.on(t,s),this),this.once=(t,s)=>(this.events.once(t,s),this),this.removeListener=(t,s)=>(this.events.removeListener(t,s),this),this.off=(t,s)=>(this.events.off(t,s),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const s=new v;return await s.initialize(t),s}async request(t){return await this.signer.request(t,this.formatChainId(this.chainId))}sendAsync(t,s){this.signer.sendAsync(t,s,this.formatChainId(this.chainId))}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=L(this.rpc);try{const n=await new Promise(async(h,c)=>{var o;this.rpc.showQrModal&&((o=this.modal)==null||o.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),c(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.connect(M(p({namespaces:p({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic})).then(r=>{h(r)}).catch(r=>{c(new Error(r.message))})});if(!n)return;this.setChainIds(this.rpc.chains);const e=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.getAccountsFromNamespaces)(n.namespaces,[this.namespace]);this.setAccounts(e),this.events.emit(\"connect\",{chainId:f(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",f(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",M(p({},(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.getSdkError)(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({uri:t})),this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",f(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,n]=t.split(\":\");return{chainId:`${s}:${i}`,address:n}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const n=(s=t?.chains)!=null?s:[],e=(i=t?.optionalChains)!=null?i:[],h=n.concat(e);if(!h.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const c=n.length?t?.methods||u:[],o=n.length?t?.events||m:[],r=t?.optionalMethods||[],d=t?.optionalEvents||[],C=t?.rpcMap||this.buildRpcMap(h,t.projectId),I=t?.qrModalOptions||void 0;return{chains:n?.map(l=>this.formatChainId(l)),optionalChains:e.map(l=>this.formatChainId(l)),methods:c,events:o,optionalMethods:r,optionalEvents:d,rpcMap:C,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:I,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(n=>{i[n]=this.getRpcUrl(n,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?g(this.rpc.chains):g(this.rpc.optionalChains),this.signer=await _walletconnect_universal_provider__WEBPACK_IMPORTED_MODULE_1__.UniversalProvider.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let s;try{const{WalletConnectModal:i}=await __webpack_require__.e(/*! import() */ \"node_modules_walletconnect_modal_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @walletconnect/modal */ \"./node_modules/@walletconnect/modal/dist/index.js\"));s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(p({walletConnectVersion:2,projectId:this.rpc.projectId,standaloneChains:this.rpc.chains},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:n}=t;s&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.isValidArray)(s)&&(this.rpc.chains=s.map(e=>this.formatChainId(e)),s.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)})),i&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.isValidArray)(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=n?.[e]||this.getRpcUrl(e)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${j}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(s=>this.parseAccount(s))}}const G=v;\n//# sourceMappingURL=index.es.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZXRoZXJldW0tcHJvdmlkZXIvZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQWdOLHdDQUF3QyxFQUFFLEtBQUssRUFBRSxpZkFBaWYsMk5BQTJOLGtEQUFrRCxtQkFBbUIscUJBQXFCLDJCQUEyQixnREFBZ0QsU0FBUyxvQkFBb0IsY0FBYyxrQ0FBa0MsY0FBYyxXQUFXLGVBQWUsRUFBRSxjQUFjLE1BQU0seUZBQXlGLEdBQUcsSUFBSSxrRUFBQyxzQ0FBc0MsU0FBUyw2Q0FBNkMsV0FBVyxlQUFlLEdBQUcsRUFBRSwrREFBK0QsaUVBQWlFLDRCQUE0QixvQ0FBb0MsbUtBQW1LLE9BQU8sdURBQXVELFFBQVEsY0FBYyxnQkFBZ0IsZ0RBQUMsa1hBQWtYLGFBQWEscUJBQXFCLGNBQWMsK0JBQStCLGlCQUFpQixxRUFBcUUsZUFBZSw0REFBNEQsZ0JBQWdCLHVFQUF1RSxpQkFBaUIsd0VBQXdFLGVBQWUsOERBQThELDZCQUE2QixFQUFFLGlCQUFpQixzRkFBc0Ysd0JBQXdCLE1BQU0sc0JBQXNCLGFBQWEsSUFBSSx1Q0FBdUMsTUFBTSxrRUFBa0UsK0hBQStILGtDQUFrQyxlQUFlLEtBQUssbUJBQW1CLEVBQUUsS0FBSyxvQkFBb0Isb0JBQW9CLEdBQUcsNkJBQTZCLFlBQVksS0FBSyxZQUFZLHdCQUF3QixFQUFFLEVBQUUsYUFBYSxrQ0FBa0MsUUFBUSwrRUFBQyxnQ0FBZ0MsZ0RBQWdELHdCQUF3QixFQUFFLFNBQVMsb0NBQW9DLFFBQVEscUNBQXFDLG1CQUFtQiwwREFBMEQsc0JBQXNCLFNBQVMsY0FBYywyQkFBMkIseUJBQXlCLG1DQUFtQyxNQUFNLFNBQVMsSUFBSSxRQUFRLEdBQUcsZ1FBQWdRLG9DQUFvQyxvQkFBb0IsK0VBQStFLHNDQUFzQyxxQ0FBcUMsc0NBQXNDLHNGQUFzRixDQUFDLGlFQUFDLHdCQUF3QixzQ0FBc0MsR0FBRyxtQ0FBbUMsUUFBUSwrRkFBK0YsTUFBTSxxQ0FBcUMsRUFBRSx1QkFBdUIsY0FBYyw2Q0FBNkMsdUJBQXVCLEVBQUUsRUFBRSx1QkFBdUIsMENBQTBDLGVBQWUsT0FBTyxpQkFBaUIsU0FBUyxlQUFlLEdBQUcsRUFBRSxFQUFFLGdCQUFnQiwrQkFBK0IsZUFBZSw4RUFBOEUsOEZBQThGLGNBQWMsZ0NBQWdDLDZCQUE2Qiw0Q0FBNEMsa0JBQWtCLDBCQUEwQixPQUFPLFdBQVcsRUFBRSxHQUFHLEVBQUUsYUFBYSxlQUFlLHFMQUFxTCxnQkFBZ0IsUUFBUSxrRkFBa0YsMkZBQTJGLHVMQUF1TCxPQUFPLHlQQUF5UCxpQkFBaUIsV0FBVyxxQkFBcUIseUJBQXlCLElBQUksb0JBQW9CLHFJQUFxSSxnRkFBQyxPQUFPLHNKQUFzSix3RkFBd0YsTUFBTSxJQUFJLE1BQU0scUJBQXFCLE9BQU8sNE5BQThCLENBQUMsSUFBSSxNQUFNLGdGQUFnRixTQUFTLG9CQUFvQixxRkFBcUYsMkJBQTJCLFNBQVMsZ0dBQWdHLG1CQUFtQixhQUFhLE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxrRUFBQyxvRUFBb0UsNkNBQTZDLE1BQU0sa0VBQUMsd0dBQXdHLDZDQUE2QyxHQUFHLGVBQWUsTUFBTSxrREFBa0QsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLHNCQUFzQixFQUFFLDZCQUE2Qix3QkFBd0IseURBQXlELGlCQUFpQix3Q0FBd0MsZUFBZSxHQUFHLEVBQUUsOEJBQThCLGVBQWUsR0FBRyxFQUFFLDJDQUEyQyxzRkFBc0YsUUFBUSxnQ0FBZ0MsVUFBVSx5REFBeUQsaUJBQWlCLHdCQUF3QixpQkFBaUIsc0dBQXNHLFVBQTJJO0FBQ2x3USIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZXRoZXJldW0tcHJvdmlkZXIvZGlzdC9pbmRleC5lcy5qcz9mMzY5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtFdmVudEVtaXR0ZXIgYXMgYn1mcm9tXCJldmVudHNcIjtpbXBvcnR7Z2V0QWNjb3VudHNGcm9tTmFtZXNwYWNlcyBhcyBBLGdldFNka0Vycm9yIGFzIFIsaXNWYWxpZEFycmF5IGFzIHd9ZnJvbVwiQHdhbGxldGNvbm5lY3QvdXRpbHNcIjtpbXBvcnR7VW5pdmVyc2FsUHJvdmlkZXIgYXMgVH1mcm9tXCJAd2FsbGV0Y29ubmVjdC91bml2ZXJzYWwtcHJvdmlkZXJcIjtjb25zdCBQPVwid2NcIixTPVwiZXRoZXJldW1fcHJvdmlkZXJcIiwkPWAke1B9QDI6JHtTfTpgLGo9XCJodHRwczovL3JwYy53YWxsZXRjb25uZWN0LmNvbS92MS9cIix1PVtcImV0aF9zZW5kVHJhbnNhY3Rpb25cIixcInBlcnNvbmFsX3NpZ25cIl0sRT1bXCJldGhfYWNjb3VudHNcIixcImV0aF9yZXF1ZXN0QWNjb3VudHNcIixcImV0aF9zZW5kUmF3VHJhbnNhY3Rpb25cIixcImV0aF9zaWduXCIsXCJldGhfc2lnblRyYW5zYWN0aW9uXCIsXCJldGhfc2lnblR5cGVkRGF0YVwiLFwiZXRoX3NpZ25UeXBlZERhdGFfdjNcIixcImV0aF9zaWduVHlwZWREYXRhX3Y0XCIsXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiLFwid2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW5cIixcIndhbGxldF9nZXRQZXJtaXNzaW9uc1wiLFwid2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9uc1wiLFwid2FsbGV0X3JlZ2lzdGVyT25ib2FyZGluZ1wiLFwid2FsbGV0X3dhdGNoQXNzZXRcIixcIndhbGxldF9zY2FuUVJDb2RlXCJdLG09W1wiY2hhaW5DaGFuZ2VkXCIsXCJhY2NvdW50c0NoYW5nZWRcIl0sXz1bXCJtZXNzYWdlXCIsXCJkaXNjb25uZWN0XCIsXCJjb25uZWN0XCJdO3ZhciBOPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxxPU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLEQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMseT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLFU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxRPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsTz0oYSx0LHMpPT50IGluIGE/TihhLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KTphW3RdPXMscD0oYSx0KT0+e2Zvcih2YXIgcyBpbiB0fHwodD17fSkpVS5jYWxsKHQscykmJk8oYSxzLHRbc10pO2lmKHkpZm9yKHZhciBzIG9mIHkodCkpUS5jYWxsKHQscykmJk8oYSxzLHRbc10pO3JldHVybiBhfSxNPShhLHQpPT5xKGEsRCh0KSk7ZnVuY3Rpb24gZyhhKXtyZXR1cm4gTnVtYmVyKGFbMF0uc3BsaXQoXCI6XCIpWzFdKX1mdW5jdGlvbiBmKGEpe3JldHVybmAweCR7YS50b1N0cmluZygxNil9YH1mdW5jdGlvbiBMKGEpe2NvbnN0e2NoYWluczp0LG9wdGlvbmFsQ2hhaW5zOnMsbWV0aG9kczppLG9wdGlvbmFsTWV0aG9kczpuLGV2ZW50czplLG9wdGlvbmFsRXZlbnRzOmgscnBjTWFwOmN9PWE7aWYoIXcodCkpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFpbnNcIik7Y29uc3Qgbz17Y2hhaW5zOnQsbWV0aG9kczppfHx1LGV2ZW50czplfHxtLHJwY01hcDpwKHt9LHQubGVuZ3RoP3tbZyh0KV06Y1tnKHQpXX06e30pfSxyPWU/LmZpbHRlcihsPT4hbS5pbmNsdWRlcyhsKSksZD1pPy5maWx0ZXIobD0+IXUuaW5jbHVkZXMobCkpO2lmKCFzJiYhaCYmIW4mJiEociE9bnVsbCYmci5sZW5ndGgpJiYhKGQhPW51bGwmJmQubGVuZ3RoKSlyZXR1cm57cmVxdWlyZWQ6dC5sZW5ndGg/bzp2b2lkIDB9O2NvbnN0IEM9cj8ubGVuZ3RoJiZkPy5sZW5ndGh8fCFzLEk9e2NoYWluczpbLi4ubmV3IFNldChDP28uY2hhaW5zLmNvbmNhdChzfHxbXSk6cyldLG1ldGhvZHM6Wy4uLm5ldyBTZXQoby5tZXRob2RzLmNvbmNhdChuIT1udWxsJiZuLmxlbmd0aD9uOkUpKV0sZXZlbnRzOlsuLi5uZXcgU2V0KG8uZXZlbnRzLmNvbmNhdChofHxfKSldLHJwY01hcDpjfTtyZXR1cm57cmVxdWlyZWQ6dC5sZW5ndGg/bzp2b2lkIDAsb3B0aW9uYWw6cy5sZW5ndGg/STp2b2lkIDB9fWNsYXNzIHZ7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50cz1uZXcgYix0aGlzLm5hbWVzcGFjZT1cImVpcDE1NVwiLHRoaXMuYWNjb3VudHM9W10sdGhpcy5jaGFpbklkPTEsdGhpcy5TVE9SQUdFX0tFWT0kLHRoaXMub249KHQscyk9Pih0aGlzLmV2ZW50cy5vbih0LHMpLHRoaXMpLHRoaXMub25jZT0odCxzKT0+KHRoaXMuZXZlbnRzLm9uY2UodCxzKSx0aGlzKSx0aGlzLnJlbW92ZUxpc3RlbmVyPSh0LHMpPT4odGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIodCxzKSx0aGlzKSx0aGlzLm9mZj0odCxzKT0+KHRoaXMuZXZlbnRzLm9mZih0LHMpLHRoaXMpLHRoaXMucGFyc2VBY2NvdW50PXQ9PnRoaXMuaXNDb21wYXRpYmxlQ2hhaW5JZCh0KT90aGlzLnBhcnNlQWNjb3VudElkKHQpLmFkZHJlc3M6dCx0aGlzLnNpZ25lcj17fSx0aGlzLnJwYz17fX1zdGF0aWMgYXN5bmMgaW5pdCh0KXtjb25zdCBzPW5ldyB2O3JldHVybiBhd2FpdCBzLmluaXRpYWxpemUodCksc31hc3luYyByZXF1ZXN0KHQpe3JldHVybiBhd2FpdCB0aGlzLnNpZ25lci5yZXF1ZXN0KHQsdGhpcy5mb3JtYXRDaGFpbklkKHRoaXMuY2hhaW5JZCkpfXNlbmRBc3luYyh0LHMpe3RoaXMuc2lnbmVyLnNlbmRBc3luYyh0LHMsdGhpcy5mb3JtYXRDaGFpbklkKHRoaXMuY2hhaW5JZCkpfWdldCBjb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5zaWduZXIuY2xpZW50P3RoaXMuc2lnbmVyLmNsaWVudC5jb3JlLnJlbGF5ZXIuY29ubmVjdGVkOiExfWdldCBjb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuc2lnbmVyLmNsaWVudD90aGlzLnNpZ25lci5jbGllbnQuY29yZS5yZWxheWVyLmNvbm5lY3Rpbmc6ITF9YXN5bmMgZW5hYmxlKCl7cmV0dXJuIHRoaXMuc2Vzc2lvbnx8YXdhaXQgdGhpcy5jb25uZWN0KCksYXdhaXQgdGhpcy5yZXF1ZXN0KHttZXRob2Q6XCJldGhfcmVxdWVzdEFjY291bnRzXCJ9KX1hc3luYyBjb25uZWN0KHQpe2lmKCF0aGlzLnNpZ25lci5jbGllbnQpdGhyb3cgbmV3IEVycm9yKFwiUHJvdmlkZXIgbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXQoKSBmaXJzdFwiKTt0aGlzLmxvYWRDb25uZWN0T3B0cyh0KTtjb25zdHtyZXF1aXJlZDpzLG9wdGlvbmFsOml9PUwodGhpcy5ycGMpO3RyeXtjb25zdCBuPWF3YWl0IG5ldyBQcm9taXNlKGFzeW5jKGgsYyk9Pnt2YXIgbzt0aGlzLnJwYy5zaG93UXJNb2RhbCYmKChvPXRoaXMubW9kYWwpPT1udWxsfHxvLnN1YnNjcmliZU1vZGFsKHI9Pnshci5vcGVuJiYhdGhpcy5zaWduZXIuc2Vzc2lvbiYmKHRoaXMuc2lnbmVyLmFib3J0UGFpcmluZ0F0dGVtcHQoKSxjKG5ldyBFcnJvcihcIkNvbm5lY3Rpb24gcmVxdWVzdCByZXNldC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIikpKX0pKSxhd2FpdCB0aGlzLnNpZ25lci5jb25uZWN0KE0ocCh7bmFtZXNwYWNlczpwKHt9LHMmJntbdGhpcy5uYW1lc3BhY2VdOnN9KX0saSYme29wdGlvbmFsTmFtZXNwYWNlczp7W3RoaXMubmFtZXNwYWNlXTppfX0pLHtwYWlyaW5nVG9waWM6dD8ucGFpcmluZ1RvcGljfSkpLnRoZW4ocj0+e2gocil9KS5jYXRjaChyPT57YyhuZXcgRXJyb3Ioci5tZXNzYWdlKSl9KX0pO2lmKCFuKXJldHVybjt0aGlzLnNldENoYWluSWRzKHRoaXMucnBjLmNoYWlucyk7Y29uc3QgZT1BKG4ubmFtZXNwYWNlcyxbdGhpcy5uYW1lc3BhY2VdKTt0aGlzLnNldEFjY291bnRzKGUpLHRoaXMuZXZlbnRzLmVtaXQoXCJjb25uZWN0XCIse2NoYWluSWQ6Zih0aGlzLmNoYWluSWQpfSl9Y2F0Y2gobil7dGhyb3cgdGhpcy5zaWduZXIubG9nZ2VyLmVycm9yKG4pLG59ZmluYWxseXt0aGlzLm1vZGFsJiZ0aGlzLm1vZGFsLmNsb3NlTW9kYWwoKX19YXN5bmMgZGlzY29ubmVjdCgpe3RoaXMuc2Vzc2lvbiYmYXdhaXQgdGhpcy5zaWduZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzZXQoKX1nZXQgaXNXYWxsZXRDb25uZWN0KCl7cmV0dXJuITB9Z2V0IHNlc3Npb24oKXtyZXR1cm4gdGhpcy5zaWduZXIuc2Vzc2lvbn1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5zaWduZXIub24oXCJzZXNzaW9uX2V2ZW50XCIsdD0+e2NvbnN0e3BhcmFtczpzfT10LHtldmVudDppfT1zO2kubmFtZT09PVwiYWNjb3VudHNDaGFuZ2VkXCI/KHRoaXMuYWNjb3VudHM9dGhpcy5wYXJzZUFjY291bnRzKGkuZGF0YSksdGhpcy5ldmVudHMuZW1pdChcImFjY291bnRzQ2hhbmdlZFwiLHRoaXMuYWNjb3VudHMpKTppLm5hbWU9PT1cImNoYWluQ2hhbmdlZFwiP3RoaXMuc2V0Q2hhaW5JZCh0aGlzLmZvcm1hdENoYWluSWQoaS5kYXRhKSk6dGhpcy5ldmVudHMuZW1pdChpLm5hbWUsaS5kYXRhKSx0aGlzLmV2ZW50cy5lbWl0KFwic2Vzc2lvbl9ldmVudFwiLHQpfSksdGhpcy5zaWduZXIub24oXCJjaGFpbkNoYW5nZWRcIix0PT57Y29uc3Qgcz1wYXJzZUludCh0KTt0aGlzLmNoYWluSWQ9cyx0aGlzLmV2ZW50cy5lbWl0KFwiY2hhaW5DaGFuZ2VkXCIsZih0aGlzLmNoYWluSWQpKSx0aGlzLnBlcnNpc3QoKX0pLHRoaXMuc2lnbmVyLm9uKFwic2Vzc2lvbl91cGRhdGVcIix0PT57dGhpcy5ldmVudHMuZW1pdChcInNlc3Npb25fdXBkYXRlXCIsdCl9KSx0aGlzLnNpZ25lci5vbihcInNlc3Npb25fZGVsZXRlXCIsdD0+e3RoaXMucmVzZXQoKSx0aGlzLmV2ZW50cy5lbWl0KFwic2Vzc2lvbl9kZWxldGVcIix0KSx0aGlzLmV2ZW50cy5lbWl0KFwiZGlzY29ubmVjdFwiLE0ocCh7fSxSKFwiVVNFUl9ESVNDT05ORUNURURcIikpLHtkYXRhOnQudG9waWMsbmFtZTpcIlVTRVJfRElTQ09OTkVDVEVEXCJ9KSl9KSx0aGlzLnNpZ25lci5vbihcImRpc3BsYXlfdXJpXCIsdD0+e3ZhciBzLGk7dGhpcy5ycGMuc2hvd1FyTW9kYWwmJigocz10aGlzLm1vZGFsKT09bnVsbHx8cy5jbG9zZU1vZGFsKCksKGk9dGhpcy5tb2RhbCk9PW51bGx8fGkub3Blbk1vZGFsKHt1cmk6dH0pKSx0aGlzLmV2ZW50cy5lbWl0KFwiZGlzcGxheV91cmlcIix0KX0pfXN3aXRjaEV0aGVyZXVtQ2hhaW4odCl7dGhpcy5yZXF1ZXN0KHttZXRob2Q6XCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiLHBhcmFtczpbe2NoYWluSWQ6dC50b1N0cmluZygxNil9XX0pfWlzQ29tcGF0aWJsZUNoYWluSWQodCl7cmV0dXJuIHR5cGVvZiB0PT1cInN0cmluZ1wiP3Quc3RhcnRzV2l0aChgJHt0aGlzLm5hbWVzcGFjZX06YCk6ITF9Zm9ybWF0Q2hhaW5JZCh0KXtyZXR1cm5gJHt0aGlzLm5hbWVzcGFjZX06JHt0fWB9cGFyc2VDaGFpbklkKHQpe3JldHVybiBOdW1iZXIodC5zcGxpdChcIjpcIilbMV0pfXNldENoYWluSWRzKHQpe2NvbnN0IHM9dC5maWx0ZXIoaT0+dGhpcy5pc0NvbXBhdGlibGVDaGFpbklkKGkpKS5tYXAoaT0+dGhpcy5wYXJzZUNoYWluSWQoaSkpO3MubGVuZ3RoJiYodGhpcy5jaGFpbklkPXNbMF0sdGhpcy5ldmVudHMuZW1pdChcImNoYWluQ2hhbmdlZFwiLGYodGhpcy5jaGFpbklkKSksdGhpcy5wZXJzaXN0KCkpfXNldENoYWluSWQodCl7aWYodGhpcy5pc0NvbXBhdGlibGVDaGFpbklkKHQpKXtjb25zdCBzPXRoaXMucGFyc2VDaGFpbklkKHQpO3RoaXMuY2hhaW5JZD1zLHRoaXMuc3dpdGNoRXRoZXJldW1DaGFpbihzKX19cGFyc2VBY2NvdW50SWQodCl7Y29uc3RbcyxpLG5dPXQuc3BsaXQoXCI6XCIpO3JldHVybntjaGFpbklkOmAke3N9OiR7aX1gLGFkZHJlc3M6bn19c2V0QWNjb3VudHModCl7dGhpcy5hY2NvdW50cz10LmZpbHRlcihzPT50aGlzLnBhcnNlQ2hhaW5JZCh0aGlzLnBhcnNlQWNjb3VudElkKHMpLmNoYWluSWQpPT09dGhpcy5jaGFpbklkKS5tYXAocz0+dGhpcy5wYXJzZUFjY291bnRJZChzKS5hZGRyZXNzKSx0aGlzLmV2ZW50cy5lbWl0KFwiYWNjb3VudHNDaGFuZ2VkXCIsdGhpcy5hY2NvdW50cyl9Z2V0UnBjQ29uZmlnKHQpe3ZhciBzLGk7Y29uc3Qgbj0ocz10Py5jaGFpbnMpIT1udWxsP3M6W10sZT0oaT10Py5vcHRpb25hbENoYWlucykhPW51bGw/aTpbXSxoPW4uY29uY2F0KGUpO2lmKCFoLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJObyBjaGFpbnMgc3BlY2lmaWVkIGluIGVpdGhlciBgY2hhaW5zYCBvciBgb3B0aW9uYWxDaGFpbnNgXCIpO2NvbnN0IGM9bi5sZW5ndGg/dD8ubWV0aG9kc3x8dTpbXSxvPW4ubGVuZ3RoP3Q/LmV2ZW50c3x8bTpbXSxyPXQ/Lm9wdGlvbmFsTWV0aG9kc3x8W10sZD10Py5vcHRpb25hbEV2ZW50c3x8W10sQz10Py5ycGNNYXB8fHRoaXMuYnVpbGRScGNNYXAoaCx0LnByb2plY3RJZCksST10Py5xck1vZGFsT3B0aW9uc3x8dm9pZCAwO3JldHVybntjaGFpbnM6bj8ubWFwKGw9PnRoaXMuZm9ybWF0Q2hhaW5JZChsKSksb3B0aW9uYWxDaGFpbnM6ZS5tYXAobD0+dGhpcy5mb3JtYXRDaGFpbklkKGwpKSxtZXRob2RzOmMsZXZlbnRzOm8sb3B0aW9uYWxNZXRob2RzOnIsb3B0aW9uYWxFdmVudHM6ZCxycGNNYXA6QyxzaG93UXJNb2RhbDohISh0IT1udWxsJiZ0LnNob3dRck1vZGFsKSxxck1vZGFsT3B0aW9uczpJLHByb2plY3RJZDp0LnByb2plY3RJZCxtZXRhZGF0YTp0Lm1ldGFkYXRhfX1idWlsZFJwY01hcCh0LHMpe2NvbnN0IGk9e307cmV0dXJuIHQuZm9yRWFjaChuPT57aVtuXT10aGlzLmdldFJwY1VybChuLHMpfSksaX1hc3luYyBpbml0aWFsaXplKHQpe2lmKHRoaXMucnBjPXRoaXMuZ2V0UnBjQ29uZmlnKHQpLHRoaXMuY2hhaW5JZD10aGlzLnJwYy5jaGFpbnMubGVuZ3RoP2codGhpcy5ycGMuY2hhaW5zKTpnKHRoaXMucnBjLm9wdGlvbmFsQ2hhaW5zKSx0aGlzLnNpZ25lcj1hd2FpdCBULmluaXQoe3Byb2plY3RJZDp0aGlzLnJwYy5wcm9qZWN0SWQsbWV0YWRhdGE6dGhpcy5ycGMubWV0YWRhdGEsZGlzYWJsZVByb3ZpZGVyUGluZzp0LmRpc2FibGVQcm92aWRlclBpbmcscmVsYXlVcmw6dC5yZWxheVVybCxzdG9yYWdlT3B0aW9uczp0LnN0b3JhZ2VPcHRpb25zfSksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCksYXdhaXQgdGhpcy5sb2FkUGVyc2lzdGVkU2Vzc2lvbigpLHRoaXMucnBjLnNob3dRck1vZGFsKXtsZXQgczt0cnl7Y29uc3R7V2FsbGV0Q29ubmVjdE1vZGFsOml9PWF3YWl0IGltcG9ydChcIkB3YWxsZXRjb25uZWN0L21vZGFsXCIpO3M9aX1jYXRjaHt0aHJvdyBuZXcgRXJyb3IoXCJUbyB1c2UgUVIgbW9kYWwsIHBsZWFzZSBpbnN0YWxsIEB3YWxsZXRjb25uZWN0L21vZGFsIHBhY2thZ2VcIil9aWYocyl0cnl7dGhpcy5tb2RhbD1uZXcgcyhwKHt3YWxsZXRDb25uZWN0VmVyc2lvbjoyLHByb2plY3RJZDp0aGlzLnJwYy5wcm9qZWN0SWQsc3RhbmRhbG9uZUNoYWluczp0aGlzLnJwYy5jaGFpbnN9LHRoaXMucnBjLnFyTW9kYWxPcHRpb25zKSl9Y2F0Y2goaSl7dGhyb3cgdGhpcy5zaWduZXIubG9nZ2VyLmVycm9yKGkpLG5ldyBFcnJvcihcIkNvdWxkIG5vdCBnZW5lcmF0ZSBXYWxsZXRDb25uZWN0TW9kYWwgSW5zdGFuY2VcIil9fX1sb2FkQ29ubmVjdE9wdHModCl7aWYoIXQpcmV0dXJuO2NvbnN0e2NoYWluczpzLG9wdGlvbmFsQ2hhaW5zOmkscnBjTWFwOm59PXQ7cyYmdyhzKSYmKHRoaXMucnBjLmNoYWlucz1zLm1hcChlPT50aGlzLmZvcm1hdENoYWluSWQoZSkpLHMuZm9yRWFjaChlPT57dGhpcy5ycGMucnBjTWFwW2VdPW4/LltlXXx8dGhpcy5nZXRScGNVcmwoZSl9KSksaSYmdyhpKSYmKHRoaXMucnBjLm9wdGlvbmFsQ2hhaW5zPVtdLHRoaXMucnBjLm9wdGlvbmFsQ2hhaW5zPWk/Lm1hcChlPT50aGlzLmZvcm1hdENoYWluSWQoZSkpLGkuZm9yRWFjaChlPT57dGhpcy5ycGMucnBjTWFwW2VdPW4/LltlXXx8dGhpcy5nZXRScGNVcmwoZSl9KSl9Z2V0UnBjVXJsKHQscyl7dmFyIGk7cmV0dXJuKChpPXRoaXMucnBjLnJwY01hcCk9PW51bGw/dm9pZCAwOmlbdF0pfHxgJHtqfT9jaGFpbklkPWVpcDE1NToke3R9JnByb2plY3RJZD0ke3N8fHRoaXMucnBjLnByb2plY3RJZH1gfWFzeW5jIGxvYWRQZXJzaXN0ZWRTZXNzaW9uKCl7aWYoIXRoaXMuc2Vzc2lvbilyZXR1cm47Y29uc3QgdD1hd2FpdCB0aGlzLnNpZ25lci5jbGllbnQuY29yZS5zdG9yYWdlLmdldEl0ZW0oYCR7dGhpcy5TVE9SQUdFX0tFWX0vY2hhaW5JZGApLHM9dGhpcy5zZXNzaW9uLm5hbWVzcGFjZXNbYCR7dGhpcy5uYW1lc3BhY2V9OiR7dH1gXT90aGlzLnNlc3Npb24ubmFtZXNwYWNlc1tgJHt0aGlzLm5hbWVzcGFjZX06JHt0fWBdOnRoaXMuc2Vzc2lvbi5uYW1lc3BhY2VzW3RoaXMubmFtZXNwYWNlXTt0aGlzLnNldENoYWluSWRzKHQ/W3RoaXMuZm9ybWF0Q2hhaW5JZCh0KV06cz8uYWNjb3VudHMpLHRoaXMuc2V0QWNjb3VudHMocz8uYWNjb3VudHMpfXJlc2V0KCl7dGhpcy5jaGFpbklkPTEsdGhpcy5hY2NvdW50cz1bXX1wZXJzaXN0KCl7dGhpcy5zZXNzaW9uJiZ0aGlzLnNpZ25lci5jbGllbnQuY29yZS5zdG9yYWdlLnNldEl0ZW0oYCR7dGhpcy5TVE9SQUdFX0tFWX0vY2hhaW5JZGAsdGhpcy5jaGFpbklkKX1wYXJzZUFjY291bnRzKHQpe3JldHVybiB0eXBlb2YgdD09XCJzdHJpbmdcInx8dCBpbnN0YW5jZW9mIFN0cmluZz9bdGhpcy5wYXJzZUFjY291bnQodCldOnQubWFwKHM9PnRoaXMucGFyc2VBY2NvdW50KHMpKX19Y29uc3QgRz12O2V4cG9ydHtHIGFzIEV0aGVyZXVtUHJvdmlkZXIsXyBhcyBPUFRJT05BTF9FVkVOVFMsRSBhcyBPUFRJT05BTF9NRVRIT0RTLG0gYXMgUkVRVUlSRURfRVZFTlRTLHUgYXMgUkVRVUlSRURfTUVUSE9EUyx2IGFzIGRlZmF1bHR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguZXMuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/ethereum-provider/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/events/dist/esm/events.js": -/*!***************************************************************!*\ - !*** ./node_modules/@walletconnect/events/dist/esm/events.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: function() { return /* binding */ IEvents; }\n/* harmony export */ });\nclass IEvents {\n}\n//# sourceMappingURL=events.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZXZlbnRzL2Rpc3QvZXNtL2V2ZW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9ldmVudHMvZGlzdC9lc20vZXZlbnRzLmpzPzEwNTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIElFdmVudHMge1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXZlbnRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/events/dist/esm/events.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/events/dist/esm/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/@walletconnect/events/dist/esm/index.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ \"./node_modules/@walletconnect/events/dist/esm/events.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _events__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _events__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZXZlbnRzL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXlCO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9ldmVudHMvZGlzdC9lc20vaW5kZXguanM/ZDMwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9ldmVudHNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/events/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HEARTBEAT_EVENTS = exports.HEARTBEAT_INTERVAL = void 0;\nconst time_1 = __webpack_require__(/*! @walletconnect/time */ \"./node_modules/@walletconnect/time/dist/cjs/index.js\");\nexports.HEARTBEAT_INTERVAL = time_1.FIVE_SECONDS;\nexports.HEARTBEAT_EVENTS = {\n pulse: \"heartbeat_pulse\",\n};\n//# sourceMappingURL=heartbeat.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL2NvbnN0YW50cy9oZWFydGJlYXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCLEdBQUcsMEJBQTBCO0FBQ3JELGVBQWUsbUJBQU8sQ0FBQyxpRkFBcUI7QUFDNUMsMEJBQTBCO0FBQzFCLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2hlYXJ0YmVhdC9kaXN0L2Nqcy9jb25zdGFudHMvaGVhcnRiZWF0LmpzPzJjNjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkhFQVJUQkVBVF9FVkVOVFMgPSBleHBvcnRzLkhFQVJUQkVBVF9JTlRFUlZBTCA9IHZvaWQgMDtcbmNvbnN0IHRpbWVfMSA9IHJlcXVpcmUoXCJAd2FsbGV0Y29ubmVjdC90aW1lXCIpO1xuZXhwb3J0cy5IRUFSVEJFQVRfSU5URVJWQUwgPSB0aW1lXzEuRklWRV9TRUNPTkRTO1xuZXhwb3J0cy5IRUFSVEJFQVRfRVZFTlRTID0ge1xuICAgIHB1bHNlOiBcImhlYXJ0YmVhdF9wdWxzZVwiLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYXJ0YmVhdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./heartbeat */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL2NvbnN0YW50cy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsbUJBQU8sQ0FBQyxzRkFBTztBQUMvQixxQkFBcUIsbUJBQU8sQ0FBQyw0RkFBYTtBQUMxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL2NvbnN0YW50cy9pbmRleC5qcz8zZjI5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2hlYXJ0YmVhdFwiKSwgZXhwb3J0cyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HeartBeat = void 0;\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js\");\nconst events_1 = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\nconst time_1 = __webpack_require__(/*! @walletconnect/time */ \"./node_modules/@walletconnect/time/dist/cjs/index.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js\");\nconst constants_1 = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js\");\nclass HeartBeat extends types_1.IHeartBeat {\n constructor(opts) {\n super(opts);\n this.events = new events_1.EventEmitter();\n this.interval = constants_1.HEARTBEAT_INTERVAL;\n this.interval = (opts === null || opts === void 0 ? void 0 : opts.interval) || constants_1.HEARTBEAT_INTERVAL;\n }\n static init(opts) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n const heartbeat = new HeartBeat(opts);\n yield heartbeat.init();\n return heartbeat;\n });\n }\n init() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n yield this.initialize();\n });\n }\n stop() {\n clearInterval(this.intervalRef);\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n initialize() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.intervalRef = setInterval(() => this.pulse(), time_1.toMiliseconds(this.interval));\n });\n }\n pulse() {\n this.events.emit(constants_1.HEARTBEAT_EVENTS.pulse);\n }\n}\nexports.HeartBeat = HeartBeat;\n//# sourceMappingURL=heartbeat.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL2hlYXJ0YmVhdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsZ0JBQWdCLG1CQUFPLENBQUMsc0ZBQU87QUFDL0IsaUJBQWlCLG1CQUFPLENBQUMsK0NBQVE7QUFDakMsZUFBZSxtQkFBTyxDQUFDLGlGQUFxQjtBQUM1QyxnQkFBZ0IsbUJBQU8sQ0FBQyxnRkFBUztBQUNqQyxvQkFBb0IsbUJBQU8sQ0FBQyx3RkFBYTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL2hlYXJ0YmVhdC5qcz82ODAyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5IZWFydEJlYXQgPSB2b2lkIDA7XG5jb25zdCB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xuY29uc3QgZXZlbnRzXzEgPSByZXF1aXJlKFwiZXZlbnRzXCIpO1xuY29uc3QgdGltZV8xID0gcmVxdWlyZShcIkB3YWxsZXRjb25uZWN0L3RpbWVcIik7XG5jb25zdCB0eXBlc18xID0gcmVxdWlyZShcIi4vdHlwZXNcIik7XG5jb25zdCBjb25zdGFudHNfMSA9IHJlcXVpcmUoXCIuL2NvbnN0YW50c1wiKTtcbmNsYXNzIEhlYXJ0QmVhdCBleHRlbmRzIHR5cGVzXzEuSUhlYXJ0QmVhdCB7XG4gICAgY29uc3RydWN0b3Iob3B0cykge1xuICAgICAgICBzdXBlcihvcHRzKTtcbiAgICAgICAgdGhpcy5ldmVudHMgPSBuZXcgZXZlbnRzXzEuRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBjb25zdGFudHNfMS5IRUFSVEJFQVRfSU5URVJWQUw7XG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSAob3B0cyA9PT0gbnVsbCB8fCBvcHRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRzLmludGVydmFsKSB8fCBjb25zdGFudHNfMS5IRUFSVEJFQVRfSU5URVJWQUw7XG4gICAgfVxuICAgIHN0YXRpYyBpbml0KG9wdHMpIHtcbiAgICAgICAgcmV0dXJuIHRzbGliXzEuX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgaGVhcnRiZWF0ID0gbmV3IEhlYXJ0QmVhdChvcHRzKTtcbiAgICAgICAgICAgIHlpZWxkIGhlYXJ0YmVhdC5pbml0KCk7XG4gICAgICAgICAgICByZXR1cm4gaGVhcnRiZWF0O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaW5pdCgpIHtcbiAgICAgICAgcmV0dXJuIHRzbGliXzEuX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgeWllbGQgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdG9wKCkge1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxSZWYpO1xuICAgIH1cbiAgICBvbihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub24oZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgb25jZShldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub25jZShldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBvZmYoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9mZihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICByZW1vdmVMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRzbGliXzEuX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcnZhbFJlZiA9IHNldEludGVydmFsKCgpID0+IHRoaXMucHVsc2UoKSwgdGltZV8xLnRvTWlsaXNlY29uZHModGhpcy5pbnRlcnZhbCkpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHVsc2UoKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoY29uc3RhbnRzXzEuSEVBUlRCRUFUX0VWRU5UUy5wdWxzZSk7XG4gICAgfVxufVxuZXhwb3J0cy5IZWFydEJlYXQgPSBIZWFydEJlYXQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFydGJlYXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/dist/cjs/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/dist/cjs/index.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./heartbeat */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdCQUFnQixtQkFBTyxDQUFDLHNGQUFPO0FBQy9CLHFCQUFxQixtQkFBTyxDQUFDLGtGQUFhO0FBQzFDLHFCQUFxQixtQkFBTyxDQUFDLGdGQUFTO0FBQ3RDLHFCQUFxQixtQkFBTyxDQUFDLHdGQUFhO0FBQzFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9oZWFydGJlYXQvZGlzdC9janMvaW5kZXguanM/YzhhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IHRzbGliXzEgPSByZXF1aXJlKFwidHNsaWJcIik7XG50c2xpYl8xLl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9oZWFydGJlYXRcIiksIGV4cG9ydHMpO1xudHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vdHlwZXNcIiksIGV4cG9ydHMpO1xudHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vY29uc3RhbnRzXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IHeartBeat = void 0;\nconst events_1 = __webpack_require__(/*! @walletconnect/events */ \"./node_modules/@walletconnect/events/dist/esm/index.js\");\nclass IHeartBeat extends events_1.IEvents {\n constructor(opts) {\n super();\n }\n}\nexports.IHeartBeat = IHeartBeat;\n//# sourceMappingURL=heartbeat.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL3R5cGVzL2hlYXJ0YmVhdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0I7QUFDbEIsaUJBQWlCLG1CQUFPLENBQUMscUZBQXVCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2hlYXJ0YmVhdC9kaXN0L2Nqcy90eXBlcy9oZWFydGJlYXQuanM/YTFjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuSUhlYXJ0QmVhdCA9IHZvaWQgMDtcbmNvbnN0IGV2ZW50c18xID0gcmVxdWlyZShcIkB3YWxsZXRjb25uZWN0L2V2ZW50c1wiKTtcbmNsYXNzIElIZWFydEJlYXQgZXh0ZW5kcyBldmVudHNfMS5JRXZlbnRzIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuZXhwb3J0cy5JSGVhcnRCZWF0ID0gSUhlYXJ0QmVhdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYXJ0YmVhdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./heartbeat */ \"./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L2Rpc3QvY2pzL3R5cGVzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdCQUFnQixtQkFBTyxDQUFDLHNGQUFPO0FBQy9CLHFCQUFxQixtQkFBTyxDQUFDLHdGQUFhO0FBQzFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9oZWFydGJlYXQvZGlzdC9janMvdHlwZXMvaW5kZXguanM/YmE4MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IHRzbGliXzEgPSByZXF1aXJlKFwidHNsaWJcIik7XG50c2xpYl8xLl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9oZWFydGJlYXRcIiksIGV4cG9ydHMpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvaGVhcnRiZWF0L25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdCQUFnQixzQ0FBc0Msa0JBQWtCO0FBQ25GLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpREFBaUQsT0FBTztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxjQUFjO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDZDQUE2QyxRQUFRO0FBQ3JEO0FBQ0E7QUFDQTtBQUNPO0FBQ1Asb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNEJBQTRCLCtEQUErRCxpQkFBaUI7QUFDNUc7QUFDQSxvQ0FBb0MsTUFBTSwrQkFBK0IsWUFBWTtBQUNyRixtQ0FBbUMsTUFBTSxtQ0FBbUMsWUFBWTtBQUN4RixnQ0FBZ0M7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNPO0FBQ1AsY0FBYyw2QkFBNkIsMEJBQTBCLGNBQWMscUJBQXFCO0FBQ3hHLGlCQUFpQixvREFBb0QscUVBQXFFLGNBQWM7QUFDeEosdUJBQXVCLHNCQUFzQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEMsbUNBQW1DLFNBQVM7QUFDNUMsbUNBQW1DLFdBQVcsVUFBVTtBQUN4RCwwQ0FBMEMsY0FBYztBQUN4RDtBQUNBLDhHQUE4RyxPQUFPO0FBQ3JILGlGQUFpRixpQkFBaUI7QUFDbEcseURBQXlELGdCQUFnQixRQUFRO0FBQ2pGLCtDQUErQyxnQkFBZ0IsZ0JBQWdCO0FBQy9FO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQSxVQUFVLFlBQVksYUFBYSxTQUFTLFVBQVU7QUFDdEQsb0NBQW9DLFNBQVM7QUFDN0M7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixNQUFNO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCw2QkFBNkIsc0JBQXNCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxrREFBa0QsUUFBUTtBQUMxRCx5Q0FBeUMsUUFBUTtBQUNqRCx5REFBeUQsUUFBUTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsaUJBQWlCLHVGQUF1RixjQUFjO0FBQ3RILHVCQUF1QixnQ0FBZ0MscUNBQXFDLDJDQUEyQztBQUN2SSw0QkFBNEIsTUFBTSxpQkFBaUIsWUFBWTtBQUMvRCx1QkFBdUI7QUFDdkIsOEJBQThCO0FBQzlCLDZCQUE2QjtBQUM3Qiw0QkFBNEI7QUFDNUI7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpQkFBaUIsNkNBQTZDLFVBQVUsc0RBQXNELGNBQWM7QUFDNUksMEJBQTBCLDZCQUE2QixvQkFBb0IsZ0RBQWdELGtCQUFrQjtBQUM3STtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsMkdBQTJHLHVGQUF1RixjQUFjO0FBQ2hOLHVCQUF1Qiw4QkFBOEIsZ0RBQWdELHdEQUF3RDtBQUM3Siw2Q0FBNkMsc0NBQXNDLFVBQVUsbUJBQW1CLElBQUk7QUFDcEg7QUFDQTtBQUNPO0FBQ1AsaUNBQWlDLHVDQUF1QyxZQUFZLEtBQUssT0FBTztBQUNoRztBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2hlYXJ0YmVhdC9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzP2IwZDgiXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY3JlYXRlQmluZGluZyhvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HttpConnection: function() { return /* binding */ HttpConnection; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var cross_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cross-fetch */ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\");\n/* harmony import */ var cross_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cross_fetch__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/safe-json */ \"./node_modules/@walletconnect/safe-json/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n\n\n\n\nconst DEFAULT_HTTP_HEADERS = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n};\nconst DEFAULT_HTTP_METHOD = \"POST\";\nconst DEFAULT_FETCH_OPTS = {\n headers: DEFAULT_HTTP_HEADERS,\n method: DEFAULT_HTTP_METHOD,\n};\nconst EVENT_EMITTER_MAX_LISTENERS_DEFAULT = 10;\nclass HttpConnection {\n constructor(url, disableProviderPing = false) {\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.isAvailable = false;\n this.registering = false;\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isHttpUrl)(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n }\n get connected() {\n return this.isAvailable;\n }\n get connecting() {\n return this.registering;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(url = this.url) {\n await this.register(url);\n }\n async close() {\n if (!this.isAvailable) {\n throw new Error(\"Connection already closed\");\n }\n this.onClose();\n }\n async send(payload, context) {\n if (!this.isAvailable) {\n await this.register();\n }\n try {\n const body = (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__.safeJsonStringify)(payload);\n const res = await cross_fetch__WEBPACK_IMPORTED_MODULE_1___default()(this.url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n const data = await res.json();\n this.onPayload({ data });\n }\n catch (e) {\n this.onError(payload.id, e);\n }\n }\n async register(url = this.url) {\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isHttpUrl)(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n if (this.registering) {\n const currentMaxListeners = this.events.getMaxListeners();\n if (this.events.listenerCount(\"register_error\") >= currentMaxListeners ||\n this.events.listenerCount(\"open\") >= currentMaxListeners) {\n this.events.setMaxListeners(currentMaxListeners + 1);\n }\n return new Promise((resolve, reject) => {\n this.events.once(\"register_error\", error => {\n this.resetMaxListeners();\n reject(error);\n });\n this.events.once(\"open\", () => {\n this.resetMaxListeners();\n if (typeof this.isAvailable === \"undefined\") {\n return reject(new Error(\"HTTP connection is missing or invalid\"));\n }\n resolve();\n });\n });\n }\n this.url = url;\n this.registering = true;\n try {\n if (!this.disableProviderPing) {\n const body = (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__.safeJsonStringify)({ id: 1, jsonrpc: \"2.0\", method: \"test\", params: [] });\n await cross_fetch__WEBPACK_IMPORTED_MODULE_1___default()(url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n }\n this.onOpen();\n }\n catch (e) {\n const error = this.parseError(e);\n this.events.emit(\"register_error\", error);\n this.onClose();\n throw error;\n }\n }\n onOpen() {\n this.isAvailable = true;\n this.registering = false;\n this.events.emit(\"open\");\n }\n onClose() {\n this.isAvailable = false;\n this.registering = false;\n this.events.emit(\"close\");\n }\n onPayload(e) {\n if (typeof e.data === \"undefined\")\n return;\n const payload = typeof e.data === \"string\" ? (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__.safeJsonParse)(e.data) : e.data;\n this.events.emit(\"payload\", payload);\n }\n onError(id, e) {\n const error = this.parseError(e);\n const message = error.message || error.toString();\n const payload = (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcError)(id, message);\n this.events.emit(\"payload\", payload);\n }\n parseError(e, url = this.url) {\n return (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.parseConnectionError)(e, url, \"HTTP\");\n }\n resetMaxListeners() {\n if (this.events.getMaxListeners() > EVENT_EMITTER_MAX_LISTENERS_DEFAULT) {\n this.events.setMaxListeners(EVENT_EMITTER_MAX_LISTENERS_DEFAULT);\n }\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (HttpConnection);\n//# sourceMappingURL=http.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1odHRwLWNvbm5lY3Rpb24vZGlzdC9lc20vaHR0cC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXNDO0FBQ047QUFDNEM7QUFDd0I7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixnREFBWTtBQUN0QztBQUNBO0FBQ0EsYUFBYSx1RUFBUztBQUN0QixvRkFBb0YsSUFBSTtBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsMkVBQWlCO0FBQzFDLDhCQUE4QixrREFBSyx5Q0FBeUMseUJBQXlCLE1BQU07QUFDM0c7QUFDQSw2QkFBNkIsTUFBTTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHVFQUFTO0FBQ3RCLG9GQUFvRixJQUFJO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLDJFQUFpQixHQUFHLG1EQUFtRDtBQUNwRyxzQkFBc0Isa0RBQUssb0NBQW9DLHlCQUF5QixNQUFNO0FBQzlGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsdUVBQWE7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnRkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsZUFBZSxrRkFBb0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxjQUFjLEVBQUM7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtaHR0cC1jb25uZWN0aW9uL2Rpc3QvZXNtL2h0dHAuanM/NWQ5ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQgZmV0Y2ggZnJvbSBcImNyb3NzLWZldGNoXCI7XG5pbXBvcnQgeyBzYWZlSnNvblBhcnNlLCBzYWZlSnNvblN0cmluZ2lmeSB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9zYWZlLWpzb25cIjtcbmltcG9ydCB7IGZvcm1hdEpzb25ScGNFcnJvciwgaXNIdHRwVXJsLCBwYXJzZUNvbm5lY3Rpb25FcnJvciwgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlsc1wiO1xuY29uc3QgREVGQVVMVF9IVFRQX0hFQURFUlMgPSB7XG4gICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbn07XG5jb25zdCBERUZBVUxUX0hUVFBfTUVUSE9EID0gXCJQT1NUXCI7XG5jb25zdCBERUZBVUxUX0ZFVENIX09QVFMgPSB7XG4gICAgaGVhZGVyczogREVGQVVMVF9IVFRQX0hFQURFUlMsXG4gICAgbWV0aG9kOiBERUZBVUxUX0hUVFBfTUVUSE9ELFxufTtcbmNvbnN0IEVWRU5UX0VNSVRURVJfTUFYX0xJU1RFTkVSU19ERUZBVUxUID0gMTA7XG5leHBvcnQgY2xhc3MgSHR0cENvbm5lY3Rpb24ge1xuICAgIGNvbnN0cnVjdG9yKHVybCwgZGlzYWJsZVByb3ZpZGVyUGluZyA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLmRpc2FibGVQcm92aWRlclBpbmcgPSBkaXNhYmxlUHJvdmlkZXJQaW5nO1xuICAgICAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5pc0F2YWlsYWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyaW5nID0gZmFsc2U7XG4gICAgICAgIGlmICghaXNIdHRwVXJsKHVybCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggSFRUUCBjb25uZWN0aW9uOiAke3VybH1gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgICAgdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nID0gZGlzYWJsZVByb3ZpZGVyUGluZztcbiAgICB9XG4gICAgZ2V0IGNvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBdmFpbGFibGU7XG4gICAgfVxuICAgIGdldCBjb25uZWN0aW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RlcmluZztcbiAgICB9XG4gICAgb24oZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9uY2UoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uY2UoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgb2ZmKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vZmYoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgcmVtb3ZlTGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIGFzeW5jIG9wZW4odXJsID0gdGhpcy51cmwpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWdpc3Rlcih1cmwpO1xuICAgIH1cbiAgICBhc3luYyBjbG9zZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb25uZWN0aW9uIGFscmVhZHkgY2xvc2VkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgICBhc3luYyBzZW5kKHBheWxvYWQsIGNvbnRleHQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBzYWZlSnNvblN0cmluZ2lmeShwYXlsb2FkKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHRoaXMudXJsLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfRkVUQ0hfT1BUUyksIHsgYm9keSB9KSk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICAgICAgICAgIHRoaXMub25QYXlsb2FkKHsgZGF0YSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKHBheWxvYWQuaWQsIGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHJlZ2lzdGVyKHVybCA9IHRoaXMudXJsKSB7XG4gICAgICAgIGlmICghaXNIdHRwVXJsKHVybCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggSFRUUCBjb25uZWN0aW9uOiAke3VybH1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZWdpc3RlcmluZykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1heExpc3RlbmVycyA9IHRoaXMuZXZlbnRzLmdldE1heExpc3RlbmVycygpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQoXCJyZWdpc3Rlcl9lcnJvclwiKSA+PSBjdXJyZW50TWF4TGlzdGVuZXJzIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudHMubGlzdGVuZXJDb3VudChcIm9wZW5cIikgPj0gY3VycmVudE1heExpc3RlbmVycykge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzLnNldE1heExpc3RlbmVycyhjdXJyZW50TWF4TGlzdGVuZXJzICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzLm9uY2UoXCJyZWdpc3Rlcl9lcnJvclwiLCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50cy5vbmNlKFwib3BlblwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzQXZhaWxhYmxlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIkhUVFAgY29ubmVjdGlvbiBpcyBtaXNzaW5nIG9yIGludmFsaWRcIikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyaW5nID0gdHJ1ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IHNhZmVKc29uU3RyaW5naWZ5KHsgaWQ6IDEsIGpzb25ycGM6IFwiMi4wXCIsIG1ldGhvZDogXCJ0ZXN0XCIsIHBhcmFtczogW10gfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgZmV0Y2godXJsLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfRkVUQ0hfT1BUUyksIHsgYm9keSB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uT3BlbigpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJyZWdpc3Rlcl9lcnJvclwiLCBlcnJvcik7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uT3BlbigpIHtcbiAgICAgICAgdGhpcy5pc0F2YWlsYWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9wZW5cIik7XG4gICAgfVxuICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMuaXNBdmFpbGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiY2xvc2VcIik7XG4gICAgfVxuICAgIG9uUGF5bG9hZChlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZS5kYXRhID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gdHlwZW9mIGUuZGF0YSA9PT0gXCJzdHJpbmdcIiA/IHNhZmVKc29uUGFyc2UoZS5kYXRhKSA6IGUuZGF0YTtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcInBheWxvYWRcIiwgcGF5bG9hZCk7XG4gICAgfVxuICAgIG9uRXJyb3IoaWQsIGUpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IGVycm9yLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBmb3JtYXRKc29uUnBjRXJyb3IoaWQsIG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwicGF5bG9hZFwiLCBwYXlsb2FkKTtcbiAgICB9XG4gICAgcGFyc2VFcnJvcihlLCB1cmwgPSB0aGlzLnVybCkge1xuICAgICAgICByZXR1cm4gcGFyc2VDb25uZWN0aW9uRXJyb3IoZSwgdXJsLCBcIkhUVFBcIik7XG4gICAgfVxuICAgIHJlc2V0TWF4TGlzdGVuZXJzKCkge1xuICAgICAgICBpZiAodGhpcy5ldmVudHMuZ2V0TWF4TGlzdGVuZXJzKCkgPiBFVkVOVF9FTUlUVEVSX01BWF9MSVNURU5FUlNfREVGQVVMVCkge1xuICAgICAgICAgICAgdGhpcy5ldmVudHMuc2V0TWF4TGlzdGVuZXJzKEVWRU5UX0VNSVRURVJfTUFYX0xJU1RFTkVSU19ERUZBVUxUKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEh0dHBDb25uZWN0aW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHR0cC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http */ \"./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _http__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _http__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_http__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1odHRwLWNvbm5lY3Rpb24vZGlzdC9lc20vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFDYjtBQUN2QiwrREFBZSw2Q0FBYyxFQUFDO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLWh0dHAtY29ubmVjdGlvbi9kaXN0L2VzbS9pbmRleC5qcz80ZGEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBIdHRwQ29ubmVjdGlvbiBmcm9tIFwiLi9odHRwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9odHRwXCI7XG5leHBvcnQgZGVmYXVsdCBIdHRwQ29ubmVjdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./provider */ \"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _provider__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _provider__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_provider__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1wcm92aWRlci9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrQztBQUNQO0FBQzNCLCtEQUFlLGlEQUFRLEVBQUM7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtcHJvdmlkZXIvZGlzdC9lc20vaW5kZXguanM/OGFjNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvdmlkZXIgZnJvbSBcIi4vcHJvdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyXCI7XG5leHBvcnQgZGVmYXVsdCBQcm92aWRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ JsonRpcProvider: function() { return /* binding */ JsonRpcProvider; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n\n\nclass JsonRpcProvider extends _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.IJsonRpcProvider {\n constructor(connection) {\n super(connection);\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.hasRegisteredEventListeners = false;\n this.connection = this.setConnection(connection);\n if (this.connection.connected) {\n this.registerEventListeners();\n }\n }\n async connect(connection = this.connection) {\n await this.open(connection);\n }\n async disconnect() {\n await this.close();\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async request(request, context) {\n return this.requestStrict((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.formatJsonRpcRequest)(request.method, request.params || [], request.id || (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.getBigIntRpcId)().toString()), context);\n }\n async requestStrict(request, context) {\n return new Promise(async (resolve, reject) => {\n if (!this.connection.connected) {\n try {\n await this.open();\n }\n catch (e) {\n reject(e);\n }\n }\n this.events.on(`${request.id}`, response => {\n if ((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcError)(response)) {\n reject(response.error);\n }\n else {\n resolve(response.result);\n }\n });\n try {\n await this.connection.send(request, context);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n setConnection(connection = this.connection) {\n return connection;\n }\n onPayload(payload) {\n this.events.emit(\"payload\", payload);\n if ((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponse)(payload)) {\n this.events.emit(`${payload.id}`, payload);\n }\n else {\n this.events.emit(\"message\", {\n type: payload.method,\n data: payload.params,\n });\n }\n }\n onClose(event) {\n if (event && event.code === 3000) {\n this.events.emit(\"error\", new Error(`WebSocket connection closed abnormally with code: ${event.code} ${event.reason ? `(${event.reason})` : \"\"}`));\n }\n this.events.emit(\"disconnect\");\n }\n async open(connection = this.connection) {\n if (this.connection === connection && this.connection.connected)\n return;\n if (this.connection.connected)\n this.close();\n if (typeof connection === \"string\") {\n await this.connection.open(connection);\n connection = this.connection;\n }\n this.connection = this.setConnection(connection);\n await this.connection.open();\n this.registerEventListeners();\n this.events.emit(\"connect\");\n }\n async close() {\n await this.connection.close();\n }\n registerEventListeners() {\n if (this.hasRegisteredEventListeners)\n return;\n this.connection.on(\"payload\", (payload) => this.onPayload(payload));\n this.connection.on(\"close\", (event) => this.onClose(event));\n this.connection.on(\"error\", (error) => this.events.emit(\"error\", error));\n this.connection.on(\"register_error\", (error) => this.onClose());\n this.hasRegisteredEventListeners = true;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (JsonRpcProvider);\n//# sourceMappingURL=provider.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1wcm92aWRlci9kaXN0L2VzbS9wcm92aWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXNDO0FBQ29HO0FBQ25JLDhCQUE4QiwwRUFBZ0I7QUFDckQ7QUFDQTtBQUNBLDBCQUEwQixnREFBWTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxrRkFBb0IscURBQXFELDRFQUFjO0FBQ3pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsV0FBVztBQUN6QyxvQkFBb0IsNEVBQWM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSwrRUFBaUI7QUFDN0IsZ0NBQWdDLFdBQVc7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFHQUFxRyxZQUFZLEVBQUUsbUJBQW1CLGFBQWEsUUFBUTtBQUMzSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxlQUFlLEVBQUM7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtcHJvdmlkZXIvZGlzdC9lc20vcHJvdmlkZXIuanM/Zjg1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQgeyBJSnNvblJwY1Byb3ZpZGVyLCBpc0pzb25ScGNSZXNwb25zZSwgZm9ybWF0SnNvblJwY1JlcXVlc3QsIGlzSnNvblJwY0Vycm9yLCBnZXRCaWdJbnRScGNJZCwgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlsc1wiO1xuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlciBleHRlbmRzIElKc29uUnBjUHJvdmlkZXIge1xuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgc3VwZXIoY29ubmVjdGlvbik7XG4gICAgICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgICAgICB0aGlzLmhhc1JlZ2lzdGVyZWRFdmVudExpc3RlbmVycyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSB0aGlzLnNldENvbm5lY3Rpb24oY29ubmVjdGlvbik7XG4gICAgICAgIGlmICh0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBjb25uZWN0KGNvbm5lY3Rpb24gPSB0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vcGVuKGNvbm5lY3Rpb24pO1xuICAgIH1cbiAgICBhc3luYyBkaXNjb25uZWN0KCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIG9uKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vbihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBvbmNlKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vbmNlKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9mZihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub2ZmKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIHJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBhc3luYyByZXF1ZXN0KHJlcXVlc3QsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdFN0cmljdChmb3JtYXRKc29uUnBjUmVxdWVzdChyZXF1ZXN0Lm1ldGhvZCwgcmVxdWVzdC5wYXJhbXMgfHwgW10sIHJlcXVlc3QuaWQgfHwgZ2V0QmlnSW50UnBjSWQoKS50b1N0cmluZygpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIGFzeW5jIHJlcXVlc3RTdHJpY3QocmVxdWVzdCwgY29udGV4dCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV2ZW50cy5vbihgJHtyZXF1ZXN0LmlkfWAsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNKc29uUnBjRXJyb3IocmVzcG9uc2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5zZW5kKHJlcXVlc3QsIGNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzZXRDb25uZWN0aW9uKGNvbm5lY3Rpb24gPSB0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb247XG4gICAgfVxuICAgIG9uUGF5bG9hZChwYXlsb2FkKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJwYXlsb2FkXCIsIHBheWxvYWQpO1xuICAgICAgICBpZiAoaXNKc29uUnBjUmVzcG9uc2UocGF5bG9hZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoYCR7cGF5bG9hZC5pZH1gLCBwYXlsb2FkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJtZXNzYWdlXCIsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBwYXlsb2FkLm1ldGhvZCxcbiAgICAgICAgICAgICAgICBkYXRhOiBwYXlsb2FkLnBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uQ2xvc2UoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LmNvZGUgPT09IDMwMDApIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJlcnJvclwiLCBuZXcgRXJyb3IoYFdlYlNvY2tldCBjb25uZWN0aW9uIGNsb3NlZCBhYm5vcm1hbGx5IHdpdGggY29kZTogJHtldmVudC5jb2RlfSAke2V2ZW50LnJlYXNvbiA/IGAoJHtldmVudC5yZWFzb259KWAgOiBcIlwifWApKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiZGlzY29ubmVjdFwiKTtcbiAgICB9XG4gICAgYXN5bmMgb3Blbihjb25uZWN0aW9uID0gdGhpcy5jb25uZWN0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbm5lY3Rpb24gPT09IGNvbm5lY3Rpb24gJiYgdGhpcy5jb25uZWN0aW9uLmNvbm5lY3RlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvbi5jb25uZWN0ZWQpXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgY29ubmVjdGlvbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLm9wZW4oY29ubmVjdGlvbik7XG4gICAgICAgICAgICBjb25uZWN0aW9uID0gdGhpcy5jb25uZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IHRoaXMuc2V0Q29ubmVjdGlvbihjb25uZWN0aW9uKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLm9wZW4oKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJjb25uZWN0XCIpO1xuICAgIH1cbiAgICBhc3luYyBjbG9zZSgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfVxuICAgIHJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1JlZ2lzdGVyZWRFdmVudExpc3RlbmVycylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLm9uKFwicGF5bG9hZFwiLCAocGF5bG9hZCkgPT4gdGhpcy5vblBheWxvYWQocGF5bG9hZCkpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJjbG9zZVwiLCAoZXZlbnQpID0+IHRoaXMub25DbG9zZShldmVudCkpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJlcnJvclwiLCAoZXJyb3IpID0+IHRoaXMuZXZlbnRzLmVtaXQoXCJlcnJvclwiLCBlcnJvcikpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJyZWdpc3Rlcl9lcnJvclwiLCAoZXJyb3IpID0+IHRoaXMub25DbG9zZSgpKTtcbiAgICAgICAgdGhpcy5oYXNSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcnMgPSB0cnVlO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEpzb25ScGNQcm92aWRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByb3ZpZGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonrpc */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _jsonrpc__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _jsonrpc__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _misc__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _misc__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./provider */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _provider__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _provider__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validator */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validator__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validator__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUNIO0FBQ0k7QUFDQztBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9pbmRleC5qcz8wYThmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2pzb25ycGNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n\n//# sourceMappingURL=jsonrpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9qc29ucnBjLmpzIiwibWFwcGluZ3MiOiI7QUFBVTtBQUNWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXR5cGVzL2Rpc3QvZXNtL2pzb25ycGMuanM/NjU1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1qc29ucnBjLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: function() { return /* binding */ IEvents; }\n/* harmony export */ });\nclass IEvents {\n}\n//# sourceMappingURL=misc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9taXNjLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtdHlwZXMvZGlzdC9lc20vbWlzYy5qcz81ZjE3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJRXZlbnRzIHtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pc2MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IBaseJsonRpcProvider: function() { return /* binding */ IBaseJsonRpcProvider; },\n/* harmony export */ IJsonRpcConnection: function() { return /* binding */ IJsonRpcConnection; },\n/* harmony export */ IJsonRpcProvider: function() { return /* binding */ IJsonRpcProvider; }\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js\");\n\nclass IJsonRpcConnection extends _misc__WEBPACK_IMPORTED_MODULE_0__.IEvents {\n constructor(opts) {\n super();\n }\n}\nclass IBaseJsonRpcProvider extends _misc__WEBPACK_IMPORTED_MODULE_0__.IEvents {\n constructor() {\n super();\n }\n}\nclass IJsonRpcProvider extends IBaseJsonRpcProvider {\n constructor(connection) {\n super();\n }\n}\n//# sourceMappingURL=provider.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9wcm92aWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWlDO0FBQzFCLGlDQUFpQywwQ0FBTztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNPLG1DQUFtQywwQ0FBTztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9wcm92aWRlci5qcz81N2FkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudHMgfSBmcm9tIFwiLi9taXNjXCI7XG5leHBvcnQgY2xhc3MgSUpzb25ScGNDb25uZWN0aW9uIGV4dGVuZHMgSUV2ZW50cyB7XG4gICAgY29uc3RydWN0b3Iob3B0cykge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJQmFzZUpzb25ScGNQcm92aWRlciBleHRlbmRzIElFdmVudHMge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJSnNvblJwY1Byb3ZpZGVyIGV4dGVuZHMgSUJhc2VKc29uUnBjUHJvdmlkZXIge1xuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm92aWRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n\n//# sourceMappingURL=validator.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS92YWxpZGF0b3IuanMiLCJtYXBwaW5ncyI6IjtBQUFVO0FBQ1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtdHlwZXMvZGlzdC9lc20vdmFsaWRhdG9yLmpzP2E2ZmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmFsaWRhdG9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_ERROR: function() { return /* binding */ DEFAULT_ERROR; },\n/* harmony export */ INTERNAL_ERROR: function() { return /* binding */ INTERNAL_ERROR; },\n/* harmony export */ INVALID_PARAMS: function() { return /* binding */ INVALID_PARAMS; },\n/* harmony export */ INVALID_REQUEST: function() { return /* binding */ INVALID_REQUEST; },\n/* harmony export */ METHOD_NOT_FOUND: function() { return /* binding */ METHOD_NOT_FOUND; },\n/* harmony export */ PARSE_ERROR: function() { return /* binding */ PARSE_ERROR; },\n/* harmony export */ RESERVED_ERROR_CODES: function() { return /* binding */ RESERVED_ERROR_CODES; },\n/* harmony export */ SERVER_ERROR: function() { return /* binding */ SERVER_ERROR; },\n/* harmony export */ SERVER_ERROR_CODE_RANGE: function() { return /* binding */ SERVER_ERROR_CODE_RANGE; },\n/* harmony export */ STANDARD_ERROR_MAP: function() { return /* binding */ STANDARD_ERROR_MAP; }\n/* harmony export */ });\nconst PARSE_ERROR = \"PARSE_ERROR\";\nconst INVALID_REQUEST = \"INVALID_REQUEST\";\nconst METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nconst INVALID_PARAMS = \"INVALID_PARAMS\";\nconst INTERNAL_ERROR = \"INTERNAL_ERROR\";\nconst SERVER_ERROR = \"SERVER_ERROR\";\nconst RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nconst SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nconst STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nconst DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFPO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNQLHFCQUFxQixzQ0FBc0M7QUFDM0QseUJBQXlCLDBDQUEwQztBQUNuRSwwQkFBMEIsMkNBQTJDO0FBQ3JFLHdCQUF3Qix5Q0FBeUM7QUFDakUsd0JBQXdCLHlDQUF5QztBQUNqRSxzQkFBc0IsdUNBQXVDO0FBQzdEO0FBQ087QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9jb25zdGFudHMuanM/OWMwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUEFSU0VfRVJST1IgPSBcIlBBUlNFX0VSUk9SXCI7XG5leHBvcnQgY29uc3QgSU5WQUxJRF9SRVFVRVNUID0gXCJJTlZBTElEX1JFUVVFU1RcIjtcbmV4cG9ydCBjb25zdCBNRVRIT0RfTk9UX0ZPVU5EID0gXCJNRVRIT0RfTk9UX0ZPVU5EXCI7XG5leHBvcnQgY29uc3QgSU5WQUxJRF9QQVJBTVMgPSBcIklOVkFMSURfUEFSQU1TXCI7XG5leHBvcnQgY29uc3QgSU5URVJOQUxfRVJST1IgPSBcIklOVEVSTkFMX0VSUk9SXCI7XG5leHBvcnQgY29uc3QgU0VSVkVSX0VSUk9SID0gXCJTRVJWRVJfRVJST1JcIjtcbmV4cG9ydCBjb25zdCBSRVNFUlZFRF9FUlJPUl9DT0RFUyA9IFstMzI3MDAsIC0zMjYwMCwgLTMyNjAxLCAtMzI2MDIsIC0zMjYwM107XG5leHBvcnQgY29uc3QgU0VSVkVSX0VSUk9SX0NPREVfUkFOR0UgPSBbLTMyMDAwLCAtMzIwOTldO1xuZXhwb3J0IGNvbnN0IFNUQU5EQVJEX0VSUk9SX01BUCA9IHtcbiAgICBbUEFSU0VfRVJST1JdOiB7IGNvZGU6IC0zMjcwMCwgbWVzc2FnZTogXCJQYXJzZSBlcnJvclwiIH0sXG4gICAgW0lOVkFMSURfUkVRVUVTVF06IHsgY29kZTogLTMyNjAwLCBtZXNzYWdlOiBcIkludmFsaWQgUmVxdWVzdFwiIH0sXG4gICAgW01FVEhPRF9OT1RfRk9VTkRdOiB7IGNvZGU6IC0zMjYwMSwgbWVzc2FnZTogXCJNZXRob2Qgbm90IGZvdW5kXCIgfSxcbiAgICBbSU5WQUxJRF9QQVJBTVNdOiB7IGNvZGU6IC0zMjYwMiwgbWVzc2FnZTogXCJJbnZhbGlkIHBhcmFtc1wiIH0sXG4gICAgW0lOVEVSTkFMX0VSUk9SXTogeyBjb2RlOiAtMzI2MDMsIG1lc3NhZ2U6IFwiSW50ZXJuYWwgZXJyb3JcIiB9LFxuICAgIFtTRVJWRVJfRVJST1JdOiB7IGNvZGU6IC0zMjAwMCwgbWVzc2FnZTogXCJTZXJ2ZXIgZXJyb3JcIiB9LFxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VSUk9SID0gU0VSVkVSX0VSUk9SO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isNodeJs: function() { return /* binding */ isNodeJs; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/environment */ \"./node_modules/@walletconnect/environment/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"isNodeJs\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\nconst isNodeJs = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.isNode;\n\n//# sourceMappingURL=env.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9lbnYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9EO0FBQzdDLGlCQUFpQiw4REFBTTtBQUNhO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL2Vudi5qcz82ODRkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTm9kZSB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9lbnZpcm9ubWVudFwiO1xuZXhwb3J0IGNvbnN0IGlzTm9kZUpzID0gaXNOb2RlO1xuZXhwb3J0ICogZnJvbSBcIkB3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50XCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getError: function() { return /* binding */ getError; },\n/* harmony export */ getErrorByCode: function() { return /* binding */ getErrorByCode; },\n/* harmony export */ isReservedErrorCode: function() { return /* binding */ isReservedErrorCode; },\n/* harmony export */ isServerErrorCode: function() { return /* binding */ isServerErrorCode; },\n/* harmony export */ isValidErrorCode: function() { return /* binding */ isValidErrorCode; },\n/* harmony export */ parseConnectionError: function() { return /* binding */ parseConnectionError; },\n/* harmony export */ validateJsonRpcError: function() { return /* binding */ validateJsonRpcError; }\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\");\n\nfunction isServerErrorCode(code) {\n return code <= _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE[0] && code >= _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE[1];\n}\nfunction isReservedErrorCode(code) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.RESERVED_ERROR_CODES.includes(code);\n}\nfunction isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nfunction getError(type) {\n if (!Object.keys(_constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP).includes(type)) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR];\n }\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[type];\n}\nfunction getErrorByCode(code) {\n const match = Object.values(_constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR];\n }\n return match;\n}\nfunction validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nfunction parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFnSDtBQUN6RztBQUNQLG1CQUFtQiwrREFBdUIsZUFBZSwrREFBdUI7QUFDaEY7QUFDTztBQUNQLFdBQVcsNERBQW9CO0FBQy9CO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxxQkFBcUIsMERBQWtCO0FBQ3ZDLGVBQWUsMERBQWtCLENBQUMscURBQWE7QUFDL0M7QUFDQSxXQUFXLDBEQUFrQjtBQUM3QjtBQUNPO0FBQ1AsZ0NBQWdDLDBEQUFrQjtBQUNsRDtBQUNBLGVBQWUsMERBQWtCLENBQUMscURBQWE7QUFDL0M7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELG9CQUFvQjtBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwREFBa0IsQ0FBQyxxREFBYTtBQUM5RDtBQUNBO0FBQ0E7QUFDQSxtRUFBbUUsb0JBQW9CO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNPO0FBQ1A7QUFDQSxtQ0FBbUMsTUFBTSxhQUFhLElBQUk7QUFDMUQ7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL2Vycm9yLmpzPzU5NTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VSVkVSX0VSUk9SX0NPREVfUkFOR0UsIFJFU0VSVkVEX0VSUk9SX0NPREVTLCBTVEFOREFSRF9FUlJPUl9NQVAsIERFRkFVTFRfRVJST1IsIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgZnVuY3Rpb24gaXNTZXJ2ZXJFcnJvckNvZGUoY29kZSkge1xuICAgIHJldHVybiBjb2RlIDw9IFNFUlZFUl9FUlJPUl9DT0RFX1JBTkdFWzBdICYmIGNvZGUgPj0gU0VSVkVSX0VSUk9SX0NPREVfUkFOR0VbMV07XG59XG5leHBvcnQgZnVuY3Rpb24gaXNSZXNlcnZlZEVycm9yQ29kZShjb2RlKSB7XG4gICAgcmV0dXJuIFJFU0VSVkVEX0VSUk9SX0NPREVTLmluY2x1ZGVzKGNvZGUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRFcnJvckNvZGUoY29kZSkge1xuICAgIHJldHVybiB0eXBlb2YgY29kZSA9PT0gXCJudW1iZXJcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvcih0eXBlKSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyhTVEFOREFSRF9FUlJPUl9NQVApLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgIHJldHVybiBTVEFOREFSRF9FUlJPUl9NQVBbREVGQVVMVF9FUlJPUl07XG4gICAgfVxuICAgIHJldHVybiBTVEFOREFSRF9FUlJPUl9NQVBbdHlwZV07XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JCeUNvZGUoY29kZSkge1xuICAgIGNvbnN0IG1hdGNoID0gT2JqZWN0LnZhbHVlcyhTVEFOREFSRF9FUlJPUl9NQVApLmZpbmQoZSA9PiBlLmNvZGUgPT09IGNvZGUpO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIFNUQU5EQVJEX0VSUk9SX01BUFtERUZBVUxUX0VSUk9SXTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdGNoO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSnNvblJwY0Vycm9yKHJlc3BvbnNlKSB7XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvci5jb2RlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiB7IHZhbGlkOiBmYWxzZSwgZXJyb3I6IFwiTWlzc2luZyBjb2RlIGZvciBKU09OLVJQQyBlcnJvclwiIH07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IubWVzc2FnZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4geyB2YWxpZDogZmFsc2UsIGVycm9yOiBcIk1pc3NpbmcgbWVzc2FnZSBmb3IgSlNPTi1SUEMgZXJyb3JcIiB9O1xuICAgIH1cbiAgICBpZiAoIWlzVmFsaWRFcnJvckNvZGUocmVzcG9uc2UuZXJyb3IuY29kZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgIGVycm9yOiBgSW52YWxpZCBlcnJvciBjb2RlIHR5cGUgZm9yIEpTT04tUlBDOiAke3Jlc3BvbnNlLmVycm9yLmNvZGV9YCxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzUmVzZXJ2ZWRFcnJvckNvZGUocmVzcG9uc2UuZXJyb3IuY29kZSkpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBnZXRFcnJvckJ5Q29kZShyZXNwb25zZS5lcnJvci5jb2RlKTtcbiAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UgIT09IFNUQU5EQVJEX0VSUk9SX01BUFtERUZBVUxUX0VSUk9SXS5tZXNzYWdlICYmXG4gICAgICAgICAgICByZXNwb25zZS5lcnJvci5tZXNzYWdlID09PSBlcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogYEludmFsaWQgZXJyb3IgY29kZSBtZXNzYWdlIGZvciBKU09OLVJQQzogJHtyZXNwb25zZS5lcnJvci5jb2RlfWAsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb25uZWN0aW9uRXJyb3IoZSwgdXJsLCB0eXBlKSB7XG4gICAgcmV0dXJuIGUubWVzc2FnZS5pbmNsdWRlcyhcImdldGFkZHJpbmZvIEVOT1RGT1VORFwiKSB8fCBlLm1lc3NhZ2UuaW5jbHVkZXMoXCJjb25uZWN0IEVDT05OUkVGVVNFRFwiKVxuICAgICAgICA/IG5ldyBFcnJvcihgVW5hdmFpbGFibGUgJHt0eXBlfSBSUEMgdXJsIGF0ICR7dXJsfWApXG4gICAgICAgIDogZTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatErrorMessage: function() { return /* binding */ formatErrorMessage; },\n/* harmony export */ formatJsonRpcError: function() { return /* binding */ formatJsonRpcError; },\n/* harmony export */ formatJsonRpcRequest: function() { return /* binding */ formatJsonRpcRequest; },\n/* harmony export */ formatJsonRpcResult: function() { return /* binding */ formatJsonRpcResult; },\n/* harmony export */ getBigIntRpcId: function() { return /* binding */ getBigIntRpcId; },\n/* harmony export */ payloadId: function() { return /* binding */ payloadId; }\n/* harmony export */ });\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\");\n\n\nfunction payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nfunction getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nfunction formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nfunction formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nfunction formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nfunction formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return (0,_error__WEBPACK_IMPORTED_MODULE_0__.getError)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, (0,_error__WEBPACK_IMPORTED_MODULE_0__.getError)(_constants__WEBPACK_IMPORTED_MODULE_1__.SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if ((0,_error__WEBPACK_IMPORTED_MODULE_0__.isReservedErrorCode)(error.code)) {\n error = (0,_error__WEBPACK_IMPORTED_MODULE_0__.getErrorByCode)(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9mb3JtYXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBd0U7QUFDYjtBQUNwRDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsZUFBZSxnREFBUSxDQUFDLHNEQUFjO0FBQ3RDO0FBQ0E7QUFDQSw4Q0FBOEMsRUFBRSxnREFBUSxDQUFDLG9EQUFZLE1BQU0sZ0JBQWdCO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwyREFBbUI7QUFDM0IsZ0JBQWdCLHNEQUFjO0FBQzlCO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL2Zvcm1hdC5qcz8yNTAwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEVycm9yLCBnZXRFcnJvckJ5Q29kZSwgaXNSZXNlcnZlZEVycm9yQ29kZSB9IGZyb20gXCIuL2Vycm9yXCI7XG5pbXBvcnQgeyBJTlRFUk5BTF9FUlJPUiwgU0VSVkVSX0VSUk9SIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGF5bG9hZElkKGVudHJvcHkgPSAzKSB7XG4gICAgY29uc3QgZGF0ZSA9IERhdGUubm93KCkgKiBNYXRoLnBvdygxMCwgZW50cm9weSk7XG4gICAgY29uc3QgZXh0cmEgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgZW50cm9weSkpO1xuICAgIHJldHVybiBkYXRlICsgZXh0cmE7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0QmlnSW50UnBjSWQoZW50cm9weSA9IDYpIHtcbiAgICByZXR1cm4gQmlnSW50KHBheWxvYWRJZChlbnRyb3B5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SnNvblJwY1JlcXVlc3QobWV0aG9kLCBwYXJhbXMsIGlkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGlkIHx8IHBheWxvYWRJZCgpLFxuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHBhcmFtcyxcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEpzb25ScGNSZXN1bHQoaWQsIHJlc3VsdCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkLFxuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICByZXN1bHQsXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRKc29uUnBjRXJyb3IoaWQsIGVycm9yLCBkYXRhKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQsXG4gICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgIGVycm9yOiBmb3JtYXRFcnJvck1lc3NhZ2UoZXJyb3IsIGRhdGEpLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RXJyb3JNZXNzYWdlKGVycm9yLCBkYXRhKSB7XG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gZ2V0RXJyb3IoSU5URVJOQUxfRVJST1IpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGVycm9yID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGVycm9yID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFcnJvcihTRVJWRVJfRVJST1IpKSwgeyBtZXNzYWdlOiBlcnJvciB9KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkYXRhICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIGVycm9yLmRhdGEgPSBkYXRhO1xuICAgIH1cbiAgICBpZiAoaXNSZXNlcnZlZEVycm9yQ29kZShlcnJvci5jb2RlKSkge1xuICAgICAgICBlcnJvciA9IGdldEVycm9yQnlDb2RlKGVycm9yLmNvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3I7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _constants__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _constants__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./error */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _error__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _error__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./env */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _env__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _env__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./format */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _format__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _format__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _routing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./routing */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _routing__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _routing__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_5__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _types__WEBPACK_IMPORTED_MODULE_5__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./url */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _url__WEBPACK_IMPORTED_MODULE_6__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _url__WEBPACK_IMPORTED_MODULE_6__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./validators */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validators__WEBPACK_IMPORTED_MODULE_7__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validators__WEBPACK_IMPORTED_MODULE_7__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNEI7QUFDSjtBQUNGO0FBQ0c7QUFDQztBQUNGO0FBQ0Y7QUFDTztBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9pbmRleC5qcz82ODBmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybWF0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0aW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isValidDefaultRoute: function() { return /* binding */ isValidDefaultRoute; },\n/* harmony export */ isValidLeadingWildcardRoute: function() { return /* binding */ isValidLeadingWildcardRoute; },\n/* harmony export */ isValidRoute: function() { return /* binding */ isValidRoute; },\n/* harmony export */ isValidTrailingWildcardRoute: function() { return /* binding */ isValidTrailingWildcardRoute; },\n/* harmony export */ isValidWildcardRoute: function() { return /* binding */ isValidWildcardRoute; }\n/* harmony export */ });\nfunction isValidRoute(route) {\n if (route.includes(\"*\")) {\n return isValidWildcardRoute(route);\n }\n if (/\\W/g.test(route)) {\n return false;\n }\n return true;\n}\nfunction isValidDefaultRoute(route) {\n return route === \"*\";\n}\nfunction isValidWildcardRoute(route) {\n if (isValidDefaultRoute(route)) {\n return true;\n }\n if (!route.includes(\"*\")) {\n return false;\n }\n if (route.split(\"*\").length !== 2) {\n return false;\n }\n if (route.split(\"*\").filter(x => x.trim() === \"\").length !== 1) {\n return false;\n }\n return true;\n}\nfunction isValidLeadingWildcardRoute(route) {\n return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split(\"*\")[0].trim();\n}\nfunction isValidTrailingWildcardRoute(route) {\n return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split(\"*\")[1].trim();\n}\n//# sourceMappingURL=routing.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9yb3V0aW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtdXRpbHMvZGlzdC9lc20vcm91dGluZy5qcz85NjBkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUm91dGUocm91dGUpIHtcbiAgICBpZiAocm91dGUuaW5jbHVkZXMoXCIqXCIpKSB7XG4gICAgICAgIHJldHVybiBpc1ZhbGlkV2lsZGNhcmRSb3V0ZShyb3V0ZSk7XG4gICAgfVxuICAgIGlmICgvXFxXL2cudGVzdChyb3V0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRGVmYXVsdFJvdXRlKHJvdXRlKSB7XG4gICAgcmV0dXJuIHJvdXRlID09PSBcIipcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkV2lsZGNhcmRSb3V0ZShyb3V0ZSkge1xuICAgIGlmIChpc1ZhbGlkRGVmYXVsdFJvdXRlKHJvdXRlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFyb3V0ZS5pbmNsdWRlcyhcIipcIikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAocm91dGUuc3BsaXQoXCIqXCIpLmxlbmd0aCAhPT0gMikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChyb3V0ZS5zcGxpdChcIipcIikuZmlsdGVyKHggPT4geC50cmltKCkgPT09IFwiXCIpLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRMZWFkaW5nV2lsZGNhcmRSb3V0ZShyb3V0ZSkge1xuICAgIHJldHVybiAhaXNWYWxpZERlZmF1bHRSb3V0ZShyb3V0ZSkgJiYgaXNWYWxpZFdpbGRjYXJkUm91dGUocm91dGUpICYmICFyb3V0ZS5zcGxpdChcIipcIilbMF0udHJpbSgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRUcmFpbGluZ1dpbGRjYXJkUm91dGUocm91dGUpIHtcbiAgICByZXR1cm4gIWlzVmFsaWREZWZhdWx0Um91dGUocm91dGUpICYmIGlzVmFsaWRXaWxkY2FyZFJvdXRlKHJvdXRlKSAmJiAhcm91dGUuc3BsaXQoXCIqXCIpWzFdLnRyaW0oKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRpbmcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/jsonrpc-types */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS90eXBlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2QztBQUM3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS90eXBlcy5qcz8yNjI0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLXR5cGVzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10eXBlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isHttpUrl: function() { return /* binding */ isHttpUrl; },\n/* harmony export */ isLocalhostUrl: function() { return /* binding */ isLocalhostUrl; },\n/* harmony export */ isWsUrl: function() { return /* binding */ isWsUrl; }\n/* harmony export */ });\nconst HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nfunction isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nfunction isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nfunction isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS91cmwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsMkNBQTJDLElBQUk7QUFDL0M7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS91cmwuanM/ODMyOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBIVFRQX1JFR0VYID0gXCJeaHR0cHM/OlwiO1xuY29uc3QgV1NfUkVHRVggPSBcIl53c3M/OlwiO1xuZnVuY3Rpb24gZ2V0VXJsUHJvdG9jb2wodXJsKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHVybC5tYXRjaChuZXcgUmVnRXhwKC9eXFx3KzovLCBcImdpXCIpKTtcbiAgICBpZiAoIW1hdGNoZXMgfHwgIW1hdGNoZXMubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG4gICAgcmV0dXJuIG1hdGNoZXNbMF07XG59XG5mdW5jdGlvbiBtYXRjaFJlZ2V4UHJvdG9jb2wodXJsLCByZWdleCkge1xuICAgIGNvbnN0IHByb3RvY29sID0gZ2V0VXJsUHJvdG9jb2wodXJsKTtcbiAgICBpZiAodHlwZW9mIHByb3RvY29sID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXgpLnRlc3QocHJvdG9jb2wpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSHR0cFVybCh1cmwpIHtcbiAgICByZXR1cm4gbWF0Y2hSZWdleFByb3RvY29sKHVybCwgSFRUUF9SRUdFWCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNXc1VybCh1cmwpIHtcbiAgICByZXR1cm4gbWF0Y2hSZWdleFByb3RvY29sKHVybCwgV1NfUkVHRVgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYWxob3N0VXJsKHVybCkge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKFwid3NzPzovL2xvY2FsaG9zdCg6ZHsyLDV9KT9cIikudGVzdCh1cmwpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isJsonRpcError: function() { return /* binding */ isJsonRpcError; },\n/* harmony export */ isJsonRpcPayload: function() { return /* binding */ isJsonRpcPayload; },\n/* harmony export */ isJsonRpcRequest: function() { return /* binding */ isJsonRpcRequest; },\n/* harmony export */ isJsonRpcResponse: function() { return /* binding */ isJsonRpcResponse; },\n/* harmony export */ isJsonRpcResult: function() { return /* binding */ isJsonRpcResult; },\n/* harmony export */ isJsonRpcValidationInvalid: function() { return /* binding */ isJsonRpcValidationInvalid; }\n/* harmony export */ });\nfunction isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nfunction isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nfunction isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nfunction isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nfunction isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nfunction isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS92YWxpZGF0b3JzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL3ZhbGlkYXRvcnMuanM/NDc0YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjUGF5bG9hZChwYXlsb2FkKSB7XG4gICAgcmV0dXJuICh0eXBlb2YgcGF5bG9hZCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcImlkXCIgaW4gcGF5bG9hZCAmJlxuICAgICAgICBcImpzb25ycGNcIiBpbiBwYXlsb2FkICYmXG4gICAgICAgIHBheWxvYWQuanNvbnJwYyA9PT0gXCIyLjBcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjUmVxdWVzdChwYXlsb2FkKSB7XG4gICAgcmV0dXJuIGlzSnNvblJwY1BheWxvYWQocGF5bG9hZCkgJiYgXCJtZXRob2RcIiBpbiBwYXlsb2FkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvblJwY1Jlc3BvbnNlKHBheWxvYWQpIHtcbiAgICByZXR1cm4gaXNKc29uUnBjUGF5bG9hZChwYXlsb2FkKSAmJiAoaXNKc29uUnBjUmVzdWx0KHBheWxvYWQpIHx8IGlzSnNvblJwY0Vycm9yKHBheWxvYWQpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25ScGNSZXN1bHQocGF5bG9hZCkge1xuICAgIHJldHVybiBcInJlc3VsdFwiIGluIHBheWxvYWQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjRXJyb3IocGF5bG9hZCkge1xuICAgIHJldHVybiBcImVycm9yXCIgaW4gcGF5bG9hZDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25ScGNWYWxpZGF0aW9uSW52YWxpZCh2YWxpZGF0aW9uKSB7XG4gICAgcmV0dXJuIFwiZXJyb3JcIiBpbiB2YWxpZGF0aW9uICYmIHZhbGlkYXRpb24udmFsaWQgPT09IGZhbHNlO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmFsaWRhdG9ycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ws__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ws */ \"./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ws__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _ws__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ws__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWdDO0FBQ1g7QUFDckIsK0RBQWUsMkNBQVksRUFBQztBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL2Rpc3QvZXNtL2luZGV4LmpzP2Q3MzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFdzQ29ubmVjdGlvbiBmcm9tIFwiLi93c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3NcIjtcbmV4cG9ydCBkZWZhdWx0IFdzQ29ubmVjdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hasBuiltInWebSocket: function() { return /* binding */ hasBuiltInWebSocket; },\n/* harmony export */ isBrowser: function() { return /* binding */ isBrowser; },\n/* harmony export */ resolveWebSocketImplementation: function() { return /* binding */ resolveWebSocketImplementation; },\n/* harmony export */ truncateQuery: function() { return /* binding */ truncateQuery; }\n/* harmony export */ });\nconst resolveWebSocketImplementation = () => {\n if (typeof WebSocket !== \"undefined\") {\n return WebSocket;\n }\n else if (typeof __webpack_require__.g !== \"undefined\" && typeof __webpack_require__.g.WebSocket !== \"undefined\") {\n return __webpack_require__.g.WebSocket;\n }\n else if (typeof window !== \"undefined\" && typeof window.WebSocket !== \"undefined\") {\n return window.WebSocket;\n }\n else if (typeof self !== \"undefined\" && typeof self.WebSocket !== \"undefined\") {\n return self.WebSocket;\n }\n return __webpack_require__(/*! ws */ \"./node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws/browser.js\");\n};\nconst hasBuiltInWebSocket = () => typeof WebSocket !== \"undefined\" ||\n (typeof __webpack_require__.g !== \"undefined\" && typeof __webpack_require__.g.WebSocket !== \"undefined\") ||\n (typeof window !== \"undefined\" && typeof window.WebSocket !== \"undefined\") ||\n (typeof self !== \"undefined\" && typeof self.WebSocket !== \"undefined\");\nconst isBrowser = () => typeof window !== \"undefined\";\nconst truncateQuery = (wssUrl) => wssUrl.split(\"?\")[0];\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL2Rpc3QvZXNtL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxQkFBTSwyQkFBMkIscUJBQU07QUFDM0QsZUFBZSxxQkFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsbUJBQU8sQ0FBQywwRkFBSTtBQUN2QjtBQUNPO0FBQ1AsWUFBWSxxQkFBTSwyQkFBMkIscUJBQU07QUFDbkQ7QUFDQTtBQUNPO0FBQ0E7QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL2Rpc3QvZXNtL3V0aWxzLmpzP2EzZjIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHJlc29sdmVXZWJTb2NrZXRJbXBsZW1lbnRhdGlvbiA9ICgpID0+IHtcbiAgICBpZiAodHlwZW9mIFdlYlNvY2tldCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gV2ViU29ja2V0O1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBnbG9iYWwuV2ViU29ja2V0ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiBnbG9iYWwuV2ViU29ja2V0O1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiB3aW5kb3cuV2ViU29ja2V0ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuV2ViU29ja2V0O1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygc2VsZi5XZWJTb2NrZXQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYuV2ViU29ja2V0O1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWlyZShcIndzXCIpO1xufTtcbmV4cG9ydCBjb25zdCBoYXNCdWlsdEluV2ViU29ja2V0ID0gKCkgPT4gdHlwZW9mIFdlYlNvY2tldCAhPT0gXCJ1bmRlZmluZWRcIiB8fFxuICAgICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBnbG9iYWwuV2ViU29ja2V0ICE9PSBcInVuZGVmaW5lZFwiKSB8fFxuICAgICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiB3aW5kb3cuV2ViU29ja2V0ICE9PSBcInVuZGVmaW5lZFwiKSB8fFxuICAgICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygc2VsZi5XZWJTb2NrZXQgIT09IFwidW5kZWZpbmVkXCIpO1xuZXhwb3J0IGNvbnN0IGlzQnJvd3NlciA9ICgpID0+IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCI7XG5leHBvcnQgY29uc3QgdHJ1bmNhdGVRdWVyeSA9ICh3c3NVcmwpID0+IHdzc1VybC5zcGxpdChcIj9cIilbMF07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WsConnection: function() { return /* binding */ WsConnection; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/safe-json */ \"./node_modules/@walletconnect/safe-json/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js\");\n\n\n\n\nconst EVENT_EMITTER_MAX_LISTENERS_DEFAULT = 10;\nconst WS = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.resolveWebSocketImplementation)();\nclass WsConnection {\n constructor(url) {\n this.url = url;\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.registering = false;\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isWsUrl)(url)) {\n throw new Error(`Provided URL is not compatible with WebSocket connection: ${url}`);\n }\n this.url = url;\n }\n get connected() {\n return typeof this.socket !== \"undefined\";\n }\n get connecting() {\n return this.registering;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(url = this.url) {\n await this.register(url);\n }\n async close() {\n return new Promise((resolve, reject) => {\n if (typeof this.socket === \"undefined\") {\n reject(new Error(\"Connection already closed\"));\n return;\n }\n this.socket.onclose = event => {\n this.onClose(event);\n resolve();\n };\n this.socket.close();\n });\n }\n async send(payload, context) {\n if (typeof this.socket === \"undefined\") {\n this.socket = await this.register();\n }\n try {\n this.socket.send((0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_1__.safeJsonStringify)(payload));\n }\n catch (e) {\n this.onError(payload.id, e);\n }\n }\n register(url = this.url) {\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isWsUrl)(url)) {\n throw new Error(`Provided URL is not compatible with WebSocket connection: ${url}`);\n }\n if (this.registering) {\n const currentMaxListeners = this.events.getMaxListeners();\n if (this.events.listenerCount(\"register_error\") >= currentMaxListeners ||\n this.events.listenerCount(\"open\") >= currentMaxListeners) {\n this.events.setMaxListeners(currentMaxListeners + 1);\n }\n return new Promise((resolve, reject) => {\n this.events.once(\"register_error\", error => {\n this.resetMaxListeners();\n reject(error);\n });\n this.events.once(\"open\", () => {\n this.resetMaxListeners();\n if (typeof this.socket === \"undefined\") {\n return reject(new Error(\"WebSocket connection is missing or invalid\"));\n }\n resolve(this.socket);\n });\n });\n }\n this.url = url;\n this.registering = true;\n return new Promise((resolve, reject) => {\n const opts = !(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isReactNative)() ? { rejectUnauthorized: !(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isLocalhostUrl)(url) } : undefined;\n const socket = new WS(url, [], opts);\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_3__.hasBuiltInWebSocket)()) {\n socket.onerror = (event) => {\n const errorEvent = event;\n reject(this.emitError(errorEvent.error));\n };\n }\n else {\n socket.on(\"error\", (errorEvent) => {\n reject(this.emitError(errorEvent));\n });\n }\n socket.onopen = () => {\n this.onOpen(socket);\n resolve(socket);\n };\n });\n }\n onOpen(socket) {\n socket.onmessage = (event) => this.onPayload(event);\n socket.onclose = event => this.onClose(event);\n this.socket = socket;\n this.registering = false;\n this.events.emit(\"open\");\n }\n onClose(event) {\n this.socket = undefined;\n this.registering = false;\n this.events.emit(\"close\", event);\n }\n onPayload(e) {\n if (typeof e.data === \"undefined\")\n return;\n const payload = typeof e.data === \"string\" ? (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_1__.safeJsonParse)(e.data) : e.data;\n this.events.emit(\"payload\", payload);\n }\n onError(id, e) {\n const error = this.parseError(e);\n const message = error.message || error.toString();\n const payload = (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.formatJsonRpcError)(id, message);\n this.events.emit(\"payload\", payload);\n }\n parseError(e, url = this.url) {\n return (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.parseConnectionError)(e, (0,_utils__WEBPACK_IMPORTED_MODULE_3__.truncateQuery)(url), \"WS\");\n }\n resetMaxListeners() {\n if (this.events.getMaxListeners() > EVENT_EMITTER_MAX_LISTENERS_DEFAULT) {\n this.events.setMaxListeners(EVENT_EMITTER_MAX_LISTENERS_DEFAULT);\n }\n }\n emitError(errorEvent) {\n const error = this.parseError(new Error((errorEvent === null || errorEvent === void 0 ? void 0 : errorEvent.message) || `WebSocket connection failed for host: ${(0,_utils__WEBPACK_IMPORTED_MODULE_3__.truncateQuery)(this.url)}`));\n this.events.emit(\"register_error\", error);\n return error;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (WsConnection);\n//# sourceMappingURL=ws.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL2Rpc3QvZXNtL3dzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFzQztBQUNzQztBQUNxRDtBQUNwQztBQUM3RjtBQUNBLFdBQVcsc0VBQThCO0FBQ2xDO0FBQ1A7QUFDQTtBQUNBLDBCQUEwQixnREFBWTtBQUN0QztBQUNBLGFBQWEscUVBQU87QUFDcEIseUZBQXlGLElBQUk7QUFDN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsMkVBQWlCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEscUVBQU87QUFDcEIseUZBQXlGLElBQUk7QUFDN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLDJFQUFhLE9BQU8scUJBQXFCLDRFQUFjLFFBQVE7QUFDekY7QUFDQSxnQkFBZ0IsMkRBQW1CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCx1RUFBYTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdGQUFrQjtBQUMxQztBQUNBO0FBQ0E7QUFDQSxlQUFlLGtGQUFvQixJQUFJLHFEQUFhO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUtBQXlLLHFEQUFhLFdBQVc7QUFDak07QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxZQUFZLEVBQUM7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtd3MtY29ubmVjdGlvbi9kaXN0L2VzbS93cy5qcz9kYzRmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJldmVudHNcIjtcbmltcG9ydCB7IHNhZmVKc29uUGFyc2UsIHNhZmVKc29uU3RyaW5naWZ5IH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L3NhZmUtanNvblwiO1xuaW1wb3J0IHsgZm9ybWF0SnNvblJwY0Vycm9yLCBpc1JlYWN0TmF0aXZlLCBpc1dzVXJsLCBpc0xvY2FsaG9zdFVybCwgcGFyc2VDb25uZWN0aW9uRXJyb3IsIH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L2pzb25ycGMtdXRpbHNcIjtcbmltcG9ydCB7IHRydW5jYXRlUXVlcnksIHJlc29sdmVXZWJTb2NrZXRJbXBsZW1lbnRhdGlvbiwgaGFzQnVpbHRJbldlYlNvY2tldCB9IGZyb20gXCIuL3V0aWxzXCI7XG5jb25zdCBFVkVOVF9FTUlUVEVSX01BWF9MSVNURU5FUlNfREVGQVVMVCA9IDEwO1xuY29uc3QgV1MgPSByZXNvbHZlV2ViU29ja2V0SW1wbGVtZW50YXRpb24oKTtcbmV4cG9ydCBjbGFzcyBXc0Nvbm5lY3Rpb24ge1xuICAgIGNvbnN0cnVjdG9yKHVybCkge1xuICAgICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKCFpc1dzVXJsKHVybCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggV2ViU29ja2V0IGNvbm5lY3Rpb246ICR7dXJsfWApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgIH1cbiAgICBnZXQgY29ubmVjdGVkKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuc29ja2V0ICE9PSBcInVuZGVmaW5lZFwiO1xuICAgIH1cbiAgICBnZXQgY29ubmVjdGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0ZXJpbmc7XG4gICAgfVxuICAgIG9uKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vbihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBvbmNlKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vbmNlKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9mZihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub2ZmKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIHJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBhc3luYyBvcGVuKHVybCA9IHRoaXMudXJsKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVnaXN0ZXIodXJsKTtcbiAgICB9XG4gICAgYXN5bmMgY2xvc2UoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29ja2V0ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkNvbm5lY3Rpb24gYWxyZWFkeSBjbG9zZWRcIikpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc29ja2V0Lm9uY2xvc2UgPSBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNsb3NlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5zb2NrZXQuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHNlbmQocGF5bG9hZCwgY29udGV4dCkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29ja2V0ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aGlzLnNvY2tldCA9IGF3YWl0IHRoaXMucmVnaXN0ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zb2NrZXQuc2VuZChzYWZlSnNvblN0cmluZ2lmeShwYXlsb2FkKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvcihwYXlsb2FkLmlkLCBlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWdpc3Rlcih1cmwgPSB0aGlzLnVybCkge1xuICAgICAgICBpZiAoIWlzV3NVcmwodXJsKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcm92aWRlZCBVUkwgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBXZWJTb2NrZXQgY29ubmVjdGlvbjogJHt1cmx9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVnaXN0ZXJpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNYXhMaXN0ZW5lcnMgPSB0aGlzLmV2ZW50cy5nZXRNYXhMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50cy5saXN0ZW5lckNvdW50KFwicmVnaXN0ZXJfZXJyb3JcIikgPj0gY3VycmVudE1heExpc3RlbmVycyB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQoXCJvcGVuXCIpID49IGN1cnJlbnRNYXhMaXN0ZW5lcnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMoY3VycmVudE1heExpc3RlbmVycyArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50cy5vbmNlKFwicmVnaXN0ZXJfZXJyb3JcIiwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0TWF4TGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudHMub25jZShcIm9wZW5cIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0TWF4TGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NrZXQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKFwiV2ViU29ja2V0IGNvbm5lY3Rpb24gaXMgbWlzc2luZyBvciBpbnZhbGlkXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuc29ja2V0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyaW5nID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdHMgPSAhaXNSZWFjdE5hdGl2ZSgpID8geyByZWplY3RVbmF1dGhvcml6ZWQ6ICFpc0xvY2FsaG9zdFVybCh1cmwpIH0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBzb2NrZXQgPSBuZXcgV1ModXJsLCBbXSwgb3B0cyk7XG4gICAgICAgICAgICBpZiAoaGFzQnVpbHRJbldlYlNvY2tldCgpKSB7XG4gICAgICAgICAgICAgICAgc29ja2V0Lm9uZXJyb3IgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JFdmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICByZWplY3QodGhpcy5lbWl0RXJyb3IoZXJyb3JFdmVudC5lcnJvcikpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBzb2NrZXQub24oXCJlcnJvclwiLCAoZXJyb3JFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QodGhpcy5lbWl0RXJyb3IoZXJyb3JFdmVudCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc29ja2V0Lm9ub3BlbiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uT3Blbihzb2NrZXQpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoc29ja2V0KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvbk9wZW4oc29ja2V0KSB7XG4gICAgICAgIHNvY2tldC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRoaXMub25QYXlsb2FkKGV2ZW50KTtcbiAgICAgICAgc29ja2V0Lm9uY2xvc2UgPSBldmVudCA9PiB0aGlzLm9uQ2xvc2UoZXZlbnQpO1xuICAgICAgICB0aGlzLnNvY2tldCA9IHNvY2tldDtcbiAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwib3BlblwiKTtcbiAgICB9XG4gICAgb25DbG9zZShldmVudCkge1xuICAgICAgICB0aGlzLnNvY2tldCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiY2xvc2VcIiwgZXZlbnQpO1xuICAgIH1cbiAgICBvblBheWxvYWQoZSkge1xuICAgICAgICBpZiAodHlwZW9mIGUuZGF0YSA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHR5cGVvZiBlLmRhdGEgPT09IFwic3RyaW5nXCIgPyBzYWZlSnNvblBhcnNlKGUuZGF0YSkgOiBlLmRhdGE7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJwYXlsb2FkXCIsIHBheWxvYWQpO1xuICAgIH1cbiAgICBvbkVycm9yKGlkLCBlKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IubWVzc2FnZSB8fCBlcnJvci50b1N0cmluZygpO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gZm9ybWF0SnNvblJwY0Vycm9yKGlkLCBtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcInBheWxvYWRcIiwgcGF5bG9hZCk7XG4gICAgfVxuICAgIHBhcnNlRXJyb3IoZSwgdXJsID0gdGhpcy51cmwpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlQ29ubmVjdGlvbkVycm9yKGUsIHRydW5jYXRlUXVlcnkodXJsKSwgXCJXU1wiKTtcbiAgICB9XG4gICAgcmVzZXRNYXhMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmV2ZW50cy5nZXRNYXhMaXN0ZW5lcnMoKSA+IEVWRU5UX0VNSVRURVJfTUFYX0xJU1RFTkVSU19ERUZBVUxUKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMoRVZFTlRfRU1JVFRFUl9NQVhfTElTVEVORVJTX0RFRkFVTFQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVtaXRFcnJvcihlcnJvckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5wYXJzZUVycm9yKG5ldyBFcnJvcigoZXJyb3JFdmVudCA9PT0gbnVsbCB8fCBlcnJvckV2ZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlcnJvckV2ZW50Lm1lc3NhZ2UpIHx8IGBXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQgZm9yIGhvc3Q6ICR7dHJ1bmNhdGVRdWVyeSh0aGlzLnVybCl9YCkpO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwicmVnaXN0ZXJfZXJyb3JcIiwgZXJyb3IpO1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgV3NDb25uZWN0aW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws/browser.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws/browser.js ***! - \**************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL25vZGVfbW9kdWxlcy93cy9icm93c2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy13cy1jb25uZWN0aW9uL25vZGVfbW9kdWxlcy93cy9icm93c2VyLmpzPzNhODkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgICd3cyBkb2VzIG5vdCB3b3JrIGluIHRoZSBicm93c2VyLiBCcm93c2VyIGNsaWVudHMgbXVzdCB1c2UgdGhlIG5hdGl2ZSAnICtcbiAgICAgICdXZWJTb2NrZXQgb2JqZWN0J1xuICApO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KeyValueStorage = void 0;\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/keyvaluestorage/node_modules/tslib/tslib.es6.js\");\nconst safe_json_utils_1 = __webpack_require__(/*! safe-json-utils */ \"./node_modules/safe-json-utils/dist/cjs/index.js\");\nconst localStorage_1 = tslib_1.__importDefault(__webpack_require__(/*! ./lib/localStorage */ \"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js\"));\nconst shared_1 = __webpack_require__(/*! ../shared */ \"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js\");\nclass KeyValueStorage {\n constructor() {\n this.localStorage = localStorage_1.default;\n }\n getKeys() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n return Object.keys(this.localStorage);\n });\n }\n getEntries() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n return Object.entries(this.localStorage).map(shared_1.parseEntry);\n });\n }\n getItem(key) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n const item = this.localStorage.getItem(key);\n if (item === null) {\n return undefined;\n }\n return safe_json_utils_1.safeJsonParse(item);\n });\n }\n setItem(key, value) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.localStorage.setItem(key, safe_json_utils_1.safeJsonStringify(value));\n });\n }\n removeItem(key) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.localStorage.removeItem(key);\n });\n }\n}\nexports.KeyValueStorage = KeyValueStorage;\nexports[\"default\"] = KeyValueStorage;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL2Jyb3dzZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsdUJBQXVCO0FBQ3ZCLGdCQUFnQixtQkFBTyxDQUFDLDRGQUFPO0FBQy9CLDBCQUEwQixtQkFBTyxDQUFDLHlFQUFpQjtBQUNuRCwrQ0FBK0MsbUJBQU8sQ0FBQyw4R0FBb0I7QUFDM0UsaUJBQWlCLG1CQUFPLENBQUMseUZBQVc7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2tleXZhbHVlc3RvcmFnZS9kaXN0L2Nqcy9icm93c2VyL2luZGV4LmpzPzY2MTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLktleVZhbHVlU3RvcmFnZSA9IHZvaWQgMDtcbmNvbnN0IHRzbGliXzEgPSByZXF1aXJlKFwidHNsaWJcIik7XG5jb25zdCBzYWZlX2pzb25fdXRpbHNfMSA9IHJlcXVpcmUoXCJzYWZlLWpzb24tdXRpbHNcIik7XG5jb25zdCBsb2NhbFN0b3JhZ2VfMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuL2xpYi9sb2NhbFN0b3JhZ2VcIikpO1xuY29uc3Qgc2hhcmVkXzEgPSByZXF1aXJlKFwiLi4vc2hhcmVkXCIpO1xuY2xhc3MgS2V5VmFsdWVTdG9yYWdlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2VfMS5kZWZhdWx0O1xuICAgIH1cbiAgICBnZXRLZXlzKCkge1xuICAgICAgICByZXR1cm4gdHNsaWJfMS5fX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0RW50cmllcygpIHtcbiAgICAgICAgcmV0dXJuIHRzbGliXzEuX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMubG9jYWxTdG9yYWdlKS5tYXAoc2hhcmVkXzEucGFyc2VFbnRyeSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXRJdGVtKGtleSkge1xuICAgICAgICByZXR1cm4gdHNsaWJfMS5fX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgaWYgKGl0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHNhZmVfanNvbl91dGlsc18xLnNhZmVKc29uUGFyc2UoaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzZXRJdGVtKGtleSwgdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRzbGliXzEuX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHNhZmVfanNvbl91dGlsc18xLnNhZmVKc29uU3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZW1vdmVJdGVtKGtleSkge1xuICAgICAgICByZXR1cm4gdHNsaWJfMS5fX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuS2V5VmFsdWVTdG9yYWdlID0gS2V5VmFsdWVTdG9yYWdlO1xuZXhwb3J0cy5kZWZhdWx0ID0gS2V5VmFsdWVTdG9yYWdlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js ***! - \******************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n(function () {\n \"use strict\";\n let db;\n function LocalStorage() { }\n db = LocalStorage;\n db.prototype.getItem = function (key) {\n if (this.hasOwnProperty(key)) {\n return String(this[key]);\n }\n return null;\n };\n db.prototype.setItem = function (key, val) {\n this[key] = String(val);\n };\n db.prototype.removeItem = function (key) {\n delete this[key];\n };\n db.prototype.clear = function () {\n const self = this;\n Object.keys(self).forEach(function (key) {\n self[key] = undefined;\n delete self[key];\n });\n };\n db.prototype.key = function (i) {\n i = i || 0;\n return Object.keys(this)[i];\n };\n db.prototype.__defineGetter__(\"length\", function () {\n return Object.keys(this).length;\n });\n if (typeof __webpack_require__.g !== \"undefined\" && __webpack_require__.g.localStorage) {\n module.exports = __webpack_require__.g.localStorage;\n }\n else if (typeof window !== \"undefined\" && window.localStorage) {\n module.exports = window.localStorage;\n }\n else {\n module.exports = new LocalStorage();\n }\n})();\n//# sourceMappingURL=localStorage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL2Jyb3dzZXIvbGliL2xvY2FsU3RvcmFnZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGVBQWUscUJBQU0sb0JBQW9CLHFCQUFNO0FBQy9DLHlCQUF5QixxQkFBTTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL2Jyb3dzZXIvbGliL2xvY2FsU3RvcmFnZS5qcz9kOTBkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuKGZ1bmN0aW9uICgpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBsZXQgZGI7XG4gICAgZnVuY3Rpb24gTG9jYWxTdG9yYWdlKCkgeyB9XG4gICAgZGIgPSBMb2NhbFN0b3JhZ2U7XG4gICAgZGIucHJvdG90eXBlLmdldEl0ZW0gPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodGhpc1trZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIGRiLnByb3RvdHlwZS5zZXRJdGVtID0gZnVuY3Rpb24gKGtleSwgdmFsKSB7XG4gICAgICAgIHRoaXNba2V5XSA9IFN0cmluZyh2YWwpO1xuICAgIH07XG4gICAgZGIucHJvdG90eXBlLnJlbW92ZUl0ZW0gPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzW2tleV07XG4gICAgfTtcbiAgICBkYi5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgICBPYmplY3Qua2V5cyhzZWxmKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgIHNlbGZba2V5XSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGRlbGV0ZSBzZWxmW2tleV07XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgZGIucHJvdG90eXBlLmtleSA9IGZ1bmN0aW9uIChpKSB7XG4gICAgICAgIGkgPSBpIHx8IDA7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzKVtpXTtcbiAgICB9O1xuICAgIGRiLnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fKFwibGVuZ3RoXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMpLmxlbmd0aDtcbiAgICB9KTtcbiAgICBpZiAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwubG9jYWxTdG9yYWdlKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gZ2xvYmFsLmxvY2FsU3RvcmFnZTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cubG9jYWxTdG9yYWdlKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gbmV3IExvY2FsU3RvcmFnZSgpO1xuICAgIH1cbn0pKCk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2NhbFN0b3JhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/keyvaluestorage/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./utils */ \"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL3NoYXJlZC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsbUJBQU8sQ0FBQyw0RkFBTztBQUMvQixxQkFBcUIsbUJBQU8sQ0FBQyx1RkFBUztBQUN0QyxxQkFBcUIsbUJBQU8sQ0FBQyx1RkFBUztBQUN0QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL3NoYXJlZC9pbmRleC5qcz9kZThkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3R5cGVzXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3V0aWxzXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IKeyValueStorage = void 0;\nclass IKeyValueStorage {\n}\nexports.IKeyValueStorage = IKeyValueStorage;\n//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL3NoYXJlZC90eXBlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL3NoYXJlZC90eXBlcy5qcz9kOGRlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5JS2V5VmFsdWVTdG9yYWdlID0gdm9pZCAwO1xuY2xhc3MgSUtleVZhbHVlU3RvcmFnZSB7XG59XG5leHBvcnRzLklLZXlWYWx1ZVN0b3JhZ2UgPSBJS2V5VmFsdWVTdG9yYWdlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHlwZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseEntry = void 0;\nconst safe_json_utils_1 = __webpack_require__(/*! safe-json-utils */ \"./node_modules/safe-json-utils/dist/cjs/index.js\");\nfunction parseEntry(entry) {\n var _a;\n return [entry[0], safe_json_utils_1.safeJsonParse((_a = entry[1]) !== null && _a !== void 0 ? _a : \"\")];\n}\nexports.parseEntry = parseEntry;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL2Rpc3QvY2pzL3NoYXJlZC91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0I7QUFDbEIsMEJBQTBCLG1CQUFPLENBQUMseUVBQWlCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9rZXl2YWx1ZXN0b3JhZ2UvZGlzdC9janMvc2hhcmVkL3V0aWxzLmpzPzUwNmUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnBhcnNlRW50cnkgPSB2b2lkIDA7XG5jb25zdCBzYWZlX2pzb25fdXRpbHNfMSA9IHJlcXVpcmUoXCJzYWZlLWpzb24tdXRpbHNcIik7XG5mdW5jdGlvbiBwYXJzZUVudHJ5KGVudHJ5KSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBbZW50cnlbMF0sIHNhZmVfanNvbl91dGlsc18xLnNhZmVKc29uUGFyc2UoKF9hID0gZW50cnlbMV0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFwiXCIpXTtcbn1cbmV4cG9ydHMucGFyc2VFbnRyeSA9IHBhcnNlRW50cnk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/keyvaluestorage/node_modules/tslib/tslib.es6.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/@walletconnect/keyvaluestorage/node_modules/tslib/tslib.es6.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qva2V5dmFsdWVzdG9yYWdlL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdCQUFnQixzQ0FBc0Msa0JBQWtCO0FBQ25GLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpREFBaUQsT0FBTztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxjQUFjO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDZDQUE2QyxRQUFRO0FBQ3JEO0FBQ0E7QUFDQTtBQUNPO0FBQ1Asb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNEJBQTRCLCtEQUErRCxpQkFBaUI7QUFDNUc7QUFDQSxvQ0FBb0MsTUFBTSwrQkFBK0IsWUFBWTtBQUNyRixtQ0FBbUMsTUFBTSxtQ0FBbUMsWUFBWTtBQUN4RixnQ0FBZ0M7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNPO0FBQ1AsY0FBYyw2QkFBNkIsMEJBQTBCLGNBQWMscUJBQXFCO0FBQ3hHLGlCQUFpQixvREFBb0QscUVBQXFFLGNBQWM7QUFDeEosdUJBQXVCLHNCQUFzQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEMsbUNBQW1DLFNBQVM7QUFDNUMsbUNBQW1DLFdBQVcsVUFBVTtBQUN4RCwwQ0FBMEMsY0FBYztBQUN4RDtBQUNBLDhHQUE4RyxPQUFPO0FBQ3JILGlGQUFpRixpQkFBaUI7QUFDbEcseURBQXlELGdCQUFnQixRQUFRO0FBQ2pGLCtDQUErQyxnQkFBZ0IsZ0JBQWdCO0FBQy9FO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQSxVQUFVLFlBQVksYUFBYSxTQUFTLFVBQVU7QUFDdEQsb0NBQW9DLFNBQVM7QUFDN0M7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixNQUFNO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCw2QkFBNkIsc0JBQXNCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxrREFBa0QsUUFBUTtBQUMxRCx5Q0FBeUMsUUFBUTtBQUNqRCx5REFBeUQsUUFBUTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsaUJBQWlCLHVGQUF1RixjQUFjO0FBQ3RILHVCQUF1QixnQ0FBZ0MscUNBQXFDLDJDQUEyQztBQUN2SSw0QkFBNEIsTUFBTSxpQkFBaUIsWUFBWTtBQUMvRCx1QkFBdUI7QUFDdkIsOEJBQThCO0FBQzlCLDZCQUE2QjtBQUM3Qiw0QkFBNEI7QUFDNUI7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpQkFBaUIsNkNBQTZDLFVBQVUsc0RBQXNELGNBQWM7QUFDNUksMEJBQTBCLDZCQUE2QixvQkFBb0IsZ0RBQWdELGtCQUFrQjtBQUM3STtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsMkdBQTJHLHVGQUF1RixjQUFjO0FBQ2hOLHVCQUF1Qiw4QkFBOEIsZ0RBQWdELHdEQUF3RDtBQUM3Siw2Q0FBNkMsc0NBQXNDLFVBQVUsbUJBQW1CLElBQUk7QUFDcEg7QUFDQTtBQUNPO0FBQ1AsaUNBQWlDLHVDQUF1QyxZQUFZLEtBQUssT0FBTztBQUNoRztBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2tleXZhbHVlc3RvcmFnZS9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzP2I0NzIiXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY3JlYXRlQmluZGluZyhvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/keyvaluestorage/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/logger/dist/cjs/constants.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/logger/dist/cjs/constants.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PINO_CUSTOM_CONTEXT_KEY = exports.PINO_LOGGER_DEFAULTS = void 0;\nexports.PINO_LOGGER_DEFAULTS = {\n level: \"info\",\n};\nexports.PINO_CUSTOM_CONTEXT_KEY = \"custom_context\";\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbG9nZ2VyL2Rpc3QvY2pzL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwrQkFBK0IsR0FBRyw0QkFBNEI7QUFDOUQsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xvZ2dlci9kaXN0L2Nqcy9jb25zdGFudHMuanM/ZTk0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUElOT19DVVNUT01fQ09OVEVYVF9LRVkgPSBleHBvcnRzLlBJTk9fTE9HR0VSX0RFRkFVTFRTID0gdm9pZCAwO1xuZXhwb3J0cy5QSU5PX0xPR0dFUl9ERUZBVUxUUyA9IHtcbiAgICBsZXZlbDogXCJpbmZvXCIsXG59O1xuZXhwb3J0cy5QSU5PX0NVU1RPTV9DT05URVhUX0tFWSA9IFwiY3VzdG9tX2NvbnRleHRcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/logger/dist/cjs/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/logger/dist/cjs/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/@walletconnect/logger/dist/cjs/index.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.pino = void 0;\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/logger/node_modules/tslib/tslib.es6.js\");\nconst pino_1 = tslib_1.__importDefault(__webpack_require__(/*! pino */ \"./node_modules/pino/browser.js\"));\nObject.defineProperty(exports, \"pino\", ({ enumerable: true, get: function () { return pino_1.default; } }));\ntslib_1.__exportStar(__webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/logger/dist/cjs/constants.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./utils */ \"./node_modules/@walletconnect/logger/dist/cjs/utils.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbG9nZ2VyL2Rpc3QvY2pzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELFlBQVk7QUFDWixnQkFBZ0IsbUJBQU8sQ0FBQyxtRkFBTztBQUMvQix1Q0FBdUMsbUJBQU8sQ0FBQyw0Q0FBTTtBQUNyRCx3Q0FBdUMsRUFBRSxxQ0FBcUMsMEJBQTBCLEVBQUM7QUFDekcscUJBQXFCLG1CQUFPLENBQUMsK0VBQWE7QUFDMUMscUJBQXFCLG1CQUFPLENBQUMsdUVBQVM7QUFDdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xvZ2dlci9kaXN0L2Nqcy9pbmRleC5qcz82YjJjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5waW5vID0gdm9pZCAwO1xuY29uc3QgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbmNvbnN0IHBpbm9fMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJwaW5vXCIpKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBpbm9cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBpbm9fMS5kZWZhdWx0OyB9IH0pO1xudHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vY29uc3RhbnRzXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3V0aWxzXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/logger/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/logger/dist/cjs/utils.js": -/*!**************************************************************!*\ - !*** ./node_modules/@walletconnect/logger/dist/cjs/utils.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.generateChildLogger = exports.formatChildLoggerContext = exports.getLoggerContext = exports.setBrowserLoggerContext = exports.getBrowserLoggerContext = exports.getDefaultLoggerOptions = void 0;\nconst constants_1 = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/logger/dist/cjs/constants.js\");\nfunction getDefaultLoggerOptions(opts) {\n return Object.assign(Object.assign({}, opts), { level: (opts === null || opts === void 0 ? void 0 : opts.level) || constants_1.PINO_LOGGER_DEFAULTS.level });\n}\nexports.getDefaultLoggerOptions = getDefaultLoggerOptions;\nfunction getBrowserLoggerContext(logger, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n return logger[customContextKey] || \"\";\n}\nexports.getBrowserLoggerContext = getBrowserLoggerContext;\nfunction setBrowserLoggerContext(logger, context, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n logger[customContextKey] = context;\n return logger;\n}\nexports.setBrowserLoggerContext = setBrowserLoggerContext;\nfunction getLoggerContext(logger, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n let context = \"\";\n if (typeof logger.bindings === \"undefined\") {\n context = getBrowserLoggerContext(logger, customContextKey);\n }\n else {\n context = logger.bindings().context || \"\";\n }\n return context;\n}\nexports.getLoggerContext = getLoggerContext;\nfunction formatChildLoggerContext(logger, childContext, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n const parentContext = getLoggerContext(logger, customContextKey);\n const context = parentContext.trim()\n ? `${parentContext}/${childContext}`\n : childContext;\n return context;\n}\nexports.formatChildLoggerContext = formatChildLoggerContext;\nfunction generateChildLogger(logger, childContext, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n const context = formatChildLoggerContext(logger, childContext, customContextKey);\n const child = logger.child({ context });\n return setBrowserLoggerContext(child, context, customContextKey);\n}\nexports.generateChildLogger = generateChildLogger;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbG9nZ2VyL2Rpc3QvY2pzL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQixHQUFHLGdDQUFnQyxHQUFHLHdCQUF3QixHQUFHLCtCQUErQixHQUFHLCtCQUErQixHQUFHLCtCQUErQjtBQUMvTCxvQkFBb0IsbUJBQU8sQ0FBQywrRUFBYTtBQUN6QztBQUNBLHlDQUF5QyxXQUFXLDJHQUEyRztBQUMvSjtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsYUFBYSxjQUFjLEdBQUcsYUFBYTtBQUMzQztBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBLGlDQUFpQyxTQUFTO0FBQzFDO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xvZ2dlci9kaXN0L2Nqcy91dGlscy5qcz9lODU0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZW5lcmF0ZUNoaWxkTG9nZ2VyID0gZXhwb3J0cy5mb3JtYXRDaGlsZExvZ2dlckNvbnRleHQgPSBleHBvcnRzLmdldExvZ2dlckNvbnRleHQgPSBleHBvcnRzLnNldEJyb3dzZXJMb2dnZXJDb250ZXh0ID0gZXhwb3J0cy5nZXRCcm93c2VyTG9nZ2VyQ29udGV4dCA9IGV4cG9ydHMuZ2V0RGVmYXVsdExvZ2dlck9wdGlvbnMgPSB2b2lkIDA7XG5jb25zdCBjb25zdGFudHNfMSA9IHJlcXVpcmUoXCIuL2NvbnN0YW50c1wiKTtcbmZ1bmN0aW9uIGdldERlZmF1bHRMb2dnZXJPcHRpb25zKG9wdHMpIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBvcHRzKSwgeyBsZXZlbDogKG9wdHMgPT09IG51bGwgfHwgb3B0cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0cy5sZXZlbCkgfHwgY29uc3RhbnRzXzEuUElOT19MT0dHRVJfREVGQVVMVFMubGV2ZWwgfSk7XG59XG5leHBvcnRzLmdldERlZmF1bHRMb2dnZXJPcHRpb25zID0gZ2V0RGVmYXVsdExvZ2dlck9wdGlvbnM7XG5mdW5jdGlvbiBnZXRCcm93c2VyTG9nZ2VyQ29udGV4dChsb2dnZXIsIGN1c3RvbUNvbnRleHRLZXkgPSBjb25zdGFudHNfMS5QSU5PX0NVU1RPTV9DT05URVhUX0tFWSkge1xuICAgIHJldHVybiBsb2dnZXJbY3VzdG9tQ29udGV4dEtleV0gfHwgXCJcIjtcbn1cbmV4cG9ydHMuZ2V0QnJvd3NlckxvZ2dlckNvbnRleHQgPSBnZXRCcm93c2VyTG9nZ2VyQ29udGV4dDtcbmZ1bmN0aW9uIHNldEJyb3dzZXJMb2dnZXJDb250ZXh0KGxvZ2dlciwgY29udGV4dCwgY3VzdG9tQ29udGV4dEtleSA9IGNvbnN0YW50c18xLlBJTk9fQ1VTVE9NX0NPTlRFWFRfS0VZKSB7XG4gICAgbG9nZ2VyW2N1c3RvbUNvbnRleHRLZXldID0gY29udGV4dDtcbiAgICByZXR1cm4gbG9nZ2VyO1xufVxuZXhwb3J0cy5zZXRCcm93c2VyTG9nZ2VyQ29udGV4dCA9IHNldEJyb3dzZXJMb2dnZXJDb250ZXh0O1xuZnVuY3Rpb24gZ2V0TG9nZ2VyQ29udGV4dChsb2dnZXIsIGN1c3RvbUNvbnRleHRLZXkgPSBjb25zdGFudHNfMS5QSU5PX0NVU1RPTV9DT05URVhUX0tFWSkge1xuICAgIGxldCBjb250ZXh0ID0gXCJcIjtcbiAgICBpZiAodHlwZW9mIGxvZ2dlci5iaW5kaW5ncyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBjb250ZXh0ID0gZ2V0QnJvd3NlckxvZ2dlckNvbnRleHQobG9nZ2VyLCBjdXN0b21Db250ZXh0S2V5KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnRleHQgPSBsb2dnZXIuYmluZGluZ3MoKS5jb250ZXh0IHx8IFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBjb250ZXh0O1xufVxuZXhwb3J0cy5nZXRMb2dnZXJDb250ZXh0ID0gZ2V0TG9nZ2VyQ29udGV4dDtcbmZ1bmN0aW9uIGZvcm1hdENoaWxkTG9nZ2VyQ29udGV4dChsb2dnZXIsIGNoaWxkQ29udGV4dCwgY3VzdG9tQ29udGV4dEtleSA9IGNvbnN0YW50c18xLlBJTk9fQ1VTVE9NX0NPTlRFWFRfS0VZKSB7XG4gICAgY29uc3QgcGFyZW50Q29udGV4dCA9IGdldExvZ2dlckNvbnRleHQobG9nZ2VyLCBjdXN0b21Db250ZXh0S2V5KTtcbiAgICBjb25zdCBjb250ZXh0ID0gcGFyZW50Q29udGV4dC50cmltKClcbiAgICAgICAgPyBgJHtwYXJlbnRDb250ZXh0fS8ke2NoaWxkQ29udGV4dH1gXG4gICAgICAgIDogY2hpbGRDb250ZXh0O1xuICAgIHJldHVybiBjb250ZXh0O1xufVxuZXhwb3J0cy5mb3JtYXRDaGlsZExvZ2dlckNvbnRleHQgPSBmb3JtYXRDaGlsZExvZ2dlckNvbnRleHQ7XG5mdW5jdGlvbiBnZW5lcmF0ZUNoaWxkTG9nZ2VyKGxvZ2dlciwgY2hpbGRDb250ZXh0LCBjdXN0b21Db250ZXh0S2V5ID0gY29uc3RhbnRzXzEuUElOT19DVVNUT01fQ09OVEVYVF9LRVkpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZm9ybWF0Q2hpbGRMb2dnZXJDb250ZXh0KGxvZ2dlciwgY2hpbGRDb250ZXh0LCBjdXN0b21Db250ZXh0S2V5KTtcbiAgICBjb25zdCBjaGlsZCA9IGxvZ2dlci5jaGlsZCh7IGNvbnRleHQgfSk7XG4gICAgcmV0dXJuIHNldEJyb3dzZXJMb2dnZXJDb250ZXh0KGNoaWxkLCBjb250ZXh0LCBjdXN0b21Db250ZXh0S2V5KTtcbn1cbmV4cG9ydHMuZ2VuZXJhdGVDaGlsZExvZ2dlciA9IGdlbmVyYXRlQ2hpbGRMb2dnZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/logger/dist/cjs/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/logger/node_modules/tslib/tslib.es6.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@walletconnect/logger/node_modules/tslib/tslib.es6.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbG9nZ2VyL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdCQUFnQixzQ0FBc0Msa0JBQWtCO0FBQ25GLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpREFBaUQsT0FBTztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxjQUFjO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDZDQUE2QyxRQUFRO0FBQ3JEO0FBQ0E7QUFDQTtBQUNPO0FBQ1Asb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNEJBQTRCLCtEQUErRCxpQkFBaUI7QUFDNUc7QUFDQSxvQ0FBb0MsTUFBTSwrQkFBK0IsWUFBWTtBQUNyRixtQ0FBbUMsTUFBTSxtQ0FBbUMsWUFBWTtBQUN4RixnQ0FBZ0M7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNPO0FBQ1AsY0FBYyw2QkFBNkIsMEJBQTBCLGNBQWMscUJBQXFCO0FBQ3hHLGlCQUFpQixvREFBb0QscUVBQXFFLGNBQWM7QUFDeEosdUJBQXVCLHNCQUFzQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEMsbUNBQW1DLFNBQVM7QUFDNUMsbUNBQW1DLFdBQVcsVUFBVTtBQUN4RCwwQ0FBMEMsY0FBYztBQUN4RDtBQUNBLDhHQUE4RyxPQUFPO0FBQ3JILGlGQUFpRixpQkFBaUI7QUFDbEcseURBQXlELGdCQUFnQixRQUFRO0FBQ2pGLCtDQUErQyxnQkFBZ0IsZ0JBQWdCO0FBQy9FO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQSxVQUFVLFlBQVksYUFBYSxTQUFTLFVBQVU7QUFDdEQsb0NBQW9DLFNBQVM7QUFDN0M7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixNQUFNO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCw2QkFBNkIsc0JBQXNCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxrREFBa0QsUUFBUTtBQUMxRCx5Q0FBeUMsUUFBUTtBQUNqRCx5REFBeUQsUUFBUTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsaUJBQWlCLHVGQUF1RixjQUFjO0FBQ3RILHVCQUF1QixnQ0FBZ0MscUNBQXFDLDJDQUEyQztBQUN2SSw0QkFBNEIsTUFBTSxpQkFBaUIsWUFBWTtBQUMvRCx1QkFBdUI7QUFDdkIsOEJBQThCO0FBQzlCLDZCQUE2QjtBQUM3Qiw0QkFBNEI7QUFDNUI7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpQkFBaUIsNkNBQTZDLFVBQVUsc0RBQXNELGNBQWM7QUFDNUksMEJBQTBCLDZCQUE2QixvQkFBb0IsZ0RBQWdELGtCQUFrQjtBQUM3STtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsMkdBQTJHLHVGQUF1RixjQUFjO0FBQ2hOLHVCQUF1Qiw4QkFBOEIsZ0RBQWdELHdEQUF3RDtBQUM3Siw2Q0FBNkMsc0NBQXNDLFVBQVUsbUJBQW1CLElBQUk7QUFDcEg7QUFDQTtBQUNPO0FBQ1AsaUNBQWlDLHVDQUF1QyxZQUFZLEtBQUssT0FBTztBQUNoRztBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xvZ2dlci9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzP2JkNDMiXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY3JlYXRlQmluZGluZyhvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/logger/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-auth/dist/esm/api.js": -/*!****************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-auth/dist/esm/api.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateKeyPair: function() { return /* binding */ generateKeyPair; },\n/* harmony export */ signJWT: function() { return /* binding */ signJWT; },\n/* harmony export */ verifyJWT: function() { return /* binding */ verifyJWT; }\n/* harmony export */ });\n/* harmony import */ var _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @stablelib/ed25519 */ \"./node_modules/@stablelib/ed25519/lib/ed25519.js\");\n/* harmony import */ var _stablelib_random__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @stablelib/random */ \"./node_modules/@stablelib/random/lib/random.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/time */ \"./node_modules/@walletconnect/time/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/relay-auth/dist/esm/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ \"./node_modules/@walletconnect/relay-auth/dist/esm/utils.js\");\n\n\n\n\n\nfunction generateKeyPair(seed = (0,_stablelib_random__WEBPACK_IMPORTED_MODULE_1__.randomBytes)(_constants__WEBPACK_IMPORTED_MODULE_3__.KEY_PAIR_SEED_LENGTH)) {\n return _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__.generateKeyPairFromSeed(seed);\n}\nasync function signJWT(sub, aud, ttl, keyPair, iat = (0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.fromMiliseconds)(Date.now())) {\n const header = { alg: _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_ALG, typ: _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_TYP };\n const iss = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.encodeIss)(keyPair.publicKey);\n const exp = iat + ttl;\n const payload = { iss, sub, aud, iat, exp };\n const data = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.encodeData)({ header, payload });\n const signature = _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__.sign(keyPair.secretKey, data);\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.encodeJWT)({ header, payload, signature });\n}\nasync function verifyJWT(jwt) {\n const { header, payload, data, signature } = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.decodeJWT)(jwt);\n if (header.alg !== _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_ALG || header.typ !== _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_TYP) {\n throw new Error(\"JWT must use EdDSA algorithm\");\n }\n const publicKey = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.decodeIss)(payload.iss);\n return _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__.verify(publicKey, data, signature);\n}\n//# sourceMappingURL=api.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS9hcGkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQThDO0FBQ0U7QUFDTTtBQUNnQztBQUNKO0FBQzNFLGdDQUFnQyw4REFBVyxDQUFDLDREQUFvQjtBQUN2RSxXQUFXLHVFQUErQjtBQUMxQztBQUNPLHFEQUFxRCxvRUFBZTtBQUMzRSxxQkFBcUIsS0FBSyx1REFBZSxPQUFPLHVEQUFlO0FBQy9ELGdCQUFnQixpREFBUztBQUN6QjtBQUNBLHNCQUFzQjtBQUN0QixpQkFBaUIsa0RBQVUsR0FBRyxpQkFBaUI7QUFDL0Msc0JBQXNCLG9EQUFZO0FBQ2xDLFdBQVcsaURBQVMsR0FBRyw0QkFBNEI7QUFDbkQ7QUFDTztBQUNQLFlBQVksbUNBQW1DLEVBQUUsaURBQVM7QUFDMUQsdUJBQXVCLHVEQUFlLG1CQUFtQix1REFBZTtBQUN4RTtBQUNBO0FBQ0Esc0JBQXNCLGlEQUFTO0FBQy9CLFdBQVcsc0RBQWM7QUFDekI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS9hcGkuanM/MmM0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBlZDI1NTE5IGZyb20gXCJAc3RhYmxlbGliL2VkMjU1MTlcIjtcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSBcIkBzdGFibGVsaWIvcmFuZG9tXCI7XG5pbXBvcnQgeyBmcm9tTWlsaXNlY29uZHMgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvdGltZVwiO1xuaW1wb3J0IHsgSldUX0lSSURJVU1fQUxHLCBKV1RfSVJJRElVTV9UWVAsIEtFWV9QQUlSX1NFRURfTEVOR1RILCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZGVjb2RlSXNzLCBkZWNvZGVKV1QsIGVuY29kZURhdGEsIGVuY29kZUlzcywgZW5jb2RlSldULCB9IGZyb20gXCIuL3V0aWxzXCI7XG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVLZXlQYWlyKHNlZWQgPSByYW5kb21CeXRlcyhLRVlfUEFJUl9TRUVEX0xFTkdUSCkpIHtcbiAgICByZXR1cm4gZWQyNTUxOS5nZW5lcmF0ZUtleVBhaXJGcm9tU2VlZChzZWVkKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduSldUKHN1YiwgYXVkLCB0dGwsIGtleVBhaXIsIGlhdCA9IGZyb21NaWxpc2Vjb25kcyhEYXRlLm5vdygpKSkge1xuICAgIGNvbnN0IGhlYWRlciA9IHsgYWxnOiBKV1RfSVJJRElVTV9BTEcsIHR5cDogSldUX0lSSURJVU1fVFlQIH07XG4gICAgY29uc3QgaXNzID0gZW5jb2RlSXNzKGtleVBhaXIucHVibGljS2V5KTtcbiAgICBjb25zdCBleHAgPSBpYXQgKyB0dGw7XG4gICAgY29uc3QgcGF5bG9hZCA9IHsgaXNzLCBzdWIsIGF1ZCwgaWF0LCBleHAgfTtcbiAgICBjb25zdCBkYXRhID0gZW5jb2RlRGF0YSh7IGhlYWRlciwgcGF5bG9hZCB9KTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBlZDI1NTE5LnNpZ24oa2V5UGFpci5zZWNyZXRLZXksIGRhdGEpO1xuICAgIHJldHVybiBlbmNvZGVKV1QoeyBoZWFkZXIsIHBheWxvYWQsIHNpZ25hdHVyZSB9KTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlKV1Qoand0KSB7XG4gICAgY29uc3QgeyBoZWFkZXIsIHBheWxvYWQsIGRhdGEsIHNpZ25hdHVyZSB9ID0gZGVjb2RlSldUKGp3dCk7XG4gICAgaWYgKGhlYWRlci5hbGcgIT09IEpXVF9JUklESVVNX0FMRyB8fCBoZWFkZXIudHlwICE9PSBKV1RfSVJJRElVTV9UWVApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSldUIG11c3QgdXNlIEVkRFNBIGFsZ29yaXRobVwiKTtcbiAgICB9XG4gICAgY29uc3QgcHVibGljS2V5ID0gZGVjb2RlSXNzKHBheWxvYWQuaXNzKTtcbiAgICByZXR1cm4gZWQyNTUxOS52ZXJpZnkocHVibGljS2V5LCBkYXRhLCBzaWduYXR1cmUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBpLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-auth/dist/esm/api.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-auth/dist/esm/constants.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-auth/dist/esm/constants.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DATA_ENCODING: function() { return /* binding */ DATA_ENCODING; },\n/* harmony export */ DID_DELIMITER: function() { return /* binding */ DID_DELIMITER; },\n/* harmony export */ DID_METHOD: function() { return /* binding */ DID_METHOD; },\n/* harmony export */ DID_PREFIX: function() { return /* binding */ DID_PREFIX; },\n/* harmony export */ JSON_ENCODING: function() { return /* binding */ JSON_ENCODING; },\n/* harmony export */ JWT_DELIMITER: function() { return /* binding */ JWT_DELIMITER; },\n/* harmony export */ JWT_ENCODING: function() { return /* binding */ JWT_ENCODING; },\n/* harmony export */ JWT_IRIDIUM_ALG: function() { return /* binding */ JWT_IRIDIUM_ALG; },\n/* harmony export */ JWT_IRIDIUM_TYP: function() { return /* binding */ JWT_IRIDIUM_TYP; },\n/* harmony export */ KEY_PAIR_SEED_LENGTH: function() { return /* binding */ KEY_PAIR_SEED_LENGTH; },\n/* harmony export */ MULTICODEC_ED25519_BASE: function() { return /* binding */ MULTICODEC_ED25519_BASE; },\n/* harmony export */ MULTICODEC_ED25519_ENCODING: function() { return /* binding */ MULTICODEC_ED25519_ENCODING; },\n/* harmony export */ MULTICODEC_ED25519_HEADER: function() { return /* binding */ MULTICODEC_ED25519_HEADER; },\n/* harmony export */ MULTICODEC_ED25519_LENGTH: function() { return /* binding */ MULTICODEC_ED25519_LENGTH; }\n/* harmony export */ });\nconst JWT_IRIDIUM_ALG = \"EdDSA\";\nconst JWT_IRIDIUM_TYP = \"JWT\";\nconst JWT_DELIMITER = \".\";\nconst JWT_ENCODING = \"base64url\";\nconst JSON_ENCODING = \"utf8\";\nconst DATA_ENCODING = \"utf8\";\nconst DID_DELIMITER = \":\";\nconst DID_PREFIX = \"did\";\nconst DID_METHOD = \"key\";\nconst MULTICODEC_ED25519_ENCODING = \"base58btc\";\nconst MULTICODEC_ED25519_BASE = \"z\";\nconst MULTICODEC_ED25519_HEADER = \"K36\";\nconst MULTICODEC_ED25519_LENGTH = 32;\nconst KEY_PAIR_SEED_LENGTH = 32;\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3JlbGF5LWF1dGgvZGlzdC9lc20vY29uc3RhbnRzLmpzPzVkOGQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEpXVF9JUklESVVNX0FMRyA9IFwiRWREU0FcIjtcbmV4cG9ydCBjb25zdCBKV1RfSVJJRElVTV9UWVAgPSBcIkpXVFwiO1xuZXhwb3J0IGNvbnN0IEpXVF9ERUxJTUlURVIgPSBcIi5cIjtcbmV4cG9ydCBjb25zdCBKV1RfRU5DT0RJTkcgPSBcImJhc2U2NHVybFwiO1xuZXhwb3J0IGNvbnN0IEpTT05fRU5DT0RJTkcgPSBcInV0ZjhcIjtcbmV4cG9ydCBjb25zdCBEQVRBX0VOQ09ESU5HID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRElEX0RFTElNSVRFUiA9IFwiOlwiO1xuZXhwb3J0IGNvbnN0IERJRF9QUkVGSVggPSBcImRpZFwiO1xuZXhwb3J0IGNvbnN0IERJRF9NRVRIT0QgPSBcImtleVwiO1xuZXhwb3J0IGNvbnN0IE1VTFRJQ09ERUNfRUQyNTUxOV9FTkNPRElORyA9IFwiYmFzZTU4YnRjXCI7XG5leHBvcnQgY29uc3QgTVVMVElDT0RFQ19FRDI1NTE5X0JBU0UgPSBcInpcIjtcbmV4cG9ydCBjb25zdCBNVUxUSUNPREVDX0VEMjU1MTlfSEVBREVSID0gXCJLMzZcIjtcbmV4cG9ydCBjb25zdCBNVUxUSUNPREVDX0VEMjU1MTlfTEVOR1RIID0gMzI7XG5leHBvcnQgY29uc3QgS0VZX1BBSVJfU0VFRF9MRU5HVEggPSAzMjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-auth/dist/esm/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-auth/dist/esm/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-auth/dist/esm/index.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api */ \"./node_modules/@walletconnect/relay-auth/dist/esm/api.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _api__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _api__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/relay-auth/dist/esm/constants.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _constants__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _constants__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/relay-auth/dist/esm/types.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _types__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./node_modules/@walletconnect/relay-auth/dist/esm/utils.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _utils__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBc0I7QUFDTTtBQUNKO0FBQ0E7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3JlbGF5LWF1dGgvZGlzdC9lc20vaW5kZXguanM/NTRlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-auth/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-auth/dist/esm/types.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-auth/dist/esm/types.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS90eXBlcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS90eXBlcy5qcz82NzNlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIyBzb3VyY2VNYXBwaW5nVVJMPXR5cGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-auth/dist/esm/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-auth/dist/esm/utils.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-auth/dist/esm/utils.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeData: function() { return /* binding */ decodeData; },\n/* harmony export */ decodeIss: function() { return /* binding */ decodeIss; },\n/* harmony export */ decodeJSON: function() { return /* binding */ decodeJSON; },\n/* harmony export */ decodeJWT: function() { return /* binding */ decodeJWT; },\n/* harmony export */ decodeSig: function() { return /* binding */ decodeSig; },\n/* harmony export */ encodeData: function() { return /* binding */ encodeData; },\n/* harmony export */ encodeIss: function() { return /* binding */ encodeIss; },\n/* harmony export */ encodeJSON: function() { return /* binding */ encodeJSON; },\n/* harmony export */ encodeJWT: function() { return /* binding */ encodeJWT; },\n/* harmony export */ encodeSig: function() { return /* binding */ encodeSig; }\n/* harmony export */ });\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/concat */ \"./node_modules/uint8arrays/esm/src/concat.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/to-string */ \"./node_modules/uint8arrays/esm/src/to-string.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/from-string */ \"./node_modules/uint8arrays/esm/src/from-string.js\");\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/safe-json */ \"./node_modules/@walletconnect/safe-json/dist/esm/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/relay-auth/dist/esm/constants.js\");\n\n\n\n\n\nfunction decodeJSON(str) {\n return (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_3__.safeJsonParse)((0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)((0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(str, _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING), _constants__WEBPACK_IMPORTED_MODULE_4__.JSON_ENCODING));\n}\nfunction encodeJSON(val) {\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)((0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)((0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_3__.safeJsonStringify)(val), _constants__WEBPACK_IMPORTED_MODULE_4__.JSON_ENCODING), _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING);\n}\nfunction encodeIss(publicKey) {\n const header = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(_constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_HEADER, _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n const multicodec = _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_BASE +\n (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)((0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__.concat)([header, publicKey]), _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n return [_constants__WEBPACK_IMPORTED_MODULE_4__.DID_PREFIX, _constants__WEBPACK_IMPORTED_MODULE_4__.DID_METHOD, multicodec].join(_constants__WEBPACK_IMPORTED_MODULE_4__.DID_DELIMITER);\n}\nfunction decodeIss(issuer) {\n const [prefix, method, multicodec] = issuer.split(_constants__WEBPACK_IMPORTED_MODULE_4__.DID_DELIMITER);\n if (prefix !== _constants__WEBPACK_IMPORTED_MODULE_4__.DID_PREFIX || method !== _constants__WEBPACK_IMPORTED_MODULE_4__.DID_METHOD) {\n throw new Error(`Issuer must be a DID with method \"key\"`);\n }\n const base = multicodec.slice(0, 1);\n if (base !== _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_BASE) {\n throw new Error(`Issuer must be a key in mulicodec format`);\n }\n const bytes = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(multicodec.slice(1), _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n const type = (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes.slice(0, 2), _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n if (type !== _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_HEADER) {\n throw new Error(`Issuer must be a public key with type \"Ed25519\"`);\n }\n const publicKey = bytes.slice(2);\n if (publicKey.length !== _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_LENGTH) {\n throw new Error(`Issuer must be a public key with length 32 bytes`);\n }\n return publicKey;\n}\nfunction encodeSig(bytes) {\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes, _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING);\n}\nfunction decodeSig(encoded) {\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(encoded, _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING);\n}\nfunction encodeData(params) {\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)([encodeJSON(params.header), encodeJSON(params.payload)].join(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER), _constants__WEBPACK_IMPORTED_MODULE_4__.DATA_ENCODING);\n}\nfunction decodeData(data) {\n const params = (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(data, _constants__WEBPACK_IMPORTED_MODULE_4__.DATA_ENCODING).split(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n return { header, payload };\n}\nfunction encodeJWT(params) {\n return [\n encodeJSON(params.header),\n encodeJSON(params.payload),\n encodeSig(params.signature),\n ].join(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER);\n}\nfunction decodeJWT(jwt) {\n const params = jwt.split(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n const signature = decodeSig(params[2]);\n const data = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(params.slice(0, 2).join(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER), _constants__WEBPACK_IMPORTED_MODULE_4__.DATA_ENCODING);\n return { header, payload, signature, data };\n}\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXV0aC9kaXN0L2VzbS91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNEM7QUFDSztBQUNJO0FBQ3VCO0FBQ2dLO0FBQ3JPO0FBQ1AsV0FBVyx1RUFBYSxDQUFDLCtEQUFRLENBQUMsbUVBQVUsTUFBTSxvREFBWSxHQUFHLHFEQUFhO0FBQzlFO0FBQ087QUFDUCxXQUFXLCtEQUFRLENBQUMsbUVBQVUsQ0FBQywyRUFBaUIsT0FBTyxxREFBYSxHQUFHLG9EQUFZO0FBQ25GO0FBQ087QUFDUCxtQkFBbUIsbUVBQVUsQ0FBQyxpRUFBeUIsRUFBRSxtRUFBMkI7QUFDcEYsdUJBQXVCLCtEQUF1QjtBQUM5QyxRQUFRLCtEQUFRLENBQUMsMERBQU0sdUJBQXVCLG1FQUEyQjtBQUN6RSxZQUFZLGtEQUFVLEVBQUUsa0RBQVUsbUJBQW1CLHFEQUFhO0FBQ2xFO0FBQ087QUFDUCxzREFBc0QscURBQWE7QUFDbkUsbUJBQW1CLGtEQUFVLGVBQWUsa0RBQVU7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLCtEQUF1QjtBQUN4QztBQUNBO0FBQ0Esa0JBQWtCLG1FQUFVLHNCQUFzQixtRUFBMkI7QUFDN0UsaUJBQWlCLCtEQUFRLG9CQUFvQixtRUFBMkI7QUFDeEUsaUJBQWlCLGlFQUF5QjtBQUMxQztBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsaUVBQXlCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLCtEQUFRLFFBQVEsb0RBQVk7QUFDdkM7QUFDTztBQUNQLFdBQVcsbUVBQVUsVUFBVSxvREFBWTtBQUMzQztBQUNPO0FBQ1AsV0FBVyxtRUFBVSw4REFBOEQscURBQWEsR0FBRyxxREFBYTtBQUNoSDtBQUNPO0FBQ1AsbUJBQW1CLCtEQUFRLE9BQU8scURBQWEsUUFBUSxxREFBYTtBQUNwRTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcscURBQWE7QUFDeEI7QUFDTztBQUNQLDZCQUE2QixxREFBYTtBQUMxQztBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsbUVBQVUseUJBQXlCLHFEQUFhLEdBQUcscURBQWE7QUFDakYsYUFBYTtBQUNiO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3JlbGF5LWF1dGgvZGlzdC9lc20vdXRpbHMuanM/ZGU0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQgfSBmcm9tIFwidWludDhhcnJheXMvY29uY2F0XCI7XG5pbXBvcnQgeyB0b1N0cmluZyB9IGZyb20gXCJ1aW50OGFycmF5cy90by1zdHJpbmdcIjtcbmltcG9ydCB7IGZyb21TdHJpbmcgfSBmcm9tIFwidWludDhhcnJheXMvZnJvbS1zdHJpbmdcIjtcbmltcG9ydCB7IHNhZmVKc29uUGFyc2UsIHNhZmVKc29uU3RyaW5naWZ5IH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L3NhZmUtanNvblwiO1xuaW1wb3J0IHsgREFUQV9FTkNPRElORywgRElEX0RFTElNSVRFUiwgRElEX01FVEhPRCwgRElEX1BSRUZJWCwgSlNPTl9FTkNPRElORywgSldUX0RFTElNSVRFUiwgSldUX0VOQ09ESU5HLCBNVUxUSUNPREVDX0VEMjU1MTlfQkFTRSwgTVVMVElDT0RFQ19FRDI1NTE5X0VOQ09ESU5HLCBNVUxUSUNPREVDX0VEMjU1MTlfSEVBREVSLCBNVUxUSUNPREVDX0VEMjU1MTlfTEVOR1RILCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUpTT04oc3RyKSB7XG4gICAgcmV0dXJuIHNhZmVKc29uUGFyc2UodG9TdHJpbmcoZnJvbVN0cmluZyhzdHIsIEpXVF9FTkNPRElORyksIEpTT05fRU5DT0RJTkcpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVKU09OKHZhbCkge1xuICAgIHJldHVybiB0b1N0cmluZyhmcm9tU3RyaW5nKHNhZmVKc29uU3RyaW5naWZ5KHZhbCksIEpTT05fRU5DT0RJTkcpLCBKV1RfRU5DT0RJTkcpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUlzcyhwdWJsaWNLZXkpIHtcbiAgICBjb25zdCBoZWFkZXIgPSBmcm9tU3RyaW5nKE1VTFRJQ09ERUNfRUQyNTUxOV9IRUFERVIsIE1VTFRJQ09ERUNfRUQyNTUxOV9FTkNPRElORyk7XG4gICAgY29uc3QgbXVsdGljb2RlYyA9IE1VTFRJQ09ERUNfRUQyNTUxOV9CQVNFICtcbiAgICAgICAgdG9TdHJpbmcoY29uY2F0KFtoZWFkZXIsIHB1YmxpY0tleV0pLCBNVUxUSUNPREVDX0VEMjU1MTlfRU5DT0RJTkcpO1xuICAgIHJldHVybiBbRElEX1BSRUZJWCwgRElEX01FVEhPRCwgbXVsdGljb2RlY10uam9pbihESURfREVMSU1JVEVSKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVJc3MoaXNzdWVyKSB7XG4gICAgY29uc3QgW3ByZWZpeCwgbWV0aG9kLCBtdWx0aWNvZGVjXSA9IGlzc3Vlci5zcGxpdChESURfREVMSU1JVEVSKTtcbiAgICBpZiAocHJlZml4ICE9PSBESURfUFJFRklYIHx8IG1ldGhvZCAhPT0gRElEX01FVEhPRCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYElzc3VlciBtdXN0IGJlIGEgRElEIHdpdGggbWV0aG9kIFwia2V5XCJgKTtcbiAgICB9XG4gICAgY29uc3QgYmFzZSA9IG11bHRpY29kZWMuc2xpY2UoMCwgMSk7XG4gICAgaWYgKGJhc2UgIT09IE1VTFRJQ09ERUNfRUQyNTUxOV9CQVNFKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSXNzdWVyIG11c3QgYmUgYSBrZXkgaW4gbXVsaWNvZGVjIGZvcm1hdGApO1xuICAgIH1cbiAgICBjb25zdCBieXRlcyA9IGZyb21TdHJpbmcobXVsdGljb2RlYy5zbGljZSgxKSwgTVVMVElDT0RFQ19FRDI1NTE5X0VOQ09ESU5HKTtcbiAgICBjb25zdCB0eXBlID0gdG9TdHJpbmcoYnl0ZXMuc2xpY2UoMCwgMiksIE1VTFRJQ09ERUNfRUQyNTUxOV9FTkNPRElORyk7XG4gICAgaWYgKHR5cGUgIT09IE1VTFRJQ09ERUNfRUQyNTUxOV9IRUFERVIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJc3N1ZXIgbXVzdCBiZSBhIHB1YmxpYyBrZXkgd2l0aCB0eXBlIFwiRWQyNTUxOVwiYCk7XG4gICAgfVxuICAgIGNvbnN0IHB1YmxpY0tleSA9IGJ5dGVzLnNsaWNlKDIpO1xuICAgIGlmIChwdWJsaWNLZXkubGVuZ3RoICE9PSBNVUxUSUNPREVDX0VEMjU1MTlfTEVOR1RIKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSXNzdWVyIG11c3QgYmUgYSBwdWJsaWMga2V5IHdpdGggbGVuZ3RoIDMyIGJ5dGVzYCk7XG4gICAgfVxuICAgIHJldHVybiBwdWJsaWNLZXk7XG59XG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlU2lnKGJ5dGVzKSB7XG4gICAgcmV0dXJuIHRvU3RyaW5nKGJ5dGVzLCBKV1RfRU5DT0RJTkcpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVNpZyhlbmNvZGVkKSB7XG4gICAgcmV0dXJuIGZyb21TdHJpbmcoZW5jb2RlZCwgSldUX0VOQ09ESU5HKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVEYXRhKHBhcmFtcykge1xuICAgIHJldHVybiBmcm9tU3RyaW5nKFtlbmNvZGVKU09OKHBhcmFtcy5oZWFkZXIpLCBlbmNvZGVKU09OKHBhcmFtcy5wYXlsb2FkKV0uam9pbihKV1RfREVMSU1JVEVSKSwgREFUQV9FTkNPRElORyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlRGF0YShkYXRhKSB7XG4gICAgY29uc3QgcGFyYW1zID0gdG9TdHJpbmcoZGF0YSwgREFUQV9FTkNPRElORykuc3BsaXQoSldUX0RFTElNSVRFUik7XG4gICAgY29uc3QgaGVhZGVyID0gZGVjb2RlSlNPTihwYXJhbXNbMF0pO1xuICAgIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVKU09OKHBhcmFtc1sxXSk7XG4gICAgcmV0dXJuIHsgaGVhZGVyLCBwYXlsb2FkIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlSldUKHBhcmFtcykge1xuICAgIHJldHVybiBbXG4gICAgICAgIGVuY29kZUpTT04ocGFyYW1zLmhlYWRlciksXG4gICAgICAgIGVuY29kZUpTT04ocGFyYW1zLnBheWxvYWQpLFxuICAgICAgICBlbmNvZGVTaWcocGFyYW1zLnNpZ25hdHVyZSksXG4gICAgXS5qb2luKEpXVF9ERUxJTUlURVIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUpXVChqd3QpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBqd3Quc3BsaXQoSldUX0RFTElNSVRFUik7XG4gICAgY29uc3QgaGVhZGVyID0gZGVjb2RlSlNPTihwYXJhbXNbMF0pO1xuICAgIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVKU09OKHBhcmFtc1sxXSk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gZGVjb2RlU2lnKHBhcmFtc1syXSk7XG4gICAgY29uc3QgZGF0YSA9IGZyb21TdHJpbmcocGFyYW1zLnNsaWNlKDAsIDIpLmpvaW4oSldUX0RFTElNSVRFUiksIERBVEFfRU5DT0RJTkcpO1xuICAgIHJldHVybiB7IGhlYWRlciwgcGF5bG9hZCwgc2lnbmF0dXJlLCBkYXRhIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-auth/dist/esm/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/safe-json/dist/esm/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/safe-json/dist/esm/index.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ safeJsonParse: function() { return /* binding */ safeJsonParse; },\n/* harmony export */ safeJsonStringify: function() { return /* binding */ safeJsonStringify; }\n/* harmony export */ });\nconst JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === \"bigint\" ? value.toString() + \"n\" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, \"$1\\\"$2n\\\"$3\");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === \"string\" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nfunction safeJsonParse(value) {\n if (typeof value !== \"string\") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nfunction safeJsonStringify(value) {\n return typeof value === \"string\" ? value : JSONStringify(value) || \"\";\n}\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qvc2FmZS1qc29uL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBLGlEQUFpRCxJQUFJLDZPQUE2TztBQUNsUztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsZ0VBQWdFLGFBQWE7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9zYWZlLWpzb24vZGlzdC9lc20vaW5kZXguanM/ZTJkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBKU09OU3RyaW5naWZ5ID0gZGF0YSA9PiBKU09OLnN0cmluZ2lmeShkYXRhLCAoXywgdmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIiA/IHZhbHVlLnRvU3RyaW5nKCkgKyBcIm5cIiA6IHZhbHVlKTtcbmNvbnN0IEpTT05QYXJzZSA9IGpzb24gPT4ge1xuICAgIGNvbnN0IG51bWJlcnNCaWdnZXJUaGFuTWF4SW50ID0gLyhbXFxbOl0pPyhcXGR7MTcsfXwoPzpbOV0oPzpbMS05XTA3MTk5MjU0NzQwOTkxfDBbMS05XTcxOTkyNTQ3NDA5OTF8MDBbOC05XTE5OTI1NDc0MDk5MXwwMDdbMi05XTk5MjU0NzQwOTkxfDAwNzE5OVszLTldNTQ3NDA5OTF8MDA3MTk5Mls2LTldNDc0MDk5MXwwMDcxOTkyNVs1LTldNzQwOTkxfDAwNzE5OTI1NFs4LTldNDA5OTF8MDA3MTk5MjU0N1s1LTldMDk5MXwwMDcxOTkyNTQ3NFsxLTldOTkxfDAwNzE5OTI1NDc0MDk5WzItOV0pKSkoWyxcXH1cXF1dKS9nO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWREYXRhID0ganNvbi5yZXBsYWNlKG51bWJlcnNCaWdnZXJUaGFuTWF4SW50LCBcIiQxXFxcIiQyblxcXCIkM1wiKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzZXJpYWxpemVkRGF0YSwgKF8sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ3VzdG9tRm9ybWF0QmlnSW50ID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLm1hdGNoKC9eXFxkK24kLyk7XG4gICAgICAgIGlmIChpc0N1c3RvbUZvcm1hdEJpZ0ludClcbiAgICAgICAgICAgIHJldHVybiBCaWdJbnQodmFsdWUuc3Vic3RyaW5nKDAsIHZhbHVlLmxlbmd0aCAtIDEpKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0pO1xufTtcbmV4cG9ydCBmdW5jdGlvbiBzYWZlSnNvblBhcnNlKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzYWZlIGpzb24gcGFyc2UgdmFsdWUgb2YgdHlwZSAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT05QYXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIGNhdGNoIChfYSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVKc29uU3RyaW5naWZ5KHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogSlNPTlN0cmluZ2lmeSh2YWx1ZSkgfHwgXCJcIjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/safe-json/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/sign-client/dist/index.es.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/sign-client/dist/index.es.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ENGINE_CONTEXT: function() { return /* binding */ oe; },\n/* harmony export */ ENGINE_RPC_OPTS: function() { return /* binding */ O; },\n/* harmony export */ HISTORY_CONTEXT: function() { return /* binding */ Ze; },\n/* harmony export */ HISTORY_EVENTS: function() { return /* binding */ We; },\n/* harmony export */ HISTORY_STORAGE_VERSION: function() { return /* binding */ es; },\n/* harmony export */ METHODS_TO_VERIFY: function() { return /* binding */ ce; },\n/* harmony export */ PROPOSAL_CONTEXT: function() { return /* binding */ ie; },\n/* harmony export */ PROPOSAL_EXPIRY: function() { return /* binding */ ss; },\n/* harmony export */ PROPOSAL_EXPIRY_MESSAGE: function() { return /* binding */ re; },\n/* harmony export */ REQUEST_CONTEXT: function() { return /* binding */ ae; },\n/* harmony export */ REQUEST_QUEUE_STATES: function() { return /* binding */ V; },\n/* harmony export */ SESSION_CONTEXT: function() { return /* binding */ ne; },\n/* harmony export */ SESSION_EXPIRY: function() { return /* binding */ A; },\n/* harmony export */ SESSION_REQUEST_EXPIRY_BOUNDARIES: function() { return /* binding */ M; },\n/* harmony export */ SIGN_CLIENT_CONTEXT: function() { return /* binding */ X; },\n/* harmony export */ SIGN_CLIENT_DEFAULT: function() { return /* binding */ $; },\n/* harmony export */ SIGN_CLIENT_EVENTS: function() { return /* binding */ Fe; },\n/* harmony export */ SIGN_CLIENT_PROTOCOL: function() { return /* binding */ Y; },\n/* harmony export */ SIGN_CLIENT_STORAGE_OPTIONS: function() { return /* binding */ Be; },\n/* harmony export */ SIGN_CLIENT_STORAGE_PREFIX: function() { return /* binding */ G; },\n/* harmony export */ SIGN_CLIENT_VERSION: function() { return /* binding */ J; },\n/* harmony export */ SignClient: function() { return /* binding */ hs; },\n/* harmony export */ WALLETCONNECT_DEEPLINK_CHOICE: function() { return /* binding */ H; },\n/* harmony export */ \"default\": function() { return /* binding */ U; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @walletconnect/core */ \"./node_modules/@walletconnect/core/dist/index.es.js\");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/logger */ \"./node_modules/@walletconnect/logger/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @walletconnect/types */ \"./node_modules/@walletconnect/types/dist/index.es.js\");\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @walletconnect/utils */ \"./node_modules/@walletconnect/utils/dist/index.es.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/time */ \"./node_modules/@walletconnect/time/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\nconst Y=\"wc\",J=2,X=\"client\",G=`${Y}@${J}:${X}:`,$={name:X,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.com\"},Fe={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\"},Be={database:\":memory:\"},H=\"WALLETCONNECT_DEEPLINK_CHOICE\",We={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Ze=\"history\",es=\"0.3\",ie=\"proposal\",ss=_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.THIRTY_DAYS,re=\"Proposal expired\",ne=\"session\",A=_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.SEVEN_DAYS,oe=\"engine\",O={wc_sessionPropose:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY,prompt:!1,tag:1104},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY,prompt:!1,tag:1106},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY,prompt:!1,tag:1112},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.THIRTY_SECONDS,prompt:!1,tag:1115}}},M={min:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,max:_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.SEVEN_DAYS},V={idle:\"idle\",active:\"active\"},ae=\"request\",ce=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\"];var ts=Object.defineProperty,is=Object.defineProperties,rs=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,os=Object.prototype.propertyIsEnumerable,pe=(d,r,e)=>r in d?ts(d,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):d[r]=e,w=(d,r)=>{for(var e in r||(r={}))ns.call(r,e)&&pe(d,e,r[e]);if(le)for(var e of le(r))os.call(r,e)&&pe(d,e,r[e]);return d},F=(d,r)=>is(d,rs(r));class as extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IEngine{constructor(r){super(r),this.name=oe,this.events=new (events__WEBPACK_IMPORTED_MODULE_1___default()),this.initialized=!1,this.ignoredPayloadTypes=[_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.TYPE_1],this.requestQueue={state:V.idle,requests:[]},this.requestQueueDelay=_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.ONE_SECOND,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.client.core.pairing.register({methods:Object.keys(O)}),this.initialized=!0,setTimeout(()=>{this.requestQueue.requests=this.getPendingSessionRequests(),this.processRequestQueue()},(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.toMiliseconds)(this.requestQueueDelay)))},this.connect=async e=>{this.isInitialized();const s=F(w({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(s);const{pairingTopic:t,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:o,relays:a}=s;let l=t,h,I=!1;if(l&&(I=this.client.core.pairing.pairings.get(l).active),!l||!I){const{topic:f,uri:y}=await this.client.core.pairing.create();l=f,h=y}const g=await this.client.core.crypto.generateKeyPair(),E=w({requiredNamespaces:i,optionalNamespaces:n,relays:a??[{protocol:_walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.RELAYER_DEFAULT_PROTOCOL}],proposer:{publicKey:g,metadata:this.client.metadata}},o&&{sessionProperties:o}),{reject:u,resolve:T,done:K}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.createDelayedPromise)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES,re);if(this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_connect\"),async({error:f,session:y})=>{if(f)u(f);else if(y){y.self.publicKey=g;const B=F(w({},y),{requiredNamespaces:y.requiredNamespaces,optionalNamespaces:y.optionalNamespaces});await this.client.session.set(y.topic,B),await this.setExpiry(y.topic,y.expiry),l&&await this.client.core.pairing.updateMetadata({topic:l,metadata:y.peer.metadata}),T(B)}}),!l){const{message:f}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"NO_MATCHING_KEY\",`connect() pairing topic: ${l}`);throw new Error(f)}const L=await this.sendRequest(l,\"wc_sessionPropose\",E),he=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES);return await this.setProposal(L,w({id:L,expiry:he},E)),{uri:h,approval:K}},this.pair=async e=>(this.isInitialized(),await this.client.core.pairing.pair(e)),this.approve=async e=>{this.isInitialized(),await this.isValidApprove(e);const{id:s,relayProtocol:t,namespaces:i,sessionProperties:n}=e,o=this.client.proposal.get(s);let{pairingTopic:a,proposer:l,requiredNamespaces:h,optionalNamespaces:I}=o;a=a||\"\",(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidObject)(h)||(h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getRequiredNamespacesFromNamespaces)(i,\"approve()\"));const g=await this.client.core.crypto.generateKeyPair(),E=l.publicKey,u=await this.client.core.crypto.generateSharedKey(g,E);a&&s&&(await this.client.core.pairing.updateMetadata({topic:a,metadata:l.metadata}),await this.sendResult(s,a,{relay:{protocol:t??\"irn\"},responderPublicKey:g}),await this.client.proposal.delete(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:a}));const T=w({relay:{protocol:t??\"irn\"},namespaces:i,requiredNamespaces:h,optionalNamespaces:I,pairingTopic:a,controller:{publicKey:g,metadata:this.client.metadata},expiry:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(A)},n&&{sessionProperties:n});await this.client.core.relayer.subscribe(u),await this.sendRequest(u,\"wc_sessionSettle\",T);const K=F(w({},T),{topic:u,pairingTopic:a,acknowledged:!1,self:T.controller,peer:{publicKey:l.publicKey,metadata:l.metadata},controller:g});return await this.client.session.set(u,K),await this.setExpiry(u,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(A)),{topic:u,acknowledged:()=>new Promise(L=>setTimeout(()=>L(this.client.session.get(u)),500))}},this.reject=async e=>{this.isInitialized(),await this.isValidReject(e);const{id:s,reason:t}=e,{pairingTopic:i}=this.client.proposal.get(s);i&&(await this.sendError(s,i,t),await this.client.proposal.delete(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\")))},this.update=async e=>{this.isInitialized(),await this.isValidUpdate(e);const{topic:s,namespaces:t}=e,i=await this.sendRequest(s,\"wc_sessionUpdate\",{namespaces:t}),{done:n,resolve:o,reject:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.createDelayedPromise)();return this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_update\",i),({error:l})=>{l?a(l):o()}),await this.client.session.update(s,{namespaces:t}),{acknowledged:n}},this.extend=async e=>{this.isInitialized(),await this.isValidExtend(e);const{topic:s}=e,t=await this.sendRequest(s,\"wc_sessionExtend\",{}),{done:i,resolve:n,reject:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.createDelayedPromise)();return this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_extend\",t),({error:a})=>{a?o(a):n()}),await this.setExpiry(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(A)),{acknowledged:i}},this.request=async e=>{this.isInitialized(),await this.isValidRequest(e);const{chainId:s,request:t,topic:i,expiry:n}=e,o=await this.sendRequest(i,\"wc_sessionRequest\",{request:t,chainId:s},n),{done:a,resolve:l,reject:h}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.createDelayedPromise)(n);this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_request\",o),({error:g,result:E})=>{g?h(g):l(E)}),this.client.events.emit(\"session_request_sent\",{topic:i,request:t,chainId:s,id:o});const I=await this.client.core.storage.getItem(H);return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.handleDeeplinkRedirect)({id:o,topic:i,wcDeepLink:I}),await a()},this.respond=async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:s,response:t}=e,{id:i}=t;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(t)?await this.sendResult(i,s,t.result):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(t)&&await this.sendError(i,s,t.error),this.cleanupAfterResponse(e)},this.ping=async e=>{this.isInitialized(),await this.isValidPing(e);const{topic:s}=e;if(this.client.session.keys.includes(s)){const t=await this.sendRequest(s,\"wc_sessionPing\",{}),{done:i,resolve:n,reject:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.createDelayedPromise)();this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_ping\",t),({error:a})=>{a?o(a):n()}),await i()}else this.client.core.pairing.pairings.keys.includes(s)&&await this.client.core.pairing.ping({topic:s})},this.emit=async e=>{this.isInitialized(),await this.isValidEmit(e);const{topic:s,event:t,chainId:i}=e;await this.sendRequest(s,\"wc_sessionEvent\",{event:t,chainId:i})},this.disconnect=async e=>{this.isInitialized(),await this.isValidDisconnect(e);const{topic:s}=e;if(this.client.session.keys.includes(s)){const t=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.getBigIntRpcId)().toString();let i;const n=o=>{o?.id.toString()===t&&(this.client.core.relayer.events.removeListener(_walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.RELAYER_EVENTS.message_ack,n),i())};await Promise.all([new Promise(o=>{i=o,this.client.core.relayer.on(_walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.RELAYER_EVENTS.message_ack,n)}),this.sendRequest(s,\"wc_sessionDelete\",(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\"),void 0,t)]),await this.deleteSession(s)}else await this.client.core.pairing.disconnect({topic:s})},this.find=e=>(this.isInitialized(),this.client.session.getAll().filter(s=>(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isSessionCompatible)(s,e))),this.getPendingSessionRequests=()=>(this.isInitialized(),this.client.pendingRequest.getAll()),this.cleanupDuplicatePairings=async e=>{if(e.pairingTopic)try{const s=this.client.core.pairing.pairings.get(e.pairingTopic),t=this.client.core.pairing.pairings.getAll().filter(i=>{var n,o;return((n=i.peerMetadata)==null?void 0:n.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==s.topic});if(t.length===0)return;this.client.logger.info(`Cleaning up ${t.length} duplicate pairing(s)`),await Promise.all(t.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(s){this.client.logger.error(s)}},this.deleteSession=async(e,s)=>{const{self:t}=this.client.session.get(e);await this.client.core.relayer.unsubscribe(e),this.client.session.delete(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\")),this.client.core.crypto.keychain.has(t.publicKey)&&await this.client.core.crypto.deleteKeyPair(t.publicKey),this.client.core.crypto.keychain.has(e)&&await this.client.core.crypto.deleteSymKey(e),s||this.client.core.expirer.del(e),this.client.core.storage.removeItem(H).catch(i=>this.client.logger.warn(i))},this.deleteProposal=async(e,s)=>{await Promise.all([this.client.proposal.delete(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\")),s?Promise.resolve():this.client.core.expirer.del(e)])},this.deletePendingSessionRequest=async(e,s,t=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,s),t?Promise.resolve():this.client.core.expirer.del(e)]),this.requestQueue.requests=this.requestQueue.requests.filter(i=>i.id!==e),t&&(this.requestQueue.state=V.idle)},this.setExpiry=async(e,s)=>{this.client.session.keys.includes(e)&&await this.client.session.update(e,{expiry:s}),this.client.core.expirer.set(e,s)},this.setProposal=async(e,s)=>{await this.client.proposal.set(e,s),this.client.core.expirer.set(e,s.expiry)},this.setPendingSessionRequest=async e=>{const s=O.wc_sessionRequest.req.ttl,{id:t,topic:i,params:n}=e;await this.client.pendingRequest.set(t,{id:t,topic:i,params:n}),s&&this.client.core.expirer.set(t,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(s))},this.sendRequest=async(e,s,t,i,n)=>{const o=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcRequest)(s,t);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isBrowser)()&&ce.includes(s)){const h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.hashMessage)(JSON.stringify(o));await this.client.core.verify.register({attestationId:h})}const a=await this.client.core.crypto.encode(e,o),l=O[s].req;return i&&(l.ttl=i),n&&(l.id=n),this.client.core.history.set(e,o),this.client.core.relayer.publish(e,a,l),o.id},this.sendResult=async(e,s,t)=>{const i=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcResult)(e,t),n=await this.client.core.crypto.encode(s,i),o=await this.client.core.history.get(s,e),a=O[o.request.method].res;this.client.core.relayer.publish(s,n,a),await this.client.core.history.resolve(i)},this.sendError=async(e,s,t)=>{const i=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcError)(e,t),n=await this.client.core.crypto.encode(s,i),o=await this.client.core.history.get(s,e),a=O[o.request.method].res;this.client.core.relayer.publish(s,n,a),await this.client.core.history.resolve(i)},this.cleanup=async()=>{const e=[],s=[];this.client.session.getAll().forEach(t=>{(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isExpired)(t.expiry)&&e.push(t.topic)}),this.client.proposal.getAll().forEach(t=>{(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isExpired)(t.expiry)&&s.push(t.id)}),await Promise.all([...e.map(t=>this.deleteSession(t)),...s.map(t=>this.deleteProposal(t))])},this.onRelayEventRequest=e=>{const{topic:s,payload:t}=e,i=t.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeRequest(s,t);case\"wc_sessionSettle\":return this.onSessionSettleRequest(s,t);case\"wc_sessionUpdate\":return this.onSessionUpdateRequest(s,t);case\"wc_sessionExtend\":return this.onSessionExtendRequest(s,t);case\"wc_sessionPing\":return this.onSessionPingRequest(s,t);case\"wc_sessionDelete\":return this.onSessionDeleteRequest(s,t);case\"wc_sessionRequest\":return this.onSessionRequest(s,t);case\"wc_sessionEvent\":return this.onSessionEventRequest(s,t);default:return this.client.logger.info(`Unsupported request method ${i}`)}},this.onRelayEventResponse=async e=>{const{topic:s,payload:t}=e,i=(await this.client.core.history.get(s,t.id)).request.method;switch(i){case\"wc_sessionPropose\":return this.onSessionProposeResponse(s,t);case\"wc_sessionSettle\":return this.onSessionSettleResponse(s,t);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(s,t);case\"wc_sessionExtend\":return this.onSessionExtendResponse(s,t);case\"wc_sessionPing\":return this.onSessionPingResponse(s,t);case\"wc_sessionRequest\":return this.onSessionRequestResponse(s,t);default:return this.client.logger.info(`Unsupported response method ${i}`)}},this.onRelayEventUnknownPayload=e=>{const{topic:s}=e,{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`Decoded payload on topic ${s} is not identifiable as a JSON-RPC request or a response.`);throw new Error(t)},this.onSessionProposeRequest=async(e,s)=>{const{params:t,id:i}=s;try{this.isValidConnect(w({},s.params));const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.FIVE_MINUTES),o=w({id:i,pairingTopic:e,expiry:n},t);await this.setProposal(i,o);const a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.hashMessage)(JSON.stringify(s)),l=await this.getVerifyContext(a,o.proposer.metadata);this.client.events.emit(\"session_proposal\",{id:i,params:o,verifyContext:l})}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.onSessionProposeResponse=async(e,s)=>{const{id:t}=s;if((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(s)){const{result:i}=s;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:i});const n=this.client.proposal.get(t);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:n});const o=n.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:o});const a=i.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:a});const l=await this.client.core.crypto.generateSharedKey(o,a);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",sessionTopic:l});const h=await this.client.core.relayer.subscribe(l);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(s)&&(await this.client.proposal.delete(t,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\")),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_connect\"),{error:s.error}))},this.onSessionSettleRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidSessionSettleRequest(i);const{relay:n,controller:o,expiry:a,namespaces:l,requiredNamespaces:h,optionalNamespaces:I,sessionProperties:g,pairingTopic:E}=s.params,u=w({topic:e,relay:n,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:E,requiredNamespaces:h,optionalNamespaces:I,controller:o.publicKey,self:{publicKey:\"\",metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},g&&{sessionProperties:g});await this.sendResult(s.id,e,!0),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_connect\"),{session:u}),this.cleanupDuplicatePairings(u)}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionSettleResponse=async(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(s)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_approve\",t),{})):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(s)&&(await this.client.session.delete(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getSdkError)(\"USER_DISCONNECTED\")),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_approve\",t),{error:s.error}))},this.onSessionUpdateRequest=async(e,s)=>{const{params:t,id:i}=s;try{this.isValidUpdate(w({topic:e},t)),await this.client.session.update(e,{namespaces:t.namespaces}),await this.sendResult(i,e,!0),this.client.events.emit(\"session_update\",{id:i,topic:e,params:t})}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.onSessionUpdateResponse=(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_update\",t),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_update\",t),{error:s.error})},this.onSessionExtendRequest=async(e,s)=>{const{id:t}=s;try{this.isValidExtend({topic:e}),await this.setExpiry(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.calcExpiry)(A)),await this.sendResult(t,e,!0),this.client.events.emit(\"session_extend\",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionExtendResponse=(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_extend\",t),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_extend\",t),{error:s.error})},this.onSessionPingRequest=async(e,s)=>{const{id:t}=s;try{this.isValidPing({topic:e}),await this.sendResult(t,e,!0),this.client.events.emit(\"session_ping\",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionPingResponse=(e,s)=>{const{id:t}=s;setTimeout(()=>{(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_ping\",t),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_ping\",t),{error:s.error})},500)},this.onSessionDeleteRequest=async(e,s)=>{const{id:t}=s;try{this.isValidDisconnect({topic:e,reason:s.params}),await Promise.all([new Promise(i=>{this.client.core.relayer.once(_walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.RELAYER_EVENTS.publish,async()=>{i(await this.deleteSession(e))})}),this.sendResult(t,e,!0)]),this.client.events.emit(\"session_delete\",{id:t,topic:e})}catch(i){this.client.logger.error(i)}},this.onSessionRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidRequest(w({topic:e},i)),await this.setPendingSessionRequest({id:t,topic:e,params:i}),this.addRequestToQueue({id:t,topic:e,params:i}),await this.processRequestQueue()}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionRequestResponse=(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_request\",t),{result:s.result}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.engineEvent)(\"session_request\",t),{error:s.error})},this.onSessionEventRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidEmit(w({topic:e},i)),this.client.events.emit(\"session_event\",{id:t,topic:e,params:i})}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.addRequestToQueue=e=>{this.requestQueue.requests.push(e)},this.cleanupAfterResponse=e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.requestQueue.state=V.idle,this.processRequestQueue()},(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.toMiliseconds)(this.requestQueueDelay))},this.processRequestQueue=async()=>{if(this.requestQueue.state===V.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.requestQueue.requests[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{const{id:s,topic:t,params:i}=e,n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.hashMessage)(JSON.stringify({id:s,params:i})),o=this.client.session.get(t),a=await this.getVerifyContext(n,o.peer.metadata);this.requestQueue.state=V.active,this.client.events.emit(\"session_request\",{id:s,topic:t,params:i,verifyContext:a})}catch(s){this.client.logger.error(s)}},this.isValidConnect=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(a)}const{pairingTopic:s,requiredNamespaces:t,optionalNamespaces:i,sessionProperties:n,relays:o}=e;if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isUndefined)(s)||await this.isValidPairingTopic(s),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidRelays)(o,!0)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`connect() relays: ${o}`);throw new Error(a)}!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isUndefined)(t)&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidObject)(t)!==0&&this.validateNamespaces(t,\"requiredNamespaces\"),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isUndefined)(i)&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidObject)(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isUndefined)(n)||this.validateSessionProps(n,\"sessionProperties\")},this.validateNamespaces=(e,s)=>{const t=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidRequiredNamespaces)(e,\"connect()\",s);if(t)throw new Error(t.message)},this.isValidApprove=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e))throw new Error((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:s,namespaces:t,relayProtocol:i,sessionProperties:n}=e;await this.isValidProposalId(s);const o=this.client.proposal.get(s),a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespaces)(t,\"approve()\");if(a)throw new Error(a.message);const l=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isConformingNamespaces)(o.requiredNamespaces,t,\"approve()\");if(l)throw new Error(l.message);if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidString)(i,!0)){const{message:h}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(h)}(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isUndefined)(n)||this.validateSessionProps(n,\"sessionProperties\")},this.isValidReject=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:s,reason:t}=e;if(await this.isValidProposalId(s),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidErrorReason)(t)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(t)}`);throw new Error(i)}},this.isValidSessionSettleRequest=e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:l}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:s,controller:t,namespaces:i,expiry:n}=e;if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidRelay)(s)){const{message:l}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidController)(t,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespaces)(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isExpired)(n)){const{message:l}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(l)}},this.isValidUpdate=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:s,namespaces:t}=e;await this.isValidSessionTopic(s);const i=this.client.session.get(s),n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespaces)(t,\"update()\");if(n)throw new Error(n.message);const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isConformingNamespaces)(i.requiredNamespaces,t,\"update()\");if(o)throw new Error(o.message)},this.isValidExtend=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionTopic(s)},this.isValidRequest=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:s,request:t,chainId:i,expiry:n}=e;await this.isValidSessionTopic(s);const{namespaces:o}=this.client.session.get(s);if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespacesChainId)(o,i)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidRequest)(t)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(t)}`);throw new Error(a)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespacesRequest)(o,i,t.method)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`request() method: ${t.method}`);throw new Error(a)}if(n&&!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidRequestExpiry)(n,M)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${M.min} and ${M.max}`);throw new Error(a)}},this.isValidRespond=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(i)}const{topic:s,response:t}=e;if(await this.isValidSessionTopic(s),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidResponse)(t)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(t)}`);throw new Error(i)}},this.isValidPing=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.isValidEmit=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:s,event:t,chainId:i}=e;await this.isValidSessionTopic(s);const{namespaces:n}=this.client.session.get(s);if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespacesChainId)(n,i)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidEvent)(t)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(t)}`);throw new Error(o)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidNamespacesEvent)(n,i,t.name)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(t)}`);throw new Error(o)}},this.isValidDisconnect=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidParams)(e)){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.getVerifyContext=async(e,s)=>{const t={verified:{verifyUrl:s.verifyUrl||\"\",validation:\"UNKNOWN\",origin:s.url||\"\"}};try{const i=await this.client.core.verify.resolve({attestationId:e,verifyUrl:s.verifyUrl});i&&(t.verified.origin=i,t.verified.validation=i===s.url?\"VALID\":\"INVALID\")}catch(i){this.client.logger.error(i)}return this.client.logger.info(`Verify context: ${JSON.stringify(t)}`),t},this.validateSessionProps=(e,s)=>{Object.values(e).forEach(t=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidString)(t,!1)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`${s} must be in Record<string, string> format. Received: ${JSON.stringify(t)}`);throw new Error(i)}})}}isInitialized(){if(!this.initialized){const{message:r}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"NOT_INITIALIZED\",this.name);throw new Error(r)}}registerRelayerEvents(){this.client.core.relayer.on(_walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.RELAYER_EVENTS.message,async r=>{const{topic:e,message:s}=r;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(s)))return;const t=await this.client.core.crypto.decode(e,s);try{(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcRequest)(t)?(this.client.core.history.set(e,t),this.onRelayEventRequest({topic:e,payload:t})):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isJsonRpcResponse)(t)?(await this.client.core.history.resolve(t),await this.onRelayEventResponse({topic:e,payload:t}),this.client.core.history.delete(e,t.id)):this.onRelayEventUnknownPayload({topic:e,payload:t})}catch(i){this.client.logger.error(i)}})}registerExpirerEvents(){this.client.core.expirer.on(_walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.EXPIRER_EVENTS.expired,async r=>{const{topic:e,id:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.parseExpirerTarget)(r.target);if(s&&this.client.pendingRequest.keys.includes(s))return await this.deletePendingSessionRequest(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession(e,!0),this.client.events.emit(\"session_expire\",{topic:e})):s&&(await this.deleteProposal(s,!0),this.client.events.emit(\"proposal_expire\",{id:s}))})}isValidPairingTopic(r){if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidString)(r,!1)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${r}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${r}`);throw new Error(e)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isExpired)(this.client.core.pairing.pairings.get(r).expiry)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"EXPIRED\",`pairing topic: ${r}`);throw new Error(e)}}async isValidSessionTopic(r){if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidString)(r,!1)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`session topic should be a string: ${r}`);throw new Error(e)}if(!this.client.session.keys.includes(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${r}`);throw new Error(e)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isExpired)(this.client.session.get(r).expiry)){await this.deleteSession(r);const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"EXPIRED\",`session topic: ${r}`);throw new Error(e)}}async isValidSessionOrPairingTopic(r){if(this.client.session.keys.includes(r))await this.isValidSessionTopic(r);else if(this.client.core.pairing.pairings.keys.includes(r))this.isValidPairingTopic(r);else if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidString)(r,!1)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${r}`);throw new Error(e)}else{const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${r}`);throw new Error(e)}}async isValidProposalId(r){if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isValidId)(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"MISSING_OR_INVALID\",`proposal id should be a number: ${r}`);throw new Error(e)}if(!this.client.proposal.keys.includes(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${r}`);throw new Error(e)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.isExpired)(this.client.proposal.get(r).expiry)){await this.deleteProposal(r);const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getInternalError)(\"EXPIRED\",`proposal id: ${r}`);throw new Error(e)}}}class cs extends _walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.Store{constructor(r,e){super(r,e,ie,G),this.core=r,this.logger=e}}class ls extends _walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.Store{constructor(r,e){super(r,e,ne,G),this.core=r,this.logger=e}}class ps extends _walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.Store{constructor(r,e){super(r,e,ae,G,s=>s.id),this.core=r,this.logger=e}}class U extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.ISignClient{constructor(r){super(r),this.protocol=Y,this.version=J,this.name=$.name,this.events=new events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter,this.on=(s,t)=>this.events.on(s,t),this.once=(s,t)=>this.events.once(s,t),this.off=(s,t)=>this.events.off(s,t),this.removeListener=(s,t)=>this.events.removeListener(s,t),this.removeAllListeners=s=>this.events.removeAllListeners(s),this.connect=async s=>{try{return await this.engine.connect(s)}catch(t){throw this.logger.error(t.message),t}},this.pair=async s=>{try{return await this.engine.pair(s)}catch(t){throw this.logger.error(t.message),t}},this.approve=async s=>{try{return await this.engine.approve(s)}catch(t){throw this.logger.error(t.message),t}},this.reject=async s=>{try{return await this.engine.reject(s)}catch(t){throw this.logger.error(t.message),t}},this.update=async s=>{try{return await this.engine.update(s)}catch(t){throw this.logger.error(t.message),t}},this.extend=async s=>{try{return await this.engine.extend(s)}catch(t){throw this.logger.error(t.message),t}},this.request=async s=>{try{return await this.engine.request(s)}catch(t){throw this.logger.error(t.message),t}},this.respond=async s=>{try{return await this.engine.respond(s)}catch(t){throw this.logger.error(t.message),t}},this.ping=async s=>{try{return await this.engine.ping(s)}catch(t){throw this.logger.error(t.message),t}},this.emit=async s=>{try{return await this.engine.emit(s)}catch(t){throw this.logger.error(t.message),t}},this.disconnect=async s=>{try{return await this.engine.disconnect(s)}catch(t){throw this.logger.error(t.message),t}},this.find=s=>{try{return this.engine.find(s)}catch(t){throw this.logger.error(t.message),t}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(s){throw this.logger.error(s.message),s}},this.name=r?.name||$.name,this.metadata=r?.metadata||(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_5__.getAppMetadata)();const e=typeof r?.logger<\"u\"&&typeof r?.logger!=\"string\"?r.logger:(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__.getDefaultLoggerOptions)({level:r?.logger||$.logger}));this.core=r?.core||new _walletconnect_core__WEBPACK_IMPORTED_MODULE_6__.Core(r),this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__.generateChildLogger)(e,this.name),this.session=new ls(this.core,this.logger),this.proposal=new cs(this.core,this.logger),this.pendingRequest=new ps(this.core,this.logger),this.engine=new as(this)}static async init(r){const e=new U(r);return await e.initialize(),e}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__.getLoggerContext)(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info(\"SignClient Initialization Success\")}catch(r){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(r.message),r}}}const hs=U;\n//# sourceMappingURL=index.es.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qvc2lnbi1jbGllbnQvZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW0vQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sNkVBQTZFLEtBQUssOFVBQThVLEtBQUssb0JBQW9CLHVDQUF1QyxrR0FBa0csd0NBQXdDLDREQUFFLHNDQUFzQywyREFBRSxnQkFBZ0IsbUJBQW1CLEtBQUssSUFBSSw2REFBQyxvQkFBb0IsTUFBTSxJQUFJLDZEQUFDLHFCQUFxQixtQkFBbUIsS0FBSyxJQUFJLDZEQUFDLG9CQUFvQixNQUFNLElBQUksNkRBQUMscUJBQXFCLG1CQUFtQixLQUFLLElBQUksd0RBQUMsb0JBQW9CLE1BQU0sSUFBSSx3REFBQyxxQkFBcUIsbUJBQW1CLEtBQUssSUFBSSx3REFBQyxvQkFBb0IsTUFBTSxJQUFJLHdEQUFDLHFCQUFxQixvQkFBb0IsS0FBSyxJQUFJLDZEQUFDLG9CQUFvQixNQUFNLElBQUksNkRBQUMscUJBQXFCLGtCQUFrQixLQUFLLElBQUksNkRBQUMsb0JBQW9CLE1BQU0sSUFBSSw2REFBQyxxQkFBcUIsbUJBQW1CLEtBQUssSUFBSSx3REFBQyxvQkFBb0IsTUFBTSxJQUFJLHdEQUFDLHFCQUFxQixpQkFBaUIsS0FBSyxJQUFJLCtEQUFFLG9CQUFvQixNQUFNLElBQUksK0RBQUUsc0JBQXNCLElBQUksSUFBSSw2REFBQyxLQUFLLDJEQUFFLENBQUMsSUFBSSw0QkFBNEIsNEVBQTRFLG1PQUFtTyxrREFBa0QsbUJBQW1CLHFCQUFxQiw2QkFBNkIsb0RBQW9ELFNBQVMsc0JBQXNCLGlCQUFpQix5REFBRSxDQUFDLGVBQWUsc0NBQXNDLCtDQUFFLCtDQUErQyx3REFBRSxxQkFBcUIseUJBQXlCLHdCQUF3QiwyREFBRSxxQkFBcUIscUlBQXFJLHVCQUF1QixzQ0FBc0MsdUZBQXVGLENBQUMsa0VB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bUIsR0FBRywrREFBQyxzQ0FBc0MsNkJBQTZCLE1BQU0sVUFBVSxDQUFDLHNFQUFDLDJCQUEyQixFQUFFLEdBQUcscUJBQXFCLGlCQUFpQixzREFBQyxDQUFDLGlCQUFpQiwyQ0FBMkMsaUJBQWlCLHNEQUFDLENBQUMsaUJBQWlCLDJDQUEyQyxpQkFBaUIsc0RBQUMsQ0FBQyxpQkFBaUIsbURBQW1ELGdCQUFnQiw2REFBRSxDQUFDLGVBQWUseUVBQXlFLGdEQUFFLCtQQUErUCxJQUFJLG9DQUFvQyxTQUFTLHNDQUFzQyxxQkFBcUIsSUFBSSxpQ0FBaUMsU0FBUyxzQ0FBc0Msd0JBQXdCLElBQUksb0NBQW9DLFNBQVMsc0NBQXNDLHVCQUF1QixJQUFJLG1DQUFtQyxTQUFTLHNDQUFzQyx1QkFBdUIsSUFBSSxtQ0FBbUMsU0FBUyxzQ0FBc0MsdUJBQXVCLElBQUksbUNBQW1DLFNBQVMsc0NBQXNDLHdCQUF3QixJQUFJLG9DQUFvQyxTQUFTLHNDQUFzQyx3QkFBd0IsSUFBSSxvQ0FBb0MsU0FBUyxzQ0FBc0MscUJBQXFCLElBQUksaUNBQWlDLFNBQVMsc0NBQXNDLHFCQUFxQixJQUFJLGlDQUFpQyxTQUFTLHNDQUFzQywyQkFBMkIsSUFBSSx1Q0FBdUMsU0FBUyxzQ0FBc0MsZUFBZSxJQUFJLDJCQUEyQixTQUFTLHNDQUFzQyxxQ0FBcUMsSUFBSSwrQ0FBK0MsU0FBUyxzQ0FBc0Msc0RBQXNELG9FQUFFLEdBQUcsa0VBQWtFLDJEQUFFLENBQUMsOEVBQUUsRUFBRSwwQkFBMEIsR0FBRyx1QkFBdUIscURBQUUsZ0JBQWdCLDBFQUFFLGdMQUFnTCxxQkFBcUIsaUJBQWlCLDhCQUE4QixjQUFjLE9BQU8sdUVBQUUsY0FBYyxjQUFjLGtDQUFrQyxtQkFBbUIsaUNBQWlDLElBQUksOEpBQThKLGtDQUFrQyx3REFBd0QsU0FBUyw2RkFBNkYsV0FBMm1CO0FBQ2g1OEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3NpZ24tY2xpZW50L2Rpc3QvaW5kZXguZXMuanM/ZWIyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7UkVMQVlFUl9ERUZBVUxUX1BST1RPQ09MIGFzIGRlLFJFTEFZRVJfRVZFTlRTIGFzIGIsRVhQSVJFUl9FVkVOVFMgYXMgZ2UsU3RvcmUgYXMgayxDb3JlIGFzIHVlfWZyb21cIkB3YWxsZXRjb25uZWN0L2NvcmVcIjtpbXBvcnR7cGlubyBhcyBtZSxnZXREZWZhdWx0TG9nZ2VyT3B0aW9ucyBhcyB3ZSxnZW5lcmF0ZUNoaWxkTG9nZ2VyIGFzIHllLGdldExvZ2dlckNvbnRleHQgYXMgU2V9ZnJvbVwiQHdhbGxldGNvbm5lY3QvbG9nZ2VyXCI7aW1wb3J0e0lFbmdpbmUgYXMgSWUsSVNpZ25DbGllbnQgYXMgRWV9ZnJvbVwiQHdhbGxldGNvbm5lY3QvdHlwZXNcIjtpbXBvcnR7VFlQRV8xIGFzIF9lLGNyZWF0ZURlbGF5ZWRQcm9taXNlIGFzIHgsZW5naW5lRXZlbnQgYXMgcCxnZXRJbnRlcm5hbEVycm9yIGFzIGMsY2FsY0V4cGlyeSBhcyBfLGlzVmFsaWRPYmplY3QgYXMgUSxnZXRSZXF1aXJlZE5hbWVzcGFjZXNGcm9tTmFtZXNwYWNlcyBhcyBSZSxnZXRTZGtFcnJvciBhcyBSLGhhbmRsZURlZXBsaW5rUmVkaXJlY3QgYXMgTmUsaXNTZXNzaW9uQ29tcGF0aWJsZSBhcyBxZSxpc0Jyb3dzZXIgYXMgZmUsaGFzaE1lc3NhZ2UgYXMgeixpc0V4cGlyZWQgYXMgdixpc1ZhbGlkUGFyYW1zIGFzIFMsaXNVbmRlZmluZWQgYXMgRCxpc1ZhbGlkUmVsYXlzIGFzIHZlLGlzVmFsaWRSZXF1aXJlZE5hbWVzcGFjZXMgYXMgUGUsaXNWYWxpZE5hbWVzcGFjZXMgYXMgaixpc0NvbmZvcm1pbmdOYW1lc3BhY2VzIGFzIFcsaXNWYWxpZFN0cmluZyBhcyBDLGlzVmFsaWRFcnJvclJlYXNvbiBhcyBPZSxpc1ZhbGlkUmVsYXkgYXMgVmUsaXNWYWxpZENvbnRyb2xsZXIgYXMgVGUsaXNWYWxpZE5hbWVzcGFjZXNDaGFpbklkIGFzIFosaXNWYWxpZFJlcXVlc3QgYXMgeGUsaXNWYWxpZE5hbWVzcGFjZXNSZXF1ZXN0IGFzIERlLGlzVmFsaWRSZXF1ZXN0RXhwaXJ5IGFzIENlLGlzVmFsaWRSZXNwb25zZSBhcyBBZSxpc1ZhbGlkRXZlbnQgYXMgTGUsaXNWYWxpZE5hbWVzcGFjZXNFdmVudCBhcyBiZSxwYXJzZUV4cGlyZXJUYXJnZXQgYXMgR2UsaXNWYWxpZElkIGFzICRlLGdldEFwcE1ldGFkYXRhIGFzIE1lfWZyb21cIkB3YWxsZXRjb25uZWN0L3V0aWxzXCI7aW1wb3J0IFVlLHtFdmVudEVtaXR0ZXIgYXMgS2V9ZnJvbVwiZXZlbnRzXCI7aW1wb3J0e1RISVJUWV9EQVlTIGFzIGtlLFNFVkVOX0RBWVMgYXMgZWUsRklWRV9NSU5VVEVTIGFzIG0sT05FX0RBWSBhcyBQLFRISVJUWV9TRUNPTkRTIGFzIHNlLE9ORV9TRUNPTkQgYXMgUWUsdG9NaWxpc2Vjb25kcyBhcyB0ZX1mcm9tXCJAd2FsbGV0Y29ubmVjdC90aW1lXCI7aW1wb3J0e2lzSnNvblJwY1Jlc3VsdCBhcyBOLGlzSnNvblJwY0Vycm9yIGFzIHEsZ2V0QmlnSW50UnBjSWQgYXMgemUsZm9ybWF0SnNvblJwY1JlcXVlc3QgYXMgamUsZm9ybWF0SnNvblJwY1Jlc3VsdCBhcyBZZSxmb3JtYXRKc29uUnBjRXJyb3IgYXMgSmUsaXNKc29uUnBjUmVxdWVzdCBhcyBYZSxpc0pzb25ScGNSZXNwb25zZSBhcyBIZX1mcm9tXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzXCI7Y29uc3QgWT1cIndjXCIsSj0yLFg9XCJjbGllbnRcIixHPWAke1l9QCR7Sn06JHtYfTpgLCQ9e25hbWU6WCxsb2dnZXI6XCJlcnJvclwiLGNvbnRyb2xsZXI6ITEscmVsYXlVcmw6XCJ3c3M6Ly9yZWxheS53YWxsZXRjb25uZWN0LmNvbVwifSxGZT17c2Vzc2lvbl9wcm9wb3NhbDpcInNlc3Npb25fcHJvcG9zYWxcIixzZXNzaW9uX3VwZGF0ZTpcInNlc3Npb25fdXBkYXRlXCIsc2Vzc2lvbl9leHRlbmQ6XCJzZXNzaW9uX2V4dGVuZFwiLHNlc3Npb25fcGluZzpcInNlc3Npb25fcGluZ1wiLHNlc3Npb25fZGVsZXRlOlwic2Vzc2lvbl9kZWxldGVcIixzZXNzaW9uX2V4cGlyZTpcInNlc3Npb25fZXhwaXJlXCIsc2Vzc2lvbl9yZXF1ZXN0Olwic2Vzc2lvbl9yZXF1ZXN0XCIsc2Vzc2lvbl9yZXF1ZXN0X3NlbnQ6XCJzZXNzaW9uX3JlcXVlc3Rfc2VudFwiLHNlc3Npb25fZXZlbnQ6XCJzZXNzaW9uX2V2ZW50XCIscHJvcG9zYWxfZXhwaXJlOlwicHJvcG9zYWxfZXhwaXJlXCJ9LEJlPXtkYXRhYmFzZTpcIjptZW1vcnk6XCJ9LEg9XCJXQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRVwiLFdlPXtjcmVhdGVkOlwiaGlzdG9yeV9jcmVhdGVkXCIsdXBkYXRlZDpcImhpc3RvcnlfdXBkYXRlZFwiLGRlbGV0ZWQ6XCJoaXN0b3J5X2RlbGV0ZWRcIixzeW5jOlwiaGlzdG9yeV9zeW5jXCJ9LFplPVwiaGlzdG9yeVwiLGVzPVwiMC4zXCIsaWU9XCJwcm9wb3NhbFwiLHNzPWtlLHJlPVwiUHJvcG9zYWwgZXhwaXJlZFwiLG5lPVwic2Vzc2lvblwiLEE9ZWUsb2U9XCJlbmdpbmVcIixPPXt3Y19zZXNzaW9uUHJvcG9zZTp7cmVxOnt0dGw6bSxwcm9tcHQ6ITAsdGFnOjExMDB9LHJlczp7dHRsOm0scHJvbXB0OiExLHRhZzoxMTAxfX0sd2Nfc2Vzc2lvblNldHRsZTp7cmVxOnt0dGw6bSxwcm9tcHQ6ITEsdGFnOjExMDJ9LHJlczp7dHRsOm0scHJvbXB0OiExLHRhZzoxMTAzfX0sd2Nfc2Vzc2lvblVwZGF0ZTp7cmVxOnt0dGw6UCxwcm9tcHQ6ITEsdGFnOjExMDR9LHJlczp7dHRsOlAscHJvbXB0OiExLHRhZzoxMTA1fX0sd2Nfc2Vzc2lvbkV4dGVuZDp7cmVxOnt0dGw6UCxwcm9tcHQ6ITEsdGFnOjExMDZ9LHJlczp7dHRsOlAscHJvbXB0OiExLHRhZzoxMTA3fX0sd2Nfc2Vzc2lvblJlcXVlc3Q6e3JlcTp7dHRsOm0scHJvbXB0OiEwLHRhZzoxMTA4fSxyZXM6e3R0bDptLHByb21wdDohMSx0YWc6MTEwOX19LHdjX3Nlc3Npb25FdmVudDp7cmVxOnt0dGw6bSxwcm9tcHQ6ITAsdGFnOjExMTB9LHJlczp7dHRsOm0scHJvbXB0OiExLHRhZzoxMTExfX0sd2Nfc2Vzc2lvbkRlbGV0ZTp7cmVxOnt0dGw6UCxwcm9tcHQ6ITEsdGFnOjExMTJ9LHJlczp7dHRsOlAscHJvbXB0OiExLHRhZzoxMTEzfX0sd2Nfc2Vzc2lvblBpbmc6e3JlcTp7dHRsOnNlLHByb21wdDohMSx0YWc6MTExNH0scmVzOnt0dGw6c2UscHJvbXB0OiExLHRhZzoxMTE1fX19LE09e21pbjptLG1heDplZX0sVj17aWRsZTpcImlkbGVcIixhY3RpdmU6XCJhY3RpdmVcIn0sYWU9XCJyZXF1ZXN0XCIsY2U9W1wid2Nfc2Vzc2lvblByb3Bvc2VcIixcIndjX3Nlc3Npb25SZXF1ZXN0XCIsXCJ3Y19hdXRoUmVxdWVzdFwiXTt2YXIgdHM9T2JqZWN0LmRlZmluZVByb3BlcnR5LGlzPU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLHJzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLGxlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbnM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxvcz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLHBlPShkLHIsZSk9PnIgaW4gZD90cyhkLHIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KTpkW3JdPWUsdz0oZCxyKT0+e2Zvcih2YXIgZSBpbiByfHwocj17fSkpbnMuY2FsbChyLGUpJiZwZShkLGUscltlXSk7aWYobGUpZm9yKHZhciBlIG9mIGxlKHIpKW9zLmNhbGwocixlKSYmcGUoZCxlLHJbZV0pO3JldHVybiBkfSxGPShkLHIpPT5pcyhkLHJzKHIpKTtjbGFzcyBhcyBleHRlbmRzIElle2NvbnN0cnVjdG9yKHIpe3N1cGVyKHIpLHRoaXMubmFtZT1vZSx0aGlzLmV2ZW50cz1uZXcgVWUsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLmlnbm9yZWRQYXlsb2FkVHlwZXM9W19lXSx0aGlzLnJlcXVlc3RRdWV1ZT17c3RhdGU6Vi5pZGxlLHJlcXVlc3RzOltdfSx0aGlzLnJlcXVlc3RRdWV1ZURlbGF5PVFlLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KGF3YWl0IHRoaXMuY2xlYW51cCgpLHRoaXMucmVnaXN0ZXJSZWxheWVyRXZlbnRzKCksdGhpcy5yZWdpc3RlckV4cGlyZXJFdmVudHMoKSx0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucmVnaXN0ZXIoe21ldGhvZHM6T2JqZWN0LmtleXMoTyl9KSx0aGlzLmluaXRpYWxpemVkPSEwLHNldFRpbWVvdXQoKCk9Pnt0aGlzLnJlcXVlc3RRdWV1ZS5yZXF1ZXN0cz10aGlzLmdldFBlbmRpbmdTZXNzaW9uUmVxdWVzdHMoKSx0aGlzLnByb2Nlc3NSZXF1ZXN0UXVldWUoKX0sdGUodGhpcy5yZXF1ZXN0UXVldWVEZWxheSkpKX0sdGhpcy5jb25uZWN0PWFzeW5jIGU9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBzPUYodyh7fSxlKSx7cmVxdWlyZWROYW1lc3BhY2VzOmUucmVxdWlyZWROYW1lc3BhY2VzfHx7fSxvcHRpb25hbE5hbWVzcGFjZXM6ZS5vcHRpb25hbE5hbWVzcGFjZXN8fHt9fSk7YXdhaXQgdGhpcy5pc1ZhbGlkQ29ubmVjdChzKTtjb25zdHtwYWlyaW5nVG9waWM6dCxyZXF1aXJlZE5hbWVzcGFjZXM6aSxvcHRpb25hbE5hbWVzcGFjZXM6bixzZXNzaW9uUHJvcGVydGllczpvLHJlbGF5czphfT1zO2xldCBsPXQsaCxJPSExO2lmKGwmJihJPXRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5wYWlyaW5ncy5nZXQobCkuYWN0aXZlKSwhbHx8IUkpe2NvbnN0e3RvcGljOmYsdXJpOnl9PWF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5jcmVhdGUoKTtsPWYsaD15fWNvbnN0IGc9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2VuZXJhdGVLZXlQYWlyKCksRT13KHtyZXF1aXJlZE5hbWVzcGFjZXM6aSxvcHRpb25hbE5hbWVzcGFjZXM6bixyZWxheXM6YT8/W3twcm90b2NvbDpkZX1dLHByb3Bvc2VyOntwdWJsaWNLZXk6ZyxtZXRhZGF0YTp0aGlzLmNsaWVudC5tZXRhZGF0YX19LG8mJntzZXNzaW9uUHJvcGVydGllczpvfSkse3JlamVjdDp1LHJlc29sdmU6VCxkb25lOkt9PXgobSxyZSk7aWYodGhpcy5ldmVudHMub25jZShwKFwic2Vzc2lvbl9jb25uZWN0XCIpLGFzeW5jKHtlcnJvcjpmLHNlc3Npb246eX0pPT57aWYoZil1KGYpO2Vsc2UgaWYoeSl7eS5zZWxmLnB1YmxpY0tleT1nO2NvbnN0IEI9Rih3KHt9LHkpLHtyZXF1aXJlZE5hbWVzcGFjZXM6eS5yZXF1aXJlZE5hbWVzcGFjZXMsb3B0aW9uYWxOYW1lc3BhY2VzOnkub3B0aW9uYWxOYW1lc3BhY2VzfSk7YXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi5zZXQoeS50b3BpYyxCKSxhd2FpdCB0aGlzLnNldEV4cGlyeSh5LnRvcGljLHkuZXhwaXJ5KSxsJiZhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcudXBkYXRlTWV0YWRhdGEoe3RvcGljOmwsbWV0YWRhdGE6eS5wZWVyLm1ldGFkYXRhfSksVChCKX19KSwhbCl7Y29uc3R7bWVzc2FnZTpmfT1jKFwiTk9fTUFUQ0hJTkdfS0VZXCIsYGNvbm5lY3QoKSBwYWlyaW5nIHRvcGljOiAke2x9YCk7dGhyb3cgbmV3IEVycm9yKGYpfWNvbnN0IEw9YXdhaXQgdGhpcy5zZW5kUmVxdWVzdChsLFwid2Nfc2Vzc2lvblByb3Bvc2VcIixFKSxoZT1fKG0pO3JldHVybiBhd2FpdCB0aGlzLnNldFByb3Bvc2FsKEwsdyh7aWQ6TCxleHBpcnk6aGV9LEUpKSx7dXJpOmgsYXBwcm92YWw6S319LHRoaXMucGFpcj1hc3luYyBlPT4odGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXIoZSkpLHRoaXMuYXBwcm92ZT1hc3luYyBlPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkQXBwcm92ZShlKTtjb25zdHtpZDpzLHJlbGF5UHJvdG9jb2w6dCxuYW1lc3BhY2VzOmksc2Vzc2lvblByb3BlcnRpZXM6bn09ZSxvPXRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChzKTtsZXR7cGFpcmluZ1RvcGljOmEscHJvcG9zZXI6bCxyZXF1aXJlZE5hbWVzcGFjZXM6aCxvcHRpb25hbE5hbWVzcGFjZXM6SX09bzthPWF8fFwiXCIsUShoKXx8KGg9UmUoaSxcImFwcHJvdmUoKVwiKSk7Y29uc3QgZz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZUtleVBhaXIoKSxFPWwucHVibGljS2V5LHU9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2VuZXJhdGVTaGFyZWRLZXkoZyxFKTthJiZzJiYoYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnVwZGF0ZU1ldGFkYXRhKHt0b3BpYzphLG1ldGFkYXRhOmwubWV0YWRhdGF9KSxhd2FpdCB0aGlzLnNlbmRSZXN1bHQocyxhLHtyZWxheTp7cHJvdG9jb2w6dD8/XCJpcm5cIn0scmVzcG9uZGVyUHVibGljS2V5Omd9KSxhd2FpdCB0aGlzLmNsaWVudC5wcm9wb3NhbC5kZWxldGUocyxSKFwiVVNFUl9ESVNDT05ORUNURURcIikpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5hY3RpdmF0ZSh7dG9waWM6YX0pKTtjb25zdCBUPXcoe3JlbGF5Ontwcm90b2NvbDp0Pz9cImlyblwifSxuYW1lc3BhY2VzOmkscmVxdWlyZWROYW1lc3BhY2VzOmgsb3B0aW9uYWxOYW1lc3BhY2VzOkkscGFpcmluZ1RvcGljOmEsY29udHJvbGxlcjp7cHVibGljS2V5OmcsbWV0YWRhdGE6dGhpcy5jbGllbnQubWV0YWRhdGF9LGV4cGlyeTpfKEEpfSxuJiZ7c2Vzc2lvblByb3BlcnRpZXM6bn0pO2F3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5zdWJzY3JpYmUodSksYXdhaXQgdGhpcy5zZW5kUmVxdWVzdCh1LFwid2Nfc2Vzc2lvblNldHRsZVwiLFQpO2NvbnN0IEs9Rih3KHt9LFQpLHt0b3BpYzp1LHBhaXJpbmdUb3BpYzphLGFja25vd2xlZGdlZDohMSxzZWxmOlQuY29udHJvbGxlcixwZWVyOntwdWJsaWNLZXk6bC5wdWJsaWNLZXksbWV0YWRhdGE6bC5tZXRhZGF0YX0sY29udHJvbGxlcjpnfSk7cmV0dXJuIGF3YWl0IHRoaXMuY2xpZW50LnNlc3Npb24uc2V0KHUsSyksYXdhaXQgdGhpcy5zZXRFeHBpcnkodSxfKEEpKSx7dG9waWM6dSxhY2tub3dsZWRnZWQ6KCk9Pm5ldyBQcm9taXNlKEw9PnNldFRpbWVvdXQoKCk9PkwodGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQodSkpLDUwMCkpfX0sdGhpcy5yZWplY3Q9YXN5bmMgZT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZFJlamVjdChlKTtjb25zdHtpZDpzLHJlYXNvbjp0fT1lLHtwYWlyaW5nVG9waWM6aX09dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KHMpO2kmJihhd2FpdCB0aGlzLnNlbmRFcnJvcihzLGksdCksYXdhaXQgdGhpcy5jbGllbnQucHJvcG9zYWwuZGVsZXRlKHMsUihcIlVTRVJfRElTQ09OTkVDVEVEXCIpKSl9LHRoaXMudXBkYXRlPWFzeW5jIGU9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRVcGRhdGUoZSk7Y29uc3R7dG9waWM6cyxuYW1lc3BhY2VzOnR9PWUsaT1hd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KHMsXCJ3Y19zZXNzaW9uVXBkYXRlXCIse25hbWVzcGFjZXM6dH0pLHtkb25lOm4scmVzb2x2ZTpvLHJlamVjdDphfT14KCk7cmV0dXJuIHRoaXMuZXZlbnRzLm9uY2UocChcInNlc3Npb25fdXBkYXRlXCIsaSksKHtlcnJvcjpsfSk9PntsP2EobCk6bygpfSksYXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi51cGRhdGUocyx7bmFtZXNwYWNlczp0fSkse2Fja25vd2xlZGdlZDpufX0sdGhpcy5leHRlbmQ9YXN5bmMgZT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZEV4dGVuZChlKTtjb25zdHt0b3BpYzpzfT1lLHQ9YXdhaXQgdGhpcy5zZW5kUmVxdWVzdChzLFwid2Nfc2Vzc2lvbkV4dGVuZFwiLHt9KSx7ZG9uZTppLHJlc29sdmU6bixyZWplY3Q6b309eCgpO3JldHVybiB0aGlzLmV2ZW50cy5vbmNlKHAoXCJzZXNzaW9uX2V4dGVuZFwiLHQpLCh7ZXJyb3I6YX0pPT57YT9vKGEpOm4oKX0pLGF3YWl0IHRoaXMuc2V0RXhwaXJ5KHMsXyhBKSkse2Fja25vd2xlZGdlZDppfX0sdGhpcy5yZXF1ZXN0PWFzeW5jIGU9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRSZXF1ZXN0KGUpO2NvbnN0e2NoYWluSWQ6cyxyZXF1ZXN0OnQsdG9waWM6aSxleHBpcnk6bn09ZSxvPWF3YWl0IHRoaXMuc2VuZFJlcXVlc3QoaSxcIndjX3Nlc3Npb25SZXF1ZXN0XCIse3JlcXVlc3Q6dCxjaGFpbklkOnN9LG4pLHtkb25lOmEscmVzb2x2ZTpsLHJlamVjdDpofT14KG4pO3RoaXMuZXZlbnRzLm9uY2UocChcInNlc3Npb25fcmVxdWVzdFwiLG8pLCh7ZXJyb3I6ZyxyZXN1bHQ6RX0pPT57Zz9oKGcpOmwoRSl9KSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdChcInNlc3Npb25fcmVxdWVzdF9zZW50XCIse3RvcGljOmkscmVxdWVzdDp0LGNoYWluSWQ6cyxpZDpvfSk7Y29uc3QgST1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2UuZ2V0SXRlbShIKTtyZXR1cm4gTmUoe2lkOm8sdG9waWM6aSx3Y0RlZXBMaW5rOkl9KSxhd2FpdCBhKCl9LHRoaXMucmVzcG9uZD1hc3luYyBlPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkUmVzcG9uZChlKTtjb25zdHt0b3BpYzpzLHJlc3BvbnNlOnR9PWUse2lkOml9PXQ7Tih0KT9hd2FpdCB0aGlzLnNlbmRSZXN1bHQoaSxzLHQucmVzdWx0KTpxKHQpJiZhd2FpdCB0aGlzLnNlbmRFcnJvcihpLHMsdC5lcnJvciksdGhpcy5jbGVhbnVwQWZ0ZXJSZXNwb25zZShlKX0sdGhpcy5waW5nPWFzeW5jIGU9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRQaW5nKGUpO2NvbnN0e3RvcGljOnN9PWU7aWYodGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmluY2x1ZGVzKHMpKXtjb25zdCB0PWF3YWl0IHRoaXMuc2VuZFJlcXVlc3QocyxcIndjX3Nlc3Npb25QaW5nXCIse30pLHtkb25lOmkscmVzb2x2ZTpuLHJlamVjdDpvfT14KCk7dGhpcy5ldmVudHMub25jZShwKFwic2Vzc2lvbl9waW5nXCIsdCksKHtlcnJvcjphfSk9PnthP28oYSk6bigpfSksYXdhaXQgaSgpfWVsc2UgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocykmJmF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5waW5nKHt0b3BpYzpzfSl9LHRoaXMuZW1pdD1hc3luYyBlPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkRW1pdChlKTtjb25zdHt0b3BpYzpzLGV2ZW50OnQsY2hhaW5JZDppfT1lO2F3YWl0IHRoaXMuc2VuZFJlcXVlc3QocyxcIndjX3Nlc3Npb25FdmVudFwiLHtldmVudDp0LGNoYWluSWQ6aX0pfSx0aGlzLmRpc2Nvbm5lY3Q9YXN5bmMgZT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZERpc2Nvbm5lY3QoZSk7Y29uc3R7dG9waWM6c309ZTtpZih0aGlzLmNsaWVudC5zZXNzaW9uLmtleXMuaW5jbHVkZXMocykpe2NvbnN0IHQ9emUoKS50b1N0cmluZygpO2xldCBpO2NvbnN0IG49bz0+e28/LmlkLnRvU3RyaW5nKCk9PT10JiYodGhpcy5jbGllbnQuY29yZS5yZWxheWVyLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihiLm1lc3NhZ2VfYWNrLG4pLGkoKSl9O2F3YWl0IFByb21pc2UuYWxsKFtuZXcgUHJvbWlzZShvPT57aT1vLHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5vbihiLm1lc3NhZ2VfYWNrLG4pfSksdGhpcy5zZW5kUmVxdWVzdChzLFwid2Nfc2Vzc2lvbkRlbGV0ZVwiLFIoXCJVU0VSX0RJU0NPTk5FQ1RFRFwiKSx2b2lkIDAsdCldKSxhd2FpdCB0aGlzLmRlbGV0ZVNlc3Npb24ocyl9ZWxzZSBhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZGlzY29ubmVjdCh7dG9waWM6c30pfSx0aGlzLmZpbmQ9ZT0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMuY2xpZW50LnNlc3Npb24uZ2V0QWxsKCkuZmlsdGVyKHM9PnFlKHMsZSkpKSx0aGlzLmdldFBlbmRpbmdTZXNzaW9uUmVxdWVzdHM9KCk9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmNsaWVudC5wZW5kaW5nUmVxdWVzdC5nZXRBbGwoKSksdGhpcy5jbGVhbnVwRHVwbGljYXRlUGFpcmluZ3M9YXN5bmMgZT0+e2lmKGUucGFpcmluZ1RvcGljKXRyeXtjb25zdCBzPXRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5wYWlyaW5ncy5nZXQoZS5wYWlyaW5nVG9waWMpLHQ9dGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmdldEFsbCgpLmZpbHRlcihpPT57dmFyIG4sbztyZXR1cm4oKG49aS5wZWVyTWV0YWRhdGEpPT1udWxsP3ZvaWQgMDpuLnVybCkmJigobz1pLnBlZXJNZXRhZGF0YSk9PW51bGw/dm9pZCAwOm8udXJsKT09PWUucGVlci5tZXRhZGF0YS51cmwmJmkudG9waWMmJmkudG9waWMhPT1zLnRvcGljfSk7aWYodC5sZW5ndGg9PT0wKXJldHVybjt0aGlzLmNsaWVudC5sb2dnZXIuaW5mbyhgQ2xlYW5pbmcgdXAgJHt0Lmxlbmd0aH0gZHVwbGljYXRlIHBhaXJpbmcocylgKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChpPT50aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZGlzY29ubmVjdCh7dG9waWM6aS50b3BpY30pKSksdGhpcy5jbGllbnQubG9nZ2VyLmluZm8oXCJEdXBsaWNhdGUgcGFpcmluZ3MgY2xlYW4gdXAgZmluaXNoZWRcIil9Y2F0Y2gocyl7dGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKHMpfX0sdGhpcy5kZWxldGVTZXNzaW9uPWFzeW5jKGUscyk9Pntjb25zdHtzZWxmOnR9PXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KGUpO2F3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci51bnN1YnNjcmliZShlKSx0aGlzLmNsaWVudC5zZXNzaW9uLmRlbGV0ZShlLFIoXCJVU0VSX0RJU0NPTk5FQ1RFRFwiKSksdGhpcy5jbGllbnQuY29yZS5jcnlwdG8ua2V5Y2hhaW4uaGFzKHQucHVibGljS2V5KSYmYXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZGVsZXRlS2V5UGFpcih0LnB1YmxpY0tleSksdGhpcy5jbGllbnQuY29yZS5jcnlwdG8ua2V5Y2hhaW4uaGFzKGUpJiZhd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5kZWxldGVTeW1LZXkoZSksc3x8dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLmRlbChlKSx0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2UucmVtb3ZlSXRlbShIKS5jYXRjaChpPT50aGlzLmNsaWVudC5sb2dnZXIud2FybihpKSl9LHRoaXMuZGVsZXRlUHJvcG9zYWw9YXN5bmMoZSxzKT0+e2F3YWl0IFByb21pc2UuYWxsKFt0aGlzLmNsaWVudC5wcm9wb3NhbC5kZWxldGUoZSxSKFwiVVNFUl9ESVNDT05ORUNURURcIikpLHM/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLmRlbChlKV0pfSx0aGlzLmRlbGV0ZVBlbmRpbmdTZXNzaW9uUmVxdWVzdD1hc3luYyhlLHMsdD0hMSk9Pnthd2FpdCBQcm9taXNlLmFsbChbdGhpcy5jbGllbnQucGVuZGluZ1JlcXVlc3QuZGVsZXRlKGUscyksdD9Qcm9taXNlLnJlc29sdmUoKTp0aGlzLmNsaWVudC5jb3JlLmV4cGlyZXIuZGVsKGUpXSksdGhpcy5yZXF1ZXN0UXVldWUucmVxdWVzdHM9dGhpcy5yZXF1ZXN0UXVldWUucmVxdWVzdHMuZmlsdGVyKGk9PmkuaWQhPT1lKSx0JiYodGhpcy5yZXF1ZXN0UXVldWUuc3RhdGU9Vi5pZGxlKX0sdGhpcy5zZXRFeHBpcnk9YXN5bmMoZSxzKT0+e3RoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhlKSYmYXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi51cGRhdGUoZSx7ZXhwaXJ5OnN9KSx0aGlzLmNsaWVudC5jb3JlLmV4cGlyZXIuc2V0KGUscyl9LHRoaXMuc2V0UHJvcG9zYWw9YXN5bmMoZSxzKT0+e2F3YWl0IHRoaXMuY2xpZW50LnByb3Bvc2FsLnNldChlLHMpLHRoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5zZXQoZSxzLmV4cGlyeSl9LHRoaXMuc2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0PWFzeW5jIGU9Pntjb25zdCBzPU8ud2Nfc2Vzc2lvblJlcXVlc3QucmVxLnR0bCx7aWQ6dCx0b3BpYzppLHBhcmFtczpufT1lO2F3YWl0IHRoaXMuY2xpZW50LnBlbmRpbmdSZXF1ZXN0LnNldCh0LHtpZDp0LHRvcGljOmkscGFyYW1zOm59KSxzJiZ0aGlzLmNsaWVudC5jb3JlLmV4cGlyZXIuc2V0KHQsXyhzKSl9LHRoaXMuc2VuZFJlcXVlc3Q9YXN5bmMoZSxzLHQsaSxuKT0+e2NvbnN0IG89amUocyx0KTtpZihmZSgpJiZjZS5pbmNsdWRlcyhzKSl7Y29uc3QgaD16KEpTT04uc3RyaW5naWZ5KG8pKTthd2FpdCB0aGlzLmNsaWVudC5jb3JlLnZlcmlmeS5yZWdpc3Rlcih7YXR0ZXN0YXRpb25JZDpofSl9Y29uc3QgYT1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5lbmNvZGUoZSxvKSxsPU9bc10ucmVxO3JldHVybiBpJiYobC50dGw9aSksbiYmKGwuaWQ9biksdGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LnNldChlLG8pLHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5wdWJsaXNoKGUsYSxsKSxvLmlkfSx0aGlzLnNlbmRSZXN1bHQ9YXN5bmMoZSxzLHQpPT57Y29uc3QgaT1ZZShlLHQpLG49YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZW5jb2RlKHMsaSksbz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkuZ2V0KHMsZSksYT1PW28ucmVxdWVzdC5tZXRob2RdLnJlczt0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIucHVibGlzaChzLG4sYSksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LnJlc29sdmUoaSl9LHRoaXMuc2VuZEVycm9yPWFzeW5jKGUscyx0KT0+e2NvbnN0IGk9SmUoZSx0KSxuPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmVuY29kZShzLGkpLG89YXdhaXQgdGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LmdldChzLGUpLGE9T1tvLnJlcXVlc3QubWV0aG9kXS5yZXM7dGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnB1Ymxpc2gocyxuLGEpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5yZXNvbHZlKGkpfSx0aGlzLmNsZWFudXA9YXN5bmMoKT0+e2NvbnN0IGU9W10scz1bXTt0aGlzLmNsaWVudC5zZXNzaW9uLmdldEFsbCgpLmZvckVhY2godD0+e3YodC5leHBpcnkpJiZlLnB1c2godC50b3BpYyl9KSx0aGlzLmNsaWVudC5wcm9wb3NhbC5nZXRBbGwoKS5mb3JFYWNoKHQ9Pnt2KHQuZXhwaXJ5KSYmcy5wdXNoKHQuaWQpfSksYXdhaXQgUHJvbWlzZS5hbGwoWy4uLmUubWFwKHQ9PnRoaXMuZGVsZXRlU2Vzc2lvbih0KSksLi4ucy5tYXAodD0+dGhpcy5kZWxldGVQcm9wb3NhbCh0KSldKX0sdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0PWU9Pntjb25zdHt0b3BpYzpzLHBheWxvYWQ6dH09ZSxpPXQubWV0aG9kO3N3aXRjaChpKXtjYXNlXCJ3Y19zZXNzaW9uUHJvcG9zZVwiOnJldHVybiB0aGlzLm9uU2Vzc2lvblByb3Bvc2VSZXF1ZXN0KHMsdCk7Y2FzZVwid2Nfc2Vzc2lvblNldHRsZVwiOnJldHVybiB0aGlzLm9uU2Vzc2lvblNldHRsZVJlcXVlc3Qocyx0KTtjYXNlXCJ3Y19zZXNzaW9uVXBkYXRlXCI6cmV0dXJuIHRoaXMub25TZXNzaW9uVXBkYXRlUmVxdWVzdChzLHQpO2Nhc2VcIndjX3Nlc3Npb25FeHRlbmRcIjpyZXR1cm4gdGhpcy5vblNlc3Npb25FeHRlbmRSZXF1ZXN0KHMsdCk7Y2FzZVwid2Nfc2Vzc2lvblBpbmdcIjpyZXR1cm4gdGhpcy5vblNlc3Npb25QaW5nUmVxdWVzdChzLHQpO2Nhc2VcIndjX3Nlc3Npb25EZWxldGVcIjpyZXR1cm4gdGhpcy5vblNlc3Npb25EZWxldGVSZXF1ZXN0KHMsdCk7Y2FzZVwid2Nfc2Vzc2lvblJlcXVlc3RcIjpyZXR1cm4gdGhpcy5vblNlc3Npb25SZXF1ZXN0KHMsdCk7Y2FzZVwid2Nfc2Vzc2lvbkV2ZW50XCI6cmV0dXJuIHRoaXMub25TZXNzaW9uRXZlbnRSZXF1ZXN0KHMsdCk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jbGllbnQubG9nZ2VyLmluZm8oYFVuc3VwcG9ydGVkIHJlcXVlc3QgbWV0aG9kICR7aX1gKX19LHRoaXMub25SZWxheUV2ZW50UmVzcG9uc2U9YXN5bmMgZT0+e2NvbnN0e3RvcGljOnMscGF5bG9hZDp0fT1lLGk9KGF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5nZXQocyx0LmlkKSkucmVxdWVzdC5tZXRob2Q7c3dpdGNoKGkpe2Nhc2VcIndjX3Nlc3Npb25Qcm9wb3NlXCI6cmV0dXJuIHRoaXMub25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlKHMsdCk7Y2FzZVwid2Nfc2Vzc2lvblNldHRsZVwiOnJldHVybiB0aGlzLm9uU2Vzc2lvblNldHRsZVJlc3BvbnNlKHMsdCk7Y2FzZVwid2Nfc2Vzc2lvblVwZGF0ZVwiOnJldHVybiB0aGlzLm9uU2Vzc2lvblVwZGF0ZVJlc3BvbnNlKHMsdCk7Y2FzZVwid2Nfc2Vzc2lvbkV4dGVuZFwiOnJldHVybiB0aGlzLm9uU2Vzc2lvbkV4dGVuZFJlc3BvbnNlKHMsdCk7Y2FzZVwid2Nfc2Vzc2lvblBpbmdcIjpyZXR1cm4gdGhpcy5vblNlc3Npb25QaW5nUmVzcG9uc2Uocyx0KTtjYXNlXCJ3Y19zZXNzaW9uUmVxdWVzdFwiOnJldHVybiB0aGlzLm9uU2Vzc2lvblJlcXVlc3RSZXNwb25zZShzLHQpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBVbnN1cHBvcnRlZCByZXNwb25zZSBtZXRob2QgJHtpfWApfX0sdGhpcy5vblJlbGF5RXZlbnRVbmtub3duUGF5bG9hZD1lPT57Y29uc3R7dG9waWM6c309ZSx7bWVzc2FnZTp0fT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYERlY29kZWQgcGF5bG9hZCBvbiB0b3BpYyAke3N9IGlzIG5vdCBpZGVudGlmaWFibGUgYXMgYSBKU09OLVJQQyByZXF1ZXN0IG9yIGEgcmVzcG9uc2UuYCk7dGhyb3cgbmV3IEVycm9yKHQpfSx0aGlzLm9uU2Vzc2lvblByb3Bvc2VSZXF1ZXN0PWFzeW5jKGUscyk9Pntjb25zdHtwYXJhbXM6dCxpZDppfT1zO3RyeXt0aGlzLmlzVmFsaWRDb25uZWN0KHcoe30scy5wYXJhbXMpKTtjb25zdCBuPV8obSksbz13KHtpZDppLHBhaXJpbmdUb3BpYzplLGV4cGlyeTpufSx0KTthd2FpdCB0aGlzLnNldFByb3Bvc2FsKGksbyk7Y29uc3QgYT16KEpTT04uc3RyaW5naWZ5KHMpKSxsPWF3YWl0IHRoaXMuZ2V0VmVyaWZ5Q29udGV4dChhLG8ucHJvcG9zZXIubWV0YWRhdGEpO3RoaXMuY2xpZW50LmV2ZW50cy5lbWl0KFwic2Vzc2lvbl9wcm9wb3NhbFwiLHtpZDppLHBhcmFtczpvLHZlcmlmeUNvbnRleHQ6bH0pfWNhdGNoKG4pe2F3YWl0IHRoaXMuc2VuZEVycm9yKGksZSxuKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3Iobil9fSx0aGlzLm9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZT1hc3luYyhlLHMpPT57Y29uc3R7aWQ6dH09cztpZihOKHMpKXtjb25zdHtyZXN1bHQ6aX09czt0aGlzLmNsaWVudC5sb2dnZXIudHJhY2Uoe3R5cGU6XCJtZXRob2RcIixtZXRob2Q6XCJvblNlc3Npb25Qcm9wb3NlUmVzcG9uc2VcIixyZXN1bHQ6aX0pO2NvbnN0IG49dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KHQpO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcIm9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZVwiLHByb3Bvc2FsOm59KTtjb25zdCBvPW4ucHJvcG9zZXIucHVibGljS2V5O3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcIm9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZVwiLHNlbGZQdWJsaWNLZXk6b30pO2NvbnN0IGE9aS5yZXNwb25kZXJQdWJsaWNLZXk7dGhpcy5jbGllbnQubG9nZ2VyLnRyYWNlKHt0eXBlOlwibWV0aG9kXCIsbWV0aG9kOlwib25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlXCIscGVlclB1YmxpY0tleTphfSk7Y29uc3QgbD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZVNoYXJlZEtleShvLGEpO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcIm9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZVwiLHNlc3Npb25Ub3BpYzpsfSk7Y29uc3QgaD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIuc3Vic2NyaWJlKGwpO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZTpcIm1ldGhvZFwiLG1ldGhvZDpcIm9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZVwiLHN1YnNjcmlwdGlvbklkOmh9KSxhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuYWN0aXZhdGUoe3RvcGljOmV9KX1lbHNlIHEocykmJihhd2FpdCB0aGlzLmNsaWVudC5wcm9wb3NhbC5kZWxldGUodCxSKFwiVVNFUl9ESVNDT05ORUNURURcIikpLHRoaXMuZXZlbnRzLmVtaXQocChcInNlc3Npb25fY29ubmVjdFwiKSx7ZXJyb3I6cy5lcnJvcn0pKX0sdGhpcy5vblNlc3Npb25TZXR0bGVSZXF1ZXN0PWFzeW5jKGUscyk9Pntjb25zdHtpZDp0LHBhcmFtczppfT1zO3RyeXt0aGlzLmlzVmFsaWRTZXNzaW9uU2V0dGxlUmVxdWVzdChpKTtjb25zdHtyZWxheTpuLGNvbnRyb2xsZXI6byxleHBpcnk6YSxuYW1lc3BhY2VzOmwscmVxdWlyZWROYW1lc3BhY2VzOmgsb3B0aW9uYWxOYW1lc3BhY2VzOkksc2Vzc2lvblByb3BlcnRpZXM6ZyxwYWlyaW5nVG9waWM6RX09cy5wYXJhbXMsdT13KHt0b3BpYzplLHJlbGF5Om4sZXhwaXJ5OmEsbmFtZXNwYWNlczpsLGFja25vd2xlZGdlZDohMCxwYWlyaW5nVG9waWM6RSxyZXF1aXJlZE5hbWVzcGFjZXM6aCxvcHRpb25hbE5hbWVzcGFjZXM6SSxjb250cm9sbGVyOm8ucHVibGljS2V5LHNlbGY6e3B1YmxpY0tleTpcIlwiLG1ldGFkYXRhOnRoaXMuY2xpZW50Lm1ldGFkYXRhfSxwZWVyOntwdWJsaWNLZXk6by5wdWJsaWNLZXksbWV0YWRhdGE6by5tZXRhZGF0YX19LGcmJntzZXNzaW9uUHJvcGVydGllczpnfSk7YXdhaXQgdGhpcy5zZW5kUmVzdWx0KHMuaWQsZSwhMCksdGhpcy5ldmVudHMuZW1pdChwKFwic2Vzc2lvbl9jb25uZWN0XCIpLHtzZXNzaW9uOnV9KSx0aGlzLmNsZWFudXBEdXBsaWNhdGVQYWlyaW5ncyh1KX1jYXRjaChuKXthd2FpdCB0aGlzLnNlbmRFcnJvcih0LGUsbiksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKG4pfX0sdGhpcy5vblNlc3Npb25TZXR0bGVSZXNwb25zZT1hc3luYyhlLHMpPT57Y29uc3R7aWQ6dH09cztOKHMpPyhhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnVwZGF0ZShlLHthY2tub3dsZWRnZWQ6ITB9KSx0aGlzLmV2ZW50cy5lbWl0KHAoXCJzZXNzaW9uX2FwcHJvdmVcIix0KSx7fSkpOnEocykmJihhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLmRlbGV0ZShlLFIoXCJVU0VSX0RJU0NPTk5FQ1RFRFwiKSksdGhpcy5ldmVudHMuZW1pdChwKFwic2Vzc2lvbl9hcHByb3ZlXCIsdCkse2Vycm9yOnMuZXJyb3J9KSl9LHRoaXMub25TZXNzaW9uVXBkYXRlUmVxdWVzdD1hc3luYyhlLHMpPT57Y29uc3R7cGFyYW1zOnQsaWQ6aX09czt0cnl7dGhpcy5pc1ZhbGlkVXBkYXRlKHcoe3RvcGljOmV9LHQpKSxhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnVwZGF0ZShlLHtuYW1lc3BhY2VzOnQubmFtZXNwYWNlc30pLGF3YWl0IHRoaXMuc2VuZFJlc3VsdChpLGUsITApLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KFwic2Vzc2lvbl91cGRhdGVcIix7aWQ6aSx0b3BpYzplLHBhcmFtczp0fSl9Y2F0Y2gobil7YXdhaXQgdGhpcy5zZW5kRXJyb3IoaSxlLG4pLHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihuKX19LHRoaXMub25TZXNzaW9uVXBkYXRlUmVzcG9uc2U9KGUscyk9Pntjb25zdHtpZDp0fT1zO04ocyk/dGhpcy5ldmVudHMuZW1pdChwKFwic2Vzc2lvbl91cGRhdGVcIix0KSx7fSk6cShzKSYmdGhpcy5ldmVudHMuZW1pdChwKFwic2Vzc2lvbl91cGRhdGVcIix0KSx7ZXJyb3I6cy5lcnJvcn0pfSx0aGlzLm9uU2Vzc2lvbkV4dGVuZFJlcXVlc3Q9YXN5bmMoZSxzKT0+e2NvbnN0e2lkOnR9PXM7dHJ5e3RoaXMuaXNWYWxpZEV4dGVuZCh7dG9waWM6ZX0pLGF3YWl0IHRoaXMuc2V0RXhwaXJ5KGUsXyhBKSksYXdhaXQgdGhpcy5zZW5kUmVzdWx0KHQsZSwhMCksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoXCJzZXNzaW9uX2V4dGVuZFwiLHtpZDp0LHRvcGljOmV9KX1jYXRjaChpKXthd2FpdCB0aGlzLnNlbmRFcnJvcih0LGUsaSksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGkpfX0sdGhpcy5vblNlc3Npb25FeHRlbmRSZXNwb25zZT0oZSxzKT0+e2NvbnN0e2lkOnR9PXM7TihzKT90aGlzLmV2ZW50cy5lbWl0KHAoXCJzZXNzaW9uX2V4dGVuZFwiLHQpLHt9KTpxKHMpJiZ0aGlzLmV2ZW50cy5lbWl0KHAoXCJzZXNzaW9uX2V4dGVuZFwiLHQpLHtlcnJvcjpzLmVycm9yfSl9LHRoaXMub25TZXNzaW9uUGluZ1JlcXVlc3Q9YXN5bmMoZSxzKT0+e2NvbnN0e2lkOnR9PXM7dHJ5e3RoaXMuaXNWYWxpZFBpbmcoe3RvcGljOmV9KSxhd2FpdCB0aGlzLnNlbmRSZXN1bHQodCxlLCEwKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdChcInNlc3Npb25fcGluZ1wiLHtpZDp0LHRvcGljOmV9KX1jYXRjaChpKXthd2FpdCB0aGlzLnNlbmRFcnJvcih0LGUsaSksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGkpfX0sdGhpcy5vblNlc3Npb25QaW5nUmVzcG9uc2U9KGUscyk9Pntjb25zdHtpZDp0fT1zO3NldFRpbWVvdXQoKCk9PntOKHMpP3RoaXMuZXZlbnRzLmVtaXQocChcInNlc3Npb25fcGluZ1wiLHQpLHt9KTpxKHMpJiZ0aGlzLmV2ZW50cy5lbWl0KHAoXCJzZXNzaW9uX3BpbmdcIix0KSx7ZXJyb3I6cy5lcnJvcn0pfSw1MDApfSx0aGlzLm9uU2Vzc2lvbkRlbGV0ZVJlcXVlc3Q9YXN5bmMoZSxzKT0+e2NvbnN0e2lkOnR9PXM7dHJ5e3RoaXMuaXNWYWxpZERpc2Nvbm5lY3Qoe3RvcGljOmUscmVhc29uOnMucGFyYW1zfSksYXdhaXQgUHJvbWlzZS5hbGwoW25ldyBQcm9taXNlKGk9Pnt0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIub25jZShiLnB1Ymxpc2gsYXN5bmMoKT0+e2koYXdhaXQgdGhpcy5kZWxldGVTZXNzaW9uKGUpKX0pfSksdGhpcy5zZW5kUmVzdWx0KHQsZSwhMCldKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdChcInNlc3Npb25fZGVsZXRlXCIse2lkOnQsdG9waWM6ZX0pfWNhdGNoKGkpe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihpKX19LHRoaXMub25TZXNzaW9uUmVxdWVzdD1hc3luYyhlLHMpPT57Y29uc3R7aWQ6dCxwYXJhbXM6aX09czt0cnl7dGhpcy5pc1ZhbGlkUmVxdWVzdCh3KHt0b3BpYzplfSxpKSksYXdhaXQgdGhpcy5zZXRQZW5kaW5nU2Vzc2lvblJlcXVlc3Qoe2lkOnQsdG9waWM6ZSxwYXJhbXM6aX0pLHRoaXMuYWRkUmVxdWVzdFRvUXVldWUoe2lkOnQsdG9waWM6ZSxwYXJhbXM6aX0pLGF3YWl0IHRoaXMucHJvY2Vzc1JlcXVlc3RRdWV1ZSgpfWNhdGNoKG4pe2F3YWl0IHRoaXMuc2VuZEVycm9yKHQsZSxuKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3Iobil9fSx0aGlzLm9uU2Vzc2lvblJlcXVlc3RSZXNwb25zZT0oZSxzKT0+e2NvbnN0e2lkOnR9PXM7TihzKT90aGlzLmV2ZW50cy5lbWl0KHAoXCJzZXNzaW9uX3JlcXVlc3RcIix0KSx7cmVzdWx0OnMucmVzdWx0fSk6cShzKSYmdGhpcy5ldmVudHMuZW1pdChwKFwic2Vzc2lvbl9yZXF1ZXN0XCIsdCkse2Vycm9yOnMuZXJyb3J9KX0sdGhpcy5vblNlc3Npb25FdmVudFJlcXVlc3Q9YXN5bmMoZSxzKT0+e2NvbnN0e2lkOnQscGFyYW1zOml9PXM7dHJ5e3RoaXMuaXNWYWxpZEVtaXQodyh7dG9waWM6ZX0saSkpLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KFwic2Vzc2lvbl9ldmVudFwiLHtpZDp0LHRvcGljOmUscGFyYW1zOml9KX1jYXRjaChuKXthd2FpdCB0aGlzLnNlbmRFcnJvcih0LGUsbiksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKG4pfX0sdGhpcy5hZGRSZXF1ZXN0VG9RdWV1ZT1lPT57dGhpcy5yZXF1ZXN0UXVldWUucmVxdWVzdHMucHVzaChlKX0sdGhpcy5jbGVhbnVwQWZ0ZXJSZXNwb25zZT1lPT57dGhpcy5kZWxldGVQZW5kaW5nU2Vzc2lvblJlcXVlc3QoZS5yZXNwb25zZS5pZCx7bWVzc2FnZTpcImZ1bGZpbGxlZFwiLGNvZGU6MH0pLHNldFRpbWVvdXQoKCk9Pnt0aGlzLnJlcXVlc3RRdWV1ZS5zdGF0ZT1WLmlkbGUsdGhpcy5wcm9jZXNzUmVxdWVzdFF1ZXVlKCl9LHRlKHRoaXMucmVxdWVzdFF1ZXVlRGVsYXkpKX0sdGhpcy5wcm9jZXNzUmVxdWVzdFF1ZXVlPWFzeW5jKCk9PntpZih0aGlzLnJlcXVlc3RRdWV1ZS5zdGF0ZT09PVYuYWN0aXZlKXt0aGlzLmNsaWVudC5sb2dnZXIuaW5mbyhcInNlc3Npb24gcmVxdWVzdCBxdWV1ZSBpcyBhbHJlYWR5IGFjdGl2ZS5cIik7cmV0dXJufWNvbnN0IGU9dGhpcy5yZXF1ZXN0UXVldWUucmVxdWVzdHNbMF07aWYoIWUpe3RoaXMuY2xpZW50LmxvZ2dlci5pbmZvKFwic2Vzc2lvbiByZXF1ZXN0IHF1ZXVlIGlzIGVtcHR5LlwiKTtyZXR1cm59dHJ5e2NvbnN0e2lkOnMsdG9waWM6dCxwYXJhbXM6aX09ZSxuPXooSlNPTi5zdHJpbmdpZnkoe2lkOnMscGFyYW1zOml9KSksbz10aGlzLmNsaWVudC5zZXNzaW9uLmdldCh0KSxhPWF3YWl0IHRoaXMuZ2V0VmVyaWZ5Q29udGV4dChuLG8ucGVlci5tZXRhZGF0YSk7dGhpcy5yZXF1ZXN0UXVldWUuc3RhdGU9Vi5hY3RpdmUsdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoXCJzZXNzaW9uX3JlcXVlc3RcIix7aWQ6cyx0b3BpYzp0LHBhcmFtczppLHZlcmlmeUNvbnRleHQ6YX0pfWNhdGNoKHMpe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihzKX19LHRoaXMuaXNWYWxpZENvbm5lY3Q9YXN5bmMgZT0+e2lmKCFTKGUpKXtjb25zdHttZXNzYWdlOmF9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgY29ubmVjdCgpIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShlKX1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9Y29uc3R7cGFpcmluZ1RvcGljOnMscmVxdWlyZWROYW1lc3BhY2VzOnQsb3B0aW9uYWxOYW1lc3BhY2VzOmksc2Vzc2lvblByb3BlcnRpZXM6bixyZWxheXM6b309ZTtpZihEKHMpfHxhd2FpdCB0aGlzLmlzVmFsaWRQYWlyaW5nVG9waWMocyksIXZlKG8sITApKXtjb25zdHttZXNzYWdlOmF9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgY29ubmVjdCgpIHJlbGF5czogJHtvfWApO3Rocm93IG5ldyBFcnJvcihhKX0hRCh0KSYmUSh0KSE9PTAmJnRoaXMudmFsaWRhdGVOYW1lc3BhY2VzKHQsXCJyZXF1aXJlZE5hbWVzcGFjZXNcIiksIUQoaSkmJlEoaSkhPT0wJiZ0aGlzLnZhbGlkYXRlTmFtZXNwYWNlcyhpLFwib3B0aW9uYWxOYW1lc3BhY2VzXCIpLEQobil8fHRoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHMobixcInNlc3Npb25Qcm9wZXJ0aWVzXCIpfSx0aGlzLnZhbGlkYXRlTmFtZXNwYWNlcz0oZSxzKT0+e2NvbnN0IHQ9UGUoZSxcImNvbm5lY3QoKVwiLHMpO2lmKHQpdGhyb3cgbmV3IEVycm9yKHQubWVzc2FnZSl9LHRoaXMuaXNWYWxpZEFwcHJvdmU9YXN5bmMgZT0+e2lmKCFTKGUpKXRocm93IG5ldyBFcnJvcihjKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYGFwcHJvdmUoKSBwYXJhbXM6ICR7ZX1gKS5tZXNzYWdlKTtjb25zdHtpZDpzLG5hbWVzcGFjZXM6dCxyZWxheVByb3RvY29sOmksc2Vzc2lvblByb3BlcnRpZXM6bn09ZTthd2FpdCB0aGlzLmlzVmFsaWRQcm9wb3NhbElkKHMpO2NvbnN0IG89dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KHMpLGE9aih0LFwiYXBwcm92ZSgpXCIpO2lmKGEpdGhyb3cgbmV3IEVycm9yKGEubWVzc2FnZSk7Y29uc3QgbD1XKG8ucmVxdWlyZWROYW1lc3BhY2VzLHQsXCJhcHByb3ZlKClcIik7aWYobCl0aHJvdyBuZXcgRXJyb3IobC5tZXNzYWdlKTtpZighQyhpLCEwKSl7Y29uc3R7bWVzc2FnZTpofT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYGFwcHJvdmUoKSByZWxheVByb3RvY29sOiAke2l9YCk7dGhyb3cgbmV3IEVycm9yKGgpfUQobil8fHRoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHMobixcInNlc3Npb25Qcm9wZXJ0aWVzXCIpfSx0aGlzLmlzVmFsaWRSZWplY3Q9YXN5bmMgZT0+e2lmKCFTKGUpKXtjb25zdHttZXNzYWdlOml9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgcmVqZWN0KCkgcGFyYW1zOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKGkpfWNvbnN0e2lkOnMscmVhc29uOnR9PWU7aWYoYXdhaXQgdGhpcy5pc1ZhbGlkUHJvcG9zYWxJZChzKSwhT2UodCkpe2NvbnN0e21lc3NhZ2U6aX09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGByZWplY3QoKSByZWFzb246ICR7SlNPTi5zdHJpbmdpZnkodCl9YCk7dGhyb3cgbmV3IEVycm9yKGkpfX0sdGhpcy5pc1ZhbGlkU2Vzc2lvblNldHRsZVJlcXVlc3Q9ZT0+e2lmKCFTKGUpKXtjb25zdHttZXNzYWdlOmx9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgb25TZXNzaW9uU2V0dGxlUmVxdWVzdCgpIHBhcmFtczogJHtlfWApO3Rocm93IG5ldyBFcnJvcihsKX1jb25zdHtyZWxheTpzLGNvbnRyb2xsZXI6dCxuYW1lc3BhY2VzOmksZXhwaXJ5Om59PWU7aWYoIVZlKHMpKXtjb25zdHttZXNzYWdlOmx9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixcIm9uU2Vzc2lvblNldHRsZVJlcXVlc3QoKSByZWxheSBwcm90b2NvbCBzaG91bGQgYmUgYSBzdHJpbmdcIik7dGhyb3cgbmV3IEVycm9yKGwpfWNvbnN0IG89VGUodCxcIm9uU2Vzc2lvblNldHRsZVJlcXVlc3QoKVwiKTtpZihvKXRocm93IG5ldyBFcnJvcihvLm1lc3NhZ2UpO2NvbnN0IGE9aihpLFwib25TZXNzaW9uU2V0dGxlUmVxdWVzdCgpXCIpO2lmKGEpdGhyb3cgbmV3IEVycm9yKGEubWVzc2FnZSk7aWYodihuKSl7Y29uc3R7bWVzc2FnZTpsfT1jKFwiRVhQSVJFRFwiLFwib25TZXNzaW9uU2V0dGxlUmVxdWVzdCgpXCIpO3Rocm93IG5ldyBFcnJvcihsKX19LHRoaXMuaXNWYWxpZFVwZGF0ZT1hc3luYyBlPT57aWYoIVMoZSkpe2NvbnN0e21lc3NhZ2U6YX09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGB1cGRhdGUoKSBwYXJhbXM6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9Y29uc3R7dG9waWM6cyxuYW1lc3BhY2VzOnR9PWU7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKHMpO2NvbnN0IGk9dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQocyksbj1qKHQsXCJ1cGRhdGUoKVwiKTtpZihuKXRocm93IG5ldyBFcnJvcihuLm1lc3NhZ2UpO2NvbnN0IG89VyhpLnJlcXVpcmVkTmFtZXNwYWNlcyx0LFwidXBkYXRlKClcIik7aWYobyl0aHJvdyBuZXcgRXJyb3Ioby5tZXNzYWdlKX0sdGhpcy5pc1ZhbGlkRXh0ZW5kPWFzeW5jIGU9PntpZighUyhlKSl7Y29uc3R7bWVzc2FnZTp0fT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYGV4dGVuZCgpIHBhcmFtczogJHtlfWApO3Rocm93IG5ldyBFcnJvcih0KX1jb25zdHt0b3BpYzpzfT1lO2F3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25Ub3BpYyhzKX0sdGhpcy5pc1ZhbGlkUmVxdWVzdD1hc3luYyBlPT57aWYoIVMoZSkpe2NvbnN0e21lc3NhZ2U6YX09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGByZXF1ZXN0KCkgcGFyYW1zOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKGEpfWNvbnN0e3RvcGljOnMscmVxdWVzdDp0LGNoYWluSWQ6aSxleHBpcnk6bn09ZTthd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uVG9waWMocyk7Y29uc3R7bmFtZXNwYWNlczpvfT10aGlzLmNsaWVudC5zZXNzaW9uLmdldChzKTtpZighWihvLGkpKXtjb25zdHttZXNzYWdlOmF9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgcmVxdWVzdCgpIGNoYWluSWQ6ICR7aX1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9aWYoIXhlKHQpKXtjb25zdHttZXNzYWdlOmF9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgcmVxdWVzdCgpICR7SlNPTi5zdHJpbmdpZnkodCl9YCk7dGhyb3cgbmV3IEVycm9yKGEpfWlmKCFEZShvLGksdC5tZXRob2QpKXtjb25zdHttZXNzYWdlOmF9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgcmVxdWVzdCgpIG1ldGhvZDogJHt0Lm1ldGhvZH1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9aWYobiYmIUNlKG4sTSkpe2NvbnN0e21lc3NhZ2U6YX09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGByZXF1ZXN0KCkgZXhwaXJ5OiAke259LiBFeHBpcnkgbXVzdCBiZSBhIG51bWJlciAoaW4gc2Vjb25kcykgYmV0d2VlbiAke00ubWlufSBhbmQgJHtNLm1heH1gKTt0aHJvdyBuZXcgRXJyb3IoYSl9fSx0aGlzLmlzVmFsaWRSZXNwb25kPWFzeW5jIGU9PntpZighUyhlKSl7Y29uc3R7bWVzc2FnZTppfT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYHJlc3BvbmQoKSBwYXJhbXM6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3IoaSl9Y29uc3R7dG9waWM6cyxyZXNwb25zZTp0fT1lO2lmKGF3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25Ub3BpYyhzKSwhQWUodCkpe2NvbnN0e21lc3NhZ2U6aX09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGByZXNwb25kKCkgcmVzcG9uc2U6ICR7SlNPTi5zdHJpbmdpZnkodCl9YCk7dGhyb3cgbmV3IEVycm9yKGkpfX0sdGhpcy5pc1ZhbGlkUGluZz1hc3luYyBlPT57aWYoIVMoZSkpe2NvbnN0e21lc3NhZ2U6dH09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGBwaW5nKCkgcGFyYW1zOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHQpfWNvbnN0e3RvcGljOnN9PWU7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvbk9yUGFpcmluZ1RvcGljKHMpfSx0aGlzLmlzVmFsaWRFbWl0PWFzeW5jIGU9PntpZighUyhlKSl7Y29uc3R7bWVzc2FnZTpvfT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYGVtaXQoKSBwYXJhbXM6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iobyl9Y29uc3R7dG9waWM6cyxldmVudDp0LGNoYWluSWQ6aX09ZTthd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uVG9waWMocyk7Y29uc3R7bmFtZXNwYWNlczpufT10aGlzLmNsaWVudC5zZXNzaW9uLmdldChzKTtpZighWihuLGkpKXtjb25zdHttZXNzYWdlOm99PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgZW1pdCgpIGNoYWluSWQ6ICR7aX1gKTt0aHJvdyBuZXcgRXJyb3Iobyl9aWYoIUxlKHQpKXtjb25zdHttZXNzYWdlOm99PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgZW1pdCgpIGV2ZW50OiAke0pTT04uc3RyaW5naWZ5KHQpfWApO3Rocm93IG5ldyBFcnJvcihvKX1pZighYmUobixpLHQubmFtZSkpe2NvbnN0e21lc3NhZ2U6b309YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGBlbWl0KCkgZXZlbnQ6ICR7SlNPTi5zdHJpbmdpZnkodCl9YCk7dGhyb3cgbmV3IEVycm9yKG8pfX0sdGhpcy5pc1ZhbGlkRGlzY29ubmVjdD1hc3luYyBlPT57aWYoIVMoZSkpe2NvbnN0e21lc3NhZ2U6dH09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGBkaXNjb25uZWN0KCkgcGFyYW1zOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHQpfWNvbnN0e3RvcGljOnN9PWU7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvbk9yUGFpcmluZ1RvcGljKHMpfSx0aGlzLmdldFZlcmlmeUNvbnRleHQ9YXN5bmMoZSxzKT0+e2NvbnN0IHQ9e3ZlcmlmaWVkOnt2ZXJpZnlVcmw6cy52ZXJpZnlVcmx8fFwiXCIsdmFsaWRhdGlvbjpcIlVOS05PV05cIixvcmlnaW46cy51cmx8fFwiXCJ9fTt0cnl7Y29uc3QgaT1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLnZlcmlmeS5yZXNvbHZlKHthdHRlc3RhdGlvbklkOmUsdmVyaWZ5VXJsOnMudmVyaWZ5VXJsfSk7aSYmKHQudmVyaWZpZWQub3JpZ2luPWksdC52ZXJpZmllZC52YWxpZGF0aW9uPWk9PT1zLnVybD9cIlZBTElEXCI6XCJJTlZBTElEXCIpfWNhdGNoKGkpe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihpKX1yZXR1cm4gdGhpcy5jbGllbnQubG9nZ2VyLmluZm8oYFZlcmlmeSBjb250ZXh0OiAke0pTT04uc3RyaW5naWZ5KHQpfWApLHR9LHRoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHM9KGUscyk9PntPYmplY3QudmFsdWVzKGUpLmZvckVhY2godD0+e2lmKCFDKHQsITEpKXtjb25zdHttZXNzYWdlOml9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgJHtzfSBtdXN0IGJlIGluIFJlY29yZDxzdHJpbmcsIHN0cmluZz4gZm9ybWF0LiBSZWNlaXZlZDogJHtKU09OLnN0cmluZ2lmeSh0KX1gKTt0aHJvdyBuZXcgRXJyb3IoaSl9fSl9fWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTpyfT1jKFwiTk9UX0lOSVRJQUxJWkVEXCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3Iocil9fXJlZ2lzdGVyUmVsYXllckV2ZW50cygpe3RoaXMuY2xpZW50LmNvcmUucmVsYXllci5vbihiLm1lc3NhZ2UsYXN5bmMgcj0+e2NvbnN0e3RvcGljOmUsbWVzc2FnZTpzfT1yO2lmKHRoaXMuaWdub3JlZFBheWxvYWRUeXBlcy5pbmNsdWRlcyh0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZXRQYXlsb2FkVHlwZShzKSkpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZGVjb2RlKGUscyk7dHJ5e1hlKHQpPyh0aGlzLmNsaWVudC5jb3JlLmhpc3Rvcnkuc2V0KGUsdCksdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0KHt0b3BpYzplLHBheWxvYWQ6dH0pKTpIZSh0KT8oYXdhaXQgdGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LnJlc29sdmUodCksYXdhaXQgdGhpcy5vblJlbGF5RXZlbnRSZXNwb25zZSh7dG9waWM6ZSxwYXlsb2FkOnR9KSx0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkuZGVsZXRlKGUsdC5pZCkpOnRoaXMub25SZWxheUV2ZW50VW5rbm93blBheWxvYWQoe3RvcGljOmUscGF5bG9hZDp0fSl9Y2F0Y2goaSl7dGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGkpfX0pfXJlZ2lzdGVyRXhwaXJlckV2ZW50cygpe3RoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5vbihnZS5leHBpcmVkLGFzeW5jIHI9Pntjb25zdHt0b3BpYzplLGlkOnN9PUdlKHIudGFyZ2V0KTtpZihzJiZ0aGlzLmNsaWVudC5wZW5kaW5nUmVxdWVzdC5rZXlzLmluY2x1ZGVzKHMpKXJldHVybiBhd2FpdCB0aGlzLmRlbGV0ZVBlbmRpbmdTZXNzaW9uUmVxdWVzdChzLGMoXCJFWFBJUkVEXCIpLCEwKTtlP3RoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhlKSYmKGF3YWl0IHRoaXMuZGVsZXRlU2Vzc2lvbihlLCEwKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdChcInNlc3Npb25fZXhwaXJlXCIse3RvcGljOmV9KSk6cyYmKGF3YWl0IHRoaXMuZGVsZXRlUHJvcG9zYWwocywhMCksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoXCJwcm9wb3NhbF9leHBpcmVcIix7aWQ6c30pKX0pfWlzVmFsaWRQYWlyaW5nVG9waWMocil7aWYoIUMociwhMSkpe2NvbnN0e21lc3NhZ2U6ZX09YyhcIk1JU1NJTkdfT1JfSU5WQUxJRFwiLGBwYWlyaW5nIHRvcGljIHNob3VsZCBiZSBhIHN0cmluZzogJHtyfWApO3Rocm93IG5ldyBFcnJvcihlKX1pZighdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocikpe2NvbnN0e21lc3NhZ2U6ZX09YyhcIk5PX01BVENISU5HX0tFWVwiLGBwYWlyaW5nIHRvcGljIGRvZXNuJ3QgZXhpc3Q6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoZSl9aWYodih0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3MuZ2V0KHIpLmV4cGlyeSkpe2NvbnN0e21lc3NhZ2U6ZX09YyhcIkVYUElSRURcIixgcGFpcmluZyB0b3BpYzogJHtyfWApO3Rocm93IG5ldyBFcnJvcihlKX19YXN5bmMgaXNWYWxpZFNlc3Npb25Ub3BpYyhyKXtpZighQyhyLCExKSl7Y29uc3R7bWVzc2FnZTplfT1jKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYHNlc3Npb24gdG9waWMgc2hvdWxkIGJlIGEgc3RyaW5nOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGUpfWlmKCF0aGlzLmNsaWVudC5zZXNzaW9uLmtleXMuaW5jbHVkZXMocikpe2NvbnN0e21lc3NhZ2U6ZX09YyhcIk5PX01BVENISU5HX0tFWVwiLGBzZXNzaW9uIHRvcGljIGRvZXNuJ3QgZXhpc3Q6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoZSl9aWYodih0aGlzLmNsaWVudC5zZXNzaW9uLmdldChyKS5leHBpcnkpKXthd2FpdCB0aGlzLmRlbGV0ZVNlc3Npb24ocik7Y29uc3R7bWVzc2FnZTplfT1jKFwiRVhQSVJFRFwiLGBzZXNzaW9uIHRvcGljOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGUpfX1hc3luYyBpc1ZhbGlkU2Vzc2lvbk9yUGFpcmluZ1RvcGljKHIpe2lmKHRoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhyKSlhd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uVG9waWMocik7ZWxzZSBpZih0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhyKSl0aGlzLmlzVmFsaWRQYWlyaW5nVG9waWMocik7ZWxzZSBpZihDKHIsITEpKXtjb25zdHttZXNzYWdlOmV9PWMoXCJOT19NQVRDSElOR19LRVlcIixgc2Vzc2lvbiBvciBwYWlyaW5nIHRvcGljIGRvZXNuJ3QgZXhpc3Q6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoZSl9ZWxzZXtjb25zdHttZXNzYWdlOmV9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgc2Vzc2lvbiBvciBwYWlyaW5nIHRvcGljIHNob3VsZCBiZSBhIHN0cmluZzogJHtyfWApO3Rocm93IG5ldyBFcnJvcihlKX19YXN5bmMgaXNWYWxpZFByb3Bvc2FsSWQocil7aWYoISRlKHIpKXtjb25zdHttZXNzYWdlOmV9PWMoXCJNSVNTSU5HX09SX0lOVkFMSURcIixgcHJvcG9zYWwgaWQgc2hvdWxkIGJlIGEgbnVtYmVyOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGUpfWlmKCF0aGlzLmNsaWVudC5wcm9wb3NhbC5rZXlzLmluY2x1ZGVzKHIpKXtjb25zdHttZXNzYWdlOmV9PWMoXCJOT19NQVRDSElOR19LRVlcIixgcHJvcG9zYWwgaWQgZG9lc24ndCBleGlzdDogJHtyfWApO3Rocm93IG5ldyBFcnJvcihlKX1pZih2KHRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChyKS5leHBpcnkpKXthd2FpdCB0aGlzLmRlbGV0ZVByb3Bvc2FsKHIpO2NvbnN0e21lc3NhZ2U6ZX09YyhcIkVYUElSRURcIixgcHJvcG9zYWwgaWQ6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoZSl9fX1jbGFzcyBjcyBleHRlbmRzIGt7Y29uc3RydWN0b3IocixlKXtzdXBlcihyLGUsaWUsRyksdGhpcy5jb3JlPXIsdGhpcy5sb2dnZXI9ZX19Y2xhc3MgbHMgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKHIsZSl7c3VwZXIocixlLG5lLEcpLHRoaXMuY29yZT1yLHRoaXMubG9nZ2VyPWV9fWNsYXNzIHBzIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihyLGUpe3N1cGVyKHIsZSxhZSxHLHM9PnMuaWQpLHRoaXMuY29yZT1yLHRoaXMubG9nZ2VyPWV9fWNsYXNzIFUgZXh0ZW5kcyBFZXtjb25zdHJ1Y3RvcihyKXtzdXBlcihyKSx0aGlzLnByb3RvY29sPVksdGhpcy52ZXJzaW9uPUosdGhpcy5uYW1lPSQubmFtZSx0aGlzLmV2ZW50cz1uZXcgS2UsdGhpcy5vbj0ocyx0KT0+dGhpcy5ldmVudHMub24ocyx0KSx0aGlzLm9uY2U9KHMsdCk9PnRoaXMuZXZlbnRzLm9uY2Uocyx0KSx0aGlzLm9mZj0ocyx0KT0+dGhpcy5ldmVudHMub2ZmKHMsdCksdGhpcy5yZW1vdmVMaXN0ZW5lcj0ocyx0KT0+dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIocyx0KSx0aGlzLnJlbW92ZUFsbExpc3RlbmVycz1zPT50aGlzLmV2ZW50cy5yZW1vdmVBbGxMaXN0ZW5lcnMocyksdGhpcy5jb25uZWN0PWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLmNvbm5lY3Qocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5wYWlyPWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnBhaXIocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5hcHByb3ZlPWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLmFwcHJvdmUocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5yZWplY3Q9YXN5bmMgcz0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUucmVqZWN0KHMpfWNhdGNoKHQpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKHQubWVzc2FnZSksdH19LHRoaXMudXBkYXRlPWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnVwZGF0ZShzKX1jYXRjaCh0KXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcih0Lm1lc3NhZ2UpLHR9fSx0aGlzLmV4dGVuZD1hc3luYyBzPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5leHRlbmQocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5yZXF1ZXN0PWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnJlcXVlc3Qocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5yZXNwb25kPWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnJlc3BvbmQocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5waW5nPWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLnBpbmcocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5lbWl0PWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLmVtaXQocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5kaXNjb25uZWN0PWFzeW5jIHM9Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLmRpc2Nvbm5lY3Qocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5maW5kPXM9Pnt0cnl7cmV0dXJuIHRoaXMuZW5naW5lLmZpbmQocyl9Y2F0Y2godCl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IodC5tZXNzYWdlKSx0fX0sdGhpcy5nZXRQZW5kaW5nU2Vzc2lvblJlcXVlc3RzPSgpPT57dHJ5e3JldHVybiB0aGlzLmVuZ2luZS5nZXRQZW5kaW5nU2Vzc2lvblJlcXVlc3RzKCl9Y2F0Y2gocyl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3Iocy5tZXNzYWdlKSxzfX0sdGhpcy5uYW1lPXI/Lm5hbWV8fCQubmFtZSx0aGlzLm1ldGFkYXRhPXI/Lm1ldGFkYXRhfHxNZSgpO2NvbnN0IGU9dHlwZW9mIHI/LmxvZ2dlcjxcInVcIiYmdHlwZW9mIHI/LmxvZ2dlciE9XCJzdHJpbmdcIj9yLmxvZ2dlcjptZSh3ZSh7bGV2ZWw6cj8ubG9nZ2VyfHwkLmxvZ2dlcn0pKTt0aGlzLmNvcmU9cj8uY29yZXx8bmV3IHVlKHIpLHRoaXMubG9nZ2VyPXllKGUsdGhpcy5uYW1lKSx0aGlzLnNlc3Npb249bmV3IGxzKHRoaXMuY29yZSx0aGlzLmxvZ2dlciksdGhpcy5wcm9wb3NhbD1uZXcgY3ModGhpcy5jb3JlLHRoaXMubG9nZ2VyKSx0aGlzLnBlbmRpbmdSZXF1ZXN0PW5ldyBwcyh0aGlzLmNvcmUsdGhpcy5sb2dnZXIpLHRoaXMuZW5naW5lPW5ldyBhcyh0aGlzKX1zdGF0aWMgYXN5bmMgaW5pdChyKXtjb25zdCBlPW5ldyBVKHIpO3JldHVybiBhd2FpdCBlLmluaXRpYWxpemUoKSxlfWdldCBjb250ZXh0KCl7cmV0dXJuIFNlKHRoaXMubG9nZ2VyKX1nZXQgcGFpcmluZygpe3JldHVybiB0aGlzLmNvcmUucGFpcmluZy5wYWlyaW5nc31hc3luYyBpbml0aWFsaXplKCl7dGhpcy5sb2dnZXIudHJhY2UoXCJJbml0aWFsaXplZFwiKTt0cnl7YXdhaXQgdGhpcy5jb3JlLnN0YXJ0KCksYXdhaXQgdGhpcy5zZXNzaW9uLmluaXQoKSxhd2FpdCB0aGlzLnByb3Bvc2FsLmluaXQoKSxhd2FpdCB0aGlzLnBlbmRpbmdSZXF1ZXN0LmluaXQoKSxhd2FpdCB0aGlzLmVuZ2luZS5pbml0KCksdGhpcy5jb3JlLnZlcmlmeS5pbml0KHt2ZXJpZnlVcmw6dGhpcy5tZXRhZGF0YS52ZXJpZnlVcmx9KSx0aGlzLmxvZ2dlci5pbmZvKFwiU2lnbkNsaWVudCBJbml0aWFsaXphdGlvbiBTdWNjZXNzXCIpfWNhdGNoKHIpe3Rocm93IHRoaXMubG9nZ2VyLmluZm8oXCJTaWduQ2xpZW50IEluaXRpYWxpemF0aW9uIEZhaWx1cmVcIiksdGhpcy5sb2dnZXIuZXJyb3Ioci5tZXNzYWdlKSxyfX19Y29uc3QgaHM9VTtleHBvcnR7b2UgYXMgRU5HSU5FX0NPTlRFWFQsTyBhcyBFTkdJTkVfUlBDX09QVFMsWmUgYXMgSElTVE9SWV9DT05URVhULFdlIGFzIEhJU1RPUllfRVZFTlRTLGVzIGFzIEhJU1RPUllfU1RPUkFHRV9WRVJTSU9OLGNlIGFzIE1FVEhPRFNfVE9fVkVSSUZZLGllIGFzIFBST1BPU0FMX0NPTlRFWFQsc3MgYXMgUFJPUE9TQUxfRVhQSVJZLHJlIGFzIFBST1BPU0FMX0VYUElSWV9NRVNTQUdFLGFlIGFzIFJFUVVFU1RfQ09OVEVYVCxWIGFzIFJFUVVFU1RfUVVFVUVfU1RBVEVTLG5lIGFzIFNFU1NJT05fQ09OVEVYVCxBIGFzIFNFU1NJT05fRVhQSVJZLE0gYXMgU0VTU0lPTl9SRVFVRVNUX0VYUElSWV9CT1VOREFSSUVTLFggYXMgU0lHTl9DTElFTlRfQ09OVEVYVCwkIGFzIFNJR05fQ0xJRU5UX0RFRkFVTFQsRmUgYXMgU0lHTl9DTElFTlRfRVZFTlRTLFkgYXMgU0lHTl9DTElFTlRfUFJPVE9DT0wsQmUgYXMgU0lHTl9DTElFTlRfU1RPUkFHRV9PUFRJT05TLEcgYXMgU0lHTl9DTElFTlRfU1RPUkFHRV9QUkVGSVgsSiBhcyBTSUdOX0NMSUVOVF9WRVJTSU9OLGhzIGFzIFNpZ25DbGllbnQsSCBhcyBXQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRSxVIGFzIGRlZmF1bHR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguZXMuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/sign-client/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/types/dist/index.es.js": -/*!************************************************************!*\ - !*** ./node_modules/@walletconnect/types/dist/index.es.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ICore: function() { return /* binding */ n; },\n/* harmony export */ ICrypto: function() { return /* binding */ l; },\n/* harmony export */ IEngine: function() { return /* binding */ S; },\n/* harmony export */ IEngineEvents: function() { return /* binding */ C; },\n/* harmony export */ IExpirer: function() { return /* binding */ E; },\n/* harmony export */ IJsonRpcHistory: function() { return /* binding */ h; },\n/* harmony export */ IKeyChain: function() { return /* binding */ x; },\n/* harmony export */ IMessageTracker: function() { return /* binding */ a; },\n/* harmony export */ IPairing: function() { return /* binding */ m; },\n/* harmony export */ IPublisher: function() { return /* binding */ u; },\n/* harmony export */ IRelayer: function() { return /* binding */ g; },\n/* harmony export */ ISignClient: function() { return /* binding */ b; },\n/* harmony export */ ISignClientEvents: function() { return /* binding */ v; },\n/* harmony export */ IStore: function() { return /* binding */ p; },\n/* harmony export */ ISubscriber: function() { return /* binding */ d; },\n/* harmony export */ ISubscriberTopicMap: function() { return /* binding */ I; },\n/* harmony export */ IVerify: function() { return /* binding */ y; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/events */ \"./node_modules/@walletconnect/events/dist/esm/index.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\nclass n extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s){super(),this.opts=s,this.protocol=\"wc\",this.version=2}}class l{constructor(s,t,o){this.core=s,this.logger=t}}class h extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.core=s,this.logger=t,this.records=new Map}}class a{constructor(s,t){this.logger=s,this.core=t}}class u extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.relayer=s,this.logger=t}}class g extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s){super()}}class p{constructor(s,t,o,w){this.core=s,this.logger=t,this.name=o}}class I{constructor(){this.map=new Map}}class d extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.relayer=s,this.logger=t}}class x{constructor(s,t){this.core=s,this.logger=t}}class E extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.core=s,this.logger=t}}class m{constructor(s,t){this.logger=s,this.core=t}}class y{constructor(s,t){this.projectId=s,this.logger=t}}class v extends (events__WEBPACK_IMPORTED_MODULE_1___default()){constructor(){super()}}class b{constructor(s){this.opts=s,this.protocol=\"wc\",this.version=2}}class C extends events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter{constructor(){super()}}class S{constructor(s){this.client=s}}\n//# sourceMappingURL=index.es.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdHlwZXMvZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5RixnQkFBZ0IsMERBQUMsQ0FBQyxlQUFlLHVEQUF1RCxRQUFRLG1CQUFtQiwyQkFBMkIsZ0JBQWdCLDBEQUFDLENBQUMsaUJBQWlCLHdEQUF3RCxRQUFRLGlCQUFpQiwyQkFBMkIsZ0JBQWdCLDBEQUFDLENBQUMsaUJBQWlCLHNDQUFzQyxnQkFBZ0IsMERBQUMsQ0FBQyxlQUFlLFNBQVMsUUFBUSxxQkFBcUIsdUNBQXVDLFFBQVEsY0FBYyxrQkFBa0IsZ0JBQWdCLDBEQUFDLENBQUMsaUJBQWlCLHNDQUFzQyxRQUFRLGlCQUFpQiwyQkFBMkIsZ0JBQWdCLDBEQUFDLENBQUMsaUJBQWlCLG1DQUFtQyxRQUFRLGlCQUFpQiwyQkFBMkIsUUFBUSxpQkFBaUIsZ0NBQWdDLGdCQUFnQiwrQ0FBQyxDQUFDLGNBQWMsU0FBUyxRQUFRLGVBQWUsK0NBQStDLGdCQUFnQixnREFBQyxDQUFDLGNBQWMsU0FBUyxRQUFRLGVBQWUsZUFBNlM7QUFDajJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC90eXBlcy9kaXN0L2luZGV4LmVzLmpzPzYwYTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e0lFdmVudHMgYXMgZX1mcm9tXCJAd2FsbGV0Y29ubmVjdC9ldmVudHNcIjtpbXBvcnQgYyx7RXZlbnRFbWl0dGVyIGFzIGl9ZnJvbVwiZXZlbnRzXCI7Y2xhc3MgbiBleHRlbmRzIGV7Y29uc3RydWN0b3Iocyl7c3VwZXIoKSx0aGlzLm9wdHM9cyx0aGlzLnByb3RvY29sPVwid2NcIix0aGlzLnZlcnNpb249Mn19Y2xhc3MgbHtjb25zdHJ1Y3RvcihzLHQsbyl7dGhpcy5jb3JlPXMsdGhpcy5sb2dnZXI9dH19Y2xhc3MgaCBleHRlbmRzIGV7Y29uc3RydWN0b3Iocyx0KXtzdXBlcigpLHRoaXMuY29yZT1zLHRoaXMubG9nZ2VyPXQsdGhpcy5yZWNvcmRzPW5ldyBNYXB9fWNsYXNzIGF7Y29uc3RydWN0b3Iocyx0KXt0aGlzLmxvZ2dlcj1zLHRoaXMuY29yZT10fX1jbGFzcyB1IGV4dGVuZHMgZXtjb25zdHJ1Y3RvcihzLHQpe3N1cGVyKCksdGhpcy5yZWxheWVyPXMsdGhpcy5sb2dnZXI9dH19Y2xhc3MgZyBleHRlbmRzIGV7Y29uc3RydWN0b3Iocyl7c3VwZXIoKX19Y2xhc3MgcHtjb25zdHJ1Y3RvcihzLHQsbyx3KXt0aGlzLmNvcmU9cyx0aGlzLmxvZ2dlcj10LHRoaXMubmFtZT1vfX1jbGFzcyBJe2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH19Y2xhc3MgZCBleHRlbmRzIGV7Y29uc3RydWN0b3Iocyx0KXtzdXBlcigpLHRoaXMucmVsYXllcj1zLHRoaXMubG9nZ2VyPXR9fWNsYXNzIHh7Y29uc3RydWN0b3Iocyx0KXt0aGlzLmNvcmU9cyx0aGlzLmxvZ2dlcj10fX1jbGFzcyBFIGV4dGVuZHMgZXtjb25zdHJ1Y3RvcihzLHQpe3N1cGVyKCksdGhpcy5jb3JlPXMsdGhpcy5sb2dnZXI9dH19Y2xhc3MgbXtjb25zdHJ1Y3RvcihzLHQpe3RoaXMubG9nZ2VyPXMsdGhpcy5jb3JlPXR9fWNsYXNzIHl7Y29uc3RydWN0b3Iocyx0KXt0aGlzLnByb2plY3RJZD1zLHRoaXMubG9nZ2VyPXR9fWNsYXNzIHYgZXh0ZW5kcyBje2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19Y2xhc3MgYntjb25zdHJ1Y3RvcihzKXt0aGlzLm9wdHM9cyx0aGlzLnByb3RvY29sPVwid2NcIix0aGlzLnZlcnNpb249Mn19Y2xhc3MgQyBleHRlbmRzIGl7Y29uc3RydWN0b3IoKXtzdXBlcigpfX1jbGFzcyBTe2NvbnN0cnVjdG9yKHMpe3RoaXMuY2xpZW50PXN9fWV4cG9ydHtuIGFzIElDb3JlLGwgYXMgSUNyeXB0byxTIGFzIElFbmdpbmUsQyBhcyBJRW5naW5lRXZlbnRzLEUgYXMgSUV4cGlyZXIsaCBhcyBJSnNvblJwY0hpc3RvcnkseCBhcyBJS2V5Q2hhaW4sYSBhcyBJTWVzc2FnZVRyYWNrZXIsbSBhcyBJUGFpcmluZyx1IGFzIElQdWJsaXNoZXIsZyBhcyBJUmVsYXllcixiIGFzIElTaWduQ2xpZW50LHYgYXMgSVNpZ25DbGllbnRFdmVudHMscCBhcyBJU3RvcmUsZCBhcyBJU3Vic2NyaWJlcixJIGFzIElTdWJzY3JpYmVyVG9waWNNYXAseSBhcyBJVmVyaWZ5fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmVzLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/types/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/universal-provider/dist/index.es.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/universal-provider/dist/index.es.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UniversalProvider: function() { return /* binding */ av; },\n/* harmony export */ \"default\": function() { return /* binding */ hr; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_sign_client__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @walletconnect/sign-client */ \"./node_modules/@walletconnect/sign-client/dist/index.es.js\");\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @walletconnect/utils */ \"./node_modules/@walletconnect/utils/dist/index.es.js\");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/logger */ \"./node_modules/@walletconnect/logger/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/jsonrpc-http-connection */ \"./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/jsonrpc-provider */ \"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_3__);\nconst Ca=\"error\",Hg=\"wss://relay.walletconnect.com\",$g=\"wc\",Ug=\"universal_provider\",Ia=`${$g}@2:${Ug}:`,Wg=\"https://rpc.walletconnect.com/v1\",ot={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};var pe=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof __webpack_require__.g<\"u\"?__webpack_require__.g:typeof self<\"u\"?self:{},$i={exports:{}};/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\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 */(function(C,u){(function(){var i,p=\"4.17.21\",I=200,D=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",F=\"Expected a function\",Fn=\"Invalid `variable` option passed into `_.template`\",Gt=\"__lodash_hash_undefined__\",lr=500,At=\"__lodash_placeholder__\",Ln=1,Mn=2,Ct=4,It=1,de=2,vn=1,ft=2,Mi=4,Dn=8,xt=16,Nn=32,Et=64,qn=128,zt=256,pr=512,Ta=30,La=\"...\",Da=800,Na=16,qi=1,Ha=2,$a=3,ct=1/0,kn=9007199254740991,Ua=17976931348623157e292,ge=0/0,Hn=4294967295,Wa=Hn-1,Fa=Hn>>>1,Ma=[[\"ary\",qn],[\"bind\",vn],[\"bindKey\",ft],[\"curry\",Dn],[\"curryRight\",xt],[\"flip\",pr],[\"partial\",Nn],[\"partialRight\",Et],[\"rearg\",zt]],yt=\"[object Arguments]\",ve=\"[object Array]\",qa=\"[object AsyncFunction]\",Kt=\"[object Boolean]\",Yt=\"[object Date]\",Ba=\"[object DOMException]\",_e=\"[object Error]\",me=\"[object Function]\",Bi=\"[object GeneratorFunction]\",yn=\"[object Map]\",Zt=\"[object Number]\",Ga=\"[object Null]\",Bn=\"[object Object]\",Gi=\"[object Promise]\",za=\"[object Proxy]\",Jt=\"[object RegExp]\",Sn=\"[object Set]\",Xt=\"[object String]\",we=\"[object Symbol]\",Ka=\"[object Undefined]\",Qt=\"[object WeakMap]\",Ya=\"[object WeakSet]\",Vt=\"[object ArrayBuffer]\",St=\"[object DataView]\",dr=\"[object Float32Array]\",gr=\"[object Float64Array]\",vr=\"[object Int8Array]\",_r=\"[object Int16Array]\",mr=\"[object Int32Array]\",wr=\"[object Uint8Array]\",Pr=\"[object Uint8ClampedArray]\",Ar=\"[object Uint16Array]\",Cr=\"[object Uint32Array]\",Za=/\\b__p \\+= '';/g,Ja=/\\b(__p \\+=) '' \\+/g,Xa=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,zi=/&(?:amp|lt|gt|quot|#39);/g,Ki=/[&<>\"']/g,Qa=RegExp(zi.source),Va=RegExp(Ki.source),ka=/<%-([\\s\\S]+?)%>/g,ja=/<%([\\s\\S]+?)%>/g,Yi=/<%=([\\s\\S]+?)%>/g,no=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,to=/^\\w*$/,eo=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Ir=/[\\\\^$.*+?()[\\]{}|]/g,ro=RegExp(Ir.source),xr=/^\\s+/,io=/\\s/,so=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,uo=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,ao=/,? & /,oo=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,fo=/[()=,{}\\[\\]\\/\\s]/,co=/\\\\(\\\\)?/g,ho=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Zi=/\\w*$/,lo=/^[-+]0x[0-9a-f]+$/i,po=/^0b[01]+$/i,go=/^\\[object .+?Constructor\\]$/,vo=/^0o[0-7]+$/i,_o=/^(?:0|[1-9]\\d*)$/,mo=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Pe=/($^)/,wo=/['\\n\\r\\u2028\\u2029\\\\]/g,Ae=\"\\\\ud800-\\\\udfff\",Po=\"\\\\u0300-\\\\u036f\",Ao=\"\\\\ufe20-\\\\ufe2f\",Co=\"\\\\u20d0-\\\\u20ff\",Ji=Po+Ao+Co,Xi=\"\\\\u2700-\\\\u27bf\",Qi=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Io=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",xo=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",Eo=\"\\\\u2000-\\\\u206f\",yo=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",Vi=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ki=\"\\\\ufe0e\\\\ufe0f\",ji=Io+xo+Eo+yo,Er=\"['\\u2019]\",So=\"[\"+Ae+\"]\",ns=\"[\"+ji+\"]\",Ce=\"[\"+Ji+\"]\",ts=\"\\\\d+\",Oo=\"[\"+Xi+\"]\",es=\"[\"+Qi+\"]\",rs=\"[^\"+Ae+ji+ts+Xi+Qi+Vi+\"]\",yr=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Ro=\"(?:\"+Ce+\"|\"+yr+\")\",is=\"[^\"+Ae+\"]\",Sr=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Or=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ot=\"[\"+Vi+\"]\",ss=\"\\\\u200d\",us=\"(?:\"+es+\"|\"+rs+\")\",bo=\"(?:\"+Ot+\"|\"+rs+\")\",as=\"(?:\"+Er+\"(?:d|ll|m|re|s|t|ve))?\",os=\"(?:\"+Er+\"(?:D|LL|M|RE|S|T|VE))?\",fs=Ro+\"?\",cs=\"[\"+ki+\"]?\",To=\"(?:\"+ss+\"(?:\"+[is,Sr,Or].join(\"|\")+\")\"+cs+fs+\")*\",Lo=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Do=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",hs=cs+fs+To,No=\"(?:\"+[Oo,Sr,Or].join(\"|\")+\")\"+hs,Ho=\"(?:\"+[is+Ce+\"?\",Ce,Sr,Or,So].join(\"|\")+\")\",$o=RegExp(Er,\"g\"),Uo=RegExp(Ce,\"g\"),Rr=RegExp(yr+\"(?=\"+yr+\")|\"+Ho+hs,\"g\"),Wo=RegExp([Ot+\"?\"+es+\"+\"+as+\"(?=\"+[ns,Ot,\"$\"].join(\"|\")+\")\",bo+\"+\"+os+\"(?=\"+[ns,Ot+us,\"$\"].join(\"|\")+\")\",Ot+\"?\"+us+\"+\"+as,Ot+\"+\"+os,Do,Lo,ts,No].join(\"|\"),\"g\"),Fo=RegExp(\"[\"+ss+Ae+Ji+ki+\"]\"),Mo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qo=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Bo=-1,B={};B[dr]=B[gr]=B[vr]=B[_r]=B[mr]=B[wr]=B[Pr]=B[Ar]=B[Cr]=!0,B[yt]=B[ve]=B[Vt]=B[Kt]=B[St]=B[Yt]=B[_e]=B[me]=B[yn]=B[Zt]=B[Bn]=B[Jt]=B[Sn]=B[Xt]=B[Qt]=!1;var q={};q[yt]=q[ve]=q[Vt]=q[St]=q[Kt]=q[Yt]=q[dr]=q[gr]=q[vr]=q[_r]=q[mr]=q[yn]=q[Zt]=q[Bn]=q[Jt]=q[Sn]=q[Xt]=q[we]=q[wr]=q[Pr]=q[Ar]=q[Cr]=!0,q[_e]=q[me]=q[Qt]=!1;var Go={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},zo={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Ko={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Yo={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Zo=parseFloat,Jo=parseInt,ls=typeof pe==\"object\"&&pe&&pe.Object===Object&&pe,Xo=typeof self==\"object\"&&self&&self.Object===Object&&self,k=ls||Xo||Function(\"return this\")(),br=u&&!u.nodeType&&u,ht=br&&!0&&C&&!C.nodeType&&C,ps=ht&&ht.exports===br,Tr=ps&&ls.process,_n=function(){try{var h=ht&&ht.require&&ht.require(\"util\").types;return h||Tr&&Tr.binding&&Tr.binding(\"util\")}catch{}}(),ds=_n&&_n.isArrayBuffer,gs=_n&&_n.isDate,vs=_n&&_n.isMap,_s=_n&&_n.isRegExp,ms=_n&&_n.isSet,ws=_n&&_n.isTypedArray;function cn(h,g,d){switch(d.length){case 0:return h.call(g);case 1:return h.call(g,d[0]);case 2:return h.call(g,d[0],d[1]);case 3:return h.call(g,d[0],d[1],d[2])}return h.apply(g,d)}function Qo(h,g,d,P){for(var S=-1,$=h==null?0:h.length;++S<$;){var X=h[S];g(P,X,d(X),h)}return P}function mn(h,g){for(var d=-1,P=h==null?0:h.length;++d<P&&g(h[d],d,h)!==!1;);return h}function Vo(h,g){for(var d=h==null?0:h.length;d--&&g(h[d],d,h)!==!1;);return h}function Ps(h,g){for(var d=-1,P=h==null?0:h.length;++d<P;)if(!g(h[d],d,h))return!1;return!0}function jn(h,g){for(var d=-1,P=h==null?0:h.length,S=0,$=[];++d<P;){var X=h[d];g(X,d,h)&&($[S++]=X)}return $}function Ie(h,g){var d=h==null?0:h.length;return!!d&&Rt(h,g,0)>-1}function Lr(h,g,d){for(var P=-1,S=h==null?0:h.length;++P<S;)if(d(g,h[P]))return!0;return!1}function G(h,g){for(var d=-1,P=h==null?0:h.length,S=Array(P);++d<P;)S[d]=g(h[d],d,h);return S}function nt(h,g){for(var d=-1,P=g.length,S=h.length;++d<P;)h[S+d]=g[d];return h}function Dr(h,g,d,P){var S=-1,$=h==null?0:h.length;for(P&&$&&(d=h[++S]);++S<$;)d=g(d,h[S],S,h);return d}function ko(h,g,d,P){var S=h==null?0:h.length;for(P&&S&&(d=h[--S]);S--;)d=g(d,h[S],S,h);return d}function Nr(h,g){for(var d=-1,P=h==null?0:h.length;++d<P;)if(g(h[d],d,h))return!0;return!1}var jo=Hr(\"length\");function nf(h){return h.split(\"\")}function tf(h){return h.match(oo)||[]}function As(h,g,d){var P;return d(h,function(S,$,X){if(g(S,$,X))return P=$,!1}),P}function xe(h,g,d,P){for(var S=h.length,$=d+(P?1:-1);P?$--:++$<S;)if(g(h[$],$,h))return $;return-1}function Rt(h,g,d){return g===g?df(h,g,d):xe(h,Cs,d)}function ef(h,g,d,P){for(var S=d-1,$=h.length;++S<$;)if(P(h[S],g))return S;return-1}function Cs(h){return h!==h}function Is(h,g){var d=h==null?0:h.length;return d?Ur(h,g)/d:ge}function Hr(h){return function(g){return g==null?i:g[h]}}function $r(h){return function(g){return h==null?i:h[g]}}function xs(h,g,d,P,S){return S(h,function($,X,M){d=P?(P=!1,$):g(d,$,X,M)}),d}function rf(h,g){var d=h.length;for(h.sort(g);d--;)h[d]=h[d].value;return h}function Ur(h,g){for(var d,P=-1,S=h.length;++P<S;){var $=g(h[P]);$!==i&&(d=d===i?$:d+$)}return d}function Wr(h,g){for(var d=-1,P=Array(h);++d<h;)P[d]=g(d);return P}function sf(h,g){return G(g,function(d){return[d,h[d]]})}function Es(h){return h&&h.slice(0,Rs(h)+1).replace(xr,\"\")}function hn(h){return function(g){return h(g)}}function Fr(h,g){return G(g,function(d){return h[d]})}function kt(h,g){return h.has(g)}function ys(h,g){for(var d=-1,P=h.length;++d<P&&Rt(g,h[d],0)>-1;);return d}function Ss(h,g){for(var d=h.length;d--&&Rt(g,h[d],0)>-1;);return d}function uf(h,g){for(var d=h.length,P=0;d--;)h[d]===g&&++P;return P}var af=$r(Go),of=$r(zo);function ff(h){return\"\\\\\"+Yo[h]}function cf(h,g){return h==null?i:h[g]}function bt(h){return Fo.test(h)}function hf(h){return Mo.test(h)}function lf(h){for(var g,d=[];!(g=h.next()).done;)d.push(g.value);return d}function Mr(h){var g=-1,d=Array(h.size);return h.forEach(function(P,S){d[++g]=[S,P]}),d}function Os(h,g){return function(d){return h(g(d))}}function tt(h,g){for(var d=-1,P=h.length,S=0,$=[];++d<P;){var X=h[d];(X===g||X===At)&&(h[d]=At,$[S++]=d)}return $}function Ee(h){var g=-1,d=Array(h.size);return h.forEach(function(P){d[++g]=P}),d}function pf(h){var g=-1,d=Array(h.size);return h.forEach(function(P){d[++g]=[P,P]}),d}function df(h,g,d){for(var P=d-1,S=h.length;++P<S;)if(h[P]===g)return P;return-1}function gf(h,g,d){for(var P=d+1;P--;)if(h[P]===g)return P;return P}function Tt(h){return bt(h)?_f(h):jo(h)}function On(h){return bt(h)?mf(h):nf(h)}function Rs(h){for(var g=h.length;g--&&io.test(h.charAt(g)););return g}var vf=$r(Ko);function _f(h){for(var g=Rr.lastIndex=0;Rr.test(h);)++g;return g}function mf(h){return h.match(Rr)||[]}function wf(h){return h.match(Wo)||[]}var Pf=function h(g){g=g==null?k:Lt.defaults(k.Object(),g,Lt.pick(k,qo));var d=g.Array,P=g.Date,S=g.Error,$=g.Function,X=g.Math,M=g.Object,qr=g.RegExp,Af=g.String,wn=g.TypeError,ye=d.prototype,Cf=$.prototype,Dt=M.prototype,Se=g[\"__core-js_shared__\"],Oe=Cf.toString,W=Dt.hasOwnProperty,If=0,bs=function(){var n=/[^.]+$/.exec(Se&&Se.keys&&Se.keys.IE_PROTO||\"\");return n?\"Symbol(src)_1.\"+n:\"\"}(),Re=Dt.toString,xf=Oe.call(M),Ef=k._,yf=qr(\"^\"+Oe.call(W).replace(Ir,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),be=ps?g.Buffer:i,et=g.Symbol,Te=g.Uint8Array,Ts=be?be.allocUnsafe:i,Le=Os(M.getPrototypeOf,M),Ls=M.create,Ds=Dt.propertyIsEnumerable,De=ye.splice,Ns=et?et.isConcatSpreadable:i,jt=et?et.iterator:i,lt=et?et.toStringTag:i,Ne=function(){try{var n=_t(M,\"defineProperty\");return n({},\"\",{}),n}catch{}}(),Sf=g.clearTimeout!==k.clearTimeout&&g.clearTimeout,Of=P&&P.now!==k.Date.now&&P.now,Rf=g.setTimeout!==k.setTimeout&&g.setTimeout,He=X.ceil,$e=X.floor,Br=M.getOwnPropertySymbols,bf=be?be.isBuffer:i,Hs=g.isFinite,Tf=ye.join,Lf=Os(M.keys,M),Q=X.max,nn=X.min,Df=P.now,Nf=g.parseInt,$s=X.random,Hf=ye.reverse,Gr=_t(g,\"DataView\"),ne=_t(g,\"Map\"),zr=_t(g,\"Promise\"),Nt=_t(g,\"Set\"),te=_t(g,\"WeakMap\"),ee=_t(M,\"create\"),Ue=te&&new te,Ht={},$f=mt(Gr),Uf=mt(ne),Wf=mt(zr),Ff=mt(Nt),Mf=mt(te),We=et?et.prototype:i,re=We?We.valueOf:i,Us=We?We.toString:i;function a(n){if(K(n)&&!O(n)&&!(n instanceof N)){if(n instanceof Pn)return n;if(W.call(n,\"__wrapped__\"))return Wu(n)}return new Pn(n)}var $t=function(){function n(){}return function(t){if(!z(t))return{};if(Ls)return Ls(t);n.prototype=t;var e=new n;return n.prototype=i,e}}();function Fe(){}function Pn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}a.templateSettings={escape:ka,evaluate:ja,interpolate:Yi,variable:\"\",imports:{_:a}},a.prototype=Fe.prototype,a.prototype.constructor=a,Pn.prototype=$t(Fe.prototype),Pn.prototype.constructor=Pn;function N(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Hn,this.__views__=[]}function qf(){var n=new N(this.__wrapped__);return n.__actions__=un(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=un(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=un(this.__views__),n}function Bf(){if(this.__filtered__){var n=new N(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Gf(){var n=this.__wrapped__.value(),t=this.__dir__,e=O(n),r=t<0,s=e?n.length:0,o=th(0,s,this.__views__),f=o.start,c=o.end,l=c-f,v=r?c:f-1,_=this.__iteratees__,m=_.length,w=0,A=nn(l,this.__takeCount__);if(!e||!r&&s==l&&A==l)return au(n,this.__actions__);var E=[];n:for(;l--&&w<A;){v+=t;for(var b=-1,y=n[v];++b<m;){var L=_[b],H=L.iteratee,dn=L.type,sn=H(y);if(dn==Ha)y=sn;else if(!sn){if(dn==qi)continue n;break n}}E[w++]=y}return E}N.prototype=$t(Fe.prototype),N.prototype.constructor=N;function pt(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function zf(){this.__data__=ee?ee(null):{},this.size=0}function Kf(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function Yf(n){var t=this.__data__;if(ee){var e=t[n];return e===Gt?i:e}return W.call(t,n)?t[n]:i}function Zf(n){var t=this.__data__;return ee?t[n]!==i:W.call(t,n)}function Jf(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=ee&&t===i?Gt:t,this}pt.prototype.clear=zf,pt.prototype.delete=Kf,pt.prototype.get=Yf,pt.prototype.has=Zf,pt.prototype.set=Jf;function Gn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Xf(){this.__data__=[],this.size=0}function Qf(n){var t=this.__data__,e=Me(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():De.call(t,e,1),--this.size,!0}function Vf(n){var t=this.__data__,e=Me(t,n);return e<0?i:t[e][1]}function kf(n){return Me(this.__data__,n)>-1}function jf(n,t){var e=this.__data__,r=Me(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Gn.prototype.clear=Xf,Gn.prototype.delete=Qf,Gn.prototype.get=Vf,Gn.prototype.has=kf,Gn.prototype.set=jf;function zn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function nc(){this.size=0,this.__data__={hash:new pt,map:new(ne||Gn),string:new pt}}function tc(n){var t=ke(this,n).delete(n);return this.size-=t?1:0,t}function ec(n){return ke(this,n).get(n)}function rc(n){return ke(this,n).has(n)}function ic(n,t){var e=ke(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}zn.prototype.clear=nc,zn.prototype.delete=tc,zn.prototype.get=ec,zn.prototype.has=rc,zn.prototype.set=ic;function dt(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new zn;++t<e;)this.add(n[t])}function sc(n){return this.__data__.set(n,Gt),this}function uc(n){return this.__data__.has(n)}dt.prototype.add=dt.prototype.push=sc,dt.prototype.has=uc;function Rn(n){var t=this.__data__=new Gn(n);this.size=t.size}function ac(){this.__data__=new Gn,this.size=0}function oc(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}function fc(n){return this.__data__.get(n)}function cc(n){return this.__data__.has(n)}function hc(n,t){var e=this.__data__;if(e instanceof Gn){var r=e.__data__;if(!ne||r.length<I-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new zn(r)}return e.set(n,t),this.size=e.size,this}Rn.prototype.clear=ac,Rn.prototype.delete=oc,Rn.prototype.get=fc,Rn.prototype.has=cc,Rn.prototype.set=hc;function Ws(n,t){var e=O(n),r=!e&&wt(n),s=!e&&!r&&at(n),o=!e&&!r&&!s&&Mt(n),f=e||r||s||o,c=f?Wr(n.length,Af):[],l=c.length;for(var v in n)(t||W.call(n,v))&&!(f&&(v==\"length\"||s&&(v==\"offset\"||v==\"parent\")||o&&(v==\"buffer\"||v==\"byteLength\"||v==\"byteOffset\")||Jn(v,l)))&&c.push(v);return c}function Fs(n){var t=n.length;return t?n[ti(0,t-1)]:i}function lc(n,t){return je(un(n),gt(t,0,n.length))}function pc(n){return je(un(n))}function Kr(n,t,e){(e!==i&&!bn(n[t],e)||e===i&&!(t in n))&&Kn(n,t,e)}function ie(n,t,e){var r=n[t];(!(W.call(n,t)&&bn(r,e))||e===i&&!(t in n))&&Kn(n,t,e)}function Me(n,t){for(var e=n.length;e--;)if(bn(n[e][0],t))return e;return-1}function dc(n,t,e,r){return rt(n,function(s,o,f){t(r,s,e(s),f)}),r}function Ms(n,t){return n&&Un(t,V(t),n)}function gc(n,t){return n&&Un(t,on(t),n)}function Kn(n,t,e){t==\"__proto__\"&&Ne?Ne(n,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[t]=e}function Yr(n,t){for(var e=-1,r=t.length,s=d(r),o=n==null;++e<r;)s[e]=o?i:yi(n,t[e]);return s}function gt(n,t,e){return n===n&&(e!==i&&(n=n<=e?n:e),t!==i&&(n=n>=t?n:t)),n}function An(n,t,e,r,s,o){var f,c=t&Ln,l=t&Mn,v=t&Ct;if(e&&(f=s?e(n,r,s,o):e(n)),f!==i)return f;if(!z(n))return n;var _=O(n);if(_){if(f=rh(n),!c)return un(n,f)}else{var m=tn(n),w=m==me||m==Bi;if(at(n))return cu(n,c);if(m==Bn||m==yt||w&&!s){if(f=l||w?{}:Ru(n),!c)return l?Yc(n,gc(f,n)):Kc(n,Ms(f,n))}else{if(!q[m])return s?n:{};f=ih(n,m,c)}}o||(o=new Rn);var A=o.get(n);if(A)return A;o.set(n,f),ia(n)?n.forEach(function(y){f.add(An(y,t,e,y,n,o))}):ea(n)&&n.forEach(function(y,L){f.set(L,An(y,t,e,L,n,o))});var E=v?l?li:hi:l?on:V,b=_?i:E(n);return mn(b||n,function(y,L){b&&(L=y,y=n[L]),ie(f,L,An(y,t,e,L,n,o))}),f}function vc(n){var t=V(n);return function(e){return qs(e,n,t)}}function qs(n,t,e){var r=e.length;if(n==null)return!r;for(n=M(n);r--;){var s=e[r],o=t[s],f=n[s];if(f===i&&!(s in n)||!o(f))return!1}return!0}function Bs(n,t,e){if(typeof n!=\"function\")throw new wn(F);return he(function(){n.apply(i,e)},t)}function se(n,t,e,r){var s=-1,o=Ie,f=!0,c=n.length,l=[],v=t.length;if(!c)return l;e&&(t=G(t,hn(e))),r?(o=Lr,f=!1):t.length>=I&&(o=kt,f=!1,t=new dt(t));n:for(;++s<c;){var _=n[s],m=e==null?_:e(_);if(_=r||_!==0?_:0,f&&m===m){for(var w=v;w--;)if(t[w]===m)continue n;l.push(_)}else o(t,m,r)||l.push(_)}return l}var rt=gu($n),Gs=gu(Jr,!0);function _c(n,t){var e=!0;return rt(n,function(r,s,o){return e=!!t(r,s,o),e}),e}function qe(n,t,e){for(var r=-1,s=n.length;++r<s;){var o=n[r],f=t(o);if(f!=null&&(c===i?f===f&&!pn(f):e(f,c)))var c=f,l=o}return l}function mc(n,t,e,r){var s=n.length;for(e=R(e),e<0&&(e=-e>s?0:s+e),r=r===i||r>s?s:R(r),r<0&&(r+=s),r=e>r?0:ua(r);e<r;)n[e++]=t;return n}function zs(n,t){var e=[];return rt(n,function(r,s,o){t(r,s,o)&&e.push(r)}),e}function j(n,t,e,r,s){var o=-1,f=n.length;for(e||(e=uh),s||(s=[]);++o<f;){var c=n[o];t>0&&e(c)?t>1?j(c,t-1,e,r,s):nt(s,c):r||(s[s.length]=c)}return s}var Zr=vu(),Ks=vu(!0);function $n(n,t){return n&&Zr(n,t,V)}function Jr(n,t){return n&&Ks(n,t,V)}function Be(n,t){return jn(t,function(e){return Xn(n[e])})}function vt(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&e<r;)n=n[Wn(t[e++])];return e&&e==r?n:i}function Ys(n,t,e){var r=t(n);return O(n)?r:nt(r,e(n))}function en(n){return n==null?n===i?Ka:Ga:lt&< in M(n)?nh(n):ph(n)}function Xr(n,t){return n>t}function wc(n,t){return n!=null&&W.call(n,t)}function Pc(n,t){return n!=null&&t in M(n)}function Ac(n,t,e){return n>=nn(t,e)&&n<Q(t,e)}function Qr(n,t,e){for(var r=e?Lr:Ie,s=n[0].length,o=n.length,f=o,c=d(o),l=1/0,v=[];f--;){var _=n[f];f&&t&&(_=G(_,hn(t))),l=nn(_.length,l),c[f]=!e&&(t||s>=120&&_.length>=120)?new dt(f&&_):i}_=n[0];var m=-1,w=c[0];n:for(;++m<s&&v.length<l;){var A=_[m],E=t?t(A):A;if(A=e||A!==0?A:0,!(w?kt(w,E):r(v,E,e))){for(f=o;--f;){var b=c[f];if(!(b?kt(b,E):r(n[f],E,e)))continue n}w&&w.push(E),v.push(A)}}return v}function Cc(n,t,e,r){return $n(n,function(s,o,f){t(r,e(s),o,f)}),r}function ue(n,t,e){t=st(t,n),n=Du(n,t);var r=n==null?n:n[Wn(In(t))];return r==null?i:cn(r,n,e)}function Zs(n){return K(n)&&en(n)==yt}function Ic(n){return K(n)&&en(n)==Vt}function xc(n){return K(n)&&en(n)==Yt}function ae(n,t,e,r,s){return n===t?!0:n==null||t==null||!K(n)&&!K(t)?n!==n&&t!==t:Ec(n,t,e,r,ae,s)}function Ec(n,t,e,r,s,o){var f=O(n),c=O(t),l=f?ve:tn(n),v=c?ve:tn(t);l=l==yt?Bn:l,v=v==yt?Bn:v;var _=l==Bn,m=v==Bn,w=l==v;if(w&&at(n)){if(!at(t))return!1;f=!0,_=!1}if(w&&!_)return o||(o=new Rn),f||Mt(n)?yu(n,t,e,r,s,o):kc(n,t,l,e,r,s,o);if(!(e&It)){var A=_&&W.call(n,\"__wrapped__\"),E=m&&W.call(t,\"__wrapped__\");if(A||E){var b=A?n.value():n,y=E?t.value():t;return o||(o=new Rn),s(b,y,e,r,o)}}return w?(o||(o=new Rn),jc(n,t,e,r,s,o)):!1}function yc(n){return K(n)&&tn(n)==yn}function Vr(n,t,e,r){var s=e.length,o=s,f=!r;if(n==null)return!o;for(n=M(n);s--;){var c=e[s];if(f&&c[2]?c[1]!==n[c[0]]:!(c[0]in n))return!1}for(;++s<o;){c=e[s];var l=c[0],v=n[l],_=c[1];if(f&&c[2]){if(v===i&&!(l in n))return!1}else{var m=new Rn;if(r)var w=r(v,_,l,n,t,m);if(!(w===i?ae(_,v,It|de,r,m):w))return!1}}return!0}function Js(n){if(!z(n)||oh(n))return!1;var t=Xn(n)?yf:go;return t.test(mt(n))}function Sc(n){return K(n)&&en(n)==Jt}function Oc(n){return K(n)&&tn(n)==Sn}function Rc(n){return K(n)&&sr(n.length)&&!!B[en(n)]}function Xs(n){return typeof n==\"function\"?n:n==null?fn:typeof n==\"object\"?O(n)?ks(n[0],n[1]):Vs(n):_a(n)}function kr(n){if(!ce(n))return Lf(n);var t=[];for(var e in M(n))W.call(n,e)&&e!=\"constructor\"&&t.push(e);return t}function bc(n){if(!z(n))return lh(n);var t=ce(n),e=[];for(var r in n)r==\"constructor\"&&(t||!W.call(n,r))||e.push(r);return e}function jr(n,t){return n<t}function Qs(n,t){var e=-1,r=an(n)?d(n.length):[];return rt(n,function(s,o,f){r[++e]=t(s,o,f)}),r}function Vs(n){var t=di(n);return t.length==1&&t[0][2]?Tu(t[0][0],t[0][1]):function(e){return e===n||Vr(e,n,t)}}function ks(n,t){return vi(n)&&bu(t)?Tu(Wn(n),t):function(e){var r=yi(e,n);return r===i&&r===t?Si(e,n):ae(t,r,It|de)}}function Ge(n,t,e,r,s){n!==t&&Zr(t,function(o,f){if(s||(s=new Rn),z(o))Tc(n,t,f,e,Ge,r,s);else{var c=r?r(mi(n,f),o,f+\"\",n,t,s):i;c===i&&(c=o),Kr(n,f,c)}},on)}function Tc(n,t,e,r,s,o,f){var c=mi(n,e),l=mi(t,e),v=f.get(l);if(v){Kr(n,e,v);return}var _=o?o(c,l,e+\"\",n,t,f):i,m=_===i;if(m){var w=O(l),A=!w&&at(l),E=!w&&!A&&Mt(l);_=l,w||A||E?O(c)?_=c:Y(c)?_=un(c):A?(m=!1,_=cu(l,!0)):E?(m=!1,_=hu(l,!0)):_=[]:le(l)||wt(l)?(_=c,wt(c)?_=aa(c):(!z(c)||Xn(c))&&(_=Ru(l))):m=!1}m&&(f.set(l,_),s(_,l,r,o,f),f.delete(l)),Kr(n,e,_)}function js(n,t){var e=n.length;if(e)return t+=t<0?e:0,Jn(t,e)?n[t]:i}function nu(n,t,e){t.length?t=G(t,function(o){return O(o)?function(f){return vt(f,o.length===1?o[0]:o)}:o}):t=[fn];var r=-1;t=G(t,hn(x()));var s=Qs(n,function(o,f,c){var l=G(t,function(v){return v(o)});return{criteria:l,index:++r,value:o}});return rf(s,function(o,f){return zc(o,f,e)})}function Lc(n,t){return tu(n,t,function(e,r){return Si(n,r)})}function tu(n,t,e){for(var r=-1,s=t.length,o={};++r<s;){var f=t[r],c=vt(n,f);e(c,f)&&oe(o,st(f,n),c)}return o}function Dc(n){return function(t){return vt(t,n)}}function ni(n,t,e,r){var s=r?ef:Rt,o=-1,f=t.length,c=n;for(n===t&&(t=un(t)),e&&(c=G(n,hn(e)));++o<f;)for(var l=0,v=t[o],_=e?e(v):v;(l=s(c,_,l,r))>-1;)c!==n&&De.call(c,l,1),De.call(n,l,1);return n}function eu(n,t){for(var e=n?t.length:0,r=e-1;e--;){var s=t[e];if(e==r||s!==o){var o=s;Jn(s)?De.call(n,s,1):ii(n,s)}}return n}function ti(n,t){return n+$e($s()*(t-n+1))}function Nc(n,t,e,r){for(var s=-1,o=Q(He((t-n)/(e||1)),0),f=d(o);o--;)f[r?o:++s]=n,n+=e;return f}function ei(n,t){var e=\"\";if(!n||t<1||t>kn)return e;do t%2&&(e+=n),t=$e(t/2),t&&(n+=n);while(t);return e}function T(n,t){return wi(Lu(n,t,fn),n+\"\")}function Hc(n){return Fs(qt(n))}function $c(n,t){var e=qt(n);return je(e,gt(t,0,e.length))}function oe(n,t,e,r){if(!z(n))return n;t=st(t,n);for(var s=-1,o=t.length,f=o-1,c=n;c!=null&&++s<o;){var l=Wn(t[s]),v=e;if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return n;if(s!=f){var _=c[l];v=r?r(_,l,c):i,v===i&&(v=z(_)?_:Jn(t[s+1])?[]:{})}ie(c,l,v),c=c[l]}return n}var ru=Ue?function(n,t){return Ue.set(n,t),n}:fn,Uc=Ne?function(n,t){return Ne(n,\"toString\",{configurable:!0,enumerable:!1,value:Ri(t),writable:!0})}:fn;function Wc(n){return je(qt(n))}function Cn(n,t,e){var r=-1,s=n.length;t<0&&(t=-t>s?0:s+t),e=e>s?s:e,e<0&&(e+=s),s=t>e?0:e-t>>>0,t>>>=0;for(var o=d(s);++r<s;)o[r]=n[r+t];return o}function Fc(n,t){var e;return rt(n,function(r,s,o){return e=t(r,s,o),!e}),!!e}function ze(n,t,e){var r=0,s=n==null?r:n.length;if(typeof t==\"number\"&&t===t&&s<=Fa){for(;r<s;){var o=r+s>>>1,f=n[o];f!==null&&!pn(f)&&(e?f<=t:f<t)?r=o+1:s=o}return s}return ri(n,t,fn,e)}function ri(n,t,e,r){var s=0,o=n==null?0:n.length;if(o===0)return 0;t=e(t);for(var f=t!==t,c=t===null,l=pn(t),v=t===i;s<o;){var _=$e((s+o)/2),m=e(n[_]),w=m!==i,A=m===null,E=m===m,b=pn(m);if(f)var y=r||E;else v?y=E&&(r||w):c?y=E&&w&&(r||!A):l?y=E&&w&&!A&&(r||!b):A||b?y=!1:y=r?m<=t:m<t;y?s=_+1:o=_}return nn(o,Wa)}function iu(n,t){for(var e=-1,r=n.length,s=0,o=[];++e<r;){var f=n[e],c=t?t(f):f;if(!e||!bn(c,l)){var l=c;o[s++]=f===0?0:f}}return o}function su(n){return typeof n==\"number\"?n:pn(n)?ge:+n}function ln(n){if(typeof n==\"string\")return n;if(O(n))return G(n,ln)+\"\";if(pn(n))return Us?Us.call(n):\"\";var t=n+\"\";return t==\"0\"&&1/n==-ct?\"-0\":t}function it(n,t,e){var r=-1,s=Ie,o=n.length,f=!0,c=[],l=c;if(e)f=!1,s=Lr;else if(o>=I){var v=t?null:Qc(n);if(v)return Ee(v);f=!1,s=kt,l=new dt}else l=t?[]:c;n:for(;++r<o;){var _=n[r],m=t?t(_):_;if(_=e||_!==0?_:0,f&&m===m){for(var w=l.length;w--;)if(l[w]===m)continue n;t&&l.push(m),c.push(_)}else s(l,m,e)||(l!==c&&l.push(m),c.push(_))}return c}function ii(n,t){return t=st(t,n),n=Du(n,t),n==null||delete n[Wn(In(t))]}function uu(n,t,e,r){return oe(n,t,e(vt(n,t)),r)}function Ke(n,t,e,r){for(var s=n.length,o=r?s:-1;(r?o--:++o<s)&&t(n[o],o,n););return e?Cn(n,r?0:o,r?o+1:s):Cn(n,r?o+1:0,r?s:o)}function au(n,t){var e=n;return e instanceof N&&(e=e.value()),Dr(t,function(r,s){return s.func.apply(s.thisArg,nt([r],s.args))},e)}function si(n,t,e){var r=n.length;if(r<2)return r?it(n[0]):[];for(var s=-1,o=d(r);++s<r;)for(var f=n[s],c=-1;++c<r;)c!=s&&(o[s]=se(o[s]||f,n[c],t,e));return it(j(o,1),t,e)}function ou(n,t,e){for(var r=-1,s=n.length,o=t.length,f={};++r<s;){var c=r<o?t[r]:i;e(f,n[r],c)}return f}function ui(n){return Y(n)?n:[]}function ai(n){return typeof n==\"function\"?n:fn}function st(n,t){return O(n)?n:vi(n,t)?[n]:Uu(U(n))}var Mc=T;function ut(n,t,e){var r=n.length;return e=e===i?r:e,!t&&e>=r?n:Cn(n,t,e)}var fu=Sf||function(n){return k.clearTimeout(n)};function cu(n,t){if(t)return n.slice();var e=n.length,r=Ts?Ts(e):new n.constructor(e);return n.copy(r),r}function oi(n){var t=new n.constructor(n.byteLength);return new Te(t).set(new Te(n)),t}function qc(n,t){var e=t?oi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Bc(n){var t=new n.constructor(n.source,Zi.exec(n));return t.lastIndex=n.lastIndex,t}function Gc(n){return re?M(re.call(n)):{}}function hu(n,t){var e=t?oi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function lu(n,t){if(n!==t){var e=n!==i,r=n===null,s=n===n,o=pn(n),f=t!==i,c=t===null,l=t===t,v=pn(t);if(!c&&!v&&!o&&n>t||o&&f&&l&&!c&&!v||r&&f&&l||!e&&l||!s)return 1;if(!r&&!o&&!v&&n<t||v&&e&&s&&!r&&!o||c&&e&&s||!f&&s||!l)return-1}return 0}function zc(n,t,e){for(var r=-1,s=n.criteria,o=t.criteria,f=s.length,c=e.length;++r<f;){var l=lu(s[r],o[r]);if(l){if(r>=c)return l;var v=e[r];return l*(v==\"desc\"?-1:1)}}return n.index-t.index}function pu(n,t,e,r){for(var s=-1,o=n.length,f=e.length,c=-1,l=t.length,v=Q(o-f,0),_=d(l+v),m=!r;++c<l;)_[c]=t[c];for(;++s<f;)(m||s<o)&&(_[e[s]]=n[s]);for(;v--;)_[c++]=n[s++];return _}function du(n,t,e,r){for(var s=-1,o=n.length,f=-1,c=e.length,l=-1,v=t.length,_=Q(o-c,0),m=d(_+v),w=!r;++s<_;)m[s]=n[s];for(var A=s;++l<v;)m[A+l]=t[l];for(;++f<c;)(w||s<o)&&(m[A+e[f]]=n[s++]);return m}function un(n,t){var e=-1,r=n.length;for(t||(t=d(r));++e<r;)t[e]=n[e];return t}function Un(n,t,e,r){var s=!e;e||(e={});for(var o=-1,f=t.length;++o<f;){var c=t[o],l=r?r(e[c],n[c],c,e,n):i;l===i&&(l=n[c]),s?Kn(e,c,l):ie(e,c,l)}return e}function Kc(n,t){return Un(n,gi(n),t)}function Yc(n,t){return Un(n,Su(n),t)}function Ye(n,t){return function(e,r){var s=O(e)?Qo:dc,o=t?t():{};return s(e,n,x(r,2),o)}}function Ut(n){return T(function(t,e){var r=-1,s=e.length,o=s>1?e[s-1]:i,f=s>2?e[2]:i;for(o=n.length>3&&typeof o==\"function\"?(s--,o):i,f&&rn(e[0],e[1],f)&&(o=s<3?i:o,s=1),t=M(t);++r<s;){var c=e[r];c&&n(t,c,r,o)}return t})}function gu(n,t){return function(e,r){if(e==null)return e;if(!an(e))return n(e,r);for(var s=e.length,o=t?s:-1,f=M(e);(t?o--:++o<s)&&r(f[o],o,f)!==!1;);return e}}function vu(n){return function(t,e,r){for(var s=-1,o=M(t),f=r(t),c=f.length;c--;){var l=f[n?c:++s];if(e(o[l],l,o)===!1)break}return t}}function Zc(n,t,e){var r=t&vn,s=fe(n);function o(){var f=this&&this!==k&&this instanceof o?s:n;return f.apply(r?e:this,arguments)}return o}function _u(n){return function(t){t=U(t);var e=bt(t)?On(t):i,r=e?e[0]:t.charAt(0),s=e?ut(e,1).join(\"\"):t.slice(1);return r[n]()+s}}function Wt(n){return function(t){return Dr(ga(da(t).replace($o,\"\")),n,\"\")}}function fe(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=$t(n.prototype),r=n.apply(e,t);return z(r)?r:e}}function Jc(n,t,e){var r=fe(n);function s(){for(var o=arguments.length,f=d(o),c=o,l=Ft(s);c--;)f[c]=arguments[c];var v=o<3&&f[0]!==l&&f[o-1]!==l?[]:tt(f,l);if(o-=v.length,o<e)return Cu(n,t,Ze,s.placeholder,i,f,v,i,i,e-o);var _=this&&this!==k&&this instanceof s?r:n;return cn(_,this,f)}return s}function mu(n){return function(t,e,r){var s=M(t);if(!an(t)){var o=x(e,3);t=V(t),e=function(c){return o(s[c],c,s)}}var f=n(t,e,r);return f>-1?s[o?t[f]:f]:i}}function wu(n){return Zn(function(t){var e=t.length,r=e,s=Pn.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!=\"function\")throw new wn(F);if(s&&!f&&Ve(o)==\"wrapper\")var f=new Pn([],!0)}for(r=f?r:e;++r<e;){o=t[r];var c=Ve(o),l=c==\"wrapper\"?pi(o):i;l&&_i(l[0])&&l[1]==(qn|Dn|Nn|zt)&&!l[4].length&&l[9]==1?f=f[Ve(l[0])].apply(f,l[3]):f=o.length==1&&_i(o)?f[c]():f.thru(o)}return function(){var v=arguments,_=v[0];if(f&&v.length==1&&O(_))return f.plant(_).value();for(var m=0,w=e?t[m].apply(this,v):_;++m<e;)w=t[m].call(this,w);return w}})}function Ze(n,t,e,r,s,o,f,c,l,v){var _=t&qn,m=t&vn,w=t&ft,A=t&(Dn|xt),E=t&pr,b=w?i:fe(n);function y(){for(var L=arguments.length,H=d(L),dn=L;dn--;)H[dn]=arguments[dn];if(A)var sn=Ft(y),gn=uf(H,sn);if(r&&(H=pu(H,r,s,A)),o&&(H=du(H,o,f,A)),L-=gn,A&&L<v){var Z=tt(H,sn);return Cu(n,t,Ze,y.placeholder,e,H,Z,c,l,v-L)}var Tn=m?e:this,Vn=w?Tn[n]:n;return L=H.length,c?H=dh(H,c):E&&L>1&&H.reverse(),_&&l<L&&(H.length=l),this&&this!==k&&this instanceof y&&(Vn=b||fe(Vn)),Vn.apply(Tn,H)}return y}function Pu(n,t){return function(e,r){return Cc(e,n,t(r),{})}}function Je(n,t){return function(e,r){var s;if(e===i&&r===i)return t;if(e!==i&&(s=e),r!==i){if(s===i)return r;typeof e==\"string\"||typeof r==\"string\"?(e=ln(e),r=ln(r)):(e=su(e),r=su(r)),s=n(e,r)}return s}}function fi(n){return Zn(function(t){return t=G(t,hn(x())),T(function(e){var r=this;return n(t,function(s){return cn(s,r,e)})})})}function Xe(n,t){t=t===i?\" \":ln(t);var e=t.length;if(e<2)return e?ei(t,n):t;var r=ei(t,He(n/Tt(t)));return bt(t)?ut(On(r),0,n).join(\"\"):r.slice(0,n)}function Xc(n,t,e,r){var s=t&vn,o=fe(n);function f(){for(var c=-1,l=arguments.length,v=-1,_=r.length,m=d(_+l),w=this&&this!==k&&this instanceof f?o:n;++v<_;)m[v]=r[v];for(;l--;)m[v++]=arguments[++c];return cn(w,s?e:this,m)}return f}function Au(n){return function(t,e,r){return r&&typeof r!=\"number\"&&rn(t,e,r)&&(e=r=i),t=Qn(t),e===i?(e=t,t=0):e=Qn(e),r=r===i?t<e?1:-1:Qn(r),Nc(t,e,r,n)}}function Qe(n){return function(t,e){return typeof t==\"string\"&&typeof e==\"string\"||(t=xn(t),e=xn(e)),n(t,e)}}function Cu(n,t,e,r,s,o,f,c,l,v){var _=t&Dn,m=_?f:i,w=_?i:f,A=_?o:i,E=_?i:o;t|=_?Nn:Et,t&=~(_?Et:Nn),t&Mi||(t&=~(vn|ft));var b=[n,t,s,A,m,E,w,c,l,v],y=e.apply(i,b);return _i(n)&&Nu(y,b),y.placeholder=r,Hu(y,n,t)}function ci(n){var t=X[n];return function(e,r){if(e=xn(e),r=r==null?0:nn(R(r),292),r&&Hs(e)){var s=(U(e)+\"e\").split(\"e\"),o=t(s[0]+\"e\"+(+s[1]+r));return s=(U(o)+\"e\").split(\"e\"),+(s[0]+\"e\"+(+s[1]-r))}return t(e)}}var Qc=Nt&&1/Ee(new Nt([,-0]))[1]==ct?function(n){return new Nt(n)}:Li;function Iu(n){return function(t){var e=tn(t);return e==yn?Mr(t):e==Sn?pf(t):sf(t,n(t))}}function Yn(n,t,e,r,s,o,f,c){var l=t&ft;if(!l&&typeof n!=\"function\")throw new wn(F);var v=r?r.length:0;if(v||(t&=~(Nn|Et),r=s=i),f=f===i?f:Q(R(f),0),c=c===i?c:R(c),v-=s?s.length:0,t&Et){var _=r,m=s;r=s=i}var w=l?i:pi(n),A=[n,t,e,r,s,_,m,o,f,c];if(w&&hh(A,w),n=A[0],t=A[1],e=A[2],r=A[3],s=A[4],c=A[9]=A[9]===i?l?0:n.length:Q(A[9]-v,0),!c&&t&(Dn|xt)&&(t&=~(Dn|xt)),!t||t==vn)var E=Zc(n,t,e);else t==Dn||t==xt?E=Jc(n,t,c):(t==Nn||t==(vn|Nn))&&!s.length?E=Xc(n,t,e,r):E=Ze.apply(i,A);var b=w?ru:Nu;return Hu(b(E,A),n,t)}function xu(n,t,e,r){return n===i||bn(n,Dt[e])&&!W.call(r,e)?t:n}function Eu(n,t,e,r,s,o){return z(n)&&z(t)&&(o.set(t,n),Ge(n,t,i,Eu,o),o.delete(t)),n}function Vc(n){return le(n)?i:n}function yu(n,t,e,r,s,o){var f=e&It,c=n.length,l=t.length;if(c!=l&&!(f&&l>c))return!1;var v=o.get(n),_=o.get(t);if(v&&_)return v==t&&_==n;var m=-1,w=!0,A=e&de?new dt:i;for(o.set(n,t),o.set(t,n);++m<c;){var E=n[m],b=t[m];if(r)var y=f?r(b,E,m,t,n,o):r(E,b,m,n,t,o);if(y!==i){if(y)continue;w=!1;break}if(A){if(!Nr(t,function(L,H){if(!kt(A,H)&&(E===L||s(E,L,e,r,o)))return A.push(H)})){w=!1;break}}else if(!(E===b||s(E,b,e,r,o))){w=!1;break}}return o.delete(n),o.delete(t),w}function kc(n,t,e,r,s,o,f){switch(e){case St:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case Vt:return!(n.byteLength!=t.byteLength||!o(new Te(n),new Te(t)));case Kt:case Yt:case Zt:return bn(+n,+t);case _e:return n.name==t.name&&n.message==t.message;case Jt:case Xt:return n==t+\"\";case yn:var c=Mr;case Sn:var l=r&It;if(c||(c=Ee),n.size!=t.size&&!l)return!1;var v=f.get(n);if(v)return v==t;r|=de,f.set(n,t);var _=yu(c(n),c(t),r,s,o,f);return f.delete(n),_;case we:if(re)return re.call(n)==re.call(t)}return!1}function jc(n,t,e,r,s,o){var f=e&It,c=hi(n),l=c.length,v=hi(t),_=v.length;if(l!=_&&!f)return!1;for(var m=l;m--;){var w=c[m];if(!(f?w in t:W.call(t,w)))return!1}var A=o.get(n),E=o.get(t);if(A&&E)return A==t&&E==n;var b=!0;o.set(n,t),o.set(t,n);for(var y=f;++m<l;){w=c[m];var L=n[w],H=t[w];if(r)var dn=f?r(H,L,w,t,n,o):r(L,H,w,n,t,o);if(!(dn===i?L===H||s(L,H,e,r,o):dn)){b=!1;break}y||(y=w==\"constructor\")}if(b&&!y){var sn=n.constructor,gn=t.constructor;sn!=gn&&\"constructor\"in n&&\"constructor\"in t&&!(typeof sn==\"function\"&&sn instanceof sn&&typeof gn==\"function\"&&gn instanceof gn)&&(b=!1)}return o.delete(n),o.delete(t),b}function Zn(n){return wi(Lu(n,i,qu),n+\"\")}function hi(n){return Ys(n,V,gi)}function li(n){return Ys(n,on,Su)}var pi=Ue?function(n){return Ue.get(n)}:Li;function Ve(n){for(var t=n.name+\"\",e=Ht[t],r=W.call(Ht,t)?e.length:0;r--;){var s=e[r],o=s.func;if(o==null||o==n)return s.name}return t}function Ft(n){var t=W.call(a,\"placeholder\")?a:n;return t.placeholder}function x(){var n=a.iteratee||bi;return n=n===bi?Xs:n,arguments.length?n(arguments[0],arguments[1]):n}function ke(n,t){var e=n.__data__;return ah(t)?e[typeof t==\"string\"?\"string\":\"hash\"]:e.map}function di(n){for(var t=V(n),e=t.length;e--;){var r=t[e],s=n[r];t[e]=[r,s,bu(s)]}return t}function _t(n,t){var e=cf(n,t);return Js(e)?e:i}function nh(n){var t=W.call(n,lt),e=n[lt];try{n[lt]=i;var r=!0}catch{}var s=Re.call(n);return r&&(t?n[lt]=e:delete n[lt]),s}var gi=Br?function(n){return n==null?[]:(n=M(n),jn(Br(n),function(t){return Ds.call(n,t)}))}:Di,Su=Br?function(n){for(var t=[];n;)nt(t,gi(n)),n=Le(n);return t}:Di,tn=en;(Gr&&tn(new Gr(new ArrayBuffer(1)))!=St||ne&&tn(new ne)!=yn||zr&&tn(zr.resolve())!=Gi||Nt&&tn(new Nt)!=Sn||te&&tn(new te)!=Qt)&&(tn=function(n){var t=en(n),e=t==Bn?n.constructor:i,r=e?mt(e):\"\";if(r)switch(r){case $f:return St;case Uf:return yn;case Wf:return Gi;case Ff:return Sn;case Mf:return Qt}return t});function th(n,t,e){for(var r=-1,s=e.length;++r<s;){var o=e[r],f=o.size;switch(o.type){case\"drop\":n+=f;break;case\"dropRight\":t-=f;break;case\"take\":t=nn(t,n+f);break;case\"takeRight\":n=Q(n,t-f);break}}return{start:n,end:t}}function eh(n){var t=n.match(uo);return t?t[1].split(ao):[]}function Ou(n,t,e){t=st(t,n);for(var r=-1,s=t.length,o=!1;++r<s;){var f=Wn(t[r]);if(!(o=n!=null&&e(n,f)))break;n=n[f]}return o||++r!=s?o:(s=n==null?0:n.length,!!s&&sr(s)&&Jn(f,s)&&(O(n)||wt(n)))}function rh(n){var t=n.length,e=new n.constructor(t);return t&&typeof n[0]==\"string\"&&W.call(n,\"index\")&&(e.index=n.index,e.input=n.input),e}function Ru(n){return typeof n.constructor==\"function\"&&!ce(n)?$t(Le(n)):{}}function ih(n,t,e){var r=n.constructor;switch(t){case Vt:return oi(n);case Kt:case Yt:return new r(+n);case St:return qc(n,e);case dr:case gr:case vr:case _r:case mr:case wr:case Pr:case Ar:case Cr:return hu(n,e);case yn:return new r;case Zt:case Xt:return new r(n);case Jt:return Bc(n);case Sn:return new r;case we:return Gc(n)}}function sh(n,t){var e=t.length;if(!e)return n;var r=e-1;return t[r]=(e>1?\"& \":\"\")+t[r],t=t.join(e>2?\", \":\" \"),n.replace(so,`{\n/* [wrapped with `+t+`] */\n`)}function uh(n){return O(n)||wt(n)||!!(Ns&&n&&n[Ns])}function Jn(n,t){var e=typeof n;return t=t??kn,!!t&&(e==\"number\"||e!=\"symbol\"&&_o.test(n))&&n>-1&&n%1==0&&n<t}function rn(n,t,e){if(!z(e))return!1;var r=typeof t;return(r==\"number\"?an(e)&&Jn(t,e.length):r==\"string\"&&t in e)?bn(e[t],n):!1}function vi(n,t){if(O(n))return!1;var e=typeof n;return e==\"number\"||e==\"symbol\"||e==\"boolean\"||n==null||pn(n)?!0:to.test(n)||!no.test(n)||t!=null&&n in M(t)}function ah(n){var t=typeof n;return t==\"string\"||t==\"number\"||t==\"symbol\"||t==\"boolean\"?n!==\"__proto__\":n===null}function _i(n){var t=Ve(n),e=a[t];if(typeof e!=\"function\"||!(t in N.prototype))return!1;if(n===e)return!0;var r=pi(e);return!!r&&n===r[0]}function oh(n){return!!bs&&bs in n}var fh=Se?Xn:Ni;function ce(n){var t=n&&n.constructor,e=typeof t==\"function\"&&t.prototype||Dt;return n===e}function bu(n){return n===n&&!z(n)}function Tu(n,t){return function(e){return e==null?!1:e[n]===t&&(t!==i||n in M(e))}}function ch(n){var t=rr(n,function(r){return e.size===lr&&e.clear(),r}),e=t.cache;return t}function hh(n,t){var e=n[1],r=t[1],s=e|r,o=s<(vn|ft|qn),f=r==qn&&e==Dn||r==qn&&e==zt&&n[7].length<=t[8]||r==(qn|zt)&&t[7].length<=t[8]&&e==Dn;if(!(o||f))return n;r&vn&&(n[2]=t[2],s|=e&vn?0:Mi);var c=t[3];if(c){var l=n[3];n[3]=l?pu(l,c,t[4]):c,n[4]=l?tt(n[3],At):t[4]}return c=t[5],c&&(l=n[5],n[5]=l?du(l,c,t[6]):c,n[6]=l?tt(n[5],At):t[6]),c=t[7],c&&(n[7]=c),r&qn&&(n[8]=n[8]==null?t[8]:nn(n[8],t[8])),n[9]==null&&(n[9]=t[9]),n[0]=t[0],n[1]=s,n}function lh(n){var t=[];if(n!=null)for(var e in M(n))t.push(e);return t}function ph(n){return Re.call(n)}function Lu(n,t,e){return t=Q(t===i?n.length-1:t,0),function(){for(var r=arguments,s=-1,o=Q(r.length-t,0),f=d(o);++s<o;)f[s]=r[t+s];s=-1;for(var c=d(t+1);++s<t;)c[s]=r[s];return c[t]=e(f),cn(n,this,c)}}function Du(n,t){return t.length<2?n:vt(n,Cn(t,0,-1))}function dh(n,t){for(var e=n.length,r=nn(t.length,e),s=un(n);r--;){var o=t[r];n[r]=Jn(o,e)?s[o]:i}return n}function mi(n,t){if(!(t===\"constructor\"&&typeof n[t]==\"function\")&&t!=\"__proto__\")return n[t]}var Nu=$u(ru),he=Rf||function(n,t){return k.setTimeout(n,t)},wi=$u(Uc);function Hu(n,t,e){var r=t+\"\";return wi(n,sh(r,gh(eh(r),e)))}function $u(n){var t=0,e=0;return function(){var r=Df(),s=Na-(r-e);if(e=r,s>0){if(++t>=Da)return arguments[0]}else t=0;return n.apply(i,arguments)}}function je(n,t){var e=-1,r=n.length,s=r-1;for(t=t===i?r:t;++e<t;){var o=ti(e,s),f=n[o];n[o]=n[e],n[e]=f}return n.length=t,n}var Uu=ch(function(n){var t=[];return n.charCodeAt(0)===46&&t.push(\"\"),n.replace(eo,function(e,r,s,o){t.push(s?o.replace(co,\"$1\"):r||e)}),t});function Wn(n){if(typeof n==\"string\"||pn(n))return n;var t=n+\"\";return t==\"0\"&&1/n==-ct?\"-0\":t}function mt(n){if(n!=null){try{return Oe.call(n)}catch{}try{return n+\"\"}catch{}}return\"\"}function gh(n,t){return mn(Ma,function(e){var r=\"_.\"+e[0];t&e[1]&&!Ie(n,r)&&n.push(r)}),n.sort()}function Wu(n){if(n instanceof N)return n.clone();var t=new Pn(n.__wrapped__,n.__chain__);return t.__actions__=un(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function vh(n,t,e){(e?rn(n,t,e):t===i)?t=1:t=Q(R(t),0);var r=n==null?0:n.length;if(!r||t<1)return[];for(var s=0,o=0,f=d(He(r/t));s<r;)f[o++]=Cn(n,s,s+=t);return f}function _h(n){for(var t=-1,e=n==null?0:n.length,r=0,s=[];++t<e;){var o=n[t];o&&(s[r++]=o)}return s}function mh(){var n=arguments.length;if(!n)return[];for(var t=d(n-1),e=arguments[0],r=n;r--;)t[r-1]=arguments[r];return nt(O(e)?un(e):[e],j(t,1))}var wh=T(function(n,t){return Y(n)?se(n,j(t,1,Y,!0)):[]}),Ph=T(function(n,t){var e=In(t);return Y(e)&&(e=i),Y(n)?se(n,j(t,1,Y,!0),x(e,2)):[]}),Ah=T(function(n,t){var e=In(t);return Y(e)&&(e=i),Y(n)?se(n,j(t,1,Y,!0),i,e):[]});function Ch(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:R(t),Cn(n,t<0?0:t,r)):[]}function Ih(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:R(t),t=r-t,Cn(n,0,t<0?0:t)):[]}function xh(n,t){return n&&n.length?Ke(n,x(t,3),!0,!0):[]}function Eh(n,t){return n&&n.length?Ke(n,x(t,3),!0):[]}function yh(n,t,e,r){var s=n==null?0:n.length;return s?(e&&typeof e!=\"number\"&&rn(n,t,e)&&(e=0,r=s),mc(n,t,e,r)):[]}function Fu(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var s=e==null?0:R(e);return s<0&&(s=Q(r+s,0)),xe(n,x(t,3),s)}function Mu(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var s=r-1;return e!==i&&(s=R(e),s=e<0?Q(r+s,0):nn(s,r-1)),xe(n,x(t,3),s,!0)}function qu(n){var t=n==null?0:n.length;return t?j(n,1):[]}function Sh(n){var t=n==null?0:n.length;return t?j(n,ct):[]}function Oh(n,t){var e=n==null?0:n.length;return e?(t=t===i?1:R(t),j(n,t)):[]}function Rh(n){for(var t=-1,e=n==null?0:n.length,r={};++t<e;){var s=n[t];r[s[0]]=s[1]}return r}function Bu(n){return n&&n.length?n[0]:i}function bh(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var s=e==null?0:R(e);return s<0&&(s=Q(r+s,0)),Rt(n,t,s)}function Th(n){var t=n==null?0:n.length;return t?Cn(n,0,-1):[]}var Lh=T(function(n){var t=G(n,ui);return t.length&&t[0]===n[0]?Qr(t):[]}),Dh=T(function(n){var t=In(n),e=G(n,ui);return t===In(e)?t=i:e.pop(),e.length&&e[0]===n[0]?Qr(e,x(t,2)):[]}),Nh=T(function(n){var t=In(n),e=G(n,ui);return t=typeof t==\"function\"?t:i,t&&e.pop(),e.length&&e[0]===n[0]?Qr(e,i,t):[]});function Hh(n,t){return n==null?\"\":Tf.call(n,t)}function In(n){var t=n==null?0:n.length;return t?n[t-1]:i}function $h(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var s=r;return e!==i&&(s=R(e),s=s<0?Q(r+s,0):nn(s,r-1)),t===t?gf(n,t,s):xe(n,Cs,s,!0)}function Uh(n,t){return n&&n.length?js(n,R(t)):i}var Wh=T(Gu);function Gu(n,t){return n&&n.length&&t&&t.length?ni(n,t):n}function Fh(n,t,e){return n&&n.length&&t&&t.length?ni(n,t,x(e,2)):n}function Mh(n,t,e){return n&&n.length&&t&&t.length?ni(n,t,i,e):n}var qh=Zn(function(n,t){var e=n==null?0:n.length,r=Yr(n,t);return eu(n,G(t,function(s){return Jn(s,e)?+s:s}).sort(lu)),r});function Bh(n,t){var e=[];if(!(n&&n.length))return e;var r=-1,s=[],o=n.length;for(t=x(t,3);++r<o;){var f=n[r];t(f,r,n)&&(e.push(f),s.push(r))}return eu(n,s),e}function Pi(n){return n==null?n:Hf.call(n)}function Gh(n,t,e){var r=n==null?0:n.length;return r?(e&&typeof e!=\"number\"&&rn(n,t,e)?(t=0,e=r):(t=t==null?0:R(t),e=e===i?r:R(e)),Cn(n,t,e)):[]}function zh(n,t){return ze(n,t)}function Kh(n,t,e){return ri(n,t,x(e,2))}function Yh(n,t){var e=n==null?0:n.length;if(e){var r=ze(n,t);if(r<e&&bn(n[r],t))return r}return-1}function Zh(n,t){return ze(n,t,!0)}function Jh(n,t,e){return ri(n,t,x(e,2),!0)}function Xh(n,t){var e=n==null?0:n.length;if(e){var r=ze(n,t,!0)-1;if(bn(n[r],t))return r}return-1}function Qh(n){return n&&n.length?iu(n):[]}function Vh(n,t){return n&&n.length?iu(n,x(t,2)):[]}function kh(n){var t=n==null?0:n.length;return t?Cn(n,1,t):[]}function jh(n,t,e){return n&&n.length?(t=e||t===i?1:R(t),Cn(n,0,t<0?0:t)):[]}function nl(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:R(t),t=r-t,Cn(n,t<0?0:t,r)):[]}function tl(n,t){return n&&n.length?Ke(n,x(t,3),!1,!0):[]}function el(n,t){return n&&n.length?Ke(n,x(t,3)):[]}var rl=T(function(n){return it(j(n,1,Y,!0))}),il=T(function(n){var t=In(n);return Y(t)&&(t=i),it(j(n,1,Y,!0),x(t,2))}),sl=T(function(n){var t=In(n);return t=typeof t==\"function\"?t:i,it(j(n,1,Y,!0),i,t)});function ul(n){return n&&n.length?it(n):[]}function al(n,t){return n&&n.length?it(n,x(t,2)):[]}function ol(n,t){return t=typeof t==\"function\"?t:i,n&&n.length?it(n,i,t):[]}function Ai(n){if(!(n&&n.length))return[];var t=0;return n=jn(n,function(e){if(Y(e))return t=Q(e.length,t),!0}),Wr(t,function(e){return G(n,Hr(e))})}function zu(n,t){if(!(n&&n.length))return[];var e=Ai(n);return t==null?e:G(e,function(r){return cn(t,i,r)})}var fl=T(function(n,t){return Y(n)?se(n,t):[]}),cl=T(function(n){return si(jn(n,Y))}),hl=T(function(n){var t=In(n);return Y(t)&&(t=i),si(jn(n,Y),x(t,2))}),ll=T(function(n){var t=In(n);return t=typeof t==\"function\"?t:i,si(jn(n,Y),i,t)}),pl=T(Ai);function dl(n,t){return ou(n||[],t||[],ie)}function gl(n,t){return ou(n||[],t||[],oe)}var vl=T(function(n){var t=n.length,e=t>1?n[t-1]:i;return e=typeof e==\"function\"?(n.pop(),e):i,zu(n,e)});function Ku(n){var t=a(n);return t.__chain__=!0,t}function _l(n,t){return t(n),n}function nr(n,t){return t(n)}var ml=Zn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,s=function(o){return Yr(o,n)};return t>1||this.__actions__.length||!(r instanceof N)||!Jn(e)?this.thru(s):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:nr,args:[s],thisArg:i}),new Pn(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function wl(){return Ku(this)}function Pl(){return new Pn(this.value(),this.__chain__)}function Al(){this.__values__===i&&(this.__values__=sa(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function Cl(){return this}function Il(n){for(var t,e=this;e instanceof Fe;){var r=Wu(e);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;e=e.__wrapped__}return s.__wrapped__=n,t}function xl(){var n=this.__wrapped__;if(n instanceof N){var t=n;return this.__actions__.length&&(t=new N(this)),t=t.reverse(),t.__actions__.push({func:nr,args:[Pi],thisArg:i}),new Pn(t,this.__chain__)}return this.thru(Pi)}function El(){return au(this.__wrapped__,this.__actions__)}var yl=Ye(function(n,t,e){W.call(n,e)?++n[e]:Kn(n,e,1)});function Sl(n,t,e){var r=O(n)?Ps:_c;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}function Ol(n,t){var e=O(n)?jn:zs;return e(n,x(t,3))}var Rl=mu(Fu),bl=mu(Mu);function Tl(n,t){return j(tr(n,t),1)}function Ll(n,t){return j(tr(n,t),ct)}function Dl(n,t,e){return e=e===i?1:R(e),j(tr(n,t),e)}function Yu(n,t){var e=O(n)?mn:rt;return e(n,x(t,3))}function Zu(n,t){var e=O(n)?Vo:Gs;return e(n,x(t,3))}var Nl=Ye(function(n,t,e){W.call(n,e)?n[e].push(t):Kn(n,e,[t])});function Hl(n,t,e,r){n=an(n)?n:qt(n),e=e&&!r?R(e):0;var s=n.length;return e<0&&(e=Q(s+e,0)),ur(n)?e<=s&&n.indexOf(t,e)>-1:!!s&&Rt(n,t,e)>-1}var $l=T(function(n,t,e){var r=-1,s=typeof t==\"function\",o=an(n)?d(n.length):[];return rt(n,function(f){o[++r]=s?cn(t,f,e):ue(f,t,e)}),o}),Ul=Ye(function(n,t,e){Kn(n,e,t)});function tr(n,t){var e=O(n)?G:Qs;return e(n,x(t,3))}function Wl(n,t,e,r){return n==null?[]:(O(t)||(t=t==null?[]:[t]),e=r?i:e,O(e)||(e=e==null?[]:[e]),nu(n,t,e))}var Fl=Ye(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Ml(n,t,e){var r=O(n)?Dr:xs,s=arguments.length<3;return r(n,x(t,4),e,s,rt)}function ql(n,t,e){var r=O(n)?ko:xs,s=arguments.length<3;return r(n,x(t,4),e,s,Gs)}function Bl(n,t){var e=O(n)?jn:zs;return e(n,ir(x(t,3)))}function Gl(n){var t=O(n)?Fs:Hc;return t(n)}function zl(n,t,e){(e?rn(n,t,e):t===i)?t=1:t=R(t);var r=O(n)?lc:$c;return r(n,t)}function Kl(n){var t=O(n)?pc:Wc;return t(n)}function Yl(n){if(n==null)return 0;if(an(n))return ur(n)?Tt(n):n.length;var t=tn(n);return t==yn||t==Sn?n.size:kr(n).length}function Zl(n,t,e){var r=O(n)?Nr:Fc;return e&&rn(n,t,e)&&(t=i),r(n,x(t,3))}var Jl=T(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),nu(n,j(t,1),[])}),er=Of||function(){return k.Date.now()};function Xl(n,t){if(typeof t!=\"function\")throw new wn(F);return n=R(n),function(){if(--n<1)return t.apply(this,arguments)}}function Ju(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,Yn(n,qn,i,i,i,i,t)}function Xu(n,t){var e;if(typeof t!=\"function\")throw new wn(F);return n=R(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Ci=T(function(n,t,e){var r=vn;if(e.length){var s=tt(e,Ft(Ci));r|=Nn}return Yn(n,r,t,e,s)}),Qu=T(function(n,t,e){var r=vn|ft;if(e.length){var s=tt(e,Ft(Qu));r|=Nn}return Yn(t,r,n,e,s)});function Vu(n,t,e){t=e?i:t;var r=Yn(n,Dn,i,i,i,i,i,t);return r.placeholder=Vu.placeholder,r}function ku(n,t,e){t=e?i:t;var r=Yn(n,xt,i,i,i,i,i,t);return r.placeholder=ku.placeholder,r}function ju(n,t,e){var r,s,o,f,c,l,v=0,_=!1,m=!1,w=!0;if(typeof n!=\"function\")throw new wn(F);t=xn(t)||0,z(e)&&(_=!!e.leading,m=\"maxWait\"in e,o=m?Q(xn(e.maxWait)||0,t):o,w=\"trailing\"in e?!!e.trailing:w);function A(Z){var Tn=r,Vn=s;return r=s=i,v=Z,f=n.apply(Vn,Tn),f}function E(Z){return v=Z,c=he(L,t),_?A(Z):f}function b(Z){var Tn=Z-l,Vn=Z-v,ma=t-Tn;return m?nn(ma,o-Vn):ma}function y(Z){var Tn=Z-l,Vn=Z-v;return l===i||Tn>=t||Tn<0||m&&Vn>=o}function L(){var Z=er();if(y(Z))return H(Z);c=he(L,b(Z))}function H(Z){return c=i,w&&r?A(Z):(r=s=i,f)}function dn(){c!==i&&fu(c),v=0,r=l=s=c=i}function sn(){return c===i?f:H(er())}function gn(){var Z=er(),Tn=y(Z);if(r=arguments,s=this,l=Z,Tn){if(c===i)return E(l);if(m)return fu(c),c=he(L,t),A(l)}return c===i&&(c=he(L,t)),f}return gn.cancel=dn,gn.flush=sn,gn}var Ql=T(function(n,t){return Bs(n,1,t)}),Vl=T(function(n,t,e){return Bs(n,xn(t)||0,e)});function kl(n){return Yn(n,pr)}function rr(n,t){if(typeof n!=\"function\"||t!=null&&typeof t!=\"function\")throw new wn(F);var e=function(){var r=arguments,s=t?t.apply(this,r):r[0],o=e.cache;if(o.has(s))return o.get(s);var f=n.apply(this,r);return e.cache=o.set(s,f)||o,f};return e.cache=new(rr.Cache||zn),e}rr.Cache=zn;function ir(n){if(typeof n!=\"function\")throw new wn(F);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function jl(n){return Xu(2,n)}var np=Mc(function(n,t){t=t.length==1&&O(t[0])?G(t[0],hn(x())):G(j(t,1),hn(x()));var e=t.length;return T(function(r){for(var s=-1,o=nn(r.length,e);++s<o;)r[s]=t[s].call(this,r[s]);return cn(n,this,r)})}),Ii=T(function(n,t){var e=tt(t,Ft(Ii));return Yn(n,Nn,i,t,e)}),na=T(function(n,t){var e=tt(t,Ft(na));return Yn(n,Et,i,t,e)}),tp=Zn(function(n,t){return Yn(n,zt,i,i,i,t)});function ep(n,t){if(typeof n!=\"function\")throw new wn(F);return t=t===i?t:R(t),T(n,t)}function rp(n,t){if(typeof n!=\"function\")throw new wn(F);return t=t==null?0:Q(R(t),0),T(function(e){var r=e[t],s=ut(e,0,t);return r&&nt(s,r),cn(n,this,s)})}function ip(n,t,e){var r=!0,s=!0;if(typeof n!=\"function\")throw new wn(F);return z(e)&&(r=\"leading\"in e?!!e.leading:r,s=\"trailing\"in e?!!e.trailing:s),ju(n,t,{leading:r,maxWait:t,trailing:s})}function sp(n){return Ju(n,1)}function up(n,t){return Ii(ai(t),n)}function ap(){if(!arguments.length)return[];var n=arguments[0];return O(n)?n:[n]}function op(n){return An(n,Ct)}function fp(n,t){return t=typeof t==\"function\"?t:i,An(n,Ct,t)}function cp(n){return An(n,Ln|Ct)}function hp(n,t){return t=typeof t==\"function\"?t:i,An(n,Ln|Ct,t)}function lp(n,t){return t==null||qs(n,t,V(t))}function bn(n,t){return n===t||n!==n&&t!==t}var pp=Qe(Xr),dp=Qe(function(n,t){return n>=t}),wt=Zs(function(){return arguments}())?Zs:function(n){return K(n)&&W.call(n,\"callee\")&&!Ds.call(n,\"callee\")},O=d.isArray,gp=ds?hn(ds):Ic;function an(n){return n!=null&&sr(n.length)&&!Xn(n)}function Y(n){return K(n)&&an(n)}function vp(n){return n===!0||n===!1||K(n)&&en(n)==Kt}var at=bf||Ni,_p=gs?hn(gs):xc;function mp(n){return K(n)&&n.nodeType===1&&!le(n)}function wp(n){if(n==null)return!0;if(an(n)&&(O(n)||typeof n==\"string\"||typeof n.splice==\"function\"||at(n)||Mt(n)||wt(n)))return!n.length;var t=tn(n);if(t==yn||t==Sn)return!n.size;if(ce(n))return!kr(n).length;for(var e in n)if(W.call(n,e))return!1;return!0}function Pp(n,t){return ae(n,t)}function Ap(n,t,e){e=typeof e==\"function\"?e:i;var r=e?e(n,t):i;return r===i?ae(n,t,i,e):!!r}function xi(n){if(!K(n))return!1;var t=en(n);return t==_e||t==Ba||typeof n.message==\"string\"&&typeof n.name==\"string\"&&!le(n)}function Cp(n){return typeof n==\"number\"&&Hs(n)}function Xn(n){if(!z(n))return!1;var t=en(n);return t==me||t==Bi||t==qa||t==za}function ta(n){return typeof n==\"number\"&&n==R(n)}function sr(n){return typeof n==\"number\"&&n>-1&&n%1==0&&n<=kn}function z(n){var t=typeof n;return n!=null&&(t==\"object\"||t==\"function\")}function K(n){return n!=null&&typeof n==\"object\"}var ea=vs?hn(vs):yc;function Ip(n,t){return n===t||Vr(n,t,di(t))}function xp(n,t,e){return e=typeof e==\"function\"?e:i,Vr(n,t,di(t),e)}function Ep(n){return ra(n)&&n!=+n}function yp(n){if(fh(n))throw new S(D);return Js(n)}function Sp(n){return n===null}function Op(n){return n==null}function ra(n){return typeof n==\"number\"||K(n)&&en(n)==Zt}function le(n){if(!K(n)||en(n)!=Bn)return!1;var t=Le(n);if(t===null)return!0;var e=W.call(t,\"constructor\")&&t.constructor;return typeof e==\"function\"&&e instanceof e&&Oe.call(e)==xf}var Ei=_s?hn(_s):Sc;function Rp(n){return ta(n)&&n>=-kn&&n<=kn}var ia=ms?hn(ms):Oc;function ur(n){return typeof n==\"string\"||!O(n)&&K(n)&&en(n)==Xt}function pn(n){return typeof n==\"symbol\"||K(n)&&en(n)==we}var Mt=ws?hn(ws):Rc;function bp(n){return n===i}function Tp(n){return K(n)&&tn(n)==Qt}function Lp(n){return K(n)&&en(n)==Ya}var Dp=Qe(jr),Np=Qe(function(n,t){return n<=t});function sa(n){if(!n)return[];if(an(n))return ur(n)?On(n):un(n);if(jt&&n[jt])return lf(n[jt]());var t=tn(n),e=t==yn?Mr:t==Sn?Ee:qt;return e(n)}function Qn(n){if(!n)return n===0?n:0;if(n=xn(n),n===ct||n===-ct){var t=n<0?-1:1;return t*Ua}return n===n?n:0}function R(n){var t=Qn(n),e=t%1;return t===t?e?t-e:t:0}function ua(n){return n?gt(R(n),0,Hn):0}function xn(n){if(typeof n==\"number\")return n;if(pn(n))return ge;if(z(n)){var t=typeof n.valueOf==\"function\"?n.valueOf():n;n=z(t)?t+\"\":t}if(typeof n!=\"string\")return n===0?n:+n;n=Es(n);var e=po.test(n);return e||vo.test(n)?Jo(n.slice(2),e?2:8):lo.test(n)?ge:+n}function aa(n){return Un(n,on(n))}function Hp(n){return n?gt(R(n),-kn,kn):n===0?n:0}function U(n){return n==null?\"\":ln(n)}var $p=Ut(function(n,t){if(ce(t)||an(t)){Un(t,V(t),n);return}for(var e in t)W.call(t,e)&&ie(n,e,t[e])}),oa=Ut(function(n,t){Un(t,on(t),n)}),ar=Ut(function(n,t,e,r){Un(t,on(t),n,r)}),Up=Ut(function(n,t,e,r){Un(t,V(t),n,r)}),Wp=Zn(Yr);function Fp(n,t){var e=$t(n);return t==null?e:Ms(e,t)}var Mp=T(function(n,t){n=M(n);var e=-1,r=t.length,s=r>2?t[2]:i;for(s&&rn(t[0],t[1],s)&&(r=1);++e<r;)for(var o=t[e],f=on(o),c=-1,l=f.length;++c<l;){var v=f[c],_=n[v];(_===i||bn(_,Dt[v])&&!W.call(n,v))&&(n[v]=o[v])}return n}),qp=T(function(n){return n.push(i,Eu),cn(fa,i,n)});function Bp(n,t){return As(n,x(t,3),$n)}function Gp(n,t){return As(n,x(t,3),Jr)}function zp(n,t){return n==null?n:Zr(n,x(t,3),on)}function Kp(n,t){return n==null?n:Ks(n,x(t,3),on)}function Yp(n,t){return n&&$n(n,x(t,3))}function Zp(n,t){return n&&Jr(n,x(t,3))}function Jp(n){return n==null?[]:Be(n,V(n))}function Xp(n){return n==null?[]:Be(n,on(n))}function yi(n,t,e){var r=n==null?i:vt(n,t);return r===i?e:r}function Qp(n,t){return n!=null&&Ou(n,t,wc)}function Si(n,t){return n!=null&&Ou(n,t,Pc)}var Vp=Pu(function(n,t,e){t!=null&&typeof t.toString!=\"function\"&&(t=Re.call(t)),n[t]=e},Ri(fn)),kp=Pu(function(n,t,e){t!=null&&typeof t.toString!=\"function\"&&(t=Re.call(t)),W.call(n,t)?n[t].push(e):n[t]=[e]},x),jp=T(ue);function V(n){return an(n)?Ws(n):kr(n)}function on(n){return an(n)?Ws(n,!0):bc(n)}function nd(n,t){var e={};return t=x(t,3),$n(n,function(r,s,o){Kn(e,t(r,s,o),r)}),e}function td(n,t){var e={};return t=x(t,3),$n(n,function(r,s,o){Kn(e,s,t(r,s,o))}),e}var ed=Ut(function(n,t,e){Ge(n,t,e)}),fa=Ut(function(n,t,e,r){Ge(n,t,e,r)}),rd=Zn(function(n,t){var e={};if(n==null)return e;var r=!1;t=G(t,function(o){return o=st(o,n),r||(r=o.length>1),o}),Un(n,li(n),e),r&&(e=An(e,Ln|Mn|Ct,Vc));for(var s=t.length;s--;)ii(e,t[s]);return e});function id(n,t){return ca(n,ir(x(t)))}var sd=Zn(function(n,t){return n==null?{}:Lc(n,t)});function ca(n,t){if(n==null)return{};var e=G(li(n),function(r){return[r]});return t=x(t),tu(n,e,function(r,s){return t(r,s[0])})}function ud(n,t,e){t=st(t,n);var r=-1,s=t.length;for(s||(s=1,n=i);++r<s;){var o=n==null?i:n[Wn(t[r])];o===i&&(r=s,o=e),n=Xn(o)?o.call(n):o}return n}function ad(n,t,e){return n==null?n:oe(n,t,e)}function od(n,t,e,r){return r=typeof r==\"function\"?r:i,n==null?n:oe(n,t,e,r)}var ha=Iu(V),la=Iu(on);function fd(n,t,e){var r=O(n),s=r||at(n)||Mt(n);if(t=x(t,4),e==null){var o=n&&n.constructor;s?e=r?new o:[]:z(n)?e=Xn(o)?$t(Le(n)):{}:e={}}return(s?mn:$n)(n,function(f,c,l){return t(e,f,c,l)}),e}function cd(n,t){return n==null?!0:ii(n,t)}function hd(n,t,e){return n==null?n:uu(n,t,ai(e))}function ld(n,t,e,r){return r=typeof r==\"function\"?r:i,n==null?n:uu(n,t,ai(e),r)}function qt(n){return n==null?[]:Fr(n,V(n))}function pd(n){return n==null?[]:Fr(n,on(n))}function dd(n,t,e){return e===i&&(e=t,t=i),e!==i&&(e=xn(e),e=e===e?e:0),t!==i&&(t=xn(t),t=t===t?t:0),gt(xn(n),t,e)}function gd(n,t,e){return t=Qn(t),e===i?(e=t,t=0):e=Qn(e),n=xn(n),Ac(n,t,e)}function vd(n,t,e){if(e&&typeof e!=\"boolean\"&&rn(n,t,e)&&(t=e=i),e===i&&(typeof t==\"boolean\"?(e=t,t=i):typeof n==\"boolean\"&&(e=n,n=i)),n===i&&t===i?(n=0,t=1):(n=Qn(n),t===i?(t=n,n=0):t=Qn(t)),n>t){var r=n;n=t,t=r}if(e||n%1||t%1){var s=$s();return nn(n+s*(t-n+Zo(\"1e-\"+((s+\"\").length-1))),t)}return ti(n,t)}var _d=Wt(function(n,t,e){return t=t.toLowerCase(),n+(e?pa(t):t)});function pa(n){return Oi(U(n).toLowerCase())}function da(n){return n=U(n),n&&n.replace(mo,af).replace(Uo,\"\")}function md(n,t,e){n=U(n),t=ln(t);var r=n.length;e=e===i?r:gt(R(e),0,r);var s=e;return e-=t.length,e>=0&&n.slice(e,s)==t}function wd(n){return n=U(n),n&&Va.test(n)?n.replace(Ki,of):n}function Pd(n){return n=U(n),n&&ro.test(n)?n.replace(Ir,\"\\\\$&\"):n}var Ad=Wt(function(n,t,e){return n+(e?\"-\":\"\")+t.toLowerCase()}),Cd=Wt(function(n,t,e){return n+(e?\" \":\"\")+t.toLowerCase()}),Id=_u(\"toLowerCase\");function xd(n,t,e){n=U(n),t=R(t);var r=t?Tt(n):0;if(!t||r>=t)return n;var s=(t-r)/2;return Xe($e(s),e)+n+Xe(He(s),e)}function Ed(n,t,e){n=U(n),t=R(t);var r=t?Tt(n):0;return t&&r<t?n+Xe(t-r,e):n}function yd(n,t,e){n=U(n),t=R(t);var r=t?Tt(n):0;return t&&r<t?Xe(t-r,e)+n:n}function Sd(n,t,e){return e||t==null?t=0:t&&(t=+t),Nf(U(n).replace(xr,\"\"),t||0)}function Od(n,t,e){return(e?rn(n,t,e):t===i)?t=1:t=R(t),ei(U(n),t)}function Rd(){var n=arguments,t=U(n[0]);return n.length<3?t:t.replace(n[1],n[2])}var bd=Wt(function(n,t,e){return n+(e?\"_\":\"\")+t.toLowerCase()});function Td(n,t,e){return e&&typeof e!=\"number\"&&rn(n,t,e)&&(t=e=i),e=e===i?Hn:e>>>0,e?(n=U(n),n&&(typeof t==\"string\"||t!=null&&!Ei(t))&&(t=ln(t),!t&&bt(n))?ut(On(n),0,e):n.split(t,e)):[]}var Ld=Wt(function(n,t,e){return n+(e?\" \":\"\")+Oi(t)});function Dd(n,t,e){return n=U(n),e=e==null?0:gt(R(e),0,n.length),t=ln(t),n.slice(e,e+t.length)==t}function Nd(n,t,e){var r=a.templateSettings;e&&rn(n,t,e)&&(t=i),n=U(n),t=ar({},t,r,xu);var s=ar({},t.imports,r.imports,xu),o=V(s),f=Fr(s,o),c,l,v=0,_=t.interpolate||Pe,m=\"__p += '\",w=qr((t.escape||Pe).source+\"|\"+_.source+\"|\"+(_===Yi?ho:Pe).source+\"|\"+(t.evaluate||Pe).source+\"|$\",\"g\"),A=\"//# sourceURL=\"+(W.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Bo+\"]\")+`\n`;n.replace(w,function(y,L,H,dn,sn,gn){return H||(H=dn),m+=n.slice(v,gn).replace(wo,ff),L&&(c=!0,m+=`' +\n__e(`+L+`) +\n'`),sn&&(l=!0,m+=`';\n`+sn+`;\n__p += '`),H&&(m+=`' +\n((__t = (`+H+`)) == null ? '' : __t) +\n'`),v=gn+y.length,y}),m+=`';\n`;var E=W.call(t,\"variable\")&&t.variable;if(!E)m=`with (obj) {\n`+m+`\n}\n`;else if(fo.test(E))throw new S(Fn);m=(l?m.replace(Za,\"\"):m).replace(Ja,\"$1\").replace(Xa,\"$1;\"),m=\"function(\"+(E||\"obj\")+`) {\n`+(E?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(c?\", __e = _.escape\":\"\")+(l?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+m+`return __p\n}`;var b=va(function(){return $(o,A+\"return \"+m).apply(i,f)});if(b.source=m,xi(b))throw b;return b}function Hd(n){return U(n).toLowerCase()}function $d(n){return U(n).toUpperCase()}function Ud(n,t,e){if(n=U(n),n&&(e||t===i))return Es(n);if(!n||!(t=ln(t)))return n;var r=On(n),s=On(t),o=ys(r,s),f=Ss(r,s)+1;return ut(r,o,f).join(\"\")}function Wd(n,t,e){if(n=U(n),n&&(e||t===i))return n.slice(0,Rs(n)+1);if(!n||!(t=ln(t)))return n;var r=On(n),s=Ss(r,On(t))+1;return ut(r,0,s).join(\"\")}function Fd(n,t,e){if(n=U(n),n&&(e||t===i))return n.replace(xr,\"\");if(!n||!(t=ln(t)))return n;var r=On(n),s=ys(r,On(t));return ut(r,s).join(\"\")}function Md(n,t){var e=Ta,r=La;if(z(t)){var s=\"separator\"in t?t.separator:s;e=\"length\"in t?R(t.length):e,r=\"omission\"in t?ln(t.omission):r}n=U(n);var o=n.length;if(bt(n)){var f=On(n);o=f.length}if(e>=o)return n;var c=e-Tt(r);if(c<1)return r;var l=f?ut(f,0,c).join(\"\"):n.slice(0,c);if(s===i)return l+r;if(f&&(c+=l.length-c),Ei(s)){if(n.slice(c).search(s)){var v,_=l;for(s.global||(s=qr(s.source,U(Zi.exec(s))+\"g\")),s.lastIndex=0;v=s.exec(_);)var m=v.index;l=l.slice(0,m===i?c:m)}}else if(n.indexOf(ln(s),c)!=c){var w=l.lastIndexOf(s);w>-1&&(l=l.slice(0,w))}return l+r}function qd(n){return n=U(n),n&&Qa.test(n)?n.replace(zi,vf):n}var Bd=Wt(function(n,t,e){return n+(e?\" \":\"\")+t.toUpperCase()}),Oi=_u(\"toUpperCase\");function ga(n,t,e){return n=U(n),t=e?i:t,t===i?hf(n)?wf(n):tf(n):n.match(t)||[]}var va=T(function(n,t){try{return cn(n,i,t)}catch(e){return xi(e)?e:new S(e)}}),Gd=Zn(function(n,t){return mn(t,function(e){e=Wn(e),Kn(n,e,Ci(n[e],n))}),n});function zd(n){var t=n==null?0:n.length,e=x();return n=t?G(n,function(r){if(typeof r[1]!=\"function\")throw new wn(F);return[e(r[0]),r[1]]}):[],T(function(r){for(var s=-1;++s<t;){var o=n[s];if(cn(o[0],this,r))return cn(o[1],this,r)}})}function Kd(n){return vc(An(n,Ln))}function Ri(n){return function(){return n}}function Yd(n,t){return n==null||n!==n?t:n}var Zd=wu(),Jd=wu(!0);function fn(n){return n}function bi(n){return Xs(typeof n==\"function\"?n:An(n,Ln))}function Xd(n){return Vs(An(n,Ln))}function Qd(n,t){return ks(n,An(t,Ln))}var Vd=T(function(n,t){return function(e){return ue(e,n,t)}}),kd=T(function(n,t){return function(e){return ue(n,e,t)}});function Ti(n,t,e){var r=V(t),s=Be(t,r);e==null&&!(z(t)&&(s.length||!r.length))&&(e=t,t=n,n=this,s=Be(t,V(t)));var o=!(z(e)&&\"chain\"in e)||!!e.chain,f=Xn(n);return mn(s,function(c){var l=t[c];n[c]=l,f&&(n.prototype[c]=function(){var v=this.__chain__;if(o||v){var _=n(this.__wrapped__),m=_.__actions__=un(this.__actions__);return m.push({func:l,args:arguments,thisArg:n}),_.__chain__=v,_}return l.apply(n,nt([this.value()],arguments))})}),n}function jd(){return k._===this&&(k._=Ef),this}function Li(){}function ng(n){return n=R(n),T(function(t){return js(t,n)})}var tg=fi(G),eg=fi(Ps),rg=fi(Nr);function _a(n){return vi(n)?Hr(Wn(n)):Dc(n)}function ig(n){return function(t){return n==null?i:vt(n,t)}}var sg=Au(),ug=Au(!0);function Di(){return[]}function Ni(){return!1}function ag(){return{}}function og(){return\"\"}function fg(){return!0}function cg(n,t){if(n=R(n),n<1||n>kn)return[];var e=Hn,r=nn(n,Hn);t=x(t),n-=Hn;for(var s=Wr(r,t);++e<n;)t(e);return s}function hg(n){return O(n)?G(n,Wn):pn(n)?[n]:un(Uu(U(n)))}function lg(n){var t=++If;return U(n)+t}var pg=Je(function(n,t){return n+t},0),dg=ci(\"ceil\"),gg=Je(function(n,t){return n/t},1),vg=ci(\"floor\");function _g(n){return n&&n.length?qe(n,fn,Xr):i}function mg(n,t){return n&&n.length?qe(n,x(t,2),Xr):i}function wg(n){return Is(n,fn)}function Pg(n,t){return Is(n,x(t,2))}function Ag(n){return n&&n.length?qe(n,fn,jr):i}function Cg(n,t){return n&&n.length?qe(n,x(t,2),jr):i}var Ig=Je(function(n,t){return n*t},1),xg=ci(\"round\"),Eg=Je(function(n,t){return n-t},0);function yg(n){return n&&n.length?Ur(n,fn):0}function Sg(n,t){return n&&n.length?Ur(n,x(t,2)):0}return a.after=Xl,a.ary=Ju,a.assign=$p,a.assignIn=oa,a.assignInWith=ar,a.assignWith=Up,a.at=Wp,a.before=Xu,a.bind=Ci,a.bindAll=Gd,a.bindKey=Qu,a.castArray=ap,a.chain=Ku,a.chunk=vh,a.compact=_h,a.concat=mh,a.cond=zd,a.conforms=Kd,a.constant=Ri,a.countBy=yl,a.create=Fp,a.curry=Vu,a.curryRight=ku,a.debounce=ju,a.defaults=Mp,a.defaultsDeep=qp,a.defer=Ql,a.delay=Vl,a.difference=wh,a.differenceBy=Ph,a.differenceWith=Ah,a.drop=Ch,a.dropRight=Ih,a.dropRightWhile=xh,a.dropWhile=Eh,a.fill=yh,a.filter=Ol,a.flatMap=Tl,a.flatMapDeep=Ll,a.flatMapDepth=Dl,a.flatten=qu,a.flattenDeep=Sh,a.flattenDepth=Oh,a.flip=kl,a.flow=Zd,a.flowRight=Jd,a.fromPairs=Rh,a.functions=Jp,a.functionsIn=Xp,a.groupBy=Nl,a.initial=Th,a.intersection=Lh,a.intersectionBy=Dh,a.intersectionWith=Nh,a.invert=Vp,a.invertBy=kp,a.invokeMap=$l,a.iteratee=bi,a.keyBy=Ul,a.keys=V,a.keysIn=on,a.map=tr,a.mapKeys=nd,a.mapValues=td,a.matches=Xd,a.matchesProperty=Qd,a.memoize=rr,a.merge=ed,a.mergeWith=fa,a.method=Vd,a.methodOf=kd,a.mixin=Ti,a.negate=ir,a.nthArg=ng,a.omit=rd,a.omitBy=id,a.once=jl,a.orderBy=Wl,a.over=tg,a.overArgs=np,a.overEvery=eg,a.overSome=rg,a.partial=Ii,a.partialRight=na,a.partition=Fl,a.pick=sd,a.pickBy=ca,a.property=_a,a.propertyOf=ig,a.pull=Wh,a.pullAll=Gu,a.pullAllBy=Fh,a.pullAllWith=Mh,a.pullAt=qh,a.range=sg,a.rangeRight=ug,a.rearg=tp,a.reject=Bl,a.remove=Bh,a.rest=ep,a.reverse=Pi,a.sampleSize=zl,a.set=ad,a.setWith=od,a.shuffle=Kl,a.slice=Gh,a.sortBy=Jl,a.sortedUniq=Qh,a.sortedUniqBy=Vh,a.split=Td,a.spread=rp,a.tail=kh,a.take=jh,a.takeRight=nl,a.takeRightWhile=tl,a.takeWhile=el,a.tap=_l,a.throttle=ip,a.thru=nr,a.toArray=sa,a.toPairs=ha,a.toPairsIn=la,a.toPath=hg,a.toPlainObject=aa,a.transform=fd,a.unary=sp,a.union=rl,a.unionBy=il,a.unionWith=sl,a.uniq=ul,a.uniqBy=al,a.uniqWith=ol,a.unset=cd,a.unzip=Ai,a.unzipWith=zu,a.update=hd,a.updateWith=ld,a.values=qt,a.valuesIn=pd,a.without=fl,a.words=ga,a.wrap=up,a.xor=cl,a.xorBy=hl,a.xorWith=ll,a.zip=pl,a.zipObject=dl,a.zipObjectDeep=gl,a.zipWith=vl,a.entries=ha,a.entriesIn=la,a.extend=oa,a.extendWith=ar,Ti(a,a),a.add=pg,a.attempt=va,a.camelCase=_d,a.capitalize=pa,a.ceil=dg,a.clamp=dd,a.clone=op,a.cloneDeep=cp,a.cloneDeepWith=hp,a.cloneWith=fp,a.conformsTo=lp,a.deburr=da,a.defaultTo=Yd,a.divide=gg,a.endsWith=md,a.eq=bn,a.escape=wd,a.escapeRegExp=Pd,a.every=Sl,a.find=Rl,a.findIndex=Fu,a.findKey=Bp,a.findLast=bl,a.findLastIndex=Mu,a.findLastKey=Gp,a.floor=vg,a.forEach=Yu,a.forEachRight=Zu,a.forIn=zp,a.forInRight=Kp,a.forOwn=Yp,a.forOwnRight=Zp,a.get=yi,a.gt=pp,a.gte=dp,a.has=Qp,a.hasIn=Si,a.head=Bu,a.identity=fn,a.includes=Hl,a.indexOf=bh,a.inRange=gd,a.invoke=jp,a.isArguments=wt,a.isArray=O,a.isArrayBuffer=gp,a.isArrayLike=an,a.isArrayLikeObject=Y,a.isBoolean=vp,a.isBuffer=at,a.isDate=_p,a.isElement=mp,a.isEmpty=wp,a.isEqual=Pp,a.isEqualWith=Ap,a.isError=xi,a.isFinite=Cp,a.isFunction=Xn,a.isInteger=ta,a.isLength=sr,a.isMap=ea,a.isMatch=Ip,a.isMatchWith=xp,a.isNaN=Ep,a.isNative=yp,a.isNil=Op,a.isNull=Sp,a.isNumber=ra,a.isObject=z,a.isObjectLike=K,a.isPlainObject=le,a.isRegExp=Ei,a.isSafeInteger=Rp,a.isSet=ia,a.isString=ur,a.isSymbol=pn,a.isTypedArray=Mt,a.isUndefined=bp,a.isWeakMap=Tp,a.isWeakSet=Lp,a.join=Hh,a.kebabCase=Ad,a.last=In,a.lastIndexOf=$h,a.lowerCase=Cd,a.lowerFirst=Id,a.lt=Dp,a.lte=Np,a.max=_g,a.maxBy=mg,a.mean=wg,a.meanBy=Pg,a.min=Ag,a.minBy=Cg,a.stubArray=Di,a.stubFalse=Ni,a.stubObject=ag,a.stubString=og,a.stubTrue=fg,a.multiply=Ig,a.nth=Uh,a.noConflict=jd,a.noop=Li,a.now=er,a.pad=xd,a.padEnd=Ed,a.padStart=yd,a.parseInt=Sd,a.random=vd,a.reduce=Ml,a.reduceRight=ql,a.repeat=Od,a.replace=Rd,a.result=ud,a.round=xg,a.runInContext=h,a.sample=Gl,a.size=Yl,a.snakeCase=bd,a.some=Zl,a.sortedIndex=zh,a.sortedIndexBy=Kh,a.sortedIndexOf=Yh,a.sortedLastIndex=Zh,a.sortedLastIndexBy=Jh,a.sortedLastIndexOf=Xh,a.startCase=Ld,a.startsWith=Dd,a.subtract=Eg,a.sum=yg,a.sumBy=Sg,a.template=Nd,a.times=cg,a.toFinite=Qn,a.toInteger=R,a.toLength=ua,a.toLower=Hd,a.toNumber=xn,a.toSafeInteger=Hp,a.toString=U,a.toUpper=$d,a.trim=Ud,a.trimEnd=Wd,a.trimStart=Fd,a.truncate=Md,a.unescape=qd,a.uniqueId=lg,a.upperCase=Bd,a.upperFirst=Oi,a.each=Yu,a.eachRight=Zu,a.first=Bu,Ti(a,function(){var n={};return $n(a,function(t,e){W.call(a.prototype,e)||(n[e]=t)}),n}(),{chain:!1}),a.VERSION=p,mn([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(n){a[n].placeholder=a}),mn([\"drop\",\"take\"],function(n,t){N.prototype[n]=function(e){e=e===i?1:Q(R(e),0);var r=this.__filtered__&&!t?new N(this):this.clone();return r.__filtered__?r.__takeCount__=nn(e,r.__takeCount__):r.__views__.push({size:nn(e,Hn),type:n+(r.__dir__<0?\"Right\":\"\")}),r},N.prototype[n+\"Right\"]=function(e){return this.reverse()[n](e).reverse()}}),mn([\"filter\",\"map\",\"takeWhile\"],function(n,t){var e=t+1,r=e==qi||e==$a;N.prototype[n]=function(s){var o=this.clone();return o.__iteratees__.push({iteratee:x(s,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),mn([\"head\",\"last\"],function(n,t){var e=\"take\"+(t?\"Right\":\"\");N.prototype[n]=function(){return this[e](1).value()[0]}}),mn([\"initial\",\"tail\"],function(n,t){var e=\"drop\"+(t?\"\":\"Right\");N.prototype[n]=function(){return this.__filtered__?new N(this):this[e](1)}}),N.prototype.compact=function(){return this.filter(fn)},N.prototype.find=function(n){return this.filter(n).head()},N.prototype.findLast=function(n){return this.reverse().find(n)},N.prototype.invokeMap=T(function(n,t){return typeof n==\"function\"?new N(this):this.map(function(e){return ue(e,n,t)})}),N.prototype.reject=function(n){return this.filter(ir(x(n)))},N.prototype.slice=function(n,t){n=R(n);var e=this;return e.__filtered__&&(n>0||t<0)?new N(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=R(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},N.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},N.prototype.toArray=function(){return this.take(Hn)},$n(N.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=a[r?\"take\"+(t==\"last\"?\"Right\":\"\"):t],o=r||/^find/.test(t);s&&(a.prototype[t]=function(){var f=this.__wrapped__,c=r?[1]:arguments,l=f instanceof N,v=c[0],_=l||O(f),m=function(L){var H=s.apply(a,nt([L],c));return r&&w?H[0]:H};_&&e&&typeof v==\"function\"&&v.length!=1&&(l=_=!1);var w=this.__chain__,A=!!this.__actions__.length,E=o&&!w,b=l&&!A;if(!o&&_){f=b?f:new N(this);var y=n.apply(f,c);return y.__actions__.push({func:nr,args:[m],thisArg:i}),new Pn(y,w)}return E&&b?n.apply(this,c):(y=this.thru(m),E?r?y.value()[0]:y.value():y)})}),mn([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){var t=ye[n],e=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(n);a.prototype[n]=function(){var s=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(O(o)?o:[],s)}return this[e](function(f){return t.apply(O(f)?f:[],s)})}}),$n(N.prototype,function(n,t){var e=a[t];if(e){var r=e.name+\"\";W.call(Ht,r)||(Ht[r]=[]),Ht[r].push({name:t,func:e})}}),Ht[Ze(i,ft).name]=[{name:\"wrapper\",func:i}],N.prototype.clone=qf,N.prototype.reverse=Bf,N.prototype.value=Gf,a.prototype.at=ml,a.prototype.chain=wl,a.prototype.commit=Pl,a.prototype.next=Al,a.prototype.plant=Il,a.prototype.reverse=xl,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=El,a.prototype.first=a.prototype.head,jt&&(a.prototype[jt]=Cl),a},Lt=Pf();ht?((ht.exports=Lt)._=Lt,br._=Lt):k._=Lt}).call(pe)})($i,$i.exports);var Fg=Object.defineProperty,Mg=Object.defineProperties,qg=Object.getOwnPropertyDescriptors,xa=Object.getOwnPropertySymbols,Bg=Object.prototype.hasOwnProperty,Gg=Object.prototype.propertyIsEnumerable,Ea=(C,u,i)=>u in C?Fg(C,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):C[u]=i,fr=(C,u)=>{for(var i in u||(u={}))Bg.call(u,i)&&Ea(C,i,u[i]);if(xa)for(var i of xa(u))Gg.call(u,i)&&Ea(C,i,u[i]);return C},zg=(C,u)=>Mg(C,qg(u));function En(C,u,i){let p;const I=Ui(C);return u.rpcMap&&(p=u.rpcMap[I]),p||(p=`${Wg}?chainId=eip155:${I}&projectId=${i}`),p}function Ui(C){return C.includes(\"eip155\")?Number(C.split(\":\")[1]):Number(C)}function ya(C){return C.map(u=>`${u.split(\":\")[0]}:${u.split(\":\")[1]}`)}function Kg(C,u){const i=Object.keys(u.namespaces).filter(I=>I.includes(C));if(!i.length)return[];const p=[];return i.forEach(I=>{const D=u.namespaces[I].accounts;p.push(...D)}),p}function Yg(C={},u={}){const i=Sa(C),p=Sa(u);return $i.exports.merge(i,p)}function Sa(C){var u,i,p,I;const D={};if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.isValidObject)(C))return D;for(const[F,Fn]of Object.entries(C)){const Gt=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.isCaipNamespace)(F)?[F]:Fn.chains,lr=Fn.methods||[],At=Fn.events||[],Ln=Fn.rpcMap||{},Mn=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.parseNamespaceKey)(F);D[Mn]=zg(fr(fr({},D[Mn]),Fn),{chains:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.mergeArrays)(Gt,(u=D[Mn])==null?void 0:u.chains),methods:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.mergeArrays)(lr,(i=D[Mn])==null?void 0:i.methods),events:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.mergeArrays)(At,(p=D[Mn])==null?void 0:p.events),rpcMap:fr(fr({},Ln),(I=D[Mn])==null?void 0:I.rpcMap)})}return D}function Zg(C){return C.includes(\":\")?C.split(\":\")[2]:C}function Jg(C){const u={};for(const[i,p]of Object.entries(C)){const I=p.methods||[],D=p.events||[],F=p.accounts||[],Fn=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.isCaipNamespace)(i)?[i]:p.chains?p.chains:ya(p.accounts);u[i]={chains:Fn,methods:I,events:D,accounts:F}}return u}const Oa={},J=C=>Oa[C],Wi=(C,u)=>{Oa[C]=u};class Xg{constructor(u){this.name=\"polkadot\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const p=i||En(`${this.name}:${u}`,this.namespace);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2])||[]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||En(u,this.namespace);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__[\"default\"](p,J(\"disableProviderPing\")))}}class Qg{constructor(u){this.name=\"eip155\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(u){switch(u.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(u);case\"eth_chainId\":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(u.request.method)?await this.client.request(u):this.getHttpProvider().request(u.request)}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}setDefaultChain(u,i){const p=Ui(u);if(!this.httpProviders[p]){const I=i||En(`${this.name}:${p}`,this.namespace,this.client.core.projectId);if(!I)throw new Error(`No RPC url provided for chainId: ${p}`);this.setHttpProvider(p,I)}this.chainId=p,this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${p}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}createHttpProvider(u,i){const p=i||En(`${this.name}:${u}`,this.namespace,this.client.core.projectId);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__.HttpConnection(p,J(\"disableProviderPing\")))}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;const I=Ui(i);u[I]=this.createHttpProvider(I,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}getHttpProvider(){const u=this.chainId,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}async handleSwitchChain(u){var i,p;let I=u.request.params?(i=u.request.params[0])==null?void 0:i.chainId:\"0x0\";I=I.startsWith(\"0x\")?I:`0x${I}`;const D=parseInt(I,16);if(this.isChainApproved(D))this.setDefaultChain(`${D}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:u.topic,request:{method:u.request.method,params:[{chainId:I}]},chainId:(p=this.namespace.chains)==null?void 0:p[0]}),this.setDefaultChain(`${D}`);else throw new Error(`Failed to switch to chain 'eip155:${D}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(u){return this.namespace.chains.includes(`${this.name}:${u}`)}}class Vg{constructor(u){this.name=\"solana\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(!this.httpProviders[u]){const p=i||En(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.chainId=u,this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||En(u,this.namespace,this.client.core.projectId);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__[\"default\"](p,J(\"disableProviderPing\")))}}class kg{constructor(u){this.name=\"cosmos\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const p=i||En(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||En(u,this.namespace,this.client.core.projectId);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__[\"default\"](p,J(\"disableProviderPing\")))}}class jg{constructor(u){this.name=\"cip34\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(this.chainId=u,!this.httpProviders[u]){const p=i||this.getCardanoRPCUrl(u);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{const p=this.getCardanoRPCUrl(i);u[i]=this.createHttpProvider(i,p)}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}getCardanoRPCUrl(u){const i=this.namespace.rpcMap;if(i)return i[u]}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||this.getCardanoRPCUrl(u);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__[\"default\"](p,J(\"disableProviderPing\")))}}class nv{constructor(u){this.name=\"elrond\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(!this.httpProviders[u]){const p=i||En(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.chainId=u,this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||En(u,this.namespace,this.client.core.projectId);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__[\"default\"](p,J(\"disableProviderPing\")))}}class tv{constructor(u){this.name=\"multiversx\",this.namespace=u.namespace,this.events=J(\"events\"),this.client=J(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(u){this.namespace=Object.assign(this.namespace,u)}requestAccounts(){return this.getAccounts()}request(u){return this.namespace.methods.includes(u.request.method)?this.client.request(u):this.getHttpProvider().request(u.request)}setDefaultChain(u,i){if(!this.httpProviders[u]){const p=i||En(`${this.name}:${u}`,this.namespace,this.client.core.projectId);if(!p)throw new Error(`No RPC url provided for chainId: ${u}`);this.setHttpProvider(u,p)}this.chainId=u,this.events.emit(ot.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const u=this.namespace.chains[0];if(!u)throw new Error(\"ChainId not found\");return u.split(\":\")[1]}getAccounts(){const u=this.namespace.accounts;return u?[...new Set(u.filter(i=>i.split(\":\")[1]===this.chainId.toString()).map(i=>i.split(\":\")[2]))]:[]}createHttpProviders(){const u={};return this.namespace.chains.forEach(i=>{var p;u[i]=this.createHttpProvider(i,(p=this.namespace.rpcMap)==null?void 0:p[i])}),u}getHttpProvider(){const u=`${this.name}:${this.chainId}`,i=this.httpProviders[u];if(typeof i>\"u\")throw new Error(`JSON-RPC provider for ${u} not found`);return i}setHttpProvider(u,i){const p=this.createHttpProvider(u,i);p&&(this.httpProviders[u]=p)}createHttpProvider(u,i){const p=i||En(u,this.namespace,this.client.core.projectId);return typeof p>\"u\"?void 0:new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_2__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_1__[\"default\"](p,J(\"disableProviderPing\")))}}var ev=Object.defineProperty,rv=Object.defineProperties,iv=Object.getOwnPropertyDescriptors,Ra=Object.getOwnPropertySymbols,sv=Object.prototype.hasOwnProperty,uv=Object.prototype.propertyIsEnumerable,ba=(C,u,i)=>u in C?ev(C,u,{enumerable:!0,configurable:!0,writable:!0,value:i}):C[u]=i,cr=(C,u)=>{for(var i in u||(u={}))sv.call(u,i)&&ba(C,i,u[i]);if(Ra)for(var i of Ra(u))uv.call(u,i)&&ba(C,i,u[i]);return C},Fi=(C,u)=>rv(C,iv(u));class hr{constructor(u){this.events=new (events__WEBPACK_IMPORTED_MODULE_3___default()),this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=u,this.logger=typeof u?.logger<\"u\"&&typeof u?.logger!=\"string\"?u.logger:(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_0__.getDefaultLoggerOptions)({level:u?.logger||Ca})),this.disableProviderPing=u?.disableProviderPing||!1}static async init(u){const i=new hr(u);return await i.initialize(),i}async request(u,i){const[p,I]=this.validateChain(i);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(p).request({request:cr({},u),chainId:`${p}:${I}`,topic:this.session.topic})}sendAsync(u,i,p){this.request(u,p).then(I=>i(null,I)).catch(I=>i(I,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var u;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(u=this.session)==null?void 0:u.topic,reason:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.getSdkError)(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(u){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(u),await this.cleanupPendingPairings(),!u.skipPairing)return await this.pair(u.pairingTopic)}on(u,i){this.events.on(u,i)}once(u,i){this.events.once(u,i)}removeListener(u,i){this.events.removeListener(u,i)}off(u,i){this.events.off(u,i)}get isWalletConnect(){return!0}async pair(u){this.shouldAbortPairingAttempt=!1;let i=0;do{if(this.shouldAbortPairingAttempt)throw new Error(\"Pairing aborted\");if(i>=this.maxPairingAttempts)throw new Error(\"Max auto pairing attempts reached\");const{uri:p,approval:I}=await this.client.connect({pairingTopic:u,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});p&&(this.uri=p,this.events.emit(\"display_uri\",p)),await I().then(D=>{this.session=D,this.namespaces||(this.namespaces=Jg(D.namespaces),this.persist(\"namespaces\",this.namespaces))}).catch(D=>{if(D.message!==_walletconnect_sign_client__WEBPACK_IMPORTED_MODULE_5__.PROPOSAL_EXPIRY_MESSAGE)throw D;i++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(u,i){try{if(!this.session)return;const[p,I]=this.validateChain(u);this.getProvider(p).setDefaultChain(I,i)}catch(p){if(!/Please call connect/.test(p.message))throw p}}async cleanupPendingPairings(u={}){this.logger.info(\"Cleaning up inactive pairings...\");const i=this.client.pairing.getAll();if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.isValidArray)(i)){for(const p of i)u.deletePairings?this.client.core.expirer.set(p.topic,0):await this.client.core.relayer.subscriber.unsubscribe(p.topic);this.logger.info(`Inactive pairings cleared: ${i.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore(\"namespaces\"),this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.client.session.length){const u=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[u]),this.createProviders()}}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await _walletconnect_sign_client__WEBPACK_IMPORTED_MODULE_5__[\"default\"].init({logger:this.providerOpts.logger||Ca,relayUrl:this.providerOpts.relayUrl||Hg,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const u=[...new Set(Object.keys(this.session.namespaces).map(i=>(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.parseNamespaceKey)(i)))];Wi(\"client\",this.client),Wi(\"events\",this.events),Wi(\"disableProviderPing\",this.disableProviderPing),u.forEach(i=>{if(!this.session)return;const p=Kg(i,this.session),I=ya(p),D=Yg(this.namespaces,this.optionalNamespaces),F=Fi(cr({},D[i]),{accounts:p,chains:I});switch(i){case\"eip155\":this.rpcProviders[i]=new Qg({namespace:F});break;case\"solana\":this.rpcProviders[i]=new Vg({namespace:F});break;case\"cosmos\":this.rpcProviders[i]=new kg({namespace:F});break;case\"polkadot\":this.rpcProviders[i]=new Xg({namespace:F});break;case\"cip34\":this.rpcProviders[i]=new jg({namespace:F});break;case\"elrond\":this.rpcProviders[i]=new nv({namespace:F});break;case\"multiversx\":this.rpcProviders[i]=new tv({namespace:F});break}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",u=>{this.events.emit(\"session_ping\",u)}),this.client.on(\"session_event\",u=>{const{params:i}=u,{event:p}=i;if(p.name===\"accountsChanged\"){const I=p.data;I&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.isValidArray)(I)&&this.events.emit(\"accountsChanged\",I.map(Zg))}else p.name===\"chainChanged\"?this.onChainChanged(i.chainId):this.events.emit(p.name,p.data);this.events.emit(\"session_event\",u)}),this.client.on(\"session_update\",({topic:u,params:i})=>{var p;const{namespaces:I}=i,D=(p=this.client)==null?void 0:p.session.get(u);this.session=Fi(cr({},D),{namespaces:I}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:u,params:i})}),this.client.on(\"session_delete\",async u=>{await this.cleanup(),this.events.emit(\"session_delete\",u),this.events.emit(\"disconnect\",Fi(cr({},(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.getSdkError)(\"USER_DISCONNECTED\")),{data:u.topic}))}),this.on(ot.DEFAULT_CHAIN_CHANGED,u=>{this.onChainChanged(u,!0)})}getProvider(u){if(!this.rpcProviders[u])throw new Error(`Provider not found: ${u}`);return this.rpcProviders[u]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(u=>{var i;this.getProvider(u).updateNamespace((i=this.session)==null?void 0:i.namespaces[u])})}setNamespaces(u){const{namespaces:i,optionalNamespaces:p,sessionProperties:I}=u;i&&Object.keys(i).length&&(this.namespaces=i),p&&Object.keys(p).length&&(this.optionalNamespaces=p),this.sessionProperties=I,this.persist(\"namespaces\",i),this.persist(\"optionalNamespaces\",p)}validateChain(u){const[i,p]=u?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[i,p];if(i&&!Object.keys(this.namespaces||{}).map(F=>(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.parseNamespaceKey)(F)).includes(i))throw new Error(`Namespace '${i}' is not configured. Please call connect() first with namespace config.`);if(i&&p)return[i,p];const I=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_4__.parseNamespaceKey)(Object.keys(this.namespaces)[0]),D=this.rpcProviders[I].getDefaultChain();return[I,D]}async requestAccounts(){const[u]=this.validateChain();return await this.getProvider(u).requestAccounts()}onChainChanged(u,i=!1){var p;if(!this.namespaces)return;const[I,D]=this.validateChain(u);i||this.getProvider(I).setDefaultChain(D),((p=this.namespaces[I])!=null?p:this.namespaces[`${I}:${D}`]).defaultChain=D,this.persist(\"namespaces\",this.namespaces),this.events.emit(\"chainChanged\",D)}onConnect(){this.createProviders(),this.events.emit(\"connect\",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist(\"namespaces\",void 0),this.persist(\"optionalNamespaces\",void 0),this.persist(\"sessionProperties\",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(u,i){this.client.core.storage.setItem(`${Ia}/${u}`,i)}async getFromStore(u){return await this.client.core.storage.getItem(`${Ia}/${u}`)}}const av=hr;\n//# sourceMappingURL=index.es.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdW5pdmVyc2FsLXByb3ZpZGVyL2Rpc3QvaW5kZXguZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUF3ZCwwRkFBMEYsR0FBRyxLQUFLLEdBQUcsNkNBQTZDLCtDQUErQyx3RUFBd0UscUJBQU0sS0FBSyxxQkFBTSx3QkFBd0IsS0FBSyxZQUFZO0FBQzN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsWUFBWSxrMkNBQWsyQywyREFBMkQsK0JBQStCLHVUQUF1VCxrREFBa0QsK0NBQStDLHNHQUFzRyxpQ0FBaUMsTUFBTSxhQUFhLE9BQU8sKzRCQUErNEIsRUFBRSxzdkJBQXN2QixFQUFFLHFZQUFxWSxzSkFBc0osU0FBUyw0SkFBNEosUUFBUSxvakVBQW9qRSxLQUFLLFVBQVUsV0FBVyxXQUFXLGFBQWEsWUFBWSxFQUFFLEtBQUssTUFBTSxXQUFXLFdBQVcsYUFBYSxZQUFZLE1BQU0sS0FBSyxzRUFBc0Usc1JBQXNSLElBQUksK0NBQStDLDZDQUE2QyxRQUFRLHNIQUFzSCxtQkFBbUIsaUJBQWlCLHdCQUF3Qiw2QkFBNkIsa0NBQWtDLHVDQUF1QyxvQkFBb0IscUJBQXFCLGtDQUFrQyxNQUFNLEVBQUUsV0FBVyxjQUFjLFNBQVMsaUJBQWlCLGtDQUFrQyx3QkFBd0IsRUFBRSxTQUFTLGlCQUFpQiw2QkFBNkIsc0JBQXNCLEVBQUUsU0FBUyxpQkFBaUIsa0NBQWtDLE1BQU0sMEJBQTBCLFNBQVMsaUJBQWlCLDJDQUEyQyxNQUFNLEVBQUUsV0FBVyxxQkFBcUIsU0FBUyxpQkFBaUIseUJBQXlCLHdCQUF3QixtQkFBbUIsa0NBQWtDLE1BQU0sdUJBQXVCLFNBQVMsZ0JBQWdCLDZDQUE2QyxNQUFNLGtCQUFrQixTQUFTLGlCQUFpQixtQ0FBbUMsTUFBTSxhQUFhLFNBQVMscUJBQXFCLDhCQUE4QixxQkFBcUIsTUFBTSxpQkFBaUIsU0FBUyxxQkFBcUIseUJBQXlCLHFCQUFxQixJ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RSxVQUFVLDBDQUEwQyxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsWUFBWSxFQUFFLE1BQU0sMENBQTBDLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsWUFBWSxFQUFFLE1BQU0sMENBQTBDLFlBQVksRUFBRSxNQUFNLDhDQUE4QyxZQUFZLEVBQUUsT0FBTyxFQUFFLHlCQUF5Qiw0RUFBNEUsa0NBQWtDLG1DQUFtQyxxQ0FBcUMsTUFBTSxTQUFTLElBQUksUUFBUSxHQUFHLCtCQUErQixlQUFlLEdBQUcsa0VBQUUsbURBQW1ELDRGQUE0RixvQ0FBb0Msb0NBQW9DLGlCQUFpQixJQUFJLE1BQU0sTUFBTSxhQUFhLG1EQUFtRCxxQkFBcUIsS0FBSyxhQUFhLDREQUE0RCxpQkFBaUIsRUFBRSw0Q0FBNEMsZ0dBQWdHLENBQUMsaUVBQUUsd0JBQXdCLGFBQWEsR0FBRyx1Q0FBdUMsMEJBQTBCLEVBQUUsZUFBZSxnRUFBZ0UsRUFBRSxHQUFHLDRCQUE0QixrQkFBa0IsMkNBQTJDLE1BQU0sbUZBQW1GLEVBQUUsaUJBQWlCLE1BQU0sc0RBQXNELEdBQUcsK0xBQStMLGlCQUFpQixrQ0FBa0Msc0VBQXNFLHNDQUFzQyxTQUFTLHVFQUFFLCtDQUErQyxFQUFFLDBFQUEwRSxvQkFBb0IsUUFBUSx1RUFBRSwyRUFBMkUsWUFBWSx3QkFBd0IsOEJBQThCLG1EQUFtRCx1QkFBdUIsTUFBTSwyQkFBMkIsaUNBQWlDLDZGQUE2RixFQUFFLEdBQUcsRUFBRSxpR0FBaUcsWUFBWSxtREFBbUQscUJBQXFCLEVBQUUsZ0JBQWdCLGdRQUFnUSxrQkFBa0IsRUFBRSxhQUFhLG9DQUFvQyxHQUFHLEdBQUcsRUFBRSxLQUFLLHNCQUFzQixpREFBaUQsR0FBRyxHQUFHLEVBQUUsSUFBSSxZQUEwRDtBQUN2dWhDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC91bml2ZXJzYWwtcHJvdmlkZXIvZGlzdC9pbmRleC5lcy5qcz8zODBlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBPZyx7UFJPUE9TQUxfRVhQSVJZX01FU1NBR0UgYXMgUmd9ZnJvbVwiQHdhbGxldGNvbm5lY3Qvc2lnbi1jbGllbnRcIjtpbXBvcnR7aXNWYWxpZE9iamVjdCBhcyBiZyxpc0NhaXBOYW1lc3BhY2UgYXMgd2EscGFyc2VOYW1lc3BhY2VLZXkgYXMgb3IsbWVyZ2VBcnJheXMgYXMgSGksZ2V0U2RrRXJyb3IgYXMgUGEsaXNWYWxpZEFycmF5IGFzIEFhfWZyb21cIkB3YWxsZXRjb25uZWN0L3V0aWxzXCI7aW1wb3J0e3Bpbm8gYXMgVGcsZ2V0RGVmYXVsdExvZ2dlck9wdGlvbnMgYXMgTGd9ZnJvbVwiQHdhbGxldGNvbm5lY3QvbG9nZ2VyXCI7aW1wb3J0IEJ0LHtIdHRwQ29ubmVjdGlvbiBhcyBEZ31mcm9tXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLWh0dHAtY29ubmVjdGlvblwiO2ltcG9ydHtKc29uUnBjUHJvdmlkZXIgYXMgUHR9ZnJvbVwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy1wcm92aWRlclwiO2ltcG9ydCBOZyBmcm9tXCJldmVudHNcIjtjb25zdCBDYT1cImVycm9yXCIsSGc9XCJ3c3M6Ly9yZWxheS53YWxsZXRjb25uZWN0LmNvbVwiLCRnPVwid2NcIixVZz1cInVuaXZlcnNhbF9wcm92aWRlclwiLElhPWAkeyRnfUAyOiR7VWd9OmAsV2c9XCJodHRwczovL3JwYy53YWxsZXRjb25uZWN0LmNvbS92MVwiLG90PXtERUZBVUxUX0NIQUlOX0NIQU5HRUQ6XCJkZWZhdWx0X2NoYWluX2NoYW5nZWRcIn07dmFyIHBlPXR5cGVvZiBnbG9iYWxUaGlzPFwidVwiP2dsb2JhbFRoaXM6dHlwZW9mIHdpbmRvdzxcInVcIj93aW5kb3c6dHlwZW9mIGdsb2JhbDxcInVcIj9nbG9iYWw6dHlwZW9mIHNlbGY8XCJ1XCI/c2VsZjp7fSwkaT17ZXhwb3J0czp7fX07LyoqXG4gKiBAbGljZW5zZVxuICogTG9kYXNoIDxodHRwczovL2xvZGFzaC5jb20vPlxuICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vb3BlbmpzZi5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovKGZ1bmN0aW9uKEMsdSl7KGZ1bmN0aW9uKCl7dmFyIGkscD1cIjQuMTcuMjFcIixJPTIwMCxEPVwiVW5zdXBwb3J0ZWQgY29yZS1qcyB1c2UuIFRyeSBodHRwczovL25wbXMuaW8vc2VhcmNoP3E9cG9ueWZpbGwuXCIsRj1cIkV4cGVjdGVkIGEgZnVuY3Rpb25cIixGbj1cIkludmFsaWQgYHZhcmlhYmxlYCBvcHRpb24gcGFzc2VkIGludG8gYF8udGVtcGxhdGVgXCIsR3Q9XCJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fXCIsbHI9NTAwLEF0PVwiX19sb2Rhc2hfcGxhY2Vob2xkZXJfX1wiLExuPTEsTW49MixDdD00LEl0PTEsZGU9Mix2bj0xLGZ0PTIsTWk9NCxEbj04LHh0PTE2LE5uPTMyLEV0PTY0LHFuPTEyOCx6dD0yNTYscHI9NTEyLFRhPTMwLExhPVwiLi4uXCIsRGE9ODAwLE5hPTE2LHFpPTEsSGE9MiwkYT0zLGN0PTEvMCxrbj05MDA3MTk5MjU0NzQwOTkxLFVhPTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MixnZT0wLzAsSG49NDI5NDk2NzI5NSxXYT1Ibi0xLEZhPUhuPj4+MSxNYT1bW1wiYXJ5XCIscW5dLFtcImJpbmRcIix2bl0sW1wiYmluZEtleVwiLGZ0XSxbXCJjdXJyeVwiLERuXSxbXCJjdXJyeVJpZ2h0XCIseHRdLFtcImZsaXBcIixwcl0sW1wicGFydGlhbFwiLE5uXSxbXCJwYXJ0aWFsUmlnaHRcIixFdF0sW1wicmVhcmdcIix6dF1dLHl0PVwiW29iamVjdCBBcmd1bWVudHNdXCIsdmU9XCJbb2JqZWN0IEFycmF5XVwiLHFhPVwiW29iamVjdCBBc3luY0Z1bmN0aW9uXVwiLEt0PVwiW29iamVjdCBCb29sZWFuXVwiLFl0PVwiW29iamVjdCBEYXRlXVwiLEJhPVwiW29iamVjdCBET01FeGNlcHRpb25dXCIsX2U9XCJbb2JqZWN0IEVycm9yXVwiLG1lPVwiW29iamVjdCBGdW5jdGlvbl1cIixCaT1cIltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dXCIseW49XCJbb2JqZWN0IE1hcF1cIixadD1cIltvYmplY3QgTnVtYmVyXVwiLEdhPVwiW29iamVjdCBOdWxsXVwiLEJuPVwiW29iamVjdCBPYmplY3RdXCIsR2k9XCJbb2JqZWN0IFByb21pc2VdXCIsemE9XCJbb2JqZWN0IFByb3h5XVwiLEp0PVwiW29iamVjdCBSZWdFeHBdXCIsU249XCJbb2JqZWN0IFNldF1cIixYdD1cIltvYmplY3QgU3RyaW5nXVwiLHdlPVwiW29iamVjdCBTeW1ib2xdXCIsS2E9XCJbb2JqZWN0IFVuZGVmaW5lZF1cIixRdD1cIltvYmplY3QgV2Vha01hcF1cIixZYT1cIltvYmplY3QgV2Vha1NldF1cIixWdD1cIltvYmplY3QgQXJyYXlCdWZmZXJdXCIsU3Q9XCJbb2JqZWN0IERhdGFWaWV3XVwiLGRyPVwiW29iamVjdCBGbG9hdDMyQXJyYXldXCIsZ3I9XCJbb2JqZWN0IEZsb2F0NjRBcnJheV1cIix2cj1cIltvYmplY3QgSW50OEFycmF5XVwiLF9yPVwiW29iamVjdCBJbnQxNkFycmF5XVwiLG1yPVwiW29iamVjdCBJbnQzMkFycmF5XVwiLHdyPVwiW29iamVjdCBVaW50OEFycmF5XVwiLFByPVwiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV1cIixBcj1cIltvYmplY3QgVWludDE2QXJyYXldXCIsQ3I9XCJbb2JqZWN0IFVpbnQzMkFycmF5XVwiLFphPS9cXGJfX3AgXFwrPSAnJzsvZyxKYT0vXFxiKF9fcCBcXCs9KSAnJyBcXCsvZyxYYT0vKF9fZVxcKC4qP1xcKXxcXGJfX3RcXCkpIFxcK1xcbicnOy9nLHppPS8mKD86YW1wfGx0fGd0fHF1b3R8IzM5KTsvZyxLaT0vWyY8PlwiJ10vZyxRYT1SZWdFeHAoemkuc291cmNlKSxWYT1SZWdFeHAoS2kuc291cmNlKSxrYT0vPCUtKFtcXHNcXFNdKz8pJT4vZyxqYT0vPCUoW1xcc1xcU10rPyklPi9nLFlpPS88JT0oW1xcc1xcU10rPyklPi9nLG5vPS9cXC58XFxbKD86W15bXFxdXSp8KFtcIiddKSg/Oig/IVxcMSlbXlxcXFxdfFxcXFwuKSo/XFwxKVxcXS8sdG89L15cXHcqJC8sZW89L1teLltcXF1dK3xcXFsoPzooLT9cXGQrKD86XFwuXFxkKyk/KXwoW1wiJ10pKCg/Oig/IVxcMilbXlxcXFxdfFxcXFwuKSo/KVxcMilcXF18KD89KD86XFwufFxcW1xcXSkoPzpcXC58XFxbXFxdfCQpKS9nLElyPS9bXFxcXF4kLiorPygpW1xcXXt9fF0vZyxybz1SZWdFeHAoSXIuc291cmNlKSx4cj0vXlxccysvLGlvPS9cXHMvLHNvPS9cXHsoPzpcXG5cXC9cXCogXFxbd3JhcHBlZCB3aXRoIC4rXFxdIFxcKlxcLyk/XFxuPy8sdW89L1xce1xcblxcL1xcKiBcXFt3cmFwcGVkIHdpdGggKC4rKVxcXSBcXCovLGFvPS8sPyAmIC8sb289L1teXFx4MDAtXFx4MmZcXHgzYS1cXHg0MFxceDViLVxceDYwXFx4N2ItXFx4N2ZdKy9nLGZvPS9bKCk9LHt9XFxbXFxdXFwvXFxzXS8sY289L1xcXFwoXFxcXCk/L2csaG89L1xcJFxceyhbXlxcXFx9XSooPzpcXFxcLlteXFxcXH1dKikqKVxcfS9nLFppPS9cXHcqJC8sbG89L15bLStdMHhbMC05YS1mXSskL2kscG89L14wYlswMV0rJC9pLGdvPS9eXFxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXFxdJC8sdm89L14wb1swLTddKyQvaSxfbz0vXig/OjB8WzEtOV1cXGQqKSQvLG1vPS9bXFx4YzAtXFx4ZDZcXHhkOC1cXHhmNlxceGY4LVxceGZmXFx1MDEwMC1cXHUwMTdmXS9nLFBlPS8oJF4pLyx3bz0vWydcXG5cXHJcXHUyMDI4XFx1MjAyOVxcXFxdL2csQWU9XCJcXFxcdWQ4MDAtXFxcXHVkZmZmXCIsUG89XCJcXFxcdTAzMDAtXFxcXHUwMzZmXCIsQW89XCJcXFxcdWZlMjAtXFxcXHVmZTJmXCIsQ289XCJcXFxcdTIwZDAtXFxcXHUyMGZmXCIsSmk9UG8rQW8rQ28sWGk9XCJcXFxcdTI3MDAtXFxcXHUyN2JmXCIsUWk9XCJhLXpcXFxceGRmLVxcXFx4ZjZcXFxceGY4LVxcXFx4ZmZcIixJbz1cIlxcXFx4YWNcXFxceGIxXFxcXHhkN1xcXFx4ZjdcIix4bz1cIlxcXFx4MDAtXFxcXHgyZlxcXFx4M2EtXFxcXHg0MFxcXFx4NWItXFxcXHg2MFxcXFx4N2ItXFxcXHhiZlwiLEVvPVwiXFxcXHUyMDAwLVxcXFx1MjA2ZlwiLHlvPVwiIFxcXFx0XFxcXHgwYlxcXFxmXFxcXHhhMFxcXFx1ZmVmZlxcXFxuXFxcXHJcXFxcdTIwMjhcXFxcdTIwMjlcXFxcdTE2ODBcXFxcdTE4MGVcXFxcdTIwMDBcXFxcdTIwMDFcXFxcdTIwMDJcXFxcdTIwMDNcXFxcdTIwMDRcXFxcdTIwMDVcXFxcdTIwMDZcXFxcdTIwMDdcXFxcdTIwMDhcXFxcdTIwMDlcXFxcdTIwMGFcXFxcdTIwMmZcXFxcdTIwNWZcXFxcdTMwMDBcIixWaT1cIkEtWlxcXFx4YzAtXFxcXHhkNlxcXFx4ZDgtXFxcXHhkZVwiLGtpPVwiXFxcXHVmZTBlXFxcXHVmZTBmXCIsamk9SW8reG8rRW8reW8sRXI9XCJbJ1xcdTIwMTldXCIsU289XCJbXCIrQWUrXCJdXCIsbnM9XCJbXCIramkrXCJdXCIsQ2U9XCJbXCIrSmkrXCJdXCIsdHM9XCJcXFxcZCtcIixPbz1cIltcIitYaStcIl1cIixlcz1cIltcIitRaStcIl1cIixycz1cIlteXCIrQWUramkrdHMrWGkrUWkrVmkrXCJdXCIseXI9XCJcXFxcdWQ4M2NbXFxcXHVkZmZiLVxcXFx1ZGZmZl1cIixSbz1cIig/OlwiK0NlK1wifFwiK3lyK1wiKVwiLGlzPVwiW15cIitBZStcIl1cIixTcj1cIig/OlxcXFx1ZDgzY1tcXFxcdWRkZTYtXFxcXHVkZGZmXSl7Mn1cIixPcj1cIltcXFxcdWQ4MDAtXFxcXHVkYmZmXVtcXFxcdWRjMDAtXFxcXHVkZmZmXVwiLE90PVwiW1wiK1ZpK1wiXVwiLHNzPVwiXFxcXHUyMDBkXCIsdXM9XCIoPzpcIitlcytcInxcIitycytcIilcIixibz1cIig/OlwiK090K1wifFwiK3JzK1wiKVwiLGFzPVwiKD86XCIrRXIrXCIoPzpkfGxsfG18cmV8c3x0fHZlKSk/XCIsb3M9XCIoPzpcIitFcitcIig/OkR8TEx8TXxSRXxTfFR8VkUpKT9cIixmcz1SbytcIj9cIixjcz1cIltcIitraStcIl0/XCIsVG89XCIoPzpcIitzcytcIig/OlwiK1tpcyxTcixPcl0uam9pbihcInxcIikrXCIpXCIrY3MrZnMrXCIpKlwiLExvPVwiXFxcXGQqKD86MXN0fDJuZHwzcmR8KD8hWzEyM10pXFxcXGR0aCkoPz1cXFxcYnxbQS1aX10pXCIsRG89XCJcXFxcZCooPzoxU1R8Mk5EfDNSRHwoPyFbMTIzXSlcXFxcZFRIKSg/PVxcXFxifFthLXpfXSlcIixocz1jcytmcytUbyxObz1cIig/OlwiK1tPbyxTcixPcl0uam9pbihcInxcIikrXCIpXCIraHMsSG89XCIoPzpcIitbaXMrQ2UrXCI/XCIsQ2UsU3IsT3IsU29dLmpvaW4oXCJ8XCIpK1wiKVwiLCRvPVJlZ0V4cChFcixcImdcIiksVW89UmVnRXhwKENlLFwiZ1wiKSxScj1SZWdFeHAoeXIrXCIoPz1cIit5citcIil8XCIrSG8raHMsXCJnXCIpLFdvPVJlZ0V4cChbT3QrXCI/XCIrZXMrXCIrXCIrYXMrXCIoPz1cIitbbnMsT3QsXCIkXCJdLmpvaW4oXCJ8XCIpK1wiKVwiLGJvK1wiK1wiK29zK1wiKD89XCIrW25zLE90K3VzLFwiJFwiXS5qb2luKFwifFwiKStcIilcIixPdCtcIj9cIit1cytcIitcIithcyxPdCtcIitcIitvcyxEbyxMbyx0cyxOb10uam9pbihcInxcIiksXCJnXCIpLEZvPVJlZ0V4cChcIltcIitzcytBZStKaStraStcIl1cIiksTW89L1thLXpdW0EtWl18W0EtWl17Mn1bYS16XXxbMC05XVthLXpBLVpdfFthLXpBLVpdWzAtOV18W15hLXpBLVowLTkgXS8scW89W1wiQXJyYXlcIixcIkJ1ZmZlclwiLFwiRGF0YVZpZXdcIixcIkRhdGVcIixcIkVycm9yXCIsXCJGbG9hdDMyQXJyYXlcIixcIkZsb2F0NjRBcnJheVwiLFwiRnVuY3Rpb25cIixcIkludDhBcnJheVwiLFwiSW50MTZBcnJheVwiLFwiSW50MzJBcnJheVwiLFwiTWFwXCIsXCJNYXRoXCIsXCJPYmplY3RcIixcIlByb21pc2VcIixcIlJlZ0V4cFwiLFwiU2V0XCIsXCJTdHJpbmdcIixcIlN5bWJvbFwiLFwiVHlwZUVycm9yXCIsXCJVaW50OEFycmF5XCIsXCJVaW50OENsYW1wZWRBcnJheVwiLFwiVWludDE2QXJyYXlcIixcIlVpbnQzMkFycmF5XCIsXCJXZWFrTWFwXCIsXCJfXCIsXCJjbGVhclRpbWVvdXRcIixcImlzRmluaXRlXCIsXCJwYXJzZUludFwiLFwic2V0VGltZW91dFwiXSxCbz0tMSxCPXt9O0JbZHJdPUJbZ3JdPUJbdnJdPUJbX3JdPUJbbXJdPUJbd3JdPUJbUHJdPUJbQXJdPUJbQ3JdPSEwLEJbeXRdPUJbdmVdPUJbVnRdPUJbS3RdPUJbU3RdPUJbWXRdPUJbX2VdPUJbbWVdPUJbeW5dPUJbWnRdPUJbQm5dPUJbSnRdPUJbU25dPUJbWHRdPUJbUXRdPSExO3ZhciBxPXt9O3FbeXRdPXFbdmVdPXFbVnRdPXFbU3RdPXFbS3RdPXFbWXRdPXFbZHJdPXFbZ3JdPXFbdnJdPXFbX3JdPXFbbXJdPXFbeW5dPXFbWnRdPXFbQm5dPXFbSnRdPXFbU25dPXFbWHRdPXFbd2VdPXFbd3JdPXFbUHJdPXFbQXJdPXFbQ3JdPSEwLHFbX2VdPXFbbWVdPXFbUXRdPSExO3ZhciBHbz17XFx1MDBDMDpcIkFcIixcXHUwMEMxOlwiQVwiLFxcdTAwQzI6XCJBXCIsXFx1MDBDMzpcIkFcIixcXHUwMEM0OlwiQVwiLFxcdTAwQzU6XCJBXCIsXFx1MDBFMDpcImFcIixcXHUwMEUxOlwiYVwiLFxcdTAwRTI6XCJhXCIsXFx1MDBFMzpcImFcIixcXHUwMEU0OlwiYVwiLFxcdTAwRTU6XCJhXCIsXFx1MDBDNzpcIkNcIixcXHUwMEU3OlwiY1wiLFxcdTAwRDA6XCJEXCIsXFx1MDBGMDpcImRcIixcXHUwMEM4OlwiRVwiLFxcdTAwQzk6XCJFXCIsXFx1MDBDQTpcIkVcIixcXHUwMENCOlwiRVwiLFxcdTAwRTg6XCJlXCIsXFx1MDBFOTpcImVcIixcXHUwMEVBOlwiZVwiLFxcdTAwRUI6XCJlXCIsXFx1MDBDQzpcIklcIixcXHUwMENEOlwiSVwiLFxcdTAwQ0U6XCJJXCIsXFx1MDBDRjpcIklcIixcXHUwMEVDOlwiaVwiLFxcdTAwRUQ6XCJpXCIsXFx1MDBFRTpcImlcIixcXHUwMEVGOlwiaVwiLFxcdTAwRDE6XCJOXCIsXFx1MDBGMTpcIm5cIixcXHUwMEQyOlwiT1wiLFxcdTAwRDM6XCJPXCIsXFx1MDBENDpcIk9cIixcXHUwMEQ1OlwiT1wiLFxcdTAwRDY6XCJPXCIsXFx1MDBEODpcIk9cIixcXHUwMEYyOlwib1wiLFxcdTAwRjM6XCJvXCIsXFx1MDBGNDpcIm9cIixcXHUwMEY1Olwib1wiLFxcdTAwRjY6XCJvXCIsXFx1MDBGODpcIm9cIixcXHUwMEQ5OlwiVVwiLFxcdTAwREE6XCJVXCIsXFx1MDBEQjpcIlVcIixcXHUwMERDOlwiVVwiLFxcdTAwRjk6XCJ1XCIsXFx1MDBGQTpcInVcIixcXHUwMEZCOlwidVwiLFxcdTAwRkM6XCJ1XCIsXFx1MDBERDpcIllcIixcXHUwMEZEOlwieVwiLFxcdTAwRkY6XCJ5XCIsXFx1MDBDNjpcIkFlXCIsXFx1MDBFNjpcImFlXCIsXFx1MDBERTpcIlRoXCIsXFx1MDBGRTpcInRoXCIsXFx1MDBERjpcInNzXCIsXFx1MDEwMDpcIkFcIixcXHUwMTAyOlwiQVwiLFxcdTAxMDQ6XCJBXCIsXFx1MDEwMTpcImFcIixcXHUwMTAzOlwiYVwiLFxcdTAxMDU6XCJhXCIsXFx1MDEwNjpcIkNcIixcXHUwMTA4OlwiQ1wiLFxcdTAxMEE6XCJDXCIsXFx1MDEwQzpcIkNcIixcXHUwMTA3OlwiY1wiLFxcdTAxMDk6XCJjXCIsXFx1MDEwQjpcImNcIixcXHUwMTBEOlwiY1wiLFxcdTAxMEU6XCJEXCIsXFx1MDExMDpcIkRcIixcXHUwMTBGOlwiZFwiLFxcdTAxMTE6XCJkXCIsXFx1MDExMjpcIkVcIixcXHUwMTE0OlwiRVwiLFxcdTAxMTY6XCJFXCIsXFx1MDExODpcIkVcIixcXHUwMTFBOlwiRVwiLFxcdTAxMTM6XCJlXCIsXFx1MDExNTpcImVcIixcXHUwMTE3OlwiZVwiLFxcdTAxMTk6XCJlXCIsXFx1MDExQjpcImVcIixcXHUwMTFDOlwiR1wiLFxcdTAxMUU6XCJHXCIsXFx1MDEyMDpcIkdcIixcXHUwMTIyOlwiR1wiLFxcdTAxMUQ6XCJnXCIsXFx1MDExRjpcImdcIixcXHUwMTIxOlwiZ1wiLFxcdTAxMjM6XCJnXCIsXFx1MDEyNDpcIkhcIixcXHUwMTI2OlwiSFwiLFxcdTAxMjU6XCJoXCIsXFx1MDEyNzpcImhcIixcXHUwMTI4OlwiSVwiLFxcdTAxMkE6XCJJXCIsXFx1MDEyQzpcIklcIixcXHUwMTJFOlwiSVwiLFxcdTAxMzA6XCJJXCIsXFx1MDEyOTpcImlcIixcXHUwMTJCOlwiaVwiLFxcdTAxMkQ6XCJpXCIsXFx1MDEyRjpcImlcIixcXHUwMTMxOlwiaVwiLFxcdTAxMzQ6XCJKXCIsXFx1MDEzNTpcImpcIixcXHUwMTM2OlwiS1wiLFxcdTAxMzc6XCJrXCIsXFx1MDEzODpcImtcIixcXHUwMTM5OlwiTFwiLFxcdTAxM0I6XCJMXCIsXFx1MDEzRDpcIkxcIixcXHUwMTNGOlwiTFwiLFxcdTAxNDE6XCJMXCIsXFx1MDEzQTpcImxcIixcXHUwMTNDOlwibFwiLFxcdTAxM0U6XCJsXCIsXFx1MDE0MDpcImxcIixcXHUwMTQyOlwibFwiLFxcdTAxNDM6XCJOXCIsXFx1MDE0NTpcIk5cIixcXHUwMTQ3OlwiTlwiLFxcdTAxNEE6XCJOXCIsXFx1MDE0NDpcIm5cIixcXHUwMTQ2OlwiblwiLFxcdTAxNDg6XCJuXCIsXFx1MDE0QjpcIm5cIixcXHUwMTRDOlwiT1wiLFxcdTAxNEU6XCJPXCIsXFx1MDE1MDpcIk9cIixcXHUwMTREOlwib1wiLFxcdTAxNEY6XCJvXCIsXFx1MDE1MTpcIm9cIixcXHUwMTU0OlwiUlwiLFxcdTAxNTY6XCJSXCIsXFx1MDE1ODpcIlJcIixcXHUwMTU1OlwiclwiLFxcdTAxNTc6XCJyXCIsXFx1MDE1OTpcInJcIixcXHUwMTVBOlwiU1wiLFxcdTAxNUM6XCJTXCIsXFx1MDE1RTpcIlNcIixcXHUwMTYwOlwiU1wiLFxcdTAxNUI6XCJzXCIsXFx1MDE1RDpcInNcIixcXHUwMTVGOlwic1wiLFxcdTAxNjE6XCJzXCIsXFx1MDE2MjpcIlRcIixcXHUwMTY0OlwiVFwiLFxcdTAxNjY6XCJUXCIsXFx1MDE2MzpcInRcIixcXHUwMTY1OlwidFwiLFxcdTAxNjc6XCJ0XCIsXFx1MDE2ODpcIlVcIixcXHUwMTZBOlwiVVwiLFxcdTAxNkM6XCJVXCIsXFx1MDE2RTpcIlVcIixcXHUwMTcwOlwiVVwiLFxcdTAxNzI6XCJVXCIsXFx1MDE2OTpcInVcIixcXHUwMTZCOlwidVwiLFxcdTAxNkQ6XCJ1XCIsXFx1MDE2RjpcInVcIixcXHUwMTcxOlwidVwiLFxcdTAxNzM6XCJ1XCIsXFx1MDE3NDpcIldcIixcXHUwMTc1Olwid1wiLFxcdTAxNzY6XCJZXCIsXFx1MDE3NzpcInlcIixcXHUwMTc4OlwiWVwiLFxcdTAxNzk6XCJaXCIsXFx1MDE3QjpcIlpcIixcXHUwMTdEOlwiWlwiLFxcdTAxN0E6XCJ6XCIsXFx1MDE3QzpcInpcIixcXHUwMTdFOlwielwiLFxcdTAxMzI6XCJJSlwiLFxcdTAxMzM6XCJpalwiLFxcdTAxNTI6XCJPZVwiLFxcdTAxNTM6XCJvZVwiLFxcdTAxNDk6XCInblwiLFxcdTAxN0Y6XCJzXCJ9LHpvPXtcIiZcIjpcIiZhbXA7XCIsXCI8XCI6XCImbHQ7XCIsXCI+XCI6XCImZ3Q7XCIsJ1wiJzpcIiZxdW90O1wiLFwiJ1wiOlwiJiMzOTtcIn0sS289e1wiJmFtcDtcIjpcIiZcIixcIiZsdDtcIjpcIjxcIixcIiZndDtcIjpcIj5cIixcIiZxdW90O1wiOidcIicsXCImIzM5O1wiOlwiJ1wifSxZbz17XCJcXFxcXCI6XCJcXFxcXCIsXCInXCI6XCInXCIsXCJcXG5cIjpcIm5cIixcIlxcclwiOlwiclwiLFwiXFx1MjAyOFwiOlwidTIwMjhcIixcIlxcdTIwMjlcIjpcInUyMDI5XCJ9LFpvPXBhcnNlRmxvYXQsSm89cGFyc2VJbnQsbHM9dHlwZW9mIHBlPT1cIm9iamVjdFwiJiZwZSYmcGUuT2JqZWN0PT09T2JqZWN0JiZwZSxYbz10eXBlb2Ygc2VsZj09XCJvYmplY3RcIiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsaz1sc3x8WG98fEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSxicj11JiYhdS5ub2RlVHlwZSYmdSxodD1iciYmITAmJkMmJiFDLm5vZGVUeXBlJiZDLHBzPWh0JiZodC5leHBvcnRzPT09YnIsVHI9cHMmJmxzLnByb2Nlc3MsX249ZnVuY3Rpb24oKXt0cnl7dmFyIGg9aHQmJmh0LnJlcXVpcmUmJmh0LnJlcXVpcmUoXCJ1dGlsXCIpLnR5cGVzO3JldHVybiBofHxUciYmVHIuYmluZGluZyYmVHIuYmluZGluZyhcInV0aWxcIil9Y2F0Y2h7fX0oKSxkcz1fbiYmX24uaXNBcnJheUJ1ZmZlcixncz1fbiYmX24uaXNEYXRlLHZzPV9uJiZfbi5pc01hcCxfcz1fbiYmX24uaXNSZWdFeHAsbXM9X24mJl9uLmlzU2V0LHdzPV9uJiZfbi5pc1R5cGVkQXJyYXk7ZnVuY3Rpb24gY24oaCxnLGQpe3N3aXRjaChkLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBoLmNhbGwoZyk7Y2FzZSAxOnJldHVybiBoLmNhbGwoZyxkWzBdKTtjYXNlIDI6cmV0dXJuIGguY2FsbChnLGRbMF0sZFsxXSk7Y2FzZSAzOnJldHVybiBoLmNhbGwoZyxkWzBdLGRbMV0sZFsyXSl9cmV0dXJuIGguYXBwbHkoZyxkKX1mdW5jdGlvbiBRbyhoLGcsZCxQKXtmb3IodmFyIFM9LTEsJD1oPT1udWxsPzA6aC5sZW5ndGg7KytTPCQ7KXt2YXIgWD1oW1NdO2coUCxYLGQoWCksaCl9cmV0dXJuIFB9ZnVuY3Rpb24gbW4oaCxnKXtmb3IodmFyIGQ9LTEsUD1oPT1udWxsPzA6aC5sZW5ndGg7KytkPFAmJmcoaFtkXSxkLGgpIT09ITE7KTtyZXR1cm4gaH1mdW5jdGlvbiBWbyhoLGcpe2Zvcih2YXIgZD1oPT1udWxsPzA6aC5sZW5ndGg7ZC0tJiZnKGhbZF0sZCxoKSE9PSExOyk7cmV0dXJuIGh9ZnVuY3Rpb24gUHMoaCxnKXtmb3IodmFyIGQ9LTEsUD1oPT1udWxsPzA6aC5sZW5ndGg7KytkPFA7KWlmKCFnKGhbZF0sZCxoKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBqbihoLGcpe2Zvcih2YXIgZD0tMSxQPWg9PW51bGw/MDpoLmxlbmd0aCxTPTAsJD1bXTsrK2Q8UDspe3ZhciBYPWhbZF07ZyhYLGQsaCkmJigkW1MrK109WCl9cmV0dXJuICR9ZnVuY3Rpb24gSWUoaCxnKXt2YXIgZD1oPT1udWxsPzA6aC5sZW5ndGg7cmV0dXJuISFkJiZSdChoLGcsMCk+LTF9ZnVuY3Rpb24gTHIoaCxnLGQpe2Zvcih2YXIgUD0tMSxTPWg9PW51bGw/MDpoLmxlbmd0aDsrK1A8UzspaWYoZChnLGhbUF0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEcoaCxnKXtmb3IodmFyIGQ9LTEsUD1oPT1udWxsPzA6aC5sZW5ndGgsUz1BcnJheShQKTsrK2Q8UDspU1tkXT1nKGhbZF0sZCxoKTtyZXR1cm4gU31mdW5jdGlvbiBudChoLGcpe2Zvcih2YXIgZD0tMSxQPWcubGVuZ3RoLFM9aC5sZW5ndGg7KytkPFA7KWhbUytkXT1nW2RdO3JldHVybiBofWZ1bmN0aW9uIERyKGgsZyxkLFApe3ZhciBTPS0xLCQ9aD09bnVsbD8wOmgubGVuZ3RoO2ZvcihQJiYkJiYoZD1oWysrU10pOysrUzwkOylkPWcoZCxoW1NdLFMsaCk7cmV0dXJuIGR9ZnVuY3Rpb24ga28oaCxnLGQsUCl7dmFyIFM9aD09bnVsbD8wOmgubGVuZ3RoO2ZvcihQJiZTJiYoZD1oWy0tU10pO1MtLTspZD1nKGQsaFtTXSxTLGgpO3JldHVybiBkfWZ1bmN0aW9uIE5yKGgsZyl7Zm9yKHZhciBkPS0xLFA9aD09bnVsbD8wOmgubGVuZ3RoOysrZDxQOylpZihnKGhbZF0sZCxoKSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgam89SHIoXCJsZW5ndGhcIik7ZnVuY3Rpb24gbmYoaCl7cmV0dXJuIGguc3BsaXQoXCJcIil9ZnVuY3Rpb24gdGYoaCl7cmV0dXJuIGgubWF0Y2gob28pfHxbXX1mdW5jdGlvbiBBcyhoLGcsZCl7dmFyIFA7cmV0dXJuIGQoaCxmdW5jdGlvbihTLCQsWCl7aWYoZyhTLCQsWCkpcmV0dXJuIFA9JCwhMX0pLFB9ZnVuY3Rpb24geGUoaCxnLGQsUCl7Zm9yKHZhciBTPWgubGVuZ3RoLCQ9ZCsoUD8xOi0xKTtQPyQtLTorKyQ8UzspaWYoZyhoWyRdLCQsaCkpcmV0dXJuICQ7cmV0dXJuLTF9ZnVuY3Rpb24gUnQoaCxnLGQpe3JldHVybiBnPT09Zz9kZihoLGcsZCk6eGUoaCxDcyxkKX1mdW5jdGlvbiBlZihoLGcsZCxQKXtmb3IodmFyIFM9ZC0xLCQ9aC5sZW5ndGg7KytTPCQ7KWlmKFAoaFtTXSxnKSlyZXR1cm4gUztyZXR1cm4tMX1mdW5jdGlvbiBDcyhoKXtyZXR1cm4gaCE9PWh9ZnVuY3Rpb24gSXMoaCxnKXt2YXIgZD1oPT1udWxsPzA6aC5sZW5ndGg7cmV0dXJuIGQ/VXIoaCxnKS9kOmdlfWZ1bmN0aW9uIEhyKGgpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZz09bnVsbD9pOmdbaF19fWZ1bmN0aW9uICRyKGgpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gaD09bnVsbD9pOmhbZ119fWZ1bmN0aW9uIHhzKGgsZyxkLFAsUyl7cmV0dXJuIFMoaCxmdW5jdGlvbigkLFgsTSl7ZD1QPyhQPSExLCQpOmcoZCwkLFgsTSl9KSxkfWZ1bmN0aW9uIHJmKGgsZyl7dmFyIGQ9aC5sZW5ndGg7Zm9yKGguc29ydChnKTtkLS07KWhbZF09aFtkXS52YWx1ZTtyZXR1cm4gaH1mdW5jdGlvbiBVcihoLGcpe2Zvcih2YXIgZCxQPS0xLFM9aC5sZW5ndGg7KytQPFM7KXt2YXIgJD1nKGhbUF0pOyQhPT1pJiYoZD1kPT09aT8kOmQrJCl9cmV0dXJuIGR9ZnVuY3Rpb24gV3IoaCxnKXtmb3IodmFyIGQ9LTEsUD1BcnJheShoKTsrK2Q8aDspUFtkXT1nKGQpO3JldHVybiBQfWZ1bmN0aW9uIHNmKGgsZyl7cmV0dXJuIEcoZyxmdW5jdGlvbihkKXtyZXR1cm5bZCxoW2RdXX0pfWZ1bmN0aW9uIEVzKGgpe3JldHVybiBoJiZoLnNsaWNlKDAsUnMoaCkrMSkucmVwbGFjZSh4cixcIlwiKX1mdW5jdGlvbiBobihoKXtyZXR1cm4gZnVuY3Rpb24oZyl7cmV0dXJuIGgoZyl9fWZ1bmN0aW9uIEZyKGgsZyl7cmV0dXJuIEcoZyxmdW5jdGlvbihkKXtyZXR1cm4gaFtkXX0pfWZ1bmN0aW9uIGt0KGgsZyl7cmV0dXJuIGguaGFzKGcpfWZ1bmN0aW9uIHlzKGgsZyl7Zm9yKHZhciBkPS0xLFA9aC5sZW5ndGg7KytkPFAmJlJ0KGcsaFtkXSwwKT4tMTspO3JldHVybiBkfWZ1bmN0aW9uIFNzKGgsZyl7Zm9yKHZhciBkPWgubGVuZ3RoO2QtLSYmUnQoZyxoW2RdLDApPi0xOyk7cmV0dXJuIGR9ZnVuY3Rpb24gdWYoaCxnKXtmb3IodmFyIGQ9aC5sZW5ndGgsUD0wO2QtLTspaFtkXT09PWcmJisrUDtyZXR1cm4gUH12YXIgYWY9JHIoR28pLG9mPSRyKHpvKTtmdW5jdGlvbiBmZihoKXtyZXR1cm5cIlxcXFxcIitZb1toXX1mdW5jdGlvbiBjZihoLGcpe3JldHVybiBoPT1udWxsP2k6aFtnXX1mdW5jdGlvbiBidChoKXtyZXR1cm4gRm8udGVzdChoKX1mdW5jdGlvbiBoZihoKXtyZXR1cm4gTW8udGVzdChoKX1mdW5jdGlvbiBsZihoKXtmb3IodmFyIGcsZD1bXTshKGc9aC5uZXh0KCkpLmRvbmU7KWQucHVzaChnLnZhbHVlKTtyZXR1cm4gZH1mdW5jdGlvbiBNcihoKXt2YXIgZz0tMSxkPUFycmF5KGguc2l6ZSk7cmV0dXJuIGguZm9yRWFjaChmdW5jdGlvbihQLFMpe2RbKytnXT1bUyxQXX0pLGR9ZnVuY3Rpb24gT3MoaCxnKXtyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuIGgoZyhkKSl9fWZ1bmN0aW9uIHR0KGgsZyl7Zm9yKHZhciBkPS0xLFA9aC5sZW5ndGgsUz0wLCQ9W107KytkPFA7KXt2YXIgWD1oW2RdOyhYPT09Z3x8WD09PUF0KSYmKGhbZF09QXQsJFtTKytdPWQpfXJldHVybiAkfWZ1bmN0aW9uIEVlKGgpe3ZhciBnPS0xLGQ9QXJyYXkoaC5zaXplKTtyZXR1cm4gaC5mb3JFYWNoKGZ1bmN0aW9uKFApe2RbKytnXT1QfSksZH1mdW5jdGlvbiBwZihoKXt2YXIgZz0tMSxkPUFycmF5KGguc2l6ZSk7cmV0dXJuIGguZm9yRWFjaChmdW5jdGlvbihQKXtkWysrZ109W1AsUF19KSxkfWZ1bmN0aW9uIGRmKGgsZyxkKXtmb3IodmFyIFA9ZC0xLFM9aC5sZW5ndGg7KytQPFM7KWlmKGhbUF09PT1nKXJldHVybiBQO3JldHVybi0xfWZ1bmN0aW9uIGdmKGgsZyxkKXtmb3IodmFyIFA9ZCsxO1AtLTspaWYoaFtQXT09PWcpcmV0dXJuIFA7cmV0dXJuIFB9ZnVuY3Rpb24gVHQoaCl7cmV0dXJuIGJ0KGgpP19mKGgpOmpvKGgpfWZ1bmN0aW9uIE9uKGgpe3JldHVybiBidChoKT9tZihoKTpuZihoKX1mdW5jdGlvbiBScyhoKXtmb3IodmFyIGc9aC5sZW5ndGg7Zy0tJiZpby50ZXN0KGguY2hhckF0KGcpKTspO3JldHVybiBnfXZhciB2Zj0kcihLbyk7ZnVuY3Rpb24gX2YoaCl7Zm9yKHZhciBnPVJyLmxhc3RJbmRleD0wO1JyLnRlc3QoaCk7KSsrZztyZXR1cm4gZ31mdW5jdGlvbiBtZihoKXtyZXR1cm4gaC5tYXRjaChScil8fFtdfWZ1bmN0aW9uIHdmKGgpe3JldHVybiBoLm1hdGNoKFdvKXx8W119dmFyIFBmPWZ1bmN0aW9uIGgoZyl7Zz1nPT1udWxsP2s6THQuZGVmYXVsdHMoay5PYmplY3QoKSxnLEx0LnBpY2soayxxbykpO3ZhciBkPWcuQXJyYXksUD1nLkRhdGUsUz1nLkVycm9yLCQ9Zy5GdW5jdGlvbixYPWcuTWF0aCxNPWcuT2JqZWN0LHFyPWcuUmVnRXhwLEFmPWcuU3RyaW5nLHduPWcuVHlwZUVycm9yLHllPWQucHJvdG90eXBlLENmPSQucHJvdG90eXBlLER0PU0ucHJvdG90eXBlLFNlPWdbXCJfX2NvcmUtanNfc2hhcmVkX19cIl0sT2U9Q2YudG9TdHJpbmcsVz1EdC5oYXNPd25Qcm9wZXJ0eSxJZj0wLGJzPWZ1bmN0aW9uKCl7dmFyIG49L1teLl0rJC8uZXhlYyhTZSYmU2Uua2V5cyYmU2Uua2V5cy5JRV9QUk9UT3x8XCJcIik7cmV0dXJuIG4/XCJTeW1ib2woc3JjKV8xLlwiK246XCJcIn0oKSxSZT1EdC50b1N0cmluZyx4Zj1PZS5jYWxsKE0pLEVmPWsuXyx5Zj1xcihcIl5cIitPZS5jYWxsKFcpLnJlcGxhY2UoSXIsXCJcXFxcJCZcIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXFxcXCgpfCBmb3IgLis/KD89XFxcXFxcXSkvZyxcIiQxLio/XCIpK1wiJFwiKSxiZT1wcz9nLkJ1ZmZlcjppLGV0PWcuU3ltYm9sLFRlPWcuVWludDhBcnJheSxUcz1iZT9iZS5hbGxvY1Vuc2FmZTppLExlPU9zKE0uZ2V0UHJvdG90eXBlT2YsTSksTHM9TS5jcmVhdGUsRHM9RHQucHJvcGVydHlJc0VudW1lcmFibGUsRGU9eWUuc3BsaWNlLE5zPWV0P2V0LmlzQ29uY2F0U3ByZWFkYWJsZTppLGp0PWV0P2V0Lml0ZXJhdG9yOmksbHQ9ZXQ/ZXQudG9TdHJpbmdUYWc6aSxOZT1mdW5jdGlvbigpe3RyeXt2YXIgbj1fdChNLFwiZGVmaW5lUHJvcGVydHlcIik7cmV0dXJuIG4oe30sXCJcIix7fSksbn1jYXRjaHt9fSgpLFNmPWcuY2xlYXJUaW1lb3V0IT09ay5jbGVhclRpbWVvdXQmJmcuY2xlYXJUaW1lb3V0LE9mPVAmJlAubm93IT09ay5EYXRlLm5vdyYmUC5ub3csUmY9Zy5zZXRUaW1lb3V0IT09ay5zZXRUaW1lb3V0JiZnLnNldFRpbWVvdXQsSGU9WC5jZWlsLCRlPVguZmxvb3IsQnI9TS5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsYmY9YmU/YmUuaXNCdWZmZXI6aSxIcz1nLmlzRmluaXRlLFRmPXllLmpvaW4sTGY9T3MoTS5rZXlzLE0pLFE9WC5tYXgsbm49WC5taW4sRGY9UC5ub3csTmY9Zy5wYXJzZUludCwkcz1YLnJhbmRvbSxIZj15ZS5yZXZlcnNlLEdyPV90KGcsXCJEYXRhVmlld1wiKSxuZT1fdChnLFwiTWFwXCIpLHpyPV90KGcsXCJQcm9taXNlXCIpLE50PV90KGcsXCJTZXRcIiksdGU9X3QoZyxcIldlYWtNYXBcIiksZWU9X3QoTSxcImNyZWF0ZVwiKSxVZT10ZSYmbmV3IHRlLEh0PXt9LCRmPW10KEdyKSxVZj1tdChuZSksV2Y9bXQoenIpLEZmPW10KE50KSxNZj1tdCh0ZSksV2U9ZXQ/ZXQucHJvdG90eXBlOmkscmU9V2U/V2UudmFsdWVPZjppLFVzPVdlP1dlLnRvU3RyaW5nOmk7ZnVuY3Rpb24gYShuKXtpZihLKG4pJiYhTyhuKSYmIShuIGluc3RhbmNlb2YgTikpe2lmKG4gaW5zdGFuY2VvZiBQbilyZXR1cm4gbjtpZihXLmNhbGwobixcIl9fd3JhcHBlZF9fXCIpKXJldHVybiBXdShuKX1yZXR1cm4gbmV3IFBuKG4pfXZhciAkdD1mdW5jdGlvbigpe2Z1bmN0aW9uIG4oKXt9cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKCF6KHQpKXJldHVybnt9O2lmKExzKXJldHVybiBMcyh0KTtuLnByb3RvdHlwZT10O3ZhciBlPW5ldyBuO3JldHVybiBuLnByb3RvdHlwZT1pLGV9fSgpO2Z1bmN0aW9uIEZlKCl7fWZ1bmN0aW9uIFBuKG4sdCl7dGhpcy5fX3dyYXBwZWRfXz1uLHRoaXMuX19hY3Rpb25zX189W10sdGhpcy5fX2NoYWluX189ISF0LHRoaXMuX19pbmRleF9fPTAsdGhpcy5fX3ZhbHVlc19fPWl9YS50ZW1wbGF0ZVNldHRpbmdzPXtlc2NhcGU6a2EsZXZhbHVhdGU6amEsaW50ZXJwb2xhdGU6WWksdmFyaWFibGU6XCJcIixpbXBvcnRzOntfOmF9fSxhLnByb3RvdHlwZT1GZS5wcm90b3R5cGUsYS5wcm90b3R5cGUuY29uc3RydWN0b3I9YSxQbi5wcm90b3R5cGU9JHQoRmUucHJvdG90eXBlKSxQbi5wcm90b3R5cGUuY29uc3RydWN0b3I9UG47ZnVuY3Rpb24gTihuKXt0aGlzLl9fd3JhcHBlZF9fPW4sdGhpcy5fX2FjdGlvbnNfXz1bXSx0aGlzLl9fZGlyX189MSx0aGlzLl9fZmlsdGVyZWRfXz0hMSx0aGlzLl9faXRlcmF0ZWVzX189W10sdGhpcy5fX3Rha2VDb3VudF9fPUhuLHRoaXMuX192aWV3c19fPVtdfWZ1bmN0aW9uIHFmKCl7dmFyIG49bmV3IE4odGhpcy5fX3dyYXBwZWRfXyk7cmV0dXJuIG4uX19hY3Rpb25zX189dW4odGhpcy5fX2FjdGlvbnNfXyksbi5fX2Rpcl9fPXRoaXMuX19kaXJfXyxuLl9fZmlsdGVyZWRfXz10aGlzLl9fZmlsdGVyZWRfXyxuLl9faXRlcmF0ZWVzX189dW4odGhpcy5fX2l0ZXJhdGVlc19fKSxuLl9fdGFrZUNvdW50X189dGhpcy5fX3Rha2VDb3VudF9fLG4uX192aWV3c19fPXVuKHRoaXMuX192aWV3c19fKSxufWZ1bmN0aW9uIEJmKCl7aWYodGhpcy5fX2ZpbHRlcmVkX18pe3ZhciBuPW5ldyBOKHRoaXMpO24uX19kaXJfXz0tMSxuLl9fZmlsdGVyZWRfXz0hMH1lbHNlIG49dGhpcy5jbG9uZSgpLG4uX19kaXJfXyo9LTE7cmV0dXJuIG59ZnVuY3Rpb24gR2YoKXt2YXIgbj10aGlzLl9fd3JhcHBlZF9fLnZhbHVlKCksdD10aGlzLl9fZGlyX18sZT1PKG4pLHI9dDwwLHM9ZT9uLmxlbmd0aDowLG89dGgoMCxzLHRoaXMuX192aWV3c19fKSxmPW8uc3RhcnQsYz1vLmVuZCxsPWMtZix2PXI/YzpmLTEsXz10aGlzLl9faXRlcmF0ZWVzX18sbT1fLmxlbmd0aCx3PTAsQT1ubihsLHRoaXMuX190YWtlQ291bnRfXyk7aWYoIWV8fCFyJiZzPT1sJiZBPT1sKXJldHVybiBhdShuLHRoaXMuX19hY3Rpb25zX18pO3ZhciBFPVtdO246Zm9yKDtsLS0mJnc8QTspe3YrPXQ7Zm9yKHZhciBiPS0xLHk9blt2XTsrK2I8bTspe3ZhciBMPV9bYl0sSD1MLml0ZXJhdGVlLGRuPUwudHlwZSxzbj1IKHkpO2lmKGRuPT1IYSl5PXNuO2Vsc2UgaWYoIXNuKXtpZihkbj09cWkpY29udGludWUgbjticmVhayBufX1FW3crK109eX1yZXR1cm4gRX1OLnByb3RvdHlwZT0kdChGZS5wcm90b3R5cGUpLE4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU47ZnVuY3Rpb24gcHQobil7dmFyIHQ9LTEsZT1uPT1udWxsPzA6bi5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3Q8ZTspe3ZhciByPW5bdF07dGhpcy5zZXQoclswXSxyWzFdKX19ZnVuY3Rpb24gemYoKXt0aGlzLl9fZGF0YV9fPWVlP2VlKG51bGwpOnt9LHRoaXMuc2l6ZT0wfWZ1bmN0aW9uIEtmKG4pe3ZhciB0PXRoaXMuaGFzKG4pJiZkZWxldGUgdGhpcy5fX2RhdGFfX1tuXTtyZXR1cm4gdGhpcy5zaXplLT10PzE6MCx0fWZ1bmN0aW9uIFlmKG4pe3ZhciB0PXRoaXMuX19kYXRhX187aWYoZWUpe3ZhciBlPXRbbl07cmV0dXJuIGU9PT1HdD9pOmV9cmV0dXJuIFcuY2FsbCh0LG4pP3Rbbl06aX1mdW5jdGlvbiBaZihuKXt2YXIgdD10aGlzLl9fZGF0YV9fO3JldHVybiBlZT90W25dIT09aTpXLmNhbGwodCxuKX1mdW5jdGlvbiBKZihuLHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXMobik/MDoxLGVbbl09ZWUmJnQ9PT1pP0d0OnQsdGhpc31wdC5wcm90b3R5cGUuY2xlYXI9emYscHQucHJvdG90eXBlLmRlbGV0ZT1LZixwdC5wcm90b3R5cGUuZ2V0PVlmLHB0LnByb3RvdHlwZS5oYXM9WmYscHQucHJvdG90eXBlLnNldD1KZjtmdW5jdGlvbiBHbihuKXt2YXIgdD0tMSxlPW49PW51bGw/MDpuLmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrdDxlOyl7dmFyIHI9blt0XTt0aGlzLnNldChyWzBdLHJbMV0pfX1mdW5jdGlvbiBYZigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9ZnVuY3Rpb24gUWYobil7dmFyIHQ9dGhpcy5fX2RhdGFfXyxlPU1lKHQsbik7aWYoZTwwKXJldHVybiExO3ZhciByPXQubGVuZ3RoLTE7cmV0dXJuIGU9PXI/dC5wb3AoKTpEZS5jYWxsKHQsZSwxKSwtLXRoaXMuc2l6ZSwhMH1mdW5jdGlvbiBWZihuKXt2YXIgdD10aGlzLl9fZGF0YV9fLGU9TWUodCxuKTtyZXR1cm4gZTwwP2k6dFtlXVsxXX1mdW5jdGlvbiBrZihuKXtyZXR1cm4gTWUodGhpcy5fX2RhdGFfXyxuKT4tMX1mdW5jdGlvbiBqZihuLHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1NZShlLG4pO3JldHVybiByPDA/KCsrdGhpcy5zaXplLGUucHVzaChbbix0XSkpOmVbcl1bMV09dCx0aGlzfUduLnByb3RvdHlwZS5jbGVhcj1YZixHbi5wcm90b3R5cGUuZGVsZXRlPVFmLEduLnByb3RvdHlwZS5nZXQ9VmYsR24ucHJvdG90eXBlLmhhcz1rZixHbi5wcm90b3R5cGUuc2V0PWpmO2Z1bmN0aW9uIHpuKG4pe3ZhciB0PS0xLGU9bj09bnVsbD8wOm4ubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7Kyt0PGU7KXt2YXIgcj1uW3RdO3RoaXMuc2V0KHJbMF0sclsxXSl9fWZ1bmN0aW9uIG5jKCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgcHQsbWFwOm5ldyhuZXx8R24pLHN0cmluZzpuZXcgcHR9fWZ1bmN0aW9uIHRjKG4pe3ZhciB0PWtlKHRoaXMsbikuZGVsZXRlKG4pO3JldHVybiB0aGlzLnNpemUtPXQ/MTowLHR9ZnVuY3Rpb24gZWMobil7cmV0dXJuIGtlKHRoaXMsbikuZ2V0KG4pfWZ1bmN0aW9uIHJjKG4pe3JldHVybiBrZSh0aGlzLG4pLmhhcyhuKX1mdW5jdGlvbiBpYyhuLHQpe3ZhciBlPWtlKHRoaXMsbikscj1lLnNpemU7cmV0dXJuIGUuc2V0KG4sdCksdGhpcy5zaXplKz1lLnNpemU9PXI/MDoxLHRoaXN9em4ucHJvdG90eXBlLmNsZWFyPW5jLHpuLnByb3RvdHlwZS5kZWxldGU9dGMsem4ucHJvdG90eXBlLmdldD1lYyx6bi5wcm90b3R5cGUuaGFzPXJjLHpuLnByb3RvdHlwZS5zZXQ9aWM7ZnVuY3Rpb24gZHQobil7dmFyIHQ9LTEsZT1uPT1udWxsPzA6bi5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IHpuOysrdDxlOyl0aGlzLmFkZChuW3RdKX1mdW5jdGlvbiBzYyhuKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQobixHdCksdGhpc31mdW5jdGlvbiB1YyhuKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMobil9ZHQucHJvdG90eXBlLmFkZD1kdC5wcm90b3R5cGUucHVzaD1zYyxkdC5wcm90b3R5cGUuaGFzPXVjO2Z1bmN0aW9uIFJuKG4pe3ZhciB0PXRoaXMuX19kYXRhX189bmV3IEduKG4pO3RoaXMuc2l6ZT10LnNpemV9ZnVuY3Rpb24gYWMoKXt0aGlzLl9fZGF0YV9fPW5ldyBHbix0aGlzLnNpemU9MH1mdW5jdGlvbiBvYyhuKXt2YXIgdD10aGlzLl9fZGF0YV9fLGU9dC5kZWxldGUobik7cmV0dXJuIHRoaXMuc2l6ZT10LnNpemUsZX1mdW5jdGlvbiBmYyhuKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQobil9ZnVuY3Rpb24gY2Mobil7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKG4pfWZ1bmN0aW9uIGhjKG4sdCl7dmFyIGU9dGhpcy5fX2RhdGFfXztpZihlIGluc3RhbmNlb2YgR24pe3ZhciByPWUuX19kYXRhX187aWYoIW5lfHxyLmxlbmd0aDxJLTEpcmV0dXJuIHIucHVzaChbbix0XSksdGhpcy5zaXplPSsrZS5zaXplLHRoaXM7ZT10aGlzLl9fZGF0YV9fPW5ldyB6bihyKX1yZXR1cm4gZS5zZXQobix0KSx0aGlzLnNpemU9ZS5zaXplLHRoaXN9Um4ucHJvdG90eXBlLmNsZWFyPWFjLFJuLnByb3RvdHlwZS5kZWxldGU9b2MsUm4ucHJvdG90eXBlLmdldD1mYyxSbi5wcm90b3R5cGUuaGFzPWNjLFJuLnByb3RvdHlwZS5zZXQ9aGM7ZnVuY3Rpb24gV3Mobix0KXt2YXIgZT1PKG4pLHI9IWUmJnd0KG4pLHM9IWUmJiFyJiZhdChuKSxvPSFlJiYhciYmIXMmJk10KG4pLGY9ZXx8cnx8c3x8byxjPWY/V3Iobi5sZW5ndGgsQWYpOltdLGw9Yy5sZW5ndGg7Zm9yKHZhciB2IGluIG4pKHR8fFcuY2FsbChuLHYpKSYmIShmJiYodj09XCJsZW5ndGhcInx8cyYmKHY9PVwib2Zmc2V0XCJ8fHY9PVwicGFyZW50XCIpfHxvJiYodj09XCJidWZmZXJcInx8dj09XCJieXRlTGVuZ3RoXCJ8fHY9PVwiYnl0ZU9mZnNldFwiKXx8Sm4odixsKSkpJiZjLnB1c2godik7cmV0dXJuIGN9ZnVuY3Rpb24gRnMobil7dmFyIHQ9bi5sZW5ndGg7cmV0dXJuIHQ/blt0aSgwLHQtMSldOml9ZnVuY3Rpb24gbGMobix0KXtyZXR1cm4gamUodW4obiksZ3QodCwwLG4ubGVuZ3RoKSl9ZnVuY3Rpb24gcGMobil7cmV0dXJuIGplKHVuKG4pKX1mdW5jdGlvbiBLcihuLHQsZSl7KGUhPT1pJiYhYm4oblt0XSxlKXx8ZT09PWkmJiEodCBpbiBuKSkmJktuKG4sdCxlKX1mdW5jdGlvbiBpZShuLHQsZSl7dmFyIHI9blt0XTsoIShXLmNhbGwobix0KSYmYm4ocixlKSl8fGU9PT1pJiYhKHQgaW4gbikpJiZLbihuLHQsZSl9ZnVuY3Rpb24gTWUobix0KXtmb3IodmFyIGU9bi5sZW5ndGg7ZS0tOylpZihibihuW2VdWzBdLHQpKXJldHVybiBlO3JldHVybi0xfWZ1bmN0aW9uIGRjKG4sdCxlLHIpe3JldHVybiBydChuLGZ1bmN0aW9uKHMsbyxmKXt0KHIscyxlKHMpLGYpfSkscn1mdW5jdGlvbiBNcyhuLHQpe3JldHVybiBuJiZVbih0LFYodCksbil9ZnVuY3Rpb24gZ2Mobix0KXtyZXR1cm4gbiYmVW4odCxvbih0KSxuKX1mdW5jdGlvbiBLbihuLHQsZSl7dD09XCJfX3Byb3RvX19cIiYmTmU/TmUobix0LHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTplLHdyaXRhYmxlOiEwfSk6blt0XT1lfWZ1bmN0aW9uIFlyKG4sdCl7Zm9yKHZhciBlPS0xLHI9dC5sZW5ndGgscz1kKHIpLG89bj09bnVsbDsrK2U8cjspc1tlXT1vP2k6eWkobix0W2VdKTtyZXR1cm4gc31mdW5jdGlvbiBndChuLHQsZSl7cmV0dXJuIG49PT1uJiYoZSE9PWkmJihuPW48PWU/bjplKSx0IT09aSYmKG49bj49dD9uOnQpKSxufWZ1bmN0aW9uIEFuKG4sdCxlLHIscyxvKXt2YXIgZixjPXQmTG4sbD10Jk1uLHY9dCZDdDtpZihlJiYoZj1zP2UobixyLHMsbyk6ZShuKSksZiE9PWkpcmV0dXJuIGY7aWYoIXoobikpcmV0dXJuIG47dmFyIF89TyhuKTtpZihfKXtpZihmPXJoKG4pLCFjKXJldHVybiB1bihuLGYpfWVsc2V7dmFyIG09dG4obiksdz1tPT1tZXx8bT09Qmk7aWYoYXQobikpcmV0dXJuIGN1KG4sYyk7aWYobT09Qm58fG09PXl0fHx3JiYhcyl7aWYoZj1sfHx3P3t9OlJ1KG4pLCFjKXJldHVybiBsP1ljKG4sZ2MoZixuKSk6S2MobixNcyhmLG4pKX1lbHNle2lmKCFxW21dKXJldHVybiBzP246e307Zj1paChuLG0sYyl9fW98fChvPW5ldyBSbik7dmFyIEE9by5nZXQobik7aWYoQSlyZXR1cm4gQTtvLnNldChuLGYpLGlhKG4pP24uZm9yRWFjaChmdW5jdGlvbih5KXtmLmFkZChBbih5LHQsZSx5LG4sbykpfSk6ZWEobikmJm4uZm9yRWFjaChmdW5jdGlvbih5LEwpe2Yuc2V0KEwsQW4oeSx0LGUsTCxuLG8pKX0pO3ZhciBFPXY/bD9saTpoaTpsP29uOlYsYj1fP2k6RShuKTtyZXR1cm4gbW4oYnx8bixmdW5jdGlvbih5LEwpe2ImJihMPXkseT1uW0xdKSxpZShmLEwsQW4oeSx0LGUsTCxuLG8pKX0pLGZ9ZnVuY3Rpb24gdmMobil7dmFyIHQ9VihuKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHFzKGUsbix0KX19ZnVuY3Rpb24gcXMobix0LGUpe3ZhciByPWUubGVuZ3RoO2lmKG49PW51bGwpcmV0dXJuIXI7Zm9yKG49TShuKTtyLS07KXt2YXIgcz1lW3JdLG89dFtzXSxmPW5bc107aWYoZj09PWkmJiEocyBpbiBuKXx8IW8oZikpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gQnMobix0LGUpe2lmKHR5cGVvZiBuIT1cImZ1bmN0aW9uXCIpdGhyb3cgbmV3IHduKEYpO3JldHVybiBoZShmdW5jdGlvbigpe24uYXBwbHkoaSxlKX0sdCl9ZnVuY3Rpb24gc2Uobix0LGUscil7dmFyIHM9LTEsbz1JZSxmPSEwLGM9bi5sZW5ndGgsbD1bXSx2PXQubGVuZ3RoO2lmKCFjKXJldHVybiBsO2UmJih0PUcodCxobihlKSkpLHI/KG89THIsZj0hMSk6dC5sZW5ndGg+PUkmJihvPWt0LGY9ITEsdD1uZXcgZHQodCkpO246Zm9yKDsrK3M8Yzspe3ZhciBfPW5bc10sbT1lPT1udWxsP186ZShfKTtpZihfPXJ8fF8hPT0wP186MCxmJiZtPT09bSl7Zm9yKHZhciB3PXY7dy0tOylpZih0W3ddPT09bSljb250aW51ZSBuO2wucHVzaChfKX1lbHNlIG8odCxtLHIpfHxsLnB1c2goXyl9cmV0dXJuIGx9dmFyIHJ0PWd1KCRuKSxHcz1ndShKciwhMCk7ZnVuY3Rpb24gX2Mobix0KXt2YXIgZT0hMDtyZXR1cm4gcnQobixmdW5jdGlvbihyLHMsbyl7cmV0dXJuIGU9ISF0KHIscyxvKSxlfSksZX1mdW5jdGlvbiBxZShuLHQsZSl7Zm9yKHZhciByPS0xLHM9bi5sZW5ndGg7KytyPHM7KXt2YXIgbz1uW3JdLGY9dChvKTtpZihmIT1udWxsJiYoYz09PWk/Zj09PWYmJiFwbihmKTplKGYsYykpKXZhciBjPWYsbD1vfXJldHVybiBsfWZ1bmN0aW9uIG1jKG4sdCxlLHIpe3ZhciBzPW4ubGVuZ3RoO2ZvcihlPVIoZSksZTwwJiYoZT0tZT5zPzA6cytlKSxyPXI9PT1pfHxyPnM/czpSKHIpLHI8MCYmKHIrPXMpLHI9ZT5yPzA6dWEocik7ZTxyOyluW2UrK109dDtyZXR1cm4gbn1mdW5jdGlvbiB6cyhuLHQpe3ZhciBlPVtdO3JldHVybiBydChuLGZ1bmN0aW9uKHIscyxvKXt0KHIscyxvKSYmZS5wdXNoKHIpfSksZX1mdW5jdGlvbiBqKG4sdCxlLHIscyl7dmFyIG89LTEsZj1uLmxlbmd0aDtmb3IoZXx8KGU9dWgpLHN8fChzPVtdKTsrK288Zjspe3ZhciBjPW5bb107dD4wJiZlKGMpP3Q+MT9qKGMsdC0xLGUscixzKTpudChzLGMpOnJ8fChzW3MubGVuZ3RoXT1jKX1yZXR1cm4gc312YXIgWnI9dnUoKSxLcz12dSghMCk7ZnVuY3Rpb24gJG4obix0KXtyZXR1cm4gbiYmWnIobix0LFYpfWZ1bmN0aW9uIEpyKG4sdCl7cmV0dXJuIG4mJktzKG4sdCxWKX1mdW5jdGlvbiBCZShuLHQpe3JldHVybiBqbih0LGZ1bmN0aW9uKGUpe3JldHVybiBYbihuW2VdKX0pfWZ1bmN0aW9uIHZ0KG4sdCl7dD1zdCh0LG4pO2Zvcih2YXIgZT0wLHI9dC5sZW5ndGg7biE9bnVsbCYmZTxyOyluPW5bV24odFtlKytdKV07cmV0dXJuIGUmJmU9PXI/bjppfWZ1bmN0aW9uIFlzKG4sdCxlKXt2YXIgcj10KG4pO3JldHVybiBPKG4pP3I6bnQocixlKG4pKX1mdW5jdGlvbiBlbihuKXtyZXR1cm4gbj09bnVsbD9uPT09aT9LYTpHYTpsdCYmbHQgaW4gTShuKT9uaChuKTpwaChuKX1mdW5jdGlvbiBYcihuLHQpe3JldHVybiBuPnR9ZnVuY3Rpb24gd2Mobix0KXtyZXR1cm4gbiE9bnVsbCYmVy5jYWxsKG4sdCl9ZnVuY3Rpb24gUGMobix0KXtyZXR1cm4gbiE9bnVsbCYmdCBpbiBNKG4pfWZ1bmN0aW9uIEFjKG4sdCxlKXtyZXR1cm4gbj49bm4odCxlKSYmbjxRKHQsZSl9ZnVuY3Rpb24gUXIobix0LGUpe2Zvcih2YXIgcj1lP0xyOkllLHM9blswXS5sZW5ndGgsbz1uLmxlbmd0aCxmPW8sYz1kKG8pLGw9MS8wLHY9W107Zi0tOyl7dmFyIF89bltmXTtmJiZ0JiYoXz1HKF8saG4odCkpKSxsPW5uKF8ubGVuZ3RoLGwpLGNbZl09IWUmJih0fHxzPj0xMjAmJl8ubGVuZ3RoPj0xMjApP25ldyBkdChmJiZfKTppfV89blswXTt2YXIgbT0tMSx3PWNbMF07bjpmb3IoOysrbTxzJiZ2Lmxlbmd0aDxsOyl7dmFyIEE9X1ttXSxFPXQ/dChBKTpBO2lmKEE9ZXx8QSE9PTA/QTowLCEodz9rdCh3LEUpOnIodixFLGUpKSl7Zm9yKGY9bzstLWY7KXt2YXIgYj1jW2ZdO2lmKCEoYj9rdChiLEUpOnIobltmXSxFLGUpKSljb250aW51ZSBufXcmJncucHVzaChFKSx2LnB1c2goQSl9fXJldHVybiB2fWZ1bmN0aW9uIENjKG4sdCxlLHIpe3JldHVybiAkbihuLGZ1bmN0aW9uKHMsbyxmKXt0KHIsZShzKSxvLGYpfSkscn1mdW5jdGlvbiB1ZShuLHQsZSl7dD1zdCh0LG4pLG49RHUobix0KTt2YXIgcj1uPT1udWxsP246bltXbihJbih0KSldO3JldHVybiByPT1udWxsP2k6Y24ocixuLGUpfWZ1bmN0aW9uIFpzKG4pe3JldHVybiBLKG4pJiZlbihuKT09eXR9ZnVuY3Rpb24gSWMobil7cmV0dXJuIEsobikmJmVuKG4pPT1WdH1mdW5jdGlvbiB4YyhuKXtyZXR1cm4gSyhuKSYmZW4obik9PVl0fWZ1bmN0aW9uIGFlKG4sdCxlLHIscyl7cmV0dXJuIG49PT10PyEwOm49PW51bGx8fHQ9PW51bGx8fCFLKG4pJiYhSyh0KT9uIT09biYmdCE9PXQ6RWMobix0LGUscixhZSxzKX1mdW5jdGlvbiBFYyhuLHQsZSxyLHMsbyl7dmFyIGY9TyhuKSxjPU8odCksbD1mP3ZlOnRuKG4pLHY9Yz92ZTp0bih0KTtsPWw9PXl0P0JuOmwsdj12PT15dD9Cbjp2O3ZhciBfPWw9PUJuLG09dj09Qm4sdz1sPT12O2lmKHcmJmF0KG4pKXtpZighYXQodCkpcmV0dXJuITE7Zj0hMCxfPSExfWlmKHcmJiFfKXJldHVybiBvfHwobz1uZXcgUm4pLGZ8fE10KG4pP3l1KG4sdCxlLHIscyxvKTprYyhuLHQsbCxlLHIscyxvKTtpZighKGUmSXQpKXt2YXIgQT1fJiZXLmNhbGwobixcIl9fd3JhcHBlZF9fXCIpLEU9bSYmVy5jYWxsKHQsXCJfX3dyYXBwZWRfX1wiKTtpZihBfHxFKXt2YXIgYj1BP24udmFsdWUoKTpuLHk9RT90LnZhbHVlKCk6dDtyZXR1cm4gb3x8KG89bmV3IFJuKSxzKGIseSxlLHIsbyl9fXJldHVybiB3PyhvfHwobz1uZXcgUm4pLGpjKG4sdCxlLHIscyxvKSk6ITF9ZnVuY3Rpb24geWMobil7cmV0dXJuIEsobikmJnRuKG4pPT15bn1mdW5jdGlvbiBWcihuLHQsZSxyKXt2YXIgcz1lLmxlbmd0aCxvPXMsZj0hcjtpZihuPT1udWxsKXJldHVybiFvO2ZvcihuPU0obik7cy0tOyl7dmFyIGM9ZVtzXTtpZihmJiZjWzJdP2NbMV0hPT1uW2NbMF1dOiEoY1swXWluIG4pKXJldHVybiExfWZvcig7KytzPG87KXtjPWVbc107dmFyIGw9Y1swXSx2PW5bbF0sXz1jWzFdO2lmKGYmJmNbMl0pe2lmKHY9PT1pJiYhKGwgaW4gbikpcmV0dXJuITF9ZWxzZXt2YXIgbT1uZXcgUm47aWYocil2YXIgdz1yKHYsXyxsLG4sdCxtKTtpZighKHc9PT1pP2FlKF8sdixJdHxkZSxyLG0pOncpKXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBKcyhuKXtpZigheihuKXx8b2gobikpcmV0dXJuITE7dmFyIHQ9WG4obik/eWY6Z287cmV0dXJuIHQudGVzdChtdChuKSl9ZnVuY3Rpb24gU2Mobil7cmV0dXJuIEsobikmJmVuKG4pPT1KdH1mdW5jdGlvbiBPYyhuKXtyZXR1cm4gSyhuKSYmdG4obik9PVNufWZ1bmN0aW9uIFJjKG4pe3JldHVybiBLKG4pJiZzcihuLmxlbmd0aCkmJiEhQltlbihuKV19ZnVuY3Rpb24gWHMobil7cmV0dXJuIHR5cGVvZiBuPT1cImZ1bmN0aW9uXCI/bjpuPT1udWxsP2ZuOnR5cGVvZiBuPT1cIm9iamVjdFwiP08obik/a3MoblswXSxuWzFdKTpWcyhuKTpfYShuKX1mdW5jdGlvbiBrcihuKXtpZighY2UobikpcmV0dXJuIExmKG4pO3ZhciB0PVtdO2Zvcih2YXIgZSBpbiBNKG4pKVcuY2FsbChuLGUpJiZlIT1cImNvbnN0cnVjdG9yXCImJnQucHVzaChlKTtyZXR1cm4gdH1mdW5jdGlvbiBiYyhuKXtpZigheihuKSlyZXR1cm4gbGgobik7dmFyIHQ9Y2UobiksZT1bXTtmb3IodmFyIHIgaW4gbilyPT1cImNvbnN0cnVjdG9yXCImJih0fHwhVy5jYWxsKG4scikpfHxlLnB1c2gocik7cmV0dXJuIGV9ZnVuY3Rpb24ganIobix0KXtyZXR1cm4gbjx0fWZ1bmN0aW9uIFFzKG4sdCl7dmFyIGU9LTEscj1hbihuKT9kKG4ubGVuZ3RoKTpbXTtyZXR1cm4gcnQobixmdW5jdGlvbihzLG8sZil7clsrK2VdPXQocyxvLGYpfSkscn1mdW5jdGlvbiBWcyhuKXt2YXIgdD1kaShuKTtyZXR1cm4gdC5sZW5ndGg9PTEmJnRbMF1bMl0/VHUodFswXVswXSx0WzBdWzFdKTpmdW5jdGlvbihlKXtyZXR1cm4gZT09PW58fFZyKGUsbix0KX19ZnVuY3Rpb24ga3Mobix0KXtyZXR1cm4gdmkobikmJmJ1KHQpP1R1KFduKG4pLHQpOmZ1bmN0aW9uKGUpe3ZhciByPXlpKGUsbik7cmV0dXJuIHI9PT1pJiZyPT09dD9TaShlLG4pOmFlKHQscixJdHxkZSl9fWZ1bmN0aW9uIEdlKG4sdCxlLHIscyl7biE9PXQmJlpyKHQsZnVuY3Rpb24obyxmKXtpZihzfHwocz1uZXcgUm4pLHoobykpVGMobix0LGYsZSxHZSxyLHMpO2Vsc2V7dmFyIGM9cj9yKG1pKG4sZiksbyxmK1wiXCIsbix0LHMpOmk7Yz09PWkmJihjPW8pLEtyKG4sZixjKX19LG9uKX1mdW5jdGlvbiBUYyhuLHQsZSxyLHMsbyxmKXt2YXIgYz1taShuLGUpLGw9bWkodCxlKSx2PWYuZ2V0KGwpO2lmKHYpe0tyKG4sZSx2KTtyZXR1cm59dmFyIF89bz9vKGMsbCxlK1wiXCIsbix0LGYpOmksbT1fPT09aTtpZihtKXt2YXIgdz1PKGwpLEE9IXcmJmF0KGwpLEU9IXcmJiFBJiZNdChsKTtfPWwsd3x8QXx8RT9PKGMpP189YzpZKGMpP189dW4oYyk6QT8obT0hMSxfPWN1KGwsITApKTpFPyhtPSExLF89aHUobCwhMCkpOl89W106bGUobCl8fHd0KGwpPyhfPWMsd3QoYyk/Xz1hYShjKTooIXooYyl8fFhuKGMpKSYmKF89UnUobCkpKTptPSExfW0mJihmLnNldChsLF8pLHMoXyxsLHIsbyxmKSxmLmRlbGV0ZShsKSksS3IobixlLF8pfWZ1bmN0aW9uIGpzKG4sdCl7dmFyIGU9bi5sZW5ndGg7aWYoZSlyZXR1cm4gdCs9dDwwP2U6MCxKbih0LGUpP25bdF06aX1mdW5jdGlvbiBudShuLHQsZSl7dC5sZW5ndGg/dD1HKHQsZnVuY3Rpb24obyl7cmV0dXJuIE8obyk/ZnVuY3Rpb24oZil7cmV0dXJuIHZ0KGYsby5sZW5ndGg9PT0xP29bMF06byl9Om99KTp0PVtmbl07dmFyIHI9LTE7dD1HKHQsaG4oeCgpKSk7dmFyIHM9UXMobixmdW5jdGlvbihvLGYsYyl7dmFyIGw9Ryh0LGZ1bmN0aW9uKHYpe3JldHVybiB2KG8pfSk7cmV0dXJue2NyaXRlcmlhOmwsaW5kZXg6KytyLHZhbHVlOm99fSk7cmV0dXJuIHJmKHMsZnVuY3Rpb24obyxmKXtyZXR1cm4gemMobyxmLGUpfSl9ZnVuY3Rpb24gTGMobix0KXtyZXR1cm4gdHUobix0LGZ1bmN0aW9uKGUscil7cmV0dXJuIFNpKG4scil9KX1mdW5jdGlvbiB0dShuLHQsZSl7Zm9yKHZhciByPS0xLHM9dC5sZW5ndGgsbz17fTsrK3I8czspe3ZhciBmPXRbcl0sYz12dChuLGYpO2UoYyxmKSYmb2UobyxzdChmLG4pLGMpfXJldHVybiBvfWZ1bmN0aW9uIERjKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdnQodCxuKX19ZnVuY3Rpb24gbmkobix0LGUscil7dmFyIHM9cj9lZjpSdCxvPS0xLGY9dC5sZW5ndGgsYz1uO2ZvcihuPT09dCYmKHQ9dW4odCkpLGUmJihjPUcobixobihlKSkpOysrbzxmOylmb3IodmFyIGw9MCx2PXRbb10sXz1lP2Uodik6djsobD1zKGMsXyxsLHIpKT4tMTspYyE9PW4mJkRlLmNhbGwoYyxsLDEpLERlLmNhbGwobixsLDEpO3JldHVybiBufWZ1bmN0aW9uIGV1KG4sdCl7Zm9yKHZhciBlPW4/dC5sZW5ndGg6MCxyPWUtMTtlLS07KXt2YXIgcz10W2VdO2lmKGU9PXJ8fHMhPT1vKXt2YXIgbz1zO0puKHMpP0RlLmNhbGwobixzLDEpOmlpKG4scyl9fXJldHVybiBufWZ1bmN0aW9uIHRpKG4sdCl7cmV0dXJuIG4rJGUoJHMoKSoodC1uKzEpKX1mdW5jdGlvbiBOYyhuLHQsZSxyKXtmb3IodmFyIHM9LTEsbz1RKEhlKCh0LW4pLyhlfHwxKSksMCksZj1kKG8pO28tLTspZltyP286KytzXT1uLG4rPWU7cmV0dXJuIGZ9ZnVuY3Rpb24gZWkobix0KXt2YXIgZT1cIlwiO2lmKCFufHx0PDF8fHQ+a24pcmV0dXJuIGU7ZG8gdCUyJiYoZSs9biksdD0kZSh0LzIpLHQmJihuKz1uKTt3aGlsZSh0KTtyZXR1cm4gZX1mdW5jdGlvbiBUKG4sdCl7cmV0dXJuIHdpKEx1KG4sdCxmbiksbitcIlwiKX1mdW5jdGlvbiBIYyhuKXtyZXR1cm4gRnMocXQobikpfWZ1bmN0aW9uICRjKG4sdCl7dmFyIGU9cXQobik7cmV0dXJuIGplKGUsZ3QodCwwLGUubGVuZ3RoKSl9ZnVuY3Rpb24gb2Uobix0LGUscil7aWYoIXoobikpcmV0dXJuIG47dD1zdCh0LG4pO2Zvcih2YXIgcz0tMSxvPXQubGVuZ3RoLGY9by0xLGM9bjtjIT1udWxsJiYrK3M8bzspe3ZhciBsPVduKHRbc10pLHY9ZTtpZihsPT09XCJfX3Byb3RvX19cInx8bD09PVwiY29uc3RydWN0b3JcInx8bD09PVwicHJvdG90eXBlXCIpcmV0dXJuIG47aWYocyE9Zil7dmFyIF89Y1tsXTt2PXI/cihfLGwsYyk6aSx2PT09aSYmKHY9eihfKT9fOkpuKHRbcysxXSk/W106e30pfWllKGMsbCx2KSxjPWNbbF19cmV0dXJuIG59dmFyIHJ1PVVlP2Z1bmN0aW9uKG4sdCl7cmV0dXJuIFVlLnNldChuLHQpLG59OmZuLFVjPU5lP2Z1bmN0aW9uKG4sdCl7cmV0dXJuIE5lKG4sXCJ0b1N0cmluZ1wiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpSaSh0KSx3cml0YWJsZTohMH0pfTpmbjtmdW5jdGlvbiBXYyhuKXtyZXR1cm4gamUocXQobikpfWZ1bmN0aW9uIENuKG4sdCxlKXt2YXIgcj0tMSxzPW4ubGVuZ3RoO3Q8MCYmKHQ9LXQ+cz8wOnMrdCksZT1lPnM/czplLGU8MCYmKGUrPXMpLHM9dD5lPzA6ZS10Pj4+MCx0Pj4+PTA7Zm9yKHZhciBvPWQocyk7KytyPHM7KW9bcl09bltyK3RdO3JldHVybiBvfWZ1bmN0aW9uIEZjKG4sdCl7dmFyIGU7cmV0dXJuIHJ0KG4sZnVuY3Rpb24ocixzLG8pe3JldHVybiBlPXQocixzLG8pLCFlfSksISFlfWZ1bmN0aW9uIHplKG4sdCxlKXt2YXIgcj0wLHM9bj09bnVsbD9yOm4ubGVuZ3RoO2lmKHR5cGVvZiB0PT1cIm51bWJlclwiJiZ0PT09dCYmczw9RmEpe2Zvcig7cjxzOyl7dmFyIG89citzPj4+MSxmPW5bb107ZiE9PW51bGwmJiFwbihmKSYmKGU/Zjw9dDpmPHQpP3I9bysxOnM9b31yZXR1cm4gc31yZXR1cm4gcmkobix0LGZuLGUpfWZ1bmN0aW9uIHJpKG4sdCxlLHIpe3ZhciBzPTAsbz1uPT1udWxsPzA6bi5sZW5ndGg7aWYobz09PTApcmV0dXJuIDA7dD1lKHQpO2Zvcih2YXIgZj10IT09dCxjPXQ9PT1udWxsLGw9cG4odCksdj10PT09aTtzPG87KXt2YXIgXz0kZSgocytvKS8yKSxtPWUobltfXSksdz1tIT09aSxBPW09PT1udWxsLEU9bT09PW0sYj1wbihtKTtpZihmKXZhciB5PXJ8fEU7ZWxzZSB2P3k9RSYmKHJ8fHcpOmM/eT1FJiZ3JiYocnx8IUEpOmw/eT1FJiZ3JiYhQSYmKHJ8fCFiKTpBfHxiP3k9ITE6eT1yP208PXQ6bTx0O3k/cz1fKzE6bz1ffXJldHVybiBubihvLFdhKX1mdW5jdGlvbiBpdShuLHQpe2Zvcih2YXIgZT0tMSxyPW4ubGVuZ3RoLHM9MCxvPVtdOysrZTxyOyl7dmFyIGY9bltlXSxjPXQ/dChmKTpmO2lmKCFlfHwhYm4oYyxsKSl7dmFyIGw9YztvW3MrK109Zj09PTA/MDpmfX1yZXR1cm4gb31mdW5jdGlvbiBzdShuKXtyZXR1cm4gdHlwZW9mIG49PVwibnVtYmVyXCI/bjpwbihuKT9nZTorbn1mdW5jdGlvbiBsbihuKXtpZih0eXBlb2Ygbj09XCJzdHJpbmdcIilyZXR1cm4gbjtpZihPKG4pKXJldHVybiBHKG4sbG4pK1wiXCI7aWYocG4obikpcmV0dXJuIFVzP1VzLmNhbGwobik6XCJcIjt2YXIgdD1uK1wiXCI7cmV0dXJuIHQ9PVwiMFwiJiYxL249PS1jdD9cIi0wXCI6dH1mdW5jdGlvbiBpdChuLHQsZSl7dmFyIHI9LTEscz1JZSxvPW4ubGVuZ3RoLGY9ITAsYz1bXSxsPWM7aWYoZSlmPSExLHM9THI7ZWxzZSBpZihvPj1JKXt2YXIgdj10P251bGw6UWMobik7aWYodilyZXR1cm4gRWUodik7Zj0hMSxzPWt0LGw9bmV3IGR0fWVsc2UgbD10P1tdOmM7bjpmb3IoOysrcjxvOyl7dmFyIF89bltyXSxtPXQ/dChfKTpfO2lmKF89ZXx8XyE9PTA/XzowLGYmJm09PT1tKXtmb3IodmFyIHc9bC5sZW5ndGg7dy0tOylpZihsW3ddPT09bSljb250aW51ZSBuO3QmJmwucHVzaChtKSxjLnB1c2goXyl9ZWxzZSBzKGwsbSxlKXx8KGwhPT1jJiZsLnB1c2gobSksYy5wdXNoKF8pKX1yZXR1cm4gY31mdW5jdGlvbiBpaShuLHQpe3JldHVybiB0PXN0KHQsbiksbj1EdShuLHQpLG49PW51bGx8fGRlbGV0ZSBuW1duKEluKHQpKV19ZnVuY3Rpb24gdXUobix0LGUscil7cmV0dXJuIG9lKG4sdCxlKHZ0KG4sdCkpLHIpfWZ1bmN0aW9uIEtlKG4sdCxlLHIpe2Zvcih2YXIgcz1uLmxlbmd0aCxvPXI/czotMTsocj9vLS06KytvPHMpJiZ0KG5bb10sbyxuKTspO3JldHVybiBlP0NuKG4scj8wOm8scj9vKzE6cyk6Q24obixyP28rMTowLHI/czpvKX1mdW5jdGlvbiBhdShuLHQpe3ZhciBlPW47cmV0dXJuIGUgaW5zdGFuY2VvZiBOJiYoZT1lLnZhbHVlKCkpLERyKHQsZnVuY3Rpb24ocixzKXtyZXR1cm4gcy5mdW5jLmFwcGx5KHMudGhpc0FyZyxudChbcl0scy5hcmdzKSl9LGUpfWZ1bmN0aW9uIHNpKG4sdCxlKXt2YXIgcj1uLmxlbmd0aDtpZihyPDIpcmV0dXJuIHI/aXQoblswXSk6W107Zm9yKHZhciBzPS0xLG89ZChyKTsrK3M8cjspZm9yKHZhciBmPW5bc10sYz0tMTsrK2M8cjspYyE9cyYmKG9bc109c2Uob1tzXXx8ZixuW2NdLHQsZSkpO3JldHVybiBpdChqKG8sMSksdCxlKX1mdW5jdGlvbiBvdShuLHQsZSl7Zm9yKHZhciByPS0xLHM9bi5sZW5ndGgsbz10Lmxlbmd0aCxmPXt9OysrcjxzOyl7dmFyIGM9cjxvP3Rbcl06aTtlKGYsbltyXSxjKX1yZXR1cm4gZn1mdW5jdGlvbiB1aShuKXtyZXR1cm4gWShuKT9uOltdfWZ1bmN0aW9uIGFpKG4pe3JldHVybiB0eXBlb2Ygbj09XCJmdW5jdGlvblwiP246Zm59ZnVuY3Rpb24gc3Qobix0KXtyZXR1cm4gTyhuKT9uOnZpKG4sdCk/W25dOlV1KFUobikpfXZhciBNYz1UO2Z1bmN0aW9uIHV0KG4sdCxlKXt2YXIgcj1uLmxlbmd0aDtyZXR1cm4gZT1lPT09aT9yOmUsIXQmJmU+PXI/bjpDbihuLHQsZSl9dmFyIGZ1PVNmfHxmdW5jdGlvbihuKXtyZXR1cm4gay5jbGVhclRpbWVvdXQobil9O2Z1bmN0aW9uIGN1KG4sdCl7aWYodClyZXR1cm4gbi5zbGljZSgpO3ZhciBlPW4ubGVuZ3RoLHI9VHM/VHMoZSk6bmV3IG4uY29uc3RydWN0b3IoZSk7cmV0dXJuIG4uY29weShyKSxyfWZ1bmN0aW9uIG9pKG4pe3ZhciB0PW5ldyBuLmNvbnN0cnVjdG9yKG4uYnl0ZUxlbmd0aCk7cmV0dXJuIG5ldyBUZSh0KS5zZXQobmV3IFRlKG4pKSx0fWZ1bmN0aW9uIHFjKG4sdCl7dmFyIGU9dD9vaShuLmJ1ZmZlcik6bi5idWZmZXI7cmV0dXJuIG5ldyBuLmNvbnN0cnVjdG9yKGUsbi5ieXRlT2Zmc2V0LG4uYnl0ZUxlbmd0aCl9ZnVuY3Rpb24gQmMobil7dmFyIHQ9bmV3IG4uY29uc3RydWN0b3Iobi5zb3VyY2UsWmkuZXhlYyhuKSk7cmV0dXJuIHQubGFzdEluZGV4PW4ubGFzdEluZGV4LHR9ZnVuY3Rpb24gR2Mobil7cmV0dXJuIHJlP00ocmUuY2FsbChuKSk6e319ZnVuY3Rpb24gaHUobix0KXt2YXIgZT10P29pKG4uYnVmZmVyKTpuLmJ1ZmZlcjtyZXR1cm4gbmV3IG4uY29uc3RydWN0b3IoZSxuLmJ5dGVPZmZzZXQsbi5sZW5ndGgpfWZ1bmN0aW9uIGx1KG4sdCl7aWYobiE9PXQpe3ZhciBlPW4hPT1pLHI9bj09PW51bGwscz1uPT09bixvPXBuKG4pLGY9dCE9PWksYz10PT09bnVsbCxsPXQ9PT10LHY9cG4odCk7aWYoIWMmJiF2JiYhbyYmbj50fHxvJiZmJiZsJiYhYyYmIXZ8fHImJmYmJmx8fCFlJiZsfHwhcylyZXR1cm4gMTtpZighciYmIW8mJiF2JiZuPHR8fHYmJmUmJnMmJiFyJiYhb3x8YyYmZSYmc3x8IWYmJnN8fCFsKXJldHVybi0xfXJldHVybiAwfWZ1bmN0aW9uIHpjKG4sdCxlKXtmb3IodmFyIHI9LTEscz1uLmNyaXRlcmlhLG89dC5jcml0ZXJpYSxmPXMubGVuZ3RoLGM9ZS5sZW5ndGg7KytyPGY7KXt2YXIgbD1sdShzW3JdLG9bcl0pO2lmKGwpe2lmKHI+PWMpcmV0dXJuIGw7dmFyIHY9ZVtyXTtyZXR1cm4gbCoodj09XCJkZXNjXCI/LTE6MSl9fXJldHVybiBuLmluZGV4LXQuaW5kZXh9ZnVuY3Rpb24gcHUobix0LGUscil7Zm9yKHZhciBzPS0xLG89bi5sZW5ndGgsZj1lLmxlbmd0aCxjPS0xLGw9dC5sZW5ndGgsdj1RKG8tZiwwKSxfPWQobCt2KSxtPSFyOysrYzxsOylfW2NdPXRbY107Zm9yKDsrK3M8ZjspKG18fHM8bykmJihfW2Vbc11dPW5bc10pO2Zvcig7di0tOylfW2MrK109bltzKytdO3JldHVybiBffWZ1bmN0aW9uIGR1KG4sdCxlLHIpe2Zvcih2YXIgcz0tMSxvPW4ubGVuZ3RoLGY9LTEsYz1lLmxlbmd0aCxsPS0xLHY9dC5sZW5ndGgsXz1RKG8tYywwKSxtPWQoXyt2KSx3PSFyOysrczxfOyltW3NdPW5bc107Zm9yKHZhciBBPXM7KytsPHY7KW1bQStsXT10W2xdO2Zvcig7KytmPGM7KSh3fHxzPG8pJiYobVtBK2VbZl1dPW5bcysrXSk7cmV0dXJuIG19ZnVuY3Rpb24gdW4obix0KXt2YXIgZT0tMSxyPW4ubGVuZ3RoO2Zvcih0fHwodD1kKHIpKTsrK2U8cjspdFtlXT1uW2VdO3JldHVybiB0fWZ1bmN0aW9uIFVuKG4sdCxlLHIpe3ZhciBzPSFlO2V8fChlPXt9KTtmb3IodmFyIG89LTEsZj10Lmxlbmd0aDsrK288Zjspe3ZhciBjPXRbb10sbD1yP3IoZVtjXSxuW2NdLGMsZSxuKTppO2w9PT1pJiYobD1uW2NdKSxzP0tuKGUsYyxsKTppZShlLGMsbCl9cmV0dXJuIGV9ZnVuY3Rpb24gS2Mobix0KXtyZXR1cm4gVW4obixnaShuKSx0KX1mdW5jdGlvbiBZYyhuLHQpe3JldHVybiBVbihuLFN1KG4pLHQpfWZ1bmN0aW9uIFllKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dmFyIHM9TyhlKT9RbzpkYyxvPXQ/dCgpOnt9O3JldHVybiBzKGUsbix4KHIsMiksbyl9fWZ1bmN0aW9uIFV0KG4pe3JldHVybiBUKGZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEscz1lLmxlbmd0aCxvPXM+MT9lW3MtMV06aSxmPXM+Mj9lWzJdOmk7Zm9yKG89bi5sZW5ndGg+MyYmdHlwZW9mIG89PVwiZnVuY3Rpb25cIj8ocy0tLG8pOmksZiYmcm4oZVswXSxlWzFdLGYpJiYobz1zPDM/aTpvLHM9MSksdD1NKHQpOysrcjxzOyl7dmFyIGM9ZVtyXTtjJiZuKHQsYyxyLG8pfXJldHVybiB0fSl9ZnVuY3Rpb24gZ3Uobix0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtpZihlPT1udWxsKXJldHVybiBlO2lmKCFhbihlKSlyZXR1cm4gbihlLHIpO2Zvcih2YXIgcz1lLmxlbmd0aCxvPXQ/czotMSxmPU0oZSk7KHQ/by0tOisrbzxzKSYmcihmW29dLG8sZikhPT0hMTspO3JldHVybiBlfX1mdW5jdGlvbiB2dShuKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgcz0tMSxvPU0odCksZj1yKHQpLGM9Zi5sZW5ndGg7Yy0tOyl7dmFyIGw9ZltuP2M6KytzXTtpZihlKG9bbF0sbCxvKT09PSExKWJyZWFrfXJldHVybiB0fX1mdW5jdGlvbiBaYyhuLHQsZSl7dmFyIHI9dCZ2bixzPWZlKG4pO2Z1bmN0aW9uIG8oKXt2YXIgZj10aGlzJiZ0aGlzIT09ayYmdGhpcyBpbnN0YW5jZW9mIG8/czpuO3JldHVybiBmLmFwcGx5KHI/ZTp0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG99ZnVuY3Rpb24gX3Uobil7cmV0dXJuIGZ1bmN0aW9uKHQpe3Q9VSh0KTt2YXIgZT1idCh0KT9Pbih0KTppLHI9ZT9lWzBdOnQuY2hhckF0KDApLHM9ZT91dChlLDEpLmpvaW4oXCJcIik6dC5zbGljZSgxKTtyZXR1cm4gcltuXSgpK3N9fWZ1bmN0aW9uIFd0KG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRHIoZ2EoZGEodCkucmVwbGFjZSgkbyxcIlwiKSksbixcIlwiKX19ZnVuY3Rpb24gZmUobil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzO3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAwOnJldHVybiBuZXcgbjtjYXNlIDE6cmV0dXJuIG5ldyBuKHRbMF0pO2Nhc2UgMjpyZXR1cm4gbmV3IG4odFswXSx0WzFdKTtjYXNlIDM6cmV0dXJuIG5ldyBuKHRbMF0sdFsxXSx0WzJdKTtjYXNlIDQ6cmV0dXJuIG5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10pO2Nhc2UgNTpyZXR1cm4gbmV3IG4odFswXSx0WzFdLHRbMl0sdFszXSx0WzRdKTtjYXNlIDY6cmV0dXJuIG5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10sdFs0XSx0WzVdKTtjYXNlIDc6cmV0dXJuIG5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10sdFs0XSx0WzVdLHRbNl0pfXZhciBlPSR0KG4ucHJvdG90eXBlKSxyPW4uYXBwbHkoZSx0KTtyZXR1cm4geihyKT9yOmV9fWZ1bmN0aW9uIEpjKG4sdCxlKXt2YXIgcj1mZShuKTtmdW5jdGlvbiBzKCl7Zm9yKHZhciBvPWFyZ3VtZW50cy5sZW5ndGgsZj1kKG8pLGM9byxsPUZ0KHMpO2MtLTspZltjXT1hcmd1bWVudHNbY107dmFyIHY9bzwzJiZmWzBdIT09bCYmZltvLTFdIT09bD9bXTp0dChmLGwpO2lmKG8tPXYubGVuZ3RoLG88ZSlyZXR1cm4gQ3Uobix0LFplLHMucGxhY2Vob2xkZXIsaSxmLHYsaSxpLGUtbyk7dmFyIF89dGhpcyYmdGhpcyE9PWsmJnRoaXMgaW5zdGFuY2VvZiBzP3I6bjtyZXR1cm4gY24oXyx0aGlzLGYpfXJldHVybiBzfWZ1bmN0aW9uIG11KG4pe3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIHM9TSh0KTtpZighYW4odCkpe3ZhciBvPXgoZSwzKTt0PVYodCksZT1mdW5jdGlvbihjKXtyZXR1cm4gbyhzW2NdLGMscyl9fXZhciBmPW4odCxlLHIpO3JldHVybiBmPi0xP3Nbbz90W2ZdOmZdOml9fWZ1bmN0aW9uIHd1KG4pe3JldHVybiBabihmdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPWUscz1Qbi5wcm90b3R5cGUudGhydTtmb3IobiYmdC5yZXZlcnNlKCk7ci0tOyl7dmFyIG89dFtyXTtpZih0eXBlb2YgbyE9XCJmdW5jdGlvblwiKXRocm93IG5ldyB3bihGKTtpZihzJiYhZiYmVmUobyk9PVwid3JhcHBlclwiKXZhciBmPW5ldyBQbihbXSwhMCl9Zm9yKHI9Zj9yOmU7KytyPGU7KXtvPXRbcl07dmFyIGM9VmUobyksbD1jPT1cIndyYXBwZXJcIj9waShvKTppO2wmJl9pKGxbMF0pJiZsWzFdPT0ocW58RG58Tm58enQpJiYhbFs0XS5sZW5ndGgmJmxbOV09PTE/Zj1mW1ZlKGxbMF0pXS5hcHBseShmLGxbM10pOmY9by5sZW5ndGg9PTEmJl9pKG8pP2ZbY10oKTpmLnRocnUobyl9cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHY9YXJndW1lbnRzLF89dlswXTtpZihmJiZ2Lmxlbmd0aD09MSYmTyhfKSlyZXR1cm4gZi5wbGFudChfKS52YWx1ZSgpO2Zvcih2YXIgbT0wLHc9ZT90W21dLmFwcGx5KHRoaXMsdik6XzsrK208ZTspdz10W21dLmNhbGwodGhpcyx3KTtyZXR1cm4gd319KX1mdW5jdGlvbiBaZShuLHQsZSxyLHMsbyxmLGMsbCx2KXt2YXIgXz10JnFuLG09dCZ2bix3PXQmZnQsQT10JihEbnx4dCksRT10JnByLGI9dz9pOmZlKG4pO2Z1bmN0aW9uIHkoKXtmb3IodmFyIEw9YXJndW1lbnRzLmxlbmd0aCxIPWQoTCksZG49TDtkbi0tOylIW2RuXT1hcmd1bWVudHNbZG5dO2lmKEEpdmFyIHNuPUZ0KHkpLGduPXVmKEgsc24pO2lmKHImJihIPXB1KEgscixzLEEpKSxvJiYoSD1kdShILG8sZixBKSksTC09Z24sQSYmTDx2KXt2YXIgWj10dChILHNuKTtyZXR1cm4gQ3Uobix0LFplLHkucGxhY2Vob2xkZXIsZSxILFosYyxsLHYtTCl9dmFyIFRuPW0/ZTp0aGlzLFZuPXc/VG5bbl06bjtyZXR1cm4gTD1ILmxlbmd0aCxjP0g9ZGgoSCxjKTpFJiZMPjEmJkgucmV2ZXJzZSgpLF8mJmw8TCYmKEgubGVuZ3RoPWwpLHRoaXMmJnRoaXMhPT1rJiZ0aGlzIGluc3RhbmNlb2YgeSYmKFZuPWJ8fGZlKFZuKSksVm4uYXBwbHkoVG4sSCl9cmV0dXJuIHl9ZnVuY3Rpb24gUHUobix0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyZXR1cm4gQ2MoZSxuLHQocikse30pfX1mdW5jdGlvbiBKZShuLHQpe3JldHVybiBmdW5jdGlvbihlLHIpe3ZhciBzO2lmKGU9PT1pJiZyPT09aSlyZXR1cm4gdDtpZihlIT09aSYmKHM9ZSksciE9PWkpe2lmKHM9PT1pKXJldHVybiByO3R5cGVvZiBlPT1cInN0cmluZ1wifHx0eXBlb2Ygcj09XCJzdHJpbmdcIj8oZT1sbihlKSxyPWxuKHIpKTooZT1zdShlKSxyPXN1KHIpKSxzPW4oZSxyKX1yZXR1cm4gc319ZnVuY3Rpb24gZmkobil7cmV0dXJuIFpuKGZ1bmN0aW9uKHQpe3JldHVybiB0PUcodCxobih4KCkpKSxUKGZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7cmV0dXJuIG4odCxmdW5jdGlvbihzKXtyZXR1cm4gY24ocyxyLGUpfSl9KX0pfWZ1bmN0aW9uIFhlKG4sdCl7dD10PT09aT9cIiBcIjpsbih0KTt2YXIgZT10Lmxlbmd0aDtpZihlPDIpcmV0dXJuIGU/ZWkodCxuKTp0O3ZhciByPWVpKHQsSGUobi9UdCh0KSkpO3JldHVybiBidCh0KT91dChPbihyKSwwLG4pLmpvaW4oXCJcIik6ci5zbGljZSgwLG4pfWZ1bmN0aW9uIFhjKG4sdCxlLHIpe3ZhciBzPXQmdm4sbz1mZShuKTtmdW5jdGlvbiBmKCl7Zm9yKHZhciBjPS0xLGw9YXJndW1lbnRzLmxlbmd0aCx2PS0xLF89ci5sZW5ndGgsbT1kKF8rbCksdz10aGlzJiZ0aGlzIT09ayYmdGhpcyBpbnN0YW5jZW9mIGY/bzpuOysrdjxfOyltW3ZdPXJbdl07Zm9yKDtsLS07KW1bdisrXT1hcmd1bWVudHNbKytjXTtyZXR1cm4gY24odyxzP2U6dGhpcyxtKX1yZXR1cm4gZn1mdW5jdGlvbiBBdShuKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3JldHVybiByJiZ0eXBlb2YgciE9XCJudW1iZXJcIiYmcm4odCxlLHIpJiYoZT1yPWkpLHQ9UW4odCksZT09PWk/KGU9dCx0PTApOmU9UW4oZSkscj1yPT09aT90PGU/MTotMTpRbihyKSxOYyh0LGUscixuKX19ZnVuY3Rpb24gUWUobil7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR5cGVvZiB0PT1cInN0cmluZ1wiJiZ0eXBlb2YgZT09XCJzdHJpbmdcInx8KHQ9eG4odCksZT14bihlKSksbih0LGUpfX1mdW5jdGlvbiBDdShuLHQsZSxyLHMsbyxmLGMsbCx2KXt2YXIgXz10JkRuLG09Xz9mOmksdz1fP2k6ZixBPV8/bzppLEU9Xz9pOm87dHw9Xz9ObjpFdCx0Jj1+KF8/RXQ6Tm4pLHQmTWl8fCh0Jj1+KHZufGZ0KSk7dmFyIGI9W24sdCxzLEEsbSxFLHcsYyxsLHZdLHk9ZS5hcHBseShpLGIpO3JldHVybiBfaShuKSYmTnUoeSxiKSx5LnBsYWNlaG9sZGVyPXIsSHUoeSxuLHQpfWZ1bmN0aW9uIGNpKG4pe3ZhciB0PVhbbl07cmV0dXJuIGZ1bmN0aW9uKGUscil7aWYoZT14bihlKSxyPXI9PW51bGw/MDpubihSKHIpLDI5MiksciYmSHMoZSkpe3ZhciBzPShVKGUpK1wiZVwiKS5zcGxpdChcImVcIiksbz10KHNbMF0rXCJlXCIrKCtzWzFdK3IpKTtyZXR1cm4gcz0oVShvKStcImVcIikuc3BsaXQoXCJlXCIpLCsoc1swXStcImVcIisoK3NbMV0tcikpfXJldHVybiB0KGUpfX12YXIgUWM9TnQmJjEvRWUobmV3IE50KFssLTBdKSlbMV09PWN0P2Z1bmN0aW9uKG4pe3JldHVybiBuZXcgTnQobil9OkxpO2Z1bmN0aW9uIEl1KG4pe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10bih0KTtyZXR1cm4gZT09eW4/TXIodCk6ZT09U24/cGYodCk6c2YodCxuKHQpKX19ZnVuY3Rpb24gWW4obix0LGUscixzLG8sZixjKXt2YXIgbD10JmZ0O2lmKCFsJiZ0eXBlb2YgbiE9XCJmdW5jdGlvblwiKXRocm93IG5ldyB3bihGKTt2YXIgdj1yP3IubGVuZ3RoOjA7aWYodnx8KHQmPX4oTm58RXQpLHI9cz1pKSxmPWY9PT1pP2Y6UShSKGYpLDApLGM9Yz09PWk/YzpSKGMpLHYtPXM/cy5sZW5ndGg6MCx0JkV0KXt2YXIgXz1yLG09cztyPXM9aX12YXIgdz1sP2k6cGkobiksQT1bbix0LGUscixzLF8sbSxvLGYsY107aWYodyYmaGgoQSx3KSxuPUFbMF0sdD1BWzFdLGU9QVsyXSxyPUFbM10scz1BWzRdLGM9QVs5XT1BWzldPT09aT9sPzA6bi5sZW5ndGg6UShBWzldLXYsMCksIWMmJnQmKERufHh0KSYmKHQmPX4oRG58eHQpKSwhdHx8dD09dm4pdmFyIEU9WmMobix0LGUpO2Vsc2UgdD09RG58fHQ9PXh0P0U9SmMobix0LGMpOih0PT1Obnx8dD09KHZufE5uKSkmJiFzLmxlbmd0aD9FPVhjKG4sdCxlLHIpOkU9WmUuYXBwbHkoaSxBKTt2YXIgYj13P3J1Ok51O3JldHVybiBIdShiKEUsQSksbix0KX1mdW5jdGlvbiB4dShuLHQsZSxyKXtyZXR1cm4gbj09PWl8fGJuKG4sRHRbZV0pJiYhVy5jYWxsKHIsZSk/dDpufWZ1bmN0aW9uIEV1KG4sdCxlLHIscyxvKXtyZXR1cm4geihuKSYmeih0KSYmKG8uc2V0KHQsbiksR2Uobix0LGksRXUsbyksby5kZWxldGUodCkpLG59ZnVuY3Rpb24gVmMobil7cmV0dXJuIGxlKG4pP2k6bn1mdW5jdGlvbiB5dShuLHQsZSxyLHMsbyl7dmFyIGY9ZSZJdCxjPW4ubGVuZ3RoLGw9dC5sZW5ndGg7aWYoYyE9bCYmIShmJiZsPmMpKXJldHVybiExO3ZhciB2PW8uZ2V0KG4pLF89by5nZXQodCk7aWYodiYmXylyZXR1cm4gdj09dCYmXz09bjt2YXIgbT0tMSx3PSEwLEE9ZSZkZT9uZXcgZHQ6aTtmb3Ioby5zZXQobix0KSxvLnNldCh0LG4pOysrbTxjOyl7dmFyIEU9blttXSxiPXRbbV07aWYocil2YXIgeT1mP3IoYixFLG0sdCxuLG8pOnIoRSxiLG0sbix0LG8pO2lmKHkhPT1pKXtpZih5KWNvbnRpbnVlO3c9ITE7YnJlYWt9aWYoQSl7aWYoIU5yKHQsZnVuY3Rpb24oTCxIKXtpZigha3QoQSxIKSYmKEU9PT1MfHxzKEUsTCxlLHIsbykpKXJldHVybiBBLnB1c2goSCl9KSl7dz0hMTticmVha319ZWxzZSBpZighKEU9PT1ifHxzKEUsYixlLHIsbykpKXt3PSExO2JyZWFrfX1yZXR1cm4gby5kZWxldGUobiksby5kZWxldGUodCksd31mdW5jdGlvbiBrYyhuLHQsZSxyLHMsbyxmKXtzd2l0Y2goZSl7Y2FzZSBTdDppZihuLmJ5dGVMZW5ndGghPXQuYnl0ZUxlbmd0aHx8bi5ieXRlT2Zmc2V0IT10LmJ5dGVPZmZzZXQpcmV0dXJuITE7bj1uLmJ1ZmZlcix0PXQuYnVmZmVyO2Nhc2UgVnQ6cmV0dXJuIShuLmJ5dGVMZW5ndGghPXQuYnl0ZUxlbmd0aHx8IW8obmV3IFRlKG4pLG5ldyBUZSh0KSkpO2Nhc2UgS3Q6Y2FzZSBZdDpjYXNlIFp0OnJldHVybiBibigrbiwrdCk7Y2FzZSBfZTpyZXR1cm4gbi5uYW1lPT10Lm5hbWUmJm4ubWVzc2FnZT09dC5tZXNzYWdlO2Nhc2UgSnQ6Y2FzZSBYdDpyZXR1cm4gbj09dCtcIlwiO2Nhc2UgeW46dmFyIGM9TXI7Y2FzZSBTbjp2YXIgbD1yJkl0O2lmKGN8fChjPUVlKSxuLnNpemUhPXQuc2l6ZSYmIWwpcmV0dXJuITE7dmFyIHY9Zi5nZXQobik7aWYodilyZXR1cm4gdj09dDtyfD1kZSxmLnNldChuLHQpO3ZhciBfPXl1KGMobiksYyh0KSxyLHMsbyxmKTtyZXR1cm4gZi5kZWxldGUobiksXztjYXNlIHdlOmlmKHJlKXJldHVybiByZS5jYWxsKG4pPT1yZS5jYWxsKHQpfXJldHVybiExfWZ1bmN0aW9uIGpjKG4sdCxlLHIscyxvKXt2YXIgZj1lJkl0LGM9aGkobiksbD1jLmxlbmd0aCx2PWhpKHQpLF89di5sZW5ndGg7aWYobCE9XyYmIWYpcmV0dXJuITE7Zm9yKHZhciBtPWw7bS0tOyl7dmFyIHc9Y1ttXTtpZighKGY/dyBpbiB0OlcuY2FsbCh0LHcpKSlyZXR1cm4hMX12YXIgQT1vLmdldChuKSxFPW8uZ2V0KHQpO2lmKEEmJkUpcmV0dXJuIEE9PXQmJkU9PW47dmFyIGI9ITA7by5zZXQobix0KSxvLnNldCh0LG4pO2Zvcih2YXIgeT1mOysrbTxsOyl7dz1jW21dO3ZhciBMPW5bd10sSD10W3ddO2lmKHIpdmFyIGRuPWY/cihILEwsdyx0LG4sbyk6cihMLEgsdyxuLHQsbyk7aWYoIShkbj09PWk/TD09PUh8fHMoTCxILGUscixvKTpkbikpe2I9ITE7YnJlYWt9eXx8KHk9dz09XCJjb25zdHJ1Y3RvclwiKX1pZihiJiYheSl7dmFyIHNuPW4uY29uc3RydWN0b3IsZ249dC5jb25zdHJ1Y3RvcjtzbiE9Z24mJlwiY29uc3RydWN0b3JcImluIG4mJlwiY29uc3RydWN0b3JcImluIHQmJiEodHlwZW9mIHNuPT1cImZ1bmN0aW9uXCImJnNuIGluc3RhbmNlb2Ygc24mJnR5cGVvZiBnbj09XCJmdW5jdGlvblwiJiZnbiBpbnN0YW5jZW9mIGduKSYmKGI9ITEpfXJldHVybiBvLmRlbGV0ZShuKSxvLmRlbGV0ZSh0KSxifWZ1bmN0aW9uIFpuKG4pe3JldHVybiB3aShMdShuLGkscXUpLG4rXCJcIil9ZnVuY3Rpb24gaGkobil7cmV0dXJuIFlzKG4sVixnaSl9ZnVuY3Rpb24gbGkobil7cmV0dXJuIFlzKG4sb24sU3UpfXZhciBwaT1VZT9mdW5jdGlvbihuKXtyZXR1cm4gVWUuZ2V0KG4pfTpMaTtmdW5jdGlvbiBWZShuKXtmb3IodmFyIHQ9bi5uYW1lK1wiXCIsZT1IdFt0XSxyPVcuY2FsbChIdCx0KT9lLmxlbmd0aDowO3ItLTspe3ZhciBzPWVbcl0sbz1zLmZ1bmM7aWYobz09bnVsbHx8bz09bilyZXR1cm4gcy5uYW1lfXJldHVybiB0fWZ1bmN0aW9uIEZ0KG4pe3ZhciB0PVcuY2FsbChhLFwicGxhY2Vob2xkZXJcIik/YTpuO3JldHVybiB0LnBsYWNlaG9sZGVyfWZ1bmN0aW9uIHgoKXt2YXIgbj1hLml0ZXJhdGVlfHxiaTtyZXR1cm4gbj1uPT09Ymk/WHM6bixhcmd1bWVudHMubGVuZ3RoP24oYXJndW1lbnRzWzBdLGFyZ3VtZW50c1sxXSk6bn1mdW5jdGlvbiBrZShuLHQpe3ZhciBlPW4uX19kYXRhX187cmV0dXJuIGFoKHQpP2VbdHlwZW9mIHQ9PVwic3RyaW5nXCI/XCJzdHJpbmdcIjpcImhhc2hcIl06ZS5tYXB9ZnVuY3Rpb24gZGkobil7Zm9yKHZhciB0PVYobiksZT10Lmxlbmd0aDtlLS07KXt2YXIgcj10W2VdLHM9bltyXTt0W2VdPVtyLHMsYnUocyldfXJldHVybiB0fWZ1bmN0aW9uIF90KG4sdCl7dmFyIGU9Y2Yobix0KTtyZXR1cm4gSnMoZSk/ZTppfWZ1bmN0aW9uIG5oKG4pe3ZhciB0PVcuY2FsbChuLGx0KSxlPW5bbHRdO3RyeXtuW2x0XT1pO3ZhciByPSEwfWNhdGNoe312YXIgcz1SZS5jYWxsKG4pO3JldHVybiByJiYodD9uW2x0XT1lOmRlbGV0ZSBuW2x0XSksc312YXIgZ2k9QnI/ZnVuY3Rpb24obil7cmV0dXJuIG49PW51bGw/W106KG49TShuKSxqbihCcihuKSxmdW5jdGlvbih0KXtyZXR1cm4gRHMuY2FsbChuLHQpfSkpfTpEaSxTdT1Ccj9mdW5jdGlvbihuKXtmb3IodmFyIHQ9W107bjspbnQodCxnaShuKSksbj1MZShuKTtyZXR1cm4gdH06RGksdG49ZW47KEdyJiZ0bihuZXcgR3IobmV3IEFycmF5QnVmZmVyKDEpKSkhPVN0fHxuZSYmdG4obmV3IG5lKSE9eW58fHpyJiZ0bih6ci5yZXNvbHZlKCkpIT1HaXx8TnQmJnRuKG5ldyBOdCkhPVNufHx0ZSYmdG4obmV3IHRlKSE9UXQpJiYodG49ZnVuY3Rpb24obil7dmFyIHQ9ZW4obiksZT10PT1Cbj9uLmNvbnN0cnVjdG9yOmkscj1lP210KGUpOlwiXCI7aWYocilzd2l0Y2gocil7Y2FzZSAkZjpyZXR1cm4gU3Q7Y2FzZSBVZjpyZXR1cm4geW47Y2FzZSBXZjpyZXR1cm4gR2k7Y2FzZSBGZjpyZXR1cm4gU247Y2FzZSBNZjpyZXR1cm4gUXR9cmV0dXJuIHR9KTtmdW5jdGlvbiB0aChuLHQsZSl7Zm9yKHZhciByPS0xLHM9ZS5sZW5ndGg7KytyPHM7KXt2YXIgbz1lW3JdLGY9by5zaXplO3N3aXRjaChvLnR5cGUpe2Nhc2VcImRyb3BcIjpuKz1mO2JyZWFrO2Nhc2VcImRyb3BSaWdodFwiOnQtPWY7YnJlYWs7Y2FzZVwidGFrZVwiOnQ9bm4odCxuK2YpO2JyZWFrO2Nhc2VcInRha2VSaWdodFwiOm49UShuLHQtZik7YnJlYWt9fXJldHVybntzdGFydDpuLGVuZDp0fX1mdW5jdGlvbiBlaChuKXt2YXIgdD1uLm1hdGNoKHVvKTtyZXR1cm4gdD90WzFdLnNwbGl0KGFvKTpbXX1mdW5jdGlvbiBPdShuLHQsZSl7dD1zdCh0LG4pO2Zvcih2YXIgcj0tMSxzPXQubGVuZ3RoLG89ITE7KytyPHM7KXt2YXIgZj1Xbih0W3JdKTtpZighKG89biE9bnVsbCYmZShuLGYpKSlicmVhaztuPW5bZl19cmV0dXJuIG98fCsrciE9cz9vOihzPW49PW51bGw/MDpuLmxlbmd0aCwhIXMmJnNyKHMpJiZKbihmLHMpJiYoTyhuKXx8d3QobikpKX1mdW5jdGlvbiByaChuKXt2YXIgdD1uLmxlbmd0aCxlPW5ldyBuLmNvbnN0cnVjdG9yKHQpO3JldHVybiB0JiZ0eXBlb2YgblswXT09XCJzdHJpbmdcIiYmVy5jYWxsKG4sXCJpbmRleFwiKSYmKGUuaW5kZXg9bi5pbmRleCxlLmlucHV0PW4uaW5wdXQpLGV9ZnVuY3Rpb24gUnUobil7cmV0dXJuIHR5cGVvZiBuLmNvbnN0cnVjdG9yPT1cImZ1bmN0aW9uXCImJiFjZShuKT8kdChMZShuKSk6e319ZnVuY3Rpb24gaWgobix0LGUpe3ZhciByPW4uY29uc3RydWN0b3I7c3dpdGNoKHQpe2Nhc2UgVnQ6cmV0dXJuIG9pKG4pO2Nhc2UgS3Q6Y2FzZSBZdDpyZXR1cm4gbmV3IHIoK24pO2Nhc2UgU3Q6cmV0dXJuIHFjKG4sZSk7Y2FzZSBkcjpjYXNlIGdyOmNhc2UgdnI6Y2FzZSBfcjpjYXNlIG1yOmNhc2Ugd3I6Y2FzZSBQcjpjYXNlIEFyOmNhc2UgQ3I6cmV0dXJuIGh1KG4sZSk7Y2FzZSB5bjpyZXR1cm4gbmV3IHI7Y2FzZSBadDpjYXNlIFh0OnJldHVybiBuZXcgcihuKTtjYXNlIEp0OnJldHVybiBCYyhuKTtjYXNlIFNuOnJldHVybiBuZXcgcjtjYXNlIHdlOnJldHVybiBHYyhuKX19ZnVuY3Rpb24gc2gobix0KXt2YXIgZT10Lmxlbmd0aDtpZighZSlyZXR1cm4gbjt2YXIgcj1lLTE7cmV0dXJuIHRbcl09KGU+MT9cIiYgXCI6XCJcIikrdFtyXSx0PXQuam9pbihlPjI/XCIsIFwiOlwiIFwiKSxuLnJlcGxhY2Uoc28sYHtcbi8qIFt3cmFwcGVkIHdpdGggYCt0K2BdICovXG5gKX1mdW5jdGlvbiB1aChuKXtyZXR1cm4gTyhuKXx8d3Qobil8fCEhKE5zJiZuJiZuW05zXSl9ZnVuY3Rpb24gSm4obix0KXt2YXIgZT10eXBlb2YgbjtyZXR1cm4gdD10Pz9rbiwhIXQmJihlPT1cIm51bWJlclwifHxlIT1cInN5bWJvbFwiJiZfby50ZXN0KG4pKSYmbj4tMSYmbiUxPT0wJiZuPHR9ZnVuY3Rpb24gcm4obix0LGUpe2lmKCF6KGUpKXJldHVybiExO3ZhciByPXR5cGVvZiB0O3JldHVybihyPT1cIm51bWJlclwiP2FuKGUpJiZKbih0LGUubGVuZ3RoKTpyPT1cInN0cmluZ1wiJiZ0IGluIGUpP2JuKGVbdF0sbik6ITF9ZnVuY3Rpb24gdmkobix0KXtpZihPKG4pKXJldHVybiExO3ZhciBlPXR5cGVvZiBuO3JldHVybiBlPT1cIm51bWJlclwifHxlPT1cInN5bWJvbFwifHxlPT1cImJvb2xlYW5cInx8bj09bnVsbHx8cG4obik/ITA6dG8udGVzdChuKXx8IW5vLnRlc3Qobil8fHQhPW51bGwmJm4gaW4gTSh0KX1mdW5jdGlvbiBhaChuKXt2YXIgdD10eXBlb2YgbjtyZXR1cm4gdD09XCJzdHJpbmdcInx8dD09XCJudW1iZXJcInx8dD09XCJzeW1ib2xcInx8dD09XCJib29sZWFuXCI/biE9PVwiX19wcm90b19fXCI6bj09PW51bGx9ZnVuY3Rpb24gX2kobil7dmFyIHQ9VmUobiksZT1hW3RdO2lmKHR5cGVvZiBlIT1cImZ1bmN0aW9uXCJ8fCEodCBpbiBOLnByb3RvdHlwZSkpcmV0dXJuITE7aWYobj09PWUpcmV0dXJuITA7dmFyIHI9cGkoZSk7cmV0dXJuISFyJiZuPT09clswXX1mdW5jdGlvbiBvaChuKXtyZXR1cm4hIWJzJiZicyBpbiBufXZhciBmaD1TZT9YbjpOaTtmdW5jdGlvbiBjZShuKXt2YXIgdD1uJiZuLmNvbnN0cnVjdG9yLGU9dHlwZW9mIHQ9PVwiZnVuY3Rpb25cIiYmdC5wcm90b3R5cGV8fER0O3JldHVybiBuPT09ZX1mdW5jdGlvbiBidShuKXtyZXR1cm4gbj09PW4mJiF6KG4pfWZ1bmN0aW9uIFR1KG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlPT1udWxsPyExOmVbbl09PT10JiYodCE9PWl8fG4gaW4gTShlKSl9fWZ1bmN0aW9uIGNoKG4pe3ZhciB0PXJyKG4sZnVuY3Rpb24ocil7cmV0dXJuIGUuc2l6ZT09PWxyJiZlLmNsZWFyKCkscn0pLGU9dC5jYWNoZTtyZXR1cm4gdH1mdW5jdGlvbiBoaChuLHQpe3ZhciBlPW5bMV0scj10WzFdLHM9ZXxyLG89czwodm58ZnR8cW4pLGY9cj09cW4mJmU9PURufHxyPT1xbiYmZT09enQmJm5bN10ubGVuZ3RoPD10WzhdfHxyPT0ocW58enQpJiZ0WzddLmxlbmd0aDw9dFs4XSYmZT09RG47aWYoIShvfHxmKSlyZXR1cm4gbjtyJnZuJiYoblsyXT10WzJdLHN8PWUmdm4/MDpNaSk7dmFyIGM9dFszXTtpZihjKXt2YXIgbD1uWzNdO25bM109bD9wdShsLGMsdFs0XSk6YyxuWzRdPWw/dHQoblszXSxBdCk6dFs0XX1yZXR1cm4gYz10WzVdLGMmJihsPW5bNV0sbls1XT1sP2R1KGwsYyx0WzZdKTpjLG5bNl09bD90dChuWzVdLEF0KTp0WzZdKSxjPXRbN10sYyYmKG5bN109YyksciZxbiYmKG5bOF09bls4XT09bnVsbD90WzhdOm5uKG5bOF0sdFs4XSkpLG5bOV09PW51bGwmJihuWzldPXRbOV0pLG5bMF09dFswXSxuWzFdPXMsbn1mdW5jdGlvbiBsaChuKXt2YXIgdD1bXTtpZihuIT1udWxsKWZvcih2YXIgZSBpbiBNKG4pKXQucHVzaChlKTtyZXR1cm4gdH1mdW5jdGlvbiBwaChuKXtyZXR1cm4gUmUuY2FsbChuKX1mdW5jdGlvbiBMdShuLHQsZSl7cmV0dXJuIHQ9USh0PT09aT9uLmxlbmd0aC0xOnQsMCksZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzLHM9LTEsbz1RKHIubGVuZ3RoLXQsMCksZj1kKG8pOysrczxvOylmW3NdPXJbdCtzXTtzPS0xO2Zvcih2YXIgYz1kKHQrMSk7KytzPHQ7KWNbc109cltzXTtyZXR1cm4gY1t0XT1lKGYpLGNuKG4sdGhpcyxjKX19ZnVuY3Rpb24gRHUobix0KXtyZXR1cm4gdC5sZW5ndGg8Mj9uOnZ0KG4sQ24odCwwLC0xKSl9ZnVuY3Rpb24gZGgobix0KXtmb3IodmFyIGU9bi5sZW5ndGgscj1ubih0Lmxlbmd0aCxlKSxzPXVuKG4pO3ItLTspe3ZhciBvPXRbcl07bltyXT1KbihvLGUpP3Nbb106aX1yZXR1cm4gbn1mdW5jdGlvbiBtaShuLHQpe2lmKCEodD09PVwiY29uc3RydWN0b3JcIiYmdHlwZW9mIG5bdF09PVwiZnVuY3Rpb25cIikmJnQhPVwiX19wcm90b19fXCIpcmV0dXJuIG5bdF19dmFyIE51PSR1KHJ1KSxoZT1SZnx8ZnVuY3Rpb24obix0KXtyZXR1cm4gay5zZXRUaW1lb3V0KG4sdCl9LHdpPSR1KFVjKTtmdW5jdGlvbiBIdShuLHQsZSl7dmFyIHI9dCtcIlwiO3JldHVybiB3aShuLHNoKHIsZ2goZWgociksZSkpKX1mdW5jdGlvbiAkdShuKXt2YXIgdD0wLGU9MDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcj1EZigpLHM9TmEtKHItZSk7aWYoZT1yLHM+MCl7aWYoKyt0Pj1EYSlyZXR1cm4gYXJndW1lbnRzWzBdfWVsc2UgdD0wO3JldHVybiBuLmFwcGx5KGksYXJndW1lbnRzKX19ZnVuY3Rpb24gamUobix0KXt2YXIgZT0tMSxyPW4ubGVuZ3RoLHM9ci0xO2Zvcih0PXQ9PT1pP3I6dDsrK2U8dDspe3ZhciBvPXRpKGUscyksZj1uW29dO25bb109bltlXSxuW2VdPWZ9cmV0dXJuIG4ubGVuZ3RoPXQsbn12YXIgVXU9Y2goZnVuY3Rpb24obil7dmFyIHQ9W107cmV0dXJuIG4uY2hhckNvZGVBdCgwKT09PTQ2JiZ0LnB1c2goXCJcIiksbi5yZXBsYWNlKGVvLGZ1bmN0aW9uKGUscixzLG8pe3QucHVzaChzP28ucmVwbGFjZShjbyxcIiQxXCIpOnJ8fGUpfSksdH0pO2Z1bmN0aW9uIFduKG4pe2lmKHR5cGVvZiBuPT1cInN0cmluZ1wifHxwbihuKSlyZXR1cm4gbjt2YXIgdD1uK1wiXCI7cmV0dXJuIHQ9PVwiMFwiJiYxL249PS1jdD9cIi0wXCI6dH1mdW5jdGlvbiBtdChuKXtpZihuIT1udWxsKXt0cnl7cmV0dXJuIE9lLmNhbGwobil9Y2F0Y2h7fXRyeXtyZXR1cm4gbitcIlwifWNhdGNoe319cmV0dXJuXCJcIn1mdW5jdGlvbiBnaChuLHQpe3JldHVybiBtbihNYSxmdW5jdGlvbihlKXt2YXIgcj1cIl8uXCIrZVswXTt0JmVbMV0mJiFJZShuLHIpJiZuLnB1c2gocil9KSxuLnNvcnQoKX1mdW5jdGlvbiBXdShuKXtpZihuIGluc3RhbmNlb2YgTilyZXR1cm4gbi5jbG9uZSgpO3ZhciB0PW5ldyBQbihuLl9fd3JhcHBlZF9fLG4uX19jaGFpbl9fKTtyZXR1cm4gdC5fX2FjdGlvbnNfXz11bihuLl9fYWN0aW9uc19fKSx0Ll9faW5kZXhfXz1uLl9faW5kZXhfXyx0Ll9fdmFsdWVzX189bi5fX3ZhbHVlc19fLHR9ZnVuY3Rpb24gdmgobix0LGUpeyhlP3JuKG4sdCxlKTp0PT09aSk/dD0xOnQ9UShSKHQpLDApO3ZhciByPW49PW51bGw/MDpuLmxlbmd0aDtpZighcnx8dDwxKXJldHVybltdO2Zvcih2YXIgcz0wLG89MCxmPWQoSGUoci90KSk7czxyOylmW28rK109Q24obixzLHMrPXQpO3JldHVybiBmfWZ1bmN0aW9uIF9oKG4pe2Zvcih2YXIgdD0tMSxlPW49PW51bGw/MDpuLmxlbmd0aCxyPTAscz1bXTsrK3Q8ZTspe3ZhciBvPW5bdF07byYmKHNbcisrXT1vKX1yZXR1cm4gc31mdW5jdGlvbiBtaCgpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg7aWYoIW4pcmV0dXJuW107Zm9yKHZhciB0PWQobi0xKSxlPWFyZ3VtZW50c1swXSxyPW47ci0tOyl0W3ItMV09YXJndW1lbnRzW3JdO3JldHVybiBudChPKGUpP3VuKGUpOltlXSxqKHQsMSkpfXZhciB3aD1UKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFkobik/c2UobixqKHQsMSxZLCEwKSk6W119KSxQaD1UKGZ1bmN0aW9uKG4sdCl7dmFyIGU9SW4odCk7cmV0dXJuIFkoZSkmJihlPWkpLFkobik/c2UobixqKHQsMSxZLCEwKSx4KGUsMikpOltdfSksQWg9VChmdW5jdGlvbihuLHQpe3ZhciBlPUluKHQpO3JldHVybiBZKGUpJiYoZT1pKSxZKG4pP3NlKG4saih0LDEsWSwhMCksaSxlKTpbXX0pO2Z1bmN0aW9uIENoKG4sdCxlKXt2YXIgcj1uPT1udWxsPzA6bi5sZW5ndGg7cmV0dXJuIHI/KHQ9ZXx8dD09PWk/MTpSKHQpLENuKG4sdDwwPzA6dCxyKSk6W119ZnVuY3Rpb24gSWgobix0LGUpe3ZhciByPW49PW51bGw/MDpuLmxlbmd0aDtyZXR1cm4gcj8odD1lfHx0PT09aT8xOlIodCksdD1yLXQsQ24obiwwLHQ8MD8wOnQpKTpbXX1mdW5jdGlvbiB4aChuLHQpe3JldHVybiBuJiZuLmxlbmd0aD9LZShuLHgodCwzKSwhMCwhMCk6W119ZnVuY3Rpb24gRWgobix0KXtyZXR1cm4gbiYmbi5sZW5ndGg/S2Uobix4KHQsMyksITApOltdfWZ1bmN0aW9uIHloKG4sdCxlLHIpe3ZhciBzPW49PW51bGw/MDpuLmxlbmd0aDtyZXR1cm4gcz8oZSYmdHlwZW9mIGUhPVwibnVtYmVyXCImJnJuKG4sdCxlKSYmKGU9MCxyPXMpLG1jKG4sdCxlLHIpKTpbXX1mdW5jdGlvbiBGdShuLHQsZSl7dmFyIHI9bj09bnVsbD8wOm4ubGVuZ3RoO2lmKCFyKXJldHVybi0xO3ZhciBzPWU9PW51bGw/MDpSKGUpO3JldHVybiBzPDAmJihzPVEocitzLDApKSx4ZShuLHgodCwzKSxzKX1mdW5jdGlvbiBNdShuLHQsZSl7dmFyIHI9bj09bnVsbD8wOm4ubGVuZ3RoO2lmKCFyKXJldHVybi0xO3ZhciBzPXItMTtyZXR1cm4gZSE9PWkmJihzPVIoZSkscz1lPDA/UShyK3MsMCk6bm4ocyxyLTEpKSx4ZShuLHgodCwzKSxzLCEwKX1mdW5jdGlvbiBxdShuKXt2YXIgdD1uPT1udWxsPzA6bi5sZW5ndGg7cmV0dXJuIHQ/aihuLDEpOltdfWZ1bmN0aW9uIFNoKG4pe3ZhciB0PW49PW51bGw/MDpuLmxlbmd0aDtyZXR1cm4gdD9qKG4sY3QpOltdfWZ1bmN0aW9uIE9oKG4sdCl7dmFyIGU9bj09bnVsbD8wOm4ubGVuZ3RoO3JldHVybiBlPyh0PXQ9PT1pPzE6Uih0KSxqKG4sdCkpOltdfWZ1bmN0aW9uIFJoKG4pe2Zvcih2YXIgdD0tMSxlPW49PW51bGw/MDpuLmxlbmd0aCxyPXt9OysrdDxlOyl7dmFyIHM9blt0XTtyW3NbMF1dPXNbMV19cmV0dXJuIHJ9ZnVuY3Rpb24gQnUobil7cmV0dXJuIG4mJm4ubGVuZ3RoP25bMF06aX1mdW5jdGlvbiBiaChuLHQsZSl7dmFyIHI9bj09bnVsbD8wOm4ubGVuZ3RoO2lmKCFyKXJldHVybi0xO3ZhciBzPWU9PW51bGw/MDpSKGUpO3JldHVybiBzPDAmJihzPVEocitzLDApKSxSdChuLHQscyl9ZnVuY3Rpb24gVGgobil7dmFyIHQ9bj09bnVsbD8wOm4ubGVuZ3RoO3JldHVybiB0P0NuKG4sMCwtMSk6W119dmFyIExoPVQoZnVuY3Rpb24obil7dmFyIHQ9RyhuLHVpKTtyZXR1cm4gdC5sZW5ndGgmJnRbMF09PT1uWzBdP1FyKHQpOltdfSksRGg9VChmdW5jdGlvbihuKXt2YXIgdD1JbihuKSxlPUcobix1aSk7cmV0dXJuIHQ9PT1JbihlKT90PWk6ZS5wb3AoKSxlLmxlbmd0aCYmZVswXT09PW5bMF0/UXIoZSx4KHQsMikpOltdfSksTmg9VChmdW5jdGlvbihuKXt2YXIgdD1JbihuKSxlPUcobix1aSk7cmV0dXJuIHQ9dHlwZW9mIHQ9PVwiZnVuY3Rpb25cIj90OmksdCYmZS5wb3AoKSxlLmxlbmd0aCYmZVswXT09PW5bMF0/UXIoZSxpLHQpOltdfSk7ZnVuY3Rpb24gSGgobix0KXtyZXR1cm4gbj09bnVsbD9cIlwiOlRmLmNhbGwobix0KX1mdW5jdGlvbiBJbihuKXt2YXIgdD1uPT1udWxsPzA6bi5sZW5ndGg7cmV0dXJuIHQ/blt0LTFdOml9ZnVuY3Rpb24gJGgobix0LGUpe3ZhciByPW49PW51bGw/MDpuLmxlbmd0aDtpZighcilyZXR1cm4tMTt2YXIgcz1yO3JldHVybiBlIT09aSYmKHM9UihlKSxzPXM8MD9RKHIrcywwKTpubihzLHItMSkpLHQ9PT10P2dmKG4sdCxzKTp4ZShuLENzLHMsITApfWZ1bmN0aW9uIFVoKG4sdCl7cmV0dXJuIG4mJm4ubGVuZ3RoP2pzKG4sUih0KSk6aX12YXIgV2g9VChHdSk7ZnVuY3Rpb24gR3Uobix0KXtyZXR1cm4gbiYmbi5sZW5ndGgmJnQmJnQubGVuZ3RoP25pKG4sdCk6bn1mdW5jdGlvbiBGaChuLHQsZSl7cmV0dXJuIG4mJm4ubGVuZ3RoJiZ0JiZ0Lmxlbmd0aD9uaShuLHQseChlLDIpKTpufWZ1bmN0aW9uIE1oKG4sdCxlKXtyZXR1cm4gbiYmbi5sZW5ndGgmJnQmJnQubGVuZ3RoP25pKG4sdCxpLGUpOm59dmFyIHFoPVpuKGZ1bmN0aW9uKG4sdCl7dmFyIGU9bj09bnVsbD8wOm4ubGVuZ3RoLHI9WXIobix0KTtyZXR1cm4gZXUobixHKHQsZnVuY3Rpb24ocyl7cmV0dXJuIEpuKHMsZSk/K3M6c30pLnNvcnQobHUpKSxyfSk7ZnVuY3Rpb24gQmgobix0KXt2YXIgZT1bXTtpZighKG4mJm4ubGVuZ3RoKSlyZXR1cm4gZTt2YXIgcj0tMSxzPVtdLG89bi5sZW5ndGg7Zm9yKHQ9eCh0LDMpOysrcjxvOyl7dmFyIGY9bltyXTt0KGYscixuKSYmKGUucHVzaChmKSxzLnB1c2gocikpfXJldHVybiBldShuLHMpLGV9ZnVuY3Rpb24gUGkobil7cmV0dXJuIG49PW51bGw/bjpIZi5jYWxsKG4pfWZ1bmN0aW9uIEdoKG4sdCxlKXt2YXIgcj1uPT1udWxsPzA6bi5sZW5ndGg7cmV0dXJuIHI/KGUmJnR5cGVvZiBlIT1cIm51bWJlclwiJiZybihuLHQsZSk/KHQ9MCxlPXIpOih0PXQ9PW51bGw/MDpSKHQpLGU9ZT09PWk/cjpSKGUpKSxDbihuLHQsZSkpOltdfWZ1bmN0aW9uIHpoKG4sdCl7cmV0dXJuIHplKG4sdCl9ZnVuY3Rpb24gS2gobix0LGUpe3JldHVybiByaShuLHQseChlLDIpKX1mdW5jdGlvbiBZaChuLHQpe3ZhciBlPW49PW51bGw/MDpuLmxlbmd0aDtpZihlKXt2YXIgcj16ZShuLHQpO2lmKHI8ZSYmYm4obltyXSx0KSlyZXR1cm4gcn1yZXR1cm4tMX1mdW5jdGlvbiBaaChuLHQpe3JldHVybiB6ZShuLHQsITApfWZ1bmN0aW9uIEpoKG4sdCxlKXtyZXR1cm4gcmkobix0LHgoZSwyKSwhMCl9ZnVuY3Rpb24gWGgobix0KXt2YXIgZT1uPT1udWxsPzA6bi5sZW5ndGg7aWYoZSl7dmFyIHI9emUobix0LCEwKS0xO2lmKGJuKG5bcl0sdCkpcmV0dXJuIHJ9cmV0dXJuLTF9ZnVuY3Rpb24gUWgobil7cmV0dXJuIG4mJm4ubGVuZ3RoP2l1KG4pOltdfWZ1bmN0aW9uIFZoKG4sdCl7cmV0dXJuIG4mJm4ubGVuZ3RoP2l1KG4seCh0LDIpKTpbXX1mdW5jdGlvbiBraChuKXt2YXIgdD1uPT1udWxsPzA6bi5sZW5ndGg7cmV0dXJuIHQ/Q24obiwxLHQpOltdfWZ1bmN0aW9uIGpoKG4sdCxlKXtyZXR1cm4gbiYmbi5sZW5ndGg/KHQ9ZXx8dD09PWk/MTpSKHQpLENuKG4sMCx0PDA/MDp0KSk6W119ZnVuY3Rpb24gbmwobix0LGUpe3ZhciByPW49PW51bGw/MDpuLmxlbmd0aDtyZXR1cm4gcj8odD1lfHx0PT09aT8xOlIodCksdD1yLXQsQ24obix0PDA/MDp0LHIpKTpbXX1mdW5jdGlvbiB0bChuLHQpe3JldHVybiBuJiZuLmxlbmd0aD9LZShuLHgodCwzKSwhMSwhMCk6W119ZnVuY3Rpb24gZWwobix0KXtyZXR1cm4gbiYmbi5sZW5ndGg/S2Uobix4KHQsMykpOltdfXZhciBybD1UKGZ1bmN0aW9uKG4pe3JldHVybiBpdChqKG4sMSxZLCEwKSl9KSxpbD1UKGZ1bmN0aW9uKG4pe3ZhciB0PUluKG4pO3JldHVybiBZKHQpJiYodD1pKSxpdChqKG4sMSxZLCEwKSx4KHQsMikpfSksc2w9VChmdW5jdGlvbihuKXt2YXIgdD1JbihuKTtyZXR1cm4gdD10eXBlb2YgdD09XCJmdW5jdGlvblwiP3Q6aSxpdChqKG4sMSxZLCEwKSxpLHQpfSk7ZnVuY3Rpb24gdWwobil7cmV0dXJuIG4mJm4ubGVuZ3RoP2l0KG4pOltdfWZ1bmN0aW9uIGFsKG4sdCl7cmV0dXJuIG4mJm4ubGVuZ3RoP2l0KG4seCh0LDIpKTpbXX1mdW5jdGlvbiBvbChuLHQpe3JldHVybiB0PXR5cGVvZiB0PT1cImZ1bmN0aW9uXCI/dDppLG4mJm4ubGVuZ3RoP2l0KG4saSx0KTpbXX1mdW5jdGlvbiBBaShuKXtpZighKG4mJm4ubGVuZ3RoKSlyZXR1cm5bXTt2YXIgdD0wO3JldHVybiBuPWpuKG4sZnVuY3Rpb24oZSl7aWYoWShlKSlyZXR1cm4gdD1RKGUubGVuZ3RoLHQpLCEwfSksV3IodCxmdW5jdGlvbihlKXtyZXR1cm4gRyhuLEhyKGUpKX0pfWZ1bmN0aW9uIHp1KG4sdCl7aWYoIShuJiZuLmxlbmd0aCkpcmV0dXJuW107dmFyIGU9QWkobik7cmV0dXJuIHQ9PW51bGw/ZTpHKGUsZnVuY3Rpb24ocil7cmV0dXJuIGNuKHQsaSxyKX0pfXZhciBmbD1UKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFkobik/c2Uobix0KTpbXX0pLGNsPVQoZnVuY3Rpb24obil7cmV0dXJuIHNpKGpuKG4sWSkpfSksaGw9VChmdW5jdGlvbihuKXt2YXIgdD1JbihuKTtyZXR1cm4gWSh0KSYmKHQ9aSksc2koam4obixZKSx4KHQsMikpfSksbGw9VChmdW5jdGlvbihuKXt2YXIgdD1JbihuKTtyZXR1cm4gdD10eXBlb2YgdD09XCJmdW5jdGlvblwiP3Q6aSxzaShqbihuLFkpLGksdCl9KSxwbD1UKEFpKTtmdW5jdGlvbiBkbChuLHQpe3JldHVybiBvdShufHxbXSx0fHxbXSxpZSl9ZnVuY3Rpb24gZ2wobix0KXtyZXR1cm4gb3Uobnx8W10sdHx8W10sb2UpfXZhciB2bD1UKGZ1bmN0aW9uKG4pe3ZhciB0PW4ubGVuZ3RoLGU9dD4xP25bdC0xXTppO3JldHVybiBlPXR5cGVvZiBlPT1cImZ1bmN0aW9uXCI/KG4ucG9wKCksZSk6aSx6dShuLGUpfSk7ZnVuY3Rpb24gS3Uobil7dmFyIHQ9YShuKTtyZXR1cm4gdC5fX2NoYWluX189ITAsdH1mdW5jdGlvbiBfbChuLHQpe3JldHVybiB0KG4pLG59ZnVuY3Rpb24gbnIobix0KXtyZXR1cm4gdChuKX12YXIgbWw9Wm4oZnVuY3Rpb24obil7dmFyIHQ9bi5sZW5ndGgsZT10P25bMF06MCxyPXRoaXMuX193cmFwcGVkX18scz1mdW5jdGlvbihvKXtyZXR1cm4gWXIobyxuKX07cmV0dXJuIHQ+MXx8dGhpcy5fX2FjdGlvbnNfXy5sZW5ndGh8fCEociBpbnN0YW5jZW9mIE4pfHwhSm4oZSk/dGhpcy50aHJ1KHMpOihyPXIuc2xpY2UoZSwrZSsodD8xOjApKSxyLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6bnIsYXJnczpbc10sdGhpc0FyZzppfSksbmV3IFBuKHIsdGhpcy5fX2NoYWluX18pLnRocnUoZnVuY3Rpb24obyl7cmV0dXJuIHQmJiFvLmxlbmd0aCYmby5wdXNoKGkpLG99KSl9KTtmdW5jdGlvbiB3bCgpe3JldHVybiBLdSh0aGlzKX1mdW5jdGlvbiBQbCgpe3JldHVybiBuZXcgUG4odGhpcy52YWx1ZSgpLHRoaXMuX19jaGFpbl9fKX1mdW5jdGlvbiBBbCgpe3RoaXMuX192YWx1ZXNfXz09PWkmJih0aGlzLl9fdmFsdWVzX189c2EodGhpcy52YWx1ZSgpKSk7dmFyIG49dGhpcy5fX2luZGV4X18+PXRoaXMuX192YWx1ZXNfXy5sZW5ndGgsdD1uP2k6dGhpcy5fX3ZhbHVlc19fW3RoaXMuX19pbmRleF9fKytdO3JldHVybntkb25lOm4sdmFsdWU6dH19ZnVuY3Rpb24gQ2woKXtyZXR1cm4gdGhpc31mdW5jdGlvbiBJbChuKXtmb3IodmFyIHQsZT10aGlzO2UgaW5zdGFuY2VvZiBGZTspe3ZhciByPVd1KGUpO3IuX19pbmRleF9fPTAsci5fX3ZhbHVlc19fPWksdD9zLl9fd3JhcHBlZF9fPXI6dD1yO3ZhciBzPXI7ZT1lLl9fd3JhcHBlZF9ffXJldHVybiBzLl9fd3JhcHBlZF9fPW4sdH1mdW5jdGlvbiB4bCgpe3ZhciBuPXRoaXMuX193cmFwcGVkX187aWYobiBpbnN0YW5jZW9mIE4pe3ZhciB0PW47cmV0dXJuIHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoJiYodD1uZXcgTih0aGlzKSksdD10LnJldmVyc2UoKSx0Ll9fYWN0aW9uc19fLnB1c2goe2Z1bmM6bnIsYXJnczpbUGldLHRoaXNBcmc6aX0pLG5ldyBQbih0LHRoaXMuX19jaGFpbl9fKX1yZXR1cm4gdGhpcy50aHJ1KFBpKX1mdW5jdGlvbiBFbCgpe3JldHVybiBhdSh0aGlzLl9fd3JhcHBlZF9fLHRoaXMuX19hY3Rpb25zX18pfXZhciB5bD1ZZShmdW5jdGlvbihuLHQsZSl7Vy5jYWxsKG4sZSk/KytuW2VdOktuKG4sZSwxKX0pO2Z1bmN0aW9uIFNsKG4sdCxlKXt2YXIgcj1PKG4pP1BzOl9jO3JldHVybiBlJiZybihuLHQsZSkmJih0PWkpLHIobix4KHQsMykpfWZ1bmN0aW9uIE9sKG4sdCl7dmFyIGU9TyhuKT9qbjp6cztyZXR1cm4gZShuLHgodCwzKSl9dmFyIFJsPW11KEZ1KSxibD1tdShNdSk7ZnVuY3Rpb24gVGwobix0KXtyZXR1cm4gaih0cihuLHQpLDEpfWZ1bmN0aW9uIExsKG4sdCl7cmV0dXJuIGoodHIobix0KSxjdCl9ZnVuY3Rpb24gRGwobix0LGUpe3JldHVybiBlPWU9PT1pPzE6UihlKSxqKHRyKG4sdCksZSl9ZnVuY3Rpb24gWXUobix0KXt2YXIgZT1PKG4pP21uOnJ0O3JldHVybiBlKG4seCh0LDMpKX1mdW5jdGlvbiBadShuLHQpe3ZhciBlPU8obik/Vm86R3M7cmV0dXJuIGUobix4KHQsMykpfXZhciBObD1ZZShmdW5jdGlvbihuLHQsZSl7Vy5jYWxsKG4sZSk/bltlXS5wdXNoKHQpOktuKG4sZSxbdF0pfSk7ZnVuY3Rpb24gSGwobix0LGUscil7bj1hbihuKT9uOnF0KG4pLGU9ZSYmIXI/UihlKTowO3ZhciBzPW4ubGVuZ3RoO3JldHVybiBlPDAmJihlPVEocytlLDApKSx1cihuKT9lPD1zJiZuLmluZGV4T2YodCxlKT4tMTohIXMmJlJ0KG4sdCxlKT4tMX12YXIgJGw9VChmdW5jdGlvbihuLHQsZSl7dmFyIHI9LTEscz10eXBlb2YgdD09XCJmdW5jdGlvblwiLG89YW4obik/ZChuLmxlbmd0aCk6W107cmV0dXJuIHJ0KG4sZnVuY3Rpb24oZil7b1srK3JdPXM/Y24odCxmLGUpOnVlKGYsdCxlKX0pLG99KSxVbD1ZZShmdW5jdGlvbihuLHQsZSl7S24obixlLHQpfSk7ZnVuY3Rpb24gdHIobix0KXt2YXIgZT1PKG4pP0c6UXM7cmV0dXJuIGUobix4KHQsMykpfWZ1bmN0aW9uIFdsKG4sdCxlLHIpe3JldHVybiBuPT1udWxsP1tdOihPKHQpfHwodD10PT1udWxsP1tdOlt0XSksZT1yP2k6ZSxPKGUpfHwoZT1lPT1udWxsP1tdOltlXSksbnUobix0LGUpKX12YXIgRmw9WWUoZnVuY3Rpb24obix0LGUpe25bZT8wOjFdLnB1c2godCl9LGZ1bmN0aW9uKCl7cmV0dXJuW1tdLFtdXX0pO2Z1bmN0aW9uIE1sKG4sdCxlKXt2YXIgcj1PKG4pP0RyOnhzLHM9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiByKG4seCh0LDQpLGUscyxydCl9ZnVuY3Rpb24gcWwobix0LGUpe3ZhciByPU8obik/a286eHMscz1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIHIobix4KHQsNCksZSxzLEdzKX1mdW5jdGlvbiBCbChuLHQpe3ZhciBlPU8obik/am46enM7cmV0dXJuIGUobixpcih4KHQsMykpKX1mdW5jdGlvbiBHbChuKXt2YXIgdD1PKG4pP0ZzOkhjO3JldHVybiB0KG4pfWZ1bmN0aW9uIHpsKG4sdCxlKXsoZT9ybihuLHQsZSk6dD09PWkpP3Q9MTp0PVIodCk7dmFyIHI9TyhuKT9sYzokYztyZXR1cm4gcihuLHQpfWZ1bmN0aW9uIEtsKG4pe3ZhciB0PU8obik/cGM6V2M7cmV0dXJuIHQobil9ZnVuY3Rpb24gWWwobil7aWYobj09bnVsbClyZXR1cm4gMDtpZihhbihuKSlyZXR1cm4gdXIobik/VHQobik6bi5sZW5ndGg7dmFyIHQ9dG4obik7cmV0dXJuIHQ9PXlufHx0PT1Tbj9uLnNpemU6a3IobikubGVuZ3RofWZ1bmN0aW9uIFpsKG4sdCxlKXt2YXIgcj1PKG4pP05yOkZjO3JldHVybiBlJiZybihuLHQsZSkmJih0PWkpLHIobix4KHQsMykpfXZhciBKbD1UKGZ1bmN0aW9uKG4sdCl7aWYobj09bnVsbClyZXR1cm5bXTt2YXIgZT10Lmxlbmd0aDtyZXR1cm4gZT4xJiZybihuLHRbMF0sdFsxXSk/dD1bXTplPjImJnJuKHRbMF0sdFsxXSx0WzJdKSYmKHQ9W3RbMF1dKSxudShuLGoodCwxKSxbXSl9KSxlcj1PZnx8ZnVuY3Rpb24oKXtyZXR1cm4gay5EYXRlLm5vdygpfTtmdW5jdGlvbiBYbChuLHQpe2lmKHR5cGVvZiB0IT1cImZ1bmN0aW9uXCIpdGhyb3cgbmV3IHduKEYpO3JldHVybiBuPVIobiksZnVuY3Rpb24oKXtpZigtLW48MSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIEp1KG4sdCxlKXtyZXR1cm4gdD1lP2k6dCx0PW4mJnQ9PW51bGw/bi5sZW5ndGg6dCxZbihuLHFuLGksaSxpLGksdCl9ZnVuY3Rpb24gWHUobix0KXt2YXIgZTtpZih0eXBlb2YgdCE9XCJmdW5jdGlvblwiKXRocm93IG5ldyB3bihGKTtyZXR1cm4gbj1SKG4pLGZ1bmN0aW9uKCl7cmV0dXJuLS1uPjAmJihlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxuPD0xJiYodD1pKSxlfX12YXIgQ2k9VChmdW5jdGlvbihuLHQsZSl7dmFyIHI9dm47aWYoZS5sZW5ndGgpe3ZhciBzPXR0KGUsRnQoQ2kpKTtyfD1Obn1yZXR1cm4gWW4obixyLHQsZSxzKX0pLFF1PVQoZnVuY3Rpb24obix0LGUpe3ZhciByPXZufGZ0O2lmKGUubGVuZ3RoKXt2YXIgcz10dChlLEZ0KFF1KSk7cnw9Tm59cmV0dXJuIFluKHQscixuLGUscyl9KTtmdW5jdGlvbiBWdShuLHQsZSl7dD1lP2k6dDt2YXIgcj1ZbihuLERuLGksaSxpLGksaSx0KTtyZXR1cm4gci5wbGFjZWhvbGRlcj1WdS5wbGFjZWhvbGRlcixyfWZ1bmN0aW9uIGt1KG4sdCxlKXt0PWU/aTp0O3ZhciByPVluKG4seHQsaSxpLGksaSxpLHQpO3JldHVybiByLnBsYWNlaG9sZGVyPWt1LnBsYWNlaG9sZGVyLHJ9ZnVuY3Rpb24ganUobix0LGUpe3ZhciByLHMsbyxmLGMsbCx2PTAsXz0hMSxtPSExLHc9ITA7aWYodHlwZW9mIG4hPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgd24oRik7dD14bih0KXx8MCx6KGUpJiYoXz0hIWUubGVhZGluZyxtPVwibWF4V2FpdFwiaW4gZSxvPW0/USh4bihlLm1heFdhaXQpfHwwLHQpOm8sdz1cInRyYWlsaW5nXCJpbiBlPyEhZS50cmFpbGluZzp3KTtmdW5jdGlvbiBBKFope3ZhciBUbj1yLFZuPXM7cmV0dXJuIHI9cz1pLHY9WixmPW4uYXBwbHkoVm4sVG4pLGZ9ZnVuY3Rpb24gRShaKXtyZXR1cm4gdj1aLGM9aGUoTCx0KSxfP0EoWik6Zn1mdW5jdGlvbiBiKFope3ZhciBUbj1aLWwsVm49Wi12LG1hPXQtVG47cmV0dXJuIG0/bm4obWEsby1Wbik6bWF9ZnVuY3Rpb24geShaKXt2YXIgVG49Wi1sLFZuPVotdjtyZXR1cm4gbD09PWl8fFRuPj10fHxUbjwwfHxtJiZWbj49b31mdW5jdGlvbiBMKCl7dmFyIFo9ZXIoKTtpZih5KFopKXJldHVybiBIKFopO2M9aGUoTCxiKFopKX1mdW5jdGlvbiBIKFope3JldHVybiBjPWksdyYmcj9BKFopOihyPXM9aSxmKX1mdW5jdGlvbiBkbigpe2MhPT1pJiZmdShjKSx2PTAscj1sPXM9Yz1pfWZ1bmN0aW9uIHNuKCl7cmV0dXJuIGM9PT1pP2Y6SChlcigpKX1mdW5jdGlvbiBnbigpe3ZhciBaPWVyKCksVG49eShaKTtpZihyPWFyZ3VtZW50cyxzPXRoaXMsbD1aLFRuKXtpZihjPT09aSlyZXR1cm4gRShsKTtpZihtKXJldHVybiBmdShjKSxjPWhlKEwsdCksQShsKX1yZXR1cm4gYz09PWkmJihjPWhlKEwsdCkpLGZ9cmV0dXJuIGduLmNhbmNlbD1kbixnbi5mbHVzaD1zbixnbn12YXIgUWw9VChmdW5jdGlvbihuLHQpe3JldHVybiBCcyhuLDEsdCl9KSxWbD1UKGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gQnMobix4bih0KXx8MCxlKX0pO2Z1bmN0aW9uIGtsKG4pe3JldHVybiBZbihuLHByKX1mdW5jdGlvbiBycihuLHQpe2lmKHR5cGVvZiBuIT1cImZ1bmN0aW9uXCJ8fHQhPW51bGwmJnR5cGVvZiB0IT1cImZ1bmN0aW9uXCIpdGhyb3cgbmV3IHduKEYpO3ZhciBlPWZ1bmN0aW9uKCl7dmFyIHI9YXJndW1lbnRzLHM9dD90LmFwcGx5KHRoaXMscik6clswXSxvPWUuY2FjaGU7aWYoby5oYXMocykpcmV0dXJuIG8uZ2V0KHMpO3ZhciBmPW4uYXBwbHkodGhpcyxyKTtyZXR1cm4gZS5jYWNoZT1vLnNldChzLGYpfHxvLGZ9O3JldHVybiBlLmNhY2hlPW5ldyhyci5DYWNoZXx8em4pLGV9cnIuQ2FjaGU9em47ZnVuY3Rpb24gaXIobil7aWYodHlwZW9mIG4hPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgd24oRik7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzO3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAwOnJldHVybiFuLmNhbGwodGhpcyk7Y2FzZSAxOnJldHVybiFuLmNhbGwodGhpcyx0WzBdKTtjYXNlIDI6cmV0dXJuIW4uY2FsbCh0aGlzLHRbMF0sdFsxXSk7Y2FzZSAzOnJldHVybiFuLmNhbGwodGhpcyx0WzBdLHRbMV0sdFsyXSl9cmV0dXJuIW4uYXBwbHkodGhpcyx0KX19ZnVuY3Rpb24gamwobil7cmV0dXJuIFh1KDIsbil9dmFyIG5wPU1jKGZ1bmN0aW9uKG4sdCl7dD10Lmxlbmd0aD09MSYmTyh0WzBdKT9HKHRbMF0saG4oeCgpKSk6RyhqKHQsMSksaG4oeCgpKSk7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIFQoZnVuY3Rpb24ocil7Zm9yKHZhciBzPS0xLG89bm4oci5sZW5ndGgsZSk7KytzPG87KXJbc109dFtzXS5jYWxsKHRoaXMscltzXSk7cmV0dXJuIGNuKG4sdGhpcyxyKX0pfSksSWk9VChmdW5jdGlvbihuLHQpe3ZhciBlPXR0KHQsRnQoSWkpKTtyZXR1cm4gWW4obixObixpLHQsZSl9KSxuYT1UKGZ1bmN0aW9uKG4sdCl7dmFyIGU9dHQodCxGdChuYSkpO3JldHVybiBZbihuLEV0LGksdCxlKX0pLHRwPVpuKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIFluKG4senQsaSxpLGksdCl9KTtmdW5jdGlvbiBlcChuLHQpe2lmKHR5cGVvZiBuIT1cImZ1bmN0aW9uXCIpdGhyb3cgbmV3IHduKEYpO3JldHVybiB0PXQ9PT1pP3Q6Uih0KSxUKG4sdCl9ZnVuY3Rpb24gcnAobix0KXtpZih0eXBlb2YgbiE9XCJmdW5jdGlvblwiKXRocm93IG5ldyB3bihGKTtyZXR1cm4gdD10PT1udWxsPzA6UShSKHQpLDApLFQoZnVuY3Rpb24oZSl7dmFyIHI9ZVt0XSxzPXV0KGUsMCx0KTtyZXR1cm4gciYmbnQocyxyKSxjbihuLHRoaXMscyl9KX1mdW5jdGlvbiBpcChuLHQsZSl7dmFyIHI9ITAscz0hMDtpZih0eXBlb2YgbiE9XCJmdW5jdGlvblwiKXRocm93IG5ldyB3bihGKTtyZXR1cm4geihlKSYmKHI9XCJsZWFkaW5nXCJpbiBlPyEhZS5sZWFkaW5nOnIscz1cInRyYWlsaW5nXCJpbiBlPyEhZS50cmFpbGluZzpzKSxqdShuLHQse2xlYWRpbmc6cixtYXhXYWl0OnQsdHJhaWxpbmc6c30pfWZ1bmN0aW9uIHNwKG4pe3JldHVybiBKdShuLDEpfWZ1bmN0aW9uIHVwKG4sdCl7cmV0dXJuIElpKGFpKHQpLG4pfWZ1bmN0aW9uIGFwKCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuW107dmFyIG49YXJndW1lbnRzWzBdO3JldHVybiBPKG4pP246W25dfWZ1bmN0aW9uIG9wKG4pe3JldHVybiBBbihuLEN0KX1mdW5jdGlvbiBmcChuLHQpe3JldHVybiB0PXR5cGVvZiB0PT1cImZ1bmN0aW9uXCI/dDppLEFuKG4sQ3QsdCl9ZnVuY3Rpb24gY3Aobil7cmV0dXJuIEFuKG4sTG58Q3QpfWZ1bmN0aW9uIGhwKG4sdCl7cmV0dXJuIHQ9dHlwZW9mIHQ9PVwiZnVuY3Rpb25cIj90OmksQW4obixMbnxDdCx0KX1mdW5jdGlvbiBscChuLHQpe3JldHVybiB0PT1udWxsfHxxcyhuLHQsVih0KSl9ZnVuY3Rpb24gYm4obix0KXtyZXR1cm4gbj09PXR8fG4hPT1uJiZ0IT09dH12YXIgcHA9UWUoWHIpLGRwPVFlKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4+PXR9KSx3dD1acyhmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpP1pzOmZ1bmN0aW9uKG4pe3JldHVybiBLKG4pJiZXLmNhbGwobixcImNhbGxlZVwiKSYmIURzLmNhbGwobixcImNhbGxlZVwiKX0sTz1kLmlzQXJyYXksZ3A9ZHM/aG4oZHMpOkljO2Z1bmN0aW9uIGFuKG4pe3JldHVybiBuIT1udWxsJiZzcihuLmxlbmd0aCkmJiFYbihuKX1mdW5jdGlvbiBZKG4pe3JldHVybiBLKG4pJiZhbihuKX1mdW5jdGlvbiB2cChuKXtyZXR1cm4gbj09PSEwfHxuPT09ITF8fEsobikmJmVuKG4pPT1LdH12YXIgYXQ9YmZ8fE5pLF9wPWdzP2huKGdzKTp4YztmdW5jdGlvbiBtcChuKXtyZXR1cm4gSyhuKSYmbi5ub2RlVHlwZT09PTEmJiFsZShuKX1mdW5jdGlvbiB3cChuKXtpZihuPT1udWxsKXJldHVybiEwO2lmKGFuKG4pJiYoTyhuKXx8dHlwZW9mIG49PVwic3RyaW5nXCJ8fHR5cGVvZiBuLnNwbGljZT09XCJmdW5jdGlvblwifHxhdChuKXx8TXQobil8fHd0KG4pKSlyZXR1cm4hbi5sZW5ndGg7dmFyIHQ9dG4obik7aWYodD09eW58fHQ9PVNuKXJldHVybiFuLnNpemU7aWYoY2UobikpcmV0dXJuIWtyKG4pLmxlbmd0aDtmb3IodmFyIGUgaW4gbilpZihXLmNhbGwobixlKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBQcChuLHQpe3JldHVybiBhZShuLHQpfWZ1bmN0aW9uIEFwKG4sdCxlKXtlPXR5cGVvZiBlPT1cImZ1bmN0aW9uXCI/ZTppO3ZhciByPWU/ZShuLHQpOmk7cmV0dXJuIHI9PT1pP2FlKG4sdCxpLGUpOiEhcn1mdW5jdGlvbiB4aShuKXtpZighSyhuKSlyZXR1cm4hMTt2YXIgdD1lbihuKTtyZXR1cm4gdD09X2V8fHQ9PUJhfHx0eXBlb2Ygbi5tZXNzYWdlPT1cInN0cmluZ1wiJiZ0eXBlb2Ygbi5uYW1lPT1cInN0cmluZ1wiJiYhbGUobil9ZnVuY3Rpb24gQ3Aobil7cmV0dXJuIHR5cGVvZiBuPT1cIm51bWJlclwiJiZIcyhuKX1mdW5jdGlvbiBYbihuKXtpZigheihuKSlyZXR1cm4hMTt2YXIgdD1lbihuKTtyZXR1cm4gdD09bWV8fHQ9PUJpfHx0PT1xYXx8dD09emF9ZnVuY3Rpb24gdGEobil7cmV0dXJuIHR5cGVvZiBuPT1cIm51bWJlclwiJiZuPT1SKG4pfWZ1bmN0aW9uIHNyKG4pe3JldHVybiB0eXBlb2Ygbj09XCJudW1iZXJcIiYmbj4tMSYmbiUxPT0wJiZuPD1rbn1mdW5jdGlvbiB6KG4pe3ZhciB0PXR5cGVvZiBuO3JldHVybiBuIT1udWxsJiYodD09XCJvYmplY3RcInx8dD09XCJmdW5jdGlvblwiKX1mdW5jdGlvbiBLKG4pe3JldHVybiBuIT1udWxsJiZ0eXBlb2Ygbj09XCJvYmplY3RcIn12YXIgZWE9dnM/aG4odnMpOnljO2Z1bmN0aW9uIElwKG4sdCl7cmV0dXJuIG49PT10fHxWcihuLHQsZGkodCkpfWZ1bmN0aW9uIHhwKG4sdCxlKXtyZXR1cm4gZT10eXBlb2YgZT09XCJmdW5jdGlvblwiP2U6aSxWcihuLHQsZGkodCksZSl9ZnVuY3Rpb24gRXAobil7cmV0dXJuIHJhKG4pJiZuIT0rbn1mdW5jdGlvbiB5cChuKXtpZihmaChuKSl0aHJvdyBuZXcgUyhEKTtyZXR1cm4gSnMobil9ZnVuY3Rpb24gU3Aobil7cmV0dXJuIG49PT1udWxsfWZ1bmN0aW9uIE9wKG4pe3JldHVybiBuPT1udWxsfWZ1bmN0aW9uIHJhKG4pe3JldHVybiB0eXBlb2Ygbj09XCJudW1iZXJcInx8SyhuKSYmZW4obik9PVp0fWZ1bmN0aW9uIGxlKG4pe2lmKCFLKG4pfHxlbihuKSE9Qm4pcmV0dXJuITE7dmFyIHQ9TGUobik7aWYodD09PW51bGwpcmV0dXJuITA7dmFyIGU9Vy5jYWxsKHQsXCJjb25zdHJ1Y3RvclwiKSYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4gdHlwZW9mIGU9PVwiZnVuY3Rpb25cIiYmZSBpbnN0YW5jZW9mIGUmJk9lLmNhbGwoZSk9PXhmfXZhciBFaT1fcz9obihfcyk6U2M7ZnVuY3Rpb24gUnAobil7cmV0dXJuIHRhKG4pJiZuPj0ta24mJm48PWtufXZhciBpYT1tcz9obihtcyk6T2M7ZnVuY3Rpb24gdXIobil7cmV0dXJuIHR5cGVvZiBuPT1cInN0cmluZ1wifHwhTyhuKSYmSyhuKSYmZW4obik9PVh0fWZ1bmN0aW9uIHBuKG4pe3JldHVybiB0eXBlb2Ygbj09XCJzeW1ib2xcInx8SyhuKSYmZW4obik9PXdlfXZhciBNdD13cz9obih3cyk6UmM7ZnVuY3Rpb24gYnAobil7cmV0dXJuIG49PT1pfWZ1bmN0aW9uIFRwKG4pe3JldHVybiBLKG4pJiZ0bihuKT09UXR9ZnVuY3Rpb24gTHAobil7cmV0dXJuIEsobikmJmVuKG4pPT1ZYX12YXIgRHA9UWUoanIpLE5wPVFlKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG48PXR9KTtmdW5jdGlvbiBzYShuKXtpZighbilyZXR1cm5bXTtpZihhbihuKSlyZXR1cm4gdXIobik/T24obik6dW4obik7aWYoanQmJm5banRdKXJldHVybiBsZihuW2p0XSgpKTt2YXIgdD10bihuKSxlPXQ9PXluP01yOnQ9PVNuP0VlOnF0O3JldHVybiBlKG4pfWZ1bmN0aW9uIFFuKG4pe2lmKCFuKXJldHVybiBuPT09MD9uOjA7aWYobj14bihuKSxuPT09Y3R8fG49PT0tY3Qpe3ZhciB0PW48MD8tMToxO3JldHVybiB0KlVhfXJldHVybiBuPT09bj9uOjB9ZnVuY3Rpb24gUihuKXt2YXIgdD1RbihuKSxlPXQlMTtyZXR1cm4gdD09PXQ/ZT90LWU6dDowfWZ1bmN0aW9uIHVhKG4pe3JldHVybiBuP2d0KFIobiksMCxIbik6MH1mdW5jdGlvbiB4bihuKXtpZih0eXBlb2Ygbj09XCJudW1iZXJcIilyZXR1cm4gbjtpZihwbihuKSlyZXR1cm4gZ2U7aWYoeihuKSl7dmFyIHQ9dHlwZW9mIG4udmFsdWVPZj09XCJmdW5jdGlvblwiP24udmFsdWVPZigpOm47bj16KHQpP3QrXCJcIjp0fWlmKHR5cGVvZiBuIT1cInN0cmluZ1wiKXJldHVybiBuPT09MD9uOituO249RXMobik7dmFyIGU9cG8udGVzdChuKTtyZXR1cm4gZXx8dm8udGVzdChuKT9KbyhuLnNsaWNlKDIpLGU/Mjo4KTpsby50ZXN0KG4pP2dlOitufWZ1bmN0aW9uIGFhKG4pe3JldHVybiBVbihuLG9uKG4pKX1mdW5jdGlvbiBIcChuKXtyZXR1cm4gbj9ndChSKG4pLC1rbixrbik6bj09PTA/bjowfWZ1bmN0aW9uIFUobil7cmV0dXJuIG49PW51bGw/XCJcIjpsbihuKX12YXIgJHA9VXQoZnVuY3Rpb24obix0KXtpZihjZSh0KXx8YW4odCkpe1VuKHQsVih0KSxuKTtyZXR1cm59Zm9yKHZhciBlIGluIHQpVy5jYWxsKHQsZSkmJmllKG4sZSx0W2VdKX0pLG9hPVV0KGZ1bmN0aW9uKG4sdCl7VW4odCxvbih0KSxuKX0pLGFyPVV0KGZ1bmN0aW9uKG4sdCxlLHIpe1VuKHQsb24odCksbixyKX0pLFVwPVV0KGZ1bmN0aW9uKG4sdCxlLHIpe1VuKHQsVih0KSxuLHIpfSksV3A9Wm4oWXIpO2Z1bmN0aW9uIEZwKG4sdCl7dmFyIGU9JHQobik7cmV0dXJuIHQ9PW51bGw/ZTpNcyhlLHQpfXZhciBNcD1UKGZ1bmN0aW9uKG4sdCl7bj1NKG4pO3ZhciBlPS0xLHI9dC5sZW5ndGgscz1yPjI/dFsyXTppO2ZvcihzJiZybih0WzBdLHRbMV0scykmJihyPTEpOysrZTxyOylmb3IodmFyIG89dFtlXSxmPW9uKG8pLGM9LTEsbD1mLmxlbmd0aDsrK2M8bDspe3ZhciB2PWZbY10sXz1uW3ZdOyhfPT09aXx8Ym4oXyxEdFt2XSkmJiFXLmNhbGwobix2KSkmJihuW3ZdPW9bdl0pfXJldHVybiBufSkscXA9VChmdW5jdGlvbihuKXtyZXR1cm4gbi5wdXNoKGksRXUpLGNuKGZhLGksbil9KTtmdW5jdGlvbiBCcChuLHQpe3JldHVybiBBcyhuLHgodCwzKSwkbil9ZnVuY3Rpb24gR3Aobix0KXtyZXR1cm4gQXMobix4KHQsMyksSnIpfWZ1bmN0aW9uIHpwKG4sdCl7cmV0dXJuIG49PW51bGw/bjpacihuLHgodCwzKSxvbil9ZnVuY3Rpb24gS3Aobix0KXtyZXR1cm4gbj09bnVsbD9uOktzKG4seCh0LDMpLG9uKX1mdW5jdGlvbiBZcChuLHQpe3JldHVybiBuJiYkbihuLHgodCwzKSl9ZnVuY3Rpb24gWnAobix0KXtyZXR1cm4gbiYmSnIobix4KHQsMykpfWZ1bmN0aW9uIEpwKG4pe3JldHVybiBuPT1udWxsP1tdOkJlKG4sVihuKSl9ZnVuY3Rpb24gWHAobil7cmV0dXJuIG49PW51bGw/W106QmUobixvbihuKSl9ZnVuY3Rpb24geWkobix0LGUpe3ZhciByPW49PW51bGw/aTp2dChuLHQpO3JldHVybiByPT09aT9lOnJ9ZnVuY3Rpb24gUXAobix0KXtyZXR1cm4gbiE9bnVsbCYmT3Uobix0LHdjKX1mdW5jdGlvbiBTaShuLHQpe3JldHVybiBuIT1udWxsJiZPdShuLHQsUGMpfXZhciBWcD1QdShmdW5jdGlvbihuLHQsZSl7dCE9bnVsbCYmdHlwZW9mIHQudG9TdHJpbmchPVwiZnVuY3Rpb25cIiYmKHQ9UmUuY2FsbCh0KSksblt0XT1lfSxSaShmbikpLGtwPVB1KGZ1bmN0aW9uKG4sdCxlKXt0IT1udWxsJiZ0eXBlb2YgdC50b1N0cmluZyE9XCJmdW5jdGlvblwiJiYodD1SZS5jYWxsKHQpKSxXLmNhbGwobix0KT9uW3RdLnB1c2goZSk6blt0XT1bZV19LHgpLGpwPVQodWUpO2Z1bmN0aW9uIFYobil7cmV0dXJuIGFuKG4pP1dzKG4pOmtyKG4pfWZ1bmN0aW9uIG9uKG4pe3JldHVybiBhbihuKT9XcyhuLCEwKTpiYyhuKX1mdW5jdGlvbiBuZChuLHQpe3ZhciBlPXt9O3JldHVybiB0PXgodCwzKSwkbihuLGZ1bmN0aW9uKHIscyxvKXtLbihlLHQocixzLG8pLHIpfSksZX1mdW5jdGlvbiB0ZChuLHQpe3ZhciBlPXt9O3JldHVybiB0PXgodCwzKSwkbihuLGZ1bmN0aW9uKHIscyxvKXtLbihlLHMsdChyLHMsbykpfSksZX12YXIgZWQ9VXQoZnVuY3Rpb24obix0LGUpe0dlKG4sdCxlKX0pLGZhPVV0KGZ1bmN0aW9uKG4sdCxlLHIpe0dlKG4sdCxlLHIpfSkscmQ9Wm4oZnVuY3Rpb24obix0KXt2YXIgZT17fTtpZihuPT1udWxsKXJldHVybiBlO3ZhciByPSExO3Q9Ryh0LGZ1bmN0aW9uKG8pe3JldHVybiBvPXN0KG8sbikscnx8KHI9by5sZW5ndGg+MSksb30pLFVuKG4sbGkobiksZSksciYmKGU9QW4oZSxMbnxNbnxDdCxWYykpO2Zvcih2YXIgcz10Lmxlbmd0aDtzLS07KWlpKGUsdFtzXSk7cmV0dXJuIGV9KTtmdW5jdGlvbiBpZChuLHQpe3JldHVybiBjYShuLGlyKHgodCkpKX12YXIgc2Q9Wm4oZnVuY3Rpb24obix0KXtyZXR1cm4gbj09bnVsbD97fTpMYyhuLHQpfSk7ZnVuY3Rpb24gY2Eobix0KXtpZihuPT1udWxsKXJldHVybnt9O3ZhciBlPUcobGkobiksZnVuY3Rpb24ocil7cmV0dXJuW3JdfSk7cmV0dXJuIHQ9eCh0KSx0dShuLGUsZnVuY3Rpb24ocixzKXtyZXR1cm4gdChyLHNbMF0pfSl9ZnVuY3Rpb24gdWQobix0LGUpe3Q9c3QodCxuKTt2YXIgcj0tMSxzPXQubGVuZ3RoO2ZvcihzfHwocz0xLG49aSk7KytyPHM7KXt2YXIgbz1uPT1udWxsP2k6bltXbih0W3JdKV07bz09PWkmJihyPXMsbz1lKSxuPVhuKG8pP28uY2FsbChuKTpvfXJldHVybiBufWZ1bmN0aW9uIGFkKG4sdCxlKXtyZXR1cm4gbj09bnVsbD9uOm9lKG4sdCxlKX1mdW5jdGlvbiBvZChuLHQsZSxyKXtyZXR1cm4gcj10eXBlb2Ygcj09XCJmdW5jdGlvblwiP3I6aSxuPT1udWxsP246b2Uobix0LGUscil9dmFyIGhhPUl1KFYpLGxhPUl1KG9uKTtmdW5jdGlvbiBmZChuLHQsZSl7dmFyIHI9TyhuKSxzPXJ8fGF0KG4pfHxNdChuKTtpZih0PXgodCw0KSxlPT1udWxsKXt2YXIgbz1uJiZuLmNvbnN0cnVjdG9yO3M/ZT1yP25ldyBvOltdOnoobik/ZT1YbihvKT8kdChMZShuKSk6e306ZT17fX1yZXR1cm4ocz9tbjokbikobixmdW5jdGlvbihmLGMsbCl7cmV0dXJuIHQoZSxmLGMsbCl9KSxlfWZ1bmN0aW9uIGNkKG4sdCl7cmV0dXJuIG49PW51bGw/ITA6aWkobix0KX1mdW5jdGlvbiBoZChuLHQsZSl7cmV0dXJuIG49PW51bGw/bjp1dShuLHQsYWkoZSkpfWZ1bmN0aW9uIGxkKG4sdCxlLHIpe3JldHVybiByPXR5cGVvZiByPT1cImZ1bmN0aW9uXCI/cjppLG49PW51bGw/bjp1dShuLHQsYWkoZSkscil9ZnVuY3Rpb24gcXQobil7cmV0dXJuIG49PW51bGw/W106RnIobixWKG4pKX1mdW5jdGlvbiBwZChuKXtyZXR1cm4gbj09bnVsbD9bXTpGcihuLG9uKG4pKX1mdW5jdGlvbiBkZChuLHQsZSl7cmV0dXJuIGU9PT1pJiYoZT10LHQ9aSksZSE9PWkmJihlPXhuKGUpLGU9ZT09PWU/ZTowKSx0IT09aSYmKHQ9eG4odCksdD10PT09dD90OjApLGd0KHhuKG4pLHQsZSl9ZnVuY3Rpb24gZ2Qobix0LGUpe3JldHVybiB0PVFuKHQpLGU9PT1pPyhlPXQsdD0wKTplPVFuKGUpLG49eG4obiksQWMobix0LGUpfWZ1bmN0aW9uIHZkKG4sdCxlKXtpZihlJiZ0eXBlb2YgZSE9XCJib29sZWFuXCImJnJuKG4sdCxlKSYmKHQ9ZT1pKSxlPT09aSYmKHR5cGVvZiB0PT1cImJvb2xlYW5cIj8oZT10LHQ9aSk6dHlwZW9mIG49PVwiYm9vbGVhblwiJiYoZT1uLG49aSkpLG49PT1pJiZ0PT09aT8obj0wLHQ9MSk6KG49UW4obiksdD09PWk/KHQ9bixuPTApOnQ9UW4odCkpLG4+dCl7dmFyIHI9bjtuPXQsdD1yfWlmKGV8fG4lMXx8dCUxKXt2YXIgcz0kcygpO3JldHVybiBubihuK3MqKHQtbitabyhcIjFlLVwiKygocytcIlwiKS5sZW5ndGgtMSkpKSx0KX1yZXR1cm4gdGkobix0KX12YXIgX2Q9V3QoZnVuY3Rpb24obix0LGUpe3JldHVybiB0PXQudG9Mb3dlckNhc2UoKSxuKyhlP3BhKHQpOnQpfSk7ZnVuY3Rpb24gcGEobil7cmV0dXJuIE9pKFUobikudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gZGEobil7cmV0dXJuIG49VShuKSxuJiZuLnJlcGxhY2UobW8sYWYpLnJlcGxhY2UoVW8sXCJcIil9ZnVuY3Rpb24gbWQobix0LGUpe249VShuKSx0PWxuKHQpO3ZhciByPW4ubGVuZ3RoO2U9ZT09PWk/cjpndChSKGUpLDAscik7dmFyIHM9ZTtyZXR1cm4gZS09dC5sZW5ndGgsZT49MCYmbi5zbGljZShlLHMpPT10fWZ1bmN0aW9uIHdkKG4pe3JldHVybiBuPVUobiksbiYmVmEudGVzdChuKT9uLnJlcGxhY2UoS2ksb2YpOm59ZnVuY3Rpb24gUGQobil7cmV0dXJuIG49VShuKSxuJiZyby50ZXN0KG4pP24ucmVwbGFjZShJcixcIlxcXFwkJlwiKTpufXZhciBBZD1XdChmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4rKGU/XCItXCI6XCJcIikrdC50b0xvd2VyQ2FzZSgpfSksQ2Q9V3QoZnVuY3Rpb24obix0LGUpe3JldHVybiBuKyhlP1wiIFwiOlwiXCIpK3QudG9Mb3dlckNhc2UoKX0pLElkPV91KFwidG9Mb3dlckNhc2VcIik7ZnVuY3Rpb24geGQobix0LGUpe249VShuKSx0PVIodCk7dmFyIHI9dD9UdChuKTowO2lmKCF0fHxyPj10KXJldHVybiBuO3ZhciBzPSh0LXIpLzI7cmV0dXJuIFhlKCRlKHMpLGUpK24rWGUoSGUocyksZSl9ZnVuY3Rpb24gRWQobix0LGUpe249VShuKSx0PVIodCk7dmFyIHI9dD9UdChuKTowO3JldHVybiB0JiZyPHQ/bitYZSh0LXIsZSk6bn1mdW5jdGlvbiB5ZChuLHQsZSl7bj1VKG4pLHQ9Uih0KTt2YXIgcj10P1R0KG4pOjA7cmV0dXJuIHQmJnI8dD9YZSh0LXIsZSkrbjpufWZ1bmN0aW9uIFNkKG4sdCxlKXtyZXR1cm4gZXx8dD09bnVsbD90PTA6dCYmKHQ9K3QpLE5mKFUobikucmVwbGFjZSh4cixcIlwiKSx0fHwwKX1mdW5jdGlvbiBPZChuLHQsZSl7cmV0dXJuKGU/cm4obix0LGUpOnQ9PT1pKT90PTE6dD1SKHQpLGVpKFUobiksdCl9ZnVuY3Rpb24gUmQoKXt2YXIgbj1hcmd1bWVudHMsdD1VKG5bMF0pO3JldHVybiBuLmxlbmd0aDwzP3Q6dC5yZXBsYWNlKG5bMV0sblsyXSl9dmFyIGJkPVd0KGZ1bmN0aW9uKG4sdCxlKXtyZXR1cm4gbisoZT9cIl9cIjpcIlwiKSt0LnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiBUZChuLHQsZSl7cmV0dXJuIGUmJnR5cGVvZiBlIT1cIm51bWJlclwiJiZybihuLHQsZSkmJih0PWU9aSksZT1lPT09aT9IbjplPj4+MCxlPyhuPVUobiksbiYmKHR5cGVvZiB0PT1cInN0cmluZ1wifHx0IT1udWxsJiYhRWkodCkpJiYodD1sbih0KSwhdCYmYnQobikpP3V0KE9uKG4pLDAsZSk6bi5zcGxpdCh0LGUpKTpbXX12YXIgTGQ9V3QoZnVuY3Rpb24obix0LGUpe3JldHVybiBuKyhlP1wiIFwiOlwiXCIpK09pKHQpfSk7ZnVuY3Rpb24gRGQobix0LGUpe3JldHVybiBuPVUobiksZT1lPT1udWxsPzA6Z3QoUihlKSwwLG4ubGVuZ3RoKSx0PWxuKHQpLG4uc2xpY2UoZSxlK3QubGVuZ3RoKT09dH1mdW5jdGlvbiBOZChuLHQsZSl7dmFyIHI9YS50ZW1wbGF0ZVNldHRpbmdzO2UmJnJuKG4sdCxlKSYmKHQ9aSksbj1VKG4pLHQ9YXIoe30sdCxyLHh1KTt2YXIgcz1hcih7fSx0LmltcG9ydHMsci5pbXBvcnRzLHh1KSxvPVYocyksZj1GcihzLG8pLGMsbCx2PTAsXz10LmludGVycG9sYXRlfHxQZSxtPVwiX19wICs9ICdcIix3PXFyKCh0LmVzY2FwZXx8UGUpLnNvdXJjZStcInxcIitfLnNvdXJjZStcInxcIisoXz09PVlpP2hvOlBlKS5zb3VyY2UrXCJ8XCIrKHQuZXZhbHVhdGV8fFBlKS5zb3VyY2UrXCJ8JFwiLFwiZ1wiKSxBPVwiLy8jIHNvdXJjZVVSTD1cIisoVy5jYWxsKHQsXCJzb3VyY2VVUkxcIik/KHQuc291cmNlVVJMK1wiXCIpLnJlcGxhY2UoL1xccy9nLFwiIFwiKTpcImxvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbXCIrICsrQm8rXCJdXCIpK2BcbmA7bi5yZXBsYWNlKHcsZnVuY3Rpb24oeSxMLEgsZG4sc24sZ24pe3JldHVybiBIfHwoSD1kbiksbSs9bi5zbGljZSh2LGduKS5yZXBsYWNlKHdvLGZmKSxMJiYoYz0hMCxtKz1gJyArXG5fX2UoYCtMK2ApICtcbidgKSxzbiYmKGw9ITAsbSs9YCc7XG5gK3NuK2A7XG5fX3AgKz0gJ2ApLEgmJihtKz1gJyArXG4oKF9fdCA9IChgK0grYCkpID09IG51bGwgPyAnJyA6IF9fdCkgK1xuJ2ApLHY9Z24reS5sZW5ndGgseX0pLG0rPWAnO1xuYDt2YXIgRT1XLmNhbGwodCxcInZhcmlhYmxlXCIpJiZ0LnZhcmlhYmxlO2lmKCFFKW09YHdpdGggKG9iaikge1xuYCttK2Bcbn1cbmA7ZWxzZSBpZihmby50ZXN0KEUpKXRocm93IG5ldyBTKEZuKTttPShsP20ucmVwbGFjZShaYSxcIlwiKTptKS5yZXBsYWNlKEphLFwiJDFcIikucmVwbGFjZShYYSxcIiQxO1wiKSxtPVwiZnVuY3Rpb24oXCIrKEV8fFwib2JqXCIpK2ApIHtcbmArKEU/XCJcIjpgb2JqIHx8IChvYmogPSB7fSk7XG5gKStcInZhciBfX3QsIF9fcCA9ICcnXCIrKGM/XCIsIF9fZSA9IF8uZXNjYXBlXCI6XCJcIikrKGw/YCwgX19qID0gQXJyYXkucHJvdG90eXBlLmpvaW47XG5mdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cbmA6YDtcbmApK20rYHJldHVybiBfX3Bcbn1gO3ZhciBiPXZhKGZ1bmN0aW9uKCl7cmV0dXJuICQobyxBK1wicmV0dXJuIFwiK20pLmFwcGx5KGksZil9KTtpZihiLnNvdXJjZT1tLHhpKGIpKXRocm93IGI7cmV0dXJuIGJ9ZnVuY3Rpb24gSGQobil7cmV0dXJuIFUobikudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiAkZChuKXtyZXR1cm4gVShuKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFVkKG4sdCxlKXtpZihuPVUobiksbiYmKGV8fHQ9PT1pKSlyZXR1cm4gRXMobik7aWYoIW58fCEodD1sbih0KSkpcmV0dXJuIG47dmFyIHI9T24obikscz1Pbih0KSxvPXlzKHIscyksZj1TcyhyLHMpKzE7cmV0dXJuIHV0KHIsbyxmKS5qb2luKFwiXCIpfWZ1bmN0aW9uIFdkKG4sdCxlKXtpZihuPVUobiksbiYmKGV8fHQ9PT1pKSlyZXR1cm4gbi5zbGljZSgwLFJzKG4pKzEpO2lmKCFufHwhKHQ9bG4odCkpKXJldHVybiBuO3ZhciByPU9uKG4pLHM9U3MocixPbih0KSkrMTtyZXR1cm4gdXQociwwLHMpLmpvaW4oXCJcIil9ZnVuY3Rpb24gRmQobix0LGUpe2lmKG49VShuKSxuJiYoZXx8dD09PWkpKXJldHVybiBuLnJlcGxhY2UoeHIsXCJcIik7aWYoIW58fCEodD1sbih0KSkpcmV0dXJuIG47dmFyIHI9T24obikscz15cyhyLE9uKHQpKTtyZXR1cm4gdXQocixzKS5qb2luKFwiXCIpfWZ1bmN0aW9uIE1kKG4sdCl7dmFyIGU9VGEscj1MYTtpZih6KHQpKXt2YXIgcz1cInNlcGFyYXRvclwiaW4gdD90LnNlcGFyYXRvcjpzO2U9XCJsZW5ndGhcImluIHQ/Uih0Lmxlbmd0aCk6ZSxyPVwib21pc3Npb25cImluIHQ/bG4odC5vbWlzc2lvbik6cn1uPVUobik7dmFyIG89bi5sZW5ndGg7aWYoYnQobikpe3ZhciBmPU9uKG4pO289Zi5sZW5ndGh9aWYoZT49bylyZXR1cm4gbjt2YXIgYz1lLVR0KHIpO2lmKGM8MSlyZXR1cm4gcjt2YXIgbD1mP3V0KGYsMCxjKS5qb2luKFwiXCIpOm4uc2xpY2UoMCxjKTtpZihzPT09aSlyZXR1cm4gbCtyO2lmKGYmJihjKz1sLmxlbmd0aC1jKSxFaShzKSl7aWYobi5zbGljZShjKS5zZWFyY2gocykpe3ZhciB2LF89bDtmb3Iocy5nbG9iYWx8fChzPXFyKHMuc291cmNlLFUoWmkuZXhlYyhzKSkrXCJnXCIpKSxzLmxhc3RJbmRleD0wO3Y9cy5leGVjKF8pOyl2YXIgbT12LmluZGV4O2w9bC5zbGljZSgwLG09PT1pP2M6bSl9fWVsc2UgaWYobi5pbmRleE9mKGxuKHMpLGMpIT1jKXt2YXIgdz1sLmxhc3RJbmRleE9mKHMpO3c+LTEmJihsPWwuc2xpY2UoMCx3KSl9cmV0dXJuIGwrcn1mdW5jdGlvbiBxZChuKXtyZXR1cm4gbj1VKG4pLG4mJlFhLnRlc3Qobik/bi5yZXBsYWNlKHppLHZmKTpufXZhciBCZD1XdChmdW5jdGlvbihuLHQsZSl7cmV0dXJuIG4rKGU/XCIgXCI6XCJcIikrdC50b1VwcGVyQ2FzZSgpfSksT2k9X3UoXCJ0b1VwcGVyQ2FzZVwiKTtmdW5jdGlvbiBnYShuLHQsZSl7cmV0dXJuIG49VShuKSx0PWU/aTp0LHQ9PT1pP2hmKG4pP3dmKG4pOnRmKG4pOm4ubWF0Y2godCl8fFtdfXZhciB2YT1UKGZ1bmN0aW9uKG4sdCl7dHJ5e3JldHVybiBjbihuLGksdCl9Y2F0Y2goZSl7cmV0dXJuIHhpKGUpP2U6bmV3IFMoZSl9fSksR2Q9Wm4oZnVuY3Rpb24obix0KXtyZXR1cm4gbW4odCxmdW5jdGlvbihlKXtlPVduKGUpLEtuKG4sZSxDaShuW2VdLG4pKX0pLG59KTtmdW5jdGlvbiB6ZChuKXt2YXIgdD1uPT1udWxsPzA6bi5sZW5ndGgsZT14KCk7cmV0dXJuIG49dD9HKG4sZnVuY3Rpb24ocil7aWYodHlwZW9mIHJbMV0hPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgd24oRik7cmV0dXJuW2UoclswXSksclsxXV19KTpbXSxUKGZ1bmN0aW9uKHIpe2Zvcih2YXIgcz0tMTsrK3M8dDspe3ZhciBvPW5bc107aWYoY24ob1swXSx0aGlzLHIpKXJldHVybiBjbihvWzFdLHRoaXMscil9fSl9ZnVuY3Rpb24gS2Qobil7cmV0dXJuIHZjKEFuKG4sTG4pKX1mdW5jdGlvbiBSaShuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gWWQobix0KXtyZXR1cm4gbj09bnVsbHx8biE9PW4/dDpufXZhciBaZD13dSgpLEpkPXd1KCEwKTtmdW5jdGlvbiBmbihuKXtyZXR1cm4gbn1mdW5jdGlvbiBiaShuKXtyZXR1cm4gWHModHlwZW9mIG49PVwiZnVuY3Rpb25cIj9uOkFuKG4sTG4pKX1mdW5jdGlvbiBYZChuKXtyZXR1cm4gVnMoQW4obixMbikpfWZ1bmN0aW9uIFFkKG4sdCl7cmV0dXJuIGtzKG4sQW4odCxMbikpfXZhciBWZD1UKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB1ZShlLG4sdCl9fSksa2Q9VChmdW5jdGlvbihuLHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdWUobixlLHQpfX0pO2Z1bmN0aW9uIFRpKG4sdCxlKXt2YXIgcj1WKHQpLHM9QmUodCxyKTtlPT1udWxsJiYhKHoodCkmJihzLmxlbmd0aHx8IXIubGVuZ3RoKSkmJihlPXQsdD1uLG49dGhpcyxzPUJlKHQsVih0KSkpO3ZhciBvPSEoeihlKSYmXCJjaGFpblwiaW4gZSl8fCEhZS5jaGFpbixmPVhuKG4pO3JldHVybiBtbihzLGZ1bmN0aW9uKGMpe3ZhciBsPXRbY107bltjXT1sLGYmJihuLnByb3RvdHlwZVtjXT1mdW5jdGlvbigpe3ZhciB2PXRoaXMuX19jaGFpbl9fO2lmKG98fHYpe3ZhciBfPW4odGhpcy5fX3dyYXBwZWRfXyksbT1fLl9fYWN0aW9uc19fPXVuKHRoaXMuX19hY3Rpb25zX18pO3JldHVybiBtLnB1c2goe2Z1bmM6bCxhcmdzOmFyZ3VtZW50cyx0aGlzQXJnOm59KSxfLl9fY2hhaW5fXz12LF99cmV0dXJuIGwuYXBwbHkobixudChbdGhpcy52YWx1ZSgpXSxhcmd1bWVudHMpKX0pfSksbn1mdW5jdGlvbiBqZCgpe3JldHVybiBrLl89PT10aGlzJiYoay5fPUVmKSx0aGlzfWZ1bmN0aW9uIExpKCl7fWZ1bmN0aW9uIG5nKG4pe3JldHVybiBuPVIobiksVChmdW5jdGlvbih0KXtyZXR1cm4ganModCxuKX0pfXZhciB0Zz1maShHKSxlZz1maShQcykscmc9ZmkoTnIpO2Z1bmN0aW9uIF9hKG4pe3JldHVybiB2aShuKT9IcihXbihuKSk6RGMobil9ZnVuY3Rpb24gaWcobil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuPT1udWxsP2k6dnQobix0KX19dmFyIHNnPUF1KCksdWc9QXUoITApO2Z1bmN0aW9uIERpKCl7cmV0dXJuW119ZnVuY3Rpb24gTmkoKXtyZXR1cm4hMX1mdW5jdGlvbiBhZygpe3JldHVybnt9fWZ1bmN0aW9uIG9nKCl7cmV0dXJuXCJcIn1mdW5jdGlvbiBmZygpe3JldHVybiEwfWZ1bmN0aW9uIGNnKG4sdCl7aWYobj1SKG4pLG48MXx8bj5rbilyZXR1cm5bXTt2YXIgZT1IbixyPW5uKG4sSG4pO3Q9eCh0KSxuLT1Ibjtmb3IodmFyIHM9V3Iocix0KTsrK2U8bjspdChlKTtyZXR1cm4gc31mdW5jdGlvbiBoZyhuKXtyZXR1cm4gTyhuKT9HKG4sV24pOnBuKG4pP1tuXTp1bihVdShVKG4pKSl9ZnVuY3Rpb24gbGcobil7dmFyIHQ9KytJZjtyZXR1cm4gVShuKSt0fXZhciBwZz1KZShmdW5jdGlvbihuLHQpe3JldHVybiBuK3R9LDApLGRnPWNpKFwiY2VpbFwiKSxnZz1KZShmdW5jdGlvbihuLHQpe3JldHVybiBuL3R9LDEpLHZnPWNpKFwiZmxvb3JcIik7ZnVuY3Rpb24gX2cobil7cmV0dXJuIG4mJm4ubGVuZ3RoP3FlKG4sZm4sWHIpOml9ZnVuY3Rpb24gbWcobix0KXtyZXR1cm4gbiYmbi5sZW5ndGg/cWUobix4KHQsMiksWHIpOml9ZnVuY3Rpb24gd2cobil7cmV0dXJuIElzKG4sZm4pfWZ1bmN0aW9uIFBnKG4sdCl7cmV0dXJuIElzKG4seCh0LDIpKX1mdW5jdGlvbiBBZyhuKXtyZXR1cm4gbiYmbi5sZW5ndGg/cWUobixmbixqcik6aX1mdW5jdGlvbiBDZyhuLHQpe3JldHVybiBuJiZuLmxlbmd0aD9xZShuLHgodCwyKSxqcik6aX12YXIgSWc9SmUoZnVuY3Rpb24obix0KXtyZXR1cm4gbip0fSwxKSx4Zz1jaShcInJvdW5kXCIpLEVnPUplKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4tdH0sMCk7ZnVuY3Rpb24geWcobil7cmV0dXJuIG4mJm4ubGVuZ3RoP1VyKG4sZm4pOjB9ZnVuY3Rpb24gU2cobix0KXtyZXR1cm4gbiYmbi5sZW5ndGg/VXIobix4KHQsMikpOjB9cmV0dXJuIGEuYWZ0ZXI9WGwsYS5hcnk9SnUsYS5hc3NpZ249JHAsYS5hc3NpZ25Jbj1vYSxhLmFzc2lnbkluV2l0aD1hcixhLmFzc2lnbldpdGg9VXAsYS5hdD1XcCxhLmJlZm9yZT1YdSxhLmJpbmQ9Q2ksYS5iaW5kQWxsPUdkLGEuYmluZEtleT1RdSxhLmNhc3RBcnJheT1hcCxhLmNoYWluPUt1LGEuY2h1bms9dmgsYS5jb21wYWN0PV9oLGEuY29uY2F0PW1oLGEuY29uZD16ZCxhLmNvbmZvcm1zPUtkLGEuY29uc3RhbnQ9UmksYS5jb3VudEJ5PXlsLGEuY3JlYXRlPUZwLGEuY3Vycnk9VnUsYS5jdXJyeVJpZ2h0PWt1LGEuZGVib3VuY2U9anUsYS5kZWZhdWx0cz1NcCxhLmRlZmF1bHRzRGVlcD1xcCxhLmRlZmVyPVFsLGEuZGVsYXk9VmwsYS5kaWZmZXJlbmNlPXdoLGEuZGlmZmVyZW5jZUJ5PVBoLGEuZGlmZmVyZW5jZVdpdGg9QWgsYS5kcm9wPUNoLGEuZHJvcFJpZ2h0PUloLGEuZHJvcFJpZ2h0V2hpbGU9eGgsYS5kcm9wV2hpbGU9RWgsYS5maWxsPXloLGEuZmlsdGVyPU9sLGEuZmxhdE1hcD1UbCxhLmZsYXRNYXBEZWVwPUxsLGEuZmxhdE1hcERlcHRoPURsLGEuZmxhdHRlbj1xdSxhLmZsYXR0ZW5EZWVwPVNoLGEuZmxhdHRlbkRlcHRoPU9oLGEuZmxpcD1rbCxhLmZsb3c9WmQsYS5mbG93UmlnaHQ9SmQsYS5mcm9tUGFpcnM9UmgsYS5mdW5jdGlvbnM9SnAsYS5mdW5jdGlvbnNJbj1YcCxhLmdyb3VwQnk9TmwsYS5pbml0aWFsPVRoLGEuaW50ZXJzZWN0aW9uPUxoLGEuaW50ZXJzZWN0aW9uQnk9RGgsYS5pbnRlcnNlY3Rpb25XaXRoPU5oLGEuaW52ZXJ0PVZwLGEuaW52ZXJ0Qnk9a3AsYS5pbnZva2VNYXA9JGwsYS5pdGVyYXRlZT1iaSxhLmtleUJ5PVVsLGEua2V5cz1WLGEua2V5c0luPW9uLGEubWFwPXRyLGEubWFwS2V5cz1uZCxhLm1hcFZhbHVlcz10ZCxhLm1hdGNoZXM9WGQsYS5tYXRjaGVzUHJvcGVydHk9UWQsYS5tZW1vaXplPXJyLGEubWVyZ2U9ZWQsYS5tZXJnZVdpdGg9ZmEsYS5tZXRob2Q9VmQsYS5tZXRob2RPZj1rZCxhLm1peGluPVRpLGEubmVnYXRlPWlyLGEubnRoQXJnPW5nLGEub21pdD1yZCxhLm9taXRCeT1pZCxhLm9uY2U9amwsYS5vcmRlckJ5PVdsLGEub3Zlcj10ZyxhLm92ZXJBcmdzPW5wLGEub3ZlckV2ZXJ5PWVnLGEub3ZlclNvbWU9cmcsYS5wYXJ0aWFsPUlpLGEucGFydGlhbFJpZ2h0PW5hLGEucGFydGl0aW9uPUZsLGEucGljaz1zZCxhLnBpY2tCeT1jYSxhLnByb3BlcnR5PV9hLGEucHJvcGVydHlPZj1pZyxhLnB1bGw9V2gsYS5wdWxsQWxsPUd1LGEucHVsbEFsbEJ5PUZoLGEucHVsbEFsbFdpdGg9TWgsYS5wdWxsQXQ9cWgsYS5yYW5nZT1zZyxhLnJhbmdlUmlnaHQ9dWcsYS5yZWFyZz10cCxhLnJlamVjdD1CbCxhLnJlbW92ZT1CaCxhLnJlc3Q9ZXAsYS5yZXZlcnNlPVBpLGEuc2FtcGxlU2l6ZT16bCxhLnNldD1hZCxhLnNldFdpdGg9b2QsYS5zaHVmZmxlPUtsLGEuc2xpY2U9R2gsYS5zb3J0Qnk9SmwsYS5zb3J0ZWRVbmlxPVFoLGEuc29ydGVkVW5pcUJ5PVZoLGEuc3BsaXQ9VGQsYS5zcHJlYWQ9cnAsYS50YWlsPWtoLGEudGFrZT1qaCxhLnRha2VSaWdodD1ubCxhLnRha2VSaWdodFdoaWxlPXRsLGEudGFrZVdoaWxlPWVsLGEudGFwPV9sLGEudGhyb3R0bGU9aXAsYS50aHJ1PW5yLGEudG9BcnJheT1zYSxhLnRvUGFpcnM9aGEsYS50b1BhaXJzSW49bGEsYS50b1BhdGg9aGcsYS50b1BsYWluT2JqZWN0PWFhLGEudHJhbnNmb3JtPWZkLGEudW5hcnk9c3AsYS51bmlvbj1ybCxhLnVuaW9uQnk9aWwsYS51bmlvbldpdGg9c2wsYS51bmlxPXVsLGEudW5pcUJ5PWFsLGEudW5pcVdpdGg9b2wsYS51bnNldD1jZCxhLnVuemlwPUFpLGEudW56aXBXaXRoPXp1LGEudXBkYXRlPWhkLGEudXBkYXRlV2l0aD1sZCxhLnZhbHVlcz1xdCxhLnZhbHVlc0luPXBkLGEud2l0aG91dD1mbCxhLndvcmRzPWdhLGEud3JhcD11cCxhLnhvcj1jbCxhLnhvckJ5PWhsLGEueG9yV2l0aD1sbCxhLnppcD1wbCxhLnppcE9iamVjdD1kbCxhLnppcE9iamVjdERlZXA9Z2wsYS56aXBXaXRoPXZsLGEuZW50cmllcz1oYSxhLmVudHJpZXNJbj1sYSxhLmV4dGVuZD1vYSxhLmV4dGVuZFdpdGg9YXIsVGkoYSxhKSxhLmFkZD1wZyxhLmF0dGVtcHQ9dmEsYS5jYW1lbENhc2U9X2QsYS5jYXBpdGFsaXplPXBhLGEuY2VpbD1kZyxhLmNsYW1wPWRkLGEuY2xvbmU9b3AsYS5jbG9uZURlZXA9Y3AsYS5jbG9uZURlZXBXaXRoPWhwLGEuY2xvbmVXaXRoPWZwLGEuY29uZm9ybXNUbz1scCxhLmRlYnVycj1kYSxhLmRlZmF1bHRUbz1ZZCxhLmRpdmlkZT1nZyxhLmVuZHNXaXRoPW1kLGEuZXE9Ym4sYS5lc2NhcGU9d2QsYS5lc2NhcGVSZWdFeHA9UGQsYS5ldmVyeT1TbCxhLmZpbmQ9UmwsYS5maW5kSW5kZXg9RnUsYS5maW5kS2V5PUJwLGEuZmluZExhc3Q9YmwsYS5maW5kTGFzdEluZGV4PU11LGEuZmluZExhc3RLZXk9R3AsYS5mbG9vcj12ZyxhLmZvckVhY2g9WXUsYS5mb3JFYWNoUmlnaHQ9WnUsYS5mb3JJbj16cCxhLmZvckluUmlnaHQ9S3AsYS5mb3JPd249WXAsYS5mb3JPd25SaWdodD1acCxhLmdldD15aSxhLmd0PXBwLGEuZ3RlPWRwLGEuaGFzPVFwLGEuaGFzSW49U2ksYS5oZWFkPUJ1LGEuaWRlbnRpdHk9Zm4sYS5pbmNsdWRlcz1IbCxhLmluZGV4T2Y9YmgsYS5pblJhbmdlPWdkLGEuaW52b2tlPWpwLGEuaXNBcmd1bWVudHM9d3QsYS5pc0FycmF5PU8sYS5pc0FycmF5QnVmZmVyPWdwLGEuaXNBcnJheUxpa2U9YW4sYS5pc0FycmF5TGlrZU9iamVjdD1ZLGEuaXNCb29sZWFuPXZwLGEuaXNCdWZmZXI9YXQsYS5pc0RhdGU9X3AsYS5pc0VsZW1lbnQ9bXAsYS5pc0VtcHR5PXdwLGEuaXNFcXVhbD1QcCxhLmlzRXF1YWxXaXRoPUFwLGEuaXNFcnJvcj14aSxhLmlzRmluaXRlPUNwLGEuaXNGdW5jdGlvbj1YbixhLmlzSW50ZWdlcj10YSxhLmlzTGVuZ3RoPXNyLGEuaXNNYXA9ZWEsYS5pc01hdGNoPUlwLGEuaXNNYXRjaFdpdGg9eHAsYS5pc05hTj1FcCxhLmlzTmF0aXZlPXlwLGEuaXNOaWw9T3AsYS5pc051bGw9U3AsYS5pc051bWJlcj1yYSxhLmlzT2JqZWN0PXosYS5pc09iamVjdExpa2U9SyxhLmlzUGxhaW5PYmplY3Q9bGUsYS5pc1JlZ0V4cD1FaSxhLmlzU2FmZUludGVnZXI9UnAsYS5pc1NldD1pYSxhLmlzU3RyaW5nPXVyLGEuaXNTeW1ib2w9cG4sYS5pc1R5cGVkQXJyYXk9TXQsYS5pc1VuZGVmaW5lZD1icCxhLmlzV2Vha01hcD1UcCxhLmlzV2Vha1NldD1McCxhLmpvaW49SGgsYS5rZWJhYkNhc2U9QWQsYS5sYXN0PUluLGEubGFzdEluZGV4T2Y9JGgsYS5sb3dlckNhc2U9Q2QsYS5sb3dlckZpcnN0PUlkLGEubHQ9RHAsYS5sdGU9TnAsYS5tYXg9X2csYS5tYXhCeT1tZyxhLm1lYW49d2csYS5tZWFuQnk9UGcsYS5taW49QWcsYS5taW5CeT1DZyxhLnN0dWJBcnJheT1EaSxhLnN0dWJGYWxzZT1OaSxhLnN0dWJPYmplY3Q9YWcsYS5zdHViU3RyaW5nPW9nLGEuc3R1YlRydWU9ZmcsYS5tdWx0aXBseT1JZyxhLm50aD1VaCxhLm5vQ29uZmxpY3Q9amQsYS5ub29wPUxpLGEubm93PWVyLGEucGFkPXhkLGEucGFkRW5kPUVkLGEucGFkU3RhcnQ9eWQsYS5wYXJzZUludD1TZCxhLnJhbmRvbT12ZCxhLnJlZHVjZT1NbCxhLnJlZHVjZVJpZ2h0PXFsLGEucmVwZWF0PU9kLGEucmVwbGFjZT1SZCxhLnJlc3VsdD11ZCxhLnJvdW5kPXhnLGEucnVuSW5Db250ZXh0PWgsYS5zYW1wbGU9R2wsYS5zaXplPVlsLGEuc25ha2VDYXNlPWJkLGEuc29tZT1abCxhLnNvcnRlZEluZGV4PXpoLGEuc29ydGVkSW5kZXhCeT1LaCxhLnNvcnRlZEluZGV4T2Y9WWgsYS5zb3J0ZWRMYXN0SW5kZXg9WmgsYS5zb3J0ZWRMYXN0SW5kZXhCeT1KaCxhLnNvcnRlZExhc3RJbmRleE9mPVhoLGEuc3RhcnRDYXNlPUxkLGEuc3RhcnRzV2l0aD1EZCxhLnN1YnRyYWN0PUVnLGEuc3VtPXlnLGEuc3VtQnk9U2csYS50ZW1wbGF0ZT1OZCxhLnRpbWVzPWNnLGEudG9GaW5pdGU9UW4sYS50b0ludGVnZXI9UixhLnRvTGVuZ3RoPXVhLGEudG9Mb3dlcj1IZCxhLnRvTnVtYmVyPXhuLGEudG9TYWZlSW50ZWdlcj1IcCxhLnRvU3RyaW5nPVUsYS50b1VwcGVyPSRkLGEudHJpbT1VZCxhLnRyaW1FbmQ9V2QsYS50cmltU3RhcnQ9RmQsYS50cnVuY2F0ZT1NZCxhLnVuZXNjYXBlPXFkLGEudW5pcXVlSWQ9bGcsYS51cHBlckNhc2U9QmQsYS51cHBlckZpcnN0PU9pLGEuZWFjaD1ZdSxhLmVhY2hSaWdodD1adSxhLmZpcnN0PUJ1LFRpKGEsZnVuY3Rpb24oKXt2YXIgbj17fTtyZXR1cm4gJG4oYSxmdW5jdGlvbih0LGUpe1cuY2FsbChhLnByb3RvdHlwZSxlKXx8KG5bZV09dCl9KSxufSgpLHtjaGFpbjohMX0pLGEuVkVSU0lPTj1wLG1uKFtcImJpbmRcIixcImJpbmRLZXlcIixcImN1cnJ5XCIsXCJjdXJyeVJpZ2h0XCIsXCJwYXJ0aWFsXCIsXCJwYXJ0aWFsUmlnaHRcIl0sZnVuY3Rpb24obil7YVtuXS5wbGFjZWhvbGRlcj1hfSksbW4oW1wiZHJvcFwiLFwidGFrZVwiXSxmdW5jdGlvbihuLHQpe04ucHJvdG90eXBlW25dPWZ1bmN0aW9uKGUpe2U9ZT09PWk/MTpRKFIoZSksMCk7dmFyIHI9dGhpcy5fX2ZpbHRlcmVkX18mJiF0P25ldyBOKHRoaXMpOnRoaXMuY2xvbmUoKTtyZXR1cm4gci5fX2ZpbHRlcmVkX18/ci5fX3Rha2VDb3VudF9fPW5uKGUsci5fX3Rha2VDb3VudF9fKTpyLl9fdmlld3NfXy5wdXNoKHtzaXplOm5uKGUsSG4pLHR5cGU6bisoci5fX2Rpcl9fPDA/XCJSaWdodFwiOlwiXCIpfSkscn0sTi5wcm90b3R5cGVbbitcIlJpZ2h0XCJdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJldmVyc2UoKVtuXShlKS5yZXZlcnNlKCl9fSksbW4oW1wiZmlsdGVyXCIsXCJtYXBcIixcInRha2VXaGlsZVwiXSxmdW5jdGlvbihuLHQpe3ZhciBlPXQrMSxyPWU9PXFpfHxlPT0kYTtOLnByb3RvdHlwZVtuXT1mdW5jdGlvbihzKXt2YXIgbz10aGlzLmNsb25lKCk7cmV0dXJuIG8uX19pdGVyYXRlZXNfXy5wdXNoKHtpdGVyYXRlZTp4KHMsMyksdHlwZTplfSksby5fX2ZpbHRlcmVkX189by5fX2ZpbHRlcmVkX198fHIsb319KSxtbihbXCJoZWFkXCIsXCJsYXN0XCJdLGZ1bmN0aW9uKG4sdCl7dmFyIGU9XCJ0YWtlXCIrKHQ/XCJSaWdodFwiOlwiXCIpO04ucHJvdG90eXBlW25dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV0oMSkudmFsdWUoKVswXX19KSxtbihbXCJpbml0aWFsXCIsXCJ0YWlsXCJdLGZ1bmN0aW9uKG4sdCl7dmFyIGU9XCJkcm9wXCIrKHQ/XCJcIjpcIlJpZ2h0XCIpO04ucHJvdG90eXBlW25dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19maWx0ZXJlZF9fP25ldyBOKHRoaXMpOnRoaXNbZV0oMSl9fSksTi5wcm90b3R5cGUuY29tcGFjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcihmbil9LE4ucHJvdG90eXBlLmZpbmQ9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZmlsdGVyKG4pLmhlYWQoKX0sTi5wcm90b3R5cGUuZmluZExhc3Q9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucmV2ZXJzZSgpLmZpbmQobil9LE4ucHJvdG90eXBlLmludm9rZU1hcD1UKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHR5cGVvZiBuPT1cImZ1bmN0aW9uXCI/bmV3IE4odGhpcyk6dGhpcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHVlKGUsbix0KX0pfSksTi5wcm90b3R5cGUucmVqZWN0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmZpbHRlcihpcih4KG4pKSl9LE4ucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKG4sdCl7bj1SKG4pO3ZhciBlPXRoaXM7cmV0dXJuIGUuX19maWx0ZXJlZF9fJiYobj4wfHx0PDApP25ldyBOKGUpOihuPDA/ZT1lLnRha2VSaWdodCgtbik6biYmKGU9ZS5kcm9wKG4pKSx0IT09aSYmKHQ9Uih0KSxlPXQ8MD9lLmRyb3BSaWdodCgtdCk6ZS50YWtlKHQtbikpLGUpfSxOLnByb3RvdHlwZS50YWtlUmlnaHRXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkudGFrZVdoaWxlKG4pLnJldmVyc2UoKX0sTi5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRha2UoSG4pfSwkbihOLnByb3RvdHlwZSxmdW5jdGlvbihuLHQpe3ZhciBlPS9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KHQpLHI9L14oPzpoZWFkfGxhc3QpJC8udGVzdCh0KSxzPWFbcj9cInRha2VcIisodD09XCJsYXN0XCI/XCJSaWdodFwiOlwiXCIpOnRdLG89cnx8L15maW5kLy50ZXN0KHQpO3MmJihhLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3ZhciBmPXRoaXMuX193cmFwcGVkX18sYz1yP1sxXTphcmd1bWVudHMsbD1mIGluc3RhbmNlb2YgTix2PWNbMF0sXz1sfHxPKGYpLG09ZnVuY3Rpb24oTCl7dmFyIEg9cy5hcHBseShhLG50KFtMXSxjKSk7cmV0dXJuIHImJnc/SFswXTpIfTtfJiZlJiZ0eXBlb2Ygdj09XCJmdW5jdGlvblwiJiZ2Lmxlbmd0aCE9MSYmKGw9Xz0hMSk7dmFyIHc9dGhpcy5fX2NoYWluX18sQT0hIXRoaXMuX19hY3Rpb25zX18ubGVuZ3RoLEU9byYmIXcsYj1sJiYhQTtpZighbyYmXyl7Zj1iP2Y6bmV3IE4odGhpcyk7dmFyIHk9bi5hcHBseShmLGMpO3JldHVybiB5Ll9fYWN0aW9uc19fLnB1c2goe2Z1bmM6bnIsYXJnczpbbV0sdGhpc0FyZzppfSksbmV3IFBuKHksdyl9cmV0dXJuIEUmJmI/bi5hcHBseSh0aGlzLGMpOih5PXRoaXMudGhydShtKSxFP3I/eS52YWx1ZSgpWzBdOnkudmFsdWUoKTp5KX0pfSksbW4oW1wicG9wXCIsXCJwdXNoXCIsXCJzaGlmdFwiLFwic29ydFwiLFwic3BsaWNlXCIsXCJ1bnNoaWZ0XCJdLGZ1bmN0aW9uKG4pe3ZhciB0PXllW25dLGU9L14oPzpwdXNofHNvcnR8dW5zaGlmdCkkLy50ZXN0KG4pP1widGFwXCI6XCJ0aHJ1XCIscj0vXig/OnBvcHxzaGlmdCkkLy50ZXN0KG4pO2EucHJvdG90eXBlW25dPWZ1bmN0aW9uKCl7dmFyIHM9YXJndW1lbnRzO2lmKHImJiF0aGlzLl9fY2hhaW5fXyl7dmFyIG89dGhpcy52YWx1ZSgpO3JldHVybiB0LmFwcGx5KE8obyk/bzpbXSxzKX1yZXR1cm4gdGhpc1tlXShmdW5jdGlvbihmKXtyZXR1cm4gdC5hcHBseShPKGYpP2Y6W10scyl9KX19KSwkbihOLnByb3RvdHlwZSxmdW5jdGlvbihuLHQpe3ZhciBlPWFbdF07aWYoZSl7dmFyIHI9ZS5uYW1lK1wiXCI7Vy5jYWxsKEh0LHIpfHwoSHRbcl09W10pLEh0W3JdLnB1c2goe25hbWU6dCxmdW5jOmV9KX19KSxIdFtaZShpLGZ0KS5uYW1lXT1be25hbWU6XCJ3cmFwcGVyXCIsZnVuYzppfV0sTi5wcm90b3R5cGUuY2xvbmU9cWYsTi5wcm90b3R5cGUucmV2ZXJzZT1CZixOLnByb3RvdHlwZS52YWx1ZT1HZixhLnByb3RvdHlwZS5hdD1tbCxhLnByb3RvdHlwZS5jaGFpbj13bCxhLnByb3RvdHlwZS5jb21taXQ9UGwsYS5wcm90b3R5cGUubmV4dD1BbCxhLnByb3RvdHlwZS5wbGFudD1JbCxhLnByb3RvdHlwZS5yZXZlcnNlPXhsLGEucHJvdG90eXBlLnRvSlNPTj1hLnByb3RvdHlwZS52YWx1ZU9mPWEucHJvdG90eXBlLnZhbHVlPUVsLGEucHJvdG90eXBlLmZpcnN0PWEucHJvdG90eXBlLmhlYWQsanQmJihhLnByb3RvdHlwZVtqdF09Q2wpLGF9LEx0PVBmKCk7aHQ/KChodC5leHBvcnRzPUx0KS5fPUx0LGJyLl89THQpOmsuXz1MdH0pLmNhbGwocGUpfSkoJGksJGkuZXhwb3J0cyk7dmFyIEZnPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxNZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxxZz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyx4YT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEJnPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksR2c9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxFYT0oQyx1LGkpPT51IGluIEM/RmcoQyx1LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTppfSk6Q1t1XT1pLGZyPShDLHUpPT57Zm9yKHZhciBpIGluIHV8fCh1PXt9KSlCZy5jYWxsKHUsaSkmJkVhKEMsaSx1W2ldKTtpZih4YSlmb3IodmFyIGkgb2YgeGEodSkpR2cuY2FsbCh1LGkpJiZFYShDLGksdVtpXSk7cmV0dXJuIEN9LHpnPShDLHUpPT5NZyhDLHFnKHUpKTtmdW5jdGlvbiBFbihDLHUsaSl7bGV0IHA7Y29uc3QgST1VaShDKTtyZXR1cm4gdS5ycGNNYXAmJihwPXUucnBjTWFwW0ldKSxwfHwocD1gJHtXZ30/Y2hhaW5JZD1laXAxNTU6JHtJfSZwcm9qZWN0SWQ9JHtpfWApLHB9ZnVuY3Rpb24gVWkoQyl7cmV0dXJuIEMuaW5jbHVkZXMoXCJlaXAxNTVcIik/TnVtYmVyKEMuc3BsaXQoXCI6XCIpWzFdKTpOdW1iZXIoQyl9ZnVuY3Rpb24geWEoQyl7cmV0dXJuIEMubWFwKHU9PmAke3Uuc3BsaXQoXCI6XCIpWzBdfToke3Uuc3BsaXQoXCI6XCIpWzFdfWApfWZ1bmN0aW9uIEtnKEMsdSl7Y29uc3QgaT1PYmplY3Qua2V5cyh1Lm5hbWVzcGFjZXMpLmZpbHRlcihJPT5JLmluY2x1ZGVzKEMpKTtpZighaS5sZW5ndGgpcmV0dXJuW107Y29uc3QgcD1bXTtyZXR1cm4gaS5mb3JFYWNoKEk9Pntjb25zdCBEPXUubmFtZXNwYWNlc1tJXS5hY2NvdW50cztwLnB1c2goLi4uRCl9KSxwfWZ1bmN0aW9uIFlnKEM9e30sdT17fSl7Y29uc3QgaT1TYShDKSxwPVNhKHUpO3JldHVybiAkaS5leHBvcnRzLm1lcmdlKGkscCl9ZnVuY3Rpb24gU2EoQyl7dmFyIHUsaSxwLEk7Y29uc3QgRD17fTtpZighYmcoQykpcmV0dXJuIEQ7Zm9yKGNvbnN0W0YsRm5db2YgT2JqZWN0LmVudHJpZXMoQykpe2NvbnN0IEd0PXdhKEYpP1tGXTpGbi5jaGFpbnMsbHI9Rm4ubWV0aG9kc3x8W10sQXQ9Rm4uZXZlbnRzfHxbXSxMbj1Gbi5ycGNNYXB8fHt9LE1uPW9yKEYpO0RbTW5dPXpnKGZyKGZyKHt9LERbTW5dKSxGbikse2NoYWluczpIaShHdCwodT1EW01uXSk9PW51bGw/dm9pZCAwOnUuY2hhaW5zKSxtZXRob2RzOkhpKGxyLChpPURbTW5dKT09bnVsbD92b2lkIDA6aS5tZXRob2RzKSxldmVudHM6SGkoQXQsKHA9RFtNbl0pPT1udWxsP3ZvaWQgMDpwLmV2ZW50cykscnBjTWFwOmZyKGZyKHt9LExuKSwoST1EW01uXSk9PW51bGw/dm9pZCAwOkkucnBjTWFwKX0pfXJldHVybiBEfWZ1bmN0aW9uIFpnKEMpe3JldHVybiBDLmluY2x1ZGVzKFwiOlwiKT9DLnNwbGl0KFwiOlwiKVsyXTpDfWZ1bmN0aW9uIEpnKEMpe2NvbnN0IHU9e307Zm9yKGNvbnN0W2kscF1vZiBPYmplY3QuZW50cmllcyhDKSl7Y29uc3QgST1wLm1ldGhvZHN8fFtdLEQ9cC5ldmVudHN8fFtdLEY9cC5hY2NvdW50c3x8W10sRm49d2EoaSk/W2ldOnAuY2hhaW5zP3AuY2hhaW5zOnlhKHAuYWNjb3VudHMpO3VbaV09e2NoYWluczpGbixtZXRob2RzOkksZXZlbnRzOkQsYWNjb3VudHM6Rn19cmV0dXJuIHV9Y29uc3QgT2E9e30sSj1DPT5PYVtDXSxXaT0oQyx1KT0+e09hW0NdPXV9O2NsYXNzIFhne2NvbnN0cnVjdG9yKHUpe3RoaXMubmFtZT1cInBvbGthZG90XCIsdGhpcy5uYW1lc3BhY2U9dS5uYW1lc3BhY2UsdGhpcy5ldmVudHM9SihcImV2ZW50c1wiKSx0aGlzLmNsaWVudD1KKFwiY2xpZW50XCIpLHRoaXMuY2hhaW5JZD10aGlzLmdldERlZmF1bHRDaGFpbigpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKX11cGRhdGVOYW1lc3BhY2UodSl7dGhpcy5uYW1lc3BhY2U9T2JqZWN0LmFzc2lnbih0aGlzLm5hbWVzcGFjZSx1KX1yZXF1ZXN0QWNjb3VudHMoKXtyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpfWdldERlZmF1bHRDaGFpbigpe2lmKHRoaXMuY2hhaW5JZClyZXR1cm4gdGhpcy5jaGFpbklkO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IHU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCF1KXRocm93IG5ldyBFcnJvcihcIkNoYWluSWQgbm90IGZvdW5kXCIpO3JldHVybiB1LnNwbGl0KFwiOlwiKVsxXX1yZXF1ZXN0KHUpe3JldHVybiB0aGlzLm5hbWVzcGFjZS5tZXRob2RzLmluY2x1ZGVzKHUucmVxdWVzdC5tZXRob2QpP3RoaXMuY2xpZW50LnJlcXVlc3QodSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KHUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKHUsaSl7aWYodGhpcy5jaGFpbklkPXUsIXRoaXMuaHR0cFByb3ZpZGVyc1t1XSl7Y29uc3QgcD1pfHxFbihgJHt0aGlzLm5hbWV9OiR7dX1gLHRoaXMubmFtZXNwYWNlKTtpZighcCl0aHJvdyBuZXcgRXJyb3IoYE5vIFJQQyB1cmwgcHJvdmlkZWQgZm9yIGNoYWluSWQ6ICR7dX1gKTt0aGlzLnNldEh0dHBQcm92aWRlcih1LHApfXRoaXMuZXZlbnRzLmVtaXQob3QuREVGQVVMVF9DSEFJTl9DSEFOR0VELGAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCl9Z2V0QWNjb3VudHMoKXtjb25zdCB1PXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiB1P3UuZmlsdGVyKGk9Pmkuc3BsaXQoXCI6XCIpWzFdPT09dGhpcy5jaGFpbklkLnRvU3RyaW5nKCkpLm1hcChpPT5pLnNwbGl0KFwiOlwiKVsyXSl8fFtdOltdfWNyZWF0ZUh0dHBQcm92aWRlcnMoKXtjb25zdCB1PXt9O3JldHVybiB0aGlzLm5hbWVzcGFjZS5jaGFpbnMuZm9yRWFjaChpPT57dmFyIHA7dVtpXT10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihpLChwPXRoaXMubmFtZXNwYWNlLnJwY01hcCk9PW51bGw/dm9pZCAwOnBbaV0pfSksdX1nZXRIdHRwUHJvdmlkZXIoKXtjb25zdCB1PWAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCxpPXRoaXMuaHR0cFByb3ZpZGVyc1t1XTtpZih0eXBlb2YgaT5cInVcIil0aHJvdyBuZXcgRXJyb3IoYEpTT04tUlBDIHByb3ZpZGVyIGZvciAke3V9IG5vdCBmb3VuZGApO3JldHVybiBpfXNldEh0dHBQcm92aWRlcih1LGkpe2NvbnN0IHA9dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIodSxpKTtwJiYodGhpcy5odHRwUHJvdmlkZXJzW3VdPXApfWNyZWF0ZUh0dHBQcm92aWRlcih1LGkpe2NvbnN0IHA9aXx8RW4odSx0aGlzLm5hbWVzcGFjZSk7cmV0dXJuIHR5cGVvZiBwPlwidVwiP3ZvaWQgMDpuZXcgUHQobmV3IEJ0KHAsSihcImRpc2FibGVQcm92aWRlclBpbmdcIikpKX19Y2xhc3MgUWd7Y29uc3RydWN0b3IodSl7dGhpcy5uYW1lPVwiZWlwMTU1XCIsdGhpcy5uYW1lc3BhY2U9dS5uYW1lc3BhY2UsdGhpcy5ldmVudHM9SihcImV2ZW50c1wiKSx0aGlzLmNsaWVudD1KKFwiY2xpZW50XCIpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKSx0aGlzLmNoYWluSWQ9cGFyc2VJbnQodGhpcy5nZXREZWZhdWx0Q2hhaW4oKSl9YXN5bmMgcmVxdWVzdCh1KXtzd2l0Y2godS5yZXF1ZXN0Lm1ldGhvZCl7Y2FzZVwiZXRoX3JlcXVlc3RBY2NvdW50c1wiOnJldHVybiB0aGlzLmdldEFjY291bnRzKCk7Y2FzZVwiZXRoX2FjY291bnRzXCI6cmV0dXJuIHRoaXMuZ2V0QWNjb3VudHMoKTtjYXNlXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiOnJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVN3aXRjaENoYWluKHUpO2Nhc2VcImV0aF9jaGFpbklkXCI6cmV0dXJuIHBhcnNlSW50KHRoaXMuZ2V0RGVmYXVsdENoYWluKCkpfXJldHVybiB0aGlzLm5hbWVzcGFjZS5tZXRob2RzLmluY2x1ZGVzKHUucmVxdWVzdC5tZXRob2QpP2F3YWl0IHRoaXMuY2xpZW50LnJlcXVlc3QodSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KHUucmVxdWVzdCl9dXBkYXRlTmFtZXNwYWNlKHUpe3RoaXMubmFtZXNwYWNlPU9iamVjdC5hc3NpZ24odGhpcy5uYW1lc3BhY2UsdSl9c2V0RGVmYXVsdENoYWluKHUsaSl7Y29uc3QgcD1VaSh1KTtpZighdGhpcy5odHRwUHJvdmlkZXJzW3BdKXtjb25zdCBJPWl8fEVuKGAke3RoaXMubmFtZX06JHtwfWAsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO2lmKCFJKXRocm93IG5ldyBFcnJvcihgTm8gUlBDIHVybCBwcm92aWRlZCBmb3IgY2hhaW5JZDogJHtwfWApO3RoaXMuc2V0SHR0cFByb3ZpZGVyKHAsSSl9dGhpcy5jaGFpbklkPXAsdGhpcy5ldmVudHMuZW1pdChvdC5ERUZBVUxUX0NIQUlOX0NIQU5HRUQsYCR7dGhpcy5uYW1lfToke3B9YCl9cmVxdWVzdEFjY291bnRzKCl7cmV0dXJuIHRoaXMuZ2V0QWNjb3VudHMoKX1nZXREZWZhdWx0Q2hhaW4oKXtpZih0aGlzLmNoYWluSWQpcmV0dXJuIHRoaXMuY2hhaW5JZC50b1N0cmluZygpO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IHU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCF1KXRocm93IG5ldyBFcnJvcihcIkNoYWluSWQgbm90IGZvdW5kXCIpO3JldHVybiB1LnNwbGl0KFwiOlwiKVsxXX1jcmVhdGVIdHRwUHJvdmlkZXIodSxpKXtjb25zdCBwPWl8fEVuKGAke3RoaXMubmFtZX06JHt1fWAsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO3JldHVybiB0eXBlb2YgcD5cInVcIj92b2lkIDA6bmV3IFB0KG5ldyBEZyhwLEooXCJkaXNhYmxlUHJvdmlkZXJQaW5nXCIpKSl9c2V0SHR0cFByb3ZpZGVyKHUsaSl7Y29uc3QgcD10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcih1LGkpO3AmJih0aGlzLmh0dHBQcm92aWRlcnNbdV09cCl9Y3JlYXRlSHR0cFByb3ZpZGVycygpe2NvbnN0IHU9e307cmV0dXJuIHRoaXMubmFtZXNwYWNlLmNoYWlucy5mb3JFYWNoKGk9Pnt2YXIgcDtjb25zdCBJPVVpKGkpO3VbSV09dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIoSSwocD10aGlzLm5hbWVzcGFjZS5ycGNNYXApPT1udWxsP3ZvaWQgMDpwW2ldKX0pLHV9Z2V0QWNjb3VudHMoKXtjb25zdCB1PXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiB1P1suLi5uZXcgU2V0KHUuZmlsdGVyKGk9Pmkuc3BsaXQoXCI6XCIpWzFdPT09dGhpcy5jaGFpbklkLnRvU3RyaW5nKCkpLm1hcChpPT5pLnNwbGl0KFwiOlwiKVsyXSkpXTpbXX1nZXRIdHRwUHJvdmlkZXIoKXtjb25zdCB1PXRoaXMuY2hhaW5JZCxpPXRoaXMuaHR0cFByb3ZpZGVyc1t1XTtpZih0eXBlb2YgaT5cInVcIil0aHJvdyBuZXcgRXJyb3IoYEpTT04tUlBDIHByb3ZpZGVyIGZvciAke3V9IG5vdCBmb3VuZGApO3JldHVybiBpfWFzeW5jIGhhbmRsZVN3aXRjaENoYWluKHUpe3ZhciBpLHA7bGV0IEk9dS5yZXF1ZXN0LnBhcmFtcz8oaT11LnJlcXVlc3QucGFyYW1zWzBdKT09bnVsbD92b2lkIDA6aS5jaGFpbklkOlwiMHgwXCI7ST1JLnN0YXJ0c1dpdGgoXCIweFwiKT9JOmAweCR7SX1gO2NvbnN0IEQ9cGFyc2VJbnQoSSwxNik7aWYodGhpcy5pc0NoYWluQXBwcm92ZWQoRCkpdGhpcy5zZXREZWZhdWx0Q2hhaW4oYCR7RH1gKTtlbHNlIGlmKHRoaXMubmFtZXNwYWNlLm1ldGhvZHMuaW5jbHVkZXMoXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiKSlhd2FpdCB0aGlzLmNsaWVudC5yZXF1ZXN0KHt0b3BpYzp1LnRvcGljLHJlcXVlc3Q6e21ldGhvZDp1LnJlcXVlc3QubWV0aG9kLHBhcmFtczpbe2NoYWluSWQ6SX1dfSxjaGFpbklkOihwPXRoaXMubmFtZXNwYWNlLmNoYWlucyk9PW51bGw/dm9pZCAwOnBbMF19KSx0aGlzLnNldERlZmF1bHRDaGFpbihgJHtEfWApO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gc3dpdGNoIHRvIGNoYWluICdlaXAxNTU6JHtEfScuIFRoZSBjaGFpbiBpcyBub3QgYXBwcm92ZWQgb3IgdGhlIHdhbGxldCBkb2VzIG5vdCBzdXBwb3J0ICd3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpbicgbWV0aG9kLmApO3JldHVybiBudWxsfWlzQ2hhaW5BcHByb3ZlZCh1KXtyZXR1cm4gdGhpcy5uYW1lc3BhY2UuY2hhaW5zLmluY2x1ZGVzKGAke3RoaXMubmFtZX06JHt1fWApfX1jbGFzcyBWZ3tjb25zdHJ1Y3Rvcih1KXt0aGlzLm5hbWU9XCJzb2xhbmFcIix0aGlzLm5hbWVzcGFjZT11Lm5hbWVzcGFjZSx0aGlzLmV2ZW50cz1KKFwiZXZlbnRzXCIpLHRoaXMuY2xpZW50PUooXCJjbGllbnRcIiksdGhpcy5jaGFpbklkPXRoaXMuZ2V0RGVmYXVsdENoYWluKCksdGhpcy5odHRwUHJvdmlkZXJzPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVycygpfXVwZGF0ZU5hbWVzcGFjZSh1KXt0aGlzLm5hbWVzcGFjZT1PYmplY3QuYXNzaWduKHRoaXMubmFtZXNwYWNlLHUpfXJlcXVlc3RBY2NvdW50cygpe3JldHVybiB0aGlzLmdldEFjY291bnRzKCl9cmVxdWVzdCh1KXtyZXR1cm4gdGhpcy5uYW1lc3BhY2UubWV0aG9kcy5pbmNsdWRlcyh1LnJlcXVlc3QubWV0aG9kKT90aGlzLmNsaWVudC5yZXF1ZXN0KHUpOnRoaXMuZ2V0SHR0cFByb3ZpZGVyKCkucmVxdWVzdCh1LnJlcXVlc3QpfXNldERlZmF1bHRDaGFpbih1LGkpe2lmKCF0aGlzLmh0dHBQcm92aWRlcnNbdV0pe2NvbnN0IHA9aXx8RW4oYCR7dGhpcy5uYW1lfToke3V9YCx0aGlzLm5hbWVzcGFjZSx0aGlzLmNsaWVudC5jb3JlLnByb2plY3RJZCk7aWYoIXApdGhyb3cgbmV3IEVycm9yKGBObyBSUEMgdXJsIHByb3ZpZGVkIGZvciBjaGFpbklkOiAke3V9YCk7dGhpcy5zZXRIdHRwUHJvdmlkZXIodSxwKX10aGlzLmNoYWluSWQ9dSx0aGlzLmV2ZW50cy5lbWl0KG90LkRFRkFVTFRfQ0hBSU5fQ0hBTkdFRCxgJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWApfWdldERlZmF1bHRDaGFpbigpe2lmKHRoaXMuY2hhaW5JZClyZXR1cm4gdGhpcy5jaGFpbklkO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IHU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCF1KXRocm93IG5ldyBFcnJvcihcIkNoYWluSWQgbm90IGZvdW5kXCIpO3JldHVybiB1LnNwbGl0KFwiOlwiKVsxXX1nZXRBY2NvdW50cygpe2NvbnN0IHU9dGhpcy5uYW1lc3BhY2UuYWNjb3VudHM7cmV0dXJuIHU/Wy4uLm5ldyBTZXQodS5maWx0ZXIoaT0+aS5zcGxpdChcIjpcIilbMV09PT10aGlzLmNoYWluSWQudG9TdHJpbmcoKSkubWFwKGk9Pmkuc3BsaXQoXCI6XCIpWzJdKSldOltdfWNyZWF0ZUh0dHBQcm92aWRlcnMoKXtjb25zdCB1PXt9O3JldHVybiB0aGlzLm5hbWVzcGFjZS5jaGFpbnMuZm9yRWFjaChpPT57dmFyIHA7dVtpXT10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihpLChwPXRoaXMubmFtZXNwYWNlLnJwY01hcCk9PW51bGw/dm9pZCAwOnBbaV0pfSksdX1nZXRIdHRwUHJvdmlkZXIoKXtjb25zdCB1PWAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCxpPXRoaXMuaHR0cFByb3ZpZGVyc1t1XTtpZih0eXBlb2YgaT5cInVcIil0aHJvdyBuZXcgRXJyb3IoYEpTT04tUlBDIHByb3ZpZGVyIGZvciAke3V9IG5vdCBmb3VuZGApO3JldHVybiBpfXNldEh0dHBQcm92aWRlcih1LGkpe2NvbnN0IHA9dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIodSxpKTtwJiYodGhpcy5odHRwUHJvdmlkZXJzW3VdPXApfWNyZWF0ZUh0dHBQcm92aWRlcih1LGkpe2NvbnN0IHA9aXx8RW4odSx0aGlzLm5hbWVzcGFjZSx0aGlzLmNsaWVudC5jb3JlLnByb2plY3RJZCk7cmV0dXJuIHR5cGVvZiBwPlwidVwiP3ZvaWQgMDpuZXcgUHQobmV3IEJ0KHAsSihcImRpc2FibGVQcm92aWRlclBpbmdcIikpKX19Y2xhc3Mga2d7Y29uc3RydWN0b3IodSl7dGhpcy5uYW1lPVwiY29zbW9zXCIsdGhpcy5uYW1lc3BhY2U9dS5uYW1lc3BhY2UsdGhpcy5ldmVudHM9SihcImV2ZW50c1wiKSx0aGlzLmNsaWVudD1KKFwiY2xpZW50XCIpLHRoaXMuY2hhaW5JZD10aGlzLmdldERlZmF1bHRDaGFpbigpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKX11cGRhdGVOYW1lc3BhY2UodSl7dGhpcy5uYW1lc3BhY2U9T2JqZWN0LmFzc2lnbih0aGlzLm5hbWVzcGFjZSx1KX1yZXF1ZXN0QWNjb3VudHMoKXtyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpfWdldERlZmF1bHRDaGFpbigpe2lmKHRoaXMuY2hhaW5JZClyZXR1cm4gdGhpcy5jaGFpbklkO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IHU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCF1KXRocm93IG5ldyBFcnJvcihcIkNoYWluSWQgbm90IGZvdW5kXCIpO3JldHVybiB1LnNwbGl0KFwiOlwiKVsxXX1yZXF1ZXN0KHUpe3JldHVybiB0aGlzLm5hbWVzcGFjZS5tZXRob2RzLmluY2x1ZGVzKHUucmVxdWVzdC5tZXRob2QpP3RoaXMuY2xpZW50LnJlcXVlc3QodSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KHUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKHUsaSl7aWYodGhpcy5jaGFpbklkPXUsIXRoaXMuaHR0cFByb3ZpZGVyc1t1XSl7Y29uc3QgcD1pfHxFbihgJHt0aGlzLm5hbWV9OiR7dX1gLHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtpZighcCl0aHJvdyBuZXcgRXJyb3IoYE5vIFJQQyB1cmwgcHJvdmlkZWQgZm9yIGNoYWluSWQ6ICR7dX1gKTt0aGlzLnNldEh0dHBQcm92aWRlcih1LHApfXRoaXMuZXZlbnRzLmVtaXQob3QuREVGQVVMVF9DSEFJTl9DSEFOR0VELGAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCl9Z2V0QWNjb3VudHMoKXtjb25zdCB1PXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiB1P1suLi5uZXcgU2V0KHUuZmlsdGVyKGk9Pmkuc3BsaXQoXCI6XCIpWzFdPT09dGhpcy5jaGFpbklkLnRvU3RyaW5nKCkpLm1hcChpPT5pLnNwbGl0KFwiOlwiKVsyXSkpXTpbXX1jcmVhdGVIdHRwUHJvdmlkZXJzKCl7Y29uc3QgdT17fTtyZXR1cm4gdGhpcy5uYW1lc3BhY2UuY2hhaW5zLmZvckVhY2goaT0+e3ZhciBwO3VbaV09dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIoaSwocD10aGlzLm5hbWVzcGFjZS5ycGNNYXApPT1udWxsP3ZvaWQgMDpwW2ldKX0pLHV9Z2V0SHR0cFByb3ZpZGVyKCl7Y29uc3QgdT1gJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWAsaT10aGlzLmh0dHBQcm92aWRlcnNbdV07aWYodHlwZW9mIGk+XCJ1XCIpdGhyb3cgbmV3IEVycm9yKGBKU09OLVJQQyBwcm92aWRlciBmb3IgJHt1fSBub3QgZm91bmRgKTtyZXR1cm4gaX1zZXRIdHRwUHJvdmlkZXIodSxpKXtjb25zdCBwPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKHUsaSk7cCYmKHRoaXMuaHR0cFByb3ZpZGVyc1t1XT1wKX1jcmVhdGVIdHRwUHJvdmlkZXIodSxpKXtjb25zdCBwPWl8fEVuKHUsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO3JldHVybiB0eXBlb2YgcD5cInVcIj92b2lkIDA6bmV3IFB0KG5ldyBCdChwLEooXCJkaXNhYmxlUHJvdmlkZXJQaW5nXCIpKSl9fWNsYXNzIGpne2NvbnN0cnVjdG9yKHUpe3RoaXMubmFtZT1cImNpcDM0XCIsdGhpcy5uYW1lc3BhY2U9dS5uYW1lc3BhY2UsdGhpcy5ldmVudHM9SihcImV2ZW50c1wiKSx0aGlzLmNsaWVudD1KKFwiY2xpZW50XCIpLHRoaXMuY2hhaW5JZD10aGlzLmdldERlZmF1bHRDaGFpbigpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKX11cGRhdGVOYW1lc3BhY2UodSl7dGhpcy5uYW1lc3BhY2U9T2JqZWN0LmFzc2lnbih0aGlzLm5hbWVzcGFjZSx1KX1yZXF1ZXN0QWNjb3VudHMoKXtyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpfWdldERlZmF1bHRDaGFpbigpe2lmKHRoaXMuY2hhaW5JZClyZXR1cm4gdGhpcy5jaGFpbklkO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IHU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCF1KXRocm93IG5ldyBFcnJvcihcIkNoYWluSWQgbm90IGZvdW5kXCIpO3JldHVybiB1LnNwbGl0KFwiOlwiKVsxXX1yZXF1ZXN0KHUpe3JldHVybiB0aGlzLm5hbWVzcGFjZS5tZXRob2RzLmluY2x1ZGVzKHUucmVxdWVzdC5tZXRob2QpP3RoaXMuY2xpZW50LnJlcXVlc3QodSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KHUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKHUsaSl7aWYodGhpcy5jaGFpbklkPXUsIXRoaXMuaHR0cFByb3ZpZGVyc1t1XSl7Y29uc3QgcD1pfHx0aGlzLmdldENhcmRhbm9SUENVcmwodSk7aWYoIXApdGhyb3cgbmV3IEVycm9yKGBObyBSUEMgdXJsIHByb3ZpZGVkIGZvciBjaGFpbklkOiAke3V9YCk7dGhpcy5zZXRIdHRwUHJvdmlkZXIodSxwKX10aGlzLmV2ZW50cy5lbWl0KG90LkRFRkFVTFRfQ0hBSU5fQ0hBTkdFRCxgJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWApfWdldEFjY291bnRzKCl7Y29uc3QgdT10aGlzLm5hbWVzcGFjZS5hY2NvdW50cztyZXR1cm4gdT9bLi4ubmV3IFNldCh1LmZpbHRlcihpPT5pLnNwbGl0KFwiOlwiKVsxXT09PXRoaXMuY2hhaW5JZC50b1N0cmluZygpKS5tYXAoaT0+aS5zcGxpdChcIjpcIilbMl0pKV06W119Y3JlYXRlSHR0cFByb3ZpZGVycygpe2NvbnN0IHU9e307cmV0dXJuIHRoaXMubmFtZXNwYWNlLmNoYWlucy5mb3JFYWNoKGk9Pntjb25zdCBwPXRoaXMuZ2V0Q2FyZGFub1JQQ1VybChpKTt1W2ldPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKGkscCl9KSx1fWdldEh0dHBQcm92aWRlcigpe2NvbnN0IHU9YCR7dGhpcy5uYW1lfToke3RoaXMuY2hhaW5JZH1gLGk9dGhpcy5odHRwUHJvdmlkZXJzW3VdO2lmKHR5cGVvZiBpPlwidVwiKXRocm93IG5ldyBFcnJvcihgSlNPTi1SUEMgcHJvdmlkZXIgZm9yICR7dX0gbm90IGZvdW5kYCk7cmV0dXJuIGl9Z2V0Q2FyZGFub1JQQ1VybCh1KXtjb25zdCBpPXRoaXMubmFtZXNwYWNlLnJwY01hcDtpZihpKXJldHVybiBpW3VdfXNldEh0dHBQcm92aWRlcih1LGkpe2NvbnN0IHA9dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIodSxpKTtwJiYodGhpcy5odHRwUHJvdmlkZXJzW3VdPXApfWNyZWF0ZUh0dHBQcm92aWRlcih1LGkpe2NvbnN0IHA9aXx8dGhpcy5nZXRDYXJkYW5vUlBDVXJsKHUpO3JldHVybiB0eXBlb2YgcD5cInVcIj92b2lkIDA6bmV3IFB0KG5ldyBCdChwLEooXCJkaXNhYmxlUHJvdmlkZXJQaW5nXCIpKSl9fWNsYXNzIG52e2NvbnN0cnVjdG9yKHUpe3RoaXMubmFtZT1cImVscm9uZFwiLHRoaXMubmFtZXNwYWNlPXUubmFtZXNwYWNlLHRoaXMuZXZlbnRzPUooXCJldmVudHNcIiksdGhpcy5jbGllbnQ9SihcImNsaWVudFwiKSx0aGlzLmNoYWluSWQ9dGhpcy5nZXREZWZhdWx0Q2hhaW4oKSx0aGlzLmh0dHBQcm92aWRlcnM9dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXJzKCl9dXBkYXRlTmFtZXNwYWNlKHUpe3RoaXMubmFtZXNwYWNlPU9iamVjdC5hc3NpZ24odGhpcy5uYW1lc3BhY2UsdSl9cmVxdWVzdEFjY291bnRzKCl7cmV0dXJuIHRoaXMuZ2V0QWNjb3VudHMoKX1yZXF1ZXN0KHUpe3JldHVybiB0aGlzLm5hbWVzcGFjZS5tZXRob2RzLmluY2x1ZGVzKHUucmVxdWVzdC5tZXRob2QpP3RoaXMuY2xpZW50LnJlcXVlc3QodSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KHUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKHUsaSl7aWYoIXRoaXMuaHR0cFByb3ZpZGVyc1t1XSl7Y29uc3QgcD1pfHxFbihgJHt0aGlzLm5hbWV9OiR7dX1gLHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtpZighcCl0aHJvdyBuZXcgRXJyb3IoYE5vIFJQQyB1cmwgcHJvdmlkZWQgZm9yIGNoYWluSWQ6ICR7dX1gKTt0aGlzLnNldEh0dHBQcm92aWRlcih1LHApfXRoaXMuY2hhaW5JZD11LHRoaXMuZXZlbnRzLmVtaXQob3QuREVGQVVMVF9DSEFJTl9DSEFOR0VELGAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCl9Z2V0RGVmYXVsdENoYWluKCl7aWYodGhpcy5jaGFpbklkKXJldHVybiB0aGlzLmNoYWluSWQ7aWYodGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluKXJldHVybiB0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW47Y29uc3QgdT10aGlzLm5hbWVzcGFjZS5jaGFpbnNbMF07aWYoIXUpdGhyb3cgbmV3IEVycm9yKFwiQ2hhaW5JZCBub3QgZm91bmRcIik7cmV0dXJuIHUuc3BsaXQoXCI6XCIpWzFdfWdldEFjY291bnRzKCl7Y29uc3QgdT10aGlzLm5hbWVzcGFjZS5hY2NvdW50cztyZXR1cm4gdT9bLi4ubmV3IFNldCh1LmZpbHRlcihpPT5pLnNwbGl0KFwiOlwiKVsxXT09PXRoaXMuY2hhaW5JZC50b1N0cmluZygpKS5tYXAoaT0+aS5zcGxpdChcIjpcIilbMl0pKV06W119Y3JlYXRlSHR0cFByb3ZpZGVycygpe2NvbnN0IHU9e307cmV0dXJuIHRoaXMubmFtZXNwYWNlLmNoYWlucy5mb3JFYWNoKGk9Pnt2YXIgcDt1W2ldPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKGksKHA9dGhpcy5uYW1lc3BhY2UucnBjTWFwKT09bnVsbD92b2lkIDA6cFtpXSl9KSx1fWdldEh0dHBQcm92aWRlcigpe2NvbnN0IHU9YCR7dGhpcy5uYW1lfToke3RoaXMuY2hhaW5JZH1gLGk9dGhpcy5odHRwUHJvdmlkZXJzW3VdO2lmKHR5cGVvZiBpPlwidVwiKXRocm93IG5ldyBFcnJvcihgSlNPTi1SUEMgcHJvdmlkZXIgZm9yICR7dX0gbm90IGZvdW5kYCk7cmV0dXJuIGl9c2V0SHR0cFByb3ZpZGVyKHUsaSl7Y29uc3QgcD10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcih1LGkpO3AmJih0aGlzLmh0dHBQcm92aWRlcnNbdV09cCl9Y3JlYXRlSHR0cFByb3ZpZGVyKHUsaSl7Y29uc3QgcD1pfHxFbih1LHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtyZXR1cm4gdHlwZW9mIHA+XCJ1XCI/dm9pZCAwOm5ldyBQdChuZXcgQnQocCxKKFwiZGlzYWJsZVByb3ZpZGVyUGluZ1wiKSkpfX1jbGFzcyB0dntjb25zdHJ1Y3Rvcih1KXt0aGlzLm5hbWU9XCJtdWx0aXZlcnN4XCIsdGhpcy5uYW1lc3BhY2U9dS5uYW1lc3BhY2UsdGhpcy5ldmVudHM9SihcImV2ZW50c1wiKSx0aGlzLmNsaWVudD1KKFwiY2xpZW50XCIpLHRoaXMuY2hhaW5JZD10aGlzLmdldERlZmF1bHRDaGFpbigpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKX11cGRhdGVOYW1lc3BhY2UodSl7dGhpcy5uYW1lc3BhY2U9T2JqZWN0LmFzc2lnbih0aGlzLm5hbWVzcGFjZSx1KX1yZXF1ZXN0QWNjb3VudHMoKXtyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpfXJlcXVlc3QodSl7cmV0dXJuIHRoaXMubmFtZXNwYWNlLm1ldGhvZHMuaW5jbHVkZXModS5yZXF1ZXN0Lm1ldGhvZCk/dGhpcy5jbGllbnQucmVxdWVzdCh1KTp0aGlzLmdldEh0dHBQcm92aWRlcigpLnJlcXVlc3QodS5yZXF1ZXN0KX1zZXREZWZhdWx0Q2hhaW4odSxpKXtpZighdGhpcy5odHRwUHJvdmlkZXJzW3VdKXtjb25zdCBwPWl8fEVuKGAke3RoaXMubmFtZX06JHt1fWAsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO2lmKCFwKXRocm93IG5ldyBFcnJvcihgTm8gUlBDIHVybCBwcm92aWRlZCBmb3IgY2hhaW5JZDogJHt1fWApO3RoaXMuc2V0SHR0cFByb3ZpZGVyKHUscCl9dGhpcy5jaGFpbklkPXUsdGhpcy5ldmVudHMuZW1pdChvdC5ERUZBVUxUX0NIQUlOX0NIQU5HRUQsYCR7dGhpcy5uYW1lfToke3RoaXMuY2hhaW5JZH1gKX1nZXREZWZhdWx0Q2hhaW4oKXtpZih0aGlzLmNoYWluSWQpcmV0dXJuIHRoaXMuY2hhaW5JZDtpZih0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW4pcmV0dXJuIHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbjtjb25zdCB1PXRoaXMubmFtZXNwYWNlLmNoYWluc1swXTtpZighdSl0aHJvdyBuZXcgRXJyb3IoXCJDaGFpbklkIG5vdCBmb3VuZFwiKTtyZXR1cm4gdS5zcGxpdChcIjpcIilbMV19Z2V0QWNjb3VudHMoKXtjb25zdCB1PXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiB1P1suLi5uZXcgU2V0KHUuZmlsdGVyKGk9Pmkuc3BsaXQoXCI6XCIpWzFdPT09dGhpcy5jaGFpbklkLnRvU3RyaW5nKCkpLm1hcChpPT5pLnNwbGl0KFwiOlwiKVsyXSkpXTpbXX1jcmVhdGVIdHRwUHJvdmlkZXJzKCl7Y29uc3QgdT17fTtyZXR1cm4gdGhpcy5uYW1lc3BhY2UuY2hhaW5zLmZvckVhY2goaT0+e3ZhciBwO3VbaV09dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIoaSwocD10aGlzLm5hbWVzcGFjZS5ycGNNYXApPT1udWxsP3ZvaWQgMDpwW2ldKX0pLHV9Z2V0SHR0cFByb3ZpZGVyKCl7Y29uc3QgdT1gJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWAsaT10aGlzLmh0dHBQcm92aWRlcnNbdV07aWYodHlwZW9mIGk+XCJ1XCIpdGhyb3cgbmV3IEVycm9yKGBKU09OLVJQQyBwcm92aWRlciBmb3IgJHt1fSBub3QgZm91bmRgKTtyZXR1cm4gaX1zZXRIdHRwUHJvdmlkZXIodSxpKXtjb25zdCBwPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKHUsaSk7cCYmKHRoaXMuaHR0cFByb3ZpZGVyc1t1XT1wKX1jcmVhdGVIdHRwUHJvdmlkZXIodSxpKXtjb25zdCBwPWl8fEVuKHUsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO3JldHVybiB0eXBlb2YgcD5cInVcIj92b2lkIDA6bmV3IFB0KG5ldyBCdChwLEooXCJkaXNhYmxlUHJvdmlkZXJQaW5nXCIpKSl9fXZhciBldj1PYmplY3QuZGVmaW5lUHJvcGVydHkscnY9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsaXY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMsUmE9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxzdj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHV2PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsYmE9KEMsdSxpKT0+dSBpbiBDP2V2KEMsdSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aX0pOkNbdV09aSxjcj0oQyx1KT0+e2Zvcih2YXIgaSBpbiB1fHwodT17fSkpc3YuY2FsbCh1LGkpJiZiYShDLGksdVtpXSk7aWYoUmEpZm9yKHZhciBpIG9mIFJhKHUpKXV2LmNhbGwodSxpKSYmYmEoQyxpLHVbaV0pO3JldHVybiBDfSxGaT0oQyx1KT0+cnYoQyxpdih1KSk7Y2xhc3MgaHJ7Y29uc3RydWN0b3IodSl7dGhpcy5ldmVudHM9bmV3IE5nLHRoaXMucnBjUHJvdmlkZXJzPXt9LHRoaXMuc2hvdWxkQWJvcnRQYWlyaW5nQXR0ZW1wdD0hMSx0aGlzLm1heFBhaXJpbmdBdHRlbXB0cz0xMCx0aGlzLmRpc2FibGVQcm92aWRlclBpbmc9ITEsdGhpcy5wcm92aWRlck9wdHM9dSx0aGlzLmxvZ2dlcj10eXBlb2YgdT8ubG9nZ2VyPFwidVwiJiZ0eXBlb2YgdT8ubG9nZ2VyIT1cInN0cmluZ1wiP3UubG9nZ2VyOlRnKExnKHtsZXZlbDp1Py5sb2dnZXJ8fENhfSkpLHRoaXMuZGlzYWJsZVByb3ZpZGVyUGluZz11Py5kaXNhYmxlUHJvdmlkZXJQaW5nfHwhMX1zdGF0aWMgYXN5bmMgaW5pdCh1KXtjb25zdCBpPW5ldyBocih1KTtyZXR1cm4gYXdhaXQgaS5pbml0aWFsaXplKCksaX1hc3luYyByZXF1ZXN0KHUsaSl7Y29uc3RbcCxJXT10aGlzLnZhbGlkYXRlQ2hhaW4oaSk7aWYoIXRoaXMuc2Vzc2lvbil0aHJvdyBuZXcgRXJyb3IoXCJQbGVhc2UgY2FsbCBjb25uZWN0KCkgYmVmb3JlIHJlcXVlc3QoKVwiKTtyZXR1cm4gYXdhaXQgdGhpcy5nZXRQcm92aWRlcihwKS5yZXF1ZXN0KHtyZXF1ZXN0OmNyKHt9LHUpLGNoYWluSWQ6YCR7cH06JHtJfWAsdG9waWM6dGhpcy5zZXNzaW9uLnRvcGljfSl9c2VuZEFzeW5jKHUsaSxwKXt0aGlzLnJlcXVlc3QodSxwKS50aGVuKEk9PmkobnVsbCxJKSkuY2F0Y2goST0+aShJLHZvaWQgMCkpfWFzeW5jIGVuYWJsZSgpe2lmKCF0aGlzLmNsaWVudCl0aHJvdyBuZXcgRXJyb3IoXCJTaWduIENsaWVudCBub3QgaW5pdGlhbGl6ZWRcIik7cmV0dXJuIHRoaXMuc2Vzc2lvbnx8YXdhaXQgdGhpcy5jb25uZWN0KHtuYW1lc3BhY2VzOnRoaXMubmFtZXNwYWNlcyxvcHRpb25hbE5hbWVzcGFjZXM6dGhpcy5vcHRpb25hbE5hbWVzcGFjZXMsc2Vzc2lvblByb3BlcnRpZXM6dGhpcy5zZXNzaW9uUHJvcGVydGllc30pLGF3YWl0IHRoaXMucmVxdWVzdEFjY291bnRzKCl9YXN5bmMgZGlzY29ubmVjdCgpe3ZhciB1O2lmKCF0aGlzLnNlc3Npb24pdGhyb3cgbmV3IEVycm9yKFwiUGxlYXNlIGNhbGwgY29ubmVjdCgpIGJlZm9yZSBlbmFibGUoKVwiKTthd2FpdCB0aGlzLmNsaWVudC5kaXNjb25uZWN0KHt0b3BpYzoodT10aGlzLnNlc3Npb24pPT1udWxsP3ZvaWQgMDp1LnRvcGljLHJlYXNvbjpQYShcIlVTRVJfRElTQ09OTkVDVEVEXCIpfSksYXdhaXQgdGhpcy5jbGVhbnVwKCl9YXN5bmMgY29ubmVjdCh1KXtpZighdGhpcy5jbGllbnQpdGhyb3cgbmV3IEVycm9yKFwiU2lnbiBDbGllbnQgbm90IGluaXRpYWxpemVkXCIpO2lmKHRoaXMuc2V0TmFtZXNwYWNlcyh1KSxhd2FpdCB0aGlzLmNsZWFudXBQZW5kaW5nUGFpcmluZ3MoKSwhdS5za2lwUGFpcmluZylyZXR1cm4gYXdhaXQgdGhpcy5wYWlyKHUucGFpcmluZ1RvcGljKX1vbih1LGkpe3RoaXMuZXZlbnRzLm9uKHUsaSl9b25jZSh1LGkpe3RoaXMuZXZlbnRzLm9uY2UodSxpKX1yZW1vdmVMaXN0ZW5lcih1LGkpe3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKHUsaSl9b2ZmKHUsaSl7dGhpcy5ldmVudHMub2ZmKHUsaSl9Z2V0IGlzV2FsbGV0Q29ubmVjdCgpe3JldHVybiEwfWFzeW5jIHBhaXIodSl7dGhpcy5zaG91bGRBYm9ydFBhaXJpbmdBdHRlbXB0PSExO2xldCBpPTA7ZG97aWYodGhpcy5zaG91bGRBYm9ydFBhaXJpbmdBdHRlbXB0KXRocm93IG5ldyBFcnJvcihcIlBhaXJpbmcgYWJvcnRlZFwiKTtpZihpPj10aGlzLm1heFBhaXJpbmdBdHRlbXB0cyl0aHJvdyBuZXcgRXJyb3IoXCJNYXggYXV0byBwYWlyaW5nIGF0dGVtcHRzIHJlYWNoZWRcIik7Y29uc3R7dXJpOnAsYXBwcm92YWw6SX09YXdhaXQgdGhpcy5jbGllbnQuY29ubmVjdCh7cGFpcmluZ1RvcGljOnUscmVxdWlyZWROYW1lc3BhY2VzOnRoaXMubmFtZXNwYWNlcyxvcHRpb25hbE5hbWVzcGFjZXM6dGhpcy5vcHRpb25hbE5hbWVzcGFjZXMsc2Vzc2lvblByb3BlcnRpZXM6dGhpcy5zZXNzaW9uUHJvcGVydGllc30pO3AmJih0aGlzLnVyaT1wLHRoaXMuZXZlbnRzLmVtaXQoXCJkaXNwbGF5X3VyaVwiLHApKSxhd2FpdCBJKCkudGhlbihEPT57dGhpcy5zZXNzaW9uPUQsdGhpcy5uYW1lc3BhY2VzfHwodGhpcy5uYW1lc3BhY2VzPUpnKEQubmFtZXNwYWNlcyksdGhpcy5wZXJzaXN0KFwibmFtZXNwYWNlc1wiLHRoaXMubmFtZXNwYWNlcykpfSkuY2F0Y2goRD0+e2lmKEQubWVzc2FnZSE9PVJnKXRocm93IEQ7aSsrfSl9d2hpbGUoIXRoaXMuc2Vzc2lvbik7cmV0dXJuIHRoaXMub25Db25uZWN0KCksdGhpcy5zZXNzaW9ufXNldERlZmF1bHRDaGFpbih1LGkpe3RyeXtpZighdGhpcy5zZXNzaW9uKXJldHVybjtjb25zdFtwLEldPXRoaXMudmFsaWRhdGVDaGFpbih1KTt0aGlzLmdldFByb3ZpZGVyKHApLnNldERlZmF1bHRDaGFpbihJLGkpfWNhdGNoKHApe2lmKCEvUGxlYXNlIGNhbGwgY29ubmVjdC8udGVzdChwLm1lc3NhZ2UpKXRocm93IHB9fWFzeW5jIGNsZWFudXBQZW5kaW5nUGFpcmluZ3ModT17fSl7dGhpcy5sb2dnZXIuaW5mbyhcIkNsZWFuaW5nIHVwIGluYWN0aXZlIHBhaXJpbmdzLi4uXCIpO2NvbnN0IGk9dGhpcy5jbGllbnQucGFpcmluZy5nZXRBbGwoKTtpZihBYShpKSl7Zm9yKGNvbnN0IHAgb2YgaSl1LmRlbGV0ZVBhaXJpbmdzP3RoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5zZXQocC50b3BpYywwKTphd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIuc3Vic2NyaWJlci51bnN1YnNjcmliZShwLnRvcGljKTt0aGlzLmxvZ2dlci5pbmZvKGBJbmFjdGl2ZSBwYWlyaW5ncyBjbGVhcmVkOiAke2kubGVuZ3RofWApfX1hYm9ydFBhaXJpbmdBdHRlbXB0KCl7dGhpcy5zaG91bGRBYm9ydFBhaXJpbmdBdHRlbXB0PSEwfWFzeW5jIGNoZWNrU3RvcmFnZSgpe2lmKHRoaXMubmFtZXNwYWNlcz1hd2FpdCB0aGlzLmdldEZyb21TdG9yZShcIm5hbWVzcGFjZXNcIiksdGhpcy5vcHRpb25hbE5hbWVzcGFjZXM9YXdhaXQgdGhpcy5nZXRGcm9tU3RvcmUoXCJvcHRpb25hbE5hbWVzcGFjZXNcIil8fHt9LHRoaXMuY2xpZW50LnNlc3Npb24ubGVuZ3RoKXtjb25zdCB1PXRoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5sZW5ndGgtMTt0aGlzLnNlc3Npb249dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQodGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzW3VdKSx0aGlzLmNyZWF0ZVByb3ZpZGVycygpfX1hc3luYyBpbml0aWFsaXplKCl7dGhpcy5sb2dnZXIudHJhY2UoXCJJbml0aWFsaXplZFwiKSxhd2FpdCB0aGlzLmNyZWF0ZUNsaWVudCgpLGF3YWl0IHRoaXMuY2hlY2tTdG9yYWdlKCksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl9YXN5bmMgY3JlYXRlQ2xpZW50KCl7dGhpcy5jbGllbnQ9dGhpcy5wcm92aWRlck9wdHMuY2xpZW50fHxhd2FpdCBPZy5pbml0KHtsb2dnZXI6dGhpcy5wcm92aWRlck9wdHMubG9nZ2VyfHxDYSxyZWxheVVybDp0aGlzLnByb3ZpZGVyT3B0cy5yZWxheVVybHx8SGcscHJvamVjdElkOnRoaXMucHJvdmlkZXJPcHRzLnByb2plY3RJZCxtZXRhZGF0YTp0aGlzLnByb3ZpZGVyT3B0cy5tZXRhZGF0YSxzdG9yYWdlT3B0aW9uczp0aGlzLnByb3ZpZGVyT3B0cy5zdG9yYWdlT3B0aW9ucyxzdG9yYWdlOnRoaXMucHJvdmlkZXJPcHRzLnN0b3JhZ2UsbmFtZTp0aGlzLnByb3ZpZGVyT3B0cy5uYW1lfSksdGhpcy5sb2dnZXIudHJhY2UoXCJTaWduQ2xpZW50IEluaXRpYWxpemVkXCIpfWNyZWF0ZVByb3ZpZGVycygpe2lmKCF0aGlzLmNsaWVudCl0aHJvdyBuZXcgRXJyb3IoXCJTaWduIENsaWVudCBub3QgaW5pdGlhbGl6ZWRcIik7aWYoIXRoaXMuc2Vzc2lvbil0aHJvdyBuZXcgRXJyb3IoXCJTZXNzaW9uIG5vdCBpbml0aWFsaXplZC4gUGxlYXNlIGNhbGwgY29ubmVjdCgpIGJlZm9yZSBlbmFibGUoKVwiKTtjb25zdCB1PVsuLi5uZXcgU2V0KE9iamVjdC5rZXlzKHRoaXMuc2Vzc2lvbi5uYW1lc3BhY2VzKS5tYXAoaT0+b3IoaSkpKV07V2koXCJjbGllbnRcIix0aGlzLmNsaWVudCksV2koXCJldmVudHNcIix0aGlzLmV2ZW50cyksV2koXCJkaXNhYmxlUHJvdmlkZXJQaW5nXCIsdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nKSx1LmZvckVhY2goaT0+e2lmKCF0aGlzLnNlc3Npb24pcmV0dXJuO2NvbnN0IHA9S2coaSx0aGlzLnNlc3Npb24pLEk9eWEocCksRD1ZZyh0aGlzLm5hbWVzcGFjZXMsdGhpcy5vcHRpb25hbE5hbWVzcGFjZXMpLEY9RmkoY3Ioe30sRFtpXSkse2FjY291bnRzOnAsY2hhaW5zOkl9KTtzd2l0Y2goaSl7Y2FzZVwiZWlwMTU1XCI6dGhpcy5ycGNQcm92aWRlcnNbaV09bmV3IFFnKHtuYW1lc3BhY2U6Rn0pO2JyZWFrO2Nhc2VcInNvbGFuYVwiOnRoaXMucnBjUHJvdmlkZXJzW2ldPW5ldyBWZyh7bmFtZXNwYWNlOkZ9KTticmVhaztjYXNlXCJjb3Ntb3NcIjp0aGlzLnJwY1Byb3ZpZGVyc1tpXT1uZXcga2coe25hbWVzcGFjZTpGfSk7YnJlYWs7Y2FzZVwicG9sa2Fkb3RcIjp0aGlzLnJwY1Byb3ZpZGVyc1tpXT1uZXcgWGcoe25hbWVzcGFjZTpGfSk7YnJlYWs7Y2FzZVwiY2lwMzRcIjp0aGlzLnJwY1Byb3ZpZGVyc1tpXT1uZXcgamcoe25hbWVzcGFjZTpGfSk7YnJlYWs7Y2FzZVwiZWxyb25kXCI6dGhpcy5ycGNQcm92aWRlcnNbaV09bmV3IG52KHtuYW1lc3BhY2U6Rn0pO2JyZWFrO2Nhc2VcIm11bHRpdmVyc3hcIjp0aGlzLnJwY1Byb3ZpZGVyc1tpXT1uZXcgdHYoe25hbWVzcGFjZTpGfSk7YnJlYWt9fSl9cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe2lmKHR5cGVvZiB0aGlzLmNsaWVudD5cInVcIil0aHJvdyBuZXcgRXJyb3IoXCJTaWduIENsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWRcIik7dGhpcy5jbGllbnQub24oXCJzZXNzaW9uX3BpbmdcIix1PT57dGhpcy5ldmVudHMuZW1pdChcInNlc3Npb25fcGluZ1wiLHUpfSksdGhpcy5jbGllbnQub24oXCJzZXNzaW9uX2V2ZW50XCIsdT0+e2NvbnN0e3BhcmFtczppfT11LHtldmVudDpwfT1pO2lmKHAubmFtZT09PVwiYWNjb3VudHNDaGFuZ2VkXCIpe2NvbnN0IEk9cC5kYXRhO0kmJkFhKEkpJiZ0aGlzLmV2ZW50cy5lbWl0KFwiYWNjb3VudHNDaGFuZ2VkXCIsSS5tYXAoWmcpKX1lbHNlIHAubmFtZT09PVwiY2hhaW5DaGFuZ2VkXCI/dGhpcy5vbkNoYWluQ2hhbmdlZChpLmNoYWluSWQpOnRoaXMuZXZlbnRzLmVtaXQocC5uYW1lLHAuZGF0YSk7dGhpcy5ldmVudHMuZW1pdChcInNlc3Npb25fZXZlbnRcIix1KX0pLHRoaXMuY2xpZW50Lm9uKFwic2Vzc2lvbl91cGRhdGVcIiwoe3RvcGljOnUscGFyYW1zOml9KT0+e3ZhciBwO2NvbnN0e25hbWVzcGFjZXM6SX09aSxEPShwPXRoaXMuY2xpZW50KT09bnVsbD92b2lkIDA6cC5zZXNzaW9uLmdldCh1KTt0aGlzLnNlc3Npb249RmkoY3Ioe30sRCkse25hbWVzcGFjZXM6SX0pLHRoaXMub25TZXNzaW9uVXBkYXRlKCksdGhpcy5ldmVudHMuZW1pdChcInNlc3Npb25fdXBkYXRlXCIse3RvcGljOnUscGFyYW1zOml9KX0pLHRoaXMuY2xpZW50Lm9uKFwic2Vzc2lvbl9kZWxldGVcIixhc3luYyB1PT57YXdhaXQgdGhpcy5jbGVhbnVwKCksdGhpcy5ldmVudHMuZW1pdChcInNlc3Npb25fZGVsZXRlXCIsdSksdGhpcy5ldmVudHMuZW1pdChcImRpc2Nvbm5lY3RcIixGaShjcih7fSxQYShcIlVTRVJfRElTQ09OTkVDVEVEXCIpKSx7ZGF0YTp1LnRvcGljfSkpfSksdGhpcy5vbihvdC5ERUZBVUxUX0NIQUlOX0NIQU5HRUQsdT0+e3RoaXMub25DaGFpbkNoYW5nZWQodSwhMCl9KX1nZXRQcm92aWRlcih1KXtpZighdGhpcy5ycGNQcm92aWRlcnNbdV0pdGhyb3cgbmV3IEVycm9yKGBQcm92aWRlciBub3QgZm91bmQ6ICR7dX1gKTtyZXR1cm4gdGhpcy5ycGNQcm92aWRlcnNbdV19b25TZXNzaW9uVXBkYXRlKCl7T2JqZWN0LmtleXModGhpcy5ycGNQcm92aWRlcnMpLmZvckVhY2godT0+e3ZhciBpO3RoaXMuZ2V0UHJvdmlkZXIodSkudXBkYXRlTmFtZXNwYWNlKChpPXRoaXMuc2Vzc2lvbik9PW51bGw/dm9pZCAwOmkubmFtZXNwYWNlc1t1XSl9KX1zZXROYW1lc3BhY2VzKHUpe2NvbnN0e25hbWVzcGFjZXM6aSxvcHRpb25hbE5hbWVzcGFjZXM6cCxzZXNzaW9uUHJvcGVydGllczpJfT11O2kmJk9iamVjdC5rZXlzKGkpLmxlbmd0aCYmKHRoaXMubmFtZXNwYWNlcz1pKSxwJiZPYmplY3Qua2V5cyhwKS5sZW5ndGgmJih0aGlzLm9wdGlvbmFsTmFtZXNwYWNlcz1wKSx0aGlzLnNlc3Npb25Qcm9wZXJ0aWVzPUksdGhpcy5wZXJzaXN0KFwibmFtZXNwYWNlc1wiLGkpLHRoaXMucGVyc2lzdChcIm9wdGlvbmFsTmFtZXNwYWNlc1wiLHApfXZhbGlkYXRlQ2hhaW4odSl7Y29uc3RbaSxwXT11Py5zcGxpdChcIjpcIil8fFtcIlwiLFwiXCJdO2lmKCF0aGlzLm5hbWVzcGFjZXN8fCFPYmplY3Qua2V5cyh0aGlzLm5hbWVzcGFjZXMpLmxlbmd0aClyZXR1cm5baSxwXTtpZihpJiYhT2JqZWN0LmtleXModGhpcy5uYW1lc3BhY2VzfHx7fSkubWFwKEY9Pm9yKEYpKS5pbmNsdWRlcyhpKSl0aHJvdyBuZXcgRXJyb3IoYE5hbWVzcGFjZSAnJHtpfScgaXMgbm90IGNvbmZpZ3VyZWQuIFBsZWFzZSBjYWxsIGNvbm5lY3QoKSBmaXJzdCB3aXRoIG5hbWVzcGFjZSBjb25maWcuYCk7aWYoaSYmcClyZXR1cm5baSxwXTtjb25zdCBJPW9yKE9iamVjdC5rZXlzKHRoaXMubmFtZXNwYWNlcylbMF0pLEQ9dGhpcy5ycGNQcm92aWRlcnNbSV0uZ2V0RGVmYXVsdENoYWluKCk7cmV0dXJuW0ksRF19YXN5bmMgcmVxdWVzdEFjY291bnRzKCl7Y29uc3RbdV09dGhpcy52YWxpZGF0ZUNoYWluKCk7cmV0dXJuIGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIodSkucmVxdWVzdEFjY291bnRzKCl9b25DaGFpbkNoYW5nZWQodSxpPSExKXt2YXIgcDtpZighdGhpcy5uYW1lc3BhY2VzKXJldHVybjtjb25zdFtJLERdPXRoaXMudmFsaWRhdGVDaGFpbih1KTtpfHx0aGlzLmdldFByb3ZpZGVyKEkpLnNldERlZmF1bHRDaGFpbihEKSwoKHA9dGhpcy5uYW1lc3BhY2VzW0ldKSE9bnVsbD9wOnRoaXMubmFtZXNwYWNlc1tgJHtJfToke0R9YF0pLmRlZmF1bHRDaGFpbj1ELHRoaXMucGVyc2lzdChcIm5hbWVzcGFjZXNcIix0aGlzLm5hbWVzcGFjZXMpLHRoaXMuZXZlbnRzLmVtaXQoXCJjaGFpbkNoYW5nZWRcIixEKX1vbkNvbm5lY3QoKXt0aGlzLmNyZWF0ZVByb3ZpZGVycygpLHRoaXMuZXZlbnRzLmVtaXQoXCJjb25uZWN0XCIse3Nlc3Npb246dGhpcy5zZXNzaW9ufSl9YXN5bmMgY2xlYW51cCgpe3RoaXMuc2Vzc2lvbj12b2lkIDAsdGhpcy5uYW1lc3BhY2VzPXZvaWQgMCx0aGlzLm9wdGlvbmFsTmFtZXNwYWNlcz12b2lkIDAsdGhpcy5zZXNzaW9uUHJvcGVydGllcz12b2lkIDAsdGhpcy5wZXJzaXN0KFwibmFtZXNwYWNlc1wiLHZvaWQgMCksdGhpcy5wZXJzaXN0KFwib3B0aW9uYWxOYW1lc3BhY2VzXCIsdm9pZCAwKSx0aGlzLnBlcnNpc3QoXCJzZXNzaW9uUHJvcGVydGllc1wiLHZvaWQgMCksYXdhaXQgdGhpcy5jbGVhbnVwUGVuZGluZ1BhaXJpbmdzKHtkZWxldGVQYWlyaW5nczohMH0pfXBlcnNpc3QodSxpKXt0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2Uuc2V0SXRlbShgJHtJYX0vJHt1fWAsaSl9YXN5bmMgZ2V0RnJvbVN0b3JlKHUpe3JldHVybiBhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2UuZ2V0SXRlbShgJHtJYX0vJHt1fWApfX1jb25zdCBhdj1ocjtleHBvcnR7YXYgYXMgVW5pdmVyc2FsUHJvdmlkZXIsaHIgYXMgZGVmYXVsdH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5lcy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/universal-provider/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/lodash.isequal/index.js": -/*!**********************************************!*\ - !*** ./node_modules/lodash.isequal/index.js ***! - \**********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* module decorator */ module = __webpack_require__.nmd(module);\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 __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\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 = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == '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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoLmlzZXF1YWwvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DOztBQUVwQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCLHFCQUFNLGdCQUFnQixxQkFBTSxJQUFJLHFCQUFNLHNCQUFzQixxQkFBTTs7QUFFMUY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLEtBQTBCOztBQUU1QztBQUNBLGdDQUFnQyxRQUFhOztBQUU3QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxVQUFVO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsVUFBVTtBQUNyQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsVUFBVTtBQUNyQixhQUFhLFVBQVU7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWEsR0FBRztBQUNoQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsVUFBVTtBQUNyQixhQUFhLFVBQVU7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWEsR0FBRztBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLEdBQUc7QUFDZCxhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7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QUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsVUFBVTtBQUNyQixXQUFXLFFBQVE7QUFDbkIsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsV0FBVyxRQUFRO0FBQ25CLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtB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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbG9kYXNoLmlzZXF1YWwvaW5kZXguanM/ZGM5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExvZGFzaCAoQ3VzdG9tIEJ1aWxkKSA8aHR0cHM6Ly9sb2Rhc2guY29tLz5cbiAqIEJ1aWxkOiBgbG9kYXNoIG1vZHVsYXJpemUgZXhwb3J0cz1cIm5wbVwiIC1vIC4vYFxuICogQ29weXJpZ2h0IEpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9qcy5mb3VuZGF0aW9uLz5cbiAqIFJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlIDxodHRwczovL2xvZGFzaC5jb20vbGljZW5zZT5cbiAqIEJhc2VkIG9uIFVuZGVyc2NvcmUuanMgMS44LjMgPGh0dHA6Ly91bmRlcnNjb3JlanMub3JnL0xJQ0VOU0U+XG4gKiBDb3B5cmlnaHQgSmVyZW15IEFzaGtlbmFzLCBEb2N1bWVudENsb3VkIGFuZCBJbnZlc3RpZ2F0aXZlIFJlcG9ydGVycyAmIEVkaXRvcnNcbiAqL1xuXG4vKiogVXNlZCBhcyB0aGUgc2l6ZSB0byBlbmFibGUgbGFyZ2UgYXJyYXkgb3B0aW1pemF0aW9ucy4gKi9cbnZhciBMQVJHRV9BUlJBWV9TSVpFID0gMjAwO1xuXG4vKiogVXNlZCB0byBzdGFuZC1pbiBmb3IgYHVuZGVmaW5lZGAgaGFzaCB2YWx1ZXMuICovXG52YXIgSEFTSF9VTkRFRklORUQgPSAnX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyc7XG5cbi8qKiBVc2VkIHRvIGNvbXBvc2UgYml0bWFza3MgZm9yIHZhbHVlIGNvbXBhcmlzb25zLiAqL1xudmFyIENPTVBBUkVfUEFSVElBTF9GTEFHID0gMSxcbiAgICBDT01QQVJFX1VOT1JERVJFRF9GTEFHID0gMjtcblxuLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG52YXIgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTE7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgYXJyYXlUYWcgPSAnW29iamVjdCBBcnJheV0nLFxuICAgIGFzeW5jVGFnID0gJ1tvYmplY3QgQXN5bmNGdW5jdGlvbl0nLFxuICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgZGF0ZVRhZyA9ICdbb2JqZWN0IERhdGVdJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgZ2VuVGFnID0gJ1tvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dJyxcbiAgICBtYXBUYWcgPSAnW29iamVjdCBNYXBdJyxcbiAgICBudW1iZXJUYWcgPSAnW29iamVjdCBOdW1iZXJdJyxcbiAgICBudWxsVGFnID0gJ1tvYmplY3QgTnVsbF0nLFxuICAgIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nLFxuICAgIHByb21pc2VUYWcgPSAnW29iamVjdCBQcm9taXNlXScsXG4gICAgcHJveHlUYWcgPSAnW29iamVjdCBQcm94eV0nLFxuICAgIHJlZ2V4cFRhZyA9ICdbb2JqZWN0IFJlZ0V4cF0nLFxuICAgIHNldFRhZyA9ICdbb2JqZWN0IFNldF0nLFxuICAgIHN0cmluZ1RhZyA9ICdbb2JqZWN0IFN0cmluZ10nLFxuICAgIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nLFxuICAgIHVuZGVmaW5lZFRhZyA9ICdbb2JqZWN0IFVuZGVmaW5lZF0nLFxuICAgIHdlYWtNYXBUYWcgPSAnW29iamVjdCBXZWFrTWFwXSc7XG5cbnZhciBhcnJheUJ1ZmZlclRhZyA9ICdbb2JqZWN0IEFycmF5QnVmZmVyXScsXG4gICAgZGF0YVZpZXdUYWcgPSAnW29iamVjdCBEYXRhVmlld10nLFxuICAgIGZsb2F0MzJUYWcgPSAnW29iamVjdCBGbG9hdDMyQXJyYXldJyxcbiAgICBmbG9hdDY0VGFnID0gJ1tvYmplY3QgRmxvYXQ2NEFycmF5XScsXG4gICAgaW50OFRhZyA9ICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgIGludDE2VGFnID0gJ1tvYmplY3QgSW50MTZBcnJheV0nLFxuICAgIGludDMyVGFnID0gJ1tvYmplY3QgSW50MzJBcnJheV0nLFxuICAgIHVpbnQ4VGFnID0gJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgIHVpbnQ4Q2xhbXBlZFRhZyA9ICdbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XScsXG4gICAgdWludDE2VGFnID0gJ1tvYmplY3QgVWludDE2QXJyYXldJyxcbiAgICB1aW50MzJUYWcgPSAnW29iamVjdCBVaW50MzJBcnJheV0nO1xuXG4vKipcbiAqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGBcbiAqIFtzeW50YXggY2hhcmFjdGVyc10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcGF0dGVybnMpLlxuICovXG52YXIgcmVSZWdFeHBDaGFyID0gL1tcXFxcXiQuKis/KClbXFxde318XS9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaG9zdCBjb25zdHJ1Y3RvcnMgKFNhZmFyaSkuICovXG52YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xudmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcblxuLyoqIFVzZWQgdG8gaWRlbnRpZnkgYHRvU3RyaW5nVGFnYCB2YWx1ZXMgb2YgdHlwZWQgYXJyYXlzLiAqL1xudmFyIHR5cGVkQXJyYXlUYWdzID0ge307XG50eXBlZEFycmF5VGFnc1tmbG9hdDMyVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2Zsb2F0NjRUYWddID1cbnR5cGVkQXJyYXlUYWdzW2ludDhUYWddID0gdHlwZWRBcnJheVRhZ3NbaW50MTZUYWddID1cbnR5cGVkQXJyYXlUYWdzW2ludDMyVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQ4VGFnXSA9XG50eXBlZEFycmF5VGFnc1t1aW50OENsYW1wZWRUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDE2VGFnXSA9XG50eXBlZEFycmF5VGFnc1t1aW50MzJUYWddID0gdHJ1ZTtcbnR5cGVkQXJyYXlUYWdzW2FyZ3NUYWddID0gdHlwZWRBcnJheVRhZ3NbYXJyYXlUYWddID1cbnR5cGVkQXJyYXlUYWdzW2FycmF5QnVmZmVyVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2Jvb2xUYWddID1cbnR5cGVkQXJyYXlUYWdzW2RhdGFWaWV3VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2RhdGVUYWddID1cbnR5cGVkQXJyYXlUYWdzW2Vycm9yVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2Z1bmNUYWddID1cbnR5cGVkQXJyYXlUYWdzW21hcFRhZ10gPSB0eXBlZEFycmF5VGFnc1tudW1iZXJUYWddID1cbnR5cGVkQXJyYXlUYWdzW29iamVjdFRhZ10gPSB0eXBlZEFycmF5VGFnc1tyZWdleHBUYWddID1cbnR5cGVkQXJyYXlUYWdzW3NldFRhZ10gPSB0eXBlZEFycmF5VGFnc1tzdHJpbmdUYWddID1cbnR5cGVkQXJyYXlUYWdzW3dlYWtNYXBUYWddID0gZmFsc2U7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG52YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmICYmIHNlbGYuT2JqZWN0ID09PSBPYmplY3QgJiYgc2VsZjtcblxuLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG52YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBleHBvcnRzYC4gKi9cbnZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqL1xudmFyIGZyZWVNb2R1bGUgPSBmcmVlRXhwb3J0cyAmJiB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZSAmJiAhbW9kdWxlLm5vZGVUeXBlICYmIG1vZHVsZTtcblxuLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbnZhciBtb2R1bGVFeHBvcnRzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLmV4cG9ydHMgPT09IGZyZWVFeHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHByb2Nlc3NgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuXG4vKiogVXNlZCB0byBhY2Nlc3MgZmFzdGVyIE5vZGUuanMgaGVscGVycy4gKi9cbnZhciBub2RlVXRpbCA9IChmdW5jdGlvbigpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG4vKiBOb2RlLmpzIGhlbHBlciByZWZlcmVuY2VzLiAqL1xudmFyIG5vZGVJc1R5cGVkQXJyYXkgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1R5cGVkQXJyYXk7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZpbHRlcmAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBhcnJheUZpbHRlcihhcnJheSwgcHJlZGljYXRlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICByZXNJbmRleCA9IDAsXG4gICAgICByZXN1bHQgPSBbXTtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBlbGVtZW50cyBvZiBgdmFsdWVzYCB0byBgYXJyYXlgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYXBwZW5kLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gKi9cbmZ1bmN0aW9uIGFycmF5UHVzaChhcnJheSwgdmFsdWVzKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgIG9mZnNldCA9IGFycmF5Lmxlbmd0aDtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIGFycmF5W29mZnNldCArIGluZGV4XSA9IHZhbHVlc1tpbmRleF07XG4gIH1cbiAgcmV0dXJuIGFycmF5O1xufVxuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zb21lYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAqIHNob3J0aGFuZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFueSBlbGVtZW50IHBhc3NlcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYXJyYXlTb21lKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIGlmIChwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAqIG9yIG1heCBhcnJheSBsZW5ndGggY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIGludm9rZSBgaXRlcmF0ZWVgLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAqL1xuZnVuY3Rpb24gYmFzZVRpbWVzKG4sIGl0ZXJhdGVlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobik7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBuKSB7XG4gICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuYXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIHN0b3JpbmcgbWV0YWRhdGEuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBiYXNlVW5hcnkoZnVuYykge1xuICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gZnVuYyh2YWx1ZSk7XG4gIH07XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgYGNhY2hlYCB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gY2FjaGUgVGhlIGNhY2hlIHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGNhY2hlSGFzKGNhY2hlLCBrZXkpIHtcbiAgcmV0dXJuIGNhY2hlLmhhcyhrZXkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHByb3BlcnR5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBnZXRWYWx1ZShvYmplY3QsIGtleSkge1xuICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyB1bmRlZmluZWQgOiBvYmplY3Rba2V5XTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBgbWFwYCB0byBpdHMga2V5LXZhbHVlIHBhaXJzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gbWFwIFRoZSBtYXAgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXJzLlxuICovXG5mdW5jdGlvbiBtYXBUb0FycmF5KG1hcCkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIHJlc3VsdCA9IEFycmF5KG1hcC5zaXplKTtcblxuICBtYXAuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgcmVzdWx0WysraW5kZXhdID0gW2tleSwgdmFsdWVdO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdW5hcnkgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGl0cyBhcmd1bWVudCB0cmFuc2Zvcm1lZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgYXJndW1lbnQgdHJhbnNmb3JtLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gIHJldHVybiBmdW5jdGlvbihhcmcpIHtcbiAgICByZXR1cm4gZnVuYyh0cmFuc2Zvcm0oYXJnKSk7XG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydHMgYHNldGAgdG8gYW4gYXJyYXkgb2YgaXRzIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IHNldCBUaGUgc2V0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gc2V0VG9BcnJheShzZXQpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICByZXN1bHQgPSBBcnJheShzZXQuc2l6ZSk7XG5cbiAgc2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXN1bHRbKytpbmRleF0gPSB2YWx1ZTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlLFxuICAgIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZSxcbiAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBvdmVycmVhY2hpbmcgY29yZS1qcyBzaGltcy4gKi9cbnZhciBjb3JlSnNEYXRhID0gcm9vdFsnX19jb3JlLWpzX3NoYXJlZF9fJ107XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBtZXRob2RzIG1hc3F1ZXJhZGluZyBhcyBuYXRpdmUuICovXG52YXIgbWFza1NyY0tleSA9IChmdW5jdGlvbigpIHtcbiAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgcmV0dXJuIHVpZCA/ICgnU3ltYm9sKHNyYylfMS4nICsgdWlkKSA6ICcnO1xufSgpKTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBpZiBhIG1ldGhvZCBpcyBuYXRpdmUuICovXG52YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICBmdW5jVG9TdHJpbmcuY2FsbChoYXNPd25Qcm9wZXJ0eSkucmVwbGFjZShyZVJlZ0V4cENoYXIsICdcXFxcJCYnKVxuICAucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXFxcXCgpfCBmb3IgLis/KD89XFxcXFxcXSkvZywgJyQxLio/JykgKyAnJCdcbik7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIEJ1ZmZlciA9IG1vZHVsZUV4cG9ydHMgPyByb290LkJ1ZmZlciA6IHVuZGVmaW5lZCxcbiAgICBTeW1ib2wgPSByb290LlN5bWJvbCxcbiAgICBVaW50OEFycmF5ID0gcm9vdC5VaW50OEFycmF5LFxuICAgIHByb3BlcnR5SXNFbnVtZXJhYmxlID0gb2JqZWN0UHJvdG8ucHJvcGVydHlJc0VudW1lcmFibGUsXG4gICAgc3BsaWNlID0gYXJyYXlQcm90by5zcGxpY2UsXG4gICAgc3ltVG9TdHJpbmdUYWcgPSBTeW1ib2wgPyBTeW1ib2wudG9TdHJpbmdUYWcgOiB1bmRlZmluZWQ7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVHZXRTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxcbiAgICBuYXRpdmVJc0J1ZmZlciA9IEJ1ZmZlciA/IEJ1ZmZlci5pc0J1ZmZlciA6IHVuZGVmaW5lZCxcbiAgICBuYXRpdmVLZXlzID0gb3ZlckFyZyhPYmplY3Qua2V5cywgT2JqZWN0KTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgdGhhdCBhcmUgdmVyaWZpZWQgdG8gYmUgbmF0aXZlLiAqL1xudmFyIERhdGFWaWV3ID0gZ2V0TmF0aXZlKHJvb3QsICdEYXRhVmlldycpLFxuICAgIE1hcCA9IGdldE5hdGl2ZShyb290LCAnTWFwJyksXG4gICAgUHJvbWlzZSA9IGdldE5hdGl2ZShyb290LCAnUHJvbWlzZScpLFxuICAgIFNldCA9IGdldE5hdGl2ZShyb290LCAnU2V0JyksXG4gICAgV2Vha01hcCA9IGdldE5hdGl2ZShyb290LCAnV2Vha01hcCcpLFxuICAgIG5hdGl2ZUNyZWF0ZSA9IGdldE5hdGl2ZShPYmplY3QsICdjcmVhdGUnKTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG1hcHMsIHNldHMsIGFuZCB3ZWFrbWFwcy4gKi9cbnZhciBkYXRhVmlld0N0b3JTdHJpbmcgPSB0b1NvdXJjZShEYXRhVmlldyksXG4gICAgbWFwQ3RvclN0cmluZyA9IHRvU291cmNlKE1hcCksXG4gICAgcHJvbWlzZUN0b3JTdHJpbmcgPSB0b1NvdXJjZShQcm9taXNlKSxcbiAgICBzZXRDdG9yU3RyaW5nID0gdG9Tb3VyY2UoU2V0KSxcbiAgICB3ZWFrTWFwQ3RvclN0cmluZyA9IHRvU291cmNlKFdlYWtNYXApO1xuXG4vKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbnZhciBzeW1ib2xQcm90byA9IFN5bWJvbCA/IFN5bWJvbC5wcm90b3R5cGUgOiB1bmRlZmluZWQsXG4gICAgc3ltYm9sVmFsdWVPZiA9IHN5bWJvbFByb3RvID8gc3ltYm9sUHJvdG8udmFsdWVPZiA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgaGFzaCBvYmplY3QuXG4gKlxuICogQHByaXZhdGVcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gKi9cbmZ1bmN0aW9uIEhhc2goZW50cmllcykge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICB0aGlzLmNsZWFyKCk7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIGhhc2guXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGNsZWFyXG4gKiBAbWVtYmVyT2YgSGFzaFxuICovXG5mdW5jdGlvbiBoYXNoQ2xlYXIoKSB7XG4gIHRoaXMuX19kYXRhX18gPSBuYXRpdmVDcmVhdGUgPyBuYXRpdmVDcmVhdGUobnVsbCkgOiB7fTtcbiAgdGhpcy5zaXplID0gMDtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgaGFzaC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZGVsZXRlXG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtPYmplY3R9IGhhc2ggVGhlIGhhc2ggdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGhhc2hEZWxldGUoa2V5KSB7XG4gIHZhciByZXN1bHQgPSB0aGlzLmhhcyhrZXkpICYmIGRlbGV0ZSB0aGlzLl9fZGF0YV9fW2tleV07XG4gIHRoaXMuc2l6ZSAtPSByZXN1bHQgPyAxIDogMDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBoYXNoIHZhbHVlIGZvciBga2V5YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZ2V0XG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGhhc2hHZXQoa2V5KSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgaWYgKG5hdGl2ZUNyZWF0ZSkge1xuICAgIHZhciByZXN1bHQgPSBkYXRhW2tleV07XG4gICAgcmV0dXJuIHJlc3VsdCA9PT0gSEFTSF9VTkRFRklORUQgPyB1bmRlZmluZWQgOiByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwoZGF0YSwga2V5KSA/IGRhdGFba2V5XSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBoYXNoIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIEhhc2hcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBoYXNoSGFzKGtleSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gIHJldHVybiBuYXRpdmVDcmVhdGUgPyAoZGF0YVtrZXldICE9PSB1bmRlZmluZWQpIDogaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIGhhc2ggYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBoYXNoIGluc3RhbmNlLlxuICovXG5mdW5jdGlvbiBoYXNoU2V0KGtleSwgdmFsdWUpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICB0aGlzLnNpemUgKz0gdGhpcy5oYXMoa2V5KSA/IDAgOiAxO1xuICBkYXRhW2tleV0gPSAobmF0aXZlQ3JlYXRlICYmIHZhbHVlID09PSB1bmRlZmluZWQpID8gSEFTSF9VTkRFRklORUQgOiB2YWx1ZTtcbiAgcmV0dXJuIHRoaXM7XG59XG5cbi8vIEFkZCBtZXRob2RzIHRvIGBIYXNoYC5cbkhhc2gucHJvdG90eXBlLmNsZWFyID0gaGFzaENsZWFyO1xuSGFzaC5wcm90b3R5cGVbJ2RlbGV0ZSddID0gaGFzaERlbGV0ZTtcbkhhc2gucHJvdG90eXBlLmdldCA9IGhhc2hHZXQ7XG5IYXNoLnByb3RvdHlwZS5oYXMgPSBoYXNoSGFzO1xuSGFzaC5wcm90b3R5cGUuc2V0ID0gaGFzaFNldDtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGxpc3QgY2FjaGUgb2JqZWN0LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICovXG5mdW5jdGlvbiBMaXN0Q2FjaGUoZW50cmllcykge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICB0aGlzLmNsZWFyKCk7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIGxpc3QgY2FjaGUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGNsZWFyXG4gKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZUNsZWFyKCkge1xuICB0aGlzLl9fZGF0YV9fID0gW107XG4gIHRoaXMuc2l6ZSA9IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIGxpc3QgY2FjaGUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICBpZiAoaW5kZXggPCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBsYXN0SW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gIGlmIChpbmRleCA9PSBsYXN0SW5kZXgpIHtcbiAgICBkYXRhLnBvcCgpO1xuICB9IGVsc2Uge1xuICAgIHNwbGljZS5jYWxsKGRhdGEsIGluZGV4LCAxKTtcbiAgfVxuICAtLXRoaXMuc2l6ZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGdldFxuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZUdldChrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICByZXR1cm4gaW5kZXggPCAwID8gdW5kZWZpbmVkIDogZGF0YVtpbmRleF1bMV07XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBoYXNcbiAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBsaXN0Q2FjaGVIYXMoa2V5KSB7XG4gIHJldHVybiBhc3NvY0luZGV4T2YodGhpcy5fX2RhdGFfXywga2V5KSA+IC0xO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIGxpc3QgY2FjaGUgYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGxpc3QgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG5cbiAgaWYgKGluZGV4IDwgMCkge1xuICAgICsrdGhpcy5zaXplO1xuICAgIGRhdGEucHVzaChba2V5LCB2YWx1ZV0pO1xuICB9IGVsc2Uge1xuICAgIGRhdGFbaW5kZXhdWzFdID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59XG5cbi8vIEFkZCBtZXRob2RzIHRvIGBMaXN0Q2FjaGVgLlxuTGlzdENhY2hlLnByb3RvdHlwZS5jbGVhciA9IGxpc3RDYWNoZUNsZWFyO1xuTGlzdENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBsaXN0Q2FjaGVEZWxldGU7XG5MaXN0Q2FjaGUucHJvdG90eXBlLmdldCA9IGxpc3RDYWNoZUdldDtcbkxpc3RDYWNoZS5wcm90b3R5cGUuaGFzID0gbGlzdENhY2hlSGFzO1xuTGlzdENhY2hlLnByb3RvdHlwZS5zZXQgPSBsaXN0Q2FjaGVTZXQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG1hcCBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICovXG5mdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuXG4gIHRoaXMuY2xlYXIoKTtcbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2luZGV4XTtcbiAgICB0aGlzLnNldChlbnRyeVswXSwgZW50cnlbMV0pO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbWFwLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBjbGVhclxuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlQ2xlYXIoKSB7XG4gIHRoaXMuc2l6ZSA9IDA7XG4gIHRoaXMuX19kYXRhX18gPSB7XG4gICAgJ2hhc2gnOiBuZXcgSGFzaCxcbiAgICAnbWFwJzogbmV3IChNYXAgfHwgTGlzdENhY2hlKSxcbiAgICAnc3RyaW5nJzogbmV3IEhhc2hcbiAgfTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgbWFwLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBkZWxldGVcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSkge1xuICB2YXIgcmVzdWx0ID0gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpWydkZWxldGUnXShrZXkpO1xuICB0aGlzLnNpemUgLT0gcmVzdWx0ID8gMSA6IDA7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbWFwIHZhbHVlIGZvciBga2V5YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZ2V0XG4gKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBtYXBDYWNoZUdldChrZXkpIHtcbiAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5nZXQoa2V5KTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBtYXAgdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgaGFzXG4gKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBtYXBDYWNoZUhhcyhrZXkpIHtcbiAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5oYXMoa2V5KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBtYXAgYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbWFwIGNhY2hlIGluc3RhbmNlLlxuICovXG5mdW5jdGlvbiBtYXBDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gIHZhciBkYXRhID0gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpLFxuICAgICAgc2l6ZSA9IGRhdGEuc2l6ZTtcblxuICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgdGhpcy5zaXplICs9IGRhdGEuc2l6ZSA9PSBzaXplID8gMCA6IDE7XG4gIHJldHVybiB0aGlzO1xufVxuXG4vLyBBZGQgbWV0aG9kcyB0byBgTWFwQ2FjaGVgLlxuTWFwQ2FjaGUucHJvdG90eXBlLmNsZWFyID0gbWFwQ2FjaGVDbGVhcjtcbk1hcENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBtYXBDYWNoZURlbGV0ZTtcbk1hcENhY2hlLnByb3RvdHlwZS5nZXQgPSBtYXBDYWNoZUdldDtcbk1hcENhY2hlLnByb3RvdHlwZS5oYXMgPSBtYXBDYWNoZUhhcztcbk1hcENhY2hlLnByb3RvdHlwZS5zZXQgPSBtYXBDYWNoZVNldDtcblxuLyoqXG4gKlxuICogQ3JlYXRlcyBhbiBhcnJheSBjYWNoZSBvYmplY3QgdG8gc3RvcmUgdW5pcXVlIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge0FycmF5fSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGNhY2hlLlxuICovXG5mdW5jdGlvbiBTZXRDYWNoZSh2YWx1ZXMpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSB2YWx1ZXMgPT0gbnVsbCA/IDAgOiB2YWx1ZXMubGVuZ3RoO1xuXG4gIHRoaXMuX19kYXRhX18gPSBuZXcgTWFwQ2FjaGU7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdGhpcy5hZGQodmFsdWVzW2luZGV4XSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRzIGB2YWx1ZWAgdG8gdGhlIGFycmF5IGNhY2hlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBhZGRcbiAqIEBtZW1iZXJPZiBTZXRDYWNoZVxuICogQGFsaWFzIHB1c2hcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNhY2hlLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHNldENhY2hlQWRkKHZhbHVlKSB7XG4gIHRoaXMuX19kYXRhX18uc2V0KHZhbHVlLCBIQVNIX1VOREVGSU5FRCk7XG4gIHJldHVybiB0aGlzO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGluIHRoZSBhcnJheSBjYWNoZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgaGFzXG4gKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIHNldENhY2hlSGFzKHZhbHVlKSB7XG4gIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh2YWx1ZSk7XG59XG5cbi8vIEFkZCBtZXRob2RzIHRvIGBTZXRDYWNoZWAuXG5TZXRDYWNoZS5wcm90b3R5cGUuYWRkID0gU2V0Q2FjaGUucHJvdG90eXBlLnB1c2ggPSBzZXRDYWNoZUFkZDtcblNldENhY2hlLnByb3RvdHlwZS5oYXMgPSBzZXRDYWNoZUhhcztcblxuLyoqXG4gKiBDcmVhdGVzIGEgc3RhY2sgY2FjaGUgb2JqZWN0IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gU3RhY2soZW50cmllcykge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlKGVudHJpZXMpO1xuICB0aGlzLnNpemUgPSBkYXRhLnNpemU7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgc3RhY2suXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGNsZWFyXG4gKiBAbWVtYmVyT2YgU3RhY2tcbiAqL1xuZnVuY3Rpb24gc3RhY2tDbGVhcigpIHtcbiAgdGhpcy5fX2RhdGFfXyA9IG5ldyBMaXN0Q2FjaGU7XG4gIHRoaXMuc2l6ZSA9IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIHN0YWNrLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBkZWxldGVcbiAqIEBtZW1iZXJPZiBTdGFja1xuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIHN0YWNrRGVsZXRlKGtleSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICByZXN1bHQgPSBkYXRhWydkZWxldGUnXShrZXkpO1xuXG4gIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBzdGFjayB2YWx1ZSBmb3IgYGtleWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGdldFxuICogQG1lbWJlck9mIFN0YWNrXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gc3RhY2tHZXQoa2V5KSB7XG4gIHJldHVybiB0aGlzLl9fZGF0YV9fLmdldChrZXkpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHN0YWNrIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIFN0YWNrXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gc3RhY2tIYXMoa2V5KSB7XG4gIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhrZXkpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIHN0YWNrIGBrZXlgIHRvIGB2YWx1ZWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIHNldFxuICogQG1lbWJlck9mIFN0YWNrXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIHN0YWNrIGNhY2hlIGluc3RhbmNlLlxuICovXG5mdW5jdGlvbiBzdGFja1NldChrZXksIHZhbHVlKSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBMaXN0Q2FjaGUpIHtcbiAgICB2YXIgcGFpcnMgPSBkYXRhLl9fZGF0YV9fO1xuICAgIGlmICghTWFwIHx8IChwYWlycy5sZW5ndGggPCBMQVJHRV9BUlJBWV9TSVpFIC0gMSkpIHtcbiAgICAgIHBhaXJzLnB1c2goW2tleSwgdmFsdWVdKTtcbiAgICAgIHRoaXMuc2l6ZSA9ICsrZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIGRhdGEgPSB0aGlzLl9fZGF0YV9fID0gbmV3IE1hcENhY2hlKHBhaXJzKTtcbiAgfVxuICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICByZXR1cm4gdGhpcztcbn1cblxuLy8gQWRkIG1ldGhvZHMgdG8gYFN0YWNrYC5cblN0YWNrLnByb3RvdHlwZS5jbGVhciA9IHN0YWNrQ2xlYXI7XG5TdGFjay5wcm90b3R5cGVbJ2RlbGV0ZSddID0gc3RhY2tEZWxldGU7XG5TdGFjay5wcm90b3R5cGUuZ2V0ID0gc3RhY2tHZXQ7XG5TdGFjay5wcm90b3R5cGUuaGFzID0gc3RhY2tIYXM7XG5TdGFjay5wcm90b3R5cGUuc2V0ID0gc3RhY2tTZXQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiB0aGUgYXJyYXktbGlrZSBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5oZXJpdGVkIFNwZWNpZnkgcmV0dXJuaW5nIGluaGVyaXRlZCBwcm9wZXJ0eSBuYW1lcy5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TGlrZUtleXModmFsdWUsIGluaGVyaXRlZCkge1xuICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgIGlzQXJnID0gIWlzQXJyICYmIGlzQXJndW1lbnRzKHZhbHVlKSxcbiAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiAhaXNBcmcgJiYgaXNCdWZmZXIodmFsdWUpLFxuICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICBza2lwSW5kZXhlcyA9IGlzQXJyIHx8IGlzQXJnIHx8IGlzQnVmZiB8fCBpc1R5cGUsXG4gICAgICByZXN1bHQgPSBza2lwSW5kZXhlcyA/IGJhc2VUaW1lcyh2YWx1ZS5sZW5ndGgsIFN0cmluZykgOiBbXSxcbiAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgaWYgKChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkgJiZcbiAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgIC8vIFNhZmFyaSA5IGhhcyBlbnVtZXJhYmxlIGBhcmd1bWVudHMubGVuZ3RoYCBpbiBzdHJpY3QgbW9kZS5cbiAgICAgICAgICAga2V5ID09ICdsZW5ndGgnIHx8XG4gICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAoaXNCdWZmICYmIChrZXkgPT0gJ29mZnNldCcgfHwga2V5ID09ICdwYXJlbnQnKSkgfHxcbiAgICAgICAgICAgLy8gUGhhbnRvbUpTIDIgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gdHlwZWQgYXJyYXlzLlxuICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgLy8gU2tpcCBpbmRleCBwcm9wZXJ0aWVzLlxuICAgICAgICAgICBpc0luZGV4KGtleSwgbGVuZ3RoKVxuICAgICAgICApKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBpbmRleCBhdCB3aGljaCB0aGUgYGtleWAgaXMgZm91bmQgaW4gYGFycmF5YCBvZiBrZXktdmFsdWUgcGFpcnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICogQHBhcmFtIHsqfSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAqL1xuZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LCBrZXkpIHtcbiAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgaWYgKGVxKGFycmF5W2xlbmd0aF1bMF0sIGtleSkpIHtcbiAgICAgIHJldHVybiBsZW5ndGg7XG4gICAgfVxuICB9XG4gIHJldHVybiAtMTtcbn1cblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0QWxsS2V5c2AgYW5kIGBnZXRBbGxLZXlzSW5gIHdoaWNoIHVzZXNcbiAqIGBrZXlzRnVuY2AgYW5kIGBzeW1ib2xzRnVuY2AgdG8gZ2V0IHRoZSBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIGFuZFxuICogc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN5bWJvbHNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIHN5bWJvbHMgb2YgYG9iamVjdGAuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIGFuZCBzeW1ib2xzLlxuICovXG5mdW5jdGlvbiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXNGdW5jLCBzeW1ib2xzRnVuYykge1xuICB2YXIgcmVzdWx0ID0ga2V5c0Z1bmMob2JqZWN0KTtcbiAgcmV0dXJuIGlzQXJyYXkob2JqZWN0KSA/IHJlc3VsdCA6IGFycmF5UHVzaChyZXN1bHQsIHN5bWJvbHNGdW5jKG9iamVjdCkpO1xufVxuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkVGFnIDogbnVsbFRhZztcbiAgfVxuICByZXR1cm4gKHN5bVRvU3RyaW5nVGFnICYmIHN5bVRvU3RyaW5nVGFnIGluIE9iamVjdCh2YWx1ZSkpXG4gICAgPyBnZXRSYXdUYWcodmFsdWUpXG4gICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG59XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNBcmd1bWVudHNgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqL1xuZnVuY3Rpb24gYmFzZUlzQXJndW1lbnRzKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFyZ3NUYWc7XG59XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNFcXVhbGAgd2hpY2ggc3VwcG9ydHMgcGFydGlhbCBjb21wYXJpc29uc1xuICogYW5kIHRyYWNrcyB0cmF2ZXJzZWQgb2JqZWN0cy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuXG4gKiAgMSAtIFVub3JkZXJlZCBjb21wYXJpc29uXG4gKiAgMiAtIFBhcnRpYWwgY29tcGFyaXNvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIGB2YWx1ZWAgYW5kIGBvdGhlcmAgb2JqZWN0cy5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc0VxdWFsKHZhbHVlLCBvdGhlciwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spIHtcbiAgaWYgKHZhbHVlID09PSBvdGhlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IG90aGVyID09IG51bGwgfHwgKCFpc09iamVjdExpa2UodmFsdWUpICYmICFpc09iamVjdExpa2Uob3RoZXIpKSkge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gdmFsdWUgJiYgb3RoZXIgIT09IG90aGVyO1xuICB9XG4gIHJldHVybiBiYXNlSXNFcXVhbERlZXAodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBiYXNlSXNFcXVhbCwgc3RhY2spO1xufVxuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxgIGZvciBhcnJheXMgYW5kIG9iamVjdHMgd2hpY2ggcGVyZm9ybXNcbiAqIGRlZXAgY29tcGFyaXNvbnMgYW5kIHRyYWNrcyB0cmF2ZXJzZWQgb2JqZWN0cyBlbmFibGluZyBvYmplY3RzIHdpdGggY2lyY3VsYXJcbiAqIHJlZmVyZW5jZXMgdG8gYmUgY29tcGFyZWQuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGJhc2VJc0VxdWFsYCBmb3IgbW9yZSBkZXRhaWxzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBvYmplY3RzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc0VxdWFsRGVlcChvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gIHZhciBvYmpJc0FyciA9IGlzQXJyYXkob2JqZWN0KSxcbiAgICAgIG90aElzQXJyID0gaXNBcnJheShvdGhlciksXG4gICAgICBvYmpUYWcgPSBvYmpJc0FyciA/IGFycmF5VGFnIDogZ2V0VGFnKG9iamVjdCksXG4gICAgICBvdGhUYWcgPSBvdGhJc0FyciA/IGFycmF5VGFnIDogZ2V0VGFnKG90aGVyKTtcblxuICBvYmpUYWcgPSBvYmpUYWcgPT0gYXJnc1RhZyA/IG9iamVjdFRhZyA6IG9ialRhZztcbiAgb3RoVGFnID0gb3RoVGFnID09IGFyZ3NUYWcgPyBvYmplY3RUYWcgOiBvdGhUYWc7XG5cbiAgdmFyIG9iaklzT2JqID0gb2JqVGFnID09IG9iamVjdFRhZyxcbiAgICAgIG90aElzT2JqID0gb3RoVGFnID09IG9iamVjdFRhZyxcbiAgICAgIGlzU2FtZVRhZyA9IG9ialRhZyA9PSBvdGhUYWc7XG5cbiAgaWYgKGlzU2FtZVRhZyAmJiBpc0J1ZmZlcihvYmplY3QpKSB7XG4gICAgaWYgKCFpc0J1ZmZlcihvdGhlcikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgb2JqSXNBcnIgPSB0cnVlO1xuICAgIG9iaklzT2JqID0gZmFsc2U7XG4gIH1cbiAgaWYgKGlzU2FtZVRhZyAmJiAhb2JqSXNPYmopIHtcbiAgICBzdGFjayB8fCAoc3RhY2sgPSBuZXcgU3RhY2spO1xuICAgIHJldHVybiAob2JqSXNBcnIgfHwgaXNUeXBlZEFycmF5KG9iamVjdCkpXG4gICAgICA/IGVxdWFsQXJyYXlzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spXG4gICAgICA6IGVxdWFsQnlUYWcob2JqZWN0LCBvdGhlciwgb2JqVGFnLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbiAgfVxuICBpZiAoIShiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcpKSB7XG4gICAgdmFyIG9iaklzV3JhcHBlZCA9IG9iaklzT2JqICYmIGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCAnX193cmFwcGVkX18nKSxcbiAgICAgICAgb3RoSXNXcmFwcGVkID0gb3RoSXNPYmogJiYgaGFzT3duUHJvcGVydHkuY2FsbChvdGhlciwgJ19fd3JhcHBlZF9fJyk7XG5cbiAgICBpZiAob2JqSXNXcmFwcGVkIHx8IG90aElzV3JhcHBlZCkge1xuICAgICAgdmFyIG9ialVud3JhcHBlZCA9IG9iaklzV3JhcHBlZCA/IG9iamVjdC52YWx1ZSgpIDogb2JqZWN0LFxuICAgICAgICAgIG90aFVud3JhcHBlZCA9IG90aElzV3JhcHBlZCA/IG90aGVyLnZhbHVlKCkgOiBvdGhlcjtcblxuICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgIHJldHVybiBlcXVhbEZ1bmMob2JqVW53cmFwcGVkLCBvdGhVbndyYXBwZWQsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN0YWNrKTtcbiAgICB9XG4gIH1cbiAgaWYgKCFpc1NhbWVUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgcmV0dXJuIGVxdWFsT2JqZWN0cyhvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbn1cblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc05hdGl2ZWAgd2l0aG91dCBiYWQgc2hpbSBjaGVja3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBuYXRpdmUgZnVuY3Rpb24sXG4gKiAgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBiYXNlSXNOYXRpdmUodmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgaXNNYXNrZWQodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBwYXR0ZXJuID0gaXNGdW5jdGlvbih2YWx1ZSkgPyByZUlzTmF0aXZlIDogcmVJc0hvc3RDdG9yO1xuICByZXR1cm4gcGF0dGVybi50ZXN0KHRvU291cmNlKHZhbHVlKSk7XG59XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNUeXBlZEFycmF5YCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGJhc2VJc1R5cGVkQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiZcbiAgICBpc0xlbmd0aCh2YWx1ZS5sZW5ndGgpICYmICEhdHlwZWRBcnJheVRhZ3NbYmFzZUdldFRhZyh2YWx1ZSldO1xufVxuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gIGlmICghaXNQcm90b3R5cGUob2JqZWN0KSkge1xuICAgIHJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7XG4gIH1cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlSXNFcXVhbERlZXBgIGZvciBhcnJheXMgd2l0aCBzdXBwb3J0IGZvclxuICogcGFydGlhbCBkZWVwIGNvbXBhcmlzb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7QXJyYXl9IG90aGVyIFRoZSBvdGhlciBhcnJheSB0byBjb21wYXJlLlxuICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjdXN0b21pemVyIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBlcXVhbEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRldGVybWluZSBlcXVpdmFsZW50cyBvZiB2YWx1ZXMuXG4gKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgYXJyYXlgIGFuZCBgb3RoZXJgIG9iamVjdHMuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFycmF5cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBlcXVhbEFycmF5cyhhcnJheSwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgdmFyIGlzUGFydGlhbCA9IGJpdG1hc2sgJiBDT01QQVJFX1BBUlRJQUxfRkxBRyxcbiAgICAgIGFyckxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgIG90aExlbmd0aCA9IG90aGVyLmxlbmd0aDtcblxuICBpZiAoYXJyTGVuZ3RoICE9IG90aExlbmd0aCAmJiAhKGlzUGFydGlhbCAmJiBvdGhMZW5ndGggPiBhcnJMZW5ndGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIEFzc3VtZSBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgdmFyIHN0YWNrZWQgPSBzdGFjay5nZXQoYXJyYXkpO1xuICBpZiAoc3RhY2tlZCAmJiBzdGFjay5nZXQob3RoZXIpKSB7XG4gICAgcmV0dXJuIHN0YWNrZWQgPT0gb3RoZXI7XG4gIH1cbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICByZXN1bHQgPSB0cnVlLFxuICAgICAgc2VlbiA9IChiaXRtYXNrICYgQ09NUEFSRV9VTk9SREVSRURfRkxBRykgPyBuZXcgU2V0Q2FjaGUgOiB1bmRlZmluZWQ7XG5cbiAgc3RhY2suc2V0KGFycmF5LCBvdGhlcik7XG4gIHN0YWNrLnNldChvdGhlciwgYXJyYXkpO1xuXG4gIC8vIElnbm9yZSBub24taW5kZXggcHJvcGVydGllcy5cbiAgd2hpbGUgKCsraW5kZXggPCBhcnJMZW5ndGgpIHtcbiAgICB2YXIgYXJyVmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgIG90aFZhbHVlID0gb3RoZXJbaW5kZXhdO1xuXG4gICAgaWYgKGN1c3RvbWl6ZXIpIHtcbiAgICAgIHZhciBjb21wYXJlZCA9IGlzUGFydGlhbFxuICAgICAgICA/IGN1c3RvbWl6ZXIob3RoVmFsdWUsIGFyclZhbHVlLCBpbmRleCwgb3RoZXIsIGFycmF5LCBzdGFjaylcbiAgICAgICAgOiBjdXN0b21pemVyKGFyclZhbHVlLCBvdGhWYWx1ZSwgaW5kZXgsIGFycmF5LCBvdGhlciwgc3RhY2spO1xuICAgIH1cbiAgICBpZiAoY29tcGFyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGNvbXBhcmVkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBhcnJheXMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICBpZiAoc2Vlbikge1xuICAgICAgaWYgKCFhcnJheVNvbWUob3RoZXIsIGZ1bmN0aW9uKG90aFZhbHVlLCBvdGhJbmRleCkge1xuICAgICAgICAgICAgaWYgKCFjYWNoZUhhcyhzZWVuLCBvdGhJbmRleCkgJiZcbiAgICAgICAgICAgICAgICAoYXJyVmFsdWUgPT09IG90aFZhbHVlIHx8IGVxdWFsRnVuYyhhcnJWYWx1ZSwgb3RoVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN0YWNrKSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlZW4ucHVzaChvdGhJbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpIHtcbiAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIShcbiAgICAgICAgICBhcnJWYWx1ZSA9PT0gb3RoVmFsdWUgfHxcbiAgICAgICAgICAgIGVxdWFsRnVuYyhhcnJWYWx1ZSwgb3RoVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN0YWNrKVxuICAgICAgICApKSB7XG4gICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBzdGFja1snZGVsZXRlJ10oYXJyYXkpO1xuICBzdGFja1snZGVsZXRlJ10ob3RoZXIpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxEZWVwYCBmb3IgY29tcGFyaW5nIG9iamVjdHMgb2ZcbiAqIHRoZSBzYW1lIGB0b1N0cmluZ1RhZ2AuXG4gKlxuICogKipOb3RlOioqIFRoaXMgZnVuY3Rpb24gb25seSBzdXBwb3J0cyBjb21wYXJpbmcgdmFsdWVzIHdpdGggdGFncyBvZlxuICogYEJvb2xlYW5gLCBgRGF0ZWAsIGBFcnJvcmAsIGBOdW1iZXJgLCBgUmVnRXhwYCwgb3IgYFN0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIGB0b1N0cmluZ1RhZ2Agb2YgdGhlIG9iamVjdHMgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGJhc2VJc0VxdWFsYCBmb3IgbW9yZSBkZXRhaWxzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICogQHBhcmFtIHtPYmplY3R9IHN0YWNrIFRyYWNrcyB0cmF2ZXJzZWQgYG9iamVjdGAgYW5kIGBvdGhlcmAgb2JqZWN0cy5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBlcXVhbEJ5VGFnKG9iamVjdCwgb3RoZXIsIHRhZywgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjaykge1xuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgZGF0YVZpZXdUYWc6XG4gICAgICBpZiAoKG9iamVjdC5ieXRlTGVuZ3RoICE9IG90aGVyLmJ5dGVMZW5ndGgpIHx8XG4gICAgICAgICAgKG9iamVjdC5ieXRlT2Zmc2V0ICE9IG90aGVyLmJ5dGVPZmZzZXQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIG9iamVjdCA9IG9iamVjdC5idWZmZXI7XG4gICAgICBvdGhlciA9IG90aGVyLmJ1ZmZlcjtcblxuICAgIGNhc2UgYXJyYXlCdWZmZXJUYWc6XG4gICAgICBpZiAoKG9iamVjdC5ieXRlTGVuZ3RoICE9IG90aGVyLmJ5dGVMZW5ndGgpIHx8XG4gICAgICAgICAgIWVxdWFsRnVuYyhuZXcgVWludDhBcnJheShvYmplY3QpLCBuZXcgVWludDhBcnJheShvdGhlcikpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgY2FzZSBib29sVGFnOlxuICAgIGNhc2UgZGF0ZVRhZzpcbiAgICBjYXNlIG51bWJlclRhZzpcbiAgICAgIC8vIENvZXJjZSBib29sZWFucyB0byBgMWAgb3IgYDBgIGFuZCBkYXRlcyB0byBtaWxsaXNlY29uZHMuXG4gICAgICAvLyBJbnZhbGlkIGRhdGVzIGFyZSBjb2VyY2VkIHRvIGBOYU5gLlxuICAgICAgcmV0dXJuIGVxKCtvYmplY3QsICtvdGhlcik7XG5cbiAgICBjYXNlIGVycm9yVGFnOlxuICAgICAgcmV0dXJuIG9iamVjdC5uYW1lID09IG90aGVyLm5hbWUgJiYgb2JqZWN0Lm1lc3NhZ2UgPT0gb3RoZXIubWVzc2FnZTtcblxuICAgIGNhc2UgcmVnZXhwVGFnOlxuICAgIGNhc2Ugc3RyaW5nVGFnOlxuICAgICAgLy8gQ29lcmNlIHJlZ2V4ZXMgdG8gc3RyaW5ncyBhbmQgdHJlYXQgc3RyaW5ncywgcHJpbWl0aXZlcyBhbmQgb2JqZWN0cyxcbiAgICAgIC8vIGFzIGVxdWFsLiBTZWUgaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXJlZ2V4cC5wcm90b3R5cGUudG9zdHJpbmdcbiAgICAgIC8vIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICByZXR1cm4gb2JqZWN0ID09IChvdGhlciArICcnKTtcblxuICAgIGNhc2UgbWFwVGFnOlxuICAgICAgdmFyIGNvbnZlcnQgPSBtYXBUb0FycmF5O1xuXG4gICAgY2FzZSBzZXRUYWc6XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHO1xuICAgICAgY29udmVydCB8fCAoY29udmVydCA9IHNldFRvQXJyYXkpO1xuXG4gICAgICBpZiAob2JqZWN0LnNpemUgIT0gb3RoZXIuc2l6ZSAmJiAhaXNQYXJ0aWFsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIEFzc3VtZSBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgIHZhciBzdGFja2VkID0gc3RhY2suZ2V0KG9iamVjdCk7XG4gICAgICBpZiAoc3RhY2tlZCkge1xuICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgIH1cbiAgICAgIGJpdG1hc2sgfD0gQ09NUEFSRV9VTk9SREVSRURfRkxBRztcblxuICAgICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBvYmplY3RzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICBzdGFjay5zZXQob2JqZWN0LCBvdGhlcik7XG4gICAgICB2YXIgcmVzdWx0ID0gZXF1YWxBcnJheXMoY29udmVydChvYmplY3QpLCBjb252ZXJ0KG90aGVyKSwgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjayk7XG4gICAgICBzdGFja1snZGVsZXRlJ10ob2JqZWN0KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICBjYXNlIHN5bWJvbFRhZzpcbiAgICAgIGlmIChzeW1ib2xWYWx1ZU9mKSB7XG4gICAgICAgIHJldHVybiBzeW1ib2xWYWx1ZU9mLmNhbGwob2JqZWN0KSA9PSBzeW1ib2xWYWx1ZU9mLmNhbGwob3RoZXIpO1xuICAgICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VJc0VxdWFsRGVlcGAgZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvclxuICogcGFydGlhbCBkZWVwIGNvbXBhcmlzb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvdGhlciBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBiYXNlSXNFcXVhbGAgZm9yIG1vcmUgZGV0YWlscy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBzdGFjayBUcmFja3MgdHJhdmVyc2VkIGBvYmplY3RgIGFuZCBgb3RoZXJgIG9iamVjdHMuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9iamVjdHMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgdmFyIGlzUGFydGlhbCA9IGJpdG1hc2sgJiBDT01QQVJFX1BBUlRJQUxfRkxBRyxcbiAgICAgIG9ialByb3BzID0gZ2V0QWxsS2V5cyhvYmplY3QpLFxuICAgICAgb2JqTGVuZ3RoID0gb2JqUHJvcHMubGVuZ3RoLFxuICAgICAgb3RoUHJvcHMgPSBnZXRBbGxLZXlzKG90aGVyKSxcbiAgICAgIG90aExlbmd0aCA9IG90aFByb3BzLmxlbmd0aDtcblxuICBpZiAob2JqTGVuZ3RoICE9IG90aExlbmd0aCAmJiAhaXNQYXJ0aWFsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBpbmRleCA9IG9iakxlbmd0aDtcbiAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICB2YXIga2V5ID0gb2JqUHJvcHNbaW5kZXhdO1xuICAgIGlmICghKGlzUGFydGlhbCA/IGtleSBpbiBvdGhlciA6IGhhc093blByb3BlcnR5LmNhbGwob3RoZXIsIGtleSkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIC8vIEFzc3VtZSBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgdmFyIHN0YWNrZWQgPSBzdGFjay5nZXQob2JqZWN0KTtcbiAgaWYgKHN0YWNrZWQgJiYgc3RhY2suZ2V0KG90aGVyKSkge1xuICAgIHJldHVybiBzdGFja2VkID09IG90aGVyO1xuICB9XG4gIHZhciByZXN1bHQgPSB0cnVlO1xuICBzdGFjay5zZXQob2JqZWN0LCBvdGhlcik7XG4gIHN0YWNrLnNldChvdGhlciwgb2JqZWN0KTtcblxuICB2YXIgc2tpcEN0b3IgPSBpc1BhcnRpYWw7XG4gIHdoaWxlICgrK2luZGV4IDwgb2JqTGVuZ3RoKSB7XG4gICAga2V5ID0gb2JqUHJvcHNbaW5kZXhdO1xuICAgIHZhciBvYmpWYWx1ZSA9IG9iamVjdFtrZXldLFxuICAgICAgICBvdGhWYWx1ZSA9IG90aGVyW2tleV07XG5cbiAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgdmFyIGNvbXBhcmVkID0gaXNQYXJ0aWFsXG4gICAgICAgID8gY3VzdG9taXplcihvdGhWYWx1ZSwgb2JqVmFsdWUsIGtleSwgb3RoZXIsIG9iamVjdCwgc3RhY2spXG4gICAgICAgIDogY3VzdG9taXplcihvYmpWYWx1ZSwgb3RoVmFsdWUsIGtleSwgb2JqZWN0LCBvdGhlciwgc3RhY2spO1xuICAgIH1cbiAgICAvLyBSZWN1cnNpdmVseSBjb21wYXJlIG9iamVjdHMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICBpZiAoIShjb21wYXJlZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyAob2JqVmFsdWUgPT09IG90aFZhbHVlIHx8IGVxdWFsRnVuYyhvYmpWYWx1ZSwgb3RoVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN0YWNrKSlcbiAgICAgICAgICA6IGNvbXBhcmVkXG4gICAgICAgICkpIHtcbiAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHNraXBDdG9yIHx8IChza2lwQ3RvciA9IGtleSA9PSAnY29uc3RydWN0b3InKTtcbiAgfVxuICBpZiAocmVzdWx0ICYmICFza2lwQ3Rvcikge1xuICAgIHZhciBvYmpDdG9yID0gb2JqZWN0LmNvbnN0cnVjdG9yLFxuICAgICAgICBvdGhDdG9yID0gb3RoZXIuY29uc3RydWN0b3I7XG5cbiAgICAvLyBOb24gYE9iamVjdGAgb2JqZWN0IGluc3RhbmNlcyB3aXRoIGRpZmZlcmVudCBjb25zdHJ1Y3RvcnMgYXJlIG5vdCBlcXVhbC5cbiAgICBpZiAob2JqQ3RvciAhPSBvdGhDdG9yICYmXG4gICAgICAgICgnY29uc3RydWN0b3InIGluIG9iamVjdCAmJiAnY29uc3RydWN0b3InIGluIG90aGVyKSAmJlxuICAgICAgICAhKHR5cGVvZiBvYmpDdG9yID09ICdmdW5jdGlvbicgJiYgb2JqQ3RvciBpbnN0YW5jZW9mIG9iakN0b3IgJiZcbiAgICAgICAgICB0eXBlb2Ygb3RoQ3RvciA9PSAnZnVuY3Rpb24nICYmIG90aEN0b3IgaW5zdGFuY2VvZiBvdGhDdG9yKSkge1xuICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHN0YWNrWydkZWxldGUnXShvYmplY3QpO1xuICBzdGFja1snZGVsZXRlJ10ob3RoZXIpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gKi9cbmZ1bmN0aW9uIGdldEFsbEtleXMob2JqZWN0KSB7XG4gIHJldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXMsIGdldFN5bWJvbHMpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGRhdGEgZm9yIGBtYXBgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gbWFwIFRoZSBtYXAgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSByZWZlcmVuY2Uga2V5LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hcCBkYXRhLlxuICovXG5mdW5jdGlvbiBnZXRNYXBEYXRhKG1hcCwga2V5KSB7XG4gIHZhciBkYXRhID0gbWFwLl9fZGF0YV9fO1xuICByZXR1cm4gaXNLZXlhYmxlKGtleSlcbiAgICA/IGRhdGFbdHlwZW9mIGtleSA9PSAnc3RyaW5nJyA/ICdzdHJpbmcnIDogJ2hhc2gnXVxuICAgIDogZGF0YS5tYXA7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbmF0aXZlIGZ1bmN0aW9uIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZCB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZnVuY3Rpb24gaWYgaXQncyBuYXRpdmUsIGVsc2UgYHVuZGVmaW5lZGAuXG4gKi9cbmZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3QsIGtleSkge1xuICB2YXIgdmFsdWUgPSBnZXRWYWx1ZShvYmplY3QsIGtleSk7XG4gIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlR2V0VGFnYCB3aGljaCBpZ25vcmVzIGBTeW1ib2wudG9TdHJpbmdUYWdgIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByYXcgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gZ2V0UmF3VGFnKHZhbHVlKSB7XG4gIHZhciBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKSxcbiAgICAgIHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcblxuICB0cnkge1xuICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHVuZGVmaW5lZDtcbiAgICB2YXIgdW5tYXNrZWQgPSB0cnVlO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIHZhciByZXN1bHQgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgaWYgKHVubWFza2VkKSB7XG4gICAgaWYgKGlzT3duKSB7XG4gICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB0YWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBzeW1ib2xzLlxuICovXG52YXIgZ2V0U3ltYm9scyA9ICFuYXRpdmVHZXRTeW1ib2xzID8gc3R1YkFycmF5IDogZnVuY3Rpb24ob2JqZWN0KSB7XG4gIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgcmV0dXJuIGFycmF5RmlsdGVyKG5hdGl2ZUdldFN5bWJvbHMob2JqZWN0KSwgZnVuY3Rpb24oc3ltYm9sKSB7XG4gICAgcmV0dXJuIHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqZWN0LCBzeW1ib2wpO1xuICB9KTtcbn07XG5cbi8qKlxuICogR2V0cyB0aGUgYHRvU3RyaW5nVGFnYCBvZiBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gKi9cbnZhciBnZXRUYWcgPSBiYXNlR2V0VGFnO1xuXG4vLyBGYWxsYmFjayBmb3IgZGF0YSB2aWV3cywgbWFwcywgc2V0cywgYW5kIHdlYWsgbWFwcyBpbiBJRSAxMSBhbmQgcHJvbWlzZXMgaW4gTm9kZS5qcyA8IDYuXG5pZiAoKERhdGFWaWV3ICYmIGdldFRhZyhuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDEpKSkgIT0gZGF0YVZpZXdUYWcpIHx8XG4gICAgKE1hcCAmJiBnZXRUYWcobmV3IE1hcCkgIT0gbWFwVGFnKSB8fFxuICAgIChQcm9taXNlICYmIGdldFRhZyhQcm9taXNlLnJlc29sdmUoKSkgIT0gcHJvbWlzZVRhZykgfHxcbiAgICAoU2V0ICYmIGdldFRhZyhuZXcgU2V0KSAhPSBzZXRUYWcpIHx8XG4gICAgKFdlYWtNYXAgJiYgZ2V0VGFnKG5ldyBXZWFrTWFwKSAhPSB3ZWFrTWFwVGFnKSkge1xuICBnZXRUYWcgPSBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHZhciByZXN1bHQgPSBiYXNlR2V0VGFnKHZhbHVlKSxcbiAgICAgICAgQ3RvciA9IHJlc3VsdCA9PSBvYmplY3RUYWcgPyB2YWx1ZS5jb25zdHJ1Y3RvciA6IHVuZGVmaW5lZCxcbiAgICAgICAgY3RvclN0cmluZyA9IEN0b3IgPyB0b1NvdXJjZShDdG9yKSA6ICcnO1xuXG4gICAgaWYgKGN0b3JTdHJpbmcpIHtcbiAgICAgIHN3aXRjaCAoY3RvclN0cmluZykge1xuICAgICAgICBjYXNlIGRhdGFWaWV3Q3RvclN0cmluZzogcmV0dXJuIGRhdGFWaWV3VGFnO1xuICAgICAgICBjYXNlIG1hcEN0b3JTdHJpbmc6IHJldHVybiBtYXBUYWc7XG4gICAgICAgIGNhc2UgcHJvbWlzZUN0b3JTdHJpbmc6IHJldHVybiBwcm9taXNlVGFnO1xuICAgICAgICBjYXNlIHNldEN0b3JTdHJpbmc6IHJldHVybiBzZXRUYWc7XG4gICAgICAgIGNhc2Ugd2Vha01hcEN0b3JTdHJpbmc6IHJldHVybiB3ZWFrTWFwVGFnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBpbmRleC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcGFyYW0ge251bWJlcn0gW2xlbmd0aD1NQVhfU0FGRV9JTlRFR0VSXSBUaGUgdXBwZXIgYm91bmRzIG9mIGEgdmFsaWQgaW5kZXguXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGluZGV4LCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzSW5kZXgodmFsdWUsIGxlbmd0aCkge1xuICBsZW5ndGggPSBsZW5ndGggPT0gbnVsbCA/IE1BWF9TQUZFX0lOVEVHRVIgOiBsZW5ndGg7XG4gIHJldHVybiAhIWxlbmd0aCAmJlxuICAgICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgfHwgcmVJc1VpbnQudGVzdCh2YWx1ZSkpICYmXG4gICAgKHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPCBsZW5ndGgpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciB1c2UgYXMgdW5pcXVlIG9iamVjdCBrZXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNLZXlhYmxlKHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gKHR5cGUgPT0gJ3N0cmluZycgfHwgdHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nKVxuICAgID8gKHZhbHVlICE9PSAnX19wcm90b19fJylcbiAgICA6ICh2YWx1ZSA9PT0gbnVsbCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGBmdW5jYCBoYXMgaXRzIHNvdXJjZSBtYXNrZWQuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBpcyBtYXNrZWQsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNNYXNrZWQoZnVuYykge1xuICByZXR1cm4gISFtYXNrU3JjS2V5ICYmIChtYXNrU3JjS2V5IGluIGZ1bmMpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhIHByb3RvdHlwZSBvYmplY3QuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm90b3R5cGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNQcm90b3R5cGUodmFsdWUpIHtcbiAgdmFyIEN0b3IgPSB2YWx1ZSAmJiB2YWx1ZS5jb25zdHJ1Y3RvcixcbiAgICAgIHByb3RvID0gKHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3Rvci5wcm90b3R5cGUpIHx8IG9iamVjdFByb3RvO1xuXG4gIHJldHVybiB2YWx1ZSA9PT0gcHJvdG87XG59XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZyB1c2luZyBgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBvYmplY3RUb1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYGZ1bmNgIHRvIGl0cyBzb3VyY2UgY29kZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5mdW5jdGlvbiB0b1NvdXJjZShmdW5jKSB7XG4gIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoZnVuYyArICcnKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG4gIHJldHVybiAnJztcbn1cblxuLyoqXG4gKiBQZXJmb3JtcyBhXG4gKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICpcbiAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoJ2EnLCAnYScpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoTmFOLCBOYU4pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGFuIGBhcmd1bWVudHNgIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBgYXJndW1lbnRzYCBvYmplY3QsXG4gKiAgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cyhmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdjYWxsZWUnKSAmJlxuICAgICFwcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHZhbHVlLCAnY2FsbGVlJyk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5YCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gKiBub3QgYSBmdW5jdGlvbiBhbmQgaGFzIGEgYHZhbHVlLmxlbmd0aGAgdGhhdCdzIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yXG4gKiBlcXVhbCB0byBgMGAgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhaXNGdW5jdGlvbih2YWx1ZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjMuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0J1ZmZlcihuZXcgQnVmZmVyKDIpKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzQnVmZmVyKG5ldyBVaW50OEFycmF5KDIpKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0J1ZmZlciA9IG5hdGl2ZUlzQnVmZmVyIHx8IHN0dWJGYWxzZTtcblxuLyoqXG4gKiBQZXJmb3JtcyBhIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlXG4gKiBlcXVpdmFsZW50LlxuICpcbiAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBzdXBwb3J0cyBjb21wYXJpbmcgYXJyYXlzLCBhcnJheSBidWZmZXJzLCBib29sZWFucyxcbiAqIGRhdGUgb2JqZWN0cywgZXJyb3Igb2JqZWN0cywgbWFwcywgbnVtYmVycywgYE9iamVjdGAgb2JqZWN0cywgcmVnZXhlcyxcbiAqIHNldHMsIHN0cmluZ3MsIHN5bWJvbHMsIGFuZCB0eXBlZCBhcnJheXMuIGBPYmplY3RgIG9iamVjdHMgYXJlIGNvbXBhcmVkXG4gKiBieSB0aGVpciBvd24sIG5vdCBpbmhlcml0ZWQsIGVudW1lcmFibGUgcHJvcGVydGllcy4gRnVuY3Rpb25zIGFuZCBET01cbiAqIG5vZGVzIGFyZSBjb21wYXJlZCBieSBzdHJpY3QgZXF1YWxpdHksIGkuZS4gYD09PWAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICpcbiAqIF8uaXNFcXVhbChvYmplY3QsIG90aGVyKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBvYmplY3QgPT09IG90aGVyO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIGJhc2VJc0VxdWFsKHZhbHVlLCBvdGhlcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBGdW5jdGlvbmAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZnVuY3Rpb24sIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0Z1bmN0aW9uKF8pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNGdW5jdGlvbigvYWJjLyk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIFRoZSB1c2Ugb2YgYE9iamVjdCN0b1N0cmluZ2AgYXZvaWRzIGlzc3VlcyB3aXRoIHRoZSBgdHlwZW9mYCBvcGVyYXRvclxuICAvLyBpbiBTYWZhcmkgOSB3aGljaCByZXR1cm5zICdvYmplY3QnIGZvciB0eXBlZCBhcnJheXMgYW5kIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICByZXR1cm4gdGFnID09IGZ1bmNUYWcgfHwgdGFnID09IGdlblRhZyB8fCB0YWcgPT0gYXN5bmNUYWcgfHwgdGFnID09IHByb3h5VGFnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGxvb3NlbHkgYmFzZWQgb25cbiAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBsZW5ndGgsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0xlbmd0aCgzKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzTGVuZ3RoKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzTGVuZ3RoKEluZmluaXR5KTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aCgnMycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNMZW5ndGgodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJlxuICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyB0aGVcbiAqIFtsYW5ndWFnZSB0eXBlXShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtZWNtYXNjcmlwdC1sYW5ndWFnZS10eXBlcylcbiAqIG9mIGBPYmplY3RgLiAoZS5nLiBhcnJheXMsIGZ1bmN0aW9ucywgb2JqZWN0cywgcmVnZXhlcywgYG5ldyBOdW1iZXIoMClgLCBhbmQgYG5ldyBTdHJpbmcoJycpYClcbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdCh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoXy5ub29wKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KG51bGwpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmICh0eXBlID09ICdvYmplY3QnIHx8IHR5cGUgPT0gJ2Z1bmN0aW9uJyk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuIEEgdmFsdWUgaXMgb2JqZWN0LWxpa2UgaWYgaXQncyBub3QgYG51bGxgXG4gKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdExpa2Uoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09ICdvYmplY3QnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSB0eXBlZCBhcnJheS5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNUeXBlZEFycmF5KG5ldyBVaW50OEFycmF5KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzVHlwZWRBcnJheShbXSk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNUeXBlZEFycmF5ID0gbm9kZUlzVHlwZWRBcnJheSA/IGJhc2VVbmFyeShub2RlSXNUeXBlZEFycmF5KSA6IGJhc2VJc1R5cGVkQXJyYXk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgYG9iamVjdGAuXG4gKlxuICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuIFNlZSB0aGVcbiAqIFtFUyBzcGVjXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3Qua2V5cylcbiAqIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IE9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqIEBleGFtcGxlXG4gKlxuICogZnVuY3Rpb24gRm9vKCkge1xuICogICB0aGlzLmEgPSAxO1xuICogICB0aGlzLmIgPSAyO1xuICogfVxuICpcbiAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gKlxuICogXy5rZXlzKG5ldyBGb28pO1xuICogLy8gPT4gWydhJywgJ2InXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICpcbiAqIF8ua2V5cygnaGknKTtcbiAqIC8vID0+IFsnMCcsICcxJ11cbiAqL1xuZnVuY3Rpb24ga2V5cyhvYmplY3QpIHtcbiAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCkgOiBiYXNlS2V5cyhvYmplY3QpO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgZW1wdHkgYXJyYXkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjEzLjBcbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBlbXB0eSBhcnJheS5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIGFycmF5cyA9IF8udGltZXMoMiwgXy5zdHViQXJyYXkpO1xuICpcbiAqIGNvbnNvbGUubG9nKGFycmF5cyk7XG4gKiAvLyA9PiBbW10sIFtdXVxuICpcbiAqIGNvbnNvbGUubG9nKGFycmF5c1swXSA9PT0gYXJyYXlzWzFdKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIHN0dWJBcnJheSgpIHtcbiAgcmV0dXJuIFtdO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgYGZhbHNlYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMTMuMFxuICogQGNhdGVnb3J5IFV0aWxcbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udGltZXMoMiwgXy5zdHViRmFsc2UpO1xuICogLy8gPT4gW2ZhbHNlLCBmYWxzZV1cbiAqL1xuZnVuY3Rpb24gc3R1YkZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNFcXVhbDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lodash.isequal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/quick-format-unescaped/index.js": -/*!******************************************************!*\ - !*** ./node_modules/quick-format-unescaped/index.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXVpY2stZm9ybWF0LXVuZXNjYXBlZC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBWTtBQUNaO0FBQ0EsUUFBUSwyQkFBMkIsV0FBVztBQUM5Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGFBQWE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xdWljay1mb3JtYXQtdW5lc2NhcGVkL2luZGV4LmpzP2JkNmEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5mdW5jdGlvbiB0cnlTdHJpbmdpZnkgKG8pIHtcbiAgdHJ5IHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG8pIH0gY2F0Y2goZSkgeyByZXR1cm4gJ1wiW0NpcmN1bGFyXVwiJyB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZm9ybWF0XG5cbmZ1bmN0aW9uIGZvcm1hdChmLCBhcmdzLCBvcHRzKSB7XG4gIHZhciBzcyA9IChvcHRzICYmIG9wdHMuc3RyaW5naWZ5KSB8fCB0cnlTdHJpbmdpZnlcbiAgdmFyIG9mZnNldCA9IDFcbiAgaWYgKHR5cGVvZiBmID09PSAnb2JqZWN0JyAmJiBmICE9PSBudWxsKSB7XG4gICAgdmFyIGxlbiA9IGFyZ3MubGVuZ3RoICsgb2Zmc2V0XG4gICAgaWYgKGxlbiA9PT0gMSkgcmV0dXJuIGZcbiAgICB2YXIgb2JqZWN0cyA9IG5ldyBBcnJheShsZW4pXG4gICAgb2JqZWN0c1swXSA9IHNzKGYpXG4gICAgZm9yICh2YXIgaW5kZXggPSAxOyBpbmRleCA8IGxlbjsgaW5kZXgrKykge1xuICAgICAgb2JqZWN0c1tpbmRleF0gPSBzcyhhcmdzW2luZGV4XSlcbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdHMuam9pbignICcpXG4gIH1cbiAgaWYgKHR5cGVvZiBmICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmXG4gIH1cbiAgdmFyIGFyZ0xlbiA9IGFyZ3MubGVuZ3RoXG4gIGlmIChhcmdMZW4gPT09IDApIHJldHVybiBmXG4gIHZhciBzdHIgPSAnJ1xuICB2YXIgYSA9IDEgLSBvZmZzZXRcbiAgdmFyIGxhc3RQb3MgPSAtMVxuICB2YXIgZmxlbiA9IChmICYmIGYubGVuZ3RoKSB8fCAwXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZmxlbjspIHtcbiAgICBpZiAoZi5jaGFyQ29kZUF0KGkpID09PSAzNyAmJiBpICsgMSA8IGZsZW4pIHtcbiAgICAgIGxhc3RQb3MgPSBsYXN0UG9zID4gLTEgPyBsYXN0UG9zIDogMFxuICAgICAgc3dpdGNoIChmLmNoYXJDb2RlQXQoaSArIDEpKSB7XG4gICAgICAgIGNhc2UgMTAwOiAvLyAnZCdcbiAgICAgICAgY2FzZSAxMDI6IC8vICdmJ1xuICAgICAgICAgIGlmIChhID49IGFyZ0xlbilcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgaWYgKGFyZ3NbYV0gPT0gbnVsbCkgIGJyZWFrXG4gICAgICAgICAgaWYgKGxhc3RQb3MgPCBpKVxuICAgICAgICAgICAgc3RyICs9IGYuc2xpY2UobGFzdFBvcywgaSlcbiAgICAgICAgICBzdHIgKz0gTnVtYmVyKGFyZ3NbYV0pXG4gICAgICAgICAgbGFzdFBvcyA9IGkgKyAyXG4gICAgICAgICAgaSsrXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAxMDU6IC8vICdpJ1xuICAgICAgICAgIGlmIChhID49IGFyZ0xlbilcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgaWYgKGFyZ3NbYV0gPT0gbnVsbCkgIGJyZWFrXG4gICAgICAgICAgaWYgKGxhc3RQb3MgPCBpKVxuICAgICAgICAgICAgc3RyICs9IGYuc2xpY2UobGFzdFBvcywgaSlcbiAgICAgICAgICBzdHIgKz0gTWF0aC5mbG9vcihOdW1iZXIoYXJnc1thXSkpXG4gICAgICAgICAgbGFzdFBvcyA9IGkgKyAyXG4gICAgICAgICAgaSsrXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSA3OTogLy8gJ08nXG4gICAgICAgIGNhc2UgMTExOiAvLyAnbydcbiAgICAgICAgY2FzZSAxMDY6IC8vICdqJ1xuICAgICAgICAgIGlmIChhID49IGFyZ0xlbilcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgaWYgKGFyZ3NbYV0gPT09IHVuZGVmaW5lZCkgYnJlYWtcbiAgICAgICAgICBpZiAobGFzdFBvcyA8IGkpXG4gICAgICAgICAgICBzdHIgKz0gZi5zbGljZShsYXN0UG9zLCBpKVxuICAgICAgICAgIHZhciB0eXBlID0gdHlwZW9mIGFyZ3NbYV1cbiAgICAgICAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN0ciArPSAnXFwnJyArIGFyZ3NbYV0gKyAnXFwnJ1xuICAgICAgICAgICAgbGFzdFBvcyA9IGkgKyAyXG4gICAgICAgICAgICBpKytcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBzdHIgKz0gYXJnc1thXS5uYW1lIHx8ICc8YW5vbnltb3VzPidcbiAgICAgICAgICAgIGxhc3RQb3MgPSBpICsgMlxuICAgICAgICAgICAgaSsrXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdHIgKz0gc3MoYXJnc1thXSlcbiAgICAgICAgICBsYXN0UG9zID0gaSArIDJcbiAgICAgICAgICBpKytcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDExNTogLy8gJ3MnXG4gICAgICAgICAgaWYgKGEgPj0gYXJnTGVuKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBpZiAobGFzdFBvcyA8IGkpXG4gICAgICAgICAgICBzdHIgKz0gZi5zbGljZShsYXN0UG9zLCBpKVxuICAgICAgICAgIHN0ciArPSBTdHJpbmcoYXJnc1thXSlcbiAgICAgICAgICBsYXN0UG9zID0gaSArIDJcbiAgICAgICAgICBpKytcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDM3OiAvLyAnJSdcbiAgICAgICAgICBpZiAobGFzdFBvcyA8IGkpXG4gICAgICAgICAgICBzdHIgKz0gZi5zbGljZShsYXN0UG9zLCBpKVxuICAgICAgICAgIHN0ciArPSAnJSdcbiAgICAgICAgICBsYXN0UG9zID0gaSArIDJcbiAgICAgICAgICBpKytcbiAgICAgICAgICBhLS1cbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgKythXG4gICAgfVxuICAgICsraVxuICB9XG4gIGlmIChsYXN0UG9zID09PSAtMSlcbiAgICByZXR1cm4gZlxuICBlbHNlIGlmIChsYXN0UG9zIDwgZmxlbikge1xuICAgIHN0ciArPSBmLnNsaWNlKGxhc3RQb3MpXG4gIH1cblxuICByZXR1cm4gc3RyXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/quick-format-unescaped/index.js\n")); - -/***/ }), - -/***/ "./node_modules/safe-json-utils/dist/cjs/index.js": -/*!********************************************************!*\ - !*** ./node_modules/safe-json-utils/dist/cjs/index.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction safeJsonParse(value) {\n if (typeof value !== 'string') {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSON.parse(value);\n }\n catch (_a) {\n return value;\n }\n}\nexports.safeJsonParse = safeJsonParse;\nfunction safeJsonStringify(value) {\n return typeof value === 'string'\n ? value\n : JSON.stringify(value, (key, value) => typeof value === 'undefined' ? null : value);\n}\nexports.safeJsonStringify = safeJsonStringify;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2FmZS1qc29uLXV0aWxzL2Rpc3QvY2pzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQSxnRUFBZ0UsYUFBYTtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3NhZmUtanNvbi11dGlscy9kaXN0L2Nqcy9pbmRleC5qcz9hNWM1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZnVuY3Rpb24gc2FmZUpzb25QYXJzZSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHNhZmUganNvbiBwYXJzZSB2YWx1ZSBvZiB0eXBlICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIGNhdGNoIChfYSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuZXhwb3J0cy5zYWZlSnNvblBhcnNlID0gc2FmZUpzb25QYXJzZTtcbmZ1bmN0aW9uIHNhZmVKc29uU3RyaW5naWZ5KHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHZhbHVlLCAoa2V5LCB2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyA/IG51bGwgOiB2YWx1ZSk7XG59XG5leHBvcnRzLnNhZmVKc29uU3RyaW5naWZ5ID0gc2FmZUpzb25TdHJpbmdpZnk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/safe-json-utils/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/pino/browser.js": -/*!**************************************!*\ - !*** ./node_modules/pino/browser.js ***! - \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst format = __webpack_require__(/*! quick-format-unescaped */ \"./node_modules/quick-format-unescaped/index.js\")\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3Bpbm8vYnJvd3Nlci5qcz84NGE0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5jb25zdCBmb3JtYXQgPSByZXF1aXJlKCdxdWljay1mb3JtYXQtdW5lc2NhcGVkJylcblxubW9kdWxlLmV4cG9ydHMgPSBwaW5vXG5cbmNvbnN0IF9jb25zb2xlID0gcGZHbG9iYWxUaGlzT3JGYWxsYmFjaygpLmNvbnNvbGUgfHwge31cbmNvbnN0IHN0ZFNlcmlhbGl6ZXJzID0ge1xuICBtYXBIdHRwUmVxdWVzdDogbW9jayxcbiAgbWFwSHR0cFJlc3BvbnNlOiBtb2NrLFxuICB3cmFwUmVxdWVzdFNlcmlhbGl6ZXI6IHBhc3N0aHJvdWdoLFxuICB3cmFwUmVzcG9uc2VTZXJpYWxpemVyOiBwYXNzdGhyb3VnaCxcbiAgd3JhcEVycm9yU2VyaWFsaXplcjogcGFzc3Rocm91Z2gsXG4gIHJlcTogbW9jayxcbiAgcmVzOiBtb2NrLFxuICBlcnI6IGFzRXJyVmFsdWVcbn1cblxuZnVuY3Rpb24gc2hvdWxkU2VyaWFsaXplIChzZXJpYWxpemUsIHNlcmlhbGl6ZXJzKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHNlcmlhbGl6ZSkpIHtcbiAgICBjb25zdCBoYXNUb0ZpbHRlciA9IHNlcmlhbGl6ZS5maWx0ZXIoZnVuY3Rpb24gKGspIHtcbiAgICAgIHJldHVybiBrICE9PSAnIXN0ZFNlcmlhbGl6ZXJzLmVycidcbiAgICB9KVxuICAgIHJldHVybiBoYXNUb0ZpbHRlclxuICB9IGVsc2UgaWYgKHNlcmlhbGl6ZSA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhzZXJpYWxpemVycylcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBwaW5vIChvcHRzKSB7XG4gIG9wdHMgPSBvcHRzIHx8IHt9XG4gIG9wdHMuYnJvd3NlciA9IG9wdHMuYnJvd3NlciB8fCB7fVxuXG4gIGNvbnN0IHRyYW5zbWl0ID0gb3B0cy5icm93c2VyLnRyYW5zbWl0XG4gIGlmICh0cmFuc21pdCAmJiB0eXBlb2YgdHJhbnNtaXQuc2VuZCAhPT0gJ2Z1bmN0aW9uJykgeyB0aHJvdyBFcnJvcigncGlubzogdHJhbnNtaXQgb3B0aW9uIG11c3QgaGF2ZSBhIHNlbmQgZnVuY3Rpb24nKSB9XG5cbiAgY29uc3QgcHJvdG8gPSBvcHRzLmJyb3dzZXIud3JpdGUgfHwgX2NvbnNvbGVcbiAgaWYgKG9wdHMuYnJvd3Nlci53cml0ZSkgb3B0cy5icm93c2VyLmFzT2JqZWN0ID0gdHJ1ZVxuICBjb25zdCBzZXJpYWxpemVycyA9IG9wdHMuc2VyaWFsaXplcnMgfHwge31cbiAgY29uc3Qgc2VyaWFsaXplID0gc2hvdWxkU2VyaWFsaXplKG9wdHMuYnJvd3Nlci5zZXJpYWxpemUsIHNlcmlhbGl6ZXJzKVxuICBsZXQgc3RkRXJyU2VyaWFsaXplID0gb3B0cy5icm93c2VyLnNlcmlhbGl6ZVxuXG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KG9wdHMuYnJvd3Nlci5zZXJpYWxpemUpICYmXG4gICAgb3B0cy5icm93c2VyLnNlcmlhbGl6ZS5pbmRleE9mKCchc3RkU2VyaWFsaXplcnMuZXJyJykgPiAtMVxuICApIHN0ZEVyclNlcmlhbGl6ZSA9IGZhbHNlXG5cbiAgY29uc3QgbGV2ZWxzID0gWydlcnJvcicsICdmYXRhbCcsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnLCAndHJhY2UnXVxuXG4gIGlmICh0eXBlb2YgcHJvdG8gPT09ICdmdW5jdGlvbicpIHtcbiAgICBwcm90by5lcnJvciA9IHByb3RvLmZhdGFsID0gcHJvdG8ud2FybiA9XG4gICAgcHJvdG8uaW5mbyA9IHByb3RvLmRlYnVnID0gcHJvdG8udHJhY2UgPSBwcm90b1xuICB9XG4gIGlmIChvcHRzLmVuYWJsZWQgPT09IGZhbHNlKSBvcHRzLmxldmVsID0gJ3NpbGVudCdcbiAgY29uc3QgbGV2ZWwgPSBvcHRzLmxldmVsIHx8ICdpbmZvJ1xuICBjb25zdCBsb2dnZXIgPSBPYmplY3QuY3JlYXRlKHByb3RvKVxuICBpZiAoIWxvZ2dlci5sb2cpIGxvZ2dlci5sb2cgPSBub29wXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxvZ2dlciwgJ2xldmVsVmFsJywge1xuICAgIGdldDogZ2V0TGV2ZWxWYWxcbiAgfSlcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxvZ2dlciwgJ2xldmVsJywge1xuICAgIGdldDogZ2V0TGV2ZWwsXG4gICAgc2V0OiBzZXRMZXZlbFxuICB9KVxuXG4gIGNvbnN0IHNldE9wdHMgPSB7XG4gICAgdHJhbnNtaXQsXG4gICAgc2VyaWFsaXplLFxuICAgIGFzT2JqZWN0OiBvcHRzLmJyb3dzZXIuYXNPYmplY3QsXG4gICAgbGV2ZWxzLFxuICAgIHRpbWVzdGFtcDogZ2V0VGltZUZ1bmN0aW9uKG9wdHMpXG4gIH1cbiAgbG9nZ2VyLmxldmVscyA9IHBpbm8ubGV2ZWxzXG4gIGxvZ2dlci5sZXZlbCA9IGxldmVsXG5cbiAgbG9nZ2VyLnNldE1heExpc3RlbmVycyA9IGxvZ2dlci5nZXRNYXhMaXN0ZW5lcnMgPVxuICBsb2dnZXIuZW1pdCA9IGxvZ2dlci5hZGRMaXN0ZW5lciA9IGxvZ2dlci5vbiA9XG4gIGxvZ2dlci5wcmVwZW5kTGlzdGVuZXIgPSBsb2dnZXIub25jZSA9XG4gIGxvZ2dlci5wcmVwZW5kT25jZUxpc3RlbmVyID0gbG9nZ2VyLnJlbW92ZUxpc3RlbmVyID1cbiAgbG9nZ2VyLnJlbW92ZUFsbExpc3RlbmVycyA9IGxvZ2dlci5saXN0ZW5lcnMgPVxuICBsb2dnZXIubGlzdGVuZXJDb3VudCA9IGxvZ2dlci5ldmVudE5hbWVzID1cbiAgbG9nZ2VyLndyaXRlID0gbG9nZ2VyLmZsdXNoID0gbm9vcFxuICBsb2dnZXIuc2VyaWFsaXplcnMgPSBzZXJpYWxpemVyc1xuICBsb2dnZXIuX3NlcmlhbGl6ZSA9IHNlcmlhbGl6ZVxuICBsb2dnZXIuX3N0ZEVyclNlcmlhbGl6ZSA9IHN0ZEVyclNlcmlhbGl6ZVxuICBsb2dnZXIuY2hpbGQgPSBjaGlsZFxuXG4gIGlmICh0cmFuc21pdCkgbG9nZ2VyLl9sb2dFdmVudCA9IGNyZWF0ZUxvZ0V2ZW50U2hhcGUoKVxuXG4gIGZ1bmN0aW9uIGdldExldmVsVmFsICgpIHtcbiAgICByZXR1cm4gdGhpcy5sZXZlbCA9PT0gJ3NpbGVudCdcbiAgICAgID8gSW5maW5pdHlcbiAgICAgIDogdGhpcy5sZXZlbHMudmFsdWVzW3RoaXMubGV2ZWxdXG4gIH1cblxuICBmdW5jdGlvbiBnZXRMZXZlbCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xldmVsXG4gIH1cbiAgZnVuY3Rpb24gc2V0TGV2ZWwgKGxldmVsKSB7XG4gICAgaWYgKGxldmVsICE9PSAnc2lsZW50JyAmJiAhdGhpcy5sZXZlbHMudmFsdWVzW2xldmVsXSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ3Vua25vd24gbGV2ZWwgJyArIGxldmVsKVxuICAgIH1cbiAgICB0aGlzLl9sZXZlbCA9IGxldmVsXG5cbiAgICBzZXQoc2V0T3B0cywgbG9nZ2VyLCAnZXJyb3InLCAnbG9nJykgLy8gPC0tIG11c3Qgc3RheSBmaXJzdFxuICAgIHNldChzZXRPcHRzLCBsb2dnZXIsICdmYXRhbCcsICdlcnJvcicpXG4gICAgc2V0KHNldE9wdHMsIGxvZ2dlciwgJ3dhcm4nLCAnZXJyb3InKVxuICAgIHNldChzZXRPcHRzLCBsb2dnZXIsICdpbmZvJywgJ2xvZycpXG4gICAgc2V0KHNldE9wdHMsIGxvZ2dlciwgJ2RlYnVnJywgJ2xvZycpXG4gICAgc2V0KHNldE9wdHMsIGxvZ2dlciwgJ3RyYWNlJywgJ2xvZycpXG4gIH1cblxuICBmdW5jdGlvbiBjaGlsZCAoYmluZGluZ3MsIGNoaWxkT3B0aW9ucykge1xuICAgIGlmICghYmluZGluZ3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBiaW5kaW5ncyBmb3IgY2hpbGQgUGlubycpXG4gICAgfVxuICAgIGNoaWxkT3B0aW9ucyA9IGNoaWxkT3B0aW9ucyB8fCB7fVxuICAgIGlmIChzZXJpYWxpemUgJiYgYmluZGluZ3Muc2VyaWFsaXplcnMpIHtcbiAgICAgIGNoaWxkT3B0aW9ucy5zZXJpYWxpemVycyA9IGJpbmRpbmdzLnNlcmlhbGl6ZXJzXG4gICAgfVxuICAgIGNvbnN0IGNoaWxkT3B0aW9uc1NlcmlhbGl6ZXJzID0gY2hpbGRPcHRpb25zLnNlcmlhbGl6ZXJzXG4gICAgaWYgKHNlcmlhbGl6ZSAmJiBjaGlsZE9wdGlvbnNTZXJpYWxpemVycykge1xuICAgICAgdmFyIGNoaWxkU2VyaWFsaXplcnMgPSBPYmplY3QuYXNzaWduKHt9LCBzZXJpYWxpemVycywgY2hpbGRPcHRpb25zU2VyaWFsaXplcnMpXG4gICAgICB2YXIgY2hpbGRTZXJpYWxpemUgPSBvcHRzLmJyb3dzZXIuc2VyaWFsaXplID09PSB0cnVlXG4gICAgICAgID8gT2JqZWN0LmtleXMoY2hpbGRTZXJpYWxpemVycylcbiAgICAgICAgOiBzZXJpYWxpemVcbiAgICAgIGRlbGV0ZSBiaW5kaW5ncy5zZXJpYWxpemVyc1xuICAgICAgYXBwbHlTZXJpYWxpemVycyhbYmluZGluZ3NdLCBjaGlsZFNlcmlhbGl6ZSwgY2hpbGRTZXJpYWxpemVycywgdGhpcy5fc3RkRXJyU2VyaWFsaXplKVxuICAgIH1cbiAgICBmdW5jdGlvbiBDaGlsZCAocGFyZW50KSB7XG4gICAgICB0aGlzLl9jaGlsZExldmVsID0gKHBhcmVudC5fY2hpbGRMZXZlbCB8IDApICsgMVxuICAgICAgdGhpcy5lcnJvciA9IGJpbmQocGFyZW50LCBiaW5kaW5ncywgJ2Vycm9yJylcbiAgICAgIHRoaXMuZmF0YWwgPSBiaW5kKHBhcmVudCwgYmluZGluZ3MsICdmYXRhbCcpXG4gICAgICB0aGlzLndhcm4gPSBiaW5kKHBhcmVudCwgYmluZGluZ3MsICd3YXJuJylcbiAgICAgIHRoaXMuaW5mbyA9IGJpbmQocGFyZW50LCBiaW5kaW5ncywgJ2luZm8nKVxuICAgICAgdGhpcy5kZWJ1ZyA9IGJpbmQocGFyZW50LCBiaW5kaW5ncywgJ2RlYnVnJylcbiAgICAgIHRoaXMudHJhY2UgPSBiaW5kKHBhcmVudCwgYmluZGluZ3MsICd0cmFjZScpXG4gICAgICBpZiAoY2hpbGRTZXJpYWxpemVycykge1xuICAgICAgICB0aGlzLnNlcmlhbGl6ZXJzID0gY2hpbGRTZXJpYWxpemVyc1xuICAgICAgICB0aGlzLl9zZXJpYWxpemUgPSBjaGlsZFNlcmlhbGl6ZVxuICAgICAgfVxuICAgICAgaWYgKHRyYW5zbWl0KSB7XG4gICAgICAgIHRoaXMuX2xvZ0V2ZW50ID0gY3JlYXRlTG9nRXZlbnRTaGFwZShcbiAgICAgICAgICBbXS5jb25jYXQocGFyZW50Ll9sb2dFdmVudC5iaW5kaW5ncywgYmluZGluZ3MpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgQ2hpbGQucHJvdG90eXBlID0gdGhpc1xuICAgIHJldHVybiBuZXcgQ2hpbGQodGhpcylcbiAgfVxuICByZXR1cm4gbG9nZ2VyXG59XG5cbnBpbm8ubGV2ZWxzID0ge1xuICB2YWx1ZXM6IHtcbiAgICBmYXRhbDogNjAsXG4gICAgZXJyb3I6IDUwLFxuICAgIHdhcm46IDQwLFxuICAgIGluZm86IDMwLFxuICAgIGRlYnVnOiAyMCxcbiAgICB0cmFjZTogMTBcbiAgfSxcbiAgbGFiZWxzOiB7XG4gICAgMTA6ICd0cmFjZScsXG4gICAgMjA6ICdkZWJ1ZycsXG4gICAgMzA6ICdpbmZvJyxcbiAgICA0MDogJ3dhcm4nLFxuICAgIDUwOiAnZXJyb3InLFxuICAgIDYwOiAnZmF0YWwnXG4gIH1cbn1cblxucGluby5zdGRTZXJpYWxpemVycyA9IHN0ZFNlcmlhbGl6ZXJzXG5waW5vLnN0ZFRpbWVGdW5jdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB7IG51bGxUaW1lLCBlcG9jaFRpbWUsIHVuaXhUaW1lLCBpc29UaW1lIH0pXG5cbmZ1bmN0aW9uIHNldCAob3B0cywgbG9nZ2VyLCBsZXZlbCwgZmFsbGJhY2spIHtcbiAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YobG9nZ2VyKVxuICBsb2dnZXJbbGV2ZWxdID0gbG9nZ2VyLmxldmVsVmFsID4gbG9nZ2VyLmxldmVscy52YWx1ZXNbbGV2ZWxdXG4gICAgPyBub29wXG4gICAgOiAocHJvdG9bbGV2ZWxdID8gcHJvdG9bbGV2ZWxdIDogKF9jb25zb2xlW2xldmVsXSB8fCBfY29uc29sZVtmYWxsYmFja10gfHwgbm9vcCkpXG5cbiAgd3JhcChvcHRzLCBsb2dnZXIsIGxldmVsKVxufVxuXG5mdW5jdGlvbiB3cmFwIChvcHRzLCBsb2dnZXIsIGxldmVsKSB7XG4gIGlmICghb3B0cy50cmFuc21pdCAmJiBsb2dnZXJbbGV2ZWxdID09PSBub29wKSByZXR1cm5cblxuICBsb2dnZXJbbGV2ZWxdID0gKGZ1bmN0aW9uICh3cml0ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBMT0cgKCkge1xuICAgICAgY29uc3QgdHMgPSBvcHRzLnRpbWVzdGFtcCgpXG4gICAgICBjb25zdCBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpXG4gICAgICBjb25zdCBwcm90byA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpID09PSBfY29uc29sZSkgPyBfY29uc29sZSA6IHRoaXNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXVxuXG4gICAgICBpZiAob3B0cy5zZXJpYWxpemUgJiYgIW9wdHMuYXNPYmplY3QpIHtcbiAgICAgICAgYXBwbHlTZXJpYWxpemVycyhhcmdzLCB0aGlzLl9zZXJpYWxpemUsIHRoaXMuc2VyaWFsaXplcnMsIHRoaXMuX3N0ZEVyclNlcmlhbGl6ZSlcbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLmFzT2JqZWN0KSB3cml0ZS5jYWxsKHByb3RvLCBhc09iamVjdCh0aGlzLCBsZXZlbCwgYXJncywgdHMpKVxuICAgICAgZWxzZSB3cml0ZS5hcHBseShwcm90bywgYXJncylcblxuICAgICAgaWYgKG9wdHMudHJhbnNtaXQpIHtcbiAgICAgICAgY29uc3QgdHJhbnNtaXRMZXZlbCA9IG9wdHMudHJhbnNtaXQubGV2ZWwgfHwgbG9nZ2VyLmxldmVsXG4gICAgICAgIGNvbnN0IHRyYW5zbWl0VmFsdWUgPSBwaW5vLmxldmVscy52YWx1ZXNbdHJhbnNtaXRMZXZlbF1cbiAgICAgICAgY29uc3QgbWV0aG9kVmFsdWUgPSBwaW5vLmxldmVscy52YWx1ZXNbbGV2ZWxdXG4gICAgICAgIGlmIChtZXRob2RWYWx1ZSA8IHRyYW5zbWl0VmFsdWUpIHJldHVyblxuICAgICAgICB0cmFuc21pdCh0aGlzLCB7XG4gICAgICAgICAgdHMsXG4gICAgICAgICAgbWV0aG9kTGV2ZWw6IGxldmVsLFxuICAgICAgICAgIG1ldGhvZFZhbHVlLFxuICAgICAgICAgIHRyYW5zbWl0TGV2ZWwsXG4gICAgICAgICAgdHJhbnNtaXRWYWx1ZTogcGluby5sZXZlbHMudmFsdWVzW29wdHMudHJhbnNtaXQubGV2ZWwgfHwgbG9nZ2VyLmxldmVsXSxcbiAgICAgICAgICBzZW5kOiBvcHRzLnRyYW5zbWl0LnNlbmQsXG4gICAgICAgICAgdmFsOiBsb2dnZXIubGV2ZWxWYWxcbiAgICAgICAgfSwgYXJncylcbiAgICAgIH1cbiAgICB9XG4gIH0pKGxvZ2dlcltsZXZlbF0pXG59XG5cbmZ1bmN0aW9uIGFzT2JqZWN0IChsb2dnZXIsIGxldmVsLCBhcmdzLCB0cykge1xuICBpZiAobG9nZ2VyLl9zZXJpYWxpemUpIGFwcGx5U2VyaWFsaXplcnMoYXJncywgbG9nZ2VyLl9zZXJpYWxpemUsIGxvZ2dlci5zZXJpYWxpemVycywgbG9nZ2VyLl9zdGRFcnJTZXJpYWxpemUpXG4gIGNvbnN0IGFyZ3NDbG9uZWQgPSBhcmdzLnNsaWNlKClcbiAgbGV0IG1zZyA9IGFyZ3NDbG9uZWRbMF1cbiAgY29uc3QgbyA9IHt9XG4gIGlmICh0cykge1xuICAgIG8udGltZSA9IHRzXG4gIH1cbiAgby5sZXZlbCA9IHBpbm8ubGV2ZWxzLnZhbHVlc1tsZXZlbF1cbiAgbGV0IGx2bCA9IChsb2dnZXIuX2NoaWxkTGV2ZWwgfCAwKSArIDFcbiAgaWYgKGx2bCA8IDEpIGx2bCA9IDFcbiAgLy8gZGVsaWJlcmF0ZSwgY2F0Y2hpbmcgb2JqZWN0cywgYXJyYXlzXG4gIGlmIChtc2cgIT09IG51bGwgJiYgdHlwZW9mIG1zZyA9PT0gJ29iamVjdCcpIHtcbiAgICB3aGlsZSAobHZsLS0gJiYgdHlwZW9mIGFyZ3NDbG9uZWRbMF0gPT09ICdvYmplY3QnKSB7XG4gICAgICBPYmplY3QuYXNzaWduKG8sIGFyZ3NDbG9uZWQuc2hpZnQoKSlcbiAgICB9XG4gICAgbXNnID0gYXJnc0Nsb25lZC5sZW5ndGggPyBmb3JtYXQoYXJnc0Nsb25lZC5zaGlmdCgpLCBhcmdzQ2xvbmVkKSA6IHVuZGVmaW5lZFxuICB9IGVsc2UgaWYgKHR5cGVvZiBtc2cgPT09ICdzdHJpbmcnKSBtc2cgPSBmb3JtYXQoYXJnc0Nsb25lZC5zaGlmdCgpLCBhcmdzQ2xvbmVkKVxuICBpZiAobXNnICE9PSB1bmRlZmluZWQpIG8ubXNnID0gbXNnXG4gIHJldHVybiBvXG59XG5cbmZ1bmN0aW9uIGFwcGx5U2VyaWFsaXplcnMgKGFyZ3MsIHNlcmlhbGl6ZSwgc2VyaWFsaXplcnMsIHN0ZEVyclNlcmlhbGl6ZSkge1xuICBmb3IgKGNvbnN0IGkgaW4gYXJncykge1xuICAgIGlmIChzdGRFcnJTZXJpYWxpemUgJiYgYXJnc1tpXSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBhcmdzW2ldID0gcGluby5zdGRTZXJpYWxpemVycy5lcnIoYXJnc1tpXSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzW2ldID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShhcmdzW2ldKSkge1xuICAgICAgZm9yIChjb25zdCBrIGluIGFyZ3NbaV0pIHtcbiAgICAgICAgaWYgKHNlcmlhbGl6ZSAmJiBzZXJpYWxpemUuaW5kZXhPZihrKSA+IC0xICYmIGsgaW4gc2VyaWFsaXplcnMpIHtcbiAgICAgICAgICBhcmdzW2ldW2tdID0gc2VyaWFsaXplcnNba10oYXJnc1tpXVtrXSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBiaW5kIChwYXJlbnQsIGJpbmRpbmdzLCBsZXZlbCkge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGFyZ3MgPSBuZXcgQXJyYXkoMSArIGFyZ3VtZW50cy5sZW5ndGgpXG4gICAgYXJnc1swXSA9IGJpbmRpbmdzXG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2kgLSAxXVxuICAgIH1cbiAgICByZXR1cm4gcGFyZW50W2xldmVsXS5hcHBseSh0aGlzLCBhcmdzKVxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zbWl0IChsb2dnZXIsIG9wdHMsIGFyZ3MpIHtcbiAgY29uc3Qgc2VuZCA9IG9wdHMuc2VuZFxuICBjb25zdCB0cyA9IG9wdHMudHNcbiAgY29uc3QgbWV0aG9kTGV2ZWwgPSBvcHRzLm1ldGhvZExldmVsXG4gIGNvbnN0IG1ldGhvZFZhbHVlID0gb3B0cy5tZXRob2RWYWx1ZVxuICBjb25zdCB2YWwgPSBvcHRzLnZhbFxuICBjb25zdCBiaW5kaW5ncyA9IGxvZ2dlci5fbG9nRXZlbnQuYmluZGluZ3NcblxuICBhcHBseVNlcmlhbGl6ZXJzKFxuICAgIGFyZ3MsXG4gICAgbG9nZ2VyLl9zZXJpYWxpemUgfHwgT2JqZWN0LmtleXMobG9nZ2VyLnNlcmlhbGl6ZXJzKSxcbiAgICBsb2dnZXIuc2VyaWFsaXplcnMsXG4gICAgbG9nZ2VyLl9zdGRFcnJTZXJpYWxpemUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBsb2dnZXIuX3N0ZEVyclNlcmlhbGl6ZVxuICApXG4gIGxvZ2dlci5fbG9nRXZlbnQudHMgPSB0c1xuICBsb2dnZXIuX2xvZ0V2ZW50Lm1lc3NhZ2VzID0gYXJncy5maWx0ZXIoZnVuY3Rpb24gKGFyZykge1xuICAgIC8vIGJpbmRpbmdzIGNhbiBvbmx5IGJlIG9iamVjdHMsIHNvIHJlZmVyZW5jZSBlcXVhbGl0eSBjaGVjayB2aWEgaW5kZXhPZiBpcyBmaW5lXG4gICAgcmV0dXJuIGJpbmRpbmdzLmluZGV4T2YoYXJnKSA9PT0gLTFcbiAgfSlcblxuICBsb2dnZXIuX2xvZ0V2ZW50LmxldmVsLmxhYmVsID0gbWV0aG9kTGV2ZWxcbiAgbG9nZ2VyLl9sb2dFdmVudC5sZXZlbC52YWx1ZSA9IG1ldGhvZFZhbHVlXG5cbiAgc2VuZChtZXRob2RMZXZlbCwgbG9nZ2VyLl9sb2dFdmVudCwgdmFsKVxuXG4gIGxvZ2dlci5fbG9nRXZlbnQgPSBjcmVhdGVMb2dFdmVudFNoYXBlKGJpbmRpbmdzKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dFdmVudFNoYXBlIChiaW5kaW5ncykge1xuICByZXR1cm4ge1xuICAgIHRzOiAwLFxuICAgIG1lc3NhZ2VzOiBbXSxcbiAgICBiaW5kaW5nczogYmluZGluZ3MgfHwgW10sXG4gICAgbGV2ZWw6IHsgbGFiZWw6ICcnLCB2YWx1ZTogMCB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNFcnJWYWx1ZSAoZXJyKSB7XG4gIGNvbnN0IG9iaiA9IHtcbiAgICB0eXBlOiBlcnIuY29uc3RydWN0b3IubmFtZSxcbiAgICBtc2c6IGVyci5tZXNzYWdlLFxuICAgIHN0YWNrOiBlcnIuc3RhY2tcbiAgfVxuICBmb3IgKGNvbnN0IGtleSBpbiBlcnIpIHtcbiAgICBpZiAob2JqW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgb2JqW2tleV0gPSBlcnJba2V5XVxuICAgIH1cbiAgfVxuICByZXR1cm4gb2JqXG59XG5cbmZ1bmN0aW9uIGdldFRpbWVGdW5jdGlvbiAob3B0cykge1xuICBpZiAodHlwZW9mIG9wdHMudGltZXN0YW1wID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG9wdHMudGltZXN0YW1wXG4gIH1cbiAgaWYgKG9wdHMudGltZXN0YW1wID09PSBmYWxzZSkge1xuICAgIHJldHVybiBudWxsVGltZVxuICB9XG4gIHJldHVybiBlcG9jaFRpbWVcbn1cblxuZnVuY3Rpb24gbW9jayAoKSB7IHJldHVybiB7fSB9XG5mdW5jdGlvbiBwYXNzdGhyb3VnaCAoYSkgeyByZXR1cm4gYSB9XG5mdW5jdGlvbiBub29wICgpIHt9XG5cbmZ1bmN0aW9uIG51bGxUaW1lICgpIHsgcmV0dXJuIGZhbHNlIH1cbmZ1bmN0aW9uIGVwb2NoVGltZSAoKSB7IHJldHVybiBEYXRlLm5vdygpIH1cbmZ1bmN0aW9uIHVuaXhUaW1lICgpIHsgcmV0dXJuIE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDAuMCkgfVxuZnVuY3Rpb24gaXNvVGltZSAoKSB7IHJldHVybiBuZXcgRGF0ZShEYXRlLm5vdygpKS50b0lTT1N0cmluZygpIH0gLy8gdXNpbmcgRGF0ZS5ub3coKSBmb3IgdGVzdGFiaWxpdHlcblxuLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5mdW5jdGlvbiBwZkdsb2JhbFRoaXNPckZhbGxiYWNrICgpIHtcbiAgZnVuY3Rpb24gZGVmZCAobykgeyByZXR1cm4gdHlwZW9mIG8gIT09ICd1bmRlZmluZWQnICYmIG8gfVxuICB0cnkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcpIHJldHVybiBnbG9iYWxUaGlzXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICdnbG9iYWxUaGlzJywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmdsb2JhbFRoaXNcbiAgICAgICAgcmV0dXJuICh0aGlzLmdsb2JhbFRoaXMgPSB0aGlzKVxuICAgICAgfSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pXG4gICAgcmV0dXJuIGdsb2JhbFRoaXNcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZkKHNlbGYpIHx8IGRlZmQod2luZG93KSB8fCBkZWZkKHRoaXMpIHx8IHt9XG4gIH1cbn1cbi8qIGVzbGludC1lbmFibGUgKi9cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/pino/browser.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_walletconnect_legacy-provider_dist_esm_index_js.js b/.next/static/chunks/node_modules_walletconnect_legacy-provider_dist_esm_index_js.js deleted file mode 100644 index b10d231..0000000 --- a/.next/static/chunks/node_modules_walletconnect_legacy-provider_dist_esm_index_js.js +++ /dev/null @@ -1,1918 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_walletconnect_legacy-provider_dist_esm_index_js"],{ - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/browser/aes.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/browser/aes.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ aesCbcDecrypt: function() { return /* binding */ aesCbcDecrypt; },\n/* harmony export */ aesCbcEncrypt: function() { return /* binding */ aesCbcEncrypt; }\n/* harmony export */ });\n/* harmony import */ var _lib_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/browser */ \"./node_modules/@walletconnect/crypto/dist/esm/lib/browser.js\");\n\nfunction aesCbcEncrypt(iv, key, data) {\n return (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserAesEncrypt)(iv, key, data);\n}\nfunction aesCbcDecrypt(iv, key, data) {\n return (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserAesDecrypt)(iv, key, data);\n}\n//# sourceMappingURL=aes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2Jyb3dzZXIvYWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFzRTtBQUMvRDtBQUNQLFdBQVcsK0RBQWlCO0FBQzVCO0FBQ087QUFDUCxXQUFXLCtEQUFpQjtBQUM1QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9jcnlwdG8vZGlzdC9lc20vYnJvd3Nlci9hZXMuanM/OGZjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicm93c2VyQWVzRGVjcnlwdCwgYnJvd3NlckFlc0VuY3J5cHQgfSBmcm9tIFwiLi4vbGliL2Jyb3dzZXJcIjtcbmV4cG9ydCBmdW5jdGlvbiBhZXNDYmNFbmNyeXB0KGl2LCBrZXksIGRhdGEpIHtcbiAgICByZXR1cm4gYnJvd3NlckFlc0VuY3J5cHQoaXYsIGtleSwgZGF0YSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYWVzQ2JjRGVjcnlwdChpdiwga2V5LCBkYXRhKSB7XG4gICAgcmV0dXJuIGJyb3dzZXJBZXNEZWNyeXB0KGl2LCBrZXksIGRhdGEpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/browser/aes.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/browser/hmac.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/browser/hmac.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hmacSha256Sign: function() { return /* binding */ hmacSha256Sign; },\n/* harmony export */ hmacSha256Verify: function() { return /* binding */ hmacSha256Verify; },\n/* harmony export */ hmacSha512Sign: function() { return /* binding */ hmacSha512Sign; },\n/* harmony export */ hmacSha512Verify: function() { return /* binding */ hmacSha512Verify; }\n/* harmony export */ });\n/* harmony import */ var _lib_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/browser */ \"./node_modules/@walletconnect/crypto/dist/esm/lib/browser.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers */ \"./node_modules/@walletconnect/crypto/dist/esm/helpers/index.js\");\n\n\nasync function hmacSha256Sign(key, msg) {\n const result = await (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserHmacSha256Sign)(key, msg);\n return result;\n}\nasync function hmacSha256Verify(key, msg, sig) {\n const expectedSig = await (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserHmacSha256Sign)(key, msg);\n const result = (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.isConstantTime)(expectedSig, sig);\n return result;\n}\nasync function hmacSha512Sign(key, msg) {\n const result = await (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserHmacSha512Sign)(key, msg);\n return result;\n}\nasync function hmacSha512Verify(key, msg, sig) {\n const expectedSig = await (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserHmacSha512Sign)(key, msg);\n const result = (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.isConstantTime)(expectedSig, sig);\n return result;\n}\n//# sourceMappingURL=hmac.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2Jyb3dzZXIvaG1hYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBOEU7QUFDbEM7QUFDckM7QUFDUCx5QkFBeUIsbUVBQXFCO0FBQzlDO0FBQ0E7QUFDTztBQUNQLDhCQUE4QixtRUFBcUI7QUFDbkQsbUJBQW1CLHdEQUFjO0FBQ2pDO0FBQ0E7QUFDTztBQUNQLHlCQUF5QixtRUFBcUI7QUFDOUM7QUFDQTtBQUNPO0FBQ1AsOEJBQThCLG1FQUFxQjtBQUNuRCxtQkFBbUIsd0RBQWM7QUFDakM7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9jcnlwdG8vZGlzdC9lc20vYnJvd3Nlci9obWFjLmpzPzViMGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnJvd3NlckhtYWNTaGEyNTZTaWduLCBicm93c2VySG1hY1NoYTUxMlNpZ24gfSBmcm9tIFwiLi4vbGliL2Jyb3dzZXJcIjtcbmltcG9ydCB7IGlzQ29uc3RhbnRUaW1lIH0gZnJvbSBcIi4uL2hlbHBlcnNcIjtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBobWFjU2hhMjU2U2lnbihrZXksIG1zZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJyb3dzZXJIbWFjU2hhMjU2U2lnbihrZXksIG1zZyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBobWFjU2hhMjU2VmVyaWZ5KGtleSwgbXNnLCBzaWcpIHtcbiAgICBjb25zdCBleHBlY3RlZFNpZyA9IGF3YWl0IGJyb3dzZXJIbWFjU2hhMjU2U2lnbihrZXksIG1zZyk7XG4gICAgY29uc3QgcmVzdWx0ID0gaXNDb25zdGFudFRpbWUoZXhwZWN0ZWRTaWcsIHNpZyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBobWFjU2hhNTEyU2lnbihrZXksIG1zZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJyb3dzZXJIbWFjU2hhNTEyU2lnbihrZXksIG1zZyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBobWFjU2hhNTEyVmVyaWZ5KGtleSwgbXNnLCBzaWcpIHtcbiAgICBjb25zdCBleHBlY3RlZFNpZyA9IGF3YWl0IGJyb3dzZXJIbWFjU2hhNTEyU2lnbihrZXksIG1zZyk7XG4gICAgY29uc3QgcmVzdWx0ID0gaXNDb25zdGFudFRpbWUoZXhwZWN0ZWRTaWcsIHNpZyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhtYWMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/browser/hmac.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/browser/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/browser/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_randombytes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/randombytes */ \"./node_modules/@walletconnect/randombytes/dist/esm/browser/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _walletconnect_randombytes__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _walletconnect_randombytes__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _aes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./aes */ \"./node_modules/@walletconnect/crypto/dist/esm/browser/aes.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _aes__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _aes__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _hmac__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hmac */ \"./node_modules/@walletconnect/crypto/dist/esm/browser/hmac.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _hmac__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _hmac__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _sha2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sha2 */ \"./node_modules/@walletconnect/crypto/dist/esm/browser/sha2.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _sha2__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _sha2__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers */ \"./node_modules/@walletconnect/crypto/dist/esm/helpers/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _helpers__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _helpers__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _constants__WEBPACK_IMPORTED_MODULE_5__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _constants__WEBPACK_IMPORTED_MODULE_5__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2Jyb3dzZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEyQztBQUNyQjtBQUNDO0FBQ0E7QUFDSTtBQUNFO0FBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9jcnlwdG8vZGlzdC9lc20vYnJvd3Nlci9pbmRleC5qcz9lZjMyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAd2FsbGV0Y29ubmVjdC9yYW5kb21ieXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9obWFjXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zaGEyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vaGVscGVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/browser/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/browser/sha2.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/browser/sha2.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ripemd160: function() { return /* binding */ ripemd160; },\n/* harmony export */ sha256: function() { return /* binding */ sha256; },\n/* harmony export */ sha512: function() { return /* binding */ sha512; }\n/* harmony export */ });\n/* harmony import */ var _lib_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/browser */ \"./node_modules/@walletconnect/crypto/dist/esm/lib/browser.js\");\n\nasync function sha256(msg) {\n const result = await (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserSha256)(msg);\n return result;\n}\nasync function sha512(msg) {\n const result = await (0,_lib_browser__WEBPACK_IMPORTED_MODULE_0__.browserSha512)(msg);\n return result;\n}\nasync function ripemd160(msg) {\n throw new Error(\"Not supported for Browser async methods, use sync instead!\");\n}\n//# sourceMappingURL=sha2.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2Jyb3dzZXIvc2hhMi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQThEO0FBQ3ZEO0FBQ1AseUJBQXlCLDJEQUFhO0FBQ3RDO0FBQ0E7QUFDTztBQUNQLHlCQUF5QiwyREFBYTtBQUN0QztBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2NyeXB0by9kaXN0L2VzbS9icm93c2VyL3NoYTIuanM/Y2YzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicm93c2VyU2hhMjU2LCBicm93c2VyU2hhNTEyIH0gZnJvbSBcIi4uL2xpYi9icm93c2VyXCI7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hhMjU2KG1zZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJyb3dzZXJTaGEyNTYobXNnKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNoYTUxMihtc2cpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBicm93c2VyU2hhNTEyKG1zZyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByaXBlbWQxNjAobXNnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IHN1cHBvcnRlZCBmb3IgQnJvd3NlciBhc3luYyBtZXRob2RzLCB1c2Ugc3luYyBpbnN0ZWFkIVwiKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNoYTIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/browser/sha2.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/constants/default.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/constants/default.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AES_BROWSER_ALGO: function() { return /* binding */ AES_BROWSER_ALGO; },\n/* harmony export */ AES_LENGTH: function() { return /* binding */ AES_LENGTH; },\n/* harmony export */ AES_NODE_ALGO: function() { return /* binding */ AES_NODE_ALGO; },\n/* harmony export */ HMAC_BROWSER: function() { return /* binding */ HMAC_BROWSER; },\n/* harmony export */ HMAC_BROWSER_ALGO: function() { return /* binding */ HMAC_BROWSER_ALGO; },\n/* harmony export */ HMAC_LENGTH: function() { return /* binding */ HMAC_LENGTH; },\n/* harmony export */ HMAC_NODE_ALGO: function() { return /* binding */ HMAC_NODE_ALGO; },\n/* harmony export */ IV_LENGTH: function() { return /* binding */ IV_LENGTH; },\n/* harmony export */ KEY_LENGTH: function() { return /* binding */ KEY_LENGTH; },\n/* harmony export */ MAC_LENGTH: function() { return /* binding */ MAC_LENGTH; },\n/* harmony export */ PREFIX_LENGTH: function() { return /* binding */ PREFIX_LENGTH; },\n/* harmony export */ RIPEMD160_NODE_ALGO: function() { return /* binding */ RIPEMD160_NODE_ALGO; },\n/* harmony export */ SHA256_BROWSER_ALGO: function() { return /* binding */ SHA256_BROWSER_ALGO; },\n/* harmony export */ SHA256_NODE_ALGO: function() { return /* binding */ SHA256_NODE_ALGO; },\n/* harmony export */ SHA512_BROWSER_ALGO: function() { return /* binding */ SHA512_BROWSER_ALGO; },\n/* harmony export */ SHA512_NODE_ALGO: function() { return /* binding */ SHA512_NODE_ALGO; }\n/* harmony export */ });\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./length */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/length.js\");\n\nconst AES_LENGTH = _length__WEBPACK_IMPORTED_MODULE_0__.LENGTH_256;\nconst HMAC_LENGTH = _length__WEBPACK_IMPORTED_MODULE_0__.LENGTH_256;\nconst AES_BROWSER_ALGO = \"AES-CBC\";\nconst HMAC_BROWSER_ALGO = `SHA-${AES_LENGTH}`;\nconst HMAC_BROWSER = \"HMAC\";\nconst SHA256_BROWSER_ALGO = \"SHA-256\";\nconst SHA512_BROWSER_ALGO = \"SHA-512\";\nconst AES_NODE_ALGO = `aes-${AES_LENGTH}-cbc`;\nconst HMAC_NODE_ALGO = `sha${HMAC_LENGTH}`;\nconst SHA256_NODE_ALGO = \"sha256\";\nconst SHA512_NODE_ALGO = \"sha512\";\nconst RIPEMD160_NODE_ALGO = \"ripemd160\";\nconst PREFIX_LENGTH = _length__WEBPACK_IMPORTED_MODULE_0__.LENGTH_1;\nconst KEY_LENGTH = _length__WEBPACK_IMPORTED_MODULE_0__.LENGTH_32;\nconst IV_LENGTH = _length__WEBPACK_IMPORTED_MODULE_0__.LENGTH_16;\nconst MAC_LENGTH = _length__WEBPACK_IMPORTED_MODULE_0__.LENGTH_32;\n//# sourceMappingURL=default.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9kZWZhdWx0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXNFO0FBQy9ELG1CQUFtQiwrQ0FBVTtBQUM3QixvQkFBb0IsK0NBQVU7QUFDOUI7QUFDQSxpQ0FBaUMsV0FBVztBQUM1QztBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsV0FBVztBQUN4Qyw2QkFBNkIsWUFBWTtBQUN6QztBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsNkNBQVE7QUFDOUIsbUJBQW1CLDhDQUFTO0FBQzVCLGtCQUFrQiw4Q0FBUztBQUMzQixtQkFBbUIsOENBQVM7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2NyeXB0by9kaXN0L2VzbS9jb25zdGFudHMvZGVmYXVsdC5qcz80NThmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExFTkdUSF8xLCBMRU5HVEhfMzIsIExFTkdUSF8xNiwgTEVOR1RIXzI1NiB9IGZyb20gXCIuL2xlbmd0aFwiO1xuZXhwb3J0IGNvbnN0IEFFU19MRU5HVEggPSBMRU5HVEhfMjU2O1xuZXhwb3J0IGNvbnN0IEhNQUNfTEVOR1RIID0gTEVOR1RIXzI1NjtcbmV4cG9ydCBjb25zdCBBRVNfQlJPV1NFUl9BTEdPID0gXCJBRVMtQ0JDXCI7XG5leHBvcnQgY29uc3QgSE1BQ19CUk9XU0VSX0FMR08gPSBgU0hBLSR7QUVTX0xFTkdUSH1gO1xuZXhwb3J0IGNvbnN0IEhNQUNfQlJPV1NFUiA9IFwiSE1BQ1wiO1xuZXhwb3J0IGNvbnN0IFNIQTI1Nl9CUk9XU0VSX0FMR08gPSBcIlNIQS0yNTZcIjtcbmV4cG9ydCBjb25zdCBTSEE1MTJfQlJPV1NFUl9BTEdPID0gXCJTSEEtNTEyXCI7XG5leHBvcnQgY29uc3QgQUVTX05PREVfQUxHTyA9IGBhZXMtJHtBRVNfTEVOR1RIfS1jYmNgO1xuZXhwb3J0IGNvbnN0IEhNQUNfTk9ERV9BTEdPID0gYHNoYSR7SE1BQ19MRU5HVEh9YDtcbmV4cG9ydCBjb25zdCBTSEEyNTZfTk9ERV9BTEdPID0gXCJzaGEyNTZcIjtcbmV4cG9ydCBjb25zdCBTSEE1MTJfTk9ERV9BTEdPID0gXCJzaGE1MTJcIjtcbmV4cG9ydCBjb25zdCBSSVBFTUQxNjBfTk9ERV9BTEdPID0gXCJyaXBlbWQxNjBcIjtcbmV4cG9ydCBjb25zdCBQUkVGSVhfTEVOR1RIID0gTEVOR1RIXzE7XG5leHBvcnQgY29uc3QgS0VZX0xFTkdUSCA9IExFTkdUSF8zMjtcbmV4cG9ydCBjb25zdCBJVl9MRU5HVEggPSBMRU5HVEhfMTY7XG5leHBvcnQgY29uc3QgTUFDX0xFTkdUSCA9IExFTkdUSF8zMjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlZmF1bHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/constants/default.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/constants/encoding.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/constants/encoding.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HEX_ENC: function() { return /* binding */ HEX_ENC; },\n/* harmony export */ UTF8_ENC: function() { return /* binding */ UTF8_ENC; }\n/* harmony export */ });\nconst HEX_ENC = \"hex\";\nconst UTF8_ENC = \"utf8\";\n//# sourceMappingURL=encoding.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9lbmNvZGluZy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPO0FBQ0E7QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9lbmNvZGluZy5qcz9kYjBlIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBIRVhfRU5DID0gXCJoZXhcIjtcbmV4cG9ydCBjb25zdCBVVEY4X0VOQyA9IFwidXRmOFwiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RpbmcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/constants/encoding.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/constants/error.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/constants/error.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ERROR_BAD_MAC: function() { return /* binding */ ERROR_BAD_MAC; }\n/* harmony export */ });\nconst ERROR_BAD_MAC = \"Bad MAC\";\n//# sourceMappingURL=error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9lcnJvci5qcz9jN2IzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBFUlJPUl9CQURfTUFDID0gXCJCYWQgTUFDXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/constants/error.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/constants/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/constants/index.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./default */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/default.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _default__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _default__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encoding */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/encoding.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _encoding__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _encoding__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./error */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/error.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _error__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _error__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./length */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/length.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _length__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _length__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./operations */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/operations.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _operations__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _operations__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMEI7QUFDQztBQUNIO0FBQ0M7QUFDSTtBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9pbmRleC5qcz84ZTM2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RlZmF1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VuY29kaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGVuZ3RoXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vcGVyYXRpb25zXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/constants/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/constants/length.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/constants/length.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LENGTH_0: function() { return /* binding */ LENGTH_0; },\n/* harmony export */ LENGTH_1: function() { return /* binding */ LENGTH_1; },\n/* harmony export */ LENGTH_1024: function() { return /* binding */ LENGTH_1024; },\n/* harmony export */ LENGTH_128: function() { return /* binding */ LENGTH_128; },\n/* harmony export */ LENGTH_16: function() { return /* binding */ LENGTH_16; },\n/* harmony export */ LENGTH_256: function() { return /* binding */ LENGTH_256; },\n/* harmony export */ LENGTH_32: function() { return /* binding */ LENGTH_32; },\n/* harmony export */ LENGTH_512: function() { return /* binding */ LENGTH_512; },\n/* harmony export */ LENGTH_64: function() { return /* binding */ LENGTH_64; }\n/* harmony export */ });\nconst LENGTH_0 = 0;\nconst LENGTH_1 = 1;\nconst LENGTH_16 = 16;\nconst LENGTH_32 = 32;\nconst LENGTH_64 = 64;\nconst LENGTH_128 = 128;\nconst LENGTH_256 = 256;\nconst LENGTH_512 = 512;\nconst LENGTH_1024 = 1024;\n//# sourceMappingURL=length.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9sZW5ndGguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQU87QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2NyeXB0by9kaXN0L2VzbS9jb25zdGFudHMvbGVuZ3RoLmpzPzNhZDAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IExFTkdUSF8wID0gMDtcbmV4cG9ydCBjb25zdCBMRU5HVEhfMSA9IDE7XG5leHBvcnQgY29uc3QgTEVOR1RIXzE2ID0gMTY7XG5leHBvcnQgY29uc3QgTEVOR1RIXzMyID0gMzI7XG5leHBvcnQgY29uc3QgTEVOR1RIXzY0ID0gNjQ7XG5leHBvcnQgY29uc3QgTEVOR1RIXzEyOCA9IDEyODtcbmV4cG9ydCBjb25zdCBMRU5HVEhfMjU2ID0gMjU2O1xuZXhwb3J0IGNvbnN0IExFTkdUSF81MTIgPSA1MTI7XG5leHBvcnQgY29uc3QgTEVOR1RIXzEwMjQgPSAxMDI0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGVuZ3RoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/constants/length.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/constants/operations.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/constants/operations.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DECRYPT_OP: function() { return /* binding */ DECRYPT_OP; },\n/* harmony export */ ENCRYPT_OP: function() { return /* binding */ ENCRYPT_OP; },\n/* harmony export */ SIGN_OP: function() { return /* binding */ SIGN_OP; },\n/* harmony export */ VERIFY_OP: function() { return /* binding */ VERIFY_OP; }\n/* harmony export */ });\nconst ENCRYPT_OP = \"encrypt\";\nconst DECRYPT_OP = \"decrypt\";\nconst SIGN_OP = \"sign\";\nconst VERIFY_OP = \"verify\";\n//# sourceMappingURL=operations.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2NvbnN0YW50cy9vcGVyYXRpb25zLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTztBQUNBO0FBQ0E7QUFDQTtBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9jcnlwdG8vZGlzdC9lc20vY29uc3RhbnRzL29wZXJhdGlvbnMuanM/ZTQ3MSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRU5DUllQVF9PUCA9IFwiZW5jcnlwdFwiO1xuZXhwb3J0IGNvbnN0IERFQ1JZUFRfT1AgPSBcImRlY3J5cHRcIjtcbmV4cG9ydCBjb25zdCBTSUdOX09QID0gXCJzaWduXCI7XG5leHBvcnQgY29uc3QgVkVSSUZZX09QID0gXCJ2ZXJpZnlcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wZXJhdGlvbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/constants/operations.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/helpers/env.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/helpers/env.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/environment */ \"./node_modules/@walletconnect/environment/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=env.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvZW52LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUEyQztBQUMzQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvZW52LmpzPzA5OWMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIkB3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50XCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/helpers/env.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/helpers/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/helpers/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env */ \"./node_modules/@walletconnect/crypto/dist/esm/helpers/env.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _env__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _env__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _pkcs7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pkcs7 */ \"./node_modules/@walletconnect/crypto/dist/esm/helpers/pkcs7.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _pkcs7__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _pkcs7__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/crypto/dist/esm/helpers/types.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _types__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validators */ \"./node_modules/@walletconnect/crypto/dist/esm/helpers/validators.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validators__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validators__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXNCO0FBQ0U7QUFDQTtBQUNLO0FBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9jcnlwdG8vZGlzdC9lc20vaGVscGVycy9pbmRleC5qcz80ZmNjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2VudlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGtjczdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/helpers/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/helpers/pkcs7.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/helpers/pkcs7.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pkcs7: function() { return /* binding */ pkcs7; }\n/* harmony export */ });\nconst PADDING = [\n [16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16],\n [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15],\n [14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14],\n [13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13],\n [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12],\n [11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11],\n [10, 10, 10, 10, 10, 10, 10, 10, 10, 10],\n [9, 9, 9, 9, 9, 9, 9, 9, 9],\n [8, 8, 8, 8, 8, 8, 8, 8],\n [7, 7, 7, 7, 7, 7, 7],\n [6, 6, 6, 6, 6, 6],\n [5, 5, 5, 5, 5],\n [4, 4, 4, 4],\n [3, 3, 3],\n [2, 2],\n [1],\n];\nconst pkcs7 = {\n pad(plaintext) {\n const padding = PADDING[plaintext.byteLength % 16 || 0];\n const result = new Uint8Array(plaintext.byteLength + padding.length);\n result.set(plaintext);\n result.set(padding, plaintext.byteLength);\n return result;\n },\n unpad(padded) {\n return padded.subarray(0, padded.byteLength - padded[padded.byteLength - 1]);\n },\n};\n//# sourceMappingURL=pkcs7.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvcGtjczcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvcGtjczcuanM/MWI4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBQQURESU5HID0gW1xuICAgIFsxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNl0sXG4gICAgWzE1LCAxNSwgMTUsIDE1LCAxNSwgMTUsIDE1LCAxNSwgMTUsIDE1LCAxNSwgMTUsIDE1LCAxNSwgMTVdLFxuICAgIFsxNCwgMTQsIDE0LCAxNCwgMTQsIDE0LCAxNCwgMTQsIDE0LCAxNCwgMTQsIDE0LCAxNCwgMTRdLFxuICAgIFsxMywgMTMsIDEzLCAxMywgMTMsIDEzLCAxMywgMTMsIDEzLCAxMywgMTMsIDEzLCAxM10sXG4gICAgWzEyLCAxMiwgMTIsIDEyLCAxMiwgMTIsIDEyLCAxMiwgMTIsIDEyLCAxMiwgMTJdLFxuICAgIFsxMSwgMTEsIDExLCAxMSwgMTEsIDExLCAxMSwgMTEsIDExLCAxMSwgMTFdLFxuICAgIFsxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMF0sXG4gICAgWzksIDksIDksIDksIDksIDksIDksIDksIDldLFxuICAgIFs4LCA4LCA4LCA4LCA4LCA4LCA4LCA4XSxcbiAgICBbNywgNywgNywgNywgNywgNywgN10sXG4gICAgWzYsIDYsIDYsIDYsIDYsIDZdLFxuICAgIFs1LCA1LCA1LCA1LCA1XSxcbiAgICBbNCwgNCwgNCwgNF0sXG4gICAgWzMsIDMsIDNdLFxuICAgIFsyLCAyXSxcbiAgICBbMV0sXG5dO1xuZXhwb3J0IGNvbnN0IHBrY3M3ID0ge1xuICAgIHBhZChwbGFpbnRleHQpIHtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IFBBRERJTkdbcGxhaW50ZXh0LmJ5dGVMZW5ndGggJSAxNiB8fCAwXTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkocGxhaW50ZXh0LmJ5dGVMZW5ndGggKyBwYWRkaW5nLmxlbmd0aCk7XG4gICAgICAgIHJlc3VsdC5zZXQocGxhaW50ZXh0KTtcbiAgICAgICAgcmVzdWx0LnNldChwYWRkaW5nLCBwbGFpbnRleHQuYnl0ZUxlbmd0aCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgICB1bnBhZChwYWRkZWQpIHtcbiAgICAgICAgcmV0dXJuIHBhZGRlZC5zdWJhcnJheSgwLCBwYWRkZWQuYnl0ZUxlbmd0aCAtIHBhZGRlZFtwYWRkZWQuYnl0ZUxlbmd0aCAtIDFdKTtcbiAgICB9LFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBrY3M3LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/helpers/pkcs7.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/helpers/types.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/helpers/types.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvdHlwZXMuanMiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2NyeXB0by9kaXN0L2VzbS9oZWxwZXJzL3R5cGVzLmpzPzRkZTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHlwZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/helpers/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/helpers/validators.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/helpers/validators.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assert: function() { return /* binding */ assert; },\n/* harmony export */ isConstantTime: function() { return /* binding */ isConstantTime; }\n/* harmony export */ });\nfunction assert(condition, message) {\n if (!condition) {\n throw new Error(message || \"Assertion failed\");\n }\n}\nfunction isConstantTime(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n let res = 0;\n for (let i = 0; i < arr1.length; i++) {\n res |= arr1[i] ^ arr2[i];\n }\n return res === 0;\n}\n//# sourceMappingURL=validators.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2hlbHBlcnMvdmFsaWRhdG9ycy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9jcnlwdG8vZGlzdC9lc20vaGVscGVycy92YWxpZGF0b3JzLmpzPzMyNGQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24sIG1lc3NhZ2UpIHtcbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSB8fCBcIkFzc2VydGlvbiBmYWlsZWRcIik7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uc3RhbnRUaW1lKGFycjEsIGFycjIpIHtcbiAgICBpZiAoYXJyMS5sZW5ndGggIT09IGFycjIubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgbGV0IHJlcyA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIxLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlcyB8PSBhcnIxW2ldIF4gYXJyMltpXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcyA9PT0gMDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZhbGlkYXRvcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/helpers/validators.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/crypto/dist/esm/lib/browser.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/crypto/dist/esm/lib/browser.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ browserAesDecrypt: function() { return /* binding */ browserAesDecrypt; },\n/* harmony export */ browserAesEncrypt: function() { return /* binding */ browserAesEncrypt; },\n/* harmony export */ browserExportKey: function() { return /* binding */ browserExportKey; },\n/* harmony export */ browserHmacSha256Sign: function() { return /* binding */ browserHmacSha256Sign; },\n/* harmony export */ browserHmacSha512Sign: function() { return /* binding */ browserHmacSha512Sign; },\n/* harmony export */ browserImportKey: function() { return /* binding */ browserImportKey; },\n/* harmony export */ browserSha256: function() { return /* binding */ browserSha256; },\n/* harmony export */ browserSha512: function() { return /* binding */ browserSha512; },\n/* harmony export */ getAlgo: function() { return /* binding */ getAlgo; },\n/* harmony export */ getOps: function() { return /* binding */ getOps; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/environment */ \"./node_modules/@walletconnect/environment/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ \"./node_modules/@walletconnect/crypto/dist/esm/constants/index.js\");\n\n\nfunction getAlgo(type) {\n return type === _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO\n ? { length: _constants__WEBPACK_IMPORTED_MODULE_1__.AES_LENGTH, name: _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO }\n : {\n hash: { name: _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_BROWSER_ALGO },\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_BROWSER,\n };\n}\nfunction getOps(type) {\n return type === _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO\n ? [_constants__WEBPACK_IMPORTED_MODULE_1__.ENCRYPT_OP, _constants__WEBPACK_IMPORTED_MODULE_1__.DECRYPT_OP]\n : [_constants__WEBPACK_IMPORTED_MODULE_1__.SIGN_OP, _constants__WEBPACK_IMPORTED_MODULE_1__.VERIFY_OP];\n}\nasync function browserExportKey(cryptoKey, type = _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n return new Uint8Array(await subtle.exportKey(\"raw\", cryptoKey));\n}\nasync function browserImportKey(buffer, type = _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO) {\n return _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto().importKey(\"raw\", buffer, getAlgo(type), true, getOps(type));\n}\nasync function browserAesEncrypt(iv, key, data) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO);\n const result = await subtle.encrypt({\n iv,\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO,\n }, cryptoKey, data);\n return new Uint8Array(result);\n}\nasync function browserAesDecrypt(iv, key, data) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO);\n const result = await subtle.decrypt({\n iv,\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.AES_BROWSER_ALGO,\n }, cryptoKey, data);\n return new Uint8Array(result);\n}\nasync function browserHmacSha256Sign(key, data) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_BROWSER);\n const signature = await subtle.sign({\n length: _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_LENGTH,\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_BROWSER,\n }, cryptoKey, data);\n return new Uint8Array(signature);\n}\nasync function browserHmacSha512Sign(key, data) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_BROWSER);\n const signature = await subtle.sign({\n length: _constants__WEBPACK_IMPORTED_MODULE_1__.LENGTH_512,\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.HMAC_BROWSER,\n }, cryptoKey, data);\n return new Uint8Array(signature);\n}\nasync function browserSha256(data) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n const result = await subtle.digest({\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.SHA256_BROWSER_ALGO,\n }, data);\n return new Uint8Array(result);\n}\nasync function browserSha512(data) {\n const subtle = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getSubtleCrypto();\n const result = await subtle.digest({\n name: _constants__WEBPACK_IMPORTED_MODULE_1__.SHA512_BROWSER_ALGO,\n }, data);\n return new Uint8Array(result);\n}\n//# sourceMappingURL=browser.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvY3J5cHRvL2Rpc3QvZXNtL2xpYi9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBa0Q7QUFDMko7QUFDdE07QUFDUCxvQkFBb0Isd0RBQWdCO0FBQ3BDLFlBQVksUUFBUSxrREFBVSxRQUFRLHdEQUFnQjtBQUN0RDtBQUNBLG9CQUFvQixNQUFNLHlEQUFpQixFQUFFO0FBQzdDLGtCQUFrQixvREFBWTtBQUM5QjtBQUNBO0FBQ087QUFDUCxvQkFBb0Isd0RBQWdCO0FBQ3BDLFdBQVcsa0RBQVUsRUFBRSxrREFBVTtBQUNqQyxXQUFXLCtDQUFPLEVBQUUsaURBQVM7QUFDN0I7QUFDTyxrREFBa0Qsd0RBQWdCO0FBQ3pFLG1CQUFtQix1RUFBbUI7QUFDdEM7QUFDQTtBQUNPLCtDQUErQyx3REFBZ0I7QUFDdEUsV0FBVyx1RUFBbUI7QUFDOUI7QUFDTztBQUNQLG1CQUFtQix1RUFBbUI7QUFDdEMsa0RBQWtELHdEQUFnQjtBQUNsRTtBQUNBO0FBQ0EsY0FBYyx3REFBZ0I7QUFDOUIsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQLG1CQUFtQix1RUFBbUI7QUFDdEMsa0RBQWtELHdEQUFnQjtBQUNsRTtBQUNBO0FBQ0EsY0FBYyx3REFBZ0I7QUFDOUIsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQLG1CQUFtQix1RUFBbUI7QUFDdEMsa0RBQWtELG9EQUFZO0FBQzlEO0FBQ0EsZ0JBQWdCLG1EQUFXO0FBQzNCLGNBQWMsb0RBQVk7QUFDMUIsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQLG1CQUFtQix1RUFBbUI7QUFDdEMsa0RBQWtELG9EQUFZO0FBQzlEO0FBQ0EsZ0JBQWdCLGtEQUFVO0FBQzFCLGNBQWMsb0RBQVk7QUFDMUIsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQLG1CQUFtQix1RUFBbUI7QUFDdEM7QUFDQSxjQUFjLDJEQUFtQjtBQUNqQyxLQUFLO0FBQ0w7QUFDQTtBQUNPO0FBQ1AsbUJBQW1CLHVFQUFtQjtBQUN0QztBQUNBLGNBQWMsMkRBQW1CO0FBQ2pDLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2NyeXB0by9kaXN0L2VzbS9saWIvYnJvd3Nlci5qcz9hMTZhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVudiBmcm9tIFwiQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IEVOQ1JZUFRfT1AsIERFQ1JZUFRfT1AsIFNJR05fT1AsIFZFUklGWV9PUCwgQUVTX0JST1dTRVJfQUxHTywgQUVTX0xFTkdUSCwgSE1BQ19CUk9XU0VSX0FMR08sIEhNQUNfQlJPV1NFUiwgSE1BQ19MRU5HVEgsIFNIQTI1Nl9CUk9XU0VSX0FMR08sIFNIQTUxMl9CUk9XU0VSX0FMR08sIExFTkdUSF81MTIsIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsZ28odHlwZSkge1xuICAgIHJldHVybiB0eXBlID09PSBBRVNfQlJPV1NFUl9BTEdPXG4gICAgICAgID8geyBsZW5ndGg6IEFFU19MRU5HVEgsIG5hbWU6IEFFU19CUk9XU0VSX0FMR08gfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGhhc2g6IHsgbmFtZTogSE1BQ19CUk9XU0VSX0FMR08gfSxcbiAgICAgICAgICAgIG5hbWU6IEhNQUNfQlJPV1NFUixcbiAgICAgICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHModHlwZSkge1xuICAgIHJldHVybiB0eXBlID09PSBBRVNfQlJPV1NFUl9BTEdPXG4gICAgICAgID8gW0VOQ1JZUFRfT1AsIERFQ1JZUFRfT1BdXG4gICAgICAgIDogW1NJR05fT1AsIFZFUklGWV9PUF07XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnJvd3NlckV4cG9ydEtleShjcnlwdG9LZXksIHR5cGUgPSBBRVNfQlJPV1NFUl9BTEdPKSB7XG4gICAgY29uc3Qgc3VidGxlID0gZW52LmdldFN1YnRsZUNyeXB0bygpO1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBzdWJ0bGUuZXhwb3J0S2V5KFwicmF3XCIsIGNyeXB0b0tleSkpO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJyb3dzZXJJbXBvcnRLZXkoYnVmZmVyLCB0eXBlID0gQUVTX0JST1dTRVJfQUxHTykge1xuICAgIHJldHVybiBlbnYuZ2V0U3VidGxlQ3J5cHRvKCkuaW1wb3J0S2V5KFwicmF3XCIsIGJ1ZmZlciwgZ2V0QWxnbyh0eXBlKSwgdHJ1ZSwgZ2V0T3BzKHR5cGUpKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBicm93c2VyQWVzRW5jcnlwdChpdiwga2V5LCBkYXRhKSB7XG4gICAgY29uc3Qgc3VidGxlID0gZW52LmdldFN1YnRsZUNyeXB0bygpO1xuICAgIGNvbnN0IGNyeXB0b0tleSA9IGF3YWl0IGJyb3dzZXJJbXBvcnRLZXkoa2V5LCBBRVNfQlJPV1NFUl9BTEdPKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzdWJ0bGUuZW5jcnlwdCh7XG4gICAgICAgIGl2LFxuICAgICAgICBuYW1lOiBBRVNfQlJPV1NFUl9BTEdPLFxuICAgIH0sIGNyeXB0b0tleSwgZGF0YSk7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJlc3VsdCk7XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnJvd3NlckFlc0RlY3J5cHQoaXYsIGtleSwgZGF0YSkge1xuICAgIGNvbnN0IHN1YnRsZSA9IGVudi5nZXRTdWJ0bGVDcnlwdG8oKTtcbiAgICBjb25zdCBjcnlwdG9LZXkgPSBhd2FpdCBicm93c2VySW1wb3J0S2V5KGtleSwgQUVTX0JST1dTRVJfQUxHTyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3VidGxlLmRlY3J5cHQoe1xuICAgICAgICBpdixcbiAgICAgICAgbmFtZTogQUVTX0JST1dTRVJfQUxHTyxcbiAgICB9LCBjcnlwdG9LZXksIGRhdGEpO1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShyZXN1bHQpO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJyb3dzZXJIbWFjU2hhMjU2U2lnbihrZXksIGRhdGEpIHtcbiAgICBjb25zdCBzdWJ0bGUgPSBlbnYuZ2V0U3VidGxlQ3J5cHRvKCk7XG4gICAgY29uc3QgY3J5cHRvS2V5ID0gYXdhaXQgYnJvd3NlckltcG9ydEtleShrZXksIEhNQUNfQlJPV1NFUik7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gYXdhaXQgc3VidGxlLnNpZ24oe1xuICAgICAgICBsZW5ndGg6IEhNQUNfTEVOR1RILFxuICAgICAgICBuYW1lOiBITUFDX0JST1dTRVIsXG4gICAgfSwgY3J5cHRvS2V5LCBkYXRhKTtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2lnbmF0dXJlKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBicm93c2VySG1hY1NoYTUxMlNpZ24oa2V5LCBkYXRhKSB7XG4gICAgY29uc3Qgc3VidGxlID0gZW52LmdldFN1YnRsZUNyeXB0bygpO1xuICAgIGNvbnN0IGNyeXB0b0tleSA9IGF3YWl0IGJyb3dzZXJJbXBvcnRLZXkoa2V5LCBITUFDX0JST1dTRVIpO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHN1YnRsZS5zaWduKHtcbiAgICAgICAgbGVuZ3RoOiBMRU5HVEhfNTEyLFxuICAgICAgICBuYW1lOiBITUFDX0JST1dTRVIsXG4gICAgfSwgY3J5cHRvS2V5LCBkYXRhKTtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2lnbmF0dXJlKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBicm93c2VyU2hhMjU2KGRhdGEpIHtcbiAgICBjb25zdCBzdWJ0bGUgPSBlbnYuZ2V0U3VidGxlQ3J5cHRvKCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3VidGxlLmRpZ2VzdCh7XG4gICAgICAgIG5hbWU6IFNIQTI1Nl9CUk9XU0VSX0FMR08sXG4gICAgfSwgZGF0YSk7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJlc3VsdCk7XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnJvd3NlclNoYTUxMihkYXRhKSB7XG4gICAgY29uc3Qgc3VidGxlID0gZW52LmdldFN1YnRsZUNyeXB0bygpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN1YnRsZS5kaWdlc3Qoe1xuICAgICAgICBuYW1lOiBTSEE1MTJfQlJPV1NFUl9BTEdPLFxuICAgIH0sIGRhdGEpO1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShyZXN1bHQpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnJvd3Nlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/crypto/dist/esm/lib/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/encoding/dist/esm/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/@walletconnect/encoding/dist/esm/index.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addHexPrefix: function() { return /* binding */ addHexPrefix; },\n/* harmony export */ arrayToBinary: function() { return /* binding */ arrayToBinary; },\n/* harmony export */ arrayToBuffer: function() { return /* binding */ arrayToBuffer; },\n/* harmony export */ arrayToHex: function() { return /* binding */ arrayToHex; },\n/* harmony export */ arrayToNumber: function() { return /* binding */ arrayToNumber; },\n/* harmony export */ arrayToUtf8: function() { return /* binding */ arrayToUtf8; },\n/* harmony export */ binaryToArray: function() { return /* binding */ binaryToArray; },\n/* harmony export */ binaryToBuffer: function() { return /* binding */ binaryToBuffer; },\n/* harmony export */ binaryToHex: function() { return /* binding */ binaryToHex; },\n/* harmony export */ binaryToNumber: function() { return /* binding */ binaryToNumber; },\n/* harmony export */ binaryToUtf8: function() { return /* binding */ binaryToUtf8; },\n/* harmony export */ bufferToArray: function() { return /* binding */ bufferToArray; },\n/* harmony export */ bufferToBinary: function() { return /* binding */ bufferToBinary; },\n/* harmony export */ bufferToHex: function() { return /* binding */ bufferToHex; },\n/* harmony export */ bufferToNumber: function() { return /* binding */ bufferToNumber; },\n/* harmony export */ bufferToUtf8: function() { return /* binding */ bufferToUtf8; },\n/* harmony export */ calcByteLength: function() { return /* binding */ calcByteLength; },\n/* harmony export */ concatArrays: function() { return /* binding */ concatArrays; },\n/* harmony export */ concatBuffers: function() { return /* binding */ concatBuffers; },\n/* harmony export */ getEncoding: function() { return /* binding */ getEncoding; },\n/* harmony export */ getType: function() { return /* binding */ getType; },\n/* harmony export */ hexToArray: function() { return /* binding */ hexToArray; },\n/* harmony export */ hexToBinary: function() { return /* binding */ hexToBinary; },\n/* harmony export */ hexToBuffer: function() { return /* binding */ hexToBuffer; },\n/* harmony export */ hexToNumber: function() { return /* binding */ hexToNumber; },\n/* harmony export */ hexToUtf8: function() { return /* binding */ hexToUtf8; },\n/* harmony export */ isArrayBuffer: function() { return /* binding */ isArrayBuffer; },\n/* harmony export */ isBinaryString: function() { return /* binding */ isBinaryString; },\n/* harmony export */ isBuffer: function() { return /* binding */ isBuffer; },\n/* harmony export */ isHexString: function() { return /* binding */ isHexString; },\n/* harmony export */ isTypedArray: function() { return /* binding */ isTypedArray; },\n/* harmony export */ numberToArray: function() { return /* binding */ numberToArray; },\n/* harmony export */ numberToBinary: function() { return /* binding */ numberToBinary; },\n/* harmony export */ numberToBuffer: function() { return /* binding */ numberToBuffer; },\n/* harmony export */ numberToHex: function() { return /* binding */ numberToHex; },\n/* harmony export */ numberToUtf8: function() { return /* binding */ numberToUtf8; },\n/* harmony export */ padLeft: function() { return /* binding */ padLeft; },\n/* harmony export */ padRight: function() { return /* binding */ padRight; },\n/* harmony export */ removeHexLeadingZeros: function() { return /* binding */ removeHexLeadingZeros; },\n/* harmony export */ removeHexPrefix: function() { return /* binding */ removeHexPrefix; },\n/* harmony export */ sanitizeBytes: function() { return /* binding */ sanitizeBytes; },\n/* harmony export */ sanitizeHex: function() { return /* binding */ sanitizeHex; },\n/* harmony export */ splitBytes: function() { return /* binding */ splitBytes; },\n/* harmony export */ swapBytes: function() { return /* binding */ swapBytes; },\n/* harmony export */ swapHex: function() { return /* binding */ swapHex; },\n/* harmony export */ trimLeft: function() { return /* binding */ trimLeft; },\n/* harmony export */ trimRight: function() { return /* binding */ trimRight; },\n/* harmony export */ utf8ToArray: function() { return /* binding */ utf8ToArray; },\n/* harmony export */ utf8ToBinary: function() { return /* binding */ utf8ToBinary; },\n/* harmony export */ utf8ToBuffer: function() { return /* binding */ utf8ToBuffer; },\n/* harmony export */ utf8ToHex: function() { return /* binding */ utf8ToHex; },\n/* harmony export */ utf8ToNumber: function() { return /* binding */ utf8ToNumber; }\n/* harmony export */ });\n/* harmony import */ var is_typedarray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-typedarray */ \"./node_modules/is-typedarray/index.js\");\n/* harmony import */ var is_typedarray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(is_typedarray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var typedarray_to_buffer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! typedarray-to-buffer */ \"./node_modules/typedarray-to-buffer/index.js\");\n/* harmony import */ var typedarray_to_buffer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(typedarray_to_buffer__WEBPACK_IMPORTED_MODULE_1__);\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n\nconst ENC_HEX = \"hex\";\nconst ENC_UTF8 = \"utf8\";\nconst ENC_BIN = \"binary\";\nconst TYPE_BUFFER = \"buffer\";\nconst TYPE_ARRAY = \"array\";\nconst TYPE_TYPED_ARRAY = \"typed-array\";\nconst TYPE_ARRAY_BUFFER = \"array-buffer\";\nconst STRING_ZERO = \"0\";\nfunction bufferToArray(buf) {\n return new Uint8Array(buf);\n}\nfunction bufferToHex(buf, prefixed = false) {\n const hex = buf.toString(ENC_HEX);\n return prefixed ? addHexPrefix(hex) : hex;\n}\nfunction bufferToUtf8(buf) {\n return buf.toString(ENC_UTF8);\n}\nfunction bufferToNumber(buf) {\n return buf.readUIntBE(0, buf.length);\n}\nfunction bufferToBinary(buf) {\n return arrayToBinary(bufferToArray(buf));\n}\nfunction arrayToBuffer(arr) {\n return typedarray_to_buffer__WEBPACK_IMPORTED_MODULE_1___default()(arr);\n}\nfunction arrayToHex(arr, prefixed = false) {\n return bufferToHex(arrayToBuffer(arr), prefixed);\n}\nfunction arrayToUtf8(arr) {\n return bufferToUtf8(arrayToBuffer(arr));\n}\nfunction arrayToNumber(arr) {\n return bufferToNumber(arrayToBuffer(arr));\n}\nfunction arrayToBinary(arr) {\n return Array.from(arr)\n .map(numberToBinary)\n .join(\"\");\n}\nfunction hexToBuffer(hex) {\n return Buffer.from(removeHexPrefix(hex), ENC_HEX);\n}\nfunction hexToArray(hex) {\n return bufferToArray(hexToBuffer(hex));\n}\nfunction hexToUtf8(hex) {\n return bufferToUtf8(hexToBuffer(hex));\n}\nfunction hexToNumber(hex) {\n return arrayToNumber(hexToArray(hex));\n}\nfunction hexToBinary(hex) {\n return arrayToBinary(hexToArray(hex));\n}\nfunction utf8ToBuffer(utf8) {\n return Buffer.from(utf8, ENC_UTF8);\n}\nfunction utf8ToArray(utf8) {\n return bufferToArray(utf8ToBuffer(utf8));\n}\nfunction utf8ToHex(utf8, prefixed = false) {\n return bufferToHex(utf8ToBuffer(utf8), prefixed);\n}\nfunction utf8ToNumber(utf8) {\n const num = parseInt(utf8, 10);\n assert(isDefined(num), \"Number can only safely store up to 53 bits\");\n return num;\n}\nfunction utf8ToBinary(utf8) {\n return arrayToBinary(utf8ToArray(utf8));\n}\nfunction numberToBuffer(num) {\n return binaryToBuffer(numberToBinary(num));\n}\nfunction numberToArray(num) {\n return binaryToArray(numberToBinary(num));\n}\nfunction numberToHex(num, prefixed) {\n return binaryToHex(numberToBinary(num), prefixed);\n}\nfunction numberToUtf8(num) {\n return `${num}`;\n}\nfunction numberToBinary(num) {\n const bin = (num >>> 0).toString(2);\n return sanitizeBytes(bin);\n}\nfunction binaryToBuffer(bin) {\n return arrayToBuffer(binaryToArray(bin));\n}\nfunction binaryToArray(bin) {\n return new Uint8Array(splitBytes(bin).map(x => parseInt(x, 2)));\n}\nfunction binaryToHex(bin, prefixed) {\n return arrayToHex(binaryToArray(bin), prefixed);\n}\nfunction binaryToUtf8(bin) {\n return arrayToUtf8(binaryToArray(bin));\n}\nfunction binaryToNumber(bin) {\n return arrayToNumber(binaryToArray(bin));\n}\nfunction isBinaryString(str) {\n if (typeof str !== \"string\" || !new RegExp(/^[01]+$/).test(str)) {\n return false;\n }\n if (str.length % 8 !== 0) {\n return false;\n }\n return true;\n}\nfunction isHexString(str, length) {\n if (typeof str !== \"string\" || !str.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (length && str.length !== 2 + 2 * length) {\n return false;\n }\n return true;\n}\nfunction isBuffer(val) {\n return Buffer.isBuffer(val);\n}\nfunction isTypedArray(val) {\n return is_typedarray__WEBPACK_IMPORTED_MODULE_0___default().strict(val) && !isBuffer(val);\n}\nfunction isArrayBuffer(val) {\n return (!isTypedArray(val) &&\n !isBuffer(val) &&\n typeof val.byteLength !== \"undefined\");\n}\nfunction getType(val) {\n if (isBuffer(val)) {\n return TYPE_BUFFER;\n }\n else if (isTypedArray(val)) {\n return TYPE_TYPED_ARRAY;\n }\n else if (isArrayBuffer(val)) {\n return TYPE_ARRAY_BUFFER;\n }\n else if (Array.isArray(val)) {\n return TYPE_ARRAY;\n }\n else {\n return typeof val;\n }\n}\nfunction getEncoding(str) {\n if (isBinaryString(str)) {\n return ENC_BIN;\n }\n if (isHexString(str)) {\n return ENC_HEX;\n }\n return ENC_UTF8;\n}\nfunction concatBuffers(...args) {\n const result = Buffer.concat(args);\n return result;\n}\nfunction concatArrays(...args) {\n let result = [];\n args.forEach(arg => (result = result.concat(Array.from(arg))));\n return new Uint8Array([...result]);\n}\nfunction trimLeft(data, length) {\n const diff = data.length - length;\n if (diff > 0) {\n data = data.slice(diff);\n }\n return data;\n}\nfunction trimRight(data, length) {\n return data.slice(0, length);\n}\nfunction calcByteLength(length, byteSize = 8) {\n const remainder = length % byteSize;\n return remainder\n ? ((length - remainder) / byteSize) * byteSize + byteSize\n : length;\n}\nfunction splitBytes(str, byteSize = 8) {\n const bytes = sanitizeBytes(str).match(new RegExp(`.{${byteSize}}`, \"gi\"));\n return Array.from(bytes || []);\n}\nfunction swapBytes(str) {\n return splitBytes(str)\n .map(reverseString)\n .join(\"\");\n}\nfunction swapHex(str) {\n return binaryToHex(swapBytes(hexToBinary(str)));\n}\nfunction sanitizeBytes(str, byteSize = 8, padding = STRING_ZERO) {\n return padLeft(str, calcByteLength(str.length, byteSize), padding);\n}\nfunction padLeft(str, length, padding = STRING_ZERO) {\n return padString(str, length, true, padding);\n}\nfunction padRight(str, length, padding = STRING_ZERO) {\n return padString(str, length, false, padding);\n}\nfunction removeHexPrefix(hex) {\n return hex.replace(/^0x/, \"\");\n}\nfunction addHexPrefix(hex) {\n return hex.startsWith(\"0x\") ? hex : `0x${hex}`;\n}\nfunction sanitizeHex(hex) {\n hex = removeHexPrefix(hex);\n hex = sanitizeBytes(hex, 2);\n if (hex) {\n hex = addHexPrefix(hex);\n }\n return hex;\n}\nfunction removeHexLeadingZeros(hex) {\n const prefixed = hex.startsWith(\"0x\");\n hex = removeHexPrefix(hex);\n hex = hex.startsWith(STRING_ZERO) ? hex.substring(1) : hex;\n return prefixed ? addHexPrefix(hex) : hex;\n}\nfunction isUndefined(value) {\n return typeof value === \"undefined\";\n}\nfunction isDefined(value) {\n return !isUndefined(value);\n}\nfunction assert(assertion, errorMessage) {\n if (!assertion) {\n throw new Error(errorMessage);\n }\n}\nfunction reverseString(str) {\n return str\n .split(\"\")\n .reverse()\n .join(\"\");\n}\nfunction padString(str, length, left, padding = STRING_ZERO) {\n const diff = length - str.length;\n let result = str;\n if (diff > 0) {\n const pad = padding.repeat(diff);\n result = left ? pad + str : str + pad;\n }\n return result;\n}\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW5jb2RpbmcvZGlzdC9lc20vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTBDO0FBQ1k7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxXQUFXLDJEQUFrQjtBQUM3QjtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLFdBQVcsTUFBTTtBQUNqQjtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsV0FBVyxNQUFNO0FBQ2pCO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsY0FBYyxJQUFJO0FBQ2xCO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLFdBQVcsTUFBTTtBQUNqQjtBQUNPO0FBQ1AsV0FBVywyREFBb0I7QUFDL0I7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsbUJBQW1CLE1BQU07QUFDekI7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AseURBQXlELEVBQUUsVUFBVTtBQUNyRTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsNkNBQTZDLElBQUk7QUFDakQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9lbmNvZGluZy9kaXN0L2VzbS9pbmRleC5qcz9hZWM4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfaXNUeXBlZEFycmF5IGZyb20gXCJpcy10eXBlZGFycmF5XCI7XG5pbXBvcnQgdHlwZWRBcnJheVRvQnVmZmVyIGZyb20gXCJ0eXBlZGFycmF5LXRvLWJ1ZmZlclwiO1xuY29uc3QgRU5DX0hFWCA9IFwiaGV4XCI7XG5jb25zdCBFTkNfVVRGOCA9IFwidXRmOFwiO1xuY29uc3QgRU5DX0JJTiA9IFwiYmluYXJ5XCI7XG5jb25zdCBUWVBFX0JVRkZFUiA9IFwiYnVmZmVyXCI7XG5jb25zdCBUWVBFX0FSUkFZID0gXCJhcnJheVwiO1xuY29uc3QgVFlQRV9UWVBFRF9BUlJBWSA9IFwidHlwZWQtYXJyYXlcIjtcbmNvbnN0IFRZUEVfQVJSQVlfQlVGRkVSID0gXCJhcnJheS1idWZmZXJcIjtcbmNvbnN0IFNUUklOR19aRVJPID0gXCIwXCI7XG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVG9BcnJheShidWYpIHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYnVmKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJUb0hleChidWYsIHByZWZpeGVkID0gZmFsc2UpIHtcbiAgICBjb25zdCBoZXggPSBidWYudG9TdHJpbmcoRU5DX0hFWCk7XG4gICAgcmV0dXJuIHByZWZpeGVkID8gYWRkSGV4UHJlZml4KGhleCkgOiBoZXg7XG59XG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVG9VdGY4KGJ1Zikge1xuICAgIHJldHVybiBidWYudG9TdHJpbmcoRU5DX1VURjgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclRvTnVtYmVyKGJ1Zikge1xuICAgIHJldHVybiBidWYucmVhZFVJbnRCRSgwLCBidWYubGVuZ3RoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJUb0JpbmFyeShidWYpIHtcbiAgICByZXR1cm4gYXJyYXlUb0JpbmFyeShidWZmZXJUb0FycmF5KGJ1ZikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5VG9CdWZmZXIoYXJyKSB7XG4gICAgcmV0dXJuIHR5cGVkQXJyYXlUb0J1ZmZlcihhcnIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5VG9IZXgoYXJyLCBwcmVmaXhlZCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIGJ1ZmZlclRvSGV4KGFycmF5VG9CdWZmZXIoYXJyKSwgcHJlZml4ZWQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5VG9VdGY4KGFycikge1xuICAgIHJldHVybiBidWZmZXJUb1V0ZjgoYXJyYXlUb0J1ZmZlcihhcnIpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhcnJheVRvTnVtYmVyKGFycikge1xuICAgIHJldHVybiBidWZmZXJUb051bWJlcihhcnJheVRvQnVmZmVyKGFycikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5VG9CaW5hcnkoYXJyKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oYXJyKVxuICAgICAgICAubWFwKG51bWJlclRvQmluYXJ5KVxuICAgICAgICAuam9pbihcIlwiKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb0J1ZmZlcihoZXgpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20ocmVtb3ZlSGV4UHJlZml4KGhleCksIEVOQ19IRVgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQXJyYXkoaGV4KSB7XG4gICAgcmV0dXJuIGJ1ZmZlclRvQXJyYXkoaGV4VG9CdWZmZXIoaGV4KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaGV4VG9VdGY4KGhleCkge1xuICAgIHJldHVybiBidWZmZXJUb1V0ZjgoaGV4VG9CdWZmZXIoaGV4KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaGV4VG9OdW1iZXIoaGV4KSB7XG4gICAgcmV0dXJuIGFycmF5VG9OdW1iZXIoaGV4VG9BcnJheShoZXgpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb0JpbmFyeShoZXgpIHtcbiAgICByZXR1cm4gYXJyYXlUb0JpbmFyeShoZXhUb0FycmF5KGhleCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHV0ZjhUb0J1ZmZlcih1dGY4KSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHV0ZjgsIEVOQ19VVEY4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1dGY4VG9BcnJheSh1dGY4KSB7XG4gICAgcmV0dXJuIGJ1ZmZlclRvQXJyYXkodXRmOFRvQnVmZmVyKHV0ZjgpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1dGY4VG9IZXgodXRmOCwgcHJlZml4ZWQgPSBmYWxzZSkge1xuICAgIHJldHVybiBidWZmZXJUb0hleCh1dGY4VG9CdWZmZXIodXRmOCksIHByZWZpeGVkKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1dGY4VG9OdW1iZXIodXRmOCkge1xuICAgIGNvbnN0IG51bSA9IHBhcnNlSW50KHV0ZjgsIDEwKTtcbiAgICBhc3NlcnQoaXNEZWZpbmVkKG51bSksIFwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzXCIpO1xuICAgIHJldHVybiBudW07XG59XG5leHBvcnQgZnVuY3Rpb24gdXRmOFRvQmluYXJ5KHV0ZjgpIHtcbiAgICByZXR1cm4gYXJyYXlUb0JpbmFyeSh1dGY4VG9BcnJheSh1dGY4KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVG9CdWZmZXIobnVtKSB7XG4gICAgcmV0dXJuIGJpbmFyeVRvQnVmZmVyKG51bWJlclRvQmluYXJ5KG51bSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG51bWJlclRvQXJyYXkobnVtKSB7XG4gICAgcmV0dXJuIGJpbmFyeVRvQXJyYXkobnVtYmVyVG9CaW5hcnkobnVtKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVG9IZXgobnVtLCBwcmVmaXhlZCkge1xuICAgIHJldHVybiBiaW5hcnlUb0hleChudW1iZXJUb0JpbmFyeShudW0pLCBwcmVmaXhlZCk7XG59XG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVG9VdGY4KG51bSkge1xuICAgIHJldHVybiBgJHtudW19YDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJUb0JpbmFyeShudW0pIHtcbiAgICBjb25zdCBiaW4gPSAobnVtID4+PiAwKS50b1N0cmluZygyKTtcbiAgICByZXR1cm4gc2FuaXRpemVCeXRlcyhiaW4pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeVRvQnVmZmVyKGJpbikge1xuICAgIHJldHVybiBhcnJheVRvQnVmZmVyKGJpbmFyeVRvQXJyYXkoYmluKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYmluYXJ5VG9BcnJheShiaW4pIHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc3BsaXRCeXRlcyhiaW4pLm1hcCh4ID0+IHBhcnNlSW50KHgsIDIpKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYmluYXJ5VG9IZXgoYmluLCBwcmVmaXhlZCkge1xuICAgIHJldHVybiBhcnJheVRvSGV4KGJpbmFyeVRvQXJyYXkoYmluKSwgcHJlZml4ZWQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeVRvVXRmOChiaW4pIHtcbiAgICByZXR1cm4gYXJyYXlUb1V0ZjgoYmluYXJ5VG9BcnJheShiaW4pKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBiaW5hcnlUb051bWJlcihiaW4pIHtcbiAgICByZXR1cm4gYXJyYXlUb051bWJlcihiaW5hcnlUb0FycmF5KGJpbikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQmluYXJ5U3RyaW5nKHN0cikge1xuICAgIGlmICh0eXBlb2Ygc3RyICE9PSBcInN0cmluZ1wiIHx8ICFuZXcgUmVnRXhwKC9eWzAxXSskLykudGVzdChzdHIpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHN0ci5sZW5ndGggJSA4ICE9PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNIZXhTdHJpbmcoc3RyLCBsZW5ndGgpIHtcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gXCJzdHJpbmdcIiB8fCAhc3RyLm1hdGNoKC9eMHhbMC05QS1GYS1mXSokLykpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoICYmIHN0ci5sZW5ndGggIT09IDIgKyAyICogbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCdWZmZXIodmFsKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcih2YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVHlwZWRBcnJheSh2YWwpIHtcbiAgICByZXR1cm4gX2lzVHlwZWRBcnJheS5zdHJpY3QodmFsKSAmJiAhaXNCdWZmZXIodmFsKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5QnVmZmVyKHZhbCkge1xuICAgIHJldHVybiAoIWlzVHlwZWRBcnJheSh2YWwpICYmXG4gICAgICAgICFpc0J1ZmZlcih2YWwpICYmXG4gICAgICAgIHR5cGVvZiB2YWwuYnl0ZUxlbmd0aCAhPT0gXCJ1bmRlZmluZWRcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZSh2YWwpIHtcbiAgICBpZiAoaXNCdWZmZXIodmFsKSkge1xuICAgICAgICByZXR1cm4gVFlQRV9CVUZGRVI7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzVHlwZWRBcnJheSh2YWwpKSB7XG4gICAgICAgIHJldHVybiBUWVBFX1RZUEVEX0FSUkFZO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0FycmF5QnVmZmVyKHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIFRZUEVfQVJSQVlfQlVGRkVSO1xuICAgIH1cbiAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIFRZUEVfQVJSQVk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbDtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RW5jb2Rpbmcoc3RyKSB7XG4gICAgaWYgKGlzQmluYXJ5U3RyaW5nKHN0cikpIHtcbiAgICAgICAgcmV0dXJuIEVOQ19CSU47XG4gICAgfVxuICAgIGlmIChpc0hleFN0cmluZyhzdHIpKSB7XG4gICAgICAgIHJldHVybiBFTkNfSEVYO1xuICAgIH1cbiAgICByZXR1cm4gRU5DX1VURjg7XG59XG5leHBvcnQgZnVuY3Rpb24gY29uY2F0QnVmZmVycyguLi5hcmdzKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gQnVmZmVyLmNvbmNhdChhcmdzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdEFycmF5cyguLi5hcmdzKSB7XG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgIGFyZ3MuZm9yRWFjaChhcmcgPT4gKHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoQXJyYXkuZnJvbShhcmcpKSkpO1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShbLi4ucmVzdWx0XSk7XG59XG5leHBvcnQgZnVuY3Rpb24gdHJpbUxlZnQoZGF0YSwgbGVuZ3RoKSB7XG4gICAgY29uc3QgZGlmZiA9IGRhdGEubGVuZ3RoIC0gbGVuZ3RoO1xuICAgIGlmIChkaWZmID4gMCkge1xuICAgICAgICBkYXRhID0gZGF0YS5zbGljZShkaWZmKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG5leHBvcnQgZnVuY3Rpb24gdHJpbVJpZ2h0KGRhdGEsIGxlbmd0aCkge1xuICAgIHJldHVybiBkYXRhLnNsaWNlKDAsIGxlbmd0aCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY2FsY0J5dGVMZW5ndGgobGVuZ3RoLCBieXRlU2l6ZSA9IDgpIHtcbiAgICBjb25zdCByZW1haW5kZXIgPSBsZW5ndGggJSBieXRlU2l6ZTtcbiAgICByZXR1cm4gcmVtYWluZGVyXG4gICAgICAgID8gKChsZW5ndGggLSByZW1haW5kZXIpIC8gYnl0ZVNpemUpICogYnl0ZVNpemUgKyBieXRlU2l6ZVxuICAgICAgICA6IGxlbmd0aDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdEJ5dGVzKHN0ciwgYnl0ZVNpemUgPSA4KSB7XG4gICAgY29uc3QgYnl0ZXMgPSBzYW5pdGl6ZUJ5dGVzKHN0cikubWF0Y2gobmV3IFJlZ0V4cChgLnske2J5dGVTaXplfX1gLCBcImdpXCIpKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShieXRlcyB8fCBbXSk7XG59XG5leHBvcnQgZnVuY3Rpb24gc3dhcEJ5dGVzKHN0cikge1xuICAgIHJldHVybiBzcGxpdEJ5dGVzKHN0cilcbiAgICAgICAgLm1hcChyZXZlcnNlU3RyaW5nKVxuICAgICAgICAuam9pbihcIlwiKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzd2FwSGV4KHN0cikge1xuICAgIHJldHVybiBiaW5hcnlUb0hleChzd2FwQnl0ZXMoaGV4VG9CaW5hcnkoc3RyKSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplQnl0ZXMoc3RyLCBieXRlU2l6ZSA9IDgsIHBhZGRpbmcgPSBTVFJJTkdfWkVSTykge1xuICAgIHJldHVybiBwYWRMZWZ0KHN0ciwgY2FsY0J5dGVMZW5ndGgoc3RyLmxlbmd0aCwgYnl0ZVNpemUpLCBwYWRkaW5nKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYWRMZWZ0KHN0ciwgbGVuZ3RoLCBwYWRkaW5nID0gU1RSSU5HX1pFUk8pIHtcbiAgICByZXR1cm4gcGFkU3RyaW5nKHN0ciwgbGVuZ3RoLCB0cnVlLCBwYWRkaW5nKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYWRSaWdodChzdHIsIGxlbmd0aCwgcGFkZGluZyA9IFNUUklOR19aRVJPKSB7XG4gICAgcmV0dXJuIHBhZFN0cmluZyhzdHIsIGxlbmd0aCwgZmFsc2UsIHBhZGRpbmcpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUhleFByZWZpeChoZXgpIHtcbiAgICByZXR1cm4gaGV4LnJlcGxhY2UoL14weC8sIFwiXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFkZEhleFByZWZpeChoZXgpIHtcbiAgICByZXR1cm4gaGV4LnN0YXJ0c1dpdGgoXCIweFwiKSA/IGhleCA6IGAweCR7aGV4fWA7XG59XG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVIZXgoaGV4KSB7XG4gICAgaGV4ID0gcmVtb3ZlSGV4UHJlZml4KGhleCk7XG4gICAgaGV4ID0gc2FuaXRpemVCeXRlcyhoZXgsIDIpO1xuICAgIGlmIChoZXgpIHtcbiAgICAgICAgaGV4ID0gYWRkSGV4UHJlZml4KGhleCk7XG4gICAgfVxuICAgIHJldHVybiBoZXg7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlSGV4TGVhZGluZ1plcm9zKGhleCkge1xuICAgIGNvbnN0IHByZWZpeGVkID0gaGV4LnN0YXJ0c1dpdGgoXCIweFwiKTtcbiAgICBoZXggPSByZW1vdmVIZXhQcmVmaXgoaGV4KTtcbiAgICBoZXggPSBoZXguc3RhcnRzV2l0aChTVFJJTkdfWkVSTykgPyBoZXguc3Vic3RyaW5nKDEpIDogaGV4O1xuICAgIHJldHVybiBwcmVmaXhlZCA/IGFkZEhleFByZWZpeChoZXgpIDogaGV4O1xufVxuZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiO1xufVxuZnVuY3Rpb24gaXNEZWZpbmVkKHZhbHVlKSB7XG4gICAgcmV0dXJuICFpc1VuZGVmaW5lZCh2YWx1ZSk7XG59XG5mdW5jdGlvbiBhc3NlcnQoYXNzZXJ0aW9uLCBlcnJvck1lc3NhZ2UpIHtcbiAgICBpZiAoIWFzc2VydGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICB9XG59XG5mdW5jdGlvbiByZXZlcnNlU3RyaW5nKHN0cikge1xuICAgIHJldHVybiBzdHJcbiAgICAgICAgLnNwbGl0KFwiXCIpXG4gICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgLmpvaW4oXCJcIik7XG59XG5mdW5jdGlvbiBwYWRTdHJpbmcoc3RyLCBsZW5ndGgsIGxlZnQsIHBhZGRpbmcgPSBTVFJJTkdfWkVSTykge1xuICAgIGNvbnN0IGRpZmYgPSBsZW5ndGggLSBzdHIubGVuZ3RoO1xuICAgIGxldCByZXN1bHQgPSBzdHI7XG4gICAgaWYgKGRpZmYgPiAwKSB7XG4gICAgICAgIGNvbnN0IHBhZCA9IHBhZGRpbmcucmVwZWF0KGRpZmYpO1xuICAgICAgICByZXN1bHQgPSBsZWZ0ID8gcGFkICsgc3RyIDogc3RyICsgcGFkO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/encoding/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/dist/cjs/crypto.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/dist/cjs/crypto.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (__webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.crypto) || (__webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvY3J5cHRvLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQyxHQUFHLHVCQUF1QixHQUFHLHVCQUF1QjtBQUNwRjtBQUNBLFlBQVkscUJBQU0sYUFBYSxxQkFBTSx1QkFBdUIscUJBQU0sYUFBYSxxQkFBTSxhQUFhLHFCQUFNLHVCQUF1QixxQkFBTTtBQUNySTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50L2Rpc3QvY2pzL2NyeXB0by5qcz82ZGQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc0Jyb3dzZXJDcnlwdG9BdmFpbGFibGUgPSBleHBvcnRzLmdldFN1YnRsZUNyeXB0byA9IGV4cG9ydHMuZ2V0QnJvd2VyQ3J5cHRvID0gdm9pZCAwO1xuZnVuY3Rpb24gZ2V0QnJvd2VyQ3J5cHRvKCkge1xuICAgIHJldHVybiAoZ2xvYmFsID09PSBudWxsIHx8IGdsb2JhbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZ2xvYmFsLmNyeXB0bykgfHwgKGdsb2JhbCA9PT0gbnVsbCB8fCBnbG9iYWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdsb2JhbC5tc0NyeXB0bykgfHwge307XG59XG5leHBvcnRzLmdldEJyb3dlckNyeXB0byA9IGdldEJyb3dlckNyeXB0bztcbmZ1bmN0aW9uIGdldFN1YnRsZUNyeXB0bygpIHtcbiAgICBjb25zdCBicm93c2VyQ3J5cHRvID0gZ2V0QnJvd2VyQ3J5cHRvKCk7XG4gICAgcmV0dXJuIGJyb3dzZXJDcnlwdG8uc3VidGxlIHx8IGJyb3dzZXJDcnlwdG8ud2Via2l0U3VidGxlO1xufVxuZXhwb3J0cy5nZXRTdWJ0bGVDcnlwdG8gPSBnZXRTdWJ0bGVDcnlwdG87XG5mdW5jdGlvbiBpc0Jyb3dzZXJDcnlwdG9BdmFpbGFibGUoKSB7XG4gICAgcmV0dXJuICEhZ2V0QnJvd2VyQ3J5cHRvKCkgJiYgISFnZXRTdWJ0bGVDcnlwdG8oKTtcbn1cbmV4cG9ydHMuaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlID0gaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3J5cHRvLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/dist/cjs/crypto.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/dist/cjs/env.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/dist/cjs/env.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvZW52LmpzIiwibWFwcGluZ3MiOiI7QUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsR0FBRyxjQUFjLEdBQUcscUJBQXFCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxtQkFBbUIsT0FBTztBQUMxQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvZW52LmpzPzQzOGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmlzQnJvd3NlciA9IGV4cG9ydHMuaXNOb2RlID0gZXhwb3J0cy5pc1JlYWN0TmF0aXZlID0gdm9pZCAwO1xuZnVuY3Rpb24gaXNSZWFjdE5hdGl2ZSgpIHtcbiAgICByZXR1cm4gKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgICAgICB0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIG5hdmlnYXRvci5wcm9kdWN0ID09PSBcIlJlYWN0TmF0aXZlXCIpO1xufVxuZXhwb3J0cy5pc1JlYWN0TmF0aXZlID0gaXNSZWFjdE5hdGl2ZTtcbmZ1bmN0aW9uIGlzTm9kZSgpIHtcbiAgICByZXR1cm4gKHR5cGVvZiBwcm9jZXNzICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIHR5cGVvZiBwcm9jZXNzLnZlcnNpb25zICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIHR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUgIT09IFwidW5kZWZpbmVkXCIpO1xufVxuZXhwb3J0cy5pc05vZGUgPSBpc05vZGU7XG5mdW5jdGlvbiBpc0Jyb3dzZXIoKSB7XG4gICAgcmV0dXJuICFpc1JlYWN0TmF0aXZlKCkgJiYgIWlzTm9kZSgpO1xufVxuZXhwb3J0cy5pc0Jyb3dzZXIgPSBpc0Jyb3dzZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/dist/cjs/env.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/dist/cjs/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/dist/cjs/index.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./crypto */ \"./node_modules/@walletconnect/environment/dist/cjs/crypto.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./env */ \"./node_modules/@walletconnect/environment/dist/cjs/env.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvZGlzdC9janMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0JBQWdCLG1CQUFPLENBQUMsd0ZBQU87QUFDL0IscUJBQXFCLG1CQUFPLENBQUMsOEVBQVU7QUFDdkMscUJBQXFCLG1CQUFPLENBQUMsd0VBQU87QUFDcEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50L2Rpc3QvY2pzL2luZGV4LmpzPzVjMjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vY3J5cHRvXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2VudlwiKSwgZXhwb3J0cyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZ0JBQWdCLHNDQUFzQyxrQkFBa0I7QUFDbkYsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGlEQUFpRCxPQUFPO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWM7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsNkNBQTZDLFFBQVE7QUFDckQ7QUFDQTtBQUNBO0FBQ087QUFDUCxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUCw0QkFBNEIsK0RBQStELGlCQUFpQjtBQUM1RztBQUNBLG9DQUFvQyxNQUFNLCtCQUErQixZQUFZO0FBQ3JGLG1DQUFtQyxNQUFNLG1DQUFtQyxZQUFZO0FBQ3hGLGdDQUFnQztBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ087QUFDUCxjQUFjLDZCQUE2QiwwQkFBMEIsY0FBYyxxQkFBcUI7QUFDeEcsaUJBQWlCLG9EQUFvRCxxRUFBcUUsY0FBYztBQUN4Six1QkFBdUIsc0JBQXNCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QyxtQ0FBbUMsU0FBUztBQUM1QyxtQ0FBbUMsV0FBVyxVQUFVO0FBQ3hELDBDQUEwQyxjQUFjO0FBQ3hEO0FBQ0EsOEdBQThHLE9BQU87QUFDckgsaUZBQWlGLGlCQUFpQjtBQUNsRyx5REFBeUQsZ0JBQWdCLFFBQVE7QUFDakYsK0NBQStDLGdCQUFnQixnQkFBZ0I7QUFDL0U7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBLFVBQVUsWUFBWSxhQUFhLFNBQVMsVUFBVTtBQUN0RCxvQ0FBb0MsU0FBUztBQUM3QztBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLE1BQU07QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLDZCQUE2QixzQkFBc0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGtEQUFrRCxRQUFRO0FBQzFELHlDQUF5QyxRQUFRO0FBQ2pELHlEQUF5RCxRQUFRO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSxpQkFBaUIsdUZBQXVGLGNBQWM7QUFDdEgsdUJBQXVCLGdDQUFnQyxxQ0FBcUMsMkNBQTJDO0FBQ3ZJLDRCQUE0QixNQUFNLGlCQUFpQixZQUFZO0FBQy9ELHVCQUF1QjtBQUN2Qiw4QkFBOEI7QUFDOUIsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ087QUFDUDtBQUNBLGlCQUFpQiw2Q0FBNkMsVUFBVSxzREFBc0QsY0FBYztBQUM1SSwwQkFBMEIsNkJBQTZCLG9CQUFvQixnREFBZ0Qsa0JBQWtCO0FBQzdJO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSwyR0FBMkcsdUZBQXVGLGNBQWM7QUFDaE4sdUJBQXVCLDhCQUE4QixnREFBZ0Qsd0RBQXdEO0FBQzdKLDZDQUE2QyxzQ0FBc0MsVUFBVSxtQkFBbUIsSUFBSTtBQUNwSDtBQUNBO0FBQ087QUFDUCxpQ0FBaUMsdUNBQXVDLFlBQVksS0FBSyxPQUFPO0FBQ2hHO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLDZDQUE2QztBQUM3QztBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnQvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcz8yZDQwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NyZWF0ZUJpbmRpbmcobywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HttpConnection: function() { return /* binding */ HttpConnection; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var cross_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cross-fetch */ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\");\n/* harmony import */ var cross_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cross_fetch__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/safe-json */ \"./node_modules/@walletconnect/safe-json/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n\n\n\n\nconst DEFAULT_HTTP_HEADERS = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n};\nconst DEFAULT_HTTP_METHOD = \"POST\";\nconst DEFAULT_FETCH_OPTS = {\n headers: DEFAULT_HTTP_HEADERS,\n method: DEFAULT_HTTP_METHOD,\n};\nconst EVENT_EMITTER_MAX_LISTENERS_DEFAULT = 10;\nclass HttpConnection {\n constructor(url, disableProviderPing = false) {\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.isAvailable = false;\n this.registering = false;\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isHttpUrl)(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n this.url = url;\n this.disableProviderPing = disableProviderPing;\n }\n get connected() {\n return this.isAvailable;\n }\n get connecting() {\n return this.registering;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(url = this.url) {\n await this.register(url);\n }\n async close() {\n if (!this.isAvailable) {\n throw new Error(\"Connection already closed\");\n }\n this.onClose();\n }\n async send(payload, context) {\n if (!this.isAvailable) {\n await this.register();\n }\n try {\n const body = (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__.safeJsonStringify)(payload);\n const res = await cross_fetch__WEBPACK_IMPORTED_MODULE_1___default()(this.url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n const data = await res.json();\n this.onPayload({ data });\n }\n catch (e) {\n this.onError(payload.id, e);\n }\n }\n async register(url = this.url) {\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.isHttpUrl)(url)) {\n throw new Error(`Provided URL is not compatible with HTTP connection: ${url}`);\n }\n if (this.registering) {\n const currentMaxListeners = this.events.getMaxListeners();\n if (this.events.listenerCount(\"register_error\") >= currentMaxListeners ||\n this.events.listenerCount(\"open\") >= currentMaxListeners) {\n this.events.setMaxListeners(currentMaxListeners + 1);\n }\n return new Promise((resolve, reject) => {\n this.events.once(\"register_error\", error => {\n this.resetMaxListeners();\n reject(error);\n });\n this.events.once(\"open\", () => {\n this.resetMaxListeners();\n if (typeof this.isAvailable === \"undefined\") {\n return reject(new Error(\"HTTP connection is missing or invalid\"));\n }\n resolve();\n });\n });\n }\n this.url = url;\n this.registering = true;\n try {\n if (!this.disableProviderPing) {\n const body = (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__.safeJsonStringify)({ id: 1, jsonrpc: \"2.0\", method: \"test\", params: [] });\n await cross_fetch__WEBPACK_IMPORTED_MODULE_1___default()(url, Object.assign(Object.assign({}, DEFAULT_FETCH_OPTS), { body }));\n }\n this.onOpen();\n }\n catch (e) {\n const error = this.parseError(e);\n this.events.emit(\"register_error\", error);\n this.onClose();\n throw error;\n }\n }\n onOpen() {\n this.isAvailable = true;\n this.registering = false;\n this.events.emit(\"open\");\n }\n onClose() {\n this.isAvailable = false;\n this.registering = false;\n this.events.emit(\"close\");\n }\n onPayload(e) {\n if (typeof e.data === \"undefined\")\n return;\n const payload = typeof e.data === \"string\" ? (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_2__.safeJsonParse)(e.data) : e.data;\n this.events.emit(\"payload\", payload);\n }\n onError(id, e) {\n const error = this.parseError(e);\n const message = error.message || error.toString();\n const payload = (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcError)(id, message);\n this.events.emit(\"payload\", payload);\n }\n parseError(e, url = this.url) {\n return (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_3__.parseConnectionError)(e, url, \"HTTP\");\n }\n resetMaxListeners() {\n if (this.events.getMaxListeners() > EVENT_EMITTER_MAX_LISTENERS_DEFAULT) {\n this.events.setMaxListeners(EVENT_EMITTER_MAX_LISTENERS_DEFAULT);\n }\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (HttpConnection);\n//# sourceMappingURL=http.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1odHRwLWNvbm5lY3Rpb24vZGlzdC9lc20vaHR0cC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXNDO0FBQ047QUFDNEM7QUFDd0I7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixnREFBWTtBQUN0QztBQUNBO0FBQ0EsYUFBYSx1RUFBUztBQUN0QixvRkFBb0YsSUFBSTtBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsMkVBQWlCO0FBQzFDLDhCQUE4QixrREFBSyx5Q0FBeUMseUJBQXlCLE1BQU07QUFDM0c7QUFDQSw2QkFBNkIsTUFBTTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHVFQUFTO0FBQ3RCLG9GQUFvRixJQUFJO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLDJFQUFpQixHQUFHLG1EQUFtRDtBQUNwRyxzQkFBc0Isa0RBQUssb0NBQW9DLHlCQUF5QixNQUFNO0FBQzlGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsdUVBQWE7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnRkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsZUFBZSxrRkFBb0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxjQUFjLEVBQUM7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtaHR0cC1jb25uZWN0aW9uL2Rpc3QvZXNtL2h0dHAuanM/NWQ5ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQgZmV0Y2ggZnJvbSBcImNyb3NzLWZldGNoXCI7XG5pbXBvcnQgeyBzYWZlSnNvblBhcnNlLCBzYWZlSnNvblN0cmluZ2lmeSB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9zYWZlLWpzb25cIjtcbmltcG9ydCB7IGZvcm1hdEpzb25ScGNFcnJvciwgaXNIdHRwVXJsLCBwYXJzZUNvbm5lY3Rpb25FcnJvciwgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlsc1wiO1xuY29uc3QgREVGQVVMVF9IVFRQX0hFQURFUlMgPSB7XG4gICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbn07XG5jb25zdCBERUZBVUxUX0hUVFBfTUVUSE9EID0gXCJQT1NUXCI7XG5jb25zdCBERUZBVUxUX0ZFVENIX09QVFMgPSB7XG4gICAgaGVhZGVyczogREVGQVVMVF9IVFRQX0hFQURFUlMsXG4gICAgbWV0aG9kOiBERUZBVUxUX0hUVFBfTUVUSE9ELFxufTtcbmNvbnN0IEVWRU5UX0VNSVRURVJfTUFYX0xJU1RFTkVSU19ERUZBVUxUID0gMTA7XG5leHBvcnQgY2xhc3MgSHR0cENvbm5lY3Rpb24ge1xuICAgIGNvbnN0cnVjdG9yKHVybCwgZGlzYWJsZVByb3ZpZGVyUGluZyA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLmRpc2FibGVQcm92aWRlclBpbmcgPSBkaXNhYmxlUHJvdmlkZXJQaW5nO1xuICAgICAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5pc0F2YWlsYWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyaW5nID0gZmFsc2U7XG4gICAgICAgIGlmICghaXNIdHRwVXJsKHVybCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggSFRUUCBjb25uZWN0aW9uOiAke3VybH1gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgICAgdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nID0gZGlzYWJsZVByb3ZpZGVyUGluZztcbiAgICB9XG4gICAgZ2V0IGNvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBdmFpbGFibGU7XG4gICAgfVxuICAgIGdldCBjb25uZWN0aW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RlcmluZztcbiAgICB9XG4gICAgb24oZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9uY2UoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uY2UoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgb2ZmKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vZmYoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgcmVtb3ZlTGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIGFzeW5jIG9wZW4odXJsID0gdGhpcy51cmwpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWdpc3Rlcih1cmwpO1xuICAgIH1cbiAgICBhc3luYyBjbG9zZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb25uZWN0aW9uIGFscmVhZHkgY2xvc2VkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgICBhc3luYyBzZW5kKHBheWxvYWQsIGNvbnRleHQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBzYWZlSnNvblN0cmluZ2lmeShwYXlsb2FkKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHRoaXMudXJsLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfRkVUQ0hfT1BUUyksIHsgYm9keSB9KSk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICAgICAgICAgIHRoaXMub25QYXlsb2FkKHsgZGF0YSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKHBheWxvYWQuaWQsIGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHJlZ2lzdGVyKHVybCA9IHRoaXMudXJsKSB7XG4gICAgICAgIGlmICghaXNIdHRwVXJsKHVybCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggSFRUUCBjb25uZWN0aW9uOiAke3VybH1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZWdpc3RlcmluZykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1heExpc3RlbmVycyA9IHRoaXMuZXZlbnRzLmdldE1heExpc3RlbmVycygpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXZlbnRzLmxpc3RlbmVyQ291bnQoXCJyZWdpc3Rlcl9lcnJvclwiKSA+PSBjdXJyZW50TWF4TGlzdGVuZXJzIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudHMubGlzdGVuZXJDb3VudChcIm9wZW5cIikgPj0gY3VycmVudE1heExpc3RlbmVycykge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzLnNldE1heExpc3RlbmVycyhjdXJyZW50TWF4TGlzdGVuZXJzICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzLm9uY2UoXCJyZWdpc3Rlcl9lcnJvclwiLCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50cy5vbmNlKFwib3BlblwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzQXZhaWxhYmxlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIkhUVFAgY29ubmVjdGlvbiBpcyBtaXNzaW5nIG9yIGludmFsaWRcIikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyaW5nID0gdHJ1ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IHNhZmVKc29uU3RyaW5naWZ5KHsgaWQ6IDEsIGpzb25ycGM6IFwiMi4wXCIsIG1ldGhvZDogXCJ0ZXN0XCIsIHBhcmFtczogW10gfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgZmV0Y2godXJsLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfRkVUQ0hfT1BUUyksIHsgYm9keSB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uT3BlbigpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJyZWdpc3Rlcl9lcnJvclwiLCBlcnJvcik7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uT3BlbigpIHtcbiAgICAgICAgdGhpcy5pc0F2YWlsYWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9wZW5cIik7XG4gICAgfVxuICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMuaXNBdmFpbGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZWdpc3RlcmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiY2xvc2VcIik7XG4gICAgfVxuICAgIG9uUGF5bG9hZChlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZS5kYXRhID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gdHlwZW9mIGUuZGF0YSA9PT0gXCJzdHJpbmdcIiA/IHNhZmVKc29uUGFyc2UoZS5kYXRhKSA6IGUuZGF0YTtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcInBheWxvYWRcIiwgcGF5bG9hZCk7XG4gICAgfVxuICAgIG9uRXJyb3IoaWQsIGUpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IGVycm9yLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBmb3JtYXRKc29uUnBjRXJyb3IoaWQsIG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwicGF5bG9hZFwiLCBwYXlsb2FkKTtcbiAgICB9XG4gICAgcGFyc2VFcnJvcihlLCB1cmwgPSB0aGlzLnVybCkge1xuICAgICAgICByZXR1cm4gcGFyc2VDb25uZWN0aW9uRXJyb3IoZSwgdXJsLCBcIkhUVFBcIik7XG4gICAgfVxuICAgIHJlc2V0TWF4TGlzdGVuZXJzKCkge1xuICAgICAgICBpZiAodGhpcy5ldmVudHMuZ2V0TWF4TGlzdGVuZXJzKCkgPiBFVkVOVF9FTUlUVEVSX01BWF9MSVNURU5FUlNfREVGQVVMVCkge1xuICAgICAgICAgICAgdGhpcy5ldmVudHMuc2V0TWF4TGlzdGVuZXJzKEVWRU5UX0VNSVRURVJfTUFYX0xJU1RFTkVSU19ERUZBVUxUKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEh0dHBDb25uZWN0aW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHR0cC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http */ \"./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/http.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _http__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _http__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_http__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1odHRwLWNvbm5lY3Rpb24vZGlzdC9lc20vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFDYjtBQUN2QiwrREFBZSw2Q0FBYyxFQUFDO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLWh0dHAtY29ubmVjdGlvbi9kaXN0L2VzbS9pbmRleC5qcz80ZGEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBIdHRwQ29ubmVjdGlvbiBmcm9tIFwiLi9odHRwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9odHRwXCI7XG5leHBvcnQgZGVmYXVsdCBIdHRwQ29ubmVjdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./provider */ \"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _provider__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _provider__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_provider__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1wcm92aWRlci9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrQztBQUNQO0FBQzNCLCtEQUFlLGlEQUFRLEVBQUM7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtcHJvdmlkZXIvZGlzdC9lc20vaW5kZXguanM/OGFjNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvdmlkZXIgZnJvbSBcIi4vcHJvdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyXCI7XG5leHBvcnQgZGVmYXVsdCBQcm92aWRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ JsonRpcProvider: function() { return /* binding */ JsonRpcProvider; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n\n\nclass JsonRpcProvider extends _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.IJsonRpcProvider {\n constructor(connection) {\n super(connection);\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.hasRegisteredEventListeners = false;\n this.connection = this.setConnection(connection);\n if (this.connection.connected) {\n this.registerEventListeners();\n }\n }\n async connect(connection = this.connection) {\n await this.open(connection);\n }\n async disconnect() {\n await this.close();\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async request(request, context) {\n return this.requestStrict((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.formatJsonRpcRequest)(request.method, request.params || [], request.id || (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.getBigIntRpcId)().toString()), context);\n }\n async requestStrict(request, context) {\n return new Promise(async (resolve, reject) => {\n if (!this.connection.connected) {\n try {\n await this.open();\n }\n catch (e) {\n reject(e);\n }\n }\n this.events.on(`${request.id}`, response => {\n if ((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcError)(response)) {\n reject(response.error);\n }\n else {\n resolve(response.result);\n }\n });\n try {\n await this.connection.send(request, context);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n setConnection(connection = this.connection) {\n return connection;\n }\n onPayload(payload) {\n this.events.emit(\"payload\", payload);\n if ((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponse)(payload)) {\n this.events.emit(`${payload.id}`, payload);\n }\n else {\n this.events.emit(\"message\", {\n type: payload.method,\n data: payload.params,\n });\n }\n }\n onClose(event) {\n if (event && event.code === 3000) {\n this.events.emit(\"error\", new Error(`WebSocket connection closed abnormally with code: ${event.code} ${event.reason ? `(${event.reason})` : \"\"}`));\n }\n this.events.emit(\"disconnect\");\n }\n async open(connection = this.connection) {\n if (this.connection === connection && this.connection.connected)\n return;\n if (this.connection.connected)\n this.close();\n if (typeof connection === \"string\") {\n await this.connection.open(connection);\n connection = this.connection;\n }\n this.connection = this.setConnection(connection);\n await this.connection.open();\n this.registerEventListeners();\n this.events.emit(\"connect\");\n }\n async close() {\n await this.connection.close();\n }\n registerEventListeners() {\n if (this.hasRegisteredEventListeners)\n return;\n this.connection.on(\"payload\", (payload) => this.onPayload(payload));\n this.connection.on(\"close\", (event) => this.onClose(event));\n this.connection.on(\"error\", (error) => this.events.emit(\"error\", error));\n this.connection.on(\"register_error\", (error) => this.onClose());\n this.hasRegisteredEventListeners = true;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (JsonRpcProvider);\n//# sourceMappingURL=provider.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy1wcm92aWRlci9kaXN0L2VzbS9wcm92aWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXNDO0FBQ29HO0FBQ25JLDhCQUE4QiwwRUFBZ0I7QUFDckQ7QUFDQTtBQUNBLDBCQUEwQixnREFBWTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxrRkFBb0IscURBQXFELDRFQUFjO0FBQ3pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsV0FBVztBQUN6QyxvQkFBb0IsNEVBQWM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSwrRUFBaUI7QUFDN0IsZ0NBQWdDLFdBQVc7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFHQUFxRyxZQUFZLEVBQUUsbUJBQW1CLGFBQWEsUUFBUTtBQUMzSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxlQUFlLEVBQUM7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtcHJvdmlkZXIvZGlzdC9lc20vcHJvdmlkZXIuanM/Zjg1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQgeyBJSnNvblJwY1Byb3ZpZGVyLCBpc0pzb25ScGNSZXNwb25zZSwgZm9ybWF0SnNvblJwY1JlcXVlc3QsIGlzSnNvblJwY0Vycm9yLCBnZXRCaWdJbnRScGNJZCwgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlsc1wiO1xuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlciBleHRlbmRzIElKc29uUnBjUHJvdmlkZXIge1xuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgc3VwZXIoY29ubmVjdGlvbik7XG4gICAgICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgICAgICB0aGlzLmhhc1JlZ2lzdGVyZWRFdmVudExpc3RlbmVycyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSB0aGlzLnNldENvbm5lY3Rpb24oY29ubmVjdGlvbik7XG4gICAgICAgIGlmICh0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBjb25uZWN0KGNvbm5lY3Rpb24gPSB0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vcGVuKGNvbm5lY3Rpb24pO1xuICAgIH1cbiAgICBhc3luYyBkaXNjb25uZWN0KCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIG9uKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vbihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBvbmNlKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vbmNlKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9mZihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub2ZmKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIHJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIpO1xuICAgIH1cbiAgICBhc3luYyByZXF1ZXN0KHJlcXVlc3QsIGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdFN0cmljdChmb3JtYXRKc29uUnBjUmVxdWVzdChyZXF1ZXN0Lm1ldGhvZCwgcmVxdWVzdC5wYXJhbXMgfHwgW10sIHJlcXVlc3QuaWQgfHwgZ2V0QmlnSW50UnBjSWQoKS50b1N0cmluZygpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIGFzeW5jIHJlcXVlc3RTdHJpY3QocmVxdWVzdCwgY29udGV4dCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV2ZW50cy5vbihgJHtyZXF1ZXN0LmlkfWAsIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNKc29uUnBjRXJyb3IocmVzcG9uc2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5zZW5kKHJlcXVlc3QsIGNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzZXRDb25uZWN0aW9uKGNvbm5lY3Rpb24gPSB0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb247XG4gICAgfVxuICAgIG9uUGF5bG9hZChwYXlsb2FkKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJwYXlsb2FkXCIsIHBheWxvYWQpO1xuICAgICAgICBpZiAoaXNKc29uUnBjUmVzcG9uc2UocGF5bG9hZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoYCR7cGF5bG9hZC5pZH1gLCBwYXlsb2FkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJtZXNzYWdlXCIsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBwYXlsb2FkLm1ldGhvZCxcbiAgICAgICAgICAgICAgICBkYXRhOiBwYXlsb2FkLnBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uQ2xvc2UoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LmNvZGUgPT09IDMwMDApIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJlcnJvclwiLCBuZXcgRXJyb3IoYFdlYlNvY2tldCBjb25uZWN0aW9uIGNsb3NlZCBhYm5vcm1hbGx5IHdpdGggY29kZTogJHtldmVudC5jb2RlfSAke2V2ZW50LnJlYXNvbiA/IGAoJHtldmVudC5yZWFzb259KWAgOiBcIlwifWApKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiZGlzY29ubmVjdFwiKTtcbiAgICB9XG4gICAgYXN5bmMgb3Blbihjb25uZWN0aW9uID0gdGhpcy5jb25uZWN0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbm5lY3Rpb24gPT09IGNvbm5lY3Rpb24gJiYgdGhpcy5jb25uZWN0aW9uLmNvbm5lY3RlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvbi5jb25uZWN0ZWQpXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGlmICh0eXBlb2YgY29ubmVjdGlvbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLm9wZW4oY29ubmVjdGlvbik7XG4gICAgICAgICAgICBjb25uZWN0aW9uID0gdGhpcy5jb25uZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IHRoaXMuc2V0Q29ubmVjdGlvbihjb25uZWN0aW9uKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLm9wZW4oKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJjb25uZWN0XCIpO1xuICAgIH1cbiAgICBhc3luYyBjbG9zZSgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfVxuICAgIHJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1JlZ2lzdGVyZWRFdmVudExpc3RlbmVycylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLm9uKFwicGF5bG9hZFwiLCAocGF5bG9hZCkgPT4gdGhpcy5vblBheWxvYWQocGF5bG9hZCkpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJjbG9zZVwiLCAoZXZlbnQpID0+IHRoaXMub25DbG9zZShldmVudCkpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJlcnJvclwiLCAoZXJyb3IpID0+IHRoaXMuZXZlbnRzLmVtaXQoXCJlcnJvclwiLCBlcnJvcikpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJyZWdpc3Rlcl9lcnJvclwiLCAoZXJyb3IpID0+IHRoaXMub25DbG9zZSgpKTtcbiAgICAgICAgdGhpcy5oYXNSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcnMgPSB0cnVlO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEpzb25ScGNQcm92aWRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByb3ZpZGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonrpc */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _jsonrpc__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _jsonrpc__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _misc__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _misc__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./provider */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _provider__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _provider__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validator */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validator__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validator__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUNIO0FBQ0k7QUFDQztBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9pbmRleC5qcz8wYThmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2pzb25ycGNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n\n//# sourceMappingURL=jsonrpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9qc29ucnBjLmpzIiwibWFwcGluZ3MiOiI7QUFBVTtBQUNWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXR5cGVzL2Rpc3QvZXNtL2pzb25ycGMuanM/NjU1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1qc29ucnBjLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: function() { return /* binding */ IEvents; }\n/* harmony export */ });\nclass IEvents {\n}\n//# sourceMappingURL=misc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9taXNjLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtdHlwZXMvZGlzdC9lc20vbWlzYy5qcz81ZjE3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJRXZlbnRzIHtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pc2MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IBaseJsonRpcProvider: function() { return /* binding */ IBaseJsonRpcProvider; },\n/* harmony export */ IJsonRpcConnection: function() { return /* binding */ IJsonRpcConnection; },\n/* harmony export */ IJsonRpcProvider: function() { return /* binding */ IJsonRpcProvider; }\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js\");\n\nclass IJsonRpcConnection extends _misc__WEBPACK_IMPORTED_MODULE_0__.IEvents {\n constructor(opts) {\n super();\n }\n}\nclass IBaseJsonRpcProvider extends _misc__WEBPACK_IMPORTED_MODULE_0__.IEvents {\n constructor() {\n super();\n }\n}\nclass IJsonRpcProvider extends IBaseJsonRpcProvider {\n constructor(connection) {\n super();\n }\n}\n//# sourceMappingURL=provider.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9wcm92aWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWlDO0FBQzFCLGlDQUFpQywwQ0FBTztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNPLG1DQUFtQywwQ0FBTztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS9wcm92aWRlci5qcz81N2FkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudHMgfSBmcm9tIFwiLi9taXNjXCI7XG5leHBvcnQgY2xhc3MgSUpzb25ScGNDb25uZWN0aW9uIGV4dGVuZHMgSUV2ZW50cyB7XG4gICAgY29uc3RydWN0b3Iob3B0cykge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJQmFzZUpzb25ScGNQcm92aWRlciBleHRlbmRzIElFdmVudHMge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJSnNvblJwY1Byb3ZpZGVyIGV4dGVuZHMgSUJhc2VKc29uUnBjUHJvdmlkZXIge1xuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm92aWRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n\n//# sourceMappingURL=validator.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlcy9kaXN0L2VzbS92YWxpZGF0b3IuanMiLCJtYXBwaW5ncyI6IjtBQUFVO0FBQ1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtdHlwZXMvZGlzdC9lc20vdmFsaWRhdG9yLmpzP2E2ZmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmFsaWRhdG9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_ERROR: function() { return /* binding */ DEFAULT_ERROR; },\n/* harmony export */ INTERNAL_ERROR: function() { return /* binding */ INTERNAL_ERROR; },\n/* harmony export */ INVALID_PARAMS: function() { return /* binding */ INVALID_PARAMS; },\n/* harmony export */ INVALID_REQUEST: function() { return /* binding */ INVALID_REQUEST; },\n/* harmony export */ METHOD_NOT_FOUND: function() { return /* binding */ METHOD_NOT_FOUND; },\n/* harmony export */ PARSE_ERROR: function() { return /* binding */ PARSE_ERROR; },\n/* harmony export */ RESERVED_ERROR_CODES: function() { return /* binding */ RESERVED_ERROR_CODES; },\n/* harmony export */ SERVER_ERROR: function() { return /* binding */ SERVER_ERROR; },\n/* harmony export */ SERVER_ERROR_CODE_RANGE: function() { return /* binding */ SERVER_ERROR_CODE_RANGE; },\n/* harmony export */ STANDARD_ERROR_MAP: function() { return /* binding */ STANDARD_ERROR_MAP; }\n/* harmony export */ });\nconst PARSE_ERROR = \"PARSE_ERROR\";\nconst INVALID_REQUEST = \"INVALID_REQUEST\";\nconst METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nconst INVALID_PARAMS = \"INVALID_PARAMS\";\nconst INTERNAL_ERROR = \"INTERNAL_ERROR\";\nconst SERVER_ERROR = \"SERVER_ERROR\";\nconst RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nconst SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nconst STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nconst DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFPO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNQLHFCQUFxQixzQ0FBc0M7QUFDM0QseUJBQXlCLDBDQUEwQztBQUNuRSwwQkFBMEIsMkNBQTJDO0FBQ3JFLHdCQUF3Qix5Q0FBeUM7QUFDakUsd0JBQXdCLHlDQUF5QztBQUNqRSxzQkFBc0IsdUNBQXVDO0FBQzdEO0FBQ087QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9jb25zdGFudHMuanM/OWMwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUEFSU0VfRVJST1IgPSBcIlBBUlNFX0VSUk9SXCI7XG5leHBvcnQgY29uc3QgSU5WQUxJRF9SRVFVRVNUID0gXCJJTlZBTElEX1JFUVVFU1RcIjtcbmV4cG9ydCBjb25zdCBNRVRIT0RfTk9UX0ZPVU5EID0gXCJNRVRIT0RfTk9UX0ZPVU5EXCI7XG5leHBvcnQgY29uc3QgSU5WQUxJRF9QQVJBTVMgPSBcIklOVkFMSURfUEFSQU1TXCI7XG5leHBvcnQgY29uc3QgSU5URVJOQUxfRVJST1IgPSBcIklOVEVSTkFMX0VSUk9SXCI7XG5leHBvcnQgY29uc3QgU0VSVkVSX0VSUk9SID0gXCJTRVJWRVJfRVJST1JcIjtcbmV4cG9ydCBjb25zdCBSRVNFUlZFRF9FUlJPUl9DT0RFUyA9IFstMzI3MDAsIC0zMjYwMCwgLTMyNjAxLCAtMzI2MDIsIC0zMjYwM107XG5leHBvcnQgY29uc3QgU0VSVkVSX0VSUk9SX0NPREVfUkFOR0UgPSBbLTMyMDAwLCAtMzIwOTldO1xuZXhwb3J0IGNvbnN0IFNUQU5EQVJEX0VSUk9SX01BUCA9IHtcbiAgICBbUEFSU0VfRVJST1JdOiB7IGNvZGU6IC0zMjcwMCwgbWVzc2FnZTogXCJQYXJzZSBlcnJvclwiIH0sXG4gICAgW0lOVkFMSURfUkVRVUVTVF06IHsgY29kZTogLTMyNjAwLCBtZXNzYWdlOiBcIkludmFsaWQgUmVxdWVzdFwiIH0sXG4gICAgW01FVEhPRF9OT1RfRk9VTkRdOiB7IGNvZGU6IC0zMjYwMSwgbWVzc2FnZTogXCJNZXRob2Qgbm90IGZvdW5kXCIgfSxcbiAgICBbSU5WQUxJRF9QQVJBTVNdOiB7IGNvZGU6IC0zMjYwMiwgbWVzc2FnZTogXCJJbnZhbGlkIHBhcmFtc1wiIH0sXG4gICAgW0lOVEVSTkFMX0VSUk9SXTogeyBjb2RlOiAtMzI2MDMsIG1lc3NhZ2U6IFwiSW50ZXJuYWwgZXJyb3JcIiB9LFxuICAgIFtTRVJWRVJfRVJST1JdOiB7IGNvZGU6IC0zMjAwMCwgbWVzc2FnZTogXCJTZXJ2ZXIgZXJyb3JcIiB9LFxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VSUk9SID0gU0VSVkVSX0VSUk9SO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isNodeJs: function() { return /* binding */ isNodeJs; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/environment */ \"./node_modules/@walletconnect/environment/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"isNodeJs\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\nconst isNodeJs = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.isNode;\n\n//# sourceMappingURL=env.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9lbnYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9EO0FBQzdDLGlCQUFpQiw4REFBTTtBQUNhO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL2Vudi5qcz82ODRkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTm9kZSB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9lbnZpcm9ubWVudFwiO1xuZXhwb3J0IGNvbnN0IGlzTm9kZUpzID0gaXNOb2RlO1xuZXhwb3J0ICogZnJvbSBcIkB3YWxsZXRjb25uZWN0L2Vudmlyb25tZW50XCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getError: function() { return /* binding */ getError; },\n/* harmony export */ getErrorByCode: function() { return /* binding */ getErrorByCode; },\n/* harmony export */ isReservedErrorCode: function() { return /* binding */ isReservedErrorCode; },\n/* harmony export */ isServerErrorCode: function() { return /* binding */ isServerErrorCode; },\n/* harmony export */ isValidErrorCode: function() { return /* binding */ isValidErrorCode; },\n/* harmony export */ parseConnectionError: function() { return /* binding */ parseConnectionError; },\n/* harmony export */ validateJsonRpcError: function() { return /* binding */ validateJsonRpcError; }\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\");\n\nfunction isServerErrorCode(code) {\n return code <= _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE[0] && code >= _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE[1];\n}\nfunction isReservedErrorCode(code) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.RESERVED_ERROR_CODES.includes(code);\n}\nfunction isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nfunction getError(type) {\n if (!Object.keys(_constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP).includes(type)) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR];\n }\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[type];\n}\nfunction getErrorByCode(code) {\n const match = Object.values(_constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR];\n }\n return match;\n}\nfunction validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nfunction parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFnSDtBQUN6RztBQUNQLG1CQUFtQiwrREFBdUIsZUFBZSwrREFBdUI7QUFDaEY7QUFDTztBQUNQLFdBQVcsNERBQW9CO0FBQy9CO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxxQkFBcUIsMERBQWtCO0FBQ3ZDLGVBQWUsMERBQWtCLENBQUMscURBQWE7QUFDL0M7QUFDQSxXQUFXLDBEQUFrQjtBQUM3QjtBQUNPO0FBQ1AsZ0NBQWdDLDBEQUFrQjtBQUNsRDtBQUNBLGVBQWUsMERBQWtCLENBQUMscURBQWE7QUFDL0M7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELG9CQUFvQjtBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwwREFBa0IsQ0FBQyxxREFBYTtBQUM5RDtBQUNBO0FBQ0E7QUFDQSxtRUFBbUUsb0JBQW9CO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNPO0FBQ1A7QUFDQSxtQ0FBbUMsTUFBTSxhQUFhLElBQUk7QUFDMUQ7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL2Vycm9yLmpzPzU5NTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VSVkVSX0VSUk9SX0NPREVfUkFOR0UsIFJFU0VSVkVEX0VSUk9SX0NPREVTLCBTVEFOREFSRF9FUlJPUl9NQVAsIERFRkFVTFRfRVJST1IsIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgZnVuY3Rpb24gaXNTZXJ2ZXJFcnJvckNvZGUoY29kZSkge1xuICAgIHJldHVybiBjb2RlIDw9IFNFUlZFUl9FUlJPUl9DT0RFX1JBTkdFWzBdICYmIGNvZGUgPj0gU0VSVkVSX0VSUk9SX0NPREVfUkFOR0VbMV07XG59XG5leHBvcnQgZnVuY3Rpb24gaXNSZXNlcnZlZEVycm9yQ29kZShjb2RlKSB7XG4gICAgcmV0dXJuIFJFU0VSVkVEX0VSUk9SX0NPREVTLmluY2x1ZGVzKGNvZGUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRFcnJvckNvZGUoY29kZSkge1xuICAgIHJldHVybiB0eXBlb2YgY29kZSA9PT0gXCJudW1iZXJcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvcih0eXBlKSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyhTVEFOREFSRF9FUlJPUl9NQVApLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgIHJldHVybiBTVEFOREFSRF9FUlJPUl9NQVBbREVGQVVMVF9FUlJPUl07XG4gICAgfVxuICAgIHJldHVybiBTVEFOREFSRF9FUlJPUl9NQVBbdHlwZV07XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JCeUNvZGUoY29kZSkge1xuICAgIGNvbnN0IG1hdGNoID0gT2JqZWN0LnZhbHVlcyhTVEFOREFSRF9FUlJPUl9NQVApLmZpbmQoZSA9PiBlLmNvZGUgPT09IGNvZGUpO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIFNUQU5EQVJEX0VSUk9SX01BUFtERUZBVUxUX0VSUk9SXTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdGNoO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSnNvblJwY0Vycm9yKHJlc3BvbnNlKSB7XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvci5jb2RlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiB7IHZhbGlkOiBmYWxzZSwgZXJyb3I6IFwiTWlzc2luZyBjb2RlIGZvciBKU09OLVJQQyBlcnJvclwiIH07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IubWVzc2FnZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4geyB2YWxpZDogZmFsc2UsIGVycm9yOiBcIk1pc3NpbmcgbWVzc2FnZSBmb3IgSlNPTi1SUEMgZXJyb3JcIiB9O1xuICAgIH1cbiAgICBpZiAoIWlzVmFsaWRFcnJvckNvZGUocmVzcG9uc2UuZXJyb3IuY29kZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgIGVycm9yOiBgSW52YWxpZCBlcnJvciBjb2RlIHR5cGUgZm9yIEpTT04tUlBDOiAke3Jlc3BvbnNlLmVycm9yLmNvZGV9YCxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzUmVzZXJ2ZWRFcnJvckNvZGUocmVzcG9uc2UuZXJyb3IuY29kZSkpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBnZXRFcnJvckJ5Q29kZShyZXNwb25zZS5lcnJvci5jb2RlKTtcbiAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UgIT09IFNUQU5EQVJEX0VSUk9SX01BUFtERUZBVUxUX0VSUk9SXS5tZXNzYWdlICYmXG4gICAgICAgICAgICByZXNwb25zZS5lcnJvci5tZXNzYWdlID09PSBlcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogYEludmFsaWQgZXJyb3IgY29kZSBtZXNzYWdlIGZvciBKU09OLVJQQzogJHtyZXNwb25zZS5lcnJvci5jb2RlfWAsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb25uZWN0aW9uRXJyb3IoZSwgdXJsLCB0eXBlKSB7XG4gICAgcmV0dXJuIGUubWVzc2FnZS5pbmNsdWRlcyhcImdldGFkZHJpbmZvIEVOT1RGT1VORFwiKSB8fCBlLm1lc3NhZ2UuaW5jbHVkZXMoXCJjb25uZWN0IEVDT05OUkVGVVNFRFwiKVxuICAgICAgICA/IG5ldyBFcnJvcihgVW5hdmFpbGFibGUgJHt0eXBlfSBSUEMgdXJsIGF0ICR7dXJsfWApXG4gICAgICAgIDogZTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatErrorMessage: function() { return /* binding */ formatErrorMessage; },\n/* harmony export */ formatJsonRpcError: function() { return /* binding */ formatJsonRpcError; },\n/* harmony export */ formatJsonRpcRequest: function() { return /* binding */ formatJsonRpcRequest; },\n/* harmony export */ formatJsonRpcResult: function() { return /* binding */ formatJsonRpcResult; },\n/* harmony export */ getBigIntRpcId: function() { return /* binding */ getBigIntRpcId; },\n/* harmony export */ payloadId: function() { return /* binding */ payloadId; }\n/* harmony export */ });\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\");\n\n\nfunction payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nfunction getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nfunction formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nfunction formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nfunction formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nfunction formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return (0,_error__WEBPACK_IMPORTED_MODULE_0__.getError)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, (0,_error__WEBPACK_IMPORTED_MODULE_0__.getError)(_constants__WEBPACK_IMPORTED_MODULE_1__.SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if ((0,_error__WEBPACK_IMPORTED_MODULE_0__.isReservedErrorCode)(error.code)) {\n error = (0,_error__WEBPACK_IMPORTED_MODULE_0__.getErrorByCode)(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9mb3JtYXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBd0U7QUFDYjtBQUNwRDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsZUFBZSxnREFBUSxDQUFDLHNEQUFjO0FBQ3RDO0FBQ0E7QUFDQSw4Q0FBOEMsRUFBRSxnREFBUSxDQUFDLG9EQUFZLE1BQU0sZ0JBQWdCO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwyREFBbUI7QUFDM0IsZ0JBQWdCLHNEQUFjO0FBQzlCO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL2Zvcm1hdC5qcz8yNTAwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEVycm9yLCBnZXRFcnJvckJ5Q29kZSwgaXNSZXNlcnZlZEVycm9yQ29kZSB9IGZyb20gXCIuL2Vycm9yXCI7XG5pbXBvcnQgeyBJTlRFUk5BTF9FUlJPUiwgU0VSVkVSX0VSUk9SIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGF5bG9hZElkKGVudHJvcHkgPSAzKSB7XG4gICAgY29uc3QgZGF0ZSA9IERhdGUubm93KCkgKiBNYXRoLnBvdygxMCwgZW50cm9weSk7XG4gICAgY29uc3QgZXh0cmEgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgZW50cm9weSkpO1xuICAgIHJldHVybiBkYXRlICsgZXh0cmE7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0QmlnSW50UnBjSWQoZW50cm9weSA9IDYpIHtcbiAgICByZXR1cm4gQmlnSW50KHBheWxvYWRJZChlbnRyb3B5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SnNvblJwY1JlcXVlc3QobWV0aG9kLCBwYXJhbXMsIGlkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGlkIHx8IHBheWxvYWRJZCgpLFxuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHBhcmFtcyxcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEpzb25ScGNSZXN1bHQoaWQsIHJlc3VsdCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkLFxuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICByZXN1bHQsXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRKc29uUnBjRXJyb3IoaWQsIGVycm9yLCBkYXRhKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQsXG4gICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgIGVycm9yOiBmb3JtYXRFcnJvck1lc3NhZ2UoZXJyb3IsIGRhdGEpLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RXJyb3JNZXNzYWdlKGVycm9yLCBkYXRhKSB7XG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gZ2V0RXJyb3IoSU5URVJOQUxfRVJST1IpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGVycm9yID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGVycm9yID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFcnJvcihTRVJWRVJfRVJST1IpKSwgeyBtZXNzYWdlOiBlcnJvciB9KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkYXRhICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIGVycm9yLmRhdGEgPSBkYXRhO1xuICAgIH1cbiAgICBpZiAoaXNSZXNlcnZlZEVycm9yQ29kZShlcnJvci5jb2RlKSkge1xuICAgICAgICBlcnJvciA9IGdldEVycm9yQnlDb2RlKGVycm9yLmNvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3I7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _constants__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _constants__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./error */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _error__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _error__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./env */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _env__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _env__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./format */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _format__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _format__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _routing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./routing */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _routing__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _routing__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_5__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _types__WEBPACK_IMPORTED_MODULE_5__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./url */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _url__WEBPACK_IMPORTED_MODULE_6__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _url__WEBPACK_IMPORTED_MODULE_6__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./validators */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validators__WEBPACK_IMPORTED_MODULE_7__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validators__WEBPACK_IMPORTED_MODULE_7__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNEI7QUFDSjtBQUNGO0FBQ0c7QUFDQztBQUNGO0FBQ0Y7QUFDTztBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9pbmRleC5qcz82ODBmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybWF0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0aW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isValidDefaultRoute: function() { return /* binding */ isValidDefaultRoute; },\n/* harmony export */ isValidLeadingWildcardRoute: function() { return /* binding */ isValidLeadingWildcardRoute; },\n/* harmony export */ isValidRoute: function() { return /* binding */ isValidRoute; },\n/* harmony export */ isValidTrailingWildcardRoute: function() { return /* binding */ isValidTrailingWildcardRoute; },\n/* harmony export */ isValidWildcardRoute: function() { return /* binding */ isValidWildcardRoute; }\n/* harmony export */ });\nfunction isValidRoute(route) {\n if (route.includes(\"*\")) {\n return isValidWildcardRoute(route);\n }\n if (/\\W/g.test(route)) {\n return false;\n }\n return true;\n}\nfunction isValidDefaultRoute(route) {\n return route === \"*\";\n}\nfunction isValidWildcardRoute(route) {\n if (isValidDefaultRoute(route)) {\n return true;\n }\n if (!route.includes(\"*\")) {\n return false;\n }\n if (route.split(\"*\").length !== 2) {\n return false;\n }\n if (route.split(\"*\").filter(x => x.trim() === \"\").length !== 1) {\n return false;\n }\n return true;\n}\nfunction isValidLeadingWildcardRoute(route) {\n return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split(\"*\")[0].trim();\n}\nfunction isValidTrailingWildcardRoute(route) {\n return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split(\"*\")[1].trim();\n}\n//# sourceMappingURL=routing.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS9yb3V0aW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2pzb25ycGMtdXRpbHMvZGlzdC9lc20vcm91dGluZy5qcz85NjBkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUm91dGUocm91dGUpIHtcbiAgICBpZiAocm91dGUuaW5jbHVkZXMoXCIqXCIpKSB7XG4gICAgICAgIHJldHVybiBpc1ZhbGlkV2lsZGNhcmRSb3V0ZShyb3V0ZSk7XG4gICAgfVxuICAgIGlmICgvXFxXL2cudGVzdChyb3V0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRGVmYXVsdFJvdXRlKHJvdXRlKSB7XG4gICAgcmV0dXJuIHJvdXRlID09PSBcIipcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkV2lsZGNhcmRSb3V0ZShyb3V0ZSkge1xuICAgIGlmIChpc1ZhbGlkRGVmYXVsdFJvdXRlKHJvdXRlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFyb3V0ZS5pbmNsdWRlcyhcIipcIikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAocm91dGUuc3BsaXQoXCIqXCIpLmxlbmd0aCAhPT0gMikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChyb3V0ZS5zcGxpdChcIipcIikuZmlsdGVyKHggPT4geC50cmltKCkgPT09IFwiXCIpLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRMZWFkaW5nV2lsZGNhcmRSb3V0ZShyb3V0ZSkge1xuICAgIHJldHVybiAhaXNWYWxpZERlZmF1bHRSb3V0ZShyb3V0ZSkgJiYgaXNWYWxpZFdpbGRjYXJkUm91dGUocm91dGUpICYmICFyb3V0ZS5zcGxpdChcIipcIilbMF0udHJpbSgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRUcmFpbGluZ1dpbGRjYXJkUm91dGUocm91dGUpIHtcbiAgICByZXR1cm4gIWlzVmFsaWREZWZhdWx0Um91dGUocm91dGUpICYmIGlzVmFsaWRXaWxkY2FyZFJvdXRlKHJvdXRlKSAmJiAhcm91dGUuc3BsaXQoXCIqXCIpWzFdLnRyaW0oKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRpbmcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/jsonrpc-types */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS90eXBlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2QztBQUM3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS90eXBlcy5qcz8yNjI0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLXR5cGVzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10eXBlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isHttpUrl: function() { return /* binding */ isHttpUrl; },\n/* harmony export */ isLocalhostUrl: function() { return /* binding */ isLocalhostUrl; },\n/* harmony export */ isWsUrl: function() { return /* binding */ isWsUrl; }\n/* harmony export */ });\nconst HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nfunction isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nfunction isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nfunction isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS91cmwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsMkNBQTJDLElBQUk7QUFDL0M7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS91cmwuanM/ODMyOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBIVFRQX1JFR0VYID0gXCJeaHR0cHM/OlwiO1xuY29uc3QgV1NfUkVHRVggPSBcIl53c3M/OlwiO1xuZnVuY3Rpb24gZ2V0VXJsUHJvdG9jb2wodXJsKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHVybC5tYXRjaChuZXcgUmVnRXhwKC9eXFx3KzovLCBcImdpXCIpKTtcbiAgICBpZiAoIW1hdGNoZXMgfHwgIW1hdGNoZXMubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG4gICAgcmV0dXJuIG1hdGNoZXNbMF07XG59XG5mdW5jdGlvbiBtYXRjaFJlZ2V4UHJvdG9jb2wodXJsLCByZWdleCkge1xuICAgIGNvbnN0IHByb3RvY29sID0gZ2V0VXJsUHJvdG9jb2wodXJsKTtcbiAgICBpZiAodHlwZW9mIHByb3RvY29sID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXgpLnRlc3QocHJvdG9jb2wpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSHR0cFVybCh1cmwpIHtcbiAgICByZXR1cm4gbWF0Y2hSZWdleFByb3RvY29sKHVybCwgSFRUUF9SRUdFWCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNXc1VybCh1cmwpIHtcbiAgICByZXR1cm4gbWF0Y2hSZWdleFByb3RvY29sKHVybCwgV1NfUkVHRVgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYWxob3N0VXJsKHVybCkge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKFwid3NzPzovL2xvY2FsaG9zdCg6ZHsyLDV9KT9cIikudGVzdCh1cmwpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isJsonRpcError: function() { return /* binding */ isJsonRpcError; },\n/* harmony export */ isJsonRpcPayload: function() { return /* binding */ isJsonRpcPayload; },\n/* harmony export */ isJsonRpcRequest: function() { return /* binding */ isJsonRpcRequest; },\n/* harmony export */ isJsonRpcResponse: function() { return /* binding */ isJsonRpcResponse; },\n/* harmony export */ isJsonRpcResult: function() { return /* binding */ isJsonRpcResult; },\n/* harmony export */ isJsonRpcValidationInvalid: function() { return /* binding */ isJsonRpcValidationInvalid; }\n/* harmony export */ });\nfunction isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nfunction isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nfunction isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nfunction isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nfunction isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nfunction isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlscy9kaXN0L2VzbS92YWxpZGF0b3JzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9qc29ucnBjLXV0aWxzL2Rpc3QvZXNtL3ZhbGlkYXRvcnMuanM/NDc0YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjUGF5bG9hZChwYXlsb2FkKSB7XG4gICAgcmV0dXJuICh0eXBlb2YgcGF5bG9hZCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcImlkXCIgaW4gcGF5bG9hZCAmJlxuICAgICAgICBcImpzb25ycGNcIiBpbiBwYXlsb2FkICYmXG4gICAgICAgIHBheWxvYWQuanNvbnJwYyA9PT0gXCIyLjBcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjUmVxdWVzdChwYXlsb2FkKSB7XG4gICAgcmV0dXJuIGlzSnNvblJwY1BheWxvYWQocGF5bG9hZCkgJiYgXCJtZXRob2RcIiBpbiBwYXlsb2FkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvblJwY1Jlc3BvbnNlKHBheWxvYWQpIHtcbiAgICByZXR1cm4gaXNKc29uUnBjUGF5bG9hZChwYXlsb2FkKSAmJiAoaXNKc29uUnBjUmVzdWx0KHBheWxvYWQpIHx8IGlzSnNvblJwY0Vycm9yKHBheWxvYWQpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25ScGNSZXN1bHQocGF5bG9hZCkge1xuICAgIHJldHVybiBcInJlc3VsdFwiIGluIHBheWxvYWQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjRXJyb3IocGF5bG9hZCkge1xuICAgIHJldHVybiBcImVycm9yXCIgaW4gcGF5bG9hZDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25ScGNWYWxpZGF0aW9uSW52YWxpZCh2YWxpZGF0aW9uKSB7XG4gICAgcmV0dXJuIFwiZXJyb3JcIiBpbiB2YWxpZGF0aW9uICYmIHZhbGlkYXRpb24udmFsaWQgPT09IGZhbHNlO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmFsaWRhdG9ycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/core.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/core.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/legacy-types */ \"./node_modules/@walletconnect/legacy-types/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\n/* harmony import */ var _socket__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./socket */ \"./node_modules/@walletconnect/legacy-client/dist/esm/socket.js\");\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ \"./node_modules/@walletconnect/legacy-client/dist/esm/events.js\");\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./storage */ \"./node_modules/@walletconnect/legacy-client/dist/esm/storage.js\");\n/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./url */ \"./node_modules/@walletconnect/legacy-client/dist/esm/url.js\");\n\n\n\n\n\n\nclass Connector {\n constructor(opts) {\n this.protocol = \"wc\";\n this.version = 1;\n this._bridge = \"\";\n this._key = null;\n this._clientId = \"\";\n this._clientMeta = null;\n this._peerId = \"\";\n this._peerMeta = null;\n this._handshakeId = 0;\n this._handshakeTopic = \"\";\n this._connected = false;\n this._accounts = [];\n this._chainId = 0;\n this._networkId = 0;\n this._rpcUrl = \"\";\n this._eventManager = new _events__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n this._clientMeta = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.getClientMeta)() || opts.connectorOpts.clientMeta || null;\n this._cryptoLib = opts.cryptoLib;\n this._sessionStorage = opts.sessionStorage || new _storage__WEBPACK_IMPORTED_MODULE_4__[\"default\"](opts.connectorOpts.storageId);\n this._qrcodeModal = opts.connectorOpts.qrcodeModal;\n this._qrcodeModalOptions = opts.connectorOpts.qrcodeModalOptions;\n this._signingMethods = [..._walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.SIGNING_METHODS, ...(opts.connectorOpts.signingMethods || [])];\n if (!opts.connectorOpts.bridge && !opts.connectorOpts.uri && !opts.connectorOpts.session) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_MISSING_REQUIRED);\n }\n if (opts.connectorOpts.bridge) {\n this.bridge = (0,_url__WEBPACK_IMPORTED_MODULE_5__.getBridgeUrl)(opts.connectorOpts.bridge);\n }\n if (opts.connectorOpts.uri) {\n this.uri = opts.connectorOpts.uri;\n }\n const session = opts.connectorOpts.session || this._getStorageSession();\n if (session) {\n this.session = session;\n }\n if (this.handshakeId) {\n this._subscribeToSessionResponse(this.handshakeId, \"Session request rejected\");\n }\n this._transport =\n opts.transport ||\n new _socket__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n protocol: this.protocol,\n version: this.version,\n url: this.bridge,\n subscriptions: [this.clientId],\n });\n this._subscribeToInternalEvents();\n this._initTransport();\n if (opts.connectorOpts.uri) {\n this._subscribeToSessionRequest();\n }\n if (opts.pushServerOpts) {\n this._registerPushServer(opts.pushServerOpts);\n }\n }\n set bridge(value) {\n if (!value) {\n return;\n }\n this._bridge = value;\n }\n get bridge() {\n return this._bridge;\n }\n set key(value) {\n if (!value) {\n return;\n }\n const key = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.convertHexToArrayBuffer)(value);\n this._key = key;\n }\n get key() {\n if (this._key) {\n const key = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.convertArrayBufferToHex)(this._key, true);\n return key;\n }\n return \"\";\n }\n set clientId(value) {\n if (!value) {\n return;\n }\n this._clientId = value;\n }\n get clientId() {\n let clientId = this._clientId;\n if (!clientId) {\n clientId = this._clientId = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.uuid)();\n }\n return this._clientId;\n }\n set peerId(value) {\n if (!value) {\n return;\n }\n this._peerId = value;\n }\n get peerId() {\n return this._peerId;\n }\n set clientMeta(value) {\n }\n get clientMeta() {\n let clientMeta = this._clientMeta;\n if (!clientMeta) {\n clientMeta = this._clientMeta = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.getClientMeta)();\n }\n return clientMeta;\n }\n set peerMeta(value) {\n this._peerMeta = value;\n }\n get peerMeta() {\n const peerMeta = this._peerMeta;\n return peerMeta;\n }\n set handshakeTopic(value) {\n if (!value) {\n return;\n }\n this._handshakeTopic = value;\n }\n get handshakeTopic() {\n return this._handshakeTopic;\n }\n set handshakeId(value) {\n if (!value) {\n return;\n }\n this._handshakeId = value;\n }\n get handshakeId() {\n return this._handshakeId;\n }\n get uri() {\n const _uri = this._formatUri();\n return _uri;\n }\n set uri(value) {\n if (!value) {\n return;\n }\n const { handshakeTopic, bridge, key } = this._parseUri(value);\n this.handshakeTopic = handshakeTopic;\n this.bridge = bridge;\n this.key = key;\n }\n set chainId(value) {\n this._chainId = value;\n }\n get chainId() {\n const chainId = this._chainId;\n return chainId;\n }\n set networkId(value) {\n this._networkId = value;\n }\n get networkId() {\n const networkId = this._networkId;\n return networkId;\n }\n set accounts(value) {\n this._accounts = value;\n }\n get accounts() {\n const accounts = this._accounts;\n return accounts;\n }\n set rpcUrl(value) {\n this._rpcUrl = value;\n }\n get rpcUrl() {\n const rpcUrl = this._rpcUrl;\n return rpcUrl;\n }\n set connected(value) {\n }\n get connected() {\n return this._connected;\n }\n set pending(value) {\n }\n get pending() {\n return !!this._handshakeTopic;\n }\n get session() {\n return {\n connected: this.connected,\n accounts: this.accounts,\n chainId: this.chainId,\n bridge: this.bridge,\n key: this.key,\n clientId: this.clientId,\n clientMeta: this.clientMeta,\n peerId: this.peerId,\n peerMeta: this.peerMeta,\n handshakeId: this.handshakeId,\n handshakeTopic: this.handshakeTopic,\n };\n }\n set session(value) {\n if (!value) {\n return;\n }\n this._connected = value.connected;\n this.accounts = value.accounts;\n this.chainId = value.chainId;\n this.bridge = value.bridge;\n this.key = value.key;\n this.clientId = value.clientId;\n this.clientMeta = value.clientMeta;\n this.peerId = value.peerId;\n this.peerMeta = value.peerMeta;\n this.handshakeId = value.handshakeId;\n this.handshakeTopic = value.handshakeTopic;\n }\n on(event, callback) {\n const eventEmitter = {\n event,\n callback,\n };\n this._eventManager.subscribe(eventEmitter);\n }\n off(event) {\n this._eventManager.unsubscribe(event);\n }\n async createInstantRequest(instantRequest) {\n this._key = await this._generateKey();\n const request = this._formatRequest({\n method: \"wc_instantRequest\",\n params: [\n {\n peerId: this.clientId,\n peerMeta: this.clientMeta,\n request: this._formatRequest(instantRequest),\n },\n ],\n });\n this.handshakeId = request.id;\n this.handshakeTopic = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.uuid)();\n this._eventManager.trigger({\n event: \"display_uri\",\n params: [this.uri],\n });\n this.on(\"modal_closed\", () => {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_QRCODE_MODAL_USER_CLOSED);\n });\n const endInstantRequest = () => {\n this.killSession();\n };\n try {\n const result = await this._sendCallRequest(request);\n if (result) {\n endInstantRequest();\n }\n return result;\n }\n catch (error) {\n endInstantRequest();\n throw error;\n }\n }\n async connect(opts) {\n if (!this._qrcodeModal) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_QRCODE_MODAL_NOT_PROVIDED);\n }\n if (this.connected) {\n return {\n chainId: this.chainId,\n accounts: this.accounts,\n };\n }\n await this.createSession(opts);\n return new Promise(async (resolve, reject) => {\n this.on(\"modal_closed\", () => reject(new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_QRCODE_MODAL_USER_CLOSED)));\n this.on(\"connect\", (error, payload) => {\n if (error) {\n return reject(error);\n }\n resolve(payload.params[0]);\n });\n });\n }\n async createSession(opts) {\n if (this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_CONNECTED);\n }\n if (this.pending) {\n return;\n }\n this._key = await this._generateKey();\n const request = this._formatRequest({\n method: \"wc_sessionRequest\",\n params: [\n {\n peerId: this.clientId,\n peerMeta: this.clientMeta,\n chainId: opts && opts.chainId ? opts.chainId : null,\n },\n ],\n });\n this.handshakeId = request.id;\n this.handshakeTopic = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.uuid)();\n this._sendSessionRequest(request, \"Session update rejected\", {\n topic: this.handshakeTopic,\n });\n this._eventManager.trigger({\n event: \"display_uri\",\n params: [this.uri],\n });\n }\n approveSession(sessionStatus) {\n if (this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_CONNECTED);\n }\n this.chainId = sessionStatus.chainId;\n this.accounts = sessionStatus.accounts;\n this.networkId = sessionStatus.networkId || 0;\n this.rpcUrl = sessionStatus.rpcUrl || \"\";\n const sessionParams = {\n approved: true,\n chainId: this.chainId,\n networkId: this.networkId,\n accounts: this.accounts,\n rpcUrl: this.rpcUrl,\n peerId: this.clientId,\n peerMeta: this.clientMeta,\n };\n const response = {\n id: this.handshakeId,\n jsonrpc: \"2.0\",\n result: sessionParams,\n };\n this._sendResponse(response);\n this._connected = true;\n this._setStorageSession();\n this._eventManager.trigger({\n event: \"connect\",\n params: [\n {\n peerId: this.peerId,\n peerMeta: this.peerMeta,\n chainId: this.chainId,\n accounts: this.accounts,\n },\n ],\n });\n }\n rejectSession(sessionError) {\n if (this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_CONNECTED);\n }\n const message = sessionError && sessionError.message ? sessionError.message : _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_REJECTED;\n const response = this._formatResponse({\n id: this.handshakeId,\n error: { message },\n });\n this._sendResponse(response);\n this._connected = false;\n this._eventManager.trigger({\n event: \"disconnect\",\n params: [{ message }],\n });\n this._removeStorageSession();\n }\n updateSession(sessionStatus) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n this.chainId = sessionStatus.chainId;\n this.accounts = sessionStatus.accounts;\n this.networkId = sessionStatus.networkId || 0;\n this.rpcUrl = sessionStatus.rpcUrl || \"\";\n const sessionParams = {\n approved: true,\n chainId: this.chainId,\n networkId: this.networkId,\n accounts: this.accounts,\n rpcUrl: this.rpcUrl,\n };\n const request = this._formatRequest({\n method: \"wc_sessionUpdate\",\n params: [sessionParams],\n });\n this._sendSessionRequest(request, \"Session update rejected\");\n this._eventManager.trigger({\n event: \"session_update\",\n params: [\n {\n chainId: this.chainId,\n accounts: this.accounts,\n },\n ],\n });\n this._manageStorageSession();\n }\n async killSession(sessionError) {\n const message = sessionError ? sessionError.message : \"Session Disconnected\";\n const sessionParams = {\n approved: false,\n chainId: null,\n networkId: null,\n accounts: null,\n };\n const request = this._formatRequest({\n method: \"wc_sessionUpdate\",\n params: [sessionParams],\n });\n await this._sendRequest(request);\n this._handleSessionDisconnect(message);\n }\n async sendTransaction(tx) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n const parsedTx = tx;\n const request = this._formatRequest({\n method: \"eth_sendTransaction\",\n params: [parsedTx],\n });\n const result = await this._sendCallRequest(request);\n return result;\n }\n async signTransaction(tx) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n const parsedTx = tx;\n const request = this._formatRequest({\n method: \"eth_signTransaction\",\n params: [parsedTx],\n });\n const result = await this._sendCallRequest(request);\n return result;\n }\n async signMessage(params) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n const request = this._formatRequest({\n method: \"eth_sign\",\n params,\n });\n const result = await this._sendCallRequest(request);\n return result;\n }\n async signPersonalMessage(params) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n const request = this._formatRequest({\n method: \"personal_sign\",\n params,\n });\n const result = await this._sendCallRequest(request);\n return result;\n }\n async signTypedData(params) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n const request = this._formatRequest({\n method: \"eth_signTypedData\",\n params,\n });\n const result = await this._sendCallRequest(request);\n return result;\n }\n async updateChain(chainParams) {\n if (!this._connected) {\n throw new Error(\"Session currently disconnected\");\n }\n const request = this._formatRequest({\n method: \"wallet_updateChain\",\n params: [chainParams],\n });\n const result = await this._sendCallRequest(request);\n return result;\n }\n unsafeSend(request, options) {\n this._sendRequest(request, options);\n this._eventManager.trigger({\n event: \"call_request_sent\",\n params: [{ request, options }],\n });\n return new Promise((resolve, reject) => {\n this._subscribeToResponse(request.id, (error, payload) => {\n if (error) {\n reject(error);\n return;\n }\n if (!payload) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_MISSING_JSON_RPC);\n }\n resolve(payload);\n });\n });\n }\n async sendCustomRequest(request, options) {\n if (!this._connected) {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_SESSION_DISCONNECTED);\n }\n switch (request.method) {\n case \"eth_accounts\":\n return this.accounts;\n case \"eth_chainId\":\n return (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.convertNumberToHex)(this.chainId);\n case \"eth_sendTransaction\":\n case \"eth_signTransaction\":\n if (request.params) {\n }\n break;\n case \"personal_sign\":\n if (request.params) {\n }\n break;\n default:\n break;\n }\n const formattedRequest = this._formatRequest(request);\n const result = await this._sendCallRequest(formattedRequest, options);\n return result;\n }\n approveRequest(response) {\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponseSuccess)(response)) {\n const formattedResponse = this._formatResponse(response);\n this._sendResponse(formattedResponse);\n }\n else {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_MISSING_RESULT);\n }\n }\n rejectRequest(response) {\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponseError)(response)) {\n const formattedResponse = this._formatResponse(response);\n this._sendResponse(formattedResponse);\n }\n else {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_MISSING_ERROR);\n }\n }\n transportClose() {\n this._transport.close();\n }\n async _sendRequest(request, options) {\n const callRequest = this._formatRequest(request);\n const encryptionPayload = await this._encrypt(callRequest);\n const topic = typeof (options === null || options === void 0 ? void 0 : options.topic) !== \"undefined\" ? options.topic : this.peerId;\n const payload = JSON.stringify(encryptionPayload);\n const silent = typeof (options === null || options === void 0 ? void 0 : options.forcePushNotification) !== \"undefined\"\n ? !options.forcePushNotification\n : (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isSilentPayload)(callRequest);\n this._transport.send(payload, topic, silent);\n }\n async _sendResponse(response) {\n const encryptionPayload = await this._encrypt(response);\n const topic = this.peerId;\n const payload = JSON.stringify(encryptionPayload);\n const silent = true;\n this._transport.send(payload, topic, silent);\n }\n async _sendSessionRequest(request, errorMsg, options) {\n this._sendRequest(request, options);\n this._subscribeToSessionResponse(request.id, errorMsg);\n }\n _sendCallRequest(request, options) {\n this._sendRequest(request, options);\n this._eventManager.trigger({\n event: \"call_request_sent\",\n params: [{ request, options }],\n });\n return this._subscribeToCallResponse(request.id);\n }\n _formatRequest(request) {\n if (typeof request.method === \"undefined\") {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_MISSING_METHOD);\n }\n const formattedRequest = {\n id: typeof request.id === \"undefined\" ? (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.payloadId)() : request.id,\n jsonrpc: \"2.0\",\n method: request.method,\n params: typeof request.params === \"undefined\" ? [] : request.params,\n };\n return formattedRequest;\n }\n _formatResponse(response) {\n if (typeof response.id === \"undefined\") {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_MISSING_ID);\n }\n const baseResponse = { id: response.id, jsonrpc: \"2.0\" };\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponseError)(response)) {\n const error = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.formatRpcError)(response.error);\n const errorResponse = Object.assign(Object.assign(Object.assign({}, baseResponse), response), { error });\n return errorResponse;\n }\n else if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponseSuccess)(response)) {\n const successResponse = Object.assign(Object.assign({}, baseResponse), response);\n return successResponse;\n }\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_INVALID_RESPONSE);\n }\n _handleSessionDisconnect(errorMsg) {\n const message = errorMsg || \"Session Disconnected\";\n if (!this._connected) {\n if (this._qrcodeModal) {\n this._qrcodeModal.close();\n }\n (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.removeLocal)(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.MOBILE_LINK_CHOICE_KEY);\n }\n if (this._connected) {\n this._connected = false;\n }\n if (this._handshakeId) {\n this._handshakeId = 0;\n }\n if (this._handshakeTopic) {\n this._handshakeTopic = \"\";\n }\n if (this._peerId) {\n this._peerId = \"\";\n }\n this._eventManager.trigger({\n event: \"disconnect\",\n params: [{ message }],\n });\n this._removeStorageSession();\n this.transportClose();\n }\n _handleSessionResponse(errorMsg, sessionParams) {\n if (sessionParams) {\n if (sessionParams.approved) {\n if (!this._connected) {\n this._connected = true;\n if (sessionParams.chainId) {\n this.chainId = sessionParams.chainId;\n }\n if (sessionParams.accounts) {\n this.accounts = sessionParams.accounts;\n }\n if (sessionParams.peerId && !this.peerId) {\n this.peerId = sessionParams.peerId;\n }\n if (sessionParams.peerMeta && !this.peerMeta) {\n this.peerMeta = sessionParams.peerMeta;\n }\n this._eventManager.trigger({\n event: \"connect\",\n params: [\n {\n peerId: this.peerId,\n peerMeta: this.peerMeta,\n chainId: this.chainId,\n accounts: this.accounts,\n },\n ],\n });\n }\n else {\n if (sessionParams.chainId) {\n this.chainId = sessionParams.chainId;\n }\n if (sessionParams.accounts) {\n this.accounts = sessionParams.accounts;\n }\n this._eventManager.trigger({\n event: \"session_update\",\n params: [\n {\n chainId: this.chainId,\n accounts: this.accounts,\n },\n ],\n });\n }\n this._manageStorageSession();\n }\n else {\n this._handleSessionDisconnect(errorMsg);\n }\n }\n else {\n this._handleSessionDisconnect(errorMsg);\n }\n }\n async _handleIncomingMessages(socketMessage) {\n const activeTopics = [this.clientId, this.handshakeTopic];\n if (!activeTopics.includes(socketMessage.topic)) {\n return;\n }\n let encryptionPayload;\n try {\n encryptionPayload = JSON.parse(socketMessage.payload);\n }\n catch (error) {\n return;\n }\n const payload = await this._decrypt(encryptionPayload);\n if (payload) {\n this._eventManager.trigger(payload);\n }\n }\n _subscribeToSessionRequest() {\n this._transport.subscribe(this.handshakeTopic);\n }\n _subscribeToResponse(id, callback) {\n this.on(`response:${id}`, callback);\n }\n _subscribeToSessionResponse(id, errorMsg) {\n this._subscribeToResponse(id, (error, payload) => {\n if (error) {\n this._handleSessionResponse(error.message);\n return;\n }\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponseSuccess)(payload)) {\n this._handleSessionResponse(errorMsg, payload.result);\n }\n else if (payload.error && payload.error.message) {\n this._handleSessionResponse(payload.error.message);\n }\n else {\n this._handleSessionResponse(errorMsg);\n }\n });\n }\n _subscribeToCallResponse(id) {\n return new Promise((resolve, reject) => {\n this._subscribeToResponse(id, (error, payload) => {\n if (error) {\n reject(error);\n return;\n }\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponseSuccess)(payload)) {\n resolve(payload.result);\n }\n else if (payload.error && payload.error.message) {\n reject(payload.error);\n }\n else {\n reject(new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_INVALID_RESPONSE));\n }\n });\n });\n }\n _subscribeToInternalEvents() {\n this.on(\"display_uri\", () => {\n if (this._qrcodeModal) {\n this._qrcodeModal.open(this.uri, () => {\n this._eventManager.trigger({\n event: \"modal_closed\",\n params: [],\n });\n }, this._qrcodeModalOptions);\n }\n });\n this.on(\"connect\", () => {\n if (this._qrcodeModal) {\n this._qrcodeModal.close();\n }\n });\n this.on(\"call_request_sent\", (error, payload) => {\n const { request } = payload.params[0];\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.isMobile)() && this._signingMethods.includes(request.method)) {\n const mobileLinkUrl = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.getLocal)(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.MOBILE_LINK_CHOICE_KEY);\n if (mobileLinkUrl) {\n window.location.href = mobileLinkUrl.href;\n }\n }\n });\n this.on(\"wc_sessionRequest\", (error, payload) => {\n if (error) {\n this._eventManager.trigger({\n event: \"error\",\n params: [\n {\n code: \"SESSION_REQUEST_ERROR\",\n message: error.toString(),\n },\n ],\n });\n }\n this.handshakeId = payload.id;\n this.peerId = payload.params[0].peerId;\n this.peerMeta = payload.params[0].peerMeta;\n const internalPayload = Object.assign(Object.assign({}, payload), { method: \"session_request\" });\n this._eventManager.trigger(internalPayload);\n });\n this.on(\"wc_sessionUpdate\", (error, payload) => {\n if (error) {\n this._handleSessionResponse(error.message);\n }\n this._handleSessionResponse(\"Session disconnected\", payload.params[0]);\n });\n }\n _initTransport() {\n this._transport.on(\"message\", (socketMessage) => this._handleIncomingMessages(socketMessage));\n this._transport.on(\"open\", () => this._eventManager.trigger({ event: \"transport_open\", params: [] }));\n this._transport.on(\"close\", () => this._eventManager.trigger({ event: \"transport_close\", params: [] }));\n this._transport.on(\"error\", () => this._eventManager.trigger({\n event: \"transport_error\",\n params: [\"Websocket connection failed\"],\n }));\n this._transport.open();\n }\n _formatUri() {\n const protocol = this.protocol;\n const handshakeTopic = this.handshakeTopic;\n const version = this.version;\n const bridge = encodeURIComponent(this.bridge);\n const key = this.key;\n const uri = `${protocol}:${handshakeTopic}@${version}?bridge=${bridge}&key=${key}`;\n return uri;\n }\n _parseUri(uri) {\n const result = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_1__.parseWalletConnectUri)(uri);\n if (result.protocol === this.protocol) {\n if (!result.handshakeTopic) {\n throw Error(\"Invalid or missing handshakeTopic parameter value\");\n }\n const handshakeTopic = result.handshakeTopic;\n if (!result.bridge) {\n throw Error(\"Invalid or missing bridge url parameter value\");\n }\n const bridge = decodeURIComponent(result.bridge);\n if (!result.key) {\n throw Error(\"Invalid or missing key parameter value\");\n }\n const key = result.key;\n return { handshakeTopic, bridge, key };\n }\n else {\n throw new Error(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.ERROR_INVALID_URI);\n }\n }\n async _generateKey() {\n if (this._cryptoLib) {\n const result = await this._cryptoLib.generateKey();\n return result;\n }\n return null;\n }\n async _encrypt(data) {\n const key = this._key;\n if (this._cryptoLib && key) {\n const result = await this._cryptoLib.encrypt(data, key);\n return result;\n }\n return null;\n }\n async _decrypt(payload) {\n const key = this._key;\n if (this._cryptoLib && key) {\n const result = await this._cryptoLib.decrypt(payload, key);\n return result;\n }\n return null;\n }\n _getStorageSession() {\n let result = null;\n if (this._sessionStorage) {\n result = this._sessionStorage.getSession();\n }\n return result;\n }\n _setStorageSession() {\n if (this._sessionStorage) {\n this._sessionStorage.setSession(this.session);\n }\n }\n _removeStorageSession() {\n if (this._sessionStorage) {\n this._sessionStorage.removeSession();\n }\n }\n _manageStorageSession() {\n if (this._connected) {\n this._setStorageSession();\n }\n else {\n this._removeStorageSession();\n }\n }\n _registerPushServer(pushServerOpts) {\n if (!pushServerOpts.url || typeof pushServerOpts.url !== \"string\") {\n throw Error(\"Invalid or missing pushServerOpts.url parameter value\");\n }\n if (!pushServerOpts.type || typeof pushServerOpts.type !== \"string\") {\n throw Error(\"Invalid or missing pushServerOpts.type parameter value\");\n }\n if (!pushServerOpts.token || typeof pushServerOpts.token !== \"string\") {\n throw Error(\"Invalid or missing pushServerOpts.token parameter value\");\n }\n const pushSubscription = {\n bridge: this.bridge,\n topic: this.clientId,\n type: pushServerOpts.type,\n token: pushServerOpts.token,\n peerName: \"\",\n language: pushServerOpts.language || \"\",\n };\n this.on(\"connect\", async (error, payload) => {\n if (error) {\n throw error;\n }\n if (pushServerOpts.peerMeta) {\n const peerName = payload.params[0].peerMeta.name;\n pushSubscription.peerName = peerName;\n }\n try {\n const response = await fetch(`${pushServerOpts.url}/new`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(pushSubscription),\n });\n const json = await response.json();\n if (!json.success) {\n throw Error(\"Failed to register in Push Server\");\n }\n }\n catch (error) {\n throw Error(\"Failed to register in Push Server\");\n }\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Connector);\n//# sourceMappingURL=core.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9jb3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBbVo7QUFDcEg7QUFDeFA7QUFDSDtBQUNHO0FBQ0Y7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQywrQ0FBWTtBQUM3QywyQkFBMkIsMEVBQWE7QUFDeEM7QUFDQSwwREFBMEQsZ0RBQWM7QUFDeEU7QUFDQTtBQUNBLG1DQUFtQyx3RUFBZTtBQUNsRDtBQUNBLDRCQUE0QiwrRUFBc0I7QUFDbEQ7QUFDQTtBQUNBLDBCQUEwQixrREFBWTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwrQ0FBZTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixvRkFBdUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isb0ZBQXVCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLGlFQUFJO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsMEVBQWE7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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LFVBQVUsT0FBTyxPQUFPLElBQUk7QUFDekY7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGtGQUFxQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsNEJBQTRCLDBFQUFpQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELG1CQUFtQjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwrREFBZSxTQUFTLEVBQUM7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS1jbGllbnQvZGlzdC9lc20vY29yZS5qcz80YjgyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVSUk9SX1NFU1NJT05fQ09OTkVDVEVELCBFUlJPUl9TRVNTSU9OX0RJU0NPTk5FQ1RFRCwgRVJST1JfU0VTU0lPTl9SRUpFQ1RFRCwgRVJST1JfTUlTU0lOR19KU09OX1JQQywgRVJST1JfTUlTU0lOR19SRVNVTFQsIEVSUk9SX01JU1NJTkdfRVJST1IsIEVSUk9SX01JU1NJTkdfTUVUSE9ELCBFUlJPUl9NSVNTSU5HX0lELCBFUlJPUl9JTlZBTElEX1JFU1BPTlNFLCBFUlJPUl9JTlZBTElEX1VSSSwgRVJST1JfTUlTU0lOR19SRVFVSVJFRCwgRVJST1JfUVJDT0RFX01PREFMX05PVF9QUk9WSURFRCwgRVJST1JfUVJDT0RFX01PREFMX1VTRVJfQ0xPU0VELCBTSUdOSU5HX01FVEhPRFMsIE1PQklMRV9MSU5LX0NIT0lDRV9LRVksIH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlc1wiO1xuaW1wb3J0IHsgY29udmVydEFycmF5QnVmZmVyVG9IZXgsIGNvbnZlcnRIZXhUb0FycmF5QnVmZmVyLCBwYXlsb2FkSWQsIHV1aWQsIGZvcm1hdFJwY0Vycm9yLCBwYXJzZVdhbGxldENvbm5lY3RVcmksIGNvbnZlcnROdW1iZXJUb0hleCwgaXNKc29uUnBjUmVzcG9uc2VTdWNjZXNzLCBpc0pzb25ScGNSZXNwb25zZUVycm9yLCBpc1NpbGVudFBheWxvYWQsIGdldExvY2FsLCByZW1vdmVMb2NhbCwgZ2V0Q2xpZW50TWV0YSwgaXNNb2JpbGUsIH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L2xlZ2FjeS11dGlsc1wiO1xuaW1wb3J0IFNvY2tldFRyYW5zcG9ydCBmcm9tIFwiLi9zb2NrZXRcIjtcbmltcG9ydCBFdmVudE1hbmFnZXIgZnJvbSBcIi4vZXZlbnRzXCI7XG5pbXBvcnQgU2Vzc2lvblN0b3JhZ2UgZnJvbSBcIi4vc3RvcmFnZVwiO1xuaW1wb3J0IHsgZ2V0QnJpZGdlVXJsIH0gZnJvbSBcIi4vdXJsXCI7XG5jbGFzcyBDb25uZWN0b3Ige1xuICAgIGNvbnN0cnVjdG9yKG9wdHMpIHtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IFwid2NcIjtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gMTtcbiAgICAgICAgdGhpcy5fYnJpZGdlID0gXCJcIjtcbiAgICAgICAgdGhpcy5fa2V5ID0gbnVsbDtcbiAgICAgICAgdGhpcy5fY2xpZW50SWQgPSBcIlwiO1xuICAgICAgICB0aGlzLl9jbGllbnRNZXRhID0gbnVsbDtcbiAgICAgICAgdGhpcy5fcGVlcklkID0gXCJcIjtcbiAgICAgICAgdGhpcy5fcGVlck1ldGEgPSBudWxsO1xuICAgICAgICB0aGlzLl9oYW5kc2hha2VJZCA9IDA7XG4gICAgICAgIHRoaXMuX2hhbmRzaGFrZVRvcGljID0gXCJcIjtcbiAgICAgICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2FjY291bnRzID0gW107XG4gICAgICAgIHRoaXMuX2NoYWluSWQgPSAwO1xuICAgICAgICB0aGlzLl9uZXR3b3JrSWQgPSAwO1xuICAgICAgICB0aGlzLl9ycGNVcmwgPSBcIlwiO1xuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIgPSBuZXcgRXZlbnRNYW5hZ2VyKCk7XG4gICAgICAgIHRoaXMuX2NsaWVudE1ldGEgPSBnZXRDbGllbnRNZXRhKCkgfHwgb3B0cy5jb25uZWN0b3JPcHRzLmNsaWVudE1ldGEgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5fY3J5cHRvTGliID0gb3B0cy5jcnlwdG9MaWI7XG4gICAgICAgIHRoaXMuX3Nlc3Npb25TdG9yYWdlID0gb3B0cy5zZXNzaW9uU3RvcmFnZSB8fCBuZXcgU2Vzc2lvblN0b3JhZ2Uob3B0cy5jb25uZWN0b3JPcHRzLnN0b3JhZ2VJZCk7XG4gICAgICAgIHRoaXMuX3FyY29kZU1vZGFsID0gb3B0cy5jb25uZWN0b3JPcHRzLnFyY29kZU1vZGFsO1xuICAgICAgICB0aGlzLl9xcmNvZGVNb2RhbE9wdGlvbnMgPSBvcHRzLmNvbm5lY3Rvck9wdHMucXJjb2RlTW9kYWxPcHRpb25zO1xuICAgICAgICB0aGlzLl9zaWduaW5nTWV0aG9kcyA9IFsuLi5TSUdOSU5HX01FVEhPRFMsIC4uLihvcHRzLmNvbm5lY3Rvck9wdHMuc2lnbmluZ01ldGhvZHMgfHwgW10pXTtcbiAgICAgICAgaWYgKCFvcHRzLmNvbm5lY3Rvck9wdHMuYnJpZGdlICYmICFvcHRzLmNvbm5lY3Rvck9wdHMudXJpICYmICFvcHRzLmNvbm5lY3Rvck9wdHMuc2Vzc2lvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUk9SX01JU1NJTkdfUkVRVUlSRUQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRzLmNvbm5lY3Rvck9wdHMuYnJpZGdlKSB7XG4gICAgICAgICAgICB0aGlzLmJyaWRnZSA9IGdldEJyaWRnZVVybChvcHRzLmNvbm5lY3Rvck9wdHMuYnJpZGdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0cy5jb25uZWN0b3JPcHRzLnVyaSkge1xuICAgICAgICAgICAgdGhpcy51cmkgPSBvcHRzLmNvbm5lY3Rvck9wdHMudXJpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBvcHRzLmNvbm5lY3Rvck9wdHMuc2Vzc2lvbiB8fCB0aGlzLl9nZXRTdG9yYWdlU2Vzc2lvbigpO1xuICAgICAgICBpZiAoc2Vzc2lvbikge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uID0gc2Vzc2lvbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oYW5kc2hha2VJZCkge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaWJlVG9TZXNzaW9uUmVzcG9uc2UodGhpcy5oYW5kc2hha2VJZCwgXCJTZXNzaW9uIHJlcXVlc3QgcmVqZWN0ZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdHJhbnNwb3J0ID1cbiAgICAgICAgICAgIG9wdHMudHJhbnNwb3J0IHx8XG4gICAgICAgICAgICAgICAgbmV3IFNvY2tldFRyYW5zcG9ydCh7XG4gICAgICAgICAgICAgICAgICAgIHByb3RvY29sOiB0aGlzLnByb3RvY29sLFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5icmlkZ2UsXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IFt0aGlzLmNsaWVudElkXSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlVG9JbnRlcm5hbEV2ZW50cygpO1xuICAgICAgICB0aGlzLl9pbml0VHJhbnNwb3J0KCk7XG4gICAgICAgIGlmIChvcHRzLmNvbm5lY3Rvck9wdHMudXJpKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1Nlc3Npb25SZXF1ZXN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdHMucHVzaFNlcnZlck9wdHMpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVyUHVzaFNlcnZlcihvcHRzLnB1c2hTZXJ2ZXJPcHRzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXQgYnJpZGdlKHZhbHVlKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9icmlkZ2UgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGJyaWRnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyaWRnZTtcbiAgICB9XG4gICAgc2V0IGtleSh2YWx1ZSkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qga2V5ID0gY29udmVydEhleFRvQXJyYXlCdWZmZXIodmFsdWUpO1xuICAgICAgICB0aGlzLl9rZXkgPSBrZXk7XG4gICAgfVxuICAgIGdldCBrZXkoKSB7XG4gICAgICAgIGlmICh0aGlzLl9rZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGNvbnZlcnRBcnJheUJ1ZmZlclRvSGV4KHRoaXMuX2tleSwgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm4ga2V5O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICBzZXQgY2xpZW50SWQodmFsdWUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NsaWVudElkID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBjbGllbnRJZCgpIHtcbiAgICAgICAgbGV0IGNsaWVudElkID0gdGhpcy5fY2xpZW50SWQ7XG4gICAgICAgIGlmICghY2xpZW50SWQpIHtcbiAgICAgICAgICAgIGNsaWVudElkID0gdGhpcy5fY2xpZW50SWQgPSB1dWlkKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsaWVudElkO1xuICAgIH1cbiAgICBzZXQgcGVlcklkKHZhbHVlKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wZWVySWQgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHBlZXJJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BlZXJJZDtcbiAgICB9XG4gICAgc2V0IGNsaWVudE1ldGEodmFsdWUpIHtcbiAgICB9XG4gICAgZ2V0IGNsaWVudE1ldGEoKSB7XG4gICAgICAgIGxldCBjbGllbnRNZXRhID0gdGhpcy5fY2xpZW50TWV0YTtcbiAgICAgICAgaWYgKCFjbGllbnRNZXRhKSB7XG4gICAgICAgICAgICBjbGllbnRNZXRhID0gdGhpcy5fY2xpZW50TWV0YSA9IGdldENsaWVudE1ldGEoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xpZW50TWV0YTtcbiAgICB9XG4gICAgc2V0IHBlZXJNZXRhKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3BlZXJNZXRhID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwZWVyTWV0YSgpIHtcbiAgICAgICAgY29uc3QgcGVlck1ldGEgPSB0aGlzLl9wZWVyTWV0YTtcbiAgICAgICAgcmV0dXJuIHBlZXJNZXRhO1xuICAgIH1cbiAgICBzZXQgaGFuZHNoYWtlVG9waWModmFsdWUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hhbmRzaGFrZVRvcGljID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBoYW5kc2hha2VUb3BpYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRzaGFrZVRvcGljO1xuICAgIH1cbiAgICBzZXQgaGFuZHNoYWtlSWQodmFsdWUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hhbmRzaGFrZUlkID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBoYW5kc2hha2VJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRzaGFrZUlkO1xuICAgIH1cbiAgICBnZXQgdXJpKCkge1xuICAgICAgICBjb25zdCBfdXJpID0gdGhpcy5fZm9ybWF0VXJpKCk7XG4gICAgICAgIHJldHVybiBfdXJpO1xuICAgIH1cbiAgICBzZXQgdXJpKHZhbHVlKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGhhbmRzaGFrZVRvcGljLCBicmlkZ2UsIGtleSB9ID0gdGhpcy5fcGFyc2VVcmkodmFsdWUpO1xuICAgICAgICB0aGlzLmhhbmRzaGFrZVRvcGljID0gaGFuZHNoYWtlVG9waWM7XG4gICAgICAgIHRoaXMuYnJpZGdlID0gYnJpZGdlO1xuICAgICAgICB0aGlzLmtleSA9IGtleTtcbiAgICB9XG4gICAgc2V0IGNoYWluSWQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fY2hhaW5JZCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgY2hhaW5JZCgpIHtcbiAgICAgICAgY29uc3QgY2hhaW5JZCA9IHRoaXMuX2NoYWluSWQ7XG4gICAgICAgIHJldHVybiBjaGFpbklkO1xuICAgIH1cbiAgICBzZXQgbmV0d29ya0lkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX25ldHdvcmtJZCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbmV0d29ya0lkKCkge1xuICAgICAgICBjb25zdCBuZXR3b3JrSWQgPSB0aGlzLl9uZXR3b3JrSWQ7XG4gICAgICAgIHJldHVybiBuZXR3b3JrSWQ7XG4gICAgfVxuICAgIHNldCBhY2NvdW50cyh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9hY2NvdW50cyA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWNjb3VudHMoKSB7XG4gICAgICAgIGNvbnN0IGFjY291bnRzID0gdGhpcy5fYWNjb3VudHM7XG4gICAgICAgIHJldHVybiBhY2NvdW50cztcbiAgICB9XG4gICAgc2V0IHJwY1VybCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9ycGNVcmwgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHJwY1VybCgpIHtcbiAgICAgICAgY29uc3QgcnBjVXJsID0gdGhpcy5fcnBjVXJsO1xuICAgICAgICByZXR1cm4gcnBjVXJsO1xuICAgIH1cbiAgICBzZXQgY29ubmVjdGVkKHZhbHVlKSB7XG4gICAgfVxuICAgIGdldCBjb25uZWN0ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25uZWN0ZWQ7XG4gICAgfVxuICAgIHNldCBwZW5kaW5nKHZhbHVlKSB7XG4gICAgfVxuICAgIGdldCBwZW5kaW5nKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9oYW5kc2hha2VUb3BpYztcbiAgICB9XG4gICAgZ2V0IHNlc3Npb24oKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb25uZWN0ZWQ6IHRoaXMuY29ubmVjdGVkLFxuICAgICAgICAgICAgYWNjb3VudHM6IHRoaXMuYWNjb3VudHMsXG4gICAgICAgICAgICBjaGFpbklkOiB0aGlzLmNoYWluSWQsXG4gICAgICAgICAgICBicmlkZ2U6IHRoaXMuYnJpZGdlLFxuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgY2xpZW50TWV0YTogdGhpcy5jbGllbnRNZXRhLFxuICAgICAgICAgICAgcGVlcklkOiB0aGlzLnBlZXJJZCxcbiAgICAgICAgICAgIHBlZXJNZXRhOiB0aGlzLnBlZXJNZXRhLFxuICAgICAgICAgICAgaGFuZHNoYWtlSWQ6IHRoaXMuaGFuZHNoYWtlSWQsXG4gICAgICAgICAgICBoYW5kc2hha2VUb3BpYzogdGhpcy5oYW5kc2hha2VUb3BpYyxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc2V0IHNlc3Npb24odmFsdWUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2Nvbm5lY3RlZCA9IHZhbHVlLmNvbm5lY3RlZDtcbiAgICAgICAgdGhpcy5hY2NvdW50cyA9IHZhbHVlLmFjY291bnRzO1xuICAgICAgICB0aGlzLmNoYWluSWQgPSB2YWx1ZS5jaGFpbklkO1xuICAgICAgICB0aGlzLmJyaWRnZSA9IHZhbHVlLmJyaWRnZTtcbiAgICAgICAgdGhpcy5rZXkgPSB2YWx1ZS5rZXk7XG4gICAgICAgIHRoaXMuY2xpZW50SWQgPSB2YWx1ZS5jbGllbnRJZDtcbiAgICAgICAgdGhpcy5jbGllbnRNZXRhID0gdmFsdWUuY2xpZW50TWV0YTtcbiAgICAgICAgdGhpcy5wZWVySWQgPSB2YWx1ZS5wZWVySWQ7XG4gICAgICAgIHRoaXMucGVlck1ldGEgPSB2YWx1ZS5wZWVyTWV0YTtcbiAgICAgICAgdGhpcy5oYW5kc2hha2VJZCA9IHZhbHVlLmhhbmRzaGFrZUlkO1xuICAgICAgICB0aGlzLmhhbmRzaGFrZVRvcGljID0gdmFsdWUuaGFuZHNoYWtlVG9waWM7XG4gICAgfVxuICAgIG9uKGV2ZW50LCBjYWxsYmFjaykge1xuICAgICAgICBjb25zdCBldmVudEVtaXR0ZXIgPSB7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIGNhbGxiYWNrLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIuc3Vic2NyaWJlKGV2ZW50RW1pdHRlcik7XG4gICAgfVxuICAgIG9mZihldmVudCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIudW5zdWJzY3JpYmUoZXZlbnQpO1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVJbnN0YW50UmVxdWVzdChpbnN0YW50UmVxdWVzdCkge1xuICAgICAgICB0aGlzLl9rZXkgPSBhd2FpdCB0aGlzLl9nZW5lcmF0ZUtleSgpO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5fZm9ybWF0UmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwid2NfaW5zdGFudFJlcXVlc3RcIixcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGVlcklkOiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgICAgICAgICBwZWVyTWV0YTogdGhpcy5jbGllbnRNZXRhLFxuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0OiB0aGlzLl9mb3JtYXRSZXF1ZXN0KGluc3RhbnRSZXF1ZXN0KSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaGFuZHNoYWtlSWQgPSByZXF1ZXN0LmlkO1xuICAgICAgICB0aGlzLmhhbmRzaGFrZVRvcGljID0gdXVpZCgpO1xuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7XG4gICAgICAgICAgICBldmVudDogXCJkaXNwbGF5X3VyaVwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbdGhpcy51cmldLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbihcIm1vZGFsX2Nsb3NlZFwiLCAoKSA9PiB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfUVJDT0RFX01PREFMX1VTRVJfQ0xPU0VEKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVuZEluc3RhbnRSZXF1ZXN0ID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5raWxsU2Vzc2lvbigpO1xuICAgICAgICB9O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KHJlcXVlc3QpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGVuZEluc3RhbnRSZXF1ZXN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgZW5kSW5zdGFudFJlcXVlc3QoKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGNvbm5lY3Qob3B0cykge1xuICAgICAgICBpZiAoIXRoaXMuX3FyY29kZU1vZGFsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfUVJDT0RFX01PREFMX05PVF9QUk9WSURFRCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29ubmVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNoYWluSWQ6IHRoaXMuY2hhaW5JZCxcbiAgICAgICAgICAgICAgICBhY2NvdW50czogdGhpcy5hY2NvdW50cyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5jcmVhdGVTZXNzaW9uKG9wdHMpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbihcIm1vZGFsX2Nsb3NlZFwiLCAoKSA9PiByZWplY3QobmV3IEVycm9yKEVSUk9SX1FSQ09ERV9NT0RBTF9VU0VSX0NMT1NFRCkpKTtcbiAgICAgICAgICAgIHRoaXMub24oXCJjb25uZWN0XCIsIChlcnJvciwgcGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShwYXlsb2FkLnBhcmFtc1swXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIGNyZWF0ZVNlc3Npb24ob3B0cykge1xuICAgICAgICBpZiAodGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9DT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBlbmRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9rZXkgPSBhd2FpdCB0aGlzLl9nZW5lcmF0ZUtleSgpO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5fZm9ybWF0UmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwid2Nfc2Vzc2lvblJlcXVlc3RcIixcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGVlcklkOiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgICAgICAgICBwZWVyTWV0YTogdGhpcy5jbGllbnRNZXRhLFxuICAgICAgICAgICAgICAgICAgICBjaGFpbklkOiBvcHRzICYmIG9wdHMuY2hhaW5JZCA/IG9wdHMuY2hhaW5JZCA6IG51bGwsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhhbmRzaGFrZUlkID0gcmVxdWVzdC5pZDtcbiAgICAgICAgdGhpcy5oYW5kc2hha2VUb3BpYyA9IHV1aWQoKTtcbiAgICAgICAgdGhpcy5fc2VuZFNlc3Npb25SZXF1ZXN0KHJlcXVlc3QsIFwiU2Vzc2lvbiB1cGRhdGUgcmVqZWN0ZWRcIiwge1xuICAgICAgICAgICAgdG9waWM6IHRoaXMuaGFuZHNoYWtlVG9waWMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7XG4gICAgICAgICAgICBldmVudDogXCJkaXNwbGF5X3VyaVwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbdGhpcy51cmldLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXBwcm92ZVNlc3Npb24oc2Vzc2lvblN0YXR1cykge1xuICAgICAgICBpZiAodGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9DT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhaW5JZCA9IHNlc3Npb25TdGF0dXMuY2hhaW5JZDtcbiAgICAgICAgdGhpcy5hY2NvdW50cyA9IHNlc3Npb25TdGF0dXMuYWNjb3VudHM7XG4gICAgICAgIHRoaXMubmV0d29ya0lkID0gc2Vzc2lvblN0YXR1cy5uZXR3b3JrSWQgfHwgMDtcbiAgICAgICAgdGhpcy5ycGNVcmwgPSBzZXNzaW9uU3RhdHVzLnJwY1VybCB8fCBcIlwiO1xuICAgICAgICBjb25zdCBzZXNzaW9uUGFyYW1zID0ge1xuICAgICAgICAgICAgYXBwcm92ZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGFpbklkOiB0aGlzLmNoYWluSWQsXG4gICAgICAgICAgICBuZXR3b3JrSWQ6IHRoaXMubmV0d29ya0lkLFxuICAgICAgICAgICAgYWNjb3VudHM6IHRoaXMuYWNjb3VudHMsXG4gICAgICAgICAgICBycGNVcmw6IHRoaXMucnBjVXJsLFxuICAgICAgICAgICAgcGVlcklkOiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgcGVlck1ldGE6IHRoaXMuY2xpZW50TWV0YSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgICAgICBpZDogdGhpcy5oYW5kc2hha2VJZCxcbiAgICAgICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgICAgICByZXN1bHQ6IHNlc3Npb25QYXJhbXMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX3NlbmRSZXNwb25zZShyZXNwb25zZSk7XG4gICAgICAgIHRoaXMuX2Nvbm5lY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3NldFN0b3JhZ2VTZXNzaW9uKCk7XG4gICAgICAgIHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtcbiAgICAgICAgICAgIGV2ZW50OiBcImNvbm5lY3RcIixcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGVlcklkOiB0aGlzLnBlZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgcGVlck1ldGE6IHRoaXMucGVlck1ldGEsXG4gICAgICAgICAgICAgICAgICAgIGNoYWluSWQ6IHRoaXMuY2hhaW5JZCxcbiAgICAgICAgICAgICAgICAgICAgYWNjb3VudHM6IHRoaXMuYWNjb3VudHMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZWplY3RTZXNzaW9uKHNlc3Npb25FcnJvcikge1xuICAgICAgICBpZiAodGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9DT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBzZXNzaW9uRXJyb3IgJiYgc2Vzc2lvbkVycm9yLm1lc3NhZ2UgPyBzZXNzaW9uRXJyb3IubWVzc2FnZSA6IEVSUk9SX1NFU1NJT05fUkVKRUNURUQ7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5fZm9ybWF0UmVzcG9uc2Uoe1xuICAgICAgICAgICAgaWQ6IHRoaXMuaGFuZHNoYWtlSWQsXG4gICAgICAgICAgICBlcnJvcjogeyBtZXNzYWdlIH0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zZW5kUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLl9jb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe1xuICAgICAgICAgICAgZXZlbnQ6IFwiZGlzY29ubmVjdFwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbeyBtZXNzYWdlIH1dLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcmVtb3ZlU3RvcmFnZVNlc3Npb24oKTtcbiAgICB9XG4gICAgdXBkYXRlU2Vzc2lvbihzZXNzaW9uU3RhdHVzKSB7XG4gICAgICAgIGlmICghdGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9ESVNDT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhaW5JZCA9IHNlc3Npb25TdGF0dXMuY2hhaW5JZDtcbiAgICAgICAgdGhpcy5hY2NvdW50cyA9IHNlc3Npb25TdGF0dXMuYWNjb3VudHM7XG4gICAgICAgIHRoaXMubmV0d29ya0lkID0gc2Vzc2lvblN0YXR1cy5uZXR3b3JrSWQgfHwgMDtcbiAgICAgICAgdGhpcy5ycGNVcmwgPSBzZXNzaW9uU3RhdHVzLnJwY1VybCB8fCBcIlwiO1xuICAgICAgICBjb25zdCBzZXNzaW9uUGFyYW1zID0ge1xuICAgICAgICAgICAgYXBwcm92ZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGFpbklkOiB0aGlzLmNoYWluSWQsXG4gICAgICAgICAgICBuZXR3b3JrSWQ6IHRoaXMubmV0d29ya0lkLFxuICAgICAgICAgICAgYWNjb3VudHM6IHRoaXMuYWNjb3VudHMsXG4gICAgICAgICAgICBycGNVcmw6IHRoaXMucnBjVXJsLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5fZm9ybWF0UmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwid2Nfc2Vzc2lvblVwZGF0ZVwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbc2Vzc2lvblBhcmFtc10sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zZW5kU2Vzc2lvblJlcXVlc3QocmVxdWVzdCwgXCJTZXNzaW9uIHVwZGF0ZSByZWplY3RlZFwiKTtcbiAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe1xuICAgICAgICAgICAgZXZlbnQ6IFwic2Vzc2lvbl91cGRhdGVcIixcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhaW5JZDogdGhpcy5jaGFpbklkLFxuICAgICAgICAgICAgICAgICAgICBhY2NvdW50czogdGhpcy5hY2NvdW50cyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX21hbmFnZVN0b3JhZ2VTZXNzaW9uKCk7XG4gICAgfVxuICAgIGFzeW5jIGtpbGxTZXNzaW9uKHNlc3Npb25FcnJvcikge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gc2Vzc2lvbkVycm9yID8gc2Vzc2lvbkVycm9yLm1lc3NhZ2UgOiBcIlNlc3Npb24gRGlzY29ubmVjdGVkXCI7XG4gICAgICAgIGNvbnN0IHNlc3Npb25QYXJhbXMgPSB7XG4gICAgICAgICAgICBhcHByb3ZlZDogZmFsc2UsXG4gICAgICAgICAgICBjaGFpbklkOiBudWxsLFxuICAgICAgICAgICAgbmV0d29ya0lkOiBudWxsLFxuICAgICAgICAgICAgYWNjb3VudHM6IG51bGwsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLl9mb3JtYXRSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJ3Y19zZXNzaW9uVXBkYXRlXCIsXG4gICAgICAgICAgICBwYXJhbXM6IFtzZXNzaW9uUGFyYW1zXSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMuX3NlbmRSZXF1ZXN0KHJlcXVlc3QpO1xuICAgICAgICB0aGlzLl9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdChtZXNzYWdlKTtcbiAgICB9XG4gICAgYXN5bmMgc2VuZFRyYW5zYWN0aW9uKHR4KSB7XG4gICAgICAgIGlmICghdGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9ESVNDT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcnNlZFR4ID0gdHg7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLl9mb3JtYXRSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJldGhfc2VuZFRyYW5zYWN0aW9uXCIsXG4gICAgICAgICAgICBwYXJhbXM6IFtwYXJzZWRUeF0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QocmVxdWVzdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGFzeW5jIHNpZ25UcmFuc2FjdGlvbih0eCkge1xuICAgICAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUk9SX1NFU1NJT05fRElTQ09OTkVDVEVEKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJzZWRUeCA9IHR4O1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5fZm9ybWF0UmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwiZXRoX3NpZ25UcmFuc2FjdGlvblwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbcGFyc2VkVHhdLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KHJlcXVlc3QpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBhc3luYyBzaWduTWVzc2FnZShwYXJhbXMpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9TRVNTSU9OX0RJU0NPTk5FQ1RFRCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuX2Zvcm1hdFJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiBcImV0aF9zaWduXCIsXG4gICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QocmVxdWVzdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGFzeW5jIHNpZ25QZXJzb25hbE1lc3NhZ2UocGFyYW1zKSB7XG4gICAgICAgIGlmICghdGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9ESVNDT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLl9mb3JtYXRSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJwZXJzb25hbF9zaWduXCIsXG4gICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QocmVxdWVzdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGFzeW5jIHNpZ25UeXBlZERhdGEocGFyYW1zKSB7XG4gICAgICAgIGlmICghdGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfU0VTU0lPTl9ESVNDT05ORUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLl9mb3JtYXRSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJldGhfc2lnblR5cGVkRGF0YVwiLFxuICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KHJlcXVlc3QpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBhc3luYyB1cGRhdGVDaGFpbihjaGFpblBhcmFtcykge1xuICAgICAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2Vzc2lvbiBjdXJyZW50bHkgZGlzY29ubmVjdGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLl9mb3JtYXRSZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfdXBkYXRlQ2hhaW5cIixcbiAgICAgICAgICAgIHBhcmFtczogW2NoYWluUGFyYW1zXSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuX3NlbmRDYWxsUmVxdWVzdChyZXF1ZXN0KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgdW5zYWZlU2VuZChyZXF1ZXN0LCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3NlbmRSZXF1ZXN0KHJlcXVlc3QsIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7XG4gICAgICAgICAgICBldmVudDogXCJjYWxsX3JlcXVlc3Rfc2VudFwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbeyByZXF1ZXN0LCBvcHRpb25zIH1dLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmliZVRvUmVzcG9uc2UocmVxdWVzdC5pZCwgKGVycm9yLCBwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFwYXlsb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9NSVNTSU5HX0pTT05fUlBDKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShwYXlsb2FkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgc2VuZEN1c3RvbVJlcXVlc3QocmVxdWVzdCwgb3B0aW9ucykge1xuICAgICAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUk9SX1NFU1NJT05fRElTQ09OTkVDVEVEKTtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKHJlcXVlc3QubWV0aG9kKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXRoX2FjY291bnRzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHM7XG4gICAgICAgICAgICBjYXNlIFwiZXRoX2NoYWluSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydE51bWJlclRvSGV4KHRoaXMuY2hhaW5JZCk7XG4gICAgICAgICAgICBjYXNlIFwiZXRoX3NlbmRUcmFuc2FjdGlvblwiOlxuICAgICAgICAgICAgY2FzZSBcImV0aF9zaWduVHJhbnNhY3Rpb25cIjpcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdC5wYXJhbXMpIHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwicGVyc29uYWxfc2lnblwiOlxuICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0LnBhcmFtcykge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkUmVxdWVzdCA9IHRoaXMuX2Zvcm1hdFJlcXVlc3QocmVxdWVzdCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuX3NlbmRDYWxsUmVxdWVzdChmb3JtYXR0ZWRSZXF1ZXN0LCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgYXBwcm92ZVJlcXVlc3QocmVzcG9uc2UpIHtcbiAgICAgICAgaWYgKGlzSnNvblJwY1Jlc3BvbnNlU3VjY2VzcyhyZXNwb25zZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZFJlc3BvbnNlID0gdGhpcy5fZm9ybWF0UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5fc2VuZFJlc3BvbnNlKGZvcm1hdHRlZFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9NSVNTSU5HX1JFU1VMVCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVqZWN0UmVxdWVzdChyZXNwb25zZSkge1xuICAgICAgICBpZiAoaXNKc29uUnBjUmVzcG9uc2VFcnJvcihyZXNwb25zZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZFJlc3BvbnNlID0gdGhpcy5fZm9ybWF0UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5fc2VuZFJlc3BvbnNlKGZvcm1hdHRlZFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9NSVNTSU5HX0VSUk9SKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0cmFuc3BvcnRDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5fdHJhbnNwb3J0LmNsb3NlKCk7XG4gICAgfVxuICAgIGFzeW5jIF9zZW5kUmVxdWVzdChyZXF1ZXN0LCBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IGNhbGxSZXF1ZXN0ID0gdGhpcy5fZm9ybWF0UmVxdWVzdChyZXF1ZXN0KTtcbiAgICAgICAgY29uc3QgZW5jcnlwdGlvblBheWxvYWQgPSBhd2FpdCB0aGlzLl9lbmNyeXB0KGNhbGxSZXF1ZXN0KTtcbiAgICAgICAgY29uc3QgdG9waWMgPSB0eXBlb2YgKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy50b3BpYykgIT09IFwidW5kZWZpbmVkXCIgPyBvcHRpb25zLnRvcGljIDogdGhpcy5wZWVySWQ7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShlbmNyeXB0aW9uUGF5bG9hZCk7XG4gICAgICAgIGNvbnN0IHNpbGVudCA9IHR5cGVvZiAob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmZvcmNlUHVzaE5vdGlmaWNhdGlvbikgIT09IFwidW5kZWZpbmVkXCJcbiAgICAgICAgICAgID8gIW9wdGlvbnMuZm9yY2VQdXNoTm90aWZpY2F0aW9uXG4gICAgICAgICAgICA6IGlzU2lsZW50UGF5bG9hZChjYWxsUmVxdWVzdCk7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5zZW5kKHBheWxvYWQsIHRvcGljLCBzaWxlbnQpO1xuICAgIH1cbiAgICBhc3luYyBfc2VuZFJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgICAgIGNvbnN0IGVuY3J5cHRpb25QYXlsb2FkID0gYXdhaXQgdGhpcy5fZW5jcnlwdChyZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IHRvcGljID0gdGhpcy5wZWVySWQ7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShlbmNyeXB0aW9uUGF5bG9hZCk7XG4gICAgICAgIGNvbnN0IHNpbGVudCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5zZW5kKHBheWxvYWQsIHRvcGljLCBzaWxlbnQpO1xuICAgIH1cbiAgICBhc3luYyBfc2VuZFNlc3Npb25SZXF1ZXN0KHJlcXVlc3QsIGVycm9yTXNnLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3NlbmRSZXF1ZXN0KHJlcXVlc3QsIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1Nlc3Npb25SZXNwb25zZShyZXF1ZXN0LmlkLCBlcnJvck1zZyk7XG4gICAgfVxuICAgIF9zZW5kQ2FsbFJlcXVlc3QocmVxdWVzdCwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLl9zZW5kUmVxdWVzdChyZXF1ZXN0LCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe1xuICAgICAgICAgICAgZXZlbnQ6IFwiY2FsbF9yZXF1ZXN0X3NlbnRcIixcbiAgICAgICAgICAgIHBhcmFtczogW3sgcmVxdWVzdCwgb3B0aW9ucyB9XSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWJzY3JpYmVUb0NhbGxSZXNwb25zZShyZXF1ZXN0LmlkKTtcbiAgICB9XG4gICAgX2Zvcm1hdFJlcXVlc3QocmVxdWVzdCkge1xuICAgICAgICBpZiAodHlwZW9mIHJlcXVlc3QubWV0aG9kID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfTUlTU0lOR19NRVRIT0QpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBpZDogdHlwZW9mIHJlcXVlc3QuaWQgPT09IFwidW5kZWZpbmVkXCIgPyBwYXlsb2FkSWQoKSA6IHJlcXVlc3QuaWQsXG4gICAgICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICAgICAgICAgIHBhcmFtczogdHlwZW9mIHJlcXVlc3QucGFyYW1zID09PSBcInVuZGVmaW5lZFwiID8gW10gOiByZXF1ZXN0LnBhcmFtcyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFJlcXVlc3Q7XG4gICAgfVxuICAgIF9mb3JtYXRSZXNwb25zZShyZXNwb25zZSkge1xuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmlkID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfTUlTU0lOR19JRCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYmFzZVJlc3BvbnNlID0geyBpZDogcmVzcG9uc2UuaWQsIGpzb25ycGM6IFwiMi4wXCIgfTtcbiAgICAgICAgaWYgKGlzSnNvblJwY1Jlc3BvbnNlRXJyb3IocmVzcG9uc2UpKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IGZvcm1hdFJwY0Vycm9yKHJlc3BvbnNlLmVycm9yKTtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgYmFzZVJlc3BvbnNlKSwgcmVzcG9uc2UpLCB7IGVycm9yIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yUmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNKc29uUnBjUmVzcG9uc2VTdWNjZXNzKHJlc3BvbnNlKSkge1xuICAgICAgICAgICAgY29uc3Qgc3VjY2Vzc1Jlc3BvbnNlID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBiYXNlUmVzcG9uc2UpLCByZXNwb25zZSk7XG4gICAgICAgICAgICByZXR1cm4gc3VjY2Vzc1Jlc3BvbnNlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9JTlZBTElEX1JFU1BPTlNFKTtcbiAgICB9XG4gICAgX2hhbmRsZVNlc3Npb25EaXNjb25uZWN0KGVycm9yTXNnKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvck1zZyB8fCBcIlNlc3Npb24gRGlzY29ubmVjdGVkXCI7XG4gICAgICAgIGlmICghdGhpcy5fY29ubmVjdGVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcXJjb2RlTW9kYWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9xcmNvZGVNb2RhbC5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVtb3ZlTG9jYWwoTU9CSUxFX0xJTktfQ0hPSUNFX0tFWSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2hhbmRzaGFrZUlkKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kc2hha2VJZCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2hhbmRzaGFrZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kc2hha2VUb3BpYyA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3BlZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5fcGVlcklkID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7XG4gICAgICAgICAgICBldmVudDogXCJkaXNjb25uZWN0XCIsXG4gICAgICAgICAgICBwYXJhbXM6IFt7IG1lc3NhZ2UgfV0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9yZW1vdmVTdG9yYWdlU2Vzc2lvbigpO1xuICAgICAgICB0aGlzLnRyYW5zcG9ydENsb3NlKCk7XG4gICAgfVxuICAgIF9oYW5kbGVTZXNzaW9uUmVzcG9uc2UoZXJyb3JNc2csIHNlc3Npb25QYXJhbXMpIHtcbiAgICAgICAgaWYgKHNlc3Npb25QYXJhbXMpIHtcbiAgICAgICAgICAgIGlmIChzZXNzaW9uUGFyYW1zLmFwcHJvdmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9jb25uZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29ubmVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlc3Npb25QYXJhbXMuY2hhaW5JZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFpbklkID0gc2Vzc2lvblBhcmFtcy5jaGFpbklkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uUGFyYW1zLmFjY291bnRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY291bnRzID0gc2Vzc2lvblBhcmFtcy5hY2NvdW50cztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoc2Vzc2lvblBhcmFtcy5wZWVySWQgJiYgIXRoaXMucGVlcklkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlZXJJZCA9IHNlc3Npb25QYXJhbXMucGVlcklkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uUGFyYW1zLnBlZXJNZXRhICYmICF0aGlzLnBlZXJNZXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlZXJNZXRhID0gc2Vzc2lvblBhcmFtcy5wZWVyTWV0YTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudDogXCJjb25uZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJJZDogdGhpcy5wZWVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJNZXRhOiB0aGlzLnBlZXJNZXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFpbklkOiB0aGlzLmNoYWluSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRzOiB0aGlzLmFjY291bnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uUGFyYW1zLmNoYWluSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhaW5JZCA9IHNlc3Npb25QYXJhbXMuY2hhaW5JZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoc2Vzc2lvblBhcmFtcy5hY2NvdW50cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50cyA9IHNlc3Npb25QYXJhbXMuYWNjb3VudHM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwic2Vzc2lvbl91cGRhdGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhaW5JZDogdGhpcy5jaGFpbklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50czogdGhpcy5hY2NvdW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX21hbmFnZVN0b3JhZ2VTZXNzaW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdChlcnJvck1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdChlcnJvck1zZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgX2hhbmRsZUluY29taW5nTWVzc2FnZXMoc29ja2V0TWVzc2FnZSkge1xuICAgICAgICBjb25zdCBhY3RpdmVUb3BpY3MgPSBbdGhpcy5jbGllbnRJZCwgdGhpcy5oYW5kc2hha2VUb3BpY107XG4gICAgICAgIGlmICghYWN0aXZlVG9waWNzLmluY2x1ZGVzKHNvY2tldE1lc3NhZ2UudG9waWMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGVuY3J5cHRpb25QYXlsb2FkO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZW5jcnlwdGlvblBheWxvYWQgPSBKU09OLnBhcnNlKHNvY2tldE1lc3NhZ2UucGF5bG9hZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IHRoaXMuX2RlY3J5cHQoZW5jcnlwdGlvblBheWxvYWQpO1xuICAgICAgICBpZiAocGF5bG9hZCkge1xuICAgICAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIocGF5bG9hZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX3N1YnNjcmliZVRvU2Vzc2lvblJlcXVlc3QoKSB7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5zdWJzY3JpYmUodGhpcy5oYW5kc2hha2VUb3BpYyk7XG4gICAgfVxuICAgIF9zdWJzY3JpYmVUb1Jlc3BvbnNlKGlkLCBjYWxsYmFjaykge1xuICAgICAgICB0aGlzLm9uKGByZXNwb25zZToke2lkfWAsIGNhbGxiYWNrKTtcbiAgICB9XG4gICAgX3N1YnNjcmliZVRvU2Vzc2lvblJlc3BvbnNlKGlkLCBlcnJvck1zZykge1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1Jlc3BvbnNlKGlkLCAoZXJyb3IsIHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVNlc3Npb25SZXNwb25zZShlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNKc29uUnBjUmVzcG9uc2VTdWNjZXNzKHBheWxvYWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlU2Vzc2lvblJlc3BvbnNlKGVycm9yTXNnLCBwYXlsb2FkLnJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChwYXlsb2FkLmVycm9yICYmIHBheWxvYWQuZXJyb3IubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVNlc3Npb25SZXNwb25zZShwYXlsb2FkLmVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlU2Vzc2lvblJlc3BvbnNlKGVycm9yTXNnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9zdWJzY3JpYmVUb0NhbGxSZXNwb25zZShpZCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaWJlVG9SZXNwb25zZShpZCwgKGVycm9yLCBwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzSnNvblJwY1Jlc3BvbnNlU3VjY2VzcyhwYXlsb2FkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHBheWxvYWQucmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocGF5bG9hZC5lcnJvciAmJiBwYXlsb2FkLmVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHBheWxvYWQuZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihFUlJPUl9JTlZBTElEX1JFU1BPTlNFKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfc3Vic2NyaWJlVG9JbnRlcm5hbEV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5vbihcImRpc3BsYXlfdXJpXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9xcmNvZGVNb2RhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3FyY29kZU1vZGFsLm9wZW4odGhpcy51cmksICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwibW9kYWxfY2xvc2VkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzLl9xcmNvZGVNb2RhbE9wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbihcImNvbm5lY3RcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3FyY29kZU1vZGFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcXJjb2RlTW9kYWwuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub24oXCJjYWxsX3JlcXVlc3Rfc2VudFwiLCAoZXJyb3IsIHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gcGF5bG9hZC5wYXJhbXNbMF07XG4gICAgICAgICAgICBpZiAoaXNNb2JpbGUoKSAmJiB0aGlzLl9zaWduaW5nTWV0aG9kcy5pbmNsdWRlcyhyZXF1ZXN0Lm1ldGhvZCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2JpbGVMaW5rVXJsID0gZ2V0TG9jYWwoTU9CSUxFX0xJTktfQ0hPSUNFX0tFWSk7XG4gICAgICAgICAgICAgICAgaWYgKG1vYmlsZUxpbmtVcmwpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBtb2JpbGVMaW5rVXJsLmhyZWY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbihcIndjX3Nlc3Npb25SZXF1ZXN0XCIsIChlcnJvciwgcGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe1xuICAgICAgICAgICAgICAgICAgICBldmVudDogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBcIlNFU1NJT05fUkVRVUVTVF9FUlJPUlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oYW5kc2hha2VJZCA9IHBheWxvYWQuaWQ7XG4gICAgICAgICAgICB0aGlzLnBlZXJJZCA9IHBheWxvYWQucGFyYW1zWzBdLnBlZXJJZDtcbiAgICAgICAgICAgIHRoaXMucGVlck1ldGEgPSBwYXlsb2FkLnBhcmFtc1swXS5wZWVyTWV0YTtcbiAgICAgICAgICAgIGNvbnN0IGludGVybmFsUGF5bG9hZCA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGF5bG9hZCksIHsgbWV0aG9kOiBcInNlc3Npb25fcmVxdWVzdFwiIH0pO1xuICAgICAgICAgICAgdGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoaW50ZXJuYWxQYXlsb2FkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub24oXCJ3Y19zZXNzaW9uVXBkYXRlXCIsIChlcnJvciwgcGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlU2Vzc2lvblJlc3BvbnNlKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5faGFuZGxlU2Vzc2lvblJlc3BvbnNlKFwiU2Vzc2lvbiBkaXNjb25uZWN0ZWRcIiwgcGF5bG9hZC5wYXJhbXNbMF0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2luaXRUcmFuc3BvcnQoKSB7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5vbihcIm1lc3NhZ2VcIiwgKHNvY2tldE1lc3NhZ2UpID0+IHRoaXMuX2hhbmRsZUluY29taW5nTWVzc2FnZXMoc29ja2V0TWVzc2FnZSkpO1xuICAgICAgICB0aGlzLl90cmFuc3BvcnQub24oXCJvcGVuXCIsICgpID0+IHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHsgZXZlbnQ6IFwidHJhbnNwb3J0X29wZW5cIiwgcGFyYW1zOiBbXSB9KSk7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5vbihcImNsb3NlXCIsICgpID0+IHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHsgZXZlbnQ6IFwidHJhbnNwb3J0X2Nsb3NlXCIsIHBhcmFtczogW10gfSkpO1xuICAgICAgICB0aGlzLl90cmFuc3BvcnQub24oXCJlcnJvclwiLCAoKSA9PiB0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7XG4gICAgICAgICAgICBldmVudDogXCJ0cmFuc3BvcnRfZXJyb3JcIixcbiAgICAgICAgICAgIHBhcmFtczogW1wiV2Vic29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkXCJdLFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5vcGVuKCk7XG4gICAgfVxuICAgIF9mb3JtYXRVcmkoKSB7XG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbDtcbiAgICAgICAgY29uc3QgaGFuZHNoYWtlVG9waWMgPSB0aGlzLmhhbmRzaGFrZVRvcGljO1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gdGhpcy52ZXJzaW9uO1xuICAgICAgICBjb25zdCBicmlkZ2UgPSBlbmNvZGVVUklDb21wb25lbnQodGhpcy5icmlkZ2UpO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmtleTtcbiAgICAgICAgY29uc3QgdXJpID0gYCR7cHJvdG9jb2x9OiR7aGFuZHNoYWtlVG9waWN9QCR7dmVyc2lvbn0/YnJpZGdlPSR7YnJpZGdlfSZrZXk9JHtrZXl9YDtcbiAgICAgICAgcmV0dXJuIHVyaTtcbiAgICB9XG4gICAgX3BhcnNlVXJpKHVyaSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBwYXJzZVdhbGxldENvbm5lY3RVcmkodXJpKTtcbiAgICAgICAgaWYgKHJlc3VsdC5wcm90b2NvbCA9PT0gdGhpcy5wcm90b2NvbCkge1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQuaGFuZHNoYWtlVG9waWMpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcIkludmFsaWQgb3IgbWlzc2luZyBoYW5kc2hha2VUb3BpYyBwYXJhbWV0ZXIgdmFsdWVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBoYW5kc2hha2VUb3BpYyA9IHJlc3VsdC5oYW5kc2hha2VUb3BpYztcbiAgICAgICAgICAgIGlmICghcmVzdWx0LmJyaWRnZSkge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiSW52YWxpZCBvciBtaXNzaW5nIGJyaWRnZSB1cmwgcGFyYW1ldGVyIHZhbHVlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYnJpZGdlID0gZGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdC5icmlkZ2UpO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQua2V5KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJJbnZhbGlkIG9yIG1pc3Npbmcga2V5IHBhcmFtZXRlciB2YWx1ZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHJlc3VsdC5rZXk7XG4gICAgICAgICAgICByZXR1cm4geyBoYW5kc2hha2VUb3BpYywgYnJpZGdlLCBrZXkgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9JTlZBTElEX1VSSSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgX2dlbmVyYXRlS2V5KCkge1xuICAgICAgICBpZiAodGhpcy5fY3J5cHRvTGliKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl9jcnlwdG9MaWIuZ2VuZXJhdGVLZXkoKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGFzeW5jIF9lbmNyeXB0KGRhdGEpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5fa2V5O1xuICAgICAgICBpZiAodGhpcy5fY3J5cHRvTGliICYmIGtleSkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fY3J5cHRvTGliLmVuY3J5cHQoZGF0YSwga2V5KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGFzeW5jIF9kZWNyeXB0KHBheWxvYWQpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5fa2V5O1xuICAgICAgICBpZiAodGhpcy5fY3J5cHRvTGliICYmIGtleSkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fY3J5cHRvTGliLmRlY3J5cHQocGF5bG9hZCwga2V5KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIF9nZXRTdG9yYWdlU2Vzc2lvbigpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLl9zZXNzaW9uU3RvcmFnZSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5fc2Vzc2lvblN0b3JhZ2UuZ2V0U2Vzc2lvbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIF9zZXRTdG9yYWdlU2Vzc2lvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3Nlc3Npb25TdG9yYWdlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXNzaW9uU3RvcmFnZS5zZXRTZXNzaW9uKHRoaXMuc2Vzc2lvbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX3JlbW92ZVN0b3JhZ2VTZXNzaW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fc2Vzc2lvblN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nlc3Npb25TdG9yYWdlLnJlbW92ZVNlc3Npb24oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfbWFuYWdlU3RvcmFnZVNlc3Npb24oKSB7XG4gICAgICAgIGlmICh0aGlzLl9jb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0b3JhZ2VTZXNzaW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVTdG9yYWdlU2Vzc2lvbigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9yZWdpc3RlclB1c2hTZXJ2ZXIocHVzaFNlcnZlck9wdHMpIHtcbiAgICAgICAgaWYgKCFwdXNoU2VydmVyT3B0cy51cmwgfHwgdHlwZW9mIHB1c2hTZXJ2ZXJPcHRzLnVybCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudXJsIHBhcmFtZXRlciB2YWx1ZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXB1c2hTZXJ2ZXJPcHRzLnR5cGUgfHwgdHlwZW9mIHB1c2hTZXJ2ZXJPcHRzLnR5cGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwiSW52YWxpZCBvciBtaXNzaW5nIHB1c2hTZXJ2ZXJPcHRzLnR5cGUgcGFyYW1ldGVyIHZhbHVlXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcHVzaFNlcnZlck9wdHMudG9rZW4gfHwgdHlwZW9mIHB1c2hTZXJ2ZXJPcHRzLnRva2VuICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcIkludmFsaWQgb3IgbWlzc2luZyBwdXNoU2VydmVyT3B0cy50b2tlbiBwYXJhbWV0ZXIgdmFsdWVcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHVzaFN1YnNjcmlwdGlvbiA9IHtcbiAgICAgICAgICAgIGJyaWRnZTogdGhpcy5icmlkZ2UsXG4gICAgICAgICAgICB0b3BpYzogdGhpcy5jbGllbnRJZCxcbiAgICAgICAgICAgIHR5cGU6IHB1c2hTZXJ2ZXJPcHRzLnR5cGUsXG4gICAgICAgICAgICB0b2tlbjogcHVzaFNlcnZlck9wdHMudG9rZW4sXG4gICAgICAgICAgICBwZWVyTmFtZTogXCJcIixcbiAgICAgICAgICAgIGxhbmd1YWdlOiBwdXNoU2VydmVyT3B0cy5sYW5ndWFnZSB8fCBcIlwiLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uKFwiY29ubmVjdFwiLCBhc3luYyAoZXJyb3IsIHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHB1c2hTZXJ2ZXJPcHRzLnBlZXJNZXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGVlck5hbWUgPSBwYXlsb2FkLnBhcmFtc1swXS5wZWVyTWV0YS5uYW1lO1xuICAgICAgICAgICAgICAgIHB1c2hTdWJzY3JpcHRpb24ucGVlck5hbWUgPSBwZWVyTmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtwdXNoU2VydmVyT3B0cy51cmx9L25ld2AsIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwdXNoU3Vic2NyaXB0aW9uKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgICAgICAgICAgIGlmICghanNvbi5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRmFpbGVkIHRvIHJlZ2lzdGVyIGluIFB1c2ggU2VydmVyXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRmFpbGVkIHRvIHJlZ2lzdGVyIGluIFB1c2ggU2VydmVyXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgZGVmYXVsdCBDb25uZWN0b3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb3JlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/core.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/crypto.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/crypto.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decrypt: function() { return /* binding */ decrypt; },\n/* harmony export */ encrypt: function() { return /* binding */ encrypt; },\n/* harmony export */ generateKey: function() { return /* binding */ generateKey; },\n/* harmony export */ verifyHmac: function() { return /* binding */ verifyHmac; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/crypto */ \"./node_modules/@walletconnect/crypto/dist/esm/browser/index.js\");\n/* harmony import */ var _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/encoding */ \"./node_modules/@walletconnect/encoding/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\n\n\n\nasync function generateKey(length) {\n const _length = (length || 256) / 8;\n const bytes = _walletconnect_crypto__WEBPACK_IMPORTED_MODULE_0__.randomBytes(_length);\n const result = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_2__.convertBufferToArrayBuffer)(_walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToBuffer(bytes));\n return result;\n}\nasync function verifyHmac(payload, key) {\n const cipherText = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.hexToArray(payload.data);\n const iv = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.hexToArray(payload.iv);\n const hmac = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.hexToArray(payload.hmac);\n const hmacHex = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToHex(hmac, false);\n const unsigned = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.concatArrays(cipherText, iv);\n const chmac = await _walletconnect_crypto__WEBPACK_IMPORTED_MODULE_0__.hmacSha256Sign(key, unsigned);\n const chmacHex = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToHex(chmac, false);\n if (_walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.removeHexPrefix(hmacHex) === _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.removeHexPrefix(chmacHex)) {\n return true;\n }\n return false;\n}\nasync function encrypt(data, key, providedIv) {\n const _key = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.bufferToArray((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_2__.convertArrayBufferToBuffer)(key));\n const ivArrayBuffer = providedIv || (await generateKey(128));\n const iv = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.bufferToArray((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_2__.convertArrayBufferToBuffer)(ivArrayBuffer));\n const ivHex = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToHex(iv, false);\n const contentString = JSON.stringify(data);\n const content = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.utf8ToArray(contentString);\n const cipherText = await _walletconnect_crypto__WEBPACK_IMPORTED_MODULE_0__.aesCbcEncrypt(iv, _key, content);\n const cipherTextHex = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToHex(cipherText, false);\n const unsigned = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.concatArrays(cipherText, iv);\n const hmac = await _walletconnect_crypto__WEBPACK_IMPORTED_MODULE_0__.hmacSha256Sign(_key, unsigned);\n const hmacHex = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToHex(hmac, false);\n return {\n data: cipherTextHex,\n hmac: hmacHex,\n iv: ivHex,\n };\n}\nasync function decrypt(payload, key) {\n const _key = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.bufferToArray((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_2__.convertArrayBufferToBuffer)(key));\n if (!_key) {\n throw new Error(\"Missing key: required for decryption\");\n }\n const verified = await verifyHmac(payload, _key);\n if (!verified) {\n return null;\n }\n const cipherText = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.hexToArray(payload.data);\n const iv = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.hexToArray(payload.iv);\n const buffer = await _walletconnect_crypto__WEBPACK_IMPORTED_MODULE_0__.aesCbcDecrypt(iv, _key, cipherText);\n const utf8 = _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_1__.arrayToUtf8(buffer);\n let data;\n try {\n data = JSON.parse(utf8);\n }\n catch (error) {\n return null;\n }\n return data;\n}\n//# sourceMappingURL=crypto.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9jcnlwdG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFnRDtBQUNJO0FBQ2tEO0FBQy9GO0FBQ1A7QUFDQSxrQkFBa0IsOERBQWtCO0FBQ3BDLG1CQUFtQix1RkFBMEIsQ0FBQyxrRUFBc0I7QUFDcEU7QUFDQTtBQUNPO0FBQ1AsdUJBQXVCLCtEQUFtQjtBQUMxQyxlQUFlLCtEQUFtQjtBQUNsQyxpQkFBaUIsK0RBQW1CO0FBQ3BDLG9CQUFvQiwrREFBbUI7QUFDdkMscUJBQXFCLGlFQUFxQjtBQUMxQyx3QkFBd0IsaUVBQXFCO0FBQzdDLHFCQUFxQiwrREFBbUI7QUFDeEMsUUFBUSxvRUFBd0IsY0FBYyxvRUFBd0I7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGlCQUFpQixrRUFBc0IsQ0FBQyx1RkFBMEI7QUFDbEU7QUFDQSxlQUFlLGtFQUFzQixDQUFDLHVGQUEwQjtBQUNoRSxrQkFBa0IsK0RBQW1CO0FBQ3JDO0FBQ0Esb0JBQW9CLGdFQUFvQjtBQUN4Qyw2QkFBNkIsZ0VBQW9CO0FBQ2pELDBCQUEwQiwrREFBbUI7QUFDN0MscUJBQXFCLGlFQUFxQjtBQUMxQyx1QkFBdUIsaUVBQXFCO0FBQzVDLG9CQUFvQiwrREFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxpQkFBaUIsa0VBQXNCLENBQUMsdUZBQTBCO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLCtEQUFtQjtBQUMxQyxlQUFlLCtEQUFtQjtBQUNsQyx5QkFBeUIsZ0VBQW9CO0FBQzdDLGlCQUFpQixnRUFBb0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS1jbGllbnQvZGlzdC9lc20vY3J5cHRvLmpzPzU5NjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gXCJAd2FsbGV0Y29ubmVjdC9jcnlwdG9cIjtcbmltcG9ydCAqIGFzIGVuY29kaW5nIGZyb20gXCJAd2FsbGV0Y29ubmVjdC9lbmNvZGluZ1wiO1xuaW1wb3J0IHsgY29udmVydEFycmF5QnVmZmVyVG9CdWZmZXIsIGNvbnZlcnRCdWZmZXJUb0FycmF5QnVmZmVyLCB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHNcIjtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZUtleShsZW5ndGgpIHtcbiAgICBjb25zdCBfbGVuZ3RoID0gKGxlbmd0aCB8fCAyNTYpIC8gODtcbiAgICBjb25zdCBieXRlcyA9IGNyeXB0by5yYW5kb21CeXRlcyhfbGVuZ3RoKTtcbiAgICBjb25zdCByZXN1bHQgPSBjb252ZXJ0QnVmZmVyVG9BcnJheUJ1ZmZlcihlbmNvZGluZy5hcnJheVRvQnVmZmVyKGJ5dGVzKSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlIbWFjKHBheWxvYWQsIGtleSkge1xuICAgIGNvbnN0IGNpcGhlclRleHQgPSBlbmNvZGluZy5oZXhUb0FycmF5KHBheWxvYWQuZGF0YSk7XG4gICAgY29uc3QgaXYgPSBlbmNvZGluZy5oZXhUb0FycmF5KHBheWxvYWQuaXYpO1xuICAgIGNvbnN0IGhtYWMgPSBlbmNvZGluZy5oZXhUb0FycmF5KHBheWxvYWQuaG1hYyk7XG4gICAgY29uc3QgaG1hY0hleCA9IGVuY29kaW5nLmFycmF5VG9IZXgoaG1hYywgZmFsc2UpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gZW5jb2RpbmcuY29uY2F0QXJyYXlzKGNpcGhlclRleHQsIGl2KTtcbiAgICBjb25zdCBjaG1hYyA9IGF3YWl0IGNyeXB0by5obWFjU2hhMjU2U2lnbihrZXksIHVuc2lnbmVkKTtcbiAgICBjb25zdCBjaG1hY0hleCA9IGVuY29kaW5nLmFycmF5VG9IZXgoY2htYWMsIGZhbHNlKTtcbiAgICBpZiAoZW5jb2RpbmcucmVtb3ZlSGV4UHJlZml4KGhtYWNIZXgpID09PSBlbmNvZGluZy5yZW1vdmVIZXhQcmVmaXgoY2htYWNIZXgpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdChkYXRhLCBrZXksIHByb3ZpZGVkSXYpIHtcbiAgICBjb25zdCBfa2V5ID0gZW5jb2RpbmcuYnVmZmVyVG9BcnJheShjb252ZXJ0QXJyYXlCdWZmZXJUb0J1ZmZlcihrZXkpKTtcbiAgICBjb25zdCBpdkFycmF5QnVmZmVyID0gcHJvdmlkZWRJdiB8fCAoYXdhaXQgZ2VuZXJhdGVLZXkoMTI4KSk7XG4gICAgY29uc3QgaXYgPSBlbmNvZGluZy5idWZmZXJUb0FycmF5KGNvbnZlcnRBcnJheUJ1ZmZlclRvQnVmZmVyKGl2QXJyYXlCdWZmZXIpKTtcbiAgICBjb25zdCBpdkhleCA9IGVuY29kaW5nLmFycmF5VG9IZXgoaXYsIGZhbHNlKTtcbiAgICBjb25zdCBjb250ZW50U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgY29uc3QgY29udGVudCA9IGVuY29kaW5nLnV0ZjhUb0FycmF5KGNvbnRlbnRTdHJpbmcpO1xuICAgIGNvbnN0IGNpcGhlclRleHQgPSBhd2FpdCBjcnlwdG8uYWVzQ2JjRW5jcnlwdChpdiwgX2tleSwgY29udGVudCk7XG4gICAgY29uc3QgY2lwaGVyVGV4dEhleCA9IGVuY29kaW5nLmFycmF5VG9IZXgoY2lwaGVyVGV4dCwgZmFsc2UpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gZW5jb2RpbmcuY29uY2F0QXJyYXlzKGNpcGhlclRleHQsIGl2KTtcbiAgICBjb25zdCBobWFjID0gYXdhaXQgY3J5cHRvLmhtYWNTaGEyNTZTaWduKF9rZXksIHVuc2lnbmVkKTtcbiAgICBjb25zdCBobWFjSGV4ID0gZW5jb2RpbmcuYXJyYXlUb0hleChobWFjLCBmYWxzZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YTogY2lwaGVyVGV4dEhleCxcbiAgICAgICAgaG1hYzogaG1hY0hleCxcbiAgICAgICAgaXY6IGl2SGV4LFxuICAgIH07XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdChwYXlsb2FkLCBrZXkpIHtcbiAgICBjb25zdCBfa2V5ID0gZW5jb2RpbmcuYnVmZmVyVG9BcnJheShjb252ZXJ0QXJyYXlCdWZmZXJUb0J1ZmZlcihrZXkpKTtcbiAgICBpZiAoIV9rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBrZXk6IHJlcXVpcmVkIGZvciBkZWNyeXB0aW9uXCIpO1xuICAgIH1cbiAgICBjb25zdCB2ZXJpZmllZCA9IGF3YWl0IHZlcmlmeUhtYWMocGF5bG9hZCwgX2tleSk7XG4gICAgaWYgKCF2ZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgY2lwaGVyVGV4dCA9IGVuY29kaW5nLmhleFRvQXJyYXkocGF5bG9hZC5kYXRhKTtcbiAgICBjb25zdCBpdiA9IGVuY29kaW5nLmhleFRvQXJyYXkocGF5bG9hZC5pdik7XG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY3J5cHRvLmFlc0NiY0RlY3J5cHQoaXYsIF9rZXksIGNpcGhlclRleHQpO1xuICAgIGNvbnN0IHV0ZjggPSBlbmNvZGluZy5hcnJheVRvVXRmOChidWZmZXIpO1xuICAgIGxldCBkYXRhO1xuICAgIHRyeSB7XG4gICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKHV0ZjgpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3J5cHRvLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/crypto.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/events.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/events.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\n\nclass EventManager {\n constructor() {\n this._eventEmitters = [];\n }\n subscribe(eventEmitter) {\n this._eventEmitters.push(eventEmitter);\n }\n unsubscribe(event) {\n this._eventEmitters = this._eventEmitters.filter(x => x.event !== event);\n }\n trigger(payload) {\n let eventEmitters = [];\n let event;\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isJsonRpcRequest)(payload)) {\n event = payload.method;\n }\n else if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isJsonRpcResponseSuccess)(payload) || (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isJsonRpcResponseError)(payload)) {\n event = `response:${payload.id}`;\n }\n else if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isInternalEvent)(payload)) {\n event = payload.event;\n }\n else {\n event = \"\";\n }\n if (event) {\n eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === event);\n }\n if ((!eventEmitters || !eventEmitters.length) &&\n !(0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isReservedEvent)(event) &&\n !(0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isInternalEvent)(event)) {\n eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === \"call_request\");\n }\n eventEmitters.forEach((eventEmitter) => {\n if ((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isJsonRpcResponseError)(payload)) {\n const error = new Error(payload.error.message);\n eventEmitter.callback(error, null);\n }\n else {\n eventEmitter.callback(null, payload);\n }\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (EventManager);\n//# sourceMappingURL=events.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9ldmVudHMuanMiLCJtYXBwaW5ncyI6Ijs7QUFBb0o7QUFDcEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZFQUFnQjtBQUM1QjtBQUNBO0FBQ0EsaUJBQWlCLHFGQUF3QixhQUFhLG1GQUFzQjtBQUM1RSxnQ0FBZ0MsV0FBVztBQUMzQztBQUNBLGlCQUFpQiw0RUFBZTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDRFQUFlO0FBQzVCLGFBQWEsNEVBQWU7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1GQUFzQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLCtEQUFlLFlBQVksRUFBQztBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9ldmVudHMuanM/MTJiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0pzb25ScGNSZXF1ZXN0LCBpc0pzb25ScGNSZXNwb25zZVN1Y2Nlc3MsIGlzSnNvblJwY1Jlc3BvbnNlRXJyb3IsIGlzSW50ZXJuYWxFdmVudCwgaXNSZXNlcnZlZEV2ZW50LCB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHNcIjtcbmNsYXNzIEV2ZW50TWFuYWdlciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX2V2ZW50RW1pdHRlcnMgPSBbXTtcbiAgICB9XG4gICAgc3Vic2NyaWJlKGV2ZW50RW1pdHRlcikge1xuICAgICAgICB0aGlzLl9ldmVudEVtaXR0ZXJzLnB1c2goZXZlbnRFbWl0dGVyKTtcbiAgICB9XG4gICAgdW5zdWJzY3JpYmUoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRFbWl0dGVycyA9IHRoaXMuX2V2ZW50RW1pdHRlcnMuZmlsdGVyKHggPT4geC5ldmVudCAhPT0gZXZlbnQpO1xuICAgIH1cbiAgICB0cmlnZ2VyKHBheWxvYWQpIHtcbiAgICAgICAgbGV0IGV2ZW50RW1pdHRlcnMgPSBbXTtcbiAgICAgICAgbGV0IGV2ZW50O1xuICAgICAgICBpZiAoaXNKc29uUnBjUmVxdWVzdChwYXlsb2FkKSkge1xuICAgICAgICAgICAgZXZlbnQgPSBwYXlsb2FkLm1ldGhvZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0pzb25ScGNSZXNwb25zZVN1Y2Nlc3MocGF5bG9hZCkgfHwgaXNKc29uUnBjUmVzcG9uc2VFcnJvcihwYXlsb2FkKSkge1xuICAgICAgICAgICAgZXZlbnQgPSBgcmVzcG9uc2U6JHtwYXlsb2FkLmlkfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNJbnRlcm5hbEV2ZW50KHBheWxvYWQpKSB7XG4gICAgICAgICAgICBldmVudCA9IHBheWxvYWQuZXZlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBldmVudCA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudEVtaXR0ZXJzID0gdGhpcy5fZXZlbnRFbWl0dGVycy5maWx0ZXIoKGV2ZW50RW1pdHRlcikgPT4gZXZlbnRFbWl0dGVyLmV2ZW50ID09PSBldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCghZXZlbnRFbWl0dGVycyB8fCAhZXZlbnRFbWl0dGVycy5sZW5ndGgpICYmXG4gICAgICAgICAgICAhaXNSZXNlcnZlZEV2ZW50KGV2ZW50KSAmJlxuICAgICAgICAgICAgIWlzSW50ZXJuYWxFdmVudChldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50RW1pdHRlcnMgPSB0aGlzLl9ldmVudEVtaXR0ZXJzLmZpbHRlcigoZXZlbnRFbWl0dGVyKSA9PiBldmVudEVtaXR0ZXIuZXZlbnQgPT09IFwiY2FsbF9yZXF1ZXN0XCIpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50RW1pdHRlcnMuZm9yRWFjaCgoZXZlbnRFbWl0dGVyKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNKc29uUnBjUmVzcG9uc2VFcnJvcihwYXlsb2FkKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKHBheWxvYWQuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgZXZlbnRFbWl0dGVyLmNhbGxiYWNrKGVycm9yLCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGV2ZW50RW1pdHRlci5jYWxsYmFjayhudWxsLCBwYXlsb2FkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgRXZlbnRNYW5hZ2VyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXZlbnRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/events.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/index.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./node_modules/@walletconnect/legacy-client/dist/esm/core.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crypto */ \"./node_modules/@walletconnect/legacy-client/dist/esm/crypto.js\");\n\n\nclass WalletConnect extends _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(connectorOpts, pushServerOpts) {\n super({\n cryptoLib: _crypto__WEBPACK_IMPORTED_MODULE_1__,\n connectorOpts,\n pushServerOpts,\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (WalletConnect);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7QUFBK0I7QUFDTztBQUN0Qyw0QkFBNEIsNkNBQVM7QUFDckM7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwrREFBZSxhQUFhLEVBQUM7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS1jbGllbnQvZGlzdC9lc20vaW5kZXguanM/MzY1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29ubmVjdG9yIGZyb20gXCIuL2NvcmVcIjtcbmltcG9ydCAqIGFzIGNyeXB0b0xpYiBmcm9tIFwiLi9jcnlwdG9cIjtcbmNsYXNzIFdhbGxldENvbm5lY3QgZXh0ZW5kcyBDb25uZWN0b3Ige1xuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rvck9wdHMsIHB1c2hTZXJ2ZXJPcHRzKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGNyeXB0b0xpYixcbiAgICAgICAgICAgIGNvbm5lY3Rvck9wdHMsXG4gICAgICAgICAgICBwdXNoU2VydmVyT3B0cyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgV2FsbGV0Q29ubmVjdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/network.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/network.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nclass NetworkMonitor {\n constructor() {\n this._eventEmitters = [];\n if (typeof window !== \"undefined\" && typeof window.addEventListener !== \"undefined\") {\n window.addEventListener(\"online\", () => this.trigger(\"online\"));\n window.addEventListener(\"offline\", () => this.trigger(\"offline\"));\n }\n }\n on(event, callback) {\n this._eventEmitters.push({\n event,\n callback,\n });\n }\n trigger(event) {\n let eventEmitters = [];\n if (event) {\n eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === event);\n }\n eventEmitters.forEach((eventEmitter) => {\n eventEmitter.callback();\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (NetworkMonitor);\n//# sourceMappingURL=network.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9uZXR3b3JrLmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsK0RBQWUsY0FBYyxFQUFDO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktY2xpZW50L2Rpc3QvZXNtL25ldHdvcmsuanM/NmRhZiJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBOZXR3b3JrTW9uaXRvciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX2V2ZW50RW1pdHRlcnMgPSBbXTtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm9ubGluZVwiLCAoKSA9PiB0aGlzLnRyaWdnZXIoXCJvbmxpbmVcIikpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvZmZsaW5lXCIsICgpID0+IHRoaXMudHJpZ2dlcihcIm9mZmxpbmVcIikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uKGV2ZW50LCBjYWxsYmFjaykge1xuICAgICAgICB0aGlzLl9ldmVudEVtaXR0ZXJzLnB1c2goe1xuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYWxsYmFjayxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRyaWdnZXIoZXZlbnQpIHtcbiAgICAgICAgbGV0IGV2ZW50RW1pdHRlcnMgPSBbXTtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudEVtaXR0ZXJzID0gdGhpcy5fZXZlbnRFbWl0dGVycy5maWx0ZXIoKGV2ZW50RW1pdHRlcikgPT4gZXZlbnRFbWl0dGVyLmV2ZW50ID09PSBldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnRFbWl0dGVycy5mb3JFYWNoKChldmVudEVtaXR0ZXIpID0+IHtcbiAgICAgICAgICAgIGV2ZW50RW1pdHRlci5jYWxsYmFjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgZGVmYXVsdCBOZXR3b3JrTW9uaXRvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5ldHdvcmsuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/network.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/socket.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/socket.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./network */ \"./node_modules/@walletconnect/legacy-client/dist/esm/network.js\");\n\n\nconst WS = typeof __webpack_require__.g.WebSocket !== \"undefined\" ? __webpack_require__.g.WebSocket : __webpack_require__(/*! ws */ \"./node_modules/ws/index.js\");\nclass SocketTransport {\n constructor(opts) {\n this.opts = opts;\n this._queue = [];\n this._events = [];\n this._subscriptions = [];\n this._protocol = opts.protocol;\n this._version = opts.version;\n this._url = \"\";\n this._netMonitor = null;\n this._socket = null;\n this._nextSocket = null;\n this._subscriptions = opts.subscriptions || [];\n this._netMonitor = opts.netMonitor || new _network__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n if (!opts.url || typeof opts.url !== \"string\") {\n throw new Error(\"Missing or invalid WebSocket url\");\n }\n this._url = opts.url;\n this._netMonitor.on(\"online\", () => this._socketCreate());\n }\n set readyState(value) {\n }\n get readyState() {\n return this._socket ? this._socket.readyState : -1;\n }\n set connecting(value) {\n }\n get connecting() {\n return this.readyState === 0;\n }\n set connected(value) {\n }\n get connected() {\n return this.readyState === 1;\n }\n set closing(value) {\n }\n get closing() {\n return this.readyState === 2;\n }\n set closed(value) {\n }\n get closed() {\n return this.readyState === 3;\n }\n open() {\n this._socketCreate();\n }\n close() {\n this._socketClose();\n }\n send(message, topic, silent) {\n if (!topic || typeof topic !== \"string\") {\n throw new Error(\"Missing or invalid topic field\");\n }\n this._socketSend({\n topic: topic,\n type: \"pub\",\n payload: message,\n silent: !!silent,\n });\n }\n subscribe(topic) {\n this._socketSend({\n topic: topic,\n type: \"sub\",\n payload: \"\",\n silent: true,\n });\n }\n on(event, callback) {\n this._events.push({ event, callback });\n }\n _socketCreate() {\n if (this._nextSocket) {\n return;\n }\n const url = getWebSocketUrl(this._url, this._protocol, this._version);\n this._nextSocket = new WS(url);\n if (!this._nextSocket) {\n throw new Error(\"Failed to create socket\");\n }\n this._nextSocket.onmessage = (event) => this._socketReceive(event);\n this._nextSocket.onopen = () => this._socketOpen();\n this._nextSocket.onerror = (event) => this._socketError(event);\n this._nextSocket.onclose = () => {\n setTimeout(() => {\n this._nextSocket = null;\n this._socketCreate();\n }, 1000);\n };\n }\n _socketOpen() {\n this._socketClose();\n this._socket = this._nextSocket;\n this._nextSocket = null;\n this._queueSubscriptions();\n this._pushQueue();\n }\n _socketClose() {\n if (this._socket) {\n this._socket.onclose = () => {\n };\n this._socket.close();\n }\n }\n _socketSend(socketMessage) {\n const message = JSON.stringify(socketMessage);\n if (this._socket && this._socket.readyState === 1) {\n this._socket.send(message);\n }\n else {\n this._setToQueue(socketMessage);\n this._socketCreate();\n }\n }\n async _socketReceive(event) {\n let socketMessage;\n try {\n socketMessage = JSON.parse(event.data);\n }\n catch (error) {\n return;\n }\n this._socketSend({\n topic: socketMessage.topic,\n type: \"ack\",\n payload: \"\",\n silent: true,\n });\n if (this._socket && this._socket.readyState === 1) {\n const events = this._events.filter(event => event.event === \"message\");\n if (events && events.length) {\n events.forEach(event => event.callback(socketMessage));\n }\n }\n }\n _socketError(e) {\n const events = this._events.filter(event => event.event === \"error\");\n if (events && events.length) {\n events.forEach(event => event.callback(e));\n }\n }\n _queueSubscriptions() {\n const subscriptions = this._subscriptions;\n subscriptions.forEach((topic) => this._queue.push({\n topic: topic,\n type: \"sub\",\n payload: \"\",\n silent: true,\n }));\n this._subscriptions = this.opts.subscriptions || [];\n }\n _setToQueue(socketMessage) {\n this._queue.push(socketMessage);\n }\n _pushQueue() {\n const queue = this._queue;\n queue.forEach((socketMessage) => this._socketSend(socketMessage));\n this._queue = [];\n }\n}\nfunction getWebSocketUrl(_url, protocol, version) {\n var _a, _b;\n const url = _url.startsWith(\"https\")\n ? _url.replace(\"https\", \"wss\")\n : _url.startsWith(\"http\")\n ? _url.replace(\"http\", \"ws\")\n : _url;\n const splitUrl = url.split(\"?\");\n const params = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isBrowser)()\n ? {\n protocol,\n version,\n env: \"browser\",\n host: ((_a = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.getLocation)()) === null || _a === void 0 ? void 0 : _a.host) || \"\",\n }\n : {\n protocol,\n version,\n env: ((_b = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.detectEnv)()) === null || _b === void 0 ? void 0 : _b.name) || \"\",\n };\n const queryString = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.appendToQueryString)((0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.getQueryString)(splitUrl[1] || \"\"), params);\n return splitUrl[0] + \"?\" + queryString;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (SocketTransport);\n//# sourceMappingURL=socket.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9zb2NrZXQuanMiLCJtYXBwaW5ncyI6Ijs7O0FBQXNIO0FBQy9FO0FBQ3ZDLGtCQUFrQixxQkFBTSw2QkFBNkIscUJBQU0sYUFBYSxtQkFBTyxDQUFDLHNDQUFJO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELGdEQUFjO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw0QkFBNEIsaUJBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsc0VBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsd0VBQVc7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isc0VBQVM7QUFDakM7QUFDQSx3QkFBd0IsZ0ZBQW1CLENBQUMsMkVBQWM7QUFDMUQ7QUFDQTtBQUNBLCtEQUFlLGVBQWUsRUFBQztBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9zb2NrZXQuanM/MGMyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Jyb3dzZXIsIGdldExvY2F0aW9uLCBkZXRlY3RFbnYsIGdldFF1ZXJ5U3RyaW5nLCBhcHBlbmRUb1F1ZXJ5U3RyaW5nLCB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHNcIjtcbmltcG9ydCBOZXR3b3JrTW9uaXRvciBmcm9tIFwiLi9uZXR3b3JrXCI7XG5jb25zdCBXUyA9IHR5cGVvZiBnbG9iYWwuV2ViU29ja2V0ICE9PSBcInVuZGVmaW5lZFwiID8gZ2xvYmFsLldlYlNvY2tldCA6IHJlcXVpcmUoXCJ3c1wiKTtcbmNsYXNzIFNvY2tldFRyYW5zcG9ydCB7XG4gICAgY29uc3RydWN0b3Iob3B0cykge1xuICAgICAgICB0aGlzLm9wdHMgPSBvcHRzO1xuICAgICAgICB0aGlzLl9xdWV1ZSA9IFtdO1xuICAgICAgICB0aGlzLl9ldmVudHMgPSBbXTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLl9wcm90b2NvbCA9IG9wdHMucHJvdG9jb2w7XG4gICAgICAgIHRoaXMuX3ZlcnNpb24gPSBvcHRzLnZlcnNpb247XG4gICAgICAgIHRoaXMuX3VybCA9IFwiXCI7XG4gICAgICAgIHRoaXMuX25ldE1vbml0b3IgPSBudWxsO1xuICAgICAgICB0aGlzLl9zb2NrZXQgPSBudWxsO1xuICAgICAgICB0aGlzLl9uZXh0U29ja2V0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucyA9IG9wdHMuc3Vic2NyaXB0aW9ucyB8fCBbXTtcbiAgICAgICAgdGhpcy5fbmV0TW9uaXRvciA9IG9wdHMubmV0TW9uaXRvciB8fCBuZXcgTmV0d29ya01vbml0b3IoKTtcbiAgICAgICAgaWYgKCFvcHRzLnVybCB8fCB0eXBlb2Ygb3B0cy51cmwgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgb3IgaW52YWxpZCBXZWJTb2NrZXQgdXJsXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3VybCA9IG9wdHMudXJsO1xuICAgICAgICB0aGlzLl9uZXRNb25pdG9yLm9uKFwib25saW5lXCIsICgpID0+IHRoaXMuX3NvY2tldENyZWF0ZSgpKTtcbiAgICB9XG4gICAgc2V0IHJlYWR5U3RhdGUodmFsdWUpIHtcbiAgICB9XG4gICAgZ2V0IHJlYWR5U3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zb2NrZXQgPyB0aGlzLl9zb2NrZXQucmVhZHlTdGF0ZSA6IC0xO1xuICAgIH1cbiAgICBzZXQgY29ubmVjdGluZyh2YWx1ZSkge1xuICAgIH1cbiAgICBnZXQgY29ubmVjdGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlTdGF0ZSA9PT0gMDtcbiAgICB9XG4gICAgc2V0IGNvbm5lY3RlZCh2YWx1ZSkge1xuICAgIH1cbiAgICBnZXQgY29ubmVjdGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVN0YXRlID09PSAxO1xuICAgIH1cbiAgICBzZXQgY2xvc2luZyh2YWx1ZSkge1xuICAgIH1cbiAgICBnZXQgY2xvc2luZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlTdGF0ZSA9PT0gMjtcbiAgICB9XG4gICAgc2V0IGNsb3NlZCh2YWx1ZSkge1xuICAgIH1cbiAgICBnZXQgY2xvc2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVN0YXRlID09PSAzO1xuICAgIH1cbiAgICBvcGVuKCkge1xuICAgICAgICB0aGlzLl9zb2NrZXRDcmVhdGUoKTtcbiAgICB9XG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuX3NvY2tldENsb3NlKCk7XG4gICAgfVxuICAgIHNlbmQobWVzc2FnZSwgdG9waWMsIHNpbGVudCkge1xuICAgICAgICBpZiAoIXRvcGljIHx8IHR5cGVvZiB0b3BpYyAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBvciBpbnZhbGlkIHRvcGljIGZpZWxkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NvY2tldFNlbmQoe1xuICAgICAgICAgICAgdG9waWM6IHRvcGljLFxuICAgICAgICAgICAgdHlwZTogXCJwdWJcIixcbiAgICAgICAgICAgIHBheWxvYWQ6IG1lc3NhZ2UsXG4gICAgICAgICAgICBzaWxlbnQ6ICEhc2lsZW50LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3Vic2NyaWJlKHRvcGljKSB7XG4gICAgICAgIHRoaXMuX3NvY2tldFNlbmQoe1xuICAgICAgICAgICAgdG9waWM6IHRvcGljLFxuICAgICAgICAgICAgdHlwZTogXCJzdWJcIixcbiAgICAgICAgICAgIHBheWxvYWQ6IFwiXCIsXG4gICAgICAgICAgICBzaWxlbnQ6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvbihldmVudCwgY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzLnB1c2goeyBldmVudCwgY2FsbGJhY2sgfSk7XG4gICAgfVxuICAgIF9zb2NrZXRDcmVhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZXh0U29ja2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gZ2V0V2ViU29ja2V0VXJsKHRoaXMuX3VybCwgdGhpcy5fcHJvdG9jb2wsIHRoaXMuX3ZlcnNpb24pO1xuICAgICAgICB0aGlzLl9uZXh0U29ja2V0ID0gbmV3IFdTKHVybCk7XG4gICAgICAgIGlmICghdGhpcy5fbmV4dFNvY2tldCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIGNyZWF0ZSBzb2NrZXRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbmV4dFNvY2tldC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRoaXMuX3NvY2tldFJlY2VpdmUoZXZlbnQpO1xuICAgICAgICB0aGlzLl9uZXh0U29ja2V0Lm9ub3BlbiA9ICgpID0+IHRoaXMuX3NvY2tldE9wZW4oKTtcbiAgICAgICAgdGhpcy5fbmV4dFNvY2tldC5vbmVycm9yID0gKGV2ZW50KSA9PiB0aGlzLl9zb2NrZXRFcnJvcihldmVudCk7XG4gICAgICAgIHRoaXMuX25leHRTb2NrZXQub25jbG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX25leHRTb2NrZXQgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NvY2tldENyZWF0ZSgpO1xuICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIF9zb2NrZXRPcGVuKCkge1xuICAgICAgICB0aGlzLl9zb2NrZXRDbG9zZSgpO1xuICAgICAgICB0aGlzLl9zb2NrZXQgPSB0aGlzLl9uZXh0U29ja2V0O1xuICAgICAgICB0aGlzLl9uZXh0U29ja2V0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5fcXVldWVTdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIHRoaXMuX3B1c2hRdWV1ZSgpO1xuICAgIH1cbiAgICBfc29ja2V0Q2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLl9zb2NrZXQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NvY2tldC5vbmNsb3NlID0gKCkgPT4ge1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuX3NvY2tldC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9zb2NrZXRTZW5kKHNvY2tldE1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KHNvY2tldE1lc3NhZ2UpO1xuICAgICAgICBpZiAodGhpcy5fc29ja2V0ICYmIHRoaXMuX3NvY2tldC5yZWFkeVN0YXRlID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLl9zb2NrZXQuc2VuZChtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFRvUXVldWUoc29ja2V0TWVzc2FnZSk7XG4gICAgICAgICAgICB0aGlzLl9zb2NrZXRDcmVhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBfc29ja2V0UmVjZWl2ZShldmVudCkge1xuICAgICAgICBsZXQgc29ja2V0TWVzc2FnZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHNvY2tldE1lc3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NvY2tldFNlbmQoe1xuICAgICAgICAgICAgdG9waWM6IHNvY2tldE1lc3NhZ2UudG9waWMsXG4gICAgICAgICAgICB0eXBlOiBcImFja1wiLFxuICAgICAgICAgICAgcGF5bG9hZDogXCJcIixcbiAgICAgICAgICAgIHNpbGVudDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLl9zb2NrZXQgJiYgdGhpcy5fc29ja2V0LnJlYWR5U3RhdGUgPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50cyA9IHRoaXMuX2V2ZW50cy5maWx0ZXIoZXZlbnQgPT4gZXZlbnQuZXZlbnQgPT09IFwibWVzc2FnZVwiKTtcbiAgICAgICAgICAgIGlmIChldmVudHMgJiYgZXZlbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IGV2ZW50LmNhbGxiYWNrKHNvY2tldE1lc3NhZ2UpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBfc29ja2V0RXJyb3IoZSkge1xuICAgICAgICBjb25zdCBldmVudHMgPSB0aGlzLl9ldmVudHMuZmlsdGVyKGV2ZW50ID0+IGV2ZW50LmV2ZW50ID09PSBcImVycm9yXCIpO1xuICAgICAgICBpZiAoZXZlbnRzICYmIGV2ZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IGV2ZW50LmNhbGxiYWNrKGUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfcXVldWVTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gdGhpcy5fc3Vic2NyaXB0aW9ucztcbiAgICAgICAgc3Vic2NyaXB0aW9ucy5mb3JFYWNoKCh0b3BpYykgPT4gdGhpcy5fcXVldWUucHVzaCh7XG4gICAgICAgICAgICB0b3BpYzogdG9waWMsXG4gICAgICAgICAgICB0eXBlOiBcInN1YlwiLFxuICAgICAgICAgICAgcGF5bG9hZDogXCJcIixcbiAgICAgICAgICAgIHNpbGVudDogdHJ1ZSxcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zID0gdGhpcy5vcHRzLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgfVxuICAgIF9zZXRUb1F1ZXVlKHNvY2tldE1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5fcXVldWUucHVzaChzb2NrZXRNZXNzYWdlKTtcbiAgICB9XG4gICAgX3B1c2hRdWV1ZSgpIHtcbiAgICAgICAgY29uc3QgcXVldWUgPSB0aGlzLl9xdWV1ZTtcbiAgICAgICAgcXVldWUuZm9yRWFjaCgoc29ja2V0TWVzc2FnZSkgPT4gdGhpcy5fc29ja2V0U2VuZChzb2NrZXRNZXNzYWdlKSk7XG4gICAgICAgIHRoaXMuX3F1ZXVlID0gW107XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0V2ViU29ja2V0VXJsKF91cmwsIHByb3RvY29sLCB2ZXJzaW9uKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCB1cmwgPSBfdXJsLnN0YXJ0c1dpdGgoXCJodHRwc1wiKVxuICAgICAgICA/IF91cmwucmVwbGFjZShcImh0dHBzXCIsIFwid3NzXCIpXG4gICAgICAgIDogX3VybC5zdGFydHNXaXRoKFwiaHR0cFwiKVxuICAgICAgICAgICAgPyBfdXJsLnJlcGxhY2UoXCJodHRwXCIsIFwid3NcIilcbiAgICAgICAgICAgIDogX3VybDtcbiAgICBjb25zdCBzcGxpdFVybCA9IHVybC5zcGxpdChcIj9cIik7XG4gICAgY29uc3QgcGFyYW1zID0gaXNCcm93c2VyKClcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwcm90b2NvbCxcbiAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICBlbnY6IFwiYnJvd3NlclwiLFxuICAgICAgICAgICAgaG9zdDogKChfYSA9IGdldExvY2F0aW9uKCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5ob3N0KSB8fCBcIlwiLFxuICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgcHJvdG9jb2wsXG4gICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgZW52OiAoKF9iID0gZGV0ZWN0RW52KCkpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCBcIlwiLFxuICAgICAgICB9O1xuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYXBwZW5kVG9RdWVyeVN0cmluZyhnZXRRdWVyeVN0cmluZyhzcGxpdFVybFsxXSB8fCBcIlwiKSwgcGFyYW1zKTtcbiAgICByZXR1cm4gc3BsaXRVcmxbMF0gKyBcIj9cIiArIHF1ZXJ5U3RyaW5nO1xufVxuZXhwb3J0IGRlZmF1bHQgU29ja2V0VHJhbnNwb3J0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c29ja2V0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/socket.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/storage.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/storage.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\n\nclass SessionStorage {\n constructor(storageId = \"walletconnect\") {\n this.storageId = storageId;\n }\n getSession() {\n let session = null;\n const json = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.getLocal)(this.storageId);\n if (json && (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.isWalletConnectSession)(json)) {\n session = json;\n }\n return session;\n }\n setSession(session) {\n (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.setLocal)(this.storageId, session);\n return session;\n }\n removeSession() {\n (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_0__.removeLocal)(this.storageId);\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (SessionStorage);\n//# sourceMappingURL=storage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9zdG9yYWdlLmpzIiwibWFwcGluZ3MiOiI7O0FBQXVHO0FBQ3ZHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixxRUFBUTtBQUM3QixvQkFBb0IsbUZBQXNCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLHFFQUFRO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBLFFBQVEsd0VBQVc7QUFDbkI7QUFDQTtBQUNBLCtEQUFlLGNBQWMsRUFBQztBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS9zdG9yYWdlLmpzPzUzMjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNXYWxsZXRDb25uZWN0U2Vzc2lvbiwgZ2V0TG9jYWwsIHNldExvY2FsLCByZW1vdmVMb2NhbCwgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzXCI7XG5jbGFzcyBTZXNzaW9uU3RvcmFnZSB7XG4gICAgY29uc3RydWN0b3Ioc3RvcmFnZUlkID0gXCJ3YWxsZXRjb25uZWN0XCIpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlSWQgPSBzdG9yYWdlSWQ7XG4gICAgfVxuICAgIGdldFNlc3Npb24oKSB7XG4gICAgICAgIGxldCBzZXNzaW9uID0gbnVsbDtcbiAgICAgICAgY29uc3QganNvbiA9IGdldExvY2FsKHRoaXMuc3RvcmFnZUlkKTtcbiAgICAgICAgaWYgKGpzb24gJiYgaXNXYWxsZXRDb25uZWN0U2Vzc2lvbihqc29uKSkge1xuICAgICAgICAgICAgc2Vzc2lvbiA9IGpzb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlc3Npb247XG4gICAgfVxuICAgIHNldFNlc3Npb24oc2Vzc2lvbikge1xuICAgICAgICBzZXRMb2NhbCh0aGlzLnN0b3JhZ2VJZCwgc2Vzc2lvbik7XG4gICAgICAgIHJldHVybiBzZXNzaW9uO1xuICAgIH1cbiAgICByZW1vdmVTZXNzaW9uKCkge1xuICAgICAgICByZW1vdmVMb2NhbCh0aGlzLnN0b3JhZ2VJZCk7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgU2Vzc2lvblN0b3JhZ2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdG9yYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/storage.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-client/dist/esm/url.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-client/dist/esm/url.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ extractHostname: function() { return /* binding */ extractHostname; },\n/* harmony export */ extractRootDomain: function() { return /* binding */ extractRootDomain; },\n/* harmony export */ getBridgeUrl: function() { return /* binding */ getBridgeUrl; },\n/* harmony export */ randomBridgeIndex: function() { return /* binding */ randomBridgeIndex; },\n/* harmony export */ selectRandomBridgeUrl: function() { return /* binding */ selectRandomBridgeUrl; },\n/* harmony export */ shouldSelectRandomly: function() { return /* binding */ shouldSelectRandomly; }\n/* harmony export */ });\nconst domain = \"walletconnect.org\";\nconst alphanumerical = \"abcdefghijklmnopqrstuvwxyz0123456789\";\nconst bridges = alphanumerical.split(\"\").map(char => `https://${char}.bridge.walletconnect.org`);\nfunction extractHostname(url) {\n let hostname = url.indexOf(\"//\") > -1 ? url.split(\"/\")[2] : url.split(\"/\")[0];\n hostname = hostname.split(\":\")[0];\n hostname = hostname.split(\"?\")[0];\n return hostname;\n}\nfunction extractRootDomain(url) {\n return extractHostname(url)\n .split(\".\")\n .slice(-2)\n .join(\".\");\n}\nfunction randomBridgeIndex() {\n return Math.floor(Math.random() * bridges.length);\n}\nfunction selectRandomBridgeUrl() {\n return bridges[randomBridgeIndex()];\n}\nfunction shouldSelectRandomly(url) {\n return extractRootDomain(url) === domain;\n}\nfunction getBridgeUrl(url) {\n if (shouldSelectRandomly(url)) {\n return selectRandomBridgeUrl();\n }\n return url;\n}\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LWNsaWVudC9kaXN0L2VzbS91cmwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBLGdFQUFnRSxLQUFLO0FBQzlEO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktY2xpZW50L2Rpc3QvZXNtL3VybC5qcz9jYTI1Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGRvbWFpbiA9IFwid2FsbGV0Y29ubmVjdC5vcmdcIjtcbmNvbnN0IGFscGhhbnVtZXJpY2FsID0gXCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODlcIjtcbmNvbnN0IGJyaWRnZXMgPSBhbHBoYW51bWVyaWNhbC5zcGxpdChcIlwiKS5tYXAoY2hhciA9PiBgaHR0cHM6Ly8ke2NoYXJ9LmJyaWRnZS53YWxsZXRjb25uZWN0Lm9yZ2ApO1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RIb3N0bmFtZSh1cmwpIHtcbiAgICBsZXQgaG9zdG5hbWUgPSB1cmwuaW5kZXhPZihcIi8vXCIpID4gLTEgPyB1cmwuc3BsaXQoXCIvXCIpWzJdIDogdXJsLnNwbGl0KFwiL1wiKVswXTtcbiAgICBob3N0bmFtZSA9IGhvc3RuYW1lLnNwbGl0KFwiOlwiKVswXTtcbiAgICBob3N0bmFtZSA9IGhvc3RuYW1lLnNwbGl0KFwiP1wiKVswXTtcbiAgICByZXR1cm4gaG9zdG5hbWU7XG59XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFJvb3REb21haW4odXJsKSB7XG4gICAgcmV0dXJuIGV4dHJhY3RIb3N0bmFtZSh1cmwpXG4gICAgICAgIC5zcGxpdChcIi5cIilcbiAgICAgICAgLnNsaWNlKC0yKVxuICAgICAgICAuam9pbihcIi5cIik7XG59XG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tQnJpZGdlSW5kZXgoKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGJyaWRnZXMubGVuZ3RoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RSYW5kb21CcmlkZ2VVcmwoKSB7XG4gICAgcmV0dXJuIGJyaWRnZXNbcmFuZG9tQnJpZGdlSW5kZXgoKV07XG59XG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkU2VsZWN0UmFuZG9tbHkodXJsKSB7XG4gICAgcmV0dXJuIGV4dHJhY3RSb290RG9tYWluKHVybCkgPT09IGRvbWFpbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRCcmlkZ2VVcmwodXJsKSB7XG4gICAgaWYgKHNob3VsZFNlbGVjdFJhbmRvbWx5KHVybCkpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdFJhbmRvbUJyaWRnZVVybCgpO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-client/dist/esm/url.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-modal/dist/cjs/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-modal/dist/cjs/index.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar legacyUtils = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\nvar QRCode = _interopDefault(__webpack_require__(/*! qrcode */ \"./node_modules/qrcode/lib/browser.js\"));\nvar copy = _interopDefault(__webpack_require__(/*! copy-to-clipboard */ \"./node_modules/copy-to-clipboard/index.js\"));\nvar React = __webpack_require__(/*! preact/compat */ \"./node_modules/preact/compat/dist/compat.module.js\");\n\nfunction open(uri) {\n QRCode.toString(uri, {\n type: \"terminal\"\n }).then(console.log);\n}\n\nvar WALLETCONNECT_STYLE_SHEET = \":root {\\n --animation-duration: 300ms;\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeOut {\\n from {\\n opacity: 1;\\n }\\n to {\\n opacity: 0;\\n }\\n}\\n\\n.animated {\\n animation-duration: var(--animation-duration);\\n animation-fill-mode: both;\\n}\\n\\n.fadeIn {\\n animation-name: fadeIn;\\n}\\n\\n.fadeOut {\\n animation-name: fadeOut;\\n}\\n\\n#walletconnect-wrapper {\\n -webkit-user-select: none;\\n align-items: center;\\n display: flex;\\n height: 100%;\\n justify-content: center;\\n left: 0;\\n pointer-events: none;\\n position: fixed;\\n top: 0;\\n user-select: none;\\n width: 100%;\\n z-index: 99999999999999;\\n}\\n\\n.walletconnect-modal__headerLogo {\\n height: 21px;\\n}\\n\\n.walletconnect-modal__header p {\\n color: #ffffff;\\n font-size: 20px;\\n font-weight: 600;\\n margin: 0;\\n align-items: flex-start;\\n display: flex;\\n flex: 1;\\n margin-left: 5px;\\n}\\n\\n.walletconnect-modal__close__wrapper {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n z-index: 10000;\\n background: white;\\n border-radius: 26px;\\n padding: 6px;\\n box-sizing: border-box;\\n width: 26px;\\n height: 26px;\\n cursor: pointer;\\n}\\n\\n.walletconnect-modal__close__icon {\\n position: relative;\\n top: 7px;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n transform: rotate(45deg);\\n}\\n\\n.walletconnect-modal__close__line1 {\\n position: absolute;\\n width: 100%;\\n border: 1px solid rgb(48, 52, 59);\\n}\\n\\n.walletconnect-modal__close__line2 {\\n position: absolute;\\n width: 100%;\\n border: 1px solid rgb(48, 52, 59);\\n transform: rotate(90deg);\\n}\\n\\n.walletconnect-qrcode__base {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n background: rgba(37, 41, 46, 0.95);\\n height: 100%;\\n left: 0;\\n pointer-events: auto;\\n position: fixed;\\n top: 0;\\n transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);\\n width: 100%;\\n will-change: opacity;\\n padding: 40px;\\n box-sizing: border-box;\\n}\\n\\n.walletconnect-qrcode__text {\\n color: rgba(60, 66, 82, 0.6);\\n font-size: 16px;\\n font-weight: 600;\\n letter-spacing: 0;\\n line-height: 1.1875em;\\n margin: 10px 0 20px 0;\\n text-align: center;\\n width: 100%;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .walletconnect-qrcode__text {\\n font-size: 4vw;\\n }\\n}\\n\\n@media only screen and (max-width: 320px) {\\n .walletconnect-qrcode__text {\\n font-size: 14px;\\n }\\n}\\n\\n.walletconnect-qrcode__image {\\n width: calc(100% - 30px);\\n box-sizing: border-box;\\n cursor: none;\\n margin: 0 auto;\\n}\\n\\n.walletconnect-qrcode__notification {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n font-size: 16px;\\n padding: 16px 20px;\\n border-radius: 16px;\\n text-align: center;\\n transition: all 0.1s ease-in-out;\\n background: white;\\n color: black;\\n margin-bottom: -60px;\\n opacity: 0;\\n}\\n\\n.walletconnect-qrcode__notification.notification__show {\\n opacity: 1;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .walletconnect-modal__header {\\n height: 130px;\\n }\\n .walletconnect-modal__base {\\n overflow: auto;\\n }\\n}\\n\\n@media only screen and (min-device-width: 415px) and (max-width: 768px) {\\n #content {\\n max-width: 768px;\\n box-sizing: border-box;\\n }\\n}\\n\\n@media only screen and (min-width: 375px) and (max-width: 415px) {\\n #content {\\n max-width: 414px;\\n box-sizing: border-box;\\n }\\n}\\n\\n@media only screen and (min-width: 320px) and (max-width: 375px) {\\n #content {\\n max-width: 375px;\\n box-sizing: border-box;\\n }\\n}\\n\\n@media only screen and (max-width: 320px) {\\n #content {\\n max-width: 320px;\\n box-sizing: border-box;\\n }\\n}\\n\\n.walletconnect-modal__base {\\n -webkit-font-smoothing: antialiased;\\n background: #ffffff;\\n border-radius: 24px;\\n box-shadow: 0 10px 50px 5px rgba(0, 0, 0, 0.4);\\n font-family: ui-rounded, \\\"SF Pro Rounded\\\", \\\"SF Pro Text\\\", medium-content-sans-serif-font,\\n -apple-system, BlinkMacSystemFont, ui-sans-serif, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell,\\n \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n margin-top: 41px;\\n padding: 24px 24px 22px;\\n pointer-events: auto;\\n position: relative;\\n text-align: center;\\n transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);\\n will-change: transform;\\n overflow: visible;\\n transform: translateY(-50%);\\n top: 50%;\\n max-width: 500px;\\n margin: auto;\\n}\\n\\n@media only screen and (max-width: 320px) {\\n .walletconnect-modal__base {\\n padding: 24px 12px;\\n }\\n}\\n\\n.walletconnect-modal__base .hidden {\\n transform: translateY(150%);\\n transition: 0.125s cubic-bezier(0.4, 0, 1, 1);\\n}\\n\\n.walletconnect-modal__header {\\n align-items: center;\\n display: flex;\\n height: 26px;\\n left: 0;\\n justify-content: space-between;\\n position: absolute;\\n top: -42px;\\n width: 100%;\\n}\\n\\n.walletconnect-modal__base .wc-logo {\\n align-items: center;\\n display: flex;\\n height: 26px;\\n margin-top: 15px;\\n padding-bottom: 15px;\\n pointer-events: auto;\\n}\\n\\n.walletconnect-modal__base .wc-logo div {\\n background-color: #3399ff;\\n height: 21px;\\n margin-right: 5px;\\n mask-image: url(\\\"images/wc-logo.svg\\\") center no-repeat;\\n width: 32px;\\n}\\n\\n.walletconnect-modal__base .wc-logo p {\\n color: #ffffff;\\n font-size: 20px;\\n font-weight: 600;\\n margin: 0;\\n}\\n\\n.walletconnect-modal__base h2 {\\n color: rgba(60, 66, 82, 0.6);\\n font-size: 16px;\\n font-weight: 600;\\n letter-spacing: 0;\\n line-height: 1.1875em;\\n margin: 0 0 19px 0;\\n text-align: center;\\n width: 100%;\\n}\\n\\n.walletconnect-modal__base__row {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n align-items: center;\\n border-radius: 20px;\\n cursor: pointer;\\n display: flex;\\n height: 56px;\\n justify-content: space-between;\\n padding: 0 15px;\\n position: relative;\\n margin: 0px 0px 8px;\\n text-align: left;\\n transition: 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94);\\n will-change: transform;\\n text-decoration: none;\\n}\\n\\n.walletconnect-modal__base__row:hover {\\n background: rgba(60, 66, 82, 0.06);\\n}\\n\\n.walletconnect-modal__base__row:active {\\n background: rgba(60, 66, 82, 0.06);\\n transform: scale(0.975);\\n transition: 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);\\n}\\n\\n.walletconnect-modal__base__row__h3 {\\n color: #25292e;\\n font-size: 20px;\\n font-weight: 700;\\n margin: 0;\\n padding-bottom: 3px;\\n}\\n\\n.walletconnect-modal__base__row__right {\\n align-items: center;\\n display: flex;\\n justify-content: center;\\n}\\n\\n.walletconnect-modal__base__row__right__app-icon {\\n border-radius: 8px;\\n height: 34px;\\n margin: 0 11px 2px 0;\\n width: 34px;\\n background-size: 100%;\\n box-shadow: 0 4px 12px 0 rgba(37, 41, 46, 0.25);\\n}\\n\\n.walletconnect-modal__base__row__right__caret {\\n height: 18px;\\n opacity: 0.3;\\n transition: 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);\\n width: 8px;\\n will-change: opacity;\\n}\\n\\n.walletconnect-modal__base__row:hover .caret,\\n.walletconnect-modal__base__row:active .caret {\\n opacity: 0.6;\\n}\\n\\n.walletconnect-modal__mobile__toggle {\\n width: 80%;\\n display: flex;\\n margin: 0 auto;\\n position: relative;\\n overflow: hidden;\\n border-radius: 8px;\\n margin-bottom: 18px;\\n background: #d4d5d9;\\n}\\n\\n.walletconnect-modal__single_wallet {\\n display: flex;\\n justify-content: center;\\n margin-top: 7px;\\n margin-bottom: 18px;\\n}\\n\\n.walletconnect-modal__single_wallet a {\\n cursor: pointer;\\n color: rgb(64, 153, 255);\\n font-size: 21px;\\n font-weight: 800;\\n text-decoration: none !important;\\n margin: 0 auto;\\n}\\n\\n.walletconnect-modal__mobile__toggle_selector {\\n width: calc(50% - 8px);\\n background: white;\\n position: absolute;\\n border-radius: 5px;\\n height: calc(100% - 8px);\\n top: 4px;\\n transition: all 0.2s ease-in-out;\\n transform: translate3d(4px, 0, 0);\\n}\\n\\n.walletconnect-modal__mobile__toggle.right__selected .walletconnect-modal__mobile__toggle_selector {\\n transform: translate3d(calc(100% + 12px), 0, 0);\\n}\\n\\n.walletconnect-modal__mobile__toggle a {\\n font-size: 12px;\\n width: 50%;\\n text-align: center;\\n padding: 8px;\\n margin: 0;\\n font-weight: 600;\\n z-index: 1;\\n}\\n\\n.walletconnect-modal__footer {\\n display: flex;\\n justify-content: center;\\n margin-top: 20px;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .walletconnect-modal__footer {\\n margin-top: 5vw;\\n }\\n}\\n\\n.walletconnect-modal__footer a {\\n cursor: pointer;\\n color: #898d97;\\n font-size: 15px;\\n margin: 0 auto;\\n}\\n\\n@media only screen and (max-width: 320px) {\\n .walletconnect-modal__footer a {\\n font-size: 14px;\\n }\\n}\\n\\n.walletconnect-connect__buttons__wrapper {\\n max-height: 44vh;\\n}\\n\\n.walletconnect-connect__buttons__wrapper__android {\\n margin: 50% 0;\\n}\\n\\n.walletconnect-connect__buttons__wrapper__wrap {\\n display: grid;\\n grid-template-columns: repeat(4, 1fr);\\n margin: 10px 0;\\n}\\n\\n@media only screen and (min-width: 768px) {\\n .walletconnect-connect__buttons__wrapper__wrap {\\n margin-top: 40px;\\n }\\n}\\n\\n.walletconnect-connect__button {\\n background-color: rgb(64, 153, 255);\\n padding: 12px;\\n border-radius: 8px;\\n text-decoration: none;\\n color: rgb(255, 255, 255);\\n font-weight: 500;\\n}\\n\\n.walletconnect-connect__button__icon_anchor {\\n cursor: pointer;\\n display: flex;\\n justify-content: flex-start;\\n align-items: center;\\n margin: 8px;\\n width: 42px;\\n justify-self: center;\\n flex-direction: column;\\n text-decoration: none !important;\\n}\\n\\n@media only screen and (max-width: 320px) {\\n .walletconnect-connect__button__icon_anchor {\\n margin: 4px;\\n }\\n}\\n\\n.walletconnect-connect__button__icon {\\n border-radius: 10px;\\n height: 42px;\\n margin: 0;\\n width: 42px;\\n background-size: cover !important;\\n box-shadow: 0 4px 12px 0 rgba(37, 41, 46, 0.25);\\n}\\n\\n.walletconnect-connect__button__text {\\n color: #424952;\\n font-size: 2.7vw;\\n text-decoration: none !important;\\n padding: 0;\\n margin-top: 1.8vw;\\n font-weight: 600;\\n}\\n\\n@media only screen and (min-width: 768px) {\\n .walletconnect-connect__button__text {\\n font-size: 16px;\\n margin-top: 12px;\\n }\\n}\\n\\n.walletconnect-search__input {\\n border: none;\\n background: #d4d5d9;\\n border-style: none;\\n padding: 8px 16px;\\n outline: none;\\n font-style: normal;\\n font-stretch: normal;\\n font-size: 16px;\\n font-style: normal;\\n font-stretch: normal;\\n line-height: normal;\\n letter-spacing: normal;\\n text-align: left;\\n border-radius: 8px;\\n width: calc(100% - 16px);\\n margin: 0;\\n margin-bottom: 8px;\\n}\\n\";\n\n// A type of promise-like that resolves synchronously and supports only one observer\nvar _iteratorSymbol = /*#__PURE__*/typeof Symbol !== \"undefined\" ? Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\")) : \"@@iterator\";\nvar _asyncIteratorSymbol = /*#__PURE__*/typeof Symbol !== \"undefined\" ? Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\")) : \"@@asyncIterator\";\n\n// Asynchronously call a function and send errors to recovery continuation\nfunction _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n return result;\n}\n\nvar WALLETCONNECT_LOGO_SVG_URL = \"data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E %3Csvg width='300px' height='185px' viewBox='0 0 300 185' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch --%3E %3Ctitle%3EWalletConnect%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cdefs%3E%3C/defs%3E %3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cg id='walletconnect-logo-alt' fill='%233B99FC' fill-rule='nonzero'%3E %3Cpath d='M61.4385429,36.2562612 C110.349767,-11.6319051 189.65053,-11.6319051 238.561752,36.2562612 L244.448297,42.0196786 C246.893858,44.4140867 246.893858,48.2961898 244.448297,50.690599 L224.311602,70.406102 C223.088821,71.6033071 221.106302,71.6033071 219.883521,70.406102 L211.782937,62.4749541 C177.661245,29.0669724 122.339051,29.0669724 88.2173582,62.4749541 L79.542302,70.9685592 C78.3195204,72.1657633 76.337001,72.1657633 75.1142214,70.9685592 L54.9775265,51.2530561 C52.5319653,48.8586469 52.5319653,44.9765439 54.9775265,42.5821357 L61.4385429,36.2562612 Z M280.206339,77.0300061 L298.128036,94.5769031 C300.573585,96.9713 300.573599,100.85338 298.128067,103.247793 L217.317896,182.368927 C214.872352,184.763353 210.907314,184.76338 208.461736,182.368989 C208.461726,182.368979 208.461714,182.368967 208.461704,182.368957 L151.107561,126.214385 C150.496171,125.615783 149.504911,125.615783 148.893521,126.214385 C148.893517,126.214389 148.893514,126.214393 148.89351,126.214396 L91.5405888,182.368927 C89.095052,184.763359 85.1300133,184.763399 82.6844276,182.369014 C82.6844133,182.369 82.684398,182.368986 82.6843827,182.36897 L1.87196327,103.246785 C-0.573596939,100.852377 -0.573596939,96.9702735 1.87196327,94.5758653 L19.7936929,77.028998 C22.2392531,74.6345898 26.2042918,74.6345898 28.6498531,77.028998 L86.0048306,133.184355 C86.6162214,133.782957 87.6074796,133.782957 88.2188704,133.184355 C88.2188796,133.184346 88.2188878,133.184338 88.2188969,133.184331 L145.571,77.028998 C148.016505,74.6345347 151.981544,74.6344449 154.427161,77.028798 C154.427195,77.0288316 154.427229,77.0288653 154.427262,77.028899 L211.782164,133.184331 C212.393554,133.782932 213.384814,133.782932 213.996204,133.184331 L271.350179,77.0300061 C273.79574,74.6355969 277.760778,74.6355969 280.206339,77.0300061 Z' id='WalletConnect'%3E%3C/path%3E %3C/g%3E %3C/g%3E %3C/svg%3E\";\n\nvar WALLETCONNECT_HEADER_TEXT = \"WalletConnect\";\nvar ANIMATION_DURATION = 300;\nvar DEFAULT_BUTTON_COLOR = \"rgb(64, 153, 255)\";\nvar WALLETCONNECT_WRAPPER_ID = \"walletconnect-wrapper\";\nvar WALLETCONNECT_STYLE_ID = \"walletconnect-style-sheet\";\nvar WALLETCONNECT_MODAL_ID = \"walletconnect-qrcode-modal\";\nvar WALLETCONNECT_CLOSE_BUTTON_ID = \"walletconnect-qrcode-close\";\nvar WALLETCONNECT_CTA_TEXT_ID = \"walletconnect-qrcode-text\";\nvar WALLETCONNECT_CONNECT_BUTTON_ID = \"walletconnect-connect-button\";\n\nfunction Header(props) {\n return React.createElement(\"div\", {\n className: \"walletconnect-modal__header\"\n }, React.createElement(\"img\", {\n src: WALLETCONNECT_LOGO_SVG_URL,\n className: \"walletconnect-modal__headerLogo\"\n }), React.createElement(\"p\", null, WALLETCONNECT_HEADER_TEXT), React.createElement(\"div\", {\n className: \"walletconnect-modal__close__wrapper\",\n onClick: props.onClose\n }, React.createElement(\"div\", {\n id: WALLETCONNECT_CLOSE_BUTTON_ID,\n className: \"walletconnect-modal__close__icon\"\n }, React.createElement(\"div\", {\n className: \"walletconnect-modal__close__line1\"\n }), React.createElement(\"div\", {\n className: \"walletconnect-modal__close__line2\"\n }))));\n}\n\nfunction ConnectButton(props) {\n return React.createElement(\"a\", {\n className: \"walletconnect-connect__button\",\n href: props.href,\n id: (WALLETCONNECT_CONNECT_BUTTON_ID + \"-\" + (props.name)),\n onClick: props.onClick,\n rel: \"noopener noreferrer\",\n style: {\n backgroundColor: props.color\n },\n target: \"_blank\"\n }, props.name);\n}\n\nvar CARET_SVG_URL = \"data:image/svg+xml,%3Csvg width='8' height='18' viewBox='0 0 8 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.586301 0.213898C0.150354 0.552968 0.0718197 1.18124 0.41089 1.61719L5.2892 7.88931C5.57007 8.25042 5.57007 8.75608 5.2892 9.11719L0.410889 15.3893C0.071819 15.8253 0.150353 16.4535 0.586301 16.7926C1.02225 17.1317 1.65052 17.0531 1.98959 16.6172L6.86791 10.3451C7.7105 9.26174 7.7105 7.74476 6.86791 6.66143L1.98959 0.38931C1.65052 -0.0466374 1.02225 -0.125172 0.586301 0.213898Z' fill='%233C4252'/%3E %3C/svg%3E\";\n\nfunction WalletButton(props) {\n var color = props.color;\n var href = props.href;\n var name = props.name;\n var logo = props.logo;\n var onClick = props.onClick;\n return React.createElement(\"a\", {\n className: \"walletconnect-modal__base__row\",\n href: href,\n onClick: onClick,\n rel: \"noopener noreferrer\",\n target: \"_blank\"\n }, React.createElement(\"h3\", {\n className: \"walletconnect-modal__base__row__h3\"\n }, name), React.createElement(\"div\", {\n className: \"walletconnect-modal__base__row__right\"\n }, React.createElement(\"div\", {\n className: \"walletconnect-modal__base__row__right__app-icon\",\n style: {\n background: (\"url('\" + logo + \"') \" + color),\n backgroundSize: \"100%\"\n }\n }), React.createElement(\"img\", {\n src: CARET_SVG_URL,\n className: \"walletconnect-modal__base__row__right__caret\"\n })));\n}\n\nfunction WalletIcon(props) {\n var color = props.color;\n var href = props.href;\n var name = props.name;\n var logo = props.logo;\n var onClick = props.onClick;\n var fontSize = window.innerWidth < 768 ? ((name.length > 8 ? 2.5 : 2.7) + \"vw\") : \"inherit\";\n return React.createElement(\"a\", {\n className: \"walletconnect-connect__button__icon_anchor\",\n href: href,\n onClick: onClick,\n rel: \"noopener noreferrer\",\n target: \"_blank\"\n }, React.createElement(\"div\", {\n className: \"walletconnect-connect__button__icon\",\n style: {\n background: (\"url('\" + logo + \"') \" + color),\n backgroundSize: \"100%\"\n }\n }), React.createElement(\"div\", {\n style: {\n fontSize: fontSize\n },\n className: \"walletconnect-connect__button__text\"\n }, name));\n}\n\nvar GRID_MIN_COUNT = 5;\nvar LINKS_PER_PAGE = 12;\nfunction LinkDisplay(props) {\n var android = legacyUtils.isAndroid();\n var ref = React.useState(\"\");\n var input = ref[0];\n var setInput = ref[1];\n var ref$1 = React.useState(\"\");\n var filter = ref$1[0];\n var setFilter = ref$1[1];\n var ref$2 = React.useState(1);\n var page = ref$2[0];\n var setPage = ref$2[1];\n var links = filter ? props.links.filter(function (link) { return link.name.toLowerCase().includes(filter.toLowerCase()); }) : props.links;\n var errorMessage = props.errorMessage;\n var grid = filter || links.length > GRID_MIN_COUNT;\n var pages = Math.ceil(links.length / LINKS_PER_PAGE);\n var range = [(page - 1) * LINKS_PER_PAGE + 1, page * LINKS_PER_PAGE];\n var pageLinks = links.length ? links.filter(function (_, index) { return index + 1 >= range[0] && index + 1 <= range[1]; }) : [];\n var hasPaging = !!(!android && pages > 1);\n var filterTimeout = undefined;\n function handleInput(e) {\n setInput(e.target.value);\n clearTimeout(filterTimeout);\n if (e.target.value) {\n filterTimeout = setTimeout(function () {\n setFilter(e.target.value);\n setPage(1);\n }, 1000);\n } else {\n setInput(\"\");\n setFilter(\"\");\n setPage(1);\n }\n }\n return React.createElement(\"div\", null, React.createElement(\"p\", {\n id: WALLETCONNECT_CTA_TEXT_ID,\n className: \"walletconnect-qrcode__text\"\n }, android ? props.text.connect_mobile_wallet : props.text.choose_preferred_wallet), !android && React.createElement(\"input\", {\n className: \"walletconnect-search__input\",\n placeholder: \"Search\",\n value: input,\n onChange: handleInput\n }), React.createElement(\"div\", {\n className: (\"walletconnect-connect__buttons__wrapper\" + (android ? \"__android\" : grid && links.length ? \"__wrap\" : \"\"))\n }, !android ? pageLinks.length ? pageLinks.map(function (entry) {\n var color = entry.color;\n var name = entry.name;\n var shortName = entry.shortName;\n var logo = entry.logo;\n var href = legacyUtils.formatIOSMobile(props.uri, entry);\n var handleClickIOS = React.useCallback(function () {\n legacyUtils.saveMobileLinkInfo({\n name: name,\n href: href\n });\n }, [pageLinks]);\n return !grid ? React.createElement(WalletButton, {\n color: color,\n href: href,\n name: name,\n logo: logo,\n onClick: handleClickIOS\n }) : React.createElement(WalletIcon, {\n color: color,\n href: href,\n name: shortName || name,\n logo: logo,\n onClick: handleClickIOS\n });\n }) : React.createElement(React.Fragment, null, React.createElement(\"p\", null, errorMessage.length ? props.errorMessage : !!props.links.length && !links.length ? props.text.no_wallets_found : props.text.loading)) : React.createElement(ConnectButton, {\n name: props.text.connect,\n color: DEFAULT_BUTTON_COLOR,\n href: props.uri,\n onClick: React.useCallback(function () {\n legacyUtils.saveMobileLinkInfo({\n name: \"Unknown\",\n href: props.uri\n });\n }, [])\n })), hasPaging && React.createElement(\"div\", {\n className: \"walletconnect-modal__footer\"\n }, Array(pages).fill(0).map(function (_, index) {\n var pageNumber = index + 1;\n var selected = page === pageNumber;\n return React.createElement(\"a\", {\n style: {\n margin: \"auto 10px\",\n fontWeight: selected ? \"bold\" : \"normal\"\n },\n onClick: function () { return setPage(pageNumber); }\n }, pageNumber);\n })));\n}\n\nfunction Notification(props) {\n var show = !!props.message.trim();\n return React.createElement(\"div\", {\n className: (\"walletconnect-qrcode__notification\" + (show ? \" notification__show\" : \"\"))\n }, props.message);\n}\n\nvar formatQRCodeImage = function (data) {\n try {\n var result = \"\";\n return Promise.resolve(QRCode.toString(data, {\n margin: 0,\n type: \"svg\"\n })).then(function (dataString) {\n if (typeof dataString === \"string\") {\n result = dataString.replace(\"<svg\", \"<svg class=\\\"walletconnect-qrcode__image\\\"\");\n }\n return result;\n });\n } catch (e) {\n return Promise.reject(e);\n }\n};\nfunction QRCodeDisplay(props) {\n var ref = React.useState(\"\");\n var notification = ref[0];\n var setNotification = ref[1];\n var ref$1 = React.useState(\"\");\n var svg = ref$1[0];\n var setSvg = ref$1[1];\n React.useEffect(function () {\n try {\n return Promise.resolve(formatQRCodeImage(props.uri)).then(function (_formatQRCodeImage) {\n setSvg(_formatQRCodeImage);\n });\n } catch (e) {\n Promise.reject(e);\n }\n }, []);\n var copyToClipboard = function () {\n var success = copy(props.uri);\n if (success) {\n setNotification(props.text.copied_to_clipboard);\n setInterval(function () { return setNotification(\"\"); }, 1200);\n } else {\n setNotification(\"Error\");\n setInterval(function () { return setNotification(\"\"); }, 1200);\n }\n };\n return React.createElement(\"div\", null, React.createElement(\"p\", {\n id: WALLETCONNECT_CTA_TEXT_ID,\n className: \"walletconnect-qrcode__text\"\n }, props.text.scan_qrcode_with_wallet), React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: svg\n }\n }), React.createElement(\"div\", {\n className: \"walletconnect-modal__footer\"\n }, React.createElement(\"a\", {\n onClick: copyToClipboard\n }, props.text.copy_to_clipboard)), React.createElement(Notification, {\n message: notification\n }));\n}\n\nfunction Modal(props) {\n var android = legacyUtils.isAndroid();\n var mobile = legacyUtils.isMobile();\n var whitelist = mobile ? props.qrcodeModalOptions && props.qrcodeModalOptions.mobileLinks ? props.qrcodeModalOptions.mobileLinks : undefined : props.qrcodeModalOptions && props.qrcodeModalOptions.desktopLinks ? props.qrcodeModalOptions.desktopLinks : undefined;\n var ref = React.useState(false);\n var loading = ref[0];\n var setLoading = ref[1];\n var ref$1 = React.useState(false);\n var fetched = ref$1[0];\n var setFetched = ref$1[1];\n var ref$2 = React.useState(!mobile);\n var displayQRCode = ref$2[0];\n var setDisplayQRCode = ref$2[1];\n var displayProps = {\n mobile: mobile,\n text: props.text,\n uri: props.uri,\n qrcodeModalOptions: props.qrcodeModalOptions\n };\n var ref$3 = React.useState(\"\");\n var singleLinkHref = ref$3[0];\n var setSingleLinkHref = ref$3[1];\n var ref$4 = React.useState(false);\n var hasSingleLink = ref$4[0];\n var setHasSingleLink = ref$4[1];\n var ref$5 = React.useState([]);\n var links = ref$5[0];\n var setLinks = ref$5[1];\n var ref$6 = React.useState(\"\");\n var errorMessage = ref$6[0];\n var setErrorMessage = ref$6[1];\n var getLinksIfNeeded = function () {\n if (fetched || loading || whitelist && !whitelist.length || links.length > 0) {\n return;\n }\n React.useEffect(function () {\n var initLinks = function () {\n try {\n if (android) { return Promise.resolve(); }\n setLoading(true);\n var _temp = _catch(function () {\n var url = props.qrcodeModalOptions && props.qrcodeModalOptions.registryUrl ? props.qrcodeModalOptions.registryUrl : legacyUtils.getWalletRegistryUrl();\n return Promise.resolve(fetch(url)).then(function (registryResponse) {\n return Promise.resolve(registryResponse.json()).then(function (_registryResponse$jso) {\n var registry = _registryResponse$jso.listings;\n var platform = mobile ? \"mobile\" : \"desktop\";\n var _links = legacyUtils.getMobileLinkRegistry(legacyUtils.formatMobileRegistry(registry, platform), whitelist);\n setLoading(false);\n setFetched(true);\n setErrorMessage(!_links.length ? props.text.no_supported_wallets : \"\");\n setLinks(_links);\n var hasSingleLink = _links.length === 1;\n if (hasSingleLink) {\n setSingleLinkHref(legacyUtils.formatIOSMobile(props.uri, _links[0]));\n setDisplayQRCode(true);\n }\n setHasSingleLink(hasSingleLink);\n });\n });\n }, function (e) {\n setLoading(false);\n setFetched(true);\n setErrorMessage(props.text.something_went_wrong);\n console.error(e);\n });\n return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);\n } catch (e) {\n return Promise.reject(e);\n }\n };\n initLinks();\n });\n };\n getLinksIfNeeded();\n var rightSelected = mobile ? displayQRCode : !displayQRCode;\n return React.createElement(\"div\", {\n id: WALLETCONNECT_MODAL_ID,\n className: \"walletconnect-qrcode__base animated fadeIn\"\n }, React.createElement(\"div\", {\n className: \"walletconnect-modal__base\"\n }, React.createElement(Header, {\n onClose: props.onClose\n }), hasSingleLink && displayQRCode ? React.createElement(\"div\", {\n className: \"walletconnect-modal__single_wallet\"\n }, React.createElement(\"a\", {\n onClick: function () { return legacyUtils.saveMobileLinkInfo({\n name: links[0].name,\n href: singleLinkHref\n }); },\n href: singleLinkHref,\n rel: \"noopener noreferrer\",\n target: \"_blank\"\n }, props.text.connect_with + \" \" + (hasSingleLink ? links[0].name : \"\") + \" ›\")) : android || loading || !loading && links.length ? React.createElement(\"div\", {\n className: (\"walletconnect-modal__mobile__toggle\" + (rightSelected ? \" right__selected\" : \"\"))\n }, React.createElement(\"div\", {\n className: \"walletconnect-modal__mobile__toggle_selector\"\n }), mobile ? React.createElement(React.Fragment, null, React.createElement(\"a\", {\n onClick: function () { return (setDisplayQRCode(false), getLinksIfNeeded()); }\n }, props.text.mobile), React.createElement(\"a\", {\n onClick: function () { return setDisplayQRCode(true); }\n }, props.text.qrcode)) : React.createElement(React.Fragment, null, React.createElement(\"a\", {\n onClick: function () { return setDisplayQRCode(true); }\n }, props.text.qrcode), React.createElement(\"a\", {\n onClick: function () { return (setDisplayQRCode(false), getLinksIfNeeded()); }\n }, props.text.desktop))) : null, React.createElement(\"div\", null, displayQRCode || !android && !loading && !links.length ? React.createElement(QRCodeDisplay, Object.assign({}, displayProps)) : React.createElement(LinkDisplay, Object.assign({}, displayProps, {\n links: links,\n errorMessage: errorMessage\n })))));\n}\n\nvar de = {\n choose_preferred_wallet: \"Wähle bevorzugte Wallet\",\n connect_mobile_wallet: \"Verbinde mit Mobile Wallet\",\n scan_qrcode_with_wallet: \"Scanne den QR-code mit einer WalletConnect kompatiblen Wallet\",\n connect: \"Verbinden\",\n qrcode: \"QR-Code\",\n mobile: \"Mobile\",\n desktop: \"Desktop\",\n copy_to_clipboard: \"In die Zwischenablage kopieren\",\n copied_to_clipboard: \"In die Zwischenablage kopiert!\",\n connect_with: \"Verbinden mit Hilfe von\",\n loading: \"Laden...\",\n something_went_wrong: \"Etwas ist schief gelaufen\",\n no_supported_wallets: \"Es gibt noch keine unterstützten Wallet\",\n no_wallets_found: \"keine Wallet gefunden\"\n};\n\nvar en = {\n choose_preferred_wallet: \"Choose your preferred wallet\",\n connect_mobile_wallet: \"Connect to Mobile Wallet\",\n scan_qrcode_with_wallet: \"Scan QR code with a WalletConnect-compatible wallet\",\n connect: \"Connect\",\n qrcode: \"QR Code\",\n mobile: \"Mobile\",\n desktop: \"Desktop\",\n copy_to_clipboard: \"Copy to clipboard\",\n copied_to_clipboard: \"Copied to clipboard!\",\n connect_with: \"Connect with\",\n loading: \"Loading...\",\n something_went_wrong: \"Something went wrong\",\n no_supported_wallets: \"There are no supported wallets yet\",\n no_wallets_found: \"No wallets found\"\n};\n\nvar es = {\n choose_preferred_wallet: \"Elige tu billetera preferida\",\n connect_mobile_wallet: \"Conectar a billetera móvil\",\n scan_qrcode_with_wallet: \"Escanea el código QR con una billetera compatible con WalletConnect\",\n connect: \"Conectar\",\n qrcode: \"Código QR\",\n mobile: \"Móvil\",\n desktop: \"Desktop\",\n copy_to_clipboard: \"Copiar\",\n copied_to_clipboard: \"Copiado!\",\n connect_with: \"Conectar mediante\",\n loading: \"Cargando...\",\n something_went_wrong: \"Algo salió mal\",\n no_supported_wallets: \"Todavía no hay billeteras compatibles\",\n no_wallets_found: \"No se encontraron billeteras\"\n};\n\nvar fr = {\n choose_preferred_wallet: \"Choisissez votre portefeuille préféré\",\n connect_mobile_wallet: \"Se connecter au portefeuille mobile\",\n scan_qrcode_with_wallet: \"Scannez le QR code avec un portefeuille compatible WalletConnect\",\n connect: \"Se connecter\",\n qrcode: \"QR Code\",\n mobile: \"Mobile\",\n desktop: \"Desktop\",\n copy_to_clipboard: \"Copier\",\n copied_to_clipboard: \"Copié!\",\n connect_with: \"Connectez-vous à l'aide de\",\n loading: \"Chargement...\",\n something_went_wrong: \"Quelque chose a mal tourné\",\n no_supported_wallets: \"Il n'y a pas encore de portefeuilles pris en charge\",\n no_wallets_found: \"Aucun portefeuille trouvé\"\n};\n\nvar ko = {\n choose_preferred_wallet: \"원하는 지갑을 선택하세요\",\n connect_mobile_wallet: \"모바일 지갑과 연결\",\n scan_qrcode_with_wallet: \"WalletConnect 지원 지갑에서 QR코드를 스캔하세요\",\n connect: \"연결\",\n qrcode: \"QR 코드\",\n mobile: \"모바일\",\n desktop: \"데스크탑\",\n copy_to_clipboard: \"클립보드에 복사\",\n copied_to_clipboard: \"클립보드에 복사되었습니다!\",\n connect_with: \"와 연결하다\",\n loading: \"로드 중...\",\n something_went_wrong: \"문제가 발생했습니다.\",\n no_supported_wallets: \"아직 지원되는 지갑이 없습니다\",\n no_wallets_found: \"지갑을 찾을 수 없습니다\"\n};\n\nvar pt = {\n choose_preferred_wallet: \"Escolha sua carteira preferida\",\n connect_mobile_wallet: \"Conectar-se à carteira móvel\",\n scan_qrcode_with_wallet: \"Ler o código QR com uma carteira compatível com WalletConnect\",\n connect: \"Conectar\",\n qrcode: \"Código QR\",\n mobile: \"Móvel\",\n desktop: \"Desktop\",\n copy_to_clipboard: \"Copiar\",\n copied_to_clipboard: \"Copiado!\",\n connect_with: \"Ligar por meio de\",\n loading: \"Carregamento...\",\n something_went_wrong: \"Algo correu mal\",\n no_supported_wallets: \"Ainda não há carteiras suportadas\",\n no_wallets_found: \"Nenhuma carteira encontrada\"\n};\n\nvar zh = {\n choose_preferred_wallet: \"选择你的钱包\",\n connect_mobile_wallet: \"连接至移动端钱包\",\n scan_qrcode_with_wallet: \"使用兼容 WalletConnect 的钱包扫描二维码\",\n connect: \"连接\",\n qrcode: \"二维码\",\n mobile: \"移动\",\n desktop: \"桌面\",\n copy_to_clipboard: \"复制到剪贴板\",\n copied_to_clipboard: \"复制到剪贴板成功!\",\n connect_with: \"通过以下方式连接\",\n loading: \"正在加载...\",\n something_went_wrong: \"出了问题\",\n no_supported_wallets: \"目前还没有支持的钱包\",\n no_wallets_found: \"没有找到钱包\"\n};\n\nvar fa = {\n choose_preferred_wallet: \"کیف پول مورد نظر خود را انتخاب کنید\",\n connect_mobile_wallet: \"به کیف پول موبایل وصل شوید\",\n scan_qrcode_with_wallet: \"کد QR را با یک کیف پول سازگار با WalletConnect اسکن کنید\",\n connect: \"اتصال\",\n qrcode: \"کد QR\",\n mobile: \"سیار\",\n desktop: \"دسکتاپ\",\n copy_to_clipboard: \"کپی به کلیپ بورد\",\n copied_to_clipboard: \"در کلیپ بورد کپی شد!\",\n connect_with: \"ارتباط با\",\n loading: \"...بارگذاری\",\n something_went_wrong: \"مشکلی پیش آمد\",\n no_supported_wallets: \"هنوز هیچ کیف پول پشتیبانی شده ای وجود ندارد\",\n no_wallets_found: \"هیچ کیف پولی پیدا نشد\"\n};\n\nvar languages = {\n de: de,\n en: en,\n es: es,\n fr: fr,\n ko: ko,\n pt: pt,\n zh: zh,\n fa: fa\n};\n\nfunction injectStyleSheet() {\n var doc = legacyUtils.getDocumentOrThrow();\n var prev = doc.getElementById(WALLETCONNECT_STYLE_ID);\n if (prev) {\n doc.head.removeChild(prev);\n }\n var style = doc.createElement(\"style\");\n style.setAttribute(\"id\", WALLETCONNECT_STYLE_ID);\n style.innerText = WALLETCONNECT_STYLE_SHEET;\n doc.head.appendChild(style);\n}\nfunction renderWrapper() {\n var doc = legacyUtils.getDocumentOrThrow();\n var wrapper = doc.createElement(\"div\");\n wrapper.setAttribute(\"id\", WALLETCONNECT_WRAPPER_ID);\n doc.body.appendChild(wrapper);\n return wrapper;\n}\nfunction triggerCloseAnimation() {\n var doc = legacyUtils.getDocumentOrThrow();\n var modal = doc.getElementById(WALLETCONNECT_MODAL_ID);\n if (modal) {\n modal.className = modal.className.replace(\"fadeIn\", \"fadeOut\");\n setTimeout(function () {\n var wrapper = doc.getElementById(WALLETCONNECT_WRAPPER_ID);\n if (wrapper) {\n doc.body.removeChild(wrapper);\n }\n }, ANIMATION_DURATION);\n }\n}\nfunction getWrappedCallback(cb) {\n return function () {\n triggerCloseAnimation();\n if (cb) {\n cb();\n }\n };\n}\nfunction getText() {\n var lang = legacyUtils.getNavigatorOrThrow().language.split(\"-\")[0] || \"en\";\n return languages[lang] || languages[\"en\"];\n}\nfunction open$1(uri, cb, qrcodeModalOptions) {\n injectStyleSheet();\n var wrapper = renderWrapper();\n React.render(React.createElement(Modal, {\n text: getText(),\n uri: uri,\n onClose: getWrappedCallback(cb),\n qrcodeModalOptions: qrcodeModalOptions\n }), wrapper);\n}\nfunction close$1() {\n triggerCloseAnimation();\n}\n\nvar isNode = function () { return typeof process !== \"undefined\" && typeof process.versions !== \"undefined\" && typeof process.versions.node !== \"undefined\"; };\nfunction open$2(uri, cb, qrcodeModalOptions) {\n console.log(uri);\n if (isNode()) {\n open(uri);\n } else {\n open$1(uri, cb, qrcodeModalOptions);\n }\n}\nfunction close$2() {\n if (isNode()) ; else {\n close$1();\n }\n}\nvar index = {\n open: open$2,\n close: close$2\n};\n\nmodule.exports = index;\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LW1vZGFsL2Rpc3QvY2pzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQSxnQ0FBZ0M7O0FBRWhDLGtCQUFrQixtQkFBTyxDQUFDLGlHQUE2QjtBQUN2RCw2QkFBNkIsbUJBQU8sQ0FBQyxvREFBUTtBQUM3QywyQkFBMkIsbUJBQU8sQ0FBQyxvRUFBbUI7QUFDdEQsWUFBWSxtQkFBTyxDQUFDLHlFQUFlOztBQUVuQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsd0NBQXdDLGdDQUFnQyxHQUFHLHVCQUF1QixVQUFVLGlCQUFpQixLQUFLLFFBQVEsaUJBQWlCLEtBQUssR0FBRyx3QkFBd0IsVUFBVSxpQkFBaUIsS0FBSyxRQUFRLGlCQUFpQixLQUFLLEdBQUcsZUFBZSxrREFBa0QsOEJBQThCLEdBQUcsYUFBYSwyQkFBMkIsR0FBRyxjQUFjLDRCQUE0QixHQUFHLDRCQUE0Qiw4QkFBOEIsd0JBQXdCLGtCQUFrQixpQkFBaUIsNEJBQTRCLFlBQVkseUJBQXlCLG9CQUFvQixXQUFXLHNCQUFzQixnQkFBZ0IsNEJBQTRCLEdBQUcsc0NBQXNDLGlCQUFpQixHQUFHLG9DQUFvQyxtQkFBbUIsb0JBQW9CLHFCQUFxQixjQUFjLDRCQUE0QixrQkFBa0IsWUFBWSxxQkFBcUIsR0FBRywwQ0FBMEMsdUJBQXVCLGFBQWEsZUFBZSxtQkFBbUIsc0JBQXNCLHdCQUF3QixpQkFBaUIsMkJBQTJCLGdCQUFnQixpQkFBaUIsb0JBQW9CLEdBQUcsdUNBQXVDLHVCQUF1QixhQUFhLGFBQWEsa0JBQWtCLHdCQUF3Qiw0QkFBNEIsNkJBQTZCLEdBQUcsd0NBQXdDLHVCQUF1QixnQkFBZ0Isc0NBQXNDLEdBQUcsd0NBQXdDLHVCQUF1QixnQkFBZ0Isc0NBQXNDLDZCQUE2QixHQUFHLGlDQUFpQyxrREFBa0QsdUNBQXVDLGlCQUFpQixZQUFZLHlCQUF5QixvQkFBb0IsV0FBVyxvREFBb0QsZ0JBQWdCLHlCQUF5Qixr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RztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQsZ0VBQWdFO0FBQzVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0VBQW9FLHdEQUF3RDtBQUM1SDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsNkJBQTZCO0FBQzdCLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLDZCQUE2QjtBQUM3RCxNQUFNO0FBQ047QUFDQSxnQ0FBZ0MsNkJBQTZCO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLGFBQWE7QUFDYixXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsZ0ZBQWdGO0FBQ2hGLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0gsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxLQUFLLElBQUk7QUFDVDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0gsMkJBQTJCO0FBQzNCLEdBQUc7QUFDSCwyQkFBMkI7QUFDM0IsR0FBRztBQUNILDJCQUEyQjtBQUMzQixHQUFHO0FBQ0gsMkJBQTJCO0FBQzNCLEdBQUcsNktBQTZLLG9FQUFvRTtBQUNwUDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJCQUEyQixjQUFjLE9BQU8sMkJBQTJCLE9BQU8sb0NBQW9DLE9BQU87QUFDN0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LW1vZGFsL2Rpc3QvY2pzL2luZGV4LmpzP2U4NDkiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2ludGVyb3BEZWZhdWx0IChleCkgeyByZXR1cm4gKGV4ICYmICh0eXBlb2YgZXggPT09ICdvYmplY3QnKSAmJiAnZGVmYXVsdCcgaW4gZXgpID8gZXhbJ2RlZmF1bHQnXSA6IGV4OyB9XG5cbnZhciBsZWdhY3lVdGlscyA9IHJlcXVpcmUoJ0B3YWxsZXRjb25uZWN0L2xlZ2FjeS11dGlscycpO1xudmFyIFFSQ29kZSA9IF9pbnRlcm9wRGVmYXVsdChyZXF1aXJlKCdxcmNvZGUnKSk7XG52YXIgY29weSA9IF9pbnRlcm9wRGVmYXVsdChyZXF1aXJlKCdjb3B5LXRvLWNsaXBib2FyZCcpKTtcbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3ByZWFjdC9jb21wYXQnKTtcblxuZnVuY3Rpb24gb3Blbih1cmkpIHtcbiAgUVJDb2RlLnRvU3RyaW5nKHVyaSwge1xuICAgIHR5cGU6IFwidGVybWluYWxcIlxuICB9KS50aGVuKGNvbnNvbGUubG9nKTtcbn1cblxudmFyIFdBTExFVENPTk5FQ1RfU1RZTEVfU0hFRVQgPSBcIjpyb290IHtcXG4gIC0tYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcXG59XFxuXFxuQGtleWZyYW1lcyBmYWRlSW4ge1xcbiAgZnJvbSB7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxuICB0byB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxufVxcblxcbkBrZXlmcmFtZXMgZmFkZU91dCB7XFxuICBmcm9tIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIHRvIHtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuXFxuLmFuaW1hdGVkIHtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0aW9uLWR1cmF0aW9uKTtcXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XFxufVxcblxcbi5mYWRlSW4ge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcXG59XFxuXFxuLmZhZGVPdXQge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XFxufVxcblxcbiN3YWxsZXRjb25uZWN0LXdyYXBwZXIge1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBsZWZ0OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19oZWFkZXJMb2dvIHtcXG4gIGhlaWdodDogMjFweDtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciBwIHtcXG4gIGNvbG9yOiAjZmZmZmZmO1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIG1hcmdpbjogMDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXg6IDE7XFxuICBtYXJnaW4tbGVmdDogNXB4O1xcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX3dyYXBwZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwcHg7XFxuICByaWdodDogMHB4O1xcbiAgei1pbmRleDogMTAwMDA7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDI2cHg7XFxuICBwYWRkaW5nOiA2cHg7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6IDI2cHg7XFxuICBoZWlnaHQ6IDI2cHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9faWNvbiB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0b3A6IDdweDtcXG4gIHJpZ2h0OiAwO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX19saW5lMSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYig0OCwgNTIsIDU5KTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX19saW5lMiB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYig0OCwgNTIsIDU5KTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtcXJjb2RlX19iYXNlIHtcXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMzcsIDQxLCA0NiwgMC45NSk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XFxuICBwYWRkaW5nOiA0MHB4O1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0IHtcXG4gIGNvbG9yOiByZ2JhKDYwLCA2NiwgODIsIDAuNik7XFxuICBmb250LXNpemU6IDE2cHg7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XFxuICBsaW5lLWhlaWdodDogMS4xODc1ZW07XFxuICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0IHtcXG4gICAgZm9udC1zaXplOiA0dnc7XFxuICB9XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcXG4gIC53YWxsZXRjb25uZWN0LXFyY29kZV9fdGV4dCB7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gIH1cXG59XFxuXFxuLndhbGxldGNvbm5lY3QtcXJjb2RlX19pbWFnZSB7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgY3Vyc29yOiBub25lO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbi53YWxsZXRjb25uZWN0LXFyY29kZV9fbm90aWZpY2F0aW9uIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIGZvbnQtc2l6ZTogMTZweDtcXG4gIHBhZGRpbmc6IDE2cHggMjBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgbWFyZ2luLWJvdHRvbTogLTYwcHg7XFxuICBvcGFjaXR5OiAwO1xcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1xcmNvZGVfX25vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25fX3Nob3cge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciB7XFxuICAgIGhlaWdodDogMTMwcHg7XFxuICB9XFxuICAud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XFxuICAgIG92ZXJmbG93OiBhdXRvO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA0MTVweCkgYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XFxuICAjY29udGVudCB7XFxuICAgIG1heC13aWR0aDogNzY4cHg7XFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICB9XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIGFuZCAobWF4LXdpZHRoOiA0MTVweCkge1xcbiAgI2NvbnRlbnQge1xcbiAgICBtYXgtd2lkdGg6IDQxNHB4O1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogMzc1cHgpIHtcXG4gICNjb250ZW50IHtcXG4gICAgbWF4LXdpZHRoOiAzNzVweDtcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIH1cXG59XFxuXFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xcbiAgI2NvbnRlbnQge1xcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgfVxcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XFxuICBib3JkZXItcmFkaXVzOiAyNHB4O1xcbiAgYm94LXNoYWRvdzogMCAxMHB4IDUwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcXG4gIGZvbnQtZmFtaWx5OiB1aS1yb3VuZGVkLCBcXFwiU0YgUHJvIFJvdW5kZWRcXFwiLCBcXFwiU0YgUHJvIFRleHRcXFwiLCBtZWRpdW0tY29udGVudC1zYW5zLXNlcmlmLWZvbnQsXFxuICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgdWktc2Fucy1zZXJpZiwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLFxcbiAgICBcXFwiT3BlbiBTYW5zXFxcIiwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIG1hcmdpbi10b3A6IDQxcHg7XFxuICBwYWRkaW5nOiAyNHB4IDI0cHggMjJweDtcXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XFxuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xcbiAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XFxuICB0b3A6IDUwJTtcXG4gIG1heC13aWR0aDogNTAwcHg7XFxuICBtYXJnaW46IGF1dG87XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcXG4gIC53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlIHtcXG4gICAgcGFkZGluZzogMjRweCAxMnB4O1xcbiAgfVxcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAuaGlkZGVuIHtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcXG4gIHRyYW5zaXRpb246IDAuMTI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGhlaWdodDogMjZweDtcXG4gIGxlZnQ6IDA7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IC00MnB4O1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlIC53Yy1sb2dvIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgaGVpZ2h0OiAyNnB4O1xcbiAgbWFyZ2luLXRvcDogMTVweDtcXG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlIC53Yy1sb2dvIGRpdiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM5OWZmO1xcbiAgaGVpZ2h0OiAyMXB4O1xcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XFxuICBtYXNrLWltYWdlOiB1cmwoXFxcImltYWdlcy93Yy1sb2dvLnN2Z1xcXCIpIGNlbnRlciBuby1yZXBlYXQ7XFxuICB3aWR0aDogMzJweDtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2UgLndjLWxvZ28gcCB7XFxuICBjb2xvcjogI2ZmZmZmZjtcXG4gIGZvbnQtc2l6ZTogMjBweDtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlIGgyIHtcXG4gIGNvbG9yOiByZ2JhKDYwLCA2NiwgODIsIDAuNik7XFxuICBmb250LXNpemU6IDE2cHg7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XFxuICBsaW5lLWhlaWdodDogMS4xODc1ZW07XFxuICBtYXJnaW46IDAgMCAxOXB4IDA7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3JvdyB7XFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDU2cHg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiAwIDE1cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtYXJnaW46IDBweCAwcHggOHB4O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIHRyYW5zaXRpb246IDAuMTVzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcXG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3c6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogcmdiYSg2MCwgNjYsIDgyLCAwLjA2KTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3JvdzphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogcmdiYSg2MCwgNjYsIDgyLCAwLjA2KTtcXG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NzUpO1xcbiAgdHJhbnNpdGlvbjogMC4xcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX2gzIHtcXG4gIGNvbG9yOiAjMjUyOTJlO1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0IHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19hcHAtaWNvbiB7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBoZWlnaHQ6IDM0cHg7XFxuICBtYXJnaW46IDAgMTFweCAycHggMDtcXG4gIHdpZHRoOiAzNHB4O1xcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCAwIHJnYmEoMzcsIDQxLCA0NiwgMC4yNSk7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19jYXJldCB7XFxuICBoZWlnaHQ6IDE4cHg7XFxuICBvcGFjaXR5OiAwLjM7XFxuICB0cmFuc2l0aW9uOiAwLjFzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcXG4gIHdpZHRoOiA4cHg7XFxuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvdzpob3ZlciAuY2FyZXQsXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3JvdzphY3RpdmUgLmNhcmV0IHtcXG4gIG9wYWNpdHk6IDAuNjtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX21vYmlsZV9fdG9nZ2xlIHtcXG4gIHdpZHRoOiA4MCU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIGF1dG87XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcXG4gIGJhY2tncm91bmQ6ICNkNGQ1ZDk7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19zaW5nbGVfd2FsbGV0IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbi10b3A6IDdweDtcXG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19zaW5nbGVfd2FsbGV0IGEge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgY29sb3I6IHJnYig2NCwgMTUzLCAyNTUpO1xcbiAgZm9udC1zaXplOiAyMXB4O1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19tb2JpbGVfX3RvZ2dsZV9zZWxlY3RvciB7XFxuICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XFxuICB0b3A6IDRweDtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIDAsIDApO1xcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUucmlnaHRfX3NlbGVjdGVkIC53YWxsZXRjb25uZWN0LW1vZGFsX19tb2JpbGVfX3RvZ2dsZV9zZWxlY3RvciB7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKGNhbGMoMTAwJSArIDEycHgpLCAwLCAwKTtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX21vYmlsZV9fdG9nZ2xlIGEge1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgd2lkdGg6IDUwJTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDhweDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICB6LWluZGV4OiAxO1xcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fZm9vdGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbi10b3A6IDIwcHg7XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcXG4gIC53YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIge1xcbiAgICBtYXJnaW4tdG9wOiA1dnc7XFxuICB9XFxufVxcblxcbi53YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIgYSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBjb2xvcjogIzg5OGQ5NztcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG5cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XFxuICAud2FsbGV0Y29ubmVjdC1tb2RhbF9fZm9vdGVyIGEge1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICB9XFxufVxcblxcbi53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXIge1xcbiAgbWF4LWhlaWdodDogNDR2aDtcXG59XFxuXFxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uc19fd3JhcHBlcl9fYW5kcm9pZCB7XFxuICBtYXJnaW46IDUwJSAwO1xcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25zX193cmFwcGVyX193cmFwIHtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xcbiAgbWFyZ2luOiAxMHB4IDA7XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXJfX3dyYXAge1xcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xcbiAgfVxcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b24ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0LCAxNTMsIDI1NSk7XFxuICBwYWRkaW5nOiAxMnB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcblxcbi53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9faWNvbl9hbmNob3Ige1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW46IDhweDtcXG4gIHdpZHRoOiA0MnB4O1xcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcXG4gIC53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9faWNvbl9hbmNob3Ige1xcbiAgICBtYXJnaW46IDRweDtcXG4gIH1cXG59XFxuXFxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX19pY29uIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBoZWlnaHQ6IDQycHg7XFxuICBtYXJnaW46IDA7XFxuICB3aWR0aDogNDJweDtcXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcXG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggMCByZ2JhKDM3LCA0MSwgNDYsIDAuMjUpO1xcbn1cXG5cXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX3RleHQge1xcbiAgY29sb3I6ICM0MjQ5NTI7XFxuICBmb250LXNpemU6IDIuN3Z3O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luLXRvcDogMS44dnc7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG5cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX3RleHQge1xcbiAgICBmb250LXNpemU6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDEycHg7XFxuICB9XFxufVxcblxcbi53YWxsZXRjb25uZWN0LXNlYXJjaF9faW5wdXQge1xcbiAgYm9yZGVyOiBub25lO1xcbiAgYmFja2dyb3VuZDogI2Q0ZDVkOTtcXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xcbiAgZm9udC1zaXplOiAxNnB4O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XFxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XFxuICBtYXJnaW46IDA7XFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XFxufVxcblwiO1xuXG4vLyBBIHR5cGUgb2YgcHJvbWlzZS1saWtlIHRoYXQgcmVzb2x2ZXMgc3luY2hyb25vdXNseSBhbmQgc3VwcG9ydHMgb25seSBvbmUgb2JzZXJ2ZXJcbnZhciBfaXRlcmF0b3JTeW1ib2wgPSAvKiNfX1BVUkVfXyovdHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiA/IFN5bWJvbC5pdGVyYXRvciB8fCAoU3ltYm9sLml0ZXJhdG9yID0gU3ltYm9sKFwiU3ltYm9sLml0ZXJhdG9yXCIpKSA6IFwiQEBpdGVyYXRvclwiO1xudmFyIF9hc3luY0l0ZXJhdG9yU3ltYm9sID0gLyojX19QVVJFX18qL3R5cGVvZiBTeW1ib2wgIT09IFwidW5kZWZpbmVkXCIgPyBTeW1ib2wuYXN5bmNJdGVyYXRvciB8fCAoU3ltYm9sLmFzeW5jSXRlcmF0b3IgPSBTeW1ib2woXCJTeW1ib2wuYXN5bmNJdGVyYXRvclwiKSkgOiBcIkBAYXN5bmNJdGVyYXRvclwiO1xuXG4vLyBBc3luY2hyb25vdXNseSBjYWxsIGEgZnVuY3Rpb24gYW5kIHNlbmQgZXJyb3JzIHRvIHJlY292ZXJ5IGNvbnRpbnVhdGlvblxuZnVuY3Rpb24gX2NhdGNoKGJvZHksIHJlY292ZXIpIHtcbiAgdHJ5IHtcbiAgICB2YXIgcmVzdWx0ID0gYm9keSgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHJlY292ZXIoZSk7XG4gIH1cbiAgaWYgKHJlc3VsdCAmJiByZXN1bHQudGhlbikge1xuICAgIHJldHVybiByZXN1bHQudGhlbih2b2lkIDAsIHJlY292ZXIpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbnZhciBXQUxMRVRDT05ORUNUX0xPR09fU1ZHX1VSTCA9IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQz94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPyUzRSAlM0Nzdmcgd2lkdGg9JzMwMHB4JyBoZWlnaHQ9JzE4NXB4JyB2aWV3Qm94PScwIDAgMzAwIDE4NScgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyUzRSAlM0MhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDkuMyAoNTExNjcpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tJTNFICUzQ3RpdGxlJTNFV2FsbGV0Q29ubmVjdCUzQy90aXRsZSUzRSAlM0NkZXNjJTNFQ3JlYXRlZCB3aXRoIFNrZXRjaC4lM0MvZGVzYyUzRSAlM0NkZWZzJTNFJTNDL2RlZnMlM0UgJTNDZyBpZD0nUGFnZS0xJyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzRSAlM0NnIGlkPSd3YWxsZXRjb25uZWN0LWxvZ28tYWx0JyBmaWxsPSclMjMzQjk5RkMnIGZpbGwtcnVsZT0nbm9uemVybyclM0UgJTNDcGF0aCBkPSdNNjEuNDM4NTQyOSwzNi4yNTYyNjEyIEMxMTAuMzQ5NzY3LC0xMS42MzE5MDUxIDE4OS42NTA1MywtMTEuNjMxOTA1MSAyMzguNTYxNzUyLDM2LjI1NjI2MTIgTDI0NC40NDgyOTcsNDIuMDE5Njc4NiBDMjQ2Ljg5Mzg1OCw0NC40MTQwODY3IDI0Ni44OTM4NTgsNDguMjk2MTg5OCAyNDQuNDQ4Mjk3LDUwLjY5MDU5OSBMMjI0LjMxMTYwMiw3MC40MDYxMDIgQzIyMy4wODg4MjEsNzEuNjAzMzA3MSAyMjEuMTA2MzAyLDcxLjYwMzMwNzEgMjE5Ljg4MzUyMSw3MC40MDYxMDIgTDIxMS43ODI5MzcsNjIuNDc0OTU0MSBDMTc3LjY2MTI0NSwyOS4wNjY5NzI0IDEyMi4zMzkwNTEsMjkuMDY2OTcyNCA4OC4yMTczNTgyLDYyLjQ3NDk1NDEgTDc5LjU0MjMwMiw3MC45Njg1NTkyIEM3OC4zMTk1MjA0LDcyLjE2NTc2MzMgNzYuMzM3MDAxLDcyLjE2NTc2MzMgNzUuMTE0MjIxNCw3MC45Njg1NTkyIEw1NC45Nzc1MjY1LDUxLjI1MzA1NjEgQzUyLjUzMTk2NTMsNDguODU4NjQ2OSA1Mi41MzE5NjUzLDQ0Ljk3NjU0MzkgNTQuOTc3NTI2NSw0Mi41ODIxMzU3IEw2MS40Mzg1NDI5LDM2LjI1NjI2MTIgWiBNMjgwLjIwNjMzOSw3Ny4wMzAwMDYxIEwyOTguMTI4MDM2LDk0LjU3NjkwMzEgQzMwMC41NzM1ODUsOTYuOTcxMyAzMDAuNTczNTk5LDEwMC44NTMzOCAyOTguMTI4MDY3LDEwMy4yNDc3OTMgTDIxNy4zMTc4OTYsMTgyLjM2ODkyNyBDMjE0Ljg3MjM1MiwxODQuNzYzMzUzIDIxMC45MDczMTQsMTg0Ljc2MzM4IDIwOC40NjE3MzYsMTgyLjM2ODk4OSBDMjA4LjQ2MTcyNiwxODIuMzY4OTc5IDIwOC40NjE3MTQsMTgyLjM2ODk2NyAyMDguNDYxNzA0LDE4Mi4zNjg5NTcgTDE1MS4xMDc1NjEsMTI2LjIxNDM4NSBDMTUwLjQ5NjE3MSwxMjUuNjE1NzgzIDE0OS41MDQ5MTEsMTI1LjYxNTc4MyAxNDguODkzNTIxLDEyNi4yMTQzODUgQzE0OC44OTM1MTcsMTI2LjIxNDM4OSAxNDguODkzNTE0LDEyNi4yMTQzOTMgMTQ4Ljg5MzUxLDEyNi4yMTQzOTYgTDkxLjU0MDU4ODgsMTgyLjM2ODkyNyBDODkuMDk1MDUyLDE4NC43NjMzNTkgODUuMTMwMDEzMywxODQuNzYzMzk5IDgyLjY4NDQyNzYsMTgyLjM2OTAxNCBDODIuNjg0NDEzMywxODIuMzY5IDgyLjY4NDM5OCwxODIuMzY4OTg2IDgyLjY4NDM4MjcsMTgyLjM2ODk3IEwxLjg3MTk2MzI3LDEwMy4yNDY3ODUgQy0wLjU3MzU5NjkzOSwxMDAuODUyMzc3IC0wLjU3MzU5NjkzOSw5Ni45NzAyNzM1IDEuODcxOTYzMjcsOTQuNTc1ODY1MyBMMTkuNzkzNjkyOSw3Ny4wMjg5OTggQzIyLjIzOTI1MzEsNzQuNjM0NTg5OCAyNi4yMDQyOTE4LDc0LjYzNDU4OTggMjguNjQ5ODUzMSw3Ny4wMjg5OTggTDg2LjAwNDgzMDYsMTMzLjE4NDM1NSBDODYuNjE2MjIxNCwxMzMuNzgyOTU3IDg3LjYwNzQ3OTYsMTMzLjc4Mjk1NyA4OC4yMTg4NzA0LDEzMy4xODQzNTUgQzg4LjIxODg3OTYsMTMzLjE4NDM0NiA4OC4yMTg4ODc4LDEzMy4xODQzMzggODguMjE4ODk2OSwxMzMuMTg0MzMxIEwxNDUuNTcxLDc3LjAyODk5OCBDMTQ4LjAxNjUwNSw3NC42MzQ1MzQ3IDE1MS45ODE1NDQsNzQuNjM0NDQ0OSAxNTQuNDI3MTYxLDc3LjAyODc5OCBDMTU0LjQyNzE5NSw3Ny4wMjg4MzE2IDE1NC40MjcyMjksNzcuMDI4ODY1MyAxNTQuNDI3MjYyLDc3LjAyODg5OSBMMjExLjc4MjE2NCwxMzMuMTg0MzMxIEMyMTIuMzkzNTU0LDEzMy43ODI5MzIgMjEzLjM4NDgxNCwxMzMuNzgyOTMyIDIxMy45OTYyMDQsMTMzLjE4NDMzMSBMMjcxLjM1MDE3OSw3Ny4wMzAwMDYxIEMyNzMuNzk1NzQsNzQuNjM1NTk2OSAyNzcuNzYwNzc4LDc0LjYzNTU5NjkgMjgwLjIwNjMzOSw3Ny4wMzAwMDYxIFonIGlkPSdXYWxsZXRDb25uZWN0JyUzRSUzQy9wYXRoJTNFICUzQy9nJTNFICUzQy9nJTNFICUzQy9zdmclM0VcIjtcblxudmFyIFdBTExFVENPTk5FQ1RfSEVBREVSX1RFWFQgPSBcIldhbGxldENvbm5lY3RcIjtcbnZhciBBTklNQVRJT05fRFVSQVRJT04gPSAzMDA7XG52YXIgREVGQVVMVF9CVVRUT05fQ09MT1IgPSBcInJnYig2NCwgMTUzLCAyNTUpXCI7XG52YXIgV0FMTEVUQ09OTkVDVF9XUkFQUEVSX0lEID0gXCJ3YWxsZXRjb25uZWN0LXdyYXBwZXJcIjtcbnZhciBXQUxMRVRDT05ORUNUX1NUWUxFX0lEID0gXCJ3YWxsZXRjb25uZWN0LXN0eWxlLXNoZWV0XCI7XG52YXIgV0FMTEVUQ09OTkVDVF9NT0RBTF9JRCA9IFwid2FsbGV0Y29ubmVjdC1xcmNvZGUtbW9kYWxcIjtcbnZhciBXQUxMRVRDT05ORUNUX0NMT1NFX0JVVFRPTl9JRCA9IFwid2FsbGV0Y29ubmVjdC1xcmNvZGUtY2xvc2VcIjtcbnZhciBXQUxMRVRDT05ORUNUX0NUQV9URVhUX0lEID0gXCJ3YWxsZXRjb25uZWN0LXFyY29kZS10ZXh0XCI7XG52YXIgV0FMTEVUQ09OTkVDVF9DT05ORUNUX0JVVFRPTl9JRCA9IFwid2FsbGV0Y29ubmVjdC1jb25uZWN0LWJ1dHRvblwiO1xuXG5mdW5jdGlvbiBIZWFkZXIocHJvcHMpIHtcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LW1vZGFsX19oZWFkZXJcIlxuICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtcbiAgICBzcmM6IFdBTExFVENPTk5FQ1RfTE9HT19TVkdfVVJMLFxuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LW1vZGFsX19oZWFkZXJMb2dvXCJcbiAgfSksIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwXCIsIG51bGwsIFdBTExFVENPTk5FQ1RfSEVBREVSX1RFWFQpLCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX3dyYXBwZXJcIixcbiAgICBvbkNsaWNrOiBwcm9wcy5vbkNsb3NlXG4gIH0sIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGlkOiBXQUxMRVRDT05ORUNUX0NMT1NFX0JVVFRPTl9JRCxcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX2ljb25cIlxuICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX2xpbmUxXCJcbiAgfSksIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTJcIlxuICB9KSkpKTtcbn1cblxuZnVuY3Rpb24gQ29ubmVjdEJ1dHRvbihwcm9wcykge1xuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge1xuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvblwiLFxuICAgIGhyZWY6IHByb3BzLmhyZWYsXG4gICAgaWQ6IChXQUxMRVRDT05ORUNUX0NPTk5FQ1RfQlVUVE9OX0lEICsgXCItXCIgKyAocHJvcHMubmFtZSkpLFxuICAgIG9uQ2xpY2s6IHByb3BzLm9uQ2xpY2ssXG4gICAgcmVsOiBcIm5vb3BlbmVyIG5vcmVmZXJyZXJcIixcbiAgICBzdHlsZToge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiBwcm9wcy5jb2xvclxuICAgIH0sXG4gICAgdGFyZ2V0OiBcIl9ibGFua1wiXG4gIH0sIHByb3BzLm5hbWUpO1xufVxuXG52YXIgQ0FSRVRfU1ZHX1VSTCA9IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nMCAwIDggMTgnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UgJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTAuNTg2MzAxIDAuMjEzODk4QzAuMTUwMzU0IDAuNTUyOTY4IDAuMDcxODE5NyAxLjE4MTI0IDAuNDEwODkgMS42MTcxOUw1LjI4OTIgNy44ODkzMUM1LjU3MDA3IDguMjUwNDIgNS41NzAwNyA4Ljc1NjA4IDUuMjg5MiA5LjExNzE5TDAuNDEwODg5IDE1LjM4OTNDMC4wNzE4MTkgMTUuODI1MyAwLjE1MDM1MyAxNi40NTM1IDAuNTg2MzAxIDE2Ljc5MjZDMS4wMjIyNSAxNy4xMzE3IDEuNjUwNTIgMTcuMDUzMSAxLjk4OTU5IDE2LjYxNzJMNi44Njc5MSAxMC4zNDUxQzcuNzEwNSA5LjI2MTc0IDcuNzEwNSA3Ljc0NDc2IDYuODY3OTEgNi42NjE0M0wxLjk4OTU5IDAuMzg5MzFDMS42NTA1MiAtMC4wNDY2Mzc0IDEuMDIyMjUgLTAuMTI1MTcyIDAuNTg2MzAxIDAuMjEzODk4WicgZmlsbD0nJTIzM0M0MjUyJy8lM0UgJTNDL3N2ZyUzRVwiO1xuXG5mdW5jdGlvbiBXYWxsZXRCdXR0b24ocHJvcHMpIHtcbiAgdmFyIGNvbG9yID0gcHJvcHMuY29sb3I7XG4gIHZhciBocmVmID0gcHJvcHMuaHJlZjtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuICB2YXIgbG9nbyA9IHByb3BzLmxvZ287XG4gIHZhciBvbkNsaWNrID0gcHJvcHMub25DbGljaztcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93XCIsXG4gICAgaHJlZjogaHJlZixcbiAgICBvbkNsaWNrOiBvbkNsaWNrLFxuICAgIHJlbDogXCJub29wZW5lciBub3JlZmVycmVyXCIsXG4gICAgdGFyZ2V0OiBcIl9ibGFua1wiXG4gIH0sIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJoM1wiLCB7XG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19faDNcIlxuICB9LCBuYW1lKSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19fcmlnaHRcIlxuICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93X19yaWdodF9fYXBwLWljb25cIixcbiAgICBzdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogKFwidXJsKCdcIiArIGxvZ28gKyBcIicpIFwiICsgY29sb3IpLFxuICAgICAgYmFja2dyb3VuZFNpemU6IFwiMTAwJVwiXG4gICAgfVxuICB9KSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImltZ1wiLCB7XG4gICAgc3JjOiBDQVJFVF9TVkdfVVJMLFxuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19jYXJldFwiXG4gIH0pKSk7XG59XG5cbmZ1bmN0aW9uIFdhbGxldEljb24ocHJvcHMpIHtcbiAgdmFyIGNvbG9yID0gcHJvcHMuY29sb3I7XG4gIHZhciBocmVmID0gcHJvcHMuaHJlZjtcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xuICB2YXIgbG9nbyA9IHByb3BzLmxvZ287XG4gIHZhciBvbkNsaWNrID0gcHJvcHMub25DbGljaztcbiAgdmFyIGZvbnRTaXplID0gd2luZG93LmlubmVyV2lkdGggPCA3NjggPyAoKG5hbWUubGVuZ3RoID4gOCA/IDIuNSA6IDIuNykgKyBcInZ3XCIpIDogXCJpbmhlcml0XCI7XG4gIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7XG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX19pY29uX2FuY2hvclwiLFxuICAgIGhyZWY6IGhyZWYsXG4gICAgb25DbGljazogb25DbGljayxcbiAgICByZWw6IFwibm9vcGVuZXIgbm9yZWZlcnJlclwiLFxuICAgIHRhcmdldDogXCJfYmxhbmtcIlxuICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX2ljb25cIixcbiAgICBzdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogKFwidXJsKCdcIiArIGxvZ28gKyBcIicpIFwiICsgY29sb3IpLFxuICAgICAgYmFja2dyb3VuZFNpemU6IFwiMTAwJVwiXG4gICAgfVxuICB9KSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIGZvbnRTaXplOiBmb250U2l6ZVxuICAgIH0sXG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX190ZXh0XCJcbiAgfSwgbmFtZSkpO1xufVxuXG52YXIgR1JJRF9NSU5fQ09VTlQgPSA1O1xudmFyIExJTktTX1BFUl9QQUdFID0gMTI7XG5mdW5jdGlvbiBMaW5rRGlzcGxheShwcm9wcykge1xuICB2YXIgYW5kcm9pZCA9IGxlZ2FjeVV0aWxzLmlzQW5kcm9pZCgpO1xuICB2YXIgcmVmID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gIHZhciBpbnB1dCA9IHJlZlswXTtcbiAgdmFyIHNldElucHV0ID0gcmVmWzFdO1xuICB2YXIgcmVmJDEgPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgdmFyIGZpbHRlciA9IHJlZiQxWzBdO1xuICB2YXIgc2V0RmlsdGVyID0gcmVmJDFbMV07XG4gIHZhciByZWYkMiA9IFJlYWN0LnVzZVN0YXRlKDEpO1xuICB2YXIgcGFnZSA9IHJlZiQyWzBdO1xuICB2YXIgc2V0UGFnZSA9IHJlZiQyWzFdO1xuICB2YXIgbGlua3MgPSBmaWx0ZXIgPyBwcm9wcy5saW5rcy5maWx0ZXIoZnVuY3Rpb24gKGxpbmspIHsgcmV0dXJuIGxpbmsubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlci50b0xvd2VyQ2FzZSgpKTsgfSkgOiBwcm9wcy5saW5rcztcbiAgdmFyIGVycm9yTWVzc2FnZSA9IHByb3BzLmVycm9yTWVzc2FnZTtcbiAgdmFyIGdyaWQgPSBmaWx0ZXIgfHwgbGlua3MubGVuZ3RoID4gR1JJRF9NSU5fQ09VTlQ7XG4gIHZhciBwYWdlcyA9IE1hdGguY2VpbChsaW5rcy5sZW5ndGggLyBMSU5LU19QRVJfUEFHRSk7XG4gIHZhciByYW5nZSA9IFsocGFnZSAtIDEpICogTElOS1NfUEVSX1BBR0UgKyAxLCBwYWdlICogTElOS1NfUEVSX1BBR0VdO1xuICB2YXIgcGFnZUxpbmtzID0gbGlua3MubGVuZ3RoID8gbGlua3MuZmlsdGVyKGZ1bmN0aW9uIChfLCBpbmRleCkgeyByZXR1cm4gaW5kZXggKyAxID49IHJhbmdlWzBdICYmIGluZGV4ICsgMSA8PSByYW5nZVsxXTsgfSkgOiBbXTtcbiAgdmFyIGhhc1BhZ2luZyA9ICEhKCFhbmRyb2lkICYmIHBhZ2VzID4gMSk7XG4gIHZhciBmaWx0ZXJUaW1lb3V0ID0gdW5kZWZpbmVkO1xuICBmdW5jdGlvbiBoYW5kbGVJbnB1dChlKSB7XG4gICAgc2V0SW5wdXQoZS50YXJnZXQudmFsdWUpO1xuICAgIGNsZWFyVGltZW91dChmaWx0ZXJUaW1lb3V0KTtcbiAgICBpZiAoZS50YXJnZXQudmFsdWUpIHtcbiAgICAgIGZpbHRlclRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2V0RmlsdGVyKGUudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgc2V0UGFnZSgxKTtcbiAgICAgIH0sIDEwMDApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRJbnB1dChcIlwiKTtcbiAgICAgIHNldEZpbHRlcihcIlwiKTtcbiAgICAgIHNldFBhZ2UoMSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIG51bGwsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwXCIsIHtcbiAgICBpZDogV0FMTEVUQ09OTkVDVF9DVEFfVEVYVF9JRCxcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1xcmNvZGVfX3RleHRcIlxuICB9LCBhbmRyb2lkID8gcHJvcHMudGV4dC5jb25uZWN0X21vYmlsZV93YWxsZXQgOiBwcm9wcy50ZXh0LmNob29zZV9wcmVmZXJyZWRfd2FsbGV0KSwgIWFuZHJvaWQgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1zZWFyY2hfX2lucHV0XCIsXG4gICAgcGxhY2Vob2xkZXI6IFwiU2VhcmNoXCIsXG4gICAgdmFsdWU6IGlucHV0LFxuICAgIG9uQ2hhbmdlOiBoYW5kbGVJbnB1dFxuICB9KSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiAoXCJ3YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXJcIiArIChhbmRyb2lkID8gXCJfX2FuZHJvaWRcIiA6IGdyaWQgJiYgbGlua3MubGVuZ3RoID8gXCJfX3dyYXBcIiA6IFwiXCIpKVxuICB9LCAhYW5kcm9pZCA/IHBhZ2VMaW5rcy5sZW5ndGggPyBwYWdlTGlua3MubWFwKGZ1bmN0aW9uIChlbnRyeSkge1xuICAgIHZhciBjb2xvciA9IGVudHJ5LmNvbG9yO1xuICAgIHZhciBuYW1lID0gZW50cnkubmFtZTtcbiAgICB2YXIgc2hvcnROYW1lID0gZW50cnkuc2hvcnROYW1lO1xuICAgIHZhciBsb2dvID0gZW50cnkubG9nbztcbiAgICB2YXIgaHJlZiA9IGxlZ2FjeVV0aWxzLmZvcm1hdElPU01vYmlsZShwcm9wcy51cmksIGVudHJ5KTtcbiAgICB2YXIgaGFuZGxlQ2xpY2tJT1MgPSBSZWFjdC51c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lVdGlscy5zYXZlTW9iaWxlTGlua0luZm8oe1xuICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICBocmVmOiBocmVmXG4gICAgICB9KTtcbiAgICB9LCBbcGFnZUxpbmtzXSk7XG4gICAgcmV0dXJuICFncmlkID8gUmVhY3QuY3JlYXRlRWxlbWVudChXYWxsZXRCdXR0b24sIHtcbiAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgIGhyZWY6IGhyZWYsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgbG9nbzogbG9nbyxcbiAgICAgIG9uQ2xpY2s6IGhhbmRsZUNsaWNrSU9TXG4gICAgfSkgOiBSZWFjdC5jcmVhdGVFbGVtZW50KFdhbGxldEljb24sIHtcbiAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgIGhyZWY6IGhyZWYsXG4gICAgICBuYW1lOiBzaG9ydE5hbWUgfHwgbmFtZSxcbiAgICAgIGxvZ286IGxvZ28sXG4gICAgICBvbkNsaWNrOiBoYW5kbGVDbGlja0lPU1xuICAgIH0pO1xuICB9KSA6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwXCIsIG51bGwsIGVycm9yTWVzc2FnZS5sZW5ndGggPyBwcm9wcy5lcnJvck1lc3NhZ2UgOiAhIXByb3BzLmxpbmtzLmxlbmd0aCAmJiAhbGlua3MubGVuZ3RoID8gcHJvcHMudGV4dC5ub193YWxsZXRzX2ZvdW5kIDogcHJvcHMudGV4dC5sb2FkaW5nKSkgOiBSZWFjdC5jcmVhdGVFbGVtZW50KENvbm5lY3RCdXR0b24sIHtcbiAgICBuYW1lOiBwcm9wcy50ZXh0LmNvbm5lY3QsXG4gICAgY29sb3I6IERFRkFVTFRfQlVUVE9OX0NPTE9SLFxuICAgIGhyZWY6IHByb3BzLnVyaSxcbiAgICBvbkNsaWNrOiBSZWFjdC51c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lVdGlscy5zYXZlTW9iaWxlTGlua0luZm8oe1xuICAgICAgICBuYW1lOiBcIlVua25vd25cIixcbiAgICAgICAgaHJlZjogcHJvcHMudXJpXG4gICAgICB9KTtcbiAgICB9LCBbXSlcbiAgfSkpLCBoYXNQYWdpbmcgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtbW9kYWxfX2Zvb3RlclwiXG4gIH0sIEFycmF5KHBhZ2VzKS5maWxsKDApLm1hcChmdW5jdGlvbiAoXywgaW5kZXgpIHtcbiAgICB2YXIgcGFnZU51bWJlciA9IGluZGV4ICsgMTtcbiAgICB2YXIgc2VsZWN0ZWQgPSBwYWdlID09PSBwYWdlTnVtYmVyO1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7XG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiYXV0byAxMHB4XCIsXG4gICAgICAgIGZvbnRXZWlnaHQ6IHNlbGVjdGVkID8gXCJib2xkXCIgOiBcIm5vcm1hbFwiXG4gICAgICB9LFxuICAgICAgb25DbGljazogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2V0UGFnZShwYWdlTnVtYmVyKTsgfVxuICAgIH0sIHBhZ2VOdW1iZXIpO1xuICB9KSkpO1xufVxuXG5mdW5jdGlvbiBOb3RpZmljYXRpb24ocHJvcHMpIHtcbiAgdmFyIHNob3cgPSAhIXByb3BzLm1lc3NhZ2UudHJpbSgpO1xuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiAoXCJ3YWxsZXRjb25uZWN0LXFyY29kZV9fbm90aWZpY2F0aW9uXCIgKyAoc2hvdyA/IFwiIG5vdGlmaWNhdGlvbl9fc2hvd1wiIDogXCJcIikpXG4gIH0sIHByb3BzLm1lc3NhZ2UpO1xufVxuXG52YXIgZm9ybWF0UVJDb2RlSW1hZ2UgPSBmdW5jdGlvbiAoZGF0YSkge1xuICB0cnkge1xuICAgIHZhciByZXN1bHQgPSBcIlwiO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoUVJDb2RlLnRvU3RyaW5nKGRhdGEsIHtcbiAgICAgIG1hcmdpbjogMCxcbiAgICAgIHR5cGU6IFwic3ZnXCJcbiAgICB9KSkudGhlbihmdW5jdGlvbiAoZGF0YVN0cmluZykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhU3RyaW5nID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJlc3VsdCA9IGRhdGFTdHJpbmcucmVwbGFjZShcIjxzdmdcIiwgXCI8c3ZnIGNsYXNzPVxcXCJ3YWxsZXRjb25uZWN0LXFyY29kZV9faW1hZ2VcXFwiXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlKTtcbiAgfVxufTtcbmZ1bmN0aW9uIFFSQ29kZURpc3BsYXkocHJvcHMpIHtcbiAgdmFyIHJlZiA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICB2YXIgbm90aWZpY2F0aW9uID0gcmVmWzBdO1xuICB2YXIgc2V0Tm90aWZpY2F0aW9uID0gcmVmWzFdO1xuICB2YXIgcmVmJDEgPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgdmFyIHN2ZyA9IHJlZiQxWzBdO1xuICB2YXIgc2V0U3ZnID0gcmVmJDFbMV07XG4gIFJlYWN0LnVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZm9ybWF0UVJDb2RlSW1hZ2UocHJvcHMudXJpKSkudGhlbihmdW5jdGlvbiAoX2Zvcm1hdFFSQ29kZUltYWdlKSB7XG4gICAgICAgIHNldFN2ZyhfZm9ybWF0UVJDb2RlSW1hZ2UpO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgUHJvbWlzZS5yZWplY3QoZSk7XG4gICAgfVxuICB9LCBbXSk7XG4gIHZhciBjb3B5VG9DbGlwYm9hcmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHN1Y2Nlc3MgPSBjb3B5KHByb3BzLnVyaSk7XG4gICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgIHNldE5vdGlmaWNhdGlvbihwcm9wcy50ZXh0LmNvcGllZF90b19jbGlwYm9hcmQpO1xuICAgICAgc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgeyByZXR1cm4gc2V0Tm90aWZpY2F0aW9uKFwiXCIpOyB9LCAxMjAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiRXJyb3JcIik7XG4gICAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7IHJldHVybiBzZXROb3RpZmljYXRpb24oXCJcIik7IH0sIDEyMDApO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgUmVhY3QuY3JlYXRlRWxlbWVudChcInBcIiwge1xuICAgIGlkOiBXQUxMRVRDT05ORUNUX0NUQV9URVhUX0lELFxuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LXFyY29kZV9fdGV4dFwiXG4gIH0sIHByb3BzLnRleHQuc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQpLCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgX19odG1sOiBzdmdcbiAgICB9XG4gIH0pLCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fZm9vdGVyXCJcbiAgfSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge1xuICAgIG9uQ2xpY2s6IGNvcHlUb0NsaXBib2FyZFxuICB9LCBwcm9wcy50ZXh0LmNvcHlfdG9fY2xpcGJvYXJkKSksIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTm90aWZpY2F0aW9uLCB7XG4gICAgbWVzc2FnZTogbm90aWZpY2F0aW9uXG4gIH0pKTtcbn1cblxuZnVuY3Rpb24gTW9kYWwocHJvcHMpIHtcbiAgdmFyIGFuZHJvaWQgPSBsZWdhY3lVdGlscy5pc0FuZHJvaWQoKTtcbiAgdmFyIG1vYmlsZSA9IGxlZ2FjeVV0aWxzLmlzTW9iaWxlKCk7XG4gIHZhciB3aGl0ZWxpc3QgPSBtb2JpbGUgPyBwcm9wcy5xcmNvZGVNb2RhbE9wdGlvbnMgJiYgcHJvcHMucXJjb2RlTW9kYWxPcHRpb25zLm1vYmlsZUxpbmtzID8gcHJvcHMucXJjb2RlTW9kYWxPcHRpb25zLm1vYmlsZUxpbmtzIDogdW5kZWZpbmVkIDogcHJvcHMucXJjb2RlTW9kYWxPcHRpb25zICYmIHByb3BzLnFyY29kZU1vZGFsT3B0aW9ucy5kZXNrdG9wTGlua3MgPyBwcm9wcy5xcmNvZGVNb2RhbE9wdGlvbnMuZGVza3RvcExpbmtzIDogdW5kZWZpbmVkO1xuICB2YXIgcmVmID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICB2YXIgbG9hZGluZyA9IHJlZlswXTtcbiAgdmFyIHNldExvYWRpbmcgPSByZWZbMV07XG4gIHZhciByZWYkMSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgdmFyIGZldGNoZWQgPSByZWYkMVswXTtcbiAgdmFyIHNldEZldGNoZWQgPSByZWYkMVsxXTtcbiAgdmFyIHJlZiQyID0gUmVhY3QudXNlU3RhdGUoIW1vYmlsZSk7XG4gIHZhciBkaXNwbGF5UVJDb2RlID0gcmVmJDJbMF07XG4gIHZhciBzZXREaXNwbGF5UVJDb2RlID0gcmVmJDJbMV07XG4gIHZhciBkaXNwbGF5UHJvcHMgPSB7XG4gICAgbW9iaWxlOiBtb2JpbGUsXG4gICAgdGV4dDogcHJvcHMudGV4dCxcbiAgICB1cmk6IHByb3BzLnVyaSxcbiAgICBxcmNvZGVNb2RhbE9wdGlvbnM6IHByb3BzLnFyY29kZU1vZGFsT3B0aW9uc1xuICB9O1xuICB2YXIgcmVmJDMgPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgdmFyIHNpbmdsZUxpbmtIcmVmID0gcmVmJDNbMF07XG4gIHZhciBzZXRTaW5nbGVMaW5rSHJlZiA9IHJlZiQzWzFdO1xuICB2YXIgcmVmJDQgPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gIHZhciBoYXNTaW5nbGVMaW5rID0gcmVmJDRbMF07XG4gIHZhciBzZXRIYXNTaW5nbGVMaW5rID0gcmVmJDRbMV07XG4gIHZhciByZWYkNSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgdmFyIGxpbmtzID0gcmVmJDVbMF07XG4gIHZhciBzZXRMaW5rcyA9IHJlZiQ1WzFdO1xuICB2YXIgcmVmJDYgPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgdmFyIGVycm9yTWVzc2FnZSA9IHJlZiQ2WzBdO1xuICB2YXIgc2V0RXJyb3JNZXNzYWdlID0gcmVmJDZbMV07XG4gIHZhciBnZXRMaW5rc0lmTmVlZGVkID0gZnVuY3Rpb24gKCkge1xuICAgIGlmIChmZXRjaGVkIHx8IGxvYWRpbmcgfHwgd2hpdGVsaXN0ICYmICF3aGl0ZWxpc3QubGVuZ3RoIHx8IGxpbmtzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgUmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBpbml0TGlua3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKGFuZHJvaWQpIHsgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOyB9XG4gICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICB2YXIgX3RlbXAgPSBfY2F0Y2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHVybCA9IHByb3BzLnFyY29kZU1vZGFsT3B0aW9ucyAmJiBwcm9wcy5xcmNvZGVNb2RhbE9wdGlvbnMucmVnaXN0cnlVcmwgPyBwcm9wcy5xcmNvZGVNb2RhbE9wdGlvbnMucmVnaXN0cnlVcmwgOiBsZWdhY3lVdGlscy5nZXRXYWxsZXRSZWdpc3RyeVVybCgpO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmZXRjaCh1cmwpKS50aGVuKGZ1bmN0aW9uIChyZWdpc3RyeVJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVnaXN0cnlSZXNwb25zZS5qc29uKCkpLnRoZW4oZnVuY3Rpb24gKF9yZWdpc3RyeVJlc3BvbnNlJGpzbykge1xuICAgICAgICAgICAgICAgIHZhciByZWdpc3RyeSA9IF9yZWdpc3RyeVJlc3BvbnNlJGpzby5saXN0aW5ncztcbiAgICAgICAgICAgICAgICB2YXIgcGxhdGZvcm0gPSBtb2JpbGUgPyBcIm1vYmlsZVwiIDogXCJkZXNrdG9wXCI7XG4gICAgICAgICAgICAgICAgdmFyIF9saW5rcyA9IGxlZ2FjeVV0aWxzLmdldE1vYmlsZUxpbmtSZWdpc3RyeShsZWdhY3lVdGlscy5mb3JtYXRNb2JpbGVSZWdpc3RyeShyZWdpc3RyeSwgcGxhdGZvcm0pLCB3aGl0ZWxpc3QpO1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHNldEZldGNoZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3JNZXNzYWdlKCFfbGlua3MubGVuZ3RoID8gcHJvcHMudGV4dC5ub19zdXBwb3J0ZWRfd2FsbGV0cyA6IFwiXCIpO1xuICAgICAgICAgICAgICAgIHNldExpbmtzKF9saW5rcyk7XG4gICAgICAgICAgICAgICAgdmFyIGhhc1NpbmdsZUxpbmsgPSBfbGlua3MubGVuZ3RoID09PSAxO1xuICAgICAgICAgICAgICAgIGlmIChoYXNTaW5nbGVMaW5rKSB7XG4gICAgICAgICAgICAgICAgICBzZXRTaW5nbGVMaW5rSHJlZihsZWdhY3lVdGlscy5mb3JtYXRJT1NNb2JpbGUocHJvcHMudXJpLCBfbGlua3NbMF0pKTtcbiAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlRUkNvZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldEhhc1NpbmdsZUxpbmsoaGFzU2luZ2xlTGluayk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgc2V0RmV0Y2hlZCh0cnVlKTtcbiAgICAgICAgICAgIHNldEVycm9yTWVzc2FnZShwcm9wcy50ZXh0LnNvbWV0aGluZ193ZW50X3dyb25nKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShfdGVtcCAmJiBfdGVtcC50aGVuID8gX3RlbXAudGhlbihmdW5jdGlvbiAoKSB7fSkgOiB2b2lkIDApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgaW5pdExpbmtzKCk7XG4gICAgfSk7XG4gIH07XG4gIGdldExpbmtzSWZOZWVkZWQoKTtcbiAgdmFyIHJpZ2h0U2VsZWN0ZWQgPSBtb2JpbGUgPyBkaXNwbGF5UVJDb2RlIDogIWRpc3BsYXlRUkNvZGU7XG4gIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBpZDogV0FMTEVUQ09OTkVDVF9NT0RBTF9JRCxcbiAgICBjbGFzc05hbWU6IFwid2FsbGV0Y29ubmVjdC1xcmNvZGVfX2Jhc2UgYW5pbWF0ZWQgZmFkZUluXCJcbiAgfSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VcIlxuICB9LCBSZWFjdC5jcmVhdGVFbGVtZW50KEhlYWRlciwge1xuICAgIG9uQ2xvc2U6IHByb3BzLm9uQ2xvc2VcbiAgfSksIGhhc1NpbmdsZUxpbmsgJiYgZGlzcGxheVFSQ29kZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogXCJ3YWxsZXRjb25uZWN0LW1vZGFsX19zaW5nbGVfd2FsbGV0XCJcbiAgfSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge1xuICAgIG9uQ2xpY2s6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGxlZ2FjeVV0aWxzLnNhdmVNb2JpbGVMaW5rSW5mbyh7XG4gICAgICBuYW1lOiBsaW5rc1swXS5uYW1lLFxuICAgICAgaHJlZjogc2luZ2xlTGlua0hyZWZcbiAgICB9KTsgfSxcbiAgICBocmVmOiBzaW5nbGVMaW5rSHJlZixcbiAgICByZWw6IFwibm9vcGVuZXIgbm9yZWZlcnJlclwiLFxuICAgIHRhcmdldDogXCJfYmxhbmtcIlxuICB9LCBwcm9wcy50ZXh0LmNvbm5lY3Rfd2l0aCArIFwiIFwiICsgKGhhc1NpbmdsZUxpbmsgPyBsaW5rc1swXS5uYW1lIDogXCJcIikgKyBcIiDigLpcIikpIDogYW5kcm9pZCB8fCBsb2FkaW5nIHx8ICFsb2FkaW5nICYmIGxpbmtzLmxlbmd0aCA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIGNsYXNzTmFtZTogKFwid2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGVcIiArIChyaWdodFNlbGVjdGVkID8gXCIgcmlnaHRfX3NlbGVjdGVkXCIgOiBcIlwiKSlcbiAgfSwgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBcIndhbGxldGNvbm5lY3QtbW9kYWxfX21vYmlsZV9fdG9nZ2xlX3NlbGVjdG9yXCJcbiAgfSksIG1vYmlsZSA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsIHtcbiAgICBvbkNsaWNrOiBmdW5jdGlvbiAoKSB7IHJldHVybiAoc2V0RGlzcGxheVFSQ29kZShmYWxzZSksIGdldExpbmtzSWZOZWVkZWQoKSk7IH1cbiAgfSwgcHJvcHMudGV4dC5tb2JpbGUpLCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7XG4gICAgb25DbGljazogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2V0RGlzcGxheVFSQ29kZSh0cnVlKTsgfVxuICB9LCBwcm9wcy50ZXh0LnFyY29kZSkpIDogUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge1xuICAgIG9uQ2xpY2s6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNldERpc3BsYXlRUkNvZGUodHJ1ZSk7IH1cbiAgfSwgcHJvcHMudGV4dC5xcmNvZGUpLCBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7XG4gICAgb25DbGljazogZnVuY3Rpb24gKCkgeyByZXR1cm4gKHNldERpc3BsYXlRUkNvZGUoZmFsc2UpLCBnZXRMaW5rc0lmTmVlZGVkKCkpOyB9XG4gIH0sIHByb3BzLnRleHQuZGVza3RvcCkpKSA6IG51bGwsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgZGlzcGxheVFSQ29kZSB8fCAhYW5kcm9pZCAmJiAhbG9hZGluZyAmJiAhbGlua3MubGVuZ3RoID8gUmVhY3QuY3JlYXRlRWxlbWVudChRUkNvZGVEaXNwbGF5LCBPYmplY3QuYXNzaWduKHt9LCBkaXNwbGF5UHJvcHMpKSA6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGlua0Rpc3BsYXksIE9iamVjdC5hc3NpZ24oe30sIGRpc3BsYXlQcm9wcywge1xuICAgIGxpbmtzOiBsaW5rcyxcbiAgICBlcnJvck1lc3NhZ2U6IGVycm9yTWVzc2FnZVxuICB9KSkpKSk7XG59XG5cbnZhciBkZSA9IHtcbiAgY2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IFwiV8OkaGxlIGJldm9yenVndGUgV2FsbGV0XCIsXG4gIGNvbm5lY3RfbW9iaWxlX3dhbGxldDogXCJWZXJiaW5kZSBtaXQgTW9iaWxlIFdhbGxldFwiLFxuICBzY2FuX3FyY29kZV93aXRoX3dhbGxldDogXCJTY2FubmUgZGVuIFFSLWNvZGUgbWl0IGVpbmVyIFdhbGxldENvbm5lY3Qga29tcGF0aWJsZW4gV2FsbGV0XCIsXG4gIGNvbm5lY3Q6IFwiVmVyYmluZGVuXCIsXG4gIHFyY29kZTogXCJRUi1Db2RlXCIsXG4gIG1vYmlsZTogXCJNb2JpbGVcIixcbiAgZGVza3RvcDogXCJEZXNrdG9wXCIsXG4gIGNvcHlfdG9fY2xpcGJvYXJkOiBcIkluIGRpZSBad2lzY2hlbmFibGFnZSBrb3BpZXJlblwiLFxuICBjb3BpZWRfdG9fY2xpcGJvYXJkOiBcIkluIGRpZSBad2lzY2hlbmFibGFnZSBrb3BpZXJ0IVwiLFxuICBjb25uZWN0X3dpdGg6IFwiVmVyYmluZGVuIG1pdCBIaWxmZSB2b25cIixcbiAgbG9hZGluZzogXCJMYWRlbi4uLlwiLFxuICBzb21ldGhpbmdfd2VudF93cm9uZzogXCJFdHdhcyBpc3Qgc2NoaWVmIGdlbGF1ZmVuXCIsXG4gIG5vX3N1cHBvcnRlZF93YWxsZXRzOiBcIkVzIGdpYnQgbm9jaCBrZWluZSB1bnRlcnN0w7x0enRlbiBXYWxsZXRcIixcbiAgbm9fd2FsbGV0c19mb3VuZDogXCJrZWluZSBXYWxsZXQgZ2VmdW5kZW5cIlxufTtcblxudmFyIGVuID0ge1xuICBjaG9vc2VfcHJlZmVycmVkX3dhbGxldDogXCJDaG9vc2UgeW91ciBwcmVmZXJyZWQgd2FsbGV0XCIsXG4gIGNvbm5lY3RfbW9iaWxlX3dhbGxldDogXCJDb25uZWN0IHRvIE1vYmlsZSBXYWxsZXRcIixcbiAgc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IFwiU2NhbiBRUiBjb2RlIHdpdGggYSBXYWxsZXRDb25uZWN0LWNvbXBhdGlibGUgd2FsbGV0XCIsXG4gIGNvbm5lY3Q6IFwiQ29ubmVjdFwiLFxuICBxcmNvZGU6IFwiUVIgQ29kZVwiLFxuICBtb2JpbGU6IFwiTW9iaWxlXCIsXG4gIGRlc2t0b3A6IFwiRGVza3RvcFwiLFxuICBjb3B5X3RvX2NsaXBib2FyZDogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxuICBjb3BpZWRfdG9fY2xpcGJvYXJkOiBcIkNvcGllZCB0byBjbGlwYm9hcmQhXCIsXG4gIGNvbm5lY3Rfd2l0aDogXCJDb25uZWN0IHdpdGhcIixcbiAgbG9hZGluZzogXCJMb2FkaW5nLi4uXCIsXG4gIHNvbWV0aGluZ193ZW50X3dyb25nOiBcIlNvbWV0aGluZyB3ZW50IHdyb25nXCIsXG4gIG5vX3N1cHBvcnRlZF93YWxsZXRzOiBcIlRoZXJlIGFyZSBubyBzdXBwb3J0ZWQgd2FsbGV0cyB5ZXRcIixcbiAgbm9fd2FsbGV0c19mb3VuZDogXCJObyB3YWxsZXRzIGZvdW5kXCJcbn07XG5cbnZhciBlcyA9IHtcbiAgY2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IFwiRWxpZ2UgdHUgYmlsbGV0ZXJhIHByZWZlcmlkYVwiLFxuICBjb25uZWN0X21vYmlsZV93YWxsZXQ6IFwiQ29uZWN0YXIgYSBiaWxsZXRlcmEgbcOzdmlsXCIsXG4gIHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiBcIkVzY2FuZWEgZWwgY8OzZGlnbyBRUiBjb24gdW5hIGJpbGxldGVyYSBjb21wYXRpYmxlIGNvbiBXYWxsZXRDb25uZWN0XCIsXG4gIGNvbm5lY3Q6IFwiQ29uZWN0YXJcIixcbiAgcXJjb2RlOiBcIkPDs2RpZ28gUVJcIixcbiAgbW9iaWxlOiBcIk3Ds3ZpbFwiLFxuICBkZXNrdG9wOiBcIkRlc2t0b3BcIixcbiAgY29weV90b19jbGlwYm9hcmQ6IFwiQ29waWFyXCIsXG4gIGNvcGllZF90b19jbGlwYm9hcmQ6IFwiQ29waWFkbyFcIixcbiAgY29ubmVjdF93aXRoOiBcIkNvbmVjdGFyIG1lZGlhbnRlXCIsXG4gIGxvYWRpbmc6IFwiQ2FyZ2FuZG8uLi5cIixcbiAgc29tZXRoaW5nX3dlbnRfd3Jvbmc6IFwiQWxnbyBzYWxpw7MgbWFsXCIsXG4gIG5vX3N1cHBvcnRlZF93YWxsZXRzOiBcIlRvZGF2w61hIG5vIGhheSBiaWxsZXRlcmFzIGNvbXBhdGlibGVzXCIsXG4gIG5vX3dhbGxldHNfZm91bmQ6IFwiTm8gc2UgZW5jb250cmFyb24gYmlsbGV0ZXJhc1wiXG59O1xuXG52YXIgZnIgPSB7XG4gIGNob29zZV9wcmVmZXJyZWRfd2FsbGV0OiBcIkNob2lzaXNzZXogdm90cmUgcG9ydGVmZXVpbGxlIHByw6lmw6lyw6lcIixcbiAgY29ubmVjdF9tb2JpbGVfd2FsbGV0OiBcIlNlIGNvbm5lY3RlciBhdSBwb3J0ZWZldWlsbGUgbW9iaWxlXCIsXG4gIHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiBcIlNjYW5uZXogbGUgUVIgY29kZSBhdmVjIHVuIHBvcnRlZmV1aWxsZSBjb21wYXRpYmxlIFdhbGxldENvbm5lY3RcIixcbiAgY29ubmVjdDogXCJTZSBjb25uZWN0ZXJcIixcbiAgcXJjb2RlOiBcIlFSIENvZGVcIixcbiAgbW9iaWxlOiBcIk1vYmlsZVwiLFxuICBkZXNrdG9wOiBcIkRlc2t0b3BcIixcbiAgY29weV90b19jbGlwYm9hcmQ6IFwiQ29waWVyXCIsXG4gIGNvcGllZF90b19jbGlwYm9hcmQ6IFwiQ29wacOpIVwiLFxuICBjb25uZWN0X3dpdGg6IFwiQ29ubmVjdGV6LXZvdXMgw6AgbCdhaWRlIGRlXCIsXG4gIGxvYWRpbmc6IFwiQ2hhcmdlbWVudC4uLlwiLFxuICBzb21ldGhpbmdfd2VudF93cm9uZzogXCJRdWVscXVlIGNob3NlIGEgbWFsIHRvdXJuw6lcIixcbiAgbm9fc3VwcG9ydGVkX3dhbGxldHM6IFwiSWwgbid5IGEgcGFzIGVuY29yZSBkZSBwb3J0ZWZldWlsbGVzIHByaXMgZW4gY2hhcmdlXCIsXG4gIG5vX3dhbGxldHNfZm91bmQ6IFwiQXVjdW4gcG9ydGVmZXVpbGxlIHRyb3V2w6lcIlxufTtcblxudmFyIGtvID0ge1xuICBjaG9vc2VfcHJlZmVycmVkX3dhbGxldDogXCLsm5DtlZjripQg7KeA6rCR7J2EIOyEoO2Dne2VmOyEuOyalFwiLFxuICBjb25uZWN0X21vYmlsZV93YWxsZXQ6IFwi66qo67CU7J28IOyngOqwkeqzvCDsl7DqsrBcIixcbiAgc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IFwiV2FsbGV0Q29ubmVjdCDsp4Dsm5Ag7KeA6rCR7JeQ7IScIFFS7L2U65Oc66W8IOyKpOy6lO2VmOyEuOyalFwiLFxuICBjb25uZWN0OiBcIuyXsOqysFwiLFxuICBxcmNvZGU6IFwiUVIg7L2U65OcXCIsXG4gIG1vYmlsZTogXCLrqqjrsJTsnbxcIixcbiAgZGVza3RvcDogXCLrjbDsiqTtgaztg5FcIixcbiAgY29weV90b19jbGlwYm9hcmQ6IFwi7YG066a967O065Oc7JeQIOuzteyCrFwiLFxuICBjb3BpZWRfdG9fY2xpcGJvYXJkOiBcIu2BtOumveuztOuTnOyXkCDrs7XsgqzrkJjsl4jsirXri4jri6QhXCIsXG4gIGNvbm5lY3Rfd2l0aDogXCLsmYAg7Jew6rKw7ZWY64ukXCIsXG4gIGxvYWRpbmc6IFwi66Gc65OcIOykkS4uLlwiLFxuICBzb21ldGhpbmdfd2VudF93cm9uZzogXCLrrLjsoJzqsIAg67Cc7IOd7ZaI7Iq164uI64ukLlwiLFxuICBub19zdXBwb3J0ZWRfd2FsbGV0czogXCLslYTsp4Eg7KeA7JuQ65CY64qUIOyngOqwkeydtCDsl4bsirXri4jri6RcIixcbiAgbm9fd2FsbGV0c19mb3VuZDogXCLsp4DqsJHsnYQg7LC+7J2EIOyImCDsl4bsirXri4jri6RcIlxufTtcblxudmFyIHB0ID0ge1xuICBjaG9vc2VfcHJlZmVycmVkX3dhbGxldDogXCJFc2NvbGhhIHN1YSBjYXJ0ZWlyYSBwcmVmZXJpZGFcIixcbiAgY29ubmVjdF9tb2JpbGVfd2FsbGV0OiBcIkNvbmVjdGFyLXNlIMOgIGNhcnRlaXJhIG3Ds3ZlbFwiLFxuICBzY2FuX3FyY29kZV93aXRoX3dhbGxldDogXCJMZXIgbyBjw7NkaWdvIFFSIGNvbSB1bWEgY2FydGVpcmEgY29tcGF0w612ZWwgY29tIFdhbGxldENvbm5lY3RcIixcbiAgY29ubmVjdDogXCJDb25lY3RhclwiLFxuICBxcmNvZGU6IFwiQ8OzZGlnbyBRUlwiLFxuICBtb2JpbGU6IFwiTcOzdmVsXCIsXG4gIGRlc2t0b3A6IFwiRGVza3RvcFwiLFxuICBjb3B5X3RvX2NsaXBib2FyZDogXCJDb3BpYXJcIixcbiAgY29waWVkX3RvX2NsaXBib2FyZDogXCJDb3BpYWRvIVwiLFxuICBjb25uZWN0X3dpdGg6IFwiTGlnYXIgcG9yIG1laW8gZGVcIixcbiAgbG9hZGluZzogXCJDYXJyZWdhbWVudG8uLi5cIixcbiAgc29tZXRoaW5nX3dlbnRfd3Jvbmc6IFwiQWxnbyBjb3JyZXUgbWFsXCIsXG4gIG5vX3N1cHBvcnRlZF93YWxsZXRzOiBcIkFpbmRhIG7Do28gaMOhIGNhcnRlaXJhcyBzdXBvcnRhZGFzXCIsXG4gIG5vX3dhbGxldHNfZm91bmQ6IFwiTmVuaHVtYSBjYXJ0ZWlyYSBlbmNvbnRyYWRhXCJcbn07XG5cbnZhciB6aCA9IHtcbiAgY2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IFwi6YCJ5oup5L2g55qE6ZKx5YyFXCIsXG4gIGNvbm5lY3RfbW9iaWxlX3dhbGxldDogXCLov57mjqXoh7Pnp7vliqjnq6/pkrHljIVcIixcbiAgc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IFwi5L2/55So5YW85a65IFdhbGxldENvbm5lY3Qg55qE6ZKx5YyF5omr5o+P5LqM57u056CBXCIsXG4gIGNvbm5lY3Q6IFwi6L+e5o6lXCIsXG4gIHFyY29kZTogXCLkuoznu7TnoIFcIixcbiAgbW9iaWxlOiBcIuenu+WKqFwiLFxuICBkZXNrdG9wOiBcIuahjOmdolwiLFxuICBjb3B5X3RvX2NsaXBib2FyZDogXCLlpI3liLbliLDliarotLTmnb9cIixcbiAgY29waWVkX3RvX2NsaXBib2FyZDogXCLlpI3liLbliLDliarotLTmnb/miJDlip/vvIFcIixcbiAgY29ubmVjdF93aXRoOiBcIumAmui/h+S7peS4i+aWueW8j+i/nuaOpVwiLFxuICBsb2FkaW5nOiBcIuato+WcqOWKoOi9vS4uLlwiLFxuICBzb21ldGhpbmdfd2VudF93cm9uZzogXCLlh7rkuobpl67pophcIixcbiAgbm9fc3VwcG9ydGVkX3dhbGxldHM6IFwi55uu5YmN6L+Y5rKh5pyJ5pSv5oyB55qE6ZKx5YyFXCIsXG4gIG5vX3dhbGxldHNfZm91bmQ6IFwi5rKh5pyJ5om+5Yiw6ZKx5YyFXCJcbn07XG5cbnZhciBmYSA9IHtcbiAgY2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IFwi2qnbjNmBINm+2YjZhCDZhdmI2LHYryDZhti42LEg2K7ZiNivINix2Kcg2KfZhtiq2K7Yp9ioINqp2YbbjNivXCIsXG4gIGNvbm5lY3RfbW9iaWxlX3dhbGxldDogXCLYqNmHINqp24zZgSDZvtmI2YQg2YXZiNio2KfbjNmEINmI2LXZhCDYtNmI24zYr1wiLFxuICBzY2FuX3FyY29kZV93aXRoX3dhbGxldDogXCLaqdivIFFSINix2Kcg2KjYpyDbjNqpINqp24zZgSDZvtmI2YQg2LPYp9iy2q/Yp9ixINio2KcgV2FsbGV0Q29ubmVjdCDYp9iz2qnZhiDaqdmG24zYr1wiLFxuICBjb25uZWN0OiBcItin2KrYtdin2YRcIixcbiAgcXJjb2RlOiBcItqp2K8gUVJcIixcbiAgbW9iaWxlOiBcItiz24zYp9ixXCIsXG4gIGRlc2t0b3A6IFwi2K/Ys9qp2KrYp9m+XCIsXG4gIGNvcHlfdG9fY2xpcGJvYXJkOiBcItqp2b7bjCDYqNmHINqp2YTbjNm+INio2YjYsdivXCIsXG4gIGNvcGllZF90b19jbGlwYm9hcmQ6IFwi2K/YsSDaqdmE24zZviDYqNmI2LHYryDaqdm+24wg2LTYryFcIixcbiAgY29ubmVjdF93aXRoOiBcItin2LHYqtio2KfYtyDYqNinXCIsXG4gIGxvYWRpbmc6IFwiLi4u2KjYp9ix2q/YsNin2LHbjFwiLFxuICBzb21ldGhpbmdfd2VudF93cm9uZzogXCLZhdi02qnZhNuMINm+24zYtCDYotmF2K9cIixcbiAgbm9fc3VwcG9ydGVkX3dhbGxldHM6IFwi2YfZhtmI2LIg2YfbjNqGINqp24zZgSDZvtmI2YQg2b7YtNiq24zYqNin2YbbjCDYtNiv2Ycg2KfbjCDZiNis2YjYryDZhtiv2KfYsdivXCIsXG4gIG5vX3dhbGxldHNfZm91bmQ6IFwi2YfbjNqGINqp24zZgSDZvtmI2YTbjCDZvtuM2K/YpyDZhti02K9cIlxufTtcblxudmFyIGxhbmd1YWdlcyA9IHtcbiAgZGU6IGRlLFxuICBlbjogZW4sXG4gIGVzOiBlcyxcbiAgZnI6IGZyLFxuICBrbzoga28sXG4gIHB0OiBwdCxcbiAgemg6IHpoLFxuICBmYTogZmFcbn07XG5cbmZ1bmN0aW9uIGluamVjdFN0eWxlU2hlZXQoKSB7XG4gIHZhciBkb2MgPSBsZWdhY3lVdGlscy5nZXREb2N1bWVudE9yVGhyb3coKTtcbiAgdmFyIHByZXYgPSBkb2MuZ2V0RWxlbWVudEJ5SWQoV0FMTEVUQ09OTkVDVF9TVFlMRV9JRCk7XG4gIGlmIChwcmV2KSB7XG4gICAgZG9jLmhlYWQucmVtb3ZlQ2hpbGQocHJldik7XG4gIH1cbiAgdmFyIHN0eWxlID0gZG9jLmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgc3R5bGUuc2V0QXR0cmlidXRlKFwiaWRcIiwgV0FMTEVUQ09OTkVDVF9TVFlMRV9JRCk7XG4gIHN0eWxlLmlubmVyVGV4dCA9IFdBTExFVENPTk5FQ1RfU1RZTEVfU0hFRVQ7XG4gIGRvYy5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbn1cbmZ1bmN0aW9uIHJlbmRlcldyYXBwZXIoKSB7XG4gIHZhciBkb2MgPSBsZWdhY3lVdGlscy5nZXREb2N1bWVudE9yVGhyb3coKTtcbiAgdmFyIHdyYXBwZXIgPSBkb2MuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgd3JhcHBlci5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBXQUxMRVRDT05ORUNUX1dSQVBQRVJfSUQpO1xuICBkb2MuYm9keS5hcHBlbmRDaGlsZCh3cmFwcGVyKTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG5mdW5jdGlvbiB0cmlnZ2VyQ2xvc2VBbmltYXRpb24oKSB7XG4gIHZhciBkb2MgPSBsZWdhY3lVdGlscy5nZXREb2N1bWVudE9yVGhyb3coKTtcbiAgdmFyIG1vZGFsID0gZG9jLmdldEVsZW1lbnRCeUlkKFdBTExFVENPTk5FQ1RfTU9EQUxfSUQpO1xuICBpZiAobW9kYWwpIHtcbiAgICBtb2RhbC5jbGFzc05hbWUgPSBtb2RhbC5jbGFzc05hbWUucmVwbGFjZShcImZhZGVJblwiLCBcImZhZGVPdXRcIik7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgd3JhcHBlciA9IGRvYy5nZXRFbGVtZW50QnlJZChXQUxMRVRDT05ORUNUX1dSQVBQRVJfSUQpO1xuICAgICAgaWYgKHdyYXBwZXIpIHtcbiAgICAgICAgZG9jLmJvZHkucmVtb3ZlQ2hpbGQod3JhcHBlcik7XG4gICAgICB9XG4gICAgfSwgQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0V3JhcHBlZENhbGxiYWNrKGNiKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgdHJpZ2dlckNsb3NlQW5pbWF0aW9uKCk7XG4gICAgaWYgKGNiKSB7XG4gICAgICBjYigpO1xuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFRleHQoKSB7XG4gIHZhciBsYW5nID0gbGVnYWN5VXRpbHMuZ2V0TmF2aWdhdG9yT3JUaHJvdygpLmxhbmd1YWdlLnNwbGl0KFwiLVwiKVswXSB8fCBcImVuXCI7XG4gIHJldHVybiBsYW5ndWFnZXNbbGFuZ10gfHwgbGFuZ3VhZ2VzW1wiZW5cIl07XG59XG5mdW5jdGlvbiBvcGVuJDEodXJpLCBjYiwgcXJjb2RlTW9kYWxPcHRpb25zKSB7XG4gIGluamVjdFN0eWxlU2hlZXQoKTtcbiAgdmFyIHdyYXBwZXIgPSByZW5kZXJXcmFwcGVyKCk7XG4gIFJlYWN0LnJlbmRlcihSZWFjdC5jcmVhdGVFbGVtZW50KE1vZGFsLCB7XG4gICAgdGV4dDogZ2V0VGV4dCgpLFxuICAgIHVyaTogdXJpLFxuICAgIG9uQ2xvc2U6IGdldFdyYXBwZWRDYWxsYmFjayhjYiksXG4gICAgcXJjb2RlTW9kYWxPcHRpb25zOiBxcmNvZGVNb2RhbE9wdGlvbnNcbiAgfSksIHdyYXBwZXIpO1xufVxuZnVuY3Rpb24gY2xvc2UkMSgpIHtcbiAgdHJpZ2dlckNsb3NlQW5pbWF0aW9uKCk7XG59XG5cbnZhciBpc05vZGUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlb2YgcHJvY2VzcyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlICE9PSBcInVuZGVmaW5lZFwiOyB9O1xuZnVuY3Rpb24gb3BlbiQyKHVyaSwgY2IsIHFyY29kZU1vZGFsT3B0aW9ucykge1xuICBjb25zb2xlLmxvZyh1cmkpO1xuICBpZiAoaXNOb2RlKCkpIHtcbiAgICBvcGVuKHVyaSk7XG4gIH0gZWxzZSB7XG4gICAgb3BlbiQxKHVyaSwgY2IsIHFyY29kZU1vZGFsT3B0aW9ucyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGNsb3NlJDIoKSB7XG4gIGlmIChpc05vZGUoKSkgOyBlbHNlIHtcbiAgICBjbG9zZSQxKCk7XG4gIH1cbn1cbnZhciBpbmRleCA9IHtcbiAgb3Blbjogb3BlbiQyLFxuICBjbG9zZTogY2xvc2UkMlxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBpbmRleDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-modal/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-provider/dist/esm/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-provider/dist/esm/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/jsonrpc-provider */ \"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/jsonrpc-http-connection */ \"./node_modules/@walletconnect/jsonrpc-http-connection/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/legacy-types */ \"./node_modules/@walletconnect/legacy-types/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @walletconnect/legacy-utils */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\");\n/* harmony import */ var _signer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./signer */ \"./node_modules/@walletconnect/legacy-provider/dist/esm/signer.js\");\n\n\n\n\n\n\nclass WalletConnectProvider {\n constructor(opts) {\n this.events = new (events__WEBPACK_IMPORTED_MODULE_0___default())();\n this.rpc = { infuraId: opts === null || opts === void 0 ? void 0 : opts.infuraId, custom: opts === null || opts === void 0 ? void 0 : opts.rpc };\n this.signer = new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_1__.JsonRpcProvider(new _signer__WEBPACK_IMPORTED_MODULE_5__.SignerConnection(opts));\n const chainId = this.signer.connection.chainId || (opts === null || opts === void 0 ? void 0 : opts.chainId) || 1;\n this.http = this.setHttpProvider(chainId);\n this.registerEventListeners();\n }\n get connected() {\n return this.signer.connection.connected;\n }\n get connector() {\n return this.signer.connection.connector;\n }\n get accounts() {\n return this.signer.connection.accounts;\n }\n get chainId() {\n return this.signer.connection.chainId;\n }\n get rpcUrl() {\n var _a;\n return ((_a = this.http) === null || _a === void 0 ? void 0 : _a.connection).url || \"\";\n }\n async request(args) {\n switch (args.method) {\n case \"eth_requestAccounts\":\n await this.connect();\n return this.signer.connection.accounts;\n case \"eth_accounts\":\n return this.signer.connection.accounts;\n case \"eth_chainId\":\n return this.signer.connection.chainId;\n default:\n break;\n }\n if (_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_3__.SIGNING_METHODS.includes(args.method)) {\n return this.signer.request(args);\n }\n if (typeof this.http === \"undefined\") {\n throw new Error(`Cannot request JSON-RPC method (${args.method}) without provided rpc url`);\n }\n return this.http.request(args);\n }\n sendAsync(args, callback) {\n this.request(args)\n .then(response => callback(null, response))\n .catch(error => callback(error, undefined));\n }\n async enable() {\n const accounts = await this.request({ method: \"eth_requestAccounts\" });\n return accounts;\n }\n async connect() {\n if (!this.signer.connection.connected) {\n await this.signer.connect();\n }\n }\n async disconnect() {\n if (this.signer.connection.connected) {\n await this.signer.disconnect();\n }\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n get isWalletConnect() {\n return true;\n }\n registerEventListeners() {\n this.signer.connection.on(\"accountsChanged\", accounts => {\n this.events.emit(\"accountsChanged\", accounts);\n });\n this.signer.connection.on(\"chainChanged\", chainId => {\n this.http = this.setHttpProvider(chainId);\n this.events.emit(\"chainChanged\", chainId);\n });\n this.signer.on(\"disconnect\", () => {\n this.events.emit(\"disconnect\");\n });\n }\n setHttpProvider(chainId) {\n const rpcUrl = (0,_walletconnect_legacy_utils__WEBPACK_IMPORTED_MODULE_4__.getRpcUrl)(chainId, this.rpc);\n if (typeof rpcUrl === \"undefined\")\n return undefined;\n const http = new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_1__.JsonRpcProvider(new _walletconnect_jsonrpc_http_connection__WEBPACK_IMPORTED_MODULE_2__.HttpConnection(rpcUrl));\n return http;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (WalletConnectProvider);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXByb3ZpZGVyL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWtDO0FBQ2dDO0FBQ007QUFDVDtBQUNQO0FBQ1o7QUFDNUM7QUFDQTtBQUNBLDBCQUEwQiwrQ0FBWTtBQUN0QyxxQkFBcUI7QUFDckIsMEJBQTBCLDRFQUFlLEtBQUsscURBQWdCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHdFQUFlO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxZQUFZO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QywrQkFBK0I7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx1QkFBdUIsc0VBQVM7QUFDaEM7QUFDQTtBQUNBLHlCQUF5Qiw0RUFBZSxLQUFLLGtGQUFjO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLCtEQUFlLHFCQUFxQixFQUFDO0FBQ3JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktcHJvdmlkZXIvZGlzdC9lc20vaW5kZXguanM/NmFiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCJldmVudHNcIjtcbmltcG9ydCB7IEpzb25ScGNQcm92aWRlciB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBIdHRwQ29ubmVjdGlvbiB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9qc29ucnBjLWh0dHAtY29ubmVjdGlvblwiO1xuaW1wb3J0IHsgU0lHTklOR19NRVRIT0RTLCB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXNcIjtcbmltcG9ydCB7IGdldFJwY1VybCB9IGZyb20gXCJAd2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHNcIjtcbmltcG9ydCB7IFNpZ25lckNvbm5lY3Rpb24gfSBmcm9tIFwiLi9zaWduZXJcIjtcbmNsYXNzIFdhbGxldENvbm5lY3RQcm92aWRlciB7XG4gICAgY29uc3RydWN0b3Iob3B0cykge1xuICAgICAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5ycGMgPSB7IGluZnVyYUlkOiBvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuaW5mdXJhSWQsIGN1c3RvbTogb3B0cyA9PT0gbnVsbCB8fCBvcHRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRzLnJwYyB9O1xuICAgICAgICB0aGlzLnNpZ25lciA9IG5ldyBKc29uUnBjUHJvdmlkZXIobmV3IFNpZ25lckNvbm5lY3Rpb24ob3B0cykpO1xuICAgICAgICBjb25zdCBjaGFpbklkID0gdGhpcy5zaWduZXIuY29ubmVjdGlvbi5jaGFpbklkIHx8IChvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuY2hhaW5JZCkgfHwgMTtcbiAgICAgICAgdGhpcy5odHRwID0gdGhpcy5zZXRIdHRwUHJvdmlkZXIoY2hhaW5JZCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpO1xuICAgIH1cbiAgICBnZXQgY29ubmVjdGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWduZXIuY29ubmVjdGlvbi5jb25uZWN0ZWQ7XG4gICAgfVxuICAgIGdldCBjb25uZWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25lci5jb25uZWN0aW9uLmNvbm5lY3RvcjtcbiAgICB9XG4gICAgZ2V0IGFjY291bnRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWduZXIuY29ubmVjdGlvbi5hY2NvdW50cztcbiAgICB9XG4gICAgZ2V0IGNoYWluSWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25lci5jb25uZWN0aW9uLmNoYWluSWQ7XG4gICAgfVxuICAgIGdldCBycGNVcmwoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuICgoX2EgPSB0aGlzLmh0dHApID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb25uZWN0aW9uKS51cmwgfHwgXCJcIjtcbiAgICB9XG4gICAgYXN5bmMgcmVxdWVzdChhcmdzKSB7XG4gICAgICAgIHN3aXRjaCAoYXJncy5tZXRob2QpIHtcbiAgICAgICAgICAgIGNhc2UgXCJldGhfcmVxdWVzdEFjY291bnRzXCI6XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmVyLmNvbm5lY3Rpb24uYWNjb3VudHM7XG4gICAgICAgICAgICBjYXNlIFwiZXRoX2FjY291bnRzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmVyLmNvbm5lY3Rpb24uYWNjb3VudHM7XG4gICAgICAgICAgICBjYXNlIFwiZXRoX2NoYWluSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaWduZXIuY29ubmVjdGlvbi5jaGFpbklkO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoU0lHTklOR19NRVRIT0RTLmluY2x1ZGVzKGFyZ3MubWV0aG9kKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmVyLnJlcXVlc3QoYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmh0dHAgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlcXVlc3QgSlNPTi1SUEMgbWV0aG9kICgke2FyZ3MubWV0aG9kfSkgd2l0aG91dCBwcm92aWRlZCBycGMgdXJsYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0KGFyZ3MpO1xuICAgIH1cbiAgICBzZW5kQXN5bmMoYXJncywgY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0KGFyZ3MpXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiBjYWxsYmFjayhudWxsLCByZXNwb25zZSkpXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4gY2FsbGJhY2soZXJyb3IsIHVuZGVmaW5lZCkpO1xuICAgIH1cbiAgICBhc3luYyBlbmFibGUoKSB7XG4gICAgICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgdGhpcy5yZXF1ZXN0KHsgbWV0aG9kOiBcImV0aF9yZXF1ZXN0QWNjb3VudHNcIiB9KTtcbiAgICAgICAgcmV0dXJuIGFjY291bnRzO1xuICAgIH1cbiAgICBhc3luYyBjb25uZWN0KCkge1xuICAgICAgICBpZiAoIXRoaXMuc2lnbmVyLmNvbm5lY3Rpb24uY29ubmVjdGVkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNpZ25lci5jb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgZGlzY29ubmVjdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2lnbmVyLmNvbm5lY3Rpb24uY29ubmVjdGVkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNpZ25lci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb24oZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9uY2UoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uY2UoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgcmVtb3ZlTGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9mZihldmVudCwgbGlzdGVuZXIpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub2ZmKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIGdldCBpc1dhbGxldENvbm5lY3QoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZWdpc3RlckV2ZW50TGlzdGVuZXJzKCkge1xuICAgICAgICB0aGlzLnNpZ25lci5jb25uZWN0aW9uLm9uKFwiYWNjb3VudHNDaGFuZ2VkXCIsIGFjY291bnRzID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJhY2NvdW50c0NoYW5nZWRcIiwgYWNjb3VudHMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zaWduZXIuY29ubmVjdGlvbi5vbihcImNoYWluQ2hhbmdlZFwiLCBjaGFpbklkID0+IHtcbiAgICAgICAgICAgIHRoaXMuaHR0cCA9IHRoaXMuc2V0SHR0cFByb3ZpZGVyKGNoYWluSWQpO1xuICAgICAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcImNoYWluQ2hhbmdlZFwiLCBjaGFpbklkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2lnbmVyLm9uKFwiZGlzY29ubmVjdFwiLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiZGlzY29ubmVjdFwiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNldEh0dHBQcm92aWRlcihjaGFpbklkKSB7XG4gICAgICAgIGNvbnN0IHJwY1VybCA9IGdldFJwY1VybChjaGFpbklkLCB0aGlzLnJwYyk7XG4gICAgICAgIGlmICh0eXBlb2YgcnBjVXJsID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaHR0cCA9IG5ldyBKc29uUnBjUHJvdmlkZXIobmV3IEh0dHBDb25uZWN0aW9uKHJwY1VybCkpO1xuICAgICAgICByZXR1cm4gaHR0cDtcbiAgICB9XG59XG5leHBvcnQgZGVmYXVsdCBXYWxsZXRDb25uZWN0UHJvdmlkZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-provider/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-provider/dist/esm/signer.js": -/*!************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-provider/dist/esm/signer.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SignerConnection: function() { return /* binding */ SignerConnection; }\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_legacy_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/legacy-client */ \"./node_modules/@walletconnect/legacy-client/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/legacy-modal */ \"./node_modules/@walletconnect/legacy-modal/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_legacy_modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_legacy_modal__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/jsonrpc-types */ \"./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n\n\n\n\n\nclass SignerConnection extends _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_3__.IJsonRpcConnection {\n constructor(opts) {\n super();\n this.events = new (events__WEBPACK_IMPORTED_MODULE_0___default())();\n this.accounts = [];\n this.chainId = 1;\n this.pending = false;\n this.bridge = \"https://bridge.walletconnect.org\";\n this.qrcode = true;\n this.qrcodeModalOptions = undefined;\n this.opts = opts;\n this.chainId = (opts === null || opts === void 0 ? void 0 : opts.chainId) || this.chainId;\n this.wc = this.register(opts);\n }\n get connected() {\n return typeof this.wc !== \"undefined\" && this.wc.connected;\n }\n get connecting() {\n return this.pending;\n }\n get connector() {\n this.wc = this.register(this.opts);\n return this.wc;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(chainId) {\n if (this.connected) {\n this.onOpen();\n return;\n }\n return new Promise((resolve, reject) => {\n this.on(\"error\", err => {\n reject(err);\n });\n this.on(\"open\", () => {\n resolve();\n });\n this.create(chainId);\n });\n }\n async close() {\n if (typeof this.wc === \"undefined\")\n return;\n if (this.wc.connected) {\n this.wc.killSession();\n }\n this.onClose();\n }\n async send(payload) {\n this.wc = this.register(this.opts);\n if (!this.connected)\n await this.open();\n this.sendPayload(payload)\n .then((res) => this.events.emit(\"payload\", res))\n .catch(e => this.events.emit(\"payload\", (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_4__.formatJsonRpcError)(payload.id, e.message)));\n }\n register(opts) {\n if (this.wc)\n return this.wc;\n this.opts = opts || this.opts;\n this.bridge = (opts === null || opts === void 0 ? void 0 : opts.connector) ? opts.connector.bridge\n : (opts === null || opts === void 0 ? void 0 : opts.bridge) || \"https://bridge.walletconnect.org\";\n this.qrcode = typeof (opts === null || opts === void 0 ? void 0 : opts.qrcode) === \"undefined\" || opts.qrcode !== false;\n this.chainId = typeof (opts === null || opts === void 0 ? void 0 : opts.chainId) !== \"undefined\" ? opts.chainId : this.chainId;\n this.qrcodeModalOptions = opts === null || opts === void 0 ? void 0 : opts.qrcodeModalOptions;\n const connectorOpts = {\n bridge: this.bridge,\n qrcodeModal: this.qrcode ? (_walletconnect_legacy_modal__WEBPACK_IMPORTED_MODULE_2___default()) : undefined,\n qrcodeModalOptions: this.qrcodeModalOptions,\n storageId: opts === null || opts === void 0 ? void 0 : opts.storageId,\n signingMethods: opts === null || opts === void 0 ? void 0 : opts.signingMethods,\n clientMeta: opts === null || opts === void 0 ? void 0 : opts.clientMeta,\n };\n this.wc =\n typeof (opts === null || opts === void 0 ? void 0 : opts.connector) !== \"undefined\" ? opts.connector : new _walletconnect_legacy_client__WEBPACK_IMPORTED_MODULE_1__[\"default\"](connectorOpts);\n if (typeof this.wc === \"undefined\") {\n throw new Error(\"Failed to register WalletConnect connector\");\n }\n if (this.wc.accounts.length) {\n this.accounts = this.wc.accounts;\n }\n if (this.wc.chainId) {\n this.chainId = this.wc.chainId;\n }\n this.registerConnectorEvents();\n return this.wc;\n }\n onOpen(wc) {\n this.pending = false;\n if (wc) {\n this.wc = wc;\n }\n this.events.emit(\"open\");\n }\n onClose() {\n this.pending = false;\n if (this.wc) {\n this.wc = undefined;\n }\n this.events.emit(\"close\");\n }\n onError(payload, message = \"Failed or Rejected Request\", code = -32000) {\n const errorPayload = {\n id: payload.id,\n jsonrpc: payload.jsonrpc,\n error: { code, message },\n };\n this.events.emit(\"payload\", errorPayload);\n return errorPayload;\n }\n create(chainId) {\n this.wc = this.register(this.opts);\n this.chainId = chainId || this.chainId;\n if (this.connected || this.pending)\n return;\n this.pending = true;\n this.registerConnectorEvents();\n this.wc\n .createSession({ chainId: this.chainId })\n .then(() => this.events.emit(\"created\"))\n .catch((e) => this.events.emit(\"error\", e));\n }\n registerConnectorEvents() {\n this.wc = this.register(this.opts);\n this.wc.on(\"connect\", (err) => {\n var _a, _b;\n if (err) {\n this.events.emit(\"error\", err);\n return;\n }\n this.accounts = ((_a = this.wc) === null || _a === void 0 ? void 0 : _a.accounts) || [];\n this.chainId = ((_b = this.wc) === null || _b === void 0 ? void 0 : _b.chainId) || this.chainId;\n this.onOpen();\n });\n this.wc.on(\"disconnect\", (err) => {\n if (err) {\n this.events.emit(\"error\", err);\n return;\n }\n this.onClose();\n });\n this.wc.on(\"modal_closed\", () => {\n this.events.emit(\"error\", new Error(\"User closed modal\"));\n });\n this.wc.on(\"session_update\", (error, payload) => {\n const { accounts, chainId } = payload.params[0];\n if (!this.accounts || (accounts && this.accounts !== accounts)) {\n this.accounts = accounts;\n this.events.emit(\"accountsChanged\", accounts);\n }\n if (!this.chainId || (chainId && this.chainId !== chainId)) {\n this.chainId = chainId;\n this.events.emit(\"chainChanged\", chainId);\n }\n });\n }\n async sendPayload(payload) {\n this.wc = this.register(this.opts);\n try {\n const response = await this.wc.unsafeSend(payload);\n return this.sanitizeResponse(response);\n }\n catch (error) {\n return this.onError(payload, error.message);\n }\n }\n sanitizeResponse(response) {\n return typeof response.error !== \"undefined\" &&\n typeof response.error.code === \"undefined\"\n ? (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_4__.formatJsonRpcError)(response.id, response.error.message, response.error.data)\n : response;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (SignerConnection);\n//# sourceMappingURL=signer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXByb3ZpZGVyL2Rpc3QvZXNtL3NpZ25lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFrQztBQUN1QjtBQUNIO0FBQ1k7QUFDQTtBQUMzRCwrQkFBK0IsNEVBQWtCO0FBQ3hEO0FBQ0E7QUFDQSwwQkFBMEIsK0NBQVk7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsZ0ZBQWtCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxvRUFBVztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1SEFBdUgsb0VBQWE7QUFDcEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGVBQWU7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHVCQUF1QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLGdGQUFrQjtBQUNoQztBQUNBO0FBQ0E7QUFDQSwrREFBZSxnQkFBZ0IsRUFBQztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXByb3ZpZGVyL2Rpc3QvZXNtL3NpZ25lci5qcz8xYTI1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiO1xuaW1wb3J0IFdhbGxldENvbm5lY3QgZnJvbSBcIkB3YWxsZXRjb25uZWN0L2xlZ2FjeS1jbGllbnRcIjtcbmltcG9ydCBRUkNvZGVNb2RhbCBmcm9tIFwiQHdhbGxldGNvbm5lY3QvbGVnYWN5LW1vZGFsXCI7XG5pbXBvcnQgeyBJSnNvblJwY0Nvbm5lY3Rpb24gfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy10eXBlc1wiO1xuaW1wb3J0IHsgZm9ybWF0SnNvblJwY0Vycm9yIH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L2pzb25ycGMtdXRpbHNcIjtcbmV4cG9ydCBjbGFzcyBTaWduZXJDb25uZWN0aW9uIGV4dGVuZHMgSUpzb25ScGNDb25uZWN0aW9uIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgICAgICB0aGlzLmFjY291bnRzID0gW107XG4gICAgICAgIHRoaXMuY2hhaW5JZCA9IDE7XG4gICAgICAgIHRoaXMucGVuZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJyaWRnZSA9IFwiaHR0cHM6Ly9icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmdcIjtcbiAgICAgICAgdGhpcy5xcmNvZGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnFyY29kZU1vZGFsT3B0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5vcHRzID0gb3B0cztcbiAgICAgICAgdGhpcy5jaGFpbklkID0gKG9wdHMgPT09IG51bGwgfHwgb3B0cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0cy5jaGFpbklkKSB8fCB0aGlzLmNoYWluSWQ7XG4gICAgICAgIHRoaXMud2MgPSB0aGlzLnJlZ2lzdGVyKG9wdHMpO1xuICAgIH1cbiAgICBnZXQgY29ubmVjdGVkKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMud2MgIT09IFwidW5kZWZpbmVkXCIgJiYgdGhpcy53Yy5jb25uZWN0ZWQ7XG4gICAgfVxuICAgIGdldCBjb25uZWN0aW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wZW5kaW5nO1xuICAgIH1cbiAgICBnZXQgY29ubmVjdG9yKCkge1xuICAgICAgICB0aGlzLndjID0gdGhpcy5yZWdpc3Rlcih0aGlzLm9wdHMpO1xuICAgICAgICByZXR1cm4gdGhpcy53YztcbiAgICB9XG4gICAgb24oZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIG9uY2UoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9uY2UoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgb2ZmKGV2ZW50LCBsaXN0ZW5lcikge1xuICAgICAgICB0aGlzLmV2ZW50cy5vZmYoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG4gICAgcmVtb3ZlTGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfVxuICAgIGFzeW5jIG9wZW4oY2hhaW5JZCkge1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMub24oXCJlcnJvclwiLCBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLm9uKFwib3BlblwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZShjaGFpbklkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIGNsb3NlKCkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMud2MgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLndjLmNvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy53Yy5raWxsU2Vzc2lvbigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgICBhc3luYyBzZW5kKHBheWxvYWQpIHtcbiAgICAgICAgdGhpcy53YyA9IHRoaXMucmVnaXN0ZXIodGhpcy5vcHRzKTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3RlZClcbiAgICAgICAgICAgIGF3YWl0IHRoaXMub3BlbigpO1xuICAgICAgICB0aGlzLnNlbmRQYXlsb2FkKHBheWxvYWQpXG4gICAgICAgICAgICAudGhlbigocmVzKSA9PiB0aGlzLmV2ZW50cy5lbWl0KFwicGF5bG9hZFwiLCByZXMpKVxuICAgICAgICAgICAgLmNhdGNoKGUgPT4gdGhpcy5ldmVudHMuZW1pdChcInBheWxvYWRcIiwgZm9ybWF0SnNvblJwY0Vycm9yKHBheWxvYWQuaWQsIGUubWVzc2FnZSkpKTtcbiAgICB9XG4gICAgcmVnaXN0ZXIob3B0cykge1xuICAgICAgICBpZiAodGhpcy53YylcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndjO1xuICAgICAgICB0aGlzLm9wdHMgPSBvcHRzIHx8IHRoaXMub3B0cztcbiAgICAgICAgdGhpcy5icmlkZ2UgPSAob3B0cyA9PT0gbnVsbCB8fCBvcHRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRzLmNvbm5lY3RvcikgPyBvcHRzLmNvbm5lY3Rvci5icmlkZ2VcbiAgICAgICAgICAgIDogKG9wdHMgPT09IG51bGwgfHwgb3B0cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0cy5icmlkZ2UpIHx8IFwiaHR0cHM6Ly9icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmdcIjtcbiAgICAgICAgdGhpcy5xcmNvZGUgPSB0eXBlb2YgKG9wdHMgPT09IG51bGwgfHwgb3B0cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0cy5xcmNvZGUpID09PSBcInVuZGVmaW5lZFwiIHx8IG9wdHMucXJjb2RlICE9PSBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGFpbklkID0gdHlwZW9mIChvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuY2hhaW5JZCkgIT09IFwidW5kZWZpbmVkXCIgPyBvcHRzLmNoYWluSWQgOiB0aGlzLmNoYWluSWQ7XG4gICAgICAgIHRoaXMucXJjb2RlTW9kYWxPcHRpb25zID0gb3B0cyA9PT0gbnVsbCB8fCBvcHRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRzLnFyY29kZU1vZGFsT3B0aW9ucztcbiAgICAgICAgY29uc3QgY29ubmVjdG9yT3B0cyA9IHtcbiAgICAgICAgICAgIGJyaWRnZTogdGhpcy5icmlkZ2UsXG4gICAgICAgICAgICBxcmNvZGVNb2RhbDogdGhpcy5xcmNvZGUgPyBRUkNvZGVNb2RhbCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHFyY29kZU1vZGFsT3B0aW9uczogdGhpcy5xcmNvZGVNb2RhbE9wdGlvbnMsXG4gICAgICAgICAgICBzdG9yYWdlSWQ6IG9wdHMgPT09IG51bGwgfHwgb3B0cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0cy5zdG9yYWdlSWQsXG4gICAgICAgICAgICBzaWduaW5nTWV0aG9kczogb3B0cyA9PT0gbnVsbCB8fCBvcHRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRzLnNpZ25pbmdNZXRob2RzLFxuICAgICAgICAgICAgY2xpZW50TWV0YTogb3B0cyA9PT0gbnVsbCB8fCBvcHRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRzLmNsaWVudE1ldGEsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMud2MgPVxuICAgICAgICAgICAgdHlwZW9mIChvcHRzID09PSBudWxsIHx8IG9wdHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdHMuY29ubmVjdG9yKSAhPT0gXCJ1bmRlZmluZWRcIiA/IG9wdHMuY29ubmVjdG9yIDogbmV3IFdhbGxldENvbm5lY3QoY29ubmVjdG9yT3B0cyk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy53YyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIHJlZ2lzdGVyIFdhbGxldENvbm5lY3QgY29ubmVjdG9yXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLndjLmFjY291bnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hY2NvdW50cyA9IHRoaXMud2MuYWNjb3VudHM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMud2MuY2hhaW5JZCkge1xuICAgICAgICAgICAgdGhpcy5jaGFpbklkID0gdGhpcy53Yy5jaGFpbklkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVnaXN0ZXJDb25uZWN0b3JFdmVudHMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMud2M7XG4gICAgfVxuICAgIG9uT3Blbih3Yykge1xuICAgICAgICB0aGlzLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKHdjKSB7XG4gICAgICAgICAgICB0aGlzLndjID0gd2M7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9wZW5cIik7XG4gICAgfVxuICAgIG9uQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMucGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy53Yykge1xuICAgICAgICAgICAgdGhpcy53YyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiY2xvc2VcIik7XG4gICAgfVxuICAgIG9uRXJyb3IocGF5bG9hZCwgbWVzc2FnZSA9IFwiRmFpbGVkIG9yIFJlamVjdGVkIFJlcXVlc3RcIiwgY29kZSA9IC0zMjAwMCkge1xuICAgICAgICBjb25zdCBlcnJvclBheWxvYWQgPSB7XG4gICAgICAgICAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAgICAgICAgIGpzb25ycGM6IHBheWxvYWQuanNvbnJwYyxcbiAgICAgICAgICAgIGVycm9yOiB7IGNvZGUsIG1lc3NhZ2UgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcInBheWxvYWRcIiwgZXJyb3JQYXlsb2FkKTtcbiAgICAgICAgcmV0dXJuIGVycm9yUGF5bG9hZDtcbiAgICB9XG4gICAgY3JlYXRlKGNoYWluSWQpIHtcbiAgICAgICAgdGhpcy53YyA9IHRoaXMucmVnaXN0ZXIodGhpcy5vcHRzKTtcbiAgICAgICAgdGhpcy5jaGFpbklkID0gY2hhaW5JZCB8fCB0aGlzLmNoYWluSWQ7XG4gICAgICAgIGlmICh0aGlzLmNvbm5lY3RlZCB8fCB0aGlzLnBlbmRpbmcpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMucGVuZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJDb25uZWN0b3JFdmVudHMoKTtcbiAgICAgICAgdGhpcy53Y1xuICAgICAgICAgICAgLmNyZWF0ZVNlc3Npb24oeyBjaGFpbklkOiB0aGlzLmNoYWluSWQgfSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuZXZlbnRzLmVtaXQoXCJjcmVhdGVkXCIpKVxuICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB0aGlzLmV2ZW50cy5lbWl0KFwiZXJyb3JcIiwgZSkpO1xuICAgIH1cbiAgICByZWdpc3RlckNvbm5lY3RvckV2ZW50cygpIHtcbiAgICAgICAgdGhpcy53YyA9IHRoaXMucmVnaXN0ZXIodGhpcy5vcHRzKTtcbiAgICAgICAgdGhpcy53Yy5vbihcImNvbm5lY3RcIiwgKGVycikgPT4ge1xuICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwiZXJyb3JcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmFjY291bnRzID0gKChfYSA9IHRoaXMud2MpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5hY2NvdW50cykgfHwgW107XG4gICAgICAgICAgICB0aGlzLmNoYWluSWQgPSAoKF9iID0gdGhpcy53YykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNoYWluSWQpIHx8IHRoaXMuY2hhaW5JZDtcbiAgICAgICAgICAgIHRoaXMub25PcGVuKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLndjLm9uKFwiZGlzY29ubmVjdFwiLCAoZXJyKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLndjLm9uKFwibW9kYWxfY2xvc2VkXCIsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJlcnJvclwiLCBuZXcgRXJyb3IoXCJVc2VyIGNsb3NlZCBtb2RhbFwiKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLndjLm9uKFwic2Vzc2lvbl91cGRhdGVcIiwgKGVycm9yLCBwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGFjY291bnRzLCBjaGFpbklkIH0gPSBwYXlsb2FkLnBhcmFtc1swXTtcbiAgICAgICAgICAgIGlmICghdGhpcy5hY2NvdW50cyB8fCAoYWNjb3VudHMgJiYgdGhpcy5hY2NvdW50cyAhPT0gYWNjb3VudHMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50cyA9IGFjY291bnRzO1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJhY2NvdW50c0NoYW5nZWRcIiwgYWNjb3VudHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmNoYWluSWQgfHwgKGNoYWluSWQgJiYgdGhpcy5jaGFpbklkICE9PSBjaGFpbklkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhaW5JZCA9IGNoYWluSWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcImNoYWluQ2hhbmdlZFwiLCBjaGFpbklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHNlbmRQYXlsb2FkKHBheWxvYWQpIHtcbiAgICAgICAgdGhpcy53YyA9IHRoaXMucmVnaXN0ZXIodGhpcy5vcHRzKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy53Yy51bnNhZmVTZW5kKHBheWxvYWQpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVSZXNwb25zZShyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vbkVycm9yKHBheWxvYWQsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNhbml0aXplUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByZXNwb25zZS5lcnJvciAhPT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgICAgICAgICAgdHlwZW9mIHJlc3BvbnNlLmVycm9yLmNvZGUgPT09IFwidW5kZWZpbmVkXCJcbiAgICAgICAgICAgID8gZm9ybWF0SnNvblJwY0Vycm9yKHJlc3BvbnNlLmlkLCByZXNwb25zZS5lcnJvci5tZXNzYWdlLCByZXNwb25zZS5lcnJvci5kYXRhKVxuICAgICAgICAgICAgOiByZXNwb25zZTtcbiAgICB9XG59XG5leHBvcnQgZGVmYXVsdCBTaWduZXJDb25uZWN0aW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2lnbmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-provider/dist/esm/signer.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/constants/errors.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/constants/errors.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ERROR_INVALID_RESPONSE: function() { return /* binding */ ERROR_INVALID_RESPONSE; },\n/* harmony export */ ERROR_INVALID_URI: function() { return /* binding */ ERROR_INVALID_URI; },\n/* harmony export */ ERROR_MISSING_ERROR: function() { return /* binding */ ERROR_MISSING_ERROR; },\n/* harmony export */ ERROR_MISSING_ID: function() { return /* binding */ ERROR_MISSING_ID; },\n/* harmony export */ ERROR_MISSING_JSON_RPC: function() { return /* binding */ ERROR_MISSING_JSON_RPC; },\n/* harmony export */ ERROR_MISSING_METHOD: function() { return /* binding */ ERROR_MISSING_METHOD; },\n/* harmony export */ ERROR_MISSING_REQUIRED: function() { return /* binding */ ERROR_MISSING_REQUIRED; },\n/* harmony export */ ERROR_MISSING_RESULT: function() { return /* binding */ ERROR_MISSING_RESULT; },\n/* harmony export */ ERROR_QRCODE_MODAL_NOT_PROVIDED: function() { return /* binding */ ERROR_QRCODE_MODAL_NOT_PROVIDED; },\n/* harmony export */ ERROR_QRCODE_MODAL_USER_CLOSED: function() { return /* binding */ ERROR_QRCODE_MODAL_USER_CLOSED; },\n/* harmony export */ ERROR_SESSION_CONNECTED: function() { return /* binding */ ERROR_SESSION_CONNECTED; },\n/* harmony export */ ERROR_SESSION_DISCONNECTED: function() { return /* binding */ ERROR_SESSION_DISCONNECTED; },\n/* harmony export */ ERROR_SESSION_REJECTED: function() { return /* binding */ ERROR_SESSION_REJECTED; }\n/* harmony export */ });\nconst ERROR_SESSION_CONNECTED = \"Session currently connected\";\nconst ERROR_SESSION_DISCONNECTED = \"Session currently disconnected\";\nconst ERROR_SESSION_REJECTED = \"Session Rejected\";\nconst ERROR_MISSING_JSON_RPC = \"Missing JSON RPC response\";\nconst ERROR_MISSING_RESULT = `JSON-RPC success response must include \"result\" field`;\nconst ERROR_MISSING_ERROR = `JSON-RPC error response must include \"error\" field`;\nconst ERROR_MISSING_METHOD = `JSON RPC request must have valid \"method\" value`;\nconst ERROR_MISSING_ID = `JSON RPC request must have valid \"id\" value`;\nconst ERROR_MISSING_REQUIRED = \"Missing one of the required parameters: bridge / uri / session\";\nconst ERROR_INVALID_RESPONSE = \"JSON RPC response format is invalid\";\nconst ERROR_INVALID_URI = \"URI format is invalid\";\nconst ERROR_QRCODE_MODAL_NOT_PROVIDED = \"QRCode Modal not provided\";\nconst ERROR_QRCODE_MODAL_USER_CLOSED = \"User close QRCode Modal\";\n//# sourceMappingURL=errors.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9lcnJvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFPO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlcy9kaXN0L2VzbS9jb25zdGFudHMvZXJyb3JzLmpzP2EyNTkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVSUk9SX1NFU1NJT05fQ09OTkVDVEVEID0gXCJTZXNzaW9uIGN1cnJlbnRseSBjb25uZWN0ZWRcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9TRVNTSU9OX0RJU0NPTk5FQ1RFRCA9IFwiU2Vzc2lvbiBjdXJyZW50bHkgZGlzY29ubmVjdGVkXCI7XG5leHBvcnQgY29uc3QgRVJST1JfU0VTU0lPTl9SRUpFQ1RFRCA9IFwiU2Vzc2lvbiBSZWplY3RlZFwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX01JU1NJTkdfSlNPTl9SUEMgPSBcIk1pc3NpbmcgSlNPTiBSUEMgcmVzcG9uc2VcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9NSVNTSU5HX1JFU1VMVCA9IGBKU09OLVJQQyBzdWNjZXNzIHJlc3BvbnNlIG11c3QgaW5jbHVkZSBcInJlc3VsdFwiIGZpZWxkYDtcbmV4cG9ydCBjb25zdCBFUlJPUl9NSVNTSU5HX0VSUk9SID0gYEpTT04tUlBDIGVycm9yIHJlc3BvbnNlIG11c3QgaW5jbHVkZSBcImVycm9yXCIgZmllbGRgO1xuZXhwb3J0IGNvbnN0IEVSUk9SX01JU1NJTkdfTUVUSE9EID0gYEpTT04gUlBDIHJlcXVlc3QgbXVzdCBoYXZlIHZhbGlkIFwibWV0aG9kXCIgdmFsdWVgO1xuZXhwb3J0IGNvbnN0IEVSUk9SX01JU1NJTkdfSUQgPSBgSlNPTiBSUEMgcmVxdWVzdCBtdXN0IGhhdmUgdmFsaWQgXCJpZFwiIHZhbHVlYDtcbmV4cG9ydCBjb25zdCBFUlJPUl9NSVNTSU5HX1JFUVVJUkVEID0gXCJNaXNzaW5nIG9uZSBvZiB0aGUgcmVxdWlyZWQgcGFyYW1ldGVyczogYnJpZGdlIC8gdXJpIC8gc2Vzc2lvblwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0lOVkFMSURfUkVTUE9OU0UgPSBcIkpTT04gUlBDIHJlc3BvbnNlIGZvcm1hdCBpcyBpbnZhbGlkXCI7XG5leHBvcnQgY29uc3QgRVJST1JfSU5WQUxJRF9VUkkgPSBcIlVSSSBmb3JtYXQgaXMgaW52YWxpZFwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1FSQ09ERV9NT0RBTF9OT1RfUFJPVklERUQgPSBcIlFSQ29kZSBNb2RhbCBub3QgcHJvdmlkZWRcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9RUkNPREVfTU9EQUxfVVNFUl9DTE9TRUQgPSBcIlVzZXIgY2xvc2UgUVJDb2RlIE1vZGFsXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/constants/errors.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/constants/events.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/constants/events.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RESERVED_EVENTS: function() { return /* binding */ RESERVED_EVENTS; },\n/* harmony export */ reservedEvents: function() { return /* binding */ reservedEvents; }\n/* harmony export */ });\nconst RESERVED_EVENTS = [\n \"session_request\",\n \"session_update\",\n \"exchange_key\",\n \"connect\",\n \"disconnect\",\n \"display_uri\",\n \"modal_closed\",\n \"transport_open\",\n \"transport_close\",\n \"transport_error\",\n];\nconst reservedEvents = RESERVED_EVENTS;\n//# sourceMappingURL=events.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9ldmVudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXMvZGlzdC9lc20vY29uc3RhbnRzL2V2ZW50cy5qcz8xZTJmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBSRVNFUlZFRF9FVkVOVFMgPSBbXG4gICAgXCJzZXNzaW9uX3JlcXVlc3RcIixcbiAgICBcInNlc3Npb25fdXBkYXRlXCIsXG4gICAgXCJleGNoYW5nZV9rZXlcIixcbiAgICBcImNvbm5lY3RcIixcbiAgICBcImRpc2Nvbm5lY3RcIixcbiAgICBcImRpc3BsYXlfdXJpXCIsXG4gICAgXCJtb2RhbF9jbG9zZWRcIixcbiAgICBcInRyYW5zcG9ydF9vcGVuXCIsXG4gICAgXCJ0cmFuc3BvcnRfY2xvc2VcIixcbiAgICBcInRyYW5zcG9ydF9lcnJvclwiLFxuXTtcbmV4cG9ydCBjb25zdCByZXNlcnZlZEV2ZW50cyA9IFJFU0VSVkVEX0VWRU5UUztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWV2ZW50cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/constants/events.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/constants/index.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/constants/index.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors */ \"./node_modules/@walletconnect/legacy-types/dist/esm/constants/errors.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _errors__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _errors__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events */ \"./node_modules/@walletconnect/legacy-types/dist/esm/constants/events.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _events__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _events__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonrpc */ \"./node_modules/@walletconnect/legacy-types/dist/esm/constants/jsonrpc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _jsonrpc__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _jsonrpc__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _mobile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mobile */ \"./node_modules/@walletconnect/legacy-types/dist/esm/constants/mobile.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mobile__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _mobile__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _networks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./networks */ \"./node_modules/@walletconnect/legacy-types/dist/esm/constants/networks.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _networks__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _networks__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBeUI7QUFDQTtBQUNDO0FBQ0Q7QUFDRTtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9pbmRleC5qcz82ODZjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXZlbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qc29ucnBjXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2JpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25ldHdvcmtzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/constants/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/constants/jsonrpc.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/constants/jsonrpc.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SIGNING_METHODS: function() { return /* binding */ SIGNING_METHODS; },\n/* harmony export */ STATE_METHODS: function() { return /* binding */ STATE_METHODS; },\n/* harmony export */ WALLET_METHODS: function() { return /* binding */ WALLET_METHODS; },\n/* harmony export */ signingMethods: function() { return /* binding */ signingMethods; },\n/* harmony export */ stateMethods: function() { return /* binding */ stateMethods; }\n/* harmony export */ });\nconst WALLET_METHODS = [\n \"wallet_addEthereumChain\",\n \"wallet_switchEthereumChain\",\n \"wallet_getPermissions\",\n \"wallet_requestPermissions\",\n \"wallet_registerOnboarding\",\n \"wallet_watchAsset\",\n \"wallet_scanQRCode\",\n];\nconst SIGNING_METHODS = [\n \"eth_sendTransaction\",\n \"eth_signTransaction\",\n \"eth_sign\",\n \"eth_signTypedData\",\n \"eth_signTypedData_v1\",\n \"eth_signTypedData_v2\",\n \"eth_signTypedData_v3\",\n \"eth_signTypedData_v4\",\n \"personal_sign\",\n ...WALLET_METHODS,\n];\nconst STATE_METHODS = [\"eth_accounts\", \"eth_chainId\", \"net_version\"];\nconst signingMethods = SIGNING_METHODS;\nconst stateMethods = STATE_METHODS;\n//# sourceMappingURL=jsonrpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9qc29ucnBjLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDQTtBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlcy9kaXN0L2VzbS9jb25zdGFudHMvanNvbnJwYy5qcz9jZmM3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBXQUxMRVRfTUVUSE9EUyA9IFtcbiAgICBcIndhbGxldF9hZGRFdGhlcmV1bUNoYWluXCIsXG4gICAgXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiLFxuICAgIFwid2FsbGV0X2dldFBlcm1pc3Npb25zXCIsXG4gICAgXCJ3YWxsZXRfcmVxdWVzdFBlcm1pc3Npb25zXCIsXG4gICAgXCJ3YWxsZXRfcmVnaXN0ZXJPbmJvYXJkaW5nXCIsXG4gICAgXCJ3YWxsZXRfd2F0Y2hBc3NldFwiLFxuICAgIFwid2FsbGV0X3NjYW5RUkNvZGVcIixcbl07XG5leHBvcnQgY29uc3QgU0lHTklOR19NRVRIT0RTID0gW1xuICAgIFwiZXRoX3NlbmRUcmFuc2FjdGlvblwiLFxuICAgIFwiZXRoX3NpZ25UcmFuc2FjdGlvblwiLFxuICAgIFwiZXRoX3NpZ25cIixcbiAgICBcImV0aF9zaWduVHlwZWREYXRhXCIsXG4gICAgXCJldGhfc2lnblR5cGVkRGF0YV92MVwiLFxuICAgIFwiZXRoX3NpZ25UeXBlZERhdGFfdjJcIixcbiAgICBcImV0aF9zaWduVHlwZWREYXRhX3YzXCIsXG4gICAgXCJldGhfc2lnblR5cGVkRGF0YV92NFwiLFxuICAgIFwicGVyc29uYWxfc2lnblwiLFxuICAgIC4uLldBTExFVF9NRVRIT0RTLFxuXTtcbmV4cG9ydCBjb25zdCBTVEFURV9NRVRIT0RTID0gW1wiZXRoX2FjY291bnRzXCIsIFwiZXRoX2NoYWluSWRcIiwgXCJuZXRfdmVyc2lvblwiXTtcbmV4cG9ydCBjb25zdCBzaWduaW5nTWV0aG9kcyA9IFNJR05JTkdfTUVUSE9EUztcbmV4cG9ydCBjb25zdCBzdGF0ZU1ldGhvZHMgPSBTVEFURV9NRVRIT0RTO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9anNvbnJwYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/constants/jsonrpc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/constants/mobile.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/constants/mobile.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MOBILE_LINK_CHOICE_KEY: function() { return /* binding */ MOBILE_LINK_CHOICE_KEY; },\n/* harmony export */ mobileLinkChoiceKey: function() { return /* binding */ mobileLinkChoiceKey; }\n/* harmony export */ });\nconst MOBILE_LINK_CHOICE_KEY = \"WALLETCONNECT_DEEPLINK_CHOICE\";\nconst mobileLinkChoiceKey = MOBILE_LINK_CHOICE_KEY;\n//# sourceMappingURL=mobile.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9tb2JpbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlcy9kaXN0L2VzbS9jb25zdGFudHMvbW9iaWxlLmpzPzQ5ZmQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE1PQklMRV9MSU5LX0NIT0lDRV9LRVkgPSBcIldBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFXCI7XG5leHBvcnQgY29uc3QgbW9iaWxlTGlua0Nob2ljZUtleSA9IE1PQklMRV9MSU5LX0NIT0lDRV9LRVk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2JpbGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/constants/mobile.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/constants/networks.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/constants/networks.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ INFURA_NETWORKS: function() { return /* binding */ INFURA_NETWORKS; },\n/* harmony export */ infuraNetworks: function() { return /* binding */ infuraNetworks; }\n/* harmony export */ });\nconst INFURA_NETWORKS = {\n 1: \"mainnet\",\n 3: \"ropsten\",\n 4: \"rinkeby\",\n 5: \"goerli\",\n 42: \"kovan\",\n};\nconst infuraNetworks = INFURA_NETWORKS;\n//# sourceMappingURL=networks.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9uZXR3b3Jrcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NvbnN0YW50cy9uZXR3b3Jrcy5qcz8wMDQyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBJTkZVUkFfTkVUV09SS1MgPSB7XG4gICAgMTogXCJtYWlubmV0XCIsXG4gICAgMzogXCJyb3BzdGVuXCIsXG4gICAgNDogXCJyaW5rZWJ5XCIsXG4gICAgNTogXCJnb2VybGlcIixcbiAgICA0MjogXCJrb3ZhblwiLFxufTtcbmV4cG9ydCBjb25zdCBpbmZ1cmFOZXR3b3JrcyA9IElORlVSQV9ORVRXT1JLUztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5ldHdvcmtzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/constants/networks.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/crypto.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/crypto.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=crypto.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NyeXB0by5qcyIsIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2NyeXB0by5qcz80NmQ1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyeXB0by5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/crypto.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/ethereum.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/ethereum.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=ethereum.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2V0aGVyZXVtLmpzIiwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXMvZGlzdC9lc20vZXRoZXJldW0uanM/NjQyMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyMgc291cmNlTWFwcGluZ1VSTD1ldGhlcmV1bS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/ethereum.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/events.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/events.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: function() { return /* binding */ IEvents; }\n/* harmony export */ });\nclass IEvents {\n}\n//# sourceMappingURL=events.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2V2ZW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXMvZGlzdC9lc20vZXZlbnRzLmpzPzAyMWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIElFdmVudHMge1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXZlbnRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/events.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/index.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crypto */ \"./node_modules/@walletconnect/legacy-types/dist/esm/crypto.js\");\n/* harmony import */ var _crypto__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_crypto__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _crypto__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _crypto__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/legacy-types/dist/esm/constants/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _constants__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _constants__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _ethereum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ethereum */ \"./node_modules/@walletconnect/legacy-types/dist/esm/ethereum.js\");\n/* harmony import */ var _ethereum__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_ethereum__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ethereum__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _ethereum__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ \"./node_modules/@walletconnect/legacy-types/dist/esm/events.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _events__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _events__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jsonrpc */ \"./node_modules/@walletconnect/legacy-types/dist/esm/jsonrpc.js\");\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jsonrpc__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _jsonrpc__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _jsonrpc__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./network */ \"./node_modules/@walletconnect/legacy-types/dist/esm/network.js\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_network__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _network__WEBPACK_IMPORTED_MODULE_5__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _network__WEBPACK_IMPORTED_MODULE_5__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _protocol__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./protocol */ \"./node_modules/@walletconnect/legacy-types/dist/esm/protocol.js\");\n/* harmony import */ var _protocol__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_protocol__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _protocol__WEBPACK_IMPORTED_MODULE_6__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _protocol__WEBPACK_IMPORTED_MODULE_6__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _qrcode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./qrcode */ \"./node_modules/@walletconnect/legacy-types/dist/esm/qrcode.js\");\n/* harmony import */ var _qrcode__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_qrcode__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _qrcode__WEBPACK_IMPORTED_MODULE_7__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _qrcode__WEBPACK_IMPORTED_MODULE_7__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./registry */ \"./node_modules/@walletconnect/legacy-types/dist/esm/registry.js\");\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_registry__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _registry__WEBPACK_IMPORTED_MODULE_8__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _registry__WEBPACK_IMPORTED_MODULE_8__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _socket__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./socket */ \"./node_modules/@walletconnect/legacy-types/dist/esm/socket.js\");\n/* harmony import */ var _socket__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_socket__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _socket__WEBPACK_IMPORTED_MODULE_9__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _socket__WEBPACK_IMPORTED_MODULE_9__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./storage */ \"./node_modules/@walletconnect/legacy-types/dist/esm/storage.js\");\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_storage__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _storage__WEBPACK_IMPORTED_MODULE_10__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _storage__WEBPACK_IMPORTED_MODULE_10__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5QjtBQUNHO0FBQ0Q7QUFDRjtBQUNDO0FBQ0E7QUFDQztBQUNGO0FBQ0U7QUFDRjtBQUNDO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXMvZGlzdC9lc20vaW5kZXguanM/M2ZhZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jcnlwdG9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXRoZXJldW1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vanNvbnJwY1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmV0d29ya1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvdG9jb2xcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3FyY29kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVnaXN0cnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NvY2tldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmFnZVwiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/jsonrpc.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/jsonrpc.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=jsonrpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL2pzb25ycGMuanMiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlcy9kaXN0L2VzbS9qc29ucnBjLmpzPzhhNGUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jIHNvdXJjZU1hcHBpbmdVUkw9anNvbnJwYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/jsonrpc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/network.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/network.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=network.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL25ldHdvcmsuanMiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlcy9kaXN0L2VzbS9uZXR3b3JrLmpzPzUyNDAiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmV0d29yay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/network.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/protocol.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/protocol.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=protocol.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3Byb3RvY29sLmpzIiwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXMvZGlzdC9lc20vcHJvdG9jb2wuanM/MmU2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyMgc291cmNlTWFwcGluZ1VSTD1wcm90b2NvbC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/protocol.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/qrcode.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/qrcode.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=qrcode.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3FyY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3FyY29kZS5qcz9jZjRjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIyBzb3VyY2VNYXBwaW5nVVJMPXFyY29kZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/qrcode.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/registry.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/registry.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=registry.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3JlZ2lzdHJ5LmpzIiwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdHlwZXMvZGlzdC9lc20vcmVnaXN0cnkuanM/MTRlZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyMgc291cmNlTWFwcGluZ1VSTD1yZWdpc3RyeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/registry.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/socket.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/socket.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=socket.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3NvY2tldC5qcyIsIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3NvY2tldC5qcz80NTkxIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNvY2tldC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/socket.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-types/dist/esm/storage.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-types/dist/esm/storage.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=storage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzL2Rpc3QvZXNtL3N0b3JhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlcy9kaXN0L2VzbS9zdG9yYWdlLmpzP2VmZTkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RvcmFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-types/dist/esm/storage.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/encoding.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/encoding.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concatArrayBuffers: function() { return /* binding */ concatArrayBuffers; },\n/* harmony export */ concatBuffers: function() { return /* binding */ concatBuffers; },\n/* harmony export */ convertArrayBufferToBuffer: function() { return /* binding */ convertArrayBufferToBuffer; },\n/* harmony export */ convertArrayBufferToHex: function() { return /* binding */ convertArrayBufferToHex; },\n/* harmony export */ convertArrayBufferToNumber: function() { return /* binding */ convertArrayBufferToNumber; },\n/* harmony export */ convertArrayBufferToUtf8: function() { return /* binding */ convertArrayBufferToUtf8; },\n/* harmony export */ convertBufferToArrayBuffer: function() { return /* binding */ convertBufferToArrayBuffer; },\n/* harmony export */ convertBufferToHex: function() { return /* binding */ convertBufferToHex; },\n/* harmony export */ convertBufferToNumber: function() { return /* binding */ convertBufferToNumber; },\n/* harmony export */ convertBufferToUtf8: function() { return /* binding */ convertBufferToUtf8; },\n/* harmony export */ convertHexToArrayBuffer: function() { return /* binding */ convertHexToArrayBuffer; },\n/* harmony export */ convertHexToBuffer: function() { return /* binding */ convertHexToBuffer; },\n/* harmony export */ convertHexToNumber: function() { return /* binding */ convertHexToNumber; },\n/* harmony export */ convertHexToUtf8: function() { return /* binding */ convertHexToUtf8; },\n/* harmony export */ convertNumberToArrayBuffer: function() { return /* binding */ convertNumberToArrayBuffer; },\n/* harmony export */ convertNumberToBuffer: function() { return /* binding */ convertNumberToBuffer; },\n/* harmony export */ convertNumberToHex: function() { return /* binding */ convertNumberToHex; },\n/* harmony export */ convertNumberToUtf8: function() { return /* binding */ convertNumberToUtf8; },\n/* harmony export */ convertUtf8ToArrayBuffer: function() { return /* binding */ convertUtf8ToArrayBuffer; },\n/* harmony export */ convertUtf8ToBuffer: function() { return /* binding */ convertUtf8ToBuffer; },\n/* harmony export */ convertUtf8ToHex: function() { return /* binding */ convertUtf8ToHex; },\n/* harmony export */ convertUtf8ToNumber: function() { return /* binding */ convertUtf8ToNumber; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/encoding */ \"./node_modules/@walletconnect/encoding/dist/esm/index.js\");\n\nfunction convertArrayBufferToBuffer(arrBuf) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.arrayToBuffer(new Uint8Array(arrBuf));\n}\nfunction convertArrayBufferToUtf8(arrBuf) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.arrayToUtf8(new Uint8Array(arrBuf));\n}\nfunction convertArrayBufferToHex(arrBuf, noPrefix) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.arrayToHex(new Uint8Array(arrBuf), !noPrefix);\n}\nfunction convertArrayBufferToNumber(arrBuf) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.arrayToNumber(new Uint8Array(arrBuf));\n}\nfunction concatArrayBuffers(...args) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.hexToArray(args.map(b => _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.arrayToHex(new Uint8Array(b))).join(\"\")).buffer;\n}\nfunction convertBufferToArrayBuffer(buf) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.bufferToArray(buf).buffer;\n}\nfunction convertBufferToUtf8(buf) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.bufferToUtf8(buf);\n}\nfunction convertBufferToHex(buf, noPrefix) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.bufferToHex(buf, !noPrefix);\n}\nfunction convertBufferToNumber(buf) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.bufferToNumber(buf);\n}\nfunction concatBuffers(...args) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.concatBuffers(...args);\n}\nfunction convertUtf8ToArrayBuffer(utf8) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.utf8ToArray(utf8).buffer;\n}\nfunction convertUtf8ToBuffer(utf8) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.utf8ToBuffer(utf8);\n}\nfunction convertUtf8ToHex(utf8, noPrefix) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.utf8ToHex(utf8, !noPrefix);\n}\nfunction convertUtf8ToNumber(utf8) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.utf8ToNumber(utf8);\n}\nfunction convertHexToBuffer(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.hexToBuffer(hex);\n}\nfunction convertHexToArrayBuffer(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.hexToArray(hex).buffer;\n}\nfunction convertHexToUtf8(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.hexToUtf8(hex);\n}\nfunction convertHexToNumber(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.hexToNumber(hex);\n}\nfunction convertNumberToBuffer(num) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.numberToBuffer(num);\n}\nfunction convertNumberToArrayBuffer(num) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.numberToArray(num).buffer;\n}\nfunction convertNumberToUtf8(num) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.numberToUtf8(num);\n}\nfunction convertNumberToHex(num, noPrefix) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.numberToHex(Number(num), !noPrefix);\n}\n//# sourceMappingURL=encoding.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2VuY29kaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW9EO0FBQzdDO0FBQ1AsV0FBVyxrRUFBc0I7QUFDakM7QUFDTztBQUNQLFdBQVcsZ0VBQW9CO0FBQy9CO0FBQ087QUFDUCxXQUFXLCtEQUFtQjtBQUM5QjtBQUNPO0FBQ1AsV0FBVyxrRUFBc0I7QUFDakM7QUFDTztBQUNQLFdBQVcsK0RBQW1CLGVBQWUsK0RBQW1CO0FBQ2hFO0FBQ087QUFDUCxXQUFXLGtFQUFzQjtBQUNqQztBQUNPO0FBQ1AsV0FBVyxpRUFBcUI7QUFDaEM7QUFDTztBQUNQLFdBQVcsZ0VBQW9CO0FBQy9CO0FBQ087QUFDUCxXQUFXLG1FQUF1QjtBQUNsQztBQUNPO0FBQ1AsV0FBVyxrRUFBc0I7QUFDakM7QUFDTztBQUNQLFdBQVcsZ0VBQW9CO0FBQy9CO0FBQ087QUFDUCxXQUFXLGlFQUFxQjtBQUNoQztBQUNPO0FBQ1AsV0FBVyw4REFBa0I7QUFDN0I7QUFDTztBQUNQLFdBQVcsaUVBQXFCO0FBQ2hDO0FBQ087QUFDUCxXQUFXLGdFQUFvQjtBQUMvQjtBQUNPO0FBQ1AsV0FBVywrREFBbUI7QUFDOUI7QUFDTztBQUNQLFdBQVcsOERBQWtCO0FBQzdCO0FBQ087QUFDUCxXQUFXLGdFQUFvQjtBQUMvQjtBQUNPO0FBQ1AsV0FBVyxtRUFBdUI7QUFDbEM7QUFDTztBQUNQLFdBQVcsa0VBQXNCO0FBQ2pDO0FBQ087QUFDUCxXQUFXLGlFQUFxQjtBQUNoQztBQUNPO0FBQ1AsV0FBVyxnRUFBb0I7QUFDL0I7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2VuY29kaW5nLmpzP2UxYTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZW5jb2RpbmcgZnJvbSBcIkB3YWxsZXRjb25uZWN0L2VuY29kaW5nXCI7XG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFycmF5QnVmZmVyVG9CdWZmZXIoYXJyQnVmKSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmFycmF5VG9CdWZmZXIobmV3IFVpbnQ4QXJyYXkoYXJyQnVmKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFycmF5QnVmZmVyVG9VdGY4KGFyckJ1Zikge1xuICAgIHJldHVybiBlbmNvZGluZy5hcnJheVRvVXRmOChuZXcgVWludDhBcnJheShhcnJCdWYpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QXJyYXlCdWZmZXJUb0hleChhcnJCdWYsIG5vUHJlZml4KSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmFycmF5VG9IZXgobmV3IFVpbnQ4QXJyYXkoYXJyQnVmKSwgIW5vUHJlZml4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QXJyYXlCdWZmZXJUb051bWJlcihhcnJCdWYpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcuYXJyYXlUb051bWJlcihuZXcgVWludDhBcnJheShhcnJCdWYpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRBcnJheUJ1ZmZlcnMoLi4uYXJncykge1xuICAgIHJldHVybiBlbmNvZGluZy5oZXhUb0FycmF5KGFyZ3MubWFwKGIgPT4gZW5jb2RpbmcuYXJyYXlUb0hleChuZXcgVWludDhBcnJheShiKSkpLmpvaW4oXCJcIikpLmJ1ZmZlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QnVmZmVyVG9BcnJheUJ1ZmZlcihidWYpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcuYnVmZmVyVG9BcnJheShidWYpLmJ1ZmZlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QnVmZmVyVG9VdGY4KGJ1Zikge1xuICAgIHJldHVybiBlbmNvZGluZy5idWZmZXJUb1V0ZjgoYnVmKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QnVmZmVyVG9IZXgoYnVmLCBub1ByZWZpeCkge1xuICAgIHJldHVybiBlbmNvZGluZy5idWZmZXJUb0hleChidWYsICFub1ByZWZpeCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29udmVydEJ1ZmZlclRvTnVtYmVyKGJ1Zikge1xuICAgIHJldHVybiBlbmNvZGluZy5idWZmZXJUb051bWJlcihidWYpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdEJ1ZmZlcnMoLi4uYXJncykge1xuICAgIHJldHVybiBlbmNvZGluZy5jb25jYXRCdWZmZXJzKC4uLmFyZ3MpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVdGY4VG9BcnJheUJ1ZmZlcih1dGY4KSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLnV0ZjhUb0FycmF5KHV0ZjgpLmJ1ZmZlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VXRmOFRvQnVmZmVyKHV0ZjgpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcudXRmOFRvQnVmZmVyKHV0ZjgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVdGY4VG9IZXgodXRmOCwgbm9QcmVmaXgpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcudXRmOFRvSGV4KHV0ZjgsICFub1ByZWZpeCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFV0ZjhUb051bWJlcih1dGY4KSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLnV0ZjhUb051bWJlcih1dGY4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SGV4VG9CdWZmZXIoaGV4KSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmhleFRvQnVmZmVyKGhleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29udmVydEhleFRvQXJyYXlCdWZmZXIoaGV4KSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmhleFRvQXJyYXkoaGV4KS5idWZmZXI7XG59XG5leHBvcnQgZnVuY3Rpb24gY29udmVydEhleFRvVXRmOChoZXgpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcuaGV4VG9VdGY4KGhleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29udmVydEhleFRvTnVtYmVyKGhleCkge1xuICAgIHJldHVybiBlbmNvZGluZy5oZXhUb051bWJlcihoZXgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnROdW1iZXJUb0J1ZmZlcihudW0pIHtcbiAgICByZXR1cm4gZW5jb2RpbmcubnVtYmVyVG9CdWZmZXIobnVtKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TnVtYmVyVG9BcnJheUJ1ZmZlcihudW0pIHtcbiAgICByZXR1cm4gZW5jb2RpbmcubnVtYmVyVG9BcnJheShudW0pLmJ1ZmZlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TnVtYmVyVG9VdGY4KG51bSkge1xuICAgIHJldHVybiBlbmNvZGluZy5udW1iZXJUb1V0ZjgobnVtKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TnVtYmVyVG9IZXgobnVtLCBub1ByZWZpeCkge1xuICAgIHJldHVybiBlbmNvZGluZy5udW1iZXJUb0hleChOdW1iZXIobnVtKSwgIW5vUHJlZml4KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kaW5nLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/encoding.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/env.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/env.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ detectEnv: function() { return /* binding */ detectEnv; },\n/* harmony export */ detectOS: function() { return /* binding */ detectOS; },\n/* harmony export */ isAndroid: function() { return /* binding */ isAndroid; },\n/* harmony export */ isBrowser: function() { return /* binding */ isBrowser; },\n/* harmony export */ isIOS: function() { return /* binding */ isIOS; },\n/* harmony export */ isMobile: function() { return /* binding */ isMobile; },\n/* harmony export */ isNode: function() { return /* binding */ isNode; }\n/* harmony export */ });\n/* harmony import */ var detect_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! detect-browser */ \"./node_modules/detect-browser/es/index.js\");\n/* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./window */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/window.js\");\n\n\nfunction detectEnv(userAgent) {\n return (0,detect_browser__WEBPACK_IMPORTED_MODULE_1__.detect)(userAgent);\n}\nfunction detectOS() {\n const env = detectEnv();\n return env && env.os ? env.os : undefined;\n}\nfunction isAndroid() {\n const os = detectOS();\n return os ? os.toLowerCase().includes(\"android\") : false;\n}\nfunction isIOS() {\n const os = detectOS();\n return os\n ? os.toLowerCase().includes(\"ios\") ||\n (os.toLowerCase().includes(\"mac\") && navigator.maxTouchPoints > 1)\n : false;\n}\nfunction isMobile() {\n const os = detectOS();\n return os ? isAndroid() || isIOS() : false;\n}\nfunction isNode() {\n const env = detectEnv();\n const result = env && env.name ? env.name.toLowerCase() === \"node\" : false;\n return result;\n}\nfunction isBrowser() {\n const result = !isNode() && !!(0,_window__WEBPACK_IMPORTED_MODULE_0__.getNavigator)();\n return result;\n}\n//# sourceMappingURL=env.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2Vudi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBeUM7QUFDRDtBQUNqQztBQUNQLFdBQVcsc0RBQU07QUFDakI7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGtDQUFrQyxxREFBWTtBQUM5QztBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS11dGlscy9kaXN0L2VzbS9lbnYuanM/NzdmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXRlY3QsIH0gZnJvbSBcImRldGVjdC1icm93c2VyXCI7XG5pbXBvcnQgeyBnZXROYXZpZ2F0b3IgfSBmcm9tIFwiLi93aW5kb3dcIjtcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RFbnYodXNlckFnZW50KSB7XG4gICAgcmV0dXJuIGRldGVjdCh1c2VyQWdlbnQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdE9TKCkge1xuICAgIGNvbnN0IGVudiA9IGRldGVjdEVudigpO1xuICAgIHJldHVybiBlbnYgJiYgZW52Lm9zID8gZW52Lm9zIDogdW5kZWZpbmVkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQW5kcm9pZCgpIHtcbiAgICBjb25zdCBvcyA9IGRldGVjdE9TKCk7XG4gICAgcmV0dXJuIG9zID8gb3MudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcImFuZHJvaWRcIikgOiBmYWxzZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0lPUygpIHtcbiAgICBjb25zdCBvcyA9IGRldGVjdE9TKCk7XG4gICAgcmV0dXJuIG9zXG4gICAgICAgID8gb3MudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcImlvc1wiKSB8fFxuICAgICAgICAgICAgKG9zLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJtYWNcIikgJiYgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID4gMSlcbiAgICAgICAgOiBmYWxzZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01vYmlsZSgpIHtcbiAgICBjb25zdCBvcyA9IGRldGVjdE9TKCk7XG4gICAgcmV0dXJuIG9zID8gaXNBbmRyb2lkKCkgfHwgaXNJT1MoKSA6IGZhbHNlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZSgpIHtcbiAgICBjb25zdCBlbnYgPSBkZXRlY3RFbnYoKTtcbiAgICBjb25zdCByZXN1bHQgPSBlbnYgJiYgZW52Lm5hbWUgPyBlbnYubmFtZS50b0xvd2VyQ2FzZSgpID09PSBcIm5vZGVcIiA6IGZhbHNlO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCcm93c2VyKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9ICFpc05vZGUoKSAmJiAhIWdldE5hdmlnYXRvcigpO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/env.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/index.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./encoding */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/encoding.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _encoding__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _encoding__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./env */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/env.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _env__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _env__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./json */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/json.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _json__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _json__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _local__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./local */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/local.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _local__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _local__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _meta__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./meta */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/meta.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _meta__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _meta__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/misc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _misc__WEBPACK_IMPORTED_MODULE_5__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _misc__WEBPACK_IMPORTED_MODULE_5__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _mobile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mobile */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/mobile.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mobile__WEBPACK_IMPORTED_MODULE_6__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _mobile__WEBPACK_IMPORTED_MODULE_6__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _payload__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./payload */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/payload.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _payload__WEBPACK_IMPORTED_MODULE_7__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _payload__WEBPACK_IMPORTED_MODULE_7__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./registry */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/registry.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _registry__WEBPACK_IMPORTED_MODULE_8__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _registry__WEBPACK_IMPORTED_MODULE_8__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./session */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/session.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _session__WEBPACK_IMPORTED_MODULE_9__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _session__WEBPACK_IMPORTED_MODULE_9__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./url */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/url.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _url__WEBPACK_IMPORTED_MODULE_10__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _url__WEBPACK_IMPORTED_MODULE_10__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./validators */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/validators.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validators__WEBPACK_IMPORTED_MODULE_11__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validators__WEBPACK_IMPORTED_MODULE_11__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./window */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/window.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _window__WEBPACK_IMPORTED_MODULE_12__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _window__WEBPACK_IMPORTED_MODULE_12__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJCO0FBQ0w7QUFDQztBQUNDO0FBQ0Q7QUFDQTtBQUNFO0FBQ0M7QUFDQztBQUNEO0FBQ0o7QUFDTztBQUNKO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vaW5kZXguanM/YjM3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9lbmNvZGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qc29uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0YVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlzY1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9iaWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXlsb2FkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWdpc3RyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2Vzc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aW5kb3dcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/json.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/json.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ safeJsonParse: function() { return /* binding */ safeJsonParse; },\n/* harmony export */ safeJsonStringify: function() { return /* binding */ safeJsonStringify; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/safe-json */ \"./node_modules/@walletconnect/safe-json/dist/esm/index.js\");\n\nconst safeJsonParse = _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_0__.safeJsonParse;\nconst safeJsonStringify = _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_0__.safeJsonStringify;\n//# sourceMappingURL=json.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2pzb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFEO0FBQzlDLHNCQUFzQixtRUFBc0I7QUFDNUMsMEJBQTBCLHVFQUEwQjtBQUMzRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2pzb24uanM/YWZmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzYWZlSnNvbiBmcm9tIFwiQHdhbGxldGNvbm5lY3Qvc2FmZS1qc29uXCI7XG5leHBvcnQgY29uc3Qgc2FmZUpzb25QYXJzZSA9IHNhZmVKc29uLnNhZmVKc29uUGFyc2U7XG5leHBvcnQgY29uc3Qgc2FmZUpzb25TdHJpbmdpZnkgPSBzYWZlSnNvbi5zYWZlSnNvblN0cmluZ2lmeTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWpzb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/json.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/local.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/local.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLocal: function() { return /* binding */ getLocal; },\n/* harmony export */ removeLocal: function() { return /* binding */ removeLocal; },\n/* harmony export */ setLocal: function() { return /* binding */ setLocal; }\n/* harmony export */ });\n/* harmony import */ var _json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./json */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/json.js\");\n/* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./window */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/window.js\");\n\n\nfunction setLocal(key, data) {\n const raw = (0,_json__WEBPACK_IMPORTED_MODULE_0__.safeJsonStringify)(data);\n const local = (0,_window__WEBPACK_IMPORTED_MODULE_1__.getLocalStorage)();\n if (local) {\n local.setItem(key, raw);\n }\n}\nfunction getLocal(key) {\n let data = null;\n let raw = null;\n const local = (0,_window__WEBPACK_IMPORTED_MODULE_1__.getLocalStorage)();\n if (local) {\n raw = local.getItem(key);\n }\n data = raw ? (0,_json__WEBPACK_IMPORTED_MODULE_0__.safeJsonParse)(raw) : raw;\n return data;\n}\nfunction removeLocal(key) {\n const local = (0,_window__WEBPACK_IMPORTED_MODULE_1__.getLocalStorage)();\n if (local) {\n local.removeItem(key);\n }\n}\n//# sourceMappingURL=local.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL2xvY2FsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTBEO0FBQ2Y7QUFDcEM7QUFDUCxnQkFBZ0Isd0RBQWlCO0FBQ2pDLGtCQUFrQix3REFBZTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLGtCQUFrQix3REFBZTtBQUNqQztBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsb0RBQWE7QUFDOUI7QUFDQTtBQUNPO0FBQ1Asa0JBQWtCLHdEQUFlO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS11dGlscy9kaXN0L2VzbS9sb2NhbC5qcz9iZDZiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNhZmVKc29uUGFyc2UsIHNhZmVKc29uU3RyaW5naWZ5IH0gZnJvbSBcIi4vanNvblwiO1xuaW1wb3J0IHsgZ2V0TG9jYWxTdG9yYWdlIH0gZnJvbSBcIi4vd2luZG93XCI7XG5leHBvcnQgZnVuY3Rpb24gc2V0TG9jYWwoa2V5LCBkYXRhKSB7XG4gICAgY29uc3QgcmF3ID0gc2FmZUpzb25TdHJpbmdpZnkoZGF0YSk7XG4gICAgY29uc3QgbG9jYWwgPSBnZXRMb2NhbFN0b3JhZ2UoKTtcbiAgICBpZiAobG9jYWwpIHtcbiAgICAgICAgbG9jYWwuc2V0SXRlbShrZXksIHJhdyk7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsKGtleSkge1xuICAgIGxldCBkYXRhID0gbnVsbDtcbiAgICBsZXQgcmF3ID0gbnVsbDtcbiAgICBjb25zdCBsb2NhbCA9IGdldExvY2FsU3RvcmFnZSgpO1xuICAgIGlmIChsb2NhbCkge1xuICAgICAgICByYXcgPSBsb2NhbC5nZXRJdGVtKGtleSk7XG4gICAgfVxuICAgIGRhdGEgPSByYXcgPyBzYWZlSnNvblBhcnNlKHJhdykgOiByYXc7XG4gICAgcmV0dXJuIGRhdGE7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTG9jYWwoa2V5KSB7XG4gICAgY29uc3QgbG9jYWwgPSBnZXRMb2NhbFN0b3JhZ2UoKTtcbiAgICBpZiAobG9jYWwpIHtcbiAgICAgICAgbG9jYWwucmVtb3ZlSXRlbShrZXkpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvY2FsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/local.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/meta.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/meta.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getClientMeta: function() { return /* binding */ getClientMeta; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_window_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/window-metadata */ \"./node_modules/@walletconnect/window-metadata/dist/cjs/index.js\");\n\nfunction getClientMeta() {\n return _walletconnect_window_metadata__WEBPACK_IMPORTED_MODULE_0__.getWindowMetadata();\n}\n//# sourceMappingURL=meta.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL21ldGEuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBaUU7QUFDMUQ7QUFDUCxXQUFXLDZFQUFnQztBQUMzQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vbWV0YS5qcz85NDg3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHdpbmRvd01ldGFkYXRhIGZyb20gXCJAd2FsbGV0Y29ubmVjdC93aW5kb3ctbWV0YWRhdGFcIjtcbmV4cG9ydCBmdW5jdGlvbiBnZXRDbGllbnRNZXRhKCkge1xuICAgIHJldHVybiB3aW5kb3dNZXRhZGF0YS5nZXRXaW5kb3dNZXRhZGF0YSgpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWV0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/meta.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/misc.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/misc.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addHexPrefix: function() { return /* binding */ addHexPrefix; },\n/* harmony export */ getInfuraRpcUrl: function() { return /* binding */ getInfuraRpcUrl; },\n/* harmony export */ getRpcUrl: function() { return /* binding */ getRpcUrl; },\n/* harmony export */ logDeprecationWarning: function() { return /* binding */ logDeprecationWarning; },\n/* harmony export */ payloadId: function() { return /* binding */ payloadId; },\n/* harmony export */ removeHexLeadingZeros: function() { return /* binding */ removeHexLeadingZeros; },\n/* harmony export */ removeHexPrefix: function() { return /* binding */ removeHexPrefix; },\n/* harmony export */ sanitizeHex: function() { return /* binding */ sanitizeHex; },\n/* harmony export */ uuid: function() { return /* binding */ uuid; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/encoding */ \"./node_modules/@walletconnect/encoding/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ \"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/legacy-types */ \"./node_modules/@walletconnect/legacy-types/dist/esm/index.js\");\n\n\n\nfunction sanitizeHex(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.sanitizeHex(hex);\n}\nfunction addHexPrefix(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.addHexPrefix(hex);\n}\nfunction removeHexPrefix(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.removeHexPrefix(hex);\n}\nfunction removeHexLeadingZeros(hex) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.removeHexLeadingZeros(_walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.addHexPrefix(hex));\n}\nconst payloadId = _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.payloadId;\nfunction uuid() {\n const result = ((a, b) => {\n for (b = a = \"\"; a++ < 36; b += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : \"-\") {\n }\n return b;\n })();\n return result;\n}\nfunction logDeprecationWarning() {\n console.warn(\"DEPRECATION WARNING: This WalletConnect client library will be deprecated in favor of @walletconnect/client. Please check docs.walletconnect.org to learn more about this migration!\");\n}\nfunction getInfuraRpcUrl(chainId, infuraId) {\n let rpcUrl;\n const network = _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_2__.INFURA_NETWORKS[chainId];\n if (network) {\n rpcUrl = `https://${network}.infura.io/v3/${infuraId}`;\n }\n return rpcUrl;\n}\nfunction getRpcUrl(chainId, rpc) {\n let rpcUrl;\n const infuraUrl = getInfuraRpcUrl(chainId, rpc.infuraId);\n if (rpc.custom && rpc.custom[chainId]) {\n rpcUrl = rpc.custom[chainId];\n }\n else if (infuraUrl) {\n rpcUrl = infuraUrl;\n }\n return rpcUrl;\n}\n//# sourceMappingURL=misc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL21pc2MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQW9EO0FBQ1M7QUFDQztBQUN2RDtBQUNQLFdBQVcsZ0VBQW9CO0FBQy9CO0FBQ087QUFDUCxXQUFXLGlFQUFxQjtBQUNoQztBQUNPO0FBQ1AsV0FBVyxvRUFBd0I7QUFDbkM7QUFDTztBQUNQLFdBQVcsMEVBQThCLENBQUMsaUVBQXFCO0FBQy9EO0FBQ08sa0JBQWtCLG1FQUFzQjtBQUN4QztBQUNQO0FBQ0EseUJBQXlCLFVBQVU7QUFDbkM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBLG9CQUFvQix3RUFBZTtBQUNuQztBQUNBLDRCQUE0QixRQUFRLGdCQUFnQixTQUFTO0FBQzdEO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL21pc2MuanM/NzQ5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBlbmNvZGluZyBmcm9tIFwiQHdhbGxldGNvbm5lY3QvZW5jb2RpbmdcIjtcbmltcG9ydCAqIGFzIGpzb25ScGNVdGlscyBmcm9tIFwiQHdhbGxldGNvbm5lY3QvanNvbnJwYy11dGlsc1wiO1xuaW1wb3J0IHsgSU5GVVJBX05FVFdPUktTIH0gZnJvbSBcIkB3YWxsZXRjb25uZWN0L2xlZ2FjeS10eXBlc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplSGV4KGhleCkge1xuICAgIHJldHVybiBlbmNvZGluZy5zYW5pdGl6ZUhleChoZXgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFkZEhleFByZWZpeChoZXgpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcuYWRkSGV4UHJlZml4KGhleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlSGV4UHJlZml4KGhleCkge1xuICAgIHJldHVybiBlbmNvZGluZy5yZW1vdmVIZXhQcmVmaXgoaGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVIZXhMZWFkaW5nWmVyb3MoaGV4KSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLnJlbW92ZUhleExlYWRpbmdaZXJvcyhlbmNvZGluZy5hZGRIZXhQcmVmaXgoaGV4KSk7XG59XG5leHBvcnQgY29uc3QgcGF5bG9hZElkID0ganNvblJwY1V0aWxzLnBheWxvYWRJZDtcbmV4cG9ydCBmdW5jdGlvbiB1dWlkKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9ICgoYSwgYikgPT4ge1xuICAgICAgICBmb3IgKGIgPSBhID0gXCJcIjsgYSsrIDwgMzY7IGIgKz0gKGEgKiA1MSkgJiA1MiA/IChhIF4gMTUgPyA4IF4gKE1hdGgucmFuZG9tKCkgKiAoYSBeIDIwID8gMTYgOiA0KSkgOiA0KS50b1N0cmluZygxNikgOiBcIi1cIikge1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBiO1xuICAgIH0pKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBsb2dEZXByZWNhdGlvbldhcm5pbmcoKSB7XG4gICAgY29uc29sZS53YXJuKFwiREVQUkVDQVRJT04gV0FSTklORzogVGhpcyBXYWxsZXRDb25uZWN0IGNsaWVudCBsaWJyYXJ5IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBAd2FsbGV0Y29ubmVjdC9jbGllbnQuIFBsZWFzZSBjaGVjayBkb2NzLndhbGxldGNvbm5lY3Qub3JnIHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBtaWdyYXRpb24hXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEluZnVyYVJwY1VybChjaGFpbklkLCBpbmZ1cmFJZCkge1xuICAgIGxldCBycGNVcmw7XG4gICAgY29uc3QgbmV0d29yayA9IElORlVSQV9ORVRXT1JLU1tjaGFpbklkXTtcbiAgICBpZiAobmV0d29yaykge1xuICAgICAgICBycGNVcmwgPSBgaHR0cHM6Ly8ke25ldHdvcmt9LmluZnVyYS5pby92My8ke2luZnVyYUlkfWA7XG4gICAgfVxuICAgIHJldHVybiBycGNVcmw7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0UnBjVXJsKGNoYWluSWQsIHJwYykge1xuICAgIGxldCBycGNVcmw7XG4gICAgY29uc3QgaW5mdXJhVXJsID0gZ2V0SW5mdXJhUnBjVXJsKGNoYWluSWQsIHJwYy5pbmZ1cmFJZCk7XG4gICAgaWYgKHJwYy5jdXN0b20gJiYgcnBjLmN1c3RvbVtjaGFpbklkXSkge1xuICAgICAgICBycGNVcmwgPSBycGMuY3VzdG9tW2NoYWluSWRdO1xuICAgIH1cbiAgICBlbHNlIGlmIChpbmZ1cmFVcmwpIHtcbiAgICAgICAgcnBjVXJsID0gaW5mdXJhVXJsO1xuICAgIH1cbiAgICByZXR1cm4gcnBjVXJsO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWlzYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/misc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/mobile.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/mobile.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatIOSMobile: function() { return /* binding */ formatIOSMobile; },\n/* harmony export */ getMobileLinkRegistry: function() { return /* binding */ getMobileLinkRegistry; },\n/* harmony export */ getMobileRegistryEntry: function() { return /* binding */ getMobileRegistryEntry; },\n/* harmony export */ saveMobileLinkInfo: function() { return /* binding */ saveMobileLinkInfo; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/legacy-types */ \"./node_modules/@walletconnect/legacy-types/dist/esm/index.js\");\n/* harmony import */ var _local__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./local */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/local.js\");\n\n\nfunction formatIOSMobile(uri, entry) {\n const encodedUri = encodeURIComponent(uri);\n return entry.universalLink\n ? `${entry.universalLink}/wc?uri=${encodedUri}`\n : entry.deepLink\n ? `${entry.deepLink}${entry.deepLink.endsWith(\":\") ? \"//\" : \"/\"}wc?uri=${encodedUri}`\n : \"\";\n}\nfunction saveMobileLinkInfo(data) {\n const focusUri = data.href.split(\"?\")[0];\n (0,_local__WEBPACK_IMPORTED_MODULE_1__.setLocal)(_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_0__.MOBILE_LINK_CHOICE_KEY, Object.assign(Object.assign({}, data), { href: focusUri }));\n}\nfunction getMobileRegistryEntry(registry, name) {\n return registry.filter((entry) => entry.name.toLowerCase().includes(name.toLowerCase()))[0];\n}\nfunction getMobileLinkRegistry(registry, whitelist) {\n let links = registry;\n if (whitelist) {\n links = whitelist.map((name) => getMobileRegistryEntry(registry, name)).filter(Boolean);\n }\n return links;\n}\n//# sourceMappingURL=mobile.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL21vYmlsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBc0U7QUFDbkM7QUFDNUI7QUFDUDtBQUNBO0FBQ0EsYUFBYSxvQkFBb0IsVUFBVSxXQUFXO0FBQ3REO0FBQ0EsaUJBQWlCLGVBQWUsRUFBRSwwQ0FBMEMsU0FBUyxXQUFXO0FBQ2hHO0FBQ0E7QUFDTztBQUNQO0FBQ0EsSUFBSSxnREFBUSxDQUFDLCtFQUFzQixnQ0FBZ0MsV0FBVyxnQkFBZ0I7QUFDOUY7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vbW9iaWxlLmpzPzE3MWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTU9CSUxFX0xJTktfQ0hPSUNFX0tFWSwgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzXCI7XG5pbXBvcnQgeyBzZXRMb2NhbCB9IGZyb20gXCIuL2xvY2FsXCI7XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SU9TTW9iaWxlKHVyaSwgZW50cnkpIHtcbiAgICBjb25zdCBlbmNvZGVkVXJpID0gZW5jb2RlVVJJQ29tcG9uZW50KHVyaSk7XG4gICAgcmV0dXJuIGVudHJ5LnVuaXZlcnNhbExpbmtcbiAgICAgICAgPyBgJHtlbnRyeS51bml2ZXJzYWxMaW5rfS93Yz91cmk9JHtlbmNvZGVkVXJpfWBcbiAgICAgICAgOiBlbnRyeS5kZWVwTGlua1xuICAgICAgICAgICAgPyBgJHtlbnRyeS5kZWVwTGlua30ke2VudHJ5LmRlZXBMaW5rLmVuZHNXaXRoKFwiOlwiKSA/IFwiLy9cIiA6IFwiL1wifXdjP3VyaT0ke2VuY29kZWRVcml9YFxuICAgICAgICAgICAgOiBcIlwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVNb2JpbGVMaW5rSW5mbyhkYXRhKSB7XG4gICAgY29uc3QgZm9jdXNVcmkgPSBkYXRhLmhyZWYuc3BsaXQoXCI/XCIpWzBdO1xuICAgIHNldExvY2FsKE1PQklMRV9MSU5LX0NIT0lDRV9LRVksIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZGF0YSksIHsgaHJlZjogZm9jdXNVcmkgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vYmlsZVJlZ2lzdHJ5RW50cnkocmVnaXN0cnksIG5hbWUpIHtcbiAgICByZXR1cm4gcmVnaXN0cnkuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG5hbWUudG9Mb3dlckNhc2UoKSkpWzBdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vYmlsZUxpbmtSZWdpc3RyeShyZWdpc3RyeSwgd2hpdGVsaXN0KSB7XG4gICAgbGV0IGxpbmtzID0gcmVnaXN0cnk7XG4gICAgaWYgKHdoaXRlbGlzdCkge1xuICAgICAgICBsaW5rcyA9IHdoaXRlbGlzdC5tYXAoKG5hbWUpID0+IGdldE1vYmlsZVJlZ2lzdHJ5RW50cnkocmVnaXN0cnksIG5hbWUpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIHJldHVybiBsaW5rcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vYmlsZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/mobile.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/payload.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/payload.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatRpcError: function() { return /* binding */ formatRpcError; },\n/* harmony export */ promisify: function() { return /* binding */ promisify; }\n/* harmony export */ });\nfunction promisify(originalFn, thisArg) {\n const promisifiedFunction = async (...callArgs) => {\n return new Promise((resolve, reject) => {\n const callback = (err, data) => {\n if (err === null || typeof err === \"undefined\") {\n reject(err);\n }\n resolve(data);\n };\n originalFn.apply(thisArg, [...callArgs, callback]);\n });\n };\n return promisifiedFunction;\n}\nfunction formatRpcError(error) {\n const message = error.message || \"Failed or Rejected Request\";\n let code = -32000;\n if (error && !error.code) {\n switch (message) {\n case \"Parse error\":\n code = -32700;\n break;\n case \"Invalid request\":\n code = -32600;\n break;\n case \"Method not found\":\n code = -32601;\n break;\n case \"Invalid params\":\n code = -32602;\n break;\n case \"Internal error\":\n code = -32603;\n break;\n default:\n code = -32000;\n break;\n }\n }\n const result = {\n code,\n message,\n };\n if (error.data) {\n result.data = error.data;\n }\n return result;\n}\n//# sourceMappingURL=payload.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL3BheWxvYWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vcGF5bG9hZC5qcz80ZmVhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBwcm9taXNpZnkob3JpZ2luYWxGbiwgdGhpc0FyZykge1xuICAgIGNvbnN0IHByb21pc2lmaWVkRnVuY3Rpb24gPSBhc3luYyAoLi4uY2FsbEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gKGVyciwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIgPT09IG51bGwgfHwgdHlwZW9mIGVyciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBvcmlnaW5hbEZuLmFwcGx5KHRoaXNBcmcsIFsuLi5jYWxsQXJncywgY2FsbGJhY2tdKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gcHJvbWlzaWZpZWRGdW5jdGlvbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRScGNFcnJvcihlcnJvcikge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IFwiRmFpbGVkIG9yIFJlamVjdGVkIFJlcXVlc3RcIjtcbiAgICBsZXQgY29kZSA9IC0zMjAwMDtcbiAgICBpZiAoZXJyb3IgJiYgIWVycm9yLmNvZGUpIHtcbiAgICAgICAgc3dpdGNoIChtZXNzYWdlKSB7XG4gICAgICAgICAgICBjYXNlIFwiUGFyc2UgZXJyb3JcIjpcbiAgICAgICAgICAgICAgICBjb2RlID0gLTMyNzAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkludmFsaWQgcmVxdWVzdFwiOlxuICAgICAgICAgICAgICAgIGNvZGUgPSAtMzI2MDA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiTWV0aG9kIG5vdCBmb3VuZFwiOlxuICAgICAgICAgICAgICAgIGNvZGUgPSAtMzI2MDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiSW52YWxpZCBwYXJhbXNcIjpcbiAgICAgICAgICAgICAgICBjb2RlID0gLTMyNjAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkludGVybmFsIGVycm9yXCI6XG4gICAgICAgICAgICAgICAgY29kZSA9IC0zMjYwMztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgY29kZSA9IC0zMjAwMDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIGNvZGUsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgfTtcbiAgICBpZiAoZXJyb3IuZGF0YSkge1xuICAgICAgICByZXN1bHQuZGF0YSA9IGVycm9yLmRhdGE7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXlsb2FkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/payload.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/registry.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/registry.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatMobileRegistry: function() { return /* binding */ formatMobileRegistry; },\n/* harmony export */ formatMobileRegistryEntry: function() { return /* binding */ formatMobileRegistryEntry; },\n/* harmony export */ getDappRegistryUrl: function() { return /* binding */ getDappRegistryUrl; },\n/* harmony export */ getWalletRegistryUrl: function() { return /* binding */ getWalletRegistryUrl; }\n/* harmony export */ });\nconst API_URL = \"https://registry.walletconnect.com\";\nfunction getWalletRegistryUrl() {\n return API_URL + \"/api/v2/wallets\";\n}\nfunction getDappRegistryUrl() {\n return API_URL + \"/api/v2/dapps\";\n}\nfunction formatMobileRegistryEntry(entry, platform = \"mobile\") {\n var _a;\n return {\n name: entry.name || \"\",\n shortName: entry.metadata.shortName || \"\",\n color: entry.metadata.colors.primary || \"\",\n logo: (_a = entry.image_url.sm) !== null && _a !== void 0 ? _a : \"\",\n universalLink: entry[platform].universal || \"\",\n deepLink: entry[platform].native || \"\",\n };\n}\nfunction formatMobileRegistry(registry, platform = \"mobile\") {\n return Object.values(registry)\n .filter(entry => !!entry[platform].universal || !!entry[platform].native)\n .map(entry => formatMobileRegistryEntry(entry, platform));\n}\n//# sourceMappingURL=registry.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL3JlZ2lzdHJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS11dGlscy9kaXN0L2VzbS9yZWdpc3RyeS5qcz8zMmUzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEFQSV9VUkwgPSBcImh0dHBzOi8vcmVnaXN0cnkud2FsbGV0Y29ubmVjdC5jb21cIjtcbmV4cG9ydCBmdW5jdGlvbiBnZXRXYWxsZXRSZWdpc3RyeVVybCgpIHtcbiAgICByZXR1cm4gQVBJX1VSTCArIFwiL2FwaS92Mi93YWxsZXRzXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGFwcFJlZ2lzdHJ5VXJsKCkge1xuICAgIHJldHVybiBBUElfVVJMICsgXCIvYXBpL3YyL2RhcHBzXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TW9iaWxlUmVnaXN0cnlFbnRyeShlbnRyeSwgcGxhdGZvcm0gPSBcIm1vYmlsZVwiKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGVudHJ5Lm5hbWUgfHwgXCJcIixcbiAgICAgICAgc2hvcnROYW1lOiBlbnRyeS5tZXRhZGF0YS5zaG9ydE5hbWUgfHwgXCJcIixcbiAgICAgICAgY29sb3I6IGVudHJ5Lm1ldGFkYXRhLmNvbG9ycy5wcmltYXJ5IHx8IFwiXCIsXG4gICAgICAgIGxvZ286IChfYSA9IGVudHJ5LmltYWdlX3VybC5zbSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogXCJcIixcbiAgICAgICAgdW5pdmVyc2FsTGluazogZW50cnlbcGxhdGZvcm1dLnVuaXZlcnNhbCB8fCBcIlwiLFxuICAgICAgICBkZWVwTGluazogZW50cnlbcGxhdGZvcm1dLm5hdGl2ZSB8fCBcIlwiLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TW9iaWxlUmVnaXN0cnkocmVnaXN0cnksIHBsYXRmb3JtID0gXCJtb2JpbGVcIikge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHJlZ2lzdHJ5KVxuICAgICAgICAuZmlsdGVyKGVudHJ5ID0+ICEhZW50cnlbcGxhdGZvcm1dLnVuaXZlcnNhbCB8fCAhIWVudHJ5W3BsYXRmb3JtXS5uYXRpdmUpXG4gICAgICAgIC5tYXAoZW50cnkgPT4gZm9ybWF0TW9iaWxlUmVnaXN0cnlFbnRyeShlbnRyeSwgcGxhdGZvcm0pKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZ2lzdHJ5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/registry.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/session.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/session.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isWalletConnectSession: function() { return /* binding */ isWalletConnectSession; },\n/* harmony export */ parseWalletConnectUri: function() { return /* binding */ parseWalletConnectUri; }\n/* harmony export */ });\n/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./url */ \"./node_modules/@walletconnect/legacy-utils/dist/esm/url.js\");\n\nfunction isWalletConnectSession(object) {\n return typeof object.bridge !== \"undefined\";\n}\nfunction parseWalletConnectUri(str) {\n const pathStart = str.indexOf(\":\");\n const pathEnd = str.indexOf(\"?\") !== -1 ? str.indexOf(\"?\") : undefined;\n const protocol = str.substring(0, pathStart);\n const path = str.substring(pathStart + 1, pathEnd);\n function parseRequiredParams(path) {\n const separator = \"@\";\n const values = path.split(separator);\n const requiredParams = {\n handshakeTopic: values[0],\n version: parseInt(values[1], 10),\n };\n return requiredParams;\n }\n const requiredParams = parseRequiredParams(path);\n const queryString = typeof pathEnd !== \"undefined\" ? str.substr(pathEnd) : \"\";\n function parseQueryParams(queryString) {\n const result = (0,_url__WEBPACK_IMPORTED_MODULE_0__.parseQueryString)(queryString);\n const parameters = {\n key: result.key || \"\",\n bridge: result.bridge || \"\",\n };\n return parameters;\n }\n const queryParams = parseQueryParams(queryString);\n const result = Object.assign(Object.assign({ protocol }, requiredParams), queryParams);\n return result;\n}\n//# sourceMappingURL=session.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL3Nlc3Npb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXlDO0FBQ2xDO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsc0RBQWdCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELFVBQVU7QUFDM0Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vc2Vzc2lvbi5qcz83YjRiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlUXVlcnlTdHJpbmcgfSBmcm9tIFwiLi91cmxcIjtcbmV4cG9ydCBmdW5jdGlvbiBpc1dhbGxldENvbm5lY3RTZXNzaW9uKG9iamVjdCkge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0LmJyaWRnZSAhPT0gXCJ1bmRlZmluZWRcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVdhbGxldENvbm5lY3RVcmkoc3RyKSB7XG4gICAgY29uc3QgcGF0aFN0YXJ0ID0gc3RyLmluZGV4T2YoXCI6XCIpO1xuICAgIGNvbnN0IHBhdGhFbmQgPSBzdHIuaW5kZXhPZihcIj9cIikgIT09IC0xID8gc3RyLmluZGV4T2YoXCI/XCIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByb3RvY29sID0gc3RyLnN1YnN0cmluZygwLCBwYXRoU3RhcnQpO1xuICAgIGNvbnN0IHBhdGggPSBzdHIuc3Vic3RyaW5nKHBhdGhTdGFydCArIDEsIHBhdGhFbmQpO1xuICAgIGZ1bmN0aW9uIHBhcnNlUmVxdWlyZWRQYXJhbXMocGF0aCkge1xuICAgICAgICBjb25zdCBzZXBhcmF0b3IgPSBcIkBcIjtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gcGF0aC5zcGxpdChzZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGhhbmRzaGFrZVRvcGljOiB2YWx1ZXNbMF0sXG4gICAgICAgICAgICB2ZXJzaW9uOiBwYXJzZUludCh2YWx1ZXNbMV0sIDEwKSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmVkUGFyYW1zO1xuICAgIH1cbiAgICBjb25zdCByZXF1aXJlZFBhcmFtcyA9IHBhcnNlUmVxdWlyZWRQYXJhbXMocGF0aCk7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSB0eXBlb2YgcGF0aEVuZCAhPT0gXCJ1bmRlZmluZWRcIiA/IHN0ci5zdWJzdHIocGF0aEVuZCkgOiBcIlwiO1xuICAgIGZ1bmN0aW9uIHBhcnNlUXVlcnlQYXJhbXMocXVlcnlTdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcGFyc2VRdWVyeVN0cmluZyhxdWVyeVN0cmluZyk7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICBrZXk6IHJlc3VsdC5rZXkgfHwgXCJcIixcbiAgICAgICAgICAgIGJyaWRnZTogcmVzdWx0LmJyaWRnZSB8fCBcIlwiLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgICB9XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBwYXJzZVF1ZXJ5UGFyYW1zKHF1ZXJ5U3RyaW5nKTtcbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oeyBwcm90b2NvbCB9LCByZXF1aXJlZFBhcmFtcyksIHF1ZXJ5UGFyYW1zKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2Vzc2lvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/session.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/url.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/url.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ appendToQueryString: function() { return /* binding */ appendToQueryString; },\n/* harmony export */ formatQueryString: function() { return /* binding */ formatQueryString; },\n/* harmony export */ getQueryString: function() { return /* binding */ getQueryString; },\n/* harmony export */ parseQueryString: function() { return /* binding */ parseQueryString; }\n/* harmony export */ });\n/* harmony import */ var query_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! query-string */ \"./node_modules/query-string/index.js\");\n\nfunction getQueryString(url) {\n const pathEnd = url.indexOf(\"?\") !== -1 ? url.indexOf(\"?\") : undefined;\n const queryString = typeof pathEnd !== \"undefined\" ? url.substr(pathEnd) : \"\";\n return queryString;\n}\nfunction appendToQueryString(queryString, newQueryParams) {\n let queryParams = parseQueryString(queryString);\n queryParams = Object.assign(Object.assign({}, queryParams), newQueryParams);\n queryString = formatQueryString(queryParams);\n return queryString;\n}\nfunction parseQueryString(queryString) {\n return query_string__WEBPACK_IMPORTED_MODULE_0__.parse(queryString);\n}\nfunction formatQueryString(queryParams) {\n return query_string__WEBPACK_IMPORTED_MODULE_0__.stringify(queryParams);\n}\n//# sourceMappingURL=url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL3VybC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFpRDtBQUMxQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDTztBQUNQLFdBQVcsK0NBQXNCO0FBQ2pDO0FBQ087QUFDUCxXQUFXLG1EQUEwQjtBQUNyQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vdXJsLmpzPzE5NDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcXVlcnlTdHJpbmdVdGlscyBmcm9tIFwicXVlcnktc3RyaW5nXCI7XG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnlTdHJpbmcodXJsKSB7XG4gICAgY29uc3QgcGF0aEVuZCA9IHVybC5pbmRleE9mKFwiP1wiKSAhPT0gLTEgPyB1cmwuaW5kZXhPZihcIj9cIikgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSB0eXBlb2YgcGF0aEVuZCAhPT0gXCJ1bmRlZmluZWRcIiA/IHVybC5zdWJzdHIocGF0aEVuZCkgOiBcIlwiO1xuICAgIHJldHVybiBxdWVyeVN0cmluZztcbn1cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRUb1F1ZXJ5U3RyaW5nKHF1ZXJ5U3RyaW5nLCBuZXdRdWVyeVBhcmFtcykge1xuICAgIGxldCBxdWVyeVBhcmFtcyA9IHBhcnNlUXVlcnlTdHJpbmcocXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBxdWVyeVBhcmFtcyksIG5ld1F1ZXJ5UGFyYW1zKTtcbiAgICBxdWVyeVN0cmluZyA9IGZvcm1hdFF1ZXJ5U3RyaW5nKHF1ZXJ5UGFyYW1zKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VRdWVyeVN0cmluZyhxdWVyeVN0cmluZykge1xuICAgIHJldHVybiBxdWVyeVN0cmluZ1V0aWxzLnBhcnNlKHF1ZXJ5U3RyaW5nKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRRdWVyeVN0cmluZyhxdWVyeVBhcmFtcykge1xuICAgIHJldHVybiBxdWVyeVN0cmluZ1V0aWxzLnN0cmluZ2lmeShxdWVyeVBhcmFtcyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD11cmwuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/url.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/validators.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/validators.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEncoding: function() { return /* binding */ getEncoding; },\n/* harmony export */ getType: function() { return /* binding */ getType; },\n/* harmony export */ isArrayBuffer: function() { return /* binding */ isArrayBuffer; },\n/* harmony export */ isBuffer: function() { return /* binding */ isBuffer; },\n/* harmony export */ isEmptyArray: function() { return /* binding */ isEmptyArray; },\n/* harmony export */ isEmptyString: function() { return /* binding */ isEmptyString; },\n/* harmony export */ isHexString: function() { return /* binding */ isHexString; },\n/* harmony export */ isInternalEvent: function() { return /* binding */ isInternalEvent; },\n/* harmony export */ isJsonRpcRequest: function() { return /* binding */ isJsonRpcRequest; },\n/* harmony export */ isJsonRpcResponseError: function() { return /* binding */ isJsonRpcResponseError; },\n/* harmony export */ isJsonRpcResponseSuccess: function() { return /* binding */ isJsonRpcResponseSuccess; },\n/* harmony export */ isJsonRpcSubscription: function() { return /* binding */ isJsonRpcSubscription; },\n/* harmony export */ isReservedEvent: function() { return /* binding */ isReservedEvent; },\n/* harmony export */ isSilentPayload: function() { return /* binding */ isSilentPayload; },\n/* harmony export */ isTypedArray: function() { return /* binding */ isTypedArray; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/encoding */ \"./node_modules/@walletconnect/encoding/dist/esm/index.js\");\n/* harmony import */ var _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/legacy-types */ \"./node_modules/@walletconnect/legacy-types/dist/esm/index.js\");\n\n\nfunction isEmptyString(value) {\n return value === \"\" || (typeof value === \"string\" && value.trim() === \"\");\n}\nfunction isEmptyArray(array) {\n return !(array && array.length);\n}\nfunction isBuffer(val) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.isBuffer(val);\n}\nfunction isTypedArray(val) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.isTypedArray(val);\n}\nfunction isArrayBuffer(val) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.isArrayBuffer(val);\n}\nfunction getType(val) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.getType(val);\n}\nfunction getEncoding(val) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.getEncoding(val);\n}\nfunction isHexString(value, length) {\n return _walletconnect_encoding__WEBPACK_IMPORTED_MODULE_0__.isHexString(value, length);\n}\nfunction isJsonRpcSubscription(object) {\n return typeof object.params === \"object\";\n}\nfunction isJsonRpcRequest(object) {\n return typeof object.method !== \"undefined\";\n}\nfunction isJsonRpcResponseSuccess(object) {\n return typeof object.result !== \"undefined\";\n}\nfunction isJsonRpcResponseError(object) {\n return typeof object.error !== \"undefined\";\n}\nfunction isInternalEvent(object) {\n return typeof object.event !== \"undefined\";\n}\nfunction isReservedEvent(event) {\n return _walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_1__.RESERVED_EVENTS.includes(event) || event.startsWith(\"wc_\");\n}\nfunction isSilentPayload(request) {\n if (request.method.startsWith(\"wc_\")) {\n return true;\n }\n if (_walletconnect_legacy_types__WEBPACK_IMPORTED_MODULE_1__.SIGNING_METHODS.includes(request.method)) {\n return false;\n }\n return true;\n}\n//# sourceMappingURL=validators.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL3ZhbGlkYXRvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBb0Q7QUFDNEI7QUFDekU7QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxXQUFXLDZEQUFpQjtBQUM1QjtBQUNPO0FBQ1AsV0FBVyxpRUFBcUI7QUFDaEM7QUFDTztBQUNQLFdBQVcsa0VBQXNCO0FBQ2pDO0FBQ087QUFDUCxXQUFXLDREQUFnQjtBQUMzQjtBQUNPO0FBQ1AsV0FBVyxnRUFBb0I7QUFDL0I7QUFDTztBQUNQLFdBQVcsZ0VBQW9CO0FBQy9CO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxXQUFXLHdFQUFlO0FBQzFCO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxRQUFRLHdFQUFlO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L2xlZ2FjeS11dGlscy9kaXN0L2VzbS92YWxpZGF0b3JzLmpzP2VlOGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZW5jb2RpbmcgZnJvbSBcIkB3YWxsZXRjb25uZWN0L2VuY29kaW5nXCI7XG5pbXBvcnQgeyBTSUdOSU5HX01FVEhPRFMsIFJFU0VSVkVEX0VWRU5UUywgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvbGVnYWN5LXR5cGVzXCI7XG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eVN0cmluZyh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gXCJcIiB8fCAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLnRyaW0oKSA9PT0gXCJcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eUFycmF5KGFycmF5KSB7XG4gICAgcmV0dXJuICEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0J1ZmZlcih2YWwpIHtcbiAgICByZXR1cm4gZW5jb2RpbmcuaXNCdWZmZXIodmFsKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1R5cGVkQXJyYXkodmFsKSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmlzVHlwZWRBcnJheSh2YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodmFsKSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmlzQXJyYXlCdWZmZXIodmFsKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlKHZhbCkge1xuICAgIHJldHVybiBlbmNvZGluZy5nZXRUeXBlKHZhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RW5jb2RpbmcodmFsKSB7XG4gICAgcmV0dXJuIGVuY29kaW5nLmdldEVuY29kaW5nKHZhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNIZXhTdHJpbmcodmFsdWUsIGxlbmd0aCkge1xuICAgIHJldHVybiBlbmNvZGluZy5pc0hleFN0cmluZyh2YWx1ZSwgbGVuZ3RoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25ScGNTdWJzY3JpcHRpb24ob2JqZWN0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QucGFyYW1zID09PSBcIm9iamVjdFwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvblJwY1JlcXVlc3Qob2JqZWN0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QubWV0aG9kICE9PSBcInVuZGVmaW5lZFwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvblJwY1Jlc3BvbnNlU3VjY2VzcyhvYmplY3QpIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iamVjdC5yZXN1bHQgIT09IFwidW5kZWZpbmVkXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUnBjUmVzcG9uc2VFcnJvcihvYmplY3QpIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iamVjdC5lcnJvciAhPT0gXCJ1bmRlZmluZWRcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVybmFsRXZlbnQob2JqZWN0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3QuZXZlbnQgIT09IFwidW5kZWZpbmVkXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNSZXNlcnZlZEV2ZW50KGV2ZW50KSB7XG4gICAgcmV0dXJuIFJFU0VSVkVEX0VWRU5UUy5pbmNsdWRlcyhldmVudCkgfHwgZXZlbnQuc3RhcnRzV2l0aChcIndjX1wiKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1NpbGVudFBheWxvYWQocmVxdWVzdCkge1xuICAgIGlmIChyZXF1ZXN0Lm1ldGhvZC5zdGFydHNXaXRoKFwid2NfXCIpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoU0lHTklOR19NRVRIT0RTLmluY2x1ZGVzKHJlcXVlc3QubWV0aG9kKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmFsaWRhdG9ycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/validators.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/legacy-utils/dist/esm/window.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/legacy-utils/dist/esm/window.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getCrypto: function() { return /* binding */ getCrypto; },\n/* harmony export */ getCryptoOrThrow: function() { return /* binding */ getCryptoOrThrow; },\n/* harmony export */ getDocument: function() { return /* binding */ getDocument; },\n/* harmony export */ getDocumentOrThrow: function() { return /* binding */ getDocumentOrThrow; },\n/* harmony export */ getFromWindow: function() { return /* binding */ getFromWindow; },\n/* harmony export */ getFromWindowOrThrow: function() { return /* binding */ getFromWindowOrThrow; },\n/* harmony export */ getLocalStorage: function() { return /* binding */ getLocalStorage; },\n/* harmony export */ getLocalStorageOrThrow: function() { return /* binding */ getLocalStorageOrThrow; },\n/* harmony export */ getLocation: function() { return /* binding */ getLocation; },\n/* harmony export */ getLocationOrThrow: function() { return /* binding */ getLocationOrThrow; },\n/* harmony export */ getNavigator: function() { return /* binding */ getNavigator; },\n/* harmony export */ getNavigatorOrThrow: function() { return /* binding */ getNavigatorOrThrow; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/window-getters */ \"./node_modules/@walletconnect/window-getters/dist/cjs/index.js\");\n\nconst getFromWindow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getFromWindow;\nconst getFromWindowOrThrow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getFromWindowOrThrow;\nconst getDocumentOrThrow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getDocumentOrThrow;\nconst getDocument = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getDocument;\nconst getNavigatorOrThrow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getNavigatorOrThrow;\nconst getNavigator = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getNavigator;\nconst getLocationOrThrow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getLocationOrThrow;\nconst getLocation = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getLocation;\nconst getCryptoOrThrow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getCryptoOrThrow;\nconst getCrypto = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getCrypto;\nconst getLocalStorageOrThrow = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getLocalStorageOrThrow;\nconst getLocalStorage = _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_0__.getLocalStorage;\n//# sourceMappingURL=window.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbGVnYWN5LXV0aWxzL2Rpc3QvZXNtL3dpbmRvdy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQStEO0FBQ3hELHNCQUFzQix3RUFBMkI7QUFDakQsNkJBQTZCLCtFQUFrQztBQUMvRCwyQkFBMkIsNkVBQWdDO0FBQzNELG9CQUFvQixzRUFBeUI7QUFDN0MsNEJBQTRCLDhFQUFpQztBQUM3RCxxQkFBcUIsdUVBQTBCO0FBQy9DLDJCQUEyQiw2RUFBZ0M7QUFDM0Qsb0JBQW9CLHNFQUF5QjtBQUM3Qyx5QkFBeUIsMkVBQThCO0FBQ3ZELGtCQUFrQixvRUFBdUI7QUFDekMsK0JBQStCLGlGQUFvQztBQUNuRSx3QkFBd0IsMEVBQTZCO0FBQzVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9sZWdhY3ktdXRpbHMvZGlzdC9lc20vd2luZG93LmpzPzhmMjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgd2luZG93R2V0dGVycyBmcm9tIFwiQHdhbGxldGNvbm5lY3Qvd2luZG93LWdldHRlcnNcIjtcbmV4cG9ydCBjb25zdCBnZXRGcm9tV2luZG93ID0gd2luZG93R2V0dGVycy5nZXRGcm9tV2luZG93O1xuZXhwb3J0IGNvbnN0IGdldEZyb21XaW5kb3dPclRocm93ID0gd2luZG93R2V0dGVycy5nZXRGcm9tV2luZG93T3JUaHJvdztcbmV4cG9ydCBjb25zdCBnZXREb2N1bWVudE9yVGhyb3cgPSB3aW5kb3dHZXR0ZXJzLmdldERvY3VtZW50T3JUaHJvdztcbmV4cG9ydCBjb25zdCBnZXREb2N1bWVudCA9IHdpbmRvd0dldHRlcnMuZ2V0RG9jdW1lbnQ7XG5leHBvcnQgY29uc3QgZ2V0TmF2aWdhdG9yT3JUaHJvdyA9IHdpbmRvd0dldHRlcnMuZ2V0TmF2aWdhdG9yT3JUaHJvdztcbmV4cG9ydCBjb25zdCBnZXROYXZpZ2F0b3IgPSB3aW5kb3dHZXR0ZXJzLmdldE5hdmlnYXRvcjtcbmV4cG9ydCBjb25zdCBnZXRMb2NhdGlvbk9yVGhyb3cgPSB3aW5kb3dHZXR0ZXJzLmdldExvY2F0aW9uT3JUaHJvdztcbmV4cG9ydCBjb25zdCBnZXRMb2NhdGlvbiA9IHdpbmRvd0dldHRlcnMuZ2V0TG9jYXRpb247XG5leHBvcnQgY29uc3QgZ2V0Q3J5cHRvT3JUaHJvdyA9IHdpbmRvd0dldHRlcnMuZ2V0Q3J5cHRvT3JUaHJvdztcbmV4cG9ydCBjb25zdCBnZXRDcnlwdG8gPSB3aW5kb3dHZXR0ZXJzLmdldENyeXB0bztcbmV4cG9ydCBjb25zdCBnZXRMb2NhbFN0b3JhZ2VPclRocm93ID0gd2luZG93R2V0dGVycy5nZXRMb2NhbFN0b3JhZ2VPclRocm93O1xuZXhwb3J0IGNvbnN0IGdldExvY2FsU3RvcmFnZSA9IHdpbmRvd0dldHRlcnMuZ2V0TG9jYWxTdG9yYWdlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2luZG93LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/legacy-utils/dist/esm/window.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/randombytes/dist/esm/browser/index.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@walletconnect/randombytes/dist/esm/browser/index.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ randomBytes: function() { return /* binding */ randomBytes; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/environment */ \"./node_modules/@walletconnect/environment/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction randomBytes(length) {\n const browserCrypto = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.getBrowerCrypto();\n return browserCrypto.getRandomValues(new Uint8Array(length));\n}\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmFuZG9tYnl0ZXMvZGlzdC9lc20vYnJvd3Nlci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0Q7QUFDM0M7QUFDUCwwQkFBMEIsdUVBQW1CO0FBQzdDO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmFuZG9tYnl0ZXMvZGlzdC9lc20vYnJvd3Nlci9pbmRleC5qcz9mMTg1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVudiBmcm9tIFwiQHdhbGxldGNvbm5lY3QvZW52aXJvbm1lbnRcIjtcbmV4cG9ydCBmdW5jdGlvbiByYW5kb21CeXRlcyhsZW5ndGgpIHtcbiAgICBjb25zdCBicm93c2VyQ3J5cHRvID0gZW52LmdldEJyb3dlckNyeXB0bygpO1xuICAgIHJldHVybiBicm93c2VyQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShsZW5ndGgpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/randombytes/dist/esm/browser/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/safe-json/dist/esm/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/safe-json/dist/esm/index.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ safeJsonParse: function() { return /* binding */ safeJsonParse; },\n/* harmony export */ safeJsonStringify: function() { return /* binding */ safeJsonStringify; }\n/* harmony export */ });\nconst JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === \"bigint\" ? value.toString() + \"n\" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, \"$1\\\"$2n\\\"$3\");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === \"string\" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nfunction safeJsonParse(value) {\n if (typeof value !== \"string\") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nfunction safeJsonStringify(value) {\n return typeof value === \"string\" ? value : JSONStringify(value) || \"\";\n}\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qvc2FmZS1qc29uL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBLGlEQUFpRCxJQUFJLDZPQUE2TztBQUNsUztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsZ0VBQWdFLGFBQWE7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9zYWZlLWpzb24vZGlzdC9lc20vaW5kZXguanM/ZTJkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBKU09OU3RyaW5naWZ5ID0gZGF0YSA9PiBKU09OLnN0cmluZ2lmeShkYXRhLCAoXywgdmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIiA/IHZhbHVlLnRvU3RyaW5nKCkgKyBcIm5cIiA6IHZhbHVlKTtcbmNvbnN0IEpTT05QYXJzZSA9IGpzb24gPT4ge1xuICAgIGNvbnN0IG51bWJlcnNCaWdnZXJUaGFuTWF4SW50ID0gLyhbXFxbOl0pPyhcXGR7MTcsfXwoPzpbOV0oPzpbMS05XTA3MTk5MjU0NzQwOTkxfDBbMS05XTcxOTkyNTQ3NDA5OTF8MDBbOC05XTE5OTI1NDc0MDk5MXwwMDdbMi05XTk5MjU0NzQwOTkxfDAwNzE5OVszLTldNTQ3NDA5OTF8MDA3MTk5Mls2LTldNDc0MDk5MXwwMDcxOTkyNVs1LTldNzQwOTkxfDAwNzE5OTI1NFs4LTldNDA5OTF8MDA3MTk5MjU0N1s1LTldMDk5MXwwMDcxOTkyNTQ3NFsxLTldOTkxfDAwNzE5OTI1NDc0MDk5WzItOV0pKSkoWyxcXH1cXF1dKS9nO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWREYXRhID0ganNvbi5yZXBsYWNlKG51bWJlcnNCaWdnZXJUaGFuTWF4SW50LCBcIiQxXFxcIiQyblxcXCIkM1wiKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzZXJpYWxpemVkRGF0YSwgKF8sIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ3VzdG9tRm9ybWF0QmlnSW50ID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLm1hdGNoKC9eXFxkK24kLyk7XG4gICAgICAgIGlmIChpc0N1c3RvbUZvcm1hdEJpZ0ludClcbiAgICAgICAgICAgIHJldHVybiBCaWdJbnQodmFsdWUuc3Vic3RyaW5nKDAsIHZhbHVlLmxlbmd0aCAtIDEpKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0pO1xufTtcbmV4cG9ydCBmdW5jdGlvbiBzYWZlSnNvblBhcnNlKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzYWZlIGpzb24gcGFyc2UgdmFsdWUgb2YgdHlwZSAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT05QYXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIGNhdGNoIChfYSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVKc29uU3RyaW5naWZ5KHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogSlNPTlN0cmluZ2lmeSh2YWx1ZSkgfHwgXCJcIjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/safe-json/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/base64-js/index.js": -/*!*****************************************!*\ - !*** ./node_modules/base64-js/index.js ***! - \*****************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFzZTY0LWpzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFZOztBQUVaLGtCQUFrQjtBQUNsQixtQkFBbUI7QUFDbkIscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUMsU0FBUztBQUM1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxjQUFjLFNBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixTQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkNBQTJDLFVBQVU7QUFDckQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYmFzZTY0LWpzL2luZGV4LmpzPzM3NzAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmV4cG9ydHMuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcbmV4cG9ydHMudG9CeXRlQXJyYXkgPSB0b0J5dGVBcnJheVxuZXhwb3J0cy5mcm9tQnl0ZUFycmF5ID0gZnJvbUJ5dGVBcnJheVxuXG52YXIgbG9va3VwID0gW11cbnZhciByZXZMb29rdXAgPSBbXVxudmFyIEFyciA9IHR5cGVvZiBVaW50OEFycmF5ICE9PSAndW5kZWZpbmVkJyA/IFVpbnQ4QXJyYXkgOiBBcnJheVxuXG52YXIgY29kZSA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJ1xuZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNvZGUubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgbG9va3VwW2ldID0gY29kZVtpXVxuICByZXZMb29rdXBbY29kZS5jaGFyQ29kZUF0KGkpXSA9IGlcbn1cblxuLy8gU3VwcG9ydCBkZWNvZGluZyBVUkwtc2FmZSBiYXNlNjQgc3RyaW5ncywgYXMgTm9kZS5qcyBkb2VzLlxuLy8gU2VlOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYXNlNjQjVVJMX2FwcGxpY2F0aW9uc1xucmV2TG9va3VwWyctJy5jaGFyQ29kZUF0KDApXSA9IDYyXG5yZXZMb29rdXBbJ18nLmNoYXJDb2RlQXQoMCldID0gNjNcblxuZnVuY3Rpb24gZ2V0TGVucyAoYjY0KSB7XG4gIHZhciBsZW4gPSBiNjQubGVuZ3RoXG5cbiAgaWYgKGxlbiAlIDQgPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0JylcbiAgfVxuXG4gIC8vIFRyaW0gb2ZmIGV4dHJhIGJ5dGVzIGFmdGVyIHBsYWNlaG9sZGVyIGJ5dGVzIGFyZSBmb3VuZFxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWF0Z2FtbWl0L2Jhc2U2NC1qcy9pc3N1ZXMvNDJcbiAgdmFyIHZhbGlkTGVuID0gYjY0LmluZGV4T2YoJz0nKVxuICBpZiAodmFsaWRMZW4gPT09IC0xKSB2YWxpZExlbiA9IGxlblxuXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSB2YWxpZExlbiA9PT0gbGVuXG4gICAgPyAwXG4gICAgOiA0IC0gKHZhbGlkTGVuICUgNClcblxuICByZXR1cm4gW3ZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW5dXG59XG5cbi8vIGJhc2U2NCBpcyA0LzMgKyB1cCB0byB0d28gY2hhcmFjdGVycyBvZiB0aGUgb3JpZ2luYWwgZGF0YVxuZnVuY3Rpb24gYnl0ZUxlbmd0aCAoYjY0KSB7XG4gIHZhciBsZW5zID0gZ2V0TGVucyhiNjQpXG4gIHZhciB2YWxpZExlbiA9IGxlbnNbMF1cbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IGxlbnNbMV1cbiAgcmV0dXJuICgodmFsaWRMZW4gKyBwbGFjZUhvbGRlcnNMZW4pICogMyAvIDQpIC0gcGxhY2VIb2xkZXJzTGVuXG59XG5cbmZ1bmN0aW9uIF9ieXRlTGVuZ3RoIChiNjQsIHZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW4pIHtcbiAgcmV0dXJuICgodmFsaWRMZW4gKyBwbGFjZUhvbGRlcnNMZW4pICogMyAvIDQpIC0gcGxhY2VIb2xkZXJzTGVuXG59XG5cbmZ1bmN0aW9uIHRvQnl0ZUFycmF5IChiNjQpIHtcbiAgdmFyIHRtcFxuICB2YXIgbGVucyA9IGdldExlbnMoYjY0KVxuICB2YXIgdmFsaWRMZW4gPSBsZW5zWzBdXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSBsZW5zWzFdXG5cbiAgdmFyIGFyciA9IG5ldyBBcnIoX2J5dGVMZW5ndGgoYjY0LCB2YWxpZExlbiwgcGxhY2VIb2xkZXJzTGVuKSlcblxuICB2YXIgY3VyQnl0ZSA9IDBcblxuICAvLyBpZiB0aGVyZSBhcmUgcGxhY2Vob2xkZXJzLCBvbmx5IGdldCB1cCB0byB0aGUgbGFzdCBjb21wbGV0ZSA0IGNoYXJzXG4gIHZhciBsZW4gPSBwbGFjZUhvbGRlcnNMZW4gPiAwXG4gICAgPyB2YWxpZExlbiAtIDRcbiAgICA6IHZhbGlkTGVuXG5cbiAgdmFyIGlcbiAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgdG1wID1cbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDE4KSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAxKV0gPDwgMTIpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDIpXSA8PCA2KSB8XG4gICAgICByZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDMpXVxuICAgIGFycltjdXJCeXRlKytdID0gKHRtcCA+PiAxNikgJiAweEZGXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxuICB9XG5cbiAgaWYgKHBsYWNlSG9sZGVyc0xlbiA9PT0gMikge1xuICAgIHRtcCA9XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyKSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAxKV0gPj4gNClcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcbiAgfVxuXG4gIGlmIChwbGFjZUhvbGRlcnNMZW4gPT09IDEpIHtcbiAgICB0bXAgPVxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpKV0gPDwgMTApIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCA0KSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAyKV0gPj4gMilcbiAgICBhcnJbY3VyQnl0ZSsrXSA9ICh0bXAgPj4gOCkgJiAweEZGXG4gICAgYXJyW2N1ckJ5dGUrK10gPSB0bXAgJiAweEZGXG4gIH1cblxuICByZXR1cm4gYXJyXG59XG5cbmZ1bmN0aW9uIHRyaXBsZXRUb0Jhc2U2NCAobnVtKSB7XG4gIHJldHVybiBsb29rdXBbbnVtID4+IDE4ICYgMHgzRl0gK1xuICAgIGxvb2t1cFtudW0gPj4gMTIgJiAweDNGXSArXG4gICAgbG9va3VwW251bSA+PiA2ICYgMHgzRl0gK1xuICAgIGxvb2t1cFtudW0gJiAweDNGXVxufVxuXG5mdW5jdGlvbiBlbmNvZGVDaHVuayAodWludDgsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHRtcFxuICB2YXIgb3V0cHV0ID0gW11cbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IDMpIHtcbiAgICB0bXAgPVxuICAgICAgKCh1aW50OFtpXSA8PCAxNikgJiAweEZGMDAwMCkgK1xuICAgICAgKCh1aW50OFtpICsgMV0gPDwgOCkgJiAweEZGMDApICtcbiAgICAgICh1aW50OFtpICsgMl0gJiAweEZGKVxuICAgIG91dHB1dC5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0bXApKVxuICB9XG4gIHJldHVybiBvdXRwdXQuam9pbignJylcbn1cblxuZnVuY3Rpb24gZnJvbUJ5dGVBcnJheSAodWludDgpIHtcbiAgdmFyIHRtcFxuICB2YXIgbGVuID0gdWludDgubGVuZ3RoXG4gIHZhciBleHRyYUJ5dGVzID0gbGVuICUgMyAvLyBpZiB3ZSBoYXZlIDEgYnl0ZSBsZWZ0LCBwYWQgMiBieXRlc1xuICB2YXIgcGFydHMgPSBbXVxuICB2YXIgbWF4Q2h1bmtMZW5ndGggPSAxNjM4MyAvLyBtdXN0IGJlIG11bHRpcGxlIG9mIDNcblxuICAvLyBnbyB0aHJvdWdoIHRoZSBhcnJheSBldmVyeSB0aHJlZSBieXRlcywgd2UnbGwgZGVhbCB3aXRoIHRyYWlsaW5nIHN0dWZmIGxhdGVyXG4gIGZvciAodmFyIGkgPSAwLCBsZW4yID0gbGVuIC0gZXh0cmFCeXRlczsgaSA8IGxlbjI7IGkgKz0gbWF4Q2h1bmtMZW5ndGgpIHtcbiAgICBwYXJ0cy5wdXNoKGVuY29kZUNodW5rKHVpbnQ4LCBpLCAoaSArIG1heENodW5rTGVuZ3RoKSA+IGxlbjIgPyBsZW4yIDogKGkgKyBtYXhDaHVua0xlbmd0aCkpKVxuICB9XG5cbiAgLy8gcGFkIHRoZSBlbmQgd2l0aCB6ZXJvcywgYnV0IG1ha2Ugc3VyZSB0byBub3QgZm9yZ2V0IHRoZSBleHRyYSBieXRlc1xuICBpZiAoZXh0cmFCeXRlcyA9PT0gMSkge1xuICAgIHRtcCA9IHVpbnQ4W2xlbiAtIDFdXG4gICAgcGFydHMucHVzaChcbiAgICAgIGxvb2t1cFt0bXAgPj4gMl0gK1xuICAgICAgbG9va3VwWyh0bXAgPDwgNCkgJiAweDNGXSArXG4gICAgICAnPT0nXG4gICAgKVxuICB9IGVsc2UgaWYgKGV4dHJhQnl0ZXMgPT09IDIpIHtcbiAgICB0bXAgPSAodWludDhbbGVuIC0gMl0gPDwgOCkgKyB1aW50OFtsZW4gLSAxXVxuICAgIHBhcnRzLnB1c2goXG4gICAgICBsb29rdXBbdG1wID4+IDEwXSArXG4gICAgICBsb29rdXBbKHRtcCA+PiA0KSAmIDB4M0ZdICtcbiAgICAgIGxvb2t1cFsodG1wIDw8IDIpICYgMHgzRl0gK1xuICAgICAgJz0nXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJycpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/base64-js/index.js\n")); - -/***/ }), - -/***/ "./node_modules/buffer/index.js": -/*!**************************************!*\ - !*** ./node_modules/buffer/index.js ***! - \**************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nconst base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nconst ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVZOztBQUVaLGVBQWUsbUJBQU8sQ0FBQyxvREFBVztBQUNsQyxnQkFBZ0IsbUJBQU8sQ0FBQyxnREFBUztBQUNqQztBQUNBO0FBQ0E7QUFDQTs7QUFFQSxjQUFjO0FBQ2Qsa0JBQWtCO0FBQ2xCLHlCQUF5Qjs7QUFFekI7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixZQUFZO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSx3Q0FBd0MsU0FBUztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYyxpQkFBaUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixTQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsRUFBRTtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixlQUFlO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLHlCQUF5QixRQUFRO0FBQ2pDO0FBQ0Esc0JBQXNCLGVBQWU7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsWUFBWTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLFNBQVM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHNCQUFzQixTQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQixTQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHNCQUFzQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUI7QUFD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Q047QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsWUFBWTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanM/OTAxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIFRoZSBidWZmZXIgbW9kdWxlIGZyb20gbm9kZS5qcywgZm9yIHRoZSBicm93c2VyLlxuICpcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmc+XG4gKiBAbGljZW5zZSAgTUlUXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG5cbid1c2Ugc3RyaWN0J1xuXG5jb25zdCBiYXNlNjQgPSByZXF1aXJlKCdiYXNlNjQtanMnKVxuY29uc3QgaWVlZTc1NCA9IHJlcXVpcmUoJ2llZWU3NTQnKVxuY29uc3QgY3VzdG9tSW5zcGVjdFN5bWJvbCA9XG4gICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBTeW1ib2xbJ2ZvciddID09PSAnZnVuY3Rpb24nKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuICAgID8gU3ltYm9sWydmb3InXSgnbm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20nKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuICAgIDogbnVsbFxuXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxuZXhwb3J0cy5TbG93QnVmZmVyID0gU2xvd0J1ZmZlclxuZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUyA9IDUwXG5cbmNvbnN0IEtfTUFYX0xFTkdUSCA9IDB4N2ZmZmZmZmZcbmV4cG9ydHMua01heExlbmd0aCA9IEtfTUFYX0xFTkdUSFxuXG4vKipcbiAqIElmIGBCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVGA6XG4gKiAgID09PSB0cnVlICAgIFVzZSBVaW50OEFycmF5IGltcGxlbWVudGF0aW9uIChmYXN0ZXN0KVxuICogICA9PT0gZmFsc2UgICBQcmludCB3YXJuaW5nIGFuZCByZWNvbW1lbmQgdXNpbmcgYGJ1ZmZlcmAgdjQueCB3aGljaCBoYXMgYW4gT2JqZWN0XG4gKiAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIChtb3N0IGNvbXBhdGlibGUsIGV2ZW4gSUU2KVxuICpcbiAqIEJyb3dzZXJzIHRoYXQgc3VwcG9ydCB0eXBlZCBhcnJheXMgYXJlIElFIDEwKywgRmlyZWZveCA0KywgQ2hyb21lIDcrLCBTYWZhcmkgNS4xKyxcbiAqIE9wZXJhIDExLjYrLCBpT1MgNC4yKy5cbiAqXG4gKiBXZSByZXBvcnQgdGhhdCB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBpZiB0aGUgYXJlIG5vdCBzdWJjbGFzc2FibGVcbiAqIHVzaW5nIF9fcHJvdG9fXy4gRmlyZWZveCA0LTI5IGxhY2tzIHN1cHBvcnQgZm9yIGFkZGluZyBuZXcgcHJvcGVydGllcyB0byBgVWludDhBcnJheWBcbiAqIChTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOCkuIElFIDEwIGxhY2tzIHN1cHBvcnRcbiAqIGZvciBfX3Byb3RvX18gYW5kIGhhcyBhIGJ1Z2d5IHR5cGVkIGFycmF5IGltcGxlbWVudGF0aW9uLlxuICovXG5CdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCA9IHR5cGVkQXJyYXlTdXBwb3J0KClcblxuaWYgKCFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2YgY29uc29sZS5lcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICBjb25zb2xlLmVycm9yKFxuICAgICdUaGlzIGJyb3dzZXIgbGFja3MgdHlwZWQgYXJyYXkgKFVpbnQ4QXJyYXkpIHN1cHBvcnQgd2hpY2ggaXMgcmVxdWlyZWQgYnkgJyArXG4gICAgJ2BidWZmZXJgIHY1LnguIFVzZSBgYnVmZmVyYCB2NC54IGlmIHlvdSByZXF1aXJlIG9sZCBicm93c2VyIHN1cHBvcnQuJ1xuICApXG59XG5cbmZ1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0ICgpIHtcbiAgLy8gQ2FuIHR5cGVkIGFycmF5IGluc3RhbmNlcyBjYW4gYmUgYXVnbWVudGVkP1xuICB0cnkge1xuICAgIGNvbnN0IGFyciA9IG5ldyBVaW50OEFycmF5KDEpXG4gICAgY29uc3QgcHJvdG8gPSB7IGZvbzogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDIgfSB9XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHByb3RvLCBVaW50OEFycmF5LnByb3RvdHlwZSlcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoYXJyLCBwcm90bylcbiAgICByZXR1cm4gYXJyLmZvbygpID09PSA0MlxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlci5wcm90b3R5cGUsICdwYXJlbnQnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKHRoaXMpKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXMuYnVmZmVyXG4gIH1cbn0pXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLCAnb2Zmc2V0Jywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih0aGlzKSkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIHJldHVybiB0aGlzLmJ5dGVPZmZzZXRcbiAgfVxufSlcblxuZnVuY3Rpb24gY3JlYXRlQnVmZmVyIChsZW5ndGgpIHtcbiAgaWYgKGxlbmd0aCA+IEtfTUFYX0xFTkdUSCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgXCInICsgbGVuZ3RoICsgJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpXG4gIH1cbiAgLy8gUmV0dXJuIGFuIGF1Z21lbnRlZCBgVWludDhBcnJheWAgaW5zdGFuY2VcbiAgY29uc3QgYnVmID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKVxuICBPYmplY3Quc2V0UHJvdG90eXBlT2YoYnVmLCBCdWZmZXIucHJvdG90eXBlKVxuICByZXR1cm4gYnVmXG59XG5cbi8qKlxuICogVGhlIEJ1ZmZlciBjb25zdHJ1Y3RvciByZXR1cm5zIGluc3RhbmNlcyBvZiBgVWludDhBcnJheWAgdGhhdCBoYXZlIHRoZWlyXG4gKiBwcm90b3R5cGUgY2hhbmdlZCB0byBgQnVmZmVyLnByb3RvdHlwZWAuIEZ1cnRoZXJtb3JlLCBgQnVmZmVyYCBpcyBhIHN1YmNsYXNzIG9mXG4gKiBgVWludDhBcnJheWAsIHNvIHRoZSByZXR1cm5lZCBpbnN0YW5jZXMgd2lsbCBoYXZlIGFsbCB0aGUgbm9kZSBgQnVmZmVyYCBtZXRob2RzXG4gKiBhbmQgdGhlIGBVaW50OEFycmF5YCBtZXRob2RzLiBTcXVhcmUgYnJhY2tldCBub3RhdGlvbiB3b3JrcyBhcyBleHBlY3RlZCAtLSBpdFxuICogcmV0dXJucyBhIHNpbmdsZSBvY3RldC5cbiAqXG4gKiBUaGUgYFVpbnQ4QXJyYXlgIHByb3RvdHlwZSByZW1haW5zIHVubW9kaWZpZWQuXG4gKi9cblxuZnVuY3Rpb24gQnVmZmVyIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICAvLyBDb21tb24gY2FzZS5cbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZ09yT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBzdHJpbmcuIFJlY2VpdmVkIHR5cGUgbnVtYmVyJ1xuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gYWxsb2NVbnNhZmUoYXJnKVxuICB9XG4gIHJldHVybiBmcm9tKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5CdWZmZXIucG9vbFNpemUgPSA4MTkyIC8vIG5vdCB1c2VkIGJ5IHRoaXMgaW1wbGVtZW50YXRpb25cblxuZnVuY3Rpb24gZnJvbSAodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxuICB9XG5cbiAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5Vmlldyh2YWx1ZSlcbiAgfVxuXG4gIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICdUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCAnICtcbiAgICAgICdvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAnICsgKHR5cGVvZiB2YWx1ZSlcbiAgICApXG4gIH1cblxuICBpZiAoaXNJbnN0YW5jZSh2YWx1ZSwgQXJyYXlCdWZmZXIpIHx8XG4gICAgICAodmFsdWUgJiYgaXNJbnN0YW5jZSh2YWx1ZS5idWZmZXIsIEFycmF5QnVmZmVyKSkpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5QnVmZmVyKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBpZiAodHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgKGlzSW5zdGFuY2UodmFsdWUsIFNoYXJlZEFycmF5QnVmZmVyKSB8fFxuICAgICAgKHZhbHVlICYmIGlzSW5zdGFuY2UodmFsdWUuYnVmZmVyLCBTaGFyZWRBcnJheUJ1ZmZlcikpKSkge1xuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICdUaGUgXCJ2YWx1ZVwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlIG51bWJlcidcbiAgICApXG4gIH1cblxuICBjb25zdCB2YWx1ZU9mID0gdmFsdWUudmFsdWVPZiAmJiB2YWx1ZS52YWx1ZU9mKClcbiAgaWYgKHZhbHVlT2YgIT0gbnVsbCAmJiB2YWx1ZU9mICE9PSB2YWx1ZSkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh2YWx1ZU9mLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBjb25zdCBiID0gZnJvbU9iamVjdCh2YWx1ZSlcbiAgaWYgKGIpIHJldHVybiBiXG5cbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1ByaW1pdGl2ZSAhPSBudWxsICYmXG4gICAgICB0eXBlb2YgdmFsdWVbU3ltYm9sLnRvUHJpbWl0aXZlXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh2YWx1ZVtTeW1ib2wudG9QcmltaXRpdmVdKCdzdHJpbmcnKSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxuICB9XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAnVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgJyArXG4gICAgJ29yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICcgKyAodHlwZW9mIHZhbHVlKVxuICApXG59XG5cbi8qKlxuICogRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gQnVmZmVyKGFyZywgZW5jb2RpbmcpIGJ1dCB0aHJvd3MgYSBUeXBlRXJyb3JcbiAqIGlmIHZhbHVlIGlzIGEgbnVtYmVyLlxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxuICogQnVmZmVyLmZyb20oYXJyYXkpXG4gKiBCdWZmZXIuZnJvbShidWZmZXIpXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcbiAqKi9cbkJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGZyb20odmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuLy8gTm90ZTogQ2hhbmdlIHByb3RvdHlwZSAqYWZ0ZXIqIEJ1ZmZlci5mcm9tIGlzIGRlZmluZWQgdG8gd29ya2Fyb3VuZCBDaHJvbWUgYnVnOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvcHVsbC8xNDhcbk9iamVjdC5zZXRQcm90b3R5cGVPZihCdWZmZXIucHJvdG90eXBlLCBVaW50OEFycmF5LnByb3RvdHlwZSlcbk9iamVjdC5zZXRQcm90b3R5cGVPZihCdWZmZXIsIFVpbnQ4QXJyYXkpXG5cbmZ1bmN0aW9uIGFzc2VydFNpemUgKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXInKVxuICB9IGVsc2UgaWYgKHNpemUgPCAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicgKyBzaXplICsgJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpXG4gIH1cbn1cblxuZnVuY3Rpb24gYWxsb2MgKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIGFzc2VydFNpemUoc2l6ZSlcbiAgaWYgKHNpemUgPD0gMCkge1xuICAgIHJldHVybiBjcmVhdGVCdWZmZXIoc2l6ZSlcbiAgfVxuICBpZiAoZmlsbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gT25seSBwYXkgYXR0ZW50aW9uIHRvIGVuY29kaW5nIGlmIGl0J3MgYSBzdHJpbmcuIFRoaXNcbiAgICAvLyBwcmV2ZW50cyBhY2NpZGVudGFsbHkgc2VuZGluZyBpbiBhIG51bWJlciB0aGF0IHdvdWxkXG4gICAgLy8gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzdGFydCBvZmZzZXQuXG4gICAgcmV0dXJuIHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZydcbiAgICAgID8gY3JlYXRlQnVmZmVyKHNpemUpLmZpbGwoZmlsbCwgZW5jb2RpbmcpXG4gICAgICA6IGNyZWF0ZUJ1ZmZlcihzaXplKS5maWxsKGZpbGwpXG4gIH1cbiAgcmV0dXJuIGNyZWF0ZUJ1ZmZlcihzaXplKVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqIGFsbG9jKHNpemVbLCBmaWxsWywgZW5jb2RpbmddXSlcbiAqKi9cbkJ1ZmZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICByZXR1cm4gYWxsb2Moc2l6ZSwgZmlsbCwgZW5jb2RpbmcpXG59XG5cbmZ1bmN0aW9uIGFsbG9jVW5zYWZlIChzaXplKSB7XG4gIGFzc2VydFNpemUoc2l6ZSlcbiAgcmV0dXJuIGNyZWF0ZUJ1ZmZlcihzaXplIDwgMCA/IDAgOiBjaGVja2VkKHNpemUpIHwgMClcbn1cblxuLyoqXG4gKiBFcXVpdmFsZW50IHRvIEJ1ZmZlcihudW0pLCBieSBkZWZhdWx0IGNyZWF0ZXMgYSBub24temVyby1maWxsZWQgQnVmZmVyIGluc3RhbmNlLlxuICogKi9cbkJ1ZmZlci5hbGxvY1Vuc2FmZSA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIHJldHVybiBhbGxvY1Vuc2FmZShzaXplKVxufVxuLyoqXG4gKiBFcXVpdmFsZW50IHRvIFNsb3dCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqL1xuQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIHJldHVybiBhbGxvY1Vuc2FmZShzaXplKVxufVxuXG5mdW5jdGlvbiBmcm9tU3RyaW5nIChzdHJpbmcsIGVuY29kaW5nKSB7XG4gIGlmICh0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnIHx8IGVuY29kaW5nID09PSAnJykge1xuICAgIGVuY29kaW5nID0gJ3V0ZjgnXG4gIH1cblxuICBpZiAoIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgfVxuXG4gIGNvbnN0IGxlbmd0aCA9IGJ5dGVMZW5ndGgoc3RyaW5nLCBlbmNvZGluZykgfCAwXG4gIGxldCBidWYgPSBjcmVhdGVCdWZmZXIobGVuZ3RoKVxuXG4gIGNvbnN0IGFjdHVhbCA9IGJ1Zi53cml0ZShzdHJpbmcsIGVuY29kaW5nKVxuXG4gIGlmIChhY3R1YWwgIT09IGxlbmd0aCkge1xuICAgIC8vIFdyaXRpbmcgYSBoZXggc3RyaW5nLCBmb3IgZXhhbXBsZSwgdGhhdCBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMgd2lsbFxuICAgIC8vIGNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGZpcnN0IGludmFsaWQgY2hhcmFjdGVyIHRvIGJlIGlnbm9yZWQuIChlLmcuXG4gICAgLy8gJ2FieHhjZCcgd2lsbCBiZSB0cmVhdGVkIGFzICdhYicpXG4gICAgYnVmID0gYnVmLnNsaWNlKDAsIGFjdHVhbClcbiAgfVxuXG4gIHJldHVybiBidWZcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5TGlrZSAoYXJyYXkpIHtcbiAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoIDwgMCA/IDAgOiBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXG4gIGNvbnN0IGJ1ZiA9IGNyZWF0ZUJ1ZmZlcihsZW5ndGgpXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICBidWZbaV0gPSBhcnJheVtpXSAmIDI1NVxuICB9XG4gIHJldHVybiBidWZcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5VmlldyAoYXJyYXlWaWV3KSB7XG4gIGlmIChpc0luc3RhbmNlKGFycmF5VmlldywgVWludDhBcnJheSkpIHtcbiAgICBjb25zdCBjb3B5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlWaWV3KVxuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIoY29weS5idWZmZXIsIGNvcHkuYnl0ZU9mZnNldCwgY29weS5ieXRlTGVuZ3RoKVxuICB9XG4gIHJldHVybiBmcm9tQXJyYXlMaWtlKGFycmF5Vmlldylcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5QnVmZmVyIChhcnJheSwgYnl0ZU9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmIChieXRlT2Zmc2V0IDwgMCB8fCBhcnJheS5ieXRlTGVuZ3RoIDwgYnl0ZU9mZnNldCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdcIm9mZnNldFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpXG4gIH1cblxuICBpZiAoYXJyYXkuYnl0ZUxlbmd0aCA8IGJ5dGVPZmZzZXQgKyAobGVuZ3RoIHx8IDApKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1wibGVuZ3RoXCIgaXMgb3V0c2lkZSBvZiBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGxldCBidWZcbiAgaWYgKGJ5dGVPZmZzZXQgPT09IHVuZGVmaW5lZCAmJiBsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgIGJ1ZiA9IG5ldyBVaW50OEFycmF5KGFycmF5KVxuICB9IGVsc2UgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYnVmID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQpXG4gIH0gZWxzZSB7XG4gICAgYnVmID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlXG4gIE9iamVjdC5zZXRQcm90b3R5cGVPZihidWYsIEJ1ZmZlci5wcm90b3R5cGUpXG5cbiAgcmV0dXJuIGJ1ZlxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0IChvYmopIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XG4gICAgY29uc3QgbGVuID0gY2hlY2tlZChvYmoubGVuZ3RoKSB8IDBcbiAgICBjb25zdCBidWYgPSBjcmVhdGVCdWZmZXIobGVuKVxuXG4gICAgaWYgKGJ1Zi5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBidWZcbiAgICB9XG5cbiAgICBvYmouY29weShidWYsIDAsIDAsIGxlbilcbiAgICByZXR1cm4gYnVmXG4gIH1cblxuICBpZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBvYmoubGVuZ3RoICE9PSAnbnVtYmVyJyB8fCBudW1iZXJJc05hTihvYmoubGVuZ3RoKSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUJ1ZmZlcigwKVxuICAgIH1cbiAgICByZXR1cm4gZnJvbUFycmF5TGlrZShvYmopXG4gIH1cblxuICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIEFycmF5LmlzQXJyYXkob2JqLmRhdGEpKSB7XG4gICAgcmV0dXJuIGZyb21BcnJheUxpa2Uob2JqLmRhdGEpXG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tlZCAobGVuZ3RoKSB7XG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IEtfTUFYX0xFTkdUSGAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxuICAvLyBsZW5ndGggaXMgTmFOICh3aGljaCBpcyBvdGhlcndpc2UgY29lcmNlZCB0byB6ZXJvLilcbiAgaWYgKGxlbmd0aCA+PSBLX01BWF9MRU5HVEgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAnc2l6ZTogMHgnICsgS19NQVhfTEVOR1RILnRvU3RyaW5nKDE2KSArICcgYnl0ZXMnKVxuICB9XG4gIHJldHVybiBsZW5ndGggfCAwXG59XG5cbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xuICBpZiAoK2xlbmd0aCAhPSBsZW5ndGgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBlcWVxZXFcbiAgICBsZW5ndGggPSAwXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5hbGxvYygrbGVuZ3RoKVxufVxuXG5CdWZmZXIuaXNCdWZmZXIgPSBmdW5jdGlvbiBpc0J1ZmZlciAoYikge1xuICByZXR1cm4gYiAhPSBudWxsICYmIGIuX2lzQnVmZmVyID09PSB0cnVlICYmXG4gICAgYiAhPT0gQnVmZmVyLnByb3RvdHlwZSAvLyBzbyBCdWZmZXIuaXNCdWZmZXIoQnVmZmVyLnByb3RvdHlwZSkgd2lsbCBiZSBmYWxzZVxufVxuXG5CdWZmZXIuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgaWYgKGlzSW5zdGFuY2UoYSwgVWludDhBcnJheSkpIGEgPSBCdWZmZXIuZnJvbShhLCBhLm9mZnNldCwgYS5ieXRlTGVuZ3RoKVxuICBpZiAoaXNJbnN0YW5jZShiLCBVaW50OEFycmF5KSkgYiA9IEJ1ZmZlci5mcm9tKGIsIGIub2Zmc2V0LCBiLmJ5dGVMZW5ndGgpXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGEpIHx8ICFCdWZmZXIuaXNCdWZmZXIoYikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgJ1RoZSBcImJ1ZjFcIiwgXCJidWYyXCIgYXJndW1lbnRzIG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXknXG4gICAgKVxuICB9XG5cbiAgaWYgKGEgPT09IGIpIHJldHVybiAwXG5cbiAgbGV0IHggPSBhLmxlbmd0aFxuICBsZXQgeSA9IGIubGVuZ3RoXG5cbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkge1xuICAgICAgeCA9IGFbaV1cbiAgICAgIHkgPSBiW2ldXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcbiAgcmV0dXJuIDBcbn1cblxuQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiBpc0VuY29kaW5nIChlbmNvZGluZykge1xuICBzd2l0Y2ggKFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ2hleCc6XG4gICAgY2FzZSAndXRmOCc6XG4gICAgY2FzZSAndXRmLTgnOlxuICAgIGNhc2UgJ2FzY2lpJzpcbiAgICBjYXNlICdsYXRpbjEnOlxuICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICBjYXNlICd1Y3MyJzpcbiAgICBjYXNlICd1Y3MtMic6XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgcmV0dXJuIHRydWVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShsaXN0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gIH1cblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICBsZXQgaVxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBsZW5ndGggPSAwXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIGxlbmd0aCArPSBsaXN0W2ldLmxlbmd0aFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW5ndGgpXG4gIGxldCBwb3MgPSAwXG4gIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGJ1ZiA9IGxpc3RbaV1cbiAgICBpZiAoaXNJbnN0YW5jZShidWYsIFVpbnQ4QXJyYXkpKSB7XG4gICAgICBpZiAocG9zICsgYnVmLmxlbmd0aCA+IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkgYnVmID0gQnVmZmVyLmZyb20oYnVmKVxuICAgICAgICBidWYuY29weShidWZmZXIsIHBvcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKFxuICAgICAgICAgIGJ1ZmZlcixcbiAgICAgICAgICBidWYsXG4gICAgICAgICAgcG9zXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmLmNvcHkoYnVmZmVyLCBwb3MpXG4gICAgfVxuICAgIHBvcyArPSBidWYubGVuZ3RoXG4gIH1cbiAgcmV0dXJuIGJ1ZmZlclxufVxuXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChzdHJpbmcsIGVuY29kaW5nKSB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmcubGVuZ3RoXG4gIH1cbiAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyhzdHJpbmcpIHx8IGlzSW5zdGFuY2Uoc3RyaW5nLCBBcnJheUJ1ZmZlcikpIHtcbiAgICByZXR1cm4gc3RyaW5nLmJ5dGVMZW5ndGhcbiAgfVxuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiAnICtcbiAgICAgICdSZWNlaXZlZCB0eXBlICcgKyB0eXBlb2Ygc3RyaW5nXG4gICAgKVxuICB9XG5cbiAgY29uc3QgbGVuID0gc3RyaW5nLmxlbmd0aFxuICBjb25zdCBtdXN0TWF0Y2ggPSAoYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdID09PSB0cnVlKVxuICBpZiAoIW11c3RNYXRjaCAmJiBsZW4gPT09IDApIHJldHVybiAwXG5cbiAgLy8gVXNlIGEgZm9yIGxvb3AgdG8gYXZvaWQgcmVjdXJzaW9uXG4gIGxldCBsb3dlcmVkQ2FzZSA9IGZhbHNlXG4gIGZvciAoOzspIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxlblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICAgIHJldHVybiB1dGY4VG9CeXRlcyhzdHJpbmcpLmxlbmd0aFxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIGxlbiAqIDJcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBsZW4gPj4+IDFcbiAgICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgICAgIHJldHVybiBiYXNlNjRUb0J5dGVzKHN0cmluZykubGVuZ3RoXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHtcbiAgICAgICAgICByZXR1cm4gbXVzdE1hdGNoID8gLTEgOiB1dGY4VG9CeXRlcyhzdHJpbmcpLmxlbmd0aCAvLyBhc3N1bWUgdXRmOFxuICAgICAgICB9XG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5CdWZmZXIuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcblxuZnVuY3Rpb24gc2xvd1RvU3RyaW5nIChlbmNvZGluZywgc3RhcnQsIGVuZCkge1xuICBsZXQgbG93ZXJlZENhc2UgPSBmYWxzZVxuXG4gIC8vIE5vIG5lZWQgdG8gdmVyaWZ5IHRoYXQgXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXCIgc2luY2UgaXQncyBhIHJlYWQtb25seVxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxuXG4gIC8vIFRoaXMgYmVoYXZlcyBuZWl0aGVyIGxpa2UgU3RyaW5nIG5vciBVaW50OEFycmF5IGluIHRoYXQgd2Ugc2V0IHN0YXJ0L2VuZFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXG4gIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNwZWNpYWxseSBhcyBwZXIgRUNNQS0yNjIgNnRoIEVkaXRpb24sXG4gIC8vIFNlY3Rpb24gMTMuMy4zLjcgUnVudGltZSBTZW1hbnRpY3M6IEtleWVkQmluZGluZ0luaXRpYWxpemF0aW9uLlxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxuICAvLyBjb2VyY2lvbiBmYWlsIGJlbG93LlxuICBpZiAoc3RhcnQgPiB0aGlzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgZW5kID0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIGlmIChlbmQgPD0gMCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgLy8gRm9yY2UgY29lcmNpb24gdG8gdWludDMyLiBUaGlzIHdpbGwgYWxzbyBjb2VyY2UgZmFsc2V5L05hTiB2YWx1ZXMgdG8gMC5cbiAgZW5kID4+Pj0gMFxuICBzdGFydCA+Pj49IDBcblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgc3dpdGNoIChlbmNvZGluZykge1xuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgY2FzZSAndXRmLTgnOlxuICAgICAgICByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgICAgcmV0dXJuIGFzY2lpU2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnbGF0aW4xJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAgIHJldHVybiBsYXRpbjFTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGJ5IGBCdWZmZXIuaXNCdWZmZXJgIChhbmQgdGhlIGBpcy1idWZmZXJgIG5wbSBwYWNrYWdlKVxuLy8gdG8gZGV0ZWN0IGEgQnVmZmVyIGluc3RhbmNlLiBJdCdzIG5vdCBwb3NzaWJsZSB0byB1c2UgYGluc3RhbmNlb2YgQnVmZmVyYFxuLy8gcmVsaWFibHkgaW4gYSBicm93c2VyaWZ5IGNvbnRleHQgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBtdWx0aXBsZSBkaWZmZXJlbnRcbi8vIGNvcGllcyBvZiB0aGUgJ2J1ZmZlcicgcGFja2FnZSBpbiB1c2UuIFRoaXMgbWV0aG9kIHdvcmtzIGV2ZW4gZm9yIEJ1ZmZlclxuLy8gaW5zdGFuY2VzIHRoYXQgd2VyZSBjcmVhdGVkIGZyb20gYW5vdGhlciBjb3B5IG9mIHRoZSBgYnVmZmVyYCBwYWNrYWdlLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmVyb3NzL2J1ZmZlci9pc3N1ZXMvMTU0XG5CdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlciA9IHRydWVcblxuZnVuY3Rpb24gc3dhcCAoYiwgbiwgbSkge1xuICBjb25zdCBpID0gYltuXVxuICBiW25dID0gYlttXVxuICBiW21dID0gaVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXAxNiA9IGZ1bmN0aW9uIHN3YXAxNiAoKSB7XG4gIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSAyICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzJylcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSAyKSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMSlcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXAzMiA9IGZ1bmN0aW9uIHN3YXAzMiAoKSB7XG4gIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA0ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgMilcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XG4gIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA4ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzJylcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSA4KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgNylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgNilcbiAgICBzd2FwKHRoaXMsIGkgKyAyLCBpICsgNSlcbiAgICBzd2FwKHRoaXMsIGkgKyAzLCBpICsgNClcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKCkge1xuICBjb25zdCBsZW5ndGggPSB0aGlzLmxlbmd0aFxuICBpZiAobGVuZ3RoID09PSAwKSByZXR1cm4gJydcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHJldHVybiB1dGY4U2xpY2UodGhpcywgMCwgbGVuZ3RoKVxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuQnVmZmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyA9IEJ1ZmZlci5wcm90b3R5cGUudG9TdHJpbmdcblxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICBpZiAodGhpcyA9PT0gYikgcmV0dXJuIHRydWVcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xuICBsZXQgc3RyID0gJydcbiAgY29uc3QgbWF4ID0gZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFU1xuICBzdHIgPSB0aGlzLnRvU3RyaW5nKCdoZXgnLCAwLCBtYXgpLnJlcGxhY2UoLyguezJ9KS9nLCAnJDEgJykudHJpbSgpXG4gIGlmICh0aGlzLmxlbmd0aCA+IG1heCkgc3RyICs9ICcgLi4uICdcbiAgcmV0dXJuICc8QnVmZmVyICcgKyBzdHIgKyAnPidcbn1cbmlmIChjdXN0b21JbnNwZWN0U3ltYm9sKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGVbY3VzdG9tSW5zcGVjdFN5bWJvbF0gPSBCdWZmZXIucHJvdG90eXBlLmluc3BlY3Rcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5jb21wYXJlID0gZnVuY3Rpb24gY29tcGFyZSAodGFyZ2V0LCBzdGFydCwgZW5kLCB0aGlzU3RhcnQsIHRoaXNFbmQpIHtcbiAgaWYgKGlzSW5zdGFuY2UodGFyZ2V0LCBVaW50OEFycmF5KSkge1xuICAgIHRhcmdldCA9IEJ1ZmZlci5mcm9tKHRhcmdldCwgdGFyZ2V0Lm9mZnNldCwgdGFyZ2V0LmJ5dGVMZW5ndGgpXG4gIH1cbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodGFyZ2V0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAnVGhlIFwidGFyZ2V0XCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheS4gJyArXG4gICAgICAnUmVjZWl2ZWQgdHlwZSAnICsgKHR5cGVvZiB0YXJnZXQpXG4gICAgKVxuICB9XG5cbiAgaWYgKHN0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICBpZiAoZW5kID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmQgPSB0YXJnZXQgPyB0YXJnZXQubGVuZ3RoIDogMFxuICB9XG4gIGlmICh0aGlzU3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRoaXNTdGFydCA9IDBcbiAgfVxuICBpZiAodGhpc0VuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhpc0VuZCA9IHRoaXMubGVuZ3RoXG4gIH1cblxuICBpZiAoc3RhcnQgPCAwIHx8IGVuZCA+IHRhcmdldC5sZW5ndGggfHwgdGhpc1N0YXJ0IDwgMCB8fCB0aGlzRW5kID4gdGhpcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb3V0IG9mIHJhbmdlIGluZGV4JylcbiAgfVxuXG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCAmJiBzdGFydCA+PSBlbmQpIHtcbiAgICByZXR1cm4gMFxuICB9XG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCkge1xuICAgIHJldHVybiAtMVxuICB9XG4gIGlmIChzdGFydCA+PSBlbmQpIHtcbiAgICByZXR1cm4gMVxuICB9XG5cbiAgc3RhcnQgPj4+PSAwXG4gIGVuZCA+Pj49IDBcbiAgdGhpc1N0YXJ0ID4+Pj0gMFxuICB0aGlzRW5kID4+Pj0gMFxuXG4gIGlmICh0aGlzID09PSB0YXJnZXQpIHJldHVybiAwXG5cbiAgbGV0IHggPSB0aGlzRW5kIC0gdGhpc1N0YXJ0XG4gIGxldCB5ID0gZW5kIC0gc3RhcnRcbiAgY29uc3QgbGVuID0gTWF0aC5taW4oeCwgeSlcblxuICBjb25zdCB0aGlzQ29weSA9IHRoaXMuc2xpY2UodGhpc1N0YXJ0LCB0aGlzRW5kKVxuICBjb25zdCB0YXJnZXRDb3B5ID0gdGFyZ2V0LnNsaWNlKHN0YXJ0LCBlbmQpXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgIGlmICh0aGlzQ29weVtpXSAhPT0gdGFyZ2V0Q29weVtpXSkge1xuICAgICAgeCA9IHRoaXNDb3B5W2ldXG4gICAgICB5ID0gdGFyZ2V0Q29weVtpXVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoeCA8IHkpIHJldHVybiAtMVxuICBpZiAoeSA8IHgpIHJldHVybiAxXG4gIHJldHVybiAwXG59XG5cbi8vIEZpbmRzIGVpdGhlciB0aGUgZmlyc3QgaW5kZXggb2YgYHZhbGAgaW4gYGJ1ZmZlcmAgYXQgb2Zmc2V0ID49IGBieXRlT2Zmc2V0YCxcbi8vIE9SIHRoZSBsYXN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA8PSBgYnl0ZU9mZnNldGAuXG4vL1xuLy8gQXJndW1lbnRzOlxuLy8gLSBidWZmZXIgLSBhIEJ1ZmZlciB0byBzZWFyY2hcbi8vIC0gdmFsIC0gYSBzdHJpbmcsIEJ1ZmZlciwgb3IgbnVtYmVyXG4vLyAtIGJ5dGVPZmZzZXQgLSBhbiBpbmRleCBpbnRvIGBidWZmZXJgOyB3aWxsIGJlIGNsYW1wZWQgdG8gYW4gaW50MzJcbi8vIC0gZW5jb2RpbmcgLSBhbiBvcHRpb25hbCBlbmNvZGluZywgcmVsZXZhbnQgaXMgdmFsIGlzIGEgc3RyaW5nXG4vLyAtIGRpciAtIHRydWUgZm9yIGluZGV4T2YsIGZhbHNlIGZvciBsYXN0SW5kZXhPZlxuZnVuY3Rpb24gYmlkaXJlY3Rpb25hbEluZGV4T2YgKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKSB7XG4gIC8vIEVtcHR5IGJ1ZmZlciBtZWFucyBubyBtYXRjaFxuICBpZiAoYnVmZmVyLmxlbmd0aCA9PT0gMCkgcmV0dXJuIC0xXG5cbiAgLy8gTm9ybWFsaXplIGJ5dGVPZmZzZXRcbiAgaWYgKHR5cGVvZiBieXRlT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgIGVuY29kaW5nID0gYnl0ZU9mZnNldFxuICAgIGJ5dGVPZmZzZXQgPSAwXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA+IDB4N2ZmZmZmZmYpIHtcbiAgICBieXRlT2Zmc2V0ID0gMHg3ZmZmZmZmZlxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPCAtMHg4MDAwMDAwMCkge1xuICAgIGJ5dGVPZmZzZXQgPSAtMHg4MDAwMDAwMFxuICB9XG4gIGJ5dGVPZmZzZXQgPSArYnl0ZU9mZnNldCAvLyBDb2VyY2UgdG8gTnVtYmVyLlxuICBpZiAobnVtYmVySXNOYU4oYnl0ZU9mZnNldCkpIHtcbiAgICAvLyBieXRlT2Zmc2V0OiBpdCBpdCdzIHVuZGVmaW5lZCwgbnVsbCwgTmFOLCBcImZvb1wiLCBldGMsIHNlYXJjaCB3aG9sZSBidWZmZXJcbiAgICBieXRlT2Zmc2V0ID0gZGlyID8gMCA6IChidWZmZXIubGVuZ3RoIC0gMSlcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBieXRlT2Zmc2V0OiBuZWdhdGl2ZSBvZmZzZXRzIHN0YXJ0IGZyb20gdGhlIGVuZCBvZiB0aGUgYnVmZmVyXG4gIGlmIChieXRlT2Zmc2V0IDwgMCkgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggKyBieXRlT2Zmc2V0XG4gIGlmIChieXRlT2Zmc2V0ID49IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICBpZiAoZGlyKSByZXR1cm4gLTFcbiAgICBlbHNlIGJ5dGVPZmZzZXQgPSBidWZmZXIubGVuZ3RoIC0gMVxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPCAwKSB7XG4gICAgaWYgKGRpcikgYnl0ZU9mZnNldCA9IDBcbiAgICBlbHNlIHJldHVybiAtMVxuICB9XG5cbiAgLy8gTm9ybWFsaXplIHZhbFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICB2YWwgPSBCdWZmZXIuZnJvbSh2YWwsIGVuY29kaW5nKVxuICB9XG5cbiAgLy8gRmluYWxseSwgc2VhcmNoIGVpdGhlciBpbmRleE9mIChpZiBkaXIgaXMgdHJ1ZSkgb3IgbGFzdEluZGV4T2ZcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWwpKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBsb29raW5nIGZvciBlbXB0eSBzdHJpbmcvYnVmZmVyIGFsd2F5cyBmYWlsc1xuICAgIGlmICh2YWwubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gLTFcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5SW5kZXhPZihidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcilcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDB4RkYgLy8gU2VhcmNoIGZvciBhIGJ5dGUgdmFsdWUgWzAtMjU1XVxuICAgIGlmICh0eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKGRpcikge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCBbdmFsXSwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcilcbiAgfVxuXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ3ZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlcicpXG59XG5cbmZ1bmN0aW9uIGFycmF5SW5kZXhPZiAoYXJyLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpIHtcbiAgbGV0IGluZGV4U2l6ZSA9IDFcbiAgbGV0IGFyckxlbmd0aCA9IGFyci5sZW5ndGhcbiAgbGV0IHZhbExlbmd0aCA9IHZhbC5sZW5ndGhcblxuICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgIGVuY29kaW5nID0gU3RyaW5nKGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpXG4gICAgaWYgKGVuY29kaW5nID09PSAndWNzMicgfHwgZW5jb2RpbmcgPT09ICd1Y3MtMicgfHxcbiAgICAgICAgZW5jb2RpbmcgPT09ICd1dGYxNmxlJyB8fCBlbmNvZGluZyA9PT0gJ3V0Zi0xNmxlJykge1xuICAgICAgaWYgKGFyci5sZW5ndGggPCAyIHx8IHZhbC5sZW5ndGggPCAyKSB7XG4gICAgICAgIHJldHVybiAtMVxuICAgICAgfVxuICAgICAgaW5kZXhTaXplID0gMlxuICAgICAgYXJyTGVuZ3RoIC89IDJcbiAgICAgIHZhbExlbmd0aCAvPSAyXG4gICAgICBieXRlT2Zmc2V0IC89IDJcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFkIChidWYsIGkpIHtcbiAgICBpZiAoaW5kZXhTaXplID09PSAxKSB7XG4gICAgICByZXR1cm4gYnVmW2ldXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBidWYucmVhZFVJbnQxNkJFKGkgKiBpbmRleFNpemUpXG4gICAgfVxuICB9XG5cbiAgbGV0IGlcbiAgaWYgKGRpcikge1xuICAgIGxldCBmb3VuZEluZGV4ID0gLTFcbiAgICBmb3IgKGkgPSBieXRlT2Zmc2V0OyBpIDwgYXJyTGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChyZWFkKGFyciwgaSkgPT09IHJlYWQodmFsLCBmb3VuZEluZGV4ID09PSAtMSA/IDAgOiBpIC0gZm91bmRJbmRleCkpIHtcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggPT09IC0xKSBmb3VuZEluZGV4ID0gaVxuICAgICAgICBpZiAoaSAtIGZvdW5kSW5kZXggKyAxID09PSB2YWxMZW5ndGgpIHJldHVybiBmb3VuZEluZGV4ICogaW5kZXhTaXplXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZm91bmRJbmRleCAhPT0gLTEpIGkgLT0gaSAtIGZvdW5kSW5kZXhcbiAgICAgICAgZm91bmRJbmRleCA9IC0xXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChieXRlT2Zmc2V0ICsgdmFsTGVuZ3RoID4gYXJyTGVuZ3RoKSBieXRlT2Zmc2V0ID0gYXJyTGVuZ3RoIC0gdmFsTGVuZ3RoXG4gICAgZm9yIChpID0gYnl0ZU9mZnNldDsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGxldCBmb3VuZCA9IHRydWVcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsTGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKHJlYWQoYXJyLCBpICsgaikgIT09IHJlYWQodmFsLCBqKSkge1xuICAgICAgICAgIGZvdW5kID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZm91bmQpIHJldHVybiBpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5jbHVkZXMgPSBmdW5jdGlvbiBpbmNsdWRlcyAodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykge1xuICByZXR1cm4gdGhpcy5pbmRleE9mKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpICE9PSAtMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiBpbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCB0cnVlKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmxhc3RJbmRleE9mID0gZnVuY3Rpb24gbGFzdEluZGV4T2YgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcbiAgcmV0dXJuIGJpZGlyZWN0aW9uYWxJbmRleE9mKHRoaXMsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGZhbHNlKVxufVxuXG5mdW5jdGlvbiBoZXhXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIG9mZnNldCA9IE51bWJlcihvZmZzZXQpIHx8IDBcbiAgY29uc3QgcmVtYWluaW5nID0gYnVmLmxlbmd0aCAtIG9mZnNldFxuICBpZiAoIWxlbmd0aCkge1xuICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xuICB9IGVsc2Uge1xuICAgIGxlbmd0aCA9IE51bWJlcihsZW5ndGgpXG4gICAgaWYgKGxlbmd0aCA+IHJlbWFpbmluZykge1xuICAgICAgbGVuZ3RoID0gcmVtYWluaW5nXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RyTGVuID0gc3RyaW5nLmxlbmd0aFxuXG4gIGlmIChsZW5ndGggPiBzdHJMZW4gLyAyKSB7XG4gICAgbGVuZ3RoID0gc3RyTGVuIC8gMlxuICB9XG4gIGxldCBpXG4gIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHN0cmluZy5zdWJzdHIoaSAqIDIsIDIpLCAxNilcbiAgICBpZiAobnVtYmVySXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSBwYXJzZWRcbiAgfVxuICByZXR1cm4gaVxufVxuXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBhc2NpaVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYXNjaWlUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGJhc2U2NFdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYmFzZTY0VG9CeXRlcyhzdHJpbmcpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiB1Y3MyV3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKHN0cmluZywgb2Zmc2V0LCBsZW5ndGgsIGVuY29kaW5nKSB7XG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcpXG4gIGlmIChvZmZzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGhcbiAgICBvZmZzZXQgPSAwXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIGVuY29kaW5nKVxuICB9IGVsc2UgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiBvZmZzZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jb2RpbmcgPSBvZmZzZXRcbiAgICBsZW5ndGggPSB0aGlzLmxlbmd0aFxuICAgIG9mZnNldCA9IDBcbiAgLy8gQnVmZmVyI3dyaXRlKHN0cmluZywgb2Zmc2V0WywgbGVuZ3RoXVssIGVuY29kaW5nXSlcbiAgfSBlbHNlIGlmIChpc0Zpbml0ZShvZmZzZXQpKSB7XG4gICAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gICAgaWYgKGlzRmluaXRlKGxlbmd0aCkpIHtcbiAgICAgIGxlbmd0aCA9IGxlbmd0aCA+Pj4gMFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgfSBlbHNlIHtcbiAgICAgIGVuY29kaW5nID0gbGVuZ3RoXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0J1ZmZlci53cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXRbLCBsZW5ndGhdKSBpcyBubyBsb25nZXIgc3VwcG9ydGVkJ1xuICAgIClcbiAgfVxuXG4gIGNvbnN0IHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCB8fCBsZW5ndGggPiByZW1haW5pbmcpIGxlbmd0aCA9IHJlbWFpbmluZ1xuXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0F0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gJ3V0ZjgnXG5cbiAgbGV0IGxvd2VyZWRDYXNlID0gZmFsc2VcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBoZXhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuIHV0ZjhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGFzY2lpV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcbiAgICAgICAgcmV0dXJuIGJhc2U2NFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiB1Y3MyV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jb2RpbmcpXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQnVmZmVyJyxcbiAgICBkYXRhOiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnIgfHwgdGhpcywgMClcbiAgfVxufVxuXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGlmIChzdGFydCA9PT0gMCAmJiBlbmQgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYuc2xpY2Uoc3RhcnQsIGVuZCkpXG4gIH1cbn1cblxuZnVuY3Rpb24gdXRmOFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuICBjb25zdCByZXMgPSBbXVxuXG4gIGxldCBpID0gc3RhcnRcbiAgd2hpbGUgKGkgPCBlbmQpIHtcbiAgICBjb25zdCBmaXJzdEJ5dGUgPSBidWZbaV1cbiAgICBsZXQgY29kZVBvaW50ID0gbnVsbFxuICAgIGxldCBieXRlc1BlclNlcXVlbmNlID0gKGZpcnN0Qnl0ZSA+IDB4RUYpXG4gICAgICA/IDRcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4REYpXG4gICAgICAgICAgPyAzXG4gICAgICAgICAgOiAoZmlyc3RCeXRlID4gMHhCRilcbiAgICAgICAgICAgICAgPyAyXG4gICAgICAgICAgICAgIDogMVxuXG4gICAgaWYgKGkgKyBieXRlc1BlclNlcXVlbmNlIDw9IGVuZCkge1xuICAgICAgbGV0IHNlY29uZEJ5dGUsIHRoaXJkQnl0ZSwgZm91cnRoQnl0ZSwgdGVtcENvZGVQb2ludFxuXG4gICAgICBzd2l0Y2ggKGJ5dGVzUGVyU2VxdWVuY2UpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmIChmaXJzdEJ5dGUgPCAweDgwKSB7XG4gICAgICAgICAgICBjb2RlUG9pbnQgPSBmaXJzdEJ5dGVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODApIHtcbiAgICAgICAgICAgIHRlbXBDb2RlUG9pbnQgPSAoZmlyc3RCeXRlICYgMHgxRikgPDwgMHg2IHwgKHNlY29uZEJ5dGUgJiAweDNGKVxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXG4gICAgICAgICAgdGhpcmRCeXRlID0gYnVmW2kgKyAyXVxuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwICYmICh0aGlyZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4QyB8IChzZWNvbmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKHRoaXJkQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4N0ZGICYmICh0ZW1wQ29kZVBvaW50IDwgMHhEODAwIHx8IHRlbXBDb2RlUG9pbnQgPiAweERGRkYpKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXG4gICAgICAgICAgdGhpcmRCeXRlID0gYnVmW2kgKyAyXVxuICAgICAgICAgIGZvdXJ0aEJ5dGUgPSBidWZbaSArIDNdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwICYmIChmb3VydGhCeXRlICYgMHhDMCkgPT09IDB4ODApIHtcbiAgICAgICAgICAgIHRlbXBDb2RlUG9pbnQgPSAoZmlyc3RCeXRlICYgMHhGKSA8PCAweDEyIHwgKHNlY29uZEJ5dGUgJiAweDNGKSA8PCAweEMgfCAodGhpcmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKGZvdXJ0aEJ5dGUgJiAweDNGKVxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweEZGRkYgJiYgdGVtcENvZGVQb2ludCA8IDB4MTEwMDAwKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvZGVQb2ludCA9PT0gbnVsbCkge1xuICAgICAgLy8gd2UgZGlkIG5vdCBnZW5lcmF0ZSBhIHZhbGlkIGNvZGVQb2ludCBzbyBpbnNlcnQgYVxuICAgICAgLy8gcmVwbGFjZW1lbnQgY2hhciAoVStGRkZEKSBhbmQgYWR2YW5jZSBvbmx5IDEgYnl0ZVxuICAgICAgY29kZVBvaW50ID0gMHhGRkZEXG4gICAgICBieXRlc1BlclNlcXVlbmNlID0gMVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50ID4gMHhGRkZGKSB7XG4gICAgICAvLyBlbmNvZGUgdG8gdXRmMTYgKHN1cnJvZ2F0ZSBwYWlyIGRhbmNlKVxuICAgICAgY29kZVBvaW50IC09IDB4MTAwMDBcbiAgICAgIHJlcy5wdXNoKGNvZGVQb2ludCA+Pj4gMTAgJiAweDNGRiB8IDB4RDgwMClcbiAgICAgIGNvZGVQb2ludCA9IDB4REMwMCB8IGNvZGVQb2ludCAmIDB4M0ZGXG4gICAgfVxuXG4gICAgcmVzLnB1c2goY29kZVBvaW50KVxuICAgIGkgKz0gYnl0ZXNQZXJTZXF1ZW5jZVxuICB9XG5cbiAgcmV0dXJuIGRlY29kZUNvZGVQb2ludHNBcnJheShyZXMpXG59XG5cbi8vIEJhc2VkIG9uIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIyNzQ3MjcyLzY4MDc0MiwgdGhlIGJyb3dzZXIgd2l0aFxuLy8gdGhlIGxvd2VzdCBsaW1pdCBpcyBDaHJvbWUsIHdpdGggMHgxMDAwMCBhcmdzLlxuLy8gV2UgZ28gMSBtYWduaXR1ZGUgbGVzcywgZm9yIHNhZmV0eVxuY29uc3QgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcblxuZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5IChjb2RlUG9pbnRzKSB7XG4gIGNvbnN0IGxlbiA9IGNvZGVQb2ludHMubGVuZ3RoXG4gIGlmIChsZW4gPD0gTUFYX0FSR1VNRU5UU19MRU5HVEgpIHtcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIGNvZGVQb2ludHMpIC8vIGF2b2lkIGV4dHJhIHNsaWNlKClcbiAgfVxuXG4gIC8vIERlY29kZSBpbiBjaHVua3MgdG8gYXZvaWQgXCJjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWRcIi5cbiAgbGV0IHJlcyA9ICcnXG4gIGxldCBpID0gMFxuICB3aGlsZSAoaSA8IGxlbikge1xuICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFxuICAgICAgU3RyaW5nLFxuICAgICAgY29kZVBvaW50cy5zbGljZShpLCBpICs9IE1BWF9BUkdVTUVOVFNfTEVOR1RIKVxuICAgIClcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGFzY2lpU2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xuICBsZXQgcmV0ID0gJydcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuXG4gIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgcmV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldICYgMHg3RilcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbmZ1bmN0aW9uIGxhdGluMVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgbGV0IHJldCA9ICcnXG4gIGVuZCA9IE1hdGgubWluKGJ1Zi5sZW5ndGgsIGVuZClcblxuICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIHJldCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSlcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbmZ1bmN0aW9uIGhleFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgY29uc3QgbGVuID0gYnVmLmxlbmd0aFxuXG4gIGlmICghc3RhcnQgfHwgc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgaWYgKCFlbmQgfHwgZW5kIDwgMCB8fCBlbmQgPiBsZW4pIGVuZCA9IGxlblxuXG4gIGxldCBvdXQgPSAnJ1xuICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIG91dCArPSBoZXhTbGljZUxvb2t1cFRhYmxlW2J1ZltpXV1cbiAgfVxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGNvbnN0IGJ5dGVzID0gYnVmLnNsaWNlKHN0YXJ0LCBlbmQpXG4gIGxldCByZXMgPSAnJ1xuICAvLyBJZiBieXRlcy5sZW5ndGggaXMgb2RkLCB0aGUgbGFzdCA4IGJpdHMgbXVzdCBiZSBpZ25vcmVkIChzYW1lIGFzIG5vZGUuanMpXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoIC0gMTsgaSArPSAyKSB7XG4gICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZXNbaV0gKyAoYnl0ZXNbaSArIDFdICogMjU2KSlcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiBzbGljZSAoc3RhcnQsIGVuZCkge1xuICBjb25zdCBsZW4gPSB0aGlzLmxlbmd0aFxuICBzdGFydCA9IH5+c3RhcnRcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxuXG4gIGlmIChzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSBsZW5cbiAgICBpZiAoc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgfSBlbHNlIGlmIChzdGFydCA+IGxlbikge1xuICAgIHN0YXJ0ID0gbGVuXG4gIH1cblxuICBpZiAoZW5kIDwgMCkge1xuICAgIGVuZCArPSBsZW5cbiAgICBpZiAoZW5kIDwgMCkgZW5kID0gMFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xuICAgIGVuZCA9IGxlblxuICB9XG5cbiAgaWYgKGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxuXG4gIGNvbnN0IG5ld0J1ZiA9IHRoaXMuc3ViYXJyYXkoc3RhcnQsIGVuZClcbiAgLy8gUmV0dXJuIGFuIGF1Z21lbnRlZCBgVWludDhBcnJheWAgaW5zdGFuY2VcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG5ld0J1ZiwgQnVmZmVyLnByb3RvdHlwZSlcblxuICByZXR1cm4gbmV3QnVmXG59XG5cbi8qXG4gKiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpc24ndCB0cnlpbmcgdG8gd3JpdGUgb3V0IG9mIGJvdW5kcy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcbiAgaWYgKChvZmZzZXQgJSAxKSAhPT0gMCB8fCBvZmZzZXQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb2Zmc2V0IGlzIG5vdCB1aW50JylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50TEUgPVxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludExFID0gZnVuY3Rpb24gcmVhZFVJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aClcblxuICBsZXQgdmFsID0gdGhpc1tvZmZzZXRdXG4gIGxldCBtdWwgPSAxXG4gIGxldCBpID0gMFxuICB3aGlsZSAoKytpIDwgYnl0ZUxlbmd0aCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIGldICogbXVsXG4gIH1cblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVpbnRCRSA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50QkUgPSBmdW5jdGlvbiByZWFkVUludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aClcbiAgfVxuXG4gIGxldCB2YWwgPSB0aGlzW29mZnNldCArIC0tYnl0ZUxlbmd0aF1cbiAgbGV0IG11bCA9IDFcbiAgd2hpbGUgKGJ5dGVMZW5ndGggPiAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXSAqIG11bFxuICB9XG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50OCA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OCA9IGZ1bmN0aW9uIHJlYWRVSW50OCAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAxLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50MTZMRSA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVpbnQxNkJFID1cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFID0gZnVuY3Rpb24gcmVhZFVJbnQxNkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCA4KSB8IHRoaXNbb2Zmc2V0ICsgMV1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVWludDMyTEUgPVxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyTEUgPSBmdW5jdGlvbiByZWFkVUludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXG5cbiAgcmV0dXJuICgodGhpc1tvZmZzZXRdKSB8XG4gICAgICAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KSB8XG4gICAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikpICtcbiAgICAgICh0aGlzW29mZnNldCArIDNdICogMHgxMDAwMDAwKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVaW50MzJCRSA9XG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xuICAgICgodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDgpIHxcbiAgICB0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRCaWdVSW50NjRMRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiByZWFkQmlnVUludDY0TEUgKG9mZnNldCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgdmFsaWRhdGVOdW1iZXIob2Zmc2V0LCAnb2Zmc2V0JylcbiAgY29uc3QgZmlyc3QgPSB0aGlzW29mZnNldF1cbiAgY29uc3QgbGFzdCA9IHRoaXNbb2Zmc2V0ICsgN11cbiAgaWYgKGZpcnN0ID09PSB1bmRlZmluZWQgfHwgbGFzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYm91bmRzRXJyb3Iob2Zmc2V0LCB0aGlzLmxlbmd0aCAtIDgpXG4gIH1cblxuICBjb25zdCBsbyA9IGZpcnN0ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogOCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDE2ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogMjRcblxuICBjb25zdCBoaSA9IHRoaXNbKytvZmZzZXRdICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogOCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDE2ICtcbiAgICBsYXN0ICogMiAqKiAyNFxuXG4gIHJldHVybiBCaWdJbnQobG8pICsgKEJpZ0ludChoaSkgPDwgQmlnSW50KDMyKSlcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEJpZ1VJbnQ2NEJFID0gZGVmaW5lQmlnSW50TWV0aG9kKGZ1bmN0aW9uIHJlYWRCaWdVSW50NjRCRSAob2Zmc2V0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICB2YWxpZGF0ZU51bWJlcihvZmZzZXQsICdvZmZzZXQnKVxuICBjb25zdCBmaXJzdCA9IHRoaXNbb2Zmc2V0XVxuICBjb25zdCBsYXN0ID0gdGhpc1tvZmZzZXQgKyA3XVxuICBpZiAoZmlyc3QgPT09IHVuZGVmaW5lZCB8fCBsYXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICBib3VuZHNFcnJvcihvZmZzZXQsIHRoaXMubGVuZ3RoIC0gOClcbiAgfVxuXG4gIGNvbnN0IGhpID0gZmlyc3QgKiAyICoqIDI0ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogMTYgK1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiA4ICtcbiAgICB0aGlzWysrb2Zmc2V0XVxuXG4gIGNvbnN0IGxvID0gdGhpc1srK29mZnNldF0gKiAyICoqIDI0ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogMTYgK1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiA4ICtcbiAgICBsYXN0XG5cbiAgcmV0dXJuIChCaWdJbnQoaGkpIDw8IEJpZ0ludCgzMikpICsgQmlnSW50KGxvKVxufSlcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50TEUgPSBmdW5jdGlvbiByZWFkSW50TEUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgYnl0ZUxlbmd0aCwgdGhpcy5sZW5ndGgpXG5cbiAgbGV0IHZhbCA9IHRoaXNbb2Zmc2V0XVxuICBsZXQgbXVsID0gMVxuICBsZXQgaSA9IDBcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyBpXSAqIG11bFxuICB9XG4gIG11bCAqPSAweDgwXG5cbiAgaWYgKHZhbCA+PSBtdWwpIHZhbCAtPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aClcblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludEJFID0gZnVuY3Rpb24gcmVhZEludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIGxldCBpID0gYnl0ZUxlbmd0aFxuICBsZXQgbXVsID0gMVxuICBsZXQgdmFsID0gdGhpc1tvZmZzZXQgKyAtLWldXG4gIHdoaWxlIChpID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXG4gIGlmICghKHRoaXNbb2Zmc2V0XSAmIDB4ODApKSByZXR1cm4gKHRoaXNbb2Zmc2V0XSlcbiAgcmV0dXJuICgoMHhmZiAtIHRoaXNbb2Zmc2V0XSArIDEpICogLTEpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2TEUgPSBmdW5jdGlvbiByZWFkSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgY29uc3QgdmFsID0gdGhpc1tvZmZzZXRdIHwgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOClcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQxNkJFID0gZnVuY3Rpb24gcmVhZEludDE2QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIGNvbnN0IHZhbCA9IHRoaXNbb2Zmc2V0ICsgMV0gfCAodGhpc1tvZmZzZXRdIDw8IDgpXG4gIHJldHVybiAodmFsICYgMHg4MDAwKSA/IHZhbCB8IDB4RkZGRjAwMDAgOiB2YWxcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRJbnQzMkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKVxuXG4gIHJldHVybiAodGhpc1tvZmZzZXRdKSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgM10gPDwgMjQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDMyQkUgPSBmdW5jdGlvbiByZWFkSW50MzJCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRCaWdJbnQ2NExFID0gZGVmaW5lQmlnSW50TWV0aG9kKGZ1bmN0aW9uIHJlYWRCaWdJbnQ2NExFIChvZmZzZXQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIHZhbGlkYXRlTnVtYmVyKG9mZnNldCwgJ29mZnNldCcpXG4gIGNvbnN0IGZpcnN0ID0gdGhpc1tvZmZzZXRdXG4gIGNvbnN0IGxhc3QgPSB0aGlzW29mZnNldCArIDddXG4gIGlmIChmaXJzdCA9PT0gdW5kZWZpbmVkIHx8IGxhc3QgPT09IHVuZGVmaW5lZCkge1xuICAgIGJvdW5kc0Vycm9yKG9mZnNldCwgdGhpcy5sZW5ndGggLSA4KVxuICB9XG5cbiAgY29uc3QgdmFsID0gdGhpc1tvZmZzZXQgKyA0XSArXG4gICAgdGhpc1tvZmZzZXQgKyA1XSAqIDIgKiogOCArXG4gICAgdGhpc1tvZmZzZXQgKyA2XSAqIDIgKiogMTYgK1xuICAgIChsYXN0IDw8IDI0KSAvLyBPdmVyZmxvd1xuXG4gIHJldHVybiAoQmlnSW50KHZhbCkgPDwgQmlnSW50KDMyKSkgK1xuICAgIEJpZ0ludChmaXJzdCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDggK1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiAxNiArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDI0KVxufSlcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkQmlnSW50NjRCRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiByZWFkQmlnSW50NjRCRSAob2Zmc2V0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICB2YWxpZGF0ZU51bWJlcihvZmZzZXQsICdvZmZzZXQnKVxuICBjb25zdCBmaXJzdCA9IHRoaXNbb2Zmc2V0XVxuICBjb25zdCBsYXN0ID0gdGhpc1tvZmZzZXQgKyA3XVxuICBpZiAoZmlyc3QgPT09IHVuZGVmaW5lZCB8fCBsYXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICBib3VuZHNFcnJvcihvZmZzZXQsIHRoaXMubGVuZ3RoIC0gOClcbiAgfVxuXG4gIGNvbnN0IHZhbCA9IChmaXJzdCA8PCAyNCkgKyAvLyBPdmVyZmxvd1xuICAgIHRoaXNbKytvZmZzZXRdICogMiAqKiAxNiArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDggK1xuICAgIHRoaXNbKytvZmZzZXRdXG5cbiAgcmV0dXJuIChCaWdJbnQodmFsKSA8PCBCaWdJbnQoMzIpKSArXG4gICAgQmlnSW50KHRoaXNbKytvZmZzZXRdICogMiAqKiAyNCArXG4gICAgdGhpc1srK29mZnNldF0gKiAyICoqIDE2ICtcbiAgICB0aGlzWysrb2Zmc2V0XSAqIDIgKiogOCArXG4gICAgbGFzdClcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0TEUgPSBmdW5jdGlvbiByZWFkRmxvYXRMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDIzLCA0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFID0gZnVuY3Rpb24gcmVhZEZsb2F0QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiBpZWVlNzU0LnJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgMjMsIDQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUxFID0gZnVuY3Rpb24gcmVhZERvdWJsZUxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgdHJ1ZSwgNTIsIDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUJFID0gZnVuY3Rpb24gcmVhZERvdWJsZUJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgZmFsc2UsIDUyLCA4KVxufVxuXG5mdW5jdGlvbiBjaGVja0ludCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpXG4gIGlmICh2YWx1ZSA+IG1heCB8fCB2YWx1ZSA8IG1pbikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVWludExFID1cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50TEUgPSBmdW5jdGlvbiB3cml0ZVVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjb25zdCBtYXhCeXRlcyA9IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKSAtIDFcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBtYXhCeXRlcywgMClcbiAgfVxuXG4gIGxldCBtdWwgPSAxXG4gIGxldCBpID0gMFxuICB0aGlzW29mZnNldF0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB0aGlzW29mZnNldCArIGldID0gKHZhbHVlIC8gbXVsKSAmIDB4RkZcbiAgfVxuXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVaW50QkUgPVxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnRCRSA9IGZ1bmN0aW9uIHdyaXRlVUludEJFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNvbnN0IG1heEJ5dGVzID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpIC0gMVxuICAgIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG1heEJ5dGVzLCAwKVxuICB9XG5cbiAgbGV0IGkgPSBieXRlTGVuZ3RoIC0gMVxuICBsZXQgbXVsID0gMVxuICB0aGlzW29mZnNldCArIGldID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgtLWkgPj0gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHRoaXNbb2Zmc2V0ICsgaV0gPSAodmFsdWUgLyBtdWwpICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVpbnQ4ID1cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50OCA9IGZ1bmN0aW9uIHdyaXRlVUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAxLCAweGZmLCAwKVxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICByZXR1cm4gb2Zmc2V0ICsgMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVWludDE2TEUgPVxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4ZmZmZiwgMClcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVpbnQxNkJFID1cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweGZmZmYsIDApXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gOClcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAyXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVaW50MzJMRSA9XG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZVVJbnQzMkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHhmZmZmZmZmZiwgMClcbiAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpXG4gIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDE2KVxuICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVWludDMyQkUgPVxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4ZmZmZmZmZmYsIDApXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gMjQpXG4gIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgPj4+IDE2KVxuICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiA4KVxuICB0aGlzW29mZnNldCArIDNdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuZnVuY3Rpb24gd3J0QmlnVUludDY0TEUgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbWluLCBtYXgpIHtcbiAgY2hlY2tJbnRCSSh2YWx1ZSwgbWluLCBtYXgsIGJ1Ziwgb2Zmc2V0LCA3KVxuXG4gIGxldCBsbyA9IE51bWJlcih2YWx1ZSAmIEJpZ0ludCgweGZmZmZmZmZmKSlcbiAgYnVmW29mZnNldCsrXSA9IGxvXG4gIGxvID0gbG8gPj4gOFxuICBidWZbb2Zmc2V0KytdID0gbG9cbiAgbG8gPSBsbyA+PiA4XG4gIGJ1ZltvZmZzZXQrK10gPSBsb1xuICBsbyA9IGxvID4+IDhcbiAgYnVmW29mZnNldCsrXSA9IGxvXG4gIGxldCBoaSA9IE51bWJlcih2YWx1ZSA+PiBCaWdJbnQoMzIpICYgQmlnSW50KDB4ZmZmZmZmZmYpKVxuICBidWZbb2Zmc2V0KytdID0gaGlcbiAgaGkgPSBoaSA+PiA4XG4gIGJ1ZltvZmZzZXQrK10gPSBoaVxuICBoaSA9IGhpID4+IDhcbiAgYnVmW29mZnNldCsrXSA9IGhpXG4gIGhpID0gaGkgPj4gOFxuICBidWZbb2Zmc2V0KytdID0gaGlcbiAgcmV0dXJuIG9mZnNldFxufVxuXG5mdW5jdGlvbiB3cnRCaWdVSW50NjRCRSAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBtaW4sIG1heCkge1xuICBjaGVja0ludEJJKHZhbHVlLCBtaW4sIG1heCwgYnVmLCBvZmZzZXQsIDcpXG5cbiAgbGV0IGxvID0gTnVtYmVyKHZhbHVlICYgQmlnSW50KDB4ZmZmZmZmZmYpKVxuICBidWZbb2Zmc2V0ICsgN10gPSBsb1xuICBsbyA9IGxvID4+IDhcbiAgYnVmW29mZnNldCArIDZdID0gbG9cbiAgbG8gPSBsbyA+PiA4XG4gIGJ1ZltvZmZzZXQgKyA1XSA9IGxvXG4gIGxvID0gbG8gPj4gOFxuICBidWZbb2Zmc2V0ICsgNF0gPSBsb1xuICBsZXQgaGkgPSBOdW1iZXIodmFsdWUgPj4gQmlnSW50KDMyKSAmIEJpZ0ludCgweGZmZmZmZmZmKSlcbiAgYnVmW29mZnNldCArIDNdID0gaGlcbiAgaGkgPSBoaSA+PiA4XG4gIGJ1ZltvZmZzZXQgKyAyXSA9IGhpXG4gIGhpID0gaGkgPj4gOFxuICBidWZbb2Zmc2V0ICsgMV0gPSBoaVxuICBoaSA9IGhpID4+IDhcbiAgYnVmW29mZnNldF0gPSBoaVxuICByZXR1cm4gb2Zmc2V0ICsgOFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlQmlnVUludDY0TEUgPSBkZWZpbmVCaWdJbnRNZXRob2QoZnVuY3Rpb24gd3JpdGVCaWdVSW50NjRMRSAodmFsdWUsIG9mZnNldCA9IDApIHtcbiAgcmV0dXJuIHdydEJpZ1VJbnQ2NExFKHRoaXMsIHZhbHVlLCBvZmZzZXQsIEJpZ0ludCgwKSwgQmlnSW50KCcweGZmZmZmZmZmZmZmZmZmZmYnKSlcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVCaWdVSW50NjRCRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiB3cml0ZUJpZ1VJbnQ2NEJFICh2YWx1ZSwgb2Zmc2V0ID0gMCkge1xuICByZXR1cm4gd3J0QmlnVUludDY0QkUodGhpcywgdmFsdWUsIG9mZnNldCwgQmlnSW50KDApLCBCaWdJbnQoJzB4ZmZmZmZmZmZmZmZmZmZmZicpKVxufSlcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gd3JpdGVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjb25zdCBsaW1pdCA9IE1hdGgucG93KDIsICg4ICogYnl0ZUxlbmd0aCkgLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICBsZXQgaSA9IDBcbiAgbGV0IG11bCA9IDFcbiAgbGV0IHN1YiA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpIC0gMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gd3JpdGVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjb25zdCBsaW1pdCA9IE1hdGgucG93KDIsICg4ICogYnl0ZUxlbmd0aCkgLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICBsZXQgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIGxldCBtdWwgPSAxXG4gIGxldCBzdWIgPSAwXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAxLCAweDdmLCAtMHg4MClcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmICsgdmFsdWUgKyAxXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAxXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHg3ZmZmLCAtMHg4MDAwKVxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICByZXR1cm4gb2Zmc2V0ICsgMlxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MTZCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4N2ZmZiwgLTB4ODAwMClcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiA4KVxuICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCA+Pj4gMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweDdmZmZmZmZmLCAtMHg4MDAwMDAwMClcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgPj4+IDI0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZmZmZmYgKyB2YWx1ZSArIDFcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcbiAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXG4gIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlQmlnSW50NjRMRSA9IGRlZmluZUJpZ0ludE1ldGhvZChmdW5jdGlvbiB3cml0ZUJpZ0ludDY0TEUgKHZhbHVlLCBvZmZzZXQgPSAwKSB7XG4gIHJldHVybiB3cnRCaWdVSW50NjRMRSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAtQmlnSW50KCcweDgwMDAwMDAwMDAwMDAwMDAnKSwgQmlnSW50KCcweDdmZmZmZmZmZmZmZmZmZmYnKSlcbn0pXG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVCaWdJbnQ2NEJFID0gZGVmaW5lQmlnSW50TWV0aG9kKGZ1bmN0aW9uIHdyaXRlQmlnSW50NjRCRSAodmFsdWUsIG9mZnNldCA9IDApIHtcbiAgcmV0dXJuIHdydEJpZ1VJbnQ2NEJFKHRoaXMsIHZhbHVlLCBvZmZzZXQsIC1CaWdJbnQoJzB4ODAwMDAwMDAwMDAwMDAwMCcpLCBCaWdJbnQoJzB4N2ZmZmZmZmZmZmZmZmZmZicpKVxufSlcblxuZnVuY3Rpb24gY2hlY2tJRUVFNzU0IChidWYsIHZhbHVlLCBvZmZzZXQsIGV4dCwgbWF4LCBtaW4pIHtcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxuICBpZiAob2Zmc2V0IDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0luZGV4IG91dCBvZiByYW5nZScpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRmxvYXQgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgPj4+IDBcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDQsIDMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgsIC0zLjQwMjgyMzQ2NjM4NTI4ODZlKzM4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDIzLCA0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRMRSA9IGZ1bmN0aW9uIHdyaXRlRmxvYXRMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVGbG9hdCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRG91YmxlIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0ID4+PiAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjaGVja0lFRUU3NTQoYnVmLCB2YWx1ZSwgb2Zmc2V0LCA4LCAxLjc5NzY5MzEzNDg2MjMxNTdFKzMwOCwgLTEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDUyLCA4KVxuICByZXR1cm4gb2Zmc2V0ICsgOFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlTEUgPSBmdW5jdGlvbiB3cml0ZURvdWJsZUxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVEb3VibGUodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVCRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlQkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbi8vIGNvcHkodGFyZ2V0QnVmZmVyLCB0YXJnZXRTdGFydD0wLCBzb3VyY2VTdGFydD0wLCBzb3VyY2VFbmQ9YnVmZmVyLmxlbmd0aClcbkJ1ZmZlci5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKHRhcmdldCwgdGFyZ2V0U3RhcnQsIHN0YXJ0LCBlbmQpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodGFyZ2V0KSkgdGhyb3cgbmV3IFR5cGVFcnJvcignYXJndW1lbnQgc2hvdWxkIGJlIGEgQnVmZmVyJylcbiAgaWYgKCFzdGFydCkgc3RhcnQgPSAwXG4gIGlmICghZW5kICYmIGVuZCAhPT0gMCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldFN0YXJ0ID49IHRhcmdldC5sZW5ndGgpIHRhcmdldFN0YXJ0ID0gdGFyZ2V0Lmxlbmd0aFxuICBpZiAoIXRhcmdldFN0YXJ0KSB0YXJnZXRTdGFydCA9IDBcbiAgaWYgKGVuZCA+IDAgJiYgZW5kIDwgc3RhcnQpIGVuZCA9IHN0YXJ0XG5cbiAgLy8gQ29weSAwIGJ5dGVzOyB3ZSdyZSBkb25lXG4gIGlmIChlbmQgPT09IHN0YXJ0KSByZXR1cm4gMFxuICBpZiAodGFyZ2V0Lmxlbmd0aCA9PT0gMCB8fCB0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIDBcblxuICAvLyBGYXRhbCBlcnJvciBjb25kaXRpb25zXG4gIGlmICh0YXJnZXRTdGFydCA8IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigndGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcycpXG4gIH1cbiAgaWYgKHN0YXJ0IDwgMCB8fCBzdGFydCA+PSB0aGlzLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0luZGV4IG91dCBvZiByYW5nZScpXG4gIGlmIChlbmQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlRW5kIG91dCBvZiBib3VuZHMnKVxuXG4gIC8vIEFyZSB3ZSBvb2I/XG4gIGlmIChlbmQgPiB0aGlzLmxlbmd0aCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldC5sZW5ndGggLSB0YXJnZXRTdGFydCA8IGVuZCAtIHN0YXJ0KSB7XG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcbiAgfVxuXG4gIGNvbnN0IGxlbiA9IGVuZCAtIHN0YXJ0XG5cbiAgaWYgKHRoaXMgPT09IHRhcmdldCAmJiB0eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIFVzZSBidWlsdC1pbiB3aGVuIGF2YWlsYWJsZSwgbWlzc2luZyBmcm9tIElFMTFcbiAgICB0aGlzLmNvcHlXaXRoaW4odGFyZ2V0U3RhcnQsIHN0YXJ0LCBlbmQpXG4gIH0gZWxzZSB7XG4gICAgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoXG4gICAgICB0YXJnZXQsXG4gICAgICB0aGlzLnN1YmFycmF5KHN0YXJ0LCBlbmQpLFxuICAgICAgdGFyZ2V0U3RhcnRcbiAgICApXG4gIH1cblxuICByZXR1cm4gbGVuXG59XG5cbi8vIFVzYWdlOlxuLy8gICAgYnVmZmVyLmZpbGwobnVtYmVyWywgb2Zmc2V0WywgZW5kXV0pXG4vLyAgICBidWZmZXIuZmlsbChidWZmZXJbLCBvZmZzZXRbLCBlbmRdXSlcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxuQnVmZmVyLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gZmlsbCAodmFsLCBzdGFydCwgZW5kLCBlbmNvZGluZykge1xuICAvLyBIYW5kbGUgc3RyaW5nIGNhc2VzOlxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBzdGFydFxuICAgICAgc3RhcnQgPSAwXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5kXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH1cbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgIH1cbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgY29kZSA9IHZhbC5jaGFyQ29kZUF0KDApXG4gICAgICBpZiAoKGVuY29kaW5nID09PSAndXRmOCcgJiYgY29kZSA8IDEyOCkgfHxcbiAgICAgICAgICBlbmNvZGluZyA9PT0gJ2xhdGluMScpIHtcbiAgICAgICAgLy8gRmFzdCBwYXRoOiBJZiBgdmFsYCBmaXRzIGludG8gYSBzaW5nbGUgYnl0ZSwgdXNlIHRoYXQgbnVtZXJpYyB2YWx1ZS5cbiAgICAgICAgdmFsID0gY29kZVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDI1NVxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdib29sZWFuJykge1xuICAgIHZhbCA9IE51bWJlcih2YWwpXG4gIH1cblxuICAvLyBJbnZhbGlkIHJhbmdlcyBhcmUgbm90IHNldCB0byBhIGRlZmF1bHQsIHNvIGNhbiByYW5nZSBjaGVjayBlYXJseS5cbiAgaWYgKHN0YXJ0IDwgMCB8fCB0aGlzLmxlbmd0aCA8IHN0YXJ0IHx8IHRoaXMubGVuZ3RoIDwgZW5kKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ091dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHN0YXJ0ID0gc3RhcnQgPj4+IDBcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyB0aGlzLmxlbmd0aCA6IGVuZCA+Pj4gMFxuXG4gIGlmICghdmFsKSB2YWwgPSAwXG5cbiAgbGV0IGlcbiAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgICAgdGhpc1tpXSA9IHZhbFxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBieXRlcyA9IEJ1ZmZlci5pc0J1ZmZlcih2YWwpXG4gICAgICA/IHZhbFxuICAgICAgOiBCdWZmZXIuZnJvbSh2YWwsIGVuY29kaW5nKVxuICAgIGNvbnN0IGxlbiA9IGJ5dGVzLmxlbmd0aFxuICAgIGlmIChsZW4gPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2YWx1ZSBcIicgKyB2YWwgK1xuICAgICAgICAnXCIgaXMgaW52YWxpZCBmb3IgYXJndW1lbnQgXCJ2YWx1ZVwiJylcbiAgICB9XG4gICAgZm9yIChpID0gMDsgaSA8IGVuZCAtIHN0YXJ0OyArK2kpIHtcbiAgICAgIHRoaXNbaSArIHN0YXJ0XSA9IGJ5dGVzW2kgJSBsZW5dXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuLy8gQ1VTVE9NIEVSUk9SU1xuLy8gPT09PT09PT09PT09PVxuXG4vLyBTaW1wbGlmaWVkIHZlcnNpb25zIGZyb20gTm9kZSwgY2hhbmdlZCBmb3IgQnVmZmVyLW9ubHkgdXNhZ2VcbmNvbnN0IGVycm9ycyA9IHt9XG5mdW5jdGlvbiBFIChzeW0sIGdldE1lc3NhZ2UsIEJhc2UpIHtcbiAgZXJyb3JzW3N5bV0gPSBjbGFzcyBOb2RlRXJyb3IgZXh0ZW5kcyBCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICBzdXBlcigpXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbWVzc2FnZScsIHtcbiAgICAgICAgdmFsdWU6IGdldE1lc3NhZ2UuYXBwbHkodGhpcywgYXJndW1lbnRzKSxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSlcblxuICAgICAgLy8gQWRkIHRoZSBlcnJvciBjb2RlIHRvIHRoZSBuYW1lIHRvIGluY2x1ZGUgaXQgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICAgICAgdGhpcy5uYW1lID0gYCR7dGhpcy5uYW1lfSBbJHtzeW19XWBcbiAgICAgIC8vIEFjY2VzcyB0aGUgc3RhY2sgdG8gZ2VuZXJhdGUgdGhlIGVycm9yIG1lc3NhZ2UgaW5jbHVkaW5nIHRoZSBlcnJvciBjb2RlXG4gICAgICAvLyBmcm9tIHRoZSBuYW1lLlxuICAgICAgdGhpcy5zdGFjayAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xuICAgICAgLy8gUmVzZXQgdGhlIG5hbWUgdG8gdGhlIGFjdHVhbCBuYW1lLlxuICAgICAgZGVsZXRlIHRoaXMubmFtZVxuICAgIH1cblxuICAgIGdldCBjb2RlICgpIHtcbiAgICAgIHJldHVybiBzeW1cbiAgICB9XG5cbiAgICBzZXQgY29kZSAodmFsdWUpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY29kZScsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdG9TdHJpbmcgKCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMubmFtZX0gWyR7c3ltfV06ICR7dGhpcy5tZXNzYWdlfWBcbiAgICB9XG4gIH1cbn1cblxuRSgnRVJSX0JVRkZFUl9PVVRfT0ZfQk9VTkRTJyxcbiAgZnVuY3Rpb24gKG5hbWUpIHtcbiAgICBpZiAobmFtZSkge1xuICAgICAgcmV0dXJuIGAke25hbWV9IGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kc2BcbiAgICB9XG5cbiAgICByZXR1cm4gJ0F0dGVtcHQgdG8gYWNjZXNzIG1lbW9yeSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMnXG4gIH0sIFJhbmdlRXJyb3IpXG5FKCdFUlJfSU5WQUxJRF9BUkdfVFlQRScsXG4gIGZ1bmN0aW9uIChuYW1lLCBhY3R1YWwpIHtcbiAgICByZXR1cm4gYFRoZSBcIiR7bmFtZX1cIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIGFjdHVhbH1gXG4gIH0sIFR5cGVFcnJvcilcbkUoJ0VSUl9PVVRfT0ZfUkFOR0UnLFxuICBmdW5jdGlvbiAoc3RyLCByYW5nZSwgaW5wdXQpIHtcbiAgICBsZXQgbXNnID0gYFRoZSB2YWx1ZSBvZiBcIiR7c3RyfVwiIGlzIG91dCBvZiByYW5nZS5gXG4gICAgbGV0IHJlY2VpdmVkID0gaW5wdXRcbiAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihpbnB1dCkgJiYgTWF0aC5hYnMoaW5wdXQpID4gMiAqKiAzMikge1xuICAgICAgcmVjZWl2ZWQgPSBhZGROdW1lcmljYWxTZXBhcmF0b3IoU3RyaW5nKGlucHV0KSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgIHJlY2VpdmVkID0gU3RyaW5nKGlucHV0KVxuICAgICAgaWYgKGlucHV0ID4gQmlnSW50KDIpICoqIEJpZ0ludCgzMikgfHwgaW5wdXQgPCAtKEJpZ0ludCgyKSAqKiBCaWdJbnQoMzIpKSkge1xuICAgICAgICByZWNlaXZlZCA9IGFkZE51bWVyaWNhbFNlcGFyYXRvcihyZWNlaXZlZClcbiAgICAgIH1cbiAgICAgIHJlY2VpdmVkICs9ICduJ1xuICAgIH1cbiAgICBtc2cgKz0gYCBJdCBtdXN0IGJlICR7cmFuZ2V9LiBSZWNlaXZlZCAke3JlY2VpdmVkfWBcbiAgICByZXR1cm4gbXNnXG4gIH0sIFJhbmdlRXJyb3IpXG5cbmZ1bmN0aW9uIGFkZE51bWVyaWNhbFNlcGFyYXRvciAodmFsKSB7XG4gIGxldCByZXMgPSAnJ1xuICBsZXQgaSA9IHZhbC5sZW5ndGhcbiAgY29uc3Qgc3RhcnQgPSB2YWxbMF0gPT09ICctJyA/IDEgOiAwXG4gIGZvciAoOyBpID49IHN0YXJ0ICsgNDsgaSAtPSAzKSB7XG4gICAgcmVzID0gYF8ke3ZhbC5zbGljZShpIC0gMywgaSl9JHtyZXN9YFxuICB9XG4gIHJldHVybiBgJHt2YWwuc2xpY2UoMCwgaSl9JHtyZXN9YFxufVxuXG4vLyBDSEVDSyBGVU5DVElPTlNcbi8vID09PT09PT09PT09PT09PVxuXG5mdW5jdGlvbiBjaGVja0JvdW5kcyAoYnVmLCBvZmZzZXQsIGJ5dGVMZW5ndGgpIHtcbiAgdmFsaWRhdGVOdW1iZXIob2Zmc2V0LCAnb2Zmc2V0JylcbiAgaWYgKGJ1ZltvZmZzZXRdID09PSB1bmRlZmluZWQgfHwgYnVmW29mZnNldCArIGJ5dGVMZW5ndGhdID09PSB1bmRlZmluZWQpIHtcbiAgICBib3VuZHNFcnJvcihvZmZzZXQsIGJ1Zi5sZW5ndGggLSAoYnl0ZUxlbmd0aCArIDEpKVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrSW50QkkgKHZhbHVlLCBtaW4sIG1heCwgYnVmLCBvZmZzZXQsIGJ5dGVMZW5ndGgpIHtcbiAgaWYgKHZhbHVlID4gbWF4IHx8IHZhbHVlIDwgbWluKSB7XG4gICAgY29uc3QgbiA9IHR5cGVvZiBtaW4gPT09ICdiaWdpbnQnID8gJ24nIDogJydcbiAgICBsZXQgcmFuZ2VcbiAgICBpZiAoYnl0ZUxlbmd0aCA+IDMpIHtcbiAgICAgIGlmIChtaW4gPT09IDAgfHwgbWluID09PSBCaWdJbnQoMCkpIHtcbiAgICAgICAgcmFuZ2UgPSBgPj0gMCR7bn0gYW5kIDwgMiR7bn0gKiogJHsoYnl0ZUxlbmd0aCArIDEpICogOH0ke259YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmFuZ2UgPSBgPj0gLSgyJHtufSAqKiAkeyhieXRlTGVuZ3RoICsgMSkgKiA4IC0gMX0ke259KSBhbmQgPCAyICoqIGAgK1xuICAgICAgICAgICAgICAgIGAkeyhieXRlTGVuZ3RoICsgMSkgKiA4IC0gMX0ke259YFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByYW5nZSA9IGA+PSAke21pbn0ke259IGFuZCA8PSAke21heH0ke259YFxuICAgIH1cbiAgICB0aHJvdyBuZXcgZXJyb3JzLkVSUl9PVVRfT0ZfUkFOR0UoJ3ZhbHVlJywgcmFuZ2UsIHZhbHVlKVxuICB9XG4gIGNoZWNrQm91bmRzKGJ1Ziwgb2Zmc2V0LCBieXRlTGVuZ3RoKVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZU51bWJlciAodmFsdWUsIG5hbWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JzLkVSUl9JTlZBTElEX0FSR19UWVBFKG5hbWUsICdudW1iZXInLCB2YWx1ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBib3VuZHNFcnJvciAodmFsdWUsIGxlbmd0aCwgdHlwZSkge1xuICBpZiAoTWF0aC5mbG9vcih2YWx1ZSkgIT09IHZhbHVlKSB7XG4gICAgdmFsaWRhdGVOdW1iZXIodmFsdWUsIHR5cGUpXG4gICAgdGhyb3cgbmV3IGVycm9ycy5FUlJfT1VUX09GX1JBTkdFKHR5cGUgfHwgJ29mZnNldCcsICdhbiBpbnRlZ2VyJywgdmFsdWUpXG4gIH1cblxuICBpZiAobGVuZ3RoIDwgMCkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuRVJSX0JVRkZFUl9PVVRfT0ZfQk9VTkRTKClcbiAgfVxuXG4gIHRocm93IG5ldyBlcnJvcnMuRVJSX09VVF9PRl9SQU5HRSh0eXBlIHx8ICdvZmZzZXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYD49ICR7dHlwZSA/IDEgOiAwfSBhbmQgPD0gJHtsZW5ndGh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlKVxufVxuXG4vLyBIRUxQRVIgRlVOQ1RJT05TXG4vLyA9PT09PT09PT09PT09PT09XG5cbmNvbnN0IElOVkFMSURfQkFTRTY0X1JFID0gL1teKy8wLTlBLVphLXotX10vZ1xuXG5mdW5jdGlvbiBiYXNlNjRjbGVhbiAoc3RyKSB7XG4gIC8vIE5vZGUgdGFrZXMgZXF1YWwgc2lnbnMgYXMgZW5kIG9mIHRoZSBCYXNlNjQgZW5jb2RpbmdcbiAgc3RyID0gc3RyLnNwbGl0KCc9JylbMF1cbiAgLy8gTm9kZSBzdHJpcHMgb3V0IGludmFsaWQgY2hhcmFjdGVycyBsaWtlIFxcbiBhbmQgXFx0IGZyb20gdGhlIHN0cmluZywgYmFzZTY0LWpzIGRvZXMgbm90XG4gIHN0ciA9IHN0ci50cmltKCkucmVwbGFjZShJTlZBTElEX0JBU0U2NF9SRSwgJycpXG4gIC8vIE5vZGUgY29udmVydHMgc3RyaW5ncyB3aXRoIGxlbmd0aCA8IDIgdG8gJydcbiAgaWYgKHN0ci5sZW5ndGggPCAyKSByZXR1cm4gJydcbiAgLy8gTm9kZSBhbGxvd3MgZm9yIG5vbi1wYWRkZWQgYmFzZTY0IHN0cmluZ3MgKG1pc3NpbmcgdHJhaWxpbmcgPT09KSwgYmFzZTY0LWpzIGRvZXMgbm90XG4gIHdoaWxlIChzdHIubGVuZ3RoICUgNCAhPT0gMCkge1xuICAgIHN0ciA9IHN0ciArICc9J1xuICB9XG4gIHJldHVybiBzdHJcbn1cblxuZnVuY3Rpb24gdXRmOFRvQnl0ZXMgKHN0cmluZywgdW5pdHMpIHtcbiAgdW5pdHMgPSB1bml0cyB8fCBJbmZpbml0eVxuICBsZXQgY29kZVBvaW50XG4gIGNvbnN0IGxlbmd0aCA9IHN0cmluZy5sZW5ndGhcbiAgbGV0IGxlYWRTdXJyb2dhdGUgPSBudWxsXG4gIGNvbnN0IGJ5dGVzID0gW11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgY29kZVBvaW50ID0gc3RyaW5nLmNoYXJDb2RlQXQoaSlcblxuICAgIC8vIGlzIHN1cnJvZ2F0ZSBjb21wb25lbnRcbiAgICBpZiAoY29kZVBvaW50ID4gMHhEN0ZGICYmIGNvZGVQb2ludCA8IDB4RTAwMCkge1xuICAgICAgLy8gbGFzdCBjaGFyIHdhcyBhIGxlYWRcbiAgICAgIGlmICghbGVhZFN1cnJvZ2F0ZSkge1xuICAgICAgICAvLyBubyBsZWFkIHlldFxuICAgICAgICBpZiAoY29kZVBvaW50ID4gMHhEQkZGKSB7XG4gICAgICAgICAgLy8gdW5leHBlY3RlZCB0cmFpbFxuICAgICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSBpZiAoaSArIDEgPT09IGxlbmd0aCkge1xuICAgICAgICAgIC8vIHVucGFpcmVkIGxlYWRcbiAgICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmFsaWQgbGVhZFxuICAgICAgICBsZWFkU3Vycm9nYXRlID0gY29kZVBvaW50XG5cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgLy8gMiBsZWFkcyBpbiBhIHJvd1xuICAgICAgaWYgKGNvZGVQb2ludCA8IDB4REMwMCkge1xuICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICAgICAgbGVhZFN1cnJvZ2F0ZSA9IGNvZGVQb2ludFxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyB2YWxpZCBzdXJyb2dhdGUgcGFpclxuICAgICAgY29kZVBvaW50ID0gKGxlYWRTdXJyb2dhdGUgLSAweEQ4MDAgPDwgMTAgfCBjb2RlUG9pbnQgLSAweERDMDApICsgMHgxMDAwMFxuICAgIH0gZWxzZSBpZiAobGVhZFN1cnJvZ2F0ZSkge1xuICAgICAgLy8gdmFsaWQgYm1wIGNoYXIsIGJ1dCBsYXN0IGNoYXIgd2FzIGEgbGVhZFxuICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXG4gICAgfVxuXG4gICAgbGVhZFN1cnJvZ2F0ZSA9IG51bGxcblxuICAgIC8vIGVuY29kZSB1dGY4XG4gICAgaWYgKGNvZGVQb2ludCA8IDB4ODApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gMSkgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChjb2RlUG9pbnQpXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDgwMCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAyKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2IHwgMHhDMCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTAwMDApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gMykgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyB8IDB4RTAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTEwMDAwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDQpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDEyIHwgMHhGMCxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyAmIDB4M0YgfCAweDgwLFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2ICYgMHgzRiB8IDB4ODAsXG4gICAgICAgIGNvZGVQb2ludCAmIDB4M0YgfCAweDgwXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb2RlIHBvaW50JylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYnl0ZXNcbn1cblxuZnVuY3Rpb24gYXNjaWlUb0J5dGVzIChzdHIpIHtcbiAgY29uc3QgYnl0ZUFycmF5ID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpIHtcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cbiAgICBieXRlQXJyYXkucHVzaChzdHIuY2hhckNvZGVBdChpKSAmIDB4RkYpXG4gIH1cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xuICBsZXQgYywgaGksIGxvXG4gIGNvbnN0IGJ5dGVBcnJheSA9IFtdXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7XG4gICAgaWYgKCh1bml0cyAtPSAyKSA8IDApIGJyZWFrXG5cbiAgICBjID0gc3RyLmNoYXJDb2RlQXQoaSlcbiAgICBoaSA9IGMgPj4gOFxuICAgIGxvID0gYyAlIDI1NlxuICAgIGJ5dGVBcnJheS5wdXNoKGxvKVxuICAgIGJ5dGVBcnJheS5wdXNoKGhpKVxuICB9XG5cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiBiYXNlNjRUb0J5dGVzIChzdHIpIHtcbiAgcmV0dXJuIGJhc2U2NC50b0J5dGVBcnJheShiYXNlNjRjbGVhbihzdHIpKVxufVxuXG5mdW5jdGlvbiBibGl0QnVmZmVyIChzcmMsIGRzdCwgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgbGV0IGlcbiAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgaWYgKChpICsgb2Zmc2V0ID49IGRzdC5sZW5ndGgpIHx8IChpID49IHNyYy5sZW5ndGgpKSBicmVha1xuICAgIGRzdFtpICsgb2Zmc2V0XSA9IHNyY1tpXVxuICB9XG4gIHJldHVybiBpXG59XG5cbi8vIEFycmF5QnVmZmVyIG9yIFVpbnQ4QXJyYXkgb2JqZWN0cyBmcm9tIG90aGVyIGNvbnRleHRzIChpLmUuIGlmcmFtZXMpIGRvIG5vdCBwYXNzXG4vLyB0aGUgYGluc3RhbmNlb2ZgIGNoZWNrIGJ1dCB0aGV5IHNob3VsZCBiZSB0cmVhdGVkIGFzIG9mIHRoYXQgdHlwZS5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvaXNzdWVzLzE2NlxuZnVuY3Rpb24gaXNJbnN0YW5jZSAob2JqLCB0eXBlKSB7XG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiB0eXBlIHx8XG4gICAgKG9iaiAhPSBudWxsICYmIG9iai5jb25zdHJ1Y3RvciAhPSBudWxsICYmIG9iai5jb25zdHJ1Y3Rvci5uYW1lICE9IG51bGwgJiZcbiAgICAgIG9iai5jb25zdHJ1Y3Rvci5uYW1lID09PSB0eXBlLm5hbWUpXG59XG5mdW5jdGlvbiBudW1iZXJJc05hTiAob2JqKSB7XG4gIC8vIEZvciBJRTExIHN1cHBvcnRcbiAgcmV0dXJuIG9iaiAhPT0gb2JqIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2VsZi1jb21wYXJlXG59XG5cbi8vIENyZWF0ZSBsb29rdXAgdGFibGUgZm9yIGB0b1N0cmluZygnaGV4JylgXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mZXJvc3MvYnVmZmVyL2lzc3Vlcy8yMTlcbmNvbnN0IGhleFNsaWNlTG9va3VwVGFibGUgPSAoZnVuY3Rpb24gKCkge1xuICBjb25zdCBhbHBoYWJldCA9ICcwMTIzNDU2Nzg5YWJjZGVmJ1xuICBjb25zdCB0YWJsZSA9IG5ldyBBcnJheSgyNTYpXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkge1xuICAgIGNvbnN0IGkxNiA9IGkgKiAxNlxuICAgIGZvciAobGV0IGogPSAwOyBqIDwgMTY7ICsraikge1xuICAgICAgdGFibGVbaTE2ICsgal0gPSBhbHBoYWJldFtpXSArIGFscGhhYmV0W2pdXG4gICAgfVxuICB9XG4gIHJldHVybiB0YWJsZVxufSkoKVxuXG4vLyBSZXR1cm4gbm90IGZ1bmN0aW9uIHdpdGggRXJyb3IgaWYgQmlnSW50IG5vdCBzdXBwb3J0ZWRcbmZ1bmN0aW9uIGRlZmluZUJpZ0ludE1ldGhvZCAoZm4pIHtcbiAgcmV0dXJuIHR5cGVvZiBCaWdJbnQgPT09ICd1bmRlZmluZWQnID8gQnVmZmVyQmlnSW50Tm90RGVmaW5lZCA6IGZuXG59XG5cbmZ1bmN0aW9uIEJ1ZmZlckJpZ0ludE5vdERlZmluZWQgKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ0JpZ0ludCBub3Qgc3VwcG9ydGVkJylcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/buffer/index.js\n")); - -/***/ }), - -/***/ "./node_modules/bufferutil/fallback.js": -/*!*********************************************!*\ - !*** ./node_modules/bufferutil/fallback.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\nconst mask = (source, mask, output, offset, length) => {\n for (var i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n};\n\n/**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\nconst unmask = (buffer, mask) => {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (var i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n};\n\nmodule.exports = { mask, unmask };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVmZmVydXRpbC9mYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixZQUFZO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsWUFBWTtBQUM5QjtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9idWZmZXJ1dGlsL2ZhbGxiYWNrLmpzPzk5YWYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIE1hc2tzIGEgYnVmZmVyIHVzaW5nIHRoZSBnaXZlbiBtYXNrLlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBzb3VyY2UgVGhlIGJ1ZmZlciB0byBtYXNrXG4gKiBAcGFyYW0ge0J1ZmZlcn0gbWFzayBUaGUgbWFzayB0byB1c2VcbiAqIEBwYXJhbSB7QnVmZmVyfSBvdXRwdXQgVGhlIGJ1ZmZlciB3aGVyZSB0byBzdG9yZSB0aGUgcmVzdWx0XG4gKiBAcGFyYW0ge051bWJlcn0gb2Zmc2V0IFRoZSBvZmZzZXQgYXQgd2hpY2ggdG8gc3RhcnQgd3JpdGluZ1xuICogQHBhcmFtIHtOdW1iZXJ9IGxlbmd0aCBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIG1hc2suXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IG1hc2sgPSAoc291cmNlLCBtYXNrLCBvdXRwdXQsIG9mZnNldCwgbGVuZ3RoKSA9PiB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBvdXRwdXRbb2Zmc2V0ICsgaV0gPSBzb3VyY2VbaV0gXiBtYXNrW2kgJiAzXTtcbiAgfVxufTtcblxuLyoqXG4gKiBVbm1hc2tzIGEgYnVmZmVyIHVzaW5nIHRoZSBnaXZlbiBtYXNrLlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBidWZmZXIgVGhlIGJ1ZmZlciB0byB1bm1hc2tcbiAqIEBwYXJhbSB7QnVmZmVyfSBtYXNrIFRoZSBtYXNrIHRvIHVzZVxuICogQHB1YmxpY1xuICovXG5jb25zdCB1bm1hc2sgPSAoYnVmZmVyLCBtYXNrKSA9PiB7XG4gIC8vIFJlcXVpcmVkIHVudGlsIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9pc3N1ZXMvOTAwNiBpcyByZXNvbHZlZC5cbiAgY29uc3QgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aDtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGJ1ZmZlcltpXSBePSBtYXNrW2kgJiAzXTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7IG1hc2ssIHVubWFzayB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bufferutil/fallback.js\n")); - -/***/ }), - -/***/ "./node_modules/bufferutil/index.js": -/*!******************************************!*\ - !*** ./node_modules/bufferutil/index.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("var __dirname = \"/\";\n\n\ntry {\n module.exports = __webpack_require__(/*! node-gyp-build */ \"./node_modules/node-gyp-build/index.js\")(__dirname);\n} catch (e) {\n module.exports = __webpack_require__(/*! ./fallback */ \"./node_modules/bufferutil/fallback.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVmZmVydXRpbC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQWE7O0FBRWI7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQyw4REFBZ0IsRUFBRSxTQUFTO0FBQ3RELEVBQUU7QUFDRixFQUFFLCtGQUFzQztBQUN4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYnVmZmVydXRpbC9pbmRleC5qcz81MDA3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudHJ5IHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCdub2RlLWd5cC1idWlsZCcpKF9fZGlybmFtZSk7XG59IGNhdGNoIChlKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWxsYmFjaycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bufferutil/index.js\n")); - -/***/ }), - -/***/ "./node_modules/call-bind/callBound.js": -/*!*********************************************!*\ - !*** ./node_modules/call-bind/callBound.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar callBind = __webpack_require__(/*! ./ */ \"./node_modules/call-bind/index.js\");\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2NhbGxCb3VuZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyw0REFBZTs7QUFFMUMsZUFBZSxtQkFBTyxDQUFDLDZDQUFJOztBQUUzQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2NhbGxCb3VuZC5qcz9hMWM4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIEdldEludHJpbnNpYyA9IHJlcXVpcmUoJ2dldC1pbnRyaW5zaWMnKTtcblxudmFyIGNhbGxCaW5kID0gcmVxdWlyZSgnLi8nKTtcblxudmFyICRpbmRleE9mID0gY2FsbEJpbmQoR2V0SW50cmluc2ljKCdTdHJpbmcucHJvdG90eXBlLmluZGV4T2YnKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY2FsbEJvdW5kSW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuXHR2YXIgaW50cmluc2ljID0gR2V0SW50cmluc2ljKG5hbWUsICEhYWxsb3dNaXNzaW5nKTtcblx0aWYgKHR5cGVvZiBpbnRyaW5zaWMgPT09ICdmdW5jdGlvbicgJiYgJGluZGV4T2YobmFtZSwgJy5wcm90b3R5cGUuJykgPiAtMSkge1xuXHRcdHJldHVybiBjYWxsQmluZChpbnRyaW5zaWMpO1xuXHR9XG5cdHJldHVybiBpbnRyaW5zaWM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/call-bind/callBound.js\n")); - -/***/ }), - -/***/ "./node_modules/call-bind/index.js": -/*!*****************************************!*\ - !*** ./node_modules/call-bind/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFdBQVcsbUJBQU8sQ0FBQyw0REFBZTtBQUNsQyxtQkFBbUIsbUJBQU8sQ0FBQyw0REFBZTs7QUFFMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0JBQW9CLFNBQVMsVUFBVTtBQUN2QyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNENBQTRDLGtCQUFrQjtBQUM5RCxFQUFFO0FBQ0YsQ0FBQyxvQkFBb0I7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2NhbGwtYmluZC9pbmRleC5qcz80NjZhIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGJpbmQgPSByZXF1aXJlKCdmdW5jdGlvbi1iaW5kJyk7XG52YXIgR2V0SW50cmluc2ljID0gcmVxdWlyZSgnZ2V0LWludHJpbnNpYycpO1xuXG52YXIgJGFwcGx5ID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5JScpO1xudmFyICRjYWxsID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwlJyk7XG52YXIgJHJlZmxlY3RBcHBseSA9IEdldEludHJpbnNpYygnJVJlZmxlY3QuYXBwbHklJywgdHJ1ZSkgfHwgYmluZC5jYWxsKCRjYWxsLCAkYXBwbHkpO1xuXG52YXIgJGdPUEQgPSBHZXRJbnRyaW5zaWMoJyVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJScsIHRydWUpO1xudmFyICRkZWZpbmVQcm9wZXJ0eSA9IEdldEludHJpbnNpYygnJU9iamVjdC5kZWZpbmVQcm9wZXJ0eSUnLCB0cnVlKTtcbnZhciAkbWF4ID0gR2V0SW50cmluc2ljKCclTWF0aC5tYXglJyk7XG5cbmlmICgkZGVmaW5lUHJvcGVydHkpIHtcblx0dHJ5IHtcblx0XHQkZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyB2YWx1ZTogMSB9KTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdC8vIElFIDggaGFzIGEgYnJva2VuIGRlZmluZVByb3BlcnR5XG5cdFx0JGRlZmluZVByb3BlcnR5ID0gbnVsbDtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNhbGxCaW5kKG9yaWdpbmFsRnVuY3Rpb24pIHtcblx0dmFyIGZ1bmMgPSAkcmVmbGVjdEFwcGx5KGJpbmQsICRjYWxsLCBhcmd1bWVudHMpO1xuXHRpZiAoJGdPUEQgJiYgJGRlZmluZVByb3BlcnR5KSB7XG5cdFx0dmFyIGRlc2MgPSAkZ09QRChmdW5jLCAnbGVuZ3RoJyk7XG5cdFx0aWYgKGRlc2MuY29uZmlndXJhYmxlKSB7XG5cdFx0XHQvLyBvcmlnaW5hbCBsZW5ndGgsIHBsdXMgdGhlIHJlY2VpdmVyLCBtaW51cyBhbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgKGFmdGVyIHRoZSByZWNlaXZlcilcblx0XHRcdCRkZWZpbmVQcm9wZXJ0eShcblx0XHRcdFx0ZnVuYyxcblx0XHRcdFx0J2xlbmd0aCcsXG5cdFx0XHRcdHsgdmFsdWU6IDEgKyAkbWF4KDAsIG9yaWdpbmFsRnVuY3Rpb24ubGVuZ3RoIC0gKGFyZ3VtZW50cy5sZW5ndGggLSAxKSkgfVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZ1bmM7XG59O1xuXG52YXIgYXBwbHlCaW5kID0gZnVuY3Rpb24gYXBwbHlCaW5kKCkge1xuXHRyZXR1cm4gJHJlZmxlY3RBcHBseShiaW5kLCAkYXBwbHksIGFyZ3VtZW50cyk7XG59O1xuXG5pZiAoJGRlZmluZVByb3BlcnR5KSB7XG5cdCRkZWZpbmVQcm9wZXJ0eShtb2R1bGUuZXhwb3J0cywgJ2FwcGx5JywgeyB2YWx1ZTogYXBwbHlCaW5kIH0pO1xufSBlbHNlIHtcblx0bW9kdWxlLmV4cG9ydHMuYXBwbHkgPSBhcHBseUJpbmQ7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/call-bind/index.js\n")); - -/***/ }), - -/***/ "./node_modules/copy-to-clipboard/index.js": -/*!*************************************************!*\ - !*** ./node_modules/copy-to-clipboard/index.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar deselectCurrent = __webpack_require__(/*! toggle-selection */ \"./node_modules/toggle-selection/index.js\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29weS10by1jbGlwYm9hcmQvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsc0JBQXNCLG1CQUFPLENBQUMsa0VBQWtCOztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQyxJQUFJOztBQUUvQztBQUNBO0FBQ0EsNEJBQTRCLFVBQVU7QUFDdEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxPQUFPO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvY29weS10by1jbGlwYm9hcmQvaW5kZXguanM/YzRjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIGRlc2VsZWN0Q3VycmVudCA9IHJlcXVpcmUoXCJ0b2dnbGUtc2VsZWN0aW9uXCIpO1xuXG52YXIgY2xpcGJvYXJkVG9JRTExRm9ybWF0dGluZyA9IHtcbiAgXCJ0ZXh0L3BsYWluXCI6IFwiVGV4dFwiLFxuICBcInRleHQvaHRtbFwiOiBcIlVybFwiLFxuICBcImRlZmF1bHRcIjogXCJUZXh0XCJcbn1cblxudmFyIGRlZmF1bHRNZXNzYWdlID0gXCJDb3B5IHRvIGNsaXBib2FyZDogI3trZXl9LCBFbnRlclwiO1xuXG5mdW5jdGlvbiBmb3JtYXQobWVzc2FnZSkge1xuICB2YXIgY29weUtleSA9ICgvbWFjIG9zIHgvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpID8gXCLijJhcIiA6IFwiQ3RybFwiKSArIFwiK0NcIjtcbiAgcmV0dXJuIG1lc3NhZ2UucmVwbGFjZSgvI3tcXHMqa2V5XFxzKn0vZywgY29weUtleSk7XG59XG5cbmZ1bmN0aW9uIGNvcHkodGV4dCwgb3B0aW9ucykge1xuICB2YXIgZGVidWcsXG4gICAgbWVzc2FnZSxcbiAgICByZXNlbGVjdFByZXZpb3VzLFxuICAgIHJhbmdlLFxuICAgIHNlbGVjdGlvbixcbiAgICBtYXJrLFxuICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGRlYnVnID0gb3B0aW9ucy5kZWJ1ZyB8fCBmYWxzZTtcbiAgdHJ5IHtcbiAgICByZXNlbGVjdFByZXZpb3VzID0gZGVzZWxlY3RDdXJyZW50KCk7XG5cbiAgICByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgc2VsZWN0aW9uID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICBtYXJrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gICAgbWFyay50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgLy8gYXZvaWQgc2NyZWVuIHJlYWRlcnMgZnJvbSByZWFkaW5nIG91dCBsb3VkIHRoZSB0ZXh0XG4gICAgbWFyay5hcmlhSGlkZGVuID0gXCJ0cnVlXCJcbiAgICAvLyByZXNldCB1c2VyIHN0eWxlcyBmb3Igc3BhbiBlbGVtZW50XG4gICAgbWFyay5zdHlsZS5hbGwgPSBcInVuc2V0XCI7XG4gICAgLy8gcHJldmVudHMgc2Nyb2xsaW5nIHRvIHRoZSBlbmQgb2YgdGhlIHBhZ2VcbiAgICBtYXJrLnN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiO1xuICAgIG1hcmsuc3R5bGUudG9wID0gMDtcbiAgICBtYXJrLnN0eWxlLmNsaXAgPSBcInJlY3QoMCwgMCwgMCwgMClcIjtcbiAgICAvLyB1c2VkIHRvIHByZXNlcnZlIHNwYWNlcyBhbmQgbGluZSBicmVha3NcbiAgICBtYXJrLnN0eWxlLndoaXRlU3BhY2UgPSBcInByZVwiO1xuICAgIC8vIGRvIG5vdCBpbmhlcml0IHVzZXItc2VsZWN0IChpdCBtYXkgYmUgYG5vbmVgKVxuICAgIG1hcmsuc3R5bGUud2Via2l0VXNlclNlbGVjdCA9IFwidGV4dFwiO1xuICAgIG1hcmsuc3R5bGUuTW96VXNlclNlbGVjdCA9IFwidGV4dFwiO1xuICAgIG1hcmsuc3R5bGUubXNVc2VyU2VsZWN0ID0gXCJ0ZXh0XCI7XG4gICAgbWFyay5zdHlsZS51c2VyU2VsZWN0ID0gXCJ0ZXh0XCI7XG4gICAgbWFyay5hZGRFdmVudExpc3RlbmVyKFwiY29weVwiLCBmdW5jdGlvbihlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgaWYgKG9wdGlvbnMuZm9ybWF0KSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKHR5cGVvZiBlLmNsaXBib2FyZERhdGEgPT09IFwidW5kZWZpbmVkXCIpIHsgLy8gSUUgMTFcbiAgICAgICAgICBkZWJ1ZyAmJiBjb25zb2xlLndhcm4oXCJ1bmFibGUgdG8gdXNlIGUuY2xpcGJvYXJkRGF0YVwiKTtcbiAgICAgICAgICBkZWJ1ZyAmJiBjb25zb2xlLndhcm4oXCJ0cnlpbmcgSUUgc3BlY2lmaWMgc3R1ZmZcIik7XG4gICAgICAgICAgd2luZG93LmNsaXBib2FyZERhdGEuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgdmFyIGZvcm1hdCA9IGNsaXBib2FyZFRvSUUxMUZvcm1hdHRpbmdbb3B0aW9ucy5mb3JtYXRdIHx8IGNsaXBib2FyZFRvSUUxMUZvcm1hdHRpbmdbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgd2luZG93LmNsaXBib2FyZERhdGEuc2V0RGF0YShmb3JtYXQsIHRleHQpO1xuICAgICAgICB9IGVsc2UgeyAvLyBhbGwgb3RoZXIgYnJvd3NlcnNcbiAgICAgICAgICBlLmNsaXBib2FyZERhdGEuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgZS5jbGlwYm9hcmREYXRhLnNldERhdGEob3B0aW9ucy5mb3JtYXQsIHRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy5vbkNvcHkpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvcHRpb25zLm9uQ29weShlLmNsaXBib2FyZERhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtYXJrKTtcblxuICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhtYXJrKTtcbiAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuXG4gICAgdmFyIHN1Y2Nlc3NmdWwgPSBkb2N1bWVudC5leGVjQ29tbWFuZChcImNvcHlcIik7XG4gICAgaWYgKCFzdWNjZXNzZnVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJjb3B5IGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bFwiKTtcbiAgICB9XG4gICAgc3VjY2VzcyA9IHRydWU7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGRlYnVnICYmIGNvbnNvbGUuZXJyb3IoXCJ1bmFibGUgdG8gY29weSB1c2luZyBleGVjQ29tbWFuZDogXCIsIGVycik7XG4gICAgZGVidWcgJiYgY29uc29sZS53YXJuKFwidHJ5aW5nIElFIHNwZWNpZmljIHN0dWZmXCIpO1xuICAgIHRyeSB7XG4gICAgICB3aW5kb3cuY2xpcGJvYXJkRGF0YS5zZXREYXRhKG9wdGlvbnMuZm9ybWF0IHx8IFwidGV4dFwiLCB0ZXh0KTtcbiAgICAgIG9wdGlvbnMub25Db3B5ICYmIG9wdGlvbnMub25Db3B5KHdpbmRvdy5jbGlwYm9hcmREYXRhKTtcbiAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgZGVidWcgJiYgY29uc29sZS5lcnJvcihcInVuYWJsZSB0byBjb3B5IHVzaW5nIGNsaXBib2FyZERhdGE6IFwiLCBlcnIpO1xuICAgICAgZGVidWcgJiYgY29uc29sZS5lcnJvcihcImZhbGxpbmcgYmFjayB0byBwcm9tcHRcIik7XG4gICAgICBtZXNzYWdlID0gZm9ybWF0KFwibWVzc2FnZVwiIGluIG9wdGlvbnMgPyBvcHRpb25zLm1lc3NhZ2UgOiBkZWZhdWx0TWVzc2FnZSk7XG4gICAgICB3aW5kb3cucHJvbXB0KG1lc3NhZ2UsIHRleHQpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICBpZiAodHlwZW9mIHNlbGVjdGlvbi5yZW1vdmVSYW5nZSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2VsZWN0aW9uLnJlbW92ZVJhbmdlKHJhbmdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWFyaykge1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChtYXJrKTtcbiAgICB9XG4gICAgcmVzZWxlY3RQcmV2aW91cygpO1xuICB9XG5cbiAgcmV0dXJuIHN1Y2Nlc3M7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29weTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/copy-to-clipboard/index.js\n")); - -/***/ }), - -/***/ "./node_modules/for-each/index.js": -/*!****************************************!*\ - !*** ./node_modules/for-each/index.js ***! - \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar isCallable = __webpack_require__(/*! is-callable */ \"./node_modules/is-callable/index.js\");\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZm9yLWVhY2gvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsaUJBQWlCLG1CQUFPLENBQUMsd0RBQWE7O0FBRXRDO0FBQ0E7O0FBRUE7QUFDQSx3Q0FBd0MsU0FBUztBQUNqRDtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlDQUF5QyxTQUFTO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2Zvci1lYWNoL2luZGV4LmpzPzAxNDUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNDYWxsYWJsZSA9IHJlcXVpcmUoJ2lzLWNhbGxhYmxlJyk7XG5cbnZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgZm9yRWFjaEFycmF5ID0gZnVuY3Rpb24gZm9yRWFjaEFycmF5KGFycmF5LCBpdGVyYXRvciwgcmVjZWl2ZXIpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoYXJyYXksIGkpKSB7XG4gICAgICAgICAgICBpZiAocmVjZWl2ZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yKGFycmF5W2ldLCBpLCBhcnJheSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yLmNhbGwocmVjZWl2ZXIsIGFycmF5W2ldLCBpLCBhcnJheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG52YXIgZm9yRWFjaFN0cmluZyA9IGZ1bmN0aW9uIGZvckVhY2hTdHJpbmcoc3RyaW5nLCBpdGVyYXRvciwgcmVjZWl2ZXIpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gc3RyaW5nLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIC8vIG5vIHN1Y2ggdGhpbmcgYXMgYSBzcGFyc2Ugc3RyaW5nLlxuICAgICAgICBpZiAocmVjZWl2ZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgaXRlcmF0b3Ioc3RyaW5nLmNoYXJBdChpKSwgaSwgc3RyaW5nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZXJhdG9yLmNhbGwocmVjZWl2ZXIsIHN0cmluZy5jaGFyQXQoaSksIGksIHN0cmluZyk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG52YXIgZm9yRWFjaE9iamVjdCA9IGZ1bmN0aW9uIGZvckVhY2hPYmplY3Qob2JqZWN0LCBpdGVyYXRvciwgcmVjZWl2ZXIpIHtcbiAgICBmb3IgKHZhciBrIGluIG9iamVjdCkge1xuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGspKSB7XG4gICAgICAgICAgICBpZiAocmVjZWl2ZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yKG9iamVjdFtrXSwgaywgb2JqZWN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlcmF0b3IuY2FsbChyZWNlaXZlciwgb2JqZWN0W2tdLCBrLCBvYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxudmFyIGZvckVhY2ggPSBmdW5jdGlvbiBmb3JFYWNoKGxpc3QsIGl0ZXJhdG9yLCB0aGlzQXJnKSB7XG4gICAgaWYgKCFpc0NhbGxhYmxlKGl0ZXJhdG9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpdGVyYXRvciBtdXN0IGJlIGEgZnVuY3Rpb24nKTtcbiAgICB9XG5cbiAgICB2YXIgcmVjZWl2ZXI7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPj0gMykge1xuICAgICAgICByZWNlaXZlciA9IHRoaXNBcmc7XG4gICAgfVxuXG4gICAgaWYgKHRvU3RyLmNhbGwobGlzdCkgPT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICAgICAgZm9yRWFjaEFycmF5KGxpc3QsIGl0ZXJhdG9yLCByZWNlaXZlcik7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbGlzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZm9yRWFjaFN0cmluZyhsaXN0LCBpdGVyYXRvciwgcmVjZWl2ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZvckVhY2hPYmplY3QobGlzdCwgaXRlcmF0b3IsIHJlY2VpdmVyKTtcbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZvckVhY2g7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/for-each/index.js\n")); - -/***/ }), - -/***/ "./node_modules/function-bind/implementation.js": -/*!******************************************************!*\ - !*** ./node_modules/function-bind/implementation.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbXBsZW1lbnRhdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTs7QUFFQSwrRUFBK0Usc0NBQXNDOztBQUVySDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbXBsZW1lbnRhdGlvbi5qcz82N2Y1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyogZXNsaW50IG5vLWludmFsaWQtdGhpczogMSAqL1xuXG52YXIgRVJST1JfTUVTU0FHRSA9ICdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlICc7XG52YXIgc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG52YXIgdG9TdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIGZ1bmNUeXBlID0gJ1tvYmplY3QgRnVuY3Rpb25dJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBiaW5kKHRoYXQpIHtcbiAgICB2YXIgdGFyZ2V0ID0gdGhpcztcbiAgICBpZiAodHlwZW9mIHRhcmdldCAhPT0gJ2Z1bmN0aW9uJyB8fCB0b1N0ci5jYWxsKHRhcmdldCkgIT09IGZ1bmNUeXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRVJST1JfTUVTU0FHRSArIHRhcmdldCk7XG4gICAgfVxuICAgIHZhciBhcmdzID0gc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuXG4gICAgdmFyIGJvdW5kO1xuICAgIHZhciBiaW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgYm91bmQpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSB0YXJnZXQuYXBwbHkoXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICBhcmdzLmNvbmNhdChzbGljZS5jYWxsKGFyZ3VtZW50cykpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKE9iamVjdChyZXN1bHQpID09PSByZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KFxuICAgICAgICAgICAgICAgIHRoYXQsXG4gICAgICAgICAgICAgICAgYXJncy5jb25jYXQoc2xpY2UuY2FsbChhcmd1bWVudHMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgYm91bmRMZW5ndGggPSBNYXRoLm1heCgwLCB0YXJnZXQubGVuZ3RoIC0gYXJncy5sZW5ndGgpO1xuICAgIHZhciBib3VuZEFyZ3MgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJvdW5kTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYm91bmRBcmdzLnB1c2goJyQnICsgaSk7XG4gICAgfVxuXG4gICAgYm91bmQgPSBGdW5jdGlvbignYmluZGVyJywgJ3JldHVybiBmdW5jdGlvbiAoJyArIGJvdW5kQXJncy5qb2luKCcsJykgKyAnKXsgcmV0dXJuIGJpbmRlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7IH0nKShiaW5kZXIpO1xuXG4gICAgaWYgKHRhcmdldC5wcm90b3R5cGUpIHtcbiAgICAgICAgdmFyIEVtcHR5ID0gZnVuY3Rpb24gRW1wdHkoKSB7fTtcbiAgICAgICAgRW1wdHkucHJvdG90eXBlID0gdGFyZ2V0LnByb3RvdHlwZTtcbiAgICAgICAgYm91bmQucHJvdG90eXBlID0gbmV3IEVtcHR5KCk7XG4gICAgICAgIEVtcHR5LnByb3RvdHlwZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvdW5kO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/function-bind/implementation.js\n")); - -/***/ }), - -/***/ "./node_modules/function-bind/index.js": -/*!*********************************************!*\ - !*** ./node_modules/function-bind/index.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar implementation = __webpack_require__(/*! ./implementation */ \"./node_modules/function-bind/implementation.js\");\n\nmodule.exports = Function.prototype.bind || implementation;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQyx3RUFBa0I7O0FBRS9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9mdW5jdGlvbi1iaW5kL2luZGV4LmpzP2Y2NWEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaW1wbGVtZW50YXRpb24gPSByZXF1aXJlKCcuL2ltcGxlbWVudGF0aW9uJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgfHwgaW1wbGVtZW50YXRpb247XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/function-bind/index.js\n")); - -/***/ }), - -/***/ "./node_modules/get-intrinsic/index.js": -/*!*********************************************!*\ - !*** ./node_modules/get-intrinsic/index.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \"./node_modules/has-symbols/index.js\")();\nvar hasProto = __webpack_require__(/*! has-proto */ \"./node_modules/has-proto/index.js\")();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar hasOwn = __webpack_require__(/*! has */ \"./node_modules/has/src/index.js\");\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZ2V0LWludHJpbnNpYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLDhDQUE4QztBQUNoRixHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLEdBQUc7QUFDSCxnQkFBZ0I7QUFDaEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBLGlCQUFpQixtQkFBTyxDQUFDLHdEQUFhO0FBQ3RDLGVBQWUsbUJBQU8sQ0FBQyxvREFBVzs7QUFFbEM7QUFDQTtBQUNBLG1CQUFtQixzQkFBc0I7QUFDekM7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFEO0FBQ3JELEdBQUc7QUFDSCxnREFBZ0Q7QUFDaEQsR0FBRztBQUNILHNEQUFzRDtBQUN0RCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxtQkFBTyxDQUFDLDREQUFlO0FBQ2xDLGFBQWEsbUJBQU8sQ0FBQyw0Q0FBSztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrQkFBK0Isa0JBQWtCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZ2V0LWludHJpbnNpYy9pbmRleC5qcz84NDIxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHVuZGVmaW5lZDtcblxudmFyICRTeW50YXhFcnJvciA9IFN5bnRheEVycm9yO1xudmFyICRGdW5jdGlvbiA9IEZ1bmN0aW9uO1xudmFyICRUeXBlRXJyb3IgPSBUeXBlRXJyb3I7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxudmFyIGdldEV2YWxsZWRDb25zdHJ1Y3RvciA9IGZ1bmN0aW9uIChleHByZXNzaW9uU3ludGF4KSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuICRGdW5jdGlvbignXCJ1c2Ugc3RyaWN0XCI7IHJldHVybiAoJyArIGV4cHJlc3Npb25TeW50YXggKyAnKS5jb25zdHJ1Y3RvcjsnKSgpO1xuXHR9IGNhdGNoIChlKSB7fVxufTtcblxudmFyICRnT1BEID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbmlmICgkZ09QRCkge1xuXHR0cnkge1xuXHRcdCRnT1BEKHt9LCAnJyk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQkZ09QRCA9IG51bGw7IC8vIHRoaXMgaXMgSUUgOCwgd2hpY2ggaGFzIGEgYnJva2VuIGdPUERcblx0fVxufVxuXG52YXIgdGhyb3dUeXBlRXJyb3IgPSBmdW5jdGlvbiAoKSB7XG5cdHRocm93IG5ldyAkVHlwZUVycm9yKCk7XG59O1xudmFyIFRocm93VHlwZUVycm9yID0gJGdPUERcblx0PyAoZnVuY3Rpb24gKCkge1xuXHRcdHRyeSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zLCBuby1jYWxsZXIsIG5vLXJlc3RyaWN0ZWQtcHJvcGVydGllc1xuXHRcdFx0YXJndW1lbnRzLmNhbGxlZTsgLy8gSUUgOCBkb2VzIG5vdCB0aHJvdyBoZXJlXG5cdFx0XHRyZXR1cm4gdGhyb3dUeXBlRXJyb3I7XG5cdFx0fSBjYXRjaCAoY2FsbGVlVGhyb3dzKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBJRSA4IHRocm93cyBvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywgJycpXG5cdFx0XHRcdHJldHVybiAkZ09QRChhcmd1bWVudHMsICdjYWxsZWUnKS5nZXQ7XG5cdFx0XHR9IGNhdGNoIChnT1BEdGhyb3dzKSB7XG5cdFx0XHRcdHJldHVybiB0aHJvd1R5cGVFcnJvcjtcblx0XHRcdH1cblx0XHR9XG5cdH0oKSlcblx0OiB0aHJvd1R5cGVFcnJvcjtcblxudmFyIGhhc1N5bWJvbHMgPSByZXF1aXJlKCdoYXMtc3ltYm9scycpKCk7XG52YXIgaGFzUHJvdG8gPSByZXF1aXJlKCdoYXMtcHJvdG8nKSgpO1xuXG52YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgKFxuXHRoYXNQcm90b1xuXHRcdD8gZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHguX19wcm90b19fOyB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcHJvdG9cblx0XHQ6IG51bGxcbik7XG5cbnZhciBuZWVkc0V2YWwgPSB7fTtcblxudmFyIFR5cGVkQXJyYXkgPSB0eXBlb2YgVWludDhBcnJheSA9PT0gJ3VuZGVmaW5lZCcgfHwgIWdldFByb3RvID8gdW5kZWZpbmVkIDogZ2V0UHJvdG8oVWludDhBcnJheSk7XG5cbnZhciBJTlRSSU5TSUNTID0ge1xuXHQnJUFnZ3JlZ2F0ZUVycm9yJSc6IHR5cGVvZiBBZ2dyZWdhdGVFcnJvciA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBBZ2dyZWdhdGVFcnJvcixcblx0JyVBcnJheSUnOiBBcnJheSxcblx0JyVBcnJheUJ1ZmZlciUnOiB0eXBlb2YgQXJyYXlCdWZmZXIgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQXJyYXlCdWZmZXIsXG5cdCclQXJyYXlJdGVyYXRvclByb3RvdHlwZSUnOiBoYXNTeW1ib2xzICYmIGdldFByb3RvID8gZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSA6IHVuZGVmaW5lZCxcblx0JyVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlJzogdW5kZWZpbmVkLFxuXHQnJUFzeW5jRnVuY3Rpb24lJzogbmVlZHNFdmFsLFxuXHQnJUFzeW5jR2VuZXJhdG9yJSc6IG5lZWRzRXZhbCxcblx0JyVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJSc6IG5lZWRzRXZhbCxcblx0JyVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSc6IG5lZWRzRXZhbCxcblx0JyVBdG9taWNzJSc6IHR5cGVvZiBBdG9taWNzID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEF0b21pY3MsXG5cdCclQmlnSW50JSc6IHR5cGVvZiBCaWdJbnQgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQmlnSW50LFxuXHQnJUJpZ0ludDY0QXJyYXklJzogdHlwZW9mIEJpZ0ludDY0QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQmlnSW50NjRBcnJheSxcblx0JyVCaWdVaW50NjRBcnJheSUnOiB0eXBlb2YgQmlnVWludDY0QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQmlnVWludDY0QXJyYXksXG5cdCclQm9vbGVhbiUnOiBCb29sZWFuLFxuXHQnJURhdGFWaWV3JSc6IHR5cGVvZiBEYXRhVmlldyA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBEYXRhVmlldyxcblx0JyVEYXRlJSc6IERhdGUsXG5cdCclZGVjb2RlVVJJJSc6IGRlY29kZVVSSSxcblx0JyVkZWNvZGVVUklDb21wb25lbnQlJzogZGVjb2RlVVJJQ29tcG9uZW50LFxuXHQnJWVuY29kZVVSSSUnOiBlbmNvZGVVUkksXG5cdCclZW5jb2RlVVJJQ29tcG9uZW50JSc6IGVuY29kZVVSSUNvbXBvbmVudCxcblx0JyVFcnJvciUnOiBFcnJvcixcblx0JyVldmFsJSc6IGV2YWwsIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZXZhbFxuXHQnJUV2YWxFcnJvciUnOiBFdmFsRXJyb3IsXG5cdCclRmxvYXQzMkFycmF5JSc6IHR5cGVvZiBGbG9hdDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRmxvYXQzMkFycmF5LFxuXHQnJUZsb2F0NjRBcnJheSUnOiB0eXBlb2YgRmxvYXQ2NEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEZsb2F0NjRBcnJheSxcblx0JyVGaW5hbGl6YXRpb25SZWdpc3RyeSUnOiB0eXBlb2YgRmluYWxpemF0aW9uUmVnaXN0cnkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRmluYWxpemF0aW9uUmVnaXN0cnksXG5cdCclRnVuY3Rpb24lJzogJEZ1bmN0aW9uLFxuXHQnJUdlbmVyYXRvckZ1bmN0aW9uJSc6IG5lZWRzRXZhbCxcblx0JyVJbnQ4QXJyYXklJzogdHlwZW9mIEludDhBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBJbnQ4QXJyYXksXG5cdCclSW50MTZBcnJheSUnOiB0eXBlb2YgSW50MTZBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBJbnQxNkFycmF5LFxuXHQnJUludDMyQXJyYXklJzogdHlwZW9mIEludDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogSW50MzJBcnJheSxcblx0JyVpc0Zpbml0ZSUnOiBpc0Zpbml0ZSxcblx0JyVpc05hTiUnOiBpc05hTixcblx0JyVJdGVyYXRvclByb3RvdHlwZSUnOiBoYXNTeW1ib2xzICYmIGdldFByb3RvID8gZ2V0UHJvdG8oZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSkgOiB1bmRlZmluZWQsXG5cdCclSlNPTiUnOiB0eXBlb2YgSlNPTiA9PT0gJ29iamVjdCcgPyBKU09OIDogdW5kZWZpbmVkLFxuXHQnJU1hcCUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE1hcCxcblx0JyVNYXBJdGVyYXRvclByb3RvdHlwZSUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyB8fCAhaGFzU3ltYm9scyB8fCAhZ2V0UHJvdG8gPyB1bmRlZmluZWQgOiBnZXRQcm90byhuZXcgTWFwKClbU3ltYm9sLml0ZXJhdG9yXSgpKSxcblx0JyVNYXRoJSc6IE1hdGgsXG5cdCclTnVtYmVyJSc6IE51bWJlcixcblx0JyVPYmplY3QlJzogT2JqZWN0LFxuXHQnJXBhcnNlRmxvYXQlJzogcGFyc2VGbG9hdCxcblx0JyVwYXJzZUludCUnOiBwYXJzZUludCxcblx0JyVQcm9taXNlJSc6IHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb21pc2UsXG5cdCclUHJveHklJzogdHlwZW9mIFByb3h5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb3h5LFxuXHQnJVJhbmdlRXJyb3IlJzogUmFuZ2VFcnJvcixcblx0JyVSZWZlcmVuY2VFcnJvciUnOiBSZWZlcmVuY2VFcnJvcixcblx0JyVSZWZsZWN0JSc6IHR5cGVvZiBSZWZsZWN0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFJlZmxlY3QsXG5cdCclUmVnRXhwJSc6IFJlZ0V4cCxcblx0JyVTZXQlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBTZXQsXG5cdCclU2V0SXRlcmF0b3JQcm90b3R5cGUlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWhhc1N5bWJvbHMgfHwgIWdldFByb3RvID8gdW5kZWZpbmVkIDogZ2V0UHJvdG8obmV3IFNldCgpW1N5bWJvbC5pdGVyYXRvcl0oKSksXG5cdCclU2hhcmVkQXJyYXlCdWZmZXIlJzogdHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFNoYXJlZEFycmF5QnVmZmVyLFxuXHQnJVN0cmluZyUnOiBTdHJpbmcsXG5cdCclU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlJzogaGFzU3ltYm9scyAmJiBnZXRQcm90byA/IGdldFByb3RvKCcnW1N5bWJvbC5pdGVyYXRvcl0oKSkgOiB1bmRlZmluZWQsXG5cdCclU3ltYm9sJSc6IGhhc1N5bWJvbHMgPyBTeW1ib2wgOiB1bmRlZmluZWQsXG5cdCclU3ludGF4RXJyb3IlJzogJFN5bnRheEVycm9yLFxuXHQnJVRocm93VHlwZUVycm9yJSc6IFRocm93VHlwZUVycm9yLFxuXHQnJVR5cGVkQXJyYXklJzogVHlwZWRBcnJheSxcblx0JyVUeXBlRXJyb3IlJzogJFR5cGVFcnJvcixcblx0JyVVaW50OEFycmF5JSc6IHR5cGVvZiBVaW50OEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFVpbnQ4QXJyYXksXG5cdCclVWludDhDbGFtcGVkQXJyYXklJzogdHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFVpbnQ4Q2xhbXBlZEFycmF5LFxuXHQnJVVpbnQxNkFycmF5JSc6IHR5cGVvZiBVaW50MTZBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBVaW50MTZBcnJheSxcblx0JyVVaW50MzJBcnJheSUnOiB0eXBlb2YgVWludDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVWludDMyQXJyYXksXG5cdCclVVJJRXJyb3IlJzogVVJJRXJyb3IsXG5cdCclV2Vha01hcCUnOiB0eXBlb2YgV2Vha01hcCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBXZWFrTWFwLFxuXHQnJVdlYWtSZWYlJzogdHlwZW9mIFdlYWtSZWYgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogV2Vha1JlZixcblx0JyVXZWFrU2V0JSc6IHR5cGVvZiBXZWFrU2V0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFdlYWtTZXRcbn07XG5cbmlmIChnZXRQcm90bykge1xuXHR0cnkge1xuXHRcdG51bGwuZXJyb3I7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1zaGFkb3dyZWFsbS9wdWxsLzM4NCNpc3N1ZWNvbW1lbnQtMTM2NDI2NDIyOVxuXHRcdHZhciBlcnJvclByb3RvID0gZ2V0UHJvdG8oZ2V0UHJvdG8oZSkpO1xuXHRcdElOVFJJTlNJQ1NbJyVFcnJvci5wcm90b3R5cGUlJ10gPSBlcnJvclByb3RvO1xuXHR9XG59XG5cbnZhciBkb0V2YWwgPSBmdW5jdGlvbiBkb0V2YWwobmFtZSkge1xuXHR2YXIgdmFsdWU7XG5cdGlmIChuYW1lID09PSAnJUFzeW5jRnVuY3Rpb24lJykge1xuXHRcdHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKCdhc3luYyBmdW5jdGlvbiAoKSB7fScpO1xuXHR9IGVsc2UgaWYgKG5hbWUgPT09ICclR2VuZXJhdG9yRnVuY3Rpb24lJykge1xuXHRcdHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKCdmdW5jdGlvbiogKCkge30nKTtcblx0fSBlbHNlIGlmIChuYW1lID09PSAnJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lJykge1xuXHRcdHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKCdhc3luYyBmdW5jdGlvbiogKCkge30nKTtcblx0fSBlbHNlIGlmIChuYW1lID09PSAnJUFzeW5jR2VuZXJhdG9yJScpIHtcblx0XHR2YXIgZm4gPSBkb0V2YWwoJyVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJScpO1xuXHRcdGlmIChmbikge1xuXHRcdFx0dmFsdWUgPSBmbi5wcm90b3R5cGU7XG5cdFx0fVxuXHR9IGVsc2UgaWYgKG5hbWUgPT09ICclQXN5bmNJdGVyYXRvclByb3RvdHlwZSUnKSB7XG5cdFx0dmFyIGdlbiA9IGRvRXZhbCgnJUFzeW5jR2VuZXJhdG9yJScpO1xuXHRcdGlmIChnZW4gJiYgZ2V0UHJvdG8pIHtcblx0XHRcdHZhbHVlID0gZ2V0UHJvdG8oZ2VuLnByb3RvdHlwZSk7XG5cdFx0fVxuXHR9XG5cblx0SU5UUklOU0lDU1tuYW1lXSA9IHZhbHVlO1xuXG5cdHJldHVybiB2YWx1ZTtcbn07XG5cbnZhciBMRUdBQ1lfQUxJQVNFUyA9IHtcblx0JyVBcnJheUJ1ZmZlclByb3RvdHlwZSUnOiBbJ0FycmF5QnVmZmVyJywgJ3Byb3RvdHlwZSddLFxuXHQnJUFycmF5UHJvdG90eXBlJSc6IFsnQXJyYXknLCAncHJvdG90eXBlJ10sXG5cdCclQXJyYXlQcm90b19lbnRyaWVzJSc6IFsnQXJyYXknLCAncHJvdG90eXBlJywgJ2VudHJpZXMnXSxcblx0JyVBcnJheVByb3RvX2ZvckVhY2glJzogWydBcnJheScsICdwcm90b3R5cGUnLCAnZm9yRWFjaCddLFxuXHQnJUFycmF5UHJvdG9fa2V5cyUnOiBbJ0FycmF5JywgJ3Byb3RvdHlwZScsICdrZXlzJ10sXG5cdCclQXJyYXlQcm90b192YWx1ZXMlJzogWydBcnJheScsICdwcm90b3R5cGUnLCAndmFsdWVzJ10sXG5cdCclQXN5bmNGdW5jdGlvblByb3RvdHlwZSUnOiBbJ0FzeW5jRnVuY3Rpb24nLCAncHJvdG90eXBlJ10sXG5cdCclQXN5bmNHZW5lcmF0b3IlJzogWydBc3luY0dlbmVyYXRvckZ1bmN0aW9uJywgJ3Byb3RvdHlwZSddLFxuXHQnJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJSc6IFsnQXN5bmNHZW5lcmF0b3JGdW5jdGlvbicsICdwcm90b3R5cGUnLCAncHJvdG90eXBlJ10sXG5cdCclQm9vbGVhblByb3RvdHlwZSUnOiBbJ0Jvb2xlYW4nLCAncHJvdG90eXBlJ10sXG5cdCclRGF0YVZpZXdQcm90b3R5cGUlJzogWydEYXRhVmlldycsICdwcm90b3R5cGUnXSxcblx0JyVEYXRlUHJvdG90eXBlJSc6IFsnRGF0ZScsICdwcm90b3R5cGUnXSxcblx0JyVFcnJvclByb3RvdHlwZSUnOiBbJ0Vycm9yJywgJ3Byb3RvdHlwZSddLFxuXHQnJUV2YWxFcnJvclByb3RvdHlwZSUnOiBbJ0V2YWxFcnJvcicsICdwcm90b3R5cGUnXSxcblx0JyVGbG9hdDMyQXJyYXlQcm90b3R5cGUlJzogWydGbG9hdDMyQXJyYXknLCAncHJvdG90eXBlJ10sXG5cdCclRmxvYXQ2NEFycmF5UHJvdG90eXBlJSc6IFsnRmxvYXQ2NEFycmF5JywgJ3Byb3RvdHlwZSddLFxuXHQnJUZ1bmN0aW9uUHJvdG90eXBlJSc6IFsnRnVuY3Rpb24nLCAncHJvdG90eXBlJ10sXG5cdCclR2VuZXJhdG9yJSc6IFsnR2VuZXJhdG9yRnVuY3Rpb24nLCAncHJvdG90eXBlJ10sXG5cdCclR2VuZXJhdG9yUHJvdG90eXBlJSc6IFsnR2VuZXJhdG9yRnVuY3Rpb24nLCAncHJvdG90eXBlJywgJ3Byb3RvdHlwZSddLFxuXHQnJUludDhBcnJheVByb3RvdHlwZSUnOiBbJ0ludDhBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVJbnQxNkFycmF5UHJvdG90eXBlJSc6IFsnSW50MTZBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVJbnQzMkFycmF5UHJvdG90eXBlJSc6IFsnSW50MzJBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVKU09OUGFyc2UlJzogWydKU09OJywgJ3BhcnNlJ10sXG5cdCclSlNPTlN0cmluZ2lmeSUnOiBbJ0pTT04nLCAnc3RyaW5naWZ5J10sXG5cdCclTWFwUHJvdG90eXBlJSc6IFsnTWFwJywgJ3Byb3RvdHlwZSddLFxuXHQnJU51bWJlclByb3RvdHlwZSUnOiBbJ051bWJlcicsICdwcm90b3R5cGUnXSxcblx0JyVPYmplY3RQcm90b3R5cGUlJzogWydPYmplY3QnLCAncHJvdG90eXBlJ10sXG5cdCclT2JqUHJvdG9fdG9TdHJpbmclJzogWydPYmplY3QnLCAncHJvdG90eXBlJywgJ3RvU3RyaW5nJ10sXG5cdCclT2JqUHJvdG9fdmFsdWVPZiUnOiBbJ09iamVjdCcsICdwcm90b3R5cGUnLCAndmFsdWVPZiddLFxuXHQnJVByb21pc2VQcm90b3R5cGUlJzogWydQcm9taXNlJywgJ3Byb3RvdHlwZSddLFxuXHQnJVByb21pc2VQcm90b190aGVuJSc6IFsnUHJvbWlzZScsICdwcm90b3R5cGUnLCAndGhlbiddLFxuXHQnJVByb21pc2VfYWxsJSc6IFsnUHJvbWlzZScsICdhbGwnXSxcblx0JyVQcm9taXNlX3JlamVjdCUnOiBbJ1Byb21pc2UnLCAncmVqZWN0J10sXG5cdCclUHJvbWlzZV9yZXNvbHZlJSc6IFsnUHJvbWlzZScsICdyZXNvbHZlJ10sXG5cdCclUmFuZ2VFcnJvclByb3RvdHlwZSUnOiBbJ1JhbmdlRXJyb3InLCAncHJvdG90eXBlJ10sXG5cdCclUmVmZXJlbmNlRXJyb3JQcm90b3R5cGUlJzogWydSZWZlcmVuY2VFcnJvcicsICdwcm90b3R5cGUnXSxcblx0JyVSZWdFeHBQcm90b3R5cGUlJzogWydSZWdFeHAnLCAncHJvdG90eXBlJ10sXG5cdCclU2V0UHJvdG90eXBlJSc6IFsnU2V0JywgJ3Byb3RvdHlwZSddLFxuXHQnJVNoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlJSc6IFsnU2hhcmVkQXJyYXlCdWZmZXInLCAncHJvdG90eXBlJ10sXG5cdCclU3RyaW5nUHJvdG90eXBlJSc6IFsnU3RyaW5nJywgJ3Byb3RvdHlwZSddLFxuXHQnJVN5bWJvbFByb3RvdHlwZSUnOiBbJ1N5bWJvbCcsICdwcm90b3R5cGUnXSxcblx0JyVTeW50YXhFcnJvclByb3RvdHlwZSUnOiBbJ1N5bnRheEVycm9yJywgJ3Byb3RvdHlwZSddLFxuXHQnJVR5cGVkQXJyYXlQcm90b3R5cGUlJzogWydUeXBlZEFycmF5JywgJ3Byb3RvdHlwZSddLFxuXHQnJVR5cGVFcnJvclByb3RvdHlwZSUnOiBbJ1R5cGVFcnJvcicsICdwcm90b3R5cGUnXSxcblx0JyVVaW50OEFycmF5UHJvdG90eXBlJSc6IFsnVWludDhBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVVaW50OENsYW1wZWRBcnJheVByb3RvdHlwZSUnOiBbJ1VpbnQ4Q2xhbXBlZEFycmF5JywgJ3Byb3RvdHlwZSddLFxuXHQnJVVpbnQxNkFycmF5UHJvdG90eXBlJSc6IFsnVWludDE2QXJyYXknLCAncHJvdG90eXBlJ10sXG5cdCclVWludDMyQXJyYXlQcm90b3R5cGUlJzogWydVaW50MzJBcnJheScsICdwcm90b3R5cGUnXSxcblx0JyVVUklFcnJvclByb3RvdHlwZSUnOiBbJ1VSSUVycm9yJywgJ3Byb3RvdHlwZSddLFxuXHQnJVdlYWtNYXBQcm90b3R5cGUlJzogWydXZWFrTWFwJywgJ3Byb3RvdHlwZSddLFxuXHQnJVdlYWtTZXRQcm90b3R5cGUlJzogWydXZWFrU2V0JywgJ3Byb3RvdHlwZSddXG59O1xuXG52YXIgYmluZCA9IHJlcXVpcmUoJ2Z1bmN0aW9uLWJpbmQnKTtcbnZhciBoYXNPd24gPSByZXF1aXJlKCdoYXMnKTtcbnZhciAkY29uY2F0ID0gYmluZC5jYWxsKEZ1bmN0aW9uLmNhbGwsIEFycmF5LnByb3RvdHlwZS5jb25jYXQpO1xudmFyICRzcGxpY2VBcHBseSA9IGJpbmQuY2FsbChGdW5jdGlvbi5hcHBseSwgQXJyYXkucHJvdG90eXBlLnNwbGljZSk7XG52YXIgJHJlcGxhY2UgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKTtcbnZhciAkc3RyU2xpY2UgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgU3RyaW5nLnByb3RvdHlwZS5zbGljZSk7XG52YXIgJGV4ZWMgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgUmVnRXhwLnByb3RvdHlwZS5leGVjKTtcblxuLyogYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvNC4xNy4xNS9kaXN0L2xvZGFzaC5qcyNMNjczNS1MNjc0NCAqL1xudmFyIHJlUHJvcE5hbWUgPSAvW14lLltcXF1dK3xcXFsoPzooLT9cXGQrKD86XFwuXFxkKyk/KXwoW1wiJ10pKCg/Oig/IVxcMilbXlxcXFxdfFxcXFwuKSo/KVxcMilcXF18KD89KD86XFwufFxcW1xcXSkoPzpcXC58XFxbXFxdfCUkKSkvZztcbnZhciByZUVzY2FwZUNoYXIgPSAvXFxcXChcXFxcKT8vZzsgLyoqIFVzZWQgdG8gbWF0Y2ggYmFja3NsYXNoZXMgaW4gcHJvcGVydHkgcGF0aHMuICovXG52YXIgc3RyaW5nVG9QYXRoID0gZnVuY3Rpb24gc3RyaW5nVG9QYXRoKHN0cmluZykge1xuXHR2YXIgZmlyc3QgPSAkc3RyU2xpY2Uoc3RyaW5nLCAwLCAxKTtcblx0dmFyIGxhc3QgPSAkc3RyU2xpY2Uoc3RyaW5nLCAtMSk7XG5cdGlmIChmaXJzdCA9PT0gJyUnICYmIGxhc3QgIT09ICclJykge1xuXHRcdHRocm93IG5ldyAkU3ludGF4RXJyb3IoJ2ludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgY2xvc2luZyBgJWAnKTtcblx0fSBlbHNlIGlmIChsYXN0ID09PSAnJScgJiYgZmlyc3QgIT09ICclJykge1xuXHRcdHRocm93IG5ldyAkU3ludGF4RXJyb3IoJ2ludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgb3BlbmluZyBgJWAnKTtcblx0fVxuXHR2YXIgcmVzdWx0ID0gW107XG5cdCRyZXBsYWNlKHN0cmluZywgcmVQcm9wTmFtZSwgZnVuY3Rpb24gKG1hdGNoLCBudW1iZXIsIHF1b3RlLCBzdWJTdHJpbmcpIHtcblx0XHRyZXN1bHRbcmVzdWx0Lmxlbmd0aF0gPSBxdW90ZSA/ICRyZXBsYWNlKHN1YlN0cmluZywgcmVFc2NhcGVDaGFyLCAnJDEnKSA6IG51bWJlciB8fCBtYXRjaDtcblx0fSk7XG5cdHJldHVybiByZXN1bHQ7XG59O1xuLyogZW5kIGFkYXB0YXRpb24gKi9cblxudmFyIGdldEJhc2VJbnRyaW5zaWMgPSBmdW5jdGlvbiBnZXRCYXNlSW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuXHR2YXIgaW50cmluc2ljTmFtZSA9IG5hbWU7XG5cdHZhciBhbGlhcztcblx0aWYgKGhhc093bihMRUdBQ1lfQUxJQVNFUywgaW50cmluc2ljTmFtZSkpIHtcblx0XHRhbGlhcyA9IExFR0FDWV9BTElBU0VTW2ludHJpbnNpY05hbWVdO1xuXHRcdGludHJpbnNpY05hbWUgPSAnJScgKyBhbGlhc1swXSArICclJztcblx0fVxuXG5cdGlmIChoYXNPd24oSU5UUklOU0lDUywgaW50cmluc2ljTmFtZSkpIHtcblx0XHR2YXIgdmFsdWUgPSBJTlRSSU5TSUNTW2ludHJpbnNpY05hbWVdO1xuXHRcdGlmICh2YWx1ZSA9PT0gbmVlZHNFdmFsKSB7XG5cdFx0XHR2YWx1ZSA9IGRvRXZhbChpbnRyaW5zaWNOYW1lKTtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgJiYgIWFsbG93TWlzc2luZykge1xuXHRcdFx0dGhyb3cgbmV3ICRUeXBlRXJyb3IoJ2ludHJpbnNpYyAnICsgbmFtZSArICcgZXhpc3RzLCBidXQgaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIGZpbGUgYW4gaXNzdWUhJyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHtcblx0XHRcdGFsaWFzOiBhbGlhcyxcblx0XHRcdG5hbWU6IGludHJpbnNpY05hbWUsXG5cdFx0XHR2YWx1ZTogdmFsdWVcblx0XHR9O1xuXHR9XG5cblx0dGhyb3cgbmV3ICRTeW50YXhFcnJvcignaW50cmluc2ljICcgKyBuYW1lICsgJyBkb2VzIG5vdCBleGlzdCEnKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gR2V0SW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuXHRpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnIHx8IG5hbWUubGVuZ3RoID09PSAwKSB7XG5cdFx0dGhyb3cgbmV3ICRUeXBlRXJyb3IoJ2ludHJpbnNpYyBuYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG5cdH1cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIHR5cGVvZiBhbGxvd01pc3NpbmcgIT09ICdib29sZWFuJykge1xuXHRcdHRocm93IG5ldyAkVHlwZUVycm9yKCdcImFsbG93TWlzc2luZ1wiIGFyZ3VtZW50IG11c3QgYmUgYSBib29sZWFuJyk7XG5cdH1cblxuXHRpZiAoJGV4ZWMoL14lP1teJV0qJT8kLywgbmFtZSkgPT09IG51bGwpIHtcblx0XHR0aHJvdyBuZXcgJFN5bnRheEVycm9yKCdgJWAgbWF5IG5vdCBiZSBwcmVzZW50IGFueXdoZXJlIGJ1dCBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIGludHJpbnNpYyBuYW1lJyk7XG5cdH1cblx0dmFyIHBhcnRzID0gc3RyaW5nVG9QYXRoKG5hbWUpO1xuXHR2YXIgaW50cmluc2ljQmFzZU5hbWUgPSBwYXJ0cy5sZW5ndGggPiAwID8gcGFydHNbMF0gOiAnJztcblxuXHR2YXIgaW50cmluc2ljID0gZ2V0QmFzZUludHJpbnNpYygnJScgKyBpbnRyaW5zaWNCYXNlTmFtZSArICclJywgYWxsb3dNaXNzaW5nKTtcblx0dmFyIGludHJpbnNpY1JlYWxOYW1lID0gaW50cmluc2ljLm5hbWU7XG5cdHZhciB2YWx1ZSA9IGludHJpbnNpYy52YWx1ZTtcblx0dmFyIHNraXBGdXJ0aGVyQ2FjaGluZyA9IGZhbHNlO1xuXG5cdHZhciBhbGlhcyA9IGludHJpbnNpYy5hbGlhcztcblx0aWYgKGFsaWFzKSB7XG5cdFx0aW50cmluc2ljQmFzZU5hbWUgPSBhbGlhc1swXTtcblx0XHQkc3BsaWNlQXBwbHkocGFydHMsICRjb25jYXQoWzAsIDFdLCBhbGlhcykpO1xuXHR9XG5cblx0Zm9yICh2YXIgaSA9IDEsIGlzT3duID0gdHJ1ZTsgaSA8IHBhcnRzLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0dmFyIHBhcnQgPSBwYXJ0c1tpXTtcblx0XHR2YXIgZmlyc3QgPSAkc3RyU2xpY2UocGFydCwgMCwgMSk7XG5cdFx0dmFyIGxhc3QgPSAkc3RyU2xpY2UocGFydCwgLTEpO1xuXHRcdGlmIChcblx0XHRcdChcblx0XHRcdFx0KGZpcnN0ID09PSAnXCInIHx8IGZpcnN0ID09PSBcIidcIiB8fCBmaXJzdCA9PT0gJ2AnKVxuXHRcdFx0XHR8fCAobGFzdCA9PT0gJ1wiJyB8fCBsYXN0ID09PSBcIidcIiB8fCBsYXN0ID09PSAnYCcpXG5cdFx0XHQpXG5cdFx0XHQmJiBmaXJzdCAhPT0gbGFzdFxuXHRcdCkge1xuXHRcdFx0dGhyb3cgbmV3ICRTeW50YXhFcnJvcigncHJvcGVydHkgbmFtZXMgd2l0aCBxdW90ZXMgbXVzdCBoYXZlIG1hdGNoaW5nIHF1b3RlcycpO1xuXHRcdH1cblx0XHRpZiAocGFydCA9PT0gJ2NvbnN0cnVjdG9yJyB8fCAhaXNPd24pIHtcblx0XHRcdHNraXBGdXJ0aGVyQ2FjaGluZyA9IHRydWU7XG5cdFx0fVxuXG5cdFx0aW50cmluc2ljQmFzZU5hbWUgKz0gJy4nICsgcGFydDtcblx0XHRpbnRyaW5zaWNSZWFsTmFtZSA9ICclJyArIGludHJpbnNpY0Jhc2VOYW1lICsgJyUnO1xuXG5cdFx0aWYgKGhhc093bihJTlRSSU5TSUNTLCBpbnRyaW5zaWNSZWFsTmFtZSkpIHtcblx0XHRcdHZhbHVlID0gSU5UUklOU0lDU1tpbnRyaW5zaWNSZWFsTmFtZV07XG5cdFx0fSBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XG5cdFx0XHRpZiAoIShwYXJ0IGluIHZhbHVlKSkge1xuXHRcdFx0XHRpZiAoIWFsbG93TWlzc2luZykge1xuXHRcdFx0XHRcdHRocm93IG5ldyAkVHlwZUVycm9yKCdiYXNlIGludHJpbnNpYyBmb3IgJyArIG5hbWUgKyAnIGV4aXN0cywgYnV0IHRoZSBwcm9wZXJ0eSBpcyBub3QgYXZhaWxhYmxlLicpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB2b2lkIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHRcdGlmICgkZ09QRCAmJiAoaSArIDEpID49IHBhcnRzLmxlbmd0aCkge1xuXHRcdFx0XHR2YXIgZGVzYyA9ICRnT1BEKHZhbHVlLCBwYXJ0KTtcblx0XHRcdFx0aXNPd24gPSAhIWRlc2M7XG5cblx0XHRcdFx0Ly8gQnkgY29udmVudGlvbiwgd2hlbiBhIGRhdGEgcHJvcGVydHkgaXMgY29udmVydGVkIHRvIGFuIGFjY2Vzc29yXG5cdFx0XHRcdC8vIHByb3BlcnR5IHRvIGVtdWxhdGUgYSBkYXRhIHByb3BlcnR5IHRoYXQgZG9lcyBub3Qgc3VmZmVyIGZyb21cblx0XHRcdFx0Ly8gdGhlIG92ZXJyaWRlIG1pc3Rha2UsIHRoYXQgYWNjZXNzb3IncyBnZXR0ZXIgaXMgbWFya2VkIHdpdGhcblx0XHRcdFx0Ly8gYW4gYG9yaWdpbmFsVmFsdWVgIHByb3BlcnR5LiBIZXJlLCB3aGVuIHdlIGRldGVjdCB0aGlzLCB3ZVxuXHRcdFx0XHQvLyB1cGhvbGQgdGhlIGlsbHVzaW9uIGJ5IHByZXRlbmRpbmcgdG8gc2VlIHRoYXQgb3JpZ2luYWwgZGF0YVxuXHRcdFx0XHQvLyBwcm9wZXJ0eSwgaS5lLiwgcmV0dXJuaW5nIHRoZSB2YWx1ZSByYXRoZXIgdGhhbiB0aGUgZ2V0dGVyXG5cdFx0XHRcdC8vIGl0c2VsZi5cblx0XHRcdFx0aWYgKGlzT3duICYmICdnZXQnIGluIGRlc2MgJiYgISgnb3JpZ2luYWxWYWx1ZScgaW4gZGVzYy5nZXQpKSB7XG5cdFx0XHRcdFx0dmFsdWUgPSBkZXNjLmdldDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlW3BhcnRdO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpc093biA9IGhhc093bih2YWx1ZSwgcGFydCk7XG5cdFx0XHRcdHZhbHVlID0gdmFsdWVbcGFydF07XG5cdFx0XHR9XG5cblx0XHRcdGlmIChpc093biAmJiAhc2tpcEZ1cnRoZXJDYWNoaW5nKSB7XG5cdFx0XHRcdElOVFJJTlNJQ1NbaW50cmluc2ljUmVhbE5hbWVdID0gdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiB2YWx1ZTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/get-intrinsic/index.js\n")); - -/***/ }), - -/***/ "./node_modules/gopd/index.js": -/*!************************************!*\ - !*** ./node_modules/gopd/index.js ***! - \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZ29wZC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyw0REFBZTs7QUFFMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9nb3BkL2luZGV4LmpzPzg5NWUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgR2V0SW50cmluc2ljID0gcmVxdWlyZSgnZ2V0LWludHJpbnNpYycpO1xuXG52YXIgJGdPUEQgPSBHZXRJbnRyaW5zaWMoJyVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJScsIHRydWUpO1xuXG5pZiAoJGdPUEQpIHtcblx0dHJ5IHtcblx0XHQkZ09QRChbXSwgJ2xlbmd0aCcpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Ly8gSUUgOCBoYXMgYSBicm9rZW4gZ09QRFxuXHRcdCRnT1BEID0gbnVsbDtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9ICRnT1BEO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/gopd/index.js\n")); - -/***/ }), - -/***/ "./node_modules/has-proto/index.js": -/*!*****************************************!*\ - !*** ./node_modules/has-proto/index.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXByb3RvL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFVBQVUsaUJBQWlCLHlCQUF5QixrQkFBa0I7QUFDdEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2hhcy1wcm90by9pbmRleC5qcz82ZjAyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHRlc3QgPSB7XG5cdGZvbzoge31cbn07XG5cbnZhciAkT2JqZWN0ID0gT2JqZWN0O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGhhc1Byb3RvKCkge1xuXHRyZXR1cm4geyBfX3Byb3RvX186IHRlc3QgfS5mb28gPT09IHRlc3QuZm9vICYmICEoeyBfX3Byb3RvX186IG51bGwgfSBpbnN0YW5jZW9mICRPYmplY3QpO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/has-proto/index.js\n")); - -/***/ }), - -/***/ "./node_modules/has-symbols/index.js": -/*!*******************************************!*\ - !*** ./node_modules/has-symbols/index.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = __webpack_require__(/*! ./shams */ \"./node_modules/has-symbols/shams.js\");\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQSxvQkFBb0IsbUJBQU8sQ0FBQyxvREFBUzs7QUFFckM7QUFDQSx5Q0FBeUM7QUFDekMscUNBQXFDO0FBQ3JDLDhDQUE4QztBQUM5QywwQ0FBMEM7O0FBRTFDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL2luZGV4LmpzPzJkNWMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgb3JpZ1N5bWJvbCA9IHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbDtcbnZhciBoYXNTeW1ib2xTaGFtID0gcmVxdWlyZSgnLi9zaGFtcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGhhc05hdGl2ZVN5bWJvbHMoKSB7XG5cdGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm4gZmFsc2U7IH1cblx0aWYgKHR5cGVvZiBTeW1ib2wgIT09ICdmdW5jdGlvbicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCgnZm9vJykgIT09ICdzeW1ib2wnKSB7IHJldHVybiBmYWxzZTsgfVxuXHRpZiAodHlwZW9mIFN5bWJvbCgnYmFyJykgIT09ICdzeW1ib2wnKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdHJldHVybiBoYXNTeW1ib2xTaGFtKCk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/has-symbols/index.js\n")); - -/***/ }), - -/***/ "./node_modules/has-symbols/shams.js": -/*!*******************************************!*\ - !*** ./node_modules/has-symbols/shams.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvc2hhbXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLDJGQUEyRjtBQUMzRiw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQzs7QUFFaEMsa0VBQWtFO0FBQ2xFLHFFQUFxRTs7QUFFckU7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSx1Q0FBdUM7O0FBRXZDLDJEQUEyRDtBQUMzRCwrREFBK0Q7O0FBRS9EO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLDJFQUEyRTs7QUFFM0UseUdBQXlHOztBQUV6RztBQUNBLDZDQUE2Qzs7QUFFN0MsOERBQThEOztBQUU5RDtBQUNBO0FBQ0EsdUVBQXVFO0FBQ3ZFOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzP2NmN2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKiBlc2xpbnQgY29tcGxleGl0eTogWzIsIDE4XSwgbWF4LXN0YXRlbWVudHM6IFsyLCAzM10gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaGFzU3ltYm9scygpIHtcblx0aWYgKHR5cGVvZiBTeW1ib2wgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgIT09ICdmdW5jdGlvbicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICh0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSAnc3ltYm9sJykgeyByZXR1cm4gdHJ1ZTsgfVxuXG5cdHZhciBvYmogPSB7fTtcblx0dmFyIHN5bSA9IFN5bWJvbCgndGVzdCcpO1xuXHR2YXIgc3ltT2JqID0gT2JqZWN0KHN5bSk7XG5cdGlmICh0eXBlb2Ygc3ltID09PSAnc3RyaW5nJykgeyByZXR1cm4gZmFsc2U7IH1cblxuXHRpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN5bSkgIT09ICdbb2JqZWN0IFN5bWJvbF0nKSB7IHJldHVybiBmYWxzZTsgfVxuXHRpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN5bU9iaikgIT09ICdbb2JqZWN0IFN5bWJvbF0nKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdC8vIHRlbXAgZGlzYWJsZWQgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9samhhcmIvb2JqZWN0LmFzc2lnbi9pc3N1ZXMvMTdcblx0Ly8gaWYgKHN5bSBpbnN0YW5jZW9mIFN5bWJvbCkgeyByZXR1cm4gZmFsc2U7IH1cblx0Ly8gdGVtcCBkaXNhYmxlZCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL1dlYlJlZmxlY3Rpb24vZ2V0LW93bi1wcm9wZXJ0eS1zeW1ib2xzL2lzc3Vlcy80XG5cdC8vIGlmICghKHN5bU9iaiBpbnN0YW5jZW9mIFN5bWJvbCkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0Ly8gaWYgKHR5cGVvZiBTeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nICE9PSAnZnVuY3Rpb24nKSB7IHJldHVybiBmYWxzZTsgfVxuXHQvLyBpZiAoU3RyaW5nKHN5bSkgIT09IFN5bWJvbC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzeW0pKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdHZhciBzeW1WYWwgPSA0Mjtcblx0b2JqW3N5bV0gPSBzeW1WYWw7XG5cdGZvciAoc3ltIGluIG9iaikgeyByZXR1cm4gZmFsc2U7IH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tdW5yZWFjaGFibGUtbG9vcFxuXHRpZiAodHlwZW9mIE9iamVjdC5rZXlzID09PSAnZnVuY3Rpb24nICYmIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoICE9PSAwKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgPT09ICdmdW5jdGlvbicgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5sZW5ndGggIT09IDApIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0dmFyIHN5bXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iaik7XG5cdGlmIChzeW1zLmxlbmd0aCAhPT0gMSB8fCBzeW1zWzBdICE9PSBzeW0pIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0aWYgKCFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqLCBzeW0pKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHN5bSk7XG5cdFx0aWYgKGRlc2NyaXB0b3IudmFsdWUgIT09IHN5bVZhbCB8fCBkZXNjcmlwdG9yLmVudW1lcmFibGUgIT09IHRydWUpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdH1cblxuXHRyZXR1cm4gdHJ1ZTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/has-symbols/shams.js\n")); - -/***/ }), - -/***/ "./node_modules/has-tostringtag/shams.js": -/*!***********************************************!*\ - !*** ./node_modules/has-tostringtag/shams.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar hasSymbols = __webpack_require__(/*! has-symbols/shams */ \"./node_modules/has-symbols/shams.js\");\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzLXRvc3RyaW5ndGFnL3NoYW1zLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLGlCQUFpQixtQkFBTyxDQUFDLDhEQUFtQjs7QUFFNUM7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9oYXMtdG9zdHJpbmd0YWcvc2hhbXMuanM/MzYzNiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBoYXNTeW1ib2xzID0gcmVxdWlyZSgnaGFzLXN5bWJvbHMvc2hhbXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBoYXNUb1N0cmluZ1RhZ1NoYW1zKCkge1xuXHRyZXR1cm4gaGFzU3ltYm9scygpICYmICEhU3ltYm9sLnRvU3RyaW5nVGFnO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/has-tostringtag/shams.js\n")); - -/***/ }), - -/***/ "./node_modules/has/src/index.js": -/*!***************************************!*\ - !*** ./node_modules/has/src/index.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGFzL3NyYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixXQUFXLG1CQUFPLENBQUMsNERBQWU7O0FBRWxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9oYXMvc3JjL2luZGV4LmpzPzMwNjciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYmluZCA9IHJlcXVpcmUoJ2Z1bmN0aW9uLWJpbmQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBiaW5kLmNhbGwoRnVuY3Rpb24uY2FsbCwgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/has/src/index.js\n")); - -/***/ }), - -/***/ "./node_modules/ieee754/index.js": -/*!***************************************!*\ - !*** ./node_modules/ieee754/index.js ***! - \***************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsV0FBVzs7QUFFcEI7QUFDQTtBQUNBO0FBQ0EsU0FBUyxXQUFXOztBQUVwQjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLFdBQVc7O0FBRXBCO0FBQ0E7QUFDQSxTQUFTLFVBQVU7O0FBRW5CO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanM/ZWJjMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgaWVlZTc1NC4gQlNELTMtQ2xhdXNlIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuZXhwb3J0cy5yZWFkID0gZnVuY3Rpb24gKGJ1ZmZlciwgb2Zmc2V0LCBpc0xFLCBtTGVuLCBuQnl0ZXMpIHtcbiAgdmFyIGUsIG1cbiAgdmFyIGVMZW4gPSAobkJ5dGVzICogOCkgLSBtTGVuIC0gMVxuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMVxuICB2YXIgZUJpYXMgPSBlTWF4ID4+IDFcbiAgdmFyIG5CaXRzID0gLTdcbiAgdmFyIGkgPSBpc0xFID8gKG5CeXRlcyAtIDEpIDogMFxuICB2YXIgZCA9IGlzTEUgPyAtMSA6IDFcbiAgdmFyIHMgPSBidWZmZXJbb2Zmc2V0ICsgaV1cblxuICBpICs9IGRcblxuICBlID0gcyAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBzID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBlTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSAoZSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBtID0gZSAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBlID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBtTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IG0gPSAobSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBpZiAoZSA9PT0gMCkge1xuICAgIGUgPSAxIC0gZUJpYXNcbiAgfSBlbHNlIGlmIChlID09PSBlTWF4KSB7XG4gICAgcmV0dXJuIG0gPyBOYU4gOiAoKHMgPyAtMSA6IDEpICogSW5maW5pdHkpXG4gIH0gZWxzZSB7XG4gICAgbSA9IG0gKyBNYXRoLnBvdygyLCBtTGVuKVxuICAgIGUgPSBlIC0gZUJpYXNcbiAgfVxuICByZXR1cm4gKHMgPyAtMSA6IDEpICogbSAqIE1hdGgucG93KDIsIGUgLSBtTGVuKVxufVxuXG5leHBvcnRzLndyaXRlID0gZnVuY3Rpb24gKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlLCBtLCBjXG4gIHZhciBlTGVuID0gKG5CeXRlcyAqIDgpIC0gbUxlbiAtIDFcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDFcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxXG4gIHZhciBydCA9IChtTGVuID09PSAyMyA/IE1hdGgucG93KDIsIC0yNCkgLSBNYXRoLnBvdygyLCAtNzcpIDogMClcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKVxuICB2YXIgZCA9IGlzTEUgPyAxIDogLTFcbiAgdmFyIHMgPSB2YWx1ZSA8IDAgfHwgKHZhbHVlID09PSAwICYmIDEgLyB2YWx1ZSA8IDApID8gMSA6IDBcblxuICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKVxuXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5KSB7XG4gICAgbSA9IGlzTmFOKHZhbHVlKSA/IDEgOiAwXG4gICAgZSA9IGVNYXhcbiAgfSBlbHNlIHtcbiAgICBlID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLkxOMilcbiAgICBpZiAodmFsdWUgKiAoYyA9IE1hdGgucG93KDIsIC1lKSkgPCAxKSB7XG4gICAgICBlLS1cbiAgICAgIGMgKj0gMlxuICAgIH1cbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcbiAgICAgIHZhbHVlICs9IHJ0IC8gY1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSArPSBydCAqIE1hdGgucG93KDIsIDEgLSBlQmlhcylcbiAgICB9XG4gICAgaWYgKHZhbHVlICogYyA+PSAyKSB7XG4gICAgICBlKytcbiAgICAgIGMgLz0gMlxuICAgIH1cblxuICAgIGlmIChlICsgZUJpYXMgPj0gZU1heCkge1xuICAgICAgbSA9IDBcbiAgICAgIGUgPSBlTWF4XG4gICAgfSBlbHNlIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgbSA9ICgodmFsdWUgKiBjKSAtIDEpICogTWF0aC5wb3coMiwgbUxlbilcbiAgICAgIGUgPSBlICsgZUJpYXNcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHZhbHVlICogTWF0aC5wb3coMiwgZUJpYXMgLSAxKSAqIE1hdGgucG93KDIsIG1MZW4pXG4gICAgICBlID0gMFxuICAgIH1cbiAgfVxuXG4gIGZvciAoOyBtTGVuID49IDg7IGJ1ZmZlcltvZmZzZXQgKyBpXSA9IG0gJiAweGZmLCBpICs9IGQsIG0gLz0gMjU2LCBtTGVuIC09IDgpIHt9XG5cbiAgZSA9IChlIDw8IG1MZW4pIHwgbVxuICBlTGVuICs9IG1MZW5cbiAgZm9yICg7IGVMZW4gPiAwOyBidWZmZXJbb2Zmc2V0ICsgaV0gPSBlICYgMHhmZiwgaSArPSBkLCBlIC89IDI1NiwgZUxlbiAtPSA4KSB7fVxuXG4gIGJ1ZmZlcltvZmZzZXQgKyBpIC0gZF0gfD0gcyAqIDEyOFxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ieee754/index.js\n")); - -/***/ }), - -/***/ "./node_modules/inherits/inherits_browser.js": -/*!***************************************************!*\ - !*** ./node_modules/inherits/inherits_browser.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzP2UzYzYiXSwic291cmNlc0NvbnRlbnQiOlsiaWYgKHR5cGVvZiBPYmplY3QuY3JlYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIGltcGxlbWVudGF0aW9uIGZyb20gc3RhbmRhcmQgbm9kZS5qcyAndXRpbCcgbW9kdWxlXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgaWYgKHN1cGVyQ3Rvcikge1xuICAgICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3JcbiAgICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICAgICAgdmFsdWU6IGN0b3IsXG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9O1xufSBlbHNlIHtcbiAgLy8gb2xkIHNjaG9vbCBzaGltIGZvciBvbGQgYnJvd3NlcnNcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpbmhlcml0cyhjdG9yLCBzdXBlckN0b3IpIHtcbiAgICBpZiAoc3VwZXJDdG9yKSB7XG4gICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvclxuICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge31cbiAgICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGVcbiAgICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKClcbiAgICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvclxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/inherits/inherits_browser.js\n")); - -/***/ }), - -/***/ "./node_modules/is-arguments/index.js": -/*!********************************************!*\ - !*** ./node_modules/is-arguments/index.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar hasToStringTag = __webpack_require__(/*! has-tostringtag/shams */ \"./node_modules/has-tostringtag/shams.js\")();\nvar callBound = __webpack_require__(/*! call-bind/callBound */ \"./node_modules/call-bind/callBound.js\");\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaXMtYXJndW1lbnRzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLHFCQUFxQixtQkFBTyxDQUFDLHNFQUF1QjtBQUNwRCxnQkFBZ0IsbUJBQU8sQ0FBQyxrRUFBcUI7O0FBRTdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVELDJEQUEyRDs7QUFFM0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2lzLWFyZ3VtZW50cy9pbmRleC5qcz8xYzBmIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGhhc1RvU3RyaW5nVGFnID0gcmVxdWlyZSgnaGFzLXRvc3RyaW5ndGFnL3NoYW1zJykoKTtcbnZhciBjYWxsQm91bmQgPSByZXF1aXJlKCdjYWxsLWJpbmQvY2FsbEJvdW5kJyk7XG5cbnZhciAkdG9TdHJpbmcgPSBjYWxsQm91bmQoJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcnKTtcblxudmFyIGlzU3RhbmRhcmRBcmd1bWVudHMgPSBmdW5jdGlvbiBpc0FyZ3VtZW50cyh2YWx1ZSkge1xuXHRpZiAoaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiBTeW1ib2wudG9TdHJpbmdUYWcgaW4gdmFsdWUpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0cmV0dXJuICR0b1N0cmluZyh2YWx1ZSkgPT09ICdbb2JqZWN0IEFyZ3VtZW50c10nO1xufTtcblxudmFyIGlzTGVnYWN5QXJndW1lbnRzID0gZnVuY3Rpb24gaXNBcmd1bWVudHModmFsdWUpIHtcblx0aWYgKGlzU3RhbmRhcmRBcmd1bWVudHModmFsdWUpKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblx0cmV0dXJuIHZhbHVlICE9PSBudWxsICYmXG5cdFx0dHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuXHRcdHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICdudW1iZXInICYmXG5cdFx0dmFsdWUubGVuZ3RoID49IDAgJiZcblx0XHQkdG9TdHJpbmcodmFsdWUpICE9PSAnW29iamVjdCBBcnJheV0nICYmXG5cdFx0JHRvU3RyaW5nKHZhbHVlLmNhbGxlZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG59O1xuXG52YXIgc3VwcG9ydHNTdGFuZGFyZEFyZ3VtZW50cyA9IChmdW5jdGlvbiAoKSB7XG5cdHJldHVybiBpc1N0YW5kYXJkQXJndW1lbnRzKGFyZ3VtZW50cyk7XG59KCkpO1xuXG5pc1N0YW5kYXJkQXJndW1lbnRzLmlzTGVnYWN5QXJndW1lbnRzID0gaXNMZWdhY3lBcmd1bWVudHM7IC8vIGZvciB0ZXN0c1xuXG5tb2R1bGUuZXhwb3J0cyA9IHN1cHBvcnRzU3RhbmRhcmRBcmd1bWVudHMgPyBpc1N0YW5kYXJkQXJndW1lbnRzIDogaXNMZWdhY3lBcmd1bWVudHM7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/is-arguments/index.js\n")); - -/***/ }), - -/***/ "./node_modules/is-callable/index.js": -/*!*******************************************!*\ - !*** ./node_modules/is-callable/index.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaXMtY2FsbGFibGUvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsNkJBQTZCLFdBQVc7QUFDeEMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxnQkFBZ0I7QUFDaEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSwyQ0FBMkM7QUFDM0MsMkVBQTJFOztBQUUzRSwwQkFBMEI7O0FBRTFCLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IsTUFBTSxZQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixnQkFBZ0I7QUFDaEIsa0VBQWtFO0FBQ2xFO0FBQ0E7QUFDQSxJQUFJO0FBQ0osaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCLGdCQUFnQjtBQUNoQixrRUFBa0U7QUFDbEUsd0JBQXdCO0FBQ3hCLDZCQUE2QjtBQUM3QjtBQUNBLDZGQUE2RjtBQUM3RjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9pcy1jYWxsYWJsZS9pbmRleC5qcz8wOTMwIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGZuVG9TdHIgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgcmVmbGVjdEFwcGx5ID0gdHlwZW9mIFJlZmxlY3QgPT09ICdvYmplY3QnICYmIFJlZmxlY3QgIT09IG51bGwgJiYgUmVmbGVjdC5hcHBseTtcbnZhciBiYWRBcnJheUxpa2U7XG52YXIgaXNDYWxsYWJsZU1hcmtlcjtcbmlmICh0eXBlb2YgcmVmbGVjdEFwcGx5ID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcblx0dHJ5IHtcblx0XHRiYWRBcnJheUxpa2UgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdsZW5ndGgnLCB7XG5cdFx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0dGhyb3cgaXNDYWxsYWJsZU1hcmtlcjtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRpc0NhbGxhYmxlTWFya2VyID0ge307XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcblx0XHRyZWZsZWN0QXBwbHkoZnVuY3Rpb24gKCkgeyB0aHJvdyA0MjsgfSwgbnVsbCwgYmFkQXJyYXlMaWtlKTtcblx0fSBjYXRjaCAoXykge1xuXHRcdGlmIChfICE9PSBpc0NhbGxhYmxlTWFya2VyKSB7XG5cdFx0XHRyZWZsZWN0QXBwbHkgPSBudWxsO1xuXHRcdH1cblx0fVxufSBlbHNlIHtcblx0cmVmbGVjdEFwcGx5ID0gbnVsbDtcbn1cblxudmFyIGNvbnN0cnVjdG9yUmVnZXggPSAvXlxccypjbGFzc1xcYi87XG52YXIgaXNFUzZDbGFzc0ZuID0gZnVuY3Rpb24gaXNFUzZDbGFzc0Z1bmN0aW9uKHZhbHVlKSB7XG5cdHRyeSB7XG5cdFx0dmFyIGZuU3RyID0gZm5Ub1N0ci5jYWxsKHZhbHVlKTtcblx0XHRyZXR1cm4gY29uc3RydWN0b3JSZWdleC50ZXN0KGZuU3RyKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdHJldHVybiBmYWxzZTsgLy8gbm90IGEgZnVuY3Rpb25cblx0fVxufTtcblxudmFyIHRyeUZ1bmN0aW9uT2JqZWN0ID0gZnVuY3Rpb24gdHJ5RnVuY3Rpb25Ub1N0cih2YWx1ZSkge1xuXHR0cnkge1xuXHRcdGlmIChpc0VTNkNsYXNzRm4odmFsdWUpKSB7IHJldHVybiBmYWxzZTsgfVxuXHRcdGZuVG9TdHIuY2FsbCh2YWx1ZSk7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn07XG52YXIgdG9TdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIG9iamVjdENsYXNzID0gJ1tvYmplY3QgT2JqZWN0XSc7XG52YXIgZm5DbGFzcyA9ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG52YXIgZ2VuQ2xhc3MgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nO1xudmFyIGRkYUNsYXNzID0gJ1tvYmplY3QgSFRNTEFsbENvbGxlY3Rpb25dJzsgLy8gSUUgMTFcbnZhciBkZGFDbGFzczIgPSAnW29iamVjdCBIVE1MIGRvY3VtZW50LmFsbCBjbGFzc10nO1xudmFyIGRkYUNsYXNzMyA9ICdbb2JqZWN0IEhUTUxDb2xsZWN0aW9uXSc7IC8vIElFIDktMTBcbnZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgISFTeW1ib2wudG9TdHJpbmdUYWc7IC8vIGJldHRlcjogdXNlIGBoYXMtdG9zdHJpbmd0YWdgXG5cbnZhciBpc0lFNjggPSAhKDAgaW4gWyxdKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zcGFyc2UtYXJyYXlzLCBjb21tYS1zcGFjaW5nXG5cbnZhciBpc0REQSA9IGZ1bmN0aW9uIGlzRG9jdW1lbnREb3RBbGwoKSB7IHJldHVybiBmYWxzZTsgfTtcbmlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICdvYmplY3QnKSB7XG5cdC8vIEZpcmVmb3ggMyBjYW5vbmljYWxpemVzIEREQSB0byB1bmRlZmluZWQgd2hlbiBpdCdzIG5vdCBhY2Nlc3NlZCBkaXJlY3RseVxuXHR2YXIgYWxsID0gZG9jdW1lbnQuYWxsO1xuXHRpZiAodG9TdHIuY2FsbChhbGwpID09PSB0b1N0ci5jYWxsKGRvY3VtZW50LmFsbCkpIHtcblx0XHRpc0REQSA9IGZ1bmN0aW9uIGlzRG9jdW1lbnREb3RBbGwodmFsdWUpIHtcblx0XHRcdC8qIGdsb2JhbHMgZG9jdW1lbnQ6IGZhbHNlICovXG5cdFx0XHQvLyBpbiBJRSA2LTgsIHR5cGVvZiBkb2N1bWVudC5hbGwgaXMgXCJvYmplY3RcIiBhbmQgaXQncyB0cnV0aHlcblx0XHRcdGlmICgoaXNJRTY4IHx8ICF2YWx1ZSkgJiYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JykpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHR2YXIgc3RyID0gdG9TdHIuY2FsbCh2YWx1ZSk7XG5cdFx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRcdHN0ciA9PT0gZGRhQ2xhc3Ncblx0XHRcdFx0XHRcdHx8IHN0ciA9PT0gZGRhQ2xhc3MyXG5cdFx0XHRcdFx0XHR8fCBzdHIgPT09IGRkYUNsYXNzMyAvLyBvcGVyYSAxMi4xNlxuXHRcdFx0XHRcdFx0fHwgc3RyID09PSBvYmplY3RDbGFzcyAvLyBJRSA2LThcblx0XHRcdFx0XHQpICYmIHZhbHVlKCcnKSA9PSBudWxsOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGVxZXFlcVxuXHRcdFx0XHR9IGNhdGNoIChlKSB7IC8qKi8gfVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH07XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSByZWZsZWN0QXBwbHlcblx0PyBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlKSB7XG5cdFx0aWYgKGlzRERBKHZhbHVlKSkgeyByZXR1cm4gdHJ1ZTsgfVxuXHRcdGlmICghdmFsdWUpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7IHJldHVybiBmYWxzZTsgfVxuXHRcdHRyeSB7XG5cdFx0XHRyZWZsZWN0QXBwbHkodmFsdWUsIG51bGwsIGJhZEFycmF5TGlrZSk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0aWYgKGUgIT09IGlzQ2FsbGFibGVNYXJrZXIpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdFx0fVxuXHRcdHJldHVybiAhaXNFUzZDbGFzc0ZuKHZhbHVlKSAmJiB0cnlGdW5jdGlvbk9iamVjdCh2YWx1ZSk7XG5cdH1cblx0OiBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlKSB7XG5cdFx0aWYgKGlzRERBKHZhbHVlKSkgeyByZXR1cm4gdHJ1ZTsgfVxuXHRcdGlmICghdmFsdWUpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7IHJldHVybiBmYWxzZTsgfVxuXHRcdGlmIChoYXNUb1N0cmluZ1RhZykgeyByZXR1cm4gdHJ5RnVuY3Rpb25PYmplY3QodmFsdWUpOyB9XG5cdFx0aWYgKGlzRVM2Q2xhc3NGbih2YWx1ZSkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdFx0dmFyIHN0ckNsYXNzID0gdG9TdHIuY2FsbCh2YWx1ZSk7XG5cdFx0aWYgKHN0ckNsYXNzICE9PSBmbkNsYXNzICYmIHN0ckNsYXNzICE9PSBnZW5DbGFzcyAmJiAhKC9eXFxbb2JqZWN0IEhUTUwvKS50ZXN0KHN0ckNsYXNzKSkgeyByZXR1cm4gZmFsc2U7IH1cblx0XHRyZXR1cm4gdHJ5RnVuY3Rpb25PYmplY3QodmFsdWUpO1xuXHR9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/is-callable/index.js\n")); - -/***/ }), - -/***/ "./node_modules/is-generator-function/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/is-generator-function/index.js ***! - \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = __webpack_require__(/*! has-tostringtag/shams */ \"./node_modules/has-tostringtag/shams.js\")();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaXMtZ2VuZXJhdG9yLWZ1bmN0aW9uL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixtQkFBTyxDQUFDLHNFQUF1QjtBQUNwRDtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QyxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2lzLWdlbmVyYXRvci1mdW5jdGlvbi9pbmRleC5qcz8wM2U2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHRvU3RyID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbnZhciBmblRvU3RyID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIGlzRm5SZWdleCA9IC9eXFxzKig/OmZ1bmN0aW9uKT9cXCovO1xudmFyIGhhc1RvU3RyaW5nVGFnID0gcmVxdWlyZSgnaGFzLXRvc3RyaW5ndGFnL3NoYW1zJykoKTtcbnZhciBnZXRQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcbnZhciBnZXRHZW5lcmF0b3JGdW5jID0gZnVuY3Rpb24gKCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG5cdGlmICghaGFzVG9TdHJpbmdUYWcpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0dHJ5IHtcblx0XHRyZXR1cm4gRnVuY3Rpb24oJ3JldHVybiBmdW5jdGlvbiooKSB7fScpKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0fVxufTtcbnZhciBHZW5lcmF0b3JGdW5jdGlvbjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0dlbmVyYXRvckZ1bmN0aW9uKGZuKSB7XG5cdGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0aWYgKGlzRm5SZWdleC50ZXN0KGZuVG9TdHIuY2FsbChmbikpKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblx0aWYgKCFoYXNUb1N0cmluZ1RhZykge1xuXHRcdHZhciBzdHIgPSB0b1N0ci5jYWxsKGZuKTtcblx0XHRyZXR1cm4gc3RyID09PSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nO1xuXHR9XG5cdGlmICghZ2V0UHJvdG8pIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0aWYgKHR5cGVvZiBHZW5lcmF0b3JGdW5jdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0XHR2YXIgZ2VuZXJhdG9yRnVuYyA9IGdldEdlbmVyYXRvckZ1bmMoKTtcblx0XHRHZW5lcmF0b3JGdW5jdGlvbiA9IGdlbmVyYXRvckZ1bmMgPyBnZXRQcm90byhnZW5lcmF0b3JGdW5jKSA6IGZhbHNlO1xuXHR9XG5cdHJldHVybiBnZXRQcm90byhmbikgPT09IEdlbmVyYXRvckZ1bmN0aW9uO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/is-generator-function/index.js\n")); - -/***/ }), - -/***/ "./node_modules/is-typed-array/index.js": -/*!**********************************************!*\ - !*** ./node_modules/is-typed-array/index.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar whichTypedArray = __webpack_require__(/*! which-typed-array */ \"./node_modules/which-typed-array/index.js\");\n\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaXMtdHlwZWQtYXJyYXkvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsc0JBQXNCLG1CQUFPLENBQUMsb0VBQW1COztBQUVqRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2lzLXR5cGVkLWFycmF5L2luZGV4LmpzP2I1MmUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgd2hpY2hUeXBlZEFycmF5ID0gcmVxdWlyZSgnd2hpY2gtdHlwZWQtYXJyYXknKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc1R5cGVkQXJyYXkodmFsdWUpIHtcblx0cmV0dXJuICEhd2hpY2hUeXBlZEFycmF5KHZhbHVlKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/is-typed-array/index.js\n")); - -/***/ }), - -/***/ "./node_modules/is-typedarray/index.js": -/*!*********************************************!*\ - !*** ./node_modules/is-typedarray/index.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = isTypedArray\nisTypedArray.strict = isStrictTypedArray\nisTypedArray.loose = isLooseTypedArray\n\nvar toString = Object.prototype.toString\nvar names = {\n '[object Int8Array]': true\n , '[object Int16Array]': true\n , '[object Int32Array]': true\n , '[object Uint8Array]': true\n , '[object Uint8ClampedArray]': true\n , '[object Uint16Array]': true\n , '[object Uint32Array]': true\n , '[object Float32Array]': true\n , '[object Float64Array]': true\n}\n\nfunction isTypedArray(arr) {\n return (\n isStrictTypedArray(arr)\n || isLooseTypedArray(arr)\n )\n}\n\nfunction isStrictTypedArray(arr) {\n return (\n arr instanceof Int8Array\n || arr instanceof Int16Array\n || arr instanceof Int32Array\n || arr instanceof Uint8Array\n || arr instanceof Uint8ClampedArray\n || arr instanceof Uint16Array\n || arr instanceof Uint32Array\n || arr instanceof Float32Array\n || arr instanceof Float64Array\n )\n}\n\nfunction isLooseTypedArray(arr) {\n return names[toString.call(arr)]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaXMtdHlwZWRhcnJheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2lzLXR5cGVkYXJyYXkvaW5kZXguanM/MTJmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyAgICAgID0gaXNUeXBlZEFycmF5XG5pc1R5cGVkQXJyYXkuc3RyaWN0ID0gaXNTdHJpY3RUeXBlZEFycmF5XG5pc1R5cGVkQXJyYXkubG9vc2UgID0gaXNMb29zZVR5cGVkQXJyYXlcblxudmFyIHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ1xudmFyIG5hbWVzID0ge1xuICAgICdbb2JqZWN0IEludDhBcnJheV0nOiB0cnVlXG4gICwgJ1tvYmplY3QgSW50MTZBcnJheV0nOiB0cnVlXG4gICwgJ1tvYmplY3QgSW50MzJBcnJheV0nOiB0cnVlXG4gICwgJ1tvYmplY3QgVWludDhBcnJheV0nOiB0cnVlXG4gICwgJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJzogdHJ1ZVxuICAsICdbb2JqZWN0IFVpbnQxNkFycmF5XSc6IHRydWVcbiAgLCAnW29iamVjdCBVaW50MzJBcnJheV0nOiB0cnVlXG4gICwgJ1tvYmplY3QgRmxvYXQzMkFycmF5XSc6IHRydWVcbiAgLCAnW29iamVjdCBGbG9hdDY0QXJyYXldJzogdHJ1ZVxufVxuXG5mdW5jdGlvbiBpc1R5cGVkQXJyYXkoYXJyKSB7XG4gIHJldHVybiAoXG4gICAgICAgaXNTdHJpY3RUeXBlZEFycmF5KGFycilcbiAgICB8fCBpc0xvb3NlVHlwZWRBcnJheShhcnIpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNTdHJpY3RUeXBlZEFycmF5KGFycikge1xuICByZXR1cm4gKFxuICAgICAgIGFyciBpbnN0YW5jZW9mIEludDhBcnJheVxuICAgIHx8IGFyciBpbnN0YW5jZW9mIEludDE2QXJyYXlcbiAgICB8fCBhcnIgaW5zdGFuY2VvZiBJbnQzMkFycmF5XG4gICAgfHwgYXJyIGluc3RhbmNlb2YgVWludDhBcnJheVxuICAgIHx8IGFyciBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5XG4gICAgfHwgYXJyIGluc3RhbmNlb2YgVWludDE2QXJyYXlcbiAgICB8fCBhcnIgaW5zdGFuY2VvZiBVaW50MzJBcnJheVxuICAgIHx8IGFyciBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheVxuICAgIHx8IGFyciBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheVxuICApXG59XG5cbmZ1bmN0aW9uIGlzTG9vc2VUeXBlZEFycmF5KGFycikge1xuICByZXR1cm4gbmFtZXNbdG9TdHJpbmcuY2FsbChhcnIpXVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/is-typedarray/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/assert/assert.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/compiled/assert/assert.js ***! - \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n(function(){var e={992:function(e){e.exports=function(e,r,n){if(e.filter)return e.filter(r,n);if(void 0===e||null===e)throw new TypeError;if(\"function\"!=typeof r)throw new TypeError;var o=[];for(var i=0;i<e.length;i++){if(!t.call(e,i))continue;var a=e[i];if(r.call(n,a,i,e))o.push(a)}return o};var t=Object.prototype.hasOwnProperty},167:function(e,t,r){\"use strict\";function _typeof(e){if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol===\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e}}return _typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}var n=r(23),o=n.codes,i=o.ERR_AMBIGUOUS_ARGUMENT,a=o.ERR_INVALID_ARG_TYPE,c=o.ERR_INVALID_ARG_VALUE,u=o.ERR_INVALID_RETURN_VALUE,f=o.ERR_MISSING_ARGS;var s=r(545);var l=r(177),p=l.inspect;var y=r(177).types,g=y.isPromise,v=y.isRegExp;var d=Object.assign?Object.assign:r(604).assign;var b=Object.is?Object.is:r(208);var h=new Map;var m;var S;var E;var O;var w;function lazyLoadComparison(){var e=r(176);m=e.isDeepEqual;S=e.isDeepStrictEqual}var A=/[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;var j=null&&0;var P=function escapeFn(e){return j[e.charCodeAt(0)]};var _=false;var x=e.exports=ok;var k={};function innerFail(e){if(e.message instanceof Error)throw e.message;throw new s(e)}function fail(e,t,r,n,o){var i=arguments.length;var a;if(i===0){a=\"Failed\"}else if(i===1){r=e;e=undefined}else{if(_===false){_=true;var c=process.emitWarning?process.emitWarning:console.warn.bind(console);c(\"assert.fail() with more than one argument is deprecated. \"+\"Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}if(i===2)n=\"!=\"}if(r instanceof Error)throw r;var u={actual:e,expected:t,operator:n===undefined?\"fail\":n,stackStartFn:o||fail};if(r!==undefined){u.message=r}var f=new s(u);if(a){f.message=a;f.generatedMessage=true}throw f}x.fail=fail;x.AssertionError=s;function innerOk(e,t,r,n){if(!r){var o=false;if(t===0){o=true;n=\"No value argument passed to `assert.ok()`\"}else if(n instanceof Error){throw n}var i=new s({actual:r,expected:true,message:n,operator:\"==\",stackStartFn:e});i.generatedMessage=o;throw i}}function ok(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}innerOk.apply(void 0,[ok,t.length].concat(t))}x.ok=ok;x.equal=function equal(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(e!=t){innerFail({actual:e,expected:t,message:r,operator:\"==\",stackStartFn:equal})}};x.notEqual=function notEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(e==t){innerFail({actual:e,expected:t,message:r,operator:\"!=\",stackStartFn:notEqual})}};x.deepEqual=function deepEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(m===undefined)lazyLoadComparison();if(!m(e,t)){innerFail({actual:e,expected:t,message:r,operator:\"deepEqual\",stackStartFn:deepEqual})}};x.notDeepEqual=function notDeepEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(m===undefined)lazyLoadComparison();if(m(e,t)){innerFail({actual:e,expected:t,message:r,operator:\"notDeepEqual\",stackStartFn:notDeepEqual})}};x.deepStrictEqual=function deepStrictEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(m===undefined)lazyLoadComparison();if(!S(e,t)){innerFail({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:deepStrictEqual})}};x.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(m===undefined)lazyLoadComparison();if(S(e,t)){innerFail({actual:e,expected:t,message:r,operator:\"notDeepStrictEqual\",stackStartFn:notDeepStrictEqual})}}x.strictEqual=function strictEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(!b(e,t)){innerFail({actual:e,expected:t,message:r,operator:\"strictEqual\",stackStartFn:strictEqual})}};x.notStrictEqual=function notStrictEqual(e,t,r){if(arguments.length<2){throw new f(\"actual\",\"expected\")}if(b(e,t)){innerFail({actual:e,expected:t,message:r,operator:\"notStrictEqual\",stackStartFn:notStrictEqual})}};var T=function Comparison(e,t,r){var n=this;_classCallCheck(this,Comparison);t.forEach((function(t){if(t in e){if(r!==undefined&&typeof r[t]===\"string\"&&v(e[t])&&e[t].test(r[t])){n[t]=r[t]}else{n[t]=e[t]}}}))};function compareExceptionKey(e,t,r,n,o,i){if(!(r in e)||!S(e[r],t[r])){if(!n){var a=new T(e,o);var c=new T(t,o,e);var u=new s({actual:a,expected:c,operator:\"deepStrictEqual\",stackStartFn:i});u.actual=e;u.expected=t;u.operator=i.name;throw u}innerFail({actual:e,expected:t,message:n,operator:i.name,stackStartFn:i})}}function expectedException(e,t,r,n){if(typeof t!==\"function\"){if(v(t))return t.test(e);if(arguments.length===2){throw new a(\"expected\",[\"Function\",\"RegExp\"],t)}if(_typeof(e)!==\"object\"||e===null){var o=new s({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});o.operator=n.name;throw o}var i=Object.keys(t);if(t instanceof Error){i.push(\"name\",\"message\")}else if(i.length===0){throw new c(\"error\",t,\"may not be an empty object\")}if(m===undefined)lazyLoadComparison();i.forEach((function(o){if(typeof e[o]===\"string\"&&v(t[o])&&t[o].test(e[o])){return}compareExceptionKey(e,t,o,r,i,n)}));return true}if(t.prototype!==undefined&&e instanceof t){return true}if(Error.isPrototypeOf(t)){return false}return t.call({},e)===true}function getActual(e){if(typeof e!==\"function\"){throw new a(\"fn\",\"Function\",e)}try{e()}catch(e){return e}return k}function checkIsPromise(e){return g(e)||e!==null&&_typeof(e)===\"object\"&&typeof e.then===\"function\"&&typeof e.catch===\"function\"}function waitForActual(e){return Promise.resolve().then((function(){var t;if(typeof e===\"function\"){t=e();if(!checkIsPromise(t)){throw new u(\"instance of Promise\",\"promiseFn\",t)}}else if(checkIsPromise(e)){t=e}else{throw new a(\"promiseFn\",[\"Function\",\"Promise\"],e)}return Promise.resolve().then((function(){return t})).then((function(){return k})).catch((function(e){return e}))}))}function expectsError(e,t,r,n){if(typeof r===\"string\"){if(arguments.length===4){throw new a(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r)}if(_typeof(t)===\"object\"&&t!==null){if(t.message===r){throw new i(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}}else if(t===r){throw new i(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'))}n=r;r=undefined}else if(r!=null&&_typeof(r)!==\"object\"&&typeof r!==\"function\"){throw new a(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r)}if(t===k){var o=\"\";if(r&&r.name){o+=\" (\".concat(r.name,\")\")}o+=n?\": \".concat(n):\".\";var c=e.name===\"rejects\"?\"rejection\":\"exception\";innerFail({actual:undefined,expected:r,operator:e.name,message:\"Missing expected \".concat(c).concat(o),stackStartFn:e})}if(r&&!expectedException(t,r,n,e)){throw t}}function expectsNoError(e,t,r,n){if(t===k)return;if(typeof r===\"string\"){n=r;r=undefined}if(!r||expectedException(t,r)){var o=n?\": \".concat(n):\".\";var i=e.name===\"doesNotReject\"?\"rejection\":\"exception\";innerFail({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(i).concat(o,\"\\n\")+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}x.throws=function throws(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}expectsError.apply(void 0,[throws,getActual(e)].concat(r))};x.rejects=function rejects(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}return waitForActual(e).then((function(e){return expectsError.apply(void 0,[rejects,e].concat(r))}))};x.doesNotThrow=function doesNotThrow(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}expectsNoError.apply(void 0,[doesNotThrow,getActual(e)].concat(r))};x.doesNotReject=function doesNotReject(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}return waitForActual(e).then((function(e){return expectsNoError.apply(void 0,[doesNotReject,e].concat(r))}))};x.ifError=function ifError(e){if(e!==null&&e!==undefined){var t=\"ifError got unwanted exception: \";if(_typeof(e)===\"object\"&&typeof e.message===\"string\"){if(e.message.length===0&&e.constructor){t+=e.constructor.name}else{t+=e.message}}else{t+=p(e)}var r=new s({actual:e,expected:null,operator:\"ifError\",message:t,stackStartFn:ifError});var n=e.stack;if(typeof n===\"string\"){var o=n.split(\"\\n\");o.shift();var i=r.stack.split(\"\\n\");for(var a=0;a<o.length;a++){var c=i.indexOf(o[a]);if(c!==-1){i=i.slice(0,c);break}}r.stack=\"\".concat(i.join(\"\\n\"),\"\\n\").concat(o.join(\"\\n\"))}throw r}};function strict(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}innerOk.apply(void 0,[strict,t.length].concat(t))}x.strict=d(strict,x,{equal:x.strictEqual,deepEqual:x.deepStrictEqual,notEqual:x.notStrictEqual,notDeepEqual:x.notDeepStrictEqual});x.strict.strict=x.strict},545:function(e,t,r){\"use strict\";function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols===\"function\"){n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))}n.forEach((function(t){_defineProperty(e,t,r[t])}))}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if(\"value\"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){if(t)_defineProperties(e.prototype,t);if(r)_defineProperties(e,r);return e}function _possibleConstructorReturn(e,t){if(t&&(_typeof(t)===\"object\"||typeof t===\"function\")){return t}return _assertThisInitialized(e)}function _assertThisInitialized(e){if(e===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}return e}function _inherits(e,t){if(typeof t!==\"function\"&&t!==null){throw new TypeError(\"Super expression must either be null or a function\")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)_setPrototypeOf(e,t)}function _wrapNativeSuper(e){var t=typeof Map===\"function\"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(e){if(e===null||!_isNativeFunction(e))return e;if(typeof e!==\"function\"){throw new TypeError(\"Super expression must either be null or a function\")}if(typeof t!==\"undefined\"){if(t.has(e))return t.get(e);t.set(e,Wrapper)}function Wrapper(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(e.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,e)};return _wrapNativeSuper(e)}function isNativeReflectConstruct(){if(typeof Reflect===\"undefined\"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy===\"function\")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],(function(){})));return true}catch(e){return false}}function _construct(e,t,r){if(isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(e,t,r){var n=[null];n.push.apply(n,t);var o=Function.bind.apply(e,n);var i=new o;if(r)_setPrototypeOf(i,r.prototype);return i}}return _construct.apply(null,arguments)}function _isNativeFunction(e){return Function.toString.call(e).indexOf(\"[native code]\")!==-1}function _setPrototypeOf(e,t){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(e,t){e.__proto__=t;return e};return _setPrototypeOf(e,t)}function _getPrototypeOf(e){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(e){return e.__proto__||Object.getPrototypeOf(e)};return _getPrototypeOf(e)}function _typeof(e){if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol===\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e}}return _typeof(e)}var n=r(177),o=n.inspect;var i=r(23),a=i.codes.ERR_INVALID_ARG_TYPE;function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function repeat(e,t){t=Math.floor(t);if(e.length==0||t==0)return\"\";var r=e.length*t;t=Math.floor(Math.log(t)/Math.log(2));while(t){e+=e;t--}e+=e.substring(0,r-e.length);return e}var c=\"\";var u=\"\";var f=\"\";var s=\"\";var l={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"};var p=10;function copyError(e){var t=Object.keys(e);var r=Object.create(Object.getPrototypeOf(e));t.forEach((function(t){r[t]=e[t]}));Object.defineProperty(r,\"message\",{value:e.message});return r}function inspectValue(e){return o(e,{compact:false,customInspect:false,depth:1e3,maxArrayLength:Infinity,showHidden:false,breakLength:Infinity,showProxy:false,sorted:true,getters:true})}function createErrDiff(e,t,r){var n=\"\";var o=\"\";var i=0;var a=\"\";var y=false;var g=inspectValue(e);var v=g.split(\"\\n\");var d=inspectValue(t).split(\"\\n\");var b=0;var h=\"\";if(r===\"strictEqual\"&&_typeof(e)===\"object\"&&_typeof(t)===\"object\"&&e!==null&&t!==null){r=\"strictEqualObject\"}if(v.length===1&&d.length===1&&v[0]!==d[0]){var m=v[0].length+d[0].length;if(m<=p){if((_typeof(e)!==\"object\"||e===null)&&(_typeof(t)!==\"object\"||t===null)&&(e!==0||t!==0)){return\"\".concat(l[r],\"\\n\\n\")+\"\".concat(v[0],\" !== \").concat(d[0],\"\\n\")}}else if(r!==\"strictEqualObject\"){var S=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(m<S){while(v[0][b]===d[0][b]){b++}if(b>2){h=\"\\n \".concat(repeat(\" \",b),\"^\");b=0}}}}var E=v[v.length-1];var O=d[d.length-1];while(E===O){if(b++<2){a=\"\\n \".concat(E).concat(a)}else{n=E}v.pop();d.pop();if(v.length===0||d.length===0)break;E=v[v.length-1];O=d[d.length-1]}var w=Math.max(v.length,d.length);if(w===0){var A=g.split(\"\\n\");if(A.length>30){A[26]=\"\".concat(c,\"...\").concat(s);while(A.length>27){A.pop()}}return\"\".concat(l.notIdentical,\"\\n\\n\").concat(A.join(\"\\n\"),\"\\n\")}if(b>3){a=\"\\n\".concat(c,\"...\").concat(s).concat(a);y=true}if(n!==\"\"){a=\"\\n \".concat(n).concat(a);n=\"\"}var j=0;var P=l[r]+\"\\n\".concat(u,\"+ actual\").concat(s,\" \").concat(f,\"- expected\").concat(s);var _=\" \".concat(c,\"...\").concat(s,\" Lines skipped\");for(b=0;b<w;b++){var x=b-i;if(v.length<b+1){if(x>1&&b>2){if(x>4){o+=\"\\n\".concat(c,\"...\").concat(s);y=true}else if(x>3){o+=\"\\n \".concat(d[b-2]);j++}o+=\"\\n \".concat(d[b-1]);j++}i=b;n+=\"\\n\".concat(f,\"-\").concat(s,\" \").concat(d[b]);j++}else if(d.length<b+1){if(x>1&&b>2){if(x>4){o+=\"\\n\".concat(c,\"...\").concat(s);y=true}else if(x>3){o+=\"\\n \".concat(v[b-2]);j++}o+=\"\\n \".concat(v[b-1]);j++}i=b;o+=\"\\n\".concat(u,\"+\").concat(s,\" \").concat(v[b]);j++}else{var k=d[b];var T=v[b];var I=T!==k&&(!endsWith(T,\",\")||T.slice(0,-1)!==k);if(I&&endsWith(k,\",\")&&k.slice(0,-1)===T){I=false;T+=\",\"}if(I){if(x>1&&b>2){if(x>4){o+=\"\\n\".concat(c,\"...\").concat(s);y=true}else if(x>3){o+=\"\\n \".concat(v[b-2]);j++}o+=\"\\n \".concat(v[b-1]);j++}i=b;o+=\"\\n\".concat(u,\"+\").concat(s,\" \").concat(T);n+=\"\\n\".concat(f,\"-\").concat(s,\" \").concat(k);j+=2}else{o+=n;n=\"\";if(x===1||b===0){o+=\"\\n \".concat(T);j++}}}if(j>20&&b<w-2){return\"\".concat(P).concat(_,\"\\n\").concat(o,\"\\n\").concat(c,\"...\").concat(s).concat(n,\"\\n\")+\"\".concat(c,\"...\").concat(s)}}return\"\".concat(P).concat(y?_:\"\",\"\\n\").concat(o).concat(n).concat(a).concat(h)}var y=function(e){_inherits(AssertionError,e);function AssertionError(e){var t;_classCallCheck(this,AssertionError);if(_typeof(e)!==\"object\"||e===null){throw new a(\"options\",\"Object\",e)}var r=e.message,n=e.operator,o=e.stackStartFn;var i=e.actual,p=e.expected;var y=Error.stackTraceLimit;Error.stackTraceLimit=0;if(r!=null){t=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,String(r)))}else{if(process.stderr&&process.stderr.isTTY){if(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1){c=\"\u001b[34m\";u=\"\u001b[32m\";s=\"\u001b[39m\";f=\"\u001b[31m\"}else{c=\"\";u=\"\";s=\"\";f=\"\"}}if(_typeof(i)===\"object\"&&i!==null&&_typeof(p)===\"object\"&&p!==null&&\"stack\"in i&&i instanceof Error&&\"stack\"in p&&p instanceof Error){i=copyError(i);p=copyError(p)}if(n===\"deepStrictEqual\"||n===\"strictEqual\"){t=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,createErrDiff(i,p,n)))}else if(n===\"notDeepStrictEqual\"||n===\"notStrictEqual\"){var g=l[n];var v=inspectValue(i).split(\"\\n\");if(n===\"notStrictEqual\"&&_typeof(i)===\"object\"&&i!==null){g=l.notStrictEqualObject}if(v.length>30){v[26]=\"\".concat(c,\"...\").concat(s);while(v.length>27){v.pop()}}if(v.length===1){t=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,\"\".concat(g,\" \").concat(v[0])))}else{t=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,\"\".concat(g,\"\\n\\n\").concat(v.join(\"\\n\"),\"\\n\")))}}else{var d=inspectValue(i);var b=\"\";var h=l[n];if(n===\"notDeepEqual\"||n===\"notEqual\"){d=\"\".concat(l[n],\"\\n\\n\").concat(d);if(d.length>1024){d=\"\".concat(d.slice(0,1021),\"...\")}}else{b=\"\".concat(inspectValue(p));if(d.length>512){d=\"\".concat(d.slice(0,509),\"...\")}if(b.length>512){b=\"\".concat(b.slice(0,509),\"...\")}if(n===\"deepEqual\"||n===\"equal\"){d=\"\".concat(h,\"\\n\\n\").concat(d,\"\\n\\nshould equal\\n\\n\")}else{b=\" \".concat(n,\" \").concat(b)}}t=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,\"\".concat(d).concat(b)))}}Error.stackTraceLimit=y;t.generatedMessage=!r;Object.defineProperty(_assertThisInitialized(t),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:false,writable:true,configurable:true});t.code=\"ERR_ASSERTION\";t.actual=i;t.expected=p;t.operator=n;if(Error.captureStackTrace){Error.captureStackTrace(_assertThisInitialized(t),o)}t.stack;t.name=\"AssertionError\";return _possibleConstructorReturn(t)}_createClass(AssertionError,[{key:\"toString\",value:function toString(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:o.custom,value:function value(e,t){return o(this,_objectSpread({},t,{customInspect:false,depth:0}))}}]);return AssertionError}(_wrapNativeSuper(Error));e.exports=y},23:function(e,t,r){\"use strict\";function _typeof(e){if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol===\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e}}return _typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}function _possibleConstructorReturn(e,t){if(t&&(_typeof(t)===\"object\"||typeof t===\"function\")){return t}return _assertThisInitialized(e)}function _assertThisInitialized(e){if(e===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}return e}function _getPrototypeOf(e){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(e){return e.__proto__||Object.getPrototypeOf(e)};return _getPrototypeOf(e)}function _inherits(e,t){if(typeof t!==\"function\"&&t!==null){throw new TypeError(\"Super expression must either be null or a function\")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(e,t){e.__proto__=t;return e};return _setPrototypeOf(e,t)}var n={};var o;var i;function createErrorType(e,t,r){if(!r){r=Error}function getMessage(e,r,n){if(typeof t===\"string\"){return t}else{return t(e,r,n)}}var o=function(t){_inherits(NodeError,t);function NodeError(t,r,n){var o;_classCallCheck(this,NodeError);o=_possibleConstructorReturn(this,_getPrototypeOf(NodeError).call(this,getMessage(t,r,n)));o.code=e;return o}return NodeError}(r);n[e]=o}function oneOf(e,t){if(Array.isArray(e)){var r=e.length;e=e.map((function(e){return String(e)}));if(r>2){return\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]}else if(r===2){return\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1])}else{return\"of \".concat(t,\" \").concat(e[0])}}else{return\"of \".concat(t,\" \").concat(String(e))}}function startsWith(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function includes(e,t,r){if(typeof r!==\"number\"){r=0}if(r+t.length>e.length){return false}else{return e.indexOf(t,r)!==-1}}createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);createErrorType(\"ERR_INVALID_ARG_TYPE\",(function(e,t,n){if(o===undefined)o=r(167);o(typeof e===\"string\",\"'name' must be a string\");var i;if(typeof t===\"string\"&&startsWith(t,\"not \")){i=\"must not be\";t=t.replace(/^not /,\"\")}else{i=\"must be\"}var a;if(endsWith(e,\" argument\")){a=\"The \".concat(e,\" \").concat(i,\" \").concat(oneOf(t,\"type\"))}else{var c=includes(e,\".\")?\"property\":\"argument\";a='The \"'.concat(e,'\" ').concat(c,\" \").concat(i,\" \").concat(oneOf(t,\"type\"))}a+=\". Received type \".concat(_typeof(n));return a}),TypeError);createErrorType(\"ERR_INVALID_ARG_VALUE\",(function(e,t){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"is invalid\";if(i===undefined)i=r(177);var o=i.inspect(t);if(o.length>128){o=\"\".concat(o.slice(0,128),\"...\")}return\"The argument '\".concat(e,\"' \").concat(n,\". Received \").concat(o)}),TypeError,RangeError);createErrorType(\"ERR_INVALID_RETURN_VALUE\",(function(e,t,r){var n;if(r&&r.constructor&&r.constructor.name){n=\"instance of \".concat(r.constructor.name)}else{n=\"type \".concat(_typeof(r))}return\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")}),TypeError);createErrorType(\"ERR_MISSING_ARGS\",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}if(o===undefined)o=r(167);o(t.length>0,\"At least one arg needs to be specified\");var i=\"The \";var a=t.length;t=t.map((function(e){return'\"'.concat(e,'\"')}));switch(a){case 1:i+=\"\".concat(t[0],\" argument\");break;case 2:i+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:i+=t.slice(0,a-1).join(\", \");i+=\", and \".concat(t[a-1],\" arguments\");break}return\"\".concat(i,\" must be specified\")}),TypeError);e.exports.codes=n},176:function(e,t,r){\"use strict\";function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}function _iterableToArrayLimit(e,t){var r=[];var n=true;var o=false;var i=undefined;try{for(var a=e[Symbol.iterator](),c;!(n=(c=a.next()).done);n=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){o=true;i=e}finally{try{if(!n&&a[\"return\"]!=null)a[\"return\"]()}finally{if(o)throw i}}return r}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _typeof(e){if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(e){return typeof e}}else{_typeof=function _typeof(e){return e&&typeof Symbol===\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e}}return _typeof(e)}var n=/a/g.flags!==undefined;var o=function arrayFromSet(e){var t=[];e.forEach((function(e){return t.push(e)}));return t};var i=function arrayFromMap(e){var t=[];e.forEach((function(e,r){return t.push([r,e])}));return t};var a=Object.is?Object.is:r(208);var c=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]};var u=Number.isNaN?Number.isNaN:r(718);function uncurryThis(e){return e.call.bind(e)}var f=uncurryThis(Object.prototype.hasOwnProperty);var s=uncurryThis(Object.prototype.propertyIsEnumerable);var l=uncurryThis(Object.prototype.toString);var p=r(177).types,y=p.isAnyArrayBuffer,g=p.isArrayBufferView,v=p.isDate,d=p.isMap,b=p.isRegExp,h=p.isSet,m=p.isNativeError,S=p.isBoxedPrimitive,E=p.isNumberObject,O=p.isStringObject,w=p.isBooleanObject,A=p.isBigIntObject,j=p.isSymbolObject,P=p.isFloat32Array,_=p.isFloat64Array;function isNonIndex(e){if(e.length===0||e.length>10)return true;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return true}return e.length===10&&e>=Math.pow(2,32)}function getOwnNonIndexProperties(e){return Object.keys(e).filter(isNonIndex).concat(c(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */function compare(e,t){if(e===t){return 0}var r=e.length;var n=t.length;for(var o=0,i=Math.min(r,n);o<i;++o){if(e[o]!==t[o]){r=e[o];n=t[o];break}}if(r<n){return-1}if(n<r){return 1}return 0}var x=undefined;var k=true;var T=false;var I=0;var N=1;var F=2;var R=3;function areSimilarRegExps(e,t){return n?e.source===t.source&&e.flags===t.flags:RegExp.prototype.toString.call(e)===RegExp.prototype.toString.call(t)}function areSimilarFloatArrays(e,t){if(e.byteLength!==t.byteLength){return false}for(var r=0;r<e.byteLength;r++){if(e[r]!==t[r]){return false}}return true}function areSimilarTypedArrays(e,t){if(e.byteLength!==t.byteLength){return false}return compare(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))===0}function areEqualArrayBuffers(e,t){return e.byteLength===t.byteLength&&compare(new Uint8Array(e),new Uint8Array(t))===0}function isEqualBoxedPrimitive(e,t){if(E(e)){return E(t)&&a(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t))}if(O(e)){return O(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t)}if(w(e)){return w(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t)}if(A(e)){return A(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t)}return j(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}function innerDeepEqual(e,t,r,n){if(e===t){if(e!==0)return true;return r?a(e,t):true}if(r){if(_typeof(e)!==\"object\"){return typeof e===\"number\"&&u(e)&&u(t)}if(_typeof(t)!==\"object\"||e===null||t===null){return false}if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)){return false}}else{if(e===null||_typeof(e)!==\"object\"){if(t===null||_typeof(t)!==\"object\"){return e==t}return false}if(t===null||_typeof(t)!==\"object\"){return false}}var o=l(e);var i=l(t);if(o!==i){return false}if(Array.isArray(e)){if(e.length!==t.length){return false}var c=getOwnNonIndexProperties(e,x);var f=getOwnNonIndexProperties(t,x);if(c.length!==f.length){return false}return keyCheck(e,t,r,n,N,c)}if(o===\"[object Object]\"){if(!d(e)&&d(t)||!h(e)&&h(t)){return false}}if(v(e)){if(!v(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t)){return false}}else if(b(e)){if(!b(t)||!areSimilarRegExps(e,t)){return false}}else if(m(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name){return false}}else if(g(e)){if(!r&&(P(e)||_(e))){if(!areSimilarFloatArrays(e,t)){return false}}else if(!areSimilarTypedArrays(e,t)){return false}var s=getOwnNonIndexProperties(e,x);var p=getOwnNonIndexProperties(t,x);if(s.length!==p.length){return false}return keyCheck(e,t,r,n,I,s)}else if(h(e)){if(!h(t)||e.size!==t.size){return false}return keyCheck(e,t,r,n,F)}else if(d(e)){if(!d(t)||e.size!==t.size){return false}return keyCheck(e,t,r,n,R)}else if(y(e)){if(!areEqualArrayBuffers(e,t)){return false}}else if(S(e)&&!isEqualBoxedPrimitive(e,t)){return false}return keyCheck(e,t,r,n,I)}function getEnumerables(e,t){return t.filter((function(t){return s(e,t)}))}function keyCheck(e,t,r,n,o,i){if(arguments.length===5){i=Object.keys(e);var a=Object.keys(t);if(i.length!==a.length){return false}}var u=0;for(;u<i.length;u++){if(!f(t,i[u])){return false}}if(r&&arguments.length===5){var l=c(e);if(l.length!==0){var p=0;for(u=0;u<l.length;u++){var y=l[u];if(s(e,y)){if(!s(t,y)){return false}i.push(y);p++}else if(s(t,y)){return false}}var g=c(t);if(l.length!==g.length&&getEnumerables(t,g).length!==p){return false}}else{var v=c(t);if(v.length!==0&&getEnumerables(t,v).length!==0){return false}}}if(i.length===0&&(o===I||o===N&&e.length===0||e.size===0)){return true}if(n===undefined){n={val1:new Map,val2:new Map,position:0}}else{var d=n.val1.get(e);if(d!==undefined){var b=n.val2.get(t);if(b!==undefined){return d===b}}n.position++}n.val1.set(e,n.position);n.val2.set(t,n.position);var h=objEquiv(e,t,r,i,n,o);n.val1.delete(e);n.val2.delete(t);return h}function setHasEqualElement(e,t,r,n){var i=o(e);for(var a=0;a<i.length;a++){var c=i[a];if(innerDeepEqual(t,c,r,n)){e.delete(c);return true}}return false}function findLooseMatchingPrimitives(e){switch(_typeof(e)){case\"undefined\":return null;case\"object\":return undefined;case\"symbol\":return false;case\"string\":e=+e;case\"number\":if(u(e)){return false}}return true}function setMightHaveLoosePrim(e,t,r){var n=findLooseMatchingPrimitives(r);if(n!=null)return n;return t.has(n)&&!e.has(n)}function mapMightHaveLoosePrim(e,t,r,n,o){var i=findLooseMatchingPrimitives(r);if(i!=null){return i}var a=t.get(i);if(a===undefined&&!t.has(i)||!innerDeepEqual(n,a,false,o)){return false}return!e.has(i)&&innerDeepEqual(n,a,false,o)}function setEquiv(e,t,r,n){var i=null;var a=o(e);for(var c=0;c<a.length;c++){var u=a[c];if(_typeof(u)===\"object\"&&u!==null){if(i===null){i=new Set}i.add(u)}else if(!t.has(u)){if(r)return false;if(!setMightHaveLoosePrim(e,t,u)){return false}if(i===null){i=new Set}i.add(u)}}if(i!==null){var f=o(t);for(var s=0;s<f.length;s++){var l=f[s];if(_typeof(l)===\"object\"&&l!==null){if(!setHasEqualElement(i,l,r,n))return false}else if(!r&&!e.has(l)&&!setHasEqualElement(i,l,r,n)){return false}}return i.size===0}return true}function mapHasEqualEntry(e,t,r,n,i,a){var c=o(e);for(var u=0;u<c.length;u++){var f=c[u];if(innerDeepEqual(r,f,i,a)&&innerDeepEqual(n,t.get(f),i,a)){e.delete(f);return true}}return false}function mapEquiv(e,t,r,n){var o=null;var a=i(e);for(var c=0;c<a.length;c++){var u=_slicedToArray(a[c],2),f=u[0],s=u[1];if(_typeof(f)===\"object\"&&f!==null){if(o===null){o=new Set}o.add(f)}else{var l=t.get(f);if(l===undefined&&!t.has(f)||!innerDeepEqual(s,l,r,n)){if(r)return false;if(!mapMightHaveLoosePrim(e,t,f,s,n))return false;if(o===null){o=new Set}o.add(f)}}}if(o!==null){var p=i(t);for(var y=0;y<p.length;y++){var g=_slicedToArray(p[y],2),f=g[0],v=g[1];if(_typeof(f)===\"object\"&&f!==null){if(!mapHasEqualEntry(o,e,f,v,r,n))return false}else if(!r&&(!e.has(f)||!innerDeepEqual(e.get(f),v,false,n))&&!mapHasEqualEntry(o,e,f,v,false,n)){return false}}return o.size===0}return true}function objEquiv(e,t,r,n,o,i){var a=0;if(i===F){if(!setEquiv(e,t,r,o)){return false}}else if(i===R){if(!mapEquiv(e,t,r,o)){return false}}else if(i===N){for(;a<e.length;a++){if(f(e,a)){if(!f(t,a)||!innerDeepEqual(e[a],t[a],r,o)){return false}}else if(f(t,a)){return false}else{var c=Object.keys(e);for(;a<c.length;a++){var u=c[a];if(!f(t,u)||!innerDeepEqual(e[u],t[u],r,o)){return false}}if(c.length!==Object.keys(t).length){return false}return true}}}for(a=0;a<n.length;a++){var s=n[a];if(!innerDeepEqual(e[s],t[s],r,o)){return false}}return true}function isDeepEqual(e,t){return innerDeepEqual(e,t,T)}function isDeepStrictEqual(e,t){return innerDeepEqual(e,t,k)}e.exports={isDeepEqual:isDeepEqual,isDeepStrictEqual:isDeepStrictEqual}},256:function(e,t,r){\"use strict\";var n=r(500);var o=r(139);var i=o(n(\"String.prototype.indexOf\"));e.exports=function callBoundIntrinsic(e,t){var r=n(e,!!t);if(typeof r===\"function\"&&i(e,\".prototype.\")>-1){return o(r)}return r}},139:function(e,t,r){\"use strict\";var n=r(174);var o=r(500);var i=o(\"%Function.prototype.apply%\");var a=o(\"%Function.prototype.call%\");var c=o(\"%Reflect.apply%\",true)||n.call(a,i);var u=o(\"%Object.getOwnPropertyDescriptor%\",true);var f=o(\"%Object.defineProperty%\",true);var s=o(\"%Math.max%\");if(f){try{f({},\"a\",{value:1})}catch(e){f=null}}e.exports=function callBind(e){var t=c(n,a,arguments);if(u&&f){var r=u(t,\"length\");if(r.configurable){f(t,\"length\",{value:1+s(0,e.length-(arguments.length-1))})}}return t};var l=function applyBind(){return c(n,i,arguments)};if(f){f(e.exports,\"apply\",{value:l})}else{e.exports.apply=l}},69:function(e,t,r){\"use strict\";var n=r(935);var o=typeof Symbol===\"function\"&&typeof Symbol(\"foo\")===\"symbol\";var i=Object.prototype.toString;var a=Array.prototype.concat;var c=Object.defineProperty;var isFunction=function(e){return typeof e===\"function\"&&i.call(e)===\"[object Function]\"};var arePropertyDescriptorsSupported=function(){var e={};try{c(e,\"x\",{enumerable:false,value:e});for(var t in e){return false}return e.x===e}catch(e){return false}};var u=c&&arePropertyDescriptorsSupported();var defineProperty=function(e,t,r,n){if(t in e&&(!isFunction(n)||!n())){return}if(u){c(e,t,{configurable:true,enumerable:false,value:r,writable:true})}else{e[t]=r}};var defineProperties=function(e,t){var r=arguments.length>2?arguments[2]:{};var i=n(t);if(o){i=a.call(i,Object.getOwnPropertySymbols(t))}for(var c=0;c<i.length;c+=1){defineProperty(e,i[c],t[i[c]],r[i[c]])}};defineProperties.supportsDescriptors=!!u;e.exports=defineProperties},604:function(e){\"use strict\";function assign(e,t){if(e===undefined||e===null){throw new TypeError(\"Cannot convert first argument to object\")}var r=Object(e);for(var n=1;n<arguments.length;n++){var o=arguments[n];if(o===undefined||o===null){continue}var i=Object.keys(Object(o));for(var a=0,c=i.length;a<c;a++){var u=i[a];var f=Object.getOwnPropertyDescriptor(o,u);if(f!==undefined&&f.enumerable){r[u]=o[u]}}}return r}function polyfill(){if(!Object.assign){Object.defineProperty(Object,\"assign\",{enumerable:false,configurable:true,writable:true,value:assign})}}e.exports={assign:assign,polyfill:polyfill}},144:function(e){var t=Object.prototype.hasOwnProperty;var r=Object.prototype.toString;e.exports=function forEach(e,n,o){if(r.call(n)!==\"[object Function]\"){throw new TypeError(\"iterator must be a function\")}var i=e.length;if(i===+i){for(var a=0;a<i;a++){n.call(o,e[a],a,e)}}else{for(var c in e){if(t.call(e,c)){n.call(o,e[c],c,e)}}}}},426:function(e){\"use strict\";var t=\"Function.prototype.bind called on incompatible \";var r=Array.prototype.slice;var n=Object.prototype.toString;var o=\"[object Function]\";e.exports=function bind(e){var i=this;if(typeof i!==\"function\"||n.call(i)!==o){throw new TypeError(t+i)}var a=r.call(arguments,1);var c;var binder=function(){if(this instanceof c){var t=i.apply(this,a.concat(r.call(arguments)));if(Object(t)===t){return t}return this}else{return i.apply(e,a.concat(r.call(arguments)))}};var u=Math.max(0,i.length-a.length);var f=[];for(var s=0;s<u;s++){f.push(\"$\"+s)}c=Function(\"binder\",\"return function (\"+f.join(\",\")+\"){ return binder.apply(this,arguments); }\")(binder);if(i.prototype){var l=function Empty(){};l.prototype=i.prototype;c.prototype=new l;l.prototype=null}return c}},174:function(e,t,r){\"use strict\";var n=r(426);e.exports=Function.prototype.bind||n},500:function(e,t,r){\"use strict\";var n;var o=SyntaxError;var i=Function;var a=TypeError;var getEvalledConstructor=function(e){try{return i('\"use strict\"; return ('+e+\").constructor;\")()}catch(e){}};var c=Object.getOwnPropertyDescriptor;if(c){try{c({},\"\")}catch(e){c=null}}var throwTypeError=function(){throw new a};var u=c?function(){try{arguments.callee;return throwTypeError}catch(e){try{return c(arguments,\"callee\").get}catch(e){return throwTypeError}}}():throwTypeError;var f=r(115)();var s=Object.getPrototypeOf||function(e){return e.__proto__};var l={};var p=typeof Uint8Array===\"undefined\"?n:s(Uint8Array);var y={\"%AggregateError%\":typeof AggregateError===\"undefined\"?n:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer===\"undefined\"?n:ArrayBuffer,\"%ArrayIteratorPrototype%\":f?s([][Symbol.iterator]()):n,\"%AsyncFromSyncIteratorPrototype%\":n,\"%AsyncFunction%\":l,\"%AsyncGenerator%\":l,\"%AsyncGeneratorFunction%\":l,\"%AsyncIteratorPrototype%\":l,\"%Atomics%\":typeof Atomics===\"undefined\"?n:Atomics,\"%BigInt%\":typeof BigInt===\"undefined\"?n:BigInt,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView===\"undefined\"?n:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":Error,\"%eval%\":eval,\"%EvalError%\":EvalError,\"%Float32Array%\":typeof Float32Array===\"undefined\"?n:Float32Array,\"%Float64Array%\":typeof Float64Array===\"undefined\"?n:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry===\"undefined\"?n:FinalizationRegistry,\"%Function%\":i,\"%GeneratorFunction%\":l,\"%Int8Array%\":typeof Int8Array===\"undefined\"?n:Int8Array,\"%Int16Array%\":typeof Int16Array===\"undefined\"?n:Int16Array,\"%Int32Array%\":typeof Int32Array===\"undefined\"?n:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":f?s(s([][Symbol.iterator]())):n,\"%JSON%\":typeof JSON===\"object\"?JSON:n,\"%Map%\":typeof Map===\"undefined\"?n:Map,\"%MapIteratorPrototype%\":typeof Map===\"undefined\"||!f?n:s((new Map)[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise===\"undefined\"?n:Promise,\"%Proxy%\":typeof Proxy===\"undefined\"?n:Proxy,\"%RangeError%\":RangeError,\"%ReferenceError%\":ReferenceError,\"%Reflect%\":typeof Reflect===\"undefined\"?n:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set===\"undefined\"?n:Set,\"%SetIteratorPrototype%\":typeof Set===\"undefined\"||!f?n:s((new Set)[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer===\"undefined\"?n:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":f?s(\"\"[Symbol.iterator]()):n,\"%Symbol%\":f?Symbol:n,\"%SyntaxError%\":o,\"%ThrowTypeError%\":u,\"%TypedArray%\":p,\"%TypeError%\":a,\"%Uint8Array%\":typeof Uint8Array===\"undefined\"?n:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray===\"undefined\"?n:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array===\"undefined\"?n:Uint16Array,\"%Uint32Array%\":typeof Uint32Array===\"undefined\"?n:Uint32Array,\"%URIError%\":URIError,\"%WeakMap%\":typeof WeakMap===\"undefined\"?n:WeakMap,\"%WeakRef%\":typeof WeakRef===\"undefined\"?n:WeakRef,\"%WeakSet%\":typeof WeakSet===\"undefined\"?n:WeakSet};var g=function doEval(e){var t;if(e===\"%AsyncFunction%\"){t=getEvalledConstructor(\"async function () {}\")}else if(e===\"%GeneratorFunction%\"){t=getEvalledConstructor(\"function* () {}\")}else if(e===\"%AsyncGeneratorFunction%\"){t=getEvalledConstructor(\"async function* () {}\")}else if(e===\"%AsyncGenerator%\"){var r=doEval(\"%AsyncGeneratorFunction%\");if(r){t=r.prototype}}else if(e===\"%AsyncIteratorPrototype%\"){var n=doEval(\"%AsyncGenerator%\");if(n){t=s(n.prototype)}}y[e]=t;return t};var v={\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]};var d=r(174);var b=r(101);var h=d.call(Function.call,Array.prototype.concat);var m=d.call(Function.apply,Array.prototype.splice);var S=d.call(Function.call,String.prototype.replace);var E=d.call(Function.call,String.prototype.slice);var O=d.call(Function.call,RegExp.prototype.exec);var w=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;var A=/\\\\(\\\\)?/g;var j=function stringToPath(e){var t=E(e,0,1);var r=E(e,-1);if(t===\"%\"&&r!==\"%\"){throw new o(\"invalid intrinsic syntax, expected closing `%`\")}else if(r===\"%\"&&t!==\"%\"){throw new o(\"invalid intrinsic syntax, expected opening `%`\")}var n=[];S(e,w,(function(e,t,r,o){n[n.length]=r?S(o,A,\"$1\"):t||e}));return n};var P=function getBaseIntrinsic(e,t){var r=e;var n;if(b(v,r)){n=v[r];r=\"%\"+n[0]+\"%\"}if(b(y,r)){var i=y[r];if(i===l){i=g(r)}if(typeof i===\"undefined\"&&!t){throw new a(\"intrinsic \"+e+\" exists, but is not available. Please file an issue!\")}return{alias:n,name:r,value:i}}throw new o(\"intrinsic \"+e+\" does not exist!\")};e.exports=function GetIntrinsic(e,t){if(typeof e!==\"string\"||e.length===0){throw new a(\"intrinsic name must be a non-empty string\")}if(arguments.length>1&&typeof t!==\"boolean\"){throw new a('\"allowMissing\" argument must be a boolean')}if(O(/^%?[^%]*%?$/g,e)===null){throw new o(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\")}var r=j(e);var i=r.length>0?r[0]:\"\";var u=P(\"%\"+i+\"%\",t);var f=u.name;var s=u.value;var l=false;var p=u.alias;if(p){i=p[0];m(r,h([0,1],p))}for(var g=1,v=true;g<r.length;g+=1){var d=r[g];var S=E(d,0,1);var w=E(d,-1);if((S==='\"'||S===\"'\"||S===\"`\"||(w==='\"'||w===\"'\"||w===\"`\"))&&S!==w){throw new o(\"property names with quotes must have matching quotes\")}if(d===\"constructor\"||!v){l=true}i+=\".\"+d;f=\"%\"+i+\"%\";if(b(y,f)){s=y[f]}else if(s!=null){if(!(d in s)){if(!t){throw new a(\"base intrinsic for \"+e+\" exists, but the property is not available.\")}return void n}if(c&&g+1>=r.length){var A=c(s,d);v=!!A;if(v&&\"get\"in A&&!(\"originalValue\"in A.get)){s=A.get}else{s=s[d]}}else{v=b(s,d);s=s[d]}if(v&&!l){y[f]=s}}}return s}},942:function(e,t,r){\"use strict\";var n=typeof Symbol!==\"undefined\"&&Symbol;var o=r(773);e.exports=function hasNativeSymbols(){if(typeof n!==\"function\"){return false}if(typeof Symbol!==\"function\"){return false}if(typeof n(\"foo\")!==\"symbol\"){return false}if(typeof Symbol(\"bar\")!==\"symbol\"){return false}return o()}},773:function(e){\"use strict\";e.exports=function hasSymbols(){if(typeof Symbol!==\"function\"||typeof Object.getOwnPropertySymbols!==\"function\"){return false}if(typeof Symbol.iterator===\"symbol\"){return true}var e={};var t=Symbol(\"test\");var r=Object(t);if(typeof t===\"string\"){return false}if(Object.prototype.toString.call(t)!==\"[object Symbol]\"){return false}if(Object.prototype.toString.call(r)!==\"[object Symbol]\"){return false}var n=42;e[t]=n;for(t in e){return false}if(typeof Object.keys===\"function\"&&Object.keys(e).length!==0){return false}if(typeof Object.getOwnPropertyNames===\"function\"&&Object.getOwnPropertyNames(e).length!==0){return false}var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==t){return false}if(!Object.prototype.propertyIsEnumerable.call(e,t)){return false}if(typeof Object.getOwnPropertyDescriptor===\"function\"){var i=Object.getOwnPropertyDescriptor(e,t);if(i.value!==n||i.enumerable!==true){return false}}return true}},115:function(e,t,r){\"use strict\";var n=typeof Symbol!==\"undefined\"&&Symbol;var o=r(832);e.exports=function hasNativeSymbols(){if(typeof n!==\"function\"){return false}if(typeof Symbol!==\"function\"){return false}if(typeof n(\"foo\")!==\"symbol\"){return false}if(typeof Symbol(\"bar\")!==\"symbol\"){return false}return o()}},832:function(e){\"use strict\";e.exports=function hasSymbols(){if(typeof Symbol!==\"function\"||typeof Object.getOwnPropertySymbols!==\"function\"){return false}if(typeof Symbol.iterator===\"symbol\"){return true}var e={};var t=Symbol(\"test\");var r=Object(t);if(typeof t===\"string\"){return false}if(Object.prototype.toString.call(t)!==\"[object Symbol]\"){return false}if(Object.prototype.toString.call(r)!==\"[object Symbol]\"){return false}var n=42;e[t]=n;for(t in e){return false}if(typeof Object.keys===\"function\"&&Object.keys(e).length!==0){return false}if(typeof Object.getOwnPropertyNames===\"function\"&&Object.getOwnPropertyNames(e).length!==0){return false}var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==t){return false}if(!Object.prototype.propertyIsEnumerable.call(e,t)){return false}if(typeof Object.getOwnPropertyDescriptor===\"function\"){var i=Object.getOwnPropertyDescriptor(e,t);if(i.value!==n||i.enumerable!==true){return false}}return true}},101:function(e,t,r){\"use strict\";var n=r(174);e.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},782:function(e){if(typeof Object.create===\"function\"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},157:function(e){\"use strict\";var t=typeof Symbol===\"function\"&&typeof Symbol.toStringTag===\"symbol\";var r=Object.prototype.toString;var n=function isArguments(e){if(t&&e&&typeof e===\"object\"&&Symbol.toStringTag in e){return false}return r.call(e)===\"[object Arguments]\"};var o=function isArguments(e){if(n(e)){return true}return e!==null&&typeof e===\"object\"&&typeof e.length===\"number\"&&e.length>=0&&r.call(e)!==\"[object Array]\"&&r.call(e.callee)===\"[object Function]\"};var i=function(){return n(arguments)}();n.isLegacyArguments=o;e.exports=i?n:o},391:function(e){\"use strict\";var t=Object.prototype.toString;var r=Function.prototype.toString;var n=/^\\s*(?:function)?\\*/;var o=typeof Symbol===\"function\"&&typeof Symbol.toStringTag===\"symbol\";var i=Object.getPrototypeOf;var getGeneratorFunc=function(){if(!o){return false}try{return Function(\"return function*() {}\")()}catch(e){}};var a=getGeneratorFunc();var c=a?i(a):{};e.exports=function isGeneratorFunction(e){if(typeof e!==\"function\"){return false}if(n.test(r.call(e))){return true}if(!o){var a=t.call(e);return a===\"[object GeneratorFunction]\"}return i(e)===c}},460:function(e){\"use strict\";e.exports=function isNaN(e){return e!==e}},718:function(e,t,r){\"use strict\";var n=r(139);var o=r(69);var i=r(460);var a=r(625);var c=r(171);var u=n(a(),Number);o(u,{getPolyfill:a,implementation:i,shim:c});e.exports=u},625:function(e,t,r){\"use strict\";var n=r(460);e.exports=function getPolyfill(){if(Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")){return Number.isNaN}return n}},171:function(e,t,r){\"use strict\";var n=r(69);var o=r(625);e.exports=function shimNumberIsNaN(){var e=o();n(Number,{isNaN:e},{isNaN:function testIsNaN(){return Number.isNaN!==e}});return e}},994:function(e,t,r){\"use strict\";var n=r(144);var o=r(349);var i=r(256);var a=i(\"Object.prototype.toString\");var c=r(942)();var u=c&&typeof Symbol.toStringTag===\"symbol\";var f=o();var s=i(\"Array.prototype.indexOf\",true)||function indexOf(e,t){for(var r=0;r<e.length;r+=1){if(e[r]===t){return r}}return-1};var l=i(\"String.prototype.slice\");var p={};var y=r(466);var g=Object.getPrototypeOf;if(u&&y&&g){n(f,(function(e){var t=new __webpack_require__.g[e];if(!(Symbol.toStringTag in t)){throw new EvalError(\"this engine has support for Symbol.toStringTag, but \"+e+\" does not have the property! Please report this.\")}var r=g(t);var n=y(r,Symbol.toStringTag);if(!n){var o=g(r);n=y(o,Symbol.toStringTag)}p[e]=n.get}))}var v=function tryAllTypedArrays(e){var t=false;n(p,(function(r,n){if(!t){try{t=r.call(e)===n}catch(e){}}}));return t};e.exports=function isTypedArray(e){if(!e||typeof e!==\"object\"){return false}if(!u){var t=l(a(e),8,-1);return s(f,t)>-1}if(!y){return false}return v(e)}},208:function(e){\"use strict\";var numberIsNaN=function(e){return e!==e};e.exports=function is(e,t){if(e===0&&t===0){return 1/e===1/t}if(e===t){return true}if(numberIsNaN(e)&&numberIsNaN(t)){return true}return false}},579:function(e,t,r){\"use strict\";var n;if(!Object.keys){var o=Object.prototype.hasOwnProperty;var i=Object.prototype.toString;var a=r(412);var c=Object.prototype.propertyIsEnumerable;var u=!c.call({toString:null},\"toString\");var f=c.call((function(){}),\"prototype\");var s=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"];var equalsConstructorPrototype=function(e){var t=e.constructor;return t&&t.prototype===e};var l={$applicationCache:true,$console:true,$external:true,$frame:true,$frameElement:true,$frames:true,$innerHeight:true,$innerWidth:true,$onmozfullscreenchange:true,$onmozfullscreenerror:true,$outerHeight:true,$outerWidth:true,$pageXOffset:true,$pageYOffset:true,$parent:true,$scrollLeft:true,$scrollTop:true,$scrollX:true,$scrollY:true,$self:true,$webkitIndexedDB:true,$webkitStorageInfo:true,$window:true};var p=function(){if(typeof window===\"undefined\"){return false}for(var e in window){try{if(!l[\"$\"+e]&&o.call(window,e)&&window[e]!==null&&typeof window[e]===\"object\"){try{equalsConstructorPrototype(window[e])}catch(e){return true}}}catch(e){return true}}return false}();var equalsConstructorPrototypeIfNotBuggy=function(e){if(typeof window===\"undefined\"||!p){return equalsConstructorPrototype(e)}try{return equalsConstructorPrototype(e)}catch(e){return false}};n=function keys(e){var t=e!==null&&typeof e===\"object\";var r=i.call(e)===\"[object Function]\";var n=a(e);var c=t&&i.call(e)===\"[object String]\";var l=[];if(!t&&!r&&!n){throw new TypeError(\"Object.keys called on a non-object\")}var p=f&&r;if(c&&e.length>0&&!o.call(e,0)){for(var y=0;y<e.length;++y){l.push(String(y))}}if(n&&e.length>0){for(var g=0;g<e.length;++g){l.push(String(g))}}else{for(var v in e){if(!(p&&v===\"prototype\")&&o.call(e,v)){l.push(String(v))}}}if(u){var d=equalsConstructorPrototypeIfNotBuggy(e);for(var b=0;b<s.length;++b){if(!(d&&s[b]===\"constructor\")&&o.call(e,s[b])){l.push(s[b])}}}return l}}e.exports=n},935:function(e,t,r){\"use strict\";var n=Array.prototype.slice;var o=r(412);var i=Object.keys;var a=i?function keys(e){return i(e)}:r(579);var c=Object.keys;a.shim=function shimObjectKeys(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);if(!e){Object.keys=function keys(e){if(o(e)){return c(n.call(e))}return c(e)}}}else{Object.keys=a}return Object.keys||a};e.exports=a},412:function(e){\"use strict\";var t=Object.prototype.toString;e.exports=function isArguments(e){var r=t.call(e);var n=r===\"[object Arguments]\";if(!n){n=r!==\"[object Array]\"&&e!==null&&typeof e===\"object\"&&typeof e.length===\"number\"&&e.length>=0&&t.call(e.callee)===\"[object Function]\"}return n}},369:function(e){e.exports=function isBuffer(e){return e instanceof Buffer}},584:function(e,t,r){\"use strict\";var n=r(157);var o=r(391);var i=r(490);var a=r(994);function uncurryThis(e){return e.call.bind(e)}var c=typeof BigInt!==\"undefined\";var u=typeof Symbol!==\"undefined\";var f=uncurryThis(Object.prototype.toString);var s=uncurryThis(Number.prototype.valueOf);var l=uncurryThis(String.prototype.valueOf);var p=uncurryThis(Boolean.prototype.valueOf);if(c){var y=uncurryThis(BigInt.prototype.valueOf)}if(u){var g=uncurryThis(Symbol.prototype.valueOf)}function checkBoxedPrimitive(e,t){if(typeof e!==\"object\"){return false}try{t(e);return true}catch(e){return false}}t.isArgumentsObject=n;t.isGeneratorFunction=o;t.isTypedArray=a;function isPromise(e){return typeof Promise!==\"undefined\"&&e instanceof Promise||e!==null&&typeof e===\"object\"&&typeof e.then===\"function\"&&typeof e.catch===\"function\"}t.isPromise=isPromise;function isArrayBufferView(e){if(typeof ArrayBuffer!==\"undefined\"&&ArrayBuffer.isView){return ArrayBuffer.isView(e)}return a(e)||isDataView(e)}t.isArrayBufferView=isArrayBufferView;function isUint8Array(e){return i(e)===\"Uint8Array\"}t.isUint8Array=isUint8Array;function isUint8ClampedArray(e){return i(e)===\"Uint8ClampedArray\"}t.isUint8ClampedArray=isUint8ClampedArray;function isUint16Array(e){return i(e)===\"Uint16Array\"}t.isUint16Array=isUint16Array;function isUint32Array(e){return i(e)===\"Uint32Array\"}t.isUint32Array=isUint32Array;function isInt8Array(e){return i(e)===\"Int8Array\"}t.isInt8Array=isInt8Array;function isInt16Array(e){return i(e)===\"Int16Array\"}t.isInt16Array=isInt16Array;function isInt32Array(e){return i(e)===\"Int32Array\"}t.isInt32Array=isInt32Array;function isFloat32Array(e){return i(e)===\"Float32Array\"}t.isFloat32Array=isFloat32Array;function isFloat64Array(e){return i(e)===\"Float64Array\"}t.isFloat64Array=isFloat64Array;function isBigInt64Array(e){return i(e)===\"BigInt64Array\"}t.isBigInt64Array=isBigInt64Array;function isBigUint64Array(e){return i(e)===\"BigUint64Array\"}t.isBigUint64Array=isBigUint64Array;function isMapToString(e){return f(e)===\"[object Map]\"}isMapToString.working=typeof Map!==\"undefined\"&&isMapToString(new Map);function isMap(e){if(typeof Map===\"undefined\"){return false}return isMapToString.working?isMapToString(e):e instanceof Map}t.isMap=isMap;function isSetToString(e){return f(e)===\"[object Set]\"}isSetToString.working=typeof Set!==\"undefined\"&&isSetToString(new Set);function isSet(e){if(typeof Set===\"undefined\"){return false}return isSetToString.working?isSetToString(e):e instanceof Set}t.isSet=isSet;function isWeakMapToString(e){return f(e)===\"[object WeakMap]\"}isWeakMapToString.working=typeof WeakMap!==\"undefined\"&&isWeakMapToString(new WeakMap);function isWeakMap(e){if(typeof WeakMap===\"undefined\"){return false}return isWeakMapToString.working?isWeakMapToString(e):e instanceof WeakMap}t.isWeakMap=isWeakMap;function isWeakSetToString(e){return f(e)===\"[object WeakSet]\"}isWeakSetToString.working=typeof WeakSet!==\"undefined\"&&isWeakSetToString(new WeakSet);function isWeakSet(e){return isWeakSetToString(e)}t.isWeakSet=isWeakSet;function isArrayBufferToString(e){return f(e)===\"[object ArrayBuffer]\"}isArrayBufferToString.working=typeof ArrayBuffer!==\"undefined\"&&isArrayBufferToString(new ArrayBuffer);function isArrayBuffer(e){if(typeof ArrayBuffer===\"undefined\"){return false}return isArrayBufferToString.working?isArrayBufferToString(e):e instanceof ArrayBuffer}t.isArrayBuffer=isArrayBuffer;function isDataViewToString(e){return f(e)===\"[object DataView]\"}isDataViewToString.working=typeof ArrayBuffer!==\"undefined\"&&typeof DataView!==\"undefined\"&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1));function isDataView(e){if(typeof DataView===\"undefined\"){return false}return isDataViewToString.working?isDataViewToString(e):e instanceof DataView}t.isDataView=isDataView;var v=typeof SharedArrayBuffer!==\"undefined\"?SharedArrayBuffer:undefined;function isSharedArrayBufferToString(e){return f(e)===\"[object SharedArrayBuffer]\"}function isSharedArrayBuffer(e){if(typeof v===\"undefined\"){return false}if(typeof isSharedArrayBufferToString.working===\"undefined\"){isSharedArrayBufferToString.working=isSharedArrayBufferToString(new v)}return isSharedArrayBufferToString.working?isSharedArrayBufferToString(e):e instanceof v}t.isSharedArrayBuffer=isSharedArrayBuffer;function isAsyncFunction(e){return f(e)===\"[object AsyncFunction]\"}t.isAsyncFunction=isAsyncFunction;function isMapIterator(e){return f(e)===\"[object Map Iterator]\"}t.isMapIterator=isMapIterator;function isSetIterator(e){return f(e)===\"[object Set Iterator]\"}t.isSetIterator=isSetIterator;function isGeneratorObject(e){return f(e)===\"[object Generator]\"}t.isGeneratorObject=isGeneratorObject;function isWebAssemblyCompiledModule(e){return f(e)===\"[object WebAssembly.Module]\"}t.isWebAssemblyCompiledModule=isWebAssemblyCompiledModule;function isNumberObject(e){return checkBoxedPrimitive(e,s)}t.isNumberObject=isNumberObject;function isStringObject(e){return checkBoxedPrimitive(e,l)}t.isStringObject=isStringObject;function isBooleanObject(e){return checkBoxedPrimitive(e,p)}t.isBooleanObject=isBooleanObject;function isBigIntObject(e){return c&&checkBoxedPrimitive(e,y)}t.isBigIntObject=isBigIntObject;function isSymbolObject(e){return u&&checkBoxedPrimitive(e,g)}t.isSymbolObject=isSymbolObject;function isBoxedPrimitive(e){return isNumberObject(e)||isStringObject(e)||isBooleanObject(e)||isBigIntObject(e)||isSymbolObject(e)}t.isBoxedPrimitive=isBoxedPrimitive;function isAnyArrayBuffer(e){return typeof Uint8Array!==\"undefined\"&&(isArrayBuffer(e)||isSharedArrayBuffer(e))}t.isAnyArrayBuffer=isAnyArrayBuffer;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach((function(e){Object.defineProperty(t,e,{enumerable:false,value:function(){throw new Error(e+\" is not supported in userland\")}})}))},177:function(e,t,r){var n=Object.getOwnPropertyDescriptors||function getOwnPropertyDescriptors(e){var t=Object.keys(e);var r={};for(var n=0;n<t.length;n++){r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n])}return r};var o=/%[sdj%]/g;t.format=function(e){if(!isString(e)){var t=[];for(var r=0;r<arguments.length;r++){t.push(inspect(arguments[r]))}return t.join(\" \")}var r=1;var n=arguments;var i=n.length;var a=String(e).replace(o,(function(e){if(e===\"%%\")return\"%\";if(r>=i)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return\"[Circular]\"}default:return e}}));for(var c=n[r];r<i;c=n[++r]){if(isNull(c)||!isObject(c)){a+=\" \"+c}else{a+=\" \"+inspect(c)}}return a};t.deprecate=function(e,r){if(typeof process!==\"undefined\"&&process.noDeprecation===true){return e}if(typeof process===\"undefined\"){return function(){return t.deprecate(e,r).apply(this,arguments)}}var n=false;function deprecated(){if(!n){if(process.throwDeprecation){throw new Error(r)}else if(process.traceDeprecation){console.trace(r)}else{console.error(r)}n=true}return e.apply(this,arguments)}return deprecated};var i={};var a=/^$/;if(process.env.NODE_DEBUG){var c=process.env.NODE_DEBUG;c=c.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase();a=new RegExp(\"^\"+c+\"$\",\"i\")}t.debuglog=function(e){e=e.toUpperCase();if(!i[e]){if(a.test(e)){var r=process.pid;i[e]=function(){var n=t.format.apply(t,arguments);console.error(\"%s %d: %s\",e,r,n)}}else{i[e]=function(){}}}return i[e]};function inspect(e,r){var n={seen:[],stylize:stylizeNoColor};if(arguments.length>=3)n.depth=arguments[2];if(arguments.length>=4)n.colors=arguments[3];if(isBoolean(r)){n.showHidden=r}else if(r){t._extend(n,r)}if(isUndefined(n.showHidden))n.showHidden=false;if(isUndefined(n.depth))n.depth=2;if(isUndefined(n.colors))n.colors=false;if(isUndefined(n.customInspect))n.customInspect=true;if(n.colors)n.stylize=stylizeWithColor;return formatValue(n,e,n.depth)}t.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function stylizeWithColor(e,t){var r=inspect.styles[t];if(r){return\"\u001b[\"+inspect.colors[r][0]+\"m\"+e+\"\u001b[\"+inspect.colors[r][1]+\"m\"}else{return e}}function stylizeNoColor(e,t){return e}function arrayToHash(e){var t={};e.forEach((function(e,r){t[e]=true}));return t}function formatValue(e,r,n){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==t.inspect&&!(r.constructor&&r.constructor.prototype===r)){var o=r.inspect(n,e);if(!isString(o)){o=formatValue(e,o,n)}return o}var i=formatPrimitive(e,r);if(i){return i}var a=Object.keys(r);var c=arrayToHash(a);if(e.showHidden){a=Object.getOwnPropertyNames(r)}if(isError(r)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0)){return formatError(r)}if(a.length===0){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r)){return e.stylize(RegExp.prototype.toString.call(r),\"regexp\")}if(isDate(r)){return e.stylize(Date.prototype.toString.call(r),\"date\")}if(isError(r)){return formatError(r)}}var f=\"\",s=false,l=[\"{\",\"}\"];if(isArray(r)){s=true;l=[\"[\",\"]\"]}if(isFunction(r)){var p=r.name?\": \"+r.name:\"\";f=\" [Function\"+p+\"]\"}if(isRegExp(r)){f=\" \"+RegExp.prototype.toString.call(r)}if(isDate(r)){f=\" \"+Date.prototype.toUTCString.call(r)}if(isError(r)){f=\" \"+formatError(r)}if(a.length===0&&(!s||r.length==0)){return l[0]+f+l[1]}if(n<0){if(isRegExp(r)){return e.stylize(RegExp.prototype.toString.call(r),\"regexp\")}else{return e.stylize(\"[Object]\",\"special\")}}e.seen.push(r);var y;if(s){y=formatArray(e,r,n,c,a)}else{y=a.map((function(t){return formatProperty(e,r,n,c,t,s)}))}e.seen.pop();return reduceToSingleString(y,f,l)}function formatPrimitive(e,t){if(isUndefined(t))return e.stylize(\"undefined\",\"undefined\");if(isString(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(isNumber(t))return e.stylize(\"\"+t,\"number\");if(isBoolean(t))return e.stylize(\"\"+t,\"boolean\");if(isNull(t))return e.stylize(\"null\",\"null\")}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,t,r,n,o){var i=[];for(var a=0,c=t.length;a<c;++a){if(hasOwnProperty(t,String(a))){i.push(formatProperty(e,t,r,n,String(a),true))}else{i.push(\"\")}}o.forEach((function(o){if(!o.match(/^\\d+$/)){i.push(formatProperty(e,t,r,n,o,true))}}));return i}function formatProperty(e,t,r,n,o,i){var a,c,u;u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]};if(u.get){if(u.set){c=e.stylize(\"[Getter/Setter]\",\"special\")}else{c=e.stylize(\"[Getter]\",\"special\")}}else{if(u.set){c=e.stylize(\"[Setter]\",\"special\")}}if(!hasOwnProperty(n,o)){a=\"[\"+o+\"]\"}if(!c){if(e.seen.indexOf(u.value)<0){if(isNull(r)){c=formatValue(e,u.value,null)}else{c=formatValue(e,u.value,r-1)}if(c.indexOf(\"\\n\")>-1){if(i){c=c.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\").substr(2)}else{c=\"\\n\"+c.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\")}}}else{c=e.stylize(\"[Circular]\",\"special\")}}if(isUndefined(a)){if(i&&o.match(/^\\d+$/)){return c}a=JSON.stringify(\"\"+o);if(a.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)){a=a.substr(1,a.length-2);a=e.stylize(a,\"name\")}else{a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\");a=e.stylize(a,\"string\")}}return a+\": \"+c}function reduceToSingleString(e,t,r){var n=0;var o=e.reduce((function(e,t){n++;if(t.indexOf(\"\\n\")>=0)n++;return e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0);if(o>60){return r[0]+(t===\"\"?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+r[1]}return r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}t.types=r(584);function isArray(e){return Array.isArray(e)}t.isArray=isArray;function isBoolean(e){return typeof e===\"boolean\"}t.isBoolean=isBoolean;function isNull(e){return e===null}t.isNull=isNull;function isNullOrUndefined(e){return e==null}t.isNullOrUndefined=isNullOrUndefined;function isNumber(e){return typeof e===\"number\"}t.isNumber=isNumber;function isString(e){return typeof e===\"string\"}t.isString=isString;function isSymbol(e){return typeof e===\"symbol\"}t.isSymbol=isSymbol;function isUndefined(e){return e===void 0}t.isUndefined=isUndefined;function isRegExp(e){return isObject(e)&&objectToString(e)===\"[object RegExp]\"}t.isRegExp=isRegExp;t.types.isRegExp=isRegExp;function isObject(e){return typeof e===\"object\"&&e!==null}t.isObject=isObject;function isDate(e){return isObject(e)&&objectToString(e)===\"[object Date]\"}t.isDate=isDate;t.types.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)===\"[object Error]\"||e instanceof Error)}t.isError=isError;t.types.isNativeError=isError;function isFunction(e){return typeof e===\"function\"}t.isFunction=isFunction;function isPrimitive(e){return e===null||typeof e===\"boolean\"||typeof e===\"number\"||typeof e===\"string\"||typeof e===\"symbol\"||typeof e===\"undefined\"}t.isPrimitive=isPrimitive;t.isBuffer=r(369);function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var u=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var e=new Date;var t=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),u[e.getMonth()],t].join(\" \")}t.log=function(){console.log(\"%s - %s\",timestamp(),t.format.apply(t,arguments))};t.inherits=r(782);t._extend=function(e,t){if(!t||!isObject(t))return e;var r=Object.keys(t);var n=r.length;while(n--){e[r[n]]=t[r[n]]}return e};function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var f=typeof Symbol!==\"undefined\"?Symbol(\"util.promisify.custom\"):undefined;t.promisify=function promisify(e){if(typeof e!==\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(f&&e[f]){var t=e[f];if(typeof t!==\"function\"){throw new TypeError('The \"util.promisify.custom\" argument must be of type Function')}Object.defineProperty(t,f,{value:t,enumerable:false,writable:false,configurable:true});return t}function t(){var t,r;var n=new Promise((function(e,n){t=e;r=n}));var o=[];for(var i=0;i<arguments.length;i++){o.push(arguments[i])}o.push((function(e,n){if(e){r(e)}else{t(n)}}));try{e.apply(this,o)}catch(e){r(e)}return n}Object.setPrototypeOf(t,Object.getPrototypeOf(e));if(f)Object.defineProperty(t,f,{value:t,enumerable:false,writable:false,configurable:true});return Object.defineProperties(t,n(e))};t.promisify.custom=f;function callbackifyOnRejected(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e;e=r}return t(e)}function callbackify(e){if(typeof e!==\"function\"){throw new TypeError('The \"original\" argument must be of type Function')}function callbackified(){var t=[];for(var r=0;r<arguments.length;r++){t.push(arguments[r])}var n=t.pop();if(typeof n!==\"function\"){throw new TypeError(\"The last argument must be of type Function\")}var o=this;var cb=function(){return n.apply(o,arguments)};e.apply(this,t).then((function(e){process.nextTick(cb.bind(null,null,e))}),(function(e){process.nextTick(callbackifyOnRejected.bind(null,e,cb))}))}Object.setPrototypeOf(callbackified,Object.getPrototypeOf(e));Object.defineProperties(callbackified,n(e));return callbackified}t.callbackify=callbackify},490:function(e,t,r){\"use strict\";var n=r(144);var o=r(349);var i=r(256);var a=i(\"Object.prototype.toString\");var c=r(942)();var u=c&&typeof Symbol.toStringTag===\"symbol\";var f=o();var s=i(\"String.prototype.slice\");var l={};var p=r(466);var y=Object.getPrototypeOf;if(u&&p&&y){n(f,(function(e){if(typeof __webpack_require__.g[e]===\"function\"){var t=new __webpack_require__.g[e];if(!(Symbol.toStringTag in t)){throw new EvalError(\"this engine has support for Symbol.toStringTag, but \"+e+\" does not have the property! Please report this.\")}var r=y(t);var n=p(r,Symbol.toStringTag);if(!n){var o=y(r);n=p(o,Symbol.toStringTag)}l[e]=n.get}}))}var g=function tryAllTypedArrays(e){var t=false;n(l,(function(r,n){if(!t){try{var o=r.call(e);if(o===n){t=o}}catch(e){}}}));return t};var v=r(994);e.exports=function whichTypedArray(e){if(!v(e)){return false}if(!u){return s(a(e),8,-1)}return g(e)}},349:function(e,t,r){\"use strict\";var n=r(992);e.exports=function availableTypedArrays(){return n([\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],(function(e){return typeof __webpack_require__.g[e]===\"function\"}))}},466:function(e,t,r){\"use strict\";var n=r(500);var o=n(\"%Object.getOwnPropertyDescriptor%\",true);if(o){try{o([],\"length\")}catch(e){o=null}}e.exports=o}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r](o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(167);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fzc2VydC9hc3NlcnQuanMiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsWUFBWSxPQUFPLGdCQUFnQiwwQkFBMEIsaUNBQWlDLDRDQUE0Qyw0Q0FBNEMsU0FBUyxZQUFZLFdBQVcsS0FBSyx5QkFBeUIsV0FBVyw2QkFBNkIsVUFBVSxzQ0FBc0MscUJBQXFCLGFBQWEsb0JBQW9CLGtFQUFrRSw0QkFBNEIsaUJBQWlCLEtBQUssNEJBQTRCLHNHQUFzRyxrQkFBa0IsOEJBQThCLHNCQUFzQiwwREFBMEQsc0pBQXNKLGFBQWEseUJBQXlCLDhDQUE4QyxnREFBZ0QsaUNBQWlDLGNBQWMsTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLDhCQUE4QixhQUFhLGdCQUFnQixzQkFBc0Isc0NBQXNDLFlBQVksQ0FBb1MsQ0FBQywyQkFBMkIsMkJBQTJCLFlBQVksbUJBQW1CLFNBQVMsc0JBQXNCLDhDQUE4QyxlQUFlLHlCQUF5Qix1QkFBdUIsTUFBTSxVQUFVLFdBQVcsZUFBZSxJQUFJLFlBQVksS0FBSyxjQUFjLE9BQU8sTUFBTSxPQUFPLGFBQWEsT0FBTyx3Q0FBd0MsZ0tBQWdLLGdCQUFnQiw4QkFBOEIsT0FBTywwRUFBMEUsa0JBQWtCLFlBQVksZUFBZSxNQUFNLFlBQVksd0JBQXdCLFFBQVEsWUFBWSxtQkFBbUIsMEJBQTBCLE9BQU8sWUFBWSxVQUFVLE9BQU8sOENBQThDLDRCQUE0QixRQUFRLGFBQWEsOERBQThELEVBQUUscUJBQXFCLFNBQVMsY0FBYyw4Q0FBOEMsSUFBSSxLQUFLLGtCQUFrQiw4Q0FBOEMsUUFBUSw4QkFBOEIsdUJBQXVCLGlDQUFpQyxTQUFTLFdBQVcsK0RBQStELElBQUksb0NBQW9DLHVCQUF1QixpQ0FBaUMsU0FBUyxXQUFXLGtFQUFrRSxJQUFJLHNDQUFzQyx1QkFBdUIsaUNBQWlDLHNDQUFzQyxZQUFZLFdBQVcsMEVBQTBFLElBQUksNENBQTRDLHVCQUF1QixpQ0FBaUMsc0NBQXNDLFdBQVcs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WSx3QkFBd0IsMEJBQTBCLHdFQUF3RSx5QkFBeUIsU0FBUyxZQUFZLG1CQUFtQixLQUFLLHFCQUFxQixjQUFjLDBCQUEwQixrRUFBa0UsV0FBVyxrQkFBa0IsNkJBQTZCLGtDQUFrQyxPQUFPLGdDQUFnQyxlQUFlLE9BQU8saURBQWlELEdBQUcsOERBQThELDRDQUE0QyxxQkFBcUIsMEJBQTBCLHFCQUFxQixhQUFhLGFBQWEsYUFBYSxhQUFhLHFDQUFxQyxlQUFlLDhDQUE4QyxVQUFVLGtDQUFrQyxTQUFTLGFBQWEsNEJBQTRCLFlBQVksaUJBQWlCLFVBQVUscUJBQU0sa0JBQWtCLFVBQVUscUJBQU0sSUFBSSwrQkFBK0IsaUlBQWlJLFdBQVcsOEJBQThCLE9BQU8sV0FBVywwQkFBMEIsWUFBWSxHQUFHLG9DQUFvQyxZQUFZLG1CQUFtQixPQUFPLElBQUksZ0JBQWdCLFVBQVUsS0FBSyxZQUFZLEdBQUcsVUFBVSxhQUFhLHNDQUFzQyxVQUFVLGFBQWEsT0FBTyxvQkFBb0IsYUFBYSxxQkFBcUIsYUFBYSxhQUFhLDBDQUEwQywwTEFBMEwsY0FBYyxxQkFBTSxpQkFBaUIsSUFBSSxxQkFBcUIsYUFBYSxhQUFhLGtEQUFrRCxNQUFNLElBQUksZUFBZSxTQUFTLFFBQVEsY0FBYyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxzQ0FBc0MsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvYXNzZXJ0L2Fzc2VydC5qcz9jOWNhIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe3ZhciBlPXs5OTI6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUscixuKXtpZihlLmZpbHRlcilyZXR1cm4gZS5maWx0ZXIocixuKTtpZih2b2lkIDA9PT1lfHxudWxsPT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcjt2YXIgbz1bXTtmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krKyl7aWYoIXQuY2FsbChlLGkpKWNvbnRpbnVlO3ZhciBhPWVbaV07aWYoci5jYWxsKG4sYSxpLGUpKW8ucHVzaChhKX1yZXR1cm4gb307dmFyIHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eX0sMTY3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBfdHlwZW9mKGUpe2lmKHR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBTeW1ib2wuaXRlcmF0b3I9PT1cInN5bWJvbFwiKXtfdHlwZW9mPWZ1bmN0aW9uIF90eXBlb2YoZSl7cmV0dXJuIHR5cGVvZiBlfX1lbHNle190eXBlb2Y9ZnVuY3Rpb24gX3R5cGVvZihlKXtyZXR1cm4gZSYmdHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIiYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/XCJzeW1ib2xcIjp0eXBlb2YgZX19cmV0dXJuIF90eXBlb2YoZSl9ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9fXZhciBuPXIoMjMpLG89bi5jb2RlcyxpPW8uRVJSX0FNQklHVU9VU19BUkdVTUVOVCxhPW8uRVJSX0lOVkFMSURfQVJHX1RZUEUsYz1vLkVSUl9JTlZBTElEX0FSR19WQUxVRSx1PW8uRVJSX0lOVkFMSURfUkVUVVJOX1ZBTFVFLGY9by5FUlJfTUlTU0lOR19BUkdTO3ZhciBzPXIoNTQ1KTt2YXIgbD1yKDE3NykscD1sLmluc3BlY3Q7dmFyIHk9cigxNzcpLnR5cGVzLGc9eS5pc1Byb21pc2Usdj15LmlzUmVnRXhwO3ZhciBkPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbjpyKDYwNCkuYXNzaWduO3ZhciBiPU9iamVjdC5pcz9PYmplY3QuaXM6cigyMDgpO3ZhciBoPW5ldyBNYXA7dmFyIG07dmFyIFM7dmFyIEU7dmFyIE87dmFyIHc7ZnVuY3Rpb24gbGF6eUxvYWRDb21wYXJpc29uKCl7dmFyIGU9cigxNzYpO209ZS5pc0RlZXBFcXVhbDtTPWUuaXNEZWVwU3RyaWN0RXF1YWx9dmFyIEE9L1tcXHgwMC1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZl0vZzt2YXIgaj1udWxsJiZbXCJcXFxcdTAwMDBcIixcIlxcXFx1MDAwMVwiLFwiXFxcXHUwMDAyXCIsXCJcXFxcdTAwMDNcIixcIlxcXFx1MDAwNFwiLFwiXFxcXHUwMDA1XCIsXCJcXFxcdTAwMDZcIixcIlxcXFx1MDAwN1wiLFwiXFxcXGJcIixcIlwiLFwiXCIsXCJcXFxcdTAwMGJcIixcIlxcXFxmXCIsXCJcIixcIlxcXFx1MDAwZVwiLFwiXFxcXHUwMDBmXCIsXCJcXFxcdTAwMTBcIixcIlxcXFx1MDAxMVwiLFwiXFxcXHUwMDEyXCIsXCJcXFxcdTAwMTNcIixcIlxcXFx1MDAxNFwiLFwiXFxcXHUwMDE1XCIsXCJcXFxcdTAwMTZcIixcIlxcXFx1MDAxN1wiLFwiXFxcXHUwMDE4XCIsXCJcXFxcdTAwMTlcIixcIlxcXFx1MDAxYVwiLFwiXFxcXHUwMDFiXCIsXCJcXFxcdTAwMWNcIixcIlxcXFx1MDAxZFwiLFwiXFxcXHUwMDFlXCIsXCJcXFxcdTAwMWZcIl07dmFyIFA9ZnVuY3Rpb24gZXNjYXBlRm4oZSl7cmV0dXJuIGpbZS5jaGFyQ29kZUF0KDApXX07dmFyIF89ZmFsc2U7dmFyIHg9ZS5leHBvcnRzPW9rO3ZhciBrPXt9O2Z1bmN0aW9uIGlubmVyRmFpbChlKXtpZihlLm1lc3NhZ2UgaW5zdGFuY2VvZiBFcnJvcil0aHJvdyBlLm1lc3NhZ2U7dGhyb3cgbmV3IHMoZSl9ZnVuY3Rpb24gZmFpbChlLHQscixuLG8pe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGg7dmFyIGE7aWYoaT09PTApe2E9XCJGYWlsZWRcIn1lbHNlIGlmKGk9PT0xKXtyPWU7ZT11bmRlZmluZWR9ZWxzZXtpZihfPT09ZmFsc2Upe189dHJ1ZTt2YXIgYz1wcm9jZXNzLmVtaXRXYXJuaW5nP3Byb2Nlc3MuZW1pdFdhcm5pbmc6Y29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7YyhcImFzc2VydC5mYWlsKCkgd2l0aCBtb3JlIHRoYW4gb25lIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQuIFwiK1wiUGxlYXNlIHVzZSBhc3NlcnQuc3RyaWN0RXF1YWwoKSBpbnN0ZWFkIG9yIG9ubHkgcGFzcyBhIG1lc3NhZ2UuXCIsXCJEZXByZWNhdGlvbldhcm5pbmdcIixcIkRFUDAwOTRcIil9aWYoaT09PTIpbj1cIiE9XCJ9aWYociBpbnN0YW5jZW9mIEVycm9yKXRocm93IHI7dmFyIHU9e2FjdHVhbDplLGV4cGVjdGVkOnQsb3BlcmF0b3I6bj09PXVuZGVmaW5lZD9cImZhaWxcIjpuLHN0YWNrU3RhcnRGbjpvfHxmYWlsfTtpZihyIT09dW5kZWZpbmVkKXt1Lm1lc3NhZ2U9cn12YXIgZj1uZXcgcyh1KTtpZihhKXtmLm1lc3NhZ2U9YTtmLmdlbmVyYXRlZE1lc3NhZ2U9dHJ1ZX10aHJvdyBmfXguZmFpbD1mYWlsO3guQXNzZXJ0aW9uRXJyb3I9cztmdW5jdGlvbiBpbm5lck9rKGUsdCxyLG4pe2lmKCFyKXt2YXIgbz1mYWxzZTtpZih0PT09MCl7bz10cnVlO249XCJObyB2YWx1ZSBhcmd1bWVudCBwYXNzZWQgdG8gYGFzc2VydC5vaygpYFwifWVsc2UgaWYobiBpbnN0YW5jZW9mIEVycm9yKXt0aHJvdyBufXZhciBpPW5ldyBzKHthY3R1YWw6cixleHBlY3RlZDp0cnVlLG1lc3NhZ2U6bixvcGVyYXRvcjpcIj09XCIsc3RhY2tTdGFydEZuOmV9KTtpLmdlbmVyYXRlZE1lc3NhZ2U9bzt0aHJvdyBpfX1mdW5jdGlvbiBvaygpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLHI9MDtyPGU7cisrKXt0W3JdPWFyZ3VtZW50c1tyXX1pbm5lck9rLmFwcGx5KHZvaWQgMCxbb2ssdC5sZW5ndGhdLmNvbmNhdCh0KSl9eC5vaz1vazt4LmVxdWFsPWZ1bmN0aW9uIGVxdWFsKGUsdCxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3Rocm93IG5ldyBmKFwiYWN0dWFsXCIsXCJleHBlY3RlZFwiKX1pZihlIT10KXtpbm5lckZhaWwoe2FjdHVhbDplLGV4cGVjdGVkOnQsbWVzc2FnZTpyLG9wZXJhdG9yOlwiPT1cIixzdGFja1N0YXJ0Rm46ZXF1YWx9KX19O3gubm90RXF1YWw9ZnVuY3Rpb24gbm90RXF1YWwoZSx0LHIpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7dGhyb3cgbmV3IGYoXCJhY3R1YWxcIixcImV4cGVjdGVkXCIpfWlmKGU9PXQpe2lubmVyRmFpbCh7YWN0dWFsOmUsZXhwZWN0ZWQ6dCxtZXNzYWdlOnIsb3BlcmF0b3I6XCIhPVwiLHN0YWNrU3RhcnRGbjpub3RFcXVhbH0pfX07eC5kZWVwRXF1YWw9ZnVuY3Rpb24gZGVlcEVxdWFsKGUsdCxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3Rocm93IG5ldyBmKFwiYWN0dWFsXCIsXCJleHBlY3RlZFwiKX1pZihtPT09dW5kZWZpbmVkKWxhenlMb2FkQ29tcGFyaXNvbigpO2lmKCFtKGUsdCkpe2lubmVyRmFpbCh7YWN0dWFsOmUsZXhwZWN0ZWQ6dCxtZXNzYWdlOnIsb3BlcmF0b3I6XCJkZWVwRXF1YWxcIixzdGFja1N0YXJ0Rm46ZGVlcEVxdWFsfSl9fTt4Lm5vdERlZXBFcXVhbD1mdW5jdGlvbiBub3REZWVwRXF1YWwoZSx0LHIpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7dGhyb3cgbmV3IGYoXCJhY3R1YWxcIixcImV4cGVjdGVkXCIpfWlmKG09PT11bmRlZmluZWQpbGF6eUxvYWRDb21wYXJpc29uKCk7aWYobShlLHQpKXtpbm5lckZhaWwoe2FjdHVhbDplLGV4cGVjdGVkOnQsbWVzc2FnZTpyLG9wZXJhdG9yOlwibm90RGVlcEVxdWFsXCIsc3RhY2tTdGFydEZuOm5vdERlZXBFcXVhbH0pfX07eC5kZWVwU3RyaWN0RXF1YWw9ZnVuY3Rpb24gZGVlcFN0cmljdEVxdWFsKGUsdCxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3Rocm93IG5ldyBmKFwiYWN0dWFsXCIsXCJleHBlY3RlZFwiKX1pZihtPT09dW5kZWZpbmVkKWxhenlMb2FkQ29tcGFyaXNvbigpO2lmKCFTKGUsdCkpe2lubmVyRmFpbCh7YWN0dWFsOmUsZXhwZWN0ZWQ6dCxtZXNzYWdlOnIsb3BlcmF0b3I6XCJkZWVwU3RyaWN0RXF1YWxcIixzdGFja1N0YXJ0Rm46ZGVlcFN0cmljdEVxdWFsfSl9fTt4Lm5vdERlZXBTdHJpY3RFcXVhbD1ub3REZWVwU3RyaWN0RXF1YWw7ZnVuY3Rpb24gbm90RGVlcFN0cmljdEVxdWFsKGUsdCxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3Rocm93IG5ldyBmKFwiYWN0dWFsXCIsXCJleHBlY3RlZFwiKX1pZihtPT09dW5kZWZpbmVkKWxhenlMb2FkQ29tcGFyaXNvbigpO2lmKFMoZSx0KSl7aW5uZXJGYWlsKHthY3R1YWw6ZSxleHBlY3RlZDp0LG1lc3NhZ2U6cixvcGVyYXRvcjpcIm5vdERlZXBTdHJpY3RFcXVhbFwiLHN0YWNrU3RhcnRGbjpub3REZWVwU3RyaWN0RXF1YWx9KX19eC5zdHJpY3RFcXVhbD1mdW5jdGlvbiBzdHJpY3RFcXVhbChlLHQscil7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt0aHJvdyBuZXcgZihcImFjdHVhbFwiLFwiZXhwZWN0ZWRcIil9aWYoIWIoZSx0KSl7aW5uZXJGYWlsKHthY3R1YWw6ZSxleHBlY3RlZDp0LG1lc3NhZ2U6cixvcGVyYXRvcjpcInN0cmljdEVxdWFsXCIsc3RhY2tTdGFydEZuOnN0cmljdEVxdWFsfSl9fTt4Lm5vdFN0cmljdEVxdWFsPWZ1bmN0aW9uIG5vdFN0cmljdEVxdWFsKGUsdCxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3Rocm93IG5ldyBmKFwiYWN0dWFsXCIsXCJleHBlY3RlZFwiKX1pZihiKGUsdCkpe2lubmVyRmFpbCh7YWN0dWFsOmUsZXhwZWN0ZWQ6dCxtZXNzYWdlOnIsb3BlcmF0b3I6XCJub3RTdHJpY3RFcXVhbFwiLHN0YWNrU3RhcnRGbjpub3RTdHJpY3RFcXVhbH0pfX07dmFyIFQ9ZnVuY3Rpb24gQ29tcGFyaXNvbihlLHQscil7dmFyIG49dGhpcztfY2xhc3NDYWxsQ2hlY2sodGhpcyxDb21wYXJpc29uKTt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQgaW4gZSl7aWYociE9PXVuZGVmaW5lZCYmdHlwZW9mIHJbdF09PT1cInN0cmluZ1wiJiZ2KGVbdF0pJiZlW3RdLnRlc3Qoclt0XSkpe25bdF09clt0XX1lbHNle25bdF09ZVt0XX19fSkpfTtmdW5jdGlvbiBjb21wYXJlRXhjZXB0aW9uS2V5KGUsdCxyLG4sbyxpKXtpZighKHIgaW4gZSl8fCFTKGVbcl0sdFtyXSkpe2lmKCFuKXt2YXIgYT1uZXcgVChlLG8pO3ZhciBjPW5ldyBUKHQsbyxlKTt2YXIgdT1uZXcgcyh7YWN0dWFsOmEsZXhwZWN0ZWQ6YyxvcGVyYXRvcjpcImRlZXBTdHJpY3RFcXVhbFwiLHN0YWNrU3RhcnRGbjppfSk7dS5hY3R1YWw9ZTt1LmV4cGVjdGVkPXQ7dS5vcGVyYXRvcj1pLm5hbWU7dGhyb3cgdX1pbm5lckZhaWwoe2FjdHVhbDplLGV4cGVjdGVkOnQsbWVzc2FnZTpuLG9wZXJhdG9yOmkubmFtZSxzdGFja1N0YXJ0Rm46aX0pfX1mdW5jdGlvbiBleHBlY3RlZEV4Y2VwdGlvbihlLHQscixuKXtpZih0eXBlb2YgdCE9PVwiZnVuY3Rpb25cIil7aWYodih0KSlyZXR1cm4gdC50ZXN0KGUpO2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0yKXt0aHJvdyBuZXcgYShcImV4cGVjdGVkXCIsW1wiRnVuY3Rpb25cIixcIlJlZ0V4cFwiXSx0KX1pZihfdHlwZW9mKGUpIT09XCJvYmplY3RcInx8ZT09PW51bGwpe3ZhciBvPW5ldyBzKHthY3R1YWw6ZSxleHBlY3RlZDp0LG1lc3NhZ2U6cixvcGVyYXRvcjpcImRlZXBTdHJpY3RFcXVhbFwiLHN0YWNrU3RhcnRGbjpufSk7by5vcGVyYXRvcj1uLm5hbWU7dGhyb3cgb312YXIgaT1PYmplY3Qua2V5cyh0KTtpZih0IGluc3RhbmNlb2YgRXJyb3Ipe2kucHVzaChcIm5hbWVcIixcIm1lc3NhZ2VcIil9ZWxzZSBpZihpLmxlbmd0aD09PTApe3Rocm93IG5ldyBjKFwiZXJyb3JcIix0LFwibWF5IG5vdCBiZSBhbiBlbXB0eSBvYmplY3RcIil9aWYobT09PXVuZGVmaW5lZClsYXp5TG9hZENvbXBhcmlzb24oKTtpLmZvckVhY2goKGZ1bmN0aW9uKG8pe2lmKHR5cGVvZiBlW29dPT09XCJzdHJpbmdcIiYmdih0W29dKSYmdFtvXS50ZXN0KGVbb10pKXtyZXR1cm59Y29tcGFyZUV4Y2VwdGlvbktleShlLHQsbyxyLGksbil9KSk7cmV0dXJuIHRydWV9aWYodC5wcm90b3R5cGUhPT11bmRlZmluZWQmJmUgaW5zdGFuY2VvZiB0KXtyZXR1cm4gdHJ1ZX1pZihFcnJvci5pc1Byb3RvdHlwZU9mKHQpKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHQuY2FsbCh7fSxlKT09PXRydWV9ZnVuY3Rpb24gZ2V0QWN0dWFsKGUpe2lmKHR5cGVvZiBlIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgYShcImZuXCIsXCJGdW5jdGlvblwiLGUpfXRyeXtlKCl9Y2F0Y2goZSl7cmV0dXJuIGV9cmV0dXJuIGt9ZnVuY3Rpb24gY2hlY2tJc1Byb21pc2UoZSl7cmV0dXJuIGcoZSl8fGUhPT1udWxsJiZfdHlwZW9mKGUpPT09XCJvYmplY3RcIiYmdHlwZW9mIGUudGhlbj09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIGUuY2F0Y2g9PT1cImZ1bmN0aW9uXCJ9ZnVuY3Rpb24gd2FpdEZvckFjdHVhbChlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoZnVuY3Rpb24oKXt2YXIgdDtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cIil7dD1lKCk7aWYoIWNoZWNrSXNQcm9taXNlKHQpKXt0aHJvdyBuZXcgdShcImluc3RhbmNlIG9mIFByb21pc2VcIixcInByb21pc2VGblwiLHQpfX1lbHNlIGlmKGNoZWNrSXNQcm9taXNlKGUpKXt0PWV9ZWxzZXt0aHJvdyBuZXcgYShcInByb21pc2VGblwiLFtcIkZ1bmN0aW9uXCIsXCJQcm9taXNlXCJdLGUpfXJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKChmdW5jdGlvbigpe3JldHVybiB0fSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfSkpfWZ1bmN0aW9uIGV4cGVjdHNFcnJvcihlLHQscixuKXtpZih0eXBlb2Ygcj09PVwic3RyaW5nXCIpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT00KXt0aHJvdyBuZXcgYShcImVycm9yXCIsW1wiT2JqZWN0XCIsXCJFcnJvclwiLFwiRnVuY3Rpb25cIixcIlJlZ0V4cFwiXSxyKX1pZihfdHlwZW9mKHQpPT09XCJvYmplY3RcIiYmdCE9PW51bGwpe2lmKHQubWVzc2FnZT09PXIpe3Rocm93IG5ldyBpKFwiZXJyb3IvbWVzc2FnZVwiLCdUaGUgZXJyb3IgbWVzc2FnZSBcIicuY29uY2F0KHQubWVzc2FnZSwnXCIgaXMgaWRlbnRpY2FsIHRvIHRoZSBtZXNzYWdlLicpKX19ZWxzZSBpZih0PT09cil7dGhyb3cgbmV3IGkoXCJlcnJvci9tZXNzYWdlXCIsJ1RoZSBlcnJvciBcIicuY29uY2F0KHQsJ1wiIGlzIGlkZW50aWNhbCB0byB0aGUgbWVzc2FnZS4nKSl9bj1yO3I9dW5kZWZpbmVkfWVsc2UgaWYociE9bnVsbCYmX3R5cGVvZihyKSE9PVwib2JqZWN0XCImJnR5cGVvZiByIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgYShcImVycm9yXCIsW1wiT2JqZWN0XCIsXCJFcnJvclwiLFwiRnVuY3Rpb25cIixcIlJlZ0V4cFwiXSxyKX1pZih0PT09ayl7dmFyIG89XCJcIjtpZihyJiZyLm5hbWUpe28rPVwiIChcIi5jb25jYXQoci5uYW1lLFwiKVwiKX1vKz1uP1wiOiBcIi5jb25jYXQobik6XCIuXCI7dmFyIGM9ZS5uYW1lPT09XCJyZWplY3RzXCI/XCJyZWplY3Rpb25cIjpcImV4Y2VwdGlvblwiO2lubmVyRmFpbCh7YWN0dWFsOnVuZGVmaW5lZCxleHBlY3RlZDpyLG9wZXJhdG9yOmUubmFtZSxtZXNzYWdlOlwiTWlzc2luZyBleHBlY3RlZCBcIi5jb25jYXQoYykuY29uY2F0KG8pLHN0YWNrU3RhcnRGbjplfSl9aWYociYmIWV4cGVjdGVkRXhjZXB0aW9uKHQscixuLGUpKXt0aHJvdyB0fX1mdW5jdGlvbiBleHBlY3RzTm9FcnJvcihlLHQscixuKXtpZih0PT09aylyZXR1cm47aWYodHlwZW9mIHI9PT1cInN0cmluZ1wiKXtuPXI7cj11bmRlZmluZWR9aWYoIXJ8fGV4cGVjdGVkRXhjZXB0aW9uKHQscikpe3ZhciBvPW4/XCI6IFwiLmNvbmNhdChuKTpcIi5cIjt2YXIgaT1lLm5hbWU9PT1cImRvZXNOb3RSZWplY3RcIj9cInJlamVjdGlvblwiOlwiZXhjZXB0aW9uXCI7aW5uZXJGYWlsKHthY3R1YWw6dCxleHBlY3RlZDpyLG9wZXJhdG9yOmUubmFtZSxtZXNzYWdlOlwiR290IHVud2FudGVkIFwiLmNvbmNhdChpKS5jb25jYXQobyxcIlxcblwiKSsnQWN0dWFsIG1lc3NhZ2U6IFwiJy5jb25jYXQodCYmdC5tZXNzYWdlLCdcIicpLHN0YWNrU3RhcnRGbjplfSl9dGhyb3cgdH14LnRocm93cz1mdW5jdGlvbiB0aHJvd3MoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkodD4xP3QtMTowKSxuPTE7bjx0O24rKyl7cltuLTFdPWFyZ3VtZW50c1tuXX1leHBlY3RzRXJyb3IuYXBwbHkodm9pZCAwLFt0aHJvd3MsZ2V0QWN0dWFsKGUpXS5jb25jYXQocikpfTt4LnJlamVjdHM9ZnVuY3Rpb24gcmVqZWN0cyhlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0PjE/dC0xOjApLG49MTtuPHQ7bisrKXtyW24tMV09YXJndW1lbnRzW25dfXJldHVybiB3YWl0Rm9yQWN0dWFsKGUpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBleHBlY3RzRXJyb3IuYXBwbHkodm9pZCAwLFtyZWplY3RzLGVdLmNvbmNhdChyKSl9KSl9O3guZG9lc05vdFRocm93PWZ1bmN0aW9uIGRvZXNOb3RUaHJvdyhlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0PjE/dC0xOjApLG49MTtuPHQ7bisrKXtyW24tMV09YXJndW1lbnRzW25dfWV4cGVjdHNOb0Vycm9yLmFwcGx5KHZvaWQgMCxbZG9lc05vdFRocm93LGdldEFjdHVhbChlKV0uY29uY2F0KHIpKX07eC5kb2VzTm90UmVqZWN0PWZ1bmN0aW9uIGRvZXNOb3RSZWplY3QoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkodD4xP3QtMTowKSxuPTE7bjx0O24rKyl7cltuLTFdPWFyZ3VtZW50c1tuXX1yZXR1cm4gd2FpdEZvckFjdHVhbChlKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZXhwZWN0c05vRXJyb3IuYXBwbHkodm9pZCAwLFtkb2VzTm90UmVqZWN0LGVdLmNvbmNhdChyKSl9KSl9O3guaWZFcnJvcj1mdW5jdGlvbiBpZkVycm9yKGUpe2lmKGUhPT1udWxsJiZlIT09dW5kZWZpbmVkKXt2YXIgdD1cImlmRXJyb3IgZ290IHVud2FudGVkIGV4Y2VwdGlvbjogXCI7aWYoX3R5cGVvZihlKT09PVwib2JqZWN0XCImJnR5cGVvZiBlLm1lc3NhZ2U9PT1cInN0cmluZ1wiKXtpZihlLm1lc3NhZ2UubGVuZ3RoPT09MCYmZS5jb25zdHJ1Y3Rvcil7dCs9ZS5jb25zdHJ1Y3Rvci5uYW1lfWVsc2V7dCs9ZS5tZXNzYWdlfX1lbHNle3QrPXAoZSl9dmFyIHI9bmV3IHMoe2FjdHVhbDplLGV4cGVjdGVkOm51bGwsb3BlcmF0b3I6XCJpZkVycm9yXCIsbWVzc2FnZTp0LHN0YWNrU3RhcnRGbjppZkVycm9yfSk7dmFyIG49ZS5zdGFjaztpZih0eXBlb2Ygbj09PVwic3RyaW5nXCIpe3ZhciBvPW4uc3BsaXQoXCJcXG5cIik7by5zaGlmdCgpO3ZhciBpPXIuc3RhY2suc3BsaXQoXCJcXG5cIik7Zm9yKHZhciBhPTA7YTxvLmxlbmd0aDthKyspe3ZhciBjPWkuaW5kZXhPZihvW2FdKTtpZihjIT09LTEpe2k9aS5zbGljZSgwLGMpO2JyZWFrfX1yLnN0YWNrPVwiXCIuY29uY2F0KGkuam9pbihcIlxcblwiKSxcIlxcblwiKS5jb25jYXQoby5qb2luKFwiXFxuXCIpKX10aHJvdyByfX07ZnVuY3Rpb24gc3RyaWN0KCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSkscj0wO3I8ZTtyKyspe3Rbcl09YXJndW1lbnRzW3JdfWlubmVyT2suYXBwbHkodm9pZCAwLFtzdHJpY3QsdC5sZW5ndGhdLmNvbmNhdCh0KSl9eC5zdHJpY3Q9ZChzdHJpY3QseCx7ZXF1YWw6eC5zdHJpY3RFcXVhbCxkZWVwRXF1YWw6eC5kZWVwU3RyaWN0RXF1YWwsbm90RXF1YWw6eC5ub3RTdHJpY3RFcXVhbCxub3REZWVwRXF1YWw6eC5ub3REZWVwU3RyaWN0RXF1YWx9KTt4LnN0cmljdC5zdHJpY3Q9eC5zdHJpY3R9LDU0NTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF0hPW51bGw/YXJndW1lbnRzW3RdOnt9O3ZhciBuPU9iamVjdC5rZXlzKHIpO2lmKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzPT09XCJmdW5jdGlvblwiKXtuPW4uY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocikuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpLmVudW1lcmFibGV9KSkpfW4uZm9yRWFjaCgoZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxyW3RdKX0pKX1yZXR1cm4gZX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSx0LHIpe2lmKHQgaW4gZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6cixlbnVtZXJhYmxlOnRydWUsY29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZX0pfWVsc2V7ZVt0XT1yfXJldHVybiBlfWZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyhlLHQpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10W3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fGZhbHNlO24uY29uZmlndXJhYmxlPXRydWU7aWYoXCJ2YWx1ZVwiaW4gbiluLndyaXRhYmxlPXRydWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbi5rZXksbil9fWZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhlLHQscil7aWYodClfZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSx0KTtpZihyKV9kZWZpbmVQcm9wZXJ0aWVzKGUscik7cmV0dXJuIGV9ZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oZSx0KXtpZih0JiYoX3R5cGVvZih0KT09PVwib2JqZWN0XCJ8fHR5cGVvZiB0PT09XCJmdW5jdGlvblwiKSl7cmV0dXJuIHR9cmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoZSl9ZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChlKXtpZihlPT09dm9pZCAwKXt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIil9cmV0dXJuIGV9ZnVuY3Rpb24gX2luaGVyaXRzKGUsdCl7aWYodHlwZW9mIHQhPT1cImZ1bmN0aW9uXCImJnQhPT1udWxsKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIil9ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsd3JpdGFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZX19KTtpZih0KV9zZXRQcm90b3R5cGVPZihlLHQpfWZ1bmN0aW9uIF93cmFwTmF0aXZlU3VwZXIoZSl7dmFyIHQ9dHlwZW9mIE1hcD09PVwiZnVuY3Rpb25cIj9uZXcgTWFwOnVuZGVmaW5lZDtfd3JhcE5hdGl2ZVN1cGVyPWZ1bmN0aW9uIF93cmFwTmF0aXZlU3VwZXIoZSl7aWYoZT09PW51bGx8fCFfaXNOYXRpdmVGdW5jdGlvbihlKSlyZXR1cm4gZTtpZih0eXBlb2YgZSE9PVwiZnVuY3Rpb25cIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpfWlmKHR5cGVvZiB0IT09XCJ1bmRlZmluZWRcIil7aWYodC5oYXMoZSkpcmV0dXJuIHQuZ2V0KGUpO3Quc2V0KGUsV3JhcHBlcil9ZnVuY3Rpb24gV3JhcHBlcigpe3JldHVybiBfY29uc3RydWN0KGUsYXJndW1lbnRzLF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3Rvcil9V3JhcHBlci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOldyYXBwZXIsZW51bWVyYWJsZTpmYWxzZSx3cml0YWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTp0cnVlfX0pO3JldHVybiBfc2V0UHJvdG90eXBlT2YoV3JhcHBlcixlKX07cmV0dXJuIF93cmFwTmF0aXZlU3VwZXIoZSl9ZnVuY3Rpb24gaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCl7aWYodHlwZW9mIFJlZmxlY3Q9PT1cInVuZGVmaW5lZFwifHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuIGZhbHNlO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuIGZhbHNlO2lmKHR5cGVvZiBQcm94eT09PVwiZnVuY3Rpb25cIilyZXR1cm4gdHJ1ZTt0cnl7RGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLFtdLChmdW5jdGlvbigpe30pKSk7cmV0dXJuIHRydWV9Y2F0Y2goZSl7cmV0dXJuIGZhbHNlfX1mdW5jdGlvbiBfY29uc3RydWN0KGUsdCxyKXtpZihpc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSl7X2NvbnN0cnVjdD1SZWZsZWN0LmNvbnN0cnVjdH1lbHNle19jb25zdHJ1Y3Q9ZnVuY3Rpb24gX2NvbnN0cnVjdChlLHQscil7dmFyIG49W251bGxdO24ucHVzaC5hcHBseShuLHQpO3ZhciBvPUZ1bmN0aW9uLmJpbmQuYXBwbHkoZSxuKTt2YXIgaT1uZXcgbztpZihyKV9zZXRQcm90b3R5cGVPZihpLHIucHJvdG90eXBlKTtyZXR1cm4gaX19cmV0dXJuIF9jb25zdHJ1Y3QuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIF9pc05hdGl2ZUZ1bmN0aW9uKGUpe3JldHVybiBGdW5jdGlvbi50b1N0cmluZy5jYWxsKGUpLmluZGV4T2YoXCJbbmF0aXZlIGNvZGVdXCIpIT09LTF9ZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKGUsdCl7X3NldFByb3RvdHlwZU9mPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKGUsdCl7ZS5fX3Byb3RvX189dDtyZXR1cm4gZX07cmV0dXJuIF9zZXRQcm90b3R5cGVPZihlLHQpfWZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihlKXtfZ2V0UHJvdG90eXBlT2Y9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5nZXRQcm90b3R5cGVPZjpmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YoZSl7cmV0dXJuIGUuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSl9O3JldHVybiBfZ2V0UHJvdG90eXBlT2YoZSl9ZnVuY3Rpb24gX3R5cGVvZihlKXtpZih0eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiJiZ0eXBlb2YgU3ltYm9sLml0ZXJhdG9yPT09XCJzeW1ib2xcIil7X3R5cGVvZj1mdW5jdGlvbiBfdHlwZW9mKGUpe3JldHVybiB0eXBlb2YgZX19ZWxzZXtfdHlwZW9mPWZ1bmN0aW9uIF90eXBlb2YoZSl7cmV0dXJuIGUmJnR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9fXJldHVybiBfdHlwZW9mKGUpfXZhciBuPXIoMTc3KSxvPW4uaW5zcGVjdDt2YXIgaT1yKDIzKSxhPWkuY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEU7ZnVuY3Rpb24gZW5kc1dpdGgoZSx0LHIpe2lmKHI9PT11bmRlZmluZWR8fHI+ZS5sZW5ndGgpe3I9ZS5sZW5ndGh9cmV0dXJuIGUuc3Vic3RyaW5nKHItdC5sZW5ndGgscik9PT10fWZ1bmN0aW9uIHJlcGVhdChlLHQpe3Q9TWF0aC5mbG9vcih0KTtpZihlLmxlbmd0aD09MHx8dD09MClyZXR1cm5cIlwiO3ZhciByPWUubGVuZ3RoKnQ7dD1NYXRoLmZsb29yKE1hdGgubG9nKHQpL01hdGgubG9nKDIpKTt3aGlsZSh0KXtlKz1lO3QtLX1lKz1lLnN1YnN0cmluZygwLHItZS5sZW5ndGgpO3JldHVybiBlfXZhciBjPVwiXCI7dmFyIHU9XCJcIjt2YXIgZj1cIlwiO3ZhciBzPVwiXCI7dmFyIGw9e2RlZXBTdHJpY3RFcXVhbDpcIkV4cGVjdGVkIHZhbHVlcyB0byBiZSBzdHJpY3RseSBkZWVwLWVxdWFsOlwiLHN0cmljdEVxdWFsOlwiRXhwZWN0ZWQgdmFsdWVzIHRvIGJlIHN0cmljdGx5IGVxdWFsOlwiLHN0cmljdEVxdWFsT2JqZWN0OidFeHBlY3RlZCBcImFjdHVhbFwiIHRvIGJlIHJlZmVyZW5jZS1lcXVhbCB0byBcImV4cGVjdGVkXCI6JyxkZWVwRXF1YWw6XCJFeHBlY3RlZCB2YWx1ZXMgdG8gYmUgbG9vc2VseSBkZWVwLWVxdWFsOlwiLGVxdWFsOlwiRXhwZWN0ZWQgdmFsdWVzIHRvIGJlIGxvb3NlbHkgZXF1YWw6XCIsbm90RGVlcFN0cmljdEVxdWFsOidFeHBlY3RlZCBcImFjdHVhbFwiIG5vdCB0byBiZSBzdHJpY3RseSBkZWVwLWVxdWFsIHRvOicsbm90U3RyaWN0RXF1YWw6J0V4cGVjdGVkIFwiYWN0dWFsXCIgdG8gYmUgc3RyaWN0bHkgdW5lcXVhbCB0bzonLG5vdFN0cmljdEVxdWFsT2JqZWN0OidFeHBlY3RlZCBcImFjdHVhbFwiIG5vdCB0byBiZSByZWZlcmVuY2UtZXF1YWwgdG8gXCJleHBlY3RlZFwiOicsbm90RGVlcEVxdWFsOidFeHBlY3RlZCBcImFjdHVhbFwiIG5vdCB0byBiZSBsb29zZWx5IGRlZXAtZXF1YWwgdG86Jyxub3RFcXVhbDonRXhwZWN0ZWQgXCJhY3R1YWxcIiB0byBiZSBsb29zZWx5IHVuZXF1YWwgdG86Jyxub3RJZGVudGljYWw6XCJWYWx1ZXMgaWRlbnRpY2FsIGJ1dCBub3QgcmVmZXJlbmNlLWVxdWFsOlwifTt2YXIgcD0xMDtmdW5jdGlvbiBjb3B5RXJyb3IoZSl7dmFyIHQ9T2JqZWN0LmtleXMoZSk7dmFyIHI9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpO3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7clt0XT1lW3RdfSkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwibWVzc2FnZVwiLHt2YWx1ZTplLm1lc3NhZ2V9KTtyZXR1cm4gcn1mdW5jdGlvbiBpbnNwZWN0VmFsdWUoZSl7cmV0dXJuIG8oZSx7Y29tcGFjdDpmYWxzZSxjdXN0b21JbnNwZWN0OmZhbHNlLGRlcHRoOjFlMyxtYXhBcnJheUxlbmd0aDpJbmZpbml0eSxzaG93SGlkZGVuOmZhbHNlLGJyZWFrTGVuZ3RoOkluZmluaXR5LHNob3dQcm94eTpmYWxzZSxzb3J0ZWQ6dHJ1ZSxnZXR0ZXJzOnRydWV9KX1mdW5jdGlvbiBjcmVhdGVFcnJEaWZmKGUsdCxyKXt2YXIgbj1cIlwiO3ZhciBvPVwiXCI7dmFyIGk9MDt2YXIgYT1cIlwiO3ZhciB5PWZhbHNlO3ZhciBnPWluc3BlY3RWYWx1ZShlKTt2YXIgdj1nLnNwbGl0KFwiXFxuXCIpO3ZhciBkPWluc3BlY3RWYWx1ZSh0KS5zcGxpdChcIlxcblwiKTt2YXIgYj0wO3ZhciBoPVwiXCI7aWYocj09PVwic3RyaWN0RXF1YWxcIiYmX3R5cGVvZihlKT09PVwib2JqZWN0XCImJl90eXBlb2YodCk9PT1cIm9iamVjdFwiJiZlIT09bnVsbCYmdCE9PW51bGwpe3I9XCJzdHJpY3RFcXVhbE9iamVjdFwifWlmKHYubGVuZ3RoPT09MSYmZC5sZW5ndGg9PT0xJiZ2WzBdIT09ZFswXSl7dmFyIG09dlswXS5sZW5ndGgrZFswXS5sZW5ndGg7aWYobTw9cCl7aWYoKF90eXBlb2YoZSkhPT1cIm9iamVjdFwifHxlPT09bnVsbCkmJihfdHlwZW9mKHQpIT09XCJvYmplY3RcInx8dD09PW51bGwpJiYoZSE9PTB8fHQhPT0wKSl7cmV0dXJuXCJcIi5jb25jYXQobFtyXSxcIlxcblxcblwiKStcIlwiLmNvbmNhdCh2WzBdLFwiICE9PSBcIikuY29uY2F0KGRbMF0sXCJcXG5cIil9fWVsc2UgaWYociE9PVwic3RyaWN0RXF1YWxPYmplY3RcIil7dmFyIFM9cHJvY2Vzcy5zdGRlcnImJnByb2Nlc3Muc3RkZXJyLmlzVFRZP3Byb2Nlc3Muc3RkZXJyLmNvbHVtbnM6ODA7aWYobTxTKXt3aGlsZSh2WzBdW2JdPT09ZFswXVtiXSl7YisrfWlmKGI+Mil7aD1cIlxcbiAgXCIuY29uY2F0KHJlcGVhdChcIiBcIixiKSxcIl5cIik7Yj0wfX19fXZhciBFPXZbdi5sZW5ndGgtMV07dmFyIE89ZFtkLmxlbmd0aC0xXTt3aGlsZShFPT09Tyl7aWYoYisrPDIpe2E9XCJcXG4gIFwiLmNvbmNhdChFKS5jb25jYXQoYSl9ZWxzZXtuPUV9di5wb3AoKTtkLnBvcCgpO2lmKHYubGVuZ3RoPT09MHx8ZC5sZW5ndGg9PT0wKWJyZWFrO0U9dlt2Lmxlbmd0aC0xXTtPPWRbZC5sZW5ndGgtMV19dmFyIHc9TWF0aC5tYXgodi5sZW5ndGgsZC5sZW5ndGgpO2lmKHc9PT0wKXt2YXIgQT1nLnNwbGl0KFwiXFxuXCIpO2lmKEEubGVuZ3RoPjMwKXtBWzI2XT1cIlwiLmNvbmNhdChjLFwiLi4uXCIpLmNvbmNhdChzKTt3aGlsZShBLmxlbmd0aD4yNyl7QS5wb3AoKX19cmV0dXJuXCJcIi5jb25jYXQobC5ub3RJZGVudGljYWwsXCJcXG5cXG5cIikuY29uY2F0KEEuam9pbihcIlxcblwiKSxcIlxcblwiKX1pZihiPjMpe2E9XCJcXG5cIi5jb25jYXQoYyxcIi4uLlwiKS5jb25jYXQocykuY29uY2F0KGEpO3k9dHJ1ZX1pZihuIT09XCJcIil7YT1cIlxcbiAgXCIuY29uY2F0KG4pLmNvbmNhdChhKTtuPVwiXCJ9dmFyIGo9MDt2YXIgUD1sW3JdK1wiXFxuXCIuY29uY2F0KHUsXCIrIGFjdHVhbFwiKS5jb25jYXQocyxcIiBcIikuY29uY2F0KGYsXCItIGV4cGVjdGVkXCIpLmNvbmNhdChzKTt2YXIgXz1cIiBcIi5jb25jYXQoYyxcIi4uLlwiKS5jb25jYXQocyxcIiBMaW5lcyBza2lwcGVkXCIpO2ZvcihiPTA7Yjx3O2IrKyl7dmFyIHg9Yi1pO2lmKHYubGVuZ3RoPGIrMSl7aWYoeD4xJiZiPjIpe2lmKHg+NCl7bys9XCJcXG5cIi5jb25jYXQoYyxcIi4uLlwiKS5jb25jYXQocyk7eT10cnVlfWVsc2UgaWYoeD4zKXtvKz1cIlxcbiAgXCIuY29uY2F0KGRbYi0yXSk7aisrfW8rPVwiXFxuICBcIi5jb25jYXQoZFtiLTFdKTtqKyt9aT1iO24rPVwiXFxuXCIuY29uY2F0KGYsXCItXCIpLmNvbmNhdChzLFwiIFwiKS5jb25jYXQoZFtiXSk7aisrfWVsc2UgaWYoZC5sZW5ndGg8YisxKXtpZih4PjEmJmI+Mil7aWYoeD40KXtvKz1cIlxcblwiLmNvbmNhdChjLFwiLi4uXCIpLmNvbmNhdChzKTt5PXRydWV9ZWxzZSBpZih4PjMpe28rPVwiXFxuICBcIi5jb25jYXQodltiLTJdKTtqKyt9bys9XCJcXG4gIFwiLmNvbmNhdCh2W2ItMV0pO2orK31pPWI7bys9XCJcXG5cIi5jb25jYXQodSxcIitcIikuY29uY2F0KHMsXCIgXCIpLmNvbmNhdCh2W2JdKTtqKyt9ZWxzZXt2YXIgaz1kW2JdO3ZhciBUPXZbYl07dmFyIEk9VCE9PWsmJighZW5kc1dpdGgoVCxcIixcIil8fFQuc2xpY2UoMCwtMSkhPT1rKTtpZihJJiZlbmRzV2l0aChrLFwiLFwiKSYmay5zbGljZSgwLC0xKT09PVQpe0k9ZmFsc2U7VCs9XCIsXCJ9aWYoSSl7aWYoeD4xJiZiPjIpe2lmKHg+NCl7bys9XCJcXG5cIi5jb25jYXQoYyxcIi4uLlwiKS5jb25jYXQocyk7eT10cnVlfWVsc2UgaWYoeD4zKXtvKz1cIlxcbiAgXCIuY29uY2F0KHZbYi0yXSk7aisrfW8rPVwiXFxuICBcIi5jb25jYXQodltiLTFdKTtqKyt9aT1iO28rPVwiXFxuXCIuY29uY2F0KHUsXCIrXCIpLmNvbmNhdChzLFwiIFwiKS5jb25jYXQoVCk7bis9XCJcXG5cIi5jb25jYXQoZixcIi1cIikuY29uY2F0KHMsXCIgXCIpLmNvbmNhdChrKTtqKz0yfWVsc2V7bys9bjtuPVwiXCI7aWYoeD09PTF8fGI9PT0wKXtvKz1cIlxcbiAgXCIuY29uY2F0KFQpO2orK319fWlmKGo+MjAmJmI8dy0yKXtyZXR1cm5cIlwiLmNvbmNhdChQKS5jb25jYXQoXyxcIlxcblwiKS5jb25jYXQobyxcIlxcblwiKS5jb25jYXQoYyxcIi4uLlwiKS5jb25jYXQocykuY29uY2F0KG4sXCJcXG5cIikrXCJcIi5jb25jYXQoYyxcIi4uLlwiKS5jb25jYXQocyl9fXJldHVyblwiXCIuY29uY2F0KFApLmNvbmNhdCh5P186XCJcIixcIlxcblwiKS5jb25jYXQobykuY29uY2F0KG4pLmNvbmNhdChhKS5jb25jYXQoaCl9dmFyIHk9ZnVuY3Rpb24oZSl7X2luaGVyaXRzKEFzc2VydGlvbkVycm9yLGUpO2Z1bmN0aW9uIEFzc2VydGlvbkVycm9yKGUpe3ZhciB0O19jbGFzc0NhbGxDaGVjayh0aGlzLEFzc2VydGlvbkVycm9yKTtpZihfdHlwZW9mKGUpIT09XCJvYmplY3RcInx8ZT09PW51bGwpe3Rocm93IG5ldyBhKFwib3B0aW9uc1wiLFwiT2JqZWN0XCIsZSl9dmFyIHI9ZS5tZXNzYWdlLG49ZS5vcGVyYXRvcixvPWUuc3RhY2tTdGFydEZuO3ZhciBpPWUuYWN0dWFsLHA9ZS5leHBlY3RlZDt2YXIgeT1FcnJvci5zdGFja1RyYWNlTGltaXQ7RXJyb3Iuc3RhY2tUcmFjZUxpbWl0PTA7aWYociE9bnVsbCl7dD1fcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLF9nZXRQcm90b3R5cGVPZihBc3NlcnRpb25FcnJvcikuY2FsbCh0aGlzLFN0cmluZyhyKSkpfWVsc2V7aWYocHJvY2Vzcy5zdGRlcnImJnByb2Nlc3Muc3RkZXJyLmlzVFRZKXtpZihwcm9jZXNzLnN0ZGVyciYmcHJvY2Vzcy5zdGRlcnIuZ2V0Q29sb3JEZXB0aCYmcHJvY2Vzcy5zdGRlcnIuZ2V0Q29sb3JEZXB0aCgpIT09MSl7Yz1cIlx1MDAxYlszNG1cIjt1PVwiXHUwMDFiWzMybVwiO3M9XCJcdTAwMWJbMzltXCI7Zj1cIlx1MDAxYlszMW1cIn1lbHNle2M9XCJcIjt1PVwiXCI7cz1cIlwiO2Y9XCJcIn19aWYoX3R5cGVvZihpKT09PVwib2JqZWN0XCImJmkhPT1udWxsJiZfdHlwZW9mKHApPT09XCJvYmplY3RcIiYmcCE9PW51bGwmJlwic3RhY2tcImluIGkmJmkgaW5zdGFuY2VvZiBFcnJvciYmXCJzdGFja1wiaW4gcCYmcCBpbnN0YW5jZW9mIEVycm9yKXtpPWNvcHlFcnJvcihpKTtwPWNvcHlFcnJvcihwKX1pZihuPT09XCJkZWVwU3RyaWN0RXF1YWxcInx8bj09PVwic3RyaWN0RXF1YWxcIil7dD1fcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLF9nZXRQcm90b3R5cGVPZihBc3NlcnRpb25FcnJvcikuY2FsbCh0aGlzLGNyZWF0ZUVyckRpZmYoaSxwLG4pKSl9ZWxzZSBpZihuPT09XCJub3REZWVwU3RyaWN0RXF1YWxcInx8bj09PVwibm90U3RyaWN0RXF1YWxcIil7dmFyIGc9bFtuXTt2YXIgdj1pbnNwZWN0VmFsdWUoaSkuc3BsaXQoXCJcXG5cIik7aWYobj09PVwibm90U3RyaWN0RXF1YWxcIiYmX3R5cGVvZihpKT09PVwib2JqZWN0XCImJmkhPT1udWxsKXtnPWwubm90U3RyaWN0RXF1YWxPYmplY3R9aWYodi5sZW5ndGg+MzApe3ZbMjZdPVwiXCIuY29uY2F0KGMsXCIuLi5cIikuY29uY2F0KHMpO3doaWxlKHYubGVuZ3RoPjI3KXt2LnBvcCgpfX1pZih2Lmxlbmd0aD09PTEpe3Q9X3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcyxfZ2V0UHJvdG90eXBlT2YoQXNzZXJ0aW9uRXJyb3IpLmNhbGwodGhpcyxcIlwiLmNvbmNhdChnLFwiIFwiKS5jb25jYXQodlswXSkpKX1lbHNle3Q9X3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcyxfZ2V0UHJvdG90eXBlT2YoQXNzZXJ0aW9uRXJyb3IpLmNhbGwodGhpcyxcIlwiLmNvbmNhdChnLFwiXFxuXFxuXCIpLmNvbmNhdCh2LmpvaW4oXCJcXG5cIiksXCJcXG5cIikpKX19ZWxzZXt2YXIgZD1pbnNwZWN0VmFsdWUoaSk7dmFyIGI9XCJcIjt2YXIgaD1sW25dO2lmKG49PT1cIm5vdERlZXBFcXVhbFwifHxuPT09XCJub3RFcXVhbFwiKXtkPVwiXCIuY29uY2F0KGxbbl0sXCJcXG5cXG5cIikuY29uY2F0KGQpO2lmKGQubGVuZ3RoPjEwMjQpe2Q9XCJcIi5jb25jYXQoZC5zbGljZSgwLDEwMjEpLFwiLi4uXCIpfX1lbHNle2I9XCJcIi5jb25jYXQoaW5zcGVjdFZhbHVlKHApKTtpZihkLmxlbmd0aD41MTIpe2Q9XCJcIi5jb25jYXQoZC5zbGljZSgwLDUwOSksXCIuLi5cIil9aWYoYi5sZW5ndGg+NTEyKXtiPVwiXCIuY29uY2F0KGIuc2xpY2UoMCw1MDkpLFwiLi4uXCIpfWlmKG49PT1cImRlZXBFcXVhbFwifHxuPT09XCJlcXVhbFwiKXtkPVwiXCIuY29uY2F0KGgsXCJcXG5cXG5cIikuY29uY2F0KGQsXCJcXG5cXG5zaG91bGQgZXF1YWxcXG5cXG5cIil9ZWxzZXtiPVwiIFwiLmNvbmNhdChuLFwiIFwiKS5jb25jYXQoYil9fXQ9X3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcyxfZ2V0UHJvdG90eXBlT2YoQXNzZXJ0aW9uRXJyb3IpLmNhbGwodGhpcyxcIlwiLmNvbmNhdChkKS5jb25jYXQoYikpKX19RXJyb3Iuc3RhY2tUcmFjZUxpbWl0PXk7dC5nZW5lcmF0ZWRNZXNzYWdlPSFyO09iamVjdC5kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHQpLFwibmFtZVwiLHt2YWx1ZTpcIkFzc2VydGlvbkVycm9yIFtFUlJfQVNTRVJUSU9OXVwiLGVudW1lcmFibGU6ZmFsc2Usd3JpdGFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZX0pO3QuY29kZT1cIkVSUl9BU1NFUlRJT05cIjt0LmFjdHVhbD1pO3QuZXhwZWN0ZWQ9cDt0Lm9wZXJhdG9yPW47aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2Upe0Vycm9yLmNhcHR1cmVTdGFja1RyYWNlKF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQodCksbyl9dC5zdGFjazt0Lm5hbWU9XCJBc3NlcnRpb25FcnJvclwiO3JldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0KX1fY3JlYXRlQ2xhc3MoQXNzZXJ0aW9uRXJyb3IsW3trZXk6XCJ0b1N0cmluZ1wiLHZhbHVlOmZ1bmN0aW9uIHRvU3RyaW5nKCl7cmV0dXJuXCJcIi5jb25jYXQodGhpcy5uYW1lLFwiIFtcIikuY29uY2F0KHRoaXMuY29kZSxcIl06IFwiKS5jb25jYXQodGhpcy5tZXNzYWdlKX19LHtrZXk6by5jdXN0b20sdmFsdWU6ZnVuY3Rpb24gdmFsdWUoZSx0KXtyZXR1cm4gbyh0aGlzLF9vYmplY3RTcHJlYWQoe30sdCx7Y3VzdG9tSW5zcGVjdDpmYWxzZSxkZXB0aDowfSkpfX1dKTtyZXR1cm4gQXNzZXJ0aW9uRXJyb3J9KF93cmFwTmF0aXZlU3VwZXIoRXJyb3IpKTtlLmV4cG9ydHM9eX0sMjM6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIF90eXBlb2YoZSl7aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09PVwic3ltYm9sXCIpe190eXBlb2Y9ZnVuY3Rpb24gX3R5cGVvZihlKXtyZXR1cm4gdHlwZW9mIGV9fWVsc2V7X3R5cGVvZj1mdW5jdGlvbiBfdHlwZW9mKGUpe3JldHVybiBlJiZ0eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfX1yZXR1cm4gX3R5cGVvZihlKX1mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX19ZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oZSx0KXtpZih0JiYoX3R5cGVvZih0KT09PVwib2JqZWN0XCJ8fHR5cGVvZiB0PT09XCJmdW5jdGlvblwiKSl7cmV0dXJuIHR9cmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoZSl9ZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChlKXtpZihlPT09dm9pZCAwKXt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIil9cmV0dXJuIGV9ZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKGUpe19nZXRQcm90b3R5cGVPZj1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihlKXtyZXR1cm4gZS5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKX07cmV0dXJuIF9nZXRQcm90b3R5cGVPZihlKX1mdW5jdGlvbiBfaW5oZXJpdHMoZSx0KXtpZih0eXBlb2YgdCE9PVwiZnVuY3Rpb25cIiYmdCE9PW51bGwpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKX1lLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSx3cml0YWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTp0cnVlfX0pO2lmKHQpX3NldFByb3RvdHlwZU9mKGUsdCl9ZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKGUsdCl7X3NldFByb3RvdHlwZU9mPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKGUsdCl7ZS5fX3Byb3RvX189dDtyZXR1cm4gZX07cmV0dXJuIF9zZXRQcm90b3R5cGVPZihlLHQpfXZhciBuPXt9O3ZhciBvO3ZhciBpO2Z1bmN0aW9uIGNyZWF0ZUVycm9yVHlwZShlLHQscil7aWYoIXIpe3I9RXJyb3J9ZnVuY3Rpb24gZ2V0TWVzc2FnZShlLHIsbil7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiKXtyZXR1cm4gdH1lbHNle3JldHVybiB0KGUscixuKX19dmFyIG89ZnVuY3Rpb24odCl7X2luaGVyaXRzKE5vZGVFcnJvcix0KTtmdW5jdGlvbiBOb2RlRXJyb3IodCxyLG4pe3ZhciBvO19jbGFzc0NhbGxDaGVjayh0aGlzLE5vZGVFcnJvcik7bz1fcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLF9nZXRQcm90b3R5cGVPZihOb2RlRXJyb3IpLmNhbGwodGhpcyxnZXRNZXNzYWdlKHQscixuKSkpO28uY29kZT1lO3JldHVybiBvfXJldHVybiBOb2RlRXJyb3J9KHIpO25bZV09b31mdW5jdGlvbiBvbmVPZihlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciByPWUubGVuZ3RoO2U9ZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBTdHJpbmcoZSl9KSk7aWYocj4yKXtyZXR1cm5cIm9uZSBvZiBcIi5jb25jYXQodCxcIiBcIikuY29uY2F0KGUuc2xpY2UoMCxyLTEpLmpvaW4oXCIsIFwiKSxcIiwgb3IgXCIpK2Vbci0xXX1lbHNlIGlmKHI9PT0yKXtyZXR1cm5cIm9uZSBvZiBcIi5jb25jYXQodCxcIiBcIikuY29uY2F0KGVbMF0sXCIgb3IgXCIpLmNvbmNhdChlWzFdKX1lbHNle3JldHVyblwib2YgXCIuY29uY2F0KHQsXCIgXCIpLmNvbmNhdChlWzBdKX19ZWxzZXtyZXR1cm5cIm9mIFwiLmNvbmNhdCh0LFwiIFwiKS5jb25jYXQoU3RyaW5nKGUpKX19ZnVuY3Rpb24gc3RhcnRzV2l0aChlLHQscil7cmV0dXJuIGUuc3Vic3RyKCFyfHxyPDA/MDorcix0Lmxlbmd0aCk9PT10fWZ1bmN0aW9uIGVuZHNXaXRoKGUsdCxyKXtpZihyPT09dW5kZWZpbmVkfHxyPmUubGVuZ3RoKXtyPWUubGVuZ3RofXJldHVybiBlLnN1YnN0cmluZyhyLXQubGVuZ3RoLHIpPT09dH1mdW5jdGlvbiBpbmNsdWRlcyhlLHQscil7aWYodHlwZW9mIHIhPT1cIm51bWJlclwiKXtyPTB9aWYocit0Lmxlbmd0aD5lLmxlbmd0aCl7cmV0dXJuIGZhbHNlfWVsc2V7cmV0dXJuIGUuaW5kZXhPZih0LHIpIT09LTF9fWNyZWF0ZUVycm9yVHlwZShcIkVSUl9BTUJJR1VPVVNfQVJHVU1FTlRcIiwnVGhlIFwiJXNcIiBhcmd1bWVudCBpcyBhbWJpZ3VvdXMuICVzJyxUeXBlRXJyb3IpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX0FSR19UWVBFXCIsKGZ1bmN0aW9uKGUsdCxuKXtpZihvPT09dW5kZWZpbmVkKW89cigxNjcpO28odHlwZW9mIGU9PT1cInN0cmluZ1wiLFwiJ25hbWUnIG11c3QgYmUgYSBzdHJpbmdcIik7dmFyIGk7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiJiZzdGFydHNXaXRoKHQsXCJub3QgXCIpKXtpPVwibXVzdCBub3QgYmVcIjt0PXQucmVwbGFjZSgvXm5vdCAvLFwiXCIpfWVsc2V7aT1cIm11c3QgYmVcIn12YXIgYTtpZihlbmRzV2l0aChlLFwiIGFyZ3VtZW50XCIpKXthPVwiVGhlIFwiLmNvbmNhdChlLFwiIFwiKS5jb25jYXQoaSxcIiBcIikuY29uY2F0KG9uZU9mKHQsXCJ0eXBlXCIpKX1lbHNle3ZhciBjPWluY2x1ZGVzKGUsXCIuXCIpP1wicHJvcGVydHlcIjpcImFyZ3VtZW50XCI7YT0nVGhlIFwiJy5jb25jYXQoZSwnXCIgJykuY29uY2F0KGMsXCIgXCIpLmNvbmNhdChpLFwiIFwiKS5jb25jYXQob25lT2YodCxcInR5cGVcIikpfWErPVwiLiBSZWNlaXZlZCB0eXBlIFwiLmNvbmNhdChfdHlwZW9mKG4pKTtyZXR1cm4gYX0pLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX0lOVkFMSURfQVJHX1ZBTFVFXCIsKGZ1bmN0aW9uKGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZhcmd1bWVudHNbMl0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzJdOlwiaXMgaW52YWxpZFwiO2lmKGk9PT11bmRlZmluZWQpaT1yKDE3Nyk7dmFyIG89aS5pbnNwZWN0KHQpO2lmKG8ubGVuZ3RoPjEyOCl7bz1cIlwiLmNvbmNhdChvLnNsaWNlKDAsMTI4KSxcIi4uLlwiKX1yZXR1cm5cIlRoZSBhcmd1bWVudCAnXCIuY29uY2F0KGUsXCInIFwiKS5jb25jYXQobixcIi4gUmVjZWl2ZWQgXCIpLmNvbmNhdChvKX0pLFR5cGVFcnJvcixSYW5nZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9SRVRVUk5fVkFMVUVcIiwoZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2lmKHImJnIuY29uc3RydWN0b3ImJnIuY29uc3RydWN0b3IubmFtZSl7bj1cImluc3RhbmNlIG9mIFwiLmNvbmNhdChyLmNvbnN0cnVjdG9yLm5hbWUpfWVsc2V7bj1cInR5cGUgXCIuY29uY2F0KF90eXBlb2YocikpfXJldHVyblwiRXhwZWN0ZWQgXCIuY29uY2F0KGUsJyB0byBiZSByZXR1cm5lZCBmcm9tIHRoZSBcIicpLmNvbmNhdCh0LCdcIicpK1wiIGZ1bmN0aW9uIGJ1dCBnb3QgXCIuY29uY2F0KG4sXCIuXCIpfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfTUlTU0lOR19BUkdTXCIsKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspe3Rbbl09YXJndW1lbnRzW25dfWlmKG89PT11bmRlZmluZWQpbz1yKDE2Nyk7byh0Lmxlbmd0aD4wLFwiQXQgbGVhc3Qgb25lIGFyZyBuZWVkcyB0byBiZSBzcGVjaWZpZWRcIik7dmFyIGk9XCJUaGUgXCI7dmFyIGE9dC5sZW5ndGg7dD10Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuJ1wiJy5jb25jYXQoZSwnXCInKX0pKTtzd2l0Y2goYSl7Y2FzZSAxOmkrPVwiXCIuY29uY2F0KHRbMF0sXCIgYXJndW1lbnRcIik7YnJlYWs7Y2FzZSAyOmkrPVwiXCIuY29uY2F0KHRbMF0sXCIgYW5kIFwiKS5jb25jYXQodFsxXSxcIiBhcmd1bWVudHNcIik7YnJlYWs7ZGVmYXVsdDppKz10LnNsaWNlKDAsYS0xKS5qb2luKFwiLCBcIik7aSs9XCIsIGFuZCBcIi5jb25jYXQodFthLTFdLFwiIGFyZ3VtZW50c1wiKTticmVha31yZXR1cm5cIlwiLmNvbmNhdChpLFwiIG11c3QgYmUgc3BlY2lmaWVkXCIpfSksVHlwZUVycm9yKTtlLmV4cG9ydHMuY29kZXM9bn0sMTc2OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBfc2xpY2VkVG9BcnJheShlLHQpe3JldHVybiBfYXJyYXlXaXRoSG9sZXMoZSl8fF9pdGVyYWJsZVRvQXJyYXlMaW1pdChlLHQpfHxfbm9uSXRlcmFibGVSZXN0KCl9ZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpfWZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChlLHQpe3ZhciByPVtdO3ZhciBuPXRydWU7dmFyIG89ZmFsc2U7dmFyIGk9dW5kZWZpbmVkO3RyeXtmb3IodmFyIGE9ZVtTeW1ib2wuaXRlcmF0b3JdKCksYzshKG49KGM9YS5uZXh0KCkpLmRvbmUpO249dHJ1ZSl7ci5wdXNoKGMudmFsdWUpO2lmKHQmJnIubGVuZ3RoPT09dClicmVha319Y2F0Y2goZSl7bz10cnVlO2k9ZX1maW5hbGx5e3RyeXtpZighbiYmYVtcInJldHVyblwiXSE9bnVsbClhW1wicmV0dXJuXCJdKCl9ZmluYWxseXtpZihvKXRocm93IGl9fXJldHVybiByfWZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfWZ1bmN0aW9uIF90eXBlb2YoZSl7aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09PVwic3ltYm9sXCIpe190eXBlb2Y9ZnVuY3Rpb24gX3R5cGVvZihlKXtyZXR1cm4gdHlwZW9mIGV9fWVsc2V7X3R5cGVvZj1mdW5jdGlvbiBfdHlwZW9mKGUpe3JldHVybiBlJiZ0eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfX1yZXR1cm4gX3R5cGVvZihlKX12YXIgbj0vYS9nLmZsYWdzIT09dW5kZWZpbmVkO3ZhciBvPWZ1bmN0aW9uIGFycmF5RnJvbVNldChlKXt2YXIgdD1bXTtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LnB1c2goZSl9KSk7cmV0dXJuIHR9O3ZhciBpPWZ1bmN0aW9uIGFycmF5RnJvbU1hcChlKXt2YXIgdD1bXTtlLmZvckVhY2goKGZ1bmN0aW9uKGUscil7cmV0dXJuIHQucHVzaChbcixlXSl9KSk7cmV0dXJuIHR9O3ZhciBhPU9iamVjdC5pcz9PYmplY3QuaXM6cigyMDgpO3ZhciBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczpmdW5jdGlvbigpe3JldHVybltdfTt2YXIgdT1OdW1iZXIuaXNOYU4/TnVtYmVyLmlzTmFOOnIoNzE4KTtmdW5jdGlvbiB1bmN1cnJ5VGhpcyhlKXtyZXR1cm4gZS5jYWxsLmJpbmQoZSl9dmFyIGY9dW5jdXJyeVRoaXMoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7dmFyIHM9dW5jdXJyeVRoaXMoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSk7dmFyIGw9dW5jdXJyeVRoaXMoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyk7dmFyIHA9cigxNzcpLnR5cGVzLHk9cC5pc0FueUFycmF5QnVmZmVyLGc9cC5pc0FycmF5QnVmZmVyVmlldyx2PXAuaXNEYXRlLGQ9cC5pc01hcCxiPXAuaXNSZWdFeHAsaD1wLmlzU2V0LG09cC5pc05hdGl2ZUVycm9yLFM9cC5pc0JveGVkUHJpbWl0aXZlLEU9cC5pc051bWJlck9iamVjdCxPPXAuaXNTdHJpbmdPYmplY3Qsdz1wLmlzQm9vbGVhbk9iamVjdCxBPXAuaXNCaWdJbnRPYmplY3Qsaj1wLmlzU3ltYm9sT2JqZWN0LFA9cC5pc0Zsb2F0MzJBcnJheSxfPXAuaXNGbG9hdDY0QXJyYXk7ZnVuY3Rpb24gaXNOb25JbmRleChlKXtpZihlLmxlbmd0aD09PTB8fGUubGVuZ3RoPjEwKXJldHVybiB0cnVlO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lLmNoYXJDb2RlQXQodCk7aWYocjw0OHx8cj41NylyZXR1cm4gdHJ1ZX1yZXR1cm4gZS5sZW5ndGg9PT0xMCYmZT49TWF0aC5wb3coMiwzMil9ZnVuY3Rpb24gZ2V0T3duTm9uSW5kZXhQcm9wZXJ0aWVzKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5maWx0ZXIoaXNOb25JbmRleCkuY29uY2F0KGMoZSkuZmlsdGVyKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuYmluZChlKSkpfVxuLyohXG4gKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci5cbiAqXG4gKiBAYXV0aG9yICAgRmVyb3NzIEFib3VraGFkaWplaCA8ZmVyb3NzQGZlcm9zcy5vcmc+IDxodHRwOi8vZmVyb3NzLm9yZz5cbiAqIEBsaWNlbnNlICBNSVRcbiAqL2Z1bmN0aW9uIGNvbXBhcmUoZSx0KXtpZihlPT09dCl7cmV0dXJuIDB9dmFyIHI9ZS5sZW5ndGg7dmFyIG49dC5sZW5ndGg7Zm9yKHZhciBvPTAsaT1NYXRoLm1pbihyLG4pO288aTsrK28pe2lmKGVbb10hPT10W29dKXtyPWVbb107bj10W29dO2JyZWFrfX1pZihyPG4pe3JldHVybi0xfWlmKG48cil7cmV0dXJuIDF9cmV0dXJuIDB9dmFyIHg9dW5kZWZpbmVkO3ZhciBrPXRydWU7dmFyIFQ9ZmFsc2U7dmFyIEk9MDt2YXIgTj0xO3ZhciBGPTI7dmFyIFI9MztmdW5jdGlvbiBhcmVTaW1pbGFyUmVnRXhwcyhlLHQpe3JldHVybiBuP2Uuc291cmNlPT09dC5zb3VyY2UmJmUuZmxhZ3M9PT10LmZsYWdzOlJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PVJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBhcmVTaW1pbGFyRmxvYXRBcnJheXMoZSx0KXtpZihlLmJ5dGVMZW5ndGghPT10LmJ5dGVMZW5ndGgpe3JldHVybiBmYWxzZX1mb3IodmFyIHI9MDtyPGUuYnl0ZUxlbmd0aDtyKyspe2lmKGVbcl0hPT10W3JdKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfWZ1bmN0aW9uIGFyZVNpbWlsYXJUeXBlZEFycmF5cyhlLHQpe2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7cmV0dXJuIGZhbHNlfXJldHVybiBjb21wYXJlKG5ldyBVaW50OEFycmF5KGUuYnVmZmVyLGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpLG5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpKT09PTB9ZnVuY3Rpb24gYXJlRXF1YWxBcnJheUJ1ZmZlcnMoZSx0KXtyZXR1cm4gZS5ieXRlTGVuZ3RoPT09dC5ieXRlTGVuZ3RoJiZjb21wYXJlKG5ldyBVaW50OEFycmF5KGUpLG5ldyBVaW50OEFycmF5KHQpKT09PTB9ZnVuY3Rpb24gaXNFcXVhbEJveGVkUHJpbWl0aXZlKGUsdCl7aWYoRShlKSl7cmV0dXJuIEUodCkmJmEoTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoZSksTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodCkpfWlmKE8oZSkpe3JldHVybiBPKHQpJiZTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YuY2FsbChlKT09PVN0cmluZy5wcm90b3R5cGUudmFsdWVPZi5jYWxsKHQpfWlmKHcoZSkpe3JldHVybiB3KHQpJiZCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoZSk9PT1Cb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodCl9aWYoQShlKSl7cmV0dXJuIEEodCkmJkJpZ0ludC5wcm90b3R5cGUudmFsdWVPZi5jYWxsKGUpPT09QmlnSW50LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodCl9cmV0dXJuIGoodCkmJlN5bWJvbC5wcm90b3R5cGUudmFsdWVPZi5jYWxsKGUpPT09U3ltYm9sLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodCl9ZnVuY3Rpb24gaW5uZXJEZWVwRXF1YWwoZSx0LHIsbil7aWYoZT09PXQpe2lmKGUhPT0wKXJldHVybiB0cnVlO3JldHVybiByP2EoZSx0KTp0cnVlfWlmKHIpe2lmKF90eXBlb2YoZSkhPT1cIm9iamVjdFwiKXtyZXR1cm4gdHlwZW9mIGU9PT1cIm51bWJlclwiJiZ1KGUpJiZ1KHQpfWlmKF90eXBlb2YodCkhPT1cIm9iamVjdFwifHxlPT09bnVsbHx8dD09PW51bGwpe3JldHVybiBmYWxzZX1pZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpe3JldHVybiBmYWxzZX19ZWxzZXtpZihlPT09bnVsbHx8X3R5cGVvZihlKSE9PVwib2JqZWN0XCIpe2lmKHQ9PT1udWxsfHxfdHlwZW9mKHQpIT09XCJvYmplY3RcIil7cmV0dXJuIGU9PXR9cmV0dXJuIGZhbHNlfWlmKHQ9PT1udWxsfHxfdHlwZW9mKHQpIT09XCJvYmplY3RcIil7cmV0dXJuIGZhbHNlfX12YXIgbz1sKGUpO3ZhciBpPWwodCk7aWYobyE9PWkpe3JldHVybiBmYWxzZX1pZihBcnJheS5pc0FycmF5KGUpKXtpZihlLmxlbmd0aCE9PXQubGVuZ3RoKXtyZXR1cm4gZmFsc2V9dmFyIGM9Z2V0T3duTm9uSW5kZXhQcm9wZXJ0aWVzKGUseCk7dmFyIGY9Z2V0T3duTm9uSW5kZXhQcm9wZXJ0aWVzKHQseCk7aWYoYy5sZW5ndGghPT1mLmxlbmd0aCl7cmV0dXJuIGZhbHNlfXJldHVybiBrZXlDaGVjayhlLHQscixuLE4sYyl9aWYobz09PVwiW29iamVjdCBPYmplY3RdXCIpe2lmKCFkKGUpJiZkKHQpfHwhaChlKSYmaCh0KSl7cmV0dXJuIGZhbHNlfX1pZih2KGUpKXtpZighdih0KXx8RGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5jYWxsKGUpIT09RGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5jYWxsKHQpKXtyZXR1cm4gZmFsc2V9fWVsc2UgaWYoYihlKSl7aWYoIWIodCl8fCFhcmVTaW1pbGFyUmVnRXhwcyhlLHQpKXtyZXR1cm4gZmFsc2V9fWVsc2UgaWYobShlKXx8ZSBpbnN0YW5jZW9mIEVycm9yKXtpZihlLm1lc3NhZ2UhPT10Lm1lc3NhZ2V8fGUubmFtZSE9PXQubmFtZSl7cmV0dXJuIGZhbHNlfX1lbHNlIGlmKGcoZSkpe2lmKCFyJiYoUChlKXx8XyhlKSkpe2lmKCFhcmVTaW1pbGFyRmxvYXRBcnJheXMoZSx0KSl7cmV0dXJuIGZhbHNlfX1lbHNlIGlmKCFhcmVTaW1pbGFyVHlwZWRBcnJheXMoZSx0KSl7cmV0dXJuIGZhbHNlfXZhciBzPWdldE93bk5vbkluZGV4UHJvcGVydGllcyhlLHgpO3ZhciBwPWdldE93bk5vbkluZGV4UHJvcGVydGllcyh0LHgpO2lmKHMubGVuZ3RoIT09cC5sZW5ndGgpe3JldHVybiBmYWxzZX1yZXR1cm4ga2V5Q2hlY2soZSx0LHIsbixJLHMpfWVsc2UgaWYoaChlKSl7aWYoIWgodCl8fGUuc2l6ZSE9PXQuc2l6ZSl7cmV0dXJuIGZhbHNlfXJldHVybiBrZXlDaGVjayhlLHQscixuLEYpfWVsc2UgaWYoZChlKSl7aWYoIWQodCl8fGUuc2l6ZSE9PXQuc2l6ZSl7cmV0dXJuIGZhbHNlfXJldHVybiBrZXlDaGVjayhlLHQscixuLFIpfWVsc2UgaWYoeShlKSl7aWYoIWFyZUVxdWFsQXJyYXlCdWZmZXJzKGUsdCkpe3JldHVybiBmYWxzZX19ZWxzZSBpZihTKGUpJiYhaXNFcXVhbEJveGVkUHJpbWl0aXZlKGUsdCkpe3JldHVybiBmYWxzZX1yZXR1cm4ga2V5Q2hlY2soZSx0LHIsbixJKX1mdW5jdGlvbiBnZXRFbnVtZXJhYmxlcyhlLHQpe3JldHVybiB0LmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHMoZSx0KX0pKX1mdW5jdGlvbiBrZXlDaGVjayhlLHQscixuLG8saSl7aWYoYXJndW1lbnRzLmxlbmd0aD09PTUpe2k9T2JqZWN0LmtleXMoZSk7dmFyIGE9T2JqZWN0LmtleXModCk7aWYoaS5sZW5ndGghPT1hLmxlbmd0aCl7cmV0dXJuIGZhbHNlfX12YXIgdT0wO2Zvcig7dTxpLmxlbmd0aDt1Kyspe2lmKCFmKHQsaVt1XSkpe3JldHVybiBmYWxzZX19aWYociYmYXJndW1lbnRzLmxlbmd0aD09PTUpe3ZhciBsPWMoZSk7aWYobC5sZW5ndGghPT0wKXt2YXIgcD0wO2Zvcih1PTA7dTxsLmxlbmd0aDt1Kyspe3ZhciB5PWxbdV07aWYocyhlLHkpKXtpZighcyh0LHkpKXtyZXR1cm4gZmFsc2V9aS5wdXNoKHkpO3ArK31lbHNlIGlmKHModCx5KSl7cmV0dXJuIGZhbHNlfX12YXIgZz1jKHQpO2lmKGwubGVuZ3RoIT09Zy5sZW5ndGgmJmdldEVudW1lcmFibGVzKHQsZykubGVuZ3RoIT09cCl7cmV0dXJuIGZhbHNlfX1lbHNle3ZhciB2PWModCk7aWYodi5sZW5ndGghPT0wJiZnZXRFbnVtZXJhYmxlcyh0LHYpLmxlbmd0aCE9PTApe3JldHVybiBmYWxzZX19fWlmKGkubGVuZ3RoPT09MCYmKG89PT1JfHxvPT09TiYmZS5sZW5ndGg9PT0wfHxlLnNpemU9PT0wKSl7cmV0dXJuIHRydWV9aWYobj09PXVuZGVmaW5lZCl7bj17dmFsMTpuZXcgTWFwLHZhbDI6bmV3IE1hcCxwb3NpdGlvbjowfX1lbHNle3ZhciBkPW4udmFsMS5nZXQoZSk7aWYoZCE9PXVuZGVmaW5lZCl7dmFyIGI9bi52YWwyLmdldCh0KTtpZihiIT09dW5kZWZpbmVkKXtyZXR1cm4gZD09PWJ9fW4ucG9zaXRpb24rK31uLnZhbDEuc2V0KGUsbi5wb3NpdGlvbik7bi52YWwyLnNldCh0LG4ucG9zaXRpb24pO3ZhciBoPW9iakVxdWl2KGUsdCxyLGksbixvKTtuLnZhbDEuZGVsZXRlKGUpO24udmFsMi5kZWxldGUodCk7cmV0dXJuIGh9ZnVuY3Rpb24gc2V0SGFzRXF1YWxFbGVtZW50KGUsdCxyLG4pe3ZhciBpPW8oZSk7Zm9yKHZhciBhPTA7YTxpLmxlbmd0aDthKyspe3ZhciBjPWlbYV07aWYoaW5uZXJEZWVwRXF1YWwodCxjLHIsbikpe2UuZGVsZXRlKGMpO3JldHVybiB0cnVlfX1yZXR1cm4gZmFsc2V9ZnVuY3Rpb24gZmluZExvb3NlTWF0Y2hpbmdQcmltaXRpdmVzKGUpe3N3aXRjaChfdHlwZW9mKGUpKXtjYXNlXCJ1bmRlZmluZWRcIjpyZXR1cm4gbnVsbDtjYXNlXCJvYmplY3RcIjpyZXR1cm4gdW5kZWZpbmVkO2Nhc2VcInN5bWJvbFwiOnJldHVybiBmYWxzZTtjYXNlXCJzdHJpbmdcIjplPStlO2Nhc2VcIm51bWJlclwiOmlmKHUoZSkpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9ZnVuY3Rpb24gc2V0TWlnaHRIYXZlTG9vc2VQcmltKGUsdCxyKXt2YXIgbj1maW5kTG9vc2VNYXRjaGluZ1ByaW1pdGl2ZXMocik7aWYobiE9bnVsbClyZXR1cm4gbjtyZXR1cm4gdC5oYXMobikmJiFlLmhhcyhuKX1mdW5jdGlvbiBtYXBNaWdodEhhdmVMb29zZVByaW0oZSx0LHIsbixvKXt2YXIgaT1maW5kTG9vc2VNYXRjaGluZ1ByaW1pdGl2ZXMocik7aWYoaSE9bnVsbCl7cmV0dXJuIGl9dmFyIGE9dC5nZXQoaSk7aWYoYT09PXVuZGVmaW5lZCYmIXQuaGFzKGkpfHwhaW5uZXJEZWVwRXF1YWwobixhLGZhbHNlLG8pKXtyZXR1cm4gZmFsc2V9cmV0dXJuIWUuaGFzKGkpJiZpbm5lckRlZXBFcXVhbChuLGEsZmFsc2Usbyl9ZnVuY3Rpb24gc2V0RXF1aXYoZSx0LHIsbil7dmFyIGk9bnVsbDt2YXIgYT1vKGUpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgdT1hW2NdO2lmKF90eXBlb2YodSk9PT1cIm9iamVjdFwiJiZ1IT09bnVsbCl7aWYoaT09PW51bGwpe2k9bmV3IFNldH1pLmFkZCh1KX1lbHNlIGlmKCF0Lmhhcyh1KSl7aWYocilyZXR1cm4gZmFsc2U7aWYoIXNldE1pZ2h0SGF2ZUxvb3NlUHJpbShlLHQsdSkpe3JldHVybiBmYWxzZX1pZihpPT09bnVsbCl7aT1uZXcgU2V0fWkuYWRkKHUpfX1pZihpIT09bnVsbCl7dmFyIGY9byh0KTtmb3IodmFyIHM9MDtzPGYubGVuZ3RoO3MrKyl7dmFyIGw9ZltzXTtpZihfdHlwZW9mKGwpPT09XCJvYmplY3RcIiYmbCE9PW51bGwpe2lmKCFzZXRIYXNFcXVhbEVsZW1lbnQoaSxsLHIsbikpcmV0dXJuIGZhbHNlfWVsc2UgaWYoIXImJiFlLmhhcyhsKSYmIXNldEhhc0VxdWFsRWxlbWVudChpLGwscixuKSl7cmV0dXJuIGZhbHNlfX1yZXR1cm4gaS5zaXplPT09MH1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBtYXBIYXNFcXVhbEVudHJ5KGUsdCxyLG4saSxhKXt2YXIgYz1vKGUpO2Zvcih2YXIgdT0wO3U8Yy5sZW5ndGg7dSsrKXt2YXIgZj1jW3VdO2lmKGlubmVyRGVlcEVxdWFsKHIsZixpLGEpJiZpbm5lckRlZXBFcXVhbChuLHQuZ2V0KGYpLGksYSkpe2UuZGVsZXRlKGYpO3JldHVybiB0cnVlfX1yZXR1cm4gZmFsc2V9ZnVuY3Rpb24gbWFwRXF1aXYoZSx0LHIsbil7dmFyIG89bnVsbDt2YXIgYT1pKGUpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgdT1fc2xpY2VkVG9BcnJheShhW2NdLDIpLGY9dVswXSxzPXVbMV07aWYoX3R5cGVvZihmKT09PVwib2JqZWN0XCImJmYhPT1udWxsKXtpZihvPT09bnVsbCl7bz1uZXcgU2V0fW8uYWRkKGYpfWVsc2V7dmFyIGw9dC5nZXQoZik7aWYobD09PXVuZGVmaW5lZCYmIXQuaGFzKGYpfHwhaW5uZXJEZWVwRXF1YWwocyxsLHIsbikpe2lmKHIpcmV0dXJuIGZhbHNlO2lmKCFtYXBNaWdodEhhdmVMb29zZVByaW0oZSx0LGYscyxuKSlyZXR1cm4gZmFsc2U7aWYobz09PW51bGwpe289bmV3IFNldH1vLmFkZChmKX19fWlmKG8hPT1udWxsKXt2YXIgcD1pKHQpO2Zvcih2YXIgeT0wO3k8cC5sZW5ndGg7eSsrKXt2YXIgZz1fc2xpY2VkVG9BcnJheShwW3ldLDIpLGY9Z1swXSx2PWdbMV07aWYoX3R5cGVvZihmKT09PVwib2JqZWN0XCImJmYhPT1udWxsKXtpZighbWFwSGFzRXF1YWxFbnRyeShvLGUsZix2LHIsbikpcmV0dXJuIGZhbHNlfWVsc2UgaWYoIXImJighZS5oYXMoZil8fCFpbm5lckRlZXBFcXVhbChlLmdldChmKSx2LGZhbHNlLG4pKSYmIW1hcEhhc0VxdWFsRW50cnkobyxlLGYsdixmYWxzZSxuKSl7cmV0dXJuIGZhbHNlfX1yZXR1cm4gby5zaXplPT09MH1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBvYmpFcXVpdihlLHQscixuLG8saSl7dmFyIGE9MDtpZihpPT09Ril7aWYoIXNldEVxdWl2KGUsdCxyLG8pKXtyZXR1cm4gZmFsc2V9fWVsc2UgaWYoaT09PVIpe2lmKCFtYXBFcXVpdihlLHQscixvKSl7cmV0dXJuIGZhbHNlfX1lbHNlIGlmKGk9PT1OKXtmb3IoO2E8ZS5sZW5ndGg7YSsrKXtpZihmKGUsYSkpe2lmKCFmKHQsYSl8fCFpbm5lckRlZXBFcXVhbChlW2FdLHRbYV0scixvKSl7cmV0dXJuIGZhbHNlfX1lbHNlIGlmKGYodCxhKSl7cmV0dXJuIGZhbHNlfWVsc2V7dmFyIGM9T2JqZWN0LmtleXMoZSk7Zm9yKDthPGMubGVuZ3RoO2ErKyl7dmFyIHU9Y1thXTtpZighZih0LHUpfHwhaW5uZXJEZWVwRXF1YWwoZVt1XSx0W3VdLHIsbykpe3JldHVybiBmYWxzZX19aWYoYy5sZW5ndGghPT1PYmplY3Qua2V5cyh0KS5sZW5ndGgpe3JldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX19fWZvcihhPTA7YTxuLmxlbmd0aDthKyspe3ZhciBzPW5bYV07aWYoIWlubmVyRGVlcEVxdWFsKGVbc10sdFtzXSxyLG8pKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfWZ1bmN0aW9uIGlzRGVlcEVxdWFsKGUsdCl7cmV0dXJuIGlubmVyRGVlcEVxdWFsKGUsdCxUKX1mdW5jdGlvbiBpc0RlZXBTdHJpY3RFcXVhbChlLHQpe3JldHVybiBpbm5lckRlZXBFcXVhbChlLHQsayl9ZS5leHBvcnRzPXtpc0RlZXBFcXVhbDppc0RlZXBFcXVhbCxpc0RlZXBTdHJpY3RFcXVhbDppc0RlZXBTdHJpY3RFcXVhbH19LDI1NjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49cig1MDApO3ZhciBvPXIoMTM5KTt2YXIgaT1vKG4oXCJTdHJpbmcucHJvdG90eXBlLmluZGV4T2ZcIikpO2UuZXhwb3J0cz1mdW5jdGlvbiBjYWxsQm91bmRJbnRyaW5zaWMoZSx0KXt2YXIgcj1uKGUsISF0KTtpZih0eXBlb2Ygcj09PVwiZnVuY3Rpb25cIiYmaShlLFwiLnByb3RvdHlwZS5cIik+LTEpe3JldHVybiBvKHIpfXJldHVybiByfX0sMTM5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDE3NCk7dmFyIG89cig1MDApO3ZhciBpPW8oXCIlRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5JVwiKTt2YXIgYT1vKFwiJUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsJVwiKTt2YXIgYz1vKFwiJVJlZmxlY3QuYXBwbHklXCIsdHJ1ZSl8fG4uY2FsbChhLGkpO3ZhciB1PW8oXCIlT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciVcIix0cnVlKTt2YXIgZj1vKFwiJU9iamVjdC5kZWZpbmVQcm9wZXJ0eSVcIix0cnVlKTt2YXIgcz1vKFwiJU1hdGgubWF4JVwiKTtpZihmKXt0cnl7Zih7fSxcImFcIix7dmFsdWU6MX0pfWNhdGNoKGUpe2Y9bnVsbH19ZS5leHBvcnRzPWZ1bmN0aW9uIGNhbGxCaW5kKGUpe3ZhciB0PWMobixhLGFyZ3VtZW50cyk7aWYodSYmZil7dmFyIHI9dSh0LFwibGVuZ3RoXCIpO2lmKHIuY29uZmlndXJhYmxlKXtmKHQsXCJsZW5ndGhcIix7dmFsdWU6MStzKDAsZS5sZW5ndGgtKGFyZ3VtZW50cy5sZW5ndGgtMSkpfSl9fXJldHVybiB0fTt2YXIgbD1mdW5jdGlvbiBhcHBseUJpbmQoKXtyZXR1cm4gYyhuLGksYXJndW1lbnRzKX07aWYoZil7ZihlLmV4cG9ydHMsXCJhcHBseVwiLHt2YWx1ZTpsfSl9ZWxzZXtlLmV4cG9ydHMuYXBwbHk9bH19LDY5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDkzNSk7dmFyIG89dHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIFN5bWJvbChcImZvb1wiKT09PVwic3ltYm9sXCI7dmFyIGk9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgYT1BcnJheS5wcm90b3R5cGUuY29uY2F0O3ZhciBjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgaXNGdW5jdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGU9PT1cImZ1bmN0aW9uXCImJmkuY2FsbChlKT09PVwiW29iamVjdCBGdW5jdGlvbl1cIn07dmFyIGFyZVByb3BlcnR5RGVzY3JpcHRvcnNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXt2YXIgZT17fTt0cnl7YyhlLFwieFwiLHtlbnVtZXJhYmxlOmZhbHNlLHZhbHVlOmV9KTtmb3IodmFyIHQgaW4gZSl7cmV0dXJuIGZhbHNlfXJldHVybiBlLng9PT1lfWNhdGNoKGUpe3JldHVybiBmYWxzZX19O3ZhciB1PWMmJmFyZVByb3BlcnR5RGVzY3JpcHRvcnNTdXBwb3J0ZWQoKTt2YXIgZGVmaW5lUHJvcGVydHk9ZnVuY3Rpb24oZSx0LHIsbil7aWYodCBpbiBlJiYoIWlzRnVuY3Rpb24obil8fCFuKCkpKXtyZXR1cm59aWYodSl7YyhlLHQse2NvbmZpZ3VyYWJsZTp0cnVlLGVudW1lcmFibGU6ZmFsc2UsdmFsdWU6cix3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9fTt2YXIgZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbihlLHQpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06e307dmFyIGk9bih0KTtpZihvKXtpPWEuY2FsbChpLE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpfWZvcih2YXIgYz0wO2M8aS5sZW5ndGg7Yys9MSl7ZGVmaW5lUHJvcGVydHkoZSxpW2NdLHRbaVtjXV0scltpW2NdXSl9fTtkZWZpbmVQcm9wZXJ0aWVzLnN1cHBvcnRzRGVzY3JpcHRvcnM9ISF1O2UuZXhwb3J0cz1kZWZpbmVQcm9wZXJ0aWVzfSw2MDQ6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gYXNzaWduKGUsdCl7aWYoZT09PXVuZGVmaW5lZHx8ZT09PW51bGwpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY29udmVydCBmaXJzdCBhcmd1bWVudCB0byBvYmplY3RcIil9dmFyIHI9T2JqZWN0KGUpO2Zvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspe3ZhciBvPWFyZ3VtZW50c1tuXTtpZihvPT09dW5kZWZpbmVkfHxvPT09bnVsbCl7Y29udGludWV9dmFyIGk9T2JqZWN0LmtleXMoT2JqZWN0KG8pKTtmb3IodmFyIGE9MCxjPWkubGVuZ3RoO2E8YzthKyspe3ZhciB1PWlbYV07dmFyIGY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLHUpO2lmKGYhPT11bmRlZmluZWQmJmYuZW51bWVyYWJsZSl7clt1XT1vW3VdfX19cmV0dXJuIHJ9ZnVuY3Rpb24gcG9seWZpbGwoKXtpZighT2JqZWN0LmFzc2lnbil7T2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCxcImFzc2lnblwiLHtlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6YXNzaWdufSl9fWUuZXhwb3J0cz17YXNzaWduOmFzc2lnbixwb2x5ZmlsbDpwb2x5ZmlsbH19LDE0NDpmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZS5leHBvcnRzPWZ1bmN0aW9uIGZvckVhY2goZSxuLG8pe2lmKHIuY2FsbChuKSE9PVwiW29iamVjdCBGdW5jdGlvbl1cIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIml0ZXJhdG9yIG11c3QgYmUgYSBmdW5jdGlvblwiKX12YXIgaT1lLmxlbmd0aDtpZihpPT09K2kpe2Zvcih2YXIgYT0wO2E8aTthKyspe24uY2FsbChvLGVbYV0sYSxlKX19ZWxzZXtmb3IodmFyIGMgaW4gZSl7aWYodC5jYWxsKGUsYykpe24uY2FsbChvLGVbY10sYyxlKX19fX19LDQyNjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjt2YXIgdD1cIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGNhbGxlZCBvbiBpbmNvbXBhdGlibGUgXCI7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7dmFyIG89XCJbb2JqZWN0IEZ1bmN0aW9uXVwiO2UuZXhwb3J0cz1mdW5jdGlvbiBiaW5kKGUpe3ZhciBpPXRoaXM7aWYodHlwZW9mIGkhPT1cImZ1bmN0aW9uXCJ8fG4uY2FsbChpKSE9PW8pe3Rocm93IG5ldyBUeXBlRXJyb3IodCtpKX12YXIgYT1yLmNhbGwoYXJndW1lbnRzLDEpO3ZhciBjO3ZhciBiaW5kZXI9ZnVuY3Rpb24oKXtpZih0aGlzIGluc3RhbmNlb2YgYyl7dmFyIHQ9aS5hcHBseSh0aGlzLGEuY29uY2F0KHIuY2FsbChhcmd1bWVudHMpKSk7aWYoT2JqZWN0KHQpPT09dCl7cmV0dXJuIHR9cmV0dXJuIHRoaXN9ZWxzZXtyZXR1cm4gaS5hcHBseShlLGEuY29uY2F0KHIuY2FsbChhcmd1bWVudHMpKSl9fTt2YXIgdT1NYXRoLm1heCgwLGkubGVuZ3RoLWEubGVuZ3RoKTt2YXIgZj1bXTtmb3IodmFyIHM9MDtzPHU7cysrKXtmLnB1c2goXCIkXCIrcyl9Yz1GdW5jdGlvbihcImJpbmRlclwiLFwicmV0dXJuIGZ1bmN0aW9uIChcIitmLmpvaW4oXCIsXCIpK1wiKXsgcmV0dXJuIGJpbmRlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7IH1cIikoYmluZGVyKTtpZihpLnByb3RvdHlwZSl7dmFyIGw9ZnVuY3Rpb24gRW1wdHkoKXt9O2wucHJvdG90eXBlPWkucHJvdG90eXBlO2MucHJvdG90eXBlPW5ldyBsO2wucHJvdG90eXBlPW51bGx9cmV0dXJuIGN9fSwxNzQ6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPXIoNDI2KTtlLmV4cG9ydHM9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmR8fG59LDUwMDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG47dmFyIG89U3ludGF4RXJyb3I7dmFyIGk9RnVuY3Rpb247dmFyIGE9VHlwZUVycm9yO3ZhciBnZXRFdmFsbGVkQ29uc3RydWN0b3I9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBpKCdcInVzZSBzdHJpY3RcIjsgcmV0dXJuICgnK2UrXCIpLmNvbnN0cnVjdG9yO1wiKSgpfWNhdGNoKGUpe319O3ZhciBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7aWYoYyl7dHJ5e2Moe30sXCJcIil9Y2F0Y2goZSl7Yz1udWxsfX12YXIgdGhyb3dUeXBlRXJyb3I9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgYX07dmFyIHU9Yz9mdW5jdGlvbigpe3RyeXthcmd1bWVudHMuY2FsbGVlO3JldHVybiB0aHJvd1R5cGVFcnJvcn1jYXRjaChlKXt0cnl7cmV0dXJuIGMoYXJndW1lbnRzLFwiY2FsbGVlXCIpLmdldH1jYXRjaChlKXtyZXR1cm4gdGhyb3dUeXBlRXJyb3J9fX0oKTp0aHJvd1R5cGVFcnJvcjt2YXIgZj1yKDExNSkoKTt2YXIgcz1PYmplY3QuZ2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKGUpe3JldHVybiBlLl9fcHJvdG9fX307dmFyIGw9e307dmFyIHA9dHlwZW9mIFVpbnQ4QXJyYXk9PT1cInVuZGVmaW5lZFwiP246cyhVaW50OEFycmF5KTt2YXIgeT17XCIlQWdncmVnYXRlRXJyb3IlXCI6dHlwZW9mIEFnZ3JlZ2F0ZUVycm9yPT09XCJ1bmRlZmluZWRcIj9uOkFnZ3JlZ2F0ZUVycm9yLFwiJUFycmF5JVwiOkFycmF5LFwiJUFycmF5QnVmZmVyJVwiOnR5cGVvZiBBcnJheUJ1ZmZlcj09PVwidW5kZWZpbmVkXCI/bjpBcnJheUJ1ZmZlcixcIiVBcnJheUl0ZXJhdG9yUHJvdG90eXBlJVwiOmY/cyhbXVtTeW1ib2wuaXRlcmF0b3JdKCkpOm4sXCIlQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90eXBlJVwiOm4sXCIlQXN5bmNGdW5jdGlvbiVcIjpsLFwiJUFzeW5jR2VuZXJhdG9yJVwiOmwsXCIlQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiVcIjpsLFwiJUFzeW5jSXRlcmF0b3JQcm90b3R5cGUlXCI6bCxcIiVBdG9taWNzJVwiOnR5cGVvZiBBdG9taWNzPT09XCJ1bmRlZmluZWRcIj9uOkF0b21pY3MsXCIlQmlnSW50JVwiOnR5cGVvZiBCaWdJbnQ9PT1cInVuZGVmaW5lZFwiP246QmlnSW50LFwiJUJvb2xlYW4lXCI6Qm9vbGVhbixcIiVEYXRhVmlldyVcIjp0eXBlb2YgRGF0YVZpZXc9PT1cInVuZGVmaW5lZFwiP246RGF0YVZpZXcsXCIlRGF0ZSVcIjpEYXRlLFwiJWRlY29kZVVSSSVcIjpkZWNvZGVVUkksXCIlZGVjb2RlVVJJQ29tcG9uZW50JVwiOmRlY29kZVVSSUNvbXBvbmVudCxcIiVlbmNvZGVVUkklXCI6ZW5jb2RlVVJJLFwiJWVuY29kZVVSSUNvbXBvbmVudCVcIjplbmNvZGVVUklDb21wb25lbnQsXCIlRXJyb3IlXCI6RXJyb3IsXCIlZXZhbCVcIjpldmFsLFwiJUV2YWxFcnJvciVcIjpFdmFsRXJyb3IsXCIlRmxvYXQzMkFycmF5JVwiOnR5cGVvZiBGbG9hdDMyQXJyYXk9PT1cInVuZGVmaW5lZFwiP246RmxvYXQzMkFycmF5LFwiJUZsb2F0NjRBcnJheSVcIjp0eXBlb2YgRmxvYXQ2NEFycmF5PT09XCJ1bmRlZmluZWRcIj9uOkZsb2F0NjRBcnJheSxcIiVGaW5hbGl6YXRpb25SZWdpc3RyeSVcIjp0eXBlb2YgRmluYWxpemF0aW9uUmVnaXN0cnk9PT1cInVuZGVmaW5lZFwiP246RmluYWxpemF0aW9uUmVnaXN0cnksXCIlRnVuY3Rpb24lXCI6aSxcIiVHZW5lcmF0b3JGdW5jdGlvbiVcIjpsLFwiJUludDhBcnJheSVcIjp0eXBlb2YgSW50OEFycmF5PT09XCJ1bmRlZmluZWRcIj9uOkludDhBcnJheSxcIiVJbnQxNkFycmF5JVwiOnR5cGVvZiBJbnQxNkFycmF5PT09XCJ1bmRlZmluZWRcIj9uOkludDE2QXJyYXksXCIlSW50MzJBcnJheSVcIjp0eXBlb2YgSW50MzJBcnJheT09PVwidW5kZWZpbmVkXCI/bjpJbnQzMkFycmF5LFwiJWlzRmluaXRlJVwiOmlzRmluaXRlLFwiJWlzTmFOJVwiOmlzTmFOLFwiJUl0ZXJhdG9yUHJvdG90eXBlJVwiOmY/cyhzKFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpOm4sXCIlSlNPTiVcIjp0eXBlb2YgSlNPTj09PVwib2JqZWN0XCI/SlNPTjpuLFwiJU1hcCVcIjp0eXBlb2YgTWFwPT09XCJ1bmRlZmluZWRcIj9uOk1hcCxcIiVNYXBJdGVyYXRvclByb3RvdHlwZSVcIjp0eXBlb2YgTWFwPT09XCJ1bmRlZmluZWRcInx8IWY/bjpzKChuZXcgTWFwKVtTeW1ib2wuaXRlcmF0b3JdKCkpLFwiJU1hdGglXCI6TWF0aCxcIiVOdW1iZXIlXCI6TnVtYmVyLFwiJU9iamVjdCVcIjpPYmplY3QsXCIlcGFyc2VGbG9hdCVcIjpwYXJzZUZsb2F0LFwiJXBhcnNlSW50JVwiOnBhcnNlSW50LFwiJVByb21pc2UlXCI6dHlwZW9mIFByb21pc2U9PT1cInVuZGVmaW5lZFwiP246UHJvbWlzZSxcIiVQcm94eSVcIjp0eXBlb2YgUHJveHk9PT1cInVuZGVmaW5lZFwiP246UHJveHksXCIlUmFuZ2VFcnJvciVcIjpSYW5nZUVycm9yLFwiJVJlZmVyZW5jZUVycm9yJVwiOlJlZmVyZW5jZUVycm9yLFwiJVJlZmxlY3QlXCI6dHlwZW9mIFJlZmxlY3Q9PT1cInVuZGVmaW5lZFwiP246UmVmbGVjdCxcIiVSZWdFeHAlXCI6UmVnRXhwLFwiJVNldCVcIjp0eXBlb2YgU2V0PT09XCJ1bmRlZmluZWRcIj9uOlNldCxcIiVTZXRJdGVyYXRvclByb3RvdHlwZSVcIjp0eXBlb2YgU2V0PT09XCJ1bmRlZmluZWRcInx8IWY/bjpzKChuZXcgU2V0KVtTeW1ib2wuaXRlcmF0b3JdKCkpLFwiJVNoYXJlZEFycmF5QnVmZmVyJVwiOnR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj09PVwidW5kZWZpbmVkXCI/bjpTaGFyZWRBcnJheUJ1ZmZlcixcIiVTdHJpbmclXCI6U3RyaW5nLFwiJVN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlJVwiOmY/cyhcIlwiW1N5bWJvbC5pdGVyYXRvcl0oKSk6bixcIiVTeW1ib2wlXCI6Zj9TeW1ib2w6bixcIiVTeW50YXhFcnJvciVcIjpvLFwiJVRocm93VHlwZUVycm9yJVwiOnUsXCIlVHlwZWRBcnJheSVcIjpwLFwiJVR5cGVFcnJvciVcIjphLFwiJVVpbnQ4QXJyYXklXCI6dHlwZW9mIFVpbnQ4QXJyYXk9PT1cInVuZGVmaW5lZFwiP246VWludDhBcnJheSxcIiVVaW50OENsYW1wZWRBcnJheSVcIjp0eXBlb2YgVWludDhDbGFtcGVkQXJyYXk9PT1cInVuZGVmaW5lZFwiP246VWludDhDbGFtcGVkQXJyYXksXCIlVWludDE2QXJyYXklXCI6dHlwZW9mIFVpbnQxNkFycmF5PT09XCJ1bmRlZmluZWRcIj9uOlVpbnQxNkFycmF5LFwiJVVpbnQzMkFycmF5JVwiOnR5cGVvZiBVaW50MzJBcnJheT09PVwidW5kZWZpbmVkXCI/bjpVaW50MzJBcnJheSxcIiVVUklFcnJvciVcIjpVUklFcnJvcixcIiVXZWFrTWFwJVwiOnR5cGVvZiBXZWFrTWFwPT09XCJ1bmRlZmluZWRcIj9uOldlYWtNYXAsXCIlV2Vha1JlZiVcIjp0eXBlb2YgV2Vha1JlZj09PVwidW5kZWZpbmVkXCI/bjpXZWFrUmVmLFwiJVdlYWtTZXQlXCI6dHlwZW9mIFdlYWtTZXQ9PT1cInVuZGVmaW5lZFwiP246V2Vha1NldH07dmFyIGc9ZnVuY3Rpb24gZG9FdmFsKGUpe3ZhciB0O2lmKGU9PT1cIiVBc3luY0Z1bmN0aW9uJVwiKXt0PWdldEV2YWxsZWRDb25zdHJ1Y3RvcihcImFzeW5jIGZ1bmN0aW9uICgpIHt9XCIpfWVsc2UgaWYoZT09PVwiJUdlbmVyYXRvckZ1bmN0aW9uJVwiKXt0PWdldEV2YWxsZWRDb25zdHJ1Y3RvcihcImZ1bmN0aW9uKiAoKSB7fVwiKX1lbHNlIGlmKGU9PT1cIiVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJVwiKXt0PWdldEV2YWxsZWRDb25zdHJ1Y3RvcihcImFzeW5jIGZ1bmN0aW9uKiAoKSB7fVwiKX1lbHNlIGlmKGU9PT1cIiVBc3luY0dlbmVyYXRvciVcIil7dmFyIHI9ZG9FdmFsKFwiJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lXCIpO2lmKHIpe3Q9ci5wcm90b3R5cGV9fWVsc2UgaWYoZT09PVwiJUFzeW5jSXRlcmF0b3JQcm90b3R5cGUlXCIpe3ZhciBuPWRvRXZhbChcIiVBc3luY0dlbmVyYXRvciVcIik7aWYobil7dD1zKG4ucHJvdG90eXBlKX19eVtlXT10O3JldHVybiB0fTt2YXIgdj17XCIlQXJyYXlCdWZmZXJQcm90b3R5cGUlXCI6W1wiQXJyYXlCdWZmZXJcIixcInByb3RvdHlwZVwiXSxcIiVBcnJheVByb3RvdHlwZSVcIjpbXCJBcnJheVwiLFwicHJvdG90eXBlXCJdLFwiJUFycmF5UHJvdG9fZW50cmllcyVcIjpbXCJBcnJheVwiLFwicHJvdG90eXBlXCIsXCJlbnRyaWVzXCJdLFwiJUFycmF5UHJvdG9fZm9yRWFjaCVcIjpbXCJBcnJheVwiLFwicHJvdG90eXBlXCIsXCJmb3JFYWNoXCJdLFwiJUFycmF5UHJvdG9fa2V5cyVcIjpbXCJBcnJheVwiLFwicHJvdG90eXBlXCIsXCJrZXlzXCJdLFwiJUFycmF5UHJvdG9fdmFsdWVzJVwiOltcIkFycmF5XCIsXCJwcm90b3R5cGVcIixcInZhbHVlc1wiXSxcIiVBc3luY0Z1bmN0aW9uUHJvdG90eXBlJVwiOltcIkFzeW5jRnVuY3Rpb25cIixcInByb3RvdHlwZVwiXSxcIiVBc3luY0dlbmVyYXRvciVcIjpbXCJBc3luY0dlbmVyYXRvckZ1bmN0aW9uXCIsXCJwcm90b3R5cGVcIl0sXCIlQXN5bmNHZW5lcmF0b3JQcm90b3R5cGUlXCI6W1wiQXN5bmNHZW5lcmF0b3JGdW5jdGlvblwiLFwicHJvdG90eXBlXCIsXCJwcm90b3R5cGVcIl0sXCIlQm9vbGVhblByb3RvdHlwZSVcIjpbXCJCb29sZWFuXCIsXCJwcm90b3R5cGVcIl0sXCIlRGF0YVZpZXdQcm90b3R5cGUlXCI6W1wiRGF0YVZpZXdcIixcInByb3RvdHlwZVwiXSxcIiVEYXRlUHJvdG90eXBlJVwiOltcIkRhdGVcIixcInByb3RvdHlwZVwiXSxcIiVFcnJvclByb3RvdHlwZSVcIjpbXCJFcnJvclwiLFwicHJvdG90eXBlXCJdLFwiJUV2YWxFcnJvclByb3RvdHlwZSVcIjpbXCJFdmFsRXJyb3JcIixcInByb3RvdHlwZVwiXSxcIiVGbG9hdDMyQXJyYXlQcm90b3R5cGUlXCI6W1wiRmxvYXQzMkFycmF5XCIsXCJwcm90b3R5cGVcIl0sXCIlRmxvYXQ2NEFycmF5UHJvdG90eXBlJVwiOltcIkZsb2F0NjRBcnJheVwiLFwicHJvdG90eXBlXCJdLFwiJUZ1bmN0aW9uUHJvdG90eXBlJVwiOltcIkZ1bmN0aW9uXCIsXCJwcm90b3R5cGVcIl0sXCIlR2VuZXJhdG9yJVwiOltcIkdlbmVyYXRvckZ1bmN0aW9uXCIsXCJwcm90b3R5cGVcIl0sXCIlR2VuZXJhdG9yUHJvdG90eXBlJVwiOltcIkdlbmVyYXRvckZ1bmN0aW9uXCIsXCJwcm90b3R5cGVcIixcInByb3RvdHlwZVwiXSxcIiVJbnQ4QXJyYXlQcm90b3R5cGUlXCI6W1wiSW50OEFycmF5XCIsXCJwcm90b3R5cGVcIl0sXCIlSW50MTZBcnJheVByb3RvdHlwZSVcIjpbXCJJbnQxNkFycmF5XCIsXCJwcm90b3R5cGVcIl0sXCIlSW50MzJBcnJheVByb3RvdHlwZSVcIjpbXCJJbnQzMkFycmF5XCIsXCJwcm90b3R5cGVcIl0sXCIlSlNPTlBhcnNlJVwiOltcIkpTT05cIixcInBhcnNlXCJdLFwiJUpTT05TdHJpbmdpZnklXCI6W1wiSlNPTlwiLFwic3RyaW5naWZ5XCJdLFwiJU1hcFByb3RvdHlwZSVcIjpbXCJNYXBcIixcInByb3RvdHlwZVwiXSxcIiVOdW1iZXJQcm90b3R5cGUlXCI6W1wiTnVtYmVyXCIsXCJwcm90b3R5cGVcIl0sXCIlT2JqZWN0UHJvdG90eXBlJVwiOltcIk9iamVjdFwiLFwicHJvdG90eXBlXCJdLFwiJU9ialByb3RvX3RvU3RyaW5nJVwiOltcIk9iamVjdFwiLFwicHJvdG90eXBlXCIsXCJ0b1N0cmluZ1wiXSxcIiVPYmpQcm90b192YWx1ZU9mJVwiOltcIk9iamVjdFwiLFwicHJvdG90eXBlXCIsXCJ2YWx1ZU9mXCJdLFwiJVByb21pc2VQcm90b3R5cGUlXCI6W1wiUHJvbWlzZVwiLFwicHJvdG90eXBlXCJdLFwiJVByb21pc2VQcm90b190aGVuJVwiOltcIlByb21pc2VcIixcInByb3RvdHlwZVwiLFwidGhlblwiXSxcIiVQcm9taXNlX2FsbCVcIjpbXCJQcm9taXNlXCIsXCJhbGxcIl0sXCIlUHJvbWlzZV9yZWplY3QlXCI6W1wiUHJvbWlzZVwiLFwicmVqZWN0XCJdLFwiJVByb21pc2VfcmVzb2x2ZSVcIjpbXCJQcm9taXNlXCIsXCJyZXNvbHZlXCJdLFwiJVJhbmdlRXJyb3JQcm90b3R5cGUlXCI6W1wiUmFuZ2VFcnJvclwiLFwicHJvdG90eXBlXCJdLFwiJVJlZmVyZW5jZUVycm9yUHJvdG90eXBlJVwiOltcIlJlZmVyZW5jZUVycm9yXCIsXCJwcm90b3R5cGVcIl0sXCIlUmVnRXhwUHJvdG90eXBlJVwiOltcIlJlZ0V4cFwiLFwicHJvdG90eXBlXCJdLFwiJVNldFByb3RvdHlwZSVcIjpbXCJTZXRcIixcInByb3RvdHlwZVwiXSxcIiVTaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZSVcIjpbXCJTaGFyZWRBcnJheUJ1ZmZlclwiLFwicHJvdG90eXBlXCJdLFwiJVN0cmluZ1Byb3RvdHlwZSVcIjpbXCJTdHJpbmdcIixcInByb3RvdHlwZVwiXSxcIiVTeW1ib2xQcm90b3R5cGUlXCI6W1wiU3ltYm9sXCIsXCJwcm90b3R5cGVcIl0sXCIlU3ludGF4RXJyb3JQcm90b3R5cGUlXCI6W1wiU3ludGF4RXJyb3JcIixcInByb3RvdHlwZVwiXSxcIiVUeXBlZEFycmF5UHJvdG90eXBlJVwiOltcIlR5cGVkQXJyYXlcIixcInByb3RvdHlwZVwiXSxcIiVUeXBlRXJyb3JQcm90b3R5cGUlXCI6W1wiVHlwZUVycm9yXCIsXCJwcm90b3R5cGVcIl0sXCIlVWludDhBcnJheVByb3RvdHlwZSVcIjpbXCJVaW50OEFycmF5XCIsXCJwcm90b3R5cGVcIl0sXCIlVWludDhDbGFtcGVkQXJyYXlQcm90b3R5cGUlXCI6W1wiVWludDhDbGFtcGVkQXJyYXlcIixcInByb3RvdHlwZVwiXSxcIiVVaW50MTZBcnJheVByb3RvdHlwZSVcIjpbXCJVaW50MTZBcnJheVwiLFwicHJvdG90eXBlXCJdLFwiJVVpbnQzMkFycmF5UHJvdG90eXBlJVwiOltcIlVpbnQzMkFycmF5XCIsXCJwcm90b3R5cGVcIl0sXCIlVVJJRXJyb3JQcm90b3R5cGUlXCI6W1wiVVJJRXJyb3JcIixcInByb3RvdHlwZVwiXSxcIiVXZWFrTWFwUHJvdG90eXBlJVwiOltcIldlYWtNYXBcIixcInByb3RvdHlwZVwiXSxcIiVXZWFrU2V0UHJvdG90eXBlJVwiOltcIldlYWtTZXRcIixcInByb3RvdHlwZVwiXX07dmFyIGQ9cigxNzQpO3ZhciBiPXIoMTAxKTt2YXIgaD1kLmNhbGwoRnVuY3Rpb24uY2FsbCxBcnJheS5wcm90b3R5cGUuY29uY2F0KTt2YXIgbT1kLmNhbGwoRnVuY3Rpb24uYXBwbHksQXJyYXkucHJvdG90eXBlLnNwbGljZSk7dmFyIFM9ZC5jYWxsKEZ1bmN0aW9uLmNhbGwsU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKTt2YXIgRT1kLmNhbGwoRnVuY3Rpb24uY2FsbCxTdHJpbmcucHJvdG90eXBlLnNsaWNlKTt2YXIgTz1kLmNhbGwoRnVuY3Rpb24uY2FsbCxSZWdFeHAucHJvdG90eXBlLmV4ZWMpO3ZhciB3PS9bXiUuW1xcXV0rfFxcWyg/OigtP1xcZCsoPzpcXC5cXGQrKT8pfChbXCInXSkoKD86KD8hXFwyKVteXFxcXF18XFxcXC4pKj8pXFwyKVxcXXwoPz0oPzpcXC58XFxbXFxdKSg/OlxcLnxcXFtcXF18JSQpKS9nO3ZhciBBPS9cXFxcKFxcXFwpPy9nO3ZhciBqPWZ1bmN0aW9uIHN0cmluZ1RvUGF0aChlKXt2YXIgdD1FKGUsMCwxKTt2YXIgcj1FKGUsLTEpO2lmKHQ9PT1cIiVcIiYmciE9PVwiJVwiKXt0aHJvdyBuZXcgbyhcImludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgY2xvc2luZyBgJWBcIil9ZWxzZSBpZihyPT09XCIlXCImJnQhPT1cIiVcIil7dGhyb3cgbmV3IG8oXCJpbnZhbGlkIGludHJpbnNpYyBzeW50YXgsIGV4cGVjdGVkIG9wZW5pbmcgYCVgXCIpfXZhciBuPVtdO1MoZSx3LChmdW5jdGlvbihlLHQscixvKXtuW24ubGVuZ3RoXT1yP1MobyxBLFwiJDFcIik6dHx8ZX0pKTtyZXR1cm4gbn07dmFyIFA9ZnVuY3Rpb24gZ2V0QmFzZUludHJpbnNpYyhlLHQpe3ZhciByPWU7dmFyIG47aWYoYih2LHIpKXtuPXZbcl07cj1cIiVcIituWzBdK1wiJVwifWlmKGIoeSxyKSl7dmFyIGk9eVtyXTtpZihpPT09bCl7aT1nKHIpfWlmKHR5cGVvZiBpPT09XCJ1bmRlZmluZWRcIiYmIXQpe3Rocm93IG5ldyBhKFwiaW50cmluc2ljIFwiK2UrXCIgZXhpc3RzLCBidXQgaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIGZpbGUgYW4gaXNzdWUhXCIpfXJldHVybnthbGlhczpuLG5hbWU6cix2YWx1ZTppfX10aHJvdyBuZXcgbyhcImludHJpbnNpYyBcIitlK1wiIGRvZXMgbm90IGV4aXN0IVwiKX07ZS5leHBvcnRzPWZ1bmN0aW9uIEdldEludHJpbnNpYyhlLHQpe2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcInx8ZS5sZW5ndGg9PT0wKXt0aHJvdyBuZXcgYShcImludHJpbnNpYyBuYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWlmKGFyZ3VtZW50cy5sZW5ndGg+MSYmdHlwZW9mIHQhPT1cImJvb2xlYW5cIil7dGhyb3cgbmV3IGEoJ1wiYWxsb3dNaXNzaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBhIGJvb2xlYW4nKX1pZihPKC9eJT9bXiVdKiU/JC9nLGUpPT09bnVsbCl7dGhyb3cgbmV3IG8oXCJgJWAgbWF5IG5vdCBiZSBwcmVzZW50IGFueXdoZXJlIGJ1dCBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIGludHJpbnNpYyBuYW1lXCIpfXZhciByPWooZSk7dmFyIGk9ci5sZW5ndGg+MD9yWzBdOlwiXCI7dmFyIHU9UChcIiVcIitpK1wiJVwiLHQpO3ZhciBmPXUubmFtZTt2YXIgcz11LnZhbHVlO3ZhciBsPWZhbHNlO3ZhciBwPXUuYWxpYXM7aWYocCl7aT1wWzBdO20ocixoKFswLDFdLHApKX1mb3IodmFyIGc9MSx2PXRydWU7ZzxyLmxlbmd0aDtnKz0xKXt2YXIgZD1yW2ddO3ZhciBTPUUoZCwwLDEpO3ZhciB3PUUoZCwtMSk7aWYoKFM9PT0nXCInfHxTPT09XCInXCJ8fFM9PT1cImBcInx8KHc9PT0nXCInfHx3PT09XCInXCJ8fHc9PT1cImBcIikpJiZTIT09dyl7dGhyb3cgbmV3IG8oXCJwcm9wZXJ0eSBuYW1lcyB3aXRoIHF1b3RlcyBtdXN0IGhhdmUgbWF0Y2hpbmcgcXVvdGVzXCIpfWlmKGQ9PT1cImNvbnN0cnVjdG9yXCJ8fCF2KXtsPXRydWV9aSs9XCIuXCIrZDtmPVwiJVwiK2krXCIlXCI7aWYoYih5LGYpKXtzPXlbZl19ZWxzZSBpZihzIT1udWxsKXtpZighKGQgaW4gcykpe2lmKCF0KXt0aHJvdyBuZXcgYShcImJhc2UgaW50cmluc2ljIGZvciBcIitlK1wiIGV4aXN0cywgYnV0IHRoZSBwcm9wZXJ0eSBpcyBub3QgYXZhaWxhYmxlLlwiKX1yZXR1cm4gdm9pZCBufWlmKGMmJmcrMT49ci5sZW5ndGgpe3ZhciBBPWMocyxkKTt2PSEhQTtpZih2JiZcImdldFwiaW4gQSYmIShcIm9yaWdpbmFsVmFsdWVcImluIEEuZ2V0KSl7cz1BLmdldH1lbHNle3M9c1tkXX19ZWxzZXt2PWIocyxkKTtzPXNbZF19aWYodiYmIWwpe3lbZl09c319fXJldHVybiBzfX0sOTQyOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj10eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIiYmU3ltYm9sO3ZhciBvPXIoNzczKTtlLmV4cG9ydHM9ZnVuY3Rpb24gaGFzTmF0aXZlU3ltYm9scygpe2lmKHR5cGVvZiBuIT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZmFsc2V9aWYodHlwZW9mIFN5bWJvbCE9PVwiZnVuY3Rpb25cIil7cmV0dXJuIGZhbHNlfWlmKHR5cGVvZiBuKFwiZm9vXCIpIT09XCJzeW1ib2xcIil7cmV0dXJuIGZhbHNlfWlmKHR5cGVvZiBTeW1ib2woXCJiYXJcIikhPT1cInN5bWJvbFwiKXtyZXR1cm4gZmFsc2V9cmV0dXJuIG8oKX19LDc3MzpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9ZnVuY3Rpb24gaGFzU3ltYm9scygpe2lmKHR5cGVvZiBTeW1ib2whPT1cImZ1bmN0aW9uXCJ8fHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzIT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZmFsc2V9aWYodHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09PVwic3ltYm9sXCIpe3JldHVybiB0cnVlfXZhciBlPXt9O3ZhciB0PVN5bWJvbChcInRlc3RcIik7dmFyIHI9T2JqZWN0KHQpO2lmKHR5cGVvZiB0PT09XCJzdHJpbmdcIil7cmV0dXJuIGZhbHNlfWlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSE9PVwiW29iamVjdCBTeW1ib2xdXCIpe3JldHVybiBmYWxzZX1pZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocikhPT1cIltvYmplY3QgU3ltYm9sXVwiKXtyZXR1cm4gZmFsc2V9dmFyIG49NDI7ZVt0XT1uO2Zvcih0IGluIGUpe3JldHVybiBmYWxzZX1pZih0eXBlb2YgT2JqZWN0LmtleXM9PT1cImZ1bmN0aW9uXCImJk9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTApe3JldHVybiBmYWxzZX1pZih0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM9PT1cImZ1bmN0aW9uXCImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLmxlbmd0aCE9PTApe3JldHVybiBmYWxzZX12YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2lmKG8ubGVuZ3RoIT09MXx8b1swXSE9PXQpe3JldHVybiBmYWxzZX1pZighT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsdCkpe3JldHVybiBmYWxzZX1pZih0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj09PVwiZnVuY3Rpb25cIil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpO2lmKGkudmFsdWUhPT1ufHxpLmVudW1lcmFibGUhPT10cnVlKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfX0sMTE1OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj10eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIiYmU3ltYm9sO3ZhciBvPXIoODMyKTtlLmV4cG9ydHM9ZnVuY3Rpb24gaGFzTmF0aXZlU3ltYm9scygpe2lmKHR5cGVvZiBuIT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZmFsc2V9aWYodHlwZW9mIFN5bWJvbCE9PVwiZnVuY3Rpb25cIil7cmV0dXJuIGZhbHNlfWlmKHR5cGVvZiBuKFwiZm9vXCIpIT09XCJzeW1ib2xcIil7cmV0dXJuIGZhbHNlfWlmKHR5cGVvZiBTeW1ib2woXCJiYXJcIikhPT1cInN5bWJvbFwiKXtyZXR1cm4gZmFsc2V9cmV0dXJuIG8oKX19LDgzMjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9ZnVuY3Rpb24gaGFzU3ltYm9scygpe2lmKHR5cGVvZiBTeW1ib2whPT1cImZ1bmN0aW9uXCJ8fHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzIT09XCJmdW5jdGlvblwiKXtyZXR1cm4gZmFsc2V9aWYodHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09PVwic3ltYm9sXCIpe3JldHVybiB0cnVlfXZhciBlPXt9O3ZhciB0PVN5bWJvbChcInRlc3RcIik7dmFyIHI9T2JqZWN0KHQpO2lmKHR5cGVvZiB0PT09XCJzdHJpbmdcIil7cmV0dXJuIGZhbHNlfWlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSE9PVwiW29iamVjdCBTeW1ib2xdXCIpe3JldHVybiBmYWxzZX1pZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocikhPT1cIltvYmplY3QgU3ltYm9sXVwiKXtyZXR1cm4gZmFsc2V9dmFyIG49NDI7ZVt0XT1uO2Zvcih0IGluIGUpe3JldHVybiBmYWxzZX1pZih0eXBlb2YgT2JqZWN0LmtleXM9PT1cImZ1bmN0aW9uXCImJk9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTApe3JldHVybiBmYWxzZX1pZih0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM9PT1cImZ1bmN0aW9uXCImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLmxlbmd0aCE9PTApe3JldHVybiBmYWxzZX12YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2lmKG8ubGVuZ3RoIT09MXx8b1swXSE9PXQpe3JldHVybiBmYWxzZX1pZighT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsdCkpe3JldHVybiBmYWxzZX1pZih0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj09PVwiZnVuY3Rpb25cIil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpO2lmKGkudmFsdWUhPT1ufHxpLmVudW1lcmFibGUhPT10cnVlKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfX0sMTAxOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDE3NCk7ZS5leHBvcnRzPW4uY2FsbChGdW5jdGlvbi5jYWxsLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpfSw3ODI6ZnVuY3Rpb24oZSl7aWYodHlwZW9mIE9iamVjdC5jcmVhdGU9PT1cImZ1bmN0aW9uXCIpe2UuZXhwb3J0cz1mdW5jdGlvbiBpbmhlcml0cyhlLHQpe2lmKHQpe2Uuc3VwZXJfPXQ7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsZW51bWVyYWJsZTpmYWxzZSx3cml0YWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTp0cnVlfX0pfX19ZWxzZXtlLmV4cG9ydHM9ZnVuY3Rpb24gaW5oZXJpdHMoZSx0KXtpZih0KXtlLnN1cGVyXz10O3ZhciBUZW1wQ3Rvcj1mdW5jdGlvbigpe307VGVtcEN0b3IucHJvdG90eXBlPXQucHJvdG90eXBlO2UucHJvdG90eXBlPW5ldyBUZW1wQ3RvcjtlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX19fSwxNTc6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9dHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIFN5bWJvbC50b1N0cmluZ1RhZz09PVwic3ltYm9sXCI7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgbj1mdW5jdGlvbiBpc0FyZ3VtZW50cyhlKXtpZih0JiZlJiZ0eXBlb2YgZT09PVwib2JqZWN0XCImJlN5bWJvbC50b1N0cmluZ1RhZyBpbiBlKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHIuY2FsbChlKT09PVwiW29iamVjdCBBcmd1bWVudHNdXCJ9O3ZhciBvPWZ1bmN0aW9uIGlzQXJndW1lbnRzKGUpe2lmKG4oZSkpe3JldHVybiB0cnVlfXJldHVybiBlIT09bnVsbCYmdHlwZW9mIGU9PT1cIm9iamVjdFwiJiZ0eXBlb2YgZS5sZW5ndGg9PT1cIm51bWJlclwiJiZlLmxlbmd0aD49MCYmci5jYWxsKGUpIT09XCJbb2JqZWN0IEFycmF5XVwiJiZyLmNhbGwoZS5jYWxsZWUpPT09XCJbb2JqZWN0IEZ1bmN0aW9uXVwifTt2YXIgaT1mdW5jdGlvbigpe3JldHVybiBuKGFyZ3VtZW50cyl9KCk7bi5pc0xlZ2FjeUFyZ3VtZW50cz1vO2UuZXhwb3J0cz1pP246b30sMzkxOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7dmFyIHI9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBuPS9eXFxzKig/OmZ1bmN0aW9uKT9cXCovO3ZhciBvPXR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWc9PT1cInN5bWJvbFwiO3ZhciBpPU9iamVjdC5nZXRQcm90b3R5cGVPZjt2YXIgZ2V0R2VuZXJhdG9yRnVuYz1mdW5jdGlvbigpe2lmKCFvKXtyZXR1cm4gZmFsc2V9dHJ5e3JldHVybiBGdW5jdGlvbihcInJldHVybiBmdW5jdGlvbiooKSB7fVwiKSgpfWNhdGNoKGUpe319O3ZhciBhPWdldEdlbmVyYXRvckZ1bmMoKTt2YXIgYz1hP2koYSk6e307ZS5leHBvcnRzPWZ1bmN0aW9uIGlzR2VuZXJhdG9yRnVuY3Rpb24oZSl7aWYodHlwZW9mIGUhPT1cImZ1bmN0aW9uXCIpe3JldHVybiBmYWxzZX1pZihuLnRlc3Qoci5jYWxsKGUpKSl7cmV0dXJuIHRydWV9aWYoIW8pe3ZhciBhPXQuY2FsbChlKTtyZXR1cm4gYT09PVwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl1cIn1yZXR1cm4gaShlKT09PWN9fSw0NjA6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPWZ1bmN0aW9uIGlzTmFOKGUpe3JldHVybiBlIT09ZX19LDcxODpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49cigxMzkpO3ZhciBvPXIoNjkpO3ZhciBpPXIoNDYwKTt2YXIgYT1yKDYyNSk7dmFyIGM9cigxNzEpO3ZhciB1PW4oYSgpLE51bWJlcik7byh1LHtnZXRQb2x5ZmlsbDphLGltcGxlbWVudGF0aW9uOmksc2hpbTpjfSk7ZS5leHBvcnRzPXV9LDYyNTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49cig0NjApO2UuZXhwb3J0cz1mdW5jdGlvbiBnZXRQb2x5ZmlsbCgpe2lmKE51bWJlci5pc05hTiYmTnVtYmVyLmlzTmFOKE5hTikmJiFOdW1iZXIuaXNOYU4oXCJhXCIpKXtyZXR1cm4gTnVtYmVyLmlzTmFOfXJldHVybiBufX0sMTcxOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDY5KTt2YXIgbz1yKDYyNSk7ZS5leHBvcnRzPWZ1bmN0aW9uIHNoaW1OdW1iZXJJc05hTigpe3ZhciBlPW8oKTtuKE51bWJlcix7aXNOYU46ZX0se2lzTmFOOmZ1bmN0aW9uIHRlc3RJc05hTigpe3JldHVybiBOdW1iZXIuaXNOYU4hPT1lfX0pO3JldHVybiBlfX0sOTk0OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDE0NCk7dmFyIG89cigzNDkpO3ZhciBpPXIoMjU2KTt2YXIgYT1pKFwiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ1wiKTt2YXIgYz1yKDk0MikoKTt2YXIgdT1jJiZ0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnPT09XCJzeW1ib2xcIjt2YXIgZj1vKCk7dmFyIHM9aShcIkFycmF5LnByb3RvdHlwZS5pbmRleE9mXCIsdHJ1ZSl8fGZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTEpe2lmKGVbcl09PT10KXtyZXR1cm4gcn19cmV0dXJuLTF9O3ZhciBsPWkoXCJTdHJpbmcucHJvdG90eXBlLnNsaWNlXCIpO3ZhciBwPXt9O3ZhciB5PXIoNDY2KTt2YXIgZz1PYmplY3QuZ2V0UHJvdG90eXBlT2Y7aWYodSYmeSYmZyl7bihmLChmdW5jdGlvbihlKXt2YXIgdD1uZXcgZ2xvYmFsW2VdO2lmKCEoU3ltYm9sLnRvU3RyaW5nVGFnIGluIHQpKXt0aHJvdyBuZXcgRXZhbEVycm9yKFwidGhpcyBlbmdpbmUgaGFzIHN1cHBvcnQgZm9yIFN5bWJvbC50b1N0cmluZ1RhZywgYnV0IFwiK2UrXCIgZG9lcyBub3QgaGF2ZSB0aGUgcHJvcGVydHkhIFBsZWFzZSByZXBvcnQgdGhpcy5cIil9dmFyIHI9Zyh0KTt2YXIgbj15KHIsU3ltYm9sLnRvU3RyaW5nVGFnKTtpZighbil7dmFyIG89ZyhyKTtuPXkobyxTeW1ib2wudG9TdHJpbmdUYWcpfXBbZV09bi5nZXR9KSl9dmFyIHY9ZnVuY3Rpb24gdHJ5QWxsVHlwZWRBcnJheXMoZSl7dmFyIHQ9ZmFsc2U7bihwLChmdW5jdGlvbihyLG4pe2lmKCF0KXt0cnl7dD1yLmNhbGwoZSk9PT1ufWNhdGNoKGUpe319fSkpO3JldHVybiB0fTtlLmV4cG9ydHM9ZnVuY3Rpb24gaXNUeXBlZEFycmF5KGUpe2lmKCFlfHx0eXBlb2YgZSE9PVwib2JqZWN0XCIpe3JldHVybiBmYWxzZX1pZighdSl7dmFyIHQ9bChhKGUpLDgsLTEpO3JldHVybiBzKGYsdCk+LTF9aWYoIXkpe3JldHVybiBmYWxzZX1yZXR1cm4gdihlKX19LDIwODpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjt2YXIgbnVtYmVySXNOYU49ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1lfTtlLmV4cG9ydHM9ZnVuY3Rpb24gaXMoZSx0KXtpZihlPT09MCYmdD09PTApe3JldHVybiAxL2U9PT0xL3R9aWYoZT09PXQpe3JldHVybiB0cnVlfWlmKG51bWJlcklzTmFOKGUpJiZudW1iZXJJc05hTih0KSl7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfX0sNTc5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbjtpZighT2JqZWN0LmtleXMpe3ZhciBvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIGk9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgYT1yKDQxMik7dmFyIGM9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTt2YXIgdT0hYy5jYWxsKHt0b1N0cmluZzpudWxsfSxcInRvU3RyaW5nXCIpO3ZhciBmPWMuY2FsbCgoZnVuY3Rpb24oKXt9KSxcInByb3RvdHlwZVwiKTt2YXIgcz1bXCJ0b1N0cmluZ1wiLFwidG9Mb2NhbGVTdHJpbmdcIixcInZhbHVlT2ZcIixcImhhc093blByb3BlcnR5XCIsXCJpc1Byb3RvdHlwZU9mXCIsXCJwcm9wZXJ0eUlzRW51bWVyYWJsZVwiLFwiY29uc3RydWN0b3JcIl07dmFyIGVxdWFsc0NvbnN0cnVjdG9yUHJvdG90eXBlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY29uc3RydWN0b3I7cmV0dXJuIHQmJnQucHJvdG90eXBlPT09ZX07dmFyIGw9eyRhcHBsaWNhdGlvbkNhY2hlOnRydWUsJGNvbnNvbGU6dHJ1ZSwkZXh0ZXJuYWw6dHJ1ZSwkZnJhbWU6dHJ1ZSwkZnJhbWVFbGVtZW50OnRydWUsJGZyYW1lczp0cnVlLCRpbm5lckhlaWdodDp0cnVlLCRpbm5lcldpZHRoOnRydWUsJG9ubW96ZnVsbHNjcmVlbmNoYW5nZTp0cnVlLCRvbm1vemZ1bGxzY3JlZW5lcnJvcjp0cnVlLCRvdXRlckhlaWdodDp0cnVlLCRvdXRlcldpZHRoOnRydWUsJHBhZ2VYT2Zmc2V0OnRydWUsJHBhZ2VZT2Zmc2V0OnRydWUsJHBhcmVudDp0cnVlLCRzY3JvbGxMZWZ0OnRydWUsJHNjcm9sbFRvcDp0cnVlLCRzY3JvbGxYOnRydWUsJHNjcm9sbFk6dHJ1ZSwkc2VsZjp0cnVlLCR3ZWJraXRJbmRleGVkREI6dHJ1ZSwkd2Via2l0U3RvcmFnZUluZm86dHJ1ZSwkd2luZG93OnRydWV9O3ZhciBwPWZ1bmN0aW9uKCl7aWYodHlwZW9mIHdpbmRvdz09PVwidW5kZWZpbmVkXCIpe3JldHVybiBmYWxzZX1mb3IodmFyIGUgaW4gd2luZG93KXt0cnl7aWYoIWxbXCIkXCIrZV0mJm8uY2FsbCh3aW5kb3csZSkmJndpbmRvd1tlXSE9PW51bGwmJnR5cGVvZiB3aW5kb3dbZV09PT1cIm9iamVjdFwiKXt0cnl7ZXF1YWxzQ29uc3RydWN0b3JQcm90b3R5cGUod2luZG93W2VdKX1jYXRjaChlKXtyZXR1cm4gdHJ1ZX19fWNhdGNoKGUpe3JldHVybiB0cnVlfX1yZXR1cm4gZmFsc2V9KCk7dmFyIGVxdWFsc0NvbnN0cnVjdG9yUHJvdG90eXBlSWZOb3RCdWdneT1mdW5jdGlvbihlKXtpZih0eXBlb2Ygd2luZG93PT09XCJ1bmRlZmluZWRcInx8IXApe3JldHVybiBlcXVhbHNDb25zdHJ1Y3RvclByb3RvdHlwZShlKX10cnl7cmV0dXJuIGVxdWFsc0NvbnN0cnVjdG9yUHJvdG90eXBlKGUpfWNhdGNoKGUpe3JldHVybiBmYWxzZX19O249ZnVuY3Rpb24ga2V5cyhlKXt2YXIgdD1lIT09bnVsbCYmdHlwZW9mIGU9PT1cIm9iamVjdFwiO3ZhciByPWkuY2FsbChlKT09PVwiW29iamVjdCBGdW5jdGlvbl1cIjt2YXIgbj1hKGUpO3ZhciBjPXQmJmkuY2FsbChlKT09PVwiW29iamVjdCBTdHJpbmddXCI7dmFyIGw9W107aWYoIXQmJiFyJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdC5rZXlzIGNhbGxlZCBvbiBhIG5vbi1vYmplY3RcIil9dmFyIHA9ZiYmcjtpZihjJiZlLmxlbmd0aD4wJiYhby5jYWxsKGUsMCkpe2Zvcih2YXIgeT0wO3k8ZS5sZW5ndGg7Kyt5KXtsLnB1c2goU3RyaW5nKHkpKX19aWYobiYmZS5sZW5ndGg+MCl7Zm9yKHZhciBnPTA7ZzxlLmxlbmd0aDsrK2cpe2wucHVzaChTdHJpbmcoZykpfX1lbHNle2Zvcih2YXIgdiBpbiBlKXtpZighKHAmJnY9PT1cInByb3RvdHlwZVwiKSYmby5jYWxsKGUsdikpe2wucHVzaChTdHJpbmcodikpfX19aWYodSl7dmFyIGQ9ZXF1YWxzQ29uc3RydWN0b3JQcm90b3R5cGVJZk5vdEJ1Z2d5KGUpO2Zvcih2YXIgYj0wO2I8cy5sZW5ndGg7KytiKXtpZighKGQmJnNbYl09PT1cImNvbnN0cnVjdG9yXCIpJiZvLmNhbGwoZSxzW2JdKSl7bC5wdXNoKHNbYl0pfX19cmV0dXJuIGx9fWUuZXhwb3J0cz1ufSw5MzU6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPUFycmF5LnByb3RvdHlwZS5zbGljZTt2YXIgbz1yKDQxMik7dmFyIGk9T2JqZWN0LmtleXM7dmFyIGE9aT9mdW5jdGlvbiBrZXlzKGUpe3JldHVybiBpKGUpfTpyKDU3OSk7dmFyIGM9T2JqZWN0LmtleXM7YS5zaGltPWZ1bmN0aW9uIHNoaW1PYmplY3RLZXlzKCl7aWYoT2JqZWN0LmtleXMpe3ZhciBlPWZ1bmN0aW9uKCl7dmFyIGU9T2JqZWN0LmtleXMoYXJndW1lbnRzKTtyZXR1cm4gZSYmZS5sZW5ndGg9PT1hcmd1bWVudHMubGVuZ3RofSgxLDIpO2lmKCFlKXtPYmplY3Qua2V5cz1mdW5jdGlvbiBrZXlzKGUpe2lmKG8oZSkpe3JldHVybiBjKG4uY2FsbChlKSl9cmV0dXJuIGMoZSl9fX1lbHNle09iamVjdC5rZXlzPWF9cmV0dXJuIE9iamVjdC5rZXlzfHxhfTtlLmV4cG9ydHM9YX0sNDEyOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZS5leHBvcnRzPWZ1bmN0aW9uIGlzQXJndW1lbnRzKGUpe3ZhciByPXQuY2FsbChlKTt2YXIgbj1yPT09XCJbb2JqZWN0IEFyZ3VtZW50c11cIjtpZighbil7bj1yIT09XCJbb2JqZWN0IEFycmF5XVwiJiZlIT09bnVsbCYmdHlwZW9mIGU9PT1cIm9iamVjdFwiJiZ0eXBlb2YgZS5sZW5ndGg9PT1cIm51bWJlclwiJiZlLmxlbmd0aD49MCYmdC5jYWxsKGUuY2FsbGVlKT09PVwiW29iamVjdCBGdW5jdGlvbl1cIn1yZXR1cm4gbn19LDM2OTpmdW5jdGlvbihlKXtlLmV4cG9ydHM9ZnVuY3Rpb24gaXNCdWZmZXIoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBCdWZmZXJ9fSw1ODQ6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPXIoMTU3KTt2YXIgbz1yKDM5MSk7dmFyIGk9cig0OTApO3ZhciBhPXIoOTk0KTtmdW5jdGlvbiB1bmN1cnJ5VGhpcyhlKXtyZXR1cm4gZS5jYWxsLmJpbmQoZSl9dmFyIGM9dHlwZW9mIEJpZ0ludCE9PVwidW5kZWZpbmVkXCI7dmFyIHU9dHlwZW9mIFN5bWJvbCE9PVwidW5kZWZpbmVkXCI7dmFyIGY9dW5jdXJyeVRoaXMoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyk7dmFyIHM9dW5jdXJyeVRoaXMoTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKTt2YXIgbD11bmN1cnJ5VGhpcyhTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YpO3ZhciBwPXVuY3VycnlUaGlzKEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YpO2lmKGMpe3ZhciB5PXVuY3VycnlUaGlzKEJpZ0ludC5wcm90b3R5cGUudmFsdWVPZil9aWYodSl7dmFyIGc9dW5jdXJyeVRoaXMoU3ltYm9sLnByb3RvdHlwZS52YWx1ZU9mKX1mdW5jdGlvbiBjaGVja0JveGVkUHJpbWl0aXZlKGUsdCl7aWYodHlwZW9mIGUhPT1cIm9iamVjdFwiKXtyZXR1cm4gZmFsc2V9dHJ5e3QoZSk7cmV0dXJuIHRydWV9Y2F0Y2goZSl7cmV0dXJuIGZhbHNlfX10LmlzQXJndW1lbnRzT2JqZWN0PW47dC5pc0dlbmVyYXRvckZ1bmN0aW9uPW87dC5pc1R5cGVkQXJyYXk9YTtmdW5jdGlvbiBpc1Byb21pc2UoZSl7cmV0dXJuIHR5cGVvZiBQcm9taXNlIT09XCJ1bmRlZmluZWRcIiYmZSBpbnN0YW5jZW9mIFByb21pc2V8fGUhPT1udWxsJiZ0eXBlb2YgZT09PVwib2JqZWN0XCImJnR5cGVvZiBlLnRoZW49PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBlLmNhdGNoPT09XCJmdW5jdGlvblwifXQuaXNQcm9taXNlPWlzUHJvbWlzZTtmdW5jdGlvbiBpc0FycmF5QnVmZmVyVmlldyhlKXtpZih0eXBlb2YgQXJyYXlCdWZmZXIhPT1cInVuZGVmaW5lZFwiJiZBcnJheUJ1ZmZlci5pc1ZpZXcpe3JldHVybiBBcnJheUJ1ZmZlci5pc1ZpZXcoZSl9cmV0dXJuIGEoZSl8fGlzRGF0YVZpZXcoZSl9dC5pc0FycmF5QnVmZmVyVmlldz1pc0FycmF5QnVmZmVyVmlldztmdW5jdGlvbiBpc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIGkoZSk9PT1cIlVpbnQ4QXJyYXlcIn10LmlzVWludDhBcnJheT1pc1VpbnQ4QXJyYXk7ZnVuY3Rpb24gaXNVaW50OENsYW1wZWRBcnJheShlKXtyZXR1cm4gaShlKT09PVwiVWludDhDbGFtcGVkQXJyYXlcIn10LmlzVWludDhDbGFtcGVkQXJyYXk9aXNVaW50OENsYW1wZWRBcnJheTtmdW5jdGlvbiBpc1VpbnQxNkFycmF5KGUpe3JldHVybiBpKGUpPT09XCJVaW50MTZBcnJheVwifXQuaXNVaW50MTZBcnJheT1pc1VpbnQxNkFycmF5O2Z1bmN0aW9uIGlzVWludDMyQXJyYXkoZSl7cmV0dXJuIGkoZSk9PT1cIlVpbnQzMkFycmF5XCJ9dC5pc1VpbnQzMkFycmF5PWlzVWludDMyQXJyYXk7ZnVuY3Rpb24gaXNJbnQ4QXJyYXkoZSl7cmV0dXJuIGkoZSk9PT1cIkludDhBcnJheVwifXQuaXNJbnQ4QXJyYXk9aXNJbnQ4QXJyYXk7ZnVuY3Rpb24gaXNJbnQxNkFycmF5KGUpe3JldHVybiBpKGUpPT09XCJJbnQxNkFycmF5XCJ9dC5pc0ludDE2QXJyYXk9aXNJbnQxNkFycmF5O2Z1bmN0aW9uIGlzSW50MzJBcnJheShlKXtyZXR1cm4gaShlKT09PVwiSW50MzJBcnJheVwifXQuaXNJbnQzMkFycmF5PWlzSW50MzJBcnJheTtmdW5jdGlvbiBpc0Zsb2F0MzJBcnJheShlKXtyZXR1cm4gaShlKT09PVwiRmxvYXQzMkFycmF5XCJ9dC5pc0Zsb2F0MzJBcnJheT1pc0Zsb2F0MzJBcnJheTtmdW5jdGlvbiBpc0Zsb2F0NjRBcnJheShlKXtyZXR1cm4gaShlKT09PVwiRmxvYXQ2NEFycmF5XCJ9dC5pc0Zsb2F0NjRBcnJheT1pc0Zsb2F0NjRBcnJheTtmdW5jdGlvbiBpc0JpZ0ludDY0QXJyYXkoZSl7cmV0dXJuIGkoZSk9PT1cIkJpZ0ludDY0QXJyYXlcIn10LmlzQmlnSW50NjRBcnJheT1pc0JpZ0ludDY0QXJyYXk7ZnVuY3Rpb24gaXNCaWdVaW50NjRBcnJheShlKXtyZXR1cm4gaShlKT09PVwiQmlnVWludDY0QXJyYXlcIn10LmlzQmlnVWludDY0QXJyYXk9aXNCaWdVaW50NjRBcnJheTtmdW5jdGlvbiBpc01hcFRvU3RyaW5nKGUpe3JldHVybiBmKGUpPT09XCJbb2JqZWN0IE1hcF1cIn1pc01hcFRvU3RyaW5nLndvcmtpbmc9dHlwZW9mIE1hcCE9PVwidW5kZWZpbmVkXCImJmlzTWFwVG9TdHJpbmcobmV3IE1hcCk7ZnVuY3Rpb24gaXNNYXAoZSl7aWYodHlwZW9mIE1hcD09PVwidW5kZWZpbmVkXCIpe3JldHVybiBmYWxzZX1yZXR1cm4gaXNNYXBUb1N0cmluZy53b3JraW5nP2lzTWFwVG9TdHJpbmcoZSk6ZSBpbnN0YW5jZW9mIE1hcH10LmlzTWFwPWlzTWFwO2Z1bmN0aW9uIGlzU2V0VG9TdHJpbmcoZSl7cmV0dXJuIGYoZSk9PT1cIltvYmplY3QgU2V0XVwifWlzU2V0VG9TdHJpbmcud29ya2luZz10eXBlb2YgU2V0IT09XCJ1bmRlZmluZWRcIiYmaXNTZXRUb1N0cmluZyhuZXcgU2V0KTtmdW5jdGlvbiBpc1NldChlKXtpZih0eXBlb2YgU2V0PT09XCJ1bmRlZmluZWRcIil7cmV0dXJuIGZhbHNlfXJldHVybiBpc1NldFRvU3RyaW5nLndvcmtpbmc/aXNTZXRUb1N0cmluZyhlKTplIGluc3RhbmNlb2YgU2V0fXQuaXNTZXQ9aXNTZXQ7ZnVuY3Rpb24gaXNXZWFrTWFwVG9TdHJpbmcoZSl7cmV0dXJuIGYoZSk9PT1cIltvYmplY3QgV2Vha01hcF1cIn1pc1dlYWtNYXBUb1N0cmluZy53b3JraW5nPXR5cGVvZiBXZWFrTWFwIT09XCJ1bmRlZmluZWRcIiYmaXNXZWFrTWFwVG9TdHJpbmcobmV3IFdlYWtNYXApO2Z1bmN0aW9uIGlzV2Vha01hcChlKXtpZih0eXBlb2YgV2Vha01hcD09PVwidW5kZWZpbmVkXCIpe3JldHVybiBmYWxzZX1yZXR1cm4gaXNXZWFrTWFwVG9TdHJpbmcud29ya2luZz9pc1dlYWtNYXBUb1N0cmluZyhlKTplIGluc3RhbmNlb2YgV2Vha01hcH10LmlzV2Vha01hcD1pc1dlYWtNYXA7ZnVuY3Rpb24gaXNXZWFrU2V0VG9TdHJpbmcoZSl7cmV0dXJuIGYoZSk9PT1cIltvYmplY3QgV2Vha1NldF1cIn1pc1dlYWtTZXRUb1N0cmluZy53b3JraW5nPXR5cGVvZiBXZWFrU2V0IT09XCJ1bmRlZmluZWRcIiYmaXNXZWFrU2V0VG9TdHJpbmcobmV3IFdlYWtTZXQpO2Z1bmN0aW9uIGlzV2Vha1NldChlKXtyZXR1cm4gaXNXZWFrU2V0VG9TdHJpbmcoZSl9dC5pc1dlYWtTZXQ9aXNXZWFrU2V0O2Z1bmN0aW9uIGlzQXJyYXlCdWZmZXJUb1N0cmluZyhlKXtyZXR1cm4gZihlKT09PVwiW29iamVjdCBBcnJheUJ1ZmZlcl1cIn1pc0FycmF5QnVmZmVyVG9TdHJpbmcud29ya2luZz10eXBlb2YgQXJyYXlCdWZmZXIhPT1cInVuZGVmaW5lZFwiJiZpc0FycmF5QnVmZmVyVG9TdHJpbmcobmV3IEFycmF5QnVmZmVyKTtmdW5jdGlvbiBpc0FycmF5QnVmZmVyKGUpe2lmKHR5cGVvZiBBcnJheUJ1ZmZlcj09PVwidW5kZWZpbmVkXCIpe3JldHVybiBmYWxzZX1yZXR1cm4gaXNBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmc/aXNBcnJheUJ1ZmZlclRvU3RyaW5nKGUpOmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn10LmlzQXJyYXlCdWZmZXI9aXNBcnJheUJ1ZmZlcjtmdW5jdGlvbiBpc0RhdGFWaWV3VG9TdHJpbmcoZSl7cmV0dXJuIGYoZSk9PT1cIltvYmplY3QgRGF0YVZpZXddXCJ9aXNEYXRhVmlld1RvU3RyaW5nLndvcmtpbmc9dHlwZW9mIEFycmF5QnVmZmVyIT09XCJ1bmRlZmluZWRcIiYmdHlwZW9mIERhdGFWaWV3IT09XCJ1bmRlZmluZWRcIiYmaXNEYXRhVmlld1RvU3RyaW5nKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMSksMCwxKSk7ZnVuY3Rpb24gaXNEYXRhVmlldyhlKXtpZih0eXBlb2YgRGF0YVZpZXc9PT1cInVuZGVmaW5lZFwiKXtyZXR1cm4gZmFsc2V9cmV0dXJuIGlzRGF0YVZpZXdUb1N0cmluZy53b3JraW5nP2lzRGF0YVZpZXdUb1N0cmluZyhlKTplIGluc3RhbmNlb2YgRGF0YVZpZXd9dC5pc0RhdGFWaWV3PWlzRGF0YVZpZXc7dmFyIHY9dHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyIT09XCJ1bmRlZmluZWRcIj9TaGFyZWRBcnJheUJ1ZmZlcjp1bmRlZmluZWQ7ZnVuY3Rpb24gaXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nKGUpe3JldHVybiBmKGUpPT09XCJbb2JqZWN0IFNoYXJlZEFycmF5QnVmZmVyXVwifWZ1bmN0aW9uIGlzU2hhcmVkQXJyYXlCdWZmZXIoZSl7aWYodHlwZW9mIHY9PT1cInVuZGVmaW5lZFwiKXtyZXR1cm4gZmFsc2V9aWYodHlwZW9mIGlzU2hhcmVkQXJyYXlCdWZmZXJUb1N0cmluZy53b3JraW5nPT09XCJ1bmRlZmluZWRcIil7aXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmc9aXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nKG5ldyB2KX1yZXR1cm4gaXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmc/aXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nKGUpOmUgaW5zdGFuY2VvZiB2fXQuaXNTaGFyZWRBcnJheUJ1ZmZlcj1pc1NoYXJlZEFycmF5QnVmZmVyO2Z1bmN0aW9uIGlzQXN5bmNGdW5jdGlvbihlKXtyZXR1cm4gZihlKT09PVwiW29iamVjdCBBc3luY0Z1bmN0aW9uXVwifXQuaXNBc3luY0Z1bmN0aW9uPWlzQXN5bmNGdW5jdGlvbjtmdW5jdGlvbiBpc01hcEl0ZXJhdG9yKGUpe3JldHVybiBmKGUpPT09XCJbb2JqZWN0IE1hcCBJdGVyYXRvcl1cIn10LmlzTWFwSXRlcmF0b3I9aXNNYXBJdGVyYXRvcjtmdW5jdGlvbiBpc1NldEl0ZXJhdG9yKGUpe3JldHVybiBmKGUpPT09XCJbb2JqZWN0IFNldCBJdGVyYXRvcl1cIn10LmlzU2V0SXRlcmF0b3I9aXNTZXRJdGVyYXRvcjtmdW5jdGlvbiBpc0dlbmVyYXRvck9iamVjdChlKXtyZXR1cm4gZihlKT09PVwiW29iamVjdCBHZW5lcmF0b3JdXCJ9dC5pc0dlbmVyYXRvck9iamVjdD1pc0dlbmVyYXRvck9iamVjdDtmdW5jdGlvbiBpc1dlYkFzc2VtYmx5Q29tcGlsZWRNb2R1bGUoZSl7cmV0dXJuIGYoZSk9PT1cIltvYmplY3QgV2ViQXNzZW1ibHkuTW9kdWxlXVwifXQuaXNXZWJBc3NlbWJseUNvbXBpbGVkTW9kdWxlPWlzV2ViQXNzZW1ibHlDb21waWxlZE1vZHVsZTtmdW5jdGlvbiBpc051bWJlck9iamVjdChlKXtyZXR1cm4gY2hlY2tCb3hlZFByaW1pdGl2ZShlLHMpfXQuaXNOdW1iZXJPYmplY3Q9aXNOdW1iZXJPYmplY3Q7ZnVuY3Rpb24gaXNTdHJpbmdPYmplY3QoZSl7cmV0dXJuIGNoZWNrQm94ZWRQcmltaXRpdmUoZSxsKX10LmlzU3RyaW5nT2JqZWN0PWlzU3RyaW5nT2JqZWN0O2Z1bmN0aW9uIGlzQm9vbGVhbk9iamVjdChlKXtyZXR1cm4gY2hlY2tCb3hlZFByaW1pdGl2ZShlLHApfXQuaXNCb29sZWFuT2JqZWN0PWlzQm9vbGVhbk9iamVjdDtmdW5jdGlvbiBpc0JpZ0ludE9iamVjdChlKXtyZXR1cm4gYyYmY2hlY2tCb3hlZFByaW1pdGl2ZShlLHkpfXQuaXNCaWdJbnRPYmplY3Q9aXNCaWdJbnRPYmplY3Q7ZnVuY3Rpb24gaXNTeW1ib2xPYmplY3QoZSl7cmV0dXJuIHUmJmNoZWNrQm94ZWRQcmltaXRpdmUoZSxnKX10LmlzU3ltYm9sT2JqZWN0PWlzU3ltYm9sT2JqZWN0O2Z1bmN0aW9uIGlzQm94ZWRQcmltaXRpdmUoZSl7cmV0dXJuIGlzTnVtYmVyT2JqZWN0KGUpfHxpc1N0cmluZ09iamVjdChlKXx8aXNCb29sZWFuT2JqZWN0KGUpfHxpc0JpZ0ludE9iamVjdChlKXx8aXNTeW1ib2xPYmplY3QoZSl9dC5pc0JveGVkUHJpbWl0aXZlPWlzQm94ZWRQcmltaXRpdmU7ZnVuY3Rpb24gaXNBbnlBcnJheUJ1ZmZlcihlKXtyZXR1cm4gdHlwZW9mIFVpbnQ4QXJyYXkhPT1cInVuZGVmaW5lZFwiJiYoaXNBcnJheUJ1ZmZlcihlKXx8aXNTaGFyZWRBcnJheUJ1ZmZlcihlKSl9dC5pc0FueUFycmF5QnVmZmVyPWlzQW55QXJyYXlCdWZmZXI7W1wiaXNQcm94eVwiLFwiaXNFeHRlcm5hbFwiLFwiaXNNb2R1bGVOYW1lc3BhY2VPYmplY3RcIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7ZW51bWVyYWJsZTpmYWxzZSx2YWx1ZTpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihlK1wiIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdXNlcmxhbmRcIil9fSl9KSl9LDE3NzpmdW5jdGlvbihlLHQscil7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnN8fGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSl7dmFyIHQ9T2JqZWN0LmtleXMoZSk7dmFyIHI9e307Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3JbdFtuXV09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHRbbl0pfXJldHVybiByfTt2YXIgbz0vJVtzZGolXS9nO3QuZm9ybWF0PWZ1bmN0aW9uKGUpe2lmKCFpc1N0cmluZyhlKSl7dmFyIHQ9W107Zm9yKHZhciByPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dC5wdXNoKGluc3BlY3QoYXJndW1lbnRzW3JdKSl9cmV0dXJuIHQuam9pbihcIiBcIil9dmFyIHI9MTt2YXIgbj1hcmd1bWVudHM7dmFyIGk9bi5sZW5ndGg7dmFyIGE9U3RyaW5nKGUpLnJlcGxhY2UobywoZnVuY3Rpb24oZSl7aWYoZT09PVwiJSVcIilyZXR1cm5cIiVcIjtpZihyPj1pKXJldHVybiBlO3N3aXRjaChlKXtjYXNlXCIlc1wiOnJldHVybiBTdHJpbmcobltyKytdKTtjYXNlXCIlZFwiOnJldHVybiBOdW1iZXIobltyKytdKTtjYXNlXCIlalwiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkobltyKytdKX1jYXRjaChlKXtyZXR1cm5cIltDaXJjdWxhcl1cIn1kZWZhdWx0OnJldHVybiBlfX0pKTtmb3IodmFyIGM9bltyXTtyPGk7Yz1uWysrcl0pe2lmKGlzTnVsbChjKXx8IWlzT2JqZWN0KGMpKXthKz1cIiBcIitjfWVsc2V7YSs9XCIgXCIraW5zcGVjdChjKX19cmV0dXJuIGF9O3QuZGVwcmVjYXRlPWZ1bmN0aW9uKGUscil7aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLm5vRGVwcmVjYXRpb249PT10cnVlKXtyZXR1cm4gZX1pZih0eXBlb2YgcHJvY2Vzcz09PVwidW5kZWZpbmVkXCIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmRlcHJlY2F0ZShlLHIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19dmFyIG49ZmFsc2U7ZnVuY3Rpb24gZGVwcmVjYXRlZCgpe2lmKCFuKXtpZihwcm9jZXNzLnRocm93RGVwcmVjYXRpb24pe3Rocm93IG5ldyBFcnJvcihyKX1lbHNlIGlmKHByb2Nlc3MudHJhY2VEZXByZWNhdGlvbil7Y29uc29sZS50cmFjZShyKX1lbHNle2NvbnNvbGUuZXJyb3Iocil9bj10cnVlfXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gZGVwcmVjYXRlZH07dmFyIGk9e307dmFyIGE9L14kLztpZihwcm9jZXNzLmVudi5OT0RFX0RFQlVHKXt2YXIgYz1wcm9jZXNzLmVudi5OT0RFX0RFQlVHO2M9Yy5yZXBsYWNlKC9bfFxcXFx7fSgpW1xcXV4kKz8uXS9nLFwiXFxcXCQmXCIpLnJlcGxhY2UoL1xcKi9nLFwiLipcIikucmVwbGFjZSgvLC9nLFwiJHxeXCIpLnRvVXBwZXJDYXNlKCk7YT1uZXcgUmVnRXhwKFwiXlwiK2MrXCIkXCIsXCJpXCIpfXQuZGVidWdsb2c9ZnVuY3Rpb24oZSl7ZT1lLnRvVXBwZXJDYXNlKCk7aWYoIWlbZV0pe2lmKGEudGVzdChlKSl7dmFyIHI9cHJvY2Vzcy5waWQ7aVtlXT1mdW5jdGlvbigpe3ZhciBuPXQuZm9ybWF0LmFwcGx5KHQsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKFwiJXMgJWQ6ICVzXCIsZSxyLG4pfX1lbHNle2lbZV09ZnVuY3Rpb24oKXt9fX1yZXR1cm4gaVtlXX07ZnVuY3Rpb24gaW5zcGVjdChlLHIpe3ZhciBuPXtzZWVuOltdLHN0eWxpemU6c3R5bGl6ZU5vQ29sb3J9O2lmKGFyZ3VtZW50cy5sZW5ndGg+PTMpbi5kZXB0aD1hcmd1bWVudHNbMl07aWYoYXJndW1lbnRzLmxlbmd0aD49NCluLmNvbG9ycz1hcmd1bWVudHNbM107aWYoaXNCb29sZWFuKHIpKXtuLnNob3dIaWRkZW49cn1lbHNlIGlmKHIpe3QuX2V4dGVuZChuLHIpfWlmKGlzVW5kZWZpbmVkKG4uc2hvd0hpZGRlbikpbi5zaG93SGlkZGVuPWZhbHNlO2lmKGlzVW5kZWZpbmVkKG4uZGVwdGgpKW4uZGVwdGg9MjtpZihpc1VuZGVmaW5lZChuLmNvbG9ycykpbi5jb2xvcnM9ZmFsc2U7aWYoaXNVbmRlZmluZWQobi5jdXN0b21JbnNwZWN0KSluLmN1c3RvbUluc3BlY3Q9dHJ1ZTtpZihuLmNvbG9ycyluLnN0eWxpemU9c3R5bGl6ZVdpdGhDb2xvcjtyZXR1cm4gZm9ybWF0VmFsdWUobixlLG4uZGVwdGgpfXQuaW5zcGVjdD1pbnNwZWN0O2luc3BlY3QuY29sb3JzPXtib2xkOlsxLDIyXSxpdGFsaWM6WzMsMjNdLHVuZGVybGluZTpbNCwyNF0saW52ZXJzZTpbNywyN10sd2hpdGU6WzM3LDM5XSxncmV5Ols5MCwzOV0sYmxhY2s6WzMwLDM5XSxibHVlOlszNCwzOV0sY3lhbjpbMzYsMzldLGdyZWVuOlszMiwzOV0sbWFnZW50YTpbMzUsMzldLHJlZDpbMzEsMzldLHllbGxvdzpbMzMsMzldfTtpbnNwZWN0LnN0eWxlcz17c3BlY2lhbDpcImN5YW5cIixudW1iZXI6XCJ5ZWxsb3dcIixib29sZWFuOlwieWVsbG93XCIsdW5kZWZpbmVkOlwiZ3JleVwiLG51bGw6XCJib2xkXCIsc3RyaW5nOlwiZ3JlZW5cIixkYXRlOlwibWFnZW50YVwiLHJlZ2V4cDpcInJlZFwifTtmdW5jdGlvbiBzdHlsaXplV2l0aENvbG9yKGUsdCl7dmFyIHI9aW5zcGVjdC5zdHlsZXNbdF07aWYocil7cmV0dXJuXCJcdTAwMWJbXCIraW5zcGVjdC5jb2xvcnNbcl1bMF0rXCJtXCIrZStcIlx1MDAxYltcIitpbnNwZWN0LmNvbG9yc1tyXVsxXStcIm1cIn1lbHNle3JldHVybiBlfX1mdW5jdGlvbiBzdHlsaXplTm9Db2xvcihlLHQpe3JldHVybiBlfWZ1bmN0aW9uIGFycmF5VG9IYXNoKGUpe3ZhciB0PXt9O2UuZm9yRWFjaCgoZnVuY3Rpb24oZSxyKXt0W2VdPXRydWV9KSk7cmV0dXJuIHR9ZnVuY3Rpb24gZm9ybWF0VmFsdWUoZSxyLG4pe2lmKGUuY3VzdG9tSW5zcGVjdCYmciYmaXNGdW5jdGlvbihyLmluc3BlY3QpJiZyLmluc3BlY3QhPT10Lmluc3BlY3QmJiEoci5jb25zdHJ1Y3RvciYmci5jb25zdHJ1Y3Rvci5wcm90b3R5cGU9PT1yKSl7dmFyIG89ci5pbnNwZWN0KG4sZSk7aWYoIWlzU3RyaW5nKG8pKXtvPWZvcm1hdFZhbHVlKGUsbyxuKX1yZXR1cm4gb312YXIgaT1mb3JtYXRQcmltaXRpdmUoZSxyKTtpZihpKXtyZXR1cm4gaX12YXIgYT1PYmplY3Qua2V5cyhyKTt2YXIgYz1hcnJheVRvSGFzaChhKTtpZihlLnNob3dIaWRkZW4pe2E9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocil9aWYoaXNFcnJvcihyKSYmKGEuaW5kZXhPZihcIm1lc3NhZ2VcIik+PTB8fGEuaW5kZXhPZihcImRlc2NyaXB0aW9uXCIpPj0wKSl7cmV0dXJuIGZvcm1hdEVycm9yKHIpfWlmKGEubGVuZ3RoPT09MCl7aWYoaXNGdW5jdGlvbihyKSl7dmFyIHU9ci5uYW1lP1wiOiBcIityLm5hbWU6XCJcIjtyZXR1cm4gZS5zdHlsaXplKFwiW0Z1bmN0aW9uXCIrdStcIl1cIixcInNwZWNpYWxcIil9aWYoaXNSZWdFeHAocikpe3JldHVybiBlLnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpLFwicmVnZXhwXCIpfWlmKGlzRGF0ZShyKSl7cmV0dXJuIGUuc3R5bGl6ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpLFwiZGF0ZVwiKX1pZihpc0Vycm9yKHIpKXtyZXR1cm4gZm9ybWF0RXJyb3Iocil9fXZhciBmPVwiXCIscz1mYWxzZSxsPVtcIntcIixcIn1cIl07aWYoaXNBcnJheShyKSl7cz10cnVlO2w9W1wiW1wiLFwiXVwiXX1pZihpc0Z1bmN0aW9uKHIpKXt2YXIgcD1yLm5hbWU/XCI6IFwiK3IubmFtZTpcIlwiO2Y9XCIgW0Z1bmN0aW9uXCIrcCtcIl1cIn1pZihpc1JlZ0V4cChyKSl7Zj1cIiBcIitSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocil9aWYoaXNEYXRlKHIpKXtmPVwiIFwiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwocil9aWYoaXNFcnJvcihyKSl7Zj1cIiBcIitmb3JtYXRFcnJvcihyKX1pZihhLmxlbmd0aD09PTAmJighc3x8ci5sZW5ndGg9PTApKXtyZXR1cm4gbFswXStmK2xbMV19aWYobjwwKXtpZihpc1JlZ0V4cChyKSl7cmV0dXJuIGUuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwociksXCJyZWdleHBcIil9ZWxzZXtyZXR1cm4gZS5zdHlsaXplKFwiW09iamVjdF1cIixcInNwZWNpYWxcIil9fWUuc2Vlbi5wdXNoKHIpO3ZhciB5O2lmKHMpe3k9Zm9ybWF0QXJyYXkoZSxyLG4sYyxhKX1lbHNle3k9YS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBmb3JtYXRQcm9wZXJ0eShlLHIsbixjLHQscyl9KSl9ZS5zZWVuLnBvcCgpO3JldHVybiByZWR1Y2VUb1NpbmdsZVN0cmluZyh5LGYsbCl9ZnVuY3Rpb24gZm9ybWF0UHJpbWl0aXZlKGUsdCl7aWYoaXNVbmRlZmluZWQodCkpcmV0dXJuIGUuc3R5bGl6ZShcInVuZGVmaW5lZFwiLFwidW5kZWZpbmVkXCIpO2lmKGlzU3RyaW5nKHQpKXt2YXIgcj1cIidcIitKU09OLnN0cmluZ2lmeSh0KS5yZXBsYWNlKC9eXCJ8XCIkL2csXCJcIikucmVwbGFjZSgvJy9nLFwiXFxcXCdcIikucmVwbGFjZSgvXFxcXFwiL2csJ1wiJykrXCInXCI7cmV0dXJuIGUuc3R5bGl6ZShyLFwic3RyaW5nXCIpfWlmKGlzTnVtYmVyKHQpKXJldHVybiBlLnN0eWxpemUoXCJcIit0LFwibnVtYmVyXCIpO2lmKGlzQm9vbGVhbih0KSlyZXR1cm4gZS5zdHlsaXplKFwiXCIrdCxcImJvb2xlYW5cIik7aWYoaXNOdWxsKHQpKXJldHVybiBlLnN0eWxpemUoXCJudWxsXCIsXCJudWxsXCIpfWZ1bmN0aW9uIGZvcm1hdEVycm9yKGUpe3JldHVyblwiW1wiK0Vycm9yLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpK1wiXVwifWZ1bmN0aW9uIGZvcm1hdEFycmF5KGUsdCxyLG4sbyl7dmFyIGk9W107Zm9yKHZhciBhPTAsYz10Lmxlbmd0aDthPGM7KythKXtpZihoYXNPd25Qcm9wZXJ0eSh0LFN0cmluZyhhKSkpe2kucHVzaChmb3JtYXRQcm9wZXJ0eShlLHQscixuLFN0cmluZyhhKSx0cnVlKSl9ZWxzZXtpLnB1c2goXCJcIil9fW8uZm9yRWFjaCgoZnVuY3Rpb24obyl7aWYoIW8ubWF0Y2goL15cXGQrJC8pKXtpLnB1c2goZm9ybWF0UHJvcGVydHkoZSx0LHIsbixvLHRydWUpKX19KSk7cmV0dXJuIGl9ZnVuY3Rpb24gZm9ybWF0UHJvcGVydHkoZSx0LHIsbixvLGkpe3ZhciBhLGMsdTt1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxvKXx8e3ZhbHVlOnRbb119O2lmKHUuZ2V0KXtpZih1LnNldCl7Yz1lLnN0eWxpemUoXCJbR2V0dGVyL1NldHRlcl1cIixcInNwZWNpYWxcIil9ZWxzZXtjPWUuc3R5bGl6ZShcIltHZXR0ZXJdXCIsXCJzcGVjaWFsXCIpfX1lbHNle2lmKHUuc2V0KXtjPWUuc3R5bGl6ZShcIltTZXR0ZXJdXCIsXCJzcGVjaWFsXCIpfX1pZighaGFzT3duUHJvcGVydHkobixvKSl7YT1cIltcIitvK1wiXVwifWlmKCFjKXtpZihlLnNlZW4uaW5kZXhPZih1LnZhbHVlKTwwKXtpZihpc051bGwocikpe2M9Zm9ybWF0VmFsdWUoZSx1LnZhbHVlLG51bGwpfWVsc2V7Yz1mb3JtYXRWYWx1ZShlLHUudmFsdWUsci0xKX1pZihjLmluZGV4T2YoXCJcXG5cIik+LTEpe2lmKGkpe2M9Yy5zcGxpdChcIlxcblwiKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVyblwiICBcIitlfSkpLmpvaW4oXCJcXG5cIikuc3Vic3RyKDIpfWVsc2V7Yz1cIlxcblwiK2Muc3BsaXQoXCJcXG5cIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm5cIiAgIFwiK2V9KSkuam9pbihcIlxcblwiKX19fWVsc2V7Yz1lLnN0eWxpemUoXCJbQ2lyY3VsYXJdXCIsXCJzcGVjaWFsXCIpfX1pZihpc1VuZGVmaW5lZChhKSl7aWYoaSYmby5tYXRjaCgvXlxcZCskLykpe3JldHVybiBjfWE9SlNPTi5zdHJpbmdpZnkoXCJcIitvKTtpZihhLm1hdGNoKC9eXCIoW2EtekEtWl9dW2EtekEtWl8wLTldKilcIiQvKSl7YT1hLnN1YnN0cigxLGEubGVuZ3RoLTIpO2E9ZS5zdHlsaXplKGEsXCJuYW1lXCIpfWVsc2V7YT1hLnJlcGxhY2UoLycvZyxcIlxcXFwnXCIpLnJlcGxhY2UoL1xcXFxcIi9nLCdcIicpLnJlcGxhY2UoLyheXCJ8XCIkKS9nLFwiJ1wiKTthPWUuc3R5bGl6ZShhLFwic3RyaW5nXCIpfX1yZXR1cm4gYStcIjogXCIrY31mdW5jdGlvbiByZWR1Y2VUb1NpbmdsZVN0cmluZyhlLHQscil7dmFyIG49MDt2YXIgbz1lLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtuKys7aWYodC5pbmRleE9mKFwiXFxuXCIpPj0wKW4rKztyZXR1cm4gZSt0LnJlcGxhY2UoL1xcdTAwMWJcXFtcXGRcXGQ/bS9nLFwiXCIpLmxlbmd0aCsxfSksMCk7aWYobz42MCl7cmV0dXJuIHJbMF0rKHQ9PT1cIlwiP1wiXCI6dCtcIlxcbiBcIikrXCIgXCIrZS5qb2luKFwiLFxcbiAgXCIpK1wiIFwiK3JbMV19cmV0dXJuIHJbMF0rdCtcIiBcIitlLmpvaW4oXCIsIFwiKStcIiBcIityWzFdfXQudHlwZXM9cig1ODQpO2Z1bmN0aW9uIGlzQXJyYXkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl9dC5pc0FycmF5PWlzQXJyYXk7ZnVuY3Rpb24gaXNCb29sZWFuKGUpe3JldHVybiB0eXBlb2YgZT09PVwiYm9vbGVhblwifXQuaXNCb29sZWFuPWlzQm9vbGVhbjtmdW5jdGlvbiBpc051bGwoZSl7cmV0dXJuIGU9PT1udWxsfXQuaXNOdWxsPWlzTnVsbDtmdW5jdGlvbiBpc051bGxPclVuZGVmaW5lZChlKXtyZXR1cm4gZT09bnVsbH10LmlzTnVsbE9yVW5kZWZpbmVkPWlzTnVsbE9yVW5kZWZpbmVkO2Z1bmN0aW9uIGlzTnVtYmVyKGUpe3JldHVybiB0eXBlb2YgZT09PVwibnVtYmVyXCJ9dC5pc051bWJlcj1pc051bWJlcjtmdW5jdGlvbiBpc1N0cmluZyhlKXtyZXR1cm4gdHlwZW9mIGU9PT1cInN0cmluZ1wifXQuaXNTdHJpbmc9aXNTdHJpbmc7ZnVuY3Rpb24gaXNTeW1ib2woZSl7cmV0dXJuIHR5cGVvZiBlPT09XCJzeW1ib2xcIn10LmlzU3ltYm9sPWlzU3ltYm9sO2Z1bmN0aW9uIGlzVW5kZWZpbmVkKGUpe3JldHVybiBlPT09dm9pZCAwfXQuaXNVbmRlZmluZWQ9aXNVbmRlZmluZWQ7ZnVuY3Rpb24gaXNSZWdFeHAoZSl7cmV0dXJuIGlzT2JqZWN0KGUpJiZvYmplY3RUb1N0cmluZyhlKT09PVwiW29iamVjdCBSZWdFeHBdXCJ9dC5pc1JlZ0V4cD1pc1JlZ0V4cDt0LnR5cGVzLmlzUmVnRXhwPWlzUmVnRXhwO2Z1bmN0aW9uIGlzT2JqZWN0KGUpe3JldHVybiB0eXBlb2YgZT09PVwib2JqZWN0XCImJmUhPT1udWxsfXQuaXNPYmplY3Q9aXNPYmplY3Q7ZnVuY3Rpb24gaXNEYXRlKGUpe3JldHVybiBpc09iamVjdChlKSYmb2JqZWN0VG9TdHJpbmcoZSk9PT1cIltvYmplY3QgRGF0ZV1cIn10LmlzRGF0ZT1pc0RhdGU7dC50eXBlcy5pc0RhdGU9aXNEYXRlO2Z1bmN0aW9uIGlzRXJyb3IoZSl7cmV0dXJuIGlzT2JqZWN0KGUpJiYob2JqZWN0VG9TdHJpbmcoZSk9PT1cIltvYmplY3QgRXJyb3JdXCJ8fGUgaW5zdGFuY2VvZiBFcnJvcil9dC5pc0Vycm9yPWlzRXJyb3I7dC50eXBlcy5pc05hdGl2ZUVycm9yPWlzRXJyb3I7ZnVuY3Rpb24gaXNGdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGU9PT1cImZ1bmN0aW9uXCJ9dC5pc0Z1bmN0aW9uPWlzRnVuY3Rpb247ZnVuY3Rpb24gaXNQcmltaXRpdmUoZSl7cmV0dXJuIGU9PT1udWxsfHx0eXBlb2YgZT09PVwiYm9vbGVhblwifHx0eXBlb2YgZT09PVwibnVtYmVyXCJ8fHR5cGVvZiBlPT09XCJzdHJpbmdcInx8dHlwZW9mIGU9PT1cInN5bWJvbFwifHx0eXBlb2YgZT09PVwidW5kZWZpbmVkXCJ9dC5pc1ByaW1pdGl2ZT1pc1ByaW1pdGl2ZTt0LmlzQnVmZmVyPXIoMzY5KTtmdW5jdGlvbiBvYmplY3RUb1N0cmluZyhlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIHBhZChlKXtyZXR1cm4gZTwxMD9cIjBcIitlLnRvU3RyaW5nKDEwKTplLnRvU3RyaW5nKDEwKX12YXIgdT1bXCJKYW5cIixcIkZlYlwiLFwiTWFyXCIsXCJBcHJcIixcIk1heVwiLFwiSnVuXCIsXCJKdWxcIixcIkF1Z1wiLFwiU2VwXCIsXCJPY3RcIixcIk5vdlwiLFwiRGVjXCJdO2Z1bmN0aW9uIHRpbWVzdGFtcCgpe3ZhciBlPW5ldyBEYXRlO3ZhciB0PVtwYWQoZS5nZXRIb3VycygpKSxwYWQoZS5nZXRNaW51dGVzKCkpLHBhZChlLmdldFNlY29uZHMoKSldLmpvaW4oXCI6XCIpO3JldHVybltlLmdldERhdGUoKSx1W2UuZ2V0TW9udGgoKV0sdF0uam9pbihcIiBcIil9dC5sb2c9ZnVuY3Rpb24oKXtjb25zb2xlLmxvZyhcIiVzIC0gJXNcIix0aW1lc3RhbXAoKSx0LmZvcm1hdC5hcHBseSh0LGFyZ3VtZW50cykpfTt0LmluaGVyaXRzPXIoNzgyKTt0Ll9leHRlbmQ9ZnVuY3Rpb24oZSx0KXtpZighdHx8IWlzT2JqZWN0KHQpKXJldHVybiBlO3ZhciByPU9iamVjdC5rZXlzKHQpO3ZhciBuPXIubGVuZ3RoO3doaWxlKG4tLSl7ZVtyW25dXT10W3Jbbl1dfXJldHVybiBlfTtmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX12YXIgZj10eXBlb2YgU3ltYm9sIT09XCJ1bmRlZmluZWRcIj9TeW1ib2woXCJ1dGlsLnByb21pc2lmeS5jdXN0b21cIik6dW5kZWZpbmVkO3QucHJvbWlzaWZ5PWZ1bmN0aW9uIHByb21pc2lmeShlKXtpZih0eXBlb2YgZSE9PVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJvcmlnaW5hbFwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpO2lmKGYmJmVbZl0pe3ZhciB0PWVbZl07aWYodHlwZW9mIHQhPT1cImZ1bmN0aW9uXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInV0aWwucHJvbWlzaWZ5LmN1c3RvbVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGYse3ZhbHVlOnQsZW51bWVyYWJsZTpmYWxzZSx3cml0YWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO3JldHVybiB0fWZ1bmN0aW9uIHQoKXt2YXIgdCxyO3ZhciBuPW5ldyBQcm9taXNlKChmdW5jdGlvbihlLG4pe3Q9ZTtyPW59KSk7dmFyIG89W107Zm9yKHZhciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKyl7by5wdXNoKGFyZ3VtZW50c1tpXSl9by5wdXNoKChmdW5jdGlvbihlLG4pe2lmKGUpe3IoZSl9ZWxzZXt0KG4pfX0pKTt0cnl7ZS5hcHBseSh0aGlzLG8pfWNhdGNoKGUpe3IoZSl9cmV0dXJuIG59T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpKTtpZihmKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGYse3ZhbHVlOnQsZW51bWVyYWJsZTpmYWxzZSx3cml0YWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LG4oZSkpfTt0LnByb21pc2lmeS5jdXN0b209ZjtmdW5jdGlvbiBjYWxsYmFja2lmeU9uUmVqZWN0ZWQoZSx0KXtpZighZSl7dmFyIHI9bmV3IEVycm9yKFwiUHJvbWlzZSB3YXMgcmVqZWN0ZWQgd2l0aCBhIGZhbHN5IHZhbHVlXCIpO3IucmVhc29uPWU7ZT1yfXJldHVybiB0KGUpfWZ1bmN0aW9uIGNhbGxiYWNraWZ5KGUpe2lmKHR5cGVvZiBlIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJvcmlnaW5hbFwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpfWZ1bmN0aW9uIGNhbGxiYWNraWZpZWQoKXt2YXIgdD1bXTtmb3IodmFyIHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt0LnB1c2goYXJndW1lbnRzW3JdKX12YXIgbj10LnBvcCgpO2lmKHR5cGVvZiBuIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIGxhc3QgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uXCIpfXZhciBvPXRoaXM7dmFyIGNiPWZ1bmN0aW9uKCl7cmV0dXJuIG4uYXBwbHkobyxhcmd1bWVudHMpfTtlLmFwcGx5KHRoaXMsdCkudGhlbigoZnVuY3Rpb24oZSl7cHJvY2Vzcy5uZXh0VGljayhjYi5iaW5kKG51bGwsbnVsbCxlKSl9KSwoZnVuY3Rpb24oZSl7cHJvY2Vzcy5uZXh0VGljayhjYWxsYmFja2lmeU9uUmVqZWN0ZWQuYmluZChudWxsLGUsY2IpKX0pKX1PYmplY3Quc2V0UHJvdG90eXBlT2YoY2FsbGJhY2tpZmllZCxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNhbGxiYWNraWZpZWQsbihlKSk7cmV0dXJuIGNhbGxiYWNraWZpZWR9dC5jYWxsYmFja2lmeT1jYWxsYmFja2lmeX0sNDkwOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDE0NCk7dmFyIG89cigzNDkpO3ZhciBpPXIoMjU2KTt2YXIgYT1pKFwiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ1wiKTt2YXIgYz1yKDk0MikoKTt2YXIgdT1jJiZ0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnPT09XCJzeW1ib2xcIjt2YXIgZj1vKCk7dmFyIHM9aShcIlN0cmluZy5wcm90b3R5cGUuc2xpY2VcIik7dmFyIGw9e307dmFyIHA9cig0NjYpO3ZhciB5PU9iamVjdC5nZXRQcm90b3R5cGVPZjtpZih1JiZwJiZ5KXtuKGYsKGZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBnbG9iYWxbZV09PT1cImZ1bmN0aW9uXCIpe3ZhciB0PW5ldyBnbG9iYWxbZV07aWYoIShTeW1ib2wudG9TdHJpbmdUYWcgaW4gdCkpe3Rocm93IG5ldyBFdmFsRXJyb3IoXCJ0aGlzIGVuZ2luZSBoYXMgc3VwcG9ydCBmb3IgU3ltYm9sLnRvU3RyaW5nVGFnLCBidXQgXCIrZStcIiBkb2VzIG5vdCBoYXZlIHRoZSBwcm9wZXJ0eSEgUGxlYXNlIHJlcG9ydCB0aGlzLlwiKX12YXIgcj15KHQpO3ZhciBuPXAocixTeW1ib2wudG9TdHJpbmdUYWcpO2lmKCFuKXt2YXIgbz15KHIpO249cChvLFN5bWJvbC50b1N0cmluZ1RhZyl9bFtlXT1uLmdldH19KSl9dmFyIGc9ZnVuY3Rpb24gdHJ5QWxsVHlwZWRBcnJheXMoZSl7dmFyIHQ9ZmFsc2U7bihsLChmdW5jdGlvbihyLG4pe2lmKCF0KXt0cnl7dmFyIG89ci5jYWxsKGUpO2lmKG89PT1uKXt0PW99fWNhdGNoKGUpe319fSkpO3JldHVybiB0fTt2YXIgdj1yKDk5NCk7ZS5leHBvcnRzPWZ1bmN0aW9uIHdoaWNoVHlwZWRBcnJheShlKXtpZighdihlKSl7cmV0dXJuIGZhbHNlfWlmKCF1KXtyZXR1cm4gcyhhKGUpLDgsLTEpfXJldHVybiBnKGUpfX0sMzQ5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDk5Mik7ZS5leHBvcnRzPWZ1bmN0aW9uIGF2YWlsYWJsZVR5cGVkQXJyYXlzKCl7cmV0dXJuIG4oW1wiQmlnSW50NjRBcnJheVwiLFwiQmlnVWludDY0QXJyYXlcIixcIkZsb2F0MzJBcnJheVwiLFwiRmxvYXQ2NEFycmF5XCIsXCJJbnQxNkFycmF5XCIsXCJJbnQzMkFycmF5XCIsXCJJbnQ4QXJyYXlcIixcIlVpbnQxNkFycmF5XCIsXCJVaW50MzJBcnJheVwiLFwiVWludDhBcnJheVwiLFwiVWludDhDbGFtcGVkQXJyYXlcIl0sKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZ2xvYmFsW2VdPT09XCJmdW5jdGlvblwifSkpfX0sNDY2OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDUwMCk7dmFyIG89bihcIiVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJVwiLHRydWUpO2lmKG8pe3RyeXtvKFtdLFwibGVuZ3RoXCIpfWNhdGNoKGUpe289bnVsbH19ZS5leHBvcnRzPW99fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz10W3JdPXtleHBvcnRzOnt9fTt2YXIgaT10cnVlO3RyeXtlW3JdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2k9ZmFsc2V9ZmluYWxseXtpZihpKWRlbGV0ZSB0W3JdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oMTY3KTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/assert/assert.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/browserify-zlib/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/browserify-zlib/index.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n(function(){\"use strict\";var e={742:function(e,t,i){var a=i(491);var r=i(562);var n=i(450);var s=i(324);var l=i(320);for(var f in l){t[f]=l[f]}t.NONE=0;t.DEFLATE=1;t.INFLATE=2;t.GZIP=3;t.GUNZIP=4;t.DEFLATERAW=5;t.INFLATERAW=6;t.UNZIP=7;var o=31;var h=139;function Zlib(e){if(typeof e!==\"number\"||e<t.DEFLATE||e>t.UNZIP){throw new TypeError(\"Bad argument\")}this.dictionary=null;this.err=0;this.flush=0;this.init_done=false;this.level=0;this.memLevel=0;this.mode=e;this.strategy=0;this.windowBits=0;this.write_in_progress=false;this.pending_close=false;this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=true;return}this.pending_close=false;a(this.init_done,\"close before init\");a(this.mode<=t.UNZIP);if(this.mode===t.DEFLATE||this.mode===t.GZIP||this.mode===t.DEFLATERAW){n.deflateEnd(this.strm)}else if(this.mode===t.INFLATE||this.mode===t.GUNZIP||this.mode===t.INFLATERAW||this.mode===t.UNZIP){s.inflateEnd(this.strm)}this.mode=t.NONE;this.dictionary=null};Zlib.prototype.write=function(e,t,i,a,r,n,s){return this._write(true,e,t,i,a,r,n,s)};Zlib.prototype.writeSync=function(e,t,i,a,r,n,s){return this._write(false,e,t,i,a,r,n,s)};Zlib.prototype._write=function(e,i,r,n,s,l,f,o){a.equal(arguments.length,8);a(this.init_done,\"write before init\");a(this.mode!==t.NONE,\"already finalized\");a.equal(false,this.write_in_progress,\"write already in progress\");a.equal(false,this.pending_close,\"close is pending\");this.write_in_progress=true;a.equal(false,i===undefined,\"must provide flush value\");this.write_in_progress=true;if(i!==t.Z_NO_FLUSH&&i!==t.Z_PARTIAL_FLUSH&&i!==t.Z_SYNC_FLUSH&&i!==t.Z_FULL_FLUSH&&i!==t.Z_FINISH&&i!==t.Z_BLOCK){throw new Error(\"Invalid flush value\")}if(r==null){r=Buffer.alloc(0);s=0;n=0}this.strm.avail_in=s;this.strm.input=r;this.strm.next_in=n;this.strm.avail_out=o;this.strm.output=l;this.strm.next_out=f;this.flush=i;if(!e){this._process();if(this._checkError()){return this._afterSync()}return}var h=this;process.nextTick((function(){h._process();h._after()}));return this};Zlib.prototype._afterSync=function(){var e=this.strm.avail_out;var t=this.strm.avail_in;this.write_in_progress=false;return[t,e]};Zlib.prototype._process=function(){var e=null;switch(this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=n.deflate(this.strm,this.flush);break;case t.UNZIP:if(this.strm.avail_in>0){e=this.strm.next_in}switch(this.gzip_id_bytes_read){case 0:if(e===null){break}if(this.strm.input[e]===o){this.gzip_id_bytes_read=1;e++;if(this.strm.avail_in===1){break}}else{this.mode=t.INFLATE;break}case 1:if(e===null){break}if(this.strm.input[e]===h){this.gzip_id_bytes_read=2;this.mode=t.GUNZIP}else{this.mode=t.INFLATE}break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:this.err=s.inflate(this.strm,this.flush);if(this.err===t.Z_NEED_DICT&&this.dictionary){this.err=s.inflateSetDictionary(this.strm,this.dictionary);if(this.err===t.Z_OK){this.err=s.inflate(this.strm,this.flush)}else if(this.err===t.Z_DATA_ERROR){this.err=t.Z_NEED_DICT}}while(this.strm.avail_in>0&&this.mode===t.GUNZIP&&this.err===t.Z_STREAM_END&&this.strm.next_in[0]!==0){this.reset();this.err=s.inflate(this.strm,this.flush)}break;default:throw new Error(\"Unknown mode \"+this.mode)}};Zlib.prototype._checkError=function(){switch(this.err){case t.Z_OK:case t.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===t.Z_FINISH){this._error(\"unexpected end of file\");return false}break;case t.Z_STREAM_END:break;case t.Z_NEED_DICT:if(this.dictionary==null){this._error(\"Missing dictionary\")}else{this._error(\"Bad dictionary\")}return false;default:this._error(\"Zlib error\");return false}return true};Zlib.prototype._after=function(){if(!this._checkError()){return}var e=this.strm.avail_out;var t=this.strm.avail_in;this.write_in_progress=false;this.callback(t,e);if(this.pending_close){this.close()}};Zlib.prototype._error=function(e){if(this.strm.msg){e=this.strm.msg}this.onerror(e,this.err);this.write_in_progress=false;if(this.pending_close){this.close()}};Zlib.prototype.init=function(e,i,r,n,s){a(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\");a(e>=8&&e<=15,\"invalid windowBits\");a(i>=-1&&i<=9,\"invalid compression level\");a(r>=1&&r<=9,\"invalid memlevel\");a(n===t.Z_FILTERED||n===t.Z_HUFFMAN_ONLY||n===t.Z_RLE||n===t.Z_FIXED||n===t.Z_DEFAULT_STRATEGY,\"invalid strategy\");this._init(i,e,r,n,s);this._setDictionary()};Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")};Zlib.prototype.reset=function(){this._reset();this._setDictionary()};Zlib.prototype._init=function(e,i,a,l,f){this.level=e;this.windowBits=i;this.memLevel=a;this.strategy=l;this.flush=t.Z_NO_FLUSH;this.err=t.Z_OK;if(this.mode===t.GZIP||this.mode===t.GUNZIP){this.windowBits+=16}if(this.mode===t.UNZIP){this.windowBits+=32}if(this.mode===t.DEFLATERAW||this.mode===t.INFLATERAW){this.windowBits=-1*this.windowBits}this.strm=new r;switch(this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=n.deflateInit2(this.strm,this.level,t.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:case t.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==t.Z_OK){this._error(\"Init error\")}this.dictionary=f;this.write_in_progress=false;this.init_done=true};Zlib.prototype._setDictionary=function(){if(this.dictionary==null){return}this.err=t.Z_OK;switch(this.mode){case t.DEFLATE:case t.DEFLATERAW:this.err=n.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==t.Z_OK){this._error(\"Failed to set dictionary\")}};Zlib.prototype._reset=function(){this.err=t.Z_OK;switch(this.mode){case t.DEFLATE:case t.DEFLATERAW:case t.GZIP:this.err=n.deflateReset(this.strm);break;case t.INFLATE:case t.INFLATERAW:case t.GUNZIP:this.err=s.inflateReset(this.strm);break;default:break}if(this.err!==t.Z_OK){this._error(\"Failed to reset stream\")}};t.Zlib=Zlib},23:function(e,t,i){var a=i(300).Buffer;var r=i(781).Transform;var n=i(742);var s=i(837);var l=i(491).ok;var f=i(300).kMaxLength;var o=\"Cannot create final Buffer. It would be larger \"+\"than 0x\"+f.toString(16)+\" bytes\";n.Z_MIN_WINDOWBITS=8;n.Z_MAX_WINDOWBITS=15;n.Z_DEFAULT_WINDOWBITS=15;n.Z_MIN_CHUNK=64;n.Z_MAX_CHUNK=Infinity;n.Z_DEFAULT_CHUNK=16*1024;n.Z_MIN_MEMLEVEL=1;n.Z_MAX_MEMLEVEL=9;n.Z_DEFAULT_MEMLEVEL=8;n.Z_MIN_LEVEL=-1;n.Z_MAX_LEVEL=9;n.Z_DEFAULT_LEVEL=n.Z_DEFAULT_COMPRESSION;var h=Object.keys(n);for(var _=0;_<h.length;_++){var d=h[_];if(d.match(/^Z/)){Object.defineProperty(t,d,{enumerable:true,value:n[d],writable:false})}}var u={Z_OK:n.Z_OK,Z_STREAM_END:n.Z_STREAM_END,Z_NEED_DICT:n.Z_NEED_DICT,Z_ERRNO:n.Z_ERRNO,Z_STREAM_ERROR:n.Z_STREAM_ERROR,Z_DATA_ERROR:n.Z_DATA_ERROR,Z_MEM_ERROR:n.Z_MEM_ERROR,Z_BUF_ERROR:n.Z_BUF_ERROR,Z_VERSION_ERROR:n.Z_VERSION_ERROR};var c=Object.keys(u);for(var v=0;v<c.length;v++){var b=c[v];u[u[b]]=b}Object.defineProperty(t,\"codes\",{enumerable:true,value:Object.freeze(u),writable:false});t.Deflate=Deflate;t.Inflate=Inflate;t.Gzip=Gzip;t.Gunzip=Gunzip;t.DeflateRaw=DeflateRaw;t.InflateRaw=InflateRaw;t.Unzip=Unzip;t.createDeflate=function(e){return new Deflate(e)};t.createInflate=function(e){return new Inflate(e)};t.createDeflateRaw=function(e){return new DeflateRaw(e)};t.createInflateRaw=function(e){return new InflateRaw(e)};t.createGzip=function(e){return new Gzip(e)};t.createGunzip=function(e){return new Gunzip(e)};t.createUnzip=function(e){return new Unzip(e)};t.deflate=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new Deflate(t),e,i)};t.deflateSync=function(e,t){return zlibBufferSync(new Deflate(t),e)};t.gzip=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new Gzip(t),e,i)};t.gzipSync=function(e,t){return zlibBufferSync(new Gzip(t),e)};t.deflateRaw=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new DeflateRaw(t),e,i)};t.deflateRawSync=function(e,t){return zlibBufferSync(new DeflateRaw(t),e)};t.unzip=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new Unzip(t),e,i)};t.unzipSync=function(e,t){return zlibBufferSync(new Unzip(t),e)};t.inflate=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new Inflate(t),e,i)};t.inflateSync=function(e,t){return zlibBufferSync(new Inflate(t),e)};t.gunzip=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new Gunzip(t),e,i)};t.gunzipSync=function(e,t){return zlibBufferSync(new Gunzip(t),e)};t.inflateRaw=function(e,t,i){if(typeof t===\"function\"){i=t;t={}}return zlibBuffer(new InflateRaw(t),e,i)};t.inflateRawSync=function(e,t){return zlibBufferSync(new InflateRaw(t),e)};function zlibBuffer(e,t,i){var r=[];var n=0;e.on(\"error\",onError);e.on(\"end\",onEnd);e.end(t);flow();function flow(){var t;while(null!==(t=e.read())){r.push(t);n+=t.length}e.once(\"readable\",flow)}function onError(t){e.removeListener(\"end\",onEnd);e.removeListener(\"readable\",flow);i(t)}function onEnd(){var t;var s=null;if(n>=f){s=new RangeError(o)}else{t=a.concat(r,n)}r=[];e.close();i(s,t)}}function zlibBufferSync(e,t){if(typeof t===\"string\")t=a.from(t);if(!a.isBuffer(t))throw new TypeError(\"Not a string or buffer\");var i=e._finishFlushFlag;return e._processChunk(t,i)}function Deflate(e){if(!(this instanceof Deflate))return new Deflate(e);Zlib.call(this,e,n.DEFLATE)}function Inflate(e){if(!(this instanceof Inflate))return new Inflate(e);Zlib.call(this,e,n.INFLATE)}function Gzip(e){if(!(this instanceof Gzip))return new Gzip(e);Zlib.call(this,e,n.GZIP)}function Gunzip(e){if(!(this instanceof Gunzip))return new Gunzip(e);Zlib.call(this,e,n.GUNZIP)}function DeflateRaw(e){if(!(this instanceof DeflateRaw))return new DeflateRaw(e);Zlib.call(this,e,n.DEFLATERAW)}function InflateRaw(e){if(!(this instanceof InflateRaw))return new InflateRaw(e);Zlib.call(this,e,n.INFLATERAW)}function Unzip(e){if(!(this instanceof Unzip))return new Unzip(e);Zlib.call(this,e,n.UNZIP)}function isValidFlushFlag(e){return e===n.Z_NO_FLUSH||e===n.Z_PARTIAL_FLUSH||e===n.Z_SYNC_FLUSH||e===n.Z_FULL_FLUSH||e===n.Z_FINISH||e===n.Z_BLOCK}function Zlib(e,i){var s=this;this._opts=e=e||{};this._chunkSize=e.chunkSize||t.Z_DEFAULT_CHUNK;r.call(this,e);if(e.flush&&!isValidFlushFlag(e.flush)){throw new Error(\"Invalid flush flag: \"+e.flush)}if(e.finishFlush&&!isValidFlushFlag(e.finishFlush)){throw new Error(\"Invalid flush flag: \"+e.finishFlush)}this._flushFlag=e.flush||n.Z_NO_FLUSH;this._finishFlushFlag=typeof e.finishFlush!==\"undefined\"?e.finishFlush:n.Z_FINISH;if(e.chunkSize){if(e.chunkSize<t.Z_MIN_CHUNK||e.chunkSize>t.Z_MAX_CHUNK){throw new Error(\"Invalid chunk size: \"+e.chunkSize)}}if(e.windowBits){if(e.windowBits<t.Z_MIN_WINDOWBITS||e.windowBits>t.Z_MAX_WINDOWBITS){throw new Error(\"Invalid windowBits: \"+e.windowBits)}}if(e.level){if(e.level<t.Z_MIN_LEVEL||e.level>t.Z_MAX_LEVEL){throw new Error(\"Invalid compression level: \"+e.level)}}if(e.memLevel){if(e.memLevel<t.Z_MIN_MEMLEVEL||e.memLevel>t.Z_MAX_MEMLEVEL){throw new Error(\"Invalid memLevel: \"+e.memLevel)}}if(e.strategy){if(e.strategy!=t.Z_FILTERED&&e.strategy!=t.Z_HUFFMAN_ONLY&&e.strategy!=t.Z_RLE&&e.strategy!=t.Z_FIXED&&e.strategy!=t.Z_DEFAULT_STRATEGY){throw new Error(\"Invalid strategy: \"+e.strategy)}}if(e.dictionary){if(!a.isBuffer(e.dictionary)){throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}}this._handle=new n.Zlib(i);var l=this;this._hadError=false;this._handle.onerror=function(e,i){_close(l);l._hadError=true;var a=new Error(e);a.errno=i;a.code=t.codes[i];l.emit(\"error\",a)};var f=t.Z_DEFAULT_COMPRESSION;if(typeof e.level===\"number\")f=e.level;var o=t.Z_DEFAULT_STRATEGY;if(typeof e.strategy===\"number\")o=e.strategy;this._handle.init(e.windowBits||t.Z_DEFAULT_WINDOWBITS,f,e.memLevel||t.Z_DEFAULT_MEMLEVEL,o,e.dictionary);this._buffer=a.allocUnsafe(this._chunkSize);this._offset=0;this._level=f;this._strategy=o;this.once(\"end\",this.close);Object.defineProperty(this,\"_closed\",{get:function(){return!s._handle},configurable:true,enumerable:true})}s.inherits(Zlib,r);Zlib.prototype.params=function(e,i,a){if(e<t.Z_MIN_LEVEL||e>t.Z_MAX_LEVEL){throw new RangeError(\"Invalid compression level: \"+e)}if(i!=t.Z_FILTERED&&i!=t.Z_HUFFMAN_ONLY&&i!=t.Z_RLE&&i!=t.Z_FIXED&&i!=t.Z_DEFAULT_STRATEGY){throw new TypeError(\"Invalid strategy: \"+i)}if(this._level!==e||this._strategy!==i){var r=this;this.flush(n.Z_SYNC_FLUSH,(function(){l(r._handle,\"zlib binding closed\");r._handle.params(e,i);if(!r._hadError){r._level=e;r._strategy=i;if(a)a()}}))}else{process.nextTick(a)}};Zlib.prototype.reset=function(){l(this._handle,\"zlib binding closed\");return this._handle.reset()};Zlib.prototype._flush=function(e){this._transform(a.alloc(0),\"\",e)};Zlib.prototype.flush=function(e,t){var i=this;var r=this._writableState;if(typeof e===\"function\"||e===undefined&&!t){t=e;e=n.Z_FULL_FLUSH}if(r.ended){if(t)process.nextTick(t)}else if(r.ending){if(t)this.once(\"end\",t)}else if(r.needDrain){if(t){this.once(\"drain\",(function(){return i.flush(e,t)}))}}else{this._flushFlag=e;this.write(a.alloc(0),\"\",t)}};Zlib.prototype.close=function(e){_close(this,e);process.nextTick(emitCloseNT,this)};function _close(e,t){if(t)process.nextTick(t);if(!e._handle)return;e._handle.close();e._handle=null}function emitCloseNT(e){e.emit(\"close\")}Zlib.prototype._transform=function(e,t,i){var r;var s=this._writableState;var l=s.ending||s.ended;var f=l&&(!e||s.length===e.length);if(e!==null&&!a.isBuffer(e))return i(new Error(\"invalid input\"));if(!this._handle)return i(new Error(\"zlib binding closed\"));if(f)r=this._finishFlushFlag;else{r=this._flushFlag;if(e.length>=s.length){this._flushFlag=this._opts.flush||n.Z_NO_FLUSH}}this._processChunk(e,r,i)};Zlib.prototype._processChunk=function(e,t,i){var r=e&&e.length;var n=this._chunkSize-this._offset;var s=0;var h=this;var _=typeof i===\"function\";if(!_){var d=[];var u=0;var c;this.on(\"error\",(function(e){c=e}));l(this._handle,\"zlib binding closed\");do{var v=this._handle.writeSync(t,e,s,r,this._buffer,this._offset,n)}while(!this._hadError&&callback(v[0],v[1]));if(this._hadError){throw c}if(u>=f){_close(this);throw new RangeError(o)}var b=a.concat(d,u);_close(this);return b}l(this._handle,\"zlib binding closed\");var w=this._handle.write(t,e,s,r,this._buffer,this._offset,n);w.buffer=e;w.callback=callback;function callback(f,o){if(this){this.buffer=null;this.callback=null}if(h._hadError)return;var c=n-o;l(c>=0,\"have should not go down\");if(c>0){var v=h._buffer.slice(h._offset,h._offset+c);h._offset+=c;if(_){h.push(v)}else{d.push(v);u+=v.length}}if(o===0||h._offset>=h._chunkSize){n=h._chunkSize;h._offset=0;h._buffer=a.allocUnsafe(h._chunkSize)}if(o===0){s+=r-f;r=f;if(!_)return true;var b=h._handle.write(t,e,s,r,h._buffer,h._offset,h._chunkSize);b.callback=callback;b.buffer=e;return}if(!_)return false;i()}};s.inherits(Deflate,Zlib);s.inherits(Inflate,Zlib);s.inherits(Gzip,Zlib);s.inherits(Gunzip,Zlib);s.inherits(DeflateRaw,Zlib);s.inherits(InflateRaw,Zlib);s.inherits(Unzip,Zlib)},380:function(e,t){var i=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);while(t.length){var i=t.shift();if(!i){continue}if(typeof i!==\"object\"){throw new TypeError(i+\"must be non-object\")}for(var a in i){if(_has(i,a)){e[a]=i[a]}}}return e};t.shrinkBuf=function(e,t){if(e.length===t){return e}if(e.subarray){return e.subarray(0,t)}e.length=t;return e};var a={arraySet:function(e,t,i,a,r){if(t.subarray&&e.subarray){e.set(t.subarray(i,i+a),r);return}for(var n=0;n<a;n++){e[r+n]=t[i+n]}},flattenChunks:function(e){var t,i,a,r,n,s;a=0;for(t=0,i=e.length;t<i;t++){a+=e[t].length}s=new Uint8Array(a);r=0;for(t=0,i=e.length;t<i;t++){n=e[t];s.set(n,r);r+=n.length}return s}};var r={arraySet:function(e,t,i,a,r){for(var n=0;n<a;n++){e[r+n]=t[i+n]}},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){if(e){t.Buf8=Uint8Array;t.Buf16=Uint16Array;t.Buf32=Int32Array;t.assign(t,a)}else{t.Buf8=Array;t.Buf16=Array;t.Buf32=Array;t.assign(t,r)}};t.setTyped(i)},496:function(e){function adler32(e,t,i,a){var r=e&65535|0,n=e>>>16&65535|0,s=0;while(i!==0){s=i>2e3?2e3:i;i-=s;do{r=r+t[a++]|0;n=n+r|0}while(--s);r%=65521;n%=65521}return r|n<<16|0}e.exports=adler32},320:function(e){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},307:function(e){function makeTable(){var e,t=[];for(var i=0;i<256;i++){e=i;for(var a=0;a<8;a++){e=e&1?3988292384^e>>>1:e>>>1}t[i]=e}return t}var t=makeTable();function crc32(e,i,a,r){var n=t,s=r+a;e^=-1;for(var l=r;l<s;l++){e=e>>>8^n[(e^i[l])&255]}return e^-1}e.exports=crc32},450:function(e,t,i){var a=i(380);var r=i(842);var n=i(496);var s=i(307);var l=i(31);var f=0;var o=1;var h=3;var _=4;var d=5;var u=0;var c=1;var v=-2;var b=-3;var w=-5;var p=-1;var g=1;var m=2;var k=3;var y=4;var E=0;var z=2;var Z=8;var x=9;var I=15;var R=8;var S=29;var L=256;var A=L+1+S;var T=30;var F=19;var N=2*A+1;var D=15;var B=3;var U=258;var O=U+B+1;var M=32;var C=42;var G=69;var H=73;var P=91;var K=103;var W=113;var V=666;var q=1;var X=2;var Y=3;var j=4;var J=3;function err(e,t){e.msg=l[t];return t}function rank(e){return(e<<1)-(e>4?9:0)}function zero(e){var t=e.length;while(--t>=0){e[t]=0}}function flush_pending(e){var t=e.state;var i=t.pending;if(i>e.avail_out){i=e.avail_out}if(i===0){return}a.arraySet(e.output,t.pending_buf,t.pending_out,i,e.next_out);e.next_out+=i;t.pending_out+=i;e.total_out+=i;e.avail_out-=i;t.pending-=i;if(t.pending===0){t.pending_out=0}}function flush_block_only(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t);e.block_start=e.strstart;flush_pending(e.strm)}function put_byte(e,t){e.pending_buf[e.pending++]=t}function putShortMSB(e,t){e.pending_buf[e.pending++]=t>>>8&255;e.pending_buf[e.pending++]=t&255}function read_buf(e,t,i,r){var l=e.avail_in;if(l>r){l=r}if(l===0){return 0}e.avail_in-=l;a.arraySet(t,e.input,e.next_in,l,i);if(e.state.wrap===1){e.adler=n(e.adler,t,l,i)}else if(e.state.wrap===2){e.adler=s(e.adler,t,l,i)}e.next_in+=l;e.total_in+=l;return l}function longest_match(e,t){var i=e.max_chain_length;var a=e.strstart;var r;var n;var s=e.prev_length;var l=e.nice_match;var f=e.strstart>e.w_size-O?e.strstart-(e.w_size-O):0;var o=e.window;var h=e.w_mask;var _=e.prev;var d=e.strstart+U;var u=o[a+s-1];var c=o[a+s];if(e.prev_length>=e.good_match){i>>=2}if(l>e.lookahead){l=e.lookahead}do{r=t;if(o[r+s]!==c||o[r+s-1]!==u||o[r]!==o[a]||o[++r]!==o[a+1]){continue}a+=2;r++;do{}while(o[++a]===o[++r]&&o[++a]===o[++r]&&o[++a]===o[++r]&&o[++a]===o[++r]&&o[++a]===o[++r]&&o[++a]===o[++r]&&o[++a]===o[++r]&&o[++a]===o[++r]&&a<d);n=U-(d-a);a=d-U;if(n>s){e.match_start=t;s=n;if(n>=l){break}u=o[a+s-1];c=o[a+s]}}while((t=_[t&h])>f&&--i!==0);if(s<=e.lookahead){return s}return e.lookahead}function fill_window(e){var t=e.w_size;var i,r,n,s,l;do{s=e.window_size-e.lookahead-e.strstart;if(e.strstart>=t+(t-O)){a.arraySet(e.window,e.window,t,t,0);e.match_start-=t;e.strstart-=t;e.block_start-=t;r=e.hash_size;i=r;do{n=e.head[--i];e.head[i]=n>=t?n-t:0}while(--r);r=t;i=r;do{n=e.prev[--i];e.prev[i]=n>=t?n-t:0}while(--r);s+=t}if(e.strm.avail_in===0){break}r=read_buf(e.strm,e.window,e.strstart+e.lookahead,s);e.lookahead+=r;if(e.lookahead+e.insert>=B){l=e.strstart-e.insert;e.ins_h=e.window[l];e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;while(e.insert){e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+B-1])&e.hash_mask;e.prev[l&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=l;l++;e.insert--;if(e.lookahead+e.insert<B){break}}}}while(e.lookahead<O&&e.strm.avail_in!==0)}function deflate_stored(e,t){var i=65535;if(i>e.pending_buf_size-5){i=e.pending_buf_size-5}for(;;){if(e.lookahead<=1){fill_window(e);if(e.lookahead===0&&t===f){return q}if(e.lookahead===0){break}}e.strstart+=e.lookahead;e.lookahead=0;var a=e.block_start+i;if(e.strstart===0||e.strstart>=a){e.lookahead=e.strstart-a;e.strstart=a;flush_block_only(e,false);if(e.strm.avail_out===0){return q}}if(e.strstart-e.block_start>=e.w_size-O){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}}e.insert=0;if(t===_){flush_block_only(e,true);if(e.strm.avail_out===0){return Y}return j}if(e.strstart>e.block_start){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}return q}function deflate_fast(e,t){var i;var a;for(;;){if(e.lookahead<O){fill_window(e);if(e.lookahead<O&&t===f){return q}if(e.lookahead===0){break}}i=0;if(e.lookahead>=B){e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask;i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}if(i!==0&&e.strstart-i<=e.w_size-O){e.match_length=longest_match(e,i)}if(e.match_length>=B){a=r._tr_tally(e,e.strstart-e.match_start,e.match_length-B);e.lookahead-=e.match_length;if(e.match_length<=e.max_lazy_match&&e.lookahead>=B){e.match_length--;do{e.strstart++;e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask;i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}while(--e.match_length!==0);e.strstart++}else{e.strstart+=e.match_length;e.match_length=0;e.ins_h=e.window[e.strstart];e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}}else{a=r._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++}if(a){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}}e.insert=e.strstart<B-1?e.strstart:B-1;if(t===_){flush_block_only(e,true);if(e.strm.avail_out===0){return Y}return j}if(e.last_lit){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}return X}function deflate_slow(e,t){var i;var a;var n;for(;;){if(e.lookahead<O){fill_window(e);if(e.lookahead<O&&t===f){return q}if(e.lookahead===0){break}}i=0;if(e.lookahead>=B){e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask;i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}e.prev_length=e.match_length;e.prev_match=e.match_start;e.match_length=B-1;if(i!==0&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-O){e.match_length=longest_match(e,i);if(e.match_length<=5&&(e.strategy===g||e.match_length===B&&e.strstart-e.match_start>4096)){e.match_length=B-1}}if(e.prev_length>=B&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-B;a=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-B);e.lookahead-=e.prev_length-1;e.prev_length-=2;do{if(++e.strstart<=n){e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+B-1])&e.hash_mask;i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}}while(--e.prev_length!==0);e.match_available=0;e.match_length=B-1;e.strstart++;if(a){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}}else if(e.match_available){a=r._tr_tally(e,0,e.window[e.strstart-1]);if(a){flush_block_only(e,false)}e.strstart++;e.lookahead--;if(e.strm.avail_out===0){return q}}else{e.match_available=1;e.strstart++;e.lookahead--}}if(e.match_available){a=r._tr_tally(e,0,e.window[e.strstart-1]);e.match_available=0}e.insert=e.strstart<B-1?e.strstart:B-1;if(t===_){flush_block_only(e,true);if(e.strm.avail_out===0){return Y}return j}if(e.last_lit){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}return X}function deflate_rle(e,t){var i;var a;var n,s;var l=e.window;for(;;){if(e.lookahead<=U){fill_window(e);if(e.lookahead<=U&&t===f){return q}if(e.lookahead===0){break}}e.match_length=0;if(e.lookahead>=B&&e.strstart>0){n=e.strstart-1;a=l[n];if(a===l[++n]&&a===l[++n]&&a===l[++n]){s=e.strstart+U;do{}while(a===l[++n]&&a===l[++n]&&a===l[++n]&&a===l[++n]&&a===l[++n]&&a===l[++n]&&a===l[++n]&&a===l[++n]&&n<s);e.match_length=U-(s-n);if(e.match_length>e.lookahead){e.match_length=e.lookahead}}}if(e.match_length>=B){i=r._tr_tally(e,1,e.match_length-B);e.lookahead-=e.match_length;e.strstart+=e.match_length;e.match_length=0}else{i=r._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++}if(i){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}}e.insert=0;if(t===_){flush_block_only(e,true);if(e.strm.avail_out===0){return Y}return j}if(e.last_lit){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}return X}function deflate_huff(e,t){var i;for(;;){if(e.lookahead===0){fill_window(e);if(e.lookahead===0){if(t===f){return q}break}}e.match_length=0;i=r._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++;if(i){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}}e.insert=0;if(t===_){flush_block_only(e,true);if(e.strm.avail_out===0){return Y}return j}if(e.last_lit){flush_block_only(e,false);if(e.strm.avail_out===0){return q}}return X}function Config(e,t,i,a,r){this.good_length=e;this.max_lazy=t;this.nice_length=i;this.max_chain=a;this.func=r}var Q;Q=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(e){e.window_size=2*e.w_size;zero(e.head);e.max_lazy_match=Q[e.level].max_lazy;e.good_match=Q[e.level].good_length;e.nice_match=Q[e.level].nice_length;e.max_chain_length=Q[e.level].max_chain;e.strstart=0;e.block_start=0;e.lookahead=0;e.insert=0;e.match_length=e.prev_length=B-1;e.match_available=0;e.ins_h=0}function DeflateState(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=Z;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new a.Buf16(N*2);this.dyn_dtree=new a.Buf16((2*T+1)*2);this.bl_tree=new a.Buf16((2*F+1)*2);zero(this.dyn_ltree);zero(this.dyn_dtree);zero(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new a.Buf16(D+1);this.heap=new a.Buf16(2*A+1);zero(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new a.Buf16(2*A+1);zero(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function deflateResetKeep(e){var t;if(!e||!e.state){return err(e,v)}e.total_in=e.total_out=0;e.data_type=z;t=e.state;t.pending=0;t.pending_out=0;if(t.wrap<0){t.wrap=-t.wrap}t.status=t.wrap?C:W;e.adler=t.wrap===2?0:1;t.last_flush=f;r._tr_init(t);return u}function deflateReset(e){var t=deflateResetKeep(e);if(t===u){lm_init(e.state)}return t}function deflateSetHeader(e,t){if(!e||!e.state){return v}if(e.state.wrap!==2){return v}e.state.gzhead=t;return u}function deflateInit2(e,t,i,r,n,s){if(!e){return v}var l=1;if(t===p){t=6}if(r<0){l=0;r=-r}else if(r>15){l=2;r-=16}if(n<1||n>x||i!==Z||r<8||r>15||t<0||t>9||s<0||s>y){return err(e,v)}if(r===8){r=9}var f=new DeflateState;e.state=f;f.strm=e;f.wrap=l;f.gzhead=null;f.w_bits=r;f.w_size=1<<f.w_bits;f.w_mask=f.w_size-1;f.hash_bits=n+7;f.hash_size=1<<f.hash_bits;f.hash_mask=f.hash_size-1;f.hash_shift=~~((f.hash_bits+B-1)/B);f.window=new a.Buf8(f.w_size*2);f.head=new a.Buf16(f.hash_size);f.prev=new a.Buf16(f.w_size);f.lit_bufsize=1<<n+6;f.pending_buf_size=f.lit_bufsize*4;f.pending_buf=new a.Buf8(f.pending_buf_size);f.d_buf=1*f.lit_bufsize;f.l_buf=(1+2)*f.lit_bufsize;f.level=t;f.strategy=s;f.method=i;return deflateReset(e)}function deflateInit(e,t){return deflateInit2(e,t,Z,I,R,E)}function deflate(e,t){var i,a;var n,l;if(!e||!e.state||t>d||t<0){return e?err(e,v):v}a=e.state;if(!e.output||!e.input&&e.avail_in!==0||a.status===V&&t!==_){return err(e,e.avail_out===0?w:v)}a.strm=e;i=a.last_flush;a.last_flush=t;if(a.status===C){if(a.wrap===2){e.adler=0;put_byte(a,31);put_byte(a,139);put_byte(a,8);if(!a.gzhead){put_byte(a,0);put_byte(a,0);put_byte(a,0);put_byte(a,0);put_byte(a,0);put_byte(a,a.level===9?2:a.strategy>=m||a.level<2?4:0);put_byte(a,J);a.status=W}else{put_byte(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(!a.gzhead.extra?0:4)+(!a.gzhead.name?0:8)+(!a.gzhead.comment?0:16));put_byte(a,a.gzhead.time&255);put_byte(a,a.gzhead.time>>8&255);put_byte(a,a.gzhead.time>>16&255);put_byte(a,a.gzhead.time>>24&255);put_byte(a,a.level===9?2:a.strategy>=m||a.level<2?4:0);put_byte(a,a.gzhead.os&255);if(a.gzhead.extra&&a.gzhead.extra.length){put_byte(a,a.gzhead.extra.length&255);put_byte(a,a.gzhead.extra.length>>8&255)}if(a.gzhead.hcrc){e.adler=s(e.adler,a.pending_buf,a.pending,0)}a.gzindex=0;a.status=G}}else{var b=Z+(a.w_bits-8<<4)<<8;var p=-1;if(a.strategy>=m||a.level<2){p=0}else if(a.level<6){p=1}else if(a.level===6){p=2}else{p=3}b|=p<<6;if(a.strstart!==0){b|=M}b+=31-b%31;a.status=W;putShortMSB(a,b);if(a.strstart!==0){putShortMSB(a,e.adler>>>16);putShortMSB(a,e.adler&65535)}e.adler=1}}if(a.status===G){if(a.gzhead.extra){n=a.pending;while(a.gzindex<(a.gzhead.extra.length&65535)){if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>n){e.adler=s(e.adler,a.pending_buf,a.pending-n,n)}flush_pending(e);n=a.pending;if(a.pending===a.pending_buf_size){break}}put_byte(a,a.gzhead.extra[a.gzindex]&255);a.gzindex++}if(a.gzhead.hcrc&&a.pending>n){e.adler=s(e.adler,a.pending_buf,a.pending-n,n)}if(a.gzindex===a.gzhead.extra.length){a.gzindex=0;a.status=H}}else{a.status=H}}if(a.status===H){if(a.gzhead.name){n=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>n){e.adler=s(e.adler,a.pending_buf,a.pending-n,n)}flush_pending(e);n=a.pending;if(a.pending===a.pending_buf_size){l=1;break}}if(a.gzindex<a.gzhead.name.length){l=a.gzhead.name.charCodeAt(a.gzindex++)&255}else{l=0}put_byte(a,l)}while(l!==0);if(a.gzhead.hcrc&&a.pending>n){e.adler=s(e.adler,a.pending_buf,a.pending-n,n)}if(l===0){a.gzindex=0;a.status=P}}else{a.status=P}}if(a.status===P){if(a.gzhead.comment){n=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>n){e.adler=s(e.adler,a.pending_buf,a.pending-n,n)}flush_pending(e);n=a.pending;if(a.pending===a.pending_buf_size){l=1;break}}if(a.gzindex<a.gzhead.comment.length){l=a.gzhead.comment.charCodeAt(a.gzindex++)&255}else{l=0}put_byte(a,l)}while(l!==0);if(a.gzhead.hcrc&&a.pending>n){e.adler=s(e.adler,a.pending_buf,a.pending-n,n)}if(l===0){a.status=K}}else{a.status=K}}if(a.status===K){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size){flush_pending(e)}if(a.pending+2<=a.pending_buf_size){put_byte(a,e.adler&255);put_byte(a,e.adler>>8&255);e.adler=0;a.status=W}}else{a.status=W}}if(a.pending!==0){flush_pending(e);if(e.avail_out===0){a.last_flush=-1;return u}}else if(e.avail_in===0&&rank(t)<=rank(i)&&t!==_){return err(e,w)}if(a.status===V&&e.avail_in!==0){return err(e,w)}if(e.avail_in!==0||a.lookahead!==0||t!==f&&a.status!==V){var g=a.strategy===m?deflate_huff(a,t):a.strategy===k?deflate_rle(a,t):Q[a.level].func(a,t);if(g===Y||g===j){a.status=V}if(g===q||g===Y){if(e.avail_out===0){a.last_flush=-1}return u}if(g===X){if(t===o){r._tr_align(a)}else if(t!==d){r._tr_stored_block(a,0,0,false);if(t===h){zero(a.head);if(a.lookahead===0){a.strstart=0;a.block_start=0;a.insert=0}}}flush_pending(e);if(e.avail_out===0){a.last_flush=-1;return u}}}if(t!==_){return u}if(a.wrap<=0){return c}if(a.wrap===2){put_byte(a,e.adler&255);put_byte(a,e.adler>>8&255);put_byte(a,e.adler>>16&255);put_byte(a,e.adler>>24&255);put_byte(a,e.total_in&255);put_byte(a,e.total_in>>8&255);put_byte(a,e.total_in>>16&255);put_byte(a,e.total_in>>24&255)}else{putShortMSB(a,e.adler>>>16);putShortMSB(a,e.adler&65535)}flush_pending(e);if(a.wrap>0){a.wrap=-a.wrap}return a.pending!==0?u:c}function deflateEnd(e){var t;if(!e||!e.state){return v}t=e.state.status;if(t!==C&&t!==G&&t!==H&&t!==P&&t!==K&&t!==W&&t!==V){return err(e,v)}e.state=null;return t===W?err(e,b):u}function deflateSetDictionary(e,t){var i=t.length;var r;var s,l;var f;var o;var h;var _;var d;if(!e||!e.state){return v}r=e.state;f=r.wrap;if(f===2||f===1&&r.status!==C||r.lookahead){return v}if(f===1){e.adler=n(e.adler,t,i,0)}r.wrap=0;if(i>=r.w_size){if(f===0){zero(r.head);r.strstart=0;r.block_start=0;r.insert=0}d=new a.Buf8(r.w_size);a.arraySet(d,t,i-r.w_size,r.w_size,0);t=d;i=r.w_size}o=e.avail_in;h=e.next_in;_=e.input;e.avail_in=i;e.next_in=0;e.input=t;fill_window(r);while(r.lookahead>=B){s=r.strstart;l=r.lookahead-(B-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[s+B-1])&r.hash_mask;r.prev[s&r.w_mask]=r.head[r.ins_h];r.head[r.ins_h]=s;s++}while(--l);r.strstart=s;r.lookahead=B-1;fill_window(r)}r.strstart+=r.lookahead;r.block_start=r.strstart;r.insert=r.lookahead;r.lookahead=0;r.match_length=r.prev_length=B-1;r.match_available=0;e.next_in=h;e.input=_;e.avail_in=o;r.wrap=f;return u}t.deflateInit=deflateInit;t.deflateInit2=deflateInit2;t.deflateReset=deflateReset;t.deflateResetKeep=deflateResetKeep;t.deflateSetHeader=deflateSetHeader;t.deflate=deflate;t.deflateEnd=deflateEnd;t.deflateSetDictionary=deflateSetDictionary;t.deflateInfo=\"pako deflate (from Nodeca project)\"},333:function(e){var t=30;var i=12;e.exports=function inflate_fast(e,a){var r;var n;var s;var l;var f;var o;var h;var _;var d;var u;var c;var v;var b;var w;var p;var g;var m;var k;var y;var E;var z;var Z;var x;var I,R;r=e.state;n=e.next_in;I=e.input;s=n+(e.avail_in-5);l=e.next_out;R=e.output;f=l-(a-e.avail_out);o=l+(e.avail_out-257);h=r.dmax;_=r.wsize;d=r.whave;u=r.wnext;c=r.window;v=r.hold;b=r.bits;w=r.lencode;p=r.distcode;g=(1<<r.lenbits)-1;m=(1<<r.distbits)-1;e:do{if(b<15){v+=I[n++]<<b;b+=8;v+=I[n++]<<b;b+=8}k=w[v&g];t:for(;;){y=k>>>24;v>>>=y;b-=y;y=k>>>16&255;if(y===0){R[l++]=k&65535}else if(y&16){E=k&65535;y&=15;if(y){if(b<y){v+=I[n++]<<b;b+=8}E+=v&(1<<y)-1;v>>>=y;b-=y}if(b<15){v+=I[n++]<<b;b+=8;v+=I[n++]<<b;b+=8}k=p[v&m];i:for(;;){y=k>>>24;v>>>=y;b-=y;y=k>>>16&255;if(y&16){z=k&65535;y&=15;if(b<y){v+=I[n++]<<b;b+=8;if(b<y){v+=I[n++]<<b;b+=8}}z+=v&(1<<y)-1;if(z>h){e.msg=\"invalid distance too far back\";r.mode=t;break e}v>>>=y;b-=y;y=l-f;if(z>y){y=z-y;if(y>d){if(r.sane){e.msg=\"invalid distance too far back\";r.mode=t;break e}}Z=0;x=c;if(u===0){Z+=_-y;if(y<E){E-=y;do{R[l++]=c[Z++]}while(--y);Z=l-z;x=R}}else if(u<y){Z+=_+u-y;y-=u;if(y<E){E-=y;do{R[l++]=c[Z++]}while(--y);Z=0;if(u<E){y=u;E-=y;do{R[l++]=c[Z++]}while(--y);Z=l-z;x=R}}}else{Z+=u-y;if(y<E){E-=y;do{R[l++]=c[Z++]}while(--y);Z=l-z;x=R}}while(E>2){R[l++]=x[Z++];R[l++]=x[Z++];R[l++]=x[Z++];E-=3}if(E){R[l++]=x[Z++];if(E>1){R[l++]=x[Z++]}}}else{Z=l-z;do{R[l++]=R[Z++];R[l++]=R[Z++];R[l++]=R[Z++];E-=3}while(E>2);if(E){R[l++]=R[Z++];if(E>1){R[l++]=R[Z++]}}}}else if((y&64)===0){k=p[(k&65535)+(v&(1<<y)-1)];continue i}else{e.msg=\"invalid distance code\";r.mode=t;break e}break}}else if((y&64)===0){k=w[(k&65535)+(v&(1<<y)-1)];continue t}else if(y&32){r.mode=i;break e}else{e.msg=\"invalid literal/length code\";r.mode=t;break e}break}}while(n<s&&l<o);E=b>>3;n-=E;b-=E<<3;v&=(1<<b)-1;e.next_in=n;e.next_out=l;e.avail_in=n<s?5+(s-n):5-(n-s);e.avail_out=l<o?257+(o-l):257-(l-o);r.hold=v;r.bits=b;return}},324:function(e,t,i){var a=i(380);var r=i(496);var n=i(307);var s=i(333);var l=i(19);var f=0;var o=1;var h=2;var _=4;var d=5;var u=6;var c=0;var v=1;var b=2;var w=-2;var p=-3;var g=-4;var m=-5;var k=8;var y=1;var E=2;var z=3;var Z=4;var x=5;var I=6;var R=7;var S=8;var L=9;var A=10;var T=11;var F=12;var N=13;var D=14;var B=15;var U=16;var O=17;var M=18;var C=19;var G=20;var H=21;var P=22;var K=23;var W=24;var V=25;var q=26;var X=27;var Y=28;var j=29;var J=30;var Q=31;var $=32;var ee=852;var te=592;var ie=15;var ae=ie;function zswap32(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function InflateState(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new a.Buf16(320);this.work=new a.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function inflateResetKeep(e){var t;if(!e||!e.state){return w}t=e.state;e.total_in=e.total_out=t.total=0;e.msg=\"\";if(t.wrap){e.adler=t.wrap&1}t.mode=y;t.last=0;t.havedict=0;t.dmax=32768;t.head=null;t.hold=0;t.bits=0;t.lencode=t.lendyn=new a.Buf32(ee);t.distcode=t.distdyn=new a.Buf32(te);t.sane=1;t.back=-1;return c}function inflateReset(e){var t;if(!e||!e.state){return w}t=e.state;t.wsize=0;t.whave=0;t.wnext=0;return inflateResetKeep(e)}function inflateReset2(e,t){var i;var a;if(!e||!e.state){return w}a=e.state;if(t<0){i=0;t=-t}else{i=(t>>4)+1;if(t<48){t&=15}}if(t&&(t<8||t>15)){return w}if(a.window!==null&&a.wbits!==t){a.window=null}a.wrap=i;a.wbits=t;return inflateReset(e)}function inflateInit2(e,t){var i;var a;if(!e){return w}a=new InflateState;e.state=a;a.window=null;i=inflateReset2(e,t);if(i!==c){e.state=null}return i}function inflateInit(e){return inflateInit2(e,ae)}var re=true;var ne,se;function fixedtables(e){if(re){var t;ne=new a.Buf32(512);se=new a.Buf32(32);t=0;while(t<144){e.lens[t++]=8}while(t<256){e.lens[t++]=9}while(t<280){e.lens[t++]=7}while(t<288){e.lens[t++]=8}l(o,e.lens,0,288,ne,0,e.work,{bits:9});t=0;while(t<32){e.lens[t++]=5}l(h,e.lens,0,32,se,0,e.work,{bits:5});re=false}e.lencode=ne;e.lenbits=9;e.distcode=se;e.distbits=5}function updatewindow(e,t,i,r){var n;var s=e.state;if(s.window===null){s.wsize=1<<s.wbits;s.wnext=0;s.whave=0;s.window=new a.Buf8(s.wsize)}if(r>=s.wsize){a.arraySet(s.window,t,i-s.wsize,s.wsize,0);s.wnext=0;s.whave=s.wsize}else{n=s.wsize-s.wnext;if(n>r){n=r}a.arraySet(s.window,t,i-r,n,s.wnext);r-=n;if(r){a.arraySet(s.window,t,i-r,r,0);s.wnext=r;s.whave=s.wsize}else{s.wnext+=n;if(s.wnext===s.wsize){s.wnext=0}if(s.whave<s.wsize){s.whave+=n}}}return 0}function inflate(e,t){var i;var ee,te;var ie;var ae;var re,ne;var se;var le;var fe,oe;var he;var _e;var de;var ue=0;var ce,ve,be;var we,pe,ge;var me;var ke;var ye=new a.Buf8(4);var Ee;var ze;var Ze=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0){return w}i=e.state;if(i.mode===F){i.mode=N}ae=e.next_out;te=e.output;ne=e.avail_out;ie=e.next_in;ee=e.input;re=e.avail_in;se=i.hold;le=i.bits;fe=re;oe=ne;ke=c;e:for(;;){switch(i.mode){case y:if(i.wrap===0){i.mode=N;break}while(le<16){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(i.wrap&2&&se===35615){i.check=0;ye[0]=se&255;ye[1]=se>>>8&255;i.check=n(i.check,ye,2,0);se=0;le=0;i.mode=E;break}i.flags=0;if(i.head){i.head.done=false}if(!(i.wrap&1)||(((se&255)<<8)+(se>>8))%31){e.msg=\"incorrect header check\";i.mode=J;break}if((se&15)!==k){e.msg=\"unknown compression method\";i.mode=J;break}se>>>=4;le-=4;me=(se&15)+8;if(i.wbits===0){i.wbits=me}else if(me>i.wbits){e.msg=\"invalid window size\";i.mode=J;break}i.dmax=1<<me;e.adler=i.check=1;i.mode=se&512?A:F;se=0;le=0;break;case E:while(le<16){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.flags=se;if((i.flags&255)!==k){e.msg=\"unknown compression method\";i.mode=J;break}if(i.flags&57344){e.msg=\"unknown header flags set\";i.mode=J;break}if(i.head){i.head.text=se>>8&1}if(i.flags&512){ye[0]=se&255;ye[1]=se>>>8&255;i.check=n(i.check,ye,2,0)}se=0;le=0;i.mode=z;case z:while(le<32){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(i.head){i.head.time=se}if(i.flags&512){ye[0]=se&255;ye[1]=se>>>8&255;ye[2]=se>>>16&255;ye[3]=se>>>24&255;i.check=n(i.check,ye,4,0)}se=0;le=0;i.mode=Z;case Z:while(le<16){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(i.head){i.head.xflags=se&255;i.head.os=se>>8}if(i.flags&512){ye[0]=se&255;ye[1]=se>>>8&255;i.check=n(i.check,ye,2,0)}se=0;le=0;i.mode=x;case x:if(i.flags&1024){while(le<16){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.length=se;if(i.head){i.head.extra_len=se}if(i.flags&512){ye[0]=se&255;ye[1]=se>>>8&255;i.check=n(i.check,ye,2,0)}se=0;le=0}else if(i.head){i.head.extra=null}i.mode=I;case I:if(i.flags&1024){he=i.length;if(he>re){he=re}if(he){if(i.head){me=i.head.extra_len-i.length;if(!i.head.extra){i.head.extra=new Array(i.head.extra_len)}a.arraySet(i.head.extra,ee,ie,he,me)}if(i.flags&512){i.check=n(i.check,ee,he,ie)}re-=he;ie+=he;i.length-=he}if(i.length){break e}}i.length=0;i.mode=R;case R:if(i.flags&2048){if(re===0){break e}he=0;do{me=ee[ie+he++];if(i.head&&me&&i.length<65536){i.head.name+=String.fromCharCode(me)}}while(me&&he<re);if(i.flags&512){i.check=n(i.check,ee,he,ie)}re-=he;ie+=he;if(me){break e}}else if(i.head){i.head.name=null}i.length=0;i.mode=S;case S:if(i.flags&4096){if(re===0){break e}he=0;do{me=ee[ie+he++];if(i.head&&me&&i.length<65536){i.head.comment+=String.fromCharCode(me)}}while(me&&he<re);if(i.flags&512){i.check=n(i.check,ee,he,ie)}re-=he;ie+=he;if(me){break e}}else if(i.head){i.head.comment=null}i.mode=L;case L:if(i.flags&512){while(le<16){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(se!==(i.check&65535)){e.msg=\"header crc mismatch\";i.mode=J;break}se=0;le=0}if(i.head){i.head.hcrc=i.flags>>9&1;i.head.done=true}e.adler=i.check=0;i.mode=F;break;case A:while(le<32){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}e.adler=i.check=zswap32(se);se=0;le=0;i.mode=T;case T:if(i.havedict===0){e.next_out=ae;e.avail_out=ne;e.next_in=ie;e.avail_in=re;i.hold=se;i.bits=le;return b}e.adler=i.check=1;i.mode=F;case F:if(t===d||t===u){break e}case N:if(i.last){se>>>=le&7;le-=le&7;i.mode=X;break}while(le<3){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.last=se&1;se>>>=1;le-=1;switch(se&3){case 0:i.mode=D;break;case 1:fixedtables(i);i.mode=G;if(t===u){se>>>=2;le-=2;break e}break;case 2:i.mode=O;break;case 3:e.msg=\"invalid block type\";i.mode=J}se>>>=2;le-=2;break;case D:se>>>=le&7;le-=le&7;while(le<32){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if((se&65535)!==(se>>>16^65535)){e.msg=\"invalid stored block lengths\";i.mode=J;break}i.length=se&65535;se=0;le=0;i.mode=B;if(t===u){break e}case B:i.mode=U;case U:he=i.length;if(he){if(he>re){he=re}if(he>ne){he=ne}if(he===0){break e}a.arraySet(te,ee,ie,he,ae);re-=he;ie+=he;ne-=he;ae+=he;i.length-=he;break}i.mode=F;break;case O:while(le<14){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.nlen=(se&31)+257;se>>>=5;le-=5;i.ndist=(se&31)+1;se>>>=5;le-=5;i.ncode=(se&15)+4;se>>>=4;le-=4;if(i.nlen>286||i.ndist>30){e.msg=\"too many length or distance symbols\";i.mode=J;break}i.have=0;i.mode=M;case M:while(i.have<i.ncode){while(le<3){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.lens[Ze[i.have++]]=se&7;se>>>=3;le-=3}while(i.have<19){i.lens[Ze[i.have++]]=0}i.lencode=i.lendyn;i.lenbits=7;Ee={bits:i.lenbits};ke=l(f,i.lens,0,19,i.lencode,0,i.work,Ee);i.lenbits=Ee.bits;if(ke){e.msg=\"invalid code lengths set\";i.mode=J;break}i.have=0;i.mode=C;case C:while(i.have<i.nlen+i.ndist){for(;;){ue=i.lencode[se&(1<<i.lenbits)-1];ce=ue>>>24;ve=ue>>>16&255;be=ue&65535;if(ce<=le){break}if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(be<16){se>>>=ce;le-=ce;i.lens[i.have++]=be}else{if(be===16){ze=ce+2;while(le<ze){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}se>>>=ce;le-=ce;if(i.have===0){e.msg=\"invalid bit length repeat\";i.mode=J;break}me=i.lens[i.have-1];he=3+(se&3);se>>>=2;le-=2}else if(be===17){ze=ce+3;while(le<ze){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}se>>>=ce;le-=ce;me=0;he=3+(se&7);se>>>=3;le-=3}else{ze=ce+7;while(le<ze){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}se>>>=ce;le-=ce;me=0;he=11+(se&127);se>>>=7;le-=7}if(i.have+he>i.nlen+i.ndist){e.msg=\"invalid bit length repeat\";i.mode=J;break}while(he--){i.lens[i.have++]=me}}}if(i.mode===J){break}if(i.lens[256]===0){e.msg=\"invalid code -- missing end-of-block\";i.mode=J;break}i.lenbits=9;Ee={bits:i.lenbits};ke=l(o,i.lens,0,i.nlen,i.lencode,0,i.work,Ee);i.lenbits=Ee.bits;if(ke){e.msg=\"invalid literal/lengths set\";i.mode=J;break}i.distbits=6;i.distcode=i.distdyn;Ee={bits:i.distbits};ke=l(h,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,Ee);i.distbits=Ee.bits;if(ke){e.msg=\"invalid distances set\";i.mode=J;break}i.mode=G;if(t===u){break e}case G:i.mode=H;case H:if(re>=6&&ne>=258){e.next_out=ae;e.avail_out=ne;e.next_in=ie;e.avail_in=re;i.hold=se;i.bits=le;s(e,oe);ae=e.next_out;te=e.output;ne=e.avail_out;ie=e.next_in;ee=e.input;re=e.avail_in;se=i.hold;le=i.bits;if(i.mode===F){i.back=-1}break}i.back=0;for(;;){ue=i.lencode[se&(1<<i.lenbits)-1];ce=ue>>>24;ve=ue>>>16&255;be=ue&65535;if(ce<=le){break}if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(ve&&(ve&240)===0){we=ce;pe=ve;ge=be;for(;;){ue=i.lencode[ge+((se&(1<<we+pe)-1)>>we)];ce=ue>>>24;ve=ue>>>16&255;be=ue&65535;if(we+ce<=le){break}if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}se>>>=we;le-=we;i.back+=we}se>>>=ce;le-=ce;i.back+=ce;i.length=be;if(ve===0){i.mode=q;break}if(ve&32){i.back=-1;i.mode=F;break}if(ve&64){e.msg=\"invalid literal/length code\";i.mode=J;break}i.extra=ve&15;i.mode=P;case P:if(i.extra){ze=i.extra;while(le<ze){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.length+=se&(1<<i.extra)-1;se>>>=i.extra;le-=i.extra;i.back+=i.extra}i.was=i.length;i.mode=K;case K:for(;;){ue=i.distcode[se&(1<<i.distbits)-1];ce=ue>>>24;ve=ue>>>16&255;be=ue&65535;if(ce<=le){break}if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if((ve&240)===0){we=ce;pe=ve;ge=be;for(;;){ue=i.distcode[ge+((se&(1<<we+pe)-1)>>we)];ce=ue>>>24;ve=ue>>>16&255;be=ue&65535;if(we+ce<=le){break}if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}se>>>=we;le-=we;i.back+=we}se>>>=ce;le-=ce;i.back+=ce;if(ve&64){e.msg=\"invalid distance code\";i.mode=J;break}i.offset=be;i.extra=ve&15;i.mode=W;case W:if(i.extra){ze=i.extra;while(le<ze){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}i.offset+=se&(1<<i.extra)-1;se>>>=i.extra;le-=i.extra;i.back+=i.extra}if(i.offset>i.dmax){e.msg=\"invalid distance too far back\";i.mode=J;break}i.mode=V;case V:if(ne===0){break e}he=oe-ne;if(i.offset>he){he=i.offset-he;if(he>i.whave){if(i.sane){e.msg=\"invalid distance too far back\";i.mode=J;break}}if(he>i.wnext){he-=i.wnext;_e=i.wsize-he}else{_e=i.wnext-he}if(he>i.length){he=i.length}de=i.window}else{de=te;_e=ae-i.offset;he=i.length}if(he>ne){he=ne}ne-=he;i.length-=he;do{te[ae++]=de[_e++]}while(--he);if(i.length===0){i.mode=H}break;case q:if(ne===0){break e}te[ae++]=i.length;ne--;i.mode=H;break;case X:if(i.wrap){while(le<32){if(re===0){break e}re--;se|=ee[ie++]<<le;le+=8}oe-=ne;e.total_out+=oe;i.total+=oe;if(oe){e.adler=i.check=i.flags?n(i.check,te,oe,ae-oe):r(i.check,te,oe,ae-oe)}oe=ne;if((i.flags?se:zswap32(se))!==i.check){e.msg=\"incorrect data check\";i.mode=J;break}se=0;le=0}i.mode=Y;case Y:if(i.wrap&&i.flags){while(le<32){if(re===0){break e}re--;se+=ee[ie++]<<le;le+=8}if(se!==(i.total&4294967295)){e.msg=\"incorrect length check\";i.mode=J;break}se=0;le=0}i.mode=j;case j:ke=v;break e;case J:ke=p;break e;case Q:return g;case $:default:return w}}e.next_out=ae;e.avail_out=ne;e.next_in=ie;e.avail_in=re;i.hold=se;i.bits=le;if(i.wsize||oe!==e.avail_out&&i.mode<J&&(i.mode<X||t!==_)){if(updatewindow(e,e.output,e.next_out,oe-e.avail_out)){i.mode=Q;return g}}fe-=e.avail_in;oe-=e.avail_out;e.total_in+=fe;e.total_out+=oe;i.total+=oe;if(i.wrap&&oe){e.adler=i.check=i.flags?n(i.check,te,oe,e.next_out-oe):r(i.check,te,oe,e.next_out-oe)}e.data_type=i.bits+(i.last?64:0)+(i.mode===F?128:0)+(i.mode===G||i.mode===B?256:0);if((fe===0&&oe===0||t===_)&&ke===c){ke=m}return ke}function inflateEnd(e){if(!e||!e.state){return w}var t=e.state;if(t.window){t.window=null}e.state=null;return c}function inflateGetHeader(e,t){var i;if(!e||!e.state){return w}i=e.state;if((i.wrap&2)===0){return w}i.head=t;t.done=false;return c}function inflateSetDictionary(e,t){var i=t.length;var a;var n;var s;if(!e||!e.state){return w}a=e.state;if(a.wrap!==0&&a.mode!==T){return w}if(a.mode===T){n=1;n=r(n,t,i,0);if(n!==a.check){return p}}s=updatewindow(e,t,i,i);if(s){a.mode=Q;return g}a.havedict=1;return c}t.inflateReset=inflateReset;t.inflateReset2=inflateReset2;t.inflateResetKeep=inflateResetKeep;t.inflateInit=inflateInit;t.inflateInit2=inflateInit2;t.inflate=inflate;t.inflateEnd=inflateEnd;t.inflateGetHeader=inflateGetHeader;t.inflateSetDictionary=inflateSetDictionary;t.inflateInfo=\"pako inflate (from Nodeca project)\"},19:function(e,t,i){var a=i(380);var r=15;var n=852;var s=592;var l=0;var f=1;var o=2;var h=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0];var _=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0];var u=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function inflate_table(e,t,i,c,v,b,w,p){var g=p.bits;var m=0;var k=0;var y=0,E=0;var z=0;var Z=0;var x=0;var I=0;var R=0;var S=0;var L;var A;var T;var F;var N;var D=null;var B=0;var U;var O=new a.Buf16(r+1);var M=new a.Buf16(r+1);var C=null;var G=0;var H,P,K;for(m=0;m<=r;m++){O[m]=0}for(k=0;k<c;k++){O[t[i+k]]++}z=g;for(E=r;E>=1;E--){if(O[E]!==0){break}}if(z>E){z=E}if(E===0){v[b++]=1<<24|64<<16|0;v[b++]=1<<24|64<<16|0;p.bits=1;return 0}for(y=1;y<E;y++){if(O[y]!==0){break}}if(z<y){z=y}I=1;for(m=1;m<=r;m++){I<<=1;I-=O[m];if(I<0){return-1}}if(I>0&&(e===l||E!==1)){return-1}M[1]=0;for(m=1;m<r;m++){M[m+1]=M[m]+O[m]}for(k=0;k<c;k++){if(t[i+k]!==0){w[M[t[i+k]]++]=k}}if(e===l){D=C=w;U=19}else if(e===f){D=h;B-=257;C=_;G-=257;U=256}else{D=d;C=u;U=-1}S=0;k=0;m=y;N=b;Z=z;x=0;T=-1;R=1<<z;F=R-1;if(e===f&&R>n||e===o&&R>s){return 1}for(;;){H=m-x;if(w[k]<U){P=0;K=w[k]}else if(w[k]>U){P=C[G+w[k]];K=D[B+w[k]]}else{P=32+64;K=0}L=1<<m-x;A=1<<Z;y=A;do{A-=L;v[N+(S>>x)+A]=H<<24|P<<16|K|0}while(A!==0);L=1<<m-1;while(S&L){L>>=1}if(L!==0){S&=L-1;S+=L}else{S=0}k++;if(--O[m]===0){if(m===E){break}m=t[i+w[k]]}if(m>z&&(S&F)!==T){if(x===0){x=z}N+=y;Z=m-x;I=1<<Z;while(Z+x<E){I-=O[Z+x];if(I<=0){break}Z++;I<<=1}R+=1<<Z;if(e===f&&R>n||e===o&&R>s){return 1}T=S&F;v[T]=z<<24|Z<<16|N-b|0}}if(S!==0){v[N+S]=m-x<<24|64<<16|0}p.bits=z;return 0}},31:function(e){e.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},842:function(e,t,i){var a=i(380);var r=4;var n=0;var s=1;var l=2;function zero(e){var t=e.length;while(--t>=0){e[t]=0}}var f=0;var o=1;var h=2;var _=3;var d=258;var u=29;var c=256;var v=c+1+u;var b=30;var w=19;var p=2*v+1;var g=15;var m=16;var k=7;var y=256;var E=16;var z=17;var Z=18;var x=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var I=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var R=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var L=512;var A=new Array((v+2)*2);zero(A);var T=new Array(b*2);zero(T);var F=new Array(L);zero(F);var N=new Array(d-_+1);zero(N);var D=new Array(u);zero(D);var B=new Array(b);zero(B);function StaticTreeDesc(e,t,i,a,r){this.static_tree=e;this.extra_bits=t;this.extra_base=i;this.elems=a;this.max_length=r;this.has_stree=e&&e.length}var U;var O;var M;function TreeDesc(e,t){this.dyn_tree=e;this.max_code=0;this.stat_desc=t}function d_code(e){return e<256?F[e]:F[256+(e>>>7)]}function put_short(e,t){e.pending_buf[e.pending++]=t&255;e.pending_buf[e.pending++]=t>>>8&255}function send_bits(e,t,i){if(e.bi_valid>m-i){e.bi_buf|=t<<e.bi_valid&65535;put_short(e,e.bi_buf);e.bi_buf=t>>m-e.bi_valid;e.bi_valid+=i-m}else{e.bi_buf|=t<<e.bi_valid&65535;e.bi_valid+=i}}function send_code(e,t,i){send_bits(e,i[t*2],i[t*2+1])}function bi_reverse(e,t){var i=0;do{i|=e&1;e>>>=1;i<<=1}while(--t>0);return i>>>1}function bi_flush(e){if(e.bi_valid===16){put_short(e,e.bi_buf);e.bi_buf=0;e.bi_valid=0}else if(e.bi_valid>=8){e.pending_buf[e.pending++]=e.bi_buf&255;e.bi_buf>>=8;e.bi_valid-=8}}function gen_bitlen(e,t){var i=t.dyn_tree;var a=t.max_code;var r=t.stat_desc.static_tree;var n=t.stat_desc.has_stree;var s=t.stat_desc.extra_bits;var l=t.stat_desc.extra_base;var f=t.stat_desc.max_length;var o;var h,_;var d;var u;var c;var v=0;for(d=0;d<=g;d++){e.bl_count[d]=0}i[e.heap[e.heap_max]*2+1]=0;for(o=e.heap_max+1;o<p;o++){h=e.heap[o];d=i[i[h*2+1]*2+1]+1;if(d>f){d=f;v++}i[h*2+1]=d;if(h>a){continue}e.bl_count[d]++;u=0;if(h>=l){u=s[h-l]}c=i[h*2];e.opt_len+=c*(d+u);if(n){e.static_len+=c*(r[h*2+1]+u)}}if(v===0){return}do{d=f-1;while(e.bl_count[d]===0){d--}e.bl_count[d]--;e.bl_count[d+1]+=2;e.bl_count[f]--;v-=2}while(v>0);for(d=f;d!==0;d--){h=e.bl_count[d];while(h!==0){_=e.heap[--o];if(_>a){continue}if(i[_*2+1]!==d){e.opt_len+=(d-i[_*2+1])*i[_*2];i[_*2+1]=d}h--}}}function gen_codes(e,t,i){var a=new Array(g+1);var r=0;var n;var s;for(n=1;n<=g;n++){a[n]=r=r+i[n-1]<<1}for(s=0;s<=t;s++){var l=e[s*2+1];if(l===0){continue}e[s*2]=bi_reverse(a[l]++,l)}}function tr_static_init(){var e;var t;var i;var a;var r;var n=new Array(g+1);i=0;for(a=0;a<u-1;a++){D[a]=i;for(e=0;e<1<<x[a];e++){N[i++]=a}}N[i-1]=a;r=0;for(a=0;a<16;a++){B[a]=r;for(e=0;e<1<<I[a];e++){F[r++]=a}}r>>=7;for(;a<b;a++){B[a]=r<<7;for(e=0;e<1<<I[a]-7;e++){F[256+r++]=a}}for(t=0;t<=g;t++){n[t]=0}e=0;while(e<=143){A[e*2+1]=8;e++;n[8]++}while(e<=255){A[e*2+1]=9;e++;n[9]++}while(e<=279){A[e*2+1]=7;e++;n[7]++}while(e<=287){A[e*2+1]=8;e++;n[8]++}gen_codes(A,v+1,n);for(e=0;e<b;e++){T[e*2+1]=5;T[e*2]=bi_reverse(e,5)}U=new StaticTreeDesc(A,x,c+1,v,g);O=new StaticTreeDesc(T,I,0,b,g);M=new StaticTreeDesc(new Array(0),R,0,w,k)}function init_block(e){var t;for(t=0;t<v;t++){e.dyn_ltree[t*2]=0}for(t=0;t<b;t++){e.dyn_dtree[t*2]=0}for(t=0;t<w;t++){e.bl_tree[t*2]=0}e.dyn_ltree[y*2]=1;e.opt_len=e.static_len=0;e.last_lit=e.matches=0}function bi_windup(e){if(e.bi_valid>8){put_short(e,e.bi_buf)}else if(e.bi_valid>0){e.pending_buf[e.pending++]=e.bi_buf}e.bi_buf=0;e.bi_valid=0}function copy_block(e,t,i,r){bi_windup(e);if(r){put_short(e,i);put_short(e,~i)}a.arraySet(e.pending_buf,e.window,t,i,e.pending);e.pending+=i}function smaller(e,t,i,a){var r=t*2;var n=i*2;return e[r]<e[n]||e[r]===e[n]&&a[t]<=a[i]}function pqdownheap(e,t,i){var a=e.heap[i];var r=i<<1;while(r<=e.heap_len){if(r<e.heap_len&&smaller(t,e.heap[r+1],e.heap[r],e.depth)){r++}if(smaller(t,a,e.heap[r],e.depth)){break}e.heap[i]=e.heap[r];i=r;r<<=1}e.heap[i]=a}function compress_block(e,t,i){var a;var r;var n=0;var s;var l;if(e.last_lit!==0){do{a=e.pending_buf[e.d_buf+n*2]<<8|e.pending_buf[e.d_buf+n*2+1];r=e.pending_buf[e.l_buf+n];n++;if(a===0){send_code(e,r,t)}else{s=N[r];send_code(e,s+c+1,t);l=x[s];if(l!==0){r-=D[s];send_bits(e,r,l)}a--;s=d_code(a);send_code(e,s,i);l=I[s];if(l!==0){a-=B[s];send_bits(e,a,l)}}}while(n<e.last_lit)}send_code(e,y,t)}function build_tree(e,t){var i=t.dyn_tree;var a=t.stat_desc.static_tree;var r=t.stat_desc.has_stree;var n=t.stat_desc.elems;var s,l;var f=-1;var o;e.heap_len=0;e.heap_max=p;for(s=0;s<n;s++){if(i[s*2]!==0){e.heap[++e.heap_len]=f=s;e.depth[s]=0}else{i[s*2+1]=0}}while(e.heap_len<2){o=e.heap[++e.heap_len]=f<2?++f:0;i[o*2]=1;e.depth[o]=0;e.opt_len--;if(r){e.static_len-=a[o*2+1]}}t.max_code=f;for(s=e.heap_len>>1;s>=1;s--){pqdownheap(e,i,s)}o=n;do{s=e.heap[1];e.heap[1]=e.heap[e.heap_len--];pqdownheap(e,i,1);l=e.heap[1];e.heap[--e.heap_max]=s;e.heap[--e.heap_max]=l;i[o*2]=i[s*2]+i[l*2];e.depth[o]=(e.depth[s]>=e.depth[l]?e.depth[s]:e.depth[l])+1;i[s*2+1]=i[l*2+1]=o;e.heap[1]=o++;pqdownheap(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1];gen_bitlen(e,t);gen_codes(i,f,e.bl_count)}function scan_tree(e,t,i){var a;var r=-1;var n;var s=t[0*2+1];var l=0;var f=7;var o=4;if(s===0){f=138;o=3}t[(i+1)*2+1]=65535;for(a=0;a<=i;a++){n=s;s=t[(a+1)*2+1];if(++l<f&&n===s){continue}else if(l<o){e.bl_tree[n*2]+=l}else if(n!==0){if(n!==r){e.bl_tree[n*2]++}e.bl_tree[E*2]++}else if(l<=10){e.bl_tree[z*2]++}else{e.bl_tree[Z*2]++}l=0;r=n;if(s===0){f=138;o=3}else if(n===s){f=6;o=3}else{f=7;o=4}}}function send_tree(e,t,i){var a;var r=-1;var n;var s=t[0*2+1];var l=0;var f=7;var o=4;if(s===0){f=138;o=3}for(a=0;a<=i;a++){n=s;s=t[(a+1)*2+1];if(++l<f&&n===s){continue}else if(l<o){do{send_code(e,n,e.bl_tree)}while(--l!==0)}else if(n!==0){if(n!==r){send_code(e,n,e.bl_tree);l--}send_code(e,E,e.bl_tree);send_bits(e,l-3,2)}else if(l<=10){send_code(e,z,e.bl_tree);send_bits(e,l-3,3)}else{send_code(e,Z,e.bl_tree);send_bits(e,l-11,7)}l=0;r=n;if(s===0){f=138;o=3}else if(n===s){f=6;o=3}else{f=7;o=4}}}function build_bl_tree(e){var t;scan_tree(e,e.dyn_ltree,e.l_desc.max_code);scan_tree(e,e.dyn_dtree,e.d_desc.max_code);build_tree(e,e.bl_desc);for(t=w-1;t>=3;t--){if(e.bl_tree[S[t]*2+1]!==0){break}}e.opt_len+=3*(t+1)+5+5+4;return t}function send_all_trees(e,t,i,a){var r;send_bits(e,t-257,5);send_bits(e,i-1,5);send_bits(e,a-4,4);for(r=0;r<a;r++){send_bits(e,e.bl_tree[S[r]*2+1],3)}send_tree(e,e.dyn_ltree,t-1);send_tree(e,e.dyn_dtree,i-1)}function detect_data_type(e){var t=4093624447;var i;for(i=0;i<=31;i++,t>>>=1){if(t&1&&e.dyn_ltree[i*2]!==0){return n}}if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0){return s}for(i=32;i<c;i++){if(e.dyn_ltree[i*2]!==0){return s}}return n}var C=false;function _tr_init(e){if(!C){tr_static_init();C=true}e.l_desc=new TreeDesc(e.dyn_ltree,U);e.d_desc=new TreeDesc(e.dyn_dtree,O);e.bl_desc=new TreeDesc(e.bl_tree,M);e.bi_buf=0;e.bi_valid=0;init_block(e)}function _tr_stored_block(e,t,i,a){send_bits(e,(f<<1)+(a?1:0),3);copy_block(e,t,i,true)}function _tr_align(e){send_bits(e,o<<1,3);send_code(e,y,A);bi_flush(e)}function _tr_flush_block(e,t,i,a){var n,s;var f=0;if(e.level>0){if(e.strm.data_type===l){e.strm.data_type=detect_data_type(e)}build_tree(e,e.l_desc);build_tree(e,e.d_desc);f=build_bl_tree(e);n=e.opt_len+3+7>>>3;s=e.static_len+3+7>>>3;if(s<=n){n=s}}else{n=s=i+5}if(i+4<=n&&t!==-1){_tr_stored_block(e,t,i,a)}else if(e.strategy===r||s===n){send_bits(e,(o<<1)+(a?1:0),3);compress_block(e,A,T)}else{send_bits(e,(h<<1)+(a?1:0),3);send_all_trees(e,e.l_desc.max_code+1,e.d_desc.max_code+1,f+1);compress_block(e,e.dyn_ltree,e.dyn_dtree)}init_block(e);if(a){bi_windup(e)}}function _tr_tally(e,t,i){e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255;e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255;e.pending_buf[e.l_buf+e.last_lit]=i&255;e.last_lit++;if(t===0){e.dyn_ltree[i*2]++}else{e.matches++;t--;e.dyn_ltree[(N[i]+c+1)*2]++;e.dyn_dtree[d_code(t)*2]++}return e.last_lit===e.lit_bufsize-1}t._tr_init=_tr_init;t._tr_stored_block=_tr_stored_block;t._tr_flush_block=_tr_flush_block;t._tr_tally=_tr_tally;t._tr_align=_tr_align},562:function(e){function ZStream(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg=\"\";this.state=null;this.data_type=2;this.adler=0}e.exports=ZStream},491:function(e){e.exports=__webpack_require__(/*! assert */ \"./node_modules/next/dist/compiled/assert/assert.js\")},300:function(e){e.exports=__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")},781:function(e){e.exports=__webpack_require__(/*! stream */ \"./node_modules/next/dist/compiled/stream-browserify/index.js\")},837:function(e){e.exports=__webpack_require__(/*! util */ \"./node_modules/util/util.js\")}};var t={};function __nccwpck_require__(i){var a=t[i];if(a!==undefined){return a.exports}var r=t[i]={exports:{}};var n=true;try{e[i](r,r.exports,__nccwpck_require__);n=false}finally{if(n)delete t[i]}return r.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var i=__nccwpck_require__(23);module.exports=i})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Jyb3dzZXJpZnktemxpYi9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxZQUFZLGFBQWEsT0FBTyxvQkFBb0IsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGdCQUFnQixVQUFVLFNBQVMsWUFBWSxZQUFZLFNBQVMsV0FBVyxlQUFlLGVBQWUsVUFBVSxTQUFTLFVBQVUsaUJBQWlCLGdEQUFnRCxvQ0FBb0MscUJBQXFCLFdBQVcsYUFBYSxxQkFBcUIsYUFBYSxnQkFBZ0IsWUFBWSxnQkFBZ0Isa0JBQWtCLDZCQUE2Qix5QkFBeUIsMEJBQTBCLGdDQUFnQywyQkFBMkIsd0JBQXdCLE9BQU8seUJBQXlCLHNDQUFzQyxzQkFBc0Isd0VBQXdFLHdCQUF3QixvR0FBb0csd0JBQXdCLGlCQUFpQixzQkFBc0IsNkNBQTZDLHdDQUF3QyxpREFBaUQseUNBQXlDLGdEQUFnRCw0QkFBNEIsc0NBQXNDLDBDQUEwQyxrRUFBa0UscURBQXFELDRCQUE0Qix3REFBd0QsNEJBQTRCLG1IQUFtSCx1Q0FBdUMsWUFBWSxFQUFFLE1BQU0sVUFBVSxJQUFJLElBQUkscUJBQXFCLGtCQUFrQixvQkFBb0Isc0JBQXNCLG1CQUFtQixxQkFBcUIsYUFBYSxPQUFPLGdCQUFnQix1QkFBdUIseUJBQXlCLE9BQU8sV0FBVyxPQUFPLHNCQUFzQixhQUFhLFdBQVcsR0FBRyxhQUFhLHFDQUFxQywwQkFBMEIseUJBQXlCLDZCQUE2QixhQUFhLG1DQUFtQyxXQUFXLGtCQUFrQixzRkFBc0YsTUFBTSxzQ0FBc0Msb0JBQW9CLGdDQUFnQyxvQkFBb0IsTUFBTSwyQkFBMkIsMEJBQTBCLElBQUksMkJBQTJCLE9BQU8sS0FBSyxvQkFBb0IsTUFBTSxvQkFBb0IsTUFBTSwyQkFBMkIsMEJBQTBCLG1CQUFtQixLQUFLLG9CQUFvQixNQUFNLDBFQUEwRSx3RkFBd0YsOENBQThDLDJEQUEyRCxzQkFBc0IseUNBQXlDLG1DQUFtQyx3QkFBd0IsdUdB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QUssWUFBWSxJQUFJLDRCQUE0QiwyQkFBMkIsb0NBQW9DLG9CQUFvQixvQ0FBb0Msa0NBQWtDLHNCQUFzQixzQkFBc0IsaUJBQWlCLG1CQUFtQixnQkFBZ0IsZUFBZSxnQkFBZ0IsZ0JBQWdCLGlCQUFpQixnQkFBZ0IsaUJBQWlCLGlCQUFpQixZQUFZLGdCQUFnQixpQkFBaUIsYUFBYSxrQkFBa0IsaUJBQWlCLFVBQVUsbUJBQU8sQ0FBQyxrRUFBUSxFQUFFLGlCQUFpQixVQUFVLG1CQUFPLENBQUMsOENBQVEsRUFBRSxpQkFBaUIsVUFBVSxtQkFBTyxDQUFDLDRFQUFRLEVBQUUsaUJBQWlCLFVBQVUsbUJBQU8sQ0FBQyx5Q0FBTSxJQUFJLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLDhCQUE4QixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9icm93c2VyaWZ5LXpsaWIvaW5kZXguanM/NzgwMiJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgZT17NzQyOmZ1bmN0aW9uKGUsdCxpKXt2YXIgYT1pKDQ5MSk7dmFyIHI9aSg1NjIpO3ZhciBuPWkoNDUwKTt2YXIgcz1pKDMyNCk7dmFyIGw9aSgzMjApO2Zvcih2YXIgZiBpbiBsKXt0W2ZdPWxbZl19dC5OT05FPTA7dC5ERUZMQVRFPTE7dC5JTkZMQVRFPTI7dC5HWklQPTM7dC5HVU5aSVA9NDt0LkRFRkxBVEVSQVc9NTt0LklORkxBVEVSQVc9Njt0LlVOWklQPTc7dmFyIG89MzE7dmFyIGg9MTM5O2Z1bmN0aW9uIFpsaWIoZSl7aWYodHlwZW9mIGUhPT1cIm51bWJlclwifHxlPHQuREVGTEFURXx8ZT50LlVOWklQKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQmFkIGFyZ3VtZW50XCIpfXRoaXMuZGljdGlvbmFyeT1udWxsO3RoaXMuZXJyPTA7dGhpcy5mbHVzaD0wO3RoaXMuaW5pdF9kb25lPWZhbHNlO3RoaXMubGV2ZWw9MDt0aGlzLm1lbUxldmVsPTA7dGhpcy5tb2RlPWU7dGhpcy5zdHJhdGVneT0wO3RoaXMud2luZG93Qml0cz0wO3RoaXMud3JpdGVfaW5fcHJvZ3Jlc3M9ZmFsc2U7dGhpcy5wZW5kaW5nX2Nsb3NlPWZhbHNlO3RoaXMuZ3ppcF9pZF9ieXRlc19yZWFkPTB9WmxpYi5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtpZih0aGlzLndyaXRlX2luX3Byb2dyZXNzKXt0aGlzLnBlbmRpbmdfY2xvc2U9dHJ1ZTtyZXR1cm59dGhpcy5wZW5kaW5nX2Nsb3NlPWZhbHNlO2EodGhpcy5pbml0X2RvbmUsXCJjbG9zZSBiZWZvcmUgaW5pdFwiKTthKHRoaXMubW9kZTw9dC5VTlpJUCk7aWYodGhpcy5tb2RlPT09dC5ERUZMQVRFfHx0aGlzLm1vZGU9PT10LkdaSVB8fHRoaXMubW9kZT09PXQuREVGTEFURVJBVyl7bi5kZWZsYXRlRW5kKHRoaXMuc3RybSl9ZWxzZSBpZih0aGlzLm1vZGU9PT10LklORkxBVEV8fHRoaXMubW9kZT09PXQuR1VOWklQfHx0aGlzLm1vZGU9PT10LklORkxBVEVSQVd8fHRoaXMubW9kZT09PXQuVU5aSVApe3MuaW5mbGF0ZUVuZCh0aGlzLnN0cm0pfXRoaXMubW9kZT10Lk5PTkU7dGhpcy5kaWN0aW9uYXJ5PW51bGx9O1psaWIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxpLGEscixuLHMpe3JldHVybiB0aGlzLl93cml0ZSh0cnVlLGUsdCxpLGEscixuLHMpfTtabGliLnByb3RvdHlwZS53cml0ZVN5bmM9ZnVuY3Rpb24oZSx0LGksYSxyLG4scyl7cmV0dXJuIHRoaXMuX3dyaXRlKGZhbHNlLGUsdCxpLGEscixuLHMpfTtabGliLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSxpLHIsbixzLGwsZixvKXthLmVxdWFsKGFyZ3VtZW50cy5sZW5ndGgsOCk7YSh0aGlzLmluaXRfZG9uZSxcIndyaXRlIGJlZm9yZSBpbml0XCIpO2EodGhpcy5tb2RlIT09dC5OT05FLFwiYWxyZWFkeSBmaW5hbGl6ZWRcIik7YS5lcXVhbChmYWxzZSx0aGlzLndyaXRlX2luX3Byb2dyZXNzLFwid3JpdGUgYWxyZWFkeSBpbiBwcm9ncmVzc1wiKTthLmVxdWFsKGZhbHNlLHRoaXMucGVuZGluZ19jbG9zZSxcImNsb3NlIGlzIHBlbmRpbmdcIik7dGhpcy53cml0ZV9pbl9wcm9ncmVzcz10cnVlO2EuZXF1YWwoZmFsc2UsaT09PXVuZGVmaW5lZCxcIm11c3QgcHJvdmlkZSBmbHVzaCB2YWx1ZVwiKTt0aGlzLndyaXRlX2luX3Byb2dyZXNzPXRydWU7aWYoaSE9PXQuWl9OT19GTFVTSCYmaSE9PXQuWl9QQVJUSUFMX0ZMVVNIJiZpIT09dC5aX1NZTkNfRkxVU0gmJmkhPT10LlpfRlVMTF9GTFVTSCYmaSE9PXQuWl9GSU5JU0gmJmkhPT10LlpfQkxPQ0spe3Rocm93IG5ldyBFcnJvcihcIkludmFsaWQgZmx1c2ggdmFsdWVcIil9aWYocj09bnVsbCl7cj1CdWZmZXIuYWxsb2MoMCk7cz0wO249MH10aGlzLnN0cm0uYXZhaWxfaW49czt0aGlzLnN0cm0uaW5wdXQ9cjt0aGlzLnN0cm0ubmV4dF9pbj1uO3RoaXMuc3RybS5hdmFpbF9vdXQ9bzt0aGlzLnN0cm0ub3V0cHV0PWw7dGhpcy5zdHJtLm5leHRfb3V0PWY7dGhpcy5mbHVzaD1pO2lmKCFlKXt0aGlzLl9wcm9jZXNzKCk7aWYodGhpcy5fY2hlY2tFcnJvcigpKXtyZXR1cm4gdGhpcy5fYWZ0ZXJTeW5jKCl9cmV0dXJufXZhciBoPXRoaXM7cHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXtoLl9wcm9jZXNzKCk7aC5fYWZ0ZXIoKX0pKTtyZXR1cm4gdGhpc307WmxpYi5wcm90b3R5cGUuX2FmdGVyU3luYz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuc3RybS5hdmFpbF9vdXQ7dmFyIHQ9dGhpcy5zdHJtLmF2YWlsX2luO3RoaXMud3JpdGVfaW5fcHJvZ3Jlc3M9ZmFsc2U7cmV0dXJuW3QsZV19O1psaWIucHJvdG90eXBlLl9wcm9jZXNzPWZ1bmN0aW9uKCl7dmFyIGU9bnVsbDtzd2l0Y2godGhpcy5tb2RlKXtjYXNlIHQuREVGTEFURTpjYXNlIHQuR1pJUDpjYXNlIHQuREVGTEFURVJBVzp0aGlzLmVycj1uLmRlZmxhdGUodGhpcy5zdHJtLHRoaXMuZmx1c2gpO2JyZWFrO2Nhc2UgdC5VTlpJUDppZih0aGlzLnN0cm0uYXZhaWxfaW4+MCl7ZT10aGlzLnN0cm0ubmV4dF9pbn1zd2l0Y2godGhpcy5nemlwX2lkX2J5dGVzX3JlYWQpe2Nhc2UgMDppZihlPT09bnVsbCl7YnJlYWt9aWYodGhpcy5zdHJtLmlucHV0W2VdPT09byl7dGhpcy5nemlwX2lkX2J5dGVzX3JlYWQ9MTtlKys7aWYodGhpcy5zdHJtLmF2YWlsX2luPT09MSl7YnJlYWt9fWVsc2V7dGhpcy5tb2RlPXQuSU5GTEFURTticmVha31jYXNlIDE6aWYoZT09PW51bGwpe2JyZWFrfWlmKHRoaXMuc3RybS5pbnB1dFtlXT09PWgpe3RoaXMuZ3ppcF9pZF9ieXRlc19yZWFkPTI7dGhpcy5tb2RlPXQuR1VOWklQfWVsc2V7dGhpcy5tb2RlPXQuSU5GTEFURX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcImludmFsaWQgbnVtYmVyIG9mIGd6aXAgbWFnaWMgbnVtYmVyIGJ5dGVzIHJlYWRcIil9Y2FzZSB0LklORkxBVEU6Y2FzZSB0LkdVTlpJUDpjYXNlIHQuSU5GTEFURVJBVzp0aGlzLmVycj1zLmluZmxhdGUodGhpcy5zdHJtLHRoaXMuZmx1c2gpO2lmKHRoaXMuZXJyPT09dC5aX05FRURfRElDVCYmdGhpcy5kaWN0aW9uYXJ5KXt0aGlzLmVycj1zLmluZmxhdGVTZXREaWN0aW9uYXJ5KHRoaXMuc3RybSx0aGlzLmRpY3Rpb25hcnkpO2lmKHRoaXMuZXJyPT09dC5aX09LKXt0aGlzLmVycj1zLmluZmxhdGUodGhpcy5zdHJtLHRoaXMuZmx1c2gpfWVsc2UgaWYodGhpcy5lcnI9PT10LlpfREFUQV9FUlJPUil7dGhpcy5lcnI9dC5aX05FRURfRElDVH19d2hpbGUodGhpcy5zdHJtLmF2YWlsX2luPjAmJnRoaXMubW9kZT09PXQuR1VOWklQJiZ0aGlzLmVycj09PXQuWl9TVFJFQU1fRU5EJiZ0aGlzLnN0cm0ubmV4dF9pblswXSE9PTApe3RoaXMucmVzZXQoKTt0aGlzLmVycj1zLmluZmxhdGUodGhpcy5zdHJtLHRoaXMuZmx1c2gpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBtb2RlIFwiK3RoaXMubW9kZSl9fTtabGliLnByb3RvdHlwZS5fY2hlY2tFcnJvcj1mdW5jdGlvbigpe3N3aXRjaCh0aGlzLmVycil7Y2FzZSB0LlpfT0s6Y2FzZSB0LlpfQlVGX0VSUk9SOmlmKHRoaXMuc3RybS5hdmFpbF9vdXQhPT0wJiZ0aGlzLmZsdXNoPT09dC5aX0ZJTklTSCl7dGhpcy5fZXJyb3IoXCJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlXCIpO3JldHVybiBmYWxzZX1icmVhaztjYXNlIHQuWl9TVFJFQU1fRU5EOmJyZWFrO2Nhc2UgdC5aX05FRURfRElDVDppZih0aGlzLmRpY3Rpb25hcnk9PW51bGwpe3RoaXMuX2Vycm9yKFwiTWlzc2luZyBkaWN0aW9uYXJ5XCIpfWVsc2V7dGhpcy5fZXJyb3IoXCJCYWQgZGljdGlvbmFyeVwiKX1yZXR1cm4gZmFsc2U7ZGVmYXVsdDp0aGlzLl9lcnJvcihcIlpsaWIgZXJyb3JcIik7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfTtabGliLnByb3RvdHlwZS5fYWZ0ZXI9ZnVuY3Rpb24oKXtpZighdGhpcy5fY2hlY2tFcnJvcigpKXtyZXR1cm59dmFyIGU9dGhpcy5zdHJtLmF2YWlsX291dDt2YXIgdD10aGlzLnN0cm0uYXZhaWxfaW47dGhpcy53cml0ZV9pbl9wcm9ncmVzcz1mYWxzZTt0aGlzLmNhbGxiYWNrKHQsZSk7aWYodGhpcy5wZW5kaW5nX2Nsb3NlKXt0aGlzLmNsb3NlKCl9fTtabGliLnByb3RvdHlwZS5fZXJyb3I9ZnVuY3Rpb24oZSl7aWYodGhpcy5zdHJtLm1zZyl7ZT10aGlzLnN0cm0ubXNnfXRoaXMub25lcnJvcihlLHRoaXMuZXJyKTt0aGlzLndyaXRlX2luX3Byb2dyZXNzPWZhbHNlO2lmKHRoaXMucGVuZGluZ19jbG9zZSl7dGhpcy5jbG9zZSgpfX07WmxpYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihlLGkscixuLHMpe2EoYXJndW1lbnRzLmxlbmd0aD09PTR8fGFyZ3VtZW50cy5sZW5ndGg9PT01LFwiaW5pdCh3aW5kb3dCaXRzLCBsZXZlbCwgbWVtTGV2ZWwsIHN0cmF0ZWd5LCBbZGljdGlvbmFyeV0pXCIpO2EoZT49OCYmZTw9MTUsXCJpbnZhbGlkIHdpbmRvd0JpdHNcIik7YShpPj0tMSYmaTw9OSxcImludmFsaWQgY29tcHJlc3Npb24gbGV2ZWxcIik7YShyPj0xJiZyPD05LFwiaW52YWxpZCBtZW1sZXZlbFwiKTthKG49PT10LlpfRklMVEVSRUR8fG49PT10LlpfSFVGRk1BTl9PTkxZfHxuPT09dC5aX1JMRXx8bj09PXQuWl9GSVhFRHx8bj09PXQuWl9ERUZBVUxUX1NUUkFURUdZLFwiaW52YWxpZCBzdHJhdGVneVwiKTt0aGlzLl9pbml0KGksZSxyLG4scyk7dGhpcy5fc2V0RGljdGlvbmFyeSgpfTtabGliLnByb3RvdHlwZS5wYXJhbXM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJkZWZsYXRlUGFyYW1zIE5vdCBzdXBwb3J0ZWRcIil9O1psaWIucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5fcmVzZXQoKTt0aGlzLl9zZXREaWN0aW9uYXJ5KCl9O1psaWIucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGUsaSxhLGwsZil7dGhpcy5sZXZlbD1lO3RoaXMud2luZG93Qml0cz1pO3RoaXMubWVtTGV2ZWw9YTt0aGlzLnN0cmF0ZWd5PWw7dGhpcy5mbHVzaD10LlpfTk9fRkxVU0g7dGhpcy5lcnI9dC5aX09LO2lmKHRoaXMubW9kZT09PXQuR1pJUHx8dGhpcy5tb2RlPT09dC5HVU5aSVApe3RoaXMud2luZG93Qml0cys9MTZ9aWYodGhpcy5tb2RlPT09dC5VTlpJUCl7dGhpcy53aW5kb3dCaXRzKz0zMn1pZih0aGlzLm1vZGU9PT10LkRFRkxBVEVSQVd8fHRoaXMubW9kZT09PXQuSU5GTEFURVJBVyl7dGhpcy53aW5kb3dCaXRzPS0xKnRoaXMud2luZG93Qml0c310aGlzLnN0cm09bmV3IHI7c3dpdGNoKHRoaXMubW9kZSl7Y2FzZSB0LkRFRkxBVEU6Y2FzZSB0LkdaSVA6Y2FzZSB0LkRFRkxBVEVSQVc6dGhpcy5lcnI9bi5kZWZsYXRlSW5pdDIodGhpcy5zdHJtLHRoaXMubGV2ZWwsdC5aX0RFRkxBVEVELHRoaXMud2luZG93Qml0cyx0aGlzLm1lbUxldmVsLHRoaXMuc3RyYXRlZ3kpO2JyZWFrO2Nhc2UgdC5JTkZMQVRFOmNhc2UgdC5HVU5aSVA6Y2FzZSB0LklORkxBVEVSQVc6Y2FzZSB0LlVOWklQOnRoaXMuZXJyPXMuaW5mbGF0ZUluaXQyKHRoaXMuc3RybSx0aGlzLndpbmRvd0JpdHMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBtb2RlIFwiK3RoaXMubW9kZSl9aWYodGhpcy5lcnIhPT10LlpfT0spe3RoaXMuX2Vycm9yKFwiSW5pdCBlcnJvclwiKX10aGlzLmRpY3Rpb25hcnk9Zjt0aGlzLndyaXRlX2luX3Byb2dyZXNzPWZhbHNlO3RoaXMuaW5pdF9kb25lPXRydWV9O1psaWIucHJvdG90eXBlLl9zZXREaWN0aW9uYXJ5PWZ1bmN0aW9uKCl7aWYodGhpcy5kaWN0aW9uYXJ5PT1udWxsKXtyZXR1cm59dGhpcy5lcnI9dC5aX09LO3N3aXRjaCh0aGlzLm1vZGUpe2Nhc2UgdC5ERUZMQVRFOmNhc2UgdC5ERUZMQVRFUkFXOnRoaXMuZXJyPW4uZGVmbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLHRoaXMuZGljdGlvbmFyeSk7YnJlYWs7ZGVmYXVsdDpicmVha31pZih0aGlzLmVyciE9PXQuWl9PSyl7dGhpcy5fZXJyb3IoXCJGYWlsZWQgdG8gc2V0IGRpY3Rpb25hcnlcIil9fTtabGliLnByb3RvdHlwZS5fcmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmVycj10LlpfT0s7c3dpdGNoKHRoaXMubW9kZSl7Y2FzZSB0LkRFRkxBVEU6Y2FzZSB0LkRFRkxBVEVSQVc6Y2FzZSB0LkdaSVA6dGhpcy5lcnI9bi5kZWZsYXRlUmVzZXQodGhpcy5zdHJtKTticmVhaztjYXNlIHQuSU5GTEFURTpjYXNlIHQuSU5GTEFURVJBVzpjYXNlIHQuR1VOWklQOnRoaXMuZXJyPXMuaW5mbGF0ZVJlc2V0KHRoaXMuc3RybSk7YnJlYWs7ZGVmYXVsdDpicmVha31pZih0aGlzLmVyciE9PXQuWl9PSyl7dGhpcy5fZXJyb3IoXCJGYWlsZWQgdG8gcmVzZXQgc3RyZWFtXCIpfX07dC5abGliPVpsaWJ9LDIzOmZ1bmN0aW9uKGUsdCxpKXt2YXIgYT1pKDMwMCkuQnVmZmVyO3ZhciByPWkoNzgxKS5UcmFuc2Zvcm07dmFyIG49aSg3NDIpO3ZhciBzPWkoODM3KTt2YXIgbD1pKDQ5MSkub2s7dmFyIGY9aSgzMDApLmtNYXhMZW5ndGg7dmFyIG89XCJDYW5ub3QgY3JlYXRlIGZpbmFsIEJ1ZmZlci4gSXQgd291bGQgYmUgbGFyZ2VyIFwiK1widGhhbiAweFwiK2YudG9TdHJpbmcoMTYpK1wiIGJ5dGVzXCI7bi5aX01JTl9XSU5ET1dCSVRTPTg7bi5aX01BWF9XSU5ET1dCSVRTPTE1O24uWl9ERUZBVUxUX1dJTkRPV0JJVFM9MTU7bi5aX01JTl9DSFVOSz02NDtuLlpfTUFYX0NIVU5LPUluZmluaXR5O24uWl9ERUZBVUxUX0NIVU5LPTE2KjEwMjQ7bi5aX01JTl9NRU1MRVZFTD0xO24uWl9NQVhfTUVNTEVWRUw9OTtuLlpfREVGQVVMVF9NRU1MRVZFTD04O24uWl9NSU5fTEVWRUw9LTE7bi5aX01BWF9MRVZFTD05O24uWl9ERUZBVUxUX0xFVkVMPW4uWl9ERUZBVUxUX0NPTVBSRVNTSU9OO3ZhciBoPU9iamVjdC5rZXlzKG4pO2Zvcih2YXIgXz0wO188aC5sZW5ndGg7XysrKXt2YXIgZD1oW19dO2lmKGQubWF0Y2goL15aLykpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGQse2VudW1lcmFibGU6dHJ1ZSx2YWx1ZTpuW2RdLHdyaXRhYmxlOmZhbHNlfSl9fXZhciB1PXtaX09LOm4uWl9PSyxaX1NUUkVBTV9FTkQ6bi5aX1NUUkVBTV9FTkQsWl9ORUVEX0RJQ1Q6bi5aX05FRURfRElDVCxaX0VSUk5POm4uWl9FUlJOTyxaX1NUUkVBTV9FUlJPUjpuLlpfU1RSRUFNX0VSUk9SLFpfREFUQV9FUlJPUjpuLlpfREFUQV9FUlJPUixaX01FTV9FUlJPUjpuLlpfTUVNX0VSUk9SLFpfQlVGX0VSUk9SOm4uWl9CVUZfRVJST1IsWl9WRVJTSU9OX0VSUk9SOm4uWl9WRVJTSU9OX0VSUk9SfTt2YXIgYz1PYmplY3Qua2V5cyh1KTtmb3IodmFyIHY9MDt2PGMubGVuZ3RoO3YrKyl7dmFyIGI9Y1t2XTt1W3VbYl1dPWJ9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJjb2Rlc1wiLHtlbnVtZXJhYmxlOnRydWUsdmFsdWU6T2JqZWN0LmZyZWV6ZSh1KSx3cml0YWJsZTpmYWxzZX0pO3QuRGVmbGF0ZT1EZWZsYXRlO3QuSW5mbGF0ZT1JbmZsYXRlO3QuR3ppcD1HemlwO3QuR3VuemlwPUd1bnppcDt0LkRlZmxhdGVSYXc9RGVmbGF0ZVJhdzt0LkluZmxhdGVSYXc9SW5mbGF0ZVJhdzt0LlVuemlwPVVuemlwO3QuY3JlYXRlRGVmbGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IERlZmxhdGUoZSl9O3QuY3JlYXRlSW5mbGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEluZmxhdGUoZSl9O3QuY3JlYXRlRGVmbGF0ZVJhdz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IERlZmxhdGVSYXcoZSl9O3QuY3JlYXRlSW5mbGF0ZVJhdz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEluZmxhdGVSYXcoZSl9O3QuY3JlYXRlR3ppcD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEd6aXAoZSl9O3QuY3JlYXRlR3VuemlwPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgR3VuemlwKGUpfTt0LmNyZWF0ZVVuemlwPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVW56aXAoZSl9O3QuZGVmbGF0ZT1mdW5jdGlvbihlLHQsaSl7aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe2k9dDt0PXt9fXJldHVybiB6bGliQnVmZmVyKG5ldyBEZWZsYXRlKHQpLGUsaSl9O3QuZGVmbGF0ZVN5bmM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gemxpYkJ1ZmZlclN5bmMobmV3IERlZmxhdGUodCksZSl9O3QuZ3ppcD1mdW5jdGlvbihlLHQsaSl7aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe2k9dDt0PXt9fXJldHVybiB6bGliQnVmZmVyKG5ldyBHemlwKHQpLGUsaSl9O3QuZ3ppcFN5bmM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gemxpYkJ1ZmZlclN5bmMobmV3IEd6aXAodCksZSl9O3QuZGVmbGF0ZVJhdz1mdW5jdGlvbihlLHQsaSl7aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe2k9dDt0PXt9fXJldHVybiB6bGliQnVmZmVyKG5ldyBEZWZsYXRlUmF3KHQpLGUsaSl9O3QuZGVmbGF0ZVJhd1N5bmM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gemxpYkJ1ZmZlclN5bmMobmV3IERlZmxhdGVSYXcodCksZSl9O3QudW56aXA9ZnVuY3Rpb24oZSx0LGkpe2lmKHR5cGVvZiB0PT09XCJmdW5jdGlvblwiKXtpPXQ7dD17fX1yZXR1cm4gemxpYkJ1ZmZlcihuZXcgVW56aXAodCksZSxpKX07dC51bnppcFN5bmM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gemxpYkJ1ZmZlclN5bmMobmV3IFVuemlwKHQpLGUpfTt0LmluZmxhdGU9ZnVuY3Rpb24oZSx0LGkpe2lmKHR5cGVvZiB0PT09XCJmdW5jdGlvblwiKXtpPXQ7dD17fX1yZXR1cm4gemxpYkJ1ZmZlcihuZXcgSW5mbGF0ZSh0KSxlLGkpfTt0LmluZmxhdGVTeW5jPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHpsaWJCdWZmZXJTeW5jKG5ldyBJbmZsYXRlKHQpLGUpfTt0Lmd1bnppcD1mdW5jdGlvbihlLHQsaSl7aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe2k9dDt0PXt9fXJldHVybiB6bGliQnVmZmVyKG5ldyBHdW56aXAodCksZSxpKX07dC5ndW56aXBTeW5jPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHpsaWJCdWZmZXJTeW5jKG5ldyBHdW56aXAodCksZSl9O3QuaW5mbGF0ZVJhdz1mdW5jdGlvbihlLHQsaSl7aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe2k9dDt0PXt9fXJldHVybiB6bGliQnVmZmVyKG5ldyBJbmZsYXRlUmF3KHQpLGUsaSl9O3QuaW5mbGF0ZVJhd1N5bmM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gemxpYkJ1ZmZlclN5bmMobmV3IEluZmxhdGVSYXcodCksZSl9O2Z1bmN0aW9uIHpsaWJCdWZmZXIoZSx0LGkpe3ZhciByPVtdO3ZhciBuPTA7ZS5vbihcImVycm9yXCIsb25FcnJvcik7ZS5vbihcImVuZFwiLG9uRW5kKTtlLmVuZCh0KTtmbG93KCk7ZnVuY3Rpb24gZmxvdygpe3ZhciB0O3doaWxlKG51bGwhPT0odD1lLnJlYWQoKSkpe3IucHVzaCh0KTtuKz10Lmxlbmd0aH1lLm9uY2UoXCJyZWFkYWJsZVwiLGZsb3cpfWZ1bmN0aW9uIG9uRXJyb3IodCl7ZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLG9uRW5kKTtlLnJlbW92ZUxpc3RlbmVyKFwicmVhZGFibGVcIixmbG93KTtpKHQpfWZ1bmN0aW9uIG9uRW5kKCl7dmFyIHQ7dmFyIHM9bnVsbDtpZihuPj1mKXtzPW5ldyBSYW5nZUVycm9yKG8pfWVsc2V7dD1hLmNvbmNhdChyLG4pfXI9W107ZS5jbG9zZSgpO2kocyx0KX19ZnVuY3Rpb24gemxpYkJ1ZmZlclN5bmMoZSx0KXtpZih0eXBlb2YgdD09PVwic3RyaW5nXCIpdD1hLmZyb20odCk7aWYoIWEuaXNCdWZmZXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vdCBhIHN0cmluZyBvciBidWZmZXJcIik7dmFyIGk9ZS5fZmluaXNoRmx1c2hGbGFnO3JldHVybiBlLl9wcm9jZXNzQ2h1bmsodCxpKX1mdW5jdGlvbiBEZWZsYXRlKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIERlZmxhdGUpKXJldHVybiBuZXcgRGVmbGF0ZShlKTtabGliLmNhbGwodGhpcyxlLG4uREVGTEFURSl9ZnVuY3Rpb24gSW5mbGF0ZShlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJbmZsYXRlKSlyZXR1cm4gbmV3IEluZmxhdGUoZSk7WmxpYi5jYWxsKHRoaXMsZSxuLklORkxBVEUpfWZ1bmN0aW9uIEd6aXAoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgR3ppcCkpcmV0dXJuIG5ldyBHemlwKGUpO1psaWIuY2FsbCh0aGlzLGUsbi5HWklQKX1mdW5jdGlvbiBHdW56aXAoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgR3VuemlwKSlyZXR1cm4gbmV3IEd1bnppcChlKTtabGliLmNhbGwodGhpcyxlLG4uR1VOWklQKX1mdW5jdGlvbiBEZWZsYXRlUmF3KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIERlZmxhdGVSYXcpKXJldHVybiBuZXcgRGVmbGF0ZVJhdyhlKTtabGliLmNhbGwodGhpcyxlLG4uREVGTEFURVJBVyl9ZnVuY3Rpb24gSW5mbGF0ZVJhdyhlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJbmZsYXRlUmF3KSlyZXR1cm4gbmV3IEluZmxhdGVSYXcoZSk7WmxpYi5jYWxsKHRoaXMsZSxuLklORkxBVEVSQVcpfWZ1bmN0aW9uIFVuemlwKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFVuemlwKSlyZXR1cm4gbmV3IFVuemlwKGUpO1psaWIuY2FsbCh0aGlzLGUsbi5VTlpJUCl9ZnVuY3Rpb24gaXNWYWxpZEZsdXNoRmxhZyhlKXtyZXR1cm4gZT09PW4uWl9OT19GTFVTSHx8ZT09PW4uWl9QQVJUSUFMX0ZMVVNIfHxlPT09bi5aX1NZTkNfRkxVU0h8fGU9PT1uLlpfRlVMTF9GTFVTSHx8ZT09PW4uWl9GSU5JU0h8fGU9PT1uLlpfQkxPQ0t9ZnVuY3Rpb24gWmxpYihlLGkpe3ZhciBzPXRoaXM7dGhpcy5fb3B0cz1lPWV8fHt9O3RoaXMuX2NodW5rU2l6ZT1lLmNodW5rU2l6ZXx8dC5aX0RFRkFVTFRfQ0hVTks7ci5jYWxsKHRoaXMsZSk7aWYoZS5mbHVzaCYmIWlzVmFsaWRGbHVzaEZsYWcoZS5mbHVzaCkpe3Rocm93IG5ldyBFcnJvcihcIkludmFsaWQgZmx1c2ggZmxhZzogXCIrZS5mbHVzaCl9aWYoZS5maW5pc2hGbHVzaCYmIWlzVmFsaWRGbHVzaEZsYWcoZS5maW5pc2hGbHVzaCkpe3Rocm93IG5ldyBFcnJvcihcIkludmFsaWQgZmx1c2ggZmxhZzogXCIrZS5maW5pc2hGbHVzaCl9dGhpcy5fZmx1c2hGbGFnPWUuZmx1c2h8fG4uWl9OT19GTFVTSDt0aGlzLl9maW5pc2hGbHVzaEZsYWc9dHlwZW9mIGUuZmluaXNoRmx1c2ghPT1cInVuZGVmaW5lZFwiP2UuZmluaXNoRmx1c2g6bi5aX0ZJTklTSDtpZihlLmNodW5rU2l6ZSl7aWYoZS5jaHVua1NpemU8dC5aX01JTl9DSFVOS3x8ZS5jaHVua1NpemU+dC5aX01BWF9DSFVOSyl7dGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaHVuayBzaXplOiBcIitlLmNodW5rU2l6ZSl9fWlmKGUud2luZG93Qml0cyl7aWYoZS53aW5kb3dCaXRzPHQuWl9NSU5fV0lORE9XQklUU3x8ZS53aW5kb3dCaXRzPnQuWl9NQVhfV0lORE9XQklUUyl7dGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB3aW5kb3dCaXRzOiBcIitlLndpbmRvd0JpdHMpfX1pZihlLmxldmVsKXtpZihlLmxldmVsPHQuWl9NSU5fTEVWRUx8fGUubGV2ZWw+dC5aX01BWF9MRVZFTCl7dGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjb21wcmVzc2lvbiBsZXZlbDogXCIrZS5sZXZlbCl9fWlmKGUubWVtTGV2ZWwpe2lmKGUubWVtTGV2ZWw8dC5aX01JTl9NRU1MRVZFTHx8ZS5tZW1MZXZlbD50LlpfTUFYX01FTUxFVkVMKXt0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIG1lbUxldmVsOiBcIitlLm1lbUxldmVsKX19aWYoZS5zdHJhdGVneSl7aWYoZS5zdHJhdGVneSE9dC5aX0ZJTFRFUkVEJiZlLnN0cmF0ZWd5IT10LlpfSFVGRk1BTl9PTkxZJiZlLnN0cmF0ZWd5IT10LlpfUkxFJiZlLnN0cmF0ZWd5IT10LlpfRklYRUQmJmUuc3RyYXRlZ3khPXQuWl9ERUZBVUxUX1NUUkFURUdZKXt0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHN0cmF0ZWd5OiBcIitlLnN0cmF0ZWd5KX19aWYoZS5kaWN0aW9uYXJ5KXtpZighYS5pc0J1ZmZlcihlLmRpY3Rpb25hcnkpKXt0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGRpY3Rpb25hcnk6IGl0IHNob3VsZCBiZSBhIEJ1ZmZlciBpbnN0YW5jZVwiKX19dGhpcy5faGFuZGxlPW5ldyBuLlpsaWIoaSk7dmFyIGw9dGhpczt0aGlzLl9oYWRFcnJvcj1mYWxzZTt0aGlzLl9oYW5kbGUub25lcnJvcj1mdW5jdGlvbihlLGkpe19jbG9zZShsKTtsLl9oYWRFcnJvcj10cnVlO3ZhciBhPW5ldyBFcnJvcihlKTthLmVycm5vPWk7YS5jb2RlPXQuY29kZXNbaV07bC5lbWl0KFwiZXJyb3JcIixhKX07dmFyIGY9dC5aX0RFRkFVTFRfQ09NUFJFU1NJT047aWYodHlwZW9mIGUubGV2ZWw9PT1cIm51bWJlclwiKWY9ZS5sZXZlbDt2YXIgbz10LlpfREVGQVVMVF9TVFJBVEVHWTtpZih0eXBlb2YgZS5zdHJhdGVneT09PVwibnVtYmVyXCIpbz1lLnN0cmF0ZWd5O3RoaXMuX2hhbmRsZS5pbml0KGUud2luZG93Qml0c3x8dC5aX0RFRkFVTFRfV0lORE9XQklUUyxmLGUubWVtTGV2ZWx8fHQuWl9ERUZBVUxUX01FTUxFVkVMLG8sZS5kaWN0aW9uYXJ5KTt0aGlzLl9idWZmZXI9YS5hbGxvY1Vuc2FmZSh0aGlzLl9jaHVua1NpemUpO3RoaXMuX29mZnNldD0wO3RoaXMuX2xldmVsPWY7dGhpcy5fc3RyYXRlZ3k9bzt0aGlzLm9uY2UoXCJlbmRcIix0aGlzLmNsb3NlKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcIl9jbG9zZWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIXMuX2hhbmRsZX0sY29uZmlndXJhYmxlOnRydWUsZW51bWVyYWJsZTp0cnVlfSl9cy5pbmhlcml0cyhabGliLHIpO1psaWIucHJvdG90eXBlLnBhcmFtcz1mdW5jdGlvbihlLGksYSl7aWYoZTx0LlpfTUlOX0xFVkVMfHxlPnQuWl9NQVhfTEVWRUwpe3Rocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCBjb21wcmVzc2lvbiBsZXZlbDogXCIrZSl9aWYoaSE9dC5aX0ZJTFRFUkVEJiZpIT10LlpfSFVGRk1BTl9PTkxZJiZpIT10LlpfUkxFJiZpIT10LlpfRklYRUQmJmkhPXQuWl9ERUZBVUxUX1NUUkFURUdZKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBzdHJhdGVneTogXCIraSl9aWYodGhpcy5fbGV2ZWwhPT1lfHx0aGlzLl9zdHJhdGVneSE9PWkpe3ZhciByPXRoaXM7dGhpcy5mbHVzaChuLlpfU1lOQ19GTFVTSCwoZnVuY3Rpb24oKXtsKHIuX2hhbmRsZSxcInpsaWIgYmluZGluZyBjbG9zZWRcIik7ci5faGFuZGxlLnBhcmFtcyhlLGkpO2lmKCFyLl9oYWRFcnJvcil7ci5fbGV2ZWw9ZTtyLl9zdHJhdGVneT1pO2lmKGEpYSgpfX0pKX1lbHNle3Byb2Nlc3MubmV4dFRpY2soYSl9fTtabGliLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2wodGhpcy5faGFuZGxlLFwiemxpYiBiaW5kaW5nIGNsb3NlZFwiKTtyZXR1cm4gdGhpcy5faGFuZGxlLnJlc2V0KCl9O1psaWIucHJvdG90eXBlLl9mbHVzaD1mdW5jdGlvbihlKXt0aGlzLl90cmFuc2Zvcm0oYS5hbGxvYygwKSxcIlwiLGUpfTtabGliLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dmFyIHI9dGhpcy5fd3JpdGFibGVTdGF0ZTtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cInx8ZT09PXVuZGVmaW5lZCYmIXQpe3Q9ZTtlPW4uWl9GVUxMX0ZMVVNIfWlmKHIuZW5kZWQpe2lmKHQpcHJvY2Vzcy5uZXh0VGljayh0KX1lbHNlIGlmKHIuZW5kaW5nKXtpZih0KXRoaXMub25jZShcImVuZFwiLHQpfWVsc2UgaWYoci5uZWVkRHJhaW4pe2lmKHQpe3RoaXMub25jZShcImRyYWluXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuZmx1c2goZSx0KX0pKX19ZWxzZXt0aGlzLl9mbHVzaEZsYWc9ZTt0aGlzLndyaXRlKGEuYWxsb2MoMCksXCJcIix0KX19O1psaWIucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGUpe19jbG9zZSh0aGlzLGUpO3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsdGhpcyl9O2Z1bmN0aW9uIF9jbG9zZShlLHQpe2lmKHQpcHJvY2Vzcy5uZXh0VGljayh0KTtpZighZS5faGFuZGxlKXJldHVybjtlLl9oYW5kbGUuY2xvc2UoKTtlLl9oYW5kbGU9bnVsbH1mdW5jdGlvbiBlbWl0Q2xvc2VOVChlKXtlLmVtaXQoXCJjbG9zZVwiKX1abGliLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKGUsdCxpKXt2YXIgcjt2YXIgcz10aGlzLl93cml0YWJsZVN0YXRlO3ZhciBsPXMuZW5kaW5nfHxzLmVuZGVkO3ZhciBmPWwmJighZXx8cy5sZW5ndGg9PT1lLmxlbmd0aCk7aWYoZSE9PW51bGwmJiFhLmlzQnVmZmVyKGUpKXJldHVybiBpKG5ldyBFcnJvcihcImludmFsaWQgaW5wdXRcIikpO2lmKCF0aGlzLl9oYW5kbGUpcmV0dXJuIGkobmV3IEVycm9yKFwiemxpYiBiaW5kaW5nIGNsb3NlZFwiKSk7aWYoZilyPXRoaXMuX2ZpbmlzaEZsdXNoRmxhZztlbHNle3I9dGhpcy5fZmx1c2hGbGFnO2lmKGUubGVuZ3RoPj1zLmxlbmd0aCl7dGhpcy5fZmx1c2hGbGFnPXRoaXMuX29wdHMuZmx1c2h8fG4uWl9OT19GTFVTSH19dGhpcy5fcHJvY2Vzc0NodW5rKGUscixpKX07WmxpYi5wcm90b3R5cGUuX3Byb2Nlc3NDaHVuaz1mdW5jdGlvbihlLHQsaSl7dmFyIHI9ZSYmZS5sZW5ndGg7dmFyIG49dGhpcy5fY2h1bmtTaXplLXRoaXMuX29mZnNldDt2YXIgcz0wO3ZhciBoPXRoaXM7dmFyIF89dHlwZW9mIGk9PT1cImZ1bmN0aW9uXCI7aWYoIV8pe3ZhciBkPVtdO3ZhciB1PTA7dmFyIGM7dGhpcy5vbihcImVycm9yXCIsKGZ1bmN0aW9uKGUpe2M9ZX0pKTtsKHRoaXMuX2hhbmRsZSxcInpsaWIgYmluZGluZyBjbG9zZWRcIik7ZG97dmFyIHY9dGhpcy5faGFuZGxlLndyaXRlU3luYyh0LGUscyxyLHRoaXMuX2J1ZmZlcix0aGlzLl9vZmZzZXQsbil9d2hpbGUoIXRoaXMuX2hhZEVycm9yJiZjYWxsYmFjayh2WzBdLHZbMV0pKTtpZih0aGlzLl9oYWRFcnJvcil7dGhyb3cgY31pZih1Pj1mKXtfY2xvc2UodGhpcyk7dGhyb3cgbmV3IFJhbmdlRXJyb3Iobyl9dmFyIGI9YS5jb25jYXQoZCx1KTtfY2xvc2UodGhpcyk7cmV0dXJuIGJ9bCh0aGlzLl9oYW5kbGUsXCJ6bGliIGJpbmRpbmcgY2xvc2VkXCIpO3ZhciB3PXRoaXMuX2hhbmRsZS53cml0ZSh0LGUscyxyLHRoaXMuX2J1ZmZlcix0aGlzLl9vZmZzZXQsbik7dy5idWZmZXI9ZTt3LmNhbGxiYWNrPWNhbGxiYWNrO2Z1bmN0aW9uIGNhbGxiYWNrKGYsbyl7aWYodGhpcyl7dGhpcy5idWZmZXI9bnVsbDt0aGlzLmNhbGxiYWNrPW51bGx9aWYoaC5faGFkRXJyb3IpcmV0dXJuO3ZhciBjPW4tbztsKGM+PTAsXCJoYXZlIHNob3VsZCBub3QgZ28gZG93blwiKTtpZihjPjApe3ZhciB2PWguX2J1ZmZlci5zbGljZShoLl9vZmZzZXQsaC5fb2Zmc2V0K2MpO2guX29mZnNldCs9YztpZihfKXtoLnB1c2godil9ZWxzZXtkLnB1c2godik7dSs9di5sZW5ndGh9fWlmKG89PT0wfHxoLl9vZmZzZXQ+PWguX2NodW5rU2l6ZSl7bj1oLl9jaHVua1NpemU7aC5fb2Zmc2V0PTA7aC5fYnVmZmVyPWEuYWxsb2NVbnNhZmUoaC5fY2h1bmtTaXplKX1pZihvPT09MCl7cys9ci1mO3I9ZjtpZighXylyZXR1cm4gdHJ1ZTt2YXIgYj1oLl9oYW5kbGUud3JpdGUodCxlLHMscixoLl9idWZmZXIsaC5fb2Zmc2V0LGguX2NodW5rU2l6ZSk7Yi5jYWxsYmFjaz1jYWxsYmFjaztiLmJ1ZmZlcj1lO3JldHVybn1pZighXylyZXR1cm4gZmFsc2U7aSgpfX07cy5pbmhlcml0cyhEZWZsYXRlLFpsaWIpO3MuaW5oZXJpdHMoSW5mbGF0ZSxabGliKTtzLmluaGVyaXRzKEd6aXAsWmxpYik7cy5pbmhlcml0cyhHdW56aXAsWmxpYik7cy5pbmhlcml0cyhEZWZsYXRlUmF3LFpsaWIpO3MuaW5oZXJpdHMoSW5mbGF0ZVJhdyxabGliKTtzLmluaGVyaXRzKFVuemlwLFpsaWIpfSwzODA6ZnVuY3Rpb24oZSx0KXt2YXIgaT10eXBlb2YgVWludDhBcnJheSE9PVwidW5kZWZpbmVkXCImJnR5cGVvZiBVaW50MTZBcnJheSE9PVwidW5kZWZpbmVkXCImJnR5cGVvZiBJbnQzMkFycmF5IT09XCJ1bmRlZmluZWRcIjtmdW5jdGlvbiBfaGFzKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfXQuYXNzaWduPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTt3aGlsZSh0Lmxlbmd0aCl7dmFyIGk9dC5zaGlmdCgpO2lmKCFpKXtjb250aW51ZX1pZih0eXBlb2YgaSE9PVwib2JqZWN0XCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoaStcIm11c3QgYmUgbm9uLW9iamVjdFwiKX1mb3IodmFyIGEgaW4gaSl7aWYoX2hhcyhpLGEpKXtlW2FdPWlbYV19fX1yZXR1cm4gZX07dC5zaHJpbmtCdWY9ZnVuY3Rpb24oZSx0KXtpZihlLmxlbmd0aD09PXQpe3JldHVybiBlfWlmKGUuc3ViYXJyYXkpe3JldHVybiBlLnN1YmFycmF5KDAsdCl9ZS5sZW5ndGg9dDtyZXR1cm4gZX07dmFyIGE9e2FycmF5U2V0OmZ1bmN0aW9uKGUsdCxpLGEscil7aWYodC5zdWJhcnJheSYmZS5zdWJhcnJheSl7ZS5zZXQodC5zdWJhcnJheShpLGkrYSkscik7cmV0dXJufWZvcih2YXIgbj0wO248YTtuKyspe2VbcituXT10W2krbl19fSxmbGF0dGVuQ2h1bmtzOmZ1bmN0aW9uKGUpe3ZhciB0LGksYSxyLG4sczthPTA7Zm9yKHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2ErPWVbdF0ubGVuZ3RofXM9bmV3IFVpbnQ4QXJyYXkoYSk7cj0wO2Zvcih0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtuPWVbdF07cy5zZXQobixyKTtyKz1uLmxlbmd0aH1yZXR1cm4gc319O3ZhciByPXthcnJheVNldDpmdW5jdGlvbihlLHQsaSxhLHIpe2Zvcih2YXIgbj0wO248YTtuKyspe2VbcituXT10W2krbl19fSxmbGF0dGVuQ2h1bmtzOmZ1bmN0aW9uKGUpe3JldHVybltdLmNvbmNhdC5hcHBseShbXSxlKX19O3Quc2V0VHlwZWQ9ZnVuY3Rpb24oZSl7aWYoZSl7dC5CdWY4PVVpbnQ4QXJyYXk7dC5CdWYxNj1VaW50MTZBcnJheTt0LkJ1ZjMyPUludDMyQXJyYXk7dC5hc3NpZ24odCxhKX1lbHNle3QuQnVmOD1BcnJheTt0LkJ1ZjE2PUFycmF5O3QuQnVmMzI9QXJyYXk7dC5hc3NpZ24odCxyKX19O3Quc2V0VHlwZWQoaSl9LDQ5NjpmdW5jdGlvbihlKXtmdW5jdGlvbiBhZGxlcjMyKGUsdCxpLGEpe3ZhciByPWUmNjU1MzV8MCxuPWU+Pj4xNiY2NTUzNXwwLHM9MDt3aGlsZShpIT09MCl7cz1pPjJlMz8yZTM6aTtpLT1zO2Rve3I9cit0W2ErK118MDtuPW4rcnwwfXdoaWxlKC0tcyk7ciU9NjU1MjE7biU9NjU1MjF9cmV0dXJuIHJ8bjw8MTZ8MH1lLmV4cG9ydHM9YWRsZXIzMn0sMzIwOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Wl9OT19GTFVTSDowLFpfUEFSVElBTF9GTFVTSDoxLFpfU1lOQ19GTFVTSDoyLFpfRlVMTF9GTFVTSDozLFpfRklOSVNIOjQsWl9CTE9DSzo1LFpfVFJFRVM6NixaX09LOjAsWl9TVFJFQU1fRU5EOjEsWl9ORUVEX0RJQ1Q6MixaX0VSUk5POi0xLFpfU1RSRUFNX0VSUk9SOi0yLFpfREFUQV9FUlJPUjotMyxaX0JVRl9FUlJPUjotNSxaX05PX0NPTVBSRVNTSU9OOjAsWl9CRVNUX1NQRUVEOjEsWl9CRVNUX0NPTVBSRVNTSU9OOjksWl9ERUZBVUxUX0NPTVBSRVNTSU9OOi0xLFpfRklMVEVSRUQ6MSxaX0hVRkZNQU5fT05MWToyLFpfUkxFOjMsWl9GSVhFRDo0LFpfREVGQVVMVF9TVFJBVEVHWTowLFpfQklOQVJZOjAsWl9URVhUOjEsWl9VTktOT1dOOjIsWl9ERUZMQVRFRDo4fX0sMzA3OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG1ha2VUYWJsZSgpe3ZhciBlLHQ9W107Zm9yKHZhciBpPTA7aTwyNTY7aSsrKXtlPWk7Zm9yKHZhciBhPTA7YTw4O2ErKyl7ZT1lJjE/Mzk4ODI5MjM4NF5lPj4+MTplPj4+MX10W2ldPWV9cmV0dXJuIHR9dmFyIHQ9bWFrZVRhYmxlKCk7ZnVuY3Rpb24gY3JjMzIoZSxpLGEscil7dmFyIG49dCxzPXIrYTtlXj0tMTtmb3IodmFyIGw9cjtsPHM7bCsrKXtlPWU+Pj44Xm5bKGVeaVtsXSkmMjU1XX1yZXR1cm4gZV4tMX1lLmV4cG9ydHM9Y3JjMzJ9LDQ1MDpmdW5jdGlvbihlLHQsaSl7dmFyIGE9aSgzODApO3ZhciByPWkoODQyKTt2YXIgbj1pKDQ5Nik7dmFyIHM9aSgzMDcpO3ZhciBsPWkoMzEpO3ZhciBmPTA7dmFyIG89MTt2YXIgaD0zO3ZhciBfPTQ7dmFyIGQ9NTt2YXIgdT0wO3ZhciBjPTE7dmFyIHY9LTI7dmFyIGI9LTM7dmFyIHc9LTU7dmFyIHA9LTE7dmFyIGc9MTt2YXIgbT0yO3ZhciBrPTM7dmFyIHk9NDt2YXIgRT0wO3ZhciB6PTI7dmFyIFo9ODt2YXIgeD05O3ZhciBJPTE1O3ZhciBSPTg7dmFyIFM9Mjk7dmFyIEw9MjU2O3ZhciBBPUwrMStTO3ZhciBUPTMwO3ZhciBGPTE5O3ZhciBOPTIqQSsxO3ZhciBEPTE1O3ZhciBCPTM7dmFyIFU9MjU4O3ZhciBPPVUrQisxO3ZhciBNPTMyO3ZhciBDPTQyO3ZhciBHPTY5O3ZhciBIPTczO3ZhciBQPTkxO3ZhciBLPTEwMzt2YXIgVz0xMTM7dmFyIFY9NjY2O3ZhciBxPTE7dmFyIFg9Mjt2YXIgWT0zO3ZhciBqPTQ7dmFyIEo9MztmdW5jdGlvbiBlcnIoZSx0KXtlLm1zZz1sW3RdO3JldHVybiB0fWZ1bmN0aW9uIHJhbmsoZSl7cmV0dXJuKGU8PDEpLShlPjQ/OTowKX1mdW5jdGlvbiB6ZXJvKGUpe3ZhciB0PWUubGVuZ3RoO3doaWxlKC0tdD49MCl7ZVt0XT0wfX1mdW5jdGlvbiBmbHVzaF9wZW5kaW5nKGUpe3ZhciB0PWUuc3RhdGU7dmFyIGk9dC5wZW5kaW5nO2lmKGk+ZS5hdmFpbF9vdXQpe2k9ZS5hdmFpbF9vdXR9aWYoaT09PTApe3JldHVybn1hLmFycmF5U2V0KGUub3V0cHV0LHQucGVuZGluZ19idWYsdC5wZW5kaW5nX291dCxpLGUubmV4dF9vdXQpO2UubmV4dF9vdXQrPWk7dC5wZW5kaW5nX291dCs9aTtlLnRvdGFsX291dCs9aTtlLmF2YWlsX291dC09aTt0LnBlbmRpbmctPWk7aWYodC5wZW5kaW5nPT09MCl7dC5wZW5kaW5nX291dD0wfX1mdW5jdGlvbiBmbHVzaF9ibG9ja19vbmx5KGUsdCl7ci5fdHJfZmx1c2hfYmxvY2soZSxlLmJsb2NrX3N0YXJ0Pj0wP2UuYmxvY2tfc3RhcnQ6LTEsZS5zdHJzdGFydC1lLmJsb2NrX3N0YXJ0LHQpO2UuYmxvY2tfc3RhcnQ9ZS5zdHJzdGFydDtmbHVzaF9wZW5kaW5nKGUuc3RybSl9ZnVuY3Rpb24gcHV0X2J5dGUoZSx0KXtlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXT10fWZ1bmN0aW9uIHB1dFNob3J0TVNCKGUsdCl7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109dD4+PjgmMjU1O2UucGVuZGluZ19idWZbZS5wZW5kaW5nKytdPXQmMjU1fWZ1bmN0aW9uIHJlYWRfYnVmKGUsdCxpLHIpe3ZhciBsPWUuYXZhaWxfaW47aWYobD5yKXtsPXJ9aWYobD09PTApe3JldHVybiAwfWUuYXZhaWxfaW4tPWw7YS5hcnJheVNldCh0LGUuaW5wdXQsZS5uZXh0X2luLGwsaSk7aWYoZS5zdGF0ZS53cmFwPT09MSl7ZS5hZGxlcj1uKGUuYWRsZXIsdCxsLGkpfWVsc2UgaWYoZS5zdGF0ZS53cmFwPT09Mil7ZS5hZGxlcj1zKGUuYWRsZXIsdCxsLGkpfWUubmV4dF9pbis9bDtlLnRvdGFsX2luKz1sO3JldHVybiBsfWZ1bmN0aW9uIGxvbmdlc3RfbWF0Y2goZSx0KXt2YXIgaT1lLm1heF9jaGFpbl9sZW5ndGg7dmFyIGE9ZS5zdHJzdGFydDt2YXIgcjt2YXIgbjt2YXIgcz1lLnByZXZfbGVuZ3RoO3ZhciBsPWUubmljZV9tYXRjaDt2YXIgZj1lLnN0cnN0YXJ0PmUud19zaXplLU8/ZS5zdHJzdGFydC0oZS53X3NpemUtTyk6MDt2YXIgbz1lLndpbmRvdzt2YXIgaD1lLndfbWFzazt2YXIgXz1lLnByZXY7dmFyIGQ9ZS5zdHJzdGFydCtVO3ZhciB1PW9bYStzLTFdO3ZhciBjPW9bYStzXTtpZihlLnByZXZfbGVuZ3RoPj1lLmdvb2RfbWF0Y2gpe2k+Pj0yfWlmKGw+ZS5sb29rYWhlYWQpe2w9ZS5sb29rYWhlYWR9ZG97cj10O2lmKG9bcitzXSE9PWN8fG9bcitzLTFdIT09dXx8b1tyXSE9PW9bYV18fG9bKytyXSE9PW9bYSsxXSl7Y29udGludWV9YSs9MjtyKys7ZG97fXdoaWxlKG9bKythXT09PW9bKytyXSYmb1srK2FdPT09b1srK3JdJiZvWysrYV09PT1vWysrcl0mJm9bKythXT09PW9bKytyXSYmb1srK2FdPT09b1srK3JdJiZvWysrYV09PT1vWysrcl0mJm9bKythXT09PW9bKytyXSYmb1srK2FdPT09b1srK3JdJiZhPGQpO249VS0oZC1hKTthPWQtVTtpZihuPnMpe2UubWF0Y2hfc3RhcnQ9dDtzPW47aWYobj49bCl7YnJlYWt9dT1vW2Ercy0xXTtjPW9bYStzXX19d2hpbGUoKHQ9X1t0JmhdKT5mJiYtLWkhPT0wKTtpZihzPD1lLmxvb2thaGVhZCl7cmV0dXJuIHN9cmV0dXJuIGUubG9va2FoZWFkfWZ1bmN0aW9uIGZpbGxfd2luZG93KGUpe3ZhciB0PWUud19zaXplO3ZhciBpLHIsbixzLGw7ZG97cz1lLndpbmRvd19zaXplLWUubG9va2FoZWFkLWUuc3Ryc3RhcnQ7aWYoZS5zdHJzdGFydD49dCsodC1PKSl7YS5hcnJheVNldChlLndpbmRvdyxlLndpbmRvdyx0LHQsMCk7ZS5tYXRjaF9zdGFydC09dDtlLnN0cnN0YXJ0LT10O2UuYmxvY2tfc3RhcnQtPXQ7cj1lLmhhc2hfc2l6ZTtpPXI7ZG97bj1lLmhlYWRbLS1pXTtlLmhlYWRbaV09bj49dD9uLXQ6MH13aGlsZSgtLXIpO3I9dDtpPXI7ZG97bj1lLnByZXZbLS1pXTtlLnByZXZbaV09bj49dD9uLXQ6MH13aGlsZSgtLXIpO3MrPXR9aWYoZS5zdHJtLmF2YWlsX2luPT09MCl7YnJlYWt9cj1yZWFkX2J1ZihlLnN0cm0sZS53aW5kb3csZS5zdHJzdGFydCtlLmxvb2thaGVhZCxzKTtlLmxvb2thaGVhZCs9cjtpZihlLmxvb2thaGVhZCtlLmluc2VydD49Qil7bD1lLnN0cnN0YXJ0LWUuaW5zZXJ0O2UuaW5zX2g9ZS53aW5kb3dbbF07ZS5pbnNfaD0oZS5pbnNfaDw8ZS5oYXNoX3NoaWZ0XmUud2luZG93W2wrMV0pJmUuaGFzaF9tYXNrO3doaWxlKGUuaW5zZXJ0KXtlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbbCtCLTFdKSZlLmhhc2hfbWFzaztlLnByZXZbbCZlLndfbWFza109ZS5oZWFkW2UuaW5zX2hdO2UuaGVhZFtlLmluc19oXT1sO2wrKztlLmluc2VydC0tO2lmKGUubG9va2FoZWFkK2UuaW5zZXJ0PEIpe2JyZWFrfX19fXdoaWxlKGUubG9va2FoZWFkPE8mJmUuc3RybS5hdmFpbF9pbiE9PTApfWZ1bmN0aW9uIGRlZmxhdGVfc3RvcmVkKGUsdCl7dmFyIGk9NjU1MzU7aWYoaT5lLnBlbmRpbmdfYnVmX3NpemUtNSl7aT1lLnBlbmRpbmdfYnVmX3NpemUtNX1mb3IoOzspe2lmKGUubG9va2FoZWFkPD0xKXtmaWxsX3dpbmRvdyhlKTtpZihlLmxvb2thaGVhZD09PTAmJnQ9PT1mKXtyZXR1cm4gcX1pZihlLmxvb2thaGVhZD09PTApe2JyZWFrfX1lLnN0cnN0YXJ0Kz1lLmxvb2thaGVhZDtlLmxvb2thaGVhZD0wO3ZhciBhPWUuYmxvY2tfc3RhcnQraTtpZihlLnN0cnN0YXJ0PT09MHx8ZS5zdHJzdGFydD49YSl7ZS5sb29rYWhlYWQ9ZS5zdHJzdGFydC1hO2Uuc3Ryc3RhcnQ9YTtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19aWYoZS5zdHJzdGFydC1lLmJsb2NrX3N0YXJ0Pj1lLndfc2l6ZS1PKXtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19fWUuaW5zZXJ0PTA7aWYodD09PV8pe2ZsdXNoX2Jsb2NrX29ubHkoZSx0cnVlKTtpZihlLnN0cm0uYXZhaWxfb3V0PT09MCl7cmV0dXJuIFl9cmV0dXJuIGp9aWYoZS5zdHJzdGFydD5lLmJsb2NrX3N0YXJ0KXtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19cmV0dXJuIHF9ZnVuY3Rpb24gZGVmbGF0ZV9mYXN0KGUsdCl7dmFyIGk7dmFyIGE7Zm9yKDs7KXtpZihlLmxvb2thaGVhZDxPKXtmaWxsX3dpbmRvdyhlKTtpZihlLmxvb2thaGVhZDxPJiZ0PT09Zil7cmV0dXJuIHF9aWYoZS5sb29rYWhlYWQ9PT0wKXticmVha319aT0wO2lmKGUubG9va2FoZWFkPj1CKXtlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbZS5zdHJzdGFydCtCLTFdKSZlLmhhc2hfbWFzaztpPWUucHJldltlLnN0cnN0YXJ0JmUud19tYXNrXT1lLmhlYWRbZS5pbnNfaF07ZS5oZWFkW2UuaW5zX2hdPWUuc3Ryc3RhcnR9aWYoaSE9PTAmJmUuc3Ryc3RhcnQtaTw9ZS53X3NpemUtTyl7ZS5tYXRjaF9sZW5ndGg9bG9uZ2VzdF9tYXRjaChlLGkpfWlmKGUubWF0Y2hfbGVuZ3RoPj1CKXthPXIuX3RyX3RhbGx5KGUsZS5zdHJzdGFydC1lLm1hdGNoX3N0YXJ0LGUubWF0Y2hfbGVuZ3RoLUIpO2UubG9va2FoZWFkLT1lLm1hdGNoX2xlbmd0aDtpZihlLm1hdGNoX2xlbmd0aDw9ZS5tYXhfbGF6eV9tYXRjaCYmZS5sb29rYWhlYWQ+PUIpe2UubWF0Y2hfbGVuZ3RoLS07ZG97ZS5zdHJzdGFydCsrO2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0K0ItMV0pJmUuaGFzaF9tYXNrO2k9ZS5wcmV2W2Uuc3Ryc3RhcnQmZS53X21hc2tdPWUuaGVhZFtlLmluc19oXTtlLmhlYWRbZS5pbnNfaF09ZS5zdHJzdGFydH13aGlsZSgtLWUubWF0Y2hfbGVuZ3RoIT09MCk7ZS5zdHJzdGFydCsrfWVsc2V7ZS5zdHJzdGFydCs9ZS5tYXRjaF9sZW5ndGg7ZS5tYXRjaF9sZW5ndGg9MDtlLmluc19oPWUud2luZG93W2Uuc3Ryc3RhcnRdO2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0KzFdKSZlLmhhc2hfbWFza319ZWxzZXthPXIuX3RyX3RhbGx5KGUsMCxlLndpbmRvd1tlLnN0cnN0YXJ0XSk7ZS5sb29rYWhlYWQtLTtlLnN0cnN0YXJ0Kyt9aWYoYSl7Zmx1c2hfYmxvY2tfb25seShlLGZhbHNlKTtpZihlLnN0cm0uYXZhaWxfb3V0PT09MCl7cmV0dXJuIHF9fX1lLmluc2VydD1lLnN0cnN0YXJ0PEItMT9lLnN0cnN0YXJ0OkItMTtpZih0PT09Xyl7Zmx1c2hfYmxvY2tfb25seShlLHRydWUpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gWX1yZXR1cm4gan1pZihlLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19cmV0dXJuIFh9ZnVuY3Rpb24gZGVmbGF0ZV9zbG93KGUsdCl7dmFyIGk7dmFyIGE7dmFyIG47Zm9yKDs7KXtpZihlLmxvb2thaGVhZDxPKXtmaWxsX3dpbmRvdyhlKTtpZihlLmxvb2thaGVhZDxPJiZ0PT09Zil7cmV0dXJuIHF9aWYoZS5sb29rYWhlYWQ9PT0wKXticmVha319aT0wO2lmKGUubG9va2FoZWFkPj1CKXtlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbZS5zdHJzdGFydCtCLTFdKSZlLmhhc2hfbWFzaztpPWUucHJldltlLnN0cnN0YXJ0JmUud19tYXNrXT1lLmhlYWRbZS5pbnNfaF07ZS5oZWFkW2UuaW5zX2hdPWUuc3Ryc3RhcnR9ZS5wcmV2X2xlbmd0aD1lLm1hdGNoX2xlbmd0aDtlLnByZXZfbWF0Y2g9ZS5tYXRjaF9zdGFydDtlLm1hdGNoX2xlbmd0aD1CLTE7aWYoaSE9PTAmJmUucHJldl9sZW5ndGg8ZS5tYXhfbGF6eV9tYXRjaCYmZS5zdHJzdGFydC1pPD1lLndfc2l6ZS1PKXtlLm1hdGNoX2xlbmd0aD1sb25nZXN0X21hdGNoKGUsaSk7aWYoZS5tYXRjaF9sZW5ndGg8PTUmJihlLnN0cmF0ZWd5PT09Z3x8ZS5tYXRjaF9sZW5ndGg9PT1CJiZlLnN0cnN0YXJ0LWUubWF0Y2hfc3RhcnQ+NDA5Nikpe2UubWF0Y2hfbGVuZ3RoPUItMX19aWYoZS5wcmV2X2xlbmd0aD49QiYmZS5tYXRjaF9sZW5ndGg8PWUucHJldl9sZW5ndGgpe249ZS5zdHJzdGFydCtlLmxvb2thaGVhZC1CO2E9ci5fdHJfdGFsbHkoZSxlLnN0cnN0YXJ0LTEtZS5wcmV2X21hdGNoLGUucHJldl9sZW5ndGgtQik7ZS5sb29rYWhlYWQtPWUucHJldl9sZW5ndGgtMTtlLnByZXZfbGVuZ3RoLT0yO2Rve2lmKCsrZS5zdHJzdGFydDw9bil7ZS5pbnNfaD0oZS5pbnNfaDw8ZS5oYXNoX3NoaWZ0XmUud2luZG93W2Uuc3Ryc3RhcnQrQi0xXSkmZS5oYXNoX21hc2s7aT1lLnByZXZbZS5zdHJzdGFydCZlLndfbWFza109ZS5oZWFkW2UuaW5zX2hdO2UuaGVhZFtlLmluc19oXT1lLnN0cnN0YXJ0fX13aGlsZSgtLWUucHJldl9sZW5ndGghPT0wKTtlLm1hdGNoX2F2YWlsYWJsZT0wO2UubWF0Y2hfbGVuZ3RoPUItMTtlLnN0cnN0YXJ0Kys7aWYoYSl7Zmx1c2hfYmxvY2tfb25seShlLGZhbHNlKTtpZihlLnN0cm0uYXZhaWxfb3V0PT09MCl7cmV0dXJuIHF9fX1lbHNlIGlmKGUubWF0Y2hfYXZhaWxhYmxlKXthPXIuX3RyX3RhbGx5KGUsMCxlLndpbmRvd1tlLnN0cnN0YXJ0LTFdKTtpZihhKXtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpfWUuc3Ryc3RhcnQrKztlLmxvb2thaGVhZC0tO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19ZWxzZXtlLm1hdGNoX2F2YWlsYWJsZT0xO2Uuc3Ryc3RhcnQrKztlLmxvb2thaGVhZC0tfX1pZihlLm1hdGNoX2F2YWlsYWJsZSl7YT1yLl90cl90YWxseShlLDAsZS53aW5kb3dbZS5zdHJzdGFydC0xXSk7ZS5tYXRjaF9hdmFpbGFibGU9MH1lLmluc2VydD1lLnN0cnN0YXJ0PEItMT9lLnN0cnN0YXJ0OkItMTtpZih0PT09Xyl7Zmx1c2hfYmxvY2tfb25seShlLHRydWUpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gWX1yZXR1cm4gan1pZihlLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19cmV0dXJuIFh9ZnVuY3Rpb24gZGVmbGF0ZV9ybGUoZSx0KXt2YXIgaTt2YXIgYTt2YXIgbixzO3ZhciBsPWUud2luZG93O2Zvcig7Oyl7aWYoZS5sb29rYWhlYWQ8PVUpe2ZpbGxfd2luZG93KGUpO2lmKGUubG9va2FoZWFkPD1VJiZ0PT09Zil7cmV0dXJuIHF9aWYoZS5sb29rYWhlYWQ9PT0wKXticmVha319ZS5tYXRjaF9sZW5ndGg9MDtpZihlLmxvb2thaGVhZD49QiYmZS5zdHJzdGFydD4wKXtuPWUuc3Ryc3RhcnQtMTthPWxbbl07aWYoYT09PWxbKytuXSYmYT09PWxbKytuXSYmYT09PWxbKytuXSl7cz1lLnN0cnN0YXJ0K1U7ZG97fXdoaWxlKGE9PT1sWysrbl0mJmE9PT1sWysrbl0mJmE9PT1sWysrbl0mJmE9PT1sWysrbl0mJmE9PT1sWysrbl0mJmE9PT1sWysrbl0mJmE9PT1sWysrbl0mJmE9PT1sWysrbl0mJm48cyk7ZS5tYXRjaF9sZW5ndGg9VS0ocy1uKTtpZihlLm1hdGNoX2xlbmd0aD5lLmxvb2thaGVhZCl7ZS5tYXRjaF9sZW5ndGg9ZS5sb29rYWhlYWR9fX1pZihlLm1hdGNoX2xlbmd0aD49Qil7aT1yLl90cl90YWxseShlLDEsZS5tYXRjaF9sZW5ndGgtQik7ZS5sb29rYWhlYWQtPWUubWF0Y2hfbGVuZ3RoO2Uuc3Ryc3RhcnQrPWUubWF0Y2hfbGVuZ3RoO2UubWF0Y2hfbGVuZ3RoPTB9ZWxzZXtpPXIuX3RyX3RhbGx5KGUsMCxlLndpbmRvd1tlLnN0cnN0YXJ0XSk7ZS5sb29rYWhlYWQtLTtlLnN0cnN0YXJ0Kyt9aWYoaSl7Zmx1c2hfYmxvY2tfb25seShlLGZhbHNlKTtpZihlLnN0cm0uYXZhaWxfb3V0PT09MCl7cmV0dXJuIHF9fX1lLmluc2VydD0wO2lmKHQ9PT1fKXtmbHVzaF9ibG9ja19vbmx5KGUsdHJ1ZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBZfXJldHVybiBqfWlmKGUubGFzdF9saXQpe2ZsdXNoX2Jsb2NrX29ubHkoZSxmYWxzZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBxfX1yZXR1cm4gWH1mdW5jdGlvbiBkZWZsYXRlX2h1ZmYoZSx0KXt2YXIgaTtmb3IoOzspe2lmKGUubG9va2FoZWFkPT09MCl7ZmlsbF93aW5kb3coZSk7aWYoZS5sb29rYWhlYWQ9PT0wKXtpZih0PT09Zil7cmV0dXJuIHF9YnJlYWt9fWUubWF0Y2hfbGVuZ3RoPTA7aT1yLl90cl90YWxseShlLDAsZS53aW5kb3dbZS5zdHJzdGFydF0pO2UubG9va2FoZWFkLS07ZS5zdHJzdGFydCsrO2lmKGkpe2ZsdXNoX2Jsb2NrX29ubHkoZSxmYWxzZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBxfX19ZS5pbnNlcnQ9MDtpZih0PT09Xyl7Zmx1c2hfYmxvY2tfb25seShlLHRydWUpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gWX1yZXR1cm4gan1pZihlLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gcX19cmV0dXJuIFh9ZnVuY3Rpb24gQ29uZmlnKGUsdCxpLGEscil7dGhpcy5nb29kX2xlbmd0aD1lO3RoaXMubWF4X2xhenk9dDt0aGlzLm5pY2VfbGVuZ3RoPWk7dGhpcy5tYXhfY2hhaW49YTt0aGlzLmZ1bmM9cn12YXIgUTtRPVtuZXcgQ29uZmlnKDAsMCwwLDAsZGVmbGF0ZV9zdG9yZWQpLG5ldyBDb25maWcoNCw0LDgsNCxkZWZsYXRlX2Zhc3QpLG5ldyBDb25maWcoNCw1LDE2LDgsZGVmbGF0ZV9mYXN0KSxuZXcgQ29uZmlnKDQsNiwzMiwzMixkZWZsYXRlX2Zhc3QpLG5ldyBDb25maWcoNCw0LDE2LDE2LGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZyg4LDE2LDMyLDMyLGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZyg4LDE2LDEyOCwxMjgsZGVmbGF0ZV9zbG93KSxuZXcgQ29uZmlnKDgsMzIsMTI4LDI1NixkZWZsYXRlX3Nsb3cpLG5ldyBDb25maWcoMzIsMTI4LDI1OCwxMDI0LGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZygzMiwyNTgsMjU4LDQwOTYsZGVmbGF0ZV9zbG93KV07ZnVuY3Rpb24gbG1faW5pdChlKXtlLndpbmRvd19zaXplPTIqZS53X3NpemU7emVybyhlLmhlYWQpO2UubWF4X2xhenlfbWF0Y2g9UVtlLmxldmVsXS5tYXhfbGF6eTtlLmdvb2RfbWF0Y2g9UVtlLmxldmVsXS5nb29kX2xlbmd0aDtlLm5pY2VfbWF0Y2g9UVtlLmxldmVsXS5uaWNlX2xlbmd0aDtlLm1heF9jaGFpbl9sZW5ndGg9UVtlLmxldmVsXS5tYXhfY2hhaW47ZS5zdHJzdGFydD0wO2UuYmxvY2tfc3RhcnQ9MDtlLmxvb2thaGVhZD0wO2UuaW5zZXJ0PTA7ZS5tYXRjaF9sZW5ndGg9ZS5wcmV2X2xlbmd0aD1CLTE7ZS5tYXRjaF9hdmFpbGFibGU9MDtlLmluc19oPTB9ZnVuY3Rpb24gRGVmbGF0ZVN0YXRlKCl7dGhpcy5zdHJtPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLnBlbmRpbmdfYnVmPW51bGw7dGhpcy5wZW5kaW5nX2J1Zl9zaXplPTA7dGhpcy5wZW5kaW5nX291dD0wO3RoaXMucGVuZGluZz0wO3RoaXMud3JhcD0wO3RoaXMuZ3poZWFkPW51bGw7dGhpcy5nemluZGV4PTA7dGhpcy5tZXRob2Q9Wjt0aGlzLmxhc3RfZmx1c2g9LTE7dGhpcy53X3NpemU9MDt0aGlzLndfYml0cz0wO3RoaXMud19tYXNrPTA7dGhpcy53aW5kb3c9bnVsbDt0aGlzLndpbmRvd19zaXplPTA7dGhpcy5wcmV2PW51bGw7dGhpcy5oZWFkPW51bGw7dGhpcy5pbnNfaD0wO3RoaXMuaGFzaF9zaXplPTA7dGhpcy5oYXNoX2JpdHM9MDt0aGlzLmhhc2hfbWFzaz0wO3RoaXMuaGFzaF9zaGlmdD0wO3RoaXMuYmxvY2tfc3RhcnQ9MDt0aGlzLm1hdGNoX2xlbmd0aD0wO3RoaXMucHJldl9tYXRjaD0wO3RoaXMubWF0Y2hfYXZhaWxhYmxlPTA7dGhpcy5zdHJzdGFydD0wO3RoaXMubWF0Y2hfc3RhcnQ9MDt0aGlzLmxvb2thaGVhZD0wO3RoaXMucHJldl9sZW5ndGg9MDt0aGlzLm1heF9jaGFpbl9sZW5ndGg9MDt0aGlzLm1heF9sYXp5X21hdGNoPTA7dGhpcy5sZXZlbD0wO3RoaXMuc3RyYXRlZ3k9MDt0aGlzLmdvb2RfbWF0Y2g9MDt0aGlzLm5pY2VfbWF0Y2g9MDt0aGlzLmR5bl9sdHJlZT1uZXcgYS5CdWYxNihOKjIpO3RoaXMuZHluX2R0cmVlPW5ldyBhLkJ1ZjE2KCgyKlQrMSkqMik7dGhpcy5ibF90cmVlPW5ldyBhLkJ1ZjE2KCgyKkYrMSkqMik7emVybyh0aGlzLmR5bl9sdHJlZSk7emVybyh0aGlzLmR5bl9kdHJlZSk7emVybyh0aGlzLmJsX3RyZWUpO3RoaXMubF9kZXNjPW51bGw7dGhpcy5kX2Rlc2M9bnVsbDt0aGlzLmJsX2Rlc2M9bnVsbDt0aGlzLmJsX2NvdW50PW5ldyBhLkJ1ZjE2KEQrMSk7dGhpcy5oZWFwPW5ldyBhLkJ1ZjE2KDIqQSsxKTt6ZXJvKHRoaXMuaGVhcCk7dGhpcy5oZWFwX2xlbj0wO3RoaXMuaGVhcF9tYXg9MDt0aGlzLmRlcHRoPW5ldyBhLkJ1ZjE2KDIqQSsxKTt6ZXJvKHRoaXMuZGVwdGgpO3RoaXMubF9idWY9MDt0aGlzLmxpdF9idWZzaXplPTA7dGhpcy5sYXN0X2xpdD0wO3RoaXMuZF9idWY9MDt0aGlzLm9wdF9sZW49MDt0aGlzLnN0YXRpY19sZW49MDt0aGlzLm1hdGNoZXM9MDt0aGlzLmluc2VydD0wO3RoaXMuYmlfYnVmPTA7dGhpcy5iaV92YWxpZD0wfWZ1bmN0aW9uIGRlZmxhdGVSZXNldEtlZXAoZSl7dmFyIHQ7aWYoIWV8fCFlLnN0YXRlKXtyZXR1cm4gZXJyKGUsdil9ZS50b3RhbF9pbj1lLnRvdGFsX291dD0wO2UuZGF0YV90eXBlPXo7dD1lLnN0YXRlO3QucGVuZGluZz0wO3QucGVuZGluZ19vdXQ9MDtpZih0LndyYXA8MCl7dC53cmFwPS10LndyYXB9dC5zdGF0dXM9dC53cmFwP0M6VztlLmFkbGVyPXQud3JhcD09PTI/MDoxO3QubGFzdF9mbHVzaD1mO3IuX3RyX2luaXQodCk7cmV0dXJuIHV9ZnVuY3Rpb24gZGVmbGF0ZVJlc2V0KGUpe3ZhciB0PWRlZmxhdGVSZXNldEtlZXAoZSk7aWYodD09PXUpe2xtX2luaXQoZS5zdGF0ZSl9cmV0dXJuIHR9ZnVuY3Rpb24gZGVmbGF0ZVNldEhlYWRlcihlLHQpe2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIHZ9aWYoZS5zdGF0ZS53cmFwIT09Mil7cmV0dXJuIHZ9ZS5zdGF0ZS5nemhlYWQ9dDtyZXR1cm4gdX1mdW5jdGlvbiBkZWZsYXRlSW5pdDIoZSx0LGkscixuLHMpe2lmKCFlKXtyZXR1cm4gdn12YXIgbD0xO2lmKHQ9PT1wKXt0PTZ9aWYocjwwKXtsPTA7cj0tcn1lbHNlIGlmKHI+MTUpe2w9MjtyLT0xNn1pZihuPDF8fG4+eHx8aSE9PVp8fHI8OHx8cj4xNXx8dDwwfHx0Pjl8fHM8MHx8cz55KXtyZXR1cm4gZXJyKGUsdil9aWYocj09PTgpe3I9OX12YXIgZj1uZXcgRGVmbGF0ZVN0YXRlO2Uuc3RhdGU9ZjtmLnN0cm09ZTtmLndyYXA9bDtmLmd6aGVhZD1udWxsO2Yud19iaXRzPXI7Zi53X3NpemU9MTw8Zi53X2JpdHM7Zi53X21hc2s9Zi53X3NpemUtMTtmLmhhc2hfYml0cz1uKzc7Zi5oYXNoX3NpemU9MTw8Zi5oYXNoX2JpdHM7Zi5oYXNoX21hc2s9Zi5oYXNoX3NpemUtMTtmLmhhc2hfc2hpZnQ9fn4oKGYuaGFzaF9iaXRzK0ItMSkvQik7Zi53aW5kb3c9bmV3IGEuQnVmOChmLndfc2l6ZSoyKTtmLmhlYWQ9bmV3IGEuQnVmMTYoZi5oYXNoX3NpemUpO2YucHJldj1uZXcgYS5CdWYxNihmLndfc2l6ZSk7Zi5saXRfYnVmc2l6ZT0xPDxuKzY7Zi5wZW5kaW5nX2J1Zl9zaXplPWYubGl0X2J1ZnNpemUqNDtmLnBlbmRpbmdfYnVmPW5ldyBhLkJ1ZjgoZi5wZW5kaW5nX2J1Zl9zaXplKTtmLmRfYnVmPTEqZi5saXRfYnVmc2l6ZTtmLmxfYnVmPSgxKzIpKmYubGl0X2J1ZnNpemU7Zi5sZXZlbD10O2Yuc3RyYXRlZ3k9cztmLm1ldGhvZD1pO3JldHVybiBkZWZsYXRlUmVzZXQoZSl9ZnVuY3Rpb24gZGVmbGF0ZUluaXQoZSx0KXtyZXR1cm4gZGVmbGF0ZUluaXQyKGUsdCxaLEksUixFKX1mdW5jdGlvbiBkZWZsYXRlKGUsdCl7dmFyIGksYTt2YXIgbixsO2lmKCFlfHwhZS5zdGF0ZXx8dD5kfHx0PDApe3JldHVybiBlP2VycihlLHYpOnZ9YT1lLnN0YXRlO2lmKCFlLm91dHB1dHx8IWUuaW5wdXQmJmUuYXZhaWxfaW4hPT0wfHxhLnN0YXR1cz09PVYmJnQhPT1fKXtyZXR1cm4gZXJyKGUsZS5hdmFpbF9vdXQ9PT0wP3c6dil9YS5zdHJtPWU7aT1hLmxhc3RfZmx1c2g7YS5sYXN0X2ZsdXNoPXQ7aWYoYS5zdGF0dXM9PT1DKXtpZihhLndyYXA9PT0yKXtlLmFkbGVyPTA7cHV0X2J5dGUoYSwzMSk7cHV0X2J5dGUoYSwxMzkpO3B1dF9ieXRlKGEsOCk7aWYoIWEuZ3poZWFkKXtwdXRfYnl0ZShhLDApO3B1dF9ieXRlKGEsMCk7cHV0X2J5dGUoYSwwKTtwdXRfYnl0ZShhLDApO3B1dF9ieXRlKGEsMCk7cHV0X2J5dGUoYSxhLmxldmVsPT09OT8yOmEuc3RyYXRlZ3k+PW18fGEubGV2ZWw8Mj80OjApO3B1dF9ieXRlKGEsSik7YS5zdGF0dXM9V31lbHNle3B1dF9ieXRlKGEsKGEuZ3poZWFkLnRleHQ/MTowKSsoYS5nemhlYWQuaGNyYz8yOjApKyghYS5nemhlYWQuZXh0cmE/MDo0KSsoIWEuZ3poZWFkLm5hbWU/MDo4KSsoIWEuZ3poZWFkLmNvbW1lbnQ/MDoxNikpO3B1dF9ieXRlKGEsYS5nemhlYWQudGltZSYyNTUpO3B1dF9ieXRlKGEsYS5nemhlYWQudGltZT4+OCYyNTUpO3B1dF9ieXRlKGEsYS5nemhlYWQudGltZT4+MTYmMjU1KTtwdXRfYnl0ZShhLGEuZ3poZWFkLnRpbWU+PjI0JjI1NSk7cHV0X2J5dGUoYSxhLmxldmVsPT09OT8yOmEuc3RyYXRlZ3k+PW18fGEubGV2ZWw8Mj80OjApO3B1dF9ieXRlKGEsYS5nemhlYWQub3MmMjU1KTtpZihhLmd6aGVhZC5leHRyYSYmYS5nemhlYWQuZXh0cmEubGVuZ3RoKXtwdXRfYnl0ZShhLGEuZ3poZWFkLmV4dHJhLmxlbmd0aCYyNTUpO3B1dF9ieXRlKGEsYS5nemhlYWQuZXh0cmEubGVuZ3RoPj44JjI1NSl9aWYoYS5nemhlYWQuaGNyYyl7ZS5hZGxlcj1zKGUuYWRsZXIsYS5wZW5kaW5nX2J1ZixhLnBlbmRpbmcsMCl9YS5nemluZGV4PTA7YS5zdGF0dXM9R319ZWxzZXt2YXIgYj1aKyhhLndfYml0cy04PDw0KTw8ODt2YXIgcD0tMTtpZihhLnN0cmF0ZWd5Pj1tfHxhLmxldmVsPDIpe3A9MH1lbHNlIGlmKGEubGV2ZWw8Nil7cD0xfWVsc2UgaWYoYS5sZXZlbD09PTYpe3A9Mn1lbHNle3A9M31ifD1wPDw2O2lmKGEuc3Ryc3RhcnQhPT0wKXtifD1NfWIrPTMxLWIlMzE7YS5zdGF0dXM9VztwdXRTaG9ydE1TQihhLGIpO2lmKGEuc3Ryc3RhcnQhPT0wKXtwdXRTaG9ydE1TQihhLGUuYWRsZXI+Pj4xNik7cHV0U2hvcnRNU0IoYSxlLmFkbGVyJjY1NTM1KX1lLmFkbGVyPTF9fWlmKGEuc3RhdHVzPT09Ryl7aWYoYS5nemhlYWQuZXh0cmEpe249YS5wZW5kaW5nO3doaWxlKGEuZ3ppbmRleDwoYS5nemhlYWQuZXh0cmEubGVuZ3RoJjY1NTM1KSl7aWYoYS5wZW5kaW5nPT09YS5wZW5kaW5nX2J1Zl9zaXplKXtpZihhLmd6aGVhZC5oY3JjJiZhLnBlbmRpbmc+bil7ZS5hZGxlcj1zKGUuYWRsZXIsYS5wZW5kaW5nX2J1ZixhLnBlbmRpbmctbixuKX1mbHVzaF9wZW5kaW5nKGUpO249YS5wZW5kaW5nO2lmKGEucGVuZGluZz09PWEucGVuZGluZ19idWZfc2l6ZSl7YnJlYWt9fXB1dF9ieXRlKGEsYS5nemhlYWQuZXh0cmFbYS5nemluZGV4XSYyNTUpO2EuZ3ppbmRleCsrfWlmKGEuZ3poZWFkLmhjcmMmJmEucGVuZGluZz5uKXtlLmFkbGVyPXMoZS5hZGxlcixhLnBlbmRpbmdfYnVmLGEucGVuZGluZy1uLG4pfWlmKGEuZ3ppbmRleD09PWEuZ3poZWFkLmV4dHJhLmxlbmd0aCl7YS5nemluZGV4PTA7YS5zdGF0dXM9SH19ZWxzZXthLnN0YXR1cz1IfX1pZihhLnN0YXR1cz09PUgpe2lmKGEuZ3poZWFkLm5hbWUpe249YS5wZW5kaW5nO2Rve2lmKGEucGVuZGluZz09PWEucGVuZGluZ19idWZfc2l6ZSl7aWYoYS5nemhlYWQuaGNyYyYmYS5wZW5kaW5nPm4pe2UuYWRsZXI9cyhlLmFkbGVyLGEucGVuZGluZ19idWYsYS5wZW5kaW5nLW4sbil9Zmx1c2hfcGVuZGluZyhlKTtuPWEucGVuZGluZztpZihhLnBlbmRpbmc9PT1hLnBlbmRpbmdfYnVmX3NpemUpe2w9MTticmVha319aWYoYS5nemluZGV4PGEuZ3poZWFkLm5hbWUubGVuZ3RoKXtsPWEuZ3poZWFkLm5hbWUuY2hhckNvZGVBdChhLmd6aW5kZXgrKykmMjU1fWVsc2V7bD0wfXB1dF9ieXRlKGEsbCl9d2hpbGUobCE9PTApO2lmKGEuZ3poZWFkLmhjcmMmJmEucGVuZGluZz5uKXtlLmFkbGVyPXMoZS5hZGxlcixhLnBlbmRpbmdfYnVmLGEucGVuZGluZy1uLG4pfWlmKGw9PT0wKXthLmd6aW5kZXg9MDthLnN0YXR1cz1QfX1lbHNle2Euc3RhdHVzPVB9fWlmKGEuc3RhdHVzPT09UCl7aWYoYS5nemhlYWQuY29tbWVudCl7bj1hLnBlbmRpbmc7ZG97aWYoYS5wZW5kaW5nPT09YS5wZW5kaW5nX2J1Zl9zaXplKXtpZihhLmd6aGVhZC5oY3JjJiZhLnBlbmRpbmc+bil7ZS5hZGxlcj1zKGUuYWRsZXIsYS5wZW5kaW5nX2J1ZixhLnBlbmRpbmctbixuKX1mbHVzaF9wZW5kaW5nKGUpO249YS5wZW5kaW5nO2lmKGEucGVuZGluZz09PWEucGVuZGluZ19idWZfc2l6ZSl7bD0xO2JyZWFrfX1pZihhLmd6aW5kZXg8YS5nemhlYWQuY29tbWVudC5sZW5ndGgpe2w9YS5nemhlYWQuY29tbWVudC5jaGFyQ29kZUF0KGEuZ3ppbmRleCsrKSYyNTV9ZWxzZXtsPTB9cHV0X2J5dGUoYSxsKX13aGlsZShsIT09MCk7aWYoYS5nemhlYWQuaGNyYyYmYS5wZW5kaW5nPm4pe2UuYWRsZXI9cyhlLmFkbGVyLGEucGVuZGluZ19idWYsYS5wZW5kaW5nLW4sbil9aWYobD09PTApe2Euc3RhdHVzPUt9fWVsc2V7YS5zdGF0dXM9S319aWYoYS5zdGF0dXM9PT1LKXtpZihhLmd6aGVhZC5oY3JjKXtpZihhLnBlbmRpbmcrMj5hLnBlbmRpbmdfYnVmX3NpemUpe2ZsdXNoX3BlbmRpbmcoZSl9aWYoYS5wZW5kaW5nKzI8PWEucGVuZGluZ19idWZfc2l6ZSl7cHV0X2J5dGUoYSxlLmFkbGVyJjI1NSk7cHV0X2J5dGUoYSxlLmFkbGVyPj44JjI1NSk7ZS5hZGxlcj0wO2Euc3RhdHVzPVd9fWVsc2V7YS5zdGF0dXM9V319aWYoYS5wZW5kaW5nIT09MCl7Zmx1c2hfcGVuZGluZyhlKTtpZihlLmF2YWlsX291dD09PTApe2EubGFzdF9mbHVzaD0tMTtyZXR1cm4gdX19ZWxzZSBpZihlLmF2YWlsX2luPT09MCYmcmFuayh0KTw9cmFuayhpKSYmdCE9PV8pe3JldHVybiBlcnIoZSx3KX1pZihhLnN0YXR1cz09PVYmJmUuYXZhaWxfaW4hPT0wKXtyZXR1cm4gZXJyKGUsdyl9aWYoZS5hdmFpbF9pbiE9PTB8fGEubG9va2FoZWFkIT09MHx8dCE9PWYmJmEuc3RhdHVzIT09Vil7dmFyIGc9YS5zdHJhdGVneT09PW0/ZGVmbGF0ZV9odWZmKGEsdCk6YS5zdHJhdGVneT09PWs/ZGVmbGF0ZV9ybGUoYSx0KTpRW2EubGV2ZWxdLmZ1bmMoYSx0KTtpZihnPT09WXx8Zz09PWope2Euc3RhdHVzPVZ9aWYoZz09PXF8fGc9PT1ZKXtpZihlLmF2YWlsX291dD09PTApe2EubGFzdF9mbHVzaD0tMX1yZXR1cm4gdX1pZihnPT09WCl7aWYodD09PW8pe3IuX3RyX2FsaWduKGEpfWVsc2UgaWYodCE9PWQpe3IuX3RyX3N0b3JlZF9ibG9jayhhLDAsMCxmYWxzZSk7aWYodD09PWgpe3plcm8oYS5oZWFkKTtpZihhLmxvb2thaGVhZD09PTApe2Euc3Ryc3RhcnQ9MDthLmJsb2NrX3N0YXJ0PTA7YS5pbnNlcnQ9MH19fWZsdXNoX3BlbmRpbmcoZSk7aWYoZS5hdmFpbF9vdXQ9PT0wKXthLmxhc3RfZmx1c2g9LTE7cmV0dXJuIHV9fX1pZih0IT09Xyl7cmV0dXJuIHV9aWYoYS53cmFwPD0wKXtyZXR1cm4gY31pZihhLndyYXA9PT0yKXtwdXRfYnl0ZShhLGUuYWRsZXImMjU1KTtwdXRfYnl0ZShhLGUuYWRsZXI+PjgmMjU1KTtwdXRfYnl0ZShhLGUuYWRsZXI+PjE2JjI1NSk7cHV0X2J5dGUoYSxlLmFkbGVyPj4yNCYyNTUpO3B1dF9ieXRlKGEsZS50b3RhbF9pbiYyNTUpO3B1dF9ieXRlKGEsZS50b3RhbF9pbj4+OCYyNTUpO3B1dF9ieXRlKGEsZS50b3RhbF9pbj4+MTYmMjU1KTtwdXRfYnl0ZShhLGUudG90YWxfaW4+PjI0JjI1NSl9ZWxzZXtwdXRTaG9ydE1TQihhLGUuYWRsZXI+Pj4xNik7cHV0U2hvcnRNU0IoYSxlLmFkbGVyJjY1NTM1KX1mbHVzaF9wZW5kaW5nKGUpO2lmKGEud3JhcD4wKXthLndyYXA9LWEud3JhcH1yZXR1cm4gYS5wZW5kaW5nIT09MD91OmN9ZnVuY3Rpb24gZGVmbGF0ZUVuZChlKXt2YXIgdDtpZighZXx8IWUuc3RhdGUpe3JldHVybiB2fXQ9ZS5zdGF0ZS5zdGF0dXM7aWYodCE9PUMmJnQhPT1HJiZ0IT09SCYmdCE9PVAmJnQhPT1LJiZ0IT09VyYmdCE9PVYpe3JldHVybiBlcnIoZSx2KX1lLnN0YXRlPW51bGw7cmV0dXJuIHQ9PT1XP2VycihlLGIpOnV9ZnVuY3Rpb24gZGVmbGF0ZVNldERpY3Rpb25hcnkoZSx0KXt2YXIgaT10Lmxlbmd0aDt2YXIgcjt2YXIgcyxsO3ZhciBmO3ZhciBvO3ZhciBoO3ZhciBfO3ZhciBkO2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIHZ9cj1lLnN0YXRlO2Y9ci53cmFwO2lmKGY9PT0yfHxmPT09MSYmci5zdGF0dXMhPT1DfHxyLmxvb2thaGVhZCl7cmV0dXJuIHZ9aWYoZj09PTEpe2UuYWRsZXI9bihlLmFkbGVyLHQsaSwwKX1yLndyYXA9MDtpZihpPj1yLndfc2l6ZSl7aWYoZj09PTApe3plcm8oci5oZWFkKTtyLnN0cnN0YXJ0PTA7ci5ibG9ja19zdGFydD0wO3IuaW5zZXJ0PTB9ZD1uZXcgYS5CdWY4KHIud19zaXplKTthLmFycmF5U2V0KGQsdCxpLXIud19zaXplLHIud19zaXplLDApO3Q9ZDtpPXIud19zaXplfW89ZS5hdmFpbF9pbjtoPWUubmV4dF9pbjtfPWUuaW5wdXQ7ZS5hdmFpbF9pbj1pO2UubmV4dF9pbj0wO2UuaW5wdXQ9dDtmaWxsX3dpbmRvdyhyKTt3aGlsZShyLmxvb2thaGVhZD49Qil7cz1yLnN0cnN0YXJ0O2w9ci5sb29rYWhlYWQtKEItMSk7ZG97ci5pbnNfaD0oci5pbnNfaDw8ci5oYXNoX3NoaWZ0XnIud2luZG93W3MrQi0xXSkmci5oYXNoX21hc2s7ci5wcmV2W3Mmci53X21hc2tdPXIuaGVhZFtyLmluc19oXTtyLmhlYWRbci5pbnNfaF09cztzKyt9d2hpbGUoLS1sKTtyLnN0cnN0YXJ0PXM7ci5sb29rYWhlYWQ9Qi0xO2ZpbGxfd2luZG93KHIpfXIuc3Ryc3RhcnQrPXIubG9va2FoZWFkO3IuYmxvY2tfc3RhcnQ9ci5zdHJzdGFydDtyLmluc2VydD1yLmxvb2thaGVhZDtyLmxvb2thaGVhZD0wO3IubWF0Y2hfbGVuZ3RoPXIucHJldl9sZW5ndGg9Qi0xO3IubWF0Y2hfYXZhaWxhYmxlPTA7ZS5uZXh0X2luPWg7ZS5pbnB1dD1fO2UuYXZhaWxfaW49bztyLndyYXA9ZjtyZXR1cm4gdX10LmRlZmxhdGVJbml0PWRlZmxhdGVJbml0O3QuZGVmbGF0ZUluaXQyPWRlZmxhdGVJbml0Mjt0LmRlZmxhdGVSZXNldD1kZWZsYXRlUmVzZXQ7dC5kZWZsYXRlUmVzZXRLZWVwPWRlZmxhdGVSZXNldEtlZXA7dC5kZWZsYXRlU2V0SGVhZGVyPWRlZmxhdGVTZXRIZWFkZXI7dC5kZWZsYXRlPWRlZmxhdGU7dC5kZWZsYXRlRW5kPWRlZmxhdGVFbmQ7dC5kZWZsYXRlU2V0RGljdGlvbmFyeT1kZWZsYXRlU2V0RGljdGlvbmFyeTt0LmRlZmxhdGVJbmZvPVwicGFrbyBkZWZsYXRlIChmcm9tIE5vZGVjYSBwcm9qZWN0KVwifSwzMzM6ZnVuY3Rpb24oZSl7dmFyIHQ9MzA7dmFyIGk9MTI7ZS5leHBvcnRzPWZ1bmN0aW9uIGluZmxhdGVfZmFzdChlLGEpe3ZhciByO3ZhciBuO3ZhciBzO3ZhciBsO3ZhciBmO3ZhciBvO3ZhciBoO3ZhciBfO3ZhciBkO3ZhciB1O3ZhciBjO3ZhciB2O3ZhciBiO3ZhciB3O3ZhciBwO3ZhciBnO3ZhciBtO3ZhciBrO3ZhciB5O3ZhciBFO3ZhciB6O3ZhciBaO3ZhciB4O3ZhciBJLFI7cj1lLnN0YXRlO249ZS5uZXh0X2luO0k9ZS5pbnB1dDtzPW4rKGUuYXZhaWxfaW4tNSk7bD1lLm5leHRfb3V0O1I9ZS5vdXRwdXQ7Zj1sLShhLWUuYXZhaWxfb3V0KTtvPWwrKGUuYXZhaWxfb3V0LTI1Nyk7aD1yLmRtYXg7Xz1yLndzaXplO2Q9ci53aGF2ZTt1PXIud25leHQ7Yz1yLndpbmRvdzt2PXIuaG9sZDtiPXIuYml0czt3PXIubGVuY29kZTtwPXIuZGlzdGNvZGU7Zz0oMTw8ci5sZW5iaXRzKS0xO209KDE8PHIuZGlzdGJpdHMpLTE7ZTpkb3tpZihiPDE1KXt2Kz1JW24rK108PGI7Yis9ODt2Kz1JW24rK108PGI7Yis9OH1rPXdbdiZnXTt0OmZvcig7Oyl7eT1rPj4+MjQ7dj4+Pj15O2ItPXk7eT1rPj4+MTYmMjU1O2lmKHk9PT0wKXtSW2wrK109ayY2NTUzNX1lbHNlIGlmKHkmMTYpe0U9ayY2NTUzNTt5Jj0xNTtpZih5KXtpZihiPHkpe3YrPUlbbisrXTw8YjtiKz04fUUrPXYmKDE8PHkpLTE7dj4+Pj15O2ItPXl9aWYoYjwxNSl7dis9SVtuKytdPDxiO2IrPTg7dis9SVtuKytdPDxiO2IrPTh9az1wW3YmbV07aTpmb3IoOzspe3k9az4+PjI0O3Y+Pj49eTtiLT15O3k9az4+PjE2JjI1NTtpZih5JjE2KXt6PWsmNjU1MzU7eSY9MTU7aWYoYjx5KXt2Kz1JW24rK108PGI7Yis9ODtpZihiPHkpe3YrPUlbbisrXTw8YjtiKz04fX16Kz12JigxPDx5KS0xO2lmKHo+aCl7ZS5tc2c9XCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiO3IubW9kZT10O2JyZWFrIGV9dj4+Pj15O2ItPXk7eT1sLWY7aWYoej55KXt5PXoteTtpZih5PmQpe2lmKHIuc2FuZSl7ZS5tc2c9XCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiO3IubW9kZT10O2JyZWFrIGV9fVo9MDt4PWM7aWYodT09PTApe1orPV8teTtpZih5PEUpe0UtPXk7ZG97UltsKytdPWNbWisrXX13aGlsZSgtLXkpO1o9bC16O3g9Un19ZWxzZSBpZih1PHkpe1orPV8rdS15O3ktPXU7aWYoeTxFKXtFLT15O2Rve1JbbCsrXT1jW1orK119d2hpbGUoLS15KTtaPTA7aWYodTxFKXt5PXU7RS09eTtkb3tSW2wrK109Y1taKytdfXdoaWxlKC0teSk7Wj1sLXo7eD1SfX19ZWxzZXtaKz11LXk7aWYoeTxFKXtFLT15O2Rve1JbbCsrXT1jW1orK119d2hpbGUoLS15KTtaPWwtejt4PVJ9fXdoaWxlKEU+Mil7UltsKytdPXhbWisrXTtSW2wrK109eFtaKytdO1JbbCsrXT14W1orK107RS09M31pZihFKXtSW2wrK109eFtaKytdO2lmKEU+MSl7UltsKytdPXhbWisrXX19fWVsc2V7Wj1sLXo7ZG97UltsKytdPVJbWisrXTtSW2wrK109UltaKytdO1JbbCsrXT1SW1orK107RS09M313aGlsZShFPjIpO2lmKEUpe1JbbCsrXT1SW1orK107aWYoRT4xKXtSW2wrK109UltaKytdfX19fWVsc2UgaWYoKHkmNjQpPT09MCl7az1wWyhrJjY1NTM1KSsodiYoMTw8eSktMSldO2NvbnRpbnVlIGl9ZWxzZXtlLm1zZz1cImludmFsaWQgZGlzdGFuY2UgY29kZVwiO3IubW9kZT10O2JyZWFrIGV9YnJlYWt9fWVsc2UgaWYoKHkmNjQpPT09MCl7az13WyhrJjY1NTM1KSsodiYoMTw8eSktMSldO2NvbnRpbnVlIHR9ZWxzZSBpZih5JjMyKXtyLm1vZGU9aTticmVhayBlfWVsc2V7ZS5tc2c9XCJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGVcIjtyLm1vZGU9dDticmVhayBlfWJyZWFrfX13aGlsZShuPHMmJmw8byk7RT1iPj4zO24tPUU7Yi09RTw8Mzt2Jj0oMTw8YiktMTtlLm5leHRfaW49bjtlLm5leHRfb3V0PWw7ZS5hdmFpbF9pbj1uPHM/NSsocy1uKTo1LShuLXMpO2UuYXZhaWxfb3V0PWw8bz8yNTcrKG8tbCk6MjU3LShsLW8pO3IuaG9sZD12O3IuYml0cz1iO3JldHVybn19LDMyNDpmdW5jdGlvbihlLHQsaSl7dmFyIGE9aSgzODApO3ZhciByPWkoNDk2KTt2YXIgbj1pKDMwNyk7dmFyIHM9aSgzMzMpO3ZhciBsPWkoMTkpO3ZhciBmPTA7dmFyIG89MTt2YXIgaD0yO3ZhciBfPTQ7dmFyIGQ9NTt2YXIgdT02O3ZhciBjPTA7dmFyIHY9MTt2YXIgYj0yO3ZhciB3PS0yO3ZhciBwPS0zO3ZhciBnPS00O3ZhciBtPS01O3ZhciBrPTg7dmFyIHk9MTt2YXIgRT0yO3ZhciB6PTM7dmFyIFo9NDt2YXIgeD01O3ZhciBJPTY7dmFyIFI9Nzt2YXIgUz04O3ZhciBMPTk7dmFyIEE9MTA7dmFyIFQ9MTE7dmFyIEY9MTI7dmFyIE49MTM7dmFyIEQ9MTQ7dmFyIEI9MTU7dmFyIFU9MTY7dmFyIE89MTc7dmFyIE09MTg7dmFyIEM9MTk7dmFyIEc9MjA7dmFyIEg9MjE7dmFyIFA9MjI7dmFyIEs9MjM7dmFyIFc9MjQ7dmFyIFY9MjU7dmFyIHE9MjY7dmFyIFg9Mjc7dmFyIFk9Mjg7dmFyIGo9Mjk7dmFyIEo9MzA7dmFyIFE9MzE7dmFyICQ9MzI7dmFyIGVlPTg1Mjt2YXIgdGU9NTkyO3ZhciBpZT0xNTt2YXIgYWU9aWU7ZnVuY3Rpb24genN3YXAzMihlKXtyZXR1cm4oZT4+PjI0JjI1NSkrKGU+Pj44JjY1MjgwKSsoKGUmNjUyODApPDw4KSsoKGUmMjU1KTw8MjQpfWZ1bmN0aW9uIEluZmxhdGVTdGF0ZSgpe3RoaXMubW9kZT0wO3RoaXMubGFzdD1mYWxzZTt0aGlzLndyYXA9MDt0aGlzLmhhdmVkaWN0PWZhbHNlO3RoaXMuZmxhZ3M9MDt0aGlzLmRtYXg9MDt0aGlzLmNoZWNrPTA7dGhpcy50b3RhbD0wO3RoaXMuaGVhZD1udWxsO3RoaXMud2JpdHM9MDt0aGlzLndzaXplPTA7dGhpcy53aGF2ZT0wO3RoaXMud25leHQ9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuaG9sZD0wO3RoaXMuYml0cz0wO3RoaXMubGVuZ3RoPTA7dGhpcy5vZmZzZXQ9MDt0aGlzLmV4dHJhPTA7dGhpcy5sZW5jb2RlPW51bGw7dGhpcy5kaXN0Y29kZT1udWxsO3RoaXMubGVuYml0cz0wO3RoaXMuZGlzdGJpdHM9MDt0aGlzLm5jb2RlPTA7dGhpcy5ubGVuPTA7dGhpcy5uZGlzdD0wO3RoaXMuaGF2ZT0wO3RoaXMubmV4dD1udWxsO3RoaXMubGVucz1uZXcgYS5CdWYxNigzMjApO3RoaXMud29yaz1uZXcgYS5CdWYxNigyODgpO3RoaXMubGVuZHluPW51bGw7dGhpcy5kaXN0ZHluPW51bGw7dGhpcy5zYW5lPTA7dGhpcy5iYWNrPTA7dGhpcy53YXM9MH1mdW5jdGlvbiBpbmZsYXRlUmVzZXRLZWVwKGUpe3ZhciB0O2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIHd9dD1lLnN0YXRlO2UudG90YWxfaW49ZS50b3RhbF9vdXQ9dC50b3RhbD0wO2UubXNnPVwiXCI7aWYodC53cmFwKXtlLmFkbGVyPXQud3JhcCYxfXQubW9kZT15O3QubGFzdD0wO3QuaGF2ZWRpY3Q9MDt0LmRtYXg9MzI3Njg7dC5oZWFkPW51bGw7dC5ob2xkPTA7dC5iaXRzPTA7dC5sZW5jb2RlPXQubGVuZHluPW5ldyBhLkJ1ZjMyKGVlKTt0LmRpc3Rjb2RlPXQuZGlzdGR5bj1uZXcgYS5CdWYzMih0ZSk7dC5zYW5lPTE7dC5iYWNrPS0xO3JldHVybiBjfWZ1bmN0aW9uIGluZmxhdGVSZXNldChlKXt2YXIgdDtpZighZXx8IWUuc3RhdGUpe3JldHVybiB3fXQ9ZS5zdGF0ZTt0LndzaXplPTA7dC53aGF2ZT0wO3Qud25leHQ9MDtyZXR1cm4gaW5mbGF0ZVJlc2V0S2VlcChlKX1mdW5jdGlvbiBpbmZsYXRlUmVzZXQyKGUsdCl7dmFyIGk7dmFyIGE7aWYoIWV8fCFlLnN0YXRlKXtyZXR1cm4gd31hPWUuc3RhdGU7aWYodDwwKXtpPTA7dD0tdH1lbHNle2k9KHQ+PjQpKzE7aWYodDw0OCl7dCY9MTV9fWlmKHQmJih0PDh8fHQ+MTUpKXtyZXR1cm4gd31pZihhLndpbmRvdyE9PW51bGwmJmEud2JpdHMhPT10KXthLndpbmRvdz1udWxsfWEud3JhcD1pO2Eud2JpdHM9dDtyZXR1cm4gaW5mbGF0ZVJlc2V0KGUpfWZ1bmN0aW9uIGluZmxhdGVJbml0MihlLHQpe3ZhciBpO3ZhciBhO2lmKCFlKXtyZXR1cm4gd31hPW5ldyBJbmZsYXRlU3RhdGU7ZS5zdGF0ZT1hO2Eud2luZG93PW51bGw7aT1pbmZsYXRlUmVzZXQyKGUsdCk7aWYoaSE9PWMpe2Uuc3RhdGU9bnVsbH1yZXR1cm4gaX1mdW5jdGlvbiBpbmZsYXRlSW5pdChlKXtyZXR1cm4gaW5mbGF0ZUluaXQyKGUsYWUpfXZhciByZT10cnVlO3ZhciBuZSxzZTtmdW5jdGlvbiBmaXhlZHRhYmxlcyhlKXtpZihyZSl7dmFyIHQ7bmU9bmV3IGEuQnVmMzIoNTEyKTtzZT1uZXcgYS5CdWYzMigzMik7dD0wO3doaWxlKHQ8MTQ0KXtlLmxlbnNbdCsrXT04fXdoaWxlKHQ8MjU2KXtlLmxlbnNbdCsrXT05fXdoaWxlKHQ8MjgwKXtlLmxlbnNbdCsrXT03fXdoaWxlKHQ8Mjg4KXtlLmxlbnNbdCsrXT04fWwobyxlLmxlbnMsMCwyODgsbmUsMCxlLndvcmsse2JpdHM6OX0pO3Q9MDt3aGlsZSh0PDMyKXtlLmxlbnNbdCsrXT01fWwoaCxlLmxlbnMsMCwzMixzZSwwLGUud29yayx7Yml0czo1fSk7cmU9ZmFsc2V9ZS5sZW5jb2RlPW5lO2UubGVuYml0cz05O2UuZGlzdGNvZGU9c2U7ZS5kaXN0Yml0cz01fWZ1bmN0aW9uIHVwZGF0ZXdpbmRvdyhlLHQsaSxyKXt2YXIgbjt2YXIgcz1lLnN0YXRlO2lmKHMud2luZG93PT09bnVsbCl7cy53c2l6ZT0xPDxzLndiaXRzO3Mud25leHQ9MDtzLndoYXZlPTA7cy53aW5kb3c9bmV3IGEuQnVmOChzLndzaXplKX1pZihyPj1zLndzaXplKXthLmFycmF5U2V0KHMud2luZG93LHQsaS1zLndzaXplLHMud3NpemUsMCk7cy53bmV4dD0wO3Mud2hhdmU9cy53c2l6ZX1lbHNle249cy53c2l6ZS1zLnduZXh0O2lmKG4+cil7bj1yfWEuYXJyYXlTZXQocy53aW5kb3csdCxpLXIsbixzLnduZXh0KTtyLT1uO2lmKHIpe2EuYXJyYXlTZXQocy53aW5kb3csdCxpLXIsciwwKTtzLnduZXh0PXI7cy53aGF2ZT1zLndzaXplfWVsc2V7cy53bmV4dCs9bjtpZihzLnduZXh0PT09cy53c2l6ZSl7cy53bmV4dD0wfWlmKHMud2hhdmU8cy53c2l6ZSl7cy53aGF2ZSs9bn19fXJldHVybiAwfWZ1bmN0aW9uIGluZmxhdGUoZSx0KXt2YXIgaTt2YXIgZWUsdGU7dmFyIGllO3ZhciBhZTt2YXIgcmUsbmU7dmFyIHNlO3ZhciBsZTt2YXIgZmUsb2U7dmFyIGhlO3ZhciBfZTt2YXIgZGU7dmFyIHVlPTA7dmFyIGNlLHZlLGJlO3ZhciB3ZSxwZSxnZTt2YXIgbWU7dmFyIGtlO3ZhciB5ZT1uZXcgYS5CdWY4KDQpO3ZhciBFZTt2YXIgemU7dmFyIFplPVsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XTtpZighZXx8IWUuc3RhdGV8fCFlLm91dHB1dHx8IWUuaW5wdXQmJmUuYXZhaWxfaW4hPT0wKXtyZXR1cm4gd31pPWUuc3RhdGU7aWYoaS5tb2RlPT09Ril7aS5tb2RlPU59YWU9ZS5uZXh0X291dDt0ZT1lLm91dHB1dDtuZT1lLmF2YWlsX291dDtpZT1lLm5leHRfaW47ZWU9ZS5pbnB1dDtyZT1lLmF2YWlsX2luO3NlPWkuaG9sZDtsZT1pLmJpdHM7ZmU9cmU7b2U9bmU7a2U9YztlOmZvcig7Oyl7c3dpdGNoKGkubW9kZSl7Y2FzZSB5OmlmKGkud3JhcD09PTApe2kubW9kZT1OO2JyZWFrfXdoaWxlKGxlPDE2KXtpZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fWlmKGkud3JhcCYyJiZzZT09PTM1NjE1KXtpLmNoZWNrPTA7eWVbMF09c2UmMjU1O3llWzFdPXNlPj4+OCYyNTU7aS5jaGVjaz1uKGkuY2hlY2sseWUsMiwwKTtzZT0wO2xlPTA7aS5tb2RlPUU7YnJlYWt9aS5mbGFncz0wO2lmKGkuaGVhZCl7aS5oZWFkLmRvbmU9ZmFsc2V9aWYoIShpLndyYXAmMSl8fCgoKHNlJjI1NSk8PDgpKyhzZT4+OCkpJTMxKXtlLm1zZz1cImluY29ycmVjdCBoZWFkZXIgY2hlY2tcIjtpLm1vZGU9SjticmVha31pZigoc2UmMTUpIT09ayl7ZS5tc2c9XCJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZFwiO2kubW9kZT1KO2JyZWFrfXNlPj4+PTQ7bGUtPTQ7bWU9KHNlJjE1KSs4O2lmKGkud2JpdHM9PT0wKXtpLndiaXRzPW1lfWVsc2UgaWYobWU+aS53Yml0cyl7ZS5tc2c9XCJpbnZhbGlkIHdpbmRvdyBzaXplXCI7aS5tb2RlPUo7YnJlYWt9aS5kbWF4PTE8PG1lO2UuYWRsZXI9aS5jaGVjaz0xO2kubW9kZT1zZSY1MTI/QTpGO3NlPTA7bGU9MDticmVhaztjYXNlIEU6d2hpbGUobGU8MTYpe2lmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9aS5mbGFncz1zZTtpZigoaS5mbGFncyYyNTUpIT09ayl7ZS5tc2c9XCJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZFwiO2kubW9kZT1KO2JyZWFrfWlmKGkuZmxhZ3MmNTczNDQpe2UubXNnPVwidW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0XCI7aS5tb2RlPUo7YnJlYWt9aWYoaS5oZWFkKXtpLmhlYWQudGV4dD1zZT4+OCYxfWlmKGkuZmxhZ3MmNTEyKXt5ZVswXT1zZSYyNTU7eWVbMV09c2U+Pj44JjI1NTtpLmNoZWNrPW4oaS5jaGVjayx5ZSwyLDApfXNlPTA7bGU9MDtpLm1vZGU9ejtjYXNlIHo6d2hpbGUobGU8MzIpe2lmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9aWYoaS5oZWFkKXtpLmhlYWQudGltZT1zZX1pZihpLmZsYWdzJjUxMil7eWVbMF09c2UmMjU1O3llWzFdPXNlPj4+OCYyNTU7eWVbMl09c2U+Pj4xNiYyNTU7eWVbM109c2U+Pj4yNCYyNTU7aS5jaGVjaz1uKGkuY2hlY2sseWUsNCwwKX1zZT0wO2xlPTA7aS5tb2RlPVo7Y2FzZSBaOndoaWxlKGxlPDE2KXtpZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fWlmKGkuaGVhZCl7aS5oZWFkLnhmbGFncz1zZSYyNTU7aS5oZWFkLm9zPXNlPj44fWlmKGkuZmxhZ3MmNTEyKXt5ZVswXT1zZSYyNTU7eWVbMV09c2U+Pj44JjI1NTtpLmNoZWNrPW4oaS5jaGVjayx5ZSwyLDApfXNlPTA7bGU9MDtpLm1vZGU9eDtjYXNlIHg6aWYoaS5mbGFncyYxMDI0KXt3aGlsZShsZTwxNil7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1pLmxlbmd0aD1zZTtpZihpLmhlYWQpe2kuaGVhZC5leHRyYV9sZW49c2V9aWYoaS5mbGFncyY1MTIpe3llWzBdPXNlJjI1NTt5ZVsxXT1zZT4+PjgmMjU1O2kuY2hlY2s9bihpLmNoZWNrLHllLDIsMCl9c2U9MDtsZT0wfWVsc2UgaWYoaS5oZWFkKXtpLmhlYWQuZXh0cmE9bnVsbH1pLm1vZGU9STtjYXNlIEk6aWYoaS5mbGFncyYxMDI0KXtoZT1pLmxlbmd0aDtpZihoZT5yZSl7aGU9cmV9aWYoaGUpe2lmKGkuaGVhZCl7bWU9aS5oZWFkLmV4dHJhX2xlbi1pLmxlbmd0aDtpZighaS5oZWFkLmV4dHJhKXtpLmhlYWQuZXh0cmE9bmV3IEFycmF5KGkuaGVhZC5leHRyYV9sZW4pfWEuYXJyYXlTZXQoaS5oZWFkLmV4dHJhLGVlLGllLGhlLG1lKX1pZihpLmZsYWdzJjUxMil7aS5jaGVjaz1uKGkuY2hlY2ssZWUsaGUsaWUpfXJlLT1oZTtpZSs9aGU7aS5sZW5ndGgtPWhlfWlmKGkubGVuZ3RoKXticmVhayBlfX1pLmxlbmd0aD0wO2kubW9kZT1SO2Nhc2UgUjppZihpLmZsYWdzJjIwNDgpe2lmKHJlPT09MCl7YnJlYWsgZX1oZT0wO2Rve21lPWVlW2llK2hlKytdO2lmKGkuaGVhZCYmbWUmJmkubGVuZ3RoPDY1NTM2KXtpLmhlYWQubmFtZSs9U3RyaW5nLmZyb21DaGFyQ29kZShtZSl9fXdoaWxlKG1lJiZoZTxyZSk7aWYoaS5mbGFncyY1MTIpe2kuY2hlY2s9bihpLmNoZWNrLGVlLGhlLGllKX1yZS09aGU7aWUrPWhlO2lmKG1lKXticmVhayBlfX1lbHNlIGlmKGkuaGVhZCl7aS5oZWFkLm5hbWU9bnVsbH1pLmxlbmd0aD0wO2kubW9kZT1TO2Nhc2UgUzppZihpLmZsYWdzJjQwOTYpe2lmKHJlPT09MCl7YnJlYWsgZX1oZT0wO2Rve21lPWVlW2llK2hlKytdO2lmKGkuaGVhZCYmbWUmJmkubGVuZ3RoPDY1NTM2KXtpLmhlYWQuY29tbWVudCs9U3RyaW5nLmZyb21DaGFyQ29kZShtZSl9fXdoaWxlKG1lJiZoZTxyZSk7aWYoaS5mbGFncyY1MTIpe2kuY2hlY2s9bihpLmNoZWNrLGVlLGhlLGllKX1yZS09aGU7aWUrPWhlO2lmKG1lKXticmVhayBlfX1lbHNlIGlmKGkuaGVhZCl7aS5oZWFkLmNvbW1lbnQ9bnVsbH1pLm1vZGU9TDtjYXNlIEw6aWYoaS5mbGFncyY1MTIpe3doaWxlKGxlPDE2KXtpZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fWlmKHNlIT09KGkuY2hlY2smNjU1MzUpKXtlLm1zZz1cImhlYWRlciBjcmMgbWlzbWF0Y2hcIjtpLm1vZGU9SjticmVha31zZT0wO2xlPTB9aWYoaS5oZWFkKXtpLmhlYWQuaGNyYz1pLmZsYWdzPj45JjE7aS5oZWFkLmRvbmU9dHJ1ZX1lLmFkbGVyPWkuY2hlY2s9MDtpLm1vZGU9RjticmVhaztjYXNlIEE6d2hpbGUobGU8MzIpe2lmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9ZS5hZGxlcj1pLmNoZWNrPXpzd2FwMzIoc2UpO3NlPTA7bGU9MDtpLm1vZGU9VDtjYXNlIFQ6aWYoaS5oYXZlZGljdD09PTApe2UubmV4dF9vdXQ9YWU7ZS5hdmFpbF9vdXQ9bmU7ZS5uZXh0X2luPWllO2UuYXZhaWxfaW49cmU7aS5ob2xkPXNlO2kuYml0cz1sZTtyZXR1cm4gYn1lLmFkbGVyPWkuY2hlY2s9MTtpLm1vZGU9RjtjYXNlIEY6aWYodD09PWR8fHQ9PT11KXticmVhayBlfWNhc2UgTjppZihpLmxhc3Qpe3NlPj4+PWxlJjc7bGUtPWxlJjc7aS5tb2RlPVg7YnJlYWt9d2hpbGUobGU8Myl7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1pLmxhc3Q9c2UmMTtzZT4+Pj0xO2xlLT0xO3N3aXRjaChzZSYzKXtjYXNlIDA6aS5tb2RlPUQ7YnJlYWs7Y2FzZSAxOmZpeGVkdGFibGVzKGkpO2kubW9kZT1HO2lmKHQ9PT11KXtzZT4+Pj0yO2xlLT0yO2JyZWFrIGV9YnJlYWs7Y2FzZSAyOmkubW9kZT1PO2JyZWFrO2Nhc2UgMzplLm1zZz1cImludmFsaWQgYmxvY2sgdHlwZVwiO2kubW9kZT1KfXNlPj4+PTI7bGUtPTI7YnJlYWs7Y2FzZSBEOnNlPj4+PWxlJjc7bGUtPWxlJjc7d2hpbGUobGU8MzIpe2lmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9aWYoKHNlJjY1NTM1KSE9PShzZT4+PjE2XjY1NTM1KSl7ZS5tc2c9XCJpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzXCI7aS5tb2RlPUo7YnJlYWt9aS5sZW5ndGg9c2UmNjU1MzU7c2U9MDtsZT0wO2kubW9kZT1CO2lmKHQ9PT11KXticmVhayBlfWNhc2UgQjppLm1vZGU9VTtjYXNlIFU6aGU9aS5sZW5ndGg7aWYoaGUpe2lmKGhlPnJlKXtoZT1yZX1pZihoZT5uZSl7aGU9bmV9aWYoaGU9PT0wKXticmVhayBlfWEuYXJyYXlTZXQodGUsZWUsaWUsaGUsYWUpO3JlLT1oZTtpZSs9aGU7bmUtPWhlO2FlKz1oZTtpLmxlbmd0aC09aGU7YnJlYWt9aS5tb2RlPUY7YnJlYWs7Y2FzZSBPOndoaWxlKGxlPDE0KXtpZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fWkubmxlbj0oc2UmMzEpKzI1NztzZT4+Pj01O2xlLT01O2kubmRpc3Q9KHNlJjMxKSsxO3NlPj4+PTU7bGUtPTU7aS5uY29kZT0oc2UmMTUpKzQ7c2U+Pj49NDtsZS09NDtpZihpLm5sZW4+Mjg2fHxpLm5kaXN0PjMwKXtlLm1zZz1cInRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzXCI7aS5tb2RlPUo7YnJlYWt9aS5oYXZlPTA7aS5tb2RlPU07Y2FzZSBNOndoaWxlKGkuaGF2ZTxpLm5jb2RlKXt3aGlsZShsZTwzKXtpZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fWkubGVuc1taZVtpLmhhdmUrK11dPXNlJjc7c2U+Pj49MztsZS09M313aGlsZShpLmhhdmU8MTkpe2kubGVuc1taZVtpLmhhdmUrK11dPTB9aS5sZW5jb2RlPWkubGVuZHluO2kubGVuYml0cz03O0VlPXtiaXRzOmkubGVuYml0c307a2U9bChmLGkubGVucywwLDE5LGkubGVuY29kZSwwLGkud29yayxFZSk7aS5sZW5iaXRzPUVlLmJpdHM7aWYoa2Upe2UubXNnPVwiaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0XCI7aS5tb2RlPUo7YnJlYWt9aS5oYXZlPTA7aS5tb2RlPUM7Y2FzZSBDOndoaWxlKGkuaGF2ZTxpLm5sZW4raS5uZGlzdCl7Zm9yKDs7KXt1ZT1pLmxlbmNvZGVbc2UmKDE8PGkubGVuYml0cyktMV07Y2U9dWU+Pj4yNDt2ZT11ZT4+PjE2JjI1NTtiZT11ZSY2NTUzNTtpZihjZTw9bGUpe2JyZWFrfWlmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9aWYoYmU8MTYpe3NlPj4+PWNlO2xlLT1jZTtpLmxlbnNbaS5oYXZlKytdPWJlfWVsc2V7aWYoYmU9PT0xNil7emU9Y2UrMjt3aGlsZShsZTx6ZSl7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1zZT4+Pj1jZTtsZS09Y2U7aWYoaS5oYXZlPT09MCl7ZS5tc2c9XCJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0XCI7aS5tb2RlPUo7YnJlYWt9bWU9aS5sZW5zW2kuaGF2ZS0xXTtoZT0zKyhzZSYzKTtzZT4+Pj0yO2xlLT0yfWVsc2UgaWYoYmU9PT0xNyl7emU9Y2UrMzt3aGlsZShsZTx6ZSl7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1zZT4+Pj1jZTtsZS09Y2U7bWU9MDtoZT0zKyhzZSY3KTtzZT4+Pj0zO2xlLT0zfWVsc2V7emU9Y2UrNzt3aGlsZShsZTx6ZSl7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1zZT4+Pj1jZTtsZS09Y2U7bWU9MDtoZT0xMSsoc2UmMTI3KTtzZT4+Pj03O2xlLT03fWlmKGkuaGF2ZStoZT5pLm5sZW4raS5uZGlzdCl7ZS5tc2c9XCJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0XCI7aS5tb2RlPUo7YnJlYWt9d2hpbGUoaGUtLSl7aS5sZW5zW2kuaGF2ZSsrXT1tZX19fWlmKGkubW9kZT09PUope2JyZWFrfWlmKGkubGVuc1syNTZdPT09MCl7ZS5tc2c9XCJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2tcIjtpLm1vZGU9SjticmVha31pLmxlbmJpdHM9OTtFZT17Yml0czppLmxlbmJpdHN9O2tlPWwobyxpLmxlbnMsMCxpLm5sZW4saS5sZW5jb2RlLDAsaS53b3JrLEVlKTtpLmxlbmJpdHM9RWUuYml0cztpZihrZSl7ZS5tc2c9XCJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXRcIjtpLm1vZGU9SjticmVha31pLmRpc3RiaXRzPTY7aS5kaXN0Y29kZT1pLmRpc3RkeW47RWU9e2JpdHM6aS5kaXN0Yml0c307a2U9bChoLGkubGVucyxpLm5sZW4saS5uZGlzdCxpLmRpc3Rjb2RlLDAsaS53b3JrLEVlKTtpLmRpc3RiaXRzPUVlLmJpdHM7aWYoa2Upe2UubXNnPVwiaW52YWxpZCBkaXN0YW5jZXMgc2V0XCI7aS5tb2RlPUo7YnJlYWt9aS5tb2RlPUc7aWYodD09PXUpe2JyZWFrIGV9Y2FzZSBHOmkubW9kZT1IO2Nhc2UgSDppZihyZT49NiYmbmU+PTI1OCl7ZS5uZXh0X291dD1hZTtlLmF2YWlsX291dD1uZTtlLm5leHRfaW49aWU7ZS5hdmFpbF9pbj1yZTtpLmhvbGQ9c2U7aS5iaXRzPWxlO3MoZSxvZSk7YWU9ZS5uZXh0X291dDt0ZT1lLm91dHB1dDtuZT1lLmF2YWlsX291dDtpZT1lLm5leHRfaW47ZWU9ZS5pbnB1dDtyZT1lLmF2YWlsX2luO3NlPWkuaG9sZDtsZT1pLmJpdHM7aWYoaS5tb2RlPT09Ril7aS5iYWNrPS0xfWJyZWFrfWkuYmFjaz0wO2Zvcig7Oyl7dWU9aS5sZW5jb2RlW3NlJigxPDxpLmxlbmJpdHMpLTFdO2NlPXVlPj4+MjQ7dmU9dWU+Pj4xNiYyNTU7YmU9dWUmNjU1MzU7aWYoY2U8PWxlKXticmVha31pZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fWlmKHZlJiYodmUmMjQwKT09PTApe3dlPWNlO3BlPXZlO2dlPWJlO2Zvcig7Oyl7dWU9aS5sZW5jb2RlW2dlKygoc2UmKDE8PHdlK3BlKS0xKT4+d2UpXTtjZT11ZT4+PjI0O3ZlPXVlPj4+MTYmMjU1O2JlPXVlJjY1NTM1O2lmKHdlK2NlPD1sZSl7YnJlYWt9aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1zZT4+Pj13ZTtsZS09d2U7aS5iYWNrKz13ZX1zZT4+Pj1jZTtsZS09Y2U7aS5iYWNrKz1jZTtpLmxlbmd0aD1iZTtpZih2ZT09PTApe2kubW9kZT1xO2JyZWFrfWlmKHZlJjMyKXtpLmJhY2s9LTE7aS5tb2RlPUY7YnJlYWt9aWYodmUmNjQpe2UubXNnPVwiaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlXCI7aS5tb2RlPUo7YnJlYWt9aS5leHRyYT12ZSYxNTtpLm1vZGU9UDtjYXNlIFA6aWYoaS5leHRyYSl7emU9aS5leHRyYTt3aGlsZShsZTx6ZSl7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1pLmxlbmd0aCs9c2UmKDE8PGkuZXh0cmEpLTE7c2U+Pj49aS5leHRyYTtsZS09aS5leHRyYTtpLmJhY2srPWkuZXh0cmF9aS53YXM9aS5sZW5ndGg7aS5tb2RlPUs7Y2FzZSBLOmZvcig7Oyl7dWU9aS5kaXN0Y29kZVtzZSYoMTw8aS5kaXN0Yml0cyktMV07Y2U9dWU+Pj4yNDt2ZT11ZT4+PjE2JjI1NTtiZT11ZSY2NTUzNTtpZihjZTw9bGUpe2JyZWFrfWlmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9aWYoKHZlJjI0MCk9PT0wKXt3ZT1jZTtwZT12ZTtnZT1iZTtmb3IoOzspe3VlPWkuZGlzdGNvZGVbZ2UrKChzZSYoMTw8d2UrcGUpLTEpPj53ZSldO2NlPXVlPj4+MjQ7dmU9dWU+Pj4xNiYyNTU7YmU9dWUmNjU1MzU7aWYod2UrY2U8PWxlKXticmVha31pZihyZT09PTApe2JyZWFrIGV9cmUtLTtzZSs9ZWVbaWUrK108PGxlO2xlKz04fXNlPj4+PXdlO2xlLT13ZTtpLmJhY2srPXdlfXNlPj4+PWNlO2xlLT1jZTtpLmJhY2srPWNlO2lmKHZlJjY0KXtlLm1zZz1cImludmFsaWQgZGlzdGFuY2UgY29kZVwiO2kubW9kZT1KO2JyZWFrfWkub2Zmc2V0PWJlO2kuZXh0cmE9dmUmMTU7aS5tb2RlPVc7Y2FzZSBXOmlmKGkuZXh0cmEpe3plPWkuZXh0cmE7d2hpbGUobGU8emUpe2lmKHJlPT09MCl7YnJlYWsgZX1yZS0tO3NlKz1lZVtpZSsrXTw8bGU7bGUrPTh9aS5vZmZzZXQrPXNlJigxPDxpLmV4dHJhKS0xO3NlPj4+PWkuZXh0cmE7bGUtPWkuZXh0cmE7aS5iYWNrKz1pLmV4dHJhfWlmKGkub2Zmc2V0PmkuZG1heCl7ZS5tc2c9XCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiO2kubW9kZT1KO2JyZWFrfWkubW9kZT1WO2Nhc2UgVjppZihuZT09PTApe2JyZWFrIGV9aGU9b2UtbmU7aWYoaS5vZmZzZXQ+aGUpe2hlPWkub2Zmc2V0LWhlO2lmKGhlPmkud2hhdmUpe2lmKGkuc2FuZSl7ZS5tc2c9XCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiO2kubW9kZT1KO2JyZWFrfX1pZihoZT5pLnduZXh0KXtoZS09aS53bmV4dDtfZT1pLndzaXplLWhlfWVsc2V7X2U9aS53bmV4dC1oZX1pZihoZT5pLmxlbmd0aCl7aGU9aS5sZW5ndGh9ZGU9aS53aW5kb3d9ZWxzZXtkZT10ZTtfZT1hZS1pLm9mZnNldDtoZT1pLmxlbmd0aH1pZihoZT5uZSl7aGU9bmV9bmUtPWhlO2kubGVuZ3RoLT1oZTtkb3t0ZVthZSsrXT1kZVtfZSsrXX13aGlsZSgtLWhlKTtpZihpLmxlbmd0aD09PTApe2kubW9kZT1IfWJyZWFrO2Nhc2UgcTppZihuZT09PTApe2JyZWFrIGV9dGVbYWUrK109aS5sZW5ndGg7bmUtLTtpLm1vZGU9SDticmVhaztjYXNlIFg6aWYoaS53cmFwKXt3aGlsZShsZTwzMil7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2V8PWVlW2llKytdPDxsZTtsZSs9OH1vZS09bmU7ZS50b3RhbF9vdXQrPW9lO2kudG90YWwrPW9lO2lmKG9lKXtlLmFkbGVyPWkuY2hlY2s9aS5mbGFncz9uKGkuY2hlY2ssdGUsb2UsYWUtb2UpOnIoaS5jaGVjayx0ZSxvZSxhZS1vZSl9b2U9bmU7aWYoKGkuZmxhZ3M/c2U6enN3YXAzMihzZSkpIT09aS5jaGVjayl7ZS5tc2c9XCJpbmNvcnJlY3QgZGF0YSBjaGVja1wiO2kubW9kZT1KO2JyZWFrfXNlPTA7bGU9MH1pLm1vZGU9WTtjYXNlIFk6aWYoaS53cmFwJiZpLmZsYWdzKXt3aGlsZShsZTwzMil7aWYocmU9PT0wKXticmVhayBlfXJlLS07c2UrPWVlW2llKytdPDxsZTtsZSs9OH1pZihzZSE9PShpLnRvdGFsJjQyOTQ5NjcyOTUpKXtlLm1zZz1cImluY29ycmVjdCBsZW5ndGggY2hlY2tcIjtpLm1vZGU9SjticmVha31zZT0wO2xlPTB9aS5tb2RlPWo7Y2FzZSBqOmtlPXY7YnJlYWsgZTtjYXNlIEo6a2U9cDticmVhayBlO2Nhc2UgUTpyZXR1cm4gZztjYXNlICQ6ZGVmYXVsdDpyZXR1cm4gd319ZS5uZXh0X291dD1hZTtlLmF2YWlsX291dD1uZTtlLm5leHRfaW49aWU7ZS5hdmFpbF9pbj1yZTtpLmhvbGQ9c2U7aS5iaXRzPWxlO2lmKGkud3NpemV8fG9lIT09ZS5hdmFpbF9vdXQmJmkubW9kZTxKJiYoaS5tb2RlPFh8fHQhPT1fKSl7aWYodXBkYXRld2luZG93KGUsZS5vdXRwdXQsZS5uZXh0X291dCxvZS1lLmF2YWlsX291dCkpe2kubW9kZT1RO3JldHVybiBnfX1mZS09ZS5hdmFpbF9pbjtvZS09ZS5hdmFpbF9vdXQ7ZS50b3RhbF9pbis9ZmU7ZS50b3RhbF9vdXQrPW9lO2kudG90YWwrPW9lO2lmKGkud3JhcCYmb2Upe2UuYWRsZXI9aS5jaGVjaz1pLmZsYWdzP24oaS5jaGVjayx0ZSxvZSxlLm5leHRfb3V0LW9lKTpyKGkuY2hlY2ssdGUsb2UsZS5uZXh0X291dC1vZSl9ZS5kYXRhX3R5cGU9aS5iaXRzKyhpLmxhc3Q/NjQ6MCkrKGkubW9kZT09PUY/MTI4OjApKyhpLm1vZGU9PT1HfHxpLm1vZGU9PT1CPzI1NjowKTtpZigoZmU9PT0wJiZvZT09PTB8fHQ9PT1fKSYma2U9PT1jKXtrZT1tfXJldHVybiBrZX1mdW5jdGlvbiBpbmZsYXRlRW5kKGUpe2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIHd9dmFyIHQ9ZS5zdGF0ZTtpZih0LndpbmRvdyl7dC53aW5kb3c9bnVsbH1lLnN0YXRlPW51bGw7cmV0dXJuIGN9ZnVuY3Rpb24gaW5mbGF0ZUdldEhlYWRlcihlLHQpe3ZhciBpO2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIHd9aT1lLnN0YXRlO2lmKChpLndyYXAmMik9PT0wKXtyZXR1cm4gd31pLmhlYWQ9dDt0LmRvbmU9ZmFsc2U7cmV0dXJuIGN9ZnVuY3Rpb24gaW5mbGF0ZVNldERpY3Rpb25hcnkoZSx0KXt2YXIgaT10Lmxlbmd0aDt2YXIgYTt2YXIgbjt2YXIgcztpZighZXx8IWUuc3RhdGUpe3JldHVybiB3fWE9ZS5zdGF0ZTtpZihhLndyYXAhPT0wJiZhLm1vZGUhPT1UKXtyZXR1cm4gd31pZihhLm1vZGU9PT1UKXtuPTE7bj1yKG4sdCxpLDApO2lmKG4hPT1hLmNoZWNrKXtyZXR1cm4gcH19cz11cGRhdGV3aW5kb3coZSx0LGksaSk7aWYocyl7YS5tb2RlPVE7cmV0dXJuIGd9YS5oYXZlZGljdD0xO3JldHVybiBjfXQuaW5mbGF0ZVJlc2V0PWluZmxhdGVSZXNldDt0LmluZmxhdGVSZXNldDI9aW5mbGF0ZVJlc2V0Mjt0LmluZmxhdGVSZXNldEtlZXA9aW5mbGF0ZVJlc2V0S2VlcDt0LmluZmxhdGVJbml0PWluZmxhdGVJbml0O3QuaW5mbGF0ZUluaXQyPWluZmxhdGVJbml0Mjt0LmluZmxhdGU9aW5mbGF0ZTt0LmluZmxhdGVFbmQ9aW5mbGF0ZUVuZDt0LmluZmxhdGVHZXRIZWFkZXI9aW5mbGF0ZUdldEhlYWRlcjt0LmluZmxhdGVTZXREaWN0aW9uYXJ5PWluZmxhdGVTZXREaWN0aW9uYXJ5O3QuaW5mbGF0ZUluZm89XCJwYWtvIGluZmxhdGUgKGZyb20gTm9kZWNhIHByb2plY3QpXCJ9LDE5OmZ1bmN0aW9uKGUsdCxpKXt2YXIgYT1pKDM4MCk7dmFyIHI9MTU7dmFyIG49ODUyO3ZhciBzPTU5Mjt2YXIgbD0wO3ZhciBmPTE7dmFyIG89Mjt2YXIgaD1bMyw0LDUsNiw3LDgsOSwxMCwxMSwxMywxNSwxNywxOSwyMywyNywzMSwzNSw0Myw1MSw1OSw2Nyw4Myw5OSwxMTUsMTMxLDE2MywxOTUsMjI3LDI1OCwwLDBdO3ZhciBfPVsxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF07dmFyIGQ9WzEsMiwzLDQsNSw3LDksMTMsMTcsMjUsMzMsNDksNjUsOTcsMTI5LDE5MywyNTcsMzg1LDUxMyw3NjksMTAyNSwxNTM3LDIwNDksMzA3Myw0MDk3LDYxNDUsODE5MywxMjI4OSwxNjM4NSwyNDU3NywwLDBdO3ZhciB1PVsxNiwxNiwxNiwxNiwxNywxNywxOCwxOCwxOSwxOSwyMCwyMCwyMSwyMSwyMiwyMiwyMywyMywyNCwyNCwyNSwyNSwyNiwyNiwyNywyNywyOCwyOCwyOSwyOSw2NCw2NF07ZS5leHBvcnRzPWZ1bmN0aW9uIGluZmxhdGVfdGFibGUoZSx0LGksYyx2LGIsdyxwKXt2YXIgZz1wLmJpdHM7dmFyIG09MDt2YXIgaz0wO3ZhciB5PTAsRT0wO3ZhciB6PTA7dmFyIFo9MDt2YXIgeD0wO3ZhciBJPTA7dmFyIFI9MDt2YXIgUz0wO3ZhciBMO3ZhciBBO3ZhciBUO3ZhciBGO3ZhciBOO3ZhciBEPW51bGw7dmFyIEI9MDt2YXIgVTt2YXIgTz1uZXcgYS5CdWYxNihyKzEpO3ZhciBNPW5ldyBhLkJ1ZjE2KHIrMSk7dmFyIEM9bnVsbDt2YXIgRz0wO3ZhciBILFAsSztmb3IobT0wO208PXI7bSsrKXtPW21dPTB9Zm9yKGs9MDtrPGM7aysrKXtPW3RbaStrXV0rK316PWc7Zm9yKEU9cjtFPj0xO0UtLSl7aWYoT1tFXSE9PTApe2JyZWFrfX1pZih6PkUpe3o9RX1pZihFPT09MCl7dltiKytdPTE8PDI0fDY0PDwxNnwwO3ZbYisrXT0xPDwyNHw2NDw8MTZ8MDtwLmJpdHM9MTtyZXR1cm4gMH1mb3IoeT0xO3k8RTt5Kyspe2lmKE9beV0hPT0wKXticmVha319aWYoejx5KXt6PXl9ST0xO2ZvcihtPTE7bTw9cjttKyspe0k8PD0xO0ktPU9bbV07aWYoSTwwKXtyZXR1cm4tMX19aWYoST4wJiYoZT09PWx8fEUhPT0xKSl7cmV0dXJuLTF9TVsxXT0wO2ZvcihtPTE7bTxyO20rKyl7TVttKzFdPU1bbV0rT1ttXX1mb3Ioaz0wO2s8YztrKyspe2lmKHRbaStrXSE9PTApe3dbTVt0W2kra11dKytdPWt9fWlmKGU9PT1sKXtEPUM9dztVPTE5fWVsc2UgaWYoZT09PWYpe0Q9aDtCLT0yNTc7Qz1fO0ctPTI1NztVPTI1Nn1lbHNle0Q9ZDtDPXU7VT0tMX1TPTA7az0wO209eTtOPWI7Wj16O3g9MDtUPS0xO1I9MTw8ejtGPVItMTtpZihlPT09ZiYmUj5ufHxlPT09byYmUj5zKXtyZXR1cm4gMX1mb3IoOzspe0g9bS14O2lmKHdba108VSl7UD0wO0s9d1trXX1lbHNlIGlmKHdba10+VSl7UD1DW0crd1trXV07Sz1EW0Ird1trXV19ZWxzZXtQPTMyKzY0O0s9MH1MPTE8PG0teDtBPTE8PFo7eT1BO2Rve0EtPUw7dltOKyhTPj54KStBXT1IPDwyNHxQPDwxNnxLfDB9d2hpbGUoQSE9PTApO0w9MTw8bS0xO3doaWxlKFMmTCl7TD4+PTF9aWYoTCE9PTApe1MmPUwtMTtTKz1MfWVsc2V7Uz0wfWsrKztpZigtLU9bbV09PT0wKXtpZihtPT09RSl7YnJlYWt9bT10W2krd1trXV19aWYobT56JiYoUyZGKSE9PVQpe2lmKHg9PT0wKXt4PXp9Tis9eTtaPW0teDtJPTE8PFo7d2hpbGUoWit4PEUpe0ktPU9bWit4XTtpZihJPD0wKXticmVha31aKys7STw8PTF9Uis9MTw8WjtpZihlPT09ZiYmUj5ufHxlPT09byYmUj5zKXtyZXR1cm4gMX1UPVMmRjt2W1RdPXo8PDI0fFo8PDE2fE4tYnwwfX1pZihTIT09MCl7dltOK1NdPW0teDw8MjR8NjQ8PDE2fDB9cC5iaXRzPXo7cmV0dXJuIDB9fSwzMTpmdW5jdGlvbihlKXtlLmV4cG9ydHM9ezI6XCJuZWVkIGRpY3Rpb25hcnlcIiwxOlwic3RyZWFtIGVuZFwiLDA6XCJcIixcIi0xXCI6XCJmaWxlIGVycm9yXCIsXCItMlwiOlwic3RyZWFtIGVycm9yXCIsXCItM1wiOlwiZGF0YSBlcnJvclwiLFwiLTRcIjpcImluc3VmZmljaWVudCBtZW1vcnlcIixcIi01XCI6XCJidWZmZXIgZXJyb3JcIixcIi02XCI6XCJpbmNvbXBhdGlibGUgdmVyc2lvblwifX0sODQyOmZ1bmN0aW9uKGUsdCxpKXt2YXIgYT1pKDM4MCk7dmFyIHI9NDt2YXIgbj0wO3ZhciBzPTE7dmFyIGw9MjtmdW5jdGlvbiB6ZXJvKGUpe3ZhciB0PWUubGVuZ3RoO3doaWxlKC0tdD49MCl7ZVt0XT0wfX12YXIgZj0wO3ZhciBvPTE7dmFyIGg9Mjt2YXIgXz0zO3ZhciBkPTI1ODt2YXIgdT0yOTt2YXIgYz0yNTY7dmFyIHY9YysxK3U7dmFyIGI9MzA7dmFyIHc9MTk7dmFyIHA9Mip2KzE7dmFyIGc9MTU7dmFyIG09MTY7dmFyIGs9Nzt2YXIgeT0yNTY7dmFyIEU9MTY7dmFyIHo9MTc7dmFyIFo9MTg7dmFyIHg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF07dmFyIEk9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdO3ZhciBSPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XTt2YXIgUz1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV07dmFyIEw9NTEyO3ZhciBBPW5ldyBBcnJheSgodisyKSoyKTt6ZXJvKEEpO3ZhciBUPW5ldyBBcnJheShiKjIpO3plcm8oVCk7dmFyIEY9bmV3IEFycmF5KEwpO3plcm8oRik7dmFyIE49bmV3IEFycmF5KGQtXysxKTt6ZXJvKE4pO3ZhciBEPW5ldyBBcnJheSh1KTt6ZXJvKEQpO3ZhciBCPW5ldyBBcnJheShiKTt6ZXJvKEIpO2Z1bmN0aW9uIFN0YXRpY1RyZWVEZXNjKGUsdCxpLGEscil7dGhpcy5zdGF0aWNfdHJlZT1lO3RoaXMuZXh0cmFfYml0cz10O3RoaXMuZXh0cmFfYmFzZT1pO3RoaXMuZWxlbXM9YTt0aGlzLm1heF9sZW5ndGg9cjt0aGlzLmhhc19zdHJlZT1lJiZlLmxlbmd0aH12YXIgVTt2YXIgTzt2YXIgTTtmdW5jdGlvbiBUcmVlRGVzYyhlLHQpe3RoaXMuZHluX3RyZWU9ZTt0aGlzLm1heF9jb2RlPTA7dGhpcy5zdGF0X2Rlc2M9dH1mdW5jdGlvbiBkX2NvZGUoZSl7cmV0dXJuIGU8MjU2P0ZbZV06RlsyNTYrKGU+Pj43KV19ZnVuY3Rpb24gcHV0X3Nob3J0KGUsdCl7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109dCYyNTU7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109dD4+PjgmMjU1fWZ1bmN0aW9uIHNlbmRfYml0cyhlLHQsaSl7aWYoZS5iaV92YWxpZD5tLWkpe2UuYmlfYnVmfD10PDxlLmJpX3ZhbGlkJjY1NTM1O3B1dF9zaG9ydChlLGUuYmlfYnVmKTtlLmJpX2J1Zj10Pj5tLWUuYmlfdmFsaWQ7ZS5iaV92YWxpZCs9aS1tfWVsc2V7ZS5iaV9idWZ8PXQ8PGUuYmlfdmFsaWQmNjU1MzU7ZS5iaV92YWxpZCs9aX19ZnVuY3Rpb24gc2VuZF9jb2RlKGUsdCxpKXtzZW5kX2JpdHMoZSxpW3QqMl0saVt0KjIrMV0pfWZ1bmN0aW9uIGJpX3JldmVyc2UoZSx0KXt2YXIgaT0wO2Rve2l8PWUmMTtlPj4+PTE7aTw8PTF9d2hpbGUoLS10PjApO3JldHVybiBpPj4+MX1mdW5jdGlvbiBiaV9mbHVzaChlKXtpZihlLmJpX3ZhbGlkPT09MTYpe3B1dF9zaG9ydChlLGUuYmlfYnVmKTtlLmJpX2J1Zj0wO2UuYmlfdmFsaWQ9MH1lbHNlIGlmKGUuYmlfdmFsaWQ+PTgpe2UucGVuZGluZ19idWZbZS5wZW5kaW5nKytdPWUuYmlfYnVmJjI1NTtlLmJpX2J1Zj4+PTg7ZS5iaV92YWxpZC09OH19ZnVuY3Rpb24gZ2VuX2JpdGxlbihlLHQpe3ZhciBpPXQuZHluX3RyZWU7dmFyIGE9dC5tYXhfY29kZTt2YXIgcj10LnN0YXRfZGVzYy5zdGF0aWNfdHJlZTt2YXIgbj10LnN0YXRfZGVzYy5oYXNfc3RyZWU7dmFyIHM9dC5zdGF0X2Rlc2MuZXh0cmFfYml0czt2YXIgbD10LnN0YXRfZGVzYy5leHRyYV9iYXNlO3ZhciBmPXQuc3RhdF9kZXNjLm1heF9sZW5ndGg7dmFyIG87dmFyIGgsXzt2YXIgZDt2YXIgdTt2YXIgYzt2YXIgdj0wO2ZvcihkPTA7ZDw9ZztkKyspe2UuYmxfY291bnRbZF09MH1pW2UuaGVhcFtlLmhlYXBfbWF4XSoyKzFdPTA7Zm9yKG89ZS5oZWFwX21heCsxO288cDtvKyspe2g9ZS5oZWFwW29dO2Q9aVtpW2gqMisxXSoyKzFdKzE7aWYoZD5mKXtkPWY7disrfWlbaCoyKzFdPWQ7aWYoaD5hKXtjb250aW51ZX1lLmJsX2NvdW50W2RdKys7dT0wO2lmKGg+PWwpe3U9c1toLWxdfWM9aVtoKjJdO2Uub3B0X2xlbis9YyooZCt1KTtpZihuKXtlLnN0YXRpY19sZW4rPWMqKHJbaCoyKzFdK3UpfX1pZih2PT09MCl7cmV0dXJufWRve2Q9Zi0xO3doaWxlKGUuYmxfY291bnRbZF09PT0wKXtkLS19ZS5ibF9jb3VudFtkXS0tO2UuYmxfY291bnRbZCsxXSs9MjtlLmJsX2NvdW50W2ZdLS07di09Mn13aGlsZSh2PjApO2ZvcihkPWY7ZCE9PTA7ZC0tKXtoPWUuYmxfY291bnRbZF07d2hpbGUoaCE9PTApe189ZS5oZWFwWy0tb107aWYoXz5hKXtjb250aW51ZX1pZihpW18qMisxXSE9PWQpe2Uub3B0X2xlbis9KGQtaVtfKjIrMV0pKmlbXyoyXTtpW18qMisxXT1kfWgtLX19fWZ1bmN0aW9uIGdlbl9jb2RlcyhlLHQsaSl7dmFyIGE9bmV3IEFycmF5KGcrMSk7dmFyIHI9MDt2YXIgbjt2YXIgcztmb3Iobj0xO248PWc7bisrKXthW25dPXI9citpW24tMV08PDF9Zm9yKHM9MDtzPD10O3MrKyl7dmFyIGw9ZVtzKjIrMV07aWYobD09PTApe2NvbnRpbnVlfWVbcyoyXT1iaV9yZXZlcnNlKGFbbF0rKyxsKX19ZnVuY3Rpb24gdHJfc3RhdGljX2luaXQoKXt2YXIgZTt2YXIgdDt2YXIgaTt2YXIgYTt2YXIgcjt2YXIgbj1uZXcgQXJyYXkoZysxKTtpPTA7Zm9yKGE9MDthPHUtMTthKyspe0RbYV09aTtmb3IoZT0wO2U8MTw8eFthXTtlKyspe05baSsrXT1hfX1OW2ktMV09YTtyPTA7Zm9yKGE9MDthPDE2O2ErKyl7QlthXT1yO2ZvcihlPTA7ZTwxPDxJW2FdO2UrKyl7RltyKytdPWF9fXI+Pj03O2Zvcig7YTxiO2ErKyl7QlthXT1yPDw3O2ZvcihlPTA7ZTwxPDxJW2FdLTc7ZSsrKXtGWzI1NityKytdPWF9fWZvcih0PTA7dDw9Zzt0Kyspe25bdF09MH1lPTA7d2hpbGUoZTw9MTQzKXtBW2UqMisxXT04O2UrKztuWzhdKyt9d2hpbGUoZTw9MjU1KXtBW2UqMisxXT05O2UrKztuWzldKyt9d2hpbGUoZTw9Mjc5KXtBW2UqMisxXT03O2UrKztuWzddKyt9d2hpbGUoZTw9Mjg3KXtBW2UqMisxXT04O2UrKztuWzhdKyt9Z2VuX2NvZGVzKEEsdisxLG4pO2ZvcihlPTA7ZTxiO2UrKyl7VFtlKjIrMV09NTtUW2UqMl09YmlfcmV2ZXJzZShlLDUpfVU9bmV3IFN0YXRpY1RyZWVEZXNjKEEseCxjKzEsdixnKTtPPW5ldyBTdGF0aWNUcmVlRGVzYyhULEksMCxiLGcpO009bmV3IFN0YXRpY1RyZWVEZXNjKG5ldyBBcnJheSgwKSxSLDAsdyxrKX1mdW5jdGlvbiBpbml0X2Jsb2NrKGUpe3ZhciB0O2Zvcih0PTA7dDx2O3QrKyl7ZS5keW5fbHRyZWVbdCoyXT0wfWZvcih0PTA7dDxiO3QrKyl7ZS5keW5fZHRyZWVbdCoyXT0wfWZvcih0PTA7dDx3O3QrKyl7ZS5ibF90cmVlW3QqMl09MH1lLmR5bl9sdHJlZVt5KjJdPTE7ZS5vcHRfbGVuPWUuc3RhdGljX2xlbj0wO2UubGFzdF9saXQ9ZS5tYXRjaGVzPTB9ZnVuY3Rpb24gYmlfd2luZHVwKGUpe2lmKGUuYmlfdmFsaWQ+OCl7cHV0X3Nob3J0KGUsZS5iaV9idWYpfWVsc2UgaWYoZS5iaV92YWxpZD4wKXtlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXT1lLmJpX2J1Zn1lLmJpX2J1Zj0wO2UuYmlfdmFsaWQ9MH1mdW5jdGlvbiBjb3B5X2Jsb2NrKGUsdCxpLHIpe2JpX3dpbmR1cChlKTtpZihyKXtwdXRfc2hvcnQoZSxpKTtwdXRfc2hvcnQoZSx+aSl9YS5hcnJheVNldChlLnBlbmRpbmdfYnVmLGUud2luZG93LHQsaSxlLnBlbmRpbmcpO2UucGVuZGluZys9aX1mdW5jdGlvbiBzbWFsbGVyKGUsdCxpLGEpe3ZhciByPXQqMjt2YXIgbj1pKjI7cmV0dXJuIGVbcl08ZVtuXXx8ZVtyXT09PWVbbl0mJmFbdF08PWFbaV19ZnVuY3Rpb24gcHFkb3duaGVhcChlLHQsaSl7dmFyIGE9ZS5oZWFwW2ldO3ZhciByPWk8PDE7d2hpbGUocjw9ZS5oZWFwX2xlbil7aWYocjxlLmhlYXBfbGVuJiZzbWFsbGVyKHQsZS5oZWFwW3IrMV0sZS5oZWFwW3JdLGUuZGVwdGgpKXtyKyt9aWYoc21hbGxlcih0LGEsZS5oZWFwW3JdLGUuZGVwdGgpKXticmVha31lLmhlYXBbaV09ZS5oZWFwW3JdO2k9cjtyPDw9MX1lLmhlYXBbaV09YX1mdW5jdGlvbiBjb21wcmVzc19ibG9jayhlLHQsaSl7dmFyIGE7dmFyIHI7dmFyIG49MDt2YXIgczt2YXIgbDtpZihlLmxhc3RfbGl0IT09MCl7ZG97YT1lLnBlbmRpbmdfYnVmW2UuZF9idWYrbioyXTw8OHxlLnBlbmRpbmdfYnVmW2UuZF9idWYrbioyKzFdO3I9ZS5wZW5kaW5nX2J1ZltlLmxfYnVmK25dO24rKztpZihhPT09MCl7c2VuZF9jb2RlKGUscix0KX1lbHNle3M9TltyXTtzZW5kX2NvZGUoZSxzK2MrMSx0KTtsPXhbc107aWYobCE9PTApe3ItPURbc107c2VuZF9iaXRzKGUscixsKX1hLS07cz1kX2NvZGUoYSk7c2VuZF9jb2RlKGUscyxpKTtsPUlbc107aWYobCE9PTApe2EtPUJbc107c2VuZF9iaXRzKGUsYSxsKX19fXdoaWxlKG48ZS5sYXN0X2xpdCl9c2VuZF9jb2RlKGUseSx0KX1mdW5jdGlvbiBidWlsZF90cmVlKGUsdCl7dmFyIGk9dC5keW5fdHJlZTt2YXIgYT10LnN0YXRfZGVzYy5zdGF0aWNfdHJlZTt2YXIgcj10LnN0YXRfZGVzYy5oYXNfc3RyZWU7dmFyIG49dC5zdGF0X2Rlc2MuZWxlbXM7dmFyIHMsbDt2YXIgZj0tMTt2YXIgbztlLmhlYXBfbGVuPTA7ZS5oZWFwX21heD1wO2ZvcihzPTA7czxuO3MrKyl7aWYoaVtzKjJdIT09MCl7ZS5oZWFwWysrZS5oZWFwX2xlbl09Zj1zO2UuZGVwdGhbc109MH1lbHNle2lbcyoyKzFdPTB9fXdoaWxlKGUuaGVhcF9sZW48Mil7bz1lLmhlYXBbKytlLmhlYXBfbGVuXT1mPDI/KytmOjA7aVtvKjJdPTE7ZS5kZXB0aFtvXT0wO2Uub3B0X2xlbi0tO2lmKHIpe2Uuc3RhdGljX2xlbi09YVtvKjIrMV19fXQubWF4X2NvZGU9Zjtmb3Iocz1lLmhlYXBfbGVuPj4xO3M+PTE7cy0tKXtwcWRvd25oZWFwKGUsaSxzKX1vPW47ZG97cz1lLmhlYXBbMV07ZS5oZWFwWzFdPWUuaGVhcFtlLmhlYXBfbGVuLS1dO3BxZG93bmhlYXAoZSxpLDEpO2w9ZS5oZWFwWzFdO2UuaGVhcFstLWUuaGVhcF9tYXhdPXM7ZS5oZWFwWy0tZS5oZWFwX21heF09bDtpW28qMl09aVtzKjJdK2lbbCoyXTtlLmRlcHRoW29dPShlLmRlcHRoW3NdPj1lLmRlcHRoW2xdP2UuZGVwdGhbc106ZS5kZXB0aFtsXSkrMTtpW3MqMisxXT1pW2wqMisxXT1vO2UuaGVhcFsxXT1vKys7cHFkb3duaGVhcChlLGksMSl9d2hpbGUoZS5oZWFwX2xlbj49Mik7ZS5oZWFwWy0tZS5oZWFwX21heF09ZS5oZWFwWzFdO2dlbl9iaXRsZW4oZSx0KTtnZW5fY29kZXMoaSxmLGUuYmxfY291bnQpfWZ1bmN0aW9uIHNjYW5fdHJlZShlLHQsaSl7dmFyIGE7dmFyIHI9LTE7dmFyIG47dmFyIHM9dFswKjIrMV07dmFyIGw9MDt2YXIgZj03O3ZhciBvPTQ7aWYocz09PTApe2Y9MTM4O289M310WyhpKzEpKjIrMV09NjU1MzU7Zm9yKGE9MDthPD1pO2ErKyl7bj1zO3M9dFsoYSsxKSoyKzFdO2lmKCsrbDxmJiZuPT09cyl7Y29udGludWV9ZWxzZSBpZihsPG8pe2UuYmxfdHJlZVtuKjJdKz1sfWVsc2UgaWYobiE9PTApe2lmKG4hPT1yKXtlLmJsX3RyZWVbbioyXSsrfWUuYmxfdHJlZVtFKjJdKyt9ZWxzZSBpZihsPD0xMCl7ZS5ibF90cmVlW3oqMl0rK31lbHNle2UuYmxfdHJlZVtaKjJdKyt9bD0wO3I9bjtpZihzPT09MCl7Zj0xMzg7bz0zfWVsc2UgaWYobj09PXMpe2Y9NjtvPTN9ZWxzZXtmPTc7bz00fX19ZnVuY3Rpb24gc2VuZF90cmVlKGUsdCxpKXt2YXIgYTt2YXIgcj0tMTt2YXIgbjt2YXIgcz10WzAqMisxXTt2YXIgbD0wO3ZhciBmPTc7dmFyIG89NDtpZihzPT09MCl7Zj0xMzg7bz0zfWZvcihhPTA7YTw9aTthKyspe249cztzPXRbKGErMSkqMisxXTtpZigrK2w8ZiYmbj09PXMpe2NvbnRpbnVlfWVsc2UgaWYobDxvKXtkb3tzZW5kX2NvZGUoZSxuLGUuYmxfdHJlZSl9d2hpbGUoLS1sIT09MCl9ZWxzZSBpZihuIT09MCl7aWYobiE9PXIpe3NlbmRfY29kZShlLG4sZS5ibF90cmVlKTtsLS19c2VuZF9jb2RlKGUsRSxlLmJsX3RyZWUpO3NlbmRfYml0cyhlLGwtMywyKX1lbHNlIGlmKGw8PTEwKXtzZW5kX2NvZGUoZSx6LGUuYmxfdHJlZSk7c2VuZF9iaXRzKGUsbC0zLDMpfWVsc2V7c2VuZF9jb2RlKGUsWixlLmJsX3RyZWUpO3NlbmRfYml0cyhlLGwtMTEsNyl9bD0wO3I9bjtpZihzPT09MCl7Zj0xMzg7bz0zfWVsc2UgaWYobj09PXMpe2Y9NjtvPTN9ZWxzZXtmPTc7bz00fX19ZnVuY3Rpb24gYnVpbGRfYmxfdHJlZShlKXt2YXIgdDtzY2FuX3RyZWUoZSxlLmR5bl9sdHJlZSxlLmxfZGVzYy5tYXhfY29kZSk7c2Nhbl90cmVlKGUsZS5keW5fZHRyZWUsZS5kX2Rlc2MubWF4X2NvZGUpO2J1aWxkX3RyZWUoZSxlLmJsX2Rlc2MpO2Zvcih0PXctMTt0Pj0zO3QtLSl7aWYoZS5ibF90cmVlW1NbdF0qMisxXSE9PTApe2JyZWFrfX1lLm9wdF9sZW4rPTMqKHQrMSkrNSs1KzQ7cmV0dXJuIHR9ZnVuY3Rpb24gc2VuZF9hbGxfdHJlZXMoZSx0LGksYSl7dmFyIHI7c2VuZF9iaXRzKGUsdC0yNTcsNSk7c2VuZF9iaXRzKGUsaS0xLDUpO3NlbmRfYml0cyhlLGEtNCw0KTtmb3Iocj0wO3I8YTtyKyspe3NlbmRfYml0cyhlLGUuYmxfdHJlZVtTW3JdKjIrMV0sMyl9c2VuZF90cmVlKGUsZS5keW5fbHRyZWUsdC0xKTtzZW5kX3RyZWUoZSxlLmR5bl9kdHJlZSxpLTEpfWZ1bmN0aW9uIGRldGVjdF9kYXRhX3R5cGUoZSl7dmFyIHQ9NDA5MzYyNDQ0Nzt2YXIgaTtmb3IoaT0wO2k8PTMxO2krKyx0Pj4+PTEpe2lmKHQmMSYmZS5keW5fbHRyZWVbaSoyXSE9PTApe3JldHVybiBufX1pZihlLmR5bl9sdHJlZVs5KjJdIT09MHx8ZS5keW5fbHRyZWVbMTAqMl0hPT0wfHxlLmR5bl9sdHJlZVsxMyoyXSE9PTApe3JldHVybiBzfWZvcihpPTMyO2k8YztpKyspe2lmKGUuZHluX2x0cmVlW2kqMl0hPT0wKXtyZXR1cm4gc319cmV0dXJuIG59dmFyIEM9ZmFsc2U7ZnVuY3Rpb24gX3RyX2luaXQoZSl7aWYoIUMpe3RyX3N0YXRpY19pbml0KCk7Qz10cnVlfWUubF9kZXNjPW5ldyBUcmVlRGVzYyhlLmR5bl9sdHJlZSxVKTtlLmRfZGVzYz1uZXcgVHJlZURlc2MoZS5keW5fZHRyZWUsTyk7ZS5ibF9kZXNjPW5ldyBUcmVlRGVzYyhlLmJsX3RyZWUsTSk7ZS5iaV9idWY9MDtlLmJpX3ZhbGlkPTA7aW5pdF9ibG9jayhlKX1mdW5jdGlvbiBfdHJfc3RvcmVkX2Jsb2NrKGUsdCxpLGEpe3NlbmRfYml0cyhlLChmPDwxKSsoYT8xOjApLDMpO2NvcHlfYmxvY2soZSx0LGksdHJ1ZSl9ZnVuY3Rpb24gX3RyX2FsaWduKGUpe3NlbmRfYml0cyhlLG88PDEsMyk7c2VuZF9jb2RlKGUseSxBKTtiaV9mbHVzaChlKX1mdW5jdGlvbiBfdHJfZmx1c2hfYmxvY2soZSx0LGksYSl7dmFyIG4sczt2YXIgZj0wO2lmKGUubGV2ZWw+MCl7aWYoZS5zdHJtLmRhdGFfdHlwZT09PWwpe2Uuc3RybS5kYXRhX3R5cGU9ZGV0ZWN0X2RhdGFfdHlwZShlKX1idWlsZF90cmVlKGUsZS5sX2Rlc2MpO2J1aWxkX3RyZWUoZSxlLmRfZGVzYyk7Zj1idWlsZF9ibF90cmVlKGUpO249ZS5vcHRfbGVuKzMrNz4+PjM7cz1lLnN0YXRpY19sZW4rMys3Pj4+MztpZihzPD1uKXtuPXN9fWVsc2V7bj1zPWkrNX1pZihpKzQ8PW4mJnQhPT0tMSl7X3RyX3N0b3JlZF9ibG9jayhlLHQsaSxhKX1lbHNlIGlmKGUuc3RyYXRlZ3k9PT1yfHxzPT09bil7c2VuZF9iaXRzKGUsKG88PDEpKyhhPzE6MCksMyk7Y29tcHJlc3NfYmxvY2soZSxBLFQpfWVsc2V7c2VuZF9iaXRzKGUsKGg8PDEpKyhhPzE6MCksMyk7c2VuZF9hbGxfdHJlZXMoZSxlLmxfZGVzYy5tYXhfY29kZSsxLGUuZF9kZXNjLm1heF9jb2RlKzEsZisxKTtjb21wcmVzc19ibG9jayhlLGUuZHluX2x0cmVlLGUuZHluX2R0cmVlKX1pbml0X2Jsb2NrKGUpO2lmKGEpe2JpX3dpbmR1cChlKX19ZnVuY3Rpb24gX3RyX3RhbGx5KGUsdCxpKXtlLnBlbmRpbmdfYnVmW2UuZF9idWYrZS5sYXN0X2xpdCoyXT10Pj4+OCYyNTU7ZS5wZW5kaW5nX2J1ZltlLmRfYnVmK2UubGFzdF9saXQqMisxXT10JjI1NTtlLnBlbmRpbmdfYnVmW2UubF9idWYrZS5sYXN0X2xpdF09aSYyNTU7ZS5sYXN0X2xpdCsrO2lmKHQ9PT0wKXtlLmR5bl9sdHJlZVtpKjJdKyt9ZWxzZXtlLm1hdGNoZXMrKzt0LS07ZS5keW5fbHRyZWVbKE5baV0rYysxKSoyXSsrO2UuZHluX2R0cmVlW2RfY29kZSh0KSoyXSsrfXJldHVybiBlLmxhc3RfbGl0PT09ZS5saXRfYnVmc2l6ZS0xfXQuX3RyX2luaXQ9X3RyX2luaXQ7dC5fdHJfc3RvcmVkX2Jsb2NrPV90cl9zdG9yZWRfYmxvY2s7dC5fdHJfZmx1c2hfYmxvY2s9X3RyX2ZsdXNoX2Jsb2NrO3QuX3RyX3RhbGx5PV90cl90YWxseTt0Ll90cl9hbGlnbj1fdHJfYWxpZ259LDU2MjpmdW5jdGlvbihlKXtmdW5jdGlvbiBaU3RyZWFtKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMubmV4dF9pbj0wO3RoaXMuYXZhaWxfaW49MDt0aGlzLnRvdGFsX2luPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLm5leHRfb3V0PTA7dGhpcy5hdmFpbF9vdXQ9MDt0aGlzLnRvdGFsX291dD0wO3RoaXMubXNnPVwiXCI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuZGF0YV90eXBlPTI7dGhpcy5hZGxlcj0wfWUuZXhwb3J0cz1aU3RyZWFtfSw0OTE6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXJlcXVpcmUoXCJhc3NlcnRcIil9LDMwMDpmdW5jdGlvbihlKXtlLmV4cG9ydHM9cmVxdWlyZShcImJ1ZmZlclwiKX0sNzgxOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz1yZXF1aXJlKFwic3RyZWFtXCIpfSw4Mzc6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXJlcXVpcmUoXCJ1dGlsXCIpfX07dmFyIHQ9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhpKXt2YXIgYT10W2ldO2lmKGEhPT11bmRlZmluZWQpe3JldHVybiBhLmV4cG9ydHN9dmFyIHI9dFtpXT17ZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVtpXShyLHIuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgdFtpXX1yZXR1cm4gci5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgaT1fX25jY3dwY2tfcmVxdWlyZV9fKDIzKTttb2R1bGUuZXhwb3J0cz1pfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/browserify-zlib/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/crypto-browserify/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/compiled/crypto-browserify/index.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n(function(){var e={7160:function(e,t,r){var i=t;i.bignum=r(711);i.define=r(495).define;i.base=r(853);i.constants=r(7335);i.decoders=r(6701);i.encoders=r(3418)},495:function(e,t,r){var i=r(7160);var n=r(3782);var a=t;a.define=function define(e,t){return new Entity(e,t)};function Entity(e,t){this.name=e;this.body=t;this.decoders={};this.encoders={}}Entity.prototype._createNamed=function createNamed(e){var t;try{t=r(6144).runInThisContext(\"(function \"+this.name+\"(entity) {\\n\"+\" this._initNamed(entity);\\n\"+\"})\")}catch(e){t=function(e){this._initNamed(e)}}n(t,e);t.prototype._initNamed=function initnamed(t){e.call(this,t)};return new t(this)};Entity.prototype._getDecoder=function _getDecoder(e){e=e||\"der\";if(!this.decoders.hasOwnProperty(e))this.decoders[e]=this._createNamed(i.decoders[e]);return this.decoders[e]};Entity.prototype.decode=function decode(e,t,r){return this._getDecoder(t).decode(e,r)};Entity.prototype._getEncoder=function _getEncoder(e){e=e||\"der\";if(!this.encoders.hasOwnProperty(e))this.encoders[e]=this._createNamed(i.encoders[e]);return this.encoders[e]};Entity.prototype.encode=function encode(e,t,r){return this._getEncoder(t).encode(e,r)}},6483:function(e,t,r){var i=r(3782);var n=r(853).Reporter;var a=r(4300).Buffer;function DecoderBuffer(e,t){n.call(this,t);if(!a.isBuffer(e)){this.error(\"Input not Buffer\");return}this.base=e;this.offset=0;this.length=e.length}i(DecoderBuffer,n);t.C=DecoderBuffer;DecoderBuffer.prototype.save=function save(){return{offset:this.offset,reporter:n.prototype.save.call(this)}};DecoderBuffer.prototype.restore=function restore(e){var t=new DecoderBuffer(this.base);t.offset=e.offset;t.length=this.offset;this.offset=e.offset;n.prototype.restore.call(this,e.reporter);return t};DecoderBuffer.prototype.isEmpty=function isEmpty(){return this.offset===this.length};DecoderBuffer.prototype.readUInt8=function readUInt8(e){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,true);else return this.error(e||\"DecoderBuffer overrun\")};DecoderBuffer.prototype.skip=function skip(e,t){if(!(this.offset+e<=this.length))return this.error(t||\"DecoderBuffer overrun\");var r=new DecoderBuffer(this.base);r._reporterState=this._reporterState;r.offset=this.offset;r.length=this.offset+e;this.offset+=e;return r};DecoderBuffer.prototype.raw=function raw(e){return this.base.slice(e?e.offset:this.offset,this.length)};function EncoderBuffer(e,t){if(Array.isArray(e)){this.length=0;this.value=e.map((function(e){if(!(e instanceof EncoderBuffer))e=new EncoderBuffer(e,t);this.length+=e.length;return e}),this)}else if(typeof e===\"number\"){if(!(0<=e&&e<=255))return t.error(\"non-byte EncoderBuffer value\");this.value=e;this.length=1}else if(typeof e===\"string\"){this.value=e;this.length=a.byteLength(e)}else if(a.isBuffer(e)){this.value=e;this.length=e.length}else{return t.error(\"Unsupported type: \"+typeof e)}}t.R=EncoderBuffer;EncoderBuffer.prototype.join=function join(e,t){if(!e)e=new a(this.length);if(!t)t=0;if(this.length===0)return e;if(Array.isArray(this.value)){this.value.forEach((function(r){r.join(e,t);t+=r.length}))}else{if(typeof this.value===\"number\")e[t]=this.value;else if(typeof this.value===\"string\")e.write(this.value,t);else if(a.isBuffer(this.value))this.value.copy(e,t);t+=this.length}return e}},853:function(e,t,r){var i=t;i.Reporter=r(1293).b;i.DecoderBuffer=r(6483).C;i.EncoderBuffer=r(6483).R;i.Node=r(9374)},9374:function(e,t,r){var i=r(853).Reporter;var n=r(853).EncoderBuffer;var a=r(853).DecoderBuffer;var s=r(3523);var o=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"];var h=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(o);var u=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(e,t){var r={};this._baseState=r;r.enc=e;r.parent=t||null;r.children=null;r.tag=null;r.args=null;r.reverseArgs=null;r.choice=null;r.optional=false;r.any=false;r.obj=false;r.use=null;r.useDecoder=null;r.key=null;r[\"default\"]=null;r.explicit=null;r.implicit=null;r.contains=null;if(!r.parent){r.children=[];this._wrap()}}e.exports=Node;var d=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function clone(){var e=this._baseState;var t={};d.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);r._baseState=t;return r};Node.prototype._wrap=function wrap(){var e=this._baseState;h.forEach((function(t){this[t]=function _wrappedMethod(){var r=new this.constructor(this);e.children.push(r);return r[t].apply(r,arguments)}}),this)};Node.prototype._init=function init(e){var t=this._baseState;s(t.parent===null);e.call(this);t.children=t.children.filter((function(e){return e._baseState.parent===this}),this);s.equal(t.children.length,1,\"Root node can have only one child\")};Node.prototype._useArgs=function useArgs(e){var t=this._baseState;var r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this);if(r.length!==0){s(t.children===null);t.children=r;r.forEach((function(e){e._baseState.parent=this}),this)}if(e.length!==0){s(t.args===null);t.args=e;t.reverseArgs=e.map((function(e){if(typeof e!==\"object\"||e.constructor!==Object)return e;var t={};Object.keys(e).forEach((function(r){if(r==(r|0))r|=0;var i=e[r];t[i]=r}));return t}))}};u.forEach((function(e){Node.prototype[e]=function _overrided(){var t=this._baseState;throw new Error(e+\" not implemented for encoding: \"+t.enc)}}));o.forEach((function(e){Node.prototype[e]=function _tagMethod(){var t=this._baseState;var r=Array.prototype.slice.call(arguments);s(t.tag===null);t.tag=e;this._useArgs(r);return this}}));Node.prototype.use=function use(e){s(e);var t=this._baseState;s(t.use===null);t.use=e;return this};Node.prototype.optional=function optional(){var e=this._baseState;e.optional=true;return this};Node.prototype.def=function def(e){var t=this._baseState;s(t[\"default\"]===null);t[\"default\"]=e;t.optional=true;return this};Node.prototype.explicit=function explicit(e){var t=this._baseState;s(t.explicit===null&&t.implicit===null);t.explicit=e;return this};Node.prototype.implicit=function implicit(e){var t=this._baseState;s(t.explicit===null&&t.implicit===null);t.implicit=e;return this};Node.prototype.obj=function obj(){var e=this._baseState;var t=Array.prototype.slice.call(arguments);e.obj=true;if(t.length!==0)this._useArgs(t);return this};Node.prototype.key=function key(e){var t=this._baseState;s(t.key===null);t.key=e;return this};Node.prototype.any=function any(){var e=this._baseState;e.any=true;return this};Node.prototype.choice=function choice(e){var t=this._baseState;s(t.choice===null);t.choice=e;this._useArgs(Object.keys(e).map((function(t){return e[t]})));return this};Node.prototype.contains=function contains(e){var t=this._baseState;s(t.use===null);t.contains=e;return this};Node.prototype._decode=function decode(e,t){var r=this._baseState;if(r.parent===null)return e.wrapResult(r.children[0]._decode(e,t));var i=r[\"default\"];var n=true;var s=null;if(r.key!==null)s=e.enterKey(r.key);if(r.optional){var o=null;if(r.explicit!==null)o=r.explicit;else if(r.implicit!==null)o=r.implicit;else if(r.tag!==null)o=r.tag;if(o===null&&!r.any){var h=e.save();try{if(r.choice===null)this._decodeGeneric(r.tag,e,t);else this._decodeChoice(e,t);n=true}catch(e){n=false}e.restore(h)}else{n=this._peekTag(e,o,r.any);if(e.isError(n))return n}}var u;if(r.obj&&n)u=e.enterObject();if(n){if(r.explicit!==null){var d=this._decodeTag(e,r.explicit);if(e.isError(d))return d;e=d}var c=e.offset;if(r.use===null&&r.choice===null){if(r.any)var h=e.save();var l=this._decodeTag(e,r.implicit!==null?r.implicit:r.tag,r.any);if(e.isError(l))return l;if(r.any)i=e.raw(h);else e=l}if(t&&t.track&&r.tag!==null)t.track(e.path(),c,e.length,\"tagged\");if(t&&t.track&&r.tag!==null)t.track(e.path(),e.offset,e.length,\"content\");if(r.any)i=i;else if(r.choice===null)i=this._decodeGeneric(r.tag,e,t);else i=this._decodeChoice(e,t);if(e.isError(i))return i;if(!r.any&&r.choice===null&&r.children!==null){r.children.forEach((function decodeChildren(r){r._decode(e,t)}))}if(r.contains&&(r.tag===\"octstr\"||r.tag===\"bitstr\")){var p=new a(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(p,t)}}if(r.obj&&n)i=e.leaveObject(u);if(r.key!==null&&(i!==null||n===true))e.leaveKey(s,r.key,i);else if(s!==null)e.exitKey(s);return i};Node.prototype._decodeGeneric=function decodeGeneric(e,t,r){var i=this._baseState;if(e===\"seq\"||e===\"set\")return null;if(e===\"seqof\"||e===\"setof\")return this._decodeList(t,e,i.args[0],r);else if(/str$/.test(e))return this._decodeStr(t,e,r);else if(e===\"objid\"&&i.args)return this._decodeObjid(t,i.args[0],i.args[1],r);else if(e===\"objid\")return this._decodeObjid(t,null,null,r);else if(e===\"gentime\"||e===\"utctime\")return this._decodeTime(t,e,r);else if(e===\"null_\")return this._decodeNull(t,r);else if(e===\"bool\")return this._decodeBool(t,r);else if(e===\"objDesc\")return this._decodeStr(t,e,r);else if(e===\"int\"||e===\"enum\")return this._decodeInt(t,i.args&&i.args[0],r);if(i.use!==null){return this._getUse(i.use,t._reporterState.obj)._decode(t,r)}else{return t.error(\"unknown tag: \"+e)}};Node.prototype._getUse=function _getUse(e,t){var r=this._baseState;r.useDecoder=this._use(e,t);s(r.useDecoder._baseState.parent===null);r.useDecoder=r.useDecoder._baseState.children[0];if(r.implicit!==r.useDecoder._baseState.implicit){r.useDecoder=r.useDecoder.clone();r.useDecoder._baseState.implicit=r.implicit}return r.useDecoder};Node.prototype._decodeChoice=function decodeChoice(e,t){var r=this._baseState;var i=null;var n=false;Object.keys(r.choice).some((function(a){var s=e.save();var o=r.choice[a];try{var h=o._decode(e,t);if(e.isError(h))return false;i={type:a,value:h};n=true}catch(t){e.restore(s);return false}return true}),this);if(!n)return e.error(\"Choice not matched\");return i};Node.prototype._createEncoderBuffer=function createEncoderBuffer(e){return new n(e,this.reporter)};Node.prototype._encode=function encode(e,t,r){var i=this._baseState;if(i[\"default\"]!==null&&i[\"default\"]===e)return;var n=this._encodeValue(e,t,r);if(n===undefined)return;if(this._skipDefault(n,t,r))return;return n};Node.prototype._encodeValue=function encode(e,t,r){var n=this._baseState;if(n.parent===null)return n.children[0]._encode(e,t||new i);var a=null;this.reporter=t;if(n.optional&&e===undefined){if(n[\"default\"]!==null)e=n[\"default\"];else return}var s=null;var o=false;if(n.any){a=this._createEncoderBuffer(e)}else if(n.choice){a=this._encodeChoice(e,t)}else if(n.contains){s=this._getUse(n.contains,r)._encode(e,t);o=true}else if(n.children){s=n.children.map((function(r){if(r._baseState.tag===\"null_\")return r._encode(null,t,e);if(r._baseState.key===null)return t.error(\"Child should have a key\");var i=t.enterKey(r._baseState.key);if(typeof e!==\"object\")return t.error(\"Child expected, but input is not object\");var n=r._encode(e[r._baseState.key],t,e);t.leaveKey(i);return n}),this).filter((function(e){return e}));s=this._createEncoderBuffer(s)}else{if(n.tag===\"seqof\"||n.tag===\"setof\"){if(!(n.args&&n.args.length===1))return t.error(\"Too many args for : \"+n.tag);if(!Array.isArray(e))return t.error(\"seqof/setof, but data is not Array\");var h=this.clone();h._baseState.implicit=null;s=this._createEncoderBuffer(e.map((function(r){var i=this._baseState;return this._getUse(i.args[0],e)._encode(r,t)}),h))}else if(n.use!==null){a=this._getUse(n.use,r)._encode(e,t)}else{s=this._encodePrimitive(n.tag,e);o=true}}var a;if(!n.any&&n.choice===null){var u=n.implicit!==null?n.implicit:n.tag;var d=n.implicit===null?\"universal\":\"context\";if(u===null){if(n.use===null)t.error(\"Tag could be omitted only for .use()\")}else{if(n.use===null)a=this._encodeComposite(u,o,d,s)}}if(n.explicit!==null)a=this._encodeComposite(n.explicit,false,\"context\",a);return a};Node.prototype._encodeChoice=function encodeChoice(e,t){var r=this._baseState;var i=r.choice[e.type];if(!i){s(false,e.type+\" not found in \"+JSON.stringify(Object.keys(r.choice)))}return i._encode(e.value,t)};Node.prototype._encodePrimitive=function encodePrimitive(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);else if(e===\"objid\"&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);else if(e===\"objid\")return this._encodeObjid(t,null,null);else if(e===\"gentime\"||e===\"utctime\")return this._encodeTime(t,e);else if(e===\"null_\")return this._encodeNull();else if(e===\"int\"||e===\"enum\")return this._encodeInt(t,r.args&&r.reverseArgs[0]);else if(e===\"bool\")return this._encodeBool(t);else if(e===\"objDesc\")return this._encodeStr(t,e);else throw new Error(\"Unsupported tag: \"+e)};Node.prototype._isNumstr=function isNumstr(e){return/^[0-9 ]*$/.test(e)};Node.prototype._isPrintstr=function isPrintstr(e){return/^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(e)}},1293:function(e,t,r){var i=r(3782);function Reporter(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}t.b=Reporter;Reporter.prototype.isError=function isError(e){return e instanceof ReporterError};Reporter.prototype.save=function save(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}};Reporter.prototype.restore=function restore(e){var t=this._reporterState;t.obj=e.obj;t.path=t.path.slice(0,e.pathLen)};Reporter.prototype.enterKey=function enterKey(e){return this._reporterState.path.push(e)};Reporter.prototype.exitKey=function exitKey(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)};Reporter.prototype.leaveKey=function leaveKey(e,t,r){var i=this._reporterState;this.exitKey(e);if(i.obj!==null)i.obj[t]=r};Reporter.prototype.path=function path(){return this._reporterState.path.join(\"/\")};Reporter.prototype.enterObject=function enterObject(){var e=this._reporterState;var t=e.obj;e.obj={};return t};Reporter.prototype.leaveObject=function leaveObject(e){var t=this._reporterState;var r=t.obj;t.obj=e;return r};Reporter.prototype.error=function error(e){var t;var r=this._reporterState;var i=e instanceof ReporterError;if(i){t=e}else{t=new ReporterError(r.path.map((function(e){return\"[\"+JSON.stringify(e)+\"]\"})).join(\"\"),e.message||e,e.stack)}if(!r.options.partial)throw t;if(!i)r.errors.push(t);return t};Reporter.prototype.wrapResult=function wrapResult(e){var t=this._reporterState;if(!t.options.partial)return e;return{result:this.isError(e)?null:e,errors:t.errors}};function ReporterError(e,t){this.path=e;this.rethrow(t)}i(ReporterError,Error);ReporterError.prototype.rethrow=function rethrow(e){this.message=e+\" at: \"+(this.path||\"(shallow)\");if(Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack){try{throw new Error(this.message)}catch(e){this.stack=e.stack}}return this}},9791:function(e,t,r){var i=r(7335);t.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"};t.tagClassByName=i._reverse(t.tagClass);t.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"};t.tagByName=i._reverse(t.tag)},7335:function(e,t,r){var i=t;i._reverse=function reverse(e){var t={};Object.keys(e).forEach((function(r){if((r|0)==r)r=r|0;var i=e[r];t[i]=r}));return t};i.der=r(9791)},2259:function(e,t,r){var i=r(3782);var n=r(7160);var a=n.base;var s=n.bignum;var o=n.constants.der;function DERDecoder(e){this.enc=\"der\";this.name=e.name;this.entity=e;this.tree=new DERNode;this.tree._init(e.body)}e.exports=DERDecoder;DERDecoder.prototype.decode=function decode(e,t){if(!(e instanceof a.DecoderBuffer))e=new a.DecoderBuffer(e,t);return this.tree._decode(e,t)};function DERNode(e){a.Node.call(this,\"der\",e)}i(DERNode,a.Node);DERNode.prototype._peekTag=function peekTag(e,t,r){if(e.isEmpty())return false;var i=e.save();var n=derDecodeTag(e,'Failed to peek tag: \"'+t+'\"');if(e.isError(n))return n;e.restore(i);return n.tag===t||n.tagStr===t||n.tagStr+\"of\"===t||r};DERNode.prototype._decodeTag=function decodeTag(e,t,r){var i=derDecodeTag(e,'Failed to decode tag of \"'+t+'\"');if(e.isError(i))return i;var n=derDecodeLen(e,i.primitive,'Failed to get length of \"'+t+'\"');if(e.isError(n))return n;if(!r&&i.tag!==t&&i.tagStr!==t&&i.tagStr+\"of\"!==t){return e.error('Failed to match tag: \"'+t+'\"')}if(i.primitive||n!==null)return e.skip(n,'Failed to match body of: \"'+t+'\"');var a=e.save();var s=this._skipUntilEnd(e,'Failed to skip indefinite length body: \"'+this.tag+'\"');if(e.isError(s))return s;n=e.offset-a.offset;e.restore(a);return e.skip(n,'Failed to match body of: \"'+t+'\"')};DERNode.prototype._skipUntilEnd=function skipUntilEnd(e,t){while(true){var r=derDecodeTag(e,t);if(e.isError(r))return r;var i=derDecodeLen(e,r.primitive,t);if(e.isError(i))return i;var n;if(r.primitive||i!==null)n=e.skip(i);else n=this._skipUntilEnd(e,t);if(e.isError(n))return n;if(r.tagStr===\"end\")break}};DERNode.prototype._decodeList=function decodeList(e,t,r,i){var n=[];while(!e.isEmpty()){var a=this._peekTag(e,\"end\");if(e.isError(a))return a;var s=r.decode(e,\"der\",i);if(e.isError(s)&&a)break;n.push(s)}return n};DERNode.prototype._decodeStr=function decodeStr(e,t){if(t===\"bitstr\"){var r=e.readUInt8();if(e.isError(r))return r;return{unused:r,data:e.raw()}}else if(t===\"bmpstr\"){var i=e.raw();if(i.length%2===1)return e.error(\"Decoding of string type: bmpstr length mismatch\");var n=\"\";for(var a=0;a<i.length/2;a++){n+=String.fromCharCode(i.readUInt16BE(a*2))}return n}else if(t===\"numstr\"){var s=e.raw().toString(\"ascii\");if(!this._isNumstr(s)){return e.error(\"Decoding of string type: \"+\"numstr unsupported characters\")}return s}else if(t===\"octstr\"){return e.raw()}else if(t===\"objDesc\"){return e.raw()}else if(t===\"printstr\"){var o=e.raw().toString(\"ascii\");if(!this._isPrintstr(o)){return e.error(\"Decoding of string type: \"+\"printstr unsupported characters\")}return o}else if(/str$/.test(t)){return e.raw().toString()}else{return e.error(\"Decoding of string type: \"+t+\" unsupported\")}};DERNode.prototype._decodeObjid=function decodeObjid(e,t,r){var i;var n=[];var a=0;while(!e.isEmpty()){var s=e.readUInt8();a<<=7;a|=s&127;if((s&128)===0){n.push(a);a=0}}if(s&128)n.push(a);var o=n[0]/40|0;var h=n[0]%40;if(r)i=n;else i=[o,h].concat(n.slice(1));if(t){var u=t[i.join(\" \")];if(u===undefined)u=t[i.join(\".\")];if(u!==undefined)i=u}return i};DERNode.prototype._decodeTime=function decodeTime(e,t){var r=e.raw().toString();if(t===\"gentime\"){var i=r.slice(0,4)|0;var n=r.slice(4,6)|0;var a=r.slice(6,8)|0;var s=r.slice(8,10)|0;var o=r.slice(10,12)|0;var h=r.slice(12,14)|0}else if(t===\"utctime\"){var i=r.slice(0,2)|0;var n=r.slice(2,4)|0;var a=r.slice(4,6)|0;var s=r.slice(6,8)|0;var o=r.slice(8,10)|0;var h=r.slice(10,12)|0;if(i<70)i=2e3+i;else i=1900+i}else{return e.error(\"Decoding \"+t+\" time is not supported yet\")}return Date.UTC(i,n-1,a,s,o,h,0)};DERNode.prototype._decodeNull=function decodeNull(e){return null};DERNode.prototype._decodeBool=function decodeBool(e){var t=e.readUInt8();if(e.isError(t))return t;else return t!==0};DERNode.prototype._decodeInt=function decodeInt(e,t){var r=e.raw();var i=new s(r);if(t)i=t[i.toString(10)]||i;return i};DERNode.prototype._use=function use(e,t){if(typeof e===\"function\")e=e(t);return e._getDecoder(\"der\").tree};function derDecodeTag(e,t){var r=e.readUInt8(t);if(e.isError(r))return r;var i=o.tagClass[r>>6];var n=(r&32)===0;if((r&31)===31){var a=r;r=0;while((a&128)===128){a=e.readUInt8(t);if(e.isError(a))return a;r<<=7;r|=a&127}}else{r&=31}var s=o.tag[r];return{cls:i,primitive:n,tag:r,tagStr:s}}function derDecodeLen(e,t,r){var i=e.readUInt8(r);if(e.isError(i))return i;if(!t&&i===128)return null;if((i&128)===0){return i}var n=i&127;if(n>4)return e.error(\"length octect is too long\");i=0;for(var a=0;a<n;a++){i<<=8;var s=e.readUInt8(r);if(e.isError(s))return s;i|=s}return i}},6701:function(e,t,r){var i=t;i.der=r(2259);i.pem=r(8527)},8527:function(e,t,r){var i=r(3782);var n=r(4300).Buffer;var a=r(2259);function PEMDecoder(e){a.call(this,e);this.enc=\"pem\"}i(PEMDecoder,a);e.exports=PEMDecoder;PEMDecoder.prototype.decode=function decode(e,t){var r=e.toString().split(/[\\r\\n]+/g);var i=t.label.toUpperCase();var s=/^-----(BEGIN|END) ([^-]+)-----$/;var o=-1;var h=-1;for(var u=0;u<r.length;u++){var d=r[u].match(s);if(d===null)continue;if(d[2]!==i)continue;if(o===-1){if(d[1]!==\"BEGIN\")break;o=u}else{if(d[1]!==\"END\")break;h=u;break}}if(o===-1||h===-1)throw new Error(\"PEM section not found for: \"+i);var c=r.slice(o+1,h).join(\"\");c.replace(/[^a-z0-9\\+\\/=]+/gi,\"\");var l=new n(c,\"base64\");return a.prototype.decode.call(this,l,t)}},7804:function(e,t,r){var i=r(3782);var n=r(4300).Buffer;var a=r(7160);var s=a.base;var o=a.constants.der;function DEREncoder(e){this.enc=\"der\";this.name=e.name;this.entity=e;this.tree=new DERNode;this.tree._init(e.body)}e.exports=DEREncoder;DEREncoder.prototype.encode=function encode(e,t){return this.tree._encode(e,t).join()};function DERNode(e){s.Node.call(this,\"der\",e)}i(DERNode,s.Node);DERNode.prototype._encodeComposite=function encodeComposite(e,t,r,i){var a=encodeTag(e,t,r,this.reporter);if(i.length<128){var s=new n(2);s[0]=a;s[1]=i.length;return this._createEncoderBuffer([s,i])}var o=1;for(var h=i.length;h>=256;h>>=8)o++;var s=new n(1+1+o);s[0]=a;s[1]=128|o;for(var h=1+o,u=i.length;u>0;h--,u>>=8)s[h]=u&255;return this._createEncoderBuffer([s,i])};DERNode.prototype._encodeStr=function encodeStr(e,t){if(t===\"bitstr\"){return this._createEncoderBuffer([e.unused|0,e.data])}else if(t===\"bmpstr\"){var r=new n(e.length*2);for(var i=0;i<e.length;i++){r.writeUInt16BE(e.charCodeAt(i),i*2)}return this._createEncoderBuffer(r)}else if(t===\"numstr\"){if(!this._isNumstr(e)){return this.reporter.error(\"Encoding of string type: numstr supports \"+\"only digits and space\")}return this._createEncoderBuffer(e)}else if(t===\"printstr\"){if(!this._isPrintstr(e)){return this.reporter.error(\"Encoding of string type: printstr supports \"+\"only latin upper and lower case letters, \"+\"digits, space, apostrophe, left and rigth \"+\"parenthesis, plus sign, comma, hyphen, \"+\"dot, slash, colon, equal sign, \"+\"question mark\")}return this._createEncoderBuffer(e)}else if(/str$/.test(t)){return this._createEncoderBuffer(e)}else if(t===\"objDesc\"){return this._createEncoderBuffer(e)}else{return this.reporter.error(\"Encoding of string type: \"+t+\" unsupported\")}};DERNode.prototype._encodeObjid=function encodeObjid(e,t,r){if(typeof e===\"string\"){if(!t)return this.reporter.error(\"string objid given, but no values map found\");if(!t.hasOwnProperty(e))return this.reporter.error(\"objid not found in values map\");e=t[e].split(/[\\s\\.]+/g);for(var i=0;i<e.length;i++)e[i]|=0}else if(Array.isArray(e)){e=e.slice();for(var i=0;i<e.length;i++)e[i]|=0}if(!Array.isArray(e)){return this.reporter.error(\"objid() should be either array or string, \"+\"got: \"+JSON.stringify(e))}if(!r){if(e[1]>=40)return this.reporter.error(\"Second objid identifier OOB\");e.splice(0,2,e[0]*40+e[1])}var a=0;for(var i=0;i<e.length;i++){var s=e[i];for(a++;s>=128;s>>=7)a++}var o=new n(a);var h=o.length-1;for(var i=e.length-1;i>=0;i--){var s=e[i];o[h--]=s&127;while((s>>=7)>0)o[h--]=128|s&127}return this._createEncoderBuffer(o)};function two(e){if(e<10)return\"0\"+e;else return e}DERNode.prototype._encodeTime=function encodeTime(e,t){var r;var i=new Date(e);if(t===\"gentime\"){r=[two(i.getFullYear()),two(i.getUTCMonth()+1),two(i.getUTCDate()),two(i.getUTCHours()),two(i.getUTCMinutes()),two(i.getUTCSeconds()),\"Z\"].join(\"\")}else if(t===\"utctime\"){r=[two(i.getFullYear()%100),two(i.getUTCMonth()+1),two(i.getUTCDate()),two(i.getUTCHours()),two(i.getUTCMinutes()),two(i.getUTCSeconds()),\"Z\"].join(\"\")}else{this.reporter.error(\"Encoding \"+t+\" time is not supported yet\")}return this._encodeStr(r,\"octstr\")};DERNode.prototype._encodeNull=function encodeNull(){return this._createEncoderBuffer(\"\")};DERNode.prototype._encodeInt=function encodeInt(e,t){if(typeof e===\"string\"){if(!t)return this.reporter.error(\"String int or enum given, but no values map\");if(!t.hasOwnProperty(e)){return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(e))}e=t[e]}if(typeof e!==\"number\"&&!n.isBuffer(e)){var r=e.toArray();if(!e.sign&&r[0]&128){r.unshift(0)}e=new n(r)}if(n.isBuffer(e)){var i=e.length;if(e.length===0)i++;var a=new n(i);e.copy(a);if(e.length===0)a[0]=0;return this._createEncoderBuffer(a)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);var i=1;for(var s=e;s>=256;s>>=8)i++;var a=new Array(i);for(var s=a.length-1;s>=0;s--){a[s]=e&255;e>>=8}if(a[0]&128){a.unshift(0)}return this._createEncoderBuffer(new n(a))};DERNode.prototype._encodeBool=function encodeBool(e){return this._createEncoderBuffer(e?255:0)};DERNode.prototype._use=function use(e,t){if(typeof e===\"function\")e=e(t);return e._getEncoder(\"der\").tree};DERNode.prototype._skipDefault=function skipDefault(e,t,r){var i=this._baseState;var n;if(i[\"default\"]===null)return false;var a=e.join();if(i.defaultBuffer===undefined)i.defaultBuffer=this._encodeValue(i[\"default\"],t,r).join();if(a.length!==i.defaultBuffer.length)return false;for(n=0;n<a.length;n++)if(a[n]!==i.defaultBuffer[n])return false;return true};function encodeTag(e,t,r,i){var n;if(e===\"seqof\")e=\"seq\";else if(e===\"setof\")e=\"set\";if(o.tagByName.hasOwnProperty(e))n=o.tagByName[e];else if(typeof e===\"number\"&&(e|0)===e)n=e;else return i.error(\"Unknown tag: \"+e);if(n>=31)return i.error(\"Multi-octet tag encoding unsupported\");if(!t)n|=32;n|=o.tagClassByName[r||\"universal\"]<<6;return n}},3418:function(e,t,r){var i=t;i.der=r(7804);i.pem=r(1564)},1564:function(e,t,r){var i=r(3782);var n=r(7804);function PEMEncoder(e){n.call(this,e);this.enc=\"pem\"}i(PEMEncoder,n);e.exports=PEMEncoder;PEMEncoder.prototype.encode=function encode(e,t){var r=n.prototype.encode.call(this,e);var i=r.toString(\"base64\");var a=[\"-----BEGIN \"+t.label+\"-----\"];for(var s=0;s<i.length;s+=64)a.push(i.slice(s,s+64));a.push(\"-----END \"+t.label+\"-----\");return a.join(\"\\n\")}},711:function(e,t,r){e=r.nmd(e);(function(e,t){\"use strict\";function assert(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function inherits(e,t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}function BN(e,t,r){if(BN.isBN(e)){return e}this.negative=0;this.words=null;this.length=0;this.red=null;if(e!==null){if(t===\"le\"||t===\"be\"){r=t;t=10}this._init(e||0,t||10,r||\"be\")}}if(typeof e===\"object\"){e.exports=BN}else{t.BN=BN}BN.BN=BN;BN.wordSize=26;var i;try{i=r(4300).Buffer}catch(e){}BN.isBN=function isBN(e){if(e instanceof BN){return true}return e!==null&&typeof e===\"object\"&&e.constructor.wordSize===BN.wordSize&&Array.isArray(e.words)};BN.max=function max(e,t){if(e.cmp(t)>0)return e;return t};BN.min=function min(e,t){if(e.cmp(t)<0)return e;return t};BN.prototype._init=function init(e,t,r){if(typeof e===\"number\"){return this._initNumber(e,t,r)}if(typeof e===\"object\"){return this._initArray(e,t,r)}if(t===\"hex\"){t=16}assert(t===(t|0)&&t>=2&&t<=36);e=e.toString().replace(/\\s+/g,\"\");var i=0;if(e[0]===\"-\"){i++}if(t===16){this._parseHex(e,i)}else{this._parseBase(e,t,i)}if(e[0]===\"-\"){this.negative=1}this.strip();if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initNumber=function _initNumber(e,t,r){if(e<0){this.negative=1;e=-e}if(e<67108864){this.words=[e&67108863];this.length=1}else if(e<4503599627370496){this.words=[e&67108863,e/67108864&67108863];this.length=2}else{assert(e<9007199254740992);this.words=[e&67108863,e/67108864&67108863,1];this.length=3}if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initArray=function _initArray(e,t,r){assert(typeof e.length===\"number\");if(e.length<=0){this.words=[0];this.length=1;return this}this.length=Math.ceil(e.length/3);this.words=new Array(this.length);for(var i=0;i<this.length;i++){this.words[i]=0}var n,a;var s=0;if(r===\"be\"){for(i=e.length-1,n=0;i>=0;i-=3){a=e[i]|e[i-1]<<8|e[i-2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}else if(r===\"le\"){for(i=0,n=0;i<e.length;i+=3){a=e[i]|e[i+1]<<8|e[i+2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}return this.strip()};function parseHex(e,t,r){var i=0;var n=Math.min(e.length,r);for(var a=t;a<n;a++){var s=e.charCodeAt(a)-48;i<<=4;if(s>=49&&s<=54){i|=s-49+10}else if(s>=17&&s<=22){i|=s-17+10}else{i|=s&15}}return i}BN.prototype._parseHex=function _parseHex(e,t){this.length=Math.ceil((e.length-t)/6);this.words=new Array(this.length);for(var r=0;r<this.length;r++){this.words[r]=0}var i,n;var a=0;for(r=e.length-6,i=0;r>=t;r-=6){n=parseHex(e,r,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303;a+=24;if(a>=26){a-=26;i++}}if(r+6!==t){n=parseHex(e,t,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303}this.strip()};function parseBase(e,t,r,i){var n=0;var a=Math.min(e.length,r);for(var s=t;s<a;s++){var o=e.charCodeAt(s)-48;n*=i;if(o>=49){n+=o-49+10}else if(o>=17){n+=o-17+10}else{n+=o}}return n}BN.prototype._parseBase=function _parseBase(e,t,r){this.words=[0];this.length=1;for(var i=0,n=1;n<=67108863;n*=t){i++}i--;n=n/t|0;var a=e.length-r;var s=a%i;var o=Math.min(a,a-s)+r;var h=0;for(var u=r;u<o;u+=i){h=parseBase(e,u,u+i,t);this.imuln(n);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}if(s!==0){var d=1;h=parseBase(e,u,e.length,t);for(u=0;u<s;u++){d*=t}this.imuln(d);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}};BN.prototype.copy=function copy(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++){e.words[t]=this.words[t]}e.length=this.length;e.negative=this.negative;e.red=this.red};BN.prototype.clone=function clone(){var e=new BN(null);this.copy(e);return e};BN.prototype._expand=function _expand(e){while(this.length<e){this.words[this.length++]=0}return this};BN.prototype.strip=function strip(){while(this.length>1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};BN.prototype.inspect=function inspect(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var n=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"];var a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var s=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(e,t){e=e||10;t=t|0||1;var r;if(e===16||e===\"hex\"){r=\"\";var i=0;var o=0;for(var h=0;h<this.length;h++){var u=this.words[h];var d=((u<<i|o)&16777215).toString(16);o=u>>>24-i&16777215;if(o!==0||h!==this.length-1){r=n[6-d.length]+d+r}else{r=d+r}i+=2;if(i>=26){i-=26;h--}}if(o!==0){r=o.toString(16)+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}if(e===(e|0)&&e>=2&&e<=36){var c=a[e];var l=s[e];r=\"\";var p=this.clone();p.negative=0;while(!p.isZero()){var v=p.modn(l).toString(e);p=p.idivn(l);if(!p.isZero()){r=n[c-v.length]+v+r}else{r=v+r}}if(this.isZero()){r=\"0\"+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}assert(false,\"Base should be between 2 and 36\")};BN.prototype.toNumber=function toNumber(){var e=this.words[0];if(this.length===2){e+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){e+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,\"Number can only safely store up to 53 bits\")}return this.negative!==0?-e:e};BN.prototype.toJSON=function toJSON(){return this.toString(16)};BN.prototype.toBuffer=function toBuffer(e,t){assert(typeof i!==\"undefined\");return this.toArrayLike(i,e,t)};BN.prototype.toArray=function toArray(e,t){return this.toArrayLike(Array,e,t)};BN.prototype.toArrayLike=function toArrayLike(e,t,r){var i=this.byteLength();var n=r||Math.max(1,i);assert(i<=n,\"byte array longer than desired length\");assert(n>0,\"Requested array length <= 0\");this.strip();var a=t===\"le\";var s=new e(n);var o,h;var u=this.clone();if(!a){for(h=0;h<n-i;h++){s[h]=0}for(h=0;!u.isZero();h++){o=u.andln(255);u.iushrn(8);s[n-h-1]=o}}else{for(h=0;!u.isZero();h++){o=u.andln(255);u.iushrn(8);s[h]=o}for(;h<n;h++){s[h]=0}}return s};if(Math.clz32){BN.prototype._countBits=function _countBits(e){return 32-Math.clz32(e)}}else{BN.prototype._countBits=function _countBits(e){var t=e;var r=0;if(t>=4096){r+=13;t>>>=13}if(t>=64){r+=7;t>>>=7}if(t>=8){r+=4;t>>>=4}if(t>=2){r+=2;t>>>=2}return r+t}}BN.prototype._zeroBits=function _zeroBits(e){if(e===0)return 26;var t=e;var r=0;if((t&8191)===0){r+=13;t>>>=13}if((t&127)===0){r+=7;t>>>=7}if((t&15)===0){r+=4;t>>>=4}if((t&3)===0){r+=2;t>>>=2}if((t&1)===0){r++}return r};BN.prototype.bitLength=function bitLength(){var e=this.words[this.length-1];var t=this._countBits(e);return(this.length-1)*26+t};function toBitArray(e){var t=new Array(e.bitLength());for(var r=0;r<t.length;r++){var i=r/26|0;var n=r%26;t[r]=(e.words[i]&1<<n)>>>n}return t}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var e=0;for(var t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);e+=r;if(r!==26)break}return e};BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)};BN.prototype.toTwos=function toTwos(e){if(this.negative!==0){return this.abs().inotn(e).iaddn(1)}return this.clone()};BN.prototype.fromTwos=function fromTwos(e){if(this.testn(e-1)){return this.notn(e).iaddn(1).ineg()}return this.clone()};BN.prototype.isNeg=function isNeg(){return this.negative!==0};BN.prototype.neg=function neg(){return this.clone().ineg()};BN.prototype.ineg=function ineg(){if(!this.isZero()){this.negative^=1}return this};BN.prototype.iuor=function iuor(e){while(this.length<e.length){this.words[this.length++]=0}for(var t=0;t<e.length;t++){this.words[t]=this.words[t]|e.words[t]}return this.strip()};BN.prototype.ior=function ior(e){assert((this.negative|e.negative)===0);return this.iuor(e)};BN.prototype.or=function or(e){if(this.length>e.length)return this.clone().ior(e);return e.clone().ior(this)};BN.prototype.uor=function uor(e){if(this.length>e.length)return this.clone().iuor(e);return e.clone().iuor(this)};BN.prototype.iuand=function iuand(e){var t;if(this.length>e.length){t=e}else{t=this}for(var r=0;r<t.length;r++){this.words[r]=this.words[r]&e.words[r]}this.length=t.length;return this.strip()};BN.prototype.iand=function iand(e){assert((this.negative|e.negative)===0);return this.iuand(e)};BN.prototype.and=function and(e){if(this.length>e.length)return this.clone().iand(e);return e.clone().iand(this)};BN.prototype.uand=function uand(e){if(this.length>e.length)return this.clone().iuand(e);return e.clone().iuand(this)};BN.prototype.iuxor=function iuxor(e){var t;var r;if(this.length>e.length){t=this;r=e}else{t=e;r=this}for(var i=0;i<r.length;i++){this.words[i]=t.words[i]^r.words[i]}if(this!==t){for(;i<t.length;i++){this.words[i]=t.words[i]}}this.length=t.length;return this.strip()};BN.prototype.ixor=function ixor(e){assert((this.negative|e.negative)===0);return this.iuxor(e)};BN.prototype.xor=function xor(e){if(this.length>e.length)return this.clone().ixor(e);return e.clone().ixor(this)};BN.prototype.uxor=function uxor(e){if(this.length>e.length)return this.clone().iuxor(e);return e.clone().iuxor(this)};BN.prototype.inotn=function inotn(e){assert(typeof e===\"number\"&&e>=0);var t=Math.ceil(e/26)|0;var r=e%26;this._expand(t);if(r>0){t--}for(var i=0;i<t;i++){this.words[i]=~this.words[i]&67108863}if(r>0){this.words[i]=~this.words[i]&67108863>>26-r}return this.strip()};BN.prototype.notn=function notn(e){return this.clone().inotn(e)};BN.prototype.setn=function setn(e,t){assert(typeof e===\"number\"&&e>=0);var r=e/26|0;var i=e%26;this._expand(r+1);if(t){this.words[r]=this.words[r]|1<<i}else{this.words[r]=this.words[r]&~(1<<i)}return this.strip()};BN.prototype.iadd=function iadd(e){var t;if(this.negative!==0&&e.negative===0){this.negative=0;t=this.isub(e);this.negative^=1;return this._normSign()}else if(this.negative===0&&e.negative!==0){e.negative=0;t=this.isub(e);e.negative=1;return t._normSign()}var r,i;if(this.length>e.length){r=this;i=e}else{r=e;i=this}var n=0;for(var a=0;a<i.length;a++){t=(r.words[a]|0)+(i.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}for(;n!==0&&a<r.length;a++){t=(r.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}this.length=r.length;if(n!==0){this.words[this.length]=n;this.length++}else if(r!==this){for(;a<r.length;a++){this.words[a]=r.words[a]}}return this};BN.prototype.add=function add(e){var t;if(e.negative!==0&&this.negative===0){e.negative=0;t=this.sub(e);e.negative^=1;return t}else if(e.negative===0&&this.negative!==0){this.negative=0;t=e.sub(this);this.negative=1;return t}if(this.length>e.length)return this.clone().iadd(e);return e.clone().iadd(this)};BN.prototype.isub=function isub(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);e.negative=1;return t._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(e);this.negative=1;return this._normSign()}var r=this.cmp(e);if(r===0){this.negative=0;this.length=1;this.words[0]=0;return this}var i,n;if(r>0){i=this;n=e}else{i=e;n=this}var a=0;for(var s=0;s<n.length;s++){t=(i.words[s]|0)-(n.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}for(;a!==0&&s<i.length;s++){t=(i.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}if(a===0&&s<i.length&&i!==this){for(;s<i.length;s++){this.words[s]=i.words[s]}}this.length=Math.max(this.length,s);if(i!==this){this.negative=1}return this.strip()};BN.prototype.sub=function sub(e){return this.clone().isub(e)};function smallMulTo(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i;i=i-1|0;var n=e.words[0]|0;var a=t.words[0]|0;var s=n*a;var o=s&67108863;var h=s/67108864|0;r.words[0]=o;for(var u=1;u<i;u++){var d=h>>>26;var c=h&67108863;var l=Math.min(u,t.length-1);for(var p=Math.max(0,u-e.length+1);p<=l;p++){var v=u-p|0;n=e.words[v]|0;a=t.words[p]|0;s=n*a+c;d+=s/67108864|0;c=s&67108863}r.words[u]=c|0;h=d|0}if(h!==0){r.words[u]=h|0}else{r.length--}return r.strip()}var o=function comb10MulTo(e,t,r){var i=e.words;var n=t.words;var a=r.words;var s=0;var o;var h;var u;var d=i[0]|0;var c=d&8191;var l=d>>>13;var p=i[1]|0;var v=p&8191;var b=p>>>13;var m=i[2]|0;var y=m&8191;var g=m>>>13;var _=i[3]|0;var w=_&8191;var M=_>>>13;var B=i[4]|0;var E=B&8191;var k=B>>>13;var A=i[5]|0;var N=A&8191;var P=A>>>13;var x=i[6]|0;var I=x&8191;var C=x>>>13;var D=i[7]|0;var T=D&8191;var j=D>>>13;var q=i[8]|0;var O=q&8191;var H=q>>>13;var L=i[9]|0;var z=L&8191;var F=L>>>13;var U=n[0]|0;var W=U&8191;var V=U>>>13;var G=n[1]|0;var J=G&8191;var Z=G>>>13;var X=n[2]|0;var Y=X&8191;var $=X>>>13;var Q=n[3]|0;var ee=Q&8191;var te=Q>>>13;var re=n[4]|0;var ie=re&8191;var ne=re>>>13;var ae=n[5]|0;var fe=ae&8191;var se=ae>>>13;var oe=n[6]|0;var he=oe&8191;var ue=oe>>>13;var de=n[7]|0;var ce=de&8191;var le=de>>>13;var pe=n[8]|0;var ve=pe&8191;var be=pe>>>13;var me=n[9]|0;var ye=me&8191;var ge=me>>>13;r.negative=e.negative^t.negative;r.length=19;o=Math.imul(c,W);h=Math.imul(c,V);h=h+Math.imul(l,W)|0;u=Math.imul(l,V);var _e=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(_e>>>26)|0;_e&=67108863;o=Math.imul(v,W);h=Math.imul(v,V);h=h+Math.imul(b,W)|0;u=Math.imul(b,V);o=o+Math.imul(c,J)|0;h=h+Math.imul(c,Z)|0;h=h+Math.imul(l,J)|0;u=u+Math.imul(l,Z)|0;var we=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(we>>>26)|0;we&=67108863;o=Math.imul(y,W);h=Math.imul(y,V);h=h+Math.imul(g,W)|0;u=Math.imul(g,V);o=o+Math.imul(v,J)|0;h=h+Math.imul(v,Z)|0;h=h+Math.imul(b,J)|0;u=u+Math.imul(b,Z)|0;o=o+Math.imul(c,Y)|0;h=h+Math.imul(c,$)|0;h=h+Math.imul(l,Y)|0;u=u+Math.imul(l,$)|0;var Me=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Me>>>26)|0;Me&=67108863;o=Math.imul(w,W);h=Math.imul(w,V);h=h+Math.imul(M,W)|0;u=Math.imul(M,V);o=o+Math.imul(y,J)|0;h=h+Math.imul(y,Z)|0;h=h+Math.imul(g,J)|0;u=u+Math.imul(g,Z)|0;o=o+Math.imul(v,Y)|0;h=h+Math.imul(v,$)|0;h=h+Math.imul(b,Y)|0;u=u+Math.imul(b,$)|0;o=o+Math.imul(c,ee)|0;h=h+Math.imul(c,te)|0;h=h+Math.imul(l,ee)|0;u=u+Math.imul(l,te)|0;var Se=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Se>>>26)|0;Se&=67108863;o=Math.imul(E,W);h=Math.imul(E,V);h=h+Math.imul(k,W)|0;u=Math.imul(k,V);o=o+Math.imul(w,J)|0;h=h+Math.imul(w,Z)|0;h=h+Math.imul(M,J)|0;u=u+Math.imul(M,Z)|0;o=o+Math.imul(y,Y)|0;h=h+Math.imul(y,$)|0;h=h+Math.imul(g,Y)|0;u=u+Math.imul(g,$)|0;o=o+Math.imul(v,ee)|0;h=h+Math.imul(v,te)|0;h=h+Math.imul(b,ee)|0;u=u+Math.imul(b,te)|0;o=o+Math.imul(c,ie)|0;h=h+Math.imul(c,ne)|0;h=h+Math.imul(l,ie)|0;u=u+Math.imul(l,ne)|0;var Be=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Be>>>26)|0;Be&=67108863;o=Math.imul(N,W);h=Math.imul(N,V);h=h+Math.imul(P,W)|0;u=Math.imul(P,V);o=o+Math.imul(E,J)|0;h=h+Math.imul(E,Z)|0;h=h+Math.imul(k,J)|0;u=u+Math.imul(k,Z)|0;o=o+Math.imul(w,Y)|0;h=h+Math.imul(w,$)|0;h=h+Math.imul(M,Y)|0;u=u+Math.imul(M,$)|0;o=o+Math.imul(y,ee)|0;h=h+Math.imul(y,te)|0;h=h+Math.imul(g,ee)|0;u=u+Math.imul(g,te)|0;o=o+Math.imul(v,ie)|0;h=h+Math.imul(v,ne)|0;h=h+Math.imul(b,ie)|0;u=u+Math.imul(b,ne)|0;o=o+Math.imul(c,fe)|0;h=h+Math.imul(c,se)|0;h=h+Math.imul(l,fe)|0;u=u+Math.imul(l,se)|0;var Ee=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ee>>>26)|0;Ee&=67108863;o=Math.imul(I,W);h=Math.imul(I,V);h=h+Math.imul(C,W)|0;u=Math.imul(C,V);o=o+Math.imul(N,J)|0;h=h+Math.imul(N,Z)|0;h=h+Math.imul(P,J)|0;u=u+Math.imul(P,Z)|0;o=o+Math.imul(E,Y)|0;h=h+Math.imul(E,$)|0;h=h+Math.imul(k,Y)|0;u=u+Math.imul(k,$)|0;o=o+Math.imul(w,ee)|0;h=h+Math.imul(w,te)|0;h=h+Math.imul(M,ee)|0;u=u+Math.imul(M,te)|0;o=o+Math.imul(y,ie)|0;h=h+Math.imul(y,ne)|0;h=h+Math.imul(g,ie)|0;u=u+Math.imul(g,ne)|0;o=o+Math.imul(v,fe)|0;h=h+Math.imul(v,se)|0;h=h+Math.imul(b,fe)|0;u=u+Math.imul(b,se)|0;o=o+Math.imul(c,he)|0;h=h+Math.imul(c,ue)|0;h=h+Math.imul(l,he)|0;u=u+Math.imul(l,ue)|0;var ke=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(ke>>>26)|0;ke&=67108863;o=Math.imul(T,W);h=Math.imul(T,V);h=h+Math.imul(j,W)|0;u=Math.imul(j,V);o=o+Math.imul(I,J)|0;h=h+Math.imul(I,Z)|0;h=h+Math.imul(C,J)|0;u=u+Math.imul(C,Z)|0;o=o+Math.imul(N,Y)|0;h=h+Math.imul(N,$)|0;h=h+Math.imul(P,Y)|0;u=u+Math.imul(P,$)|0;o=o+Math.imul(E,ee)|0;h=h+Math.imul(E,te)|0;h=h+Math.imul(k,ee)|0;u=u+Math.imul(k,te)|0;o=o+Math.imul(w,ie)|0;h=h+Math.imul(w,ne)|0;h=h+Math.imul(M,ie)|0;u=u+Math.imul(M,ne)|0;o=o+Math.imul(y,fe)|0;h=h+Math.imul(y,se)|0;h=h+Math.imul(g,fe)|0;u=u+Math.imul(g,se)|0;o=o+Math.imul(v,he)|0;h=h+Math.imul(v,ue)|0;h=h+Math.imul(b,he)|0;u=u+Math.imul(b,ue)|0;o=o+Math.imul(c,ce)|0;h=h+Math.imul(c,le)|0;h=h+Math.imul(l,ce)|0;u=u+Math.imul(l,le)|0;var Ae=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ae>>>26)|0;Ae&=67108863;o=Math.imul(O,W);h=Math.imul(O,V);h=h+Math.imul(H,W)|0;u=Math.imul(H,V);o=o+Math.imul(T,J)|0;h=h+Math.imul(T,Z)|0;h=h+Math.imul(j,J)|0;u=u+Math.imul(j,Z)|0;o=o+Math.imul(I,Y)|0;h=h+Math.imul(I,$)|0;h=h+Math.imul(C,Y)|0;u=u+Math.imul(C,$)|0;o=o+Math.imul(N,ee)|0;h=h+Math.imul(N,te)|0;h=h+Math.imul(P,ee)|0;u=u+Math.imul(P,te)|0;o=o+Math.imul(E,ie)|0;h=h+Math.imul(E,ne)|0;h=h+Math.imul(k,ie)|0;u=u+Math.imul(k,ne)|0;o=o+Math.imul(w,fe)|0;h=h+Math.imul(w,se)|0;h=h+Math.imul(M,fe)|0;u=u+Math.imul(M,se)|0;o=o+Math.imul(y,he)|0;h=h+Math.imul(y,ue)|0;h=h+Math.imul(g,he)|0;u=u+Math.imul(g,ue)|0;o=o+Math.imul(v,ce)|0;h=h+Math.imul(v,le)|0;h=h+Math.imul(b,ce)|0;u=u+Math.imul(b,le)|0;o=o+Math.imul(c,ve)|0;h=h+Math.imul(c,be)|0;h=h+Math.imul(l,ve)|0;u=u+Math.imul(l,be)|0;var Ne=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ne>>>26)|0;Ne&=67108863;o=Math.imul(z,W);h=Math.imul(z,V);h=h+Math.imul(F,W)|0;u=Math.imul(F,V);o=o+Math.imul(O,J)|0;h=h+Math.imul(O,Z)|0;h=h+Math.imul(H,J)|0;u=u+Math.imul(H,Z)|0;o=o+Math.imul(T,Y)|0;h=h+Math.imul(T,$)|0;h=h+Math.imul(j,Y)|0;u=u+Math.imul(j,$)|0;o=o+Math.imul(I,ee)|0;h=h+Math.imul(I,te)|0;h=h+Math.imul(C,ee)|0;u=u+Math.imul(C,te)|0;o=o+Math.imul(N,ie)|0;h=h+Math.imul(N,ne)|0;h=h+Math.imul(P,ie)|0;u=u+Math.imul(P,ne)|0;o=o+Math.imul(E,fe)|0;h=h+Math.imul(E,se)|0;h=h+Math.imul(k,fe)|0;u=u+Math.imul(k,se)|0;o=o+Math.imul(w,he)|0;h=h+Math.imul(w,ue)|0;h=h+Math.imul(M,he)|0;u=u+Math.imul(M,ue)|0;o=o+Math.imul(y,ce)|0;h=h+Math.imul(y,le)|0;h=h+Math.imul(g,ce)|0;u=u+Math.imul(g,le)|0;o=o+Math.imul(v,ve)|0;h=h+Math.imul(v,be)|0;h=h+Math.imul(b,ve)|0;u=u+Math.imul(b,be)|0;o=o+Math.imul(c,ye)|0;h=h+Math.imul(c,ge)|0;h=h+Math.imul(l,ye)|0;u=u+Math.imul(l,ge)|0;var Re=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Re>>>26)|0;Re&=67108863;o=Math.imul(z,J);h=Math.imul(z,Z);h=h+Math.imul(F,J)|0;u=Math.imul(F,Z);o=o+Math.imul(O,Y)|0;h=h+Math.imul(O,$)|0;h=h+Math.imul(H,Y)|0;u=u+Math.imul(H,$)|0;o=o+Math.imul(T,ee)|0;h=h+Math.imul(T,te)|0;h=h+Math.imul(j,ee)|0;u=u+Math.imul(j,te)|0;o=o+Math.imul(I,ie)|0;h=h+Math.imul(I,ne)|0;h=h+Math.imul(C,ie)|0;u=u+Math.imul(C,ne)|0;o=o+Math.imul(N,fe)|0;h=h+Math.imul(N,se)|0;h=h+Math.imul(P,fe)|0;u=u+Math.imul(P,se)|0;o=o+Math.imul(E,he)|0;h=h+Math.imul(E,ue)|0;h=h+Math.imul(k,he)|0;u=u+Math.imul(k,ue)|0;o=o+Math.imul(w,ce)|0;h=h+Math.imul(w,le)|0;h=h+Math.imul(M,ce)|0;u=u+Math.imul(M,le)|0;o=o+Math.imul(y,ve)|0;h=h+Math.imul(y,be)|0;h=h+Math.imul(g,ve)|0;u=u+Math.imul(g,be)|0;o=o+Math.imul(v,ye)|0;h=h+Math.imul(v,ge)|0;h=h+Math.imul(b,ye)|0;u=u+Math.imul(b,ge)|0;var Pe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Pe>>>26)|0;Pe&=67108863;o=Math.imul(z,Y);h=Math.imul(z,$);h=h+Math.imul(F,Y)|0;u=Math.imul(F,$);o=o+Math.imul(O,ee)|0;h=h+Math.imul(O,te)|0;h=h+Math.imul(H,ee)|0;u=u+Math.imul(H,te)|0;o=o+Math.imul(T,ie)|0;h=h+Math.imul(T,ne)|0;h=h+Math.imul(j,ie)|0;u=u+Math.imul(j,ne)|0;o=o+Math.imul(I,fe)|0;h=h+Math.imul(I,se)|0;h=h+Math.imul(C,fe)|0;u=u+Math.imul(C,se)|0;o=o+Math.imul(N,he)|0;h=h+Math.imul(N,ue)|0;h=h+Math.imul(P,he)|0;u=u+Math.imul(P,ue)|0;o=o+Math.imul(E,ce)|0;h=h+Math.imul(E,le)|0;h=h+Math.imul(k,ce)|0;u=u+Math.imul(k,le)|0;o=o+Math.imul(w,ve)|0;h=h+Math.imul(w,be)|0;h=h+Math.imul(M,ve)|0;u=u+Math.imul(M,be)|0;o=o+Math.imul(y,ye)|0;h=h+Math.imul(y,ge)|0;h=h+Math.imul(g,ye)|0;u=u+Math.imul(g,ge)|0;var xe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(xe>>>26)|0;xe&=67108863;o=Math.imul(z,ee);h=Math.imul(z,te);h=h+Math.imul(F,ee)|0;u=Math.imul(F,te);o=o+Math.imul(O,ie)|0;h=h+Math.imul(O,ne)|0;h=h+Math.imul(H,ie)|0;u=u+Math.imul(H,ne)|0;o=o+Math.imul(T,fe)|0;h=h+Math.imul(T,se)|0;h=h+Math.imul(j,fe)|0;u=u+Math.imul(j,se)|0;o=o+Math.imul(I,he)|0;h=h+Math.imul(I,ue)|0;h=h+Math.imul(C,he)|0;u=u+Math.imul(C,ue)|0;o=o+Math.imul(N,ce)|0;h=h+Math.imul(N,le)|0;h=h+Math.imul(P,ce)|0;u=u+Math.imul(P,le)|0;o=o+Math.imul(E,ve)|0;h=h+Math.imul(E,be)|0;h=h+Math.imul(k,ve)|0;u=u+Math.imul(k,be)|0;o=o+Math.imul(w,ye)|0;h=h+Math.imul(w,ge)|0;h=h+Math.imul(M,ye)|0;u=u+Math.imul(M,ge)|0;var Ie=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ie>>>26)|0;Ie&=67108863;o=Math.imul(z,ie);h=Math.imul(z,ne);h=h+Math.imul(F,ie)|0;u=Math.imul(F,ne);o=o+Math.imul(O,fe)|0;h=h+Math.imul(O,se)|0;h=h+Math.imul(H,fe)|0;u=u+Math.imul(H,se)|0;o=o+Math.imul(T,he)|0;h=h+Math.imul(T,ue)|0;h=h+Math.imul(j,he)|0;u=u+Math.imul(j,ue)|0;o=o+Math.imul(I,ce)|0;h=h+Math.imul(I,le)|0;h=h+Math.imul(C,ce)|0;u=u+Math.imul(C,le)|0;o=o+Math.imul(N,ve)|0;h=h+Math.imul(N,be)|0;h=h+Math.imul(P,ve)|0;u=u+Math.imul(P,be)|0;o=o+Math.imul(E,ye)|0;h=h+Math.imul(E,ge)|0;h=h+Math.imul(k,ye)|0;u=u+Math.imul(k,ge)|0;var Ce=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ce>>>26)|0;Ce&=67108863;o=Math.imul(z,fe);h=Math.imul(z,se);h=h+Math.imul(F,fe)|0;u=Math.imul(F,se);o=o+Math.imul(O,he)|0;h=h+Math.imul(O,ue)|0;h=h+Math.imul(H,he)|0;u=u+Math.imul(H,ue)|0;o=o+Math.imul(T,ce)|0;h=h+Math.imul(T,le)|0;h=h+Math.imul(j,ce)|0;u=u+Math.imul(j,le)|0;o=o+Math.imul(I,ve)|0;h=h+Math.imul(I,be)|0;h=h+Math.imul(C,ve)|0;u=u+Math.imul(C,be)|0;o=o+Math.imul(N,ye)|0;h=h+Math.imul(N,ge)|0;h=h+Math.imul(P,ye)|0;u=u+Math.imul(P,ge)|0;var De=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(De>>>26)|0;De&=67108863;o=Math.imul(z,he);h=Math.imul(z,ue);h=h+Math.imul(F,he)|0;u=Math.imul(F,ue);o=o+Math.imul(O,ce)|0;h=h+Math.imul(O,le)|0;h=h+Math.imul(H,ce)|0;u=u+Math.imul(H,le)|0;o=o+Math.imul(T,ve)|0;h=h+Math.imul(T,be)|0;h=h+Math.imul(j,ve)|0;u=u+Math.imul(j,be)|0;o=o+Math.imul(I,ye)|0;h=h+Math.imul(I,ge)|0;h=h+Math.imul(C,ye)|0;u=u+Math.imul(C,ge)|0;var Te=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Te>>>26)|0;Te&=67108863;o=Math.imul(z,ce);h=Math.imul(z,le);h=h+Math.imul(F,ce)|0;u=Math.imul(F,le);o=o+Math.imul(O,ve)|0;h=h+Math.imul(O,be)|0;h=h+Math.imul(H,ve)|0;u=u+Math.imul(H,be)|0;o=o+Math.imul(T,ye)|0;h=h+Math.imul(T,ge)|0;h=h+Math.imul(j,ye)|0;u=u+Math.imul(j,ge)|0;var je=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(je>>>26)|0;je&=67108863;o=Math.imul(z,ve);h=Math.imul(z,be);h=h+Math.imul(F,ve)|0;u=Math.imul(F,be);o=o+Math.imul(O,ye)|0;h=h+Math.imul(O,ge)|0;h=h+Math.imul(H,ye)|0;u=u+Math.imul(H,ge)|0;var qe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(qe>>>26)|0;qe&=67108863;o=Math.imul(z,ye);h=Math.imul(z,ge);h=h+Math.imul(F,ye)|0;u=Math.imul(F,ge);var Oe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Oe>>>26)|0;Oe&=67108863;a[0]=_e;a[1]=we;a[2]=Me;a[3]=Se;a[4]=Be;a[5]=Ee;a[6]=ke;a[7]=Ae;a[8]=Ne;a[9]=Re;a[10]=Pe;a[11]=xe;a[12]=Ie;a[13]=Ce;a[14]=De;a[15]=Te;a[16]=je;a[17]=qe;a[18]=Oe;if(s!==0){a[19]=s;r.length++}return r};if(!Math.imul){o=smallMulTo}function bigMulTo(e,t,r){r.negative=t.negative^e.negative;r.length=e.length+t.length;var i=0;var n=0;for(var a=0;a<r.length-1;a++){var s=n;n=0;var o=i&67108863;var h=Math.min(a,t.length-1);for(var u=Math.max(0,a-e.length+1);u<=h;u++){var d=a-u;var c=e.words[d]|0;var l=t.words[u]|0;var p=c*l;var v=p&67108863;s=s+(p/67108864|0)|0;v=v+o|0;o=v&67108863;s=s+(v>>>26)|0;n+=s>>>26;s&=67108863}r.words[a]=o;i=s;s=n}if(i!==0){r.words[a]=i}else{r.length--}return r.strip()}function jumboMulTo(e,t,r){var i=new FFTM;return i.mulp(e,t,r)}BN.prototype.mulTo=function mulTo(e,t){var r;var i=this.length+e.length;if(this.length===10&&e.length===10){r=o(this,e,t)}else if(i<63){r=smallMulTo(this,e,t)}else if(i<1024){r=bigMulTo(this,e,t)}else{r=jumboMulTo(this,e,t)}return r};function FFTM(e,t){this.x=e;this.y=t}FFTM.prototype.makeRBT=function makeRBT(e){var t=new Array(e);var r=BN.prototype._countBits(e)-1;for(var i=0;i<e;i++){t[i]=this.revBin(i,r,e)}return t};FFTM.prototype.revBin=function revBin(e,t,r){if(e===0||e===r-1)return e;var i=0;for(var n=0;n<t;n++){i|=(e&1)<<t-n-1;e>>=1}return i};FFTM.prototype.permute=function permute(e,t,r,i,n,a){for(var s=0;s<a;s++){i[s]=t[e[s]];n[s]=r[e[s]]}};FFTM.prototype.transform=function transform(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var s=1;s<n;s<<=1){var o=s<<1;var h=Math.cos(2*Math.PI/o);var u=Math.sin(2*Math.PI/o);for(var d=0;d<n;d+=o){var c=h;var l=u;for(var p=0;p<s;p++){var v=r[d+p];var b=i[d+p];var m=r[d+p+s];var y=i[d+p+s];var g=c*m-l*y;y=c*y+l*m;m=g;r[d+p]=v+m;i[d+p]=b+y;r[d+p+s]=v-m;i[d+p+s]=b-y;if(p!==o){g=h*c-u*l;l=h*l+u*c;c=g}}}}};FFTM.prototype.guessLen13b=function guessLen13b(e,t){var r=Math.max(t,e)|1;var i=r&1;var n=0;for(r=r/2|0;r;r=r>>>1){n++}return 1<<n+1+i};FFTM.prototype.conjugate=function conjugate(e,t,r){if(r<=1)return;for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1];e[r-i-1]=n;n=t[i];t[i]=-t[r-i-1];t[r-i-1]=-n}};FFTM.prototype.normalize13b=function normalize13b(e,t){var r=0;for(var i=0;i<t/2;i++){var n=Math.round(e[2*i+1]/t)*8192+Math.round(e[2*i]/t)+r;e[i]=n&67108863;if(n<67108864){r=0}else{r=n/67108864|0}}return e};FFTM.prototype.convert13b=function convert13b(e,t,r,i){var n=0;for(var a=0;a<t;a++){n=n+(e[a]|0);r[2*a]=n&8191;n=n>>>13;r[2*a+1]=n&8191;n=n>>>13}for(a=2*t;a<i;++a){r[a]=0}assert(n===0);assert((n&~8191)===0)};FFTM.prototype.stub=function stub(e){var t=new Array(e);for(var r=0;r<e;r++){t[r]=0}return t};FFTM.prototype.mulp=function mulp(e,t,r){var i=2*this.guessLen13b(e.length,t.length);var n=this.makeRBT(i);var a=this.stub(i);var s=new Array(i);var o=new Array(i);var h=new Array(i);var u=new Array(i);var d=new Array(i);var c=new Array(i);var l=r.words;l.length=i;this.convert13b(e.words,e.length,s,i);this.convert13b(t.words,t.length,u,i);this.transform(s,a,o,h,i,n);this.transform(u,a,d,c,i,n);for(var p=0;p<i;p++){var v=o[p]*d[p]-h[p]*c[p];h[p]=o[p]*c[p]+h[p]*d[p];o[p]=v}this.conjugate(o,h,i);this.transform(o,h,l,a,i,n);this.conjugate(l,a,i);this.normalize13b(l,i);r.negative=e.negative^t.negative;r.length=e.length+t.length;return r.strip()};BN.prototype.mul=function mul(e){var t=new BN(null);t.words=new Array(this.length+e.length);return this.mulTo(e,t)};BN.prototype.mulf=function mulf(e){var t=new BN(null);t.words=new Array(this.length+e.length);return jumboMulTo(this,e,t)};BN.prototype.imul=function imul(e){return this.clone().mulTo(e,this)};BN.prototype.imuln=function imuln(e){assert(typeof e===\"number\");assert(e<67108864);var t=0;for(var r=0;r<this.length;r++){var i=(this.words[r]|0)*e;var n=(i&67108863)+(t&67108863);t>>=26;t+=i/67108864|0;t+=n>>>26;this.words[r]=n&67108863}if(t!==0){this.words[r]=t;this.length++}return this};BN.prototype.muln=function muln(e){return this.clone().imuln(e)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(e){var t=toBitArray(e);if(t.length===0)return new BN(1);var r=this;for(var i=0;i<t.length;i++,r=r.sqr()){if(t[i]!==0)break}if(++i<t.length){for(var n=r.sqr();i<t.length;i++,n=n.sqr()){if(t[i]===0)continue;r=r.mul(n)}}return r};BN.prototype.iushln=function iushln(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=67108863>>>26-t<<26-t;var n;if(t!==0){var a=0;for(n=0;n<this.length;n++){var s=this.words[n]&i;var o=(this.words[n]|0)-s<<t;this.words[n]=o|a;a=s>>>26-t}if(a){this.words[n]=a;this.length++}}if(r!==0){for(n=this.length-1;n>=0;n--){this.words[n+r]=this.words[n]}for(n=0;n<r;n++){this.words[n]=0}this.length+=r}return this.strip()};BN.prototype.ishln=function ishln(e){assert(this.negative===0);return this.iushln(e)};BN.prototype.iushrn=function iushrn(e,t,r){assert(typeof e===\"number\"&&e>=0);var i;if(t){i=(t-t%26)/26}else{i=0}var n=e%26;var a=Math.min((e-n)/26,this.length);var s=67108863^67108863>>>n<<n;var o=r;i-=a;i=Math.max(0,i);if(o){for(var h=0;h<a;h++){o.words[h]=this.words[h]}o.length=a}if(a===0){}else if(this.length>a){this.length-=a;for(h=0;h<this.length;h++){this.words[h]=this.words[h+a]}}else{this.words[0]=0;this.length=1}var u=0;for(h=this.length-1;h>=0&&(u!==0||h>=i);h--){var d=this.words[h]|0;this.words[h]=u<<26-n|d>>>n;u=d&s}if(o&&u!==0){o.words[o.length++]=u}if(this.length===0){this.words[0]=0;this.length=1}return this.strip()};BN.prototype.ishrn=function ishrn(e,t,r){assert(this.negative===0);return this.iushrn(e,t,r)};BN.prototype.shln=function shln(e){return this.clone().ishln(e)};BN.prototype.ushln=function ushln(e){return this.clone().iushln(e)};BN.prototype.shrn=function shrn(e){return this.clone().ishrn(e)};BN.prototype.ushrn=function ushrn(e){return this.clone().iushrn(e)};BN.prototype.testn=function testn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r)return false;var n=this.words[r];return!!(n&i)};BN.prototype.imaskn=function imaskn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;assert(this.negative===0,\"imaskn works only with positive numbers\");if(this.length<=r){return this}if(t!==0){r++}this.length=Math.min(r,this.length);if(t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()};BN.prototype.maskn=function maskn(e){return this.clone().imaskn(e)};BN.prototype.iaddn=function iaddn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.isubn(-e);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<e){this.words[0]=e-(this.words[0]|0);this.negative=0;return this}this.negative=0;this.isubn(e);this.negative=1;return this}return this._iaddn(e)};BN.prototype._iaddn=function _iaddn(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++){this.words[t]-=67108864;if(t===this.length-1){this.words[t+1]=1}else{this.words[t+1]++}}this.length=Math.max(this.length,t+1);return this};BN.prototype.isubn=function isubn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.iaddn(-e);if(this.negative!==0){this.negative=0;this.iaddn(e);this.negative=1;return this}this.words[0]-=e;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var t=0;t<this.length&&this.words[t]<0;t++){this.words[t]+=67108864;this.words[t+1]-=1}}return this.strip()};BN.prototype.addn=function addn(e){return this.clone().iaddn(e)};BN.prototype.subn=function subn(e){return this.clone().isubn(e)};BN.prototype.iabs=function iabs(){this.negative=0;return this};BN.prototype.abs=function abs(){return this.clone().iabs()};BN.prototype._ishlnsubmul=function _ishlnsubmul(e,t,r){var i=e.length+r;var n;this._expand(i);var a;var s=0;for(n=0;n<e.length;n++){a=(this.words[n+r]|0)+s;var o=(e.words[n]|0)*t;a-=o&67108863;s=(a>>26)-(o/67108864|0);this.words[n+r]=a&67108863}for(;n<this.length-r;n++){a=(this.words[n+r]|0)+s;s=a>>26;this.words[n+r]=a&67108863}if(s===0)return this.strip();assert(s===-1);s=0;for(n=0;n<this.length;n++){a=-(this.words[n]|0)+s;s=a>>26;this.words[n]=a&67108863}this.negative=1;return this.strip()};BN.prototype._wordDiv=function _wordDiv(e,t){var r=this.length-e.length;var i=this.clone();var n=e;var a=n.words[n.length-1]|0;var s=this._countBits(a);r=26-s;if(r!==0){n=n.ushln(r);i.iushln(r);a=n.words[n.length-1]|0}var o=i.length-n.length;var h;if(t!==\"mod\"){h=new BN(null);h.length=o+1;h.words=new Array(h.length);for(var u=0;u<h.length;u++){h.words[u]=0}}var d=i.clone()._ishlnsubmul(n,1,o);if(d.negative===0){i=d;if(h){h.words[o]=1}}for(var c=o-1;c>=0;c--){var l=(i.words[n.length+c]|0)*67108864+(i.words[n.length+c-1]|0);l=Math.min(l/a|0,67108863);i._ishlnsubmul(n,l,c);while(i.negative!==0){l--;i.negative=0;i._ishlnsubmul(n,1,c);if(!i.isZero()){i.negative^=1}}if(h){h.words[c]=l}}if(h){h.strip()}i.strip();if(t!==\"div\"&&r!==0){i.iushrn(r)}return{div:h||null,mod:i}};BN.prototype.divmod=function divmod(e,t,r){assert(!e.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var i,n,a;if(this.negative!==0&&e.negative===0){a=this.neg().divmod(e,t);if(t!==\"mod\"){i=a.div.neg()}if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.iadd(e)}}return{div:i,mod:n}}if(this.negative===0&&e.negative!==0){a=this.divmod(e.neg(),t);if(t!==\"mod\"){i=a.div.neg()}return{div:i,mod:a.mod}}if((this.negative&e.negative)!==0){a=this.neg().divmod(e.neg(),t);if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.isub(e)}}return{div:a.div,mod:n}}if(e.length>this.length||this.cmp(e)<0){return{div:new BN(0),mod:this}}if(e.length===1){if(t===\"div\"){return{div:this.divn(e.words[0]),mod:null}}if(t===\"mod\"){return{div:null,mod:new BN(this.modn(e.words[0]))}}return{div:this.divn(e.words[0]),mod:new BN(this.modn(e.words[0]))}}return this._wordDiv(e,t)};BN.prototype.div=function div(e){return this.divmod(e,\"div\",false).div};BN.prototype.mod=function mod(e){return this.divmod(e,\"mod\",false).mod};BN.prototype.umod=function umod(e){return this.divmod(e,\"mod\",true).mod};BN.prototype.divRound=function divRound(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=t.div.negative!==0?t.mod.isub(e):t.mod;var i=e.ushrn(1);var n=e.andln(1);var a=r.cmp(i);if(a<0||n===1&&a===0)return t.div;return t.div.negative!==0?t.div.isubn(1):t.div.iaddn(1)};BN.prototype.modn=function modn(e){assert(e<=67108863);var t=(1<<26)%e;var r=0;for(var i=this.length-1;i>=0;i--){r=(t*r+(this.words[i]|0))%e}return r};BN.prototype.idivn=function idivn(e){assert(e<=67108863);var t=0;for(var r=this.length-1;r>=0;r--){var i=(this.words[r]|0)+t*67108864;this.words[r]=i/e|0;t=i%e}return this.strip()};BN.prototype.divn=function divn(e){return this.clone().idivn(e)};BN.prototype.egcd=function egcd(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=new BN(0);var s=new BN(1);var o=0;while(t.isEven()&&r.isEven()){t.iushrn(1);r.iushrn(1);++o}var h=r.clone();var u=t.clone();while(!t.isZero()){for(var d=0,c=1;(t.words[0]&c)===0&&d<26;++d,c<<=1);if(d>0){t.iushrn(d);while(d-- >0){if(i.isOdd()||n.isOdd()){i.iadd(h);n.isub(u)}i.iushrn(1);n.iushrn(1)}}for(var l=0,p=1;(r.words[0]&p)===0&&l<26;++l,p<<=1);if(l>0){r.iushrn(l);while(l-- >0){if(a.isOdd()||s.isOdd()){a.iadd(h);s.isub(u)}a.iushrn(1);s.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(a);n.isub(s)}else{r.isub(t);a.isub(i);s.isub(n)}}return{a:a,b:s,gcd:r.iushln(o)}};BN.prototype._invmp=function _invmp(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=r.clone();while(t.cmpn(1)>0&&r.cmpn(1)>0){for(var s=0,o=1;(t.words[0]&o)===0&&s<26;++s,o<<=1);if(s>0){t.iushrn(s);while(s-- >0){if(i.isOdd()){i.iadd(a)}i.iushrn(1)}}for(var h=0,u=1;(r.words[0]&u)===0&&h<26;++h,u<<=1);if(h>0){r.iushrn(h);while(h-- >0){if(n.isOdd()){n.iadd(a)}n.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(n)}else{r.isub(t);n.isub(i)}}var d;if(t.cmpn(1)===0){d=i}else{d=n}if(d.cmpn(0)<0){d.iadd(e)}return d};BN.prototype.gcd=function gcd(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone();var r=e.clone();t.negative=0;r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++){t.iushrn(1);r.iushrn(1)}do{while(t.isEven()){t.iushrn(1)}while(r.isEven()){r.iushrn(1)}var n=t.cmp(r);if(n<0){var a=t;t=r;r=a}else if(n===0||r.cmpn(1)===0){break}t.isub(r)}while(true);return r.iushln(i)};BN.prototype.invm=function invm(e){return this.egcd(e).a.umod(e)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(e){return this.words[0]&e};BN.prototype.bincn=function bincn(e){assert(typeof e===\"number\");var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r){this._expand(r+1);this.words[r]|=i;return this}var n=i;for(var a=r;n!==0&&a<this.length;a++){var s=this.words[a]|0;s+=n;n=s>>>26;s&=67108863;this.words[a]=s}if(n!==0){this.words[a]=n;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this.strip();var r;if(this.length>1){r=1}else{if(t){e=-e}assert(e<=67108863,\"Number is too big\");var i=this.words[0]|0;r=i===e?0:i<e?-1:1}if(this.negative!==0)return-r|0;return r};BN.prototype.cmp=function cmp(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);if(this.negative!==0)return-t|0;return t};BN.prototype.ucmp=function ucmp(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;var t=0;for(var r=this.length-1;r>=0;r--){var i=this.words[r]|0;var n=e.words[r]|0;if(i===n)continue;if(i<n){t=-1}else if(i>n){t=1}break}return t};BN.prototype.gtn=function gtn(e){return this.cmpn(e)===1};BN.prototype.gt=function gt(e){return this.cmp(e)===1};BN.prototype.gten=function gten(e){return this.cmpn(e)>=0};BN.prototype.gte=function gte(e){return this.cmp(e)>=0};BN.prototype.ltn=function ltn(e){return this.cmpn(e)===-1};BN.prototype.lt=function lt(e){return this.cmp(e)===-1};BN.prototype.lten=function lten(e){return this.cmpn(e)<=0};BN.prototype.lte=function lte(e){return this.cmp(e)<=0};BN.prototype.eqn=function eqn(e){return this.cmpn(e)===0};BN.prototype.eq=function eq(e){return this.cmp(e)===0};BN.red=function red(e){return new Red(e)};BN.prototype.toRed=function toRed(e){assert(!this.red,\"Already a number in reduction context\");assert(this.negative===0,\"red works only with positives\");return e.convertTo(this)._forceRed(e)};BN.prototype.fromRed=function fromRed(){assert(this.red,\"fromRed works only with numbers in reduction context\");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(e){this.red=e;return this};BN.prototype.forceRed=function forceRed(e){assert(!this.red,\"Already a number in reduction context\");return this._forceRed(e)};BN.prototype.redAdd=function redAdd(e){assert(this.red,\"redAdd works only with red numbers\");return this.red.add(this,e)};BN.prototype.redIAdd=function redIAdd(e){assert(this.red,\"redIAdd works only with red numbers\");return this.red.iadd(this,e)};BN.prototype.redSub=function redSub(e){assert(this.red,\"redSub works only with red numbers\");return this.red.sub(this,e)};BN.prototype.redISub=function redISub(e){assert(this.red,\"redISub works only with red numbers\");return this.red.isub(this,e)};BN.prototype.redShl=function redShl(e){assert(this.red,\"redShl works only with red numbers\");return this.red.shl(this,e)};BN.prototype.redMul=function redMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.mul(this,e)};BN.prototype.redIMul=function redIMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.imul(this,e)};BN.prototype.redSqr=function redSqr(){assert(this.red,\"redSqr works only with red numbers\");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,\"redISqr works only with red numbers\");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,\"redSqrt works only with red numbers\");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,\"redInvm works only with red numbers\");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,\"redNeg works only with red numbers\");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(e){assert(this.red&&!e.red,\"redPow(normalNum)\");this.red._verify1(this);return this.red.pow(this,e)};var h={k256:null,p224:null,p192:null,p25519:null};function MPrime(e,t){this.name=e;this.p=new BN(t,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var e=new BN(null);e.words=new Array(Math.ceil(this.n/13));return e};MPrime.prototype.ireduce=function ireduce(e){var t=e;var r;do{this.split(t,this.tmp);t=this.imulK(t);t=t.iadd(this.tmp);r=t.bitLength()}while(r>this.n);var i=r<this.n?-1:t.ucmp(this.p);if(i===0){t.words[0]=0;t.length=1}else if(i>0){t.isub(this.p)}else{if(t.strip!==undefined){t.strip()}else{t._strip()}}return t};MPrime.prototype.split=function split(e,t){e.iushrn(this.n,0,t)};MPrime.prototype.imulK=function imulK(e){return e.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime);K256.prototype.split=function split(e,t){var r=4194303;var i=Math.min(e.length,9);for(var n=0;n<i;n++){t.words[n]=e.words[n]}t.length=i;if(e.length<=9){e.words[0]=0;e.length=1;return}var a=e.words[9];t.words[t.length++]=a&r;for(n=10;n<e.length;n++){var s=e.words[n]|0;e.words[n-10]=(s&r)<<4|a>>>22;a=s}a>>>=22;e.words[n-10]=a;if(a===0&&e.length>10){e.length-=10}else{e.length-=9}};K256.prototype.imulK=function imulK(e){e.words[e.length]=0;e.words[e.length+1]=0;e.length+=2;var t=0;for(var r=0;r<e.length;r++){var i=e.words[r]|0;t+=i*977;e.words[r]=t&67108863;t=i*64+(t/67108864|0)}if(e.words[e.length-1]===0){e.length--;if(e.words[e.length-1]===0){e.length--}}return e};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime);P25519.prototype.imulK=function imulK(e){var t=0;for(var r=0;r<e.length;r++){var i=(e.words[r]|0)*19+t;var n=i&67108863;i>>>=26;e.words[r]=n;t=i}if(t!==0){e.words[e.length++]=t}return e};BN._prime=function prime(e){if(h[e])return h[e];var prime;if(e===\"k256\"){prime=new K256}else if(e===\"p224\"){prime=new P224}else if(e===\"p192\"){prime=new P192}else if(e===\"p25519\"){prime=new P25519}else{throw new Error(\"Unknown prime \"+e)}h[e]=prime;return prime};function Red(e){if(typeof e===\"string\"){var t=BN._prime(e);this.m=t.p;this.prime=t}else{assert(e.gtn(1),\"modulus must be greater than 1\");this.m=e;this.prime=null}}Red.prototype._verify1=function _verify1(e){assert(e.negative===0,\"red works only with positives\");assert(e.red,\"red works only with red numbers\")};Red.prototype._verify2=function _verify2(e,t){assert((e.negative|t.negative)===0,\"red works only with positives\");assert(e.red&&e.red===t.red,\"red works only with red numbers\")};Red.prototype.imod=function imod(e){if(this.prime)return this.prime.ireduce(e)._forceRed(this);return e.umod(this.m)._forceRed(this)};Red.prototype.neg=function neg(e){if(e.isZero()){return e.clone()}return this.m.sub(e)._forceRed(this)};Red.prototype.add=function add(e,t){this._verify2(e,t);var r=e.add(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r._forceRed(this)};Red.prototype.iadd=function iadd(e,t){this._verify2(e,t);var r=e.iadd(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r};Red.prototype.sub=function sub(e,t){this._verify2(e,t);var r=e.sub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r._forceRed(this)};Red.prototype.isub=function isub(e,t){this._verify2(e,t);var r=e.isub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r};Red.prototype.shl=function shl(e,t){this._verify1(e);return this.imod(e.ushln(t))};Red.prototype.imul=function imul(e,t){this._verify2(e,t);return this.imod(e.imul(t))};Red.prototype.mul=function mul(e,t){this._verify2(e,t);return this.imod(e.mul(t))};Red.prototype.isqr=function isqr(e){return this.imul(e,e.clone())};Red.prototype.sqr=function sqr(e){return this.mul(e,e)};Red.prototype.sqrt=function sqrt(e){if(e.isZero())return e.clone();var t=this.m.andln(3);assert(t%2===1);if(t===3){var r=this.m.add(new BN(1)).iushrn(2);return this.pow(e,r)}var i=this.m.subn(1);var n=0;while(!i.isZero()&&i.andln(1)===0){n++;i.iushrn(1)}assert(!i.isZero());var a=new BN(1).toRed(this);var s=a.redNeg();var o=this.m.subn(1).iushrn(1);var h=this.m.bitLength();h=new BN(2*h*h).toRed(this);while(this.pow(h,o).cmp(s)!==0){h.redIAdd(s)}var u=this.pow(h,i);var d=this.pow(e,i.addn(1).iushrn(1));var c=this.pow(e,i);var l=n;while(c.cmp(a)!==0){var p=c;for(var v=0;p.cmp(a)!==0;v++){p=p.redSqr()}assert(v<l);var b=this.pow(u,new BN(1).iushln(l-v-1));d=d.redMul(b);u=b.redSqr();c=c.redMul(u);l=v}return d};Red.prototype.invm=function invm(e){var t=e._invmp(this.m);if(t.negative!==0){t.negative=0;return this.imod(t).redNeg()}else{return this.imod(t)}};Red.prototype.pow=function pow(e,t){if(t.isZero())return new BN(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var r=4;var i=new Array(1<<r);i[0]=new BN(1).toRed(this);i[1]=e;for(var n=2;n<i.length;n++){i[n]=this.mul(i[n-1],e)}var a=i[0];var s=0;var o=0;var h=t.bitLength()%26;if(h===0){h=26}for(n=t.length-1;n>=0;n--){var u=t.words[n];for(var d=h-1;d>=0;d--){var c=u>>d&1;if(a!==i[0]){a=this.sqr(a)}if(c===0&&s===0){o=0;continue}s<<=1;s|=c;o++;if(o!==r&&(n!==0||d!==0))continue;a=this.mul(a,i[s]);o=0;s=0}h=26}return a};Red.prototype.convertTo=function convertTo(e){var t=e.umod(this.m);return t===e?t.clone():t};Red.prototype.convertFrom=function convertFrom(e){var t=e.clone();t.red=null;return t};BN.mont=function mont(e){return new Mont(e)};function Mont(e){Red.call(this,e);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(e){return this.imod(e.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(e){var t=this.imod(e.mul(this.rinv));t.red=null;return t};Mont.prototype.imul=function imul(e,t){if(e.isZero()||t.isZero()){e.words[0]=0;e.length=1;return e}var r=e.imul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.mul=function mul(e,t){if(e.isZero()||t.isZero())return new BN(0)._forceRed(this);var r=e.mul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.invm=function invm(e){var t=this.imod(e._invmp(this.m).mul(this.r2));return t._forceRed(this)}})( false||e,this)},1670:function(e,t,r){e=r.nmd(e);(function(e,t){\"use strict\";function assert(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function inherits(e,t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}function BN(e,t,r){if(BN.isBN(e)){return e}this.negative=0;this.words=null;this.length=0;this.red=null;if(e!==null){if(t===\"le\"||t===\"be\"){r=t;t=10}this._init(e||0,t||10,r||\"be\")}}if(typeof e===\"object\"){e.exports=BN}else{t.BN=BN}BN.BN=BN;BN.wordSize=26;var i;try{i=r(4300).Buffer}catch(e){}BN.isBN=function isBN(e){if(e instanceof BN){return true}return e!==null&&typeof e===\"object\"&&e.constructor.wordSize===BN.wordSize&&Array.isArray(e.words)};BN.max=function max(e,t){if(e.cmp(t)>0)return e;return t};BN.min=function min(e,t){if(e.cmp(t)<0)return e;return t};BN.prototype._init=function init(e,t,r){if(typeof e===\"number\"){return this._initNumber(e,t,r)}if(typeof e===\"object\"){return this._initArray(e,t,r)}if(t===\"hex\"){t=16}assert(t===(t|0)&&t>=2&&t<=36);e=e.toString().replace(/\\s+/g,\"\");var i=0;if(e[0]===\"-\"){i++}if(t===16){this._parseHex(e,i)}else{this._parseBase(e,t,i)}if(e[0]===\"-\"){this.negative=1}this._strip();if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initNumber=function _initNumber(e,t,r){if(e<0){this.negative=1;e=-e}if(e<67108864){this.words=[e&67108863];this.length=1}else if(e<4503599627370496){this.words=[e&67108863,e/67108864&67108863];this.length=2}else{assert(e<9007199254740992);this.words=[e&67108863,e/67108864&67108863,1];this.length=3}if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initArray=function _initArray(e,t,r){assert(typeof e.length===\"number\");if(e.length<=0){this.words=[0];this.length=1;return this}this.length=Math.ceil(e.length/3);this.words=new Array(this.length);for(var i=0;i<this.length;i++){this.words[i]=0}var n,a;var s=0;if(r===\"be\"){for(i=e.length-1,n=0;i>=0;i-=3){a=e[i]|e[i-1]<<8|e[i-2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}else if(r===\"le\"){for(i=0,n=0;i<e.length;i+=3){a=e[i]|e[i+1]<<8|e[i+2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}return this._strip()};function parseHex(e,t,r){var i=0;var n=Math.min(e.length,r);var a=0;for(var s=t;s<n;s++){var o=e.charCodeAt(s)-48;i<<=4;var h;if(o>=49&&o<=54){h=o-49+10}else if(o>=17&&o<=22){h=o-17+10}else{h=o}i|=h;a|=h}assert(!(a&240),\"Invalid character in \"+e);return i}BN.prototype._parseHex=function _parseHex(e,t){this.length=Math.ceil((e.length-t)/6);this.words=new Array(this.length);for(var r=0;r<this.length;r++){this.words[r]=0}var i,n;var a=0;for(r=e.length-6,i=0;r>=t;r-=6){n=parseHex(e,r,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303;a+=24;if(a>=26){a-=26;i++}}if(r+6!==t){n=parseHex(e,t,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303}this._strip()};function parseBase(e,t,r,i){var n=0;var a=0;var s=Math.min(e.length,r);for(var o=t;o<s;o++){var h=e.charCodeAt(o)-48;n*=i;if(h>=49){a=h-49+10}else if(h>=17){a=h-17+10}else{a=h}assert(h>=0&&a<i,\"Invalid character\");n+=a}return n}BN.prototype._parseBase=function _parseBase(e,t,r){this.words=[0];this.length=1;for(var i=0,n=1;n<=67108863;n*=t){i++}i--;n=n/t|0;var a=e.length-r;var s=a%i;var o=Math.min(a,a-s)+r;var h=0;for(var u=r;u<o;u+=i){h=parseBase(e,u,u+i,t);this.imuln(n);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}if(s!==0){var d=1;h=parseBase(e,u,e.length,t);for(u=0;u<s;u++){d*=t}this.imuln(d);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}};BN.prototype.copy=function copy(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++){e.words[t]=this.words[t]}e.length=this.length;e.negative=this.negative;e.red=this.red};function move(e,t){e.words=t.words;e.length=t.length;e.negative=t.negative;e.red=t.red}BN.prototype._move=function _move(e){move(e,this)};BN.prototype.clone=function clone(){var e=new BN(null);this.copy(e);return e};BN.prototype._expand=function _expand(e){while(this.length<e){this.words[this.length++]=0}return this};BN.prototype._strip=function strip(){while(this.length>1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};if(typeof Symbol!==\"undefined\"&&typeof Symbol.for===\"function\"){BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}else{BN.prototype.inspect=inspect}function inspect(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"}var n=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"];var a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var s=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(e,t){e=e||10;t=t|0||1;var r;if(e===16||e===\"hex\"){r=\"\";var i=0;var o=0;for(var h=0;h<this.length;h++){var u=this.words[h];var d=((u<<i|o)&16777215).toString(16);o=u>>>24-i&16777215;if(o!==0||h!==this.length-1){r=n[6-d.length]+d+r}else{r=d+r}i+=2;if(i>=26){i-=26;h--}}if(o!==0){r=o.toString(16)+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}if(e===(e|0)&&e>=2&&e<=36){var c=a[e];var l=s[e];r=\"\";var p=this.clone();p.negative=0;while(!p.isZero()){var v=p.modrn(l).toString(e);p=p.idivn(l);if(!p.isZero()){r=n[c-v.length]+v+r}else{r=v+r}}if(this.isZero()){r=\"0\"+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}assert(false,\"Base should be between 2 and 36\")};BN.prototype.toNumber=function toNumber(){var e=this.words[0];if(this.length===2){e+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){e+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,\"Number can only safely store up to 53 bits\")}return this.negative!==0?-e:e};BN.prototype.toJSON=function toJSON(){return this.toString(16,2)};if(i){BN.prototype.toBuffer=function toBuffer(e,t){return this.toArrayLike(i,e,t)}}BN.prototype.toArray=function toArray(e,t){return this.toArrayLike(Array,e,t)};var o=function allocate(e,t){if(e.allocUnsafe){return e.allocUnsafe(t)}return new e(t)};BN.prototype.toArrayLike=function toArrayLike(e,t,r){this._strip();var i=this.byteLength();var n=r||Math.max(1,i);assert(i<=n,\"byte array longer than desired length\");assert(n>0,\"Requested array length <= 0\");var a=o(e,n);var s=t===\"le\"?\"LE\":\"BE\";this[\"_toArrayLike\"+s](a,i);return a};BN.prototype._toArrayLikeLE=function _toArrayLikeLE(e,t){var r=0;var i=0;for(var n=0,a=0;n<this.length;n++){var s=this.words[n]<<a|i;e[r++]=s&255;if(r<e.length){e[r++]=s>>8&255}if(r<e.length){e[r++]=s>>16&255}if(a===6){if(r<e.length){e[r++]=s>>24&255}i=0;a=0}else{i=s>>>24;a+=2}}if(r<e.length){e[r++]=i;while(r<e.length){e[r++]=0}}};BN.prototype._toArrayLikeBE=function _toArrayLikeBE(e,t){var r=e.length-1;var i=0;for(var n=0,a=0;n<this.length;n++){var s=this.words[n]<<a|i;e[r--]=s&255;if(r>=0){e[r--]=s>>8&255}if(r>=0){e[r--]=s>>16&255}if(a===6){if(r>=0){e[r--]=s>>24&255}i=0;a=0}else{i=s>>>24;a+=2}}if(r>=0){e[r--]=i;while(r>=0){e[r--]=0}}};if(Math.clz32){BN.prototype._countBits=function _countBits(e){return 32-Math.clz32(e)}}else{BN.prototype._countBits=function _countBits(e){var t=e;var r=0;if(t>=4096){r+=13;t>>>=13}if(t>=64){r+=7;t>>>=7}if(t>=8){r+=4;t>>>=4}if(t>=2){r+=2;t>>>=2}return r+t}}BN.prototype._zeroBits=function _zeroBits(e){if(e===0)return 26;var t=e;var r=0;if((t&8191)===0){r+=13;t>>>=13}if((t&127)===0){r+=7;t>>>=7}if((t&15)===0){r+=4;t>>>=4}if((t&3)===0){r+=2;t>>>=2}if((t&1)===0){r++}return r};BN.prototype.bitLength=function bitLength(){var e=this.words[this.length-1];var t=this._countBits(e);return(this.length-1)*26+t};function toBitArray(e){var t=new Array(e.bitLength());for(var r=0;r<t.length;r++){var i=r/26|0;var n=r%26;t[r]=e.words[i]>>>n&1}return t}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var e=0;for(var t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);e+=r;if(r!==26)break}return e};BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)};BN.prototype.toTwos=function toTwos(e){if(this.negative!==0){return this.abs().inotn(e).iaddn(1)}return this.clone()};BN.prototype.fromTwos=function fromTwos(e){if(this.testn(e-1)){return this.notn(e).iaddn(1).ineg()}return this.clone()};BN.prototype.isNeg=function isNeg(){return this.negative!==0};BN.prototype.neg=function neg(){return this.clone().ineg()};BN.prototype.ineg=function ineg(){if(!this.isZero()){this.negative^=1}return this};BN.prototype.iuor=function iuor(e){while(this.length<e.length){this.words[this.length++]=0}for(var t=0;t<e.length;t++){this.words[t]=this.words[t]|e.words[t]}return this._strip()};BN.prototype.ior=function ior(e){assert((this.negative|e.negative)===0);return this.iuor(e)};BN.prototype.or=function or(e){if(this.length>e.length)return this.clone().ior(e);return e.clone().ior(this)};BN.prototype.uor=function uor(e){if(this.length>e.length)return this.clone().iuor(e);return e.clone().iuor(this)};BN.prototype.iuand=function iuand(e){var t;if(this.length>e.length){t=e}else{t=this}for(var r=0;r<t.length;r++){this.words[r]=this.words[r]&e.words[r]}this.length=t.length;return this._strip()};BN.prototype.iand=function iand(e){assert((this.negative|e.negative)===0);return this.iuand(e)};BN.prototype.and=function and(e){if(this.length>e.length)return this.clone().iand(e);return e.clone().iand(this)};BN.prototype.uand=function uand(e){if(this.length>e.length)return this.clone().iuand(e);return e.clone().iuand(this)};BN.prototype.iuxor=function iuxor(e){var t;var r;if(this.length>e.length){t=this;r=e}else{t=e;r=this}for(var i=0;i<r.length;i++){this.words[i]=t.words[i]^r.words[i]}if(this!==t){for(;i<t.length;i++){this.words[i]=t.words[i]}}this.length=t.length;return this._strip()};BN.prototype.ixor=function ixor(e){assert((this.negative|e.negative)===0);return this.iuxor(e)};BN.prototype.xor=function xor(e){if(this.length>e.length)return this.clone().ixor(e);return e.clone().ixor(this)};BN.prototype.uxor=function uxor(e){if(this.length>e.length)return this.clone().iuxor(e);return e.clone().iuxor(this)};BN.prototype.inotn=function inotn(e){assert(typeof e===\"number\"&&e>=0);var t=Math.ceil(e/26)|0;var r=e%26;this._expand(t);if(r>0){t--}for(var i=0;i<t;i++){this.words[i]=~this.words[i]&67108863}if(r>0){this.words[i]=~this.words[i]&67108863>>26-r}return this._strip()};BN.prototype.notn=function notn(e){return this.clone().inotn(e)};BN.prototype.setn=function setn(e,t){assert(typeof e===\"number\"&&e>=0);var r=e/26|0;var i=e%26;this._expand(r+1);if(t){this.words[r]=this.words[r]|1<<i}else{this.words[r]=this.words[r]&~(1<<i)}return this._strip()};BN.prototype.iadd=function iadd(e){var t;if(this.negative!==0&&e.negative===0){this.negative=0;t=this.isub(e);this.negative^=1;return this._normSign()}else if(this.negative===0&&e.negative!==0){e.negative=0;t=this.isub(e);e.negative=1;return t._normSign()}var r,i;if(this.length>e.length){r=this;i=e}else{r=e;i=this}var n=0;for(var a=0;a<i.length;a++){t=(r.words[a]|0)+(i.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}for(;n!==0&&a<r.length;a++){t=(r.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}this.length=r.length;if(n!==0){this.words[this.length]=n;this.length++}else if(r!==this){for(;a<r.length;a++){this.words[a]=r.words[a]}}return this};BN.prototype.add=function add(e){var t;if(e.negative!==0&&this.negative===0){e.negative=0;t=this.sub(e);e.negative^=1;return t}else if(e.negative===0&&this.negative!==0){this.negative=0;t=e.sub(this);this.negative=1;return t}if(this.length>e.length)return this.clone().iadd(e);return e.clone().iadd(this)};BN.prototype.isub=function isub(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);e.negative=1;return t._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(e);this.negative=1;return this._normSign()}var r=this.cmp(e);if(r===0){this.negative=0;this.length=1;this.words[0]=0;return this}var i,n;if(r>0){i=this;n=e}else{i=e;n=this}var a=0;for(var s=0;s<n.length;s++){t=(i.words[s]|0)-(n.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}for(;a!==0&&s<i.length;s++){t=(i.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}if(a===0&&s<i.length&&i!==this){for(;s<i.length;s++){this.words[s]=i.words[s]}}this.length=Math.max(this.length,s);if(i!==this){this.negative=1}return this._strip()};BN.prototype.sub=function sub(e){return this.clone().isub(e)};function smallMulTo(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i;i=i-1|0;var n=e.words[0]|0;var a=t.words[0]|0;var s=n*a;var o=s&67108863;var h=s/67108864|0;r.words[0]=o;for(var u=1;u<i;u++){var d=h>>>26;var c=h&67108863;var l=Math.min(u,t.length-1);for(var p=Math.max(0,u-e.length+1);p<=l;p++){var v=u-p|0;n=e.words[v]|0;a=t.words[p]|0;s=n*a+c;d+=s/67108864|0;c=s&67108863}r.words[u]=c|0;h=d|0}if(h!==0){r.words[u]=h|0}else{r.length--}return r._strip()}var h=function comb10MulTo(e,t,r){var i=e.words;var n=t.words;var a=r.words;var s=0;var o;var h;var u;var d=i[0]|0;var c=d&8191;var l=d>>>13;var p=i[1]|0;var v=p&8191;var b=p>>>13;var m=i[2]|0;var y=m&8191;var g=m>>>13;var _=i[3]|0;var w=_&8191;var M=_>>>13;var B=i[4]|0;var E=B&8191;var k=B>>>13;var A=i[5]|0;var N=A&8191;var P=A>>>13;var x=i[6]|0;var I=x&8191;var C=x>>>13;var D=i[7]|0;var T=D&8191;var j=D>>>13;var q=i[8]|0;var O=q&8191;var H=q>>>13;var L=i[9]|0;var z=L&8191;var F=L>>>13;var U=n[0]|0;var W=U&8191;var V=U>>>13;var G=n[1]|0;var J=G&8191;var Z=G>>>13;var X=n[2]|0;var Y=X&8191;var $=X>>>13;var Q=n[3]|0;var ee=Q&8191;var te=Q>>>13;var re=n[4]|0;var ie=re&8191;var ne=re>>>13;var ae=n[5]|0;var fe=ae&8191;var se=ae>>>13;var oe=n[6]|0;var he=oe&8191;var ue=oe>>>13;var de=n[7]|0;var ce=de&8191;var le=de>>>13;var pe=n[8]|0;var ve=pe&8191;var be=pe>>>13;var me=n[9]|0;var ye=me&8191;var ge=me>>>13;r.negative=e.negative^t.negative;r.length=19;o=Math.imul(c,W);h=Math.imul(c,V);h=h+Math.imul(l,W)|0;u=Math.imul(l,V);var _e=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(_e>>>26)|0;_e&=67108863;o=Math.imul(v,W);h=Math.imul(v,V);h=h+Math.imul(b,W)|0;u=Math.imul(b,V);o=o+Math.imul(c,J)|0;h=h+Math.imul(c,Z)|0;h=h+Math.imul(l,J)|0;u=u+Math.imul(l,Z)|0;var we=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(we>>>26)|0;we&=67108863;o=Math.imul(y,W);h=Math.imul(y,V);h=h+Math.imul(g,W)|0;u=Math.imul(g,V);o=o+Math.imul(v,J)|0;h=h+Math.imul(v,Z)|0;h=h+Math.imul(b,J)|0;u=u+Math.imul(b,Z)|0;o=o+Math.imul(c,Y)|0;h=h+Math.imul(c,$)|0;h=h+Math.imul(l,Y)|0;u=u+Math.imul(l,$)|0;var Me=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Me>>>26)|0;Me&=67108863;o=Math.imul(w,W);h=Math.imul(w,V);h=h+Math.imul(M,W)|0;u=Math.imul(M,V);o=o+Math.imul(y,J)|0;h=h+Math.imul(y,Z)|0;h=h+Math.imul(g,J)|0;u=u+Math.imul(g,Z)|0;o=o+Math.imul(v,Y)|0;h=h+Math.imul(v,$)|0;h=h+Math.imul(b,Y)|0;u=u+Math.imul(b,$)|0;o=o+Math.imul(c,ee)|0;h=h+Math.imul(c,te)|0;h=h+Math.imul(l,ee)|0;u=u+Math.imul(l,te)|0;var Se=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Se>>>26)|0;Se&=67108863;o=Math.imul(E,W);h=Math.imul(E,V);h=h+Math.imul(k,W)|0;u=Math.imul(k,V);o=o+Math.imul(w,J)|0;h=h+Math.imul(w,Z)|0;h=h+Math.imul(M,J)|0;u=u+Math.imul(M,Z)|0;o=o+Math.imul(y,Y)|0;h=h+Math.imul(y,$)|0;h=h+Math.imul(g,Y)|0;u=u+Math.imul(g,$)|0;o=o+Math.imul(v,ee)|0;h=h+Math.imul(v,te)|0;h=h+Math.imul(b,ee)|0;u=u+Math.imul(b,te)|0;o=o+Math.imul(c,ie)|0;h=h+Math.imul(c,ne)|0;h=h+Math.imul(l,ie)|0;u=u+Math.imul(l,ne)|0;var Be=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Be>>>26)|0;Be&=67108863;o=Math.imul(N,W);h=Math.imul(N,V);h=h+Math.imul(P,W)|0;u=Math.imul(P,V);o=o+Math.imul(E,J)|0;h=h+Math.imul(E,Z)|0;h=h+Math.imul(k,J)|0;u=u+Math.imul(k,Z)|0;o=o+Math.imul(w,Y)|0;h=h+Math.imul(w,$)|0;h=h+Math.imul(M,Y)|0;u=u+Math.imul(M,$)|0;o=o+Math.imul(y,ee)|0;h=h+Math.imul(y,te)|0;h=h+Math.imul(g,ee)|0;u=u+Math.imul(g,te)|0;o=o+Math.imul(v,ie)|0;h=h+Math.imul(v,ne)|0;h=h+Math.imul(b,ie)|0;u=u+Math.imul(b,ne)|0;o=o+Math.imul(c,fe)|0;h=h+Math.imul(c,se)|0;h=h+Math.imul(l,fe)|0;u=u+Math.imul(l,se)|0;var Ee=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ee>>>26)|0;Ee&=67108863;o=Math.imul(I,W);h=Math.imul(I,V);h=h+Math.imul(C,W)|0;u=Math.imul(C,V);o=o+Math.imul(N,J)|0;h=h+Math.imul(N,Z)|0;h=h+Math.imul(P,J)|0;u=u+Math.imul(P,Z)|0;o=o+Math.imul(E,Y)|0;h=h+Math.imul(E,$)|0;h=h+Math.imul(k,Y)|0;u=u+Math.imul(k,$)|0;o=o+Math.imul(w,ee)|0;h=h+Math.imul(w,te)|0;h=h+Math.imul(M,ee)|0;u=u+Math.imul(M,te)|0;o=o+Math.imul(y,ie)|0;h=h+Math.imul(y,ne)|0;h=h+Math.imul(g,ie)|0;u=u+Math.imul(g,ne)|0;o=o+Math.imul(v,fe)|0;h=h+Math.imul(v,se)|0;h=h+Math.imul(b,fe)|0;u=u+Math.imul(b,se)|0;o=o+Math.imul(c,he)|0;h=h+Math.imul(c,ue)|0;h=h+Math.imul(l,he)|0;u=u+Math.imul(l,ue)|0;var ke=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(ke>>>26)|0;ke&=67108863;o=Math.imul(T,W);h=Math.imul(T,V);h=h+Math.imul(j,W)|0;u=Math.imul(j,V);o=o+Math.imul(I,J)|0;h=h+Math.imul(I,Z)|0;h=h+Math.imul(C,J)|0;u=u+Math.imul(C,Z)|0;o=o+Math.imul(N,Y)|0;h=h+Math.imul(N,$)|0;h=h+Math.imul(P,Y)|0;u=u+Math.imul(P,$)|0;o=o+Math.imul(E,ee)|0;h=h+Math.imul(E,te)|0;h=h+Math.imul(k,ee)|0;u=u+Math.imul(k,te)|0;o=o+Math.imul(w,ie)|0;h=h+Math.imul(w,ne)|0;h=h+Math.imul(M,ie)|0;u=u+Math.imul(M,ne)|0;o=o+Math.imul(y,fe)|0;h=h+Math.imul(y,se)|0;h=h+Math.imul(g,fe)|0;u=u+Math.imul(g,se)|0;o=o+Math.imul(v,he)|0;h=h+Math.imul(v,ue)|0;h=h+Math.imul(b,he)|0;u=u+Math.imul(b,ue)|0;o=o+Math.imul(c,ce)|0;h=h+Math.imul(c,le)|0;h=h+Math.imul(l,ce)|0;u=u+Math.imul(l,le)|0;var Ae=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ae>>>26)|0;Ae&=67108863;o=Math.imul(O,W);h=Math.imul(O,V);h=h+Math.imul(H,W)|0;u=Math.imul(H,V);o=o+Math.imul(T,J)|0;h=h+Math.imul(T,Z)|0;h=h+Math.imul(j,J)|0;u=u+Math.imul(j,Z)|0;o=o+Math.imul(I,Y)|0;h=h+Math.imul(I,$)|0;h=h+Math.imul(C,Y)|0;u=u+Math.imul(C,$)|0;o=o+Math.imul(N,ee)|0;h=h+Math.imul(N,te)|0;h=h+Math.imul(P,ee)|0;u=u+Math.imul(P,te)|0;o=o+Math.imul(E,ie)|0;h=h+Math.imul(E,ne)|0;h=h+Math.imul(k,ie)|0;u=u+Math.imul(k,ne)|0;o=o+Math.imul(w,fe)|0;h=h+Math.imul(w,se)|0;h=h+Math.imul(M,fe)|0;u=u+Math.imul(M,se)|0;o=o+Math.imul(y,he)|0;h=h+Math.imul(y,ue)|0;h=h+Math.imul(g,he)|0;u=u+Math.imul(g,ue)|0;o=o+Math.imul(v,ce)|0;h=h+Math.imul(v,le)|0;h=h+Math.imul(b,ce)|0;u=u+Math.imul(b,le)|0;o=o+Math.imul(c,ve)|0;h=h+Math.imul(c,be)|0;h=h+Math.imul(l,ve)|0;u=u+Math.imul(l,be)|0;var Ne=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ne>>>26)|0;Ne&=67108863;o=Math.imul(z,W);h=Math.imul(z,V);h=h+Math.imul(F,W)|0;u=Math.imul(F,V);o=o+Math.imul(O,J)|0;h=h+Math.imul(O,Z)|0;h=h+Math.imul(H,J)|0;u=u+Math.imul(H,Z)|0;o=o+Math.imul(T,Y)|0;h=h+Math.imul(T,$)|0;h=h+Math.imul(j,Y)|0;u=u+Math.imul(j,$)|0;o=o+Math.imul(I,ee)|0;h=h+Math.imul(I,te)|0;h=h+Math.imul(C,ee)|0;u=u+Math.imul(C,te)|0;o=o+Math.imul(N,ie)|0;h=h+Math.imul(N,ne)|0;h=h+Math.imul(P,ie)|0;u=u+Math.imul(P,ne)|0;o=o+Math.imul(E,fe)|0;h=h+Math.imul(E,se)|0;h=h+Math.imul(k,fe)|0;u=u+Math.imul(k,se)|0;o=o+Math.imul(w,he)|0;h=h+Math.imul(w,ue)|0;h=h+Math.imul(M,he)|0;u=u+Math.imul(M,ue)|0;o=o+Math.imul(y,ce)|0;h=h+Math.imul(y,le)|0;h=h+Math.imul(g,ce)|0;u=u+Math.imul(g,le)|0;o=o+Math.imul(v,ve)|0;h=h+Math.imul(v,be)|0;h=h+Math.imul(b,ve)|0;u=u+Math.imul(b,be)|0;o=o+Math.imul(c,ye)|0;h=h+Math.imul(c,ge)|0;h=h+Math.imul(l,ye)|0;u=u+Math.imul(l,ge)|0;var Re=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Re>>>26)|0;Re&=67108863;o=Math.imul(z,J);h=Math.imul(z,Z);h=h+Math.imul(F,J)|0;u=Math.imul(F,Z);o=o+Math.imul(O,Y)|0;h=h+Math.imul(O,$)|0;h=h+Math.imul(H,Y)|0;u=u+Math.imul(H,$)|0;o=o+Math.imul(T,ee)|0;h=h+Math.imul(T,te)|0;h=h+Math.imul(j,ee)|0;u=u+Math.imul(j,te)|0;o=o+Math.imul(I,ie)|0;h=h+Math.imul(I,ne)|0;h=h+Math.imul(C,ie)|0;u=u+Math.imul(C,ne)|0;o=o+Math.imul(N,fe)|0;h=h+Math.imul(N,se)|0;h=h+Math.imul(P,fe)|0;u=u+Math.imul(P,se)|0;o=o+Math.imul(E,he)|0;h=h+Math.imul(E,ue)|0;h=h+Math.imul(k,he)|0;u=u+Math.imul(k,ue)|0;o=o+Math.imul(w,ce)|0;h=h+Math.imul(w,le)|0;h=h+Math.imul(M,ce)|0;u=u+Math.imul(M,le)|0;o=o+Math.imul(y,ve)|0;h=h+Math.imul(y,be)|0;h=h+Math.imul(g,ve)|0;u=u+Math.imul(g,be)|0;o=o+Math.imul(v,ye)|0;h=h+Math.imul(v,ge)|0;h=h+Math.imul(b,ye)|0;u=u+Math.imul(b,ge)|0;var Pe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Pe>>>26)|0;Pe&=67108863;o=Math.imul(z,Y);h=Math.imul(z,$);h=h+Math.imul(F,Y)|0;u=Math.imul(F,$);o=o+Math.imul(O,ee)|0;h=h+Math.imul(O,te)|0;h=h+Math.imul(H,ee)|0;u=u+Math.imul(H,te)|0;o=o+Math.imul(T,ie)|0;h=h+Math.imul(T,ne)|0;h=h+Math.imul(j,ie)|0;u=u+Math.imul(j,ne)|0;o=o+Math.imul(I,fe)|0;h=h+Math.imul(I,se)|0;h=h+Math.imul(C,fe)|0;u=u+Math.imul(C,se)|0;o=o+Math.imul(N,he)|0;h=h+Math.imul(N,ue)|0;h=h+Math.imul(P,he)|0;u=u+Math.imul(P,ue)|0;o=o+Math.imul(E,ce)|0;h=h+Math.imul(E,le)|0;h=h+Math.imul(k,ce)|0;u=u+Math.imul(k,le)|0;o=o+Math.imul(w,ve)|0;h=h+Math.imul(w,be)|0;h=h+Math.imul(M,ve)|0;u=u+Math.imul(M,be)|0;o=o+Math.imul(y,ye)|0;h=h+Math.imul(y,ge)|0;h=h+Math.imul(g,ye)|0;u=u+Math.imul(g,ge)|0;var xe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(xe>>>26)|0;xe&=67108863;o=Math.imul(z,ee);h=Math.imul(z,te);h=h+Math.imul(F,ee)|0;u=Math.imul(F,te);o=o+Math.imul(O,ie)|0;h=h+Math.imul(O,ne)|0;h=h+Math.imul(H,ie)|0;u=u+Math.imul(H,ne)|0;o=o+Math.imul(T,fe)|0;h=h+Math.imul(T,se)|0;h=h+Math.imul(j,fe)|0;u=u+Math.imul(j,se)|0;o=o+Math.imul(I,he)|0;h=h+Math.imul(I,ue)|0;h=h+Math.imul(C,he)|0;u=u+Math.imul(C,ue)|0;o=o+Math.imul(N,ce)|0;h=h+Math.imul(N,le)|0;h=h+Math.imul(P,ce)|0;u=u+Math.imul(P,le)|0;o=o+Math.imul(E,ve)|0;h=h+Math.imul(E,be)|0;h=h+Math.imul(k,ve)|0;u=u+Math.imul(k,be)|0;o=o+Math.imul(w,ye)|0;h=h+Math.imul(w,ge)|0;h=h+Math.imul(M,ye)|0;u=u+Math.imul(M,ge)|0;var Ie=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ie>>>26)|0;Ie&=67108863;o=Math.imul(z,ie);h=Math.imul(z,ne);h=h+Math.imul(F,ie)|0;u=Math.imul(F,ne);o=o+Math.imul(O,fe)|0;h=h+Math.imul(O,se)|0;h=h+Math.imul(H,fe)|0;u=u+Math.imul(H,se)|0;o=o+Math.imul(T,he)|0;h=h+Math.imul(T,ue)|0;h=h+Math.imul(j,he)|0;u=u+Math.imul(j,ue)|0;o=o+Math.imul(I,ce)|0;h=h+Math.imul(I,le)|0;h=h+Math.imul(C,ce)|0;u=u+Math.imul(C,le)|0;o=o+Math.imul(N,ve)|0;h=h+Math.imul(N,be)|0;h=h+Math.imul(P,ve)|0;u=u+Math.imul(P,be)|0;o=o+Math.imul(E,ye)|0;h=h+Math.imul(E,ge)|0;h=h+Math.imul(k,ye)|0;u=u+Math.imul(k,ge)|0;var Ce=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ce>>>26)|0;Ce&=67108863;o=Math.imul(z,fe);h=Math.imul(z,se);h=h+Math.imul(F,fe)|0;u=Math.imul(F,se);o=o+Math.imul(O,he)|0;h=h+Math.imul(O,ue)|0;h=h+Math.imul(H,he)|0;u=u+Math.imul(H,ue)|0;o=o+Math.imul(T,ce)|0;h=h+Math.imul(T,le)|0;h=h+Math.imul(j,ce)|0;u=u+Math.imul(j,le)|0;o=o+Math.imul(I,ve)|0;h=h+Math.imul(I,be)|0;h=h+Math.imul(C,ve)|0;u=u+Math.imul(C,be)|0;o=o+Math.imul(N,ye)|0;h=h+Math.imul(N,ge)|0;h=h+Math.imul(P,ye)|0;u=u+Math.imul(P,ge)|0;var De=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(De>>>26)|0;De&=67108863;o=Math.imul(z,he);h=Math.imul(z,ue);h=h+Math.imul(F,he)|0;u=Math.imul(F,ue);o=o+Math.imul(O,ce)|0;h=h+Math.imul(O,le)|0;h=h+Math.imul(H,ce)|0;u=u+Math.imul(H,le)|0;o=o+Math.imul(T,ve)|0;h=h+Math.imul(T,be)|0;h=h+Math.imul(j,ve)|0;u=u+Math.imul(j,be)|0;o=o+Math.imul(I,ye)|0;h=h+Math.imul(I,ge)|0;h=h+Math.imul(C,ye)|0;u=u+Math.imul(C,ge)|0;var Te=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Te>>>26)|0;Te&=67108863;o=Math.imul(z,ce);h=Math.imul(z,le);h=h+Math.imul(F,ce)|0;u=Math.imul(F,le);o=o+Math.imul(O,ve)|0;h=h+Math.imul(O,be)|0;h=h+Math.imul(H,ve)|0;u=u+Math.imul(H,be)|0;o=o+Math.imul(T,ye)|0;h=h+Math.imul(T,ge)|0;h=h+Math.imul(j,ye)|0;u=u+Math.imul(j,ge)|0;var je=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(je>>>26)|0;je&=67108863;o=Math.imul(z,ve);h=Math.imul(z,be);h=h+Math.imul(F,ve)|0;u=Math.imul(F,be);o=o+Math.imul(O,ye)|0;h=h+Math.imul(O,ge)|0;h=h+Math.imul(H,ye)|0;u=u+Math.imul(H,ge)|0;var qe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(qe>>>26)|0;qe&=67108863;o=Math.imul(z,ye);h=Math.imul(z,ge);h=h+Math.imul(F,ye)|0;u=Math.imul(F,ge);var Oe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Oe>>>26)|0;Oe&=67108863;a[0]=_e;a[1]=we;a[2]=Me;a[3]=Se;a[4]=Be;a[5]=Ee;a[6]=ke;a[7]=Ae;a[8]=Ne;a[9]=Re;a[10]=Pe;a[11]=xe;a[12]=Ie;a[13]=Ce;a[14]=De;a[15]=Te;a[16]=je;a[17]=qe;a[18]=Oe;if(s!==0){a[19]=s;r.length++}return r};if(!Math.imul){h=smallMulTo}function bigMulTo(e,t,r){r.negative=t.negative^e.negative;r.length=e.length+t.length;var i=0;var n=0;for(var a=0;a<r.length-1;a++){var s=n;n=0;var o=i&67108863;var h=Math.min(a,t.length-1);for(var u=Math.max(0,a-e.length+1);u<=h;u++){var d=a-u;var c=e.words[d]|0;var l=t.words[u]|0;var p=c*l;var v=p&67108863;s=s+(p/67108864|0)|0;v=v+o|0;o=v&67108863;s=s+(v>>>26)|0;n+=s>>>26;s&=67108863}r.words[a]=o;i=s;s=n}if(i!==0){r.words[a]=i}else{r.length--}return r._strip()}function jumboMulTo(e,t,r){return bigMulTo(e,t,r)}BN.prototype.mulTo=function mulTo(e,t){var r;var i=this.length+e.length;if(this.length===10&&e.length===10){r=h(this,e,t)}else if(i<63){r=smallMulTo(this,e,t)}else if(i<1024){r=bigMulTo(this,e,t)}else{r=jumboMulTo(this,e,t)}return r};function FFTM(e,t){this.x=e;this.y=t}FFTM.prototype.makeRBT=function makeRBT(e){var t=new Array(e);var r=BN.prototype._countBits(e)-1;for(var i=0;i<e;i++){t[i]=this.revBin(i,r,e)}return t};FFTM.prototype.revBin=function revBin(e,t,r){if(e===0||e===r-1)return e;var i=0;for(var n=0;n<t;n++){i|=(e&1)<<t-n-1;e>>=1}return i};FFTM.prototype.permute=function permute(e,t,r,i,n,a){for(var s=0;s<a;s++){i[s]=t[e[s]];n[s]=r[e[s]]}};FFTM.prototype.transform=function transform(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var s=1;s<n;s<<=1){var o=s<<1;var h=Math.cos(2*Math.PI/o);var u=Math.sin(2*Math.PI/o);for(var d=0;d<n;d+=o){var c=h;var l=u;for(var p=0;p<s;p++){var v=r[d+p];var b=i[d+p];var m=r[d+p+s];var y=i[d+p+s];var g=c*m-l*y;y=c*y+l*m;m=g;r[d+p]=v+m;i[d+p]=b+y;r[d+p+s]=v-m;i[d+p+s]=b-y;if(p!==o){g=h*c-u*l;l=h*l+u*c;c=g}}}}};FFTM.prototype.guessLen13b=function guessLen13b(e,t){var r=Math.max(t,e)|1;var i=r&1;var n=0;for(r=r/2|0;r;r=r>>>1){n++}return 1<<n+1+i};FFTM.prototype.conjugate=function conjugate(e,t,r){if(r<=1)return;for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1];e[r-i-1]=n;n=t[i];t[i]=-t[r-i-1];t[r-i-1]=-n}};FFTM.prototype.normalize13b=function normalize13b(e,t){var r=0;for(var i=0;i<t/2;i++){var n=Math.round(e[2*i+1]/t)*8192+Math.round(e[2*i]/t)+r;e[i]=n&67108863;if(n<67108864){r=0}else{r=n/67108864|0}}return e};FFTM.prototype.convert13b=function convert13b(e,t,r,i){var n=0;for(var a=0;a<t;a++){n=n+(e[a]|0);r[2*a]=n&8191;n=n>>>13;r[2*a+1]=n&8191;n=n>>>13}for(a=2*t;a<i;++a){r[a]=0}assert(n===0);assert((n&~8191)===0)};FFTM.prototype.stub=function stub(e){var t=new Array(e);for(var r=0;r<e;r++){t[r]=0}return t};FFTM.prototype.mulp=function mulp(e,t,r){var i=2*this.guessLen13b(e.length,t.length);var n=this.makeRBT(i);var a=this.stub(i);var s=new Array(i);var o=new Array(i);var h=new Array(i);var u=new Array(i);var d=new Array(i);var c=new Array(i);var l=r.words;l.length=i;this.convert13b(e.words,e.length,s,i);this.convert13b(t.words,t.length,u,i);this.transform(s,a,o,h,i,n);this.transform(u,a,d,c,i,n);for(var p=0;p<i;p++){var v=o[p]*d[p]-h[p]*c[p];h[p]=o[p]*c[p]+h[p]*d[p];o[p]=v}this.conjugate(o,h,i);this.transform(o,h,l,a,i,n);this.conjugate(l,a,i);this.normalize13b(l,i);r.negative=e.negative^t.negative;r.length=e.length+t.length;return r._strip()};BN.prototype.mul=function mul(e){var t=new BN(null);t.words=new Array(this.length+e.length);return this.mulTo(e,t)};BN.prototype.mulf=function mulf(e){var t=new BN(null);t.words=new Array(this.length+e.length);return jumboMulTo(this,e,t)};BN.prototype.imul=function imul(e){return this.clone().mulTo(e,this)};BN.prototype.imuln=function imuln(e){var t=e<0;if(t)e=-e;assert(typeof e===\"number\");assert(e<67108864);var r=0;for(var i=0;i<this.length;i++){var n=(this.words[i]|0)*e;var a=(n&67108863)+(r&67108863);r>>=26;r+=n/67108864|0;r+=a>>>26;this.words[i]=a&67108863}if(r!==0){this.words[i]=r;this.length++}return t?this.ineg():this};BN.prototype.muln=function muln(e){return this.clone().imuln(e)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(e){var t=toBitArray(e);if(t.length===0)return new BN(1);var r=this;for(var i=0;i<t.length;i++,r=r.sqr()){if(t[i]!==0)break}if(++i<t.length){for(var n=r.sqr();i<t.length;i++,n=n.sqr()){if(t[i]===0)continue;r=r.mul(n)}}return r};BN.prototype.iushln=function iushln(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=67108863>>>26-t<<26-t;var n;if(t!==0){var a=0;for(n=0;n<this.length;n++){var s=this.words[n]&i;var o=(this.words[n]|0)-s<<t;this.words[n]=o|a;a=s>>>26-t}if(a){this.words[n]=a;this.length++}}if(r!==0){for(n=this.length-1;n>=0;n--){this.words[n+r]=this.words[n]}for(n=0;n<r;n++){this.words[n]=0}this.length+=r}return this._strip()};BN.prototype.ishln=function ishln(e){assert(this.negative===0);return this.iushln(e)};BN.prototype.iushrn=function iushrn(e,t,r){assert(typeof e===\"number\"&&e>=0);var i;if(t){i=(t-t%26)/26}else{i=0}var n=e%26;var a=Math.min((e-n)/26,this.length);var s=67108863^67108863>>>n<<n;var o=r;i-=a;i=Math.max(0,i);if(o){for(var h=0;h<a;h++){o.words[h]=this.words[h]}o.length=a}if(a===0){}else if(this.length>a){this.length-=a;for(h=0;h<this.length;h++){this.words[h]=this.words[h+a]}}else{this.words[0]=0;this.length=1}var u=0;for(h=this.length-1;h>=0&&(u!==0||h>=i);h--){var d=this.words[h]|0;this.words[h]=u<<26-n|d>>>n;u=d&s}if(o&&u!==0){o.words[o.length++]=u}if(this.length===0){this.words[0]=0;this.length=1}return this._strip()};BN.prototype.ishrn=function ishrn(e,t,r){assert(this.negative===0);return this.iushrn(e,t,r)};BN.prototype.shln=function shln(e){return this.clone().ishln(e)};BN.prototype.ushln=function ushln(e){return this.clone().iushln(e)};BN.prototype.shrn=function shrn(e){return this.clone().ishrn(e)};BN.prototype.ushrn=function ushrn(e){return this.clone().iushrn(e)};BN.prototype.testn=function testn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r)return false;var n=this.words[r];return!!(n&i)};BN.prototype.imaskn=function imaskn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;assert(this.negative===0,\"imaskn works only with positive numbers\");if(this.length<=r){return this}if(t!==0){r++}this.length=Math.min(r,this.length);if(t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this._strip()};BN.prototype.maskn=function maskn(e){return this.clone().imaskn(e)};BN.prototype.iaddn=function iaddn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.isubn(-e);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<=e){this.words[0]=e-(this.words[0]|0);this.negative=0;return this}this.negative=0;this.isubn(e);this.negative=1;return this}return this._iaddn(e)};BN.prototype._iaddn=function _iaddn(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++){this.words[t]-=67108864;if(t===this.length-1){this.words[t+1]=1}else{this.words[t+1]++}}this.length=Math.max(this.length,t+1);return this};BN.prototype.isubn=function isubn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.iaddn(-e);if(this.negative!==0){this.negative=0;this.iaddn(e);this.negative=1;return this}this.words[0]-=e;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var t=0;t<this.length&&this.words[t]<0;t++){this.words[t]+=67108864;this.words[t+1]-=1}}return this._strip()};BN.prototype.addn=function addn(e){return this.clone().iaddn(e)};BN.prototype.subn=function subn(e){return this.clone().isubn(e)};BN.prototype.iabs=function iabs(){this.negative=0;return this};BN.prototype.abs=function abs(){return this.clone().iabs()};BN.prototype._ishlnsubmul=function _ishlnsubmul(e,t,r){var i=e.length+r;var n;this._expand(i);var a;var s=0;for(n=0;n<e.length;n++){a=(this.words[n+r]|0)+s;var o=(e.words[n]|0)*t;a-=o&67108863;s=(a>>26)-(o/67108864|0);this.words[n+r]=a&67108863}for(;n<this.length-r;n++){a=(this.words[n+r]|0)+s;s=a>>26;this.words[n+r]=a&67108863}if(s===0)return this._strip();assert(s===-1);s=0;for(n=0;n<this.length;n++){a=-(this.words[n]|0)+s;s=a>>26;this.words[n]=a&67108863}this.negative=1;return this._strip()};BN.prototype._wordDiv=function _wordDiv(e,t){var r=this.length-e.length;var i=this.clone();var n=e;var a=n.words[n.length-1]|0;var s=this._countBits(a);r=26-s;if(r!==0){n=n.ushln(r);i.iushln(r);a=n.words[n.length-1]|0}var o=i.length-n.length;var h;if(t!==\"mod\"){h=new BN(null);h.length=o+1;h.words=new Array(h.length);for(var u=0;u<h.length;u++){h.words[u]=0}}var d=i.clone()._ishlnsubmul(n,1,o);if(d.negative===0){i=d;if(h){h.words[o]=1}}for(var c=o-1;c>=0;c--){var l=(i.words[n.length+c]|0)*67108864+(i.words[n.length+c-1]|0);l=Math.min(l/a|0,67108863);i._ishlnsubmul(n,l,c);while(i.negative!==0){l--;i.negative=0;i._ishlnsubmul(n,1,c);if(!i.isZero()){i.negative^=1}}if(h){h.words[c]=l}}if(h){h._strip()}i._strip();if(t!==\"div\"&&r!==0){i.iushrn(r)}return{div:h||null,mod:i}};BN.prototype.divmod=function divmod(e,t,r){assert(!e.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var i,n,a;if(this.negative!==0&&e.negative===0){a=this.neg().divmod(e,t);if(t!==\"mod\"){i=a.div.neg()}if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.iadd(e)}}return{div:i,mod:n}}if(this.negative===0&&e.negative!==0){a=this.divmod(e.neg(),t);if(t!==\"mod\"){i=a.div.neg()}return{div:i,mod:a.mod}}if((this.negative&e.negative)!==0){a=this.neg().divmod(e.neg(),t);if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.isub(e)}}return{div:a.div,mod:n}}if(e.length>this.length||this.cmp(e)<0){return{div:new BN(0),mod:this}}if(e.length===1){if(t===\"div\"){return{div:this.divn(e.words[0]),mod:null}}if(t===\"mod\"){return{div:null,mod:new BN(this.modrn(e.words[0]))}}return{div:this.divn(e.words[0]),mod:new BN(this.modrn(e.words[0]))}}return this._wordDiv(e,t)};BN.prototype.div=function div(e){return this.divmod(e,\"div\",false).div};BN.prototype.mod=function mod(e){return this.divmod(e,\"mod\",false).mod};BN.prototype.umod=function umod(e){return this.divmod(e,\"mod\",true).mod};BN.prototype.divRound=function divRound(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=t.div.negative!==0?t.mod.isub(e):t.mod;var i=e.ushrn(1);var n=e.andln(1);var a=r.cmp(i);if(a<0||n===1&&a===0)return t.div;return t.div.negative!==0?t.div.isubn(1):t.div.iaddn(1)};BN.prototype.modrn=function modrn(e){var t=e<0;if(t)e=-e;assert(e<=67108863);var r=(1<<26)%e;var i=0;for(var n=this.length-1;n>=0;n--){i=(r*i+(this.words[n]|0))%e}return t?-i:i};BN.prototype.modn=function modn(e){return this.modrn(e)};BN.prototype.idivn=function idivn(e){var t=e<0;if(t)e=-e;assert(e<=67108863);var r=0;for(var i=this.length-1;i>=0;i--){var n=(this.words[i]|0)+r*67108864;this.words[i]=n/e|0;r=n%e}this._strip();return t?this.ineg():this};BN.prototype.divn=function divn(e){return this.clone().idivn(e)};BN.prototype.egcd=function egcd(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=new BN(0);var s=new BN(1);var o=0;while(t.isEven()&&r.isEven()){t.iushrn(1);r.iushrn(1);++o}var h=r.clone();var u=t.clone();while(!t.isZero()){for(var d=0,c=1;(t.words[0]&c)===0&&d<26;++d,c<<=1);if(d>0){t.iushrn(d);while(d-- >0){if(i.isOdd()||n.isOdd()){i.iadd(h);n.isub(u)}i.iushrn(1);n.iushrn(1)}}for(var l=0,p=1;(r.words[0]&p)===0&&l<26;++l,p<<=1);if(l>0){r.iushrn(l);while(l-- >0){if(a.isOdd()||s.isOdd()){a.iadd(h);s.isub(u)}a.iushrn(1);s.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(a);n.isub(s)}else{r.isub(t);a.isub(i);s.isub(n)}}return{a:a,b:s,gcd:r.iushln(o)}};BN.prototype._invmp=function _invmp(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=r.clone();while(t.cmpn(1)>0&&r.cmpn(1)>0){for(var s=0,o=1;(t.words[0]&o)===0&&s<26;++s,o<<=1);if(s>0){t.iushrn(s);while(s-- >0){if(i.isOdd()){i.iadd(a)}i.iushrn(1)}}for(var h=0,u=1;(r.words[0]&u)===0&&h<26;++h,u<<=1);if(h>0){r.iushrn(h);while(h-- >0){if(n.isOdd()){n.iadd(a)}n.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(n)}else{r.isub(t);n.isub(i)}}var d;if(t.cmpn(1)===0){d=i}else{d=n}if(d.cmpn(0)<0){d.iadd(e)}return d};BN.prototype.gcd=function gcd(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone();var r=e.clone();t.negative=0;r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++){t.iushrn(1);r.iushrn(1)}do{while(t.isEven()){t.iushrn(1)}while(r.isEven()){r.iushrn(1)}var n=t.cmp(r);if(n<0){var a=t;t=r;r=a}else if(n===0||r.cmpn(1)===0){break}t.isub(r)}while(true);return r.iushln(i)};BN.prototype.invm=function invm(e){return this.egcd(e).a.umod(e)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(e){return this.words[0]&e};BN.prototype.bincn=function bincn(e){assert(typeof e===\"number\");var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r){this._expand(r+1);this.words[r]|=i;return this}var n=i;for(var a=r;n!==0&&a<this.length;a++){var s=this.words[a]|0;s+=n;n=s>>>26;s&=67108863;this.words[a]=s}if(n!==0){this.words[a]=n;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this._strip();var r;if(this.length>1){r=1}else{if(t){e=-e}assert(e<=67108863,\"Number is too big\");var i=this.words[0]|0;r=i===e?0:i<e?-1:1}if(this.negative!==0)return-r|0;return r};BN.prototype.cmp=function cmp(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);if(this.negative!==0)return-t|0;return t};BN.prototype.ucmp=function ucmp(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;var t=0;for(var r=this.length-1;r>=0;r--){var i=this.words[r]|0;var n=e.words[r]|0;if(i===n)continue;if(i<n){t=-1}else if(i>n){t=1}break}return t};BN.prototype.gtn=function gtn(e){return this.cmpn(e)===1};BN.prototype.gt=function gt(e){return this.cmp(e)===1};BN.prototype.gten=function gten(e){return this.cmpn(e)>=0};BN.prototype.gte=function gte(e){return this.cmp(e)>=0};BN.prototype.ltn=function ltn(e){return this.cmpn(e)===-1};BN.prototype.lt=function lt(e){return this.cmp(e)===-1};BN.prototype.lten=function lten(e){return this.cmpn(e)<=0};BN.prototype.lte=function lte(e){return this.cmp(e)<=0};BN.prototype.eqn=function eqn(e){return this.cmpn(e)===0};BN.prototype.eq=function eq(e){return this.cmp(e)===0};BN.red=function red(e){return new Red(e)};BN.prototype.toRed=function toRed(e){assert(!this.red,\"Already a number in reduction context\");assert(this.negative===0,\"red works only with positives\");return e.convertTo(this)._forceRed(e)};BN.prototype.fromRed=function fromRed(){assert(this.red,\"fromRed works only with numbers in reduction context\");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(e){this.red=e;return this};BN.prototype.forceRed=function forceRed(e){assert(!this.red,\"Already a number in reduction context\");return this._forceRed(e)};BN.prototype.redAdd=function redAdd(e){assert(this.red,\"redAdd works only with red numbers\");return this.red.add(this,e)};BN.prototype.redIAdd=function redIAdd(e){assert(this.red,\"redIAdd works only with red numbers\");return this.red.iadd(this,e)};BN.prototype.redSub=function redSub(e){assert(this.red,\"redSub works only with red numbers\");return this.red.sub(this,e)};BN.prototype.redISub=function redISub(e){assert(this.red,\"redISub works only with red numbers\");return this.red.isub(this,e)};BN.prototype.redShl=function redShl(e){assert(this.red,\"redShl works only with red numbers\");return this.red.shl(this,e)};BN.prototype.redMul=function redMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.mul(this,e)};BN.prototype.redIMul=function redIMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.imul(this,e)};BN.prototype.redSqr=function redSqr(){assert(this.red,\"redSqr works only with red numbers\");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,\"redISqr works only with red numbers\");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,\"redSqrt works only with red numbers\");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,\"redInvm works only with red numbers\");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,\"redNeg works only with red numbers\");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(e){assert(this.red&&!e.red,\"redPow(normalNum)\");this.red._verify1(this);return this.red.pow(this,e)};var u={k256:null,p224:null,p192:null,p25519:null};function MPrime(e,t){this.name=e;this.p=new BN(t,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var e=new BN(null);e.words=new Array(Math.ceil(this.n/13));return e};MPrime.prototype.ireduce=function ireduce(e){var t=e;var r;do{this.split(t,this.tmp);t=this.imulK(t);t=t.iadd(this.tmp);r=t.bitLength()}while(r>this.n);var i=r<this.n?-1:t.ucmp(this.p);if(i===0){t.words[0]=0;t.length=1}else if(i>0){t.isub(this.p)}else{if(t.strip!==undefined){t.strip()}else{t._strip()}}return t};MPrime.prototype.split=function split(e,t){e.iushrn(this.n,0,t)};MPrime.prototype.imulK=function imulK(e){return e.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime);K256.prototype.split=function split(e,t){var r=4194303;var i=Math.min(e.length,9);for(var n=0;n<i;n++){t.words[n]=e.words[n]}t.length=i;if(e.length<=9){e.words[0]=0;e.length=1;return}var a=e.words[9];t.words[t.length++]=a&r;for(n=10;n<e.length;n++){var s=e.words[n]|0;e.words[n-10]=(s&r)<<4|a>>>22;a=s}a>>>=22;e.words[n-10]=a;if(a===0&&e.length>10){e.length-=10}else{e.length-=9}};K256.prototype.imulK=function imulK(e){e.words[e.length]=0;e.words[e.length+1]=0;e.length+=2;var t=0;for(var r=0;r<e.length;r++){var i=e.words[r]|0;t+=i*977;e.words[r]=t&67108863;t=i*64+(t/67108864|0)}if(e.words[e.length-1]===0){e.length--;if(e.words[e.length-1]===0){e.length--}}return e};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime);P25519.prototype.imulK=function imulK(e){var t=0;for(var r=0;r<e.length;r++){var i=(e.words[r]|0)*19+t;var n=i&67108863;i>>>=26;e.words[r]=n;t=i}if(t!==0){e.words[e.length++]=t}return e};BN._prime=function prime(e){if(u[e])return u[e];var prime;if(e===\"k256\"){prime=new K256}else if(e===\"p224\"){prime=new P224}else if(e===\"p192\"){prime=new P192}else if(e===\"p25519\"){prime=new P25519}else{throw new Error(\"Unknown prime \"+e)}u[e]=prime;return prime};function Red(e){if(typeof e===\"string\"){var t=BN._prime(e);this.m=t.p;this.prime=t}else{assert(e.gtn(1),\"modulus must be greater than 1\");this.m=e;this.prime=null}}Red.prototype._verify1=function _verify1(e){assert(e.negative===0,\"red works only with positives\");assert(e.red,\"red works only with red numbers\")};Red.prototype._verify2=function _verify2(e,t){assert((e.negative|t.negative)===0,\"red works only with positives\");assert(e.red&&e.red===t.red,\"red works only with red numbers\")};Red.prototype.imod=function imod(e){if(this.prime)return this.prime.ireduce(e)._forceRed(this);move(e,e.umod(this.m)._forceRed(this));return e};Red.prototype.neg=function neg(e){if(e.isZero()){return e.clone()}return this.m.sub(e)._forceRed(this)};Red.prototype.add=function add(e,t){this._verify2(e,t);var r=e.add(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r._forceRed(this)};Red.prototype.iadd=function iadd(e,t){this._verify2(e,t);var r=e.iadd(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r};Red.prototype.sub=function sub(e,t){this._verify2(e,t);var r=e.sub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r._forceRed(this)};Red.prototype.isub=function isub(e,t){this._verify2(e,t);var r=e.isub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r};Red.prototype.shl=function shl(e,t){this._verify1(e);return this.imod(e.ushln(t))};Red.prototype.imul=function imul(e,t){this._verify2(e,t);return this.imod(e.imul(t))};Red.prototype.mul=function mul(e,t){this._verify2(e,t);return this.imod(e.mul(t))};Red.prototype.isqr=function isqr(e){return this.imul(e,e.clone())};Red.prototype.sqr=function sqr(e){return this.mul(e,e)};Red.prototype.sqrt=function sqrt(e){if(e.isZero())return e.clone();var t=this.m.andln(3);assert(t%2===1);if(t===3){var r=this.m.add(new BN(1)).iushrn(2);return this.pow(e,r)}var i=this.m.subn(1);var n=0;while(!i.isZero()&&i.andln(1)===0){n++;i.iushrn(1)}assert(!i.isZero());var a=new BN(1).toRed(this);var s=a.redNeg();var o=this.m.subn(1).iushrn(1);var h=this.m.bitLength();h=new BN(2*h*h).toRed(this);while(this.pow(h,o).cmp(s)!==0){h.redIAdd(s)}var u=this.pow(h,i);var d=this.pow(e,i.addn(1).iushrn(1));var c=this.pow(e,i);var l=n;while(c.cmp(a)!==0){var p=c;for(var v=0;p.cmp(a)!==0;v++){p=p.redSqr()}assert(v<l);var b=this.pow(u,new BN(1).iushln(l-v-1));d=d.redMul(b);u=b.redSqr();c=c.redMul(u);l=v}return d};Red.prototype.invm=function invm(e){var t=e._invmp(this.m);if(t.negative!==0){t.negative=0;return this.imod(t).redNeg()}else{return this.imod(t)}};Red.prototype.pow=function pow(e,t){if(t.isZero())return new BN(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var r=4;var i=new Array(1<<r);i[0]=new BN(1).toRed(this);i[1]=e;for(var n=2;n<i.length;n++){i[n]=this.mul(i[n-1],e)}var a=i[0];var s=0;var o=0;var h=t.bitLength()%26;if(h===0){h=26}for(n=t.length-1;n>=0;n--){var u=t.words[n];for(var d=h-1;d>=0;d--){var c=u>>d&1;if(a!==i[0]){a=this.sqr(a)}if(c===0&&s===0){o=0;continue}s<<=1;s|=c;o++;if(o!==r&&(n!==0||d!==0))continue;a=this.mul(a,i[s]);o=0;s=0}h=26}return a};Red.prototype.convertTo=function convertTo(e){var t=e.umod(this.m);return t===e?t.clone():t};Red.prototype.convertFrom=function convertFrom(e){var t=e.clone();t.red=null;return t};BN.mont=function mont(e){return new Mont(e)};function Mont(e){Red.call(this,e);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(e){return this.imod(e.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(e){var t=this.imod(e.mul(this.rinv));t.red=null;return t};Mont.prototype.imul=function imul(e,t){if(e.isZero()||t.isZero()){e.words[0]=0;e.length=1;return e}var r=e.imul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.mul=function mul(e,t){if(e.isZero()||t.isZero())return new BN(0)._forceRed(this);var r=e.mul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.invm=function invm(e){var t=this.imod(e._invmp(this.m).mul(this.r2));return t._forceRed(this)}})( false||e,this)},3500:function(e,t,r){var i;e.exports=function rand(e){if(!i)i=new Rand(null);return i.generate(e)};function Rand(e){this.rand=e}e.exports.Rand=Rand;Rand.prototype.generate=function generate(e){return this._rand(e)};Rand.prototype._rand=function _rand(e){if(this.rand.getBytes)return this.rand.getBytes(e);var t=new Uint8Array(e);for(var r=0;r<t.length;r++)t[r]=this.rand.getByte();return t};if(typeof self===\"object\"){if(self.crypto&&self.crypto.getRandomValues){Rand.prototype._rand=function _rand(e){var t=new Uint8Array(e);self.crypto.getRandomValues(t);return t}}else if(self.msCrypto&&self.msCrypto.getRandomValues){Rand.prototype._rand=function _rand(e){var t=new Uint8Array(e);self.msCrypto.getRandomValues(t);return t}}else if(typeof window===\"object\"){Rand.prototype._rand=function(){throw new Error(\"Not implemented yet\")}}}else{try{var n=r(6113);if(typeof n.randomBytes!==\"function\")throw new Error(\"Not supported\");Rand.prototype._rand=function _rand(e){return n.randomBytes(e)}}catch(e){}}},1387:function(e,t,r){var i=r(6911).Buffer;function asUInt32Array(e){if(!i.isBuffer(e))e=i.from(e);var t=e.length/4|0;var r=new Array(t);for(var n=0;n<t;n++){r[n]=e.readUInt32BE(n*4)}return r}function scrubVec(e){for(var t=0;t<e.length;e++){e[t]=0}}function cryptBlock(e,t,r,i,n){var a=r[0];var s=r[1];var o=r[2];var h=r[3];var u=e[0]^t[0];var d=e[1]^t[1];var c=e[2]^t[2];var l=e[3]^t[3];var p,v,b,m;var y=4;for(var g=1;g<n;g++){p=a[u>>>24]^s[d>>>16&255]^o[c>>>8&255]^h[l&255]^t[y++];v=a[d>>>24]^s[c>>>16&255]^o[l>>>8&255]^h[u&255]^t[y++];b=a[c>>>24]^s[l>>>16&255]^o[u>>>8&255]^h[d&255]^t[y++];m=a[l>>>24]^s[u>>>16&255]^o[d>>>8&255]^h[c&255]^t[y++];u=p;d=v;c=b;l=m}p=(i[u>>>24]<<24|i[d>>>16&255]<<16|i[c>>>8&255]<<8|i[l&255])^t[y++];v=(i[d>>>24]<<24|i[c>>>16&255]<<16|i[l>>>8&255]<<8|i[u&255])^t[y++];b=(i[c>>>24]<<24|i[l>>>16&255]<<16|i[u>>>8&255]<<8|i[d&255])^t[y++];m=(i[l>>>24]<<24|i[u>>>16&255]<<16|i[d>>>8&255]<<8|i[c&255])^t[y++];p=p>>>0;v=v>>>0;b=b>>>0;m=m>>>0;return[p,v,b,m]}var n=[0,1,2,4,8,16,32,64,128,27,54];var a=function(){var e=new Array(256);for(var t=0;t<256;t++){if(t<128){e[t]=t<<1}else{e[t]=t<<1^283}}var r=[];var i=[];var n=[[],[],[],[]];var a=[[],[],[],[]];var s=0;var o=0;for(var h=0;h<256;++h){var u=o^o<<1^o<<2^o<<3^o<<4;u=u>>>8^u&255^99;r[s]=u;i[u]=s;var d=e[s];var c=e[d];var l=e[c];var p=e[u]*257^u*16843008;n[0][s]=p<<24|p>>>8;n[1][s]=p<<16|p>>>16;n[2][s]=p<<8|p>>>24;n[3][s]=p;p=l*16843009^c*65537^d*257^s*16843008;a[0][u]=p<<24|p>>>8;a[1][u]=p<<16|p>>>16;a[2][u]=p<<8|p>>>24;a[3][u]=p;if(s===0){s=o=1}else{s=d^e[e[e[l^d]]];o^=e[e[o]]}}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:a}}();function AES(e){this._key=asUInt32Array(e);this._reset()}AES.blockSize=4*4;AES.keySize=256/8;AES.prototype.blockSize=AES.blockSize;AES.prototype.keySize=AES.keySize;AES.prototype._reset=function(){var e=this._key;var t=e.length;var r=t+6;var i=(r+1)*4;var s=[];for(var o=0;o<t;o++){s[o]=e[o]}for(o=t;o<i;o++){var h=s[o-1];if(o%t===0){h=h<<8|h>>>24;h=a.SBOX[h>>>24]<<24|a.SBOX[h>>>16&255]<<16|a.SBOX[h>>>8&255]<<8|a.SBOX[h&255];h^=n[o/t|0]<<24}else if(t>6&&o%t===4){h=a.SBOX[h>>>24]<<24|a.SBOX[h>>>16&255]<<16|a.SBOX[h>>>8&255]<<8|a.SBOX[h&255]}s[o]=s[o-t]^h}var u=[];for(var d=0;d<i;d++){var c=i-d;var l=s[c-(d%4?0:4)];if(d<4||c<=4){u[d]=l}else{u[d]=a.INV_SUB_MIX[0][a.SBOX[l>>>24]]^a.INV_SUB_MIX[1][a.SBOX[l>>>16&255]]^a.INV_SUB_MIX[2][a.SBOX[l>>>8&255]]^a.INV_SUB_MIX[3][a.SBOX[l&255]]}}this._nRounds=r;this._keySchedule=s;this._invKeySchedule=u};AES.prototype.encryptBlockRaw=function(e){e=asUInt32Array(e);return cryptBlock(e,this._keySchedule,a.SUB_MIX,a.SBOX,this._nRounds)};AES.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e);var r=i.allocUnsafe(16);r.writeUInt32BE(t[0],0);r.writeUInt32BE(t[1],4);r.writeUInt32BE(t[2],8);r.writeUInt32BE(t[3],12);return r};AES.prototype.decryptBlock=function(e){e=asUInt32Array(e);var t=e[1];e[1]=e[3];e[3]=t;var r=cryptBlock(e,this._invKeySchedule,a.INV_SUB_MIX,a.INV_SBOX,this._nRounds);var n=i.allocUnsafe(16);n.writeUInt32BE(r[0],0);n.writeUInt32BE(r[3],4);n.writeUInt32BE(r[2],8);n.writeUInt32BE(r[1],12);return n};AES.prototype.scrub=function(){scrubVec(this._keySchedule);scrubVec(this._invKeySchedule);scrubVec(this._key)};e.exports.AES=AES},6624:function(e,t,r){var i=r(1387);var n=r(6911).Buffer;var a=r(1043);var s=r(3782);var o=r(7225);var h=r(4734);var u=r(598);function xorTest(e,t){var r=0;if(e.length!==t.length)r++;var i=Math.min(e.length,t.length);for(var n=0;n<i;++n){r+=e[n]^t[n]}return r}function calcIv(e,t,r){if(t.length===12){e._finID=n.concat([t,n.from([0,0,0,1])]);return n.concat([t,n.from([0,0,0,2])])}var i=new o(r);var a=t.length;var s=a%16;i.update(t);if(s){s=16-s;i.update(n.alloc(s,0))}i.update(n.alloc(8,0));var h=a*8;var d=n.alloc(8);d.writeUIntBE(h,0,8);i.update(d);e._finID=i.state;var c=n.from(e._finID);u(c);return c}function StreamCipher(e,t,r,s){a.call(this);var h=n.alloc(4,0);this._cipher=new i.AES(t);var u=this._cipher.encryptBlock(h);this._ghash=new o(u);r=calcIv(this,r,u);this._prev=n.from(r);this._cache=n.allocUnsafe(0);this._secCache=n.allocUnsafe(0);this._decrypt=s;this._alen=0;this._len=0;this._mode=e;this._authTag=null;this._called=false}s(StreamCipher,a);StreamCipher.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;if(t<16){t=n.alloc(t,0);this._ghash.update(t)}}this._called=true;var r=this._mode.encrypt(this,e);if(this._decrypt){this._ghash.update(e)}else{this._ghash.update(r)}this._len+=e.length;return r};StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error(\"Unsupported state or unable to authenticate data\");var e=h(this._ghash.final(this._alen*8,this._len*8),this._cipher.encryptBlock(this._finID));if(this._decrypt&&xorTest(e,this._authTag))throw new Error(\"Unsupported state or unable to authenticate data\");this._authTag=e;this._cipher.scrub()};StreamCipher.prototype.getAuthTag=function getAuthTag(){if(this._decrypt||!n.isBuffer(this._authTag))throw new Error(\"Attempting to get auth tag in unsupported state\");return this._authTag};StreamCipher.prototype.setAuthTag=function setAuthTag(e){if(!this._decrypt)throw new Error(\"Attempting to set auth tag in unsupported state\");this._authTag=e};StreamCipher.prototype.setAAD=function setAAD(e){if(this._called)throw new Error(\"Attempting to set AAD in unsupported state\");this._ghash.update(e);this._alen+=e.length};e.exports=StreamCipher},6594:function(e,t,r){var i=r(2);var n=r(2598);var a=r(5866);function getCiphers(){return Object.keys(a)}t.createCipher=t.Cipher=i.createCipher;t.createCipheriv=t.Cipheriv=i.createCipheriv;t.createDecipher=t.Decipher=n.createDecipher;t.createDecipheriv=t.Decipheriv=n.createDecipheriv;t.listCiphers=t.getCiphers=getCiphers},2598:function(e,t,r){var i=r(6624);var n=r(6911).Buffer;var a=r(6370);var s=r(126);var o=r(1043);var h=r(1387);var u=r(8368);var d=r(3782);function Decipher(e,t,r){o.call(this);this._cache=new Splitter;this._last=void 0;this._cipher=new h.AES(t);this._prev=n.from(r);this._mode=e;this._autopadding=true}d(Decipher,o);Decipher.prototype._update=function(e){this._cache.add(e);var t;var r;var i=[];while(t=this._cache.get(this._autopadding)){r=this._mode.decrypt(this,t);i.push(r)}return n.concat(i)};Decipher.prototype._final=function(){var e=this._cache.flush();if(this._autopadding){return unpad(this._mode.decrypt(this,e))}else if(e){throw new Error(\"data not multiple of block length\")}};Decipher.prototype.setAutoPadding=function(e){this._autopadding=!!e;return this};function Splitter(){this.cache=n.allocUnsafe(0)}Splitter.prototype.add=function(e){this.cache=n.concat([this.cache,e])};Splitter.prototype.get=function(e){var t;if(e){if(this.cache.length>16){t=this.cache.slice(0,16);this.cache=this.cache.slice(16);return t}}else{if(this.cache.length>=16){t=this.cache.slice(0,16);this.cache=this.cache.slice(16);return t}}return null};Splitter.prototype.flush=function(){if(this.cache.length)return this.cache};function unpad(e){var t=e[15];if(t<1||t>16){throw new Error(\"unable to decrypt data\")}var r=-1;while(++r<t){if(e[r+(16-t)]!==t){throw new Error(\"unable to decrypt data\")}}if(t===16)return;return e.slice(0,16-t)}function createDecipheriv(e,t,r){var o=a[e.toLowerCase()];if(!o)throw new TypeError(\"invalid suite type\");if(typeof r===\"string\")r=n.from(r);if(o.mode!==\"GCM\"&&r.length!==o.iv)throw new TypeError(\"invalid iv length \"+r.length);if(typeof t===\"string\")t=n.from(t);if(t.length!==o.key/8)throw new TypeError(\"invalid key length \"+t.length);if(o.type===\"stream\"){return new s(o.module,t,r,true)}else if(o.type===\"auth\"){return new i(o.module,t,r,true)}return new Decipher(o.module,t,r)}function createDecipher(e,t){var r=a[e.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var i=u(t,false,r.key,r.iv);return createDecipheriv(e,i.key,i.iv)}t.createDecipher=createDecipher;t.createDecipheriv=createDecipheriv},2:function(e,t,r){var i=r(6370);var n=r(6624);var a=r(6911).Buffer;var s=r(126);var o=r(1043);var h=r(1387);var u=r(8368);var d=r(3782);function Cipher(e,t,r){o.call(this);this._cache=new Splitter;this._cipher=new h.AES(t);this._prev=a.from(r);this._mode=e;this._autopadding=true}d(Cipher,o);Cipher.prototype._update=function(e){this._cache.add(e);var t;var r;var i=[];while(t=this._cache.get()){r=this._mode.encrypt(this,t);i.push(r)}return a.concat(i)};var c=a.alloc(16,16);Cipher.prototype._final=function(){var e=this._cache.flush();if(this._autopadding){e=this._mode.encrypt(this,e);this._cipher.scrub();return e}if(!e.equals(c)){this._cipher.scrub();throw new Error(\"data not multiple of block length\")}};Cipher.prototype.setAutoPadding=function(e){this._autopadding=!!e;return this};function Splitter(){this.cache=a.allocUnsafe(0)}Splitter.prototype.add=function(e){this.cache=a.concat([this.cache,e])};Splitter.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);this.cache=this.cache.slice(16);return e}return null};Splitter.prototype.flush=function(){var e=16-this.cache.length;var t=a.allocUnsafe(e);var r=-1;while(++r<e){t.writeUInt8(e,r)}return a.concat([this.cache,t])};function createCipheriv(e,t,r){var o=i[e.toLowerCase()];if(!o)throw new TypeError(\"invalid suite type\");if(typeof t===\"string\")t=a.from(t);if(t.length!==o.key/8)throw new TypeError(\"invalid key length \"+t.length);if(typeof r===\"string\")r=a.from(r);if(o.mode!==\"GCM\"&&r.length!==o.iv)throw new TypeError(\"invalid iv length \"+r.length);if(o.type===\"stream\"){return new s(o.module,t,r)}else if(o.type===\"auth\"){return new n(o.module,t,r)}return new Cipher(o.module,t,r)}function createCipher(e,t){var r=i[e.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var n=u(t,false,r.key,r.iv);return createCipheriv(e,n.key,n.iv)}t.createCipheriv=createCipheriv;t.createCipher=createCipher},7225:function(e,t,r){var i=r(6911).Buffer;var n=i.alloc(16,0);function toArray(e){return[e.readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)]}function fromArray(e){var t=i.allocUnsafe(16);t.writeUInt32BE(e[0]>>>0,0);t.writeUInt32BE(e[1]>>>0,4);t.writeUInt32BE(e[2]>>>0,8);t.writeUInt32BE(e[3]>>>0,12);return t}function GHASH(e){this.h=e;this.state=i.alloc(16,0);this.cache=i.allocUnsafe(0)}GHASH.prototype.ghash=function(e){var t=-1;while(++t<e.length){this.state[t]^=e[t]}this._multiply()};GHASH.prototype._multiply=function(){var e=toArray(this.h);var t=[0,0,0,0];var r,i,n;var a=-1;while(++a<128){i=(this.state[~~(a/8)]&1<<7-a%8)!==0;if(i){t[0]^=e[0];t[1]^=e[1];t[2]^=e[2];t[3]^=e[3]}n=(e[3]&1)!==0;for(r=3;r>0;r--){e[r]=e[r]>>>1|(e[r-1]&1)<<31}e[0]=e[0]>>>1;if(n){e[0]=e[0]^225<<24}}this.state=fromArray(t)};GHASH.prototype.update=function(e){this.cache=i.concat([this.cache,e]);var t;while(this.cache.length>=16){t=this.cache.slice(0,16);this.cache=this.cache.slice(16);this.ghash(t)}};GHASH.prototype.final=function(e,t){if(this.cache.length){this.ghash(i.concat([this.cache,n],16))}this.ghash(fromArray([0,e,0,t]));return this.state};e.exports=GHASH},598:function(e){function incr32(e){var t=e.length;var r;while(t--){r=e.readUInt8(t);if(r===255){e.writeUInt8(0,t)}else{r++;e.writeUInt8(r,t);break}}}e.exports=incr32},9825:function(e,t,r){var i=r(4734);t.encrypt=function(e,t){var r=i(t,e._prev);e._prev=e._cipher.encryptBlock(r);return e._prev};t.decrypt=function(e,t){var r=e._prev;e._prev=t;var n=e._cipher.decryptBlock(t);return i(n,r)}},321:function(e,t,r){var i=r(6911).Buffer;var n=r(4734);function encryptStart(e,t,r){var a=t.length;var s=n(t,e._cache);e._cache=e._cache.slice(a);e._prev=i.concat([e._prev,r?t:s]);return s}t.encrypt=function(e,t,r){var n=i.allocUnsafe(0);var a;while(t.length){if(e._cache.length===0){e._cache=e._cipher.encryptBlock(e._prev);e._prev=i.allocUnsafe(0)}if(e._cache.length<=t.length){a=e._cache.length;n=i.concat([n,encryptStart(e,t.slice(0,a),r)]);t=t.slice(a)}else{n=i.concat([n,encryptStart(e,t,r)]);break}}return n}},3147:function(e,t,r){var i=r(6911).Buffer;function encryptByte(e,t,r){var i;var n=-1;var a=8;var s=0;var o,h;while(++n<a){i=e._cipher.encryptBlock(e._prev);o=t&1<<7-n?128:0;h=i[0]^o;s+=(h&128)>>n%8;e._prev=shiftIn(e._prev,r?o:h)}return s}function shiftIn(e,t){var r=e.length;var n=-1;var a=i.allocUnsafe(e.length);e=i.concat([e,i.from([t])]);while(++n<r){a[n]=e[n]<<1|e[n+1]>>7}return a}t.encrypt=function(e,t,r){var n=t.length;var a=i.allocUnsafe(n);var s=-1;while(++s<n){a[s]=encryptByte(e,t[s],r)}return a}},2430:function(e,t,r){var i=r(6911).Buffer;function encryptByte(e,t,r){var n=e._cipher.encryptBlock(e._prev);var a=n[0]^t;e._prev=i.concat([e._prev.slice(1),i.from([r?t:a])]);return a}t.encrypt=function(e,t,r){var n=t.length;var a=i.allocUnsafe(n);var s=-1;while(++s<n){a[s]=encryptByte(e,t[s],r)}return a}},3361:function(e,t,r){var i=r(4734);var n=r(6911).Buffer;var a=r(598);function getBlock(e){var t=e._cipher.encryptBlockRaw(e._prev);a(e._prev);return t}var s=16;t.encrypt=function(e,t){var r=Math.ceil(t.length/s);var a=e._cache.length;e._cache=n.concat([e._cache,n.allocUnsafe(r*s)]);for(var o=0;o<r;o++){var h=getBlock(e);var u=a+o*s;e._cache.writeUInt32BE(h[0],u+0);e._cache.writeUInt32BE(h[1],u+4);e._cache.writeUInt32BE(h[2],u+8);e._cache.writeUInt32BE(h[3],u+12)}var d=e._cache.slice(0,t.length);e._cache=e._cache.slice(t.length);return i(t,d)}},1590:function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)};t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},6370:function(e,t,r){var i={ECB:r(1590),CBC:r(9825),CFB:r(321),CFB8:r(2430),CFB1:r(3147),OFB:r(3412),CTR:r(3361),GCM:r(3361)};var n=r(5866);for(var a in n){n[a].module=i[n[a].mode]}e.exports=n},3412:function(e,t,r){var i=r(4734);function getBlock(e){e._prev=e._cipher.encryptBlock(e._prev);return e._prev}t.encrypt=function(e,t){while(e._cache.length<t.length){e._cache=Buffer.concat([e._cache,getBlock(e)])}var r=e._cache.slice(0,t.length);e._cache=e._cache.slice(t.length);return i(t,r)}},126:function(e,t,r){var i=r(1387);var n=r(6911).Buffer;var a=r(1043);var s=r(3782);function StreamCipher(e,t,r,s){a.call(this);this._cipher=new i.AES(t);this._prev=n.from(r);this._cache=n.allocUnsafe(0);this._secCache=n.allocUnsafe(0);this._decrypt=s;this._mode=e}s(StreamCipher,a);StreamCipher.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)};StreamCipher.prototype._final=function(){this._cipher.scrub()};e.exports=StreamCipher},8996:function(e,t,r){var i=r(5238);var n=r(6594);var a=r(6370);var s=r(6280);var o=r(8368);function createCipher(e,t){e=e.toLowerCase();var r,i;if(a[e]){r=a[e].key;i=a[e].iv}else if(s[e]){r=s[e].key*8;i=s[e].iv}else{throw new TypeError(\"invalid suite type\")}var n=o(t,false,r,i);return createCipheriv(e,n.key,n.iv)}function createDecipher(e,t){e=e.toLowerCase();var r,i;if(a[e]){r=a[e].key;i=a[e].iv}else if(s[e]){r=s[e].key*8;i=s[e].iv}else{throw new TypeError(\"invalid suite type\")}var n=o(t,false,r,i);return createDecipheriv(e,n.key,n.iv)}function createCipheriv(e,t,r){e=e.toLowerCase();if(a[e])return n.createCipheriv(e,t,r);if(s[e])return new i({key:t,iv:r,mode:e});throw new TypeError(\"invalid suite type\")}function createDecipheriv(e,t,r){e=e.toLowerCase();if(a[e])return n.createDecipheriv(e,t,r);if(s[e])return new i({key:t,iv:r,mode:e,decrypt:true});throw new TypeError(\"invalid suite type\")}function getCiphers(){return Object.keys(s).concat(n.getCiphers())}t.createCipher=t.Cipher=createCipher;t.createCipheriv=t.Cipheriv=createCipheriv;t.createDecipher=t.Decipher=createDecipher;t.createDecipheriv=t.Decipheriv=createDecipheriv;t.listCiphers=t.getCiphers=getCiphers},5238:function(e,t,r){var i=r(1043);var n=r(9536);var a=r(3782);var s=r(6911).Buffer;var o={\"des-ede3-cbc\":n.CBC.instantiate(n.EDE),\"des-ede3\":n.EDE,\"des-ede-cbc\":n.CBC.instantiate(n.EDE),\"des-ede\":n.EDE,\"des-cbc\":n.CBC.instantiate(n.DES),\"des-ecb\":n.DES};o.des=o[\"des-cbc\"];o.des3=o[\"des-ede3-cbc\"];e.exports=DES;a(DES,i);function DES(e){i.call(this);var t=e.mode.toLowerCase();var r=o[t];var n;if(e.decrypt){n=\"decrypt\"}else{n=\"encrypt\"}var a=e.key;if(!s.isBuffer(a)){a=s.from(a)}if(t===\"des-ede\"||t===\"des-ede-cbc\"){a=s.concat([a,a.slice(0,8)])}var h=e.iv;if(!s.isBuffer(h)){h=s.from(h)}this._des=r.create({key:a,iv:h,type:n})}DES.prototype._update=function(e){return s.from(this._des.update(e))};DES.prototype._final=function(){return s.from(this._des.final())}},6280:function(e,t){t[\"des-ecb\"]={key:8,iv:0};t[\"des-cbc\"]=t.des={key:8,iv:8};t[\"des-ede3-cbc\"]=t.des3={key:24,iv:8};t[\"des-ede3\"]={key:24,iv:0};t[\"des-ede-cbc\"]={key:16,iv:8};t[\"des-ede\"]={key:16,iv:0}},7166:function(e,t,r){var i=r(711);var n=r(7223);e.exports=crt;function blind(e){var t=getr(e);var r=t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed();return{blinder:r,unblinder:t.invm(e.modulus)}}function crt(e,t){var r=blind(t);var n=t.modulus.byteLength();var a=i.mont(t.modulus);var s=new i(e).mul(r.blinder).umod(t.modulus);var o=s.toRed(i.mont(t.prime1));var h=s.toRed(i.mont(t.prime2));var u=t.coefficient;var d=t.prime1;var c=t.prime2;var l=o.redPow(t.exponent1);var p=h.redPow(t.exponent2);l=l.fromRed();p=p.fromRed();var v=l.isub(p).imul(u).umod(d);v.imul(c);p.iadd(v);return new Buffer(p.imul(r.unblinder).umod(t.modulus).toArray(false,n))}crt.getr=getr;function getr(e){var t=e.modulus.byteLength();var r=new i(n(t));while(r.cmp(e.modulus)>=0||!r.umod(e.prime1)||!r.umod(e.prime2)){r=new i(n(t))}return r}},9276:function(e,t,r){e.exports=r(2908)},4078:function(e,t,r){var i=r(6911).Buffer;var n=r(9739);var a=r(3726);var s=r(3782);var o=r(9807);var h=r(4013);var u=r(2908);Object.keys(u).forEach((function(e){u[e].id=i.from(u[e].id,\"hex\");u[e.toLowerCase()]=u[e]}));function Sign(e){a.Writable.call(this);var t=u[e];if(!t)throw new Error(\"Unknown message digest\");this._hashType=t.hash;this._hash=n(t.hash);this._tag=t.id;this._signType=t.sign}s(Sign,a.Writable);Sign.prototype._write=function _write(e,t,r){this._hash.update(e);r()};Sign.prototype.update=function update(e,t){if(typeof e===\"string\")e=i.from(e,t);this._hash.update(e);return this};Sign.prototype.sign=function signMethod(e,t){this.end();var r=this._hash.digest();var i=o(r,e,this._hashType,this._signType,this._tag);return t?i.toString(t):i};function Verify(e){a.Writable.call(this);var t=u[e];if(!t)throw new Error(\"Unknown message digest\");this._hash=n(t.hash);this._tag=t.id;this._signType=t.sign}s(Verify,a.Writable);Verify.prototype._write=function _write(e,t,r){this._hash.update(e);r()};Verify.prototype.update=function update(e,t){if(typeof e===\"string\")e=i.from(e,t);this._hash.update(e);return this};Verify.prototype.verify=function verifyMethod(e,t,r){if(typeof t===\"string\")t=i.from(t,r);this.end();var n=this._hash.digest();return h(t,n,e,this._signType,this._tag)};function createSign(e){return new Sign(e)}function createVerify(e){return new Verify(e)}e.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify}},9807:function(e,t,r){var i=r(6911).Buffer;var n=r(4873);var a=r(7166);var s=r(949).ec;var o=r(1670);var h=r(9902);var u=r(9267);function sign(e,t,r,n,s){var o=h(t);if(o.curve){if(n!==\"ecdsa\"&&n!==\"ecdsa/rsa\")throw new Error(\"wrong private key type\");return ecSign(e,o)}else if(o.type===\"dsa\"){if(n!==\"dsa\")throw new Error(\"wrong private key type\");return dsaSign(e,o,r)}else{if(n!==\"rsa\"&&n!==\"ecdsa/rsa\")throw new Error(\"wrong private key type\")}e=i.concat([s,e]);var u=o.modulus.byteLength();var d=[0,1];while(e.length+d.length+1<u)d.push(255);d.push(0);var c=-1;while(++c<e.length)d.push(e[c]);var l=a(d,o);return l}function ecSign(e,t){var r=u[t.curve.join(\".\")];if(!r)throw new Error(\"unknown curve \"+t.curve.join(\".\"));var n=new s(r);var a=n.keyFromPrivate(t.privateKey);var o=a.sign(e);return i.from(o.toDER())}function dsaSign(e,t,r){var i=t.params.priv_key;var n=t.params.p;var a=t.params.q;var s=t.params.g;var h=new o(0);var u;var d=bits2int(e,a).mod(a);var c=false;var l=getKey(i,a,e,r);while(c===false){u=makeKey(a,l,r);h=makeR(s,u,n,a);c=u.invm(a).imul(d.add(i.mul(h))).mod(a);if(c.cmpn(0)===0){c=false;h=new o(0)}}return toDER(h,c)}function toDER(e,t){e=e.toArray();t=t.toArray();if(e[0]&128)e=[0].concat(e);if(t[0]&128)t=[0].concat(t);var r=e.length+t.length+4;var n=[48,r,2,e.length];n=n.concat(e,[2,t.length],t);return i.from(n)}function getKey(e,t,r,a){e=i.from(e.toArray());if(e.length<t.byteLength()){var s=i.alloc(t.byteLength()-e.length);e=i.concat([s,e])}var o=r.length;var h=bits2octets(r,t);var u=i.alloc(o);u.fill(1);var d=i.alloc(o);d=n(a,d).update(u).update(i.from([0])).update(e).update(h).digest();u=n(a,d).update(u).digest();d=n(a,d).update(u).update(i.from([1])).update(e).update(h).digest();u=n(a,d).update(u).digest();return{k:d,v:u}}function bits2int(e,t){var r=new o(e);var i=(e.length<<3)-t.bitLength();if(i>0)r.ishrn(i);return r}function bits2octets(e,t){e=bits2int(e,t);e=e.mod(t);var r=i.from(e.toArray());if(r.length<t.byteLength()){var n=i.alloc(t.byteLength()-r.length);r=i.concat([n,r])}return r}function makeKey(e,t,r){var a;var s;do{a=i.alloc(0);while(a.length*8<e.bitLength()){t.v=n(r,t.k).update(t.v).digest();a=i.concat([a,t.v])}s=bits2int(a,e);t.k=n(r,t.k).update(t.v).update(i.from([0])).digest();t.v=n(r,t.k).update(t.v).digest()}while(s.cmp(e)!==-1);return s}function makeR(e,t,r,i){return e.toRed(o.mont(r)).redPow(t).fromRed().mod(i)}e.exports=sign;e.exports.getKey=getKey;e.exports.makeKey=makeKey},4013:function(e,t,r){var i=r(6911).Buffer;var n=r(1670);var a=r(949).ec;var s=r(9902);var o=r(9267);function verify(e,t,r,a,o){var h=s(r);if(h.type===\"ec\"){if(a!==\"ecdsa\"&&a!==\"ecdsa/rsa\")throw new Error(\"wrong public key type\");return ecVerify(e,t,h)}else if(h.type===\"dsa\"){if(a!==\"dsa\")throw new Error(\"wrong public key type\");return dsaVerify(e,t,h)}else{if(a!==\"rsa\"&&a!==\"ecdsa/rsa\")throw new Error(\"wrong public key type\")}t=i.concat([o,t]);var u=h.modulus.byteLength();var d=[1];var c=0;while(t.length+d.length+2<u){d.push(255);c++}d.push(0);var l=-1;while(++l<t.length){d.push(t[l])}d=i.from(d);var p=n.mont(h.modulus);e=new n(e).toRed(p);e=e.redPow(new n(h.publicExponent));e=i.from(e.fromRed().toArray());var v=c<8?1:0;u=Math.min(e.length,d.length);if(e.length!==d.length)v=1;l=-1;while(++l<u)v|=e[l]^d[l];return v===0}function ecVerify(e,t,r){var i=o[r.data.algorithm.curve.join(\".\")];if(!i)throw new Error(\"unknown curve \"+r.data.algorithm.curve.join(\".\"));var n=new a(i);var s=r.data.subjectPrivateKey.data;return n.verify(t,e,s)}function dsaVerify(e,t,r){var i=r.data.p;var a=r.data.q;var o=r.data.g;var h=r.data.pub_key;var u=s.signature.decode(e,\"der\");var d=u.s;var c=u.r;checkValue(d,a);checkValue(c,a);var l=n.mont(i);var p=d.invm(a);var v=o.toRed(l).redPow(new n(t).mul(p).mod(a)).fromRed().mul(h.toRed(l).redPow(c.mul(p).mod(a)).fromRed()).mod(i).mod(a);return v.cmp(c)===0}function checkValue(e,t){if(e.cmpn(0)<=0)throw new Error(\"invalid sig\");if(e.cmp(t)>=t)throw new Error(\"invalid sig\")}e.exports=verify},4734:function(e){e.exports=function xor(e,t){var r=Math.min(e.length,t.length);var i=new Buffer(r);for(var n=0;n<r;++n){i[n]=e[n]^t[n]}return i}},1043:function(e,t,r){var i=r(6911).Buffer;var n=r(2781).Transform;var a=r(1576).StringDecoder;var s=r(3782);function CipherBase(e){n.call(this);this.hashMode=typeof e===\"string\";if(this.hashMode){this[e]=this._finalOrDigest}else{this.final=this._finalOrDigest}if(this._final){this.__final=this._final;this._final=null}this._decoder=null;this._encoding=null}s(CipherBase,n);CipherBase.prototype.update=function(e,t,r){if(typeof e===\"string\"){e=i.from(e,t)}var n=this._update(e);if(this.hashMode)return this;if(r){n=this._toString(n,r)}return n};CipherBase.prototype.setAutoPadding=function(){};CipherBase.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")};CipherBase.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")};CipherBase.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")};CipherBase.prototype._transform=function(e,t,r){var i;try{if(this.hashMode){this._update(e)}else{this.push(this._update(e))}}catch(e){i=e}finally{r(i)}};CipherBase.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)};CipherBase.prototype._finalOrDigest=function(e){var t=this.__final()||i.alloc(0);if(e){t=this._toString(t,e,true)}return t};CipherBase.prototype._toString=function(e,t,r){if(!this._decoder){this._decoder=new a(t);this._encoding=t}if(this._encoding!==t)throw new Error(\"can't switch encodings\");var i=this._decoder.write(e);if(r){i+=this._decoder.end()}return i};e.exports=CipherBase},9942:function(e,t,r){var i=r(949);var n=r(711);e.exports=function createECDH(e){return new ECDH(e)};var a={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};a.p224=a.secp224r1;a.p256=a.secp256r1=a.prime256v1;a.p192=a.secp192r1=a.prime192v1;a.p384=a.secp384r1;a.p521=a.secp521r1;function ECDH(e){this.curveType=a[e];if(!this.curveType){this.curveType={name:e}}this.curve=new i.ec(this.curveType.name);this.keys=void 0}ECDH.prototype.generateKeys=function(e,t){this.keys=this.curve.genKeyPair();return this.getPublicKey(e,t)};ECDH.prototype.computeSecret=function(e,t,r){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}var i=this.curve.keyFromPublic(e).getPublic();var n=i.mul(this.keys.getPrivate()).getX();return formatReturnValue(n,r,this.curveType.byteLength)};ECDH.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic(t===\"compressed\",true);if(t===\"hybrid\"){if(r[r.length-1]%2){r[0]=7}else{r[0]=6}}return formatReturnValue(r,e)};ECDH.prototype.getPrivateKey=function(e){return formatReturnValue(this.keys.getPrivate(),e)};ECDH.prototype.setPublicKey=function(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this.keys._importPublic(e);return this};ECDH.prototype.setPrivateKey=function(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}var r=new n(e);r=r.toString(16);this.keys=this.curve.genKeyPair();this.keys._importPrivate(r);return this};function formatReturnValue(e,t,r){if(!Array.isArray(e)){e=e.toArray()}var i=new Buffer(e);if(r&&i.length<r){var n=new Buffer(r-i.length);n.fill(0);i=Buffer.concat([n,i])}if(!t){return i}else{return i.toString(t)}}},9739:function(e,t,r){\"use strict\";var i=r(3782);var n=r(3533);var a=r(3225);var s=r(4371);var o=r(1043);function Hash(e){o.call(this,\"digest\");this._hash=e}i(Hash,o);Hash.prototype._update=function(e){this._hash.update(e)};Hash.prototype._final=function(){return this._hash.digest()};e.exports=function createHash(e){e=e.toLowerCase();if(e===\"md5\")return new n;if(e===\"rmd160\"||e===\"ripemd160\")return new a;return new Hash(s(e))}},450:function(e,t,r){var i=r(3533);e.exports=function(e){return(new i).update(e).digest()}},4873:function(e,t,r){\"use strict\";var i=r(3782);var n=r(8119);var a=r(1043);var s=r(6911).Buffer;var o=r(450);var h=r(3225);var u=r(4371);var d=s.alloc(128);function Hmac(e,t){a.call(this,\"digest\");if(typeof t===\"string\"){t=s.from(t)}var r=e===\"sha512\"||e===\"sha384\"?128:64;this._alg=e;this._key=t;if(t.length>r){var i=e===\"rmd160\"?new h:u(e);t=i.update(t).digest()}else if(t.length<r){t=s.concat([t,d],r)}var n=this._ipad=s.allocUnsafe(r);var o=this._opad=s.allocUnsafe(r);for(var c=0;c<r;c++){n[c]=t[c]^54;o[c]=t[c]^92}this._hash=e===\"rmd160\"?new h:u(e);this._hash.update(n)}i(Hmac,a);Hmac.prototype._update=function(e){this._hash.update(e)};Hmac.prototype._final=function(){var e=this._hash.digest();var t=this._alg===\"rmd160\"?new h:u(this._alg);return t.update(this._opad).update(e).digest()};e.exports=function createHmac(e,t){e=e.toLowerCase();if(e===\"rmd160\"||e===\"ripemd160\"){return new Hmac(\"rmd160\",t)}if(e===\"md5\"){return new n(o,t)}return new Hmac(e,t)}},8119:function(e,t,r){\"use strict\";var i=r(3782);var n=r(6911).Buffer;var a=r(1043);var s=n.alloc(128);var o=64;function Hmac(e,t){a.call(this,\"digest\");if(typeof t===\"string\"){t=n.from(t)}this._alg=e;this._key=t;if(t.length>o){t=e(t)}else if(t.length<o){t=n.concat([t,s],o)}var r=this._ipad=n.allocUnsafe(o);var i=this._opad=n.allocUnsafe(o);for(var h=0;h<o;h++){r[h]=t[h]^54;i[h]=t[h]^92}this._hash=[r]}i(Hmac,a);Hmac.prototype._update=function(e){this._hash.push(e)};Hmac.prototype._final=function(){var e=this._alg(n.concat(this._hash));return this._alg(n.concat([this._opad,e]))};e.exports=Hmac},9536:function(e,t,r){\"use strict\";t.utils=r(5334);t.Cipher=r(9876);t.DES=r(1016);t.CBC=r(8641);t.EDE=r(6159)},8641:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);var a={};function CBCState(e){i.equal(e.length,8,\"Invalid IV length\");this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}function instantiate(e){function CBC(t){e.call(this,t);this._cbcInit()}n(CBC,e);var t=Object.keys(a);for(var r=0;r<t.length;r++){var i=t[r];CBC.prototype[i]=a[i]}CBC.create=function create(e){return new CBC(e)};return CBC}t.instantiate=instantiate;a._cbcInit=function _cbcInit(){var e=new CBCState(this.options.iv);this._cbcState=e};a._update=function _update(e,t,r,i){var n=this._cbcState;var a=this.constructor.super_.prototype;var s=n.iv;if(this.type===\"encrypt\"){for(var o=0;o<this.blockSize;o++)s[o]^=e[t+o];a._update.call(this,s,0,r,i);for(var o=0;o<this.blockSize;o++)s[o]=r[i+o]}else{a._update.call(this,e,t,r,i);for(var o=0;o<this.blockSize;o++)r[i+o]^=s[o];for(var o=0;o<this.blockSize;o++)s[o]=e[t+o]}}},9876:function(e,t,r){\"use strict\";var i=r(3523);function Cipher(e){this.options=e;this.type=this.options.type;this.blockSize=8;this._init();this.buffer=new Array(this.blockSize);this.bufferOff=0}e.exports=Cipher;Cipher.prototype._init=function _init(){};Cipher.prototype.update=function update(e){if(e.length===0)return[];if(this.type===\"decrypt\")return this._updateDecrypt(e);else return this._updateEncrypt(e)};Cipher.prototype._buffer=function _buffer(e,t){var r=Math.min(this.buffer.length-this.bufferOff,e.length-t);for(var i=0;i<r;i++)this.buffer[this.bufferOff+i]=e[t+i];this.bufferOff+=r;return r};Cipher.prototype._flushBuffer=function _flushBuffer(e,t){this._update(this.buffer,0,e,t);this.bufferOff=0;return this.blockSize};Cipher.prototype._updateEncrypt=function _updateEncrypt(e){var t=0;var r=0;var i=(this.bufferOff+e.length)/this.blockSize|0;var n=new Array(i*this.blockSize);if(this.bufferOff!==0){t+=this._buffer(e,t);if(this.bufferOff===this.buffer.length)r+=this._flushBuffer(n,r)}var a=e.length-(e.length-t)%this.blockSize;for(;t<a;t+=this.blockSize){this._update(e,t,n,r);r+=this.blockSize}for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return n};Cipher.prototype._updateDecrypt=function _updateDecrypt(e){var t=0;var r=0;var i=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1;var n=new Array(i*this.blockSize);for(;i>0;i--){t+=this._buffer(e,t);r+=this._flushBuffer(n,r)}t+=this._buffer(e,t);return n};Cipher.prototype.final=function final(e){var t;if(e)t=this.update(e);var r;if(this.type===\"encrypt\")r=this._finalEncrypt();else r=this._finalDecrypt();if(t)return t.concat(r);else return r};Cipher.prototype._pad=function _pad(e,t){if(t===0)return false;while(t<e.length)e[t++]=0;return true};Cipher.prototype._finalEncrypt=function _finalEncrypt(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);this._update(this.buffer,0,e,0);return e};Cipher.prototype._unpad=function _unpad(e){return e};Cipher.prototype._finalDecrypt=function _finalDecrypt(){i.equal(this.bufferOff,this.blockSize,\"Not enough data to decrypt\");var e=new Array(this.blockSize);this._flushBuffer(e,0);return this._unpad(e)}},1016:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);var a=r(5334);var s=r(9876);function DESState(){this.tmp=new Array(2);this.keys=null}function DES(e){s.call(this,e);var t=new DESState;this._desState=t;this.deriveKeys(t,e.key)}n(DES,s);e.exports=DES;DES.create=function create(e){return new DES(e)};var o=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function deriveKeys(e,t){e.keys=new Array(16*2);i.equal(t.length,this.blockSize,\"Invalid key length\");var r=a.readUInt32BE(t,0);var n=a.readUInt32BE(t,4);a.pc1(r,n,e.tmp,0);r=e.tmp[0];n=e.tmp[1];for(var s=0;s<e.keys.length;s+=2){var h=o[s>>>1];r=a.r28shl(r,h);n=a.r28shl(n,h);a.pc2(r,n,e.keys,s)}};DES.prototype._update=function _update(e,t,r,i){var n=this._desState;var s=a.readUInt32BE(e,t);var o=a.readUInt32BE(e,t+4);a.ip(s,o,n.tmp,0);s=n.tmp[0];o=n.tmp[1];if(this.type===\"encrypt\")this._encrypt(n,s,o,n.tmp,0);else this._decrypt(n,s,o,n.tmp,0);s=n.tmp[0];o=n.tmp[1];a.writeUInt32BE(r,s,i);a.writeUInt32BE(r,o,i+4)};DES.prototype._pad=function _pad(e,t){var r=e.length-t;for(var i=t;i<e.length;i++)e[i]=r;return true};DES.prototype._unpad=function _unpad(e){var t=e[e.length-1];for(var r=e.length-t;r<e.length;r++)i.equal(e[r],t);return e.slice(0,e.length-t)};DES.prototype._encrypt=function _encrypt(e,t,r,i,n){var s=t;var o=r;for(var h=0;h<e.keys.length;h+=2){var u=e.keys[h];var d=e.keys[h+1];a.expand(o,e.tmp,0);u^=e.tmp[0];d^=e.tmp[1];var c=a.substitute(u,d);var l=a.permute(c);var p=o;o=(s^l)>>>0;s=p}a.rip(o,s,i,n)};DES.prototype._decrypt=function _decrypt(e,t,r,i,n){var s=r;var o=t;for(var h=e.keys.length-2;h>=0;h-=2){var u=e.keys[h];var d=e.keys[h+1];a.expand(s,e.tmp,0);u^=e.tmp[0];d^=e.tmp[1];var c=a.substitute(u,d);var l=a.permute(c);var p=s;s=(o^l)>>>0;o=p}a.rip(s,o,i,n)}},6159:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);var a=r(9876);var s=r(1016);function EDEState(e,t){i.equal(t.length,24,\"Invalid key length\");var r=t.slice(0,8);var n=t.slice(8,16);var a=t.slice(16,24);if(e===\"encrypt\"){this.ciphers=[s.create({type:\"encrypt\",key:r}),s.create({type:\"decrypt\",key:n}),s.create({type:\"encrypt\",key:a})]}else{this.ciphers=[s.create({type:\"decrypt\",key:a}),s.create({type:\"encrypt\",key:n}),s.create({type:\"decrypt\",key:r})]}}function EDE(e){a.call(this,e);var t=new EDEState(this.type,this.options.key);this._edeState=t}n(EDE,a);e.exports=EDE;EDE.create=function create(e){return new EDE(e)};EDE.prototype._update=function _update(e,t,r,i){var n=this._edeState;n.ciphers[0]._update(e,t,r,i);n.ciphers[1]._update(r,i,r,i);n.ciphers[2]._update(r,i,r,i)};EDE.prototype._pad=s.prototype._pad;EDE.prototype._unpad=s.prototype._unpad},5334:function(e,t){\"use strict\";t.readUInt32BE=function readUInt32BE(e,t){var r=e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t];return r>>>0};t.writeUInt32BE=function writeUInt32BE(e,t,r){e[0+r]=t>>>24;e[1+r]=t>>>16&255;e[2+r]=t>>>8&255;e[3+r]=t&255};t.ip=function ip(e,t,r,i){var n=0;var a=0;for(var s=6;s>=0;s-=2){for(var o=0;o<=24;o+=8){n<<=1;n|=t>>>o+s&1}for(var o=0;o<=24;o+=8){n<<=1;n|=e>>>o+s&1}}for(var s=6;s>=0;s-=2){for(var o=1;o<=25;o+=8){a<<=1;a|=t>>>o+s&1}for(var o=1;o<=25;o+=8){a<<=1;a|=e>>>o+s&1}}r[i+0]=n>>>0;r[i+1]=a>>>0};t.rip=function rip(e,t,r,i){var n=0;var a=0;for(var s=0;s<4;s++){for(var o=24;o>=0;o-=8){n<<=1;n|=t>>>o+s&1;n<<=1;n|=e>>>o+s&1}}for(var s=4;s<8;s++){for(var o=24;o>=0;o-=8){a<<=1;a|=t>>>o+s&1;a<<=1;a|=e>>>o+s&1}}r[i+0]=n>>>0;r[i+1]=a>>>0};t.pc1=function pc1(e,t,r,i){var n=0;var a=0;for(var s=7;s>=5;s--){for(var o=0;o<=24;o+=8){n<<=1;n|=t>>o+s&1}for(var o=0;o<=24;o+=8){n<<=1;n|=e>>o+s&1}}for(var o=0;o<=24;o+=8){n<<=1;n|=t>>o+s&1}for(var s=1;s<=3;s++){for(var o=0;o<=24;o+=8){a<<=1;a|=t>>o+s&1}for(var o=0;o<=24;o+=8){a<<=1;a|=e>>o+s&1}}for(var o=0;o<=24;o+=8){a<<=1;a|=e>>o+s&1}r[i+0]=n>>>0;r[i+1]=a>>>0};t.r28shl=function r28shl(e,t){return e<<t&268435455|e>>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function pc2(e,t,i,n){var a=0;var s=0;var o=r.length>>>1;for(var h=0;h<o;h++){a<<=1;a|=e>>>r[h]&1}for(var h=o;h<r.length;h++){s<<=1;s|=t>>>r[h]&1}i[n+0]=a>>>0;i[n+1]=s>>>0};t.expand=function expand(e,t,r){var i=0;var n=0;i=(e&1)<<5|e>>>27;for(var a=23;a>=15;a-=4){i<<=6;i|=e>>>a&63}for(var a=11;a>=3;a-=4){n|=e>>>a&63;n<<=6}n|=(e&31)<<1|e>>>31;t[r+0]=i>>>0;t[r+1]=n>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function substitute(e,t){var r=0;for(var n=0;n<4;n++){var a=e>>>18-n*6&63;var s=i[n*64+a];r<<=4;r|=s}for(var n=0;n<4;n++){var a=t>>>18-n*6&63;var s=i[4*64+n*64+a];r<<=4;r|=s}return r>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function permute(e){var t=0;for(var r=0;r<n.length;r++){t<<=1;t|=e>>>n[r]&1}return t>>>0};t.padSplit=function padSplit(e,t,r){var i=e.toString(2);while(i.length<t)i=\"0\"+i;var n=[];for(var a=0;a<t;a+=r)n.push(i.slice(a,a+r));return n.join(\" \")}},6587:function(e,t,r){var i=r(296);var n=r(7992);var a=r(373);function getDiffieHellman(e){var t=new Buffer(n[e].prime,\"hex\");var r=new Buffer(n[e].gen,\"hex\");return new a(t,r)}var s={binary:true,hex:true,base64:true};function createDiffieHellman(e,t,r,n){if(Buffer.isBuffer(t)||s[t]===undefined){return createDiffieHellman(e,\"binary\",t,r)}t=t||\"binary\";n=n||\"binary\";r=r||new Buffer([2]);if(!Buffer.isBuffer(r)){r=new Buffer(r,n)}if(typeof e===\"number\"){return new a(i(e,r),r,true)}if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}return new a(e,r,true)}t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=getDiffieHellman;t.createDiffieHellman=t.DiffieHellman=createDiffieHellman},373:function(e,t,r){var i=r(711);var n=r(1354);var a=new n;var s=new i(24);var o=new i(11);var h=new i(10);var u=new i(3);var d=new i(7);var c=r(296);var l=r(7223);e.exports=DH;function setPublicKey(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this._pub=new i(e);return this}function setPrivateKey(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this._priv=new i(e);return this}var p={};function checkPrime(e,t){var r=t.toString(\"hex\");var i=[r,e.toString(16)].join(\"_\");if(i in p){return p[i]}var n=0;if(e.isEven()||!c.simpleSieve||!c.fermatTest(e)||!a.test(e)){n+=1;if(r===\"02\"||r===\"05\"){n+=8}else{n+=4}p[i]=n;return n}if(!a.test(e.shrn(1))){n+=2}var l;switch(r){case\"02\":if(e.mod(s).cmp(o)){n+=8}break;case\"05\":l=e.mod(h);if(l.cmp(u)&&l.cmp(d)){n+=8}break;default:n+=4}p[i]=n;return n}function DH(e,t,r){this.setGenerator(t);this.__prime=new i(e);this._prime=i.mont(this.__prime);this._primeLen=e.length;this._pub=undefined;this._priv=undefined;this._primeCode=undefined;if(r){this.setPublicKey=setPublicKey;this.setPrivateKey=setPrivateKey}else{this._primeCode=8}}Object.defineProperty(DH.prototype,\"verifyError\",{enumerable:true,get:function(){if(typeof this._primeCode!==\"number\"){this._primeCode=checkPrime(this.__prime,this.__gen)}return this._primeCode}});DH.prototype.generateKeys=function(){if(!this._priv){this._priv=new i(l(this._primeLen))}this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed();return this.getPublicKey()};DH.prototype.computeSecret=function(e){e=new i(e);e=e.toRed(this._prime);var t=e.redPow(this._priv).fromRed();var r=new Buffer(t.toArray());var n=this.getPrime();if(r.length<n.length){var a=new Buffer(n.length-r.length);a.fill(0);r=Buffer.concat([a,r])}return r};DH.prototype.getPublicKey=function getPublicKey(e){return formatReturnValue(this._pub,e)};DH.prototype.getPrivateKey=function getPrivateKey(e){return formatReturnValue(this._priv,e)};DH.prototype.getPrime=function(e){return formatReturnValue(this.__prime,e)};DH.prototype.getGenerator=function(e){return formatReturnValue(this._gen,e)};DH.prototype.setGenerator=function(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this.__gen=e;this._gen=new i(e);return this};function formatReturnValue(e,t){var r=new Buffer(e.toArray());if(!t){return r}else{return r.toString(t)}}},296:function(e,t,r){var i=r(7223);e.exports=findPrime;findPrime.simpleSieve=simpleSieve;findPrime.fermatTest=fermatTest;var n=r(711);var a=new n(24);var s=r(1354);var o=new s;var h=new n(1);var u=new n(2);var d=new n(5);var c=new n(16);var l=new n(8);var p=new n(10);var v=new n(3);var b=new n(7);var m=new n(11);var y=new n(4);var g=new n(12);var _=null;function _getPrimes(){if(_!==null)return _;var e=1048576;var t=[];t[0]=2;for(var r=1,i=3;i<e;i+=2){var n=Math.ceil(Math.sqrt(i));for(var a=0;a<r&&t[a]<=n;a++)if(i%t[a]===0)break;if(r!==a&&t[a]<=n)continue;t[r++]=i}_=t;return t}function simpleSieve(e){var t=_getPrimes();for(var r=0;r<t.length;r++)if(e.modn(t[r])===0){if(e.cmpn(t[r])===0){return true}else{return false}}return true}function fermatTest(e){var t=n.mont(e);return u.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)===0}function findPrime(e,t){if(e<16){if(t===2||t===5){return new n([140,123])}else{return new n([140,39])}}t=new n(t);var r,s;while(true){r=new n(i(Math.ceil(e/8)));while(r.bitLength()>e){r.ishrn(1)}if(r.isEven()){r.iadd(h)}if(!r.testn(1)){r.iadd(u)}if(!t.cmp(u)){while(r.mod(a).cmp(m)){r.iadd(y)}}else if(!t.cmp(d)){while(r.mod(p).cmp(v)){r.iadd(y)}}s=r.shrn(1);if(simpleSieve(s)&&simpleSieve(r)&&fermatTest(s)&&fermatTest(r)&&o.test(s)&&o.test(r)){return r}}}},949:function(e,t,r){\"use strict\";var i=t;i.version=r(2531).i8;i.utils=r(4401);i.rand=r(3500);i.curve=r(9359);i.curves=r(6226);i.ec=r(4088);i.eddsa=r(8511)},2727:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.getNAF;var s=n.getJSF;var o=n.assert;function BaseCurve(e,t){this.type=e;this.p=new i(t.p,16);this.red=t.prime?i.red(t.prime):i.mont(this.p);this.zero=new i(0).toRed(this.red);this.one=new i(1).toRed(this.red);this.two=new i(2).toRed(this.red);this.n=t.n&&new i(t.n,16);this.g=t.g&&this.pointFromJSON(t.g,t.gRed);this._wnafT1=new Array(4);this._wnafT2=new Array(4);this._wnafT3=new Array(4);this._wnafT4=new Array(4);this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);if(!r||r.cmpn(100)>0){this.redN=null}else{this._maxwellTrick=true;this.redN=this.n.toRed(this.red)}}e.exports=BaseCurve;BaseCurve.prototype.point=function point(){throw new Error(\"Not implemented\")};BaseCurve.prototype.validate=function validate(){throw new Error(\"Not implemented\")};BaseCurve.prototype._fixedNafMul=function _fixedNafMul(e,t){o(e.precomputed);var r=e._getDoubles();var i=a(t,1,this._bitLength);var n=(1<<r.step+1)-(r.step%2===0?2:1);n/=3;var s=[];for(var h=0;h<i.length;h+=r.step){var u=0;for(var t=h+r.step-1;t>=h;t--)u=(u<<1)+i[t];s.push(u)}var d=this.jpoint(null,null,null);var c=this.jpoint(null,null,null);for(var l=n;l>0;l--){for(var h=0;h<s.length;h++){var u=s[h];if(u===l)c=c.mixedAdd(r.points[h]);else if(u===-l)c=c.mixedAdd(r.points[h].neg())}d=d.add(c)}return d.toP()};BaseCurve.prototype._wnafMul=function _wnafMul(e,t){var r=4;var i=e._getNAFPoints(r);r=i.wnd;var n=i.points;var s=a(t,r,this._bitLength);var h=this.jpoint(null,null,null);for(var u=s.length-1;u>=0;u--){for(var t=0;u>=0&&s[u]===0;u--)t++;if(u>=0)t++;h=h.dblp(t);if(u<0)break;var d=s[u];o(d!==0);if(e.type===\"affine\"){if(d>0)h=h.mixedAdd(n[d-1>>1]);else h=h.mixedAdd(n[-d-1>>1].neg())}else{if(d>0)h=h.add(n[d-1>>1]);else h=h.add(n[-d-1>>1].neg())}}return e.type===\"affine\"?h.toP():h};BaseCurve.prototype._wnafMulAdd=function _wnafMulAdd(e,t,r,i,n){var o=this._wnafT1;var h=this._wnafT2;var u=this._wnafT3;var d=0;for(var c=0;c<i;c++){var l=t[c];var p=l._getNAFPoints(e);o[c]=p.wnd;h[c]=p.points}for(var c=i-1;c>=1;c-=2){var v=c-1;var b=c;if(o[v]!==1||o[b]!==1){u[v]=a(r[v],o[v],this._bitLength);u[b]=a(r[b],o[b],this._bitLength);d=Math.max(u[v].length,d);d=Math.max(u[b].length,d);continue}var m=[t[v],null,null,t[b]];if(t[v].y.cmp(t[b].y)===0){m[1]=t[v].add(t[b]);m[2]=t[v].toJ().mixedAdd(t[b].neg())}else if(t[v].y.cmp(t[b].y.redNeg())===0){m[1]=t[v].toJ().mixedAdd(t[b]);m[2]=t[v].add(t[b].neg())}else{m[1]=t[v].toJ().mixedAdd(t[b]);m[2]=t[v].toJ().mixedAdd(t[b].neg())}var y=[-3,-1,-5,-7,0,7,5,1,3];var g=s(r[v],r[b]);d=Math.max(g[0].length,d);u[v]=new Array(d);u[b]=new Array(d);for(var _=0;_<d;_++){var w=g[0][_]|0;var M=g[1][_]|0;u[v][_]=y[(w+1)*3+(M+1)];u[b][_]=0;h[v]=m}}var B=this.jpoint(null,null,null);var E=this._wnafT4;for(var c=d;c>=0;c--){var k=0;while(c>=0){var A=true;for(var _=0;_<i;_++){E[_]=u[_][c]|0;if(E[_]!==0)A=false}if(!A)break;k++;c--}if(c>=0)k++;B=B.dblp(k);if(c<0)break;for(var _=0;_<i;_++){var N=E[_];var l;if(N===0)continue;else if(N>0)l=h[_][N-1>>1];else if(N<0)l=h[_][-N-1>>1].neg();if(l.type===\"affine\")B=B.mixedAdd(l);else B=B.add(l)}}for(var c=0;c<i;c++)h[c]=null;if(n)return B;else return B.toP()};function BasePoint(e,t){this.curve=e;this.type=t;this.precomputed=null}BaseCurve.BasePoint=BasePoint;BasePoint.prototype.eq=function eq(){throw new Error(\"Not implemented\")};BasePoint.prototype.validate=function validate(){return this.curve.validate(this)};BaseCurve.prototype.decodePoint=function decodePoint(e,t){e=n.toArray(e,t);var r=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*r){if(e[0]===6)o(e[e.length-1]%2===0);else if(e[0]===7)o(e[e.length-1]%2===1);var i=this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));return i}else if((e[0]===2||e[0]===3)&&e.length-1===r){return this.pointFromX(e.slice(1,1+r),e[0]===3)}throw new Error(\"Unknown point format\")};BasePoint.prototype.encodeCompressed=function encodeCompressed(e){return this.encode(e,true)};BasePoint.prototype._encode=function _encode(e){var t=this.curve.p.byteLength();var r=this.getX().toArray(\"be\",t);if(e)return[this.getY().isEven()?2:3].concat(r);return[4].concat(r,this.getY().toArray(\"be\",t))};BasePoint.prototype.encode=function encode(e,t){return n.encode(this._encode(t),e)};BasePoint.prototype.precompute=function precompute(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};t.naf=this._getNAFPoints(8);t.doubles=this._getDoubles(4,e);t.beta=this._getBeta();this.precomputed=t;return this};BasePoint.prototype._hasDoubles=function _hasDoubles(e){if(!this.precomputed)return false;var t=this.precomputed.doubles;if(!t)return false;return t.points.length>=Math.ceil((e.bitLength()+1)/t.step)};BasePoint.prototype._getDoubles=function _getDoubles(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var r=[this];var i=this;for(var n=0;n<t;n+=e){for(var a=0;a<e;a++)i=i.dbl();r.push(i)}return{step:e,points:r}};BasePoint.prototype._getNAFPoints=function _getNAFPoints(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;var t=[this];var r=(1<<e)-1;var i=r===1?null:this.dbl();for(var n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}};BasePoint.prototype._getBeta=function _getBeta(){return null};BasePoint.prototype.dblp=function dblp(e){var t=this;for(var r=0;r<e;r++)t=t.dbl();return t}},2705:function(e,t,r){\"use strict\";var i=r(4401);var n=r(711);var a=r(3782);var s=r(2727);var o=i.assert;function EdwardsCurve(e){this.twisted=(e.a|0)!==1;this.mOneA=this.twisted&&(e.a|0)===-1;this.extended=this.mOneA;s.call(this,\"edwards\",e);this.a=new n(e.a,16).umod(this.red.m);this.a=this.a.toRed(this.red);this.c=new n(e.c,16).toRed(this.red);this.c2=this.c.redSqr();this.d=new n(e.d,16).toRed(this.red);this.dd=this.d.redAdd(this.d);o(!this.twisted||this.c.fromRed().cmpn(1)===0);this.oneC=(e.c|0)===1}a(EdwardsCurve,s);e.exports=EdwardsCurve;EdwardsCurve.prototype._mulA=function _mulA(e){if(this.mOneA)return e.redNeg();else return this.a.redMul(e)};EdwardsCurve.prototype._mulC=function _mulC(e){if(this.oneC)return e;else return this.c.redMul(e)};EdwardsCurve.prototype.jpoint=function jpoint(e,t,r,i){return this.point(e,t,r,i)};EdwardsCurve.prototype.pointFromX=function pointFromX(e,t){e=new n(e,16);if(!e.red)e=e.toRed(this.red);var r=e.redSqr();var i=this.c2.redSub(this.a.redMul(r));var a=this.one.redSub(this.c2.redMul(this.d).redMul(r));var s=i.redMul(a.redInvm());var o=s.redSqrt();if(o.redSqr().redSub(s).cmp(this.zero)!==0)throw new Error(\"invalid point\");var h=o.fromRed().isOdd();if(t&&!h||!t&&h)o=o.redNeg();return this.point(e,o)};EdwardsCurve.prototype.pointFromY=function pointFromY(e,t){e=new n(e,16);if(!e.red)e=e.toRed(this.red);var r=e.redSqr();var i=r.redSub(this.c2);var a=r.redMul(this.d).redMul(this.c2).redSub(this.a);var s=i.redMul(a.redInvm());if(s.cmp(this.zero)===0){if(t)throw new Error(\"invalid point\");else return this.point(this.zero,e)}var o=s.redSqrt();if(o.redSqr().redSub(s).cmp(this.zero)!==0)throw new Error(\"invalid point\");if(o.fromRed().isOdd()!==t)o=o.redNeg();return this.point(o,e)};EdwardsCurve.prototype.validate=function validate(e){if(e.isInfinity())return true;e.normalize();var t=e.x.redSqr();var r=e.y.redSqr();var i=t.redMul(this.a).redAdd(r);var n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return i.cmp(n)===0};function Point(e,t,r,i,a){s.BasePoint.call(this,e,\"projective\");if(t===null&&r===null&&i===null){this.x=this.curve.zero;this.y=this.curve.one;this.z=this.curve.one;this.t=this.curve.zero;this.zOne=true}else{this.x=new n(t,16);this.y=new n(r,16);this.z=i?new n(i,16):this.curve.one;this.t=a&&new n(a,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);this.zOne=this.z===this.curve.one;if(this.curve.extended&&!this.t){this.t=this.x.redMul(this.y);if(!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}a(Point,s.BasePoint);EdwardsCurve.prototype.pointFromJSON=function pointFromJSON(e){return Point.fromJSON(this,e)};EdwardsCurve.prototype.point=function point(e,t,r,i){return new Point(this,e,t,r,i)};Point.fromJSON=function fromJSON(e,t){return new Point(e,t[0],t[1],t[2])};Point.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function isInfinity(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Point.prototype._extDbl=function _extDbl(){var e=this.x.redSqr();var t=this.y.redSqr();var r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e);var n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t);var a=i.redAdd(t);var s=a.redSub(r);var o=i.redSub(t);var h=n.redMul(s);var u=a.redMul(o);var d=n.redMul(o);var c=s.redMul(a);return this.curve.point(h,u,c,d)};Point.prototype._projDbl=function _projDbl(){var e=this.x.redAdd(this.y).redSqr();var t=this.x.redSqr();var r=this.y.redSqr();var i;var n;var a;if(this.curve.twisted){var s=this.curve._mulA(t);var o=s.redAdd(r);if(this.zOne){i=e.redSub(t).redSub(r).redMul(o.redSub(this.curve.two));n=o.redMul(s.redSub(r));a=o.redSqr().redSub(o).redSub(o)}else{var h=this.z.redSqr();var u=o.redSub(h).redISub(h);i=e.redSub(t).redISub(r).redMul(u);n=o.redMul(s.redSub(r));a=o.redMul(u)}}else{var s=t.redAdd(r);var h=this.curve._mulC(this.z).redSqr();var u=s.redSub(h).redSub(h);i=this.curve._mulC(e.redISub(s)).redMul(u);n=this.curve._mulC(s).redMul(t.redISub(r));a=s.redMul(u)}return this.curve.point(i,n,a)};Point.prototype.dbl=function dbl(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()};Point.prototype._extAdd=function _extAdd(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x));var r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x));var i=this.t.redMul(this.curve.dd).redMul(e.t);var n=this.z.redMul(e.z.redAdd(e.z));var a=r.redSub(t);var s=n.redSub(i);var o=n.redAdd(i);var h=r.redAdd(t);var u=a.redMul(s);var d=o.redMul(h);var c=a.redMul(h);var l=s.redMul(o);return this.curve.point(u,d,l,c)};Point.prototype._projAdd=function _projAdd(e){var t=this.z.redMul(e.z);var r=t.redSqr();var i=this.x.redMul(e.x);var n=this.y.redMul(e.y);var a=this.curve.d.redMul(i).redMul(n);var s=r.redSub(a);var o=r.redAdd(a);var h=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(i).redISub(n);var u=t.redMul(s).redMul(h);var d;var c;if(this.curve.twisted){d=t.redMul(o).redMul(n.redSub(this.curve._mulA(i)));c=s.redMul(o)}else{d=t.redMul(o).redMul(n.redSub(i));c=this.curve._mulC(s).redMul(o)}return this.curve.point(u,d,c)};Point.prototype.add=function add(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.curve.extended)return this._extAdd(e);else return this._projAdd(e)};Point.prototype.mul=function mul(e){if(this._hasDoubles(e))return this.curve._fixedNafMul(this,e);else return this.curve._wnafMul(this,e)};Point.prototype.mulAdd=function mulAdd(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,false)};Point.prototype.jmulAdd=function jmulAdd(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,true)};Point.prototype.normalize=function normalize(){if(this.zOne)return this;var e=this.z.redInvm();this.x=this.x.redMul(e);this.y=this.y.redMul(e);if(this.t)this.t=this.t.redMul(e);this.z=this.curve.one;this.zOne=true;return this};Point.prototype.neg=function neg(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()};Point.prototype.getY=function getY(){this.normalize();return this.y.fromRed()};Point.prototype.eq=function eq(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};Point.prototype.eqXToP=function eqXToP(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return true;var r=e.clone();var i=this.curve.redN.redMul(this.z);for(;;){r.iadd(this.curve.n);if(r.cmp(this.curve.p)>=0)return false;t.redIAdd(i);if(this.x.cmp(t)===0)return true}};Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add},9359:function(e,t,r){\"use strict\";var i=t;i.base=r(2727);i.short=r(4720);i.mont=r(6653);i.edwards=r(2705)},6653:function(e,t,r){\"use strict\";var i=r(711);var n=r(3782);var a=r(2727);var s=r(4401);function MontCurve(e){a.call(this,\"mont\",e);this.a=new i(e.a,16).toRed(this.red);this.b=new i(e.b,16).toRed(this.red);this.i4=new i(4).toRed(this.red).redInvm();this.two=new i(2).toRed(this.red);this.a24=this.i4.redMul(this.a.redAdd(this.two))}n(MontCurve,a);e.exports=MontCurve;MontCurve.prototype.validate=function validate(e){var t=e.normalize().x;var r=t.redSqr();var i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);var n=i.redSqrt();return n.redSqr().cmp(i)===0};function Point(e,t,r){a.BasePoint.call(this,e,\"projective\");if(t===null&&r===null){this.x=this.curve.one;this.z=this.curve.zero}else{this.x=new i(t,16);this.z=new i(r,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}n(Point,a.BasePoint);MontCurve.prototype.decodePoint=function decodePoint(e,t){return this.point(s.toArray(e,t),1)};MontCurve.prototype.point=function point(e,t){return new Point(this,e,t)};MontCurve.prototype.pointFromJSON=function pointFromJSON(e){return Point.fromJSON(this,e)};Point.prototype.precompute=function precompute(){};Point.prototype._encode=function _encode(){return this.getX().toArray(\"be\",this.curve.p.byteLength())};Point.fromJSON=function fromJSON(e,t){return new Point(e,t[0],t[1]||e.one)};Point.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0};Point.prototype.dbl=function dbl(){var e=this.x.redAdd(this.z);var t=e.redSqr();var r=this.x.redSub(this.z);var i=r.redSqr();var n=t.redSub(i);var a=t.redMul(i);var s=n.redMul(i.redAdd(this.curve.a24.redMul(n)));return this.curve.point(a,s)};Point.prototype.add=function add(){throw new Error(\"Not supported on Montgomery curve\")};Point.prototype.diffAdd=function diffAdd(e,t){var r=this.x.redAdd(this.z);var i=this.x.redSub(this.z);var n=e.x.redAdd(e.z);var a=e.x.redSub(e.z);var s=a.redMul(r);var o=n.redMul(i);var h=t.z.redMul(s.redAdd(o).redSqr());var u=t.x.redMul(s.redISub(o).redSqr());return this.curve.point(h,u)};Point.prototype.mul=function mul(e){var t=e.clone();var r=this;var i=this.curve.point(null,null);var n=this;for(var a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var s=a.length-1;s>=0;s--){if(a[s]===0){r=r.diffAdd(i,n);i=i.dbl()}else{i=r.diffAdd(i,n);r=r.dbl()}}return i};Point.prototype.mulAdd=function mulAdd(){throw new Error(\"Not supported on Montgomery curve\")};Point.prototype.jumlAdd=function jumlAdd(){throw new Error(\"Not supported on Montgomery curve\")};Point.prototype.eq=function eq(e){return this.getX().cmp(e.getX())===0};Point.prototype.normalize=function normalize(){this.x=this.x.redMul(this.z.redInvm());this.z=this.curve.one;return this};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()}},4720:function(e,t,r){\"use strict\";var i=r(4401);var n=r(711);var a=r(3782);var s=r(2727);var o=i.assert;function ShortCurve(e){s.call(this,\"short\",e);this.a=new n(e.a,16).toRed(this.red);this.b=new n(e.b,16).toRed(this.red);this.tinv=this.two.redInvm();this.zeroA=this.a.fromRed().cmpn(0)===0;this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0;this.endo=this._getEndomorphism(e);this._endoWnafT1=new Array(4);this._endoWnafT2=new Array(4)}a(ShortCurve,s);e.exports=ShortCurve;ShortCurve.prototype._getEndomorphism=function _getEndomorphism(e){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var t;var r;if(e.beta){t=new n(e.beta,16).toRed(this.red)}else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1];t=t.toRed(this.red)}if(e.lambda){r=new n(e.lambda,16)}else{var a=this._getEndoRoots(this.n);if(this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0){r=a[0]}else{r=a[1];o(this.g.mul(r).x.cmp(this.g.x.redMul(t))===0)}}var s;if(e.basis){s=e.basis.map((function(e){return{a:new n(e.a,16),b:new n(e.b,16)}}))}else{s=this._getEndoBasis(r)}return{beta:t,lambda:r,basis:s}};ShortCurve.prototype._getEndoRoots=function _getEndoRoots(e){var t=e===this.p?this.red:n.mont(e);var r=new n(2).toRed(t).redInvm();var i=r.redNeg();var a=new n(3).toRed(t).redNeg().redSqrt().redMul(r);var s=i.redAdd(a).fromRed();var o=i.redSub(a).fromRed();return[s,o]};ShortCurve.prototype._getEndoBasis=function _getEndoBasis(e){var t=this.n.ushrn(Math.floor(this.n.bitLength()/2));var r=e;var i=this.n.clone();var a=new n(1);var s=new n(0);var o=new n(0);var h=new n(1);var u;var d;var c;var l;var p;var v;var b;var m=0;var y;var g;while(r.cmpn(0)!==0){var _=i.div(r);y=i.sub(_.mul(r));g=o.sub(_.mul(a));var w=h.sub(_.mul(s));if(!c&&y.cmp(t)<0){u=b.neg();d=a;c=y.neg();l=g}else if(c&&++m===2){break}b=y;i=r;r=y;o=a;a=g;h=s;s=w}p=y.neg();v=g;var M=c.sqr().add(l.sqr());var B=p.sqr().add(v.sqr());if(B.cmp(M)>=0){p=u;v=d}if(c.negative){c=c.neg();l=l.neg()}if(p.negative){p=p.neg();v=v.neg()}return[{a:c,b:l},{a:p,b:v}]};ShortCurve.prototype._endoSplit=function _endoSplit(e){var t=this.endo.basis;var r=t[0];var i=t[1];var n=i.b.mul(e).divRound(this.n);var a=r.b.neg().mul(e).divRound(this.n);var s=n.mul(r.a);var o=a.mul(i.a);var h=n.mul(r.b);var u=a.mul(i.b);var d=e.sub(s).sub(o);var c=h.add(u).neg();return{k1:d,k2:c}};ShortCurve.prototype.pointFromX=function pointFromX(e,t){e=new n(e,16);if(!e.red)e=e.toRed(this.red);var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b);var i=r.redSqrt();if(i.redSqr().redSub(r).cmp(this.zero)!==0)throw new Error(\"invalid point\");var a=i.fromRed().isOdd();if(t&&!a||!t&&a)i=i.redNeg();return this.point(e,i)};ShortCurve.prototype.validate=function validate(e){if(e.inf)return true;var t=e.x;var r=e.y;var i=this.a.redMul(t);var n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return r.redSqr().redISub(n).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function _endoWnafMulAdd(e,t,r){var i=this._endoWnafT1;var n=this._endoWnafT2;for(var a=0;a<e.length;a++){var s=this._endoSplit(t[a]);var o=e[a];var h=o._getBeta();if(s.k1.negative){s.k1.ineg();o=o.neg(true)}if(s.k2.negative){s.k2.ineg();h=h.neg(true)}i[a*2]=o;i[a*2+1]=h;n[a*2]=s.k1;n[a*2+1]=s.k2}var u=this._wnafMulAdd(1,i,n,a*2,r);for(var d=0;d<a*2;d++){i[d]=null;n[d]=null}return u};function Point(e,t,r,i){s.BasePoint.call(this,e,\"affine\");if(t===null&&r===null){this.x=null;this.y=null;this.inf=true}else{this.x=new n(t,16);this.y=new n(r,16);if(i){this.x.forceRed(this.curve.red);this.y.forceRed(this.curve.red)}if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);this.inf=false}}a(Point,s.BasePoint);ShortCurve.prototype.point=function point(e,t,r){return new Point(this,e,t,r)};ShortCurve.prototype.pointFromJSON=function pointFromJSON(e,t){return Point.fromJSON(this,e,t)};Point.prototype._getBeta=function _getBeta(){if(!this.curve.endo)return;var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve;var endoMul=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t;t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(endoMul)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(endoMul)}}}return t};Point.prototype.toJSON=function toJSON(){if(!this.precomputed)return[this.x,this.y];return[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]};Point.fromJSON=function fromJSON(e,t,r){if(typeof t===\"string\")t=JSON.parse(t);var i=e.point(t[0],t[1],r);if(!t[2])return i;function obj2point(t){return e.point(t[0],t[1],r)}var n=t[2];i.precomputed={beta:null,doubles:n.doubles&&{step:n.doubles.step,points:[i].concat(n.doubles.points.map(obj2point))},naf:n.naf&&{wnd:n.naf.wnd,points:[i].concat(n.naf.points.map(obj2point))}};return i};Point.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function isInfinity(){return this.inf};Point.prototype.add=function add(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);if(t.cmpn(0)!==0)t=t.redMul(this.x.redSub(e.x).redInvm());var r=t.redSqr().redISub(this.x).redISub(e.x);var i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)};Point.prototype.dbl=function dbl(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a;var r=this.x.redSqr();var i=e.redInvm();var n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i);var a=n.redSqr().redISub(this.x.redAdd(this.x));var s=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)};Point.prototype.getX=function getX(){return this.x.fromRed()};Point.prototype.getY=function getY(){return this.y.fromRed()};Point.prototype.mul=function mul(e){e=new n(e,16);if(this.isInfinity())return this;else if(this._hasDoubles(e))return this.curve._fixedNafMul(this,e);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[e]);else return this.curve._wnafMul(this,e)};Point.prototype.mulAdd=function mulAdd(e,t,r){var i=[this,t];var n=[e,r];if(this.curve.endo)return this.curve._endoWnafMulAdd(i,n);else return this.curve._wnafMulAdd(1,i,n,2)};Point.prototype.jmulAdd=function jmulAdd(e,t,r){var i=[this,t];var n=[e,r];if(this.curve.endo)return this.curve._endoWnafMulAdd(i,n,true);else return this.curve._wnafMulAdd(1,i,n,2,true)};Point.prototype.eq=function eq(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Point.prototype.neg=function neg(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed;var negate=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(negate)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(negate)}}}return t};Point.prototype.toJ=function toJ(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function JPoint(e,t,r,i){s.BasePoint.call(this,e,\"jacobian\");if(t===null&&r===null&&i===null){this.x=this.curve.one;this.y=this.curve.one;this.z=new n(0)}else{this.x=new n(t,16);this.y=new n(r,16);this.z=new n(i,16)}if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}a(JPoint,s.BasePoint);ShortCurve.prototype.jpoint=function jpoint(e,t,r){return new JPoint(this,e,t,r)};JPoint.prototype.toP=function toP(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm();var t=e.redSqr();var r=this.x.redMul(t);var i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)};JPoint.prototype.neg=function neg(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function add(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr();var r=this.z.redSqr();var i=this.x.redMul(t);var n=e.x.redMul(r);var a=this.y.redMul(t.redMul(e.z));var s=e.y.redMul(r.redMul(this.z));var o=i.redSub(n);var h=a.redSub(s);if(o.cmpn(0)===0){if(h.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var u=o.redSqr();var d=u.redMul(o);var c=i.redMul(u);var l=h.redSqr().redIAdd(d).redISub(c).redISub(c);var p=h.redMul(c.redISub(l)).redISub(a.redMul(d));var v=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(l,p,v)};JPoint.prototype.mixedAdd=function mixedAdd(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr();var r=this.x;var i=e.x.redMul(t);var n=this.y;var a=e.y.redMul(t).redMul(this.z);var s=r.redSub(i);var o=n.redSub(a);if(s.cmpn(0)===0){if(o.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var h=s.redSqr();var u=h.redMul(s);var d=r.redMul(h);var c=o.redSqr().redIAdd(u).redISub(d).redISub(d);var l=o.redMul(d.redISub(c)).redISub(n.redMul(u));var p=this.z.redMul(s);return this.curve.jpoint(c,l,p)};JPoint.prototype.dblp=function dblp(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var t=this;for(var r=0;r<e;r++)t=t.dbl();return t}var i=this.curve.a;var n=this.curve.tinv;var a=this.x;var s=this.y;var o=this.z;var h=o.redSqr().redSqr();var u=s.redAdd(s);for(var r=0;r<e;r++){var d=a.redSqr();var c=u.redSqr();var l=c.redSqr();var p=d.redAdd(d).redIAdd(d).redIAdd(i.redMul(h));var v=a.redMul(c);var b=p.redSqr().redISub(v.redAdd(v));var m=v.redISub(b);var y=p.redMul(m);y=y.redIAdd(y).redISub(l);var g=u.redMul(o);if(r+1<e)h=h.redMul(l);a=b;o=g;u=y}return this.curve.jpoint(a,u.redMul(n),o)};JPoint.prototype.dbl=function dbl(){if(this.isInfinity())return this;if(this.curve.zeroA)return this._zeroDbl();else if(this.curve.threeA)return this._threeDbl();else return this._dbl()};JPoint.prototype._zeroDbl=function _zeroDbl(){var e;var t;var r;if(this.zOne){var i=this.x.redSqr();var n=this.y.redSqr();var a=n.redSqr();var s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i);var h=o.redSqr().redISub(s).redISub(s);var u=a.redIAdd(a);u=u.redIAdd(u);u=u.redIAdd(u);e=h;t=o.redMul(s.redISub(h)).redISub(u);r=this.y.redAdd(this.y)}else{var d=this.x.redSqr();var c=this.y.redSqr();var l=c.redSqr();var p=this.x.redAdd(c).redSqr().redISub(d).redISub(l);p=p.redIAdd(p);var v=d.redAdd(d).redIAdd(d);var b=v.redSqr();var m=l.redIAdd(l);m=m.redIAdd(m);m=m.redIAdd(m);e=b.redISub(p).redISub(p);t=v.redMul(p.redISub(e)).redISub(m);r=this.y.redMul(this.z);r=r.redIAdd(r)}return this.curve.jpoint(e,t,r)};JPoint.prototype._threeDbl=function _threeDbl(){var e;var t;var r;if(this.zOne){var i=this.x.redSqr();var n=this.y.redSqr();var a=n.redSqr();var s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a);var h=o.redSqr().redISub(s).redISub(s);e=h;var u=a.redIAdd(a);u=u.redIAdd(u);u=u.redIAdd(u);t=o.redMul(s.redISub(h)).redISub(u);r=this.y.redAdd(this.y)}else{var d=this.z.redSqr();var c=this.y.redSqr();var l=this.x.redMul(c);var p=this.x.redSub(d).redMul(this.x.redAdd(d));p=p.redAdd(p).redIAdd(p);var v=l.redIAdd(l);v=v.redIAdd(v);var b=v.redAdd(v);e=p.redSqr().redISub(b);r=this.y.redAdd(this.z).redSqr().redISub(c).redISub(d);var m=c.redSqr();m=m.redIAdd(m);m=m.redIAdd(m);m=m.redIAdd(m);t=p.redMul(v.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,r)};JPoint.prototype._dbl=function _dbl(){var e=this.curve.a;var t=this.x;var r=this.y;var i=this.z;var n=i.redSqr().redSqr();var a=t.redSqr();var s=r.redSqr();var o=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(n));var h=t.redAdd(t);h=h.redIAdd(h);var u=h.redMul(s);var d=o.redSqr().redISub(u.redAdd(u));var c=u.redISub(d);var l=s.redSqr();l=l.redIAdd(l);l=l.redIAdd(l);l=l.redIAdd(l);var p=o.redMul(c).redISub(l);var v=r.redAdd(r).redMul(i);return this.curve.jpoint(d,p,v)};JPoint.prototype.trpl=function trpl(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr();var t=this.y.redSqr();var r=this.z.redSqr();var i=t.redSqr();var n=e.redAdd(e).redIAdd(e);var a=n.redSqr();var s=this.x.redAdd(t).redSqr().redISub(e).redISub(i);s=s.redIAdd(s);s=s.redAdd(s).redIAdd(s);s=s.redISub(a);var o=s.redSqr();var h=i.redIAdd(i);h=h.redIAdd(h);h=h.redIAdd(h);h=h.redIAdd(h);var u=n.redIAdd(s).redSqr().redISub(a).redISub(o).redISub(h);var d=t.redMul(u);d=d.redIAdd(d);d=d.redIAdd(d);var c=this.x.redMul(o).redISub(d);c=c.redIAdd(c);c=c.redIAdd(c);var l=this.y.redMul(u.redMul(h.redISub(u)).redISub(s.redMul(o)));l=l.redIAdd(l);l=l.redIAdd(l);l=l.redIAdd(l);var p=this.z.redAdd(s).redSqr().redISub(r).redISub(o);return this.curve.jpoint(c,l,p)};JPoint.prototype.mul=function mul(e,t){e=new n(e,t);return this.curve._wnafMul(this,e)};JPoint.prototype.eq=function eq(e){if(e.type===\"affine\")return this.eq(e.toJ());if(this===e)return true;var t=this.z.redSqr();var r=e.z.redSqr();if(this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0)!==0)return false;var i=t.redMul(this.z);var n=r.redMul(e.z);return this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)===0};JPoint.prototype.eqXToP=function eqXToP(e){var t=this.z.redSqr();var r=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(r)===0)return true;var i=e.clone();var n=this.curve.redN.redMul(t);for(;;){i.iadd(this.curve.n);if(i.cmp(this.curve.p)>=0)return false;r.redIAdd(n);if(this.x.cmp(r)===0)return true}};JPoint.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC JPoint Infinity>\";return\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"};JPoint.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0}},6226:function(e,t,r){\"use strict\";var i=t;var n=r(7028);var a=r(9359);var s=r(4401);var o=s.assert;function PresetCurve(e){if(e.type===\"short\")this.curve=new a.short(e);else if(e.type===\"edwards\")this.curve=new a.edwards(e);else this.curve=new a.mont(e);this.g=this.curve.g;this.n=this.curve.n;this.hash=e.hash;o(this.g.validate(),\"Invalid curve\");o(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}i.PresetCurve=PresetCurve;function defineCurve(e,t){Object.defineProperty(i,e,{configurable:true,enumerable:true,get:function(){var r=new PresetCurve(t);Object.defineProperty(i,e,{configurable:true,enumerable:true,value:r});return r}})}defineCurve(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:n.sha256,gRed:false,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]});defineCurve(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:n.sha256,gRed:false,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]});defineCurve(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:n.sha256,gRed:false,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]});defineCurve(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f \"+\"5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 \"+\"f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:n.sha384,gRed:false,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 \"+\"5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 \"+\"0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]});defineCurve(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b \"+\"99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd \"+\"3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 \"+\"f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:n.sha512,gRed:false,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 \"+\"053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 \"+\"a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 \"+\"579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 \"+\"3fad0761 353c7086 a272c240 88be9476 9fd16650\"]});defineCurve(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:n.sha256,gRed:false,g:[\"9\"]});defineCurve(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:n.sha256,gRed:false,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var h;try{h=r(9702)}catch(e){h=undefined}defineCurve(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:n.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:false,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",h]})},4088:function(e,t,r){\"use strict\";var i=r(711);var n=r(4910);var a=r(4401);var s=r(6226);var o=r(3500);var h=a.assert;var u=r(4724);var d=r(7526);function EC(e){if(!(this instanceof EC))return new EC(e);if(typeof e===\"string\"){h(s.hasOwnProperty(e),\"Unknown curve \"+e);e=s[e]}if(e instanceof s.PresetCurve)e={curve:e};this.curve=e.curve.curve;this.n=this.curve.n;this.nh=this.n.ushrn(1);this.g=this.curve.g;this.g=e.curve.g;this.g.precompute(e.curve.n.bitLength()+1);this.hash=e.hash||e.curve.hash}e.exports=EC;EC.prototype.keyPair=function keyPair(e){return new u(this,e)};EC.prototype.keyFromPrivate=function keyFromPrivate(e,t){return u.fromPrivate(this,e,t)};EC.prototype.keyFromPublic=function keyFromPublic(e,t){return u.fromPublic(this,e,t)};EC.prototype.genKeyPair=function genKeyPair(e){if(!e)e={};var t=new n({hash:this.hash,pers:e.pers,persEnc:e.persEnc||\"utf8\",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||\"utf8\",nonce:this.n.toArray()});var r=this.n.byteLength();var a=this.n.sub(new i(2));do{var s=new i(t.generate(r));if(s.cmp(a)>0)continue;s.iaddn(1);return this.keyFromPrivate(s)}while(true)};EC.prototype._truncateToN=function truncateToN(e,t){var r=e.byteLength()*8-this.n.bitLength();if(r>0)e=e.ushrn(r);if(!t&&e.cmp(this.n)>=0)return e.sub(this.n);else return e};EC.prototype.sign=function sign(e,t,r,a){if(typeof r===\"object\"){a=r;r=null}if(!a)a={};t=this.keyFromPrivate(t,r);e=this._truncateToN(new i(e,16));var s=this.n.byteLength();var o=t.getPrivate().toArray(\"be\",s);var h=e.toArray(\"be\",s);var u=new n({hash:this.hash,entropy:o,nonce:h,pers:a.pers,persEnc:a.persEnc||\"utf8\"});var c=this.n.sub(new i(1));for(var l=0;true;l++){var p=a.k?a.k(l):new i(u.generate(this.n.byteLength()));p=this._truncateToN(p,true);if(p.cmpn(1)<=0||p.cmp(c)>=0)continue;var v=this.g.mul(p);if(v.isInfinity())continue;var b=v.getX();var m=b.umod(this.n);if(m.cmpn(0)===0)continue;var y=p.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));y=y.umod(this.n);if(y.cmpn(0)===0)continue;var g=(v.getY().isOdd()?1:0)|(b.cmp(m)!==0?2:0);if(a.canonical&&y.cmp(this.nh)>0){y=this.n.sub(y);g^=1}return new d({r:m,s:y,recoveryParam:g})}};EC.prototype.verify=function verify(e,t,r,n){e=this._truncateToN(new i(e,16));r=this.keyFromPublic(r,n);t=new d(t,\"hex\");var a=t.r;var s=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return false;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return false;var o=s.invm(this.n);var h=o.mul(e).umod(this.n);var u=o.mul(a).umod(this.n);if(!this.curve._maxwellTrick){var c=this.g.mulAdd(h,r.getPublic(),u);if(c.isInfinity())return false;return c.getX().umod(this.n).cmp(a)===0}var c=this.g.jmulAdd(h,r.getPublic(),u);if(c.isInfinity())return false;return c.eqXToP(a)};EC.prototype.recoverPubKey=function(e,t,r,n){h((3&r)===r,\"The recovery param is more than two bits\");t=new d(t,n);var a=this.n;var s=new i(e);var o=t.r;var u=t.s;var c=r&1;var l=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error(\"Unable to find sencond key candinate\");if(l)o=this.curve.pointFromX(o.add(this.curve.n),c);else o=this.curve.pointFromX(o,c);var p=t.r.invm(a);var v=a.sub(s).mul(p).umod(a);var b=u.mul(p).umod(a);return this.g.mulAdd(v,o,b)};EC.prototype.getKeyRecoveryParam=function(e,t,r,i){t=new d(t,i);if(t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(e,t,n)}catch(e){continue}if(a.eq(r))return n}throw new Error(\"Unable to find valid recovery factor\")}},4724:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.assert;function KeyPair(e,t){this.ec=e;this.priv=null;this.pub=null;if(t.priv)this._importPrivate(t.priv,t.privEnc);if(t.pub)this._importPublic(t.pub,t.pubEnc)}e.exports=KeyPair;KeyPair.fromPublic=function fromPublic(e,t,r){if(t instanceof KeyPair)return t;return new KeyPair(e,{pub:t,pubEnc:r})};KeyPair.fromPrivate=function fromPrivate(e,t,r){if(t instanceof KeyPair)return t;return new KeyPair(e,{priv:t,privEnc:r})};KeyPair.prototype.validate=function validate(){var e=this.getPublic();if(e.isInfinity())return{result:false,reason:\"Invalid public key\"};if(!e.validate())return{result:false,reason:\"Public key is not a point\"};if(!e.mul(this.ec.curve.n).isInfinity())return{result:false,reason:\"Public key * N != O\"};return{result:true,reason:null}};KeyPair.prototype.getPublic=function getPublic(e,t){if(typeof e===\"string\"){t=e;e=null}if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!t)return this.pub;return this.pub.encode(t,e)};KeyPair.prototype.getPrivate=function getPrivate(e){if(e===\"hex\")return this.priv.toString(16,2);else return this.priv};KeyPair.prototype._importPrivate=function _importPrivate(e,t){this.priv=new i(e,t||16);this.priv=this.priv.umod(this.ec.curve.n)};KeyPair.prototype._importPublic=function _importPublic(e,t){if(e.x||e.y){if(this.ec.curve.type===\"mont\"){a(e.x,\"Need x coordinate\")}else if(this.ec.curve.type===\"short\"||this.ec.curve.type===\"edwards\"){a(e.x&&e.y,\"Need both x and y coordinate\")}this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)};KeyPair.prototype.derive=function derive(e){return e.mul(this.priv).getX()};KeyPair.prototype.sign=function sign(e,t,r){return this.ec.sign(e,this,t,r)};KeyPair.prototype.verify=function verify(e,t){return this.ec.verify(e,t,this)};KeyPair.prototype.inspect=function inspect(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}},7526:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.assert;function Signature(e,t){if(e instanceof Signature)return e;if(this._importDER(e,t))return;a(e.r&&e.s,\"Signature without r or s\");this.r=new i(e.r,16);this.s=new i(e.s,16);if(e.recoveryParam===undefined)this.recoveryParam=null;else this.recoveryParam=e.recoveryParam}e.exports=Signature;function Position(){this.place=0}function getLength(e,t){var r=e[t.place++];if(!(r&128)){return r}var i=r&15;if(i===0||i>4){return false}var n=0;for(var a=0,s=t.place;a<i;a++,s++){n<<=8;n|=e[s];n>>>=0}if(n<=127){return false}t.place=s;return n}function rmPadding(e){var t=0;var r=e.length-1;while(!e[t]&&!(e[t+1]&128)&&t<r){t++}if(t===0){return e}return e.slice(t)}Signature.prototype._importDER=function _importDER(e,t){e=n.toArray(e,t);var r=new Position;if(e[r.place++]!==48){return false}var a=getLength(e,r);if(a===false){return false}if(a+r.place!==e.length){return false}if(e[r.place++]!==2){return false}var s=getLength(e,r);if(s===false){return false}var o=e.slice(r.place,s+r.place);r.place+=s;if(e[r.place++]!==2){return false}var h=getLength(e,r);if(h===false){return false}if(e.length!==h+r.place){return false}var u=e.slice(r.place,h+r.place);if(o[0]===0){if(o[1]&128){o=o.slice(1)}else{return false}}if(u[0]===0){if(u[1]&128){u=u.slice(1)}else{return false}}this.r=new i(o);this.s=new i(u);this.recoveryParam=null;return true};function constructLength(e,t){if(t<128){e.push(t);return}var r=1+(Math.log(t)/Math.LN2>>>3);e.push(r|128);while(--r){e.push(t>>>(r<<3)&255)}e.push(t)}Signature.prototype.toDER=function toDER(e){var t=this.r.toArray();var r=this.s.toArray();if(t[0]&128)t=[0].concat(t);if(r[0]&128)r=[0].concat(r);t=rmPadding(t);r=rmPadding(r);while(!r[0]&&!(r[1]&128)){r=r.slice(1)}var i=[2];constructLength(i,t.length);i=i.concat(t);i.push(2);constructLength(i,r.length);var a=i.concat(r);var s=[48];constructLength(s,a.length);s=s.concat(a);return n.encode(s,e)}},8511:function(e,t,r){\"use strict\";var i=r(7028);var n=r(6226);var a=r(4401);var s=a.assert;var o=a.parseBytes;var h=r(9917);var u=r(9314);function EDDSA(e){s(e===\"ed25519\",\"only tested with ed25519 so far\");if(!(this instanceof EDDSA))return new EDDSA(e);var e=n[e].curve;this.curve=e;this.g=e.g;this.g.precompute(e.n.bitLength()+1);this.pointClass=e.point().constructor;this.encodingLength=Math.ceil(e.n.bitLength()/8);this.hash=i.sha512}e.exports=EDDSA;EDDSA.prototype.sign=function sign(e,t){e=o(e);var r=this.keyFromSecret(t);var i=this.hashInt(r.messagePrefix(),e);var n=this.g.mul(i);var a=this.encodePoint(n);var s=this.hashInt(a,r.pubBytes(),e).mul(r.priv());var h=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:a})};EDDSA.prototype.verify=function verify(e,t,r){e=o(e);t=this.makeSignature(t);var i=this.keyFromPublic(r);var n=this.hashInt(t.Rencoded(),i.pubBytes(),e);var a=this.g.mul(t.S());var s=t.R().add(i.pub().mul(n));return s.eq(a)};EDDSA.prototype.hashInt=function hashInt(){var e=this.hash();for(var t=0;t<arguments.length;t++)e.update(arguments[t]);return a.intFromLE(e.digest()).umod(this.curve.n)};EDDSA.prototype.keyFromPublic=function keyFromPublic(e){return h.fromPublic(this,e)};EDDSA.prototype.keyFromSecret=function keyFromSecret(e){return h.fromSecret(this,e)};EDDSA.prototype.makeSignature=function makeSignature(e){if(e instanceof u)return e;return new u(this,e)};EDDSA.prototype.encodePoint=function encodePoint(e){var t=e.getY().toArray(\"le\",this.encodingLength);t[this.encodingLength-1]|=e.getX().isOdd()?128:0;return t};EDDSA.prototype.decodePoint=function decodePoint(e){e=a.parseBytes(e);var t=e.length-1;var r=e.slice(0,t).concat(e[t]&~128);var i=(e[t]&128)!==0;var n=a.intFromLE(r);return this.curve.pointFromY(n,i)};EDDSA.prototype.encodeInt=function encodeInt(e){return e.toArray(\"le\",this.encodingLength)};EDDSA.prototype.decodeInt=function decodeInt(e){return a.intFromLE(e)};EDDSA.prototype.isPoint=function isPoint(e){return e instanceof this.pointClass}},9917:function(e,t,r){\"use strict\";var i=r(4401);var n=i.assert;var a=i.parseBytes;var s=i.cachedProperty;function KeyPair(e,t){this.eddsa=e;this._secret=a(t.secret);if(e.isPoint(t.pub))this._pub=t.pub;else this._pubBytes=a(t.pub)}KeyPair.fromPublic=function fromPublic(e,t){if(t instanceof KeyPair)return t;return new KeyPair(e,{pub:t})};KeyPair.fromSecret=function fromSecret(e,t){if(t instanceof KeyPair)return t;return new KeyPair(e,{secret:t})};KeyPair.prototype.secret=function secret(){return this._secret};s(KeyPair,\"pubBytes\",(function pubBytes(){return this.eddsa.encodePoint(this.pub())}));s(KeyPair,\"pub\",(function pub(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())}));s(KeyPair,\"privBytes\",(function privBytes(){var e=this.eddsa;var t=this.hash();var r=e.encodingLength-1;var i=t.slice(0,e.encodingLength);i[0]&=248;i[r]&=127;i[r]|=64;return i}));s(KeyPair,\"priv\",(function priv(){return this.eddsa.decodeInt(this.privBytes())}));s(KeyPair,\"hash\",(function hash(){return this.eddsa.hash().update(this.secret()).digest()}));s(KeyPair,\"messagePrefix\",(function messagePrefix(){return this.hash().slice(this.eddsa.encodingLength)}));KeyPair.prototype.sign=function sign(e){n(this._secret,\"KeyPair can only verify\");return this.eddsa.sign(e,this)};KeyPair.prototype.verify=function verify(e,t){return this.eddsa.verify(e,t,this)};KeyPair.prototype.getSecret=function getSecret(e){n(this._secret,\"KeyPair is public only\");return i.encode(this.secret(),e)};KeyPair.prototype.getPublic=function getPublic(e){return i.encode(this.pubBytes(),e)};e.exports=KeyPair},9314:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.assert;var s=n.cachedProperty;var o=n.parseBytes;function Signature(e,t){this.eddsa=e;if(typeof t!==\"object\")t=o(t);if(Array.isArray(t)){t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}}a(t.R&&t.S,\"Signature without R or S\");if(e.isPoint(t.R))this._R=t.R;if(t.S instanceof i)this._S=t.S;this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded;this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(Signature,\"S\",(function S(){return this.eddsa.decodeInt(this.Sencoded())}));s(Signature,\"R\",(function R(){return this.eddsa.decodePoint(this.Rencoded())}));s(Signature,\"Rencoded\",(function Rencoded(){return this.eddsa.encodePoint(this.R())}));s(Signature,\"Sencoded\",(function Sencoded(){return this.eddsa.encodeInt(this.S())}));Signature.prototype.toBytes=function toBytes(){return this.Rencoded().concat(this.Sencoded())};Signature.prototype.toHex=function toHex(){return n.encode(this.toBytes(),\"hex\").toUpperCase()};e.exports=Signature},9702:function(e){e.exports={doubles:{step:4,points:[[\"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"],[\"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"],[\"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"],[\"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"],[\"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"],[\"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"],[\"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"],[\"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"],[\"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"],[\"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"],[\"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"],[\"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"],[\"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"],[\"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"],[\"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"],[\"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"],[\"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"],[\"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"],[\"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"],[\"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"],[\"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"],[\"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"],[\"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"],[\"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"],[\"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"],[\"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"],[\"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"],[\"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"],[\"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"],[\"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"],[\"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"],[\"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"],[\"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"],[\"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"],[\"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"],[\"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"],[\"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"],[\"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"],[\"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"],[\"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"],[\"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"],[\"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"],[\"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"],[\"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"],[\"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"],[\"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"],[\"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"],[\"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"],[\"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"],[\"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"],[\"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"],[\"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"],[\"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"],[\"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"],[\"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"],[\"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"],[\"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"],[\"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"],[\"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"],[\"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"],[\"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"],[\"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"],[\"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"],[\"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"],[\"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"]]},naf:{wnd:7,points:[[\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"],[\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"],[\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"],[\"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"],[\"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"],[\"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"],[\"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"],[\"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"],[\"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"],[\"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"],[\"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"],[\"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"],[\"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"],[\"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"],[\"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"],[\"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"],[\"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"],[\"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"],[\"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"],[\"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"],[\"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"],[\"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"],[\"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"],[\"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"],[\"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"],[\"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"],[\"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"],[\"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"],[\"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"],[\"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"],[\"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"],[\"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"],[\"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"],[\"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"],[\"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"],[\"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"],[\"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"],[\"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"],[\"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"],[\"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"],[\"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"],[\"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"],[\"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"],[\"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"],[\"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"],[\"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"],[\"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"],[\"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"],[\"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"],[\"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"],[\"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"],[\"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"],[\"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"],[\"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"],[\"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"],[\"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"],[\"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"],[\"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"],[\"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"],[\"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"],[\"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"],[\"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"],[\"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"],[\"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"],[\"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"],[\"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"],[\"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"],[\"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"],[\"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"],[\"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"],[\"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"],[\"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"],[\"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"],[\"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"],[\"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"],[\"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"],[\"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"],[\"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"],[\"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"],[\"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"],[\"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"],[\"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"],[\"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"],[\"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"],[\"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"],[\"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"],[\"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"],[\"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"],[\"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"],[\"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"],[\"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"],[\"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"],[\"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"],[\"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"],[\"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"],[\"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"],[\"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"],[\"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"],[\"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"],[\"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"],[\"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"],[\"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"],[\"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"],[\"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"],[\"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"],[\"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"],[\"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"],[\"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"],[\"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"],[\"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"],[\"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"],[\"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"],[\"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"],[\"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"],[\"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"],[\"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"],[\"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"],[\"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"],[\"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"],[\"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"],[\"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"],[\"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"],[\"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"],[\"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"],[\"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"],[\"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"],[\"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"]]}}},4401:function(e,t,r){\"use strict\";var i=t;var n=r(711);var a=r(3523);var s=r(6545);i.assert=a;i.toArray=s.toArray;i.zero2=s.zero2;i.toHex=s.toHex;i.encode=s.encode;function getNAF(e,t,r){var i=new Array(Math.max(e.bitLength(),r)+1);i.fill(0);var n=1<<t+1;var a=e.clone();for(var s=0;s<i.length;s++){var o;var h=a.andln(n-1);if(a.isOdd()){if(h>(n>>1)-1)o=(n>>1)-h;else o=h;a.isubn(o)}else{o=0}i[s]=o;a.iushrn(1)}return i}i.getNAF=getNAF;function getJSF(e,t){var r=[[],[]];e=e.clone();t=t.clone();var i=0;var n=0;while(e.cmpn(-i)>0||t.cmpn(-n)>0){var a=e.andln(3)+i&3;var s=t.andln(3)+n&3;if(a===3)a=-1;if(s===3)s=-1;var o;if((a&1)===0){o=0}else{var h=e.andln(7)+i&7;if((h===3||h===5)&&s===2)o=-a;else o=a}r[0].push(o);var u;if((s&1)===0){u=0}else{var h=t.andln(7)+n&7;if((h===3||h===5)&&a===2)u=-s;else u=s}r[1].push(u);if(2*i===o+1)i=1-i;if(2*n===u+1)n=1-n;e.iushrn(1);t.iushrn(1)}return r}i.getJSF=getJSF;function cachedProperty(e,t,r){var i=\"_\"+t;e.prototype[t]=function cachedProperty(){return this[i]!==undefined?this[i]:this[i]=r.call(this)}}i.cachedProperty=cachedProperty;function parseBytes(e){return typeof e===\"string\"?i.toArray(e,\"hex\"):e}i.parseBytes=parseBytes;function intFromLE(e){return new n(e,\"hex\",\"le\")}i.intFromLE=intFromLE},8368:function(e,t,r){var i=r(6911).Buffer;var n=r(3533);function EVP_BytesToKey(e,t,r,a){if(!i.isBuffer(e))e=i.from(e,\"binary\");if(t){if(!i.isBuffer(t))t=i.from(t,\"binary\");if(t.length!==8)throw new RangeError(\"salt should be Buffer with 8 byte length\")}var s=r/8;var o=i.alloc(s);var h=i.alloc(a||0);var u=i.alloc(0);while(s>0||a>0){var d=new n;d.update(u);d.update(e);if(t)d.update(t);u=d.digest();var c=0;if(s>0){var l=o.length-s;c=Math.min(s,u.length);u.copy(o,l,0,c);s-=c}if(c<u.length&&a>0){var p=h.length-a;var v=Math.min(a,u.length-c);u.copy(h,p,c,c+v);a-=v}}u.fill(0);return{key:o,iv:h}}e.exports=EVP_BytesToKey},9029:function(e,t,r){\"use strict\";var i=r(6911).Buffer;var n=r(3726).Transform;var a=r(3782);function throwIfNotStringOrBuffer(e,t){if(!i.isBuffer(e)&&typeof e!==\"string\"){throw new TypeError(t+\" must be a string or a buffer\")}}function HashBase(e){n.call(this);this._block=i.allocUnsafe(e);this._blockSize=e;this._blockOffset=0;this._length=[0,0,0,0];this._finalized=false}a(HashBase,n);HashBase.prototype._transform=function(e,t,r){var i=null;try{this.update(e,t)}catch(e){i=e}r(i)};HashBase.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)};HashBase.prototype.update=function(e,t){throwIfNotStringOrBuffer(e,\"Data\");if(this._finalized)throw new Error(\"Digest already called\");if(!i.isBuffer(e))e=i.from(e,t);var r=this._block;var n=0;while(this._blockOffset+e.length-n>=this._blockSize){for(var a=this._blockOffset;a<this._blockSize;)r[a++]=e[n++];this._update();this._blockOffset=0}while(n<e.length)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s){this._length[s]+=o;o=this._length[s]/4294967296|0;if(o>0)this._length[s]-=4294967296*o}return this};HashBase.prototype._update=function(){throw new Error(\"_update is not implemented\")};HashBase.prototype.digest=function(e){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=true;var t=this._digest();if(e!==undefined)t=t.toString(e);this._block.fill(0);this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};HashBase.prototype._digest=function(){throw new Error(\"_digest is not implemented\")};e.exports=HashBase},7028:function(e,t,r){var i=t;i.utils=r(263);i.common=r(1330);i.sha=r(301);i.ripemd=r(3079);i.hmac=r(3092);i.sha1=i.sha.sha1;i.sha256=i.sha.sha256;i.sha224=i.sha.sha224;i.sha384=i.sha.sha384;i.sha512=i.sha.sha512;i.ripemd160=i.ripemd.ripemd160},1330:function(e,t,r){\"use strict\";var i=r(263);var n=r(3523);function BlockHash(){this.pending=null;this.pendingTotal=0;this.blockSize=this.constructor.blockSize;this.outSize=this.constructor.outSize;this.hmacStrength=this.constructor.hmacStrength;this.padLength=this.constructor.padLength/8;this.endian=\"big\";this._delta8=this.blockSize/8;this._delta32=this.blockSize/32}t.BlockHash=BlockHash;BlockHash.prototype.update=function update(e,t){e=i.toArray(e,t);if(!this.pending)this.pending=e;else this.pending=this.pending.concat(e);this.pendingTotal+=e.length;if(this.pending.length>=this._delta8){e=this.pending;var r=e.length%this._delta8;this.pending=e.slice(e.length-r,e.length);if(this.pending.length===0)this.pending=null;e=i.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this};BlockHash.prototype.digest=function digest(e){this.update(this._pad());n(this.pending===null);return this._digest(e)};BlockHash.prototype._pad=function pad(){var e=this.pendingTotal;var t=this._delta8;var r=t-(e+this.padLength)%t;var i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;e<<=3;if(this.endian===\"big\"){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=e>>>24&255;i[n++]=e>>>16&255;i[n++]=e>>>8&255;i[n++]=e&255}else{i[n++]=e&255;i[n++]=e>>>8&255;i[n++]=e>>>16&255;i[n++]=e>>>24&255;i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=0;for(a=8;a<this.padLength;a++)i[n++]=0}return i}},3092:function(e,t,r){\"use strict\";var i=r(263);var n=r(3523);function Hmac(e,t,r){if(!(this instanceof Hmac))return new Hmac(e,t,r);this.Hash=e;this.blockSize=e.blockSize/8;this.outSize=e.outSize/8;this.inner=null;this.outer=null;this._init(i.toArray(t,r))}e.exports=Hmac;Hmac.prototype._init=function init(e){if(e.length>this.blockSize)e=(new this.Hash).update(e).digest();n(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;this.inner=(new this.Hash).update(e);for(t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)};Hmac.prototype.update=function update(e,t){this.inner.update(e,t);return this};Hmac.prototype.digest=function digest(e){this.outer.update(this.inner.digest());return this.outer.digest(e)}},3079:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=i.rotl32;var s=i.sum32;var o=i.sum32_3;var h=i.sum32_4;var u=n.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;u.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.endian=\"little\"}i.inherits(RIPEMD160,u);t.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function update(e,t){var r=this.h[0];var i=this.h[1];var n=this.h[2];var u=this.h[3];var v=this.h[4];var b=r;var m=i;var y=n;var g=u;var _=v;for(var w=0;w<80;w++){var M=s(a(h(r,f(w,i,n,u),e[d[w]+t],K(w)),l[w]),v);r=v;v=u;u=a(n,10);n=i;i=M;M=s(a(h(b,f(79-w,m,y,g),e[c[w]+t],Kh(w)),p[w]),_);b=_;_=g;g=a(y,10);y=m;m=M}M=o(this.h[1],n,g);this.h[1]=o(this.h[2],u,_);this.h[2]=o(this.h[3],v,b);this.h[3]=o(this.h[4],r,m);this.h[4]=o(this.h[0],i,y);this.h[0]=M};RIPEMD160.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"little\");else return i.split32(this.h,\"little\")};function f(e,t,r,i){if(e<=15)return t^r^i;else if(e<=31)return t&r|~t&i;else if(e<=47)return(t|~r)^i;else if(e<=63)return t&i|r&~i;else return t^(r|~i)}function K(e){if(e<=15)return 0;else if(e<=31)return 1518500249;else if(e<=47)return 1859775393;else if(e<=63)return 2400959708;else return 2840853838}function Kh(e){if(e<=15)return 1352829926;else if(e<=31)return 1548603684;else if(e<=47)return 1836072691;else if(e<=63)return 2053994217;else return 0}var d=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var p=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},301:function(e,t,r){\"use strict\";t.sha1=r(2742);t.sha224=r(7105);t.sha256=r(1525);t.sha384=r(9948);t.sha512=r(1319)},2742:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=r(2975);var s=i.rotl32;var o=i.sum32;var h=i.sum32_5;var u=a.ft_1;var d=n.BlockHash;var c=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;d.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.W=new Array(80)}i.inherits(SHA1,d);e.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function _update(e,t){var r=this.W;for(var i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=s(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0];var a=this.h[1];var d=this.h[2];var l=this.h[3];var p=this.h[4];for(i=0;i<r.length;i++){var v=~~(i/20);var b=h(s(n,5),u(v,a,d,l),p,r[i],c[v]);p=l;l=d;d=s(a,30);a=n;n=b}this.h[0]=o(this.h[0],n);this.h[1]=o(this.h[1],a);this.h[2]=o(this.h[2],d);this.h[3]=o(this.h[3],l);this.h[4]=o(this.h[4],p)};SHA1.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"big\");else return i.split32(this.h,\"big\")}},7105:function(e,t,r){\"use strict\";var i=r(263);var n=r(1525);function SHA224(){if(!(this instanceof SHA224))return new SHA224;n.call(this);this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(SHA224,n);e.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h.slice(0,7),\"big\");else return i.split32(this.h.slice(0,7),\"big\")}},1525:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=r(2975);var s=r(3523);var o=i.sum32;var h=i.sum32_4;var u=i.sum32_5;var d=a.ch32;var c=a.maj32;var l=a.s0_256;var p=a.s1_256;var v=a.g0_256;var b=a.g1_256;var m=n.BlockHash;var y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;m.call(this);this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];this.k=y;this.W=new Array(64)}i.inherits(SHA256,m);e.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function _update(e,t){var r=this.W;for(var i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=h(b(r[i-2]),r[i-7],v(r[i-15]),r[i-16]);var n=this.h[0];var a=this.h[1];var m=this.h[2];var y=this.h[3];var g=this.h[4];var _=this.h[5];var w=this.h[6];var M=this.h[7];s(this.k.length===r.length);for(i=0;i<r.length;i++){var B=u(M,p(g),d(g,_,w),this.k[i],r[i]);var E=o(l(n),c(n,a,m));M=w;w=_;_=g;g=o(y,B);y=m;m=a;a=n;n=o(B,E)}this.h[0]=o(this.h[0],n);this.h[1]=o(this.h[1],a);this.h[2]=o(this.h[2],m);this.h[3]=o(this.h[3],y);this.h[4]=o(this.h[4],g);this.h[5]=o(this.h[5],_);this.h[6]=o(this.h[6],w);this.h[7]=o(this.h[7],M)};SHA256.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"big\");else return i.split32(this.h,\"big\")}},9948:function(e,t,r){\"use strict\";var i=r(263);var n=r(1319);function SHA384(){if(!(this instanceof SHA384))return new SHA384;n.call(this);this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(SHA384,n);e.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h.slice(0,12),\"big\");else return i.split32(this.h.slice(0,12),\"big\")}},1319:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=r(3523);var s=i.rotr64_hi;var o=i.rotr64_lo;var h=i.shr64_hi;var u=i.shr64_lo;var d=i.sum64;var c=i.sum64_hi;var l=i.sum64_lo;var p=i.sum64_4_hi;var v=i.sum64_4_lo;var b=i.sum64_5_hi;var m=i.sum64_5_lo;var y=n.BlockHash;var g=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;y.call(this);this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209];this.k=g;this.W=new Array(160)}i.inherits(SHA512,y);e.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function _prepareBlock(e,t){var r=this.W;for(var i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=g1_512_hi(r[i-4],r[i-3]);var a=g1_512_lo(r[i-4],r[i-3]);var s=r[i-14];var o=r[i-13];var h=g0_512_hi(r[i-30],r[i-29]);var u=g0_512_lo(r[i-30],r[i-29]);var d=r[i-32];var c=r[i-31];r[i]=p(n,a,s,o,h,u,d,c);r[i+1]=v(n,a,s,o,h,u,d,c)}};SHA512.prototype._update=function _update(e,t){this._prepareBlock(e,t);var r=this.W;var i=this.h[0];var n=this.h[1];var s=this.h[2];var o=this.h[3];var h=this.h[4];var u=this.h[5];var p=this.h[6];var v=this.h[7];var y=this.h[8];var g=this.h[9];var _=this.h[10];var w=this.h[11];var M=this.h[12];var B=this.h[13];var E=this.h[14];var k=this.h[15];a(this.k.length===r.length);for(var A=0;A<r.length;A+=2){var N=E;var P=k;var x=s1_512_hi(y,g);var I=s1_512_lo(y,g);var C=ch64_hi(y,g,_,w,M,B);var D=ch64_lo(y,g,_,w,M,B);var T=this.k[A];var j=this.k[A+1];var q=r[A];var O=r[A+1];var H=b(N,P,x,I,C,D,T,j,q,O);var L=m(N,P,x,I,C,D,T,j,q,O);N=s0_512_hi(i,n);P=s0_512_lo(i,n);x=maj64_hi(i,n,s,o,h,u);I=maj64_lo(i,n,s,o,h,u);var z=c(N,P,x,I);var F=l(N,P,x,I);E=M;k=B;M=_;B=w;_=y;w=g;y=c(p,v,H,L);g=l(v,v,H,L);p=h;v=u;h=s;u=o;s=i;o=n;i=c(H,L,z,F);n=l(H,L,z,F)}d(this.h,0,i,n);d(this.h,2,s,o);d(this.h,4,h,u);d(this.h,6,p,v);d(this.h,8,y,g);d(this.h,10,_,w);d(this.h,12,M,B);d(this.h,14,E,k)};SHA512.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"big\");else return i.split32(this.h,\"big\")};function ch64_hi(e,t,r,i,n){var a=e&r^~e&n;if(a<0)a+=4294967296;return a}function ch64_lo(e,t,r,i,n,a){var s=t&i^~t&a;if(s<0)s+=4294967296;return s}function maj64_hi(e,t,r,i,n){var a=e&r^e&n^r&n;if(a<0)a+=4294967296;return a}function maj64_lo(e,t,r,i,n,a){var s=t&i^t&a^i&a;if(s<0)s+=4294967296;return s}function s0_512_hi(e,t){var r=s(e,t,28);var i=s(t,e,2);var n=s(t,e,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function s0_512_lo(e,t){var r=o(e,t,28);var i=o(t,e,2);var n=o(t,e,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function s1_512_hi(e,t){var r=s(e,t,14);var i=s(e,t,18);var n=s(t,e,9);var a=r^i^n;if(a<0)a+=4294967296;return a}function s1_512_lo(e,t){var r=o(e,t,14);var i=o(e,t,18);var n=o(t,e,9);var a=r^i^n;if(a<0)a+=4294967296;return a}function g0_512_hi(e,t){var r=s(e,t,1);var i=s(e,t,8);var n=h(e,t,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function g0_512_lo(e,t){var r=o(e,t,1);var i=o(e,t,8);var n=u(e,t,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function g1_512_hi(e,t){var r=s(e,t,19);var i=s(t,e,29);var n=h(e,t,6);var a=r^i^n;if(a<0)a+=4294967296;return a}function g1_512_lo(e,t){var r=o(e,t,19);var i=o(t,e,29);var n=u(e,t,6);var a=r^i^n;if(a<0)a+=4294967296;return a}},2975:function(e,t,r){\"use strict\";var i=r(263);var n=i.rotr32;function ft_1(e,t,r,i){if(e===0)return ch32(t,r,i);if(e===1||e===3)return p32(t,r,i);if(e===2)return maj32(t,r,i)}t.ft_1=ft_1;function ch32(e,t,r){return e&t^~e&r}t.ch32=ch32;function maj32(e,t,r){return e&t^e&r^t&r}t.maj32=maj32;function p32(e,t,r){return e^t^r}t.p32=p32;function s0_256(e){return n(e,2)^n(e,13)^n(e,22)}t.s0_256=s0_256;function s1_256(e){return n(e,6)^n(e,11)^n(e,25)}t.s1_256=s1_256;function g0_256(e){return n(e,7)^n(e,18)^e>>>3}t.g0_256=g0_256;function g1_256(e){return n(e,17)^n(e,19)^e>>>10}t.g1_256=g1_256},263:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);t.inherits=n;function isSurrogatePair(e,t){if((e.charCodeAt(t)&64512)!==55296){return false}if(t<0||t+1>=e.length){return false}return(e.charCodeAt(t+1)&64512)===56320}function toArray(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e===\"string\"){if(!t){var i=0;for(var n=0;n<e.length;n++){var a=e.charCodeAt(n);if(a<128){r[i++]=a}else if(a<2048){r[i++]=a>>6|192;r[i++]=a&63|128}else if(isSurrogatePair(e,n)){a=65536+((a&1023)<<10)+(e.charCodeAt(++n)&1023);r[i++]=a>>18|240;r[i++]=a>>12&63|128;r[i++]=a>>6&63|128;r[i++]=a&63|128}else{r[i++]=a>>12|224;r[i++]=a>>6&63|128;r[i++]=a&63|128}}}else if(t===\"hex\"){e=e.replace(/[^a-z0-9]+/gi,\"\");if(e.length%2!==0)e=\"0\"+e;for(n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}}else{for(n=0;n<e.length;n++)r[n]=e[n]|0}return r}t.toArray=toArray;function toHex(e){var t=\"\";for(var r=0;r<e.length;r++)t+=zero2(e[r].toString(16));return t}t.toHex=toHex;function htonl(e){var t=e>>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24;return t>>>0}t.htonl=htonl;function toHex32(e,t){var r=\"\";for(var i=0;i<e.length;i++){var n=e[i];if(t===\"little\")n=htonl(n);r+=zero8(n.toString(16))}return r}t.toHex32=toHex32;function zero2(e){if(e.length===1)return\"0\"+e;else return e}t.zero2=zero2;function zero8(e){if(e.length===7)return\"0\"+e;else if(e.length===6)return\"00\"+e;else if(e.length===5)return\"000\"+e;else if(e.length===4)return\"0000\"+e;else if(e.length===3)return\"00000\"+e;else if(e.length===2)return\"000000\"+e;else if(e.length===1)return\"0000000\"+e;else return e}t.zero8=zero8;function join32(e,t,r,n){var a=r-t;i(a%4===0);var s=new Array(a/4);for(var o=0,h=t;o<s.length;o++,h+=4){var u;if(n===\"big\")u=e[h]<<24|e[h+1]<<16|e[h+2]<<8|e[h+3];else u=e[h+3]<<24|e[h+2]<<16|e[h+1]<<8|e[h];s[o]=u>>>0}return s}t.join32=join32;function split32(e,t){var r=new Array(e.length*4);for(var i=0,n=0;i<e.length;i++,n+=4){var a=e[i];if(t===\"big\"){r[n]=a>>>24;r[n+1]=a>>>16&255;r[n+2]=a>>>8&255;r[n+3]=a&255}else{r[n+3]=a>>>24;r[n+2]=a>>>16&255;r[n+1]=a>>>8&255;r[n]=a&255}}return r}t.split32=split32;function rotr32(e,t){return e>>>t|e<<32-t}t.rotr32=rotr32;function rotl32(e,t){return e<<t|e>>>32-t}t.rotl32=rotl32;function sum32(e,t){return e+t>>>0}t.sum32=sum32;function sum32_3(e,t,r){return e+t+r>>>0}t.sum32_3=sum32_3;function sum32_4(e,t,r,i){return e+t+r+i>>>0}t.sum32_4=sum32_4;function sum32_5(e,t,r,i,n){return e+t+r+i+n>>>0}t.sum32_5=sum32_5;function sum64(e,t,r,i){var n=e[t];var a=e[t+1];var s=i+a>>>0;var o=(s<i?1:0)+r+n;e[t]=o>>>0;e[t+1]=s}t.sum64=sum64;function sum64_hi(e,t,r,i){var n=t+i>>>0;var a=(n<t?1:0)+e+r;return a>>>0}t.sum64_hi=sum64_hi;function sum64_lo(e,t,r,i){var n=t+i;return n>>>0}t.sum64_lo=sum64_lo;function sum64_4_hi(e,t,r,i,n,a,s,o){var h=0;var u=t;u=u+i>>>0;h+=u<t?1:0;u=u+a>>>0;h+=u<a?1:0;u=u+o>>>0;h+=u<o?1:0;var d=e+r+n+s+h;return d>>>0}t.sum64_4_hi=sum64_4_hi;function sum64_4_lo(e,t,r,i,n,a,s,o){var h=t+i+a+o;return h>>>0}t.sum64_4_lo=sum64_4_lo;function sum64_5_hi(e,t,r,i,n,a,s,o,h,u){var d=0;var c=t;c=c+i>>>0;d+=c<t?1:0;c=c+a>>>0;d+=c<a?1:0;c=c+o>>>0;d+=c<o?1:0;c=c+u>>>0;d+=c<u?1:0;var l=e+r+n+s+h+d;return l>>>0}t.sum64_5_hi=sum64_5_hi;function sum64_5_lo(e,t,r,i,n,a,s,o,h,u){var d=t+i+a+o+u;return d>>>0}t.sum64_5_lo=sum64_5_lo;function rotr64_hi(e,t,r){var i=t<<32-r|e>>>r;return i>>>0}t.rotr64_hi=rotr64_hi;function rotr64_lo(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}t.rotr64_lo=rotr64_lo;function shr64_hi(e,t,r){return e>>>r}t.shr64_hi=shr64_hi;function shr64_lo(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}t.shr64_lo=shr64_lo},4910:function(e,t,r){\"use strict\";var i=r(7028);var n=r(6545);var a=r(3523);function HmacDRBG(e){if(!(this instanceof HmacDRBG))return new HmacDRBG(e);this.hash=e.hash;this.predResist=!!e.predResist;this.outLen=this.hash.outSize;this.minEntropy=e.minEntropy||this.hash.hmacStrength;this._reseed=null;this.reseedInterval=null;this.K=null;this.V=null;var t=n.toArray(e.entropy,e.entropyEnc||\"hex\");var r=n.toArray(e.nonce,e.nonceEnc||\"hex\");var i=n.toArray(e.pers,e.persEnc||\"hex\");a(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\");this._init(t,r,i)}e.exports=HmacDRBG;HmacDRBG.prototype._init=function init(e,t,r){var i=e.concat(t).concat(r);this.K=new Array(this.outLen/8);this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++){this.K[n]=0;this.V[n]=1}this._update(i);this._reseed=1;this.reseedInterval=281474976710656};HmacDRBG.prototype._hmac=function hmac(){return new i.hmac(this.hash,this.K)};HmacDRBG.prototype._update=function update(e){var t=this._hmac().update(this.V).update([0]);if(e)t=t.update(e);this.K=t.digest();this.V=this._hmac().update(this.V).digest();if(!e)return;this.K=this._hmac().update(this.V).update([1]).update(e).digest();this.V=this._hmac().update(this.V).digest()};HmacDRBG.prototype.reseed=function reseed(e,t,r,i){if(typeof t!==\"string\"){i=r;r=t;t=null}e=n.toArray(e,t);r=n.toArray(r,i);a(e.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\");this._update(e.concat(r||[]));this._reseed=1};HmacDRBG.prototype.generate=function generate(e,t,r,i){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");if(typeof t!==\"string\"){i=r;r=t;t=null}if(r){r=n.toArray(r,i||\"hex\");this._update(r)}var a=[];while(a.length<e){this.V=this._hmac().update(this.V).digest();a=a.concat(this.V)}var s=a.slice(0,e);this._update(r);this._reseed++;return n.encode(s,t)}},3782:function(e){if(typeof Object.create===\"function\"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},3533:function(e,t,r){\"use strict\";var i=r(3782);var n=r(9029);var a=r(6911).Buffer;var s=new Array(16);function MD5(){n.call(this,64);this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878}i(MD5,n);MD5.prototype._update=function(){var e=s;for(var t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a;var i=this._b;var n=this._c;var a=this._d;r=fnF(r,i,n,a,e[0],3614090360,7);a=fnF(a,r,i,n,e[1],3905402710,12);n=fnF(n,a,r,i,e[2],606105819,17);i=fnF(i,n,a,r,e[3],3250441966,22);r=fnF(r,i,n,a,e[4],4118548399,7);a=fnF(a,r,i,n,e[5],1200080426,12);n=fnF(n,a,r,i,e[6],2821735955,17);i=fnF(i,n,a,r,e[7],4249261313,22);r=fnF(r,i,n,a,e[8],1770035416,7);a=fnF(a,r,i,n,e[9],2336552879,12);n=fnF(n,a,r,i,e[10],4294925233,17);i=fnF(i,n,a,r,e[11],2304563134,22);r=fnF(r,i,n,a,e[12],1804603682,7);a=fnF(a,r,i,n,e[13],4254626195,12);n=fnF(n,a,r,i,e[14],2792965006,17);i=fnF(i,n,a,r,e[15],1236535329,22);r=fnG(r,i,n,a,e[1],4129170786,5);a=fnG(a,r,i,n,e[6],3225465664,9);n=fnG(n,a,r,i,e[11],643717713,14);i=fnG(i,n,a,r,e[0],3921069994,20);r=fnG(r,i,n,a,e[5],3593408605,5);a=fnG(a,r,i,n,e[10],38016083,9);n=fnG(n,a,r,i,e[15],3634488961,14);i=fnG(i,n,a,r,e[4],3889429448,20);r=fnG(r,i,n,a,e[9],568446438,5);a=fnG(a,r,i,n,e[14],3275163606,9);n=fnG(n,a,r,i,e[3],4107603335,14);i=fnG(i,n,a,r,e[8],1163531501,20);r=fnG(r,i,n,a,e[13],2850285829,5);a=fnG(a,r,i,n,e[2],4243563512,9);n=fnG(n,a,r,i,e[7],1735328473,14);i=fnG(i,n,a,r,e[12],2368359562,20);r=fnH(r,i,n,a,e[5],4294588738,4);a=fnH(a,r,i,n,e[8],2272392833,11);n=fnH(n,a,r,i,e[11],1839030562,16);i=fnH(i,n,a,r,e[14],4259657740,23);r=fnH(r,i,n,a,e[1],2763975236,4);a=fnH(a,r,i,n,e[4],1272893353,11);n=fnH(n,a,r,i,e[7],4139469664,16);i=fnH(i,n,a,r,e[10],3200236656,23);r=fnH(r,i,n,a,e[13],681279174,4);a=fnH(a,r,i,n,e[0],3936430074,11);n=fnH(n,a,r,i,e[3],3572445317,16);i=fnH(i,n,a,r,e[6],76029189,23);r=fnH(r,i,n,a,e[9],3654602809,4);a=fnH(a,r,i,n,e[12],3873151461,11);n=fnH(n,a,r,i,e[15],530742520,16);i=fnH(i,n,a,r,e[2],3299628645,23);r=fnI(r,i,n,a,e[0],4096336452,6);a=fnI(a,r,i,n,e[7],1126891415,10);n=fnI(n,a,r,i,e[14],2878612391,15);i=fnI(i,n,a,r,e[5],4237533241,21);r=fnI(r,i,n,a,e[12],1700485571,6);a=fnI(a,r,i,n,e[3],2399980690,10);n=fnI(n,a,r,i,e[10],4293915773,15);i=fnI(i,n,a,r,e[1],2240044497,21);r=fnI(r,i,n,a,e[8],1873313359,6);a=fnI(a,r,i,n,e[15],4264355552,10);n=fnI(n,a,r,i,e[6],2734768916,15);i=fnI(i,n,a,r,e[13],1309151649,21);r=fnI(r,i,n,a,e[4],4149444226,6);a=fnI(a,r,i,n,e[11],3174756917,10);n=fnI(n,a,r,i,e[2],718787259,15);i=fnI(i,n,a,r,e[9],3951481745,21);this._a=this._a+r|0;this._b=this._b+i|0;this._c=this._c+n|0;this._d=this._d+a|0};MD5.prototype._digest=function(){this._block[this._blockOffset++]=128;if(this._blockOffset>56){this._block.fill(0,this._blockOffset,64);this._update();this._blockOffset=0}this._block.fill(0,this._blockOffset,56);this._block.writeUInt32LE(this._length[0],56);this._block.writeUInt32LE(this._length[1],60);this._update();var e=a.allocUnsafe(16);e.writeInt32LE(this._a,0);e.writeInt32LE(this._b,4);e.writeInt32LE(this._c,8);e.writeInt32LE(this._d,12);return e};function rotl(e,t){return e<<t|e>>>32-t}function fnF(e,t,r,i,n,a,s){return rotl(e+(t&r|~t&i)+n+a|0,s)+t|0}function fnG(e,t,r,i,n,a,s){return rotl(e+(t&i|r&~i)+n+a|0,s)+t|0}function fnH(e,t,r,i,n,a,s){return rotl(e+(t^r^i)+n+a|0,s)+t|0}function fnI(e,t,r,i,n,a,s){return rotl(e+(r^(t|~i))+n+a|0,s)+t|0}e.exports=MD5},1354:function(e,t,r){var i=r(711);var n=r(3500);function MillerRabin(e){this.rand=e||new n.Rand}e.exports=MillerRabin;MillerRabin.create=function create(e){return new MillerRabin(e)};MillerRabin.prototype._randbelow=function _randbelow(e){var t=e.bitLength();var r=Math.ceil(t/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(e)>=0);return n};MillerRabin.prototype._randrange=function _randrange(e,t){var r=t.sub(e);return e.add(this._randbelow(r))};MillerRabin.prototype.test=function test(e,t,r){var n=e.bitLength();var a=i.mont(e);var s=new i(1).toRed(a);if(!t)t=Math.max(1,n/48|0);var o=e.subn(1);for(var h=0;!o.testn(h);h++){}var u=e.shrn(h);var d=o.toRed(a);var c=true;for(;t>0;t--){var l=this._randrange(new i(2),o);if(r)r(l);var p=l.toRed(a).redPow(u);if(p.cmp(s)===0||p.cmp(d)===0)continue;for(var v=1;v<h;v++){p=p.redSqr();if(p.cmp(s)===0)return false;if(p.cmp(d)===0)break}if(v===h)return false}return c};MillerRabin.prototype.getDivisor=function getDivisor(e,t){var r=e.bitLength();var n=i.mont(e);var a=new i(1).toRed(n);if(!t)t=Math.max(1,r/48|0);var s=e.subn(1);for(var o=0;!s.testn(o);o++){}var h=e.shrn(o);var u=s.toRed(n);for(;t>0;t--){var d=this._randrange(new i(2),s);var c=e.gcd(d);if(c.cmpn(1)!==0)return c;var l=d.toRed(n).redPow(h);if(l.cmp(a)===0||l.cmp(u)===0)continue;for(var p=1;p<o;p++){l=l.redSqr();if(l.cmp(a)===0)return l.fromRed().subn(1).gcd(e);if(l.cmp(u)===0)break}if(p===o){l=l.redSqr();return l.fromRed().subn(1).gcd(e)}}return false}},3523:function(e){e.exports=assert;function assert(e,t){if(!e)throw new Error(t||\"Assertion failed\")}assert.equal=function assertEqual(e,t,r){if(e!=t)throw new Error(r||\"Assertion failed: \"+e+\" != \"+t)}},6545:function(e,t){\"use strict\";var r=t;function toArray(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e!==\"string\"){for(var i=0;i<e.length;i++)r[i]=e[i]|0;return r}if(t===\"hex\"){e=e.replace(/[^a-z0-9]+/gi,\"\");if(e.length%2!==0)e=\"0\"+e;for(var i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else{for(var i=0;i<e.length;i++){var n=e.charCodeAt(i);var a=n>>8;var s=n&255;if(a)r.push(a,s);else r.push(s)}}return r}r.toArray=toArray;function zero2(e){if(e.length===1)return\"0\"+e;else return e}r.zero2=zero2;function toHex(e){var t=\"\";for(var r=0;r<e.length;r++)t+=zero2(e[r].toString(16));return t}r.toHex=toHex;r.encode=function encode(e,t){if(t===\"hex\")return toHex(e);else return e}},8687:function(e,t,r){\"use strict\";var i=r(7160);t.certificate=r(8782);var n=i.define(\"RSAPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"modulus\").int(),this.key(\"publicExponent\").int(),this.key(\"privateExponent\").int(),this.key(\"prime1\").int(),this.key(\"prime2\").int(),this.key(\"exponent1\").int(),this.key(\"exponent2\").int(),this.key(\"coefficient\").int())}));t.RSAPrivateKey=n;var a=i.define(\"RSAPublicKey\",(function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())}));t.RSAPublicKey=a;var s=i.define(\"SubjectPublicKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").use(o),this.key(\"subjectPublicKey\").bitstr())}));t.PublicKey=s;var o=i.define(\"AlgorithmIdentifier\",(function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"none\").null_().optional(),this.key(\"curve\").objid().optional(),this.key(\"params\").seq().obj(this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int()).optional())}));var h=i.define(\"PrivateKeyInfo\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(o),this.key(\"subjectPrivateKey\").octstr())}));t.PrivateKey=h;var u=i.define(\"EncryptedPrivateKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(),this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(),this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(),this.key(\"iters\").int())),this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(),this.key(\"iv\").octstr()))),this.key(\"subjectPrivateKey\").octstr())}));t.EncryptedPrivateKey=u;var d=i.define(\"DSAPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int(),this.key(\"pub_key\").int(),this.key(\"priv_key\").int())}));t.DSAPrivateKey=d;t.DSAparam=i.define(\"DSAparam\",(function(){this.int()}));var c=i.define(\"ECPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(l),this.key(\"publicKey\").optional().explicit(1).bitstr())}));t.ECPrivateKey=c;var l=i.define(\"ECParameters\",(function(){this.choice({namedCurve:this.objid()})}));t.signature=i.define(\"signature\",(function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())}))},8782:function(e,t,r){\"use strict\";var i=r(7160);var n=i.define(\"Time\",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}));var a=i.define(\"AttributeTypeValue\",(function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())}));var s=i.define(\"AlgorithmIdentifier\",(function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional(),this.key(\"curve\").objid().optional())}));var o=i.define(\"SubjectPublicKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").use(s),this.key(\"subjectPublicKey\").bitstr())}));var h=i.define(\"RelativeDistinguishedName\",(function(){this.setof(a)}));var u=i.define(\"RDNSequence\",(function(){this.seqof(h)}));var d=i.define(\"Name\",(function(){this.choice({rdnSequence:this.use(u)})}));var c=i.define(\"Validity\",(function(){this.seq().obj(this.key(\"notBefore\").use(n),this.key(\"notAfter\").use(n))}));var l=i.define(\"Extension\",(function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(false),this.key(\"extnValue\").octstr())}));var p=i.define(\"TBSCertificate\",(function(){this.seq().obj(this.key(\"version\").explicit(0).int().optional(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(s),this.key(\"issuer\").use(d),this.key(\"validity\").use(c),this.key(\"subject\").use(d),this.key(\"subjectPublicKeyInfo\").use(o),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(l).optional())}));var v=i.define(\"X509Certificate\",(function(){this.seq().obj(this.key(\"tbsCertificate\").use(p),this.key(\"signatureAlgorithm\").use(s),this.key(\"signatureValue\").bitstr())}));e.exports=v},6501:function(e,t,r){var i=/Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m;var n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m;var a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m;var s=r(8368);var o=r(6594);var h=r(6911).Buffer;e.exports=function(e,t){var r=e.toString();var u=r.match(i);var d;if(!u){var c=r.match(a);d=new h(c[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}else{var l=\"aes\"+u[1];var p=h.from(u[2],\"hex\");var v=h.from(u[3].replace(/[\\r\\n]/g,\"\"),\"base64\");var b=s(t,p.slice(0,8),parseInt(u[1],10)).key;var m=[];var y=o.createDecipheriv(l,b,p);m.push(y.update(v));m.push(y.final());d=h.concat(m)}var g=r.match(n)[1];return{tag:g,data:d}}},9902:function(e,t,r){var i=r(8687);var n=r(2510);var a=r(6501);var s=r(6594);var o=r(4978);var h=r(6911).Buffer;e.exports=parseKeys;function parseKeys(e){var t;if(typeof e===\"object\"&&!h.isBuffer(e)){t=e.passphrase;e=e.key}if(typeof e===\"string\"){e=h.from(e)}var r=a(e,t);var n=r.tag;var s=r.data;var o,u;switch(n){case\"CERTIFICATE\":u=i.certificate.decode(s,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":if(!u){u=i.PublicKey.decode(s,\"der\")}o=u.algorithm.algorithm.join(\".\");switch(o){case\"1.2.840.113549.1.1.1\":return i.RSAPublicKey.decode(u.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":u.subjectPrivateKey=u.subjectPublicKey;return{type:\"ec\",data:u};case\"1.2.840.10040.4.1\":u.algorithm.params.pub_key=i.DSAparam.decode(u.subjectPublicKey.data,\"der\");return{type:\"dsa\",data:u.algorithm.params};default:throw new Error(\"unknown key id \"+o)}throw new Error(\"unknown key type \"+n);case\"ENCRYPTED PRIVATE KEY\":s=i.EncryptedPrivateKey.decode(s,\"der\");s=decrypt(s,t);case\"PRIVATE KEY\":u=i.PrivateKey.decode(s,\"der\");o=u.algorithm.algorithm.join(\".\");switch(o){case\"1.2.840.113549.1.1.1\":return i.RSAPrivateKey.decode(u.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:u.algorithm.curve,privateKey:i.ECPrivateKey.decode(u.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":u.algorithm.params.priv_key=i.DSAparam.decode(u.subjectPrivateKey,\"der\");return{type:\"dsa\",params:u.algorithm.params};default:throw new Error(\"unknown key id \"+o)}throw new Error(\"unknown key type \"+n);case\"RSA PUBLIC KEY\":return i.RSAPublicKey.decode(s,\"der\");case\"RSA PRIVATE KEY\":return i.RSAPrivateKey.decode(s,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:i.DSAPrivateKey.decode(s,\"der\")};case\"EC PRIVATE KEY\":s=i.ECPrivateKey.decode(s,\"der\");return{curve:s.parameters.value,privateKey:s.privateKey};default:throw new Error(\"unknown key type \"+n)}}parseKeys.signature=i.signature;function decrypt(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt;var i=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10);var a=n[e.algorithm.decrypt.cipher.algo.join(\".\")];var u=e.algorithm.decrypt.cipher.iv;var d=e.subjectPrivateKey;var c=parseInt(a.split(\"-\")[1],10)/8;var l=o.pbkdf2Sync(t,r,i,c,\"sha1\");var p=s.createDecipheriv(a,l,u);var v=[];v.push(p.update(d));v.push(p.final());return h.concat(v)}},4978:function(e,t,r){var i=r(6113);var n=r(5349);var a=r(7007);var s=r(5407);function nativePBKDF2(e,t,r,o,h,u){n(r,o);e=s(e,a,\"Password\");t=s(t,a,\"Salt\");if(typeof h===\"function\"){u=h;h=\"sha1\"}if(typeof u!==\"function\")throw new Error(\"No callback provided to pbkdf2\");return i.pbkdf2(e,t,r,o,h,u)}function nativePBKDF2Sync(e,t,r,o,h){n(r,o);e=s(e,a,\"Password\");t=s(t,a,\"Salt\");h=h||\"sha1\";return i.pbkdf2Sync(e,t,r,o,h)}if(!i.pbkdf2Sync||i.pbkdf2Sync.toString().indexOf(\"keylen, digest\")===-1){t.pbkdf2Sync=r(2127);t.pbkdf2=r(9601)}else{t.pbkdf2Sync=nativePBKDF2Sync;t.pbkdf2=nativePBKDF2}},9601:function(e,t,r){var i=r(6911).Buffer;var n=r(5349);var a=r(7007);var s=r(2127);var o=r(5407);var h;var u=__webpack_require__.g.crypto&&__webpack_require__.g.crypto.subtle;var d={sha:\"SHA-1\",\"sha-1\":\"SHA-1\",sha1:\"SHA-1\",sha256:\"SHA-256\",\"sha-256\":\"SHA-256\",sha384:\"SHA-384\",\"sha-384\":\"SHA-384\",\"sha-512\":\"SHA-512\",sha512:\"SHA-512\"};var c=[];function checkNative(e){if(__webpack_require__.g.process&&!__webpack_require__.g.process.browser){return Promise.resolve(false)}if(!u||!u.importKey||!u.deriveBits){return Promise.resolve(false)}if(c[e]!==undefined){return c[e]}h=h||i.alloc(8);var t=browserPbkdf2(h,h,10,128,e).then((function(){return true})).catch((function(){return false}));c[e]=t;return t}function browserPbkdf2(e,t,r,n,a){return u.importKey(\"raw\",e,{name:\"PBKDF2\"},false,[\"deriveBits\"]).then((function(e){return u.deriveBits({name:\"PBKDF2\",salt:t,iterations:r,hash:{name:a}},e,n<<3)})).then((function(e){return i.from(e)}))}function resolvePromise(e,t){e.then((function(e){process.nextTick((function(){t(null,e)}))}),(function(e){process.nextTick((function(){t(e)}))}))}e.exports=function(e,t,r,i,h,u){if(typeof h===\"function\"){u=h;h=undefined}h=h||\"sha1\";var c=d[h.toLowerCase()];if(!c||typeof __webpack_require__.g.Promise!==\"function\"){return process.nextTick((function(){var n;try{n=s(e,t,r,i,h)}catch(e){return u(e)}u(null,n)}))}n(r,i);e=o(e,a,\"Password\");t=o(t,a,\"Salt\");if(typeof u!==\"function\")throw new Error(\"No callback provided to pbkdf2\");resolvePromise(checkNative(c).then((function(n){if(n)return browserPbkdf2(e,t,r,i,c);return s(e,t,r,i,h)})),u)}},7007:function(e){var t;if(true){t=\"utf-8\"}else { var r; }e.exports=t},5349:function(e){var t=Math.pow(2,30)-1;e.exports=function(e,r){if(typeof e!==\"number\"){throw new TypeError(\"Iterations not a number\")}if(e<0){throw new TypeError(\"Bad iterations\")}if(typeof r!==\"number\"){throw new TypeError(\"Key length not a number\")}if(r<0||r>t||r!==r){throw new TypeError(\"Bad key length\")}}},2127:function(e,t,r){var i={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};var n=r(4873);var a=r(6911).Buffer;var s=r(5349);var o=r(7007);var h=r(5407);function pbkdf2(e,t,r,u,d){s(r,u);e=h(e,o,\"Password\");t=h(t,o,\"Salt\");d=d||\"sha1\";var c=a.allocUnsafe(u);var l=a.allocUnsafe(t.length+4);t.copy(l,0,0,t.length);var p=0;var v=i[d];var b=Math.ceil(u/v);for(var m=1;m<=b;m++){l.writeUInt32BE(m,t.length);var y=n(d,e).update(l).digest();var g=y;for(var _=1;_<r;_++){g=n(d,e).update(g).digest();for(var w=0;w<v;w++)y[w]^=g[w]}y.copy(c,p);p+=v}return c}e.exports=pbkdf2},5407:function(e,t,r){var i=r(6911).Buffer;e.exports=function(e,t,r){if(i.isBuffer(e)){return e}else if(typeof e===\"string\"){return i.from(e,t)}else if(ArrayBuffer.isView(e)){return i.from(e.buffer)}else{throw new TypeError(r+\" must be a string, a Buffer, a typed array or a DataView\")}}},9783:function(e,t,r){t.publicEncrypt=r(3995);t.privateDecrypt=r(4366);t.privateEncrypt=function privateEncrypt(e,r){return t.publicEncrypt(e,r,true)};t.publicDecrypt=function publicDecrypt(e,r){return t.privateDecrypt(e,r,true)}},5520:function(e,t,r){var i=r(9739);var n=r(6911).Buffer;e.exports=function(e,t){var r=n.alloc(0);var a=0;var s;while(r.length<t){s=i2ops(a++);r=n.concat([r,i(\"sha1\").update(e).update(s).digest()])}return r.slice(0,t)};function i2ops(e){var t=n.allocUnsafe(4);t.writeUInt32BE(e,0);return t}},4366:function(e,t,r){var i=r(9902);var n=r(5520);var a=r(6386);var s=r(711);var o=r(7166);var h=r(9739);var u=r(1607);var d=r(6911).Buffer;e.exports=function privateDecrypt(e,t,r){var n;if(e.padding){n=e.padding}else if(r){n=1}else{n=4}var a=i(e);var h=a.modulus.byteLength();if(t.length>h||new s(t).cmp(a.modulus)>=0){throw new Error(\"decryption error\")}var c;if(r){c=u(new s(t),a)}else{c=o(t,a)}var l=d.alloc(h-c.length);c=d.concat([l,c],h);if(n===4){return oaep(a,c)}else if(n===1){return pkcs1(a,c,r)}else if(n===3){return c}else{throw new Error(\"unknown padding\")}};function oaep(e,t){var r=e.modulus.byteLength();var i=h(\"sha1\").update(d.alloc(0)).digest();var s=i.length;if(t[0]!==0){throw new Error(\"decryption error\")}var o=t.slice(1,s+1);var u=t.slice(s+1);var c=a(o,n(u,s));var l=a(u,n(c,r-s-1));if(compare(i,l.slice(0,s))){throw new Error(\"decryption error\")}var p=s;while(l[p]===0){p++}if(l[p++]!==1){throw new Error(\"decryption error\")}return l.slice(p)}function pkcs1(e,t,r){var i=t.slice(0,2);var n=2;var a=0;while(t[n++]!==0){if(n>=t.length){a++;break}}var s=t.slice(2,n-1);if(i.toString(\"hex\")!==\"0002\"&&!r||i.toString(\"hex\")!==\"0001\"&&r){a++}if(s.length<8){a++}if(a){throw new Error(\"decryption error\")}return t.slice(n)}function compare(e,t){e=d.from(e);t=d.from(t);var r=0;var i=e.length;if(e.length!==t.length){r++;i=Math.min(e.length,t.length)}var n=-1;while(++n<i){r+=e[n]^t[n]}return r}},3995:function(e,t,r){var i=r(9902);var n=r(7223);var a=r(9739);var s=r(5520);var o=r(6386);var h=r(711);var u=r(1607);var d=r(7166);var c=r(6911).Buffer;e.exports=function publicEncrypt(e,t,r){var n;if(e.padding){n=e.padding}else if(r){n=1}else{n=4}var a=i(e);var s;if(n===4){s=oaep(a,t)}else if(n===1){s=pkcs1(a,t,r)}else if(n===3){s=new h(t);if(s.cmp(a.modulus)>=0){throw new Error(\"data too long for modulus\")}}else{throw new Error(\"unknown padding\")}if(r){return d(s,a)}else{return u(s,a)}};function oaep(e,t){var r=e.modulus.byteLength();var i=t.length;var u=a(\"sha1\").update(c.alloc(0)).digest();var d=u.length;var l=2*d;if(i>r-l-2){throw new Error(\"message too long\")}var p=c.alloc(r-i-l-2);var v=r-d-1;var b=n(d);var m=o(c.concat([u,p,c.alloc(1,1),t],v),s(b,v));var y=o(b,s(m,d));return new h(c.concat([c.alloc(1),y,m],r))}function pkcs1(e,t,r){var i=t.length;var n=e.modulus.byteLength();if(i>n-11){throw new Error(\"message too long\")}var a;if(r){a=c.alloc(n-i-3,255)}else{a=nonZero(n-i-3)}return new h(c.concat([c.from([0,r?1:2]),a,c.alloc(1),t],n))}function nonZero(e){var t=c.allocUnsafe(e);var r=0;var i=n(e*2);var a=0;var s;while(r<e){if(a===i.length){i=n(e*2);a=0}s=i[a++];if(s){t[r++]=s}}return t}},1607:function(e,t,r){var i=r(711);var n=r(6911).Buffer;function withPublic(e,t){return n.from(e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed().toArray())}e.exports=withPublic},6386:function(e){e.exports=function xor(e,t){var r=e.length;var i=-1;while(++i<r){e[i]^=t[i]}return e}},7223:function(e,t,r){\"use strict\";var i=65536;var n=4294967295;function oldBrowser(){throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\")}var a=r(6911).Buffer;var s=__webpack_require__.g.crypto||__webpack_require__.g.msCrypto;if(s&&s.getRandomValues){e.exports=randomBytes}else{e.exports=oldBrowser}function randomBytes(e,t){if(e>n)throw new RangeError(\"requested too many random bytes\");var r=a.allocUnsafe(e);if(e>0){if(e>i){for(var o=0;o<e;o+=i){s.getRandomValues(r.slice(o,o+i))}}else{s.getRandomValues(r)}}if(typeof t===\"function\"){return process.nextTick((function(){t(null,r)}))}return r}},6445:function(e,t,r){\"use strict\";function oldBrowser(){throw new Error(\"secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11\")}var i=r(6911);var n=r(7223);var a=i.Buffer;var s=i.kMaxLength;var o=__webpack_require__.g.crypto||__webpack_require__.g.msCrypto;var h=Math.pow(2,32)-1;function assertOffset(e,t){if(typeof e!==\"number\"||e!==e){throw new TypeError(\"offset must be a number\")}if(e>h||e<0){throw new TypeError(\"offset must be a uint32\")}if(e>s||e>t){throw new RangeError(\"offset out of range\")}}function assertSize(e,t,r){if(typeof e!==\"number\"||e!==e){throw new TypeError(\"size must be a number\")}if(e>h||e<0){throw new TypeError(\"size must be a uint32\")}if(e+t>r||e>s){throw new RangeError(\"buffer too small\")}}if(o&&o.getRandomValues||!true){t.randomFill=randomFill;t.randomFillSync=randomFillSync}else{t.randomFill=oldBrowser;t.randomFillSync=oldBrowser}function randomFill(e,t,r,i){if(!a.isBuffer(e)&&!(e instanceof __webpack_require__.g.Uint8Array)){throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')}if(typeof t===\"function\"){i=t;t=0;r=e.length}else if(typeof r===\"function\"){i=r;r=e.length-t}else if(typeof i!==\"function\"){throw new TypeError('\"cb\" argument must be a function')}assertOffset(t,e.length);assertSize(r,t,e.length);return actualFill(e,t,r,i)}function actualFill(e,t,r,i){if(true){var a=e.buffer;var s=new Uint8Array(a,t,r);o.getRandomValues(s);if(i){process.nextTick((function(){i(null,e)}));return}return e}if(i){n(r,(function(r,n){if(r){return i(r)}n.copy(e,t);i(null,e)}));return}var h=n(r);h.copy(e,t);return e}function randomFillSync(e,t,r){if(typeof t===\"undefined\"){t=0}if(!a.isBuffer(e)&&!(e instanceof __webpack_require__.g.Uint8Array)){throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')}assertOffset(t,e.length);if(r===undefined)r=e.length-t;assertSize(r,t,e.length);return actualFill(e,t,r)}},4646:function(e){\"use strict\";const t={};function createErrorType(e,r,i){if(!i){i=Error}function getMessage(e,t,i){if(typeof r===\"string\"){return r}else{return r(e,t,i)}}class NodeError extends i{constructor(e,t,r){super(getMessage(e,t,r))}}NodeError.prototype.name=i.name;NodeError.prototype.code=e;t[e]=NodeError}function oneOf(e,t){if(Array.isArray(e)){const r=e.length;e=e.map((e=>String(e)));if(r>2){return`one of ${t} ${e.slice(0,r-1).join(\", \")}, or `+e[r-1]}else if(r===2){return`one of ${t} ${e[0]} or ${e[1]}`}else{return`of ${t} ${e[0]}`}}else{return`of ${t} ${String(e)}`}}function startsWith(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function includes(e,t,r){if(typeof r!==\"number\"){r=0}if(r+t.length>e.length){return false}else{return e.indexOf(t,r)!==-1}}createErrorType(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError);createErrorType(\"ERR_INVALID_ARG_TYPE\",(function(e,t,r){let i;if(typeof t===\"string\"&&startsWith(t,\"not \")){i=\"must not be\";t=t.replace(/^not /,\"\")}else{i=\"must be\"}let n;if(endsWith(e,\" argument\")){n=`The ${e} ${i} ${oneOf(t,\"type\")}`}else{const r=includes(e,\".\")?\"property\":\"argument\";n=`The \"${e}\" ${r} ${i} ${oneOf(t,\"type\")}`}n+=`. Received type ${typeof r}`;return n}),TypeError);createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"}));createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");createErrorType(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"}));createErrorType(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");createErrorType(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");createErrorType(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");createErrorType(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);createErrorType(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError);createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");e.exports.q=t},2403:function(e,t,r){\"use strict\";var i=Object.keys||function(e){var t=[];for(var r in e){t.push(r)}return t};e.exports=Duplex;var n=r(1709);var a=r(7337);r(3782)(Duplex,n);{var s=i(a.prototype);for(var o=0;o<s.length;o++){var h=s[o];if(!Duplex.prototype[h])Duplex.prototype[h]=a.prototype[h]}}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);n.call(this,e);a.call(this,e);this.allowHalfOpen=true;if(e){if(e.readable===false)this.readable=false;if(e.writable===false)this.writable=false;if(e.allowHalfOpen===false){this.allowHalfOpen=false;this.once(\"end\",onend)}}}Object.defineProperty(Duplex.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});Object.defineProperty(Duplex.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Duplex.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function onend(){if(this._writableState.ended)return;process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function set(e){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=e;this._writableState.destroyed=e}})},7889:function(e,t,r){\"use strict\";e.exports=PassThrough;var i=r(1170);r(3782)(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},1709:function(e,t,r){\"use strict\";e.exports=Readable;var i;Readable.ReadableState=ReadableState;var n=r(2361).EventEmitter;var a=function EElistenerCount(e,t){return e.listeners(t).length};var s=r(4678);var o=r(4300).Buffer;var h=__webpack_require__.g.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return o.from(e)}function _isUint8Array(e){return o.isBuffer(e)||e instanceof h}var u=r(3837);var d;if(u&&u.debuglog){d=u.debuglog(\"stream\")}else{d=function debug(){}}var c=r(4379);var l=r(7025);var p=r(6776),v=p.getHighWaterMark;var b=r(4646).q,m=b.ERR_INVALID_ARG_TYPE,y=b.ERR_STREAM_PUSH_AFTER_EOF,g=b.ERR_METHOD_NOT_IMPLEMENTED,_=b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var w;var M;var B;r(3782)(Readable,s);var E=l.errorOrDestroy;var k=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function prependListener(e,t,r){if(typeof e.prependListener===\"function\")return e.prependListener(t,r);if(!e._events||!e._events[t])e.on(t,r);else if(Array.isArray(e._events[t]))e._events[t].unshift(r);else e._events[t]=[r,e._events[t]]}function ReadableState(e,t,n){i=i||r(2403);e=e||{};if(typeof n!==\"boolean\")n=t instanceof i;this.objectMode=!!e.objectMode;if(n)this.objectMode=this.objectMode||!!e.readableObjectMode;this.highWaterMark=v(this,e,\"readableHighWaterMark\",n);this.buffer=new c;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!w)w=r(3704).s;this.decoder=new w(e.encoding);this.encoding=e.encoding}}function Readable(e){i=i||r(2403);if(!(this instanceof Readable))return new Readable(e);var t=this instanceof i;this._readableState=new ReadableState(e,this,t);this.readable=true;if(e){if(typeof e.read===\"function\")this._read=e.read;if(typeof e.destroy===\"function\")this._destroy=e.destroy}s.call(this)}Object.defineProperty(Readable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=l.destroy;Readable.prototype._undestroy=l.undestroy;Readable.prototype._destroy=function(e,t){t(e)};Readable.prototype.push=function(e,t){var r=this._readableState;var i;if(!r.objectMode){if(typeof e===\"string\"){t=t||r.defaultEncoding;if(t!==r.encoding){e=o.from(e,t);t=\"\"}i=true}}else{i=true}return readableAddChunk(this,e,t,false,i)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,t,r,i,n){d(\"readableAddChunk\",t);var a=e._readableState;if(t===null){a.reading=false;onEofChunk(e,a)}else{var s;if(!n)s=chunkInvalid(a,t);if(s){E(e,s)}else if(a.objectMode||t&&t.length>0){if(typeof t!==\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==o.prototype){t=_uint8ArrayToBuffer(t)}if(i){if(a.endEmitted)E(e,new _);else addChunk(e,a,t,true)}else if(a.ended){E(e,new y)}else if(a.destroyed){return false}else{a.reading=false;if(a.decoder&&!r){t=a.decoder.write(t);if(a.objectMode||t.length!==0)addChunk(e,a,t,false);else maybeReadMore(e,a)}else{addChunk(e,a,t,false)}}}else if(!i){a.reading=false;maybeReadMore(e,a)}}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function addChunk(e,t,r,i){if(t.flowing&&t.length===0&&!t.sync){t.awaitDrain=0;e.emit(\"data\",r)}else{t.length+=t.objectMode?1:r.length;if(i)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!==\"string\"&&t!==undefined&&!e.objectMode){r=new m(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)}return r}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(e){if(!w)w=r(3704).s;var t=new w(e);this._readableState.decoder=t;this._readableState.encoding=this._readableState.decoder.encoding;var i=this._readableState.buffer.head;var n=\"\";while(i!==null){n+=t.write(i.data);i=i.next}this._readableState.buffer.clear();if(n!==\"\")this._readableState.buffer.push(n);this._readableState.length=n.length;return this};var A=1073741824;function computeNewHighWaterMark(e){if(e>=A){e=A}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){d(\"read\",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended)){d(\"read: emitReadable\",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var i=t.needReadable;d(\"need readable\",i);if(t.length===0||t.length-e<t.highWaterMark){i=true;d(\"length less than watermark\",i)}if(t.ended||t.reading){i=false;d(\"reading or ended\",i)}else if(i){d(\"do read\");t.reading=true;t.sync=true;if(t.length===0)t.needReadable=true;this._read(t.highWaterMark);t.sync=false;if(!t.reading)e=howMuchToRead(r,t)}var n;if(e>0)n=fromList(e,t);else n=null;if(n===null){t.needReadable=t.length<=t.highWaterMark;e=0}else{t.length-=e;t.awaitDrain=0}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(n!==null)this.emit(\"data\",n);return n};function onEofChunk(e,t){d(\"onEofChunk\");if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;if(t.sync){emitReadable(e)}else{t.needReadable=false;if(!t.emittedReadable){t.emittedReadable=true;emitReadable_(e)}}}function emitReadable(e){var t=e._readableState;d(\"emitReadable\",t.needReadable,t.emittedReadable);t.needReadable=false;if(!t.emittedReadable){d(\"emitReadable\",t.flowing);t.emittedReadable=true;process.nextTick(emitReadable_,e)}}function emitReadable_(e){var t=e._readableState;d(\"emitReadable_\",t.destroyed,t.length,t.ended);if(!t.destroyed&&(t.length||t.ended)){e.emit(\"readable\");t.emittedReadable=false}t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark;flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;process.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){while(!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0)){var r=t.length;d(\"maybeReadMore read 0\");e.read(0);if(r===t.length)break}t.readingMore=false}Readable.prototype._read=function(e){E(this,new g(\"_read()\"))};Readable.prototype.pipe=function(e,t){var r=this;var i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e);break}i.pipesCount+=1;d(\"pipe count=%d opts=%j\",i.pipesCount,t);var n=(!t||t.end!==false)&&e!==process.stdout&&e!==process.stderr;var s=n?onend:unpipe;if(i.endEmitted)process.nextTick(s);else r.once(\"end\",s);e.on(\"unpipe\",onunpipe);function onunpipe(e,t){d(\"onunpipe\");if(e===r){if(t&&t.hasUnpiped===false){t.hasUnpiped=true;cleanup()}}}function onend(){d(\"onend\");e.end()}var o=pipeOnDrain(r);e.on(\"drain\",o);var h=false;function cleanup(){d(\"cleanup\");e.removeListener(\"close\",onclose);e.removeListener(\"finish\",onfinish);e.removeListener(\"drain\",o);e.removeListener(\"error\",onerror);e.removeListener(\"unpipe\",onunpipe);r.removeListener(\"end\",onend);r.removeListener(\"end\",unpipe);r.removeListener(\"data\",ondata);h=true;if(i.awaitDrain&&(!e._writableState||e._writableState.needDrain))o()}r.on(\"data\",ondata);function ondata(t){d(\"ondata\");var n=e.write(t);d(\"dest.write\",n);if(n===false){if((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&indexOf(i.pipes,e)!==-1)&&!h){d(\"false write response, pause\",i.awaitDrain);i.awaitDrain++}r.pause()}}function onerror(t){d(\"onerror\",t);unpipe();e.removeListener(\"error\",onerror);if(a(e,\"error\")===0)E(e,t)}prependListener(e,\"error\",onerror);function onclose(){e.removeListener(\"finish\",onfinish);unpipe()}e.once(\"close\",onclose);function onfinish(){d(\"onfinish\");e.removeListener(\"close\",onclose);unpipe()}e.once(\"finish\",onfinish);function unpipe(){d(\"unpipe\");r.unpipe(e)}e.emit(\"pipe\",r);if(!i.flowing){d(\"pipe resume\");r.resume()}return e};function pipeOnDrain(e){return function pipeOnDrainFunctionResult(){var t=e._readableState;d(\"pipeOnDrain\",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&a(e,\"data\")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit(\"unpipe\",this,r);return this}if(!e){var i=t.pipes;var n=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var a=0;a<n;a++){i[a].emit(\"unpipe\",this,{hasUnpiped:false})}return this}var s=indexOf(t.pipes,e);if(s===-1)return this;t.pipes.splice(s,1);t.pipesCount-=1;if(t.pipesCount===1)t.pipes=t.pipes[0];e.emit(\"unpipe\",this,r);return this};Readable.prototype.on=function(e,t){var r=s.prototype.on.call(this,e,t);var i=this._readableState;if(e===\"data\"){i.readableListening=this.listenerCount(\"readable\")>0;if(i.flowing!==false)this.resume()}else if(e===\"readable\"){if(!i.endEmitted&&!i.readableListening){i.readableListening=i.needReadable=true;i.flowing=false;i.emittedReadable=false;d(\"on readable\",i.length,i.reading);if(i.length){emitReadable(this)}else if(!i.reading){process.nextTick(nReadingNextTick,this)}}}return r};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);if(e===\"readable\"){process.nextTick(updateReadableListening,this)}return r};Readable.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);if(e===\"readable\"||e===undefined){process.nextTick(updateReadableListening,this)}return t};function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0;if(t.resumeScheduled&&!t.paused){t.flowing=true}else if(e.listenerCount(\"data\")>0){e.resume()}}function nReadingNextTick(e){d(\"readable nexttick read 0\");e.read(0)}Readable.prototype.resume=function(){var e=this._readableState;if(!e.flowing){d(\"resume\");e.flowing=!e.readableListening;resume(this,e)}e.paused=false;return this};function resume(e,t){if(!t.resumeScheduled){t.resumeScheduled=true;process.nextTick(resume_,e,t)}}function resume_(e,t){d(\"resume\",t.reading);if(!t.reading){e.read(0)}t.resumeScheduled=false;e.emit(\"resume\");flow(e);if(t.flowing&&!t.reading)e.read(0)}Readable.prototype.pause=function(){d(\"call pause flowing=%j\",this._readableState.flowing);if(this._readableState.flowing!==false){d(\"pause\");this._readableState.flowing=false;this.emit(\"pause\")}this._readableState.paused=true;return this};function flow(e){var t=e._readableState;d(\"flow\",t.flowing);while(t.flowing&&e.read()!==null){}}Readable.prototype.wrap=function(e){var t=this;var r=this._readableState;var i=false;e.on(\"end\",(function(){d(\"wrapped end\");if(r.decoder&&!r.ended){var e=r.decoder.end();if(e&&e.length)t.push(e)}t.push(null)}));e.on(\"data\",(function(n){d(\"wrapped data\");if(r.decoder)n=r.decoder.write(n);if(r.objectMode&&(n===null||n===undefined))return;else if(!r.objectMode&&(!n||!n.length))return;var a=t.push(n);if(!a){i=true;e.pause()}}));for(var n in e){if(this[n]===undefined&&typeof e[n]===\"function\"){this[n]=function methodWrap(t){return function methodWrapReturnFunction(){return e[t].apply(e,arguments)}}(n)}}for(var a=0;a<k.length;a++){e.on(k[a],this.emit.bind(this,k[a]))}this._read=function(t){d(\"wrapped _read\",t);if(i){i=false;e.resume()}};return this};if(typeof Symbol===\"function\"){Readable.prototype[Symbol.asyncIterator]=function(){if(M===undefined){M=r(6871)}return M(this)}}Object.defineProperty(Readable.prototype,\"readableHighWaterMark\",{enumerable:false,get:function get(){return this._readableState.highWaterMark}});Object.defineProperty(Readable.prototype,\"readableBuffer\",{enumerable:false,get:function get(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Readable.prototype,\"readableFlowing\",{enumerable:false,get:function get(){return this._readableState.flowing},set:function set(e){if(this._readableState){this._readableState.flowing=e}}});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,\"readableLength\",{enumerable:false,get:function get(){return this._readableState.length}});function fromList(e,t){if(t.length===0)return null;var r;if(t.objectMode)r=t.buffer.shift();else if(!e||e>=t.length){if(t.decoder)r=t.buffer.join(\"\");else if(t.buffer.length===1)r=t.buffer.first();else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=t.buffer.consume(e,t.decoder)}return r}function endReadable(e){var t=e._readableState;d(\"endReadable\",t.endEmitted);if(!t.endEmitted){t.ended=true;process.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){d(\"endReadableNT\",e.endEmitted,e.length);if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit(\"end\");if(e.autoDestroy){var r=t._writableState;if(!r||r.autoDestroy&&r.finished){t.destroy()}}}}if(typeof Symbol===\"function\"){Readable.from=function(e,t){if(B===undefined){B=r(9727)}return B(Readable,e,t)}}function indexOf(e,t){for(var r=0,i=e.length;r<i;r++){if(e[r]===t)return r}return-1}},1170:function(e,t,r){\"use strict\";e.exports=Transform;var i=r(4646).q,n=i.ERR_METHOD_NOT_IMPLEMENTED,a=i.ERR_MULTIPLE_CALLBACK,s=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=i.ERR_TRANSFORM_WITH_LENGTH_0;var h=r(2403);r(3782)(Transform,h);function afterTransform(e,t){var r=this._transformState;r.transforming=false;var i=r.writecb;if(i===null){return this.emit(\"error\",new a)}r.writechunk=null;r.writecb=null;if(t!=null)this.push(t);i(e);var n=this._readableState;n.reading=false;if(n.needReadable||n.length<n.highWaterMark){this._read(n.highWaterMark)}}function Transform(e){if(!(this instanceof Transform))return new Transform(e);h.call(this,e);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(e){if(typeof e.transform===\"function\")this._transform=e.transform;if(typeof e.flush===\"function\")this._flush=e.flush}this.on(\"prefinish\",prefinish)}function prefinish(){var e=this;if(typeof this._flush===\"function\"&&!this._readableState.destroyed){this._flush((function(t,r){done(e,t,r)}))}else{done(this,null,null)}}Transform.prototype.push=function(e,t){this._transformState.needTransform=false;return h.prototype.push.call(this,e,t)};Transform.prototype._transform=function(e,t,r){r(new n(\"_transform()\"))};Transform.prototype._write=function(e,t,r){var i=this._transformState;i.writecb=r;i.writechunk=e;i.writeencoding=t;if(!i.transforming){var n=this._readableState;if(i.needTransform||n.needReadable||n.length<n.highWaterMark)this._read(n.highWaterMark)}};Transform.prototype._read=function(e){var t=this._transformState;if(t.writechunk!==null&&!t.transforming){t.transforming=true;this._transform(t.writechunk,t.writeencoding,t.afterTransform)}else{t.needTransform=true}};Transform.prototype._destroy=function(e,t){h.prototype._destroy.call(this,e,(function(e){t(e)}))};function done(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null)e.push(r);if(e._writableState.length)throw new o;if(e._transformState.transforming)throw new s;return e.push(null)}},7337:function(e,t,r){\"use strict\";e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var i;Writable.WritableState=WritableState;var n={deprecate:r(6769)};var a=r(4678);var s=r(4300).Buffer;var o=__webpack_require__.g.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return s.from(e)}function _isUint8Array(e){return s.isBuffer(e)||e instanceof o}var h=r(7025);var u=r(6776),d=u.getHighWaterMark;var c=r(4646).q,l=c.ERR_INVALID_ARG_TYPE,p=c.ERR_METHOD_NOT_IMPLEMENTED,v=c.ERR_MULTIPLE_CALLBACK,b=c.ERR_STREAM_CANNOT_PIPE,m=c.ERR_STREAM_DESTROYED,y=c.ERR_STREAM_NULL_VALUES,g=c.ERR_STREAM_WRITE_AFTER_END,_=c.ERR_UNKNOWN_ENCODING;var w=h.errorOrDestroy;r(3782)(Writable,a);function nop(){}function WritableState(e,t,n){i=i||r(2403);e=e||{};if(typeof n!==\"boolean\")n=t instanceof i;this.objectMode=!!e.objectMode;if(n)this.objectMode=this.objectMode||!!e.writableObjectMode;this.highWaterMark=d(this,e,\"writableHighWaterMark\",n);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var a=e.decodeStrings===false;this.decodeStrings=!a;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:n.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer \"+\"instead.\",\"DEP0003\")})}catch(e){}})();var M;if(typeof Symbol===\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]===\"function\"){M=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(e){if(M.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{M=function realHasInstance(e){return e instanceof this}}function Writable(e){i=i||r(2403);var t=this instanceof i;if(!t&&!M.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t);this.writable=true;if(e){if(typeof e.write===\"function\")this._write=e.write;if(typeof e.writev===\"function\")this._writev=e.writev;if(typeof e.destroy===\"function\")this._destroy=e.destroy;if(typeof e.final===\"function\")this._final=e.final}a.call(this)}Writable.prototype.pipe=function(){w(this,new b)};function writeAfterEnd(e,t){var r=new g;w(e,r);process.nextTick(t,r)}function validChunk(e,t,r,i){var n;if(r===null){n=new y}else if(typeof r!==\"string\"&&!t.objectMode){n=new l(\"chunk\",[\"string\",\"Buffer\"],r)}if(n){w(e,n);process.nextTick(i,n);return false}return true}Writable.prototype.write=function(e,t,r){var i=this._writableState;var n=false;var a=!i.objectMode&&_isUint8Array(e);if(a&&!s.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t===\"function\"){r=t;t=null}if(a)t=\"buffer\";else if(!t)t=i.defaultEncoding;if(typeof r!==\"function\")r=nop;if(i.ending)writeAfterEnd(this,r);else if(a||validChunk(this,i,e,r)){i.pendingcb++;n=writeOrBuffer(this,i,a,e,t,r)}return n};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e===\"string\")e=e.toLowerCase();if(!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new _(e);this._writableState.defaultEncoding=e;return this};Object.defineProperty(Writable.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t===\"string\"){t=s.from(t,r)}return t}Object.defineProperty(Writable.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,i,n,a){if(!r){var s=decodeChunk(t,i,n);if(i!==s){r=true;n=\"buffer\";i=s}}var o=t.objectMode?1:i.length;t.length+=o;var h=t.length<t.highWaterMark;if(!h)t.needDrain=true;if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:a,next:null};if(u){u.next=t.lastBufferedRequest}else{t.bufferedRequest=t.lastBufferedRequest}t.bufferedRequestCount+=1}else{doWrite(e,t,false,o,i,n,a)}return h}function doWrite(e,t,r,i,n,a,s){t.writelen=i;t.writecb=s;t.writing=true;t.sync=true;if(t.destroyed)t.onwrite(new m(\"write\"));else if(r)e._writev(n,t.onwrite);else e._write(n,a,t.onwrite);t.sync=false}function onwriteError(e,t,r,i,n){--t.pendingcb;if(r){process.nextTick(n,i);process.nextTick(finishMaybe,e,t);e._writableState.errorEmitted=true;w(e,i)}else{n(i);e._writableState.errorEmitted=true;w(e,i);finishMaybe(e,t)}}function onwriteStateUpdate(e){e.writing=false;e.writecb=null;e.length-=e.writelen;e.writelen=0}function onwrite(e,t){var r=e._writableState;var i=r.sync;var n=r.writecb;if(typeof n!==\"function\")throw new v;onwriteStateUpdate(r);if(t)onwriteError(e,r,i,t,n);else{var a=needFinish(r)||e.destroyed;if(!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest){clearBuffer(e,r)}if(i){process.nextTick(afterWrite,e,r,a,n)}else{afterWrite(e,r,a,n)}}}function afterWrite(e,t,r,i){if(!r)onwriteDrain(e,t);t.pendingcb--;i();finishMaybe(e,t)}function onwriteDrain(e,t){if(t.length===0&&t.needDrain){t.needDrain=false;e.emit(\"drain\")}}function clearBuffer(e,t){t.bufferProcessing=true;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount;var n=new Array(i);var a=t.corkedRequestsFree;a.entry=r;var s=0;var o=true;while(r){n[s]=r;if(!r.isBuf)o=false;r=r.next;s+=1}n.allBuffers=o;doWrite(e,t,true,t.length,n,\"\",a.finish);t.pendingcb++;t.lastBufferedRequest=null;if(a.next){t.corkedRequestsFree=a.next;a.next=null}else{t.corkedRequestsFree=new CorkedRequest(t)}t.bufferedRequestCount=0}else{while(r){var h=r.chunk;var u=r.encoding;var d=r.callback;var c=t.objectMode?1:h.length;doWrite(e,t,false,c,h,u,d);r=r.next;t.bufferedRequestCount--;if(t.writing){break}}if(r===null)t.lastBufferedRequest=null}t.bufferedRequest=r;t.bufferProcessing=false}Writable.prototype._write=function(e,t,r){r(new p(\"_write()\"))};Writable.prototype._writev=null;Writable.prototype.end=function(e,t,r){var i=this._writableState;if(typeof e===\"function\"){r=e;e=null;t=null}else if(typeof t===\"function\"){r=t;t=null}if(e!==null&&e!==undefined)this.write(e,t);if(i.corked){i.corked=1;this.uncork()}if(!i.ending)endWritable(this,i,r);return this};Object.defineProperty(Writable.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function needFinish(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function callFinal(e,t){e._final((function(r){t.pendingcb--;if(r){w(e,r)}t.prefinished=true;e.emit(\"prefinish\");finishMaybe(e,t)}))}function prefinish(e,t){if(!t.prefinished&&!t.finalCalled){if(typeof e._final===\"function\"&&!t.destroyed){t.pendingcb++;t.finalCalled=true;process.nextTick(callFinal,e,t)}else{t.prefinished=true;e.emit(\"prefinish\")}}}function finishMaybe(e,t){var r=needFinish(t);if(r){prefinish(e,t);if(t.pendingcb===0){t.finished=true;e.emit(\"finish\");if(t.autoDestroy){var i=e._readableState;if(!i||i.autoDestroy&&i.endEmitted){e.destroy()}}}}return r}function endWritable(e,t,r){t.ending=true;finishMaybe(e,t);if(r){if(t.finished)process.nextTick(r);else e.once(\"finish\",r)}t.ended=true;e.writable=false}function onCorkedFinish(e,t,r){var i=e.entry;e.entry=null;while(i){var n=i.callback;t.pendingcb--;n(r);i=i.next}t.corkedRequestsFree.next=e}Object.defineProperty(Writable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function set(e){if(!this._writableState){return}this._writableState.destroyed=e}});Writable.prototype.destroy=h.destroy;Writable.prototype._undestroy=h.undestroy;Writable.prototype._destroy=function(e,t){t(e)}},6871:function(e,t,r){\"use strict\";var i;function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var n=r(9698);var a=Symbol(\"lastResolve\");var s=Symbol(\"lastReject\");var o=Symbol(\"error\");var h=Symbol(\"ended\");var u=Symbol(\"lastPromise\");var d=Symbol(\"handlePromise\");var c=Symbol(\"stream\");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[a];if(t!==null){var r=e[c].read();if(r!==null){e[u]=null;e[a]=null;e[s]=null;t(createIterResult(r,false))}}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,i){e.then((function(){if(t[h]){r(createIterResult(undefined,true));return}t[d](r,i)}),i)}}var l=Object.getPrototypeOf((function(){}));var p=Object.setPrototypeOf((i={get stream(){return this[c]},next:function next(){var e=this;var t=this[o];if(t!==null){return Promise.reject(t)}if(this[h]){return Promise.resolve(createIterResult(undefined,true))}if(this[c].destroyed){return new Promise((function(t,r){process.nextTick((function(){if(e[o]){r(e[o])}else{t(createIterResult(undefined,true))}}))}))}var r=this[u];var i;if(r){i=new Promise(wrapForNext(r,this))}else{var n=this[c].read();if(n!==null){return Promise.resolve(createIterResult(n,false))}i=new Promise(this[d])}this[u]=i;return i}},_defineProperty(i,Symbol.asyncIterator,(function(){return this})),_defineProperty(i,\"return\",(function _return(){var e=this;return new Promise((function(t,r){e[c].destroy(null,(function(e){if(e){r(e);return}t(createIterResult(undefined,true))}))}))})),i),l);var v=function createReadableStreamAsyncIterator(e){var t;var r=Object.create(p,(t={},_defineProperty(t,c,{value:e,writable:true}),_defineProperty(t,a,{value:null,writable:true}),_defineProperty(t,s,{value:null,writable:true}),_defineProperty(t,o,{value:null,writable:true}),_defineProperty(t,h,{value:e._readableState.endEmitted,writable:true}),_defineProperty(t,d,{value:function value(e,t){var i=r[c].read();if(i){r[u]=null;r[a]=null;r[s]=null;e(createIterResult(i,false))}else{r[a]=e;r[s]=t}},writable:true}),t));r[u]=null;n(e,(function(e){if(e&&e.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var t=r[s];if(t!==null){r[u]=null;r[a]=null;r[s]=null;t(e)}r[o]=e;return}var i=r[a];if(i!==null){r[u]=null;r[a]=null;r[s]=null;i(createIterResult(undefined,true))}r[h]=true}));e.on(\"readable\",onReadable.bind(null,r));return r};e.exports=v},4379:function(e,t,r){\"use strict\";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);if(t)i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,i)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if(\"value\"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function _createClass(e,t,r){if(t)_defineProperties(e.prototype,t);if(r)_defineProperties(e,r);return e}var i=r(4300),n=i.Buffer;var a=r(3837),s=a.inspect;var o=s&&s.custom||\"inspect\";function copyBuffer(e,t,r){n.prototype.copy.call(e,t,r)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}_createClass(BufferList,[{key:\"push\",value:function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length}},{key:\"unshift\",value:function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length}},{key:\"shift\",value:function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e}},{key:\"clear\",value:function clear(){this.head=this.tail=null;this.length=0}},{key:\"join\",value:function join(e){if(this.length===0)return\"\";var t=this.head;var r=\"\"+t.data;while(t=t.next){r+=e+t.data}return r}},{key:\"concat\",value:function concat(e){if(this.length===0)return n.alloc(0);var t=n.allocUnsafe(e>>>0);var r=this.head;var i=0;while(r){copyBuffer(r.data,t,i);i+=r.data.length;r=r.next}return t}},{key:\"consume\",value:function consume(e,t){var r;if(e<this.head.data.length){r=this.head.data.slice(0,e);this.head.data=this.head.data.slice(e)}else if(e===this.head.data.length){r=this.shift()}else{r=t?this._getString(e):this._getBuffer(e)}return r}},{key:\"first\",value:function first(){return this.head.data}},{key:\"_getString\",value:function _getString(e){var t=this.head;var r=1;var i=t.data;e-=i.length;while(t=t.next){var n=t.data;var a=e>n.length?n.length:e;if(a===n.length)i+=n;else i+=n.slice(0,e);e-=a;if(e===0){if(a===n.length){++r;if(t.next)this.head=t.next;else this.head=this.tail=null}else{this.head=t;t.data=n.slice(a)}break}++r}this.length-=r;return i}},{key:\"_getBuffer\",value:function _getBuffer(e){var t=n.allocUnsafe(e);var r=this.head;var i=1;r.data.copy(t);e-=r.data.length;while(r=r.next){var a=r.data;var s=e>a.length?a.length:e;a.copy(t,t.length-e,0,s);e-=s;if(e===0){if(s===a.length){++i;if(r.next)this.head=r.next;else this.head=this.tail=null}else{this.head=r;r.data=a.slice(s)}break}++i}this.length-=i;return t}},{key:o,value:function value(e,t){return s(this,_objectSpread({},t,{depth:0,customInspect:false}))}}]);return BufferList}()},7025:function(e){\"use strict\";function destroy(e,t){var r=this;var i=this._readableState&&this._readableState.destroyed;var n=this._writableState&&this._writableState.destroyed;if(i||n){if(t){t(e)}else if(e){if(!this._writableState){process.nextTick(emitErrorNT,this,e)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,e)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,(function(e){if(!t&&e){if(!r._writableState){process.nextTick(emitErrorAndCloseNT,r,e)}else if(!r._writableState.errorEmitted){r._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,r,e)}else{process.nextTick(emitCloseNT,r)}}else if(t){process.nextTick(emitCloseNT,r);t(e)}else{process.nextTick(emitCloseNT,r)}}));return this}function emitErrorAndCloseNT(e,t){emitErrorNT(e,t);emitCloseNT(e)}function emitCloseNT(e){if(e._writableState&&!e._writableState.emitClose)return;if(e._readableState&&!e._readableState.emitClose)return;e.emit(\"close\")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit(\"error\",t)}function errorOrDestroy(e,t){var r=e._readableState;var i=e._writableState;if(r&&r.autoDestroy||i&&i.autoDestroy)e.destroy(t);else e.emit(\"error\",t)}e.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}},9698:function(e,t,r){\"use strict\";var i=r(4646).q.ERR_STREAM_PREMATURE_CLOSE;function once(e){var t=false;return function(){if(t)return;t=true;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++){i[n]=arguments[n]}e.apply(this,i)}}function noop(){}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function eos(e,t,r){if(typeof t===\"function\")return eos(e,null,t);if(!t)t={};r=once(r||noop);var n=t.readable||t.readable!==false&&e.readable;var a=t.writable||t.writable!==false&&e.writable;var s=function onlegacyfinish(){if(!e.writable)h()};var o=e._writableState&&e._writableState.finished;var h=function onfinish(){a=false;o=true;if(!n)r.call(e)};var u=e._readableState&&e._readableState.endEmitted;var d=function onend(){n=false;u=true;if(!a)r.call(e)};var c=function onerror(t){r.call(e,t)};var l=function onclose(){var t;if(n&&!u){if(!e._readableState||!e._readableState.ended)t=new i;return r.call(e,t)}if(a&&!o){if(!e._writableState||!e._writableState.ended)t=new i;return r.call(e,t)}};var p=function onrequest(){e.req.on(\"finish\",h)};if(isRequest(e)){e.on(\"complete\",h);e.on(\"abort\",l);if(e.req)p();else e.on(\"request\",p)}else if(a&&!e._writableState){e.on(\"end\",s);e.on(\"close\",s)}e.on(\"end\",d);e.on(\"finish\",h);if(t.error!==false)e.on(\"error\",c);e.on(\"close\",l);return function(){e.removeListener(\"complete\",h);e.removeListener(\"abort\",l);e.removeListener(\"request\",p);if(e.req)e.req.removeListener(\"finish\",h);e.removeListener(\"end\",s);e.removeListener(\"close\",s);e.removeListener(\"finish\",h);e.removeListener(\"end\",d);e.removeListener(\"error\",c);e.removeListener(\"close\",l)}}e.exports=eos},9727:function(e,t,r){\"use strict\";function asyncGeneratorStep(e,t,r,i,n,a,s){try{var o=e[a](s);var h=o.value}catch(e){r(e);return}if(o.done){t(h)}else{Promise.resolve(h).then(i,n)}}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(i,n){var a=e.apply(t,r);function _next(e){asyncGeneratorStep(a,i,n,_next,_throw,\"next\",e)}function _throw(e){asyncGeneratorStep(a,i,n,_next,_throw,\"throw\",e)}_next(undefined)}))}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);if(t)i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,i)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var i=r(4646).q.ERR_INVALID_ARG_TYPE;function from(e,t,r){var n;if(t&&typeof t.next===\"function\"){n=t}else if(t&&t[Symbol.asyncIterator])n=t[Symbol.asyncIterator]();else if(t&&t[Symbol.iterator])n=t[Symbol.iterator]();else throw new i(\"iterable\",[\"Iterable\"],t);var a=new e(_objectSpread({objectMode:true},r));var s=false;a._read=function(){if(!s){s=true;next()}};function next(){return _next2.apply(this,arguments)}function _next2(){_next2=_asyncToGenerator((function*(){try{var e=yield n.next(),t=e.value,r=e.done;if(r){a.push(null)}else if(a.push(yield t)){next()}else{s=false}}catch(e){a.destroy(e)}}));return _next2.apply(this,arguments)}return a}e.exports=from},8442:function(e,t,r){\"use strict\";var i;function once(e){var t=false;return function(){if(t)return;t=true;e.apply(void 0,arguments)}}var n=r(4646).q,a=n.ERR_MISSING_ARGS,s=n.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function destroyer(e,t,n,a){a=once(a);var o=false;e.on(\"close\",(function(){o=true}));if(i===undefined)i=r(9698);i(e,{readable:t,writable:n},(function(e){if(e)return a(e);o=true;a()}));var h=false;return function(t){if(o)return;if(h)return;h=true;if(isRequest(e))return e.abort();if(typeof e.destroy===\"function\")return e.destroy();a(t||new s(\"pipe\"))}}function call(e){e()}function pipe(e,t){return e.pipe(t)}function popCallback(e){if(!e.length)return noop;if(typeof e[e.length-1]!==\"function\")return noop;return e.pop()}function pipeline(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var i=popCallback(t);if(Array.isArray(t[0]))t=t[0];if(t.length<2){throw new a(\"streams\")}var n;var s=t.map((function(e,r){var a=r<t.length-1;var o=r>0;return destroyer(e,a,o,(function(e){if(!n)n=e;if(e)s.forEach(call);if(a)return;s.forEach(call);i(n)}))}));return t.reduce(pipe)}e.exports=pipeline},6776:function(e,t,r){\"use strict\";var i=r(4646).q.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function getHighWaterMark(e,t,r,n){var a=highWaterMarkFrom(t,n,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var s=n?r:\"highWaterMark\";throw new i(s,a)}return Math.floor(a)}return e.objectMode?16:16*1024}e.exports={getHighWaterMark:getHighWaterMark}},4678:function(e,t,r){e.exports=r(2781)},3726:function(e,t,r){var i=r(2781);if(process.env.READABLE_STREAM===\"disable\"&&i){e.exports=i.Readable;Object.assign(e.exports,i);e.exports.Stream=i}else{t=e.exports=r(1709);t.Stream=i||t;t.Readable=t;t.Writable=r(7337);t.Duplex=r(2403);t.Transform=r(1170);t.PassThrough=r(7889);t.finished=r(9698);t.pipeline=r(8442)}},3225:function(e,t,r){\"use strict\";var i=r(4300).Buffer;var n=r(3782);var a=r(9029);var s=new Array(16);var o=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var h=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var d=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];var c=[0,1518500249,1859775393,2400959708,2840853838];var l=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){a.call(this,64);this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520}n(RIPEMD160,a);RIPEMD160.prototype._update=function(){var e=s;for(var t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var p=this._e|0;var v=this._a|0;var b=this._b|0;var m=this._c|0;var y=this._d|0;var g=this._e|0;for(var _=0;_<80;_+=1){var w;var M;if(_<16){w=fn1(r,i,n,a,p,e[o[_]],c[0],u[_]);M=fn5(v,b,m,y,g,e[h[_]],l[0],d[_])}else if(_<32){w=fn2(r,i,n,a,p,e[o[_]],c[1],u[_]);M=fn4(v,b,m,y,g,e[h[_]],l[1],d[_])}else if(_<48){w=fn3(r,i,n,a,p,e[o[_]],c[2],u[_]);M=fn3(v,b,m,y,g,e[h[_]],l[2],d[_])}else if(_<64){w=fn4(r,i,n,a,p,e[o[_]],c[3],u[_]);M=fn2(v,b,m,y,g,e[h[_]],l[3],d[_])}else{w=fn5(r,i,n,a,p,e[o[_]],c[4],u[_]);M=fn1(v,b,m,y,g,e[h[_]],l[4],d[_])}r=p;p=a;a=rotl(n,10);n=i;i=w;v=g;g=y;y=rotl(m,10);m=b;b=M}var B=this._b+n+y|0;this._b=this._c+a+g|0;this._c=this._d+p+v|0;this._d=this._e+r+b|0;this._e=this._a+i+m|0;this._a=B};RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128;if(this._blockOffset>56){this._block.fill(0,this._blockOffset,64);this._update();this._blockOffset=0}this._block.fill(0,this._blockOffset,56);this._block.writeUInt32LE(this._length[0],56);this._block.writeUInt32LE(this._length[1],60);this._update();var e=i.alloc?i.alloc(20):new i(20);e.writeInt32LE(this._a,0);e.writeInt32LE(this._b,4);e.writeInt32LE(this._c,8);e.writeInt32LE(this._d,12);e.writeInt32LE(this._e,16);return e};function rotl(e,t){return e<<t|e>>>32-t}function fn1(e,t,r,i,n,a,s,o){return rotl(e+(t^r^i)+a+s|0,o)+n|0}function fn2(e,t,r,i,n,a,s,o){return rotl(e+(t&r|~t&i)+a+s|0,o)+n|0}function fn3(e,t,r,i,n,a,s,o){return rotl(e+((t|~r)^i)+a+s|0,o)+n|0}function fn4(e,t,r,i,n,a,s,o){return rotl(e+(t&i|r&~i)+a+s|0,o)+n|0}function fn5(e,t,r,i,n,a,s,o){return rotl(e+(t^(r|~i))+a+s|0,o)+n|0}e.exports=RIPEMD160},5055:function(e,t,r){var i=r(4300);var n=i.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow){e.exports=i}else{copyProps(i,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return n(e,t,r)}SafeBuffer.prototype=Object.create(n.prototype);copyProps(n,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e===\"number\"){throw new TypeError(\"Argument must not be a number\")}return n(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}var i=n(e);if(t!==undefined){if(typeof r===\"string\"){i.fill(t,r)}else{i.fill(t)}}else{i.fill(0)}return i};SafeBuffer.allocUnsafe=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return n(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return i.SlowBuffer(e)}},6911:function(e,t,r){\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nvar i=r(4300);var n=i.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow){e.exports=i}else{copyProps(i,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return n(e,t,r)}SafeBuffer.prototype=Object.create(n.prototype);copyProps(n,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e===\"number\"){throw new TypeError(\"Argument must not be a number\")}return n(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}var i=n(e);if(t!==undefined){if(typeof r===\"string\"){i.fill(t,r)}else{i.fill(t)}}else{i.fill(0)}return i};SafeBuffer.allocUnsafe=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return n(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return i.SlowBuffer(e)}},2858:function(e,t,r){var i=r(6911).Buffer;function Hash(e,t){this._block=i.alloc(e);this._finalSize=t;this._blockSize=e;this._len=0}Hash.prototype.update=function(e,t){if(typeof e===\"string\"){t=t||\"utf8\";e=i.from(e,t)}var r=this._block;var n=this._blockSize;var a=e.length;var s=this._len;for(var o=0;o<a;){var h=s%n;var u=Math.min(a-o,n-h);for(var d=0;d<u;d++){r[h+d]=e[o+d]}s+=u;o+=u;if(s%n===0){this._update(r)}}this._len+=a;return this};Hash.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128;this._block.fill(0,t+1);if(t>=this._finalSize){this._update(this._block);this._block.fill(0)}var r=this._len*8;if(r<=4294967295){this._block.writeUInt32BE(r,this._blockSize-4)}else{var i=(r&4294967295)>>>0;var n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8);this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a};Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")};e.exports=Hash},4371:function(e,t,r){var i=e.exports=function SHA(e){e=e.toLowerCase();var t=i[e];if(!t)throw new Error(e+\" is not supported (we accept pull requests)\");return new t};i.sha=r(4018);i.sha1=r(4179);i.sha224=r(532);i.sha256=r(1843);i.sha384=r(7455);i.sha512=r(9934)},4018:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1518500249,1859775393,2400959708|0,3395469782|0];var o=new Array(80);function Sha(){this.init();this._w=o;n.call(this,64,56)}i(Sha,n);Sha.prototype.init=function(){this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520;return this};function rotl5(e){return e<<5|e>>>27}function rotl30(e){return e<<30|e>>>2}function ft(e,t,r,i){if(e===0)return t&r|~t&i;if(e===2)return t&r|t&i|r&i;return t^r^i}Sha.prototype._update=function(e){var t=this._w;var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var o=this._e|0;for(var h=0;h<16;++h)t[h]=e.readInt32BE(h*4);for(;h<80;++h)t[h]=t[h-3]^t[h-8]^t[h-14]^t[h-16];for(var u=0;u<80;++u){var d=~~(u/20);var c=rotl5(r)+ft(d,i,n,a)+o+t[u]+s[d]|0;o=a;a=n;n=rotl30(i);i=r;r=c}this._a=r+this._a|0;this._b=i+this._b|0;this._c=n+this._c|0;this._d=a+this._d|0;this._e=o+this._e|0};Sha.prototype._hash=function(){var e=a.allocUnsafe(20);e.writeInt32BE(this._a|0,0);e.writeInt32BE(this._b|0,4);e.writeInt32BE(this._c|0,8);e.writeInt32BE(this._d|0,12);e.writeInt32BE(this._e|0,16);return e};e.exports=Sha},4179:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1518500249,1859775393,2400959708|0,3395469782|0];var o=new Array(80);function Sha1(){this.init();this._w=o;n.call(this,64,56)}i(Sha1,n);Sha1.prototype.init=function(){this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520;return this};function rotl1(e){return e<<1|e>>>31}function rotl5(e){return e<<5|e>>>27}function rotl30(e){return e<<30|e>>>2}function ft(e,t,r,i){if(e===0)return t&r|~t&i;if(e===2)return t&r|t&i|r&i;return t^r^i}Sha1.prototype._update=function(e){var t=this._w;var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var o=this._e|0;for(var h=0;h<16;++h)t[h]=e.readInt32BE(h*4);for(;h<80;++h)t[h]=rotl1(t[h-3]^t[h-8]^t[h-14]^t[h-16]);for(var u=0;u<80;++u){var d=~~(u/20);var c=rotl5(r)+ft(d,i,n,a)+o+t[u]+s[d]|0;o=a;a=n;n=rotl30(i);i=r;r=c}this._a=r+this._a|0;this._b=i+this._b|0;this._c=n+this._c|0;this._d=a+this._d|0;this._e=o+this._e|0};Sha1.prototype._hash=function(){var e=a.allocUnsafe(20);e.writeInt32BE(this._a|0,0);e.writeInt32BE(this._b|0,4);e.writeInt32BE(this._c|0,8);e.writeInt32BE(this._d|0,12);e.writeInt32BE(this._e|0,16);return e};e.exports=Sha1},532:function(e,t,r){var i=r(3782);var n=r(1843);var a=r(2858);var s=r(6911).Buffer;var o=new Array(64);function Sha224(){this.init();this._w=o;a.call(this,64,56)}i(Sha224,n);Sha224.prototype.init=function(){this._a=3238371032;this._b=914150663;this._c=812702999;this._d=4144912697;this._e=4290775857;this._f=1750603025;this._g=1694076839;this._h=3204075428;return this};Sha224.prototype._hash=function(){var e=s.allocUnsafe(28);e.writeInt32BE(this._a,0);e.writeInt32BE(this._b,4);e.writeInt32BE(this._c,8);e.writeInt32BE(this._d,12);e.writeInt32BE(this._e,16);e.writeInt32BE(this._f,20);e.writeInt32BE(this._g,24);return e};e.exports=Sha224},1843:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];var o=new Array(64);function Sha256(){this.init();this._w=o;n.call(this,64,56)}i(Sha256,n);Sha256.prototype.init=function(){this._a=1779033703;this._b=3144134277;this._c=1013904242;this._d=2773480762;this._e=1359893119;this._f=2600822924;this._g=528734635;this._h=1541459225;return this};function ch(e,t,r){return r^e&(t^r)}function maj(e,t,r){return e&t|r&(e|t)}function sigma0(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function sigma1(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function gamma0(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function gamma1(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}Sha256.prototype._update=function(e){var t=this._w;var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var o=this._e|0;var h=this._f|0;var u=this._g|0;var d=this._h|0;for(var c=0;c<16;++c)t[c]=e.readInt32BE(c*4);for(;c<64;++c)t[c]=gamma1(t[c-2])+t[c-7]+gamma0(t[c-15])+t[c-16]|0;for(var l=0;l<64;++l){var p=d+sigma1(o)+ch(o,h,u)+s[l]+t[l]|0;var v=sigma0(r)+maj(r,i,n)|0;d=u;u=h;h=o;o=a+p|0;a=n;n=i;i=r;r=p+v|0}this._a=r+this._a|0;this._b=i+this._b|0;this._c=n+this._c|0;this._d=a+this._d|0;this._e=o+this._e|0;this._f=h+this._f|0;this._g=u+this._g|0;this._h=d+this._h|0};Sha256.prototype._hash=function(){var e=a.allocUnsafe(32);e.writeInt32BE(this._a,0);e.writeInt32BE(this._b,4);e.writeInt32BE(this._c,8);e.writeInt32BE(this._d,12);e.writeInt32BE(this._e,16);e.writeInt32BE(this._f,20);e.writeInt32BE(this._g,24);e.writeInt32BE(this._h,28);return e};e.exports=Sha256},7455:function(e,t,r){var i=r(3782);var n=r(9934);var a=r(2858);var s=r(6911).Buffer;var o=new Array(160);function Sha384(){this.init();this._w=o;a.call(this,128,112)}i(Sha384,n);Sha384.prototype.init=function(){this._ah=3418070365;this._bh=1654270250;this._ch=2438529370;this._dh=355462360;this._eh=1731405415;this._fh=2394180231;this._gh=3675008525;this._hh=1203062813;this._al=3238371032;this._bl=914150663;this._cl=812702999;this._dl=4144912697;this._el=4290775857;this._fl=1750603025;this._gl=1694076839;this._hl=3204075428;return this};Sha384.prototype._hash=function(){var e=s.allocUnsafe(48);function writeInt64BE(t,r,i){e.writeInt32BE(t,i);e.writeInt32BE(r,i+4)}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);return e};e.exports=Sha384},9934:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];var o=new Array(160);function Sha512(){this.init();this._w=o;n.call(this,128,112)}i(Sha512,n);Sha512.prototype.init=function(){this._ah=1779033703;this._bh=3144134277;this._ch=1013904242;this._dh=2773480762;this._eh=1359893119;this._fh=2600822924;this._gh=528734635;this._hh=1541459225;this._al=4089235720;this._bl=2227873595;this._cl=4271175723;this._dl=1595750129;this._el=2917565137;this._fl=725511199;this._gl=4215389547;this._hl=327033209;return this};function Ch(e,t,r){return r^e&(t^r)}function maj(e,t,r){return e&t|r&(e|t)}function sigma0(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function sigma1(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function Gamma0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function Gamma0l(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function Gamma1(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function Gamma1l(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function getCarry(e,t){return e>>>0<t>>>0?1:0}Sha512.prototype._update=function(e){var t=this._w;var r=this._ah|0;var i=this._bh|0;var n=this._ch|0;var a=this._dh|0;var o=this._eh|0;var h=this._fh|0;var u=this._gh|0;var d=this._hh|0;var c=this._al|0;var l=this._bl|0;var p=this._cl|0;var v=this._dl|0;var b=this._el|0;var m=this._fl|0;var y=this._gl|0;var g=this._hl|0;for(var _=0;_<32;_+=2){t[_]=e.readInt32BE(_*4);t[_+1]=e.readInt32BE(_*4+4)}for(;_<160;_+=2){var w=t[_-15*2];var M=t[_-15*2+1];var B=Gamma0(w,M);var E=Gamma0l(M,w);w=t[_-2*2];M=t[_-2*2+1];var k=Gamma1(w,M);var A=Gamma1l(M,w);var N=t[_-7*2];var P=t[_-7*2+1];var x=t[_-16*2];var I=t[_-16*2+1];var C=E+P|0;var D=B+N+getCarry(C,E)|0;C=C+A|0;D=D+k+getCarry(C,A)|0;C=C+I|0;D=D+x+getCarry(C,I)|0;t[_]=D;t[_+1]=C}for(var T=0;T<160;T+=2){D=t[T];C=t[T+1];var j=maj(r,i,n);var q=maj(c,l,p);var O=sigma0(r,c);var H=sigma0(c,r);var L=sigma1(o,b);var z=sigma1(b,o);var F=s[T];var U=s[T+1];var W=Ch(o,h,u);var V=Ch(b,m,y);var G=g+z|0;var J=d+L+getCarry(G,g)|0;G=G+V|0;J=J+W+getCarry(G,V)|0;G=G+U|0;J=J+F+getCarry(G,U)|0;G=G+C|0;J=J+D+getCarry(G,C)|0;var Z=H+q|0;var X=O+j+getCarry(Z,H)|0;d=u;g=y;u=h;y=m;h=o;m=b;b=v+G|0;o=a+J+getCarry(b,v)|0;a=n;v=p;n=i;p=l;i=r;l=c;c=G+Z|0;r=J+X+getCarry(c,G)|0}this._al=this._al+c|0;this._bl=this._bl+l|0;this._cl=this._cl+p|0;this._dl=this._dl+v|0;this._el=this._el+b|0;this._fl=this._fl+m|0;this._gl=this._gl+y|0;this._hl=this._hl+g|0;this._ah=this._ah+r+getCarry(this._al,c)|0;this._bh=this._bh+i+getCarry(this._bl,l)|0;this._ch=this._ch+n+getCarry(this._cl,p)|0;this._dh=this._dh+a+getCarry(this._dl,v)|0;this._eh=this._eh+o+getCarry(this._el,b)|0;this._fh=this._fh+h+getCarry(this._fl,m)|0;this._gh=this._gh+u+getCarry(this._gl,y)|0;this._hh=this._hh+d+getCarry(this._hl,g)|0};Sha512.prototype._hash=function(){var e=a.allocUnsafe(64);function writeInt64BE(t,r,i){e.writeInt32BE(t,i);e.writeInt32BE(r,i+4)}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);writeInt64BE(this._gh,this._gl,48);writeInt64BE(this._hh,this._hl,56);return e};e.exports=Sha512},3704:function(e,t,r){\"use strict\";var i=r(5055).Buffer;var n=i.isEncoding||function(e){e=\"\"+e;switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return true;default:return false}};function _normalizeEncoding(e){if(!e)return\"utf8\";var t;while(true){switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!==\"string\"&&(i.isEncoding===n||!n(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}t.s=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case\"utf16le\":this.text=utf16Text;this.end=utf16End;t=4;break;case\"utf8\":this.fillLast=utf8FillLast;t=4;break;case\"base64\":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=i.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return\"\";var t;var r;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return\"\";r=this.lastNeed;this.lastNeed=0}else{r=0}if(r<e.length)return t?t+this.text(e,r):this.text(e,r);return t||\"\"};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(e){if(this.lastNeed<=e.length){e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length);this.lastNeed-=e.length};function utf8CheckByte(e){if(e<=127)return 0;else if(e>>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var i=t.length-1;if(i<r)return 0;var n=utf8CheckByte(t[i]);if(n>=0){if(n>0)e.lastNeed=n-1;return n}if(--i<r||n===-2)return 0;n=utf8CheckByte(t[i]);if(n>=0){if(n>0)e.lastNeed=n-2;return n}if(--i<r||n===-2)return 0;n=utf8CheckByte(t[i]);if(n>=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return\"�\"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return\"�\"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return\"�\"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString(\"utf8\",t,i)}function utf8End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+\"�\";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString(\"utf16le\",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString(\"base64\",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString(\"base64\",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+this.lastChar.toString(\"base64\",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):\"\"}},6769:function(e){e.exports=deprecate;function deprecate(e,t){if(config(\"noDeprecation\")){return e}var r=false;function deprecated(){if(!r){if(config(\"throwDeprecation\")){throw new Error(t)}else if(config(\"traceDeprecation\")){console.trace(t)}else{console.warn(t)}r=true}return e.apply(this,arguments)}return deprecated}function config(e){try{if(!__webpack_require__.g.localStorage)return false}catch(e){return false}var t=__webpack_require__.g.localStorage[e];if(null==t)return false;return String(t).toLowerCase()===\"true\"}},4300:function(e){\"use strict\";e.exports=__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")},6113:function(e){\"use strict\";e.exports=__webpack_require__(/*! crypto */ \"./node_modules/next/dist/compiled/crypto-browserify/index.js\")},2361:function(e){\"use strict\";e.exports=__webpack_require__(/*! events */ \"./node_modules/events/events.js\")},2781:function(e){\"use strict\";e.exports=__webpack_require__(/*! stream */ \"./node_modules/next/dist/compiled/stream-browserify/index.js\")},1576:function(e){\"use strict\";e.exports=__webpack_require__(/*! string_decoder */ \"./node_modules/string_decoder/lib/string_decoder.js\")},3837:function(e){\"use strict\";e.exports=__webpack_require__(/*! util */ \"./node_modules/util/util.js\")},6144:function(e){\"use strict\";e.exports=__webpack_require__(/*! vm */ \"./node_modules/next/dist/compiled/vm-browserify/index.js\")},5866:function(e){\"use strict\";e.exports=JSON.parse('{\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}}')},2908:function(e){\"use strict\";e.exports=JSON.parse('{\"sha224WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"sha256WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"sha384WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"sha512WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{\"sign\":\"rsa\",\"hash\":\"sha1\",\"id\":\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{\"sign\":\"ecdsa\",\"hash\":\"sha1\",\"id\":\"\"},\"sha256\":{\"sign\":\"ecdsa\",\"hash\":\"sha256\",\"id\":\"\"},\"sha224\":{\"sign\":\"ecdsa\",\"hash\":\"sha224\",\"id\":\"\"},\"sha384\":{\"sign\":\"ecdsa\",\"hash\":\"sha384\",\"id\":\"\"},\"sha512\":{\"sign\":\"ecdsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-SHA1\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-WITH-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-WITH-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-WITH-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-WITH-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-RIPEMD160\":{\"sign\":\"dsa\",\"hash\":\"rmd160\",\"id\":\"\"},\"ripemd160WithRSA\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"md5WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"}}')},9267:function(e){\"use strict\";e.exports=JSON.parse('{\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}')},7992:function(e){\"use strict\";e.exports=JSON.parse('{\"modp1\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},\"modp2\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},\"modp5\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},\"modp14\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},\"modp15\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},\"modp16\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},\"modp17\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},\"modp18\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}')},2531:function(e){\"use strict\";e.exports={i8:\"6.5.3\"}},2510:function(e){\"use strict\";e.exports=JSON.parse('{\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}')}};var t={};function __nccwpck_require__(r){var i=t[r];if(i!==undefined){return i.exports}var n=t[r]={id:r,loaded:false,exports:{}};var a=true;try{e[r].call(n.exports,n,n.exports,__nccwpck_require__);a=false}finally{if(a)delete t[r]}n.loaded=true;return n.exports}!function(){__nccwpck_require__.nmd=function(e){e.paths=[];if(!e.children)e.children=[];return e}}();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r={};!function(){\"use strict\";var e=r;e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=__nccwpck_require__(7223);e.createHash=e.Hash=__nccwpck_require__(9739);e.createHmac=e.Hmac=__nccwpck_require__(4873);var t=__nccwpck_require__(9276);var i=Object.keys(t);var n=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(i);e.getHashes=function(){return n};var a=__nccwpck_require__(4978);e.pbkdf2=a.pbkdf2;e.pbkdf2Sync=a.pbkdf2Sync;var s=__nccwpck_require__(8996);e.Cipher=s.Cipher;e.createCipher=s.createCipher;e.Cipheriv=s.Cipheriv;e.createCipheriv=s.createCipheriv;e.Decipher=s.Decipher;e.createDecipher=s.createDecipher;e.Decipheriv=s.Decipheriv;e.createDecipheriv=s.createDecipheriv;e.getCiphers=s.getCiphers;e.listCiphers=s.listCiphers;var o=__nccwpck_require__(6587);e.DiffieHellmanGroup=o.DiffieHellmanGroup;e.createDiffieHellmanGroup=o.createDiffieHellmanGroup;e.getDiffieHellman=o.getDiffieHellman;e.createDiffieHellman=o.createDiffieHellman;e.DiffieHellman=o.DiffieHellman;var h=__nccwpck_require__(4078);e.createSign=h.createSign;e.Sign=h.Sign;e.createVerify=h.createVerify;e.Verify=h.Verify;e.createECDH=__nccwpck_require__(9942);var u=__nccwpck_require__(9783);e.publicEncrypt=u.publicEncrypt;e.privateEncrypt=u.privateEncrypt;e.publicDecrypt=u.publicDecrypt;e.privateDecrypt=u.privateDecrypt;var d=__nccwpck_require__(6445);e.randomFill=d.randomFill;e.randomFillSync=d.randomFillSync;e.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(\"\\n\"))};e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}();module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2NyeXB0by1icm93c2VyaWZ5L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7OztBQUFBLFlBQVksT0FBTyxxQkFBcUIsUUFBUSxnQkFBZ0IsdUJBQXVCLGNBQWMsb0JBQW9CLG1CQUFtQixtQkFBbUIscUJBQXFCLGNBQWMsY0FBYyxRQUFRLDhCQUE4Qix3QkFBd0IscUJBQXFCLFlBQVksWUFBWSxpQkFBaUIsaUJBQWlCLHNEQUFzRCxNQUFNLElBQUksNkRBQTZELCtCQUErQixNQUFNLElBQUksU0FBUyxjQUFjLG9CQUFvQixPQUFPLDZDQUE2QyxnQkFBZ0Isb0JBQW9CLHFEQUFxRCxXQUFXLHNGQUFzRix5QkFBeUIsK0NBQStDLHdDQUF3QyxxREFBcUQsV0FBVyxzRkFBc0YseUJBQXlCLCtDQUErQyx3Q0FBd0Msc0JBQXNCLGNBQWMsc0JBQXNCLHFCQUFxQiw0QkFBNEIsZUFBZSxtQkFBbUIsK0JBQStCLE9BQU8sWUFBWSxjQUFjLHFCQUFxQixtQkFBbUIsa0JBQWtCLDZDQUE2QyxPQUFPLDBEQUEwRCxvREFBb0QsbUNBQW1DLGtCQUFrQixxQkFBcUIscUJBQXFCLDBDQUEwQyxVQUFVLG1EQUFtRCxrQ0FBa0Msd0RBQXdELDZFQUE2RSxvREFBb0QsZ0RBQWdELCtFQUErRSxtQ0FBbUMscUNBQXFDLHFCQUFxQix1QkFBdUIsZUFBZSxVQUFVLDRDQUE0Qyw0REFBNEQsNEJBQTRCLHFCQUFxQixjQUFjLDhCQUE4QiwwREFBMEQsc0JBQXNCLFNBQVMsUUFBUSw2QkFBNkIsa0VBQWtFLGFBQWEsY0FBYyw2QkFBNkIsYUFBYSw0QkFBNEIsdUJBQXVCLGFBQWEscUJBQXFCLEtBQUssK0NBQStDLGtCQUFrQixnREFBZ0QsMkJBQTJCLFVBQVUsNEJBQTRCLDhCQUE4QixnQ0FBZ0MsWUFBWSxZQUFZLEdBQUcsS0FBSyxnREFBZ0QsMkRBQTJELG9EQUFvRCxlQUFlLFVBQVUscUJBQXFCLFFBQVEscUJBQXFCLDBCQUEwQiww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QUFxQixxQkFBcUIsc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixnQ0FBZ0MsNkJBQTZCLGFBQWEsaUJBQWlCLGlCQUFpQixxQkFBcUIsaUJBQWlCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIsc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixnQ0FBZ0MsNkJBQTZCLGFBQWEsaUJBQWlCLGlCQUFpQixxQkFBcUIsaUJBQWlCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIsc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixnQ0FBZ0MsNkJBQTZCLGFBQWEsaUJBQWlCLGlCQUFpQixxQkFBcUIsaUJBQWlCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIsc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixnQ0FBZ0MsNkJBQTZCLGFBQWEsaUJBQWlCLGlCQUFpQixxQkFBcUIsaUJBQWlCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGtCQUFrQixrQkFBa0Isc0JBQXNCLGtCQUFrQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixnQ0FBZ0MsNkJBQTZCLGFBQWEsa0JBQWtCLGtCQUFrQixzQkFBc0Isa0JBQWtCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGtCQUFrQixrQkFBa0Isc0JBQXNCLGtCQUFrQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGtCQUFrQixrQkFBa0Isc0JBQXNCLGtCQUFrQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixnQ0FBZ0MsNkJBQTZCLGFBQWEsa0JBQWtCLGtCQUFrQixzQkFBc0Isa0JBQWtCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGtCQUFrQixrQkFBa0Isc0JBQXNCLGtCQUFrQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGtCQUFrQixrQkFBa0Is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aUJBQWlCLHFCQUFxQixpQkFBaUIsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLGdDQUFnQyw2QkFBNkIsYUFBYSxpQkFBaUIsaUJBQWlCLHFCQUFxQixpQkFBaUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLGdDQUFnQyw2QkFBNkIsYUFBYSxpQkFBaUIsaUJBQWlCLHFCQUFxQixpQkFBaUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLGdDQUFnQyw2QkFBNkIsYUFBYSxpQkFBaUIsaUJBQWlCLHFCQUFxQixpQkFBaUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIscUJBQXFCLHFCQUFxQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGlCQUFpQixpQkFBaUIscUJBQXFCLGlCQUFpQixxQkFBcUIscUJBQXFCLHFCQUFxQixxQkFBcUIsc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLGdDQUFnQyw2QkFBNkIsYUFBYSxpQkFBaUIsaUJBQWlCLHFCQUFxQixpQkFBaUIsc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLGdDQUFnQyw2QkFBNkIsYUFBYSxrQkFBa0Isa0JBQWtCLHNCQUFzQixrQkFBa0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0IsZ0NBQWdDLDZCQUE2QixhQUFhLGtCQUFrQixrQkFBa0Isc0JBQXNCLGtCQUFrQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLGdDQUFnQyw2QkFBNkIsYUFBYSxrQkFBa0Isa0JBQWtCLHNCQUFzQixrQkFBa0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFz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QkFBMEIsc0NBQXNDLDBCQUEwQiw0QkFBNEIsZ0NBQWdDLDBDQUEwQyxzREFBc0Qsc0NBQXNDLDRDQUE0QyxnQ0FBZ0MsZ0NBQWdDLDBCQUEwQixjQUFjLDhCQUE4QixrQkFBa0IsdUNBQXVDLGdDQUFnQyxnQ0FBZ0Msa0NBQWtDLGdDQUFnQyxrQ0FBa0MsZ0NBQWdDLDBCQUEwQixrQ0FBa0MsK0JBQStCLG9LQUFvSyxhQUFhLGtXQUFrVyxHQUFHLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2NyeXB0by1icm93c2VyaWZ5L2luZGV4LmpzPzQyOWMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7dmFyIGU9ezcxNjA6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXQ7aS5iaWdudW09cig3MTEpO2kuZGVmaW5lPXIoNDk1KS5kZWZpbmU7aS5iYXNlPXIoODUzKTtpLmNvbnN0YW50cz1yKDczMzUpO2kuZGVjb2RlcnM9cig2NzAxKTtpLmVuY29kZXJzPXIoMzQxOCl9LDQ5NTpmdW5jdGlvbihlLHQscil7dmFyIGk9cig3MTYwKTt2YXIgbj1yKDM3ODIpO3ZhciBhPXQ7YS5kZWZpbmU9ZnVuY3Rpb24gZGVmaW5lKGUsdCl7cmV0dXJuIG5ldyBFbnRpdHkoZSx0KX07ZnVuY3Rpb24gRW50aXR5KGUsdCl7dGhpcy5uYW1lPWU7dGhpcy5ib2R5PXQ7dGhpcy5kZWNvZGVycz17fTt0aGlzLmVuY29kZXJzPXt9fUVudGl0eS5wcm90b3R5cGUuX2NyZWF0ZU5hbWVkPWZ1bmN0aW9uIGNyZWF0ZU5hbWVkKGUpe3ZhciB0O3RyeXt0PXIoNjE0NCkucnVuSW5UaGlzQ29udGV4dChcIihmdW5jdGlvbiBcIit0aGlzLm5hbWUrXCIoZW50aXR5KSB7XFxuXCIrXCIgIHRoaXMuX2luaXROYW1lZChlbnRpdHkpO1xcblwiK1wifSlcIil9Y2F0Y2goZSl7dD1mdW5jdGlvbihlKXt0aGlzLl9pbml0TmFtZWQoZSl9fW4odCxlKTt0LnByb3RvdHlwZS5faW5pdE5hbWVkPWZ1bmN0aW9uIGluaXRuYW1lZCh0KXtlLmNhbGwodGhpcyx0KX07cmV0dXJuIG5ldyB0KHRoaXMpfTtFbnRpdHkucHJvdG90eXBlLl9nZXREZWNvZGVyPWZ1bmN0aW9uIF9nZXREZWNvZGVyKGUpe2U9ZXx8XCJkZXJcIjtpZighdGhpcy5kZWNvZGVycy5oYXNPd25Qcm9wZXJ0eShlKSl0aGlzLmRlY29kZXJzW2VdPXRoaXMuX2NyZWF0ZU5hbWVkKGkuZGVjb2RlcnNbZV0pO3JldHVybiB0aGlzLmRlY29kZXJzW2VdfTtFbnRpdHkucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbiBkZWNvZGUoZSx0LHIpe3JldHVybiB0aGlzLl9nZXREZWNvZGVyKHQpLmRlY29kZShlLHIpfTtFbnRpdHkucHJvdG90eXBlLl9nZXRFbmNvZGVyPWZ1bmN0aW9uIF9nZXRFbmNvZGVyKGUpe2U9ZXx8XCJkZXJcIjtpZighdGhpcy5lbmNvZGVycy5oYXNPd25Qcm9wZXJ0eShlKSl0aGlzLmVuY29kZXJzW2VdPXRoaXMuX2NyZWF0ZU5hbWVkKGkuZW5jb2RlcnNbZV0pO3JldHVybiB0aGlzLmVuY29kZXJzW2VdfTtFbnRpdHkucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbiBlbmNvZGUoZSx0LHIpe3JldHVybiB0aGlzLl9nZXRFbmNvZGVyKHQpLmVuY29kZShlLHIpfX0sNjQ4MzpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDg1MykuUmVwb3J0ZXI7dmFyIGE9cig0MzAwKS5CdWZmZXI7ZnVuY3Rpb24gRGVjb2RlckJ1ZmZlcihlLHQpe24uY2FsbCh0aGlzLHQpO2lmKCFhLmlzQnVmZmVyKGUpKXt0aGlzLmVycm9yKFwiSW5wdXQgbm90IEJ1ZmZlclwiKTtyZXR1cm59dGhpcy5iYXNlPWU7dGhpcy5vZmZzZXQ9MDt0aGlzLmxlbmd0aD1lLmxlbmd0aH1pKERlY29kZXJCdWZmZXIsbik7dC5DPURlY29kZXJCdWZmZXI7RGVjb2RlckJ1ZmZlci5wcm90b3R5cGUuc2F2ZT1mdW5jdGlvbiBzYXZlKCl7cmV0dXJue29mZnNldDp0aGlzLm9mZnNldCxyZXBvcnRlcjpuLnByb3RvdHlwZS5zYXZlLmNhbGwodGhpcyl9fTtEZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uIHJlc3RvcmUoZSl7dmFyIHQ9bmV3IERlY29kZXJCdWZmZXIodGhpcy5iYXNlKTt0Lm9mZnNldD1lLm9mZnNldDt0Lmxlbmd0aD10aGlzLm9mZnNldDt0aGlzLm9mZnNldD1lLm9mZnNldDtuLnByb3RvdHlwZS5yZXN0b3JlLmNhbGwodGhpcyxlLnJlcG9ydGVyKTtyZXR1cm4gdH07RGVjb2RlckJ1ZmZlci5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbiBpc0VtcHR5KCl7cmV0dXJuIHRoaXMub2Zmc2V0PT09dGhpcy5sZW5ndGh9O0RlY29kZXJCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OD1mdW5jdGlvbiByZWFkVUludDgoZSl7aWYodGhpcy5vZmZzZXQrMTw9dGhpcy5sZW5ndGgpcmV0dXJuIHRoaXMuYmFzZS5yZWFkVUludDgodGhpcy5vZmZzZXQrKyx0cnVlKTtlbHNlIHJldHVybiB0aGlzLmVycm9yKGV8fFwiRGVjb2RlckJ1ZmZlciBvdmVycnVuXCIpfTtEZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5za2lwPWZ1bmN0aW9uIHNraXAoZSx0KXtpZighKHRoaXMub2Zmc2V0K2U8PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpcy5lcnJvcih0fHxcIkRlY29kZXJCdWZmZXIgb3ZlcnJ1blwiKTt2YXIgcj1uZXcgRGVjb2RlckJ1ZmZlcih0aGlzLmJhc2UpO3IuX3JlcG9ydGVyU3RhdGU9dGhpcy5fcmVwb3J0ZXJTdGF0ZTtyLm9mZnNldD10aGlzLm9mZnNldDtyLmxlbmd0aD10aGlzLm9mZnNldCtlO3RoaXMub2Zmc2V0Kz1lO3JldHVybiByfTtEZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24gcmF3KGUpe3JldHVybiB0aGlzLmJhc2Uuc2xpY2UoZT9lLm9mZnNldDp0aGlzLm9mZnNldCx0aGlzLmxlbmd0aCl9O2Z1bmN0aW9uIEVuY29kZXJCdWZmZXIoZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXt0aGlzLmxlbmd0aD0wO3RoaXMudmFsdWU9ZS5tYXAoKGZ1bmN0aW9uKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEVuY29kZXJCdWZmZXIpKWU9bmV3IEVuY29kZXJCdWZmZXIoZSx0KTt0aGlzLmxlbmd0aCs9ZS5sZW5ndGg7cmV0dXJuIGV9KSx0aGlzKX1lbHNlIGlmKHR5cGVvZiBlPT09XCJudW1iZXJcIil7aWYoISgwPD1lJiZlPD0yNTUpKXJldHVybiB0LmVycm9yKFwibm9uLWJ5dGUgRW5jb2RlckJ1ZmZlciB2YWx1ZVwiKTt0aGlzLnZhbHVlPWU7dGhpcy5sZW5ndGg9MX1lbHNlIGlmKHR5cGVvZiBlPT09XCJzdHJpbmdcIil7dGhpcy52YWx1ZT1lO3RoaXMubGVuZ3RoPWEuYnl0ZUxlbmd0aChlKX1lbHNlIGlmKGEuaXNCdWZmZXIoZSkpe3RoaXMudmFsdWU9ZTt0aGlzLmxlbmd0aD1lLmxlbmd0aH1lbHNle3JldHVybiB0LmVycm9yKFwiVW5zdXBwb3J0ZWQgdHlwZTogXCIrdHlwZW9mIGUpfX10LlI9RW5jb2RlckJ1ZmZlcjtFbmNvZGVyQnVmZmVyLnByb3RvdHlwZS5qb2luPWZ1bmN0aW9uIGpvaW4oZSx0KXtpZighZSllPW5ldyBhKHRoaXMubGVuZ3RoKTtpZighdCl0PTA7aWYodGhpcy5sZW5ndGg9PT0wKXJldHVybiBlO2lmKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpe3RoaXMudmFsdWUuZm9yRWFjaCgoZnVuY3Rpb24ocil7ci5qb2luKGUsdCk7dCs9ci5sZW5ndGh9KSl9ZWxzZXtpZih0eXBlb2YgdGhpcy52YWx1ZT09PVwibnVtYmVyXCIpZVt0XT10aGlzLnZhbHVlO2Vsc2UgaWYodHlwZW9mIHRoaXMudmFsdWU9PT1cInN0cmluZ1wiKWUud3JpdGUodGhpcy52YWx1ZSx0KTtlbHNlIGlmKGEuaXNCdWZmZXIodGhpcy52YWx1ZSkpdGhpcy52YWx1ZS5jb3B5KGUsdCk7dCs9dGhpcy5sZW5ndGh9cmV0dXJuIGV9fSw4NTM6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXQ7aS5SZXBvcnRlcj1yKDEyOTMpLmI7aS5EZWNvZGVyQnVmZmVyPXIoNjQ4MykuQztpLkVuY29kZXJCdWZmZXI9cig2NDgzKS5SO2kuTm9kZT1yKDkzNzQpfSw5Mzc0OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDg1MykuUmVwb3J0ZXI7dmFyIG49cig4NTMpLkVuY29kZXJCdWZmZXI7dmFyIGE9cig4NTMpLkRlY29kZXJCdWZmZXI7dmFyIHM9cigzNTIzKTt2YXIgbz1bXCJzZXFcIixcInNlcW9mXCIsXCJzZXRcIixcInNldG9mXCIsXCJvYmppZFwiLFwiYm9vbFwiLFwiZ2VudGltZVwiLFwidXRjdGltZVwiLFwibnVsbF9cIixcImVudW1cIixcImludFwiLFwib2JqRGVzY1wiLFwiYml0c3RyXCIsXCJibXBzdHJcIixcImNoYXJzdHJcIixcImdlbnN0clwiLFwiZ3JhcGhzdHJcIixcImlhNXN0clwiLFwiaXNvNjQ2c3RyXCIsXCJudW1zdHJcIixcIm9jdHN0clwiLFwicHJpbnRzdHJcIixcInQ2MXN0clwiLFwidW5pc3RyXCIsXCJ1dGY4c3RyXCIsXCJ2aWRlb3N0clwiXTt2YXIgaD1bXCJrZXlcIixcIm9ialwiLFwidXNlXCIsXCJvcHRpb25hbFwiLFwiZXhwbGljaXRcIixcImltcGxpY2l0XCIsXCJkZWZcIixcImNob2ljZVwiLFwiYW55XCIsXCJjb250YWluc1wiXS5jb25jYXQobyk7dmFyIHU9W1wiX3BlZWtUYWdcIixcIl9kZWNvZGVUYWdcIixcIl91c2VcIixcIl9kZWNvZGVTdHJcIixcIl9kZWNvZGVPYmppZFwiLFwiX2RlY29kZVRpbWVcIixcIl9kZWNvZGVOdWxsXCIsXCJfZGVjb2RlSW50XCIsXCJfZGVjb2RlQm9vbFwiLFwiX2RlY29kZUxpc3RcIixcIl9lbmNvZGVDb21wb3NpdGVcIixcIl9lbmNvZGVTdHJcIixcIl9lbmNvZGVPYmppZFwiLFwiX2VuY29kZVRpbWVcIixcIl9lbmNvZGVOdWxsXCIsXCJfZW5jb2RlSW50XCIsXCJfZW5jb2RlQm9vbFwiXTtmdW5jdGlvbiBOb2RlKGUsdCl7dmFyIHI9e307dGhpcy5fYmFzZVN0YXRlPXI7ci5lbmM9ZTtyLnBhcmVudD10fHxudWxsO3IuY2hpbGRyZW49bnVsbDtyLnRhZz1udWxsO3IuYXJncz1udWxsO3IucmV2ZXJzZUFyZ3M9bnVsbDtyLmNob2ljZT1udWxsO3Iub3B0aW9uYWw9ZmFsc2U7ci5hbnk9ZmFsc2U7ci5vYmo9ZmFsc2U7ci51c2U9bnVsbDtyLnVzZURlY29kZXI9bnVsbDtyLmtleT1udWxsO3JbXCJkZWZhdWx0XCJdPW51bGw7ci5leHBsaWNpdD1udWxsO3IuaW1wbGljaXQ9bnVsbDtyLmNvbnRhaW5zPW51bGw7aWYoIXIucGFyZW50KXtyLmNoaWxkcmVuPVtdO3RoaXMuX3dyYXAoKX19ZS5leHBvcnRzPU5vZGU7dmFyIGQ9W1wiZW5jXCIsXCJwYXJlbnRcIixcImNoaWxkcmVuXCIsXCJ0YWdcIixcImFyZ3NcIixcInJldmVyc2VBcmdzXCIsXCJjaG9pY2VcIixcIm9wdGlvbmFsXCIsXCJhbnlcIixcIm9ialwiLFwidXNlXCIsXCJhbHRlcmVkVXNlXCIsXCJrZXlcIixcImRlZmF1bHRcIixcImV4cGxpY2l0XCIsXCJpbXBsaWNpdFwiLFwiY29udGFpbnNcIl07Tm9kZS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24gY2xvbmUoKXt2YXIgZT10aGlzLl9iYXNlU3RhdGU7dmFyIHQ9e307ZC5mb3JFYWNoKChmdW5jdGlvbihyKXt0W3JdPWVbcl19KSk7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodC5wYXJlbnQpO3IuX2Jhc2VTdGF0ZT10O3JldHVybiByfTtOb2RlLnByb3RvdHlwZS5fd3JhcD1mdW5jdGlvbiB3cmFwKCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO2guZm9yRWFjaCgoZnVuY3Rpb24odCl7dGhpc1t0XT1mdW5jdGlvbiBfd3JhcHBlZE1ldGhvZCgpe3ZhciByPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpO2UuY2hpbGRyZW4ucHVzaChyKTtyZXR1cm4gclt0XS5hcHBseShyLGFyZ3VtZW50cyl9fSksdGhpcyl9O05vZGUucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uIGluaXQoZSl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlO3ModC5wYXJlbnQ9PT1udWxsKTtlLmNhbGwodGhpcyk7dC5jaGlsZHJlbj10LmNoaWxkcmVuLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuX2Jhc2VTdGF0ZS5wYXJlbnQ9PT10aGlzfSksdGhpcyk7cy5lcXVhbCh0LmNoaWxkcmVuLmxlbmd0aCwxLFwiUm9vdCBub2RlIGNhbiBoYXZlIG9ubHkgb25lIGNoaWxkXCIpfTtOb2RlLnByb3RvdHlwZS5fdXNlQXJncz1mdW5jdGlvbiB1c2VBcmdzKGUpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTt2YXIgcj1lLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yfSksdGhpcyk7ZT1lLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIShlIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcil9KSx0aGlzKTtpZihyLmxlbmd0aCE9PTApe3ModC5jaGlsZHJlbj09PW51bGwpO3QuY2hpbGRyZW49cjtyLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuX2Jhc2VTdGF0ZS5wYXJlbnQ9dGhpc30pLHRoaXMpfWlmKGUubGVuZ3RoIT09MCl7cyh0LmFyZ3M9PT1udWxsKTt0LmFyZ3M9ZTt0LnJldmVyc2VBcmdzPWUubWFwKChmdW5jdGlvbihlKXtpZih0eXBlb2YgZSE9PVwib2JqZWN0XCJ8fGUuY29uc3RydWN0b3IhPT1PYmplY3QpcmV0dXJuIGU7dmFyIHQ9e307T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24ocil7aWYocj09KHJ8MCkpcnw9MDt2YXIgaT1lW3JdO3RbaV09cn0pKTtyZXR1cm4gdH0pKX19O3UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Tm9kZS5wcm90b3R5cGVbZV09ZnVuY3Rpb24gX292ZXJyaWRlZCgpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTt0aHJvdyBuZXcgRXJyb3IoZStcIiBub3QgaW1wbGVtZW50ZWQgZm9yIGVuY29kaW5nOiBcIit0LmVuYyl9fSkpO28uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Tm9kZS5wcm90b3R5cGVbZV09ZnVuY3Rpb24gX3RhZ01ldGhvZCgpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3ModC50YWc9PT1udWxsKTt0LnRhZz1lO3RoaXMuX3VzZUFyZ3Mocik7cmV0dXJuIHRoaXN9fSkpO05vZGUucHJvdG90eXBlLnVzZT1mdW5jdGlvbiB1c2UoZSl7cyhlKTt2YXIgdD10aGlzLl9iYXNlU3RhdGU7cyh0LnVzZT09PW51bGwpO3QudXNlPWU7cmV0dXJuIHRoaXN9O05vZGUucHJvdG90eXBlLm9wdGlvbmFsPWZ1bmN0aW9uIG9wdGlvbmFsKCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO2Uub3B0aW9uYWw9dHJ1ZTtyZXR1cm4gdGhpc307Tm9kZS5wcm90b3R5cGUuZGVmPWZ1bmN0aW9uIGRlZihlKXt2YXIgdD10aGlzLl9iYXNlU3RhdGU7cyh0W1wiZGVmYXVsdFwiXT09PW51bGwpO3RbXCJkZWZhdWx0XCJdPWU7dC5vcHRpb25hbD10cnVlO3JldHVybiB0aGlzfTtOb2RlLnByb3RvdHlwZS5leHBsaWNpdD1mdW5jdGlvbiBleHBsaWNpdChlKXt2YXIgdD10aGlzLl9iYXNlU3RhdGU7cyh0LmV4cGxpY2l0PT09bnVsbCYmdC5pbXBsaWNpdD09PW51bGwpO3QuZXhwbGljaXQ9ZTtyZXR1cm4gdGhpc307Tm9kZS5wcm90b3R5cGUuaW1wbGljaXQ9ZnVuY3Rpb24gaW1wbGljaXQoZSl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlO3ModC5leHBsaWNpdD09PW51bGwmJnQuaW1wbGljaXQ9PT1udWxsKTt0LmltcGxpY2l0PWU7cmV0dXJuIHRoaXN9O05vZGUucHJvdG90eXBlLm9iaj1mdW5jdGlvbiBvYmooKXt2YXIgZT10aGlzLl9iYXNlU3RhdGU7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtlLm9iaj10cnVlO2lmKHQubGVuZ3RoIT09MCl0aGlzLl91c2VBcmdzKHQpO3JldHVybiB0aGlzfTtOb2RlLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24ga2V5KGUpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTtzKHQua2V5PT09bnVsbCk7dC5rZXk9ZTtyZXR1cm4gdGhpc307Tm9kZS5wcm90b3R5cGUuYW55PWZ1bmN0aW9uIGFueSgpe3ZhciBlPXRoaXMuX2Jhc2VTdGF0ZTtlLmFueT10cnVlO3JldHVybiB0aGlzfTtOb2RlLnByb3RvdHlwZS5jaG9pY2U9ZnVuY3Rpb24gY2hvaWNlKGUpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTtzKHQuY2hvaWNlPT09bnVsbCk7dC5jaG9pY2U9ZTt0aGlzLl91c2VBcmdzKE9iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19KSkpO3JldHVybiB0aGlzfTtOb2RlLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbiBjb250YWlucyhlKXt2YXIgdD10aGlzLl9iYXNlU3RhdGU7cyh0LnVzZT09PW51bGwpO3QuY29udGFpbnM9ZTtyZXR1cm4gdGhpc307Tm9kZS5wcm90b3R5cGUuX2RlY29kZT1mdW5jdGlvbiBkZWNvZGUoZSx0KXt2YXIgcj10aGlzLl9iYXNlU3RhdGU7aWYoci5wYXJlbnQ9PT1udWxsKXJldHVybiBlLndyYXBSZXN1bHQoci5jaGlsZHJlblswXS5fZGVjb2RlKGUsdCkpO3ZhciBpPXJbXCJkZWZhdWx0XCJdO3ZhciBuPXRydWU7dmFyIHM9bnVsbDtpZihyLmtleSE9PW51bGwpcz1lLmVudGVyS2V5KHIua2V5KTtpZihyLm9wdGlvbmFsKXt2YXIgbz1udWxsO2lmKHIuZXhwbGljaXQhPT1udWxsKW89ci5leHBsaWNpdDtlbHNlIGlmKHIuaW1wbGljaXQhPT1udWxsKW89ci5pbXBsaWNpdDtlbHNlIGlmKHIudGFnIT09bnVsbClvPXIudGFnO2lmKG89PT1udWxsJiYhci5hbnkpe3ZhciBoPWUuc2F2ZSgpO3RyeXtpZihyLmNob2ljZT09PW51bGwpdGhpcy5fZGVjb2RlR2VuZXJpYyhyLnRhZyxlLHQpO2Vsc2UgdGhpcy5fZGVjb2RlQ2hvaWNlKGUsdCk7bj10cnVlfWNhdGNoKGUpe249ZmFsc2V9ZS5yZXN0b3JlKGgpfWVsc2V7bj10aGlzLl9wZWVrVGFnKGUsbyxyLmFueSk7aWYoZS5pc0Vycm9yKG4pKXJldHVybiBufX12YXIgdTtpZihyLm9iaiYmbil1PWUuZW50ZXJPYmplY3QoKTtpZihuKXtpZihyLmV4cGxpY2l0IT09bnVsbCl7dmFyIGQ9dGhpcy5fZGVjb2RlVGFnKGUsci5leHBsaWNpdCk7aWYoZS5pc0Vycm9yKGQpKXJldHVybiBkO2U9ZH12YXIgYz1lLm9mZnNldDtpZihyLnVzZT09PW51bGwmJnIuY2hvaWNlPT09bnVsbCl7aWYoci5hbnkpdmFyIGg9ZS5zYXZlKCk7dmFyIGw9dGhpcy5fZGVjb2RlVGFnKGUsci5pbXBsaWNpdCE9PW51bGw/ci5pbXBsaWNpdDpyLnRhZyxyLmFueSk7aWYoZS5pc0Vycm9yKGwpKXJldHVybiBsO2lmKHIuYW55KWk9ZS5yYXcoaCk7ZWxzZSBlPWx9aWYodCYmdC50cmFjayYmci50YWchPT1udWxsKXQudHJhY2soZS5wYXRoKCksYyxlLmxlbmd0aCxcInRhZ2dlZFwiKTtpZih0JiZ0LnRyYWNrJiZyLnRhZyE9PW51bGwpdC50cmFjayhlLnBhdGgoKSxlLm9mZnNldCxlLmxlbmd0aCxcImNvbnRlbnRcIik7aWYoci5hbnkpaT1pO2Vsc2UgaWYoci5jaG9pY2U9PT1udWxsKWk9dGhpcy5fZGVjb2RlR2VuZXJpYyhyLnRhZyxlLHQpO2Vsc2UgaT10aGlzLl9kZWNvZGVDaG9pY2UoZSx0KTtpZihlLmlzRXJyb3IoaSkpcmV0dXJuIGk7aWYoIXIuYW55JiZyLmNob2ljZT09PW51bGwmJnIuY2hpbGRyZW4hPT1udWxsKXtyLmNoaWxkcmVuLmZvckVhY2goKGZ1bmN0aW9uIGRlY29kZUNoaWxkcmVuKHIpe3IuX2RlY29kZShlLHQpfSkpfWlmKHIuY29udGFpbnMmJihyLnRhZz09PVwib2N0c3RyXCJ8fHIudGFnPT09XCJiaXRzdHJcIikpe3ZhciBwPW5ldyBhKGkpO2k9dGhpcy5fZ2V0VXNlKHIuY29udGFpbnMsZS5fcmVwb3J0ZXJTdGF0ZS5vYmopLl9kZWNvZGUocCx0KX19aWYoci5vYmomJm4paT1lLmxlYXZlT2JqZWN0KHUpO2lmKHIua2V5IT09bnVsbCYmKGkhPT1udWxsfHxuPT09dHJ1ZSkpZS5sZWF2ZUtleShzLHIua2V5LGkpO2Vsc2UgaWYocyE9PW51bGwpZS5leGl0S2V5KHMpO3JldHVybiBpfTtOb2RlLnByb3RvdHlwZS5fZGVjb2RlR2VuZXJpYz1mdW5jdGlvbiBkZWNvZGVHZW5lcmljKGUsdCxyKXt2YXIgaT10aGlzLl9iYXNlU3RhdGU7aWYoZT09PVwic2VxXCJ8fGU9PT1cInNldFwiKXJldHVybiBudWxsO2lmKGU9PT1cInNlcW9mXCJ8fGU9PT1cInNldG9mXCIpcmV0dXJuIHRoaXMuX2RlY29kZUxpc3QodCxlLGkuYXJnc1swXSxyKTtlbHNlIGlmKC9zdHIkLy50ZXN0KGUpKXJldHVybiB0aGlzLl9kZWNvZGVTdHIodCxlLHIpO2Vsc2UgaWYoZT09PVwib2JqaWRcIiYmaS5hcmdzKXJldHVybiB0aGlzLl9kZWNvZGVPYmppZCh0LGkuYXJnc1swXSxpLmFyZ3NbMV0scik7ZWxzZSBpZihlPT09XCJvYmppZFwiKXJldHVybiB0aGlzLl9kZWNvZGVPYmppZCh0LG51bGwsbnVsbCxyKTtlbHNlIGlmKGU9PT1cImdlbnRpbWVcInx8ZT09PVwidXRjdGltZVwiKXJldHVybiB0aGlzLl9kZWNvZGVUaW1lKHQsZSxyKTtlbHNlIGlmKGU9PT1cIm51bGxfXCIpcmV0dXJuIHRoaXMuX2RlY29kZU51bGwodCxyKTtlbHNlIGlmKGU9PT1cImJvb2xcIilyZXR1cm4gdGhpcy5fZGVjb2RlQm9vbCh0LHIpO2Vsc2UgaWYoZT09PVwib2JqRGVzY1wiKXJldHVybiB0aGlzLl9kZWNvZGVTdHIodCxlLHIpO2Vsc2UgaWYoZT09PVwiaW50XCJ8fGU9PT1cImVudW1cIilyZXR1cm4gdGhpcy5fZGVjb2RlSW50KHQsaS5hcmdzJiZpLmFyZ3NbMF0scik7aWYoaS51c2UhPT1udWxsKXtyZXR1cm4gdGhpcy5fZ2V0VXNlKGkudXNlLHQuX3JlcG9ydGVyU3RhdGUub2JqKS5fZGVjb2RlKHQscil9ZWxzZXtyZXR1cm4gdC5lcnJvcihcInVua25vd24gdGFnOiBcIitlKX19O05vZGUucHJvdG90eXBlLl9nZXRVc2U9ZnVuY3Rpb24gX2dldFVzZShlLHQpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTtyLnVzZURlY29kZXI9dGhpcy5fdXNlKGUsdCk7cyhyLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5wYXJlbnQ9PT1udWxsKTtyLnVzZURlY29kZXI9ci51c2VEZWNvZGVyLl9iYXNlU3RhdGUuY2hpbGRyZW5bMF07aWYoci5pbXBsaWNpdCE9PXIudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0KXtyLnVzZURlY29kZXI9ci51c2VEZWNvZGVyLmNsb25lKCk7ci51c2VEZWNvZGVyLl9iYXNlU3RhdGUuaW1wbGljaXQ9ci5pbXBsaWNpdH1yZXR1cm4gci51c2VEZWNvZGVyfTtOb2RlLnByb3RvdHlwZS5fZGVjb2RlQ2hvaWNlPWZ1bmN0aW9uIGRlY29kZUNob2ljZShlLHQpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTt2YXIgaT1udWxsO3ZhciBuPWZhbHNlO09iamVjdC5rZXlzKHIuY2hvaWNlKS5zb21lKChmdW5jdGlvbihhKXt2YXIgcz1lLnNhdmUoKTt2YXIgbz1yLmNob2ljZVthXTt0cnl7dmFyIGg9by5fZGVjb2RlKGUsdCk7aWYoZS5pc0Vycm9yKGgpKXJldHVybiBmYWxzZTtpPXt0eXBlOmEsdmFsdWU6aH07bj10cnVlfWNhdGNoKHQpe2UucmVzdG9yZShzKTtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9KSx0aGlzKTtpZighbilyZXR1cm4gZS5lcnJvcihcIkNob2ljZSBub3QgbWF0Y2hlZFwiKTtyZXR1cm4gaX07Tm9kZS5wcm90b3R5cGUuX2NyZWF0ZUVuY29kZXJCdWZmZXI9ZnVuY3Rpb24gY3JlYXRlRW5jb2RlckJ1ZmZlcihlKXtyZXR1cm4gbmV3IG4oZSx0aGlzLnJlcG9ydGVyKX07Tm9kZS5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbiBlbmNvZGUoZSx0LHIpe3ZhciBpPXRoaXMuX2Jhc2VTdGF0ZTtpZihpW1wiZGVmYXVsdFwiXSE9PW51bGwmJmlbXCJkZWZhdWx0XCJdPT09ZSlyZXR1cm47dmFyIG49dGhpcy5fZW5jb2RlVmFsdWUoZSx0LHIpO2lmKG49PT11bmRlZmluZWQpcmV0dXJuO2lmKHRoaXMuX3NraXBEZWZhdWx0KG4sdCxyKSlyZXR1cm47cmV0dXJuIG59O05vZGUucHJvdG90eXBlLl9lbmNvZGVWYWx1ZT1mdW5jdGlvbiBlbmNvZGUoZSx0LHIpe3ZhciBuPXRoaXMuX2Jhc2VTdGF0ZTtpZihuLnBhcmVudD09PW51bGwpcmV0dXJuIG4uY2hpbGRyZW5bMF0uX2VuY29kZShlLHR8fG5ldyBpKTt2YXIgYT1udWxsO3RoaXMucmVwb3J0ZXI9dDtpZihuLm9wdGlvbmFsJiZlPT09dW5kZWZpbmVkKXtpZihuW1wiZGVmYXVsdFwiXSE9PW51bGwpZT1uW1wiZGVmYXVsdFwiXTtlbHNlIHJldHVybn12YXIgcz1udWxsO3ZhciBvPWZhbHNlO2lmKG4uYW55KXthPXRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZSl9ZWxzZSBpZihuLmNob2ljZSl7YT10aGlzLl9lbmNvZGVDaG9pY2UoZSx0KX1lbHNlIGlmKG4uY29udGFpbnMpe3M9dGhpcy5fZ2V0VXNlKG4uY29udGFpbnMscikuX2VuY29kZShlLHQpO289dHJ1ZX1lbHNlIGlmKG4uY2hpbGRyZW4pe3M9bi5jaGlsZHJlbi5tYXAoKGZ1bmN0aW9uKHIpe2lmKHIuX2Jhc2VTdGF0ZS50YWc9PT1cIm51bGxfXCIpcmV0dXJuIHIuX2VuY29kZShudWxsLHQsZSk7aWYoci5fYmFzZVN0YXRlLmtleT09PW51bGwpcmV0dXJuIHQuZXJyb3IoXCJDaGlsZCBzaG91bGQgaGF2ZSBhIGtleVwiKTt2YXIgaT10LmVudGVyS2V5KHIuX2Jhc2VTdGF0ZS5rZXkpO2lmKHR5cGVvZiBlIT09XCJvYmplY3RcIilyZXR1cm4gdC5lcnJvcihcIkNoaWxkIGV4cGVjdGVkLCBidXQgaW5wdXQgaXMgbm90IG9iamVjdFwiKTt2YXIgbj1yLl9lbmNvZGUoZVtyLl9iYXNlU3RhdGUua2V5XSx0LGUpO3QubGVhdmVLZXkoaSk7cmV0dXJuIG59KSx0aGlzKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpO3M9dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihzKX1lbHNle2lmKG4udGFnPT09XCJzZXFvZlwifHxuLnRhZz09PVwic2V0b2ZcIil7aWYoIShuLmFyZ3MmJm4uYXJncy5sZW5ndGg9PT0xKSlyZXR1cm4gdC5lcnJvcihcIlRvbyBtYW55IGFyZ3MgZm9yIDogXCIrbi50YWcpO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0LmVycm9yKFwic2Vxb2Yvc2V0b2YsIGJ1dCBkYXRhIGlzIG5vdCBBcnJheVwiKTt2YXIgaD10aGlzLmNsb25lKCk7aC5fYmFzZVN0YXRlLmltcGxpY2l0PW51bGw7cz10aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGUubWFwKChmdW5jdGlvbihyKXt2YXIgaT10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIHRoaXMuX2dldFVzZShpLmFyZ3NbMF0sZSkuX2VuY29kZShyLHQpfSksaCkpfWVsc2UgaWYobi51c2UhPT1udWxsKXthPXRoaXMuX2dldFVzZShuLnVzZSxyKS5fZW5jb2RlKGUsdCl9ZWxzZXtzPXRoaXMuX2VuY29kZVByaW1pdGl2ZShuLnRhZyxlKTtvPXRydWV9fXZhciBhO2lmKCFuLmFueSYmbi5jaG9pY2U9PT1udWxsKXt2YXIgdT1uLmltcGxpY2l0IT09bnVsbD9uLmltcGxpY2l0Om4udGFnO3ZhciBkPW4uaW1wbGljaXQ9PT1udWxsP1widW5pdmVyc2FsXCI6XCJjb250ZXh0XCI7aWYodT09PW51bGwpe2lmKG4udXNlPT09bnVsbCl0LmVycm9yKFwiVGFnIGNvdWxkIGJlIG9taXR0ZWQgb25seSBmb3IgLnVzZSgpXCIpfWVsc2V7aWYobi51c2U9PT1udWxsKWE9dGhpcy5fZW5jb2RlQ29tcG9zaXRlKHUsbyxkLHMpfX1pZihuLmV4cGxpY2l0IT09bnVsbClhPXRoaXMuX2VuY29kZUNvbXBvc2l0ZShuLmV4cGxpY2l0LGZhbHNlLFwiY29udGV4dFwiLGEpO3JldHVybiBhfTtOb2RlLnByb3RvdHlwZS5fZW5jb2RlQ2hvaWNlPWZ1bmN0aW9uIGVuY29kZUNob2ljZShlLHQpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTt2YXIgaT1yLmNob2ljZVtlLnR5cGVdO2lmKCFpKXtzKGZhbHNlLGUudHlwZStcIiBub3QgZm91bmQgaW4gXCIrSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmtleXMoci5jaG9pY2UpKSl9cmV0dXJuIGkuX2VuY29kZShlLnZhbHVlLHQpfTtOb2RlLnByb3RvdHlwZS5fZW5jb2RlUHJpbWl0aXZlPWZ1bmN0aW9uIGVuY29kZVByaW1pdGl2ZShlLHQpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTtpZigvc3RyJC8udGVzdChlKSlyZXR1cm4gdGhpcy5fZW5jb2RlU3RyKHQsZSk7ZWxzZSBpZihlPT09XCJvYmppZFwiJiZyLmFyZ3MpcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKHQsci5yZXZlcnNlQXJnc1swXSxyLmFyZ3NbMV0pO2Vsc2UgaWYoZT09PVwib2JqaWRcIilyZXR1cm4gdGhpcy5fZW5jb2RlT2JqaWQodCxudWxsLG51bGwpO2Vsc2UgaWYoZT09PVwiZ2VudGltZVwifHxlPT09XCJ1dGN0aW1lXCIpcmV0dXJuIHRoaXMuX2VuY29kZVRpbWUodCxlKTtlbHNlIGlmKGU9PT1cIm51bGxfXCIpcmV0dXJuIHRoaXMuX2VuY29kZU51bGwoKTtlbHNlIGlmKGU9PT1cImludFwifHxlPT09XCJlbnVtXCIpcmV0dXJuIHRoaXMuX2VuY29kZUludCh0LHIuYXJncyYmci5yZXZlcnNlQXJnc1swXSk7ZWxzZSBpZihlPT09XCJib29sXCIpcmV0dXJuIHRoaXMuX2VuY29kZUJvb2wodCk7ZWxzZSBpZihlPT09XCJvYmpEZXNjXCIpcmV0dXJuIHRoaXMuX2VuY29kZVN0cih0LGUpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgdGFnOiBcIitlKX07Tm9kZS5wcm90b3R5cGUuX2lzTnVtc3RyPWZ1bmN0aW9uIGlzTnVtc3RyKGUpe3JldHVybi9eWzAtOSBdKiQvLnRlc3QoZSl9O05vZGUucHJvdG90eXBlLl9pc1ByaW50c3RyPWZ1bmN0aW9uIGlzUHJpbnRzdHIoZSl7cmV0dXJuL15bQS1aYS16MC05ICdcXChcXClcXCssXFwtXFwuXFwvOj1cXD9dKiQvLnRlc3QoZSl9fSwxMjkzOmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDM3ODIpO2Z1bmN0aW9uIFJlcG9ydGVyKGUpe3RoaXMuX3JlcG9ydGVyU3RhdGU9e29iajpudWxsLHBhdGg6W10sb3B0aW9uczplfHx7fSxlcnJvcnM6W119fXQuYj1SZXBvcnRlcjtSZXBvcnRlci5wcm90b3R5cGUuaXNFcnJvcj1mdW5jdGlvbiBpc0Vycm9yKGUpe3JldHVybiBlIGluc3RhbmNlb2YgUmVwb3J0ZXJFcnJvcn07UmVwb3J0ZXIucHJvdG90eXBlLnNhdmU9ZnVuY3Rpb24gc2F2ZSgpe3ZhciBlPXRoaXMuX3JlcG9ydGVyU3RhdGU7cmV0dXJue29iajplLm9iaixwYXRoTGVuOmUucGF0aC5sZW5ndGh9fTtSZXBvcnRlci5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbiByZXN0b3JlKGUpe3ZhciB0PXRoaXMuX3JlcG9ydGVyU3RhdGU7dC5vYmo9ZS5vYmo7dC5wYXRoPXQucGF0aC5zbGljZSgwLGUucGF0aExlbil9O1JlcG9ydGVyLnByb3RvdHlwZS5lbnRlcktleT1mdW5jdGlvbiBlbnRlcktleShlKXtyZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLnB1c2goZSl9O1JlcG9ydGVyLnByb3RvdHlwZS5leGl0S2V5PWZ1bmN0aW9uIGV4aXRLZXkoZSl7dmFyIHQ9dGhpcy5fcmVwb3J0ZXJTdGF0ZTt0LnBhdGg9dC5wYXRoLnNsaWNlKDAsZS0xKX07UmVwb3J0ZXIucHJvdG90eXBlLmxlYXZlS2V5PWZ1bmN0aW9uIGxlYXZlS2V5KGUsdCxyKXt2YXIgaT10aGlzLl9yZXBvcnRlclN0YXRlO3RoaXMuZXhpdEtleShlKTtpZihpLm9iaiE9PW51bGwpaS5vYmpbdF09cn07UmVwb3J0ZXIucHJvdG90eXBlLnBhdGg9ZnVuY3Rpb24gcGF0aCgpe3JldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGguam9pbihcIi9cIil9O1JlcG9ydGVyLnByb3RvdHlwZS5lbnRlck9iamVjdD1mdW5jdGlvbiBlbnRlck9iamVjdCgpe3ZhciBlPXRoaXMuX3JlcG9ydGVyU3RhdGU7dmFyIHQ9ZS5vYmo7ZS5vYmo9e307cmV0dXJuIHR9O1JlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZU9iamVjdD1mdW5jdGlvbiBsZWF2ZU9iamVjdChlKXt2YXIgdD10aGlzLl9yZXBvcnRlclN0YXRlO3ZhciByPXQub2JqO3Qub2JqPWU7cmV0dXJuIHJ9O1JlcG9ydGVyLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbiBlcnJvcihlKXt2YXIgdDt2YXIgcj10aGlzLl9yZXBvcnRlclN0YXRlO3ZhciBpPWUgaW5zdGFuY2VvZiBSZXBvcnRlckVycm9yO2lmKGkpe3Q9ZX1lbHNle3Q9bmV3IFJlcG9ydGVyRXJyb3Ioci5wYXRoLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuXCJbXCIrSlNPTi5zdHJpbmdpZnkoZSkrXCJdXCJ9KSkuam9pbihcIlwiKSxlLm1lc3NhZ2V8fGUsZS5zdGFjayl9aWYoIXIub3B0aW9ucy5wYXJ0aWFsKXRocm93IHQ7aWYoIWkpci5lcnJvcnMucHVzaCh0KTtyZXR1cm4gdH07UmVwb3J0ZXIucHJvdG90eXBlLndyYXBSZXN1bHQ9ZnVuY3Rpb24gd3JhcFJlc3VsdChlKXt2YXIgdD10aGlzLl9yZXBvcnRlclN0YXRlO2lmKCF0Lm9wdGlvbnMucGFydGlhbClyZXR1cm4gZTtyZXR1cm57cmVzdWx0OnRoaXMuaXNFcnJvcihlKT9udWxsOmUsZXJyb3JzOnQuZXJyb3JzfX07ZnVuY3Rpb24gUmVwb3J0ZXJFcnJvcihlLHQpe3RoaXMucGF0aD1lO3RoaXMucmV0aHJvdyh0KX1pKFJlcG9ydGVyRXJyb3IsRXJyb3IpO1JlcG9ydGVyRXJyb3IucHJvdG90eXBlLnJldGhyb3c9ZnVuY3Rpb24gcmV0aHJvdyhlKXt0aGlzLm1lc3NhZ2U9ZStcIiBhdDogXCIrKHRoaXMucGF0aHx8XCIoc2hhbGxvdylcIik7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxSZXBvcnRlckVycm9yKTtpZighdGhpcy5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcih0aGlzLm1lc3NhZ2UpfWNhdGNoKGUpe3RoaXMuc3RhY2s9ZS5zdGFja319cmV0dXJuIHRoaXN9fSw5NzkxOmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDczMzUpO3QudGFnQ2xhc3M9ezA6XCJ1bml2ZXJzYWxcIiwxOlwiYXBwbGljYXRpb25cIiwyOlwiY29udGV4dFwiLDM6XCJwcml2YXRlXCJ9O3QudGFnQ2xhc3NCeU5hbWU9aS5fcmV2ZXJzZSh0LnRhZ0NsYXNzKTt0LnRhZz17MDpcImVuZFwiLDE6XCJib29sXCIsMjpcImludFwiLDM6XCJiaXRzdHJcIiw0Olwib2N0c3RyXCIsNTpcIm51bGxfXCIsNjpcIm9iamlkXCIsNzpcIm9iakRlc2NcIiw4OlwiZXh0ZXJuYWxcIiw5OlwicmVhbFwiLDEwOlwiZW51bVwiLDExOlwiZW1iZWRcIiwxMjpcInV0ZjhzdHJcIiwxMzpcInJlbGF0aXZlT2lkXCIsMTY6XCJzZXFcIiwxNzpcInNldFwiLDE4OlwibnVtc3RyXCIsMTk6XCJwcmludHN0clwiLDIwOlwidDYxc3RyXCIsMjE6XCJ2aWRlb3N0clwiLDIyOlwiaWE1c3RyXCIsMjM6XCJ1dGN0aW1lXCIsMjQ6XCJnZW50aW1lXCIsMjU6XCJncmFwaHN0clwiLDI2OlwiaXNvNjQ2c3RyXCIsMjc6XCJnZW5zdHJcIiwyODpcInVuaXN0clwiLDI5OlwiY2hhcnN0clwiLDMwOlwiYm1wc3RyXCJ9O3QudGFnQnlOYW1lPWkuX3JldmVyc2UodC50YWcpfSw3MzM1OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10O2kuX3JldmVyc2U9ZnVuY3Rpb24gcmV2ZXJzZShlKXt2YXIgdD17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihyKXtpZigocnwwKT09cilyPXJ8MDt2YXIgaT1lW3JdO3RbaV09cn0pKTtyZXR1cm4gdH07aS5kZXI9cig5NzkxKX0sMjI1OTpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDcxNjApO3ZhciBhPW4uYmFzZTt2YXIgcz1uLmJpZ251bTt2YXIgbz1uLmNvbnN0YW50cy5kZXI7ZnVuY3Rpb24gREVSRGVjb2RlcihlKXt0aGlzLmVuYz1cImRlclwiO3RoaXMubmFtZT1lLm5hbWU7dGhpcy5lbnRpdHk9ZTt0aGlzLnRyZWU9bmV3IERFUk5vZGU7dGhpcy50cmVlLl9pbml0KGUuYm9keSl9ZS5leHBvcnRzPURFUkRlY29kZXI7REVSRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uIGRlY29kZShlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIGEuRGVjb2RlckJ1ZmZlcikpZT1uZXcgYS5EZWNvZGVyQnVmZmVyKGUsdCk7cmV0dXJuIHRoaXMudHJlZS5fZGVjb2RlKGUsdCl9O2Z1bmN0aW9uIERFUk5vZGUoZSl7YS5Ob2RlLmNhbGwodGhpcyxcImRlclwiLGUpfWkoREVSTm9kZSxhLk5vZGUpO0RFUk5vZGUucHJvdG90eXBlLl9wZWVrVGFnPWZ1bmN0aW9uIHBlZWtUYWcoZSx0LHIpe2lmKGUuaXNFbXB0eSgpKXJldHVybiBmYWxzZTt2YXIgaT1lLnNhdmUoKTt2YXIgbj1kZXJEZWNvZGVUYWcoZSwnRmFpbGVkIHRvIHBlZWsgdGFnOiBcIicrdCsnXCInKTtpZihlLmlzRXJyb3IobikpcmV0dXJuIG47ZS5yZXN0b3JlKGkpO3JldHVybiBuLnRhZz09PXR8fG4udGFnU3RyPT09dHx8bi50YWdTdHIrXCJvZlwiPT09dHx8cn07REVSTm9kZS5wcm90b3R5cGUuX2RlY29kZVRhZz1mdW5jdGlvbiBkZWNvZGVUYWcoZSx0LHIpe3ZhciBpPWRlckRlY29kZVRhZyhlLCdGYWlsZWQgdG8gZGVjb2RlIHRhZyBvZiBcIicrdCsnXCInKTtpZihlLmlzRXJyb3IoaSkpcmV0dXJuIGk7dmFyIG49ZGVyRGVjb2RlTGVuKGUsaS5wcmltaXRpdmUsJ0ZhaWxlZCB0byBnZXQgbGVuZ3RoIG9mIFwiJyt0KydcIicpO2lmKGUuaXNFcnJvcihuKSlyZXR1cm4gbjtpZighciYmaS50YWchPT10JiZpLnRhZ1N0ciE9PXQmJmkudGFnU3RyK1wib2ZcIiE9PXQpe3JldHVybiBlLmVycm9yKCdGYWlsZWQgdG8gbWF0Y2ggdGFnOiBcIicrdCsnXCInKX1pZihpLnByaW1pdGl2ZXx8biE9PW51bGwpcmV0dXJuIGUuc2tpcChuLCdGYWlsZWQgdG8gbWF0Y2ggYm9keSBvZjogXCInK3QrJ1wiJyk7dmFyIGE9ZS5zYXZlKCk7dmFyIHM9dGhpcy5fc2tpcFVudGlsRW5kKGUsJ0ZhaWxlZCB0byBza2lwIGluZGVmaW5pdGUgbGVuZ3RoIGJvZHk6IFwiJyt0aGlzLnRhZysnXCInKTtpZihlLmlzRXJyb3IocykpcmV0dXJuIHM7bj1lLm9mZnNldC1hLm9mZnNldDtlLnJlc3RvcmUoYSk7cmV0dXJuIGUuc2tpcChuLCdGYWlsZWQgdG8gbWF0Y2ggYm9keSBvZjogXCInK3QrJ1wiJyl9O0RFUk5vZGUucHJvdG90eXBlLl9za2lwVW50aWxFbmQ9ZnVuY3Rpb24gc2tpcFVudGlsRW5kKGUsdCl7d2hpbGUodHJ1ZSl7dmFyIHI9ZGVyRGVjb2RlVGFnKGUsdCk7aWYoZS5pc0Vycm9yKHIpKXJldHVybiByO3ZhciBpPWRlckRlY29kZUxlbihlLHIucHJpbWl0aXZlLHQpO2lmKGUuaXNFcnJvcihpKSlyZXR1cm4gaTt2YXIgbjtpZihyLnByaW1pdGl2ZXx8aSE9PW51bGwpbj1lLnNraXAoaSk7ZWxzZSBuPXRoaXMuX3NraXBVbnRpbEVuZChlLHQpO2lmKGUuaXNFcnJvcihuKSlyZXR1cm4gbjtpZihyLnRhZ1N0cj09PVwiZW5kXCIpYnJlYWt9fTtERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlTGlzdD1mdW5jdGlvbiBkZWNvZGVMaXN0KGUsdCxyLGkpe3ZhciBuPVtdO3doaWxlKCFlLmlzRW1wdHkoKSl7dmFyIGE9dGhpcy5fcGVla1RhZyhlLFwiZW5kXCIpO2lmKGUuaXNFcnJvcihhKSlyZXR1cm4gYTt2YXIgcz1yLmRlY29kZShlLFwiZGVyXCIsaSk7aWYoZS5pc0Vycm9yKHMpJiZhKWJyZWFrO24ucHVzaChzKX1yZXR1cm4gbn07REVSTm9kZS5wcm90b3R5cGUuX2RlY29kZVN0cj1mdW5jdGlvbiBkZWNvZGVTdHIoZSx0KXtpZih0PT09XCJiaXRzdHJcIil7dmFyIHI9ZS5yZWFkVUludDgoKTtpZihlLmlzRXJyb3IocikpcmV0dXJuIHI7cmV0dXJue3VudXNlZDpyLGRhdGE6ZS5yYXcoKX19ZWxzZSBpZih0PT09XCJibXBzdHJcIil7dmFyIGk9ZS5yYXcoKTtpZihpLmxlbmd0aCUyPT09MSlyZXR1cm4gZS5lcnJvcihcIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBibXBzdHIgbGVuZ3RoIG1pc21hdGNoXCIpO3ZhciBuPVwiXCI7Zm9yKHZhciBhPTA7YTxpLmxlbmd0aC8yO2ErKyl7bis9U3RyaW5nLmZyb21DaGFyQ29kZShpLnJlYWRVSW50MTZCRShhKjIpKX1yZXR1cm4gbn1lbHNlIGlmKHQ9PT1cIm51bXN0clwiKXt2YXIgcz1lLnJhdygpLnRvU3RyaW5nKFwiYXNjaWlcIik7aWYoIXRoaXMuX2lzTnVtc3RyKHMpKXtyZXR1cm4gZS5lcnJvcihcIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBcIitcIm51bXN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzXCIpfXJldHVybiBzfWVsc2UgaWYodD09PVwib2N0c3RyXCIpe3JldHVybiBlLnJhdygpfWVsc2UgaWYodD09PVwib2JqRGVzY1wiKXtyZXR1cm4gZS5yYXcoKX1lbHNlIGlmKHQ9PT1cInByaW50c3RyXCIpe3ZhciBvPWUucmF3KCkudG9TdHJpbmcoXCJhc2NpaVwiKTtpZighdGhpcy5faXNQcmludHN0cihvKSl7cmV0dXJuIGUuZXJyb3IoXCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogXCIrXCJwcmludHN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzXCIpfXJldHVybiBvfWVsc2UgaWYoL3N0ciQvLnRlc3QodCkpe3JldHVybiBlLnJhdygpLnRvU3RyaW5nKCl9ZWxzZXtyZXR1cm4gZS5lcnJvcihcIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBcIit0K1wiIHVuc3VwcG9ydGVkXCIpfX07REVSTm9kZS5wcm90b3R5cGUuX2RlY29kZU9iamlkPWZ1bmN0aW9uIGRlY29kZU9iamlkKGUsdCxyKXt2YXIgaTt2YXIgbj1bXTt2YXIgYT0wO3doaWxlKCFlLmlzRW1wdHkoKSl7dmFyIHM9ZS5yZWFkVUludDgoKTthPDw9NzthfD1zJjEyNztpZigocyYxMjgpPT09MCl7bi5wdXNoKGEpO2E9MH19aWYocyYxMjgpbi5wdXNoKGEpO3ZhciBvPW5bMF0vNDB8MDt2YXIgaD1uWzBdJTQwO2lmKHIpaT1uO2Vsc2UgaT1bbyxoXS5jb25jYXQobi5zbGljZSgxKSk7aWYodCl7dmFyIHU9dFtpLmpvaW4oXCIgXCIpXTtpZih1PT09dW5kZWZpbmVkKXU9dFtpLmpvaW4oXCIuXCIpXTtpZih1IT09dW5kZWZpbmVkKWk9dX1yZXR1cm4gaX07REVSTm9kZS5wcm90b3R5cGUuX2RlY29kZVRpbWU9ZnVuY3Rpb24gZGVjb2RlVGltZShlLHQpe3ZhciByPWUucmF3KCkudG9TdHJpbmcoKTtpZih0PT09XCJnZW50aW1lXCIpe3ZhciBpPXIuc2xpY2UoMCw0KXwwO3ZhciBuPXIuc2xpY2UoNCw2KXwwO3ZhciBhPXIuc2xpY2UoNiw4KXwwO3ZhciBzPXIuc2xpY2UoOCwxMCl8MDt2YXIgbz1yLnNsaWNlKDEwLDEyKXwwO3ZhciBoPXIuc2xpY2UoMTIsMTQpfDB9ZWxzZSBpZih0PT09XCJ1dGN0aW1lXCIpe3ZhciBpPXIuc2xpY2UoMCwyKXwwO3ZhciBuPXIuc2xpY2UoMiw0KXwwO3ZhciBhPXIuc2xpY2UoNCw2KXwwO3ZhciBzPXIuc2xpY2UoNiw4KXwwO3ZhciBvPXIuc2xpY2UoOCwxMCl8MDt2YXIgaD1yLnNsaWNlKDEwLDEyKXwwO2lmKGk8NzApaT0yZTMraTtlbHNlIGk9MTkwMCtpfWVsc2V7cmV0dXJuIGUuZXJyb3IoXCJEZWNvZGluZyBcIit0K1wiIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXRcIil9cmV0dXJuIERhdGUuVVRDKGksbi0xLGEscyxvLGgsMCl9O0RFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVOdWxsPWZ1bmN0aW9uIGRlY29kZU51bGwoZSl7cmV0dXJuIG51bGx9O0RFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVCb29sPWZ1bmN0aW9uIGRlY29kZUJvb2woZSl7dmFyIHQ9ZS5yZWFkVUludDgoKTtpZihlLmlzRXJyb3IodCkpcmV0dXJuIHQ7ZWxzZSByZXR1cm4gdCE9PTB9O0RFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVJbnQ9ZnVuY3Rpb24gZGVjb2RlSW50KGUsdCl7dmFyIHI9ZS5yYXcoKTt2YXIgaT1uZXcgcyhyKTtpZih0KWk9dFtpLnRvU3RyaW5nKDEwKV18fGk7cmV0dXJuIGl9O0RFUk5vZGUucHJvdG90eXBlLl91c2U9ZnVuY3Rpb24gdXNlKGUsdCl7aWYodHlwZW9mIGU9PT1cImZ1bmN0aW9uXCIpZT1lKHQpO3JldHVybiBlLl9nZXREZWNvZGVyKFwiZGVyXCIpLnRyZWV9O2Z1bmN0aW9uIGRlckRlY29kZVRhZyhlLHQpe3ZhciByPWUucmVhZFVJbnQ4KHQpO2lmKGUuaXNFcnJvcihyKSlyZXR1cm4gcjt2YXIgaT1vLnRhZ0NsYXNzW3I+PjZdO3ZhciBuPShyJjMyKT09PTA7aWYoKHImMzEpPT09MzEpe3ZhciBhPXI7cj0wO3doaWxlKChhJjEyOCk9PT0xMjgpe2E9ZS5yZWFkVUludDgodCk7aWYoZS5pc0Vycm9yKGEpKXJldHVybiBhO3I8PD03O3J8PWEmMTI3fX1lbHNle3ImPTMxfXZhciBzPW8udGFnW3JdO3JldHVybntjbHM6aSxwcmltaXRpdmU6bix0YWc6cix0YWdTdHI6c319ZnVuY3Rpb24gZGVyRGVjb2RlTGVuKGUsdCxyKXt2YXIgaT1lLnJlYWRVSW50OChyKTtpZihlLmlzRXJyb3IoaSkpcmV0dXJuIGk7aWYoIXQmJmk9PT0xMjgpcmV0dXJuIG51bGw7aWYoKGkmMTI4KT09PTApe3JldHVybiBpfXZhciBuPWkmMTI3O2lmKG4+NClyZXR1cm4gZS5lcnJvcihcImxlbmd0aCBvY3RlY3QgaXMgdG9vIGxvbmdcIik7aT0wO2Zvcih2YXIgYT0wO2E8bjthKyspe2k8PD04O3ZhciBzPWUucmVhZFVJbnQ4KHIpO2lmKGUuaXNFcnJvcihzKSlyZXR1cm4gcztpfD1zfXJldHVybiBpfX0sNjcwMTpmdW5jdGlvbihlLHQscil7dmFyIGk9dDtpLmRlcj1yKDIyNTkpO2kucGVtPXIoODUyNyl9LDg1Mjc6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoMzc4Mik7dmFyIG49cig0MzAwKS5CdWZmZXI7dmFyIGE9cigyMjU5KTtmdW5jdGlvbiBQRU1EZWNvZGVyKGUpe2EuY2FsbCh0aGlzLGUpO3RoaXMuZW5jPVwicGVtXCJ9aShQRU1EZWNvZGVyLGEpO2UuZXhwb3J0cz1QRU1EZWNvZGVyO1BFTURlY29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbiBkZWNvZGUoZSx0KXt2YXIgcj1lLnRvU3RyaW5nKCkuc3BsaXQoL1tcXHJcXG5dKy9nKTt2YXIgaT10LmxhYmVsLnRvVXBwZXJDYXNlKCk7dmFyIHM9L14tLS0tLShCRUdJTnxFTkQpIChbXi1dKyktLS0tLSQvO3ZhciBvPS0xO3ZhciBoPS0xO2Zvcih2YXIgdT0wO3U8ci5sZW5ndGg7dSsrKXt2YXIgZD1yW3VdLm1hdGNoKHMpO2lmKGQ9PT1udWxsKWNvbnRpbnVlO2lmKGRbMl0hPT1pKWNvbnRpbnVlO2lmKG89PT0tMSl7aWYoZFsxXSE9PVwiQkVHSU5cIilicmVhaztvPXV9ZWxzZXtpZihkWzFdIT09XCJFTkRcIilicmVhaztoPXU7YnJlYWt9fWlmKG89PT0tMXx8aD09PS0xKXRocm93IG5ldyBFcnJvcihcIlBFTSBzZWN0aW9uIG5vdCBmb3VuZCBmb3I6IFwiK2kpO3ZhciBjPXIuc2xpY2UobysxLGgpLmpvaW4oXCJcIik7Yy5yZXBsYWNlKC9bXmEtejAtOVxcK1xcLz1dKy9naSxcIlwiKTt2YXIgbD1uZXcgbihjLFwiYmFzZTY0XCIpO3JldHVybiBhLnByb3RvdHlwZS5kZWNvZGUuY2FsbCh0aGlzLGwsdCl9fSw3ODA0OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDM3ODIpO3ZhciBuPXIoNDMwMCkuQnVmZmVyO3ZhciBhPXIoNzE2MCk7dmFyIHM9YS5iYXNlO3ZhciBvPWEuY29uc3RhbnRzLmRlcjtmdW5jdGlvbiBERVJFbmNvZGVyKGUpe3RoaXMuZW5jPVwiZGVyXCI7dGhpcy5uYW1lPWUubmFtZTt0aGlzLmVudGl0eT1lO3RoaXMudHJlZT1uZXcgREVSTm9kZTt0aGlzLnRyZWUuX2luaXQoZS5ib2R5KX1lLmV4cG9ydHM9REVSRW5jb2RlcjtERVJFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24gZW5jb2RlKGUsdCl7cmV0dXJuIHRoaXMudHJlZS5fZW5jb2RlKGUsdCkuam9pbigpfTtmdW5jdGlvbiBERVJOb2RlKGUpe3MuTm9kZS5jYWxsKHRoaXMsXCJkZXJcIixlKX1pKERFUk5vZGUscy5Ob2RlKTtERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlQ29tcG9zaXRlPWZ1bmN0aW9uIGVuY29kZUNvbXBvc2l0ZShlLHQscixpKXt2YXIgYT1lbmNvZGVUYWcoZSx0LHIsdGhpcy5yZXBvcnRlcik7aWYoaS5sZW5ndGg8MTI4KXt2YXIgcz1uZXcgbigyKTtzWzBdPWE7c1sxXT1pLmxlbmd0aDtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbcyxpXSl9dmFyIG89MTtmb3IodmFyIGg9aS5sZW5ndGg7aD49MjU2O2g+Pj04KW8rKzt2YXIgcz1uZXcgbigxKzErbyk7c1swXT1hO3NbMV09MTI4fG87Zm9yKHZhciBoPTErbyx1PWkubGVuZ3RoO3U+MDtoLS0sdT4+PTgpc1toXT11JjI1NTtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbcyxpXSl9O0RFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVTdHI9ZnVuY3Rpb24gZW5jb2RlU3RyKGUsdCl7aWYodD09PVwiYml0c3RyXCIpe3JldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFtlLnVudXNlZHwwLGUuZGF0YV0pfWVsc2UgaWYodD09PVwiYm1wc3RyXCIpe3ZhciByPW5ldyBuKGUubGVuZ3RoKjIpO2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXtyLndyaXRlVUludDE2QkUoZS5jaGFyQ29kZUF0KGkpLGkqMil9cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIocil9ZWxzZSBpZih0PT09XCJudW1zdHJcIil7aWYoIXRoaXMuX2lzTnVtc3RyKGUpKXtyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcihcIkVuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBudW1zdHIgc3VwcG9ydHMgXCIrXCJvbmx5IGRpZ2l0cyBhbmQgc3BhY2VcIil9cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZSl9ZWxzZSBpZih0PT09XCJwcmludHN0clwiKXtpZighdGhpcy5faXNQcmludHN0cihlKSl7cmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoXCJFbmNvZGluZyBvZiBzdHJpbmcgdHlwZTogcHJpbnRzdHIgc3VwcG9ydHMgXCIrXCJvbmx5IGxhdGluIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMsIFwiK1wiZGlnaXRzLCBzcGFjZSwgYXBvc3Ryb3BoZSwgbGVmdCBhbmQgcmlndGggXCIrXCJwYXJlbnRoZXNpcywgcGx1cyBzaWduLCBjb21tYSwgaHlwaGVuLCBcIitcImRvdCwgc2xhc2gsIGNvbG9uLCBlcXVhbCBzaWduLCBcIitcInF1ZXN0aW9uIG1hcmtcIil9cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZSl9ZWxzZSBpZigvc3RyJC8udGVzdCh0KSl7cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZSl9ZWxzZSBpZih0PT09XCJvYmpEZXNjXCIpe3JldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGUpfWVsc2V7cmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoXCJFbmNvZGluZyBvZiBzdHJpbmcgdHlwZTogXCIrdCtcIiB1bnN1cHBvcnRlZFwiKX19O0RFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVPYmppZD1mdW5jdGlvbiBlbmNvZGVPYmppZChlLHQscil7aWYodHlwZW9mIGU9PT1cInN0cmluZ1wiKXtpZighdClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcihcInN0cmluZyBvYmppZCBnaXZlbiwgYnV0IG5vIHZhbHVlcyBtYXAgZm91bmRcIik7aWYoIXQuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoXCJvYmppZCBub3QgZm91bmQgaW4gdmFsdWVzIG1hcFwiKTtlPXRbZV0uc3BsaXQoL1tcXHNcXC5dKy9nKTtmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krKyllW2ldfD0wfWVsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7ZT1lLnNsaWNlKCk7Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDtpKyspZVtpXXw9MH1pZighQXJyYXkuaXNBcnJheShlKSl7cmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoXCJvYmppZCgpIHNob3VsZCBiZSBlaXRoZXIgYXJyYXkgb3Igc3RyaW5nLCBcIitcImdvdDogXCIrSlNPTi5zdHJpbmdpZnkoZSkpfWlmKCFyKXtpZihlWzFdPj00MClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcihcIlNlY29uZCBvYmppZCBpZGVudGlmaWVyIE9PQlwiKTtlLnNwbGljZSgwLDIsZVswXSo0MCtlWzFdKX12YXIgYT0wO2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgcz1lW2ldO2ZvcihhKys7cz49MTI4O3M+Pj03KWErK312YXIgbz1uZXcgbihhKTt2YXIgaD1vLmxlbmd0aC0xO2Zvcih2YXIgaT1lLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgcz1lW2ldO29baC0tXT1zJjEyNzt3aGlsZSgocz4+PTcpPjApb1toLS1dPTEyOHxzJjEyN31yZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihvKX07ZnVuY3Rpb24gdHdvKGUpe2lmKGU8MTApcmV0dXJuXCIwXCIrZTtlbHNlIHJldHVybiBlfURFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVUaW1lPWZ1bmN0aW9uIGVuY29kZVRpbWUoZSx0KXt2YXIgcjt2YXIgaT1uZXcgRGF0ZShlKTtpZih0PT09XCJnZW50aW1lXCIpe3I9W3R3byhpLmdldEZ1bGxZZWFyKCkpLHR3byhpLmdldFVUQ01vbnRoKCkrMSksdHdvKGkuZ2V0VVRDRGF0ZSgpKSx0d28oaS5nZXRVVENIb3VycygpKSx0d28oaS5nZXRVVENNaW51dGVzKCkpLHR3byhpLmdldFVUQ1NlY29uZHMoKSksXCJaXCJdLmpvaW4oXCJcIil9ZWxzZSBpZih0PT09XCJ1dGN0aW1lXCIpe3I9W3R3byhpLmdldEZ1bGxZZWFyKCklMTAwKSx0d28oaS5nZXRVVENNb250aCgpKzEpLHR3byhpLmdldFVUQ0RhdGUoKSksdHdvKGkuZ2V0VVRDSG91cnMoKSksdHdvKGkuZ2V0VVRDTWludXRlcygpKSx0d28oaS5nZXRVVENTZWNvbmRzKCkpLFwiWlwiXS5qb2luKFwiXCIpfWVsc2V7dGhpcy5yZXBvcnRlci5lcnJvcihcIkVuY29kaW5nIFwiK3QrXCIgdGltZSBpcyBub3Qgc3VwcG9ydGVkIHlldFwiKX1yZXR1cm4gdGhpcy5fZW5jb2RlU3RyKHIsXCJvY3RzdHJcIil9O0RFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVOdWxsPWZ1bmN0aW9uIGVuY29kZU51bGwoKXtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihcIlwiKX07REVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUludD1mdW5jdGlvbiBlbmNvZGVJbnQoZSx0KXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe2lmKCF0KXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKFwiU3RyaW5nIGludCBvciBlbnVtIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcFwiKTtpZighdC5oYXNPd25Qcm9wZXJ0eShlKSl7cmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoXCJWYWx1ZXMgbWFwIGRvZXNuJ3QgY29udGFpbjogXCIrSlNPTi5zdHJpbmdpZnkoZSkpfWU9dFtlXX1pZih0eXBlb2YgZSE9PVwibnVtYmVyXCImJiFuLmlzQnVmZmVyKGUpKXt2YXIgcj1lLnRvQXJyYXkoKTtpZighZS5zaWduJiZyWzBdJjEyOCl7ci51bnNoaWZ0KDApfWU9bmV3IG4ocil9aWYobi5pc0J1ZmZlcihlKSl7dmFyIGk9ZS5sZW5ndGg7aWYoZS5sZW5ndGg9PT0wKWkrKzt2YXIgYT1uZXcgbihpKTtlLmNvcHkoYSk7aWYoZS5sZW5ndGg9PT0wKWFbMF09MDtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihhKX1pZihlPDEyOClyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihlKTtpZihlPDI1NilyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMCxlXSk7dmFyIGk9MTtmb3IodmFyIHM9ZTtzPj0yNTY7cz4+PTgpaSsrO3ZhciBhPW5ldyBBcnJheShpKTtmb3IodmFyIHM9YS5sZW5ndGgtMTtzPj0wO3MtLSl7YVtzXT1lJjI1NTtlPj49OH1pZihhWzBdJjEyOCl7YS51bnNoaWZ0KDApfXJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKG5ldyBuKGEpKX07REVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUJvb2w9ZnVuY3Rpb24gZW5jb2RlQm9vbChlKXtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihlPzI1NTowKX07REVSTm9kZS5wcm90b3R5cGUuX3VzZT1mdW5jdGlvbiB1c2UoZSx0KXtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cIillPWUodCk7cmV0dXJuIGUuX2dldEVuY29kZXIoXCJkZXJcIikudHJlZX07REVSTm9kZS5wcm90b3R5cGUuX3NraXBEZWZhdWx0PWZ1bmN0aW9uIHNraXBEZWZhdWx0KGUsdCxyKXt2YXIgaT10aGlzLl9iYXNlU3RhdGU7dmFyIG47aWYoaVtcImRlZmF1bHRcIl09PT1udWxsKXJldHVybiBmYWxzZTt2YXIgYT1lLmpvaW4oKTtpZihpLmRlZmF1bHRCdWZmZXI9PT11bmRlZmluZWQpaS5kZWZhdWx0QnVmZmVyPXRoaXMuX2VuY29kZVZhbHVlKGlbXCJkZWZhdWx0XCJdLHQscikuam9pbigpO2lmKGEubGVuZ3RoIT09aS5kZWZhdWx0QnVmZmVyLmxlbmd0aClyZXR1cm4gZmFsc2U7Zm9yKG49MDtuPGEubGVuZ3RoO24rKylpZihhW25dIT09aS5kZWZhdWx0QnVmZmVyW25dKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZX07ZnVuY3Rpb24gZW5jb2RlVGFnKGUsdCxyLGkpe3ZhciBuO2lmKGU9PT1cInNlcW9mXCIpZT1cInNlcVwiO2Vsc2UgaWYoZT09PVwic2V0b2ZcIillPVwic2V0XCI7aWYoby50YWdCeU5hbWUuaGFzT3duUHJvcGVydHkoZSkpbj1vLnRhZ0J5TmFtZVtlXTtlbHNlIGlmKHR5cGVvZiBlPT09XCJudW1iZXJcIiYmKGV8MCk9PT1lKW49ZTtlbHNlIHJldHVybiBpLmVycm9yKFwiVW5rbm93biB0YWc6IFwiK2UpO2lmKG4+PTMxKXJldHVybiBpLmVycm9yKFwiTXVsdGktb2N0ZXQgdGFnIGVuY29kaW5nIHVuc3VwcG9ydGVkXCIpO2lmKCF0KW58PTMyO258PW8udGFnQ2xhc3NCeU5hbWVbcnx8XCJ1bml2ZXJzYWxcIl08PDY7cmV0dXJuIG59fSwzNDE4OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10O2kuZGVyPXIoNzgwNCk7aS5wZW09cigxNTY0KX0sMTU2NDpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDc4MDQpO2Z1bmN0aW9uIFBFTUVuY29kZXIoZSl7bi5jYWxsKHRoaXMsZSk7dGhpcy5lbmM9XCJwZW1cIn1pKFBFTUVuY29kZXIsbik7ZS5leHBvcnRzPVBFTUVuY29kZXI7UEVNRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uIGVuY29kZShlLHQpe3ZhciByPW4ucHJvdG90eXBlLmVuY29kZS5jYWxsKHRoaXMsZSk7dmFyIGk9ci50b1N0cmluZyhcImJhc2U2NFwiKTt2YXIgYT1bXCItLS0tLUJFR0lOIFwiK3QubGFiZWwrXCItLS0tLVwiXTtmb3IodmFyIHM9MDtzPGkubGVuZ3RoO3MrPTY0KWEucHVzaChpLnNsaWNlKHMscys2NCkpO2EucHVzaChcIi0tLS0tRU5EIFwiK3QubGFiZWwrXCItLS0tLVwiKTtyZXR1cm4gYS5qb2luKFwiXFxuXCIpfX0sNzExOmZ1bmN0aW9uKGUsdCxyKXtlPXIubm1kKGUpOyhmdW5jdGlvbihlLHQpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGFzc2VydChlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHxcIkFzc2VydGlvbiBmYWlsZWRcIil9ZnVuY3Rpb24gaW5oZXJpdHMoZSx0KXtlLnN1cGVyXz10O3ZhciBUZW1wQ3Rvcj1mdW5jdGlvbigpe307VGVtcEN0b3IucHJvdG90eXBlPXQucHJvdG90eXBlO2UucHJvdG90eXBlPW5ldyBUZW1wQ3RvcjtlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfWZ1bmN0aW9uIEJOKGUsdCxyKXtpZihCTi5pc0JOKGUpKXtyZXR1cm4gZX10aGlzLm5lZ2F0aXZlPTA7dGhpcy53b3Jkcz1udWxsO3RoaXMubGVuZ3RoPTA7dGhpcy5yZWQ9bnVsbDtpZihlIT09bnVsbCl7aWYodD09PVwibGVcInx8dD09PVwiYmVcIil7cj10O3Q9MTB9dGhpcy5faW5pdChlfHwwLHR8fDEwLHJ8fFwiYmVcIil9fWlmKHR5cGVvZiBlPT09XCJvYmplY3RcIil7ZS5leHBvcnRzPUJOfWVsc2V7dC5CTj1CTn1CTi5CTj1CTjtCTi53b3JkU2l6ZT0yNjt2YXIgaTt0cnl7aT1yKDQzMDApLkJ1ZmZlcn1jYXRjaChlKXt9Qk4uaXNCTj1mdW5jdGlvbiBpc0JOKGUpe2lmKGUgaW5zdGFuY2VvZiBCTil7cmV0dXJuIHRydWV9cmV0dXJuIGUhPT1udWxsJiZ0eXBlb2YgZT09PVwib2JqZWN0XCImJmUuY29uc3RydWN0b3Iud29yZFNpemU9PT1CTi53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheShlLndvcmRzKX07Qk4ubWF4PWZ1bmN0aW9uIG1heChlLHQpe2lmKGUuY21wKHQpPjApcmV0dXJuIGU7cmV0dXJuIHR9O0JOLm1pbj1mdW5jdGlvbiBtaW4oZSx0KXtpZihlLmNtcCh0KTwwKXJldHVybiBlO3JldHVybiB0fTtCTi5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24gaW5pdChlLHQscil7aWYodHlwZW9mIGU9PT1cIm51bWJlclwiKXtyZXR1cm4gdGhpcy5faW5pdE51bWJlcihlLHQscil9aWYodHlwZW9mIGU9PT1cIm9iamVjdFwiKXtyZXR1cm4gdGhpcy5faW5pdEFycmF5KGUsdCxyKX1pZih0PT09XCJoZXhcIil7dD0xNn1hc3NlcnQodD09PSh0fDApJiZ0Pj0yJiZ0PD0zNik7ZT1lLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxzKy9nLFwiXCIpO3ZhciBpPTA7aWYoZVswXT09PVwiLVwiKXtpKyt9aWYodD09PTE2KXt0aGlzLl9wYXJzZUhleChlLGkpfWVsc2V7dGhpcy5fcGFyc2VCYXNlKGUsdCxpKX1pZihlWzBdPT09XCItXCIpe3RoaXMubmVnYXRpdmU9MX10aGlzLnN0cmlwKCk7aWYociE9PVwibGVcIilyZXR1cm47dGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLHQscil9O0JOLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbiBfaW5pdE51bWJlcihlLHQscil7aWYoZTwwKXt0aGlzLm5lZ2F0aXZlPTE7ZT0tZX1pZihlPDY3MTA4ODY0KXt0aGlzLndvcmRzPVtlJjY3MTA4ODYzXTt0aGlzLmxlbmd0aD0xfWVsc2UgaWYoZTw0NTAzNTk5NjI3MzcwNDk2KXt0aGlzLndvcmRzPVtlJjY3MTA4ODYzLGUvNjcxMDg4NjQmNjcxMDg4NjNdO3RoaXMubGVuZ3RoPTJ9ZWxzZXthc3NlcnQoZTw5MDA3MTk5MjU0NzQwOTkyKTt0aGlzLndvcmRzPVtlJjY3MTA4ODYzLGUvNjcxMDg4NjQmNjcxMDg4NjMsMV07dGhpcy5sZW5ndGg9M31pZihyIT09XCJsZVwiKXJldHVybjt0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksdCxyKX07Qk4ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24gX2luaXRBcnJheShlLHQscil7YXNzZXJ0KHR5cGVvZiBlLmxlbmd0aD09PVwibnVtYmVyXCIpO2lmKGUubGVuZ3RoPD0wKXt0aGlzLndvcmRzPVswXTt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfXRoaXMubGVuZ3RoPU1hdGguY2VpbChlLmxlbmd0aC8zKTt0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09MH12YXIgbixhO3ZhciBzPTA7aWYocj09PVwiYmVcIil7Zm9yKGk9ZS5sZW5ndGgtMSxuPTA7aT49MDtpLT0zKXthPWVbaV18ZVtpLTFdPDw4fGVbaS0yXTw8MTY7dGhpcy53b3Jkc1tuXXw9YTw8cyY2NzEwODg2Mzt0aGlzLndvcmRzW24rMV09YT4+PjI2LXMmNjcxMDg4NjM7cys9MjQ7aWYocz49MjYpe3MtPTI2O24rK319fWVsc2UgaWYocj09PVwibGVcIil7Zm9yKGk9MCxuPTA7aTxlLmxlbmd0aDtpKz0zKXthPWVbaV18ZVtpKzFdPDw4fGVbaSsyXTw8MTY7dGhpcy53b3Jkc1tuXXw9YTw8cyY2NzEwODg2Mzt0aGlzLndvcmRzW24rMV09YT4+PjI2LXMmNjcxMDg4NjM7cys9MjQ7aWYocz49MjYpe3MtPTI2O24rK319fXJldHVybiB0aGlzLnN0cmlwKCl9O2Z1bmN0aW9uIHBhcnNlSGV4KGUsdCxyKXt2YXIgaT0wO3ZhciBuPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgYT10O2E8bjthKyspe3ZhciBzPWUuY2hhckNvZGVBdChhKS00ODtpPDw9NDtpZihzPj00OSYmczw9NTQpe2l8PXMtNDkrMTB9ZWxzZSBpZihzPj0xNyYmczw9MjIpe2l8PXMtMTcrMTB9ZWxzZXtpfD1zJjE1fX1yZXR1cm4gaX1CTi5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uIF9wYXJzZUhleChlLHQpe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgoZS5sZW5ndGgtdCkvNik7dGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8dGhpcy5sZW5ndGg7cisrKXt0aGlzLndvcmRzW3JdPTB9dmFyIGksbjt2YXIgYT0wO2ZvcihyPWUubGVuZ3RoLTYsaT0wO3I+PXQ7ci09Nil7bj1wYXJzZUhleChlLHIscis2KTt0aGlzLndvcmRzW2ldfD1uPDxhJjY3MTA4ODYzO3RoaXMud29yZHNbaSsxXXw9bj4+PjI2LWEmNDE5NDMwMzthKz0yNDtpZihhPj0yNil7YS09MjY7aSsrfX1pZihyKzYhPT10KXtuPXBhcnNlSGV4KGUsdCxyKzYpO3RoaXMud29yZHNbaV18PW48PGEmNjcxMDg4NjM7dGhpcy53b3Jkc1tpKzFdfD1uPj4+MjYtYSY0MTk0MzAzfXRoaXMuc3RyaXAoKX07ZnVuY3Rpb24gcGFyc2VCYXNlKGUsdCxyLGkpe3ZhciBuPTA7dmFyIGE9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBzPXQ7czxhO3MrKyl7dmFyIG89ZS5jaGFyQ29kZUF0KHMpLTQ4O24qPWk7aWYobz49NDkpe24rPW8tNDkrMTB9ZWxzZSBpZihvPj0xNyl7bis9by0xNysxMH1lbHNle24rPW99fXJldHVybiBufUJOLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uIF9wYXJzZUJhc2UoZSx0LHIpe3RoaXMud29yZHM9WzBdO3RoaXMubGVuZ3RoPTE7Zm9yKHZhciBpPTAsbj0xO248PTY3MTA4ODYzO24qPXQpe2krK31pLS07bj1uL3R8MDt2YXIgYT1lLmxlbmd0aC1yO3ZhciBzPWElaTt2YXIgbz1NYXRoLm1pbihhLGEtcykrcjt2YXIgaD0wO2Zvcih2YXIgdT1yO3U8bzt1Kz1pKXtoPXBhcnNlQmFzZShlLHUsdStpLHQpO3RoaXMuaW11bG4obik7aWYodGhpcy53b3Jkc1swXStoPDY3MTA4ODY0KXt0aGlzLndvcmRzWzBdKz1ofWVsc2V7dGhpcy5faWFkZG4oaCl9fWlmKHMhPT0wKXt2YXIgZD0xO2g9cGFyc2VCYXNlKGUsdSxlLmxlbmd0aCx0KTtmb3IodT0wO3U8czt1Kyspe2QqPXR9dGhpcy5pbXVsbihkKTtpZih0aGlzLndvcmRzWzBdK2g8NjcxMDg4NjQpe3RoaXMud29yZHNbMF0rPWh9ZWxzZXt0aGlzLl9pYWRkbihoKX19fTtCTi5wcm90b3R5cGUuY29weT1mdW5jdGlvbiBjb3B5KGUpe2Uud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrKyl7ZS53b3Jkc1t0XT10aGlzLndvcmRzW3RdfWUubGVuZ3RoPXRoaXMubGVuZ3RoO2UubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZTtlLnJlZD10aGlzLnJlZH07Qk4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uIGNsb25lKCl7dmFyIGU9bmV3IEJOKG51bGwpO3RoaXMuY29weShlKTtyZXR1cm4gZX07Qk4ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24gX2V4cGFuZChlKXt3aGlsZSh0aGlzLmxlbmd0aDxlKXt0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTB9cmV0dXJuIHRoaXN9O0JOLnByb3RvdHlwZS5zdHJpcD1mdW5jdGlvbiBzdHJpcCgpe3doaWxlKHRoaXMubGVuZ3RoPjEmJnRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV09PT0wKXt0aGlzLmxlbmd0aC0tfXJldHVybiB0aGlzLl9ub3JtU2lnbigpfTtCTi5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uIF9ub3JtU2lnbigpe2lmKHRoaXMubGVuZ3RoPT09MSYmdGhpcy53b3Jkc1swXT09PTApe3RoaXMubmVnYXRpdmU9MH1yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24gaW5zcGVjdCgpe3JldHVybih0aGlzLnJlZD9cIjxCTi1SOiBcIjpcIjxCTjogXCIpK3RoaXMudG9TdHJpbmcoMTYpK1wiPlwifTt2YXIgbj1bXCJcIixcIjBcIixcIjAwXCIsXCIwMDBcIixcIjAwMDBcIixcIjAwMDAwXCIsXCIwMDAwMDBcIixcIjAwMDAwMDBcIixcIjAwMDAwMDAwXCIsXCIwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwXCIsXCIwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwXCIsXCIwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwXCIsXCIwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDAwXCIsXCIwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXCIsXCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIl07dmFyIGE9WzAsMCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV07dmFyIHM9WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2MDQ2NjE3Nl07Qk4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uIHRvU3RyaW5nKGUsdCl7ZT1lfHwxMDt0PXR8MHx8MTt2YXIgcjtpZihlPT09MTZ8fGU9PT1cImhleFwiKXtyPVwiXCI7dmFyIGk9MDt2YXIgbz0wO2Zvcih2YXIgaD0wO2g8dGhpcy5sZW5ndGg7aCsrKXt2YXIgdT10aGlzLndvcmRzW2hdO3ZhciBkPSgodTw8aXxvKSYxNjc3NzIxNSkudG9TdHJpbmcoMTYpO289dT4+PjI0LWkmMTY3NzcyMTU7aWYobyE9PTB8fGghPT10aGlzLmxlbmd0aC0xKXtyPW5bNi1kLmxlbmd0aF0rZCtyfWVsc2V7cj1kK3J9aSs9MjtpZihpPj0yNil7aS09MjY7aC0tfX1pZihvIT09MCl7cj1vLnRvU3RyaW5nKDE2KStyfXdoaWxlKHIubGVuZ3RoJXQhPT0wKXtyPVwiMFwiK3J9aWYodGhpcy5uZWdhdGl2ZSE9PTApe3I9XCItXCIrcn1yZXR1cm4gcn1pZihlPT09KGV8MCkmJmU+PTImJmU8PTM2KXt2YXIgYz1hW2VdO3ZhciBsPXNbZV07cj1cIlwiO3ZhciBwPXRoaXMuY2xvbmUoKTtwLm5lZ2F0aXZlPTA7d2hpbGUoIXAuaXNaZXJvKCkpe3ZhciB2PXAubW9kbihsKS50b1N0cmluZyhlKTtwPXAuaWRpdm4obCk7aWYoIXAuaXNaZXJvKCkpe3I9bltjLXYubGVuZ3RoXSt2K3J9ZWxzZXtyPXYrcn19aWYodGhpcy5pc1plcm8oKSl7cj1cIjBcIityfXdoaWxlKHIubGVuZ3RoJXQhPT0wKXtyPVwiMFwiK3J9aWYodGhpcy5uZWdhdGl2ZSE9PTApe3I9XCItXCIrcn1yZXR1cm4gcn1hc3NlcnQoZmFsc2UsXCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2XCIpfTtCTi5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24gdG9OdW1iZXIoKXt2YXIgZT10aGlzLndvcmRzWzBdO2lmKHRoaXMubGVuZ3RoPT09Mil7ZSs9dGhpcy53b3Jkc1sxXSo2NzEwODg2NH1lbHNlIGlmKHRoaXMubGVuZ3RoPT09MyYmdGhpcy53b3Jkc1syXT09PTEpe2UrPTQ1MDM1OTk2MjczNzA0OTYrdGhpcy53b3Jkc1sxXSo2NzEwODg2NH1lbHNlIGlmKHRoaXMubGVuZ3RoPjIpe2Fzc2VydChmYWxzZSxcIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0c1wiKX1yZXR1cm4gdGhpcy5uZWdhdGl2ZSE9PTA/LWU6ZX07Qk4ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbiB0b0pTT04oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNil9O0JOLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbiB0b0J1ZmZlcihlLHQpe2Fzc2VydCh0eXBlb2YgaSE9PVwidW5kZWZpbmVkXCIpO3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKGksZSx0KX07Qk4ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24gdG9BcnJheShlLHQpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LGUsdCl9O0JOLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbiB0b0FycmF5TGlrZShlLHQscil7dmFyIGk9dGhpcy5ieXRlTGVuZ3RoKCk7dmFyIG49cnx8TWF0aC5tYXgoMSxpKTthc3NlcnQoaTw9bixcImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGhcIik7YXNzZXJ0KG4+MCxcIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMFwiKTt0aGlzLnN0cmlwKCk7dmFyIGE9dD09PVwibGVcIjt2YXIgcz1uZXcgZShuKTt2YXIgbyxoO3ZhciB1PXRoaXMuY2xvbmUoKTtpZighYSl7Zm9yKGg9MDtoPG4taTtoKyspe3NbaF09MH1mb3IoaD0wOyF1LmlzWmVybygpO2grKyl7bz11LmFuZGxuKDI1NSk7dS5pdXNocm4oOCk7c1tuLWgtMV09b319ZWxzZXtmb3IoaD0wOyF1LmlzWmVybygpO2grKyl7bz11LmFuZGxuKDI1NSk7dS5pdXNocm4oOCk7c1toXT1vfWZvcig7aDxuO2grKyl7c1toXT0wfX1yZXR1cm4gc307aWYoTWF0aC5jbHozMil7Qk4ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24gX2NvdW50Qml0cyhlKXtyZXR1cm4gMzItTWF0aC5jbHozMihlKX19ZWxzZXtCTi5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbiBfY291bnRCaXRzKGUpe3ZhciB0PWU7dmFyIHI9MDtpZih0Pj00MDk2KXtyKz0xMzt0Pj4+PTEzfWlmKHQ+PTY0KXtyKz03O3Q+Pj49N31pZih0Pj04KXtyKz00O3Q+Pj49NH1pZih0Pj0yKXtyKz0yO3Q+Pj49Mn1yZXR1cm4gcit0fX1CTi5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uIF96ZXJvQml0cyhlKXtpZihlPT09MClyZXR1cm4gMjY7dmFyIHQ9ZTt2YXIgcj0wO2lmKCh0JjgxOTEpPT09MCl7cis9MTM7dD4+Pj0xM31pZigodCYxMjcpPT09MCl7cis9Nzt0Pj4+PTd9aWYoKHQmMTUpPT09MCl7cis9NDt0Pj4+PTR9aWYoKHQmMyk9PT0wKXtyKz0yO3Q+Pj49Mn1pZigodCYxKT09PTApe3IrK31yZXR1cm4gcn07Qk4ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbiBiaXRMZW5ndGgoKXt2YXIgZT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdO3ZhciB0PXRoaXMuX2NvdW50Qml0cyhlKTtyZXR1cm4odGhpcy5sZW5ndGgtMSkqMjYrdH07ZnVuY3Rpb24gdG9CaXRBcnJheShlKXt2YXIgdD1uZXcgQXJyYXkoZS5iaXRMZW5ndGgoKSk7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXIvMjZ8MDt2YXIgbj1yJTI2O3Rbcl09KGUud29yZHNbaV0mMTw8bik+Pj5ufXJldHVybiB0fUJOLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbiB6ZXJvQml0cygpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7dmFyIGU9MDtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrKyl7dmFyIHI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1t0XSk7ZSs9cjtpZihyIT09MjYpYnJlYWt9cmV0dXJuIGV9O0JOLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uIGJ5dGVMZW5ndGgoKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9O0JOLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24gdG9Ud29zKGUpe2lmKHRoaXMubmVnYXRpdmUhPT0wKXtyZXR1cm4gdGhpcy5hYnMoKS5pbm90bihlKS5pYWRkbigxKX1yZXR1cm4gdGhpcy5jbG9uZSgpfTtCTi5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24gZnJvbVR3b3MoZSl7aWYodGhpcy50ZXN0bihlLTEpKXtyZXR1cm4gdGhpcy5ub3RuKGUpLmlhZGRuKDEpLmluZWcoKX1yZXR1cm4gdGhpcy5jbG9uZSgpfTtCTi5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24gaXNOZWcoKXtyZXR1cm4gdGhpcy5uZWdhdGl2ZSE9PTB9O0JOLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24gbmVnKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCl9O0JOLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uIGluZWcoKXtpZighdGhpcy5pc1plcm8oKSl7dGhpcy5uZWdhdGl2ZV49MX1yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLml1b3I9ZnVuY3Rpb24gaXVvcihlKXt3aGlsZSh0aGlzLmxlbmd0aDxlLmxlbmd0aCl7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wfWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt0aGlzLndvcmRzW3RdPXRoaXMud29yZHNbdF18ZS53b3Jkc1t0XX1yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uIGlvcihlKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSk9PT0wKTtyZXR1cm4gdGhpcy5pdW9yKGUpfTtCTi5wcm90b3R5cGUub3I9ZnVuY3Rpb24gb3IoZSl7aWYodGhpcy5sZW5ndGg+ZS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pb3IoZSk7cmV0dXJuIGUuY2xvbmUoKS5pb3IodGhpcyl9O0JOLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24gdW9yKGUpe2lmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaXVvcihlKTtyZXR1cm4gZS5jbG9uZSgpLml1b3IodGhpcyl9O0JOLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbiBpdWFuZChlKXt2YXIgdDtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aCl7dD1lfWVsc2V7dD10aGlzfWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl0mZS53b3Jkc1tyXX10aGlzLmxlbmd0aD10Lmxlbmd0aDtyZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbiBpYW5kKGUpe2Fzc2VydCgodGhpcy5uZWdhdGl2ZXxlLm5lZ2F0aXZlKT09PTApO3JldHVybiB0aGlzLml1YW5kKGUpfTtCTi5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uIGFuZChlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQoZSk7cmV0dXJuIGUuY2xvbmUoKS5pYW5kKHRoaXMpfTtCTi5wcm90b3R5cGUudWFuZD1mdW5jdGlvbiB1YW5kKGUpe2lmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQoZSk7cmV0dXJuIGUuY2xvbmUoKS5pdWFuZCh0aGlzKX07Qk4ucHJvdG90eXBlLml1eG9yPWZ1bmN0aW9uIGl1eG9yKGUpe3ZhciB0O3ZhciByO2lmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXt0PXRoaXM7cj1lfWVsc2V7dD1lO3I9dGhpc31mb3IodmFyIGk9MDtpPHIubGVuZ3RoO2krKyl7dGhpcy53b3Jkc1tpXT10LndvcmRzW2ldXnIud29yZHNbaV19aWYodGhpcyE9PXQpe2Zvcig7aTx0Lmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09dC53b3Jkc1tpXX19dGhpcy5sZW5ndGg9dC5sZW5ndGg7cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24gaXhvcihlKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSk9PT0wKTtyZXR1cm4gdGhpcy5pdXhvcihlKX07Qk4ucHJvdG90eXBlLnhvcj1mdW5jdGlvbiB4b3IoZSl7aWYodGhpcy5sZW5ndGg+ZS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKGUpO3JldHVybiBlLmNsb25lKCkuaXhvcih0aGlzKX07Qk4ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24gdXhvcihlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml1eG9yKGUpO3JldHVybiBlLmNsb25lKCkuaXV4b3IodGhpcyl9O0JOLnByb3RvdHlwZS5pbm90bj1mdW5jdGlvbiBpbm90bihlKXthc3NlcnQodHlwZW9mIGU9PT1cIm51bWJlclwiJiZlPj0wKTt2YXIgdD1NYXRoLmNlaWwoZS8yNil8MDt2YXIgcj1lJTI2O3RoaXMuX2V4cGFuZCh0KTtpZihyPjApe3QtLX1mb3IodmFyIGk9MDtpPHQ7aSsrKXt0aGlzLndvcmRzW2ldPX50aGlzLndvcmRzW2ldJjY3MTA4ODYzfWlmKHI+MCl7dGhpcy53b3Jkc1tpXT1+dGhpcy53b3Jkc1tpXSY2NzEwODg2Mz4+MjYtcn1yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUubm90bj1mdW5jdGlvbiBub3RuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4oZSl9O0JOLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uIHNldG4oZSx0KXthc3NlcnQodHlwZW9mIGU9PT1cIm51bWJlclwiJiZlPj0wKTt2YXIgcj1lLzI2fDA7dmFyIGk9ZSUyNjt0aGlzLl9leHBhbmQocisxKTtpZih0KXt0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl18MTw8aX1lbHNle3RoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZ+KDE8PGkpfXJldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uIGlhZGQoZSl7dmFyIHQ7aWYodGhpcy5uZWdhdGl2ZSE9PTAmJmUubmVnYXRpdmU9PT0wKXt0aGlzLm5lZ2F0aXZlPTA7dD10aGlzLmlzdWIoZSk7dGhpcy5uZWdhdGl2ZV49MTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX1lbHNlIGlmKHRoaXMubmVnYXRpdmU9PT0wJiZlLm5lZ2F0aXZlIT09MCl7ZS5uZWdhdGl2ZT0wO3Q9dGhpcy5pc3ViKGUpO2UubmVnYXRpdmU9MTtyZXR1cm4gdC5fbm9ybVNpZ24oKX12YXIgcixpO2lmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXtyPXRoaXM7aT1lfWVsc2V7cj1lO2k9dGhpc312YXIgbj0wO2Zvcih2YXIgYT0wO2E8aS5sZW5ndGg7YSsrKXt0PShyLndvcmRzW2FdfDApKyhpLndvcmRzW2FdfDApK247dGhpcy53b3Jkc1thXT10JjY3MTA4ODYzO249dD4+PjI2fWZvcig7biE9PTAmJmE8ci5sZW5ndGg7YSsrKXt0PShyLndvcmRzW2FdfDApK247dGhpcy53b3Jkc1thXT10JjY3MTA4ODYzO249dD4+PjI2fXRoaXMubGVuZ3RoPXIubGVuZ3RoO2lmKG4hPT0wKXt0aGlzLndvcmRzW3RoaXMubGVuZ3RoXT1uO3RoaXMubGVuZ3RoKyt9ZWxzZSBpZihyIT09dGhpcyl7Zm9yKDthPHIubGVuZ3RoO2ErKyl7dGhpcy53b3Jkc1thXT1yLndvcmRzW2FdfX1yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmFkZD1mdW5jdGlvbiBhZGQoZSl7dmFyIHQ7aWYoZS5uZWdhdGl2ZSE9PTAmJnRoaXMubmVnYXRpdmU9PT0wKXtlLm5lZ2F0aXZlPTA7dD10aGlzLnN1YihlKTtlLm5lZ2F0aXZlXj0xO3JldHVybiB0fWVsc2UgaWYoZS5uZWdhdGl2ZT09PTAmJnRoaXMubmVnYXRpdmUhPT0wKXt0aGlzLm5lZ2F0aXZlPTA7dD1lLnN1Yih0aGlzKTt0aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHR9aWYodGhpcy5sZW5ndGg+ZS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKGUpO3JldHVybiBlLmNsb25lKCkuaWFkZCh0aGlzKX07Qk4ucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24gaXN1YihlKXtpZihlLm5lZ2F0aXZlIT09MCl7ZS5uZWdhdGl2ZT0wO3ZhciB0PXRoaXMuaWFkZChlKTtlLm5lZ2F0aXZlPTE7cmV0dXJuIHQuX25vcm1TaWduKCl9ZWxzZSBpZih0aGlzLm5lZ2F0aXZlIT09MCl7dGhpcy5uZWdhdGl2ZT0wO3RoaXMuaWFkZChlKTt0aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9dmFyIHI9dGhpcy5jbXAoZSk7aWYocj09PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmxlbmd0aD0xO3RoaXMud29yZHNbMF09MDtyZXR1cm4gdGhpc312YXIgaSxuO2lmKHI+MCl7aT10aGlzO249ZX1lbHNle2k9ZTtuPXRoaXN9dmFyIGE9MDtmb3IodmFyIHM9MDtzPG4ubGVuZ3RoO3MrKyl7dD0oaS53b3Jkc1tzXXwwKS0obi53b3Jkc1tzXXwwKSthO2E9dD4+MjY7dGhpcy53b3Jkc1tzXT10JjY3MTA4ODYzfWZvcig7YSE9PTAmJnM8aS5sZW5ndGg7cysrKXt0PShpLndvcmRzW3NdfDApK2E7YT10Pj4yNjt0aGlzLndvcmRzW3NdPXQmNjcxMDg4NjN9aWYoYT09PTAmJnM8aS5sZW5ndGgmJmkhPT10aGlzKXtmb3IoO3M8aS5sZW5ndGg7cysrKXt0aGlzLndvcmRzW3NdPWkud29yZHNbc119fXRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLHMpO2lmKGkhPT10aGlzKXt0aGlzLm5lZ2F0aXZlPTF9cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbiBzdWIoZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKGUpfTtmdW5jdGlvbiBzbWFsbE11bFRvKGUsdCxyKXtyLm5lZ2F0aXZlPXQubmVnYXRpdmVeZS5uZWdhdGl2ZTt2YXIgaT1lLmxlbmd0aCt0Lmxlbmd0aHwwO3IubGVuZ3RoPWk7aT1pLTF8MDt2YXIgbj1lLndvcmRzWzBdfDA7dmFyIGE9dC53b3Jkc1swXXwwO3ZhciBzPW4qYTt2YXIgbz1zJjY3MTA4ODYzO3ZhciBoPXMvNjcxMDg4NjR8MDtyLndvcmRzWzBdPW87Zm9yKHZhciB1PTE7dTxpO3UrKyl7dmFyIGQ9aD4+PjI2O3ZhciBjPWgmNjcxMDg4NjM7dmFyIGw9TWF0aC5taW4odSx0Lmxlbmd0aC0xKTtmb3IodmFyIHA9TWF0aC5tYXgoMCx1LWUubGVuZ3RoKzEpO3A8PWw7cCsrKXt2YXIgdj11LXB8MDtuPWUud29yZHNbdl18MDthPXQud29yZHNbcF18MDtzPW4qYStjO2QrPXMvNjcxMDg4NjR8MDtjPXMmNjcxMDg4NjN9ci53b3Jkc1t1XT1jfDA7aD1kfDB9aWYoaCE9PTApe3Iud29yZHNbdV09aHwwfWVsc2V7ci5sZW5ndGgtLX1yZXR1cm4gci5zdHJpcCgpfXZhciBvPWZ1bmN0aW9uIGNvbWIxME11bFRvKGUsdCxyKXt2YXIgaT1lLndvcmRzO3ZhciBuPXQud29yZHM7dmFyIGE9ci53b3Jkczt2YXIgcz0wO3ZhciBvO3ZhciBoO3ZhciB1O3ZhciBkPWlbMF18MDt2YXIgYz1kJjgxOTE7dmFyIGw9ZD4+PjEzO3ZhciBwPWlbMV18MDt2YXIgdj1wJjgxOTE7dmFyIGI9cD4+PjEzO3ZhciBtPWlbMl18MDt2YXIgeT1tJjgxOTE7dmFyIGc9bT4+PjEzO3ZhciBfPWlbM118MDt2YXIgdz1fJjgxOTE7dmFyIE09Xz4+PjEzO3ZhciBCPWlbNF18MDt2YXIgRT1CJjgxOTE7dmFyIGs9Qj4+PjEzO3ZhciBBPWlbNV18MDt2YXIgTj1BJjgxOTE7dmFyIFA9QT4+PjEzO3ZhciB4PWlbNl18MDt2YXIgST14JjgxOTE7dmFyIEM9eD4+PjEzO3ZhciBEPWlbN118MDt2YXIgVD1EJjgxOTE7dmFyIGo9RD4+PjEzO3ZhciBxPWlbOF18MDt2YXIgTz1xJjgxOTE7dmFyIEg9cT4+PjEzO3ZhciBMPWlbOV18MDt2YXIgej1MJjgxOTE7dmFyIEY9TD4+PjEzO3ZhciBVPW5bMF18MDt2YXIgVz1VJjgxOTE7dmFyIFY9VT4+PjEzO3ZhciBHPW5bMV18MDt2YXIgSj1HJjgxOTE7dmFyIFo9Rz4+PjEzO3ZhciBYPW5bMl18MDt2YXIgWT1YJjgxOTE7dmFyICQ9WD4+PjEzO3ZhciBRPW5bM118MDt2YXIgZWU9USY4MTkxO3ZhciB0ZT1RPj4+MTM7dmFyIHJlPW5bNF18MDt2YXIgaWU9cmUmODE5MTt2YXIgbmU9cmU+Pj4xMzt2YXIgYWU9bls1XXwwO3ZhciBmZT1hZSY4MTkxO3ZhciBzZT1hZT4+PjEzO3ZhciBvZT1uWzZdfDA7dmFyIGhlPW9lJjgxOTE7dmFyIHVlPW9lPj4+MTM7dmFyIGRlPW5bN118MDt2YXIgY2U9ZGUmODE5MTt2YXIgbGU9ZGU+Pj4xMzt2YXIgcGU9bls4XXwwO3ZhciB2ZT1wZSY4MTkxO3ZhciBiZT1wZT4+PjEzO3ZhciBtZT1uWzldfDA7dmFyIHllPW1lJjgxOTE7dmFyIGdlPW1lPj4+MTM7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7ci5sZW5ndGg9MTk7bz1NYXRoLmltdWwoYyxXKTtoPU1hdGguaW11bChjLFYpO2g9aCtNYXRoLmltdWwobCxXKXwwO3U9TWF0aC5pbXVsKGwsVik7dmFyIF9lPShzK298MCkrKChoJjgxOTEpPDwxMyl8MDtzPSh1KyhoPj4+MTMpfDApKyhfZT4+PjI2KXwwO19lJj02NzEwODg2MztvPU1hdGguaW11bCh2LFcpO2g9TWF0aC5pbXVsKHYsVik7aD1oK01hdGguaW11bChiLFcpfDA7dT1NYXRoLmltdWwoYixWKTtvPW8rTWF0aC5pbXVsKGMsSil8MDtoPWgrTWF0aC5pbXVsKGMsWil8MDtoPWgrTWF0aC5pbXVsKGwsSil8MDt1PXUrTWF0aC5pbXVsKGwsWil8MDt2YXIgd2U9KHMrb3wwKSsoKGgmODE5MSk8PDEzKXwwO3M9KHUrKGg+Pj4xMyl8MCkrKHdlPj4+MjYpfDA7d2UmPTY3MTA4ODYzO289TWF0aC5pbXVsKHksVyk7aD1NYXRoLmltdWwoeSxWKTtoPWgrTWF0aC5pbXVsKGcsVyl8MDt1PU1hdGguaW11bChnLFYpO289bytNYXRoLmltdWwodixKKXwwO2g9aCtNYXRoLmltdWwodixaKXwwO2g9aCtNYXRoLmltdWwoYixKKXwwO3U9dStNYXRoLmltdWwoYixaKXwwO289bytNYXRoLmltdWwoYyxZKXwwO2g9aCtNYXRoLmltdWwoYywkKXwwO2g9aCtNYXRoLmltdWwobCxZKXwwO3U9dStNYXRoLmltdWwobCwkKXwwO3ZhciBNZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoTWU+Pj4yNil8MDtNZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwodyxXKTtoPU1hdGguaW11bCh3LFYpO2g9aCtNYXRoLmltdWwoTSxXKXwwO3U9TWF0aC5pbXVsKE0sVik7bz1vK01hdGguaW11bCh5LEopfDA7aD1oK01hdGguaW11bCh5LFopfDA7aD1oK01hdGguaW11bChnLEopfDA7dT11K01hdGguaW11bChnLFopfDA7bz1vK01hdGguaW11bCh2LFkpfDA7aD1oK01hdGguaW11bCh2LCQpfDA7aD1oK01hdGguaW11bChiLFkpfDA7dT11K01hdGguaW11bChiLCQpfDA7bz1vK01hdGguaW11bChjLGVlKXwwO2g9aCtNYXRoLmltdWwoYyx0ZSl8MDtoPWgrTWF0aC5pbXVsKGwsZWUpfDA7dT11K01hdGguaW11bChsLHRlKXwwO3ZhciBTZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoU2U+Pj4yNil8MDtTZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoRSxXKTtoPU1hdGguaW11bChFLFYpO2g9aCtNYXRoLmltdWwoayxXKXwwO3U9TWF0aC5pbXVsKGssVik7bz1vK01hdGguaW11bCh3LEopfDA7aD1oK01hdGguaW11bCh3LFopfDA7aD1oK01hdGguaW11bChNLEopfDA7dT11K01hdGguaW11bChNLFopfDA7bz1vK01hdGguaW11bCh5LFkpfDA7aD1oK01hdGguaW11bCh5LCQpfDA7aD1oK01hdGguaW11bChnLFkpfDA7dT11K01hdGguaW11bChnLCQpfDA7bz1vK01hdGguaW11bCh2LGVlKXwwO2g9aCtNYXRoLmltdWwodix0ZSl8MDtoPWgrTWF0aC5pbXVsKGIsZWUpfDA7dT11K01hdGguaW11bChiLHRlKXwwO289bytNYXRoLmltdWwoYyxpZSl8MDtoPWgrTWF0aC5pbXVsKGMsbmUpfDA7aD1oK01hdGguaW11bChsLGllKXwwO3U9dStNYXRoLmltdWwobCxuZSl8MDt2YXIgQmU9KHMrb3wwKSsoKGgmODE5MSk8PDEzKXwwO3M9KHUrKGg+Pj4xMyl8MCkrKEJlPj4+MjYpfDA7QmUmPTY3MTA4ODYzO289TWF0aC5pbXVsKE4sVyk7aD1NYXRoLmltdWwoTixWKTtoPWgrTWF0aC5pbXVsKFAsVyl8MDt1PU1hdGguaW11bChQLFYpO289bytNYXRoLmltdWwoRSxKKXwwO2g9aCtNYXRoLmltdWwoRSxaKXwwO2g9aCtNYXRoLmltdWwoayxKKXwwO3U9dStNYXRoLmltdWwoayxaKXwwO289bytNYXRoLmltdWwodyxZKXwwO2g9aCtNYXRoLmltdWwodywkKXwwO2g9aCtNYXRoLmltdWwoTSxZKXwwO3U9dStNYXRoLmltdWwoTSwkKXwwO289bytNYXRoLmltdWwoeSxlZSl8MDtoPWgrTWF0aC5pbXVsKHksdGUpfDA7aD1oK01hdGguaW11bChnLGVlKXwwO3U9dStNYXRoLmltdWwoZyx0ZSl8MDtvPW8rTWF0aC5pbXVsKHYsaWUpfDA7aD1oK01hdGguaW11bCh2LG5lKXwwO2g9aCtNYXRoLmltdWwoYixpZSl8MDt1PXUrTWF0aC5pbXVsKGIsbmUpfDA7bz1vK01hdGguaW11bChjLGZlKXwwO2g9aCtNYXRoLmltdWwoYyxzZSl8MDtoPWgrTWF0aC5pbXVsKGwsZmUpfDA7dT11K01hdGguaW11bChsLHNlKXwwO3ZhciBFZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoRWU+Pj4yNil8MDtFZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoSSxXKTtoPU1hdGguaW11bChJLFYpO2g9aCtNYXRoLmltdWwoQyxXKXwwO3U9TWF0aC5pbXVsKEMsVik7bz1vK01hdGguaW11bChOLEopfDA7aD1oK01hdGguaW11bChOLFopfDA7aD1oK01hdGguaW11bChQLEopfDA7dT11K01hdGguaW11bChQLFopfDA7bz1vK01hdGguaW11bChFLFkpfDA7aD1oK01hdGguaW11bChFLCQpfDA7aD1oK01hdGguaW11bChrLFkpfDA7dT11K01hdGguaW11bChrLCQpfDA7bz1vK01hdGguaW11bCh3LGVlKXwwO2g9aCtNYXRoLmltdWwodyx0ZSl8MDtoPWgrTWF0aC5pbXVsKE0sZWUpfDA7dT11K01hdGguaW11bChNLHRlKXwwO289bytNYXRoLmltdWwoeSxpZSl8MDtoPWgrTWF0aC5pbXVsKHksbmUpfDA7aD1oK01hdGguaW11bChnLGllKXwwO3U9dStNYXRoLmltdWwoZyxuZSl8MDtvPW8rTWF0aC5pbXVsKHYsZmUpfDA7aD1oK01hdGguaW11bCh2LHNlKXwwO2g9aCtNYXRoLmltdWwoYixmZSl8MDt1PXUrTWF0aC5pbXVsKGIsc2UpfDA7bz1vK01hdGguaW11bChjLGhlKXwwO2g9aCtNYXRoLmltdWwoYyx1ZSl8MDtoPWgrTWF0aC5pbXVsKGwsaGUpfDA7dT11K01hdGguaW11bChsLHVlKXwwO3ZhciBrZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoa2U+Pj4yNil8MDtrZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoVCxXKTtoPU1hdGguaW11bChULFYpO2g9aCtNYXRoLmltdWwoaixXKXwwO3U9TWF0aC5pbXVsKGosVik7bz1vK01hdGguaW11bChJLEopfDA7aD1oK01hdGguaW11bChJLFopfDA7aD1oK01hdGguaW11bChDLEopfDA7dT11K01hdGguaW11bChDLFopfDA7bz1vK01hdGguaW11bChOLFkpfDA7aD1oK01hdGguaW11bChOLCQpfDA7aD1oK01hdGguaW11bChQLFkpfDA7dT11K01hdGguaW11bChQLCQpfDA7bz1vK01hdGguaW11bChFLGVlKXwwO2g9aCtNYXRoLmltdWwoRSx0ZSl8MDtoPWgrTWF0aC5pbXVsKGssZWUpfDA7dT11K01hdGguaW11bChrLHRlKXwwO289bytNYXRoLmltdWwodyxpZSl8MDtoPWgrTWF0aC5pbXVsKHcsbmUpfDA7aD1oK01hdGguaW11bChNLGllKXwwO3U9dStNYXRoLmltdWwoTSxuZSl8MDtvPW8rTWF0aC5pbXVsKHksZmUpfDA7aD1oK01hdGguaW11bCh5LHNlKXwwO2g9aCtNYXRoLmltdWwoZyxmZSl8MDt1PXUrTWF0aC5pbXVsKGcsc2UpfDA7bz1vK01hdGguaW11bCh2LGhlKXwwO2g9aCtNYXRoLmltdWwodix1ZSl8MDtoPWgrTWF0aC5pbXVsKGIsaGUpfDA7dT11K01hdGguaW11bChiLHVlKXwwO289bytNYXRoLmltdWwoYyxjZSl8MDtoPWgrTWF0aC5pbXVsKGMsbGUpfDA7aD1oK01hdGguaW11bChsLGNlKXwwO3U9dStNYXRoLmltdWwobCxsZSl8MDt2YXIgQWU9KHMrb3wwKSsoKGgmODE5MSk8PDEzKXwwO3M9KHUrKGg+Pj4xMyl8MCkrKEFlPj4+MjYpfDA7QWUmPTY3MTA4ODYzO289TWF0aC5pbXVsKE8sVyk7aD1NYXRoLmltdWwoTyxWKTtoPWgrTWF0aC5pbXVsKEgsVyl8MDt1PU1hdGguaW11bChILFYpO289bytNYXRoLmltdWwoVCxKKXwwO2g9aCtNYXRoLmltdWwoVCxaKXwwO2g9aCtNYXRoLmltdWwoaixKKXwwO3U9dStNYXRoLmltdWwoaixaKXwwO289bytNYXRoLmltdWwoSSxZKXwwO2g9aCtNYXRoLmltdWwoSSwkKXwwO2g9aCtNYXRoLmltdWwoQyxZKXwwO3U9dStNYXRoLmltdWwoQywkKXwwO289bytNYXRoLmltdWwoTixlZSl8MDtoPWgrTWF0aC5pbXVsKE4sdGUpfDA7aD1oK01hdGguaW11bChQLGVlKXwwO3U9dStNYXRoLmltdWwoUCx0ZSl8MDtvPW8rTWF0aC5pbXVsKEUsaWUpfDA7aD1oK01hdGguaW11bChFLG5lKXwwO2g9aCtNYXRoLmltdWwoayxpZSl8MDt1PXUrTWF0aC5pbXVsKGssbmUpfDA7bz1vK01hdGguaW11bCh3LGZlKXwwO2g9aCtNYXRoLmltdWwodyxzZSl8MDtoPWgrTWF0aC5pbXVsKE0sZmUpfDA7dT11K01hdGguaW11bChNLHNlKXwwO289bytNYXRoLmltdWwoeSxoZSl8MDtoPWgrTWF0aC5pbXVsKHksdWUpfDA7aD1oK01hdGguaW11bChnLGhlKXwwO3U9dStNYXRoLmltdWwoZyx1ZSl8MDtvPW8rTWF0aC5pbXVsKHYsY2UpfDA7aD1oK01hdGguaW11bCh2LGxlKXwwO2g9aCtNYXRoLmltdWwoYixjZSl8MDt1PXUrTWF0aC5pbXVsKGIsbGUpfDA7bz1vK01hdGguaW11bChjLHZlKXwwO2g9aCtNYXRoLmltdWwoYyxiZSl8MDtoPWgrTWF0aC5pbXVsKGwsdmUpfDA7dT11K01hdGguaW11bChsLGJlKXwwO3ZhciBOZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoTmU+Pj4yNil8MDtOZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixXKTtoPU1hdGguaW11bCh6LFYpO2g9aCtNYXRoLmltdWwoRixXKXwwO3U9TWF0aC5pbXVsKEYsVik7bz1vK01hdGguaW11bChPLEopfDA7aD1oK01hdGguaW11bChPLFopfDA7aD1oK01hdGguaW11bChILEopfDA7dT11K01hdGguaW11bChILFopfDA7bz1vK01hdGguaW11bChULFkpfDA7aD1oK01hdGguaW11bChULCQpfDA7aD1oK01hdGguaW11bChqLFkpfDA7dT11K01hdGguaW11bChqLCQpfDA7bz1vK01hdGguaW11bChJLGVlKXwwO2g9aCtNYXRoLmltdWwoSSx0ZSl8MDtoPWgrTWF0aC5pbXVsKEMsZWUpfDA7dT11K01hdGguaW11bChDLHRlKXwwO289bytNYXRoLmltdWwoTixpZSl8MDtoPWgrTWF0aC5pbXVsKE4sbmUpfDA7aD1oK01hdGguaW11bChQLGllKXwwO3U9dStNYXRoLmltdWwoUCxuZSl8MDtvPW8rTWF0aC5pbXVsKEUsZmUpfDA7aD1oK01hdGguaW11bChFLHNlKXwwO2g9aCtNYXRoLmltdWwoayxmZSl8MDt1PXUrTWF0aC5pbXVsKGssc2UpfDA7bz1vK01hdGguaW11bCh3LGhlKXwwO2g9aCtNYXRoLmltdWwodyx1ZSl8MDtoPWgrTWF0aC5pbXVsKE0saGUpfDA7dT11K01hdGguaW11bChNLHVlKXwwO289bytNYXRoLmltdWwoeSxjZSl8MDtoPWgrTWF0aC5pbXVsKHksbGUpfDA7aD1oK01hdGguaW11bChnLGNlKXwwO3U9dStNYXRoLmltdWwoZyxsZSl8MDtvPW8rTWF0aC5pbXVsKHYsdmUpfDA7aD1oK01hdGguaW11bCh2LGJlKXwwO2g9aCtNYXRoLmltdWwoYix2ZSl8MDt1PXUrTWF0aC5pbXVsKGIsYmUpfDA7bz1vK01hdGguaW11bChjLHllKXwwO2g9aCtNYXRoLmltdWwoYyxnZSl8MDtoPWgrTWF0aC5pbXVsKGwseWUpfDA7dT11K01hdGguaW11bChsLGdlKXwwO3ZhciBSZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoUmU+Pj4yNil8MDtSZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixKKTtoPU1hdGguaW11bCh6LFopO2g9aCtNYXRoLmltdWwoRixKKXwwO3U9TWF0aC5pbXVsKEYsWik7bz1vK01hdGguaW11bChPLFkpfDA7aD1oK01hdGguaW11bChPLCQpfDA7aD1oK01hdGguaW11bChILFkpfDA7dT11K01hdGguaW11bChILCQpfDA7bz1vK01hdGguaW11bChULGVlKXwwO2g9aCtNYXRoLmltdWwoVCx0ZSl8MDtoPWgrTWF0aC5pbXVsKGosZWUpfDA7dT11K01hdGguaW11bChqLHRlKXwwO289bytNYXRoLmltdWwoSSxpZSl8MDtoPWgrTWF0aC5pbXVsKEksbmUpfDA7aD1oK01hdGguaW11bChDLGllKXwwO3U9dStNYXRoLmltdWwoQyxuZSl8MDtvPW8rTWF0aC5pbXVsKE4sZmUpfDA7aD1oK01hdGguaW11bChOLHNlKXwwO2g9aCtNYXRoLmltdWwoUCxmZSl8MDt1PXUrTWF0aC5pbXVsKFAsc2UpfDA7bz1vK01hdGguaW11bChFLGhlKXwwO2g9aCtNYXRoLmltdWwoRSx1ZSl8MDtoPWgrTWF0aC5pbXVsKGssaGUpfDA7dT11K01hdGguaW11bChrLHVlKXwwO289bytNYXRoLmltdWwodyxjZSl8MDtoPWgrTWF0aC5pbXVsKHcsbGUpfDA7aD1oK01hdGguaW11bChNLGNlKXwwO3U9dStNYXRoLmltdWwoTSxsZSl8MDtvPW8rTWF0aC5pbXVsKHksdmUpfDA7aD1oK01hdGguaW11bCh5LGJlKXwwO2g9aCtNYXRoLmltdWwoZyx2ZSl8MDt1PXUrTWF0aC5pbXVsKGcsYmUpfDA7bz1vK01hdGguaW11bCh2LHllKXwwO2g9aCtNYXRoLmltdWwodixnZSl8MDtoPWgrTWF0aC5pbXVsKGIseWUpfDA7dT11K01hdGguaW11bChiLGdlKXwwO3ZhciBQZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoUGU+Pj4yNil8MDtQZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixZKTtoPU1hdGguaW11bCh6LCQpO2g9aCtNYXRoLmltdWwoRixZKXwwO3U9TWF0aC5pbXVsKEYsJCk7bz1vK01hdGguaW11bChPLGVlKXwwO2g9aCtNYXRoLmltdWwoTyx0ZSl8MDtoPWgrTWF0aC5pbXVsKEgsZWUpfDA7dT11K01hdGguaW11bChILHRlKXwwO289bytNYXRoLmltdWwoVCxpZSl8MDtoPWgrTWF0aC5pbXVsKFQsbmUpfDA7aD1oK01hdGguaW11bChqLGllKXwwO3U9dStNYXRoLmltdWwoaixuZSl8MDtvPW8rTWF0aC5pbXVsKEksZmUpfDA7aD1oK01hdGguaW11bChJLHNlKXwwO2g9aCtNYXRoLmltdWwoQyxmZSl8MDt1PXUrTWF0aC5pbXVsKEMsc2UpfDA7bz1vK01hdGguaW11bChOLGhlKXwwO2g9aCtNYXRoLmltdWwoTix1ZSl8MDtoPWgrTWF0aC5pbXVsKFAsaGUpfDA7dT11K01hdGguaW11bChQLHVlKXwwO289bytNYXRoLmltdWwoRSxjZSl8MDtoPWgrTWF0aC5pbXVsKEUsbGUpfDA7aD1oK01hdGguaW11bChrLGNlKXwwO3U9dStNYXRoLmltdWwoayxsZSl8MDtvPW8rTWF0aC5pbXVsKHcsdmUpfDA7aD1oK01hdGguaW11bCh3LGJlKXwwO2g9aCtNYXRoLmltdWwoTSx2ZSl8MDt1PXUrTWF0aC5pbXVsKE0sYmUpfDA7bz1vK01hdGguaW11bCh5LHllKXwwO2g9aCtNYXRoLmltdWwoeSxnZSl8MDtoPWgrTWF0aC5pbXVsKGcseWUpfDA7dT11K01hdGguaW11bChnLGdlKXwwO3ZhciB4ZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoeGU+Pj4yNil8MDt4ZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixlZSk7aD1NYXRoLmltdWwoeix0ZSk7aD1oK01hdGguaW11bChGLGVlKXwwO3U9TWF0aC5pbXVsKEYsdGUpO289bytNYXRoLmltdWwoTyxpZSl8MDtoPWgrTWF0aC5pbXVsKE8sbmUpfDA7aD1oK01hdGguaW11bChILGllKXwwO3U9dStNYXRoLmltdWwoSCxuZSl8MDtvPW8rTWF0aC5pbXVsKFQsZmUpfDA7aD1oK01hdGguaW11bChULHNlKXwwO2g9aCtNYXRoLmltdWwoaixmZSl8MDt1PXUrTWF0aC5pbXVsKGosc2UpfDA7bz1vK01hdGguaW11bChJLGhlKXwwO2g9aCtNYXRoLmltdWwoSSx1ZSl8MDtoPWgrTWF0aC5pbXVsKEMsaGUpfDA7dT11K01hdGguaW11bChDLHVlKXwwO289bytNYXRoLmltdWwoTixjZSl8MDtoPWgrTWF0aC5pbXVsKE4sbGUpfDA7aD1oK01hdGguaW11bChQLGNlKXwwO3U9dStNYXRoLmltdWwoUCxsZSl8MDtvPW8rTWF0aC5pbXVsKEUsdmUpfDA7aD1oK01hdGguaW11bChFLGJlKXwwO2g9aCtNYXRoLmltdWwoayx2ZSl8MDt1PXUrTWF0aC5pbXVsKGssYmUpfDA7bz1vK01hdGguaW11bCh3LHllKXwwO2g9aCtNYXRoLmltdWwodyxnZSl8MDtoPWgrTWF0aC5pbXVsKE0seWUpfDA7dT11K01hdGguaW11bChNLGdlKXwwO3ZhciBJZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoSWU+Pj4yNil8MDtJZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixpZSk7aD1NYXRoLmltdWwoeixuZSk7aD1oK01hdGguaW11bChGLGllKXwwO3U9TWF0aC5pbXVsKEYsbmUpO289bytNYXRoLmltdWwoTyxmZSl8MDtoPWgrTWF0aC5pbXVsKE8sc2UpfDA7aD1oK01hdGguaW11bChILGZlKXwwO3U9dStNYXRoLmltdWwoSCxzZSl8MDtvPW8rTWF0aC5pbXVsKFQsaGUpfDA7aD1oK01hdGguaW11bChULHVlKXwwO2g9aCtNYXRoLmltdWwoaixoZSl8MDt1PXUrTWF0aC5pbXVsKGosdWUpfDA7bz1vK01hdGguaW11bChJLGNlKXwwO2g9aCtNYXRoLmltdWwoSSxsZSl8MDtoPWgrTWF0aC5pbXVsKEMsY2UpfDA7dT11K01hdGguaW11bChDLGxlKXwwO289bytNYXRoLmltdWwoTix2ZSl8MDtoPWgrTWF0aC5pbXVsKE4sYmUpfDA7aD1oK01hdGguaW11bChQLHZlKXwwO3U9dStNYXRoLmltdWwoUCxiZSl8MDtvPW8rTWF0aC5pbXVsKEUseWUpfDA7aD1oK01hdGguaW11bChFLGdlKXwwO2g9aCtNYXRoLmltdWwoayx5ZSl8MDt1PXUrTWF0aC5pbXVsKGssZ2UpfDA7dmFyIENlPShzK298MCkrKChoJjgxOTEpPDwxMyl8MDtzPSh1KyhoPj4+MTMpfDApKyhDZT4+PjI2KXwwO0NlJj02NzEwODg2MztvPU1hdGguaW11bCh6LGZlKTtoPU1hdGguaW11bCh6LHNlKTtoPWgrTWF0aC5pbXVsKEYsZmUpfDA7dT1NYXRoLmltdWwoRixzZSk7bz1vK01hdGguaW11bChPLGhlKXwwO2g9aCtNYXRoLmltdWwoTyx1ZSl8MDtoPWgrTWF0aC5pbXVsKEgsaGUpfDA7dT11K01hdGguaW11bChILHVlKXwwO289bytNYXRoLmltdWwoVCxjZSl8MDtoPWgrTWF0aC5pbXVsKFQsbGUpfDA7aD1oK01hdGguaW11bChqLGNlKXwwO3U9dStNYXRoLmltdWwoaixsZSl8MDtvPW8rTWF0aC5pbXVsKEksdmUpfDA7aD1oK01hdGguaW11bChJLGJlKXwwO2g9aCtNYXRoLmltdWwoQyx2ZSl8MDt1PXUrTWF0aC5pbXVsKEMsYmUpfDA7bz1vK01hdGguaW11bChOLHllKXwwO2g9aCtNYXRoLmltdWwoTixnZSl8MDtoPWgrTWF0aC5pbXVsKFAseWUpfDA7dT11K01hdGguaW11bChQLGdlKXwwO3ZhciBEZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoRGU+Pj4yNil8MDtEZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixoZSk7aD1NYXRoLmltdWwoeix1ZSk7aD1oK01hdGguaW11bChGLGhlKXwwO3U9TWF0aC5pbXVsKEYsdWUpO289bytNYXRoLmltdWwoTyxjZSl8MDtoPWgrTWF0aC5pbXVsKE8sbGUpfDA7aD1oK01hdGguaW11bChILGNlKXwwO3U9dStNYXRoLmltdWwoSCxsZSl8MDtvPW8rTWF0aC5pbXVsKFQsdmUpfDA7aD1oK01hdGguaW11bChULGJlKXwwO2g9aCtNYXRoLmltdWwoaix2ZSl8MDt1PXUrTWF0aC5pbXVsKGosYmUpfDA7bz1vK01hdGguaW11bChJLHllKXwwO2g9aCtNYXRoLmltdWwoSSxnZSl8MDtoPWgrTWF0aC5pbXVsKEMseWUpfDA7dT11K01hdGguaW11bChDLGdlKXwwO3ZhciBUZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoVGU+Pj4yNil8MDtUZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixjZSk7aD1NYXRoLmltdWwoeixsZSk7aD1oK01hdGguaW11bChGLGNlKXwwO3U9TWF0aC5pbXVsKEYsbGUpO289bytNYXRoLmltdWwoTyx2ZSl8MDtoPWgrTWF0aC5pbXVsKE8sYmUpfDA7aD1oK01hdGguaW11bChILHZlKXwwO3U9dStNYXRoLmltdWwoSCxiZSl8MDtvPW8rTWF0aC5pbXVsKFQseWUpfDA7aD1oK01hdGguaW11bChULGdlKXwwO2g9aCtNYXRoLmltdWwoaix5ZSl8MDt1PXUrTWF0aC5pbXVsKGosZ2UpfDA7dmFyIGplPShzK298MCkrKChoJjgxOTEpPDwxMyl8MDtzPSh1KyhoPj4+MTMpfDApKyhqZT4+PjI2KXwwO2plJj02NzEwODg2MztvPU1hdGguaW11bCh6LHZlKTtoPU1hdGguaW11bCh6LGJlKTtoPWgrTWF0aC5pbXVsKEYsdmUpfDA7dT1NYXRoLmltdWwoRixiZSk7bz1vK01hdGguaW11bChPLHllKXwwO2g9aCtNYXRoLmltdWwoTyxnZSl8MDtoPWgrTWF0aC5pbXVsKEgseWUpfDA7dT11K01hdGguaW11bChILGdlKXwwO3ZhciBxZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsocWU+Pj4yNil8MDtxZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeix5ZSk7aD1NYXRoLmltdWwoeixnZSk7aD1oK01hdGguaW11bChGLHllKXwwO3U9TWF0aC5pbXVsKEYsZ2UpO3ZhciBPZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoT2U+Pj4yNil8MDtPZSY9NjcxMDg4NjM7YVswXT1fZTthWzFdPXdlO2FbMl09TWU7YVszXT1TZTthWzRdPUJlO2FbNV09RWU7YVs2XT1rZTthWzddPUFlO2FbOF09TmU7YVs5XT1SZTthWzEwXT1QZTthWzExXT14ZTthWzEyXT1JZTthWzEzXT1DZTthWzE0XT1EZTthWzE1XT1UZTthWzE2XT1qZTthWzE3XT1xZTthWzE4XT1PZTtpZihzIT09MCl7YVsxOV09cztyLmxlbmd0aCsrfXJldHVybiByfTtpZighTWF0aC5pbXVsKXtvPXNtYWxsTXVsVG99ZnVuY3Rpb24gYmlnTXVsVG8oZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlO3IubGVuZ3RoPWUubGVuZ3RoK3QubGVuZ3RoO3ZhciBpPTA7dmFyIG49MDtmb3IodmFyIGE9MDthPHIubGVuZ3RoLTE7YSsrKXt2YXIgcz1uO249MDt2YXIgbz1pJjY3MTA4ODYzO3ZhciBoPU1hdGgubWluKGEsdC5sZW5ndGgtMSk7Zm9yKHZhciB1PU1hdGgubWF4KDAsYS1lLmxlbmd0aCsxKTt1PD1oO3UrKyl7dmFyIGQ9YS11O3ZhciBjPWUud29yZHNbZF18MDt2YXIgbD10LndvcmRzW3VdfDA7dmFyIHA9YypsO3ZhciB2PXAmNjcxMDg4NjM7cz1zKyhwLzY3MTA4ODY0fDApfDA7dj12K298MDtvPXYmNjcxMDg4NjM7cz1zKyh2Pj4+MjYpfDA7bis9cz4+PjI2O3MmPTY3MTA4ODYzfXIud29yZHNbYV09bztpPXM7cz1ufWlmKGkhPT0wKXtyLndvcmRzW2FdPWl9ZWxzZXtyLmxlbmd0aC0tfXJldHVybiByLnN0cmlwKCl9ZnVuY3Rpb24ganVtYm9NdWxUbyhlLHQscil7dmFyIGk9bmV3IEZGVE07cmV0dXJuIGkubXVscChlLHQscil9Qk4ucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uIG11bFRvKGUsdCl7dmFyIHI7dmFyIGk9dGhpcy5sZW5ndGgrZS5sZW5ndGg7aWYodGhpcy5sZW5ndGg9PT0xMCYmZS5sZW5ndGg9PT0xMCl7cj1vKHRoaXMsZSx0KX1lbHNlIGlmKGk8NjMpe3I9c21hbGxNdWxUbyh0aGlzLGUsdCl9ZWxzZSBpZihpPDEwMjQpe3I9YmlnTXVsVG8odGhpcyxlLHQpfWVsc2V7cj1qdW1ib011bFRvKHRoaXMsZSx0KX1yZXR1cm4gcn07ZnVuY3Rpb24gRkZUTShlLHQpe3RoaXMueD1lO3RoaXMueT10fUZGVE0ucHJvdG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24gbWFrZVJCVChlKXt2YXIgdD1uZXcgQXJyYXkoZSk7dmFyIHI9Qk4ucHJvdG90eXBlLl9jb3VudEJpdHMoZSktMTtmb3IodmFyIGk9MDtpPGU7aSsrKXt0W2ldPXRoaXMucmV2QmluKGkscixlKX1yZXR1cm4gdH07RkZUTS5wcm90b3R5cGUucmV2QmluPWZ1bmN0aW9uIHJldkJpbihlLHQscil7aWYoZT09PTB8fGU9PT1yLTEpcmV0dXJuIGU7dmFyIGk9MDtmb3IodmFyIG49MDtuPHQ7bisrKXtpfD0oZSYxKTw8dC1uLTE7ZT4+PTF9cmV0dXJuIGl9O0ZGVE0ucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24gcGVybXV0ZShlLHQscixpLG4sYSl7Zm9yKHZhciBzPTA7czxhO3MrKyl7aVtzXT10W2Vbc11dO25bc109cltlW3NdXX19O0ZGVE0ucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbiB0cmFuc2Zvcm0oZSx0LHIsaSxuLGEpe3RoaXMucGVybXV0ZShhLGUsdCxyLGksbik7Zm9yKHZhciBzPTE7czxuO3M8PD0xKXt2YXIgbz1zPDwxO3ZhciBoPU1hdGguY29zKDIqTWF0aC5QSS9vKTt2YXIgdT1NYXRoLnNpbigyKk1hdGguUEkvbyk7Zm9yKHZhciBkPTA7ZDxuO2QrPW8pe3ZhciBjPWg7dmFyIGw9dTtmb3IodmFyIHA9MDtwPHM7cCsrKXt2YXIgdj1yW2QrcF07dmFyIGI9aVtkK3BdO3ZhciBtPXJbZCtwK3NdO3ZhciB5PWlbZCtwK3NdO3ZhciBnPWMqbS1sKnk7eT1jKnkrbCptO209ZztyW2QrcF09dittO2lbZCtwXT1iK3k7cltkK3Arc109di1tO2lbZCtwK3NdPWIteTtpZihwIT09byl7Zz1oKmMtdSpsO2w9aCpsK3UqYztjPWd9fX19fTtGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbiBndWVzc0xlbjEzYihlLHQpe3ZhciByPU1hdGgubWF4KHQsZSl8MTt2YXIgaT1yJjE7dmFyIG49MDtmb3Iocj1yLzJ8MDtyO3I9cj4+PjEpe24rK31yZXR1cm4gMTw8bisxK2l9O0ZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbiBjb25qdWdhdGUoZSx0LHIpe2lmKHI8PTEpcmV0dXJuO2Zvcih2YXIgaT0wO2k8ci8yO2krKyl7dmFyIG49ZVtpXTtlW2ldPWVbci1pLTFdO2Vbci1pLTFdPW47bj10W2ldO3RbaV09LXRbci1pLTFdO3Rbci1pLTFdPS1ufX07RkZUTS5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uIG5vcm1hbGl6ZTEzYihlLHQpe3ZhciByPTA7Zm9yKHZhciBpPTA7aTx0LzI7aSsrKXt2YXIgbj1NYXRoLnJvdW5kKGVbMippKzFdL3QpKjgxOTIrTWF0aC5yb3VuZChlWzIqaV0vdCkrcjtlW2ldPW4mNjcxMDg4NjM7aWYobjw2NzEwODg2NCl7cj0wfWVsc2V7cj1uLzY3MTA4ODY0fDB9fXJldHVybiBlfTtGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uIGNvbnZlcnQxM2IoZSx0LHIsaSl7dmFyIG49MDtmb3IodmFyIGE9MDthPHQ7YSsrKXtuPW4rKGVbYV18MCk7clsyKmFdPW4mODE5MTtuPW4+Pj4xMztyWzIqYSsxXT1uJjgxOTE7bj1uPj4+MTN9Zm9yKGE9Mip0O2E8aTsrK2Epe3JbYV09MH1hc3NlcnQobj09PTApO2Fzc2VydCgobiZ+ODE5MSk9PT0wKX07RkZUTS5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbiBzdHViKGUpe3ZhciB0PW5ldyBBcnJheShlKTtmb3IodmFyIHI9MDtyPGU7cisrKXt0W3JdPTB9cmV0dXJuIHR9O0ZGVE0ucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24gbXVscChlLHQscil7dmFyIGk9Mip0aGlzLmd1ZXNzTGVuMTNiKGUubGVuZ3RoLHQubGVuZ3RoKTt2YXIgbj10aGlzLm1ha2VSQlQoaSk7dmFyIGE9dGhpcy5zdHViKGkpO3ZhciBzPW5ldyBBcnJheShpKTt2YXIgbz1uZXcgQXJyYXkoaSk7dmFyIGg9bmV3IEFycmF5KGkpO3ZhciB1PW5ldyBBcnJheShpKTt2YXIgZD1uZXcgQXJyYXkoaSk7dmFyIGM9bmV3IEFycmF5KGkpO3ZhciBsPXIud29yZHM7bC5sZW5ndGg9aTt0aGlzLmNvbnZlcnQxM2IoZS53b3JkcyxlLmxlbmd0aCxzLGkpO3RoaXMuY29udmVydDEzYih0LndvcmRzLHQubGVuZ3RoLHUsaSk7dGhpcy50cmFuc2Zvcm0ocyxhLG8saCxpLG4pO3RoaXMudHJhbnNmb3JtKHUsYSxkLGMsaSxuKTtmb3IodmFyIHA9MDtwPGk7cCsrKXt2YXIgdj1vW3BdKmRbcF0taFtwXSpjW3BdO2hbcF09b1twXSpjW3BdK2hbcF0qZFtwXTtvW3BdPXZ9dGhpcy5jb25qdWdhdGUobyxoLGkpO3RoaXMudHJhbnNmb3JtKG8saCxsLGEsaSxuKTt0aGlzLmNvbmp1Z2F0ZShsLGEsaSk7dGhpcy5ub3JtYWxpemUxM2IobCxpKTtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZTtyLmxlbmd0aD1lLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gci5zdHJpcCgpfTtCTi5wcm90b3R5cGUubXVsPWZ1bmN0aW9uIG11bChlKXt2YXIgdD1uZXcgQk4obnVsbCk7dC53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrZS5sZW5ndGgpO3JldHVybiB0aGlzLm11bFRvKGUsdCl9O0JOLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uIG11bGYoZSl7dmFyIHQ9bmV3IEJOKG51bGwpO3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK2UubGVuZ3RoKTtyZXR1cm4ganVtYm9NdWxUbyh0aGlzLGUsdCl9O0JOLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uIGltdWwoZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhlLHRoaXMpfTtCTi5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24gaW11bG4oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIik7YXNzZXJ0KGU8NjcxMDg4NjQpO3ZhciB0PTA7Zm9yKHZhciByPTA7cjx0aGlzLmxlbmd0aDtyKyspe3ZhciBpPSh0aGlzLndvcmRzW3JdfDApKmU7dmFyIG49KGkmNjcxMDg4NjMpKyh0JjY3MTA4ODYzKTt0Pj49MjY7dCs9aS82NzEwODg2NHwwO3QrPW4+Pj4yNjt0aGlzLndvcmRzW3JdPW4mNjcxMDg4NjN9aWYodCE9PTApe3RoaXMud29yZHNbcl09dDt0aGlzLmxlbmd0aCsrfXJldHVybiB0aGlzfTtCTi5wcm90b3R5cGUubXVsbj1mdW5jdGlvbiBtdWxuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4oZSl9O0JOLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24gc3FyKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfTtCTi5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbiBpc3FyKCl7cmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpfTtCTi5wcm90b3R5cGUucG93PWZ1bmN0aW9uIHBvdyhlKXt2YXIgdD10b0JpdEFycmF5KGUpO2lmKHQubGVuZ3RoPT09MClyZXR1cm4gbmV3IEJOKDEpO3ZhciByPXRoaXM7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKysscj1yLnNxcigpKXtpZih0W2ldIT09MClicmVha31pZigrK2k8dC5sZW5ndGgpe2Zvcih2YXIgbj1yLnNxcigpO2k8dC5sZW5ndGg7aSsrLG49bi5zcXIoKSl7aWYodFtpXT09PTApY29udGludWU7cj1yLm11bChuKX19cmV0dXJuIHJ9O0JOLnByb3RvdHlwZS5pdXNobG49ZnVuY3Rpb24gaXVzaGxuKGUpe2Fzc2VydCh0eXBlb2YgZT09PVwibnVtYmVyXCImJmU+PTApO3ZhciB0PWUlMjY7dmFyIHI9KGUtdCkvMjY7dmFyIGk9NjcxMDg4NjM+Pj4yNi10PDwyNi10O3ZhciBuO2lmKHQhPT0wKXt2YXIgYT0wO2ZvcihuPTA7bjx0aGlzLmxlbmd0aDtuKyspe3ZhciBzPXRoaXMud29yZHNbbl0maTt2YXIgbz0odGhpcy53b3Jkc1tuXXwwKS1zPDx0O3RoaXMud29yZHNbbl09b3xhO2E9cz4+PjI2LXR9aWYoYSl7dGhpcy53b3Jkc1tuXT1hO3RoaXMubGVuZ3RoKyt9fWlmKHIhPT0wKXtmb3Iobj10aGlzLmxlbmd0aC0xO24+PTA7bi0tKXt0aGlzLndvcmRzW24rcl09dGhpcy53b3Jkc1tuXX1mb3Iobj0wO248cjtuKyspe3RoaXMud29yZHNbbl09MH10aGlzLmxlbmd0aCs9cn1yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24gaXNobG4oZSl7YXNzZXJ0KHRoaXMubmVnYXRpdmU9PT0wKTtyZXR1cm4gdGhpcy5pdXNobG4oZSl9O0JOLnByb3RvdHlwZS5pdXNocm49ZnVuY3Rpb24gaXVzaHJuKGUsdCxyKXthc3NlcnQodHlwZW9mIGU9PT1cIm51bWJlclwiJiZlPj0wKTt2YXIgaTtpZih0KXtpPSh0LXQlMjYpLzI2fWVsc2V7aT0wfXZhciBuPWUlMjY7dmFyIGE9TWF0aC5taW4oKGUtbikvMjYsdGhpcy5sZW5ndGgpO3ZhciBzPTY3MTA4ODYzXjY3MTA4ODYzPj4+bjw8bjt2YXIgbz1yO2ktPWE7aT1NYXRoLm1heCgwLGkpO2lmKG8pe2Zvcih2YXIgaD0wO2g8YTtoKyspe28ud29yZHNbaF09dGhpcy53b3Jkc1toXX1vLmxlbmd0aD1hfWlmKGE9PT0wKXt9ZWxzZSBpZih0aGlzLmxlbmd0aD5hKXt0aGlzLmxlbmd0aC09YTtmb3IoaD0wO2g8dGhpcy5sZW5ndGg7aCsrKXt0aGlzLndvcmRzW2hdPXRoaXMud29yZHNbaCthXX19ZWxzZXt0aGlzLndvcmRzWzBdPTA7dGhpcy5sZW5ndGg9MX12YXIgdT0wO2ZvcihoPXRoaXMubGVuZ3RoLTE7aD49MCYmKHUhPT0wfHxoPj1pKTtoLS0pe3ZhciBkPXRoaXMud29yZHNbaF18MDt0aGlzLndvcmRzW2hdPXU8PDI2LW58ZD4+Pm47dT1kJnN9aWYobyYmdSE9PTApe28ud29yZHNbby5sZW5ndGgrK109dX1pZih0aGlzLmxlbmd0aD09PTApe3RoaXMud29yZHNbMF09MDt0aGlzLmxlbmd0aD0xfXJldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbiBpc2hybihlLHQscil7YXNzZXJ0KHRoaXMubmVnYXRpdmU9PT0wKTtyZXR1cm4gdGhpcy5pdXNocm4oZSx0LHIpfTtCTi5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbiBzaGxuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXNobG4oZSl9O0JOLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbiB1c2hsbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihlKX07Qk4ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24gc2hybihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGUpfTtCTi5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24gdXNocm4oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oZSl9O0JOLnByb3RvdHlwZS50ZXN0bj1mdW5jdGlvbiB0ZXN0bihlKXthc3NlcnQodHlwZW9mIGU9PT1cIm51bWJlclwiJiZlPj0wKTt2YXIgdD1lJTI2O3ZhciByPShlLXQpLzI2O3ZhciBpPTE8PHQ7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIGZhbHNlO3ZhciBuPXRoaXMud29yZHNbcl07cmV0dXJuISEobiZpKX07Qk4ucHJvdG90eXBlLmltYXNrbj1mdW5jdGlvbiBpbWFza24oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIiYmZT49MCk7dmFyIHQ9ZSUyNjt2YXIgcj0oZS10KS8yNjthc3NlcnQodGhpcy5uZWdhdGl2ZT09PTAsXCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnNcIik7aWYodGhpcy5sZW5ndGg8PXIpe3JldHVybiB0aGlzfWlmKHQhPT0wKXtyKyt9dGhpcy5sZW5ndGg9TWF0aC5taW4ocix0aGlzLmxlbmd0aCk7aWYodCE9PTApe3ZhciBpPTY3MTA4ODYzXjY3MTA4ODYzPj4+dDw8dDt0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj1pfXJldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbiBtYXNrbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihlKX07Qk4ucHJvdG90eXBlLmlhZGRuPWZ1bmN0aW9uIGlhZGRuKGUpe2Fzc2VydCh0eXBlb2YgZT09PVwibnVtYmVyXCIpO2Fzc2VydChlPDY3MTA4ODY0KTtpZihlPDApcmV0dXJuIHRoaXMuaXN1Ym4oLWUpO2lmKHRoaXMubmVnYXRpdmUhPT0wKXtpZih0aGlzLmxlbmd0aD09PTEmJih0aGlzLndvcmRzWzBdfDApPGUpe3RoaXMud29yZHNbMF09ZS0odGhpcy53b3Jkc1swXXwwKTt0aGlzLm5lZ2F0aXZlPTA7cmV0dXJuIHRoaXN9dGhpcy5uZWdhdGl2ZT0wO3RoaXMuaXN1Ym4oZSk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzfXJldHVybiB0aGlzLl9pYWRkbihlKX07Qk4ucHJvdG90eXBlLl9pYWRkbj1mdW5jdGlvbiBfaWFkZG4oZSl7dGhpcy53b3Jkc1swXSs9ZTtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW3RdPj02NzEwODg2NDt0Kyspe3RoaXMud29yZHNbdF0tPTY3MTA4ODY0O2lmKHQ9PT10aGlzLmxlbmd0aC0xKXt0aGlzLndvcmRzW3QrMV09MX1lbHNle3RoaXMud29yZHNbdCsxXSsrfX10aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCx0KzEpO3JldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24gaXN1Ym4oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIik7YXNzZXJ0KGU8NjcxMDg4NjQpO2lmKGU8MClyZXR1cm4gdGhpcy5pYWRkbigtZSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmlhZGRuKGUpO3RoaXMubmVnYXRpdmU9MTtyZXR1cm4gdGhpc310aGlzLndvcmRzWzBdLT1lO2lmKHRoaXMubGVuZ3RoPT09MSYmdGhpcy53b3Jkc1swXTwwKXt0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdO3RoaXMubmVnYXRpdmU9MX1lbHNle2Zvcih2YXIgdD0wO3Q8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbdF08MDt0Kyspe3RoaXMud29yZHNbdF0rPTY3MTA4ODY0O3RoaXMud29yZHNbdCsxXS09MX19cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24gYWRkbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKGUpfTtCTi5wcm90b3R5cGUuc3Vibj1mdW5jdGlvbiBzdWJuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4oZSl9O0JOLnByb3RvdHlwZS5pYWJzPWZ1bmN0aW9uIGlhYnMoKXt0aGlzLm5lZ2F0aXZlPTA7cmV0dXJuIHRoaXN9O0JOLnByb3RvdHlwZS5hYnM9ZnVuY3Rpb24gYWJzKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9O0JOLnByb3RvdHlwZS5faXNobG5zdWJtdWw9ZnVuY3Rpb24gX2lzaGxuc3VibXVsKGUsdCxyKXt2YXIgaT1lLmxlbmd0aCtyO3ZhciBuO3RoaXMuX2V4cGFuZChpKTt2YXIgYTt2YXIgcz0wO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspe2E9KHRoaXMud29yZHNbbityXXwwKStzO3ZhciBvPShlLndvcmRzW25dfDApKnQ7YS09byY2NzEwODg2MztzPShhPj4yNiktKG8vNjcxMDg4NjR8MCk7dGhpcy53b3Jkc1tuK3JdPWEmNjcxMDg4NjN9Zm9yKDtuPHRoaXMubGVuZ3RoLXI7bisrKXthPSh0aGlzLndvcmRzW24rcl18MCkrcztzPWE+PjI2O3RoaXMud29yZHNbbityXT1hJjY3MTA4ODYzfWlmKHM9PT0wKXJldHVybiB0aGlzLnN0cmlwKCk7YXNzZXJ0KHM9PT0tMSk7cz0wO2ZvcihuPTA7bjx0aGlzLmxlbmd0aDtuKyspe2E9LSh0aGlzLndvcmRzW25dfDApK3M7cz1hPj4yNjt0aGlzLndvcmRzW25dPWEmNjcxMDg4NjN9dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbiBfd29yZERpdihlLHQpe3ZhciByPXRoaXMubGVuZ3RoLWUubGVuZ3RoO3ZhciBpPXRoaXMuY2xvbmUoKTt2YXIgbj1lO3ZhciBhPW4ud29yZHNbbi5sZW5ndGgtMV18MDt2YXIgcz10aGlzLl9jb3VudEJpdHMoYSk7cj0yNi1zO2lmKHIhPT0wKXtuPW4udXNobG4ocik7aS5pdXNobG4ocik7YT1uLndvcmRzW24ubGVuZ3RoLTFdfDB9dmFyIG89aS5sZW5ndGgtbi5sZW5ndGg7dmFyIGg7aWYodCE9PVwibW9kXCIpe2g9bmV3IEJOKG51bGwpO2gubGVuZ3RoPW8rMTtoLndvcmRzPW5ldyBBcnJheShoLmxlbmd0aCk7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1Kyspe2gud29yZHNbdV09MH19dmFyIGQ9aS5jbG9uZSgpLl9pc2hsbnN1Ym11bChuLDEsbyk7aWYoZC5uZWdhdGl2ZT09PTApe2k9ZDtpZihoKXtoLndvcmRzW29dPTF9fWZvcih2YXIgYz1vLTE7Yz49MDtjLS0pe3ZhciBsPShpLndvcmRzW24ubGVuZ3RoK2NdfDApKjY3MTA4ODY0KyhpLndvcmRzW24ubGVuZ3RoK2MtMV18MCk7bD1NYXRoLm1pbihsL2F8MCw2NzEwODg2Myk7aS5faXNobG5zdWJtdWwobixsLGMpO3doaWxlKGkubmVnYXRpdmUhPT0wKXtsLS07aS5uZWdhdGl2ZT0wO2kuX2lzaGxuc3VibXVsKG4sMSxjKTtpZighaS5pc1plcm8oKSl7aS5uZWdhdGl2ZV49MX19aWYoaCl7aC53b3Jkc1tjXT1sfX1pZihoKXtoLnN0cmlwKCl9aS5zdHJpcCgpO2lmKHQhPT1cImRpdlwiJiZyIT09MCl7aS5pdXNocm4ocil9cmV0dXJue2RpdjpofHxudWxsLG1vZDppfX07Qk4ucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbiBkaXZtb2QoZSx0LHIpe2Fzc2VydCghZS5pc1plcm8oKSk7aWYodGhpcy5pc1plcm8oKSl7cmV0dXJue2RpdjpuZXcgQk4oMCksbW9kOm5ldyBCTigwKX19dmFyIGksbixhO2lmKHRoaXMubmVnYXRpdmUhPT0wJiZlLm5lZ2F0aXZlPT09MCl7YT10aGlzLm5lZygpLmRpdm1vZChlLHQpO2lmKHQhPT1cIm1vZFwiKXtpPWEuZGl2Lm5lZygpfWlmKHQhPT1cImRpdlwiKXtuPWEubW9kLm5lZygpO2lmKHImJm4ubmVnYXRpdmUhPT0wKXtuLmlhZGQoZSl9fXJldHVybntkaXY6aSxtb2Q6bn19aWYodGhpcy5uZWdhdGl2ZT09PTAmJmUubmVnYXRpdmUhPT0wKXthPXRoaXMuZGl2bW9kKGUubmVnKCksdCk7aWYodCE9PVwibW9kXCIpe2k9YS5kaXYubmVnKCl9cmV0dXJue2RpdjppLG1vZDphLm1vZH19aWYoKHRoaXMubmVnYXRpdmUmZS5uZWdhdGl2ZSkhPT0wKXthPXRoaXMubmVnKCkuZGl2bW9kKGUubmVnKCksdCk7aWYodCE9PVwiZGl2XCIpe249YS5tb2QubmVnKCk7aWYociYmbi5uZWdhdGl2ZSE9PTApe24uaXN1YihlKX19cmV0dXJue2RpdjphLmRpdixtb2Q6bn19aWYoZS5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKGUpPDApe3JldHVybntkaXY6bmV3IEJOKDApLG1vZDp0aGlzfX1pZihlLmxlbmd0aD09PTEpe2lmKHQ9PT1cImRpdlwiKXtyZXR1cm57ZGl2OnRoaXMuZGl2bihlLndvcmRzWzBdKSxtb2Q6bnVsbH19aWYodD09PVwibW9kXCIpe3JldHVybntkaXY6bnVsbCxtb2Q6bmV3IEJOKHRoaXMubW9kbihlLndvcmRzWzBdKSl9fXJldHVybntkaXY6dGhpcy5kaXZuKGUud29yZHNbMF0pLG1vZDpuZXcgQk4odGhpcy5tb2RuKGUud29yZHNbMF0pKX19cmV0dXJuIHRoaXMuX3dvcmREaXYoZSx0KX07Qk4ucHJvdG90eXBlLmRpdj1mdW5jdGlvbiBkaXYoZSl7cmV0dXJuIHRoaXMuZGl2bW9kKGUsXCJkaXZcIixmYWxzZSkuZGl2fTtCTi5wcm90b3R5cGUubW9kPWZ1bmN0aW9uIG1vZChlKXtyZXR1cm4gdGhpcy5kaXZtb2QoZSxcIm1vZFwiLGZhbHNlKS5tb2R9O0JOLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uIHVtb2QoZSl7cmV0dXJuIHRoaXMuZGl2bW9kKGUsXCJtb2RcIix0cnVlKS5tb2R9O0JOLnByb3RvdHlwZS5kaXZSb3VuZD1mdW5jdGlvbiBkaXZSb3VuZChlKXt2YXIgdD10aGlzLmRpdm1vZChlKTtpZih0Lm1vZC5pc1plcm8oKSlyZXR1cm4gdC5kaXY7dmFyIHI9dC5kaXYubmVnYXRpdmUhPT0wP3QubW9kLmlzdWIoZSk6dC5tb2Q7dmFyIGk9ZS51c2hybigxKTt2YXIgbj1lLmFuZGxuKDEpO3ZhciBhPXIuY21wKGkpO2lmKGE8MHx8bj09PTEmJmE9PT0wKXJldHVybiB0LmRpdjtyZXR1cm4gdC5kaXYubmVnYXRpdmUhPT0wP3QuZGl2LmlzdWJuKDEpOnQuZGl2LmlhZGRuKDEpfTtCTi5wcm90b3R5cGUubW9kbj1mdW5jdGlvbiBtb2RuKGUpe2Fzc2VydChlPD02NzEwODg2Myk7dmFyIHQ9KDE8PDI2KSVlO3ZhciByPTA7Zm9yKHZhciBpPXRoaXMubGVuZ3RoLTE7aT49MDtpLS0pe3I9KHQqcisodGhpcy53b3Jkc1tpXXwwKSklZX1yZXR1cm4gcn07Qk4ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uIGlkaXZuKGUpe2Fzc2VydChlPD02NzEwODg2Myk7dmFyIHQ9MDtmb3IodmFyIHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIGk9KHRoaXMud29yZHNbcl18MCkrdCo2NzEwODg2NDt0aGlzLndvcmRzW3JdPWkvZXwwO3Q9aSVlfXJldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uIGRpdm4oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihlKX07Qk4ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24gZWdjZChlKXthc3NlcnQoZS5uZWdhdGl2ZT09PTApO2Fzc2VydCghZS5pc1plcm8oKSk7dmFyIHQ9dGhpczt2YXIgcj1lLmNsb25lKCk7aWYodC5uZWdhdGl2ZSE9PTApe3Q9dC51bW9kKGUpfWVsc2V7dD10LmNsb25lKCl9dmFyIGk9bmV3IEJOKDEpO3ZhciBuPW5ldyBCTigwKTt2YXIgYT1uZXcgQk4oMCk7dmFyIHM9bmV3IEJOKDEpO3ZhciBvPTA7d2hpbGUodC5pc0V2ZW4oKSYmci5pc0V2ZW4oKSl7dC5pdXNocm4oMSk7ci5pdXNocm4oMSk7KytvfXZhciBoPXIuY2xvbmUoKTt2YXIgdT10LmNsb25lKCk7d2hpbGUoIXQuaXNaZXJvKCkpe2Zvcih2YXIgZD0wLGM9MTsodC53b3Jkc1swXSZjKT09PTAmJmQ8MjY7KytkLGM8PD0xKTtpZihkPjApe3QuaXVzaHJuKGQpO3doaWxlKGQtLSA+MCl7aWYoaS5pc09kZCgpfHxuLmlzT2RkKCkpe2kuaWFkZChoKTtuLmlzdWIodSl9aS5pdXNocm4oMSk7bi5pdXNocm4oMSl9fWZvcih2YXIgbD0wLHA9MTsoci53b3Jkc1swXSZwKT09PTAmJmw8MjY7KytsLHA8PD0xKTtpZihsPjApe3IuaXVzaHJuKGwpO3doaWxlKGwtLSA+MCl7aWYoYS5pc09kZCgpfHxzLmlzT2RkKCkpe2EuaWFkZChoKTtzLmlzdWIodSl9YS5pdXNocm4oMSk7cy5pdXNocm4oMSl9fWlmKHQuY21wKHIpPj0wKXt0LmlzdWIocik7aS5pc3ViKGEpO24uaXN1YihzKX1lbHNle3IuaXN1Yih0KTthLmlzdWIoaSk7cy5pc3ViKG4pfX1yZXR1cm57YTphLGI6cyxnY2Q6ci5pdXNobG4obyl9fTtCTi5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uIF9pbnZtcChlKXthc3NlcnQoZS5uZWdhdGl2ZT09PTApO2Fzc2VydCghZS5pc1plcm8oKSk7dmFyIHQ9dGhpczt2YXIgcj1lLmNsb25lKCk7aWYodC5uZWdhdGl2ZSE9PTApe3Q9dC51bW9kKGUpfWVsc2V7dD10LmNsb25lKCl9dmFyIGk9bmV3IEJOKDEpO3ZhciBuPW5ldyBCTigwKTt2YXIgYT1yLmNsb25lKCk7d2hpbGUodC5jbXBuKDEpPjAmJnIuY21wbigxKT4wKXtmb3IodmFyIHM9MCxvPTE7KHQud29yZHNbMF0mbyk9PT0wJiZzPDI2OysrcyxvPDw9MSk7aWYocz4wKXt0Lml1c2hybihzKTt3aGlsZShzLS0gPjApe2lmKGkuaXNPZGQoKSl7aS5pYWRkKGEpfWkuaXVzaHJuKDEpfX1mb3IodmFyIGg9MCx1PTE7KHIud29yZHNbMF0mdSk9PT0wJiZoPDI2OysraCx1PDw9MSk7aWYoaD4wKXtyLml1c2hybihoKTt3aGlsZShoLS0gPjApe2lmKG4uaXNPZGQoKSl7bi5pYWRkKGEpfW4uaXVzaHJuKDEpfX1pZih0LmNtcChyKT49MCl7dC5pc3ViKHIpO2kuaXN1YihuKX1lbHNle3IuaXN1Yih0KTtuLmlzdWIoaSl9fXZhciBkO2lmKHQuY21wbigxKT09PTApe2Q9aX1lbHNle2Q9bn1pZihkLmNtcG4oMCk8MCl7ZC5pYWRkKGUpfXJldHVybiBkfTtCTi5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uIGdjZChlKXtpZih0aGlzLmlzWmVybygpKXJldHVybiBlLmFicygpO2lmKGUuaXNaZXJvKCkpcmV0dXJuIHRoaXMuYWJzKCk7dmFyIHQ9dGhpcy5jbG9uZSgpO3ZhciByPWUuY2xvbmUoKTt0Lm5lZ2F0aXZlPTA7ci5uZWdhdGl2ZT0wO2Zvcih2YXIgaT0wO3QuaXNFdmVuKCkmJnIuaXNFdmVuKCk7aSsrKXt0Lml1c2hybigxKTtyLml1c2hybigxKX1kb3t3aGlsZSh0LmlzRXZlbigpKXt0Lml1c2hybigxKX13aGlsZShyLmlzRXZlbigpKXtyLml1c2hybigxKX12YXIgbj10LmNtcChyKTtpZihuPDApe3ZhciBhPXQ7dD1yO3I9YX1lbHNlIGlmKG49PT0wfHxyLmNtcG4oMSk9PT0wKXticmVha310LmlzdWIocil9d2hpbGUodHJ1ZSk7cmV0dXJuIHIuaXVzaGxuKGkpfTtCTi5wcm90b3R5cGUuaW52bT1mdW5jdGlvbiBpbnZtKGUpe3JldHVybiB0aGlzLmVnY2QoZSkuYS51bW9kKGUpfTtCTi5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uIGlzRXZlbigpe3JldHVybih0aGlzLndvcmRzWzBdJjEpPT09MH07Qk4ucHJvdG90eXBlLmlzT2RkPWZ1bmN0aW9uIGlzT2RkKCl7cmV0dXJuKHRoaXMud29yZHNbMF0mMSk9PT0xfTtCTi5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24gYW5kbG4oZSl7cmV0dXJuIHRoaXMud29yZHNbMF0mZX07Qk4ucHJvdG90eXBlLmJpbmNuPWZ1bmN0aW9uIGJpbmNuKGUpe2Fzc2VydCh0eXBlb2YgZT09PVwibnVtYmVyXCIpO3ZhciB0PWUlMjY7dmFyIHI9KGUtdCkvMjY7dmFyIGk9MTw8dDtpZih0aGlzLmxlbmd0aDw9cil7dGhpcy5fZXhwYW5kKHIrMSk7dGhpcy53b3Jkc1tyXXw9aTtyZXR1cm4gdGhpc312YXIgbj1pO2Zvcih2YXIgYT1yO24hPT0wJiZhPHRoaXMubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy53b3Jkc1thXXwwO3MrPW47bj1zPj4+MjY7cyY9NjcxMDg4NjM7dGhpcy53b3Jkc1thXT1zfWlmKG4hPT0wKXt0aGlzLndvcmRzW2FdPW47dGhpcy5sZW5ndGgrK31yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbiBpc1plcm8oKXtyZXR1cm4gdGhpcy5sZW5ndGg9PT0xJiZ0aGlzLndvcmRzWzBdPT09MH07Qk4ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24gY21wbihlKXt2YXIgdD1lPDA7aWYodGhpcy5uZWdhdGl2ZSE9PTAmJiF0KXJldHVybi0xO2lmKHRoaXMubmVnYXRpdmU9PT0wJiZ0KXJldHVybiAxO3RoaXMuc3RyaXAoKTt2YXIgcjtpZih0aGlzLmxlbmd0aD4xKXtyPTF9ZWxzZXtpZih0KXtlPS1lfWFzc2VydChlPD02NzEwODg2MyxcIk51bWJlciBpcyB0b28gYmlnXCIpO3ZhciBpPXRoaXMud29yZHNbMF18MDtyPWk9PT1lPzA6aTxlPy0xOjF9aWYodGhpcy5uZWdhdGl2ZSE9PTApcmV0dXJuLXJ8MDtyZXR1cm4gcn07Qk4ucHJvdG90eXBlLmNtcD1mdW5jdGlvbiBjbXAoZSl7aWYodGhpcy5uZWdhdGl2ZSE9PTAmJmUubmVnYXRpdmU9PT0wKXJldHVybi0xO2lmKHRoaXMubmVnYXRpdmU9PT0wJiZlLm5lZ2F0aXZlIT09MClyZXR1cm4gMTt2YXIgdD10aGlzLnVjbXAoZSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApcmV0dXJuLXR8MDtyZXR1cm4gdH07Qk4ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24gdWNtcChlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDxlLmxlbmd0aClyZXR1cm4tMTt2YXIgdD0wO2Zvcih2YXIgcj10aGlzLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgaT10aGlzLndvcmRzW3JdfDA7dmFyIG49ZS53b3Jkc1tyXXwwO2lmKGk9PT1uKWNvbnRpbnVlO2lmKGk8bil7dD0tMX1lbHNlIGlmKGk+bil7dD0xfWJyZWFrfXJldHVybiB0fTtCTi5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uIGd0bihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPT09MX07Qk4ucHJvdG90eXBlLmd0PWZ1bmN0aW9uIGd0KGUpe3JldHVybiB0aGlzLmNtcChlKT09PTF9O0JOLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uIGd0ZW4oZSl7cmV0dXJuIHRoaXMuY21wbihlKT49MH07Qk4ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbiBndGUoZSl7cmV0dXJuIHRoaXMuY21wKGUpPj0wfTtCTi5wcm90b3R5cGUubHRuPWZ1bmN0aW9uIGx0bihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPT09LTF9O0JOLnByb3RvdHlwZS5sdD1mdW5jdGlvbiBsdChlKXtyZXR1cm4gdGhpcy5jbXAoZSk9PT0tMX07Qk4ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24gbHRlbihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPD0wfTtCTi5wcm90b3R5cGUubHRlPWZ1bmN0aW9uIGx0ZShlKXtyZXR1cm4gdGhpcy5jbXAoZSk8PTB9O0JOLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24gZXFuKGUpe3JldHVybiB0aGlzLmNtcG4oZSk9PT0wfTtCTi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24gZXEoZSl7cmV0dXJuIHRoaXMuY21wKGUpPT09MH07Qk4ucmVkPWZ1bmN0aW9uIHJlZChlKXtyZXR1cm4gbmV3IFJlZChlKX07Qk4ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uIHRvUmVkKGUpe2Fzc2VydCghdGhpcy5yZWQsXCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0XCIpO2Fzc2VydCh0aGlzLm5lZ2F0aXZlPT09MCxcInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzXCIpO3JldHVybiBlLmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoZSl9O0JOLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uIGZyb21SZWQoKXthc3NlcnQodGhpcy5yZWQsXCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0XCIpO3JldHVybiB0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX07Qk4ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbiBfZm9yY2VSZWQoZSl7dGhpcy5yZWQ9ZTtyZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uIGZvcmNlUmVkKGUpe2Fzc2VydCghdGhpcy5yZWQsXCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0XCIpO3JldHVybiB0aGlzLl9mb3JjZVJlZChlKX07Qk4ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbiByZWRBZGQoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTtyZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uIHJlZElBZGQoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7cmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcyxlKX07Qk4ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbiByZWRTdWIoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTtyZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uIHJlZElTdWIoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7cmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcyxlKX07Qk4ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbiByZWRTaGwoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTtyZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24gcmVkTXVsKGUpe2Fzc2VydCh0aGlzLnJlZCxcInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7dGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxlKTtyZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uIHJlZElNdWwoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTt0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGUpO3JldHVybiB0aGlzLnJlZC5pbXVsKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24gcmVkU3FyKCl7YXNzZXJ0KHRoaXMucmVkLFwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbiByZWRJU3FyKCl7YXNzZXJ0KHRoaXMucmVkLFwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyl9O0JOLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uIHJlZFNxcnQoKXthc3NlcnQodGhpcy5yZWQsXCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKX07Qk4ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24gcmVkSW52bSgpe2Fzc2VydCh0aGlzLnJlZCxcInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzXCIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uIHJlZE5lZygpe2Fzc2VydCh0aGlzLnJlZCxcInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKX07Qk4ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbiByZWRQb3coZSl7YXNzZXJ0KHRoaXMucmVkJiYhZS5yZWQsXCJyZWRQb3cobm9ybWFsTnVtKVwiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsZSl9O3ZhciBoPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24gTVByaW1lKGUsdCl7dGhpcy5uYW1lPWU7dGhpcy5wPW5ldyBCTih0LDE2KTt0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpO3RoaXMuaz1uZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO3RoaXMudG1wPXRoaXMuX3RtcCgpfU1QcmltZS5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbiBfdG1wKCl7dmFyIGU9bmV3IEJOKG51bGwpO2Uud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKTtyZXR1cm4gZX07TVByaW1lLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uIGlyZWR1Y2UoZSl7dmFyIHQ9ZTt2YXIgcjtkb3t0aGlzLnNwbGl0KHQsdGhpcy50bXApO3Q9dGhpcy5pbXVsSyh0KTt0PXQuaWFkZCh0aGlzLnRtcCk7cj10LmJpdExlbmd0aCgpfXdoaWxlKHI+dGhpcy5uKTt2YXIgaT1yPHRoaXMubj8tMTp0LnVjbXAodGhpcy5wKTtpZihpPT09MCl7dC53b3Jkc1swXT0wO3QubGVuZ3RoPTF9ZWxzZSBpZihpPjApe3QuaXN1Yih0aGlzLnApfWVsc2V7aWYodC5zdHJpcCE9PXVuZGVmaW5lZCl7dC5zdHJpcCgpfWVsc2V7dC5fc3RyaXAoKX19cmV0dXJuIHR9O01QcmltZS5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24gc3BsaXQoZSx0KXtlLml1c2hybih0aGlzLm4sMCx0KX07TVByaW1lLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbiBpbXVsSyhlKXtyZXR1cm4gZS5pbXVsKHRoaXMuayl9O2Z1bmN0aW9uIEsyNTYoKXtNUHJpbWUuY2FsbCh0aGlzLFwiazI1NlwiLFwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmZcIil9aW5oZXJpdHMoSzI1NixNUHJpbWUpO0syNTYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uIHNwbGl0KGUsdCl7dmFyIHI9NDE5NDMwMzt2YXIgaT1NYXRoLm1pbihlLmxlbmd0aCw5KTtmb3IodmFyIG49MDtuPGk7bisrKXt0LndvcmRzW25dPWUud29yZHNbbl19dC5sZW5ndGg9aTtpZihlLmxlbmd0aDw9OSl7ZS53b3Jkc1swXT0wO2UubGVuZ3RoPTE7cmV0dXJufXZhciBhPWUud29yZHNbOV07dC53b3Jkc1t0Lmxlbmd0aCsrXT1hJnI7Zm9yKG49MTA7bjxlLmxlbmd0aDtuKyspe3ZhciBzPWUud29yZHNbbl18MDtlLndvcmRzW24tMTBdPShzJnIpPDw0fGE+Pj4yMjthPXN9YT4+Pj0yMjtlLndvcmRzW24tMTBdPWE7aWYoYT09PTAmJmUubGVuZ3RoPjEwKXtlLmxlbmd0aC09MTB9ZWxzZXtlLmxlbmd0aC09OX19O0syNTYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uIGltdWxLKGUpe2Uud29yZHNbZS5sZW5ndGhdPTA7ZS53b3Jkc1tlLmxlbmd0aCsxXT0wO2UubGVuZ3RoKz0yO3ZhciB0PTA7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPWUud29yZHNbcl18MDt0Kz1pKjk3NztlLndvcmRzW3JdPXQmNjcxMDg4NjM7dD1pKjY0Kyh0LzY3MTA4ODY0fDApfWlmKGUud29yZHNbZS5sZW5ndGgtMV09PT0wKXtlLmxlbmd0aC0tO2lmKGUud29yZHNbZS5sZW5ndGgtMV09PT0wKXtlLmxlbmd0aC0tfX1yZXR1cm4gZX07ZnVuY3Rpb24gUDIyNCgpe01QcmltZS5jYWxsKHRoaXMsXCJwMjI0XCIsXCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMVwiKX1pbmhlcml0cyhQMjI0LE1QcmltZSk7ZnVuY3Rpb24gUDE5Migpe01QcmltZS5jYWxsKHRoaXMsXCJwMTkyXCIsXCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZlwiKX1pbmhlcml0cyhQMTkyLE1QcmltZSk7ZnVuY3Rpb24gUDI1NTE5KCl7TVByaW1lLmNhbGwodGhpcyxcIjI1NTE5XCIsXCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkXCIpfWluaGVyaXRzKFAyNTUxOSxNUHJpbWUpO1AyNTUxOS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24gaW11bEsoZSl7dmFyIHQ9MDtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIGk9KGUud29yZHNbcl18MCkqMTkrdDt2YXIgbj1pJjY3MTA4ODYzO2k+Pj49MjY7ZS53b3Jkc1tyXT1uO3Q9aX1pZih0IT09MCl7ZS53b3Jkc1tlLmxlbmd0aCsrXT10fXJldHVybiBlfTtCTi5fcHJpbWU9ZnVuY3Rpb24gcHJpbWUoZSl7aWYoaFtlXSlyZXR1cm4gaFtlXTt2YXIgcHJpbWU7aWYoZT09PVwiazI1NlwiKXtwcmltZT1uZXcgSzI1Nn1lbHNlIGlmKGU9PT1cInAyMjRcIil7cHJpbWU9bmV3IFAyMjR9ZWxzZSBpZihlPT09XCJwMTkyXCIpe3ByaW1lPW5ldyBQMTkyfWVsc2UgaWYoZT09PVwicDI1NTE5XCIpe3ByaW1lPW5ldyBQMjU1MTl9ZWxzZXt0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHByaW1lIFwiK2UpfWhbZV09cHJpbWU7cmV0dXJuIHByaW1lfTtmdW5jdGlvbiBSZWQoZSl7aWYodHlwZW9mIGU9PT1cInN0cmluZ1wiKXt2YXIgdD1CTi5fcHJpbWUoZSk7dGhpcy5tPXQucDt0aGlzLnByaW1lPXR9ZWxzZXthc3NlcnQoZS5ndG4oMSksXCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDFcIik7dGhpcy5tPWU7dGhpcy5wcmltZT1udWxsfX1SZWQucHJvdG90eXBlLl92ZXJpZnkxPWZ1bmN0aW9uIF92ZXJpZnkxKGUpe2Fzc2VydChlLm5lZ2F0aXZlPT09MCxcInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzXCIpO2Fzc2VydChlLnJlZCxcInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIil9O1JlZC5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24gX3ZlcmlmeTIoZSx0KXthc3NlcnQoKGUubmVnYXRpdmV8dC5uZWdhdGl2ZSk9PT0wLFwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXNcIik7YXNzZXJ0KGUucmVkJiZlLnJlZD09PXQucmVkLFwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKX07UmVkLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uIGltb2QoZSl7aWYodGhpcy5wcmltZSlyZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGUpLl9mb3JjZVJlZCh0aGlzKTtyZXR1cm4gZS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLm5lZz1mdW5jdGlvbiBuZWcoZSl7aWYoZS5pc1plcm8oKSl7cmV0dXJuIGUuY2xvbmUoKX1yZXR1cm4gdGhpcy5tLnN1YihlKS5fZm9yY2VSZWQodGhpcyl9O1JlZC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uIGFkZChlLHQpe3RoaXMuX3ZlcmlmeTIoZSx0KTt2YXIgcj1lLmFkZCh0KTtpZihyLmNtcCh0aGlzLm0pPj0wKXtyLmlzdWIodGhpcy5tKX1yZXR1cm4gci5fZm9yY2VSZWQodGhpcyl9O1JlZC5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbiBpYWRkKGUsdCl7dGhpcy5fdmVyaWZ5MihlLHQpO3ZhciByPWUuaWFkZCh0KTtpZihyLmNtcCh0aGlzLm0pPj0wKXtyLmlzdWIodGhpcy5tKX1yZXR1cm4gcn07UmVkLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24gc3ViKGUsdCl7dGhpcy5fdmVyaWZ5MihlLHQpO3ZhciByPWUuc3ViKHQpO2lmKHIuY21wbigwKTwwKXtyLmlhZGQodGhpcy5tKX1yZXR1cm4gci5fZm9yY2VSZWQodGhpcyl9O1JlZC5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbiBpc3ViKGUsdCl7dGhpcy5fdmVyaWZ5MihlLHQpO3ZhciByPWUuaXN1Yih0KTtpZihyLmNtcG4oMCk8MCl7ci5pYWRkKHRoaXMubSl9cmV0dXJuIHJ9O1JlZC5wcm90b3R5cGUuc2hsPWZ1bmN0aW9uIHNobChlLHQpe3RoaXMuX3ZlcmlmeTEoZSk7cmV0dXJuIHRoaXMuaW1vZChlLnVzaGxuKHQpKX07UmVkLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uIGltdWwoZSx0KXt0aGlzLl92ZXJpZnkyKGUsdCk7cmV0dXJuIHRoaXMuaW1vZChlLmltdWwodCkpfTtSZWQucHJvdG90eXBlLm11bD1mdW5jdGlvbiBtdWwoZSx0KXt0aGlzLl92ZXJpZnkyKGUsdCk7cmV0dXJuIHRoaXMuaW1vZChlLm11bCh0KSl9O1JlZC5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbiBpc3FyKGUpe3JldHVybiB0aGlzLmltdWwoZSxlLmNsb25lKCkpfTtSZWQucHJvdG90eXBlLnNxcj1mdW5jdGlvbiBzcXIoZSl7cmV0dXJuIHRoaXMubXVsKGUsZSl9O1JlZC5wcm90b3R5cGUuc3FydD1mdW5jdGlvbiBzcXJ0KGUpe2lmKGUuaXNaZXJvKCkpcmV0dXJuIGUuY2xvbmUoKTt2YXIgdD10aGlzLm0uYW5kbG4oMyk7YXNzZXJ0KHQlMj09PTEpO2lmKHQ9PT0zKXt2YXIgcj10aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyhlLHIpfXZhciBpPXRoaXMubS5zdWJuKDEpO3ZhciBuPTA7d2hpbGUoIWkuaXNaZXJvKCkmJmkuYW5kbG4oMSk9PT0wKXtuKys7aS5pdXNocm4oMSl9YXNzZXJ0KCFpLmlzWmVybygpKTt2YXIgYT1uZXcgQk4oMSkudG9SZWQodGhpcyk7dmFyIHM9YS5yZWROZWcoKTt2YXIgbz10aGlzLm0uc3VibigxKS5pdXNocm4oMSk7dmFyIGg9dGhpcy5tLmJpdExlbmd0aCgpO2g9bmV3IEJOKDIqaCpoKS50b1JlZCh0aGlzKTt3aGlsZSh0aGlzLnBvdyhoLG8pLmNtcChzKSE9PTApe2gucmVkSUFkZChzKX12YXIgdT10aGlzLnBvdyhoLGkpO3ZhciBkPXRoaXMucG93KGUsaS5hZGRuKDEpLml1c2hybigxKSk7dmFyIGM9dGhpcy5wb3coZSxpKTt2YXIgbD1uO3doaWxlKGMuY21wKGEpIT09MCl7dmFyIHA9Yztmb3IodmFyIHY9MDtwLmNtcChhKSE9PTA7disrKXtwPXAucmVkU3FyKCl9YXNzZXJ0KHY8bCk7dmFyIGI9dGhpcy5wb3codSxuZXcgQk4oMSkuaXVzaGxuKGwtdi0xKSk7ZD1kLnJlZE11bChiKTt1PWIucmVkU3FyKCk7Yz1jLnJlZE11bCh1KTtsPXZ9cmV0dXJuIGR9O1JlZC5wcm90b3R5cGUuaW52bT1mdW5jdGlvbiBpbnZtKGUpe3ZhciB0PWUuX2ludm1wKHRoaXMubSk7aWYodC5uZWdhdGl2ZSE9PTApe3QubmVnYXRpdmU9MDtyZXR1cm4gdGhpcy5pbW9kKHQpLnJlZE5lZygpfWVsc2V7cmV0dXJuIHRoaXMuaW1vZCh0KX19O1JlZC5wcm90b3R5cGUucG93PWZ1bmN0aW9uIHBvdyhlLHQpe2lmKHQuaXNaZXJvKCkpcmV0dXJuIG5ldyBCTigxKS50b1JlZCh0aGlzKTtpZih0LmNtcG4oMSk9PT0wKXJldHVybiBlLmNsb25lKCk7dmFyIHI9NDt2YXIgaT1uZXcgQXJyYXkoMTw8cik7aVswXT1uZXcgQk4oMSkudG9SZWQodGhpcyk7aVsxXT1lO2Zvcih2YXIgbj0yO248aS5sZW5ndGg7bisrKXtpW25dPXRoaXMubXVsKGlbbi0xXSxlKX12YXIgYT1pWzBdO3ZhciBzPTA7dmFyIG89MDt2YXIgaD10LmJpdExlbmd0aCgpJTI2O2lmKGg9PT0wKXtoPTI2fWZvcihuPXQubGVuZ3RoLTE7bj49MDtuLS0pe3ZhciB1PXQud29yZHNbbl07Zm9yKHZhciBkPWgtMTtkPj0wO2QtLSl7dmFyIGM9dT4+ZCYxO2lmKGEhPT1pWzBdKXthPXRoaXMuc3FyKGEpfWlmKGM9PT0wJiZzPT09MCl7bz0wO2NvbnRpbnVlfXM8PD0xO3N8PWM7bysrO2lmKG8hPT1yJiYobiE9PTB8fGQhPT0wKSljb250aW51ZTthPXRoaXMubXVsKGEsaVtzXSk7bz0wO3M9MH1oPTI2fXJldHVybiBhfTtSZWQucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbiBjb252ZXJ0VG8oZSl7dmFyIHQ9ZS51bW9kKHRoaXMubSk7cmV0dXJuIHQ9PT1lP3QuY2xvbmUoKTp0fTtSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uIGNvbnZlcnRGcm9tKGUpe3ZhciB0PWUuY2xvbmUoKTt0LnJlZD1udWxsO3JldHVybiB0fTtCTi5tb250PWZ1bmN0aW9uIG1vbnQoZSl7cmV0dXJuIG5ldyBNb250KGUpfTtmdW5jdGlvbiBNb250KGUpe1JlZC5jYWxsKHRoaXMsZSk7dGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCk7aWYodGhpcy5zaGlmdCUyNiE9PTApe3RoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjZ9dGhpcy5yPW5ldyBCTigxKS5pdXNobG4odGhpcy5zaGlmdCk7dGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKTt0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pO3RoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSk7dGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMucik7dGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1pbmhlcml0cyhNb250LFJlZCk7TW9udC5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uIGNvbnZlcnRUbyhlKXtyZXR1cm4gdGhpcy5pbW9kKGUudXNobG4odGhpcy5zaGlmdCkpfTtNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbiBjb252ZXJ0RnJvbShlKXt2YXIgdD10aGlzLmltb2QoZS5tdWwodGhpcy5yaW52KSk7dC5yZWQ9bnVsbDtyZXR1cm4gdH07TW9udC5wcm90b3R5cGUuaW11bD1mdW5jdGlvbiBpbXVsKGUsdCl7aWYoZS5pc1plcm8oKXx8dC5pc1plcm8oKSl7ZS53b3Jkc1swXT0wO2UubGVuZ3RoPTE7cmV0dXJuIGV9dmFyIHI9ZS5pbXVsKHQpO3ZhciBpPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO3ZhciBuPXIuaXN1YihpKS5pdXNocm4odGhpcy5zaGlmdCk7dmFyIGE9bjtpZihuLmNtcCh0aGlzLm0pPj0wKXthPW4uaXN1Yih0aGlzLm0pfWVsc2UgaWYobi5jbXBuKDApPDApe2E9bi5pYWRkKHRoaXMubSl9cmV0dXJuIGEuX2ZvcmNlUmVkKHRoaXMpfTtNb250LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKGUsdCl7aWYoZS5pc1plcm8oKXx8dC5pc1plcm8oKSlyZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj1lLm11bCh0KTt2YXIgaT1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTt2YXIgbj1yLmlzdWIoaSkuaXVzaHJuKHRoaXMuc2hpZnQpO3ZhciBhPW47aWYobi5jbXAodGhpcy5tKT49MCl7YT1uLmlzdWIodGhpcy5tKX1lbHNlIGlmKG4uY21wbigwKTwwKXthPW4uaWFkZCh0aGlzLm0pfXJldHVybiBhLl9mb3JjZVJlZCh0aGlzKX07TW9udC5wcm90b3R5cGUuaW52bT1mdW5jdGlvbiBpbnZtKGUpe3ZhciB0PXRoaXMuaW1vZChlLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7cmV0dXJuIHQuX2ZvcmNlUmVkKHRoaXMpfX0pKGZhbHNlfHxlLHRoaXMpfSwxNjcwOmZ1bmN0aW9uKGUsdCxyKXtlPXIubm1kKGUpOyhmdW5jdGlvbihlLHQpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGFzc2VydChlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHxcIkFzc2VydGlvbiBmYWlsZWRcIil9ZnVuY3Rpb24gaW5oZXJpdHMoZSx0KXtlLnN1cGVyXz10O3ZhciBUZW1wQ3Rvcj1mdW5jdGlvbigpe307VGVtcEN0b3IucHJvdG90eXBlPXQucHJvdG90eXBlO2UucHJvdG90eXBlPW5ldyBUZW1wQ3RvcjtlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfWZ1bmN0aW9uIEJOKGUsdCxyKXtpZihCTi5pc0JOKGUpKXtyZXR1cm4gZX10aGlzLm5lZ2F0aXZlPTA7dGhpcy53b3Jkcz1udWxsO3RoaXMubGVuZ3RoPTA7dGhpcy5yZWQ9bnVsbDtpZihlIT09bnVsbCl7aWYodD09PVwibGVcInx8dD09PVwiYmVcIil7cj10O3Q9MTB9dGhpcy5faW5pdChlfHwwLHR8fDEwLHJ8fFwiYmVcIil9fWlmKHR5cGVvZiBlPT09XCJvYmplY3RcIil7ZS5leHBvcnRzPUJOfWVsc2V7dC5CTj1CTn1CTi5CTj1CTjtCTi53b3JkU2l6ZT0yNjt2YXIgaTt0cnl7aT1yKDQzMDApLkJ1ZmZlcn1jYXRjaChlKXt9Qk4uaXNCTj1mdW5jdGlvbiBpc0JOKGUpe2lmKGUgaW5zdGFuY2VvZiBCTil7cmV0dXJuIHRydWV9cmV0dXJuIGUhPT1udWxsJiZ0eXBlb2YgZT09PVwib2JqZWN0XCImJmUuY29uc3RydWN0b3Iud29yZFNpemU9PT1CTi53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheShlLndvcmRzKX07Qk4ubWF4PWZ1bmN0aW9uIG1heChlLHQpe2lmKGUuY21wKHQpPjApcmV0dXJuIGU7cmV0dXJuIHR9O0JOLm1pbj1mdW5jdGlvbiBtaW4oZSx0KXtpZihlLmNtcCh0KTwwKXJldHVybiBlO3JldHVybiB0fTtCTi5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24gaW5pdChlLHQscil7aWYodHlwZW9mIGU9PT1cIm51bWJlclwiKXtyZXR1cm4gdGhpcy5faW5pdE51bWJlcihlLHQscil9aWYodHlwZW9mIGU9PT1cIm9iamVjdFwiKXtyZXR1cm4gdGhpcy5faW5pdEFycmF5KGUsdCxyKX1pZih0PT09XCJoZXhcIil7dD0xNn1hc3NlcnQodD09PSh0fDApJiZ0Pj0yJiZ0PD0zNik7ZT1lLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxzKy9nLFwiXCIpO3ZhciBpPTA7aWYoZVswXT09PVwiLVwiKXtpKyt9aWYodD09PTE2KXt0aGlzLl9wYXJzZUhleChlLGkpfWVsc2V7dGhpcy5fcGFyc2VCYXNlKGUsdCxpKX1pZihlWzBdPT09XCItXCIpe3RoaXMubmVnYXRpdmU9MX10aGlzLl9zdHJpcCgpO2lmKHIhPT1cImxlXCIpcmV0dXJuO3RoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSx0LHIpfTtCTi5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24gX2luaXROdW1iZXIoZSx0LHIpe2lmKGU8MCl7dGhpcy5uZWdhdGl2ZT0xO2U9LWV9aWYoZTw2NzEwODg2NCl7dGhpcy53b3Jkcz1bZSY2NzEwODg2M107dGhpcy5sZW5ndGg9MX1lbHNlIGlmKGU8NDUwMzU5OTYyNzM3MDQ5Nil7dGhpcy53b3Jkcz1bZSY2NzEwODg2MyxlLzY3MTA4ODY0JjY3MTA4ODYzXTt0aGlzLmxlbmd0aD0yfWVsc2V7YXNzZXJ0KGU8OTAwNzE5OTI1NDc0MDk5Mik7dGhpcy53b3Jkcz1bZSY2NzEwODg2MyxlLzY3MTA4ODY0JjY3MTA4ODYzLDFdO3RoaXMubGVuZ3RoPTN9aWYociE9PVwibGVcIilyZXR1cm47dGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLHQscil9O0JOLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uIF9pbml0QXJyYXkoZSx0LHIpe2Fzc2VydCh0eXBlb2YgZS5sZW5ndGg9PT1cIm51bWJlclwiKTtpZihlLmxlbmd0aDw9MCl7dGhpcy53b3Jkcz1bMF07dGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc310aGlzLmxlbmd0aD1NYXRoLmNlaWwoZS5sZW5ndGgvMyk7dGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPTB9dmFyIG4sYTt2YXIgcz0wO2lmKHI9PT1cImJlXCIpe2ZvcihpPWUubGVuZ3RoLTEsbj0wO2k+PTA7aS09Myl7YT1lW2ldfGVbaS0xXTw8OHxlW2ktMl08PDE2O3RoaXMud29yZHNbbl18PWE8PHMmNjcxMDg4NjM7dGhpcy53b3Jkc1tuKzFdPWE+Pj4yNi1zJjY3MTA4ODYzO3MrPTI0O2lmKHM+PTI2KXtzLT0yNjtuKyt9fX1lbHNlIGlmKHI9PT1cImxlXCIpe2ZvcihpPTAsbj0wO2k8ZS5sZW5ndGg7aSs9Myl7YT1lW2ldfGVbaSsxXTw8OHxlW2krMl08PDE2O3RoaXMud29yZHNbbl18PWE8PHMmNjcxMDg4NjM7dGhpcy53b3Jkc1tuKzFdPWE+Pj4yNi1zJjY3MTA4ODYzO3MrPTI0O2lmKHM+PTI2KXtzLT0yNjtuKyt9fX1yZXR1cm4gdGhpcy5fc3RyaXAoKX07ZnVuY3Rpb24gcGFyc2VIZXgoZSx0LHIpe3ZhciBpPTA7dmFyIG49TWF0aC5taW4oZS5sZW5ndGgscik7dmFyIGE9MDtmb3IodmFyIHM9dDtzPG47cysrKXt2YXIgbz1lLmNoYXJDb2RlQXQocyktNDg7aTw8PTQ7dmFyIGg7aWYobz49NDkmJm88PTU0KXtoPW8tNDkrMTB9ZWxzZSBpZihvPj0xNyYmbzw9MjIpe2g9by0xNysxMH1lbHNle2g9b31pfD1oO2F8PWh9YXNzZXJ0KCEoYSYyNDApLFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gXCIrZSk7cmV0dXJuIGl9Qk4ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbiBfcGFyc2VIZXgoZSx0KXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKGUubGVuZ3RoLXQpLzYpO3RoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dGhpcy53b3Jkc1tyXT0wfXZhciBpLG47dmFyIGE9MDtmb3Iocj1lLmxlbmd0aC02LGk9MDtyPj10O3ItPTYpe249cGFyc2VIZXgoZSxyLHIrNik7dGhpcy53b3Jkc1tpXXw9bjw8YSY2NzEwODg2Mzt0aGlzLndvcmRzW2krMV18PW4+Pj4yNi1hJjQxOTQzMDM7YSs9MjQ7aWYoYT49MjYpe2EtPTI2O2krK319aWYocis2IT09dCl7bj1wYXJzZUhleChlLHQscis2KTt0aGlzLndvcmRzW2ldfD1uPDxhJjY3MTA4ODYzO3RoaXMud29yZHNbaSsxXXw9bj4+PjI2LWEmNDE5NDMwM310aGlzLl9zdHJpcCgpfTtmdW5jdGlvbiBwYXJzZUJhc2UoZSx0LHIsaSl7dmFyIG49MDt2YXIgYT0wO3ZhciBzPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgbz10O288cztvKyspe3ZhciBoPWUuY2hhckNvZGVBdChvKS00ODtuKj1pO2lmKGg+PTQ5KXthPWgtNDkrMTB9ZWxzZSBpZihoPj0xNyl7YT1oLTE3KzEwfWVsc2V7YT1ofWFzc2VydChoPj0wJiZhPGksXCJJbnZhbGlkIGNoYXJhY3RlclwiKTtuKz1hfXJldHVybiBufUJOLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uIF9wYXJzZUJhc2UoZSx0LHIpe3RoaXMud29yZHM9WzBdO3RoaXMubGVuZ3RoPTE7Zm9yKHZhciBpPTAsbj0xO248PTY3MTA4ODYzO24qPXQpe2krK31pLS07bj1uL3R8MDt2YXIgYT1lLmxlbmd0aC1yO3ZhciBzPWElaTt2YXIgbz1NYXRoLm1pbihhLGEtcykrcjt2YXIgaD0wO2Zvcih2YXIgdT1yO3U8bzt1Kz1pKXtoPXBhcnNlQmFzZShlLHUsdStpLHQpO3RoaXMuaW11bG4obik7aWYodGhpcy53b3Jkc1swXStoPDY3MTA4ODY0KXt0aGlzLndvcmRzWzBdKz1ofWVsc2V7dGhpcy5faWFkZG4oaCl9fWlmKHMhPT0wKXt2YXIgZD0xO2g9cGFyc2VCYXNlKGUsdSxlLmxlbmd0aCx0KTtmb3IodT0wO3U8czt1Kyspe2QqPXR9dGhpcy5pbXVsbihkKTtpZih0aGlzLndvcmRzWzBdK2g8NjcxMDg4NjQpe3RoaXMud29yZHNbMF0rPWh9ZWxzZXt0aGlzLl9pYWRkbihoKX19fTtCTi5wcm90b3R5cGUuY29weT1mdW5jdGlvbiBjb3B5KGUpe2Uud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrKyl7ZS53b3Jkc1t0XT10aGlzLndvcmRzW3RdfWUubGVuZ3RoPXRoaXMubGVuZ3RoO2UubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZTtlLnJlZD10aGlzLnJlZH07ZnVuY3Rpb24gbW92ZShlLHQpe2Uud29yZHM9dC53b3JkcztlLmxlbmd0aD10Lmxlbmd0aDtlLm5lZ2F0aXZlPXQubmVnYXRpdmU7ZS5yZWQ9dC5yZWR9Qk4ucHJvdG90eXBlLl9tb3ZlPWZ1bmN0aW9uIF9tb3ZlKGUpe21vdmUoZSx0aGlzKX07Qk4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uIGNsb25lKCl7dmFyIGU9bmV3IEJOKG51bGwpO3RoaXMuY29weShlKTtyZXR1cm4gZX07Qk4ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24gX2V4cGFuZChlKXt3aGlsZSh0aGlzLmxlbmd0aDxlKXt0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTB9cmV0dXJuIHRoaXN9O0JOLnByb3RvdHlwZS5fc3RyaXA9ZnVuY3Rpb24gc3RyaXAoKXt3aGlsZSh0aGlzLmxlbmd0aD4xJiZ0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdPT09MCl7dGhpcy5sZW5ndGgtLX1yZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX07Qk4ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbiBfbm9ybVNpZ24oKXtpZih0aGlzLmxlbmd0aD09PTEmJnRoaXMud29yZHNbMF09PT0wKXt0aGlzLm5lZ2F0aXZlPTB9cmV0dXJuIHRoaXN9O2lmKHR5cGVvZiBTeW1ib2whPT1cInVuZGVmaW5lZFwiJiZ0eXBlb2YgU3ltYm9sLmZvcj09PVwiZnVuY3Rpb25cIil7Qk4ucHJvdG90eXBlW1N5bWJvbC5mb3IoXCJub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbVwiKV09aW5zcGVjdH1lbHNle0JOLnByb3RvdHlwZS5pbnNwZWN0PWluc3BlY3R9ZnVuY3Rpb24gaW5zcGVjdCgpe3JldHVybih0aGlzLnJlZD9cIjxCTi1SOiBcIjpcIjxCTjogXCIpK3RoaXMudG9TdHJpbmcoMTYpK1wiPlwifXZhciBuPVtcIlwiLFwiMFwiLFwiMDBcIixcIjAwMFwiLFwiMDAwMFwiLFwiMDAwMDBcIixcIjAwMDAwMFwiLFwiMDAwMDAwMFwiLFwiMDAwMDAwMDBcIixcIjAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIixcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiLFwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiXTt2YXIgYT1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XTt2YXIgcz1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtCTi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24gdG9TdHJpbmcoZSx0KXtlPWV8fDEwO3Q9dHwwfHwxO3ZhciByO2lmKGU9PT0xNnx8ZT09PVwiaGV4XCIpe3I9XCJcIjt2YXIgaT0wO3ZhciBvPTA7Zm9yKHZhciBoPTA7aDx0aGlzLmxlbmd0aDtoKyspe3ZhciB1PXRoaXMud29yZHNbaF07dmFyIGQ9KCh1PDxpfG8pJjE2Nzc3MjE1KS50b1N0cmluZygxNik7bz11Pj4+MjQtaSYxNjc3NzIxNTtpZihvIT09MHx8aCE9PXRoaXMubGVuZ3RoLTEpe3I9bls2LWQubGVuZ3RoXStkK3J9ZWxzZXtyPWQrcn1pKz0yO2lmKGk+PTI2KXtpLT0yNjtoLS19fWlmKG8hPT0wKXtyPW8udG9TdHJpbmcoMTYpK3J9d2hpbGUoci5sZW5ndGgldCE9PTApe3I9XCIwXCIrcn1pZih0aGlzLm5lZ2F0aXZlIT09MCl7cj1cIi1cIityfXJldHVybiByfWlmKGU9PT0oZXwwKSYmZT49MiYmZTw9MzYpe3ZhciBjPWFbZV07dmFyIGw9c1tlXTtyPVwiXCI7dmFyIHA9dGhpcy5jbG9uZSgpO3AubmVnYXRpdmU9MDt3aGlsZSghcC5pc1plcm8oKSl7dmFyIHY9cC5tb2RybihsKS50b1N0cmluZyhlKTtwPXAuaWRpdm4obCk7aWYoIXAuaXNaZXJvKCkpe3I9bltjLXYubGVuZ3RoXSt2K3J9ZWxzZXtyPXYrcn19aWYodGhpcy5pc1plcm8oKSl7cj1cIjBcIityfXdoaWxlKHIubGVuZ3RoJXQhPT0wKXtyPVwiMFwiK3J9aWYodGhpcy5uZWdhdGl2ZSE9PTApe3I9XCItXCIrcn1yZXR1cm4gcn1hc3NlcnQoZmFsc2UsXCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2XCIpfTtCTi5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24gdG9OdW1iZXIoKXt2YXIgZT10aGlzLndvcmRzWzBdO2lmKHRoaXMubGVuZ3RoPT09Mil7ZSs9dGhpcy53b3Jkc1sxXSo2NzEwODg2NH1lbHNlIGlmKHRoaXMubGVuZ3RoPT09MyYmdGhpcy53b3Jkc1syXT09PTEpe2UrPTQ1MDM1OTk2MjczNzA0OTYrdGhpcy53b3Jkc1sxXSo2NzEwODg2NH1lbHNlIGlmKHRoaXMubGVuZ3RoPjIpe2Fzc2VydChmYWxzZSxcIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0c1wiKX1yZXR1cm4gdGhpcy5uZWdhdGl2ZSE9PTA/LWU6ZX07Qk4ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbiB0b0pTT04oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNiwyKX07aWYoaSl7Qk4ucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uIHRvQnVmZmVyKGUsdCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoaSxlLHQpfX1CTi5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbiB0b0FycmF5KGUsdCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksZSx0KX07dmFyIG89ZnVuY3Rpb24gYWxsb2NhdGUoZSx0KXtpZihlLmFsbG9jVW5zYWZlKXtyZXR1cm4gZS5hbGxvY1Vuc2FmZSh0KX1yZXR1cm4gbmV3IGUodCl9O0JOLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbiB0b0FycmF5TGlrZShlLHQscil7dGhpcy5fc3RyaXAoKTt2YXIgaT10aGlzLmJ5dGVMZW5ndGgoKTt2YXIgbj1yfHxNYXRoLm1heCgxLGkpO2Fzc2VydChpPD1uLFwiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aFwiKTthc3NlcnQobj4wLFwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwXCIpO3ZhciBhPW8oZSxuKTt2YXIgcz10PT09XCJsZVwiP1wiTEVcIjpcIkJFXCI7dGhpc1tcIl90b0FycmF5TGlrZVwiK3NdKGEsaSk7cmV0dXJuIGF9O0JOLnByb3RvdHlwZS5fdG9BcnJheUxpa2VMRT1mdW5jdGlvbiBfdG9BcnJheUxpa2VMRShlLHQpe3ZhciByPTA7dmFyIGk9MDtmb3IodmFyIG49MCxhPTA7bjx0aGlzLmxlbmd0aDtuKyspe3ZhciBzPXRoaXMud29yZHNbbl08PGF8aTtlW3IrK109cyYyNTU7aWYocjxlLmxlbmd0aCl7ZVtyKytdPXM+PjgmMjU1fWlmKHI8ZS5sZW5ndGgpe2VbcisrXT1zPj4xNiYyNTV9aWYoYT09PTYpe2lmKHI8ZS5sZW5ndGgpe2VbcisrXT1zPj4yNCYyNTV9aT0wO2E9MH1lbHNle2k9cz4+PjI0O2ErPTJ9fWlmKHI8ZS5sZW5ndGgpe2VbcisrXT1pO3doaWxlKHI8ZS5sZW5ndGgpe2VbcisrXT0wfX19O0JOLnByb3RvdHlwZS5fdG9BcnJheUxpa2VCRT1mdW5jdGlvbiBfdG9BcnJheUxpa2VCRShlLHQpe3ZhciByPWUubGVuZ3RoLTE7dmFyIGk9MDtmb3IodmFyIG49MCxhPTA7bjx0aGlzLmxlbmd0aDtuKyspe3ZhciBzPXRoaXMud29yZHNbbl08PGF8aTtlW3ItLV09cyYyNTU7aWYocj49MCl7ZVtyLS1dPXM+PjgmMjU1fWlmKHI+PTApe2Vbci0tXT1zPj4xNiYyNTV9aWYoYT09PTYpe2lmKHI+PTApe2Vbci0tXT1zPj4yNCYyNTV9aT0wO2E9MH1lbHNle2k9cz4+PjI0O2ErPTJ9fWlmKHI+PTApe2Vbci0tXT1pO3doaWxlKHI+PTApe2Vbci0tXT0wfX19O2lmKE1hdGguY2x6MzIpe0JOLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uIF9jb3VudEJpdHMoZSl7cmV0dXJuIDMyLU1hdGguY2x6MzIoZSl9fWVsc2V7Qk4ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24gX2NvdW50Qml0cyhlKXt2YXIgdD1lO3ZhciByPTA7aWYodD49NDA5Nil7cis9MTM7dD4+Pj0xM31pZih0Pj02NCl7cis9Nzt0Pj4+PTd9aWYodD49OCl7cis9NDt0Pj4+PTR9aWYodD49Mil7cis9Mjt0Pj4+PTJ9cmV0dXJuIHIrdH19Qk4ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbiBfemVyb0JpdHMoZSl7aWYoZT09PTApcmV0dXJuIDI2O3ZhciB0PWU7dmFyIHI9MDtpZigodCY4MTkxKT09PTApe3IrPTEzO3Q+Pj49MTN9aWYoKHQmMTI3KT09PTApe3IrPTc7dD4+Pj03fWlmKCh0JjE1KT09PTApe3IrPTQ7dD4+Pj00fWlmKCh0JjMpPT09MCl7cis9Mjt0Pj4+PTJ9aWYoKHQmMSk9PT0wKXtyKyt9cmV0dXJuIHJ9O0JOLnByb3RvdHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24gYml0TGVuZ3RoKCl7dmFyIGU9dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTt2YXIgdD10aGlzLl9jb3VudEJpdHMoZSk7cmV0dXJuKHRoaXMubGVuZ3RoLTEpKjI2K3R9O2Z1bmN0aW9uIHRvQml0QXJyYXkoZSl7dmFyIHQ9bmV3IEFycmF5KGUuYml0TGVuZ3RoKCkpO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgaT1yLzI2fDA7dmFyIG49ciUyNjt0W3JdPWUud29yZHNbaV0+Pj5uJjF9cmV0dXJuIHR9Qk4ucHJvdG90eXBlLnplcm9CaXRzPWZ1bmN0aW9uIHplcm9CaXRzKCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gMDt2YXIgZT0wO2Zvcih2YXIgdD0wO3Q8dGhpcy5sZW5ndGg7dCsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW3RdKTtlKz1yO2lmKHIhPT0yNilicmVha31yZXR1cm4gZX07Qk4ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24gYnl0ZUxlbmd0aCgpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX07Qk4ucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbiB0b1R3b3MoZSl7aWYodGhpcy5uZWdhdGl2ZSE9PTApe3JldHVybiB0aGlzLmFicygpLmlub3RuKGUpLmlhZGRuKDEpfXJldHVybiB0aGlzLmNsb25lKCl9O0JOLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbiBmcm9tVHdvcyhlKXtpZih0aGlzLnRlc3RuKGUtMSkpe3JldHVybiB0aGlzLm5vdG4oZSkuaWFkZG4oMSkuaW5lZygpfXJldHVybiB0aGlzLmNsb25lKCl9O0JOLnByb3RvdHlwZS5pc05lZz1mdW5jdGlvbiBpc05lZygpe3JldHVybiB0aGlzLm5lZ2F0aXZlIT09MH07Qk4ucHJvdG90eXBlLm5lZz1mdW5jdGlvbiBuZWcoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX07Qk4ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24gaW5lZygpe2lmKCF0aGlzLmlzWmVybygpKXt0aGlzLm5lZ2F0aXZlXj0xfXJldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbiBpdW9yKGUpe3doaWxlKHRoaXMubGVuZ3RoPGUubGVuZ3RoKXt0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTB9Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3RoaXMud29yZHNbdF09dGhpcy53b3Jkc1t0XXxlLndvcmRzW3RdfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uIGlvcihlKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSk9PT0wKTtyZXR1cm4gdGhpcy5pdW9yKGUpfTtCTi5wcm90b3R5cGUub3I9ZnVuY3Rpb24gb3IoZSl7aWYodGhpcy5sZW5ndGg+ZS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pb3IoZSk7cmV0dXJuIGUuY2xvbmUoKS5pb3IodGhpcyl9O0JOLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24gdW9yKGUpe2lmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaXVvcihlKTtyZXR1cm4gZS5jbG9uZSgpLml1b3IodGhpcyl9O0JOLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbiBpdWFuZChlKXt2YXIgdDtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aCl7dD1lfWVsc2V7dD10aGlzfWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl0mZS53b3Jkc1tyXX10aGlzLmxlbmd0aD10Lmxlbmd0aDtyZXR1cm4gdGhpcy5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24gaWFuZChlKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSk9PT0wKTtyZXR1cm4gdGhpcy5pdWFuZChlKX07Qk4ucHJvdG90eXBlLmFuZD1mdW5jdGlvbiBhbmQoZSl7aWYodGhpcy5sZW5ndGg+ZS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKGUpO3JldHVybiBlLmNsb25lKCkuaWFuZCh0aGlzKX07Qk4ucHJvdG90eXBlLnVhbmQ9ZnVuY3Rpb24gdWFuZChlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml1YW5kKGUpO3JldHVybiBlLmNsb25lKCkuaXVhbmQodGhpcyl9O0JOLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbiBpdXhvcihlKXt2YXIgdDt2YXIgcjtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aCl7dD10aGlzO3I9ZX1lbHNle3Q9ZTtyPXRoaXN9Zm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09dC53b3Jkc1tpXV5yLndvcmRzW2ldfWlmKHRoaXMhPT10KXtmb3IoO2k8dC5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPXQud29yZHNbaV19fXRoaXMubGVuZ3RoPXQubGVuZ3RoO3JldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbiBpeG9yKGUpe2Fzc2VydCgodGhpcy5uZWdhdGl2ZXxlLm5lZ2F0aXZlKT09PTApO3JldHVybiB0aGlzLml1eG9yKGUpfTtCTi5wcm90b3R5cGUueG9yPWZ1bmN0aW9uIHhvcihlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IoZSk7cmV0dXJuIGUuY2xvbmUoKS5peG9yKHRoaXMpfTtCTi5wcm90b3R5cGUudXhvcj1mdW5jdGlvbiB1eG9yKGUpe2lmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IoZSk7cmV0dXJuIGUuY2xvbmUoKS5pdXhvcih0aGlzKX07Qk4ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uIGlub3RuKGUpe2Fzc2VydCh0eXBlb2YgZT09PVwibnVtYmVyXCImJmU+PTApO3ZhciB0PU1hdGguY2VpbChlLzI2KXwwO3ZhciByPWUlMjY7dGhpcy5fZXhwYW5kKHQpO2lmKHI+MCl7dC0tfWZvcih2YXIgaT0wO2k8dDtpKyspe3RoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjN9aWYocj4wKXt0aGlzLndvcmRzW2ldPX50aGlzLndvcmRzW2ldJjY3MTA4ODYzPj4yNi1yfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUubm90bj1mdW5jdGlvbiBub3RuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4oZSl9O0JOLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uIHNldG4oZSx0KXthc3NlcnQodHlwZW9mIGU9PT1cIm51bWJlclwiJiZlPj0wKTt2YXIgcj1lLzI2fDA7dmFyIGk9ZSUyNjt0aGlzLl9leHBhbmQocisxKTtpZih0KXt0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl18MTw8aX1lbHNle3RoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZ+KDE8PGkpfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbiBpYWRkKGUpe3ZhciB0O2lmKHRoaXMubmVnYXRpdmUhPT0wJiZlLm5lZ2F0aXZlPT09MCl7dGhpcy5uZWdhdGl2ZT0wO3Q9dGhpcy5pc3ViKGUpO3RoaXMubmVnYXRpdmVePTE7cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9ZWxzZSBpZih0aGlzLm5lZ2F0aXZlPT09MCYmZS5uZWdhdGl2ZSE9PTApe2UubmVnYXRpdmU9MDt0PXRoaXMuaXN1YihlKTtlLm5lZ2F0aXZlPTE7cmV0dXJuIHQuX25vcm1TaWduKCl9dmFyIHIsaTtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aCl7cj10aGlzO2k9ZX1lbHNle3I9ZTtpPXRoaXN9dmFyIG49MDtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKyl7dD0oci53b3Jkc1thXXwwKSsoaS53b3Jkc1thXXwwKStuO3RoaXMud29yZHNbYV09dCY2NzEwODg2MztuPXQ+Pj4yNn1mb3IoO24hPT0wJiZhPHIubGVuZ3RoO2ErKyl7dD0oci53b3Jkc1thXXwwKStuO3RoaXMud29yZHNbYV09dCY2NzEwODg2MztuPXQ+Pj4yNn10aGlzLmxlbmd0aD1yLmxlbmd0aDtpZihuIT09MCl7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09bjt0aGlzLmxlbmd0aCsrfWVsc2UgaWYociE9PXRoaXMpe2Zvcig7YTxyLmxlbmd0aDthKyspe3RoaXMud29yZHNbYV09ci53b3Jkc1thXX19cmV0dXJuIHRoaXN9O0JOLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKGUpe3ZhciB0O2lmKGUubmVnYXRpdmUhPT0wJiZ0aGlzLm5lZ2F0aXZlPT09MCl7ZS5uZWdhdGl2ZT0wO3Q9dGhpcy5zdWIoZSk7ZS5uZWdhdGl2ZV49MTtyZXR1cm4gdH1lbHNlIGlmKGUubmVnYXRpdmU9PT0wJiZ0aGlzLm5lZ2F0aXZlIT09MCl7dGhpcy5uZWdhdGl2ZT0wO3Q9ZS5zdWIodGhpcyk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0fWlmKHRoaXMubGVuZ3RoPmUubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaWFkZChlKTtyZXR1cm4gZS5jbG9uZSgpLmlhZGQodGhpcyl9O0JOLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uIGlzdWIoZSl7aWYoZS5uZWdhdGl2ZSE9PTApe2UubmVnYXRpdmU9MDt2YXIgdD10aGlzLmlhZGQoZSk7ZS5uZWdhdGl2ZT0xO3JldHVybiB0Ll9ub3JtU2lnbigpfWVsc2UgaWYodGhpcy5uZWdhdGl2ZSE9PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmlhZGQoZSk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfXZhciByPXRoaXMuY21wKGUpO2lmKHI9PT0wKXt0aGlzLm5lZ2F0aXZlPTA7dGhpcy5sZW5ndGg9MTt0aGlzLndvcmRzWzBdPTA7cmV0dXJuIHRoaXN9dmFyIGksbjtpZihyPjApe2k9dGhpcztuPWV9ZWxzZXtpPWU7bj10aGlzfXZhciBhPTA7Zm9yKHZhciBzPTA7czxuLmxlbmd0aDtzKyspe3Q9KGkud29yZHNbc118MCktKG4ud29yZHNbc118MCkrYTthPXQ+PjI2O3RoaXMud29yZHNbc109dCY2NzEwODg2M31mb3IoO2EhPT0wJiZzPGkubGVuZ3RoO3MrKyl7dD0oaS53b3Jkc1tzXXwwKSthO2E9dD4+MjY7dGhpcy53b3Jkc1tzXT10JjY3MTA4ODYzfWlmKGE9PT0wJiZzPGkubGVuZ3RoJiZpIT09dGhpcyl7Zm9yKDtzPGkubGVuZ3RoO3MrKyl7dGhpcy53b3Jkc1tzXT1pLndvcmRzW3NdfX10aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxzKTtpZihpIT09dGhpcyl7dGhpcy5uZWdhdGl2ZT0xfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uIHN1YihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIoZSl9O2Z1bmN0aW9uIHNtYWxsTXVsVG8oZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlO3ZhciBpPWUubGVuZ3RoK3QubGVuZ3RofDA7ci5sZW5ndGg9aTtpPWktMXwwO3ZhciBuPWUud29yZHNbMF18MDt2YXIgYT10LndvcmRzWzBdfDA7dmFyIHM9biphO3ZhciBvPXMmNjcxMDg4NjM7dmFyIGg9cy82NzEwODg2NHwwO3Iud29yZHNbMF09bztmb3IodmFyIHU9MTt1PGk7dSsrKXt2YXIgZD1oPj4+MjY7dmFyIGM9aCY2NzEwODg2Mzt2YXIgbD1NYXRoLm1pbih1LHQubGVuZ3RoLTEpO2Zvcih2YXIgcD1NYXRoLm1heCgwLHUtZS5sZW5ndGgrMSk7cDw9bDtwKyspe3ZhciB2PXUtcHwwO249ZS53b3Jkc1t2XXwwO2E9dC53b3Jkc1twXXwwO3M9biphK2M7ZCs9cy82NzEwODg2NHwwO2M9cyY2NzEwODg2M31yLndvcmRzW3VdPWN8MDtoPWR8MH1pZihoIT09MCl7ci53b3Jkc1t1XT1ofDB9ZWxzZXtyLmxlbmd0aC0tfXJldHVybiByLl9zdHJpcCgpfXZhciBoPWZ1bmN0aW9uIGNvbWIxME11bFRvKGUsdCxyKXt2YXIgaT1lLndvcmRzO3ZhciBuPXQud29yZHM7dmFyIGE9ci53b3Jkczt2YXIgcz0wO3ZhciBvO3ZhciBoO3ZhciB1O3ZhciBkPWlbMF18MDt2YXIgYz1kJjgxOTE7dmFyIGw9ZD4+PjEzO3ZhciBwPWlbMV18MDt2YXIgdj1wJjgxOTE7dmFyIGI9cD4+PjEzO3ZhciBtPWlbMl18MDt2YXIgeT1tJjgxOTE7dmFyIGc9bT4+PjEzO3ZhciBfPWlbM118MDt2YXIgdz1fJjgxOTE7dmFyIE09Xz4+PjEzO3ZhciBCPWlbNF18MDt2YXIgRT1CJjgxOTE7dmFyIGs9Qj4+PjEzO3ZhciBBPWlbNV18MDt2YXIgTj1BJjgxOTE7dmFyIFA9QT4+PjEzO3ZhciB4PWlbNl18MDt2YXIgST14JjgxOTE7dmFyIEM9eD4+PjEzO3ZhciBEPWlbN118MDt2YXIgVD1EJjgxOTE7dmFyIGo9RD4+PjEzO3ZhciBxPWlbOF18MDt2YXIgTz1xJjgxOTE7dmFyIEg9cT4+PjEzO3ZhciBMPWlbOV18MDt2YXIgej1MJjgxOTE7dmFyIEY9TD4+PjEzO3ZhciBVPW5bMF18MDt2YXIgVz1VJjgxOTE7dmFyIFY9VT4+PjEzO3ZhciBHPW5bMV18MDt2YXIgSj1HJjgxOTE7dmFyIFo9Rz4+PjEzO3ZhciBYPW5bMl18MDt2YXIgWT1YJjgxOTE7dmFyICQ9WD4+PjEzO3ZhciBRPW5bM118MDt2YXIgZWU9USY4MTkxO3ZhciB0ZT1RPj4+MTM7dmFyIHJlPW5bNF18MDt2YXIgaWU9cmUmODE5MTt2YXIgbmU9cmU+Pj4xMzt2YXIgYWU9bls1XXwwO3ZhciBmZT1hZSY4MTkxO3ZhciBzZT1hZT4+PjEzO3ZhciBvZT1uWzZdfDA7dmFyIGhlPW9lJjgxOTE7dmFyIHVlPW9lPj4+MTM7dmFyIGRlPW5bN118MDt2YXIgY2U9ZGUmODE5MTt2YXIgbGU9ZGU+Pj4xMzt2YXIgcGU9bls4XXwwO3ZhciB2ZT1wZSY4MTkxO3ZhciBiZT1wZT4+PjEzO3ZhciBtZT1uWzldfDA7dmFyIHllPW1lJjgxOTE7dmFyIGdlPW1lPj4+MTM7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7ci5sZW5ndGg9MTk7bz1NYXRoLmltdWwoYyxXKTtoPU1hdGguaW11bChjLFYpO2g9aCtNYXRoLmltdWwobCxXKXwwO3U9TWF0aC5pbXVsKGwsVik7dmFyIF9lPShzK298MCkrKChoJjgxOTEpPDwxMyl8MDtzPSh1KyhoPj4+MTMpfDApKyhfZT4+PjI2KXwwO19lJj02NzEwODg2MztvPU1hdGguaW11bCh2LFcpO2g9TWF0aC5pbXVsKHYsVik7aD1oK01hdGguaW11bChiLFcpfDA7dT1NYXRoLmltdWwoYixWKTtvPW8rTWF0aC5pbXVsKGMsSil8MDtoPWgrTWF0aC5pbXVsKGMsWil8MDtoPWgrTWF0aC5pbXVsKGwsSil8MDt1PXUrTWF0aC5pbXVsKGwsWil8MDt2YXIgd2U9KHMrb3wwKSsoKGgmODE5MSk8PDEzKXwwO3M9KHUrKGg+Pj4xMyl8MCkrKHdlPj4+MjYpfDA7d2UmPTY3MTA4ODYzO289TWF0aC5pbXVsKHksVyk7aD1NYXRoLmltdWwoeSxWKTtoPWgrTWF0aC5pbXVsKGcsVyl8MDt1PU1hdGguaW11bChnLFYpO289bytNYXRoLmltdWwodixKKXwwO2g9aCtNYXRoLmltdWwodixaKXwwO2g9aCtNYXRoLmltdWwoYixKKXwwO3U9dStNYXRoLmltdWwoYixaKXwwO289bytNYXRoLmltdWwoYyxZKXwwO2g9aCtNYXRoLmltdWwoYywkKXwwO2g9aCtNYXRoLmltdWwobCxZKXwwO3U9dStNYXRoLmltdWwobCwkKXwwO3ZhciBNZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoTWU+Pj4yNil8MDtNZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwodyxXKTtoPU1hdGguaW11bCh3LFYpO2g9aCtNYXRoLmltdWwoTSxXKXwwO3U9TWF0aC5pbXVsKE0sVik7bz1vK01hdGguaW11bCh5LEopfDA7aD1oK01hdGguaW11bCh5LFopfDA7aD1oK01hdGguaW11bChnLEopfDA7dT11K01hdGguaW11bChnLFopfDA7bz1vK01hdGguaW11bCh2LFkpfDA7aD1oK01hdGguaW11bCh2LCQpfDA7aD1oK01hdGguaW11bChiLFkpfDA7dT11K01hdGguaW11bChiLCQpfDA7bz1vK01hdGguaW11bChjLGVlKXwwO2g9aCtNYXRoLmltdWwoYyx0ZSl8MDtoPWgrTWF0aC5pbXVsKGwsZWUpfDA7dT11K01hdGguaW11bChsLHRlKXwwO3ZhciBTZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoU2U+Pj4yNil8MDtTZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoRSxXKTtoPU1hdGguaW11bChFLFYpO2g9aCtNYXRoLmltdWwoayxXKXwwO3U9TWF0aC5pbXVsKGssVik7bz1vK01hdGguaW11bCh3LEopfDA7aD1oK01hdGguaW11bCh3LFopfDA7aD1oK01hdGguaW11bChNLEopfDA7dT11K01hdGguaW11bChNLFopfDA7bz1vK01hdGguaW11bCh5LFkpfDA7aD1oK01hdGguaW11bCh5LCQpfDA7aD1oK01hdGguaW11bChnLFkpfDA7dT11K01hdGguaW11bChnLCQpfDA7bz1vK01hdGguaW11bCh2LGVlKXwwO2g9aCtNYXRoLmltdWwodix0ZSl8MDtoPWgrTWF0aC5pbXVsKGIsZWUpfDA7dT11K01hdGguaW11bChiLHRlKXwwO289bytNYXRoLmltdWwoYyxpZSl8MDtoPWgrTWF0aC5pbXVsKGMsbmUpfDA7aD1oK01hdGguaW11bChsLGllKXwwO3U9dStNYXRoLmltdWwobCxuZSl8MDt2YXIgQmU9KHMrb3wwKSsoKGgmODE5MSk8PDEzKXwwO3M9KHUrKGg+Pj4xMyl8MCkrKEJlPj4+MjYpfDA7QmUmPTY3MTA4ODYzO289TWF0aC5pbXVsKE4sVyk7aD1NYXRoLmltdWwoTixWKTtoPWgrTWF0aC5pbXVsKFAsVyl8MDt1PU1hdGguaW11bChQLFYpO289bytNYXRoLmltdWwoRSxKKXwwO2g9aCtNYXRoLmltdWwoRSxaKXwwO2g9aCtNYXRoLmltdWwoayxKKXwwO3U9dStNYXRoLmltdWwoayxaKXwwO289bytNYXRoLmltdWwodyxZKXwwO2g9aCtNYXRoLmltdWwodywkKXwwO2g9aCtNYXRoLmltdWwoTSxZKXwwO3U9dStNYXRoLmltdWwoTSwkKXwwO289bytNYXRoLmltdWwoeSxlZSl8MDtoPWgrTWF0aC5pbXVsKHksdGUpfDA7aD1oK01hdGguaW11bChnLGVlKXwwO3U9dStNYXRoLmltdWwoZyx0ZSl8MDtvPW8rTWF0aC5pbXVsKHYsaWUpfDA7aD1oK01hdGguaW11bCh2LG5lKXwwO2g9aCtNYXRoLmltdWwoYixpZSl8MDt1PXUrTWF0aC5pbXVsKGIsbmUpfDA7bz1vK01hdGguaW11bChjLGZlKXwwO2g9aCtNYXRoLmltdWwoYyxzZSl8MDtoPWgrTWF0aC5pbXVsKGwsZmUpfDA7dT11K01hdGguaW11bChsLHNlKXwwO3ZhciBFZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoRWU+Pj4yNil8MDtFZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoSSxXKTtoPU1hdGguaW11bChJLFYpO2g9aCtNYXRoLmltdWwoQyxXKXwwO3U9TWF0aC5pbXVsKEMsVik7bz1vK01hdGguaW11bChOLEopfDA7aD1oK01hdGguaW11bChOLFopfDA7aD1oK01hdGguaW11bChQLEopfDA7dT11K01hdGguaW11bChQLFopfDA7bz1vK01hdGguaW11bChFLFkpfDA7aD1oK01hdGguaW11bChFLCQpfDA7aD1oK01hdGguaW11bChrLFkpfDA7dT11K01hdGguaW11bChrLCQpfDA7bz1vK01hdGguaW11bCh3LGVlKXwwO2g9aCtNYXRoLmltdWwodyx0ZSl8MDtoPWgrTWF0aC5pbXVsKE0sZWUpfDA7dT11K01hdGguaW11bChNLHRlKXwwO289bytNYXRoLmltdWwoeSxpZSl8MDtoPWgrTWF0aC5pbXVsKHksbmUpfDA7aD1oK01hdGguaW11bChnLGllKXwwO3U9dStNYXRoLmltdWwoZyxuZSl8MDtvPW8rTWF0aC5pbXVsKHYsZmUpfDA7aD1oK01hdGguaW11bCh2LHNlKXwwO2g9aCtNYXRoLmltdWwoYixmZSl8MDt1PXUrTWF0aC5pbXVsKGIsc2UpfDA7bz1vK01hdGguaW11bChjLGhlKXwwO2g9aCtNYXRoLmltdWwoYyx1ZSl8MDtoPWgrTWF0aC5pbXVsKGwsaGUpfDA7dT11K01hdGguaW11bChsLHVlKXwwO3ZhciBrZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoa2U+Pj4yNil8MDtrZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoVCxXKTtoPU1hdGguaW11bChULFYpO2g9aCtNYXRoLmltdWwoaixXKXwwO3U9TWF0aC5pbXVsKGosVik7bz1vK01hdGguaW11bChJLEopfDA7aD1oK01hdGguaW11bChJLFopfDA7aD1oK01hdGguaW11bChDLEopfDA7dT11K01hdGguaW11bChDLFopfDA7bz1vK01hdGguaW11bChOLFkpfDA7aD1oK01hdGguaW11bChOLCQpfDA7aD1oK01hdGguaW11bChQLFkpfDA7dT11K01hdGguaW11bChQLCQpfDA7bz1vK01hdGguaW11bChFLGVlKXwwO2g9aCtNYXRoLmltdWwoRSx0ZSl8MDtoPWgrTWF0aC5pbXVsKGssZWUpfDA7dT11K01hdGguaW11bChrLHRlKXwwO289bytNYXRoLmltdWwodyxpZSl8MDtoPWgrTWF0aC5pbXVsKHcsbmUpfDA7aD1oK01hdGguaW11bChNLGllKXwwO3U9dStNYXRoLmltdWwoTSxuZSl8MDtvPW8rTWF0aC5pbXVsKHksZmUpfDA7aD1oK01hdGguaW11bCh5LHNlKXwwO2g9aCtNYXRoLmltdWwoZyxmZSl8MDt1PXUrTWF0aC5pbXVsKGcsc2UpfDA7bz1vK01hdGguaW11bCh2LGhlKXwwO2g9aCtNYXRoLmltdWwodix1ZSl8MDtoPWgrTWF0aC5pbXVsKGIsaGUpfDA7dT11K01hdGguaW11bChiLHVlKXwwO289bytNYXRoLmltdWwoYyxjZSl8MDtoPWgrTWF0aC5pbXVsKGMsbGUpfDA7aD1oK01hdGguaW11bChsLGNlKXwwO3U9dStNYXRoLmltdWwobCxsZSl8MDt2YXIgQWU9KHMrb3wwKSsoKGgmODE5MSk8PDEzKXwwO3M9KHUrKGg+Pj4xMyl8MCkrKEFlPj4+MjYpfDA7QWUmPTY3MTA4ODYzO289TWF0aC5pbXVsKE8sVyk7aD1NYXRoLmltdWwoTyxWKTtoPWgrTWF0aC5pbXVsKEgsVyl8MDt1PU1hdGguaW11bChILFYpO289bytNYXRoLmltdWwoVCxKKXwwO2g9aCtNYXRoLmltdWwoVCxaKXwwO2g9aCtNYXRoLmltdWwoaixKKXwwO3U9dStNYXRoLmltdWwoaixaKXwwO289bytNYXRoLmltdWwoSSxZKXwwO2g9aCtNYXRoLmltdWwoSSwkKXwwO2g9aCtNYXRoLmltdWwoQyxZKXwwO3U9dStNYXRoLmltdWwoQywkKXwwO289bytNYXRoLmltdWwoTixlZSl8MDtoPWgrTWF0aC5pbXVsKE4sdGUpfDA7aD1oK01hdGguaW11bChQLGVlKXwwO3U9dStNYXRoLmltdWwoUCx0ZSl8MDtvPW8rTWF0aC5pbXVsKEUsaWUpfDA7aD1oK01hdGguaW11bChFLG5lKXwwO2g9aCtNYXRoLmltdWwoayxpZSl8MDt1PXUrTWF0aC5pbXVsKGssbmUpfDA7bz1vK01hdGguaW11bCh3LGZlKXwwO2g9aCtNYXRoLmltdWwodyxzZSl8MDtoPWgrTWF0aC5pbXVsKE0sZmUpfDA7dT11K01hdGguaW11bChNLHNlKXwwO289bytNYXRoLmltdWwoeSxoZSl8MDtoPWgrTWF0aC5pbXVsKHksdWUpfDA7aD1oK01hdGguaW11bChnLGhlKXwwO3U9dStNYXRoLmltdWwoZyx1ZSl8MDtvPW8rTWF0aC5pbXVsKHYsY2UpfDA7aD1oK01hdGguaW11bCh2LGxlKXwwO2g9aCtNYXRoLmltdWwoYixjZSl8MDt1PXUrTWF0aC5pbXVsKGIsbGUpfDA7bz1vK01hdGguaW11bChjLHZlKXwwO2g9aCtNYXRoLmltdWwoYyxiZSl8MDtoPWgrTWF0aC5pbXVsKGwsdmUpfDA7dT11K01hdGguaW11bChsLGJlKXwwO3ZhciBOZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoTmU+Pj4yNil8MDtOZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixXKTtoPU1hdGguaW11bCh6LFYpO2g9aCtNYXRoLmltdWwoRixXKXwwO3U9TWF0aC5pbXVsKEYsVik7bz1vK01hdGguaW11bChPLEopfDA7aD1oK01hdGguaW11bChPLFopfDA7aD1oK01hdGguaW11bChILEopfDA7dT11K01hdGguaW11bChILFopfDA7bz1vK01hdGguaW11bChULFkpfDA7aD1oK01hdGguaW11bChULCQpfDA7aD1oK01hdGguaW11bChqLFkpfDA7dT11K01hdGguaW11bChqLCQpfDA7bz1vK01hdGguaW11bChJLGVlKXwwO2g9aCtNYXRoLmltdWwoSSx0ZSl8MDtoPWgrTWF0aC5pbXVsKEMsZWUpfDA7dT11K01hdGguaW11bChDLHRlKXwwO289bytNYXRoLmltdWwoTixpZSl8MDtoPWgrTWF0aC5pbXVsKE4sbmUpfDA7aD1oK01hdGguaW11bChQLGllKXwwO3U9dStNYXRoLmltdWwoUCxuZSl8MDtvPW8rTWF0aC5pbXVsKEUsZmUpfDA7aD1oK01hdGguaW11bChFLHNlKXwwO2g9aCtNYXRoLmltdWwoayxmZSl8MDt1PXUrTWF0aC5pbXVsKGssc2UpfDA7bz1vK01hdGguaW11bCh3LGhlKXwwO2g9aCtNYXRoLmltdWwodyx1ZSl8MDtoPWgrTWF0aC5pbXVsKE0saGUpfDA7dT11K01hdGguaW11bChNLHVlKXwwO289bytNYXRoLmltdWwoeSxjZSl8MDtoPWgrTWF0aC5pbXVsKHksbGUpfDA7aD1oK01hdGguaW11bChnLGNlKXwwO3U9dStNYXRoLmltdWwoZyxsZSl8MDtvPW8rTWF0aC5pbXVsKHYsdmUpfDA7aD1oK01hdGguaW11bCh2LGJlKXwwO2g9aCtNYXRoLmltdWwoYix2ZSl8MDt1PXUrTWF0aC5pbXVsKGIsYmUpfDA7bz1vK01hdGguaW11bChjLHllKXwwO2g9aCtNYXRoLmltdWwoYyxnZSl8MDtoPWgrTWF0aC5pbXVsKGwseWUpfDA7dT11K01hdGguaW11bChsLGdlKXwwO3ZhciBSZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoUmU+Pj4yNil8MDtSZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixKKTtoPU1hdGguaW11bCh6LFopO2g9aCtNYXRoLmltdWwoRixKKXwwO3U9TWF0aC5pbXVsKEYsWik7bz1vK01hdGguaW11bChPLFkpfDA7aD1oK01hdGguaW11bChPLCQpfDA7aD1oK01hdGguaW11bChILFkpfDA7dT11K01hdGguaW11bChILCQpfDA7bz1vK01hdGguaW11bChULGVlKXwwO2g9aCtNYXRoLmltdWwoVCx0ZSl8MDtoPWgrTWF0aC5pbXVsKGosZWUpfDA7dT11K01hdGguaW11bChqLHRlKXwwO289bytNYXRoLmltdWwoSSxpZSl8MDtoPWgrTWF0aC5pbXVsKEksbmUpfDA7aD1oK01hdGguaW11bChDLGllKXwwO3U9dStNYXRoLmltdWwoQyxuZSl8MDtvPW8rTWF0aC5pbXVsKE4sZmUpfDA7aD1oK01hdGguaW11bChOLHNlKXwwO2g9aCtNYXRoLmltdWwoUCxmZSl8MDt1PXUrTWF0aC5pbXVsKFAsc2UpfDA7bz1vK01hdGguaW11bChFLGhlKXwwO2g9aCtNYXRoLmltdWwoRSx1ZSl8MDtoPWgrTWF0aC5pbXVsKGssaGUpfDA7dT11K01hdGguaW11bChrLHVlKXwwO289bytNYXRoLmltdWwodyxjZSl8MDtoPWgrTWF0aC5pbXVsKHcsbGUpfDA7aD1oK01hdGguaW11bChNLGNlKXwwO3U9dStNYXRoLmltdWwoTSxsZSl8MDtvPW8rTWF0aC5pbXVsKHksdmUpfDA7aD1oK01hdGguaW11bCh5LGJlKXwwO2g9aCtNYXRoLmltdWwoZyx2ZSl8MDt1PXUrTWF0aC5pbXVsKGcsYmUpfDA7bz1vK01hdGguaW11bCh2LHllKXwwO2g9aCtNYXRoLmltdWwodixnZSl8MDtoPWgrTWF0aC5pbXVsKGIseWUpfDA7dT11K01hdGguaW11bChiLGdlKXwwO3ZhciBQZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoUGU+Pj4yNil8MDtQZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixZKTtoPU1hdGguaW11bCh6LCQpO2g9aCtNYXRoLmltdWwoRixZKXwwO3U9TWF0aC5pbXVsKEYsJCk7bz1vK01hdGguaW11bChPLGVlKXwwO2g9aCtNYXRoLmltdWwoTyx0ZSl8MDtoPWgrTWF0aC5pbXVsKEgsZWUpfDA7dT11K01hdGguaW11bChILHRlKXwwO289bytNYXRoLmltdWwoVCxpZSl8MDtoPWgrTWF0aC5pbXVsKFQsbmUpfDA7aD1oK01hdGguaW11bChqLGllKXwwO3U9dStNYXRoLmltdWwoaixuZSl8MDtvPW8rTWF0aC5pbXVsKEksZmUpfDA7aD1oK01hdGguaW11bChJLHNlKXwwO2g9aCtNYXRoLmltdWwoQyxmZSl8MDt1PXUrTWF0aC5pbXVsKEMsc2UpfDA7bz1vK01hdGguaW11bChOLGhlKXwwO2g9aCtNYXRoLmltdWwoTix1ZSl8MDtoPWgrTWF0aC5pbXVsKFAsaGUpfDA7dT11K01hdGguaW11bChQLHVlKXwwO289bytNYXRoLmltdWwoRSxjZSl8MDtoPWgrTWF0aC5pbXVsKEUsbGUpfDA7aD1oK01hdGguaW11bChrLGNlKXwwO3U9dStNYXRoLmltdWwoayxsZSl8MDtvPW8rTWF0aC5pbXVsKHcsdmUpfDA7aD1oK01hdGguaW11bCh3LGJlKXwwO2g9aCtNYXRoLmltdWwoTSx2ZSl8MDt1PXUrTWF0aC5pbXVsKE0sYmUpfDA7bz1vK01hdGguaW11bCh5LHllKXwwO2g9aCtNYXRoLmltdWwoeSxnZSl8MDtoPWgrTWF0aC5pbXVsKGcseWUpfDA7dT11K01hdGguaW11bChnLGdlKXwwO3ZhciB4ZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoeGU+Pj4yNil8MDt4ZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixlZSk7aD1NYXRoLmltdWwoeix0ZSk7aD1oK01hdGguaW11bChGLGVlKXwwO3U9TWF0aC5pbXVsKEYsdGUpO289bytNYXRoLmltdWwoTyxpZSl8MDtoPWgrTWF0aC5pbXVsKE8sbmUpfDA7aD1oK01hdGguaW11bChILGllKXwwO3U9dStNYXRoLmltdWwoSCxuZSl8MDtvPW8rTWF0aC5pbXVsKFQsZmUpfDA7aD1oK01hdGguaW11bChULHNlKXwwO2g9aCtNYXRoLmltdWwoaixmZSl8MDt1PXUrTWF0aC5pbXVsKGosc2UpfDA7bz1vK01hdGguaW11bChJLGhlKXwwO2g9aCtNYXRoLmltdWwoSSx1ZSl8MDtoPWgrTWF0aC5pbXVsKEMsaGUpfDA7dT11K01hdGguaW11bChDLHVlKXwwO289bytNYXRoLmltdWwoTixjZSl8MDtoPWgrTWF0aC5pbXVsKE4sbGUpfDA7aD1oK01hdGguaW11bChQLGNlKXwwO3U9dStNYXRoLmltdWwoUCxsZSl8MDtvPW8rTWF0aC5pbXVsKEUsdmUpfDA7aD1oK01hdGguaW11bChFLGJlKXwwO2g9aCtNYXRoLmltdWwoayx2ZSl8MDt1PXUrTWF0aC5pbXVsKGssYmUpfDA7bz1vK01hdGguaW11bCh3LHllKXwwO2g9aCtNYXRoLmltdWwodyxnZSl8MDtoPWgrTWF0aC5pbXVsKE0seWUpfDA7dT11K01hdGguaW11bChNLGdlKXwwO3ZhciBJZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoSWU+Pj4yNil8MDtJZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixpZSk7aD1NYXRoLmltdWwoeixuZSk7aD1oK01hdGguaW11bChGLGllKXwwO3U9TWF0aC5pbXVsKEYsbmUpO289bytNYXRoLmltdWwoTyxmZSl8MDtoPWgrTWF0aC5pbXVsKE8sc2UpfDA7aD1oK01hdGguaW11bChILGZlKXwwO3U9dStNYXRoLmltdWwoSCxzZSl8MDtvPW8rTWF0aC5pbXVsKFQsaGUpfDA7aD1oK01hdGguaW11bChULHVlKXwwO2g9aCtNYXRoLmltdWwoaixoZSl8MDt1PXUrTWF0aC5pbXVsKGosdWUpfDA7bz1vK01hdGguaW11bChJLGNlKXwwO2g9aCtNYXRoLmltdWwoSSxsZSl8MDtoPWgrTWF0aC5pbXVsKEMsY2UpfDA7dT11K01hdGguaW11bChDLGxlKXwwO289bytNYXRoLmltdWwoTix2ZSl8MDtoPWgrTWF0aC5pbXVsKE4sYmUpfDA7aD1oK01hdGguaW11bChQLHZlKXwwO3U9dStNYXRoLmltdWwoUCxiZSl8MDtvPW8rTWF0aC5pbXVsKEUseWUpfDA7aD1oK01hdGguaW11bChFLGdlKXwwO2g9aCtNYXRoLmltdWwoayx5ZSl8MDt1PXUrTWF0aC5pbXVsKGssZ2UpfDA7dmFyIENlPShzK298MCkrKChoJjgxOTEpPDwxMyl8MDtzPSh1KyhoPj4+MTMpfDApKyhDZT4+PjI2KXwwO0NlJj02NzEwODg2MztvPU1hdGguaW11bCh6LGZlKTtoPU1hdGguaW11bCh6LHNlKTtoPWgrTWF0aC5pbXVsKEYsZmUpfDA7dT1NYXRoLmltdWwoRixzZSk7bz1vK01hdGguaW11bChPLGhlKXwwO2g9aCtNYXRoLmltdWwoTyx1ZSl8MDtoPWgrTWF0aC5pbXVsKEgsaGUpfDA7dT11K01hdGguaW11bChILHVlKXwwO289bytNYXRoLmltdWwoVCxjZSl8MDtoPWgrTWF0aC5pbXVsKFQsbGUpfDA7aD1oK01hdGguaW11bChqLGNlKXwwO3U9dStNYXRoLmltdWwoaixsZSl8MDtvPW8rTWF0aC5pbXVsKEksdmUpfDA7aD1oK01hdGguaW11bChJLGJlKXwwO2g9aCtNYXRoLmltdWwoQyx2ZSl8MDt1PXUrTWF0aC5pbXVsKEMsYmUpfDA7bz1vK01hdGguaW11bChOLHllKXwwO2g9aCtNYXRoLmltdWwoTixnZSl8MDtoPWgrTWF0aC5pbXVsKFAseWUpfDA7dT11K01hdGguaW11bChQLGdlKXwwO3ZhciBEZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoRGU+Pj4yNil8MDtEZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixoZSk7aD1NYXRoLmltdWwoeix1ZSk7aD1oK01hdGguaW11bChGLGhlKXwwO3U9TWF0aC5pbXVsKEYsdWUpO289bytNYXRoLmltdWwoTyxjZSl8MDtoPWgrTWF0aC5pbXVsKE8sbGUpfDA7aD1oK01hdGguaW11bChILGNlKXwwO3U9dStNYXRoLmltdWwoSCxsZSl8MDtvPW8rTWF0aC5pbXVsKFQsdmUpfDA7aD1oK01hdGguaW11bChULGJlKXwwO2g9aCtNYXRoLmltdWwoaix2ZSl8MDt1PXUrTWF0aC5pbXVsKGosYmUpfDA7bz1vK01hdGguaW11bChJLHllKXwwO2g9aCtNYXRoLmltdWwoSSxnZSl8MDtoPWgrTWF0aC5pbXVsKEMseWUpfDA7dT11K01hdGguaW11bChDLGdlKXwwO3ZhciBUZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoVGU+Pj4yNil8MDtUZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeixjZSk7aD1NYXRoLmltdWwoeixsZSk7aD1oK01hdGguaW11bChGLGNlKXwwO3U9TWF0aC5pbXVsKEYsbGUpO289bytNYXRoLmltdWwoTyx2ZSl8MDtoPWgrTWF0aC5pbXVsKE8sYmUpfDA7aD1oK01hdGguaW11bChILHZlKXwwO3U9dStNYXRoLmltdWwoSCxiZSl8MDtvPW8rTWF0aC5pbXVsKFQseWUpfDA7aD1oK01hdGguaW11bChULGdlKXwwO2g9aCtNYXRoLmltdWwoaix5ZSl8MDt1PXUrTWF0aC5pbXVsKGosZ2UpfDA7dmFyIGplPShzK298MCkrKChoJjgxOTEpPDwxMyl8MDtzPSh1KyhoPj4+MTMpfDApKyhqZT4+PjI2KXwwO2plJj02NzEwODg2MztvPU1hdGguaW11bCh6LHZlKTtoPU1hdGguaW11bCh6LGJlKTtoPWgrTWF0aC5pbXVsKEYsdmUpfDA7dT1NYXRoLmltdWwoRixiZSk7bz1vK01hdGguaW11bChPLHllKXwwO2g9aCtNYXRoLmltdWwoTyxnZSl8MDtoPWgrTWF0aC5pbXVsKEgseWUpfDA7dT11K01hdGguaW11bChILGdlKXwwO3ZhciBxZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsocWU+Pj4yNil8MDtxZSY9NjcxMDg4NjM7bz1NYXRoLmltdWwoeix5ZSk7aD1NYXRoLmltdWwoeixnZSk7aD1oK01hdGguaW11bChGLHllKXwwO3U9TWF0aC5pbXVsKEYsZ2UpO3ZhciBPZT0ocytvfDApKygoaCY4MTkxKTw8MTMpfDA7cz0odSsoaD4+PjEzKXwwKSsoT2U+Pj4yNil8MDtPZSY9NjcxMDg4NjM7YVswXT1fZTthWzFdPXdlO2FbMl09TWU7YVszXT1TZTthWzRdPUJlO2FbNV09RWU7YVs2XT1rZTthWzddPUFlO2FbOF09TmU7YVs5XT1SZTthWzEwXT1QZTthWzExXT14ZTthWzEyXT1JZTthWzEzXT1DZTthWzE0XT1EZTthWzE1XT1UZTthWzE2XT1qZTthWzE3XT1xZTthWzE4XT1PZTtpZihzIT09MCl7YVsxOV09cztyLmxlbmd0aCsrfXJldHVybiByfTtpZighTWF0aC5pbXVsKXtoPXNtYWxsTXVsVG99ZnVuY3Rpb24gYmlnTXVsVG8oZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlO3IubGVuZ3RoPWUubGVuZ3RoK3QubGVuZ3RoO3ZhciBpPTA7dmFyIG49MDtmb3IodmFyIGE9MDthPHIubGVuZ3RoLTE7YSsrKXt2YXIgcz1uO249MDt2YXIgbz1pJjY3MTA4ODYzO3ZhciBoPU1hdGgubWluKGEsdC5sZW5ndGgtMSk7Zm9yKHZhciB1PU1hdGgubWF4KDAsYS1lLmxlbmd0aCsxKTt1PD1oO3UrKyl7dmFyIGQ9YS11O3ZhciBjPWUud29yZHNbZF18MDt2YXIgbD10LndvcmRzW3VdfDA7dmFyIHA9YypsO3ZhciB2PXAmNjcxMDg4NjM7cz1zKyhwLzY3MTA4ODY0fDApfDA7dj12K298MDtvPXYmNjcxMDg4NjM7cz1zKyh2Pj4+MjYpfDA7bis9cz4+PjI2O3MmPTY3MTA4ODYzfXIud29yZHNbYV09bztpPXM7cz1ufWlmKGkhPT0wKXtyLndvcmRzW2FdPWl9ZWxzZXtyLmxlbmd0aC0tfXJldHVybiByLl9zdHJpcCgpfWZ1bmN0aW9uIGp1bWJvTXVsVG8oZSx0LHIpe3JldHVybiBiaWdNdWxUbyhlLHQscil9Qk4ucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uIG11bFRvKGUsdCl7dmFyIHI7dmFyIGk9dGhpcy5sZW5ndGgrZS5sZW5ndGg7aWYodGhpcy5sZW5ndGg9PT0xMCYmZS5sZW5ndGg9PT0xMCl7cj1oKHRoaXMsZSx0KX1lbHNlIGlmKGk8NjMpe3I9c21hbGxNdWxUbyh0aGlzLGUsdCl9ZWxzZSBpZihpPDEwMjQpe3I9YmlnTXVsVG8odGhpcyxlLHQpfWVsc2V7cj1qdW1ib011bFRvKHRoaXMsZSx0KX1yZXR1cm4gcn07ZnVuY3Rpb24gRkZUTShlLHQpe3RoaXMueD1lO3RoaXMueT10fUZGVE0ucHJvdG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24gbWFrZVJCVChlKXt2YXIgdD1uZXcgQXJyYXkoZSk7dmFyIHI9Qk4ucHJvdG90eXBlLl9jb3VudEJpdHMoZSktMTtmb3IodmFyIGk9MDtpPGU7aSsrKXt0W2ldPXRoaXMucmV2QmluKGkscixlKX1yZXR1cm4gdH07RkZUTS5wcm90b3R5cGUucmV2QmluPWZ1bmN0aW9uIHJldkJpbihlLHQscil7aWYoZT09PTB8fGU9PT1yLTEpcmV0dXJuIGU7dmFyIGk9MDtmb3IodmFyIG49MDtuPHQ7bisrKXtpfD0oZSYxKTw8dC1uLTE7ZT4+PTF9cmV0dXJuIGl9O0ZGVE0ucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24gcGVybXV0ZShlLHQscixpLG4sYSl7Zm9yKHZhciBzPTA7czxhO3MrKyl7aVtzXT10W2Vbc11dO25bc109cltlW3NdXX19O0ZGVE0ucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbiB0cmFuc2Zvcm0oZSx0LHIsaSxuLGEpe3RoaXMucGVybXV0ZShhLGUsdCxyLGksbik7Zm9yKHZhciBzPTE7czxuO3M8PD0xKXt2YXIgbz1zPDwxO3ZhciBoPU1hdGguY29zKDIqTWF0aC5QSS9vKTt2YXIgdT1NYXRoLnNpbigyKk1hdGguUEkvbyk7Zm9yKHZhciBkPTA7ZDxuO2QrPW8pe3ZhciBjPWg7dmFyIGw9dTtmb3IodmFyIHA9MDtwPHM7cCsrKXt2YXIgdj1yW2QrcF07dmFyIGI9aVtkK3BdO3ZhciBtPXJbZCtwK3NdO3ZhciB5PWlbZCtwK3NdO3ZhciBnPWMqbS1sKnk7eT1jKnkrbCptO209ZztyW2QrcF09dittO2lbZCtwXT1iK3k7cltkK3Arc109di1tO2lbZCtwK3NdPWIteTtpZihwIT09byl7Zz1oKmMtdSpsO2w9aCpsK3UqYztjPWd9fX19fTtGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbiBndWVzc0xlbjEzYihlLHQpe3ZhciByPU1hdGgubWF4KHQsZSl8MTt2YXIgaT1yJjE7dmFyIG49MDtmb3Iocj1yLzJ8MDtyO3I9cj4+PjEpe24rK31yZXR1cm4gMTw8bisxK2l9O0ZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbiBjb25qdWdhdGUoZSx0LHIpe2lmKHI8PTEpcmV0dXJuO2Zvcih2YXIgaT0wO2k8ci8yO2krKyl7dmFyIG49ZVtpXTtlW2ldPWVbci1pLTFdO2Vbci1pLTFdPW47bj10W2ldO3RbaV09LXRbci1pLTFdO3Rbci1pLTFdPS1ufX07RkZUTS5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uIG5vcm1hbGl6ZTEzYihlLHQpe3ZhciByPTA7Zm9yKHZhciBpPTA7aTx0LzI7aSsrKXt2YXIgbj1NYXRoLnJvdW5kKGVbMippKzFdL3QpKjgxOTIrTWF0aC5yb3VuZChlWzIqaV0vdCkrcjtlW2ldPW4mNjcxMDg4NjM7aWYobjw2NzEwODg2NCl7cj0wfWVsc2V7cj1uLzY3MTA4ODY0fDB9fXJldHVybiBlfTtGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uIGNvbnZlcnQxM2IoZSx0LHIsaSl7dmFyIG49MDtmb3IodmFyIGE9MDthPHQ7YSsrKXtuPW4rKGVbYV18MCk7clsyKmFdPW4mODE5MTtuPW4+Pj4xMztyWzIqYSsxXT1uJjgxOTE7bj1uPj4+MTN9Zm9yKGE9Mip0O2E8aTsrK2Epe3JbYV09MH1hc3NlcnQobj09PTApO2Fzc2VydCgobiZ+ODE5MSk9PT0wKX07RkZUTS5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbiBzdHViKGUpe3ZhciB0PW5ldyBBcnJheShlKTtmb3IodmFyIHI9MDtyPGU7cisrKXt0W3JdPTB9cmV0dXJuIHR9O0ZGVE0ucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24gbXVscChlLHQscil7dmFyIGk9Mip0aGlzLmd1ZXNzTGVuMTNiKGUubGVuZ3RoLHQubGVuZ3RoKTt2YXIgbj10aGlzLm1ha2VSQlQoaSk7dmFyIGE9dGhpcy5zdHViKGkpO3ZhciBzPW5ldyBBcnJheShpKTt2YXIgbz1uZXcgQXJyYXkoaSk7dmFyIGg9bmV3IEFycmF5KGkpO3ZhciB1PW5ldyBBcnJheShpKTt2YXIgZD1uZXcgQXJyYXkoaSk7dmFyIGM9bmV3IEFycmF5KGkpO3ZhciBsPXIud29yZHM7bC5sZW5ndGg9aTt0aGlzLmNvbnZlcnQxM2IoZS53b3JkcyxlLmxlbmd0aCxzLGkpO3RoaXMuY29udmVydDEzYih0LndvcmRzLHQubGVuZ3RoLHUsaSk7dGhpcy50cmFuc2Zvcm0ocyxhLG8saCxpLG4pO3RoaXMudHJhbnNmb3JtKHUsYSxkLGMsaSxuKTtmb3IodmFyIHA9MDtwPGk7cCsrKXt2YXIgdj1vW3BdKmRbcF0taFtwXSpjW3BdO2hbcF09b1twXSpjW3BdK2hbcF0qZFtwXTtvW3BdPXZ9dGhpcy5jb25qdWdhdGUobyxoLGkpO3RoaXMudHJhbnNmb3JtKG8saCxsLGEsaSxuKTt0aGlzLmNvbmp1Z2F0ZShsLGEsaSk7dGhpcy5ub3JtYWxpemUxM2IobCxpKTtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZTtyLmxlbmd0aD1lLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gci5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLm11bD1mdW5jdGlvbiBtdWwoZSl7dmFyIHQ9bmV3IEJOKG51bGwpO3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK2UubGVuZ3RoKTtyZXR1cm4gdGhpcy5tdWxUbyhlLHQpfTtCTi5wcm90b3R5cGUubXVsZj1mdW5jdGlvbiBtdWxmKGUpe3ZhciB0PW5ldyBCTihudWxsKTt0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtlLmxlbmd0aCk7cmV0dXJuIGp1bWJvTXVsVG8odGhpcyxlLHQpfTtCTi5wcm90b3R5cGUuaW11bD1mdW5jdGlvbiBpbXVsKGUpe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8oZSx0aGlzKX07Qk4ucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uIGltdWxuKGUpe3ZhciB0PWU8MDtpZih0KWU9LWU7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIik7YXNzZXJ0KGU8NjcxMDg4NjQpO3ZhciByPTA7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciBuPSh0aGlzLndvcmRzW2ldfDApKmU7dmFyIGE9KG4mNjcxMDg4NjMpKyhyJjY3MTA4ODYzKTtyPj49MjY7cis9bi82NzEwODg2NHwwO3IrPWE+Pj4yNjt0aGlzLndvcmRzW2ldPWEmNjcxMDg4NjN9aWYociE9PTApe3RoaXMud29yZHNbaV09cjt0aGlzLmxlbmd0aCsrfXJldHVybiB0P3RoaXMuaW5lZygpOnRoaXN9O0JOLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uIG11bG4oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihlKX07Qk4ucHJvdG90eXBlLnNxcj1mdW5jdGlvbiBzcXIoKXtyZXR1cm4gdGhpcy5tdWwodGhpcyl9O0JOLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uIGlzcXIoKXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9O0JOLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24gcG93KGUpe3ZhciB0PXRvQml0QXJyYXkoZSk7aWYodC5sZW5ndGg9PT0wKXJldHVybiBuZXcgQk4oMSk7dmFyIHI9dGhpcztmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyxyPXIuc3FyKCkpe2lmKHRbaV0hPT0wKWJyZWFrfWlmKCsraTx0Lmxlbmd0aCl7Zm9yKHZhciBuPXIuc3FyKCk7aTx0Lmxlbmd0aDtpKyssbj1uLnNxcigpKXtpZih0W2ldPT09MCljb250aW51ZTtyPXIubXVsKG4pfX1yZXR1cm4gcn07Qk4ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbiBpdXNobG4oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIiYmZT49MCk7dmFyIHQ9ZSUyNjt2YXIgcj0oZS10KS8yNjt2YXIgaT02NzEwODg2Mz4+PjI2LXQ8PDI2LXQ7dmFyIG47aWYodCE9PTApe3ZhciBhPTA7Zm9yKG49MDtuPHRoaXMubGVuZ3RoO24rKyl7dmFyIHM9dGhpcy53b3Jkc1tuXSZpO3ZhciBvPSh0aGlzLndvcmRzW25dfDApLXM8PHQ7dGhpcy53b3Jkc1tuXT1vfGE7YT1zPj4+MjYtdH1pZihhKXt0aGlzLndvcmRzW25dPWE7dGhpcy5sZW5ndGgrK319aWYociE9PTApe2ZvcihuPXRoaXMubGVuZ3RoLTE7bj49MDtuLS0pe3RoaXMud29yZHNbbityXT10aGlzLndvcmRzW25dfWZvcihuPTA7bjxyO24rKyl7dGhpcy53b3Jkc1tuXT0wfXRoaXMubGVuZ3RoKz1yfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24gaXNobG4oZSl7YXNzZXJ0KHRoaXMubmVnYXRpdmU9PT0wKTtyZXR1cm4gdGhpcy5pdXNobG4oZSl9O0JOLnByb3RvdHlwZS5pdXNocm49ZnVuY3Rpb24gaXVzaHJuKGUsdCxyKXthc3NlcnQodHlwZW9mIGU9PT1cIm51bWJlclwiJiZlPj0wKTt2YXIgaTtpZih0KXtpPSh0LXQlMjYpLzI2fWVsc2V7aT0wfXZhciBuPWUlMjY7dmFyIGE9TWF0aC5taW4oKGUtbikvMjYsdGhpcy5sZW5ndGgpO3ZhciBzPTY3MTA4ODYzXjY3MTA4ODYzPj4+bjw8bjt2YXIgbz1yO2ktPWE7aT1NYXRoLm1heCgwLGkpO2lmKG8pe2Zvcih2YXIgaD0wO2g8YTtoKyspe28ud29yZHNbaF09dGhpcy53b3Jkc1toXX1vLmxlbmd0aD1hfWlmKGE9PT0wKXt9ZWxzZSBpZih0aGlzLmxlbmd0aD5hKXt0aGlzLmxlbmd0aC09YTtmb3IoaD0wO2g8dGhpcy5sZW5ndGg7aCsrKXt0aGlzLndvcmRzW2hdPXRoaXMud29yZHNbaCthXX19ZWxzZXt0aGlzLndvcmRzWzBdPTA7dGhpcy5sZW5ndGg9MX12YXIgdT0wO2ZvcihoPXRoaXMubGVuZ3RoLTE7aD49MCYmKHUhPT0wfHxoPj1pKTtoLS0pe3ZhciBkPXRoaXMud29yZHNbaF18MDt0aGlzLndvcmRzW2hdPXU8PDI2LW58ZD4+Pm47dT1kJnN9aWYobyYmdSE9PTApe28ud29yZHNbby5sZW5ndGgrK109dX1pZih0aGlzLmxlbmd0aD09PTApe3RoaXMud29yZHNbMF09MDt0aGlzLmxlbmd0aD0xfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24gaXNocm4oZSx0LHIpe2Fzc2VydCh0aGlzLm5lZ2F0aXZlPT09MCk7cmV0dXJuIHRoaXMuaXVzaHJuKGUsdCxyKX07Qk4ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24gc2hsbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGUpfTtCTi5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24gdXNobG4oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oZSl9O0JOLnByb3RvdHlwZS5zaHJuPWZ1bmN0aW9uIHNocm4oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihlKX07Qk4ucHJvdG90eXBlLnVzaHJuPWZ1bmN0aW9uIHVzaHJuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGUpfTtCTi5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24gdGVzdG4oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIiYmZT49MCk7dmFyIHQ9ZSUyNjt2YXIgcj0oZS10KS8yNjt2YXIgaT0xPDx0O2lmKHRoaXMubGVuZ3RoPD1yKXJldHVybiBmYWxzZTt2YXIgbj10aGlzLndvcmRzW3JdO3JldHVybiEhKG4maSl9O0JOLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24gaW1hc2tuKGUpe2Fzc2VydCh0eXBlb2YgZT09PVwibnVtYmVyXCImJmU+PTApO3ZhciB0PWUlMjY7dmFyIHI9KGUtdCkvMjY7YXNzZXJ0KHRoaXMubmVnYXRpdmU9PT0wLFwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzXCIpO2lmKHRoaXMubGVuZ3RoPD1yKXtyZXR1cm4gdGhpc31pZih0IT09MCl7cisrfXRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpO2lmKHQhPT0wKXt2YXIgaT02NzEwODg2M142NzEwODg2Mz4+PnQ8PHQ7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9aX1yZXR1cm4gdGhpcy5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uIG1hc2tuKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGUpfTtCTi5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24gaWFkZG4oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIik7YXNzZXJ0KGU8NjcxMDg4NjQpO2lmKGU8MClyZXR1cm4gdGhpcy5pc3VibigtZSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApe2lmKHRoaXMubGVuZ3RoPT09MSYmKHRoaXMud29yZHNbMF18MCk8PWUpe3RoaXMud29yZHNbMF09ZS0odGhpcy53b3Jkc1swXXwwKTt0aGlzLm5lZ2F0aXZlPTA7cmV0dXJuIHRoaXN9dGhpcy5uZWdhdGl2ZT0wO3RoaXMuaXN1Ym4oZSk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzfXJldHVybiB0aGlzLl9pYWRkbihlKX07Qk4ucHJvdG90eXBlLl9pYWRkbj1mdW5jdGlvbiBfaWFkZG4oZSl7dGhpcy53b3Jkc1swXSs9ZTtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW3RdPj02NzEwODg2NDt0Kyspe3RoaXMud29yZHNbdF0tPTY3MTA4ODY0O2lmKHQ9PT10aGlzLmxlbmd0aC0xKXt0aGlzLndvcmRzW3QrMV09MX1lbHNle3RoaXMud29yZHNbdCsxXSsrfX10aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCx0KzEpO3JldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24gaXN1Ym4oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIik7YXNzZXJ0KGU8NjcxMDg4NjQpO2lmKGU8MClyZXR1cm4gdGhpcy5pYWRkbigtZSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmlhZGRuKGUpO3RoaXMubmVnYXRpdmU9MTtyZXR1cm4gdGhpc310aGlzLndvcmRzWzBdLT1lO2lmKHRoaXMubGVuZ3RoPT09MSYmdGhpcy53b3Jkc1swXTwwKXt0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdO3RoaXMubmVnYXRpdmU9MX1lbHNle2Zvcih2YXIgdD0wO3Q8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbdF08MDt0Kyspe3RoaXMud29yZHNbdF0rPTY3MTA4ODY0O3RoaXMud29yZHNbdCsxXS09MX19cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uIGFkZG4oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihlKX07Qk4ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24gc3VibihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKGUpfTtCTi5wcm90b3R5cGUuaWFicz1mdW5jdGlvbiBpYWJzKCl7dGhpcy5uZWdhdGl2ZT0wO3JldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uIGFicygpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfTtCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uIF9pc2hsbnN1Ym11bChlLHQscil7dmFyIGk9ZS5sZW5ndGgrcjt2YXIgbjt0aGlzLl9leHBhbmQoaSk7dmFyIGE7dmFyIHM9MDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKXthPSh0aGlzLndvcmRzW24rcl18MCkrczt2YXIgbz0oZS53b3Jkc1tuXXwwKSp0O2EtPW8mNjcxMDg4NjM7cz0oYT4+MjYpLShvLzY3MTA4ODY0fDApO3RoaXMud29yZHNbbityXT1hJjY3MTA4ODYzfWZvcig7bjx0aGlzLmxlbmd0aC1yO24rKyl7YT0odGhpcy53b3Jkc1tuK3JdfDApK3M7cz1hPj4yNjt0aGlzLndvcmRzW24rcl09YSY2NzEwODg2M31pZihzPT09MClyZXR1cm4gdGhpcy5fc3RyaXAoKTthc3NlcnQocz09PS0xKTtzPTA7Zm9yKG49MDtuPHRoaXMubGVuZ3RoO24rKyl7YT0tKHRoaXMud29yZHNbbl18MCkrcztzPWE+PjI2O3RoaXMud29yZHNbbl09YSY2NzEwODg2M310aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbiBfd29yZERpdihlLHQpe3ZhciByPXRoaXMubGVuZ3RoLWUubGVuZ3RoO3ZhciBpPXRoaXMuY2xvbmUoKTt2YXIgbj1lO3ZhciBhPW4ud29yZHNbbi5sZW5ndGgtMV18MDt2YXIgcz10aGlzLl9jb3VudEJpdHMoYSk7cj0yNi1zO2lmKHIhPT0wKXtuPW4udXNobG4ocik7aS5pdXNobG4ocik7YT1uLndvcmRzW24ubGVuZ3RoLTFdfDB9dmFyIG89aS5sZW5ndGgtbi5sZW5ndGg7dmFyIGg7aWYodCE9PVwibW9kXCIpe2g9bmV3IEJOKG51bGwpO2gubGVuZ3RoPW8rMTtoLndvcmRzPW5ldyBBcnJheShoLmxlbmd0aCk7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1Kyspe2gud29yZHNbdV09MH19dmFyIGQ9aS5jbG9uZSgpLl9pc2hsbnN1Ym11bChuLDEsbyk7aWYoZC5uZWdhdGl2ZT09PTApe2k9ZDtpZihoKXtoLndvcmRzW29dPTF9fWZvcih2YXIgYz1vLTE7Yz49MDtjLS0pe3ZhciBsPShpLndvcmRzW24ubGVuZ3RoK2NdfDApKjY3MTA4ODY0KyhpLndvcmRzW24ubGVuZ3RoK2MtMV18MCk7bD1NYXRoLm1pbihsL2F8MCw2NzEwODg2Myk7aS5faXNobG5zdWJtdWwobixsLGMpO3doaWxlKGkubmVnYXRpdmUhPT0wKXtsLS07aS5uZWdhdGl2ZT0wO2kuX2lzaGxuc3VibXVsKG4sMSxjKTtpZighaS5pc1plcm8oKSl7aS5uZWdhdGl2ZV49MX19aWYoaCl7aC53b3Jkc1tjXT1sfX1pZihoKXtoLl9zdHJpcCgpfWkuX3N0cmlwKCk7aWYodCE9PVwiZGl2XCImJnIhPT0wKXtpLml1c2hybihyKX1yZXR1cm57ZGl2Omh8fG51bGwsbW9kOml9fTtCTi5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uIGRpdm1vZChlLHQscil7YXNzZXJ0KCFlLmlzWmVybygpKTtpZih0aGlzLmlzWmVybygpKXtyZXR1cm57ZGl2Om5ldyBCTigwKSxtb2Q6bmV3IEJOKDApfX12YXIgaSxuLGE7aWYodGhpcy5uZWdhdGl2ZSE9PTAmJmUubmVnYXRpdmU9PT0wKXthPXRoaXMubmVnKCkuZGl2bW9kKGUsdCk7aWYodCE9PVwibW9kXCIpe2k9YS5kaXYubmVnKCl9aWYodCE9PVwiZGl2XCIpe249YS5tb2QubmVnKCk7aWYociYmbi5uZWdhdGl2ZSE9PTApe24uaWFkZChlKX19cmV0dXJue2RpdjppLG1vZDpufX1pZih0aGlzLm5lZ2F0aXZlPT09MCYmZS5uZWdhdGl2ZSE9PTApe2E9dGhpcy5kaXZtb2QoZS5uZWcoKSx0KTtpZih0IT09XCJtb2RcIil7aT1hLmRpdi5uZWcoKX1yZXR1cm57ZGl2OmksbW9kOmEubW9kfX1pZigodGhpcy5uZWdhdGl2ZSZlLm5lZ2F0aXZlKSE9PTApe2E9dGhpcy5uZWcoKS5kaXZtb2QoZS5uZWcoKSx0KTtpZih0IT09XCJkaXZcIil7bj1hLm1vZC5uZWcoKTtpZihyJiZuLm5lZ2F0aXZlIT09MCl7bi5pc3ViKGUpfX1yZXR1cm57ZGl2OmEuZGl2LG1vZDpufX1pZihlLmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAoZSk8MCl7cmV0dXJue2RpdjpuZXcgQk4oMCksbW9kOnRoaXN9fWlmKGUubGVuZ3RoPT09MSl7aWYodD09PVwiZGl2XCIpe3JldHVybntkaXY6dGhpcy5kaXZuKGUud29yZHNbMF0pLG1vZDpudWxsfX1pZih0PT09XCJtb2RcIil7cmV0dXJue2RpdjpudWxsLG1vZDpuZXcgQk4odGhpcy5tb2RybihlLndvcmRzWzBdKSl9fXJldHVybntkaXY6dGhpcy5kaXZuKGUud29yZHNbMF0pLG1vZDpuZXcgQk4odGhpcy5tb2RybihlLndvcmRzWzBdKSl9fXJldHVybiB0aGlzLl93b3JkRGl2KGUsdCl9O0JOLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24gZGl2KGUpe3JldHVybiB0aGlzLmRpdm1vZChlLFwiZGl2XCIsZmFsc2UpLmRpdn07Qk4ucHJvdG90eXBlLm1vZD1mdW5jdGlvbiBtb2QoZSl7cmV0dXJuIHRoaXMuZGl2bW9kKGUsXCJtb2RcIixmYWxzZSkubW9kfTtCTi5wcm90b3R5cGUudW1vZD1mdW5jdGlvbiB1bW9kKGUpe3JldHVybiB0aGlzLmRpdm1vZChlLFwibW9kXCIsdHJ1ZSkubW9kfTtCTi5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24gZGl2Um91bmQoZSl7dmFyIHQ9dGhpcy5kaXZtb2QoZSk7aWYodC5tb2QuaXNaZXJvKCkpcmV0dXJuIHQuZGl2O3ZhciByPXQuZGl2Lm5lZ2F0aXZlIT09MD90Lm1vZC5pc3ViKGUpOnQubW9kO3ZhciBpPWUudXNocm4oMSk7dmFyIG49ZS5hbmRsbigxKTt2YXIgYT1yLmNtcChpKTtpZihhPDB8fG49PT0xJiZhPT09MClyZXR1cm4gdC5kaXY7cmV0dXJuIHQuZGl2Lm5lZ2F0aXZlIT09MD90LmRpdi5pc3VibigxKTp0LmRpdi5pYWRkbigxKX07Qk4ucHJvdG90eXBlLm1vZHJuPWZ1bmN0aW9uIG1vZHJuKGUpe3ZhciB0PWU8MDtpZih0KWU9LWU7YXNzZXJ0KGU8PTY3MTA4ODYzKTt2YXIgcj0oMTw8MjYpJWU7dmFyIGk9MDtmb3IodmFyIG49dGhpcy5sZW5ndGgtMTtuPj0wO24tLSl7aT0ocippKyh0aGlzLndvcmRzW25dfDApKSVlfXJldHVybiB0Py1pOml9O0JOLnByb3RvdHlwZS5tb2RuPWZ1bmN0aW9uIG1vZG4oZSl7cmV0dXJuIHRoaXMubW9kcm4oZSl9O0JOLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbiBpZGl2bihlKXt2YXIgdD1lPDA7aWYodCllPS1lO2Fzc2VydChlPD02NzEwODg2Myk7dmFyIHI9MDtmb3IodmFyIGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSl7dmFyIG49KHRoaXMud29yZHNbaV18MCkrcio2NzEwODg2NDt0aGlzLndvcmRzW2ldPW4vZXwwO3I9biVlfXRoaXMuX3N0cmlwKCk7cmV0dXJuIHQ/dGhpcy5pbmVnKCk6dGhpc307Qk4ucHJvdG90eXBlLmRpdm49ZnVuY3Rpb24gZGl2bihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKGUpfTtCTi5wcm90b3R5cGUuZWdjZD1mdW5jdGlvbiBlZ2NkKGUpe2Fzc2VydChlLm5lZ2F0aXZlPT09MCk7YXNzZXJ0KCFlLmlzWmVybygpKTt2YXIgdD10aGlzO3ZhciByPWUuY2xvbmUoKTtpZih0Lm5lZ2F0aXZlIT09MCl7dD10LnVtb2QoZSl9ZWxzZXt0PXQuY2xvbmUoKX12YXIgaT1uZXcgQk4oMSk7dmFyIG49bmV3IEJOKDApO3ZhciBhPW5ldyBCTigwKTt2YXIgcz1uZXcgQk4oMSk7dmFyIG89MDt3aGlsZSh0LmlzRXZlbigpJiZyLmlzRXZlbigpKXt0Lml1c2hybigxKTtyLml1c2hybigxKTsrK299dmFyIGg9ci5jbG9uZSgpO3ZhciB1PXQuY2xvbmUoKTt3aGlsZSghdC5pc1plcm8oKSl7Zm9yKHZhciBkPTAsYz0xOyh0LndvcmRzWzBdJmMpPT09MCYmZDwyNjsrK2QsYzw8PTEpO2lmKGQ+MCl7dC5pdXNocm4oZCk7d2hpbGUoZC0tID4wKXtpZihpLmlzT2RkKCl8fG4uaXNPZGQoKSl7aS5pYWRkKGgpO24uaXN1Yih1KX1pLml1c2hybigxKTtuLml1c2hybigxKX19Zm9yKHZhciBsPTAscD0xOyhyLndvcmRzWzBdJnApPT09MCYmbDwyNjsrK2wscDw8PTEpO2lmKGw+MCl7ci5pdXNocm4obCk7d2hpbGUobC0tID4wKXtpZihhLmlzT2RkKCl8fHMuaXNPZGQoKSl7YS5pYWRkKGgpO3MuaXN1Yih1KX1hLml1c2hybigxKTtzLml1c2hybigxKX19aWYodC5jbXAocik+PTApe3QuaXN1YihyKTtpLmlzdWIoYSk7bi5pc3ViKHMpfWVsc2V7ci5pc3ViKHQpO2EuaXN1YihpKTtzLmlzdWIobil9fXJldHVybnthOmEsYjpzLGdjZDpyLml1c2hsbihvKX19O0JOLnByb3RvdHlwZS5faW52bXA9ZnVuY3Rpb24gX2ludm1wKGUpe2Fzc2VydChlLm5lZ2F0aXZlPT09MCk7YXNzZXJ0KCFlLmlzWmVybygpKTt2YXIgdD10aGlzO3ZhciByPWUuY2xvbmUoKTtpZih0Lm5lZ2F0aXZlIT09MCl7dD10LnVtb2QoZSl9ZWxzZXt0PXQuY2xvbmUoKX12YXIgaT1uZXcgQk4oMSk7dmFyIG49bmV3IEJOKDApO3ZhciBhPXIuY2xvbmUoKTt3aGlsZSh0LmNtcG4oMSk+MCYmci5jbXBuKDEpPjApe2Zvcih2YXIgcz0wLG89MTsodC53b3Jkc1swXSZvKT09PTAmJnM8MjY7KytzLG88PD0xKTtpZihzPjApe3QuaXVzaHJuKHMpO3doaWxlKHMtLSA+MCl7aWYoaS5pc09kZCgpKXtpLmlhZGQoYSl9aS5pdXNocm4oMSl9fWZvcih2YXIgaD0wLHU9MTsoci53b3Jkc1swXSZ1KT09PTAmJmg8MjY7KytoLHU8PD0xKTtpZihoPjApe3IuaXVzaHJuKGgpO3doaWxlKGgtLSA+MCl7aWYobi5pc09kZCgpKXtuLmlhZGQoYSl9bi5pdXNocm4oMSl9fWlmKHQuY21wKHIpPj0wKXt0LmlzdWIocik7aS5pc3ViKG4pfWVsc2V7ci5pc3ViKHQpO24uaXN1YihpKX19dmFyIGQ7aWYodC5jbXBuKDEpPT09MCl7ZD1pfWVsc2V7ZD1ufWlmKGQuY21wbigwKTwwKXtkLmlhZGQoZSl9cmV0dXJuIGR9O0JOLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24gZ2NkKGUpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIGUuYWJzKCk7aWYoZS5pc1plcm8oKSlyZXR1cm4gdGhpcy5hYnMoKTt2YXIgdD10aGlzLmNsb25lKCk7dmFyIHI9ZS5jbG9uZSgpO3QubmVnYXRpdmU9MDtyLm5lZ2F0aXZlPTA7Zm9yKHZhciBpPTA7dC5pc0V2ZW4oKSYmci5pc0V2ZW4oKTtpKyspe3QuaXVzaHJuKDEpO3IuaXVzaHJuKDEpfWRve3doaWxlKHQuaXNFdmVuKCkpe3QuaXVzaHJuKDEpfXdoaWxlKHIuaXNFdmVuKCkpe3IuaXVzaHJuKDEpfXZhciBuPXQuY21wKHIpO2lmKG48MCl7dmFyIGE9dDt0PXI7cj1hfWVsc2UgaWYobj09PTB8fHIuY21wbigxKT09PTApe2JyZWFrfXQuaXN1YihyKX13aGlsZSh0cnVlKTtyZXR1cm4gci5pdXNobG4oaSl9O0JOLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uIGludm0oZSl7cmV0dXJuIHRoaXMuZWdjZChlKS5hLnVtb2QoZSl9O0JOLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24gaXNFdmVuKCl7cmV0dXJuKHRoaXMud29yZHNbMF0mMSk9PT0wfTtCTi5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24gaXNPZGQoKXtyZXR1cm4odGhpcy53b3Jkc1swXSYxKT09PTF9O0JOLnByb3RvdHlwZS5hbmRsbj1mdW5jdGlvbiBhbmRsbihlKXtyZXR1cm4gdGhpcy53b3Jkc1swXSZlfTtCTi5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24gYmluY24oZSl7YXNzZXJ0KHR5cGVvZiBlPT09XCJudW1iZXJcIik7dmFyIHQ9ZSUyNjt2YXIgcj0oZS10KS8yNjt2YXIgaT0xPDx0O2lmKHRoaXMubGVuZ3RoPD1yKXt0aGlzLl9leHBhbmQocisxKTt0aGlzLndvcmRzW3JdfD1pO3JldHVybiB0aGlzfXZhciBuPWk7Zm9yKHZhciBhPXI7biE9PTAmJmE8dGhpcy5sZW5ndGg7YSsrKXt2YXIgcz10aGlzLndvcmRzW2FdfDA7cys9bjtuPXM+Pj4yNjtzJj02NzEwODg2Mzt0aGlzLndvcmRzW2FdPXN9aWYobiE9PTApe3RoaXMud29yZHNbYV09bjt0aGlzLmxlbmd0aCsrfXJldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXNaZXJvPWZ1bmN0aW9uIGlzWmVybygpe3JldHVybiB0aGlzLmxlbmd0aD09PTEmJnRoaXMud29yZHNbMF09PT0wfTtCTi5wcm90b3R5cGUuY21wbj1mdW5jdGlvbiBjbXBuKGUpe3ZhciB0PWU8MDtpZih0aGlzLm5lZ2F0aXZlIT09MCYmIXQpcmV0dXJuLTE7aWYodGhpcy5uZWdhdGl2ZT09PTAmJnQpcmV0dXJuIDE7dGhpcy5fc3RyaXAoKTt2YXIgcjtpZih0aGlzLmxlbmd0aD4xKXtyPTF9ZWxzZXtpZih0KXtlPS1lfWFzc2VydChlPD02NzEwODg2MyxcIk51bWJlciBpcyB0b28gYmlnXCIpO3ZhciBpPXRoaXMud29yZHNbMF18MDtyPWk9PT1lPzA6aTxlPy0xOjF9aWYodGhpcy5uZWdhdGl2ZSE9PTApcmV0dXJuLXJ8MDtyZXR1cm4gcn07Qk4ucHJvdG90eXBlLmNtcD1mdW5jdGlvbiBjbXAoZSl7aWYodGhpcy5uZWdhdGl2ZSE9PTAmJmUubmVnYXRpdmU9PT0wKXJldHVybi0xO2lmKHRoaXMubmVnYXRpdmU9PT0wJiZlLm5lZ2F0aXZlIT09MClyZXR1cm4gMTt2YXIgdD10aGlzLnVjbXAoZSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApcmV0dXJuLXR8MDtyZXR1cm4gdH07Qk4ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24gdWNtcChlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDxlLmxlbmd0aClyZXR1cm4tMTt2YXIgdD0wO2Zvcih2YXIgcj10aGlzLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgaT10aGlzLndvcmRzW3JdfDA7dmFyIG49ZS53b3Jkc1tyXXwwO2lmKGk9PT1uKWNvbnRpbnVlO2lmKGk8bil7dD0tMX1lbHNlIGlmKGk+bil7dD0xfWJyZWFrfXJldHVybiB0fTtCTi5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uIGd0bihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPT09MX07Qk4ucHJvdG90eXBlLmd0PWZ1bmN0aW9uIGd0KGUpe3JldHVybiB0aGlzLmNtcChlKT09PTF9O0JOLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uIGd0ZW4oZSl7cmV0dXJuIHRoaXMuY21wbihlKT49MH07Qk4ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbiBndGUoZSl7cmV0dXJuIHRoaXMuY21wKGUpPj0wfTtCTi5wcm90b3R5cGUubHRuPWZ1bmN0aW9uIGx0bihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPT09LTF9O0JOLnByb3RvdHlwZS5sdD1mdW5jdGlvbiBsdChlKXtyZXR1cm4gdGhpcy5jbXAoZSk9PT0tMX07Qk4ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24gbHRlbihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPD0wfTtCTi5wcm90b3R5cGUubHRlPWZ1bmN0aW9uIGx0ZShlKXtyZXR1cm4gdGhpcy5jbXAoZSk8PTB9O0JOLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24gZXFuKGUpe3JldHVybiB0aGlzLmNtcG4oZSk9PT0wfTtCTi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24gZXEoZSl7cmV0dXJuIHRoaXMuY21wKGUpPT09MH07Qk4ucmVkPWZ1bmN0aW9uIHJlZChlKXtyZXR1cm4gbmV3IFJlZChlKX07Qk4ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uIHRvUmVkKGUpe2Fzc2VydCghdGhpcy5yZWQsXCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0XCIpO2Fzc2VydCh0aGlzLm5lZ2F0aXZlPT09MCxcInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzXCIpO3JldHVybiBlLmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoZSl9O0JOLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uIGZyb21SZWQoKXthc3NlcnQodGhpcy5yZWQsXCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0XCIpO3JldHVybiB0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX07Qk4ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbiBfZm9yY2VSZWQoZSl7dGhpcy5yZWQ9ZTtyZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uIGZvcmNlUmVkKGUpe2Fzc2VydCghdGhpcy5yZWQsXCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0XCIpO3JldHVybiB0aGlzLl9mb3JjZVJlZChlKX07Qk4ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbiByZWRBZGQoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTtyZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uIHJlZElBZGQoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7cmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcyxlKX07Qk4ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbiByZWRTdWIoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTtyZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uIHJlZElTdWIoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7cmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcyxlKX07Qk4ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbiByZWRTaGwoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTtyZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24gcmVkTXVsKGUpe2Fzc2VydCh0aGlzLnJlZCxcInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7dGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxlKTtyZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uIHJlZElNdWwoZSl7YXNzZXJ0KHRoaXMucmVkLFwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTt0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGUpO3JldHVybiB0aGlzLnJlZC5pbXVsKHRoaXMsZSl9O0JOLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24gcmVkU3FyKCl7YXNzZXJ0KHRoaXMucmVkLFwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbiByZWRJU3FyKCl7YXNzZXJ0KHRoaXMucmVkLFwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyl9O0JOLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uIHJlZFNxcnQoKXthc3NlcnQodGhpcy5yZWQsXCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKX07Qk4ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24gcmVkSW52bSgpe2Fzc2VydCh0aGlzLnJlZCxcInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzXCIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uIHJlZE5lZygpe2Fzc2VydCh0aGlzLnJlZCxcInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKX07Qk4ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbiByZWRQb3coZSl7YXNzZXJ0KHRoaXMucmVkJiYhZS5yZWQsXCJyZWRQb3cobm9ybWFsTnVtKVwiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsZSl9O3ZhciB1PXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24gTVByaW1lKGUsdCl7dGhpcy5uYW1lPWU7dGhpcy5wPW5ldyBCTih0LDE2KTt0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpO3RoaXMuaz1uZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO3RoaXMudG1wPXRoaXMuX3RtcCgpfU1QcmltZS5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbiBfdG1wKCl7dmFyIGU9bmV3IEJOKG51bGwpO2Uud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKTtyZXR1cm4gZX07TVByaW1lLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uIGlyZWR1Y2UoZSl7dmFyIHQ9ZTt2YXIgcjtkb3t0aGlzLnNwbGl0KHQsdGhpcy50bXApO3Q9dGhpcy5pbXVsSyh0KTt0PXQuaWFkZCh0aGlzLnRtcCk7cj10LmJpdExlbmd0aCgpfXdoaWxlKHI+dGhpcy5uKTt2YXIgaT1yPHRoaXMubj8tMTp0LnVjbXAodGhpcy5wKTtpZihpPT09MCl7dC53b3Jkc1swXT0wO3QubGVuZ3RoPTF9ZWxzZSBpZihpPjApe3QuaXN1Yih0aGlzLnApfWVsc2V7aWYodC5zdHJpcCE9PXVuZGVmaW5lZCl7dC5zdHJpcCgpfWVsc2V7dC5fc3RyaXAoKX19cmV0dXJuIHR9O01QcmltZS5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24gc3BsaXQoZSx0KXtlLml1c2hybih0aGlzLm4sMCx0KX07TVByaW1lLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbiBpbXVsSyhlKXtyZXR1cm4gZS5pbXVsKHRoaXMuayl9O2Z1bmN0aW9uIEsyNTYoKXtNUHJpbWUuY2FsbCh0aGlzLFwiazI1NlwiLFwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmZcIil9aW5oZXJpdHMoSzI1NixNUHJpbWUpO0syNTYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uIHNwbGl0KGUsdCl7dmFyIHI9NDE5NDMwMzt2YXIgaT1NYXRoLm1pbihlLmxlbmd0aCw5KTtmb3IodmFyIG49MDtuPGk7bisrKXt0LndvcmRzW25dPWUud29yZHNbbl19dC5sZW5ndGg9aTtpZihlLmxlbmd0aDw9OSl7ZS53b3Jkc1swXT0wO2UubGVuZ3RoPTE7cmV0dXJufXZhciBhPWUud29yZHNbOV07dC53b3Jkc1t0Lmxlbmd0aCsrXT1hJnI7Zm9yKG49MTA7bjxlLmxlbmd0aDtuKyspe3ZhciBzPWUud29yZHNbbl18MDtlLndvcmRzW24tMTBdPShzJnIpPDw0fGE+Pj4yMjthPXN9YT4+Pj0yMjtlLndvcmRzW24tMTBdPWE7aWYoYT09PTAmJmUubGVuZ3RoPjEwKXtlLmxlbmd0aC09MTB9ZWxzZXtlLmxlbmd0aC09OX19O0syNTYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uIGltdWxLKGUpe2Uud29yZHNbZS5sZW5ndGhdPTA7ZS53b3Jkc1tlLmxlbmd0aCsxXT0wO2UubGVuZ3RoKz0yO3ZhciB0PTA7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPWUud29yZHNbcl18MDt0Kz1pKjk3NztlLndvcmRzW3JdPXQmNjcxMDg4NjM7dD1pKjY0Kyh0LzY3MTA4ODY0fDApfWlmKGUud29yZHNbZS5sZW5ndGgtMV09PT0wKXtlLmxlbmd0aC0tO2lmKGUud29yZHNbZS5sZW5ndGgtMV09PT0wKXtlLmxlbmd0aC0tfX1yZXR1cm4gZX07ZnVuY3Rpb24gUDIyNCgpe01QcmltZS5jYWxsKHRoaXMsXCJwMjI0XCIsXCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMVwiKX1pbmhlcml0cyhQMjI0LE1QcmltZSk7ZnVuY3Rpb24gUDE5Migpe01QcmltZS5jYWxsKHRoaXMsXCJwMTkyXCIsXCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZlwiKX1pbmhlcml0cyhQMTkyLE1QcmltZSk7ZnVuY3Rpb24gUDI1NTE5KCl7TVByaW1lLmNhbGwodGhpcyxcIjI1NTE5XCIsXCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkXCIpfWluaGVyaXRzKFAyNTUxOSxNUHJpbWUpO1AyNTUxOS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24gaW11bEsoZSl7dmFyIHQ9MDtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIGk9KGUud29yZHNbcl18MCkqMTkrdDt2YXIgbj1pJjY3MTA4ODYzO2k+Pj49MjY7ZS53b3Jkc1tyXT1uO3Q9aX1pZih0IT09MCl7ZS53b3Jkc1tlLmxlbmd0aCsrXT10fXJldHVybiBlfTtCTi5fcHJpbWU9ZnVuY3Rpb24gcHJpbWUoZSl7aWYodVtlXSlyZXR1cm4gdVtlXTt2YXIgcHJpbWU7aWYoZT09PVwiazI1NlwiKXtwcmltZT1uZXcgSzI1Nn1lbHNlIGlmKGU9PT1cInAyMjRcIil7cHJpbWU9bmV3IFAyMjR9ZWxzZSBpZihlPT09XCJwMTkyXCIpe3ByaW1lPW5ldyBQMTkyfWVsc2UgaWYoZT09PVwicDI1NTE5XCIpe3ByaW1lPW5ldyBQMjU1MTl9ZWxzZXt0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHByaW1lIFwiK2UpfXVbZV09cHJpbWU7cmV0dXJuIHByaW1lfTtmdW5jdGlvbiBSZWQoZSl7aWYodHlwZW9mIGU9PT1cInN0cmluZ1wiKXt2YXIgdD1CTi5fcHJpbWUoZSk7dGhpcy5tPXQucDt0aGlzLnByaW1lPXR9ZWxzZXthc3NlcnQoZS5ndG4oMSksXCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDFcIik7dGhpcy5tPWU7dGhpcy5wcmltZT1udWxsfX1SZWQucHJvdG90eXBlLl92ZXJpZnkxPWZ1bmN0aW9uIF92ZXJpZnkxKGUpe2Fzc2VydChlLm5lZ2F0aXZlPT09MCxcInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzXCIpO2Fzc2VydChlLnJlZCxcInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnNcIil9O1JlZC5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24gX3ZlcmlmeTIoZSx0KXthc3NlcnQoKGUubmVnYXRpdmV8dC5uZWdhdGl2ZSk9PT0wLFwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXNcIik7YXNzZXJ0KGUucmVkJiZlLnJlZD09PXQucmVkLFwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVyc1wiKX07UmVkLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uIGltb2QoZSl7aWYodGhpcy5wcmltZSlyZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGUpLl9mb3JjZVJlZCh0aGlzKTttb3ZlKGUsZS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpKTtyZXR1cm4gZX07UmVkLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24gbmVnKGUpe2lmKGUuaXNaZXJvKCkpe3JldHVybiBlLmNsb25lKCl9cmV0dXJuIHRoaXMubS5zdWIoZSkuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLmFkZD1mdW5jdGlvbiBhZGQoZSx0KXt0aGlzLl92ZXJpZnkyKGUsdCk7dmFyIHI9ZS5hZGQodCk7aWYoci5jbXAodGhpcy5tKT49MCl7ci5pc3ViKHRoaXMubSl9cmV0dXJuIHIuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24gaWFkZChlLHQpe3RoaXMuX3ZlcmlmeTIoZSx0KTt2YXIgcj1lLmlhZGQodCk7aWYoci5jbXAodGhpcy5tKT49MCl7ci5pc3ViKHRoaXMubSl9cmV0dXJuIHJ9O1JlZC5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uIHN1YihlLHQpe3RoaXMuX3ZlcmlmeTIoZSx0KTt2YXIgcj1lLnN1Yih0KTtpZihyLmNtcG4oMCk8MCl7ci5pYWRkKHRoaXMubSl9cmV0dXJuIHIuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24gaXN1YihlLHQpe3RoaXMuX3ZlcmlmeTIoZSx0KTt2YXIgcj1lLmlzdWIodCk7aWYoci5jbXBuKDApPDApe3IuaWFkZCh0aGlzLm0pfXJldHVybiByfTtSZWQucHJvdG90eXBlLnNobD1mdW5jdGlvbiBzaGwoZSx0KXt0aGlzLl92ZXJpZnkxKGUpO3JldHVybiB0aGlzLmltb2QoZS51c2hsbih0KSl9O1JlZC5wcm90b3R5cGUuaW11bD1mdW5jdGlvbiBpbXVsKGUsdCl7dGhpcy5fdmVyaWZ5MihlLHQpO3JldHVybiB0aGlzLmltb2QoZS5pbXVsKHQpKX07UmVkLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKGUsdCl7dGhpcy5fdmVyaWZ5MihlLHQpO3JldHVybiB0aGlzLmltb2QoZS5tdWwodCkpfTtSZWQucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24gaXNxcihlKXtyZXR1cm4gdGhpcy5pbXVsKGUsZS5jbG9uZSgpKX07UmVkLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24gc3FyKGUpe3JldHVybiB0aGlzLm11bChlLGUpfTtSZWQucHJvdG90eXBlLnNxcnQ9ZnVuY3Rpb24gc3FydChlKXtpZihlLmlzWmVybygpKXJldHVybiBlLmNsb25lKCk7dmFyIHQ9dGhpcy5tLmFuZGxuKDMpO2Fzc2VydCh0JTI9PT0xKTtpZih0PT09Myl7dmFyIHI9dGhpcy5tLmFkZChuZXcgQk4oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3coZSxyKX12YXIgaT10aGlzLm0uc3VibigxKTt2YXIgbj0wO3doaWxlKCFpLmlzWmVybygpJiZpLmFuZGxuKDEpPT09MCl7bisrO2kuaXVzaHJuKDEpfWFzc2VydCghaS5pc1plcm8oKSk7dmFyIGE9bmV3IEJOKDEpLnRvUmVkKHRoaXMpO3ZhciBzPWEucmVkTmVnKCk7dmFyIG89dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO3ZhciBoPXRoaXMubS5iaXRMZW5ndGgoKTtoPW5ldyBCTigyKmgqaCkudG9SZWQodGhpcyk7d2hpbGUodGhpcy5wb3coaCxvKS5jbXAocykhPT0wKXtoLnJlZElBZGQocyl9dmFyIHU9dGhpcy5wb3coaCxpKTt2YXIgZD10aGlzLnBvdyhlLGkuYWRkbigxKS5pdXNocm4oMSkpO3ZhciBjPXRoaXMucG93KGUsaSk7dmFyIGw9bjt3aGlsZShjLmNtcChhKSE9PTApe3ZhciBwPWM7Zm9yKHZhciB2PTA7cC5jbXAoYSkhPT0wO3YrKyl7cD1wLnJlZFNxcigpfWFzc2VydCh2PGwpO3ZhciBiPXRoaXMucG93KHUsbmV3IEJOKDEpLml1c2hsbihsLXYtMSkpO2Q9ZC5yZWRNdWwoYik7dT1iLnJlZFNxcigpO2M9Yy5yZWRNdWwodSk7bD12fXJldHVybiBkfTtSZWQucHJvdG90eXBlLmludm09ZnVuY3Rpb24gaW52bShlKXt2YXIgdD1lLl9pbnZtcCh0aGlzLm0pO2lmKHQubmVnYXRpdmUhPT0wKXt0Lm5lZ2F0aXZlPTA7cmV0dXJuIHRoaXMuaW1vZCh0KS5yZWROZWcoKX1lbHNle3JldHVybiB0aGlzLmltb2QodCl9fTtSZWQucHJvdG90eXBlLnBvdz1mdW5jdGlvbiBwb3coZSx0KXtpZih0LmlzWmVybygpKXJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7aWYodC5jbXBuKDEpPT09MClyZXR1cm4gZS5jbG9uZSgpO3ZhciByPTQ7dmFyIGk9bmV3IEFycmF5KDE8PHIpO2lbMF09bmV3IEJOKDEpLnRvUmVkKHRoaXMpO2lbMV09ZTtmb3IodmFyIG49MjtuPGkubGVuZ3RoO24rKyl7aVtuXT10aGlzLm11bChpW24tMV0sZSl9dmFyIGE9aVswXTt2YXIgcz0wO3ZhciBvPTA7dmFyIGg9dC5iaXRMZW5ndGgoKSUyNjtpZihoPT09MCl7aD0yNn1mb3Iobj10Lmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgdT10LndvcmRzW25dO2Zvcih2YXIgZD1oLTE7ZD49MDtkLS0pe3ZhciBjPXU+PmQmMTtpZihhIT09aVswXSl7YT10aGlzLnNxcihhKX1pZihjPT09MCYmcz09PTApe289MDtjb250aW51ZX1zPDw9MTtzfD1jO28rKztpZihvIT09ciYmKG4hPT0wfHxkIT09MCkpY29udGludWU7YT10aGlzLm11bChhLGlbc10pO289MDtzPTB9aD0yNn1yZXR1cm4gYX07UmVkLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24gY29udmVydFRvKGUpe3ZhciB0PWUudW1vZCh0aGlzLm0pO3JldHVybiB0PT09ZT90LmNsb25lKCk6dH07UmVkLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbiBjb252ZXJ0RnJvbShlKXt2YXIgdD1lLmNsb25lKCk7dC5yZWQ9bnVsbDtyZXR1cm4gdH07Qk4ubW9udD1mdW5jdGlvbiBtb250KGUpe3JldHVybiBuZXcgTW9udChlKX07ZnVuY3Rpb24gTW9udChlKXtSZWQuY2FsbCh0aGlzLGUpO3RoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpO2lmKHRoaXMuc2hpZnQlMjYhPT0wKXt0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2fXRoaXMucj1uZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO3RoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7dGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKTt0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO3RoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpO3RoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9aW5oZXJpdHMoTW9udCxSZWQpO01vbnQucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbiBjb252ZXJ0VG8oZSl7cmV0dXJuIHRoaXMuaW1vZChlLnVzaGxuKHRoaXMuc2hpZnQpKX07TW9udC5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24gY29udmVydEZyb20oZSl7dmFyIHQ9dGhpcy5pbW9kKGUubXVsKHRoaXMucmludikpO3QucmVkPW51bGw7cmV0dXJuIHR9O01vbnQucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24gaW11bChlLHQpe2lmKGUuaXNaZXJvKCl8fHQuaXNaZXJvKCkpe2Uud29yZHNbMF09MDtlLmxlbmd0aD0xO3JldHVybiBlfXZhciByPWUuaW11bCh0KTt2YXIgaT1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTt2YXIgbj1yLmlzdWIoaSkuaXVzaHJuKHRoaXMuc2hpZnQpO3ZhciBhPW47aWYobi5jbXAodGhpcy5tKT49MCl7YT1uLmlzdWIodGhpcy5tKX1lbHNlIGlmKG4uY21wbigwKTwwKXthPW4uaWFkZCh0aGlzLm0pfXJldHVybiBhLl9mb3JjZVJlZCh0aGlzKX07TW9udC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uIG11bChlLHQpe2lmKGUuaXNaZXJvKCl8fHQuaXNaZXJvKCkpcmV0dXJuIG5ldyBCTigwKS5fZm9yY2VSZWQodGhpcyk7dmFyIHI9ZS5tdWwodCk7dmFyIGk9ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7dmFyIG49ci5pc3ViKGkpLml1c2hybih0aGlzLnNoaWZ0KTt2YXIgYT1uO2lmKG4uY21wKHRoaXMubSk+PTApe2E9bi5pc3ViKHRoaXMubSl9ZWxzZSBpZihuLmNtcG4oMCk8MCl7YT1uLmlhZGQodGhpcy5tKX1yZXR1cm4gYS5fZm9yY2VSZWQodGhpcyl9O01vbnQucHJvdG90eXBlLmludm09ZnVuY3Rpb24gaW52bShlKXt2YXIgdD10aGlzLmltb2QoZS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO3JldHVybiB0Ll9mb3JjZVJlZCh0aGlzKX19KShmYWxzZXx8ZSx0aGlzKX0sMzUwMDpmdW5jdGlvbihlLHQscil7dmFyIGk7ZS5leHBvcnRzPWZ1bmN0aW9uIHJhbmQoZSl7aWYoIWkpaT1uZXcgUmFuZChudWxsKTtyZXR1cm4gaS5nZW5lcmF0ZShlKX07ZnVuY3Rpb24gUmFuZChlKXt0aGlzLnJhbmQ9ZX1lLmV4cG9ydHMuUmFuZD1SYW5kO1JhbmQucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uIGdlbmVyYXRlKGUpe3JldHVybiB0aGlzLl9yYW5kKGUpfTtSYW5kLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbiBfcmFuZChlKXtpZih0aGlzLnJhbmQuZ2V0Qnl0ZXMpcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhlKTt2YXIgdD1uZXcgVWludDhBcnJheShlKTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdPXRoaXMucmFuZC5nZXRCeXRlKCk7cmV0dXJuIHR9O2lmKHR5cGVvZiBzZWxmPT09XCJvYmplY3RcIil7aWYoc2VsZi5jcnlwdG8mJnNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7UmFuZC5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24gX3JhbmQoZSl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSk7c2VsZi5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHQpO3JldHVybiB0fX1lbHNlIGlmKHNlbGYubXNDcnlwdG8mJnNlbGYubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXtSYW5kLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbiBfcmFuZChlKXt2YXIgdD1uZXcgVWludDhBcnJheShlKTtzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyh0KTtyZXR1cm4gdH19ZWxzZSBpZih0eXBlb2Ygd2luZG93PT09XCJvYmplY3RcIil7UmFuZC5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWQgeWV0XCIpfX19ZWxzZXt0cnl7dmFyIG49cig2MTEzKTtpZih0eXBlb2Ygbi5yYW5kb21CeXRlcyE9PVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgRXJyb3IoXCJOb3Qgc3VwcG9ydGVkXCIpO1JhbmQucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uIF9yYW5kKGUpe3JldHVybiBuLnJhbmRvbUJ5dGVzKGUpfX1jYXRjaChlKXt9fX0sMTM4NzpmdW5jdGlvbihlLHQscil7dmFyIGk9cig2OTExKS5CdWZmZXI7ZnVuY3Rpb24gYXNVSW50MzJBcnJheShlKXtpZighaS5pc0J1ZmZlcihlKSllPWkuZnJvbShlKTt2YXIgdD1lLmxlbmd0aC80fDA7dmFyIHI9bmV3IEFycmF5KHQpO2Zvcih2YXIgbj0wO248dDtuKyspe3Jbbl09ZS5yZWFkVUludDMyQkUobio0KX1yZXR1cm4gcn1mdW5jdGlvbiBzY3J1YlZlYyhlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO2UrKyl7ZVt0XT0wfX1mdW5jdGlvbiBjcnlwdEJsb2NrKGUsdCxyLGksbil7dmFyIGE9clswXTt2YXIgcz1yWzFdO3ZhciBvPXJbMl07dmFyIGg9clszXTt2YXIgdT1lWzBdXnRbMF07dmFyIGQ9ZVsxXV50WzFdO3ZhciBjPWVbMl1edFsyXTt2YXIgbD1lWzNdXnRbM107dmFyIHAsdixiLG07dmFyIHk9NDtmb3IodmFyIGc9MTtnPG47ZysrKXtwPWFbdT4+PjI0XV5zW2Q+Pj4xNiYyNTVdXm9bYz4+PjgmMjU1XV5oW2wmMjU1XV50W3krK107dj1hW2Q+Pj4yNF1ec1tjPj4+MTYmMjU1XV5vW2w+Pj44JjI1NV1eaFt1JjI1NV1edFt5KytdO2I9YVtjPj4+MjRdXnNbbD4+PjE2JjI1NV1eb1t1Pj4+OCYyNTVdXmhbZCYyNTVdXnRbeSsrXTttPWFbbD4+PjI0XV5zW3U+Pj4xNiYyNTVdXm9bZD4+PjgmMjU1XV5oW2MmMjU1XV50W3krK107dT1wO2Q9djtjPWI7bD1tfXA9KGlbdT4+PjI0XTw8MjR8aVtkPj4+MTYmMjU1XTw8MTZ8aVtjPj4+OCYyNTVdPDw4fGlbbCYyNTVdKV50W3krK107dj0oaVtkPj4+MjRdPDwyNHxpW2M+Pj4xNiYyNTVdPDwxNnxpW2w+Pj44JjI1NV08PDh8aVt1JjI1NV0pXnRbeSsrXTtiPShpW2M+Pj4yNF08PDI0fGlbbD4+PjE2JjI1NV08PDE2fGlbdT4+PjgmMjU1XTw8OHxpW2QmMjU1XSledFt5KytdO209KGlbbD4+PjI0XTw8MjR8aVt1Pj4+MTYmMjU1XTw8MTZ8aVtkPj4+OCYyNTVdPDw4fGlbYyYyNTVdKV50W3krK107cD1wPj4+MDt2PXY+Pj4wO2I9Yj4+PjA7bT1tPj4+MDtyZXR1cm5bcCx2LGIsbV19dmFyIG49WzAsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTRdO3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IEFycmF5KDI1Nik7Zm9yKHZhciB0PTA7dDwyNTY7dCsrKXtpZih0PDEyOCl7ZVt0XT10PDwxfWVsc2V7ZVt0XT10PDwxXjI4M319dmFyIHI9W107dmFyIGk9W107dmFyIG49W1tdLFtdLFtdLFtdXTt2YXIgYT1bW10sW10sW10sW11dO3ZhciBzPTA7dmFyIG89MDtmb3IodmFyIGg9MDtoPDI1NjsrK2gpe3ZhciB1PW9ebzw8MV5vPDwyXm88PDNebzw8NDt1PXU+Pj44XnUmMjU1Xjk5O3Jbc109dTtpW3VdPXM7dmFyIGQ9ZVtzXTt2YXIgYz1lW2RdO3ZhciBsPWVbY107dmFyIHA9ZVt1XSoyNTdedSoxNjg0MzAwODtuWzBdW3NdPXA8PDI0fHA+Pj44O25bMV1bc109cDw8MTZ8cD4+PjE2O25bMl1bc109cDw8OHxwPj4+MjQ7blszXVtzXT1wO3A9bCoxNjg0MzAwOV5jKjY1NTM3XmQqMjU3XnMqMTY4NDMwMDg7YVswXVt1XT1wPDwyNHxwPj4+ODthWzFdW3VdPXA8PDE2fHA+Pj4xNjthWzJdW3VdPXA8PDh8cD4+PjI0O2FbM11bdV09cDtpZihzPT09MCl7cz1vPTF9ZWxzZXtzPWReZVtlW2VbbF5kXV1dO29ePWVbZVtvXV19fXJldHVybntTQk9YOnIsSU5WX1NCT1g6aSxTVUJfTUlYOm4sSU5WX1NVQl9NSVg6YX19KCk7ZnVuY3Rpb24gQUVTKGUpe3RoaXMuX2tleT1hc1VJbnQzMkFycmF5KGUpO3RoaXMuX3Jlc2V0KCl9QUVTLmJsb2NrU2l6ZT00KjQ7QUVTLmtleVNpemU9MjU2Lzg7QUVTLnByb3RvdHlwZS5ibG9ja1NpemU9QUVTLmJsb2NrU2l6ZTtBRVMucHJvdG90eXBlLmtleVNpemU9QUVTLmtleVNpemU7QUVTLnByb3RvdHlwZS5fcmVzZXQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9rZXk7dmFyIHQ9ZS5sZW5ndGg7dmFyIHI9dCs2O3ZhciBpPShyKzEpKjQ7dmFyIHM9W107Zm9yKHZhciBvPTA7bzx0O28rKyl7c1tvXT1lW29dfWZvcihvPXQ7bzxpO28rKyl7dmFyIGg9c1tvLTFdO2lmKG8ldD09PTApe2g9aDw8OHxoPj4+MjQ7aD1hLlNCT1hbaD4+PjI0XTw8MjR8YS5TQk9YW2g+Pj4xNiYyNTVdPDwxNnxhLlNCT1hbaD4+PjgmMjU1XTw8OHxhLlNCT1hbaCYyNTVdO2hePW5bby90fDBdPDwyNH1lbHNlIGlmKHQ+NiYmbyV0PT09NCl7aD1hLlNCT1hbaD4+PjI0XTw8MjR8YS5TQk9YW2g+Pj4xNiYyNTVdPDwxNnxhLlNCT1hbaD4+PjgmMjU1XTw8OHxhLlNCT1hbaCYyNTVdfXNbb109c1tvLXRdXmh9dmFyIHU9W107Zm9yKHZhciBkPTA7ZDxpO2QrKyl7dmFyIGM9aS1kO3ZhciBsPXNbYy0oZCU0PzA6NCldO2lmKGQ8NHx8Yzw9NCl7dVtkXT1sfWVsc2V7dVtkXT1hLklOVl9TVUJfTUlYWzBdW2EuU0JPWFtsPj4+MjRdXV5hLklOVl9TVUJfTUlYWzFdW2EuU0JPWFtsPj4+MTYmMjU1XV1eYS5JTlZfU1VCX01JWFsyXVthLlNCT1hbbD4+PjgmMjU1XV1eYS5JTlZfU1VCX01JWFszXVthLlNCT1hbbCYyNTVdXX19dGhpcy5fblJvdW5kcz1yO3RoaXMuX2tleVNjaGVkdWxlPXM7dGhpcy5faW52S2V5U2NoZWR1bGU9dX07QUVTLnByb3RvdHlwZS5lbmNyeXB0QmxvY2tSYXc9ZnVuY3Rpb24oZSl7ZT1hc1VJbnQzMkFycmF5KGUpO3JldHVybiBjcnlwdEJsb2NrKGUsdGhpcy5fa2V5U2NoZWR1bGUsYS5TVUJfTUlYLGEuU0JPWCx0aGlzLl9uUm91bmRzKX07QUVTLnByb3RvdHlwZS5lbmNyeXB0QmxvY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lbmNyeXB0QmxvY2tSYXcoZSk7dmFyIHI9aS5hbGxvY1Vuc2FmZSgxNik7ci53cml0ZVVJbnQzMkJFKHRbMF0sMCk7ci53cml0ZVVJbnQzMkJFKHRbMV0sNCk7ci53cml0ZVVJbnQzMkJFKHRbMl0sOCk7ci53cml0ZVVJbnQzMkJFKHRbM10sMTIpO3JldHVybiByfTtBRVMucHJvdG90eXBlLmRlY3J5cHRCbG9jaz1mdW5jdGlvbihlKXtlPWFzVUludDMyQXJyYXkoZSk7dmFyIHQ9ZVsxXTtlWzFdPWVbM107ZVszXT10O3ZhciByPWNyeXB0QmxvY2soZSx0aGlzLl9pbnZLZXlTY2hlZHVsZSxhLklOVl9TVUJfTUlYLGEuSU5WX1NCT1gsdGhpcy5fblJvdW5kcyk7dmFyIG49aS5hbGxvY1Vuc2FmZSgxNik7bi53cml0ZVVJbnQzMkJFKHJbMF0sMCk7bi53cml0ZVVJbnQzMkJFKHJbM10sNCk7bi53cml0ZVVJbnQzMkJFKHJbMl0sOCk7bi53cml0ZVVJbnQzMkJFKHJbMV0sMTIpO3JldHVybiBufTtBRVMucHJvdG90eXBlLnNjcnViPWZ1bmN0aW9uKCl7c2NydWJWZWModGhpcy5fa2V5U2NoZWR1bGUpO3NjcnViVmVjKHRoaXMuX2ludktleVNjaGVkdWxlKTtzY3J1YlZlYyh0aGlzLl9rZXkpfTtlLmV4cG9ydHMuQUVTPUFFU30sNjYyNDpmdW5jdGlvbihlLHQscil7dmFyIGk9cigxMzg3KTt2YXIgbj1yKDY5MTEpLkJ1ZmZlcjt2YXIgYT1yKDEwNDMpO3ZhciBzPXIoMzc4Mik7dmFyIG89cig3MjI1KTt2YXIgaD1yKDQ3MzQpO3ZhciB1PXIoNTk4KTtmdW5jdGlvbiB4b3JUZXN0KGUsdCl7dmFyIHI9MDtpZihlLmxlbmd0aCE9PXQubGVuZ3RoKXIrKzt2YXIgaT1NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk7Zm9yKHZhciBuPTA7bjxpOysrbil7cis9ZVtuXV50W25dfXJldHVybiByfWZ1bmN0aW9uIGNhbGNJdihlLHQscil7aWYodC5sZW5ndGg9PT0xMil7ZS5fZmluSUQ9bi5jb25jYXQoW3Qsbi5mcm9tKFswLDAsMCwxXSldKTtyZXR1cm4gbi5jb25jYXQoW3Qsbi5mcm9tKFswLDAsMCwyXSldKX12YXIgaT1uZXcgbyhyKTt2YXIgYT10Lmxlbmd0aDt2YXIgcz1hJTE2O2kudXBkYXRlKHQpO2lmKHMpe3M9MTYtcztpLnVwZGF0ZShuLmFsbG9jKHMsMCkpfWkudXBkYXRlKG4uYWxsb2MoOCwwKSk7dmFyIGg9YSo4O3ZhciBkPW4uYWxsb2MoOCk7ZC53cml0ZVVJbnRCRShoLDAsOCk7aS51cGRhdGUoZCk7ZS5fZmluSUQ9aS5zdGF0ZTt2YXIgYz1uLmZyb20oZS5fZmluSUQpO3UoYyk7cmV0dXJuIGN9ZnVuY3Rpb24gU3RyZWFtQ2lwaGVyKGUsdCxyLHMpe2EuY2FsbCh0aGlzKTt2YXIgaD1uLmFsbG9jKDQsMCk7dGhpcy5fY2lwaGVyPW5ldyBpLkFFUyh0KTt2YXIgdT10aGlzLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGgpO3RoaXMuX2doYXNoPW5ldyBvKHUpO3I9Y2FsY0l2KHRoaXMscix1KTt0aGlzLl9wcmV2PW4uZnJvbShyKTt0aGlzLl9jYWNoZT1uLmFsbG9jVW5zYWZlKDApO3RoaXMuX3NlY0NhY2hlPW4uYWxsb2NVbnNhZmUoMCk7dGhpcy5fZGVjcnlwdD1zO3RoaXMuX2FsZW49MDt0aGlzLl9sZW49MDt0aGlzLl9tb2RlPWU7dGhpcy5fYXV0aFRhZz1udWxsO3RoaXMuX2NhbGxlZD1mYWxzZX1zKFN0cmVhbUNpcGhlcixhKTtTdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7aWYoIXRoaXMuX2NhbGxlZCYmdGhpcy5fYWxlbil7dmFyIHQ9MTYtdGhpcy5fYWxlbiUxNjtpZih0PDE2KXt0PW4uYWxsb2ModCwwKTt0aGlzLl9naGFzaC51cGRhdGUodCl9fXRoaXMuX2NhbGxlZD10cnVlO3ZhciByPXRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLGUpO2lmKHRoaXMuX2RlY3J5cHQpe3RoaXMuX2doYXNoLnVwZGF0ZShlKX1lbHNle3RoaXMuX2doYXNoLnVwZGF0ZShyKX10aGlzLl9sZW4rPWUubGVuZ3RoO3JldHVybiByfTtTdHJlYW1DaXBoZXIucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe2lmKHRoaXMuX2RlY3J5cHQmJiF0aGlzLl9hdXRoVGFnKXRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIHN0YXRlIG9yIHVuYWJsZSB0byBhdXRoZW50aWNhdGUgZGF0YVwiKTt2YXIgZT1oKHRoaXMuX2doYXNoLmZpbmFsKHRoaXMuX2FsZW4qOCx0aGlzLl9sZW4qOCksdGhpcy5fY2lwaGVyLmVuY3J5cHRCbG9jayh0aGlzLl9maW5JRCkpO2lmKHRoaXMuX2RlY3J5cHQmJnhvclRlc3QoZSx0aGlzLl9hdXRoVGFnKSl0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBzdGF0ZSBvciB1bmFibGUgdG8gYXV0aGVudGljYXRlIGRhdGFcIik7dGhpcy5fYXV0aFRhZz1lO3RoaXMuX2NpcGhlci5zY3J1YigpfTtTdHJlYW1DaXBoZXIucHJvdG90eXBlLmdldEF1dGhUYWc9ZnVuY3Rpb24gZ2V0QXV0aFRhZygpe2lmKHRoaXMuX2RlY3J5cHR8fCFuLmlzQnVmZmVyKHRoaXMuX2F1dGhUYWcpKXRocm93IG5ldyBFcnJvcihcIkF0dGVtcHRpbmcgdG8gZ2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlXCIpO3JldHVybiB0aGlzLl9hdXRoVGFnfTtTdHJlYW1DaXBoZXIucHJvdG90eXBlLnNldEF1dGhUYWc9ZnVuY3Rpb24gc2V0QXV0aFRhZyhlKXtpZighdGhpcy5fZGVjcnlwdCl0aHJvdyBuZXcgRXJyb3IoXCJBdHRlbXB0aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZVwiKTt0aGlzLl9hdXRoVGFnPWV9O1N0cmVhbUNpcGhlci5wcm90b3R5cGUuc2V0QUFEPWZ1bmN0aW9uIHNldEFBRChlKXtpZih0aGlzLl9jYWxsZWQpdGhyb3cgbmV3IEVycm9yKFwiQXR0ZW1wdGluZyB0byBzZXQgQUFEIGluIHVuc3VwcG9ydGVkIHN0YXRlXCIpO3RoaXMuX2doYXNoLnVwZGF0ZShlKTt0aGlzLl9hbGVuKz1lLmxlbmd0aH07ZS5leHBvcnRzPVN0cmVhbUNpcGhlcn0sNjU5NDpmdW5jdGlvbihlLHQscil7dmFyIGk9cigyKTt2YXIgbj1yKDI1OTgpO3ZhciBhPXIoNTg2Nik7ZnVuY3Rpb24gZ2V0Q2lwaGVycygpe3JldHVybiBPYmplY3Qua2V5cyhhKX10LmNyZWF0ZUNpcGhlcj10LkNpcGhlcj1pLmNyZWF0ZUNpcGhlcjt0LmNyZWF0ZUNpcGhlcml2PXQuQ2lwaGVyaXY9aS5jcmVhdGVDaXBoZXJpdjt0LmNyZWF0ZURlY2lwaGVyPXQuRGVjaXBoZXI9bi5jcmVhdGVEZWNpcGhlcjt0LmNyZWF0ZURlY2lwaGVyaXY9dC5EZWNpcGhlcml2PW4uY3JlYXRlRGVjaXBoZXJpdjt0Lmxpc3RDaXBoZXJzPXQuZ2V0Q2lwaGVycz1nZXRDaXBoZXJzfSwyNTk4OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDY2MjQpO3ZhciBuPXIoNjkxMSkuQnVmZmVyO3ZhciBhPXIoNjM3MCk7dmFyIHM9cigxMjYpO3ZhciBvPXIoMTA0Myk7dmFyIGg9cigxMzg3KTt2YXIgdT1yKDgzNjgpO3ZhciBkPXIoMzc4Mik7ZnVuY3Rpb24gRGVjaXBoZXIoZSx0LHIpe28uY2FsbCh0aGlzKTt0aGlzLl9jYWNoZT1uZXcgU3BsaXR0ZXI7dGhpcy5fbGFzdD12b2lkIDA7dGhpcy5fY2lwaGVyPW5ldyBoLkFFUyh0KTt0aGlzLl9wcmV2PW4uZnJvbShyKTt0aGlzLl9tb2RlPWU7dGhpcy5fYXV0b3BhZGRpbmc9dHJ1ZX1kKERlY2lwaGVyLG8pO0RlY2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2NhY2hlLmFkZChlKTt2YXIgdDt2YXIgcjt2YXIgaT1bXTt3aGlsZSh0PXRoaXMuX2NhY2hlLmdldCh0aGlzLl9hdXRvcGFkZGluZykpe3I9dGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsdCk7aS5wdXNoKHIpfXJldHVybiBuLmNvbmNhdChpKX07RGVjaXBoZXIucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2NhY2hlLmZsdXNoKCk7aWYodGhpcy5fYXV0b3BhZGRpbmcpe3JldHVybiB1bnBhZCh0aGlzLl9tb2RlLmRlY3J5cHQodGhpcyxlKSl9ZWxzZSBpZihlKXt0aHJvdyBuZXcgRXJyb3IoXCJkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGhcIil9fTtEZWNpcGhlci5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24oZSl7dGhpcy5fYXV0b3BhZGRpbmc9ISFlO3JldHVybiB0aGlzfTtmdW5jdGlvbiBTcGxpdHRlcigpe3RoaXMuY2FjaGU9bi5hbGxvY1Vuc2FmZSgwKX1TcGxpdHRlci5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3RoaXMuY2FjaGU9bi5jb25jYXQoW3RoaXMuY2FjaGUsZV0pfTtTcGxpdHRlci5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpe2lmKHRoaXMuY2FjaGUubGVuZ3RoPjE2KXt0PXRoaXMuY2FjaGUuc2xpY2UoMCwxNik7dGhpcy5jYWNoZT10aGlzLmNhY2hlLnNsaWNlKDE2KTtyZXR1cm4gdH19ZWxzZXtpZih0aGlzLmNhY2hlLmxlbmd0aD49MTYpe3Q9dGhpcy5jYWNoZS5zbGljZSgwLDE2KTt0aGlzLmNhY2hlPXRoaXMuY2FjaGUuc2xpY2UoMTYpO3JldHVybiB0fX1yZXR1cm4gbnVsbH07U3BsaXR0ZXIucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7aWYodGhpcy5jYWNoZS5sZW5ndGgpcmV0dXJuIHRoaXMuY2FjaGV9O2Z1bmN0aW9uIHVucGFkKGUpe3ZhciB0PWVbMTVdO2lmKHQ8MXx8dD4xNil7dGhyb3cgbmV3IEVycm9yKFwidW5hYmxlIHRvIGRlY3J5cHQgZGF0YVwiKX12YXIgcj0tMTt3aGlsZSgrK3I8dCl7aWYoZVtyKygxNi10KV0hPT10KXt0aHJvdyBuZXcgRXJyb3IoXCJ1bmFibGUgdG8gZGVjcnlwdCBkYXRhXCIpfX1pZih0PT09MTYpcmV0dXJuO3JldHVybiBlLnNsaWNlKDAsMTYtdCl9ZnVuY3Rpb24gY3JlYXRlRGVjaXBoZXJpdihlLHQscil7dmFyIG89YVtlLnRvTG93ZXJDYXNlKCldO2lmKCFvKXRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHN1aXRlIHR5cGVcIik7aWYodHlwZW9mIHI9PT1cInN0cmluZ1wiKXI9bi5mcm9tKHIpO2lmKG8ubW9kZSE9PVwiR0NNXCImJnIubGVuZ3RoIT09by5pdil0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBpdiBsZW5ndGggXCIrci5sZW5ndGgpO2lmKHR5cGVvZiB0PT09XCJzdHJpbmdcIil0PW4uZnJvbSh0KTtpZih0Lmxlbmd0aCE9PW8ua2V5LzgpdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQga2V5IGxlbmd0aCBcIit0Lmxlbmd0aCk7aWYoby50eXBlPT09XCJzdHJlYW1cIil7cmV0dXJuIG5ldyBzKG8ubW9kdWxlLHQscix0cnVlKX1lbHNlIGlmKG8udHlwZT09PVwiYXV0aFwiKXtyZXR1cm4gbmV3IGkoby5tb2R1bGUsdCxyLHRydWUpfXJldHVybiBuZXcgRGVjaXBoZXIoby5tb2R1bGUsdCxyKX1mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcihlLHQpe3ZhciByPWFbZS50b0xvd2VyQ2FzZSgpXTtpZighcil0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBzdWl0ZSB0eXBlXCIpO3ZhciBpPXUodCxmYWxzZSxyLmtleSxyLml2KTtyZXR1cm4gY3JlYXRlRGVjaXBoZXJpdihlLGkua2V5LGkuaXYpfXQuY3JlYXRlRGVjaXBoZXI9Y3JlYXRlRGVjaXBoZXI7dC5jcmVhdGVEZWNpcGhlcml2PWNyZWF0ZURlY2lwaGVyaXZ9LDI6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNjM3MCk7dmFyIG49cig2NjI0KTt2YXIgYT1yKDY5MTEpLkJ1ZmZlcjt2YXIgcz1yKDEyNik7dmFyIG89cigxMDQzKTt2YXIgaD1yKDEzODcpO3ZhciB1PXIoODM2OCk7dmFyIGQ9cigzNzgyKTtmdW5jdGlvbiBDaXBoZXIoZSx0LHIpe28uY2FsbCh0aGlzKTt0aGlzLl9jYWNoZT1uZXcgU3BsaXR0ZXI7dGhpcy5fY2lwaGVyPW5ldyBoLkFFUyh0KTt0aGlzLl9wcmV2PWEuZnJvbShyKTt0aGlzLl9tb2RlPWU7dGhpcy5fYXV0b3BhZGRpbmc9dHJ1ZX1kKENpcGhlcixvKTtDaXBoZXIucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy5fY2FjaGUuYWRkKGUpO3ZhciB0O3ZhciByO3ZhciBpPVtdO3doaWxlKHQ9dGhpcy5fY2FjaGUuZ2V0KCkpe3I9dGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsdCk7aS5wdXNoKHIpfXJldHVybiBhLmNvbmNhdChpKX07dmFyIGM9YS5hbGxvYygxNiwxNik7Q2lwaGVyLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9jYWNoZS5mbHVzaCgpO2lmKHRoaXMuX2F1dG9wYWRkaW5nKXtlPXRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLGUpO3RoaXMuX2NpcGhlci5zY3J1YigpO3JldHVybiBlfWlmKCFlLmVxdWFscyhjKSl7dGhpcy5fY2lwaGVyLnNjcnViKCk7dGhyb3cgbmV3IEVycm9yKFwiZGF0YSBub3QgbXVsdGlwbGUgb2YgYmxvY2sgbGVuZ3RoXCIpfX07Q2lwaGVyLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZz1mdW5jdGlvbihlKXt0aGlzLl9hdXRvcGFkZGluZz0hIWU7cmV0dXJuIHRoaXN9O2Z1bmN0aW9uIFNwbGl0dGVyKCl7dGhpcy5jYWNoZT1hLmFsbG9jVW5zYWZlKDApfVNwbGl0dGVyLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7dGhpcy5jYWNoZT1hLmNvbmNhdChbdGhpcy5jYWNoZSxlXSl9O1NwbGl0dGVyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmNhY2hlLmxlbmd0aD4xNSl7dmFyIGU9dGhpcy5jYWNoZS5zbGljZSgwLDE2KTt0aGlzLmNhY2hlPXRoaXMuY2FjaGUuc2xpY2UoMTYpO3JldHVybiBlfXJldHVybiBudWxsfTtTcGxpdHRlci5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXt2YXIgZT0xNi10aGlzLmNhY2hlLmxlbmd0aDt2YXIgdD1hLmFsbG9jVW5zYWZlKGUpO3ZhciByPS0xO3doaWxlKCsrcjxlKXt0LndyaXRlVUludDgoZSxyKX1yZXR1cm4gYS5jb25jYXQoW3RoaXMuY2FjaGUsdF0pfTtmdW5jdGlvbiBjcmVhdGVDaXBoZXJpdihlLHQscil7dmFyIG89aVtlLnRvTG93ZXJDYXNlKCldO2lmKCFvKXRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHN1aXRlIHR5cGVcIik7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiKXQ9YS5mcm9tKHQpO2lmKHQubGVuZ3RoIT09by5rZXkvOCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBrZXkgbGVuZ3RoIFwiK3QubGVuZ3RoKTtpZih0eXBlb2Ygcj09PVwic3RyaW5nXCIpcj1hLmZyb20ocik7aWYoby5tb2RlIT09XCJHQ01cIiYmci5sZW5ndGghPT1vLml2KXRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIGl2IGxlbmd0aCBcIityLmxlbmd0aCk7aWYoby50eXBlPT09XCJzdHJlYW1cIil7cmV0dXJuIG5ldyBzKG8ubW9kdWxlLHQscil9ZWxzZSBpZihvLnR5cGU9PT1cImF1dGhcIil7cmV0dXJuIG5ldyBuKG8ubW9kdWxlLHQscil9cmV0dXJuIG5ldyBDaXBoZXIoby5tb2R1bGUsdCxyKX1mdW5jdGlvbiBjcmVhdGVDaXBoZXIoZSx0KXt2YXIgcj1pW2UudG9Mb3dlckNhc2UoKV07aWYoIXIpdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgc3VpdGUgdHlwZVwiKTt2YXIgbj11KHQsZmFsc2Usci5rZXksci5pdik7cmV0dXJuIGNyZWF0ZUNpcGhlcml2KGUsbi5rZXksbi5pdil9dC5jcmVhdGVDaXBoZXJpdj1jcmVhdGVDaXBoZXJpdjt0LmNyZWF0ZUNpcGhlcj1jcmVhdGVDaXBoZXJ9LDcyMjU6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNjkxMSkuQnVmZmVyO3ZhciBuPWkuYWxsb2MoMTYsMCk7ZnVuY3Rpb24gdG9BcnJheShlKXtyZXR1cm5bZS5yZWFkVUludDMyQkUoMCksZS5yZWFkVUludDMyQkUoNCksZS5yZWFkVUludDMyQkUoOCksZS5yZWFkVUludDMyQkUoMTIpXX1mdW5jdGlvbiBmcm9tQXJyYXkoZSl7dmFyIHQ9aS5hbGxvY1Vuc2FmZSgxNik7dC53cml0ZVVJbnQzMkJFKGVbMF0+Pj4wLDApO3Qud3JpdGVVSW50MzJCRShlWzFdPj4+MCw0KTt0LndyaXRlVUludDMyQkUoZVsyXT4+PjAsOCk7dC53cml0ZVVJbnQzMkJFKGVbM10+Pj4wLDEyKTtyZXR1cm4gdH1mdW5jdGlvbiBHSEFTSChlKXt0aGlzLmg9ZTt0aGlzLnN0YXRlPWkuYWxsb2MoMTYsMCk7dGhpcy5jYWNoZT1pLmFsbG9jVW5zYWZlKDApfUdIQVNILnByb3RvdHlwZS5naGFzaD1mdW5jdGlvbihlKXt2YXIgdD0tMTt3aGlsZSgrK3Q8ZS5sZW5ndGgpe3RoaXMuc3RhdGVbdF1ePWVbdF19dGhpcy5fbXVsdGlwbHkoKX07R0hBU0gucHJvdG90eXBlLl9tdWx0aXBseT1mdW5jdGlvbigpe3ZhciBlPXRvQXJyYXkodGhpcy5oKTt2YXIgdD1bMCwwLDAsMF07dmFyIHIsaSxuO3ZhciBhPS0xO3doaWxlKCsrYTwxMjgpe2k9KHRoaXMuc3RhdGVbfn4oYS84KV0mMTw8Ny1hJTgpIT09MDtpZihpKXt0WzBdXj1lWzBdO3RbMV1ePWVbMV07dFsyXV49ZVsyXTt0WzNdXj1lWzNdfW49KGVbM10mMSkhPT0wO2ZvcihyPTM7cj4wO3ItLSl7ZVtyXT1lW3JdPj4+MXwoZVtyLTFdJjEpPDwzMX1lWzBdPWVbMF0+Pj4xO2lmKG4pe2VbMF09ZVswXV4yMjU8PDI0fX10aGlzLnN0YXRlPWZyb21BcnJheSh0KX07R0hBU0gucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLmNhY2hlPWkuY29uY2F0KFt0aGlzLmNhY2hlLGVdKTt2YXIgdDt3aGlsZSh0aGlzLmNhY2hlLmxlbmd0aD49MTYpe3Q9dGhpcy5jYWNoZS5zbGljZSgwLDE2KTt0aGlzLmNhY2hlPXRoaXMuY2FjaGUuc2xpY2UoMTYpO3RoaXMuZ2hhc2godCl9fTtHSEFTSC5wcm90b3R5cGUuZmluYWw9ZnVuY3Rpb24oZSx0KXtpZih0aGlzLmNhY2hlLmxlbmd0aCl7dGhpcy5naGFzaChpLmNvbmNhdChbdGhpcy5jYWNoZSxuXSwxNikpfXRoaXMuZ2hhc2goZnJvbUFycmF5KFswLGUsMCx0XSkpO3JldHVybiB0aGlzLnN0YXRlfTtlLmV4cG9ydHM9R0hBU0h9LDU5ODpmdW5jdGlvbihlKXtmdW5jdGlvbiBpbmNyMzIoZSl7dmFyIHQ9ZS5sZW5ndGg7dmFyIHI7d2hpbGUodC0tKXtyPWUucmVhZFVJbnQ4KHQpO2lmKHI9PT0yNTUpe2Uud3JpdGVVSW50OCgwLHQpfWVsc2V7cisrO2Uud3JpdGVVSW50OChyLHQpO2JyZWFrfX19ZS5leHBvcnRzPWluY3IzMn0sOTgyNTpmdW5jdGlvbihlLHQscil7dmFyIGk9cig0NzM0KTt0LmVuY3J5cHQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj1pKHQsZS5fcHJldik7ZS5fcHJldj1lLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHIpO3JldHVybiBlLl9wcmV2fTt0LmRlY3J5cHQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLl9wcmV2O2UuX3ByZXY9dDt2YXIgbj1lLl9jaXBoZXIuZGVjcnlwdEJsb2NrKHQpO3JldHVybiBpKG4scil9fSwzMjE6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNjkxMSkuQnVmZmVyO3ZhciBuPXIoNDczNCk7ZnVuY3Rpb24gZW5jcnlwdFN0YXJ0KGUsdCxyKXt2YXIgYT10Lmxlbmd0aDt2YXIgcz1uKHQsZS5fY2FjaGUpO2UuX2NhY2hlPWUuX2NhY2hlLnNsaWNlKGEpO2UuX3ByZXY9aS5jb25jYXQoW2UuX3ByZXYscj90OnNdKTtyZXR1cm4gc310LmVuY3J5cHQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPWkuYWxsb2NVbnNhZmUoMCk7dmFyIGE7d2hpbGUodC5sZW5ndGgpe2lmKGUuX2NhY2hlLmxlbmd0aD09PTApe2UuX2NhY2hlPWUuX2NpcGhlci5lbmNyeXB0QmxvY2soZS5fcHJldik7ZS5fcHJldj1pLmFsbG9jVW5zYWZlKDApfWlmKGUuX2NhY2hlLmxlbmd0aDw9dC5sZW5ndGgpe2E9ZS5fY2FjaGUubGVuZ3RoO249aS5jb25jYXQoW24sZW5jcnlwdFN0YXJ0KGUsdC5zbGljZSgwLGEpLHIpXSk7dD10LnNsaWNlKGEpfWVsc2V7bj1pLmNvbmNhdChbbixlbmNyeXB0U3RhcnQoZSx0LHIpXSk7YnJlYWt9fXJldHVybiBufX0sMzE0NzpmdW5jdGlvbihlLHQscil7dmFyIGk9cig2OTExKS5CdWZmZXI7ZnVuY3Rpb24gZW5jcnlwdEJ5dGUoZSx0LHIpe3ZhciBpO3ZhciBuPS0xO3ZhciBhPTg7dmFyIHM9MDt2YXIgbyxoO3doaWxlKCsrbjxhKXtpPWUuX2NpcGhlci5lbmNyeXB0QmxvY2soZS5fcHJldik7bz10JjE8PDctbj8xMjg6MDtoPWlbMF1ebztzKz0oaCYxMjgpPj5uJTg7ZS5fcHJldj1zaGlmdEluKGUuX3ByZXYscj9vOmgpfXJldHVybiBzfWZ1bmN0aW9uIHNoaWZ0SW4oZSx0KXt2YXIgcj1lLmxlbmd0aDt2YXIgbj0tMTt2YXIgYT1pLmFsbG9jVW5zYWZlKGUubGVuZ3RoKTtlPWkuY29uY2F0KFtlLGkuZnJvbShbdF0pXSk7d2hpbGUoKytuPHIpe2Fbbl09ZVtuXTw8MXxlW24rMV0+Pjd9cmV0dXJuIGF9dC5lbmNyeXB0PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10Lmxlbmd0aDt2YXIgYT1pLmFsbG9jVW5zYWZlKG4pO3ZhciBzPS0xO3doaWxlKCsrczxuKXthW3NdPWVuY3J5cHRCeXRlKGUsdFtzXSxyKX1yZXR1cm4gYX19LDI0MzA6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNjkxMSkuQnVmZmVyO2Z1bmN0aW9uIGVuY3J5cHRCeXRlKGUsdCxyKXt2YXIgbj1lLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGUuX3ByZXYpO3ZhciBhPW5bMF1edDtlLl9wcmV2PWkuY29uY2F0KFtlLl9wcmV2LnNsaWNlKDEpLGkuZnJvbShbcj90OmFdKV0pO3JldHVybiBhfXQuZW5jcnlwdD1mdW5jdGlvbihlLHQscil7dmFyIG49dC5sZW5ndGg7dmFyIGE9aS5hbGxvY1Vuc2FmZShuKTt2YXIgcz0tMTt3aGlsZSgrK3M8bil7YVtzXT1lbmNyeXB0Qnl0ZShlLHRbc10scil9cmV0dXJuIGF9fSwzMzYxOmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDQ3MzQpO3ZhciBuPXIoNjkxMSkuQnVmZmVyO3ZhciBhPXIoNTk4KTtmdW5jdGlvbiBnZXRCbG9jayhlKXt2YXIgdD1lLl9jaXBoZXIuZW5jcnlwdEJsb2NrUmF3KGUuX3ByZXYpO2EoZS5fcHJldik7cmV0dXJuIHR9dmFyIHM9MTY7dC5lbmNyeXB0PWZ1bmN0aW9uKGUsdCl7dmFyIHI9TWF0aC5jZWlsKHQubGVuZ3RoL3MpO3ZhciBhPWUuX2NhY2hlLmxlbmd0aDtlLl9jYWNoZT1uLmNvbmNhdChbZS5fY2FjaGUsbi5hbGxvY1Vuc2FmZShyKnMpXSk7Zm9yKHZhciBvPTA7bzxyO28rKyl7dmFyIGg9Z2V0QmxvY2soZSk7dmFyIHU9YStvKnM7ZS5fY2FjaGUud3JpdGVVSW50MzJCRShoWzBdLHUrMCk7ZS5fY2FjaGUud3JpdGVVSW50MzJCRShoWzFdLHUrNCk7ZS5fY2FjaGUud3JpdGVVSW50MzJCRShoWzJdLHUrOCk7ZS5fY2FjaGUud3JpdGVVSW50MzJCRShoWzNdLHUrMTIpfXZhciBkPWUuX2NhY2hlLnNsaWNlKDAsdC5sZW5ndGgpO2UuX2NhY2hlPWUuX2NhY2hlLnNsaWNlKHQubGVuZ3RoKTtyZXR1cm4gaSh0LGQpfX0sMTU5MDpmdW5jdGlvbihlLHQpe3QuZW5jcnlwdD1mdW5jdGlvbihlLHQpe3JldHVybiBlLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHQpfTt0LmRlY3J5cHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5fY2lwaGVyLmRlY3J5cHRCbG9jayh0KX19LDYzNzA6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXtFQ0I6cigxNTkwKSxDQkM6cig5ODI1KSxDRkI6cigzMjEpLENGQjg6cigyNDMwKSxDRkIxOnIoMzE0NyksT0ZCOnIoMzQxMiksQ1RSOnIoMzM2MSksR0NNOnIoMzM2MSl9O3ZhciBuPXIoNTg2Nik7Zm9yKHZhciBhIGluIG4pe25bYV0ubW9kdWxlPWlbblthXS5tb2RlXX1lLmV4cG9ydHM9bn0sMzQxMjpmdW5jdGlvbihlLHQscil7dmFyIGk9cig0NzM0KTtmdW5jdGlvbiBnZXRCbG9jayhlKXtlLl9wcmV2PWUuX2NpcGhlci5lbmNyeXB0QmxvY2soZS5fcHJldik7cmV0dXJuIGUuX3ByZXZ9dC5lbmNyeXB0PWZ1bmN0aW9uKGUsdCl7d2hpbGUoZS5fY2FjaGUubGVuZ3RoPHQubGVuZ3RoKXtlLl9jYWNoZT1CdWZmZXIuY29uY2F0KFtlLl9jYWNoZSxnZXRCbG9jayhlKV0pfXZhciByPWUuX2NhY2hlLnNsaWNlKDAsdC5sZW5ndGgpO2UuX2NhY2hlPWUuX2NhY2hlLnNsaWNlKHQubGVuZ3RoKTtyZXR1cm4gaSh0LHIpfX0sMTI2OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDEzODcpO3ZhciBuPXIoNjkxMSkuQnVmZmVyO3ZhciBhPXIoMTA0Myk7dmFyIHM9cigzNzgyKTtmdW5jdGlvbiBTdHJlYW1DaXBoZXIoZSx0LHIscyl7YS5jYWxsKHRoaXMpO3RoaXMuX2NpcGhlcj1uZXcgaS5BRVModCk7dGhpcy5fcHJldj1uLmZyb20ocik7dGhpcy5fY2FjaGU9bi5hbGxvY1Vuc2FmZSgwKTt0aGlzLl9zZWNDYWNoZT1uLmFsbG9jVW5zYWZlKDApO3RoaXMuX2RlY3J5cHQ9czt0aGlzLl9tb2RlPWV9cyhTdHJlYW1DaXBoZXIsYSk7U3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9tb2RlLmVuY3J5cHQodGhpcyxlLHRoaXMuX2RlY3J5cHQpfTtTdHJlYW1DaXBoZXIucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3RoaXMuX2NpcGhlci5zY3J1YigpfTtlLmV4cG9ydHM9U3RyZWFtQ2lwaGVyfSw4OTk2OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDUyMzgpO3ZhciBuPXIoNjU5NCk7dmFyIGE9cig2MzcwKTt2YXIgcz1yKDYyODApO3ZhciBvPXIoODM2OCk7ZnVuY3Rpb24gY3JlYXRlQ2lwaGVyKGUsdCl7ZT1lLnRvTG93ZXJDYXNlKCk7dmFyIHIsaTtpZihhW2VdKXtyPWFbZV0ua2V5O2k9YVtlXS5pdn1lbHNlIGlmKHNbZV0pe3I9c1tlXS5rZXkqODtpPXNbZV0uaXZ9ZWxzZXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBzdWl0ZSB0eXBlXCIpfXZhciBuPW8odCxmYWxzZSxyLGkpO3JldHVybiBjcmVhdGVDaXBoZXJpdihlLG4ua2V5LG4uaXYpfWZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyKGUsdCl7ZT1lLnRvTG93ZXJDYXNlKCk7dmFyIHIsaTtpZihhW2VdKXtyPWFbZV0ua2V5O2k9YVtlXS5pdn1lbHNlIGlmKHNbZV0pe3I9c1tlXS5rZXkqODtpPXNbZV0uaXZ9ZWxzZXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBzdWl0ZSB0eXBlXCIpfXZhciBuPW8odCxmYWxzZSxyLGkpO3JldHVybiBjcmVhdGVEZWNpcGhlcml2KGUsbi5rZXksbi5pdil9ZnVuY3Rpb24gY3JlYXRlQ2lwaGVyaXYoZSx0LHIpe2U9ZS50b0xvd2VyQ2FzZSgpO2lmKGFbZV0pcmV0dXJuIG4uY3JlYXRlQ2lwaGVyaXYoZSx0LHIpO2lmKHNbZV0pcmV0dXJuIG5ldyBpKHtrZXk6dCxpdjpyLG1vZGU6ZX0pO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHN1aXRlIHR5cGVcIil9ZnVuY3Rpb24gY3JlYXRlRGVjaXBoZXJpdihlLHQscil7ZT1lLnRvTG93ZXJDYXNlKCk7aWYoYVtlXSlyZXR1cm4gbi5jcmVhdGVEZWNpcGhlcml2KGUsdCxyKTtpZihzW2VdKXJldHVybiBuZXcgaSh7a2V5OnQsaXY6cixtb2RlOmUsZGVjcnlwdDp0cnVlfSk7dGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgc3VpdGUgdHlwZVwiKX1mdW5jdGlvbiBnZXRDaXBoZXJzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHMpLmNvbmNhdChuLmdldENpcGhlcnMoKSl9dC5jcmVhdGVDaXBoZXI9dC5DaXBoZXI9Y3JlYXRlQ2lwaGVyO3QuY3JlYXRlQ2lwaGVyaXY9dC5DaXBoZXJpdj1jcmVhdGVDaXBoZXJpdjt0LmNyZWF0ZURlY2lwaGVyPXQuRGVjaXBoZXI9Y3JlYXRlRGVjaXBoZXI7dC5jcmVhdGVEZWNpcGhlcml2PXQuRGVjaXBoZXJpdj1jcmVhdGVEZWNpcGhlcml2O3QubGlzdENpcGhlcnM9dC5nZXRDaXBoZXJzPWdldENpcGhlcnN9LDUyMzg6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoMTA0Myk7dmFyIG49cig5NTM2KTt2YXIgYT1yKDM3ODIpO3ZhciBzPXIoNjkxMSkuQnVmZmVyO3ZhciBvPXtcImRlcy1lZGUzLWNiY1wiOm4uQ0JDLmluc3RhbnRpYXRlKG4uRURFKSxcImRlcy1lZGUzXCI6bi5FREUsXCJkZXMtZWRlLWNiY1wiOm4uQ0JDLmluc3RhbnRpYXRlKG4uRURFKSxcImRlcy1lZGVcIjpuLkVERSxcImRlcy1jYmNcIjpuLkNCQy5pbnN0YW50aWF0ZShuLkRFUyksXCJkZXMtZWNiXCI6bi5ERVN9O28uZGVzPW9bXCJkZXMtY2JjXCJdO28uZGVzMz1vW1wiZGVzLWVkZTMtY2JjXCJdO2UuZXhwb3J0cz1ERVM7YShERVMsaSk7ZnVuY3Rpb24gREVTKGUpe2kuY2FsbCh0aGlzKTt2YXIgdD1lLm1vZGUudG9Mb3dlckNhc2UoKTt2YXIgcj1vW3RdO3ZhciBuO2lmKGUuZGVjcnlwdCl7bj1cImRlY3J5cHRcIn1lbHNle249XCJlbmNyeXB0XCJ9dmFyIGE9ZS5rZXk7aWYoIXMuaXNCdWZmZXIoYSkpe2E9cy5mcm9tKGEpfWlmKHQ9PT1cImRlcy1lZGVcInx8dD09PVwiZGVzLWVkZS1jYmNcIil7YT1zLmNvbmNhdChbYSxhLnNsaWNlKDAsOCldKX12YXIgaD1lLml2O2lmKCFzLmlzQnVmZmVyKGgpKXtoPXMuZnJvbShoKX10aGlzLl9kZXM9ci5jcmVhdGUoe2tleTphLGl2OmgsdHlwZTpufSl9REVTLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBzLmZyb20odGhpcy5fZGVzLnVwZGF0ZShlKSl9O0RFUy5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIHMuZnJvbSh0aGlzLl9kZXMuZmluYWwoKSl9fSw2MjgwOmZ1bmN0aW9uKGUsdCl7dFtcImRlcy1lY2JcIl09e2tleTo4LGl2OjB9O3RbXCJkZXMtY2JjXCJdPXQuZGVzPXtrZXk6OCxpdjo4fTt0W1wiZGVzLWVkZTMtY2JjXCJdPXQuZGVzMz17a2V5OjI0LGl2Ojh9O3RbXCJkZXMtZWRlM1wiXT17a2V5OjI0LGl2OjB9O3RbXCJkZXMtZWRlLWNiY1wiXT17a2V5OjE2LGl2Ojh9O3RbXCJkZXMtZWRlXCJdPXtrZXk6MTYsaXY6MH19LDcxNjY6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNzExKTt2YXIgbj1yKDcyMjMpO2UuZXhwb3J0cz1jcnQ7ZnVuY3Rpb24gYmxpbmQoZSl7dmFyIHQ9Z2V0cihlKTt2YXIgcj10LnRvUmVkKGkubW9udChlLm1vZHVsdXMpKS5yZWRQb3cobmV3IGkoZS5wdWJsaWNFeHBvbmVudCkpLmZyb21SZWQoKTtyZXR1cm57YmxpbmRlcjpyLHVuYmxpbmRlcjp0Lmludm0oZS5tb2R1bHVzKX19ZnVuY3Rpb24gY3J0KGUsdCl7dmFyIHI9YmxpbmQodCk7dmFyIG49dC5tb2R1bHVzLmJ5dGVMZW5ndGgoKTt2YXIgYT1pLm1vbnQodC5tb2R1bHVzKTt2YXIgcz1uZXcgaShlKS5tdWwoci5ibGluZGVyKS51bW9kKHQubW9kdWx1cyk7dmFyIG89cy50b1JlZChpLm1vbnQodC5wcmltZTEpKTt2YXIgaD1zLnRvUmVkKGkubW9udCh0LnByaW1lMikpO3ZhciB1PXQuY29lZmZpY2llbnQ7dmFyIGQ9dC5wcmltZTE7dmFyIGM9dC5wcmltZTI7dmFyIGw9by5yZWRQb3codC5leHBvbmVudDEpO3ZhciBwPWgucmVkUG93KHQuZXhwb25lbnQyKTtsPWwuZnJvbVJlZCgpO3A9cC5mcm9tUmVkKCk7dmFyIHY9bC5pc3ViKHApLmltdWwodSkudW1vZChkKTt2LmltdWwoYyk7cC5pYWRkKHYpO3JldHVybiBuZXcgQnVmZmVyKHAuaW11bChyLnVuYmxpbmRlcikudW1vZCh0Lm1vZHVsdXMpLnRvQXJyYXkoZmFsc2UsbikpfWNydC5nZXRyPWdldHI7ZnVuY3Rpb24gZ2V0cihlKXt2YXIgdD1lLm1vZHVsdXMuYnl0ZUxlbmd0aCgpO3ZhciByPW5ldyBpKG4odCkpO3doaWxlKHIuY21wKGUubW9kdWx1cyk+PTB8fCFyLnVtb2QoZS5wcmltZTEpfHwhci51bW9kKGUucHJpbWUyKSl7cj1uZXcgaShuKHQpKX1yZXR1cm4gcn19LDkyNzY6ZnVuY3Rpb24oZSx0LHIpe2UuZXhwb3J0cz1yKDI5MDgpfSw0MDc4OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDY5MTEpLkJ1ZmZlcjt2YXIgbj1yKDk3MzkpO3ZhciBhPXIoMzcyNik7dmFyIHM9cigzNzgyKTt2YXIgbz1yKDk4MDcpO3ZhciBoPXIoNDAxMyk7dmFyIHU9cigyOTA4KTtPYmplY3Qua2V5cyh1KS5mb3JFYWNoKChmdW5jdGlvbihlKXt1W2VdLmlkPWkuZnJvbSh1W2VdLmlkLFwiaGV4XCIpO3VbZS50b0xvd2VyQ2FzZSgpXT11W2VdfSkpO2Z1bmN0aW9uIFNpZ24oZSl7YS5Xcml0YWJsZS5jYWxsKHRoaXMpO3ZhciB0PXVbZV07aWYoIXQpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBtZXNzYWdlIGRpZ2VzdFwiKTt0aGlzLl9oYXNoVHlwZT10Lmhhc2g7dGhpcy5faGFzaD1uKHQuaGFzaCk7dGhpcy5fdGFnPXQuaWQ7dGhpcy5fc2lnblR5cGU9dC5zaWdufXMoU2lnbixhLldyaXRhYmxlKTtTaWduLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24gX3dyaXRlKGUsdCxyKXt0aGlzLl9oYXNoLnVwZGF0ZShlKTtyKCl9O1NpZ24ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbiB1cGRhdGUoZSx0KXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpZT1pLmZyb20oZSx0KTt0aGlzLl9oYXNoLnVwZGF0ZShlKTtyZXR1cm4gdGhpc307U2lnbi5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbiBzaWduTWV0aG9kKGUsdCl7dGhpcy5lbmQoKTt2YXIgcj10aGlzLl9oYXNoLmRpZ2VzdCgpO3ZhciBpPW8ocixlLHRoaXMuX2hhc2hUeXBlLHRoaXMuX3NpZ25UeXBlLHRoaXMuX3RhZyk7cmV0dXJuIHQ/aS50b1N0cmluZyh0KTppfTtmdW5jdGlvbiBWZXJpZnkoZSl7YS5Xcml0YWJsZS5jYWxsKHRoaXMpO3ZhciB0PXVbZV07aWYoIXQpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBtZXNzYWdlIGRpZ2VzdFwiKTt0aGlzLl9oYXNoPW4odC5oYXNoKTt0aGlzLl90YWc9dC5pZDt0aGlzLl9zaWduVHlwZT10LnNpZ259cyhWZXJpZnksYS5Xcml0YWJsZSk7VmVyaWZ5LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24gX3dyaXRlKGUsdCxyKXt0aGlzLl9oYXNoLnVwZGF0ZShlKTtyKCl9O1ZlcmlmeS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uIHVwZGF0ZShlLHQpe2lmKHR5cGVvZiBlPT09XCJzdHJpbmdcIillPWkuZnJvbShlLHQpO3RoaXMuX2hhc2gudXBkYXRlKGUpO3JldHVybiB0aGlzfTtWZXJpZnkucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbiB2ZXJpZnlNZXRob2QoZSx0LHIpe2lmKHR5cGVvZiB0PT09XCJzdHJpbmdcIil0PWkuZnJvbSh0LHIpO3RoaXMuZW5kKCk7dmFyIG49dGhpcy5faGFzaC5kaWdlc3QoKTtyZXR1cm4gaCh0LG4sZSx0aGlzLl9zaWduVHlwZSx0aGlzLl90YWcpfTtmdW5jdGlvbiBjcmVhdGVTaWduKGUpe3JldHVybiBuZXcgU2lnbihlKX1mdW5jdGlvbiBjcmVhdGVWZXJpZnkoZSl7cmV0dXJuIG5ldyBWZXJpZnkoZSl9ZS5leHBvcnRzPXtTaWduOmNyZWF0ZVNpZ24sVmVyaWZ5OmNyZWF0ZVZlcmlmeSxjcmVhdGVTaWduOmNyZWF0ZVNpZ24sY3JlYXRlVmVyaWZ5OmNyZWF0ZVZlcmlmeX19LDk4MDc6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNjkxMSkuQnVmZmVyO3ZhciBuPXIoNDg3Myk7dmFyIGE9cig3MTY2KTt2YXIgcz1yKDk0OSkuZWM7dmFyIG89cigxNjcwKTt2YXIgaD1yKDk5MDIpO3ZhciB1PXIoOTI2Nyk7ZnVuY3Rpb24gc2lnbihlLHQscixuLHMpe3ZhciBvPWgodCk7aWYoby5jdXJ2ZSl7aWYobiE9PVwiZWNkc2FcIiYmbiE9PVwiZWNkc2EvcnNhXCIpdGhyb3cgbmV3IEVycm9yKFwid3JvbmcgcHJpdmF0ZSBrZXkgdHlwZVwiKTtyZXR1cm4gZWNTaWduKGUsbyl9ZWxzZSBpZihvLnR5cGU9PT1cImRzYVwiKXtpZihuIT09XCJkc2FcIil0aHJvdyBuZXcgRXJyb3IoXCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlXCIpO3JldHVybiBkc2FTaWduKGUsbyxyKX1lbHNle2lmKG4hPT1cInJzYVwiJiZuIT09XCJlY2RzYS9yc2FcIil0aHJvdyBuZXcgRXJyb3IoXCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlXCIpfWU9aS5jb25jYXQoW3MsZV0pO3ZhciB1PW8ubW9kdWx1cy5ieXRlTGVuZ3RoKCk7dmFyIGQ9WzAsMV07d2hpbGUoZS5sZW5ndGgrZC5sZW5ndGgrMTx1KWQucHVzaCgyNTUpO2QucHVzaCgwKTt2YXIgYz0tMTt3aGlsZSgrK2M8ZS5sZW5ndGgpZC5wdXNoKGVbY10pO3ZhciBsPWEoZCxvKTtyZXR1cm4gbH1mdW5jdGlvbiBlY1NpZ24oZSx0KXt2YXIgcj11W3QuY3VydmUuam9pbihcIi5cIildO2lmKCFyKXRocm93IG5ldyBFcnJvcihcInVua25vd24gY3VydmUgXCIrdC5jdXJ2ZS5qb2luKFwiLlwiKSk7dmFyIG49bmV3IHMocik7dmFyIGE9bi5rZXlGcm9tUHJpdmF0ZSh0LnByaXZhdGVLZXkpO3ZhciBvPWEuc2lnbihlKTtyZXR1cm4gaS5mcm9tKG8udG9ERVIoKSl9ZnVuY3Rpb24gZHNhU2lnbihlLHQscil7dmFyIGk9dC5wYXJhbXMucHJpdl9rZXk7dmFyIG49dC5wYXJhbXMucDt2YXIgYT10LnBhcmFtcy5xO3ZhciBzPXQucGFyYW1zLmc7dmFyIGg9bmV3IG8oMCk7dmFyIHU7dmFyIGQ9Yml0czJpbnQoZSxhKS5tb2QoYSk7dmFyIGM9ZmFsc2U7dmFyIGw9Z2V0S2V5KGksYSxlLHIpO3doaWxlKGM9PT1mYWxzZSl7dT1tYWtlS2V5KGEsbCxyKTtoPW1ha2VSKHMsdSxuLGEpO2M9dS5pbnZtKGEpLmltdWwoZC5hZGQoaS5tdWwoaCkpKS5tb2QoYSk7aWYoYy5jbXBuKDApPT09MCl7Yz1mYWxzZTtoPW5ldyBvKDApfX1yZXR1cm4gdG9ERVIoaCxjKX1mdW5jdGlvbiB0b0RFUihlLHQpe2U9ZS50b0FycmF5KCk7dD10LnRvQXJyYXkoKTtpZihlWzBdJjEyOCllPVswXS5jb25jYXQoZSk7aWYodFswXSYxMjgpdD1bMF0uY29uY2F0KHQpO3ZhciByPWUubGVuZ3RoK3QubGVuZ3RoKzQ7dmFyIG49WzQ4LHIsMixlLmxlbmd0aF07bj1uLmNvbmNhdChlLFsyLHQubGVuZ3RoXSx0KTtyZXR1cm4gaS5mcm9tKG4pfWZ1bmN0aW9uIGdldEtleShlLHQscixhKXtlPWkuZnJvbShlLnRvQXJyYXkoKSk7aWYoZS5sZW5ndGg8dC5ieXRlTGVuZ3RoKCkpe3ZhciBzPWkuYWxsb2ModC5ieXRlTGVuZ3RoKCktZS5sZW5ndGgpO2U9aS5jb25jYXQoW3MsZV0pfXZhciBvPXIubGVuZ3RoO3ZhciBoPWJpdHMyb2N0ZXRzKHIsdCk7dmFyIHU9aS5hbGxvYyhvKTt1LmZpbGwoMSk7dmFyIGQ9aS5hbGxvYyhvKTtkPW4oYSxkKS51cGRhdGUodSkudXBkYXRlKGkuZnJvbShbMF0pKS51cGRhdGUoZSkudXBkYXRlKGgpLmRpZ2VzdCgpO3U9bihhLGQpLnVwZGF0ZSh1KS5kaWdlc3QoKTtkPW4oYSxkKS51cGRhdGUodSkudXBkYXRlKGkuZnJvbShbMV0pKS51cGRhdGUoZSkudXBkYXRlKGgpLmRpZ2VzdCgpO3U9bihhLGQpLnVwZGF0ZSh1KS5kaWdlc3QoKTtyZXR1cm57azpkLHY6dX19ZnVuY3Rpb24gYml0czJpbnQoZSx0KXt2YXIgcj1uZXcgbyhlKTt2YXIgaT0oZS5sZW5ndGg8PDMpLXQuYml0TGVuZ3RoKCk7aWYoaT4wKXIuaXNocm4oaSk7cmV0dXJuIHJ9ZnVuY3Rpb24gYml0czJvY3RldHMoZSx0KXtlPWJpdHMyaW50KGUsdCk7ZT1lLm1vZCh0KTt2YXIgcj1pLmZyb20oZS50b0FycmF5KCkpO2lmKHIubGVuZ3RoPHQuYnl0ZUxlbmd0aCgpKXt2YXIgbj1pLmFsbG9jKHQuYnl0ZUxlbmd0aCgpLXIubGVuZ3RoKTtyPWkuY29uY2F0KFtuLHJdKX1yZXR1cm4gcn1mdW5jdGlvbiBtYWtlS2V5KGUsdCxyKXt2YXIgYTt2YXIgcztkb3thPWkuYWxsb2MoMCk7d2hpbGUoYS5sZW5ndGgqODxlLmJpdExlbmd0aCgpKXt0LnY9bihyLHQuaykudXBkYXRlKHQudikuZGlnZXN0KCk7YT1pLmNvbmNhdChbYSx0LnZdKX1zPWJpdHMyaW50KGEsZSk7dC5rPW4ocix0LmspLnVwZGF0ZSh0LnYpLnVwZGF0ZShpLmZyb20oWzBdKSkuZGlnZXN0KCk7dC52PW4ocix0LmspLnVwZGF0ZSh0LnYpLmRpZ2VzdCgpfXdoaWxlKHMuY21wKGUpIT09LTEpO3JldHVybiBzfWZ1bmN0aW9uIG1ha2VSKGUsdCxyLGkpe3JldHVybiBlLnRvUmVkKG8ubW9udChyKSkucmVkUG93KHQpLmZyb21SZWQoKS5tb2QoaSl9ZS5leHBvcnRzPXNpZ247ZS5leHBvcnRzLmdldEtleT1nZXRLZXk7ZS5leHBvcnRzLm1ha2VLZXk9bWFrZUtleX0sNDAxMzpmdW5jdGlvbihlLHQscil7dmFyIGk9cig2OTExKS5CdWZmZXI7dmFyIG49cigxNjcwKTt2YXIgYT1yKDk0OSkuZWM7dmFyIHM9cig5OTAyKTt2YXIgbz1yKDkyNjcpO2Z1bmN0aW9uIHZlcmlmeShlLHQscixhLG8pe3ZhciBoPXMocik7aWYoaC50eXBlPT09XCJlY1wiKXtpZihhIT09XCJlY2RzYVwiJiZhIT09XCJlY2RzYS9yc2FcIil0aHJvdyBuZXcgRXJyb3IoXCJ3cm9uZyBwdWJsaWMga2V5IHR5cGVcIik7cmV0dXJuIGVjVmVyaWZ5KGUsdCxoKX1lbHNlIGlmKGgudHlwZT09PVwiZHNhXCIpe2lmKGEhPT1cImRzYVwiKXRocm93IG5ldyBFcnJvcihcIndyb25nIHB1YmxpYyBrZXkgdHlwZVwiKTtyZXR1cm4gZHNhVmVyaWZ5KGUsdCxoKX1lbHNle2lmKGEhPT1cInJzYVwiJiZhIT09XCJlY2RzYS9yc2FcIil0aHJvdyBuZXcgRXJyb3IoXCJ3cm9uZyBwdWJsaWMga2V5IHR5cGVcIil9dD1pLmNvbmNhdChbbyx0XSk7dmFyIHU9aC5tb2R1bHVzLmJ5dGVMZW5ndGgoKTt2YXIgZD1bMV07dmFyIGM9MDt3aGlsZSh0Lmxlbmd0aCtkLmxlbmd0aCsyPHUpe2QucHVzaCgyNTUpO2MrK31kLnB1c2goMCk7dmFyIGw9LTE7d2hpbGUoKytsPHQubGVuZ3RoKXtkLnB1c2godFtsXSl9ZD1pLmZyb20oZCk7dmFyIHA9bi5tb250KGgubW9kdWx1cyk7ZT1uZXcgbihlKS50b1JlZChwKTtlPWUucmVkUG93KG5ldyBuKGgucHVibGljRXhwb25lbnQpKTtlPWkuZnJvbShlLmZyb21SZWQoKS50b0FycmF5KCkpO3ZhciB2PWM8OD8xOjA7dT1NYXRoLm1pbihlLmxlbmd0aCxkLmxlbmd0aCk7aWYoZS5sZW5ndGghPT1kLmxlbmd0aCl2PTE7bD0tMTt3aGlsZSgrK2w8dSl2fD1lW2xdXmRbbF07cmV0dXJuIHY9PT0wfWZ1bmN0aW9uIGVjVmVyaWZ5KGUsdCxyKXt2YXIgaT1vW3IuZGF0YS5hbGdvcml0aG0uY3VydmUuam9pbihcIi5cIildO2lmKCFpKXRocm93IG5ldyBFcnJvcihcInVua25vd24gY3VydmUgXCIrci5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKFwiLlwiKSk7dmFyIG49bmV3IGEoaSk7dmFyIHM9ci5kYXRhLnN1YmplY3RQcml2YXRlS2V5LmRhdGE7cmV0dXJuIG4udmVyaWZ5KHQsZSxzKX1mdW5jdGlvbiBkc2FWZXJpZnkoZSx0LHIpe3ZhciBpPXIuZGF0YS5wO3ZhciBhPXIuZGF0YS5xO3ZhciBvPXIuZGF0YS5nO3ZhciBoPXIuZGF0YS5wdWJfa2V5O3ZhciB1PXMuc2lnbmF0dXJlLmRlY29kZShlLFwiZGVyXCIpO3ZhciBkPXUuczt2YXIgYz11LnI7Y2hlY2tWYWx1ZShkLGEpO2NoZWNrVmFsdWUoYyxhKTt2YXIgbD1uLm1vbnQoaSk7dmFyIHA9ZC5pbnZtKGEpO3ZhciB2PW8udG9SZWQobCkucmVkUG93KG5ldyBuKHQpLm11bChwKS5tb2QoYSkpLmZyb21SZWQoKS5tdWwoaC50b1JlZChsKS5yZWRQb3coYy5tdWwocCkubW9kKGEpKS5mcm9tUmVkKCkpLm1vZChpKS5tb2QoYSk7cmV0dXJuIHYuY21wKGMpPT09MH1mdW5jdGlvbiBjaGVja1ZhbHVlKGUsdCl7aWYoZS5jbXBuKDApPD0wKXRocm93IG5ldyBFcnJvcihcImludmFsaWQgc2lnXCIpO2lmKGUuY21wKHQpPj10KXRocm93IG5ldyBFcnJvcihcImludmFsaWQgc2lnXCIpfWUuZXhwb3J0cz12ZXJpZnl9LDQ3MzQ6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPWZ1bmN0aW9uIHhvcihlLHQpe3ZhciByPU1hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTt2YXIgaT1uZXcgQnVmZmVyKHIpO2Zvcih2YXIgbj0wO248cjsrK24pe2lbbl09ZVtuXV50W25dfXJldHVybiBpfX0sMTA0MzpmdW5jdGlvbihlLHQscil7dmFyIGk9cig2OTExKS5CdWZmZXI7dmFyIG49cigyNzgxKS5UcmFuc2Zvcm07dmFyIGE9cigxNTc2KS5TdHJpbmdEZWNvZGVyO3ZhciBzPXIoMzc4Mik7ZnVuY3Rpb24gQ2lwaGVyQmFzZShlKXtuLmNhbGwodGhpcyk7dGhpcy5oYXNoTW9kZT10eXBlb2YgZT09PVwic3RyaW5nXCI7aWYodGhpcy5oYXNoTW9kZSl7dGhpc1tlXT10aGlzLl9maW5hbE9yRGlnZXN0fWVsc2V7dGhpcy5maW5hbD10aGlzLl9maW5hbE9yRGlnZXN0fWlmKHRoaXMuX2ZpbmFsKXt0aGlzLl9fZmluYWw9dGhpcy5fZmluYWw7dGhpcy5fZmluYWw9bnVsbH10aGlzLl9kZWNvZGVyPW51bGw7dGhpcy5fZW5jb2Rpbmc9bnVsbH1zKENpcGhlckJhc2Usbik7Q2lwaGVyQmFzZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUsdCxyKXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe2U9aS5mcm9tKGUsdCl9dmFyIG49dGhpcy5fdXBkYXRlKGUpO2lmKHRoaXMuaGFzaE1vZGUpcmV0dXJuIHRoaXM7aWYocil7bj10aGlzLl90b1N0cmluZyhuLHIpfXJldHVybiBufTtDaXBoZXJCYXNlLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZz1mdW5jdGlvbigpe307Q2lwaGVyQmFzZS5wcm90b3R5cGUuZ2V0QXV0aFRhZz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcInRyeWluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGVcIil9O0NpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dGhUYWc9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJ0cnlpbmcgdG8gc2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlXCIpfTtDaXBoZXJCYXNlLnByb3RvdHlwZS5zZXRBQUQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJ0cnlpbmcgdG8gc2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZVwiKX07Q2lwaGVyQmFzZS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihlLHQscil7dmFyIGk7dHJ5e2lmKHRoaXMuaGFzaE1vZGUpe3RoaXMuX3VwZGF0ZShlKX1lbHNle3RoaXMucHVzaCh0aGlzLl91cGRhdGUoZSkpfX1jYXRjaChlKXtpPWV9ZmluYWxseXtyKGkpfX07Q2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZsdXNoPWZ1bmN0aW9uKGUpe3ZhciB0O3RyeXt0aGlzLnB1c2godGhpcy5fX2ZpbmFsKCkpfWNhdGNoKGUpe3Q9ZX1lKHQpfTtDaXBoZXJCYXNlLnByb3RvdHlwZS5fZmluYWxPckRpZ2VzdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9fZmluYWwoKXx8aS5hbGxvYygwKTtpZihlKXt0PXRoaXMuX3RvU3RyaW5nKHQsZSx0cnVlKX1yZXR1cm4gdH07Q2lwaGVyQmFzZS5wcm90b3R5cGUuX3RvU3RyaW5nPWZ1bmN0aW9uKGUsdCxyKXtpZighdGhpcy5fZGVjb2Rlcil7dGhpcy5fZGVjb2Rlcj1uZXcgYSh0KTt0aGlzLl9lbmNvZGluZz10fWlmKHRoaXMuX2VuY29kaW5nIT09dCl0aHJvdyBuZXcgRXJyb3IoXCJjYW4ndCBzd2l0Y2ggZW5jb2RpbmdzXCIpO3ZhciBpPXRoaXMuX2RlY29kZXIud3JpdGUoZSk7aWYocil7aSs9dGhpcy5fZGVjb2Rlci5lbmQoKX1yZXR1cm4gaX07ZS5leHBvcnRzPUNpcGhlckJhc2V9LDk5NDI6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoOTQ5KTt2YXIgbj1yKDcxMSk7ZS5leHBvcnRzPWZ1bmN0aW9uIGNyZWF0ZUVDREgoZSl7cmV0dXJuIG5ldyBFQ0RIKGUpfTt2YXIgYT17c2VjcDI1NmsxOntuYW1lOlwic2VjcDI1NmsxXCIsYnl0ZUxlbmd0aDozMn0sc2VjcDIyNHIxOntuYW1lOlwicDIyNFwiLGJ5dGVMZW5ndGg6Mjh9LHByaW1lMjU2djE6e25hbWU6XCJwMjU2XCIsYnl0ZUxlbmd0aDozMn0scHJpbWUxOTJ2MTp7bmFtZTpcInAxOTJcIixieXRlTGVuZ3RoOjI0fSxlZDI1NTE5OntuYW1lOlwiZWQyNTUxOVwiLGJ5dGVMZW5ndGg6MzJ9LHNlY3AzODRyMTp7bmFtZTpcInAzODRcIixieXRlTGVuZ3RoOjQ4fSxzZWNwNTIxcjE6e25hbWU6XCJwNTIxXCIsYnl0ZUxlbmd0aDo2Nn19O2EucDIyND1hLnNlY3AyMjRyMTthLnAyNTY9YS5zZWNwMjU2cjE9YS5wcmltZTI1NnYxO2EucDE5Mj1hLnNlY3AxOTJyMT1hLnByaW1lMTkydjE7YS5wMzg0PWEuc2VjcDM4NHIxO2EucDUyMT1hLnNlY3A1MjFyMTtmdW5jdGlvbiBFQ0RIKGUpe3RoaXMuY3VydmVUeXBlPWFbZV07aWYoIXRoaXMuY3VydmVUeXBlKXt0aGlzLmN1cnZlVHlwZT17bmFtZTplfX10aGlzLmN1cnZlPW5ldyBpLmVjKHRoaXMuY3VydmVUeXBlLm5hbWUpO3RoaXMua2V5cz12b2lkIDB9RUNESC5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzPWZ1bmN0aW9uKGUsdCl7dGhpcy5rZXlzPXRoaXMuY3VydmUuZ2VuS2V5UGFpcigpO3JldHVybiB0aGlzLmdldFB1YmxpY0tleShlLHQpfTtFQ0RILnByb3RvdHlwZS5jb21wdXRlU2VjcmV0PWZ1bmN0aW9uKGUsdCxyKXt0PXR8fFwidXRmOFwiO2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpe2U9bmV3IEJ1ZmZlcihlLHQpfXZhciBpPXRoaXMuY3VydmUua2V5RnJvbVB1YmxpYyhlKS5nZXRQdWJsaWMoKTt2YXIgbj1pLm11bCh0aGlzLmtleXMuZ2V0UHJpdmF0ZSgpKS5nZXRYKCk7cmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKG4scix0aGlzLmN1cnZlVHlwZS5ieXRlTGVuZ3RoKX07RUNESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5PWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5rZXlzLmdldFB1YmxpYyh0PT09XCJjb21wcmVzc2VkXCIsdHJ1ZSk7aWYodD09PVwiaHlicmlkXCIpe2lmKHJbci5sZW5ndGgtMV0lMil7clswXT03fWVsc2V7clswXT02fX1yZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUocixlKX07RUNESC5wcm90b3R5cGUuZ2V0UHJpdmF0ZUtleT1mdW5jdGlvbihlKXtyZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5rZXlzLmdldFByaXZhdGUoKSxlKX07RUNESC5wcm90b3R5cGUuc2V0UHVibGljS2V5PWZ1bmN0aW9uKGUsdCl7dD10fHxcInV0ZjhcIjtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXtlPW5ldyBCdWZmZXIoZSx0KX10aGlzLmtleXMuX2ltcG9ydFB1YmxpYyhlKTtyZXR1cm4gdGhpc307RUNESC5wcm90b3R5cGUuc2V0UHJpdmF0ZUtleT1mdW5jdGlvbihlLHQpe3Q9dHx8XCJ1dGY4XCI7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSl7ZT1uZXcgQnVmZmVyKGUsdCl9dmFyIHI9bmV3IG4oZSk7cj1yLnRvU3RyaW5nKDE2KTt0aGlzLmtleXM9dGhpcy5jdXJ2ZS5nZW5LZXlQYWlyKCk7dGhpcy5rZXlzLl9pbXBvcnRQcml2YXRlKHIpO3JldHVybiB0aGlzfTtmdW5jdGlvbiBmb3JtYXRSZXR1cm5WYWx1ZShlLHQscil7aWYoIUFycmF5LmlzQXJyYXkoZSkpe2U9ZS50b0FycmF5KCl9dmFyIGk9bmV3IEJ1ZmZlcihlKTtpZihyJiZpLmxlbmd0aDxyKXt2YXIgbj1uZXcgQnVmZmVyKHItaS5sZW5ndGgpO24uZmlsbCgwKTtpPUJ1ZmZlci5jb25jYXQoW24saV0pfWlmKCF0KXtyZXR1cm4gaX1lbHNle3JldHVybiBpLnRvU3RyaW5nKHQpfX19LDk3Mzk6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoMzc4Mik7dmFyIG49cigzNTMzKTt2YXIgYT1yKDMyMjUpO3ZhciBzPXIoNDM3MSk7dmFyIG89cigxMDQzKTtmdW5jdGlvbiBIYXNoKGUpe28uY2FsbCh0aGlzLFwiZGlnZXN0XCIpO3RoaXMuX2hhc2g9ZX1pKEhhc2gsbyk7SGFzaC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLl9oYXNoLnVwZGF0ZShlKX07SGFzaC5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2hhc2guZGlnZXN0KCl9O2UuZXhwb3J0cz1mdW5jdGlvbiBjcmVhdGVIYXNoKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2lmKGU9PT1cIm1kNVwiKXJldHVybiBuZXcgbjtpZihlPT09XCJybWQxNjBcInx8ZT09PVwicmlwZW1kMTYwXCIpcmV0dXJuIG5ldyBhO3JldHVybiBuZXcgSGFzaChzKGUpKX19LDQ1MDpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNTMzKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuKG5ldyBpKS51cGRhdGUoZSkuZGlnZXN0KCl9fSw0ODczOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDM3ODIpO3ZhciBuPXIoODExOSk7dmFyIGE9cigxMDQzKTt2YXIgcz1yKDY5MTEpLkJ1ZmZlcjt2YXIgbz1yKDQ1MCk7dmFyIGg9cigzMjI1KTt2YXIgdT1yKDQzNzEpO3ZhciBkPXMuYWxsb2MoMTI4KTtmdW5jdGlvbiBIbWFjKGUsdCl7YS5jYWxsKHRoaXMsXCJkaWdlc3RcIik7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiKXt0PXMuZnJvbSh0KX12YXIgcj1lPT09XCJzaGE1MTJcInx8ZT09PVwic2hhMzg0XCI/MTI4OjY0O3RoaXMuX2FsZz1lO3RoaXMuX2tleT10O2lmKHQubGVuZ3RoPnIpe3ZhciBpPWU9PT1cInJtZDE2MFwiP25ldyBoOnUoZSk7dD1pLnVwZGF0ZSh0KS5kaWdlc3QoKX1lbHNlIGlmKHQubGVuZ3RoPHIpe3Q9cy5jb25jYXQoW3QsZF0scil9dmFyIG49dGhpcy5faXBhZD1zLmFsbG9jVW5zYWZlKHIpO3ZhciBvPXRoaXMuX29wYWQ9cy5hbGxvY1Vuc2FmZShyKTtmb3IodmFyIGM9MDtjPHI7YysrKXtuW2NdPXRbY11eNTQ7b1tjXT10W2NdXjkyfXRoaXMuX2hhc2g9ZT09PVwicm1kMTYwXCI/bmV3IGg6dShlKTt0aGlzLl9oYXNoLnVwZGF0ZShuKX1pKEhtYWMsYSk7SG1hYy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLl9oYXNoLnVwZGF0ZShlKX07SG1hYy5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faGFzaC5kaWdlc3QoKTt2YXIgdD10aGlzLl9hbGc9PT1cInJtZDE2MFwiP25ldyBoOnUodGhpcy5fYWxnKTtyZXR1cm4gdC51cGRhdGUodGhpcy5fb3BhZCkudXBkYXRlKGUpLmRpZ2VzdCgpfTtlLmV4cG9ydHM9ZnVuY3Rpb24gY3JlYXRlSG1hYyhlLHQpe2U9ZS50b0xvd2VyQ2FzZSgpO2lmKGU9PT1cInJtZDE2MFwifHxlPT09XCJyaXBlbWQxNjBcIil7cmV0dXJuIG5ldyBIbWFjKFwicm1kMTYwXCIsdCl9aWYoZT09PVwibWQ1XCIpe3JldHVybiBuZXcgbihvLHQpfXJldHVybiBuZXcgSG1hYyhlLHQpfX0sODExOTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDY5MTEpLkJ1ZmZlcjt2YXIgYT1yKDEwNDMpO3ZhciBzPW4uYWxsb2MoMTI4KTt2YXIgbz02NDtmdW5jdGlvbiBIbWFjKGUsdCl7YS5jYWxsKHRoaXMsXCJkaWdlc3RcIik7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiKXt0PW4uZnJvbSh0KX10aGlzLl9hbGc9ZTt0aGlzLl9rZXk9dDtpZih0Lmxlbmd0aD5vKXt0PWUodCl9ZWxzZSBpZih0Lmxlbmd0aDxvKXt0PW4uY29uY2F0KFt0LHNdLG8pfXZhciByPXRoaXMuX2lwYWQ9bi5hbGxvY1Vuc2FmZShvKTt2YXIgaT10aGlzLl9vcGFkPW4uYWxsb2NVbnNhZmUobyk7Zm9yKHZhciBoPTA7aDxvO2grKyl7cltoXT10W2hdXjU0O2lbaF09dFtoXV45Mn10aGlzLl9oYXNoPVtyXX1pKEhtYWMsYSk7SG1hYy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLl9oYXNoLnB1c2goZSl9O0htYWMucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2FsZyhuLmNvbmNhdCh0aGlzLl9oYXNoKSk7cmV0dXJuIHRoaXMuX2FsZyhuLmNvbmNhdChbdGhpcy5fb3BhZCxlXSkpfTtlLmV4cG9ydHM9SG1hY30sOTUzNjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dC51dGlscz1yKDUzMzQpO3QuQ2lwaGVyPXIoOTg3Nik7dC5ERVM9cigxMDE2KTt0LkNCQz1yKDg2NDEpO3QuRURFPXIoNjE1OSl9LDg2NDE6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoMzUyMyk7dmFyIG49cigzNzgyKTt2YXIgYT17fTtmdW5jdGlvbiBDQkNTdGF0ZShlKXtpLmVxdWFsKGUubGVuZ3RoLDgsXCJJbnZhbGlkIElWIGxlbmd0aFwiKTt0aGlzLml2PW5ldyBBcnJheSg4KTtmb3IodmFyIHQ9MDt0PHRoaXMuaXYubGVuZ3RoO3QrKyl0aGlzLml2W3RdPWVbdF19ZnVuY3Rpb24gaW5zdGFudGlhdGUoZSl7ZnVuY3Rpb24gQ0JDKHQpe2UuY2FsbCh0aGlzLHQpO3RoaXMuX2NiY0luaXQoKX1uKENCQyxlKTt2YXIgdD1PYmplY3Qua2V5cyhhKTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGk9dFtyXTtDQkMucHJvdG90eXBlW2ldPWFbaV19Q0JDLmNyZWF0ZT1mdW5jdGlvbiBjcmVhdGUoZSl7cmV0dXJuIG5ldyBDQkMoZSl9O3JldHVybiBDQkN9dC5pbnN0YW50aWF0ZT1pbnN0YW50aWF0ZTthLl9jYmNJbml0PWZ1bmN0aW9uIF9jYmNJbml0KCl7dmFyIGU9bmV3IENCQ1N0YXRlKHRoaXMub3B0aW9ucy5pdik7dGhpcy5fY2JjU3RhdGU9ZX07YS5fdXBkYXRlPWZ1bmN0aW9uIF91cGRhdGUoZSx0LHIsaSl7dmFyIG49dGhpcy5fY2JjU3RhdGU7dmFyIGE9dGhpcy5jb25zdHJ1Y3Rvci5zdXBlcl8ucHJvdG90eXBlO3ZhciBzPW4uaXY7aWYodGhpcy50eXBlPT09XCJlbmNyeXB0XCIpe2Zvcih2YXIgbz0wO288dGhpcy5ibG9ja1NpemU7bysrKXNbb11ePWVbdCtvXTthLl91cGRhdGUuY2FsbCh0aGlzLHMsMCxyLGkpO2Zvcih2YXIgbz0wO288dGhpcy5ibG9ja1NpemU7bysrKXNbb109cltpK29dfWVsc2V7YS5fdXBkYXRlLmNhbGwodGhpcyxlLHQscixpKTtmb3IodmFyIG89MDtvPHRoaXMuYmxvY2tTaXplO28rKylyW2krb11ePXNbb107Zm9yKHZhciBvPTA7bzx0aGlzLmJsb2NrU2l6ZTtvKyspc1tvXT1lW3Qrb119fX0sOTg3NjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigzNTIzKTtmdW5jdGlvbiBDaXBoZXIoZSl7dGhpcy5vcHRpb25zPWU7dGhpcy50eXBlPXRoaXMub3B0aW9ucy50eXBlO3RoaXMuYmxvY2tTaXplPTg7dGhpcy5faW5pdCgpO3RoaXMuYnVmZmVyPW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dGhpcy5idWZmZXJPZmY9MH1lLmV4cG9ydHM9Q2lwaGVyO0NpcGhlci5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24gX2luaXQoKXt9O0NpcGhlci5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uIHVwZGF0ZShlKXtpZihlLmxlbmd0aD09PTApcmV0dXJuW107aWYodGhpcy50eXBlPT09XCJkZWNyeXB0XCIpcmV0dXJuIHRoaXMuX3VwZGF0ZURlY3J5cHQoZSk7ZWxzZSByZXR1cm4gdGhpcy5fdXBkYXRlRW5jcnlwdChlKX07Q2lwaGVyLnByb3RvdHlwZS5fYnVmZmVyPWZ1bmN0aW9uIF9idWZmZXIoZSx0KXt2YXIgcj1NYXRoLm1pbih0aGlzLmJ1ZmZlci5sZW5ndGgtdGhpcy5idWZmZXJPZmYsZS5sZW5ndGgtdCk7Zm9yKHZhciBpPTA7aTxyO2krKyl0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZitpXT1lW3QraV07dGhpcy5idWZmZXJPZmYrPXI7cmV0dXJuIHJ9O0NpcGhlci5wcm90b3R5cGUuX2ZsdXNoQnVmZmVyPWZ1bmN0aW9uIF9mbHVzaEJ1ZmZlcihlLHQpe3RoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwwLGUsdCk7dGhpcy5idWZmZXJPZmY9MDtyZXR1cm4gdGhpcy5ibG9ja1NpemV9O0NpcGhlci5wcm90b3R5cGUuX3VwZGF0ZUVuY3J5cHQ9ZnVuY3Rpb24gX3VwZGF0ZUVuY3J5cHQoZSl7dmFyIHQ9MDt2YXIgcj0wO3ZhciBpPSh0aGlzLmJ1ZmZlck9mZitlLmxlbmd0aCkvdGhpcy5ibG9ja1NpemV8MDt2YXIgbj1uZXcgQXJyYXkoaSp0aGlzLmJsb2NrU2l6ZSk7aWYodGhpcy5idWZmZXJPZmYhPT0wKXt0Kz10aGlzLl9idWZmZXIoZSx0KTtpZih0aGlzLmJ1ZmZlck9mZj09PXRoaXMuYnVmZmVyLmxlbmd0aClyKz10aGlzLl9mbHVzaEJ1ZmZlcihuLHIpfXZhciBhPWUubGVuZ3RoLShlLmxlbmd0aC10KSV0aGlzLmJsb2NrU2l6ZTtmb3IoO3Q8YTt0Kz10aGlzLmJsb2NrU2l6ZSl7dGhpcy5fdXBkYXRlKGUsdCxuLHIpO3IrPXRoaXMuYmxvY2tTaXplfWZvcig7dDxlLmxlbmd0aDt0KyssdGhpcy5idWZmZXJPZmYrKyl0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZl09ZVt0XTtyZXR1cm4gbn07Q2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlRGVjcnlwdD1mdW5jdGlvbiBfdXBkYXRlRGVjcnlwdChlKXt2YXIgdD0wO3ZhciByPTA7dmFyIGk9TWF0aC5jZWlsKCh0aGlzLmJ1ZmZlck9mZitlLmxlbmd0aCkvdGhpcy5ibG9ja1NpemUpLTE7dmFyIG49bmV3IEFycmF5KGkqdGhpcy5ibG9ja1NpemUpO2Zvcig7aT4wO2ktLSl7dCs9dGhpcy5fYnVmZmVyKGUsdCk7cis9dGhpcy5fZmx1c2hCdWZmZXIobixyKX10Kz10aGlzLl9idWZmZXIoZSx0KTtyZXR1cm4gbn07Q2lwaGVyLnByb3RvdHlwZS5maW5hbD1mdW5jdGlvbiBmaW5hbChlKXt2YXIgdDtpZihlKXQ9dGhpcy51cGRhdGUoZSk7dmFyIHI7aWYodGhpcy50eXBlPT09XCJlbmNyeXB0XCIpcj10aGlzLl9maW5hbEVuY3J5cHQoKTtlbHNlIHI9dGhpcy5fZmluYWxEZWNyeXB0KCk7aWYodClyZXR1cm4gdC5jb25jYXQocik7ZWxzZSByZXR1cm4gcn07Q2lwaGVyLnByb3RvdHlwZS5fcGFkPWZ1bmN0aW9uIF9wYWQoZSx0KXtpZih0PT09MClyZXR1cm4gZmFsc2U7d2hpbGUodDxlLmxlbmd0aCllW3QrK109MDtyZXR1cm4gdHJ1ZX07Q2lwaGVyLnByb3RvdHlwZS5fZmluYWxFbmNyeXB0PWZ1bmN0aW9uIF9maW5hbEVuY3J5cHQoKXtpZighdGhpcy5fcGFkKHRoaXMuYnVmZmVyLHRoaXMuYnVmZmVyT2ZmKSlyZXR1cm5bXTt2YXIgZT1uZXcgQXJyYXkodGhpcy5ibG9ja1NpemUpO3RoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwwLGUsMCk7cmV0dXJuIGV9O0NpcGhlci5wcm90b3R5cGUuX3VucGFkPWZ1bmN0aW9uIF91bnBhZChlKXtyZXR1cm4gZX07Q2lwaGVyLnByb3RvdHlwZS5fZmluYWxEZWNyeXB0PWZ1bmN0aW9uIF9maW5hbERlY3J5cHQoKXtpLmVxdWFsKHRoaXMuYnVmZmVyT2ZmLHRoaXMuYmxvY2tTaXplLFwiTm90IGVub3VnaCBkYXRhIHRvIGRlY3J5cHRcIik7dmFyIGU9bmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTt0aGlzLl9mbHVzaEJ1ZmZlcihlLDApO3JldHVybiB0aGlzLl91bnBhZChlKX19LDEwMTY6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoMzUyMyk7dmFyIG49cigzNzgyKTt2YXIgYT1yKDUzMzQpO3ZhciBzPXIoOTg3Nik7ZnVuY3Rpb24gREVTU3RhdGUoKXt0aGlzLnRtcD1uZXcgQXJyYXkoMik7dGhpcy5rZXlzPW51bGx9ZnVuY3Rpb24gREVTKGUpe3MuY2FsbCh0aGlzLGUpO3ZhciB0PW5ldyBERVNTdGF0ZTt0aGlzLl9kZXNTdGF0ZT10O3RoaXMuZGVyaXZlS2V5cyh0LGUua2V5KX1uKERFUyxzKTtlLmV4cG9ydHM9REVTO0RFUy5jcmVhdGU9ZnVuY3Rpb24gY3JlYXRlKGUpe3JldHVybiBuZXcgREVTKGUpfTt2YXIgbz1bMSwxLDIsMiwyLDIsMiwyLDEsMiwyLDIsMiwyLDIsMV07REVTLnByb3RvdHlwZS5kZXJpdmVLZXlzPWZ1bmN0aW9uIGRlcml2ZUtleXMoZSx0KXtlLmtleXM9bmV3IEFycmF5KDE2KjIpO2kuZXF1YWwodC5sZW5ndGgsdGhpcy5ibG9ja1NpemUsXCJJbnZhbGlkIGtleSBsZW5ndGhcIik7dmFyIHI9YS5yZWFkVUludDMyQkUodCwwKTt2YXIgbj1hLnJlYWRVSW50MzJCRSh0LDQpO2EucGMxKHIsbixlLnRtcCwwKTtyPWUudG1wWzBdO249ZS50bXBbMV07Zm9yKHZhciBzPTA7czxlLmtleXMubGVuZ3RoO3MrPTIpe3ZhciBoPW9bcz4+PjFdO3I9YS5yMjhzaGwocixoKTtuPWEucjI4c2hsKG4saCk7YS5wYzIocixuLGUua2V5cyxzKX19O0RFUy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbiBfdXBkYXRlKGUsdCxyLGkpe3ZhciBuPXRoaXMuX2Rlc1N0YXRlO3ZhciBzPWEucmVhZFVJbnQzMkJFKGUsdCk7dmFyIG89YS5yZWFkVUludDMyQkUoZSx0KzQpO2EuaXAocyxvLG4udG1wLDApO3M9bi50bXBbMF07bz1uLnRtcFsxXTtpZih0aGlzLnR5cGU9PT1cImVuY3J5cHRcIil0aGlzLl9lbmNyeXB0KG4scyxvLG4udG1wLDApO2Vsc2UgdGhpcy5fZGVjcnlwdChuLHMsbyxuLnRtcCwwKTtzPW4udG1wWzBdO289bi50bXBbMV07YS53cml0ZVVJbnQzMkJFKHIscyxpKTthLndyaXRlVUludDMyQkUocixvLGkrNCl9O0RFUy5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbiBfcGFkKGUsdCl7dmFyIHI9ZS5sZW5ndGgtdDtmb3IodmFyIGk9dDtpPGUubGVuZ3RoO2krKyllW2ldPXI7cmV0dXJuIHRydWV9O0RFUy5wcm90b3R5cGUuX3VucGFkPWZ1bmN0aW9uIF91bnBhZChlKXt2YXIgdD1lW2UubGVuZ3RoLTFdO2Zvcih2YXIgcj1lLmxlbmd0aC10O3I8ZS5sZW5ndGg7cisrKWkuZXF1YWwoZVtyXSx0KTtyZXR1cm4gZS5zbGljZSgwLGUubGVuZ3RoLXQpfTtERVMucHJvdG90eXBlLl9lbmNyeXB0PWZ1bmN0aW9uIF9lbmNyeXB0KGUsdCxyLGksbil7dmFyIHM9dDt2YXIgbz1yO2Zvcih2YXIgaD0wO2g8ZS5rZXlzLmxlbmd0aDtoKz0yKXt2YXIgdT1lLmtleXNbaF07dmFyIGQ9ZS5rZXlzW2grMV07YS5leHBhbmQobyxlLnRtcCwwKTt1Xj1lLnRtcFswXTtkXj1lLnRtcFsxXTt2YXIgYz1hLnN1YnN0aXR1dGUodSxkKTt2YXIgbD1hLnBlcm11dGUoYyk7dmFyIHA9bztvPShzXmwpPj4+MDtzPXB9YS5yaXAobyxzLGksbil9O0RFUy5wcm90b3R5cGUuX2RlY3J5cHQ9ZnVuY3Rpb24gX2RlY3J5cHQoZSx0LHIsaSxuKXt2YXIgcz1yO3ZhciBvPXQ7Zm9yKHZhciBoPWUua2V5cy5sZW5ndGgtMjtoPj0wO2gtPTIpe3ZhciB1PWUua2V5c1toXTt2YXIgZD1lLmtleXNbaCsxXTthLmV4cGFuZChzLGUudG1wLDApO3VePWUudG1wWzBdO2RePWUudG1wWzFdO3ZhciBjPWEuc3Vic3RpdHV0ZSh1LGQpO3ZhciBsPWEucGVybXV0ZShjKTt2YXIgcD1zO3M9KG9ebCk+Pj4wO289cH1hLnJpcChzLG8saSxuKX19LDYxNTk6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoMzUyMyk7dmFyIG49cigzNzgyKTt2YXIgYT1yKDk4NzYpO3ZhciBzPXIoMTAxNik7ZnVuY3Rpb24gRURFU3RhdGUoZSx0KXtpLmVxdWFsKHQubGVuZ3RoLDI0LFwiSW52YWxpZCBrZXkgbGVuZ3RoXCIpO3ZhciByPXQuc2xpY2UoMCw4KTt2YXIgbj10LnNsaWNlKDgsMTYpO3ZhciBhPXQuc2xpY2UoMTYsMjQpO2lmKGU9PT1cImVuY3J5cHRcIil7dGhpcy5jaXBoZXJzPVtzLmNyZWF0ZSh7dHlwZTpcImVuY3J5cHRcIixrZXk6cn0pLHMuY3JlYXRlKHt0eXBlOlwiZGVjcnlwdFwiLGtleTpufSkscy5jcmVhdGUoe3R5cGU6XCJlbmNyeXB0XCIsa2V5OmF9KV19ZWxzZXt0aGlzLmNpcGhlcnM9W3MuY3JlYXRlKHt0eXBlOlwiZGVjcnlwdFwiLGtleTphfSkscy5jcmVhdGUoe3R5cGU6XCJlbmNyeXB0XCIsa2V5Om59KSxzLmNyZWF0ZSh7dHlwZTpcImRlY3J5cHRcIixrZXk6cn0pXX19ZnVuY3Rpb24gRURFKGUpe2EuY2FsbCh0aGlzLGUpO3ZhciB0PW5ldyBFREVTdGF0ZSh0aGlzLnR5cGUsdGhpcy5vcHRpb25zLmtleSk7dGhpcy5fZWRlU3RhdGU9dH1uKEVERSxhKTtlLmV4cG9ydHM9RURFO0VERS5jcmVhdGU9ZnVuY3Rpb24gY3JlYXRlKGUpe3JldHVybiBuZXcgRURFKGUpfTtFREUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24gX3VwZGF0ZShlLHQscixpKXt2YXIgbj10aGlzLl9lZGVTdGF0ZTtuLmNpcGhlcnNbMF0uX3VwZGF0ZShlLHQscixpKTtuLmNpcGhlcnNbMV0uX3VwZGF0ZShyLGkscixpKTtuLmNpcGhlcnNbMl0uX3VwZGF0ZShyLGkscixpKX07RURFLnByb3RvdHlwZS5fcGFkPXMucHJvdG90eXBlLl9wYWQ7RURFLnByb3RvdHlwZS5fdW5wYWQ9cy5wcm90b3R5cGUuX3VucGFkfSw1MzM0OmZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7dC5yZWFkVUludDMyQkU9ZnVuY3Rpb24gcmVhZFVJbnQzMkJFKGUsdCl7dmFyIHI9ZVswK3RdPDwyNHxlWzErdF08PDE2fGVbMit0XTw8OHxlWzMrdF07cmV0dXJuIHI+Pj4wfTt0LndyaXRlVUludDMyQkU9ZnVuY3Rpb24gd3JpdGVVSW50MzJCRShlLHQscil7ZVswK3JdPXQ+Pj4yNDtlWzErcl09dD4+PjE2JjI1NTtlWzIrcl09dD4+PjgmMjU1O2VbMytyXT10JjI1NX07dC5pcD1mdW5jdGlvbiBpcChlLHQscixpKXt2YXIgbj0wO3ZhciBhPTA7Zm9yKHZhciBzPTY7cz49MDtzLT0yKXtmb3IodmFyIG89MDtvPD0yNDtvKz04KXtuPDw9MTtufD10Pj4+bytzJjF9Zm9yKHZhciBvPTA7bzw9MjQ7bys9OCl7bjw8PTE7bnw9ZT4+Pm8rcyYxfX1mb3IodmFyIHM9NjtzPj0wO3MtPTIpe2Zvcih2YXIgbz0xO288PTI1O28rPTgpe2E8PD0xO2F8PXQ+Pj5vK3MmMX1mb3IodmFyIG89MTtvPD0yNTtvKz04KXthPDw9MTthfD1lPj4+bytzJjF9fXJbaSswXT1uPj4+MDtyW2krMV09YT4+PjB9O3QucmlwPWZ1bmN0aW9uIHJpcChlLHQscixpKXt2YXIgbj0wO3ZhciBhPTA7Zm9yKHZhciBzPTA7czw0O3MrKyl7Zm9yKHZhciBvPTI0O28+PTA7by09OCl7bjw8PTE7bnw9dD4+Pm8rcyYxO248PD0xO258PWU+Pj5vK3MmMX19Zm9yKHZhciBzPTQ7czw4O3MrKyl7Zm9yKHZhciBvPTI0O28+PTA7by09OCl7YTw8PTE7YXw9dD4+Pm8rcyYxO2E8PD0xO2F8PWU+Pj5vK3MmMX19cltpKzBdPW4+Pj4wO3JbaSsxXT1hPj4+MH07dC5wYzE9ZnVuY3Rpb24gcGMxKGUsdCxyLGkpe3ZhciBuPTA7dmFyIGE9MDtmb3IodmFyIHM9NztzPj01O3MtLSl7Zm9yKHZhciBvPTA7bzw9MjQ7bys9OCl7bjw8PTE7bnw9dD4+bytzJjF9Zm9yKHZhciBvPTA7bzw9MjQ7bys9OCl7bjw8PTE7bnw9ZT4+bytzJjF9fWZvcih2YXIgbz0wO288PTI0O28rPTgpe248PD0xO258PXQ+Pm8rcyYxfWZvcih2YXIgcz0xO3M8PTM7cysrKXtmb3IodmFyIG89MDtvPD0yNDtvKz04KXthPDw9MTthfD10Pj5vK3MmMX1mb3IodmFyIG89MDtvPD0yNDtvKz04KXthPDw9MTthfD1lPj5vK3MmMX19Zm9yKHZhciBvPTA7bzw9MjQ7bys9OCl7YTw8PTE7YXw9ZT4+bytzJjF9cltpKzBdPW4+Pj4wO3JbaSsxXT1hPj4+MH07dC5yMjhzaGw9ZnVuY3Rpb24gcjI4c2hsKGUsdCl7cmV0dXJuIGU8PHQmMjY4NDM1NDU1fGU+Pj4yOC10fTt2YXIgcj1bMTQsMTEsMTcsNCwyNywyMywyNSwwLDEzLDIyLDcsMTgsNSw5LDE2LDI0LDIsMjAsMTIsMjEsMSw4LDE1LDI2LDE1LDQsMjUsMTksOSwxLDI2LDE2LDUsMTEsMjMsOCwxMiw3LDE3LDAsMjIsMywxMCwxNCw2LDIwLDI3LDI0XTt0LnBjMj1mdW5jdGlvbiBwYzIoZSx0LGksbil7dmFyIGE9MDt2YXIgcz0wO3ZhciBvPXIubGVuZ3RoPj4+MTtmb3IodmFyIGg9MDtoPG87aCsrKXthPDw9MTthfD1lPj4+cltoXSYxfWZvcih2YXIgaD1vO2g8ci5sZW5ndGg7aCsrKXtzPDw9MTtzfD10Pj4+cltoXSYxfWlbbiswXT1hPj4+MDtpW24rMV09cz4+PjB9O3QuZXhwYW5kPWZ1bmN0aW9uIGV4cGFuZChlLHQscil7dmFyIGk9MDt2YXIgbj0wO2k9KGUmMSk8PDV8ZT4+PjI3O2Zvcih2YXIgYT0yMzthPj0xNTthLT00KXtpPDw9NjtpfD1lPj4+YSY2M31mb3IodmFyIGE9MTE7YT49MzthLT00KXtufD1lPj4+YSY2MztuPDw9Nn1ufD0oZSYzMSk8PDF8ZT4+PjMxO3RbciswXT1pPj4+MDt0W3IrMV09bj4+PjB9O3ZhciBpPVsxNCwwLDQsMTUsMTMsNywxLDQsMiwxNCwxNSwyLDExLDEzLDgsMSwzLDEwLDEwLDYsNiwxMiwxMiwxMSw1LDksOSw1LDAsMyw3LDgsNCwxNSwxLDEyLDE0LDgsOCwyLDEzLDQsNiw5LDIsMSwxMSw3LDE1LDUsMTIsMTEsOSwzLDcsMTQsMywxMCwxMCwwLDUsNiwwLDEzLDE1LDMsMSwxMyw4LDQsMTQsNyw2LDE1LDExLDIsMyw4LDQsMTQsOSwxMiw3LDAsMiwxLDEzLDEwLDEyLDYsMCw5LDUsMTEsMTAsNSwwLDEzLDE0LDgsNywxMCwxMSwxLDEwLDMsNCwxNSwxMyw0LDEsMiw1LDExLDgsNiwxMiw3LDYsMTIsOSwwLDMsNSwyLDE0LDE1LDksMTAsMTMsMCw3LDksMCwxNCw5LDYsMywzLDQsMTUsNiw1LDEwLDEsMiwxMyw4LDEyLDUsNywxNCwxMSwxMiw0LDExLDIsMTUsOCwxLDEzLDEsNiwxMCw0LDEzLDksMCw4LDYsMTUsOSwzLDgsMCw3LDExLDQsMSwxNSwyLDE0LDEyLDMsNSwxMSwxMCw1LDE0LDIsNywxMiw3LDEzLDEzLDgsMTQsMTEsMyw1LDAsNiw2LDE1LDksMCwxMCwzLDEsNCwyLDcsOCwyLDUsMTIsMTEsMSwxMiwxMCw0LDE0LDE1LDksMTAsMyw2LDE1LDksMCwwLDYsMTIsMTAsMTEsMSw3LDEzLDEzLDgsMTUsOSwxLDQsMyw1LDE0LDExLDUsMTIsMiw3LDgsMiw0LDE0LDIsMTQsMTIsMTEsNCwyLDEsMTIsNyw0LDEwLDcsMTEsMTMsNiwxLDgsNSw1LDAsMywxNSwxNSwxMCwxMywzLDAsOSwxNCw4LDksNiw0LDExLDIsOCwxLDEyLDExLDcsMTAsMSwxMywxNCw3LDIsOCwxMywxNSw2LDksMTUsMTIsMCw1LDksNiwxMCwzLDQsMCw1LDE0LDMsMTIsMTAsMSwxNSwxMCw0LDE1LDIsOSw3LDIsMTIsNiw5LDgsNSwwLDYsMTMsMSwzLDEzLDQsMTQsMTQsMCw3LDExLDUsMywxMSw4LDksNCwxNCwzLDE1LDIsNSwxMiwyLDksOCw1LDEyLDE1LDMsMTAsNywxMSwwLDE0LDQsMSwxMCw3LDEsNiwxMywwLDExLDgsNiwxMyw0LDEzLDExLDAsMiwxMSwxNCw3LDE1LDQsMCw5LDgsMSwxMywxMCwzLDE0LDEyLDMsOSw1LDcsMTIsNSwyLDEwLDE1LDYsOCwxLDYsMSw2LDQsMTEsMTEsMTMsMTMsOCwxMiwxLDMsNCw3LDEwLDE0LDcsMTAsOSwxNSw1LDYsMCw4LDE1LDAsMTQsNSwyLDksMywyLDEyLDEzLDEsMiwxNSw4LDEzLDQsOCw2LDEwLDE1LDMsMTEsNywxLDQsMTAsMTIsOSw1LDMsNiwxNCwxMSw1LDAsMCwxNCwxMiw5LDcsMiw3LDIsMTEsMSw0LDE0LDEsNyw5LDQsMTIsMTAsMTQsOCwyLDEzLDAsMTUsNiwxMiwxMCw5LDEzLDAsMTUsMywzLDUsNSw2LDgsMTFdO3Quc3Vic3RpdHV0ZT1mdW5jdGlvbiBzdWJzdGl0dXRlKGUsdCl7dmFyIHI9MDtmb3IodmFyIG49MDtuPDQ7bisrKXt2YXIgYT1lPj4+MTgtbio2JjYzO3ZhciBzPWlbbio2NCthXTtyPDw9NDtyfD1zfWZvcih2YXIgbj0wO248NDtuKyspe3ZhciBhPXQ+Pj4xOC1uKjYmNjM7dmFyIHM9aVs0KjY0K24qNjQrYV07cjw8PTQ7cnw9c31yZXR1cm4gcj4+PjB9O3ZhciBuPVsxNiwyNSwxMiwxMSwzLDIwLDQsMTUsMzEsMTcsOSw2LDI3LDE0LDEsMjIsMzAsMjQsOCwxOCwwLDUsMjksMjMsMTMsMTksMiwyNiwxMCwyMSwyOCw3XTt0LnBlcm11dGU9ZnVuY3Rpb24gcGVybXV0ZShlKXt2YXIgdD0wO2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt0PDw9MTt0fD1lPj4+bltyXSYxfXJldHVybiB0Pj4+MH07dC5wYWRTcGxpdD1mdW5jdGlvbiBwYWRTcGxpdChlLHQscil7dmFyIGk9ZS50b1N0cmluZygyKTt3aGlsZShpLmxlbmd0aDx0KWk9XCIwXCIraTt2YXIgbj1bXTtmb3IodmFyIGE9MDthPHQ7YSs9ciluLnB1c2goaS5zbGljZShhLGErcikpO3JldHVybiBuLmpvaW4oXCIgXCIpfX0sNjU4NzpmdW5jdGlvbihlLHQscil7dmFyIGk9cigyOTYpO3ZhciBuPXIoNzk5Mik7dmFyIGE9cigzNzMpO2Z1bmN0aW9uIGdldERpZmZpZUhlbGxtYW4oZSl7dmFyIHQ9bmV3IEJ1ZmZlcihuW2VdLnByaW1lLFwiaGV4XCIpO3ZhciByPW5ldyBCdWZmZXIobltlXS5nZW4sXCJoZXhcIik7cmV0dXJuIG5ldyBhKHQscil9dmFyIHM9e2JpbmFyeTp0cnVlLGhleDp0cnVlLGJhc2U2NDp0cnVlfTtmdW5jdGlvbiBjcmVhdGVEaWZmaWVIZWxsbWFuKGUsdCxyLG4pe2lmKEJ1ZmZlci5pc0J1ZmZlcih0KXx8c1t0XT09PXVuZGVmaW5lZCl7cmV0dXJuIGNyZWF0ZURpZmZpZUhlbGxtYW4oZSxcImJpbmFyeVwiLHQscil9dD10fHxcImJpbmFyeVwiO249bnx8XCJiaW5hcnlcIjtyPXJ8fG5ldyBCdWZmZXIoWzJdKTtpZighQnVmZmVyLmlzQnVmZmVyKHIpKXtyPW5ldyBCdWZmZXIocixuKX1pZih0eXBlb2YgZT09PVwibnVtYmVyXCIpe3JldHVybiBuZXcgYShpKGUscikscix0cnVlKX1pZighQnVmZmVyLmlzQnVmZmVyKGUpKXtlPW5ldyBCdWZmZXIoZSx0KX1yZXR1cm4gbmV3IGEoZSxyLHRydWUpfXQuRGlmZmllSGVsbG1hbkdyb3VwPXQuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwPXQuZ2V0RGlmZmllSGVsbG1hbj1nZXREaWZmaWVIZWxsbWFuO3QuY3JlYXRlRGlmZmllSGVsbG1hbj10LkRpZmZpZUhlbGxtYW49Y3JlYXRlRGlmZmllSGVsbG1hbn0sMzczOmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDcxMSk7dmFyIG49cigxMzU0KTt2YXIgYT1uZXcgbjt2YXIgcz1uZXcgaSgyNCk7dmFyIG89bmV3IGkoMTEpO3ZhciBoPW5ldyBpKDEwKTt2YXIgdT1uZXcgaSgzKTt2YXIgZD1uZXcgaSg3KTt2YXIgYz1yKDI5Nik7dmFyIGw9cig3MjIzKTtlLmV4cG9ydHM9REg7ZnVuY3Rpb24gc2V0UHVibGljS2V5KGUsdCl7dD10fHxcInV0ZjhcIjtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXtlPW5ldyBCdWZmZXIoZSx0KX10aGlzLl9wdWI9bmV3IGkoZSk7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gc2V0UHJpdmF0ZUtleShlLHQpe3Q9dHx8XCJ1dGY4XCI7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSl7ZT1uZXcgQnVmZmVyKGUsdCl9dGhpcy5fcHJpdj1uZXcgaShlKTtyZXR1cm4gdGhpc312YXIgcD17fTtmdW5jdGlvbiBjaGVja1ByaW1lKGUsdCl7dmFyIHI9dC50b1N0cmluZyhcImhleFwiKTt2YXIgaT1bcixlLnRvU3RyaW5nKDE2KV0uam9pbihcIl9cIik7aWYoaSBpbiBwKXtyZXR1cm4gcFtpXX12YXIgbj0wO2lmKGUuaXNFdmVuKCl8fCFjLnNpbXBsZVNpZXZlfHwhYy5mZXJtYXRUZXN0KGUpfHwhYS50ZXN0KGUpKXtuKz0xO2lmKHI9PT1cIjAyXCJ8fHI9PT1cIjA1XCIpe24rPTh9ZWxzZXtuKz00fXBbaV09bjtyZXR1cm4gbn1pZighYS50ZXN0KGUuc2hybigxKSkpe24rPTJ9dmFyIGw7c3dpdGNoKHIpe2Nhc2VcIjAyXCI6aWYoZS5tb2QocykuY21wKG8pKXtuKz04fWJyZWFrO2Nhc2VcIjA1XCI6bD1lLm1vZChoKTtpZihsLmNtcCh1KSYmbC5jbXAoZCkpe24rPTh9YnJlYWs7ZGVmYXVsdDpuKz00fXBbaV09bjtyZXR1cm4gbn1mdW5jdGlvbiBESChlLHQscil7dGhpcy5zZXRHZW5lcmF0b3IodCk7dGhpcy5fX3ByaW1lPW5ldyBpKGUpO3RoaXMuX3ByaW1lPWkubW9udCh0aGlzLl9fcHJpbWUpO3RoaXMuX3ByaW1lTGVuPWUubGVuZ3RoO3RoaXMuX3B1Yj11bmRlZmluZWQ7dGhpcy5fcHJpdj11bmRlZmluZWQ7dGhpcy5fcHJpbWVDb2RlPXVuZGVmaW5lZDtpZihyKXt0aGlzLnNldFB1YmxpY0tleT1zZXRQdWJsaWNLZXk7dGhpcy5zZXRQcml2YXRlS2V5PXNldFByaXZhdGVLZXl9ZWxzZXt0aGlzLl9wcmltZUNvZGU9OH19T2JqZWN0LmRlZmluZVByb3BlcnR5KERILnByb3RvdHlwZSxcInZlcmlmeUVycm9yXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtpZih0eXBlb2YgdGhpcy5fcHJpbWVDb2RlIT09XCJudW1iZXJcIil7dGhpcy5fcHJpbWVDb2RlPWNoZWNrUHJpbWUodGhpcy5fX3ByaW1lLHRoaXMuX19nZW4pfXJldHVybiB0aGlzLl9wcmltZUNvZGV9fSk7REgucHJvdG90eXBlLmdlbmVyYXRlS2V5cz1mdW5jdGlvbigpe2lmKCF0aGlzLl9wcml2KXt0aGlzLl9wcml2PW5ldyBpKGwodGhpcy5fcHJpbWVMZW4pKX10aGlzLl9wdWI9dGhpcy5fZ2VuLnRvUmVkKHRoaXMuX3ByaW1lKS5yZWRQb3codGhpcy5fcHJpdikuZnJvbVJlZCgpO3JldHVybiB0aGlzLmdldFB1YmxpY0tleSgpfTtESC5wcm90b3R5cGUuY29tcHV0ZVNlY3JldD1mdW5jdGlvbihlKXtlPW5ldyBpKGUpO2U9ZS50b1JlZCh0aGlzLl9wcmltZSk7dmFyIHQ9ZS5yZWRQb3codGhpcy5fcHJpdikuZnJvbVJlZCgpO3ZhciByPW5ldyBCdWZmZXIodC50b0FycmF5KCkpO3ZhciBuPXRoaXMuZ2V0UHJpbWUoKTtpZihyLmxlbmd0aDxuLmxlbmd0aCl7dmFyIGE9bmV3IEJ1ZmZlcihuLmxlbmd0aC1yLmxlbmd0aCk7YS5maWxsKDApO3I9QnVmZmVyLmNvbmNhdChbYSxyXSl9cmV0dXJuIHJ9O0RILnByb3RvdHlwZS5nZXRQdWJsaWNLZXk9ZnVuY3Rpb24gZ2V0UHVibGljS2V5KGUpe3JldHVybiBmb3JtYXRSZXR1cm5WYWx1ZSh0aGlzLl9wdWIsZSl9O0RILnByb3RvdHlwZS5nZXRQcml2YXRlS2V5PWZ1bmN0aW9uIGdldFByaXZhdGVLZXkoZSl7cmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX3ByaXYsZSl9O0RILnByb3RvdHlwZS5nZXRQcmltZT1mdW5jdGlvbihlKXtyZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fX3ByaW1lLGUpfTtESC5wcm90b3R5cGUuZ2V0R2VuZXJhdG9yPWZ1bmN0aW9uKGUpe3JldHVybiBmb3JtYXRSZXR1cm5WYWx1ZSh0aGlzLl9nZW4sZSl9O0RILnByb3RvdHlwZS5zZXRHZW5lcmF0b3I9ZnVuY3Rpb24oZSx0KXt0PXR8fFwidXRmOFwiO2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpe2U9bmV3IEJ1ZmZlcihlLHQpfXRoaXMuX19nZW49ZTt0aGlzLl9nZW49bmV3IGkoZSk7cmV0dXJuIHRoaXN9O2Z1bmN0aW9uIGZvcm1hdFJldHVyblZhbHVlKGUsdCl7dmFyIHI9bmV3IEJ1ZmZlcihlLnRvQXJyYXkoKSk7aWYoIXQpe3JldHVybiByfWVsc2V7cmV0dXJuIHIudG9TdHJpbmcodCl9fX0sMjk2OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDcyMjMpO2UuZXhwb3J0cz1maW5kUHJpbWU7ZmluZFByaW1lLnNpbXBsZVNpZXZlPXNpbXBsZVNpZXZlO2ZpbmRQcmltZS5mZXJtYXRUZXN0PWZlcm1hdFRlc3Q7dmFyIG49cig3MTEpO3ZhciBhPW5ldyBuKDI0KTt2YXIgcz1yKDEzNTQpO3ZhciBvPW5ldyBzO3ZhciBoPW5ldyBuKDEpO3ZhciB1PW5ldyBuKDIpO3ZhciBkPW5ldyBuKDUpO3ZhciBjPW5ldyBuKDE2KTt2YXIgbD1uZXcgbig4KTt2YXIgcD1uZXcgbigxMCk7dmFyIHY9bmV3IG4oMyk7dmFyIGI9bmV3IG4oNyk7dmFyIG09bmV3IG4oMTEpO3ZhciB5PW5ldyBuKDQpO3ZhciBnPW5ldyBuKDEyKTt2YXIgXz1udWxsO2Z1bmN0aW9uIF9nZXRQcmltZXMoKXtpZihfIT09bnVsbClyZXR1cm4gXzt2YXIgZT0xMDQ4NTc2O3ZhciB0PVtdO3RbMF09Mjtmb3IodmFyIHI9MSxpPTM7aTxlO2krPTIpe3ZhciBuPU1hdGguY2VpbChNYXRoLnNxcnQoaSkpO2Zvcih2YXIgYT0wO2E8ciYmdFthXTw9bjthKyspaWYoaSV0W2FdPT09MClicmVhaztpZihyIT09YSYmdFthXTw9biljb250aW51ZTt0W3IrK109aX1fPXQ7cmV0dXJuIHR9ZnVuY3Rpb24gc2ltcGxlU2lldmUoZSl7dmFyIHQ9X2dldFByaW1lcygpO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKGUubW9kbih0W3JdKT09PTApe2lmKGUuY21wbih0W3JdKT09PTApe3JldHVybiB0cnVlfWVsc2V7cmV0dXJuIGZhbHNlfX1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBmZXJtYXRUZXN0KGUpe3ZhciB0PW4ubW9udChlKTtyZXR1cm4gdS50b1JlZCh0KS5yZWRQb3coZS5zdWJuKDEpKS5mcm9tUmVkKCkuY21wbigxKT09PTB9ZnVuY3Rpb24gZmluZFByaW1lKGUsdCl7aWYoZTwxNil7aWYodD09PTJ8fHQ9PT01KXtyZXR1cm4gbmV3IG4oWzE0MCwxMjNdKX1lbHNle3JldHVybiBuZXcgbihbMTQwLDM5XSl9fXQ9bmV3IG4odCk7dmFyIHIsczt3aGlsZSh0cnVlKXtyPW5ldyBuKGkoTWF0aC5jZWlsKGUvOCkpKTt3aGlsZShyLmJpdExlbmd0aCgpPmUpe3IuaXNocm4oMSl9aWYoci5pc0V2ZW4oKSl7ci5pYWRkKGgpfWlmKCFyLnRlc3RuKDEpKXtyLmlhZGQodSl9aWYoIXQuY21wKHUpKXt3aGlsZShyLm1vZChhKS5jbXAobSkpe3IuaWFkZCh5KX19ZWxzZSBpZighdC5jbXAoZCkpe3doaWxlKHIubW9kKHApLmNtcCh2KSl7ci5pYWRkKHkpfX1zPXIuc2hybigxKTtpZihzaW1wbGVTaWV2ZShzKSYmc2ltcGxlU2lldmUocikmJmZlcm1hdFRlc3QocykmJmZlcm1hdFRlc3QocikmJm8udGVzdChzKSYmby50ZXN0KHIpKXtyZXR1cm4gcn19fX0sOTQ5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT10O2kudmVyc2lvbj1yKDI1MzEpLmk4O2kudXRpbHM9cig0NDAxKTtpLnJhbmQ9cigzNTAwKTtpLmN1cnZlPXIoOTM1OSk7aS5jdXJ2ZXM9cig2MjI2KTtpLmVjPXIoNDA4OCk7aS5lZGRzYT1yKDg1MTEpfSwyNzI3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDcxMSk7dmFyIG49cig0NDAxKTt2YXIgYT1uLmdldE5BRjt2YXIgcz1uLmdldEpTRjt2YXIgbz1uLmFzc2VydDtmdW5jdGlvbiBCYXNlQ3VydmUoZSx0KXt0aGlzLnR5cGU9ZTt0aGlzLnA9bmV3IGkodC5wLDE2KTt0aGlzLnJlZD10LnByaW1lP2kucmVkKHQucHJpbWUpOmkubW9udCh0aGlzLnApO3RoaXMuemVybz1uZXcgaSgwKS50b1JlZCh0aGlzLnJlZCk7dGhpcy5vbmU9bmV3IGkoMSkudG9SZWQodGhpcy5yZWQpO3RoaXMudHdvPW5ldyBpKDIpLnRvUmVkKHRoaXMucmVkKTt0aGlzLm49dC5uJiZuZXcgaSh0Lm4sMTYpO3RoaXMuZz10LmcmJnRoaXMucG9pbnRGcm9tSlNPTih0LmcsdC5nUmVkKTt0aGlzLl93bmFmVDE9bmV3IEFycmF5KDQpO3RoaXMuX3duYWZUMj1uZXcgQXJyYXkoNCk7dGhpcy5fd25hZlQzPW5ldyBBcnJheSg0KTt0aGlzLl93bmFmVDQ9bmV3IEFycmF5KDQpO3RoaXMuX2JpdExlbmd0aD10aGlzLm4/dGhpcy5uLmJpdExlbmd0aCgpOjA7dmFyIHI9dGhpcy5uJiZ0aGlzLnAuZGl2KHRoaXMubik7aWYoIXJ8fHIuY21wbigxMDApPjApe3RoaXMucmVkTj1udWxsfWVsc2V7dGhpcy5fbWF4d2VsbFRyaWNrPXRydWU7dGhpcy5yZWROPXRoaXMubi50b1JlZCh0aGlzLnJlZCl9fWUuZXhwb3J0cz1CYXNlQ3VydmU7QmFzZUN1cnZlLnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbiBwb2ludCgpe3Rocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKX07QmFzZUN1cnZlLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbiB2YWxpZGF0ZSgpe3Rocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKX07QmFzZUN1cnZlLnByb3RvdHlwZS5fZml4ZWROYWZNdWw9ZnVuY3Rpb24gX2ZpeGVkTmFmTXVsKGUsdCl7byhlLnByZWNvbXB1dGVkKTt2YXIgcj1lLl9nZXREb3VibGVzKCk7dmFyIGk9YSh0LDEsdGhpcy5fYml0TGVuZ3RoKTt2YXIgbj0oMTw8ci5zdGVwKzEpLShyLnN0ZXAlMj09PTA/MjoxKTtuLz0zO3ZhciBzPVtdO2Zvcih2YXIgaD0wO2g8aS5sZW5ndGg7aCs9ci5zdGVwKXt2YXIgdT0wO2Zvcih2YXIgdD1oK3Iuc3RlcC0xO3Q+PWg7dC0tKXU9KHU8PDEpK2lbdF07cy5wdXNoKHUpfXZhciBkPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKTt2YXIgYz10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCk7Zm9yKHZhciBsPW47bD4wO2wtLSl7Zm9yKHZhciBoPTA7aDxzLmxlbmd0aDtoKyspe3ZhciB1PXNbaF07aWYodT09PWwpYz1jLm1peGVkQWRkKHIucG9pbnRzW2hdKTtlbHNlIGlmKHU9PT0tbCljPWMubWl4ZWRBZGQoci5wb2ludHNbaF0ubmVnKCkpfWQ9ZC5hZGQoYyl9cmV0dXJuIGQudG9QKCl9O0Jhc2VDdXJ2ZS5wcm90b3R5cGUuX3duYWZNdWw9ZnVuY3Rpb24gX3duYWZNdWwoZSx0KXt2YXIgcj00O3ZhciBpPWUuX2dldE5BRlBvaW50cyhyKTtyPWkud25kO3ZhciBuPWkucG9pbnRzO3ZhciBzPWEodCxyLHRoaXMuX2JpdExlbmd0aCk7dmFyIGg9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpO2Zvcih2YXIgdT1zLmxlbmd0aC0xO3U+PTA7dS0tKXtmb3IodmFyIHQ9MDt1Pj0wJiZzW3VdPT09MDt1LS0pdCsrO2lmKHU+PTApdCsrO2g9aC5kYmxwKHQpO2lmKHU8MClicmVhazt2YXIgZD1zW3VdO28oZCE9PTApO2lmKGUudHlwZT09PVwiYWZmaW5lXCIpe2lmKGQ+MCloPWgubWl4ZWRBZGQobltkLTE+PjFdKTtlbHNlIGg9aC5taXhlZEFkZChuWy1kLTE+PjFdLm5lZygpKX1lbHNle2lmKGQ+MCloPWguYWRkKG5bZC0xPj4xXSk7ZWxzZSBoPWguYWRkKG5bLWQtMT4+MV0ubmVnKCkpfX1yZXR1cm4gZS50eXBlPT09XCJhZmZpbmVcIj9oLnRvUCgpOmh9O0Jhc2VDdXJ2ZS5wcm90b3R5cGUuX3duYWZNdWxBZGQ9ZnVuY3Rpb24gX3duYWZNdWxBZGQoZSx0LHIsaSxuKXt2YXIgbz10aGlzLl93bmFmVDE7dmFyIGg9dGhpcy5fd25hZlQyO3ZhciB1PXRoaXMuX3duYWZUMzt2YXIgZD0wO2Zvcih2YXIgYz0wO2M8aTtjKyspe3ZhciBsPXRbY107dmFyIHA9bC5fZ2V0TkFGUG9pbnRzKGUpO29bY109cC53bmQ7aFtjXT1wLnBvaW50c31mb3IodmFyIGM9aS0xO2M+PTE7Yy09Mil7dmFyIHY9Yy0xO3ZhciBiPWM7aWYob1t2XSE9PTF8fG9bYl0hPT0xKXt1W3ZdPWEoclt2XSxvW3ZdLHRoaXMuX2JpdExlbmd0aCk7dVtiXT1hKHJbYl0sb1tiXSx0aGlzLl9iaXRMZW5ndGgpO2Q9TWF0aC5tYXgodVt2XS5sZW5ndGgsZCk7ZD1NYXRoLm1heCh1W2JdLmxlbmd0aCxkKTtjb250aW51ZX12YXIgbT1bdFt2XSxudWxsLG51bGwsdFtiXV07aWYodFt2XS55LmNtcCh0W2JdLnkpPT09MCl7bVsxXT10W3ZdLmFkZCh0W2JdKTttWzJdPXRbdl0udG9KKCkubWl4ZWRBZGQodFtiXS5uZWcoKSl9ZWxzZSBpZih0W3ZdLnkuY21wKHRbYl0ueS5yZWROZWcoKSk9PT0wKXttWzFdPXRbdl0udG9KKCkubWl4ZWRBZGQodFtiXSk7bVsyXT10W3ZdLmFkZCh0W2JdLm5lZygpKX1lbHNle21bMV09dFt2XS50b0ooKS5taXhlZEFkZCh0W2JdKTttWzJdPXRbdl0udG9KKCkubWl4ZWRBZGQodFtiXS5uZWcoKSl9dmFyIHk9Wy0zLC0xLC01LC03LDAsNyw1LDEsM107dmFyIGc9cyhyW3ZdLHJbYl0pO2Q9TWF0aC5tYXgoZ1swXS5sZW5ndGgsZCk7dVt2XT1uZXcgQXJyYXkoZCk7dVtiXT1uZXcgQXJyYXkoZCk7Zm9yKHZhciBfPTA7XzxkO18rKyl7dmFyIHc9Z1swXVtfXXwwO3ZhciBNPWdbMV1bX118MDt1W3ZdW19dPXlbKHcrMSkqMysoTSsxKV07dVtiXVtfXT0wO2hbdl09bX19dmFyIEI9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpO3ZhciBFPXRoaXMuX3duYWZUNDtmb3IodmFyIGM9ZDtjPj0wO2MtLSl7dmFyIGs9MDt3aGlsZShjPj0wKXt2YXIgQT10cnVlO2Zvcih2YXIgXz0wO188aTtfKyspe0VbX109dVtfXVtjXXwwO2lmKEVbX10hPT0wKUE9ZmFsc2V9aWYoIUEpYnJlYWs7aysrO2MtLX1pZihjPj0wKWsrKztCPUIuZGJscChrKTtpZihjPDApYnJlYWs7Zm9yKHZhciBfPTA7XzxpO18rKyl7dmFyIE49RVtfXTt2YXIgbDtpZihOPT09MCljb250aW51ZTtlbHNlIGlmKE4+MClsPWhbX11bTi0xPj4xXTtlbHNlIGlmKE48MClsPWhbX11bLU4tMT4+MV0ubmVnKCk7aWYobC50eXBlPT09XCJhZmZpbmVcIilCPUIubWl4ZWRBZGQobCk7ZWxzZSBCPUIuYWRkKGwpfX1mb3IodmFyIGM9MDtjPGk7YysrKWhbY109bnVsbDtpZihuKXJldHVybiBCO2Vsc2UgcmV0dXJuIEIudG9QKCl9O2Z1bmN0aW9uIEJhc2VQb2ludChlLHQpe3RoaXMuY3VydmU9ZTt0aGlzLnR5cGU9dDt0aGlzLnByZWNvbXB1dGVkPW51bGx9QmFzZUN1cnZlLkJhc2VQb2ludD1CYXNlUG9pbnQ7QmFzZVBvaW50LnByb3RvdHlwZS5lcT1mdW5jdGlvbiBlcSgpe3Rocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKX07QmFzZVBvaW50LnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbiB2YWxpZGF0ZSgpe3JldHVybiB0aGlzLmN1cnZlLnZhbGlkYXRlKHRoaXMpfTtCYXNlQ3VydmUucHJvdG90eXBlLmRlY29kZVBvaW50PWZ1bmN0aW9uIGRlY29kZVBvaW50KGUsdCl7ZT1uLnRvQXJyYXkoZSx0KTt2YXIgcj10aGlzLnAuYnl0ZUxlbmd0aCgpO2lmKChlWzBdPT09NHx8ZVswXT09PTZ8fGVbMF09PT03KSYmZS5sZW5ndGgtMT09PTIqcil7aWYoZVswXT09PTYpbyhlW2UubGVuZ3RoLTFdJTI9PT0wKTtlbHNlIGlmKGVbMF09PT03KW8oZVtlLmxlbmd0aC0xXSUyPT09MSk7dmFyIGk9dGhpcy5wb2ludChlLnNsaWNlKDEsMStyKSxlLnNsaWNlKDErciwxKzIqcikpO3JldHVybiBpfWVsc2UgaWYoKGVbMF09PT0yfHxlWzBdPT09MykmJmUubGVuZ3RoLTE9PT1yKXtyZXR1cm4gdGhpcy5wb2ludEZyb21YKGUuc2xpY2UoMSwxK3IpLGVbMF09PT0zKX10aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHBvaW50IGZvcm1hdFwiKX07QmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGVDb21wcmVzc2VkPWZ1bmN0aW9uIGVuY29kZUNvbXByZXNzZWQoZSl7cmV0dXJuIHRoaXMuZW5jb2RlKGUsdHJ1ZSl9O0Jhc2VQb2ludC5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbiBfZW5jb2RlKGUpe3ZhciB0PXRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCk7dmFyIHI9dGhpcy5nZXRYKCkudG9BcnJheShcImJlXCIsdCk7aWYoZSlyZXR1cm5bdGhpcy5nZXRZKCkuaXNFdmVuKCk/MjozXS5jb25jYXQocik7cmV0dXJuWzRdLmNvbmNhdChyLHRoaXMuZ2V0WSgpLnRvQXJyYXkoXCJiZVwiLHQpKX07QmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24gZW5jb2RlKGUsdCl7cmV0dXJuIG4uZW5jb2RlKHRoaXMuX2VuY29kZSh0KSxlKX07QmFzZVBvaW50LnByb3RvdHlwZS5wcmVjb21wdXRlPWZ1bmN0aW9uIHByZWNvbXB1dGUoZSl7aWYodGhpcy5wcmVjb21wdXRlZClyZXR1cm4gdGhpczt2YXIgdD17ZG91YmxlczpudWxsLG5hZjpudWxsLGJldGE6bnVsbH07dC5uYWY9dGhpcy5fZ2V0TkFGUG9pbnRzKDgpO3QuZG91Ymxlcz10aGlzLl9nZXREb3VibGVzKDQsZSk7dC5iZXRhPXRoaXMuX2dldEJldGEoKTt0aGlzLnByZWNvbXB1dGVkPXQ7cmV0dXJuIHRoaXN9O0Jhc2VQb2ludC5wcm90b3R5cGUuX2hhc0RvdWJsZXM9ZnVuY3Rpb24gX2hhc0RvdWJsZXMoZSl7aWYoIXRoaXMucHJlY29tcHV0ZWQpcmV0dXJuIGZhbHNlO3ZhciB0PXRoaXMucHJlY29tcHV0ZWQuZG91YmxlcztpZighdClyZXR1cm4gZmFsc2U7cmV0dXJuIHQucG9pbnRzLmxlbmd0aD49TWF0aC5jZWlsKChlLmJpdExlbmd0aCgpKzEpL3Quc3RlcCl9O0Jhc2VQb2ludC5wcm90b3R5cGUuX2dldERvdWJsZXM9ZnVuY3Rpb24gX2dldERvdWJsZXMoZSx0KXtpZih0aGlzLnByZWNvbXB1dGVkJiZ0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMpcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQuZG91Ymxlczt2YXIgcj1bdGhpc107dmFyIGk9dGhpcztmb3IodmFyIG49MDtuPHQ7bis9ZSl7Zm9yKHZhciBhPTA7YTxlO2ErKylpPWkuZGJsKCk7ci5wdXNoKGkpfXJldHVybntzdGVwOmUscG9pbnRzOnJ9fTtCYXNlUG9pbnQucHJvdG90eXBlLl9nZXROQUZQb2ludHM9ZnVuY3Rpb24gX2dldE5BRlBvaW50cyhlKXtpZih0aGlzLnByZWNvbXB1dGVkJiZ0aGlzLnByZWNvbXB1dGVkLm5hZilyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5uYWY7dmFyIHQ9W3RoaXNdO3ZhciByPSgxPDxlKS0xO3ZhciBpPXI9PT0xP251bGw6dGhpcy5kYmwoKTtmb3IodmFyIG49MTtuPHI7bisrKXRbbl09dFtuLTFdLmFkZChpKTtyZXR1cm57d25kOmUscG9pbnRzOnR9fTtCYXNlUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhPWZ1bmN0aW9uIF9nZXRCZXRhKCl7cmV0dXJuIG51bGx9O0Jhc2VQb2ludC5wcm90b3R5cGUuZGJscD1mdW5jdGlvbiBkYmxwKGUpe3ZhciB0PXRoaXM7Zm9yKHZhciByPTA7cjxlO3IrKyl0PXQuZGJsKCk7cmV0dXJuIHR9fSwyNzA1OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDQ0MDEpO3ZhciBuPXIoNzExKTt2YXIgYT1yKDM3ODIpO3ZhciBzPXIoMjcyNyk7dmFyIG89aS5hc3NlcnQ7ZnVuY3Rpb24gRWR3YXJkc0N1cnZlKGUpe3RoaXMudHdpc3RlZD0oZS5hfDApIT09MTt0aGlzLm1PbmVBPXRoaXMudHdpc3RlZCYmKGUuYXwwKT09PS0xO3RoaXMuZXh0ZW5kZWQ9dGhpcy5tT25lQTtzLmNhbGwodGhpcyxcImVkd2FyZHNcIixlKTt0aGlzLmE9bmV3IG4oZS5hLDE2KS51bW9kKHRoaXMucmVkLm0pO3RoaXMuYT10aGlzLmEudG9SZWQodGhpcy5yZWQpO3RoaXMuYz1uZXcgbihlLmMsMTYpLnRvUmVkKHRoaXMucmVkKTt0aGlzLmMyPXRoaXMuYy5yZWRTcXIoKTt0aGlzLmQ9bmV3IG4oZS5kLDE2KS50b1JlZCh0aGlzLnJlZCk7dGhpcy5kZD10aGlzLmQucmVkQWRkKHRoaXMuZCk7byghdGhpcy50d2lzdGVkfHx0aGlzLmMuZnJvbVJlZCgpLmNtcG4oMSk9PT0wKTt0aGlzLm9uZUM9KGUuY3wwKT09PTF9YShFZHdhcmRzQ3VydmUscyk7ZS5leHBvcnRzPUVkd2FyZHNDdXJ2ZTtFZHdhcmRzQ3VydmUucHJvdG90eXBlLl9tdWxBPWZ1bmN0aW9uIF9tdWxBKGUpe2lmKHRoaXMubU9uZUEpcmV0dXJuIGUucmVkTmVnKCk7ZWxzZSByZXR1cm4gdGhpcy5hLnJlZE11bChlKX07RWR3YXJkc0N1cnZlLnByb3RvdHlwZS5fbXVsQz1mdW5jdGlvbiBfbXVsQyhlKXtpZih0aGlzLm9uZUMpcmV0dXJuIGU7ZWxzZSByZXR1cm4gdGhpcy5jLnJlZE11bChlKX07RWR3YXJkc0N1cnZlLnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24ganBvaW50KGUsdCxyLGkpe3JldHVybiB0aGlzLnBvaW50KGUsdCxyLGkpfTtFZHdhcmRzQ3VydmUucHJvdG90eXBlLnBvaW50RnJvbVg9ZnVuY3Rpb24gcG9pbnRGcm9tWChlLHQpe2U9bmV3IG4oZSwxNik7aWYoIWUucmVkKWU9ZS50b1JlZCh0aGlzLnJlZCk7dmFyIHI9ZS5yZWRTcXIoKTt2YXIgaT10aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKHIpKTt2YXIgYT10aGlzLm9uZS5yZWRTdWIodGhpcy5jMi5yZWRNdWwodGhpcy5kKS5yZWRNdWwocikpO3ZhciBzPWkucmVkTXVsKGEucmVkSW52bSgpKTt2YXIgbz1zLnJlZFNxcnQoKTtpZihvLnJlZFNxcigpLnJlZFN1YihzKS5jbXAodGhpcy56ZXJvKSE9PTApdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCBwb2ludFwiKTt2YXIgaD1vLmZyb21SZWQoKS5pc09kZCgpO2lmKHQmJiFofHwhdCYmaClvPW8ucmVkTmVnKCk7cmV0dXJuIHRoaXMucG9pbnQoZSxvKX07RWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21ZPWZ1bmN0aW9uIHBvaW50RnJvbVkoZSx0KXtlPW5ldyBuKGUsMTYpO2lmKCFlLnJlZCllPWUudG9SZWQodGhpcy5yZWQpO3ZhciByPWUucmVkU3FyKCk7dmFyIGk9ci5yZWRTdWIodGhpcy5jMik7dmFyIGE9ci5yZWRNdWwodGhpcy5kKS5yZWRNdWwodGhpcy5jMikucmVkU3ViKHRoaXMuYSk7dmFyIHM9aS5yZWRNdWwoYS5yZWRJbnZtKCkpO2lmKHMuY21wKHRoaXMuemVybyk9PT0wKXtpZih0KXRocm93IG5ldyBFcnJvcihcImludmFsaWQgcG9pbnRcIik7ZWxzZSByZXR1cm4gdGhpcy5wb2ludCh0aGlzLnplcm8sZSl9dmFyIG89cy5yZWRTcXJ0KCk7aWYoby5yZWRTcXIoKS5yZWRTdWIocykuY21wKHRoaXMuemVybykhPT0wKXRocm93IG5ldyBFcnJvcihcImludmFsaWQgcG9pbnRcIik7aWYoby5mcm9tUmVkKCkuaXNPZGQoKSE9PXQpbz1vLnJlZE5lZygpO3JldHVybiB0aGlzLnBvaW50KG8sZSl9O0Vkd2FyZHNDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24gdmFsaWRhdGUoZSl7aWYoZS5pc0luZmluaXR5KCkpcmV0dXJuIHRydWU7ZS5ub3JtYWxpemUoKTt2YXIgdD1lLngucmVkU3FyKCk7dmFyIHI9ZS55LnJlZFNxcigpO3ZhciBpPXQucmVkTXVsKHRoaXMuYSkucmVkQWRkKHIpO3ZhciBuPXRoaXMuYzIucmVkTXVsKHRoaXMub25lLnJlZEFkZCh0aGlzLmQucmVkTXVsKHQpLnJlZE11bChyKSkpO3JldHVybiBpLmNtcChuKT09PTB9O2Z1bmN0aW9uIFBvaW50KGUsdCxyLGksYSl7cy5CYXNlUG9pbnQuY2FsbCh0aGlzLGUsXCJwcm9qZWN0aXZlXCIpO2lmKHQ9PT1udWxsJiZyPT09bnVsbCYmaT09PW51bGwpe3RoaXMueD10aGlzLmN1cnZlLnplcm87dGhpcy55PXRoaXMuY3VydmUub25lO3RoaXMuej10aGlzLmN1cnZlLm9uZTt0aGlzLnQ9dGhpcy5jdXJ2ZS56ZXJvO3RoaXMuek9uZT10cnVlfWVsc2V7dGhpcy54PW5ldyBuKHQsMTYpO3RoaXMueT1uZXcgbihyLDE2KTt0aGlzLno9aT9uZXcgbihpLDE2KTp0aGlzLmN1cnZlLm9uZTt0aGlzLnQ9YSYmbmV3IG4oYSwxNik7aWYoIXRoaXMueC5yZWQpdGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCk7aWYoIXRoaXMueS5yZWQpdGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCk7aWYoIXRoaXMuei5yZWQpdGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7aWYodGhpcy50JiYhdGhpcy50LnJlZCl0aGlzLnQ9dGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKTt0aGlzLnpPbmU9dGhpcy56PT09dGhpcy5jdXJ2ZS5vbmU7aWYodGhpcy5jdXJ2ZS5leHRlbmRlZCYmIXRoaXMudCl7dGhpcy50PXRoaXMueC5yZWRNdWwodGhpcy55KTtpZighdGhpcy56T25lKXRoaXMudD10aGlzLnQucmVkTXVsKHRoaXMuei5yZWRJbnZtKCkpfX19YShQb2ludCxzLkJhc2VQb2ludCk7RWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uIHBvaW50RnJvbUpTT04oZSl7cmV0dXJuIFBvaW50LmZyb21KU09OKHRoaXMsZSl9O0Vkd2FyZHNDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24gcG9pbnQoZSx0LHIsaSl7cmV0dXJuIG5ldyBQb2ludCh0aGlzLGUsdCxyLGkpfTtQb2ludC5mcm9tSlNPTj1mdW5jdGlvbiBmcm9tSlNPTihlLHQpe3JldHVybiBuZXcgUG9pbnQoZSx0WzBdLHRbMV0sdFsyXSl9O1BvaW50LnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uIGluc3BlY3QoKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm5cIjxFQyBQb2ludCBJbmZpbml0eT5cIjtyZXR1cm5cIjxFQyBQb2ludCB4OiBcIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpK1wiIHk6IFwiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrXCIgejogXCIrdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwyKStcIj5cIn07UG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24gaXNJbmZpbml0eSgpe3JldHVybiB0aGlzLnguY21wbigwKT09PTAmJih0aGlzLnkuY21wKHRoaXMueik9PT0wfHx0aGlzLnpPbmUmJnRoaXMueS5jbXAodGhpcy5jdXJ2ZS5jKT09PTApfTtQb2ludC5wcm90b3R5cGUuX2V4dERibD1mdW5jdGlvbiBfZXh0RGJsKCl7dmFyIGU9dGhpcy54LnJlZFNxcigpO3ZhciB0PXRoaXMueS5yZWRTcXIoKTt2YXIgcj10aGlzLnoucmVkU3FyKCk7cj1yLnJlZElBZGQocik7dmFyIGk9dGhpcy5jdXJ2ZS5fbXVsQShlKTt2YXIgbj10aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCkucmVkSVN1YihlKS5yZWRJU3ViKHQpO3ZhciBhPWkucmVkQWRkKHQpO3ZhciBzPWEucmVkU3ViKHIpO3ZhciBvPWkucmVkU3ViKHQpO3ZhciBoPW4ucmVkTXVsKHMpO3ZhciB1PWEucmVkTXVsKG8pO3ZhciBkPW4ucmVkTXVsKG8pO3ZhciBjPXMucmVkTXVsKGEpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KGgsdSxjLGQpfTtQb2ludC5wcm90b3R5cGUuX3Byb2pEYmw9ZnVuY3Rpb24gX3Byb2pEYmwoKXt2YXIgZT10aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCk7dmFyIHQ9dGhpcy54LnJlZFNxcigpO3ZhciByPXRoaXMueS5yZWRTcXIoKTt2YXIgaTt2YXIgbjt2YXIgYTtpZih0aGlzLmN1cnZlLnR3aXN0ZWQpe3ZhciBzPXRoaXMuY3VydmUuX211bEEodCk7dmFyIG89cy5yZWRBZGQocik7aWYodGhpcy56T25lKXtpPWUucmVkU3ViKHQpLnJlZFN1YihyKS5yZWRNdWwoby5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKTtuPW8ucmVkTXVsKHMucmVkU3ViKHIpKTthPW8ucmVkU3FyKCkucmVkU3ViKG8pLnJlZFN1YihvKX1lbHNle3ZhciBoPXRoaXMuei5yZWRTcXIoKTt2YXIgdT1vLnJlZFN1YihoKS5yZWRJU3ViKGgpO2k9ZS5yZWRTdWIodCkucmVkSVN1YihyKS5yZWRNdWwodSk7bj1vLnJlZE11bChzLnJlZFN1YihyKSk7YT1vLnJlZE11bCh1KX19ZWxzZXt2YXIgcz10LnJlZEFkZChyKTt2YXIgaD10aGlzLmN1cnZlLl9tdWxDKHRoaXMueikucmVkU3FyKCk7dmFyIHU9cy5yZWRTdWIoaCkucmVkU3ViKGgpO2k9dGhpcy5jdXJ2ZS5fbXVsQyhlLnJlZElTdWIocykpLnJlZE11bCh1KTtuPXRoaXMuY3VydmUuX211bEMocykucmVkTXVsKHQucmVkSVN1YihyKSk7YT1zLnJlZE11bCh1KX1yZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChpLG4sYSl9O1BvaW50LnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24gZGJsKCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7aWYodGhpcy5jdXJ2ZS5leHRlbmRlZClyZXR1cm4gdGhpcy5fZXh0RGJsKCk7ZWxzZSByZXR1cm4gdGhpcy5fcHJvakRibCgpfTtQb2ludC5wcm90b3R5cGUuX2V4dEFkZD1mdW5jdGlvbiBfZXh0QWRkKGUpe3ZhciB0PXRoaXMueS5yZWRTdWIodGhpcy54KS5yZWRNdWwoZS55LnJlZFN1YihlLngpKTt2YXIgcj10aGlzLnkucmVkQWRkKHRoaXMueCkucmVkTXVsKGUueS5yZWRBZGQoZS54KSk7dmFyIGk9dGhpcy50LnJlZE11bCh0aGlzLmN1cnZlLmRkKS5yZWRNdWwoZS50KTt2YXIgbj10aGlzLnoucmVkTXVsKGUuei5yZWRBZGQoZS56KSk7dmFyIGE9ci5yZWRTdWIodCk7dmFyIHM9bi5yZWRTdWIoaSk7dmFyIG89bi5yZWRBZGQoaSk7dmFyIGg9ci5yZWRBZGQodCk7dmFyIHU9YS5yZWRNdWwocyk7dmFyIGQ9by5yZWRNdWwoaCk7dmFyIGM9YS5yZWRNdWwoaCk7dmFyIGw9cy5yZWRNdWwobyk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodSxkLGwsYyl9O1BvaW50LnByb3RvdHlwZS5fcHJvakFkZD1mdW5jdGlvbiBfcHJvakFkZChlKXt2YXIgdD10aGlzLnoucmVkTXVsKGUueik7dmFyIHI9dC5yZWRTcXIoKTt2YXIgaT10aGlzLngucmVkTXVsKGUueCk7dmFyIG49dGhpcy55LnJlZE11bChlLnkpO3ZhciBhPXRoaXMuY3VydmUuZC5yZWRNdWwoaSkucmVkTXVsKG4pO3ZhciBzPXIucmVkU3ViKGEpO3ZhciBvPXIucmVkQWRkKGEpO3ZhciBoPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRNdWwoZS54LnJlZEFkZChlLnkpKS5yZWRJU3ViKGkpLnJlZElTdWIobik7dmFyIHU9dC5yZWRNdWwocykucmVkTXVsKGgpO3ZhciBkO3ZhciBjO2lmKHRoaXMuY3VydmUudHdpc3RlZCl7ZD10LnJlZE11bChvKS5yZWRNdWwobi5yZWRTdWIodGhpcy5jdXJ2ZS5fbXVsQShpKSkpO2M9cy5yZWRNdWwobyl9ZWxzZXtkPXQucmVkTXVsKG8pLnJlZE11bChuLnJlZFN1YihpKSk7Yz10aGlzLmN1cnZlLl9tdWxDKHMpLnJlZE11bChvKX1yZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludCh1LGQsYyl9O1BvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKGUpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiBlO2lmKGUuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO2lmKHRoaXMuY3VydmUuZXh0ZW5kZWQpcmV0dXJuIHRoaXMuX2V4dEFkZChlKTtlbHNlIHJldHVybiB0aGlzLl9wcm9qQWRkKGUpfTtQb2ludC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uIG11bChlKXtpZih0aGlzLl9oYXNEb3VibGVzKGUpKXJldHVybiB0aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLGUpO2Vsc2UgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWwodGhpcyxlKX07UG9pbnQucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbiBtdWxBZGQoZSx0LHIpe3JldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsW3RoaXMsdF0sW2Uscl0sMixmYWxzZSl9O1BvaW50LnByb3RvdHlwZS5qbXVsQWRkPWZ1bmN0aW9uIGptdWxBZGQoZSx0LHIpe3JldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsW3RoaXMsdF0sW2Uscl0sMix0cnVlKX07UG9pbnQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbiBub3JtYWxpemUoKXtpZih0aGlzLnpPbmUpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy56LnJlZEludm0oKTt0aGlzLng9dGhpcy54LnJlZE11bChlKTt0aGlzLnk9dGhpcy55LnJlZE11bChlKTtpZih0aGlzLnQpdGhpcy50PXRoaXMudC5yZWRNdWwoZSk7dGhpcy56PXRoaXMuY3VydmUub25lO3RoaXMuek9uZT10cnVlO3JldHVybiB0aGlzfTtQb2ludC5wcm90b3R5cGUubmVnPWZ1bmN0aW9uIG5lZygpe3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWROZWcoKSx0aGlzLnksdGhpcy56LHRoaXMudCYmdGhpcy50LnJlZE5lZygpKX07UG9pbnQucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24gZ2V0WCgpe3RoaXMubm9ybWFsaXplKCk7cmV0dXJuIHRoaXMueC5mcm9tUmVkKCl9O1BvaW50LnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uIGdldFkoKXt0aGlzLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzLnkuZnJvbVJlZCgpfTtQb2ludC5wcm90b3R5cGUuZXE9ZnVuY3Rpb24gZXEoZSl7cmV0dXJuIHRoaXM9PT1lfHx0aGlzLmdldFgoKS5jbXAoZS5nZXRYKCkpPT09MCYmdGhpcy5nZXRZKCkuY21wKGUuZ2V0WSgpKT09PTB9O1BvaW50LnByb3RvdHlwZS5lcVhUb1A9ZnVuY3Rpb24gZXFYVG9QKGUpe3ZhciB0PWUudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO2lmKHRoaXMueC5jbXAodCk9PT0wKXJldHVybiB0cnVlO3ZhciByPWUuY2xvbmUoKTt2YXIgaT10aGlzLmN1cnZlLnJlZE4ucmVkTXVsKHRoaXMueik7Zm9yKDs7KXtyLmlhZGQodGhpcy5jdXJ2ZS5uKTtpZihyLmNtcCh0aGlzLmN1cnZlLnApPj0wKXJldHVybiBmYWxzZTt0LnJlZElBZGQoaSk7aWYodGhpcy54LmNtcCh0KT09PTApcmV0dXJuIHRydWV9fTtQb2ludC5wcm90b3R5cGUudG9QPVBvaW50LnByb3RvdHlwZS5ub3JtYWxpemU7UG9pbnQucHJvdG90eXBlLm1peGVkQWRkPVBvaW50LnByb3RvdHlwZS5hZGR9LDkzNTk6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXQ7aS5iYXNlPXIoMjcyNyk7aS5zaG9ydD1yKDQ3MjApO2kubW9udD1yKDY2NTMpO2kuZWR3YXJkcz1yKDI3MDUpfSw2NjUzOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDcxMSk7dmFyIG49cigzNzgyKTt2YXIgYT1yKDI3MjcpO3ZhciBzPXIoNDQwMSk7ZnVuY3Rpb24gTW9udEN1cnZlKGUpe2EuY2FsbCh0aGlzLFwibW9udFwiLGUpO3RoaXMuYT1uZXcgaShlLmEsMTYpLnRvUmVkKHRoaXMucmVkKTt0aGlzLmI9bmV3IGkoZS5iLDE2KS50b1JlZCh0aGlzLnJlZCk7dGhpcy5pND1uZXcgaSg0KS50b1JlZCh0aGlzLnJlZCkucmVkSW52bSgpO3RoaXMudHdvPW5ldyBpKDIpLnRvUmVkKHRoaXMucmVkKTt0aGlzLmEyND10aGlzLmk0LnJlZE11bCh0aGlzLmEucmVkQWRkKHRoaXMudHdvKSl9bihNb250Q3VydmUsYSk7ZS5leHBvcnRzPU1vbnRDdXJ2ZTtNb250Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uIHZhbGlkYXRlKGUpe3ZhciB0PWUubm9ybWFsaXplKCkueDt2YXIgcj10LnJlZFNxcigpO3ZhciBpPXIucmVkTXVsKHQpLnJlZEFkZChyLnJlZE11bCh0aGlzLmEpKS5yZWRBZGQodCk7dmFyIG49aS5yZWRTcXJ0KCk7cmV0dXJuIG4ucmVkU3FyKCkuY21wKGkpPT09MH07ZnVuY3Rpb24gUG9pbnQoZSx0LHIpe2EuQmFzZVBvaW50LmNhbGwodGhpcyxlLFwicHJvamVjdGl2ZVwiKTtpZih0PT09bnVsbCYmcj09PW51bGwpe3RoaXMueD10aGlzLmN1cnZlLm9uZTt0aGlzLno9dGhpcy5jdXJ2ZS56ZXJvfWVsc2V7dGhpcy54PW5ldyBpKHQsMTYpO3RoaXMuej1uZXcgaShyLDE2KTtpZighdGhpcy54LnJlZCl0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtpZighdGhpcy56LnJlZCl0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKX19bihQb2ludCxhLkJhc2VQb2ludCk7TW9udEN1cnZlLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbiBkZWNvZGVQb2ludChlLHQpe3JldHVybiB0aGlzLnBvaW50KHMudG9BcnJheShlLHQpLDEpfTtNb250Q3VydmUucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uIHBvaW50KGUsdCl7cmV0dXJuIG5ldyBQb2ludCh0aGlzLGUsdCl9O01vbnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTj1mdW5jdGlvbiBwb2ludEZyb21KU09OKGUpe3JldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLGUpfTtQb2ludC5wcm90b3R5cGUucHJlY29tcHV0ZT1mdW5jdGlvbiBwcmVjb21wdXRlKCl7fTtQb2ludC5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbiBfZW5jb2RlKCl7cmV0dXJuIHRoaXMuZ2V0WCgpLnRvQXJyYXkoXCJiZVwiLHRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCkpfTtQb2ludC5mcm9tSlNPTj1mdW5jdGlvbiBmcm9tSlNPTihlLHQpe3JldHVybiBuZXcgUG9pbnQoZSx0WzBdLHRbMV18fGUub25lKX07UG9pbnQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24gaW5zcGVjdCgpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVyblwiPEVDIFBvaW50IEluZmluaXR5PlwiO3JldHVyblwiPEVDIFBvaW50IHg6IFwiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrXCIgejogXCIrdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwyKStcIj5cIn07UG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24gaXNJbmZpbml0eSgpe3JldHVybiB0aGlzLnouY21wbigwKT09PTB9O1BvaW50LnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24gZGJsKCl7dmFyIGU9dGhpcy54LnJlZEFkZCh0aGlzLnopO3ZhciB0PWUucmVkU3FyKCk7dmFyIHI9dGhpcy54LnJlZFN1Yih0aGlzLnopO3ZhciBpPXIucmVkU3FyKCk7dmFyIG49dC5yZWRTdWIoaSk7dmFyIGE9dC5yZWRNdWwoaSk7dmFyIHM9bi5yZWRNdWwoaS5yZWRBZGQodGhpcy5jdXJ2ZS5hMjQucmVkTXVsKG4pKSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQoYSxzKX07UG9pbnQucHJvdG90eXBlLmFkZD1mdW5jdGlvbiBhZGQoKXt0aHJvdyBuZXcgRXJyb3IoXCJOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmVcIil9O1BvaW50LnByb3RvdHlwZS5kaWZmQWRkPWZ1bmN0aW9uIGRpZmZBZGQoZSx0KXt2YXIgcj10aGlzLngucmVkQWRkKHRoaXMueik7dmFyIGk9dGhpcy54LnJlZFN1Yih0aGlzLnopO3ZhciBuPWUueC5yZWRBZGQoZS56KTt2YXIgYT1lLngucmVkU3ViKGUueik7dmFyIHM9YS5yZWRNdWwocik7dmFyIG89bi5yZWRNdWwoaSk7dmFyIGg9dC56LnJlZE11bChzLnJlZEFkZChvKS5yZWRTcXIoKSk7dmFyIHU9dC54LnJlZE11bChzLnJlZElTdWIobykucmVkU3FyKCkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KGgsdSl9O1BvaW50LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKGUpe3ZhciB0PWUuY2xvbmUoKTt2YXIgcj10aGlzO3ZhciBpPXRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgbj10aGlzO2Zvcih2YXIgYT1bXTt0LmNtcG4oMCkhPT0wO3QuaXVzaHJuKDEpKWEucHVzaCh0LmFuZGxuKDEpKTtmb3IodmFyIHM9YS5sZW5ndGgtMTtzPj0wO3MtLSl7aWYoYVtzXT09PTApe3I9ci5kaWZmQWRkKGksbik7aT1pLmRibCgpfWVsc2V7aT1yLmRpZmZBZGQoaSxuKTtyPXIuZGJsKCl9fXJldHVybiBpfTtQb2ludC5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uIG11bEFkZCgpe3Rocm93IG5ldyBFcnJvcihcIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZVwiKX07UG9pbnQucHJvdG90eXBlLmp1bWxBZGQ9ZnVuY3Rpb24ganVtbEFkZCgpe3Rocm93IG5ldyBFcnJvcihcIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZVwiKX07UG9pbnQucHJvdG90eXBlLmVxPWZ1bmN0aW9uIGVxKGUpe3JldHVybiB0aGlzLmdldFgoKS5jbXAoZS5nZXRYKCkpPT09MH07UG9pbnQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbiBub3JtYWxpemUoKXt0aGlzLng9dGhpcy54LnJlZE11bCh0aGlzLnoucmVkSW52bSgpKTt0aGlzLno9dGhpcy5jdXJ2ZS5vbmU7cmV0dXJuIHRoaXN9O1BvaW50LnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uIGdldFgoKXt0aGlzLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzLnguZnJvbVJlZCgpfX0sNDcyMDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cig0NDAxKTt2YXIgbj1yKDcxMSk7dmFyIGE9cigzNzgyKTt2YXIgcz1yKDI3MjcpO3ZhciBvPWkuYXNzZXJ0O2Z1bmN0aW9uIFNob3J0Q3VydmUoZSl7cy5jYWxsKHRoaXMsXCJzaG9ydFwiLGUpO3RoaXMuYT1uZXcgbihlLmEsMTYpLnRvUmVkKHRoaXMucmVkKTt0aGlzLmI9bmV3IG4oZS5iLDE2KS50b1JlZCh0aGlzLnJlZCk7dGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKTt0aGlzLnplcm9BPXRoaXMuYS5mcm9tUmVkKCkuY21wbigwKT09PTA7dGhpcy50aHJlZUE9dGhpcy5hLmZyb21SZWQoKS5zdWIodGhpcy5wKS5jbXBuKC0zKT09PTA7dGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbShlKTt0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KTt0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX1hKFNob3J0Q3VydmUscyk7ZS5leHBvcnRzPVNob3J0Q3VydmU7U2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9tb3JwaGlzbT1mdW5jdGlvbiBfZ2V0RW5kb21vcnBoaXNtKGUpe2lmKCF0aGlzLnplcm9BfHwhdGhpcy5nfHwhdGhpcy5ufHx0aGlzLnAubW9kbigzKSE9PTEpcmV0dXJuO3ZhciB0O3ZhciByO2lmKGUuYmV0YSl7dD1uZXcgbihlLmJldGEsMTYpLnRvUmVkKHRoaXMucmVkKX1lbHNle3ZhciBpPXRoaXMuX2dldEVuZG9Sb290cyh0aGlzLnApO3Q9aVswXS5jbXAoaVsxXSk8MD9pWzBdOmlbMV07dD10LnRvUmVkKHRoaXMucmVkKX1pZihlLmxhbWJkYSl7cj1uZXcgbihlLmxhbWJkYSwxNil9ZWxzZXt2YXIgYT10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5uKTtpZih0aGlzLmcubXVsKGFbMF0pLnguY21wKHRoaXMuZy54LnJlZE11bCh0KSk9PT0wKXtyPWFbMF19ZWxzZXtyPWFbMV07byh0aGlzLmcubXVsKHIpLnguY21wKHRoaXMuZy54LnJlZE11bCh0KSk9PT0wKX19dmFyIHM7aWYoZS5iYXNpcyl7cz1lLmJhc2lzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJue2E6bmV3IG4oZS5hLDE2KSxiOm5ldyBuKGUuYiwxNil9fSkpfWVsc2V7cz10aGlzLl9nZXRFbmRvQmFzaXMocil9cmV0dXJue2JldGE6dCxsYW1iZGE6cixiYXNpczpzfX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9Sb290cz1mdW5jdGlvbiBfZ2V0RW5kb1Jvb3RzKGUpe3ZhciB0PWU9PT10aGlzLnA/dGhpcy5yZWQ6bi5tb250KGUpO3ZhciByPW5ldyBuKDIpLnRvUmVkKHQpLnJlZEludm0oKTt2YXIgaT1yLnJlZE5lZygpO3ZhciBhPW5ldyBuKDMpLnRvUmVkKHQpLnJlZE5lZygpLnJlZFNxcnQoKS5yZWRNdWwocik7dmFyIHM9aS5yZWRBZGQoYSkuZnJvbVJlZCgpO3ZhciBvPWkucmVkU3ViKGEpLmZyb21SZWQoKTtyZXR1cm5bcyxvXX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9CYXNpcz1mdW5jdGlvbiBfZ2V0RW5kb0Jhc2lzKGUpe3ZhciB0PXRoaXMubi51c2hybihNYXRoLmZsb29yKHRoaXMubi5iaXRMZW5ndGgoKS8yKSk7dmFyIHI9ZTt2YXIgaT10aGlzLm4uY2xvbmUoKTt2YXIgYT1uZXcgbigxKTt2YXIgcz1uZXcgbigwKTt2YXIgbz1uZXcgbigwKTt2YXIgaD1uZXcgbigxKTt2YXIgdTt2YXIgZDt2YXIgYzt2YXIgbDt2YXIgcDt2YXIgdjt2YXIgYjt2YXIgbT0wO3ZhciB5O3ZhciBnO3doaWxlKHIuY21wbigwKSE9PTApe3ZhciBfPWkuZGl2KHIpO3k9aS5zdWIoXy5tdWwocikpO2c9by5zdWIoXy5tdWwoYSkpO3ZhciB3PWguc3ViKF8ubXVsKHMpKTtpZighYyYmeS5jbXAodCk8MCl7dT1iLm5lZygpO2Q9YTtjPXkubmVnKCk7bD1nfWVsc2UgaWYoYyYmKyttPT09Mil7YnJlYWt9Yj15O2k9cjtyPXk7bz1hO2E9ZztoPXM7cz13fXA9eS5uZWcoKTt2PWc7dmFyIE09Yy5zcXIoKS5hZGQobC5zcXIoKSk7dmFyIEI9cC5zcXIoKS5hZGQodi5zcXIoKSk7aWYoQi5jbXAoTSk+PTApe3A9dTt2PWR9aWYoYy5uZWdhdGl2ZSl7Yz1jLm5lZygpO2w9bC5uZWcoKX1pZihwLm5lZ2F0aXZlKXtwPXAubmVnKCk7dj12Lm5lZygpfXJldHVyblt7YTpjLGI6bH0se2E6cCxiOnZ9XX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2VuZG9TcGxpdD1mdW5jdGlvbiBfZW5kb1NwbGl0KGUpe3ZhciB0PXRoaXMuZW5kby5iYXNpczt2YXIgcj10WzBdO3ZhciBpPXRbMV07dmFyIG49aS5iLm11bChlKS5kaXZSb3VuZCh0aGlzLm4pO3ZhciBhPXIuYi5uZWcoKS5tdWwoZSkuZGl2Um91bmQodGhpcy5uKTt2YXIgcz1uLm11bChyLmEpO3ZhciBvPWEubXVsKGkuYSk7dmFyIGg9bi5tdWwoci5iKTt2YXIgdT1hLm11bChpLmIpO3ZhciBkPWUuc3ViKHMpLnN1YihvKTt2YXIgYz1oLmFkZCh1KS5uZWcoKTtyZXR1cm57azE6ZCxrMjpjfX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tWD1mdW5jdGlvbiBwb2ludEZyb21YKGUsdCl7ZT1uZXcgbihlLDE2KTtpZighZS5yZWQpZT1lLnRvUmVkKHRoaXMucmVkKTt2YXIgcj1lLnJlZFNxcigpLnJlZE11bChlKS5yZWRJQWRkKGUucmVkTXVsKHRoaXMuYSkpLnJlZElBZGQodGhpcy5iKTt2YXIgaT1yLnJlZFNxcnQoKTtpZihpLnJlZFNxcigpLnJlZFN1YihyKS5jbXAodGhpcy56ZXJvKSE9PTApdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCBwb2ludFwiKTt2YXIgYT1pLmZyb21SZWQoKS5pc09kZCgpO2lmKHQmJiFhfHwhdCYmYSlpPWkucmVkTmVnKCk7cmV0dXJuIHRoaXMucG9pbnQoZSxpKX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24gdmFsaWRhdGUoZSl7aWYoZS5pbmYpcmV0dXJuIHRydWU7dmFyIHQ9ZS54O3ZhciByPWUueTt2YXIgaT10aGlzLmEucmVkTXVsKHQpO3ZhciBuPXQucmVkU3FyKCkucmVkTXVsKHQpLnJlZElBZGQoaSkucmVkSUFkZCh0aGlzLmIpO3JldHVybiByLnJlZFNxcigpLnJlZElTdWIobikuY21wbigwKT09PTB9O1Nob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvV25hZk11bEFkZD1mdW5jdGlvbiBfZW5kb1duYWZNdWxBZGQoZSx0LHIpe3ZhciBpPXRoaXMuX2VuZG9XbmFmVDE7dmFyIG49dGhpcy5fZW5kb1duYWZUMjtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy5fZW5kb1NwbGl0KHRbYV0pO3ZhciBvPWVbYV07dmFyIGg9by5fZ2V0QmV0YSgpO2lmKHMuazEubmVnYXRpdmUpe3MuazEuaW5lZygpO289by5uZWcodHJ1ZSl9aWYocy5rMi5uZWdhdGl2ZSl7cy5rMi5pbmVnKCk7aD1oLm5lZyh0cnVlKX1pW2EqMl09bztpW2EqMisxXT1oO25bYSoyXT1zLmsxO25bYSoyKzFdPXMuazJ9dmFyIHU9dGhpcy5fd25hZk11bEFkZCgxLGksbixhKjIscik7Zm9yKHZhciBkPTA7ZDxhKjI7ZCsrKXtpW2RdPW51bGw7bltkXT1udWxsfXJldHVybiB1fTtmdW5jdGlvbiBQb2ludChlLHQscixpKXtzLkJhc2VQb2ludC5jYWxsKHRoaXMsZSxcImFmZmluZVwiKTtpZih0PT09bnVsbCYmcj09PW51bGwpe3RoaXMueD1udWxsO3RoaXMueT1udWxsO3RoaXMuaW5mPXRydWV9ZWxzZXt0aGlzLng9bmV3IG4odCwxNik7dGhpcy55PW5ldyBuKHIsMTYpO2lmKGkpe3RoaXMueC5mb3JjZVJlZCh0aGlzLmN1cnZlLnJlZCk7dGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKX1pZighdGhpcy54LnJlZCl0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtpZighdGhpcy55LnJlZCl0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTt0aGlzLmluZj1mYWxzZX19YShQb2ludCxzLkJhc2VQb2ludCk7U2hvcnRDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24gcG9pbnQoZSx0LHIpe3JldHVybiBuZXcgUG9pbnQodGhpcyxlLHQscil9O1Nob3J0Q3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24gcG9pbnRGcm9tSlNPTihlLHQpe3JldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLGUsdCl9O1BvaW50LnByb3RvdHlwZS5fZ2V0QmV0YT1mdW5jdGlvbiBfZ2V0QmV0YSgpe2lmKCF0aGlzLmN1cnZlLmVuZG8pcmV0dXJuO3ZhciBlPXRoaXMucHJlY29tcHV0ZWQ7aWYoZSYmZS5iZXRhKXJldHVybiBlLmJldGE7dmFyIHQ9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngucmVkTXVsKHRoaXMuY3VydmUuZW5kby5iZXRhKSx0aGlzLnkpO2lmKGUpe3ZhciByPXRoaXMuY3VydmU7dmFyIGVuZG9NdWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHIucG9pbnQoZS54LnJlZE11bChyLmVuZG8uYmV0YSksZS55KX07ZS5iZXRhPXQ7dC5wcmVjb21wdXRlZD17YmV0YTpudWxsLG5hZjplLm5hZiYme3duZDplLm5hZi53bmQscG9pbnRzOmUubmFmLnBvaW50cy5tYXAoZW5kb011bCl9LGRvdWJsZXM6ZS5kb3VibGVzJiZ7c3RlcDplLmRvdWJsZXMuc3RlcCxwb2ludHM6ZS5kb3VibGVzLnBvaW50cy5tYXAoZW5kb011bCl9fX1yZXR1cm4gdH07UG9pbnQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbiB0b0pTT04oKXtpZighdGhpcy5wcmVjb21wdXRlZClyZXR1cm5bdGhpcy54LHRoaXMueV07cmV0dXJuW3RoaXMueCx0aGlzLnksdGhpcy5wcmVjb21wdXRlZCYme2RvdWJsZXM6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzJiZ7c3RlcDp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMuc3RlcCxwb2ludHM6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnBvaW50cy5zbGljZSgxKX0sbmFmOnRoaXMucHJlY29tcHV0ZWQubmFmJiZ7d25kOnRoaXMucHJlY29tcHV0ZWQubmFmLnduZCxwb2ludHM6dGhpcy5wcmVjb21wdXRlZC5uYWYucG9pbnRzLnNsaWNlKDEpfX1dfTtQb2ludC5mcm9tSlNPTj1mdW5jdGlvbiBmcm9tSlNPTihlLHQscil7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiKXQ9SlNPTi5wYXJzZSh0KTt2YXIgaT1lLnBvaW50KHRbMF0sdFsxXSxyKTtpZighdFsyXSlyZXR1cm4gaTtmdW5jdGlvbiBvYmoycG9pbnQodCl7cmV0dXJuIGUucG9pbnQodFswXSx0WzFdLHIpfXZhciBuPXRbMl07aS5wcmVjb21wdXRlZD17YmV0YTpudWxsLGRvdWJsZXM6bi5kb3VibGVzJiZ7c3RlcDpuLmRvdWJsZXMuc3RlcCxwb2ludHM6W2ldLmNvbmNhdChuLmRvdWJsZXMucG9pbnRzLm1hcChvYmoycG9pbnQpKX0sbmFmOm4ubmFmJiZ7d25kOm4ubmFmLnduZCxwb2ludHM6W2ldLmNvbmNhdChuLm5hZi5wb2ludHMubWFwKG9iajJwb2ludCkpfX07cmV0dXJuIGl9O1BvaW50LnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uIGluc3BlY3QoKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm5cIjxFQyBQb2ludCBJbmZpbml0eT5cIjtyZXR1cm5cIjxFQyBQb2ludCB4OiBcIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpK1wiIHk6IFwiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrXCI+XCJ9O1BvaW50LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uIGlzSW5maW5pdHkoKXtyZXR1cm4gdGhpcy5pbmZ9O1BvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKGUpe2lmKHRoaXMuaW5mKXJldHVybiBlO2lmKGUuaW5mKXJldHVybiB0aGlzO2lmKHRoaXMuZXEoZSkpcmV0dXJuIHRoaXMuZGJsKCk7aWYodGhpcy5uZWcoKS5lcShlKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO2lmKHRoaXMueC5jbXAoZS54KT09PTApcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgdD10aGlzLnkucmVkU3ViKGUueSk7aWYodC5jbXBuKDApIT09MCl0PXQucmVkTXVsKHRoaXMueC5yZWRTdWIoZS54KS5yZWRJbnZtKCkpO3ZhciByPXQucmVkU3FyKCkucmVkSVN1Yih0aGlzLngpLnJlZElTdWIoZS54KTt2YXIgaT10LnJlZE11bCh0aGlzLngucmVkU3ViKHIpKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQocixpKX07UG9pbnQucHJvdG90eXBlLmRibD1mdW5jdGlvbiBkYmwoKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIgZT10aGlzLnkucmVkQWRkKHRoaXMueSk7aWYoZS5jbXBuKDApPT09MClyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciB0PXRoaXMuY3VydmUuYTt2YXIgcj10aGlzLngucmVkU3FyKCk7dmFyIGk9ZS5yZWRJbnZtKCk7dmFyIG49ci5yZWRBZGQocikucmVkSUFkZChyKS5yZWRJQWRkKHQpLnJlZE11bChpKTt2YXIgYT1uLnJlZFNxcigpLnJlZElTdWIodGhpcy54LnJlZEFkZCh0aGlzLngpKTt2YXIgcz1uLnJlZE11bCh0aGlzLngucmVkU3ViKGEpKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQoYSxzKX07UG9pbnQucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24gZ2V0WCgpe3JldHVybiB0aGlzLnguZnJvbVJlZCgpfTtQb2ludC5wcm90b3R5cGUuZ2V0WT1mdW5jdGlvbiBnZXRZKCl7cmV0dXJuIHRoaXMueS5mcm9tUmVkKCl9O1BvaW50LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKGUpe2U9bmV3IG4oZSwxNik7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7ZWxzZSBpZih0aGlzLl9oYXNEb3VibGVzKGUpKXJldHVybiB0aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLGUpO2Vsc2UgaWYodGhpcy5jdXJ2ZS5lbmRvKXJldHVybiB0aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChbdGhpc10sW2VdKTtlbHNlIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsZSl9O1BvaW50LnByb3RvdHlwZS5tdWxBZGQ9ZnVuY3Rpb24gbXVsQWRkKGUsdCxyKXt2YXIgaT1bdGhpcyx0XTt2YXIgbj1bZSxyXTtpZih0aGlzLmN1cnZlLmVuZG8pcmV0dXJuIHRoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKGksbik7ZWxzZSByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLGksbiwyKX07UG9pbnQucHJvdG90eXBlLmptdWxBZGQ9ZnVuY3Rpb24gam11bEFkZChlLHQscil7dmFyIGk9W3RoaXMsdF07dmFyIG49W2Uscl07aWYodGhpcy5jdXJ2ZS5lbmRvKXJldHVybiB0aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChpLG4sdHJ1ZSk7ZWxzZSByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLGksbiwyLHRydWUpfTtQb2ludC5wcm90b3R5cGUuZXE9ZnVuY3Rpb24gZXEoZSl7cmV0dXJuIHRoaXM9PT1lfHx0aGlzLmluZj09PWUuaW5mJiYodGhpcy5pbmZ8fHRoaXMueC5jbXAoZS54KT09PTAmJnRoaXMueS5jbXAoZS55KT09PTApfTtQb2ludC5wcm90b3R5cGUubmVnPWZ1bmN0aW9uIG5lZyhlKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIgdD10aGlzLmN1cnZlLnBvaW50KHRoaXMueCx0aGlzLnkucmVkTmVnKCkpO2lmKGUmJnRoaXMucHJlY29tcHV0ZWQpe3ZhciByPXRoaXMucHJlY29tcHV0ZWQ7dmFyIG5lZ2F0ZT1mdW5jdGlvbihlKXtyZXR1cm4gZS5uZWcoKX07dC5wcmVjb21wdXRlZD17bmFmOnIubmFmJiZ7d25kOnIubmFmLnduZCxwb2ludHM6ci5uYWYucG9pbnRzLm1hcChuZWdhdGUpfSxkb3VibGVzOnIuZG91YmxlcyYme3N0ZXA6ci5kb3VibGVzLnN0ZXAscG9pbnRzOnIuZG91Ymxlcy5wb2ludHMubWFwKG5lZ2F0ZSl9fX1yZXR1cm4gdH07UG9pbnQucHJvdG90eXBlLnRvSj1mdW5jdGlvbiB0b0ooKXtpZih0aGlzLmluZilyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpO3ZhciBlPXRoaXMuY3VydmUuanBvaW50KHRoaXMueCx0aGlzLnksdGhpcy5jdXJ2ZS5vbmUpO3JldHVybiBlfTtmdW5jdGlvbiBKUG9pbnQoZSx0LHIsaSl7cy5CYXNlUG9pbnQuY2FsbCh0aGlzLGUsXCJqYWNvYmlhblwiKTtpZih0PT09bnVsbCYmcj09PW51bGwmJmk9PT1udWxsKXt0aGlzLng9dGhpcy5jdXJ2ZS5vbmU7dGhpcy55PXRoaXMuY3VydmUub25lO3RoaXMuej1uZXcgbigwKX1lbHNle3RoaXMueD1uZXcgbih0LDE2KTt0aGlzLnk9bmV3IG4ociwxNik7dGhpcy56PW5ldyBuKGksMTYpfWlmKCF0aGlzLngucmVkKXRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO2lmKCF0aGlzLnkucmVkKXRoaXMueT10aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO2lmKCF0aGlzLnoucmVkKXRoaXMuej10aGlzLnoudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO3RoaXMuek9uZT10aGlzLno9PT10aGlzLmN1cnZlLm9uZX1hKEpQb2ludCxzLkJhc2VQb2ludCk7U2hvcnRDdXJ2ZS5wcm90b3R5cGUuanBvaW50PWZ1bmN0aW9uIGpwb2ludChlLHQscil7cmV0dXJuIG5ldyBKUG9pbnQodGhpcyxlLHQscil9O0pQb2ludC5wcm90b3R5cGUudG9QPWZ1bmN0aW9uIHRvUCgpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIGU9dGhpcy56LnJlZEludm0oKTt2YXIgdD1lLnJlZFNxcigpO3ZhciByPXRoaXMueC5yZWRNdWwodCk7dmFyIGk9dGhpcy55LnJlZE11bCh0KS5yZWRNdWwoZSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQocixpKX07SlBvaW50LnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24gbmVnKCl7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KHRoaXMueCx0aGlzLnkucmVkTmVnKCksdGhpcy56KX07SlBvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKGUpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiBlO2lmKGUuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO3ZhciB0PWUuei5yZWRTcXIoKTt2YXIgcj10aGlzLnoucmVkU3FyKCk7dmFyIGk9dGhpcy54LnJlZE11bCh0KTt2YXIgbj1lLngucmVkTXVsKHIpO3ZhciBhPXRoaXMueS5yZWRNdWwodC5yZWRNdWwoZS56KSk7dmFyIHM9ZS55LnJlZE11bChyLnJlZE11bCh0aGlzLnopKTt2YXIgbz1pLnJlZFN1YihuKTt2YXIgaD1hLnJlZFN1YihzKTtpZihvLmNtcG4oMCk9PT0wKXtpZihoLmNtcG4oMCkhPT0wKXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk7ZWxzZSByZXR1cm4gdGhpcy5kYmwoKX12YXIgdT1vLnJlZFNxcigpO3ZhciBkPXUucmVkTXVsKG8pO3ZhciBjPWkucmVkTXVsKHUpO3ZhciBsPWgucmVkU3FyKCkucmVkSUFkZChkKS5yZWRJU3ViKGMpLnJlZElTdWIoYyk7dmFyIHA9aC5yZWRNdWwoYy5yZWRJU3ViKGwpKS5yZWRJU3ViKGEucmVkTXVsKGQpKTt2YXIgdj10aGlzLnoucmVkTXVsKGUueikucmVkTXVsKG8pO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChsLHAsdil9O0pQb2ludC5wcm90b3R5cGUubWl4ZWRBZGQ9ZnVuY3Rpb24gbWl4ZWRBZGQoZSl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIGUudG9KKCk7aWYoZS5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy56LnJlZFNxcigpO3ZhciByPXRoaXMueDt2YXIgaT1lLngucmVkTXVsKHQpO3ZhciBuPXRoaXMueTt2YXIgYT1lLnkucmVkTXVsKHQpLnJlZE11bCh0aGlzLnopO3ZhciBzPXIucmVkU3ViKGkpO3ZhciBvPW4ucmVkU3ViKGEpO2lmKHMuY21wbigwKT09PTApe2lmKG8uY21wbigwKSE9PTApcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTtlbHNlIHJldHVybiB0aGlzLmRibCgpfXZhciBoPXMucmVkU3FyKCk7dmFyIHU9aC5yZWRNdWwocyk7dmFyIGQ9ci5yZWRNdWwoaCk7dmFyIGM9by5yZWRTcXIoKS5yZWRJQWRkKHUpLnJlZElTdWIoZCkucmVkSVN1YihkKTt2YXIgbD1vLnJlZE11bChkLnJlZElTdWIoYykpLnJlZElTdWIobi5yZWRNdWwodSkpO3ZhciBwPXRoaXMuei5yZWRNdWwocyk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGMsbCxwKX07SlBvaW50LnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uIGRibHAoZSl7aWYoZT09PTApcmV0dXJuIHRoaXM7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7aWYoIWUpcmV0dXJuIHRoaXMuZGJsKCk7aWYodGhpcy5jdXJ2ZS56ZXJvQXx8dGhpcy5jdXJ2ZS50aHJlZUEpe3ZhciB0PXRoaXM7Zm9yKHZhciByPTA7cjxlO3IrKyl0PXQuZGJsKCk7cmV0dXJuIHR9dmFyIGk9dGhpcy5jdXJ2ZS5hO3ZhciBuPXRoaXMuY3VydmUudGludjt2YXIgYT10aGlzLng7dmFyIHM9dGhpcy55O3ZhciBvPXRoaXMuejt2YXIgaD1vLnJlZFNxcigpLnJlZFNxcigpO3ZhciB1PXMucmVkQWRkKHMpO2Zvcih2YXIgcj0wO3I8ZTtyKyspe3ZhciBkPWEucmVkU3FyKCk7dmFyIGM9dS5yZWRTcXIoKTt2YXIgbD1jLnJlZFNxcigpO3ZhciBwPWQucmVkQWRkKGQpLnJlZElBZGQoZCkucmVkSUFkZChpLnJlZE11bChoKSk7dmFyIHY9YS5yZWRNdWwoYyk7dmFyIGI9cC5yZWRTcXIoKS5yZWRJU3ViKHYucmVkQWRkKHYpKTt2YXIgbT12LnJlZElTdWIoYik7dmFyIHk9cC5yZWRNdWwobSk7eT15LnJlZElBZGQoeSkucmVkSVN1YihsKTt2YXIgZz11LnJlZE11bChvKTtpZihyKzE8ZSloPWgucmVkTXVsKGwpO2E9YjtvPWc7dT15fXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChhLHUucmVkTXVsKG4pLG8pfTtKUG9pbnQucHJvdG90eXBlLmRibD1mdW5jdGlvbiBkYmwoKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpcztpZih0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLl96ZXJvRGJsKCk7ZWxzZSBpZih0aGlzLmN1cnZlLnRocmVlQSlyZXR1cm4gdGhpcy5fdGhyZWVEYmwoKTtlbHNlIHJldHVybiB0aGlzLl9kYmwoKX07SlBvaW50LnByb3RvdHlwZS5femVyb0RibD1mdW5jdGlvbiBfemVyb0RibCgpe3ZhciBlO3ZhciB0O3ZhciByO2lmKHRoaXMuek9uZSl7dmFyIGk9dGhpcy54LnJlZFNxcigpO3ZhciBuPXRoaXMueS5yZWRTcXIoKTt2YXIgYT1uLnJlZFNxcigpO3ZhciBzPXRoaXMueC5yZWRBZGQobikucmVkU3FyKCkucmVkSVN1YihpKS5yZWRJU3ViKGEpO3M9cy5yZWRJQWRkKHMpO3ZhciBvPWkucmVkQWRkKGkpLnJlZElBZGQoaSk7dmFyIGg9by5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7dmFyIHU9YS5yZWRJQWRkKGEpO3U9dS5yZWRJQWRkKHUpO3U9dS5yZWRJQWRkKHUpO2U9aDt0PW8ucmVkTXVsKHMucmVkSVN1YihoKSkucmVkSVN1Yih1KTtyPXRoaXMueS5yZWRBZGQodGhpcy55KX1lbHNle3ZhciBkPXRoaXMueC5yZWRTcXIoKTt2YXIgYz10aGlzLnkucmVkU3FyKCk7dmFyIGw9Yy5yZWRTcXIoKTt2YXIgcD10aGlzLngucmVkQWRkKGMpLnJlZFNxcigpLnJlZElTdWIoZCkucmVkSVN1YihsKTtwPXAucmVkSUFkZChwKTt2YXIgdj1kLnJlZEFkZChkKS5yZWRJQWRkKGQpO3ZhciBiPXYucmVkU3FyKCk7dmFyIG09bC5yZWRJQWRkKGwpO209bS5yZWRJQWRkKG0pO209bS5yZWRJQWRkKG0pO2U9Yi5yZWRJU3ViKHApLnJlZElTdWIocCk7dD12LnJlZE11bChwLnJlZElTdWIoZSkpLnJlZElTdWIobSk7cj10aGlzLnkucmVkTXVsKHRoaXMueik7cj1yLnJlZElBZGQocil9cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGUsdCxyKX07SlBvaW50LnByb3RvdHlwZS5fdGhyZWVEYmw9ZnVuY3Rpb24gX3RocmVlRGJsKCl7dmFyIGU7dmFyIHQ7dmFyIHI7aWYodGhpcy56T25lKXt2YXIgaT10aGlzLngucmVkU3FyKCk7dmFyIG49dGhpcy55LnJlZFNxcigpO3ZhciBhPW4ucmVkU3FyKCk7dmFyIHM9dGhpcy54LnJlZEFkZChuKS5yZWRTcXIoKS5yZWRJU3ViKGkpLnJlZElTdWIoYSk7cz1zLnJlZElBZGQocyk7dmFyIG89aS5yZWRBZGQoaSkucmVkSUFkZChpKS5yZWRJQWRkKHRoaXMuY3VydmUuYSk7dmFyIGg9by5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7ZT1oO3ZhciB1PWEucmVkSUFkZChhKTt1PXUucmVkSUFkZCh1KTt1PXUucmVkSUFkZCh1KTt0PW8ucmVkTXVsKHMucmVkSVN1YihoKSkucmVkSVN1Yih1KTtyPXRoaXMueS5yZWRBZGQodGhpcy55KX1lbHNle3ZhciBkPXRoaXMuei5yZWRTcXIoKTt2YXIgYz10aGlzLnkucmVkU3FyKCk7dmFyIGw9dGhpcy54LnJlZE11bChjKTt2YXIgcD10aGlzLngucmVkU3ViKGQpLnJlZE11bCh0aGlzLngucmVkQWRkKGQpKTtwPXAucmVkQWRkKHApLnJlZElBZGQocCk7dmFyIHY9bC5yZWRJQWRkKGwpO3Y9di5yZWRJQWRkKHYpO3ZhciBiPXYucmVkQWRkKHYpO2U9cC5yZWRTcXIoKS5yZWRJU3ViKGIpO3I9dGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoYykucmVkSVN1YihkKTt2YXIgbT1jLnJlZFNxcigpO209bS5yZWRJQWRkKG0pO209bS5yZWRJQWRkKG0pO209bS5yZWRJQWRkKG0pO3Q9cC5yZWRNdWwodi5yZWRJU3ViKGUpKS5yZWRJU3ViKG0pfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChlLHQscil9O0pQb2ludC5wcm90b3R5cGUuX2RibD1mdW5jdGlvbiBfZGJsKCl7dmFyIGU9dGhpcy5jdXJ2ZS5hO3ZhciB0PXRoaXMueDt2YXIgcj10aGlzLnk7dmFyIGk9dGhpcy56O3ZhciBuPWkucmVkU3FyKCkucmVkU3FyKCk7dmFyIGE9dC5yZWRTcXIoKTt2YXIgcz1yLnJlZFNxcigpO3ZhciBvPWEucmVkQWRkKGEpLnJlZElBZGQoYSkucmVkSUFkZChlLnJlZE11bChuKSk7dmFyIGg9dC5yZWRBZGQodCk7aD1oLnJlZElBZGQoaCk7dmFyIHU9aC5yZWRNdWwocyk7dmFyIGQ9by5yZWRTcXIoKS5yZWRJU3ViKHUucmVkQWRkKHUpKTt2YXIgYz11LnJlZElTdWIoZCk7dmFyIGw9cy5yZWRTcXIoKTtsPWwucmVkSUFkZChsKTtsPWwucmVkSUFkZChsKTtsPWwucmVkSUFkZChsKTt2YXIgcD1vLnJlZE11bChjKS5yZWRJU3ViKGwpO3ZhciB2PXIucmVkQWRkKHIpLnJlZE11bChpKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoZCxwLHYpfTtKUG9pbnQucHJvdG90eXBlLnRycGw9ZnVuY3Rpb24gdHJwbCgpe2lmKCF0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTt2YXIgZT10aGlzLngucmVkU3FyKCk7dmFyIHQ9dGhpcy55LnJlZFNxcigpO3ZhciByPXRoaXMuei5yZWRTcXIoKTt2YXIgaT10LnJlZFNxcigpO3ZhciBuPWUucmVkQWRkKGUpLnJlZElBZGQoZSk7dmFyIGE9bi5yZWRTcXIoKTt2YXIgcz10aGlzLngucmVkQWRkKHQpLnJlZFNxcigpLnJlZElTdWIoZSkucmVkSVN1YihpKTtzPXMucmVkSUFkZChzKTtzPXMucmVkQWRkKHMpLnJlZElBZGQocyk7cz1zLnJlZElTdWIoYSk7dmFyIG89cy5yZWRTcXIoKTt2YXIgaD1pLnJlZElBZGQoaSk7aD1oLnJlZElBZGQoaCk7aD1oLnJlZElBZGQoaCk7aD1oLnJlZElBZGQoaCk7dmFyIHU9bi5yZWRJQWRkKHMpLnJlZFNxcigpLnJlZElTdWIoYSkucmVkSVN1YihvKS5yZWRJU3ViKGgpO3ZhciBkPXQucmVkTXVsKHUpO2Q9ZC5yZWRJQWRkKGQpO2Q9ZC5yZWRJQWRkKGQpO3ZhciBjPXRoaXMueC5yZWRNdWwobykucmVkSVN1YihkKTtjPWMucmVkSUFkZChjKTtjPWMucmVkSUFkZChjKTt2YXIgbD10aGlzLnkucmVkTXVsKHUucmVkTXVsKGgucmVkSVN1Yih1KSkucmVkSVN1YihzLnJlZE11bChvKSkpO2w9bC5yZWRJQWRkKGwpO2w9bC5yZWRJQWRkKGwpO2w9bC5yZWRJQWRkKGwpO3ZhciBwPXRoaXMuei5yZWRBZGQocykucmVkU3FyKCkucmVkSVN1YihyKS5yZWRJU3ViKG8pO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChjLGwscCl9O0pQb2ludC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uIG11bChlLHQpe2U9bmV3IG4oZSx0KTtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLGUpfTtKUG9pbnQucHJvdG90eXBlLmVxPWZ1bmN0aW9uIGVxKGUpe2lmKGUudHlwZT09PVwiYWZmaW5lXCIpcmV0dXJuIHRoaXMuZXEoZS50b0ooKSk7aWYodGhpcz09PWUpcmV0dXJuIHRydWU7dmFyIHQ9dGhpcy56LnJlZFNxcigpO3ZhciByPWUuei5yZWRTcXIoKTtpZih0aGlzLngucmVkTXVsKHIpLnJlZElTdWIoZS54LnJlZE11bCh0KSkuY21wbigwKSE9PTApcmV0dXJuIGZhbHNlO3ZhciBpPXQucmVkTXVsKHRoaXMueik7dmFyIG49ci5yZWRNdWwoZS56KTtyZXR1cm4gdGhpcy55LnJlZE11bChuKS5yZWRJU3ViKGUueS5yZWRNdWwoaSkpLmNtcG4oMCk9PT0wfTtKUG9pbnQucHJvdG90eXBlLmVxWFRvUD1mdW5jdGlvbiBlcVhUb1AoZSl7dmFyIHQ9dGhpcy56LnJlZFNxcigpO3ZhciByPWUudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0KTtpZih0aGlzLnguY21wKHIpPT09MClyZXR1cm4gdHJ1ZTt2YXIgaT1lLmNsb25lKCk7dmFyIG49dGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh0KTtmb3IoOzspe2kuaWFkZCh0aGlzLmN1cnZlLm4pO2lmKGkuY21wKHRoaXMuY3VydmUucCk+PTApcmV0dXJuIGZhbHNlO3IucmVkSUFkZChuKTtpZih0aGlzLnguY21wKHIpPT09MClyZXR1cm4gdHJ1ZX19O0pQb2ludC5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbiBpbnNwZWN0KCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuXCI8RUMgSlBvaW50IEluZmluaXR5PlwiO3JldHVyblwiPEVDIEpQb2ludCB4OiBcIit0aGlzLngudG9TdHJpbmcoMTYsMikrXCIgeTogXCIrdGhpcy55LnRvU3RyaW5nKDE2LDIpK1wiIHo6IFwiK3RoaXMuei50b1N0cmluZygxNiwyKStcIj5cIn07SlBvaW50LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uIGlzSW5maW5pdHkoKXtyZXR1cm4gdGhpcy56LmNtcG4oMCk9PT0wfX0sNjIyNjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9dDt2YXIgbj1yKDcwMjgpO3ZhciBhPXIoOTM1OSk7dmFyIHM9cig0NDAxKTt2YXIgbz1zLmFzc2VydDtmdW5jdGlvbiBQcmVzZXRDdXJ2ZShlKXtpZihlLnR5cGU9PT1cInNob3J0XCIpdGhpcy5jdXJ2ZT1uZXcgYS5zaG9ydChlKTtlbHNlIGlmKGUudHlwZT09PVwiZWR3YXJkc1wiKXRoaXMuY3VydmU9bmV3IGEuZWR3YXJkcyhlKTtlbHNlIHRoaXMuY3VydmU9bmV3IGEubW9udChlKTt0aGlzLmc9dGhpcy5jdXJ2ZS5nO3RoaXMubj10aGlzLmN1cnZlLm47dGhpcy5oYXNoPWUuaGFzaDtvKHRoaXMuZy52YWxpZGF0ZSgpLFwiSW52YWxpZCBjdXJ2ZVwiKTtvKHRoaXMuZy5tdWwodGhpcy5uKS5pc0luZmluaXR5KCksXCJJbnZhbGlkIGN1cnZlLCBHKk4gIT0gT1wiKX1pLlByZXNldEN1cnZlPVByZXNldEN1cnZlO2Z1bmN0aW9uIGRlZmluZUN1cnZlKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGksZSx7Y29uZmlndXJhYmxlOnRydWUsZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3ZhciByPW5ldyBQcmVzZXRDdXJ2ZSh0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoaSxlLHtjb25maWd1cmFibGU6dHJ1ZSxlbnVtZXJhYmxlOnRydWUsdmFsdWU6cn0pO3JldHVybiByfX0pfWRlZmluZUN1cnZlKFwicDE5MlwiLHt0eXBlOlwic2hvcnRcIixwcmltZTpcInAxOTJcIixwOlwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmZcIixhOlwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmNcIixiOlwiNjQyMTA1MTkgZTU5YzgwZTcgMGZhN2U5YWIgNzIyNDMwNDkgZmViOGRlZWMgYzE0NmI5YjFcIixuOlwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgOTlkZWY4MzYgMTQ2YmM5YjEgYjRkMjI4MzFcIixoYXNoOm4uc2hhMjU2LGdSZWQ6ZmFsc2UsZzpbXCIxODhkYTgwZSBiMDMwOTBmNiA3Y2JmMjBlYiA0M2ExODgwMCBmNGZmMGFmZCA4MmZmMTAxMlwiLFwiMDcxOTJiOTUgZmZjOGRhNzggNjMxMDExZWQgNmIyNGNkZDUgNzNmOTc3YTEgMWU3OTQ4MTFcIl19KTtkZWZpbmVDdXJ2ZShcInAyMjRcIix7dHlwZTpcInNob3J0XCIscHJpbWU6XCJwMjI0XCIscDpcImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxXCIsYTpcImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlXCIsYjpcImI0MDUwYTg1IDBjMDRiM2FiIGY1NDEzMjU2IDUwNDRiMGI3IGQ3YmZkOGJhIDI3MGIzOTQzIDIzNTVmZmI0XCIsbjpcImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkXCIsaGFzaDpuLnNoYTI1NixnUmVkOmZhbHNlLGc6W1wiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjFcIixcImJkMzc2Mzg4IGI1ZjcyM2ZiIDRjMjJkZmU2IGNkNDM3NWEwIDVhMDc0NzY0IDQ0ZDU4MTk5IDg1MDA3ZTM0XCJdfSk7ZGVmaW5lQ3VydmUoXCJwMjU2XCIse3R5cGU6XCJzaG9ydFwiLHByaW1lOm51bGwscDpcImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmXCIsYTpcImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjXCIsYjpcIjVhYzYzNWQ4IGFhM2E5M2U3IGIzZWJiZDU1IDc2OTg4NmJjIDY1MWQwNmIwIGNjNTNiMGY2IDNiY2UzYzNlIDI3ZDI2MDRiXCIsbjpcImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxXCIsaGFzaDpuLnNoYTI1NixnUmVkOmZhbHNlLGc6W1wiNmIxN2QxZjIgZTEyYzQyNDcgZjhiY2U2ZTUgNjNhNDQwZjIgNzcwMzdkODEgMmRlYjMzYTAgZjRhMTM5NDUgZDg5OGMyOTZcIixcIjRmZTM0MmUyIGZlMWE3ZjliIDhlZTdlYjRhIDdjMGY5ZTE2IDJiY2UzMzU3IDZiMzE1ZWNlIGNiYjY0MDY4IDM3YmY1MWY1XCJdfSk7ZGVmaW5lQ3VydmUoXCJwMzg0XCIse3R5cGU6XCJzaG9ydFwiLHByaW1lOm51bGwscDpcImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIFwiK1wiZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmZcIixhOlwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgXCIrXCJmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmY1wiLGI6XCJiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiBcIitcIjUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmXCIsbjpcImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGM3NjM0ZDgxIFwiK1wiZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzNcIixoYXNoOm4uc2hhMzg0LGdSZWQ6ZmFsc2UsZzpbXCJhYTg3Y2EyMiBiZThiMDUzNyA4ZWIxYzcxZSBmMzIwYWQ3NCA2ZTFkM2I2MiA4YmE3OWI5OCA1OWY3NDFlMCA4MjU0MmEzOCBcIitcIjU1MDJmMjVkIGJmNTUyOTZjIDNhNTQ1ZTM4IDcyNzYwYWI3XCIsXCIzNjE3ZGU0YSA5NjI2MmM2ZiA1ZDllOThiZiA5MjkyZGMyOSBmOGY0MWRiZCAyODlhMTQ3YyBlOWRhMzExMyBiNWYwYjhjMCBcIitcIjBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmXCJdfSk7ZGVmaW5lQ3VydmUoXCJwNTIxXCIse3R5cGU6XCJzaG9ydFwiLHByaW1lOm51bGwscDpcIjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIFwiK1wiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgXCIrXCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZlwiLGE6XCIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBcIitcImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIFwiK1wiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmNcIixiOlwiMDAwMDAwNTEgOTUzZWI5NjEgOGUxYzlhMWYgOTI5YTIxYTAgYjY4NTQwZWUgYTJkYTcyNWIgXCIrXCI5OWIzMTVmMyBiOGI0ODk5MSA4ZWYxMDllMSA1NjE5Mzk1MSBlYzdlOTM3YiAxNjUyYzBiZCBcIitcIjNiYjFiZjA3IDM1NzNkZjg4IDNkMmMzNGYxIGVmNDUxZmQ0IDZiNTAzZjAwXCIsbjpcIjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIFwiK1wiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmEgNTE4Njg3ODMgYmYyZjk2NmIgN2ZjYzAxNDggXCIrXCJmNzA5YTVkMCAzYmI1YzliOCA4OTljNDdhZSBiYjZmYjcxZSA5MTM4NjQwOVwiLGhhc2g6bi5zaGE1MTIsZ1JlZDpmYWxzZSxnOltcIjAwMDAwMGM2IDg1OGUwNmI3IDA0MDRlOWNkIDllM2VjYjY2IDIzOTViNDQyIDljNjQ4MTM5IFwiK1wiMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgXCIrXCJhMmZmYThkZSAzMzQ4YjNjMSA4NTZhNDI5YiBmOTdlN2UzMSBjMmU1YmQ2NlwiLFwiMDAwMDAxMTggMzkyOTZhNzggOWEzYmMwMDQgNWM4YTVmYjQgMmM3ZDFiZDkgOThmNTQ0NDkgXCIrXCI1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSBcIitcIjNmYWQwNzYxIDM1M2M3MDg2IGEyNzJjMjQwIDg4YmU5NDc2IDlmZDE2NjUwXCJdfSk7ZGVmaW5lQ3VydmUoXCJjdXJ2ZTI1NTE5XCIse3R5cGU6XCJtb250XCIscHJpbWU6XCJwMjU1MTlcIixwOlwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZFwiLGE6XCI3NmQwNlwiLGI6XCIxXCIsbjpcIjEwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAxNGRlZjlkZWEyZjc5Y2Q2IDU4MTI2MzFhNWNmNWQzZWRcIixoYXNoOm4uc2hhMjU2LGdSZWQ6ZmFsc2UsZzpbXCI5XCJdfSk7ZGVmaW5lQ3VydmUoXCJlZDI1NTE5XCIse3R5cGU6XCJlZHdhcmRzXCIscHJpbWU6XCJwMjU1MTlcIixwOlwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZFwiLGE6XCItMVwiLGM6XCIxXCIsZDpcIjUyMDM2Y2VlMmI2ZmZlNzMgOGNjNzQwNzk3Nzc5ZTg5OCAwMDcwMGE0ZDQxNDFkOGFiIDc1ZWI0ZGNhMTM1OTc4YTNcIixuOlwiMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZFwiLGhhc2g6bi5zaGEyNTYsZ1JlZDpmYWxzZSxnOltcIjIxNjkzNmQzY2Q2ZTUzZmVjMGE0ZTIzMWZkZDZkYzVjNjkyY2M3NjA5NTI1YTdiMmM5NTYyZDYwOGYyNWQ1MWFcIixcIjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NThcIl19KTt2YXIgaDt0cnl7aD1yKDk3MDIpfWNhdGNoKGUpe2g9dW5kZWZpbmVkfWRlZmluZUN1cnZlKFwic2VjcDI1NmsxXCIse3R5cGU6XCJzaG9ydFwiLHByaW1lOlwiazI1NlwiLHA6XCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZlwiLGE6XCIwXCIsYjpcIjdcIixuOlwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgYmFhZWRjZTYgYWY0OGEwM2IgYmZkMjVlOGMgZDAzNjQxNDFcIixoOlwiMVwiLGhhc2g6bi5zaGEyNTYsYmV0YTpcIjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWVcIixsYW1iZGE6XCI1MzYzYWQ0Y2MwNWMzMGUwYTUyNjFjMDI4ODEyNjQ1YTEyMmUyMmVhMjA4MTY2NzhkZjAyOTY3YzFiMjNiZDcyXCIsYmFzaXM6W3thOlwiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTVcIixiOlwiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzXCJ9LHthOlwiMTE0Y2E1MGY3YThlMmYzZjY1N2MxMTA4ZDlkNDRjZmQ4XCIsYjpcIjMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1XCJ9XSxnUmVkOmZhbHNlLGc6W1wiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OFwiLFwiNDgzYWRhNzcyNmEzYzQ2NTVkYTRmYmZjMGUxMTA4YThmZDE3YjQ0OGE2ODU1NDE5OWM0N2QwOGZmYjEwZDRiOFwiLGhdfSl9LDQwODg6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoNzExKTt2YXIgbj1yKDQ5MTApO3ZhciBhPXIoNDQwMSk7dmFyIHM9cig2MjI2KTt2YXIgbz1yKDM1MDApO3ZhciBoPWEuYXNzZXJ0O3ZhciB1PXIoNDcyNCk7dmFyIGQ9cig3NTI2KTtmdW5jdGlvbiBFQyhlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFQykpcmV0dXJuIG5ldyBFQyhlKTtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe2gocy5oYXNPd25Qcm9wZXJ0eShlKSxcIlVua25vd24gY3VydmUgXCIrZSk7ZT1zW2VdfWlmKGUgaW5zdGFuY2VvZiBzLlByZXNldEN1cnZlKWU9e2N1cnZlOmV9O3RoaXMuY3VydmU9ZS5jdXJ2ZS5jdXJ2ZTt0aGlzLm49dGhpcy5jdXJ2ZS5uO3RoaXMubmg9dGhpcy5uLnVzaHJuKDEpO3RoaXMuZz10aGlzLmN1cnZlLmc7dGhpcy5nPWUuY3VydmUuZzt0aGlzLmcucHJlY29tcHV0ZShlLmN1cnZlLm4uYml0TGVuZ3RoKCkrMSk7dGhpcy5oYXNoPWUuaGFzaHx8ZS5jdXJ2ZS5oYXNofWUuZXhwb3J0cz1FQztFQy5wcm90b3R5cGUua2V5UGFpcj1mdW5jdGlvbiBrZXlQYWlyKGUpe3JldHVybiBuZXcgdSh0aGlzLGUpfTtFQy5wcm90b3R5cGUua2V5RnJvbVByaXZhdGU9ZnVuY3Rpb24ga2V5RnJvbVByaXZhdGUoZSx0KXtyZXR1cm4gdS5mcm9tUHJpdmF0ZSh0aGlzLGUsdCl9O0VDLnByb3RvdHlwZS5rZXlGcm9tUHVibGljPWZ1bmN0aW9uIGtleUZyb21QdWJsaWMoZSx0KXtyZXR1cm4gdS5mcm9tUHVibGljKHRoaXMsZSx0KX07RUMucHJvdG90eXBlLmdlbktleVBhaXI9ZnVuY3Rpb24gZ2VuS2V5UGFpcihlKXtpZighZSllPXt9O3ZhciB0PW5ldyBuKHtoYXNoOnRoaXMuaGFzaCxwZXJzOmUucGVycyxwZXJzRW5jOmUucGVyc0VuY3x8XCJ1dGY4XCIsZW50cm9weTplLmVudHJvcHl8fG8odGhpcy5oYXNoLmhtYWNTdHJlbmd0aCksZW50cm9weUVuYzplLmVudHJvcHkmJmUuZW50cm9weUVuY3x8XCJ1dGY4XCIsbm9uY2U6dGhpcy5uLnRvQXJyYXkoKX0pO3ZhciByPXRoaXMubi5ieXRlTGVuZ3RoKCk7dmFyIGE9dGhpcy5uLnN1YihuZXcgaSgyKSk7ZG97dmFyIHM9bmV3IGkodC5nZW5lcmF0ZShyKSk7aWYocy5jbXAoYSk+MCljb250aW51ZTtzLmlhZGRuKDEpO3JldHVybiB0aGlzLmtleUZyb21Qcml2YXRlKHMpfXdoaWxlKHRydWUpfTtFQy5wcm90b3R5cGUuX3RydW5jYXRlVG9OPWZ1bmN0aW9uIHRydW5jYXRlVG9OKGUsdCl7dmFyIHI9ZS5ieXRlTGVuZ3RoKCkqOC10aGlzLm4uYml0TGVuZ3RoKCk7aWYocj4wKWU9ZS51c2hybihyKTtpZighdCYmZS5jbXAodGhpcy5uKT49MClyZXR1cm4gZS5zdWIodGhpcy5uKTtlbHNlIHJldHVybiBlfTtFQy5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbiBzaWduKGUsdCxyLGEpe2lmKHR5cGVvZiByPT09XCJvYmplY3RcIil7YT1yO3I9bnVsbH1pZighYSlhPXt9O3Q9dGhpcy5rZXlGcm9tUHJpdmF0ZSh0LHIpO2U9dGhpcy5fdHJ1bmNhdGVUb04obmV3IGkoZSwxNikpO3ZhciBzPXRoaXMubi5ieXRlTGVuZ3RoKCk7dmFyIG89dC5nZXRQcml2YXRlKCkudG9BcnJheShcImJlXCIscyk7dmFyIGg9ZS50b0FycmF5KFwiYmVcIixzKTt2YXIgdT1uZXcgbih7aGFzaDp0aGlzLmhhc2gsZW50cm9weTpvLG5vbmNlOmgscGVyczphLnBlcnMscGVyc0VuYzphLnBlcnNFbmN8fFwidXRmOFwifSk7dmFyIGM9dGhpcy5uLnN1YihuZXcgaSgxKSk7Zm9yKHZhciBsPTA7dHJ1ZTtsKyspe3ZhciBwPWEuaz9hLmsobCk6bmV3IGkodS5nZW5lcmF0ZSh0aGlzLm4uYnl0ZUxlbmd0aCgpKSk7cD10aGlzLl90cnVuY2F0ZVRvTihwLHRydWUpO2lmKHAuY21wbigxKTw9MHx8cC5jbXAoYyk+PTApY29udGludWU7dmFyIHY9dGhpcy5nLm11bChwKTtpZih2LmlzSW5maW5pdHkoKSljb250aW51ZTt2YXIgYj12LmdldFgoKTt2YXIgbT1iLnVtb2QodGhpcy5uKTtpZihtLmNtcG4oMCk9PT0wKWNvbnRpbnVlO3ZhciB5PXAuaW52bSh0aGlzLm4pLm11bChtLm11bCh0LmdldFByaXZhdGUoKSkuaWFkZChlKSk7eT15LnVtb2QodGhpcy5uKTtpZih5LmNtcG4oMCk9PT0wKWNvbnRpbnVlO3ZhciBnPSh2LmdldFkoKS5pc09kZCgpPzE6MCl8KGIuY21wKG0pIT09MD8yOjApO2lmKGEuY2Fub25pY2FsJiZ5LmNtcCh0aGlzLm5oKT4wKXt5PXRoaXMubi5zdWIoeSk7Z149MX1yZXR1cm4gbmV3IGQoe3I6bSxzOnkscmVjb3ZlcnlQYXJhbTpnfSl9fTtFQy5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uIHZlcmlmeShlLHQscixuKXtlPXRoaXMuX3RydW5jYXRlVG9OKG5ldyBpKGUsMTYpKTtyPXRoaXMua2V5RnJvbVB1YmxpYyhyLG4pO3Q9bmV3IGQodCxcImhleFwiKTt2YXIgYT10LnI7dmFyIHM9dC5zO2lmKGEuY21wbigxKTwwfHxhLmNtcCh0aGlzLm4pPj0wKXJldHVybiBmYWxzZTtpZihzLmNtcG4oMSk8MHx8cy5jbXAodGhpcy5uKT49MClyZXR1cm4gZmFsc2U7dmFyIG89cy5pbnZtKHRoaXMubik7dmFyIGg9by5tdWwoZSkudW1vZCh0aGlzLm4pO3ZhciB1PW8ubXVsKGEpLnVtb2QodGhpcy5uKTtpZighdGhpcy5jdXJ2ZS5fbWF4d2VsbFRyaWNrKXt2YXIgYz10aGlzLmcubXVsQWRkKGgsci5nZXRQdWJsaWMoKSx1KTtpZihjLmlzSW5maW5pdHkoKSlyZXR1cm4gZmFsc2U7cmV0dXJuIGMuZ2V0WCgpLnVtb2QodGhpcy5uKS5jbXAoYSk9PT0wfXZhciBjPXRoaXMuZy5qbXVsQWRkKGgsci5nZXRQdWJsaWMoKSx1KTtpZihjLmlzSW5maW5pdHkoKSlyZXR1cm4gZmFsc2U7cmV0dXJuIGMuZXFYVG9QKGEpfTtFQy5wcm90b3R5cGUucmVjb3ZlclB1YktleT1mdW5jdGlvbihlLHQscixuKXtoKCgzJnIpPT09cixcIlRoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHNcIik7dD1uZXcgZCh0LG4pO3ZhciBhPXRoaXMubjt2YXIgcz1uZXcgaShlKTt2YXIgbz10LnI7dmFyIHU9dC5zO3ZhciBjPXImMTt2YXIgbD1yPj4xO2lmKG8uY21wKHRoaXMuY3VydmUucC51bW9kKHRoaXMuY3VydmUubikpPj0wJiZsKXRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byBmaW5kIHNlbmNvbmQga2V5IGNhbmRpbmF0ZVwiKTtpZihsKW89dGhpcy5jdXJ2ZS5wb2ludEZyb21YKG8uYWRkKHRoaXMuY3VydmUubiksYyk7ZWxzZSBvPXRoaXMuY3VydmUucG9pbnRGcm9tWChvLGMpO3ZhciBwPXQuci5pbnZtKGEpO3ZhciB2PWEuc3ViKHMpLm11bChwKS51bW9kKGEpO3ZhciBiPXUubXVsKHApLnVtb2QoYSk7cmV0dXJuIHRoaXMuZy5tdWxBZGQodixvLGIpfTtFQy5wcm90b3R5cGUuZ2V0S2V5UmVjb3ZlcnlQYXJhbT1mdW5jdGlvbihlLHQscixpKXt0PW5ldyBkKHQsaSk7aWYodC5yZWNvdmVyeVBhcmFtIT09bnVsbClyZXR1cm4gdC5yZWNvdmVyeVBhcmFtO2Zvcih2YXIgbj0wO248NDtuKyspe3ZhciBhO3RyeXthPXRoaXMucmVjb3ZlclB1YktleShlLHQsbil9Y2F0Y2goZSl7Y29udGludWV9aWYoYS5lcShyKSlyZXR1cm4gbn10aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gZmluZCB2YWxpZCByZWNvdmVyeSBmYWN0b3JcIil9fSw0NzI0OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDcxMSk7dmFyIG49cig0NDAxKTt2YXIgYT1uLmFzc2VydDtmdW5jdGlvbiBLZXlQYWlyKGUsdCl7dGhpcy5lYz1lO3RoaXMucHJpdj1udWxsO3RoaXMucHViPW51bGw7aWYodC5wcml2KXRoaXMuX2ltcG9ydFByaXZhdGUodC5wcml2LHQucHJpdkVuYyk7aWYodC5wdWIpdGhpcy5faW1wb3J0UHVibGljKHQucHViLHQucHViRW5jKX1lLmV4cG9ydHM9S2V5UGFpcjtLZXlQYWlyLmZyb21QdWJsaWM9ZnVuY3Rpb24gZnJvbVB1YmxpYyhlLHQscil7aWYodCBpbnN0YW5jZW9mIEtleVBhaXIpcmV0dXJuIHQ7cmV0dXJuIG5ldyBLZXlQYWlyKGUse3B1Yjp0LHB1YkVuYzpyfSl9O0tleVBhaXIuZnJvbVByaXZhdGU9ZnVuY3Rpb24gZnJvbVByaXZhdGUoZSx0LHIpe2lmKHQgaW5zdGFuY2VvZiBLZXlQYWlyKXJldHVybiB0O3JldHVybiBuZXcgS2V5UGFpcihlLHtwcml2OnQscHJpdkVuYzpyfSl9O0tleVBhaXIucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uIHZhbGlkYXRlKCl7dmFyIGU9dGhpcy5nZXRQdWJsaWMoKTtpZihlLmlzSW5maW5pdHkoKSlyZXR1cm57cmVzdWx0OmZhbHNlLHJlYXNvbjpcIkludmFsaWQgcHVibGljIGtleVwifTtpZighZS52YWxpZGF0ZSgpKXJldHVybntyZXN1bHQ6ZmFsc2UscmVhc29uOlwiUHVibGljIGtleSBpcyBub3QgYSBwb2ludFwifTtpZighZS5tdWwodGhpcy5lYy5jdXJ2ZS5uKS5pc0luZmluaXR5KCkpcmV0dXJue3Jlc3VsdDpmYWxzZSxyZWFzb246XCJQdWJsaWMga2V5ICogTiAhPSBPXCJ9O3JldHVybntyZXN1bHQ6dHJ1ZSxyZWFzb246bnVsbH19O0tleVBhaXIucHJvdG90eXBlLmdldFB1YmxpYz1mdW5jdGlvbiBnZXRQdWJsaWMoZSx0KXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe3Q9ZTtlPW51bGx9aWYoIXRoaXMucHViKXRoaXMucHViPXRoaXMuZWMuZy5tdWwodGhpcy5wcml2KTtpZighdClyZXR1cm4gdGhpcy5wdWI7cmV0dXJuIHRoaXMucHViLmVuY29kZSh0LGUpfTtLZXlQYWlyLnByb3RvdHlwZS5nZXRQcml2YXRlPWZ1bmN0aW9uIGdldFByaXZhdGUoZSl7aWYoZT09PVwiaGV4XCIpcmV0dXJuIHRoaXMucHJpdi50b1N0cmluZygxNiwyKTtlbHNlIHJldHVybiB0aGlzLnByaXZ9O0tleVBhaXIucHJvdG90eXBlLl9pbXBvcnRQcml2YXRlPWZ1bmN0aW9uIF9pbXBvcnRQcml2YXRlKGUsdCl7dGhpcy5wcml2PW5ldyBpKGUsdHx8MTYpO3RoaXMucHJpdj10aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pfTtLZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHVibGljPWZ1bmN0aW9uIF9pbXBvcnRQdWJsaWMoZSx0KXtpZihlLnh8fGUueSl7aWYodGhpcy5lYy5jdXJ2ZS50eXBlPT09XCJtb250XCIpe2EoZS54LFwiTmVlZCB4IGNvb3JkaW5hdGVcIil9ZWxzZSBpZih0aGlzLmVjLmN1cnZlLnR5cGU9PT1cInNob3J0XCJ8fHRoaXMuZWMuY3VydmUudHlwZT09PVwiZWR3YXJkc1wiKXthKGUueCYmZS55LFwiTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZVwiKX10aGlzLnB1Yj10aGlzLmVjLmN1cnZlLnBvaW50KGUueCxlLnkpO3JldHVybn10aGlzLnB1Yj10aGlzLmVjLmN1cnZlLmRlY29kZVBvaW50KGUsdCl9O0tleVBhaXIucHJvdG90eXBlLmRlcml2ZT1mdW5jdGlvbiBkZXJpdmUoZSl7cmV0dXJuIGUubXVsKHRoaXMucHJpdikuZ2V0WCgpfTtLZXlQYWlyLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uIHNpZ24oZSx0LHIpe3JldHVybiB0aGlzLmVjLnNpZ24oZSx0aGlzLHQscil9O0tleVBhaXIucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbiB2ZXJpZnkoZSx0KXtyZXR1cm4gdGhpcy5lYy52ZXJpZnkoZSx0LHRoaXMpfTtLZXlQYWlyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uIGluc3BlY3QoKXtyZXR1cm5cIjxLZXkgcHJpdjogXCIrKHRoaXMucHJpdiYmdGhpcy5wcml2LnRvU3RyaW5nKDE2LDIpKStcIiBwdWI6IFwiKyh0aGlzLnB1YiYmdGhpcy5wdWIuaW5zcGVjdCgpKStcIiA+XCJ9fSw3NTI2OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDcxMSk7dmFyIG49cig0NDAxKTt2YXIgYT1uLmFzc2VydDtmdW5jdGlvbiBTaWduYXR1cmUoZSx0KXtpZihlIGluc3RhbmNlb2YgU2lnbmF0dXJlKXJldHVybiBlO2lmKHRoaXMuX2ltcG9ydERFUihlLHQpKXJldHVybjthKGUuciYmZS5zLFwiU2lnbmF0dXJlIHdpdGhvdXQgciBvciBzXCIpO3RoaXMucj1uZXcgaShlLnIsMTYpO3RoaXMucz1uZXcgaShlLnMsMTYpO2lmKGUucmVjb3ZlcnlQYXJhbT09PXVuZGVmaW5lZCl0aGlzLnJlY292ZXJ5UGFyYW09bnVsbDtlbHNlIHRoaXMucmVjb3ZlcnlQYXJhbT1lLnJlY292ZXJ5UGFyYW19ZS5leHBvcnRzPVNpZ25hdHVyZTtmdW5jdGlvbiBQb3NpdGlvbigpe3RoaXMucGxhY2U9MH1mdW5jdGlvbiBnZXRMZW5ndGgoZSx0KXt2YXIgcj1lW3QucGxhY2UrK107aWYoIShyJjEyOCkpe3JldHVybiByfXZhciBpPXImMTU7aWYoaT09PTB8fGk+NCl7cmV0dXJuIGZhbHNlfXZhciBuPTA7Zm9yKHZhciBhPTAscz10LnBsYWNlO2E8aTthKysscysrKXtuPDw9ODtufD1lW3NdO24+Pj49MH1pZihuPD0xMjcpe3JldHVybiBmYWxzZX10LnBsYWNlPXM7cmV0dXJuIG59ZnVuY3Rpb24gcm1QYWRkaW5nKGUpe3ZhciB0PTA7dmFyIHI9ZS5sZW5ndGgtMTt3aGlsZSghZVt0XSYmIShlW3QrMV0mMTI4KSYmdDxyKXt0Kyt9aWYodD09PTApe3JldHVybiBlfXJldHVybiBlLnNsaWNlKHQpfVNpZ25hdHVyZS5wcm90b3R5cGUuX2ltcG9ydERFUj1mdW5jdGlvbiBfaW1wb3J0REVSKGUsdCl7ZT1uLnRvQXJyYXkoZSx0KTt2YXIgcj1uZXcgUG9zaXRpb247aWYoZVtyLnBsYWNlKytdIT09NDgpe3JldHVybiBmYWxzZX12YXIgYT1nZXRMZW5ndGgoZSxyKTtpZihhPT09ZmFsc2Upe3JldHVybiBmYWxzZX1pZihhK3IucGxhY2UhPT1lLmxlbmd0aCl7cmV0dXJuIGZhbHNlfWlmKGVbci5wbGFjZSsrXSE9PTIpe3JldHVybiBmYWxzZX12YXIgcz1nZXRMZW5ndGgoZSxyKTtpZihzPT09ZmFsc2Upe3JldHVybiBmYWxzZX12YXIgbz1lLnNsaWNlKHIucGxhY2UscytyLnBsYWNlKTtyLnBsYWNlKz1zO2lmKGVbci5wbGFjZSsrXSE9PTIpe3JldHVybiBmYWxzZX12YXIgaD1nZXRMZW5ndGgoZSxyKTtpZihoPT09ZmFsc2Upe3JldHVybiBmYWxzZX1pZihlLmxlbmd0aCE9PWgrci5wbGFjZSl7cmV0dXJuIGZhbHNlfXZhciB1PWUuc2xpY2Uoci5wbGFjZSxoK3IucGxhY2UpO2lmKG9bMF09PT0wKXtpZihvWzFdJjEyOCl7bz1vLnNsaWNlKDEpfWVsc2V7cmV0dXJuIGZhbHNlfX1pZih1WzBdPT09MCl7aWYodVsxXSYxMjgpe3U9dS5zbGljZSgxKX1lbHNle3JldHVybiBmYWxzZX19dGhpcy5yPW5ldyBpKG8pO3RoaXMucz1uZXcgaSh1KTt0aGlzLnJlY292ZXJ5UGFyYW09bnVsbDtyZXR1cm4gdHJ1ZX07ZnVuY3Rpb24gY29uc3RydWN0TGVuZ3RoKGUsdCl7aWYodDwxMjgpe2UucHVzaCh0KTtyZXR1cm59dmFyIHI9MSsoTWF0aC5sb2codCkvTWF0aC5MTjI+Pj4zKTtlLnB1c2gocnwxMjgpO3doaWxlKC0tcil7ZS5wdXNoKHQ+Pj4ocjw8MykmMjU1KX1lLnB1c2godCl9U2lnbmF0dXJlLnByb3RvdHlwZS50b0RFUj1mdW5jdGlvbiB0b0RFUihlKXt2YXIgdD10aGlzLnIudG9BcnJheSgpO3ZhciByPXRoaXMucy50b0FycmF5KCk7aWYodFswXSYxMjgpdD1bMF0uY29uY2F0KHQpO2lmKHJbMF0mMTI4KXI9WzBdLmNvbmNhdChyKTt0PXJtUGFkZGluZyh0KTtyPXJtUGFkZGluZyhyKTt3aGlsZSghclswXSYmIShyWzFdJjEyOCkpe3I9ci5zbGljZSgxKX12YXIgaT1bMl07Y29uc3RydWN0TGVuZ3RoKGksdC5sZW5ndGgpO2k9aS5jb25jYXQodCk7aS5wdXNoKDIpO2NvbnN0cnVjdExlbmd0aChpLHIubGVuZ3RoKTt2YXIgYT1pLmNvbmNhdChyKTt2YXIgcz1bNDhdO2NvbnN0cnVjdExlbmd0aChzLGEubGVuZ3RoKTtzPXMuY29uY2F0KGEpO3JldHVybiBuLmVuY29kZShzLGUpfX0sODUxMTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cig3MDI4KTt2YXIgbj1yKDYyMjYpO3ZhciBhPXIoNDQwMSk7dmFyIHM9YS5hc3NlcnQ7dmFyIG89YS5wYXJzZUJ5dGVzO3ZhciBoPXIoOTkxNyk7dmFyIHU9cig5MzE0KTtmdW5jdGlvbiBFRERTQShlKXtzKGU9PT1cImVkMjU1MTlcIixcIm9ubHkgdGVzdGVkIHdpdGggZWQyNTUxOSBzbyBmYXJcIik7aWYoISh0aGlzIGluc3RhbmNlb2YgRUREU0EpKXJldHVybiBuZXcgRUREU0EoZSk7dmFyIGU9bltlXS5jdXJ2ZTt0aGlzLmN1cnZlPWU7dGhpcy5nPWUuZzt0aGlzLmcucHJlY29tcHV0ZShlLm4uYml0TGVuZ3RoKCkrMSk7dGhpcy5wb2ludENsYXNzPWUucG9pbnQoKS5jb25zdHJ1Y3Rvcjt0aGlzLmVuY29kaW5nTGVuZ3RoPU1hdGguY2VpbChlLm4uYml0TGVuZ3RoKCkvOCk7dGhpcy5oYXNoPWkuc2hhNTEyfWUuZXhwb3J0cz1FRERTQTtFRERTQS5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbiBzaWduKGUsdCl7ZT1vKGUpO3ZhciByPXRoaXMua2V5RnJvbVNlY3JldCh0KTt2YXIgaT10aGlzLmhhc2hJbnQoci5tZXNzYWdlUHJlZml4KCksZSk7dmFyIG49dGhpcy5nLm11bChpKTt2YXIgYT10aGlzLmVuY29kZVBvaW50KG4pO3ZhciBzPXRoaXMuaGFzaEludChhLHIucHViQnl0ZXMoKSxlKS5tdWwoci5wcml2KCkpO3ZhciBoPWkuYWRkKHMpLnVtb2QodGhpcy5jdXJ2ZS5uKTtyZXR1cm4gdGhpcy5tYWtlU2lnbmF0dXJlKHtSOm4sUzpoLFJlbmNvZGVkOmF9KX07RUREU0EucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbiB2ZXJpZnkoZSx0LHIpe2U9byhlKTt0PXRoaXMubWFrZVNpZ25hdHVyZSh0KTt2YXIgaT10aGlzLmtleUZyb21QdWJsaWMocik7dmFyIG49dGhpcy5oYXNoSW50KHQuUmVuY29kZWQoKSxpLnB1YkJ5dGVzKCksZSk7dmFyIGE9dGhpcy5nLm11bCh0LlMoKSk7dmFyIHM9dC5SKCkuYWRkKGkucHViKCkubXVsKG4pKTtyZXR1cm4gcy5lcShhKX07RUREU0EucHJvdG90eXBlLmhhc2hJbnQ9ZnVuY3Rpb24gaGFzaEludCgpe3ZhciBlPXRoaXMuaGFzaCgpO2Zvcih2YXIgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZS51cGRhdGUoYXJndW1lbnRzW3RdKTtyZXR1cm4gYS5pbnRGcm9tTEUoZS5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pfTtFRERTQS5wcm90b3R5cGUua2V5RnJvbVB1YmxpYz1mdW5jdGlvbiBrZXlGcm9tUHVibGljKGUpe3JldHVybiBoLmZyb21QdWJsaWModGhpcyxlKX07RUREU0EucHJvdG90eXBlLmtleUZyb21TZWNyZXQ9ZnVuY3Rpb24ga2V5RnJvbVNlY3JldChlKXtyZXR1cm4gaC5mcm9tU2VjcmV0KHRoaXMsZSl9O0VERFNBLnByb3RvdHlwZS5tYWtlU2lnbmF0dXJlPWZ1bmN0aW9uIG1ha2VTaWduYXR1cmUoZSl7aWYoZSBpbnN0YW5jZW9mIHUpcmV0dXJuIGU7cmV0dXJuIG5ldyB1KHRoaXMsZSl9O0VERFNBLnByb3RvdHlwZS5lbmNvZGVQb2ludD1mdW5jdGlvbiBlbmNvZGVQb2ludChlKXt2YXIgdD1lLmdldFkoKS50b0FycmF5KFwibGVcIix0aGlzLmVuY29kaW5nTGVuZ3RoKTt0W3RoaXMuZW5jb2RpbmdMZW5ndGgtMV18PWUuZ2V0WCgpLmlzT2RkKCk/MTI4OjA7cmV0dXJuIHR9O0VERFNBLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbiBkZWNvZGVQb2ludChlKXtlPWEucGFyc2VCeXRlcyhlKTt2YXIgdD1lLmxlbmd0aC0xO3ZhciByPWUuc2xpY2UoMCx0KS5jb25jYXQoZVt0XSZ+MTI4KTt2YXIgaT0oZVt0XSYxMjgpIT09MDt2YXIgbj1hLmludEZyb21MRShyKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKG4saSl9O0VERFNBLnByb3RvdHlwZS5lbmNvZGVJbnQ9ZnVuY3Rpb24gZW5jb2RlSW50KGUpe3JldHVybiBlLnRvQXJyYXkoXCJsZVwiLHRoaXMuZW5jb2RpbmdMZW5ndGgpfTtFRERTQS5wcm90b3R5cGUuZGVjb2RlSW50PWZ1bmN0aW9uIGRlY29kZUludChlKXtyZXR1cm4gYS5pbnRGcm9tTEUoZSl9O0VERFNBLnByb3RvdHlwZS5pc1BvaW50PWZ1bmN0aW9uIGlzUG9pbnQoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzLnBvaW50Q2xhc3N9fSw5OTE3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDQ0MDEpO3ZhciBuPWkuYXNzZXJ0O3ZhciBhPWkucGFyc2VCeXRlczt2YXIgcz1pLmNhY2hlZFByb3BlcnR5O2Z1bmN0aW9uIEtleVBhaXIoZSx0KXt0aGlzLmVkZHNhPWU7dGhpcy5fc2VjcmV0PWEodC5zZWNyZXQpO2lmKGUuaXNQb2ludCh0LnB1YikpdGhpcy5fcHViPXQucHViO2Vsc2UgdGhpcy5fcHViQnl0ZXM9YSh0LnB1Yil9S2V5UGFpci5mcm9tUHVibGljPWZ1bmN0aW9uIGZyb21QdWJsaWMoZSx0KXtpZih0IGluc3RhbmNlb2YgS2V5UGFpcilyZXR1cm4gdDtyZXR1cm4gbmV3IEtleVBhaXIoZSx7cHViOnR9KX07S2V5UGFpci5mcm9tU2VjcmV0PWZ1bmN0aW9uIGZyb21TZWNyZXQoZSx0KXtpZih0IGluc3RhbmNlb2YgS2V5UGFpcilyZXR1cm4gdDtyZXR1cm4gbmV3IEtleVBhaXIoZSx7c2VjcmV0OnR9KX07S2V5UGFpci5wcm90b3R5cGUuc2VjcmV0PWZ1bmN0aW9uIHNlY3JldCgpe3JldHVybiB0aGlzLl9zZWNyZXR9O3MoS2V5UGFpcixcInB1YkJ5dGVzXCIsKGZ1bmN0aW9uIHB1YkJ5dGVzKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5wdWIoKSl9KSk7cyhLZXlQYWlyLFwicHViXCIsKGZ1bmN0aW9uIHB1Yigpe2lmKHRoaXMuX3B1YkJ5dGVzKXJldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuX3B1YkJ5dGVzKTtyZXR1cm4gdGhpcy5lZGRzYS5nLm11bCh0aGlzLnByaXYoKSl9KSk7cyhLZXlQYWlyLFwicHJpdkJ5dGVzXCIsKGZ1bmN0aW9uIHByaXZCeXRlcygpe3ZhciBlPXRoaXMuZWRkc2E7dmFyIHQ9dGhpcy5oYXNoKCk7dmFyIHI9ZS5lbmNvZGluZ0xlbmd0aC0xO3ZhciBpPXQuc2xpY2UoMCxlLmVuY29kaW5nTGVuZ3RoKTtpWzBdJj0yNDg7aVtyXSY9MTI3O2lbcl18PTY0O3JldHVybiBpfSkpO3MoS2V5UGFpcixcInByaXZcIiwoZnVuY3Rpb24gcHJpdigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLnByaXZCeXRlcygpKX0pKTtzKEtleVBhaXIsXCJoYXNoXCIsKGZ1bmN0aW9uIGhhc2goKXtyZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpfSkpO3MoS2V5UGFpcixcIm1lc3NhZ2VQcmVmaXhcIiwoZnVuY3Rpb24gbWVzc2FnZVByZWZpeCgpe3JldHVybiB0aGlzLmhhc2goKS5zbGljZSh0aGlzLmVkZHNhLmVuY29kaW5nTGVuZ3RoKX0pKTtLZXlQYWlyLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uIHNpZ24oZSl7bih0aGlzLl9zZWNyZXQsXCJLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeVwiKTtyZXR1cm4gdGhpcy5lZGRzYS5zaWduKGUsdGhpcyl9O0tleVBhaXIucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbiB2ZXJpZnkoZSx0KXtyZXR1cm4gdGhpcy5lZGRzYS52ZXJpZnkoZSx0LHRoaXMpfTtLZXlQYWlyLnByb3RvdHlwZS5nZXRTZWNyZXQ9ZnVuY3Rpb24gZ2V0U2VjcmV0KGUpe24odGhpcy5fc2VjcmV0LFwiS2V5UGFpciBpcyBwdWJsaWMgb25seVwiKTtyZXR1cm4gaS5lbmNvZGUodGhpcy5zZWNyZXQoKSxlKX07S2V5UGFpci5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uIGdldFB1YmxpYyhlKXtyZXR1cm4gaS5lbmNvZGUodGhpcy5wdWJCeXRlcygpLGUpfTtlLmV4cG9ydHM9S2V5UGFpcn0sOTMxNDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cig3MTEpO3ZhciBuPXIoNDQwMSk7dmFyIGE9bi5hc3NlcnQ7dmFyIHM9bi5jYWNoZWRQcm9wZXJ0eTt2YXIgbz1uLnBhcnNlQnl0ZXM7ZnVuY3Rpb24gU2lnbmF0dXJlKGUsdCl7dGhpcy5lZGRzYT1lO2lmKHR5cGVvZiB0IT09XCJvYmplY3RcIil0PW8odCk7aWYoQXJyYXkuaXNBcnJheSh0KSl7dD17Ujp0LnNsaWNlKDAsZS5lbmNvZGluZ0xlbmd0aCksUzp0LnNsaWNlKGUuZW5jb2RpbmdMZW5ndGgpfX1hKHQuUiYmdC5TLFwiU2lnbmF0dXJlIHdpdGhvdXQgUiBvciBTXCIpO2lmKGUuaXNQb2ludCh0LlIpKXRoaXMuX1I9dC5SO2lmKHQuUyBpbnN0YW5jZW9mIGkpdGhpcy5fUz10LlM7dGhpcy5fUmVuY29kZWQ9QXJyYXkuaXNBcnJheSh0LlIpP3QuUjp0LlJlbmNvZGVkO3RoaXMuX1NlbmNvZGVkPUFycmF5LmlzQXJyYXkodC5TKT90LlM6dC5TZW5jb2RlZH1zKFNpZ25hdHVyZSxcIlNcIiwoZnVuY3Rpb24gUygpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLlNlbmNvZGVkKCkpfSkpO3MoU2lnbmF0dXJlLFwiUlwiLChmdW5jdGlvbiBSKCl7cmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlUG9pbnQodGhpcy5SZW5jb2RlZCgpKX0pKTtzKFNpZ25hdHVyZSxcIlJlbmNvZGVkXCIsKGZ1bmN0aW9uIFJlbmNvZGVkKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpfSkpO3MoU2lnbmF0dXJlLFwiU2VuY29kZWRcIiwoZnVuY3Rpb24gU2VuY29kZWQoKXtyZXR1cm4gdGhpcy5lZGRzYS5lbmNvZGVJbnQodGhpcy5TKCkpfSkpO1NpZ25hdHVyZS5wcm90b3R5cGUudG9CeXRlcz1mdW5jdGlvbiB0b0J5dGVzKCl7cmV0dXJuIHRoaXMuUmVuY29kZWQoKS5jb25jYXQodGhpcy5TZW5jb2RlZCgpKX07U2lnbmF0dXJlLnByb3RvdHlwZS50b0hleD1mdW5jdGlvbiB0b0hleCgpe3JldHVybiBuLmVuY29kZSh0aGlzLnRvQnl0ZXMoKSxcImhleFwiKS50b1VwcGVyQ2FzZSgpfTtlLmV4cG9ydHM9U2lnbmF0dXJlfSw5NzAyOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17ZG91Ymxlczp7c3RlcDo0LHBvaW50czpbW1wiZTYwZmNlOTNiNTllOWVjNTMwMTFhYWJjMjFjMjNlOTdiMmEzMTM2OWI4N2E1YWU5YzQ0ZWU4OWUyYTZkZWMwYVwiLFwiZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMVwiXSxbXCI4MjgyMjYzMjEyYzYwOWQ5ZWEyYTZlM2UxNzJkZTIzOGQ4YzM5Y2FiZDVhYzFjYTEwNjQ2ZTIzZmQ1ZjUxNTA4XCIsXCIxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmXCJdLFtcIjE3NWUxNTlmNzI4Yjg2NWE3MmY5OWNjNmM2ZmM4NDZkZTBiOTM4MzNmZDIyMjJlZDczZmNlNWI1NTFlNWI3MzlcIixcImQzNTA2ZTBkOWUzYzc5ZWJhNGVmOTdhNTFmZjcxZjVlYWNiNTk1NWFkZDI0MzQ1YzZlZmE2ZmZlZTlmZWQ2OTVcIl0sW1wiMzYzZDkwZDQ0N2IwMGM5Yzk5Y2VhYzA1YjYyNjJlZTA1MzQ0MWM3ZTU1NTUyZmZlNTI2YmFkOGY4M2ZmNDY0MFwiLFwiNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5XCJdLFtcIjhiNGI1ZjE2NWRmM2MyYmU4YzYyNDRiNWI3NDU2Mzg4NDNlNGE3ODFhMTViY2QxYjY5Zjc5YTU1ZGZmZGY4MGNcIixcIjRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzZcIl0sW1wiNzIzY2JhYTZlNWRiOTk2ZDZiZjc3MWMwMGJkNTQ4YzdiNzAwZGJmZmE2YzBlNzdiY2I2MTE1OTI1MjMyZmNkYVwiLFwiOTZlODY3YjU1OTVjYzQ5OGE5MjExMzc0ODg4MjRkNmUyNjYwYTA2NTM3Nzk0OTQ4MDFkYzA2OWQ5ZWIzOWY1ZlwiXSxbXCJlZWJmYTRkNDkzYmViZjk4YmE1ZmVlYzgxMmMyZDNiNTA5NDc5NjEyMzdhOTE5ODM5YTUzM2VjYTBlN2RkN2ZhXCIsXCI1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5XCJdLFtcIjEwMGY0NGRhNjk2ZTcxNjcyNzkxZDBhMDliN2JkZTQ1OWYxMjE1YTI5YjNjMDNiZmVmZDc4MzViMzlhNDhkYjBcIixcImNkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDlcIl0sW1wiZTEwMzFiZTI2MmM3ZWQxYjFkYzkyMjdhNGEwNGMwMTdhNzdmOGQ0NDY0ZjNiMzg1MmM4YWNkZTZlNTM0ZmQyZFwiLFwiOWQ3MDYxOTI4OTQwNDA1ZTZiYjZhNDE3NjU5NzUzNWFmMjkyZGQ0MTllMWNlZDc5YTQ0ZjE4ZjI5NDU2YTAwZFwiXSxbXCJmZWVhNmNhZTQ2ZDU1YjUzMGFjMjgzOWYxNDNiZDdlYzVjZjhiMjY2YTQxZDZhZjUyZDVlNjg4ZDkwOTQ2OTZkXCIsXCJlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4XCJdLFtcImRhNjdhOTFkOTEwNDljZGNiMzY3YmU0YmU2ZmZjYTNjZmVlZDY1N2Q4MDg1ODNkZTMzZmE5NzhiYzFlYzZjYjFcIixcIjliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWRcIl0sW1wiNTM5MDRmYWEwYjMzNGNkZGE2ZTAwMDkzNWVmMjIxNTFlYzA4ZDBmN2JiMTEwNjlmNTc1NDVjY2MxYTM3YjdjMFwiLFwiNWJjMDg3ZDBiYzgwMTA2ZDg4YzllY2NhYzIwZDNjMWMxMzk5OTk4MWUxNDQzNDY5OWRjYjA5NmIwMjI3NzFjOFwiXSxbXCI4ZTdiY2QwYmQzNTk4M2E3NzE5Y2NhNzc2NGNhOTA2Nzc5YjUzYTA0M2E5YjhiY2FlZmY5NTlmNDNhZDg2MDQ3XCIsXCIxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhXCJdLFtcIjM4NWVlZDM0YzFjZGZmMjFlNmQwODE4Njg5YjgxYmRlNzFhN2Y0ZjE4Mzk3ZTY2OTBhODQxZTE1OTljNDM4NjJcIixcIjI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTNcIl0sW1wiNmY5ZDliODAzZWNmMTkxNjM3YzczYTQ0MTNkZmExODBmZGRmODRhNTk0N2ZiYzljNjA2ZWQ4NmMzZmFjM2E3XCIsXCI3YzgwYzY4ZTYwMzA1OWJhNjliOGUyYTMwZTQ1YzRkNDdlYTRkZDJmNWMyODEwMDJkODY4OTA2MDNhODQyMTYwXCJdLFtcIjMzMjJkNDAxMjQzYzRlMjU4MmEyMTQ3YzEwNGQ2ZWNiZjc3NGQxNjNkYjBmNWU1MzEzYjdlMGU3NDJkMGU2YmRcIixcIjU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTBcIl0sW1wiODU2NzJjN2QyZGUwYjdkYTJiZDE3NzBkODk2NjU4Njg3NDFiM2Y5YWY3NjQzMzk3NzIxZDc0ZDI4MTM0YWI4M1wiLFwiN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNlwiXSxbXCI5NDhiZjgwOWIxOTg4YTQ2YjA2YzlmMTkxOTQxM2IxMGY5MjI2YzYwZjY2ODgzMmZmZDk1OWFmNjBjODJhMGFcIixcIjUzYTU2Mjg1NmRjYjY2NDZkYzZiNzRjNWQxYzM0MThjNmQ0ZGZmMDhjOTdjZDJiZWQ0Y2I3Zjg4ZDhjOGU1ODlcIl0sW1wiNjI2MGNlN2Y0NjE4MDFjMzRmMDY3Y2UwZjAyODczYThmMWIwZTQ0ZGZjNjk3NTJhY2NlY2Q4MTlmMzhmZDhlOFwiLFwiYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxN1wiXSxbXCJlNTAzN2RlMGFmYzFkOGQ0M2Q4MzQ4NDE0YmJmNDEwMzA0M2VjOGY1NzViZmRjNDMyOTUzY2M4ZDIwMzdmYTJkXCIsXCI0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhXCJdLFtcImUwNjM3MmIwZjRhMjA3YWRmNWVhOTA1ZThmMTc3MWI0ZTdlOGRiZDFjNmE2YzViNzI1ODY2YTBhZTRmY2U3MjVcIixcIjdhOTA4OTc0YmNlMThjZmUxMmEyN2JiMmFkNWE0ODhjZDc0ODRhNzc4NzEwNDg3MGIyNzAzNGY5NGVlZTMxZGRcIl0sW1wiMjEzYzdhNzE1Y2Q1ZDQ1MzU4ZDBiYmY5ZGMwY2UwMjIwNGIxMGJkZGUyYTNmNTg1NDBhZDY5MDhkMDU1OTc1NFwiLFwiNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMlwiXSxbXCI0ZTdjMjcyYTdhZjRiMzRlOGRiYjkzNTJhNTQxOWE4N2UyODM4YzcwYWRjNjJjZGRmMGNjM2EzYjA4ZmJkNTNjXCIsXCIxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2XCJdLFtcImZlYTc0ZTNkYmU3NzhiMWIxMGYyMzhhZDYxNjg2YWE1Yzc2ZTNkYjJiZTQzMDU3NjMyNDI3ZTI4NDBmYjI3YjZcIixcIjZlMDU2OGRiOWIwYjEzMjk3Y2Y2NzRkZWNjYjZhZjkzMTI2YjU5NmI5NzNmN2I3NzcwMWQzZGI3ZjIzY2I5NmZcIl0sW1wiNzZlNjQxMTNmNjc3Y2YwZTEwYTI1NzBkNTk5OTY4ZDMxNTQ0ZTE3OWI3NjA0MzI5NTJjMDJhNDQxN2JkZGUzOVwiLFwiYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMVwiXSxbXCJjNzM4YzU2YjAzYjJhYmUxZTgyODFiYWE3NDNmOGY5YThmN2NjNjQzZGYyNmNiZWUzYWIxNTAyNDJiY2JiODkxXCIsXCI4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzXCJdLFtcImQ4OTU2MjY1NDhiNjViODFlMjY0Yzc2MzdjOTcyODc3ZDFkNzJlNWYzYTkyNTAxNDM3MmU5ZjY1ODhmNmMxNGJcIixcImZlYmZhYTM4ZjJiYzdlYWU3MjhlYzYwODE4YzM0MGViMDM0MjhkNjMyYmIwNjdlMTc5MzYzZWQ3NWQ3ZDk5MWZcIl0sW1wiYjhkYTk0MDMyYTk1NzUxOGViMGY2NDMzNTcxZTg3NjFjZWZmYzczNjkzZTg0ZWRkNDkxNTBhNTY0ZjY3NmUwM1wiLFwiMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlN1wiXSxbXCJlODBmZWExNDQ0MWZiMzNhN2Q4YWRhYjk0NzVkN2ZhYjIwMTllZmZiNTE1NmE3OTJmMWExMTc3OGUzYzBkZjVkXCIsXCJlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4XCJdLFtcImEzMDE2OTdiZGZjZDcwNDMxM2JhNDhlNTFkNTY3NTQzZjJhMTgyMDMxZWZkNjkxNWRkYzA3YmJjYzRlMTYwNzBcIixcIjczNzBmOTFjZmI2N2U0ZjUwODE4MDlmYTI1ZDQwZjliMTczNWRiZjdjMGExMWExMzBjMGQxYTA0MWUxNzdlYTFcIl0sW1wiOTBhZDg1YjM4OWQ2YjkzNjQ2M2Y5ZDA1MTI2NzhkZTIwOGNjMzMwYjExMzA3ZmZmYWI3YWM2M2UzZmIwNGVkNFwiLFwiZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwXCJdLFtcIjhmNjhiOWQyZjYzYjVmMzM5MjM5YzFhZDk4MWYxNjJlZTg4YzU2Nzg3MjNlYTMzNTFiN2I0NDRjOWVjNGMwZGFcIixcIjY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODJcIl0sW1wiZTRmM2ZiMDE3NmFmODVkNjVmZjk5ZmY5MTk4YzM2MDkxZjQ4ZTg2NTAzNjgxZTNlNjY4NmZkNTA1MzIzMWUxMVwiLFwiMWU2MzYzM2FkMGVmNGYxYzE2NjFhNmQwZWEwMmI3Mjg2Y2M3ZTc0ZWM5NTFkMWM5ODIyYzM4NTc2ZmViNzNiY1wiXSxbXCI4YzAwZmE5YjE4ZWJmMzMxZWI5NjE1MzdhNDVhNDI2NmM3MDM0ZjJmMGQ0ZTFkMDcxNmZiNmVhZTIwZWFlMjllXCIsXCJlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiXCJdLFtcImU3YTI2Y2U2OWRkNDgyOWYzZTEwY2VjMGE5ZTk4ZWQzMTQzZDA4NGYzMDhiOTJjMDk5N2ZkZGZjNjBjYjNlNDFcIixcIjJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTFcIl0sW1wiYjY0NTllMGVlMzY2MmVjOGQyMzU0MGMyMjNiY2JkYzU3MWNiY2I5NjdkNzk0MjRmM2NmMjllYjNkZTZiODBlZlwiLFwiNjdjODc2ZDA2ZjNlMDZkZTFkYWRmMTZlNTY2MWRiM2M0YjNhZTZkNDhlMzViMmZmMzBiZjBiNjFhNzFiYTQ1XCJdLFtcImQ2OGE4MGM4MjgwYmI4NDA3OTMyMzRhYTExOGYwNjIzMWQ2ZjFmYzY3ZTczYzVhNWRlZGEwZjViNDk2OTQzZThcIixcImRiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjBcIl0sW1wiMzI0YWVkN2RmNjVjODA0MjUyZGMwMjcwOTA3YTMwYjA5NjEyYWViOTczNDQ5Y2VhNDA5NTk4MGZjMjhkM2Q1ZFwiLFwiNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NFwiXSxbXCI0ZGY5YzE0OTE5Y2RlNjFmNmQ1MWRmZGJlNWZlZTVkY2VlYzQxNDNiYThkMWNhODg4ZThiZDM3M2ZkMDU0Yzk2XCIsXCIzNWVjNTEwOTJkODcyODA1MDk3NGMyM2ExZDg1ZDRiNWQ1MDZjZGMyODg0OTAxOTJlYmFjMDZjYWQxMGQ1ZFwiXSxbXCI5YzM5MTlhODRhNDc0ODcwZmFlZDhhOWMxY2M2NjAyMTUyMzQ4OTA1NGQ3ZjAzMDhjYmZjOTljOGFjMWY5OGNkXCIsXCJkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkXCJdLFtcIjYwNTcxNzBiMWRkMTJmZGY4ZGUwNWYyODFkOGUwNmJiOTFlMTQ5M2E4YjkxZDRjYzVhMjEzODIxMjBhOTU5ZTVcIixcIjlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYThcIl0sW1wiYTU3NmRmOGUyM2EwODQxMTQyMTQzOWE0NTE4ZGEzMTg4MGNlZjBmYmE3ZDRkZjEyYjFhNjk3M2VlY2I5NDI2NlwiLFwiNDBhNmJmMjBlNzY2NDBiMmM5MmI5N2FmZTU4Y2Q4MmM0MzJlMTBhN2Y1MTRkOWYzZWU4YmUxMWFlMWIyOGVjOFwiXSxbXCI3Nzc4YTc4YzI4ZGVjM2UzMGEwNWZlOTYyOWRlOGMzOGJiMzBkMWY1Y2Y5YTNhMjA4Zjc2Mzg4OWJlNThhZDcxXCIsXCIzNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjXCJdLFtcIjkyODk1NWVlNjM3YTg0NDYzNzI5ZmQzMGU3YWZkMmVkNWY5NjI3NGU1YWQ3ZTVjYjA5ZWRhOWMwNmQ5MDNhY1wiLFwiYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZlwiXSxbXCI4NWQwZmVmM2VjNmRiMTA5Mzk5MDY0ZjNhMGUzYjI4NTU2NDViNGE5MDdhZDM1NDUyN2FhZTc1MTYzZDgyNzUxXCIsXCIxZjAzNjQ4NDEzYTM4YzBiZTI5ZDQ5NmU1ODJjZjU2NjNlODc1MWU5Njg3NzMzMTU4MmMyMzdhMjRlYjFmOTYyXCJdLFtcImZmMmIwZGNlOTdlZWNlOTdjMWM5YjYwNDE3OThiODVkZmRmYjZkODg4MmRhMjAzMDhmNTQwNDgyNDUyNjA4N2VcIixcIjQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDdcIl0sW1wiODI3ZmJiZTRiMWU4ODBlYTllZDJiMmU2MzAxYjIxMmI1N2YxZWUxNDhjZDZkZDI4NzgwZTVlMmNmODU2ZTI0MVwiLFwiYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlY1wiXSxbXCJlYWE2NDlmMjFmNTFiZGJhZTdiZTRhZTM0Y2U2ZTUyMTdhNThmZGNlN2Y0N2Y5YWE3ZjNiNThmYTIxMjBlMmIzXCIsXCJiZTMyNzllZDViYmJiMDNhYzY5YTgwZjg5ODc5YWE1YTAxYTZiOTY1ZjEzZjdlNTlkNDdhNTMwNWJhNWFkOTNkXCJdLFtcImU0YTQyZDQzYzVjZjE2OWQ5MzkxZGY2ZGVjZjQyZWU1NDFiNmQ4ZjBjOWExMzc0MDFlMjM2MzJkZGEzNGQyNGZcIixcIjRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTRcIl0sW1wiMWVjODBmZWYzNjBjYmRkOTU0MTYwZmFkYWIzNTJiNmI5MmI1MzU3NmE4OGZlYTQ5NDcxNzNiOWQ0MzAwYmYxOVwiLFwiYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZFwiXSxbXCIxNDZhNzc4YzA0NjcwYzJmOTFiMDBhZjQ2ODBkZmE4YmNlMzQ5MDcxN2Q1OGJhODg5ZGRiNTkyODM2NjY0MmJlXCIsXCJiMzE4ZTBlYzMzNTQwMjhhZGQ2Njk4MjdmOWQ0YjI4NzBhYWE5NzFkMmY3ZTVlZDFkMGIyOTc0ODNkODNlZmQwXCJdLFtcImZhNTBjMGY2MWQyMmU1ZjA3ZTNhY2ViYjFhYTA3YjEyOGQwMDEyMjA5YTI4Yjk3NzZkNzZhODc5MzE4MGVlZjlcIixcIjZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTFcIl0sW1wiZGExZDYxZDBjYTcyMWExMWIxYTViZjZiN2Q4OGU4NDIxYTI4OGFiNWQ1YmJhNTIyMGU1M2QzMmI1ZjA2N2VjMlwiLFwiODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMVwiXSxbXCJhOGUyODJmZjBjOTcwNjkwNzIxNWZmOThlOGZkNDE2NjE1MzExZGUwNDQ2ZjFlMDYyYTczYjA2MTBkMDY0ZTEzXCIsXCI3Zjk3MzU1YjhkYjgxYzA5YWJmYjdmM2M1YjI1MTU4ODhiNjc5YTNlNTBkZDZiZDZjZWY3YzczMTExZjRjYzBjXCJdLFtcIjE3NGE1M2I5YzlhMjg1ODcyZDM5ZTU2ZTY5MTNjYWIxNWQ1OWIxZmE1MTI1MDhjMDIyZjM4MmRlODMxOTQ5N2NcIixcImNjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzNcIl0sW1wiOTU5Mzk2OTgxOTQzNzg1YzNkM2U1N2VkZjUwMThjZGJlMDM5ZTczMGU0OTE4YjNkODg0ZmRmZjA5NDc1YjdiYVwiLFwiMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZFwiXSxbXCJkMmE2M2E1MGFlNDAxZTU2ZDY0NWExMTUzYjEwOWE4ZmNjYTBhNDNkNTYxZmJhMmRiYjUxMzQwYzlkODJiMTUxXCIsXCJlODJkODZmYjY0NDNmY2I3NTY1YWVlNThiMjk0ODIyMGE3MGY3NTBhZjQ4NGNhNTJkNDE0MjE3NGRjZjg5NDA1XCJdLFtcIjY0NTg3ZTIzMzU0NzFlYjg5MGVlNzg5NmQ3Y2ZkYzg2NmJhY2JkYmQzODM5MzE3YjM0MzZmOWI0NTYxN2UwNzNcIixcImQ5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODlcIl0sW1wiODQ4MWJkZTBlNGU0ZDg4NWIzYTU0NmQzZTU0OWRlMDQyZjBhYTZjZWEyNTBlN2ZkMzU4ZDZjODZkZDQ1ZTQ1OFwiLFwiMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZVwiXSxbXCIxMzQ2NGE1N2E3ODEwMmFhNjJiNjk3OWFlODE3ZjQ2MzdmZmNmZWQzYzRiMWNlMzBiY2Q2MzAzZjZjYWY2NjZiXCIsXCI2OWJlMTU5MDA0NjE0NTgwZWY3ZTQzMzQ1M2NjYjBjYTQ4ZjMwMGE4MWQwOTQyZTEzZjQ5NWE5MDdmNmVjYzI3XCJdLFtcImJjNGE5ZGY1YjcxM2ZlMmU5YWVmNDMwYmNjMWRjOTdhMGNkOWNjZWRlMmYyODU4OGNhZGEzYTBkMmQ4M2YzNjZcIixcImQzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMVwiXSxbXCI4YzI4YTk3YmY4Mjk4YmMwZDIzZDhjNzQ5NDUyYTMyZTY5NGI2NWUzMGE5NDcyYTM5NTRhYjMwZmU1MzI0Y2FhXCIsXCI0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyXCJdLFtcIjhlYTk2NjYxMzk1MjdhOGMxZGQ5NGNlNGYwNzFmZDIzYzhiMzUwYzVhNGJiMzM3NDhjNGJhMTExZmFjY2FlMFwiLFwiNjIwZWZhYmJjOGVlMjc4MmUyNGU3YzBjZmI5NWM1ZDczNWI3ODNiZTljZjBmOGU5NTVhZjM0YTMwZTYyYjk0NVwiXSxbXCJkZDM2MjVmYWVmNWJhMDYwNzQ2Njk3MTZiYmQzNzg4ZDg5YmRkZTgxNTk1OTk2ODA5MmY3NmNjNGViOWE5Nzg3XCIsXCI3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczXCJdLFtcImY3MTBkNzlkOWViOTYyMjk3ZTRmNjIzMmI0MGU4ZjdmZWIyYmM2MzgxNDYxNGQ2OTJjMTJkZTc1MjQwODIyMWVcIixcImVhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODJcIl1dfSxuYWY6e3duZDo3LHBvaW50czpbW1wiZjkzMDhhMDE5MjU4YzMxMDQ5MzQ0Zjg1Zjg5ZDUyMjliNTMxYzg0NTgzNmY5OWIwODYwMWYxMTNiY2UwMzZmOVwiLFwiMzg4ZjdiMGY2MzJkZTgxNDBmZTMzN2U2MmEzN2YzNTY2NTAwYTk5OTM0YzIyMzFiNmNiOWZkNzU4NGI4ZTY3MlwiXSxbXCIyZjhiZGU0ZDFhMDcyMDkzNTViNGE3MjUwYTVjNTEyOGU4OGI4NGJkZGM2MTlhYjdjYmE4ZDU2OWIyNDBlZmU0XCIsXCJkOGFjMjIyNjM2ZTVlM2Q2ZDRkYmE5ZGRhNmM5YzQyNmY3ODgyNzFiYWIwZDY4NDBkY2E4N2QzYWE2YWM2MmQ2XCJdLFtcIjVjYmRmMDY0NmU1ZGI0ZWFhMzk4ZjM2NWYyZWE3YTBlM2Q0MTliN2UwMzMwZTM5Y2U5MmJkZGVkY2FjNGY5YmNcIixcIjZhZWJjYTQwYmEyNTU5NjBhMzE3OGQ2ZDg2MWE1NGRiYTgxM2QwYjgxM2ZkZTdiNWE1MDgyNjI4MDg3MjY0ZGFcIl0sW1wiYWNkNDg0ZTJmMGM3ZjY1MzA5YWQxNzhhOWY1NTlhYmRlMDk3OTY5NzRjNTdlNzE0YzM1ZjExMGRmYzI3Y2NiZVwiLFwiY2MzMzg5MjFiMGE3ZDlmZDY0MzgwOTcxNzYzYjYxZTlhZGQ4ODhhNDM3NWY4ZTBmMDVjYzI2MmFjNjRmOWMzN1wiXSxbXCI3NzRhZTdmODU4YTk0MTFlNWVmNDI0NmI3MGM2NWFhYzU2NDk5ODBiZTVjMTc4OTFiYmVjMTc4OTVkYTAwOGNiXCIsXCJkOTg0YTAzMmViNmI1ZTE5MDI0M2RkNTZkN2I3YjM2NTM3MmRiMWUyZGZmOWQ2YTgzMDFkNzRjOWM5NTNjNjFiXCJdLFtcImYyODc3M2MyZDk3NTI4OGJjN2QxZDIwNWMzNzQ4NjUxYjA3NWZiYzY2MTBlNThjZGRlZWRkZjhmMTk0MDVhYThcIixcImFiMDkwMmU4ZDg4MGE4OTc1ODIxMmViNjVjZGFmNDczYTFhMDZkYTUyMWZhOTFmMjliNWNiNTJkYjAzZWQ4MVwiXSxbXCJkNzkyNGQ0ZjdkNDNlYTk2NWE0NjVhZTMwOTVmZjQxMTMxZTU5NDZmM2M4NWY3OWU0NGFkYmNmOGUyN2UwODBlXCIsXCI1ODFlMjg3MmE4NmM3MmE2ODM4NDJlYzIyOGNjNmRlZmVhNDBhZjJiZDg5NmQzYTVjNTA0ZGM5ZmY2YTI2YjU4XCJdLFtcImRlZmRlYTRjZGI2Nzc3NTBhNDIwZmVlODA3ZWFjZjIxZWI5ODk4YWU3OWI5NzY4NzY2ZTRmYWEwNGEyZDRhMzRcIixcIjQyMTFhYjA2OTQ2MzUxNjhlOTk3YjBlYWQyYTkzZGFlY2VkMWY0YTA0YTk1YzBmNmNmYjE5OWY2OWU1NmViNzdcIl0sW1wiMmI0ZWEwYTc5N2E0NDNkMjkzZWY1Y2ZmNDQ0ZjQ5NzlmMDZhY2ZlYmQ3ZTg2ZDI3NzQ3NTY1NjEzODM4NWI2Y1wiLFwiODVlODliYzAzNzk0NWQ5M2IzNDMwODNiNWExYzg2MTMxYTAxZjYwYzUwMjY5NzYzYjU3MGM4NTRlNWMwOWI3YVwiXSxbXCIzNTJiYmY0YTRjZGQxMjU2NGY5M2ZhMzMyY2UzMzMzMDFkOWFkNDAyNzFmODEwNzE4MTM0MGFlZjI1YmU1OWQ1XCIsXCIzMjFlYjQwNzUzNDhmNTM0ZDU5YzE4MjU5ZGRhM2UxZjRhMWIzYjJlNzFiMTAzOWM2N2JkM2Q4YmNmODE5OThjXCJdLFtcIjJmYTIxMDRkNmIzOGQxMWIwMjMwMDEwNTU5ODc5MTI0ZTQyYWI4ZGZlZmY1ZmYyOWRjOWNkYWRkNGVjYWNjM2ZcIixcIjJkZTEwNjgyOTVkZDg2NWI2NDU2OTMzNWJkNWRkODAxODFkNzBlY2ZjODgyNjQ4NDIzYmE3NmI1MzJiN2Q2N1wiXSxbXCI5MjQ4Mjc5YjA5YjRkNjhkYWIyMWE5YjA2NmVkZGE4MzI2M2MzZDg0ZTA5NTcyZTI2OWNhMGNkN2Y1NDUzNzE0XCIsXCI3MzAxNmY3YmYyMzRhYWRlNWQxYWE3MWJkZWEyYjFmZjNmYzBkZTJhODg3OTEyZmZlNTRhMzJjZTk3Y2IzNDAyXCJdLFtcImRhZWQ0ZjJiZTNhOGJmMjc4ZTcwMTMyZmIwYmViNzUyMmY1NzBlMTQ0YmY2MTVjMDdlOTk2ZDQ0M2RlZTg3MjlcIixcImE2OWRjZTRhN2Q2Yzk4ZThkNGExYWNhODdlZjhkNzAwM2Y4M2MyMzBmM2FmYTcyNmFiNDBlNTIyOTBiZTFjNTVcIl0sW1wiYzQ0ZDEyYzcwNjVkODEyZThhY2YyOGQ3Y2JiMTlmOTAxMWVjZDllOWZkZjI4MWIwZTZhM2I1ZTg3ZDIyZTdkYlwiLFwiMjExOWE0NjBjZTMyNmNkYzc2YzQ1OTI2Yzk4MmZkYWMwZTEwNmU4NjFlZGY2MWM1YTAzOTA2M2YwZTBlNjQ4MlwiXSxbXCI2YTI0NWJmNmRjNjk4NTA0Yzg5YTIwY2ZkZWQ2MDg1MzE1MmI2OTUzMzZjMjgwNjNiNjFjNjVjYmQyNjllNmI0XCIsXCJlMDIyY2Y0MmMyYmQ0YTcwOGIzZjUxMjZmMTZhMjRhZDhiMzNiYTQ4ZDA0MjNiNmVmZDVlNjM0ODEwMGQ4YTgyXCJdLFtcIjE2OTdmZmE2ZmQ5ZGU2MjdjMDc3ZTNkMmZlNTQxMDg0Y2UxMzMwMGIwYmVjMTE0NmY5NWFlNTdmMGQwYmQ2YTVcIixcImI5YzM5OGYxODY4MDZmNWQyNzU2MTUwNmU0NTU3NDMzYTJjZjE1MDA5ZTQ5OGFlN2FkZWU5ZDYzZDAxYjIzOTZcIl0sW1wiNjA1YmRiMDE5OTgxNzE4Yjk4NmQwZjA3ZTgzNGNiMGQ5ZGViODM2MGZmYjdmNjFkZjk4MjM0NWVmMjdhNzQ3OVwiLFwiMjk3MmQyZGU0ZjhkMjA2ODFhNzhkOTNlYzk2ZmUyM2MyNmJmYWU4NGZiMTRkYjQzYjAxZTFlOTA1NmI4YzQ5XCJdLFtcIjYyZDE0ZGFiNDE1MGJmNDk3NDAyZmRjNDVhMjE1ZTEwZGNiMDFjMzU0OTU5YjEwY2ZlMzFjN2U5ZDg3ZmYzM2RcIixcIjgwZmMwNmJkOGNjNWIwMTA5ODA4OGExOTUwZWVkMGRiMDFhYTEzMjk2N2FiNDcyMjM1ZjU2NDI0ODNiMjVlYWZcIl0sW1wiODBjNjBhZDAwNDBmMjdkYWRlNWI0YjA2YzQwOGU1NmIyYzUwZTlmNTZiOWI4YjQyNWU1NTVjMmY4NjMwOGI2ZlwiLFwiMWMzODMwM2YxY2M1YzMwZjI2ZTY2YmFkN2ZlNzJmNzBhNjVlZWQ0Y2JlNzAyNGViMWFhMDFmNTY0MzBiZDU3YVwiXSxbXCI3YTkzNzVhZDYxNjdhZDU0YWE3NGM2MzQ4Y2M1NGQzNDRjYzVkYzk0ODdkODQ3MDQ5ZDVlYWJiMGZhMDNjOGZiXCIsXCJkMGUzZmE5ZWNhODcyNjkwOTU1OWUwZDc5MjY5MDQ2YmRjNTllYTEwYzcwY2UyYjAyZDQ5OWVjMjI0ZGM3ZjdcIl0sW1wiZDUyOGVjZDliNjk2YjU0YzkwN2E5ZWQwNDU0NDdhNzliYjQwOGVjMzliNjhkZjUwNGJiNTFmNDU5YmMzZmZjOVwiLFwiZWVjZjQxMjUzMTM2ZTVmOTk5NjZmMjE4ODFmZDY1NmViYzQzNDU0MDVjNTIwZGJjMDYzNDY1YjUyMTQwOTkzM1wiXSxbXCI0OTM3MGE0YjVmNDM0MTJlYTI1ZjUxNGU4ZWNkYWQwNTI2NjExNWU0YTdlY2IxMzg3MjMxODA4ZjhiNDU5NjNcIixcIjc1OGYzZjQxYWZkNmVkNDI4YjMwODFiMDUxMmZkNjJhNTRjM2YzYWZiYjViNjc2NGI2NTMwNTJhMTI5NDljOWFcIl0sW1wiNzdmMjMwOTM2ZWU4OGNiYmQ3M2RmOTMwZDY0NzAyZWY4ODFkODExZTBlMTQ5OGUyZjFjMTNlYjFmYzM0NWQ3NFwiLFwiOTU4ZWY0MmE3ODg2YjY0MDBhMDgyNjZlOWJhMWIzNzg5NmM5NTMzMGQ5NzA3N2NiYmU4ZWIzYzc2NzFjNjBkNlwiXSxbXCJmMmRhYzk5MWNjNGNlNGI5ZWE0NDg4N2U1YzdjMGJjZTU4YzgwMDc0YWI5ZDRkYmFlYjI4NTMxYjc3MzlmNTMwXCIsXCJlMGRlZGM5YjNiMmY4ZGFkNGRhMWYzMmRlYzI1MzFkZjllYjVmYmViMDU5OGU0ZmQxYTExN2RiYTcwM2EzYzM3XCJdLFtcIjQ2M2IzZDlmNjYyNjIxZmIxYjRiZThmYmJlMjUyMDEyNWEyMTZjZGZjOWRhZTNkZWJjYmE0ODUwYzY5MGQ0NWJcIixcIjVlZDQzMGQ3OGMyOTZjMzU0MzExNDMwNmRkODYyMmQ3YzYyMmUyN2M5NzBhMWRlMzFjYjM3N2IwMWFmNzMwN2VcIl0sW1wiZjE2ZjgwNDI0NGU0NmUyYTA5MjMyZDRhZmYzYjU5OTc2Yjk4ZmFjMTQzMjhhMmQxYTMyNDk2YjQ5OTk4ZjI0N1wiLFwiY2VkYWJkOWI4MjIwM2Y3ZTEzZDIwNmZjZGY0ZTMzZDkyYTZjNTNjMjZlNWNjZTI2ZDY1Nzk5NjJjNGUzMWRmNlwiXSxbXCJjYWY3NTQyNzJkYzg0NTYzYjAzNTJiN2ExNDMxMWFmNTVkMjQ1MzE1YWNlMjdjNjUzNjllMTVmNzE1MWQ0MWQxXCIsXCJjYjQ3NDY2MGVmMzVmNWYyYTQxYjY0M2ZhNWU0NjA1NzVmNGZhOWI3OTYyMjMyYTVjMzJmOTA4MzE4YTA0NDc2XCJdLFtcIjI2MDBjYTRiMjgyY2I5ODZmODVkMGYxNzA5OTc5ZDhiNDRhMDljMDdjYjg2ZDdjMTI0NDk3YmM4NmYwODIxMjBcIixcIjQxMTliODg3NTNjMTViZDZhNjkzYjAzZmNkZGJiNDVkNWFjNmJlNzRhYjVmMGVmNDRiMGJlOTQ3NWE3ZTRiNDBcIl0sW1wiNzYzNWNhNzJkN2U4NDMyYzMzOGVjNTNjZDEyMjIwYmMwMWM0ODY4NWUyNGY3ZGM4YzYwMmE3NzQ2OTk4ZTQzNVwiLFwiOTFiNjQ5NjA5NDg5ZDYxM2QxZDVlNTkwZjc4ZTZkNzRlY2ZjMDYxZDU3MDQ4YmFkOWU3NmYzMDJjNWI5YzYxXCJdLFtcIjc1NGUzMjM5ZjMyNTU3MGNkYmJmNGE4N2RlZWU4YTY2YjdmMmIzMzQ3OWQ0NjhmYmMxYTUwNzQzYmY1NmNjMThcIixcIjY3M2ZiODZlNWJkYTMwZmIzY2QwZWQzMDRlYTQ5YTAyM2VlMzNkMDE5N2E2OTVkMGM1ZDk4MDkzYzUzNjY4M1wiXSxbXCJlM2U2YmQxMDcxYTFlOTZhZmY1Nzg1OWM4MmQ1NzBmMDMzMDgwMDY2MWQxYzk1MmY5ZmUyNjk0NjkxZDliOWU4XCIsXCI1OWM5ZTBiYmEzOTRlNzZmNDBjMGFhNTgzNzlhM2NiNmE1YTIyODM5OTNlOTBjNDE2NzAwMmFmNDkyMGUzN2Y1XCJdLFtcIjE4NmI0ODNkMDU2YTAzMzgyNmFlNzNkODhmNzMyOTg1YzRjY2IxZjMyYmEzNWY0YjRjYzQ3ZmRjZjA0YWE2ZWJcIixcIjNiOTUyZDMyYzY3Y2Y3N2UyZTE3NDQ2ZTIwNDE4MGFiMjFmYjgwOTA4OTUxMzhiNGE0YTc5N2Y4NmU4MDg4OGJcIl0sW1wiZGY5ZDcwYTZiOTg3NmNlNTQ0Yzk4NTYxZjRiZTRmNzI1NDQyZTZkMmI3MzdkOWM5MWE4MzIxNzI0Y2UwOTYzZlwiLFwiNTVlYjJkYWZkODRkNmNjZDVmODYyYjc4NWRjMzlkNGFiMTU3MjIyNzIwZWY5ZGEyMTdiOGM0NWNmMmJhMjQxN1wiXSxbXCI1ZWRkNWNjMjNjNTFlODdhNDk3Y2E4MTVkNWRjZTBmOGFiNTI1NTRmODQ5ZWQ4OTk1ZGU2NGM1ZjM0Y2U3MTQzXCIsXCJlZmFlOWM4ZGJjMTQxMzA2NjFlOGNlYzAzMGM4OWFkMGMxM2M2NmMwZDE3YTI5MDVjZGM3MDZhYjczOTlhODY4XCJdLFtcIjI5MDc5OGMyYjY0NzY4MzBkYTEyZmUwMjI4N2U5ZTc3N2FhM2ZiYTFjMzU1YjE3YTcyMmQzNjJmODQ2MTRmYmFcIixcImUzOGRhNzZkY2Q0NDA2MjE5ODhkMDBiY2Y3OWFmMjVkNWIyOWMwOTRkYjJhMjMxNDZkMDAzYWZkNDE5NDNlN2FcIl0sW1wiYWYzYzQyM2E5NWQ5ZjViMzA1NDc1NGVmYTE1MGFjMzljZDI5NTUyZmUzNjAyNTczNjJkZmRlY2VmNDA1M2I0NVwiLFwiZjk4YTNmZDgzMWViMmI3NDlhOTNiMGU2ZjM1Y2ZiNDBjOGNkNWFhNjY3YTE1NTgxYmMyZmVkZWQ0OThmZDljNlwiXSxbXCI3NjZkYmIyNGQxMzRlNzQ1Y2NjYWEyOGM5OWJmMjc0OTA2YmI2NmIyNmRjZjk4ZGY4ZDJmZWQ1MGQ4ODQyNDlhXCIsXCI3NDRiMTE1MmVhY2JlNWUzOGRjYzg4Nzk4MGRhMzhiODk3NTg0YTY1ZmEwNmNlZGQyYzkyNGY5N2NiYWM1OTk2XCJdLFtcIjU5ZGJmNDZmOGM5NDc1OWJhMjEyNzdjMzM3ODRmNDE2NDVmN2I0NGY2YzU5NmE1OGNlOTJlNjY2MTkxYWJlM2VcIixcImM1MzRhZDQ0MTc1ZmJjMzAwZjRlYTZjZTY0ODMwOWEwNDJjZTczOWE3OTE5Nzk4Y2Q4NWUyMTZjNGEzMDdmNmVcIl0sW1wiZjEzYWRhOTUxMDNjNDUzNzMwNWU2OTFlNzRlOWE0YThkZDY0N2U3MTFhOTVlNzNjYjYyZGM2MDE4Y2ZkODdiOFwiLFwiZTEzODE3YjQ0ZWUxNGRlNjYzYmY0YmM4MDgzNDFmMzI2OTQ5ZTIxYTZhNzVjMjU3MDc3ODQxOWJkYWY1NzMzZFwiXSxbXCI3NzU0YjRmYTBlOGFjZWQwNmQ0MTY3YTJjNTljY2E0Y2RhMTg2OWMwNmViYWRmYjY0ODg1NTAwMTVhODg1MjJjXCIsXCIzMGU5M2U4NjRlNjY5ZDgyMjI0Yjk2N2MzMDIwYjhmYThkMWU0ZTM1MGI2Y2JjYzUzN2E0OGI1Nzg0MTE2M2EyXCJdLFtcIjk0OGRjYWRmNTk5MGUwNDhhYTM4NzRkNDZhYmVmOWQ3MDE4NThmOTVkZTgwNDFkMmE2ODI4Yzk5ZTIyNjI1MTlcIixcImU0OTFhNDI1MzdmNmU1OTdkNWQyOGEzMjI0YjFiYzI1ZGY5MTU0ZWZiZDJlZjFkMmNiYmEyY2FlNTM0N2Q1N2VcIl0sW1wiNzk2MjQxNDQ1MGM3NmMxNjg5YzdiNDhmODIwMmVjMzdmYjIyNGNmNWFjMGJmYTE1NzAzMjhhOGEzZDdjNzdhYlwiLFwiMTAwYjYxMGVjNGZmYjQ3NjBkNWMxZmMxMzNlZjZmNmIxMjUwN2EwNTFmMDRhYzU3NjBhZmE1YjI5ZGI4MzQzN1wiXSxbXCIzNTE0MDg3ODM0OTY0YjU0YjE1YjE2MDY0NGQ5MTU0ODVhMTY5NzcyMjViODg0N2JiMGRkMDg1MTM3ZWM0N2NhXCIsXCJlZjBhZmJiMjA1NjIwNTQ0OGUxNjUyYzQ4ZTgxMjdmYzYwMzllNzdjMTVjMjM3OGI3ZTdkMTVhMGRlMjkzMzExXCJdLFtcImQzY2MzMGFkNmI0ODNlNGJjNzljZTJjOWRkOGJjNTQ5OTNlOTQ3ZWI4ZGY3ODdiNDQyOTQzZDNmN2I1MjdlYWZcIixcIjhiMzc4YTIyZDgyNzI3OGQ4OWM1ZTliZThmOTUwOGFlM2MyYWQ0NjI5MDM1ODYzMGFmYjM0ZGIwNGVlZGUwYTRcIl0sW1wiMTYyNGQ4NDc4MDczMjg2MGNlMWM3OGZjYmZlZmUwOGIyYjI5ODIzZGI5MTNmNjQ5Mzk3NWJhMGZmNDg0NzYxMFwiLFwiNjg2NTFjZjliNmRhOTAzZTA5MTQ0NDhjNmNkOWQ0Y2E4OTY4NzhmNTI4MmJlNGM4Y2MwNmUyYTQwNDA3ODU3NVwiXSxbXCI3MzNjZTgwZGE5NTVhOGEyNjkwMmM5NTYzM2U2MmE5ODUxOTI0NzRiNWFmMjA3ZGE2ZGY3YjRmZDVmYzYxY2Q0XCIsXCJmNTQzNWEyYmQyYmFkZjdkNDg1YTRkOGI4ZGI5ZmNjZTNlMWVmOGUwMjAxZTQ1NzhjNTQ2NzNiYzFkYzVlYTFkXCJdLFtcIjE1ZDk0NDEyNTQ5NDUwNjRjZjFhMWMzM2JiZDNiNDlmODk2NmM1MDkyMTcxZTY5OWVmMjU4ZGZhYjgxYzA0NWNcIixcImQ1NmViMzBiNjk0NjNlNzIzNGY1MTM3YjczYjg0MTc3NDM0ODAwYmFjZWJmYzY4NWZjMzdiYmU5ZWZlNDA3MGRcIl0sW1wiYTFkMGZjZjJlYzlkZTY3NWI2MTIxMzZlNWNlNzBkMjcxYzIxNDE3YzlkMmI4YWFhYWMxMzg1OTlkMDcxNzk0MFwiLFwiZWRkNzdmNTBiY2I1YTNjYWIyZTkwNzM3MzA5NjY3ZjI2NDE0NjJhNTQwNzBmM2Q1MTkyMTJkMzljMTk3YTYyOVwiXSxbXCJlMjJmYmUxNWMwYWY4Y2NjNTc4MGMwNzM1Zjg0ZGJlOWE3OTBiYWRlZTgyNDVjMDZjN2NhMzczMzFjYjM2OTgwXCIsXCJhODU1YmFiYWQ1Y2Q2MGM4OGI0MzBhNjlmNTNhMWE3YTM4Mjg5MTU0OTY0Nzk5YmU0M2QwNmQ3N2QzMWRhMDZcIl0sW1wiMzExMDkxZGQ5ODYwZThlMjBlZTEzNDczYzExNTVmNWY2OTYzNWUzOTQ3MDRlYWE3NDAwOTQ1MjI0NmNmYTliM1wiLFwiNjZkYjY1NmY4N2QxZjA0ZmZmZDFmMDQ3ODhjMDY4MzA4NzFlYzVhNjRmZWVlNjg1YmQ4MGYwYjEyODZkODM3NFwiXSxbXCIzNGMxZmQwNGQzMDFiZTg5YjMxYzA0NDJkM2U2YWMyNDg4MzkyOGI0NWE5MzQwNzgxODY3ZDQyMzJlYzJkYmRmXCIsXCI5NDE0Njg1ZTk3YjFiNTk1NGJkNDZmNzMwMTc0MTM2ZDU3ZjFjZWViNDg3NDQzZGM1MzIxODU3YmE3M2FiZWVcIl0sW1wiZjIxOWVhNWQ2YjU0NzAxYzFjMTRkZTViNTU3ZWI0MmE4ZDEzZjNhYmJjZDA4YWZmY2MyYTVlNmIwNDliOGQ2M1wiLFwiNGNiOTU5NTdlODNkNDBiMGY3M2FmNDU0NGNjY2Y2YjFmNGIwOGQzYzA3YjI3ZmI4ZDhjMjk2MmE0MDA3NjZkMVwiXSxbXCJkN2I4NzQwZjc0YThmYmFhYjFmNjgzZGI4ZjQ1ZGUyNjU0M2E1NDkwYmNhNjI3MDg3MjM2OTEyNDY5YTBiNDQ4XCIsXCJmYTc3OTY4MTI4ZDljOTJlZTEwMTBmMzM3YWQ0NzE3ZWZmMTVkYjVlZDNjMDQ5YjM0MTFlMDMxNWVhYTQ1OTNiXCJdLFtcIjMyZDMxYzIyMmY4ZjZmMGVmODZmN2M5OGQzYTMzMzVlYWQ1YmNkMzJhYmRkOTQyODlmZTRkMzA5MWFhODI0YmZcIixcIjVmMzAzMmY1ODkyMTU2ZTM5Y2NkM2Q3OTE1YjllMWRhMmU2ZGFjOWU2ZjI2ZTk2MTExOGQxNGI4NDYyZTE2NjFcIl0sW1wiNzQ2MWYzNzE5MTRhYjMyNjcxMDQ1YTE1NWQ5ODMxZWE4NzkzZDc3Y2Q1OTU5MmM0MzQwZjg2Y2JjMTgzNDdiNVwiLFwiOGVjMGJhMjM4Yjk2YmVjMGNiZGRkY2FlMGFhNDQyNTQyZWVlMWZmNTBjOTg2ZWE2YjM5ODQ3YjNjYzA5MmZmNlwiXSxbXCJlZTA3OWFkYjFkZjE4NjAwNzQzNTZhMjVhYTM4MjA2YTZkNzE2YjJjM2U2NzQ1M2QyODc2OThiYWQ3YjJiMmQ2XCIsXCI4ZGMyNDEyYWFmZTNiZTVjNGM1ZjM3ZTBlY2M1ZjlmNmE0NDY5ODlhZjA0YzRlMjVlYmFhYzQ3OWVjMWM4YzFlXCJdLFtcIjE2ZWM5M2U0NDdlYzgzZjA0NjdiMTgzMDJlZTYyMGY3ZTY1ZGUzMzE4NzRjOWRjNzJiZmQ4NjE2YmE5ZGE2YjVcIixcIjVlNDYzMTE1MGU2MmZiNDBkMGU4YzJhN2NhNTgwNGEzOWQ1ODE4NmE1MGU0OTcxMzk2MjY3NzhlMjViMDY3NGRcIl0sW1wiZWFhNWY5ODBjMjQ1ZjZmMDM4OTc4MjkwYWZhNzBiNmJkODg1NTg5N2Y5OGI2YWE0ODViOTYwNjVkNTM3YmQ5OVwiLFwiZjY1ZjVkM2UyOTJjMmUwODE5YTUyODM5MWM5OTQ2MjRkNzg0ODY5ZDdlNmVhNjdmYjE4MDQxMDI0ZWRjMDdkY1wiXSxbXCI3OGM5NDA3NTQ0YWMxMzI2OTJlZTE5MTBhMDI0Mzk5NThhZTA0ODc3MTUxMzQyZWE5NmM0YjZiMzVhNDlmNTFcIixcImYzZTAzMTkxNjllYjliODVkNTQwNDc5NTUzOWE1ZTY4ZmExZmJkNTgzYzA2NGQyNDYyYjY3NWYxOTRhM2RkYjRcIl0sW1wiNDk0ZjRiZTIxOWExYTc3MDE2ZGNkODM4NDMxYWVhMDAwMWNkYzhhZTdhNmZjNjg4NzI2NTc4ZDk3MDI4NTdhNVwiLFwiNDIyNDJhOTY5MjgzYTVmMzM5YmE3ZjA3NWUzNmJhMmFmOTI1Y2UzMGQ3NjdlZDZlNTVmNGIwMzE4ODBkNTYyY1wiXSxbXCJhNTk4YTgwMzBkYTZkODZjNmJjN2YyZjUxNDRlYTU0OWQyODIxMWVhNThmYWE3MGViZjRjMWU2NjVjMWZlOWI1XCIsXCIyMDRiNWQ2Zjg0ODIyYzMwN2U0YjRhNzE0MDczN2FlYzIzZmM2M2I2NWIzNWY4NmExMDAyNmRiZDJkODY0ZTZiXCJdLFtcImM0MTkxNjM2NWFiYjJiNWQwOTE5MmY1ZjJkYmVhZmVjMjA4ZjAyMGYxMjU3MGExODRkYmFkYzNlNTg1OTU5OTdcIixcIjRmMTQzNTFkMDA4N2VmYTQ5ZDI0NWIzMjg5ODQ5ODlkNWNhZjk0NTBmMzRiZmMwZWQxNmU5NmI1OGZhOTkxM1wiXSxbXCI4NDFkNjA2M2E1ODZmYTQ3NWE3MjQ2MDRkYTAzYmM1YjkyYTJlMGQyZTBhMzZhY2ZlNGM3M2E1NTE0NzQyODgxXCIsXCI3Mzg2N2Y1OWMwNjU5ZTgxOTA0ZjlhMWM3NTQzNjk4ZTYyNTYyZDY3NDRjMTY5Y2U3YTM2ZGUwMWE4ZDYxNTRcIl0sW1wiNWU5NWJiMzk5YTY5NzFkMzc2MDI2OTQ3Zjg5YmRlMmYyODJiMzM4MTA5MjhiZTRkZWQxMTJhYzRkNzBlMjBkNVwiLFwiMzlmMjNmMzY2ODA5MDg1YmVlYmZjNzExODEzMTM3NzVhOTljOWFlZDdkOGJhMzhiMTYxMzg0Yzc0NjAxMjg2NVwiXSxbXCIzNmU0NjQxYTUzOTQ4ZmQ0NzZjMzlmOGE5OWZkOTc0ZTVlYzA3NTY0YjUzMTVkOGJmOTk0NzFiY2EwZWYyZjY2XCIsXCJkMjQyNGIxYjFhYmU0ZWI4MTY0MjI3YjA4NWM5YWE5NDU2ZWExMzQ5M2ZkNTYzZTA2ZmQ1MWNmNTY5NGM3OGZjXCJdLFtcIjMzNjU4MWVhN2JmYmJiMjkwYzE5MWEyZjUwN2E0MWNmNTY0Mzg0MjE3MGU5MTRmYWVhYjI3YzJjNTc5ZjcyNlwiLFwiZWFkMTIxNjg1OTVmZTFiZTk5MjUyMTI5YjZlNTZiMzM5MWY3YWIxNDEwY2QxZTBlZjNkY2RjYWJkMmZkYTIyNFwiXSxbXCI4YWI4OTgxNmRhZGZkNmI2YTFmMjYzNGZjZjAwZWM4NDAzNzgxMDI1ZWQ2ODkwYzQ4NDk3NDI3MDZiZDQzZWRlXCIsXCI2ZmRjZWYwOWYyZjZkMGEwNDRlNjU0YWVmNjI0MTM2ZjUwM2Q0NTljM2U4OTg0NTg1OGE0N2E5MTI5Y2RkMjRlXCJdLFtcIjFlMzNmMWE3NDZjOWM1Nzc4MTMzMzQ0ZDkyOTlmY2FhMjBiMDkzOGU4YWNmZjI1NDRiYjQwMjg0YjhjNWZiOTRcIixcIjYwNjYwMjU3ZGQxMWIzYWE5YzhlZDYxOGQyNGVkZmYyMzA2ZDMyMGYxZDAzMDEwZTMzYTdkMjA1N2YzYjNiNlwiXSxbXCI4NWI3YzFkY2IzY2VjMWI3ZWU3ZjMwZGVkNzlkZDIwYTBlZDFmNGNjMThjYmNmY2ZhNDEwMzYxZmQ4ZjA4ZjMxXCIsXCIzZDk4YTljZGQwMjZkZDQzZjM5MDQ4ZjI1YTg4NDdmNGZjYWZhZDE4OTVkN2E2MzNjNmZlZDNjMzVlOTk5NTExXCJdLFtcIjI5ZGY5ZmJkOGQ5ZTQ2NTA5Mjc1ZjRiMTI1ZDZkNDVkN2ZiZTlhM2I4NzhhN2FmODcyYTI4MDA2NjFhYzVmNTFcIixcImI0YzRmZTk5Yzc3NWE2MDZlMmQ4ODYyMTc5MTM5ZmZkYTYxZGM4NjFjMDE5ZTU1Y2QyODc2ZWIyYTI3ZDg0YlwiXSxbXCJhMGIxY2FlMDZiMGE4NDdhM2ZlYTZlNjcxYWFmOGFkZmRmZTU4Y2EyZjc2ODEwNWM4MDgyYjJlNDQ5ZmNlMjUyXCIsXCJhZTQzNDEwMmVkZGUwOTU4ZWM0YjE5ZDkxN2E2YTI4ZTZiNzJkYTE4MzRhZmYwZTY1MGYwNDk1MDNhMjk2Y2YyXCJdLFtcIjRlOGNlYWZiOWIzZTlhMTM2ZGM3ZmY2N2U4NDAyOTViNDk5ZGZiM2IyMTMzZTRiYTExM2YyZTRjMGUxMjFlNVwiLFwiY2YyMTc0MTE4YzhiNmQ3YTRiNDhmNmQ1MzRjZTVjNzk0MjJjMDg2YTYzNDYwNTAyYjgyN2NlNjJhMzI2NjgzY1wiXSxbXCJkMjRhNDRlMDQ3ZTE5YjZmNWFmYjgxYzdjYTJmNjkwODBhNTA3NjY4OWEwMTA5MTlmNDI3MjVjMmI3ODlhMzNiXCIsXCI2ZmI4ZDU1OTFiNDY2ZjhmYzYzZGI1MGYxYzBmMWM2OTAxM2Y5OTY4ODdiODI0NGQyY2RlYzQxN2FmZWE4ZmEzXCJdLFtcImVhMDE2MDZhN2E2YzljZGQyNDlmZGZjZmFjYjk5NTg0MDAxZWRkMjhhYmJhYjc3YjUxMDRlOThlOGUzYjM1ZDRcIixcIjMyMmFmNDkwOGM3MzEyYjBjZmJmZTM2OWY3YTdiM2NkYjdkNDQ5NGJjMjgyMzcwMGNmZDY1MjE4OGEzZWE5OGRcIl0sW1wiYWY4YWRkYmYyYjY2MWM4YTZjNjMyODY1NWViOTY2NTEyNTIwMDdkOGM1ZWEzMWJlNGFkMTk2ZGU4Y2UyMTMxZlwiLFwiNjc0OWU2N2MwMjliODVmNTJhMDM0ZWFmZDA5NjgzNmIyNTIwODE4NjgwZTI2YWM4ZjNkZmJjZGI3MTc0OTcwMFwiXSxbXCJlM2FlMTk3NDU2NmNhMDZjYzUxNmQ0N2UwZmIxNjVhNjc0YTNkYWJjZmNhMTVlNzIyZjBlMzQ1MGY0NTg4OVwiLFwiMmFlYWJlN2U0NTMxNTEwMTE2MjE3ZjA3YmY0ZDA3MzAwZGU5N2U0ODc0ZjgxZjUzMzQyMGE3MmVlYjBiZDZhNFwiXSxbXCI1OTFlZTM1NTMxM2Q5OTcyMWNmNjk5M2ZmZWQxZTNlMzAxOTkzZmYzZWQyNTg4MDIwNzVlYThjZWQzOTdlMjQ2XCIsXCJiMGVhNTU4YTExM2MzMGJlYTYwZmM0Nzc1NDYwYzc5MDFmZjBiMDUzZDI1Y2EyYmRlZWU5OGYxYTRiZTVkMTk2XCJdLFtcIjExMzk2ZDU1ZmRhNTRjNDlmMTlhYTk3MzE4ZDhkYTYxZmE4NTg0ZTQ3YjA4NDk0NTA3N2NmMDMyNTViNTI5ODRcIixcIjk5OGM3NGE4Y2Q0NWFjMDEyODlkNTgzM2E3YmViNDc0NGZmNTM2YjAxYjI1N2JlNGM1NzY3YmVhOTNlYTU3YTRcIl0sW1wiM2M1ZDJhMWJhMzljNWExNzkwMDAwNzM4YzllMGM0MGI4ZGNkZmQ1NDY4NzU0YjY0MDU1NDAxNTdlMDE3YWE3YVwiLFwiYjIyODQyNzk5OTVhMzRlMmY5ZDRkZTczOTZmYzE4YjgwZjliOGI5ZmRkMjcwZjY2NjFmNzljYTRjODFiZDI1N1wiXSxbXCJjYzg3MDRiOGE2MGEwZGVmYTNhOTlhNzI5OWYyZTljM2ZiYzM5NWFmYjA0YWMwNzg0MjVlZjhhMTc5M2NjMDMwXCIsXCJiZGQ0NjAzOWZlZWQxNzg4MWQxZTA4NjJkYjM0N2Y4Y2YzOTViNzRmYzRiY2RjNGU5NDBiNzRlM2FjMWYxYjEzXCJdLFtcImM1MzNlNGY3ZWE4NTU1YWFjZDk3NzdhYzVjYWQyOWI5N2RkNGRlZmNjYzUzZWU3ZWEyMDQxMTliMjg4OWIxOTdcIixcIjZmMGEyNTZiYzVlZmRmNDI5YTJmYjYyNDJmMWE0M2EyZDliOTI1YmI0YTRiM2EyNmJiOGUwZjQ1ZWI1OTYwOTZcIl0sW1wiYzE0ZjhmMmNjYjI3ZDZmMTA5ZjZkMDhkMDNjYzk2YTY5YmE4YzM0ZWVjMDdiYmNmNTY2ZDQ4ZTMzZGE2NTkzXCIsXCJjMzU5ZDY5MjNiYjM5OGY3ZmQ0NDczZTE2ZmUxYzI4NDc1Yjc0MGRkMDk4MDc1ZTZjMGU4NjQ5MTEzZGMzYTM4XCJdLFtcImE2Y2JjMzA0NmJjNmE0NTBiYWMyNDc4OWZhMTcxMTVhNGM5NzM5ZWQ3NWY4ZjIxY2U0NDFmNzJlMGI5MGU2ZWZcIixcIjIxYWU3ZjQ2ODBlODg5YmIxMzA2MTllMmMwZjk1YTM2MGNlYjU3M2M3MDYwMzEzOTg2MmFmZDYxN2ZhOWI5ZlwiXSxbXCIzNDdkNmQ5YTAyYzQ4OTI3ZWJmYjg2YzEzNTliMWNhZjEzMGEzYzAyNjdkMTFjZTYzNDRiMzlmOTlkNDNjYzM4XCIsXCI2MGVhN2Y2MWEzNTM1MjRkMWM5ODdmNmVjZWM5MmYwODZkNTY1YWI2ODc4NzBjYjEyNjg5ZmYxZTMxYzc0NDQ4XCJdLFtcImRhNjU0NWQyMTgxZGI4ZDk4M2Y3ZGNiMzc1ZWY1ODY2ZDQ3YzY3YjFiZjMxYzhjZjg1NWVmNzQzN2I3MjY1NmFcIixcIjQ5Yjk2NzE1YWI2ODc4YTc5ZTc4ZjA3Y2U1NjgwYzVkNjY3MzA1MWI0OTM1YmQ4OTdmZWE4MjRiNzdkYzIwOGFcIl0sW1wiYzQwNzQ3Y2M5ZDAxMmNiMWExM2I4MTQ4MzA5YzZkZTdlYzI1ZDY5NDVkNjU3MTQ2YjlkNTk5NGI4ZmViMTExMVwiLFwiNWNhNTYwNzUzYmUyYTEyZmM2ZGU2Y2FmMmNiNDg5NTY1ZGI5MzYxNTZiOTUxNGUxYmI1ZTgzMDM3ZTBmYTJkNFwiXSxbXCI0ZTQyYzhlYzgyYzk5Nzk4Y2NmM2E2MTBiZTg3MGU3ODMzOGM3ZjcxMzM0OGJkMzRjODIwM2VmNDAzN2YzNTAyXCIsXCI3NTcxZDc0ZWU1ZTBmYjkyYTdhOGIzM2EwNzc4MzM0MWE1NDkyMTQ0Y2M1NGJjYzQwYTk0NDczNjkzNjA2NDM3XCJdLFtcIjM3NzVhYjcwODliYzZhZjgyM2FiYTJlMWFmNzBiMjM2ZDI1MWNhZGIwYzg2NzQzMjg3NTIyYTFiM2IwZGVkZWFcIixcImJlNTJkMTA3YmNmYTA5ZDhiY2I5NzM2YTgyOGNmYTdmYWM4ZGIxN2JmN2E3NmEyYzQyYWQ5NjE0MDkwMThjZjdcIl0sW1wiY2VlMzFjYmY3ZTM0ZWMzNzlkOTRmYjgxNGQzZDc3NWFkOTU0NTk1ZDEzMTRiYTg4NDY5NTllM2U4MmY3NGUyNlwiLFwiOGZkNjRhMTRjMDZiNTg5YzI2Yjk0N2FlMmJjZjZiZmEwMTQ5ZWYwYmUxNGVkNGQ4MGY0NDhhMDFjNDNiMWM2ZFwiXSxbXCJiNGY5ZWFlYTA5YjY5MTc2MTlmNmVhNmE0ZWI1NDY0ZWZkZGI1OGZkNDViMWViZWZjZGMxYTAxZDA4YjQ3OTg2XCIsXCIzOWU1Yzk5MjViNWE1NGIwNzQzM2E0ZjE4YzYxNzI2ZjhiYjEzMWMwMTJjYTU0MmViMjRhOGFjMDcyMDA2ODJhXCJdLFtcImQ0MjYzZGZjM2QyZGY5MjNhMDE3OWE0ODk2NmQzMGNlODRlMjUxNWFmYzNkY2NjMWI3NzkwNzc5MmViY2M2MGVcIixcIjYyZGZhZjA3YTBmNzhmZWIzMGUzMGQ2Mjk1ODUzY2UxODllMTI3NzYwYWQ2Y2Y3ZmFlMTY0ZTEyMmEyMDhkNTRcIl0sW1wiNDg0NTc1MjQ4MjBmYTY1YTRmOGQzNWViNjkzMDg1N2MwMDMyYWNjMGE0YTJkZTQyMjIzM2VlZGE4OTc2MTJjNFwiLFwiMjVhNzQ4YWIzNjc5NzlkOTg3MzNjMzhhMWZhMWMyZTdkYzZjYzA3ZGIyZDYwYTlhZTdhNzZhYWE0OWJkMGY3N1wiXSxbXCJkZmVlZWYxODgxMTAxZjJjYjExNjQ0ZjNhMmFmZGZjMjA0NWUxOTkxOTE1MjkyM2YzNjdhMTc2N2MxMWNjZWRhXCIsXCJlY2ZiNzA1NmNmMWRlMDQyZjk0MjBiYWIzOTY3OTNjMGMzOTBiZGU3NGI0YmJkZmYxNmE4M2FlMDlhOWE3NTE3XCJdLFtcIjZkN2VmNmIxNzU0M2Y4MzczYzU3M2Y0NGUxZjM4OTgzNWQ4OWJjYmM2MDYyY2VkMzZjODJkZjgzYjhmYWU4NTlcIixcImNkNDUwZWMzMzU0Mzg5ODZkZmVmYTEwYzU3ZmVhOWJjYzUyMWEwOTU5YjJkODBiYmY3NGIxOTBkY2E3MTJkMTBcIl0sW1wiZTc1NjA1ZDU5MTAyYTVhMjY4NDUwMGQzYjk5MWYyZTNmM2M4OGI5MzIyNTU0NzAzNWFmMjVhZjY2ZTA0NTQxZlwiLFwiZjVjNTQ3NTRhOGY3MWVlNTQwYjliNDg3Mjg0NzNlMzE0ZjcyOWFjNTMwOGIwNjkzODM2MDk5MGUyYmZhZDEyNVwiXSxbXCJlYjk4NjYwZjRjNGRmYWEwNmEyYmU0NTNkNTAyMGJjOTlhMGMyZTYwYWJlMzg4NDU3ZGQ0M2ZlZmIxZWQ2MjBjXCIsXCI2Y2I5YTg4NzZkOWNiODUyMDYwOWFmM2FkZDI2Y2QyMGEwYTdjZDhhOTQxMTEzMWNlODVmNDQxMDAwOTkyMjNlXCJdLFtcIjEzZTg3YjAyN2Q4NTE0ZDM1OTM5ZjJlNjg5MmIxOTkyMjE1NDU5Njk0MTg4ODMzNmRjMzU2M2UzYjhkYmE5NDJcIixcImZlZjVhM2M2ODA1OWE2ZGVjNWQ2MjQxMTRiZjFlOTFhYWMyYjlkYTU2OGQ2YWJlYjI1NzBkNTU2NDZiOGFkZjFcIl0sW1wiZWUxNjMwMjZlOWZkNmZlMDE3YzM4ZjA2YTViZTZmYzEyNTQyNGIzNzFjZTI3MDhlN2JmNDQ5MTY5MWU1NzY0YVwiLFwiMWFjYjI1MGYyNTVkZDYxYzQzZDk0Y2NjNjcwZDBmNThmNDlhZTNmYTE1Yjk2NjIzZTU0MzBkYTBhZDZjNjJiMlwiXSxbXCJiMjY4ZjVlZjlhZDUxZTRkNzhkZTNhNzUwYzJkYzg5YjFlNjI2ZDQzNTA1ODY3OTk5OTMyZTVkYjMzYWYzZDgwXCIsXCI1ZjMxMGQ0YjNjOTliOWViYjE5Zjc3ZDQxYzFkZWUwMThjZjBkMzRmZDQxOTE2MTQwMDNlOTQ1YTEyMTZlNDIzXCJdLFtcImZmMDdmMzExOGE5ZGYwMzVlOWZhZDg1ZWI2YzdiZmU0MmIwMmYwMWNhOTljZWVhM2JmN2ZmZGJhOTNjNDc1MGRcIixcIjQzODEzNmQ2MDNlODU4YTNhNWM0NDBjMzhlY2NiYWRkYzFkMjk0MjExNGUyZWRkZDQ3NDBkMDk4Y2VkMWYwZDhcIl0sW1wiOGQ4Yjk4NTVjN2MwNTJhMzQxNDZmZDIwZmZiNjU4YmVhNGI5ZjY5ZTBkODI1ZWJlYzE2ZThjM2NlMmI1MjZhMVwiLFwiY2RiNTU5ZWVkYzJkNzlmOTI2YmFmNDRmYjg0ZWE0ZDQ0YmNmNTBmZWU1MWQ3Y2ViMzBlMmU3ZjQ2MzAzNjc1OFwiXSxbXCI1MmRiMGI1Mzg0ZGZiZjA1YmZhOWQ0NzJkN2FlMjZkZmU0Yjg1MWNlY2E5MWIxZWJhNTQyNjMxODBkYTMyYjYzXCIsXCJjM2I5OTdkMDUwZWU1ZDQyM2ViYWY2NmE2ZGI5ZjU3YjMxODBjOTAyODc1Njc5ZGU5MjRiNjlkODRhN2IzNzVcIl0sW1wiZTYyZjk0OTBkM2Q1MWRhNjM5NWVmZDI0ZTgwOTE5Y2M3ZDBmMjljM2YzZmE0OGM2ZmZmNTQzYmVjYmQ0MzM1MlwiLFwiNmQ4OWFkN2JhNDg3NmIwYjIyYzJjYTI4MGM2ODI4NjJmMzQyYzg1OTFmMWRhZjUxNzBlMDdiZmQ5Y2NhZmE3ZFwiXSxbXCI3ZjMwZWEyNDc2YjM5OWI0OTU3NTA5Yzg4Zjc3ZDAxOTFhZmEyZmY1Y2I3YjE0ZmQ2ZDhlN2Q2NWFhYWIxMTkzXCIsXCJjYTVlZjdkNGIyMzFjOTRjM2IxNTM4OWE1ZjYzMTFlOWRhZmY3YmI2N2IxMDNlOTg4MGVmNGJmZjYzN2FjYWVjXCJdLFtcIjUwOThmZjFlMWQ5ZjE0ZmI0NmEyMTBmYWRhNmM5MDNmZWYwZmI3YjRhMWRkMWQ5YWM2MGEwMzYxODAwYjdhMDBcIixcIjk3MzExNDFkODFmYzhmODA4NGQzN2M2ZTc1NDIwMDZiM2VlMWI0MGQ2MGRmZTUzNjJhNWIxMzJmZDE3ZGRjMFwiXSxbXCIzMmI3OGM3ZGU5ZWU1MTJhNzI4OTViZTZiOWNiZWZhNmUyZjNjNGNjY2U0NDVjOTZiOWYyYzgxZTI3NzhhZDU4XCIsXCJlZTE4NDlmNTEzZGY3MWUzMmVmYzM4OTZlZTI4MjYwYzczYmI4MDU0N2FlMjI3NWJhNDk3MjM3Nzk0Yzg3NTNjXCJdLFtcImUyY2I3NGZkZGM4ZTlmYmNkMDc2ZWVmMmE3YzcyYjBjZTM3ZDUwZjA4MjY5ZGZjMDc0YjU4MTU1MDU0N2E0ZjdcIixcImQzYWEyZWQ3MWM5ZGQyMjQ3YTYyZGYwNjI3MzZlYjBiYWRkZWE5ZTM2MTIyZDJiZTg2NDFhYmNiMDA1Y2M0YTRcIl0sW1wiODQzODQ0NzU2NmQ0ZDdiZWRhZGMyOTk0OTZhYjM1NzQyNjAwOWEzNWYyMzVjYjE0MWJlMGQ5OWNkMTBhZTNhOFwiLFwiYzRlMTAyMDkxNjk4MGE0ZGE1ZDAxYWM1ZTZhZDMzMDczNGVmMGQ3OTA2NjMxYzRmMjM5MDQyNmIyZWRkNzkxZlwiXSxbXCI0MTYyZDQ4OGI4OTQwMjAzOWI1ODRjNmZjNmMzMDg4NzA1ODdkOWM0NmY2NjBiODc4YWI2NWM4MmM3MTFkNjdlXCIsXCI2NzE2M2U5MDMyMzYyODlmNzc2ZjIyYzI1ZmI4YTNhZmMxNzMyZjJiODRiNGU5NWRiZGE0N2FlNWEwODUyNjQ5XCJdLFtcIjNmYWQzZmE4NGNhZjBmMzRmMGY4OWJmZDJkY2Y1NGZjMTc1ZDc2N2FlYzNlNTA2ODRmM2JhNGE0YmY1ZjY4M2RcIixcImNkMWJjN2NiNmNjNDA3YmIyZjBjYTY0N2M3MThhNzMwY2Y3MTg3MmU3ZDBkMmE1M2ZhMjBlZmNkZmU2MTgyNlwiXSxbXCI2NzRmMjYwMGEzMDA3YTAwNTY4YzFhN2NlMDVkMDgxNmMxZmI4NGJmMTM3MDc5OGYxYzY5NTMyZmFlYjFhODZiXCIsXCIyOTlkMjFmOTQxM2YzM2IzZWRmNDNiMjU3MDA0NTgwYjcwZGI1N2RhMGIxODIyNTllMDllZWNjNjllMGQzOGE1XCJdLFtcImQzMmY0ZGE1NGFkZTc0YWJiODFiODE1YWQxZmIzYjI2M2Q4MmQ2YzY5MjcxNGJjZmY4N2QyOWJkNWVlOWYwOGZcIixcImY5NDI5ZTczOGI4ZTUzYjk2OGU5OTAxNmMwNTk3MDc3ODJlMTRmNDUzNTM1OWQ1ODJmYzQxNjkxMGIzZWVhODdcIl0sW1wiMzBlNGU2NzA0MzUzODU1NTZlNTkzNjU3MTM1ODQ1ZDM2ZmJiNjkzMWY3MmIwOGNiMWVkOTU0ZjFlM2NlM2ZmNlwiLFwiNDYyZjliY2U2MTk4OTg2Mzg0OTkzNTAxMTNiYmM5YjEwYTg3OGQzNWRhNzA3NDBkYzY5NWE1NTllYjg4ZGI3YlwiXSxbXCJiZTIwNjIwMDNjNTFjYzMwMDQ2ODI5MDQzMzBlNGRlZTdmM2RjZDEwYjAxZTU4MGJmMTk3MWIwNGQ0Y2FkMjk3XCIsXCI2MjE4OGJjNDlkNjFlNTQyODU3M2Q0OGE3NGUxYzY1NWIxYzYxMDkwOTA1NjgyYTBkNTU1OGVkNzJkY2NiOWJjXCJdLFtcIjkzMTQ0NDIzYWNlMzQ1MWVkMjllMGZiOWFjMmFmMjExY2I2ZTg0YTYwMWRmNTk5M2M0MTk4NTlmZmY1ZGYwNGFcIixcIjdjMTBkZmIxNjRjMzQyNWY1YzcxYTNmOWQ3OTkyMDM4ZjEwNjUyMjRmNzJiYjlkMWQ5MDJhNmQxMzAzN2I0N2NcIl0sW1wiYjAxNWY4MDQ0ZjVmY2JkY2YyMWNhMjZkNmMzNGZiODE5NzgyOTIwNWM3YjdkMmE3Y2I2NjQxOGMxNTdiMTEyY1wiLFwiYWI4YzFlMDg2ZDA0ZTgxMzc0NGE2NTViMmRmOGQ1ZjgzYjNjZGM2ZmFhMzA4OGMxZDNhZWExNDU0ZTNhMWQ1ZlwiXSxbXCJkNWU5ZTFkYTY0OWQ5N2Q4OWU0ODY4MTE3YTQ2NWEzYTRmOGExOGRlNTdhMTQwZDM2YjNmMmFmMzQxYTIxYjUyXCIsXCI0Y2IwNDQzN2YzOTFlZDczMTExYTEzY2MxZDRkZDBkYjE2OTM0NjVjMjI0MDQ4MGQ4OTU1ZTg1OTJmMjc0NDdhXCJdLFtcImQzYWU0MTA0N2RkN2NhMDY1ZGJmOGVkNzdiOTkyNDM5OTgzMDA1Y2Q3MmUxNmQ2Zjk5NmE1MzE2ZDM2OTY2YmJcIixcImJkMWFlYjIxYWQyMmViYjIyYTEwZjAzMDM0MTdjNmQ5NjRmOGNkZDdkZjBhY2E2MTRiMTBkYzE0ZDEyNWFjNDZcIl0sW1wiNDYzZTI3NjNkODg1Zjk1OGZjNjZjZGQyMjgwMGYwYTQ4NzE5N2QwYTgyZTM3N2I0OWY4MGFmODdjODk3YjA2NVwiLFwiYmZlZmFjZGIwZTVkMGZkN2RmM2EzMTFhOTRkZTA2MmIyNmI4MGM2MWZiYzk3NTA4Yjc5OTkyNjcxZWY3Y2E3ZlwiXSxbXCI3OTg1ZmRmZDEyN2MwNTY3YzZmNTNlYzFiYjYzZWMzMTU4ZTU5N2M0MGJmZTc0N2M4M2NkZGZjOTEwNjQxOTE3XCIsXCI2MDNjMTJkYWYzZDk4NjJlZjJiMjVmZTFkZTI4OWFlZDI0ZWQyOTFlMGVjNjcwODcwM2E1YmQ1NjdmMzJlZDAzXCJdLFtcIjc0YTFhZDZiNWY3NmUzOWRiMmRkMjQ5NDEwZWFjN2Y5OWU3NGM1OWNiODNkMmQwZWQ1ZmYxNTQzZGE3NzAzZTlcIixcImNjNjE1N2VmMThjOWM2M2NkNjE5M2Q4MzYzMWJiZWEwMDkzZTA5Njg5NDJlOGMzM2Q1NzM3ZmQ3OTBlMGRiMDhcIl0sW1wiMzA2ODJhNTA3MDMzNzVmNjAyZDQxNjY2NGJhMTliN2ZjOWJhYjQyYzcyNzQ3NDYzYTcxZDA4OTZiMjJmNmRhM1wiLFwiNTUzZTA0ZjZiMDE4YjRmYTZjOGYzOWU3ZjMxMWQzMTc2MjkwZDBlMGYxOWNhNzNmMTc3MTRkOTk3N2EyMmZmOFwiXSxbXCI5ZTIxNThmMGQ3YzBkNWYyNmMzNzkxZWZlZmE3OTU5NzY1NGU3YTJiMjQ2NGY1MmIxZWU2YzEzNDc3NjllZjU3XCIsXCI3MTJmY2RkMWI5MDUzZjA5MDAzYTM0ODFmYTc3NjJlOWZmZDdjOGVmMzVhMzg1MDllMmZiZjI2MjkwMDgzNzNcIl0sW1wiMTc2ZTI2OTg5YTQzYzljZmViYTQwMjljMjAyNTM4YzI4MTcyZTU2NmUzYzRmY2U3MzIyODU3ZjNiZTMyN2Q2NlwiLFwiZWQ4Y2M5ZDA0YjI5ZWI4NzdkMjcwYjQ4NzhkYzQzYzE5YWVmZDMxZjRlZWUwOWVlN2I0NzgzNGMxZmE0YjFjM1wiXSxbXCI3NWQ0NmVmZWEzNzcxZTZlNjhhYmI4OWExM2FkNzQ3ZWNmMTg5MjM5M2RmYzRmMWI3MDA0Nzg4YzUwMzc0ZGE4XCIsXCI5ODUyMzkwYTk5NTA3Njc5ZmQwYjg2ZmQyYjM5YTg2OGQ3ZWZjMjIxNTEzNDZlMWEzY2E0NzI2NTg2YTZiZWQ4XCJdLFtcIjgwOWEyMGM2N2Q2NDkwMGZmYjY5OGM0YzgyNWY2ZDVmMjMxMGZiMDQ1MWM4NjkzNDViNzMxOWY2NDU2MDU3MjFcIixcIjllOTk0OTgwZDk5MTdlMjJiNzZiMDYxOTI3ZmEwNDE0M2QwOTZjY2M1NDk2M2U2YTVlYmZhNWYzZjhlMjg2YzFcIl0sW1wiMWIzODkwM2E0M2Y3ZjExNGVkNDUwMGI0ZWFjNzA4M2ZkZWZlY2UxY2YyOWM2MzUyOGQ1NjM0NDZmOTcyYzE4MFwiLFwiNDAzNmVkYzkzMWE2MGFlODg5MzUzZjc3ZmQ1M2RlNGEyNzA4YjI2YjZmNWRhNzJhZDMzOTQxMTlkYWY0MDhmOVwiXV19fX0sNDQwMTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9dDt2YXIgbj1yKDcxMSk7dmFyIGE9cigzNTIzKTt2YXIgcz1yKDY1NDUpO2kuYXNzZXJ0PWE7aS50b0FycmF5PXMudG9BcnJheTtpLnplcm8yPXMuemVybzI7aS50b0hleD1zLnRvSGV4O2kuZW5jb2RlPXMuZW5jb2RlO2Z1bmN0aW9uIGdldE5BRihlLHQscil7dmFyIGk9bmV3IEFycmF5KE1hdGgubWF4KGUuYml0TGVuZ3RoKCkscikrMSk7aS5maWxsKDApO3ZhciBuPTE8PHQrMTt2YXIgYT1lLmNsb25lKCk7Zm9yKHZhciBzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBvO3ZhciBoPWEuYW5kbG4obi0xKTtpZihhLmlzT2RkKCkpe2lmKGg+KG4+PjEpLTEpbz0obj4+MSktaDtlbHNlIG89aDthLmlzdWJuKG8pfWVsc2V7bz0wfWlbc109bzthLml1c2hybigxKX1yZXR1cm4gaX1pLmdldE5BRj1nZXROQUY7ZnVuY3Rpb24gZ2V0SlNGKGUsdCl7dmFyIHI9W1tdLFtdXTtlPWUuY2xvbmUoKTt0PXQuY2xvbmUoKTt2YXIgaT0wO3ZhciBuPTA7d2hpbGUoZS5jbXBuKC1pKT4wfHx0LmNtcG4oLW4pPjApe3ZhciBhPWUuYW5kbG4oMykraSYzO3ZhciBzPXQuYW5kbG4oMykrbiYzO2lmKGE9PT0zKWE9LTE7aWYocz09PTMpcz0tMTt2YXIgbztpZigoYSYxKT09PTApe289MH1lbHNle3ZhciBoPWUuYW5kbG4oNykraSY3O2lmKChoPT09M3x8aD09PTUpJiZzPT09MilvPS1hO2Vsc2Ugbz1hfXJbMF0ucHVzaChvKTt2YXIgdTtpZigocyYxKT09PTApe3U9MH1lbHNle3ZhciBoPXQuYW5kbG4oNykrbiY3O2lmKChoPT09M3x8aD09PTUpJiZhPT09Mil1PS1zO2Vsc2UgdT1zfXJbMV0ucHVzaCh1KTtpZigyKmk9PT1vKzEpaT0xLWk7aWYoMipuPT09dSsxKW49MS1uO2UuaXVzaHJuKDEpO3QuaXVzaHJuKDEpfXJldHVybiByfWkuZ2V0SlNGPWdldEpTRjtmdW5jdGlvbiBjYWNoZWRQcm9wZXJ0eShlLHQscil7dmFyIGk9XCJfXCIrdDtlLnByb3RvdHlwZVt0XT1mdW5jdGlvbiBjYWNoZWRQcm9wZXJ0eSgpe3JldHVybiB0aGlzW2ldIT09dW5kZWZpbmVkP3RoaXNbaV06dGhpc1tpXT1yLmNhbGwodGhpcyl9fWkuY2FjaGVkUHJvcGVydHk9Y2FjaGVkUHJvcGVydHk7ZnVuY3Rpb24gcGFyc2VCeXRlcyhlKXtyZXR1cm4gdHlwZW9mIGU9PT1cInN0cmluZ1wiP2kudG9BcnJheShlLFwiaGV4XCIpOmV9aS5wYXJzZUJ5dGVzPXBhcnNlQnl0ZXM7ZnVuY3Rpb24gaW50RnJvbUxFKGUpe3JldHVybiBuZXcgbihlLFwiaGV4XCIsXCJsZVwiKX1pLmludEZyb21MRT1pbnRGcm9tTEV9LDgzNjg6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNjkxMSkuQnVmZmVyO3ZhciBuPXIoMzUzMyk7ZnVuY3Rpb24gRVZQX0J5dGVzVG9LZXkoZSx0LHIsYSl7aWYoIWkuaXNCdWZmZXIoZSkpZT1pLmZyb20oZSxcImJpbmFyeVwiKTtpZih0KXtpZighaS5pc0J1ZmZlcih0KSl0PWkuZnJvbSh0LFwiYmluYXJ5XCIpO2lmKHQubGVuZ3RoIT09OCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInNhbHQgc2hvdWxkIGJlIEJ1ZmZlciB3aXRoIDggYnl0ZSBsZW5ndGhcIil9dmFyIHM9ci84O3ZhciBvPWkuYWxsb2Mocyk7dmFyIGg9aS5hbGxvYyhhfHwwKTt2YXIgdT1pLmFsbG9jKDApO3doaWxlKHM+MHx8YT4wKXt2YXIgZD1uZXcgbjtkLnVwZGF0ZSh1KTtkLnVwZGF0ZShlKTtpZih0KWQudXBkYXRlKHQpO3U9ZC5kaWdlc3QoKTt2YXIgYz0wO2lmKHM+MCl7dmFyIGw9by5sZW5ndGgtcztjPU1hdGgubWluKHMsdS5sZW5ndGgpO3UuY29weShvLGwsMCxjKTtzLT1jfWlmKGM8dS5sZW5ndGgmJmE+MCl7dmFyIHA9aC5sZW5ndGgtYTt2YXIgdj1NYXRoLm1pbihhLHUubGVuZ3RoLWMpO3UuY29weShoLHAsYyxjK3YpO2EtPXZ9fXUuZmlsbCgwKTtyZXR1cm57a2V5Om8saXY6aH19ZS5leHBvcnRzPUVWUF9CeXRlc1RvS2V5fSw5MDI5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDY5MTEpLkJ1ZmZlcjt2YXIgbj1yKDM3MjYpLlRyYW5zZm9ybTt2YXIgYT1yKDM3ODIpO2Z1bmN0aW9uIHRocm93SWZOb3RTdHJpbmdPckJ1ZmZlcihlLHQpe2lmKCFpLmlzQnVmZmVyKGUpJiZ0eXBlb2YgZSE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IodCtcIiBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyXCIpfX1mdW5jdGlvbiBIYXNoQmFzZShlKXtuLmNhbGwodGhpcyk7dGhpcy5fYmxvY2s9aS5hbGxvY1Vuc2FmZShlKTt0aGlzLl9ibG9ja1NpemU9ZTt0aGlzLl9ibG9ja09mZnNldD0wO3RoaXMuX2xlbmd0aD1bMCwwLDAsMF07dGhpcy5fZmluYWxpemVkPWZhbHNlfWEoSGFzaEJhc2Usbik7SGFzaEJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPW51bGw7dHJ5e3RoaXMudXBkYXRlKGUsdCl9Y2F0Y2goZSl7aT1lfXIoaSl9O0hhc2hCYXNlLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24oZSl7dmFyIHQ9bnVsbDt0cnl7dGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpfWNhdGNoKGUpe3Q9ZX1lKHQpfTtIYXNoQmFzZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUsdCl7dGhyb3dJZk5vdFN0cmluZ09yQnVmZmVyKGUsXCJEYXRhXCIpO2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoXCJEaWdlc3QgYWxyZWFkeSBjYWxsZWRcIik7aWYoIWkuaXNCdWZmZXIoZSkpZT1pLmZyb20oZSx0KTt2YXIgcj10aGlzLl9ibG9jazt2YXIgbj0wO3doaWxlKHRoaXMuX2Jsb2NrT2Zmc2V0K2UubGVuZ3RoLW4+PXRoaXMuX2Jsb2NrU2l6ZSl7Zm9yKHZhciBhPXRoaXMuX2Jsb2NrT2Zmc2V0O2E8dGhpcy5fYmxvY2tTaXplOylyW2ErK109ZVtuKytdO3RoaXMuX3VwZGF0ZSgpO3RoaXMuX2Jsb2NrT2Zmc2V0PTB9d2hpbGUobjxlLmxlbmd0aClyW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPWVbbisrXTtmb3IodmFyIHM9MCxvPWUubGVuZ3RoKjg7bz4wOysrcyl7dGhpcy5fbGVuZ3RoW3NdKz1vO289dGhpcy5fbGVuZ3RoW3NdLzQyOTQ5NjcyOTZ8MDtpZihvPjApdGhpcy5fbGVuZ3RoW3NdLT00Mjk0OTY3Mjk2Km99cmV0dXJuIHRoaXN9O0hhc2hCYXNlLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiX3VwZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWRcIil9O0hhc2hCYXNlLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oZSl7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcihcIkRpZ2VzdCBhbHJlYWR5IGNhbGxlZFwiKTt0aGlzLl9maW5hbGl6ZWQ9dHJ1ZTt2YXIgdD10aGlzLl9kaWdlc3QoKTtpZihlIT09dW5kZWZpbmVkKXQ9dC50b1N0cmluZyhlKTt0aGlzLl9ibG9jay5maWxsKDApO3RoaXMuX2Jsb2NrT2Zmc2V0PTA7Zm9yKHZhciByPTA7cjw0Oysrcil0aGlzLl9sZW5ndGhbcl09MDtyZXR1cm4gdH07SGFzaEJhc2UucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZFwiKX07ZS5leHBvcnRzPUhhc2hCYXNlfSw3MDI4OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10O2kudXRpbHM9cigyNjMpO2kuY29tbW9uPXIoMTMzMCk7aS5zaGE9cigzMDEpO2kucmlwZW1kPXIoMzA3OSk7aS5obWFjPXIoMzA5Mik7aS5zaGExPWkuc2hhLnNoYTE7aS5zaGEyNTY9aS5zaGEuc2hhMjU2O2kuc2hhMjI0PWkuc2hhLnNoYTIyNDtpLnNoYTM4ND1pLnNoYS5zaGEzODQ7aS5zaGE1MTI9aS5zaGEuc2hhNTEyO2kucmlwZW1kMTYwPWkucmlwZW1kLnJpcGVtZDE2MH0sMTMzMDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigyNjMpO3ZhciBuPXIoMzUyMyk7ZnVuY3Rpb24gQmxvY2tIYXNoKCl7dGhpcy5wZW5kaW5nPW51bGw7dGhpcy5wZW5kaW5nVG90YWw9MDt0aGlzLmJsb2NrU2l6ZT10aGlzLmNvbnN0cnVjdG9yLmJsb2NrU2l6ZTt0aGlzLm91dFNpemU9dGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplO3RoaXMuaG1hY1N0cmVuZ3RoPXRoaXMuY29uc3RydWN0b3IuaG1hY1N0cmVuZ3RoO3RoaXMucGFkTGVuZ3RoPXRoaXMuY29uc3RydWN0b3IucGFkTGVuZ3RoLzg7dGhpcy5lbmRpYW49XCJiaWdcIjt0aGlzLl9kZWx0YTg9dGhpcy5ibG9ja1NpemUvODt0aGlzLl9kZWx0YTMyPXRoaXMuYmxvY2tTaXplLzMyfXQuQmxvY2tIYXNoPUJsb2NrSGFzaDtCbG9ja0hhc2gucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbiB1cGRhdGUoZSx0KXtlPWkudG9BcnJheShlLHQpO2lmKCF0aGlzLnBlbmRpbmcpdGhpcy5wZW5kaW5nPWU7ZWxzZSB0aGlzLnBlbmRpbmc9dGhpcy5wZW5kaW5nLmNvbmNhdChlKTt0aGlzLnBlbmRpbmdUb3RhbCs9ZS5sZW5ndGg7aWYodGhpcy5wZW5kaW5nLmxlbmd0aD49dGhpcy5fZGVsdGE4KXtlPXRoaXMucGVuZGluZzt2YXIgcj1lLmxlbmd0aCV0aGlzLl9kZWx0YTg7dGhpcy5wZW5kaW5nPWUuc2xpY2UoZS5sZW5ndGgtcixlLmxlbmd0aCk7aWYodGhpcy5wZW5kaW5nLmxlbmd0aD09PTApdGhpcy5wZW5kaW5nPW51bGw7ZT1pLmpvaW4zMihlLDAsZS5sZW5ndGgtcix0aGlzLmVuZGlhbik7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKz10aGlzLl9kZWx0YTMyKXRoaXMuX3VwZGF0ZShlLG4sbit0aGlzLl9kZWx0YTMyKX1yZXR1cm4gdGhpc307QmxvY2tIYXNoLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGUpe3RoaXMudXBkYXRlKHRoaXMuX3BhZCgpKTtuKHRoaXMucGVuZGluZz09PW51bGwpO3JldHVybiB0aGlzLl9kaWdlc3QoZSl9O0Jsb2NrSGFzaC5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbiBwYWQoKXt2YXIgZT10aGlzLnBlbmRpbmdUb3RhbDt2YXIgdD10aGlzLl9kZWx0YTg7dmFyIHI9dC0oZSt0aGlzLnBhZExlbmd0aCkldDt2YXIgaT1uZXcgQXJyYXkocit0aGlzLnBhZExlbmd0aCk7aVswXT0xMjg7Zm9yKHZhciBuPTE7bjxyO24rKylpW25dPTA7ZTw8PTM7aWYodGhpcy5lbmRpYW49PT1cImJpZ1wiKXtmb3IodmFyIGE9ODthPHRoaXMucGFkTGVuZ3RoO2ErKylpW24rK109MDtpW24rK109MDtpW24rK109MDtpW24rK109MDtpW24rK109MDtpW24rK109ZT4+PjI0JjI1NTtpW24rK109ZT4+PjE2JjI1NTtpW24rK109ZT4+PjgmMjU1O2lbbisrXT1lJjI1NX1lbHNle2lbbisrXT1lJjI1NTtpW24rK109ZT4+PjgmMjU1O2lbbisrXT1lPj4+MTYmMjU1O2lbbisrXT1lPj4+MjQmMjU1O2lbbisrXT0wO2lbbisrXT0wO2lbbisrXT0wO2lbbisrXT0wO2ZvcihhPTg7YTx0aGlzLnBhZExlbmd0aDthKyspaVtuKytdPTB9cmV0dXJuIGl9fSwzMDkyOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDI2Myk7dmFyIG49cigzNTIzKTtmdW5jdGlvbiBIbWFjKGUsdCxyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBIbWFjKSlyZXR1cm4gbmV3IEhtYWMoZSx0LHIpO3RoaXMuSGFzaD1lO3RoaXMuYmxvY2tTaXplPWUuYmxvY2tTaXplLzg7dGhpcy5vdXRTaXplPWUub3V0U2l6ZS84O3RoaXMuaW5uZXI9bnVsbDt0aGlzLm91dGVyPW51bGw7dGhpcy5faW5pdChpLnRvQXJyYXkodCxyKSl9ZS5leHBvcnRzPUhtYWM7SG1hYy5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24gaW5pdChlKXtpZihlLmxlbmd0aD50aGlzLmJsb2NrU2l6ZSllPShuZXcgdGhpcy5IYXNoKS51cGRhdGUoZSkuZGlnZXN0KCk7bihlLmxlbmd0aDw9dGhpcy5ibG9ja1NpemUpO2Zvcih2YXIgdD1lLmxlbmd0aDt0PHRoaXMuYmxvY2tTaXplO3QrKyllLnB1c2goMCk7Zm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdXj01NDt0aGlzLmlubmVyPShuZXcgdGhpcy5IYXNoKS51cGRhdGUoZSk7Zm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdXj0xMDY7dGhpcy5vdXRlcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKGUpfTtIbWFjLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24gdXBkYXRlKGUsdCl7dGhpcy5pbm5lci51cGRhdGUoZSx0KTtyZXR1cm4gdGhpc307SG1hYy5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uIGRpZ2VzdChlKXt0aGlzLm91dGVyLnVwZGF0ZSh0aGlzLmlubmVyLmRpZ2VzdCgpKTtyZXR1cm4gdGhpcy5vdXRlci5kaWdlc3QoZSl9fSwzMDc5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDI2Myk7dmFyIG49cigxMzMwKTt2YXIgYT1pLnJvdGwzMjt2YXIgcz1pLnN1bTMyO3ZhciBvPWkuc3VtMzJfMzt2YXIgaD1pLnN1bTMyXzQ7dmFyIHU9bi5CbG9ja0hhc2g7ZnVuY3Rpb24gUklQRU1EMTYwKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgUklQRU1EMTYwKSlyZXR1cm4gbmV3IFJJUEVNRDE2MDt1LmNhbGwodGhpcyk7dGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF07dGhpcy5lbmRpYW49XCJsaXR0bGVcIn1pLmluaGVyaXRzKFJJUEVNRDE2MCx1KTt0LnJpcGVtZDE2MD1SSVBFTUQxNjA7UklQRU1EMTYwLmJsb2NrU2l6ZT01MTI7UklQRU1EMTYwLm91dFNpemU9MTYwO1JJUEVNRDE2MC5obWFjU3RyZW5ndGg9MTkyO1JJUEVNRDE2MC5wYWRMZW5ndGg9NjQ7UklQRU1EMTYwLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uIHVwZGF0ZShlLHQpe3ZhciByPXRoaXMuaFswXTt2YXIgaT10aGlzLmhbMV07dmFyIG49dGhpcy5oWzJdO3ZhciB1PXRoaXMuaFszXTt2YXIgdj10aGlzLmhbNF07dmFyIGI9cjt2YXIgbT1pO3ZhciB5PW47dmFyIGc9dTt2YXIgXz12O2Zvcih2YXIgdz0wO3c8ODA7dysrKXt2YXIgTT1zKGEoaChyLGYodyxpLG4sdSksZVtkW3ddK3RdLEsodykpLGxbd10pLHYpO3I9djt2PXU7dT1hKG4sMTApO249aTtpPU07TT1zKGEoaChiLGYoNzktdyxtLHksZyksZVtjW3ddK3RdLEtoKHcpKSxwW3ddKSxfKTtiPV87Xz1nO2c9YSh5LDEwKTt5PW07bT1NfU09byh0aGlzLmhbMV0sbixnKTt0aGlzLmhbMV09byh0aGlzLmhbMl0sdSxfKTt0aGlzLmhbMl09byh0aGlzLmhbM10sdixiKTt0aGlzLmhbM109byh0aGlzLmhbNF0scixtKTt0aGlzLmhbNF09byh0aGlzLmhbMF0saSx5KTt0aGlzLmhbMF09TX07UklQRU1EMTYwLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uIGRpZ2VzdChlKXtpZihlPT09XCJoZXhcIilyZXR1cm4gaS50b0hleDMyKHRoaXMuaCxcImxpdHRsZVwiKTtlbHNlIHJldHVybiBpLnNwbGl0MzIodGhpcy5oLFwibGl0dGxlXCIpfTtmdW5jdGlvbiBmKGUsdCxyLGkpe2lmKGU8PTE1KXJldHVybiB0XnJeaTtlbHNlIGlmKGU8PTMxKXJldHVybiB0JnJ8fnQmaTtlbHNlIGlmKGU8PTQ3KXJldHVybih0fH5yKV5pO2Vsc2UgaWYoZTw9NjMpcmV0dXJuIHQmaXxyJn5pO2Vsc2UgcmV0dXJuIHReKHJ8fmkpfWZ1bmN0aW9uIEsoZSl7aWYoZTw9MTUpcmV0dXJuIDA7ZWxzZSBpZihlPD0zMSlyZXR1cm4gMTUxODUwMDI0OTtlbHNlIGlmKGU8PTQ3KXJldHVybiAxODU5Nzc1MzkzO2Vsc2UgaWYoZTw9NjMpcmV0dXJuIDI0MDA5NTk3MDg7ZWxzZSByZXR1cm4gMjg0MDg1MzgzOH1mdW5jdGlvbiBLaChlKXtpZihlPD0xNSlyZXR1cm4gMTM1MjgyOTkyNjtlbHNlIGlmKGU8PTMxKXJldHVybiAxNTQ4NjAzNjg0O2Vsc2UgaWYoZTw9NDcpcmV0dXJuIDE4MzYwNzI2OTE7ZWxzZSBpZihlPD02MylyZXR1cm4gMjA1Mzk5NDIxNztlbHNlIHJldHVybiAwfXZhciBkPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDcsNCwxMywxLDEwLDYsMTUsMywxMiwwLDksNSwyLDE0LDExLDgsMywxMCwxNCw0LDksMTUsOCwxLDIsNywwLDYsMTMsMTEsNSwxMiwxLDksMTEsMTAsMCw4LDEyLDQsMTMsMyw3LDE1LDE0LDUsNiwyLDQsMCw1LDksNywxMiwyLDEwLDE0LDEsMyw4LDExLDYsMTUsMTNdO3ZhciBjPVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdO3ZhciBsPVsxMSwxNCwxNSwxMiw1LDgsNyw5LDExLDEzLDE0LDE1LDYsNyw5LDgsNyw2LDgsMTMsMTEsOSw3LDE1LDcsMTIsMTUsOSwxMSw3LDEzLDEyLDExLDEzLDYsNywxNCw5LDEzLDE1LDE0LDgsMTMsNiw1LDEyLDcsNSwxMSwxMiwxNCwxNSwxNCwxNSw5LDgsOSwxNCw1LDYsOCw2LDUsMTIsOSwxNSw1LDExLDYsOCwxMywxMiw1LDEyLDEzLDE0LDExLDgsNSw2XTt2YXIgcD1bOCw5LDksMTEsMTMsMTUsMTUsNSw3LDcsOCwxMSwxNCwxNCwxMiw2LDksMTMsMTUsNywxMiw4LDksMTEsNyw3LDEyLDcsNiwxNSwxMywxMSw5LDcsMTUsMTEsOCw2LDYsMTQsMTIsMTMsNSwxNCwxMywxMyw3LDUsMTUsNSw4LDExLDE0LDE0LDYsMTQsNiw5LDEyLDksMTIsNSwxNSw4LDgsNSwxMiw5LDEyLDUsMTQsNiw4LDEzLDYsNSwxNSwxMywxMSwxMV19LDMwMTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dC5zaGExPXIoMjc0Mik7dC5zaGEyMjQ9cig3MTA1KTt0LnNoYTI1Nj1yKDE1MjUpO3Quc2hhMzg0PXIoOTk0OCk7dC5zaGE1MTI9cigxMzE5KX0sMjc0MjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigyNjMpO3ZhciBuPXIoMTMzMCk7dmFyIGE9cigyOTc1KTt2YXIgcz1pLnJvdGwzMjt2YXIgbz1pLnN1bTMyO3ZhciBoPWkuc3VtMzJfNTt2YXIgdT1hLmZ0XzE7dmFyIGQ9bi5CbG9ja0hhc2g7dmFyIGM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDMzOTU0Njk3ODJdO2Z1bmN0aW9uIFNIQTEoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTSEExKSlyZXR1cm4gbmV3IFNIQTE7ZC5jYWxsKHRoaXMpO3RoaXMuaD1bMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdO3RoaXMuVz1uZXcgQXJyYXkoODApfWkuaW5oZXJpdHMoU0hBMSxkKTtlLmV4cG9ydHM9U0hBMTtTSEExLmJsb2NrU2l6ZT01MTI7U0hBMS5vdXRTaXplPTE2MDtTSEExLmhtYWNTdHJlbmd0aD04MDtTSEExLnBhZExlbmd0aD02NDtTSEExLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uIF91cGRhdGUoZSx0KXt2YXIgcj10aGlzLlc7Zm9yKHZhciBpPTA7aTwxNjtpKyspcltpXT1lW3QraV07Zm9yKDtpPHIubGVuZ3RoO2krKylyW2ldPXMocltpLTNdXnJbaS04XV5yW2ktMTRdXnJbaS0xNl0sMSk7dmFyIG49dGhpcy5oWzBdO3ZhciBhPXRoaXMuaFsxXTt2YXIgZD10aGlzLmhbMl07dmFyIGw9dGhpcy5oWzNdO3ZhciBwPXRoaXMuaFs0XTtmb3IoaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgdj1+fihpLzIwKTt2YXIgYj1oKHMobiw1KSx1KHYsYSxkLGwpLHAscltpXSxjW3ZdKTtwPWw7bD1kO2Q9cyhhLDMwKTthPW47bj1ifXRoaXMuaFswXT1vKHRoaXMuaFswXSxuKTt0aGlzLmhbMV09byh0aGlzLmhbMV0sYSk7dGhpcy5oWzJdPW8odGhpcy5oWzJdLGQpO3RoaXMuaFszXT1vKHRoaXMuaFszXSxsKTt0aGlzLmhbNF09byh0aGlzLmhbNF0scCl9O1NIQTEucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGUpe2lmKGU9PT1cImhleFwiKXJldHVybiBpLnRvSGV4MzIodGhpcy5oLFwiYmlnXCIpO2Vsc2UgcmV0dXJuIGkuc3BsaXQzMih0aGlzLmgsXCJiaWdcIil9fSw3MTA1OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDI2Myk7dmFyIG49cigxNTI1KTtmdW5jdGlvbiBTSEEyMjQoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTSEEyMjQpKXJldHVybiBuZXcgU0hBMjI0O24uY2FsbCh0aGlzKTt0aGlzLmg9WzMyMzgzNzEwMzIsOTE0MTUwNjYzLDgxMjcwMjk5OSw0MTQ0OTEyNjk3LDQyOTA3NzU4NTcsMTc1MDYwMzAyNSwxNjk0MDc2ODM5LDMyMDQwNzU0MjhdfWkuaW5oZXJpdHMoU0hBMjI0LG4pO2UuZXhwb3J0cz1TSEEyMjQ7U0hBMjI0LmJsb2NrU2l6ZT01MTI7U0hBMjI0Lm91dFNpemU9MjI0O1NIQTIyNC5obWFjU3RyZW5ndGg9MTkyO1NIQTIyNC5wYWRMZW5ndGg9NjQ7U0hBMjI0LnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uIGRpZ2VzdChlKXtpZihlPT09XCJoZXhcIilyZXR1cm4gaS50b0hleDMyKHRoaXMuaC5zbGljZSgwLDcpLFwiYmlnXCIpO2Vsc2UgcmV0dXJuIGkuc3BsaXQzMih0aGlzLmguc2xpY2UoMCw3KSxcImJpZ1wiKX19LDE1MjU6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoMjYzKTt2YXIgbj1yKDEzMzApO3ZhciBhPXIoMjk3NSk7dmFyIHM9cigzNTIzKTt2YXIgbz1pLnN1bTMyO3ZhciBoPWkuc3VtMzJfNDt2YXIgdT1pLnN1bTMyXzU7dmFyIGQ9YS5jaDMyO3ZhciBjPWEubWFqMzI7dmFyIGw9YS5zMF8yNTY7dmFyIHA9YS5zMV8yNTY7dmFyIHY9YS5nMF8yNTY7dmFyIGI9YS5nMV8yNTY7dmFyIG09bi5CbG9ja0hhc2g7dmFyIHk9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF07ZnVuY3Rpb24gU0hBMjU2KCl7aWYoISh0aGlzIGluc3RhbmNlb2YgU0hBMjU2KSlyZXR1cm4gbmV3IFNIQTI1NjttLmNhbGwodGhpcyk7dGhpcy5oPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dGhpcy5rPXk7dGhpcy5XPW5ldyBBcnJheSg2NCl9aS5pbmhlcml0cyhTSEEyNTYsbSk7ZS5leHBvcnRzPVNIQTI1NjtTSEEyNTYuYmxvY2tTaXplPTUxMjtTSEEyNTYub3V0U2l6ZT0yNTY7U0hBMjU2LmhtYWNTdHJlbmd0aD0xOTI7U0hBMjU2LnBhZExlbmd0aD02NDtTSEEyNTYucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24gX3VwZGF0ZShlLHQpe3ZhciByPXRoaXMuVztmb3IodmFyIGk9MDtpPDE2O2krKylyW2ldPWVbdCtpXTtmb3IoO2k8ci5sZW5ndGg7aSsrKXJbaV09aChiKHJbaS0yXSkscltpLTddLHYocltpLTE1XSkscltpLTE2XSk7dmFyIG49dGhpcy5oWzBdO3ZhciBhPXRoaXMuaFsxXTt2YXIgbT10aGlzLmhbMl07dmFyIHk9dGhpcy5oWzNdO3ZhciBnPXRoaXMuaFs0XTt2YXIgXz10aGlzLmhbNV07dmFyIHc9dGhpcy5oWzZdO3ZhciBNPXRoaXMuaFs3XTtzKHRoaXMuay5sZW5ndGg9PT1yLmxlbmd0aCk7Zm9yKGk9MDtpPHIubGVuZ3RoO2krKyl7dmFyIEI9dShNLHAoZyksZChnLF8sdyksdGhpcy5rW2ldLHJbaV0pO3ZhciBFPW8obChuKSxjKG4sYSxtKSk7TT13O3c9XztfPWc7Zz1vKHksQik7eT1tO209YTthPW47bj1vKEIsRSl9dGhpcy5oWzBdPW8odGhpcy5oWzBdLG4pO3RoaXMuaFsxXT1vKHRoaXMuaFsxXSxhKTt0aGlzLmhbMl09byh0aGlzLmhbMl0sbSk7dGhpcy5oWzNdPW8odGhpcy5oWzNdLHkpO3RoaXMuaFs0XT1vKHRoaXMuaFs0XSxnKTt0aGlzLmhbNV09byh0aGlzLmhbNV0sXyk7dGhpcy5oWzZdPW8odGhpcy5oWzZdLHcpO3RoaXMuaFs3XT1vKHRoaXMuaFs3XSxNKX07U0hBMjU2LnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uIGRpZ2VzdChlKXtpZihlPT09XCJoZXhcIilyZXR1cm4gaS50b0hleDMyKHRoaXMuaCxcImJpZ1wiKTtlbHNlIHJldHVybiBpLnNwbGl0MzIodGhpcy5oLFwiYmlnXCIpfX0sOTk0ODpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigyNjMpO3ZhciBuPXIoMTMxOSk7ZnVuY3Rpb24gU0hBMzg0KCl7aWYoISh0aGlzIGluc3RhbmNlb2YgU0hBMzg0KSlyZXR1cm4gbmV3IFNIQTM4NDtuLmNhbGwodGhpcyk7dGhpcy5oPVszNDE4MDcwMzY1LDMyMzgzNzEwMzIsMTY1NDI3MDI1MCw5MTQxNTA2NjMsMjQzODUyOTM3MCw4MTI3MDI5OTksMzU1NDYyMzYwLDQxNDQ5MTI2OTcsMTczMTQwNTQxNSw0MjkwNzc1ODU3LDIzOTQxODAyMzEsMTc1MDYwMzAyNSwzNjc1MDA4NTI1LDE2OTQwNzY4MzksMTIwMzA2MjgxMywzMjA0MDc1NDI4XX1pLmluaGVyaXRzKFNIQTM4NCxuKTtlLmV4cG9ydHM9U0hBMzg0O1NIQTM4NC5ibG9ja1NpemU9MTAyNDtTSEEzODQub3V0U2l6ZT0zODQ7U0hBMzg0LmhtYWNTdHJlbmd0aD0xOTI7U0hBMzg0LnBhZExlbmd0aD0xMjg7U0hBMzg0LnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uIGRpZ2VzdChlKXtpZihlPT09XCJoZXhcIilyZXR1cm4gaS50b0hleDMyKHRoaXMuaC5zbGljZSgwLDEyKSxcImJpZ1wiKTtlbHNlIHJldHVybiBpLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsMTIpLFwiYmlnXCIpfX0sMTMxOTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigyNjMpO3ZhciBuPXIoMTMzMCk7dmFyIGE9cigzNTIzKTt2YXIgcz1pLnJvdHI2NF9oaTt2YXIgbz1pLnJvdHI2NF9sbzt2YXIgaD1pLnNocjY0X2hpO3ZhciB1PWkuc2hyNjRfbG87dmFyIGQ9aS5zdW02NDt2YXIgYz1pLnN1bTY0X2hpO3ZhciBsPWkuc3VtNjRfbG87dmFyIHA9aS5zdW02NF80X2hpO3ZhciB2PWkuc3VtNjRfNF9sbzt2YXIgYj1pLnN1bTY0XzVfaGk7dmFyIG09aS5zdW02NF81X2xvO3ZhciB5PW4uQmxvY2tIYXNoO3ZhciBnPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDYwOTU2MCwzNjI0MzgxMDgwLDI3MzQ4ODMzOTQsMzEwNTk4NDAxLDExNjQ5OTY1NDIsNjA3MjI1Mjc4LDEzMjM2MTA3NjQsMTQyNjg4MTk4NywzNTkwMzA0OTk0LDE5MjUwNzgzODgsNDA2ODE4MjM4MywyMTYyMDc4MjA2LDk5MTMzNjExMywyNjE0ODg4MTAzLDYzMzgwMzMxNywzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgsMzgzNTM5MDQwMSwyNjY2NjEzNDU4LDQwMjIyMjQ3NzQsOTQ0NzExMTM5LDI2NDM0NzA3OCwyMzQxMjYyNzczLDYwNDgwNzYyOCwyMDA3ODAwOTMzLDc3MDI1NTk4MywxNDk1OTkwOTAxLDEyNDkxNTAxMjIsMTg1NjQzMTIzNSwxNTU1MDgxNjkyLDMxNzUyMTgxMzIsMTk5NjA2NDk4NiwyMTk4OTUwODM3LDI1NTQyMjA4ODIsMzk5OTcxOTMzOSwyODIxODM0MzQ5LDc2Njc4NDAxNiwyOTUyOTk2ODA4LDI1NjY1OTQ4NzksMzIxMDMxMzY3MSwzMjAzMzM3OTU2LDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiwzNTg0NTI4NzExLDI0NjY5NDg5MDEsMTEzOTI2OTkzLDM3NTgzMjYzODMsMzM4MjQxODk1LDE2ODcxNzkzNiw2NjYzMDcyMDUsMTE4ODE3OTk2NCw3NzM1Mjk5MTIsMTU0NjA0NTczNCwxMjk0NzU3MzcyLDE1MjI4MDU0ODUsMTM5NjE4MjI5MSwyNjQzODMzODIzLDE2OTUxODM3MDAsMjM0MzUyNzM5MCwxOTg2NjYxMDUxLDEwMTQ0Nzc0ODAsMjE3NzAyNjM1MCwxMjA2NzU5MTQyLDI0NTY5NTYwMzcsMzQ0MDc3NjI3LDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCwyODIwMzAyNDExLDMxNTg0NTQyNzMsMzI1OTczMDgwMCwzNTA1OTUyNjU3LDMzNDU3NjQ3NzEsMTA2MjE3MDA4LDM1MTYwNjU4MTcsMzYwNjAwODM0NCwzNjAwMzUyODA0LDE0MzI3MjU3NzYsNDA5NDU3MTkwOSwxNDY3MDMxNTk0LDI3NTQyMzM0NCw4NTExNjk3MjAsNDMwMjI3NzM0LDMxMDA4MjM3NTIsNTA2OTQ4NjE2LDEzNjMyNTgxOTUsNjU5MDYwNTU2LDM3NTA2ODU1OTMsODgzOTk3ODc3LDM3ODUwNTAyODAsOTU4MTM5NTcxLDMzMTgzMDc0MjcsMTMyMjgyMjIxOCwzODEyNzIzNDAzLDE1MzcwMDIwNjMsMjAwMzAzNDk5NSwxNzQ3ODczNzc5LDM2MDIwMzY4OTksMTk1NTU2MjIyMiwxNTc1OTkwMDEyLDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCwyMjI3NzMwNDUyLDI3MTY5MDQzMDYsMjM2MTg1MjQyNCw0NDI3NzYwNDQsMjQyODQzNjQ3NCw1OTM2OTgzNDQsMjc1NjczNDE4NywzNzMzMTEwMjQ5LDMyMDQwMzE0NzksMjk5OTM1MTU3MywzMzI5MzI1Mjk4LDM4MTU5MjA0MjcsMzM5MTU2OTYxNCwzOTI4MzgzOTAwLDM1MTUyNjcyNzEsNTY2MjgwNzExLDM5NDAxODc2MDYsMzQ1NDA2OTUzNCw0MTE4NjMwMjcxLDQwMDAyMzk5OTIsMTE2NDE4NDc0LDE5MTQxMzg1NTQsMTc0MjkyNDIxLDI3MzEwNTUyNzAsMjg5MzgwMzU2LDMyMDM5OTMwMDYsNDYwMzkzMjY5LDMyMDYyMDMxNSw2ODU0NzE3MzMsNTg3NDk2ODM2LDg1MjE0Mjk3MSwxMDg2NzkyODUxLDEwMTcwMzYyOTgsMzY1NTQzMTAwLDExMjYwMDA1ODAsMjYxODI5NzY3NiwxMjg4MDMzNDcwLDM0MDk4NTUxNTgsMTUwMTUwNTk0OCw0MjM0NTA5ODY2LDE2MDcxNjc5MTUsOTg3MTY3NDY4LDE4MTY0MDIzMTYsMTI0NjE4OTU5MV07ZnVuY3Rpb24gU0hBNTEyKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgU0hBNTEyKSlyZXR1cm4gbmV3IFNIQTUxMjt5LmNhbGwodGhpcyk7dGhpcy5oPVsxNzc5MDMzNzAzLDQwODkyMzU3MjAsMzE0NDEzNDI3NywyMjI3ODczNTk1LDEwMTM5MDQyNDIsNDI3MTE3NTcyMywyNzczNDgwNzYyLDE1OTU3NTAxMjksMTM1OTg5MzExOSwyOTE3NTY1MTM3LDI2MDA4MjI5MjQsNzI1NTExMTk5LDUyODczNDYzNSw0MjE1Mzg5NTQ3LDE1NDE0NTkyMjUsMzI3MDMzMjA5XTt0aGlzLms9Zzt0aGlzLlc9bmV3IEFycmF5KDE2MCl9aS5pbmhlcml0cyhTSEE1MTIseSk7ZS5leHBvcnRzPVNIQTUxMjtTSEE1MTIuYmxvY2tTaXplPTEwMjQ7U0hBNTEyLm91dFNpemU9NTEyO1NIQTUxMi5obWFjU3RyZW5ndGg9MTkyO1NIQTUxMi5wYWRMZW5ndGg9MTI4O1NIQTUxMi5wcm90b3R5cGUuX3ByZXBhcmVCbG9jaz1mdW5jdGlvbiBfcHJlcGFyZUJsb2NrKGUsdCl7dmFyIHI9dGhpcy5XO2Zvcih2YXIgaT0wO2k8MzI7aSsrKXJbaV09ZVt0K2ldO2Zvcig7aTxyLmxlbmd0aDtpKz0yKXt2YXIgbj1nMV81MTJfaGkocltpLTRdLHJbaS0zXSk7dmFyIGE9ZzFfNTEyX2xvKHJbaS00XSxyW2ktM10pO3ZhciBzPXJbaS0xNF07dmFyIG89cltpLTEzXTt2YXIgaD1nMF81MTJfaGkocltpLTMwXSxyW2ktMjldKTt2YXIgdT1nMF81MTJfbG8ocltpLTMwXSxyW2ktMjldKTt2YXIgZD1yW2ktMzJdO3ZhciBjPXJbaS0zMV07cltpXT1wKG4sYSxzLG8saCx1LGQsYyk7cltpKzFdPXYobixhLHMsbyxoLHUsZCxjKX19O1NIQTUxMi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbiBfdXBkYXRlKGUsdCl7dGhpcy5fcHJlcGFyZUJsb2NrKGUsdCk7dmFyIHI9dGhpcy5XO3ZhciBpPXRoaXMuaFswXTt2YXIgbj10aGlzLmhbMV07dmFyIHM9dGhpcy5oWzJdO3ZhciBvPXRoaXMuaFszXTt2YXIgaD10aGlzLmhbNF07dmFyIHU9dGhpcy5oWzVdO3ZhciBwPXRoaXMuaFs2XTt2YXIgdj10aGlzLmhbN107dmFyIHk9dGhpcy5oWzhdO3ZhciBnPXRoaXMuaFs5XTt2YXIgXz10aGlzLmhbMTBdO3ZhciB3PXRoaXMuaFsxMV07dmFyIE09dGhpcy5oWzEyXTt2YXIgQj10aGlzLmhbMTNdO3ZhciBFPXRoaXMuaFsxNF07dmFyIGs9dGhpcy5oWzE1XTthKHRoaXMuay5sZW5ndGg9PT1yLmxlbmd0aCk7Zm9yKHZhciBBPTA7QTxyLmxlbmd0aDtBKz0yKXt2YXIgTj1FO3ZhciBQPWs7dmFyIHg9czFfNTEyX2hpKHksZyk7dmFyIEk9czFfNTEyX2xvKHksZyk7dmFyIEM9Y2g2NF9oaSh5LGcsXyx3LE0sQik7dmFyIEQ9Y2g2NF9sbyh5LGcsXyx3LE0sQik7dmFyIFQ9dGhpcy5rW0FdO3ZhciBqPXRoaXMua1tBKzFdO3ZhciBxPXJbQV07dmFyIE89cltBKzFdO3ZhciBIPWIoTixQLHgsSSxDLEQsVCxqLHEsTyk7dmFyIEw9bShOLFAseCxJLEMsRCxULGoscSxPKTtOPXMwXzUxMl9oaShpLG4pO1A9czBfNTEyX2xvKGksbik7eD1tYWo2NF9oaShpLG4scyxvLGgsdSk7ST1tYWo2NF9sbyhpLG4scyxvLGgsdSk7dmFyIHo9YyhOLFAseCxJKTt2YXIgRj1sKE4sUCx4LEkpO0U9TTtrPUI7TT1fO0I9dztfPXk7dz1nO3k9YyhwLHYsSCxMKTtnPWwodix2LEgsTCk7cD1oO3Y9dTtoPXM7dT1vO3M9aTtvPW47aT1jKEgsTCx6LEYpO249bChILEwseixGKX1kKHRoaXMuaCwwLGksbik7ZCh0aGlzLmgsMixzLG8pO2QodGhpcy5oLDQsaCx1KTtkKHRoaXMuaCw2LHAsdik7ZCh0aGlzLmgsOCx5LGcpO2QodGhpcy5oLDEwLF8sdyk7ZCh0aGlzLmgsMTIsTSxCKTtkKHRoaXMuaCwxNCxFLGspfTtTSEE1MTIucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGUpe2lmKGU9PT1cImhleFwiKXJldHVybiBpLnRvSGV4MzIodGhpcy5oLFwiYmlnXCIpO2Vsc2UgcmV0dXJuIGkuc3BsaXQzMih0aGlzLmgsXCJiaWdcIil9O2Z1bmN0aW9uIGNoNjRfaGkoZSx0LHIsaSxuKXt2YXIgYT1lJnJefmUmbjtpZihhPDApYSs9NDI5NDk2NzI5NjtyZXR1cm4gYX1mdW5jdGlvbiBjaDY0X2xvKGUsdCxyLGksbixhKXt2YXIgcz10JmlefnQmYTtpZihzPDApcys9NDI5NDk2NzI5NjtyZXR1cm4gc31mdW5jdGlvbiBtYWo2NF9oaShlLHQscixpLG4pe3ZhciBhPWUmcl5lJm5eciZuO2lmKGE8MClhKz00Mjk0OTY3Mjk2O3JldHVybiBhfWZ1bmN0aW9uIG1hajY0X2xvKGUsdCxyLGksbixhKXt2YXIgcz10JmledCZhXmkmYTtpZihzPDApcys9NDI5NDk2NzI5NjtyZXR1cm4gc31mdW5jdGlvbiBzMF81MTJfaGkoZSx0KXt2YXIgcj1zKGUsdCwyOCk7dmFyIGk9cyh0LGUsMik7dmFyIG49cyh0LGUsNyk7dmFyIGE9cl5pXm47aWYoYTwwKWErPTQyOTQ5NjcyOTY7cmV0dXJuIGF9ZnVuY3Rpb24gczBfNTEyX2xvKGUsdCl7dmFyIHI9byhlLHQsMjgpO3ZhciBpPW8odCxlLDIpO3ZhciBuPW8odCxlLDcpO3ZhciBhPXJeaV5uO2lmKGE8MClhKz00Mjk0OTY3Mjk2O3JldHVybiBhfWZ1bmN0aW9uIHMxXzUxMl9oaShlLHQpe3ZhciByPXMoZSx0LDE0KTt2YXIgaT1zKGUsdCwxOCk7dmFyIG49cyh0LGUsOSk7dmFyIGE9cl5pXm47aWYoYTwwKWErPTQyOTQ5NjcyOTY7cmV0dXJuIGF9ZnVuY3Rpb24gczFfNTEyX2xvKGUsdCl7dmFyIHI9byhlLHQsMTQpO3ZhciBpPW8oZSx0LDE4KTt2YXIgbj1vKHQsZSw5KTt2YXIgYT1yXmlebjtpZihhPDApYSs9NDI5NDk2NzI5NjtyZXR1cm4gYX1mdW5jdGlvbiBnMF81MTJfaGkoZSx0KXt2YXIgcj1zKGUsdCwxKTt2YXIgaT1zKGUsdCw4KTt2YXIgbj1oKGUsdCw3KTt2YXIgYT1yXmlebjtpZihhPDApYSs9NDI5NDk2NzI5NjtyZXR1cm4gYX1mdW5jdGlvbiBnMF81MTJfbG8oZSx0KXt2YXIgcj1vKGUsdCwxKTt2YXIgaT1vKGUsdCw4KTt2YXIgbj11KGUsdCw3KTt2YXIgYT1yXmlebjtpZihhPDApYSs9NDI5NDk2NzI5NjtyZXR1cm4gYX1mdW5jdGlvbiBnMV81MTJfaGkoZSx0KXt2YXIgcj1zKGUsdCwxOSk7dmFyIGk9cyh0LGUsMjkpO3ZhciBuPWgoZSx0LDYpO3ZhciBhPXJeaV5uO2lmKGE8MClhKz00Mjk0OTY3Mjk2O3JldHVybiBhfWZ1bmN0aW9uIGcxXzUxMl9sbyhlLHQpe3ZhciByPW8oZSx0LDE5KTt2YXIgaT1vKHQsZSwyOSk7dmFyIG49dShlLHQsNik7dmFyIGE9cl5pXm47aWYoYTwwKWErPTQyOTQ5NjcyOTY7cmV0dXJuIGF9fSwyOTc1OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDI2Myk7dmFyIG49aS5yb3RyMzI7ZnVuY3Rpb24gZnRfMShlLHQscixpKXtpZihlPT09MClyZXR1cm4gY2gzMih0LHIsaSk7aWYoZT09PTF8fGU9PT0zKXJldHVybiBwMzIodCxyLGkpO2lmKGU9PT0yKXJldHVybiBtYWozMih0LHIsaSl9dC5mdF8xPWZ0XzE7ZnVuY3Rpb24gY2gzMihlLHQscil7cmV0dXJuIGUmdF5+ZSZyfXQuY2gzMj1jaDMyO2Z1bmN0aW9uIG1hajMyKGUsdCxyKXtyZXR1cm4gZSZ0XmUmcl50JnJ9dC5tYWozMj1tYWozMjtmdW5jdGlvbiBwMzIoZSx0LHIpe3JldHVybiBlXnRecn10LnAzMj1wMzI7ZnVuY3Rpb24gczBfMjU2KGUpe3JldHVybiBuKGUsMilebihlLDEzKV5uKGUsMjIpfXQuczBfMjU2PXMwXzI1NjtmdW5jdGlvbiBzMV8yNTYoZSl7cmV0dXJuIG4oZSw2KV5uKGUsMTEpXm4oZSwyNSl9dC5zMV8yNTY9czFfMjU2O2Z1bmN0aW9uIGcwXzI1NihlKXtyZXR1cm4gbihlLDcpXm4oZSwxOCleZT4+PjN9dC5nMF8yNTY9ZzBfMjU2O2Z1bmN0aW9uIGcxXzI1NihlKXtyZXR1cm4gbihlLDE3KV5uKGUsMTkpXmU+Pj4xMH10LmcxXzI1Nj1nMV8yNTZ9LDI2MzpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigzNTIzKTt2YXIgbj1yKDM3ODIpO3QuaW5oZXJpdHM9bjtmdW5jdGlvbiBpc1N1cnJvZ2F0ZVBhaXIoZSx0KXtpZigoZS5jaGFyQ29kZUF0KHQpJjY0NTEyKSE9PTU1Mjk2KXtyZXR1cm4gZmFsc2V9aWYodDwwfHx0KzE+PWUubGVuZ3RoKXtyZXR1cm4gZmFsc2V9cmV0dXJuKGUuY2hhckNvZGVBdCh0KzEpJjY0NTEyKT09PTU2MzIwfWZ1bmN0aW9uIHRvQXJyYXkoZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNsaWNlKCk7aWYoIWUpcmV0dXJuW107dmFyIHI9W107aWYodHlwZW9mIGU9PT1cInN0cmluZ1wiKXtpZighdCl7dmFyIGk9MDtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGE9ZS5jaGFyQ29kZUF0KG4pO2lmKGE8MTI4KXtyW2krK109YX1lbHNlIGlmKGE8MjA0OCl7cltpKytdPWE+PjZ8MTkyO3JbaSsrXT1hJjYzfDEyOH1lbHNlIGlmKGlzU3Vycm9nYXRlUGFpcihlLG4pKXthPTY1NTM2KygoYSYxMDIzKTw8MTApKyhlLmNoYXJDb2RlQXQoKytuKSYxMDIzKTtyW2krK109YT4+MTh8MjQwO3JbaSsrXT1hPj4xMiY2M3wxMjg7cltpKytdPWE+PjYmNjN8MTI4O3JbaSsrXT1hJjYzfDEyOH1lbHNle3JbaSsrXT1hPj4xMnwyMjQ7cltpKytdPWE+PjYmNjN8MTI4O3JbaSsrXT1hJjYzfDEyOH19fWVsc2UgaWYodD09PVwiaGV4XCIpe2U9ZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLFwiXCIpO2lmKGUubGVuZ3RoJTIhPT0wKWU9XCIwXCIrZTtmb3Iobj0wO248ZS5sZW5ndGg7bis9MilyLnB1c2gocGFyc2VJbnQoZVtuXStlW24rMV0sMTYpKX19ZWxzZXtmb3Iobj0wO248ZS5sZW5ndGg7bisrKXJbbl09ZVtuXXwwfXJldHVybiByfXQudG9BcnJheT10b0FycmF5O2Z1bmN0aW9uIHRvSGV4KGUpe3ZhciB0PVwiXCI7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdCs9emVybzIoZVtyXS50b1N0cmluZygxNikpO3JldHVybiB0fXQudG9IZXg9dG9IZXg7ZnVuY3Rpb24gaHRvbmwoZSl7dmFyIHQ9ZT4+PjI0fGU+Pj44JjY1MjgwfGU8PDgmMTY3MTE2ODB8KGUmMjU1KTw8MjQ7cmV0dXJuIHQ+Pj4wfXQuaHRvbmw9aHRvbmw7ZnVuY3Rpb24gdG9IZXgzMihlLHQpe3ZhciByPVwiXCI7Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBuPWVbaV07aWYodD09PVwibGl0dGxlXCIpbj1odG9ubChuKTtyKz16ZXJvOChuLnRvU3RyaW5nKDE2KSl9cmV0dXJuIHJ9dC50b0hleDMyPXRvSGV4MzI7ZnVuY3Rpb24gemVybzIoZSl7aWYoZS5sZW5ndGg9PT0xKXJldHVyblwiMFwiK2U7ZWxzZSByZXR1cm4gZX10Lnplcm8yPXplcm8yO2Z1bmN0aW9uIHplcm84KGUpe2lmKGUubGVuZ3RoPT09NylyZXR1cm5cIjBcIitlO2Vsc2UgaWYoZS5sZW5ndGg9PT02KXJldHVyblwiMDBcIitlO2Vsc2UgaWYoZS5sZW5ndGg9PT01KXJldHVyblwiMDAwXCIrZTtlbHNlIGlmKGUubGVuZ3RoPT09NClyZXR1cm5cIjAwMDBcIitlO2Vsc2UgaWYoZS5sZW5ndGg9PT0zKXJldHVyblwiMDAwMDBcIitlO2Vsc2UgaWYoZS5sZW5ndGg9PT0yKXJldHVyblwiMDAwMDAwXCIrZTtlbHNlIGlmKGUubGVuZ3RoPT09MSlyZXR1cm5cIjAwMDAwMDBcIitlO2Vsc2UgcmV0dXJuIGV9dC56ZXJvOD16ZXJvODtmdW5jdGlvbiBqb2luMzIoZSx0LHIsbil7dmFyIGE9ci10O2koYSU0PT09MCk7dmFyIHM9bmV3IEFycmF5KGEvNCk7Zm9yKHZhciBvPTAsaD10O288cy5sZW5ndGg7bysrLGgrPTQpe3ZhciB1O2lmKG49PT1cImJpZ1wiKXU9ZVtoXTw8MjR8ZVtoKzFdPDwxNnxlW2grMl08PDh8ZVtoKzNdO2Vsc2UgdT1lW2grM108PDI0fGVbaCsyXTw8MTZ8ZVtoKzFdPDw4fGVbaF07c1tvXT11Pj4+MH1yZXR1cm4gc310LmpvaW4zMj1qb2luMzI7ZnVuY3Rpb24gc3BsaXQzMihlLHQpe3ZhciByPW5ldyBBcnJheShlLmxlbmd0aCo0KTtmb3IodmFyIGk9MCxuPTA7aTxlLmxlbmd0aDtpKyssbis9NCl7dmFyIGE9ZVtpXTtpZih0PT09XCJiaWdcIil7cltuXT1hPj4+MjQ7cltuKzFdPWE+Pj4xNiYyNTU7cltuKzJdPWE+Pj44JjI1NTtyW24rM109YSYyNTV9ZWxzZXtyW24rM109YT4+PjI0O3JbbisyXT1hPj4+MTYmMjU1O3JbbisxXT1hPj4+OCYyNTU7cltuXT1hJjI1NX19cmV0dXJuIHJ9dC5zcGxpdDMyPXNwbGl0MzI7ZnVuY3Rpb24gcm90cjMyKGUsdCl7cmV0dXJuIGU+Pj50fGU8PDMyLXR9dC5yb3RyMzI9cm90cjMyO2Z1bmN0aW9uIHJvdGwzMihlLHQpe3JldHVybiBlPDx0fGU+Pj4zMi10fXQucm90bDMyPXJvdGwzMjtmdW5jdGlvbiBzdW0zMihlLHQpe3JldHVybiBlK3Q+Pj4wfXQuc3VtMzI9c3VtMzI7ZnVuY3Rpb24gc3VtMzJfMyhlLHQscil7cmV0dXJuIGUrdCtyPj4+MH10LnN1bTMyXzM9c3VtMzJfMztmdW5jdGlvbiBzdW0zMl80KGUsdCxyLGkpe3JldHVybiBlK3QrcitpPj4+MH10LnN1bTMyXzQ9c3VtMzJfNDtmdW5jdGlvbiBzdW0zMl81KGUsdCxyLGksbil7cmV0dXJuIGUrdCtyK2krbj4+PjB9dC5zdW0zMl81PXN1bTMyXzU7ZnVuY3Rpb24gc3VtNjQoZSx0LHIsaSl7dmFyIG49ZVt0XTt2YXIgYT1lW3QrMV07dmFyIHM9aSthPj4+MDt2YXIgbz0oczxpPzE6MCkrcituO2VbdF09bz4+PjA7ZVt0KzFdPXN9dC5zdW02ND1zdW02NDtmdW5jdGlvbiBzdW02NF9oaShlLHQscixpKXt2YXIgbj10K2k+Pj4wO3ZhciBhPShuPHQ/MTowKStlK3I7cmV0dXJuIGE+Pj4wfXQuc3VtNjRfaGk9c3VtNjRfaGk7ZnVuY3Rpb24gc3VtNjRfbG8oZSx0LHIsaSl7dmFyIG49dCtpO3JldHVybiBuPj4+MH10LnN1bTY0X2xvPXN1bTY0X2xvO2Z1bmN0aW9uIHN1bTY0XzRfaGkoZSx0LHIsaSxuLGEscyxvKXt2YXIgaD0wO3ZhciB1PXQ7dT11K2k+Pj4wO2grPXU8dD8xOjA7dT11K2E+Pj4wO2grPXU8YT8xOjA7dT11K28+Pj4wO2grPXU8bz8xOjA7dmFyIGQ9ZStyK24rcytoO3JldHVybiBkPj4+MH10LnN1bTY0XzRfaGk9c3VtNjRfNF9oaTtmdW5jdGlvbiBzdW02NF80X2xvKGUsdCxyLGksbixhLHMsbyl7dmFyIGg9dCtpK2ErbztyZXR1cm4gaD4+PjB9dC5zdW02NF80X2xvPXN1bTY0XzRfbG87ZnVuY3Rpb24gc3VtNjRfNV9oaShlLHQscixpLG4sYSxzLG8saCx1KXt2YXIgZD0wO3ZhciBjPXQ7Yz1jK2k+Pj4wO2QrPWM8dD8xOjA7Yz1jK2E+Pj4wO2QrPWM8YT8xOjA7Yz1jK28+Pj4wO2QrPWM8bz8xOjA7Yz1jK3U+Pj4wO2QrPWM8dT8xOjA7dmFyIGw9ZStyK24rcytoK2Q7cmV0dXJuIGw+Pj4wfXQuc3VtNjRfNV9oaT1zdW02NF81X2hpO2Z1bmN0aW9uIHN1bTY0XzVfbG8oZSx0LHIsaSxuLGEscyxvLGgsdSl7dmFyIGQ9dCtpK2Erbyt1O3JldHVybiBkPj4+MH10LnN1bTY0XzVfbG89c3VtNjRfNV9sbztmdW5jdGlvbiByb3RyNjRfaGkoZSx0LHIpe3ZhciBpPXQ8PDMyLXJ8ZT4+PnI7cmV0dXJuIGk+Pj4wfXQucm90cjY0X2hpPXJvdHI2NF9oaTtmdW5jdGlvbiByb3RyNjRfbG8oZSx0LHIpe3ZhciBpPWU8PDMyLXJ8dD4+PnI7cmV0dXJuIGk+Pj4wfXQucm90cjY0X2xvPXJvdHI2NF9sbztmdW5jdGlvbiBzaHI2NF9oaShlLHQscil7cmV0dXJuIGU+Pj5yfXQuc2hyNjRfaGk9c2hyNjRfaGk7ZnVuY3Rpb24gc2hyNjRfbG8oZSx0LHIpe3ZhciBpPWU8PDMyLXJ8dD4+PnI7cmV0dXJuIGk+Pj4wfXQuc2hyNjRfbG89c2hyNjRfbG99LDQ5MTA6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoNzAyOCk7dmFyIG49cig2NTQ1KTt2YXIgYT1yKDM1MjMpO2Z1bmN0aW9uIEhtYWNEUkJHKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIEhtYWNEUkJHKSlyZXR1cm4gbmV3IEhtYWNEUkJHKGUpO3RoaXMuaGFzaD1lLmhhc2g7dGhpcy5wcmVkUmVzaXN0PSEhZS5wcmVkUmVzaXN0O3RoaXMub3V0TGVuPXRoaXMuaGFzaC5vdXRTaXplO3RoaXMubWluRW50cm9weT1lLm1pbkVudHJvcHl8fHRoaXMuaGFzaC5obWFjU3RyZW5ndGg7dGhpcy5fcmVzZWVkPW51bGw7dGhpcy5yZXNlZWRJbnRlcnZhbD1udWxsO3RoaXMuSz1udWxsO3RoaXMuVj1udWxsO3ZhciB0PW4udG9BcnJheShlLmVudHJvcHksZS5lbnRyb3B5RW5jfHxcImhleFwiKTt2YXIgcj1uLnRvQXJyYXkoZS5ub25jZSxlLm5vbmNlRW5jfHxcImhleFwiKTt2YXIgaT1uLnRvQXJyYXkoZS5wZXJzLGUucGVyc0VuY3x8XCJoZXhcIik7YSh0Lmxlbmd0aD49dGhpcy5taW5FbnRyb3B5LzgsXCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6IFwiK3RoaXMubWluRW50cm9weStcIiBiaXRzXCIpO3RoaXMuX2luaXQodCxyLGkpfWUuZXhwb3J0cz1IbWFjRFJCRztIbWFjRFJCRy5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24gaW5pdChlLHQscil7dmFyIGk9ZS5jb25jYXQodCkuY29uY2F0KHIpO3RoaXMuSz1uZXcgQXJyYXkodGhpcy5vdXRMZW4vOCk7dGhpcy5WPW5ldyBBcnJheSh0aGlzLm91dExlbi84KTtmb3IodmFyIG49MDtuPHRoaXMuVi5sZW5ndGg7bisrKXt0aGlzLktbbl09MDt0aGlzLlZbbl09MX10aGlzLl91cGRhdGUoaSk7dGhpcy5fcmVzZWVkPTE7dGhpcy5yZXNlZWRJbnRlcnZhbD0yODE0NzQ5NzY3MTA2NTZ9O0htYWNEUkJHLnByb3RvdHlwZS5faG1hYz1mdW5jdGlvbiBobWFjKCl7cmV0dXJuIG5ldyBpLmhtYWModGhpcy5oYXNoLHRoaXMuSyl9O0htYWNEUkJHLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uIHVwZGF0ZShlKXt2YXIgdD10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikudXBkYXRlKFswXSk7aWYoZSl0PXQudXBkYXRlKGUpO3RoaXMuSz10LmRpZ2VzdCgpO3RoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCk7aWYoIWUpcmV0dXJuO3RoaXMuSz10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikudXBkYXRlKFsxXSkudXBkYXRlKGUpLmRpZ2VzdCgpO3RoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCl9O0htYWNEUkJHLnByb3RvdHlwZS5yZXNlZWQ9ZnVuY3Rpb24gcmVzZWVkKGUsdCxyLGkpe2lmKHR5cGVvZiB0IT09XCJzdHJpbmdcIil7aT1yO3I9dDt0PW51bGx9ZT1uLnRvQXJyYXkoZSx0KTtyPW4udG9BcnJheShyLGkpO2EoZS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LFwiTm90IGVub3VnaCBlbnRyb3B5LiBNaW5pbXVtIGlzOiBcIit0aGlzLm1pbkVudHJvcHkrXCIgYml0c1wiKTt0aGlzLl91cGRhdGUoZS5jb25jYXQocnx8W10pKTt0aGlzLl9yZXNlZWQ9MX07SG1hY0RSQkcucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uIGdlbmVyYXRlKGUsdCxyLGkpe2lmKHRoaXMuX3Jlc2VlZD50aGlzLnJlc2VlZEludGVydmFsKXRocm93IG5ldyBFcnJvcihcIlJlc2VlZCBpcyByZXF1aXJlZFwiKTtpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe2k9cjtyPXQ7dD1udWxsfWlmKHIpe3I9bi50b0FycmF5KHIsaXx8XCJoZXhcIik7dGhpcy5fdXBkYXRlKHIpfXZhciBhPVtdO3doaWxlKGEubGVuZ3RoPGUpe3RoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCk7YT1hLmNvbmNhdCh0aGlzLlYpfXZhciBzPWEuc2xpY2UoMCxlKTt0aGlzLl91cGRhdGUocik7dGhpcy5fcmVzZWVkKys7cmV0dXJuIG4uZW5jb2RlKHMsdCl9fSwzNzgyOmZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBPYmplY3QuY3JlYXRlPT09XCJmdW5jdGlvblwiKXtlLmV4cG9ydHM9ZnVuY3Rpb24gaW5oZXJpdHMoZSx0KXtpZih0KXtlLnN1cGVyXz10O2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTplLGVudW1lcmFibGU6ZmFsc2Usd3JpdGFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZX19KX19fWVsc2V7ZS5leHBvcnRzPWZ1bmN0aW9uIGluaGVyaXRzKGUsdCl7aWYodCl7ZS5zdXBlcl89dDt2YXIgVGVtcEN0b3I9ZnVuY3Rpb24oKXt9O1RlbXBDdG9yLnByb3RvdHlwZT10LnByb3RvdHlwZTtlLnByb3RvdHlwZT1uZXcgVGVtcEN0b3I7ZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZX19fX0sMzUzMzpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDkwMjkpO3ZhciBhPXIoNjkxMSkuQnVmZmVyO3ZhciBzPW5ldyBBcnJheSgxNik7ZnVuY3Rpb24gTUQ1KCl7bi5jYWxsKHRoaXMsNjQpO3RoaXMuX2E9MTczMjU4NDE5Mzt0aGlzLl9iPTQwMjMyMzM0MTc7dGhpcy5fYz0yNTYyMzgzMTAyO3RoaXMuX2Q9MjcxNzMzODc4fWkoTUQ1LG4pO01ENS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe3ZhciBlPXM7Zm9yKHZhciB0PTA7dDwxNjsrK3QpZVt0XT10aGlzLl9ibG9jay5yZWFkSW50MzJMRSh0KjQpO3ZhciByPXRoaXMuX2E7dmFyIGk9dGhpcy5fYjt2YXIgbj10aGlzLl9jO3ZhciBhPXRoaXMuX2Q7cj1mbkYocixpLG4sYSxlWzBdLDM2MTQwOTAzNjAsNyk7YT1mbkYoYSxyLGksbixlWzFdLDM5MDU0MDI3MTAsMTIpO249Zm5GKG4sYSxyLGksZVsyXSw2MDYxMDU4MTksMTcpO2k9Zm5GKGksbixhLHIsZVszXSwzMjUwNDQxOTY2LDIyKTtyPWZuRihyLGksbixhLGVbNF0sNDExODU0ODM5OSw3KTthPWZuRihhLHIsaSxuLGVbNV0sMTIwMDA4MDQyNiwxMik7bj1mbkYobixhLHIsaSxlWzZdLDI4MjE3MzU5NTUsMTcpO2k9Zm5GKGksbixhLHIsZVs3XSw0MjQ5MjYxMzEzLDIyKTtyPWZuRihyLGksbixhLGVbOF0sMTc3MDAzNTQxNiw3KTthPWZuRihhLHIsaSxuLGVbOV0sMjMzNjU1Mjg3OSwxMik7bj1mbkYobixhLHIsaSxlWzEwXSw0Mjk0OTI1MjMzLDE3KTtpPWZuRihpLG4sYSxyLGVbMTFdLDIzMDQ1NjMxMzQsMjIpO3I9Zm5GKHIsaSxuLGEsZVsxMl0sMTgwNDYwMzY4Miw3KTthPWZuRihhLHIsaSxuLGVbMTNdLDQyNTQ2MjYxOTUsMTIpO249Zm5GKG4sYSxyLGksZVsxNF0sMjc5Mjk2NTAwNiwxNyk7aT1mbkYoaSxuLGEscixlWzE1XSwxMjM2NTM1MzI5LDIyKTtyPWZuRyhyLGksbixhLGVbMV0sNDEyOTE3MDc4Niw1KTthPWZuRyhhLHIsaSxuLGVbNl0sMzIyNTQ2NTY2NCw5KTtuPWZuRyhuLGEscixpLGVbMTFdLDY0MzcxNzcxMywxNCk7aT1mbkcoaSxuLGEscixlWzBdLDM5MjEwNjk5OTQsMjApO3I9Zm5HKHIsaSxuLGEsZVs1XSwzNTkzNDA4NjA1LDUpO2E9Zm5HKGEscixpLG4sZVsxMF0sMzgwMTYwODMsOSk7bj1mbkcobixhLHIsaSxlWzE1XSwzNjM0NDg4OTYxLDE0KTtpPWZuRyhpLG4sYSxyLGVbNF0sMzg4OTQyOTQ0OCwyMCk7cj1mbkcocixpLG4sYSxlWzldLDU2ODQ0NjQzOCw1KTthPWZuRyhhLHIsaSxuLGVbMTRdLDMyNzUxNjM2MDYsOSk7bj1mbkcobixhLHIsaSxlWzNdLDQxMDc2MDMzMzUsMTQpO2k9Zm5HKGksbixhLHIsZVs4XSwxMTYzNTMxNTAxLDIwKTtyPWZuRyhyLGksbixhLGVbMTNdLDI4NTAyODU4MjksNSk7YT1mbkcoYSxyLGksbixlWzJdLDQyNDM1NjM1MTIsOSk7bj1mbkcobixhLHIsaSxlWzddLDE3MzUzMjg0NzMsMTQpO2k9Zm5HKGksbixhLHIsZVsxMl0sMjM2ODM1OTU2MiwyMCk7cj1mbkgocixpLG4sYSxlWzVdLDQyOTQ1ODg3MzgsNCk7YT1mbkgoYSxyLGksbixlWzhdLDIyNzIzOTI4MzMsMTEpO249Zm5IKG4sYSxyLGksZVsxMV0sMTgzOTAzMDU2MiwxNik7aT1mbkgoaSxuLGEscixlWzE0XSw0MjU5NjU3NzQwLDIzKTtyPWZuSChyLGksbixhLGVbMV0sMjc2Mzk3NTIzNiw0KTthPWZuSChhLHIsaSxuLGVbNF0sMTI3Mjg5MzM1MywxMSk7bj1mbkgobixhLHIsaSxlWzddLDQxMzk0Njk2NjQsMTYpO2k9Zm5IKGksbixhLHIsZVsxMF0sMzIwMDIzNjY1NiwyMyk7cj1mbkgocixpLG4sYSxlWzEzXSw2ODEyNzkxNzQsNCk7YT1mbkgoYSxyLGksbixlWzBdLDM5MzY0MzAwNzQsMTEpO249Zm5IKG4sYSxyLGksZVszXSwzNTcyNDQ1MzE3LDE2KTtpPWZuSChpLG4sYSxyLGVbNl0sNzYwMjkxODksMjMpO3I9Zm5IKHIsaSxuLGEsZVs5XSwzNjU0NjAyODA5LDQpO2E9Zm5IKGEscixpLG4sZVsxMl0sMzg3MzE1MTQ2MSwxMSk7bj1mbkgobixhLHIsaSxlWzE1XSw1MzA3NDI1MjAsMTYpO2k9Zm5IKGksbixhLHIsZVsyXSwzMjk5NjI4NjQ1LDIzKTtyPWZuSShyLGksbixhLGVbMF0sNDA5NjMzNjQ1Miw2KTthPWZuSShhLHIsaSxuLGVbN10sMTEyNjg5MTQxNSwxMCk7bj1mbkkobixhLHIsaSxlWzE0XSwyODc4NjEyMzkxLDE1KTtpPWZuSShpLG4sYSxyLGVbNV0sNDIzNzUzMzI0MSwyMSk7cj1mbkkocixpLG4sYSxlWzEyXSwxNzAwNDg1NTcxLDYpO2E9Zm5JKGEscixpLG4sZVszXSwyMzk5OTgwNjkwLDEwKTtuPWZuSShuLGEscixpLGVbMTBdLDQyOTM5MTU3NzMsMTUpO2k9Zm5JKGksbixhLHIsZVsxXSwyMjQwMDQ0NDk3LDIxKTtyPWZuSShyLGksbixhLGVbOF0sMTg3MzMxMzM1OSw2KTthPWZuSShhLHIsaSxuLGVbMTVdLDQyNjQzNTU1NTIsMTApO249Zm5JKG4sYSxyLGksZVs2XSwyNzM0NzY4OTE2LDE1KTtpPWZuSShpLG4sYSxyLGVbMTNdLDEzMDkxNTE2NDksMjEpO3I9Zm5JKHIsaSxuLGEsZVs0XSw0MTQ5NDQ0MjI2LDYpO2E9Zm5JKGEscixpLG4sZVsxMV0sMzE3NDc1NjkxNywxMCk7bj1mbkkobixhLHIsaSxlWzJdLDcxODc4NzI1OSwxNSk7aT1mbkkoaSxuLGEscixlWzldLDM5NTE0ODE3NDUsMjEpO3RoaXMuX2E9dGhpcy5fYStyfDA7dGhpcy5fYj10aGlzLl9iK2l8MDt0aGlzLl9jPXRoaXMuX2MrbnwwO3RoaXMuX2Q9dGhpcy5fZCthfDB9O01ENS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyODtpZih0aGlzLl9ibG9ja09mZnNldD41Nil7dGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDY0KTt0aGlzLl91cGRhdGUoKTt0aGlzLl9ibG9ja09mZnNldD0wfXRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw1Nik7dGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMF0sNTYpO3RoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLDYwKTt0aGlzLl91cGRhdGUoKTt2YXIgZT1hLmFsbG9jVW5zYWZlKDE2KTtlLndyaXRlSW50MzJMRSh0aGlzLl9hLDApO2Uud3JpdGVJbnQzMkxFKHRoaXMuX2IsNCk7ZS53cml0ZUludDMyTEUodGhpcy5fYyw4KTtlLndyaXRlSW50MzJMRSh0aGlzLl9kLDEyKTtyZXR1cm4gZX07ZnVuY3Rpb24gcm90bChlLHQpe3JldHVybiBlPDx0fGU+Pj4zMi10fWZ1bmN0aW9uIGZuRihlLHQscixpLG4sYSxzKXtyZXR1cm4gcm90bChlKyh0JnJ8fnQmaSkrbithfDAscykrdHwwfWZ1bmN0aW9uIGZuRyhlLHQscixpLG4sYSxzKXtyZXR1cm4gcm90bChlKyh0Jml8ciZ+aSkrbithfDAscykrdHwwfWZ1bmN0aW9uIGZuSChlLHQscixpLG4sYSxzKXtyZXR1cm4gcm90bChlKyh0XnJeaSkrbithfDAscykrdHwwfWZ1bmN0aW9uIGZuSShlLHQscixpLG4sYSxzKXtyZXR1cm4gcm90bChlKyhyXih0fH5pKSkrbithfDAscykrdHwwfWUuZXhwb3J0cz1NRDV9LDEzNTQ6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNzExKTt2YXIgbj1yKDM1MDApO2Z1bmN0aW9uIE1pbGxlclJhYmluKGUpe3RoaXMucmFuZD1lfHxuZXcgbi5SYW5kfWUuZXhwb3J0cz1NaWxsZXJSYWJpbjtNaWxsZXJSYWJpbi5jcmVhdGU9ZnVuY3Rpb24gY3JlYXRlKGUpe3JldHVybiBuZXcgTWlsbGVyUmFiaW4oZSl9O01pbGxlclJhYmluLnByb3RvdHlwZS5fcmFuZGJlbG93PWZ1bmN0aW9uIF9yYW5kYmVsb3coZSl7dmFyIHQ9ZS5iaXRMZW5ndGgoKTt2YXIgcj1NYXRoLmNlaWwodC84KTtkb3t2YXIgbj1uZXcgaSh0aGlzLnJhbmQuZ2VuZXJhdGUocikpfXdoaWxlKG4uY21wKGUpPj0wKTtyZXR1cm4gbn07TWlsbGVyUmFiaW4ucHJvdG90eXBlLl9yYW5kcmFuZ2U9ZnVuY3Rpb24gX3JhbmRyYW5nZShlLHQpe3ZhciByPXQuc3ViKGUpO3JldHVybiBlLmFkZCh0aGlzLl9yYW5kYmVsb3cocikpfTtNaWxsZXJSYWJpbi5wcm90b3R5cGUudGVzdD1mdW5jdGlvbiB0ZXN0KGUsdCxyKXt2YXIgbj1lLmJpdExlbmd0aCgpO3ZhciBhPWkubW9udChlKTt2YXIgcz1uZXcgaSgxKS50b1JlZChhKTtpZighdCl0PU1hdGgubWF4KDEsbi80OHwwKTt2YXIgbz1lLnN1Ym4oMSk7Zm9yKHZhciBoPTA7IW8udGVzdG4oaCk7aCsrKXt9dmFyIHU9ZS5zaHJuKGgpO3ZhciBkPW8udG9SZWQoYSk7dmFyIGM9dHJ1ZTtmb3IoO3Q+MDt0LS0pe3ZhciBsPXRoaXMuX3JhbmRyYW5nZShuZXcgaSgyKSxvKTtpZihyKXIobCk7dmFyIHA9bC50b1JlZChhKS5yZWRQb3codSk7aWYocC5jbXAocyk9PT0wfHxwLmNtcChkKT09PTApY29udGludWU7Zm9yKHZhciB2PTE7djxoO3YrKyl7cD1wLnJlZFNxcigpO2lmKHAuY21wKHMpPT09MClyZXR1cm4gZmFsc2U7aWYocC5jbXAoZCk9PT0wKWJyZWFrfWlmKHY9PT1oKXJldHVybiBmYWxzZX1yZXR1cm4gY307TWlsbGVyUmFiaW4ucHJvdG90eXBlLmdldERpdmlzb3I9ZnVuY3Rpb24gZ2V0RGl2aXNvcihlLHQpe3ZhciByPWUuYml0TGVuZ3RoKCk7dmFyIG49aS5tb250KGUpO3ZhciBhPW5ldyBpKDEpLnRvUmVkKG4pO2lmKCF0KXQ9TWF0aC5tYXgoMSxyLzQ4fDApO3ZhciBzPWUuc3VibigxKTtmb3IodmFyIG89MDshcy50ZXN0bihvKTtvKyspe312YXIgaD1lLnNocm4obyk7dmFyIHU9cy50b1JlZChuKTtmb3IoO3Q+MDt0LS0pe3ZhciBkPXRoaXMuX3JhbmRyYW5nZShuZXcgaSgyKSxzKTt2YXIgYz1lLmdjZChkKTtpZihjLmNtcG4oMSkhPT0wKXJldHVybiBjO3ZhciBsPWQudG9SZWQobikucmVkUG93KGgpO2lmKGwuY21wKGEpPT09MHx8bC5jbXAodSk9PT0wKWNvbnRpbnVlO2Zvcih2YXIgcD0xO3A8bztwKyspe2w9bC5yZWRTcXIoKTtpZihsLmNtcChhKT09PTApcmV0dXJuIGwuZnJvbVJlZCgpLnN1Ym4oMSkuZ2NkKGUpO2lmKGwuY21wKHUpPT09MClicmVha31pZihwPT09byl7bD1sLnJlZFNxcigpO3JldHVybiBsLmZyb21SZWQoKS5zdWJuKDEpLmdjZChlKX19cmV0dXJuIGZhbHNlfX0sMzUyMzpmdW5jdGlvbihlKXtlLmV4cG9ydHM9YXNzZXJ0O2Z1bmN0aW9uIGFzc2VydChlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHxcIkFzc2VydGlvbiBmYWlsZWRcIil9YXNzZXJ0LmVxdWFsPWZ1bmN0aW9uIGFzc2VydEVxdWFsKGUsdCxyKXtpZihlIT10KXRocm93IG5ldyBFcnJvcihyfHxcIkFzc2VydGlvbiBmYWlsZWQ6IFwiK2UrXCIgIT0gXCIrdCl9fSw2NTQ1OmZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHI9dDtmdW5jdGlvbiB0b0FycmF5KGUsdCl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZS5zbGljZSgpO2lmKCFlKXJldHVybltdO3ZhciByPVtdO2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil7Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDtpKyspcltpXT1lW2ldfDA7cmV0dXJuIHJ9aWYodD09PVwiaGV4XCIpe2U9ZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLFwiXCIpO2lmKGUubGVuZ3RoJTIhPT0wKWU9XCIwXCIrZTtmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krPTIpci5wdXNoKHBhcnNlSW50KGVbaV0rZVtpKzFdLDE2KSl9ZWxzZXtmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIG49ZS5jaGFyQ29kZUF0KGkpO3ZhciBhPW4+Pjg7dmFyIHM9biYyNTU7aWYoYSlyLnB1c2goYSxzKTtlbHNlIHIucHVzaChzKX19cmV0dXJuIHJ9ci50b0FycmF5PXRvQXJyYXk7ZnVuY3Rpb24gemVybzIoZSl7aWYoZS5sZW5ndGg9PT0xKXJldHVyblwiMFwiK2U7ZWxzZSByZXR1cm4gZX1yLnplcm8yPXplcm8yO2Z1bmN0aW9uIHRvSGV4KGUpe3ZhciB0PVwiXCI7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdCs9emVybzIoZVtyXS50b1N0cmluZygxNikpO3JldHVybiB0fXIudG9IZXg9dG9IZXg7ci5lbmNvZGU9ZnVuY3Rpb24gZW5jb2RlKGUsdCl7aWYodD09PVwiaGV4XCIpcmV0dXJuIHRvSGV4KGUpO2Vsc2UgcmV0dXJuIGV9fSw4Njg3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDcxNjApO3QuY2VydGlmaWNhdGU9cig4NzgyKTt2YXIgbj1pLmRlZmluZShcIlJTQVByaXZhdGVLZXlcIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleShcInZlcnNpb25cIikuaW50KCksdGhpcy5rZXkoXCJtb2R1bHVzXCIpLmludCgpLHRoaXMua2V5KFwicHVibGljRXhwb25lbnRcIikuaW50KCksdGhpcy5rZXkoXCJwcml2YXRlRXhwb25lbnRcIikuaW50KCksdGhpcy5rZXkoXCJwcmltZTFcIikuaW50KCksdGhpcy5rZXkoXCJwcmltZTJcIikuaW50KCksdGhpcy5rZXkoXCJleHBvbmVudDFcIikuaW50KCksdGhpcy5rZXkoXCJleHBvbmVudDJcIikuaW50KCksdGhpcy5rZXkoXCJjb2VmZmljaWVudFwiKS5pbnQoKSl9KSk7dC5SU0FQcml2YXRlS2V5PW47dmFyIGE9aS5kZWZpbmUoXCJSU0FQdWJsaWNLZXlcIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleShcIm1vZHVsdXNcIikuaW50KCksdGhpcy5rZXkoXCJwdWJsaWNFeHBvbmVudFwiKS5pbnQoKSl9KSk7dC5SU0FQdWJsaWNLZXk9YTt2YXIgcz1pLmRlZmluZShcIlN1YmplY3RQdWJsaWNLZXlJbmZvXCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJhbGdvcml0aG1cIikudXNlKG8pLHRoaXMua2V5KFwic3ViamVjdFB1YmxpY0tleVwiKS5iaXRzdHIoKSl9KSk7dC5QdWJsaWNLZXk9czt2YXIgbz1pLmRlZmluZShcIkFsZ29yaXRobUlkZW50aWZpZXJcIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleShcImFsZ29yaXRobVwiKS5vYmppZCgpLHRoaXMua2V5KFwibm9uZVwiKS5udWxsXygpLm9wdGlvbmFsKCksdGhpcy5rZXkoXCJjdXJ2ZVwiKS5vYmppZCgpLm9wdGlvbmFsKCksdGhpcy5rZXkoXCJwYXJhbXNcIikuc2VxKCkub2JqKHRoaXMua2V5KFwicFwiKS5pbnQoKSx0aGlzLmtleShcInFcIikuaW50KCksdGhpcy5rZXkoXCJnXCIpLmludCgpKS5vcHRpb25hbCgpKX0pKTt2YXIgaD1pLmRlZmluZShcIlByaXZhdGVLZXlJbmZvXCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJ2ZXJzaW9uXCIpLmludCgpLHRoaXMua2V5KFwiYWxnb3JpdGhtXCIpLnVzZShvKSx0aGlzLmtleShcInN1YmplY3RQcml2YXRlS2V5XCIpLm9jdHN0cigpKX0pKTt0LlByaXZhdGVLZXk9aDt2YXIgdT1pLmRlZmluZShcIkVuY3J5cHRlZFByaXZhdGVLZXlJbmZvXCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJhbGdvcml0aG1cIikuc2VxKCkub2JqKHRoaXMua2V5KFwiaWRcIikub2JqaWQoKSx0aGlzLmtleShcImRlY3J5cHRcIikuc2VxKCkub2JqKHRoaXMua2V5KFwia2RlXCIpLnNlcSgpLm9iaih0aGlzLmtleShcImlkXCIpLm9iamlkKCksdGhpcy5rZXkoXCJrZGVwYXJhbXNcIikuc2VxKCkub2JqKHRoaXMua2V5KFwic2FsdFwiKS5vY3RzdHIoKSx0aGlzLmtleShcIml0ZXJzXCIpLmludCgpKSksdGhpcy5rZXkoXCJjaXBoZXJcIikuc2VxKCkub2JqKHRoaXMua2V5KFwiYWxnb1wiKS5vYmppZCgpLHRoaXMua2V5KFwiaXZcIikub2N0c3RyKCkpKSksdGhpcy5rZXkoXCJzdWJqZWN0UHJpdmF0ZUtleVwiKS5vY3RzdHIoKSl9KSk7dC5FbmNyeXB0ZWRQcml2YXRlS2V5PXU7dmFyIGQ9aS5kZWZpbmUoXCJEU0FQcml2YXRlS2V5XCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJ2ZXJzaW9uXCIpLmludCgpLHRoaXMua2V5KFwicFwiKS5pbnQoKSx0aGlzLmtleShcInFcIikuaW50KCksdGhpcy5rZXkoXCJnXCIpLmludCgpLHRoaXMua2V5KFwicHViX2tleVwiKS5pbnQoKSx0aGlzLmtleShcInByaXZfa2V5XCIpLmludCgpKX0pKTt0LkRTQVByaXZhdGVLZXk9ZDt0LkRTQXBhcmFtPWkuZGVmaW5lKFwiRFNBcGFyYW1cIiwoZnVuY3Rpb24oKXt0aGlzLmludCgpfSkpO3ZhciBjPWkuZGVmaW5lKFwiRUNQcml2YXRlS2V5XCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJ2ZXJzaW9uXCIpLmludCgpLHRoaXMua2V5KFwicHJpdmF0ZUtleVwiKS5vY3RzdHIoKSx0aGlzLmtleShcInBhcmFtZXRlcnNcIikub3B0aW9uYWwoKS5leHBsaWNpdCgwKS51c2UobCksdGhpcy5rZXkoXCJwdWJsaWNLZXlcIikub3B0aW9uYWwoKS5leHBsaWNpdCgxKS5iaXRzdHIoKSl9KSk7dC5FQ1ByaXZhdGVLZXk9Yzt2YXIgbD1pLmRlZmluZShcIkVDUGFyYW1ldGVyc1wiLChmdW5jdGlvbigpe3RoaXMuY2hvaWNlKHtuYW1lZEN1cnZlOnRoaXMub2JqaWQoKX0pfSkpO3Quc2lnbmF0dXJlPWkuZGVmaW5lKFwic2lnbmF0dXJlXCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJyXCIpLmludCgpLHRoaXMua2V5KFwic1wiKS5pbnQoKSl9KSl9LDg3ODI6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoNzE2MCk7dmFyIG49aS5kZWZpbmUoXCJUaW1lXCIsKGZ1bmN0aW9uKCl7dGhpcy5jaG9pY2Uoe3V0Y1RpbWU6dGhpcy51dGN0aW1lKCksZ2VuZXJhbFRpbWU6dGhpcy5nZW50aW1lKCl9KX0pKTt2YXIgYT1pLmRlZmluZShcIkF0dHJpYnV0ZVR5cGVWYWx1ZVwiLChmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KFwidHlwZVwiKS5vYmppZCgpLHRoaXMua2V5KFwidmFsdWVcIikuYW55KCkpfSkpO3ZhciBzPWkuZGVmaW5lKFwiQWxnb3JpdGhtSWRlbnRpZmllclwiLChmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KFwiYWxnb3JpdGhtXCIpLm9iamlkKCksdGhpcy5rZXkoXCJwYXJhbWV0ZXJzXCIpLm9wdGlvbmFsKCksdGhpcy5rZXkoXCJjdXJ2ZVwiKS5vYmppZCgpLm9wdGlvbmFsKCkpfSkpO3ZhciBvPWkuZGVmaW5lKFwiU3ViamVjdFB1YmxpY0tleUluZm9cIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleShcImFsZ29yaXRobVwiKS51c2UocyksdGhpcy5rZXkoXCJzdWJqZWN0UHVibGljS2V5XCIpLmJpdHN0cigpKX0pKTt2YXIgaD1pLmRlZmluZShcIlJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWVcIiwoZnVuY3Rpb24oKXt0aGlzLnNldG9mKGEpfSkpO3ZhciB1PWkuZGVmaW5lKFwiUkROU2VxdWVuY2VcIiwoZnVuY3Rpb24oKXt0aGlzLnNlcW9mKGgpfSkpO3ZhciBkPWkuZGVmaW5lKFwiTmFtZVwiLChmdW5jdGlvbigpe3RoaXMuY2hvaWNlKHtyZG5TZXF1ZW5jZTp0aGlzLnVzZSh1KX0pfSkpO3ZhciBjPWkuZGVmaW5lKFwiVmFsaWRpdHlcIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleShcIm5vdEJlZm9yZVwiKS51c2UobiksdGhpcy5rZXkoXCJub3RBZnRlclwiKS51c2UobikpfSkpO3ZhciBsPWkuZGVmaW5lKFwiRXh0ZW5zaW9uXCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJleHRuSURcIikub2JqaWQoKSx0aGlzLmtleShcImNyaXRpY2FsXCIpLmJvb2woKS5kZWYoZmFsc2UpLHRoaXMua2V5KFwiZXh0blZhbHVlXCIpLm9jdHN0cigpKX0pKTt2YXIgcD1pLmRlZmluZShcIlRCU0NlcnRpZmljYXRlXCIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoXCJ2ZXJzaW9uXCIpLmV4cGxpY2l0KDApLmludCgpLm9wdGlvbmFsKCksdGhpcy5rZXkoXCJzZXJpYWxOdW1iZXJcIikuaW50KCksdGhpcy5rZXkoXCJzaWduYXR1cmVcIikudXNlKHMpLHRoaXMua2V5KFwiaXNzdWVyXCIpLnVzZShkKSx0aGlzLmtleShcInZhbGlkaXR5XCIpLnVzZShjKSx0aGlzLmtleShcInN1YmplY3RcIikudXNlKGQpLHRoaXMua2V5KFwic3ViamVjdFB1YmxpY0tleUluZm9cIikudXNlKG8pLHRoaXMua2V5KFwiaXNzdWVyVW5pcXVlSURcIikuaW1wbGljaXQoMSkuYml0c3RyKCkub3B0aW9uYWwoKSx0aGlzLmtleShcInN1YmplY3RVbmlxdWVJRFwiKS5pbXBsaWNpdCgyKS5iaXRzdHIoKS5vcHRpb25hbCgpLHRoaXMua2V5KFwiZXh0ZW5zaW9uc1wiKS5leHBsaWNpdCgzKS5zZXFvZihsKS5vcHRpb25hbCgpKX0pKTt2YXIgdj1pLmRlZmluZShcIlg1MDlDZXJ0aWZpY2F0ZVwiLChmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KFwidGJzQ2VydGlmaWNhdGVcIikudXNlKHApLHRoaXMua2V5KFwic2lnbmF0dXJlQWxnb3JpdGhtXCIpLnVzZShzKSx0aGlzLmtleShcInNpZ25hdHVyZVZhbHVlXCIpLmJpdHN0cigpKX0pKTtlLmV4cG9ydHM9dn0sNjUwMTpmdW5jdGlvbihlLHQscil7dmFyIGk9L1Byb2MtVHlwZTogNCxFTkNSWVBURURbXFxuXFxyXStERUstSW5mbzogQUVTLSgoPzoxMjgpfCg/OjE5Mil8KD86MjU2KSktQ0JDLChbMC05QS1IXSspW1xcblxccl0rKFswLTlBLXpcXG5cXHJcXCtcXC9cXD1dKylbXFxuXFxyXSsvbTt2YXIgbj0vXi0tLS0tQkVHSU4gKCg/Oi4qPyBLRVkpfENFUlRJRklDQVRFKS0tLS0tL207dmFyIGE9L14tLS0tLUJFR0lOICgoPzouKj8gS0VZKXxDRVJUSUZJQ0FURSktLS0tLShbMC05QS16XFxuXFxyXFwrXFwvXFw9XSspLS0tLS1FTkQgXFwxLS0tLS0kL207dmFyIHM9cig4MzY4KTt2YXIgbz1yKDY1OTQpO3ZhciBoPXIoNjkxMSkuQnVmZmVyO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByPWUudG9TdHJpbmcoKTt2YXIgdT1yLm1hdGNoKGkpO3ZhciBkO2lmKCF1KXt2YXIgYz1yLm1hdGNoKGEpO2Q9bmV3IGgoY1syXS5yZXBsYWNlKC9bXFxyXFxuXS9nLFwiXCIpLFwiYmFzZTY0XCIpfWVsc2V7dmFyIGw9XCJhZXNcIit1WzFdO3ZhciBwPWguZnJvbSh1WzJdLFwiaGV4XCIpO3ZhciB2PWguZnJvbSh1WzNdLnJlcGxhY2UoL1tcXHJcXG5dL2csXCJcIiksXCJiYXNlNjRcIik7dmFyIGI9cyh0LHAuc2xpY2UoMCw4KSxwYXJzZUludCh1WzFdLDEwKSkua2V5O3ZhciBtPVtdO3ZhciB5PW8uY3JlYXRlRGVjaXBoZXJpdihsLGIscCk7bS5wdXNoKHkudXBkYXRlKHYpKTttLnB1c2goeS5maW5hbCgpKTtkPWguY29uY2F0KG0pfXZhciBnPXIubWF0Y2gobilbMV07cmV0dXJue3RhZzpnLGRhdGE6ZH19fSw5OTAyOmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDg2ODcpO3ZhciBuPXIoMjUxMCk7dmFyIGE9cig2NTAxKTt2YXIgcz1yKDY1OTQpO3ZhciBvPXIoNDk3OCk7dmFyIGg9cig2OTExKS5CdWZmZXI7ZS5leHBvcnRzPXBhcnNlS2V5cztmdW5jdGlvbiBwYXJzZUtleXMoZSl7dmFyIHQ7aWYodHlwZW9mIGU9PT1cIm9iamVjdFwiJiYhaC5pc0J1ZmZlcihlKSl7dD1lLnBhc3NwaHJhc2U7ZT1lLmtleX1pZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe2U9aC5mcm9tKGUpfXZhciByPWEoZSx0KTt2YXIgbj1yLnRhZzt2YXIgcz1yLmRhdGE7dmFyIG8sdTtzd2l0Y2gobil7Y2FzZVwiQ0VSVElGSUNBVEVcIjp1PWkuY2VydGlmaWNhdGUuZGVjb2RlKHMsXCJkZXJcIikudGJzQ2VydGlmaWNhdGUuc3ViamVjdFB1YmxpY0tleUluZm87Y2FzZVwiUFVCTElDIEtFWVwiOmlmKCF1KXt1PWkuUHVibGljS2V5LmRlY29kZShzLFwiZGVyXCIpfW89dS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oXCIuXCIpO3N3aXRjaChvKXtjYXNlXCIxLjIuODQwLjExMzU0OS4xLjEuMVwiOnJldHVybiBpLlJTQVB1YmxpY0tleS5kZWNvZGUodS5zdWJqZWN0UHVibGljS2V5LmRhdGEsXCJkZXJcIik7Y2FzZVwiMS4yLjg0MC4xMDA0NS4yLjFcIjp1LnN1YmplY3RQcml2YXRlS2V5PXUuc3ViamVjdFB1YmxpY0tleTtyZXR1cm57dHlwZTpcImVjXCIsZGF0YTp1fTtjYXNlXCIxLjIuODQwLjEwMDQwLjQuMVwiOnUuYWxnb3JpdGhtLnBhcmFtcy5wdWJfa2V5PWkuRFNBcGFyYW0uZGVjb2RlKHUuc3ViamVjdFB1YmxpY0tleS5kYXRhLFwiZGVyXCIpO3JldHVybnt0eXBlOlwiZHNhXCIsZGF0YTp1LmFsZ29yaXRobS5wYXJhbXN9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwidW5rbm93biBrZXkgaWQgXCIrbyl9dGhyb3cgbmV3IEVycm9yKFwidW5rbm93biBrZXkgdHlwZSBcIituKTtjYXNlXCJFTkNSWVBURUQgUFJJVkFURSBLRVlcIjpzPWkuRW5jcnlwdGVkUHJpdmF0ZUtleS5kZWNvZGUocyxcImRlclwiKTtzPWRlY3J5cHQocyx0KTtjYXNlXCJQUklWQVRFIEtFWVwiOnU9aS5Qcml2YXRlS2V5LmRlY29kZShzLFwiZGVyXCIpO289dS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oXCIuXCIpO3N3aXRjaChvKXtjYXNlXCIxLjIuODQwLjExMzU0OS4xLjEuMVwiOnJldHVybiBpLlJTQVByaXZhdGVLZXkuZGVjb2RlKHUuc3ViamVjdFByaXZhdGVLZXksXCJkZXJcIik7Y2FzZVwiMS4yLjg0MC4xMDA0NS4yLjFcIjpyZXR1cm57Y3VydmU6dS5hbGdvcml0aG0uY3VydmUscHJpdmF0ZUtleTppLkVDUHJpdmF0ZUtleS5kZWNvZGUodS5zdWJqZWN0UHJpdmF0ZUtleSxcImRlclwiKS5wcml2YXRlS2V5fTtjYXNlXCIxLjIuODQwLjEwMDQwLjQuMVwiOnUuYWxnb3JpdGhtLnBhcmFtcy5wcml2X2tleT1pLkRTQXBhcmFtLmRlY29kZSh1LnN1YmplY3RQcml2YXRlS2V5LFwiZGVyXCIpO3JldHVybnt0eXBlOlwiZHNhXCIscGFyYW1zOnUuYWxnb3JpdGhtLnBhcmFtc307ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJ1bmtub3duIGtleSBpZCBcIitvKX10aHJvdyBuZXcgRXJyb3IoXCJ1bmtub3duIGtleSB0eXBlIFwiK24pO2Nhc2VcIlJTQSBQVUJMSUMgS0VZXCI6cmV0dXJuIGkuUlNBUHVibGljS2V5LmRlY29kZShzLFwiZGVyXCIpO2Nhc2VcIlJTQSBQUklWQVRFIEtFWVwiOnJldHVybiBpLlJTQVByaXZhdGVLZXkuZGVjb2RlKHMsXCJkZXJcIik7Y2FzZVwiRFNBIFBSSVZBVEUgS0VZXCI6cmV0dXJue3R5cGU6XCJkc2FcIixwYXJhbXM6aS5EU0FQcml2YXRlS2V5LmRlY29kZShzLFwiZGVyXCIpfTtjYXNlXCJFQyBQUklWQVRFIEtFWVwiOnM9aS5FQ1ByaXZhdGVLZXkuZGVjb2RlKHMsXCJkZXJcIik7cmV0dXJue2N1cnZlOnMucGFyYW1ldGVycy52YWx1ZSxwcml2YXRlS2V5OnMucHJpdmF0ZUtleX07ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJ1bmtub3duIGtleSB0eXBlIFwiK24pfX1wYXJzZUtleXMuc2lnbmF0dXJlPWkuc2lnbmF0dXJlO2Z1bmN0aW9uIGRlY3J5cHQoZSx0KXt2YXIgcj1lLmFsZ29yaXRobS5kZWNyeXB0LmtkZS5rZGVwYXJhbXMuc2FsdDt2YXIgaT1wYXJzZUludChlLmFsZ29yaXRobS5kZWNyeXB0LmtkZS5rZGVwYXJhbXMuaXRlcnMudG9TdHJpbmcoKSwxMCk7dmFyIGE9bltlLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5hbGdvLmpvaW4oXCIuXCIpXTt2YXIgdT1lLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5pdjt2YXIgZD1lLnN1YmplY3RQcml2YXRlS2V5O3ZhciBjPXBhcnNlSW50KGEuc3BsaXQoXCItXCIpWzFdLDEwKS84O3ZhciBsPW8ucGJrZGYyU3luYyh0LHIsaSxjLFwic2hhMVwiKTt2YXIgcD1zLmNyZWF0ZURlY2lwaGVyaXYoYSxsLHUpO3ZhciB2PVtdO3YucHVzaChwLnVwZGF0ZShkKSk7di5wdXNoKHAuZmluYWwoKSk7cmV0dXJuIGguY29uY2F0KHYpfX0sNDk3ODpmdW5jdGlvbihlLHQscil7dmFyIGk9cig2MTEzKTt2YXIgbj1yKDUzNDkpO3ZhciBhPXIoNzAwNyk7dmFyIHM9cig1NDA3KTtmdW5jdGlvbiBuYXRpdmVQQktERjIoZSx0LHIsbyxoLHUpe24ocixvKTtlPXMoZSxhLFwiUGFzc3dvcmRcIik7dD1zKHQsYSxcIlNhbHRcIik7aWYodHlwZW9mIGg9PT1cImZ1bmN0aW9uXCIpe3U9aDtoPVwic2hhMVwifWlmKHR5cGVvZiB1IT09XCJmdW5jdGlvblwiKXRocm93IG5ldyBFcnJvcihcIk5vIGNhbGxiYWNrIHByb3ZpZGVkIHRvIHBia2RmMlwiKTtyZXR1cm4gaS5wYmtkZjIoZSx0LHIsbyxoLHUpfWZ1bmN0aW9uIG5hdGl2ZVBCS0RGMlN5bmMoZSx0LHIsbyxoKXtuKHIsbyk7ZT1zKGUsYSxcIlBhc3N3b3JkXCIpO3Q9cyh0LGEsXCJTYWx0XCIpO2g9aHx8XCJzaGExXCI7cmV0dXJuIGkucGJrZGYyU3luYyhlLHQscixvLGgpfWlmKCFpLnBia2RmMlN5bmN8fGkucGJrZGYyU3luYy50b1N0cmluZygpLmluZGV4T2YoXCJrZXlsZW4sIGRpZ2VzdFwiKT09PS0xKXt0LnBia2RmMlN5bmM9cigyMTI3KTt0LnBia2RmMj1yKDk2MDEpfWVsc2V7dC5wYmtkZjJTeW5jPW5hdGl2ZVBCS0RGMlN5bmM7dC5wYmtkZjI9bmF0aXZlUEJLREYyfX0sOTYwMTpmdW5jdGlvbihlLHQscil7dmFyIGk9cig2OTExKS5CdWZmZXI7dmFyIG49cig1MzQ5KTt2YXIgYT1yKDcwMDcpO3ZhciBzPXIoMjEyNyk7dmFyIG89cig1NDA3KTt2YXIgaDt2YXIgdT1nbG9iYWwuY3J5cHRvJiZnbG9iYWwuY3J5cHRvLnN1YnRsZTt2YXIgZD17c2hhOlwiU0hBLTFcIixcInNoYS0xXCI6XCJTSEEtMVwiLHNoYTE6XCJTSEEtMVwiLHNoYTI1NjpcIlNIQS0yNTZcIixcInNoYS0yNTZcIjpcIlNIQS0yNTZcIixzaGEzODQ6XCJTSEEtMzg0XCIsXCJzaGEtMzg0XCI6XCJTSEEtMzg0XCIsXCJzaGEtNTEyXCI6XCJTSEEtNTEyXCIsc2hhNTEyOlwiU0hBLTUxMlwifTt2YXIgYz1bXTtmdW5jdGlvbiBjaGVja05hdGl2ZShlKXtpZihnbG9iYWwucHJvY2VzcyYmIWdsb2JhbC5wcm9jZXNzLmJyb3dzZXIpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpfWlmKCF1fHwhdS5pbXBvcnRLZXl8fCF1LmRlcml2ZUJpdHMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpfWlmKGNbZV0hPT11bmRlZmluZWQpe3JldHVybiBjW2VdfWg9aHx8aS5hbGxvYyg4KTt2YXIgdD1icm93c2VyUGJrZGYyKGgsaCwxMCwxMjgsZSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9KSk7Y1tlXT10O3JldHVybiB0fWZ1bmN0aW9uIGJyb3dzZXJQYmtkZjIoZSx0LHIsbixhKXtyZXR1cm4gdS5pbXBvcnRLZXkoXCJyYXdcIixlLHtuYW1lOlwiUEJLREYyXCJ9LGZhbHNlLFtcImRlcml2ZUJpdHNcIl0pLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiB1LmRlcml2ZUJpdHMoe25hbWU6XCJQQktERjJcIixzYWx0OnQsaXRlcmF0aW9uczpyLGhhc2g6e25hbWU6YX19LGUsbjw8Myl9KSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZnJvbShlKX0pKX1mdW5jdGlvbiByZXNvbHZlUHJvbWlzZShlLHQpe2UudGhlbigoZnVuY3Rpb24oZSl7cHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXt0KG51bGwsZSl9KSl9KSwoZnVuY3Rpb24oZSl7cHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXt0KGUpfSkpfSkpfWUuZXhwb3J0cz1mdW5jdGlvbihlLHQscixpLGgsdSl7aWYodHlwZW9mIGg9PT1cImZ1bmN0aW9uXCIpe3U9aDtoPXVuZGVmaW5lZH1oPWh8fFwic2hhMVwiO3ZhciBjPWRbaC50b0xvd2VyQ2FzZSgpXTtpZighY3x8dHlwZW9mIGdsb2JhbC5Qcm9taXNlIT09XCJmdW5jdGlvblwiKXtyZXR1cm4gcHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXt2YXIgbjt0cnl7bj1zKGUsdCxyLGksaCl9Y2F0Y2goZSl7cmV0dXJuIHUoZSl9dShudWxsLG4pfSkpfW4ocixpKTtlPW8oZSxhLFwiUGFzc3dvcmRcIik7dD1vKHQsYSxcIlNhbHRcIik7aWYodHlwZW9mIHUhPT1cImZ1bmN0aW9uXCIpdGhyb3cgbmV3IEVycm9yKFwiTm8gY2FsbGJhY2sgcHJvdmlkZWQgdG8gcGJrZGYyXCIpO3Jlc29sdmVQcm9taXNlKGNoZWNrTmF0aXZlKGMpLnRoZW4oKGZ1bmN0aW9uKG4pe2lmKG4pcmV0dXJuIGJyb3dzZXJQYmtkZjIoZSx0LHIsaSxjKTtyZXR1cm4gcyhlLHQscixpLGgpfSkpLHUpfX0sNzAwNzpmdW5jdGlvbihlKXt2YXIgdDtpZihwcm9jZXNzLmJyb3dzZXIpe3Q9XCJ1dGYtOFwifWVsc2UgaWYocHJvY2Vzcy52ZXJzaW9uKXt2YXIgcj1wYXJzZUludChwcm9jZXNzLnZlcnNpb24uc3BsaXQoXCIuXCIpWzBdLnNsaWNlKDEpLDEwKTt0PXI+PTY/XCJ1dGYtOFwiOlwiYmluYXJ5XCJ9ZWxzZXt0PVwidXRmLThcIn1lLmV4cG9ydHM9dH0sNTM0OTpmdW5jdGlvbihlKXt2YXIgdD1NYXRoLnBvdygyLDMwKS0xO2UuZXhwb3J0cz1mdW5jdGlvbihlLHIpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkl0ZXJhdGlvbnMgbm90IGEgbnVtYmVyXCIpfWlmKGU8MCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkJhZCBpdGVyYXRpb25zXCIpfWlmKHR5cGVvZiByIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIktleSBsZW5ndGggbm90IGEgbnVtYmVyXCIpfWlmKHI8MHx8cj50fHxyIT09cil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkJhZCBrZXkgbGVuZ3RoXCIpfX19LDIxMjc6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXttZDU6MTYsc2hhMToyMCxzaGEyMjQ6Mjgsc2hhMjU2OjMyLHNoYTM4NDo0OCxzaGE1MTI6NjQscm1kMTYwOjIwLHJpcGVtZDE2MDoyMH07dmFyIG49cig0ODczKTt2YXIgYT1yKDY5MTEpLkJ1ZmZlcjt2YXIgcz1yKDUzNDkpO3ZhciBvPXIoNzAwNyk7dmFyIGg9cig1NDA3KTtmdW5jdGlvbiBwYmtkZjIoZSx0LHIsdSxkKXtzKHIsdSk7ZT1oKGUsbyxcIlBhc3N3b3JkXCIpO3Q9aCh0LG8sXCJTYWx0XCIpO2Q9ZHx8XCJzaGExXCI7dmFyIGM9YS5hbGxvY1Vuc2FmZSh1KTt2YXIgbD1hLmFsbG9jVW5zYWZlKHQubGVuZ3RoKzQpO3QuY29weShsLDAsMCx0Lmxlbmd0aCk7dmFyIHA9MDt2YXIgdj1pW2RdO3ZhciBiPU1hdGguY2VpbCh1L3YpO2Zvcih2YXIgbT0xO208PWI7bSsrKXtsLndyaXRlVUludDMyQkUobSx0Lmxlbmd0aCk7dmFyIHk9bihkLGUpLnVwZGF0ZShsKS5kaWdlc3QoKTt2YXIgZz15O2Zvcih2YXIgXz0xO188cjtfKyspe2c9bihkLGUpLnVwZGF0ZShnKS5kaWdlc3QoKTtmb3IodmFyIHc9MDt3PHY7dysrKXlbd11ePWdbd119eS5jb3B5KGMscCk7cCs9dn1yZXR1cm4gY31lLmV4cG9ydHM9cGJrZGYyfSw1NDA3OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDY5MTEpLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIpe2lmKGkuaXNCdWZmZXIoZSkpe3JldHVybiBlfWVsc2UgaWYodHlwZW9mIGU9PT1cInN0cmluZ1wiKXtyZXR1cm4gaS5mcm9tKGUsdCl9ZWxzZSBpZihBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpe3JldHVybiBpLmZyb20oZS5idWZmZXIpfWVsc2V7dGhyb3cgbmV3IFR5cGVFcnJvcihyK1wiIG11c3QgYmUgYSBzdHJpbmcsIGEgQnVmZmVyLCBhIHR5cGVkIGFycmF5IG9yIGEgRGF0YVZpZXdcIil9fX0sOTc4MzpmdW5jdGlvbihlLHQscil7dC5wdWJsaWNFbmNyeXB0PXIoMzk5NSk7dC5wcml2YXRlRGVjcnlwdD1yKDQzNjYpO3QucHJpdmF0ZUVuY3J5cHQ9ZnVuY3Rpb24gcHJpdmF0ZUVuY3J5cHQoZSxyKXtyZXR1cm4gdC5wdWJsaWNFbmNyeXB0KGUscix0cnVlKX07dC5wdWJsaWNEZWNyeXB0PWZ1bmN0aW9uIHB1YmxpY0RlY3J5cHQoZSxyKXtyZXR1cm4gdC5wcml2YXRlRGVjcnlwdChlLHIsdHJ1ZSl9fSw1NTIwOmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDk3MzkpO3ZhciBuPXIoNjkxMSkuQnVmZmVyO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByPW4uYWxsb2MoMCk7dmFyIGE9MDt2YXIgczt3aGlsZShyLmxlbmd0aDx0KXtzPWkyb3BzKGErKyk7cj1uLmNvbmNhdChbcixpKFwic2hhMVwiKS51cGRhdGUoZSkudXBkYXRlKHMpLmRpZ2VzdCgpXSl9cmV0dXJuIHIuc2xpY2UoMCx0KX07ZnVuY3Rpb24gaTJvcHMoZSl7dmFyIHQ9bi5hbGxvY1Vuc2FmZSg0KTt0LndyaXRlVUludDMyQkUoZSwwKTtyZXR1cm4gdH19LDQzNjY6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoOTkwMik7dmFyIG49cig1NTIwKTt2YXIgYT1yKDYzODYpO3ZhciBzPXIoNzExKTt2YXIgbz1yKDcxNjYpO3ZhciBoPXIoOTczOSk7dmFyIHU9cigxNjA3KTt2YXIgZD1yKDY5MTEpLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24gcHJpdmF0ZURlY3J5cHQoZSx0LHIpe3ZhciBuO2lmKGUucGFkZGluZyl7bj1lLnBhZGRpbmd9ZWxzZSBpZihyKXtuPTF9ZWxzZXtuPTR9dmFyIGE9aShlKTt2YXIgaD1hLm1vZHVsdXMuYnl0ZUxlbmd0aCgpO2lmKHQubGVuZ3RoPmh8fG5ldyBzKHQpLmNtcChhLm1vZHVsdXMpPj0wKXt0aHJvdyBuZXcgRXJyb3IoXCJkZWNyeXB0aW9uIGVycm9yXCIpfXZhciBjO2lmKHIpe2M9dShuZXcgcyh0KSxhKX1lbHNle2M9byh0LGEpfXZhciBsPWQuYWxsb2MoaC1jLmxlbmd0aCk7Yz1kLmNvbmNhdChbbCxjXSxoKTtpZihuPT09NCl7cmV0dXJuIG9hZXAoYSxjKX1lbHNlIGlmKG49PT0xKXtyZXR1cm4gcGtjczEoYSxjLHIpfWVsc2UgaWYobj09PTMpe3JldHVybiBjfWVsc2V7dGhyb3cgbmV3IEVycm9yKFwidW5rbm93biBwYWRkaW5nXCIpfX07ZnVuY3Rpb24gb2FlcChlLHQpe3ZhciByPWUubW9kdWx1cy5ieXRlTGVuZ3RoKCk7dmFyIGk9aChcInNoYTFcIikudXBkYXRlKGQuYWxsb2MoMCkpLmRpZ2VzdCgpO3ZhciBzPWkubGVuZ3RoO2lmKHRbMF0hPT0wKXt0aHJvdyBuZXcgRXJyb3IoXCJkZWNyeXB0aW9uIGVycm9yXCIpfXZhciBvPXQuc2xpY2UoMSxzKzEpO3ZhciB1PXQuc2xpY2UocysxKTt2YXIgYz1hKG8sbih1LHMpKTt2YXIgbD1hKHUsbihjLHItcy0xKSk7aWYoY29tcGFyZShpLGwuc2xpY2UoMCxzKSkpe3Rocm93IG5ldyBFcnJvcihcImRlY3J5cHRpb24gZXJyb3JcIil9dmFyIHA9czt3aGlsZShsW3BdPT09MCl7cCsrfWlmKGxbcCsrXSE9PTEpe3Rocm93IG5ldyBFcnJvcihcImRlY3J5cHRpb24gZXJyb3JcIil9cmV0dXJuIGwuc2xpY2UocCl9ZnVuY3Rpb24gcGtjczEoZSx0LHIpe3ZhciBpPXQuc2xpY2UoMCwyKTt2YXIgbj0yO3ZhciBhPTA7d2hpbGUodFtuKytdIT09MCl7aWYobj49dC5sZW5ndGgpe2ErKzticmVha319dmFyIHM9dC5zbGljZSgyLG4tMSk7aWYoaS50b1N0cmluZyhcImhleFwiKSE9PVwiMDAwMlwiJiYhcnx8aS50b1N0cmluZyhcImhleFwiKSE9PVwiMDAwMVwiJiZyKXthKyt9aWYocy5sZW5ndGg8OCl7YSsrfWlmKGEpe3Rocm93IG5ldyBFcnJvcihcImRlY3J5cHRpb24gZXJyb3JcIil9cmV0dXJuIHQuc2xpY2Uobil9ZnVuY3Rpb24gY29tcGFyZShlLHQpe2U9ZC5mcm9tKGUpO3Q9ZC5mcm9tKHQpO3ZhciByPTA7dmFyIGk9ZS5sZW5ndGg7aWYoZS5sZW5ndGghPT10Lmxlbmd0aCl7cisrO2k9TWF0aC5taW4oZS5sZW5ndGgsdC5sZW5ndGgpfXZhciBuPS0xO3doaWxlKCsrbjxpKXtyKz1lW25dXnRbbl19cmV0dXJuIHJ9fSwzOTk1OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDk5MDIpO3ZhciBuPXIoNzIyMyk7dmFyIGE9cig5NzM5KTt2YXIgcz1yKDU1MjApO3ZhciBvPXIoNjM4Nik7dmFyIGg9cig3MTEpO3ZhciB1PXIoMTYwNyk7dmFyIGQ9cig3MTY2KTt2YXIgYz1yKDY5MTEpLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24gcHVibGljRW5jcnlwdChlLHQscil7dmFyIG47aWYoZS5wYWRkaW5nKXtuPWUucGFkZGluZ31lbHNlIGlmKHIpe249MX1lbHNle249NH12YXIgYT1pKGUpO3ZhciBzO2lmKG49PT00KXtzPW9hZXAoYSx0KX1lbHNlIGlmKG49PT0xKXtzPXBrY3MxKGEsdCxyKX1lbHNlIGlmKG49PT0zKXtzPW5ldyBoKHQpO2lmKHMuY21wKGEubW9kdWx1cyk+PTApe3Rocm93IG5ldyBFcnJvcihcImRhdGEgdG9vIGxvbmcgZm9yIG1vZHVsdXNcIil9fWVsc2V7dGhyb3cgbmV3IEVycm9yKFwidW5rbm93biBwYWRkaW5nXCIpfWlmKHIpe3JldHVybiBkKHMsYSl9ZWxzZXtyZXR1cm4gdShzLGEpfX07ZnVuY3Rpb24gb2FlcChlLHQpe3ZhciByPWUubW9kdWx1cy5ieXRlTGVuZ3RoKCk7dmFyIGk9dC5sZW5ndGg7dmFyIHU9YShcInNoYTFcIikudXBkYXRlKGMuYWxsb2MoMCkpLmRpZ2VzdCgpO3ZhciBkPXUubGVuZ3RoO3ZhciBsPTIqZDtpZihpPnItbC0yKXt0aHJvdyBuZXcgRXJyb3IoXCJtZXNzYWdlIHRvbyBsb25nXCIpfXZhciBwPWMuYWxsb2Moci1pLWwtMik7dmFyIHY9ci1kLTE7dmFyIGI9bihkKTt2YXIgbT1vKGMuY29uY2F0KFt1LHAsYy5hbGxvYygxLDEpLHRdLHYpLHMoYix2KSk7dmFyIHk9byhiLHMobSxkKSk7cmV0dXJuIG5ldyBoKGMuY29uY2F0KFtjLmFsbG9jKDEpLHksbV0scikpfWZ1bmN0aW9uIHBrY3MxKGUsdCxyKXt2YXIgaT10Lmxlbmd0aDt2YXIgbj1lLm1vZHVsdXMuYnl0ZUxlbmd0aCgpO2lmKGk+bi0xMSl7dGhyb3cgbmV3IEVycm9yKFwibWVzc2FnZSB0b28gbG9uZ1wiKX12YXIgYTtpZihyKXthPWMuYWxsb2Mobi1pLTMsMjU1KX1lbHNle2E9bm9uWmVybyhuLWktMyl9cmV0dXJuIG5ldyBoKGMuY29uY2F0KFtjLmZyb20oWzAscj8xOjJdKSxhLGMuYWxsb2MoMSksdF0sbikpfWZ1bmN0aW9uIG5vblplcm8oZSl7dmFyIHQ9Yy5hbGxvY1Vuc2FmZShlKTt2YXIgcj0wO3ZhciBpPW4oZSoyKTt2YXIgYT0wO3ZhciBzO3doaWxlKHI8ZSl7aWYoYT09PWkubGVuZ3RoKXtpPW4oZSoyKTthPTB9cz1pW2ErK107aWYocyl7dFtyKytdPXN9fXJldHVybiB0fX0sMTYwNzpmdW5jdGlvbihlLHQscil7dmFyIGk9cig3MTEpO3ZhciBuPXIoNjkxMSkuQnVmZmVyO2Z1bmN0aW9uIHdpdGhQdWJsaWMoZSx0KXtyZXR1cm4gbi5mcm9tKGUudG9SZWQoaS5tb250KHQubW9kdWx1cykpLnJlZFBvdyhuZXcgaSh0LnB1YmxpY0V4cG9uZW50KSkuZnJvbVJlZCgpLnRvQXJyYXkoKSl9ZS5leHBvcnRzPXdpdGhQdWJsaWN9LDYzODY6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPWZ1bmN0aW9uIHhvcihlLHQpe3ZhciByPWUubGVuZ3RoO3ZhciBpPS0xO3doaWxlKCsraTxyKXtlW2ldXj10W2ldfXJldHVybiBlfX0sNzIyMzpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9NjU1MzY7dmFyIG49NDI5NDk2NzI5NTtmdW5jdGlvbiBvbGRCcm93c2VyKCl7dGhyb3cgbmV3IEVycm9yKFwiU2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3Nlci5cXG5Vc2UgQ2hyb21lLCBGaXJlZm94IG9yIEludGVybmV0IEV4cGxvcmVyIDExXCIpfXZhciBhPXIoNjkxMSkuQnVmZmVyO3ZhciBzPWdsb2JhbC5jcnlwdG98fGdsb2JhbC5tc0NyeXB0bztpZihzJiZzLmdldFJhbmRvbVZhbHVlcyl7ZS5leHBvcnRzPXJhbmRvbUJ5dGVzfWVsc2V7ZS5leHBvcnRzPW9sZEJyb3dzZXJ9ZnVuY3Rpb24gcmFuZG9tQnl0ZXMoZSx0KXtpZihlPm4pdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJyZXF1ZXN0ZWQgdG9vIG1hbnkgcmFuZG9tIGJ5dGVzXCIpO3ZhciByPWEuYWxsb2NVbnNhZmUoZSk7aWYoZT4wKXtpZihlPmkpe2Zvcih2YXIgbz0wO288ZTtvKz1pKXtzLmdldFJhbmRvbVZhbHVlcyhyLnNsaWNlKG8sbytpKSl9fWVsc2V7cy5nZXRSYW5kb21WYWx1ZXMocil9fWlmKHR5cGVvZiB0PT09XCJmdW5jdGlvblwiKXtyZXR1cm4gcHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXt0KG51bGwscil9KSl9cmV0dXJuIHJ9fSw2NDQ1OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBvbGRCcm93c2VyKCl7dGhyb3cgbmV3IEVycm9yKFwic2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlclxcbnVzZSBjaHJvbWUsIEZpcmVGb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTFcIil9dmFyIGk9cig2OTExKTt2YXIgbj1yKDcyMjMpO3ZhciBhPWkuQnVmZmVyO3ZhciBzPWkua01heExlbmd0aDt2YXIgbz1nbG9iYWwuY3J5cHRvfHxnbG9iYWwubXNDcnlwdG87dmFyIGg9TWF0aC5wb3coMiwzMiktMTtmdW5jdGlvbiBhc3NlcnRPZmZzZXQoZSx0KXtpZih0eXBlb2YgZSE9PVwibnVtYmVyXCJ8fGUhPT1lKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwib2Zmc2V0IG11c3QgYmUgYSBudW1iZXJcIil9aWYoZT5ofHxlPDApe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJvZmZzZXQgbXVzdCBiZSBhIHVpbnQzMlwiKX1pZihlPnN8fGU+dCl7dGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvZmZzZXQgb3V0IG9mIHJhbmdlXCIpfX1mdW5jdGlvbiBhc3NlcnRTaXplKGUsdCxyKXtpZih0eXBlb2YgZSE9PVwibnVtYmVyXCJ8fGUhPT1lKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwic2l6ZSBtdXN0IGJlIGEgbnVtYmVyXCIpfWlmKGU+aHx8ZTwwKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwic2l6ZSBtdXN0IGJlIGEgdWludDMyXCIpfWlmKGUrdD5yfHxlPnMpe3Rocm93IG5ldyBSYW5nZUVycm9yKFwiYnVmZmVyIHRvbyBzbWFsbFwiKX19aWYobyYmby5nZXRSYW5kb21WYWx1ZXN8fCFwcm9jZXNzLmJyb3dzZXIpe3QucmFuZG9tRmlsbD1yYW5kb21GaWxsO3QucmFuZG9tRmlsbFN5bmM9cmFuZG9tRmlsbFN5bmN9ZWxzZXt0LnJhbmRvbUZpbGw9b2xkQnJvd3Nlcjt0LnJhbmRvbUZpbGxTeW5jPW9sZEJyb3dzZXJ9ZnVuY3Rpb24gcmFuZG9tRmlsbChlLHQscixpKXtpZighYS5pc0J1ZmZlcihlKSYmIShlIGluc3RhbmNlb2YgZ2xvYmFsLlVpbnQ4QXJyYXkpKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdcImJ1ZlwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpfWlmKHR5cGVvZiB0PT09XCJmdW5jdGlvblwiKXtpPXQ7dD0wO3I9ZS5sZW5ndGh9ZWxzZSBpZih0eXBlb2Ygcj09PVwiZnVuY3Rpb25cIil7aT1yO3I9ZS5sZW5ndGgtdH1lbHNlIGlmKHR5cGVvZiBpIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdcImNiXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyl9YXNzZXJ0T2Zmc2V0KHQsZS5sZW5ndGgpO2Fzc2VydFNpemUocix0LGUubGVuZ3RoKTtyZXR1cm4gYWN0dWFsRmlsbChlLHQscixpKX1mdW5jdGlvbiBhY3R1YWxGaWxsKGUsdCxyLGkpe2lmKHByb2Nlc3MuYnJvd3Nlcil7dmFyIGE9ZS5idWZmZXI7dmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSx0LHIpO28uZ2V0UmFuZG9tVmFsdWVzKHMpO2lmKGkpe3Byb2Nlc3MubmV4dFRpY2soKGZ1bmN0aW9uKCl7aShudWxsLGUpfSkpO3JldHVybn1yZXR1cm4gZX1pZihpKXtuKHIsKGZ1bmN0aW9uKHIsbil7aWYocil7cmV0dXJuIGkocil9bi5jb3B5KGUsdCk7aShudWxsLGUpfSkpO3JldHVybn12YXIgaD1uKHIpO2guY29weShlLHQpO3JldHVybiBlfWZ1bmN0aW9uIHJhbmRvbUZpbGxTeW5jKGUsdCxyKXtpZih0eXBlb2YgdD09PVwidW5kZWZpbmVkXCIpe3Q9MH1pZighYS5pc0J1ZmZlcihlKSYmIShlIGluc3RhbmNlb2YgZ2xvYmFsLlVpbnQ4QXJyYXkpKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdcImJ1ZlwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpfWFzc2VydE9mZnNldCh0LGUubGVuZ3RoKTtpZihyPT09dW5kZWZpbmVkKXI9ZS5sZW5ndGgtdDthc3NlcnRTaXplKHIsdCxlLmxlbmd0aCk7cmV0dXJuIGFjdHVhbEZpbGwoZSx0LHIpfX0sNDY0NjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtjb25zdCB0PXt9O2Z1bmN0aW9uIGNyZWF0ZUVycm9yVHlwZShlLHIsaSl7aWYoIWkpe2k9RXJyb3J9ZnVuY3Rpb24gZ2V0TWVzc2FnZShlLHQsaSl7aWYodHlwZW9mIHI9PT1cInN0cmluZ1wiKXtyZXR1cm4gcn1lbHNle3JldHVybiByKGUsdCxpKX19Y2xhc3MgTm9kZUVycm9yIGV4dGVuZHMgaXtjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZ2V0TWVzc2FnZShlLHQscikpfX1Ob2RlRXJyb3IucHJvdG90eXBlLm5hbWU9aS5uYW1lO05vZGVFcnJvci5wcm90b3R5cGUuY29kZT1lO3RbZV09Tm9kZUVycm9yfWZ1bmN0aW9uIG9uZU9mKGUsdCl7aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcj1lLmxlbmd0aDtlPWUubWFwKChlPT5TdHJpbmcoZSkpKTtpZihyPjIpe3JldHVybmBvbmUgb2YgJHt0fSAke2Uuc2xpY2UoMCxyLTEpLmpvaW4oXCIsIFwiKX0sIG9yIGArZVtyLTFdfWVsc2UgaWYocj09PTIpe3JldHVybmBvbmUgb2YgJHt0fSAke2VbMF19IG9yICR7ZVsxXX1gfWVsc2V7cmV0dXJuYG9mICR7dH0gJHtlWzBdfWB9fWVsc2V7cmV0dXJuYG9mICR7dH0gJHtTdHJpbmcoZSl9YH19ZnVuY3Rpb24gc3RhcnRzV2l0aChlLHQscil7cmV0dXJuIGUuc3Vic3RyKCFyfHxyPDA/MDorcix0Lmxlbmd0aCk9PT10fWZ1bmN0aW9uIGVuZHNXaXRoKGUsdCxyKXtpZihyPT09dW5kZWZpbmVkfHxyPmUubGVuZ3RoKXtyPWUubGVuZ3RofXJldHVybiBlLnN1YnN0cmluZyhyLXQubGVuZ3RoLHIpPT09dH1mdW5jdGlvbiBpbmNsdWRlcyhlLHQscil7aWYodHlwZW9mIHIhPT1cIm51bWJlclwiKXtyPTB9aWYocit0Lmxlbmd0aD5lLmxlbmd0aCl7cmV0dXJuIGZhbHNlfWVsc2V7cmV0dXJuIGUuaW5kZXhPZih0LHIpIT09LTF9fWNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX09QVF9WQUxVRVwiLChmdW5jdGlvbihlLHQpe3JldHVybidUaGUgdmFsdWUgXCInK3QrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcIicrZSsnXCInfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9BUkdfVFlQRVwiLChmdW5jdGlvbihlLHQscil7bGV0IGk7aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiJiZzdGFydHNXaXRoKHQsXCJub3QgXCIpKXtpPVwibXVzdCBub3QgYmVcIjt0PXQucmVwbGFjZSgvXm5vdCAvLFwiXCIpfWVsc2V7aT1cIm11c3QgYmVcIn1sZXQgbjtpZihlbmRzV2l0aChlLFwiIGFyZ3VtZW50XCIpKXtuPWBUaGUgJHtlfSAke2l9ICR7b25lT2YodCxcInR5cGVcIil9YH1lbHNle2NvbnN0IHI9aW5jbHVkZXMoZSxcIi5cIik/XCJwcm9wZXJ0eVwiOlwiYXJndW1lbnRcIjtuPWBUaGUgXCIke2V9XCIgJHtyfSAke2l9ICR7b25lT2YodCxcInR5cGVcIil9YH1uKz1gLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIHJ9YDtyZXR1cm4gbn0pLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRlwiLFwic3RyZWFtLnB1c2goKSBhZnRlciBFT0ZcIik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URURcIiwoZnVuY3Rpb24oZSl7cmV0dXJuXCJUaGUgXCIrZStcIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkXCJ9KSk7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIixcIlByZW1hdHVyZSBjbG9zZVwiKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX0RFU1RST1lFRFwiLChmdW5jdGlvbihlKXtyZXR1cm5cIkNhbm5vdCBjYWxsIFwiK2UrXCIgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZFwifSkpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9NVUxUSVBMRV9DQUxMQkFDS1wiLFwiQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzXCIpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEVcIixcIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGVcIik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkRcIixcIndyaXRlIGFmdGVyIGVuZFwiKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX05VTExfVkFMVUVTXCIsXCJNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbVwiLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1VOS05PV05fRU5DT0RJTkdcIiwoZnVuY3Rpb24oZSl7cmV0dXJuXCJVbmtub3duIGVuY29kaW5nOiBcIitlfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UXCIsXCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudFwiKTtlLmV4cG9ydHMucT10fSwyNDAzOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpe3QucHVzaChyKX1yZXR1cm4gdH07ZS5leHBvcnRzPUR1cGxleDt2YXIgbj1yKDE3MDkpO3ZhciBhPXIoNzMzNyk7cigzNzgyKShEdXBsZXgsbik7e3ZhciBzPWkoYS5wcm90b3R5cGUpO2Zvcih2YXIgbz0wO288cy5sZW5ndGg7bysrKXt2YXIgaD1zW29dO2lmKCFEdXBsZXgucHJvdG90eXBlW2hdKUR1cGxleC5wcm90b3R5cGVbaF09YS5wcm90b3R5cGVbaF19fWZ1bmN0aW9uIER1cGxleChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKXJldHVybiBuZXcgRHVwbGV4KGUpO24uY2FsbCh0aGlzLGUpO2EuY2FsbCh0aGlzLGUpO3RoaXMuYWxsb3dIYWxmT3Blbj10cnVlO2lmKGUpe2lmKGUucmVhZGFibGU9PT1mYWxzZSl0aGlzLnJlYWRhYmxlPWZhbHNlO2lmKGUud3JpdGFibGU9PT1mYWxzZSl0aGlzLndyaXRhYmxlPWZhbHNlO2lmKGUuYWxsb3dIYWxmT3Blbj09PWZhbHNlKXt0aGlzLmFsbG93SGFsZk9wZW49ZmFsc2U7dGhpcy5vbmNlKFwiZW5kXCIsb25lbmQpfX19T2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pO2Z1bmN0aW9uIG9uZW5kKCl7aWYodGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZClyZXR1cm47cHJvY2Vzcy5uZXh0VGljayhvbkVuZE5ULHRoaXMpfWZ1bmN0aW9uIG9uRW5kTlQoZSl7ZS5lbmQoKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlPT09dW5kZWZpbmVkfHx0aGlzLl93cml0YWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uIHNldChlKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlPT09dW5kZWZpbmVkfHx0aGlzLl93cml0YWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm59dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZTt0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1lfX0pfSw3ODg5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9UGFzc1Rocm91Z2g7dmFyIGk9cigxMTcwKTtyKDM3ODIpKFBhc3NUaHJvdWdoLGkpO2Z1bmN0aW9uIFBhc3NUaHJvdWdoKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSlyZXR1cm4gbmV3IFBhc3NUaHJvdWdoKGUpO2kuY2FsbCh0aGlzLGUpfVBhc3NUaHJvdWdoLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKGUsdCxyKXtyKG51bGwsZSl9fSwxNzA5OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9UmVhZGFibGU7dmFyIGk7UmVhZGFibGUuUmVhZGFibGVTdGF0ZT1SZWFkYWJsZVN0YXRlO3ZhciBuPXIoMjM2MSkuRXZlbnRFbWl0dGVyO3ZhciBhPWZ1bmN0aW9uIEVFbGlzdGVuZXJDb3VudChlLHQpe3JldHVybiBlLmxpc3RlbmVycyh0KS5sZW5ndGh9O3ZhciBzPXIoNDY3OCk7dmFyIG89cig0MzAwKS5CdWZmZXI7dmFyIGg9Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBvLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gby5pc0J1ZmZlcihlKXx8ZSBpbnN0YW5jZW9mIGh9dmFyIHU9cigzODM3KTt2YXIgZDtpZih1JiZ1LmRlYnVnbG9nKXtkPXUuZGVidWdsb2coXCJzdHJlYW1cIil9ZWxzZXtkPWZ1bmN0aW9uIGRlYnVnKCl7fX12YXIgYz1yKDQzNzkpO3ZhciBsPXIoNzAyNSk7dmFyIHA9cig2Nzc2KSx2PXAuZ2V0SGlnaFdhdGVyTWFyazt2YXIgYj1yKDQ2NDYpLnEsbT1iLkVSUl9JTlZBTElEX0FSR19UWVBFLHk9Yi5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLGc9Yi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxfPWIuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDt2YXIgdzt2YXIgTTt2YXIgQjtyKDM3ODIpKFJlYWRhYmxlLHMpO3ZhciBFPWwuZXJyb3JPckRlc3Ryb3k7dmFyIGs9W1wiZXJyb3JcIixcImNsb3NlXCIsXCJkZXN0cm95XCIsXCJwYXVzZVwiLFwicmVzdW1lXCJdO2Z1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlLHQscil7aWYodHlwZW9mIGUucHJlcGVuZExpc3RlbmVyPT09XCJmdW5jdGlvblwiKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2lmKCFlLl9ldmVudHN8fCFlLl9ldmVudHNbdF0pZS5vbih0LHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlLl9ldmVudHNbdF0pKWUuX2V2ZW50c1t0XS51bnNoaWZ0KHIpO2Vsc2UgZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV19ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQsbil7aT1pfHxyKDI0MDMpO2U9ZXx8e307aWYodHlwZW9mIG4hPT1cImJvb2xlYW5cIiluPXQgaW5zdGFuY2VvZiBpO3RoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZTtpZihuKXRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS5yZWFkYWJsZU9iamVjdE1vZGU7dGhpcy5oaWdoV2F0ZXJNYXJrPXYodGhpcyxlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIsbik7dGhpcy5idWZmZXI9bmV3IGM7dGhpcy5sZW5ndGg9MDt0aGlzLnBpcGVzPW51bGw7dGhpcy5waXBlc0NvdW50PTA7dGhpcy5mbG93aW5nPW51bGw7dGhpcy5lbmRlZD1mYWxzZTt0aGlzLmVuZEVtaXR0ZWQ9ZmFsc2U7dGhpcy5yZWFkaW5nPWZhbHNlO3RoaXMuc3luYz10cnVlO3RoaXMubmVlZFJlYWRhYmxlPWZhbHNlO3RoaXMuZW1pdHRlZFJlYWRhYmxlPWZhbHNlO3RoaXMucmVhZGFibGVMaXN0ZW5pbmc9ZmFsc2U7dGhpcy5yZXN1bWVTY2hlZHVsZWQ9ZmFsc2U7dGhpcy5wYXVzZWQ9dHJ1ZTt0aGlzLmVtaXRDbG9zZT1lLmVtaXRDbG9zZSE9PWZhbHNlO3RoaXMuYXV0b0Rlc3Ryb3k9ISFlLmF1dG9EZXN0cm95O3RoaXMuZGVzdHJveWVkPWZhbHNlO3RoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIjt0aGlzLmF3YWl0RHJhaW49MDt0aGlzLnJlYWRpbmdNb3JlPWZhbHNlO3RoaXMuZGVjb2Rlcj1udWxsO3RoaXMuZW5jb2Rpbmc9bnVsbDtpZihlLmVuY29kaW5nKXtpZighdyl3PXIoMzcwNCkuczt0aGlzLmRlY29kZXI9bmV3IHcoZS5lbmNvZGluZyk7dGhpcy5lbmNvZGluZz1lLmVuY29kaW5nfX1mdW5jdGlvbiBSZWFkYWJsZShlKXtpPWl8fHIoMjQwMyk7aWYoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKXJldHVybiBuZXcgUmVhZGFibGUoZSk7dmFyIHQ9dGhpcyBpbnN0YW5jZW9mIGk7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgUmVhZGFibGVTdGF0ZShlLHRoaXMsdCk7dGhpcy5yZWFkYWJsZT10cnVlO2lmKGUpe2lmKHR5cGVvZiBlLnJlYWQ9PT1cImZ1bmN0aW9uXCIpdGhpcy5fcmVhZD1lLnJlYWQ7aWYodHlwZW9mIGUuZGVzdHJveT09PVwiZnVuY3Rpb25cIil0aGlzLl9kZXN0cm95PWUuZGVzdHJveX1zLmNhbGwodGhpcyl9T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKCF0aGlzLl9yZWFkYWJsZVN0YXRlKXtyZXR1cm59dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZX19KTtSZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveT1sLmRlc3Ryb3k7UmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9bC51bmRlc3Ryb3k7UmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX07UmVhZGFibGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9yZWFkYWJsZVN0YXRlO3ZhciBpO2lmKCFyLm9iamVjdE1vZGUpe2lmKHR5cGVvZiBlPT09XCJzdHJpbmdcIil7dD10fHxyLmRlZmF1bHRFbmNvZGluZztpZih0IT09ci5lbmNvZGluZyl7ZT1vLmZyb20oZSx0KTt0PVwiXCJ9aT10cnVlfX1lbHNle2k9dHJ1ZX1yZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLGUsdCxmYWxzZSxpKX07UmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLG51bGwsdHJ1ZSxmYWxzZSl9O2Z1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoZSx0LHIsaSxuKXtkKFwicmVhZGFibGVBZGRDaHVua1wiLHQpO3ZhciBhPWUuX3JlYWRhYmxlU3RhdGU7aWYodD09PW51bGwpe2EucmVhZGluZz1mYWxzZTtvbkVvZkNodW5rKGUsYSl9ZWxzZXt2YXIgcztpZighbilzPWNodW5rSW52YWxpZChhLHQpO2lmKHMpe0UoZSxzKX1lbHNlIGlmKGEub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MCl7aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhYS5vYmplY3RNb2RlJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1vLnByb3RvdHlwZSl7dD1fdWludDhBcnJheVRvQnVmZmVyKHQpfWlmKGkpe2lmKGEuZW5kRW1pdHRlZClFKGUsbmV3IF8pO2Vsc2UgYWRkQ2h1bmsoZSxhLHQsdHJ1ZSl9ZWxzZSBpZihhLmVuZGVkKXtFKGUsbmV3IHkpfWVsc2UgaWYoYS5kZXN0cm95ZWQpe3JldHVybiBmYWxzZX1lbHNle2EucmVhZGluZz1mYWxzZTtpZihhLmRlY29kZXImJiFyKXt0PWEuZGVjb2Rlci53cml0ZSh0KTtpZihhLm9iamVjdE1vZGV8fHQubGVuZ3RoIT09MClhZGRDaHVuayhlLGEsdCxmYWxzZSk7ZWxzZSBtYXliZVJlYWRNb3JlKGUsYSl9ZWxzZXthZGRDaHVuayhlLGEsdCxmYWxzZSl9fX1lbHNlIGlmKCFpKXthLnJlYWRpbmc9ZmFsc2U7bWF5YmVSZWFkTW9yZShlLGEpfX1yZXR1cm4hYS5lbmRlZCYmKGEubGVuZ3RoPGEuaGlnaFdhdGVyTWFya3x8YS5sZW5ndGg9PT0wKX1mdW5jdGlvbiBhZGRDaHVuayhlLHQscixpKXtpZih0LmZsb3dpbmcmJnQubGVuZ3RoPT09MCYmIXQuc3luYyl7dC5hd2FpdERyYWluPTA7ZS5lbWl0KFwiZGF0YVwiLHIpfWVsc2V7dC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoO2lmKGkpdC5idWZmZXIudW5zaGlmdChyKTtlbHNlIHQuYnVmZmVyLnB1c2gocik7aWYodC5uZWVkUmVhZGFibGUpZW1pdFJlYWRhYmxlKGUpfW1heWJlUmVhZE1vcmUoZSx0KX1mdW5jdGlvbiBjaHVua0ludmFsaWQoZSx0KXt2YXIgcjtpZighX2lzVWludDhBcnJheSh0KSYmdHlwZW9mIHQhPT1cInN0cmluZ1wiJiZ0IT09dW5kZWZpbmVkJiYhZS5vYmplY3RNb2RlKXtyPW5ldyBtKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiLFwiVWludDhBcnJheVwiXSx0KX1yZXR1cm4gcn1SZWFkYWJsZS5wcm90b3R5cGUuaXNQYXVzZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPT09ZmFsc2V9O1JlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtpZighdyl3PXIoMzcwNCkuczt2YXIgdD1uZXcgdyhlKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXI9dDt0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZzt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkO3ZhciBuPVwiXCI7d2hpbGUoaSE9PW51bGwpe24rPXQud3JpdGUoaS5kYXRhKTtpPWkubmV4dH10aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5jbGVhcigpO2lmKG4hPT1cIlwiKXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2gobik7dGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg9bi5sZW5ndGg7cmV0dXJuIHRoaXN9O3ZhciBBPTEwNzM3NDE4MjQ7ZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSl7aWYoZT49QSl7ZT1BfWVsc2V7ZS0tO2V8PWU+Pj4xO2V8PWU+Pj4yO2V8PWU+Pj40O2V8PWU+Pj44O2V8PWU+Pj4xNjtlKyt9cmV0dXJuIGV9ZnVuY3Rpb24gaG93TXVjaFRvUmVhZChlLHQpe2lmKGU8PTB8fHQubGVuZ3RoPT09MCYmdC5lbmRlZClyZXR1cm4gMDtpZih0Lm9iamVjdE1vZGUpcmV0dXJuIDE7aWYoZSE9PWUpe2lmKHQuZmxvd2luZyYmdC5sZW5ndGgpcmV0dXJuIHQuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg7ZWxzZSByZXR1cm4gdC5sZW5ndGh9aWYoZT50LmhpZ2hXYXRlck1hcmspdC5oaWdoV2F0ZXJNYXJrPWNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKGUpO2lmKGU8PXQubGVuZ3RoKXJldHVybiBlO2lmKCF0LmVuZGVkKXt0Lm5lZWRSZWFkYWJsZT10cnVlO3JldHVybiAwfXJldHVybiB0Lmxlbmd0aH1SZWFkYWJsZS5wcm90b3R5cGUucmVhZD1mdW5jdGlvbihlKXtkKFwicmVhZFwiLGUpO2U9cGFyc2VJbnQoZSwxMCk7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTt2YXIgcj1lO2lmKGUhPT0wKXQuZW1pdHRlZFJlYWRhYmxlPWZhbHNlO2lmKGU9PT0wJiZ0Lm5lZWRSZWFkYWJsZSYmKCh0LmhpZ2hXYXRlck1hcmshPT0wP3QubGVuZ3RoPj10LmhpZ2hXYXRlck1hcms6dC5sZW5ndGg+MCl8fHQuZW5kZWQpKXtkKFwicmVhZDogZW1pdFJlYWRhYmxlXCIsdC5sZW5ndGgsdC5lbmRlZCk7aWYodC5sZW5ndGg9PT0wJiZ0LmVuZGVkKWVuZFJlYWRhYmxlKHRoaXMpO2Vsc2UgZW1pdFJlYWRhYmxlKHRoaXMpO3JldHVybiBudWxsfWU9aG93TXVjaFRvUmVhZChlLHQpO2lmKGU9PT0wJiZ0LmVuZGVkKXtpZih0Lmxlbmd0aD09PTApZW5kUmVhZGFibGUodGhpcyk7cmV0dXJuIG51bGx9dmFyIGk9dC5uZWVkUmVhZGFibGU7ZChcIm5lZWQgcmVhZGFibGVcIixpKTtpZih0Lmxlbmd0aD09PTB8fHQubGVuZ3RoLWU8dC5oaWdoV2F0ZXJNYXJrKXtpPXRydWU7ZChcImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrXCIsaSl9aWYodC5lbmRlZHx8dC5yZWFkaW5nKXtpPWZhbHNlO2QoXCJyZWFkaW5nIG9yIGVuZGVkXCIsaSl9ZWxzZSBpZihpKXtkKFwiZG8gcmVhZFwiKTt0LnJlYWRpbmc9dHJ1ZTt0LnN5bmM9dHJ1ZTtpZih0Lmxlbmd0aD09PTApdC5uZWVkUmVhZGFibGU9dHJ1ZTt0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayk7dC5zeW5jPWZhbHNlO2lmKCF0LnJlYWRpbmcpZT1ob3dNdWNoVG9SZWFkKHIsdCl9dmFyIG47aWYoZT4wKW49ZnJvbUxpc3QoZSx0KTtlbHNlIG49bnVsbDtpZihuPT09bnVsbCl7dC5uZWVkUmVhZGFibGU9dC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyaztlPTB9ZWxzZXt0Lmxlbmd0aC09ZTt0LmF3YWl0RHJhaW49MH1pZih0Lmxlbmd0aD09PTApe2lmKCF0LmVuZGVkKXQubmVlZFJlYWRhYmxlPXRydWU7aWYociE9PWUmJnQuZW5kZWQpZW5kUmVhZGFibGUodGhpcyl9aWYobiE9PW51bGwpdGhpcy5lbWl0KFwiZGF0YVwiLG4pO3JldHVybiBufTtmdW5jdGlvbiBvbkVvZkNodW5rKGUsdCl7ZChcIm9uRW9mQ2h1bmtcIik7aWYodC5lbmRlZClyZXR1cm47aWYodC5kZWNvZGVyKXt2YXIgcj10LmRlY29kZXIuZW5kKCk7aWYociYmci5sZW5ndGgpe3QuYnVmZmVyLnB1c2gocik7dC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RofX10LmVuZGVkPXRydWU7aWYodC5zeW5jKXtlbWl0UmVhZGFibGUoZSl9ZWxzZXt0Lm5lZWRSZWFkYWJsZT1mYWxzZTtpZighdC5lbWl0dGVkUmVhZGFibGUpe3QuZW1pdHRlZFJlYWRhYmxlPXRydWU7ZW1pdFJlYWRhYmxlXyhlKX19fWZ1bmN0aW9uIGVtaXRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2QoXCJlbWl0UmVhZGFibGVcIix0Lm5lZWRSZWFkYWJsZSx0LmVtaXR0ZWRSZWFkYWJsZSk7dC5uZWVkUmVhZGFibGU9ZmFsc2U7aWYoIXQuZW1pdHRlZFJlYWRhYmxlKXtkKFwiZW1pdFJlYWRhYmxlXCIsdC5mbG93aW5nKTt0LmVtaXR0ZWRSZWFkYWJsZT10cnVlO3Byb2Nlc3MubmV4dFRpY2soZW1pdFJlYWRhYmxlXyxlKX19ZnVuY3Rpb24gZW1pdFJlYWRhYmxlXyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2QoXCJlbWl0UmVhZGFibGVfXCIsdC5kZXN0cm95ZWQsdC5sZW5ndGgsdC5lbmRlZCk7aWYoIXQuZGVzdHJveWVkJiYodC5sZW5ndGh8fHQuZW5kZWQpKXtlLmVtaXQoXCJyZWFkYWJsZVwiKTt0LmVtaXR0ZWRSZWFkYWJsZT1mYWxzZX10Lm5lZWRSZWFkYWJsZT0hdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyaztmbG93KGUpfWZ1bmN0aW9uIG1heWJlUmVhZE1vcmUoZSx0KXtpZighdC5yZWFkaW5nTW9yZSl7dC5yZWFkaW5nTW9yZT10cnVlO3Byb2Nlc3MubmV4dFRpY2sobWF5YmVSZWFkTW9yZV8sZSx0KX19ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oZSx0KXt3aGlsZSghdC5yZWFkaW5nJiYhdC5lbmRlZCYmKHQubGVuZ3RoPHQuaGlnaFdhdGVyTWFya3x8dC5mbG93aW5nJiZ0Lmxlbmd0aD09PTApKXt2YXIgcj10Lmxlbmd0aDtkKFwibWF5YmVSZWFkTW9yZSByZWFkIDBcIik7ZS5yZWFkKDApO2lmKHI9PT10Lmxlbmd0aClicmVha310LnJlYWRpbmdNb3JlPWZhbHNlfVJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXtFKHRoaXMsbmV3IGcoXCJfcmVhZCgpXCIpKX07UmVhZGFibGUucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKGkucGlwZXNDb3VudCl7Y2FzZSAwOmkucGlwZXM9ZTticmVhaztjYXNlIDE6aS5waXBlcz1baS5waXBlcyxlXTticmVhaztkZWZhdWx0OmkucGlwZXMucHVzaChlKTticmVha31pLnBpcGVzQ291bnQrPTE7ZChcInBpcGUgY291bnQ9JWQgb3B0cz0lalwiLGkucGlwZXNDb3VudCx0KTt2YXIgbj0oIXR8fHQuZW5kIT09ZmFsc2UpJiZlIT09cHJvY2Vzcy5zdGRvdXQmJmUhPT1wcm9jZXNzLnN0ZGVycjt2YXIgcz1uP29uZW5kOnVucGlwZTtpZihpLmVuZEVtaXR0ZWQpcHJvY2Vzcy5uZXh0VGljayhzKTtlbHNlIHIub25jZShcImVuZFwiLHMpO2Uub24oXCJ1bnBpcGVcIixvbnVucGlwZSk7ZnVuY3Rpb24gb251bnBpcGUoZSx0KXtkKFwib251bnBpcGVcIik7aWYoZT09PXIpe2lmKHQmJnQuaGFzVW5waXBlZD09PWZhbHNlKXt0Lmhhc1VucGlwZWQ9dHJ1ZTtjbGVhbnVwKCl9fX1mdW5jdGlvbiBvbmVuZCgpe2QoXCJvbmVuZFwiKTtlLmVuZCgpfXZhciBvPXBpcGVPbkRyYWluKHIpO2Uub24oXCJkcmFpblwiLG8pO3ZhciBoPWZhbHNlO2Z1bmN0aW9uIGNsZWFudXAoKXtkKFwiY2xlYW51cFwiKTtlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixvbmNsb3NlKTtlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsb25maW5pc2gpO2UucmVtb3ZlTGlzdGVuZXIoXCJkcmFpblwiLG8pO2UucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG9uZXJyb3IpO2UucmVtb3ZlTGlzdGVuZXIoXCJ1bnBpcGVcIixvbnVucGlwZSk7ci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLG9uZW5kKTtyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsdW5waXBlKTtyLnJlbW92ZUxpc3RlbmVyKFwiZGF0YVwiLG9uZGF0YSk7aD10cnVlO2lmKGkuYXdhaXREcmFpbiYmKCFlLl93cml0YWJsZVN0YXRlfHxlLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbikpbygpfXIub24oXCJkYXRhXCIsb25kYXRhKTtmdW5jdGlvbiBvbmRhdGEodCl7ZChcIm9uZGF0YVwiKTt2YXIgbj1lLndyaXRlKHQpO2QoXCJkZXN0LndyaXRlXCIsbik7aWYobj09PWZhbHNlKXtpZigoaS5waXBlc0NvdW50PT09MSYmaS5waXBlcz09PWV8fGkucGlwZXNDb3VudD4xJiZpbmRleE9mKGkucGlwZXMsZSkhPT0tMSkmJiFoKXtkKFwiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlXCIsaS5hd2FpdERyYWluKTtpLmF3YWl0RHJhaW4rK31yLnBhdXNlKCl9fWZ1bmN0aW9uIG9uZXJyb3IodCl7ZChcIm9uZXJyb3JcIix0KTt1bnBpcGUoKTtlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixvbmVycm9yKTtpZihhKGUsXCJlcnJvclwiKT09PTApRShlLHQpfXByZXBlbmRMaXN0ZW5lcihlLFwiZXJyb3JcIixvbmVycm9yKTtmdW5jdGlvbiBvbmNsb3NlKCl7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLG9uZmluaXNoKTt1bnBpcGUoKX1lLm9uY2UoXCJjbG9zZVwiLG9uY2xvc2UpO2Z1bmN0aW9uIG9uZmluaXNoKCl7ZChcIm9uZmluaXNoXCIpO2UucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLG9uY2xvc2UpO3VucGlwZSgpfWUub25jZShcImZpbmlzaFwiLG9uZmluaXNoKTtmdW5jdGlvbiB1bnBpcGUoKXtkKFwidW5waXBlXCIpO3IudW5waXBlKGUpfWUuZW1pdChcInBpcGVcIixyKTtpZighaS5mbG93aW5nKXtkKFwicGlwZSByZXN1bWVcIik7ci5yZXN1bWUoKX1yZXR1cm4gZX07ZnVuY3Rpb24gcGlwZU9uRHJhaW4oZSl7cmV0dXJuIGZ1bmN0aW9uIHBpcGVPbkRyYWluRnVuY3Rpb25SZXN1bHQoKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2QoXCJwaXBlT25EcmFpblwiLHQuYXdhaXREcmFpbik7aWYodC5hd2FpdERyYWluKXQuYXdhaXREcmFpbi0tO2lmKHQuYXdhaXREcmFpbj09PTAmJmEoZSxcImRhdGFcIikpe3QuZmxvd2luZz10cnVlO2Zsb3coZSl9fX1SZWFkYWJsZS5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGU7dmFyIHI9e2hhc1VucGlwZWQ6ZmFsc2V9O2lmKHQucGlwZXNDb3VudD09PTApcmV0dXJuIHRoaXM7aWYodC5waXBlc0NvdW50PT09MSl7aWYoZSYmZSE9PXQucGlwZXMpcmV0dXJuIHRoaXM7aWYoIWUpZT10LnBpcGVzO3QucGlwZXM9bnVsbDt0LnBpcGVzQ291bnQ9MDt0LmZsb3dpbmc9ZmFsc2U7aWYoZSllLmVtaXQoXCJ1bnBpcGVcIix0aGlzLHIpO3JldHVybiB0aGlzfWlmKCFlKXt2YXIgaT10LnBpcGVzO3ZhciBuPXQucGlwZXNDb3VudDt0LnBpcGVzPW51bGw7dC5waXBlc0NvdW50PTA7dC5mbG93aW5nPWZhbHNlO2Zvcih2YXIgYT0wO2E8bjthKyspe2lbYV0uZW1pdChcInVucGlwZVwiLHRoaXMse2hhc1VucGlwZWQ6ZmFsc2V9KX1yZXR1cm4gdGhpc312YXIgcz1pbmRleE9mKHQucGlwZXMsZSk7aWYocz09PS0xKXJldHVybiB0aGlzO3QucGlwZXMuc3BsaWNlKHMsMSk7dC5waXBlc0NvdW50LT0xO2lmKHQucGlwZXNDb3VudD09PTEpdC5waXBlcz10LnBpcGVzWzBdO2UuZW1pdChcInVucGlwZVwiLHRoaXMscik7cmV0dXJuIHRoaXN9O1JlYWRhYmxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQpe3ZhciByPXMucHJvdG90eXBlLm9uLmNhbGwodGhpcyxlLHQpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aWYoZT09PVwiZGF0YVwiKXtpLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudChcInJlYWRhYmxlXCIpPjA7aWYoaS5mbG93aW5nIT09ZmFsc2UpdGhpcy5yZXN1bWUoKX1lbHNlIGlmKGU9PT1cInJlYWRhYmxlXCIpe2lmKCFpLmVuZEVtaXR0ZWQmJiFpLnJlYWRhYmxlTGlzdGVuaW5nKXtpLnJlYWRhYmxlTGlzdGVuaW5nPWkubmVlZFJlYWRhYmxlPXRydWU7aS5mbG93aW5nPWZhbHNlO2kuZW1pdHRlZFJlYWRhYmxlPWZhbHNlO2QoXCJvbiByZWFkYWJsZVwiLGkubGVuZ3RoLGkucmVhZGluZyk7aWYoaS5sZW5ndGgpe2VtaXRSZWFkYWJsZSh0aGlzKX1lbHNlIGlmKCFpLnJlYWRpbmcpe3Byb2Nlc3MubmV4dFRpY2soblJlYWRpbmdOZXh0VGljayx0aGlzKX19fXJldHVybiByfTtSZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXI9UmVhZGFibGUucHJvdG90eXBlLm9uO1JlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLmNhbGwodGhpcyxlLHQpO2lmKGU9PT1cInJlYWRhYmxlXCIpe3Byb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsdGhpcyl9cmV0dXJuIHJ9O1JlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQ9cy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihlPT09XCJyZWFkYWJsZVwifHxlPT09dW5kZWZpbmVkKXtwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLHRoaXMpfXJldHVybiB0fTtmdW5jdGlvbiB1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3QucmVhZGFibGVMaXN0ZW5pbmc9ZS5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MDtpZih0LnJlc3VtZVNjaGVkdWxlZCYmIXQucGF1c2VkKXt0LmZsb3dpbmc9dHJ1ZX1lbHNlIGlmKGUubGlzdGVuZXJDb3VudChcImRhdGFcIik+MCl7ZS5yZXN1bWUoKX19ZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhlKXtkKFwicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwXCIpO2UucmVhZCgwKX1SZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcmVhZGFibGVTdGF0ZTtpZighZS5mbG93aW5nKXtkKFwicmVzdW1lXCIpO2UuZmxvd2luZz0hZS5yZWFkYWJsZUxpc3RlbmluZztyZXN1bWUodGhpcyxlKX1lLnBhdXNlZD1mYWxzZTtyZXR1cm4gdGhpc307ZnVuY3Rpb24gcmVzdW1lKGUsdCl7aWYoIXQucmVzdW1lU2NoZWR1bGVkKXt0LnJlc3VtZVNjaGVkdWxlZD10cnVlO3Byb2Nlc3MubmV4dFRpY2socmVzdW1lXyxlLHQpfX1mdW5jdGlvbiByZXN1bWVfKGUsdCl7ZChcInJlc3VtZVwiLHQucmVhZGluZyk7aWYoIXQucmVhZGluZyl7ZS5yZWFkKDApfXQucmVzdW1lU2NoZWR1bGVkPWZhbHNlO2UuZW1pdChcInJlc3VtZVwiKTtmbG93KGUpO2lmKHQuZmxvd2luZyYmIXQucmVhZGluZyllLnJlYWQoMCl9UmVhZGFibGUucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7ZChcImNhbGwgcGF1c2UgZmxvd2luZz0lalwiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyk7aWYodGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nIT09ZmFsc2Upe2QoXCJwYXVzZVwiKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ZmFsc2U7dGhpcy5lbWl0KFwicGF1c2VcIil9dGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQ9dHJ1ZTtyZXR1cm4gdGhpc307ZnVuY3Rpb24gZmxvdyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2QoXCJmbG93XCIsdC5mbG93aW5nKTt3aGlsZSh0LmZsb3dpbmcmJmUucmVhZCgpIT09bnVsbCl7fX1SZWFkYWJsZS5wcm90b3R5cGUud3JhcD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3ZhciByPXRoaXMuX3JlYWRhYmxlU3RhdGU7dmFyIGk9ZmFsc2U7ZS5vbihcImVuZFwiLChmdW5jdGlvbigpe2QoXCJ3cmFwcGVkIGVuZFwiKTtpZihyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgZT1yLmRlY29kZXIuZW5kKCk7aWYoZSYmZS5sZW5ndGgpdC5wdXNoKGUpfXQucHVzaChudWxsKX0pKTtlLm9uKFwiZGF0YVwiLChmdW5jdGlvbihuKXtkKFwid3JhcHBlZCBkYXRhXCIpO2lmKHIuZGVjb2RlciluPXIuZGVjb2Rlci53cml0ZShuKTtpZihyLm9iamVjdE1vZGUmJihuPT09bnVsbHx8bj09PXVuZGVmaW5lZCkpcmV0dXJuO2Vsc2UgaWYoIXIub2JqZWN0TW9kZSYmKCFufHwhbi5sZW5ndGgpKXJldHVybjt2YXIgYT10LnB1c2gobik7aWYoIWEpe2k9dHJ1ZTtlLnBhdXNlKCl9fSkpO2Zvcih2YXIgbiBpbiBlKXtpZih0aGlzW25dPT09dW5kZWZpbmVkJiZ0eXBlb2YgZVtuXT09PVwiZnVuY3Rpb25cIil7dGhpc1tuXT1mdW5jdGlvbiBtZXRob2RXcmFwKHQpe3JldHVybiBmdW5jdGlvbiBtZXRob2RXcmFwUmV0dXJuRnVuY3Rpb24oKXtyZXR1cm4gZVt0XS5hcHBseShlLGFyZ3VtZW50cyl9fShuKX19Zm9yKHZhciBhPTA7YTxrLmxlbmd0aDthKyspe2Uub24oa1thXSx0aGlzLmVtaXQuYmluZCh0aGlzLGtbYV0pKX10aGlzLl9yZWFkPWZ1bmN0aW9uKHQpe2QoXCJ3cmFwcGVkIF9yZWFkXCIsdCk7aWYoaSl7aT1mYWxzZTtlLnJlc3VtZSgpfX07cmV0dXJuIHRoaXN9O2lmKHR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCIpe1JlYWRhYmxlLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtpZihNPT09dW5kZWZpbmVkKXtNPXIoNjg3MSl9cmV0dXJuIE0odGhpcyl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUZsb3dpbmdcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sc2V0OmZ1bmN0aW9uIHNldChlKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlKXt0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ZX19fSk7UmVhZGFibGUuX2Zyb21MaXN0PWZyb21MaXN0O09iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGh9fSk7ZnVuY3Rpb24gZnJvbUxpc3QoZSx0KXtpZih0Lmxlbmd0aD09PTApcmV0dXJuIG51bGw7dmFyIHI7aWYodC5vYmplY3RNb2RlKXI9dC5idWZmZXIuc2hpZnQoKTtlbHNlIGlmKCFlfHxlPj10Lmxlbmd0aCl7aWYodC5kZWNvZGVyKXI9dC5idWZmZXIuam9pbihcIlwiKTtlbHNlIGlmKHQuYnVmZmVyLmxlbmd0aD09PTEpcj10LmJ1ZmZlci5maXJzdCgpO2Vsc2Ugcj10LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpO3QuYnVmZmVyLmNsZWFyKCl9ZWxzZXtyPXQuYnVmZmVyLmNvbnN1bWUoZSx0LmRlY29kZXIpfXJldHVybiByfWZ1bmN0aW9uIGVuZFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7ZChcImVuZFJlYWRhYmxlXCIsdC5lbmRFbWl0dGVkKTtpZighdC5lbmRFbWl0dGVkKXt0LmVuZGVkPXRydWU7cHJvY2Vzcy5uZXh0VGljayhlbmRSZWFkYWJsZU5ULHQsZSl9fWZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoZSx0KXtkKFwiZW5kUmVhZGFibGVOVFwiLGUuZW5kRW1pdHRlZCxlLmxlbmd0aCk7aWYoIWUuZW5kRW1pdHRlZCYmZS5sZW5ndGg9PT0wKXtlLmVuZEVtaXR0ZWQ9dHJ1ZTt0LnJlYWRhYmxlPWZhbHNlO3QuZW1pdChcImVuZFwiKTtpZihlLmF1dG9EZXN0cm95KXt2YXIgcj10Ll93cml0YWJsZVN0YXRlO2lmKCFyfHxyLmF1dG9EZXN0cm95JiZyLmZpbmlzaGVkKXt0LmRlc3Ryb3koKX19fX1pZih0eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiKXtSZWFkYWJsZS5mcm9tPWZ1bmN0aW9uKGUsdCl7aWYoQj09PXVuZGVmaW5lZCl7Qj1yKDk3MjcpfXJldHVybiBCKFJlYWRhYmxlLGUsdCl9fWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspe2lmKGVbcl09PT10KXJldHVybiByfXJldHVybi0xfX0sMTE3MDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPVRyYW5zZm9ybTt2YXIgaT1yKDQ2NDYpLnEsbj1pLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELGE9aS5FUlJfTVVMVElQTEVfQ0FMTEJBQ0sscz1pLkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcsbz1pLkVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMDt2YXIgaD1yKDI0MDMpO3IoMzc4MikoVHJhbnNmb3JtLGgpO2Z1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKGUsdCl7dmFyIHI9dGhpcy5fdHJhbnNmb3JtU3RhdGU7ci50cmFuc2Zvcm1pbmc9ZmFsc2U7dmFyIGk9ci53cml0ZWNiO2lmKGk9PT1udWxsKXtyZXR1cm4gdGhpcy5lbWl0KFwiZXJyb3JcIixuZXcgYSl9ci53cml0ZWNodW5rPW51bGw7ci53cml0ZWNiPW51bGw7aWYodCE9bnVsbCl0aGlzLnB1c2godCk7aShlKTt2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlO24ucmVhZGluZz1mYWxzZTtpZihuLm5lZWRSZWFkYWJsZXx8bi5sZW5ndGg8bi5oaWdoV2F0ZXJNYXJrKXt0aGlzLl9yZWFkKG4uaGlnaFdhdGVyTWFyayl9fWZ1bmN0aW9uIFRyYW5zZm9ybShlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKXJldHVybiBuZXcgVHJhbnNmb3JtKGUpO2guY2FsbCh0aGlzLGUpO3RoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTphZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLG5lZWRUcmFuc2Zvcm06ZmFsc2UsdHJhbnNmb3JtaW5nOmZhbHNlLHdyaXRlY2I6bnVsbCx3cml0ZWNodW5rOm51bGwsd3JpdGVlbmNvZGluZzpudWxsfTt0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZT10cnVlO3RoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz1mYWxzZTtpZihlKXtpZih0eXBlb2YgZS50cmFuc2Zvcm09PT1cImZ1bmN0aW9uXCIpdGhpcy5fdHJhbnNmb3JtPWUudHJhbnNmb3JtO2lmKHR5cGVvZiBlLmZsdXNoPT09XCJmdW5jdGlvblwiKXRoaXMuX2ZsdXNoPWUuZmx1c2h9dGhpcy5vbihcInByZWZpbmlzaFwiLHByZWZpbmlzaCl9ZnVuY3Rpb24gcHJlZmluaXNoKCl7dmFyIGU9dGhpcztpZih0eXBlb2YgdGhpcy5fZmx1c2g9PT1cImZ1bmN0aW9uXCImJiF0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCl7dGhpcy5fZmx1c2goKGZ1bmN0aW9uKHQscil7ZG9uZShlLHQscil9KSl9ZWxzZXtkb25lKHRoaXMsbnVsbCxudWxsKX19VHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7dGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybT1mYWxzZTtyZXR1cm4gaC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsZSx0KX07VHJhbnNmb3JtLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKGUsdCxyKXtyKG5ldyBuKFwiX3RyYW5zZm9ybSgpXCIpKX07VHJhbnNmb3JtLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2kud3JpdGVjYj1yO2kud3JpdGVjaHVuaz1lO2kud3JpdGVlbmNvZGluZz10O2lmKCFpLnRyYW5zZm9ybWluZyl7dmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZTtpZihpLm5lZWRUcmFuc2Zvcm18fG4ubmVlZFJlYWRhYmxlfHxuLmxlbmd0aDxuLmhpZ2hXYXRlck1hcmspdGhpcy5fcmVhZChuLmhpZ2hXYXRlck1hcmspfX07VHJhbnNmb3JtLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl90cmFuc2Zvcm1TdGF0ZTtpZih0LndyaXRlY2h1bmshPT1udWxsJiYhdC50cmFuc2Zvcm1pbmcpe3QudHJhbnNmb3JtaW5nPXRydWU7dGhpcy5fdHJhbnNmb3JtKHQud3JpdGVjaHVuayx0LndyaXRlZW5jb2RpbmcsdC5hZnRlclRyYW5zZm9ybSl9ZWxzZXt0Lm5lZWRUcmFuc2Zvcm09dHJ1ZX19O1RyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXtoLnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsZSwoZnVuY3Rpb24oZSl7dChlKX0pKX07ZnVuY3Rpb24gZG9uZShlLHQscil7aWYodClyZXR1cm4gZS5lbWl0KFwiZXJyb3JcIix0KTtpZihyIT1udWxsKWUucHVzaChyKTtpZihlLl93cml0YWJsZVN0YXRlLmxlbmd0aCl0aHJvdyBuZXcgbztpZihlLl90cmFuc2Zvcm1TdGF0ZS50cmFuc2Zvcm1pbmcpdGhyb3cgbmV3IHM7cmV0dXJuIGUucHVzaChudWxsKX19LDczMzc6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1Xcml0YWJsZTtmdW5jdGlvbiBXcml0ZVJlcShlLHQscil7dGhpcy5jaHVuaz1lO3RoaXMuZW5jb2Rpbmc9dDt0aGlzLmNhbGxiYWNrPXI7dGhpcy5uZXh0PW51bGx9ZnVuY3Rpb24gQ29ya2VkUmVxdWVzdChlKXt2YXIgdD10aGlzO3RoaXMubmV4dD1udWxsO3RoaXMuZW50cnk9bnVsbDt0aGlzLmZpbmlzaD1mdW5jdGlvbigpe29uQ29ya2VkRmluaXNoKHQsZSl9fXZhciBpO1dyaXRhYmxlLldyaXRhYmxlU3RhdGU9V3JpdGFibGVTdGF0ZTt2YXIgbj17ZGVwcmVjYXRlOnIoNjc2OSl9O3ZhciBhPXIoNDY3OCk7dmFyIHM9cig0MzAwKS5CdWZmZXI7dmFyIG89Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBzLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gcy5pc0J1ZmZlcihlKXx8ZSBpbnN0YW5jZW9mIG99dmFyIGg9cig3MDI1KTt2YXIgdT1yKDY3NzYpLGQ9dS5nZXRIaWdoV2F0ZXJNYXJrO3ZhciBjPXIoNDY0NikucSxsPWMuRVJSX0lOVkFMSURfQVJHX1RZUEUscD1jLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELHY9Yy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssYj1jLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUsbT1jLkVSUl9TVFJFQU1fREVTVFJPWUVELHk9Yy5FUlJfU1RSRUFNX05VTExfVkFMVUVTLGc9Yy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxfPWMuRVJSX1VOS05PV05fRU5DT0RJTkc7dmFyIHc9aC5lcnJvck9yRGVzdHJveTtyKDM3ODIpKFdyaXRhYmxlLGEpO2Z1bmN0aW9uIG5vcCgpe31mdW5jdGlvbiBXcml0YWJsZVN0YXRlKGUsdCxuKXtpPWl8fHIoMjQwMyk7ZT1lfHx7fTtpZih0eXBlb2YgbiE9PVwiYm9vbGVhblwiKW49dCBpbnN0YW5jZW9mIGk7dGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlO2lmKG4pdGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLndyaXRhYmxlT2JqZWN0TW9kZTt0aGlzLmhpZ2hXYXRlck1hcms9ZCh0aGlzLGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIixuKTt0aGlzLmZpbmFsQ2FsbGVkPWZhbHNlO3RoaXMubmVlZERyYWluPWZhbHNlO3RoaXMuZW5kaW5nPWZhbHNlO3RoaXMuZW5kZWQ9ZmFsc2U7dGhpcy5maW5pc2hlZD1mYWxzZTt0aGlzLmRlc3Ryb3llZD1mYWxzZTt2YXIgYT1lLmRlY29kZVN0cmluZ3M9PT1mYWxzZTt0aGlzLmRlY29kZVN0cmluZ3M9IWE7dGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiO3RoaXMubGVuZ3RoPTA7dGhpcy53cml0aW5nPWZhbHNlO3RoaXMuY29ya2VkPTA7dGhpcy5zeW5jPXRydWU7dGhpcy5idWZmZXJQcm9jZXNzaW5nPWZhbHNlO3RoaXMub253cml0ZT1mdW5jdGlvbihlKXtvbndyaXRlKHQsZSl9O3RoaXMud3JpdGVjYj1udWxsO3RoaXMud3JpdGVsZW49MDt0aGlzLmJ1ZmZlcmVkUmVxdWVzdD1udWxsO3RoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsO3RoaXMucGVuZGluZ2NiPTA7dGhpcy5wcmVmaW5pc2hlZD1mYWxzZTt0aGlzLmVycm9yRW1pdHRlZD1mYWxzZTt0aGlzLmVtaXRDbG9zZT1lLmVtaXRDbG9zZSE9PWZhbHNlO3RoaXMuYXV0b0Rlc3Ryb3k9ISFlLmF1dG9EZXN0cm95O3RoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MDt0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQ29ya2VkUmVxdWVzdCh0aGlzKX1Xcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24gZ2V0QnVmZmVyKCl7dmFyIGU9dGhpcy5idWZmZXJlZFJlcXVlc3Q7dmFyIHQ9W107d2hpbGUoZSl7dC5wdXNoKGUpO2U9ZS5uZXh0fXJldHVybiB0fTsoZnVuY3Rpb24oKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlU3RhdGUucHJvdG90eXBlLFwiYnVmZmVyXCIse2dldDpuLmRlcHJlY2F0ZSgoZnVuY3Rpb24gd3JpdGFibGVTdGF0ZUJ1ZmZlckdldHRlcigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSksXCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBcIitcImluc3RlYWQuXCIsXCJERVAwMDAzXCIpfSl9Y2F0Y2goZSl7fX0pKCk7dmFyIE07aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIiYmU3ltYm9sLmhhc0luc3RhbmNlJiZ0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV09PT1cImZ1bmN0aW9uXCIpe009RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV07T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLFN5bWJvbC5oYXNJbnN0YW5jZSx7dmFsdWU6ZnVuY3Rpb24gdmFsdWUoZSl7aWYoTS5jYWxsKHRoaXMsZSkpcmV0dXJuIHRydWU7aWYodGhpcyE9PVdyaXRhYmxlKXJldHVybiBmYWxzZTtyZXR1cm4gZSYmZS5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIFdyaXRhYmxlU3RhdGV9fSl9ZWxzZXtNPWZ1bmN0aW9uIHJlYWxIYXNJbnN0YW5jZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXN9fWZ1bmN0aW9uIFdyaXRhYmxlKGUpe2k9aXx8cigyNDAzKTt2YXIgdD10aGlzIGluc3RhbmNlb2YgaTtpZighdCYmIU0uY2FsbChXcml0YWJsZSx0aGlzKSlyZXR1cm4gbmV3IFdyaXRhYmxlKGUpO3RoaXMuX3dyaXRhYmxlU3RhdGU9bmV3IFdyaXRhYmxlU3RhdGUoZSx0aGlzLHQpO3RoaXMud3JpdGFibGU9dHJ1ZTtpZihlKXtpZih0eXBlb2YgZS53cml0ZT09PVwiZnVuY3Rpb25cIil0aGlzLl93cml0ZT1lLndyaXRlO2lmKHR5cGVvZiBlLndyaXRldj09PVwiZnVuY3Rpb25cIil0aGlzLl93cml0ZXY9ZS53cml0ZXY7aWYodHlwZW9mIGUuZGVzdHJveT09PVwiZnVuY3Rpb25cIil0aGlzLl9kZXN0cm95PWUuZGVzdHJveTtpZih0eXBlb2YgZS5maW5hbD09PVwiZnVuY3Rpb25cIil0aGlzLl9maW5hbD1lLmZpbmFsfWEuY2FsbCh0aGlzKX1Xcml0YWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe3codGhpcyxuZXcgYil9O2Z1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoZSx0KXt2YXIgcj1uZXcgZzt3KGUscik7cHJvY2Vzcy5uZXh0VGljayh0LHIpfWZ1bmN0aW9uIHZhbGlkQ2h1bmsoZSx0LHIsaSl7dmFyIG47aWYocj09PW51bGwpe249bmV3IHl9ZWxzZSBpZih0eXBlb2YgciE9PVwic3RyaW5nXCImJiF0Lm9iamVjdE1vZGUpe249bmV3IGwoXCJjaHVua1wiLFtcInN0cmluZ1wiLFwiQnVmZmVyXCJdLHIpfWlmKG4pe3coZSxuKTtwcm9jZXNzLm5leHRUaWNrKGksbik7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfVdyaXRhYmxlLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcy5fd3JpdGFibGVTdGF0ZTt2YXIgbj1mYWxzZTt2YXIgYT0haS5vYmplY3RNb2RlJiZfaXNVaW50OEFycmF5KGUpO2lmKGEmJiFzLmlzQnVmZmVyKGUpKXtlPV91aW50OEFycmF5VG9CdWZmZXIoZSl9aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe3I9dDt0PW51bGx9aWYoYSl0PVwiYnVmZmVyXCI7ZWxzZSBpZighdCl0PWkuZGVmYXVsdEVuY29kaW5nO2lmKHR5cGVvZiByIT09XCJmdW5jdGlvblwiKXI9bm9wO2lmKGkuZW5kaW5nKXdyaXRlQWZ0ZXJFbmQodGhpcyxyKTtlbHNlIGlmKGF8fHZhbGlkQ2h1bmsodGhpcyxpLGUscikpe2kucGVuZGluZ2NiKys7bj13cml0ZU9yQnVmZmVyKHRoaXMsaSxhLGUsdCxyKX1yZXR1cm4gbn07V3JpdGFibGUucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfTtXcml0YWJsZS5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fd3JpdGFibGVTdGF0ZTtpZihlLmNvcmtlZCl7ZS5jb3JrZWQtLTtpZighZS53cml0aW5nJiYhZS5jb3JrZWQmJiFlLmJ1ZmZlclByb2Nlc3NpbmcmJmUuYnVmZmVyZWRSZXF1ZXN0KWNsZWFyQnVmZmVyKHRoaXMsZSl9fTtXcml0YWJsZS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uIHNldERlZmF1bHRFbmNvZGluZyhlKXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpZT1lLnRvTG93ZXJDYXNlKCk7aWYoIShbXCJoZXhcIixcInV0ZjhcIixcInV0Zi04XCIsXCJhc2NpaVwiLFwiYmluYXJ5XCIsXCJiYXNlNjRcIixcInVjczJcIixcInVjcy0yXCIsXCJ1dGYxNmxlXCIsXCJ1dGYtMTZsZVwiLFwicmF3XCJdLmluZGV4T2YoKGUrXCJcIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyBfKGUpO3RoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPWU7cmV0dXJuIHRoaXN9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KTtmdW5jdGlvbiBkZWNvZGVDaHVuayhlLHQscil7aWYoIWUub2JqZWN0TW9kZSYmZS5kZWNvZGVTdHJpbmdzIT09ZmFsc2UmJnR5cGVvZiB0PT09XCJzdHJpbmdcIil7dD1zLmZyb20odCxyKX1yZXR1cm4gdH1PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSk7ZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihlLHQscixpLG4sYSl7aWYoIXIpe3ZhciBzPWRlY29kZUNodW5rKHQsaSxuKTtpZihpIT09cyl7cj10cnVlO249XCJidWZmZXJcIjtpPXN9fXZhciBvPXQub2JqZWN0TW9kZT8xOmkubGVuZ3RoO3QubGVuZ3RoKz1vO3ZhciBoPXQubGVuZ3RoPHQuaGlnaFdhdGVyTWFyaztpZighaCl0Lm5lZWREcmFpbj10cnVlO2lmKHQud3JpdGluZ3x8dC5jb3JrZWQpe3ZhciB1PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDt0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOmksZW5jb2Rpbmc6bixpc0J1ZjpyLGNhbGxiYWNrOmEsbmV4dDpudWxsfTtpZih1KXt1Lm5leHQ9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0fWVsc2V7dC5idWZmZXJlZFJlcXVlc3Q9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0fXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZXtkb1dyaXRlKGUsdCxmYWxzZSxvLGksbixhKX1yZXR1cm4gaH1mdW5jdGlvbiBkb1dyaXRlKGUsdCxyLGksbixhLHMpe3Qud3JpdGVsZW49aTt0LndyaXRlY2I9czt0LndyaXRpbmc9dHJ1ZTt0LnN5bmM9dHJ1ZTtpZih0LmRlc3Ryb3llZCl0Lm9ud3JpdGUobmV3IG0oXCJ3cml0ZVwiKSk7ZWxzZSBpZihyKWUuX3dyaXRldihuLHQub253cml0ZSk7ZWxzZSBlLl93cml0ZShuLGEsdC5vbndyaXRlKTt0LnN5bmM9ZmFsc2V9ZnVuY3Rpb24gb253cml0ZUVycm9yKGUsdCxyLGksbil7LS10LnBlbmRpbmdjYjtpZihyKXtwcm9jZXNzLm5leHRUaWNrKG4saSk7cHJvY2Vzcy5uZXh0VGljayhmaW5pc2hNYXliZSxlLHQpO2UuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPXRydWU7dyhlLGkpfWVsc2V7bihpKTtlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD10cnVlO3coZSxpKTtmaW5pc2hNYXliZShlLHQpfX1mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoZSl7ZS53cml0aW5nPWZhbHNlO2Uud3JpdGVjYj1udWxsO2UubGVuZ3RoLT1lLndyaXRlbGVuO2Uud3JpdGVsZW49MH1mdW5jdGlvbiBvbndyaXRlKGUsdCl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZTt2YXIgaT1yLnN5bmM7dmFyIG49ci53cml0ZWNiO2lmKHR5cGVvZiBuIT09XCJmdW5jdGlvblwiKXRocm93IG5ldyB2O29ud3JpdGVTdGF0ZVVwZGF0ZShyKTtpZih0KW9ud3JpdGVFcnJvcihlLHIsaSx0LG4pO2Vsc2V7dmFyIGE9bmVlZEZpbmlzaChyKXx8ZS5kZXN0cm95ZWQ7aWYoIWEmJiFyLmNvcmtlZCYmIXIuYnVmZmVyUHJvY2Vzc2luZyYmci5idWZmZXJlZFJlcXVlc3Qpe2NsZWFyQnVmZmVyKGUscil9aWYoaSl7cHJvY2Vzcy5uZXh0VGljayhhZnRlcldyaXRlLGUscixhLG4pfWVsc2V7YWZ0ZXJXcml0ZShlLHIsYSxuKX19fWZ1bmN0aW9uIGFmdGVyV3JpdGUoZSx0LHIsaSl7aWYoIXIpb253cml0ZURyYWluKGUsdCk7dC5wZW5kaW5nY2ItLTtpKCk7ZmluaXNoTWF5YmUoZSx0KX1mdW5jdGlvbiBvbndyaXRlRHJhaW4oZSx0KXtpZih0Lmxlbmd0aD09PTAmJnQubmVlZERyYWluKXt0Lm5lZWREcmFpbj1mYWxzZTtlLmVtaXQoXCJkcmFpblwiKX19ZnVuY3Rpb24gY2xlYXJCdWZmZXIoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9dHJ1ZTt2YXIgcj10LmJ1ZmZlcmVkUmVxdWVzdDtpZihlLl93cml0ZXYmJnImJnIubmV4dCl7dmFyIGk9dC5idWZmZXJlZFJlcXVlc3RDb3VudDt2YXIgbj1uZXcgQXJyYXkoaSk7dmFyIGE9dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7YS5lbnRyeT1yO3ZhciBzPTA7dmFyIG89dHJ1ZTt3aGlsZShyKXtuW3NdPXI7aWYoIXIuaXNCdWYpbz1mYWxzZTtyPXIubmV4dDtzKz0xfW4uYWxsQnVmZmVycz1vO2RvV3JpdGUoZSx0LHRydWUsdC5sZW5ndGgsbixcIlwiLGEuZmluaXNoKTt0LnBlbmRpbmdjYisrO3QubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsO2lmKGEubmV4dCl7dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9YS5uZXh0O2EubmV4dD1udWxsfWVsc2V7dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodCl9dC5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7d2hpbGUocil7dmFyIGg9ci5jaHVuazt2YXIgdT1yLmVuY29kaW5nO3ZhciBkPXIuY2FsbGJhY2s7dmFyIGM9dC5vYmplY3RNb2RlPzE6aC5sZW5ndGg7ZG9Xcml0ZShlLHQsZmFsc2UsYyxoLHUsZCk7cj1yLm5leHQ7dC5idWZmZXJlZFJlcXVlc3RDb3VudC0tO2lmKHQud3JpdGluZyl7YnJlYWt9fWlmKHI9PT1udWxsKXQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsfXQuYnVmZmVyZWRSZXF1ZXN0PXI7dC5idWZmZXJQcm9jZXNzaW5nPWZhbHNlfVdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3IobmV3IHAoXCJfd3JpdGUoKVwiKSl9O1dyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGV2PW51bGw7V3JpdGFibGUucHJvdG90eXBlLmVuZD1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcy5fd3JpdGFibGVTdGF0ZTtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cIil7cj1lO2U9bnVsbDt0PW51bGx9ZWxzZSBpZih0eXBlb2YgdD09PVwiZnVuY3Rpb25cIil7cj10O3Q9bnVsbH1pZihlIT09bnVsbCYmZSE9PXVuZGVmaW5lZCl0aGlzLndyaXRlKGUsdCk7aWYoaS5jb3JrZWQpe2kuY29ya2VkPTE7dGhpcy51bmNvcmsoKX1pZighaS5lbmRpbmcpZW5kV3JpdGFibGUodGhpcyxpLHIpO3JldHVybiB0aGlzfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pO2Z1bmN0aW9uIG5lZWRGaW5pc2goZSl7cmV0dXJuIGUuZW5kaW5nJiZlLmxlbmd0aD09PTAmJmUuYnVmZmVyZWRSZXF1ZXN0PT09bnVsbCYmIWUuZmluaXNoZWQmJiFlLndyaXRpbmd9ZnVuY3Rpb24gY2FsbEZpbmFsKGUsdCl7ZS5fZmluYWwoKGZ1bmN0aW9uKHIpe3QucGVuZGluZ2NiLS07aWYocil7dyhlLHIpfXQucHJlZmluaXNoZWQ9dHJ1ZTtlLmVtaXQoXCJwcmVmaW5pc2hcIik7ZmluaXNoTWF5YmUoZSx0KX0pKX1mdW5jdGlvbiBwcmVmaW5pc2goZSx0KXtpZighdC5wcmVmaW5pc2hlZCYmIXQuZmluYWxDYWxsZWQpe2lmKHR5cGVvZiBlLl9maW5hbD09PVwiZnVuY3Rpb25cIiYmIXQuZGVzdHJveWVkKXt0LnBlbmRpbmdjYisrO3QuZmluYWxDYWxsZWQ9dHJ1ZTtwcm9jZXNzLm5leHRUaWNrKGNhbGxGaW5hbCxlLHQpfWVsc2V7dC5wcmVmaW5pc2hlZD10cnVlO2UuZW1pdChcInByZWZpbmlzaFwiKX19fWZ1bmN0aW9uIGZpbmlzaE1heWJlKGUsdCl7dmFyIHI9bmVlZEZpbmlzaCh0KTtpZihyKXtwcmVmaW5pc2goZSx0KTtpZih0LnBlbmRpbmdjYj09PTApe3QuZmluaXNoZWQ9dHJ1ZTtlLmVtaXQoXCJmaW5pc2hcIik7aWYodC5hdXRvRGVzdHJveSl7dmFyIGk9ZS5fcmVhZGFibGVTdGF0ZTtpZighaXx8aS5hdXRvRGVzdHJveSYmaS5lbmRFbWl0dGVkKXtlLmRlc3Ryb3koKX19fX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRXcml0YWJsZShlLHQscil7dC5lbmRpbmc9dHJ1ZTtmaW5pc2hNYXliZShlLHQpO2lmKHIpe2lmKHQuZmluaXNoZWQpcHJvY2Vzcy5uZXh0VGljayhyKTtlbHNlIGUub25jZShcImZpbmlzaFwiLHIpfXQuZW5kZWQ9dHJ1ZTtlLndyaXRhYmxlPWZhbHNlfWZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGUsdCxyKXt2YXIgaT1lLmVudHJ5O2UuZW50cnk9bnVsbDt3aGlsZShpKXt2YXIgbj1pLmNhbGxiYWNrO3QucGVuZGluZ2NiLS07bihyKTtpPWkubmV4dH10LmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PWV9T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl93cml0YWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKCF0aGlzLl93cml0YWJsZVN0YXRlKXtyZXR1cm59dGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZX19KTtXcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveT1oLmRlc3Ryb3k7V3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9aC51bmRlc3Ryb3k7V3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX19LDY4NzE6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpO2Z1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7aWYodCBpbiBlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9cmV0dXJuIGV9dmFyIG49cig5Njk4KTt2YXIgYT1TeW1ib2woXCJsYXN0UmVzb2x2ZVwiKTt2YXIgcz1TeW1ib2woXCJsYXN0UmVqZWN0XCIpO3ZhciBvPVN5bWJvbChcImVycm9yXCIpO3ZhciBoPVN5bWJvbChcImVuZGVkXCIpO3ZhciB1PVN5bWJvbChcImxhc3RQcm9taXNlXCIpO3ZhciBkPVN5bWJvbChcImhhbmRsZVByb21pc2VcIik7dmFyIGM9U3ltYm9sKFwic3RyZWFtXCIpO2Z1bmN0aW9uIGNyZWF0ZUl0ZXJSZXN1bHQoZSx0KXtyZXR1cm57dmFsdWU6ZSxkb25lOnR9fWZ1bmN0aW9uIHJlYWRBbmRSZXNvbHZlKGUpe3ZhciB0PWVbYV07aWYodCE9PW51bGwpe3ZhciByPWVbY10ucmVhZCgpO2lmKHIhPT1udWxsKXtlW3VdPW51bGw7ZVthXT1udWxsO2Vbc109bnVsbDt0KGNyZWF0ZUl0ZXJSZXN1bHQocixmYWxzZSkpfX19ZnVuY3Rpb24gb25SZWFkYWJsZShlKXtwcm9jZXNzLm5leHRUaWNrKHJlYWRBbmRSZXNvbHZlLGUpfWZ1bmN0aW9uIHdyYXBGb3JOZXh0KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIsaSl7ZS50aGVuKChmdW5jdGlvbigpe2lmKHRbaF0pe3IoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsdHJ1ZSkpO3JldHVybn10W2RdKHIsaSl9KSxpKX19dmFyIGw9T2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5jdGlvbigpe30pKTt2YXIgcD1PYmplY3Quc2V0UHJvdG90eXBlT2YoKGk9e2dldCBzdHJlYW0oKXtyZXR1cm4gdGhpc1tjXX0sbmV4dDpmdW5jdGlvbiBuZXh0KCl7dmFyIGU9dGhpczt2YXIgdD10aGlzW29dO2lmKHQhPT1udWxsKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QodCl9aWYodGhpc1toXSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCx0cnVlKSl9aWYodGhpc1tjXS5kZXN0cm95ZWQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxyKXtwcm9jZXNzLm5leHRUaWNrKChmdW5jdGlvbigpe2lmKGVbb10pe3IoZVtvXSl9ZWxzZXt0KGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLHRydWUpKX19KSl9KSl9dmFyIHI9dGhpc1t1XTt2YXIgaTtpZihyKXtpPW5ldyBQcm9taXNlKHdyYXBGb3JOZXh0KHIsdGhpcykpfWVsc2V7dmFyIG49dGhpc1tjXS5yZWFkKCk7aWYobiE9PW51bGwpe3JldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdChuLGZhbHNlKSl9aT1uZXcgUHJvbWlzZSh0aGlzW2RdKX10aGlzW3VdPWk7cmV0dXJuIGl9fSxfZGVmaW5lUHJvcGVydHkoaSxTeW1ib2wuYXN5bmNJdGVyYXRvciwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxfZGVmaW5lUHJvcGVydHkoaSxcInJldHVyblwiLChmdW5jdGlvbiBfcmV0dXJuKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQscil7ZVtjXS5kZXN0cm95KG51bGwsKGZ1bmN0aW9uKGUpe2lmKGUpe3IoZSk7cmV0dXJufXQoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsdHJ1ZSkpfSkpfSkpfSkpLGkpLGwpO3ZhciB2PWZ1bmN0aW9uIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcihlKXt2YXIgdDt2YXIgcj1PYmplY3QuY3JlYXRlKHAsKHQ9e30sX2RlZmluZVByb3BlcnR5KHQsYyx7dmFsdWU6ZSx3cml0YWJsZTp0cnVlfSksX2RlZmluZVByb3BlcnR5KHQsYSx7dmFsdWU6bnVsbCx3cml0YWJsZTp0cnVlfSksX2RlZmluZVByb3BlcnR5KHQscyx7dmFsdWU6bnVsbCx3cml0YWJsZTp0cnVlfSksX2RlZmluZVByb3BlcnR5KHQsbyx7dmFsdWU6bnVsbCx3cml0YWJsZTp0cnVlfSksX2RlZmluZVByb3BlcnR5KHQsaCx7dmFsdWU6ZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOnRydWV9KSxfZGVmaW5lUHJvcGVydHkodCxkLHt2YWx1ZTpmdW5jdGlvbiB2YWx1ZShlLHQpe3ZhciBpPXJbY10ucmVhZCgpO2lmKGkpe3JbdV09bnVsbDtyW2FdPW51bGw7cltzXT1udWxsO2UoY3JlYXRlSXRlclJlc3VsdChpLGZhbHNlKSl9ZWxzZXtyW2FdPWU7cltzXT10fX0sd3JpdGFibGU6dHJ1ZX0pLHQpKTtyW3VdPW51bGw7bihlLChmdW5jdGlvbihlKXtpZihlJiZlLmNvZGUhPT1cIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFXCIpe3ZhciB0PXJbc107aWYodCE9PW51bGwpe3JbdV09bnVsbDtyW2FdPW51bGw7cltzXT1udWxsO3QoZSl9cltvXT1lO3JldHVybn12YXIgaT1yW2FdO2lmKGkhPT1udWxsKXtyW3VdPW51bGw7clthXT1udWxsO3Jbc109bnVsbDtpKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLHRydWUpKX1yW2hdPXRydWV9KSk7ZS5vbihcInJlYWRhYmxlXCIsb25SZWFkYWJsZS5iaW5kKG51bGwscikpO3JldHVybiByfTtlLmV4cG9ydHM9dn0sNDM3OTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aWYodClpPWkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSk7ci5wdXNoLmFwcGx5KHIsaSl9cmV0dXJuIHJ9ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF0hPW51bGw/YXJndW1lbnRzW3RdOnt9O2lmKHQlMil7b3duS2V5cyhPYmplY3QociksdHJ1ZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxyW3RdKX0pKX1lbHNlIGlmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKXtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKX1lbHNle293bktleXMoT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iocix0KSl9KSl9fXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7aWYodCBpbiBlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9cmV0dXJuIGV9ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9fWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKGUsdCl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ZmFsc2U7aS5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBpKWkud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxpLmtleSxpKX19ZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKGUsdCxyKXtpZih0KV9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpO2lmKHIpX2RlZmluZVByb3BlcnRpZXMoZSxyKTtyZXR1cm4gZX12YXIgaT1yKDQzMDApLG49aS5CdWZmZXI7dmFyIGE9cigzODM3KSxzPWEuaW5zcGVjdDt2YXIgbz1zJiZzLmN1c3RvbXx8XCJpbnNwZWN0XCI7ZnVuY3Rpb24gY29weUJ1ZmZlcihlLHQscil7bi5wcm90b3R5cGUuY29weS5jYWxsKGUsdCxyKX1lLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBCdWZmZXJMaXN0KCl7X2NsYXNzQ2FsbENoZWNrKHRoaXMsQnVmZmVyTGlzdCk7dGhpcy5oZWFkPW51bGw7dGhpcy50YWlsPW51bGw7dGhpcy5sZW5ndGg9MH1fY3JlYXRlQ2xhc3MoQnVmZmVyTGlzdCxbe2tleTpcInB1c2hcIix2YWx1ZTpmdW5jdGlvbiBwdXNoKGUpe3ZhciB0PXtkYXRhOmUsbmV4dDpudWxsfTtpZih0aGlzLmxlbmd0aD4wKXRoaXMudGFpbC5uZXh0PXQ7ZWxzZSB0aGlzLmhlYWQ9dDt0aGlzLnRhaWw9dDsrK3RoaXMubGVuZ3RofX0se2tleTpcInVuc2hpZnRcIix2YWx1ZTpmdW5jdGlvbiB1bnNoaWZ0KGUpe3ZhciB0PXtkYXRhOmUsbmV4dDp0aGlzLmhlYWR9O2lmKHRoaXMubGVuZ3RoPT09MCl0aGlzLnRhaWw9dDt0aGlzLmhlYWQ9dDsrK3RoaXMubGVuZ3RofX0se2tleTpcInNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24gc2hpZnQoKXtpZih0aGlzLmxlbmd0aD09PTApcmV0dXJuO3ZhciBlPXRoaXMuaGVhZC5kYXRhO2lmKHRoaXMubGVuZ3RoPT09MSl0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGw7ZWxzZSB0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQ7LS10aGlzLmxlbmd0aDtyZXR1cm4gZX19LHtrZXk6XCJjbGVhclwiLHZhbHVlOmZ1bmN0aW9uIGNsZWFyKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsO3RoaXMubGVuZ3RoPTB9fSx7a2V5Olwiam9pblwiLHZhbHVlOmZ1bmN0aW9uIGpvaW4oZSl7aWYodGhpcy5sZW5ndGg9PT0wKXJldHVyblwiXCI7dmFyIHQ9dGhpcy5oZWFkO3ZhciByPVwiXCIrdC5kYXRhO3doaWxlKHQ9dC5uZXh0KXtyKz1lK3QuZGF0YX1yZXR1cm4gcn19LHtrZXk6XCJjb25jYXRcIix2YWx1ZTpmdW5jdGlvbiBjb25jYXQoZSl7aWYodGhpcy5sZW5ndGg9PT0wKXJldHVybiBuLmFsbG9jKDApO3ZhciB0PW4uYWxsb2NVbnNhZmUoZT4+PjApO3ZhciByPXRoaXMuaGVhZDt2YXIgaT0wO3doaWxlKHIpe2NvcHlCdWZmZXIoci5kYXRhLHQsaSk7aSs9ci5kYXRhLmxlbmd0aDtyPXIubmV4dH1yZXR1cm4gdH19LHtrZXk6XCJjb25zdW1lXCIsdmFsdWU6ZnVuY3Rpb24gY29uc3VtZShlLHQpe3ZhciByO2lmKGU8dGhpcy5oZWFkLmRhdGEubGVuZ3RoKXtyPXRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsZSk7dGhpcy5oZWFkLmRhdGE9dGhpcy5oZWFkLmRhdGEuc2xpY2UoZSl9ZWxzZSBpZihlPT09dGhpcy5oZWFkLmRhdGEubGVuZ3RoKXtyPXRoaXMuc2hpZnQoKX1lbHNle3I9dD90aGlzLl9nZXRTdHJpbmcoZSk6dGhpcy5fZ2V0QnVmZmVyKGUpfXJldHVybiByfX0se2tleTpcImZpcnN0XCIsdmFsdWU6ZnVuY3Rpb24gZmlyc3QoKXtyZXR1cm4gdGhpcy5oZWFkLmRhdGF9fSx7a2V5OlwiX2dldFN0cmluZ1wiLHZhbHVlOmZ1bmN0aW9uIF9nZXRTdHJpbmcoZSl7dmFyIHQ9dGhpcy5oZWFkO3ZhciByPTE7dmFyIGk9dC5kYXRhO2UtPWkubGVuZ3RoO3doaWxlKHQ9dC5uZXh0KXt2YXIgbj10LmRhdGE7dmFyIGE9ZT5uLmxlbmd0aD9uLmxlbmd0aDplO2lmKGE9PT1uLmxlbmd0aClpKz1uO2Vsc2UgaSs9bi5zbGljZSgwLGUpO2UtPWE7aWYoZT09PTApe2lmKGE9PT1uLmxlbmd0aCl7KytyO2lmKHQubmV4dCl0aGlzLmhlYWQ9dC5uZXh0O2Vsc2UgdGhpcy5oZWFkPXRoaXMudGFpbD1udWxsfWVsc2V7dGhpcy5oZWFkPXQ7dC5kYXRhPW4uc2xpY2UoYSl9YnJlYWt9KytyfXRoaXMubGVuZ3RoLT1yO3JldHVybiBpfX0se2tleTpcIl9nZXRCdWZmZXJcIix2YWx1ZTpmdW5jdGlvbiBfZ2V0QnVmZmVyKGUpe3ZhciB0PW4uYWxsb2NVbnNhZmUoZSk7dmFyIHI9dGhpcy5oZWFkO3ZhciBpPTE7ci5kYXRhLmNvcHkodCk7ZS09ci5kYXRhLmxlbmd0aDt3aGlsZShyPXIubmV4dCl7dmFyIGE9ci5kYXRhO3ZhciBzPWU+YS5sZW5ndGg/YS5sZW5ndGg6ZTthLmNvcHkodCx0Lmxlbmd0aC1lLDAscyk7ZS09cztpZihlPT09MCl7aWYocz09PWEubGVuZ3RoKXsrK2k7aWYoci5uZXh0KXRoaXMuaGVhZD1yLm5leHQ7ZWxzZSB0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGx9ZWxzZXt0aGlzLmhlYWQ9cjtyLmRhdGE9YS5zbGljZShzKX1icmVha30rK2l9dGhpcy5sZW5ndGgtPWk7cmV0dXJuIHR9fSx7a2V5Om8sdmFsdWU6ZnVuY3Rpb24gdmFsdWUoZSx0KXtyZXR1cm4gcyh0aGlzLF9vYmplY3RTcHJlYWQoe30sdCx7ZGVwdGg6MCxjdXN0b21JbnNwZWN0OmZhbHNlfSkpfX1dKTtyZXR1cm4gQnVmZmVyTGlzdH0oKX0sNzAyNTpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBkZXN0cm95KGUsdCl7dmFyIHI9dGhpczt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZDt2YXIgbj10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtpZihpfHxuKXtpZih0KXt0KGUpfWVsc2UgaWYoZSl7aWYoIXRoaXMuX3dyaXRhYmxlU3RhdGUpe3Byb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyxlKX1lbHNlIGlmKCF0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9dHJ1ZTtwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULHRoaXMsZSl9fXJldHVybiB0aGlzfWlmKHRoaXMuX3JlYWRhYmxlU3RhdGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPXRydWV9aWYodGhpcy5fd3JpdGFibGVTdGF0ZSl7dGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9dHJ1ZX10aGlzLl9kZXN0cm95KGV8fG51bGwsKGZ1bmN0aW9uKGUpe2lmKCF0JiZlKXtpZighci5fd3JpdGFibGVTdGF0ZSl7cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULHIsZSl9ZWxzZSBpZighci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpe3IuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPXRydWU7cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULHIsZSl9ZWxzZXtwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpfX1lbHNlIGlmKHQpe3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscik7dChlKX1lbHNle3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscil9fSkpO3JldHVybiB0aGlzfWZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQoZSx0KXtlbWl0RXJyb3JOVChlLHQpO2VtaXRDbG9zZU5UKGUpfWZ1bmN0aW9uIGVtaXRDbG9zZU5UKGUpe2lmKGUuX3dyaXRhYmxlU3RhdGUmJiFlLl93cml0YWJsZVN0YXRlLmVtaXRDbG9zZSlyZXR1cm47aWYoZS5fcmVhZGFibGVTdGF0ZSYmIWUuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlKXJldHVybjtlLmVtaXQoXCJjbG9zZVwiKX1mdW5jdGlvbiB1bmRlc3Ryb3koKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlKXt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD1mYWxzZTt0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ZmFsc2U7dGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD1mYWxzZTt0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ZmFsc2V9aWYodGhpcy5fd3JpdGFibGVTdGF0ZSl7dGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZmFsc2U7dGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZD1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZz1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQ9ZmFsc2U7dGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD1mYWxzZX19ZnVuY3Rpb24gZW1pdEVycm9yTlQoZSx0KXtlLmVtaXQoXCJlcnJvclwiLHQpfWZ1bmN0aW9uIGVycm9yT3JEZXN0cm95KGUsdCl7dmFyIHI9ZS5fcmVhZGFibGVTdGF0ZTt2YXIgaT1lLl93cml0YWJsZVN0YXRlO2lmKHImJnIuYXV0b0Rlc3Ryb3l8fGkmJmkuYXV0b0Rlc3Ryb3kpZS5kZXN0cm95KHQpO2Vsc2UgZS5lbWl0KFwiZXJyb3JcIix0KX1lLmV4cG9ydHM9e2Rlc3Ryb3k6ZGVzdHJveSx1bmRlc3Ryb3k6dW5kZXN0cm95LGVycm9yT3JEZXN0cm95OmVycm9yT3JEZXN0cm95fX0sOTY5ODpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cig0NjQ2KS5xLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHQ9ZmFsc2U7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodClyZXR1cm47dD10cnVlO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLGk9bmV3IEFycmF5KHIpLG49MDtuPHI7bisrKXtpW25dPWFyZ3VtZW50c1tuXX1lLmFwcGx5KHRoaXMsaSl9fWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmdHlwZW9mIGUuYWJvcnQ9PT1cImZ1bmN0aW9uXCJ9ZnVuY3Rpb24gZW9zKGUsdCxyKXtpZih0eXBlb2YgdD09PVwiZnVuY3Rpb25cIilyZXR1cm4gZW9zKGUsbnVsbCx0KTtpZighdCl0PXt9O3I9b25jZShyfHxub29wKTt2YXIgbj10LnJlYWRhYmxlfHx0LnJlYWRhYmxlIT09ZmFsc2UmJmUucmVhZGFibGU7dmFyIGE9dC53cml0YWJsZXx8dC53cml0YWJsZSE9PWZhbHNlJiZlLndyaXRhYmxlO3ZhciBzPWZ1bmN0aW9uIG9ubGVnYWN5ZmluaXNoKCl7aWYoIWUud3JpdGFibGUpaCgpfTt2YXIgbz1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkO3ZhciBoPWZ1bmN0aW9uIG9uZmluaXNoKCl7YT1mYWxzZTtvPXRydWU7aWYoIW4pci5jYWxsKGUpfTt2YXIgdT1lLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ7dmFyIGQ9ZnVuY3Rpb24gb25lbmQoKXtuPWZhbHNlO3U9dHJ1ZTtpZighYSlyLmNhbGwoZSl9O3ZhciBjPWZ1bmN0aW9uIG9uZXJyb3IodCl7ci5jYWxsKGUsdCl9O3ZhciBsPWZ1bmN0aW9uIG9uY2xvc2UoKXt2YXIgdDtpZihuJiYhdSl7aWYoIWUuX3JlYWRhYmxlU3RhdGV8fCFlLl9yZWFkYWJsZVN0YXRlLmVuZGVkKXQ9bmV3IGk7cmV0dXJuIHIuY2FsbChlLHQpfWlmKGEmJiFvKXtpZighZS5fd3JpdGFibGVTdGF0ZXx8IWUuX3dyaXRhYmxlU3RhdGUuZW5kZWQpdD1uZXcgaTtyZXR1cm4gci5jYWxsKGUsdCl9fTt2YXIgcD1mdW5jdGlvbiBvbnJlcXVlc3QoKXtlLnJlcS5vbihcImZpbmlzaFwiLGgpfTtpZihpc1JlcXVlc3QoZSkpe2Uub24oXCJjb21wbGV0ZVwiLGgpO2Uub24oXCJhYm9ydFwiLGwpO2lmKGUucmVxKXAoKTtlbHNlIGUub24oXCJyZXF1ZXN0XCIscCl9ZWxzZSBpZihhJiYhZS5fd3JpdGFibGVTdGF0ZSl7ZS5vbihcImVuZFwiLHMpO2Uub24oXCJjbG9zZVwiLHMpfWUub24oXCJlbmRcIixkKTtlLm9uKFwiZmluaXNoXCIsaCk7aWYodC5lcnJvciE9PWZhbHNlKWUub24oXCJlcnJvclwiLGMpO2Uub24oXCJjbG9zZVwiLGwpO3JldHVybiBmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoXCJjb21wbGV0ZVwiLGgpO2UucmVtb3ZlTGlzdGVuZXIoXCJhYm9ydFwiLGwpO2UucmVtb3ZlTGlzdGVuZXIoXCJyZXF1ZXN0XCIscCk7aWYoZS5yZXEpZS5yZXEucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixoKTtlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIscyk7ZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIscyk7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGgpO2UucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixkKTtlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixjKTtlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKX19ZS5leHBvcnRzPWVvc30sOTcyNzpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gYXN5bmNHZW5lcmF0b3JTdGVwKGUsdCxyLGksbixhLHMpe3RyeXt2YXIgbz1lW2FdKHMpO3ZhciBoPW8udmFsdWV9Y2F0Y2goZSl7cihlKTtyZXR1cm59aWYoby5kb25lKXt0KGgpfWVsc2V7UHJvbWlzZS5yZXNvbHZlKGgpLnRoZW4oaSxuKX19ZnVuY3Rpb24gX2FzeW5jVG9HZW5lcmF0b3IoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGksbil7dmFyIGE9ZS5hcHBseSh0LHIpO2Z1bmN0aW9uIF9uZXh0KGUpe2FzeW5jR2VuZXJhdG9yU3RlcChhLGksbixfbmV4dCxfdGhyb3csXCJuZXh0XCIsZSl9ZnVuY3Rpb24gX3Rocm93KGUpe2FzeW5jR2VuZXJhdG9yU3RlcChhLGksbixfbmV4dCxfdGhyb3csXCJ0aHJvd1wiLGUpfV9uZXh0KHVuZGVmaW5lZCl9KSl9fWZ1bmN0aW9uIG93bktleXMoZSx0KXt2YXIgcj1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2lmKHQpaT1pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpO3IucHVzaC5hcHBseShyLGkpfXJldHVybiByfWZ1bmN0aW9uIF9vYmplY3RTcHJlYWQoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIHI9YXJndW1lbnRzW3RdIT1udWxsP2FyZ3VtZW50c1t0XTp7fTtpZih0JTIpe293bktleXMoT2JqZWN0KHIpLHRydWUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe19kZWZpbmVQcm9wZXJ0eShlLHQsclt0XSl9KSl9ZWxzZSBpZihPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyl7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSl9ZWxzZXtvd25LZXlzKE9iamVjdChyKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsdCkpfSkpfX1yZXR1cm4gZX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSx0LHIpe2lmKHQgaW4gZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6cixlbnVtZXJhYmxlOnRydWUsY29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZX0pfWVsc2V7ZVt0XT1yfXJldHVybiBlfXZhciBpPXIoNDY0NikucS5FUlJfSU5WQUxJRF9BUkdfVFlQRTtmdW5jdGlvbiBmcm9tKGUsdCxyKXt2YXIgbjtpZih0JiZ0eXBlb2YgdC5uZXh0PT09XCJmdW5jdGlvblwiKXtuPXR9ZWxzZSBpZih0JiZ0W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSluPXRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCk7ZWxzZSBpZih0JiZ0W1N5bWJvbC5pdGVyYXRvcl0pbj10W1N5bWJvbC5pdGVyYXRvcl0oKTtlbHNlIHRocm93IG5ldyBpKFwiaXRlcmFibGVcIixbXCJJdGVyYWJsZVwiXSx0KTt2YXIgYT1uZXcgZShfb2JqZWN0U3ByZWFkKHtvYmplY3RNb2RlOnRydWV9LHIpKTt2YXIgcz1mYWxzZTthLl9yZWFkPWZ1bmN0aW9uKCl7aWYoIXMpe3M9dHJ1ZTtuZXh0KCl9fTtmdW5jdGlvbiBuZXh0KCl7cmV0dXJuIF9uZXh0Mi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gX25leHQyKCl7X25leHQyPV9hc3luY1RvR2VuZXJhdG9yKChmdW5jdGlvbiooKXt0cnl7dmFyIGU9eWllbGQgbi5uZXh0KCksdD1lLnZhbHVlLHI9ZS5kb25lO2lmKHIpe2EucHVzaChudWxsKX1lbHNlIGlmKGEucHVzaCh5aWVsZCB0KSl7bmV4dCgpfWVsc2V7cz1mYWxzZX19Y2F0Y2goZSl7YS5kZXN0cm95KGUpfX0pKTtyZXR1cm4gX25leHQyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYX1lLmV4cG9ydHM9ZnJvbX0sODQ0MjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk7ZnVuY3Rpb24gb25jZShlKXt2YXIgdD1mYWxzZTtyZXR1cm4gZnVuY3Rpb24oKXtpZih0KXJldHVybjt0PXRydWU7ZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19dmFyIG49cig0NjQ2KS5xLGE9bi5FUlJfTUlTU0lOR19BUkdTLHM9bi5FUlJfU1RSRUFNX0RFU1RST1lFRDtmdW5jdGlvbiBub29wKGUpe2lmKGUpdGhyb3cgZX1mdW5jdGlvbiBpc1JlcXVlc3QoZSl7cmV0dXJuIGUuc2V0SGVhZGVyJiZ0eXBlb2YgZS5hYm9ydD09PVwiZnVuY3Rpb25cIn1mdW5jdGlvbiBkZXN0cm95ZXIoZSx0LG4sYSl7YT1vbmNlKGEpO3ZhciBvPWZhbHNlO2Uub24oXCJjbG9zZVwiLChmdW5jdGlvbigpe289dHJ1ZX0pKTtpZihpPT09dW5kZWZpbmVkKWk9cig5Njk4KTtpKGUse3JlYWRhYmxlOnQsd3JpdGFibGU6bn0sKGZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJuIGEoZSk7bz10cnVlO2EoKX0pKTt2YXIgaD1mYWxzZTtyZXR1cm4gZnVuY3Rpb24odCl7aWYobylyZXR1cm47aWYoaClyZXR1cm47aD10cnVlO2lmKGlzUmVxdWVzdChlKSlyZXR1cm4gZS5hYm9ydCgpO2lmKHR5cGVvZiBlLmRlc3Ryb3k9PT1cImZ1bmN0aW9uXCIpcmV0dXJuIGUuZGVzdHJveSgpO2EodHx8bmV3IHMoXCJwaXBlXCIpKX19ZnVuY3Rpb24gY2FsbChlKXtlKCl9ZnVuY3Rpb24gcGlwZShlLHQpe3JldHVybiBlLnBpcGUodCl9ZnVuY3Rpb24gcG9wQ2FsbGJhY2soZSl7aWYoIWUubGVuZ3RoKXJldHVybiBub29wO2lmKHR5cGVvZiBlW2UubGVuZ3RoLTFdIT09XCJmdW5jdGlvblwiKXJldHVybiBub29wO3JldHVybiBlLnBvcCgpfWZ1bmN0aW9uIHBpcGVsaW5lKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSkscj0wO3I8ZTtyKyspe3Rbcl09YXJndW1lbnRzW3JdfXZhciBpPXBvcENhbGxiYWNrKHQpO2lmKEFycmF5LmlzQXJyYXkodFswXSkpdD10WzBdO2lmKHQubGVuZ3RoPDIpe3Rocm93IG5ldyBhKFwic3RyZWFtc1wiKX12YXIgbjt2YXIgcz10Lm1hcCgoZnVuY3Rpb24oZSxyKXt2YXIgYT1yPHQubGVuZ3RoLTE7dmFyIG89cj4wO3JldHVybiBkZXN0cm95ZXIoZSxhLG8sKGZ1bmN0aW9uKGUpe2lmKCFuKW49ZTtpZihlKXMuZm9yRWFjaChjYWxsKTtpZihhKXJldHVybjtzLmZvckVhY2goY2FsbCk7aShuKX0pKX0pKTtyZXR1cm4gdC5yZWR1Y2UocGlwZSl9ZS5leHBvcnRzPXBpcGVsaW5lfSw2Nzc2OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgaT1yKDQ2NDYpLnEuRVJSX0lOVkFMSURfT1BUX1ZBTFVFO2Z1bmN0aW9uIGhpZ2hXYXRlck1hcmtGcm9tKGUsdCxyKXtyZXR1cm4gZS5oaWdoV2F0ZXJNYXJrIT1udWxsP2UuaGlnaFdhdGVyTWFyazp0P2Vbcl06bnVsbH1mdW5jdGlvbiBnZXRIaWdoV2F0ZXJNYXJrKGUsdCxyLG4pe3ZhciBhPWhpZ2hXYXRlck1hcmtGcm9tKHQsbixyKTtpZihhIT1udWxsKXtpZighKGlzRmluaXRlKGEpJiZNYXRoLmZsb29yKGEpPT09YSl8fGE8MCl7dmFyIHM9bj9yOlwiaGlnaFdhdGVyTWFya1wiO3Rocm93IG5ldyBpKHMsYSl9cmV0dXJuIE1hdGguZmxvb3IoYSl9cmV0dXJuIGUub2JqZWN0TW9kZT8xNjoxNioxMDI0fWUuZXhwb3J0cz17Z2V0SGlnaFdhdGVyTWFyazpnZXRIaWdoV2F0ZXJNYXJrfX0sNDY3ODpmdW5jdGlvbihlLHQscil7ZS5leHBvcnRzPXIoMjc4MSl9LDM3MjY6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoMjc4MSk7aWYocHJvY2Vzcy5lbnYuUkVBREFCTEVfU1RSRUFNPT09XCJkaXNhYmxlXCImJmkpe2UuZXhwb3J0cz1pLlJlYWRhYmxlO09iamVjdC5hc3NpZ24oZS5leHBvcnRzLGkpO2UuZXhwb3J0cy5TdHJlYW09aX1lbHNle3Q9ZS5leHBvcnRzPXIoMTcwOSk7dC5TdHJlYW09aXx8dDt0LlJlYWRhYmxlPXQ7dC5Xcml0YWJsZT1yKDczMzcpO3QuRHVwbGV4PXIoMjQwMyk7dC5UcmFuc2Zvcm09cigxMTcwKTt0LlBhc3NUaHJvdWdoPXIoNzg4OSk7dC5maW5pc2hlZD1yKDk2OTgpO3QucGlwZWxpbmU9cig4NDQyKX19LDMyMjU6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBpPXIoNDMwMCkuQnVmZmVyO3ZhciBuPXIoMzc4Mik7dmFyIGE9cig5MDI5KTt2YXIgcz1uZXcgQXJyYXkoMTYpO3ZhciBvPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDcsNCwxMywxLDEwLDYsMTUsMywxMiwwLDksNSwyLDE0LDExLDgsMywxMCwxNCw0LDksMTUsOCwxLDIsNywwLDYsMTMsMTEsNSwxMiwxLDksMTEsMTAsMCw4LDEyLDQsMTMsMyw3LDE1LDE0LDUsNiwyLDQsMCw1LDksNywxMiwyLDEwLDE0LDEsMyw4LDExLDYsMTUsMTNdO3ZhciBoPVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdO3ZhciB1PVsxMSwxNCwxNSwxMiw1LDgsNyw5LDExLDEzLDE0LDE1LDYsNyw5LDgsNyw2LDgsMTMsMTEsOSw3LDE1LDcsMTIsMTUsOSwxMSw3LDEzLDEyLDExLDEzLDYsNywxNCw5LDEzLDE1LDE0LDgsMTMsNiw1LDEyLDcsNSwxMSwxMiwxNCwxNSwxNCwxNSw5LDgsOSwxNCw1LDYsOCw2LDUsMTIsOSwxNSw1LDExLDYsOCwxMywxMiw1LDEyLDEzLDE0LDExLDgsNSw2XTt2YXIgZD1bOCw5LDksMTEsMTMsMTUsMTUsNSw3LDcsOCwxMSwxNCwxNCwxMiw2LDksMTMsMTUsNywxMiw4LDksMTEsNyw3LDEyLDcsNiwxNSwxMywxMSw5LDcsMTUsMTEsOCw2LDYsMTQsMTIsMTMsNSwxNCwxMywxMyw3LDUsMTUsNSw4LDExLDE0LDE0LDYsMTQsNiw5LDEyLDksMTIsNSwxNSw4LDgsNSwxMiw5LDEyLDUsMTQsNiw4LDEzLDYsNSwxNSwxMywxMSwxMV07dmFyIGM9WzAsMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMjg0MDg1MzgzOF07dmFyIGw9WzEzNTI4Mjk5MjYsMTU0ODYwMzY4NCwxODM2MDcyNjkxLDIwNTM5OTQyMTcsMF07ZnVuY3Rpb24gUklQRU1EMTYwKCl7YS5jYWxsKHRoaXMsNjQpO3RoaXMuX2E9MTczMjU4NDE5Mzt0aGlzLl9iPTQwMjMyMzM0MTc7dGhpcy5fYz0yNTYyMzgzMTAyO3RoaXMuX2Q9MjcxNzMzODc4O3RoaXMuX2U9MzI4NTM3NzUyMH1uKFJJUEVNRDE2MCxhKTtSSVBFTUQxNjAucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXt2YXIgZT1zO2Zvcih2YXIgdD0wO3Q8MTY7Kyt0KWVbdF09dGhpcy5fYmxvY2sucmVhZEludDMyTEUodCo0KTt2YXIgcj10aGlzLl9hfDA7dmFyIGk9dGhpcy5fYnwwO3ZhciBuPXRoaXMuX2N8MDt2YXIgYT10aGlzLl9kfDA7dmFyIHA9dGhpcy5fZXwwO3ZhciB2PXRoaXMuX2F8MDt2YXIgYj10aGlzLl9ifDA7dmFyIG09dGhpcy5fY3wwO3ZhciB5PXRoaXMuX2R8MDt2YXIgZz10aGlzLl9lfDA7Zm9yKHZhciBfPTA7Xzw4MDtfKz0xKXt2YXIgdzt2YXIgTTtpZihfPDE2KXt3PWZuMShyLGksbixhLHAsZVtvW19dXSxjWzBdLHVbX10pO009Zm41KHYsYixtLHksZyxlW2hbX11dLGxbMF0sZFtfXSl9ZWxzZSBpZihfPDMyKXt3PWZuMihyLGksbixhLHAsZVtvW19dXSxjWzFdLHVbX10pO009Zm40KHYsYixtLHksZyxlW2hbX11dLGxbMV0sZFtfXSl9ZWxzZSBpZihfPDQ4KXt3PWZuMyhyLGksbixhLHAsZVtvW19dXSxjWzJdLHVbX10pO009Zm4zKHYsYixtLHksZyxlW2hbX11dLGxbMl0sZFtfXSl9ZWxzZSBpZihfPDY0KXt3PWZuNChyLGksbixhLHAsZVtvW19dXSxjWzNdLHVbX10pO009Zm4yKHYsYixtLHksZyxlW2hbX11dLGxbM10sZFtfXSl9ZWxzZXt3PWZuNShyLGksbixhLHAsZVtvW19dXSxjWzRdLHVbX10pO009Zm4xKHYsYixtLHksZyxlW2hbX11dLGxbNF0sZFtfXSl9cj1wO3A9YTthPXJvdGwobiwxMCk7bj1pO2k9dzt2PWc7Zz15O3k9cm90bChtLDEwKTttPWI7Yj1NfXZhciBCPXRoaXMuX2Irbit5fDA7dGhpcy5fYj10aGlzLl9jK2ErZ3wwO3RoaXMuX2M9dGhpcy5fZCtwK3Z8MDt0aGlzLl9kPXRoaXMuX2UrcitifDA7dGhpcy5fZT10aGlzLl9hK2krbXwwO3RoaXMuX2E9Qn07UklQRU1EMTYwLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK109MTI4O2lmKHRoaXMuX2Jsb2NrT2Zmc2V0PjU2KXt0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNjQpO3RoaXMuX3VwZGF0ZSgpO3RoaXMuX2Jsb2NrT2Zmc2V0PTB9dGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KTt0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSw1Nik7dGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApO3RoaXMuX3VwZGF0ZSgpO3ZhciBlPWkuYWxsb2M/aS5hbGxvYygyMCk6bmV3IGkoMjApO2Uud3JpdGVJbnQzMkxFKHRoaXMuX2EsMCk7ZS53cml0ZUludDMyTEUodGhpcy5fYiw0KTtlLndyaXRlSW50MzJMRSh0aGlzLl9jLDgpO2Uud3JpdGVJbnQzMkxFKHRoaXMuX2QsMTIpO2Uud3JpdGVJbnQzMkxFKHRoaXMuX2UsMTYpO3JldHVybiBlfTtmdW5jdGlvbiByb3RsKGUsdCl7cmV0dXJuIGU8PHR8ZT4+PjMyLXR9ZnVuY3Rpb24gZm4xKGUsdCxyLGksbixhLHMsbyl7cmV0dXJuIHJvdGwoZSsodF5yXmkpK2Erc3wwLG8pK258MH1mdW5jdGlvbiBmbjIoZSx0LHIsaSxuLGEscyxvKXtyZXR1cm4gcm90bChlKyh0JnJ8fnQmaSkrYStzfDAsbykrbnwwfWZ1bmN0aW9uIGZuMyhlLHQscixpLG4sYSxzLG8pe3JldHVybiByb3RsKGUrKCh0fH5yKV5pKSthK3N8MCxvKStufDB9ZnVuY3Rpb24gZm40KGUsdCxyLGksbixhLHMsbyl7cmV0dXJuIHJvdGwoZSsodCZpfHImfmkpK2Erc3wwLG8pK258MH1mdW5jdGlvbiBmbjUoZSx0LHIsaSxuLGEscyxvKXtyZXR1cm4gcm90bChlKyh0XihyfH5pKSkrYStzfDAsbykrbnwwfWUuZXhwb3J0cz1SSVBFTUQxNjB9LDUwNTU6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoNDMwMCk7dmFyIG49aS5CdWZmZXI7ZnVuY3Rpb24gY29weVByb3BzKGUsdCl7Zm9yKHZhciByIGluIGUpe3Rbcl09ZVtyXX19aWYobi5mcm9tJiZuLmFsbG9jJiZuLmFsbG9jVW5zYWZlJiZuLmFsbG9jVW5zYWZlU2xvdyl7ZS5leHBvcnRzPWl9ZWxzZXtjb3B5UHJvcHMoaSx0KTt0LkJ1ZmZlcj1TYWZlQnVmZmVyfWZ1bmN0aW9uIFNhZmVCdWZmZXIoZSx0LHIpe3JldHVybiBuKGUsdCxyKX1TYWZlQnVmZmVyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKTtjb3B5UHJvcHMobixTYWZlQnVmZmVyKTtTYWZlQnVmZmVyLmZyb209ZnVuY3Rpb24oZSx0LHIpe2lmKHR5cGVvZiBlPT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyXCIpfXJldHVybiBuKGUsdCxyKX07U2FmZUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihlLHQscil7aWYodHlwZW9mIGUhPT1cIm51bWJlclwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKX12YXIgaT1uKGUpO2lmKHQhPT11bmRlZmluZWQpe2lmKHR5cGVvZiByPT09XCJzdHJpbmdcIil7aS5maWxsKHQscil9ZWxzZXtpLmZpbGwodCl9fWVsc2V7aS5maWxsKDApfXJldHVybiBpfTtTYWZlQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9cmV0dXJuIG4oZSl9O1NhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9cmV0dXJuIGkuU2xvd0J1ZmZlcihlKX19LDY5MTE6ZnVuY3Rpb24oZSx0LHIpe1xuLyohIHNhZmUtYnVmZmVyLiBNSVQgTGljZW5zZS4gRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cHM6Ly9mZXJvc3Mub3JnL29wZW5zb3VyY2U+ICovXG52YXIgaT1yKDQzMDApO3ZhciBuPWkuQnVmZmVyO2Z1bmN0aW9uIGNvcHlQcm9wcyhlLHQpe2Zvcih2YXIgciBpbiBlKXt0W3JdPWVbcl19fWlmKG4uZnJvbSYmbi5hbGxvYyYmbi5hbGxvY1Vuc2FmZSYmbi5hbGxvY1Vuc2FmZVNsb3cpe2UuZXhwb3J0cz1pfWVsc2V7Y29weVByb3BzKGksdCk7dC5CdWZmZXI9U2FmZUJ1ZmZlcn1mdW5jdGlvbiBTYWZlQnVmZmVyKGUsdCxyKXtyZXR1cm4gbihlLHQscil9U2FmZUJ1ZmZlci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSk7Y29weVByb3BzKG4sU2FmZUJ1ZmZlcik7U2FmZUJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtpZih0eXBlb2YgZT09PVwibnVtYmVyXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlclwiKX1yZXR1cm4gbihlLHQscil9O1NhZmVCdWZmZXIuYWxsb2M9ZnVuY3Rpb24oZSx0LHIpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9dmFyIGk9bihlKTtpZih0IT09dW5kZWZpbmVkKXtpZih0eXBlb2Ygcj09PVwic3RyaW5nXCIpe2kuZmlsbCh0LHIpfWVsc2V7aS5maWxsKHQpfX1lbHNle2kuZmlsbCgwKX1yZXR1cm4gaX07U2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtpZih0eXBlb2YgZSE9PVwibnVtYmVyXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpfXJldHVybiBuKGUpfTtTYWZlQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihlKXtpZih0eXBlb2YgZSE9PVwibnVtYmVyXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpfXJldHVybiBpLlNsb3dCdWZmZXIoZSl9fSwyODU4OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDY5MTEpLkJ1ZmZlcjtmdW5jdGlvbiBIYXNoKGUsdCl7dGhpcy5fYmxvY2s9aS5hbGxvYyhlKTt0aGlzLl9maW5hbFNpemU9dDt0aGlzLl9ibG9ja1NpemU9ZTt0aGlzLl9sZW49MH1IYXNoLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe3Q9dHx8XCJ1dGY4XCI7ZT1pLmZyb20oZSx0KX12YXIgcj10aGlzLl9ibG9jazt2YXIgbj10aGlzLl9ibG9ja1NpemU7dmFyIGE9ZS5sZW5ndGg7dmFyIHM9dGhpcy5fbGVuO2Zvcih2YXIgbz0wO288YTspe3ZhciBoPXMlbjt2YXIgdT1NYXRoLm1pbihhLW8sbi1oKTtmb3IodmFyIGQ9MDtkPHU7ZCsrKXtyW2grZF09ZVtvK2RdfXMrPXU7bys9dTtpZihzJW49PT0wKXt0aGlzLl91cGRhdGUocil9fXRoaXMuX2xlbis9YTtyZXR1cm4gdGhpc307SGFzaC5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2xlbiV0aGlzLl9ibG9ja1NpemU7dGhpcy5fYmxvY2tbdF09MTI4O3RoaXMuX2Jsb2NrLmZpbGwoMCx0KzEpO2lmKHQ+PXRoaXMuX2ZpbmFsU2l6ZSl7dGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKTt0aGlzLl9ibG9jay5maWxsKDApfXZhciByPXRoaXMuX2xlbio4O2lmKHI8PTQyOTQ5NjcyOTUpe3RoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUocix0aGlzLl9ibG9ja1NpemUtNCl9ZWxzZXt2YXIgaT0ociY0Mjk0OTY3Mjk1KT4+PjA7dmFyIG49KHItaSkvNDI5NDk2NzI5Njt0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKG4sdGhpcy5fYmxvY2tTaXplLTgpO3RoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUoaSx0aGlzLl9ibG9ja1NpemUtNCl9dGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKTt2YXIgYT10aGlzLl9oYXNoKCk7cmV0dXJuIGU/YS50b1N0cmluZyhlKTphfTtIYXNoLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiX3VwZGF0ZSBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzXCIpfTtlLmV4cG9ydHM9SGFzaH0sNDM3MTpmdW5jdGlvbihlLHQscil7dmFyIGk9ZS5leHBvcnRzPWZ1bmN0aW9uIFNIQShlKXtlPWUudG9Mb3dlckNhc2UoKTt2YXIgdD1pW2VdO2lmKCF0KXRocm93IG5ldyBFcnJvcihlK1wiIGlzIG5vdCBzdXBwb3J0ZWQgKHdlIGFjY2VwdCBwdWxsIHJlcXVlc3RzKVwiKTtyZXR1cm4gbmV3IHR9O2kuc2hhPXIoNDAxOCk7aS5zaGExPXIoNDE3OSk7aS5zaGEyMjQ9cig1MzIpO2kuc2hhMjU2PXIoMTg0Myk7aS5zaGEzODQ9cig3NDU1KTtpLnNoYTUxMj1yKDk5MzQpfSw0MDE4OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDM3ODIpO3ZhciBuPXIoMjg1OCk7dmFyIGE9cig2OTExKS5CdWZmZXI7dmFyIHM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4fDAsMzM5NTQ2OTc4MnwwXTt2YXIgbz1uZXcgQXJyYXkoODApO2Z1bmN0aW9uIFNoYSgpe3RoaXMuaW5pdCgpO3RoaXMuX3c9bztuLmNhbGwodGhpcyw2NCw1Nil9aShTaGEsbik7U2hhLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dGhpcy5fYT0xNzMyNTg0MTkzO3RoaXMuX2I9NDAyMzIzMzQxNzt0aGlzLl9jPTI1NjIzODMxMDI7dGhpcy5fZD0yNzE3MzM4Nzg7dGhpcy5fZT0zMjg1Mzc3NTIwO3JldHVybiB0aGlzfTtmdW5jdGlvbiByb3RsNShlKXtyZXR1cm4gZTw8NXxlPj4+Mjd9ZnVuY3Rpb24gcm90bDMwKGUpe3JldHVybiBlPDwzMHxlPj4+Mn1mdW5jdGlvbiBmdChlLHQscixpKXtpZihlPT09MClyZXR1cm4gdCZyfH50Jmk7aWYoZT09PTIpcmV0dXJuIHQmcnx0Jml8ciZpO3JldHVybiB0XnJeaX1TaGEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fdzt2YXIgcj10aGlzLl9hfDA7dmFyIGk9dGhpcy5fYnwwO3ZhciBuPXRoaXMuX2N8MDt2YXIgYT10aGlzLl9kfDA7dmFyIG89dGhpcy5fZXwwO2Zvcih2YXIgaD0wO2g8MTY7KytoKXRbaF09ZS5yZWFkSW50MzJCRShoKjQpO2Zvcig7aDw4MDsrK2gpdFtoXT10W2gtM11edFtoLThdXnRbaC0xNF1edFtoLTE2XTtmb3IodmFyIHU9MDt1PDgwOysrdSl7dmFyIGQ9fn4odS8yMCk7dmFyIGM9cm90bDUocikrZnQoZCxpLG4sYSkrbyt0W3VdK3NbZF18MDtvPWE7YT1uO249cm90bDMwKGkpO2k9cjtyPWN9dGhpcy5fYT1yK3RoaXMuX2F8MDt0aGlzLl9iPWkrdGhpcy5fYnwwO3RoaXMuX2M9bit0aGlzLl9jfDA7dGhpcy5fZD1hK3RoaXMuX2R8MDt0aGlzLl9lPW8rdGhpcy5fZXwwfTtTaGEucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9YS5hbGxvY1Vuc2FmZSgyMCk7ZS53cml0ZUludDMyQkUodGhpcy5fYXwwLDApO2Uud3JpdGVJbnQzMkJFKHRoaXMuX2J8MCw0KTtlLndyaXRlSW50MzJCRSh0aGlzLl9jfDAsOCk7ZS53cml0ZUludDMyQkUodGhpcy5fZHwwLDEyKTtlLndyaXRlSW50MzJCRSh0aGlzLl9lfDAsMTYpO3JldHVybiBlfTtlLmV4cG9ydHM9U2hhfSw0MTc5OmZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1yKDM3ODIpO3ZhciBuPXIoMjg1OCk7dmFyIGE9cig2OTExKS5CdWZmZXI7dmFyIHM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4fDAsMzM5NTQ2OTc4MnwwXTt2YXIgbz1uZXcgQXJyYXkoODApO2Z1bmN0aW9uIFNoYTEoKXt0aGlzLmluaXQoKTt0aGlzLl93PW87bi5jYWxsKHRoaXMsNjQsNTYpfWkoU2hhMSxuKTtTaGExLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dGhpcy5fYT0xNzMyNTg0MTkzO3RoaXMuX2I9NDAyMzIzMzQxNzt0aGlzLl9jPTI1NjIzODMxMDI7dGhpcy5fZD0yNzE3MzM4Nzg7dGhpcy5fZT0zMjg1Mzc3NTIwO3JldHVybiB0aGlzfTtmdW5jdGlvbiByb3RsMShlKXtyZXR1cm4gZTw8MXxlPj4+MzF9ZnVuY3Rpb24gcm90bDUoZSl7cmV0dXJuIGU8PDV8ZT4+PjI3fWZ1bmN0aW9uIHJvdGwzMChlKXtyZXR1cm4gZTw8MzB8ZT4+PjJ9ZnVuY3Rpb24gZnQoZSx0LHIsaSl7aWYoZT09PTApcmV0dXJuIHQmcnx+dCZpO2lmKGU9PT0yKXJldHVybiB0JnJ8dCZpfHImaTtyZXR1cm4gdF5yXml9U2hhMS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl93O3ZhciByPXRoaXMuX2F8MDt2YXIgaT10aGlzLl9ifDA7dmFyIG49dGhpcy5fY3wwO3ZhciBhPXRoaXMuX2R8MDt2YXIgbz10aGlzLl9lfDA7Zm9yKHZhciBoPTA7aDwxNjsrK2gpdFtoXT1lLnJlYWRJbnQzMkJFKGgqNCk7Zm9yKDtoPDgwOysraCl0W2hdPXJvdGwxKHRbaC0zXV50W2gtOF1edFtoLTE0XV50W2gtMTZdKTtmb3IodmFyIHU9MDt1PDgwOysrdSl7dmFyIGQ9fn4odS8yMCk7dmFyIGM9cm90bDUocikrZnQoZCxpLG4sYSkrbyt0W3VdK3NbZF18MDtvPWE7YT1uO249cm90bDMwKGkpO2k9cjtyPWN9dGhpcy5fYT1yK3RoaXMuX2F8MDt0aGlzLl9iPWkrdGhpcy5fYnwwO3RoaXMuX2M9bit0aGlzLl9jfDA7dGhpcy5fZD1hK3RoaXMuX2R8MDt0aGlzLl9lPW8rdGhpcy5fZXwwfTtTaGExLnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciBlPWEuYWxsb2NVbnNhZmUoMjApO2Uud3JpdGVJbnQzMkJFKHRoaXMuX2F8MCwwKTtlLndyaXRlSW50MzJCRSh0aGlzLl9ifDAsNCk7ZS53cml0ZUludDMyQkUodGhpcy5fY3wwLDgpO2Uud3JpdGVJbnQzMkJFKHRoaXMuX2R8MCwxMik7ZS53cml0ZUludDMyQkUodGhpcy5fZXwwLDE2KTtyZXR1cm4gZX07ZS5leHBvcnRzPVNoYTF9LDUzMjpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDE4NDMpO3ZhciBhPXIoMjg1OCk7dmFyIHM9cig2OTExKS5CdWZmZXI7dmFyIG89bmV3IEFycmF5KDY0KTtmdW5jdGlvbiBTaGEyMjQoKXt0aGlzLmluaXQoKTt0aGlzLl93PW87YS5jYWxsKHRoaXMsNjQsNTYpfWkoU2hhMjI0LG4pO1NoYTIyNC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuX2E9MzIzODM3MTAzMjt0aGlzLl9iPTkxNDE1MDY2Mzt0aGlzLl9jPTgxMjcwMjk5OTt0aGlzLl9kPTQxNDQ5MTI2OTc7dGhpcy5fZT00MjkwNzc1ODU3O3RoaXMuX2Y9MTc1MDYwMzAyNTt0aGlzLl9nPTE2OTQwNzY4Mzk7dGhpcy5faD0zMjA0MDc1NDI4O3JldHVybiB0aGlzfTtTaGEyMjQucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9cy5hbGxvY1Vuc2FmZSgyOCk7ZS53cml0ZUludDMyQkUodGhpcy5fYSwwKTtlLndyaXRlSW50MzJCRSh0aGlzLl9iLDQpO2Uud3JpdGVJbnQzMkJFKHRoaXMuX2MsOCk7ZS53cml0ZUludDMyQkUodGhpcy5fZCwxMik7ZS53cml0ZUludDMyQkUodGhpcy5fZSwxNik7ZS53cml0ZUludDMyQkUodGhpcy5fZiwyMCk7ZS53cml0ZUludDMyQkUodGhpcy5fZywyNCk7cmV0dXJuIGV9O2UuZXhwb3J0cz1TaGEyMjR9LDE4NDM6ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXIoMzc4Mik7dmFyIG49cigyODU4KTt2YXIgYT1yKDY5MTEpLkJ1ZmZlcjt2YXIgcz1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XTt2YXIgbz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIFNoYTI1Nigpe3RoaXMuaW5pdCgpO3RoaXMuX3c9bztuLmNhbGwodGhpcyw2NCw1Nil9aShTaGEyNTYsbik7U2hhMjU2LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dGhpcy5fYT0xNzc5MDMzNzAzO3RoaXMuX2I9MzE0NDEzNDI3Nzt0aGlzLl9jPTEwMTM5MDQyNDI7dGhpcy5fZD0yNzczNDgwNzYyO3RoaXMuX2U9MTM1OTg5MzExOTt0aGlzLl9mPTI2MDA4MjI5MjQ7dGhpcy5fZz01Mjg3MzQ2MzU7dGhpcy5faD0xNTQxNDU5MjI1O3JldHVybiB0aGlzfTtmdW5jdGlvbiBjaChlLHQscil7cmV0dXJuIHJeZSYodF5yKX1mdW5jdGlvbiBtYWooZSx0LHIpe3JldHVybiBlJnR8ciYoZXx0KX1mdW5jdGlvbiBzaWdtYTAoZSl7cmV0dXJuKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKX1mdW5jdGlvbiBzaWdtYTEoZSl7cmV0dXJuKGU+Pj42fGU8PDI2KV4oZT4+PjExfGU8PDIxKV4oZT4+PjI1fGU8PDcpfWZ1bmN0aW9uIGdhbW1hMChlKXtyZXR1cm4oZT4+Pjd8ZTw8MjUpXihlPj4+MTh8ZTw8MTQpXmU+Pj4zfWZ1bmN0aW9uIGdhbW1hMShlKXtyZXR1cm4oZT4+PjE3fGU8PDE1KV4oZT4+PjE5fGU8PDEzKV5lPj4+MTB9U2hhMjU2LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3c7dmFyIHI9dGhpcy5fYXwwO3ZhciBpPXRoaXMuX2J8MDt2YXIgbj10aGlzLl9jfDA7dmFyIGE9dGhpcy5fZHwwO3ZhciBvPXRoaXMuX2V8MDt2YXIgaD10aGlzLl9mfDA7dmFyIHU9dGhpcy5fZ3wwO3ZhciBkPXRoaXMuX2h8MDtmb3IodmFyIGM9MDtjPDE2OysrYyl0W2NdPWUucmVhZEludDMyQkUoYyo0KTtmb3IoO2M8NjQ7KytjKXRbY109Z2FtbWExKHRbYy0yXSkrdFtjLTddK2dhbW1hMCh0W2MtMTVdKSt0W2MtMTZdfDA7Zm9yKHZhciBsPTA7bDw2NDsrK2wpe3ZhciBwPWQrc2lnbWExKG8pK2NoKG8saCx1KStzW2xdK3RbbF18MDt2YXIgdj1zaWdtYTAocikrbWFqKHIsaSxuKXwwO2Q9dTt1PWg7aD1vO289YStwfDA7YT1uO249aTtpPXI7cj1wK3Z8MH10aGlzLl9hPXIrdGhpcy5fYXwwO3RoaXMuX2I9aSt0aGlzLl9ifDA7dGhpcy5fYz1uK3RoaXMuX2N8MDt0aGlzLl9kPWErdGhpcy5fZHwwO3RoaXMuX2U9byt0aGlzLl9lfDA7dGhpcy5fZj1oK3RoaXMuX2Z8MDt0aGlzLl9nPXUrdGhpcy5fZ3wwO3RoaXMuX2g9ZCt0aGlzLl9ofDB9O1NoYTI1Ni5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgZT1hLmFsbG9jVW5zYWZlKDMyKTtlLndyaXRlSW50MzJCRSh0aGlzLl9hLDApO2Uud3JpdGVJbnQzMkJFKHRoaXMuX2IsNCk7ZS53cml0ZUludDMyQkUodGhpcy5fYyw4KTtlLndyaXRlSW50MzJCRSh0aGlzLl9kLDEyKTtlLndyaXRlSW50MzJCRSh0aGlzLl9lLDE2KTtlLndyaXRlSW50MzJCRSh0aGlzLl9mLDIwKTtlLndyaXRlSW50MzJCRSh0aGlzLl9nLDI0KTtlLndyaXRlSW50MzJCRSh0aGlzLl9oLDI4KTtyZXR1cm4gZX07ZS5leHBvcnRzPVNoYTI1Nn0sNzQ1NTpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDk5MzQpO3ZhciBhPXIoMjg1OCk7dmFyIHM9cig2OTExKS5CdWZmZXI7dmFyIG89bmV3IEFycmF5KDE2MCk7ZnVuY3Rpb24gU2hhMzg0KCl7dGhpcy5pbml0KCk7dGhpcy5fdz1vO2EuY2FsbCh0aGlzLDEyOCwxMTIpfWkoU2hhMzg0LG4pO1NoYTM4NC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuX2FoPTM0MTgwNzAzNjU7dGhpcy5fYmg9MTY1NDI3MDI1MDt0aGlzLl9jaD0yNDM4NTI5MzcwO3RoaXMuX2RoPTM1NTQ2MjM2MDt0aGlzLl9laD0xNzMxNDA1NDE1O3RoaXMuX2ZoPTIzOTQxODAyMzE7dGhpcy5fZ2g9MzY3NTAwODUyNTt0aGlzLl9oaD0xMjAzMDYyODEzO3RoaXMuX2FsPTMyMzgzNzEwMzI7dGhpcy5fYmw9OTE0MTUwNjYzO3RoaXMuX2NsPTgxMjcwMjk5OTt0aGlzLl9kbD00MTQ0OTEyNjk3O3RoaXMuX2VsPTQyOTA3NzU4NTc7dGhpcy5fZmw9MTc1MDYwMzAyNTt0aGlzLl9nbD0xNjk0MDc2ODM5O3RoaXMuX2hsPTMyMDQwNzU0Mjg7cmV0dXJuIHRoaXN9O1NoYTM4NC5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgZT1zLmFsbG9jVW5zYWZlKDQ4KTtmdW5jdGlvbiB3cml0ZUludDY0QkUodCxyLGkpe2Uud3JpdGVJbnQzMkJFKHQsaSk7ZS53cml0ZUludDMyQkUocixpKzQpfXdyaXRlSW50NjRCRSh0aGlzLl9haCx0aGlzLl9hbCwwKTt3cml0ZUludDY0QkUodGhpcy5fYmgsdGhpcy5fYmwsOCk7d3JpdGVJbnQ2NEJFKHRoaXMuX2NoLHRoaXMuX2NsLDE2KTt3cml0ZUludDY0QkUodGhpcy5fZGgsdGhpcy5fZGwsMjQpO3dyaXRlSW50NjRCRSh0aGlzLl9laCx0aGlzLl9lbCwzMik7d3JpdGVJbnQ2NEJFKHRoaXMuX2ZoLHRoaXMuX2ZsLDQwKTtyZXR1cm4gZX07ZS5leHBvcnRzPVNoYTM4NH0sOTkzNDpmdW5jdGlvbihlLHQscil7dmFyIGk9cigzNzgyKTt2YXIgbj1yKDI4NTgpO3ZhciBhPXIoNjkxMSkuQnVmZmVyO3ZhciBzPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDYwOTU2MCwzNjI0MzgxMDgwLDI3MzQ4ODMzOTQsMzEwNTk4NDAxLDExNjQ5OTY1NDIsNjA3MjI1Mjc4LDEzMjM2MTA3NjQsMTQyNjg4MTk4NywzNTkwMzA0OTk0LDE5MjUwNzgzODgsNDA2ODE4MjM4MywyMTYyMDc4MjA2LDk5MTMzNjExMywyNjE0ODg4MTAzLDYzMzgwMzMxNywzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgsMzgzNTM5MDQwMSwyNjY2NjEzNDU4LDQwMjIyMjQ3NzQsOTQ0NzExMTM5LDI2NDM0NzA3OCwyMzQxMjYyNzczLDYwNDgwNzYyOCwyMDA3ODAwOTMzLDc3MDI1NTk4MywxNDk1OTkwOTAxLDEyNDkxNTAxMjIsMTg1NjQzMTIzNSwxNTU1MDgxNjkyLDMxNzUyMTgxMzIsMTk5NjA2NDk4NiwyMTk4OTUwODM3LDI1NTQyMjA4ODIsMzk5OTcxOTMzOSwyODIxODM0MzQ5LDc2Njc4NDAxNiwyOTUyOTk2ODA4LDI1NjY1OTQ4NzksMzIxMDMxMzY3MSwzMjAzMzM3OTU2LDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiwzNTg0NTI4NzExLDI0NjY5NDg5MDEsMTEzOTI2OTkzLDM3NTgzMjYzODMsMzM4MjQxODk1LDE2ODcxNzkzNiw2NjYzMDcyMDUsMTE4ODE3OTk2NCw3NzM1Mjk5MTIsMTU0NjA0NTczNCwxMjk0NzU3MzcyLDE1MjI4MDU0ODUsMTM5NjE4MjI5MSwyNjQzODMzODIzLDE2OTUxODM3MDAsMjM0MzUyNzM5MCwxOTg2NjYxMDUxLDEwMTQ0Nzc0ODAsMjE3NzAyNjM1MCwxMjA2NzU5MTQyLDI0NTY5NTYwMzcsMzQ0MDc3NjI3LDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCwyODIwMzAyNDExLDMxNTg0NTQyNzMsMzI1OTczMDgwMCwzNTA1OTUyNjU3LDMzNDU3NjQ3NzEsMTA2MjE3MDA4LDM1MTYwNjU4MTcsMzYwNjAwODM0NCwzNjAwMzUyODA0LDE0MzI3MjU3NzYsNDA5NDU3MTkwOSwxNDY3MDMxNTk0LDI3NTQyMzM0NCw4NTExNjk3MjAsNDMwMjI3NzM0LDMxMDA4MjM3NTIsNTA2OTQ4NjE2LDEzNjMyNTgxOTUsNjU5MDYwNTU2LDM3NTA2ODU1OTMsODgzOTk3ODc3LDM3ODUwNTAyODAsOTU4MTM5NTcxLDMzMTgzMDc0MjcsMTMyMjgyMjIxOCwzODEyNzIzNDAzLDE1MzcwMDIwNjMsMjAwMzAzNDk5NSwxNzQ3ODczNzc5LDM2MDIwMzY4OTksMTk1NTU2MjIyMiwxNTc1OTkwMDEyLDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCwyMjI3NzMwNDUyLDI3MTY5MDQzMDYsMjM2MTg1MjQyNCw0NDI3NzYwNDQsMjQyODQzNjQ3NCw1OTM2OTgzNDQsMjc1NjczNDE4NywzNzMzMTEwMjQ5LDMyMDQwMzE0NzksMjk5OTM1MTU3MywzMzI5MzI1Mjk4LDM4MTU5MjA0MjcsMzM5MTU2OTYxNCwzOTI4MzgzOTAwLDM1MTUyNjcyNzEsNTY2MjgwNzExLDM5NDAxODc2MDYsMzQ1NDA2OTUzNCw0MTE4NjMwMjcxLDQwMDAyMzk5OTIsMTE2NDE4NDc0LDE5MTQxMzg1NTQsMTc0MjkyNDIxLDI3MzEwNTUyNzAsMjg5MzgwMzU2LDMyMDM5OTMwMDYsNDYwMzkzMjY5LDMyMDYyMDMxNSw2ODU0NzE3MzMsNTg3NDk2ODM2LDg1MjE0Mjk3MSwxMDg2NzkyODUxLDEwMTcwMzYyOTgsMzY1NTQzMTAwLDExMjYwMDA1ODAsMjYxODI5NzY3NiwxMjg4MDMzNDcwLDM0MDk4NTUxNTgsMTUwMTUwNTk0OCw0MjM0NTA5ODY2LDE2MDcxNjc5MTUsOTg3MTY3NDY4LDE4MTY0MDIzMTYsMTI0NjE4OTU5MV07dmFyIG89bmV3IEFycmF5KDE2MCk7ZnVuY3Rpb24gU2hhNTEyKCl7dGhpcy5pbml0KCk7dGhpcy5fdz1vO24uY2FsbCh0aGlzLDEyOCwxMTIpfWkoU2hhNTEyLG4pO1NoYTUxMi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuX2FoPTE3NzkwMzM3MDM7dGhpcy5fYmg9MzE0NDEzNDI3Nzt0aGlzLl9jaD0xMDEzOTA0MjQyO3RoaXMuX2RoPTI3NzM0ODA3NjI7dGhpcy5fZWg9MTM1OTg5MzExOTt0aGlzLl9maD0yNjAwODIyOTI0O3RoaXMuX2doPTUyODczNDYzNTt0aGlzLl9oaD0xNTQxNDU5MjI1O3RoaXMuX2FsPTQwODkyMzU3MjA7dGhpcy5fYmw9MjIyNzg3MzU5NTt0aGlzLl9jbD00MjcxMTc1NzIzO3RoaXMuX2RsPTE1OTU3NTAxMjk7dGhpcy5fZWw9MjkxNzU2NTEzNzt0aGlzLl9mbD03MjU1MTExOTk7dGhpcy5fZ2w9NDIxNTM4OTU0Nzt0aGlzLl9obD0zMjcwMzMyMDk7cmV0dXJuIHRoaXN9O2Z1bmN0aW9uIENoKGUsdCxyKXtyZXR1cm4gcl5lJih0XnIpfWZ1bmN0aW9uIG1haihlLHQscil7cmV0dXJuIGUmdHxyJihlfHQpfWZ1bmN0aW9uIHNpZ21hMChlLHQpe3JldHVybihlPj4+Mjh8dDw8NCleKHQ+Pj4yfGU8PDMwKV4odD4+Pjd8ZTw8MjUpfWZ1bmN0aW9uIHNpZ21hMShlLHQpe3JldHVybihlPj4+MTR8dDw8MTgpXihlPj4+MTh8dDw8MTQpXih0Pj4+OXxlPDwyMyl9ZnVuY3Rpb24gR2FtbWEwKGUsdCl7cmV0dXJuKGU+Pj4xfHQ8PDMxKV4oZT4+Pjh8dDw8MjQpXmU+Pj43fWZ1bmN0aW9uIEdhbW1hMGwoZSx0KXtyZXR1cm4oZT4+PjF8dDw8MzEpXihlPj4+OHx0PDwyNCleKGU+Pj43fHQ8PDI1KX1mdW5jdGlvbiBHYW1tYTEoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXmU+Pj42fWZ1bmN0aW9uIEdhbW1hMWwoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXihlPj4+Nnx0PDwyNil9ZnVuY3Rpb24gZ2V0Q2FycnkoZSx0KXtyZXR1cm4gZT4+PjA8dD4+PjA/MTowfVNoYTUxMi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl93O3ZhciByPXRoaXMuX2FofDA7dmFyIGk9dGhpcy5fYmh8MDt2YXIgbj10aGlzLl9jaHwwO3ZhciBhPXRoaXMuX2RofDA7dmFyIG89dGhpcy5fZWh8MDt2YXIgaD10aGlzLl9maHwwO3ZhciB1PXRoaXMuX2dofDA7dmFyIGQ9dGhpcy5faGh8MDt2YXIgYz10aGlzLl9hbHwwO3ZhciBsPXRoaXMuX2JsfDA7dmFyIHA9dGhpcy5fY2x8MDt2YXIgdj10aGlzLl9kbHwwO3ZhciBiPXRoaXMuX2VsfDA7dmFyIG09dGhpcy5fZmx8MDt2YXIgeT10aGlzLl9nbHwwO3ZhciBnPXRoaXMuX2hsfDA7Zm9yKHZhciBfPTA7XzwzMjtfKz0yKXt0W19dPWUucmVhZEludDMyQkUoXyo0KTt0W18rMV09ZS5yZWFkSW50MzJCRShfKjQrNCl9Zm9yKDtfPDE2MDtfKz0yKXt2YXIgdz10W18tMTUqMl07dmFyIE09dFtfLTE1KjIrMV07dmFyIEI9R2FtbWEwKHcsTSk7dmFyIEU9R2FtbWEwbChNLHcpO3c9dFtfLTIqMl07TT10W18tMioyKzFdO3ZhciBrPUdhbW1hMSh3LE0pO3ZhciBBPUdhbW1hMWwoTSx3KTt2YXIgTj10W18tNyoyXTt2YXIgUD10W18tNyoyKzFdO3ZhciB4PXRbXy0xNioyXTt2YXIgST10W18tMTYqMisxXTt2YXIgQz1FK1B8MDt2YXIgRD1CK04rZ2V0Q2FycnkoQyxFKXwwO0M9QytBfDA7RD1EK2srZ2V0Q2FycnkoQyxBKXwwO0M9QytJfDA7RD1EK3grZ2V0Q2FycnkoQyxJKXwwO3RbX109RDt0W18rMV09Q31mb3IodmFyIFQ9MDtUPDE2MDtUKz0yKXtEPXRbVF07Qz10W1QrMV07dmFyIGo9bWFqKHIsaSxuKTt2YXIgcT1tYWooYyxsLHApO3ZhciBPPXNpZ21hMChyLGMpO3ZhciBIPXNpZ21hMChjLHIpO3ZhciBMPXNpZ21hMShvLGIpO3ZhciB6PXNpZ21hMShiLG8pO3ZhciBGPXNbVF07dmFyIFU9c1tUKzFdO3ZhciBXPUNoKG8saCx1KTt2YXIgVj1DaChiLG0seSk7dmFyIEc9Zyt6fDA7dmFyIEo9ZCtMK2dldENhcnJ5KEcsZyl8MDtHPUcrVnwwO0o9SitXK2dldENhcnJ5KEcsVil8MDtHPUcrVXwwO0o9SitGK2dldENhcnJ5KEcsVSl8MDtHPUcrQ3wwO0o9SitEK2dldENhcnJ5KEcsQyl8MDt2YXIgWj1IK3F8MDt2YXIgWD1PK2orZ2V0Q2FycnkoWixIKXwwO2Q9dTtnPXk7dT1oO3k9bTtoPW87bT1iO2I9ditHfDA7bz1hK0orZ2V0Q2FycnkoYix2KXwwO2E9bjt2PXA7bj1pO3A9bDtpPXI7bD1jO2M9RytafDA7cj1KK1grZ2V0Q2FycnkoYyxHKXwwfXRoaXMuX2FsPXRoaXMuX2FsK2N8MDt0aGlzLl9ibD10aGlzLl9ibCtsfDA7dGhpcy5fY2w9dGhpcy5fY2wrcHwwO3RoaXMuX2RsPXRoaXMuX2RsK3Z8MDt0aGlzLl9lbD10aGlzLl9lbCtifDA7dGhpcy5fZmw9dGhpcy5fZmwrbXwwO3RoaXMuX2dsPXRoaXMuX2dsK3l8MDt0aGlzLl9obD10aGlzLl9obCtnfDA7dGhpcy5fYWg9dGhpcy5fYWgrcitnZXRDYXJyeSh0aGlzLl9hbCxjKXwwO3RoaXMuX2JoPXRoaXMuX2JoK2krZ2V0Q2FycnkodGhpcy5fYmwsbCl8MDt0aGlzLl9jaD10aGlzLl9jaCtuK2dldENhcnJ5KHRoaXMuX2NsLHApfDA7dGhpcy5fZGg9dGhpcy5fZGgrYStnZXRDYXJyeSh0aGlzLl9kbCx2KXwwO3RoaXMuX2VoPXRoaXMuX2VoK28rZ2V0Q2FycnkodGhpcy5fZWwsYil8MDt0aGlzLl9maD10aGlzLl9maCtoK2dldENhcnJ5KHRoaXMuX2ZsLG0pfDA7dGhpcy5fZ2g9dGhpcy5fZ2grdStnZXRDYXJyeSh0aGlzLl9nbCx5KXwwO3RoaXMuX2hoPXRoaXMuX2hoK2QrZ2V0Q2FycnkodGhpcy5faGwsZyl8MH07U2hhNTEyLnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciBlPWEuYWxsb2NVbnNhZmUoNjQpO2Z1bmN0aW9uIHdyaXRlSW50NjRCRSh0LHIsaSl7ZS53cml0ZUludDMyQkUodCxpKTtlLndyaXRlSW50MzJCRShyLGkrNCl9d3JpdGVJbnQ2NEJFKHRoaXMuX2FoLHRoaXMuX2FsLDApO3dyaXRlSW50NjRCRSh0aGlzLl9iaCx0aGlzLl9ibCw4KTt3cml0ZUludDY0QkUodGhpcy5fY2gsdGhpcy5fY2wsMTYpO3dyaXRlSW50NjRCRSh0aGlzLl9kaCx0aGlzLl9kbCwyNCk7d3JpdGVJbnQ2NEJFKHRoaXMuX2VoLHRoaXMuX2VsLDMyKTt3cml0ZUludDY0QkUodGhpcy5fZmgsdGhpcy5fZmwsNDApO3dyaXRlSW50NjRCRSh0aGlzLl9naCx0aGlzLl9nbCw0OCk7d3JpdGVJbnQ2NEJFKHRoaXMuX2hoLHRoaXMuX2hsLDU2KTtyZXR1cm4gZX07ZS5leHBvcnRzPVNoYTUxMn0sMzcwNDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGk9cig1MDU1KS5CdWZmZXI7dmFyIG49aS5pc0VuY29kaW5nfHxmdW5jdGlvbihlKXtlPVwiXCIrZTtzd2l0Y2goZSYmZS50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOmNhc2VcInJhd1wiOnJldHVybiB0cnVlO2RlZmF1bHQ6cmV0dXJuIGZhbHNlfX07ZnVuY3Rpb24gX25vcm1hbGl6ZUVuY29kaW5nKGUpe2lmKCFlKXJldHVyblwidXRmOFwiO3ZhciB0O3doaWxlKHRydWUpe3N3aXRjaChlKXtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm5cInV0ZjhcIjtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm5cInV0ZjE2bGVcIjtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm5cImxhdGluMVwiO2Nhc2VcImJhc2U2NFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwiaGV4XCI6cmV0dXJuIGU7ZGVmYXVsdDppZih0KXJldHVybjtlPShcIlwiK2UpLnRvTG93ZXJDYXNlKCk7dD10cnVlfX19ZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcoZSl7dmFyIHQ9X25vcm1hbGl6ZUVuY29kaW5nKGUpO2lmKHR5cGVvZiB0IT09XCJzdHJpbmdcIiYmKGkuaXNFbmNvZGluZz09PW58fCFuKGUpKSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIitlKTtyZXR1cm4gdHx8ZX10LnM9U3RyaW5nRGVjb2RlcjtmdW5jdGlvbiBTdHJpbmdEZWNvZGVyKGUpe3RoaXMuZW5jb2Rpbmc9bm9ybWFsaXplRW5jb2RpbmcoZSk7dmFyIHQ7c3dpdGNoKHRoaXMuZW5jb2Rpbmcpe2Nhc2VcInV0ZjE2bGVcIjp0aGlzLnRleHQ9dXRmMTZUZXh0O3RoaXMuZW5kPXV0ZjE2RW5kO3Q9NDticmVhaztjYXNlXCJ1dGY4XCI6dGhpcy5maWxsTGFzdD11dGY4RmlsbExhc3Q7dD00O2JyZWFrO2Nhc2VcImJhc2U2NFwiOnRoaXMudGV4dD1iYXNlNjRUZXh0O3RoaXMuZW5kPWJhc2U2NEVuZDt0PTM7YnJlYWs7ZGVmYXVsdDp0aGlzLndyaXRlPXNpbXBsZVdyaXRlO3RoaXMuZW5kPXNpbXBsZUVuZDtyZXR1cm59dGhpcy5sYXN0TmVlZD0wO3RoaXMubGFzdFRvdGFsPTA7dGhpcy5sYXN0Q2hhcj1pLmFsbG9jVW5zYWZlKHQpfVN0cmluZ0RlY29kZXIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm5cIlwiO3ZhciB0O3ZhciByO2lmKHRoaXMubGFzdE5lZWQpe3Q9dGhpcy5maWxsTGFzdChlKTtpZih0PT09dW5kZWZpbmVkKXJldHVyblwiXCI7cj10aGlzLmxhc3ROZWVkO3RoaXMubGFzdE5lZWQ9MH1lbHNle3I9MH1pZihyPGUubGVuZ3RoKXJldHVybiB0P3QrdGhpcy50ZXh0KGUscik6dGhpcy50ZXh0KGUscik7cmV0dXJuIHR8fFwiXCJ9O1N0cmluZ0RlY29kZXIucHJvdG90eXBlLmVuZD11dGY4RW5kO1N0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQ9dXRmOFRleHQ7U3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3Q9ZnVuY3Rpb24oZSl7aWYodGhpcy5sYXN0TmVlZDw9ZS5sZW5ndGgpe2UuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0aGlzLmxhc3ROZWVkKTtyZXR1cm4gdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwpfWUuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCxlLmxlbmd0aCk7dGhpcy5sYXN0TmVlZC09ZS5sZW5ndGh9O2Z1bmN0aW9uIHV0ZjhDaGVja0J5dGUoZSl7aWYoZTw9MTI3KXJldHVybiAwO2Vsc2UgaWYoZT4+NT09PTYpcmV0dXJuIDI7ZWxzZSBpZihlPj40PT09MTQpcmV0dXJuIDM7ZWxzZSBpZihlPj4zPT09MzApcmV0dXJuIDQ7cmV0dXJuIGU+PjY9PT0yPy0xOi0yfWZ1bmN0aW9uIHV0ZjhDaGVja0luY29tcGxldGUoZSx0LHIpe3ZhciBpPXQubGVuZ3RoLTE7aWYoaTxyKXJldHVybiAwO3ZhciBuPXV0ZjhDaGVja0J5dGUodFtpXSk7aWYobj49MCl7aWYobj4wKWUubGFzdE5lZWQ9bi0xO3JldHVybiBufWlmKC0taTxyfHxuPT09LTIpcmV0dXJuIDA7bj11dGY4Q2hlY2tCeXRlKHRbaV0pO2lmKG4+PTApe2lmKG4+MCllLmxhc3ROZWVkPW4tMjtyZXR1cm4gbn1pZigtLWk8cnx8bj09PS0yKXJldHVybiAwO249dXRmOENoZWNrQnl0ZSh0W2ldKTtpZihuPj0wKXtpZihuPjApe2lmKG49PT0yKW49MDtlbHNlIGUubGFzdE5lZWQ9bi0zfXJldHVybiBufXJldHVybiAwfWZ1bmN0aW9uIHV0ZjhDaGVja0V4dHJhQnl0ZXMoZSx0LHIpe2lmKCh0WzBdJjE5MikhPT0xMjgpe2UubGFzdE5lZWQ9MDtyZXR1cm5cIu+/vVwifWlmKGUubGFzdE5lZWQ+MSYmdC5sZW5ndGg+MSl7aWYoKHRbMV0mMTkyKSE9PTEyOCl7ZS5sYXN0TmVlZD0xO3JldHVyblwi77+9XCJ9aWYoZS5sYXN0TmVlZD4yJiZ0Lmxlbmd0aD4yKXtpZigodFsyXSYxOTIpIT09MTI4KXtlLmxhc3ROZWVkPTI7cmV0dXJuXCLvv71cIn19fX1mdW5jdGlvbiB1dGY4RmlsbExhc3QoZSl7dmFyIHQ9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDt2YXIgcj11dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsZSx0KTtpZihyIT09dW5kZWZpbmVkKXJldHVybiByO2lmKHRoaXMubGFzdE5lZWQ8PWUubGVuZ3RoKXtlLmNvcHkodGhpcy5sYXN0Q2hhcix0LDAsdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKX1lLmNvcHkodGhpcy5sYXN0Q2hhcix0LDAsZS5sZW5ndGgpO3RoaXMubGFzdE5lZWQtPWUubGVuZ3RofWZ1bmN0aW9uIHV0ZjhUZXh0KGUsdCl7dmFyIHI9dXRmOENoZWNrSW5jb21wbGV0ZSh0aGlzLGUsdCk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIGUudG9TdHJpbmcoXCJ1dGY4XCIsdCk7dGhpcy5sYXN0VG90YWw9cjt2YXIgaT1lLmxlbmd0aC0oci10aGlzLmxhc3ROZWVkKTtlLmNvcHkodGhpcy5sYXN0Q2hhciwwLGkpO3JldHVybiBlLnRvU3RyaW5nKFwidXRmOFwiLHQsaSl9ZnVuY3Rpb24gdXRmOEVuZChlKXt2YXIgdD1lJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCI7aWYodGhpcy5sYXN0TmVlZClyZXR1cm4gdCtcIu+/vVwiO3JldHVybiB0fWZ1bmN0aW9uIHV0ZjE2VGV4dChlLHQpe2lmKChlLmxlbmd0aC10KSUyPT09MCl7dmFyIHI9ZS50b1N0cmluZyhcInV0ZjE2bGVcIix0KTtpZihyKXt2YXIgaT1yLmNoYXJDb2RlQXQoci5sZW5ndGgtMSk7aWYoaT49NTUyOTYmJmk8PTU2MzE5KXt0aGlzLmxhc3ROZWVkPTI7dGhpcy5sYXN0VG90YWw9NDt0aGlzLmxhc3RDaGFyWzBdPWVbZS5sZW5ndGgtMl07dGhpcy5sYXN0Q2hhclsxXT1lW2UubGVuZ3RoLTFdO3JldHVybiByLnNsaWNlKDAsLTEpfX1yZXR1cm4gcn10aGlzLmxhc3ROZWVkPTE7dGhpcy5sYXN0VG90YWw9Mjt0aGlzLmxhc3RDaGFyWzBdPWVbZS5sZW5ndGgtMV07cmV0dXJuIGUudG9TdHJpbmcoXCJ1dGYxNmxlXCIsdCxlLmxlbmd0aC0xKX1mdW5jdGlvbiB1dGYxNkVuZChlKXt2YXIgdD1lJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCI7aWYodGhpcy5sYXN0TmVlZCl7dmFyIHI9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDtyZXR1cm4gdCt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwidXRmMTZsZVwiLDAscil9cmV0dXJuIHR9ZnVuY3Rpb24gYmFzZTY0VGV4dChlLHQpe3ZhciByPShlLmxlbmd0aC10KSUzO2lmKHI9PT0wKXJldHVybiBlLnRvU3RyaW5nKFwiYmFzZTY0XCIsdCk7dGhpcy5sYXN0TmVlZD0zLXI7dGhpcy5sYXN0VG90YWw9MztpZihyPT09MSl7dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTFdfWVsc2V7dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTJdO3RoaXMubGFzdENoYXJbMV09ZVtlLmxlbmd0aC0xXX1yZXR1cm4gZS50b1N0cmluZyhcImJhc2U2NFwiLHQsZS5sZW5ndGgtcil9ZnVuY3Rpb24gYmFzZTY0RW5kKGUpe3ZhciB0PWUmJmUubGVuZ3RoP3RoaXMud3JpdGUoZSk6XCJcIjtpZih0aGlzLmxhc3ROZWVkKXJldHVybiB0K3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJiYXNlNjRcIiwwLDMtdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHR9ZnVuY3Rpb24gc2ltcGxlV3JpdGUoZSl7cmV0dXJuIGUudG9TdHJpbmcodGhpcy5lbmNvZGluZyl9ZnVuY3Rpb24gc2ltcGxlRW5kKGUpe3JldHVybiBlJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCJ9fSw2NzY5OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz1kZXByZWNhdGU7ZnVuY3Rpb24gZGVwcmVjYXRlKGUsdCl7aWYoY29uZmlnKFwibm9EZXByZWNhdGlvblwiKSl7cmV0dXJuIGV9dmFyIHI9ZmFsc2U7ZnVuY3Rpb24gZGVwcmVjYXRlZCgpe2lmKCFyKXtpZihjb25maWcoXCJ0aHJvd0RlcHJlY2F0aW9uXCIpKXt0aHJvdyBuZXcgRXJyb3IodCl9ZWxzZSBpZihjb25maWcoXCJ0cmFjZURlcHJlY2F0aW9uXCIpKXtjb25zb2xlLnRyYWNlKHQpfWVsc2V7Y29uc29sZS53YXJuKHQpfXI9dHJ1ZX1yZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGRlcHJlY2F0ZWR9ZnVuY3Rpb24gY29uZmlnKGUpe3RyeXtpZighZ2xvYmFsLmxvY2FsU3RvcmFnZSlyZXR1cm4gZmFsc2V9Y2F0Y2goZSl7cmV0dXJuIGZhbHNlfXZhciB0PWdsb2JhbC5sb2NhbFN0b3JhZ2VbZV07aWYobnVsbD09dClyZXR1cm4gZmFsc2U7cmV0dXJuIFN0cmluZyh0KS50b0xvd2VyQ2FzZSgpPT09XCJ0cnVlXCJ9fSw0MzAwOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwiYnVmZmVyXCIpfSw2MTEzOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwiY3J5cHRvXCIpfSwyMzYxOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwiZXZlbnRzXCIpfSwyNzgxOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwic3RyZWFtXCIpfSwxNTc2OmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXJcIil9LDM4Mzc6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPXJlcXVpcmUoXCJ1dGlsXCIpfSw2MTQ0OmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwidm1cIil9LDU4NjY6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3tcImFlcy0xMjgtZWNiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjEyOCxcIml2XCI6MCxcIm1vZGVcIjpcIkVDQlwiLFwidHlwZVwiOlwiYmxvY2tcIn0sXCJhZXMtMTkyLWVjYlwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoxOTIsXCJpdlwiOjAsXCJtb2RlXCI6XCJFQ0JcIixcInR5cGVcIjpcImJsb2NrXCJ9LFwiYWVzLTI1Ni1lY2JcIjp7XCJjaXBoZXJcIjpcIkFFU1wiLFwia2V5XCI6MjU2LFwiaXZcIjowLFwibW9kZVwiOlwiRUNCXCIsXCJ0eXBlXCI6XCJibG9ja1wifSxcImFlcy0xMjgtY2JjXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjEyOCxcIml2XCI6MTYsXCJtb2RlXCI6XCJDQkNcIixcInR5cGVcIjpcImJsb2NrXCJ9LFwiYWVzLTE5Mi1jYmNcIjp7XCJjaXBoZXJcIjpcIkFFU1wiLFwia2V5XCI6MTkyLFwiaXZcIjoxNixcIm1vZGVcIjpcIkNCQ1wiLFwidHlwZVwiOlwiYmxvY2tcIn0sXCJhZXMtMjU2LWNiY1wiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoyNTYsXCJpdlwiOjE2LFwibW9kZVwiOlwiQ0JDXCIsXCJ0eXBlXCI6XCJibG9ja1wifSxcImFlczEyOFwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoxMjgsXCJpdlwiOjE2LFwibW9kZVwiOlwiQ0JDXCIsXCJ0eXBlXCI6XCJibG9ja1wifSxcImFlczE5MlwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoxOTIsXCJpdlwiOjE2LFwibW9kZVwiOlwiQ0JDXCIsXCJ0eXBlXCI6XCJibG9ja1wifSxcImFlczI1NlwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoyNTYsXCJpdlwiOjE2LFwibW9kZVwiOlwiQ0JDXCIsXCJ0eXBlXCI6XCJibG9ja1wifSxcImFlcy0xMjgtY2ZiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjEyOCxcIml2XCI6MTYsXCJtb2RlXCI6XCJDRkJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xOTItY2ZiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjE5MixcIml2XCI6MTYsXCJtb2RlXCI6XCJDRkJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0yNTYtY2ZiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjI1NixcIml2XCI6MTYsXCJtb2RlXCI6XCJDRkJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xMjgtY2ZiOFwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoxMjgsXCJpdlwiOjE2LFwibW9kZVwiOlwiQ0ZCOFwiLFwidHlwZVwiOlwic3RyZWFtXCJ9LFwiYWVzLTE5Mi1jZmI4XCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjE5MixcIml2XCI6MTYsXCJtb2RlXCI6XCJDRkI4XCIsXCJ0eXBlXCI6XCJzdHJlYW1cIn0sXCJhZXMtMjU2LWNmYjhcIjp7XCJjaXBoZXJcIjpcIkFFU1wiLFwia2V5XCI6MjU2LFwiaXZcIjoxNixcIm1vZGVcIjpcIkNGQjhcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xMjgtY2ZiMVwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoxMjgsXCJpdlwiOjE2LFwibW9kZVwiOlwiQ0ZCMVwiLFwidHlwZVwiOlwic3RyZWFtXCJ9LFwiYWVzLTE5Mi1jZmIxXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjE5MixcIml2XCI6MTYsXCJtb2RlXCI6XCJDRkIxXCIsXCJ0eXBlXCI6XCJzdHJlYW1cIn0sXCJhZXMtMjU2LWNmYjFcIjp7XCJjaXBoZXJcIjpcIkFFU1wiLFwia2V5XCI6MjU2LFwiaXZcIjoxNixcIm1vZGVcIjpcIkNGQjFcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xMjgtb2ZiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjEyOCxcIml2XCI6MTYsXCJtb2RlXCI6XCJPRkJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xOTItb2ZiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjE5MixcIml2XCI6MTYsXCJtb2RlXCI6XCJPRkJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0yNTYtb2ZiXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjI1NixcIml2XCI6MTYsXCJtb2RlXCI6XCJPRkJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xMjgtY3RyXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjEyOCxcIml2XCI6MTYsXCJtb2RlXCI6XCJDVFJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xOTItY3RyXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjE5MixcIml2XCI6MTYsXCJtb2RlXCI6XCJDVFJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0yNTYtY3RyXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjI1NixcIml2XCI6MTYsXCJtb2RlXCI6XCJDVFJcIixcInR5cGVcIjpcInN0cmVhbVwifSxcImFlcy0xMjgtZ2NtXCI6e1wiY2lwaGVyXCI6XCJBRVNcIixcImtleVwiOjEyOCxcIml2XCI6MTIsXCJtb2RlXCI6XCJHQ01cIixcInR5cGVcIjpcImF1dGhcIn0sXCJhZXMtMTkyLWdjbVwiOntcImNpcGhlclwiOlwiQUVTXCIsXCJrZXlcIjoxOTIsXCJpdlwiOjEyLFwibW9kZVwiOlwiR0NNXCIsXCJ0eXBlXCI6XCJhdXRoXCJ9LFwiYWVzLTI1Ni1nY21cIjp7XCJjaXBoZXJcIjpcIkFFU1wiLFwia2V5XCI6MjU2LFwiaXZcIjoxMixcIm1vZGVcIjpcIkdDTVwiLFwidHlwZVwiOlwiYXV0aFwifX0nKX0sMjkwODpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgne1wic2hhMjI0V2l0aFJTQUVuY3J5cHRpb25cIjp7XCJzaWduXCI6XCJyc2FcIixcImhhc2hcIjpcInNoYTIyNFwiLFwiaWRcIjpcIjMwMmQzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwNDA1MDAwNDFjXCJ9LFwiUlNBLVNIQTIyNFwiOntcInNpZ25cIjpcImVjZHNhL3JzYVwiLFwiaGFzaFwiOlwic2hhMjI0XCIsXCJpZFwiOlwiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWNcIn0sXCJzaGEyNTZXaXRoUlNBRW5jcnlwdGlvblwiOntcInNpZ25cIjpcInJzYVwiLFwiaGFzaFwiOlwic2hhMjU2XCIsXCJpZFwiOlwiMzAzMTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAxMDUwMDA0MjBcIn0sXCJSU0EtU0hBMjU2XCI6e1wic2lnblwiOlwiZWNkc2EvcnNhXCIsXCJoYXNoXCI6XCJzaGEyNTZcIixcImlkXCI6XCIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMFwifSxcInNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uXCI6e1wic2lnblwiOlwicnNhXCIsXCJoYXNoXCI6XCJzaGEzODRcIixcImlkXCI6XCIzMDQxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDIwNTAwMDQzMFwifSxcIlJTQS1TSEEzODRcIjp7XCJzaWduXCI6XCJlY2RzYS9yc2FcIixcImhhc2hcIjpcInNoYTM4NFwiLFwiaWRcIjpcIjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwXCJ9LFwic2hhNTEyV2l0aFJTQUVuY3J5cHRpb25cIjp7XCJzaWduXCI6XCJyc2FcIixcImhhc2hcIjpcInNoYTUxMlwiLFwiaWRcIjpcIjMwNTEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMzA1MDAwNDQwXCJ9LFwiUlNBLVNIQTUxMlwiOntcInNpZ25cIjpcImVjZHNhL3JzYVwiLFwiaGFzaFwiOlwic2hhNTEyXCIsXCJpZFwiOlwiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDBcIn0sXCJSU0EtU0hBMVwiOntcInNpZ25cIjpcInJzYVwiLFwiaGFzaFwiOlwic2hhMVwiLFwiaWRcIjpcIjMwMjEzMDA5MDYwNTJiMGUwMzAyMWEwNTAwMDQxNFwifSxcImVjZHNhLXdpdGgtU0hBMVwiOntcInNpZ25cIjpcImVjZHNhXCIsXCJoYXNoXCI6XCJzaGExXCIsXCJpZFwiOlwiXCJ9LFwic2hhMjU2XCI6e1wic2lnblwiOlwiZWNkc2FcIixcImhhc2hcIjpcInNoYTI1NlwiLFwiaWRcIjpcIlwifSxcInNoYTIyNFwiOntcInNpZ25cIjpcImVjZHNhXCIsXCJoYXNoXCI6XCJzaGEyMjRcIixcImlkXCI6XCJcIn0sXCJzaGEzODRcIjp7XCJzaWduXCI6XCJlY2RzYVwiLFwiaGFzaFwiOlwic2hhMzg0XCIsXCJpZFwiOlwiXCJ9LFwic2hhNTEyXCI6e1wic2lnblwiOlwiZWNkc2FcIixcImhhc2hcIjpcInNoYTUxMlwiLFwiaWRcIjpcIlwifSxcIkRTQS1TSEFcIjp7XCJzaWduXCI6XCJkc2FcIixcImhhc2hcIjpcInNoYTFcIixcImlkXCI6XCJcIn0sXCJEU0EtU0hBMVwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwic2hhMVwiLFwiaWRcIjpcIlwifSxcIkRTQVwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwic2hhMVwiLFwiaWRcIjpcIlwifSxcIkRTQS1XSVRILVNIQTIyNFwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwic2hhMjI0XCIsXCJpZFwiOlwiXCJ9LFwiRFNBLVNIQTIyNFwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwic2hhMjI0XCIsXCJpZFwiOlwiXCJ9LFwiRFNBLVdJVEgtU0hBMjU2XCI6e1wic2lnblwiOlwiZHNhXCIsXCJoYXNoXCI6XCJzaGEyNTZcIixcImlkXCI6XCJcIn0sXCJEU0EtU0hBMjU2XCI6e1wic2lnblwiOlwiZHNhXCIsXCJoYXNoXCI6XCJzaGEyNTZcIixcImlkXCI6XCJcIn0sXCJEU0EtV0lUSC1TSEEzODRcIjp7XCJzaWduXCI6XCJkc2FcIixcImhhc2hcIjpcInNoYTM4NFwiLFwiaWRcIjpcIlwifSxcIkRTQS1TSEEzODRcIjp7XCJzaWduXCI6XCJkc2FcIixcImhhc2hcIjpcInNoYTM4NFwiLFwiaWRcIjpcIlwifSxcIkRTQS1XSVRILVNIQTUxMlwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwic2hhNTEyXCIsXCJpZFwiOlwiXCJ9LFwiRFNBLVNIQTUxMlwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwic2hhNTEyXCIsXCJpZFwiOlwiXCJ9LFwiRFNBLVJJUEVNRDE2MFwiOntcInNpZ25cIjpcImRzYVwiLFwiaGFzaFwiOlwicm1kMTYwXCIsXCJpZFwiOlwiXCJ9LFwicmlwZW1kMTYwV2l0aFJTQVwiOntcInNpZ25cIjpcInJzYVwiLFwiaGFzaFwiOlwicm1kMTYwXCIsXCJpZFwiOlwiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0XCJ9LFwiUlNBLVJJUEVNRDE2MFwiOntcInNpZ25cIjpcInJzYVwiLFwiaGFzaFwiOlwicm1kMTYwXCIsXCJpZFwiOlwiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0XCJ9LFwibWQ1V2l0aFJTQUVuY3J5cHRpb25cIjp7XCJzaWduXCI6XCJyc2FcIixcImhhc2hcIjpcIm1kNVwiLFwiaWRcIjpcIjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMFwifSxcIlJTQS1NRDVcIjp7XCJzaWduXCI6XCJyc2FcIixcImhhc2hcIjpcIm1kNVwiLFwiaWRcIjpcIjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMFwifX0nKX0sOTI2NzpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgne1wiMS4zLjEzMi4wLjEwXCI6XCJzZWNwMjU2azFcIixcIjEuMy4xMzIuMC4zM1wiOlwicDIyNFwiLFwiMS4yLjg0MC4xMDA0NS4zLjEuMVwiOlwicDE5MlwiLFwiMS4yLjg0MC4xMDA0NS4zLjEuN1wiOlwicDI1NlwiLFwiMS4zLjEzMi4wLjM0XCI6XCJwMzg0XCIsXCIxLjMuMTMyLjAuMzVcIjpcInA1MjFcIn0nKX0sNzk5MjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgne1wibW9kcDFcIjp7XCJnZW5cIjpcIjAyXCIsXCJwcmltZVwiOlwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzYTM2MjBmZmZmZmZmZmZmZmZmZmZmXCJ9LFwibW9kcDJcIjp7XCJnZW5cIjpcIjAyXCIsXCJwcmltZVwiOlwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTY1MzgxZmZmZmZmZmZmZmZmZmZmZlwifSxcIm1vZHA1XCI6e1wiZ2VuXCI6XCIwMlwiLFwicHJpbWVcIjpcImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMjM3MzI3ZmZmZmZmZmZmZmZmZmZmZlwifSxcIm1vZHAxNFwiOntcImdlblwiOlwiMDJcIixcInByaW1lXCI6XCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWNhYTY4ZmZmZmZmZmZmZmZmZmZmZlwifSxcIm1vZHAxNVwiOntcImdlblwiOlwiMDJcIixcInByaW1lXCI6XCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTNhZDJjYWZmZmZmZmZmZmZmZmZmZmZcIn0sXCJtb2RwMTZcIjp7XCJnZW5cIjpcIjAyXCIsXCJwcmltZVwiOlwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDYzMTk5ZmZmZmZmZmZmZmZmZmZmZlwifSxcIm1vZHAxN1wiOntcImdlblwiOlwiMDJcIixcInByaW1lXCI6XCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTIxMDgwMTFhNzIzYzEyYTc4N2U2ZDc4ODcxOWExMGJkYmE1YjI2OTljMzI3MTg2YWY0ZTIzYzFhOTQ2ODM0YjYxNTBiZGEyNTgzZTljYTJhZDQ0Y2U4ZGJiYmMyZGIwNGRlOGVmOTJlOGVmYzE0MWZiZWNhYTYyODdjNTk0NzRlNmJjMDVkOTliMjk2NGZhMDkwYzNhMjIzM2JhMTg2NTE1YmU3ZWQxZjYxMjk3MGNlZTJkN2FmYjgxYmRkNzYyMTcwNDgxY2QwMDY5MTI3ZDViMDVhYTk5M2I0ZWE5ODhkOGZkZGMxODZmZmI3ZGM5MGE2YzA4ZjRkZjQzNWM5MzQwMjg0OTIzNmMzZmFiNGQyN2M3MDI2YzFkNGRjYjI2MDI2NDZkZWM5NzUxZTc2M2RiYTM3YmRmOGZmOTQwNmFkOWU1MzBlZTVkYjM4MmY0MTMwMDFhZWIwNmE1M2VkOTAyN2Q4MzExNzk3MjdiMDg2NWE4OTE4ZGEzZWRiZWJjZjliMTRlZDQ0Y2U2Y2JhY2VkNGJiMWJkYjdmMTQ0N2U2Y2MyNTRiMzMyMDUxNTEyYmQ3YWY0MjZmYjhmNDAxMzc4Y2QyYmY1OTgzY2EwMWM2NGI5MmVjZjAzMmVhMTVkMTcyMWQwM2Y0ODJkN2NlNmU3NGZlZjZkNTVlNzAyZjQ2OTgwYzgyYjVhODQwMzE5MDBiMWM5ZTU5ZTdjOTdmYmVjN2U4ZjMyM2E5N2E3ZTM2Y2M4OGJlMGYxZDQ1YjdmZjU4NWFjNTRiZDQwN2IyMmI0MTU0YWFjYzhmNmQ3ZWJmNDhlMWQ4MTRjYzVlZDIwZjgwMzdlMGE3OTcxNWVlZjI5YmUzMjgwNmExZDU4YmI3YzVkYTc2ZjU1MGFhM2Q4YTFmYmZmMGViMTljY2IxYTMxM2Q1NWNkYTU2YzllYzJlZjI5NjMyMzg3ZmU4ZDc2ZTNjMDQ2ODA0M2U4ZjY2M2Y0ODYwZWUxMmJmMmQ1YjBiNzQ3NGQ2ZTY5NGY5MWU2ZGNjNDAyNGZmZmZmZmZmZmZmZmZmZmZcIn0sXCJtb2RwMThcIjp7XCJnZW5cIjpcIjAyXCIsXCJwcmltZVwiOlwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDI4NDkyMzZjM2ZhYjRkMjdjNzAyNmMxZDRkY2IyNjAyNjQ2ZGVjOTc1MWU3NjNkYmEzN2JkZjhmZjk0MDZhZDllNTMwZWU1ZGIzODJmNDEzMDAxYWViMDZhNTNlZDkwMjdkODMxMTc5NzI3YjA4NjVhODkxOGRhM2VkYmViY2Y5YjE0ZWQ0NGNlNmNiYWNlZDRiYjFiZGI3ZjE0NDdlNmNjMjU0YjMzMjA1MTUxMmJkN2FmNDI2ZmI4ZjQwMTM3OGNkMmJmNTk4M2NhMDFjNjRiOTJlY2YwMzJlYTE1ZDE3MjFkMDNmNDgyZDdjZTZlNzRmZWY2ZDU1ZTcwMmY0Njk4MGM4MmI1YTg0MDMxOTAwYjFjOWU1OWU3Yzk3ZmJlYzdlOGYzMjNhOTdhN2UzNmNjODhiZTBmMWQ0NWI3ZmY1ODVhYzU0YmQ0MDdiMjJiNDE1NGFhY2M4ZjZkN2ViZjQ4ZTFkODE0Y2M1ZWQyMGY4MDM3ZTBhNzk3MTVlZWYyOWJlMzI4MDZhMWQ1OGJiN2M1ZGE3NmY1NTBhYTNkOGExZmJmZjBlYjE5Y2NiMWEzMTNkNTVjZGE1NmM5ZWMyZWYyOTYzMjM4N2ZlOGQ3NmUzYzA0NjgwNDNlOGY2NjNmNDg2MGVlMTJiZjJkNWIwYjc0NzRkNmU2OTRmOTFlNmRiZTExNTk3NGEzOTI2ZjEyZmVlNWU0Mzg3NzdjYjZhOTMyZGY4Y2Q4YmVjNGQwNzNiOTMxYmEzYmM4MzJiNjhkOWRkMzAwNzQxZmE3YmY4YWZjNDdlZDI1NzZmNjkzNmJhNDI0NjYzYWFiNjM5YzVhZTRmNTY4MzQyM2I0NzQyYmYxYzk3ODIzOGYxNmNiZTM5ZDY1MmRlM2ZkYjhiZWZjODQ4YWQ5MjIyMjJlMDRhNDAzN2MwNzEzZWI1N2E4MWEyM2YwYzczNDczZmM2NDZjZWEzMDZiNGJjYmM4ODYyZjgzODVkZGZhOWQ0YjdmYTJjMDg3ZTg3OTY4MzMwM2VkNWJkZDNhMDYyYjNjZjViM2EyNzhhNjZkMmExM2Y4M2Y0NGY4MmRkZjMxMGVlMDc0YWI2YTM2NDU5N2U4OTlhMDI1NWRjMTY0ZjMxY2M1MDg0Njg1MWRmOWFiNDgxOTVkZWQ3ZWExYjFkNTEwYmQ3ZWU3NGQ3M2ZhZjM2YmMzMWVjZmEyNjgzNTkwNDZmNGViODc5ZjkyNDAwOTQzOGI0ODFjNmNkNzg4OWEwMDJlZDVlZTM4MmJjOTE5MGRhNmZjMDI2ZTQ3OTU1OGU0NDc1Njc3ZTlhYTllMzA1MGUyNzY1Njk0ZGZjODFmNTZlODgwYjk2ZTcxNjBjOTgwZGQ5OGVkZDNkZmZmZmZmZmZmZmZmZmZmZmZcIn19Jyl9LDI1MzE6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPXtpODpcIjYuNS4zXCJ9fSwyNTEwOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7XCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4xXCI6XCJhZXMtMTI4LWVjYlwiLFwiMi4xNi44NDAuMS4xMDEuMy40LjEuMlwiOlwiYWVzLTEyOC1jYmNcIixcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjNcIjpcImFlcy0xMjgtb2ZiXCIsXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40XCI6XCJhZXMtMTI4LWNmYlwiLFwiMi4xNi44NDAuMS4xMDEuMy40LjEuMjFcIjpcImFlcy0xOTItZWNiXCIsXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMlwiOlwiYWVzLTE5Mi1jYmNcIixcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIzXCI6XCJhZXMtMTkyLW9mYlwiLFwiMi4xNi44NDAuMS4xMDEuMy40LjEuMjRcIjpcImFlcy0xOTItY2ZiXCIsXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MVwiOlwiYWVzLTI1Ni1lY2JcIixcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQyXCI6XCJhZXMtMjU2LWNiY1wiLFwiMi4xNi44NDAuMS4xMDEuMy40LjEuNDNcIjpcImFlcy0yNTYtb2ZiXCIsXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40NFwiOlwiYWVzLTI1Ni1jZmJcIn0nKX19O3ZhciB0PXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18ocil7dmFyIGk9dFtyXTtpZihpIT09dW5kZWZpbmVkKXtyZXR1cm4gaS5leHBvcnRzfXZhciBuPXRbcl09e2lkOnIsbG9hZGVkOmZhbHNlLGV4cG9ydHM6e319O3ZhciBhPXRydWU7dHJ5e2Vbcl0uY2FsbChuLmV4cG9ydHMsbixuLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7YT1mYWxzZX1maW5hbGx5e2lmKGEpZGVsZXRlIHRbcl19bi5sb2FkZWQ9dHJ1ZTtyZXR1cm4gbi5leHBvcnRzfSFmdW5jdGlvbigpe19fbmNjd3Bja19yZXF1aXJlX18ubm1kPWZ1bmN0aW9uKGUpe2UucGF0aHM9W107aWYoIWUuY2hpbGRyZW4pZS5jaGlsZHJlbj1bXTtyZXR1cm4gZX19KCk7aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPXt9OyFmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBlPXI7ZS5yYW5kb21CeXRlcz1lLnJuZz1lLnBzZXVkb1JhbmRvbUJ5dGVzPWUucHJuZz1fX25jY3dwY2tfcmVxdWlyZV9fKDcyMjMpO2UuY3JlYXRlSGFzaD1lLkhhc2g9X19uY2N3cGNrX3JlcXVpcmVfXyg5NzM5KTtlLmNyZWF0ZUhtYWM9ZS5IbWFjPV9fbmNjd3Bja19yZXF1aXJlX18oNDg3Myk7dmFyIHQ9X19uY2N3cGNrX3JlcXVpcmVfXyg5Mjc2KTt2YXIgaT1PYmplY3Qua2V5cyh0KTt2YXIgbj1bXCJzaGExXCIsXCJzaGEyMjRcIixcInNoYTI1NlwiLFwic2hhMzg0XCIsXCJzaGE1MTJcIixcIm1kNVwiLFwicm1kMTYwXCJdLmNvbmNhdChpKTtlLmdldEhhc2hlcz1mdW5jdGlvbigpe3JldHVybiBufTt2YXIgYT1fX25jY3dwY2tfcmVxdWlyZV9fKDQ5NzgpO2UucGJrZGYyPWEucGJrZGYyO2UucGJrZGYyU3luYz1hLnBia2RmMlN5bmM7dmFyIHM9X19uY2N3cGNrX3JlcXVpcmVfXyg4OTk2KTtlLkNpcGhlcj1zLkNpcGhlcjtlLmNyZWF0ZUNpcGhlcj1zLmNyZWF0ZUNpcGhlcjtlLkNpcGhlcml2PXMuQ2lwaGVyaXY7ZS5jcmVhdGVDaXBoZXJpdj1zLmNyZWF0ZUNpcGhlcml2O2UuRGVjaXBoZXI9cy5EZWNpcGhlcjtlLmNyZWF0ZURlY2lwaGVyPXMuY3JlYXRlRGVjaXBoZXI7ZS5EZWNpcGhlcml2PXMuRGVjaXBoZXJpdjtlLmNyZWF0ZURlY2lwaGVyaXY9cy5jcmVhdGVEZWNpcGhlcml2O2UuZ2V0Q2lwaGVycz1zLmdldENpcGhlcnM7ZS5saXN0Q2lwaGVycz1zLmxpc3RDaXBoZXJzO3ZhciBvPV9fbmNjd3Bja19yZXF1aXJlX18oNjU4Nyk7ZS5EaWZmaWVIZWxsbWFuR3JvdXA9by5EaWZmaWVIZWxsbWFuR3JvdXA7ZS5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXA9by5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXA7ZS5nZXREaWZmaWVIZWxsbWFuPW8uZ2V0RGlmZmllSGVsbG1hbjtlLmNyZWF0ZURpZmZpZUhlbGxtYW49by5jcmVhdGVEaWZmaWVIZWxsbWFuO2UuRGlmZmllSGVsbG1hbj1vLkRpZmZpZUhlbGxtYW47dmFyIGg9X19uY2N3cGNrX3JlcXVpcmVfXyg0MDc4KTtlLmNyZWF0ZVNpZ249aC5jcmVhdGVTaWduO2UuU2lnbj1oLlNpZ247ZS5jcmVhdGVWZXJpZnk9aC5jcmVhdGVWZXJpZnk7ZS5WZXJpZnk9aC5WZXJpZnk7ZS5jcmVhdGVFQ0RIPV9fbmNjd3Bja19yZXF1aXJlX18oOTk0Mik7dmFyIHU9X19uY2N3cGNrX3JlcXVpcmVfXyg5NzgzKTtlLnB1YmxpY0VuY3J5cHQ9dS5wdWJsaWNFbmNyeXB0O2UucHJpdmF0ZUVuY3J5cHQ9dS5wcml2YXRlRW5jcnlwdDtlLnB1YmxpY0RlY3J5cHQ9dS5wdWJsaWNEZWNyeXB0O2UucHJpdmF0ZURlY3J5cHQ9dS5wcml2YXRlRGVjcnlwdDt2YXIgZD1fX25jY3dwY2tfcmVxdWlyZV9fKDY0NDUpO2UucmFuZG9tRmlsbD1kLnJhbmRvbUZpbGw7ZS5yYW5kb21GaWxsU3luYz1kLnJhbmRvbUZpbGxTeW5jO2UuY3JlYXRlQ3JlZGVudGlhbHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoW1wic29ycnksIGNyZWF0ZUNyZWRlbnRpYWxzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXRcIixcIndlIGFjY2VwdCBwdWxsIHJlcXVlc3RzXCIsXCJodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvLWJyb3dzZXJpZnkvY3J5cHRvLWJyb3dzZXJpZnlcIl0uam9pbihcIlxcblwiKSl9O2UuY29uc3RhbnRzPXtESF9DSEVDS19QX05PVF9TQUZFX1BSSU1FOjIsREhfQ0hFQ0tfUF9OT1RfUFJJTUU6MSxESF9VTkFCTEVfVE9fQ0hFQ0tfR0VORVJBVE9SOjQsREhfTk9UX1NVSVRBQkxFX0dFTkVSQVRPUjo4LE5QTl9FTkFCTEVEOjEsQUxQTl9FTkFCTEVEOjEsUlNBX1BLQ1MxX1BBRERJTkc6MSxSU0FfU1NMVjIzX1BBRERJTkc6MixSU0FfTk9fUEFERElORzozLFJTQV9QS0NTMV9PQUVQX1BBRERJTkc6NCxSU0FfWDkzMV9QQURESU5HOjUsUlNBX1BLQ1MxX1BTU19QQURESU5HOjYsUE9JTlRfQ09OVkVSU0lPTl9DT01QUkVTU0VEOjIsUE9JTlRfQ09OVkVSU0lPTl9VTkNPTVBSRVNTRUQ6NCxQT0lOVF9DT05WRVJTSU9OX0hZQlJJRDo2fX0oKTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/crypto-browserify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/https-browserify/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/https-browserify/index.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var r={528:function(r,e,t){var o=t(685);var a=t(310);var i=r.exports;for(var n in o){if(o.hasOwnProperty(n))i[n]=o[n]}i.request=function(r,e){r=validateParams(r);return o.request.call(this,r,e)};i.get=function(r,e){r=validateParams(r);return o.get.call(this,r,e)};function validateParams(r){if(typeof r===\"string\"){r=a.parse(r)}if(!r.protocol){r.protocol=\"https:\"}if(r.protocol!==\"https:\"){throw new Error('Protocol \"'+r.protocol+'\" not supported. Expected \"https:\"')}return r}},685:function(r){\"use strict\";r.exports=__webpack_require__(/*! http */ \"./node_modules/next/dist/compiled/stream-http/index.js\")},310:function(r){\"use strict\";r.exports=__webpack_require__(/*! url */ \"./node_modules/next/dist/compiled/native-url/index.js\")}};var e={};function __nccwpck_require__(t){var o=e[t];if(o!==undefined){return o.exports}var a=e[t]={exports:{}};var i=true;try{r[t](a,a.exports,__nccwpck_require__);i=false}finally{if(i)delete e[t]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(528);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2h0dHBzLWJyb3dzZXJpZnkvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVksT0FBTyxvQkFBb0IsYUFBYSxhQUFhLGdCQUFnQixnQkFBZ0IsaUNBQWlDLHdCQUF3QixvQkFBb0IsaUNBQWlDLG9CQUFvQixvQkFBb0IsNkJBQTZCLDJCQUEyQix3QkFBd0IsYUFBYSxnQkFBZ0Isb0JBQW9CLDBCQUEwQiw4RUFBOEUsVUFBVSxpQkFBaUIsYUFBYSxVQUFVLG1CQUFPLENBQUMsb0VBQU0sRUFBRSxpQkFBaUIsYUFBYSxVQUFVLG1CQUFPLENBQUMsa0VBQUssSUFBSSxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxzQ0FBc0MsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvaHR0cHMtYnJvd3NlcmlmeS9pbmRleC5qcz8zOGNmIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe3ZhciByPXs1Mjg6ZnVuY3Rpb24ocixlLHQpe3ZhciBvPXQoNjg1KTt2YXIgYT10KDMxMCk7dmFyIGk9ci5leHBvcnRzO2Zvcih2YXIgbiBpbiBvKXtpZihvLmhhc093blByb3BlcnR5KG4pKWlbbl09b1tuXX1pLnJlcXVlc3Q9ZnVuY3Rpb24ocixlKXtyPXZhbGlkYXRlUGFyYW1zKHIpO3JldHVybiBvLnJlcXVlc3QuY2FsbCh0aGlzLHIsZSl9O2kuZ2V0PWZ1bmN0aW9uKHIsZSl7cj12YWxpZGF0ZVBhcmFtcyhyKTtyZXR1cm4gby5nZXQuY2FsbCh0aGlzLHIsZSl9O2Z1bmN0aW9uIHZhbGlkYXRlUGFyYW1zKHIpe2lmKHR5cGVvZiByPT09XCJzdHJpbmdcIil7cj1hLnBhcnNlKHIpfWlmKCFyLnByb3RvY29sKXtyLnByb3RvY29sPVwiaHR0cHM6XCJ9aWYoci5wcm90b2NvbCE9PVwiaHR0cHM6XCIpe3Rocm93IG5ldyBFcnJvcignUHJvdG9jb2wgXCInK3IucHJvdG9jb2wrJ1wiIG5vdCBzdXBwb3J0ZWQuIEV4cGVjdGVkIFwiaHR0cHM6XCInKX1yZXR1cm4gcn19LDY4NTpmdW5jdGlvbihyKXtcInVzZSBzdHJpY3RcIjtyLmV4cG9ydHM9cmVxdWlyZShcImh0dHBcIil9LDMxMDpmdW5jdGlvbihyKXtcInVzZSBzdHJpY3RcIjtyLmV4cG9ydHM9cmVxdWlyZShcInVybFwiKX19O3ZhciBlPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18odCl7dmFyIG89ZVt0XTtpZihvIT09dW5kZWZpbmVkKXtyZXR1cm4gby5leHBvcnRzfXZhciBhPWVbdF09e2V4cG9ydHM6e319O3ZhciBpPXRydWU7dHJ5e3JbdF0oYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7aT1mYWxzZX1maW5hbGx5e2lmKGkpZGVsZXRlIGVbdF19cmV0dXJuIGEuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHQ9X19uY2N3cGNrX3JlcXVpcmVfXyg1MjgpO21vZHVsZS5leHBvcnRzPXR9KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/https-browserify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/native-url/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/next/dist/compiled/native-url/index.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var e={452:function(e){\"use strict\";e.exports=__webpack_require__(/*! next/dist/compiled/querystring-es3 */ \"./node_modules/next/dist/compiled/querystring-es3/index.js\")}};var t={};function __nccwpck_require__(o){var a=t[o];if(a!==undefined){return a.exports}var s=t[o]={exports:{}};var n=true;try{e[o](s,s.exports,__nccwpck_require__);n=false}finally{if(n)delete t[o]}return s.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var o={};!function(){var e=o;var t,a=(t=__nccwpck_require__(452))&&\"object\"==typeof t&&\"default\"in t?t.default:t,s=/https?|ftp|gopher|file/;function r(e){\"string\"==typeof e&&(e=d(e));var t=function(e,t,o){var a=e.auth,s=e.hostname,n=e.protocol||\"\",p=e.pathname||\"\",c=e.hash||\"\",i=e.query||\"\",u=!1;a=a?encodeURIComponent(a).replace(/%3A/i,\":\")+\"@\":\"\",e.host?u=a+e.host:s&&(u=a+(~s.indexOf(\":\")?\"[\"+s+\"]\":s),e.port&&(u+=\":\"+e.port)),i&&\"object\"==typeof i&&(i=t.encode(i));var f=e.search||i&&\"?\"+i||\"\";return n&&\":\"!==n.substr(-1)&&(n+=\":\"),e.slashes||(!n||o.test(n))&&!1!==u?(u=\"//\"+(u||\"\"),p&&\"/\"!==p[0]&&(p=\"/\"+p)):u||(u=\"\"),c&&\"#\"!==c[0]&&(c=\"#\"+c),f&&\"?\"!==f[0]&&(f=\"?\"+f),{protocol:n,host:u,pathname:p=p.replace(/[?#]/g,encodeURIComponent),search:f=f.replace(\"#\",\"%23\"),hash:c}}(e,a,s);return\"\"+t.protocol+t.host+t.pathname+t.search+t.hash}var n=\"http://\",p=\"w.w\",c=n+p,i=/^([a-z0-9.+-]*:\\/\\/\\/)([a-z0-9.+-]:\\/*)?/i,u=/https?|ftp|gopher|file/;function h(e,t){var o=\"string\"==typeof e?d(e):e;e=\"object\"==typeof e?r(e):e;var a=d(t),s=\"\";o.protocol&&!o.slashes&&(s=o.protocol,e=e.replace(o.protocol,\"\"),s+=\"/\"===t[0]||\"/\"===e[0]?\"/\":\"\"),s&&a.protocol&&(s=\"\",a.slashes||(s=a.protocol,t=t.replace(a.protocol,\"\")));var p=e.match(i);p&&!a.protocol&&(e=e.substr((s=p[1]+(p[2]||\"\")).length),/^\\/\\/[^/]/.test(t)&&(s=s.slice(0,-1)));var f=new URL(e,c+\"/\"),m=new URL(t,f).toString().replace(c,\"\"),v=a.protocol||o.protocol;return v+=o.slashes||a.slashes?\"//\":\"\",!s&&v?m=m.replace(n,v):s&&(m=m.replace(n,\"\")),u.test(m)||~t.indexOf(\".\")||\"/\"===e.slice(-1)||\"/\"===t.slice(-1)||\"/\"!==m.slice(-1)||(m=m.slice(0,-1)),s&&(m=s+(\"/\"===m[0]?m.substr(1):m)),m}function l(){}l.prototype.parse=d,l.prototype.format=r,l.prototype.resolve=h,l.prototype.resolveObject=h;var f=/^https?|ftp|gopher|file/,m=/^(.*?)([#?].*)/,v=/^([a-z0-9.+-]*:)(\\/{0,3})(.*)/i,_=/^([a-z0-9.+-]*:)?\\/\\/\\/*/i,b=/^([a-z0-9.+-]*:)(\\/{0,2})\\[(.*)\\]$/i;function d(e,t,o){if(void 0===t&&(t=!1),void 0===o&&(o=!1),e&&\"object\"==typeof e&&e instanceof l)return e;var s=(e=e.trim()).match(m);e=s?s[1].replace(/\\\\/g,\"/\")+s[2]:e.replace(/\\\\/g,\"/\"),b.test(e)&&\"/\"!==e.slice(-1)&&(e+=\"/\");var n=!/(^javascript)/.test(e)&&e.match(v),i=_.test(e),u=\"\";n&&(f.test(n[1])||(u=n[1].toLowerCase(),e=\"\"+n[2]+n[3]),n[2]||(i=!1,f.test(n[1])?(u=n[1],e=\"\"+n[3]):e=\"//\"+n[3]),3!==n[2].length&&1!==n[2].length||(u=n[1],e=\"/\"+n[3]));var g,y=(s?s[1]:e).match(/^https?:\\/\\/[^/]+(:[0-9]+)(?=\\/|$)/),w=y&&y[1],x=new l,C=\"\",U=\"\";try{g=new URL(e)}catch(t){C=t,u||o||!/^\\/\\//.test(e)||/^\\/\\/.+[@.]/.test(e)||(U=\"/\",e=e.substr(1));try{g=new URL(e,c)}catch(e){return x.protocol=u,x.href=u,x}}x.slashes=i&&!U,x.host=g.host===p?\"\":g.host,x.hostname=g.hostname===p?\"\":g.hostname.replace(/(\\[|\\])/g,\"\"),x.protocol=C?u||null:g.protocol,x.search=g.search.replace(/\\\\/g,\"%5C\"),x.hash=g.hash.replace(/\\\\/g,\"%5C\");var j=e.split(\"#\");!x.search&&~j[0].indexOf(\"?\")&&(x.search=\"?\"),x.hash||\"\"!==j[1]||(x.hash=\"#\"),x.query=t?a.decode(g.search.substr(1)):x.search.substr(1),x.pathname=U+(n?function(e){return e.replace(/['^|`]/g,(function(e){return\"%\"+e.charCodeAt().toString(16).toUpperCase()})).replace(/((?:%[0-9A-F]{2})+)/g,(function(e,t){try{return decodeURIComponent(t).split(\"\").map((function(e){var t=e.charCodeAt();return t>256||/^[a-z0-9]$/i.test(e)?e:\"%\"+t.toString(16).toUpperCase()})).join(\"\")}catch(e){return t}}))}(g.pathname):g.pathname),\"about:\"===x.protocol&&\"blank\"===x.pathname&&(x.protocol=\"\",x.pathname=\"\"),C&&\"/\"!==e[0]&&(x.pathname=x.pathname.substr(1)),u&&!f.test(u)&&\"/\"!==e.slice(-1)&&\"/\"===x.pathname&&(x.pathname=\"\"),x.path=x.pathname+x.search,x.auth=[g.username,g.password].map(decodeURIComponent).filter(Boolean).join(\":\"),x.port=g.port,w&&!x.host.endsWith(w)&&(x.host+=w,x.port=w.slice(1)),x.href=U?\"\"+x.pathname+x.search+x.hash:r(x);var q=/^(file)/.test(x.href)?[\"host\",\"hostname\"]:[];return Object.keys(x).forEach((function(e){~q.indexOf(e)||(x[e]=x[e]||null)})),x}e.parse=d,e.format=r,e.resolve=h,e.resolveObject=function(e,t){return d(h(e,t))},e.Url=l}();module.exports=o})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL25hdGl2ZS11cmwvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVksT0FBTyxnQkFBZ0IsYUFBYSxVQUFVLG1CQUFPLENBQUMsc0dBQW9DLElBQUksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssU0FBUyxZQUFZLFFBQVEsK0dBQStHLGNBQWMsNkJBQTZCLHNCQUFzQiw0RkFBNEYsNktBQTZLLDZCQUE2QixpTEFBaUwseUdBQXlHLFFBQVEsc0RBQXNELHVHQUF1RyxnQkFBZ0IsZ0NBQWdDLDRCQUE0QixnQkFBZ0IsOEtBQThLLGlCQUFpQixnR0FBZ0csd0ZBQXdGLGtPQUFrTyxjQUFjLDJGQUEyRiwwRUFBMEUsSUFBSSw2REFBNkQsSUFBSSxhQUFhLGtCQUFrQix3RkFBd0YsNEJBQTRCLDZGQUE2Riw0REFBNEQsd0tBQXdLLDJGQUEyRixJQUFJLGFBQWEsU0FBUyx5RUFBeUUsSUFBSSxlQUFlLFNBQVMsZ0NBQWdDLHFOQUFxTixtQkFBbUIsb0tBQW9LLHdDQUF3QyxvREFBb0QsMEJBQTBCLEVBQUUscUJBQXFCLElBQUksd0RBQXdELHFCQUFxQix1RUFBdUUsWUFBWSxTQUFTLFVBQVUsR0FBRyxxYkFBcWIsb0RBQW9ELDJDQUEyQyxpQ0FBaUMsS0FBSywrREFBK0QsaUJBQWlCLFNBQVMsR0FBRyxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9uYXRpdmUtdXJsL2luZGV4LmpzPzcyNDUiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7dmFyIGU9ezQ1MjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9cmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9xdWVyeXN0cmluZy1lczNcIil9fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKG8pe3ZhciBhPXRbb107aWYoYSE9PXVuZGVmaW5lZCl7cmV0dXJuIGEuZXhwb3J0c312YXIgcz10W29dPXtleHBvcnRzOnt9fTt2YXIgbj10cnVlO3RyeXtlW29dKHMscy5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO249ZmFsc2V9ZmluYWxseXtpZihuKWRlbGV0ZSB0W29dfXJldHVybiBzLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBvPXt9OyFmdW5jdGlvbigpe3ZhciBlPW87dmFyIHQsYT0odD1fX25jY3dwY2tfcmVxdWlyZV9fKDQ1MikpJiZcIm9iamVjdFwiPT10eXBlb2YgdCYmXCJkZWZhdWx0XCJpbiB0P3QuZGVmYXVsdDp0LHM9L2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvO2Z1bmN0aW9uIHIoZSl7XCJzdHJpbmdcIj09dHlwZW9mIGUmJihlPWQoZSkpO3ZhciB0PWZ1bmN0aW9uKGUsdCxvKXt2YXIgYT1lLmF1dGgscz1lLmhvc3RuYW1lLG49ZS5wcm90b2NvbHx8XCJcIixwPWUucGF0aG5hbWV8fFwiXCIsYz1lLmhhc2h8fFwiXCIsaT1lLnF1ZXJ5fHxcIlwiLHU9ITE7YT1hP2VuY29kZVVSSUNvbXBvbmVudChhKS5yZXBsYWNlKC8lM0EvaSxcIjpcIikrXCJAXCI6XCJcIixlLmhvc3Q/dT1hK2UuaG9zdDpzJiYodT1hKyh+cy5pbmRleE9mKFwiOlwiKT9cIltcIitzK1wiXVwiOnMpLGUucG9ydCYmKHUrPVwiOlwiK2UucG9ydCkpLGkmJlwib2JqZWN0XCI9PXR5cGVvZiBpJiYoaT10LmVuY29kZShpKSk7dmFyIGY9ZS5zZWFyY2h8fGkmJlwiP1wiK2l8fFwiXCI7cmV0dXJuIG4mJlwiOlwiIT09bi5zdWJzdHIoLTEpJiYobis9XCI6XCIpLGUuc2xhc2hlc3x8KCFufHxvLnRlc3QobikpJiYhMSE9PXU/KHU9XCIvL1wiKyh1fHxcIlwiKSxwJiZcIi9cIiE9PXBbMF0mJihwPVwiL1wiK3ApKTp1fHwodT1cIlwiKSxjJiZcIiNcIiE9PWNbMF0mJihjPVwiI1wiK2MpLGYmJlwiP1wiIT09ZlswXSYmKGY9XCI/XCIrZikse3Byb3RvY29sOm4saG9zdDp1LHBhdGhuYW1lOnA9cC5yZXBsYWNlKC9bPyNdL2csZW5jb2RlVVJJQ29tcG9uZW50KSxzZWFyY2g6Zj1mLnJlcGxhY2UoXCIjXCIsXCIlMjNcIiksaGFzaDpjfX0oZSxhLHMpO3JldHVyblwiXCIrdC5wcm90b2NvbCt0Lmhvc3QrdC5wYXRobmFtZSt0LnNlYXJjaCt0Lmhhc2h9dmFyIG49XCJodHRwOi8vXCIscD1cIncud1wiLGM9bitwLGk9L14oW2EtejAtOS4rLV0qOlxcL1xcL1xcLykoW2EtejAtOS4rLV06XFwvKik/L2ksdT0vaHR0cHM/fGZ0cHxnb3BoZXJ8ZmlsZS87ZnVuY3Rpb24gaChlLHQpe3ZhciBvPVwic3RyaW5nXCI9PXR5cGVvZiBlP2QoZSk6ZTtlPVwib2JqZWN0XCI9PXR5cGVvZiBlP3IoZSk6ZTt2YXIgYT1kKHQpLHM9XCJcIjtvLnByb3RvY29sJiYhby5zbGFzaGVzJiYocz1vLnByb3RvY29sLGU9ZS5yZXBsYWNlKG8ucHJvdG9jb2wsXCJcIikscys9XCIvXCI9PT10WzBdfHxcIi9cIj09PWVbMF0/XCIvXCI6XCJcIikscyYmYS5wcm90b2NvbCYmKHM9XCJcIixhLnNsYXNoZXN8fChzPWEucHJvdG9jb2wsdD10LnJlcGxhY2UoYS5wcm90b2NvbCxcIlwiKSkpO3ZhciBwPWUubWF0Y2goaSk7cCYmIWEucHJvdG9jb2wmJihlPWUuc3Vic3RyKChzPXBbMV0rKHBbMl18fFwiXCIpKS5sZW5ndGgpLC9eXFwvXFwvW14vXS8udGVzdCh0KSYmKHM9cy5zbGljZSgwLC0xKSkpO3ZhciBmPW5ldyBVUkwoZSxjK1wiL1wiKSxtPW5ldyBVUkwodCxmKS50b1N0cmluZygpLnJlcGxhY2UoYyxcIlwiKSx2PWEucHJvdG9jb2x8fG8ucHJvdG9jb2w7cmV0dXJuIHYrPW8uc2xhc2hlc3x8YS5zbGFzaGVzP1wiLy9cIjpcIlwiLCFzJiZ2P209bS5yZXBsYWNlKG4sdik6cyYmKG09bS5yZXBsYWNlKG4sXCJcIikpLHUudGVzdChtKXx8fnQuaW5kZXhPZihcIi5cIil8fFwiL1wiPT09ZS5zbGljZSgtMSl8fFwiL1wiPT09dC5zbGljZSgtMSl8fFwiL1wiIT09bS5zbGljZSgtMSl8fChtPW0uc2xpY2UoMCwtMSkpLHMmJihtPXMrKFwiL1wiPT09bVswXT9tLnN1YnN0cigxKTptKSksbX1mdW5jdGlvbiBsKCl7fWwucHJvdG90eXBlLnBhcnNlPWQsbC5wcm90b3R5cGUuZm9ybWF0PXIsbC5wcm90b3R5cGUucmVzb2x2ZT1oLGwucHJvdG90eXBlLnJlc29sdmVPYmplY3Q9aDt2YXIgZj0vXmh0dHBzP3xmdHB8Z29waGVyfGZpbGUvLG09L14oLio/KShbIz9dLiopLyx2PS9eKFthLXowLTkuKy1dKjopKFxcL3swLDN9KSguKikvaSxfPS9eKFthLXowLTkuKy1dKjopP1xcL1xcL1xcLyovaSxiPS9eKFthLXowLTkuKy1dKjopKFxcL3swLDJ9KVxcWyguKilcXF0kL2k7ZnVuY3Rpb24gZChlLHQsbyl7aWYodm9pZCAwPT09dCYmKHQ9ITEpLHZvaWQgMD09PW8mJihvPSExKSxlJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmZSBpbnN0YW5jZW9mIGwpcmV0dXJuIGU7dmFyIHM9KGU9ZS50cmltKCkpLm1hdGNoKG0pO2U9cz9zWzFdLnJlcGxhY2UoL1xcXFwvZyxcIi9cIikrc1syXTplLnJlcGxhY2UoL1xcXFwvZyxcIi9cIiksYi50ZXN0KGUpJiZcIi9cIiE9PWUuc2xpY2UoLTEpJiYoZSs9XCIvXCIpO3ZhciBuPSEvKF5qYXZhc2NyaXB0KS8udGVzdChlKSYmZS5tYXRjaCh2KSxpPV8udGVzdChlKSx1PVwiXCI7biYmKGYudGVzdChuWzFdKXx8KHU9blsxXS50b0xvd2VyQ2FzZSgpLGU9XCJcIituWzJdK25bM10pLG5bMl18fChpPSExLGYudGVzdChuWzFdKT8odT1uWzFdLGU9XCJcIituWzNdKTplPVwiLy9cIituWzNdKSwzIT09blsyXS5sZW5ndGgmJjEhPT1uWzJdLmxlbmd0aHx8KHU9blsxXSxlPVwiL1wiK25bM10pKTt2YXIgZyx5PShzP3NbMV06ZSkubWF0Y2goL15odHRwcz86XFwvXFwvW14vXSsoOlswLTldKykoPz1cXC98JCkvKSx3PXkmJnlbMV0seD1uZXcgbCxDPVwiXCIsVT1cIlwiO3RyeXtnPW5ldyBVUkwoZSl9Y2F0Y2godCl7Qz10LHV8fG98fCEvXlxcL1xcLy8udGVzdChlKXx8L15cXC9cXC8uK1tALl0vLnRlc3QoZSl8fChVPVwiL1wiLGU9ZS5zdWJzdHIoMSkpO3RyeXtnPW5ldyBVUkwoZSxjKX1jYXRjaChlKXtyZXR1cm4geC5wcm90b2NvbD11LHguaHJlZj11LHh9fXguc2xhc2hlcz1pJiYhVSx4Lmhvc3Q9Zy5ob3N0PT09cD9cIlwiOmcuaG9zdCx4Lmhvc3RuYW1lPWcuaG9zdG5hbWU9PT1wP1wiXCI6Zy5ob3N0bmFtZS5yZXBsYWNlKC8oXFxbfFxcXSkvZyxcIlwiKSx4LnByb3RvY29sPUM/dXx8bnVsbDpnLnByb3RvY29sLHguc2VhcmNoPWcuc2VhcmNoLnJlcGxhY2UoL1xcXFwvZyxcIiU1Q1wiKSx4Lmhhc2g9Zy5oYXNoLnJlcGxhY2UoL1xcXFwvZyxcIiU1Q1wiKTt2YXIgaj1lLnNwbGl0KFwiI1wiKTsheC5zZWFyY2gmJn5qWzBdLmluZGV4T2YoXCI/XCIpJiYoeC5zZWFyY2g9XCI/XCIpLHguaGFzaHx8XCJcIiE9PWpbMV18fCh4Lmhhc2g9XCIjXCIpLHgucXVlcnk9dD9hLmRlY29kZShnLnNlYXJjaC5zdWJzdHIoMSkpOnguc2VhcmNoLnN1YnN0cigxKSx4LnBhdGhuYW1lPVUrKG4/ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvWydefGBdL2csKGZ1bmN0aW9uKGUpe3JldHVyblwiJVwiK2UuY2hhckNvZGVBdCgpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSkpLnJlcGxhY2UoLygoPzolWzAtOUEtRl17Mn0pKykvZywoZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0KS5zcGxpdChcIlwiKS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hhckNvZGVBdCgpO3JldHVybiB0PjI1Nnx8L15bYS16MC05XSQvaS50ZXN0KGUpP2U6XCIlXCIrdC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKX0pKS5qb2luKFwiXCIpfWNhdGNoKGUpe3JldHVybiB0fX0pKX0oZy5wYXRobmFtZSk6Zy5wYXRobmFtZSksXCJhYm91dDpcIj09PXgucHJvdG9jb2wmJlwiYmxhbmtcIj09PXgucGF0aG5hbWUmJih4LnByb3RvY29sPVwiXCIseC5wYXRobmFtZT1cIlwiKSxDJiZcIi9cIiE9PWVbMF0mJih4LnBhdGhuYW1lPXgucGF0aG5hbWUuc3Vic3RyKDEpKSx1JiYhZi50ZXN0KHUpJiZcIi9cIiE9PWUuc2xpY2UoLTEpJiZcIi9cIj09PXgucGF0aG5hbWUmJih4LnBhdGhuYW1lPVwiXCIpLHgucGF0aD14LnBhdGhuYW1lK3guc2VhcmNoLHguYXV0aD1bZy51c2VybmFtZSxnLnBhc3N3b3JkXS5tYXAoZGVjb2RlVVJJQ29tcG9uZW50KS5maWx0ZXIoQm9vbGVhbikuam9pbihcIjpcIikseC5wb3J0PWcucG9ydCx3JiYheC5ob3N0LmVuZHNXaXRoKHcpJiYoeC5ob3N0Kz13LHgucG9ydD13LnNsaWNlKDEpKSx4LmhyZWY9VT9cIlwiK3gucGF0aG5hbWUreC5zZWFyY2greC5oYXNoOnIoeCk7dmFyIHE9L14oZmlsZSkvLnRlc3QoeC5ocmVmKT9bXCJob3N0XCIsXCJob3N0bmFtZVwiXTpbXTtyZXR1cm4gT2JqZWN0LmtleXMoeCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7fnEuaW5kZXhPZihlKXx8KHhbZV09eFtlXXx8bnVsbCl9KSkseH1lLnBhcnNlPWQsZS5mb3JtYXQ9cixlLnJlc29sdmU9aCxlLnJlc29sdmVPYmplY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZChoKGUsdCkpfSxlLlVybD1sfSgpO21vZHVsZS5leHBvcnRzPW99KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/native-url/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/os-browserify/browser.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/os-browserify/browser.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};!function(){var e=n;e.endianness=function(){return\"LE\"};e.hostname=function(){if(typeof location!==\"undefined\"){return location.hostname}else return\"\"};e.loadavg=function(){return[]};e.uptime=function(){return 0};e.freemem=function(){return Number.MAX_VALUE};e.totalmem=function(){return Number.MAX_VALUE};e.cpus=function(){return[]};e.type=function(){return\"Browser\"};e.release=function(){if(typeof navigator!==\"undefined\"){return navigator.appVersion}return\"\"};e.networkInterfaces=e.getNetworkInterfaces=function(){return{}};e.arch=function(){return\"javascript\"};e.platform=function(){return\"browser\"};e.tmpdir=e.tmpDir=function(){return\"/tmp\"};e.EOL=\"\\n\";e.homedir=function(){return\"/\"}}();module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL29zLWJyb3dzZXJpZnkvYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxtRUFBbUUsU0FBUyxLQUFLLFNBQVMsWUFBWSxRQUFRLHdCQUF3QixZQUFZLHNCQUFzQixrQ0FBa0MseUJBQXlCLGVBQWUscUJBQXFCLFVBQVUsb0JBQW9CLFVBQVUscUJBQXFCLHlCQUF5QixzQkFBc0IseUJBQXlCLGtCQUFrQixVQUFVLGtCQUFrQixpQkFBaUIscUJBQXFCLG1DQUFtQyw0QkFBNEIsVUFBVSxzREFBc0QsVUFBVSxrQkFBa0Isb0JBQW9CLHNCQUFzQixpQkFBaUIsNkJBQTZCLGNBQWMsV0FBVyxxQkFBcUIsV0FBVyxHQUFHLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL29zLWJyb3dzZXJpZnkvYnJvd3Nlci5qcz83M2IzIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgbj17fTshZnVuY3Rpb24oKXt2YXIgZT1uO2UuZW5kaWFubmVzcz1mdW5jdGlvbigpe3JldHVyblwiTEVcIn07ZS5ob3N0bmFtZT1mdW5jdGlvbigpe2lmKHR5cGVvZiBsb2NhdGlvbiE9PVwidW5kZWZpbmVkXCIpe3JldHVybiBsb2NhdGlvbi5ob3N0bmFtZX1lbHNlIHJldHVyblwiXCJ9O2UubG9hZGF2Zz1mdW5jdGlvbigpe3JldHVybltdfTtlLnVwdGltZT1mdW5jdGlvbigpe3JldHVybiAwfTtlLmZyZWVtZW09ZnVuY3Rpb24oKXtyZXR1cm4gTnVtYmVyLk1BWF9WQUxVRX07ZS50b3RhbG1lbT1mdW5jdGlvbigpe3JldHVybiBOdW1iZXIuTUFYX1ZBTFVFfTtlLmNwdXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX07ZS50eXBlPWZ1bmN0aW9uKCl7cmV0dXJuXCJCcm93c2VyXCJ9O2UucmVsZWFzZT1mdW5jdGlvbigpe2lmKHR5cGVvZiBuYXZpZ2F0b3IhPT1cInVuZGVmaW5lZFwiKXtyZXR1cm4gbmF2aWdhdG9yLmFwcFZlcnNpb259cmV0dXJuXCJcIn07ZS5uZXR3b3JrSW50ZXJmYWNlcz1lLmdldE5ldHdvcmtJbnRlcmZhY2VzPWZ1bmN0aW9uKCl7cmV0dXJue319O2UuYXJjaD1mdW5jdGlvbigpe3JldHVyblwiamF2YXNjcmlwdFwifTtlLnBsYXRmb3JtPWZ1bmN0aW9uKCl7cmV0dXJuXCJicm93c2VyXCJ9O2UudG1wZGlyPWUudG1wRGlyPWZ1bmN0aW9uKCl7cmV0dXJuXCIvdG1wXCJ9O2UuRU9MPVwiXFxuXCI7ZS5ob21lZGlyPWZ1bmN0aW9uKCl7cmV0dXJuXCIvXCJ9fSgpO21vZHVsZS5leHBvcnRzPW59KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/os-browserify/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/path-browserify/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/path-browserify/index.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){\"use strict\";var e={114:function(e){function assertPath(e){if(typeof e!==\"string\"){throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}}function normalizeStringPosix(e,r){var t=\"\";var i=0;var n=-1;var a=0;var f;for(var l=0;l<=e.length;++l){if(l<e.length)f=e.charCodeAt(l);else if(f===47)break;else f=47;if(f===47){if(n===l-1||a===1){}else if(n!==l-1&&a===2){if(t.length<2||i!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var s=t.lastIndexOf(\"/\");if(s!==t.length-1){if(s===-1){t=\"\";i=0}else{t=t.slice(0,s);i=t.length-1-t.lastIndexOf(\"/\")}n=l;a=0;continue}}else if(t.length===2||t.length===1){t=\"\";i=0;n=l;a=0;continue}}if(r){if(t.length>0)t+=\"/..\";else t=\"..\";i=2}}else{if(t.length>0)t+=\"/\"+e.slice(n+1,l);else t=e.slice(n+1,l);i=l-n-1}n=l;a=0}else if(f===46&&a!==-1){++a}else{a=-1}}return t}function _format(e,r){var t=r.dir||r.root;var i=r.base||(r.name||\"\")+(r.ext||\"\");if(!t){return i}if(t===r.root){return t+i}return t+e+i}var r={resolve:function resolve(){var e=\"\";var r=false;var t;for(var i=arguments.length-1;i>=-1&&!r;i--){var n;if(i>=0)n=arguments[i];else{if(t===undefined)t=\"\";n=t}assertPath(n);if(n.length===0){continue}e=n+\"/\"+e;r=n.charCodeAt(0)===47}e=normalizeStringPosix(e,!r);if(r){if(e.length>0)return\"/\"+e;else return\"/\"}else if(e.length>0){return e}else{return\".\"}},normalize:function normalize(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0)===47;var t=e.charCodeAt(e.length-1)===47;e=normalizeStringPosix(e,!r);if(e.length===0&&!r)e=\".\";if(e.length>0&&t)e+=\"/\";if(r)return\"/\"+e;return e},isAbsolute:function isAbsolute(e){assertPath(e);return e.length>0&&e.charCodeAt(0)===47},join:function join(){if(arguments.length===0)return\".\";var e;for(var t=0;t<arguments.length;++t){var i=arguments[t];assertPath(i);if(i.length>0){if(e===undefined)e=i;else e+=\"/\"+i}}if(e===undefined)return\".\";return r.normalize(e)},relative:function relative(e,t){assertPath(e);assertPath(t);if(e===t)return\"\";e=r.resolve(e);t=r.resolve(t);if(e===t)return\"\";var i=1;for(;i<e.length;++i){if(e.charCodeAt(i)!==47)break}var n=e.length;var a=n-i;var f=1;for(;f<t.length;++f){if(t.charCodeAt(f)!==47)break}var l=t.length;var s=l-f;var o=a<s?a:s;var u=-1;var h=0;for(;h<=o;++h){if(h===o){if(s>o){if(t.charCodeAt(f+h)===47){return t.slice(f+h+1)}else if(h===0){return t.slice(f+h)}}else if(a>o){if(e.charCodeAt(i+h)===47){u=h}else if(h===0){u=0}}break}var c=e.charCodeAt(i+h);var v=t.charCodeAt(f+h);if(c!==v)break;else if(c===47)u=h}var g=\"\";for(h=i+u+1;h<=n;++h){if(h===n||e.charCodeAt(h)===47){if(g.length===0)g+=\"..\";else g+=\"/..\"}}if(g.length>0)return g+t.slice(f+u);else{f+=u;if(t.charCodeAt(f)===47)++f;return t.slice(f)}},_makeLong:function _makeLong(e){return e},dirname:function dirname(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0);var t=r===47;var i=-1;var n=true;for(var a=e.length-1;a>=1;--a){r=e.charCodeAt(a);if(r===47){if(!n){i=a;break}}else{n=false}}if(i===-1)return t?\"/\":\".\";if(t&&i===1)return\"//\";return e.slice(0,i)},basename:function basename(e,r){if(r!==undefined&&typeof r!==\"string\")throw new TypeError('\"ext\" argument must be a string');assertPath(e);var t=0;var i=-1;var n=true;var a;if(r!==undefined&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return\"\";var f=r.length-1;var l=-1;for(a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(s===47){if(!n){t=a+1;break}}else{if(l===-1){n=false;l=a+1}if(f>=0){if(s===r.charCodeAt(f)){if(--f===-1){i=a}}else{f=-1;i=l}}}}if(t===i)i=l;else if(i===-1)i=e.length;return e.slice(t,i)}else{for(a=e.length-1;a>=0;--a){if(e.charCodeAt(a)===47){if(!n){t=a+1;break}}else if(i===-1){n=false;i=a+1}}if(i===-1)return\"\";return e.slice(t,i)}},extname:function extname(e){assertPath(e);var r=-1;var t=0;var i=-1;var n=true;var a=0;for(var f=e.length-1;f>=0;--f){var l=e.charCodeAt(f);if(l===47){if(!n){t=f+1;break}continue}if(i===-1){n=false;i=f+1}if(l===46){if(r===-1)r=f;else if(a!==1)a=1}else if(r!==-1){a=-1}}if(r===-1||i===-1||a===0||a===1&&r===i-1&&r===t+1){return\"\"}return e.slice(r,i)},format:function format(e){if(e===null||typeof e!==\"object\"){throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e)}return _format(\"/\",e)},parse:function parse(e){assertPath(e);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(e.length===0)return r;var t=e.charCodeAt(0);var i=t===47;var n;if(i){r.root=\"/\";n=1}else{n=0}var a=-1;var f=0;var l=-1;var s=true;var o=e.length-1;var u=0;for(;o>=n;--o){t=e.charCodeAt(o);if(t===47){if(!s){f=o+1;break}continue}if(l===-1){s=false;l=o+1}if(t===46){if(a===-1)a=o;else if(u!==1)u=1}else if(a!==-1){u=-1}}if(a===-1||l===-1||u===0||u===1&&a===l-1&&a===f+1){if(l!==-1){if(f===0&&i)r.base=r.name=e.slice(1,l);else r.base=r.name=e.slice(f,l)}}else{if(f===0&&i){r.name=e.slice(1,a);r.base=e.slice(1,l)}else{r.name=e.slice(f,a);r.base=e.slice(f,l)}r.ext=e.slice(a,l)}if(f>0)r.dir=e.slice(0,f-1);else if(i)r.dir=\"/\";return r},sep:\"/\",delimiter:\":\",win32:null,posix:null};r.posix=r;e.exports=r}};var r={};function __nccwpck_require__(t){var i=r[t];if(i!==undefined){return i.exports}var n=r[t]={exports:{}};var a=true;try{e[t](n,n.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return n.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(114);module.exports=t})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BhdGgtYnJvd3NlcmlmeS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxhQUFhLE9BQU8sZ0JBQWdCLHVCQUF1Qix3QkFBd0IsMkVBQTJFLG1DQUFtQyxTQUFTLFFBQVEsU0FBUyxRQUFRLE1BQU0sWUFBWSxZQUFZLEtBQUssZ0NBQWdDLHFCQUFxQixVQUFVLFdBQVcsb0JBQW9CLHdCQUF3QixvRkFBb0YsZUFBZSx5QkFBeUIsbUJBQW1CLFdBQVcsS0FBSyxJQUFJLEtBQUssZUFBZSxnQ0FBZ0MsSUFBSSxJQUFJLFVBQVUsb0NBQW9DLEtBQUssSUFBSSxJQUFJLElBQUksVUFBVSxNQUFNLHVCQUF1QixZQUFZLEtBQUssS0FBSyxvQ0FBb0Msc0JBQXNCLFFBQVEsSUFBSSxJQUFJLHdCQUF3QixJQUFJLEtBQUssTUFBTSxTQUFTLHNCQUFzQixvQkFBb0IsdUNBQXVDLE9BQU8sU0FBUyxlQUFlLFdBQVcsYUFBYSxPQUFPLDJCQUEyQixTQUFTLFlBQVksTUFBTSw2QkFBNkIsVUFBVSxLQUFLLE1BQU0sdUJBQXVCLEtBQUssc0JBQXNCLElBQUksY0FBYyxpQkFBaUIsU0FBUyxVQUFVLHVCQUF1Qiw2QkFBNkIsTUFBTSwwQkFBMEIsZUFBZSxvQkFBb0IsU0FBUyxLQUFLLFdBQVcsaUNBQWlDLGNBQWMsMEJBQTBCLDJCQUEyQixvQ0FBb0MsNkJBQTZCLDBCQUEwQix3QkFBd0IsaUJBQWlCLFNBQVMsbUNBQW1DLGNBQWMsd0NBQXdDLHNCQUFzQixrQ0FBa0MsTUFBTSxZQUFZLG1CQUFtQixLQUFLLG1CQUFtQixjQUFjLGVBQWUscUJBQXFCLGVBQWUsMkJBQTJCLHNCQUFzQixpQ0FBaUMsY0FBYyxjQUFjLGtCQUFrQixlQUFlLGVBQWUsa0JBQWtCLFFBQVEsS0FBSyxXQUFXLEtBQUssOEJBQThCLGVBQWUsVUFBVSxRQUFRLEtBQUssV0FBVyxLQUFLLDhCQUE4QixlQUFlLFVBQVUsY0FBYyxTQUFTLFFBQVEsS0FBSyxLQUFLLEtBQUssVUFBVSxRQUFRLDJCQUEyQixzQkFBc0IsZUFBZSxxQkFBcUIsYUFBYSwyQkFBMkIsSUFBSSxlQUFlLEtBQUssTUFBTSx3QkFBd0Isd0JBQXdCLGVBQWUsbUJBQW1CLFNBQVMsWUFBWSxLQUFLLEtBQUssZ0NBQWdDLHdCQUF3QixlQUFlLG9DQUFvQyxLQUFLLEtBQUssNEJBQTRCLG1CQUFtQixpQ0FBaUMsU0FBUyw2QkFBNkIsY0FBYywwQkFBMEIsc0JBQXNCLGFBQWEsU0FBUyxXQUFXLHFCQUFxQixLQUFLLEtBQUssa0JBQWtCLFdBQVcsT0FBTyxJQUFJLE9BQU8sS0FBSyxTQUFTLDJCQUEyQix1QkFBdUIsb0JBQW9CLGlDQUFpQyw2RkFBNkYsY0FBYyxRQUFRLFNBQVMsV0FBVyxNQUFNLGtEQUFrRCx1Q0FBdUMsaUJBQWlCLFNBQVMsaUJBQWlCLEtBQUssS0FBSyxzQkFBc0IsV0FBVyxPQUFPLE1BQU0sT0FBTyxLQUFLLFdBQVcsUUFBUSxNQUFNLFNBQVMsd0JBQXdCLGFBQWEsS0FBSyxLQUFLLEtBQUssT0FBTyxhQUFhLDBCQUEwQixvQkFBb0IsS0FBSyxpQkFBaUIsS0FBSyxLQUFLLHlCQUF5QixPQUFPLE1BQU0sT0FBTyxnQkFBZ0IsUUFBUSxPQUFPLG1CQUFtQixxQkFBcUIsNkJBQTZCLGNBQWMsU0FBUyxRQUFRLFNBQVMsV0FBVyxRQUFRLHFCQUFxQixLQUFLLEtBQUssc0JBQXNCLFdBQVcsT0FBTyxNQUFNLE1BQU0sU0FBUyxXQUFXLFFBQVEsTUFBTSxXQUFXLGNBQWMsa0JBQWtCLGdCQUFnQixNQUFNLG1EQUFtRCxTQUFTLG9CQUFvQiwyQkFBMkIsa0NBQWtDLGlHQUFpRyxzQkFBc0IseUJBQXlCLGNBQWMsT0FBTyx1Q0FBdUMseUJBQXlCLHNCQUFzQixhQUFhLE1BQU0sTUFBTSxXQUFXLElBQUksS0FBSyxJQUFJLFNBQVMsUUFBUSxTQUFTLFdBQVcsaUJBQWlCLFFBQVEsS0FBSyxLQUFLLEtBQUssa0JBQWtCLFdBQVcsT0FBTyxNQUFNLE1BQU0sU0FBUyxXQUFXLFFBQVEsTUFBTSxXQUFXLGNBQWMsa0JBQWtCLGdCQUFnQixNQUFNLG1EQUFtRCxXQUFXLHVDQUF1QyxpQ0FBaUMsS0FBSyxhQUFhLG9CQUFvQixvQkFBb0IsS0FBSyxvQkFBb0Isb0JBQW9CLG1CQUFtQiw0QkFBNEIsb0JBQW9CLFNBQVMsOENBQThDLFVBQVUsY0FBYyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxzQ0FBc0MsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGF0aC1icm93c2VyaWZ5L2luZGV4LmpzPzNjZDEiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezExNDpmdW5jdGlvbihlKXtmdW5jdGlvbiBhc3NlcnRQYXRoKGUpe2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlBhdGggbXVzdCBiZSBhIHN0cmluZy4gUmVjZWl2ZWQgXCIrSlNPTi5zdHJpbmdpZnkoZSkpfX1mdW5jdGlvbiBub3JtYWxpemVTdHJpbmdQb3NpeChlLHIpe3ZhciB0PVwiXCI7dmFyIGk9MDt2YXIgbj0tMTt2YXIgYT0wO3ZhciBmO2Zvcih2YXIgbD0wO2w8PWUubGVuZ3RoOysrbCl7aWYobDxlLmxlbmd0aClmPWUuY2hhckNvZGVBdChsKTtlbHNlIGlmKGY9PT00NylicmVhaztlbHNlIGY9NDc7aWYoZj09PTQ3KXtpZihuPT09bC0xfHxhPT09MSl7fWVsc2UgaWYobiE9PWwtMSYmYT09PTIpe2lmKHQubGVuZ3RoPDJ8fGkhPT0yfHx0LmNoYXJDb2RlQXQodC5sZW5ndGgtMSkhPT00Nnx8dC5jaGFyQ29kZUF0KHQubGVuZ3RoLTIpIT09NDYpe2lmKHQubGVuZ3RoPjIpe3ZhciBzPXQubGFzdEluZGV4T2YoXCIvXCIpO2lmKHMhPT10Lmxlbmd0aC0xKXtpZihzPT09LTEpe3Q9XCJcIjtpPTB9ZWxzZXt0PXQuc2xpY2UoMCxzKTtpPXQubGVuZ3RoLTEtdC5sYXN0SW5kZXhPZihcIi9cIil9bj1sO2E9MDtjb250aW51ZX19ZWxzZSBpZih0Lmxlbmd0aD09PTJ8fHQubGVuZ3RoPT09MSl7dD1cIlwiO2k9MDtuPWw7YT0wO2NvbnRpbnVlfX1pZihyKXtpZih0Lmxlbmd0aD4wKXQrPVwiLy4uXCI7ZWxzZSB0PVwiLi5cIjtpPTJ9fWVsc2V7aWYodC5sZW5ndGg+MCl0Kz1cIi9cIitlLnNsaWNlKG4rMSxsKTtlbHNlIHQ9ZS5zbGljZShuKzEsbCk7aT1sLW4tMX1uPWw7YT0wfWVsc2UgaWYoZj09PTQ2JiZhIT09LTEpeysrYX1lbHNle2E9LTF9fXJldHVybiB0fWZ1bmN0aW9uIF9mb3JtYXQoZSxyKXt2YXIgdD1yLmRpcnx8ci5yb290O3ZhciBpPXIuYmFzZXx8KHIubmFtZXx8XCJcIikrKHIuZXh0fHxcIlwiKTtpZighdCl7cmV0dXJuIGl9aWYodD09PXIucm9vdCl7cmV0dXJuIHQraX1yZXR1cm4gdCtlK2l9dmFyIHI9e3Jlc29sdmU6ZnVuY3Rpb24gcmVzb2x2ZSgpe3ZhciBlPVwiXCI7dmFyIHI9ZmFsc2U7dmFyIHQ7Zm9yKHZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMTtpPj0tMSYmIXI7aS0tKXt2YXIgbjtpZihpPj0wKW49YXJndW1lbnRzW2ldO2Vsc2V7aWYodD09PXVuZGVmaW5lZCl0PVwiXCI7bj10fWFzc2VydFBhdGgobik7aWYobi5sZW5ndGg9PT0wKXtjb250aW51ZX1lPW4rXCIvXCIrZTtyPW4uY2hhckNvZGVBdCgwKT09PTQ3fWU9bm9ybWFsaXplU3RyaW5nUG9zaXgoZSwhcik7aWYocil7aWYoZS5sZW5ndGg+MClyZXR1cm5cIi9cIitlO2Vsc2UgcmV0dXJuXCIvXCJ9ZWxzZSBpZihlLmxlbmd0aD4wKXtyZXR1cm4gZX1lbHNle3JldHVyblwiLlwifX0sbm9ybWFsaXplOmZ1bmN0aW9uIG5vcm1hbGl6ZShlKXthc3NlcnRQYXRoKGUpO2lmKGUubGVuZ3RoPT09MClyZXR1cm5cIi5cIjt2YXIgcj1lLmNoYXJDb2RlQXQoMCk9PT00Nzt2YXIgdD1lLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSk9PT00NztlPW5vcm1hbGl6ZVN0cmluZ1Bvc2l4KGUsIXIpO2lmKGUubGVuZ3RoPT09MCYmIXIpZT1cIi5cIjtpZihlLmxlbmd0aD4wJiZ0KWUrPVwiL1wiO2lmKHIpcmV0dXJuXCIvXCIrZTtyZXR1cm4gZX0saXNBYnNvbHV0ZTpmdW5jdGlvbiBpc0Fic29sdXRlKGUpe2Fzc2VydFBhdGgoZSk7cmV0dXJuIGUubGVuZ3RoPjAmJmUuY2hhckNvZGVBdCgwKT09PTQ3fSxqb2luOmZ1bmN0aW9uIGpvaW4oKXtpZihhcmd1bWVudHMubGVuZ3RoPT09MClyZXR1cm5cIi5cIjt2YXIgZTtmb3IodmFyIHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7Kyt0KXt2YXIgaT1hcmd1bWVudHNbdF07YXNzZXJ0UGF0aChpKTtpZihpLmxlbmd0aD4wKXtpZihlPT09dW5kZWZpbmVkKWU9aTtlbHNlIGUrPVwiL1wiK2l9fWlmKGU9PT11bmRlZmluZWQpcmV0dXJuXCIuXCI7cmV0dXJuIHIubm9ybWFsaXplKGUpfSxyZWxhdGl2ZTpmdW5jdGlvbiByZWxhdGl2ZShlLHQpe2Fzc2VydFBhdGgoZSk7YXNzZXJ0UGF0aCh0KTtpZihlPT09dClyZXR1cm5cIlwiO2U9ci5yZXNvbHZlKGUpO3Q9ci5yZXNvbHZlKHQpO2lmKGU9PT10KXJldHVyblwiXCI7dmFyIGk9MTtmb3IoO2k8ZS5sZW5ndGg7KytpKXtpZihlLmNoYXJDb2RlQXQoaSkhPT00NylicmVha312YXIgbj1lLmxlbmd0aDt2YXIgYT1uLWk7dmFyIGY9MTtmb3IoO2Y8dC5sZW5ndGg7KytmKXtpZih0LmNoYXJDb2RlQXQoZikhPT00NylicmVha312YXIgbD10Lmxlbmd0aDt2YXIgcz1sLWY7dmFyIG89YTxzP2E6czt2YXIgdT0tMTt2YXIgaD0wO2Zvcig7aDw9bzsrK2gpe2lmKGg9PT1vKXtpZihzPm8pe2lmKHQuY2hhckNvZGVBdChmK2gpPT09NDcpe3JldHVybiB0LnNsaWNlKGYraCsxKX1lbHNlIGlmKGg9PT0wKXtyZXR1cm4gdC5zbGljZShmK2gpfX1lbHNlIGlmKGE+byl7aWYoZS5jaGFyQ29kZUF0KGkraCk9PT00Nyl7dT1ofWVsc2UgaWYoaD09PTApe3U9MH19YnJlYWt9dmFyIGM9ZS5jaGFyQ29kZUF0KGkraCk7dmFyIHY9dC5jaGFyQ29kZUF0KGYraCk7aWYoYyE9PXYpYnJlYWs7ZWxzZSBpZihjPT09NDcpdT1ofXZhciBnPVwiXCI7Zm9yKGg9aSt1KzE7aDw9bjsrK2gpe2lmKGg9PT1ufHxlLmNoYXJDb2RlQXQoaCk9PT00Nyl7aWYoZy5sZW5ndGg9PT0wKWcrPVwiLi5cIjtlbHNlIGcrPVwiLy4uXCJ9fWlmKGcubGVuZ3RoPjApcmV0dXJuIGcrdC5zbGljZShmK3UpO2Vsc2V7Zis9dTtpZih0LmNoYXJDb2RlQXQoZik9PT00NykrK2Y7cmV0dXJuIHQuc2xpY2UoZil9fSxfbWFrZUxvbmc6ZnVuY3Rpb24gX21ha2VMb25nKGUpe3JldHVybiBlfSxkaXJuYW1lOmZ1bmN0aW9uIGRpcm5hbWUoZSl7YXNzZXJ0UGF0aChlKTtpZihlLmxlbmd0aD09PTApcmV0dXJuXCIuXCI7dmFyIHI9ZS5jaGFyQ29kZUF0KDApO3ZhciB0PXI9PT00Nzt2YXIgaT0tMTt2YXIgbj10cnVlO2Zvcih2YXIgYT1lLmxlbmd0aC0xO2E+PTE7LS1hKXtyPWUuY2hhckNvZGVBdChhKTtpZihyPT09NDcpe2lmKCFuKXtpPWE7YnJlYWt9fWVsc2V7bj1mYWxzZX19aWYoaT09PS0xKXJldHVybiB0P1wiL1wiOlwiLlwiO2lmKHQmJmk9PT0xKXJldHVyblwiLy9cIjtyZXR1cm4gZS5zbGljZSgwLGkpfSxiYXNlbmFtZTpmdW5jdGlvbiBiYXNlbmFtZShlLHIpe2lmKHIhPT11bmRlZmluZWQmJnR5cGVvZiByIT09XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKCdcImV4dFwiIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnKTthc3NlcnRQYXRoKGUpO3ZhciB0PTA7dmFyIGk9LTE7dmFyIG49dHJ1ZTt2YXIgYTtpZihyIT09dW5kZWZpbmVkJiZyLmxlbmd0aD4wJiZyLmxlbmd0aDw9ZS5sZW5ndGgpe2lmKHIubGVuZ3RoPT09ZS5sZW5ndGgmJnI9PT1lKXJldHVyblwiXCI7dmFyIGY9ci5sZW5ndGgtMTt2YXIgbD0tMTtmb3IoYT1lLmxlbmd0aC0xO2E+PTA7LS1hKXt2YXIgcz1lLmNoYXJDb2RlQXQoYSk7aWYocz09PTQ3KXtpZighbil7dD1hKzE7YnJlYWt9fWVsc2V7aWYobD09PS0xKXtuPWZhbHNlO2w9YSsxfWlmKGY+PTApe2lmKHM9PT1yLmNoYXJDb2RlQXQoZikpe2lmKC0tZj09PS0xKXtpPWF9fWVsc2V7Zj0tMTtpPWx9fX19aWYodD09PWkpaT1sO2Vsc2UgaWYoaT09PS0xKWk9ZS5sZW5ndGg7cmV0dXJuIGUuc2xpY2UodCxpKX1lbHNle2ZvcihhPWUubGVuZ3RoLTE7YT49MDstLWEpe2lmKGUuY2hhckNvZGVBdChhKT09PTQ3KXtpZighbil7dD1hKzE7YnJlYWt9fWVsc2UgaWYoaT09PS0xKXtuPWZhbHNlO2k9YSsxfX1pZihpPT09LTEpcmV0dXJuXCJcIjtyZXR1cm4gZS5zbGljZSh0LGkpfX0sZXh0bmFtZTpmdW5jdGlvbiBleHRuYW1lKGUpe2Fzc2VydFBhdGgoZSk7dmFyIHI9LTE7dmFyIHQ9MDt2YXIgaT0tMTt2YXIgbj10cnVlO3ZhciBhPTA7Zm9yKHZhciBmPWUubGVuZ3RoLTE7Zj49MDstLWYpe3ZhciBsPWUuY2hhckNvZGVBdChmKTtpZihsPT09NDcpe2lmKCFuKXt0PWYrMTticmVha31jb250aW51ZX1pZihpPT09LTEpe249ZmFsc2U7aT1mKzF9aWYobD09PTQ2KXtpZihyPT09LTEpcj1mO2Vsc2UgaWYoYSE9PTEpYT0xfWVsc2UgaWYociE9PS0xKXthPS0xfX1pZihyPT09LTF8fGk9PT0tMXx8YT09PTB8fGE9PT0xJiZyPT09aS0xJiZyPT09dCsxKXtyZXR1cm5cIlwifXJldHVybiBlLnNsaWNlKHIsaSl9LGZvcm1hdDpmdW5jdGlvbiBmb3JtYXQoZSl7aWYoZT09PW51bGx8fHR5cGVvZiBlIT09XCJvYmplY3RcIil7dGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwicGF0aE9iamVjdFwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSl9cmV0dXJuIF9mb3JtYXQoXCIvXCIsZSl9LHBhcnNlOmZ1bmN0aW9uIHBhcnNlKGUpe2Fzc2VydFBhdGgoZSk7dmFyIHI9e3Jvb3Q6XCJcIixkaXI6XCJcIixiYXNlOlwiXCIsZXh0OlwiXCIsbmFtZTpcIlwifTtpZihlLmxlbmd0aD09PTApcmV0dXJuIHI7dmFyIHQ9ZS5jaGFyQ29kZUF0KDApO3ZhciBpPXQ9PT00Nzt2YXIgbjtpZihpKXtyLnJvb3Q9XCIvXCI7bj0xfWVsc2V7bj0wfXZhciBhPS0xO3ZhciBmPTA7dmFyIGw9LTE7dmFyIHM9dHJ1ZTt2YXIgbz1lLmxlbmd0aC0xO3ZhciB1PTA7Zm9yKDtvPj1uOy0tbyl7dD1lLmNoYXJDb2RlQXQobyk7aWYodD09PTQ3KXtpZighcyl7Zj1vKzE7YnJlYWt9Y29udGludWV9aWYobD09PS0xKXtzPWZhbHNlO2w9bysxfWlmKHQ9PT00Nil7aWYoYT09PS0xKWE9bztlbHNlIGlmKHUhPT0xKXU9MX1lbHNlIGlmKGEhPT0tMSl7dT0tMX19aWYoYT09PS0xfHxsPT09LTF8fHU9PT0wfHx1PT09MSYmYT09PWwtMSYmYT09PWYrMSl7aWYobCE9PS0xKXtpZihmPT09MCYmaSlyLmJhc2U9ci5uYW1lPWUuc2xpY2UoMSxsKTtlbHNlIHIuYmFzZT1yLm5hbWU9ZS5zbGljZShmLGwpfX1lbHNle2lmKGY9PT0wJiZpKXtyLm5hbWU9ZS5zbGljZSgxLGEpO3IuYmFzZT1lLnNsaWNlKDEsbCl9ZWxzZXtyLm5hbWU9ZS5zbGljZShmLGEpO3IuYmFzZT1lLnNsaWNlKGYsbCl9ci5leHQ9ZS5zbGljZShhLGwpfWlmKGY+MClyLmRpcj1lLnNsaWNlKDAsZi0xKTtlbHNlIGlmKGkpci5kaXI9XCIvXCI7cmV0dXJuIHJ9LHNlcDpcIi9cIixkZWxpbWl0ZXI6XCI6XCIsd2luMzI6bnVsbCxwb3NpeDpudWxsfTtyLnBvc2l4PXI7ZS5leHBvcnRzPXJ9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciBpPXJbdF07aWYoaSE9PXVuZGVmaW5lZCl7cmV0dXJuIGkuZXhwb3J0c312YXIgbj1yW3RdPXtleHBvcnRzOnt9fTt2YXIgYT10cnVlO3RyeXtlW3RdKG4sbi5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2E9ZmFsc2V9ZmluYWxseXtpZihhKWRlbGV0ZSByW3RdfXJldHVybiBuLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oMTE0KTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/path-browserify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/querystring-es3/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/querystring-es3/index.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){\"use strict\";var e={815:function(e){function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}e.exports=function(e,n,t,o){n=n||\"&\";t=t||\"=\";var a={};if(typeof e!==\"string\"||e.length===0){return a}var i=/\\+/g;e=e.split(n);var u=1e3;if(o&&typeof o.maxKeys===\"number\"){u=o.maxKeys}var c=e.length;if(u>0&&c>u){c=u}for(var p=0;p<c;++p){var f=e[p].replace(i,\"%20\"),s=f.indexOf(t),_,l,y,d;if(s>=0){_=f.substr(0,s);l=f.substr(s+1)}else{_=f;l=\"\"}y=decodeURIComponent(_);d=decodeURIComponent(l);if(!hasOwnProperty(a,y)){a[y]=d}else if(r(a[y])){a[y].push(d)}else{a[y]=[a[y],d]}}return a};var r=Array.isArray||function(e){return Object.prototype.toString.call(e)===\"[object Array]\"}},577:function(e){var stringifyPrimitive=function(e){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"true\":\"false\";case\"number\":return isFinite(e)?e:\"\";default:return\"\"}};e.exports=function(e,t,o,a){t=t||\"&\";o=o||\"=\";if(e===null){e=undefined}if(typeof e===\"object\"){return map(n(e),(function(n){var a=encodeURIComponent(stringifyPrimitive(n))+o;if(r(e[n])){return map(e[n],(function(e){return a+encodeURIComponent(stringifyPrimitive(e))})).join(t)}else{return a+encodeURIComponent(stringifyPrimitive(e[n]))}})).join(t)}if(!a)return\"\";return encodeURIComponent(stringifyPrimitive(a))+o+encodeURIComponent(stringifyPrimitive(e))};var r=Array.isArray||function(e){return Object.prototype.toString.call(e)===\"[object Array]\"};function map(e,r){if(e.map)return e.map(r);var n=[];for(var t=0;t<e.length;t++){n.push(r(e[t],t))}return n}var n=Object.keys||function(e){var r=[];for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))r.push(n)}return r}}};var r={};function __nccwpck_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={exports:{}};var a=true;try{e[n](o,o.exports,__nccwpck_require__);a=false}finally{if(a)delete r[n]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};!function(){var e=n;e.decode=e.parse=__nccwpck_require__(815);e.encode=e.stringify=__nccwpck_require__(577)}();module.exports=n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3F1ZXJ5c3RyaW5nLWVzMy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxhQUFhLE9BQU8sZ0JBQWdCLDZCQUE2QixpREFBaUQsNEJBQTRCLFNBQVMsU0FBUyxTQUFTLHNDQUFzQyxTQUFTLFlBQVksYUFBYSxVQUFVLG1DQUFtQyxZQUFZLGVBQWUsYUFBYSxJQUFJLFlBQVksSUFBSSxLQUFLLG1EQUFtRCxTQUFTLGdCQUFnQixnQkFBZ0IsS0FBSyxJQUFJLEtBQUssd0JBQXdCLHdCQUF3Qix5QkFBeUIsT0FBTyxpQkFBaUIsYUFBYSxLQUFLLGVBQWUsVUFBVSxpQ0FBaUMsNkRBQTZELGlCQUFpQixtQ0FBbUMsaUJBQWlCLHNCQUFzQixzQ0FBc0MscUNBQXFDLG1CQUFtQiw0QkFBNEIsU0FBUyxTQUFTLGFBQWEsWUFBWSx3QkFBd0IsNkJBQTZCLGtEQUFrRCxZQUFZLDZCQUE2QixtREFBbUQsV0FBVyxLQUFLLHVEQUF1RCxXQUFXLGVBQWUsOEZBQThGLGlDQUFpQyw2REFBNkQsa0JBQWtCLHlCQUF5QixTQUFTLFlBQVksV0FBVyxLQUFLLGtCQUFrQixTQUFTLCtCQUErQixTQUFTLGdCQUFnQix1REFBdUQsWUFBWSxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxzQ0FBc0MsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSyxTQUFTLFlBQVksUUFBUSwwQ0FBMEMsOENBQThDLEdBQUcsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcXVlcnlzdHJpbmctZXMzL2luZGV4LmpzPzI0MWYiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezgxNTpmdW5jdGlvbihlKXtmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShlLHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKX1lLmV4cG9ydHM9ZnVuY3Rpb24oZSxuLHQsbyl7bj1ufHxcIiZcIjt0PXR8fFwiPVwiO3ZhciBhPXt9O2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcInx8ZS5sZW5ndGg9PT0wKXtyZXR1cm4gYX12YXIgaT0vXFwrL2c7ZT1lLnNwbGl0KG4pO3ZhciB1PTFlMztpZihvJiZ0eXBlb2Ygby5tYXhLZXlzPT09XCJudW1iZXJcIil7dT1vLm1heEtleXN9dmFyIGM9ZS5sZW5ndGg7aWYodT4wJiZjPnUpe2M9dX1mb3IodmFyIHA9MDtwPGM7KytwKXt2YXIgZj1lW3BdLnJlcGxhY2UoaSxcIiUyMFwiKSxzPWYuaW5kZXhPZih0KSxfLGwseSxkO2lmKHM+PTApe189Zi5zdWJzdHIoMCxzKTtsPWYuc3Vic3RyKHMrMSl9ZWxzZXtfPWY7bD1cIlwifXk9ZGVjb2RlVVJJQ29tcG9uZW50KF8pO2Q9ZGVjb2RlVVJJQ29tcG9uZW50KGwpO2lmKCFoYXNPd25Qcm9wZXJ0eShhLHkpKXthW3ldPWR9ZWxzZSBpZihyKGFbeV0pKXthW3ldLnB1c2goZCl9ZWxzZXthW3ldPVthW3ldLGRdfX1yZXR1cm4gYX07dmFyIHI9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PVwiW29iamVjdCBBcnJheV1cIn19LDU3NzpmdW5jdGlvbihlKXt2YXIgc3RyaW5naWZ5UHJpbWl0aXZlPWZ1bmN0aW9uKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZVwic3RyaW5nXCI6cmV0dXJuIGU7Y2FzZVwiYm9vbGVhblwiOnJldHVybiBlP1widHJ1ZVwiOlwiZmFsc2VcIjtjYXNlXCJudW1iZXJcIjpyZXR1cm4gaXNGaW5pdGUoZSk/ZTpcIlwiO2RlZmF1bHQ6cmV0dXJuXCJcIn19O2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbyxhKXt0PXR8fFwiJlwiO289b3x8XCI9XCI7aWYoZT09PW51bGwpe2U9dW5kZWZpbmVkfWlmKHR5cGVvZiBlPT09XCJvYmplY3RcIil7cmV0dXJuIG1hcChuKGUpLChmdW5jdGlvbihuKXt2YXIgYT1lbmNvZGVVUklDb21wb25lbnQoc3RyaW5naWZ5UHJpbWl0aXZlKG4pKStvO2lmKHIoZVtuXSkpe3JldHVybiBtYXAoZVtuXSwoZnVuY3Rpb24oZSl7cmV0dXJuIGErZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ2lmeVByaW1pdGl2ZShlKSl9KSkuam9pbih0KX1lbHNle3JldHVybiBhK2VuY29kZVVSSUNvbXBvbmVudChzdHJpbmdpZnlQcmltaXRpdmUoZVtuXSkpfX0pKS5qb2luKHQpfWlmKCFhKXJldHVyblwiXCI7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdpZnlQcmltaXRpdmUoYSkpK28rZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ2lmeVByaW1pdGl2ZShlKSl9O3ZhciByPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk9PT1cIltvYmplY3QgQXJyYXldXCJ9O2Z1bmN0aW9uIG1hcChlLHIpe2lmKGUubWFwKXJldHVybiBlLm1hcChyKTt2YXIgbj1bXTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7bi5wdXNoKHIoZVt0XSx0KSl9cmV0dXJuIG59dmFyIG49T2JqZWN0LmtleXN8fGZ1bmN0aW9uKGUpe3ZhciByPVtdO2Zvcih2YXIgbiBpbiBlKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSlyLnB1c2gobil9cmV0dXJuIHJ9fX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhuKXt2YXIgdD1yW25dO2lmKHQhPT11bmRlZmluZWQpe3JldHVybiB0LmV4cG9ydHN9dmFyIG89cltuXT17ZXhwb3J0czp7fX07dmFyIGE9dHJ1ZTt0cnl7ZVtuXShvLG8uZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTthPWZhbHNlfWZpbmFsbHl7aWYoYSlkZWxldGUgcltuXX1yZXR1cm4gby5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgbj17fTshZnVuY3Rpb24oKXt2YXIgZT1uO2UuZGVjb2RlPWUucGFyc2U9X19uY2N3cGNrX3JlcXVpcmVfXyg4MTUpO2UuZW5jb2RlPWUuc3RyaW5naWZ5PV9fbmNjd3Bja19yZXF1aXJlX18oNTc3KX0oKTttb2R1bGUuZXhwb3J0cz1ufSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/querystring-es3/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/stream-browserify/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stream-browserify/index.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n(function(){var e={782:function(e){if(typeof Object.create===\"function\"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},646:function(e){\"use strict\";const t={};function createErrorType(e,r,n){if(!n){n=Error}function getMessage(e,t,n){if(typeof r===\"string\"){return r}else{return r(e,t,n)}}class NodeError extends n{constructor(e,t,r){super(getMessage(e,t,r))}}NodeError.prototype.name=n.name;NodeError.prototype.code=e;t[e]=NodeError}function oneOf(e,t){if(Array.isArray(e)){const r=e.length;e=e.map((e=>String(e)));if(r>2){return`one of ${t} ${e.slice(0,r-1).join(\", \")}, or `+e[r-1]}else if(r===2){return`one of ${t} ${e[0]} or ${e[1]}`}else{return`of ${t} ${e[0]}`}}else{return`of ${t} ${String(e)}`}}function startsWith(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function includes(e,t,r){if(typeof r!==\"number\"){r=0}if(r+t.length>e.length){return false}else{return e.indexOf(t,r)!==-1}}createErrorType(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError);createErrorType(\"ERR_INVALID_ARG_TYPE\",(function(e,t,r){let n;if(typeof t===\"string\"&&startsWith(t,\"not \")){n=\"must not be\";t=t.replace(/^not /,\"\")}else{n=\"must be\"}let i;if(endsWith(e,\" argument\")){i=`The ${e} ${n} ${oneOf(t,\"type\")}`}else{const r=includes(e,\".\")?\"property\":\"argument\";i=`The \"${e}\" ${r} ${n} ${oneOf(t,\"type\")}`}i+=`. Received type ${typeof r}`;return i}),TypeError);createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"}));createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");createErrorType(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"}));createErrorType(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");createErrorType(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");createErrorType(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");createErrorType(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);createErrorType(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError);createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");e.exports.q=t},403:function(e,t,r){\"use strict\";var n=Object.keys||function(e){var t=[];for(var r in e){t.push(r)}return t};e.exports=Duplex;var i=r(709);var a=r(337);r(782)(Duplex,i);{var o=n(a.prototype);for(var s=0;s<o.length;s++){var f=o[s];if(!Duplex.prototype[f])Duplex.prototype[f]=a.prototype[f]}}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);i.call(this,e);a.call(this,e);this.allowHalfOpen=true;if(e){if(e.readable===false)this.readable=false;if(e.writable===false)this.writable=false;if(e.allowHalfOpen===false){this.allowHalfOpen=false;this.once(\"end\",onend)}}}Object.defineProperty(Duplex.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});Object.defineProperty(Duplex.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Duplex.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function onend(){if(this._writableState.ended)return;process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function set(e){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=e;this._writableState.destroyed=e}})},889:function(e,t,r){\"use strict\";e.exports=PassThrough;var n=r(170);r(782)(PassThrough,n);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);n.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},709:function(e,t,r){\"use strict\";e.exports=Readable;var n;Readable.ReadableState=ReadableState;var i=r(361).EventEmitter;var a=function EElistenerCount(e,t){return e.listeners(t).length};var o=r(678);var s=r(300).Buffer;var f=__webpack_require__.g.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return s.from(e)}function _isUint8Array(e){return s.isBuffer(e)||e instanceof f}var l=r(837);var u;if(l&&l.debuglog){u=l.debuglog(\"stream\")}else{u=function debug(){}}var d=r(379);var c=r(25);var h=r(776),p=h.getHighWaterMark;var b=r(646).q,g=b.ERR_INVALID_ARG_TYPE,y=b.ERR_STREAM_PUSH_AFTER_EOF,_=b.ERR_METHOD_NOT_IMPLEMENTED,v=b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var w;var m;var S;r(782)(Readable,o);var R=c.errorOrDestroy;var E=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function prependListener(e,t,r){if(typeof e.prependListener===\"function\")return e.prependListener(t,r);if(!e._events||!e._events[t])e.on(t,r);else if(Array.isArray(e._events[t]))e._events[t].unshift(r);else e._events[t]=[r,e._events[t]]}function ReadableState(e,t,i){n=n||r(403);e=e||{};if(typeof i!==\"boolean\")i=t instanceof n;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.readableObjectMode;this.highWaterMark=p(this,e,\"readableHighWaterMark\",i);this.buffer=new d;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!w)w=r(704).s;this.decoder=new w(e.encoding);this.encoding=e.encoding}}function Readable(e){n=n||r(403);if(!(this instanceof Readable))return new Readable(e);var t=this instanceof n;this._readableState=new ReadableState(e,this,t);this.readable=true;if(e){if(typeof e.read===\"function\")this._read=e.read;if(typeof e.destroy===\"function\")this._destroy=e.destroy}o.call(this)}Object.defineProperty(Readable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=c.destroy;Readable.prototype._undestroy=c.undestroy;Readable.prototype._destroy=function(e,t){t(e)};Readable.prototype.push=function(e,t){var r=this._readableState;var n;if(!r.objectMode){if(typeof e===\"string\"){t=t||r.defaultEncoding;if(t!==r.encoding){e=s.from(e,t);t=\"\"}n=true}}else{n=true}return readableAddChunk(this,e,t,false,n)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,t,r,n,i){u(\"readableAddChunk\",t);var a=e._readableState;if(t===null){a.reading=false;onEofChunk(e,a)}else{var o;if(!i)o=chunkInvalid(a,t);if(o){R(e,o)}else if(a.objectMode||t&&t.length>0){if(typeof t!==\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==s.prototype){t=_uint8ArrayToBuffer(t)}if(n){if(a.endEmitted)R(e,new v);else addChunk(e,a,t,true)}else if(a.ended){R(e,new y)}else if(a.destroyed){return false}else{a.reading=false;if(a.decoder&&!r){t=a.decoder.write(t);if(a.objectMode||t.length!==0)addChunk(e,a,t,false);else maybeReadMore(e,a)}else{addChunk(e,a,t,false)}}}else if(!n){a.reading=false;maybeReadMore(e,a)}}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function addChunk(e,t,r,n){if(t.flowing&&t.length===0&&!t.sync){t.awaitDrain=0;e.emit(\"data\",r)}else{t.length+=t.objectMode?1:r.length;if(n)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!==\"string\"&&t!==undefined&&!e.objectMode){r=new g(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)}return r}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(e){if(!w)w=r(704).s;var t=new w(e);this._readableState.decoder=t;this._readableState.encoding=this._readableState.decoder.encoding;var n=this._readableState.buffer.head;var i=\"\";while(n!==null){i+=t.write(n.data);n=n.next}this._readableState.buffer.clear();if(i!==\"\")this._readableState.buffer.push(i);this._readableState.length=i.length;return this};var T=1073741824;function computeNewHighWaterMark(e){if(e>=T){e=T}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){u(\"read\",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended)){u(\"read: emitReadable\",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var n=t.needReadable;u(\"need readable\",n);if(t.length===0||t.length-e<t.highWaterMark){n=true;u(\"length less than watermark\",n)}if(t.ended||t.reading){n=false;u(\"reading or ended\",n)}else if(n){u(\"do read\");t.reading=true;t.sync=true;if(t.length===0)t.needReadable=true;this._read(t.highWaterMark);t.sync=false;if(!t.reading)e=howMuchToRead(r,t)}var i;if(e>0)i=fromList(e,t);else i=null;if(i===null){t.needReadable=t.length<=t.highWaterMark;e=0}else{t.length-=e;t.awaitDrain=0}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(i!==null)this.emit(\"data\",i);return i};function onEofChunk(e,t){u(\"onEofChunk\");if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;if(t.sync){emitReadable(e)}else{t.needReadable=false;if(!t.emittedReadable){t.emittedReadable=true;emitReadable_(e)}}}function emitReadable(e){var t=e._readableState;u(\"emitReadable\",t.needReadable,t.emittedReadable);t.needReadable=false;if(!t.emittedReadable){u(\"emitReadable\",t.flowing);t.emittedReadable=true;process.nextTick(emitReadable_,e)}}function emitReadable_(e){var t=e._readableState;u(\"emitReadable_\",t.destroyed,t.length,t.ended);if(!t.destroyed&&(t.length||t.ended)){e.emit(\"readable\");t.emittedReadable=false}t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark;flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;process.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){while(!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0)){var r=t.length;u(\"maybeReadMore read 0\");e.read(0);if(r===t.length)break}t.readingMore=false}Readable.prototype._read=function(e){R(this,new _(\"_read()\"))};Readable.prototype.pipe=function(e,t){var r=this;var n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1;u(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==false)&&e!==process.stdout&&e!==process.stderr;var o=i?onend:unpipe;if(n.endEmitted)process.nextTick(o);else r.once(\"end\",o);e.on(\"unpipe\",onunpipe);function onunpipe(e,t){u(\"onunpipe\");if(e===r){if(t&&t.hasUnpiped===false){t.hasUnpiped=true;cleanup()}}}function onend(){u(\"onend\");e.end()}var s=pipeOnDrain(r);e.on(\"drain\",s);var f=false;function cleanup(){u(\"cleanup\");e.removeListener(\"close\",onclose);e.removeListener(\"finish\",onfinish);e.removeListener(\"drain\",s);e.removeListener(\"error\",onerror);e.removeListener(\"unpipe\",onunpipe);r.removeListener(\"end\",onend);r.removeListener(\"end\",unpipe);r.removeListener(\"data\",ondata);f=true;if(n.awaitDrain&&(!e._writableState||e._writableState.needDrain))s()}r.on(\"data\",ondata);function ondata(t){u(\"ondata\");var i=e.write(t);u(\"dest.write\",i);if(i===false){if((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&indexOf(n.pipes,e)!==-1)&&!f){u(\"false write response, pause\",n.awaitDrain);n.awaitDrain++}r.pause()}}function onerror(t){u(\"onerror\",t);unpipe();e.removeListener(\"error\",onerror);if(a(e,\"error\")===0)R(e,t)}prependListener(e,\"error\",onerror);function onclose(){e.removeListener(\"finish\",onfinish);unpipe()}e.once(\"close\",onclose);function onfinish(){u(\"onfinish\");e.removeListener(\"close\",onclose);unpipe()}e.once(\"finish\",onfinish);function unpipe(){u(\"unpipe\");r.unpipe(e)}e.emit(\"pipe\",r);if(!n.flowing){u(\"pipe resume\");r.resume()}return e};function pipeOnDrain(e){return function pipeOnDrainFunctionResult(){var t=e._readableState;u(\"pipeOnDrain\",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&a(e,\"data\")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit(\"unpipe\",this,r);return this}if(!e){var n=t.pipes;var i=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var a=0;a<i;a++){n[a].emit(\"unpipe\",this,{hasUnpiped:false})}return this}var o=indexOf(t.pipes,e);if(o===-1)return this;t.pipes.splice(o,1);t.pipesCount-=1;if(t.pipesCount===1)t.pipes=t.pipes[0];e.emit(\"unpipe\",this,r);return this};Readable.prototype.on=function(e,t){var r=o.prototype.on.call(this,e,t);var n=this._readableState;if(e===\"data\"){n.readableListening=this.listenerCount(\"readable\")>0;if(n.flowing!==false)this.resume()}else if(e===\"readable\"){if(!n.endEmitted&&!n.readableListening){n.readableListening=n.needReadable=true;n.flowing=false;n.emittedReadable=false;u(\"on readable\",n.length,n.reading);if(n.length){emitReadable(this)}else if(!n.reading){process.nextTick(nReadingNextTick,this)}}}return r};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);if(e===\"readable\"){process.nextTick(updateReadableListening,this)}return r};Readable.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);if(e===\"readable\"||e===undefined){process.nextTick(updateReadableListening,this)}return t};function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0;if(t.resumeScheduled&&!t.paused){t.flowing=true}else if(e.listenerCount(\"data\")>0){e.resume()}}function nReadingNextTick(e){u(\"readable nexttick read 0\");e.read(0)}Readable.prototype.resume=function(){var e=this._readableState;if(!e.flowing){u(\"resume\");e.flowing=!e.readableListening;resume(this,e)}e.paused=false;return this};function resume(e,t){if(!t.resumeScheduled){t.resumeScheduled=true;process.nextTick(resume_,e,t)}}function resume_(e,t){u(\"resume\",t.reading);if(!t.reading){e.read(0)}t.resumeScheduled=false;e.emit(\"resume\");flow(e);if(t.flowing&&!t.reading)e.read(0)}Readable.prototype.pause=function(){u(\"call pause flowing=%j\",this._readableState.flowing);if(this._readableState.flowing!==false){u(\"pause\");this._readableState.flowing=false;this.emit(\"pause\")}this._readableState.paused=true;return this};function flow(e){var t=e._readableState;u(\"flow\",t.flowing);while(t.flowing&&e.read()!==null){}}Readable.prototype.wrap=function(e){var t=this;var r=this._readableState;var n=false;e.on(\"end\",(function(){u(\"wrapped end\");if(r.decoder&&!r.ended){var e=r.decoder.end();if(e&&e.length)t.push(e)}t.push(null)}));e.on(\"data\",(function(i){u(\"wrapped data\");if(r.decoder)i=r.decoder.write(i);if(r.objectMode&&(i===null||i===undefined))return;else if(!r.objectMode&&(!i||!i.length))return;var a=t.push(i);if(!a){n=true;e.pause()}}));for(var i in e){if(this[i]===undefined&&typeof e[i]===\"function\"){this[i]=function methodWrap(t){return function methodWrapReturnFunction(){return e[t].apply(e,arguments)}}(i)}}for(var a=0;a<E.length;a++){e.on(E[a],this.emit.bind(this,E[a]))}this._read=function(t){u(\"wrapped _read\",t);if(n){n=false;e.resume()}};return this};if(typeof Symbol===\"function\"){Readable.prototype[Symbol.asyncIterator]=function(){if(m===undefined){m=r(871)}return m(this)}}Object.defineProperty(Readable.prototype,\"readableHighWaterMark\",{enumerable:false,get:function get(){return this._readableState.highWaterMark}});Object.defineProperty(Readable.prototype,\"readableBuffer\",{enumerable:false,get:function get(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Readable.prototype,\"readableFlowing\",{enumerable:false,get:function get(){return this._readableState.flowing},set:function set(e){if(this._readableState){this._readableState.flowing=e}}});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,\"readableLength\",{enumerable:false,get:function get(){return this._readableState.length}});function fromList(e,t){if(t.length===0)return null;var r;if(t.objectMode)r=t.buffer.shift();else if(!e||e>=t.length){if(t.decoder)r=t.buffer.join(\"\");else if(t.buffer.length===1)r=t.buffer.first();else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=t.buffer.consume(e,t.decoder)}return r}function endReadable(e){var t=e._readableState;u(\"endReadable\",t.endEmitted);if(!t.endEmitted){t.ended=true;process.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){u(\"endReadableNT\",e.endEmitted,e.length);if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit(\"end\");if(e.autoDestroy){var r=t._writableState;if(!r||r.autoDestroy&&r.finished){t.destroy()}}}}if(typeof Symbol===\"function\"){Readable.from=function(e,t){if(S===undefined){S=r(727)}return S(Readable,e,t)}}function indexOf(e,t){for(var r=0,n=e.length;r<n;r++){if(e[r]===t)return r}return-1}},170:function(e,t,r){\"use strict\";e.exports=Transform;var n=r(646).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0;var f=r(403);r(782)(Transform,f);function afterTransform(e,t){var r=this._transformState;r.transforming=false;var n=r.writecb;if(n===null){return this.emit(\"error\",new a)}r.writechunk=null;r.writecb=null;if(t!=null)this.push(t);n(e);var i=this._readableState;i.reading=false;if(i.needReadable||i.length<i.highWaterMark){this._read(i.highWaterMark)}}function Transform(e){if(!(this instanceof Transform))return new Transform(e);f.call(this,e);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(e){if(typeof e.transform===\"function\")this._transform=e.transform;if(typeof e.flush===\"function\")this._flush=e.flush}this.on(\"prefinish\",prefinish)}function prefinish(){var e=this;if(typeof this._flush===\"function\"&&!this._readableState.destroyed){this._flush((function(t,r){done(e,t,r)}))}else{done(this,null,null)}}Transform.prototype.push=function(e,t){this._transformState.needTransform=false;return f.prototype.push.call(this,e,t)};Transform.prototype._transform=function(e,t,r){r(new i(\"_transform()\"))};Transform.prototype._write=function(e,t,r){var n=this._transformState;n.writecb=r;n.writechunk=e;n.writeencoding=t;if(!n.transforming){var i=this._readableState;if(n.needTransform||i.needReadable||i.length<i.highWaterMark)this._read(i.highWaterMark)}};Transform.prototype._read=function(e){var t=this._transformState;if(t.writechunk!==null&&!t.transforming){t.transforming=true;this._transform(t.writechunk,t.writeencoding,t.afterTransform)}else{t.needTransform=true}};Transform.prototype._destroy=function(e,t){f.prototype._destroy.call(this,e,(function(e){t(e)}))};function done(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null)e.push(r);if(e._writableState.length)throw new s;if(e._transformState.transforming)throw new o;return e.push(null)}},337:function(e,t,r){\"use strict\";e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var n;Writable.WritableState=WritableState;var i={deprecate:r(769)};var a=r(678);var o=r(300).Buffer;var s=__webpack_require__.g.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return o.from(e)}function _isUint8Array(e){return o.isBuffer(e)||e instanceof s}var f=r(25);var l=r(776),u=l.getHighWaterMark;var d=r(646).q,c=d.ERR_INVALID_ARG_TYPE,h=d.ERR_METHOD_NOT_IMPLEMENTED,p=d.ERR_MULTIPLE_CALLBACK,b=d.ERR_STREAM_CANNOT_PIPE,g=d.ERR_STREAM_DESTROYED,y=d.ERR_STREAM_NULL_VALUES,_=d.ERR_STREAM_WRITE_AFTER_END,v=d.ERR_UNKNOWN_ENCODING;var w=f.errorOrDestroy;r(782)(Writable,a);function nop(){}function WritableState(e,t,i){n=n||r(403);e=e||{};if(typeof i!==\"boolean\")i=t instanceof n;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;this.highWaterMark=u(this,e,\"writableHighWaterMark\",i);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var a=e.decodeStrings===false;this.decodeStrings=!a;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:i.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer \"+\"instead.\",\"DEP0003\")})}catch(e){}})();var m;if(typeof Symbol===\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]===\"function\"){m=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(e){if(m.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{m=function realHasInstance(e){return e instanceof this}}function Writable(e){n=n||r(403);var t=this instanceof n;if(!t&&!m.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t);this.writable=true;if(e){if(typeof e.write===\"function\")this._write=e.write;if(typeof e.writev===\"function\")this._writev=e.writev;if(typeof e.destroy===\"function\")this._destroy=e.destroy;if(typeof e.final===\"function\")this._final=e.final}a.call(this)}Writable.prototype.pipe=function(){w(this,new b)};function writeAfterEnd(e,t){var r=new _;w(e,r);process.nextTick(t,r)}function validChunk(e,t,r,n){var i;if(r===null){i=new y}else if(typeof r!==\"string\"&&!t.objectMode){i=new c(\"chunk\",[\"string\",\"Buffer\"],r)}if(i){w(e,i);process.nextTick(n,i);return false}return true}Writable.prototype.write=function(e,t,r){var n=this._writableState;var i=false;var a=!n.objectMode&&_isUint8Array(e);if(a&&!o.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t===\"function\"){r=t;t=null}if(a)t=\"buffer\";else if(!t)t=n.defaultEncoding;if(typeof r!==\"function\")r=nop;if(n.ending)writeAfterEnd(this,r);else if(a||validChunk(this,n,e,r)){n.pendingcb++;i=writeOrBuffer(this,n,a,e,t,r)}return i};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e===\"string\")e=e.toLowerCase();if(!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new v(e);this._writableState.defaultEncoding=e;return this};Object.defineProperty(Writable.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t===\"string\"){t=o.from(t,r)}return t}Object.defineProperty(Writable.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,n,i,a){if(!r){var o=decodeChunk(t,n,i);if(n!==o){r=true;i=\"buffer\";n=o}}var s=t.objectMode?1:n.length;t.length+=s;var f=t.length<t.highWaterMark;if(!f)t.needDrain=true;if(t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null};if(l){l.next=t.lastBufferedRequest}else{t.bufferedRequest=t.lastBufferedRequest}t.bufferedRequestCount+=1}else{doWrite(e,t,false,s,n,i,a)}return f}function doWrite(e,t,r,n,i,a,o){t.writelen=n;t.writecb=o;t.writing=true;t.sync=true;if(t.destroyed)t.onwrite(new g(\"write\"));else if(r)e._writev(i,t.onwrite);else e._write(i,a,t.onwrite);t.sync=false}function onwriteError(e,t,r,n,i){--t.pendingcb;if(r){process.nextTick(i,n);process.nextTick(finishMaybe,e,t);e._writableState.errorEmitted=true;w(e,n)}else{i(n);e._writableState.errorEmitted=true;w(e,n);finishMaybe(e,t)}}function onwriteStateUpdate(e){e.writing=false;e.writecb=null;e.length-=e.writelen;e.writelen=0}function onwrite(e,t){var r=e._writableState;var n=r.sync;var i=r.writecb;if(typeof i!==\"function\")throw new p;onwriteStateUpdate(r);if(t)onwriteError(e,r,n,t,i);else{var a=needFinish(r)||e.destroyed;if(!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest){clearBuffer(e,r)}if(n){process.nextTick(afterWrite,e,r,a,i)}else{afterWrite(e,r,a,i)}}}function afterWrite(e,t,r,n){if(!r)onwriteDrain(e,t);t.pendingcb--;n();finishMaybe(e,t)}function onwriteDrain(e,t){if(t.length===0&&t.needDrain){t.needDrain=false;e.emit(\"drain\")}}function clearBuffer(e,t){t.bufferProcessing=true;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount;var i=new Array(n);var a=t.corkedRequestsFree;a.entry=r;var o=0;var s=true;while(r){i[o]=r;if(!r.isBuf)s=false;r=r.next;o+=1}i.allBuffers=s;doWrite(e,t,true,t.length,i,\"\",a.finish);t.pendingcb++;t.lastBufferedRequest=null;if(a.next){t.corkedRequestsFree=a.next;a.next=null}else{t.corkedRequestsFree=new CorkedRequest(t)}t.bufferedRequestCount=0}else{while(r){var f=r.chunk;var l=r.encoding;var u=r.callback;var d=t.objectMode?1:f.length;doWrite(e,t,false,d,f,l,u);r=r.next;t.bufferedRequestCount--;if(t.writing){break}}if(r===null)t.lastBufferedRequest=null}t.bufferedRequest=r;t.bufferProcessing=false}Writable.prototype._write=function(e,t,r){r(new h(\"_write()\"))};Writable.prototype._writev=null;Writable.prototype.end=function(e,t,r){var n=this._writableState;if(typeof e===\"function\"){r=e;e=null;t=null}else if(typeof t===\"function\"){r=t;t=null}if(e!==null&&e!==undefined)this.write(e,t);if(n.corked){n.corked=1;this.uncork()}if(!n.ending)endWritable(this,n,r);return this};Object.defineProperty(Writable.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function needFinish(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function callFinal(e,t){e._final((function(r){t.pendingcb--;if(r){w(e,r)}t.prefinished=true;e.emit(\"prefinish\");finishMaybe(e,t)}))}function prefinish(e,t){if(!t.prefinished&&!t.finalCalled){if(typeof e._final===\"function\"&&!t.destroyed){t.pendingcb++;t.finalCalled=true;process.nextTick(callFinal,e,t)}else{t.prefinished=true;e.emit(\"prefinish\")}}}function finishMaybe(e,t){var r=needFinish(t);if(r){prefinish(e,t);if(t.pendingcb===0){t.finished=true;e.emit(\"finish\");if(t.autoDestroy){var n=e._readableState;if(!n||n.autoDestroy&&n.endEmitted){e.destroy()}}}}return r}function endWritable(e,t,r){t.ending=true;finishMaybe(e,t);if(r){if(t.finished)process.nextTick(r);else e.once(\"finish\",r)}t.ended=true;e.writable=false}function onCorkedFinish(e,t,r){var n=e.entry;e.entry=null;while(n){var i=n.callback;t.pendingcb--;i(r);n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(Writable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function set(e){if(!this._writableState){return}this._writableState.destroyed=e}});Writable.prototype.destroy=f.destroy;Writable.prototype._undestroy=f.undestroy;Writable.prototype._destroy=function(e,t){t(e)}},871:function(e,t,r){\"use strict\";var n;function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var i=r(698);var a=Symbol(\"lastResolve\");var o=Symbol(\"lastReject\");var s=Symbol(\"error\");var f=Symbol(\"ended\");var l=Symbol(\"lastPromise\");var u=Symbol(\"handlePromise\");var d=Symbol(\"stream\");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[a];if(t!==null){var r=e[d].read();if(r!==null){e[l]=null;e[a]=null;e[o]=null;t(createIterResult(r,false))}}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,n){e.then((function(){if(t[f]){r(createIterResult(undefined,true));return}t[u](r,n)}),n)}}var c=Object.getPrototypeOf((function(){}));var h=Object.setPrototypeOf((n={get stream(){return this[d]},next:function next(){var e=this;var t=this[s];if(t!==null){return Promise.reject(t)}if(this[f]){return Promise.resolve(createIterResult(undefined,true))}if(this[d].destroyed){return new Promise((function(t,r){process.nextTick((function(){if(e[s]){r(e[s])}else{t(createIterResult(undefined,true))}}))}))}var r=this[l];var n;if(r){n=new Promise(wrapForNext(r,this))}else{var i=this[d].read();if(i!==null){return Promise.resolve(createIterResult(i,false))}n=new Promise(this[u])}this[l]=n;return n}},_defineProperty(n,Symbol.asyncIterator,(function(){return this})),_defineProperty(n,\"return\",(function _return(){var e=this;return new Promise((function(t,r){e[d].destroy(null,(function(e){if(e){r(e);return}t(createIterResult(undefined,true))}))}))})),n),c);var p=function createReadableStreamAsyncIterator(e){var t;var r=Object.create(h,(t={},_defineProperty(t,d,{value:e,writable:true}),_defineProperty(t,a,{value:null,writable:true}),_defineProperty(t,o,{value:null,writable:true}),_defineProperty(t,s,{value:null,writable:true}),_defineProperty(t,f,{value:e._readableState.endEmitted,writable:true}),_defineProperty(t,u,{value:function value(e,t){var n=r[d].read();if(n){r[l]=null;r[a]=null;r[o]=null;e(createIterResult(n,false))}else{r[a]=e;r[o]=t}},writable:true}),t));r[l]=null;i(e,(function(e){if(e&&e.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var t=r[o];if(t!==null){r[l]=null;r[a]=null;r[o]=null;t(e)}r[s]=e;return}var n=r[a];if(n!==null){r[l]=null;r[a]=null;r[o]=null;n(createIterResult(undefined,true))}r[f]=true}));e.on(\"readable\",onReadable.bind(null,r));return r};e.exports=p},379:function(e,t,r){\"use strict\";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if(\"value\"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){if(t)_defineProperties(e.prototype,t);if(r)_defineProperties(e,r);return e}var n=r(300),i=n.Buffer;var a=r(837),o=a.inspect;var s=o&&o.custom||\"inspect\";function copyBuffer(e,t,r){i.prototype.copy.call(e,t,r)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}_createClass(BufferList,[{key:\"push\",value:function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length}},{key:\"unshift\",value:function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length}},{key:\"shift\",value:function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e}},{key:\"clear\",value:function clear(){this.head=this.tail=null;this.length=0}},{key:\"join\",value:function join(e){if(this.length===0)return\"\";var t=this.head;var r=\"\"+t.data;while(t=t.next){r+=e+t.data}return r}},{key:\"concat\",value:function concat(e){if(this.length===0)return i.alloc(0);var t=i.allocUnsafe(e>>>0);var r=this.head;var n=0;while(r){copyBuffer(r.data,t,n);n+=r.data.length;r=r.next}return t}},{key:\"consume\",value:function consume(e,t){var r;if(e<this.head.data.length){r=this.head.data.slice(0,e);this.head.data=this.head.data.slice(e)}else if(e===this.head.data.length){r=this.shift()}else{r=t?this._getString(e):this._getBuffer(e)}return r}},{key:\"first\",value:function first(){return this.head.data}},{key:\"_getString\",value:function _getString(e){var t=this.head;var r=1;var n=t.data;e-=n.length;while(t=t.next){var i=t.data;var a=e>i.length?i.length:e;if(a===i.length)n+=i;else n+=i.slice(0,e);e-=a;if(e===0){if(a===i.length){++r;if(t.next)this.head=t.next;else this.head=this.tail=null}else{this.head=t;t.data=i.slice(a)}break}++r}this.length-=r;return n}},{key:\"_getBuffer\",value:function _getBuffer(e){var t=i.allocUnsafe(e);var r=this.head;var n=1;r.data.copy(t);e-=r.data.length;while(r=r.next){var a=r.data;var o=e>a.length?a.length:e;a.copy(t,t.length-e,0,o);e-=o;if(e===0){if(o===a.length){++n;if(r.next)this.head=r.next;else this.head=this.tail=null}else{this.head=r;r.data=a.slice(o)}break}++n}this.length-=n;return t}},{key:s,value:function value(e,t){return o(this,_objectSpread({},t,{depth:0,customInspect:false}))}}]);return BufferList}()},25:function(e){\"use strict\";function destroy(e,t){var r=this;var n=this._readableState&&this._readableState.destroyed;var i=this._writableState&&this._writableState.destroyed;if(n||i){if(t){t(e)}else if(e){if(!this._writableState){process.nextTick(emitErrorNT,this,e)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,e)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,(function(e){if(!t&&e){if(!r._writableState){process.nextTick(emitErrorAndCloseNT,r,e)}else if(!r._writableState.errorEmitted){r._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,r,e)}else{process.nextTick(emitCloseNT,r)}}else if(t){process.nextTick(emitCloseNT,r);t(e)}else{process.nextTick(emitCloseNT,r)}}));return this}function emitErrorAndCloseNT(e,t){emitErrorNT(e,t);emitCloseNT(e)}function emitCloseNT(e){if(e._writableState&&!e._writableState.emitClose)return;if(e._readableState&&!e._readableState.emitClose)return;e.emit(\"close\")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit(\"error\",t)}function errorOrDestroy(e,t){var r=e._readableState;var n=e._writableState;if(r&&r.autoDestroy||n&&n.autoDestroy)e.destroy(t);else e.emit(\"error\",t)}e.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}},698:function(e,t,r){\"use strict\";var n=r(646).q.ERR_STREAM_PREMATURE_CLOSE;function once(e){var t=false;return function(){if(t)return;t=true;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++){n[i]=arguments[i]}e.apply(this,n)}}function noop(){}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function eos(e,t,r){if(typeof t===\"function\")return eos(e,null,t);if(!t)t={};r=once(r||noop);var i=t.readable||t.readable!==false&&e.readable;var a=t.writable||t.writable!==false&&e.writable;var o=function onlegacyfinish(){if(!e.writable)f()};var s=e._writableState&&e._writableState.finished;var f=function onfinish(){a=false;s=true;if(!i)r.call(e)};var l=e._readableState&&e._readableState.endEmitted;var u=function onend(){i=false;l=true;if(!a)r.call(e)};var d=function onerror(t){r.call(e,t)};var c=function onclose(){var t;if(i&&!l){if(!e._readableState||!e._readableState.ended)t=new n;return r.call(e,t)}if(a&&!s){if(!e._writableState||!e._writableState.ended)t=new n;return r.call(e,t)}};var h=function onrequest(){e.req.on(\"finish\",f)};if(isRequest(e)){e.on(\"complete\",f);e.on(\"abort\",c);if(e.req)h();else e.on(\"request\",h)}else if(a&&!e._writableState){e.on(\"end\",o);e.on(\"close\",o)}e.on(\"end\",u);e.on(\"finish\",f);if(t.error!==false)e.on(\"error\",d);e.on(\"close\",c);return function(){e.removeListener(\"complete\",f);e.removeListener(\"abort\",c);e.removeListener(\"request\",h);if(e.req)e.req.removeListener(\"finish\",f);e.removeListener(\"end\",o);e.removeListener(\"close\",o);e.removeListener(\"finish\",f);e.removeListener(\"end\",u);e.removeListener(\"error\",d);e.removeListener(\"close\",c)}}e.exports=eos},727:function(e,t,r){\"use strict\";function asyncGeneratorStep(e,t,r,n,i,a,o){try{var s=e[a](o);var f=s.value}catch(e){r(e);return}if(s.done){t(f)}else{Promise.resolve(f).then(n,i)}}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function _next(e){asyncGeneratorStep(a,n,i,_next,_throw,\"next\",e)}function _throw(e){asyncGeneratorStep(a,n,i,_next,_throw,\"throw\",e)}_next(undefined)}))}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var n=r(646).q.ERR_INVALID_ARG_TYPE;function from(e,t,r){var i;if(t&&typeof t.next===\"function\"){i=t}else if(t&&t[Symbol.asyncIterator])i=t[Symbol.asyncIterator]();else if(t&&t[Symbol.iterator])i=t[Symbol.iterator]();else throw new n(\"iterable\",[\"Iterable\"],t);var a=new e(_objectSpread({objectMode:true},r));var o=false;a._read=function(){if(!o){o=true;next()}};function next(){return _next2.apply(this,arguments)}function _next2(){_next2=_asyncToGenerator((function*(){try{var e=yield i.next(),t=e.value,r=e.done;if(r){a.push(null)}else if(a.push(yield t)){next()}else{o=false}}catch(e){a.destroy(e)}}));return _next2.apply(this,arguments)}return a}e.exports=from},442:function(e,t,r){\"use strict\";var n;function once(e){var t=false;return function(){if(t)return;t=true;e.apply(void 0,arguments)}}var i=r(646).q,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function destroyer(e,t,i,a){a=once(a);var s=false;e.on(\"close\",(function(){s=true}));if(n===undefined)n=r(698);n(e,{readable:t,writable:i},(function(e){if(e)return a(e);s=true;a()}));var f=false;return function(t){if(s)return;if(f)return;f=true;if(isRequest(e))return e.abort();if(typeof e.destroy===\"function\")return e.destroy();a(t||new o(\"pipe\"))}}function call(e){e()}function pipe(e,t){return e.pipe(t)}function popCallback(e){if(!e.length)return noop;if(typeof e[e.length-1]!==\"function\")return noop;return e.pop()}function pipeline(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n=popCallback(t);if(Array.isArray(t[0]))t=t[0];if(t.length<2){throw new a(\"streams\")}var i;var o=t.map((function(e,r){var a=r<t.length-1;var s=r>0;return destroyer(e,a,s,(function(e){if(!i)i=e;if(e)o.forEach(call);if(a)return;o.forEach(call);n(i)}))}));return t.reduce(pipe)}e.exports=pipeline},776:function(e,t,r){\"use strict\";var n=r(646).q.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function getHighWaterMark(e,t,r,i){var a=highWaterMarkFrom(t,i,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var o=i?r:\"highWaterMark\";throw new n(o,a)}return Math.floor(a)}return e.objectMode?16:16*1024}e.exports={getHighWaterMark:getHighWaterMark}},678:function(e,t,r){e.exports=r(781)},55:function(e,t,r){var n=r(300);var i=n.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow){e.exports=n}else{copyProps(n,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return i(e,t,r)}SafeBuffer.prototype=Object.create(i.prototype);copyProps(i,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e===\"number\"){throw new TypeError(\"Argument must not be a number\")}return i(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}var n=i(e);if(t!==undefined){if(typeof r===\"string\"){n.fill(t,r)}else{n.fill(t)}}else{n.fill(0)}return n};SafeBuffer.allocUnsafe=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return i(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return n.SlowBuffer(e)}},173:function(e,t,r){e.exports=Stream;var n=r(361).EventEmitter;var i=r(782);i(Stream,n);Stream.Readable=r(709);Stream.Writable=r(337);Stream.Duplex=r(403);Stream.Transform=r(170);Stream.PassThrough=r(889);Stream.finished=r(698);Stream.pipeline=r(442);Stream.Stream=Stream;function Stream(){n.call(this)}Stream.prototype.pipe=function(e,t){var r=this;function ondata(t){if(e.writable){if(false===e.write(t)&&r.pause){r.pause()}}}r.on(\"data\",ondata);function ondrain(){if(r.readable&&r.resume){r.resume()}}e.on(\"drain\",ondrain);if(!e._isStdio&&(!t||t.end!==false)){r.on(\"end\",onend);r.on(\"close\",onclose)}var i=false;function onend(){if(i)return;i=true;e.end()}function onclose(){if(i)return;i=true;if(typeof e.destroy===\"function\")e.destroy()}function onerror(e){cleanup();if(n.listenerCount(this,\"error\")===0){throw e}}r.on(\"error\",onerror);e.on(\"error\",onerror);function cleanup(){r.removeListener(\"data\",ondata);e.removeListener(\"drain\",ondrain);r.removeListener(\"end\",onend);r.removeListener(\"close\",onclose);r.removeListener(\"error\",onerror);e.removeListener(\"error\",onerror);r.removeListener(\"end\",cleanup);r.removeListener(\"close\",cleanup);e.removeListener(\"close\",cleanup)}r.on(\"end\",cleanup);r.on(\"close\",cleanup);e.on(\"close\",cleanup);e.emit(\"pipe\",r);return e}},704:function(e,t,r){\"use strict\";var n=r(55).Buffer;var i=n.isEncoding||function(e){e=\"\"+e;switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return true;default:return false}};function _normalizeEncoding(e){if(!e)return\"utf8\";var t;while(true){switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!==\"string\"&&(n.isEncoding===i||!i(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}t.s=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case\"utf16le\":this.text=utf16Text;this.end=utf16End;t=4;break;case\"utf8\":this.fillLast=utf8FillLast;t=4;break;case\"base64\":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=n.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return\"\";var t;var r;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return\"\";r=this.lastNeed;this.lastNeed=0}else{r=0}if(r<e.length)return t?t+this.text(e,r):this.text(e,r);return t||\"\"};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(e){if(this.lastNeed<=e.length){e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length);this.lastNeed-=e.length};function utf8CheckByte(e){if(e<=127)return 0;else if(e>>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var n=t.length-1;if(n<r)return 0;var i=utf8CheckByte(t[n]);if(i>=0){if(i>0)e.lastNeed=i-1;return i}if(--n<r||i===-2)return 0;i=utf8CheckByte(t[n]);if(i>=0){if(i>0)e.lastNeed=i-2;return i}if(--n<r||i===-2)return 0;i=utf8CheckByte(t[n]);if(i>=0){if(i>0){if(i===2)i=0;else e.lastNeed=i-3}return i}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return\"�\"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return\"�\"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return\"�\"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,n);return e.toString(\"utf8\",t,n)}function utf8End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+\"�\";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString(\"utf16le\",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString(\"base64\",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString(\"base64\",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+this.lastChar.toString(\"base64\",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):\"\"}},769:function(e){e.exports=deprecate;function deprecate(e,t){if(config(\"noDeprecation\")){return e}var r=false;function deprecated(){if(!r){if(config(\"throwDeprecation\")){throw new Error(t)}else if(config(\"traceDeprecation\")){console.trace(t)}else{console.warn(t)}r=true}return e.apply(this,arguments)}return deprecated}function config(e){try{if(!__webpack_require__.g.localStorage)return false}catch(e){return false}var t=__webpack_require__.g.localStorage[e];if(null==t)return false;return String(t).toLowerCase()===\"true\"}},300:function(e){\"use strict\";e.exports=__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")},361:function(e){\"use strict\";e.exports=__webpack_require__(/*! events */ \"./node_modules/events/events.js\")},781:function(e){\"use strict\";e.exports=(__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter)},837:function(e){\"use strict\";e.exports=__webpack_require__(/*! util */ \"./node_modules/util/util.js\")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var a=true;try{e[r](i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(173);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmVhbS1icm93c2VyaWZ5L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsWUFBWSxPQUFPLGdCQUFnQixzQ0FBc0MsaUNBQWlDLE1BQU0sV0FBVyx1Q0FBdUMsYUFBYSwwREFBMEQsSUFBSSxLQUFLLGlDQUFpQyxNQUFNLFdBQVcsMEJBQTBCLCtCQUErQix5QkFBeUIsNkJBQTZCLGlCQUFpQixhQUFhLFdBQVcsZ0NBQWdDLE9BQU8sUUFBUSwyQkFBMkIsd0JBQXdCLFNBQVMsS0FBSyxpQkFBaUIsMEJBQTBCLG1CQUFtQiwwQkFBMEIsZ0NBQWdDLDJCQUEyQixlQUFlLG9CQUFvQixxQkFBcUIsaUJBQWlCLHdCQUF3QixRQUFRLGdCQUFnQixHQUFHLEVBQUUsMEJBQTBCLGNBQWMsZUFBZSxnQkFBZ0IsR0FBRyxFQUFFLE1BQU0sS0FBSyxLQUFLLEVBQUUsS0FBSyxZQUFZLEdBQUcsRUFBRSxLQUFLLEdBQUcsS0FBSyxZQUFZLEdBQUcsRUFBRSxVQUFVLEdBQUcsMkJBQTJCLDJDQUEyQyx5QkFBeUIsOEJBQThCLFdBQVcscUNBQXFDLHlCQUF5Qix3QkFBd0IsSUFBSSx3QkFBd0IsYUFBYSxLQUFLLDRCQUE0Qix1REFBdUQsd0RBQXdELGFBQWEsd0RBQXdELE1BQU0sOENBQThDLGdCQUFnQix3QkFBd0IsS0FBSyxZQUFZLE1BQU0sNEJBQTRCLFNBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLDhDQUE4QyxVQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixTQUFTLEVBQUUsU0FBUyxhQUFhLHVFQUF1RSwwREFBMEQsNENBQTRDLEdBQUcsZ0VBQWdFLG9EQUFvRCx1REFBdUQsR0FBRywwRUFBMEUsc0VBQXNFLGdFQUFnRSwwRkFBMEYsb0RBQW9ELDZCQUE2QixhQUFhLHlGQUF5RixjQUFjLHFCQUFxQixhQUFhLCtCQUErQixTQUFT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YUFBYSxNQUFNLHFCQUFNLGlCQUFpQix3QkFBd0IseUNBQXlDLGlCQUFpQixhQUFhLFVBQVUsbUJBQU8sQ0FBQyw4Q0FBUSxFQUFFLGlCQUFpQixhQUFhLFVBQVUsbUJBQU8sQ0FBQywrQ0FBUSxFQUFFLGlCQUFpQixhQUFhLFVBQVUsbUZBQThCLENBQUMsaUJBQWlCLGFBQWEsVUFBVSxtQkFBTyxDQUFDLHlDQUFNLElBQUksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmVhbS1icm93c2VyaWZ5L2luZGV4LmpzPzkzNDUiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7dmFyIGU9ezc4MjpmdW5jdGlvbihlKXtpZih0eXBlb2YgT2JqZWN0LmNyZWF0ZT09PVwiZnVuY3Rpb25cIil7ZS5leHBvcnRzPWZ1bmN0aW9uIGluaGVyaXRzKGUsdCl7aWYodCl7ZS5zdXBlcl89dDtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSxlbnVtZXJhYmxlOmZhbHNlLHdyaXRhYmxlOnRydWUsY29uZmlndXJhYmxlOnRydWV9fSl9fX1lbHNle2UuZXhwb3J0cz1mdW5jdGlvbiBpbmhlcml0cyhlLHQpe2lmKHQpe2Uuc3VwZXJfPXQ7dmFyIFRlbXBDdG9yPWZ1bmN0aW9uKCl7fTtUZW1wQ3Rvci5wcm90b3R5cGU9dC5wcm90b3R5cGU7ZS5wcm90b3R5cGU9bmV3IFRlbXBDdG9yO2UucHJvdG90eXBlLmNvbnN0cnVjdG9yPWV9fX19LDY0NjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtjb25zdCB0PXt9O2Z1bmN0aW9uIGNyZWF0ZUVycm9yVHlwZShlLHIsbil7aWYoIW4pe249RXJyb3J9ZnVuY3Rpb24gZ2V0TWVzc2FnZShlLHQsbil7aWYodHlwZW9mIHI9PT1cInN0cmluZ1wiKXtyZXR1cm4gcn1lbHNle3JldHVybiByKGUsdCxuKX19Y2xhc3MgTm9kZUVycm9yIGV4dGVuZHMgbntjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZ2V0TWVzc2FnZShlLHQscikpfX1Ob2RlRXJyb3IucHJvdG90eXBlLm5hbWU9bi5uYW1lO05vZGVFcnJvci5wcm90b3R5cGUuY29kZT1lO3RbZV09Tm9kZUVycm9yfWZ1bmN0aW9uIG9uZU9mKGUsdCl7aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcj1lLmxlbmd0aDtlPWUubWFwKChlPT5TdHJpbmcoZSkpKTtpZihyPjIpe3JldHVybmBvbmUgb2YgJHt0fSAke2Uuc2xpY2UoMCxyLTEpLmpvaW4oXCIsIFwiKX0sIG9yIGArZVtyLTFdfWVsc2UgaWYocj09PTIpe3JldHVybmBvbmUgb2YgJHt0fSAke2VbMF19IG9yICR7ZVsxXX1gfWVsc2V7cmV0dXJuYG9mICR7dH0gJHtlWzBdfWB9fWVsc2V7cmV0dXJuYG9mICR7dH0gJHtTdHJpbmcoZSl9YH19ZnVuY3Rpb24gc3RhcnRzV2l0aChlLHQscil7cmV0dXJuIGUuc3Vic3RyKCFyfHxyPDA/MDorcix0Lmxlbmd0aCk9PT10fWZ1bmN0aW9uIGVuZHNXaXRoKGUsdCxyKXtpZihyPT09dW5kZWZpbmVkfHxyPmUubGVuZ3RoKXtyPWUubGVuZ3RofXJldHVybiBlLnN1YnN0cmluZyhyLXQubGVuZ3RoLHIpPT09dH1mdW5jdGlvbiBpbmNsdWRlcyhlLHQscil7aWYodHlwZW9mIHIhPT1cIm51bWJlclwiKXtyPTB9aWYocit0Lmxlbmd0aD5lLmxlbmd0aCl7cmV0dXJuIGZhbHNlfWVsc2V7cmV0dXJuIGUuaW5kZXhPZih0LHIpIT09LTF9fWNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX09QVF9WQUxVRVwiLChmdW5jdGlvbihlLHQpe3JldHVybidUaGUgdmFsdWUgXCInK3QrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcIicrZSsnXCInfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9BUkdfVFlQRVwiLChmdW5jdGlvbihlLHQscil7bGV0IG47aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiJiZzdGFydHNXaXRoKHQsXCJub3QgXCIpKXtuPVwibXVzdCBub3QgYmVcIjt0PXQucmVwbGFjZSgvXm5vdCAvLFwiXCIpfWVsc2V7bj1cIm11c3QgYmVcIn1sZXQgaTtpZihlbmRzV2l0aChlLFwiIGFyZ3VtZW50XCIpKXtpPWBUaGUgJHtlfSAke259ICR7b25lT2YodCxcInR5cGVcIil9YH1lbHNle2NvbnN0IHI9aW5jbHVkZXMoZSxcIi5cIik/XCJwcm9wZXJ0eVwiOlwiYXJndW1lbnRcIjtpPWBUaGUgXCIke2V9XCIgJHtyfSAke259ICR7b25lT2YodCxcInR5cGVcIil9YH1pKz1gLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIHJ9YDtyZXR1cm4gaX0pLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRlwiLFwic3RyZWFtLnB1c2goKSBhZnRlciBFT0ZcIik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URURcIiwoZnVuY3Rpb24oZSl7cmV0dXJuXCJUaGUgXCIrZStcIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkXCJ9KSk7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIixcIlByZW1hdHVyZSBjbG9zZVwiKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX0RFU1RST1lFRFwiLChmdW5jdGlvbihlKXtyZXR1cm5cIkNhbm5vdCBjYWxsIFwiK2UrXCIgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZFwifSkpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9NVUxUSVBMRV9DQUxMQkFDS1wiLFwiQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzXCIpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEVcIixcIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGVcIik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkRcIixcIndyaXRlIGFmdGVyIGVuZFwiKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX05VTExfVkFMVUVTXCIsXCJNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbVwiLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1VOS05PV05fRU5DT0RJTkdcIiwoZnVuY3Rpb24oZSl7cmV0dXJuXCJVbmtub3duIGVuY29kaW5nOiBcIitlfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UXCIsXCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudFwiKTtlLmV4cG9ydHMucT10fSw0MDM6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSl7dC5wdXNoKHIpfXJldHVybiB0fTtlLmV4cG9ydHM9RHVwbGV4O3ZhciBpPXIoNzA5KTt2YXIgYT1yKDMzNyk7cig3ODIpKER1cGxleCxpKTt7dmFyIG89bihhLnByb3RvdHlwZSk7Zm9yKHZhciBzPTA7czxvLmxlbmd0aDtzKyspe3ZhciBmPW9bc107aWYoIUR1cGxleC5wcm90b3R5cGVbZl0pRHVwbGV4LnByb3RvdHlwZVtmXT1hLnByb3RvdHlwZVtmXX19ZnVuY3Rpb24gRHVwbGV4KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpcmV0dXJuIG5ldyBEdXBsZXgoZSk7aS5jYWxsKHRoaXMsZSk7YS5jYWxsKHRoaXMsZSk7dGhpcy5hbGxvd0hhbGZPcGVuPXRydWU7aWYoZSl7aWYoZS5yZWFkYWJsZT09PWZhbHNlKXRoaXMucmVhZGFibGU9ZmFsc2U7aWYoZS53cml0YWJsZT09PWZhbHNlKXRoaXMud3JpdGFibGU9ZmFsc2U7aWYoZS5hbGxvd0hhbGZPcGVuPT09ZmFsc2Upe3RoaXMuYWxsb3dIYWxmT3Blbj1mYWxzZTt0aGlzLm9uY2UoXCJlbmRcIixvbmVuZCl9fX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSk7ZnVuY3Rpb24gb25lbmQoKXtpZih0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKXJldHVybjtwcm9jZXNzLm5leHRUaWNrKG9uRW5kTlQsdGhpcyl9ZnVuY3Rpb24gb25FbmROVChlKXtlLmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe2lmKHRoaXMuX3JlYWRhYmxlU3RhdGU9PT11bmRlZmluZWR8fHRoaXMuX3dyaXRhYmxlU3RhdGU9PT11bmRlZmluZWQpe3JldHVybiBmYWxzZX1yZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKHRoaXMuX3JlYWRhYmxlU3RhdGU9PT11bmRlZmluZWR8fHRoaXMuX3dyaXRhYmxlU3RhdGU9PT11bmRlZmluZWQpe3JldHVybn10aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD1lO3RoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPWV9fSl9LDg4OTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPVBhc3NUaHJvdWdoO3ZhciBuPXIoMTcwKTtyKDc4MikoUGFzc1Rocm91Z2gsbik7ZnVuY3Rpb24gUGFzc1Rocm91Z2goZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgUGFzc1Rocm91Z2gpKXJldHVybiBuZXcgUGFzc1Rocm91Z2goZSk7bi5jYWxsKHRoaXMsZSl9UGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3IobnVsbCxlKX19LDcwOTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPVJlYWRhYmxlO3ZhciBuO1JlYWRhYmxlLlJlYWRhYmxlU3RhdGU9UmVhZGFibGVTdGF0ZTt2YXIgaT1yKDM2MSkuRXZlbnRFbWl0dGVyO3ZhciBhPWZ1bmN0aW9uIEVFbGlzdGVuZXJDb3VudChlLHQpe3JldHVybiBlLmxpc3RlbmVycyh0KS5sZW5ndGh9O3ZhciBvPXIoNjc4KTt2YXIgcz1yKDMwMCkuQnVmZmVyO3ZhciBmPWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gcy5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIHMuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBmfXZhciBsPXIoODM3KTt2YXIgdTtpZihsJiZsLmRlYnVnbG9nKXt1PWwuZGVidWdsb2coXCJzdHJlYW1cIil9ZWxzZXt1PWZ1bmN0aW9uIGRlYnVnKCl7fX12YXIgZD1yKDM3OSk7dmFyIGM9cigyNSk7dmFyIGg9cig3NzYpLHA9aC5nZXRIaWdoV2F0ZXJNYXJrO3ZhciBiPXIoNjQ2KS5xLGc9Yi5FUlJfSU5WQUxJRF9BUkdfVFlQRSx5PWIuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixfPWIuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsdj1iLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7dmFyIHc7dmFyIG07dmFyIFM7cig3ODIpKFJlYWRhYmxlLG8pO3ZhciBSPWMuZXJyb3JPckRlc3Ryb3k7dmFyIEU9W1wiZXJyb3JcIixcImNsb3NlXCIsXCJkZXN0cm95XCIsXCJwYXVzZVwiLFwicmVzdW1lXCJdO2Z1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlLHQscil7aWYodHlwZW9mIGUucHJlcGVuZExpc3RlbmVyPT09XCJmdW5jdGlvblwiKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2lmKCFlLl9ldmVudHN8fCFlLl9ldmVudHNbdF0pZS5vbih0LHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlLl9ldmVudHNbdF0pKWUuX2V2ZW50c1t0XS51bnNoaWZ0KHIpO2Vsc2UgZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV19ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQsaSl7bj1ufHxyKDQwMyk7ZT1lfHx7fTtpZih0eXBlb2YgaSE9PVwiYm9vbGVhblwiKWk9dCBpbnN0YW5jZW9mIG47dGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlO2lmKGkpdGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZTt0aGlzLmhpZ2hXYXRlck1hcms9cCh0aGlzLGUsXCJyZWFkYWJsZUhpZ2hXYXRlck1hcmtcIixpKTt0aGlzLmJ1ZmZlcj1uZXcgZDt0aGlzLmxlbmd0aD0wO3RoaXMucGlwZXM9bnVsbDt0aGlzLnBpcGVzQ291bnQ9MDt0aGlzLmZsb3dpbmc9bnVsbDt0aGlzLmVuZGVkPWZhbHNlO3RoaXMuZW5kRW1pdHRlZD1mYWxzZTt0aGlzLnJlYWRpbmc9ZmFsc2U7dGhpcy5zeW5jPXRydWU7dGhpcy5uZWVkUmVhZGFibGU9ZmFsc2U7dGhpcy5lbWl0dGVkUmVhZGFibGU9ZmFsc2U7dGhpcy5yZWFkYWJsZUxpc3RlbmluZz1mYWxzZTt0aGlzLnJlc3VtZVNjaGVkdWxlZD1mYWxzZTt0aGlzLnBhdXNlZD10cnVlO3RoaXMuZW1pdENsb3NlPWUuZW1pdENsb3NlIT09ZmFsc2U7dGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3k7dGhpcy5kZXN0cm95ZWQ9ZmFsc2U7dGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiO3RoaXMuYXdhaXREcmFpbj0wO3RoaXMucmVhZGluZ01vcmU9ZmFsc2U7dGhpcy5kZWNvZGVyPW51bGw7dGhpcy5lbmNvZGluZz1udWxsO2lmKGUuZW5jb2Rpbmcpe2lmKCF3KXc9cig3MDQpLnM7dGhpcy5kZWNvZGVyPW5ldyB3KGUuZW5jb2RpbmcpO3RoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZ319ZnVuY3Rpb24gUmVhZGFibGUoZSl7bj1ufHxyKDQwMyk7aWYoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKXJldHVybiBuZXcgUmVhZGFibGUoZSk7dmFyIHQ9dGhpcyBpbnN0YW5jZW9mIG47dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgUmVhZGFibGVTdGF0ZShlLHRoaXMsdCk7dGhpcy5yZWFkYWJsZT10cnVlO2lmKGUpe2lmKHR5cGVvZiBlLnJlYWQ9PT1cImZ1bmN0aW9uXCIpdGhpcy5fcmVhZD1lLnJlYWQ7aWYodHlwZW9mIGUuZGVzdHJveT09PVwiZnVuY3Rpb25cIil0aGlzLl9kZXN0cm95PWUuZGVzdHJveX1vLmNhbGwodGhpcyl9T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKCF0aGlzLl9yZWFkYWJsZVN0YXRlKXtyZXR1cm59dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZX19KTtSZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveT1jLmRlc3Ryb3k7UmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9Yy51bmRlc3Ryb3k7UmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX07UmVhZGFibGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9yZWFkYWJsZVN0YXRlO3ZhciBuO2lmKCFyLm9iamVjdE1vZGUpe2lmKHR5cGVvZiBlPT09XCJzdHJpbmdcIil7dD10fHxyLmRlZmF1bHRFbmNvZGluZztpZih0IT09ci5lbmNvZGluZyl7ZT1zLmZyb20oZSx0KTt0PVwiXCJ9bj10cnVlfX1lbHNle249dHJ1ZX1yZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLGUsdCxmYWxzZSxuKX07UmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLG51bGwsdHJ1ZSxmYWxzZSl9O2Z1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoZSx0LHIsbixpKXt1KFwicmVhZGFibGVBZGRDaHVua1wiLHQpO3ZhciBhPWUuX3JlYWRhYmxlU3RhdGU7aWYodD09PW51bGwpe2EucmVhZGluZz1mYWxzZTtvbkVvZkNodW5rKGUsYSl9ZWxzZXt2YXIgbztpZighaSlvPWNodW5rSW52YWxpZChhLHQpO2lmKG8pe1IoZSxvKX1lbHNlIGlmKGEub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MCl7aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhYS5vYmplY3RNb2RlJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1zLnByb3RvdHlwZSl7dD1fdWludDhBcnJheVRvQnVmZmVyKHQpfWlmKG4pe2lmKGEuZW5kRW1pdHRlZClSKGUsbmV3IHYpO2Vsc2UgYWRkQ2h1bmsoZSxhLHQsdHJ1ZSl9ZWxzZSBpZihhLmVuZGVkKXtSKGUsbmV3IHkpfWVsc2UgaWYoYS5kZXN0cm95ZWQpe3JldHVybiBmYWxzZX1lbHNle2EucmVhZGluZz1mYWxzZTtpZihhLmRlY29kZXImJiFyKXt0PWEuZGVjb2Rlci53cml0ZSh0KTtpZihhLm9iamVjdE1vZGV8fHQubGVuZ3RoIT09MClhZGRDaHVuayhlLGEsdCxmYWxzZSk7ZWxzZSBtYXliZVJlYWRNb3JlKGUsYSl9ZWxzZXthZGRDaHVuayhlLGEsdCxmYWxzZSl9fX1lbHNlIGlmKCFuKXthLnJlYWRpbmc9ZmFsc2U7bWF5YmVSZWFkTW9yZShlLGEpfX1yZXR1cm4hYS5lbmRlZCYmKGEubGVuZ3RoPGEuaGlnaFdhdGVyTWFya3x8YS5sZW5ndGg9PT0wKX1mdW5jdGlvbiBhZGRDaHVuayhlLHQscixuKXtpZih0LmZsb3dpbmcmJnQubGVuZ3RoPT09MCYmIXQuc3luYyl7dC5hd2FpdERyYWluPTA7ZS5lbWl0KFwiZGF0YVwiLHIpfWVsc2V7dC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoO2lmKG4pdC5idWZmZXIudW5zaGlmdChyKTtlbHNlIHQuYnVmZmVyLnB1c2gocik7aWYodC5uZWVkUmVhZGFibGUpZW1pdFJlYWRhYmxlKGUpfW1heWJlUmVhZE1vcmUoZSx0KX1mdW5jdGlvbiBjaHVua0ludmFsaWQoZSx0KXt2YXIgcjtpZighX2lzVWludDhBcnJheSh0KSYmdHlwZW9mIHQhPT1cInN0cmluZ1wiJiZ0IT09dW5kZWZpbmVkJiYhZS5vYmplY3RNb2RlKXtyPW5ldyBnKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiLFwiVWludDhBcnJheVwiXSx0KX1yZXR1cm4gcn1SZWFkYWJsZS5wcm90b3R5cGUuaXNQYXVzZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPT09ZmFsc2V9O1JlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtpZighdyl3PXIoNzA0KS5zO3ZhciB0PW5ldyB3KGUpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj10O3RoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQ7dmFyIGk9XCJcIjt3aGlsZShuIT09bnVsbCl7aSs9dC53cml0ZShuLmRhdGEpO249bi5uZXh0fXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCk7aWYoaSE9PVwiXCIpdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChpKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aD1pLmxlbmd0aDtyZXR1cm4gdGhpc307dmFyIFQ9MTA3Mzc0MTgyNDtmdW5jdGlvbiBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKXtpZihlPj1UKXtlPVR9ZWxzZXtlLS07ZXw9ZT4+PjE7ZXw9ZT4+PjI7ZXw9ZT4+PjQ7ZXw9ZT4+Pjg7ZXw9ZT4+PjE2O2UrK31yZXR1cm4gZX1mdW5jdGlvbiBob3dNdWNoVG9SZWFkKGUsdCl7aWYoZTw9MHx8dC5sZW5ndGg9PT0wJiZ0LmVuZGVkKXJldHVybiAwO2lmKHQub2JqZWN0TW9kZSlyZXR1cm4gMTtpZihlIT09ZSl7aWYodC5mbG93aW5nJiZ0Lmxlbmd0aClyZXR1cm4gdC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDtlbHNlIHJldHVybiB0Lmxlbmd0aH1pZihlPnQuaGlnaFdhdGVyTWFyayl0LmhpZ2hXYXRlck1hcms9Y29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSk7aWYoZTw9dC5sZW5ndGgpcmV0dXJuIGU7aWYoIXQuZW5kZWQpe3QubmVlZFJlYWRhYmxlPXRydWU7cmV0dXJuIDB9cmV0dXJuIHQubGVuZ3RofVJlYWRhYmxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe3UoXCJyZWFkXCIsZSk7ZT1wYXJzZUludChlLDEwKTt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlO3ZhciByPWU7aWYoZSE9PTApdC5lbWl0dGVkUmVhZGFibGU9ZmFsc2U7aWYoZT09PTAmJnQubmVlZFJlYWRhYmxlJiYoKHQuaGlnaFdhdGVyTWFyayE9PTA/dC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFyazp0Lmxlbmd0aD4wKXx8dC5lbmRlZCkpe3UoXCJyZWFkOiBlbWl0UmVhZGFibGVcIix0Lmxlbmd0aCx0LmVuZGVkKTtpZih0Lmxlbmd0aD09PTAmJnQuZW5kZWQpZW5kUmVhZGFibGUodGhpcyk7ZWxzZSBlbWl0UmVhZGFibGUodGhpcyk7cmV0dXJuIG51bGx9ZT1ob3dNdWNoVG9SZWFkKGUsdCk7aWYoZT09PTAmJnQuZW5kZWQpe2lmKHQubGVuZ3RoPT09MCllbmRSZWFkYWJsZSh0aGlzKTtyZXR1cm4gbnVsbH12YXIgbj10Lm5lZWRSZWFkYWJsZTt1KFwibmVlZCByZWFkYWJsZVwiLG4pO2lmKHQubGVuZ3RoPT09MHx8dC5sZW5ndGgtZTx0LmhpZ2hXYXRlck1hcmspe249dHJ1ZTt1KFwibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmtcIixuKX1pZih0LmVuZGVkfHx0LnJlYWRpbmcpe249ZmFsc2U7dShcInJlYWRpbmcgb3IgZW5kZWRcIixuKX1lbHNlIGlmKG4pe3UoXCJkbyByZWFkXCIpO3QucmVhZGluZz10cnVlO3Quc3luYz10cnVlO2lmKHQubGVuZ3RoPT09MCl0Lm5lZWRSZWFkYWJsZT10cnVlO3RoaXMuX3JlYWQodC5oaWdoV2F0ZXJNYXJrKTt0LnN5bmM9ZmFsc2U7aWYoIXQucmVhZGluZyllPWhvd011Y2hUb1JlYWQocix0KX12YXIgaTtpZihlPjApaT1mcm9tTGlzdChlLHQpO2Vsc2UgaT1udWxsO2lmKGk9PT1udWxsKXt0Lm5lZWRSZWFkYWJsZT10Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrO2U9MH1lbHNle3QubGVuZ3RoLT1lO3QuYXdhaXREcmFpbj0wfWlmKHQubGVuZ3RoPT09MCl7aWYoIXQuZW5kZWQpdC5uZWVkUmVhZGFibGU9dHJ1ZTtpZihyIT09ZSYmdC5lbmRlZCllbmRSZWFkYWJsZSh0aGlzKX1pZihpIT09bnVsbCl0aGlzLmVtaXQoXCJkYXRhXCIsaSk7cmV0dXJuIGl9O2Z1bmN0aW9uIG9uRW9mQ2h1bmsoZSx0KXt1KFwib25Fb2ZDaHVua1wiKTtpZih0LmVuZGVkKXJldHVybjtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtpZihyJiZyLmxlbmd0aCl7dC5idWZmZXIucHVzaChyKTt0Lmxlbmd0aCs9dC5vYmplY3RNb2RlPzE6ci5sZW5ndGh9fXQuZW5kZWQ9dHJ1ZTtpZih0LnN5bmMpe2VtaXRSZWFkYWJsZShlKX1lbHNle3QubmVlZFJlYWRhYmxlPWZhbHNlO2lmKCF0LmVtaXR0ZWRSZWFkYWJsZSl7dC5lbWl0dGVkUmVhZGFibGU9dHJ1ZTtlbWl0UmVhZGFibGVfKGUpfX19ZnVuY3Rpb24gZW1pdFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcImVtaXRSZWFkYWJsZVwiLHQubmVlZFJlYWRhYmxlLHQuZW1pdHRlZFJlYWRhYmxlKTt0Lm5lZWRSZWFkYWJsZT1mYWxzZTtpZighdC5lbWl0dGVkUmVhZGFibGUpe3UoXCJlbWl0UmVhZGFibGVcIix0LmZsb3dpbmcpO3QuZW1pdHRlZFJlYWRhYmxlPXRydWU7cHJvY2Vzcy5uZXh0VGljayhlbWl0UmVhZGFibGVfLGUpfX1mdW5jdGlvbiBlbWl0UmVhZGFibGVfKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcImVtaXRSZWFkYWJsZV9cIix0LmRlc3Ryb3llZCx0Lmxlbmd0aCx0LmVuZGVkKTtpZighdC5kZXN0cm95ZWQmJih0Lmxlbmd0aHx8dC5lbmRlZCkpe2UuZW1pdChcInJlYWRhYmxlXCIpO3QuZW1pdHRlZFJlYWRhYmxlPWZhbHNlfXQubmVlZFJlYWRhYmxlPSF0LmZsb3dpbmcmJiF0LmVuZGVkJiZ0Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrO2Zsb3coZSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShlLHQpe2lmKCF0LnJlYWRpbmdNb3JlKXt0LnJlYWRpbmdNb3JlPXRydWU7cHJvY2Vzcy5uZXh0VGljayhtYXliZVJlYWRNb3JlXyxlLHQpfX1mdW5jdGlvbiBtYXliZVJlYWRNb3JlXyhlLHQpe3doaWxlKCF0LnJlYWRpbmcmJiF0LmVuZGVkJiYodC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrfHx0LmZsb3dpbmcmJnQubGVuZ3RoPT09MCkpe3ZhciByPXQubGVuZ3RoO3UoXCJtYXliZVJlYWRNb3JlIHJlYWQgMFwiKTtlLnJlYWQoMCk7aWYocj09PXQubGVuZ3RoKWJyZWFrfXQucmVhZGluZ01vcmU9ZmFsc2V9UmVhZGFibGUucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGUpe1IodGhpcyxuZXcgXyhcIl9yZWFkKClcIikpfTtSZWFkYWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7dmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2gobi5waXBlc0NvdW50KXtjYXNlIDA6bi5waXBlcz1lO2JyZWFrO2Nhc2UgMTpuLnBpcGVzPVtuLnBpcGVzLGVdO2JyZWFrO2RlZmF1bHQ6bi5waXBlcy5wdXNoKGUpO2JyZWFrfW4ucGlwZXNDb3VudCs9MTt1KFwicGlwZSBjb3VudD0lZCBvcHRzPSVqXCIsbi5waXBlc0NvdW50LHQpO3ZhciBpPSghdHx8dC5lbmQhPT1mYWxzZSkmJmUhPT1wcm9jZXNzLnN0ZG91dCYmZSE9PXByb2Nlc3Muc3RkZXJyO3ZhciBvPWk/b25lbmQ6dW5waXBlO2lmKG4uZW5kRW1pdHRlZClwcm9jZXNzLm5leHRUaWNrKG8pO2Vsc2Ugci5vbmNlKFwiZW5kXCIsbyk7ZS5vbihcInVucGlwZVwiLG9udW5waXBlKTtmdW5jdGlvbiBvbnVucGlwZShlLHQpe3UoXCJvbnVucGlwZVwiKTtpZihlPT09cil7aWYodCYmdC5oYXNVbnBpcGVkPT09ZmFsc2Upe3QuaGFzVW5waXBlZD10cnVlO2NsZWFudXAoKX19fWZ1bmN0aW9uIG9uZW5kKCl7dShcIm9uZW5kXCIpO2UuZW5kKCl9dmFyIHM9cGlwZU9uRHJhaW4ocik7ZS5vbihcImRyYWluXCIscyk7dmFyIGY9ZmFsc2U7ZnVuY3Rpb24gY2xlYW51cCgpe3UoXCJjbGVhbnVwXCIpO2UucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLG9uY2xvc2UpO2UucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixvbmZpbmlzaCk7ZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIscyk7ZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsb25lcnJvcik7ZS5yZW1vdmVMaXN0ZW5lcihcInVucGlwZVwiLG9udW5waXBlKTtyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsb25lbmQpO3IucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIix1bnBpcGUpO3IucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsb25kYXRhKTtmPXRydWU7aWYobi5hd2FpdERyYWluJiYoIWUuX3dyaXRhYmxlU3RhdGV8fGUuX3dyaXRhYmxlU3RhdGUubmVlZERyYWluKSlzKCl9ci5vbihcImRhdGFcIixvbmRhdGEpO2Z1bmN0aW9uIG9uZGF0YSh0KXt1KFwib25kYXRhXCIpO3ZhciBpPWUud3JpdGUodCk7dShcImRlc3Qud3JpdGVcIixpKTtpZihpPT09ZmFsc2Upe2lmKChuLnBpcGVzQ291bnQ9PT0xJiZuLnBpcGVzPT09ZXx8bi5waXBlc0NvdW50PjEmJmluZGV4T2Yobi5waXBlcyxlKSE9PS0xKSYmIWYpe3UoXCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2VcIixuLmF3YWl0RHJhaW4pO24uYXdhaXREcmFpbisrfXIucGF1c2UoKX19ZnVuY3Rpb24gb25lcnJvcih0KXt1KFwib25lcnJvclwiLHQpO3VucGlwZSgpO2UucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG9uZXJyb3IpO2lmKGEoZSxcImVycm9yXCIpPT09MClSKGUsdCl9cHJlcGVuZExpc3RlbmVyKGUsXCJlcnJvclwiLG9uZXJyb3IpO2Z1bmN0aW9uIG9uY2xvc2UoKXtlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsb25maW5pc2gpO3VucGlwZSgpfWUub25jZShcImNsb3NlXCIsb25jbG9zZSk7ZnVuY3Rpb24gb25maW5pc2goKXt1KFwib25maW5pc2hcIik7ZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsb25jbG9zZSk7dW5waXBlKCl9ZS5vbmNlKFwiZmluaXNoXCIsb25maW5pc2gpO2Z1bmN0aW9uIHVucGlwZSgpe3UoXCJ1bnBpcGVcIik7ci51bnBpcGUoZSl9ZS5lbWl0KFwicGlwZVwiLHIpO2lmKCFuLmZsb3dpbmcpe3UoXCJwaXBlIHJlc3VtZVwiKTtyLnJlc3VtZSgpfXJldHVybiBlfTtmdW5jdGlvbiBwaXBlT25EcmFpbihlKXtyZXR1cm4gZnVuY3Rpb24gcGlwZU9uRHJhaW5GdW5jdGlvblJlc3VsdCgpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcInBpcGVPbkRyYWluXCIsdC5hd2FpdERyYWluKTtpZih0LmF3YWl0RHJhaW4pdC5hd2FpdERyYWluLS07aWYodC5hd2FpdERyYWluPT09MCYmYShlLFwiZGF0YVwiKSl7dC5mbG93aW5nPXRydWU7ZmxvdyhlKX19fVJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTt2YXIgcj17aGFzVW5waXBlZDpmYWxzZX07aWYodC5waXBlc0NvdW50PT09MClyZXR1cm4gdGhpcztpZih0LnBpcGVzQ291bnQ9PT0xKXtpZihlJiZlIT09dC5waXBlcylyZXR1cm4gdGhpcztpZighZSllPXQucGlwZXM7dC5waXBlcz1udWxsO3QucGlwZXNDb3VudD0wO3QuZmxvd2luZz1mYWxzZTtpZihlKWUuZW1pdChcInVucGlwZVwiLHRoaXMscik7cmV0dXJuIHRoaXN9aWYoIWUpe3ZhciBuPXQucGlwZXM7dmFyIGk9dC5waXBlc0NvdW50O3QucGlwZXM9bnVsbDt0LnBpcGVzQ291bnQ9MDt0LmZsb3dpbmc9ZmFsc2U7Zm9yKHZhciBhPTA7YTxpO2ErKyl7blthXS5lbWl0KFwidW5waXBlXCIsdGhpcyx7aGFzVW5waXBlZDpmYWxzZX0pfXJldHVybiB0aGlzfXZhciBvPWluZGV4T2YodC5waXBlcyxlKTtpZihvPT09LTEpcmV0dXJuIHRoaXM7dC5waXBlcy5zcGxpY2UobywxKTt0LnBpcGVzQ291bnQtPTE7aWYodC5waXBlc0NvdW50PT09MSl0LnBpcGVzPXQucGlwZXNbMF07ZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKTtyZXR1cm4gdGhpc307UmVhZGFibGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9by5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCk7dmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZTtpZihlPT09XCJkYXRhXCIpe24ucmVhZGFibGVMaXN0ZW5pbmc9dGhpcy5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MDtpZihuLmZsb3dpbmchPT1mYWxzZSl0aGlzLnJlc3VtZSgpfWVsc2UgaWYoZT09PVwicmVhZGFibGVcIil7aWYoIW4uZW5kRW1pdHRlZCYmIW4ucmVhZGFibGVMaXN0ZW5pbmcpe24ucmVhZGFibGVMaXN0ZW5pbmc9bi5uZWVkUmVhZGFibGU9dHJ1ZTtuLmZsb3dpbmc9ZmFsc2U7bi5lbWl0dGVkUmVhZGFibGU9ZmFsc2U7dShcIm9uIHJlYWRhYmxlXCIsbi5sZW5ndGgsbi5yZWFkaW5nKTtpZihuLmxlbmd0aCl7ZW1pdFJlYWRhYmxlKHRoaXMpfWVsc2UgaWYoIW4ucmVhZGluZyl7cHJvY2Vzcy5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLHRoaXMpfX19cmV0dXJuIHJ9O1JlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1SZWFkYWJsZS5wcm90b3R5cGUub247UmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9by5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLGUsdCk7aWYoZT09PVwicmVhZGFibGVcIil7cHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKX1yZXR1cm4gcn07UmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1vLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGU9PT1cInJlYWRhYmxlXCJ8fGU9PT11bmRlZmluZWQpe3Byb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsdGhpcyl9cmV0dXJuIHR9O2Z1bmN0aW9uIHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dC5yZWFkYWJsZUxpc3RlbmluZz1lLmxpc3RlbmVyQ291bnQoXCJyZWFkYWJsZVwiKT4wO2lmKHQucmVzdW1lU2NoZWR1bGVkJiYhdC5wYXVzZWQpe3QuZmxvd2luZz10cnVlfWVsc2UgaWYoZS5saXN0ZW5lckNvdW50KFwiZGF0YVwiKT4wKXtlLnJlc3VtZSgpfX1mdW5jdGlvbiBuUmVhZGluZ05leHRUaWNrKGUpe3UoXCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDBcIik7ZS5yZWFkKDApfVJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlO2lmKCFlLmZsb3dpbmcpe3UoXCJyZXN1bWVcIik7ZS5mbG93aW5nPSFlLnJlYWRhYmxlTGlzdGVuaW5nO3Jlc3VtZSh0aGlzLGUpfWUucGF1c2VkPWZhbHNlO3JldHVybiB0aGlzfTtmdW5jdGlvbiByZXN1bWUoZSx0KXtpZighdC5yZXN1bWVTY2hlZHVsZWQpe3QucmVzdW1lU2NoZWR1bGVkPXRydWU7cHJvY2Vzcy5uZXh0VGljayhyZXN1bWVfLGUsdCl9fWZ1bmN0aW9uIHJlc3VtZV8oZSx0KXt1KFwicmVzdW1lXCIsdC5yZWFkaW5nKTtpZighdC5yZWFkaW5nKXtlLnJlYWQoMCl9dC5yZXN1bWVTY2hlZHVsZWQ9ZmFsc2U7ZS5lbWl0KFwicmVzdW1lXCIpO2Zsb3coZSk7aWYodC5mbG93aW5nJiYhdC5yZWFkaW5nKWUucmVhZCgwKX1SZWFkYWJsZS5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXt1KFwiY2FsbCBwYXVzZSBmbG93aW5nPSVqXCIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKTtpZih0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmchPT1mYWxzZSl7dShcInBhdXNlXCIpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz1mYWxzZTt0aGlzLmVtaXQoXCJwYXVzZVwiKX10aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZD10cnVlO3JldHVybiB0aGlzfTtmdW5jdGlvbiBmbG93KGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcImZsb3dcIix0LmZsb3dpbmcpO3doaWxlKHQuZmxvd2luZyYmZS5yZWFkKCkhPT1udWxsKXt9fVJlYWRhYmxlLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dmFyIHI9dGhpcy5fcmVhZGFibGVTdGF0ZTt2YXIgbj1mYWxzZTtlLm9uKFwiZW5kXCIsKGZ1bmN0aW9uKCl7dShcIndyYXBwZWQgZW5kXCIpO2lmKHIuZGVjb2RlciYmIXIuZW5kZWQpe3ZhciBlPXIuZGVjb2Rlci5lbmQoKTtpZihlJiZlLmxlbmd0aCl0LnB1c2goZSl9dC5wdXNoKG51bGwpfSkpO2Uub24oXCJkYXRhXCIsKGZ1bmN0aW9uKGkpe3UoXCJ3cmFwcGVkIGRhdGFcIik7aWYoci5kZWNvZGVyKWk9ci5kZWNvZGVyLndyaXRlKGkpO2lmKHIub2JqZWN0TW9kZSYmKGk9PT1udWxsfHxpPT09dW5kZWZpbmVkKSlyZXR1cm47ZWxzZSBpZighci5vYmplY3RNb2RlJiYoIWl8fCFpLmxlbmd0aCkpcmV0dXJuO3ZhciBhPXQucHVzaChpKTtpZighYSl7bj10cnVlO2UucGF1c2UoKX19KSk7Zm9yKHZhciBpIGluIGUpe2lmKHRoaXNbaV09PT11bmRlZmluZWQmJnR5cGVvZiBlW2ldPT09XCJmdW5jdGlvblwiKXt0aGlzW2ldPWZ1bmN0aW9uIG1ldGhvZFdyYXAodCl7cmV0dXJuIGZ1bmN0aW9uIG1ldGhvZFdyYXBSZXR1cm5GdW5jdGlvbigpe3JldHVybiBlW3RdLmFwcGx5KGUsYXJndW1lbnRzKX19KGkpfX1mb3IodmFyIGE9MDthPEUubGVuZ3RoO2ErKyl7ZS5vbihFW2FdLHRoaXMuZW1pdC5iaW5kKHRoaXMsRVthXSkpfXRoaXMuX3JlYWQ9ZnVuY3Rpb24odCl7dShcIndyYXBwZWQgX3JlYWRcIix0KTtpZihuKXtuPWZhbHNlO2UucmVzdW1lKCl9fTtyZXR1cm4gdGhpc307aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIil7UmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe2lmKG09PT11bmRlZmluZWQpe209cig4NzEpfXJldHVybiBtKHRoaXMpfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVGbG93aW5nXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHNldDpmdW5jdGlvbiBzZXQoZSl7aWYodGhpcy5fcmVhZGFibGVTdGF0ZSl7dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPWV9fX0pO1JlYWRhYmxlLl9mcm9tTGlzdD1mcm9tTGlzdDtPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pO2Z1bmN0aW9uIGZyb21MaXN0KGUsdCl7aWYodC5sZW5ndGg9PT0wKXJldHVybiBudWxsO3ZhciByO2lmKHQub2JqZWN0TW9kZSlyPXQuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZighZXx8ZT49dC5sZW5ndGgpe2lmKHQuZGVjb2RlcilyPXQuYnVmZmVyLmpvaW4oXCJcIik7ZWxzZSBpZih0LmJ1ZmZlci5sZW5ndGg9PT0xKXI9dC5idWZmZXIuZmlyc3QoKTtlbHNlIHI9dC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKTt0LmJ1ZmZlci5jbGVhcigpfWVsc2V7cj10LmJ1ZmZlci5jb25zdW1lKGUsdC5kZWNvZGVyKX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3UoXCJlbmRSZWFkYWJsZVwiLHQuZW5kRW1pdHRlZCk7aWYoIXQuZW5kRW1pdHRlZCl7dC5lbmRlZD10cnVlO3Byb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCx0LGUpfX1mdW5jdGlvbiBlbmRSZWFkYWJsZU5UKGUsdCl7dShcImVuZFJlYWRhYmxlTlRcIixlLmVuZEVtaXR0ZWQsZS5sZW5ndGgpO2lmKCFlLmVuZEVtaXR0ZWQmJmUubGVuZ3RoPT09MCl7ZS5lbmRFbWl0dGVkPXRydWU7dC5yZWFkYWJsZT1mYWxzZTt0LmVtaXQoXCJlbmRcIik7aWYoZS5hdXRvRGVzdHJveSl7dmFyIHI9dC5fd3JpdGFibGVTdGF0ZTtpZighcnx8ci5hdXRvRGVzdHJveSYmci5maW5pc2hlZCl7dC5kZXN0cm95KCl9fX19aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIil7UmVhZGFibGUuZnJvbT1mdW5jdGlvbihlLHQpe2lmKFM9PT11bmRlZmluZWQpe1M9cig3MjcpfXJldHVybiBTKFJlYWRhYmxlLGUsdCl9fWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxuPWUubGVuZ3RoO3I8bjtyKyspe2lmKGVbcl09PT10KXJldHVybiByfXJldHVybi0xfX0sMTcwOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9VHJhbnNmb3JtO3ZhciBuPXIoNjQ2KS5xLGk9bi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxhPW4uRVJSX01VTFRJUExFX0NBTExCQUNLLG89bi5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLHM9bi5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7dmFyIGY9cig0MDMpO3IoNzgyKShUcmFuc2Zvcm0sZik7ZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZSx0KXt2YXIgcj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtyLnRyYW5zZm9ybWluZz1mYWxzZTt2YXIgbj1yLndyaXRlY2I7aWYobj09PW51bGwpe3JldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLG5ldyBhKX1yLndyaXRlY2h1bms9bnVsbDtyLndyaXRlY2I9bnVsbDtpZih0IT1udWxsKXRoaXMucHVzaCh0KTtuKGUpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPWZhbHNlO2lmKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspe3RoaXMuX3JlYWQoaS5oaWdoV2F0ZXJNYXJrKX19ZnVuY3Rpb24gVHJhbnNmb3JtKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpcmV0dXJuIG5ldyBUcmFuc2Zvcm0oZSk7Zi5jYWxsKHRoaXMsZSk7dGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTpmYWxzZSx0cmFuc2Zvcm1pbmc6ZmFsc2Usd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9O3RoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPXRydWU7dGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPWZhbHNlO2lmKGUpe2lmKHR5cGVvZiBlLnRyYW5zZm9ybT09PVwiZnVuY3Rpb25cIil0aGlzLl90cmFuc2Zvcm09ZS50cmFuc2Zvcm07aWYodHlwZW9mIGUuZmx1c2g9PT1cImZ1bmN0aW9uXCIpdGhpcy5fZmx1c2g9ZS5mbHVzaH10aGlzLm9uKFwicHJlZmluaXNoXCIscHJlZmluaXNoKX1mdW5jdGlvbiBwcmVmaW5pc2goKXt2YXIgZT10aGlzO2lmKHR5cGVvZiB0aGlzLl9mbHVzaD09PVwiZnVuY3Rpb25cIiYmIXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkKXt0aGlzLl9mbHVzaCgoZnVuY3Rpb24odCxyKXtkb25lKGUsdCxyKX0pKX1lbHNle2RvbmUodGhpcyxudWxsLG51bGwpfX1UcmFuc2Zvcm0ucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPWZhbHNlO3JldHVybiBmLnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyxlLHQpfTtUcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3IobmV3IGkoXCJfdHJhbnNmb3JtKClcIikpfTtUcmFuc2Zvcm0ucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7bi53cml0ZWNiPXI7bi53cml0ZWNodW5rPWU7bi53cml0ZWVuY29kaW5nPXQ7aWYoIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlO2lmKG4ubmVlZFRyYW5zZm9ybXx8aS5uZWVkUmVhZGFibGV8fGkubGVuZ3RoPGkuaGlnaFdhdGVyTWFyayl0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fTtUcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKHQud3JpdGVjaHVuayE9PW51bGwmJiF0LnRyYW5zZm9ybWluZyl7dC50cmFuc2Zvcm1pbmc9dHJ1ZTt0aGlzLl90cmFuc2Zvcm0odC53cml0ZWNodW5rLHQud3JpdGVlbmNvZGluZyx0LmFmdGVyVHJhbnNmb3JtKX1lbHNle3QubmVlZFRyYW5zZm9ybT10cnVlfX07VHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe2YucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxlLChmdW5jdGlvbihlKXt0KGUpfSkpfTtmdW5jdGlvbiBkb25lKGUsdCxyKXtpZih0KXJldHVybiBlLmVtaXQoXCJlcnJvclwiLHQpO2lmKHIhPW51bGwpZS5wdXNoKHIpO2lmKGUuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBzO2lmKGUuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgbztyZXR1cm4gZS5wdXNoKG51bGwpfX0sMzM3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9V3JpdGFibGU7ZnVuY3Rpb24gV3JpdGVSZXEoZSx0LHIpe3RoaXMuY2h1bms9ZTt0aGlzLmVuY29kaW5nPXQ7dGhpcy5jYWxsYmFjaz1yO3RoaXMubmV4dD1udWxsfWZ1bmN0aW9uIENvcmtlZFJlcXVlc3QoZSl7dmFyIHQ9dGhpczt0aGlzLm5leHQ9bnVsbDt0aGlzLmVudHJ5PW51bGw7dGhpcy5maW5pc2g9ZnVuY3Rpb24oKXtvbkNvcmtlZEZpbmlzaCh0LGUpfX12YXIgbjtXcml0YWJsZS5Xcml0YWJsZVN0YXRlPVdyaXRhYmxlU3RhdGU7dmFyIGk9e2RlcHJlY2F0ZTpyKDc2OSl9O3ZhciBhPXIoNjc4KTt2YXIgbz1yKDMwMCkuQnVmZmVyO3ZhciBzPWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gby5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIG8uaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBzfXZhciBmPXIoMjUpO3ZhciBsPXIoNzc2KSx1PWwuZ2V0SGlnaFdhdGVyTWFyazt2YXIgZD1yKDY0NikucSxjPWQuRVJSX0lOVkFMSURfQVJHX1RZUEUsaD1kLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELHA9ZC5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssYj1kLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUsZz1kLkVSUl9TVFJFQU1fREVTVFJPWUVELHk9ZC5FUlJfU1RSRUFNX05VTExfVkFMVUVTLF89ZC5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCx2PWQuRVJSX1VOS05PV05fRU5DT0RJTkc7dmFyIHc9Zi5lcnJvck9yRGVzdHJveTtyKDc4MikoV3JpdGFibGUsYSk7ZnVuY3Rpb24gbm9wKCl7fWZ1bmN0aW9uIFdyaXRhYmxlU3RhdGUoZSx0LGkpe249bnx8cig0MDMpO2U9ZXx8e307aWYodHlwZW9mIGkhPT1cImJvb2xlYW5cIilpPXQgaW5zdGFuY2VvZiBuO3RoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZTtpZihpKXRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS53cml0YWJsZU9iamVjdE1vZGU7dGhpcy5oaWdoV2F0ZXJNYXJrPXUodGhpcyxlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIsaSk7dGhpcy5maW5hbENhbGxlZD1mYWxzZTt0aGlzLm5lZWREcmFpbj1mYWxzZTt0aGlzLmVuZGluZz1mYWxzZTt0aGlzLmVuZGVkPWZhbHNlO3RoaXMuZmluaXNoZWQ9ZmFsc2U7dGhpcy5kZXN0cm95ZWQ9ZmFsc2U7dmFyIGE9ZS5kZWNvZGVTdHJpbmdzPT09ZmFsc2U7dGhpcy5kZWNvZGVTdHJpbmdzPSFhO3RoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIjt0aGlzLmxlbmd0aD0wO3RoaXMud3JpdGluZz1mYWxzZTt0aGlzLmNvcmtlZD0wO3RoaXMuc3luYz10cnVlO3RoaXMuYnVmZmVyUHJvY2Vzc2luZz1mYWxzZTt0aGlzLm9ud3JpdGU9ZnVuY3Rpb24oZSl7b253cml0ZSh0LGUpfTt0aGlzLndyaXRlY2I9bnVsbDt0aGlzLndyaXRlbGVuPTA7dGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbDt0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbDt0aGlzLnBlbmRpbmdjYj0wO3RoaXMucHJlZmluaXNoZWQ9ZmFsc2U7dGhpcy5lcnJvckVtaXR0ZWQ9ZmFsc2U7dGhpcy5lbWl0Q2xvc2U9ZS5lbWl0Q2xvc2UhPT1mYWxzZTt0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveTt0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTA7dGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodGhpcyl9V3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uIGdldEJ1ZmZlcigpe3ZhciBlPXRoaXMuYnVmZmVyZWRSZXF1ZXN0O3ZhciB0PVtdO3doaWxlKGUpe3QucHVzaChlKTtlPWUubmV4dH1yZXR1cm4gdH07KGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSxcImJ1ZmZlclwiLHtnZXQ6aS5kZXByZWNhdGUoKGZ1bmN0aW9uIHdyaXRhYmxlU3RhdGVCdWZmZXJHZXR0ZXIoKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0pLFwiX3dyaXRhYmxlU3RhdGUuYnVmZmVyIGlzIGRlcHJlY2F0ZWQuIFVzZSBfd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIgXCIrXCJpbnN0ZWFkLlwiLFwiREVQMDAwM1wiKX0pfWNhdGNoKGUpe319KSgpO3ZhciBtO2lmKHR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJlN5bWJvbC5oYXNJbnN0YW5jZSYmdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdPT09XCJmdW5jdGlvblwiKXttPUZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdO09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uIHZhbHVlKGUpe2lmKG0uY2FsbCh0aGlzLGUpKXJldHVybiB0cnVlO2lmKHRoaXMhPT1Xcml0YWJsZSlyZXR1cm4gZmFsc2U7cmV0dXJuIGUmJmUuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBXcml0YWJsZVN0YXRlfX0pfWVsc2V7bT1mdW5jdGlvbiByZWFsSGFzSW5zdGFuY2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzfX1mdW5jdGlvbiBXcml0YWJsZShlKXtuPW58fHIoNDAzKTt2YXIgdD10aGlzIGluc3RhbmNlb2YgbjtpZighdCYmIW0uY2FsbChXcml0YWJsZSx0aGlzKSlyZXR1cm4gbmV3IFdyaXRhYmxlKGUpO3RoaXMuX3dyaXRhYmxlU3RhdGU9bmV3IFdyaXRhYmxlU3RhdGUoZSx0aGlzLHQpO3RoaXMud3JpdGFibGU9dHJ1ZTtpZihlKXtpZih0eXBlb2YgZS53cml0ZT09PVwiZnVuY3Rpb25cIil0aGlzLl93cml0ZT1lLndyaXRlO2lmKHR5cGVvZiBlLndyaXRldj09PVwiZnVuY3Rpb25cIil0aGlzLl93cml0ZXY9ZS53cml0ZXY7aWYodHlwZW9mIGUuZGVzdHJveT09PVwiZnVuY3Rpb25cIil0aGlzLl9kZXN0cm95PWUuZGVzdHJveTtpZih0eXBlb2YgZS5maW5hbD09PVwiZnVuY3Rpb25cIil0aGlzLl9maW5hbD1lLmZpbmFsfWEuY2FsbCh0aGlzKX1Xcml0YWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe3codGhpcyxuZXcgYil9O2Z1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoZSx0KXt2YXIgcj1uZXcgXzt3KGUscik7cHJvY2Vzcy5uZXh0VGljayh0LHIpfWZ1bmN0aW9uIHZhbGlkQ2h1bmsoZSx0LHIsbil7dmFyIGk7aWYocj09PW51bGwpe2k9bmV3IHl9ZWxzZSBpZih0eXBlb2YgciE9PVwic3RyaW5nXCImJiF0Lm9iamVjdE1vZGUpe2k9bmV3IGMoXCJjaHVua1wiLFtcInN0cmluZ1wiLFwiQnVmZmVyXCJdLHIpfWlmKGkpe3coZSxpKTtwcm9jZXNzLm5leHRUaWNrKG4saSk7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfVdyaXRhYmxlLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fd3JpdGFibGVTdGF0ZTt2YXIgaT1mYWxzZTt2YXIgYT0hbi5vYmplY3RNb2RlJiZfaXNVaW50OEFycmF5KGUpO2lmKGEmJiFvLmlzQnVmZmVyKGUpKXtlPV91aW50OEFycmF5VG9CdWZmZXIoZSl9aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe3I9dDt0PW51bGx9aWYoYSl0PVwiYnVmZmVyXCI7ZWxzZSBpZighdCl0PW4uZGVmYXVsdEVuY29kaW5nO2lmKHR5cGVvZiByIT09XCJmdW5jdGlvblwiKXI9bm9wO2lmKG4uZW5kaW5nKXdyaXRlQWZ0ZXJFbmQodGhpcyxyKTtlbHNlIGlmKGF8fHZhbGlkQ2h1bmsodGhpcyxuLGUscikpe24ucGVuZGluZ2NiKys7aT13cml0ZU9yQnVmZmVyKHRoaXMsbixhLGUsdCxyKX1yZXR1cm4gaX07V3JpdGFibGUucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfTtXcml0YWJsZS5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fd3JpdGFibGVTdGF0ZTtpZihlLmNvcmtlZCl7ZS5jb3JrZWQtLTtpZighZS53cml0aW5nJiYhZS5jb3JrZWQmJiFlLmJ1ZmZlclByb2Nlc3NpbmcmJmUuYnVmZmVyZWRSZXF1ZXN0KWNsZWFyQnVmZmVyKHRoaXMsZSl9fTtXcml0YWJsZS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uIHNldERlZmF1bHRFbmNvZGluZyhlKXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpZT1lLnRvTG93ZXJDYXNlKCk7aWYoIShbXCJoZXhcIixcInV0ZjhcIixcInV0Zi04XCIsXCJhc2NpaVwiLFwiYmluYXJ5XCIsXCJiYXNlNjRcIixcInVjczJcIixcInVjcy0yXCIsXCJ1dGYxNmxlXCIsXCJ1dGYtMTZsZVwiLFwicmF3XCJdLmluZGV4T2YoKGUrXCJcIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyB2KGUpO3RoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPWU7cmV0dXJuIHRoaXN9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KTtmdW5jdGlvbiBkZWNvZGVDaHVuayhlLHQscil7aWYoIWUub2JqZWN0TW9kZSYmZS5kZWNvZGVTdHJpbmdzIT09ZmFsc2UmJnR5cGVvZiB0PT09XCJzdHJpbmdcIil7dD1vLmZyb20odCxyKX1yZXR1cm4gdH1PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSk7ZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihlLHQscixuLGksYSl7aWYoIXIpe3ZhciBvPWRlY29kZUNodW5rKHQsbixpKTtpZihuIT09byl7cj10cnVlO2k9XCJidWZmZXJcIjtuPW99fXZhciBzPXQub2JqZWN0TW9kZT8xOm4ubGVuZ3RoO3QubGVuZ3RoKz1zO3ZhciBmPXQubGVuZ3RoPHQuaGlnaFdhdGVyTWFyaztpZighZil0Lm5lZWREcmFpbj10cnVlO2lmKHQud3JpdGluZ3x8dC5jb3JrZWQpe3ZhciBsPXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDt0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOm4sZW5jb2Rpbmc6aSxpc0J1ZjpyLGNhbGxiYWNrOmEsbmV4dDpudWxsfTtpZihsKXtsLm5leHQ9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0fWVsc2V7dC5idWZmZXJlZFJlcXVlc3Q9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0fXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZXtkb1dyaXRlKGUsdCxmYWxzZSxzLG4saSxhKX1yZXR1cm4gZn1mdW5jdGlvbiBkb1dyaXRlKGUsdCxyLG4saSxhLG8pe3Qud3JpdGVsZW49bjt0LndyaXRlY2I9bzt0LndyaXRpbmc9dHJ1ZTt0LnN5bmM9dHJ1ZTtpZih0LmRlc3Ryb3llZCl0Lm9ud3JpdGUobmV3IGcoXCJ3cml0ZVwiKSk7ZWxzZSBpZihyKWUuX3dyaXRldihpLHQub253cml0ZSk7ZWxzZSBlLl93cml0ZShpLGEsdC5vbndyaXRlKTt0LnN5bmM9ZmFsc2V9ZnVuY3Rpb24gb253cml0ZUVycm9yKGUsdCxyLG4saSl7LS10LnBlbmRpbmdjYjtpZihyKXtwcm9jZXNzLm5leHRUaWNrKGksbik7cHJvY2Vzcy5uZXh0VGljayhmaW5pc2hNYXliZSxlLHQpO2UuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPXRydWU7dyhlLG4pfWVsc2V7aShuKTtlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD10cnVlO3coZSxuKTtmaW5pc2hNYXliZShlLHQpfX1mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoZSl7ZS53cml0aW5nPWZhbHNlO2Uud3JpdGVjYj1udWxsO2UubGVuZ3RoLT1lLndyaXRlbGVuO2Uud3JpdGVsZW49MH1mdW5jdGlvbiBvbndyaXRlKGUsdCl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZTt2YXIgbj1yLnN5bmM7dmFyIGk9ci53cml0ZWNiO2lmKHR5cGVvZiBpIT09XCJmdW5jdGlvblwiKXRocm93IG5ldyBwO29ud3JpdGVTdGF0ZVVwZGF0ZShyKTtpZih0KW9ud3JpdGVFcnJvcihlLHIsbix0LGkpO2Vsc2V7dmFyIGE9bmVlZEZpbmlzaChyKXx8ZS5kZXN0cm95ZWQ7aWYoIWEmJiFyLmNvcmtlZCYmIXIuYnVmZmVyUHJvY2Vzc2luZyYmci5idWZmZXJlZFJlcXVlc3Qpe2NsZWFyQnVmZmVyKGUscil9aWYobil7cHJvY2Vzcy5uZXh0VGljayhhZnRlcldyaXRlLGUscixhLGkpfWVsc2V7YWZ0ZXJXcml0ZShlLHIsYSxpKX19fWZ1bmN0aW9uIGFmdGVyV3JpdGUoZSx0LHIsbil7aWYoIXIpb253cml0ZURyYWluKGUsdCk7dC5wZW5kaW5nY2ItLTtuKCk7ZmluaXNoTWF5YmUoZSx0KX1mdW5jdGlvbiBvbndyaXRlRHJhaW4oZSx0KXtpZih0Lmxlbmd0aD09PTAmJnQubmVlZERyYWluKXt0Lm5lZWREcmFpbj1mYWxzZTtlLmVtaXQoXCJkcmFpblwiKX19ZnVuY3Rpb24gY2xlYXJCdWZmZXIoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9dHJ1ZTt2YXIgcj10LmJ1ZmZlcmVkUmVxdWVzdDtpZihlLl93cml0ZXYmJnImJnIubmV4dCl7dmFyIG49dC5idWZmZXJlZFJlcXVlc3RDb3VudDt2YXIgaT1uZXcgQXJyYXkobik7dmFyIGE9dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7YS5lbnRyeT1yO3ZhciBvPTA7dmFyIHM9dHJ1ZTt3aGlsZShyKXtpW29dPXI7aWYoIXIuaXNCdWYpcz1mYWxzZTtyPXIubmV4dDtvKz0xfWkuYWxsQnVmZmVycz1zO2RvV3JpdGUoZSx0LHRydWUsdC5sZW5ndGgsaSxcIlwiLGEuZmluaXNoKTt0LnBlbmRpbmdjYisrO3QubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsO2lmKGEubmV4dCl7dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9YS5uZXh0O2EubmV4dD1udWxsfWVsc2V7dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodCl9dC5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7d2hpbGUocil7dmFyIGY9ci5jaHVuazt2YXIgbD1yLmVuY29kaW5nO3ZhciB1PXIuY2FsbGJhY2s7dmFyIGQ9dC5vYmplY3RNb2RlPzE6Zi5sZW5ndGg7ZG9Xcml0ZShlLHQsZmFsc2UsZCxmLGwsdSk7cj1yLm5leHQ7dC5idWZmZXJlZFJlcXVlc3RDb3VudC0tO2lmKHQud3JpdGluZyl7YnJlYWt9fWlmKHI9PT1udWxsKXQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsfXQuYnVmZmVyZWRSZXF1ZXN0PXI7dC5idWZmZXJQcm9jZXNzaW5nPWZhbHNlfVdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3IobmV3IGgoXCJfd3JpdGUoKVwiKSl9O1dyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGV2PW51bGw7V3JpdGFibGUucHJvdG90eXBlLmVuZD1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fd3JpdGFibGVTdGF0ZTtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cIil7cj1lO2U9bnVsbDt0PW51bGx9ZWxzZSBpZih0eXBlb2YgdD09PVwiZnVuY3Rpb25cIil7cj10O3Q9bnVsbH1pZihlIT09bnVsbCYmZSE9PXVuZGVmaW5lZCl0aGlzLndyaXRlKGUsdCk7aWYobi5jb3JrZWQpe24uY29ya2VkPTE7dGhpcy51bmNvcmsoKX1pZighbi5lbmRpbmcpZW5kV3JpdGFibGUodGhpcyxuLHIpO3JldHVybiB0aGlzfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pO2Z1bmN0aW9uIG5lZWRGaW5pc2goZSl7cmV0dXJuIGUuZW5kaW5nJiZlLmxlbmd0aD09PTAmJmUuYnVmZmVyZWRSZXF1ZXN0PT09bnVsbCYmIWUuZmluaXNoZWQmJiFlLndyaXRpbmd9ZnVuY3Rpb24gY2FsbEZpbmFsKGUsdCl7ZS5fZmluYWwoKGZ1bmN0aW9uKHIpe3QucGVuZGluZ2NiLS07aWYocil7dyhlLHIpfXQucHJlZmluaXNoZWQ9dHJ1ZTtlLmVtaXQoXCJwcmVmaW5pc2hcIik7ZmluaXNoTWF5YmUoZSx0KX0pKX1mdW5jdGlvbiBwcmVmaW5pc2goZSx0KXtpZighdC5wcmVmaW5pc2hlZCYmIXQuZmluYWxDYWxsZWQpe2lmKHR5cGVvZiBlLl9maW5hbD09PVwiZnVuY3Rpb25cIiYmIXQuZGVzdHJveWVkKXt0LnBlbmRpbmdjYisrO3QuZmluYWxDYWxsZWQ9dHJ1ZTtwcm9jZXNzLm5leHRUaWNrKGNhbGxGaW5hbCxlLHQpfWVsc2V7dC5wcmVmaW5pc2hlZD10cnVlO2UuZW1pdChcInByZWZpbmlzaFwiKX19fWZ1bmN0aW9uIGZpbmlzaE1heWJlKGUsdCl7dmFyIHI9bmVlZEZpbmlzaCh0KTtpZihyKXtwcmVmaW5pc2goZSx0KTtpZih0LnBlbmRpbmdjYj09PTApe3QuZmluaXNoZWQ9dHJ1ZTtlLmVtaXQoXCJmaW5pc2hcIik7aWYodC5hdXRvRGVzdHJveSl7dmFyIG49ZS5fcmVhZGFibGVTdGF0ZTtpZighbnx8bi5hdXRvRGVzdHJveSYmbi5lbmRFbWl0dGVkKXtlLmRlc3Ryb3koKX19fX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRXcml0YWJsZShlLHQscil7dC5lbmRpbmc9dHJ1ZTtmaW5pc2hNYXliZShlLHQpO2lmKHIpe2lmKHQuZmluaXNoZWQpcHJvY2Vzcy5uZXh0VGljayhyKTtlbHNlIGUub25jZShcImZpbmlzaFwiLHIpfXQuZW5kZWQ9dHJ1ZTtlLndyaXRhYmxlPWZhbHNlfWZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGUsdCxyKXt2YXIgbj1lLmVudHJ5O2UuZW50cnk9bnVsbDt3aGlsZShuKXt2YXIgaT1uLmNhbGxiYWNrO3QucGVuZGluZ2NiLS07aShyKTtuPW4ubmV4dH10LmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PWV9T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl93cml0YWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKCF0aGlzLl93cml0YWJsZVN0YXRlKXtyZXR1cm59dGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZX19KTtXcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveT1mLmRlc3Ryb3k7V3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9Zi51bmRlc3Ryb3k7V3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX19LDg3MTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG47ZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsdCxyKXtpZih0IGluIGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOnIsZW51bWVyYWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWV9KX1lbHNle2VbdF09cn1yZXR1cm4gZX12YXIgaT1yKDY5OCk7dmFyIGE9U3ltYm9sKFwibGFzdFJlc29sdmVcIik7dmFyIG89U3ltYm9sKFwibGFzdFJlamVjdFwiKTt2YXIgcz1TeW1ib2woXCJlcnJvclwiKTt2YXIgZj1TeW1ib2woXCJlbmRlZFwiKTt2YXIgbD1TeW1ib2woXCJsYXN0UHJvbWlzZVwiKTt2YXIgdT1TeW1ib2woXCJoYW5kbGVQcm9taXNlXCIpO3ZhciBkPVN5bWJvbChcInN0cmVhbVwiKTtmdW5jdGlvbiBjcmVhdGVJdGVyUmVzdWx0KGUsdCl7cmV0dXJue3ZhbHVlOmUsZG9uZTp0fX1mdW5jdGlvbiByZWFkQW5kUmVzb2x2ZShlKXt2YXIgdD1lW2FdO2lmKHQhPT1udWxsKXt2YXIgcj1lW2RdLnJlYWQoKTtpZihyIT09bnVsbCl7ZVtsXT1udWxsO2VbYV09bnVsbDtlW29dPW51bGw7dChjcmVhdGVJdGVyUmVzdWx0KHIsZmFsc2UpKX19fWZ1bmN0aW9uIG9uUmVhZGFibGUoZSl7cHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSxlKX1mdW5jdGlvbiB3cmFwRm9yTmV4dChlLHQpe3JldHVybiBmdW5jdGlvbihyLG4pe2UudGhlbigoZnVuY3Rpb24oKXtpZih0W2ZdKXtyKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLHRydWUpKTtyZXR1cm59dFt1XShyLG4pfSksbil9fXZhciBjPU9iamVjdC5nZXRQcm90b3R5cGVPZigoZnVuY3Rpb24oKXt9KSk7dmFyIGg9T2JqZWN0LnNldFByb3RvdHlwZU9mKChuPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNbZF19LG5leHQ6ZnVuY3Rpb24gbmV4dCgpe3ZhciBlPXRoaXM7dmFyIHQ9dGhpc1tzXTtpZih0IT09bnVsbCl7cmV0dXJuIFByb21pc2UucmVqZWN0KHQpfWlmKHRoaXNbZl0pe3JldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsdHJ1ZSkpfWlmKHRoaXNbZF0uZGVzdHJveWVkKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQscil7cHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXtpZihlW3NdKXtyKGVbc10pfWVsc2V7dChjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCx0cnVlKSl9fSkpfSkpfXZhciByPXRoaXNbbF07dmFyIG47aWYocil7bj1uZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChyLHRoaXMpKX1lbHNle3ZhciBpPXRoaXNbZF0ucmVhZCgpO2lmKGkhPT1udWxsKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoaSxmYWxzZSkpfW49bmV3IFByb21pc2UodGhpc1t1XSl9dGhpc1tsXT1uO3JldHVybiBufX0sX2RlZmluZVByb3BlcnR5KG4sU3ltYm9sLmFzeW5jSXRlcmF0b3IsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksX2RlZmluZVByb3BlcnR5KG4sXCJyZXR1cm5cIiwoZnVuY3Rpb24gX3JldHVybigpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe2VbZF0uZGVzdHJveShudWxsLChmdW5jdGlvbihlKXtpZihlKXtyKGUpO3JldHVybn10KGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLHRydWUpKX0pKX0pKX0pKSxuKSxjKTt2YXIgcD1mdW5jdGlvbiBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IoZSl7dmFyIHQ7dmFyIHI9T2JqZWN0LmNyZWF0ZShoLCh0PXt9LF9kZWZpbmVQcm9wZXJ0eSh0LGQse3ZhbHVlOmUsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LGEse3ZhbHVlOm51bGwsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LG8se3ZhbHVlOm51bGwsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LHMse3ZhbHVlOm51bGwsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LGYse3ZhbHVlOmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCx3cml0YWJsZTp0cnVlfSksX2RlZmluZVByb3BlcnR5KHQsdSx7dmFsdWU6ZnVuY3Rpb24gdmFsdWUoZSx0KXt2YXIgbj1yW2RdLnJlYWQoKTtpZihuKXtyW2xdPW51bGw7clthXT1udWxsO3Jbb109bnVsbDtlKGNyZWF0ZUl0ZXJSZXN1bHQobixmYWxzZSkpfWVsc2V7clthXT1lO3Jbb109dH19LHdyaXRhYmxlOnRydWV9KSx0KSk7cltsXT1udWxsO2koZSwoZnVuY3Rpb24oZSl7aWYoZSYmZS5jb2RlIT09XCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiKXt2YXIgdD1yW29dO2lmKHQhPT1udWxsKXtyW2xdPW51bGw7clthXT1udWxsO3Jbb109bnVsbDt0KGUpfXJbc109ZTtyZXR1cm59dmFyIG49clthXTtpZihuIT09bnVsbCl7cltsXT1udWxsO3JbYV09bnVsbDtyW29dPW51bGw7bihjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCx0cnVlKSl9cltmXT10cnVlfSkpO2Uub24oXCJyZWFkYWJsZVwiLG9uUmVhZGFibGUuYmluZChudWxsLHIpKTtyZXR1cm4gcn07ZS5leHBvcnRzPXB9LDM3OTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aWYodCluPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSk7ci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF0hPW51bGw/YXJndW1lbnRzW3RdOnt9O2lmKHQlMil7b3duS2V5cyhPYmplY3QociksdHJ1ZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxyW3RdKX0pKX1lbHNlIGlmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKXtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKX1lbHNle293bktleXMoT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iocix0KSl9KSl9fXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7aWYodCBpbiBlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9cmV0dXJuIGV9ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9fWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKGUsdCl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXRbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ZmFsc2U7bi5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBuKW4ud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLmtleSxuKX19ZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKGUsdCxyKXtpZih0KV9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpO2lmKHIpX2RlZmluZVByb3BlcnRpZXMoZSxyKTtyZXR1cm4gZX12YXIgbj1yKDMwMCksaT1uLkJ1ZmZlcjt2YXIgYT1yKDgzNyksbz1hLmluc3BlY3Q7dmFyIHM9byYmby5jdXN0b218fFwiaW5zcGVjdFwiO2Z1bmN0aW9uIGNvcHlCdWZmZXIoZSx0LHIpe2kucHJvdG90eXBlLmNvcHkuY2FsbChlLHQscil9ZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQnVmZmVyTGlzdCgpe19jbGFzc0NhbGxDaGVjayh0aGlzLEJ1ZmZlckxpc3QpO3RoaXMuaGVhZD1udWxsO3RoaXMudGFpbD1udWxsO3RoaXMubGVuZ3RoPTB9X2NyZWF0ZUNsYXNzKEJ1ZmZlckxpc3QsW3trZXk6XCJwdXNoXCIsdmFsdWU6ZnVuY3Rpb24gcHVzaChlKXt2YXIgdD17ZGF0YTplLG5leHQ6bnVsbH07aWYodGhpcy5sZW5ndGg+MCl0aGlzLnRhaWwubmV4dD10O2Vsc2UgdGhpcy5oZWFkPXQ7dGhpcy50YWlsPXQ7Kyt0aGlzLmxlbmd0aH19LHtrZXk6XCJ1bnNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24gdW5zaGlmdChlKXt2YXIgdD17ZGF0YTplLG5leHQ6dGhpcy5oZWFkfTtpZih0aGlzLmxlbmd0aD09PTApdGhpcy50YWlsPXQ7dGhpcy5oZWFkPXQ7Kyt0aGlzLmxlbmd0aH19LHtrZXk6XCJzaGlmdFwiLHZhbHVlOmZ1bmN0aW9uIHNoaWZ0KCl7aWYodGhpcy5sZW5ndGg9PT0wKXJldHVybjt2YXIgZT10aGlzLmhlYWQuZGF0YTtpZih0aGlzLmxlbmd0aD09PTEpdGhpcy5oZWFkPXRoaXMudGFpbD1udWxsO2Vsc2UgdGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0Oy0tdGhpcy5sZW5ndGg7cmV0dXJuIGV9fSx7a2V5OlwiY2xlYXJcIix2YWx1ZTpmdW5jdGlvbiBjbGVhcigpe3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDt0aGlzLmxlbmd0aD0wfX0se2tleTpcImpvaW5cIix2YWx1ZTpmdW5jdGlvbiBqb2luKGUpe2lmKHRoaXMubGVuZ3RoPT09MClyZXR1cm5cIlwiO3ZhciB0PXRoaXMuaGVhZDt2YXIgcj1cIlwiK3QuZGF0YTt3aGlsZSh0PXQubmV4dCl7cis9ZSt0LmRhdGF9cmV0dXJuIHJ9fSx7a2V5OlwiY29uY2F0XCIsdmFsdWU6ZnVuY3Rpb24gY29uY2F0KGUpe2lmKHRoaXMubGVuZ3RoPT09MClyZXR1cm4gaS5hbGxvYygwKTt2YXIgdD1pLmFsbG9jVW5zYWZlKGU+Pj4wKTt2YXIgcj10aGlzLmhlYWQ7dmFyIG49MDt3aGlsZShyKXtjb3B5QnVmZmVyKHIuZGF0YSx0LG4pO24rPXIuZGF0YS5sZW5ndGg7cj1yLm5leHR9cmV0dXJuIHR9fSx7a2V5OlwiY29uc3VtZVwiLHZhbHVlOmZ1bmN0aW9uIGNvbnN1bWUoZSx0KXt2YXIgcjtpZihlPHRoaXMuaGVhZC5kYXRhLmxlbmd0aCl7cj10aGlzLmhlYWQuZGF0YS5zbGljZSgwLGUpO3RoaXMuaGVhZC5kYXRhPXRoaXMuaGVhZC5kYXRhLnNsaWNlKGUpfWVsc2UgaWYoZT09PXRoaXMuaGVhZC5kYXRhLmxlbmd0aCl7cj10aGlzLnNoaWZ0KCl9ZWxzZXtyPXQ/dGhpcy5fZ2V0U3RyaW5nKGUpOnRoaXMuX2dldEJ1ZmZlcihlKX1yZXR1cm4gcn19LHtrZXk6XCJmaXJzdFwiLHZhbHVlOmZ1bmN0aW9uIGZpcnN0KCl7cmV0dXJuIHRoaXMuaGVhZC5kYXRhfX0se2tleTpcIl9nZXRTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbiBfZ2V0U3RyaW5nKGUpe3ZhciB0PXRoaXMuaGVhZDt2YXIgcj0xO3ZhciBuPXQuZGF0YTtlLT1uLmxlbmd0aDt3aGlsZSh0PXQubmV4dCl7dmFyIGk9dC5kYXRhO3ZhciBhPWU+aS5sZW5ndGg/aS5sZW5ndGg6ZTtpZihhPT09aS5sZW5ndGgpbis9aTtlbHNlIG4rPWkuc2xpY2UoMCxlKTtlLT1hO2lmKGU9PT0wKXtpZihhPT09aS5sZW5ndGgpeysrcjtpZih0Lm5leHQpdGhpcy5oZWFkPXQubmV4dDtlbHNlIHRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbH1lbHNle3RoaXMuaGVhZD10O3QuZGF0YT1pLnNsaWNlKGEpfWJyZWFrfSsrcn10aGlzLmxlbmd0aC09cjtyZXR1cm4gbn19LHtrZXk6XCJfZ2V0QnVmZmVyXCIsdmFsdWU6ZnVuY3Rpb24gX2dldEJ1ZmZlcihlKXt2YXIgdD1pLmFsbG9jVW5zYWZlKGUpO3ZhciByPXRoaXMuaGVhZDt2YXIgbj0xO3IuZGF0YS5jb3B5KHQpO2UtPXIuZGF0YS5sZW5ndGg7d2hpbGUocj1yLm5leHQpe3ZhciBhPXIuZGF0YTt2YXIgbz1lPmEubGVuZ3RoP2EubGVuZ3RoOmU7YS5jb3B5KHQsdC5sZW5ndGgtZSwwLG8pO2UtPW87aWYoZT09PTApe2lmKG89PT1hLmxlbmd0aCl7KytuO2lmKHIubmV4dCl0aGlzLmhlYWQ9ci5uZXh0O2Vsc2UgdGhpcy5oZWFkPXRoaXMudGFpbD1udWxsfWVsc2V7dGhpcy5oZWFkPXI7ci5kYXRhPWEuc2xpY2Uobyl9YnJlYWt9KytufXRoaXMubGVuZ3RoLT1uO3JldHVybiB0fX0se2tleTpzLHZhbHVlOmZ1bmN0aW9uIHZhbHVlKGUsdCl7cmV0dXJuIG8odGhpcyxfb2JqZWN0U3ByZWFkKHt9LHQse2RlcHRoOjAsY3VzdG9tSW5zcGVjdDpmYWxzZX0pKX19XSk7cmV0dXJuIEJ1ZmZlckxpc3R9KCl9LDI1OmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGRlc3Ryb3koZSx0KXt2YXIgcj10aGlzO3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO2lmKG58fGkpe2lmKHQpe3QoZSl9ZWxzZSBpZihlKXtpZighdGhpcy5fd3JpdGFibGVTdGF0ZSl7cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLGUpfWVsc2UgaWYoIXRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkKXt0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD10cnVlO3Byb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyxlKX19cmV0dXJuIHRoaXN9aWYodGhpcy5fcmVhZGFibGVTdGF0ZSl7dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dHJ1ZX1pZih0aGlzLl93cml0YWJsZVN0YXRlKXt0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10cnVlfXRoaXMuX2Rlc3Ryb3koZXx8bnVsbCwoZnVuY3Rpb24oZSl7aWYoIXQmJmUpe2lmKCFyLl93cml0YWJsZVN0YXRlKXtwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscixlKX1lbHNlIGlmKCFyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCl7ci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9dHJ1ZTtwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscixlKX1lbHNle3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscil9fWVsc2UgaWYodCl7cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKTt0KGUpfWVsc2V7cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKX19KSk7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW1pdEVycm9yQW5kQ2xvc2VOVChlLHQpe2VtaXRFcnJvck5UKGUsdCk7ZW1pdENsb3NlTlQoZSl9ZnVuY3Rpb24gZW1pdENsb3NlTlQoZSl7aWYoZS5fd3JpdGFibGVTdGF0ZSYmIWUuX3dyaXRhYmxlU3RhdGUuZW1pdENsb3NlKXJldHVybjtpZihlLl9yZWFkYWJsZVN0YXRlJiYhZS5fcmVhZGFibGVTdGF0ZS5lbWl0Q2xvc2UpcmV0dXJuO2UuZW1pdChcImNsb3NlXCIpfWZ1bmN0aW9uIHVuZGVzdHJveSgpe2lmKHRoaXMuX3JlYWRhYmxlU3RhdGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWZhbHNlO3RoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz1mYWxzZTt0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPWZhbHNlO3RoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD1mYWxzZX1pZih0aGlzLl93cml0YWJsZVN0YXRlKXt0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ZmFsc2U7dGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPWZhbHNlfX1mdW5jdGlvbiBlbWl0RXJyb3JOVChlLHQpe2UuZW1pdChcImVycm9yXCIsdCl9ZnVuY3Rpb24gZXJyb3JPckRlc3Ryb3koZSx0KXt2YXIgcj1lLl9yZWFkYWJsZVN0YXRlO3ZhciBuPWUuX3dyaXRhYmxlU3RhdGU7aWYociYmci5hdXRvRGVzdHJveXx8biYmbi5hdXRvRGVzdHJveSllLmRlc3Ryb3kodCk7ZWxzZSBlLmVtaXQoXCJlcnJvclwiLHQpfWUuZXhwb3J0cz17ZGVzdHJveTpkZXN0cm95LHVuZGVzdHJveTp1bmRlc3Ryb3ksZXJyb3JPckRlc3Ryb3k6ZXJyb3JPckRlc3Ryb3l9fSw2OTg6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPXIoNjQ2KS5xLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHQ9ZmFsc2U7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodClyZXR1cm47dD10cnVlO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKXtuW2ldPWFyZ3VtZW50c1tpXX1lLmFwcGx5KHRoaXMsbil9fWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmdHlwZW9mIGUuYWJvcnQ9PT1cImZ1bmN0aW9uXCJ9ZnVuY3Rpb24gZW9zKGUsdCxyKXtpZih0eXBlb2YgdD09PVwiZnVuY3Rpb25cIilyZXR1cm4gZW9zKGUsbnVsbCx0KTtpZighdCl0PXt9O3I9b25jZShyfHxub29wKTt2YXIgaT10LnJlYWRhYmxlfHx0LnJlYWRhYmxlIT09ZmFsc2UmJmUucmVhZGFibGU7dmFyIGE9dC53cml0YWJsZXx8dC53cml0YWJsZSE9PWZhbHNlJiZlLndyaXRhYmxlO3ZhciBvPWZ1bmN0aW9uIG9ubGVnYWN5ZmluaXNoKCl7aWYoIWUud3JpdGFibGUpZigpfTt2YXIgcz1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkO3ZhciBmPWZ1bmN0aW9uIG9uZmluaXNoKCl7YT1mYWxzZTtzPXRydWU7aWYoIWkpci5jYWxsKGUpfTt2YXIgbD1lLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ7dmFyIHU9ZnVuY3Rpb24gb25lbmQoKXtpPWZhbHNlO2w9dHJ1ZTtpZighYSlyLmNhbGwoZSl9O3ZhciBkPWZ1bmN0aW9uIG9uZXJyb3IodCl7ci5jYWxsKGUsdCl9O3ZhciBjPWZ1bmN0aW9uIG9uY2xvc2UoKXt2YXIgdDtpZihpJiYhbCl7aWYoIWUuX3JlYWRhYmxlU3RhdGV8fCFlLl9yZWFkYWJsZVN0YXRlLmVuZGVkKXQ9bmV3IG47cmV0dXJuIHIuY2FsbChlLHQpfWlmKGEmJiFzKXtpZighZS5fd3JpdGFibGVTdGF0ZXx8IWUuX3dyaXRhYmxlU3RhdGUuZW5kZWQpdD1uZXcgbjtyZXR1cm4gci5jYWxsKGUsdCl9fTt2YXIgaD1mdW5jdGlvbiBvbnJlcXVlc3QoKXtlLnJlcS5vbihcImZpbmlzaFwiLGYpfTtpZihpc1JlcXVlc3QoZSkpe2Uub24oXCJjb21wbGV0ZVwiLGYpO2Uub24oXCJhYm9ydFwiLGMpO2lmKGUucmVxKWgoKTtlbHNlIGUub24oXCJyZXF1ZXN0XCIsaCl9ZWxzZSBpZihhJiYhZS5fd3JpdGFibGVTdGF0ZSl7ZS5vbihcImVuZFwiLG8pO2Uub24oXCJjbG9zZVwiLG8pfWUub24oXCJlbmRcIix1KTtlLm9uKFwiZmluaXNoXCIsZik7aWYodC5lcnJvciE9PWZhbHNlKWUub24oXCJlcnJvclwiLGQpO2Uub24oXCJjbG9zZVwiLGMpO3JldHVybiBmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoXCJjb21wbGV0ZVwiLGYpO2UucmVtb3ZlTGlzdGVuZXIoXCJhYm9ydFwiLGMpO2UucmVtb3ZlTGlzdGVuZXIoXCJyZXF1ZXN0XCIsaCk7aWYoZS5yZXEpZS5yZXEucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixmKTtlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsbyk7ZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbyk7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGYpO2UucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIix1KTtlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixkKTtlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixjKX19ZS5leHBvcnRzPWVvc30sNzI3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBhc3luY0dlbmVyYXRvclN0ZXAoZSx0LHIsbixpLGEsbyl7dHJ5e3ZhciBzPWVbYV0obyk7dmFyIGY9cy52YWx1ZX1jYXRjaChlKXtyKGUpO3JldHVybn1pZihzLmRvbmUpe3QoZil9ZWxzZXtQcm9taXNlLnJlc29sdmUoZikudGhlbihuLGkpfX1mdW5jdGlvbiBfYXN5bmNUb0dlbmVyYXRvcihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9YXJndW1lbnRzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixpKXt2YXIgYT1lLmFwcGx5KHQscik7ZnVuY3Rpb24gX25leHQoZSl7YXN5bmNHZW5lcmF0b3JTdGVwKGEsbixpLF9uZXh0LF90aHJvdyxcIm5leHRcIixlKX1mdW5jdGlvbiBfdGhyb3coZSl7YXN5bmNHZW5lcmF0b3JTdGVwKGEsbixpLF9uZXh0LF90aHJvdyxcInRocm93XCIsZSl9X25leHQodW5kZWZpbmVkKX0pKX19ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aWYodCluPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSk7ci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF0hPW51bGw/YXJndW1lbnRzW3RdOnt9O2lmKHQlMil7b3duS2V5cyhPYmplY3QociksdHJ1ZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxyW3RdKX0pKX1lbHNlIGlmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKXtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKX1lbHNle293bktleXMoT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iocix0KSl9KSl9fXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7aWYodCBpbiBlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9cmV0dXJuIGV9dmFyIG49cig2NDYpLnEuRVJSX0lOVkFMSURfQVJHX1RZUEU7ZnVuY3Rpb24gZnJvbShlLHQscil7dmFyIGk7aWYodCYmdHlwZW9mIHQubmV4dD09PVwiZnVuY3Rpb25cIil7aT10fWVsc2UgaWYodCYmdFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0paT10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO2Vsc2UgaWYodCYmdFtTeW1ib2wuaXRlcmF0b3JdKWk9dFtTeW1ib2wuaXRlcmF0b3JdKCk7ZWxzZSB0aHJvdyBuZXcgbihcIml0ZXJhYmxlXCIsW1wiSXRlcmFibGVcIl0sdCk7dmFyIGE9bmV3IGUoX29iamVjdFNwcmVhZCh7b2JqZWN0TW9kZTp0cnVlfSxyKSk7dmFyIG89ZmFsc2U7YS5fcmVhZD1mdW5jdGlvbigpe2lmKCFvKXtvPXRydWU7bmV4dCgpfX07ZnVuY3Rpb24gbmV4dCgpe3JldHVybiBfbmV4dDIuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIF9uZXh0Migpe19uZXh0Mj1fYXN5bmNUb0dlbmVyYXRvcigoZnVuY3Rpb24qKCl7dHJ5e3ZhciBlPXlpZWxkIGkubmV4dCgpLHQ9ZS52YWx1ZSxyPWUuZG9uZTtpZihyKXthLnB1c2gobnVsbCl9ZWxzZSBpZihhLnB1c2goeWllbGQgdCkpe25leHQoKX1lbHNle289ZmFsc2V9fWNhdGNoKGUpe2EuZGVzdHJveShlKX19KSk7cmV0dXJuIF9uZXh0Mi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGF9ZS5leHBvcnRzPWZyb219LDQ0MjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG47ZnVuY3Rpb24gb25jZShlKXt2YXIgdD1mYWxzZTtyZXR1cm4gZnVuY3Rpb24oKXtpZih0KXJldHVybjt0PXRydWU7ZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19dmFyIGk9cig2NDYpLnEsYT1pLkVSUl9NSVNTSU5HX0FSR1Msbz1pLkVSUl9TVFJFQU1fREVTVFJPWUVEO2Z1bmN0aW9uIG5vb3AoZSl7aWYoZSl0aHJvdyBlfWZ1bmN0aW9uIGlzUmVxdWVzdChlKXtyZXR1cm4gZS5zZXRIZWFkZXImJnR5cGVvZiBlLmFib3J0PT09XCJmdW5jdGlvblwifWZ1bmN0aW9uIGRlc3Ryb3llcihlLHQsaSxhKXthPW9uY2UoYSk7dmFyIHM9ZmFsc2U7ZS5vbihcImNsb3NlXCIsKGZ1bmN0aW9uKCl7cz10cnVlfSkpO2lmKG49PT11bmRlZmluZWQpbj1yKDY5OCk7bihlLHtyZWFkYWJsZTp0LHdyaXRhYmxlOml9LChmdW5jdGlvbihlKXtpZihlKXJldHVybiBhKGUpO3M9dHJ1ZTthKCl9KSk7dmFyIGY9ZmFsc2U7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHMpcmV0dXJuO2lmKGYpcmV0dXJuO2Y9dHJ1ZTtpZihpc1JlcXVlc3QoZSkpcmV0dXJuIGUuYWJvcnQoKTtpZih0eXBlb2YgZS5kZXN0cm95PT09XCJmdW5jdGlvblwiKXJldHVybiBlLmRlc3Ryb3koKTthKHR8fG5ldyBvKFwicGlwZVwiKSl9fWZ1bmN0aW9uIGNhbGwoZSl7ZSgpfWZ1bmN0aW9uIHBpcGUoZSx0KXtyZXR1cm4gZS5waXBlKHQpfWZ1bmN0aW9uIHBvcENhbGxiYWNrKGUpe2lmKCFlLmxlbmd0aClyZXR1cm4gbm9vcDtpZih0eXBlb2YgZVtlLmxlbmd0aC0xXSE9PVwiZnVuY3Rpb25cIilyZXR1cm4gbm9vcDtyZXR1cm4gZS5wb3AoKX1mdW5jdGlvbiBwaXBlbGluZSgpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLHI9MDtyPGU7cisrKXt0W3JdPWFyZ3VtZW50c1tyXX12YXIgbj1wb3BDYWxsYmFjayh0KTtpZihBcnJheS5pc0FycmF5KHRbMF0pKXQ9dFswXTtpZih0Lmxlbmd0aDwyKXt0aHJvdyBuZXcgYShcInN0cmVhbXNcIil9dmFyIGk7dmFyIG89dC5tYXAoKGZ1bmN0aW9uKGUscil7dmFyIGE9cjx0Lmxlbmd0aC0xO3ZhciBzPXI+MDtyZXR1cm4gZGVzdHJveWVyKGUsYSxzLChmdW5jdGlvbihlKXtpZighaSlpPWU7aWYoZSlvLmZvckVhY2goY2FsbCk7aWYoYSlyZXR1cm47by5mb3JFYWNoKGNhbGwpO24oaSl9KSl9KSk7cmV0dXJuIHQucmVkdWNlKHBpcGUpfWUuZXhwb3J0cz1waXBlbGluZX0sNzc2OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDY0NikucS5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7ZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20oZSx0LHIpe3JldHVybiBlLmhpZ2hXYXRlck1hcmshPW51bGw/ZS5oaWdoV2F0ZXJNYXJrOnQ/ZVtyXTpudWxsfWZ1bmN0aW9uIGdldEhpZ2hXYXRlck1hcmsoZSx0LHIsaSl7dmFyIGE9aGlnaFdhdGVyTWFya0Zyb20odCxpLHIpO2lmKGEhPW51bGwpe2lmKCEoaXNGaW5pdGUoYSkmJk1hdGguZmxvb3IoYSk9PT1hKXx8YTwwKXt2YXIgbz1pP3I6XCJoaWdoV2F0ZXJNYXJrXCI7dGhyb3cgbmV3IG4obyxhKX1yZXR1cm4gTWF0aC5mbG9vcihhKX1yZXR1cm4gZS5vYmplY3RNb2RlPzE2OjE2KjEwMjR9ZS5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmdldEhpZ2hXYXRlck1hcmt9fSw2Nzg6ZnVuY3Rpb24oZSx0LHIpe2UuZXhwb3J0cz1yKDc4MSl9LDU1OmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDMwMCk7dmFyIGk9bi5CdWZmZXI7ZnVuY3Rpb24gY29weVByb3BzKGUsdCl7Zm9yKHZhciByIGluIGUpe3Rbcl09ZVtyXX19aWYoaS5mcm9tJiZpLmFsbG9jJiZpLmFsbG9jVW5zYWZlJiZpLmFsbG9jVW5zYWZlU2xvdyl7ZS5leHBvcnRzPW59ZWxzZXtjb3B5UHJvcHMobix0KTt0LkJ1ZmZlcj1TYWZlQnVmZmVyfWZ1bmN0aW9uIFNhZmVCdWZmZXIoZSx0LHIpe3JldHVybiBpKGUsdCxyKX1TYWZlQnVmZmVyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKTtjb3B5UHJvcHMoaSxTYWZlQnVmZmVyKTtTYWZlQnVmZmVyLmZyb209ZnVuY3Rpb24oZSx0LHIpe2lmKHR5cGVvZiBlPT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyXCIpfXJldHVybiBpKGUsdCxyKX07U2FmZUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihlLHQscil7aWYodHlwZW9mIGUhPT1cIm51bWJlclwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKX12YXIgbj1pKGUpO2lmKHQhPT11bmRlZmluZWQpe2lmKHR5cGVvZiByPT09XCJzdHJpbmdcIil7bi5maWxsKHQscil9ZWxzZXtuLmZpbGwodCl9fWVsc2V7bi5maWxsKDApfXJldHVybiBufTtTYWZlQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9cmV0dXJuIGkoZSl9O1NhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9cmV0dXJuIG4uU2xvd0J1ZmZlcihlKX19LDE3MzpmdW5jdGlvbihlLHQscil7ZS5leHBvcnRzPVN0cmVhbTt2YXIgbj1yKDM2MSkuRXZlbnRFbWl0dGVyO3ZhciBpPXIoNzgyKTtpKFN0cmVhbSxuKTtTdHJlYW0uUmVhZGFibGU9cig3MDkpO1N0cmVhbS5Xcml0YWJsZT1yKDMzNyk7U3RyZWFtLkR1cGxleD1yKDQwMyk7U3RyZWFtLlRyYW5zZm9ybT1yKDE3MCk7U3RyZWFtLlBhc3NUaHJvdWdoPXIoODg5KTtTdHJlYW0uZmluaXNoZWQ9cig2OTgpO1N0cmVhbS5waXBlbGluZT1yKDQ0Mik7U3RyZWFtLlN0cmVhbT1TdHJlYW07ZnVuY3Rpb24gU3RyZWFtKCl7bi5jYWxsKHRoaXMpfVN0cmVhbS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7ZnVuY3Rpb24gb25kYXRhKHQpe2lmKGUud3JpdGFibGUpe2lmKGZhbHNlPT09ZS53cml0ZSh0KSYmci5wYXVzZSl7ci5wYXVzZSgpfX19ci5vbihcImRhdGFcIixvbmRhdGEpO2Z1bmN0aW9uIG9uZHJhaW4oKXtpZihyLnJlYWRhYmxlJiZyLnJlc3VtZSl7ci5yZXN1bWUoKX19ZS5vbihcImRyYWluXCIsb25kcmFpbik7aWYoIWUuX2lzU3RkaW8mJighdHx8dC5lbmQhPT1mYWxzZSkpe3Iub24oXCJlbmRcIixvbmVuZCk7ci5vbihcImNsb3NlXCIsb25jbG9zZSl9dmFyIGk9ZmFsc2U7ZnVuY3Rpb24gb25lbmQoKXtpZihpKXJldHVybjtpPXRydWU7ZS5lbmQoKX1mdW5jdGlvbiBvbmNsb3NlKCl7aWYoaSlyZXR1cm47aT10cnVlO2lmKHR5cGVvZiBlLmRlc3Ryb3k9PT1cImZ1bmN0aW9uXCIpZS5kZXN0cm95KCl9ZnVuY3Rpb24gb25lcnJvcihlKXtjbGVhbnVwKCk7aWYobi5saXN0ZW5lckNvdW50KHRoaXMsXCJlcnJvclwiKT09PTApe3Rocm93IGV9fXIub24oXCJlcnJvclwiLG9uZXJyb3IpO2Uub24oXCJlcnJvclwiLG9uZXJyb3IpO2Z1bmN0aW9uIGNsZWFudXAoKXtyLnJlbW92ZUxpc3RlbmVyKFwiZGF0YVwiLG9uZGF0YSk7ZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsb25kcmFpbik7ci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLG9uZW5kKTtyLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixvbmNsb3NlKTtyLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixvbmVycm9yKTtlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixvbmVycm9yKTtyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsY2xlYW51cCk7ci5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsY2xlYW51cCk7ZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsY2xlYW51cCl9ci5vbihcImVuZFwiLGNsZWFudXApO3Iub24oXCJjbG9zZVwiLGNsZWFudXApO2Uub24oXCJjbG9zZVwiLGNsZWFudXApO2UuZW1pdChcInBpcGVcIixyKTtyZXR1cm4gZX19LDcwNDpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49cig1NSkuQnVmZmVyO3ZhciBpPW4uaXNFbmNvZGluZ3x8ZnVuY3Rpb24oZSl7ZT1cIlwiK2U7c3dpdGNoKGUmJmUudG9Mb3dlckNhc2UoKSl7Y2FzZVwiaGV4XCI6Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6Y2FzZVwiYXNjaWlcIjpjYXNlXCJiaW5hcnlcIjpjYXNlXCJiYXNlNjRcIjpjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpjYXNlXCJyYXdcIjpyZXR1cm4gdHJ1ZTtkZWZhdWx0OnJldHVybiBmYWxzZX19O2Z1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyhlKXtpZighZSlyZXR1cm5cInV0ZjhcIjt2YXIgdDt3aGlsZSh0cnVlKXtzd2l0Y2goZSl7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuXCJ1dGY4XCI7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuXCJ1dGYxNmxlXCI7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuXCJsYXRpbjFcIjtjYXNlXCJiYXNlNjRcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImhleFwiOnJldHVybiBlO2RlZmF1bHQ6aWYodClyZXR1cm47ZT0oXCJcIitlKS50b0xvd2VyQ2FzZSgpO3Q9dHJ1ZX19fWZ1bmN0aW9uIG5vcm1hbGl6ZUVuY29kaW5nKGUpe3ZhciB0PV9ub3JtYWxpemVFbmNvZGluZyhlKTtpZih0eXBlb2YgdCE9PVwic3RyaW5nXCImJihuLmlzRW5jb2Rpbmc9PT1pfHwhaShlKSkpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrZSk7cmV0dXJuIHR8fGV9dC5zPVN0cmluZ0RlY29kZXI7ZnVuY3Rpb24gU3RyaW5nRGVjb2RlcihlKXt0aGlzLmVuY29kaW5nPW5vcm1hbGl6ZUVuY29kaW5nKGUpO3ZhciB0O3N3aXRjaCh0aGlzLmVuY29kaW5nKXtjYXNlXCJ1dGYxNmxlXCI6dGhpcy50ZXh0PXV0ZjE2VGV4dDt0aGlzLmVuZD11dGYxNkVuZDt0PTQ7YnJlYWs7Y2FzZVwidXRmOFwiOnRoaXMuZmlsbExhc3Q9dXRmOEZpbGxMYXN0O3Q9NDticmVhaztjYXNlXCJiYXNlNjRcIjp0aGlzLnRleHQ9YmFzZTY0VGV4dDt0aGlzLmVuZD1iYXNlNjRFbmQ7dD0zO2JyZWFrO2RlZmF1bHQ6dGhpcy53cml0ZT1zaW1wbGVXcml0ZTt0aGlzLmVuZD1zaW1wbGVFbmQ7cmV0dXJufXRoaXMubGFzdE5lZWQ9MDt0aGlzLmxhc3RUb3RhbD0wO3RoaXMubGFzdENoYXI9bi5hbGxvY1Vuc2FmZSh0KX1TdHJpbmdEZWNvZGVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlKXtpZihlLmxlbmd0aD09PTApcmV0dXJuXCJcIjt2YXIgdDt2YXIgcjtpZih0aGlzLmxhc3ROZWVkKXt0PXRoaXMuZmlsbExhc3QoZSk7aWYodD09PXVuZGVmaW5lZClyZXR1cm5cIlwiO3I9dGhpcy5sYXN0TmVlZDt0aGlzLmxhc3ROZWVkPTB9ZWxzZXtyPTB9aWYocjxlLmxlbmd0aClyZXR1cm4gdD90K3RoaXMudGV4dChlLHIpOnRoaXMudGV4dChlLHIpO3JldHVybiB0fHxcIlwifTtTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5lbmQ9dXRmOEVuZDtTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS50ZXh0PXV0ZjhUZXh0O1N0cmluZ0RlY29kZXIucHJvdG90eXBlLmZpbGxMYXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMubGFzdE5lZWQ8PWUubGVuZ3RoKXtlLmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKX1lLmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsZS5sZW5ndGgpO3RoaXMubGFzdE5lZWQtPWUubGVuZ3RofTtmdW5jdGlvbiB1dGY4Q2hlY2tCeXRlKGUpe2lmKGU8PTEyNylyZXR1cm4gMDtlbHNlIGlmKGU+PjU9PT02KXJldHVybiAyO2Vsc2UgaWYoZT4+ND09PTE0KXJldHVybiAzO2Vsc2UgaWYoZT4+Mz09PTMwKXJldHVybiA0O3JldHVybiBlPj42PT09Mj8tMTotMn1mdW5jdGlvbiB1dGY4Q2hlY2tJbmNvbXBsZXRlKGUsdCxyKXt2YXIgbj10Lmxlbmd0aC0xO2lmKG48cilyZXR1cm4gMDt2YXIgaT11dGY4Q2hlY2tCeXRlKHRbbl0pO2lmKGk+PTApe2lmKGk+MCllLmxhc3ROZWVkPWktMTtyZXR1cm4gaX1pZigtLW48cnx8aT09PS0yKXJldHVybiAwO2k9dXRmOENoZWNrQnl0ZSh0W25dKTtpZihpPj0wKXtpZihpPjApZS5sYXN0TmVlZD1pLTI7cmV0dXJuIGl9aWYoLS1uPHJ8fGk9PT0tMilyZXR1cm4gMDtpPXV0ZjhDaGVja0J5dGUodFtuXSk7aWYoaT49MCl7aWYoaT4wKXtpZihpPT09MilpPTA7ZWxzZSBlLmxhc3ROZWVkPWktM31yZXR1cm4gaX1yZXR1cm4gMH1mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKGUsdCxyKXtpZigodFswXSYxOTIpIT09MTI4KXtlLmxhc3ROZWVkPTA7cmV0dXJuXCLvv71cIn1pZihlLmxhc3ROZWVkPjEmJnQubGVuZ3RoPjEpe2lmKCh0WzFdJjE5MikhPT0xMjgpe2UubGFzdE5lZWQ9MTtyZXR1cm5cIu+/vVwifWlmKGUubGFzdE5lZWQ+MiYmdC5sZW5ndGg+Mil7aWYoKHRbMl0mMTkyKSE9PTEyOCl7ZS5sYXN0TmVlZD0yO3JldHVyblwi77+9XCJ9fX19ZnVuY3Rpb24gdXRmOEZpbGxMYXN0KGUpe3ZhciB0PXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7dmFyIHI9dXRmOENoZWNrRXh0cmFCeXRlcyh0aGlzLGUsdCk7aWYociE9PXVuZGVmaW5lZClyZXR1cm4gcjtpZih0aGlzLmxhc3ROZWVkPD1lLmxlbmd0aCl7ZS5jb3B5KHRoaXMubGFzdENoYXIsdCwwLHRoaXMubGFzdE5lZWQpO3JldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCl9ZS5jb3B5KHRoaXMubGFzdENoYXIsdCwwLGUubGVuZ3RoKTt0aGlzLmxhc3ROZWVkLT1lLmxlbmd0aH1mdW5jdGlvbiB1dGY4VGV4dChlLHQpe3ZhciByPXV0ZjhDaGVja0luY29tcGxldGUodGhpcyxlLHQpO2lmKCF0aGlzLmxhc3ROZWVkKXJldHVybiBlLnRvU3RyaW5nKFwidXRmOFwiLHQpO3RoaXMubGFzdFRvdGFsPXI7dmFyIG49ZS5sZW5ndGgtKHItdGhpcy5sYXN0TmVlZCk7ZS5jb3B5KHRoaXMubGFzdENoYXIsMCxuKTtyZXR1cm4gZS50b1N0cmluZyhcInV0ZjhcIix0LG4pfWZ1bmN0aW9uIHV0ZjhFbmQoZSl7dmFyIHQ9ZSYmZS5sZW5ndGg/dGhpcy53cml0ZShlKTpcIlwiO2lmKHRoaXMubGFzdE5lZWQpcmV0dXJuIHQrXCLvv71cIjtyZXR1cm4gdH1mdW5jdGlvbiB1dGYxNlRleHQoZSx0KXtpZigoZS5sZW5ndGgtdCklMj09PTApe3ZhciByPWUudG9TdHJpbmcoXCJ1dGYxNmxlXCIsdCk7aWYocil7dmFyIG49ci5jaGFyQ29kZUF0KHIubGVuZ3RoLTEpO2lmKG4+PTU1Mjk2JiZuPD01NjMxOSl7dGhpcy5sYXN0TmVlZD0yO3RoaXMubGFzdFRvdGFsPTQ7dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTJdO3RoaXMubGFzdENoYXJbMV09ZVtlLmxlbmd0aC0xXTtyZXR1cm4gci5zbGljZSgwLC0xKX19cmV0dXJuIHJ9dGhpcy5sYXN0TmVlZD0xO3RoaXMubGFzdFRvdGFsPTI7dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTFdO3JldHVybiBlLnRvU3RyaW5nKFwidXRmMTZsZVwiLHQsZS5sZW5ndGgtMSl9ZnVuY3Rpb24gdXRmMTZFbmQoZSl7dmFyIHQ9ZSYmZS5sZW5ndGg/dGhpcy53cml0ZShlKTpcIlwiO2lmKHRoaXMubGFzdE5lZWQpe3ZhciByPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7cmV0dXJuIHQrdGhpcy5sYXN0Q2hhci50b1N0cmluZyhcInV0ZjE2bGVcIiwwLHIpfXJldHVybiB0fWZ1bmN0aW9uIGJhc2U2NFRleHQoZSx0KXt2YXIgcj0oZS5sZW5ndGgtdCklMztpZihyPT09MClyZXR1cm4gZS50b1N0cmluZyhcImJhc2U2NFwiLHQpO3RoaXMubGFzdE5lZWQ9My1yO3RoaXMubGFzdFRvdGFsPTM7aWYocj09PTEpe3RoaXMubGFzdENoYXJbMF09ZVtlLmxlbmd0aC0xXX1lbHNle3RoaXMubGFzdENoYXJbMF09ZVtlLmxlbmd0aC0yXTt0aGlzLmxhc3RDaGFyWzFdPWVbZS5sZW5ndGgtMV19cmV0dXJuIGUudG9TdHJpbmcoXCJiYXNlNjRcIix0LGUubGVuZ3RoLXIpfWZ1bmN0aW9uIGJhc2U2NEVuZChlKXt2YXIgdD1lJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCI7aWYodGhpcy5sYXN0TmVlZClyZXR1cm4gdCt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwiYmFzZTY0XCIsMCwzLXRoaXMubGFzdE5lZWQpO3JldHVybiB0fWZ1bmN0aW9uIHNpbXBsZVdyaXRlKGUpe3JldHVybiBlLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcpfWZ1bmN0aW9uIHNpbXBsZUVuZChlKXtyZXR1cm4gZSYmZS5sZW5ndGg/dGhpcy53cml0ZShlKTpcIlwifX0sNzY5OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz1kZXByZWNhdGU7ZnVuY3Rpb24gZGVwcmVjYXRlKGUsdCl7aWYoY29uZmlnKFwibm9EZXByZWNhdGlvblwiKSl7cmV0dXJuIGV9dmFyIHI9ZmFsc2U7ZnVuY3Rpb24gZGVwcmVjYXRlZCgpe2lmKCFyKXtpZihjb25maWcoXCJ0aHJvd0RlcHJlY2F0aW9uXCIpKXt0aHJvdyBuZXcgRXJyb3IodCl9ZWxzZSBpZihjb25maWcoXCJ0cmFjZURlcHJlY2F0aW9uXCIpKXtjb25zb2xlLnRyYWNlKHQpfWVsc2V7Y29uc29sZS53YXJuKHQpfXI9dHJ1ZX1yZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGRlcHJlY2F0ZWR9ZnVuY3Rpb24gY29uZmlnKGUpe3RyeXtpZighZ2xvYmFsLmxvY2FsU3RvcmFnZSlyZXR1cm4gZmFsc2V9Y2F0Y2goZSl7cmV0dXJuIGZhbHNlfXZhciB0PWdsb2JhbC5sb2NhbFN0b3JhZ2VbZV07aWYobnVsbD09dClyZXR1cm4gZmFsc2U7cmV0dXJuIFN0cmluZyh0KS50b0xvd2VyQ2FzZSgpPT09XCJ0cnVlXCJ9fSwzMDA6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPXJlcXVpcmUoXCJidWZmZXJcIil9LDM2MTpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9cmVxdWlyZShcImV2ZW50c1wiKX0sNzgxOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcn0sODM3OmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwidXRpbFwiKX19O3ZhciB0PXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18ocil7dmFyIG49dFtyXTtpZihuIT09dW5kZWZpbmVkKXtyZXR1cm4gbi5leHBvcnRzfXZhciBpPXRbcl09e2V4cG9ydHM6e319O3ZhciBhPXRydWU7dHJ5e2Vbcl0oaSxpLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7YT1mYWxzZX1maW5hbGx5e2lmKGEpZGVsZXRlIHRbcl19cmV0dXJuIGkuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHI9X19uY2N3cGNrX3JlcXVpcmVfXygxNzMpO21vZHVsZS5leHBvcnRzPXJ9KSgpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/stream-browserify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/stream-http/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/compiled/stream-http/index.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n(function(){var e={523:function(e){e.exports={100:\"Continue\",101:\"Switching Protocols\",102:\"Processing\",200:\"OK\",201:\"Created\",202:\"Accepted\",203:\"Non-Authoritative Information\",204:\"No Content\",205:\"Reset Content\",206:\"Partial Content\",207:\"Multi-Status\",208:\"Already Reported\",226:\"IM Used\",300:\"Multiple Choices\",301:\"Moved Permanently\",302:\"Found\",303:\"See Other\",304:\"Not Modified\",305:\"Use Proxy\",307:\"Temporary Redirect\",308:\"Permanent Redirect\",400:\"Bad Request\",401:\"Unauthorized\",402:\"Payment Required\",403:\"Forbidden\",404:\"Not Found\",405:\"Method Not Allowed\",406:\"Not Acceptable\",407:\"Proxy Authentication Required\",408:\"Request Timeout\",409:\"Conflict\",410:\"Gone\",411:\"Length Required\",412:\"Precondition Failed\",413:\"Payload Too Large\",414:\"URI Too Long\",415:\"Unsupported Media Type\",416:\"Range Not Satisfiable\",417:\"Expectation Failed\",418:\"I'm a teapot\",421:\"Misdirected Request\",422:\"Unprocessable Entity\",423:\"Locked\",424:\"Failed Dependency\",425:\"Unordered Collection\",426:\"Upgrade Required\",428:\"Precondition Required\",429:\"Too Many Requests\",431:\"Request Header Fields Too Large\",451:\"Unavailable For Legal Reasons\",500:\"Internal Server Error\",501:\"Not Implemented\",502:\"Bad Gateway\",503:\"Service Unavailable\",504:\"Gateway Timeout\",505:\"HTTP Version Not Supported\",506:\"Variant Also Negotiates\",507:\"Insufficient Storage\",508:\"Loop Detected\",509:\"Bandwidth Limit Exceeded\",510:\"Not Extended\",511:\"Network Authentication Required\"}},782:function(e){if(typeof Object.create===\"function\"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},646:function(e){\"use strict\";const t={};function createErrorType(e,r,n){if(!n){n=Error}function getMessage(e,t,n){if(typeof r===\"string\"){return r}else{return r(e,t,n)}}class NodeError extends n{constructor(e,t,r){super(getMessage(e,t,r))}}NodeError.prototype.name=n.name;NodeError.prototype.code=e;t[e]=NodeError}function oneOf(e,t){if(Array.isArray(e)){const r=e.length;e=e.map((e=>String(e)));if(r>2){return`one of ${t} ${e.slice(0,r-1).join(\", \")}, or `+e[r-1]}else if(r===2){return`one of ${t} ${e[0]} or ${e[1]}`}else{return`of ${t} ${e[0]}`}}else{return`of ${t} ${String(e)}`}}function startsWith(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function includes(e,t,r){if(typeof r!==\"number\"){r=0}if(r+t.length>e.length){return false}else{return e.indexOf(t,r)!==-1}}createErrorType(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError);createErrorType(\"ERR_INVALID_ARG_TYPE\",(function(e,t,r){let n;if(typeof t===\"string\"&&startsWith(t,\"not \")){n=\"must not be\";t=t.replace(/^not /,\"\")}else{n=\"must be\"}let i;if(endsWith(e,\" argument\")){i=`The ${e} ${n} ${oneOf(t,\"type\")}`}else{const r=includes(e,\".\")?\"property\":\"argument\";i=`The \"${e}\" ${r} ${n} ${oneOf(t,\"type\")}`}i+=`. Received type ${typeof r}`;return i}),TypeError);createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"}));createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");createErrorType(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"}));createErrorType(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");createErrorType(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");createErrorType(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");createErrorType(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);createErrorType(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError);createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");e.exports.q=t},403:function(e,t,r){\"use strict\";var n=Object.keys||function(e){var t=[];for(var r in e){t.push(r)}return t};e.exports=Duplex;var i=r(709);var a=r(337);r(782)(Duplex,i);{var o=n(a.prototype);for(var s=0;s<o.length;s++){var f=o[s];if(!Duplex.prototype[f])Duplex.prototype[f]=a.prototype[f]}}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);i.call(this,e);a.call(this,e);this.allowHalfOpen=true;if(e){if(e.readable===false)this.readable=false;if(e.writable===false)this.writable=false;if(e.allowHalfOpen===false){this.allowHalfOpen=false;this.once(\"end\",onend)}}}Object.defineProperty(Duplex.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});Object.defineProperty(Duplex.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Duplex.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function onend(){if(this._writableState.ended)return;process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function set(e){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=e;this._writableState.destroyed=e}})},889:function(e,t,r){\"use strict\";e.exports=PassThrough;var n=r(170);r(782)(PassThrough,n);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);n.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},709:function(e,t,r){\"use strict\";e.exports=Readable;var n;Readable.ReadableState=ReadableState;var i=r(361).EventEmitter;var a=function EElistenerCount(e,t){return e.listeners(t).length};var o=r(678);var s=r(300).Buffer;var f=__webpack_require__.g.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return s.from(e)}function _isUint8Array(e){return s.isBuffer(e)||e instanceof f}var l=r(837);var u;if(l&&l.debuglog){u=l.debuglog(\"stream\")}else{u=function debug(){}}var d=r(379);var c=r(25);var h=r(776),p=h.getHighWaterMark;var b=r(646).q,y=b.ERR_INVALID_ARG_TYPE,g=b.ERR_STREAM_PUSH_AFTER_EOF,_=b.ERR_METHOD_NOT_IMPLEMENTED,v=b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var m;var w;var R;r(782)(Readable,o);var S=c.errorOrDestroy;var E=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function prependListener(e,t,r){if(typeof e.prependListener===\"function\")return e.prependListener(t,r);if(!e._events||!e._events[t])e.on(t,r);else if(Array.isArray(e._events[t]))e._events[t].unshift(r);else e._events[t]=[r,e._events[t]]}function ReadableState(e,t,i){n=n||r(403);e=e||{};if(typeof i!==\"boolean\")i=t instanceof n;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.readableObjectMode;this.highWaterMark=p(this,e,\"readableHighWaterMark\",i);this.buffer=new d;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!m)m=r(704).s;this.decoder=new m(e.encoding);this.encoding=e.encoding}}function Readable(e){n=n||r(403);if(!(this instanceof Readable))return new Readable(e);var t=this instanceof n;this._readableState=new ReadableState(e,this,t);this.readable=true;if(e){if(typeof e.read===\"function\")this._read=e.read;if(typeof e.destroy===\"function\")this._destroy=e.destroy}o.call(this)}Object.defineProperty(Readable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=c.destroy;Readable.prototype._undestroy=c.undestroy;Readable.prototype._destroy=function(e,t){t(e)};Readable.prototype.push=function(e,t){var r=this._readableState;var n;if(!r.objectMode){if(typeof e===\"string\"){t=t||r.defaultEncoding;if(t!==r.encoding){e=s.from(e,t);t=\"\"}n=true}}else{n=true}return readableAddChunk(this,e,t,false,n)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,t,r,n,i){u(\"readableAddChunk\",t);var a=e._readableState;if(t===null){a.reading=false;onEofChunk(e,a)}else{var o;if(!i)o=chunkInvalid(a,t);if(o){S(e,o)}else if(a.objectMode||t&&t.length>0){if(typeof t!==\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==s.prototype){t=_uint8ArrayToBuffer(t)}if(n){if(a.endEmitted)S(e,new v);else addChunk(e,a,t,true)}else if(a.ended){S(e,new g)}else if(a.destroyed){return false}else{a.reading=false;if(a.decoder&&!r){t=a.decoder.write(t);if(a.objectMode||t.length!==0)addChunk(e,a,t,false);else maybeReadMore(e,a)}else{addChunk(e,a,t,false)}}}else if(!n){a.reading=false;maybeReadMore(e,a)}}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function addChunk(e,t,r,n){if(t.flowing&&t.length===0&&!t.sync){t.awaitDrain=0;e.emit(\"data\",r)}else{t.length+=t.objectMode?1:r.length;if(n)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!==\"string\"&&t!==undefined&&!e.objectMode){r=new y(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)}return r}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(e){if(!m)m=r(704).s;var t=new m(e);this._readableState.decoder=t;this._readableState.encoding=this._readableState.decoder.encoding;var n=this._readableState.buffer.head;var i=\"\";while(n!==null){i+=t.write(n.data);n=n.next}this._readableState.buffer.clear();if(i!==\"\")this._readableState.buffer.push(i);this._readableState.length=i.length;return this};var T=1073741824;function computeNewHighWaterMark(e){if(e>=T){e=T}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){u(\"read\",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended)){u(\"read: emitReadable\",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var n=t.needReadable;u(\"need readable\",n);if(t.length===0||t.length-e<t.highWaterMark){n=true;u(\"length less than watermark\",n)}if(t.ended||t.reading){n=false;u(\"reading or ended\",n)}else if(n){u(\"do read\");t.reading=true;t.sync=true;if(t.length===0)t.needReadable=true;this._read(t.highWaterMark);t.sync=false;if(!t.reading)e=howMuchToRead(r,t)}var i;if(e>0)i=fromList(e,t);else i=null;if(i===null){t.needReadable=t.length<=t.highWaterMark;e=0}else{t.length-=e;t.awaitDrain=0}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(i!==null)this.emit(\"data\",i);return i};function onEofChunk(e,t){u(\"onEofChunk\");if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;if(t.sync){emitReadable(e)}else{t.needReadable=false;if(!t.emittedReadable){t.emittedReadable=true;emitReadable_(e)}}}function emitReadable(e){var t=e._readableState;u(\"emitReadable\",t.needReadable,t.emittedReadable);t.needReadable=false;if(!t.emittedReadable){u(\"emitReadable\",t.flowing);t.emittedReadable=true;process.nextTick(emitReadable_,e)}}function emitReadable_(e){var t=e._readableState;u(\"emitReadable_\",t.destroyed,t.length,t.ended);if(!t.destroyed&&(t.length||t.ended)){e.emit(\"readable\");t.emittedReadable=false}t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark;flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;process.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){while(!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0)){var r=t.length;u(\"maybeReadMore read 0\");e.read(0);if(r===t.length)break}t.readingMore=false}Readable.prototype._read=function(e){S(this,new _(\"_read()\"))};Readable.prototype.pipe=function(e,t){var r=this;var n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1;u(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==false)&&e!==process.stdout&&e!==process.stderr;var o=i?onend:unpipe;if(n.endEmitted)process.nextTick(o);else r.once(\"end\",o);e.on(\"unpipe\",onunpipe);function onunpipe(e,t){u(\"onunpipe\");if(e===r){if(t&&t.hasUnpiped===false){t.hasUnpiped=true;cleanup()}}}function onend(){u(\"onend\");e.end()}var s=pipeOnDrain(r);e.on(\"drain\",s);var f=false;function cleanup(){u(\"cleanup\");e.removeListener(\"close\",onclose);e.removeListener(\"finish\",onfinish);e.removeListener(\"drain\",s);e.removeListener(\"error\",onerror);e.removeListener(\"unpipe\",onunpipe);r.removeListener(\"end\",onend);r.removeListener(\"end\",unpipe);r.removeListener(\"data\",ondata);f=true;if(n.awaitDrain&&(!e._writableState||e._writableState.needDrain))s()}r.on(\"data\",ondata);function ondata(t){u(\"ondata\");var i=e.write(t);u(\"dest.write\",i);if(i===false){if((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&indexOf(n.pipes,e)!==-1)&&!f){u(\"false write response, pause\",n.awaitDrain);n.awaitDrain++}r.pause()}}function onerror(t){u(\"onerror\",t);unpipe();e.removeListener(\"error\",onerror);if(a(e,\"error\")===0)S(e,t)}prependListener(e,\"error\",onerror);function onclose(){e.removeListener(\"finish\",onfinish);unpipe()}e.once(\"close\",onclose);function onfinish(){u(\"onfinish\");e.removeListener(\"close\",onclose);unpipe()}e.once(\"finish\",onfinish);function unpipe(){u(\"unpipe\");r.unpipe(e)}e.emit(\"pipe\",r);if(!n.flowing){u(\"pipe resume\");r.resume()}return e};function pipeOnDrain(e){return function pipeOnDrainFunctionResult(){var t=e._readableState;u(\"pipeOnDrain\",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&a(e,\"data\")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit(\"unpipe\",this,r);return this}if(!e){var n=t.pipes;var i=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var a=0;a<i;a++){n[a].emit(\"unpipe\",this,{hasUnpiped:false})}return this}var o=indexOf(t.pipes,e);if(o===-1)return this;t.pipes.splice(o,1);t.pipesCount-=1;if(t.pipesCount===1)t.pipes=t.pipes[0];e.emit(\"unpipe\",this,r);return this};Readable.prototype.on=function(e,t){var r=o.prototype.on.call(this,e,t);var n=this._readableState;if(e===\"data\"){n.readableListening=this.listenerCount(\"readable\")>0;if(n.flowing!==false)this.resume()}else if(e===\"readable\"){if(!n.endEmitted&&!n.readableListening){n.readableListening=n.needReadable=true;n.flowing=false;n.emittedReadable=false;u(\"on readable\",n.length,n.reading);if(n.length){emitReadable(this)}else if(!n.reading){process.nextTick(nReadingNextTick,this)}}}return r};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);if(e===\"readable\"){process.nextTick(updateReadableListening,this)}return r};Readable.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);if(e===\"readable\"||e===undefined){process.nextTick(updateReadableListening,this)}return t};function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0;if(t.resumeScheduled&&!t.paused){t.flowing=true}else if(e.listenerCount(\"data\")>0){e.resume()}}function nReadingNextTick(e){u(\"readable nexttick read 0\");e.read(0)}Readable.prototype.resume=function(){var e=this._readableState;if(!e.flowing){u(\"resume\");e.flowing=!e.readableListening;resume(this,e)}e.paused=false;return this};function resume(e,t){if(!t.resumeScheduled){t.resumeScheduled=true;process.nextTick(resume_,e,t)}}function resume_(e,t){u(\"resume\",t.reading);if(!t.reading){e.read(0)}t.resumeScheduled=false;e.emit(\"resume\");flow(e);if(t.flowing&&!t.reading)e.read(0)}Readable.prototype.pause=function(){u(\"call pause flowing=%j\",this._readableState.flowing);if(this._readableState.flowing!==false){u(\"pause\");this._readableState.flowing=false;this.emit(\"pause\")}this._readableState.paused=true;return this};function flow(e){var t=e._readableState;u(\"flow\",t.flowing);while(t.flowing&&e.read()!==null){}}Readable.prototype.wrap=function(e){var t=this;var r=this._readableState;var n=false;e.on(\"end\",(function(){u(\"wrapped end\");if(r.decoder&&!r.ended){var e=r.decoder.end();if(e&&e.length)t.push(e)}t.push(null)}));e.on(\"data\",(function(i){u(\"wrapped data\");if(r.decoder)i=r.decoder.write(i);if(r.objectMode&&(i===null||i===undefined))return;else if(!r.objectMode&&(!i||!i.length))return;var a=t.push(i);if(!a){n=true;e.pause()}}));for(var i in e){if(this[i]===undefined&&typeof e[i]===\"function\"){this[i]=function methodWrap(t){return function methodWrapReturnFunction(){return e[t].apply(e,arguments)}}(i)}}for(var a=0;a<E.length;a++){e.on(E[a],this.emit.bind(this,E[a]))}this._read=function(t){u(\"wrapped _read\",t);if(n){n=false;e.resume()}};return this};if(typeof Symbol===\"function\"){Readable.prototype[Symbol.asyncIterator]=function(){if(w===undefined){w=r(871)}return w(this)}}Object.defineProperty(Readable.prototype,\"readableHighWaterMark\",{enumerable:false,get:function get(){return this._readableState.highWaterMark}});Object.defineProperty(Readable.prototype,\"readableBuffer\",{enumerable:false,get:function get(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Readable.prototype,\"readableFlowing\",{enumerable:false,get:function get(){return this._readableState.flowing},set:function set(e){if(this._readableState){this._readableState.flowing=e}}});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,\"readableLength\",{enumerable:false,get:function get(){return this._readableState.length}});function fromList(e,t){if(t.length===0)return null;var r;if(t.objectMode)r=t.buffer.shift();else if(!e||e>=t.length){if(t.decoder)r=t.buffer.join(\"\");else if(t.buffer.length===1)r=t.buffer.first();else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=t.buffer.consume(e,t.decoder)}return r}function endReadable(e){var t=e._readableState;u(\"endReadable\",t.endEmitted);if(!t.endEmitted){t.ended=true;process.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){u(\"endReadableNT\",e.endEmitted,e.length);if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit(\"end\");if(e.autoDestroy){var r=t._writableState;if(!r||r.autoDestroy&&r.finished){t.destroy()}}}}if(typeof Symbol===\"function\"){Readable.from=function(e,t){if(R===undefined){R=r(727)}return R(Readable,e,t)}}function indexOf(e,t){for(var r=0,n=e.length;r<n;r++){if(e[r]===t)return r}return-1}},170:function(e,t,r){\"use strict\";e.exports=Transform;var n=r(646).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0;var f=r(403);r(782)(Transform,f);function afterTransform(e,t){var r=this._transformState;r.transforming=false;var n=r.writecb;if(n===null){return this.emit(\"error\",new a)}r.writechunk=null;r.writecb=null;if(t!=null)this.push(t);n(e);var i=this._readableState;i.reading=false;if(i.needReadable||i.length<i.highWaterMark){this._read(i.highWaterMark)}}function Transform(e){if(!(this instanceof Transform))return new Transform(e);f.call(this,e);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(e){if(typeof e.transform===\"function\")this._transform=e.transform;if(typeof e.flush===\"function\")this._flush=e.flush}this.on(\"prefinish\",prefinish)}function prefinish(){var e=this;if(typeof this._flush===\"function\"&&!this._readableState.destroyed){this._flush((function(t,r){done(e,t,r)}))}else{done(this,null,null)}}Transform.prototype.push=function(e,t){this._transformState.needTransform=false;return f.prototype.push.call(this,e,t)};Transform.prototype._transform=function(e,t,r){r(new i(\"_transform()\"))};Transform.prototype._write=function(e,t,r){var n=this._transformState;n.writecb=r;n.writechunk=e;n.writeencoding=t;if(!n.transforming){var i=this._readableState;if(n.needTransform||i.needReadable||i.length<i.highWaterMark)this._read(i.highWaterMark)}};Transform.prototype._read=function(e){var t=this._transformState;if(t.writechunk!==null&&!t.transforming){t.transforming=true;this._transform(t.writechunk,t.writeencoding,t.afterTransform)}else{t.needTransform=true}};Transform.prototype._destroy=function(e,t){f.prototype._destroy.call(this,e,(function(e){t(e)}))};function done(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null)e.push(r);if(e._writableState.length)throw new s;if(e._transformState.transforming)throw new o;return e.push(null)}},337:function(e,t,r){\"use strict\";e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var n;Writable.WritableState=WritableState;var i={deprecate:r(769)};var a=r(678);var o=r(300).Buffer;var s=__webpack_require__.g.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return o.from(e)}function _isUint8Array(e){return o.isBuffer(e)||e instanceof s}var f=r(25);var l=r(776),u=l.getHighWaterMark;var d=r(646).q,c=d.ERR_INVALID_ARG_TYPE,h=d.ERR_METHOD_NOT_IMPLEMENTED,p=d.ERR_MULTIPLE_CALLBACK,b=d.ERR_STREAM_CANNOT_PIPE,y=d.ERR_STREAM_DESTROYED,g=d.ERR_STREAM_NULL_VALUES,_=d.ERR_STREAM_WRITE_AFTER_END,v=d.ERR_UNKNOWN_ENCODING;var m=f.errorOrDestroy;r(782)(Writable,a);function nop(){}function WritableState(e,t,i){n=n||r(403);e=e||{};if(typeof i!==\"boolean\")i=t instanceof n;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;this.highWaterMark=u(this,e,\"writableHighWaterMark\",i);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var a=e.decodeStrings===false;this.decodeStrings=!a;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:i.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer \"+\"instead.\",\"DEP0003\")})}catch(e){}})();var w;if(typeof Symbol===\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]===\"function\"){w=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(e){if(w.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{w=function realHasInstance(e){return e instanceof this}}function Writable(e){n=n||r(403);var t=this instanceof n;if(!t&&!w.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t);this.writable=true;if(e){if(typeof e.write===\"function\")this._write=e.write;if(typeof e.writev===\"function\")this._writev=e.writev;if(typeof e.destroy===\"function\")this._destroy=e.destroy;if(typeof e.final===\"function\")this._final=e.final}a.call(this)}Writable.prototype.pipe=function(){m(this,new b)};function writeAfterEnd(e,t){var r=new _;m(e,r);process.nextTick(t,r)}function validChunk(e,t,r,n){var i;if(r===null){i=new g}else if(typeof r!==\"string\"&&!t.objectMode){i=new c(\"chunk\",[\"string\",\"Buffer\"],r)}if(i){m(e,i);process.nextTick(n,i);return false}return true}Writable.prototype.write=function(e,t,r){var n=this._writableState;var i=false;var a=!n.objectMode&&_isUint8Array(e);if(a&&!o.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t===\"function\"){r=t;t=null}if(a)t=\"buffer\";else if(!t)t=n.defaultEncoding;if(typeof r!==\"function\")r=nop;if(n.ending)writeAfterEnd(this,r);else if(a||validChunk(this,n,e,r)){n.pendingcb++;i=writeOrBuffer(this,n,a,e,t,r)}return i};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e===\"string\")e=e.toLowerCase();if(!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new v(e);this._writableState.defaultEncoding=e;return this};Object.defineProperty(Writable.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t===\"string\"){t=o.from(t,r)}return t}Object.defineProperty(Writable.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,n,i,a){if(!r){var o=decodeChunk(t,n,i);if(n!==o){r=true;i=\"buffer\";n=o}}var s=t.objectMode?1:n.length;t.length+=s;var f=t.length<t.highWaterMark;if(!f)t.needDrain=true;if(t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null};if(l){l.next=t.lastBufferedRequest}else{t.bufferedRequest=t.lastBufferedRequest}t.bufferedRequestCount+=1}else{doWrite(e,t,false,s,n,i,a)}return f}function doWrite(e,t,r,n,i,a,o){t.writelen=n;t.writecb=o;t.writing=true;t.sync=true;if(t.destroyed)t.onwrite(new y(\"write\"));else if(r)e._writev(i,t.onwrite);else e._write(i,a,t.onwrite);t.sync=false}function onwriteError(e,t,r,n,i){--t.pendingcb;if(r){process.nextTick(i,n);process.nextTick(finishMaybe,e,t);e._writableState.errorEmitted=true;m(e,n)}else{i(n);e._writableState.errorEmitted=true;m(e,n);finishMaybe(e,t)}}function onwriteStateUpdate(e){e.writing=false;e.writecb=null;e.length-=e.writelen;e.writelen=0}function onwrite(e,t){var r=e._writableState;var n=r.sync;var i=r.writecb;if(typeof i!==\"function\")throw new p;onwriteStateUpdate(r);if(t)onwriteError(e,r,n,t,i);else{var a=needFinish(r)||e.destroyed;if(!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest){clearBuffer(e,r)}if(n){process.nextTick(afterWrite,e,r,a,i)}else{afterWrite(e,r,a,i)}}}function afterWrite(e,t,r,n){if(!r)onwriteDrain(e,t);t.pendingcb--;n();finishMaybe(e,t)}function onwriteDrain(e,t){if(t.length===0&&t.needDrain){t.needDrain=false;e.emit(\"drain\")}}function clearBuffer(e,t){t.bufferProcessing=true;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount;var i=new Array(n);var a=t.corkedRequestsFree;a.entry=r;var o=0;var s=true;while(r){i[o]=r;if(!r.isBuf)s=false;r=r.next;o+=1}i.allBuffers=s;doWrite(e,t,true,t.length,i,\"\",a.finish);t.pendingcb++;t.lastBufferedRequest=null;if(a.next){t.corkedRequestsFree=a.next;a.next=null}else{t.corkedRequestsFree=new CorkedRequest(t)}t.bufferedRequestCount=0}else{while(r){var f=r.chunk;var l=r.encoding;var u=r.callback;var d=t.objectMode?1:f.length;doWrite(e,t,false,d,f,l,u);r=r.next;t.bufferedRequestCount--;if(t.writing){break}}if(r===null)t.lastBufferedRequest=null}t.bufferedRequest=r;t.bufferProcessing=false}Writable.prototype._write=function(e,t,r){r(new h(\"_write()\"))};Writable.prototype._writev=null;Writable.prototype.end=function(e,t,r){var n=this._writableState;if(typeof e===\"function\"){r=e;e=null;t=null}else if(typeof t===\"function\"){r=t;t=null}if(e!==null&&e!==undefined)this.write(e,t);if(n.corked){n.corked=1;this.uncork()}if(!n.ending)endWritable(this,n,r);return this};Object.defineProperty(Writable.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function needFinish(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function callFinal(e,t){e._final((function(r){t.pendingcb--;if(r){m(e,r)}t.prefinished=true;e.emit(\"prefinish\");finishMaybe(e,t)}))}function prefinish(e,t){if(!t.prefinished&&!t.finalCalled){if(typeof e._final===\"function\"&&!t.destroyed){t.pendingcb++;t.finalCalled=true;process.nextTick(callFinal,e,t)}else{t.prefinished=true;e.emit(\"prefinish\")}}}function finishMaybe(e,t){var r=needFinish(t);if(r){prefinish(e,t);if(t.pendingcb===0){t.finished=true;e.emit(\"finish\");if(t.autoDestroy){var n=e._readableState;if(!n||n.autoDestroy&&n.endEmitted){e.destroy()}}}}return r}function endWritable(e,t,r){t.ending=true;finishMaybe(e,t);if(r){if(t.finished)process.nextTick(r);else e.once(\"finish\",r)}t.ended=true;e.writable=false}function onCorkedFinish(e,t,r){var n=e.entry;e.entry=null;while(n){var i=n.callback;t.pendingcb--;i(r);n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(Writable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function set(e){if(!this._writableState){return}this._writableState.destroyed=e}});Writable.prototype.destroy=f.destroy;Writable.prototype._undestroy=f.undestroy;Writable.prototype._destroy=function(e,t){t(e)}},871:function(e,t,r){\"use strict\";var n;function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var i=r(698);var a=Symbol(\"lastResolve\");var o=Symbol(\"lastReject\");var s=Symbol(\"error\");var f=Symbol(\"ended\");var l=Symbol(\"lastPromise\");var u=Symbol(\"handlePromise\");var d=Symbol(\"stream\");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[a];if(t!==null){var r=e[d].read();if(r!==null){e[l]=null;e[a]=null;e[o]=null;t(createIterResult(r,false))}}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,n){e.then((function(){if(t[f]){r(createIterResult(undefined,true));return}t[u](r,n)}),n)}}var c=Object.getPrototypeOf((function(){}));var h=Object.setPrototypeOf((n={get stream(){return this[d]},next:function next(){var e=this;var t=this[s];if(t!==null){return Promise.reject(t)}if(this[f]){return Promise.resolve(createIterResult(undefined,true))}if(this[d].destroyed){return new Promise((function(t,r){process.nextTick((function(){if(e[s]){r(e[s])}else{t(createIterResult(undefined,true))}}))}))}var r=this[l];var n;if(r){n=new Promise(wrapForNext(r,this))}else{var i=this[d].read();if(i!==null){return Promise.resolve(createIterResult(i,false))}n=new Promise(this[u])}this[l]=n;return n}},_defineProperty(n,Symbol.asyncIterator,(function(){return this})),_defineProperty(n,\"return\",(function _return(){var e=this;return new Promise((function(t,r){e[d].destroy(null,(function(e){if(e){r(e);return}t(createIterResult(undefined,true))}))}))})),n),c);var p=function createReadableStreamAsyncIterator(e){var t;var r=Object.create(h,(t={},_defineProperty(t,d,{value:e,writable:true}),_defineProperty(t,a,{value:null,writable:true}),_defineProperty(t,o,{value:null,writable:true}),_defineProperty(t,s,{value:null,writable:true}),_defineProperty(t,f,{value:e._readableState.endEmitted,writable:true}),_defineProperty(t,u,{value:function value(e,t){var n=r[d].read();if(n){r[l]=null;r[a]=null;r[o]=null;e(createIterResult(n,false))}else{r[a]=e;r[o]=t}},writable:true}),t));r[l]=null;i(e,(function(e){if(e&&e.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var t=r[o];if(t!==null){r[l]=null;r[a]=null;r[o]=null;t(e)}r[s]=e;return}var n=r[a];if(n!==null){r[l]=null;r[a]=null;r[o]=null;n(createIterResult(undefined,true))}r[f]=true}));e.on(\"readable\",onReadable.bind(null,r));return r};e.exports=p},379:function(e,t,r){\"use strict\";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if(\"value\"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){if(t)_defineProperties(e.prototype,t);if(r)_defineProperties(e,r);return e}var n=r(300),i=n.Buffer;var a=r(837),o=a.inspect;var s=o&&o.custom||\"inspect\";function copyBuffer(e,t,r){i.prototype.copy.call(e,t,r)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}_createClass(BufferList,[{key:\"push\",value:function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length}},{key:\"unshift\",value:function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length}},{key:\"shift\",value:function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e}},{key:\"clear\",value:function clear(){this.head=this.tail=null;this.length=0}},{key:\"join\",value:function join(e){if(this.length===0)return\"\";var t=this.head;var r=\"\"+t.data;while(t=t.next){r+=e+t.data}return r}},{key:\"concat\",value:function concat(e){if(this.length===0)return i.alloc(0);var t=i.allocUnsafe(e>>>0);var r=this.head;var n=0;while(r){copyBuffer(r.data,t,n);n+=r.data.length;r=r.next}return t}},{key:\"consume\",value:function consume(e,t){var r;if(e<this.head.data.length){r=this.head.data.slice(0,e);this.head.data=this.head.data.slice(e)}else if(e===this.head.data.length){r=this.shift()}else{r=t?this._getString(e):this._getBuffer(e)}return r}},{key:\"first\",value:function first(){return this.head.data}},{key:\"_getString\",value:function _getString(e){var t=this.head;var r=1;var n=t.data;e-=n.length;while(t=t.next){var i=t.data;var a=e>i.length?i.length:e;if(a===i.length)n+=i;else n+=i.slice(0,e);e-=a;if(e===0){if(a===i.length){++r;if(t.next)this.head=t.next;else this.head=this.tail=null}else{this.head=t;t.data=i.slice(a)}break}++r}this.length-=r;return n}},{key:\"_getBuffer\",value:function _getBuffer(e){var t=i.allocUnsafe(e);var r=this.head;var n=1;r.data.copy(t);e-=r.data.length;while(r=r.next){var a=r.data;var o=e>a.length?a.length:e;a.copy(t,t.length-e,0,o);e-=o;if(e===0){if(o===a.length){++n;if(r.next)this.head=r.next;else this.head=this.tail=null}else{this.head=r;r.data=a.slice(o)}break}++n}this.length-=n;return t}},{key:s,value:function value(e,t){return o(this,_objectSpread({},t,{depth:0,customInspect:false}))}}]);return BufferList}()},25:function(e){\"use strict\";function destroy(e,t){var r=this;var n=this._readableState&&this._readableState.destroyed;var i=this._writableState&&this._writableState.destroyed;if(n||i){if(t){t(e)}else if(e){if(!this._writableState){process.nextTick(emitErrorNT,this,e)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,e)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,(function(e){if(!t&&e){if(!r._writableState){process.nextTick(emitErrorAndCloseNT,r,e)}else if(!r._writableState.errorEmitted){r._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,r,e)}else{process.nextTick(emitCloseNT,r)}}else if(t){process.nextTick(emitCloseNT,r);t(e)}else{process.nextTick(emitCloseNT,r)}}));return this}function emitErrorAndCloseNT(e,t){emitErrorNT(e,t);emitCloseNT(e)}function emitCloseNT(e){if(e._writableState&&!e._writableState.emitClose)return;if(e._readableState&&!e._readableState.emitClose)return;e.emit(\"close\")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit(\"error\",t)}function errorOrDestroy(e,t){var r=e._readableState;var n=e._writableState;if(r&&r.autoDestroy||n&&n.autoDestroy)e.destroy(t);else e.emit(\"error\",t)}e.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}},698:function(e,t,r){\"use strict\";var n=r(646).q.ERR_STREAM_PREMATURE_CLOSE;function once(e){var t=false;return function(){if(t)return;t=true;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++){n[i]=arguments[i]}e.apply(this,n)}}function noop(){}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function eos(e,t,r){if(typeof t===\"function\")return eos(e,null,t);if(!t)t={};r=once(r||noop);var i=t.readable||t.readable!==false&&e.readable;var a=t.writable||t.writable!==false&&e.writable;var o=function onlegacyfinish(){if(!e.writable)f()};var s=e._writableState&&e._writableState.finished;var f=function onfinish(){a=false;s=true;if(!i)r.call(e)};var l=e._readableState&&e._readableState.endEmitted;var u=function onend(){i=false;l=true;if(!a)r.call(e)};var d=function onerror(t){r.call(e,t)};var c=function onclose(){var t;if(i&&!l){if(!e._readableState||!e._readableState.ended)t=new n;return r.call(e,t)}if(a&&!s){if(!e._writableState||!e._writableState.ended)t=new n;return r.call(e,t)}};var h=function onrequest(){e.req.on(\"finish\",f)};if(isRequest(e)){e.on(\"complete\",f);e.on(\"abort\",c);if(e.req)h();else e.on(\"request\",h)}else if(a&&!e._writableState){e.on(\"end\",o);e.on(\"close\",o)}e.on(\"end\",u);e.on(\"finish\",f);if(t.error!==false)e.on(\"error\",d);e.on(\"close\",c);return function(){e.removeListener(\"complete\",f);e.removeListener(\"abort\",c);e.removeListener(\"request\",h);if(e.req)e.req.removeListener(\"finish\",f);e.removeListener(\"end\",o);e.removeListener(\"close\",o);e.removeListener(\"finish\",f);e.removeListener(\"end\",u);e.removeListener(\"error\",d);e.removeListener(\"close\",c)}}e.exports=eos},727:function(e,t,r){\"use strict\";function asyncGeneratorStep(e,t,r,n,i,a,o){try{var s=e[a](o);var f=s.value}catch(e){r(e);return}if(s.done){t(f)}else{Promise.resolve(f).then(n,i)}}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function _next(e){asyncGeneratorStep(a,n,i,_next,_throw,\"next\",e)}function _throw(e){asyncGeneratorStep(a,n,i,_next,_throw,\"throw\",e)}_next(undefined)}))}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var n=r(646).q.ERR_INVALID_ARG_TYPE;function from(e,t,r){var i;if(t&&typeof t.next===\"function\"){i=t}else if(t&&t[Symbol.asyncIterator])i=t[Symbol.asyncIterator]();else if(t&&t[Symbol.iterator])i=t[Symbol.iterator]();else throw new n(\"iterable\",[\"Iterable\"],t);var a=new e(_objectSpread({objectMode:true},r));var o=false;a._read=function(){if(!o){o=true;next()}};function next(){return _next2.apply(this,arguments)}function _next2(){_next2=_asyncToGenerator((function*(){try{var e=yield i.next(),t=e.value,r=e.done;if(r){a.push(null)}else if(a.push(yield t)){next()}else{o=false}}catch(e){a.destroy(e)}}));return _next2.apply(this,arguments)}return a}e.exports=from},442:function(e,t,r){\"use strict\";var n;function once(e){var t=false;return function(){if(t)return;t=true;e.apply(void 0,arguments)}}var i=r(646).q,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function destroyer(e,t,i,a){a=once(a);var s=false;e.on(\"close\",(function(){s=true}));if(n===undefined)n=r(698);n(e,{readable:t,writable:i},(function(e){if(e)return a(e);s=true;a()}));var f=false;return function(t){if(s)return;if(f)return;f=true;if(isRequest(e))return e.abort();if(typeof e.destroy===\"function\")return e.destroy();a(t||new o(\"pipe\"))}}function call(e){e()}function pipe(e,t){return e.pipe(t)}function popCallback(e){if(!e.length)return noop;if(typeof e[e.length-1]!==\"function\")return noop;return e.pop()}function pipeline(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n=popCallback(t);if(Array.isArray(t[0]))t=t[0];if(t.length<2){throw new a(\"streams\")}var i;var o=t.map((function(e,r){var a=r<t.length-1;var s=r>0;return destroyer(e,a,s,(function(e){if(!i)i=e;if(e)o.forEach(call);if(a)return;o.forEach(call);n(i)}))}));return t.reduce(pipe)}e.exports=pipeline},776:function(e,t,r){\"use strict\";var n=r(646).q.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function getHighWaterMark(e,t,r,i){var a=highWaterMarkFrom(t,i,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var o=i?r:\"highWaterMark\";throw new n(o,a)}return Math.floor(a)}return e.objectMode?16:16*1024}e.exports={getHighWaterMark:getHighWaterMark}},678:function(e,t,r){e.exports=r(781)},726:function(e,t,r){var n=r(781);if(process.env.READABLE_STREAM===\"disable\"&&n){e.exports=n.Readable;Object.assign(e.exports,n);e.exports.Stream=n}else{t=e.exports=r(709);t.Stream=n||t;t.Readable=t;t.Writable=r(337);t.Duplex=r(403);t.Transform=r(170);t.PassThrough=r(889);t.finished=r(698);t.pipeline=r(442)}},55:function(e,t,r){var n=r(300);var i=n.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow){e.exports=n}else{copyProps(n,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return i(e,t,r)}SafeBuffer.prototype=Object.create(i.prototype);copyProps(i,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e===\"number\"){throw new TypeError(\"Argument must not be a number\")}return i(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}var n=i(e);if(t!==undefined){if(typeof r===\"string\"){n.fill(t,r)}else{n.fill(t)}}else{n.fill(0)}return n};SafeBuffer.allocUnsafe=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return i(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return n.SlowBuffer(e)}},813:function(e,t,r){var n=r(450);var i=r(254);var a=r(911);var o=r(523);var s=r(310);var f=t;f.request=function(e,t){if(typeof e===\"string\")e=s.parse(e);else e=a(e);var r=__webpack_require__.g.location.protocol.search(/^https?:$/)===-1?\"http:\":\"\";var i=e.protocol||r;var o=e.hostname||e.host;var f=e.port;var l=e.path||\"/\";if(o&&o.indexOf(\":\")!==-1)o=\"[\"+o+\"]\";e.url=(o?i+\"//\"+o:\"\")+(f?\":\"+f:\"\")+l;e.method=(e.method||\"GET\").toUpperCase();e.headers=e.headers||{};var u=new n(e);if(t)u.on(\"response\",t);return u};f.get=function get(e,t){var r=f.request(e,t);r.end();return r};f.ClientRequest=n;f.IncomingMessage=i.IncomingMessage;f.Agent=function(){};f.Agent.defaultMaxSockets=4;f.globalAgent=new f.Agent;f.STATUS_CODES=o;f.METHODS=[\"CHECKOUT\",\"CONNECT\",\"COPY\",\"DELETE\",\"GET\",\"HEAD\",\"LOCK\",\"M-SEARCH\",\"MERGE\",\"MKACTIVITY\",\"MKCOL\",\"MOVE\",\"NOTIFY\",\"OPTIONS\",\"PATCH\",\"POST\",\"PROPFIND\",\"PROPPATCH\",\"PURGE\",\"PUT\",\"REPORT\",\"SEARCH\",\"SUBSCRIBE\",\"TRACE\",\"UNLOCK\",\"UNSUBSCRIBE\"]},301:function(e,t){t.fetch=isFunction(__webpack_require__.g.fetch)&&isFunction(__webpack_require__.g.ReadableStream);t.writableStream=isFunction(__webpack_require__.g.WritableStream);t.abortController=isFunction(__webpack_require__.g.AbortController);var r;function getXHR(){if(r!==undefined)return r;if(__webpack_require__.g.XMLHttpRequest){r=new __webpack_require__.g.XMLHttpRequest;try{r.open(\"GET\",__webpack_require__.g.XDomainRequest?\"/\":\"https://example.com\")}catch(e){r=null}}else{r=null}return r}function checkTypeSupport(e){var t=getXHR();if(!t)return false;try{t.responseType=e;return t.responseType===e}catch(e){}return false}t.arraybuffer=t.fetch||checkTypeSupport(\"arraybuffer\");t.msstream=!t.fetch&&checkTypeSupport(\"ms-stream\");t.mozchunkedarraybuffer=!t.fetch&&checkTypeSupport(\"moz-chunked-arraybuffer\");t.overrideMimeType=t.fetch||(getXHR()?isFunction(getXHR().overrideMimeType):false);function isFunction(e){return typeof e===\"function\"}r=null},450:function(e,t,r){var n=r(301);var i=r(782);var a=r(254);var o=r(726);var s=a.IncomingMessage;var f=a.readyStates;function decideMode(e,t){if(n.fetch&&t){return\"fetch\"}else if(n.mozchunkedarraybuffer){return\"moz-chunked-arraybuffer\"}else if(n.msstream){return\"ms-stream\"}else if(n.arraybuffer&&e){return\"arraybuffer\"}else{return\"text\"}}var l=e.exports=function(e){var t=this;o.Writable.call(t);t._opts=e;t._body=[];t._headers={};if(e.auth)t.setHeader(\"Authorization\",\"Basic \"+Buffer.from(e.auth).toString(\"base64\"));Object.keys(e.headers).forEach((function(r){t.setHeader(r,e.headers[r])}));var r;var i=true;if(e.mode===\"disable-fetch\"||\"requestTimeout\"in e&&!n.abortController){i=false;r=true}else if(e.mode===\"prefer-streaming\"){r=false}else if(e.mode===\"allow-wrong-content-type\"){r=!n.overrideMimeType}else if(!e.mode||e.mode===\"default\"||e.mode===\"prefer-fast\"){r=true}else{throw new Error(\"Invalid value for opts.mode\")}t._mode=decideMode(r,i);t._fetchTimer=null;t.on(\"finish\",(function(){t._onFinish()}))};i(l,o.Writable);l.prototype.setHeader=function(e,t){var r=this;var n=e.toLowerCase();if(u.indexOf(n)!==-1)return;r._headers[n]={name:e,value:t}};l.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];if(t)return t.value;return null};l.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]};l.prototype._onFinish=function(){var e=this;if(e._destroyed)return;var t=e._opts;var r=e._headers;var i=null;if(t.method!==\"GET\"&&t.method!==\"HEAD\"){i=new Blob(e._body,{type:(r[\"content-type\"]||{}).value||\"\"})}var a=[];Object.keys(r).forEach((function(e){var t=r[e].name;var n=r[e].value;if(Array.isArray(n)){n.forEach((function(e){a.push([t,e])}))}else{a.push([t,n])}}));if(e._mode===\"fetch\"){var o=null;if(n.abortController){var s=new AbortController;o=s.signal;e._fetchAbortController=s;if(\"requestTimeout\"in t&&t.requestTimeout!==0){e._fetchTimer=__webpack_require__.g.setTimeout((function(){e.emit(\"requestTimeout\");if(e._fetchAbortController)e._fetchAbortController.abort()}),t.requestTimeout)}}__webpack_require__.g.fetch(e._opts.url,{method:e._opts.method,headers:a,body:i||undefined,mode:\"cors\",credentials:t.withCredentials?\"include\":\"same-origin\",signal:o}).then((function(t){e._fetchResponse=t;e._connect()}),(function(t){__webpack_require__.g.clearTimeout(e._fetchTimer);if(!e._destroyed)e.emit(\"error\",t)}))}else{var l=e._xhr=new __webpack_require__.g.XMLHttpRequest;try{l.open(e._opts.method,e._opts.url,true)}catch(t){process.nextTick((function(){e.emit(\"error\",t)}));return}if(\"responseType\"in l)l.responseType=e._mode;if(\"withCredentials\"in l)l.withCredentials=!!t.withCredentials;if(e._mode===\"text\"&&\"overrideMimeType\"in l)l.overrideMimeType(\"text/plain; charset=x-user-defined\");if(\"requestTimeout\"in t){l.timeout=t.requestTimeout;l.ontimeout=function(){e.emit(\"requestTimeout\")}}a.forEach((function(e){l.setRequestHeader(e[0],e[1])}));e._response=null;l.onreadystatechange=function(){switch(l.readyState){case f.LOADING:case f.DONE:e._onXHRProgress();break}};if(e._mode===\"moz-chunked-arraybuffer\"){l.onprogress=function(){e._onXHRProgress()}}l.onerror=function(){if(e._destroyed)return;e.emit(\"error\",new Error(\"XHR error\"))};try{l.send(i)}catch(t){process.nextTick((function(){e.emit(\"error\",t)}));return}}};function statusValid(e){try{var t=e.status;return t!==null&&t!==0}catch(e){return false}}l.prototype._onXHRProgress=function(){var e=this;if(!statusValid(e._xhr)||e._destroyed)return;if(!e._response)e._connect();e._response._onXHRProgress()};l.prototype._connect=function(){var e=this;if(e._destroyed)return;e._response=new s(e._xhr,e._fetchResponse,e._mode,e._fetchTimer);e._response.on(\"error\",(function(t){e.emit(\"error\",t)}));e.emit(\"response\",e._response)};l.prototype._write=function(e,t,r){var n=this;n._body.push(e);r()};l.prototype.abort=l.prototype.destroy=function(){var e=this;e._destroyed=true;__webpack_require__.g.clearTimeout(e._fetchTimer);if(e._response)e._response._destroyed=true;if(e._xhr)e._xhr.abort();else if(e._fetchAbortController)e._fetchAbortController.abort()};l.prototype.end=function(e,t,r){var n=this;if(typeof e===\"function\"){r=e;e=undefined}o.Writable.prototype.end.call(n,e,t,r)};l.prototype.flushHeaders=function(){};l.prototype.setTimeout=function(){};l.prototype.setNoDelay=function(){};l.prototype.setSocketKeepAlive=function(){};var u=[\"accept-charset\",\"accept-encoding\",\"access-control-request-headers\",\"access-control-request-method\",\"connection\",\"content-length\",\"cookie\",\"cookie2\",\"date\",\"dnt\",\"expect\",\"host\",\"keep-alive\",\"origin\",\"referer\",\"te\",\"trailer\",\"transfer-encoding\",\"upgrade\",\"via\"]},254:function(e,t,r){var n=r(301);var i=r(782);var a=r(726);var o=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4};var s=t.IncomingMessage=function(e,t,r,i){var o=this;a.Readable.call(o);o._mode=r;o.headers={};o.rawHeaders=[];o.trailers={};o.rawTrailers=[];o.on(\"end\",(function(){process.nextTick((function(){o.emit(\"close\")}))}));if(r===\"fetch\"){o._fetchResponse=t;o.url=t.url;o.statusCode=t.status;o.statusMessage=t.statusText;t.headers.forEach((function(e,t){o.headers[t.toLowerCase()]=e;o.rawHeaders.push(t,e)}));if(n.writableStream){var s=new WritableStream({write:function(e){return new Promise((function(t,r){if(o._destroyed){r()}else if(o.push(Buffer.from(e))){t()}else{o._resumeFetch=t}}))},close:function(){__webpack_require__.g.clearTimeout(i);if(!o._destroyed)o.push(null)},abort:function(e){if(!o._destroyed)o.emit(\"error\",e)}});try{t.body.pipeTo(s).catch((function(e){__webpack_require__.g.clearTimeout(i);if(!o._destroyed)o.emit(\"error\",e)}));return}catch(e){}}var f=t.body.getReader();function read(){f.read().then((function(e){if(o._destroyed)return;if(e.done){__webpack_require__.g.clearTimeout(i);o.push(null);return}o.push(Buffer.from(e.value));read()})).catch((function(e){__webpack_require__.g.clearTimeout(i);if(!o._destroyed)o.emit(\"error\",e)}))}read()}else{o._xhr=e;o._pos=0;o.url=e.responseURL;o.statusCode=e.status;o.statusMessage=e.statusText;var l=e.getAllResponseHeaders().split(/\\r?\\n/);l.forEach((function(e){var t=e.match(/^([^:]+):\\s*(.*)/);if(t){var r=t[1].toLowerCase();if(r===\"set-cookie\"){if(o.headers[r]===undefined){o.headers[r]=[]}o.headers[r].push(t[2])}else if(o.headers[r]!==undefined){o.headers[r]+=\", \"+t[2]}else{o.headers[r]=t[2]}o.rawHeaders.push(t[1],t[2])}}));o._charset=\"x-user-defined\";if(!n.overrideMimeType){var u=o.rawHeaders[\"mime-type\"];if(u){var d=u.match(/;\\s*charset=([^;])(;|$)/);if(d){o._charset=d[1].toLowerCase()}}if(!o._charset)o._charset=\"utf-8\"}}};i(s,a.Readable);s.prototype._read=function(){var e=this;var t=e._resumeFetch;if(t){e._resumeFetch=null;t()}};s.prototype._onXHRProgress=function(){var e=this;var t=e._xhr;var r=null;switch(e._mode){case\"text\":r=t.responseText;if(r.length>e._pos){var n=r.substr(e._pos);if(e._charset===\"x-user-defined\"){var i=Buffer.alloc(n.length);for(var a=0;a<n.length;a++)i[a]=n.charCodeAt(a)&255;e.push(i)}else{e.push(n,e._charset)}e._pos=r.length}break;case\"arraybuffer\":if(t.readyState!==o.DONE||!t.response)break;r=t.response;e.push(Buffer.from(new Uint8Array(r)));break;case\"moz-chunked-arraybuffer\":r=t.response;if(t.readyState!==o.LOADING||!r)break;e.push(Buffer.from(new Uint8Array(r)));break;case\"ms-stream\":r=t.response;if(t.readyState!==o.LOADING)break;var s=new __webpack_require__.g.MSStreamReader;s.onprogress=function(){if(s.result.byteLength>e._pos){e.push(Buffer.from(new Uint8Array(s.result.slice(e._pos))));e._pos=s.result.byteLength}};s.onload=function(){e.push(null)};s.readAsArrayBuffer(r);break}if(e._xhr.readyState===o.DONE&&e._mode!==\"ms-stream\"){e.push(null)}}},704:function(e,t,r){\"use strict\";var n=r(55).Buffer;var i=n.isEncoding||function(e){e=\"\"+e;switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return true;default:return false}};function _normalizeEncoding(e){if(!e)return\"utf8\";var t;while(true){switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!==\"string\"&&(n.isEncoding===i||!i(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}t.s=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case\"utf16le\":this.text=utf16Text;this.end=utf16End;t=4;break;case\"utf8\":this.fillLast=utf8FillLast;t=4;break;case\"base64\":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=n.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return\"\";var t;var r;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return\"\";r=this.lastNeed;this.lastNeed=0}else{r=0}if(r<e.length)return t?t+this.text(e,r):this.text(e,r);return t||\"\"};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(e){if(this.lastNeed<=e.length){e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length);this.lastNeed-=e.length};function utf8CheckByte(e){if(e<=127)return 0;else if(e>>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var n=t.length-1;if(n<r)return 0;var i=utf8CheckByte(t[n]);if(i>=0){if(i>0)e.lastNeed=i-1;return i}if(--n<r||i===-2)return 0;i=utf8CheckByte(t[n]);if(i>=0){if(i>0)e.lastNeed=i-2;return i}if(--n<r||i===-2)return 0;i=utf8CheckByte(t[n]);if(i>=0){if(i>0){if(i===2)i=0;else e.lastNeed=i-3}return i}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return\"�\"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return\"�\"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return\"�\"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,n);return e.toString(\"utf8\",t,n)}function utf8End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+\"�\";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString(\"utf16le\",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString(\"base64\",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString(\"base64\",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+this.lastChar.toString(\"base64\",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):\"\"}},769:function(e){e.exports=deprecate;function deprecate(e,t){if(config(\"noDeprecation\")){return e}var r=false;function deprecated(){if(!r){if(config(\"throwDeprecation\")){throw new Error(t)}else if(config(\"traceDeprecation\")){console.trace(t)}else{console.warn(t)}r=true}return e.apply(this,arguments)}return deprecated}function config(e){try{if(!__webpack_require__.g.localStorage)return false}catch(e){return false}var t=__webpack_require__.g.localStorage[e];if(null==t)return false;return String(t).toLowerCase()===\"true\"}},911:function(e){e.exports=extend;var t=Object.prototype.hasOwnProperty;function extend(){var e={};for(var r=0;r<arguments.length;r++){var n=arguments[r];for(var i in n){if(t.call(n,i)){e[i]=n[i]}}}return e}},300:function(e){\"use strict\";e.exports=__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")},361:function(e){\"use strict\";e.exports=__webpack_require__(/*! events */ \"./node_modules/events/events.js\")},781:function(e){\"use strict\";e.exports=__webpack_require__(/*! stream */ \"./node_modules/next/dist/compiled/stream-browserify/index.js\")},310:function(e){\"use strict\";e.exports=__webpack_require__(/*! url */ \"./node_modules/next/dist/compiled/native-url/index.js\")},837:function(e){\"use strict\";e.exports=__webpack_require__(/*! util */ \"./node_modules/util/util.js\")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var a=true;try{e[r](i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(813);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmVhbS1odHRwL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7OztBQUFBLFlBQVksT0FBTyxnQkFBZ0IsV0FBVywwM0NBQTAzQyxpQkFBaUIsc0NBQXNDLGlDQUFpQyxNQUFNLFdBQVcsdUNBQXVDLGFBQWEsMERBQTBELElBQUksS0FBSyxpQ0FBaUMsTUFBTSxXQUFXLDBCQUEwQiwrQkFBK0IseUJBQXlCLDZCQUE2QixpQkFBaUIsYUFBYSxXQUFXLGdDQUFnQyxPQUFPLFFBQVEsMkJBQTJCLHdCQUF3QixTQUFTLEtBQUssaUJBQWlCLDBCQUEwQixtQkFBbUIsMEJBQTBCLGdDQUFnQywyQkFBMkIsZUFBZSxvQkFBb0IscUJBQXFCLGlCQUFpQix3QkFBd0IsUUFBUSxnQkFBZ0IsR0FBRyxFQUFFLDBCQUEwQixjQUFjLGVBQWUsZ0JBQWdCLEdBQUcsRUFBRSxNQUFNLEtBQUssS0FBSyxFQUFFLEtBQUssWUFBWSxHQUFHLEVBQUUsS0FBSyxHQUFHLEtBQUssWUFBWSxHQUFHLEVBQUUsVUFBVSxHQUFHLDJCQUEyQiwyQ0FBMkMseUJBQXlCLDhCQUE4QixXQUFXLHFDQUFxQyx5QkFBeUIsd0JBQXdCLElBQUksd0JBQXdCLGFBQWEsS0FBSyw0QkFBNEIsdURBQXVELHdEQUF3RCxhQUFhLHdEQUF3RCxNQUFNLDhDQUE4QyxnQkFBZ0Isd0JBQXdCLEtBQUssWUFBWSxNQUFNLDRCQUE0QixTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyw4Q0FBOEMsVUFBVSxFQUFFLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsU0FBUyxFQUFFLFNBQVMsYUFBYSx1RUFBdUUsMERBQTBELDRDQUE0QyxHQUFHLGdFQUFnRSxvREFBb0QsdURBQXVELEdBQUcsMEVBQTBFLHNFQUFzRSxnRUFBZ0UsMEZBQTBGLG9EQUFvRCw2QkFBNkIsYUFBYSx5RkFBeUYsY0FBYyxxQkFBcUIsYUFBYSwrQkFBK0IsU0FBUyxnQkFBZ0IsVUFBVSxVQUFVLGlCQUFpQixhQUFhLGFBQWEsa0JBQWtCLHFCQUFxQixZQUFZLFdBQVcsS0FBSyxXQUFXLDREQUE0RCxtQkFBbUIsa0RBQWtELGVBQWUsZUFBZSx3QkFBd0IsTUFBTSwwQ0FBMEMsMENBQTBDLDRCQUE0Qix5QkFBeUIseUJBQXlCLGdFQUFnRSxvQ0FBb0MsMENBQTBDLEVBQUUseURBQXlELG9DQUFvQyw2REFBNkQsRUFBRSx5REFBeUQsb0NBQW9DLG1DQUFtQyxFQUFFLGlCQUFpQixvQ0FBb0MsT0FBTyx3QkFBd0Isb0JBQW9CLFFBQVEsb0RBQW9ELG9DQUFvQyxxRUFBcUUsYUFBYSxvRUFBb0UscUJBQXFCLHFFQUFxRSxPQUFPLGdDQUFnQyxpQ0FBaUMsRUFBRSxxQkFBcUIsYUFBYSxzQkFBc0IsYUFBYSxzQkFBc0Isd0JBQXdCLDREQUE0RCxlQUFlLGlEQUFpRCxXQUFXLHFCQUFxQixhQUFhLG1CQUFtQixNQUFNLHFDQUFxQywwQkFBMEIsb0NBQW9DLDhCQUE4QixhQUFhLG9CQUFvQixNQUFNLHFCQUFNLDBCQUEwQixnQ0FBZ0MsaUJBQWlCLDBCQUEwQixxQ0FBcUMsYUFBYSxNQUFNLGtCQUFrQix1QkFBdUIsS0FBSyxxQkFBcUIsYUFBYSxZQUFZLGtDQUFrQyw0SUFBNEksTUFBTSxNQUFNLE1BQU0sbUJBQW1CLHVCQUF1QixtREFBbUQsZ0NBQWdDLHVFQUF1RSx1Q0FBdUMsNERBQTRELG1DQUFtQyw4QkFBOEIsWUFBWSxRQUFRLHlDQUF5QywrQkFBK0IsNkRBQTZELHVEQUF1RCxrQkFBa0IsY0FBYyxnQkFBZ0Isa0JBQWtCLGtCQUFrQixpQkFBaUIsc0JBQXNCLG1CQUFtQixlQUFlLHdCQUF3QiwyQkFBMkIsNkJBQTZCLDJCQUEyQixpQkFBaUIsbUNBQW1DLGlDQUFpQyxxQkFBcUIsK0NBQStDLGtCQUFrQix1QkFBdUIsa0JBQWtCLG1CQUFtQixlQUFlLGlCQUFpQiwrQkFBK0IsMEJBQTBCLHFCQUFxQixZQUFZLHNEQUFzRCx3QkFBd0IsZ0RBQWdELG1CQUFtQixNQUFNLGdEQUFnRCx5REFBeUQsYUFBYSxzREFBc0Qsb0NBQW9DLG9DQUFvQyxhQUFhLHFDQUFxQyxxQkFBcUIseUJBQXlCLE9BQU8saUNBQWlDLEVBQUUscUNBQXFDLDBDQUEwQywwQ0FBMEMsTUFBTSxzQ0FBc0MsMEJBQTBCLE1BQU0sa0JBQWtCLHdCQUF3Qix1QkFBdUIsbUJBQW1CLGNBQWMsS0FBSyxRQUFRLEtBQUssT0FBTywyQ0FBMkMsdUNBQXVDLGlEQUFpRCxxQ0FBcUMsd0JBQXdCLHVCQUF1QixhQUFhLGdCQUFnQixnQkFBZ0IsS0FBSyxNQUFNLDBCQUEwQixNQUFNLE9BQU8scUNBQXFDLCtFQUErRSx5QkFBeUIsTUFBTSwyQkFBMkIsMEJBQTBCLGlCQUFpQixXQUFXLHFCQUFxQixhQUFhLEtBQUssZ0JBQWdCLGtCQUFrQixxQkFBcUIsb0RBQW9ELHdCQUF3QixLQUFLLHdCQUF3QixZQUFZLGdCQUFnQixvQkFBb0IseURBQXlELDJCQUEyQixxQ0FBcUMsZUFBZSxpQkFBaUIsS0FBSyxrQ0FBa0MseUJBQXlCLHNCQUFzQixrQ0FBa0MsbUJBQW1CLDJCQUEyQixNQUFNLHlFQUF5RSxvREFBb0QsU0FBUyx1Q0FBdUMsNENBQTRDLDJDQUEyQyxpQkFBaUIsZUFBZSw4QkFBOEIsa0VBQWtFLHNDQUFzQyxTQUFTLGdCQUFnQixtQkFBbUIsU0FBUyxtQ0FBbUMsNkNBQTZDLG9DQUFvQyxhQUFhLGlCQUFpQixvQ0FBb0MsU0FBUyxJQUFJLEtBQUssSUFBSSxTQUFTLFNBQVMsU0FBUyxTQUFTLFVBQVUsSUFBSSxTQUFTLDRCQUE0Qix3Q0FBd0MseUJBQXlCLFVBQVUsd0RBQXdELHFCQUFxQixnRUFBZ0Usd0JBQXdCLGFBQWEsb0JBQW9CLFNBQVMsZ0JBQWdCLG9DQUFvQyxZQUFZLGlCQUFpQiwwQkFBMEIsUUFBUSxpQ0FBaUMsaUdBQWlHLHlDQUF5QywyQ0FBMkMsd0JBQXdCLFlBQVkscUJBQXFCLG1CQUFtQixrQ0FBa0MsWUFBWSxxQkFBcUIscUJBQXFCLDZDQUE2QyxPQUFPLGtDQUFrQyx1QkFBdUIsUUFBUSx3QkFBd0IsV0FBVyxhQUFhLGVBQWUsWUFBWSxvQ0FBb0MsNEJBQTRCLGFBQWEsbUNBQW1DLE1BQU0sdUJBQXVCLFlBQVksYUFBYSx5Q0FBeUMsSUFBSSxLQUFLLFlBQVksZUFBZSxpQkFBaUIsZ0NBQWdDLG9DQUFvQyxnQ0FBZ0MsVUFBVSx5QkFBeUIsZ0JBQWdCLGtCQUFrQixjQUFjLHNCQUFzQixnQkFBZ0IsaUJBQWlCLG1DQUFtQyxhQUFhLFdBQVcsZ0JBQWdCLEtBQUsscUJBQXFCLHVCQUF1Qix1QkFBdUIsbUJBQW1CLHlCQUF5Qix1QkFBdUIsbURBQW1ELHFCQUFxQix1QkFBdUIsNEJBQTRCLHVCQUF1QixPQUFPLDRCQUE0QiwwQkFBMEIsdUJBQXVCLGdEQUFnRCxzQ0FBc0MsbUJBQW1CLHdCQUF3QiwrREFBK0QsUUFBUSw0QkFBNEIsbUJBQW1CLG1CQUFtQixPQUFPLCtCQUErQiw2QkFBNkIsaUZBQWlGLGVBQWUsMEJBQTBCLFVBQVUsc0JBQXNCLG9CQUFvQixxQ0FBcUMsMEJBQTBCLHNDQUFzQyxXQUFXLDBCQUEwQixxQkFBcUIsaUJBQWlCLE1BQU0sMkJBQTJCLE1BQU0sd0JBQXdCLE1BQU0sZ0JBQWdCLDBDQUEwQywrQkFBK0IsT0FBTyxhQUFhLE9BQU8sUUFBUSxxQkFBcUIsZ0JBQWdCLE9BQU8sYUFBYSxxQkFBcUIsd0JBQXdCLHVCQUF1QixjQUFjLFVBQVUsNEJBQTRCLGtCQUFrQixZQUFZLGlCQUFpQixXQUFXLFFBQVEscUJBQXFCLGdCQUFnQixZQUFZLG1CQUFtQixhQUFhLGtDQUFrQyxvQ0FBb0MsNEJBQTRCLGtDQUFrQyxvQ0FBb0MsOEJBQThCLCtCQUErQixnQ0FBZ0MsT0FBTyxxRUFBcUUsb0JBQW9CLG1CQUFtQixZQUFZLGlCQUFpQixrQkFBa0IsY0FBYyxpRkFBaUYsOENBQThDLGVBQWUsV0FBVyxvQkFBb0IsZUFBZSxTQUFTLGtDQUFrQywyQkFBMkIsbUNBQW1DLG1CQUFtQixvQ0FBb0MsU0FBUyx3QkFBd0Isb0JBQW9CLGNBQWMsa0NBQWtDLFNBQVMsMEJBQTBCLGtCQUFrQixZQUFZLFlBQVksaUJBQWlCLGVBQWUsaUJBQWlCLFdBQVcsVUFBVSx3QkFBd0IsNENBQTRDLHVCQUF1Qiw4QkFBOEIsK0JBQStCLGtDQUFrQyxlQUFlLFVBQVUsc0NBQXNDLDBCQUEwQixPQUFPLGtCQUFrQixnQ0FBZ0MscUJBQXFCLDhCQUE4QixnQkFBZ0IsYUFBYSxlQUFlLGdCQUFnQiw2QkFBNkIsWUFBWSxPQUFPLGNBQWMsbUJBQW1CLGFBQWEsZUFBZSxnQkFBZ0IsWUFBWSxJQUFJLEtBQUsseUJBQXlCLGlCQUFpQixFQUFFLFlBQVkseUJBQXlCLHNCQUFzQixvQkFBb0IsZ0JBQWdCLHVDQUF1Qyx3QkFBd0IsYUFBYSxvQ0FBb0Msb0NBQW9DLDBCQUEwQixlQUFlLHFEQUFxRCxtQ0FBbUMsd0JBQXdCLHdDQUF3Qyx3Q0FBd0MsZ0JBQWdCLHdCQUF3QixvQ0FBb0MsYUFBYSxtQkFBbUIsb0JBQW9CLE9BQU8sbUNBQW1DLFVBQVUscURBQXFELGdEQUFnRCxnREFBZ0QsbUJBQW1CLE9BQU8sd0NBQXdDLFVBQVUsa0RBQWtELDJEQUEyRCxrQ0FBa0MsT0FBTyx3Q0FBd0MsVUFBVSxvQ0FBb0MsdUJBQXVCLGtEQUFrRCxpQ0FBaUMsZUFBZSxtQ0FBbUMsWUFBWSw2QkFBNkIsOEJBQThCLFVBQVUscUNBQXFDLDBCQUEwQixlQUFlLFlBQVksK0JBQStCLGVBQWUsZUFBZSxhQUFhLHFCQUFxQix1QkFBdUIsdUJBQXVCLE9BQU8sd0JBQXdCLHNCQUFzQixzQkFBc0IsZUFBZSxVQUFVLHdCQUF3QixpQkFBaUIsUUFBUSxtQ0FBbUMsb0NBQW9DLHVEQUF1RCx3Q0FBd0MsV0FBVyxrQ0FBa0MsbUJBQW1CLGdDQUFnQyxhQUFhLGlCQUFpQix1QkFBdUIsb0JBQW9CLG9DQUFvQyxvQ0FBb0MsV0FBVywwQkFBMEIsWUFBWSx1QkFBdUIsaUJBQWlCLHdCQUF3QixzQkFBc0IseUJBQXlCLGFBQWEsR0FBRyx5QkFBeUIsa0JBQWtCLGtDQUFrQyxrREFBa0QsOENBQThDLGdCQUFnQixPQUFPLE9BQU8sV0FBVyxHQUFHLGdCQUFnQixrREFBa0QsK0JBQStCLDJDQUEyQyxnQ0FBZ0MsS0FBSyxZQUFZLFdBQVcsS0FBSyxxQ0FBcUMsdUJBQXVCLHFCQUFxQixNQUFNLFFBQVEsYUFBYSxhQUFhLCtCQUErQixvREFBb0Qsa0JBQWtCLFNBQVMsZ0JBQWdCLGtFQUFrRSxvQ0FBb0MsMENBQTBDLEVBQUUsMkRBQTJELG9DQUFvQyx3REFBd0QsRUFBRSw0REFBNEQsb0NBQW9DLG1DQUFtQyxxQkFBcUIsd0JBQXdCLGdDQUFnQyxFQUFFLDRCQUE0QiwyREFBMkQsb0NBQW9DLG1DQUFtQyxFQUFFLHVCQUF1Qiw0QkFBNEIsTUFBTSxtQ0FBbUMseUJBQXlCLGlDQUFpQywrQ0FBK0MsaUNBQWlDLGlCQUFpQixLQUFLLGdDQUFnQyxTQUFTLHdCQUF3Qix1QkFBdUIsOEJBQThCLGtCQUFrQixhQUFhLE9BQU8sOEJBQThCLDRCQUE0Qix5Q0FBeUMsZ0NBQWdDLGtCQUFrQixpQkFBaUIsY0FBYyxrQkFBa0IsdUJBQXVCLGtDQUFrQyxlQUFlLCtCQUErQiw0QkFBNEIsa0JBQWtCLFNBQVMsd0JBQXdCLHNCQUFzQix1QkFBdUIsSUFBSSxLQUFLLHFCQUFxQixVQUFVLHFCQUFxQixhQUFhLG9CQUFvQiwrSUFBK0ksYUFBYSxvQkFBb0IsNkJBQTZCLDJCQUEyQixxQkFBcUIsZ0JBQWdCLGFBQWEsZ0NBQWdDLGtCQUFrQixlQUFlLHdCQUF3QixLQUFLLDBCQUEwQixnQkFBZ0IsNkNBQTZDLDZCQUE2QixzQkFBc0Isd0RBQXdELGVBQWUsc0JBQXNCLGlJQUFpSSxzQ0FBc0MsK0JBQStCLE1BQU0sK0RBQStELG1EQUFtRCwrQkFBK0IscUJBQXFCLFdBQVcsb0VBQW9FLDJCQUEyQixZQUFZLEdBQUcsS0FBSyxzQkFBc0IsdUNBQXVDLHlDQUF5Qyx3Q0FBd0MsK0NBQStDLDBCQUEwQiwyQ0FBMkMsMkJBQTJCLFlBQVksZUFBZSxrQkFBa0Isb0JBQW9CLDBCQUEwQiwyRkFBMkYsc0NBQXNDLDJCQUEyQix5Q0FBeUMsb0JBQW9CLCtEQUErRCxLQUFLLHVCQUF1QiwyQ0FBMkMsOENBQThDLEtBQUssSUFBSSxxQkFBcUIsOEJBQThCLHFCQUFxQix1Q0FBdUMsOENBQThDLHFCQUFxQixxQkFBcUIsYUFBYSxtQkFBbUIseUJBQXlCLGFBQWEsZ0JBQWdCLGdCQUFnQixlQUFlLDBCQUEwQixXQUFXLGVBQWUsZ0JBQWdCLHVCQUF1QixxQkFBcUIsTUFBTSxxQ0FBcUMsT0FBTyxrQkFBa0IsYUFBYSxvQkFBb0IsTUFBTSxxQkFBTSwwQkFBMEIsZ0NBQWdDLGlCQUFpQiwwQkFBMEIscUNBQXFDLFlBQVksa0NBQWtDLHdPQUF3Tyx1QkFBdUIsbUJBQW1CLGdCQUFnQiw4QkFBOEIsWUFBWSxRQUFRLHlDQUF5QywrQkFBK0IsNkRBQTZELHVEQUF1RCx1QkFBdUIscUJBQXFCLGtCQUFrQixpQkFBaUIsb0JBQW9CLHFCQUFxQiw4QkFBOEIsc0JBQXNCLCtDQUErQyxjQUFjLG1CQUFtQixjQUFjLGVBQWUsNEJBQTRCLHlCQUF5QixjQUFjLGtCQUFrQixnQkFBZ0IsMEJBQTBCLDhCQUE4QixpQkFBaUIsdUJBQXVCLHdCQUF3QixtQ0FBbUMsaUNBQWlDLDRCQUE0QixnREFBZ0QsdURBQXVELDJCQUEyQixTQUFTLFNBQVMsVUFBVSxTQUFTLFVBQVUsWUFBWSxJQUFJLHdEQUF3RCxzREFBc0Qsd0JBQXdCLDZGQUE2RixFQUFFLFdBQVcsSUFBSSxNQUFNLCtHQUErRyx5Q0FBeUMsbURBQW1ELHdCQUF3Qiw4QkFBOEIsZ0NBQWdDLHFEQUFxRCxFQUFFLEtBQUssOEJBQThCLDBCQUEwQixxQkFBcUIsWUFBWSx3QkFBd0IscURBQXFELGdEQUFnRCxtQkFBbUIsTUFBTSxtREFBbUQsc0RBQXNELHlEQUF5RCxtREFBbUQsYUFBYSxtQ0FBbUMsZUFBZSw0QkFBNEIsWUFBWSxPQUFPLE9BQU8sZUFBZSw2QkFBNkIsTUFBTSxhQUFhLFFBQVEsNENBQTRDLHVDQUF1QyxNQUFNLE9BQU8sT0FBTyxlQUFlLGFBQWEsWUFBWSx5Q0FBeUMsMEJBQTBCLFlBQVksc0NBQXNDLHNCQUFzQix5QkFBeUIsMEJBQTBCLElBQUksT0FBTyxnQkFBZ0IsK0JBQStCLCtCQUErQixrQ0FBa0MsbUNBQW1DLGNBQWMsZ0NBQWdDLFVBQVUsbUNBQW1DLDhCQUE4QixxQ0FBcUMsMEJBQTBCLGFBQWEsV0FBVyx1RkFBdUYscUVBQXFFLHlDQUF5QyxpSkFBaUosc0NBQXNDLGFBQWEsMkRBQTJELG9DQUFvQyw2REFBNkQsRUFBRSw0QkFBNEIsZ0VBQWdFLGNBQWMsU0FBUyxrRUFBa0Usb0NBQW9DLDBDQUEwQyxFQUFFLG9DQUFvQyxPQUFPLHlCQUF5QixVQUFVLE9BQU8sV0FBVyxLQUFLLDhCQUE4QixZQUFZLCtCQUErQix1QkFBdUIsd0JBQXdCLDRCQUE0Qix1QkFBdUIsaURBQWlELE1BQU0sNkJBQTZCLEtBQUssd0NBQXdDLDBCQUEwQixLQUFLLDJCQUEyQixTQUFTLGdDQUFnQyxhQUFhLFlBQVksZUFBZSxZQUFZLHlDQUF5QyxpQ0FBaUMsNkJBQTZCLGFBQWEsaUNBQWlDLGNBQWMsTUFBTSxPQUFPLGVBQWUsT0FBTywyQkFBMkIsbUNBQW1DLE9BQU8sS0FBSyxLQUFLLG1DQUFtQyxPQUFPLGtCQUFrQiwrQkFBK0IsZ0JBQWdCLGVBQWUscUJBQXFCLGFBQWEsc0JBQXNCLHVCQUF1QixhQUFhLGdCQUFnQixxQ0FBcUMsc0JBQXNCLDZCQUE2QixLQUFLLGlDQUFpQywwREFBMEQsaUJBQWlCLE1BQU0sT0FBTyw4QkFBOEIsS0FBSyxzQkFBc0IsNkJBQTZCLHdCQUF3QixjQUFjLElBQUksaUJBQWlCLDJCQUEyQiw4QkFBOEIsa0JBQWtCLGlCQUFpQiwwQkFBMEIsd0JBQXdCLHdCQUF3Qix5QkFBeUIsNkJBQTZCLG1CQUFtQiwyQkFBMkIsVUFBVSxRQUFRLFdBQVcsU0FBUyxPQUFPLG9CQUFvQixTQUFTLEtBQUssZUFBZSx5Q0FBeUMsY0FBYywyQkFBMkIsV0FBVyw0QkFBNEIsWUFBWSxLQUFLLDBDQUEwQyx5QkFBeUIsS0FBSyxTQUFTLGNBQWMsaUJBQWlCLGlCQUFpQiw4QkFBOEIsMkJBQTJCLFNBQVMseUJBQXlCLGNBQWMsT0FBTyx1Q0FBdUMsb0JBQW9CLHlCQUF5QiwwQ0FBMEMsc0JBQXNCLGdDQUFnQyx1Q0FBdUMsMEJBQTBCLDBCQUEwQixJQUFJLE9BQU8sT0FBTywrQkFBK0IsSUFBSSxPQUFPLDJDQUEyQyxhQUFhLFdBQVcsY0FBYyxtQ0FBbUMsYUFBYSwyREFBMkQsb0NBQW9DLG1DQUFtQyxFQUFFLHVCQUF1QixpRkFBaUYsd0JBQXdCLHNCQUFzQixjQUFjLE1BQU0sT0FBTyxtQkFBbUIsb0JBQW9CLGlCQUFpQixHQUFHLHdCQUF3QixtQ0FBbUMsK0NBQStDLGNBQWMsbUJBQW1CLE9BQU8seUJBQXlCLEtBQUssbUJBQW1CLHNCQUFzQiwwQkFBMEIsb0JBQW9CLE1BQU0sZUFBZSxvQkFBb0IsZ0JBQWdCLGlCQUFpQixrQkFBa0IsdUJBQXVCLG9DQUFvQyxlQUFlLFNBQVMsNEJBQTRCLGNBQWMsaUJBQWlCLE1BQU0sY0FBYyxPQUFPLGFBQWEsd0JBQXdCLGFBQWEsaUJBQWlCLCtCQUErQixjQUFjLGFBQWEsU0FBUyxpQkFBaUIsY0FBYyxLQUFLLFNBQVMsNEJBQTRCLHNEQUFzRCxvQ0FBb0Msb0NBQW9DLGFBQWEscUNBQXFDLHFCQUFxQix5QkFBeUIsT0FBTyxpQ0FBaUMsRUFBRSxxQ0FBcUMsMENBQTBDLDBDQUEwQyxNQUFNLHFCQUFxQixhQUFhLE1BQU0sZ0NBQWdDLFdBQVcsMkJBQTJCLHdEQUF3RCxFQUFFLEtBQUssT0FBTyxTQUFTLGFBQWEsNEJBQTRCLDJCQUEyQixzQkFBc0Isc0JBQXNCLDRCQUE0Qiw4QkFBOEIsdUJBQXVCLCtCQUErQixPQUFPLGdCQUFnQiwyQkFBMkIsV0FBVyxhQUFhLGtCQUFrQixhQUFhLFVBQVUsVUFBVSxVQUFVLCtCQUErQix1QkFBdUIsT0FBTyw0QkFBNEIsMEJBQTBCLHFCQUFxQixtQkFBbUIsU0FBUyxvQ0FBb0MsT0FBTyxVQUFVLE1BQU0seUNBQXlDLEdBQUcsZ0NBQWdDLGFBQWEsZUFBZSxzQkFBc0IsV0FBVyxjQUFjLGFBQWEseUJBQXlCLFlBQVkseURBQXlELHNCQUFzQixrQ0FBa0MsT0FBTyxzQkFBc0IsU0FBUyxRQUFRLEtBQUsscUNBQXFDLEdBQUcsR0FBRyxjQUFjLE1BQU0sTUFBTSxtQ0FBbUMsS0FBSyxxQkFBcUIsYUFBYSxrREFBa0QsdUJBQXVCLFVBQVUsVUFBVSxvREFBb0QsWUFBWSxrREFBa0QsV0FBVyxrQ0FBa0MsK0JBQStCLE1BQU0sS0FBSyxPQUFPLG9DQUFvQyxHQUFHLEdBQUcsU0FBUyxvREFBb0QsTUFBTSwyQkFBMkIsc0JBQXNCLHNCQUFzQix1QkFBdUIseUJBQXlCLHVCQUF1Qix5QkFBeUIsdUJBQXVCLHlCQUF5Qix1QkFBdUIsZ0RBQWdELHVCQUF1QiwwQkFBMEIsa0JBQWtCLE1BQU0sVUFBVSxVQUFVLFVBQVUsNkJBQTZCLEtBQUssT0FBTyxRQUFRLGVBQWUsTUFBTSxVQUFVLGlCQUFpQiw2Q0FBNkMsV0FBVyxhQUFhLFVBQVUsVUFBVSxVQUFVLEtBQUssT0FBTyxPQUFPLFdBQVcsYUFBYSxVQUFVLFVBQVUsVUFBVSxvQ0FBb0MsVUFBVSxHQUFHLHlDQUF5QyxVQUFVLFlBQVkscUJBQXFCLGFBQWEsc0JBQXNCLHFCQUFxQixpQ0FBaUMsc0NBQXNDLDZCQUE2Qix1REFBdUQsR0FBRyxrQkFBa0IsU0FBUywwQkFBMEIsWUFBWSxtQkFBbUIsS0FBSyx5Q0FBeUMsUUFBUSw2Q0FBNkMsMEJBQTBCLEdBQUcsMENBQTBDLCtEQUErRCxLQUFLLHdDQUF3QyxnRUFBZ0UsSUFBSSxTQUFTLGdDQUFnQyxXQUFXLDJCQUEyQix3REFBd0QsRUFBRSxLQUFLLE9BQU8sU0FBUyw4QkFBOEIsc0JBQXNCLDBEQUEwRCxnQ0FBZ0MsWUFBWSxXQUFXLEtBQUssV0FBVyxpQ0FBaUMsb0JBQW9CLCtCQUErQixrQ0FBa0MsNkJBQTZCLHNDQUFzQyw0QkFBNEIsU0FBUyx3QkFBd0IseUJBQXlCLDZCQUE2QiwyQkFBMkIsNkJBQTZCLHFCQUFxQixzQkFBc0IsaUNBQWlDLGVBQWUsZUFBZSxjQUFjLDBCQUEwQixrQ0FBa0MsT0FBTyxrQkFBa0Isa0NBQWtDLGlCQUFpQixZQUFZLGVBQWUsRUFBRSx3Q0FBd0MsT0FBTyx1QkFBdUIsK0JBQStCLFlBQVksZUFBZSxFQUFFLG1DQUFtQywwQkFBMEIscUJBQXFCLDRDQUE0Qyw4QkFBOEIsY0FBYyxVQUFVLEVBQUUsbUNBQW1DLHlCQUF5QixlQUFlLEVBQUUsa0NBQWtDLDRCQUE0QixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixZQUFZLFVBQVUsRUFBRSxzQ0FBc0MscUNBQXFDLDJCQUEyQixnQkFBZ0IsUUFBUSxTQUFTLHVCQUF1QixpQkFBaUIsU0FBUyxVQUFVLEVBQUUsMENBQTBDLE1BQU0sNEJBQTRCLDRCQUE0Qix1Q0FBdUMsbUNBQW1DLGVBQWUsS0FBSywwQ0FBMEMsVUFBVSxFQUFFLG1DQUFtQyx1QkFBdUIsRUFBRSw4Q0FBOEMsZ0JBQWdCLFFBQVEsYUFBYSxZQUFZLGdCQUFnQixhQUFhLDRCQUE0QixxQkFBcUIscUJBQXFCLEtBQUssVUFBVSxpQkFBaUIsSUFBSSwyQkFBMkIsOEJBQThCLEtBQUssWUFBWSxrQkFBa0IsTUFBTSxJQUFJLGVBQWUsVUFBVSxFQUFFLDhDQUE4Qyx1QkFBdUIsZ0JBQWdCLFFBQVEsZUFBZSxpQkFBaUIsZ0JBQWdCLGFBQWEsNEJBQTRCLHlCQUF5QixLQUFLLFVBQVUsaUJBQWlCLElBQUksMkJBQTJCLDhCQUE4QixLQUFLLFlBQVksa0JBQWtCLE1BQU0sSUFBSSxlQUFlLFVBQVUsRUFBRSxnQ0FBZ0MsOEJBQThCLElBQUksNEJBQTRCLElBQUksR0FBRyxrQkFBa0IsR0FBRyxnQkFBZ0IsYUFBYSxzQkFBc0IsV0FBVyx5REFBeUQseURBQXlELFNBQVMsTUFBTSxLQUFLLFdBQVcseUJBQXlCLE9BQU8sOEJBQThCLDJDQUEyQyxzQ0FBc0MsT0FBTywrQkFBK0IsWUFBWSx3QkFBd0IsbUNBQW1DLHdCQUF3QixtQ0FBbUMsbUNBQW1DLFVBQVUsc0JBQXNCLE9BQU8sbUNBQW1DLHdDQUF3QyxtQ0FBbUMsT0FBTyxtQ0FBbUMsS0FBSyxPQUFPLDBCQUEwQixXQUFXLE9BQU8seUJBQXlCLEtBQUssS0FBSyxPQUFPLDBCQUEwQixHQUFHLFlBQVksa0NBQWtDLGlCQUFpQixlQUFlLHdCQUF3Qix3REFBd0Qsd0RBQXdELGdCQUFnQixxQkFBcUIsd0JBQXdCLG9DQUFvQyxrQ0FBa0MsZ0NBQWdDLHFDQUFxQyx3QkFBd0Isb0NBQW9DLGdDQUFnQyxpQ0FBaUMsc0NBQXNDLHNDQUFzQyxtQ0FBbUMsd0NBQXdDLDBCQUEwQixrQkFBa0IsNkJBQTZCLHVCQUF1Qix1QkFBdUIsbURBQW1ELHVCQUF1QixXQUFXLG1FQUFtRSxxQkFBcUIsYUFBYSwwQ0FBMEMsaUJBQWlCLFlBQVksa0JBQWtCLFlBQVksT0FBTyw4Q0FBOEMsSUFBSSxLQUFLLGtCQUFrQixpQkFBaUIsaUJBQWlCLHNCQUFzQixnREFBZ0Qsb0JBQW9CLDhDQUE4QyxXQUFXLGdCQUFnQixpREFBaUQsaURBQWlELGdDQUFnQyxvQkFBb0Isa0RBQWtELDBCQUEwQixRQUFRLE9BQU8saUJBQWlCLG9EQUFvRCx1QkFBdUIsUUFBUSxPQUFPLGlCQUFpQiwwQkFBMEIsYUFBYSx5QkFBeUIsTUFBTSxVQUFVLHNEQUFzRCxtQkFBbUIsVUFBVSxzREFBc0QscUJBQXFCLDJCQUEyQixzQkFBc0IsaUJBQWlCLG1CQUFtQixnQkFBZ0IsYUFBYSx1QkFBdUIsOEJBQThCLGNBQWMsZ0JBQWdCLGNBQWMsaUJBQWlCLG1DQUFtQyxnQkFBZ0Isa0JBQWtCLCtCQUErQiw0QkFBNEIsOEJBQThCLDBDQUEwQywwQkFBMEIsNEJBQTRCLDZCQUE2QiwwQkFBMEIsNEJBQTRCLDZCQUE2QixjQUFjLHFCQUFxQixhQUFhLDJDQUEyQyxJQUFJLGNBQWMsY0FBYyxTQUFTLEtBQUssT0FBTyxXQUFXLEtBQUssS0FBSyw4QkFBOEIsOEJBQThCLGtCQUFrQix1QkFBdUIsa0NBQWtDLG1CQUFtQixrQkFBa0IsZ0RBQWdELG1CQUFtQixpREFBaUQsaUJBQWlCLElBQUksc0JBQXNCLHFCQUFxQixpQ0FBaUMsc0NBQXNDLDZCQUE2Qix1REFBdUQsR0FBRyxrQkFBa0IsU0FBUywwQkFBMEIsWUFBWSxtQkFBbUIsS0FBSyx5Q0FBeUMsUUFBUSw2Q0FBNkMsMEJBQTBCLEdBQUcsMENBQTBDLCtEQUErRCxLQUFLLHdDQUF3QyxnRUFBZ0UsSUFBSSxTQUFTLGdDQUFnQyxXQUFXLDJCQUEyQix3REFBd0QsRUFBRSxLQUFLLE9BQU8sU0FBUyxvQ0FBb0MscUJBQXFCLE1BQU0sa0NBQWtDLElBQUksK0RBQStELHFEQUFxRCw0Q0FBNEMsMkJBQTJCLGdCQUFnQixLQUFLLFlBQVksbUJBQW1CLE9BQU8sT0FBTyxTQUFTLGdCQUFnQixvQ0FBb0Msa0JBQWtCLHNDQUFzQyxJQUFJLHdDQUF3QyxNQUFNLGFBQWEseUJBQXlCLE9BQU8sS0FBSyxTQUFTLFNBQVMsY0FBYyxHQUFHLG9DQUFvQyxTQUFTLGVBQWUscUJBQXFCLGFBQWEsTUFBTSxpQkFBaUIsWUFBWSxrQkFBa0IsWUFBWSxPQUFPLDJCQUEyQiw2REFBNkQsaUJBQWlCLGFBQWEsc0JBQXNCLGdEQUFnRCw0QkFBNEIsVUFBVSxZQUFZLHlCQUF5QixPQUFPLEdBQUcsMEJBQTBCLEtBQUssc0JBQXNCLGNBQWMsaUJBQWlCLE9BQU8sSUFBSSxHQUFHLFlBQVksbUJBQW1CLFlBQVksWUFBWSxPQUFPLGlDQUFpQyxvREFBb0QscUJBQXFCLGlCQUFpQixJQUFJLG1CQUFtQixpQkFBaUIsd0JBQXdCLHlCQUF5QixpREFBaUQsZUFBZSxvQkFBb0IsOENBQThDLElBQUksS0FBSyxrQkFBa0IscUJBQXFCLDhCQUE4QixlQUFlLHVCQUF1QixNQUFNLDJCQUEyQixtQkFBbUIsVUFBVSxvQ0FBb0MsVUFBVSxxQkFBcUIsWUFBWSxnQkFBZ0IsS0FBSyxHQUFHLEdBQUcsc0JBQXNCLG1CQUFtQixxQkFBcUIsYUFBYSxxQ0FBcUMsa0NBQWtDLHlEQUF5RCxtQ0FBbUMsK0JBQStCLFlBQVksMkNBQTJDLDBCQUEwQixpQkFBaUIscUJBQXFCLCtCQUErQixXQUFXLG1DQUFtQyxxQkFBcUIsaUJBQWlCLHFCQUFxQixhQUFhLEdBQUcsT0FBTyxxQ0FBcUMscUJBQXFCLDJCQUEyQixtQkFBbUIsS0FBSyxtQkFBbUIsY0FBYyxhQUFhLGtCQUFrQixnQkFBZ0IsbUJBQW1CLHFCQUFxQixrQkFBa0IsbUJBQW1CLG9CQUFvQixhQUFhLGVBQWUsd0JBQXdCLGdCQUFnQixXQUFXLHNEQUFzRCxZQUFZLEtBQUssZUFBZSxvQkFBb0IsMkJBQTJCLGdCQUFnQixnREFBZ0Qsd0JBQXdCLGdDQUFnQyx3QkFBd0IscURBQXFELGlCQUFpQixpQ0FBaUMsd0JBQXdCLGlEQUFpRCxXQUFXLGtCQUFrQix3QkFBd0IsWUFBWSxLQUFLLFdBQVcsS0FBSyxVQUFVLFVBQVUsbUNBQW1DLHdCQUF3QixpREFBaUQsYUFBYSx1Q0FBdUMsd0JBQXdCLGlEQUFpRCx3QkFBd0IscUJBQXFCLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxRQUFRLHdCQUF3QixvQ0FBb0MsWUFBWSxNQUFNLHFCQUFNLHVEQUF1RCxvQkFBb0IseUJBQXlCLGFBQWEsa0JBQWtCLHNDQUFzQyxxQ0FBcUMseUNBQXlDLHdCQUF3QixlQUFlLHdCQUF3QixVQUFVLHdCQUF3QixxQkFBcUIsUUFBUSxVQUFVLGtCQUFrQixvQ0FBb0MscUJBQXFCLDRCQUE0QiwwQkFBMEIsaUJBQWlCLHdQQUF3UCxtQkFBbUIsbUJBQW1CLHFCQUFNLG9CQUFvQixxQkFBTSxpQkFBaUIsNEJBQTRCLHFCQUFNLGlCQUFpQiw2QkFBNkIscUJBQU0sa0JBQWtCLE1BQU0sa0JBQWtCLDBCQUEwQixHQUFHLHFCQUFNLGlCQUFpQixNQUFNLHFCQUFNLGdCQUFnQixJQUFJLGFBQWEscUJBQU0sMkNBQTJDLFNBQVMsUUFBUSxLQUFLLE9BQU8sU0FBUyw2QkFBNkIsZUFBZSxtQkFBbUIsSUFBSSxpQkFBaUIsMEJBQTBCLFVBQVUsYUFBYSx1REFBdUQsbURBQW1ELDhFQUE4RSxtRkFBbUYsdUJBQXVCLDZCQUE2QixPQUFPLHFCQUFxQixhQUFhLGFBQWEsYUFBYSxhQUFhLHdCQUF3QixvQkFBb0IseUJBQXlCLGVBQWUsY0FBYyxpQ0FBaUMsZ0NBQWdDLG9CQUFvQixrQkFBa0IsMEJBQTBCLG9CQUFvQixLQUFLLGNBQWMsNEJBQTRCLFdBQVcsbUJBQW1CLFVBQVUsV0FBVyxjQUFjLCtDQUErQyxNQUFNLGtDQUFrQyw0Q0FBNEMsNEJBQTRCLEdBQUcsTUFBTSxXQUFXLHVFQUF1RSxRQUFRLE9BQU8scUNBQXFDLFFBQVEsNkNBQTZDLHNCQUFzQiw2REFBNkQsT0FBTyxLQUFLLCtDQUErQyx3QkFBd0IsbUJBQW1CLDBCQUEwQixjQUFjLElBQUksZ0JBQWdCLG9DQUFvQyxXQUFXLHNCQUFzQiw0QkFBNEIsZUFBZSxpQkFBaUIsa0NBQWtDLHFDQUFxQyxvQkFBb0IsYUFBYSxxQ0FBcUMsV0FBVyxvQ0FBb0MsaUNBQWlDLFdBQVcsdUJBQXVCLGNBQWMsaUJBQWlCLFdBQVcsd0NBQXdDLG9CQUFvQiwyQkFBMkIsWUFBWSxFQUFFLFNBQVMsb0NBQW9DLGdCQUFnQixpQkFBaUIscUJBQXFCLHVCQUF1QixjQUFjLEdBQUcsS0FBSyxlQUFlLEdBQUcsc0JBQXNCLFdBQVcsc0JBQXNCLDBCQUEwQixXQUFXLDBCQUEwQiwrQ0FBK0MsY0FBYyxxQkFBTSx3QkFBd0IseUJBQXlCLDJEQUEyRCxxQkFBcUIscUJBQU0sb0JBQW9CLDZIQUE2SCxvQkFBb0IsbUJBQW1CLGFBQWEsZUFBZSxxQkFBTSw2QkFBNkIsbUNBQW1DLEdBQUcsS0FBSyxpQkFBaUIscUJBQU0sZ0JBQWdCLElBQUksd0NBQXdDLFNBQVMsT0FBTyxzQkFBc0Isa0JBQWtCLEdBQUcsT0FBTyw2Q0FBNkMsK0RBQStELDRFQUE0RSx5QkFBeUIseUJBQXlCLDJCQUEyQix1QkFBdUIsMEJBQTBCLHVCQUF1Qiw4QkFBOEIsR0FBRyxpQkFBaUIsZ0NBQWdDLHFCQUFxQiw4Q0FBOEMsUUFBUSx3Q0FBd0Msd0JBQXdCLG9CQUFvQixxQkFBcUIsdUJBQXVCLHdDQUF3QyxJQUFJLFVBQVUsU0FBUyxPQUFPLHNCQUFzQixrQkFBa0IsR0FBRyxVQUFVLHdCQUF3QixJQUFJLGVBQWUsdUJBQXVCLFNBQVMsY0FBYyxzQ0FBc0MsV0FBVyw2Q0FBNkMsNkJBQTZCLDhCQUE4QixnQ0FBZ0MsV0FBVyx1QkFBdUIsaUVBQWlFLG9DQUFvQyxrQkFBa0IsR0FBRyxnQ0FBZ0MsbUNBQW1DLFdBQVcsZ0JBQWdCLEtBQUssaURBQWlELFdBQVcsa0JBQWtCLHFCQUFNLDZCQUE2QiwyQ0FBMkMseUJBQXlCLGlFQUFpRSxnQ0FBZ0MsV0FBVywwQkFBMEIsSUFBSSxZQUFZLHdDQUF3QyxzQ0FBc0Msb0NBQW9DLG9DQUFvQyw0Q0FBNEMsNlFBQTZRLHFCQUFxQixhQUFhLGFBQWEsYUFBYSxxQkFBcUIsdURBQXVELDBDQUEwQyxXQUFXLG1CQUFtQixVQUFVLGFBQWEsZ0JBQWdCLGNBQWMsaUJBQWlCLHVCQUF1QixPQUFPLHNCQUFzQixnQkFBZ0IsR0FBRyxHQUFHLGdCQUFnQixtQkFBbUIsWUFBWSxzQkFBc0IsNkJBQTZCLGlDQUFpQyw2QkFBNkIsdUJBQXVCLEdBQUcscUJBQXFCLDBCQUEwQixrQkFBa0Isa0NBQWtDLGlCQUFpQixJQUFJLGVBQWUsTUFBTSxXQUFXLElBQUksS0FBSyxrQkFBa0IsR0FBRyxrQkFBa0IscUJBQU0saUJBQWlCLDhCQUE4QixtQkFBbUIsb0NBQW9DLEVBQUUsSUFBSSxvQ0FBb0MscUJBQU0saUJBQWlCLG1DQUFtQyxHQUFHLE9BQU8sV0FBVyx5QkFBeUIsZ0JBQWdCLDJCQUEyQix1QkFBdUIsV0FBVyxxQkFBTSxpQkFBaUIsYUFBYSxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsT0FBTyxzQkFBc0IscUJBQU0saUJBQWlCLG1DQUFtQyxHQUFHLE9BQU8sS0FBSyxTQUFTLFNBQVMsb0JBQW9CLHNCQUFzQiw2QkFBNkIsK0NBQStDLHVCQUF1QixrQ0FBa0MsTUFBTSx5QkFBeUIscUJBQXFCLDZCQUE2QixnQkFBZ0Isd0JBQXdCLGtDQUFrQyx3QkFBd0IsS0FBSyxrQkFBa0IsOEJBQThCLEdBQUcsNEJBQTRCLHdCQUF3QixnQ0FBZ0MsTUFBTSxnQkFBZ0IsZUFBZSxJQUFJLE1BQU0sTUFBTSwrQkFBK0IscUNBQXFDLGdCQUFnQiw2QkFBNkIsV0FBVyxxQkFBcUIsTUFBTSxvQkFBb0IsTUFBTSxzQ0FBc0MsV0FBVyxhQUFhLFdBQVcsZ0JBQWdCLDRCQUE0QixvQkFBb0IsdUJBQXVCLGtDQUFrQyxNQUFNLE1BQU0saUJBQWlCLFlBQVksV0FBVyw2QkFBNkIsVUFBVSxLQUFLLHFCQUFxQixnQkFBZ0IsTUFBTSw4REFBOEQsYUFBYSxPQUFPLE1BQU0sMEJBQTBCLE1BQU0sMkNBQTJDLHNDQUFzQyxPQUFPLE1BQU0sMEJBQTBCLE1BQU0sNkJBQTZCLGtDQUFrQyxVQUFVLHFCQUFNLGdCQUFnQix3QkFBd0IsK0JBQStCLE9BQU8sTUFBTSwrQ0FBK0MsNkJBQTZCLG9CQUFvQixjQUFjLHVCQUF1QixNQUFNLHNEQUFzRCxlQUFlLHFCQUFxQixhQUFhLG1CQUFtQixnQ0FBZ0MsT0FBTywyQkFBMkIsaUpBQWlKLHVCQUF1QiwrQkFBK0IsbUJBQW1CLE1BQU0sWUFBWSxVQUFVLG9DQUFvQyxvRUFBb0UseUNBQXlDLDRDQUE0QyxvQkFBb0IsdUJBQXVCLFNBQVMsOEJBQThCLDRCQUE0QiwwRkFBMEYsWUFBWSxrQkFBa0IsMEJBQTBCLG1DQUFtQyxNQUFNLHNCQUFzQixrQ0FBa0Msa0JBQWtCLElBQUksTUFBTSxzQ0FBc0MsSUFBSSxNQUFNLGtDQUFrQyxtQkFBbUIsSUFBSSxNQUFNLCtCQUErQixtQkFBbUIsT0FBTyxnQkFBZ0IsaUJBQWlCLCtCQUErQiwwQ0FBMEMseUJBQXlCLE1BQU0sTUFBTSxrQkFBa0IsbUJBQW1CLDBCQUEwQixnQkFBZ0IsZ0JBQWdCLEtBQUssSUFBSSx1REFBdUQsY0FBYyxvQ0FBb0Msc0NBQXNDLDZDQUE2Qyw0QkFBNEIsbUVBQW1FLDhEQUE4RCw4REFBOEQseUJBQXlCLDBCQUEwQixtQkFBbUIsMEJBQTBCLDJCQUEyQiwyQkFBMkIsc0JBQXNCLG9DQUFvQyxpQkFBaUIsZ0JBQWdCLDBCQUEwQixTQUFTLHNCQUFzQixTQUFTLDBCQUEwQixzQkFBc0IsU0FBUyxzQkFBc0IsU0FBUywwQkFBMEIsc0JBQXNCLFNBQVMsUUFBUSxhQUFhLG9CQUFvQixTQUFTLFNBQVMsb0NBQW9DLHFCQUFxQixhQUFhLFVBQVUsNkJBQTZCLHFCQUFxQixhQUFhLFVBQVUsNkJBQTZCLHFCQUFxQixhQUFhLGFBQWEseUJBQXlCLG1DQUFtQyxvQ0FBb0MsMEJBQTBCLDRCQUE0Qix3Q0FBd0MsOERBQThELG1DQUFtQyx3QkFBd0IsdUJBQXVCLG9DQUFvQyw4Q0FBOEMsaUJBQWlCLGlDQUFpQywwQkFBMEIsOEJBQThCLG9CQUFvQixtQ0FBbUMsOEJBQThCLFNBQVMsd0JBQXdCLHVCQUF1Qiw4QkFBOEIsTUFBTSwrQkFBK0IsdUJBQXVCLGdCQUFnQixpQkFBaUIsK0JBQStCLCtCQUErQixzQkFBc0IsU0FBUyxnQkFBZ0IsaUJBQWlCLCtCQUErQiwwQ0FBMEMscUJBQXFCLG1DQUFtQyxrQkFBa0IsbUNBQW1DLCtDQUErQyxTQUFTLHlCQUF5QixxQkFBcUIsdUNBQXVDLGtCQUFrQixpQkFBaUIsVUFBVSwrQkFBK0IsS0FBSywrQkFBK0IsK0JBQStCLHlDQUF5QyxzQkFBc0IsbUNBQW1DLDZFQUE2RSxTQUFTLHdCQUF3QixpQ0FBaUMsc0JBQXNCLHFDQUFxQyxpQkFBaUIsb0JBQW9CLHdCQUF3Qiw0QkFBNEIsU0FBUyxZQUFZLHNCQUFzQixPQUFPLCtCQUErQixtQkFBbUIsb0NBQW9DLGlCQUFpQixLQUFLLGdCQUFnQixPQUFPLCtCQUErQixrQkFBa0IsbUJBQW1CLElBQUksSUFBSSxxQkFBTSwyQkFBMkIsU0FBUyxhQUFhLE1BQU0scUJBQU0saUJBQWlCLHdCQUF3Qix5Q0FBeUMsaUJBQWlCLGlCQUFpQixzQ0FBc0Msa0JBQWtCLFNBQVMsWUFBWSxtQkFBbUIsS0FBSyxtQkFBbUIsZ0JBQWdCLGdCQUFnQixZQUFZLFVBQVUsaUJBQWlCLGFBQWEsVUFBVSxtQkFBTyxDQUFDLDhDQUFRLEVBQUUsaUJBQWlCLGFBQWEsVUFBVSxtQkFBTyxDQUFDLCtDQUFRLEVBQUUsaUJBQWlCLGFBQWEsVUFBVSxtQkFBTyxDQUFDLDRFQUFRLEVBQUUsaUJBQWlCLGFBQWEsVUFBVSxtQkFBTyxDQUFDLGtFQUFLLEVBQUUsaUJBQWlCLGFBQWEsVUFBVSxtQkFBTyxDQUFDLHlDQUFNLElBQUksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmVhbS1odHRwL2luZGV4LmpzP2RiYTIiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7dmFyIGU9ezUyMzpmdW5jdGlvbihlKXtlLmV4cG9ydHM9ezEwMDpcIkNvbnRpbnVlXCIsMTAxOlwiU3dpdGNoaW5nIFByb3RvY29sc1wiLDEwMjpcIlByb2Nlc3NpbmdcIiwyMDA6XCJPS1wiLDIwMTpcIkNyZWF0ZWRcIiwyMDI6XCJBY2NlcHRlZFwiLDIwMzpcIk5vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uXCIsMjA0OlwiTm8gQ29udGVudFwiLDIwNTpcIlJlc2V0IENvbnRlbnRcIiwyMDY6XCJQYXJ0aWFsIENvbnRlbnRcIiwyMDc6XCJNdWx0aS1TdGF0dXNcIiwyMDg6XCJBbHJlYWR5IFJlcG9ydGVkXCIsMjI2OlwiSU0gVXNlZFwiLDMwMDpcIk11bHRpcGxlIENob2ljZXNcIiwzMDE6XCJNb3ZlZCBQZXJtYW5lbnRseVwiLDMwMjpcIkZvdW5kXCIsMzAzOlwiU2VlIE90aGVyXCIsMzA0OlwiTm90IE1vZGlmaWVkXCIsMzA1OlwiVXNlIFByb3h5XCIsMzA3OlwiVGVtcG9yYXJ5IFJlZGlyZWN0XCIsMzA4OlwiUGVybWFuZW50IFJlZGlyZWN0XCIsNDAwOlwiQmFkIFJlcXVlc3RcIiw0MDE6XCJVbmF1dGhvcml6ZWRcIiw0MDI6XCJQYXltZW50IFJlcXVpcmVkXCIsNDAzOlwiRm9yYmlkZGVuXCIsNDA0OlwiTm90IEZvdW5kXCIsNDA1OlwiTWV0aG9kIE5vdCBBbGxvd2VkXCIsNDA2OlwiTm90IEFjY2VwdGFibGVcIiw0MDc6XCJQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZFwiLDQwODpcIlJlcXVlc3QgVGltZW91dFwiLDQwOTpcIkNvbmZsaWN0XCIsNDEwOlwiR29uZVwiLDQxMTpcIkxlbmd0aCBSZXF1aXJlZFwiLDQxMjpcIlByZWNvbmRpdGlvbiBGYWlsZWRcIiw0MTM6XCJQYXlsb2FkIFRvbyBMYXJnZVwiLDQxNDpcIlVSSSBUb28gTG9uZ1wiLDQxNTpcIlVuc3VwcG9ydGVkIE1lZGlhIFR5cGVcIiw0MTY6XCJSYW5nZSBOb3QgU2F0aXNmaWFibGVcIiw0MTc6XCJFeHBlY3RhdGlvbiBGYWlsZWRcIiw0MTg6XCJJJ20gYSB0ZWFwb3RcIiw0MjE6XCJNaXNkaXJlY3RlZCBSZXF1ZXN0XCIsNDIyOlwiVW5wcm9jZXNzYWJsZSBFbnRpdHlcIiw0MjM6XCJMb2NrZWRcIiw0MjQ6XCJGYWlsZWQgRGVwZW5kZW5jeVwiLDQyNTpcIlVub3JkZXJlZCBDb2xsZWN0aW9uXCIsNDI2OlwiVXBncmFkZSBSZXF1aXJlZFwiLDQyODpcIlByZWNvbmRpdGlvbiBSZXF1aXJlZFwiLDQyOTpcIlRvbyBNYW55IFJlcXVlc3RzXCIsNDMxOlwiUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZVwiLDQ1MTpcIlVuYXZhaWxhYmxlIEZvciBMZWdhbCBSZWFzb25zXCIsNTAwOlwiSW50ZXJuYWwgU2VydmVyIEVycm9yXCIsNTAxOlwiTm90IEltcGxlbWVudGVkXCIsNTAyOlwiQmFkIEdhdGV3YXlcIiw1MDM6XCJTZXJ2aWNlIFVuYXZhaWxhYmxlXCIsNTA0OlwiR2F0ZXdheSBUaW1lb3V0XCIsNTA1OlwiSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWRcIiw1MDY6XCJWYXJpYW50IEFsc28gTmVnb3RpYXRlc1wiLDUwNzpcIkluc3VmZmljaWVudCBTdG9yYWdlXCIsNTA4OlwiTG9vcCBEZXRlY3RlZFwiLDUwOTpcIkJhbmR3aWR0aCBMaW1pdCBFeGNlZWRlZFwiLDUxMDpcIk5vdCBFeHRlbmRlZFwiLDUxMTpcIk5ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWRcIn19LDc4MjpmdW5jdGlvbihlKXtpZih0eXBlb2YgT2JqZWN0LmNyZWF0ZT09PVwiZnVuY3Rpb25cIil7ZS5leHBvcnRzPWZ1bmN0aW9uIGluaGVyaXRzKGUsdCl7aWYodCl7ZS5zdXBlcl89dDtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSxlbnVtZXJhYmxlOmZhbHNlLHdyaXRhYmxlOnRydWUsY29uZmlndXJhYmxlOnRydWV9fSl9fX1lbHNle2UuZXhwb3J0cz1mdW5jdGlvbiBpbmhlcml0cyhlLHQpe2lmKHQpe2Uuc3VwZXJfPXQ7dmFyIFRlbXBDdG9yPWZ1bmN0aW9uKCl7fTtUZW1wQ3Rvci5wcm90b3R5cGU9dC5wcm90b3R5cGU7ZS5wcm90b3R5cGU9bmV3IFRlbXBDdG9yO2UucHJvdG90eXBlLmNvbnN0cnVjdG9yPWV9fX19LDY0NjpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtjb25zdCB0PXt9O2Z1bmN0aW9uIGNyZWF0ZUVycm9yVHlwZShlLHIsbil7aWYoIW4pe249RXJyb3J9ZnVuY3Rpb24gZ2V0TWVzc2FnZShlLHQsbil7aWYodHlwZW9mIHI9PT1cInN0cmluZ1wiKXtyZXR1cm4gcn1lbHNle3JldHVybiByKGUsdCxuKX19Y2xhc3MgTm9kZUVycm9yIGV4dGVuZHMgbntjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZ2V0TWVzc2FnZShlLHQscikpfX1Ob2RlRXJyb3IucHJvdG90eXBlLm5hbWU9bi5uYW1lO05vZGVFcnJvci5wcm90b3R5cGUuY29kZT1lO3RbZV09Tm9kZUVycm9yfWZ1bmN0aW9uIG9uZU9mKGUsdCl7aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcj1lLmxlbmd0aDtlPWUubWFwKChlPT5TdHJpbmcoZSkpKTtpZihyPjIpe3JldHVybmBvbmUgb2YgJHt0fSAke2Uuc2xpY2UoMCxyLTEpLmpvaW4oXCIsIFwiKX0sIG9yIGArZVtyLTFdfWVsc2UgaWYocj09PTIpe3JldHVybmBvbmUgb2YgJHt0fSAke2VbMF19IG9yICR7ZVsxXX1gfWVsc2V7cmV0dXJuYG9mICR7dH0gJHtlWzBdfWB9fWVsc2V7cmV0dXJuYG9mICR7dH0gJHtTdHJpbmcoZSl9YH19ZnVuY3Rpb24gc3RhcnRzV2l0aChlLHQscil7cmV0dXJuIGUuc3Vic3RyKCFyfHxyPDA/MDorcix0Lmxlbmd0aCk9PT10fWZ1bmN0aW9uIGVuZHNXaXRoKGUsdCxyKXtpZihyPT09dW5kZWZpbmVkfHxyPmUubGVuZ3RoKXtyPWUubGVuZ3RofXJldHVybiBlLnN1YnN0cmluZyhyLXQubGVuZ3RoLHIpPT09dH1mdW5jdGlvbiBpbmNsdWRlcyhlLHQscil7aWYodHlwZW9mIHIhPT1cIm51bWJlclwiKXtyPTB9aWYocit0Lmxlbmd0aD5lLmxlbmd0aCl7cmV0dXJuIGZhbHNlfWVsc2V7cmV0dXJuIGUuaW5kZXhPZih0LHIpIT09LTF9fWNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX09QVF9WQUxVRVwiLChmdW5jdGlvbihlLHQpe3JldHVybidUaGUgdmFsdWUgXCInK3QrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcIicrZSsnXCInfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9BUkdfVFlQRVwiLChmdW5jdGlvbihlLHQscil7bGV0IG47aWYodHlwZW9mIHQ9PT1cInN0cmluZ1wiJiZzdGFydHNXaXRoKHQsXCJub3QgXCIpKXtuPVwibXVzdCBub3QgYmVcIjt0PXQucmVwbGFjZSgvXm5vdCAvLFwiXCIpfWVsc2V7bj1cIm11c3QgYmVcIn1sZXQgaTtpZihlbmRzV2l0aChlLFwiIGFyZ3VtZW50XCIpKXtpPWBUaGUgJHtlfSAke259ICR7b25lT2YodCxcInR5cGVcIil9YH1lbHNle2NvbnN0IHI9aW5jbHVkZXMoZSxcIi5cIik/XCJwcm9wZXJ0eVwiOlwiYXJndW1lbnRcIjtpPWBUaGUgXCIke2V9XCIgJHtyfSAke259ICR7b25lT2YodCxcInR5cGVcIil9YH1pKz1gLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIHJ9YDtyZXR1cm4gaX0pLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRlwiLFwic3RyZWFtLnB1c2goKSBhZnRlciBFT0ZcIik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URURcIiwoZnVuY3Rpb24oZSl7cmV0dXJuXCJUaGUgXCIrZStcIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkXCJ9KSk7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIixcIlByZW1hdHVyZSBjbG9zZVwiKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX0RFU1RST1lFRFwiLChmdW5jdGlvbihlKXtyZXR1cm5cIkNhbm5vdCBjYWxsIFwiK2UrXCIgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZFwifSkpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9NVUxUSVBMRV9DQUxMQkFDS1wiLFwiQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzXCIpO2NyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEVcIixcIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGVcIik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkRcIixcIndyaXRlIGFmdGVyIGVuZFwiKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX05VTExfVkFMVUVTXCIsXCJNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbVwiLFR5cGVFcnJvcik7Y3JlYXRlRXJyb3JUeXBlKFwiRVJSX1VOS05PV05fRU5DT0RJTkdcIiwoZnVuY3Rpb24oZSl7cmV0dXJuXCJVbmtub3duIGVuY29kaW5nOiBcIitlfSksVHlwZUVycm9yKTtjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UXCIsXCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudFwiKTtlLmV4cG9ydHMucT10fSw0MDM6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSl7dC5wdXNoKHIpfXJldHVybiB0fTtlLmV4cG9ydHM9RHVwbGV4O3ZhciBpPXIoNzA5KTt2YXIgYT1yKDMzNyk7cig3ODIpKER1cGxleCxpKTt7dmFyIG89bihhLnByb3RvdHlwZSk7Zm9yKHZhciBzPTA7czxvLmxlbmd0aDtzKyspe3ZhciBmPW9bc107aWYoIUR1cGxleC5wcm90b3R5cGVbZl0pRHVwbGV4LnByb3RvdHlwZVtmXT1hLnByb3RvdHlwZVtmXX19ZnVuY3Rpb24gRHVwbGV4KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpcmV0dXJuIG5ldyBEdXBsZXgoZSk7aS5jYWxsKHRoaXMsZSk7YS5jYWxsKHRoaXMsZSk7dGhpcy5hbGxvd0hhbGZPcGVuPXRydWU7aWYoZSl7aWYoZS5yZWFkYWJsZT09PWZhbHNlKXRoaXMucmVhZGFibGU9ZmFsc2U7aWYoZS53cml0YWJsZT09PWZhbHNlKXRoaXMud3JpdGFibGU9ZmFsc2U7aWYoZS5hbGxvd0hhbGZPcGVuPT09ZmFsc2Upe3RoaXMuYWxsb3dIYWxmT3Blbj1mYWxzZTt0aGlzLm9uY2UoXCJlbmRcIixvbmVuZCl9fX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSk7ZnVuY3Rpb24gb25lbmQoKXtpZih0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKXJldHVybjtwcm9jZXNzLm5leHRUaWNrKG9uRW5kTlQsdGhpcyl9ZnVuY3Rpb24gb25FbmROVChlKXtlLmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe2lmKHRoaXMuX3JlYWRhYmxlU3RhdGU9PT11bmRlZmluZWR8fHRoaXMuX3dyaXRhYmxlU3RhdGU9PT11bmRlZmluZWQpe3JldHVybiBmYWxzZX1yZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKHRoaXMuX3JlYWRhYmxlU3RhdGU9PT11bmRlZmluZWR8fHRoaXMuX3dyaXRhYmxlU3RhdGU9PT11bmRlZmluZWQpe3JldHVybn10aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD1lO3RoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPWV9fSl9LDg4OTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPVBhc3NUaHJvdWdoO3ZhciBuPXIoMTcwKTtyKDc4MikoUGFzc1Rocm91Z2gsbik7ZnVuY3Rpb24gUGFzc1Rocm91Z2goZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgUGFzc1Rocm91Z2gpKXJldHVybiBuZXcgUGFzc1Rocm91Z2goZSk7bi5jYWxsKHRoaXMsZSl9UGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3IobnVsbCxlKX19LDcwOTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPVJlYWRhYmxlO3ZhciBuO1JlYWRhYmxlLlJlYWRhYmxlU3RhdGU9UmVhZGFibGVTdGF0ZTt2YXIgaT1yKDM2MSkuRXZlbnRFbWl0dGVyO3ZhciBhPWZ1bmN0aW9uIEVFbGlzdGVuZXJDb3VudChlLHQpe3JldHVybiBlLmxpc3RlbmVycyh0KS5sZW5ndGh9O3ZhciBvPXIoNjc4KTt2YXIgcz1yKDMwMCkuQnVmZmVyO3ZhciBmPWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gcy5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIHMuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBmfXZhciBsPXIoODM3KTt2YXIgdTtpZihsJiZsLmRlYnVnbG9nKXt1PWwuZGVidWdsb2coXCJzdHJlYW1cIil9ZWxzZXt1PWZ1bmN0aW9uIGRlYnVnKCl7fX12YXIgZD1yKDM3OSk7dmFyIGM9cigyNSk7dmFyIGg9cig3NzYpLHA9aC5nZXRIaWdoV2F0ZXJNYXJrO3ZhciBiPXIoNjQ2KS5xLHk9Yi5FUlJfSU5WQUxJRF9BUkdfVFlQRSxnPWIuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixfPWIuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsdj1iLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7dmFyIG07dmFyIHc7dmFyIFI7cig3ODIpKFJlYWRhYmxlLG8pO3ZhciBTPWMuZXJyb3JPckRlc3Ryb3k7dmFyIEU9W1wiZXJyb3JcIixcImNsb3NlXCIsXCJkZXN0cm95XCIsXCJwYXVzZVwiLFwicmVzdW1lXCJdO2Z1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlLHQscil7aWYodHlwZW9mIGUucHJlcGVuZExpc3RlbmVyPT09XCJmdW5jdGlvblwiKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2lmKCFlLl9ldmVudHN8fCFlLl9ldmVudHNbdF0pZS5vbih0LHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlLl9ldmVudHNbdF0pKWUuX2V2ZW50c1t0XS51bnNoaWZ0KHIpO2Vsc2UgZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV19ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQsaSl7bj1ufHxyKDQwMyk7ZT1lfHx7fTtpZih0eXBlb2YgaSE9PVwiYm9vbGVhblwiKWk9dCBpbnN0YW5jZW9mIG47dGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlO2lmKGkpdGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZTt0aGlzLmhpZ2hXYXRlck1hcms9cCh0aGlzLGUsXCJyZWFkYWJsZUhpZ2hXYXRlck1hcmtcIixpKTt0aGlzLmJ1ZmZlcj1uZXcgZDt0aGlzLmxlbmd0aD0wO3RoaXMucGlwZXM9bnVsbDt0aGlzLnBpcGVzQ291bnQ9MDt0aGlzLmZsb3dpbmc9bnVsbDt0aGlzLmVuZGVkPWZhbHNlO3RoaXMuZW5kRW1pdHRlZD1mYWxzZTt0aGlzLnJlYWRpbmc9ZmFsc2U7dGhpcy5zeW5jPXRydWU7dGhpcy5uZWVkUmVhZGFibGU9ZmFsc2U7dGhpcy5lbWl0dGVkUmVhZGFibGU9ZmFsc2U7dGhpcy5yZWFkYWJsZUxpc3RlbmluZz1mYWxzZTt0aGlzLnJlc3VtZVNjaGVkdWxlZD1mYWxzZTt0aGlzLnBhdXNlZD10cnVlO3RoaXMuZW1pdENsb3NlPWUuZW1pdENsb3NlIT09ZmFsc2U7dGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3k7dGhpcy5kZXN0cm95ZWQ9ZmFsc2U7dGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiO3RoaXMuYXdhaXREcmFpbj0wO3RoaXMucmVhZGluZ01vcmU9ZmFsc2U7dGhpcy5kZWNvZGVyPW51bGw7dGhpcy5lbmNvZGluZz1udWxsO2lmKGUuZW5jb2Rpbmcpe2lmKCFtKW09cig3MDQpLnM7dGhpcy5kZWNvZGVyPW5ldyBtKGUuZW5jb2RpbmcpO3RoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZ319ZnVuY3Rpb24gUmVhZGFibGUoZSl7bj1ufHxyKDQwMyk7aWYoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKXJldHVybiBuZXcgUmVhZGFibGUoZSk7dmFyIHQ9dGhpcyBpbnN0YW5jZW9mIG47dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgUmVhZGFibGVTdGF0ZShlLHRoaXMsdCk7dGhpcy5yZWFkYWJsZT10cnVlO2lmKGUpe2lmKHR5cGVvZiBlLnJlYWQ9PT1cImZ1bmN0aW9uXCIpdGhpcy5fcmVhZD1lLnJlYWQ7aWYodHlwZW9mIGUuZGVzdHJveT09PVwiZnVuY3Rpb25cIil0aGlzLl9kZXN0cm95PWUuZGVzdHJveX1vLmNhbGwodGhpcyl9T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl9yZWFkYWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKCF0aGlzLl9yZWFkYWJsZVN0YXRlKXtyZXR1cm59dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZX19KTtSZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveT1jLmRlc3Ryb3k7UmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9Yy51bmRlc3Ryb3k7UmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX07UmVhZGFibGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9yZWFkYWJsZVN0YXRlO3ZhciBuO2lmKCFyLm9iamVjdE1vZGUpe2lmKHR5cGVvZiBlPT09XCJzdHJpbmdcIil7dD10fHxyLmRlZmF1bHRFbmNvZGluZztpZih0IT09ci5lbmNvZGluZyl7ZT1zLmZyb20oZSx0KTt0PVwiXCJ9bj10cnVlfX1lbHNle249dHJ1ZX1yZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLGUsdCxmYWxzZSxuKX07UmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLG51bGwsdHJ1ZSxmYWxzZSl9O2Z1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoZSx0LHIsbixpKXt1KFwicmVhZGFibGVBZGRDaHVua1wiLHQpO3ZhciBhPWUuX3JlYWRhYmxlU3RhdGU7aWYodD09PW51bGwpe2EucmVhZGluZz1mYWxzZTtvbkVvZkNodW5rKGUsYSl9ZWxzZXt2YXIgbztpZighaSlvPWNodW5rSW52YWxpZChhLHQpO2lmKG8pe1MoZSxvKX1lbHNlIGlmKGEub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MCl7aWYodHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhYS5vYmplY3RNb2RlJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1zLnByb3RvdHlwZSl7dD1fdWludDhBcnJheVRvQnVmZmVyKHQpfWlmKG4pe2lmKGEuZW5kRW1pdHRlZClTKGUsbmV3IHYpO2Vsc2UgYWRkQ2h1bmsoZSxhLHQsdHJ1ZSl9ZWxzZSBpZihhLmVuZGVkKXtTKGUsbmV3IGcpfWVsc2UgaWYoYS5kZXN0cm95ZWQpe3JldHVybiBmYWxzZX1lbHNle2EucmVhZGluZz1mYWxzZTtpZihhLmRlY29kZXImJiFyKXt0PWEuZGVjb2Rlci53cml0ZSh0KTtpZihhLm9iamVjdE1vZGV8fHQubGVuZ3RoIT09MClhZGRDaHVuayhlLGEsdCxmYWxzZSk7ZWxzZSBtYXliZVJlYWRNb3JlKGUsYSl9ZWxzZXthZGRDaHVuayhlLGEsdCxmYWxzZSl9fX1lbHNlIGlmKCFuKXthLnJlYWRpbmc9ZmFsc2U7bWF5YmVSZWFkTW9yZShlLGEpfX1yZXR1cm4hYS5lbmRlZCYmKGEubGVuZ3RoPGEuaGlnaFdhdGVyTWFya3x8YS5sZW5ndGg9PT0wKX1mdW5jdGlvbiBhZGRDaHVuayhlLHQscixuKXtpZih0LmZsb3dpbmcmJnQubGVuZ3RoPT09MCYmIXQuc3luYyl7dC5hd2FpdERyYWluPTA7ZS5lbWl0KFwiZGF0YVwiLHIpfWVsc2V7dC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoO2lmKG4pdC5idWZmZXIudW5zaGlmdChyKTtlbHNlIHQuYnVmZmVyLnB1c2gocik7aWYodC5uZWVkUmVhZGFibGUpZW1pdFJlYWRhYmxlKGUpfW1heWJlUmVhZE1vcmUoZSx0KX1mdW5jdGlvbiBjaHVua0ludmFsaWQoZSx0KXt2YXIgcjtpZighX2lzVWludDhBcnJheSh0KSYmdHlwZW9mIHQhPT1cInN0cmluZ1wiJiZ0IT09dW5kZWZpbmVkJiYhZS5vYmplY3RNb2RlKXtyPW5ldyB5KFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiLFwiVWludDhBcnJheVwiXSx0KX1yZXR1cm4gcn1SZWFkYWJsZS5wcm90b3R5cGUuaXNQYXVzZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPT09ZmFsc2V9O1JlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtpZighbSltPXIoNzA0KS5zO3ZhciB0PW5ldyBtKGUpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj10O3RoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQ7dmFyIGk9XCJcIjt3aGlsZShuIT09bnVsbCl7aSs9dC53cml0ZShuLmRhdGEpO249bi5uZXh0fXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCk7aWYoaSE9PVwiXCIpdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChpKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aD1pLmxlbmd0aDtyZXR1cm4gdGhpc307dmFyIFQ9MTA3Mzc0MTgyNDtmdW5jdGlvbiBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKXtpZihlPj1UKXtlPVR9ZWxzZXtlLS07ZXw9ZT4+PjE7ZXw9ZT4+PjI7ZXw9ZT4+PjQ7ZXw9ZT4+Pjg7ZXw9ZT4+PjE2O2UrK31yZXR1cm4gZX1mdW5jdGlvbiBob3dNdWNoVG9SZWFkKGUsdCl7aWYoZTw9MHx8dC5sZW5ndGg9PT0wJiZ0LmVuZGVkKXJldHVybiAwO2lmKHQub2JqZWN0TW9kZSlyZXR1cm4gMTtpZihlIT09ZSl7aWYodC5mbG93aW5nJiZ0Lmxlbmd0aClyZXR1cm4gdC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDtlbHNlIHJldHVybiB0Lmxlbmd0aH1pZihlPnQuaGlnaFdhdGVyTWFyayl0LmhpZ2hXYXRlck1hcms9Y29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSk7aWYoZTw9dC5sZW5ndGgpcmV0dXJuIGU7aWYoIXQuZW5kZWQpe3QubmVlZFJlYWRhYmxlPXRydWU7cmV0dXJuIDB9cmV0dXJuIHQubGVuZ3RofVJlYWRhYmxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe3UoXCJyZWFkXCIsZSk7ZT1wYXJzZUludChlLDEwKTt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlO3ZhciByPWU7aWYoZSE9PTApdC5lbWl0dGVkUmVhZGFibGU9ZmFsc2U7aWYoZT09PTAmJnQubmVlZFJlYWRhYmxlJiYoKHQuaGlnaFdhdGVyTWFyayE9PTA/dC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFyazp0Lmxlbmd0aD4wKXx8dC5lbmRlZCkpe3UoXCJyZWFkOiBlbWl0UmVhZGFibGVcIix0Lmxlbmd0aCx0LmVuZGVkKTtpZih0Lmxlbmd0aD09PTAmJnQuZW5kZWQpZW5kUmVhZGFibGUodGhpcyk7ZWxzZSBlbWl0UmVhZGFibGUodGhpcyk7cmV0dXJuIG51bGx9ZT1ob3dNdWNoVG9SZWFkKGUsdCk7aWYoZT09PTAmJnQuZW5kZWQpe2lmKHQubGVuZ3RoPT09MCllbmRSZWFkYWJsZSh0aGlzKTtyZXR1cm4gbnVsbH12YXIgbj10Lm5lZWRSZWFkYWJsZTt1KFwibmVlZCByZWFkYWJsZVwiLG4pO2lmKHQubGVuZ3RoPT09MHx8dC5sZW5ndGgtZTx0LmhpZ2hXYXRlck1hcmspe249dHJ1ZTt1KFwibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmtcIixuKX1pZih0LmVuZGVkfHx0LnJlYWRpbmcpe249ZmFsc2U7dShcInJlYWRpbmcgb3IgZW5kZWRcIixuKX1lbHNlIGlmKG4pe3UoXCJkbyByZWFkXCIpO3QucmVhZGluZz10cnVlO3Quc3luYz10cnVlO2lmKHQubGVuZ3RoPT09MCl0Lm5lZWRSZWFkYWJsZT10cnVlO3RoaXMuX3JlYWQodC5oaWdoV2F0ZXJNYXJrKTt0LnN5bmM9ZmFsc2U7aWYoIXQucmVhZGluZyllPWhvd011Y2hUb1JlYWQocix0KX12YXIgaTtpZihlPjApaT1mcm9tTGlzdChlLHQpO2Vsc2UgaT1udWxsO2lmKGk9PT1udWxsKXt0Lm5lZWRSZWFkYWJsZT10Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrO2U9MH1lbHNle3QubGVuZ3RoLT1lO3QuYXdhaXREcmFpbj0wfWlmKHQubGVuZ3RoPT09MCl7aWYoIXQuZW5kZWQpdC5uZWVkUmVhZGFibGU9dHJ1ZTtpZihyIT09ZSYmdC5lbmRlZCllbmRSZWFkYWJsZSh0aGlzKX1pZihpIT09bnVsbCl0aGlzLmVtaXQoXCJkYXRhXCIsaSk7cmV0dXJuIGl9O2Z1bmN0aW9uIG9uRW9mQ2h1bmsoZSx0KXt1KFwib25Fb2ZDaHVua1wiKTtpZih0LmVuZGVkKXJldHVybjtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtpZihyJiZyLmxlbmd0aCl7dC5idWZmZXIucHVzaChyKTt0Lmxlbmd0aCs9dC5vYmplY3RNb2RlPzE6ci5sZW5ndGh9fXQuZW5kZWQ9dHJ1ZTtpZih0LnN5bmMpe2VtaXRSZWFkYWJsZShlKX1lbHNle3QubmVlZFJlYWRhYmxlPWZhbHNlO2lmKCF0LmVtaXR0ZWRSZWFkYWJsZSl7dC5lbWl0dGVkUmVhZGFibGU9dHJ1ZTtlbWl0UmVhZGFibGVfKGUpfX19ZnVuY3Rpb24gZW1pdFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcImVtaXRSZWFkYWJsZVwiLHQubmVlZFJlYWRhYmxlLHQuZW1pdHRlZFJlYWRhYmxlKTt0Lm5lZWRSZWFkYWJsZT1mYWxzZTtpZighdC5lbWl0dGVkUmVhZGFibGUpe3UoXCJlbWl0UmVhZGFibGVcIix0LmZsb3dpbmcpO3QuZW1pdHRlZFJlYWRhYmxlPXRydWU7cHJvY2Vzcy5uZXh0VGljayhlbWl0UmVhZGFibGVfLGUpfX1mdW5jdGlvbiBlbWl0UmVhZGFibGVfKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcImVtaXRSZWFkYWJsZV9cIix0LmRlc3Ryb3llZCx0Lmxlbmd0aCx0LmVuZGVkKTtpZighdC5kZXN0cm95ZWQmJih0Lmxlbmd0aHx8dC5lbmRlZCkpe2UuZW1pdChcInJlYWRhYmxlXCIpO3QuZW1pdHRlZFJlYWRhYmxlPWZhbHNlfXQubmVlZFJlYWRhYmxlPSF0LmZsb3dpbmcmJiF0LmVuZGVkJiZ0Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrO2Zsb3coZSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShlLHQpe2lmKCF0LnJlYWRpbmdNb3JlKXt0LnJlYWRpbmdNb3JlPXRydWU7cHJvY2Vzcy5uZXh0VGljayhtYXliZVJlYWRNb3JlXyxlLHQpfX1mdW5jdGlvbiBtYXliZVJlYWRNb3JlXyhlLHQpe3doaWxlKCF0LnJlYWRpbmcmJiF0LmVuZGVkJiYodC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrfHx0LmZsb3dpbmcmJnQubGVuZ3RoPT09MCkpe3ZhciByPXQubGVuZ3RoO3UoXCJtYXliZVJlYWRNb3JlIHJlYWQgMFwiKTtlLnJlYWQoMCk7aWYocj09PXQubGVuZ3RoKWJyZWFrfXQucmVhZGluZ01vcmU9ZmFsc2V9UmVhZGFibGUucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGUpe1ModGhpcyxuZXcgXyhcIl9yZWFkKClcIikpfTtSZWFkYWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7dmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2gobi5waXBlc0NvdW50KXtjYXNlIDA6bi5waXBlcz1lO2JyZWFrO2Nhc2UgMTpuLnBpcGVzPVtuLnBpcGVzLGVdO2JyZWFrO2RlZmF1bHQ6bi5waXBlcy5wdXNoKGUpO2JyZWFrfW4ucGlwZXNDb3VudCs9MTt1KFwicGlwZSBjb3VudD0lZCBvcHRzPSVqXCIsbi5waXBlc0NvdW50LHQpO3ZhciBpPSghdHx8dC5lbmQhPT1mYWxzZSkmJmUhPT1wcm9jZXNzLnN0ZG91dCYmZSE9PXByb2Nlc3Muc3RkZXJyO3ZhciBvPWk/b25lbmQ6dW5waXBlO2lmKG4uZW5kRW1pdHRlZClwcm9jZXNzLm5leHRUaWNrKG8pO2Vsc2Ugci5vbmNlKFwiZW5kXCIsbyk7ZS5vbihcInVucGlwZVwiLG9udW5waXBlKTtmdW5jdGlvbiBvbnVucGlwZShlLHQpe3UoXCJvbnVucGlwZVwiKTtpZihlPT09cil7aWYodCYmdC5oYXNVbnBpcGVkPT09ZmFsc2Upe3QuaGFzVW5waXBlZD10cnVlO2NsZWFudXAoKX19fWZ1bmN0aW9uIG9uZW5kKCl7dShcIm9uZW5kXCIpO2UuZW5kKCl9dmFyIHM9cGlwZU9uRHJhaW4ocik7ZS5vbihcImRyYWluXCIscyk7dmFyIGY9ZmFsc2U7ZnVuY3Rpb24gY2xlYW51cCgpe3UoXCJjbGVhbnVwXCIpO2UucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLG9uY2xvc2UpO2UucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixvbmZpbmlzaCk7ZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIscyk7ZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsb25lcnJvcik7ZS5yZW1vdmVMaXN0ZW5lcihcInVucGlwZVwiLG9udW5waXBlKTtyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsb25lbmQpO3IucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIix1bnBpcGUpO3IucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsb25kYXRhKTtmPXRydWU7aWYobi5hd2FpdERyYWluJiYoIWUuX3dyaXRhYmxlU3RhdGV8fGUuX3dyaXRhYmxlU3RhdGUubmVlZERyYWluKSlzKCl9ci5vbihcImRhdGFcIixvbmRhdGEpO2Z1bmN0aW9uIG9uZGF0YSh0KXt1KFwib25kYXRhXCIpO3ZhciBpPWUud3JpdGUodCk7dShcImRlc3Qud3JpdGVcIixpKTtpZihpPT09ZmFsc2Upe2lmKChuLnBpcGVzQ291bnQ9PT0xJiZuLnBpcGVzPT09ZXx8bi5waXBlc0NvdW50PjEmJmluZGV4T2Yobi5waXBlcyxlKSE9PS0xKSYmIWYpe3UoXCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2VcIixuLmF3YWl0RHJhaW4pO24uYXdhaXREcmFpbisrfXIucGF1c2UoKX19ZnVuY3Rpb24gb25lcnJvcih0KXt1KFwib25lcnJvclwiLHQpO3VucGlwZSgpO2UucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG9uZXJyb3IpO2lmKGEoZSxcImVycm9yXCIpPT09MClTKGUsdCl9cHJlcGVuZExpc3RlbmVyKGUsXCJlcnJvclwiLG9uZXJyb3IpO2Z1bmN0aW9uIG9uY2xvc2UoKXtlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsb25maW5pc2gpO3VucGlwZSgpfWUub25jZShcImNsb3NlXCIsb25jbG9zZSk7ZnVuY3Rpb24gb25maW5pc2goKXt1KFwib25maW5pc2hcIik7ZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsb25jbG9zZSk7dW5waXBlKCl9ZS5vbmNlKFwiZmluaXNoXCIsb25maW5pc2gpO2Z1bmN0aW9uIHVucGlwZSgpe3UoXCJ1bnBpcGVcIik7ci51bnBpcGUoZSl9ZS5lbWl0KFwicGlwZVwiLHIpO2lmKCFuLmZsb3dpbmcpe3UoXCJwaXBlIHJlc3VtZVwiKTtyLnJlc3VtZSgpfXJldHVybiBlfTtmdW5jdGlvbiBwaXBlT25EcmFpbihlKXtyZXR1cm4gZnVuY3Rpb24gcGlwZU9uRHJhaW5GdW5jdGlvblJlc3VsdCgpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcInBpcGVPbkRyYWluXCIsdC5hd2FpdERyYWluKTtpZih0LmF3YWl0RHJhaW4pdC5hd2FpdERyYWluLS07aWYodC5hd2FpdERyYWluPT09MCYmYShlLFwiZGF0YVwiKSl7dC5mbG93aW5nPXRydWU7ZmxvdyhlKX19fVJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTt2YXIgcj17aGFzVW5waXBlZDpmYWxzZX07aWYodC5waXBlc0NvdW50PT09MClyZXR1cm4gdGhpcztpZih0LnBpcGVzQ291bnQ9PT0xKXtpZihlJiZlIT09dC5waXBlcylyZXR1cm4gdGhpcztpZighZSllPXQucGlwZXM7dC5waXBlcz1udWxsO3QucGlwZXNDb3VudD0wO3QuZmxvd2luZz1mYWxzZTtpZihlKWUuZW1pdChcInVucGlwZVwiLHRoaXMscik7cmV0dXJuIHRoaXN9aWYoIWUpe3ZhciBuPXQucGlwZXM7dmFyIGk9dC5waXBlc0NvdW50O3QucGlwZXM9bnVsbDt0LnBpcGVzQ291bnQ9MDt0LmZsb3dpbmc9ZmFsc2U7Zm9yKHZhciBhPTA7YTxpO2ErKyl7blthXS5lbWl0KFwidW5waXBlXCIsdGhpcyx7aGFzVW5waXBlZDpmYWxzZX0pfXJldHVybiB0aGlzfXZhciBvPWluZGV4T2YodC5waXBlcyxlKTtpZihvPT09LTEpcmV0dXJuIHRoaXM7dC5waXBlcy5zcGxpY2UobywxKTt0LnBpcGVzQ291bnQtPTE7aWYodC5waXBlc0NvdW50PT09MSl0LnBpcGVzPXQucGlwZXNbMF07ZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKTtyZXR1cm4gdGhpc307UmVhZGFibGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9by5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCk7dmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZTtpZihlPT09XCJkYXRhXCIpe24ucmVhZGFibGVMaXN0ZW5pbmc9dGhpcy5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MDtpZihuLmZsb3dpbmchPT1mYWxzZSl0aGlzLnJlc3VtZSgpfWVsc2UgaWYoZT09PVwicmVhZGFibGVcIil7aWYoIW4uZW5kRW1pdHRlZCYmIW4ucmVhZGFibGVMaXN0ZW5pbmcpe24ucmVhZGFibGVMaXN0ZW5pbmc9bi5uZWVkUmVhZGFibGU9dHJ1ZTtuLmZsb3dpbmc9ZmFsc2U7bi5lbWl0dGVkUmVhZGFibGU9ZmFsc2U7dShcIm9uIHJlYWRhYmxlXCIsbi5sZW5ndGgsbi5yZWFkaW5nKTtpZihuLmxlbmd0aCl7ZW1pdFJlYWRhYmxlKHRoaXMpfWVsc2UgaWYoIW4ucmVhZGluZyl7cHJvY2Vzcy5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLHRoaXMpfX19cmV0dXJuIHJ9O1JlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1SZWFkYWJsZS5wcm90b3R5cGUub247UmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9by5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLGUsdCk7aWYoZT09PVwicmVhZGFibGVcIil7cHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKX1yZXR1cm4gcn07UmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1vLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGU9PT1cInJlYWRhYmxlXCJ8fGU9PT11bmRlZmluZWQpe3Byb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsdGhpcyl9cmV0dXJuIHR9O2Z1bmN0aW9uIHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dC5yZWFkYWJsZUxpc3RlbmluZz1lLmxpc3RlbmVyQ291bnQoXCJyZWFkYWJsZVwiKT4wO2lmKHQucmVzdW1lU2NoZWR1bGVkJiYhdC5wYXVzZWQpe3QuZmxvd2luZz10cnVlfWVsc2UgaWYoZS5saXN0ZW5lckNvdW50KFwiZGF0YVwiKT4wKXtlLnJlc3VtZSgpfX1mdW5jdGlvbiBuUmVhZGluZ05leHRUaWNrKGUpe3UoXCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDBcIik7ZS5yZWFkKDApfVJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlO2lmKCFlLmZsb3dpbmcpe3UoXCJyZXN1bWVcIik7ZS5mbG93aW5nPSFlLnJlYWRhYmxlTGlzdGVuaW5nO3Jlc3VtZSh0aGlzLGUpfWUucGF1c2VkPWZhbHNlO3JldHVybiB0aGlzfTtmdW5jdGlvbiByZXN1bWUoZSx0KXtpZighdC5yZXN1bWVTY2hlZHVsZWQpe3QucmVzdW1lU2NoZWR1bGVkPXRydWU7cHJvY2Vzcy5uZXh0VGljayhyZXN1bWVfLGUsdCl9fWZ1bmN0aW9uIHJlc3VtZV8oZSx0KXt1KFwicmVzdW1lXCIsdC5yZWFkaW5nKTtpZighdC5yZWFkaW5nKXtlLnJlYWQoMCl9dC5yZXN1bWVTY2hlZHVsZWQ9ZmFsc2U7ZS5lbWl0KFwicmVzdW1lXCIpO2Zsb3coZSk7aWYodC5mbG93aW5nJiYhdC5yZWFkaW5nKWUucmVhZCgwKX1SZWFkYWJsZS5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXt1KFwiY2FsbCBwYXVzZSBmbG93aW5nPSVqXCIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKTtpZih0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmchPT1mYWxzZSl7dShcInBhdXNlXCIpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz1mYWxzZTt0aGlzLmVtaXQoXCJwYXVzZVwiKX10aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZD10cnVlO3JldHVybiB0aGlzfTtmdW5jdGlvbiBmbG93KGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dShcImZsb3dcIix0LmZsb3dpbmcpO3doaWxlKHQuZmxvd2luZyYmZS5yZWFkKCkhPT1udWxsKXt9fVJlYWRhYmxlLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dmFyIHI9dGhpcy5fcmVhZGFibGVTdGF0ZTt2YXIgbj1mYWxzZTtlLm9uKFwiZW5kXCIsKGZ1bmN0aW9uKCl7dShcIndyYXBwZWQgZW5kXCIpO2lmKHIuZGVjb2RlciYmIXIuZW5kZWQpe3ZhciBlPXIuZGVjb2Rlci5lbmQoKTtpZihlJiZlLmxlbmd0aCl0LnB1c2goZSl9dC5wdXNoKG51bGwpfSkpO2Uub24oXCJkYXRhXCIsKGZ1bmN0aW9uKGkpe3UoXCJ3cmFwcGVkIGRhdGFcIik7aWYoci5kZWNvZGVyKWk9ci5kZWNvZGVyLndyaXRlKGkpO2lmKHIub2JqZWN0TW9kZSYmKGk9PT1udWxsfHxpPT09dW5kZWZpbmVkKSlyZXR1cm47ZWxzZSBpZighci5vYmplY3RNb2RlJiYoIWl8fCFpLmxlbmd0aCkpcmV0dXJuO3ZhciBhPXQucHVzaChpKTtpZighYSl7bj10cnVlO2UucGF1c2UoKX19KSk7Zm9yKHZhciBpIGluIGUpe2lmKHRoaXNbaV09PT11bmRlZmluZWQmJnR5cGVvZiBlW2ldPT09XCJmdW5jdGlvblwiKXt0aGlzW2ldPWZ1bmN0aW9uIG1ldGhvZFdyYXAodCl7cmV0dXJuIGZ1bmN0aW9uIG1ldGhvZFdyYXBSZXR1cm5GdW5jdGlvbigpe3JldHVybiBlW3RdLmFwcGx5KGUsYXJndW1lbnRzKX19KGkpfX1mb3IodmFyIGE9MDthPEUubGVuZ3RoO2ErKyl7ZS5vbihFW2FdLHRoaXMuZW1pdC5iaW5kKHRoaXMsRVthXSkpfXRoaXMuX3JlYWQ9ZnVuY3Rpb24odCl7dShcIndyYXBwZWQgX3JlYWRcIix0KTtpZihuKXtuPWZhbHNlO2UucmVzdW1lKCl9fTtyZXR1cm4gdGhpc307aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIil7UmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe2lmKHc9PT11bmRlZmluZWQpe3c9cig4NzEpfXJldHVybiB3KHRoaXMpfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVGbG93aW5nXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHNldDpmdW5jdGlvbiBzZXQoZSl7aWYodGhpcy5fcmVhZGFibGVTdGF0ZSl7dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPWV9fX0pO1JlYWRhYmxlLl9mcm9tTGlzdD1mcm9tTGlzdDtPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pO2Z1bmN0aW9uIGZyb21MaXN0KGUsdCl7aWYodC5sZW5ndGg9PT0wKXJldHVybiBudWxsO3ZhciByO2lmKHQub2JqZWN0TW9kZSlyPXQuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZighZXx8ZT49dC5sZW5ndGgpe2lmKHQuZGVjb2RlcilyPXQuYnVmZmVyLmpvaW4oXCJcIik7ZWxzZSBpZih0LmJ1ZmZlci5sZW5ndGg9PT0xKXI9dC5idWZmZXIuZmlyc3QoKTtlbHNlIHI9dC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKTt0LmJ1ZmZlci5jbGVhcigpfWVsc2V7cj10LmJ1ZmZlci5jb25zdW1lKGUsdC5kZWNvZGVyKX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3UoXCJlbmRSZWFkYWJsZVwiLHQuZW5kRW1pdHRlZCk7aWYoIXQuZW5kRW1pdHRlZCl7dC5lbmRlZD10cnVlO3Byb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCx0LGUpfX1mdW5jdGlvbiBlbmRSZWFkYWJsZU5UKGUsdCl7dShcImVuZFJlYWRhYmxlTlRcIixlLmVuZEVtaXR0ZWQsZS5sZW5ndGgpO2lmKCFlLmVuZEVtaXR0ZWQmJmUubGVuZ3RoPT09MCl7ZS5lbmRFbWl0dGVkPXRydWU7dC5yZWFkYWJsZT1mYWxzZTt0LmVtaXQoXCJlbmRcIik7aWYoZS5hdXRvRGVzdHJveSl7dmFyIHI9dC5fd3JpdGFibGVTdGF0ZTtpZighcnx8ci5hdXRvRGVzdHJveSYmci5maW5pc2hlZCl7dC5kZXN0cm95KCl9fX19aWYodHlwZW9mIFN5bWJvbD09PVwiZnVuY3Rpb25cIil7UmVhZGFibGUuZnJvbT1mdW5jdGlvbihlLHQpe2lmKFI9PT11bmRlZmluZWQpe1I9cig3MjcpfXJldHVybiBSKFJlYWRhYmxlLGUsdCl9fWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxuPWUubGVuZ3RoO3I8bjtyKyspe2lmKGVbcl09PT10KXJldHVybiByfXJldHVybi0xfX0sMTcwOmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9VHJhbnNmb3JtO3ZhciBuPXIoNjQ2KS5xLGk9bi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxhPW4uRVJSX01VTFRJUExFX0NBTExCQUNLLG89bi5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLHM9bi5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7dmFyIGY9cig0MDMpO3IoNzgyKShUcmFuc2Zvcm0sZik7ZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZSx0KXt2YXIgcj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtyLnRyYW5zZm9ybWluZz1mYWxzZTt2YXIgbj1yLndyaXRlY2I7aWYobj09PW51bGwpe3JldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLG5ldyBhKX1yLndyaXRlY2h1bms9bnVsbDtyLndyaXRlY2I9bnVsbDtpZih0IT1udWxsKXRoaXMucHVzaCh0KTtuKGUpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPWZhbHNlO2lmKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspe3RoaXMuX3JlYWQoaS5oaWdoV2F0ZXJNYXJrKX19ZnVuY3Rpb24gVHJhbnNmb3JtKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpcmV0dXJuIG5ldyBUcmFuc2Zvcm0oZSk7Zi5jYWxsKHRoaXMsZSk7dGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTpmYWxzZSx0cmFuc2Zvcm1pbmc6ZmFsc2Usd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9O3RoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPXRydWU7dGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPWZhbHNlO2lmKGUpe2lmKHR5cGVvZiBlLnRyYW5zZm9ybT09PVwiZnVuY3Rpb25cIil0aGlzLl90cmFuc2Zvcm09ZS50cmFuc2Zvcm07aWYodHlwZW9mIGUuZmx1c2g9PT1cImZ1bmN0aW9uXCIpdGhpcy5fZmx1c2g9ZS5mbHVzaH10aGlzLm9uKFwicHJlZmluaXNoXCIscHJlZmluaXNoKX1mdW5jdGlvbiBwcmVmaW5pc2goKXt2YXIgZT10aGlzO2lmKHR5cGVvZiB0aGlzLl9mbHVzaD09PVwiZnVuY3Rpb25cIiYmIXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkKXt0aGlzLl9mbHVzaCgoZnVuY3Rpb24odCxyKXtkb25lKGUsdCxyKX0pKX1lbHNle2RvbmUodGhpcyxudWxsLG51bGwpfX1UcmFuc2Zvcm0ucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPWZhbHNlO3JldHVybiBmLnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyxlLHQpfTtUcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3IobmV3IGkoXCJfdHJhbnNmb3JtKClcIikpfTtUcmFuc2Zvcm0ucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7bi53cml0ZWNiPXI7bi53cml0ZWNodW5rPWU7bi53cml0ZWVuY29kaW5nPXQ7aWYoIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlO2lmKG4ubmVlZFRyYW5zZm9ybXx8aS5uZWVkUmVhZGFibGV8fGkubGVuZ3RoPGkuaGlnaFdhdGVyTWFyayl0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fTtUcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKHQud3JpdGVjaHVuayE9PW51bGwmJiF0LnRyYW5zZm9ybWluZyl7dC50cmFuc2Zvcm1pbmc9dHJ1ZTt0aGlzLl90cmFuc2Zvcm0odC53cml0ZWNodW5rLHQud3JpdGVlbmNvZGluZyx0LmFmdGVyVHJhbnNmb3JtKX1lbHNle3QubmVlZFRyYW5zZm9ybT10cnVlfX07VHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe2YucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxlLChmdW5jdGlvbihlKXt0KGUpfSkpfTtmdW5jdGlvbiBkb25lKGUsdCxyKXtpZih0KXJldHVybiBlLmVtaXQoXCJlcnJvclwiLHQpO2lmKHIhPW51bGwpZS5wdXNoKHIpO2lmKGUuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBzO2lmKGUuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgbztyZXR1cm4gZS5wdXNoKG51bGwpfX0sMzM3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9V3JpdGFibGU7ZnVuY3Rpb24gV3JpdGVSZXEoZSx0LHIpe3RoaXMuY2h1bms9ZTt0aGlzLmVuY29kaW5nPXQ7dGhpcy5jYWxsYmFjaz1yO3RoaXMubmV4dD1udWxsfWZ1bmN0aW9uIENvcmtlZFJlcXVlc3QoZSl7dmFyIHQ9dGhpczt0aGlzLm5leHQ9bnVsbDt0aGlzLmVudHJ5PW51bGw7dGhpcy5maW5pc2g9ZnVuY3Rpb24oKXtvbkNvcmtlZEZpbmlzaCh0LGUpfX12YXIgbjtXcml0YWJsZS5Xcml0YWJsZVN0YXRlPVdyaXRhYmxlU3RhdGU7dmFyIGk9e2RlcHJlY2F0ZTpyKDc2OSl9O3ZhciBhPXIoNjc4KTt2YXIgbz1yKDMwMCkuQnVmZmVyO3ZhciBzPWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gby5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIG8uaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBzfXZhciBmPXIoMjUpO3ZhciBsPXIoNzc2KSx1PWwuZ2V0SGlnaFdhdGVyTWFyazt2YXIgZD1yKDY0NikucSxjPWQuRVJSX0lOVkFMSURfQVJHX1RZUEUsaD1kLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELHA9ZC5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssYj1kLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUseT1kLkVSUl9TVFJFQU1fREVTVFJPWUVELGc9ZC5FUlJfU1RSRUFNX05VTExfVkFMVUVTLF89ZC5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCx2PWQuRVJSX1VOS05PV05fRU5DT0RJTkc7dmFyIG09Zi5lcnJvck9yRGVzdHJveTtyKDc4MikoV3JpdGFibGUsYSk7ZnVuY3Rpb24gbm9wKCl7fWZ1bmN0aW9uIFdyaXRhYmxlU3RhdGUoZSx0LGkpe249bnx8cig0MDMpO2U9ZXx8e307aWYodHlwZW9mIGkhPT1cImJvb2xlYW5cIilpPXQgaW5zdGFuY2VvZiBuO3RoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZTtpZihpKXRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS53cml0YWJsZU9iamVjdE1vZGU7dGhpcy5oaWdoV2F0ZXJNYXJrPXUodGhpcyxlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIsaSk7dGhpcy5maW5hbENhbGxlZD1mYWxzZTt0aGlzLm5lZWREcmFpbj1mYWxzZTt0aGlzLmVuZGluZz1mYWxzZTt0aGlzLmVuZGVkPWZhbHNlO3RoaXMuZmluaXNoZWQ9ZmFsc2U7dGhpcy5kZXN0cm95ZWQ9ZmFsc2U7dmFyIGE9ZS5kZWNvZGVTdHJpbmdzPT09ZmFsc2U7dGhpcy5kZWNvZGVTdHJpbmdzPSFhO3RoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIjt0aGlzLmxlbmd0aD0wO3RoaXMud3JpdGluZz1mYWxzZTt0aGlzLmNvcmtlZD0wO3RoaXMuc3luYz10cnVlO3RoaXMuYnVmZmVyUHJvY2Vzc2luZz1mYWxzZTt0aGlzLm9ud3JpdGU9ZnVuY3Rpb24oZSl7b253cml0ZSh0LGUpfTt0aGlzLndyaXRlY2I9bnVsbDt0aGlzLndyaXRlbGVuPTA7dGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbDt0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbDt0aGlzLnBlbmRpbmdjYj0wO3RoaXMucHJlZmluaXNoZWQ9ZmFsc2U7dGhpcy5lcnJvckVtaXR0ZWQ9ZmFsc2U7dGhpcy5lbWl0Q2xvc2U9ZS5lbWl0Q2xvc2UhPT1mYWxzZTt0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveTt0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTA7dGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodGhpcyl9V3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uIGdldEJ1ZmZlcigpe3ZhciBlPXRoaXMuYnVmZmVyZWRSZXF1ZXN0O3ZhciB0PVtdO3doaWxlKGUpe3QucHVzaChlKTtlPWUubmV4dH1yZXR1cm4gdH07KGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSxcImJ1ZmZlclwiLHtnZXQ6aS5kZXByZWNhdGUoKGZ1bmN0aW9uIHdyaXRhYmxlU3RhdGVCdWZmZXJHZXR0ZXIoKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0pLFwiX3dyaXRhYmxlU3RhdGUuYnVmZmVyIGlzIGRlcHJlY2F0ZWQuIFVzZSBfd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIgXCIrXCJpbnN0ZWFkLlwiLFwiREVQMDAwM1wiKX0pfWNhdGNoKGUpe319KSgpO3ZhciB3O2lmKHR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJlN5bWJvbC5oYXNJbnN0YW5jZSYmdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdPT09XCJmdW5jdGlvblwiKXt3PUZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdO09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uIHZhbHVlKGUpe2lmKHcuY2FsbCh0aGlzLGUpKXJldHVybiB0cnVlO2lmKHRoaXMhPT1Xcml0YWJsZSlyZXR1cm4gZmFsc2U7cmV0dXJuIGUmJmUuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBXcml0YWJsZVN0YXRlfX0pfWVsc2V7dz1mdW5jdGlvbiByZWFsSGFzSW5zdGFuY2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzfX1mdW5jdGlvbiBXcml0YWJsZShlKXtuPW58fHIoNDAzKTt2YXIgdD10aGlzIGluc3RhbmNlb2YgbjtpZighdCYmIXcuY2FsbChXcml0YWJsZSx0aGlzKSlyZXR1cm4gbmV3IFdyaXRhYmxlKGUpO3RoaXMuX3dyaXRhYmxlU3RhdGU9bmV3IFdyaXRhYmxlU3RhdGUoZSx0aGlzLHQpO3RoaXMud3JpdGFibGU9dHJ1ZTtpZihlKXtpZih0eXBlb2YgZS53cml0ZT09PVwiZnVuY3Rpb25cIil0aGlzLl93cml0ZT1lLndyaXRlO2lmKHR5cGVvZiBlLndyaXRldj09PVwiZnVuY3Rpb25cIil0aGlzLl93cml0ZXY9ZS53cml0ZXY7aWYodHlwZW9mIGUuZGVzdHJveT09PVwiZnVuY3Rpb25cIil0aGlzLl9kZXN0cm95PWUuZGVzdHJveTtpZih0eXBlb2YgZS5maW5hbD09PVwiZnVuY3Rpb25cIil0aGlzLl9maW5hbD1lLmZpbmFsfWEuY2FsbCh0aGlzKX1Xcml0YWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe20odGhpcyxuZXcgYil9O2Z1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoZSx0KXt2YXIgcj1uZXcgXzttKGUscik7cHJvY2Vzcy5uZXh0VGljayh0LHIpfWZ1bmN0aW9uIHZhbGlkQ2h1bmsoZSx0LHIsbil7dmFyIGk7aWYocj09PW51bGwpe2k9bmV3IGd9ZWxzZSBpZih0eXBlb2YgciE9PVwic3RyaW5nXCImJiF0Lm9iamVjdE1vZGUpe2k9bmV3IGMoXCJjaHVua1wiLFtcInN0cmluZ1wiLFwiQnVmZmVyXCJdLHIpfWlmKGkpe20oZSxpKTtwcm9jZXNzLm5leHRUaWNrKG4saSk7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfVdyaXRhYmxlLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fd3JpdGFibGVTdGF0ZTt2YXIgaT1mYWxzZTt2YXIgYT0hbi5vYmplY3RNb2RlJiZfaXNVaW50OEFycmF5KGUpO2lmKGEmJiFvLmlzQnVmZmVyKGUpKXtlPV91aW50OEFycmF5VG9CdWZmZXIoZSl9aWYodHlwZW9mIHQ9PT1cImZ1bmN0aW9uXCIpe3I9dDt0PW51bGx9aWYoYSl0PVwiYnVmZmVyXCI7ZWxzZSBpZighdCl0PW4uZGVmYXVsdEVuY29kaW5nO2lmKHR5cGVvZiByIT09XCJmdW5jdGlvblwiKXI9bm9wO2lmKG4uZW5kaW5nKXdyaXRlQWZ0ZXJFbmQodGhpcyxyKTtlbHNlIGlmKGF8fHZhbGlkQ2h1bmsodGhpcyxuLGUscikpe24ucGVuZGluZ2NiKys7aT13cml0ZU9yQnVmZmVyKHRoaXMsbixhLGUsdCxyKX1yZXR1cm4gaX07V3JpdGFibGUucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfTtXcml0YWJsZS5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fd3JpdGFibGVTdGF0ZTtpZihlLmNvcmtlZCl7ZS5jb3JrZWQtLTtpZighZS53cml0aW5nJiYhZS5jb3JrZWQmJiFlLmJ1ZmZlclByb2Nlc3NpbmcmJmUuYnVmZmVyZWRSZXF1ZXN0KWNsZWFyQnVmZmVyKHRoaXMsZSl9fTtXcml0YWJsZS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uIHNldERlZmF1bHRFbmNvZGluZyhlKXtpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpZT1lLnRvTG93ZXJDYXNlKCk7aWYoIShbXCJoZXhcIixcInV0ZjhcIixcInV0Zi04XCIsXCJhc2NpaVwiLFwiYmluYXJ5XCIsXCJiYXNlNjRcIixcInVjczJcIixcInVjcy0yXCIsXCJ1dGYxNmxlXCIsXCJ1dGYtMTZsZVwiLFwicmF3XCJdLmluZGV4T2YoKGUrXCJcIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyB2KGUpO3RoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPWU7cmV0dXJuIHRoaXN9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KTtmdW5jdGlvbiBkZWNvZGVDaHVuayhlLHQscil7aWYoIWUub2JqZWN0TW9kZSYmZS5kZWNvZGVTdHJpbmdzIT09ZmFsc2UmJnR5cGVvZiB0PT09XCJzdHJpbmdcIil7dD1vLmZyb20odCxyKX1yZXR1cm4gdH1PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ZmFsc2UsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSk7ZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihlLHQscixuLGksYSl7aWYoIXIpe3ZhciBvPWRlY29kZUNodW5rKHQsbixpKTtpZihuIT09byl7cj10cnVlO2k9XCJidWZmZXJcIjtuPW99fXZhciBzPXQub2JqZWN0TW9kZT8xOm4ubGVuZ3RoO3QubGVuZ3RoKz1zO3ZhciBmPXQubGVuZ3RoPHQuaGlnaFdhdGVyTWFyaztpZighZil0Lm5lZWREcmFpbj10cnVlO2lmKHQud3JpdGluZ3x8dC5jb3JrZWQpe3ZhciBsPXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDt0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOm4sZW5jb2Rpbmc6aSxpc0J1ZjpyLGNhbGxiYWNrOmEsbmV4dDpudWxsfTtpZihsKXtsLm5leHQ9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0fWVsc2V7dC5idWZmZXJlZFJlcXVlc3Q9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0fXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZXtkb1dyaXRlKGUsdCxmYWxzZSxzLG4saSxhKX1yZXR1cm4gZn1mdW5jdGlvbiBkb1dyaXRlKGUsdCxyLG4saSxhLG8pe3Qud3JpdGVsZW49bjt0LndyaXRlY2I9bzt0LndyaXRpbmc9dHJ1ZTt0LnN5bmM9dHJ1ZTtpZih0LmRlc3Ryb3llZCl0Lm9ud3JpdGUobmV3IHkoXCJ3cml0ZVwiKSk7ZWxzZSBpZihyKWUuX3dyaXRldihpLHQub253cml0ZSk7ZWxzZSBlLl93cml0ZShpLGEsdC5vbndyaXRlKTt0LnN5bmM9ZmFsc2V9ZnVuY3Rpb24gb253cml0ZUVycm9yKGUsdCxyLG4saSl7LS10LnBlbmRpbmdjYjtpZihyKXtwcm9jZXNzLm5leHRUaWNrKGksbik7cHJvY2Vzcy5uZXh0VGljayhmaW5pc2hNYXliZSxlLHQpO2UuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPXRydWU7bShlLG4pfWVsc2V7aShuKTtlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD10cnVlO20oZSxuKTtmaW5pc2hNYXliZShlLHQpfX1mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoZSl7ZS53cml0aW5nPWZhbHNlO2Uud3JpdGVjYj1udWxsO2UubGVuZ3RoLT1lLndyaXRlbGVuO2Uud3JpdGVsZW49MH1mdW5jdGlvbiBvbndyaXRlKGUsdCl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZTt2YXIgbj1yLnN5bmM7dmFyIGk9ci53cml0ZWNiO2lmKHR5cGVvZiBpIT09XCJmdW5jdGlvblwiKXRocm93IG5ldyBwO29ud3JpdGVTdGF0ZVVwZGF0ZShyKTtpZih0KW9ud3JpdGVFcnJvcihlLHIsbix0LGkpO2Vsc2V7dmFyIGE9bmVlZEZpbmlzaChyKXx8ZS5kZXN0cm95ZWQ7aWYoIWEmJiFyLmNvcmtlZCYmIXIuYnVmZmVyUHJvY2Vzc2luZyYmci5idWZmZXJlZFJlcXVlc3Qpe2NsZWFyQnVmZmVyKGUscil9aWYobil7cHJvY2Vzcy5uZXh0VGljayhhZnRlcldyaXRlLGUscixhLGkpfWVsc2V7YWZ0ZXJXcml0ZShlLHIsYSxpKX19fWZ1bmN0aW9uIGFmdGVyV3JpdGUoZSx0LHIsbil7aWYoIXIpb253cml0ZURyYWluKGUsdCk7dC5wZW5kaW5nY2ItLTtuKCk7ZmluaXNoTWF5YmUoZSx0KX1mdW5jdGlvbiBvbndyaXRlRHJhaW4oZSx0KXtpZih0Lmxlbmd0aD09PTAmJnQubmVlZERyYWluKXt0Lm5lZWREcmFpbj1mYWxzZTtlLmVtaXQoXCJkcmFpblwiKX19ZnVuY3Rpb24gY2xlYXJCdWZmZXIoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9dHJ1ZTt2YXIgcj10LmJ1ZmZlcmVkUmVxdWVzdDtpZihlLl93cml0ZXYmJnImJnIubmV4dCl7dmFyIG49dC5idWZmZXJlZFJlcXVlc3RDb3VudDt2YXIgaT1uZXcgQXJyYXkobik7dmFyIGE9dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7YS5lbnRyeT1yO3ZhciBvPTA7dmFyIHM9dHJ1ZTt3aGlsZShyKXtpW29dPXI7aWYoIXIuaXNCdWYpcz1mYWxzZTtyPXIubmV4dDtvKz0xfWkuYWxsQnVmZmVycz1zO2RvV3JpdGUoZSx0LHRydWUsdC5sZW5ndGgsaSxcIlwiLGEuZmluaXNoKTt0LnBlbmRpbmdjYisrO3QubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsO2lmKGEubmV4dCl7dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9YS5uZXh0O2EubmV4dD1udWxsfWVsc2V7dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodCl9dC5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7d2hpbGUocil7dmFyIGY9ci5jaHVuazt2YXIgbD1yLmVuY29kaW5nO3ZhciB1PXIuY2FsbGJhY2s7dmFyIGQ9dC5vYmplY3RNb2RlPzE6Zi5sZW5ndGg7ZG9Xcml0ZShlLHQsZmFsc2UsZCxmLGwsdSk7cj1yLm5leHQ7dC5idWZmZXJlZFJlcXVlc3RDb3VudC0tO2lmKHQud3JpdGluZyl7YnJlYWt9fWlmKHI9PT1udWxsKXQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsfXQuYnVmZmVyZWRSZXF1ZXN0PXI7dC5idWZmZXJQcm9jZXNzaW5nPWZhbHNlfVdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3IobmV3IGgoXCJfd3JpdGUoKVwiKSl9O1dyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGV2PW51bGw7V3JpdGFibGUucHJvdG90eXBlLmVuZD1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fd3JpdGFibGVTdGF0ZTtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cIil7cj1lO2U9bnVsbDt0PW51bGx9ZWxzZSBpZih0eXBlb2YgdD09PVwiZnVuY3Rpb25cIil7cj10O3Q9bnVsbH1pZihlIT09bnVsbCYmZSE9PXVuZGVmaW5lZCl0aGlzLndyaXRlKGUsdCk7aWYobi5jb3JrZWQpe24uY29ya2VkPTE7dGhpcy51bmNvcmsoKX1pZighbi5lbmRpbmcpZW5kV3JpdGFibGUodGhpcyxuLHIpO3JldHVybiB0aGlzfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTpmYWxzZSxnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pO2Z1bmN0aW9uIG5lZWRGaW5pc2goZSl7cmV0dXJuIGUuZW5kaW5nJiZlLmxlbmd0aD09PTAmJmUuYnVmZmVyZWRSZXF1ZXN0PT09bnVsbCYmIWUuZmluaXNoZWQmJiFlLndyaXRpbmd9ZnVuY3Rpb24gY2FsbEZpbmFsKGUsdCl7ZS5fZmluYWwoKGZ1bmN0aW9uKHIpe3QucGVuZGluZ2NiLS07aWYocil7bShlLHIpfXQucHJlZmluaXNoZWQ9dHJ1ZTtlLmVtaXQoXCJwcmVmaW5pc2hcIik7ZmluaXNoTWF5YmUoZSx0KX0pKX1mdW5jdGlvbiBwcmVmaW5pc2goZSx0KXtpZighdC5wcmVmaW5pc2hlZCYmIXQuZmluYWxDYWxsZWQpe2lmKHR5cGVvZiBlLl9maW5hbD09PVwiZnVuY3Rpb25cIiYmIXQuZGVzdHJveWVkKXt0LnBlbmRpbmdjYisrO3QuZmluYWxDYWxsZWQ9dHJ1ZTtwcm9jZXNzLm5leHRUaWNrKGNhbGxGaW5hbCxlLHQpfWVsc2V7dC5wcmVmaW5pc2hlZD10cnVlO2UuZW1pdChcInByZWZpbmlzaFwiKX19fWZ1bmN0aW9uIGZpbmlzaE1heWJlKGUsdCl7dmFyIHI9bmVlZEZpbmlzaCh0KTtpZihyKXtwcmVmaW5pc2goZSx0KTtpZih0LnBlbmRpbmdjYj09PTApe3QuZmluaXNoZWQ9dHJ1ZTtlLmVtaXQoXCJmaW5pc2hcIik7aWYodC5hdXRvRGVzdHJveSl7dmFyIG49ZS5fcmVhZGFibGVTdGF0ZTtpZighbnx8bi5hdXRvRGVzdHJveSYmbi5lbmRFbWl0dGVkKXtlLmRlc3Ryb3koKX19fX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRXcml0YWJsZShlLHQscil7dC5lbmRpbmc9dHJ1ZTtmaW5pc2hNYXliZShlLHQpO2lmKHIpe2lmKHQuZmluaXNoZWQpcHJvY2Vzcy5uZXh0VGljayhyKTtlbHNlIGUub25jZShcImZpbmlzaFwiLHIpfXQuZW5kZWQ9dHJ1ZTtlLndyaXRhYmxlPWZhbHNlfWZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGUsdCxyKXt2YXIgbj1lLmVudHJ5O2UuZW50cnk9bnVsbDt3aGlsZShuKXt2YXIgaT1uLmNhbGxiYWNrO3QucGVuZGluZ2NiLS07aShyKTtuPW4ubmV4dH10LmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PWV9T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOmZhbHNlLGdldDpmdW5jdGlvbiBnZXQoKXtpZih0aGlzLl93cml0YWJsZVN0YXRlPT09dW5kZWZpbmVkKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24gc2V0KGUpe2lmKCF0aGlzLl93cml0YWJsZVN0YXRlKXtyZXR1cm59dGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZX19KTtXcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveT1mLmRlc3Ryb3k7V3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9Zi51bmRlc3Ryb3k7V3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX19LDg3MTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG47ZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsdCxyKXtpZih0IGluIGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOnIsZW51bWVyYWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWV9KX1lbHNle2VbdF09cn1yZXR1cm4gZX12YXIgaT1yKDY5OCk7dmFyIGE9U3ltYm9sKFwibGFzdFJlc29sdmVcIik7dmFyIG89U3ltYm9sKFwibGFzdFJlamVjdFwiKTt2YXIgcz1TeW1ib2woXCJlcnJvclwiKTt2YXIgZj1TeW1ib2woXCJlbmRlZFwiKTt2YXIgbD1TeW1ib2woXCJsYXN0UHJvbWlzZVwiKTt2YXIgdT1TeW1ib2woXCJoYW5kbGVQcm9taXNlXCIpO3ZhciBkPVN5bWJvbChcInN0cmVhbVwiKTtmdW5jdGlvbiBjcmVhdGVJdGVyUmVzdWx0KGUsdCl7cmV0dXJue3ZhbHVlOmUsZG9uZTp0fX1mdW5jdGlvbiByZWFkQW5kUmVzb2x2ZShlKXt2YXIgdD1lW2FdO2lmKHQhPT1udWxsKXt2YXIgcj1lW2RdLnJlYWQoKTtpZihyIT09bnVsbCl7ZVtsXT1udWxsO2VbYV09bnVsbDtlW29dPW51bGw7dChjcmVhdGVJdGVyUmVzdWx0KHIsZmFsc2UpKX19fWZ1bmN0aW9uIG9uUmVhZGFibGUoZSl7cHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSxlKX1mdW5jdGlvbiB3cmFwRm9yTmV4dChlLHQpe3JldHVybiBmdW5jdGlvbihyLG4pe2UudGhlbigoZnVuY3Rpb24oKXtpZih0W2ZdKXtyKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLHRydWUpKTtyZXR1cm59dFt1XShyLG4pfSksbil9fXZhciBjPU9iamVjdC5nZXRQcm90b3R5cGVPZigoZnVuY3Rpb24oKXt9KSk7dmFyIGg9T2JqZWN0LnNldFByb3RvdHlwZU9mKChuPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNbZF19LG5leHQ6ZnVuY3Rpb24gbmV4dCgpe3ZhciBlPXRoaXM7dmFyIHQ9dGhpc1tzXTtpZih0IT09bnVsbCl7cmV0dXJuIFByb21pc2UucmVqZWN0KHQpfWlmKHRoaXNbZl0pe3JldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsdHJ1ZSkpfWlmKHRoaXNbZF0uZGVzdHJveWVkKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQscil7cHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXtpZihlW3NdKXtyKGVbc10pfWVsc2V7dChjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCx0cnVlKSl9fSkpfSkpfXZhciByPXRoaXNbbF07dmFyIG47aWYocil7bj1uZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChyLHRoaXMpKX1lbHNle3ZhciBpPXRoaXNbZF0ucmVhZCgpO2lmKGkhPT1udWxsKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoaSxmYWxzZSkpfW49bmV3IFByb21pc2UodGhpc1t1XSl9dGhpc1tsXT1uO3JldHVybiBufX0sX2RlZmluZVByb3BlcnR5KG4sU3ltYm9sLmFzeW5jSXRlcmF0b3IsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksX2RlZmluZVByb3BlcnR5KG4sXCJyZXR1cm5cIiwoZnVuY3Rpb24gX3JldHVybigpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe2VbZF0uZGVzdHJveShudWxsLChmdW5jdGlvbihlKXtpZihlKXtyKGUpO3JldHVybn10KGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLHRydWUpKX0pKX0pKX0pKSxuKSxjKTt2YXIgcD1mdW5jdGlvbiBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IoZSl7dmFyIHQ7dmFyIHI9T2JqZWN0LmNyZWF0ZShoLCh0PXt9LF9kZWZpbmVQcm9wZXJ0eSh0LGQse3ZhbHVlOmUsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LGEse3ZhbHVlOm51bGwsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LG8se3ZhbHVlOm51bGwsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LHMse3ZhbHVlOm51bGwsd3JpdGFibGU6dHJ1ZX0pLF9kZWZpbmVQcm9wZXJ0eSh0LGYse3ZhbHVlOmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCx3cml0YWJsZTp0cnVlfSksX2RlZmluZVByb3BlcnR5KHQsdSx7dmFsdWU6ZnVuY3Rpb24gdmFsdWUoZSx0KXt2YXIgbj1yW2RdLnJlYWQoKTtpZihuKXtyW2xdPW51bGw7clthXT1udWxsO3Jbb109bnVsbDtlKGNyZWF0ZUl0ZXJSZXN1bHQobixmYWxzZSkpfWVsc2V7clthXT1lO3Jbb109dH19LHdyaXRhYmxlOnRydWV9KSx0KSk7cltsXT1udWxsO2koZSwoZnVuY3Rpb24oZSl7aWYoZSYmZS5jb2RlIT09XCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiKXt2YXIgdD1yW29dO2lmKHQhPT1udWxsKXtyW2xdPW51bGw7clthXT1udWxsO3Jbb109bnVsbDt0KGUpfXJbc109ZTtyZXR1cm59dmFyIG49clthXTtpZihuIT09bnVsbCl7cltsXT1udWxsO3JbYV09bnVsbDtyW29dPW51bGw7bihjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCx0cnVlKSl9cltmXT10cnVlfSkpO2Uub24oXCJyZWFkYWJsZVwiLG9uUmVhZGFibGUuYmluZChudWxsLHIpKTtyZXR1cm4gcn07ZS5leHBvcnRzPXB9LDM3OTpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aWYodCluPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSk7ci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF0hPW51bGw/YXJndW1lbnRzW3RdOnt9O2lmKHQlMil7b3duS2V5cyhPYmplY3QociksdHJ1ZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxyW3RdKX0pKX1lbHNlIGlmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKXtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKX1lbHNle293bktleXMoT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iocix0KSl9KSl9fXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7aWYodCBpbiBlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9cmV0dXJuIGV9ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9fWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKGUsdCl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXRbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ZmFsc2U7bi5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBuKW4ud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLmtleSxuKX19ZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKGUsdCxyKXtpZih0KV9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpO2lmKHIpX2RlZmluZVByb3BlcnRpZXMoZSxyKTtyZXR1cm4gZX12YXIgbj1yKDMwMCksaT1uLkJ1ZmZlcjt2YXIgYT1yKDgzNyksbz1hLmluc3BlY3Q7dmFyIHM9byYmby5jdXN0b218fFwiaW5zcGVjdFwiO2Z1bmN0aW9uIGNvcHlCdWZmZXIoZSx0LHIpe2kucHJvdG90eXBlLmNvcHkuY2FsbChlLHQscil9ZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQnVmZmVyTGlzdCgpe19jbGFzc0NhbGxDaGVjayh0aGlzLEJ1ZmZlckxpc3QpO3RoaXMuaGVhZD1udWxsO3RoaXMudGFpbD1udWxsO3RoaXMubGVuZ3RoPTB9X2NyZWF0ZUNsYXNzKEJ1ZmZlckxpc3QsW3trZXk6XCJwdXNoXCIsdmFsdWU6ZnVuY3Rpb24gcHVzaChlKXt2YXIgdD17ZGF0YTplLG5leHQ6bnVsbH07aWYodGhpcy5sZW5ndGg+MCl0aGlzLnRhaWwubmV4dD10O2Vsc2UgdGhpcy5oZWFkPXQ7dGhpcy50YWlsPXQ7Kyt0aGlzLmxlbmd0aH19LHtrZXk6XCJ1bnNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24gdW5zaGlmdChlKXt2YXIgdD17ZGF0YTplLG5leHQ6dGhpcy5oZWFkfTtpZih0aGlzLmxlbmd0aD09PTApdGhpcy50YWlsPXQ7dGhpcy5oZWFkPXQ7Kyt0aGlzLmxlbmd0aH19LHtrZXk6XCJzaGlmdFwiLHZhbHVlOmZ1bmN0aW9uIHNoaWZ0KCl7aWYodGhpcy5sZW5ndGg9PT0wKXJldHVybjt2YXIgZT10aGlzLmhlYWQuZGF0YTtpZih0aGlzLmxlbmd0aD09PTEpdGhpcy5oZWFkPXRoaXMudGFpbD1udWxsO2Vsc2UgdGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0Oy0tdGhpcy5sZW5ndGg7cmV0dXJuIGV9fSx7a2V5OlwiY2xlYXJcIix2YWx1ZTpmdW5jdGlvbiBjbGVhcigpe3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDt0aGlzLmxlbmd0aD0wfX0se2tleTpcImpvaW5cIix2YWx1ZTpmdW5jdGlvbiBqb2luKGUpe2lmKHRoaXMubGVuZ3RoPT09MClyZXR1cm5cIlwiO3ZhciB0PXRoaXMuaGVhZDt2YXIgcj1cIlwiK3QuZGF0YTt3aGlsZSh0PXQubmV4dCl7cis9ZSt0LmRhdGF9cmV0dXJuIHJ9fSx7a2V5OlwiY29uY2F0XCIsdmFsdWU6ZnVuY3Rpb24gY29uY2F0KGUpe2lmKHRoaXMubGVuZ3RoPT09MClyZXR1cm4gaS5hbGxvYygwKTt2YXIgdD1pLmFsbG9jVW5zYWZlKGU+Pj4wKTt2YXIgcj10aGlzLmhlYWQ7dmFyIG49MDt3aGlsZShyKXtjb3B5QnVmZmVyKHIuZGF0YSx0LG4pO24rPXIuZGF0YS5sZW5ndGg7cj1yLm5leHR9cmV0dXJuIHR9fSx7a2V5OlwiY29uc3VtZVwiLHZhbHVlOmZ1bmN0aW9uIGNvbnN1bWUoZSx0KXt2YXIgcjtpZihlPHRoaXMuaGVhZC5kYXRhLmxlbmd0aCl7cj10aGlzLmhlYWQuZGF0YS5zbGljZSgwLGUpO3RoaXMuaGVhZC5kYXRhPXRoaXMuaGVhZC5kYXRhLnNsaWNlKGUpfWVsc2UgaWYoZT09PXRoaXMuaGVhZC5kYXRhLmxlbmd0aCl7cj10aGlzLnNoaWZ0KCl9ZWxzZXtyPXQ/dGhpcy5fZ2V0U3RyaW5nKGUpOnRoaXMuX2dldEJ1ZmZlcihlKX1yZXR1cm4gcn19LHtrZXk6XCJmaXJzdFwiLHZhbHVlOmZ1bmN0aW9uIGZpcnN0KCl7cmV0dXJuIHRoaXMuaGVhZC5kYXRhfX0se2tleTpcIl9nZXRTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbiBfZ2V0U3RyaW5nKGUpe3ZhciB0PXRoaXMuaGVhZDt2YXIgcj0xO3ZhciBuPXQuZGF0YTtlLT1uLmxlbmd0aDt3aGlsZSh0PXQubmV4dCl7dmFyIGk9dC5kYXRhO3ZhciBhPWU+aS5sZW5ndGg/aS5sZW5ndGg6ZTtpZihhPT09aS5sZW5ndGgpbis9aTtlbHNlIG4rPWkuc2xpY2UoMCxlKTtlLT1hO2lmKGU9PT0wKXtpZihhPT09aS5sZW5ndGgpeysrcjtpZih0Lm5leHQpdGhpcy5oZWFkPXQubmV4dDtlbHNlIHRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbH1lbHNle3RoaXMuaGVhZD10O3QuZGF0YT1pLnNsaWNlKGEpfWJyZWFrfSsrcn10aGlzLmxlbmd0aC09cjtyZXR1cm4gbn19LHtrZXk6XCJfZ2V0QnVmZmVyXCIsdmFsdWU6ZnVuY3Rpb24gX2dldEJ1ZmZlcihlKXt2YXIgdD1pLmFsbG9jVW5zYWZlKGUpO3ZhciByPXRoaXMuaGVhZDt2YXIgbj0xO3IuZGF0YS5jb3B5KHQpO2UtPXIuZGF0YS5sZW5ndGg7d2hpbGUocj1yLm5leHQpe3ZhciBhPXIuZGF0YTt2YXIgbz1lPmEubGVuZ3RoP2EubGVuZ3RoOmU7YS5jb3B5KHQsdC5sZW5ndGgtZSwwLG8pO2UtPW87aWYoZT09PTApe2lmKG89PT1hLmxlbmd0aCl7KytuO2lmKHIubmV4dCl0aGlzLmhlYWQ9ci5uZXh0O2Vsc2UgdGhpcy5oZWFkPXRoaXMudGFpbD1udWxsfWVsc2V7dGhpcy5oZWFkPXI7ci5kYXRhPWEuc2xpY2Uobyl9YnJlYWt9KytufXRoaXMubGVuZ3RoLT1uO3JldHVybiB0fX0se2tleTpzLHZhbHVlOmZ1bmN0aW9uIHZhbHVlKGUsdCl7cmV0dXJuIG8odGhpcyxfb2JqZWN0U3ByZWFkKHt9LHQse2RlcHRoOjAsY3VzdG9tSW5zcGVjdDpmYWxzZX0pKX19XSk7cmV0dXJuIEJ1ZmZlckxpc3R9KCl9LDI1OmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGRlc3Ryb3koZSx0KXt2YXIgcj10aGlzO3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO2lmKG58fGkpe2lmKHQpe3QoZSl9ZWxzZSBpZihlKXtpZighdGhpcy5fd3JpdGFibGVTdGF0ZSl7cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLGUpfWVsc2UgaWYoIXRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkKXt0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD10cnVlO3Byb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyxlKX19cmV0dXJuIHRoaXN9aWYodGhpcy5fcmVhZGFibGVTdGF0ZSl7dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dHJ1ZX1pZih0aGlzLl93cml0YWJsZVN0YXRlKXt0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10cnVlfXRoaXMuX2Rlc3Ryb3koZXx8bnVsbCwoZnVuY3Rpb24oZSl7aWYoIXQmJmUpe2lmKCFyLl93cml0YWJsZVN0YXRlKXtwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscixlKX1lbHNlIGlmKCFyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCl7ci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9dHJ1ZTtwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscixlKX1lbHNle3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscil9fWVsc2UgaWYodCl7cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKTt0KGUpfWVsc2V7cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKX19KSk7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW1pdEVycm9yQW5kQ2xvc2VOVChlLHQpe2VtaXRFcnJvck5UKGUsdCk7ZW1pdENsb3NlTlQoZSl9ZnVuY3Rpb24gZW1pdENsb3NlTlQoZSl7aWYoZS5fd3JpdGFibGVTdGF0ZSYmIWUuX3dyaXRhYmxlU3RhdGUuZW1pdENsb3NlKXJldHVybjtpZihlLl9yZWFkYWJsZVN0YXRlJiYhZS5fcmVhZGFibGVTdGF0ZS5lbWl0Q2xvc2UpcmV0dXJuO2UuZW1pdChcImNsb3NlXCIpfWZ1bmN0aW9uIHVuZGVzdHJveSgpe2lmKHRoaXMuX3JlYWRhYmxlU3RhdGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWZhbHNlO3RoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz1mYWxzZTt0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPWZhbHNlO3RoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD1mYWxzZX1pZih0aGlzLl93cml0YWJsZVN0YXRlKXt0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ZmFsc2U7dGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD1mYWxzZTt0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPWZhbHNlO3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPWZhbHNlfX1mdW5jdGlvbiBlbWl0RXJyb3JOVChlLHQpe2UuZW1pdChcImVycm9yXCIsdCl9ZnVuY3Rpb24gZXJyb3JPckRlc3Ryb3koZSx0KXt2YXIgcj1lLl9yZWFkYWJsZVN0YXRlO3ZhciBuPWUuX3dyaXRhYmxlU3RhdGU7aWYociYmci5hdXRvRGVzdHJveXx8biYmbi5hdXRvRGVzdHJveSllLmRlc3Ryb3kodCk7ZWxzZSBlLmVtaXQoXCJlcnJvclwiLHQpfWUuZXhwb3J0cz17ZGVzdHJveTpkZXN0cm95LHVuZGVzdHJveTp1bmRlc3Ryb3ksZXJyb3JPckRlc3Ryb3k6ZXJyb3JPckRlc3Ryb3l9fSw2OTg6ZnVuY3Rpb24oZSx0LHIpe1widXNlIHN0cmljdFwiO3ZhciBuPXIoNjQ2KS5xLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHQ9ZmFsc2U7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodClyZXR1cm47dD10cnVlO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKXtuW2ldPWFyZ3VtZW50c1tpXX1lLmFwcGx5KHRoaXMsbil9fWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmdHlwZW9mIGUuYWJvcnQ9PT1cImZ1bmN0aW9uXCJ9ZnVuY3Rpb24gZW9zKGUsdCxyKXtpZih0eXBlb2YgdD09PVwiZnVuY3Rpb25cIilyZXR1cm4gZW9zKGUsbnVsbCx0KTtpZighdCl0PXt9O3I9b25jZShyfHxub29wKTt2YXIgaT10LnJlYWRhYmxlfHx0LnJlYWRhYmxlIT09ZmFsc2UmJmUucmVhZGFibGU7dmFyIGE9dC53cml0YWJsZXx8dC53cml0YWJsZSE9PWZhbHNlJiZlLndyaXRhYmxlO3ZhciBvPWZ1bmN0aW9uIG9ubGVnYWN5ZmluaXNoKCl7aWYoIWUud3JpdGFibGUpZigpfTt2YXIgcz1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkO3ZhciBmPWZ1bmN0aW9uIG9uZmluaXNoKCl7YT1mYWxzZTtzPXRydWU7aWYoIWkpci5jYWxsKGUpfTt2YXIgbD1lLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ7dmFyIHU9ZnVuY3Rpb24gb25lbmQoKXtpPWZhbHNlO2w9dHJ1ZTtpZighYSlyLmNhbGwoZSl9O3ZhciBkPWZ1bmN0aW9uIG9uZXJyb3IodCl7ci5jYWxsKGUsdCl9O3ZhciBjPWZ1bmN0aW9uIG9uY2xvc2UoKXt2YXIgdDtpZihpJiYhbCl7aWYoIWUuX3JlYWRhYmxlU3RhdGV8fCFlLl9yZWFkYWJsZVN0YXRlLmVuZGVkKXQ9bmV3IG47cmV0dXJuIHIuY2FsbChlLHQpfWlmKGEmJiFzKXtpZighZS5fd3JpdGFibGVTdGF0ZXx8IWUuX3dyaXRhYmxlU3RhdGUuZW5kZWQpdD1uZXcgbjtyZXR1cm4gci5jYWxsKGUsdCl9fTt2YXIgaD1mdW5jdGlvbiBvbnJlcXVlc3QoKXtlLnJlcS5vbihcImZpbmlzaFwiLGYpfTtpZihpc1JlcXVlc3QoZSkpe2Uub24oXCJjb21wbGV0ZVwiLGYpO2Uub24oXCJhYm9ydFwiLGMpO2lmKGUucmVxKWgoKTtlbHNlIGUub24oXCJyZXF1ZXN0XCIsaCl9ZWxzZSBpZihhJiYhZS5fd3JpdGFibGVTdGF0ZSl7ZS5vbihcImVuZFwiLG8pO2Uub24oXCJjbG9zZVwiLG8pfWUub24oXCJlbmRcIix1KTtlLm9uKFwiZmluaXNoXCIsZik7aWYodC5lcnJvciE9PWZhbHNlKWUub24oXCJlcnJvclwiLGQpO2Uub24oXCJjbG9zZVwiLGMpO3JldHVybiBmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoXCJjb21wbGV0ZVwiLGYpO2UucmVtb3ZlTGlzdGVuZXIoXCJhYm9ydFwiLGMpO2UucmVtb3ZlTGlzdGVuZXIoXCJyZXF1ZXN0XCIsaCk7aWYoZS5yZXEpZS5yZXEucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixmKTtlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsbyk7ZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbyk7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGYpO2UucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIix1KTtlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixkKTtlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixjKX19ZS5leHBvcnRzPWVvc30sNzI3OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBhc3luY0dlbmVyYXRvclN0ZXAoZSx0LHIsbixpLGEsbyl7dHJ5e3ZhciBzPWVbYV0obyk7dmFyIGY9cy52YWx1ZX1jYXRjaChlKXtyKGUpO3JldHVybn1pZihzLmRvbmUpe3QoZil9ZWxzZXtQcm9taXNlLnJlc29sdmUoZikudGhlbihuLGkpfX1mdW5jdGlvbiBfYXN5bmNUb0dlbmVyYXRvcihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9YXJndW1lbnRzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixpKXt2YXIgYT1lLmFwcGx5KHQscik7ZnVuY3Rpb24gX25leHQoZSl7YXN5bmNHZW5lcmF0b3JTdGVwKGEsbixpLF9uZXh0LF90aHJvdyxcIm5leHRcIixlKX1mdW5jdGlvbiBfdGhyb3coZSl7YXN5bmNHZW5lcmF0b3JTdGVwKGEsbixpLF9uZXh0LF90aHJvdyxcInRocm93XCIsZSl9X25leHQodW5kZWZpbmVkKX0pKX19ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7aWYodCluPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSk7ci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF0hPW51bGw/YXJndW1lbnRzW3RdOnt9O2lmKHQlMil7b3duS2V5cyhPYmplY3QociksdHJ1ZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxyW3RdKX0pKX1lbHNlIGlmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKXtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKX1lbHNle293bktleXMoT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iocix0KSl9KSl9fXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7aWYodCBpbiBlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlfSl9ZWxzZXtlW3RdPXJ9cmV0dXJuIGV9dmFyIG49cig2NDYpLnEuRVJSX0lOVkFMSURfQVJHX1RZUEU7ZnVuY3Rpb24gZnJvbShlLHQscil7dmFyIGk7aWYodCYmdHlwZW9mIHQubmV4dD09PVwiZnVuY3Rpb25cIil7aT10fWVsc2UgaWYodCYmdFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0paT10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO2Vsc2UgaWYodCYmdFtTeW1ib2wuaXRlcmF0b3JdKWk9dFtTeW1ib2wuaXRlcmF0b3JdKCk7ZWxzZSB0aHJvdyBuZXcgbihcIml0ZXJhYmxlXCIsW1wiSXRlcmFibGVcIl0sdCk7dmFyIGE9bmV3IGUoX29iamVjdFNwcmVhZCh7b2JqZWN0TW9kZTp0cnVlfSxyKSk7dmFyIG89ZmFsc2U7YS5fcmVhZD1mdW5jdGlvbigpe2lmKCFvKXtvPXRydWU7bmV4dCgpfX07ZnVuY3Rpb24gbmV4dCgpe3JldHVybiBfbmV4dDIuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIF9uZXh0Migpe19uZXh0Mj1fYXN5bmNUb0dlbmVyYXRvcigoZnVuY3Rpb24qKCl7dHJ5e3ZhciBlPXlpZWxkIGkubmV4dCgpLHQ9ZS52YWx1ZSxyPWUuZG9uZTtpZihyKXthLnB1c2gobnVsbCl9ZWxzZSBpZihhLnB1c2goeWllbGQgdCkpe25leHQoKX1lbHNle289ZmFsc2V9fWNhdGNoKGUpe2EuZGVzdHJveShlKX19KSk7cmV0dXJuIF9uZXh0Mi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGF9ZS5leHBvcnRzPWZyb219LDQ0MjpmdW5jdGlvbihlLHQscil7XCJ1c2Ugc3RyaWN0XCI7dmFyIG47ZnVuY3Rpb24gb25jZShlKXt2YXIgdD1mYWxzZTtyZXR1cm4gZnVuY3Rpb24oKXtpZih0KXJldHVybjt0PXRydWU7ZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19dmFyIGk9cig2NDYpLnEsYT1pLkVSUl9NSVNTSU5HX0FSR1Msbz1pLkVSUl9TVFJFQU1fREVTVFJPWUVEO2Z1bmN0aW9uIG5vb3AoZSl7aWYoZSl0aHJvdyBlfWZ1bmN0aW9uIGlzUmVxdWVzdChlKXtyZXR1cm4gZS5zZXRIZWFkZXImJnR5cGVvZiBlLmFib3J0PT09XCJmdW5jdGlvblwifWZ1bmN0aW9uIGRlc3Ryb3llcihlLHQsaSxhKXthPW9uY2UoYSk7dmFyIHM9ZmFsc2U7ZS5vbihcImNsb3NlXCIsKGZ1bmN0aW9uKCl7cz10cnVlfSkpO2lmKG49PT11bmRlZmluZWQpbj1yKDY5OCk7bihlLHtyZWFkYWJsZTp0LHdyaXRhYmxlOml9LChmdW5jdGlvbihlKXtpZihlKXJldHVybiBhKGUpO3M9dHJ1ZTthKCl9KSk7dmFyIGY9ZmFsc2U7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHMpcmV0dXJuO2lmKGYpcmV0dXJuO2Y9dHJ1ZTtpZihpc1JlcXVlc3QoZSkpcmV0dXJuIGUuYWJvcnQoKTtpZih0eXBlb2YgZS5kZXN0cm95PT09XCJmdW5jdGlvblwiKXJldHVybiBlLmRlc3Ryb3koKTthKHR8fG5ldyBvKFwicGlwZVwiKSl9fWZ1bmN0aW9uIGNhbGwoZSl7ZSgpfWZ1bmN0aW9uIHBpcGUoZSx0KXtyZXR1cm4gZS5waXBlKHQpfWZ1bmN0aW9uIHBvcENhbGxiYWNrKGUpe2lmKCFlLmxlbmd0aClyZXR1cm4gbm9vcDtpZih0eXBlb2YgZVtlLmxlbmd0aC0xXSE9PVwiZnVuY3Rpb25cIilyZXR1cm4gbm9vcDtyZXR1cm4gZS5wb3AoKX1mdW5jdGlvbiBwaXBlbGluZSgpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLHI9MDtyPGU7cisrKXt0W3JdPWFyZ3VtZW50c1tyXX12YXIgbj1wb3BDYWxsYmFjayh0KTtpZihBcnJheS5pc0FycmF5KHRbMF0pKXQ9dFswXTtpZih0Lmxlbmd0aDwyKXt0aHJvdyBuZXcgYShcInN0cmVhbXNcIil9dmFyIGk7dmFyIG89dC5tYXAoKGZ1bmN0aW9uKGUscil7dmFyIGE9cjx0Lmxlbmd0aC0xO3ZhciBzPXI+MDtyZXR1cm4gZGVzdHJveWVyKGUsYSxzLChmdW5jdGlvbihlKXtpZighaSlpPWU7aWYoZSlvLmZvckVhY2goY2FsbCk7aWYoYSlyZXR1cm47by5mb3JFYWNoKGNhbGwpO24oaSl9KSl9KSk7cmV0dXJuIHQucmVkdWNlKHBpcGUpfWUuZXhwb3J0cz1waXBlbGluZX0sNzc2OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDY0NikucS5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7ZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20oZSx0LHIpe3JldHVybiBlLmhpZ2hXYXRlck1hcmshPW51bGw/ZS5oaWdoV2F0ZXJNYXJrOnQ/ZVtyXTpudWxsfWZ1bmN0aW9uIGdldEhpZ2hXYXRlck1hcmsoZSx0LHIsaSl7dmFyIGE9aGlnaFdhdGVyTWFya0Zyb20odCxpLHIpO2lmKGEhPW51bGwpe2lmKCEoaXNGaW5pdGUoYSkmJk1hdGguZmxvb3IoYSk9PT1hKXx8YTwwKXt2YXIgbz1pP3I6XCJoaWdoV2F0ZXJNYXJrXCI7dGhyb3cgbmV3IG4obyxhKX1yZXR1cm4gTWF0aC5mbG9vcihhKX1yZXR1cm4gZS5vYmplY3RNb2RlPzE2OjE2KjEwMjR9ZS5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmdldEhpZ2hXYXRlck1hcmt9fSw2Nzg6ZnVuY3Rpb24oZSx0LHIpe2UuZXhwb3J0cz1yKDc4MSl9LDcyNjpmdW5jdGlvbihlLHQscil7dmFyIG49cig3ODEpO2lmKHByb2Nlc3MuZW52LlJFQURBQkxFX1NUUkVBTT09PVwiZGlzYWJsZVwiJiZuKXtlLmV4cG9ydHM9bi5SZWFkYWJsZTtPYmplY3QuYXNzaWduKGUuZXhwb3J0cyxuKTtlLmV4cG9ydHMuU3RyZWFtPW59ZWxzZXt0PWUuZXhwb3J0cz1yKDcwOSk7dC5TdHJlYW09bnx8dDt0LlJlYWRhYmxlPXQ7dC5Xcml0YWJsZT1yKDMzNyk7dC5EdXBsZXg9cig0MDMpO3QuVHJhbnNmb3JtPXIoMTcwKTt0LlBhc3NUaHJvdWdoPXIoODg5KTt0LmZpbmlzaGVkPXIoNjk4KTt0LnBpcGVsaW5lPXIoNDQyKX19LDU1OmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDMwMCk7dmFyIGk9bi5CdWZmZXI7ZnVuY3Rpb24gY29weVByb3BzKGUsdCl7Zm9yKHZhciByIGluIGUpe3Rbcl09ZVtyXX19aWYoaS5mcm9tJiZpLmFsbG9jJiZpLmFsbG9jVW5zYWZlJiZpLmFsbG9jVW5zYWZlU2xvdyl7ZS5leHBvcnRzPW59ZWxzZXtjb3B5UHJvcHMobix0KTt0LkJ1ZmZlcj1TYWZlQnVmZmVyfWZ1bmN0aW9uIFNhZmVCdWZmZXIoZSx0LHIpe3JldHVybiBpKGUsdCxyKX1TYWZlQnVmZmVyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKTtjb3B5UHJvcHMoaSxTYWZlQnVmZmVyKTtTYWZlQnVmZmVyLmZyb209ZnVuY3Rpb24oZSx0LHIpe2lmKHR5cGVvZiBlPT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyXCIpfXJldHVybiBpKGUsdCxyKX07U2FmZUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihlLHQscil7aWYodHlwZW9mIGUhPT1cIm51bWJlclwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKX12YXIgbj1pKGUpO2lmKHQhPT11bmRlZmluZWQpe2lmKHR5cGVvZiByPT09XCJzdHJpbmdcIil7bi5maWxsKHQscil9ZWxzZXtuLmZpbGwodCl9fWVsc2V7bi5maWxsKDApfXJldHVybiBufTtTYWZlQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9cmV0dXJuIGkoZSl9O1NhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT09XCJudW1iZXJcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIil9cmV0dXJuIG4uU2xvd0J1ZmZlcihlKX19LDgxMzpmdW5jdGlvbihlLHQscil7dmFyIG49cig0NTApO3ZhciBpPXIoMjU0KTt2YXIgYT1yKDkxMSk7dmFyIG89cig1MjMpO3ZhciBzPXIoMzEwKTt2YXIgZj10O2YucmVxdWVzdD1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiBlPT09XCJzdHJpbmdcIillPXMucGFyc2UoZSk7ZWxzZSBlPWEoZSk7dmFyIHI9Z2xvYmFsLmxvY2F0aW9uLnByb3RvY29sLnNlYXJjaCgvXmh0dHBzPzokLyk9PT0tMT9cImh0dHA6XCI6XCJcIjt2YXIgaT1lLnByb3RvY29sfHxyO3ZhciBvPWUuaG9zdG5hbWV8fGUuaG9zdDt2YXIgZj1lLnBvcnQ7dmFyIGw9ZS5wYXRofHxcIi9cIjtpZihvJiZvLmluZGV4T2YoXCI6XCIpIT09LTEpbz1cIltcIitvK1wiXVwiO2UudXJsPShvP2krXCIvL1wiK286XCJcIikrKGY/XCI6XCIrZjpcIlwiKStsO2UubWV0aG9kPShlLm1ldGhvZHx8XCJHRVRcIikudG9VcHBlckNhc2UoKTtlLmhlYWRlcnM9ZS5oZWFkZXJzfHx7fTt2YXIgdT1uZXcgbihlKTtpZih0KXUub24oXCJyZXNwb25zZVwiLHQpO3JldHVybiB1fTtmLmdldD1mdW5jdGlvbiBnZXQoZSx0KXt2YXIgcj1mLnJlcXVlc3QoZSx0KTtyLmVuZCgpO3JldHVybiByfTtmLkNsaWVudFJlcXVlc3Q9bjtmLkluY29taW5nTWVzc2FnZT1pLkluY29taW5nTWVzc2FnZTtmLkFnZW50PWZ1bmN0aW9uKCl7fTtmLkFnZW50LmRlZmF1bHRNYXhTb2NrZXRzPTQ7Zi5nbG9iYWxBZ2VudD1uZXcgZi5BZ2VudDtmLlNUQVRVU19DT0RFUz1vO2YuTUVUSE9EUz1bXCJDSEVDS09VVFwiLFwiQ09OTkVDVFwiLFwiQ09QWVwiLFwiREVMRVRFXCIsXCJHRVRcIixcIkhFQURcIixcIkxPQ0tcIixcIk0tU0VBUkNIXCIsXCJNRVJHRVwiLFwiTUtBQ1RJVklUWVwiLFwiTUtDT0xcIixcIk1PVkVcIixcIk5PVElGWVwiLFwiT1BUSU9OU1wiLFwiUEFUQ0hcIixcIlBPU1RcIixcIlBST1BGSU5EXCIsXCJQUk9QUEFUQ0hcIixcIlBVUkdFXCIsXCJQVVRcIixcIlJFUE9SVFwiLFwiU0VBUkNIXCIsXCJTVUJTQ1JJQkVcIixcIlRSQUNFXCIsXCJVTkxPQ0tcIixcIlVOU1VCU0NSSUJFXCJdfSwzMDE6ZnVuY3Rpb24oZSx0KXt0LmZldGNoPWlzRnVuY3Rpb24oZ2xvYmFsLmZldGNoKSYmaXNGdW5jdGlvbihnbG9iYWwuUmVhZGFibGVTdHJlYW0pO3Qud3JpdGFibGVTdHJlYW09aXNGdW5jdGlvbihnbG9iYWwuV3JpdGFibGVTdHJlYW0pO3QuYWJvcnRDb250cm9sbGVyPWlzRnVuY3Rpb24oZ2xvYmFsLkFib3J0Q29udHJvbGxlcik7dmFyIHI7ZnVuY3Rpb24gZ2V0WEhSKCl7aWYociE9PXVuZGVmaW5lZClyZXR1cm4gcjtpZihnbG9iYWwuWE1MSHR0cFJlcXVlc3Qpe3I9bmV3IGdsb2JhbC5YTUxIdHRwUmVxdWVzdDt0cnl7ci5vcGVuKFwiR0VUXCIsZ2xvYmFsLlhEb21haW5SZXF1ZXN0P1wiL1wiOlwiaHR0cHM6Ly9leGFtcGxlLmNvbVwiKX1jYXRjaChlKXtyPW51bGx9fWVsc2V7cj1udWxsfXJldHVybiByfWZ1bmN0aW9uIGNoZWNrVHlwZVN1cHBvcnQoZSl7dmFyIHQ9Z2V0WEhSKCk7aWYoIXQpcmV0dXJuIGZhbHNlO3RyeXt0LnJlc3BvbnNlVHlwZT1lO3JldHVybiB0LnJlc3BvbnNlVHlwZT09PWV9Y2F0Y2goZSl7fXJldHVybiBmYWxzZX10LmFycmF5YnVmZmVyPXQuZmV0Y2h8fGNoZWNrVHlwZVN1cHBvcnQoXCJhcnJheWJ1ZmZlclwiKTt0Lm1zc3RyZWFtPSF0LmZldGNoJiZjaGVja1R5cGVTdXBwb3J0KFwibXMtc3RyZWFtXCIpO3QubW96Y2h1bmtlZGFycmF5YnVmZmVyPSF0LmZldGNoJiZjaGVja1R5cGVTdXBwb3J0KFwibW96LWNodW5rZWQtYXJyYXlidWZmZXJcIik7dC5vdmVycmlkZU1pbWVUeXBlPXQuZmV0Y2h8fChnZXRYSFIoKT9pc0Z1bmN0aW9uKGdldFhIUigpLm92ZXJyaWRlTWltZVR5cGUpOmZhbHNlKTtmdW5jdGlvbiBpc0Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZT09PVwiZnVuY3Rpb25cIn1yPW51bGx9LDQ1MDpmdW5jdGlvbihlLHQscil7dmFyIG49cigzMDEpO3ZhciBpPXIoNzgyKTt2YXIgYT1yKDI1NCk7dmFyIG89cig3MjYpO3ZhciBzPWEuSW5jb21pbmdNZXNzYWdlO3ZhciBmPWEucmVhZHlTdGF0ZXM7ZnVuY3Rpb24gZGVjaWRlTW9kZShlLHQpe2lmKG4uZmV0Y2gmJnQpe3JldHVyblwiZmV0Y2hcIn1lbHNlIGlmKG4ubW96Y2h1bmtlZGFycmF5YnVmZmVyKXtyZXR1cm5cIm1vei1jaHVua2VkLWFycmF5YnVmZmVyXCJ9ZWxzZSBpZihuLm1zc3RyZWFtKXtyZXR1cm5cIm1zLXN0cmVhbVwifWVsc2UgaWYobi5hcnJheWJ1ZmZlciYmZSl7cmV0dXJuXCJhcnJheWJ1ZmZlclwifWVsc2V7cmV0dXJuXCJ0ZXh0XCJ9fXZhciBsPWUuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdD10aGlzO28uV3JpdGFibGUuY2FsbCh0KTt0Ll9vcHRzPWU7dC5fYm9keT1bXTt0Ll9oZWFkZXJzPXt9O2lmKGUuYXV0aCl0LnNldEhlYWRlcihcIkF1dGhvcml6YXRpb25cIixcIkJhc2ljIFwiK0J1ZmZlci5mcm9tKGUuYXV0aCkudG9TdHJpbmcoXCJiYXNlNjRcIikpO09iamVjdC5rZXlzKGUuaGVhZGVycykuZm9yRWFjaCgoZnVuY3Rpb24ocil7dC5zZXRIZWFkZXIocixlLmhlYWRlcnNbcl0pfSkpO3ZhciByO3ZhciBpPXRydWU7aWYoZS5tb2RlPT09XCJkaXNhYmxlLWZldGNoXCJ8fFwicmVxdWVzdFRpbWVvdXRcImluIGUmJiFuLmFib3J0Q29udHJvbGxlcil7aT1mYWxzZTtyPXRydWV9ZWxzZSBpZihlLm1vZGU9PT1cInByZWZlci1zdHJlYW1pbmdcIil7cj1mYWxzZX1lbHNlIGlmKGUubW9kZT09PVwiYWxsb3ctd3JvbmctY29udGVudC10eXBlXCIpe3I9IW4ub3ZlcnJpZGVNaW1lVHlwZX1lbHNlIGlmKCFlLm1vZGV8fGUubW9kZT09PVwiZGVmYXVsdFwifHxlLm1vZGU9PT1cInByZWZlci1mYXN0XCIpe3I9dHJ1ZX1lbHNle3Rocm93IG5ldyBFcnJvcihcIkludmFsaWQgdmFsdWUgZm9yIG9wdHMubW9kZVwiKX10Ll9tb2RlPWRlY2lkZU1vZGUocixpKTt0Ll9mZXRjaFRpbWVyPW51bGw7dC5vbihcImZpbmlzaFwiLChmdW5jdGlvbigpe3QuX29uRmluaXNoKCl9KSl9O2kobCxvLldyaXRhYmxlKTtsLnByb3RvdHlwZS5zZXRIZWFkZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO3ZhciBuPWUudG9Mb3dlckNhc2UoKTtpZih1LmluZGV4T2YobikhPT0tMSlyZXR1cm47ci5faGVhZGVyc1tuXT17bmFtZTplLHZhbHVlOnR9fTtsLnByb3RvdHlwZS5nZXRIZWFkZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5faGVhZGVyc1tlLnRvTG93ZXJDYXNlKCldO2lmKHQpcmV0dXJuIHQudmFsdWU7cmV0dXJuIG51bGx9O2wucHJvdG90eXBlLnJlbW92ZUhlYWRlcj1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2RlbGV0ZSB0Ll9oZWFkZXJzW2UudG9Mb3dlckNhc2UoKV19O2wucHJvdG90eXBlLl9vbkZpbmlzaD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoZS5fZGVzdHJveWVkKXJldHVybjt2YXIgdD1lLl9vcHRzO3ZhciByPWUuX2hlYWRlcnM7dmFyIGk9bnVsbDtpZih0Lm1ldGhvZCE9PVwiR0VUXCImJnQubWV0aG9kIT09XCJIRUFEXCIpe2k9bmV3IEJsb2IoZS5fYm9keSx7dHlwZToocltcImNvbnRlbnQtdHlwZVwiXXx8e30pLnZhbHVlfHxcIlwifSl9dmFyIGE9W107T2JqZWN0LmtleXMocikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9cltlXS5uYW1lO3ZhciBuPXJbZV0udmFsdWU7aWYoQXJyYXkuaXNBcnJheShuKSl7bi5mb3JFYWNoKChmdW5jdGlvbihlKXthLnB1c2goW3QsZV0pfSkpfWVsc2V7YS5wdXNoKFt0LG5dKX19KSk7aWYoZS5fbW9kZT09PVwiZmV0Y2hcIil7dmFyIG89bnVsbDtpZihuLmFib3J0Q29udHJvbGxlcil7dmFyIHM9bmV3IEFib3J0Q29udHJvbGxlcjtvPXMuc2lnbmFsO2UuX2ZldGNoQWJvcnRDb250cm9sbGVyPXM7aWYoXCJyZXF1ZXN0VGltZW91dFwiaW4gdCYmdC5yZXF1ZXN0VGltZW91dCE9PTApe2UuX2ZldGNoVGltZXI9Z2xvYmFsLnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5lbWl0KFwicmVxdWVzdFRpbWVvdXRcIik7aWYoZS5fZmV0Y2hBYm9ydENvbnRyb2xsZXIpZS5fZmV0Y2hBYm9ydENvbnRyb2xsZXIuYWJvcnQoKX0pLHQucmVxdWVzdFRpbWVvdXQpfX1nbG9iYWwuZmV0Y2goZS5fb3B0cy51cmwse21ldGhvZDplLl9vcHRzLm1ldGhvZCxoZWFkZXJzOmEsYm9keTppfHx1bmRlZmluZWQsbW9kZTpcImNvcnNcIixjcmVkZW50aWFsczp0LndpdGhDcmVkZW50aWFscz9cImluY2x1ZGVcIjpcInNhbWUtb3JpZ2luXCIsc2lnbmFsOm99KS50aGVuKChmdW5jdGlvbih0KXtlLl9mZXRjaFJlc3BvbnNlPXQ7ZS5fY29ubmVjdCgpfSksKGZ1bmN0aW9uKHQpe2dsb2JhbC5jbGVhclRpbWVvdXQoZS5fZmV0Y2hUaW1lcik7aWYoIWUuX2Rlc3Ryb3llZCllLmVtaXQoXCJlcnJvclwiLHQpfSkpfWVsc2V7dmFyIGw9ZS5feGhyPW5ldyBnbG9iYWwuWE1MSHR0cFJlcXVlc3Q7dHJ5e2wub3BlbihlLl9vcHRzLm1ldGhvZCxlLl9vcHRzLnVybCx0cnVlKX1jYXRjaCh0KXtwcm9jZXNzLm5leHRUaWNrKChmdW5jdGlvbigpe2UuZW1pdChcImVycm9yXCIsdCl9KSk7cmV0dXJufWlmKFwicmVzcG9uc2VUeXBlXCJpbiBsKWwucmVzcG9uc2VUeXBlPWUuX21vZGU7aWYoXCJ3aXRoQ3JlZGVudGlhbHNcImluIGwpbC53aXRoQ3JlZGVudGlhbHM9ISF0LndpdGhDcmVkZW50aWFscztpZihlLl9tb2RlPT09XCJ0ZXh0XCImJlwib3ZlcnJpZGVNaW1lVHlwZVwiaW4gbClsLm92ZXJyaWRlTWltZVR5cGUoXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkXCIpO2lmKFwicmVxdWVzdFRpbWVvdXRcImluIHQpe2wudGltZW91dD10LnJlcXVlc3RUaW1lb3V0O2wub250aW1lb3V0PWZ1bmN0aW9uKCl7ZS5lbWl0KFwicmVxdWVzdFRpbWVvdXRcIil9fWEuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bC5zZXRSZXF1ZXN0SGVhZGVyKGVbMF0sZVsxXSl9KSk7ZS5fcmVzcG9uc2U9bnVsbDtsLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3N3aXRjaChsLnJlYWR5U3RhdGUpe2Nhc2UgZi5MT0FESU5HOmNhc2UgZi5ET05FOmUuX29uWEhSUHJvZ3Jlc3MoKTticmVha319O2lmKGUuX21vZGU9PT1cIm1vei1jaHVua2VkLWFycmF5YnVmZmVyXCIpe2wub25wcm9ncmVzcz1mdW5jdGlvbigpe2UuX29uWEhSUHJvZ3Jlc3MoKX19bC5vbmVycm9yPWZ1bmN0aW9uKCl7aWYoZS5fZGVzdHJveWVkKXJldHVybjtlLmVtaXQoXCJlcnJvclwiLG5ldyBFcnJvcihcIlhIUiBlcnJvclwiKSl9O3RyeXtsLnNlbmQoaSl9Y2F0Y2godCl7cHJvY2Vzcy5uZXh0VGljaygoZnVuY3Rpb24oKXtlLmVtaXQoXCJlcnJvclwiLHQpfSkpO3JldHVybn19fTtmdW5jdGlvbiBzdGF0dXNWYWxpZChlKXt0cnl7dmFyIHQ9ZS5zdGF0dXM7cmV0dXJuIHQhPT1udWxsJiZ0IT09MH1jYXRjaChlKXtyZXR1cm4gZmFsc2V9fWwucHJvdG90eXBlLl9vblhIUlByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZighc3RhdHVzVmFsaWQoZS5feGhyKXx8ZS5fZGVzdHJveWVkKXJldHVybjtpZighZS5fcmVzcG9uc2UpZS5fY29ubmVjdCgpO2UuX3Jlc3BvbnNlLl9vblhIUlByb2dyZXNzKCl9O2wucHJvdG90eXBlLl9jb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZihlLl9kZXN0cm95ZWQpcmV0dXJuO2UuX3Jlc3BvbnNlPW5ldyBzKGUuX3hocixlLl9mZXRjaFJlc3BvbnNlLGUuX21vZGUsZS5fZmV0Y2hUaW1lcik7ZS5fcmVzcG9uc2Uub24oXCJlcnJvclwiLChmdW5jdGlvbih0KXtlLmVtaXQoXCJlcnJvclwiLHQpfSkpO2UuZW1pdChcInJlc3BvbnNlXCIsZS5fcmVzcG9uc2UpfTtsLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXM7bi5fYm9keS5wdXNoKGUpO3IoKX07bC5wcm90b3R5cGUuYWJvcnQ9bC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5fZGVzdHJveWVkPXRydWU7Z2xvYmFsLmNsZWFyVGltZW91dChlLl9mZXRjaFRpbWVyKTtpZihlLl9yZXNwb25zZSllLl9yZXNwb25zZS5fZGVzdHJveWVkPXRydWU7aWYoZS5feGhyKWUuX3hoci5hYm9ydCgpO2Vsc2UgaWYoZS5fZmV0Y2hBYm9ydENvbnRyb2xsZXIpZS5fZmV0Y2hBYm9ydENvbnRyb2xsZXIuYWJvcnQoKX07bC5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzO2lmKHR5cGVvZiBlPT09XCJmdW5jdGlvblwiKXtyPWU7ZT11bmRlZmluZWR9by5Xcml0YWJsZS5wcm90b3R5cGUuZW5kLmNhbGwobixlLHQscil9O2wucHJvdG90eXBlLmZsdXNoSGVhZGVycz1mdW5jdGlvbigpe307bC5wcm90b3R5cGUuc2V0VGltZW91dD1mdW5jdGlvbigpe307bC5wcm90b3R5cGUuc2V0Tm9EZWxheT1mdW5jdGlvbigpe307bC5wcm90b3R5cGUuc2V0U29ja2V0S2VlcEFsaXZlPWZ1bmN0aW9uKCl7fTt2YXIgdT1bXCJhY2NlcHQtY2hhcnNldFwiLFwiYWNjZXB0LWVuY29kaW5nXCIsXCJhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LWhlYWRlcnNcIixcImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kXCIsXCJjb25uZWN0aW9uXCIsXCJjb250ZW50LWxlbmd0aFwiLFwiY29va2llXCIsXCJjb29raWUyXCIsXCJkYXRlXCIsXCJkbnRcIixcImV4cGVjdFwiLFwiaG9zdFwiLFwia2VlcC1hbGl2ZVwiLFwib3JpZ2luXCIsXCJyZWZlcmVyXCIsXCJ0ZVwiLFwidHJhaWxlclwiLFwidHJhbnNmZXItZW5jb2RpbmdcIixcInVwZ3JhZGVcIixcInZpYVwiXX0sMjU0OmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDMwMSk7dmFyIGk9cig3ODIpO3ZhciBhPXIoNzI2KTt2YXIgbz10LnJlYWR5U3RhdGVzPXtVTlNFTlQ6MCxPUEVORUQ6MSxIRUFERVJTX1JFQ0VJVkVEOjIsTE9BRElORzozLERPTkU6NH07dmFyIHM9dC5JbmNvbWluZ01lc3NhZ2U9ZnVuY3Rpb24oZSx0LHIsaSl7dmFyIG89dGhpczthLlJlYWRhYmxlLmNhbGwobyk7by5fbW9kZT1yO28uaGVhZGVycz17fTtvLnJhd0hlYWRlcnM9W107by50cmFpbGVycz17fTtvLnJhd1RyYWlsZXJzPVtdO28ub24oXCJlbmRcIiwoZnVuY3Rpb24oKXtwcm9jZXNzLm5leHRUaWNrKChmdW5jdGlvbigpe28uZW1pdChcImNsb3NlXCIpfSkpfSkpO2lmKHI9PT1cImZldGNoXCIpe28uX2ZldGNoUmVzcG9uc2U9dDtvLnVybD10LnVybDtvLnN0YXR1c0NvZGU9dC5zdGF0dXM7by5zdGF0dXNNZXNzYWdlPXQuc3RhdHVzVGV4dDt0LmhlYWRlcnMuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtvLmhlYWRlcnNbdC50b0xvd2VyQ2FzZSgpXT1lO28ucmF3SGVhZGVycy5wdXNoKHQsZSl9KSk7aWYobi53cml0YWJsZVN0cmVhbSl7dmFyIHM9bmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTpmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQscil7aWYoby5fZGVzdHJveWVkKXtyKCl9ZWxzZSBpZihvLnB1c2goQnVmZmVyLmZyb20oZSkpKXt0KCl9ZWxzZXtvLl9yZXN1bWVGZXRjaD10fX0pKX0sY2xvc2U6ZnVuY3Rpb24oKXtnbG9iYWwuY2xlYXJUaW1lb3V0KGkpO2lmKCFvLl9kZXN0cm95ZWQpby5wdXNoKG51bGwpfSxhYm9ydDpmdW5jdGlvbihlKXtpZighby5fZGVzdHJveWVkKW8uZW1pdChcImVycm9yXCIsZSl9fSk7dHJ5e3QuYm9keS5waXBlVG8ocykuY2F0Y2goKGZ1bmN0aW9uKGUpe2dsb2JhbC5jbGVhclRpbWVvdXQoaSk7aWYoIW8uX2Rlc3Ryb3llZClvLmVtaXQoXCJlcnJvclwiLGUpfSkpO3JldHVybn1jYXRjaChlKXt9fXZhciBmPXQuYm9keS5nZXRSZWFkZXIoKTtmdW5jdGlvbiByZWFkKCl7Zi5yZWFkKCkudGhlbigoZnVuY3Rpb24oZSl7aWYoby5fZGVzdHJveWVkKXJldHVybjtpZihlLmRvbmUpe2dsb2JhbC5jbGVhclRpbWVvdXQoaSk7by5wdXNoKG51bGwpO3JldHVybn1vLnB1c2goQnVmZmVyLmZyb20oZS52YWx1ZSkpO3JlYWQoKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7Z2xvYmFsLmNsZWFyVGltZW91dChpKTtpZighby5fZGVzdHJveWVkKW8uZW1pdChcImVycm9yXCIsZSl9KSl9cmVhZCgpfWVsc2V7by5feGhyPWU7by5fcG9zPTA7by51cmw9ZS5yZXNwb25zZVVSTDtvLnN0YXR1c0NvZGU9ZS5zdGF0dXM7by5zdGF0dXNNZXNzYWdlPWUuc3RhdHVzVGV4dDt2YXIgbD1lLmdldEFsbFJlc3BvbnNlSGVhZGVycygpLnNwbGl0KC9cXHI/XFxuLyk7bC5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1lLm1hdGNoKC9eKFteOl0rKTpcXHMqKC4qKS8pO2lmKHQpe3ZhciByPXRbMV0udG9Mb3dlckNhc2UoKTtpZihyPT09XCJzZXQtY29va2llXCIpe2lmKG8uaGVhZGVyc1tyXT09PXVuZGVmaW5lZCl7by5oZWFkZXJzW3JdPVtdfW8uaGVhZGVyc1tyXS5wdXNoKHRbMl0pfWVsc2UgaWYoby5oZWFkZXJzW3JdIT09dW5kZWZpbmVkKXtvLmhlYWRlcnNbcl0rPVwiLCBcIit0WzJdfWVsc2V7by5oZWFkZXJzW3JdPXRbMl19by5yYXdIZWFkZXJzLnB1c2godFsxXSx0WzJdKX19KSk7by5fY2hhcnNldD1cIngtdXNlci1kZWZpbmVkXCI7aWYoIW4ub3ZlcnJpZGVNaW1lVHlwZSl7dmFyIHU9by5yYXdIZWFkZXJzW1wibWltZS10eXBlXCJdO2lmKHUpe3ZhciBkPXUubWF0Y2goLztcXHMqY2hhcnNldD0oW147XSkoO3wkKS8pO2lmKGQpe28uX2NoYXJzZXQ9ZFsxXS50b0xvd2VyQ2FzZSgpfX1pZighby5fY2hhcnNldClvLl9jaGFyc2V0PVwidXRmLThcIn19fTtpKHMsYS5SZWFkYWJsZSk7cy5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3ZhciB0PWUuX3Jlc3VtZUZldGNoO2lmKHQpe2UuX3Jlc3VtZUZldGNoPW51bGw7dCgpfX07cy5wcm90b3R5cGUuX29uWEhSUHJvZ3Jlc3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3ZhciB0PWUuX3hocjt2YXIgcj1udWxsO3N3aXRjaChlLl9tb2RlKXtjYXNlXCJ0ZXh0XCI6cj10LnJlc3BvbnNlVGV4dDtpZihyLmxlbmd0aD5lLl9wb3Mpe3ZhciBuPXIuc3Vic3RyKGUuX3Bvcyk7aWYoZS5fY2hhcnNldD09PVwieC11c2VyLWRlZmluZWRcIil7dmFyIGk9QnVmZmVyLmFsbG9jKG4ubGVuZ3RoKTtmb3IodmFyIGE9MDthPG4ubGVuZ3RoO2ErKylpW2FdPW4uY2hhckNvZGVBdChhKSYyNTU7ZS5wdXNoKGkpfWVsc2V7ZS5wdXNoKG4sZS5fY2hhcnNldCl9ZS5fcG9zPXIubGVuZ3RofWJyZWFrO2Nhc2VcImFycmF5YnVmZmVyXCI6aWYodC5yZWFkeVN0YXRlIT09by5ET05FfHwhdC5yZXNwb25zZSlicmVhaztyPXQucmVzcG9uc2U7ZS5wdXNoKEJ1ZmZlci5mcm9tKG5ldyBVaW50OEFycmF5KHIpKSk7YnJlYWs7Y2FzZVwibW96LWNodW5rZWQtYXJyYXlidWZmZXJcIjpyPXQucmVzcG9uc2U7aWYodC5yZWFkeVN0YXRlIT09by5MT0FESU5HfHwhcilicmVhaztlLnB1c2goQnVmZmVyLmZyb20obmV3IFVpbnQ4QXJyYXkocikpKTticmVhaztjYXNlXCJtcy1zdHJlYW1cIjpyPXQucmVzcG9uc2U7aWYodC5yZWFkeVN0YXRlIT09by5MT0FESU5HKWJyZWFrO3ZhciBzPW5ldyBnbG9iYWwuTVNTdHJlYW1SZWFkZXI7cy5vbnByb2dyZXNzPWZ1bmN0aW9uKCl7aWYocy5yZXN1bHQuYnl0ZUxlbmd0aD5lLl9wb3Mpe2UucHVzaChCdWZmZXIuZnJvbShuZXcgVWludDhBcnJheShzLnJlc3VsdC5zbGljZShlLl9wb3MpKSkpO2UuX3Bvcz1zLnJlc3VsdC5ieXRlTGVuZ3RofX07cy5vbmxvYWQ9ZnVuY3Rpb24oKXtlLnB1c2gobnVsbCl9O3MucmVhZEFzQXJyYXlCdWZmZXIocik7YnJlYWt9aWYoZS5feGhyLnJlYWR5U3RhdGU9PT1vLkRPTkUmJmUuX21vZGUhPT1cIm1zLXN0cmVhbVwiKXtlLnB1c2gobnVsbCl9fX0sNzA0OmZ1bmN0aW9uKGUsdCxyKXtcInVzZSBzdHJpY3RcIjt2YXIgbj1yKDU1KS5CdWZmZXI7dmFyIGk9bi5pc0VuY29kaW5nfHxmdW5jdGlvbihlKXtlPVwiXCIrZTtzd2l0Y2goZSYmZS50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOmNhc2VcInJhd1wiOnJldHVybiB0cnVlO2RlZmF1bHQ6cmV0dXJuIGZhbHNlfX07ZnVuY3Rpb24gX25vcm1hbGl6ZUVuY29kaW5nKGUpe2lmKCFlKXJldHVyblwidXRmOFwiO3ZhciB0O3doaWxlKHRydWUpe3N3aXRjaChlKXtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm5cInV0ZjhcIjtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm5cInV0ZjE2bGVcIjtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm5cImxhdGluMVwiO2Nhc2VcImJhc2U2NFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwiaGV4XCI6cmV0dXJuIGU7ZGVmYXVsdDppZih0KXJldHVybjtlPShcIlwiK2UpLnRvTG93ZXJDYXNlKCk7dD10cnVlfX19ZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcoZSl7dmFyIHQ9X25vcm1hbGl6ZUVuY29kaW5nKGUpO2lmKHR5cGVvZiB0IT09XCJzdHJpbmdcIiYmKG4uaXNFbmNvZGluZz09PWl8fCFpKGUpKSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIitlKTtyZXR1cm4gdHx8ZX10LnM9U3RyaW5nRGVjb2RlcjtmdW5jdGlvbiBTdHJpbmdEZWNvZGVyKGUpe3RoaXMuZW5jb2Rpbmc9bm9ybWFsaXplRW5jb2RpbmcoZSk7dmFyIHQ7c3dpdGNoKHRoaXMuZW5jb2Rpbmcpe2Nhc2VcInV0ZjE2bGVcIjp0aGlzLnRleHQ9dXRmMTZUZXh0O3RoaXMuZW5kPXV0ZjE2RW5kO3Q9NDticmVhaztjYXNlXCJ1dGY4XCI6dGhpcy5maWxsTGFzdD11dGY4RmlsbExhc3Q7dD00O2JyZWFrO2Nhc2VcImJhc2U2NFwiOnRoaXMudGV4dD1iYXNlNjRUZXh0O3RoaXMuZW5kPWJhc2U2NEVuZDt0PTM7YnJlYWs7ZGVmYXVsdDp0aGlzLndyaXRlPXNpbXBsZVdyaXRlO3RoaXMuZW5kPXNpbXBsZUVuZDtyZXR1cm59dGhpcy5sYXN0TmVlZD0wO3RoaXMubGFzdFRvdGFsPTA7dGhpcy5sYXN0Q2hhcj1uLmFsbG9jVW5zYWZlKHQpfVN0cmluZ0RlY29kZXIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm5cIlwiO3ZhciB0O3ZhciByO2lmKHRoaXMubGFzdE5lZWQpe3Q9dGhpcy5maWxsTGFzdChlKTtpZih0PT09dW5kZWZpbmVkKXJldHVyblwiXCI7cj10aGlzLmxhc3ROZWVkO3RoaXMubGFzdE5lZWQ9MH1lbHNle3I9MH1pZihyPGUubGVuZ3RoKXJldHVybiB0P3QrdGhpcy50ZXh0KGUscik6dGhpcy50ZXh0KGUscik7cmV0dXJuIHR8fFwiXCJ9O1N0cmluZ0RlY29kZXIucHJvdG90eXBlLmVuZD11dGY4RW5kO1N0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQ9dXRmOFRleHQ7U3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3Q9ZnVuY3Rpb24oZSl7aWYodGhpcy5sYXN0TmVlZDw9ZS5sZW5ndGgpe2UuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0aGlzLmxhc3ROZWVkKTtyZXR1cm4gdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwpfWUuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCxlLmxlbmd0aCk7dGhpcy5sYXN0TmVlZC09ZS5sZW5ndGh9O2Z1bmN0aW9uIHV0ZjhDaGVja0J5dGUoZSl7aWYoZTw9MTI3KXJldHVybiAwO2Vsc2UgaWYoZT4+NT09PTYpcmV0dXJuIDI7ZWxzZSBpZihlPj40PT09MTQpcmV0dXJuIDM7ZWxzZSBpZihlPj4zPT09MzApcmV0dXJuIDQ7cmV0dXJuIGU+PjY9PT0yPy0xOi0yfWZ1bmN0aW9uIHV0ZjhDaGVja0luY29tcGxldGUoZSx0LHIpe3ZhciBuPXQubGVuZ3RoLTE7aWYobjxyKXJldHVybiAwO3ZhciBpPXV0ZjhDaGVja0J5dGUodFtuXSk7aWYoaT49MCl7aWYoaT4wKWUubGFzdE5lZWQ9aS0xO3JldHVybiBpfWlmKC0tbjxyfHxpPT09LTIpcmV0dXJuIDA7aT11dGY4Q2hlY2tCeXRlKHRbbl0pO2lmKGk+PTApe2lmKGk+MCllLmxhc3ROZWVkPWktMjtyZXR1cm4gaX1pZigtLW48cnx8aT09PS0yKXJldHVybiAwO2k9dXRmOENoZWNrQnl0ZSh0W25dKTtpZihpPj0wKXtpZihpPjApe2lmKGk9PT0yKWk9MDtlbHNlIGUubGFzdE5lZWQ9aS0zfXJldHVybiBpfXJldHVybiAwfWZ1bmN0aW9uIHV0ZjhDaGVja0V4dHJhQnl0ZXMoZSx0LHIpe2lmKCh0WzBdJjE5MikhPT0xMjgpe2UubGFzdE5lZWQ9MDtyZXR1cm5cIu+/vVwifWlmKGUubGFzdE5lZWQ+MSYmdC5sZW5ndGg+MSl7aWYoKHRbMV0mMTkyKSE9PTEyOCl7ZS5sYXN0TmVlZD0xO3JldHVyblwi77+9XCJ9aWYoZS5sYXN0TmVlZD4yJiZ0Lmxlbmd0aD4yKXtpZigodFsyXSYxOTIpIT09MTI4KXtlLmxhc3ROZWVkPTI7cmV0dXJuXCLvv71cIn19fX1mdW5jdGlvbiB1dGY4RmlsbExhc3QoZSl7dmFyIHQ9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDt2YXIgcj11dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsZSx0KTtpZihyIT09dW5kZWZpbmVkKXJldHVybiByO2lmKHRoaXMubGFzdE5lZWQ8PWUubGVuZ3RoKXtlLmNvcHkodGhpcy5sYXN0Q2hhcix0LDAsdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKX1lLmNvcHkodGhpcy5sYXN0Q2hhcix0LDAsZS5sZW5ndGgpO3RoaXMubGFzdE5lZWQtPWUubGVuZ3RofWZ1bmN0aW9uIHV0ZjhUZXh0KGUsdCl7dmFyIHI9dXRmOENoZWNrSW5jb21wbGV0ZSh0aGlzLGUsdCk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIGUudG9TdHJpbmcoXCJ1dGY4XCIsdCk7dGhpcy5sYXN0VG90YWw9cjt2YXIgbj1lLmxlbmd0aC0oci10aGlzLmxhc3ROZWVkKTtlLmNvcHkodGhpcy5sYXN0Q2hhciwwLG4pO3JldHVybiBlLnRvU3RyaW5nKFwidXRmOFwiLHQsbil9ZnVuY3Rpb24gdXRmOEVuZChlKXt2YXIgdD1lJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCI7aWYodGhpcy5sYXN0TmVlZClyZXR1cm4gdCtcIu+/vVwiO3JldHVybiB0fWZ1bmN0aW9uIHV0ZjE2VGV4dChlLHQpe2lmKChlLmxlbmd0aC10KSUyPT09MCl7dmFyIHI9ZS50b1N0cmluZyhcInV0ZjE2bGVcIix0KTtpZihyKXt2YXIgbj1yLmNoYXJDb2RlQXQoci5sZW5ndGgtMSk7aWYobj49NTUyOTYmJm48PTU2MzE5KXt0aGlzLmxhc3ROZWVkPTI7dGhpcy5sYXN0VG90YWw9NDt0aGlzLmxhc3RDaGFyWzBdPWVbZS5sZW5ndGgtMl07dGhpcy5sYXN0Q2hhclsxXT1lW2UubGVuZ3RoLTFdO3JldHVybiByLnNsaWNlKDAsLTEpfX1yZXR1cm4gcn10aGlzLmxhc3ROZWVkPTE7dGhpcy5sYXN0VG90YWw9Mjt0aGlzLmxhc3RDaGFyWzBdPWVbZS5sZW5ndGgtMV07cmV0dXJuIGUudG9TdHJpbmcoXCJ1dGYxNmxlXCIsdCxlLmxlbmd0aC0xKX1mdW5jdGlvbiB1dGYxNkVuZChlKXt2YXIgdD1lJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCI7aWYodGhpcy5sYXN0TmVlZCl7dmFyIHI9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDtyZXR1cm4gdCt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwidXRmMTZsZVwiLDAscil9cmV0dXJuIHR9ZnVuY3Rpb24gYmFzZTY0VGV4dChlLHQpe3ZhciByPShlLmxlbmd0aC10KSUzO2lmKHI9PT0wKXJldHVybiBlLnRvU3RyaW5nKFwiYmFzZTY0XCIsdCk7dGhpcy5sYXN0TmVlZD0zLXI7dGhpcy5sYXN0VG90YWw9MztpZihyPT09MSl7dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTFdfWVsc2V7dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTJdO3RoaXMubGFzdENoYXJbMV09ZVtlLmxlbmd0aC0xXX1yZXR1cm4gZS50b1N0cmluZyhcImJhc2U2NFwiLHQsZS5sZW5ndGgtcil9ZnVuY3Rpb24gYmFzZTY0RW5kKGUpe3ZhciB0PWUmJmUubGVuZ3RoP3RoaXMud3JpdGUoZSk6XCJcIjtpZih0aGlzLmxhc3ROZWVkKXJldHVybiB0K3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJiYXNlNjRcIiwwLDMtdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHR9ZnVuY3Rpb24gc2ltcGxlV3JpdGUoZSl7cmV0dXJuIGUudG9TdHJpbmcodGhpcy5lbmNvZGluZyl9ZnVuY3Rpb24gc2ltcGxlRW5kKGUpe3JldHVybiBlJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOlwiXCJ9fSw3Njk6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPWRlcHJlY2F0ZTtmdW5jdGlvbiBkZXByZWNhdGUoZSx0KXtpZihjb25maWcoXCJub0RlcHJlY2F0aW9uXCIpKXtyZXR1cm4gZX12YXIgcj1mYWxzZTtmdW5jdGlvbiBkZXByZWNhdGVkKCl7aWYoIXIpe2lmKGNvbmZpZyhcInRocm93RGVwcmVjYXRpb25cIikpe3Rocm93IG5ldyBFcnJvcih0KX1lbHNlIGlmKGNvbmZpZyhcInRyYWNlRGVwcmVjYXRpb25cIikpe2NvbnNvbGUudHJhY2UodCl9ZWxzZXtjb25zb2xlLndhcm4odCl9cj10cnVlfXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gZGVwcmVjYXRlZH1mdW5jdGlvbiBjb25maWcoZSl7dHJ5e2lmKCFnbG9iYWwubG9jYWxTdG9yYWdlKXJldHVybiBmYWxzZX1jYXRjaChlKXtyZXR1cm4gZmFsc2V9dmFyIHQ9Z2xvYmFsLmxvY2FsU3RvcmFnZVtlXTtpZihudWxsPT10KXJldHVybiBmYWxzZTtyZXR1cm4gU3RyaW5nKHQpLnRvTG93ZXJDYXNlKCk9PT1cInRydWVcIn19LDkxMTpmdW5jdGlvbihlKXtlLmV4cG9ydHM9ZXh0ZW5kO3ZhciB0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gZXh0ZW5kKCl7dmFyIGU9e307Zm9yKHZhciByPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIG49YXJndW1lbnRzW3JdO2Zvcih2YXIgaSBpbiBuKXtpZih0LmNhbGwobixpKSl7ZVtpXT1uW2ldfX19cmV0dXJuIGV9fSwzMDA6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPXJlcXVpcmUoXCJidWZmZXJcIil9LDM2MTpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9cmVxdWlyZShcImV2ZW50c1wiKX0sNzgxOmZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2UuZXhwb3J0cz1yZXF1aXJlKFwic3RyZWFtXCIpfSwzMTA6ZnVuY3Rpb24oZSl7XCJ1c2Ugc3RyaWN0XCI7ZS5leHBvcnRzPXJlcXVpcmUoXCJ1cmxcIil9LDgzNzpmdW5jdGlvbihlKXtcInVzZSBzdHJpY3RcIjtlLmV4cG9ydHM9cmVxdWlyZShcInV0aWxcIil9fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgaT10W3JdPXtleHBvcnRzOnt9fTt2YXIgYT10cnVlO3RyeXtlW3JdKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2E9ZmFsc2V9ZmluYWxseXtpZihhKWRlbGV0ZSB0W3JdfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oODEzKTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/stream-http/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/vm-browserify/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/next/dist/compiled/vm-browserify/index.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var __webpack_modules__={950:function(__unused_webpack_module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);else for(var r=0;r<e.length;r++){if(e[r]===t)return r}return-1};var Object_keys=function(e){if(Object.keys)return Object.keys(e);else{var t=[];for(var r in e)t.push(r);return t}};var forEach=function(e,t){if(e.forEach)return e.forEach(t);else for(var r=0;r<e.length;r++){t(e[r],r,e)}};var defineProp=function(){try{Object.defineProperty({},\"_\",{});return function(e,t,r){Object.defineProperty(e,t,{writable:true,enumerable:false,configurable:true,value:r})}}catch(e){return function(e,t,r){e[t]=r}}}();var globals=[\"Array\",\"Boolean\",\"Date\",\"Error\",\"EvalError\",\"Function\",\"Infinity\",\"JSON\",\"Math\",\"NaN\",\"Number\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"String\",\"SyntaxError\",\"TypeError\",\"URIError\",\"decodeURI\",\"decodeURIComponent\",\"encodeURI\",\"encodeURIComponent\",\"escape\",\"eval\",\"isFinite\",\"isNaN\",\"parseFloat\",\"parseInt\",\"undefined\",\"unescape\"];function Context(){}Context.prototype={};var Script=exports.Script=function NodeScript(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context)){throw new TypeError(\"needs a 'context' argument.\")}var t=document.createElement(\"iframe\");if(!t.style)t.style={};t.style.display=\"none\";document.body.appendChild(t);var r=t.contentWindow;var n=r.eval,o=r.execScript;if(!n&&o){o.call(r,\"null\");n=r.eval}forEach(Object_keys(e),(function(t){r[t]=e[t]}));forEach(globals,(function(t){if(e[t]){r[t]=e[t]}}));var c=Object_keys(r);var i=n.call(r,this.code);forEach(Object_keys(r),(function(t){if(t in e||indexOf(c,t)===-1){e[t]=r[t]}}));forEach(globals,(function(t){if(!(t in e)){defineProp(e,t,r[t])}}));document.body.removeChild(t);return i};Script.prototype.runInThisContext=function(){return eval(this.code)};Script.prototype.runInNewContext=function(e){var t=Script.createContext(e);var r=this.runInContext(t);if(e){forEach(Object_keys(t),(function(r){e[r]=t[r]}))}return r};forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var r=Script(t);return r[e].apply(r,[].slice.call(arguments,1))}}));exports.isContext=function(e){return e instanceof Context};exports.createScript=function(e){return exports.Script(e)};exports.createContext=Script.createContext=function(e){var t=new Context;if(typeof e===\"object\"){forEach(Object_keys(e),(function(r){t[r]=e[r]}))}return t}}};if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var __nested_webpack_exports__={};__webpack_modules__[950](0,__nested_webpack_exports__);module.exports=__nested_webpack_exports__})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3ZtLWJyb3dzZXJpZnkvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVkseUJBQXlCLDhDQUE4QywwQkFBMEIsaUNBQWlDLGlCQUFpQixXQUFXLEtBQUsscUJBQXFCLFVBQVUsNEJBQTRCLHFDQUFxQyxLQUFLLFNBQVMseUJBQXlCLFdBQVcsMEJBQTBCLGlDQUFpQyxpQkFBaUIsV0FBVyxLQUFLLGNBQWMsMEJBQTBCLElBQUksd0JBQXdCLE9BQU8sRUFBRSx1QkFBdUIsMkJBQTJCLHlEQUF5RCxHQUFHLFNBQVMsdUJBQXVCLFNBQVMsR0FBRyxnV0FBZ1csb0JBQW9CLHFCQUFxQixpREFBaUQsa0RBQWtELGFBQWEsMENBQTBDLDRCQUE0QixtREFBbUQsdUNBQXVDLHVCQUF1Qix1QkFBdUIsNkJBQTZCLHNCQUFzQiw0QkFBNEIsVUFBVSxpQkFBaUIsU0FBUyxvQ0FBb0MsVUFBVSxHQUFHLDZCQUE2QixTQUFTLFdBQVcsR0FBRyxxQkFBcUIsMEJBQTBCLG9DQUFvQyw4QkFBOEIsV0FBVyxHQUFHLDZCQUE2QixjQUFjLHNCQUFzQixHQUFHLDZCQUE2QixVQUFVLDZDQUE2Qyx3QkFBd0IsNkNBQTZDLDhCQUE4QiwyQkFBMkIsTUFBTSxvQ0FBb0MsVUFBVSxHQUFHLFVBQVUsbURBQW1ELGlDQUFpQyxnQkFBZ0IsaURBQWlELEdBQUcsOEJBQThCLDZCQUE2QixpQ0FBaUMsMEJBQTBCLHVEQUF1RCxrQkFBa0Isd0JBQXdCLG9DQUFvQyxVQUFVLEdBQUcsWUFBWSxtRUFBbUUsU0FBUyxLQUFLLElBQUksMEJBQW1CLElBQUksMkJBQTJCLDBCQUFtQixFQUFFLGVBQWUsMEJBQW1CLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC92bS1icm93c2VyaWZ5L2luZGV4LmpzPzUwMWYiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7dmFyIF9fd2VicGFja19tb2R1bGVzX189ezk1MDpmdW5jdGlvbihfX3VudXNlZF93ZWJwYWNrX21vZHVsZSxleHBvcnRzKXt2YXIgaW5kZXhPZj1mdW5jdGlvbihlLHQpe2lmKGUuaW5kZXhPZilyZXR1cm4gZS5pbmRleE9mKHQpO2Vsc2UgZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe2lmKGVbcl09PT10KXJldHVybiByfXJldHVybi0xfTt2YXIgT2JqZWN0X2tleXM9ZnVuY3Rpb24oZSl7aWYoT2JqZWN0LmtleXMpcmV0dXJuIE9iamVjdC5rZXlzKGUpO2Vsc2V7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpdC5wdXNoKHIpO3JldHVybiB0fX07dmFyIGZvckVhY2g9ZnVuY3Rpb24oZSx0KXtpZihlLmZvckVhY2gpcmV0dXJuIGUuZm9yRWFjaCh0KTtlbHNlIGZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt0KGVbcl0scixlKX19O3ZhciBkZWZpbmVQcm9wPWZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSxcIl9cIix7fSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt3cml0YWJsZTp0cnVlLGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWUsdmFsdWU6cn0pfX1jYXRjaChlKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIpe2VbdF09cn19fSgpO3ZhciBnbG9iYWxzPVtcIkFycmF5XCIsXCJCb29sZWFuXCIsXCJEYXRlXCIsXCJFcnJvclwiLFwiRXZhbEVycm9yXCIsXCJGdW5jdGlvblwiLFwiSW5maW5pdHlcIixcIkpTT05cIixcIk1hdGhcIixcIk5hTlwiLFwiTnVtYmVyXCIsXCJPYmplY3RcIixcIlJhbmdlRXJyb3JcIixcIlJlZmVyZW5jZUVycm9yXCIsXCJSZWdFeHBcIixcIlN0cmluZ1wiLFwiU3ludGF4RXJyb3JcIixcIlR5cGVFcnJvclwiLFwiVVJJRXJyb3JcIixcImRlY29kZVVSSVwiLFwiZGVjb2RlVVJJQ29tcG9uZW50XCIsXCJlbmNvZGVVUklcIixcImVuY29kZVVSSUNvbXBvbmVudFwiLFwiZXNjYXBlXCIsXCJldmFsXCIsXCJpc0Zpbml0ZVwiLFwiaXNOYU5cIixcInBhcnNlRmxvYXRcIixcInBhcnNlSW50XCIsXCJ1bmRlZmluZWRcIixcInVuZXNjYXBlXCJdO2Z1bmN0aW9uIENvbnRleHQoKXt9Q29udGV4dC5wcm90b3R5cGU9e307dmFyIFNjcmlwdD1leHBvcnRzLlNjcmlwdD1mdW5jdGlvbiBOb2RlU2NyaXB0KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNjcmlwdCkpcmV0dXJuIG5ldyBTY3JpcHQoZSk7dGhpcy5jb2RlPWV9O1NjcmlwdC5wcm90b3R5cGUucnVuSW5Db250ZXh0PWZ1bmN0aW9uKGUpe2lmKCEoZSBpbnN0YW5jZW9mIENvbnRleHQpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwibmVlZHMgYSAnY29udGV4dCcgYXJndW1lbnQuXCIpfXZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIik7aWYoIXQuc3R5bGUpdC5zdHlsZT17fTt0LnN0eWxlLmRpc3BsYXk9XCJub25lXCI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTt2YXIgcj10LmNvbnRlbnRXaW5kb3c7dmFyIG49ci5ldmFsLG89ci5leGVjU2NyaXB0O2lmKCFuJiZvKXtvLmNhbGwocixcIm51bGxcIik7bj1yLmV2YWx9Zm9yRWFjaChPYmplY3Rfa2V5cyhlKSwoZnVuY3Rpb24odCl7clt0XT1lW3RdfSkpO2ZvckVhY2goZ2xvYmFscywoZnVuY3Rpb24odCl7aWYoZVt0XSl7clt0XT1lW3RdfX0pKTt2YXIgYz1PYmplY3Rfa2V5cyhyKTt2YXIgaT1uLmNhbGwocix0aGlzLmNvZGUpO2ZvckVhY2goT2JqZWN0X2tleXMociksKGZ1bmN0aW9uKHQpe2lmKHQgaW4gZXx8aW5kZXhPZihjLHQpPT09LTEpe2VbdF09clt0XX19KSk7Zm9yRWFjaChnbG9iYWxzLChmdW5jdGlvbih0KXtpZighKHQgaW4gZSkpe2RlZmluZVByb3AoZSx0LHJbdF0pfX0pKTtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpO3JldHVybiBpfTtTY3JpcHQucHJvdG90eXBlLnJ1bkluVGhpc0NvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZXZhbCh0aGlzLmNvZGUpfTtTY3JpcHQucHJvdG90eXBlLnJ1bkluTmV3Q29udGV4dD1mdW5jdGlvbihlKXt2YXIgdD1TY3JpcHQuY3JlYXRlQ29udGV4dChlKTt2YXIgcj10aGlzLnJ1bkluQ29udGV4dCh0KTtpZihlKXtmb3JFYWNoKE9iamVjdF9rZXlzKHQpLChmdW5jdGlvbihyKXtlW3JdPXRbcl19KSl9cmV0dXJuIHJ9O2ZvckVhY2goT2JqZWN0X2tleXMoU2NyaXB0LnByb3RvdHlwZSksKGZ1bmN0aW9uKGUpe2V4cG9ydHNbZV09U2NyaXB0W2VdPWZ1bmN0aW9uKHQpe3ZhciByPVNjcmlwdCh0KTtyZXR1cm4gcltlXS5hcHBseShyLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX19KSk7ZXhwb3J0cy5pc0NvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBDb250ZXh0fTtleHBvcnRzLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbihlKXtyZXR1cm4gZXhwb3J0cy5TY3JpcHQoZSl9O2V4cG9ydHMuY3JlYXRlQ29udGV4dD1TY3JpcHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXt2YXIgdD1uZXcgQ29udGV4dDtpZih0eXBlb2YgZT09PVwib2JqZWN0XCIpe2ZvckVhY2goT2JqZWN0X2tleXMoZSksKGZ1bmN0aW9uKHIpe3Rbcl09ZVtyXX0pKX1yZXR1cm4gdH19fTtpZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIF9fd2VicGFja19leHBvcnRzX189e307X193ZWJwYWNrX21vZHVsZXNfX1s5NTBdKDAsX193ZWJwYWNrX2V4cG9ydHNfXyk7bW9kdWxlLmV4cG9ydHM9X193ZWJwYWNrX2V4cG9ydHNfX30pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/vm-browserify/index.js\n")); - -/***/ }), - -/***/ "./node_modules/node-gyp-build/index.js": -/*!**********************************************!*\ - !*** ./node_modules/node-gyp-build/index.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nif (typeof process.addon === 'function') { // if the platform supports native resolving prefer that\n module.exports = process.addon.bind(process)\n} else { // else use the runtime version here\n module.exports = __webpack_require__(/*! ./node-gyp-build.js */ \"./node_modules/node-gyp-build/node-gyp-build.js\")\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbm9kZS1neXAtYnVpbGQvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBLFdBQVcsT0FBTyx5QkFBeUI7QUFDM0MsbUJBQW1CLE9BQU8sWUFBWSxPQUFPO0FBQzdDLEVBQUUsT0FBTztBQUNULEVBQUUsa0hBQStDO0FBQ2pEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ub2RlLWd5cC1idWlsZC9pbmRleC5qcz8wYjQ3Il0sInNvdXJjZXNDb250ZW50IjpbImlmICh0eXBlb2YgcHJvY2Vzcy5hZGRvbiA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBpZiB0aGUgcGxhdGZvcm0gc3VwcG9ydHMgbmF0aXZlIHJlc29sdmluZyBwcmVmZXIgdGhhdFxuICBtb2R1bGUuZXhwb3J0cyA9IHByb2Nlc3MuYWRkb24uYmluZChwcm9jZXNzKVxufSBlbHNlIHsgLy8gZWxzZSB1c2UgdGhlIHJ1bnRpbWUgdmVyc2lvbiBoZXJlXG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9ub2RlLWd5cC1idWlsZC5qcycpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/node-gyp-build/index.js\n")); - -/***/ }), - -/***/ "./node_modules/node-gyp-build/node-gyp-build.js": -/*!*******************************************************!*\ - !*** ./node_modules/node-gyp-build/node-gyp-build.js ***! - \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nvar fs = __webpack_require__(/*! fs */ \"?4f06\")\nvar path = __webpack_require__(/*! path */ \"./node_modules/next/dist/compiled/path-browserify/index.js\")\nvar os = __webpack_require__(/*! os */ \"./node_modules/next/dist/compiled/os-browserify/browser.js\")\n\n// Workaround to fix webpack's build warnings: 'the request of a dependency is an expression'\nvar runtimeRequire = true ? require : 0 // eslint-disable-line\n\nvar vars = (process.config && process.config.variables) || {}\nvar prebuildsOnly = !!process.env.PREBUILDS_ONLY\nvar abi = process.versions.modules // TODO: support old node where this is undef\nvar runtime = isElectron() ? 'electron' : (isNwjs() ? 'node-webkit' : 'node')\n\nvar arch = process.env.npm_config_arch || os.arch()\nvar platform = process.env.npm_config_platform || os.platform()\nvar libc = process.env.LIBC || (isAlpine(platform) ? 'musl' : 'glibc')\nvar armv = process.env.ARM_VERSION || (arch === 'arm64' ? '8' : vars.arm_version) || ''\nvar uv = (process.versions.uv || '').split('.')[0]\n\nmodule.exports = load\n\nfunction load (dir) {\n return runtimeRequire(load.resolve(dir))\n}\n\nload.resolve = load.path = function (dir) {\n dir = path.resolve(dir || '.')\n\n try {\n var name = runtimeRequire(path.join(dir, 'package.json')).name.toUpperCase().replace(/-/g, '_')\n if (process.env[name + '_PREBUILD']) dir = process.env[name + '_PREBUILD']\n } catch (err) {}\n\n if (!prebuildsOnly) {\n var release = getFirst(path.join(dir, 'build/Release'), matchBuild)\n if (release) return release\n\n var debug = getFirst(path.join(dir, 'build/Debug'), matchBuild)\n if (debug) return debug\n }\n\n var prebuild = resolve(dir)\n if (prebuild) return prebuild\n\n var nearby = resolve(path.dirname(process.execPath))\n if (nearby) return nearby\n\n var target = [\n 'platform=' + platform,\n 'arch=' + arch,\n 'runtime=' + runtime,\n 'abi=' + abi,\n 'uv=' + uv,\n armv ? 'armv=' + armv : '',\n 'libc=' + libc,\n 'node=' + process.versions.node,\n process.versions.electron ? 'electron=' + process.versions.electron : '',\n true ? 'webpack=true' : 0 // eslint-disable-line\n ].filter(Boolean).join(' ')\n\n throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n\n function resolve (dir) {\n // Find matching \"prebuilds/<platform>-<arch>\" directory\n var tuples = readdirSync(path.join(dir, 'prebuilds')).map(parseTuple)\n var tuple = tuples.filter(matchTuple(platform, arch)).sort(compareTuples)[0]\n if (!tuple) return\n\n // Find most specific flavor first\n var prebuilds = path.join(dir, 'prebuilds', tuple.name)\n var parsed = readdirSync(prebuilds).map(parseTags)\n var candidates = parsed.filter(matchTags(runtime, abi))\n var winner = candidates.sort(compareTags(runtime))[0]\n if (winner) return path.join(prebuilds, winner.file)\n }\n}\n\nfunction readdirSync (dir) {\n try {\n return fs.readdirSync(dir)\n } catch (err) {\n return []\n }\n}\n\nfunction getFirst (dir, filter) {\n var files = readdirSync(dir).filter(filter)\n return files[0] && path.join(dir, files[0])\n}\n\nfunction matchBuild (name) {\n return /\\.node$/.test(name)\n}\n\nfunction parseTuple (name) {\n // Example: darwin-x64+arm64\n var arr = name.split('-')\n if (arr.length !== 2) return\n\n var platform = arr[0]\n var architectures = arr[1].split('+')\n\n if (!platform) return\n if (!architectures.length) return\n if (!architectures.every(Boolean)) return\n\n return { name, platform, architectures }\n}\n\nfunction matchTuple (platform, arch) {\n return function (tuple) {\n if (tuple == null) return false\n if (tuple.platform !== platform) return false\n return tuple.architectures.includes(arch)\n }\n}\n\nfunction compareTuples (a, b) {\n // Prefer single-arch prebuilds over multi-arch\n return a.architectures.length - b.architectures.length\n}\n\nfunction parseTags (file) {\n var arr = file.split('.')\n var extension = arr.pop()\n var tags = { file: file, specificity: 0 }\n\n if (extension !== 'node') return\n\n for (var i = 0; i < arr.length; i++) {\n var tag = arr[i]\n\n if (tag === 'node' || tag === 'electron' || tag === 'node-webkit') {\n tags.runtime = tag\n } else if (tag === 'napi') {\n tags.napi = true\n } else if (tag.slice(0, 3) === 'abi') {\n tags.abi = tag.slice(3)\n } else if (tag.slice(0, 2) === 'uv') {\n tags.uv = tag.slice(2)\n } else if (tag.slice(0, 4) === 'armv') {\n tags.armv = tag.slice(4)\n } else if (tag === 'glibc' || tag === 'musl') {\n tags.libc = tag\n } else {\n continue\n }\n\n tags.specificity++\n }\n\n return tags\n}\n\nfunction matchTags (runtime, abi) {\n return function (tags) {\n if (tags == null) return false\n if (tags.runtime !== runtime && !runtimeAgnostic(tags)) return false\n if (tags.abi !== abi && !tags.napi) return false\n if (tags.uv && tags.uv !== uv) return false\n if (tags.armv && tags.armv !== armv) return false\n if (tags.libc && tags.libc !== libc) return false\n\n return true\n }\n}\n\nfunction runtimeAgnostic (tags) {\n return tags.runtime === 'node' && tags.napi\n}\n\nfunction compareTags (runtime) {\n // Precedence: non-agnostic runtime, abi over napi, then by specificity.\n return function (a, b) {\n if (a.runtime !== b.runtime) {\n return a.runtime === runtime ? -1 : 1\n } else if (a.abi !== b.abi) {\n return a.abi ? -1 : 1\n } else if (a.specificity !== b.specificity) {\n return a.specificity > b.specificity ? -1 : 1\n } else {\n return 0\n }\n }\n}\n\nfunction isNwjs () {\n return !!(process.versions && process.versions.nw)\n}\n\nfunction isElectron () {\n if (process.versions && process.versions.electron) return true\n if (process.env.ELECTRON_RUN_AS_NODE) return true\n return typeof window !== 'undefined' && window.process && window.process.type === 'renderer'\n}\n\nfunction isAlpine (platform) {\n return platform === 'linux' && fs.existsSync('/etc/alpine-release')\n}\n\n// Exposed for unit tests\n// TODO: move to lib\nload.parseTags = parseTags\nload.matchTags = matchTags\nload.compareTags = compareTags\nload.parseTuple = parseTuple\nload.matchTuple = matchTuple\nload.compareTuples = compareTuples\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbm9kZS1neXAtYnVpbGQvbm9kZS1neXAtYnVpbGQuanMiLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsbUJBQU8sQ0FBQyxpQkFBSTtBQUNyQixXQUFXLG1CQUFPLENBQUMsd0VBQU07QUFDekIsU0FBUyxtQkFBTyxDQUFDLHNFQUFJOztBQUVyQjtBQUNBLHFCQUFxQixLQUF5QyxHQUFHLE9BQXVCLEdBQUcsQ0FBTzs7QUFFbEcsWUFBWSxPQUFPLFdBQVcsT0FBTztBQUNyQyxzQkFBc0IsT0FBTztBQUM3QixVQUFVLE9BQU87QUFDakI7O0FBRUEsV0FBVyxPQUFPO0FBQ2xCLGVBQWUsT0FBTztBQUN0QixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFVBQVUsT0FBTzs7QUFFakI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVEsT0FBTyxnQ0FBZ0MsT0FBTztBQUN0RCxJQUFJOztBQUVKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxvQ0FBb0MsT0FBTztBQUMzQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLElBQUksT0FBTyxtQ0FBbUMsT0FBTztBQUNyRCxJQUFJLEtBQXlDLG9CQUFvQixDQUFFO0FBQ25FOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTs7QUFFZjs7QUFFQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZLE9BQU8sYUFBYSxPQUFPO0FBQ3ZDOztBQUVBO0FBQ0EsTUFBTSxPQUFPLGFBQWEsT0FBTztBQUNqQyxNQUFNLE9BQU87QUFDYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ub2RlLWd5cC1idWlsZC9ub2RlLWd5cC1idWlsZC5qcz9kZTM2Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBmcyA9IHJlcXVpcmUoJ2ZzJylcbnZhciBwYXRoID0gcmVxdWlyZSgncGF0aCcpXG52YXIgb3MgPSByZXF1aXJlKCdvcycpXG5cbi8vIFdvcmthcm91bmQgdG8gZml4IHdlYnBhY2sncyBidWlsZCB3YXJuaW5nczogJ3RoZSByZXF1ZXN0IG9mIGEgZGVwZW5kZW5jeSBpcyBhbiBleHByZXNzaW9uJ1xudmFyIHJ1bnRpbWVSZXF1aXJlID0gdHlwZW9mIF9fd2VicGFja19yZXF1aXJlX18gPT09ICdmdW5jdGlvbicgPyBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyA6IHJlcXVpcmUgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXG52YXIgdmFycyA9IChwcm9jZXNzLmNvbmZpZyAmJiBwcm9jZXNzLmNvbmZpZy52YXJpYWJsZXMpIHx8IHt9XG52YXIgcHJlYnVpbGRzT25seSA9ICEhcHJvY2Vzcy5lbnYuUFJFQlVJTERTX09OTFlcbnZhciBhYmkgPSBwcm9jZXNzLnZlcnNpb25zLm1vZHVsZXMgLy8gVE9ETzogc3VwcG9ydCBvbGQgbm9kZSB3aGVyZSB0aGlzIGlzIHVuZGVmXG52YXIgcnVudGltZSA9IGlzRWxlY3Ryb24oKSA/ICdlbGVjdHJvbicgOiAoaXNOd2pzKCkgPyAnbm9kZS13ZWJraXQnIDogJ25vZGUnKVxuXG52YXIgYXJjaCA9IHByb2Nlc3MuZW52Lm5wbV9jb25maWdfYXJjaCB8fCBvcy5hcmNoKClcbnZhciBwbGF0Zm9ybSA9IHByb2Nlc3MuZW52Lm5wbV9jb25maWdfcGxhdGZvcm0gfHwgb3MucGxhdGZvcm0oKVxudmFyIGxpYmMgPSBwcm9jZXNzLmVudi5MSUJDIHx8IChpc0FscGluZShwbGF0Zm9ybSkgPyAnbXVzbCcgOiAnZ2xpYmMnKVxudmFyIGFybXYgPSBwcm9jZXNzLmVudi5BUk1fVkVSU0lPTiB8fCAoYXJjaCA9PT0gJ2FybTY0JyA/ICc4JyA6IHZhcnMuYXJtX3ZlcnNpb24pIHx8ICcnXG52YXIgdXYgPSAocHJvY2Vzcy52ZXJzaW9ucy51diB8fCAnJykuc3BsaXQoJy4nKVswXVxuXG5tb2R1bGUuZXhwb3J0cyA9IGxvYWRcblxuZnVuY3Rpb24gbG9hZCAoZGlyKSB7XG4gIHJldHVybiBydW50aW1lUmVxdWlyZShsb2FkLnJlc29sdmUoZGlyKSlcbn1cblxubG9hZC5yZXNvbHZlID0gbG9hZC5wYXRoID0gZnVuY3Rpb24gKGRpcikge1xuICBkaXIgPSBwYXRoLnJlc29sdmUoZGlyIHx8ICcuJylcblxuICB0cnkge1xuICAgIHZhciBuYW1lID0gcnVudGltZVJlcXVpcmUocGF0aC5qb2luKGRpciwgJ3BhY2thZ2UuanNvbicpKS5uYW1lLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgvLS9nLCAnXycpXG4gICAgaWYgKHByb2Nlc3MuZW52W25hbWUgKyAnX1BSRUJVSUxEJ10pIGRpciA9IHByb2Nlc3MuZW52W25hbWUgKyAnX1BSRUJVSUxEJ11cbiAgfSBjYXRjaCAoZXJyKSB7fVxuXG4gIGlmICghcHJlYnVpbGRzT25seSkge1xuICAgIHZhciByZWxlYXNlID0gZ2V0Rmlyc3QocGF0aC5qb2luKGRpciwgJ2J1aWxkL1JlbGVhc2UnKSwgbWF0Y2hCdWlsZClcbiAgICBpZiAocmVsZWFzZSkgcmV0dXJuIHJlbGVhc2VcblxuICAgIHZhciBkZWJ1ZyA9IGdldEZpcnN0KHBhdGguam9pbihkaXIsICdidWlsZC9EZWJ1ZycpLCBtYXRjaEJ1aWxkKVxuICAgIGlmIChkZWJ1ZykgcmV0dXJuIGRlYnVnXG4gIH1cblxuICB2YXIgcHJlYnVpbGQgPSByZXNvbHZlKGRpcilcbiAgaWYgKHByZWJ1aWxkKSByZXR1cm4gcHJlYnVpbGRcblxuICB2YXIgbmVhcmJ5ID0gcmVzb2x2ZShwYXRoLmRpcm5hbWUocHJvY2Vzcy5leGVjUGF0aCkpXG4gIGlmIChuZWFyYnkpIHJldHVybiBuZWFyYnlcblxuICB2YXIgdGFyZ2V0ID0gW1xuICAgICdwbGF0Zm9ybT0nICsgcGxhdGZvcm0sXG4gICAgJ2FyY2g9JyArIGFyY2gsXG4gICAgJ3J1bnRpbWU9JyArIHJ1bnRpbWUsXG4gICAgJ2FiaT0nICsgYWJpLFxuICAgICd1dj0nICsgdXYsXG4gICAgYXJtdiA/ICdhcm12PScgKyBhcm12IDogJycsXG4gICAgJ2xpYmM9JyArIGxpYmMsXG4gICAgJ25vZGU9JyArIHByb2Nlc3MudmVyc2lvbnMubm9kZSxcbiAgICBwcm9jZXNzLnZlcnNpb25zLmVsZWN0cm9uID8gJ2VsZWN0cm9uPScgKyBwcm9jZXNzLnZlcnNpb25zLmVsZWN0cm9uIDogJycsXG4gICAgdHlwZW9mIF9fd2VicGFja19yZXF1aXJlX18gPT09ICdmdW5jdGlvbicgPyAnd2VicGFjaz10cnVlJyA6ICcnIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpXG5cbiAgdGhyb3cgbmV3IEVycm9yKCdObyBuYXRpdmUgYnVpbGQgd2FzIGZvdW5kIGZvciAnICsgdGFyZ2V0ICsgJ1xcbiAgICBsb2FkZWQgZnJvbTogJyArIGRpciArICdcXG4nKVxuXG4gIGZ1bmN0aW9uIHJlc29sdmUgKGRpcikge1xuICAgIC8vIEZpbmQgbWF0Y2hpbmcgXCJwcmVidWlsZHMvPHBsYXRmb3JtPi08YXJjaD5cIiBkaXJlY3RvcnlcbiAgICB2YXIgdHVwbGVzID0gcmVhZGRpclN5bmMocGF0aC5qb2luKGRpciwgJ3ByZWJ1aWxkcycpKS5tYXAocGFyc2VUdXBsZSlcbiAgICB2YXIgdHVwbGUgPSB0dXBsZXMuZmlsdGVyKG1hdGNoVHVwbGUocGxhdGZvcm0sIGFyY2gpKS5zb3J0KGNvbXBhcmVUdXBsZXMpWzBdXG4gICAgaWYgKCF0dXBsZSkgcmV0dXJuXG5cbiAgICAvLyBGaW5kIG1vc3Qgc3BlY2lmaWMgZmxhdm9yIGZpcnN0XG4gICAgdmFyIHByZWJ1aWxkcyA9IHBhdGguam9pbihkaXIsICdwcmVidWlsZHMnLCB0dXBsZS5uYW1lKVxuICAgIHZhciBwYXJzZWQgPSByZWFkZGlyU3luYyhwcmVidWlsZHMpLm1hcChwYXJzZVRhZ3MpXG4gICAgdmFyIGNhbmRpZGF0ZXMgPSBwYXJzZWQuZmlsdGVyKG1hdGNoVGFncyhydW50aW1lLCBhYmkpKVxuICAgIHZhciB3aW5uZXIgPSBjYW5kaWRhdGVzLnNvcnQoY29tcGFyZVRhZ3MocnVudGltZSkpWzBdXG4gICAgaWYgKHdpbm5lcikgcmV0dXJuIHBhdGguam9pbihwcmVidWlsZHMsIHdpbm5lci5maWxlKVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRkaXJTeW5jIChkaXIpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZnMucmVhZGRpclN5bmMoZGlyKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gW11cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRGaXJzdCAoZGlyLCBmaWx0ZXIpIHtcbiAgdmFyIGZpbGVzID0gcmVhZGRpclN5bmMoZGlyKS5maWx0ZXIoZmlsdGVyKVxuICByZXR1cm4gZmlsZXNbMF0gJiYgcGF0aC5qb2luKGRpciwgZmlsZXNbMF0pXG59XG5cbmZ1bmN0aW9uIG1hdGNoQnVpbGQgKG5hbWUpIHtcbiAgcmV0dXJuIC9cXC5ub2RlJC8udGVzdChuYW1lKVxufVxuXG5mdW5jdGlvbiBwYXJzZVR1cGxlIChuYW1lKSB7XG4gIC8vIEV4YW1wbGU6IGRhcndpbi14NjQrYXJtNjRcbiAgdmFyIGFyciA9IG5hbWUuc3BsaXQoJy0nKVxuICBpZiAoYXJyLmxlbmd0aCAhPT0gMikgcmV0dXJuXG5cbiAgdmFyIHBsYXRmb3JtID0gYXJyWzBdXG4gIHZhciBhcmNoaXRlY3R1cmVzID0gYXJyWzFdLnNwbGl0KCcrJylcblxuICBpZiAoIXBsYXRmb3JtKSByZXR1cm5cbiAgaWYgKCFhcmNoaXRlY3R1cmVzLmxlbmd0aCkgcmV0dXJuXG4gIGlmICghYXJjaGl0ZWN0dXJlcy5ldmVyeShCb29sZWFuKSkgcmV0dXJuXG5cbiAgcmV0dXJuIHsgbmFtZSwgcGxhdGZvcm0sIGFyY2hpdGVjdHVyZXMgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFR1cGxlIChwbGF0Zm9ybSwgYXJjaCkge1xuICByZXR1cm4gZnVuY3Rpb24gKHR1cGxlKSB7XG4gICAgaWYgKHR1cGxlID09IG51bGwpIHJldHVybiBmYWxzZVxuICAgIGlmICh0dXBsZS5wbGF0Zm9ybSAhPT0gcGxhdGZvcm0pIHJldHVybiBmYWxzZVxuICAgIHJldHVybiB0dXBsZS5hcmNoaXRlY3R1cmVzLmluY2x1ZGVzKGFyY2gpXG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZVR1cGxlcyAoYSwgYikge1xuICAvLyBQcmVmZXIgc2luZ2xlLWFyY2ggcHJlYnVpbGRzIG92ZXIgbXVsdGktYXJjaFxuICByZXR1cm4gYS5hcmNoaXRlY3R1cmVzLmxlbmd0aCAtIGIuYXJjaGl0ZWN0dXJlcy5sZW5ndGhcbn1cblxuZnVuY3Rpb24gcGFyc2VUYWdzIChmaWxlKSB7XG4gIHZhciBhcnIgPSBmaWxlLnNwbGl0KCcuJylcbiAgdmFyIGV4dGVuc2lvbiA9IGFyci5wb3AoKVxuICB2YXIgdGFncyA9IHsgZmlsZTogZmlsZSwgc3BlY2lmaWNpdHk6IDAgfVxuXG4gIGlmIChleHRlbnNpb24gIT09ICdub2RlJykgcmV0dXJuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgdGFnID0gYXJyW2ldXG5cbiAgICBpZiAodGFnID09PSAnbm9kZScgfHwgdGFnID09PSAnZWxlY3Ryb24nIHx8IHRhZyA9PT0gJ25vZGUtd2Via2l0Jykge1xuICAgICAgdGFncy5ydW50aW1lID0gdGFnXG4gICAgfSBlbHNlIGlmICh0YWcgPT09ICduYXBpJykge1xuICAgICAgdGFncy5uYXBpID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAodGFnLnNsaWNlKDAsIDMpID09PSAnYWJpJykge1xuICAgICAgdGFncy5hYmkgPSB0YWcuc2xpY2UoMylcbiAgICB9IGVsc2UgaWYgKHRhZy5zbGljZSgwLCAyKSA9PT0gJ3V2Jykge1xuICAgICAgdGFncy51diA9IHRhZy5zbGljZSgyKVxuICAgIH0gZWxzZSBpZiAodGFnLnNsaWNlKDAsIDQpID09PSAnYXJtdicpIHtcbiAgICAgIHRhZ3MuYXJtdiA9IHRhZy5zbGljZSg0KVxuICAgIH0gZWxzZSBpZiAodGFnID09PSAnZ2xpYmMnIHx8IHRhZyA9PT0gJ211c2wnKSB7XG4gICAgICB0YWdzLmxpYmMgPSB0YWdcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICB0YWdzLnNwZWNpZmljaXR5KytcbiAgfVxuXG4gIHJldHVybiB0YWdzXG59XG5cbmZ1bmN0aW9uIG1hdGNoVGFncyAocnVudGltZSwgYWJpKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFncykge1xuICAgIGlmICh0YWdzID09IG51bGwpIHJldHVybiBmYWxzZVxuICAgIGlmICh0YWdzLnJ1bnRpbWUgIT09IHJ1bnRpbWUgJiYgIXJ1bnRpbWVBZ25vc3RpYyh0YWdzKSkgcmV0dXJuIGZhbHNlXG4gICAgaWYgKHRhZ3MuYWJpICE9PSBhYmkgJiYgIXRhZ3MubmFwaSkgcmV0dXJuIGZhbHNlXG4gICAgaWYgKHRhZ3MudXYgJiYgdGFncy51diAhPT0gdXYpIHJldHVybiBmYWxzZVxuICAgIGlmICh0YWdzLmFybXYgJiYgdGFncy5hcm12ICE9PSBhcm12KSByZXR1cm4gZmFsc2VcbiAgICBpZiAodGFncy5saWJjICYmIHRhZ3MubGliYyAhPT0gbGliYykgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG5cbmZ1bmN0aW9uIHJ1bnRpbWVBZ25vc3RpYyAodGFncykge1xuICByZXR1cm4gdGFncy5ydW50aW1lID09PSAnbm9kZScgJiYgdGFncy5uYXBpXG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVUYWdzIChydW50aW1lKSB7XG4gIC8vIFByZWNlZGVuY2U6IG5vbi1hZ25vc3RpYyBydW50aW1lLCBhYmkgb3ZlciBuYXBpLCB0aGVuIGJ5IHNwZWNpZmljaXR5LlxuICByZXR1cm4gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICBpZiAoYS5ydW50aW1lICE9PSBiLnJ1bnRpbWUpIHtcbiAgICAgIHJldHVybiBhLnJ1bnRpbWUgPT09IHJ1bnRpbWUgPyAtMSA6IDFcbiAgICB9IGVsc2UgaWYgKGEuYWJpICE9PSBiLmFiaSkge1xuICAgICAgcmV0dXJuIGEuYWJpID8gLTEgOiAxXG4gICAgfSBlbHNlIGlmIChhLnNwZWNpZmljaXR5ICE9PSBiLnNwZWNpZmljaXR5KSB7XG4gICAgICByZXR1cm4gYS5zcGVjaWZpY2l0eSA+IGIuc3BlY2lmaWNpdHkgPyAtMSA6IDFcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDBcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNOd2pzICgpIHtcbiAgcmV0dXJuICEhKHByb2Nlc3MudmVyc2lvbnMgJiYgcHJvY2Vzcy52ZXJzaW9ucy5udylcbn1cblxuZnVuY3Rpb24gaXNFbGVjdHJvbiAoKSB7XG4gIGlmIChwcm9jZXNzLnZlcnNpb25zICYmIHByb2Nlc3MudmVyc2lvbnMuZWxlY3Ryb24pIHJldHVybiB0cnVlXG4gIGlmIChwcm9jZXNzLmVudi5FTEVDVFJPTl9SVU5fQVNfTk9ERSkgcmV0dXJuIHRydWVcbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5wcm9jZXNzICYmIHdpbmRvdy5wcm9jZXNzLnR5cGUgPT09ICdyZW5kZXJlcidcbn1cblxuZnVuY3Rpb24gaXNBbHBpbmUgKHBsYXRmb3JtKSB7XG4gIHJldHVybiBwbGF0Zm9ybSA9PT0gJ2xpbnV4JyAmJiBmcy5leGlzdHNTeW5jKCcvZXRjL2FscGluZS1yZWxlYXNlJylcbn1cblxuLy8gRXhwb3NlZCBmb3IgdW5pdCB0ZXN0c1xuLy8gVE9ETzogbW92ZSB0byBsaWJcbmxvYWQucGFyc2VUYWdzID0gcGFyc2VUYWdzXG5sb2FkLm1hdGNoVGFncyA9IG1hdGNoVGFnc1xubG9hZC5jb21wYXJlVGFncyA9IGNvbXBhcmVUYWdzXG5sb2FkLnBhcnNlVHVwbGUgPSBwYXJzZVR1cGxlXG5sb2FkLm1hdGNoVHVwbGUgPSBtYXRjaFR1cGxlXG5sb2FkLmNvbXBhcmVUdXBsZXMgPSBjb21wYXJlVHVwbGVzXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/node-gyp-build/node-gyp-build.js\n")); - -/***/ }), - -/***/ "./node_modules/preact/compat/dist/compat.module.js": -/*!**********************************************************!*\ - !*** ./node_modules/preact/compat/dist/compat.module.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Children: function() { return /* binding */ O; },\n/* harmony export */ Component: function() { return /* reexport safe */ preact__WEBPACK_IMPORTED_MODULE_0__.Component; },\n/* harmony export */ Fragment: function() { return /* reexport safe */ preact__WEBPACK_IMPORTED_MODULE_0__.Fragment; },\n/* harmony export */ PureComponent: function() { return /* binding */ w; },\n/* harmony export */ StrictMode: function() { return /* binding */ mn; },\n/* harmony export */ Suspense: function() { return /* binding */ D; },\n/* harmony export */ SuspenseList: function() { return /* binding */ V; },\n/* harmony export */ __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: function() { return /* binding */ ln; },\n/* harmony export */ cloneElement: function() { return /* binding */ sn; },\n/* harmony export */ createContext: function() { return /* reexport safe */ preact__WEBPACK_IMPORTED_MODULE_0__.createContext; },\n/* harmony export */ createElement: function() { return /* reexport safe */ preact__WEBPACK_IMPORTED_MODULE_0__.createElement; },\n/* harmony export */ createFactory: function() { return /* binding */ fn; },\n/* harmony export */ createPortal: function() { return /* binding */ z; },\n/* harmony export */ createRef: function() { return /* reexport safe */ preact__WEBPACK_IMPORTED_MODULE_0__.createRef; },\n/* harmony export */ \"default\": function() { return /* binding */ Cn; },\n/* harmony export */ findDOMNode: function() { return /* binding */ vn; },\n/* harmony export */ flushSync: function() { return /* binding */ pn; },\n/* harmony export */ forwardRef: function() { return /* binding */ k; },\n/* harmony export */ hydrate: function() { return /* binding */ J; },\n/* harmony export */ isValidElement: function() { return /* binding */ an; },\n/* harmony export */ lazy: function() { return /* binding */ M; },\n/* harmony export */ memo: function() { return /* binding */ x; },\n/* harmony export */ render: function() { return /* binding */ G; },\n/* harmony export */ startTransition: function() { return /* binding */ yn; },\n/* harmony export */ unmountComponentAtNode: function() { return /* binding */ hn; },\n/* harmony export */ unstable_batchedUpdates: function() { return /* binding */ dn; },\n/* harmony export */ useDeferredValue: function() { return /* binding */ _n; },\n/* harmony export */ useInsertionEffect: function() { return /* binding */ Sn; },\n/* harmony export */ useSyncExternalStore: function() { return /* binding */ gn; },\n/* harmony export */ useTransition: function() { return /* binding */ bn; },\n/* harmony export */ version: function() { return /* binding */ cn; }\n/* harmony export */ });\n/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\n/* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! preact/hooks */ \"./node_modules/preact/hooks/dist/hooks.module.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in preact_hooks__WEBPACK_IMPORTED_MODULE_1__) if([\"default\",\"Component\",\"Fragment\",\"createContext\",\"createElement\",\"createRef\",\"Children\",\"PureComponent\",\"StrictMode\",\"Suspense\",\"SuspenseList\",\"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\",\"cloneElement\",\"createFactory\",\"createPortal\",\"findDOMNode\",\"flushSync\",\"forwardRef\",\"hydrate\",\"isValidElement\",\"lazy\",\"memo\",\"render\",\"startTransition\",\"unmountComponentAtNode\",\"unstable_batchedUpdates\",\"useDeferredValue\",\"useInsertionEffect\",\"useSyncExternalStore\",\"useTransition\",\"version\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return preact_hooks__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nfunction g(n,t){for(var e in t)n[e]=t[e];return n}function C(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n,t){return n===t&&(0!==n||1/n==1/t)||n!=n&&t!=t}function w(n){this.props=n}function x(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:C(this.props,n)}function u(e){return this.shouldComponentUpdate=r,(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u}(w.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).isPureReactComponent=!0,w.prototype.shouldComponentUpdate=function(n,t){return C(this.props,n)||C(this.state,t)};var R=preact__WEBPACK_IMPORTED_MODULE_0__.options.__b;preact__WEBPACK_IMPORTED_MODULE_0__.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n)};var N=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function k(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=N,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var A=function(n,t){return null==n?null:(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)((0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n).map(t))},O={map:A,forEach:A,count:function(n){return n?(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n).length:0},only:function(n){var t=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray},T=preact__WEBPACK_IMPORTED_MODULE_0__.options.__e;preact__WEBPACK_IMPORTED_MODULE_0__.options.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);T(n,t,e,r)};var I=preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount;function L(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return L(n,t,e)})),n}function U(n,t,e){return n&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return U(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.insertBefore(n.__e,n.__d),n.__c.__e=!0,n.__c.__P=e)),n}function D(){this.__u=0,this.t=null,this.__b=null}function F(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function M(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return (0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(r,o)}return o.displayName=\"Lazy\",o.__f=!0,o}function V(){this.u=null,this.o=null}preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),I&&I(n)},(D.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=F(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=U(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},c=!0===t.__h;r.__u++||c||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},D.prototype.componentWillUnmount=function(){this.t=[]},D.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=L(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,n.fallback);return i&&(i.__h=null),[(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,e.__a?null:n.children),i]};var W=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function P(n){return this.getChildContext=function(){return n.context},n.children}function j(n){var e=this,r=n.i;e.componentWillUnmount=function(){(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(null,e.l),e.l=null,e.i=null},e.i&&e.i!==r&&e.componentWillUnmount(),n.__v?(e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n)}}),(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)((0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(P,{context:e.context},n.__v),e.l)):e.l&&e.componentWillUnmount()}function z(n,e){var r=(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(j,{__v:n,i:e});return r.containerInfo=e,r}(V.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).__a=function(n){var t=this,e=F(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),W(t,n,r)):u()};e?e(o):o()}},V.prototype.render=function(n){this.u=null,this.o=new Map;var t=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},V.prototype.componentDidUpdate=V.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){W(n,e,t)})};var B=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,H=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Z=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Y=/[A-Z0-9]/g,$=\"undefined\"!=typeof document,q=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function G(n,t,e){return null==t.__k&&(t.textContent=\"\"),(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function J(n,t,e){return (0,preact__WEBPACK_IMPORTED_MODULE_0__.hydrate)(n,t),\"function\"==typeof e&&e(),n?n.__c:null}preact__WEBPACK_IMPORTED_MODULE_0__.Component.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(preact__WEBPACK_IMPORTED_MODULE_0__.Component.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var K=preact__WEBPACK_IMPORTED_MODULE_0__.options.event;function Q(){}function X(){return this.cancelBubble}function nn(){return this.defaultPrevented}preact__WEBPACK_IMPORTED_MODULE_0__.options.event=function(n){return K&&(n=K(n)),n.persist=Q,n.isPropagationStopped=X,n.isDefaultPrevented=nn,n.nativeEvent=n};var tn,en={enumerable:!1,configurable:!0,get:function(){return this.class}},rn=preact__WEBPACK_IMPORTED_MODULE_0__.options.vnode;preact__WEBPACK_IMPORTED_MODULE_0__.options.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={};for(var o in t){var i=t[o];if(!(\"value\"===o&&\"defaultValue\"in t&&null==i||$&&\"children\"===o&&\"noscript\"===e||\"class\"===o||\"className\"===o)){var l=o.toLowerCase();\"defaultValue\"===o&&\"value\"in t&&null==t.value?o=\"value\":\"download\"===o&&!0===i?i=\"\":\"ondoubleclick\"===l?o=\"ondblclick\":\"onchange\"!==l||\"input\"!==e&&\"textarea\"!==e||q(t.type)?\"onfocus\"===l?o=\"onfocusin\":\"onblur\"===l?o=\"onfocusout\":Z.test(o)?o=l:-1===e.indexOf(\"-\")&&H.test(o)?o=o.replace(Y,\"-$&\").toLowerCase():null===i&&(i=void 0):l=o=\"oninput\",\"oninput\"===l&&u[o=l]&&(o=\"oninputCapture\"),u[o]=i}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",en)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=B,rn&&rn(n)};var un=preact__WEBPACK_IMPORTED_MODULE_0__.options.__r;preact__WEBPACK_IMPORTED_MODULE_0__.options.__r=function(n){un&&un(n),tn=n.__c};var on=preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed;preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed=function(n){on&&on(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),tn=null};var ln={ReactCurrentDispatcher:{current:{readContext:function(n){return tn.__n[n.__c].props.value}}}},cn=\"17.0.2\";function fn(n){return preact__WEBPACK_IMPORTED_MODULE_0__.createElement.bind(null,n)}function an(n){return!!n&&n.$$typeof===B}function sn(n){return an(n)?preact__WEBPACK_IMPORTED_MODULE_0__.cloneElement.apply(null,arguments):n}function hn(n){return!!n.__k&&((0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(null,n),!0)}function vn(n){return n&&(n.base||1===n.nodeType&&n)||null}var dn=function(n,t){return n(t)},pn=function(n,t){return n(t)},mn=preact__WEBPACK_IMPORTED_MODULE_0__.Fragment;function yn(n){n()}function _n(n){return n}function bn(){return[!1,yn]}var Sn=preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect;function gn(n,t){var e=t(),r=(0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState)({h:{__:e,v:t}}),u=r[0].h,o=r[1];return (0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(function(){u.__=e,u.v=t,E(u.__,t())||o({h:u})},[n,e,t]),(0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function(){return E(u.__,u.v())||o({h:u}),n(function(){E(u.__,u.v())||o({h:u})})},[n]),e}var Cn={useState:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState,useId:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useId,useReducer:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useReducer,useEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect,useLayoutEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect,useInsertionEffect:Sn,useTransition:bn,useDeferredValue:_n,useSyncExternalStore:gn,startTransition:yn,useRef:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useRef,useImperativeHandle:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle,useMemo:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useMemo,useCallback:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useCallback,useContext:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useContext,useDebugValue:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useDebugValue,version:\"17.0.2\",Children:O,render:G,hydrate:J,unmountComponentAtNode:hn,createPortal:z,createElement:preact__WEBPACK_IMPORTED_MODULE_0__.createElement,createContext:preact__WEBPACK_IMPORTED_MODULE_0__.createContext,createFactory:fn,cloneElement:sn,createRef:preact__WEBPACK_IMPORTED_MODULE_0__.createRef,Fragment:preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,isValidElement:an,findDOMNode:vn,Component:preact__WEBPACK_IMPORTED_MODULE_0__.Component,PureComponent:w,memo:x,forwardRef:k,flushSync:pn,unstable_batchedUpdates:dn,StrictMode:mn,Suspense:D,SuspenseList:V,lazy:M,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ln};\n//# sourceMappingURL=compat.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9kaXN0L2NvbXBhdC5tb2R1bGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW9lLGdCQUFnQix5QkFBeUIsU0FBUyxnQkFBZ0IscURBQXFELHVEQUF1RCxTQUFTLGdCQUFnQiw0Q0FBNEMsY0FBYyxhQUFhLGdCQUFnQixjQUFjLGdDQUFnQyxvRkFBb0YsY0FBYyxvQ0FBb0MscURBQUMsTUFBTSxvR0FBb0csaUJBQWlCLDZDQUFDLDBFQUEwRSx5Q0FBeUMsTUFBTSwyQ0FBQyxLQUFLLDJDQUFDLGlCQUFpQixtRUFBbUUsb0ZBQW9GLGNBQWMsY0FBYyxVQUFVLElBQUkscUNBQXFDLCtIQUErSCxvQkFBb0Isb0JBQW9CLG9EQUFDLENBQUMsb0RBQUMsWUFBWSxJQUFJLGtDQUFrQyxTQUFTLG9EQUFDLGFBQWEsa0JBQWtCLE1BQU0sb0RBQUMsSUFBSSxxQ0FBcUMsWUFBWSxTQUFTLGdEQUFDLENBQUMsR0FBRywyQ0FBQyxLQUFLLDJDQUFDLHVCQUF1Qix3QkFBd0IsT0FBTyw4RUFBOEUsWUFBWSxNQUFNLDJDQUFDLFNBQVMsa0JBQWtCLCtEQUErRCxrQ0FBa0MsK0JBQStCLHVGQUF1RixnQkFBZ0IsS0FBSyxrQkFBa0IseURBQXlELGdCQUFnQix5RkFBeUYsYUFBYSxxQ0FBcUMsY0FBYyxlQUFlLDBCQUEwQixjQUFjLFVBQVUsY0FBYywrQkFBK0IsZUFBZSxhQUFhLElBQUksWUFBWSxjQUFjLE9BQU8scURBQUMsTUFBTSx1Q0FBdUMsYUFBYSx3QkFBd0IsMkNBQUMscUJBQXFCLFlBQVksdURBQXVELGtCQUFrQiw2Q0FBQyxvQkFBb0IsbUJBQW1CLGdDQUFnQyxpQ0FBaUMsaUNBQWlDLFFBQVEsaUJBQWlCLGFBQWEsZ0JBQWdCLGtCQUFrQixzQ0FBc0MsTUFBTSxnQkFBZ0IsZUFBZSxFQUFFLFlBQVksa0JBQWtCLGNBQWMsd0JBQXdCLHVCQUF1QixjQUFjLDZDQUE2QyxVQUFVLGtDQUFrQyxhQUFhLGlCQUFpQiwwREFBMEQsMENBQTBDLGNBQWMsYUFBYSxxREFBQyxDQUFDLDRDQUFDLGtCQUFrQix3QkFBd0IscURBQUMsQ0FBQyw0Q0FBQyxpQ0FBaUMsc0JBQXNCLHlHQUF5RyxFQUFFLEVBQUUsS0FBSyxXQUFXLFdBQVcsbUJBQW1CLGFBQWEsY0FBYyx1Q0FBdUMsaUJBQWlCLFlBQVksY0FBYyxpQkFBaUIsa0NBQWtDLDhDQUFDLDZCQUE2QixnRUFBZ0UsOERBQThELDJDQUEyQyw0QkFBNEIsMkNBQTJDLHlCQUF5Qiw2RUFBNkUsRUFBRSw4Q0FBQyxDQUFDLHFEQUFDLElBQUksa0JBQWtCLDRDQUE0QyxnQkFBZ0IsTUFBTSxxREFBQyxJQUFJLFVBQVUsRUFBRSwyQkFBMkIsaUJBQWlCLDZDQUFDLGtCQUFrQixtQ0FBbUMsMEJBQTBCLGlCQUFpQiw4Q0FBOEMsWUFBWSxnQ0FBZ0MsMkJBQTJCLE1BQU0sb0RBQUMsYUFBYSxtREFBbUQsbUJBQW1CLElBQUksc0NBQXNDLGtCQUFrQix5RUFBeUUsV0FBVyw2QkFBNkIsU0FBUyxHQUFHLGlkQUFpZCxrR0FBa0csa0JBQWtCLHVDQUF1Qyw4Q0FBQyw2Q0FBNkMsa0JBQWtCLE9BQU8sK0NBQUMsNkNBQTZDLDZDQUFDLDhCQUE4Qiw4RkFBOEYsc0JBQXNCLDZDQUFDLGNBQWMsK0JBQStCLHlCQUF5QixpQkFBaUIsOEJBQThCLG9DQUFvQyxHQUFHLEVBQUUsRUFBRSxNQUFNLDJDQUFDLE9BQU8sY0FBYyxhQUFhLHlCQUF5QixjQUFjLDZCQUE2QiwyQ0FBQyxtQkFBbUIsaUdBQWlHLFdBQVcsNkNBQTZDLG1CQUFtQixJQUFJLDJDQUFDLE9BQU8sMkNBQUMsbUJBQW1CLHFDQUFxQyw0QkFBNEIsZ0JBQWdCLFdBQVcsaUhBQWlILHNCQUFzQiw4WUFBOFksMERBQTBELG9EQUFDLGlDQUFpQyxvREFBb0QsK0NBQStDLG9EQUFDLGlDQUFpQyxvR0FBb0csOEtBQThLLDRCQUE0QixPQUFPLDJDQUFDLEtBQUssMkNBQUMsaUJBQWlCLG9CQUFvQixPQUFPLDJDQUFDLFFBQVEsMkNBQUMsb0JBQW9CLFVBQVUsc0JBQXNCLDBHQUEwRyxRQUFRLHdCQUF3QixTQUFTLHdCQUF3QixvQ0FBb0MsYUFBYSxlQUFlLE9BQU8saURBQUMsY0FBYyxlQUFlLDBCQUEwQixlQUFlLGFBQWEsZ0RBQUMseUJBQXlCLGVBQWUsZ0JBQWdCLDhDQUFDLGFBQWEsZUFBZSw0Q0FBNEMscUJBQXFCLFlBQVksa0JBQWtCLFlBQVksSUFBSSw0Q0FBQyxDQUFDLGVBQWUsSUFBSSxlQUFlLFNBQVMsY0FBYyxjQUFjLE9BQU8seURBQUMsQ0FBQyxpQkFBaUIsWUFBWSxzREFBQyxFQUFFLEdBQUcsVUFBVSxrQkFBa0IsT0FBTyw2REFBQyxZQUFZLDZCQUE2QixJQUFJLEVBQUUsVUFBVSx1REFBQyxZQUFZLHlCQUF5QixJQUFJLGVBQWUsa0JBQWtCLElBQUksRUFBRSxFQUFFLFFBQVEsUUFBUSxTQUFTLGtEQUFDLE9BQU8sK0NBQUMsWUFBWSxvREFBQyxXQUFXLG1EQUFDLGlCQUFpQix5REFBQyw4R0FBOEcsZ0RBQUMscUJBQXFCLDZEQUFDLFNBQVMsaURBQUMsYUFBYSxxREFBQyxZQUFZLG9EQUFDLGVBQWUsdURBQUMsdUdBQXVHLGlEQUFDLGVBQWUsaURBQUMsNENBQTRDLDZDQUFDLFVBQVUsNENBQUMsNENBQTRDLDZDQUFDLG1MQUErckI7QUFDbjBTIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L2Rpc3QvY29tcGF0Lm1vZHVsZS5qcz9jY2EyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtDb21wb25lbnQgYXMgbixjcmVhdGVFbGVtZW50IGFzIHQsb3B0aW9ucyBhcyBlLHRvQ2hpbGRBcnJheSBhcyByLEZyYWdtZW50IGFzIHUscmVuZGVyIGFzIG8saHlkcmF0ZSBhcyBpLGNyZWF0ZUNvbnRleHQgYXMgbCxjcmVhdGVSZWYgYXMgYyxjbG9uZUVsZW1lbnQgYXMgZn1mcm9tXCJwcmVhY3RcIjtleHBvcnR7Q29tcG9uZW50LEZyYWdtZW50LGNyZWF0ZUNvbnRleHQsY3JlYXRlRWxlbWVudCxjcmVhdGVSZWZ9ZnJvbVwicHJlYWN0XCI7aW1wb3J0e3VzZVN0YXRlIGFzIGEsdXNlSWQgYXMgcyx1c2VSZWR1Y2VyIGFzIGgsdXNlRWZmZWN0IGFzIHYsdXNlTGF5b3V0RWZmZWN0IGFzIGQsdXNlUmVmIGFzIHAsdXNlSW1wZXJhdGl2ZUhhbmRsZSBhcyBtLHVzZU1lbW8gYXMgeSx1c2VDYWxsYmFjayBhcyBfLHVzZUNvbnRleHQgYXMgYix1c2VEZWJ1Z1ZhbHVlIGFzIFN9ZnJvbVwicHJlYWN0L2hvb2tzXCI7ZXhwb3J0KmZyb21cInByZWFjdC9ob29rc1wiO2Z1bmN0aW9uIGcobix0KXtmb3IodmFyIGUgaW4gdCluW2VdPXRbZV07cmV0dXJuIG59ZnVuY3Rpb24gQyhuLHQpe2Zvcih2YXIgZSBpbiBuKWlmKFwiX19zb3VyY2VcIiE9PWUmJiEoZSBpbiB0KSlyZXR1cm4hMDtmb3IodmFyIHIgaW4gdClpZihcIl9fc291cmNlXCIhPT1yJiZuW3JdIT09dFtyXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBFKG4sdCl7cmV0dXJuIG49PT10JiYoMCE9PW58fDEvbj09MS90KXx8biE9biYmdCE9dH1mdW5jdGlvbiB3KG4pe3RoaXMucHJvcHM9bn1mdW5jdGlvbiB4KG4sZSl7ZnVuY3Rpb24gcihuKXt2YXIgdD10aGlzLnByb3BzLnJlZixyPXQ9PW4ucmVmO3JldHVybiFyJiZ0JiYodC5jYWxsP3QobnVsbCk6dC5jdXJyZW50PW51bGwpLGU/IWUodGhpcy5wcm9wcyxuKXx8IXI6Qyh0aGlzLnByb3BzLG4pfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPXIsdChuLGUpfXJldHVybiB1LmRpc3BsYXlOYW1lPVwiTWVtbyhcIisobi5kaXNwbGF5TmFtZXx8bi5uYW1lKStcIilcIix1LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLHUuX19mPSEwLHV9KHcucHJvdG90eXBlPW5ldyBuKS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCx3LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24obix0KXtyZXR1cm4gQyh0aGlzLnByb3BzLG4pfHxDKHRoaXMuc3RhdGUsdCl9O3ZhciBSPWUuX19iO2UuX19iPWZ1bmN0aW9uKG4pe24udHlwZSYmbi50eXBlLl9fZiYmbi5yZWYmJihuLnByb3BzLnJlZj1uLnJlZixuLnJlZj1udWxsKSxSJiZSKG4pfTt2YXIgTj1cInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIil8fDM5MTE7ZnVuY3Rpb24gayhuKXtmdW5jdGlvbiB0KHQpe3ZhciBlPWcoe30sdCk7cmV0dXJuIGRlbGV0ZSBlLnJlZixuKGUsdC5yZWZ8fG51bGwpfXJldHVybiB0LiQkdHlwZW9mPU4sdC5yZW5kZXI9dCx0LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXQuX19mPSEwLHQuZGlzcGxheU5hbWU9XCJGb3J3YXJkUmVmKFwiKyhuLmRpc3BsYXlOYW1lfHxuLm5hbWUpK1wiKVwiLHR9dmFyIEE9ZnVuY3Rpb24obix0KXtyZXR1cm4gbnVsbD09bj9udWxsOnIocihuKS5tYXAodCkpfSxPPXttYXA6QSxmb3JFYWNoOkEsY291bnQ6ZnVuY3Rpb24obil7cmV0dXJuIG4/cihuKS5sZW5ndGg6MH0sb25seTpmdW5jdGlvbihuKXt2YXIgdD1yKG4pO2lmKDEhPT10Lmxlbmd0aCl0aHJvd1wiQ2hpbGRyZW4ub25seVwiO3JldHVybiB0WzBdfSx0b0FycmF5OnJ9LFQ9ZS5fX2U7ZS5fX2U9ZnVuY3Rpb24obix0LGUscil7aWYobi50aGVuKWZvcih2YXIgdSxvPXQ7bz1vLl9fOylpZigodT1vLl9fYykmJnUuX19jKXJldHVybiBudWxsPT10Ll9fZSYmKHQuX19lPWUuX19lLHQuX19rPWUuX19rKSx1Ll9fYyhuLHQpO1Qobix0LGUscil9O3ZhciBJPWUudW5tb3VudDtmdW5jdGlvbiBMKG4sdCxlKXtyZXR1cm4gbiYmKG4uX19jJiZuLl9fYy5fX0gmJihuLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLl9fYyYmbi5fX2MoKX0pLG4uX19jLl9fSD1udWxsKSxudWxsIT0obj1nKHt9LG4pKS5fX2MmJihuLl9fYy5fX1A9PT1lJiYobi5fX2MuX19QPXQpLG4uX19jPW51bGwpLG4uX19rPW4uX19rJiZuLl9fay5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEwobix0LGUpfSkpLG59ZnVuY3Rpb24gVShuLHQsZSl7cmV0dXJuIG4mJihuLl9fdj1udWxsLG4uX19rPW4uX19rJiZuLl9fay5tYXAoZnVuY3Rpb24obil7cmV0dXJuIFUobix0LGUpfSksbi5fX2MmJm4uX19jLl9fUD09PXQmJihuLl9fZSYmZS5pbnNlcnRCZWZvcmUobi5fX2Usbi5fX2QpLG4uX19jLl9fZT0hMCxuLl9fYy5fX1A9ZSkpLG59ZnVuY3Rpb24gRCgpe3RoaXMuX191PTAsdGhpcy50PW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBGKG4pe3ZhciB0PW4uX18uX19jO3JldHVybiB0JiZ0Ll9fYSYmdC5fX2Eobil9ZnVuY3Rpb24gTShuKXt2YXIgZSxyLHU7ZnVuY3Rpb24gbyhvKXtpZihlfHwoZT1uKCkpLnRoZW4oZnVuY3Rpb24obil7cj1uLmRlZmF1bHR8fG59LGZ1bmN0aW9uKG4pe3U9bn0pLHUpdGhyb3cgdTtpZighcil0aHJvdyBlO3JldHVybiB0KHIsbyl9cmV0dXJuIG8uZGlzcGxheU5hbWU9XCJMYXp5XCIsby5fX2Y9ITAsb31mdW5jdGlvbiBWKCl7dGhpcy51PW51bGwsdGhpcy5vPW51bGx9ZS51bm1vdW50PWZ1bmN0aW9uKG4pe3ZhciB0PW4uX19jO3QmJnQuX19SJiZ0Ll9fUigpLHQmJiEwPT09bi5fX2gmJihuLnR5cGU9bnVsbCksSSYmSShuKX0sKEQucHJvdG90eXBlPW5ldyBuKS5fX2M9ZnVuY3Rpb24obix0KXt2YXIgZT10Ll9fYyxyPXRoaXM7bnVsbD09ci50JiYoci50PVtdKSxyLnQucHVzaChlKTt2YXIgdT1GKHIuX192KSxvPSExLGk9ZnVuY3Rpb24oKXtvfHwobz0hMCxlLl9fUj1udWxsLHU/dShsKTpsKCkpfTtlLl9fUj1pO3ZhciBsPWZ1bmN0aW9uKCl7aWYoIS0tci5fX3Upe2lmKHIuc3RhdGUuX19hKXt2YXIgbj1yLnN0YXRlLl9fYTtyLl9fdi5fX2tbMF09VShuLG4uX19jLl9fUCxuLl9fYy5fX08pfXZhciB0O2ZvcihyLnNldFN0YXRlKHtfX2E6ci5fX2I9bnVsbH0pO3Q9ci50LnBvcCgpOyl0LmZvcmNlVXBkYXRlKCl9fSxjPSEwPT09dC5fX2g7ci5fX3UrK3x8Y3x8ci5zZXRTdGF0ZSh7X19hOnIuX19iPXIuX192Ll9fa1swXX0pLG4udGhlbihpLGkpfSxELnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMudD1bXX0sRC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKG4sZSl7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxvPXRoaXMuX192Ll9fa1swXS5fX2M7dGhpcy5fX3YuX19rWzBdPUwodGhpcy5fX2IscixvLl9fTz1vLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgaT1lLl9fYSYmdCh1LG51bGwsbi5mYWxsYmFjayk7cmV0dXJuIGkmJihpLl9faD1udWxsKSxbdCh1LG51bGwsZS5fX2E/bnVsbDpuLmNoaWxkcmVuKSxpXX07dmFyIFc9ZnVuY3Rpb24obix0LGUpe2lmKCsrZVsxXT09PWVbMF0mJm4uby5kZWxldGUodCksbi5wcm9wcy5yZXZlYWxPcmRlciYmKFwidFwiIT09bi5wcm9wcy5yZXZlYWxPcmRlclswXXx8IW4uby5zaXplKSlmb3IoZT1uLnU7ZTspe2Zvcig7ZS5sZW5ndGg+MzspZS5wb3AoKSgpO2lmKGVbMV08ZVswXSlicmVhaztuLnU9ZT1lWzJdfX07ZnVuY3Rpb24gUChuKXtyZXR1cm4gdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gbi5jb250ZXh0fSxuLmNoaWxkcmVufWZ1bmN0aW9uIGoobil7dmFyIGU9dGhpcyxyPW4uaTtlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7byhudWxsLGUubCksZS5sPW51bGwsZS5pPW51bGx9LGUuaSYmZS5pIT09ciYmZS5jb21wb25lbnRXaWxsVW5tb3VudCgpLG4uX192PyhlLmx8fChlLmk9cixlLmw9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpyLGNoaWxkTm9kZXM6W10sYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24obil7dGhpcy5jaGlsZE5vZGVzLnB1c2gobiksZS5pLmFwcGVuZENoaWxkKG4pfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24obix0KXt0aGlzLmNoaWxkTm9kZXMucHVzaChuKSxlLmkuYXBwZW5kQ2hpbGQobil9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKG4pe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2Yobik+Pj4xLDEpLGUuaS5yZW1vdmVDaGlsZChuKX19KSxvKHQoUCx7Y29udGV4dDplLmNvbnRleHR9LG4uX192KSxlLmwpKTplLmwmJmUuY29tcG9uZW50V2lsbFVubW91bnQoKX1mdW5jdGlvbiB6KG4sZSl7dmFyIHI9dChqLHtfX3Y6bixpOmV9KTtyZXR1cm4gci5jb250YWluZXJJbmZvPWUscn0oVi5wcm90b3R5cGU9bmV3IG4pLl9fYT1mdW5jdGlvbihuKXt2YXIgdD10aGlzLGU9Rih0Ll9fdikscj10Lm8uZ2V0KG4pO3JldHVybiByWzBdKyssZnVuY3Rpb24odSl7dmFyIG89ZnVuY3Rpb24oKXt0LnByb3BzLnJldmVhbE9yZGVyPyhyLnB1c2godSksVyh0LG4scikpOnUoKX07ZT9lKG8pOm8oKX19LFYucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihuKXt0aGlzLnU9bnVsbCx0aGlzLm89bmV3IE1hcDt2YXIgdD1yKG4uY2hpbGRyZW4pO24ucmV2ZWFsT3JkZXImJlwiYlwiPT09bi5yZXZlYWxPcmRlclswXSYmdC5yZXZlcnNlKCk7Zm9yKHZhciBlPXQubGVuZ3RoO2UtLTspdGhpcy5vLnNldCh0W2VdLHRoaXMudT1bMSwwLHRoaXMudV0pO3JldHVybiBuLmNoaWxkcmVufSxWLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9Vi5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuby5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7VyhuLGUsdCl9KX07dmFyIEI9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcihcInJlYWN0LmVsZW1lbnRcIil8fDYwMTAzLEg9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLFo9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxZPS9bQS1aMC05XS9nLCQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50LHE9ZnVuY3Rpb24obil7cmV0dXJuKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2woKT8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChuKX07ZnVuY3Rpb24gRyhuLHQsZSl7cmV0dXJuIG51bGw9PXQuX19rJiYodC50ZXh0Q29udGVudD1cIlwiKSxvKG4sdCksXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZSgpLG4/bi5fX2M6bnVsbH1mdW5jdGlvbiBKKG4sdCxlKXtyZXR1cm4gaShuLHQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJmUoKSxuP24uX19jOm51bGx9bi5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxbXCJjb21wb25lbnRXaWxsTW91bnRcIixcImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNcIixcImNvbXBvbmVudFdpbGxVcGRhdGVcIl0uZm9yRWFjaChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzW1wiVU5TQUZFX1wiK3RdfSxzZXQ6ZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsdCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX19KX0pO3ZhciBLPWUuZXZlbnQ7ZnVuY3Rpb24gUSgpe31mdW5jdGlvbiBYKCl7cmV0dXJuIHRoaXMuY2FuY2VsQnViYmxlfWZ1bmN0aW9uIG5uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH1lLmV2ZW50PWZ1bmN0aW9uKG4pe3JldHVybiBLJiYobj1LKG4pKSxuLnBlcnNpc3Q9USxuLmlzUHJvcGFnYXRpb25TdG9wcGVkPVgsbi5pc0RlZmF1bHRQcmV2ZW50ZWQ9bm4sbi5uYXRpdmVFdmVudD1ufTt2YXIgdG4sZW49e2VudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0scm49ZS52bm9kZTtlLnZub2RlPWZ1bmN0aW9uKG4pe1wic3RyaW5nXCI9PXR5cGVvZiBuLnR5cGUmJmZ1bmN0aW9uKG4pe3ZhciB0PW4ucHJvcHMsZT1uLnR5cGUsdT17fTtmb3IodmFyIG8gaW4gdCl7dmFyIGk9dFtvXTtpZighKFwidmFsdWVcIj09PW8mJlwiZGVmYXVsdFZhbHVlXCJpbiB0JiZudWxsPT1pfHwkJiZcImNoaWxkcmVuXCI9PT1vJiZcIm5vc2NyaXB0XCI9PT1lfHxcImNsYXNzXCI9PT1vfHxcImNsYXNzTmFtZVwiPT09bykpe3ZhciBsPW8udG9Mb3dlckNhc2UoKTtcImRlZmF1bHRWYWx1ZVwiPT09byYmXCJ2YWx1ZVwiaW4gdCYmbnVsbD09dC52YWx1ZT9vPVwidmFsdWVcIjpcImRvd25sb2FkXCI9PT1vJiYhMD09PWk/aT1cIlwiOlwib25kb3VibGVjbGlja1wiPT09bD9vPVwib25kYmxjbGlja1wiOlwib25jaGFuZ2VcIiE9PWx8fFwiaW5wdXRcIiE9PWUmJlwidGV4dGFyZWFcIiE9PWV8fHEodC50eXBlKT9cIm9uZm9jdXNcIj09PWw/bz1cIm9uZm9jdXNpblwiOlwib25ibHVyXCI9PT1sP289XCJvbmZvY3Vzb3V0XCI6Wi50ZXN0KG8pP289bDotMT09PWUuaW5kZXhPZihcIi1cIikmJkgudGVzdChvKT9vPW8ucmVwbGFjZShZLFwiLSQmXCIpLnRvTG93ZXJDYXNlKCk6bnVsbD09PWkmJihpPXZvaWQgMCk6bD1vPVwib25pbnB1dFwiLFwib25pbnB1dFwiPT09bCYmdVtvPWxdJiYobz1cIm9uaW5wdXRDYXB0dXJlXCIpLHVbb109aX19XCJzZWxlY3RcIj09ZSYmdS5tdWx0aXBsZSYmQXJyYXkuaXNBcnJheSh1LnZhbHVlKSYmKHUudmFsdWU9cih0LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe24ucHJvcHMuc2VsZWN0ZWQ9LTEhPXUudmFsdWUuaW5kZXhPZihuLnByb3BzLnZhbHVlKX0pKSxcInNlbGVjdFwiPT1lJiZudWxsIT11LmRlZmF1bHRWYWx1ZSYmKHUudmFsdWU9cih0LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe24ucHJvcHMuc2VsZWN0ZWQ9dS5tdWx0aXBsZT8tMSE9dS5kZWZhdWx0VmFsdWUuaW5kZXhPZihuLnByb3BzLnZhbHVlKTp1LmRlZmF1bHRWYWx1ZT09bi5wcm9wcy52YWx1ZX0pKSx0LmNsYXNzJiYhdC5jbGFzc05hbWU/KHUuY2xhc3M9dC5jbGFzcyxPYmplY3QuZGVmaW5lUHJvcGVydHkodSxcImNsYXNzTmFtZVwiLGVuKSk6KHQuY2xhc3NOYW1lJiYhdC5jbGFzc3x8dC5jbGFzcyYmdC5jbGFzc05hbWUpJiYodS5jbGFzcz11LmNsYXNzTmFtZT10LmNsYXNzTmFtZSksbi5wcm9wcz11fShuKSxuLiQkdHlwZW9mPUIscm4mJnJuKG4pfTt2YXIgdW49ZS5fX3I7ZS5fX3I9ZnVuY3Rpb24obil7dW4mJnVuKG4pLHRuPW4uX19jfTt2YXIgb249ZS5kaWZmZWQ7ZS5kaWZmZWQ9ZnVuY3Rpb24obil7b24mJm9uKG4pO3ZhciB0PW4ucHJvcHMsZT1uLl9fZTtudWxsIT1lJiZcInRleHRhcmVhXCI9PT1uLnR5cGUmJlwidmFsdWVcImluIHQmJnQudmFsdWUhPT1lLnZhbHVlJiYoZS52YWx1ZT1udWxsPT10LnZhbHVlP1wiXCI6dC52YWx1ZSksdG49bnVsbH07dmFyIGxuPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOntjdXJyZW50OntyZWFkQ29udGV4dDpmdW5jdGlvbihuKXtyZXR1cm4gdG4uX19uW24uX19jXS5wcm9wcy52YWx1ZX19fX0sY249XCIxNy4wLjJcIjtmdW5jdGlvbiBmbihuKXtyZXR1cm4gdC5iaW5kKG51bGwsbil9ZnVuY3Rpb24gYW4obil7cmV0dXJuISFuJiZuLiQkdHlwZW9mPT09Qn1mdW5jdGlvbiBzbihuKXtyZXR1cm4gYW4obik/Zi5hcHBseShudWxsLGFyZ3VtZW50cyk6bn1mdW5jdGlvbiBobihuKXtyZXR1cm4hIW4uX19rJiYobyhudWxsLG4pLCEwKX1mdW5jdGlvbiB2bihuKXtyZXR1cm4gbiYmKG4uYmFzZXx8MT09PW4ubm9kZVR5cGUmJm4pfHxudWxsfXZhciBkbj1mdW5jdGlvbihuLHQpe3JldHVybiBuKHQpfSxwbj1mdW5jdGlvbihuLHQpe3JldHVybiBuKHQpfSxtbj11O2Z1bmN0aW9uIHluKG4pe24oKX1mdW5jdGlvbiBfbihuKXtyZXR1cm4gbn1mdW5jdGlvbiBibigpe3JldHVyblshMSx5bl19dmFyIFNuPWQ7ZnVuY3Rpb24gZ24obix0KXt2YXIgZT10KCkscj1hKHtoOntfXzplLHY6dH19KSx1PXJbMF0uaCxvPXJbMV07cmV0dXJuIGQoZnVuY3Rpb24oKXt1Ll9fPWUsdS52PXQsRSh1Ll9fLHQoKSl8fG8oe2g6dX0pfSxbbixlLHRdKSx2KGZ1bmN0aW9uKCl7cmV0dXJuIEUodS5fXyx1LnYoKSl8fG8oe2g6dX0pLG4oZnVuY3Rpb24oKXtFKHUuX18sdS52KCkpfHxvKHtoOnV9KX0pfSxbbl0pLGV9dmFyIENuPXt1c2VTdGF0ZTphLHVzZUlkOnMsdXNlUmVkdWNlcjpoLHVzZUVmZmVjdDp2LHVzZUxheW91dEVmZmVjdDpkLHVzZUluc2VydGlvbkVmZmVjdDpTbix1c2VUcmFuc2l0aW9uOmJuLHVzZURlZmVycmVkVmFsdWU6X24sdXNlU3luY0V4dGVybmFsU3RvcmU6Z24sc3RhcnRUcmFuc2l0aW9uOnluLHVzZVJlZjpwLHVzZUltcGVyYXRpdmVIYW5kbGU6bSx1c2VNZW1vOnksdXNlQ2FsbGJhY2s6Xyx1c2VDb250ZXh0OmIsdXNlRGVidWdWYWx1ZTpTLHZlcnNpb246XCIxNy4wLjJcIixDaGlsZHJlbjpPLHJlbmRlcjpHLGh5ZHJhdGU6Six1bm1vdW50Q29tcG9uZW50QXROb2RlOmhuLGNyZWF0ZVBvcnRhbDp6LGNyZWF0ZUVsZW1lbnQ6dCxjcmVhdGVDb250ZXh0OmwsY3JlYXRlRmFjdG9yeTpmbixjbG9uZUVsZW1lbnQ6c24sY3JlYXRlUmVmOmMsRnJhZ21lbnQ6dSxpc1ZhbGlkRWxlbWVudDphbixmaW5kRE9NTm9kZTp2bixDb21wb25lbnQ6bixQdXJlQ29tcG9uZW50OncsbWVtbzp4LGZvcndhcmRSZWY6ayxmbHVzaFN5bmM6cG4sdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM6ZG4sU3RyaWN0TW9kZTptbixTdXNwZW5zZTpELFN1c3BlbnNlTGlzdDpWLGxhenk6TSxfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDpsbn07ZXhwb3J0e08gYXMgQ2hpbGRyZW4sdyBhcyBQdXJlQ29tcG9uZW50LG1uIGFzIFN0cmljdE1vZGUsRCBhcyBTdXNwZW5zZSxWIGFzIFN1c3BlbnNlTGlzdCxsbiBhcyBfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCxzbiBhcyBjbG9uZUVsZW1lbnQsZm4gYXMgY3JlYXRlRmFjdG9yeSx6IGFzIGNyZWF0ZVBvcnRhbCxDbiBhcyBkZWZhdWx0LHZuIGFzIGZpbmRET01Ob2RlLHBuIGFzIGZsdXNoU3luYyxrIGFzIGZvcndhcmRSZWYsSiBhcyBoeWRyYXRlLGFuIGFzIGlzVmFsaWRFbGVtZW50LE0gYXMgbGF6eSx4IGFzIG1lbW8sRyBhcyByZW5kZXIseW4gYXMgc3RhcnRUcmFuc2l0aW9uLGhuIGFzIHVubW91bnRDb21wb25lbnRBdE5vZGUsZG4gYXMgdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMsX24gYXMgdXNlRGVmZXJyZWRWYWx1ZSxTbiBhcyB1c2VJbnNlcnRpb25FZmZlY3QsZ24gYXMgdXNlU3luY0V4dGVybmFsU3RvcmUsYm4gYXMgdXNlVHJhbnNpdGlvbixjbiBhcyB2ZXJzaW9ufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbXBhdC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/preact/compat/dist/compat.module.js\n")); - -/***/ }), - -/***/ "./node_modules/preact/dist/preact.module.js": -/*!***************************************************!*\ - !*** ./node_modules/preact/dist/preact.module.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Component: function() { return /* binding */ b; },\n/* harmony export */ Fragment: function() { return /* binding */ k; },\n/* harmony export */ cloneElement: function() { return /* binding */ F; },\n/* harmony export */ createContext: function() { return /* binding */ G; },\n/* harmony export */ createElement: function() { return /* binding */ y; },\n/* harmony export */ createRef: function() { return /* binding */ _; },\n/* harmony export */ h: function() { return /* binding */ y; },\n/* harmony export */ hydrate: function() { return /* binding */ E; },\n/* harmony export */ isValidElement: function() { return /* binding */ t; },\n/* harmony export */ options: function() { return /* binding */ l; },\n/* harmony export */ render: function() { return /* binding */ D; },\n/* harmony export */ toChildArray: function() { return /* binding */ S; }\n/* harmony export */ });\nvar n,l,u,t,i,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function v(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?g(n):null}function m(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return m(n)}}function w(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!x.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(x)}function x(){var n,l,u,t,o,r,e,c,s;for(i.sort(f);n=i.shift();)n.__d&&(l=i.length,t=void 0,o=void 0,r=void 0,c=(e=(u=n).__v).__e,(s=u.__P)&&(t=[],o=[],(r=v({},e)).__v=e.__v+1,L(s,e,r,u.__n,void 0!==s.ownerSVGElement,null!=e.__h?[c]:null,t,null==c?g(e):c,e.__h,o),M(t,e,o),e.__e!=c&&m(e)),i.length>l&&i.sort(f));x.__r=0}function P(n,l,u,t,i,o,r,f,e,a,v){var p,y,_,b,g,m,w,x,P,S,H=0,I=t&&t.__k||s,T=I.length,j=T,z=l.length;for(u.__k=[],p=0;p<z;p++)null!=(b=u.__k[p]=null==(b=l[p])||\"boolean\"==typeof b||\"function\"==typeof b?null:\"string\"==typeof b||\"number\"==typeof b||\"bigint\"==typeof b?d(null,b,null,null,b):h(b)?d(k,{children:b},null,null,null):b.__b>0?d(b.type,b.props,b.key,b.ref?b.ref:null,b.__v):b)&&(b.__=u,b.__b=u.__b+1,-1===(x=A(b,I,w=p+H,j))?_=c:(_=I[x]||c,I[x]=void 0,j--),L(n,b,_,i,o,r,f,e,a,v),g=b.__e,(y=b.ref)&&_.ref!=y&&(_.ref&&O(_.ref,null,b),v.push(y,b.__c||g,b)),null!=g&&(null==m&&(m=g),S=!(P=_===c||null===_.__v)&&x===w,P?-1==x&&H--:x!==w&&(x===w+1?(H++,S=!0):x>w?j>z-w?(H+=x-w,S=!0):H--:H=x<w&&x==w-1?x-w:0),w=p+H,S=S||x==p&&!P,\"function\"!=typeof b.type||x===w&&_.__k!==b.__k?\"function\"==typeof b.type||S?void 0!==b.__d?(e=b.__d,b.__d=void 0):e=g.nextSibling:e=$(n,g,e):e=C(b,e,n),\"function\"==typeof u.type&&(u.__d=e)));for(u.__e=m,p=T;p--;)null!=I[p]&&(\"function\"==typeof u.type&&null!=I[p].__e&&I[p].__e==u.__d&&(u.__d=I[p].__e.nextSibling),q(I[p],I[p]))}function C(n,l,u){for(var t,i=n.__k,o=0;i&&o<i.length;o++)(t=i[o])&&(t.__=n,l=\"function\"==typeof t.type?C(t,l,u):$(u,t.__e,l));return l}function S(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(h(n)?n.some(function(n){S(n,l)}):l.push(n)),l}function $(n,l,u){return null==u||u.parentNode!==n?n.insertBefore(l,null):l==u&&null!=l.parentNode||n.insertBefore(l,u),l.nextSibling}function A(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type)return u;if(t>(null!=e?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&i==e.key&&o===e.type)return r;r--}if(f<l.length){if((e=l[f])&&i==e.key&&o===e.type)return f;f++}}return-1}function H(n,l,u,t,i){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||T(n,o,null,u[o],t);for(o in l)i&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||T(n,o,l[o],u[o],t)}function I(n,l,u){\"-\"===l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||a.test(l)?u:u+\"px\"}function T(n,l,u,t,i){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||I(n.style,l,\"\");if(u)for(l in u)t&&u[l]===t[l]||I(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t||n.addEventListener(l,o?z:j,o):n.removeEventListener(l,o?z:j,o);else if(\"dangerouslySetInnerHTML\"!==l){if(i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!==l&&\"height\"!==l&&\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&\"rowSpan\"!==l&&\"colSpan\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u))}}function j(n){return this.l[n.type+!1](l.event?l.event(n):n)}function z(n){return this.l[n.type+!0](l.event?l.event(n):n)}function L(n,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,g,m,w,x,C,S,$,A,H,I,T=u.type;if(void 0!==u.constructor)return null;null!=t.__h&&(c=t.__h,e=u.__e=t.__e,u.__h=null,r=[e]),(a=l.__b)&&a(u);try{n:if(\"function\"==typeof T){if(w=u.props,x=(a=T.contextType)&&i[a.__c],C=a?x?x.props.value:a.__:i,t.__c?m=(p=u.__c=t.__c).__=p.__E:(\"prototype\"in T&&T.prototype.render?u.__c=p=new T(w,C):(u.__c=p=new b(w,C),p.constructor=T,p.render=B),x&&x.sub(p),p.props=w,p.state||(p.state={}),p.context=C,p.__n=i,y=p.__d=!0,p.__h=[],p._sb=[]),null==p.__s&&(p.__s=p.state),null!=T.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=v({},p.__s)),v(p.__s,T.getDerivedStateFromProps(w,p.__s))),d=p.props,_=p.state,p.__v=u,y)null==T.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(null==T.getDerivedStateFromProps&&w!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(w,C),!p.__e&&(null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(w,p.__s,C)||u.__v===t.__v)){for(u.__v!==t.__v&&(p.props=w,p.state=p.__s,p.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u)}),S=0;S<p._sb.length;S++)p.__h.push(p._sb[S]);p._sb=[],p.__h.length&&f.push(p);break n}null!=p.componentWillUpdate&&p.componentWillUpdate(w,p.__s,C),null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,_,g)})}if(p.context=C,p.props=w,p.__P=n,p.__e=!1,$=l.__r,A=0,\"prototype\"in T&&T.prototype.render){for(p.state=p.__s,p.__d=!1,$&&$(u),a=p.render(p.props,p.state,p.context),H=0;H<p._sb.length;H++)p.__h.push(p._sb[H]);p._sb=[]}else do{p.__d=!1,$&&$(u),a=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++A<25);p.state=p.__s,null!=p.getChildContext&&(i=v(v({},i),p.getChildContext())),y||null==p.getSnapshotBeforeUpdate||(g=p.getSnapshotBeforeUpdate(d,_)),P(n,h(I=null!=a&&a.type===k&&null==a.key?a.props.children:a)?I:[I],u,t,i,o,r,f,e,c,s),p.base=u.__e,u.__h=null,p.__h.length&&f.push(p),m&&(p.__E=p.__=null)}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=N(t.__e,u,t,i,o,r,f,c,s);(a=l.diffed)&&a(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,t)}}function M(n,u,t){for(var i=0;i<t.length;i++)O(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function N(l,u,t,i,o,r,f,e,s){var a,v,y,d=t.props,_=u.props,k=u.type,b=0;if(\"svg\"===k&&(o=!0),null!=r)for(;b<r.length;b++)if((a=r[b])&&\"setAttribute\"in a==!!k&&(k?a.localName===k:3===a.nodeType)){l=a,r[b]=null;break}if(null==l){if(null===k)return document.createTextNode(_);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",k):document.createElement(k,_.is&&_),r=null,e=!1}if(null===k)d===_||e&&l.data===_||(l.data=_);else{if(r=r&&n.call(l.childNodes),v=(d=t.props||c).dangerouslySetInnerHTML,y=_.dangerouslySetInnerHTML,!e){if(null!=r)for(d={},b=0;b<l.attributes.length;b++)d[l.attributes[b].name]=l.attributes[b].value;(y||v)&&(y&&(v&&y.__html==v.__html||y.__html===l.innerHTML)||(l.innerHTML=y&&y.__html||\"\"))}if(H(l,_,d,o,e),y)u.__k=[];else if(P(l,h(b=u.props.children)?b:[b],u,t,i,o&&\"foreignObject\"!==k,r,f,r?r[0]:t.__k&&g(t,0),e,s),null!=r)for(b=r.length;b--;)null!=r[b]&&p(r[b]);e||(\"value\"in _&&void 0!==(b=_.value)&&(b!==l.value||\"progress\"===k&&!b||\"option\"===k&&b!==d.value)&&T(l,\"value\",b,d.value,!1),\"checked\"in _&&void 0!==(b=_.checked)&&b!==l.checked&&T(l,\"checked\",b,d.checked,!1))}return l}function O(n,u,t){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,t)}}function q(n,u,t){var i,o;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||O(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null,n.__c=void 0}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&q(i[o],u,t||\"function\"!=typeof n.type);t||null==n.__e||p(n.__e),n.__=n.__e=n.__d=void 0}function B(n,l,u){return this.constructor(n,u)}function D(u,t,i){var o,r,f,e;l.__&&l.__(u,t),r=(o=\"function\"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],L(t,u=(!o&&i||t).__k=y(k,null,[u]),r||c,c,void 0!==t.ownerSVGElement,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),M(f,u,e)}function E(n,l){D(n,l,E)}function F(l,u,t){var i,o,r,f,e=v({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),d(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v({},this.state),\"function\"==typeof n&&(n=n(v({},u),this.props)),n&&v(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;\n//# sourceMappingURL=preact.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJlYWN0L2Rpc3QvcHJlYWN0Lm1vZHVsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEIsNEZBQTRGLGdCQUFnQix5QkFBeUIsU0FBUyxjQUFjLG1CQUFtQixvQkFBb0Isa0JBQWtCLGVBQWUscURBQXFELHdMQUF3TCx1QkFBdUIsc0JBQXNCLE9BQU8sOEhBQThILDRDQUE0QyxhQUFhLE9BQU8sY0FBYyxjQUFjLGtCQUFrQixnQkFBZ0IsNEJBQTRCLGdCQUFnQiwwREFBMEQsVUFBVSxlQUFlLG9EQUFvRCwwQ0FBMEMsY0FBYyxRQUFRLGdDQUFnQyw4QkFBOEIsZUFBZSx3Q0FBd0MsdUJBQXVCLE1BQU0sYUFBYSxjQUFjLG9HQUFvRyxhQUFhLHNCQUFzQixjQUFjLFlBQVksZ0dBQWdHLHlKQUF5SixRQUFRLGtDQUFrQyxvRUFBb0UsaUJBQWlCLElBQUksZ0xBQWdMLFdBQVcsb21CQUFvbUIsZ0JBQWdCLElBQUkscUhBQXFILGtCQUFrQixzQkFBc0IsY0FBYyx5RUFBeUUsU0FBUyxnQkFBZ0Isc0VBQXNFLE9BQU8sZUFBZSxrQkFBa0Isb0hBQW9ILG9CQUFvQix3Q0FBd0MsOENBQThDLHdCQUF3QixpQkFBaUIsRUFBRSxTQUFTLDJDQUEyQyxJQUFJLGVBQWUsMkNBQTJDLEtBQUssU0FBUyxzQkFBc0IsTUFBTSxpRUFBaUUsOEhBQThILGtCQUFrQixnR0FBZ0csc0JBQXNCLE1BQU0seURBQXlELEtBQUssc0ZBQXNGLGtEQUFrRCx3SUFBd0ksaUZBQWlGLHVDQUF1QywwREFBMEQsZ0pBQWdKLGtCQUFrQixRQUFRLFVBQVUsOEZBQThGLGNBQWMsK0NBQStDLGNBQWMsK0NBQStDLGdDQUFnQywyQ0FBMkMsc0NBQXNDLHNFQUFzRSxJQUFJLDJCQUEyQix5UEFBeVAsK0lBQStJLHFPQUFxTyxLQUFLLGlOQUFpTix3R0FBd0csWUFBWSxNQUFNLGVBQWUseUJBQXlCLGlDQUFpQyxRQUFRLGdIQUFnSCw0QkFBNEIsRUFBRSwyRkFBMkYsNkVBQTZFLGVBQWUseUJBQXlCLFNBQVMsUUFBUSxxRUFBcUUscUJBQXFCLGdEQUFnRCw0UEFBNFAscUZBQXFGLG1CQUFtQixTQUFTLGdGQUFnRixrQkFBa0IsWUFBWSxXQUFXLDBCQUEwQixxQ0FBcUMsSUFBSSxvQ0FBb0MsVUFBVSxFQUFFLFNBQVMsZ0JBQWdCLEVBQUUsOEJBQThCLDJDQUEyQyxrQ0FBa0MsV0FBVyw4RUFBOEUsY0FBYyxNQUFNLFlBQVksOENBQThDLDJHQUEyRyw2Q0FBNkMsS0FBSyxzR0FBc0csbUJBQW1CLEtBQUssc0JBQXNCLGtEQUFrRCw0RkFBNEYsMkJBQTJCLDBIQUEwSCxJQUFJLHFCQUFxQixvTkFBb04sU0FBUyxrQkFBa0IsSUFBSSxzQ0FBc0MsU0FBUyxZQUFZLGtCQUFrQixRQUFRLG1HQUFtRyw4QkFBOEIseUJBQXlCLFNBQVMsV0FBVywrQkFBK0IsbUJBQW1CLFdBQVcsaURBQWlELGlEQUFpRCxrQkFBa0IsNkJBQTZCLGtCQUFrQixZQUFZLG9QQUFvUCxnQkFBZ0IsU0FBUyxrQkFBa0Isa0JBQWtCLFVBQVUseUlBQXlJLG9IQUFvSCxnQkFBZ0IsT0FBTyw2Q0FBNkMscUJBQXFCLHNCQUFzQixRQUFRLHdDQUF3QywwQ0FBMEMsU0FBUyx3Q0FBd0MsK0NBQStDLGNBQWMsRUFBRSxzQkFBc0IsVUFBVSw2QkFBNkIsa0NBQWtDLHVDQUF1QyxlQUFlLDhDQUE4QyxhQUFhLHNCQUFzQixjQUFjLE9BQU8seUJBQXlCLG1LQUFtSyw0QkFBNEIsU0FBUyxJQUFJLFNBQVMsbUJBQW1CLHVDQUF1QyxvQ0FBb0MsTUFBTSw4REFBOEQsNENBQTRDLDRFQUE0RSxxQ0FBcUMsb0RBQW9ELGtJQUFrSSwyQkFBMkIsYUFBNE07QUFDNStVIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvZGlzdC9wcmVhY3QubW9kdWxlLmpzPzdlY2EiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG4sbCx1LHQsaSxvLHIsZixlLGM9e30scz1bXSxhPS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksaD1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHYobixsKXtmb3IodmFyIHUgaW4gbCluW3VdPWxbdV07cmV0dXJuIG59ZnVuY3Rpb24gcChuKXt2YXIgbD1uLnBhcmVudE5vZGU7bCYmbC5yZW1vdmVDaGlsZChuKX1mdW5jdGlvbiB5KGwsdSx0KXt2YXIgaSxvLHIsZj17fTtmb3IociBpbiB1KVwia2V5XCI9PXI/aT11W3JdOlwicmVmXCI9PXI/bz11W3JdOmZbcl09dVtyXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihmLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGwmJm51bGwhPWwuZGVmYXVsdFByb3BzKWZvcihyIGluIGwuZGVmYXVsdFByb3BzKXZvaWQgMD09PWZbcl0mJihmW3JdPWwuZGVmYXVsdFByb3BzW3JdKTtyZXR1cm4gZChsLGYsaSxvLG51bGwpfWZ1bmN0aW9uIGQobix0LGksbyxyKXt2YXIgZj17dHlwZTpuLHByb3BzOnQsa2V5OmkscmVmOm8sX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2Q6dm9pZCAwLF9fYzpudWxsLF9faDpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6bnVsbD09cj8rK3U6cn07cmV0dXJuIG51bGw9PXImJm51bGwhPWwudm5vZGUmJmwudm5vZGUoZiksZn1mdW5jdGlvbiBfKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19ZnVuY3Rpb24gayhuKXtyZXR1cm4gbi5jaGlsZHJlbn1mdW5jdGlvbiBiKG4sbCl7dGhpcy5wcm9wcz1uLHRoaXMuY29udGV4dD1sfWZ1bmN0aW9uIGcobixsKXtpZihudWxsPT1sKXJldHVybiBuLl9fP2cobi5fXyxuLl9fLl9fay5pbmRleE9mKG4pKzEpOm51bGw7Zm9yKHZhciB1O2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odT1uLl9fa1tsXSkmJm51bGwhPXUuX19lKXJldHVybiB1Ll9fZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLnR5cGU/ZyhuKTpudWxsfWZ1bmN0aW9uIG0obil7dmFyIGwsdTtpZihudWxsIT0obj1uLl9fKSYmbnVsbCE9bi5fX2Mpe2ZvcihuLl9fZT1uLl9fYy5iYXNlPW51bGwsbD0wO2w8bi5fX2subGVuZ3RoO2wrKylpZihudWxsIT0odT1uLl9fa1tsXSkmJm51bGwhPXUuX19lKXtuLl9fZT1uLl9fYy5iYXNlPXUuX19lO2JyZWFrfXJldHVybiBtKG4pfX1mdW5jdGlvbiB3KG4peyghbi5fX2QmJihuLl9fZD0hMCkmJmkucHVzaChuKSYmIXguX19yKyt8fG8hPT1sLmRlYm91bmNlUmVuZGVyaW5nKSYmKChvPWwuZGVib3VuY2VSZW5kZXJpbmcpfHxyKSh4KX1mdW5jdGlvbiB4KCl7dmFyIG4sbCx1LHQsbyxyLGUsYyxzO2ZvcihpLnNvcnQoZik7bj1pLnNoaWZ0KCk7KW4uX19kJiYobD1pLmxlbmd0aCx0PXZvaWQgMCxvPXZvaWQgMCxyPXZvaWQgMCxjPShlPSh1PW4pLl9fdikuX19lLChzPXUuX19QKSYmKHQ9W10sbz1bXSwocj12KHt9LGUpKS5fX3Y9ZS5fX3YrMSxMKHMsZSxyLHUuX19uLHZvaWQgMCE9PXMub3duZXJTVkdFbGVtZW50LG51bGwhPWUuX19oP1tjXTpudWxsLHQsbnVsbD09Yz9nKGUpOmMsZS5fX2gsbyksTSh0LGUsbyksZS5fX2UhPWMmJm0oZSkpLGkubGVuZ3RoPmwmJmkuc29ydChmKSk7eC5fX3I9MH1mdW5jdGlvbiBQKG4sbCx1LHQsaSxvLHIsZixlLGEsdil7dmFyIHAseSxfLGIsZyxtLHcseCxQLFMsSD0wLEk9dCYmdC5fX2t8fHMsVD1JLmxlbmd0aCxqPVQsej1sLmxlbmd0aDtmb3IodS5fX2s9W10scD0wO3A8ejtwKyspbnVsbCE9KGI9dS5fX2tbcF09bnVsbD09KGI9bFtwXSl8fFwiYm9vbGVhblwiPT10eXBlb2YgYnx8XCJmdW5jdGlvblwiPT10eXBlb2YgYj9udWxsOlwic3RyaW5nXCI9PXR5cGVvZiBifHxcIm51bWJlclwiPT10eXBlb2YgYnx8XCJiaWdpbnRcIj09dHlwZW9mIGI/ZChudWxsLGIsbnVsbCxudWxsLGIpOmgoYik/ZChrLHtjaGlsZHJlbjpifSxudWxsLG51bGwsbnVsbCk6Yi5fX2I+MD9kKGIudHlwZSxiLnByb3BzLGIua2V5LGIucmVmP2IucmVmOm51bGwsYi5fX3YpOmIpJiYoYi5fXz11LGIuX19iPXUuX19iKzEsLTE9PT0oeD1BKGIsSSx3PXArSCxqKSk/Xz1jOihfPUlbeF18fGMsSVt4XT12b2lkIDAsai0tKSxMKG4sYixfLGksbyxyLGYsZSxhLHYpLGc9Yi5fX2UsKHk9Yi5yZWYpJiZfLnJlZiE9eSYmKF8ucmVmJiZPKF8ucmVmLG51bGwsYiksdi5wdXNoKHksYi5fX2N8fGcsYikpLG51bGwhPWcmJihudWxsPT1tJiYobT1nKSxTPSEoUD1fPT09Y3x8bnVsbD09PV8uX192KSYmeD09PXcsUD8tMT09eCYmSC0tOnghPT13JiYoeD09PXcrMT8oSCsrLFM9ITApOng+dz9qPnotdz8oSCs9eC13LFM9ITApOkgtLTpIPXg8dyYmeD09dy0xP3gtdzowKSx3PXArSCxTPVN8fHg9PXAmJiFQLFwiZnVuY3Rpb25cIiE9dHlwZW9mIGIudHlwZXx8eD09PXcmJl8uX19rIT09Yi5fX2s/XCJmdW5jdGlvblwiPT10eXBlb2YgYi50eXBlfHxTP3ZvaWQgMCE9PWIuX19kPyhlPWIuX19kLGIuX19kPXZvaWQgMCk6ZT1nLm5leHRTaWJsaW5nOmU9JChuLGcsZSk6ZT1DKGIsZSxuKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB1LnR5cGUmJih1Ll9fZD1lKSkpO2Zvcih1Ll9fZT1tLHA9VDtwLS07KW51bGwhPUlbcF0mJihcImZ1bmN0aW9uXCI9PXR5cGVvZiB1LnR5cGUmJm51bGwhPUlbcF0uX19lJiZJW3BdLl9fZT09dS5fX2QmJih1Ll9fZD1JW3BdLl9fZS5uZXh0U2libGluZykscShJW3BdLElbcF0pKX1mdW5jdGlvbiBDKG4sbCx1KXtmb3IodmFyIHQsaT1uLl9fayxvPTA7aSYmbzxpLmxlbmd0aDtvKyspKHQ9aVtvXSkmJih0Ll9fPW4sbD1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0LnR5cGU/Qyh0LGwsdSk6JCh1LHQuX19lLGwpKTtyZXR1cm4gbH1mdW5jdGlvbiBTKG4sbCl7cmV0dXJuIGw9bHx8W10sbnVsbD09bnx8XCJib29sZWFuXCI9PXR5cGVvZiBufHwoaChuKT9uLnNvbWUoZnVuY3Rpb24obil7UyhuLGwpfSk6bC5wdXNoKG4pKSxsfWZ1bmN0aW9uICQobixsLHUpe3JldHVybiBudWxsPT11fHx1LnBhcmVudE5vZGUhPT1uP24uaW5zZXJ0QmVmb3JlKGwsbnVsbCk6bD09dSYmbnVsbCE9bC5wYXJlbnROb2RlfHxuLmluc2VydEJlZm9yZShsLHUpLGwubmV4dFNpYmxpbmd9ZnVuY3Rpb24gQShuLGwsdSx0KXt2YXIgaT1uLmtleSxvPW4udHlwZSxyPXUtMSxmPXUrMSxlPWxbdV07aWYobnVsbD09PWV8fGUmJmk9PWUua2V5JiZvPT09ZS50eXBlKXJldHVybiB1O2lmKHQ+KG51bGwhPWU/MTowKSlmb3IoO3I+PTB8fGY8bC5sZW5ndGg7KXtpZihyPj0wKXtpZigoZT1sW3JdKSYmaT09ZS5rZXkmJm89PT1lLnR5cGUpcmV0dXJuIHI7ci0tfWlmKGY8bC5sZW5ndGgpe2lmKChlPWxbZl0pJiZpPT1lLmtleSYmbz09PWUudHlwZSlyZXR1cm4gZjtmKyt9fXJldHVybi0xfWZ1bmN0aW9uIEgobixsLHUsdCxpKXt2YXIgbztmb3IobyBpbiB1KVwiY2hpbGRyZW5cIj09PW98fFwia2V5XCI9PT1vfHxvIGluIGx8fFQobixvLG51bGwsdVtvXSx0KTtmb3IobyBpbiBsKWkmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGxbb118fFwiY2hpbGRyZW5cIj09PW98fFwia2V5XCI9PT1vfHxcInZhbHVlXCI9PT1vfHxcImNoZWNrZWRcIj09PW98fHVbb109PT1sW29dfHxUKG4sbyxsW29dLHVbb10sdCl9ZnVuY3Rpb24gSShuLGwsdSl7XCItXCI9PT1sWzBdP24uc2V0UHJvcGVydHkobCxudWxsPT11P1wiXCI6dSk6bltsXT1udWxsPT11P1wiXCI6XCJudW1iZXJcIiE9dHlwZW9mIHV8fGEudGVzdChsKT91OnUrXCJweFwifWZ1bmN0aW9uIFQobixsLHUsdCxpKXt2YXIgbztuOmlmKFwic3R5bGVcIj09PWwpaWYoXCJzdHJpbmdcIj09dHlwZW9mIHUpbi5zdHlsZS5jc3NUZXh0PXU7ZWxzZXtpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmKG4uc3R5bGUuY3NzVGV4dD10PVwiXCIpLHQpZm9yKGwgaW4gdCl1JiZsIGluIHV8fEkobi5zdHlsZSxsLFwiXCIpO2lmKHUpZm9yKGwgaW4gdSl0JiZ1W2xdPT09dFtsXXx8SShuLnN0eWxlLGwsdVtsXSl9ZWxzZSBpZihcIm9cIj09PWxbMF0mJlwiblwiPT09bFsxXSlvPWwhPT0obD1sLnJlcGxhY2UoL0NhcHR1cmUkLyxcIlwiKSksbD1sLnRvTG93ZXJDYXNlKClpbiBuP2wudG9Mb3dlckNhc2UoKS5zbGljZSgyKTpsLnNsaWNlKDIpLG4ubHx8KG4ubD17fSksbi5sW2wrb109dSx1P3R8fG4uYWRkRXZlbnRMaXN0ZW5lcihsLG8/ejpqLG8pOm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihsLG8/ejpqLG8pO2Vsc2UgaWYoXCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiIT09bCl7aWYoaSlsPWwucmVwbGFjZSgveGxpbmsoSHw6aCkvLFwiaFwiKS5yZXBsYWNlKC9zTmFtZSQvLFwic1wiKTtlbHNlIGlmKFwid2lkdGhcIiE9PWwmJlwiaGVpZ2h0XCIhPT1sJiZcImhyZWZcIiE9PWwmJlwibGlzdFwiIT09bCYmXCJmb3JtXCIhPT1sJiZcInRhYkluZGV4XCIhPT1sJiZcImRvd25sb2FkXCIhPT1sJiZcInJvd1NwYW5cIiE9PWwmJlwiY29sU3BhblwiIT09bCYmbCBpbiBuKXRyeXtuW2xdPW51bGw9PXU/XCJcIjp1O2JyZWFrIG59Y2F0Y2gobil7fVwiZnVuY3Rpb25cIj09dHlwZW9mIHV8fChudWxsPT11fHwhMT09PXUmJlwiLVwiIT09bFs0XT9uLnJlbW92ZUF0dHJpYnV0ZShsKTpuLnNldEF0dHJpYnV0ZShsLHUpKX19ZnVuY3Rpb24gaihuKXtyZXR1cm4gdGhpcy5sW24udHlwZSshMV0obC5ldmVudD9sLmV2ZW50KG4pOm4pfWZ1bmN0aW9uIHoobil7cmV0dXJuIHRoaXMubFtuLnR5cGUrITBdKGwuZXZlbnQ/bC5ldmVudChuKTpuKX1mdW5jdGlvbiBMKG4sdSx0LGksbyxyLGYsZSxjLHMpe3ZhciBhLHAseSxkLF8sZyxtLHcseCxDLFMsJCxBLEgsSSxUPXUudHlwZTtpZih2b2lkIDAhPT11LmNvbnN0cnVjdG9yKXJldHVybiBudWxsO251bGwhPXQuX19oJiYoYz10Ll9faCxlPXUuX19lPXQuX19lLHUuX19oPW51bGwscj1bZV0pLChhPWwuX19iKSYmYSh1KTt0cnl7bjppZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBUKXtpZih3PXUucHJvcHMseD0oYT1ULmNvbnRleHRUeXBlKSYmaVthLl9fY10sQz1hP3g/eC5wcm9wcy52YWx1ZTphLl9fOmksdC5fX2M/bT0ocD11Ll9fYz10Ll9fYykuX189cC5fX0U6KFwicHJvdG90eXBlXCJpbiBUJiZULnByb3RvdHlwZS5yZW5kZXI/dS5fX2M9cD1uZXcgVCh3LEMpOih1Ll9fYz1wPW5ldyBiKHcsQykscC5jb25zdHJ1Y3Rvcj1ULHAucmVuZGVyPUIpLHgmJnguc3ViKHApLHAucHJvcHM9dyxwLnN0YXRlfHwocC5zdGF0ZT17fSkscC5jb250ZXh0PUMscC5fX249aSx5PXAuX19kPSEwLHAuX19oPVtdLHAuX3NiPVtdKSxudWxsPT1wLl9fcyYmKHAuX19zPXAuc3RhdGUpLG51bGwhPVQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiYocC5fX3M9PXAuc3RhdGUmJihwLl9fcz12KHt9LHAuX19zKSksdihwLl9fcyxULmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3LHAuX19zKSkpLGQ9cC5wcm9wcyxfPXAuc3RhdGUscC5fX3Y9dSx5KW51bGw9PVQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZudWxsIT1wLmNvbXBvbmVudFdpbGxNb3VudCYmcC5jb21wb25lbnRXaWxsTW91bnQoKSxudWxsIT1wLmNvbXBvbmVudERpZE1vdW50JiZwLl9faC5wdXNoKHAuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYobnVsbD09VC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMmJnchPT1kJiZudWxsIT1wLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnAuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3LEMpLCFwLl9fZSYmKG51bGwhPXAuc2hvdWxkQ29tcG9uZW50VXBkYXRlJiYhMT09PXAuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHcscC5fX3MsQyl8fHUuX192PT09dC5fX3YpKXtmb3IodS5fX3YhPT10Ll9fdiYmKHAucHJvcHM9dyxwLnN0YXRlPXAuX19zLHAuX19kPSExKSx1Ll9fZT10Ll9fZSx1Ll9faz10Ll9fayx1Ll9fay5mb3JFYWNoKGZ1bmN0aW9uKG4pe24mJihuLl9fPXUpfSksUz0wO1M8cC5fc2IubGVuZ3RoO1MrKylwLl9faC5wdXNoKHAuX3NiW1NdKTtwLl9zYj1bXSxwLl9faC5sZW5ndGgmJmYucHVzaChwKTticmVhayBufW51bGwhPXAuY29tcG9uZW50V2lsbFVwZGF0ZSYmcC5jb21wb25lbnRXaWxsVXBkYXRlKHcscC5fX3MsQyksbnVsbCE9cC5jb21wb25lbnREaWRVcGRhdGUmJnAuX19oLnB1c2goZnVuY3Rpb24oKXtwLmNvbXBvbmVudERpZFVwZGF0ZShkLF8sZyl9KX1pZihwLmNvbnRleHQ9QyxwLnByb3BzPXcscC5fX1A9bixwLl9fZT0hMSwkPWwuX19yLEE9MCxcInByb3RvdHlwZVwiaW4gVCYmVC5wcm90b3R5cGUucmVuZGVyKXtmb3IocC5zdGF0ZT1wLl9fcyxwLl9fZD0hMSwkJiYkKHUpLGE9cC5yZW5kZXIocC5wcm9wcyxwLnN0YXRlLHAuY29udGV4dCksSD0wO0g8cC5fc2IubGVuZ3RoO0grKylwLl9faC5wdXNoKHAuX3NiW0hdKTtwLl9zYj1bXX1lbHNlIGRve3AuX19kPSExLCQmJiQodSksYT1wLnJlbmRlcihwLnByb3BzLHAuc3RhdGUscC5jb250ZXh0KSxwLnN0YXRlPXAuX19zfXdoaWxlKHAuX19kJiYrK0E8MjUpO3Auc3RhdGU9cC5fX3MsbnVsbCE9cC5nZXRDaGlsZENvbnRleHQmJihpPXYodih7fSxpKSxwLmdldENoaWxkQ29udGV4dCgpKSkseXx8bnVsbD09cC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8KGc9cC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShkLF8pKSxQKG4saChJPW51bGwhPWEmJmEudHlwZT09PWsmJm51bGw9PWEua2V5P2EucHJvcHMuY2hpbGRyZW46YSk/STpbSV0sdSx0LGksbyxyLGYsZSxjLHMpLHAuYmFzZT11Ll9fZSx1Ll9faD1udWxsLHAuX19oLmxlbmd0aCYmZi5wdXNoKHApLG0mJihwLl9fRT1wLl9fPW51bGwpfWVsc2UgbnVsbD09ciYmdS5fX3Y9PT10Ll9fdj8odS5fX2s9dC5fX2ssdS5fX2U9dC5fX2UpOnUuX19lPU4odC5fX2UsdSx0LGksbyxyLGYsYyxzKTsoYT1sLmRpZmZlZCkmJmEodSl9Y2F0Y2gobil7dS5fX3Y9bnVsbCwoY3x8bnVsbCE9cikmJih1Ll9fZT1lLHUuX19oPSEhYyxyW3IuaW5kZXhPZihlKV09bnVsbCksbC5fX2Uobix1LHQpfX1mdW5jdGlvbiBNKG4sdSx0KXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylPKHRbaV0sdFsrK2ldLHRbKytpXSk7bC5fX2MmJmwuX19jKHUsbiksbi5zb21lKGZ1bmN0aW9uKHUpe3RyeXtuPXUuX19oLHUuX19oPVtdLG4uc29tZShmdW5jdGlvbihuKXtuLmNhbGwodSl9KX1jYXRjaChuKXtsLl9fZShuLHUuX192KX19KX1mdW5jdGlvbiBOKGwsdSx0LGksbyxyLGYsZSxzKXt2YXIgYSx2LHksZD10LnByb3BzLF89dS5wcm9wcyxrPXUudHlwZSxiPTA7aWYoXCJzdmdcIj09PWsmJihvPSEwKSxudWxsIT1yKWZvcig7YjxyLmxlbmd0aDtiKyspaWYoKGE9cltiXSkmJlwic2V0QXR0cmlidXRlXCJpbiBhPT0hIWsmJihrP2EubG9jYWxOYW1lPT09azozPT09YS5ub2RlVHlwZSkpe2w9YSxyW2JdPW51bGw7YnJlYWt9aWYobnVsbD09bCl7aWYobnVsbD09PWspcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKF8pO2w9bz9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLGspOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoayxfLmlzJiZfKSxyPW51bGwsZT0hMX1pZihudWxsPT09aylkPT09X3x8ZSYmbC5kYXRhPT09X3x8KGwuZGF0YT1fKTtlbHNle2lmKHI9ciYmbi5jYWxsKGwuY2hpbGROb2Rlcyksdj0oZD10LnByb3BzfHxjKS5kYW5nZXJvdXNseVNldElubmVySFRNTCx5PV8uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsIWUpe2lmKG51bGwhPXIpZm9yKGQ9e30sYj0wO2I8bC5hdHRyaWJ1dGVzLmxlbmd0aDtiKyspZFtsLmF0dHJpYnV0ZXNbYl0ubmFtZV09bC5hdHRyaWJ1dGVzW2JdLnZhbHVlOyh5fHx2KSYmKHkmJih2JiZ5Ll9faHRtbD09di5fX2h0bWx8fHkuX19odG1sPT09bC5pbm5lckhUTUwpfHwobC5pbm5lckhUTUw9eSYmeS5fX2h0bWx8fFwiXCIpKX1pZihIKGwsXyxkLG8sZSkseSl1Ll9faz1bXTtlbHNlIGlmKFAobCxoKGI9dS5wcm9wcy5jaGlsZHJlbik/YjpbYl0sdSx0LGksbyYmXCJmb3JlaWduT2JqZWN0XCIhPT1rLHIsZixyP3JbMF06dC5fX2smJmcodCwwKSxlLHMpLG51bGwhPXIpZm9yKGI9ci5sZW5ndGg7Yi0tOyludWxsIT1yW2JdJiZwKHJbYl0pO2V8fChcInZhbHVlXCJpbiBfJiZ2b2lkIDAhPT0oYj1fLnZhbHVlKSYmKGIhPT1sLnZhbHVlfHxcInByb2dyZXNzXCI9PT1rJiYhYnx8XCJvcHRpb25cIj09PWsmJmIhPT1kLnZhbHVlKSYmVChsLFwidmFsdWVcIixiLGQudmFsdWUsITEpLFwiY2hlY2tlZFwiaW4gXyYmdm9pZCAwIT09KGI9Xy5jaGVja2VkKSYmYiE9PWwuY2hlY2tlZCYmVChsLFwiY2hlY2tlZFwiLGIsZC5jaGVja2VkLCExKSl9cmV0dXJuIGx9ZnVuY3Rpb24gTyhuLHUsdCl7dHJ5e1wiZnVuY3Rpb25cIj09dHlwZW9mIG4/bih1KTpuLmN1cnJlbnQ9dX1jYXRjaChuKXtsLl9fZShuLHQpfX1mdW5jdGlvbiBxKG4sdSx0KXt2YXIgaSxvO2lmKGwudW5tb3VudCYmbC51bm1vdW50KG4pLChpPW4ucmVmKSYmKGkuY3VycmVudCYmaS5jdXJyZW50IT09bi5fX2V8fE8oaSxudWxsLHUpKSxudWxsIT0oaT1uLl9fYykpe2lmKGkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e2kuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtsLl9fZShuLHUpfWkuYmFzZT1pLl9fUD1udWxsLG4uX19jPXZvaWQgMH1pZihpPW4uX19rKWZvcihvPTA7bzxpLmxlbmd0aDtvKyspaVtvXSYmcShpW29dLHUsdHx8XCJmdW5jdGlvblwiIT10eXBlb2Ygbi50eXBlKTt0fHxudWxsPT1uLl9fZXx8cChuLl9fZSksbi5fXz1uLl9fZT1uLl9fZD12b2lkIDB9ZnVuY3Rpb24gQihuLGwsdSl7cmV0dXJuIHRoaXMuY29uc3RydWN0b3Iobix1KX1mdW5jdGlvbiBEKHUsdCxpKXt2YXIgbyxyLGYsZTtsLl9fJiZsLl9fKHUsdCkscj0obz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBpKT9udWxsOmkmJmkuX19rfHx0Ll9fayxmPVtdLGU9W10sTCh0LHU9KCFvJiZpfHx0KS5fX2s9eShrLG51bGwsW3VdKSxyfHxjLGMsdm9pZCAwIT09dC5vd25lclNWR0VsZW1lbnQsIW8mJmk/W2ldOnI/bnVsbDp0LmZpcnN0Q2hpbGQ/bi5jYWxsKHQuY2hpbGROb2Rlcyk6bnVsbCxmLCFvJiZpP2k6cj9yLl9fZTp0LmZpcnN0Q2hpbGQsbyxlKSxNKGYsdSxlKX1mdW5jdGlvbiBFKG4sbCl7RChuLGwsRSl9ZnVuY3Rpb24gRihsLHUsdCl7dmFyIGksbyxyLGYsZT12KHt9LGwucHJvcHMpO2ZvcihyIGluIGwudHlwZSYmbC50eXBlLmRlZmF1bHRQcm9wcyYmKGY9bC50eXBlLmRlZmF1bHRQcm9wcyksdSlcImtleVwiPT1yP2k9dVtyXTpcInJlZlwiPT1yP289dVtyXTplW3JdPXZvaWQgMD09PXVbcl0mJnZvaWQgMCE9PWY/ZltyXTp1W3JdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9uLmNhbGwoYXJndW1lbnRzLDIpOnQpLGQobC50eXBlLGUsaXx8bC5rZXksb3x8bC5yZWYsbnVsbCl9ZnVuY3Rpb24gRyhuLGwpe3ZhciB1PXtfX2M6bD1cIl9fY0NcIitlKyssX186bixDb25zdW1lcjpmdW5jdGlvbihuLGwpe3JldHVybiBuLmNoaWxkcmVuKGwpfSxQcm92aWRlcjpmdW5jdGlvbihuKXt2YXIgdSx0O3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KHU9W10sKHQ9e30pW2xdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5wcm9wcy52YWx1ZSE9PW4udmFsdWUmJnUuc29tZShmdW5jdGlvbihuKXtuLl9fZT0hMCx3KG4pfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKG4pe3UucHVzaChuKTt2YXIgbD1uLmNvbXBvbmVudFdpbGxVbm1vdW50O24uY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt1LnNwbGljZSh1LmluZGV4T2YobiksMSksbCYmbC5jYWxsKG4pfX0pLG4uY2hpbGRyZW59fTtyZXR1cm4gdS5Qcm92aWRlci5fXz11LkNvbnN1bWVyLmNvbnRleHRUeXBlPXV9bj1zLnNsaWNlLGw9e19fZTpmdW5jdGlvbihuLGwsdSx0KXtmb3IodmFyIGksbyxyO2w9bC5fXzspaWYoKGk9bC5fX2MpJiYhaS5fXyl0cnl7aWYoKG89aS5jb25zdHJ1Y3RvcikmJm51bGwhPW8uZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yJiYoaS5zZXRTdGF0ZShvLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihuKSkscj1pLl9fZCksbnVsbCE9aS5jb21wb25lbnREaWRDYXRjaCYmKGkuY29tcG9uZW50RGlkQ2F0Y2gobix0fHx7fSkscj1pLl9fZCkscilyZXR1cm4gaS5fX0U9aX1jYXRjaChsKXtuPWx9dGhyb3cgbn19LHU9MCx0PWZ1bmN0aW9uKG4pe3JldHVybiBudWxsIT1uJiZ2b2lkIDA9PT1uLmNvbnN0cnVjdG9yfSxiLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihuLGwpe3ZhciB1O3U9bnVsbCE9dGhpcy5fX3MmJnRoaXMuX19zIT09dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz12KHt9LHRoaXMuc3RhdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIG4mJihuPW4odih7fSx1KSx0aGlzLnByb3BzKSksbiYmdih1LG4pLG51bGwhPW4mJnRoaXMuX192JiYobCYmdGhpcy5fc2IucHVzaChsKSx3KHRoaXMpKX0sYi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obil7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCxuJiZ0aGlzLl9faC5wdXNoKG4pLHcodGhpcykpfSxiLnByb3RvdHlwZS5yZW5kZXI9ayxpPVtdLHI9XCJmdW5jdGlvblwiPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsZj1mdW5jdGlvbihuLGwpe3JldHVybiBuLl9fdi5fX2ItbC5fX3YuX19ifSx4Ll9fcj0wLGU9MDtleHBvcnR7YiBhcyBDb21wb25lbnQsayBhcyBGcmFnbWVudCxGIGFzIGNsb25lRWxlbWVudCxHIGFzIGNyZWF0ZUNvbnRleHQseSBhcyBjcmVhdGVFbGVtZW50LF8gYXMgY3JlYXRlUmVmLHkgYXMgaCxFIGFzIGh5ZHJhdGUsdCBhcyBpc1ZhbGlkRWxlbWVudCxsIGFzIG9wdGlvbnMsRCBhcyByZW5kZXIsUyBhcyB0b0NoaWxkQXJyYXl9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlYWN0Lm1vZHVsZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/preact/dist/preact.module.js\n")); - -/***/ }), - -/***/ "./node_modules/preact/hooks/dist/hooks.module.js": -/*!********************************************************!*\ - !*** ./node_modules/preact/hooks/dist/hooks.module.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useCallback: function() { return /* binding */ T; },\n/* harmony export */ useContext: function() { return /* binding */ q; },\n/* harmony export */ useDebugValue: function() { return /* binding */ x; },\n/* harmony export */ useEffect: function() { return /* binding */ p; },\n/* harmony export */ useErrorBoundary: function() { return /* binding */ P; },\n/* harmony export */ useId: function() { return /* binding */ V; },\n/* harmony export */ useImperativeHandle: function() { return /* binding */ A; },\n/* harmony export */ useLayoutEffect: function() { return /* binding */ y; },\n/* harmony export */ useMemo: function() { return /* binding */ F; },\n/* harmony export */ useReducer: function() { return /* binding */ s; },\n/* harmony export */ useRef: function() { return /* binding */ _; },\n/* harmony export */ useState: function() { return /* binding */ h; }\n/* harmony export */ });\n/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! preact */ \"./node_modules/preact/dist/preact.module.js\");\nvar t,r,u,i,o=0,f=[],c=[],e=preact__WEBPACK_IMPORTED_MODULE_0__.options.__b,a=preact__WEBPACK_IMPORTED_MODULE_0__.options.__r,v=preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed,l=preact__WEBPACK_IMPORTED_MODULE_0__.options.__c,m=preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount;function d(t,u){preact__WEBPACK_IMPORTED_MODULE_0__.options.__h&&preact__WEBPACK_IMPORTED_MODULE_0__.options.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:c}),i.__[t]}function h(n){return o=1,s(B,n)}function s(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):B(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function p(u,i){var o=d(t++,3);!preact__WEBPACK_IMPORTED_MODULE_0__.options.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o))}function y(u,i){var o=d(t++,4);!preact__WEBPACK_IMPORTED_MODULE_0__.options.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o))}function _(n){return o=5,F(function(){return{current:n}},[])}function A(n,t,r){o=6,y(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function F(n,r){var u=d(t++,7);return z(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x(t,r){preact__WEBPACK_IMPORTED_MODULE_0__.options.useDebugValue&&preact__WEBPACK_IMPORTED_MODULE_0__.options.useDebugValue(r?r(t):t)}function P(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function V(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function b(){for(var t;t=f.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(k),t.__H.__h.forEach(w),t.__H.__h=[]}catch(r){t.__H.__h=[],preact__WEBPACK_IMPORTED_MODULE_0__.options.__e(r,t.__v)}}preact__WEBPACK_IMPORTED_MODULE_0__.options.__b=function(n){r=null,e&&e(n)},preact__WEBPACK_IMPORTED_MODULE_0__.options.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0})):(i.__h.forEach(k),i.__h.forEach(w),i.__h=[],t=0)),u=r},preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==f.push(o)&&i===preact__WEBPACK_IMPORTED_MODULE_0__.options.requestAnimationFrame||((i=preact__WEBPACK_IMPORTED_MODULE_0__.options.requestAnimationFrame)||j)(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c})),u=r=null},preact__WEBPACK_IMPORTED_MODULE_0__.options.__c=function(t,r){r.some(function(t){try{t.__h.forEach(k),t.__h=t.__h.filter(function(n){return!n.__||w(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],preact__WEBPACK_IMPORTED_MODULE_0__.options.__e(u,t.__v)}}),l&&l(t,r)},preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{k(n)}catch(n){r=n}}),u.__H=void 0,r&&preact__WEBPACK_IMPORTED_MODULE_0__.options.__e(r,u.__v))};var g=\"function\"==typeof requestAnimationFrame;function j(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r))}function k(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function w(n){var t=r;n.__c=n.__(),r=t}function z(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function B(n,t){return\"function\"==typeof t?t(n):t}\n//# sourceMappingURL=hooks.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJlYWN0L2hvb2tzL2Rpc3QvaG9va3MubW9kdWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUMsNEJBQTRCLDJDQUFDLE9BQU8sMkNBQUMsT0FBTywyQ0FBQyxVQUFVLDJDQUFDLE9BQU8sMkNBQUMsU0FBUyxnQkFBZ0IsMkNBQUMsTUFBTSwyQ0FBQyxtQkFBbUIscUJBQXFCLGFBQWEsRUFBRSxrQ0FBa0MsTUFBTSxVQUFVLGNBQWMsa0JBQWtCLGtCQUFrQixlQUFlLHVEQUF1RCx3Q0FBd0MsMkNBQTJDLEdBQUcsaUJBQWlCLHNCQUFzQix1QkFBdUIsc0NBQXNDLGFBQWEsRUFBRSx1QkFBdUIsYUFBYSwrQkFBK0IsU0FBUyw2QkFBNkIsVUFBVSxjQUFjLDZDQUE2QyxvREFBb0QsT0FBTyxzREFBc0Qsc0NBQXNDLGFBQWEsUUFBUSxzQkFBc0Isc0JBQXNCLDJCQUEyQixtQkFBbUIsZ0JBQWdCLGVBQWUsQ0FBQywyQ0FBQyxtREFBbUQsZ0JBQWdCLGVBQWUsQ0FBQywyQ0FBQywrQ0FBK0MsY0FBYyx3QkFBd0IsT0FBTyxXQUFXLEtBQUssa0JBQWtCLGlCQUFpQiw4Q0FBOEMsZUFBZSw4QkFBOEIsc0JBQXNCLFNBQVMsd0JBQXdCLGdCQUFnQixlQUFlLHVEQUF1RCxnQkFBZ0Isd0JBQXdCLFNBQVMsSUFBSSxjQUFjLGtDQUFrQyxtRUFBbUUsZ0JBQWdCLDJDQUFDLGdCQUFnQiwyQ0FBQyx5QkFBeUIsY0FBYyxzQkFBc0Isc0VBQXNFLHdCQUF3QixtQkFBbUIsYUFBYSxFQUFFLGFBQWEsZ0JBQWdCLFVBQVUsZ0JBQWdCLDhCQUE4QixRQUFRLDJCQUEyQix5QkFBeUIsWUFBWSxhQUFhLFVBQVUsWUFBWSxxQkFBcUIsdURBQXVELFNBQVMsYUFBYSwyQ0FBQyxlQUFlLDJDQUFDLGlCQUFpQixlQUFlLENBQUMsMkNBQUMsaUJBQWlCLFlBQVksb0JBQW9CLHNEQUFzRCw2Q0FBNkMseURBQXlELENBQUMsMkNBQUMsb0JBQW9CLFFBQVEsWUFBWSxpREFBaUQsMkNBQUMsNEJBQTRCLDJDQUFDLDZEQUE2RCw0REFBNEQsWUFBWSxDQUFDLDJDQUFDLG1CQUFtQixtQkFBbUIsSUFBSSxnREFBZ0Qsa0JBQWtCLEVBQUUsU0FBUyxtQkFBbUIsa0JBQWtCLE9BQU8sMkNBQUMsZUFBZSxZQUFZLENBQUMsMkNBQUMscUJBQXFCLFFBQVEsY0FBYyx3Q0FBd0MsSUFBSSxLQUFLLFNBQVMsS0FBSyxrQkFBa0IsMkNBQUMsZ0JBQWdCLCtDQUErQyxjQUFjLG1CQUFtQix5REFBeUQscUJBQXFCLGdDQUFnQyxjQUFjLGdCQUFnQiw2Q0FBNkMsY0FBYyxRQUFRLGlCQUFpQixnQkFBZ0Isb0RBQW9ELGdCQUFnQixFQUFFLGdCQUFnQixrQ0FBbVA7QUFDNWtIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanM/MTBlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnR7b3B0aW9ucyBhcyBufWZyb21cInByZWFjdFwiO3ZhciB0LHIsdSxpLG89MCxmPVtdLGM9W10sZT1uLl9fYixhPW4uX19yLHY9bi5kaWZmZWQsbD1uLl9fYyxtPW4udW5tb3VudDtmdW5jdGlvbiBkKHQsdSl7bi5fX2gmJm4uX19oKHIsdCxvfHx1KSxvPTA7dmFyIGk9ci5fX0h8fChyLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuIHQ+PWkuX18ubGVuZ3RoJiZpLl9fLnB1c2goe19fVjpjfSksaS5fX1t0XX1mdW5jdGlvbiBoKG4pe3JldHVybiBvPTEscyhCLG4pfWZ1bmN0aW9uIHMobix1LGkpe3ZhciBvPWQodCsrLDIpO2lmKG8udD1uLCFvLl9fYyYmKG8uX189W2k/aSh1KTpCKHZvaWQgMCx1KSxmdW5jdGlvbihuKXt2YXIgdD1vLl9fTj9vLl9fTlswXTpvLl9fWzBdLHI9by50KHQsbik7dCE9PXImJihvLl9fTj1bcixvLl9fWzFdXSxvLl9fYy5zZXRTdGF0ZSh7fSkpfV0sby5fX2M9ciwhci51KSl7dmFyIGY9ZnVuY3Rpb24obix0LHIpe2lmKCFvLl9fYy5fX0gpcmV0dXJuITA7dmFyIHU9by5fX2MuX19ILl9fLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gbi5fX2N9KTtpZih1LmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiFuLl9fTn0pKXJldHVybiFjfHxjLmNhbGwodGhpcyxuLHQscik7dmFyIGk9ITE7cmV0dXJuIHUuZm9yRWFjaChmdW5jdGlvbihuKXtpZihuLl9fTil7dmFyIHQ9bi5fX1swXTtuLl9fPW4uX19OLG4uX19OPXZvaWQgMCx0IT09bi5fX1swXSYmKGk9ITApfX0pLCEoIWkmJm8uX19jLnByb3BzPT09bikmJighY3x8Yy5jYWxsKHRoaXMsbix0LHIpKX07ci51PSEwO3ZhciBjPXIuc2hvdWxkQ29tcG9uZW50VXBkYXRlLGU9ci5jb21wb25lbnRXaWxsVXBkYXRlO3IuY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbihuLHQscil7aWYodGhpcy5fX2Upe3ZhciB1PWM7Yz12b2lkIDAsZihuLHQsciksYz11fWUmJmUuY2FsbCh0aGlzLG4sdCxyKX0sci5zaG91bGRDb21wb25lbnRVcGRhdGU9Zn1yZXR1cm4gby5fX058fG8uX199ZnVuY3Rpb24gcCh1LGkpe3ZhciBvPWQodCsrLDMpOyFuLl9fcyYmeihvLl9fSCxpKSYmKG8uX189dSxvLmk9aSxyLl9fSC5fX2gucHVzaChvKSl9ZnVuY3Rpb24geSh1LGkpe3ZhciBvPWQodCsrLDQpOyFuLl9fcyYmeihvLl9fSCxpKSYmKG8uX189dSxvLmk9aSxyLl9faC5wdXNoKG8pKX1mdW5jdGlvbiBfKG4pe3JldHVybiBvPTUsRihmdW5jdGlvbigpe3JldHVybntjdXJyZW50Om59fSxbXSl9ZnVuY3Rpb24gQShuLHQscil7bz02LHkoZnVuY3Rpb24oKXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuPyhuKHQoKSksZnVuY3Rpb24oKXtyZXR1cm4gbihudWxsKX0pOm4/KG4uY3VycmVudD10KCksZnVuY3Rpb24oKXtyZXR1cm4gbi5jdXJyZW50PW51bGx9KTp2b2lkIDB9LG51bGw9PXI/cjpyLmNvbmNhdChuKSl9ZnVuY3Rpb24gRihuLHIpe3ZhciB1PWQodCsrLDcpO3JldHVybiB6KHUuX19ILHIpPyh1Ll9fVj1uKCksdS5pPXIsdS5fX2g9bix1Ll9fVik6dS5fX31mdW5jdGlvbiBUKG4sdCl7cmV0dXJuIG89OCxGKGZ1bmN0aW9uKCl7cmV0dXJuIG59LHQpfWZ1bmN0aW9uIHEobil7dmFyIHU9ci5jb250ZXh0W24uX19jXSxpPWQodCsrLDkpO3JldHVybiBpLmM9bix1PyhudWxsPT1pLl9fJiYoaS5fXz0hMCx1LnN1YihyKSksdS5wcm9wcy52YWx1ZSk6bi5fX31mdW5jdGlvbiB4KHQscil7bi51c2VEZWJ1Z1ZhbHVlJiZuLnVzZURlYnVnVmFsdWUocj9yKHQpOnQpfWZ1bmN0aW9uIFAobil7dmFyIHU9ZCh0KyssMTApLGk9aCgpO3JldHVybiB1Ll9fPW4sci5jb21wb25lbnREaWRDYXRjaHx8KHIuY29tcG9uZW50RGlkQ2F0Y2g9ZnVuY3Rpb24obix0KXt1Ll9fJiZ1Ll9fKG4sdCksaVsxXShuKX0pLFtpWzBdLGZ1bmN0aW9uKCl7aVsxXSh2b2lkIDApfV19ZnVuY3Rpb24gVigpe3ZhciBuPWQodCsrLDExKTtpZighbi5fXyl7Zm9yKHZhciB1PXIuX192O251bGwhPT11JiYhdS5fX20mJm51bGwhPT11Ll9fOyl1PXUuX187dmFyIGk9dS5fX218fCh1Ll9fbT1bMCwwXSk7bi5fXz1cIlBcIitpWzBdK1wiLVwiK2lbMV0rK31yZXR1cm4gbi5fX31mdW5jdGlvbiBiKCl7Zm9yKHZhciB0O3Q9Zi5zaGlmdCgpOylpZih0Ll9fUCYmdC5fX0gpdHJ5e3QuX19ILl9faC5mb3JFYWNoKGspLHQuX19ILl9faC5mb3JFYWNoKHcpLHQuX19ILl9faD1bXX1jYXRjaChyKXt0Ll9fSC5fX2g9W10sbi5fX2Uocix0Ll9fdil9fW4uX19iPWZ1bmN0aW9uKG4pe3I9bnVsbCxlJiZlKG4pfSxuLl9fcj1mdW5jdGlvbihuKXthJiZhKG4pLHQ9MDt2YXIgaT0ocj1uLl9fYykuX19IO2kmJih1PT09cj8oaS5fX2g9W10sci5fX2g9W10saS5fXy5mb3JFYWNoKGZ1bmN0aW9uKG4pe24uX19OJiYobi5fXz1uLl9fTiksbi5fX1Y9YyxuLl9fTj1uLmk9dm9pZCAwfSkpOihpLl9faC5mb3JFYWNoKGspLGkuX19oLmZvckVhY2godyksaS5fX2g9W10sdD0wKSksdT1yfSxuLmRpZmZlZD1mdW5jdGlvbih0KXt2JiZ2KHQpO3ZhciBvPXQuX19jO28mJm8uX19IJiYoby5fX0guX19oLmxlbmd0aCYmKDEhPT1mLnB1c2gobykmJmk9PT1uLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8KChpPW4ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8aikoYikpLG8uX19ILl9fLmZvckVhY2goZnVuY3Rpb24obil7bi5pJiYobi5fX0g9bi5pKSxuLl9fViE9PWMmJihuLl9fPW4uX19WKSxuLmk9dm9pZCAwLG4uX19WPWN9KSksdT1yPW51bGx9LG4uX19jPWZ1bmN0aW9uKHQscil7ci5zb21lKGZ1bmN0aW9uKHQpe3RyeXt0Ll9faC5mb3JFYWNoKGspLHQuX19oPXQuX19oLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4hbi5fX3x8dyhuKX0pfWNhdGNoKHUpe3Iuc29tZShmdW5jdGlvbihuKXtuLl9faCYmKG4uX19oPVtdKX0pLHI9W10sbi5fX2UodSx0Ll9fdil9fSksbCYmbCh0LHIpfSxuLnVubW91bnQ9ZnVuY3Rpb24odCl7bSYmbSh0KTt2YXIgcix1PXQuX19jO3UmJnUuX19IJiYodS5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXt0cnl7ayhuKX1jYXRjaChuKXtyPW59fSksdS5fX0g9dm9pZCAwLHImJm4uX19lKHIsdS5fX3YpKX07dmFyIGc9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lO2Z1bmN0aW9uIGoobil7dmFyIHQscj1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh1KSxnJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0KSxzZXRUaW1lb3V0KG4pfSx1PXNldFRpbWVvdXQociwxMDApO2cmJih0PXJlcXVlc3RBbmltYXRpb25GcmFtZShyKSl9ZnVuY3Rpb24gayhuKXt2YXIgdD1yLHU9bi5fX2M7XCJmdW5jdGlvblwiPT10eXBlb2YgdSYmKG4uX19jPXZvaWQgMCx1KCkpLHI9dH1mdW5jdGlvbiB3KG4pe3ZhciB0PXI7bi5fX2M9bi5fXygpLHI9dH1mdW5jdGlvbiB6KG4sdCl7cmV0dXJuIW58fG4ubGVuZ3RoIT09dC5sZW5ndGh8fHQuc29tZShmdW5jdGlvbih0LHIpe3JldHVybiB0IT09bltyXX0pfWZ1bmN0aW9uIEIobix0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Qobik6dH1leHBvcnR7VCBhcyB1c2VDYWxsYmFjayxxIGFzIHVzZUNvbnRleHQseCBhcyB1c2VEZWJ1Z1ZhbHVlLHAgYXMgdXNlRWZmZWN0LFAgYXMgdXNlRXJyb3JCb3VuZGFyeSxWIGFzIHVzZUlkLEEgYXMgdXNlSW1wZXJhdGl2ZUhhbmRsZSx5IGFzIHVzZUxheW91dEVmZmVjdCxGIGFzIHVzZU1lbW8scyBhcyB1c2VSZWR1Y2VyLF8gYXMgdXNlUmVmLGggYXMgdXNlU3RhdGV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3MubW9kdWxlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/preact/hooks/dist/hooks.module.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/browser.js": -/*!********************************************!*\ - !*** ./node_modules/qrcode/lib/browser.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("\nconst canPromise = __webpack_require__(/*! ./can-promise */ \"./node_modules/qrcode/lib/can-promise.js\")\n\nconst QRCode = __webpack_require__(/*! ./core/qrcode */ \"./node_modules/qrcode/lib/core/qrcode.js\")\nconst CanvasRenderer = __webpack_require__(/*! ./renderer/canvas */ \"./node_modules/qrcode/lib/renderer/canvas.js\")\nconst SvgRenderer = __webpack_require__(/*! ./renderer/svg-tag.js */ \"./node_modules/qrcode/lib/renderer/svg-tag.js\")\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQywrREFBZTs7QUFFMUMsZUFBZSxtQkFBTyxDQUFDLCtEQUFlO0FBQ3RDLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFtQjtBQUNsRCxvQkFBb0IsbUJBQU8sQ0FBQyw0RUFBdUI7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsaUJBQWlCOztBQUVqQjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvYnJvd3Nlci5qcz9iNGQ1Il0sInNvdXJjZXNDb250ZW50IjpbIlxuY29uc3QgY2FuUHJvbWlzZSA9IHJlcXVpcmUoJy4vY2FuLXByb21pc2UnKVxuXG5jb25zdCBRUkNvZGUgPSByZXF1aXJlKCcuL2NvcmUvcXJjb2RlJylcbmNvbnN0IENhbnZhc1JlbmRlcmVyID0gcmVxdWlyZSgnLi9yZW5kZXJlci9jYW52YXMnKVxuY29uc3QgU3ZnUmVuZGVyZXIgPSByZXF1aXJlKCcuL3JlbmRlcmVyL3N2Zy10YWcuanMnKVxuXG5mdW5jdGlvbiByZW5kZXJDYW52YXMgKHJlbmRlckZ1bmMsIGNhbnZhcywgdGV4dCwgb3B0cywgY2IpIHtcbiAgY29uc3QgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKVxuICBjb25zdCBhcmdzTnVtID0gYXJncy5sZW5ndGhcbiAgY29uc3QgaXNMYXN0QXJnQ2IgPSB0eXBlb2YgYXJnc1thcmdzTnVtIC0gMV0gPT09ICdmdW5jdGlvbidcblxuICBpZiAoIWlzTGFzdEFyZ0NiICYmICFjYW5Qcm9taXNlKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQnKVxuICB9XG5cbiAgaWYgKGlzTGFzdEFyZ0NiKSB7XG4gICAgaWYgKGFyZ3NOdW0gPCAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvbyBmZXcgYXJndW1lbnRzIHByb3ZpZGVkJylcbiAgICB9XG5cbiAgICBpZiAoYXJnc051bSA9PT0gMikge1xuICAgICAgY2IgPSB0ZXh0XG4gICAgICB0ZXh0ID0gY2FudmFzXG4gICAgICBjYW52YXMgPSBvcHRzID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmIChhcmdzTnVtID09PSAzKSB7XG4gICAgICBpZiAoY2FudmFzLmdldENvbnRleHQgJiYgdHlwZW9mIGNiID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjYiA9IG9wdHNcbiAgICAgICAgb3B0cyA9IHVuZGVmaW5lZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2IgPSBvcHRzXG4gICAgICAgIG9wdHMgPSB0ZXh0XG4gICAgICAgIHRleHQgPSBjYW52YXNcbiAgICAgICAgY2FudmFzID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChhcmdzTnVtIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCcpXG4gICAgfVxuXG4gICAgaWYgKGFyZ3NOdW0gPT09IDEpIHtcbiAgICAgIHRleHQgPSBjYW52YXNcbiAgICAgIGNhbnZhcyA9IG9wdHMgPSB1bmRlZmluZWRcbiAgICB9IGVsc2UgaWYgKGFyZ3NOdW0gPT09IDIgJiYgIWNhbnZhcy5nZXRDb250ZXh0KSB7XG4gICAgICBvcHRzID0gdGV4dFxuICAgICAgdGV4dCA9IGNhbnZhc1xuICAgICAgY2FudmFzID0gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBRUkNvZGUuY3JlYXRlKHRleHQsIG9wdHMpXG4gICAgICAgIHJlc29sdmUocmVuZGVyRnVuYyhkYXRhLCBjYW52YXMsIG9wdHMpKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gUVJDb2RlLmNyZWF0ZSh0ZXh0LCBvcHRzKVxuICAgIGNiKG51bGwsIHJlbmRlckZ1bmMoZGF0YSwgY2FudmFzLCBvcHRzKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNiKGUpXG4gIH1cbn1cblxuZXhwb3J0cy5jcmVhdGUgPSBRUkNvZGUuY3JlYXRlXG5leHBvcnRzLnRvQ2FudmFzID0gcmVuZGVyQ2FudmFzLmJpbmQobnVsbCwgQ2FudmFzUmVuZGVyZXIucmVuZGVyKVxuZXhwb3J0cy50b0RhdGFVUkwgPSByZW5kZXJDYW52YXMuYmluZChudWxsLCBDYW52YXNSZW5kZXJlci5yZW5kZXJUb0RhdGFVUkwpXG5cbi8vIG9ubHkgc3ZnIGZvciBub3cuXG5leHBvcnRzLnRvU3RyaW5nID0gcmVuZGVyQ2FudmFzLmJpbmQobnVsbCwgZnVuY3Rpb24gKGRhdGEsIF8sIG9wdHMpIHtcbiAgcmV0dXJuIFN2Z1JlbmRlcmVyLnJlbmRlcihkYXRhLCBvcHRzKVxufSlcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/can-promise.js": -/*!************************************************!*\ - !*** ./node_modules/qrcode/lib/can-promise.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jYW4tcHJvbWlzZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2Nhbi1wcm9taXNlLmpzPzljYjIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gY2FuLXByb21pc2UgaGFzIGEgY3Jhc2ggaW4gc29tZSB2ZXJzaW9ucyBvZiByZWFjdCBuYXRpdmUgdGhhdCBkb250IGhhdmVcbi8vIHN0YW5kYXJkIGdsb2JhbCBvYmplY3RzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc29sZGFpci9ub2RlLXFyY29kZS9pc3N1ZXMvMTU3XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHlwZW9mIFByb21pc2UgPT09ICdmdW5jdGlvbicgJiYgUHJvbWlzZS5wcm90b3R5cGUgJiYgUHJvbWlzZS5wcm90b3R5cGUudGhlblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/can-promise.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/alignment-pattern.js": -/*!***********************************************************!*\ - !*** ./node_modules/qrcode/lib/core/alignment-pattern.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = (__webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\").getSymbolSize)\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FsaWdubWVudC1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsNkZBQWdDOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHVCQUF1QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsZUFBZTtBQUNqQyxvQkFBb0IsZUFBZTtBQUNuQztBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FsaWdubWVudC1wYXR0ZXJuLmpzP2FiNDMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbGlnbm1lbnQgcGF0dGVybiBhcmUgZml4ZWQgcmVmZXJlbmNlIHBhdHRlcm4gaW4gZGVmaW5lZCBwb3NpdGlvbnNcbiAqIGluIGEgbWF0cml4IHN5bWJvbG9neSwgd2hpY2ggZW5hYmxlcyB0aGUgZGVjb2RlIHNvZnR3YXJlIHRvIHJlLXN5bmNocm9uaXNlXG4gKiB0aGUgY29vcmRpbmF0ZSBtYXBwaW5nIG9mIHRoZSBpbWFnZSBtb2R1bGVzIGluIHRoZSBldmVudCBvZiBtb2RlcmF0ZSBhbW91bnRzXG4gKiBvZiBkaXN0b3J0aW9uIG9mIHRoZSBpbWFnZS5cbiAqXG4gKiBBbGlnbm1lbnQgcGF0dGVybnMgYXJlIHByZXNlbnQgb25seSBpbiBRUiBDb2RlIHN5bWJvbHMgb2YgdmVyc2lvbiAyIG9yIGxhcmdlclxuICogYW5kIHRoZWlyIG51bWJlciBkZXBlbmRzIG9uIHRoZSBzeW1ib2wgdmVyc2lvbi5cbiAqL1xuXG5jb25zdCBnZXRTeW1ib2xTaXplID0gcmVxdWlyZSgnLi91dGlscycpLmdldFN5bWJvbFNpemVcblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIHJvdy9jb2x1bW4gY29vcmRpbmF0ZXMgb2YgdGhlIGNlbnRlciBtb2R1bGUgb2YgZWFjaCBhbGlnbm1lbnQgcGF0dGVyblxuICogZm9yIHRoZSBzcGVjaWZpZWQgUVIgQ29kZSB2ZXJzaW9uLlxuICpcbiAqIFRoZSBhbGlnbm1lbnQgcGF0dGVybnMgYXJlIHBvc2l0aW9uZWQgc3ltbWV0cmljYWxseSBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgZGlhZ29uYWxcbiAqIHJ1bm5pbmcgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBzeW1ib2wgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuXG4gKlxuICogU2luY2UgcG9zaXRpb25zIGFyZSBzaW1tZXRyaWNhbCBvbmx5IGhhbGYgb2YgdGhlIGNvb3JkaW5hdGVzIGFyZSByZXR1cm5lZC5cbiAqIEVhY2ggaXRlbSBvZiB0aGUgYXJyYXkgd2lsbCByZXByZXNlbnQgaW4gdHVybiB0aGUgeCBhbmQgeSBjb29yZGluYXRlLlxuICogQHNlZSB7QGxpbmsgZ2V0UG9zaXRpb25zfVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBjb29yZGluYXRlXG4gKi9cbmV4cG9ydHMuZ2V0Um93Q29sQ29vcmRzID0gZnVuY3Rpb24gZ2V0Um93Q29sQ29vcmRzICh2ZXJzaW9uKSB7XG4gIGlmICh2ZXJzaW9uID09PSAxKSByZXR1cm4gW11cblxuICBjb25zdCBwb3NDb3VudCA9IE1hdGguZmxvb3IodmVyc2lvbiAvIDcpICsgMlxuICBjb25zdCBzaXplID0gZ2V0U3ltYm9sU2l6ZSh2ZXJzaW9uKVxuICBjb25zdCBpbnRlcnZhbHMgPSBzaXplID09PSAxNDUgPyAyNiA6IE1hdGguY2VpbCgoc2l6ZSAtIDEzKSAvICgyICogcG9zQ291bnQgLSAyKSkgKiAyXG4gIGNvbnN0IHBvc2l0aW9ucyA9IFtzaXplIC0gN10gLy8gTGFzdCBjb29yZCBpcyBhbHdheXMgKHNpemUgLSA3KVxuXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgcG9zQ291bnQgLSAxOyBpKyspIHtcbiAgICBwb3NpdGlvbnNbaV0gPSBwb3NpdGlvbnNbaSAtIDFdIC0gaW50ZXJ2YWxzXG4gIH1cblxuICBwb3NpdGlvbnMucHVzaCg2KSAvLyBGaXJzdCBjb29yZCBpcyBhbHdheXMgNlxuXG4gIHJldHVybiBwb3NpdGlvbnMucmV2ZXJzZSgpXG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbnMgb2YgZWFjaCBhbGlnbm1lbnQgcGF0dGVybi5cbiAqIEVhY2ggYXJyYXkncyBlbGVtZW50IHJlcHJlc2VudCB0aGUgY2VudGVyIHBvaW50IG9mIHRoZSBwYXR0ZXJuIGFzICh4LCB5KSBjb29yZGluYXRlc1xuICpcbiAqIENvb3JkaW5hdGVzIGFyZSBjYWxjdWxhdGVkIGV4cGFuZGluZyB0aGUgcm93L2NvbHVtbiBjb29yZGluYXRlcyByZXR1cm5lZCBieSB7QGxpbmsgZ2V0Um93Q29sQ29vcmRzfVxuICogYW5kIGZpbHRlcmluZyBvdXQgdGhlIGl0ZW1zIHRoYXQgb3ZlcmxhcHMgd2l0aCBmaW5kZXIgcGF0dGVyblxuICpcbiAqIEBleGFtcGxlXG4gKiBGb3IgYSBWZXJzaW9uIDcgc3ltYm9sIHtAbGluayBnZXRSb3dDb2xDb29yZHN9IHJldHVybnMgdmFsdWVzIDYsIDIyIGFuZCAzOC5cbiAqIFRoZSBhbGlnbm1lbnQgcGF0dGVybnMsIHRoZXJlZm9yZSwgYXJlIHRvIGJlIGNlbnRlcmVkIG9uIChyb3csIGNvbHVtbilcbiAqIHBvc2l0aW9ucyAoNiwyMiksICgyMiw2KSwgKDIyLDIyKSwgKDIyLDM4KSwgKDM4LDIyKSwgKDM4LDM4KS5cbiAqIE5vdGUgdGhhdCB0aGUgY29vcmRpbmF0ZXMgKDYsNiksICg2LDM4KSwgKDM4LDYpIGFyZSBvY2N1cGllZCBieSBmaW5kZXIgcGF0dGVybnNcbiAqIGFuZCBhcmUgbm90IHRoZXJlZm9yZSB1c2VkIGZvciBhbGlnbm1lbnQgcGF0dGVybnMuXG4gKlxuICogbGV0IHBvcyA9IGdldFBvc2l0aW9ucyg3KVxuICogLy8gW1s2LDIyXSwgWzIyLDZdLCBbMjIsMjJdLCBbMjIsMzhdLCBbMzgsMjJdLCBbMzgsMzhdXVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBjb29yZGluYXRlc1xuICovXG5leHBvcnRzLmdldFBvc2l0aW9ucyA9IGZ1bmN0aW9uIGdldFBvc2l0aW9ucyAodmVyc2lvbikge1xuICBjb25zdCBjb29yZHMgPSBbXVxuICBjb25zdCBwb3MgPSBleHBvcnRzLmdldFJvd0NvbENvb3Jkcyh2ZXJzaW9uKVxuICBjb25zdCBwb3NMZW5ndGggPSBwb3MubGVuZ3RoXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3NMZW5ndGg7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcG9zTGVuZ3RoOyBqKyspIHtcbiAgICAgIC8vIFNraXAgaWYgcG9zaXRpb24gaXMgb2NjdXBpZWQgYnkgZmluZGVyIHBhdHRlcm5zXG4gICAgICBpZiAoKGkgPT09IDAgJiYgaiA9PT0gMCkgfHwgLy8gdG9wLWxlZnRcbiAgICAgICAgICAoaSA9PT0gMCAmJiBqID09PSBwb3NMZW5ndGggLSAxKSB8fCAvLyBib3R0b20tbGVmdFxuICAgICAgICAgIChpID09PSBwb3NMZW5ndGggLSAxICYmIGogPT09IDApKSB7IC8vIHRvcC1yaWdodFxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb29yZHMucHVzaChbcG9zW2ldLCBwb3Nbal1dKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb29yZHNcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/alignment-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/alphanumeric-data.js": -/*!***********************************************************!*\ - !*** ./node_modules/qrcode/lib/core/alphanumeric-data.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FscGhhbnVtZXJpYy1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyxzREFBUTs7QUFFN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYywyQkFBMkI7QUFDekM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9hbHBoYW51bWVyaWMtZGF0YS5qcz8yNzc4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuXG4vKipcbiAqIEFycmF5IG9mIGNoYXJhY3RlcnMgYXZhaWxhYmxlIGluIGFscGhhbnVtZXJpYyBtb2RlXG4gKlxuICogQXMgcGVyIFFSIENvZGUgc3BlY2lmaWNhdGlvbiwgdG8gZWFjaCBjaGFyYWN0ZXJcbiAqIGlzIGFzc2lnbmVkIGEgdmFsdWUgZnJvbSAwIHRvIDQ0IHdoaWNoIGluIHRoaXMgY2FzZSBjb2luY2lkZXNcbiAqIHdpdGggdGhlIGFycmF5IGluZGV4XG4gKlxuICogQHR5cGUge0FycmF5fVxuICovXG5jb25zdCBBTFBIQV9OVU1fQ0hBUlMgPSBbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JyxcbiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLFxuICAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsXG4gICcgJywgJyQnLCAnJScsICcqJywgJysnLCAnLScsICcuJywgJy8nLCAnOidcbl1cblxuZnVuY3Rpb24gQWxwaGFudW1lcmljRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLkFMUEhBTlVNRVJJQ1xuICB0aGlzLmRhdGEgPSBkYXRhXG59XG5cbkFscGhhbnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gMTEgKiBNYXRoLmZsb29yKGxlbmd0aCAvIDIpICsgNiAqIChsZW5ndGggJSAyKVxufVxuXG5BbHBoYW51bWVyaWNEYXRhLnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiBnZXRMZW5ndGggKCkge1xuICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aFxufVxuXG5BbHBoYW51bWVyaWNEYXRhLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAoKSB7XG4gIHJldHVybiBBbHBoYW51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuQWxwaGFudW1lcmljRGF0YS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiB3cml0ZSAoYml0QnVmZmVyKSB7XG4gIGxldCBpXG5cbiAgLy8gSW5wdXQgZGF0YSBjaGFyYWN0ZXJzIGFyZSBkaXZpZGVkIGludG8gZ3JvdXBzIG9mIHR3byBjaGFyYWN0ZXJzXG4gIC8vIGFuZCBlbmNvZGVkIGFzIDExLWJpdCBiaW5hcnkgY29kZXMuXG4gIGZvciAoaSA9IDA7IGkgKyAyIDw9IHRoaXMuZGF0YS5sZW5ndGg7IGkgKz0gMikge1xuICAgIC8vIFRoZSBjaGFyYWN0ZXIgdmFsdWUgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyBtdWx0aXBsaWVkIGJ5IDQ1XG4gICAgbGV0IHZhbHVlID0gQUxQSEFfTlVNX0NIQVJTLmluZGV4T2YodGhpcy5kYXRhW2ldKSAqIDQ1XG5cbiAgICAvLyBUaGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBzZWNvbmQgZGlnaXQgaXMgYWRkZWQgdG8gdGhlIHByb2R1Y3RcbiAgICB2YWx1ZSArPSBBTFBIQV9OVU1fQ0hBUlMuaW5kZXhPZih0aGlzLmRhdGFbaSArIDFdKVxuXG4gICAgLy8gVGhlIHN1bSBpcyB0aGVuIHN0b3JlZCBhcyAxMS1iaXQgYmluYXJ5IG51bWJlclxuICAgIGJpdEJ1ZmZlci5wdXQodmFsdWUsIDExKVxuICB9XG5cbiAgLy8gSWYgdGhlIG51bWJlciBvZiBpbnB1dCBkYXRhIGNoYXJhY3RlcnMgaXMgbm90IGEgbXVsdGlwbGUgb2YgdHdvLFxuICAvLyB0aGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBmaW5hbCBjaGFyYWN0ZXIgaXMgZW5jb2RlZCBhcyBhIDYtYml0IGJpbmFyeSBudW1iZXIuXG4gIGlmICh0aGlzLmRhdGEubGVuZ3RoICUgMikge1xuICAgIGJpdEJ1ZmZlci5wdXQoQUxQSEFfTlVNX0NIQVJTLmluZGV4T2YodGhpcy5kYXRhW2ldKSwgNilcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEFscGhhbnVtZXJpY0RhdGFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/alphanumeric-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/bit-buffer.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/bit-buffer.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1idWZmZXIuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1idWZmZXIuanM/N2RlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBCaXRCdWZmZXIgKCkge1xuICB0aGlzLmJ1ZmZlciA9IFtdXG4gIHRoaXMubGVuZ3RoID0gMFxufVxuXG5CaXRCdWZmZXIucHJvdG90eXBlID0ge1xuXG4gIGdldDogZnVuY3Rpb24gKGluZGV4KSB7XG4gICAgY29uc3QgYnVmSW5kZXggPSBNYXRoLmZsb29yKGluZGV4IC8gOClcbiAgICByZXR1cm4gKCh0aGlzLmJ1ZmZlcltidWZJbmRleF0gPj4+ICg3IC0gaW5kZXggJSA4KSkgJiAxKSA9PT0gMVxuICB9LFxuXG4gIHB1dDogZnVuY3Rpb24gKG51bSwgbGVuZ3RoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5wdXRCaXQoKChudW0gPj4+IChsZW5ndGggLSBpIC0gMSkpICYgMSkgPT09IDEpXG4gICAgfVxuICB9LFxuXG4gIGdldExlbmd0aEluQml0czogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmxlbmd0aFxuICB9LFxuXG4gIHB1dEJpdDogZnVuY3Rpb24gKGJpdCkge1xuICAgIGNvbnN0IGJ1ZkluZGV4ID0gTWF0aC5mbG9vcih0aGlzLmxlbmd0aCAvIDgpXG4gICAgaWYgKHRoaXMuYnVmZmVyLmxlbmd0aCA8PSBidWZJbmRleCkge1xuICAgICAgdGhpcy5idWZmZXIucHVzaCgwKVxuICAgIH1cblxuICAgIGlmIChiaXQpIHtcbiAgICAgIHRoaXMuYnVmZmVyW2J1ZkluZGV4XSB8PSAoMHg4MCA+Pj4gKHRoaXMubGVuZ3RoICUgOCkpXG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGgrK1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQml0QnVmZmVyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/bit-buffer.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/bit-matrix.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/bit-matrix.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1tYXRyaXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLFNBQVM7QUFDckIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsVUFBVTtBQUNyQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9iaXQtbWF0cml4LmpzPzZlYjUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIZWxwZXIgY2xhc3MgdG8gaGFuZGxlIFFSIENvZGUgc3ltYm9sIG1vZHVsZXNcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gc2l6ZSBTeW1ib2wgc2l6ZVxuICovXG5mdW5jdGlvbiBCaXRNYXRyaXggKHNpemUpIHtcbiAgaWYgKCFzaXplIHx8IHNpemUgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCaXRNYXRyaXggc2l6ZSBtdXN0IGJlIGRlZmluZWQgYW5kIGdyZWF0ZXIgdGhhbiAwJylcbiAgfVxuXG4gIHRoaXMuc2l6ZSA9IHNpemVcbiAgdGhpcy5kYXRhID0gbmV3IFVpbnQ4QXJyYXkoc2l6ZSAqIHNpemUpXG4gIHRoaXMucmVzZXJ2ZWRCaXQgPSBuZXcgVWludDhBcnJheShzaXplICogc2l6ZSlcbn1cblxuLyoqXG4gKiBTZXQgYml0IHZhbHVlIGF0IHNwZWNpZmllZCBsb2NhdGlvblxuICogSWYgcmVzZXJ2ZWQgZmxhZyBpcyBzZXQsIHRoaXMgYml0IHdpbGwgYmUgaWdub3JlZCBkdXJpbmcgbWFza2luZyBwcm9jZXNzXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9ICByb3dcbiAqIEBwYXJhbSB7TnVtYmVyfSAgY29sXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHZhbHVlXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHJlc2VydmVkXG4gKi9cbkJpdE1hdHJpeC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHJvdywgY29sLCB2YWx1ZSwgcmVzZXJ2ZWQpIHtcbiAgY29uc3QgaW5kZXggPSByb3cgKiB0aGlzLnNpemUgKyBjb2xcbiAgdGhpcy5kYXRhW2luZGV4XSA9IHZhbHVlXG4gIGlmIChyZXNlcnZlZCkgdGhpcy5yZXNlcnZlZEJpdFtpbmRleF0gPSB0cnVlXG59XG5cbi8qKlxuICogUmV0dXJucyBiaXQgdmFsdWUgYXQgc3BlY2lmaWVkIGxvY2F0aW9uXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgcm93XG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICBjb2xcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKi9cbkJpdE1hdHJpeC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKHJvdywgY29sKSB7XG4gIHJldHVybiB0aGlzLmRhdGFbcm93ICogdGhpcy5zaXplICsgY29sXVxufVxuXG4vKipcbiAqIEFwcGxpZXMgeG9yIG9wZXJhdG9yIGF0IHNwZWNpZmllZCBsb2NhdGlvblxuICogKHVzZWQgZHVyaW5nIG1hc2tpbmcgcHJvY2VzcylcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gIHJvd1xuICogQHBhcmFtIHtOdW1iZXJ9ICBjb2xcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gdmFsdWVcbiAqL1xuQml0TWF0cml4LnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiAocm93LCBjb2wsIHZhbHVlKSB7XG4gIHRoaXMuZGF0YVtyb3cgKiB0aGlzLnNpemUgKyBjb2xdIF49IHZhbHVlXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYml0IGF0IHNwZWNpZmllZCBsb2NhdGlvbiBpcyByZXNlcnZlZFxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSAgIHJvd1xuICogQHBhcmFtIHtOdW1iZXJ9ICAgY29sXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5CaXRNYXRyaXgucHJvdG90eXBlLmlzUmVzZXJ2ZWQgPSBmdW5jdGlvbiAocm93LCBjb2wpIHtcbiAgcmV0dXJuIHRoaXMucmVzZXJ2ZWRCaXRbcm93ICogdGhpcy5zaXplICsgY29sXVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJpdE1hdHJpeFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/bit-matrix.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/byte-data.js": -/*!***************************************************!*\ - !*** ./node_modules/qrcode/lib/core/byte-data.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const encodeUtf8 = __webpack_require__(/*! encode-utf8 */ \"./node_modules/encode-utf8/index.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2J5dGUtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUIsbUJBQU8sQ0FBQyx3REFBYTtBQUN4QyxhQUFhLG1CQUFPLENBQUMsc0RBQVE7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvYnl0ZS1kYXRhLmpzPzkxZTYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZW5jb2RlVXRmOCA9IHJlcXVpcmUoJ2VuY29kZS11dGY4JylcbmNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuXG5mdW5jdGlvbiBCeXRlRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLkJZVEVcbiAgaWYgKHR5cGVvZiAoZGF0YSkgPT09ICdzdHJpbmcnKSB7XG4gICAgZGF0YSA9IGVuY29kZVV0ZjgoZGF0YSlcbiAgfVxuICB0aGlzLmRhdGEgPSBuZXcgVWludDhBcnJheShkYXRhKVxufVxuXG5CeXRlRGF0YS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAobGVuZ3RoKSB7XG4gIHJldHVybiBsZW5ndGggKiA4XG59XG5cbkJ5dGVEYXRhLnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiBnZXRMZW5ndGggKCkge1xuICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aFxufVxuXG5CeXRlRGF0YS5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKCkge1xuICByZXR1cm4gQnl0ZURhdGEuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKVxufVxuXG5CeXRlRGF0YS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYml0QnVmZmVyKSB7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5kYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGJpdEJ1ZmZlci5wdXQodGhpcy5kYXRhW2ldLCA4KVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQnl0ZURhdGFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/byte-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/error-correction-code.js": -/*!***************************************************************!*\ - !*** ./node_modules/qrcode/lib/core/error-correction-code.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/qrcode/lib/core/error-correction-level.js\")\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQywwRkFBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksUUFBUTtBQUNwQixZQUFZLDZCQUE2QjtBQUN6QztBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvZXJyb3ItY29ycmVjdGlvbi1jb2RlLmpzPzZiOGEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRUNMZXZlbCA9IHJlcXVpcmUoJy4vZXJyb3ItY29ycmVjdGlvbi1sZXZlbCcpXHJcblxyXG5jb25zdCBFQ19CTE9DS1NfVEFCTEUgPSBbXHJcbi8vIEwgIE0gIFEgIEhcclxuICAxLCAxLCAxLCAxLFxyXG4gIDEsIDEsIDEsIDEsXHJcbiAgMSwgMSwgMiwgMixcclxuICAxLCAyLCAyLCA0LFxyXG4gIDEsIDIsIDQsIDQsXHJcbiAgMiwgNCwgNCwgNCxcclxuICAyLCA0LCA2LCA1LFxyXG4gIDIsIDQsIDYsIDYsXHJcbiAgMiwgNSwgOCwgOCxcclxuICA0LCA1LCA4LCA4LFxyXG4gIDQsIDUsIDgsIDExLFxyXG4gIDQsIDgsIDEwLCAxMSxcclxuICA0LCA5LCAxMiwgMTYsXHJcbiAgNCwgOSwgMTYsIDE2LFxyXG4gIDYsIDEwLCAxMiwgMTgsXHJcbiAgNiwgMTAsIDE3LCAxNixcclxuICA2LCAxMSwgMTYsIDE5LFxyXG4gIDYsIDEzLCAxOCwgMjEsXHJcbiAgNywgMTQsIDIxLCAyNSxcclxuICA4LCAxNiwgMjAsIDI1LFxyXG4gIDgsIDE3LCAyMywgMjUsXHJcbiAgOSwgMTcsIDIzLCAzNCxcclxuICA5LCAxOCwgMjUsIDMwLFxyXG4gIDEwLCAyMCwgMjcsIDMyLFxyXG4gIDEyLCAyMSwgMjksIDM1LFxyXG4gIDEyLCAyMywgMzQsIDM3LFxyXG4gIDEyLCAyNSwgMzQsIDQwLFxyXG4gIDEzLCAyNiwgMzUsIDQyLFxyXG4gIDE0LCAyOCwgMzgsIDQ1LFxyXG4gIDE1LCAyOSwgNDAsIDQ4LFxyXG4gIDE2LCAzMSwgNDMsIDUxLFxyXG4gIDE3LCAzMywgNDUsIDU0LFxyXG4gIDE4LCAzNSwgNDgsIDU3LFxyXG4gIDE5LCAzNywgNTEsIDYwLFxyXG4gIDE5LCAzOCwgNTMsIDYzLFxyXG4gIDIwLCA0MCwgNTYsIDY2LFxyXG4gIDIxLCA0MywgNTksIDcwLFxyXG4gIDIyLCA0NSwgNjIsIDc0LFxyXG4gIDI0LCA0NywgNjUsIDc3LFxyXG4gIDI1LCA0OSwgNjgsIDgxXHJcbl1cclxuXHJcbmNvbnN0IEVDX0NPREVXT1JEU19UQUJMRSA9IFtcclxuLy8gTCAgTSAgUSAgSFxyXG4gIDcsIDEwLCAxMywgMTcsXHJcbiAgMTAsIDE2LCAyMiwgMjgsXHJcbiAgMTUsIDI2LCAzNiwgNDQsXHJcbiAgMjAsIDM2LCA1MiwgNjQsXHJcbiAgMjYsIDQ4LCA3MiwgODgsXHJcbiAgMzYsIDY0LCA5NiwgMTEyLFxyXG4gIDQwLCA3MiwgMTA4LCAxMzAsXHJcbiAgNDgsIDg4LCAxMzIsIDE1NixcclxuICA2MCwgMTEwLCAxNjAsIDE5MixcclxuICA3MiwgMTMwLCAxOTIsIDIyNCxcclxuICA4MCwgMTUwLCAyMjQsIDI2NCxcclxuICA5NiwgMTc2LCAyNjAsIDMwOCxcclxuICAxMDQsIDE5OCwgMjg4LCAzNTIsXHJcbiAgMTIwLCAyMTYsIDMyMCwgMzg0LFxyXG4gIDEzMiwgMjQwLCAzNjAsIDQzMixcclxuICAxNDQsIDI4MCwgNDA4LCA0ODAsXHJcbiAgMTY4LCAzMDgsIDQ0OCwgNTMyLFxyXG4gIDE4MCwgMzM4LCA1MDQsIDU4OCxcclxuICAxOTYsIDM2NCwgNTQ2LCA2NTAsXHJcbiAgMjI0LCA0MTYsIDYwMCwgNzAwLFxyXG4gIDIyNCwgNDQyLCA2NDQsIDc1MCxcclxuICAyNTIsIDQ3NiwgNjkwLCA4MTYsXHJcbiAgMjcwLCA1MDQsIDc1MCwgOTAwLFxyXG4gIDMwMCwgNTYwLCA4MTAsIDk2MCxcclxuICAzMTIsIDU4OCwgODcwLCAxMDUwLFxyXG4gIDMzNiwgNjQ0LCA5NTIsIDExMTAsXHJcbiAgMzYwLCA3MDAsIDEwMjAsIDEyMDAsXHJcbiAgMzkwLCA3MjgsIDEwNTAsIDEyNjAsXHJcbiAgNDIwLCA3ODQsIDExNDAsIDEzNTAsXHJcbiAgNDUwLCA4MTIsIDEyMDAsIDE0NDAsXHJcbiAgNDgwLCA4NjgsIDEyOTAsIDE1MzAsXHJcbiAgNTEwLCA5MjQsIDEzNTAsIDE2MjAsXHJcbiAgNTQwLCA5ODAsIDE0NDAsIDE3MTAsXHJcbiAgNTcwLCAxMDM2LCAxNTMwLCAxODAwLFxyXG4gIDU3MCwgMTA2NCwgMTU5MCwgMTg5MCxcclxuICA2MDAsIDExMjAsIDE2ODAsIDE5ODAsXHJcbiAgNjMwLCAxMjA0LCAxNzcwLCAyMTAwLFxyXG4gIDY2MCwgMTI2MCwgMTg2MCwgMjIyMCxcclxuICA3MjAsIDEzMTYsIDE5NTAsIDIzMTAsXHJcbiAgNzUwLCAxMzcyLCAyMDQwLCAyNDMwXHJcbl1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgY29ycmVjdGlvbiBibG9jayB0aGF0IHRoZSBRUiBDb2RlIHNob3VsZCBjb250YWluXHJcbiAqIGZvciB0aGUgc3BlY2lmaWVkIHZlcnNpb24gYW5kIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWwuXHJcbiAqXHJcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgIE51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGJsb2Nrc1xyXG4gKi9cclxuZXhwb3J0cy5nZXRCbG9ja3NDb3VudCA9IGZ1bmN0aW9uIGdldEJsb2Nrc0NvdW50ICh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCkge1xyXG4gIHN3aXRjaCAoZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcclxuICAgIGNhc2UgRUNMZXZlbC5MOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMF1cclxuICAgIGNhc2UgRUNMZXZlbC5NOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMV1cclxuICAgIGNhc2UgRUNMZXZlbC5ROlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMl1cclxuICAgIGNhc2UgRUNMZXZlbC5IOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgM11cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgdG8gdXNlIGZvciB0aGUgc3BlY2lmaWVkXHJcbiAqIHZlcnNpb24gYW5kIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWwuXHJcbiAqXHJcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgIE51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkc1xyXG4gKi9cclxuZXhwb3J0cy5nZXRUb3RhbENvZGV3b3Jkc0NvdW50ID0gZnVuY3Rpb24gZ2V0VG90YWxDb2Rld29yZHNDb3VudCAodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcclxuICBzd2l0Y2ggKGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XHJcbiAgICBjYXNlIEVDTGV2ZWwuTDpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDBdXHJcbiAgICBjYXNlIEVDTGV2ZWwuTTpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDFdXHJcbiAgICBjYXNlIEVDTGV2ZWwuUTpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDJdXHJcbiAgICBjYXNlIEVDTGV2ZWwuSDpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDNdXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/error-correction-code.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/error-correction-level.js": -/*!****************************************************************!*\ - !*** ./node_modules/qrcode/lib/core/error-correction-level.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwuanMiLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLOztBQUVkO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7O0FBRUEsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwuanM/MTU3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzLkwgPSB7IGJpdDogMSB9XG5leHBvcnRzLk0gPSB7IGJpdDogMCB9XG5leHBvcnRzLlEgPSB7IGJpdDogMyB9XG5leHBvcnRzLkggPSB7IGJpdDogMiB9XG5cbmZ1bmN0aW9uIGZyb21TdHJpbmcgKHN0cmluZykge1xuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmFtIGlzIG5vdCBhIHN0cmluZycpXG4gIH1cblxuICBjb25zdCBsY1N0ciA9IHN0cmluZy50b0xvd2VyQ2FzZSgpXG5cbiAgc3dpdGNoIChsY1N0cikge1xuICAgIGNhc2UgJ2wnOlxuICAgIGNhc2UgJ2xvdyc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5MXG5cbiAgICBjYXNlICdtJzpcbiAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgcmV0dXJuIGV4cG9ydHMuTVxuXG4gICAgY2FzZSAncSc6XG4gICAgY2FzZSAncXVhcnRpbGUnOlxuICAgICAgcmV0dXJuIGV4cG9ydHMuUVxuXG4gICAgY2FzZSAnaCc6XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5IXG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIEVDIExldmVsOiAnICsgc3RyaW5nKVxuICB9XG59XG5cbmV4cG9ydHMuaXNWYWxpZCA9IGZ1bmN0aW9uIGlzVmFsaWQgKGxldmVsKSB7XG4gIHJldHVybiBsZXZlbCAmJiB0eXBlb2YgbGV2ZWwuYml0ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGxldmVsLmJpdCA+PSAwICYmIGxldmVsLmJpdCA8IDRcbn1cblxuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh2YWx1ZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/error-correction-level.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/finder-pattern.js": -/*!********************************************************!*\ - !*** ./node_modules/qrcode/lib/core/finder-pattern.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const getSymbolSize = (__webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\").getSymbolSize)\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2ZpbmRlci1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQiw2RkFBZ0M7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSxvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvZmluZGVyLXBhdHRlcm4uanM/YTAzNyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRTeW1ib2xTaXplID0gcmVxdWlyZSgnLi91dGlscycpLmdldFN5bWJvbFNpemVcbmNvbnN0IEZJTkRFUl9QQVRURVJOX1NJWkUgPSA3XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbnMgb2YgZWFjaCBmaW5kZXIgcGF0dGVybi5cbiAqIEVhY2ggYXJyYXkncyBlbGVtZW50IHJlcHJlc2VudCB0aGUgdG9wLWxlZnQgcG9pbnQgb2YgdGhlIHBhdHRlcm4gYXMgKHgsIHkpIGNvb3JkaW5hdGVzXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7QXJyYXl9ICAgICAgICAgIEFycmF5IG9mIGNvb3JkaW5hdGVzXG4gKi9cbmV4cG9ydHMuZ2V0UG9zaXRpb25zID0gZnVuY3Rpb24gZ2V0UG9zaXRpb25zICh2ZXJzaW9uKSB7XG4gIGNvbnN0IHNpemUgPSBnZXRTeW1ib2xTaXplKHZlcnNpb24pXG5cbiAgcmV0dXJuIFtcbiAgICAvLyB0b3AtbGVmdFxuICAgIFswLCAwXSxcbiAgICAvLyB0b3AtcmlnaHRcbiAgICBbc2l6ZSAtIEZJTkRFUl9QQVRURVJOX1NJWkUsIDBdLFxuICAgIC8vIGJvdHRvbS1sZWZ0XG4gICAgWzAsIHNpemUgLSBGSU5ERVJfUEFUVEVSTl9TSVpFXVxuICBdXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/finder-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/format-info.js": -/*!*****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/format-info.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Zvcm1hdC1pbmZvLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyx3REFBUzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSw2QkFBNkI7QUFDekM7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Zvcm1hdC1pbmZvLmpzPzkyMDkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxuY29uc3QgRzE1ID0gKDEgPDwgMTApIHwgKDEgPDwgOCkgfCAoMSA8PCA1KSB8ICgxIDw8IDQpIHwgKDEgPDwgMikgfCAoMSA8PCAxKSB8ICgxIDw8IDApXG5jb25zdCBHMTVfTUFTSyA9ICgxIDw8IDE0KSB8ICgxIDw8IDEyKSB8ICgxIDw8IDEwKSB8ICgxIDw8IDQpIHwgKDEgPDwgMSlcbmNvbnN0IEcxNV9CQ0ggPSBVdGlscy5nZXRCQ0hEaWdpdChHMTUpXG5cbi8qKlxuICogUmV0dXJucyBmb3JtYXQgaW5mb3JtYXRpb24gd2l0aCByZWxhdGl2ZSBlcnJvciBjb3JyZWN0aW9uIGJpdHNcbiAqXG4gKiBUaGUgZm9ybWF0IGluZm9ybWF0aW9uIGlzIGEgMTUtYml0IHNlcXVlbmNlIGNvbnRhaW5pbmcgNSBkYXRhIGJpdHMsXG4gKiB3aXRoIDEwIGVycm9yIGNvcnJlY3Rpb24gYml0cyBjYWxjdWxhdGVkIHVzaW5nIHRoZSAoMTUsIDUpIEJDSCBjb2RlLlxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICogQHBhcmFtICB7TnVtYmVyfSBtYXNrICAgICAgICAgICAgICAgICBNYXNrIHBhdHRlcm5cbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBmb3JtYXQgaW5mb3JtYXRpb24gYml0c1xuICovXG5leHBvcnRzLmdldEVuY29kZWRCaXRzID0gZnVuY3Rpb24gZ2V0RW5jb2RlZEJpdHMgKGVycm9yQ29ycmVjdGlvbkxldmVsLCBtYXNrKSB7XG4gIGNvbnN0IGRhdGEgPSAoKGVycm9yQ29ycmVjdGlvbkxldmVsLmJpdCA8PCAzKSB8IG1hc2spXG4gIGxldCBkID0gZGF0YSA8PCAxMFxuXG4gIHdoaWxlIChVdGlscy5nZXRCQ0hEaWdpdChkKSAtIEcxNV9CQ0ggPj0gMCkge1xuICAgIGQgXj0gKEcxNSA8PCAoVXRpbHMuZ2V0QkNIRGlnaXQoZCkgLSBHMTVfQkNIKSlcbiAgfVxuXG4gIC8vIHhvciBmaW5hbCBkYXRhIHdpdGggbWFzayBwYXR0ZXJuIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0XG4gIC8vIG5vIGNvbWJpbmF0aW9uIG9mIEVycm9yIENvcnJlY3Rpb24gTGV2ZWwgYW5kIGRhdGEgbWFzayBwYXR0ZXJuXG4gIC8vIHdpbGwgcmVzdWx0IGluIGFuIGFsbC16ZXJvIGRhdGEgc3RyaW5nXG4gIHJldHVybiAoKGRhdGEgPDwgMTApIHwgZCkgXiBHMTVfTUFTS1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/format-info.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/galois-field.js": -/*!******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/galois-field.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2dhbG9pcy1maWVsZC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsQ0FBQztBQUNEO0FBQ0Esa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsb0JBQW9CLFNBQVM7QUFDN0I7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWTtBQUNaO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0EsV0FBVztBQUNYO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9nYWxvaXMtZmllbGQuanM/MDM4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBFWFBfVEFCTEUgPSBuZXcgVWludDhBcnJheSg1MTIpXG5jb25zdCBMT0dfVEFCTEUgPSBuZXcgVWludDhBcnJheSgyNTYpXG4vKipcbiAqIFByZWNvbXB1dGUgdGhlIGxvZyBhbmQgYW50aS1sb2cgdGFibGVzIGZvciBmYXN0ZXIgY29tcHV0YXRpb24gbGF0ZXJcbiAqXG4gKiBGb3IgZWFjaCBwb3NzaWJsZSB2YWx1ZSBpbiB0aGUgZ2Fsb2lzIGZpZWxkIDJeOCwgd2Ugd2lsbCBwcmUtY29tcHV0ZVxuICogdGhlIGxvZ2FyaXRobSBhbmQgYW50aS1sb2dhcml0aG0gKGV4cG9uZW50aWFsKSBvZiB0aGlzIHZhbHVlXG4gKlxuICogcmVmIHtAbGluayBodHRwczovL2VuLndpa2l2ZXJzaXR5Lm9yZy93aWtpL1JlZWQlRTIlODAlOTNTb2xvbW9uX2NvZGVzX2Zvcl9jb2RlcnMjSW50cm9kdWN0aW9uX3RvX21hdGhlbWF0aWNhbF9maWVsZHN9XG4gKi9cbjsoZnVuY3Rpb24gaW5pdFRhYmxlcyAoKSB7XG4gIGxldCB4ID0gMVxuICBmb3IgKGxldCBpID0gMDsgaSA8IDI1NTsgaSsrKSB7XG4gICAgRVhQX1RBQkxFW2ldID0geFxuICAgIExPR19UQUJMRVt4XSA9IGlcblxuICAgIHggPDw9IDEgLy8gbXVsdGlwbHkgYnkgMlxuXG4gICAgLy8gVGhlIFFSIGNvZGUgc3BlY2lmaWNhdGlvbiBzYXlzIHRvIHVzZSBieXRlLXdpc2UgbW9kdWxvIDEwMDAxMTEwMSBhcml0aG1ldGljLlxuICAgIC8vIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGEgbnVtYmVyIGlzIDI1NiBvciBsYXJnZXIsIGl0IHNob3VsZCBiZSBYT1JlZCB3aXRoIDB4MTFELlxuICAgIGlmICh4ICYgMHgxMDApIHsgLy8gc2ltaWxhciB0byB4ID49IDI1NiwgYnV0IGEgbG90IGZhc3RlciAoYmVjYXVzZSAweDEwMCA9PSAyNTYpXG4gICAgICB4IF49IDB4MTFEXG4gICAgfVxuICB9XG5cbiAgLy8gT3B0aW1pemF0aW9uOiBkb3VibGUgdGhlIHNpemUgb2YgdGhlIGFudGktbG9nIHRhYmxlIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBtb2QgMjU1IHRvXG4gIC8vIHN0YXkgaW5zaWRlIHRoZSBib3VuZHMgKGJlY2F1c2Ugd2Ugd2lsbCBtYWlubHkgdXNlIHRoaXMgdGFibGUgZm9yIHRoZSBtdWx0aXBsaWNhdGlvbiBvZlxuICAvLyB0d28gR0YgbnVtYmVycywgbm8gbW9yZSkuXG4gIC8vIEBzZWUge0BsaW5rIG11bH1cbiAgZm9yIChsZXQgaSA9IDI1NTsgaSA8IDUxMjsgaSsrKSB7XG4gICAgRVhQX1RBQkxFW2ldID0gRVhQX1RBQkxFW2kgLSAyNTVdXG4gIH1cbn0oKSlcblxuLyoqXG4gKiBSZXR1cm5zIGxvZyB2YWx1ZSBvZiBuIGluc2lkZSBHYWxvaXMgRmllbGRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IG5cbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuZXhwb3J0cy5sb2cgPSBmdW5jdGlvbiBsb2cgKG4pIHtcbiAgaWYgKG4gPCAxKSB0aHJvdyBuZXcgRXJyb3IoJ2xvZygnICsgbiArICcpJylcbiAgcmV0dXJuIExPR19UQUJMRVtuXVxufVxuXG4vKipcbiAqIFJldHVybnMgYW50aS1sb2cgdmFsdWUgb2YgbiBpbnNpZGUgR2Fsb2lzIEZpZWxkXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBuXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbmV4cG9ydHMuZXhwID0gZnVuY3Rpb24gZXhwIChuKSB7XG4gIHJldHVybiBFWFBfVEFCTEVbbl1cbn1cblxuLyoqXG4gKiBNdWx0aXBsaWVzIHR3byBudW1iZXIgaW5zaWRlIEdhbG9pcyBGaWVsZFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0geFxuICogQHBhcmFtICB7TnVtYmVyfSB5XG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbmV4cG9ydHMubXVsID0gZnVuY3Rpb24gbXVsICh4LCB5KSB7XG4gIGlmICh4ID09PSAwIHx8IHkgPT09IDApIHJldHVybiAwXG5cbiAgLy8gc2hvdWxkIGJlIEVYUF9UQUJMRVsoTE9HX1RBQkxFW3hdICsgTE9HX1RBQkxFW3ldKSAlIDI1NV0gaWYgRVhQX1RBQkxFIHdhc24ndCBvdmVyc2l6ZWRcbiAgLy8gQHNlZSB7QGxpbmsgaW5pdFRhYmxlc31cbiAgcmV0dXJuIEVYUF9UQUJMRVtMT0dfVEFCTEVbeF0gKyBMT0dfVEFCTEVbeV1dXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/galois-field.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/kanji-data.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/kanji-data.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2thbmppLWRhdGEuanMiLCJtYXBwaW5ncyI6IkFBQUEsYUFBYSxtQkFBTyxDQUFDLHNEQUFRO0FBQzdCLGNBQWMsbUJBQU8sQ0FBQyx3REFBUzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHNCQUFzQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2thbmppLWRhdGEuanM/OWFkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNb2RlID0gcmVxdWlyZSgnLi9tb2RlJylcbmNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmZ1bmN0aW9uIEthbmppRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLktBTkpJXG4gIHRoaXMuZGF0YSA9IGRhdGFcbn1cblxuS2FuamlEYXRhLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoIChsZW5ndGgpIHtcbiAgcmV0dXJuIGxlbmd0aCAqIDEzXG59XG5cbkthbmppRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuS2FuamlEYXRhLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAoKSB7XG4gIHJldHVybiBLYW5qaURhdGEuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKVxufVxuXG5LYW5qaURhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGJpdEJ1ZmZlcikge1xuICBsZXQgaVxuXG4gIC8vIEluIHRoZSBTaGlmdCBKSVMgc3lzdGVtLCBLYW5qaSBjaGFyYWN0ZXJzIGFyZSByZXByZXNlbnRlZCBieSBhIHR3byBieXRlIGNvbWJpbmF0aW9uLlxuICAvLyBUaGVzZSBieXRlIHZhbHVlcyBhcmUgc2hpZnRlZCBmcm9tIHRoZSBKSVMgWCAwMjA4IHZhbHVlcy5cbiAgLy8gSklTIFggMDIwOCBnaXZlcyBkZXRhaWxzIG9mIHRoZSBzaGlmdCBjb2RlZCByZXByZXNlbnRhdGlvbi5cbiAgZm9yIChpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7IGkrKykge1xuICAgIGxldCB2YWx1ZSA9IFV0aWxzLnRvU0pJUyh0aGlzLmRhdGFbaV0pXG5cbiAgICAvLyBGb3IgY2hhcmFjdGVycyB3aXRoIFNoaWZ0IEpJUyB2YWx1ZXMgZnJvbSAweDgxNDAgdG8gMHg5RkZDOlxuICAgIGlmICh2YWx1ZSA+PSAweDgxNDAgJiYgdmFsdWUgPD0gMHg5RkZDKSB7XG4gICAgICAvLyBTdWJ0cmFjdCAweDgxNDAgZnJvbSBTaGlmdCBKSVMgdmFsdWVcbiAgICAgIHZhbHVlIC09IDB4ODE0MFxuXG4gICAgLy8gRm9yIGNoYXJhY3RlcnMgd2l0aCBTaGlmdCBKSVMgdmFsdWVzIGZyb20gMHhFMDQwIHRvIDB4RUJCRlxuICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMHhFMDQwICYmIHZhbHVlIDw9IDB4RUJCRikge1xuICAgICAgLy8gU3VidHJhY3QgMHhDMTQwIGZyb20gU2hpZnQgSklTIHZhbHVlXG4gICAgICB2YWx1ZSAtPSAweEMxNDBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSW52YWxpZCBTSklTIGNoYXJhY3RlcjogJyArIHRoaXMuZGF0YVtpXSArICdcXG4nICtcbiAgICAgICAgJ01ha2Ugc3VyZSB5b3VyIGNoYXJzZXQgaXMgVVRGLTgnKVxuICAgIH1cblxuICAgIC8vIE11bHRpcGx5IG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiByZXN1bHQgYnkgMHhDMFxuICAgIC8vIGFuZCBhZGQgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSB0byBwcm9kdWN0XG4gICAgdmFsdWUgPSAoKCh2YWx1ZSA+Pj4gOCkgJiAweGZmKSAqIDB4QzApICsgKHZhbHVlICYgMHhmZilcblxuICAgIC8vIENvbnZlcnQgcmVzdWx0IHRvIGEgMTMtYml0IGJpbmFyeSBzdHJpbmdcbiAgICBiaXRCdWZmZXIucHV0KHZhbHVlLCAxMylcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEthbmppRGF0YVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/kanji-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/mask-pattern.js": -/*!******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/mask-pattern.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21hc2stcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLGlCQUFpQjtBQUM3QjtBQUNBLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksNEJBQTRCO0FBQ3hDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7O0FBRUEsc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLHNCQUFzQixnQkFBZ0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0Esc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCOztBQUVwQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVztBQUN2QixZQUFZLFdBQVc7QUFDdkI7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUEsb0JBQW9CLFlBQVk7QUFDaEMsc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFdBQVc7QUFDdkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvbWFzay1wYXR0ZXJuLmpzP2NlOGIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEYXRhIG1hc2sgcGF0dGVybiByZWZlcmVuY2VcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuUGF0dGVybnMgPSB7XG4gIFBBVFRFUk4wMDA6IDAsXG4gIFBBVFRFUk4wMDE6IDEsXG4gIFBBVFRFUk4wMTA6IDIsXG4gIFBBVFRFUk4wMTE6IDMsXG4gIFBBVFRFUk4xMDA6IDQsXG4gIFBBVFRFUk4xMDE6IDUsXG4gIFBBVFRFUk4xMTA6IDYsXG4gIFBBVFRFUk4xMTE6IDdcbn1cblxuLyoqXG4gKiBXZWlnaHRlZCBwZW5hbHR5IHNjb3JlcyBmb3IgdGhlIHVuZGVzaXJhYmxlIGZlYXR1cmVzXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5jb25zdCBQZW5hbHR5U2NvcmVzID0ge1xuICBOMTogMyxcbiAgTjI6IDMsXG4gIE4zOiA0MCxcbiAgTjQ6IDEwXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgbWFzayBwYXR0ZXJuIHZhbHVlIGlzIHZhbGlkXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgbWFzayAgICBNYXNrIHBhdHRlcm5cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgdHJ1ZSBpZiB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydHMuaXNWYWxpZCA9IGZ1bmN0aW9uIGlzVmFsaWQgKG1hc2spIHtcbiAgcmV0dXJuIG1hc2sgIT0gbnVsbCAmJiBtYXNrICE9PSAnJyAmJiAhaXNOYU4obWFzaykgJiYgbWFzayA+PSAwICYmIG1hc2sgPD0gN1xufVxuXG4vKipcbiAqIFJldHVybnMgbWFzayBwYXR0ZXJuIGZyb20gYSB2YWx1ZS5cbiAqIElmIHZhbHVlIGlzIG5vdCB2YWxpZCwgcmV0dXJucyB1bmRlZmluZWRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ8U3RyaW5nfSB2YWx1ZSAgICAgICAgTWFzayBwYXR0ZXJuIHZhbHVlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgVmFsaWQgbWFzayBwYXR0ZXJuIG9yIHVuZGVmaW5lZFxuICovXG5leHBvcnRzLmZyb20gPSBmdW5jdGlvbiBmcm9tICh2YWx1ZSkge1xuICByZXR1cm4gZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSA/IHBhcnNlSW50KHZhbHVlLCAxMCkgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4qIEZpbmQgYWRqYWNlbnQgbW9kdWxlcyBpbiByb3cvY29sdW1uIHdpdGggdGhlIHNhbWUgY29sb3JcbiogYW5kIGFzc2lnbiBhIHBlbmFsdHkgdmFsdWUuXG4qXG4qIFBvaW50czogTjEgKyBpXG4qIGkgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgbnVtYmVyIG9mIGFkamFjZW50IG1vZHVsZXMgb2YgdGhlIHNhbWUgY29sb3IgZXhjZWVkcyA1XG4qL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjEgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjEgKGRhdGEpIHtcbiAgY29uc3Qgc2l6ZSA9IGRhdGEuc2l6ZVxuICBsZXQgcG9pbnRzID0gMFxuICBsZXQgc2FtZUNvdW50Q29sID0gMFxuICBsZXQgc2FtZUNvdW50Um93ID0gMFxuICBsZXQgbGFzdENvbCA9IG51bGxcbiAgbGV0IGxhc3RSb3cgPSBudWxsXG5cbiAgZm9yIChsZXQgcm93ID0gMDsgcm93IDwgc2l6ZTsgcm93KyspIHtcbiAgICBzYW1lQ291bnRDb2wgPSBzYW1lQ291bnRSb3cgPSAwXG4gICAgbGFzdENvbCA9IGxhc3RSb3cgPSBudWxsXG5cbiAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBzaXplOyBjb2wrKykge1xuICAgICAgbGV0IG1vZHVsZSA9IGRhdGEuZ2V0KHJvdywgY29sKVxuICAgICAgaWYgKG1vZHVsZSA9PT0gbGFzdENvbCkge1xuICAgICAgICBzYW1lQ291bnRDb2wrK1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNhbWVDb3VudENvbCA+PSA1KSBwb2ludHMgKz0gUGVuYWx0eVNjb3Jlcy5OMSArIChzYW1lQ291bnRDb2wgLSA1KVxuICAgICAgICBsYXN0Q29sID0gbW9kdWxlXG4gICAgICAgIHNhbWVDb3VudENvbCA9IDFcbiAgICAgIH1cblxuICAgICAgbW9kdWxlID0gZGF0YS5nZXQoY29sLCByb3cpXG4gICAgICBpZiAobW9kdWxlID09PSBsYXN0Um93KSB7XG4gICAgICAgIHNhbWVDb3VudFJvdysrXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoc2FtZUNvdW50Um93ID49IDUpIHBvaW50cyArPSBQZW5hbHR5U2NvcmVzLk4xICsgKHNhbWVDb3VudFJvdyAtIDUpXG4gICAgICAgIGxhc3RSb3cgPSBtb2R1bGVcbiAgICAgICAgc2FtZUNvdW50Um93ID0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzYW1lQ291bnRDb2wgPj0gNSkgcG9pbnRzICs9IFBlbmFsdHlTY29yZXMuTjEgKyAoc2FtZUNvdW50Q29sIC0gNSlcbiAgICBpZiAoc2FtZUNvdW50Um93ID49IDUpIHBvaW50cyArPSBQZW5hbHR5U2NvcmVzLk4xICsgKHNhbWVDb3VudFJvdyAtIDUpXG4gIH1cblxuICByZXR1cm4gcG9pbnRzXG59XG5cbi8qKlxuICogRmluZCAyeDIgYmxvY2tzIHdpdGggdGhlIHNhbWUgY29sb3IgYW5kIGFzc2lnbiBhIHBlbmFsdHkgdmFsdWVcbiAqXG4gKiBQb2ludHM6IE4yICogKG0gLSAxKSAqIChuIC0gMSlcbiAqL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjIgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjIgKGRhdGEpIHtcbiAgY29uc3Qgc2l6ZSA9IGRhdGEuc2l6ZVxuICBsZXQgcG9pbnRzID0gMFxuXG4gIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHNpemUgLSAxOyByb3crKykge1xuICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHNpemUgLSAxOyBjb2wrKykge1xuICAgICAgY29uc3QgbGFzdCA9IGRhdGEuZ2V0KHJvdywgY29sKSArXG4gICAgICAgIGRhdGEuZ2V0KHJvdywgY29sICsgMSkgK1xuICAgICAgICBkYXRhLmdldChyb3cgKyAxLCBjb2wpICtcbiAgICAgICAgZGF0YS5nZXQocm93ICsgMSwgY29sICsgMSlcblxuICAgICAgaWYgKGxhc3QgPT09IDQgfHwgbGFzdCA9PT0gMCkgcG9pbnRzKytcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9pbnRzICogUGVuYWx0eVNjb3Jlcy5OMlxufVxuXG4vKipcbiAqIEZpbmQgMToxOjM6MToxIHJhdGlvIChkYXJrOmxpZ2h0OmRhcms6bGlnaHQ6ZGFyaykgcGF0dGVybiBpbiByb3cvY29sdW1uLFxuICogcHJlY2VkZWQgb3IgZm9sbG93ZWQgYnkgbGlnaHQgYXJlYSA0IG1vZHVsZXMgd2lkZVxuICpcbiAqIFBvaW50czogTjMgKiBudW1iZXIgb2YgcGF0dGVybiBmb3VuZFxuICovXG5leHBvcnRzLmdldFBlbmFsdHlOMyA9IGZ1bmN0aW9uIGdldFBlbmFsdHlOMyAoZGF0YSkge1xuICBjb25zdCBzaXplID0gZGF0YS5zaXplXG4gIGxldCBwb2ludHMgPSAwXG4gIGxldCBiaXRzQ29sID0gMFxuICBsZXQgYml0c1JvdyA9IDBcblxuICBmb3IgKGxldCByb3cgPSAwOyByb3cgPCBzaXplOyByb3crKykge1xuICAgIGJpdHNDb2wgPSBiaXRzUm93ID0gMFxuICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHNpemU7IGNvbCsrKSB7XG4gICAgICBiaXRzQ29sID0gKChiaXRzQ29sIDw8IDEpICYgMHg3RkYpIHwgZGF0YS5nZXQocm93LCBjb2wpXG4gICAgICBpZiAoY29sID49IDEwICYmIChiaXRzQ29sID09PSAweDVEMCB8fCBiaXRzQ29sID09PSAweDA1RCkpIHBvaW50cysrXG5cbiAgICAgIGJpdHNSb3cgPSAoKGJpdHNSb3cgPDwgMSkgJiAweDdGRikgfCBkYXRhLmdldChjb2wsIHJvdylcbiAgICAgIGlmIChjb2wgPj0gMTAgJiYgKGJpdHNSb3cgPT09IDB4NUQwIHx8IGJpdHNSb3cgPT09IDB4MDVEKSkgcG9pbnRzKytcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9pbnRzICogUGVuYWx0eVNjb3Jlcy5OM1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBwcm9wb3J0aW9uIG9mIGRhcmsgbW9kdWxlcyBpbiBlbnRpcmUgc3ltYm9sXG4gKlxuICogUG9pbnRzOiBONCAqIGtcbiAqXG4gKiBrIGlzIHRoZSByYXRpbmcgb2YgdGhlIGRldmlhdGlvbiBvZiB0aGUgcHJvcG9ydGlvbiBvZiBkYXJrIG1vZHVsZXNcbiAqIGluIHRoZSBzeW1ib2wgZnJvbSA1MCUgaW4gc3RlcHMgb2YgNSVcbiAqL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjQgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjQgKGRhdGEpIHtcbiAgbGV0IGRhcmtDb3VudCA9IDBcbiAgY29uc3QgbW9kdWxlc0NvdW50ID0gZGF0YS5kYXRhLmxlbmd0aFxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbW9kdWxlc0NvdW50OyBpKyspIGRhcmtDb3VudCArPSBkYXRhLmRhdGFbaV1cblxuICBjb25zdCBrID0gTWF0aC5hYnMoTWF0aC5jZWlsKChkYXJrQ291bnQgKiAxMDAgLyBtb2R1bGVzQ291bnQpIC8gNSkgLSAxMClcblxuICByZXR1cm4gayAqIFBlbmFsdHlTY29yZXMuTjRcbn1cblxuLyoqXG4gKiBSZXR1cm4gbWFzayB2YWx1ZSBhdCBnaXZlbiBwb3NpdGlvblxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gbWFza1BhdHRlcm4gUGF0dGVybiByZWZlcmVuY2UgdmFsdWVcbiAqIEBwYXJhbSAge051bWJlcn0gaSAgICAgICAgICAgUm93XG4gKiBAcGFyYW0gIHtOdW1iZXJ9IGogICAgICAgICAgIENvbHVtblxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICBNYXNrIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGdldE1hc2tBdCAobWFza1BhdHRlcm4sIGksIGopIHtcbiAgc3dpdGNoIChtYXNrUGF0dGVybikge1xuICAgIGNhc2UgZXhwb3J0cy5QYXR0ZXJucy5QQVRURVJOMDAwOiByZXR1cm4gKGkgKyBqKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjAwMTogcmV0dXJuIGkgJSAyID09PSAwXG4gICAgY2FzZSBleHBvcnRzLlBhdHRlcm5zLlBBVFRFUk4wMTA6IHJldHVybiBqICUgMyA9PT0gMFxuICAgIGNhc2UgZXhwb3J0cy5QYXR0ZXJucy5QQVRURVJOMDExOiByZXR1cm4gKGkgKyBqKSAlIDMgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjEwMDogcmV0dXJuIChNYXRoLmZsb29yKGkgLyAyKSArIE1hdGguZmxvb3IoaiAvIDMpKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjEwMTogcmV0dXJuIChpICogaikgJSAyICsgKGkgKiBqKSAlIDMgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjExMDogcmV0dXJuICgoaSAqIGopICUgMiArIChpICogaikgJSAzKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjExMTogcmV0dXJuICgoaSAqIGopICUgMyArIChpICsgaikgJSAyKSAlIDIgPT09IDBcblxuICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcignYmFkIG1hc2tQYXR0ZXJuOicgKyBtYXNrUGF0dGVybilcbiAgfVxufVxuXG4vKipcbiAqIEFwcGx5IGEgbWFzayBwYXR0ZXJuIHRvIGEgQml0TWF0cml4XG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgICBwYXR0ZXJuIFBhdHRlcm4gcmVmZXJlbmNlIG51bWJlclxuICogQHBhcmFtICB7Qml0TWF0cml4fSBkYXRhICAgIEJpdE1hdHJpeCBkYXRhXG4gKi9cbmV4cG9ydHMuYXBwbHlNYXNrID0gZnVuY3Rpb24gYXBwbHlNYXNrIChwYXR0ZXJuLCBkYXRhKSB7XG4gIGNvbnN0IHNpemUgPSBkYXRhLnNpemVcblxuICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBzaXplOyBjb2wrKykge1xuICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHNpemU7IHJvdysrKSB7XG4gICAgICBpZiAoZGF0YS5pc1Jlc2VydmVkKHJvdywgY29sKSkgY29udGludWVcbiAgICAgIGRhdGEueG9yKHJvdywgY29sLCBnZXRNYXNrQXQocGF0dGVybiwgcm93LCBjb2wpKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGJlc3QgbWFzayBwYXR0ZXJuIGZvciBkYXRhXG4gKlxuICogQHBhcmFtICB7Qml0TWF0cml4fSBkYXRhXG4gKiBAcmV0dXJuIHtOdW1iZXJ9IE1hc2sgcGF0dGVybiByZWZlcmVuY2UgbnVtYmVyXG4gKi9cbmV4cG9ydHMuZ2V0QmVzdE1hc2sgPSBmdW5jdGlvbiBnZXRCZXN0TWFzayAoZGF0YSwgc2V0dXBGb3JtYXRGdW5jKSB7XG4gIGNvbnN0IG51bVBhdHRlcm5zID0gT2JqZWN0LmtleXMoZXhwb3J0cy5QYXR0ZXJucykubGVuZ3RoXG4gIGxldCBiZXN0UGF0dGVybiA9IDBcbiAgbGV0IGxvd2VyUGVuYWx0eSA9IEluZmluaXR5XG5cbiAgZm9yIChsZXQgcCA9IDA7IHAgPCBudW1QYXR0ZXJuczsgcCsrKSB7XG4gICAgc2V0dXBGb3JtYXRGdW5jKHApXG4gICAgZXhwb3J0cy5hcHBseU1hc2socCwgZGF0YSlcblxuICAgIC8vIENhbGN1bGF0ZSBwZW5hbHR5XG4gICAgY29uc3QgcGVuYWx0eSA9XG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMShkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMihkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMyhkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlONChkYXRhKVxuXG4gICAgLy8gVW5kbyBwcmV2aW91c2x5IGFwcGxpZWQgbWFza1xuICAgIGV4cG9ydHMuYXBwbHlNYXNrKHAsIGRhdGEpXG5cbiAgICBpZiAocGVuYWx0eSA8IGxvd2VyUGVuYWx0eSkge1xuICAgICAgbG93ZXJQZW5hbHR5ID0gcGVuYWx0eVxuICAgICAgYmVzdFBhdHRlcm4gPSBwXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJlc3RQYXR0ZXJuXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/mask-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/mode.js": -/*!**********************************************!*\ - !*** ./node_modules/qrcode/lib/core/mode.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const VersionCheck = __webpack_require__(/*! ./version-check */ \"./node_modules/qrcode/lib/core/version-check.js\")\nconst Regex = __webpack_require__(/*! ./regex */ \"./node_modules/qrcode/lib/core/regex.js\")\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21vZGUuanMiLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCLG1CQUFPLENBQUMsd0VBQWlCO0FBQzlDLGNBQWMsbUJBQU8sQ0FBQyx3REFBUzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixhQUFhLFNBQVM7QUFDdEI7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEI7QUFDQSxlQUFlO0FBQ2Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxlQUFlO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGFBQWE7QUFDekIsWUFBWSxhQUFhO0FBQ3pCLFlBQVksMEJBQTBCO0FBQ3RDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21vZGUuanM/ODM3YSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBWZXJzaW9uQ2hlY2sgPSByZXF1aXJlKCcuL3ZlcnNpb24tY2hlY2snKVxuY29uc3QgUmVnZXggPSByZXF1aXJlKCcuL3JlZ2V4JylcblxuLyoqXG4gKiBOdW1lcmljIG1vZGUgZW5jb2RlcyBkYXRhIGZyb20gdGhlIGRlY2ltYWwgZGlnaXQgc2V0ICgwIC0gOSlcbiAqIChieXRlIHZhbHVlcyAzMEhFWCB0byAzOUhFWCkuXG4gKiBOb3JtYWxseSwgMyBkYXRhIGNoYXJhY3RlcnMgYXJlIHJlcHJlc2VudGVkIGJ5IDEwIGJpdHMuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0cy5OVU1FUklDID0ge1xuICBpZDogJ051bWVyaWMnLFxuICBiaXQ6IDEgPDwgMCxcbiAgY2NCaXRzOiBbMTAsIDEyLCAxNF1cbn1cblxuLyoqXG4gKiBBbHBoYW51bWVyaWMgbW9kZSBlbmNvZGVzIGRhdGEgZnJvbSBhIHNldCBvZiA0NSBjaGFyYWN0ZXJzLFxuICogaS5lLiAxMCBudW1lcmljIGRpZ2l0cyAoMCAtIDkpLFxuICogICAgICAyNiBhbHBoYWJldGljIGNoYXJhY3RlcnMgKEEgLSBaKSxcbiAqICAgYW5kIDkgc3ltYm9scyAoU1AsICQsICUsICosICssIC0sIC4sIC8sIDopLlxuICogTm9ybWFsbHksIHR3byBpbnB1dCBjaGFyYWN0ZXJzIGFyZSByZXByZXNlbnRlZCBieSAxMSBiaXRzLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuQUxQSEFOVU1FUklDID0ge1xuICBpZDogJ0FscGhhbnVtZXJpYycsXG4gIGJpdDogMSA8PCAxLFxuICBjY0JpdHM6IFs5LCAxMSwgMTNdXG59XG5cbi8qKlxuICogSW4gYnl0ZSBtb2RlLCBkYXRhIGlzIGVuY29kZWQgYXQgOCBiaXRzIHBlciBjaGFyYWN0ZXIuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0cy5CWVRFID0ge1xuICBpZDogJ0J5dGUnLFxuICBiaXQ6IDEgPDwgMixcbiAgY2NCaXRzOiBbOCwgMTYsIDE2XVxufVxuXG4vKipcbiAqIFRoZSBLYW5qaSBtb2RlIGVmZmljaWVudGx5IGVuY29kZXMgS2FuamkgY2hhcmFjdGVycyBpbiBhY2NvcmRhbmNlIHdpdGhcbiAqIHRoZSBTaGlmdCBKSVMgc3lzdGVtIGJhc2VkIG9uIEpJUyBYIDAyMDguXG4gKiBUaGUgU2hpZnQgSklTIHZhbHVlcyBhcmUgc2hpZnRlZCBmcm9tIHRoZSBKSVMgWCAwMjA4IHZhbHVlcy5cbiAqIEpJUyBYIDAyMDggZ2l2ZXMgZGV0YWlscyBvZiB0aGUgc2hpZnQgY29kZWQgcmVwcmVzZW50YXRpb24uXG4gKiBFYWNoIHR3by1ieXRlIGNoYXJhY3RlciB2YWx1ZSBpcyBjb21wYWN0ZWQgdG8gYSAxMy1iaXQgYmluYXJ5IGNvZGV3b3JkLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuS0FOSkkgPSB7XG4gIGlkOiAnS2FuamknLFxuICBiaXQ6IDEgPDwgMyxcbiAgY2NCaXRzOiBbOCwgMTAsIDEyXVxufVxuXG4vKipcbiAqIE1peGVkIG1vZGUgd2lsbCBjb250YWluIGEgc2VxdWVuY2VzIG9mIGRhdGEgaW4gYSBjb21iaW5hdGlvbiBvZiBhbnkgb2ZcbiAqIHRoZSBtb2RlcyBkZXNjcmliZWQgYWJvdmVcbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5leHBvcnRzLk1JWEVEID0ge1xuICBiaXQ6IC0xXG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRvIHN0b3JlIHRoZSBkYXRhIGxlbmd0aFxuICogYWNjb3JkaW5nIHRvIFFSIENvZGUgc3BlY2lmaWNhdGlvbnMuXG4gKlxuICogQHBhcmFtICB7TW9kZX0gICBtb2RlICAgIERhdGEgbW9kZVxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIE51bWJlciBvZiBiaXRzXG4gKi9cbmV4cG9ydHMuZ2V0Q2hhckNvdW50SW5kaWNhdG9yID0gZnVuY3Rpb24gZ2V0Q2hhckNvdW50SW5kaWNhdG9yIChtb2RlLCB2ZXJzaW9uKSB7XG4gIGlmICghbW9kZS5jY0JpdHMpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RlOiAnICsgbW9kZSlcblxuICBpZiAoIVZlcnNpb25DaGVjay5pc1ZhbGlkKHZlcnNpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb246ICcgKyB2ZXJzaW9uKVxuICB9XG5cbiAgaWYgKHZlcnNpb24gPj0gMSAmJiB2ZXJzaW9uIDwgMTApIHJldHVybiBtb2RlLmNjQml0c1swXVxuICBlbHNlIGlmICh2ZXJzaW9uIDwgMjcpIHJldHVybiBtb2RlLmNjQml0c1sxXVxuICByZXR1cm4gbW9kZS5jY0JpdHNbMl1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtb3N0IGVmZmljaWVudCBtb2RlIHRvIHN0b3JlIHRoZSBzcGVjaWZpZWQgZGF0YVxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YVN0ciBJbnB1dCBkYXRhIHN0cmluZ1xuICogQHJldHVybiB7TW9kZX0gICAgICAgICAgIEJlc3QgbW9kZVxuICovXG5leHBvcnRzLmdldEJlc3RNb2RlRm9yRGF0YSA9IGZ1bmN0aW9uIGdldEJlc3RNb2RlRm9yRGF0YSAoZGF0YVN0cikge1xuICBpZiAoUmVnZXgudGVzdE51bWVyaWMoZGF0YVN0cikpIHJldHVybiBleHBvcnRzLk5VTUVSSUNcbiAgZWxzZSBpZiAoUmVnZXgudGVzdEFscGhhbnVtZXJpYyhkYXRhU3RyKSkgcmV0dXJuIGV4cG9ydHMuQUxQSEFOVU1FUklDXG4gIGVsc2UgaWYgKFJlZ2V4LnRlc3RLYW5qaShkYXRhU3RyKSkgcmV0dXJuIGV4cG9ydHMuS0FOSklcbiAgZWxzZSByZXR1cm4gZXhwb3J0cy5CWVRFXG59XG5cbi8qKlxuICogUmV0dXJuIG1vZGUgbmFtZSBhcyBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge01vZGV9IG1vZGUgTW9kZSBvYmplY3RcbiAqIEByZXR1cm5zIHtTdHJpbmd9ICBNb2RlIG5hbWVcbiAqL1xuZXhwb3J0cy50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChtb2RlKSB7XG4gIGlmIChtb2RlICYmIG1vZGUuaWQpIHJldHVybiBtb2RlLmlkXG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RlJylcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBwYXJhbSBpcyBhIHZhbGlkIG1vZGUgb2JqZWN0XG4gKlxuICogQHBhcmFtICAge01vZGV9ICAgIG1vZGUgTW9kZSBvYmplY3RcbiAqIEByZXR1cm5zIHtCb29sZWFufSBUcnVlIGlmIHZhbGlkIG1vZGUsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnRzLmlzVmFsaWQgPSBmdW5jdGlvbiBpc1ZhbGlkIChtb2RlKSB7XG4gIHJldHVybiBtb2RlICYmIG1vZGUuYml0ICYmIG1vZGUuY2NCaXRzXG59XG5cbi8qKlxuICogR2V0IG1vZGUgb2JqZWN0IGZyb20gaXRzIG5hbWVcbiAqXG4gKiBAcGFyYW0gICB7U3RyaW5nfSBzdHJpbmcgTW9kZSBuYW1lXG4gKiBAcmV0dXJucyB7TW9kZX0gICAgICAgICAgTW9kZSBvYmplY3RcbiAqL1xuZnVuY3Rpb24gZnJvbVN0cmluZyAoc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignUGFyYW0gaXMgbm90IGEgc3RyaW5nJylcbiAgfVxuXG4gIGNvbnN0IGxjU3RyID0gc3RyaW5nLnRvTG93ZXJDYXNlKClcblxuICBzd2l0Y2ggKGxjU3RyKSB7XG4gICAgY2FzZSAnbnVtZXJpYyc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5OVU1FUklDXG4gICAgY2FzZSAnYWxwaGFudW1lcmljJzpcbiAgICAgIHJldHVybiBleHBvcnRzLkFMUEhBTlVNRVJJQ1xuICAgIGNhc2UgJ2thbmppJzpcbiAgICAgIHJldHVybiBleHBvcnRzLktBTkpJXG4gICAgY2FzZSAnYnl0ZSc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5CWVRFXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBtb2RlOiAnICsgc3RyaW5nKVxuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBtb2RlIGZyb20gYSB2YWx1ZS5cbiAqIElmIHZhbHVlIGlzIG5vdCBhIHZhbGlkIG1vZGUsIHJldHVybnMgZGVmYXVsdFZhbHVlXG4gKlxuICogQHBhcmFtICB7TW9kZXxTdHJpbmd9IHZhbHVlICAgICAgICBFbmNvZGluZyBtb2RlXG4gKiBAcGFyYW0gIHtNb2RlfSAgICAgICAgZGVmYXVsdFZhbHVlIEZhbGxiYWNrIHZhbHVlXG4gKiBAcmV0dXJuIHtNb2RlfSAgICAgICAgICAgICAgICAgICAgIEVuY29kaW5nIG1vZGVcbiAqL1xuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh2YWx1ZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/mode.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/numeric-data.js": -/*!******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/numeric-data.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL251bWVyaWMtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxhQUFhLG1CQUFPLENBQUMsc0RBQVE7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsMkJBQTJCO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvbnVtZXJpYy1kYXRhLmpzPzJlOGMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTW9kZSA9IHJlcXVpcmUoJy4vbW9kZScpXG5cbmZ1bmN0aW9uIE51bWVyaWNEYXRhIChkYXRhKSB7XG4gIHRoaXMubW9kZSA9IE1vZGUuTlVNRVJJQ1xuICB0aGlzLmRhdGEgPSBkYXRhLnRvU3RyaW5nKClcbn1cblxuTnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gMTAgKiBNYXRoLmZsb29yKGxlbmd0aCAvIDMpICsgKChsZW5ndGggJSAzKSA/ICgobGVuZ3RoICUgMykgKiAzICsgMSkgOiAwKVxufVxuXG5OdW1lcmljRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuTnVtZXJpY0RhdGEucHJvdG90eXBlLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoICgpIHtcbiAgcmV0dXJuIE51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuTnVtZXJpY0RhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKGJpdEJ1ZmZlcikge1xuICBsZXQgaSwgZ3JvdXAsIHZhbHVlXG5cbiAgLy8gVGhlIGlucHV0IGRhdGEgc3RyaW5nIGlzIGRpdmlkZWQgaW50byBncm91cHMgb2YgdGhyZWUgZGlnaXRzLFxuICAvLyBhbmQgZWFjaCBncm91cCBpcyBjb252ZXJ0ZWQgdG8gaXRzIDEwLWJpdCBiaW5hcnkgZXF1aXZhbGVudC5cbiAgZm9yIChpID0gMDsgaSArIDMgPD0gdGhpcy5kYXRhLmxlbmd0aDsgaSArPSAzKSB7XG4gICAgZ3JvdXAgPSB0aGlzLmRhdGEuc3Vic3RyKGksIDMpXG4gICAgdmFsdWUgPSBwYXJzZUludChncm91cCwgMTApXG5cbiAgICBiaXRCdWZmZXIucHV0KHZhbHVlLCAxMClcbiAgfVxuXG4gIC8vIElmIHRoZSBudW1iZXIgb2YgaW5wdXQgZGlnaXRzIGlzIG5vdCBhbiBleGFjdCBtdWx0aXBsZSBvZiB0aHJlZSxcbiAgLy8gdGhlIGZpbmFsIG9uZSBvciB0d28gZGlnaXRzIGFyZSBjb252ZXJ0ZWQgdG8gNCBvciA3IGJpdHMgcmVzcGVjdGl2ZWx5LlxuICBjb25zdCByZW1haW5pbmdOdW0gPSB0aGlzLmRhdGEubGVuZ3RoIC0gaVxuICBpZiAocmVtYWluaW5nTnVtID4gMCkge1xuICAgIGdyb3VwID0gdGhpcy5kYXRhLnN1YnN0cihpKVxuICAgIHZhbHVlID0gcGFyc2VJbnQoZ3JvdXAsIDEwKVxuXG4gICAgYml0QnVmZmVyLnB1dCh2YWx1ZSwgcmVtYWluaW5nTnVtICogMyArIDEpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBOdW1lcmljRGF0YVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/numeric-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/polynomial.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/polynomial.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const GF = __webpack_require__(/*! ./galois-field */ \"./node_modules/qrcode/lib/core/galois-field.js\")\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3BvbHlub21pYWwuanMiLCJtYXBwaW5ncyI6IkFBQUEsV0FBVyxtQkFBTyxDQUFDLHNFQUFnQjs7QUFFbkM7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksWUFBWTtBQUN4QixZQUFZLGVBQWU7QUFDM0I7QUFDQSxXQUFXO0FBQ1g7O0FBRUEsa0JBQWtCLGVBQWU7QUFDakMsb0JBQW9CLGVBQWU7QUFDbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksWUFBWTtBQUN4QixZQUFZLHFCQUFxQjtBQUNqQztBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBOztBQUVBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxlQUFlO0FBQzNCO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0Esa0JBQWtCLFlBQVk7QUFDOUI7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvcG9seW5vbWlhbC5qcz9iY2JhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEdGID0gcmVxdWlyZSgnLi9nYWxvaXMtZmllbGQnKVxuXG4vKipcbiAqIE11bHRpcGxpZXMgdHdvIHBvbHlub21pYWxzIGluc2lkZSBHYWxvaXMgRmllbGRcbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBwMSBQb2x5bm9taWFsXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBwMiBQb2x5bm9taWFsXG4gKiBAcmV0dXJuIHtVaW50OEFycmF5fSAgICBQcm9kdWN0IG9mIHAxIGFuZCBwMlxuICovXG5leHBvcnRzLm11bCA9IGZ1bmN0aW9uIG11bCAocDEsIHAyKSB7XG4gIGNvbnN0IGNvZWZmID0gbmV3IFVpbnQ4QXJyYXkocDEubGVuZ3RoICsgcDIubGVuZ3RoIC0gMSlcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHAxLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBwMi5sZW5ndGg7IGorKykge1xuICAgICAgY29lZmZbaSArIGpdIF49IEdGLm11bChwMVtpXSwgcDJbal0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvZWZmXG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSByZW1haW5kZXIgb2YgcG9seW5vbWlhbHMgZGl2aXNpb25cbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkaXZpZGVudCBQb2x5bm9taWFsXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkaXZpc29yICBQb2x5bm9taWFsXG4gKiBAcmV0dXJuIHtVaW50OEFycmF5fSAgICAgICAgICBSZW1haW5kZXJcbiAqL1xuZXhwb3J0cy5tb2QgPSBmdW5jdGlvbiBtb2QgKGRpdmlkZW50LCBkaXZpc29yKSB7XG4gIGxldCByZXN1bHQgPSBuZXcgVWludDhBcnJheShkaXZpZGVudClcblxuICB3aGlsZSAoKHJlc3VsdC5sZW5ndGggLSBkaXZpc29yLmxlbmd0aCkgPj0gMCkge1xuICAgIGNvbnN0IGNvZWZmID0gcmVzdWx0WzBdXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpdmlzb3IubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdFtpXSBePSBHRi5tdWwoZGl2aXNvcltpXSwgY29lZmYpXG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIGFsbCB6ZXJvcyBmcm9tIGJ1ZmZlciBoZWFkXG4gICAgbGV0IG9mZnNldCA9IDBcbiAgICB3aGlsZSAob2Zmc2V0IDwgcmVzdWx0Lmxlbmd0aCAmJiByZXN1bHRbb2Zmc2V0XSA9PT0gMCkgb2Zmc2V0KytcbiAgICByZXN1bHQgPSByZXN1bHQuc2xpY2Uob2Zmc2V0KVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGFuIGlycmVkdWNpYmxlIGdlbmVyYXRvciBwb2x5bm9taWFsIG9mIHNwZWNpZmllZCBkZWdyZWVcbiAqICh1c2VkIGJ5IFJlZWQtU29sb21vbiBlbmNvZGVyKVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gZGVncmVlIERlZ3JlZSBvZiB0aGUgZ2VuZXJhdG9yIHBvbHlub21pYWxcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgIEJ1ZmZlciBjb250YWluaW5nIHBvbHlub21pYWwgY29lZmZpY2llbnRzXG4gKi9cbmV4cG9ydHMuZ2VuZXJhdGVFQ1BvbHlub21pYWwgPSBmdW5jdGlvbiBnZW5lcmF0ZUVDUG9seW5vbWlhbCAoZGVncmVlKSB7XG4gIGxldCBwb2x5ID0gbmV3IFVpbnQ4QXJyYXkoWzFdKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlZ3JlZTsgaSsrKSB7XG4gICAgcG9seSA9IGV4cG9ydHMubXVsKHBvbHksIG5ldyBVaW50OEFycmF5KFsxLCBHRi5leHAoaSldKSlcbiAgfVxuXG4gIHJldHVybiBwb2x5XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/polynomial.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/qrcode.js": -/*!************************************************!*\ - !*** ./node_modules/qrcode/lib/core/qrcode.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\nconst ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/qrcode/lib/core/error-correction-level.js\")\nconst BitBuffer = __webpack_require__(/*! ./bit-buffer */ \"./node_modules/qrcode/lib/core/bit-buffer.js\")\nconst BitMatrix = __webpack_require__(/*! ./bit-matrix */ \"./node_modules/qrcode/lib/core/bit-matrix.js\")\nconst AlignmentPattern = __webpack_require__(/*! ./alignment-pattern */ \"./node_modules/qrcode/lib/core/alignment-pattern.js\")\nconst FinderPattern = __webpack_require__(/*! ./finder-pattern */ \"./node_modules/qrcode/lib/core/finder-pattern.js\")\nconst MaskPattern = __webpack_require__(/*! ./mask-pattern */ \"./node_modules/qrcode/lib/core/mask-pattern.js\")\nconst ECCode = __webpack_require__(/*! ./error-correction-code */ \"./node_modules/qrcode/lib/core/error-correction-code.js\")\nconst ReedSolomonEncoder = __webpack_require__(/*! ./reed-solomon-encoder */ \"./node_modules/qrcode/lib/core/reed-solomon-encoder.js\")\nconst Version = __webpack_require__(/*! ./version */ \"./node_modules/qrcode/lib/core/version.js\")\nconst FormatInfo = __webpack_require__(/*! ./format-info */ \"./node_modules/qrcode/lib/core/format-info.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst Segments = __webpack_require__(/*! ./segments */ \"./node_modules/qrcode/lib/core/segments.js\")\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3FyY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsd0RBQVM7QUFDL0IsZ0JBQWdCLG1CQUFPLENBQUMsMEZBQTBCO0FBQ2xELGtCQUFrQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3hDLGtCQUFrQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3hDLHlCQUF5QixtQkFBTyxDQUFDLGdGQUFxQjtBQUN0RCxzQkFBc0IsbUJBQU8sQ0FBQywwRUFBa0I7QUFDaEQsb0JBQW9CLG1CQUFPLENBQUMsc0VBQWdCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyx3RkFBeUI7QUFDaEQsMkJBQTJCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQzNELGdCQUFnQixtQkFBTyxDQUFDLDREQUFXO0FBQ25DLG1CQUFtQixtQkFBTyxDQUFDLG9FQUFlO0FBQzFDLGFBQWEsbUJBQU8sQ0FBQyxzREFBUTtBQUM3QixpQkFBaUIsbUJBQU8sQ0FBQyw4REFBWTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7O0FBRUEscUJBQXFCLFFBQVE7QUFDN0I7O0FBRUEsdUJBQXVCLFFBQVE7QUFDL0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGNBQWM7QUFDaEM7QUFDQTtBQUNBO0FB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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnRUFBZ0U7QUFDaEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0IsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvcXJjb2RlLmpzP2YyYjYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcbmNvbnN0IEVDTGV2ZWwgPSByZXF1aXJlKCcuL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwnKVxuY29uc3QgQml0QnVmZmVyID0gcmVxdWlyZSgnLi9iaXQtYnVmZmVyJylcbmNvbnN0IEJpdE1hdHJpeCA9IHJlcXVpcmUoJy4vYml0LW1hdHJpeCcpXG5jb25zdCBBbGlnbm1lbnRQYXR0ZXJuID0gcmVxdWlyZSgnLi9hbGlnbm1lbnQtcGF0dGVybicpXG5jb25zdCBGaW5kZXJQYXR0ZXJuID0gcmVxdWlyZSgnLi9maW5kZXItcGF0dGVybicpXG5jb25zdCBNYXNrUGF0dGVybiA9IHJlcXVpcmUoJy4vbWFzay1wYXR0ZXJuJylcbmNvbnN0IEVDQ29kZSA9IHJlcXVpcmUoJy4vZXJyb3ItY29ycmVjdGlvbi1jb2RlJylcbmNvbnN0IFJlZWRTb2xvbW9uRW5jb2RlciA9IHJlcXVpcmUoJy4vcmVlZC1zb2xvbW9uLWVuY29kZXInKVxuY29uc3QgVmVyc2lvbiA9IHJlcXVpcmUoJy4vdmVyc2lvbicpXG5jb25zdCBGb3JtYXRJbmZvID0gcmVxdWlyZSgnLi9mb3JtYXQtaW5mbycpXG5jb25zdCBNb2RlID0gcmVxdWlyZSgnLi9tb2RlJylcbmNvbnN0IFNlZ21lbnRzID0gcmVxdWlyZSgnLi9zZWdtZW50cycpXG5cbi8qKlxuICogUVJDb2RlIGZvciBKYXZhU2NyaXB0XG4gKlxuICogbW9kaWZpZWQgYnkgUnlhbiBEYXkgZm9yIG5vZGVqcyBzdXBwb3J0XG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEgUnlhbiBEYXlcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6XG4gKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gKlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFFSQ29kZSBmb3IgSmF2YVNjcmlwdFxuLy9cbi8vIENvcHlyaWdodCAoYykgMjAwOSBLYXp1aGlrbyBBcmFzZVxuLy9cbi8vIFVSTDogaHR0cDovL3d3dy5kLXByb2plY3QuY29tL1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZTpcbi8vICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbi8vXG4vLyBUaGUgd29yZCBcIlFSIENvZGVcIiBpcyByZWdpc3RlcmVkIHRyYWRlbWFyayBvZlxuLy8gREVOU08gV0FWRSBJTkNPUlBPUkFURURcbi8vICAgaHR0cDovL3d3dy5kZW5zby13YXZlLmNvbS9xcmNvZGUvZmFxcGF0ZW50LWUuaHRtbFxuLy9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiAqIEFkZCBmaW5kZXIgcGF0dGVybnMgYml0cyB0byBtYXRyaXhcbiAqXG4gKiBAcGFyYW0gIHtCaXRNYXRyaXh9IG1hdHJpeCAgTW9kdWxlcyBtYXRyaXhcbiAqIEBwYXJhbSAge051bWJlcn0gICAgdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqL1xuZnVuY3Rpb24gc2V0dXBGaW5kZXJQYXR0ZXJuIChtYXRyaXgsIHZlcnNpb24pIHtcbiAgY29uc3Qgc2l6ZSA9IG1hdHJpeC5zaXplXG4gIGNvbnN0IHBvcyA9IEZpbmRlclBhdHRlcm4uZ2V0UG9zaXRpb25zKHZlcnNpb24pXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3MubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByb3cgPSBwb3NbaV1bMF1cbiAgICBjb25zdCBjb2wgPSBwb3NbaV1bMV1cblxuICAgIGZvciAobGV0IHIgPSAtMTsgciA8PSA3OyByKyspIHtcbiAgICAgIGlmIChyb3cgKyByIDw9IC0xIHx8IHNpemUgPD0gcm93ICsgcikgY29udGludWVcblxuICAgICAgZm9yIChsZXQgYyA9IC0xOyBjIDw9IDc7IGMrKykge1xuICAgICAgICBpZiAoY29sICsgYyA8PSAtMSB8fCBzaXplIDw9IGNvbCArIGMpIGNvbnRpbnVlXG5cbiAgICAgICAgaWYgKChyID49IDAgJiYgciA8PSA2ICYmIChjID09PSAwIHx8IGMgPT09IDYpKSB8fFxuICAgICAgICAgIChjID49IDAgJiYgYyA8PSA2ICYmIChyID09PSAwIHx8IHIgPT09IDYpKSB8fFxuICAgICAgICAgIChyID49IDIgJiYgciA8PSA0ICYmIGMgPj0gMiAmJiBjIDw9IDQpKSB7XG4gICAgICAgICAgbWF0cml4LnNldChyb3cgKyByLCBjb2wgKyBjLCB0cnVlLCB0cnVlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hdHJpeC5zZXQocm93ICsgciwgY29sICsgYywgZmFsc2UsIHRydWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgdGltaW5nIHBhdHRlcm4gYml0cyB0byBtYXRyaXhcbiAqXG4gKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSB7QGxpbmsgc2V0dXBBbGlnbm1lbnRQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4IE1vZHVsZXMgbWF0cml4XG4gKi9cbmZ1bmN0aW9uIHNldHVwVGltaW5nUGF0dGVybiAobWF0cml4KSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuXG4gIGZvciAobGV0IHIgPSA4OyByIDwgc2l6ZSAtIDg7IHIrKykge1xuICAgIGNvbnN0IHZhbHVlID0gciAlIDIgPT09IDBcbiAgICBtYXRyaXguc2V0KHIsIDYsIHZhbHVlLCB0cnVlKVxuICAgIG1hdHJpeC5zZXQoNiwgciwgdmFsdWUsIHRydWUpXG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgYWxpZ25tZW50IHBhdHRlcm5zIGJpdHMgdG8gbWF0cml4XG4gKlxuICogTm90ZTogdGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBhZnRlciB7QGxpbmsgc2V0dXBUaW1pbmdQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4ICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7TnVtYmVyfSAgICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICovXG5mdW5jdGlvbiBzZXR1cEFsaWdubWVudFBhdHRlcm4gKG1hdHJpeCwgdmVyc2lvbikge1xuICBjb25zdCBwb3MgPSBBbGlnbm1lbnRQYXR0ZXJuLmdldFBvc2l0aW9ucyh2ZXJzaW9uKVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcG9zLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgcm93ID0gcG9zW2ldWzBdXG4gICAgY29uc3QgY29sID0gcG9zW2ldWzFdXG5cbiAgICBmb3IgKGxldCByID0gLTI7IHIgPD0gMjsgcisrKSB7XG4gICAgICBmb3IgKGxldCBjID0gLTI7IGMgPD0gMjsgYysrKSB7XG4gICAgICAgIGlmIChyID09PSAtMiB8fCByID09PSAyIHx8IGMgPT09IC0yIHx8IGMgPT09IDIgfHxcbiAgICAgICAgICAociA9PT0gMCAmJiBjID09PSAwKSkge1xuICAgICAgICAgIG1hdHJpeC5zZXQocm93ICsgciwgY29sICsgYywgdHJ1ZSwgdHJ1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXRyaXguc2V0KHJvdyArIHIsIGNvbCArIGMsIGZhbHNlLCB0cnVlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWRkIHZlcnNpb24gaW5mbyBiaXRzIHRvIG1hdHJpeFxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4ICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7TnVtYmVyfSAgICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICovXG5mdW5jdGlvbiBzZXR1cFZlcnNpb25JbmZvIChtYXRyaXgsIHZlcnNpb24pIHtcbiAgY29uc3Qgc2l6ZSA9IG1hdHJpeC5zaXplXG4gIGNvbnN0IGJpdHMgPSBWZXJzaW9uLmdldEVuY29kZWRCaXRzKHZlcnNpb24pXG4gIGxldCByb3csIGNvbCwgbW9kXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCAxODsgaSsrKSB7XG4gICAgcm93ID0gTWF0aC5mbG9vcihpIC8gMylcbiAgICBjb2wgPSBpICUgMyArIHNpemUgLSA4IC0gM1xuICAgIG1vZCA9ICgoYml0cyA+PiBpKSAmIDEpID09PSAxXG5cbiAgICBtYXRyaXguc2V0KHJvdywgY29sLCBtb2QsIHRydWUpXG4gICAgbWF0cml4LnNldChjb2wsIHJvdywgbW9kLCB0cnVlKVxuICB9XG59XG5cbi8qKlxuICogQWRkIGZvcm1hdCBpbmZvIGJpdHMgdG8gbWF0cml4XG4gKlxuICogQHBhcmFtICB7Qml0TWF0cml4fSBtYXRyaXggICAgICAgICAgICAgICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7RXJyb3JDb3JyZWN0aW9uTGV2ZWx9ICAgIGVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICAgbWFza1BhdHRlcm4gICAgICAgICAgTWFzayBwYXR0ZXJuIHJlZmVyZW5jZSB2YWx1ZVxuICovXG5mdW5jdGlvbiBzZXR1cEZvcm1hdEluZm8gKG1hdHJpeCwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1hc2tQYXR0ZXJuKSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuICBjb25zdCBiaXRzID0gRm9ybWF0SW5mby5nZXRFbmNvZGVkQml0cyhlcnJvckNvcnJlY3Rpb25MZXZlbCwgbWFza1BhdHRlcm4pXG4gIGxldCBpLCBtb2RcblxuICBmb3IgKGkgPSAwOyBpIDwgMTU7IGkrKykge1xuICAgIG1vZCA9ICgoYml0cyA+PiBpKSAmIDEpID09PSAxXG5cbiAgICAvLyB2ZXJ0aWNhbFxuICAgIGlmIChpIDwgNikge1xuICAgICAgbWF0cml4LnNldChpLCA4LCBtb2QsIHRydWUpXG4gICAgfSBlbHNlIGlmIChpIDwgOCkge1xuICAgICAgbWF0cml4LnNldChpICsgMSwgOCwgbW9kLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBtYXRyaXguc2V0KHNpemUgLSAxNSArIGksIDgsIG1vZCwgdHJ1ZSlcbiAgICB9XG5cbiAgICAvLyBob3Jpem9udGFsXG4gICAgaWYgKGkgPCA4KSB7XG4gICAgICBtYXRyaXguc2V0KDgsIHNpemUgLSBpIC0gMSwgbW9kLCB0cnVlKVxuICAgIH0gZWxzZSBpZiAoaSA8IDkpIHtcbiAgICAgIG1hdHJpeC5zZXQoOCwgMTUgLSBpIC0gMSArIDEsIG1vZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgbWF0cml4LnNldCg4LCAxNSAtIGkgLSAxLCBtb2QsIHRydWUpXG4gICAgfVxuICB9XG5cbiAgLy8gZml4ZWQgbW9kdWxlXG4gIG1hdHJpeC5zZXQoc2l6ZSAtIDgsIDgsIDEsIHRydWUpXG59XG5cbi8qKlxuICogQWRkIGVuY29kZWQgZGF0YSBiaXRzIHRvIG1hdHJpeFxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gIG1hdHJpeCBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7VWludDhBcnJheX0gZGF0YSAgIERhdGEgY29kZXdvcmRzXG4gKi9cbmZ1bmN0aW9uIHNldHVwRGF0YSAobWF0cml4LCBkYXRhKSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuICBsZXQgaW5jID0gLTFcbiAgbGV0IHJvdyA9IHNpemUgLSAxXG4gIGxldCBiaXRJbmRleCA9IDdcbiAgbGV0IGJ5dGVJbmRleCA9IDBcblxuICBmb3IgKGxldCBjb2wgPSBzaXplIC0gMTsgY29sID4gMDsgY29sIC09IDIpIHtcbiAgICBpZiAoY29sID09PSA2KSBjb2wtLVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgMjsgYysrKSB7XG4gICAgICAgIGlmICghbWF0cml4LmlzUmVzZXJ2ZWQocm93LCBjb2wgLSBjKSkge1xuICAgICAgICAgIGxldCBkYXJrID0gZmFsc2VcblxuICAgICAgICAgIGlmIChieXRlSW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZGFyayA9ICgoKGRhdGFbYnl0ZUluZGV4XSA+Pj4gYml0SW5kZXgpICYgMSkgPT09IDEpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWF0cml4LnNldChyb3csIGNvbCAtIGMsIGRhcmspXG4gICAgICAgICAgYml0SW5kZXgtLVxuXG4gICAgICAgICAgaWYgKGJpdEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgYnl0ZUluZGV4KytcbiAgICAgICAgICAgIGJpdEluZGV4ID0gN1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByb3cgKz0gaW5jXG5cbiAgICAgIGlmIChyb3cgPCAwIHx8IHNpemUgPD0gcm93KSB7XG4gICAgICAgIHJvdyAtPSBpbmNcbiAgICAgICAgaW5jID0gLWluY1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZSBlbmNvZGVkIGNvZGV3b3JkcyBmcm9tIGRhdGEgaW5wdXRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcGFyYW0gIHtFcnJvckNvcnJlY3Rpb25MZXZlbH0gICBlcnJvckNvcnJlY3Rpb25MZXZlbCBFcnJvciBjb3JyZWN0aW9uIGxldmVsXG4gKiBAcGFyYW0gIHtCeXRlRGF0YX0gZGF0YSAgICAgICAgICAgICAgICAgRGF0YSBpbnB1dFxuICogQHJldHVybiB7VWludDhBcnJheX0gICAgICAgICAgICAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIGVuY29kZWQgY29kZXdvcmRzXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURhdGEgKHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsLCBzZWdtZW50cykge1xuICAvLyBQcmVwYXJlIGRhdGEgYnVmZmVyXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBCaXRCdWZmZXIoKVxuXG4gIHNlZ21lbnRzLmZvckVhY2goZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAvLyBwcmVmaXggZGF0YSB3aXRoIG1vZGUgaW5kaWNhdG9yICg0IGJpdHMpXG4gICAgYnVmZmVyLnB1dChkYXRhLm1vZGUuYml0LCA0KVxuXG4gICAgLy8gUHJlZml4IGRhdGEgd2l0aCBjaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yLlxuICAgIC8vIFRoZSBjaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yIGlzIGEgc3RyaW5nIG9mIGJpdHMgdGhhdCByZXByZXNlbnRzIHRoZVxuICAgIC8vIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIGJlaW5nIGVuY29kZWQuXG4gICAgLy8gVGhlIGNoYXJhY3RlciBjb3VudCBpbmRpY2F0b3IgbXVzdCBiZSBwbGFjZWQgYWZ0ZXIgdGhlIG1vZGUgaW5kaWNhdG9yXG4gICAgLy8gYW5kIG11c3QgYmUgYSBjZXJ0YWluIG51bWJlciBvZiBiaXRzIGxvbmcsIGRlcGVuZGluZyBvbiB0aGUgUVIgdmVyc2lvblxuICAgIC8vIGFuZCBkYXRhIG1vZGVcbiAgICAvLyBAc2VlIHtAbGluayBNb2RlLmdldENoYXJDb3VudEluZGljYXRvcn0uXG4gICAgYnVmZmVyLnB1dChkYXRhLmdldExlbmd0aCgpLCBNb2RlLmdldENoYXJDb3VudEluZGljYXRvcihkYXRhLm1vZGUsIHZlcnNpb24pKVxuXG4gICAgLy8gYWRkIGJpbmFyeSBkYXRhIHNlcXVlbmNlIHRvIGJ1ZmZlclxuICAgIGRhdGEud3JpdGUoYnVmZmVyKVxuICB9KVxuXG4gIC8vIENhbGN1bGF0ZSByZXF1aXJlZCBudW1iZXIgb2YgYml0c1xuICBjb25zdCB0b3RhbENvZGV3b3JkcyA9IFV0aWxzLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHZlcnNpb24pXG4gIGNvbnN0IGVjVG90YWxDb2Rld29yZHMgPSBFQ0NvZGUuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcbiAgY29uc3QgZGF0YVRvdGFsQ29kZXdvcmRzQml0cyA9ICh0b3RhbENvZGV3b3JkcyAtIGVjVG90YWxDb2Rld29yZHMpICogOFxuXG4gIC8vIEFkZCBhIHRlcm1pbmF0b3IuXG4gIC8vIElmIHRoZSBiaXQgc3RyaW5nIGlzIHNob3J0ZXIgdGhhbiB0aGUgdG90YWwgbnVtYmVyIG9mIHJlcXVpcmVkIGJpdHMsXG4gIC8vIGEgdGVybWluYXRvciBvZiB1cCB0byBmb3VyIDBzIG11c3QgYmUgYWRkZWQgdG8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHN0cmluZy5cbiAgLy8gSWYgdGhlIGJpdCBzdHJpbmcgaXMgbW9yZSB0aGFuIGZvdXIgYml0cyBzaG9ydGVyIHRoYW4gdGhlIHJlcXVpcmVkIG51bWJlciBvZiBiaXRzLFxuICAvLyBhZGQgZm91ciAwcyB0byB0aGUgZW5kLlxuICBpZiAoYnVmZmVyLmdldExlbmd0aEluQml0cygpICsgNCA8PSBkYXRhVG90YWxDb2Rld29yZHNCaXRzKSB7XG4gICAgYnVmZmVyLnB1dCgwLCA0KVxuICB9XG5cbiAgLy8gSWYgdGhlIGJpdCBzdHJpbmcgaXMgZmV3ZXIgdGhhbiBmb3VyIGJpdHMgc2hvcnRlciwgYWRkIG9ubHkgdGhlIG51bWJlciBvZiAwcyB0aGF0XG4gIC8vIGFyZSBuZWVkZWQgdG8gcmVhY2ggdGhlIHJlcXVpcmVkIG51bWJlciBvZiBiaXRzLlxuXG4gIC8vIEFmdGVyIGFkZGluZyB0aGUgdGVybWluYXRvciwgaWYgdGhlIG51bWJlciBvZiBiaXRzIGluIHRoZSBzdHJpbmcgaXMgbm90IGEgbXVsdGlwbGUgb2YgOCxcbiAgLy8gcGFkIHRoZSBzdHJpbmcgb24gdGhlIHJpZ2h0IHdpdGggMHMgdG8gbWFrZSB0aGUgc3RyaW5nJ3MgbGVuZ3RoIGEgbXVsdGlwbGUgb2YgOC5cbiAgd2hpbGUgKGJ1ZmZlci5nZXRMZW5ndGhJbkJpdHMoKSAlIDggIT09IDApIHtcbiAgICBidWZmZXIucHV0Qml0KDApXG4gIH1cblxuICAvLyBBZGQgcGFkIGJ5dGVzIGlmIHRoZSBzdHJpbmcgaXMgc3RpbGwgc2hvcnRlciB0aGFuIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVxdWlyZWQgYml0cy5cbiAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgdG8gZmlsbCB0aGUgZGF0YSBjYXBhY2l0eSBvZiB0aGUgc3ltYm9sIGNvcnJlc3BvbmRpbmcgdG9cbiAgLy8gdGhlIFZlcnNpb24gYW5kIEVycm9yIENvcnJlY3Rpb24gTGV2ZWwgYnkgYWRkaW5nIHRoZSBQYWQgQ29kZXdvcmRzIDExMTAxMTAwICgweEVDKVxuICAvLyBhbmQgMDAwMTAwMDEgKDB4MTEpIGFsdGVybmF0ZWx5LlxuICBjb25zdCByZW1haW5pbmdCeXRlID0gKGRhdGFUb3RhbENvZGV3b3Jkc0JpdHMgLSBidWZmZXIuZ2V0TGVuZ3RoSW5CaXRzKCkpIC8gOFxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbWFpbmluZ0J5dGU7IGkrKykge1xuICAgIGJ1ZmZlci5wdXQoaSAlIDIgPyAweDExIDogMHhFQywgOClcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVDb2Rld29yZHMoYnVmZmVyLCB2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcbn1cblxuLyoqXG4gKiBFbmNvZGUgaW5wdXQgZGF0YSB3aXRoIFJlZWQtU29sb21vbiBhbmQgcmV0dXJuIGNvZGV3b3JkcyB3aXRoXG4gKiByZWxhdGl2ZSBlcnJvciBjb3JyZWN0aW9uIGJpdHNcbiAqXG4gKiBAcGFyYW0gIHtCaXRCdWZmZXJ9IGJpdEJ1ZmZlciAgICAgICAgICAgIERhdGEgdG8gZW5jb2RlXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgIHZlcnNpb24gICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvblxuICogQHBhcmFtICB7RXJyb3JDb3JyZWN0aW9uTGV2ZWx9IGVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBjb2Rld29yZHNcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ29kZXdvcmRzIChiaXRCdWZmZXIsIHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XG4gIC8vIFRvdGFsIGNvZGV3b3JkcyBmb3IgdGhpcyBRUiBjb2RlIHZlcnNpb24gKERhdGEgKyBFcnJvciBjb3JyZWN0aW9uKVxuICBjb25zdCB0b3RhbENvZGV3b3JkcyA9IFV0aWxzLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHZlcnNpb24pXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGVycm9yIGNvcnJlY3Rpb24gY29kZXdvcmRzXG4gIGNvbnN0IGVjVG90YWxDb2Rld29yZHMgPSBFQ0NvZGUuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcblxuICAvLyBUb3RhbCBudW1iZXIgb2YgZGF0YSBjb2Rld29yZHNcbiAgY29uc3QgZGF0YVRvdGFsQ29kZXdvcmRzID0gdG90YWxDb2Rld29yZHMgLSBlY1RvdGFsQ29kZXdvcmRzXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGJsb2Nrc1xuICBjb25zdCBlY1RvdGFsQmxvY2tzID0gRUNDb2RlLmdldEJsb2Nrc0NvdW50KHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsKVxuXG4gIC8vIENhbGN1bGF0ZSBob3cgbWFueSBibG9ja3MgZWFjaCBncm91cCBzaG91bGQgY29udGFpblxuICBjb25zdCBibG9ja3NJbkdyb3VwMiA9IHRvdGFsQ29kZXdvcmRzICUgZWNUb3RhbEJsb2Nrc1xuICBjb25zdCBibG9ja3NJbkdyb3VwMSA9IGVjVG90YWxCbG9ja3MgLSBibG9ja3NJbkdyb3VwMlxuXG4gIGNvbnN0IHRvdGFsQ29kZXdvcmRzSW5Hcm91cDEgPSBNYXRoLmZsb29yKHRvdGFsQ29kZXdvcmRzIC8gZWNUb3RhbEJsb2NrcylcblxuICBjb25zdCBkYXRhQ29kZXdvcmRzSW5Hcm91cDEgPSBNYXRoLmZsb29yKGRhdGFUb3RhbENvZGV3b3JkcyAvIGVjVG90YWxCbG9ja3MpXG4gIGNvbnN0IGRhdGFDb2Rld29yZHNJbkdyb3VwMiA9IGRhdGFDb2Rld29yZHNJbkdyb3VwMSArIDFcblxuICAvLyBOdW1iZXIgb2YgRUMgY29kZXdvcmRzIGlzIHRoZSBzYW1lIGZvciBib3RoIGdyb3Vwc1xuICBjb25zdCBlY0NvdW50ID0gdG90YWxDb2Rld29yZHNJbkdyb3VwMSAtIGRhdGFDb2Rld29yZHNJbkdyb3VwMVxuXG4gIC8vIEluaXRpYWxpemUgYSBSZWVkLVNvbG9tb24gZW5jb2RlciB3aXRoIGEgZ2VuZXJhdG9yIHBvbHlub21pYWwgb2YgZGVncmVlIGVjQ291bnRcbiAgY29uc3QgcnMgPSBuZXcgUmVlZFNvbG9tb25FbmNvZGVyKGVjQ291bnQpXG5cbiAgbGV0IG9mZnNldCA9IDBcbiAgY29uc3QgZGNEYXRhID0gbmV3IEFycmF5KGVjVG90YWxCbG9ja3MpXG4gIGNvbnN0IGVjRGF0YSA9IG5ldyBBcnJheShlY1RvdGFsQmxvY2tzKVxuICBsZXQgbWF4RGF0YVNpemUgPSAwXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJpdEJ1ZmZlci5idWZmZXIpXG5cbiAgLy8gRGl2aWRlIHRoZSBidWZmZXIgaW50byB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGJsb2Nrc1xuICBmb3IgKGxldCBiID0gMDsgYiA8IGVjVG90YWxCbG9ja3M7IGIrKykge1xuICAgIGNvbnN0IGRhdGFTaXplID0gYiA8IGJsb2Nrc0luR3JvdXAxID8gZGF0YUNvZGV3b3Jkc0luR3JvdXAxIDogZGF0YUNvZGV3b3Jkc0luR3JvdXAyXG5cbiAgICAvLyBleHRyYWN0IGEgYmxvY2sgb2YgZGF0YSBmcm9tIGJ1ZmZlclxuICAgIGRjRGF0YVtiXSA9IGJ1ZmZlci5zbGljZShvZmZzZXQsIG9mZnNldCArIGRhdGFTaXplKVxuXG4gICAgLy8gQ2FsY3VsYXRlIEVDIGNvZGV3b3JkcyBmb3IgdGhpcyBkYXRhIGJsb2NrXG4gICAgZWNEYXRhW2JdID0gcnMuZW5jb2RlKGRjRGF0YVtiXSlcblxuICAgIG9mZnNldCArPSBkYXRhU2l6ZVxuICAgIG1heERhdGFTaXplID0gTWF0aC5tYXgobWF4RGF0YVNpemUsIGRhdGFTaXplKVxuICB9XG5cbiAgLy8gQ3JlYXRlIGZpbmFsIGRhdGFcbiAgLy8gSW50ZXJsZWF2ZSB0aGUgZGF0YSBhbmQgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgZnJvbSBlYWNoIGJsb2NrXG4gIGNvbnN0IGRhdGEgPSBuZXcgVWludDhBcnJheSh0b3RhbENvZGV3b3JkcylcbiAgbGV0IGluZGV4ID0gMFxuICBsZXQgaSwgclxuXG4gIC8vIEFkZCBkYXRhIGNvZGV3b3Jkc1xuICBmb3IgKGkgPSAwOyBpIDwgbWF4RGF0YVNpemU7IGkrKykge1xuICAgIGZvciAociA9IDA7IHIgPCBlY1RvdGFsQmxvY2tzOyByKyspIHtcbiAgICAgIGlmIChpIDwgZGNEYXRhW3JdLmxlbmd0aCkge1xuICAgICAgICBkYXRhW2luZGV4KytdID0gZGNEYXRhW3JdW2ldXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwZWQgRUMgY29kZXdvcmRzXG4gIGZvciAoaSA9IDA7IGkgPCBlY0NvdW50OyBpKyspIHtcbiAgICBmb3IgKHIgPSAwOyByIDwgZWNUb3RhbEJsb2NrczsgcisrKSB7XG4gICAgICBkYXRhW2luZGV4KytdID0gZWNEYXRhW3JdW2ldXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGFcbn1cblxuLyoqXG4gKiBCdWlsZCBRUiBDb2RlIHN5bWJvbFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YSAgICAgICAgICAgICAgICAgSW5wdXQgc3RyaW5nXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvblxuICogQHBhcmFtICB7RXJyb3JDb3JyZXRpb25MZXZlbH0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgbGV2ZWxcbiAqIEBwYXJhbSAge01hc2tQYXR0ZXJufSBtYXNrUGF0dGVybiAgICAgTWFzayBwYXR0ZXJuXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICAgICAgICAgICAgIE9iamVjdCBjb250YWluaW5nIHN5bWJvbCBkYXRhXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVN5bWJvbCAoZGF0YSwgdmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1hc2tQYXR0ZXJuKSB7XG4gIGxldCBzZWdtZW50c1xuXG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgc2VnbWVudHMgPSBTZWdtZW50cy5mcm9tQXJyYXkoZGF0YSlcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICBsZXQgZXN0aW1hdGVkVmVyc2lvbiA9IHZlcnNpb25cblxuICAgIGlmICghZXN0aW1hdGVkVmVyc2lvbikge1xuICAgICAgY29uc3QgcmF3U2VnbWVudHMgPSBTZWdtZW50cy5yYXdTcGxpdChkYXRhKVxuXG4gICAgICAvLyBFc3RpbWF0ZSBiZXN0IHZlcnNpb24gdGhhdCBjYW4gY29udGFpbiByYXcgc3BsaXR0ZWQgc2VnbWVudHNcbiAgICAgIGVzdGltYXRlZFZlcnNpb24gPSBWZXJzaW9uLmdldEJlc3RWZXJzaW9uRm9yRGF0YShyYXdTZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG4gICAgfVxuXG4gICAgLy8gQnVpbGQgb3B0aW1pemVkIHNlZ21lbnRzXG4gICAgLy8gSWYgZXN0aW1hdGVkIHZlcnNpb24gaXMgdW5kZWZpbmVkLCB0cnkgd2l0aCB0aGUgaGlnaGVzdCB2ZXJzaW9uXG4gICAgc2VnbWVudHMgPSBTZWdtZW50cy5mcm9tU3RyaW5nKGRhdGEsIGVzdGltYXRlZFZlcnNpb24gfHwgNDApXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKVxuICB9XG5cbiAgLy8gR2V0IHRoZSBtaW4gdmVyc2lvbiB0aGF0IGNhbiBjb250YWluIGRhdGFcbiAgY29uc3QgYmVzdFZlcnNpb24gPSBWZXJzaW9uLmdldEJlc3RWZXJzaW9uRm9yRGF0YShzZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG5cbiAgLy8gSWYgbm8gdmVyc2lvbiBpcyBmb3VuZCwgZGF0YSBjYW5ub3QgYmUgc3RvcmVkXG4gIGlmICghYmVzdFZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhbW91bnQgb2YgZGF0YSBpcyB0b28gYmlnIHRvIGJlIHN0b3JlZCBpbiBhIFFSIENvZGUnKVxuICB9XG5cbiAgLy8gSWYgbm90IHNwZWNpZmllZCwgdXNlIG1pbiB2ZXJzaW9uIGFzIGRlZmF1bHRcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgdmVyc2lvbiA9IGJlc3RWZXJzaW9uXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNwZWNpZmllZCB2ZXJzaW9uIGNhbiBjb250YWluIHRoZSBkYXRhXG4gIH0gZWxzZSBpZiAodmVyc2lvbiA8IGJlc3RWZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcXG4nICtcbiAgICAgICdUaGUgY2hvc2VuIFFSIENvZGUgdmVyc2lvbiBjYW5ub3QgY29udGFpbiB0aGlzIGFtb3VudCBvZiBkYXRhLlxcbicgK1xuICAgICAgJ01pbmltdW0gdmVyc2lvbiByZXF1aXJlZCB0byBzdG9yZSBjdXJyZW50IGRhdGEgaXM6ICcgKyBiZXN0VmVyc2lvbiArICcuXFxuJ1xuICAgIClcbiAgfVxuXG4gIGNvbnN0IGRhdGFCaXRzID0gY3JlYXRlRGF0YSh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgc2VnbWVudHMpXG5cbiAgLy8gQWxsb2NhdGUgbWF0cml4IGJ1ZmZlclxuICBjb25zdCBtb2R1bGVDb3VudCA9IFV0aWxzLmdldFN5bWJvbFNpemUodmVyc2lvbilcbiAgY29uc3QgbW9kdWxlcyA9IG5ldyBCaXRNYXRyaXgobW9kdWxlQ291bnQpXG5cbiAgLy8gQWRkIGZ1bmN0aW9uIG1vZHVsZXNcbiAgc2V0dXBGaW5kZXJQYXR0ZXJuKG1vZHVsZXMsIHZlcnNpb24pXG4gIHNldHVwVGltaW5nUGF0dGVybihtb2R1bGVzKVxuICBzZXR1cEFsaWdubWVudFBhdHRlcm4obW9kdWxlcywgdmVyc2lvbilcblxuICAvLyBBZGQgdGVtcG9yYXJ5IGR1bW15IGJpdHMgZm9yIGZvcm1hdCBpbmZvIGp1c3QgdG8gc2V0IHRoZW0gYXMgcmVzZXJ2ZWQuXG4gIC8vIFRoaXMgaXMgbmVlZGVkIHRvIHByZXZlbnQgdGhlc2UgYml0cyBmcm9tIGJlaW5nIG1hc2tlZCBieSB7QGxpbmsgTWFza1BhdHRlcm4uYXBwbHlNYXNrfVxuICAvLyBzaW5jZSB0aGUgbWFza2luZyBvcGVyYXRpb24gbXVzdCBiZSBwZXJmb3JtZWQgb25seSBvbiB0aGUgZW5jb2RpbmcgcmVnaW9uLlxuICAvLyBUaGVzZSBibG9ja3Mgd2lsbCBiZSByZXBsYWNlZCB3aXRoIGNvcnJlY3QgdmFsdWVzIGxhdGVyIGluIGNvZGUuXG4gIHNldHVwRm9ybWF0SW5mbyhtb2R1bGVzLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgMClcblxuICBpZiAodmVyc2lvbiA+PSA3KSB7XG4gICAgc2V0dXBWZXJzaW9uSW5mbyhtb2R1bGVzLCB2ZXJzaW9uKVxuICB9XG5cbiAgLy8gQWRkIGRhdGEgY29kZXdvcmRzXG4gIHNldHVwRGF0YShtb2R1bGVzLCBkYXRhQml0cylcblxuICBpZiAoaXNOYU4obWFza1BhdHRlcm4pKSB7XG4gICAgLy8gRmluZCBiZXN0IG1hc2sgcGF0dGVyblxuICAgIG1hc2tQYXR0ZXJuID0gTWFza1BhdHRlcm4uZ2V0QmVzdE1hc2sobW9kdWxlcyxcbiAgICAgIHNldHVwRm9ybWF0SW5mby5iaW5kKG51bGwsIG1vZHVsZXMsIGVycm9yQ29ycmVjdGlvbkxldmVsKSlcbiAgfVxuXG4gIC8vIEFwcGx5IG1hc2sgcGF0dGVyblxuICBNYXNrUGF0dGVybi5hcHBseU1hc2sobWFza1BhdHRlcm4sIG1vZHVsZXMpXG5cbiAgLy8gUmVwbGFjZSBmb3JtYXQgaW5mbyBiaXRzIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAgc2V0dXBGb3JtYXRJbmZvKG1vZHVsZXMsIGVycm9yQ29ycmVjdGlvbkxldmVsLCBtYXNrUGF0dGVybilcblxuICByZXR1cm4ge1xuICAgIG1vZHVsZXM6IG1vZHVsZXMsXG4gICAgdmVyc2lvbjogdmVyc2lvbixcbiAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogZXJyb3JDb3JyZWN0aW9uTGV2ZWwsXG4gICAgbWFza1BhdHRlcm46IG1hc2tQYXR0ZXJuLFxuICAgIHNlZ21lbnRzOiBzZWdtZW50c1xuICB9XG59XG5cbi8qKlxuICogUVIgQ29kZVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nIHwgQXJyYXl9IGRhdGEgICAgICAgICAgICAgICAgIElucHV0IGRhdGFcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0ge051bWJlcn0gb3B0aW9ucy52ZXJzaW9uICAgICAgICAgICAgICBRUiBDb2RlIHZlcnNpb25cbiAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLmVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudG9TSklTRnVuYyAgICAgICAgIEhlbHBlciBmdW5jIHRvIGNvbnZlcnQgdXRmOCB0byBzamlzXG4gKi9cbmV4cG9ydHMuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlIChkYXRhLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3VuZGVmaW5lZCcgfHwgZGF0YSA9PT0gJycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGlucHV0IHRleHQnKVxuICB9XG5cbiAgbGV0IGVycm9yQ29ycmVjdGlvbkxldmVsID0gRUNMZXZlbC5NXG4gIGxldCB2ZXJzaW9uXG4gIGxldCBtYXNrXG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIFVzZSBoaWdoZXIgZXJyb3IgY29ycmVjdGlvbiBsZXZlbCBhcyBkZWZhdWx0XG4gICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWwgPSBFQ0xldmVsLmZyb20ob3B0aW9ucy5lcnJvckNvcnJlY3Rpb25MZXZlbCwgRUNMZXZlbC5NKVxuICAgIHZlcnNpb24gPSBWZXJzaW9uLmZyb20ob3B0aW9ucy52ZXJzaW9uKVxuICAgIG1hc2sgPSBNYXNrUGF0dGVybi5mcm9tKG9wdGlvbnMubWFza1BhdHRlcm4pXG5cbiAgICBpZiAob3B0aW9ucy50b1NKSVNGdW5jKSB7XG4gICAgICBVdGlscy5zZXRUb1NKSVNGdW5jdGlvbihvcHRpb25zLnRvU0pJU0Z1bmMpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVN5bWJvbChkYXRhLCB2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgbWFzaylcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/qrcode.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/reed-solomon-encoder.js": -/*!**************************************************************!*\ - !*** ./node_modules/qrcode/lib/core/reed-solomon-encoder.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Polynomial = __webpack_require__(/*! ./polynomial */ \"./node_modules/qrcode/lib/core/polynomial.js\")\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZWQtc29sb21vbi1lbmNvZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixtQkFBTyxDQUFDLGtFQUFjOztBQUV6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZWQtc29sb21vbi1lbmNvZGVyLmpzPzBhNjYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUG9seW5vbWlhbCA9IHJlcXVpcmUoJy4vcG9seW5vbWlhbCcpXG5cbmZ1bmN0aW9uIFJlZWRTb2xvbW9uRW5jb2RlciAoZGVncmVlKSB7XG4gIHRoaXMuZ2VuUG9seSA9IHVuZGVmaW5lZFxuICB0aGlzLmRlZ3JlZSA9IGRlZ3JlZVxuXG4gIGlmICh0aGlzLmRlZ3JlZSkgdGhpcy5pbml0aWFsaXplKHRoaXMuZGVncmVlKVxufVxuXG4vKipcbiAqIEluaXRpYWxpemUgdGhlIGVuY29kZXIuXG4gKiBUaGUgaW5wdXQgcGFyYW0gc2hvdWxkIGNvcnJlc3BvbmQgdG8gdGhlIG51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkcy5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IGRlZ3JlZVxuICovXG5SZWVkU29sb21vbkVuY29kZXIucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbiBpbml0aWFsaXplIChkZWdyZWUpIHtcbiAgLy8gY3JlYXRlIGFuIGlycmVkdWNpYmxlIGdlbmVyYXRvciBwb2x5bm9taWFsXG4gIHRoaXMuZGVncmVlID0gZGVncmVlXG4gIHRoaXMuZ2VuUG9seSA9IFBvbHlub21pYWwuZ2VuZXJhdGVFQ1BvbHlub21pYWwodGhpcy5kZWdyZWUpXG59XG5cbi8qKlxuICogRW5jb2RlcyBhIGNodW5rIG9mIGRhdGFcbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkYXRhIEJ1ZmZlciBjb250YWluaW5nIGlucHV0IGRhdGFcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBkYXRhXG4gKi9cblJlZWRTb2xvbW9uRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24gZW5jb2RlIChkYXRhKSB7XG4gIGlmICghdGhpcy5nZW5Qb2x5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFbmNvZGVyIG5vdCBpbml0aWFsaXplZCcpXG4gIH1cblxuICAvLyBDYWxjdWxhdGUgRUMgZm9yIHRoaXMgZGF0YSBibG9ja1xuICAvLyBleHRlbmRzIGRhdGEgc2l6ZSB0byBkYXRhK2dlblBvbHkgc2l6ZVxuICBjb25zdCBwYWRkZWREYXRhID0gbmV3IFVpbnQ4QXJyYXkoZGF0YS5sZW5ndGggKyB0aGlzLmRlZ3JlZSlcbiAgcGFkZGVkRGF0YS5zZXQoZGF0YSlcblxuICAvLyBUaGUgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgYXJlIHRoZSByZW1haW5kZXIgYWZ0ZXIgZGl2aWRpbmcgdGhlIGRhdGEgY29kZXdvcmRzXG4gIC8vIGJ5IGEgZ2VuZXJhdG9yIHBvbHlub21pYWxcbiAgY29uc3QgcmVtYWluZGVyID0gUG9seW5vbWlhbC5tb2QocGFkZGVkRGF0YSwgdGhpcy5nZW5Qb2x5KVxuXG4gIC8vIHJldHVybiBFQyBkYXRhIGJsb2NrcyAobGFzdCBuIGJ5dGUsIHdoZXJlIG4gaXMgdGhlIGRlZ3JlZSBvZiBnZW5Qb2x5KVxuICAvLyBJZiBjb2VmZmljaWVudHMgbnVtYmVyIGluIHJlbWFpbmRlciBhcmUgbGVzcyB0aGFuIGdlblBvbHkgZGVncmVlLFxuICAvLyBwYWQgd2l0aCAwcyB0byB0aGUgbGVmdCB0byByZWFjaCB0aGUgbmVlZGVkIG51bWJlciBvZiBjb2VmZmljaWVudHNcbiAgY29uc3Qgc3RhcnQgPSB0aGlzLmRlZ3JlZSAtIHJlbWFpbmRlci5sZW5ndGhcbiAgaWYgKHN0YXJ0ID4gMCkge1xuICAgIGNvbnN0IGJ1ZmYgPSBuZXcgVWludDhBcnJheSh0aGlzLmRlZ3JlZSlcbiAgICBidWZmLnNldChyZW1haW5kZXIsIHN0YXJ0KVxuXG4gICAgcmV0dXJuIGJ1ZmZcbiAgfVxuXG4gIHJldHVybiByZW1haW5kZXJcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSZWVkU29sb21vbkVuY29kZXJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/reed-solomon-encoder.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/regex.js": -/*!***********************************************!*\ - !*** ./node_modules/qrcode/lib/core/regex.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGFBQWE7QUFDYixrQkFBa0I7QUFDbEIsWUFBWTtBQUNaLGVBQWU7QUFDZixvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQSxtQkFBbUI7QUFDbkI7QUFDQTs7QUFFQSx3QkFBd0I7QUFDeEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZ2V4LmpzPzZlZTkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbnVtZXJpYyA9ICdbMC05XSsnXG5jb25zdCBhbHBoYW51bWVyaWMgPSAnW0EtWiAkJSorXFxcXC0uLzpdKydcbmxldCBrYW5qaSA9ICcoPzpbdTMwMDAtdTMwM0ZdfFt1MzA0MC11MzA5Rl18W3UzMEEwLXUzMEZGXXwnICtcbiAgJ1t1RkYwMC11RkZFRl18W3U0RTAwLXU5RkFGXXxbdTI2MDUtdTI2MDZdfFt1MjE5MC11MjE5NV18dTIwM0J8JyArXG4gICdbdTIwMTB1MjAxNXUyMDE4dTIwMTl1MjAyNXUyMDI2dTIwMUN1MjAxRHUyMjI1dTIyNjBdfCcgK1xuICAnW3UwMzkxLXUwNDUxXXxbdTAwQTd1MDBBOHUwMEIxdTAwQjR1MDBEN3UwMEY3XSkrJ1xua2FuamkgPSBrYW5qaS5yZXBsYWNlKC91L2csICdcXFxcdScpXG5cbmNvbnN0IGJ5dGUgPSAnKD86KD8hW0EtWjAtOSAkJSorXFxcXC0uLzpdfCcgKyBrYW5qaSArICcpKD86LnxbXFxyXFxuXSkpKydcblxuZXhwb3J0cy5LQU5KSSA9IG5ldyBSZWdFeHAoa2FuamksICdnJylcbmV4cG9ydHMuQllURV9LQU5KSSA9IG5ldyBSZWdFeHAoJ1teQS1aMC05ICQlKitcXFxcLS4vOl0rJywgJ2cnKVxuZXhwb3J0cy5CWVRFID0gbmV3IFJlZ0V4cChieXRlLCAnZycpXG5leHBvcnRzLk5VTUVSSUMgPSBuZXcgUmVnRXhwKG51bWVyaWMsICdnJylcbmV4cG9ydHMuQUxQSEFOVU1FUklDID0gbmV3IFJlZ0V4cChhbHBoYW51bWVyaWMsICdnJylcblxuY29uc3QgVEVTVF9LQU5KSSA9IG5ldyBSZWdFeHAoJ14nICsga2FuamkgKyAnJCcpXG5jb25zdCBURVNUX05VTUVSSUMgPSBuZXcgUmVnRXhwKCdeJyArIG51bWVyaWMgKyAnJCcpXG5jb25zdCBURVNUX0FMUEhBTlVNRVJJQyA9IG5ldyBSZWdFeHAoJ15bQS1aMC05ICQlKitcXFxcLS4vOl0rJCcpXG5cbmV4cG9ydHMudGVzdEthbmppID0gZnVuY3Rpb24gdGVzdEthbmppIChzdHIpIHtcbiAgcmV0dXJuIFRFU1RfS0FOSkkudGVzdChzdHIpXG59XG5cbmV4cG9ydHMudGVzdE51bWVyaWMgPSBmdW5jdGlvbiB0ZXN0TnVtZXJpYyAoc3RyKSB7XG4gIHJldHVybiBURVNUX05VTUVSSUMudGVzdChzdHIpXG59XG5cbmV4cG9ydHMudGVzdEFscGhhbnVtZXJpYyA9IGZ1bmN0aW9uIHRlc3RBbHBoYW51bWVyaWMgKHN0cikge1xuICByZXR1cm4gVEVTVF9BTFBIQU5VTUVSSUMudGVzdChzdHIpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/segments.js": -/*!**************************************************!*\ - !*** ./node_modules/qrcode/lib/core/segments.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst NumericData = __webpack_require__(/*! ./numeric-data */ \"./node_modules/qrcode/lib/core/numeric-data.js\")\nconst AlphanumericData = __webpack_require__(/*! ./alphanumeric-data */ \"./node_modules/qrcode/lib/core/alphanumeric-data.js\")\nconst ByteData = __webpack_require__(/*! ./byte-data */ \"./node_modules/qrcode/lib/core/byte-data.js\")\nconst KanjiData = __webpack_require__(/*! ./kanji-data */ \"./node_modules/qrcode/lib/core/kanji-data.js\")\nconst Regex = __webpack_require__(/*! ./regex */ \"./node_modules/qrcode/lib/core/regex.js\")\nconst Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\nconst dijkstra = __webpack_require__(/*! dijkstrajs */ \"./node_modules/dijkstrajs/dijkstra.js\")\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3NlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyxzREFBUTtBQUM3QixvQkFBb0IsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDNUMseUJBQXlCLG1CQUFPLENBQUMsZ0ZBQXFCO0FBQ3RELGlCQUFpQixtQkFBTyxDQUFDLGdFQUFhO0FBQ3RDLGtCQUFrQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3hDLGNBQWMsbUJBQU8sQ0FBQyx3REFBUztBQUMvQixjQUFjLG1CQUFPLENBQUMsd0RBQVM7QUFDL0IsaUJBQWlCLG1CQUFPLENBQUMseURBQVk7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFlBQVk7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksYUFBYTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksTUFBTTtBQUNsQixZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxPQUFPO0FBQ25CLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkIsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBNkQ7QUFDekUsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDO0FBQ0E7O0FBRUEsb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBLHNCQUFzQix3QkFBd0I7QUFDOUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQix3QkFBd0I7QUFDMUM7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxlQUFlO0FBQzNCLFlBQVkseUJBQXlCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksT0FBTztBQUNuQixZQUFZLGFBQWE7QUFDekI7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixxQkFBcUI7QUFDdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksYUFBYTtBQUN6QjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3NlZ21lbnRzLmpzPzZlNTYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTW9kZSA9IHJlcXVpcmUoJy4vbW9kZScpXG5jb25zdCBOdW1lcmljRGF0YSA9IHJlcXVpcmUoJy4vbnVtZXJpYy1kYXRhJylcbmNvbnN0IEFscGhhbnVtZXJpY0RhdGEgPSByZXF1aXJlKCcuL2FscGhhbnVtZXJpYy1kYXRhJylcbmNvbnN0IEJ5dGVEYXRhID0gcmVxdWlyZSgnLi9ieXRlLWRhdGEnKVxuY29uc3QgS2FuamlEYXRhID0gcmVxdWlyZSgnLi9rYW5qaS1kYXRhJylcbmNvbnN0IFJlZ2V4ID0gcmVxdWlyZSgnLi9yZWdleCcpXG5jb25zdCBVdGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuY29uc3QgZGlqa3N0cmEgPSByZXF1aXJlKCdkaWprc3RyYWpzJylcblxuLyoqXG4gKiBSZXR1cm5zIFVURjggYnl0ZSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHN0ciBJbnB1dCBzdHJpbmdcbiAqIEByZXR1cm4ge051bWJlcn0gICAgIE51bWJlciBvZiBieXRlXG4gKi9cbmZ1bmN0aW9uIGdldFN0cmluZ0J5dGVMZW5ndGggKHN0cikge1xuICByZXR1cm4gdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikpLmxlbmd0aFxufVxuXG4vKipcbiAqIEdldCBhIGxpc3Qgb2Ygc2VnbWVudHMgb2YgdGhlIHNwZWNpZmllZCBtb2RlXG4gKiBmcm9tIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7TW9kZX0gICBtb2RlIFNlZ21lbnQgbW9kZVxuICogQHBhcmFtICB7U3RyaW5nfSBzdHIgIFN0cmluZyB0byBwcm9jZXNzXG4gKiBAcmV0dXJuIHtBcnJheX0gICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBnZXRTZWdtZW50cyAocmVnZXgsIG1vZGUsIHN0cikge1xuICBjb25zdCBzZWdtZW50cyA9IFtdXG4gIGxldCByZXN1bHRcblxuICB3aGlsZSAoKHJlc3VsdCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIGRhdGE6IHJlc3VsdFswXSxcbiAgICAgIGluZGV4OiByZXN1bHQuaW5kZXgsXG4gICAgICBtb2RlOiBtb2RlLFxuICAgICAgbGVuZ3RoOiByZXN1bHRbMF0ubGVuZ3RoXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50c1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgc2VyaWVzIG9mIHNlZ21lbnRzIHdpdGggdGhlIGFwcHJvcHJpYXRlXG4gKiBtb2RlcyBmcm9tIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSBkYXRhU3RyIElucHV0IHN0cmluZ1xuICogQHJldHVybiB7QXJyYXl9ICAgICAgICAgIEFycmF5IG9mIG9iamVjdCB3aXRoIHNlZ21lbnRzIGRhdGFcbiAqL1xuZnVuY3Rpb24gZ2V0U2VnbWVudHNGcm9tU3RyaW5nIChkYXRhU3RyKSB7XG4gIGNvbnN0IG51bVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5OVU1FUklDLCBNb2RlLk5VTUVSSUMsIGRhdGFTdHIpXG4gIGNvbnN0IGFscGhhTnVtU2VncyA9IGdldFNlZ21lbnRzKFJlZ2V4LkFMUEhBTlVNRVJJQywgTW9kZS5BTFBIQU5VTUVSSUMsIGRhdGFTdHIpXG4gIGxldCBieXRlU2Vnc1xuICBsZXQga2FuamlTZWdzXG5cbiAgaWYgKFV0aWxzLmlzS2FuamlNb2RlRW5hYmxlZCgpKSB7XG4gICAgYnl0ZVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5CWVRFLCBNb2RlLkJZVEUsIGRhdGFTdHIpXG4gICAga2FuamlTZWdzID0gZ2V0U2VnbWVudHMoUmVnZXguS0FOSkksIE1vZGUuS0FOSkksIGRhdGFTdHIpXG4gIH0gZWxzZSB7XG4gICAgYnl0ZVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5CWVRFX0tBTkpJLCBNb2RlLkJZVEUsIGRhdGFTdHIpXG4gICAga2FuamlTZWdzID0gW11cbiAgfVxuXG4gIGNvbnN0IHNlZ3MgPSBudW1TZWdzLmNvbmNhdChhbHBoYU51bVNlZ3MsIGJ5dGVTZWdzLCBrYW5qaVNlZ3MpXG5cbiAgcmV0dXJuIHNlZ3NcbiAgICAuc29ydChmdW5jdGlvbiAoczEsIHMyKSB7XG4gICAgICByZXR1cm4gczEuaW5kZXggLSBzMi5pbmRleFxuICAgIH0pXG4gICAgLm1hcChmdW5jdGlvbiAob2JqKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiBvYmouZGF0YSxcbiAgICAgICAgbW9kZTogb2JqLm1vZGUsXG4gICAgICAgIGxlbmd0aDogb2JqLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG59XG5cbi8qKlxuICogUmV0dXJucyBob3cgbWFueSBiaXRzIGFyZSBuZWVkZWQgdG8gZW5jb2RlIGEgc3RyaW5nIG9mXG4gKiBzcGVjaWZpZWQgbGVuZ3RoIHdpdGggdGhlIHNwZWNpZmllZCBtb2RlXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBsZW5ndGggU3RyaW5nIGxlbmd0aFxuICogQHBhcmFtICB7TW9kZX0gbW9kZSAgICAgU2VnbWVudCBtb2RlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICBCaXQgbGVuZ3RoXG4gKi9cbmZ1bmN0aW9uIGdldFNlZ21lbnRCaXRzTGVuZ3RoIChsZW5ndGgsIG1vZGUpIHtcbiAgc3dpdGNoIChtb2RlKSB7XG4gICAgY2FzZSBNb2RlLk5VTUVSSUM6XG4gICAgICByZXR1cm4gTnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgIHJldHVybiBBbHBoYW51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgobGVuZ3RoKVxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBLYW5qaURhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gICAgY2FzZSBNb2RlLkJZVEU6XG4gICAgICByZXR1cm4gQnl0ZURhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gIH1cbn1cblxuLyoqXG4gKiBNZXJnZXMgYWRqYWNlbnQgc2VnbWVudHMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBtb2RlXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IHNlZ3MgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICogQHJldHVybiB7QXJyYXl9ICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBtZXJnZVNlZ21lbnRzIChzZWdzKSB7XG4gIHJldHVybiBzZWdzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBjdXJyKSB7XG4gICAgY29uc3QgcHJldlNlZyA9IGFjYy5sZW5ndGggLSAxID49IDAgPyBhY2NbYWNjLmxlbmd0aCAtIDFdIDogbnVsbFxuICAgIGlmIChwcmV2U2VnICYmIHByZXZTZWcubW9kZSA9PT0gY3Vyci5tb2RlKSB7XG4gICAgICBhY2NbYWNjLmxlbmd0aCAtIDFdLmRhdGEgKz0gY3Vyci5kYXRhXG4gICAgICByZXR1cm4gYWNjXG4gICAgfVxuXG4gICAgYWNjLnB1c2goY3VycilcbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGxpc3Qgb2YgYWxsIHBvc3NpYmxlIG5vZGVzIGNvbWJpbmF0aW9uIHdoaWNoXG4gKiB3aWxsIGJlIHVzZWQgdG8gYnVpbGQgYSBzZWdtZW50cyBncmFwaC5cbiAqXG4gKiBOb2RlcyBhcmUgZGl2aWRlZCBieSBncm91cHMuIEVhY2ggZ3JvdXAgd2lsbCBjb250YWluIGEgbGlzdCBvZiBhbGwgdGhlIG1vZGVzXG4gKiBpbiB3aGljaCBpcyBwb3NzaWJsZSB0byBlbmNvZGUgdGhlIGdpdmVuIHRleHQuXG4gKlxuICogRm9yIGV4YW1wbGUgdGhlIHRleHQgJzEyMzQ1JyBjYW4gYmUgZW5jb2RlZCBhcyBOdW1lcmljLCBBbHBoYW51bWVyaWMgb3IgQnl0ZS5cbiAqIFRoZSBncm91cCBmb3IgJzEyMzQ1JyB3aWxsIGNvbnRhaW4gdGhlbiAzIG9iamVjdHMsIG9uZSBmb3IgZWFjaFxuICogcG9zc2libGUgZW5jb2RpbmcgbW9kZS5cbiAqXG4gKiBFYWNoIG5vZGUgcmVwcmVzZW50cyBhIHBvc3NpYmxlIHNlZ21lbnQuXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IHNlZ3MgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICogQHJldHVybiB7QXJyYXl9ICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBidWlsZE5vZGVzIChzZWdzKSB7XG4gIGNvbnN0IG5vZGVzID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgc2VnID0gc2Vnc1tpXVxuXG4gICAgc3dpdGNoIChzZWcubW9kZSkge1xuICAgICAgY2FzZSBNb2RlLk5VTUVSSUM6XG4gICAgICAgIG5vZGVzLnB1c2goW3NlZyxcbiAgICAgICAgICB7IGRhdGE6IHNlZy5kYXRhLCBtb2RlOiBNb2RlLkFMUEhBTlVNRVJJQywgbGVuZ3RoOiBzZWcubGVuZ3RoIH0sXG4gICAgICAgICAgeyBkYXRhOiBzZWcuZGF0YSwgbW9kZTogTW9kZS5CWVRFLCBsZW5ndGg6IHNlZy5sZW5ndGggfVxuICAgICAgICBdKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgICAgbm9kZXMucHVzaChbc2VnLFxuICAgICAgICAgIHsgZGF0YTogc2VnLmRhdGEsIG1vZGU6IE1vZGUuQllURSwgbGVuZ3RoOiBzZWcubGVuZ3RoIH1cbiAgICAgICAgXSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgICAgbm9kZXMucHVzaChbc2VnLFxuICAgICAgICAgIHsgZGF0YTogc2VnLmRhdGEsIG1vZGU6IE1vZGUuQllURSwgbGVuZ3RoOiBnZXRTdHJpbmdCeXRlTGVuZ3RoKHNlZy5kYXRhKSB9XG4gICAgICAgIF0pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIE1vZGUuQllURTpcbiAgICAgICAgbm9kZXMucHVzaChbXG4gICAgICAgICAgeyBkYXRhOiBzZWcuZGF0YSwgbW9kZTogTW9kZS5CWVRFLCBsZW5ndGg6IGdldFN0cmluZ0J5dGVMZW5ndGgoc2VnLmRhdGEpIH1cbiAgICAgICAgXSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZXNcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBncmFwaCBmcm9tIGEgbGlzdCBvZiBub2Rlcy5cbiAqIEFsbCBzZWdtZW50cyBpbiBlYWNoIG5vZGUgZ3JvdXAgd2lsbCBiZSBjb25uZWN0ZWQgd2l0aCBhbGwgdGhlIHNlZ21lbnRzIG9mXG4gKiB0aGUgbmV4dCBncm91cCBhbmQgc28gb24uXG4gKlxuICogQXQgZWFjaCBjb25uZWN0aW9uIHdpbGwgYmUgYXNzaWduZWQgYSB3ZWlnaHQgZGVwZW5kaW5nIG9uIHRoZVxuICogc2VnbWVudCdzIGJ5dGUgbGVuZ3RoLlxuICpcbiAqIEBwYXJhbSAge0FycmF5fSBub2RlcyAgICBBcnJheSBvZiBvYmplY3Qgd2l0aCBzZWdtZW50cyBkYXRhXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgR3JhcGggb2YgYWxsIHBvc3NpYmxlIHNlZ21lbnRzXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkR3JhcGggKG5vZGVzLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IHRhYmxlID0ge31cbiAgY29uc3QgZ3JhcGggPSB7IHN0YXJ0OiB7fSB9XG4gIGxldCBwcmV2Tm9kZUlkcyA9IFsnc3RhcnQnXVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBub2RlR3JvdXAgPSBub2Rlc1tpXVxuICAgIGNvbnN0IGN1cnJlbnROb2RlSWRzID0gW11cblxuICAgIGZvciAobGV0IGogPSAwOyBqIDwgbm9kZUdyb3VwLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBub2RlID0gbm9kZUdyb3VwW2pdXG4gICAgICBjb25zdCBrZXkgPSAnJyArIGkgKyBqXG5cbiAgICAgIGN1cnJlbnROb2RlSWRzLnB1c2goa2V5KVxuICAgICAgdGFibGVba2V5XSA9IHsgbm9kZTogbm9kZSwgbGFzdENvdW50OiAwIH1cbiAgICAgIGdyYXBoW2tleV0gPSB7fVxuXG4gICAgICBmb3IgKGxldCBuID0gMDsgbiA8IHByZXZOb2RlSWRzLmxlbmd0aDsgbisrKSB7XG4gICAgICAgIGNvbnN0IHByZXZOb2RlSWQgPSBwcmV2Tm9kZUlkc1tuXVxuXG4gICAgICAgIGlmICh0YWJsZVtwcmV2Tm9kZUlkXSAmJiB0YWJsZVtwcmV2Tm9kZUlkXS5ub2RlLm1vZGUgPT09IG5vZGUubW9kZSkge1xuICAgICAgICAgIGdyYXBoW3ByZXZOb2RlSWRdW2tleV0gPVxuICAgICAgICAgICAgZ2V0U2VnbWVudEJpdHNMZW5ndGgodGFibGVbcHJldk5vZGVJZF0ubGFzdENvdW50ICsgbm9kZS5sZW5ndGgsIG5vZGUubW9kZSkgLVxuICAgICAgICAgICAgZ2V0U2VnbWVudEJpdHNMZW5ndGgodGFibGVbcHJldk5vZGVJZF0ubGFzdENvdW50LCBub2RlLm1vZGUpXG5cbiAgICAgICAgICB0YWJsZVtwcmV2Tm9kZUlkXS5sYXN0Q291bnQgKz0gbm9kZS5sZW5ndGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGFibGVbcHJldk5vZGVJZF0pIHRhYmxlW3ByZXZOb2RlSWRdLmxhc3RDb3VudCA9IG5vZGUubGVuZ3RoXG5cbiAgICAgICAgICBncmFwaFtwcmV2Tm9kZUlkXVtrZXldID0gZ2V0U2VnbWVudEJpdHNMZW5ndGgobm9kZS5sZW5ndGgsIG5vZGUubW9kZSkgK1xuICAgICAgICAgICAgNCArIE1vZGUuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKG5vZGUubW9kZSwgdmVyc2lvbikgLy8gc3dpdGNoIGNvc3RcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByZXZOb2RlSWRzID0gY3VycmVudE5vZGVJZHNcbiAgfVxuXG4gIGZvciAobGV0IG4gPSAwOyBuIDwgcHJldk5vZGVJZHMubGVuZ3RoOyBuKyspIHtcbiAgICBncmFwaFtwcmV2Tm9kZUlkc1tuXV0uZW5kID0gMFxuICB9XG5cbiAgcmV0dXJuIHsgbWFwOiBncmFwaCwgdGFibGU6IHRhYmxlIH1cbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBzZWdtZW50IGZyb20gYSBzcGVjaWZpZWQgZGF0YSBhbmQgbW9kZS5cbiAqIElmIGEgbW9kZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgbW9yZSBzdWl0YWJsZSB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSBkYXRhICAgICAgICAgICAgIElucHV0IGRhdGFcbiAqIEBwYXJhbSAge01vZGUgfCBTdHJpbmd9IG1vZGVzSGludCBEYXRhIG1vZGVcbiAqIEByZXR1cm4ge1NlZ21lbnR9ICAgICAgICAgICAgICAgICBTZWdtZW50XG4gKi9cbmZ1bmN0aW9uIGJ1aWxkU2luZ2xlU2VnbWVudCAoZGF0YSwgbW9kZXNIaW50KSB7XG4gIGxldCBtb2RlXG4gIGNvbnN0IGJlc3RNb2RlID0gTW9kZS5nZXRCZXN0TW9kZUZvckRhdGEoZGF0YSlcblxuICBtb2RlID0gTW9kZS5mcm9tKG1vZGVzSGludCwgYmVzdE1vZGUpXG5cbiAgLy8gTWFrZSBzdXJlIGRhdGEgY2FuIGJlIGVuY29kZWRcbiAgaWYgKG1vZGUgIT09IE1vZGUuQllURSAmJiBtb2RlLmJpdCA8IGJlc3RNb2RlLmJpdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignXCInICsgZGF0YSArICdcIicgK1xuICAgICAgJyBjYW5ub3QgYmUgZW5jb2RlZCB3aXRoIG1vZGUgJyArIE1vZGUudG9TdHJpbmcobW9kZSkgK1xuICAgICAgJy5cXG4gU3VnZ2VzdGVkIG1vZGUgaXM6ICcgKyBNb2RlLnRvU3RyaW5nKGJlc3RNb2RlKSlcbiAgfVxuXG4gIC8vIFVzZSBNb2RlLkJZVEUgaWYgS2Fuamkgc3VwcG9ydCBpcyBkaXNhYmxlZFxuICBpZiAobW9kZSA9PT0gTW9kZS5LQU5KSSAmJiAhVXRpbHMuaXNLYW5qaU1vZGVFbmFibGVkKCkpIHtcbiAgICBtb2RlID0gTW9kZS5CWVRFXG4gIH1cblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIE1vZGUuTlVNRVJJQzpcbiAgICAgIHJldHVybiBuZXcgTnVtZXJpY0RhdGEoZGF0YSlcblxuICAgIGNhc2UgTW9kZS5BTFBIQU5VTUVSSUM6XG4gICAgICByZXR1cm4gbmV3IEFscGhhbnVtZXJpY0RhdGEoZGF0YSlcblxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBuZXcgS2FuamlEYXRhKGRhdGEpXG5cbiAgICBjYXNlIE1vZGUuQllURTpcbiAgICAgIHJldHVybiBuZXcgQnl0ZURhdGEoZGF0YSlcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGxpc3Qgb2Ygc2VnbWVudHMgZnJvbSBhbiBhcnJheS5cbiAqIEFycmF5IGNhbiBjb250YWluIFN0cmluZ3Mgb3IgT2JqZWN0cyB3aXRoIHNlZ21lbnQncyBpbmZvLlxuICpcbiAqIEZvciBlYWNoIGl0ZW0gd2hpY2ggaXMgYSBzdHJpbmcsIHdpbGwgYmUgZ2VuZXJhdGVkIGEgc2VnbWVudCB3aXRoIHRoZSBnaXZlblxuICogc3RyaW5nIGFuZCB0aGUgbW9yZSBhcHByb3ByaWF0ZSBlbmNvZGluZyBtb2RlLlxuICpcbiAqIEZvciBlYWNoIGl0ZW0gd2hpY2ggaXMgYW4gb2JqZWN0LCB3aWxsIGJlIGdlbmVyYXRlZCBhIHNlZ21lbnQgd2l0aCB0aGUgZ2l2ZW5cbiAqIGRhdGEgYW5kIG1vZGUuXG4gKiBPYmplY3RzIG11c3QgY29udGFpbiBhdCBsZWFzdCB0aGUgcHJvcGVydHkgXCJkYXRhXCIuXG4gKiBJZiBwcm9wZXJ0eSBcIm1vZGVcIiBpcyBub3QgcHJlc2VudCwgdGhlIG1vcmUgc3VpdGFibGUgbW9kZSB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IGFycmF5IEFycmF5IG9mIG9iamVjdHMgd2l0aCBzZWdtZW50cyBkYXRhXG4gKiBAcmV0dXJuIHtBcnJheX0gICAgICAgQXJyYXkgb2YgU2VnbWVudHNcbiAqL1xuZXhwb3J0cy5mcm9tQXJyYXkgPSBmdW5jdGlvbiBmcm9tQXJyYXkgKGFycmF5KSB7XG4gIHJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgc2VnKSB7XG4gICAgaWYgKHR5cGVvZiBzZWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhY2MucHVzaChidWlsZFNpbmdsZVNlZ21lbnQoc2VnLCBudWxsKSlcbiAgICB9IGVsc2UgaWYgKHNlZy5kYXRhKSB7XG4gICAgICBhY2MucHVzaChidWlsZFNpbmdsZVNlZ21lbnQoc2VnLmRhdGEsIHNlZy5tb2RlKSlcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBvcHRpbWl6ZWQgc2VxdWVuY2Ugb2Ygc2VnbWVudHMgZnJvbSBhIHN0cmluZyxcbiAqIHdoaWNoIHdpbGwgcHJvZHVjZSB0aGUgc2hvcnRlc3QgcG9zc2libGUgYml0c3RyZWFtLlxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YSAgICBJbnB1dCBzdHJpbmdcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBzZWdtZW50c1xuICovXG5leHBvcnRzLmZyb21TdHJpbmcgPSBmdW5jdGlvbiBmcm9tU3RyaW5nIChkYXRhLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IHNlZ3MgPSBnZXRTZWdtZW50c0Zyb21TdHJpbmcoZGF0YSwgVXRpbHMuaXNLYW5qaU1vZGVFbmFibGVkKCkpXG5cbiAgY29uc3Qgbm9kZXMgPSBidWlsZE5vZGVzKHNlZ3MpXG4gIGNvbnN0IGdyYXBoID0gYnVpbGRHcmFwaChub2RlcywgdmVyc2lvbilcbiAgY29uc3QgcGF0aCA9IGRpamtzdHJhLmZpbmRfcGF0aChncmFwaC5tYXAsICdzdGFydCcsICdlbmQnKVxuXG4gIGNvbnN0IG9wdGltaXplZFNlZ3MgPSBbXVxuICBmb3IgKGxldCBpID0gMTsgaSA8IHBhdGgubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgb3B0aW1pemVkU2Vncy5wdXNoKGdyYXBoLnRhYmxlW3BhdGhbaV1dLm5vZGUpXG4gIH1cblxuICByZXR1cm4gZXhwb3J0cy5mcm9tQXJyYXkobWVyZ2VTZWdtZW50cyhvcHRpbWl6ZWRTZWdzKSlcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBzdHJpbmcgaW4gdmFyaW91cyBzZWdtZW50cyB3aXRoIHRoZSBtb2RlcyB3aGljaFxuICogYmVzdCByZXByZXNlbnQgdGhlaXIgY29udGVudC5cbiAqIFRoZSBwcm9kdWNlZCBzZWdtZW50cyBhcmUgZmFyIGZyb20gYmVpbmcgb3B0aW1pemVkLlxuICogVGhlIG91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCB0byBlc3RpbWF0ZSBhIFFSIENvZGUgdmVyc2lvblxuICogd2hpY2ggbWF5IGNvbnRhaW4gdGhlIGRhdGEuXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfSBkYXRhIElucHV0IHN0cmluZ1xuICogQHJldHVybiB7QXJyYXl9ICAgICAgIEFycmF5IG9mIHNlZ21lbnRzXG4gKi9cbmV4cG9ydHMucmF3U3BsaXQgPSBmdW5jdGlvbiByYXdTcGxpdCAoZGF0YSkge1xuICByZXR1cm4gZXhwb3J0cy5mcm9tQXJyYXkoXG4gICAgZ2V0U2VnbWVudHNGcm9tU3RyaW5nKGRhdGEsIFV0aWxzLmlzS2FuamlNb2RlRW5hYmxlZCgpKVxuICApXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/segments.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/utils.js": -/*!***********************************************!*\ - !*** ./node_modules/qrcode/lib/core/utils.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBLCtCQUErQjtBQUMvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGFBQWE7QUFDekI7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUEsY0FBYztBQUNkO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS91dGlscy5qcz80NWM3Il0sInNvdXJjZXNDb250ZW50IjpbImxldCB0b1NKSVNGdW5jdGlvblxuY29uc3QgQ09ERVdPUkRTX0NPVU5UID0gW1xuICAwLCAvLyBOb3QgdXNlZFxuICAyNiwgNDQsIDcwLCAxMDAsIDEzNCwgMTcyLCAxOTYsIDI0MiwgMjkyLCAzNDYsXG4gIDQwNCwgNDY2LCA1MzIsIDU4MSwgNjU1LCA3MzMsIDgxNSwgOTAxLCA5OTEsIDEwODUsXG4gIDExNTYsIDEyNTgsIDEzNjQsIDE0NzQsIDE1ODgsIDE3MDYsIDE4MjgsIDE5MjEsIDIwNTEsIDIxODUsXG4gIDIzMjMsIDI0NjUsIDI2MTEsIDI3NjEsIDI4NzYsIDMwMzQsIDMxOTYsIDMzNjIsIDM1MzIsIDM3MDZcbl1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBRUiBDb2RlIHNpemUgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvblxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICBzaXplIG9mIFFSIGNvZGVcbiAqL1xuZXhwb3J0cy5nZXRTeW1ib2xTaXplID0gZnVuY3Rpb24gZ2V0U3ltYm9sU2l6ZSAodmVyc2lvbikge1xuICBpZiAoIXZlcnNpb24pIHRocm93IG5ldyBFcnJvcignXCJ2ZXJzaW9uXCIgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkJylcbiAgaWYgKHZlcnNpb24gPCAxIHx8IHZlcnNpb24gPiA0MCkgdGhyb3cgbmV3IEVycm9yKCdcInZlcnNpb25cIiBzaG91bGQgYmUgaW4gcmFuZ2UgZnJvbSAxIHRvIDQwJylcbiAgcmV0dXJuIHZlcnNpb24gKiA0ICsgMTdcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgY29kZXdvcmRzIHVzZWQgdG8gc3RvcmUgZGF0YSBhbmQgRUMgaW5mb3JtYXRpb24uXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIERhdGEgbGVuZ3RoIGluIGJpdHNcbiAqL1xuZXhwb3J0cy5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyA9IGZ1bmN0aW9uIGdldFN5bWJvbFRvdGFsQ29kZXdvcmRzICh2ZXJzaW9uKSB7XG4gIHJldHVybiBDT0RFV09SRFNfQ09VTlRbdmVyc2lvbl1cbn1cblxuLyoqXG4gKiBFbmNvZGUgZGF0YSB3aXRoIEJvc2UtQ2hhdWRodXJpLUhvY3F1ZW5naGVtXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBkYXRhIFZhbHVlIHRvIGVuY29kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgIEVuY29kZWQgdmFsdWVcbiAqL1xuZXhwb3J0cy5nZXRCQ0hEaWdpdCA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIGxldCBkaWdpdCA9IDBcblxuICB3aGlsZSAoZGF0YSAhPT0gMCkge1xuICAgIGRpZ2l0KytcbiAgICBkYXRhID4+Pj0gMVxuICB9XG5cbiAgcmV0dXJuIGRpZ2l0XG59XG5cbmV4cG9ydHMuc2V0VG9TSklTRnVuY3Rpb24gPSBmdW5jdGlvbiBzZXRUb1NKSVNGdW5jdGlvbiAoZikge1xuICBpZiAodHlwZW9mIGYgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1widG9TSklTRnVuY1wiIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uLicpXG4gIH1cblxuICB0b1NKSVNGdW5jdGlvbiA9IGZcbn1cblxuZXhwb3J0cy5pc0thbmppTW9kZUVuYWJsZWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0eXBlb2YgdG9TSklTRnVuY3Rpb24gIT09ICd1bmRlZmluZWQnXG59XG5cbmV4cG9ydHMudG9TSklTID0gZnVuY3Rpb24gdG9TSklTIChrYW5qaSkge1xuICByZXR1cm4gdG9TSklTRnVuY3Rpb24oa2FuamkpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/version-check.js": -/*!*******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/version-check.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3ZlcnNpb24tY2hlY2suanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxTQUFTO0FBQ3JCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0EsZUFBZTtBQUNmO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS92ZXJzaW9uLWNoZWNrLmpzP2E4MmYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDaGVjayBpZiBRUiBDb2RlIHZlcnNpb24gaXMgdmFsaWRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICB0cnVlIGlmIHZhbGlkIHZlcnNpb24sIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnRzLmlzVmFsaWQgPSBmdW5jdGlvbiBpc1ZhbGlkICh2ZXJzaW9uKSB7XG4gIHJldHVybiAhaXNOYU4odmVyc2lvbikgJiYgdmVyc2lvbiA+PSAxICYmIHZlcnNpb24gPD0gNDBcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/version-check.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/version.js": -/*!*************************************************!*\ - !*** ./node_modules/qrcode/lib/core/version.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\nconst ECCode = __webpack_require__(/*! ./error-correction-code */ \"./node_modules/qrcode/lib/core/error-correction-code.js\")\nconst ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/qrcode/lib/core/error-correction-level.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst VersionCheck = __webpack_require__(/*! ./version-check */ \"./node_modules/qrcode/lib/core/version-check.js\")\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3ZlcnNpb24uanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLHdEQUFTO0FBQy9CLGVBQWUsbUJBQU8sQ0FBQyx3RkFBeUI7QUFDaEQsZ0JBQWdCLG1CQUFPLENBQUMsMEZBQTBCO0FBQ2xELGFBQWEsbUJBQU8sQ0FBQyxzREFBUTtBQUM3QixxQkFBcUIsbUJBQU8sQ0FBQyx3RUFBaUI7O0FBRTlDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksZUFBZTtBQUMzQixZQUFZLDRCQUE0QjtBQUN4QztBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxNQUFNO0FBQ2xCLFlBQVksaUNBQWlDO0FBQzdDO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvdmVyc2lvbi5qcz9iMjI0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5jb25zdCBFQ0NvZGUgPSByZXF1aXJlKCcuL2Vycm9yLWNvcnJlY3Rpb24tY29kZScpXG5jb25zdCBFQ0xldmVsID0gcmVxdWlyZSgnLi9lcnJvci1jb3JyZWN0aW9uLWxldmVsJylcbmNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuY29uc3QgVmVyc2lvbkNoZWNrID0gcmVxdWlyZSgnLi92ZXJzaW9uLWNoZWNrJylcblxuLy8gR2VuZXJhdG9yIHBvbHlub21pYWwgdXNlZCB0byBlbmNvZGUgdmVyc2lvbiBpbmZvcm1hdGlvblxuY29uc3QgRzE4ID0gKDEgPDwgMTIpIHwgKDEgPDwgMTEpIHwgKDEgPDwgMTApIHwgKDEgPDwgOSkgfCAoMSA8PCA4KSB8ICgxIDw8IDUpIHwgKDEgPDwgMikgfCAoMSA8PCAwKVxuY29uc3QgRzE4X0JDSCA9IFV0aWxzLmdldEJDSERpZ2l0KEcxOClcblxuZnVuY3Rpb24gZ2V0QmVzdFZlcnNpb25Gb3JEYXRhTGVuZ3RoIChtb2RlLCBsZW5ndGgsIGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XG4gIGZvciAobGV0IGN1cnJlbnRWZXJzaW9uID0gMTsgY3VycmVudFZlcnNpb24gPD0gNDA7IGN1cnJlbnRWZXJzaW9uKyspIHtcbiAgICBpZiAobGVuZ3RoIDw9IGV4cG9ydHMuZ2V0Q2FwYWNpdHkoY3VycmVudFZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsLCBtb2RlKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRWZXJzaW9uXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBnZXRSZXNlcnZlZEJpdHNDb3VudCAobW9kZSwgdmVyc2lvbikge1xuICAvLyBDaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yICsgbW9kZSBpbmRpY2F0b3IgYml0c1xuICByZXR1cm4gTW9kZS5nZXRDaGFyQ291bnRJbmRpY2F0b3IobW9kZSwgdmVyc2lvbikgKyA0XG59XG5cbmZ1bmN0aW9uIGdldFRvdGFsQml0c0Zyb21EYXRhQXJyYXkgKHNlZ21lbnRzLCB2ZXJzaW9uKSB7XG4gIGxldCB0b3RhbEJpdHMgPSAwXG5cbiAgc2VnbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZGF0YSkge1xuICAgIGNvbnN0IHJlc2VydmVkQml0cyA9IGdldFJlc2VydmVkQml0c0NvdW50KGRhdGEubW9kZSwgdmVyc2lvbilcbiAgICB0b3RhbEJpdHMgKz0gcmVzZXJ2ZWRCaXRzICsgZGF0YS5nZXRCaXRzTGVuZ3RoKClcbiAgfSlcblxuICByZXR1cm4gdG90YWxCaXRzXG59XG5cbmZ1bmN0aW9uIGdldEJlc3RWZXJzaW9uRm9yTWl4ZWREYXRhIChzZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcbiAgZm9yIChsZXQgY3VycmVudFZlcnNpb24gPSAxOyBjdXJyZW50VmVyc2lvbiA8PSA0MDsgY3VycmVudFZlcnNpb24rKykge1xuICAgIGNvbnN0IGxlbmd0aCA9IGdldFRvdGFsQml0c0Zyb21EYXRhQXJyYXkoc2VnbWVudHMsIGN1cnJlbnRWZXJzaW9uKVxuICAgIGlmIChsZW5ndGggPD0gZXhwb3J0cy5nZXRDYXBhY2l0eShjdXJyZW50VmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIE1vZGUuTUlYRUQpKSB7XG4gICAgICByZXR1cm4gY3VycmVudFZlcnNpb25cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogUmV0dXJucyB2ZXJzaW9uIG51bWJlciBmcm9tIGEgdmFsdWUuXG4gKiBJZiB2YWx1ZSBpcyBub3QgYSB2YWxpZCB2ZXJzaW9uLCByZXR1cm5zIGRlZmF1bHRWYWx1ZVxuICpcbiAqIEBwYXJhbSAge051bWJlcnxTdHJpbmd9IHZhbHVlICAgICAgICBRUiBDb2RlIHZlcnNpb25cbiAqIEBwYXJhbSAge051bWJlcn0gICAgICAgIGRlZmF1bHRWYWx1ZSBGYWxsYmFjayB2YWx1ZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvbiBudW1iZXJcbiAqL1xuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoVmVyc2lvbkNoZWNrLmlzVmFsaWQodmFsdWUpKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMClcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0VmFsdWVcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGhvdyBtdWNoIGRhdGEgY2FuIGJlIHN0b3JlZCB3aXRoIHRoZSBzcGVjaWZpZWQgUVIgY29kZSB2ZXJzaW9uXG4gKiBhbmQgZXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uICgxLTQwKVxuICogQHBhcmFtICB7TnVtYmVyfSBlcnJvckNvcnJlY3Rpb25MZXZlbCBFcnJvciBjb3JyZWN0aW9uIGxldmVsXG4gKiBAcGFyYW0gIHtNb2RlfSAgIG1vZGUgICAgICAgICAgICAgICAgIERhdGEgbW9kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgICBRdWFudGl0eSBvZiBzdG9yYWJsZSBkYXRhXG4gKi9cbmV4cG9ydHMuZ2V0Q2FwYWNpdHkgPSBmdW5jdGlvbiBnZXRDYXBhY2l0eSAodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1vZGUpIHtcbiAgaWYgKCFWZXJzaW9uQ2hlY2suaXNWYWxpZCh2ZXJzaW9uKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBRUiBDb2RlIHZlcnNpb24nKVxuICB9XG5cbiAgLy8gVXNlIEJ5dGUgbW9kZSBhcyBkZWZhdWx0XG4gIGlmICh0eXBlb2YgbW9kZSA9PT0gJ3VuZGVmaW5lZCcpIG1vZGUgPSBNb2RlLkJZVEVcblxuICAvLyBUb3RhbCBjb2Rld29yZHMgZm9yIHRoaXMgUVIgY29kZSB2ZXJzaW9uIChEYXRhICsgRXJyb3IgY29ycmVjdGlvbilcbiAgY29uc3QgdG90YWxDb2Rld29yZHMgPSBVdGlscy5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcyh2ZXJzaW9uKVxuXG4gIC8vIFRvdGFsIG51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkc1xuICBjb25zdCBlY1RvdGFsQ29kZXdvcmRzID0gRUNDb2RlLmdldFRvdGFsQ29kZXdvcmRzQ291bnQodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGRhdGEgY29kZXdvcmRzXG4gIGNvbnN0IGRhdGFUb3RhbENvZGV3b3Jkc0JpdHMgPSAodG90YWxDb2Rld29yZHMgLSBlY1RvdGFsQ29kZXdvcmRzKSAqIDhcblxuICBpZiAobW9kZSA9PT0gTW9kZS5NSVhFRCkgcmV0dXJuIGRhdGFUb3RhbENvZGV3b3Jkc0JpdHNcblxuICBjb25zdCB1c2FibGVCaXRzID0gZGF0YVRvdGFsQ29kZXdvcmRzQml0cyAtIGdldFJlc2VydmVkQml0c0NvdW50KG1vZGUsIHZlcnNpb24pXG5cbiAgLy8gUmV0dXJuIG1heCBudW1iZXIgb2Ygc3RvcmFibGUgY29kZXdvcmRzXG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgTW9kZS5OVU1FUklDOlxuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKHVzYWJsZUJpdHMgLyAxMCkgKiAzKVxuXG4gICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKCh1c2FibGVCaXRzIC8gMTEpICogMilcblxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKHVzYWJsZUJpdHMgLyAxMylcblxuICAgIGNhc2UgTW9kZS5CWVRFOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcih1c2FibGVCaXRzIC8gOClcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG1pbmltdW0gdmVyc2lvbiBuZWVkZWQgdG8gY29udGFpbiB0aGUgYW1vdW50IG9mIGRhdGFcbiAqXG4gKiBAcGFyYW0gIHtTZWdtZW50fSBkYXRhICAgICAgICAgICAgICAgICAgICBTZWdtZW50IG9mIGRhdGFcbiAqIEBwYXJhbSAge051bWJlcn0gW2Vycm9yQ29ycmVjdGlvbkxldmVsPUhdIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSAge01vZGV9IG1vZGUgICAgICAgICAgICAgICAgICAgICAgIERhdGEgbW9kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXG4gKi9cbmV4cG9ydHMuZ2V0QmVzdFZlcnNpb25Gb3JEYXRhID0gZnVuY3Rpb24gZ2V0QmVzdFZlcnNpb25Gb3JEYXRhIChkYXRhLCBlcnJvckNvcnJlY3Rpb25MZXZlbCkge1xuICBsZXQgc2VnXG5cbiAgY29uc3QgZWNsID0gRUNMZXZlbC5mcm9tKGVycm9yQ29ycmVjdGlvbkxldmVsLCBFQ0xldmVsLk0pXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gZ2V0QmVzdFZlcnNpb25Gb3JNaXhlZERhdGEoZGF0YSwgZWNsKVxuICAgIH1cblxuICAgIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDFcbiAgICB9XG5cbiAgICBzZWcgPSBkYXRhWzBdXG4gIH0gZWxzZSB7XG4gICAgc2VnID0gZGF0YVxuICB9XG5cbiAgcmV0dXJuIGdldEJlc3RWZXJzaW9uRm9yRGF0YUxlbmd0aChzZWcubW9kZSwgc2VnLmdldExlbmd0aCgpLCBlY2wpXG59XG5cbi8qKlxuICogUmV0dXJucyB2ZXJzaW9uIGluZm9ybWF0aW9uIHdpdGggcmVsYXRpdmUgZXJyb3IgY29ycmVjdGlvbiBiaXRzXG4gKlxuICogVGhlIHZlcnNpb24gaW5mb3JtYXRpb24gaXMgaW5jbHVkZWQgaW4gUVIgQ29kZSBzeW1ib2xzIG9mIHZlcnNpb24gNyBvciBsYXJnZXIuXG4gKiBJdCBjb25zaXN0cyBvZiBhbiAxOC1iaXQgc2VxdWVuY2UgY29udGFpbmluZyA2IGRhdGEgYml0cyxcbiAqIHdpdGggMTIgZXJyb3IgY29ycmVjdGlvbiBiaXRzIGNhbGN1bGF0ZWQgdXNpbmcgdGhlICgxOCwgNikgR29sYXkgY29kZS5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgRW5jb2RlZCB2ZXJzaW9uIGluZm8gYml0c1xuICovXG5leHBvcnRzLmdldEVuY29kZWRCaXRzID0gZnVuY3Rpb24gZ2V0RW5jb2RlZEJpdHMgKHZlcnNpb24pIHtcbiAgaWYgKCFWZXJzaW9uQ2hlY2suaXNWYWxpZCh2ZXJzaW9uKSB8fCB2ZXJzaW9uIDwgNykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBRUiBDb2RlIHZlcnNpb24nKVxuICB9XG5cbiAgbGV0IGQgPSB2ZXJzaW9uIDw8IDEyXG5cbiAgd2hpbGUgKFV0aWxzLmdldEJDSERpZ2l0KGQpIC0gRzE4X0JDSCA+PSAwKSB7XG4gICAgZCBePSAoRzE4IDw8IChVdGlscy5nZXRCQ0hEaWdpdChkKSAtIEcxOF9CQ0gpKVxuICB9XG5cbiAgcmV0dXJuICh2ZXJzaW9uIDw8IDEyKSB8IGRcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/version.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/renderer/canvas.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/renderer/canvas.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/renderer/utils.js\")\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9jYW52YXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLDREQUFTOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9jYW52YXMuanM/OTViMyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBVdGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuXG5mdW5jdGlvbiBjbGVhckNhbnZhcyAoY3R4LCBjYW52YXMsIHNpemUpIHtcbiAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpXG5cbiAgaWYgKCFjYW52YXMuc3R5bGUpIGNhbnZhcy5zdHlsZSA9IHt9XG4gIGNhbnZhcy5oZWlnaHQgPSBzaXplXG4gIGNhbnZhcy53aWR0aCA9IHNpemVcbiAgY2FudmFzLnN0eWxlLmhlaWdodCA9IHNpemUgKyAncHgnXG4gIGNhbnZhcy5zdHlsZS53aWR0aCA9IHNpemUgKyAncHgnXG59XG5cbmZ1bmN0aW9uIGdldENhbnZhc0VsZW1lbnQgKCkge1xuICB0cnkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQnKVxuICB9XG59XG5cbmV4cG9ydHMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyIChxckRhdGEsIGNhbnZhcywgb3B0aW9ucykge1xuICBsZXQgb3B0cyA9IG9wdGlvbnNcbiAgbGV0IGNhbnZhc0VsID0gY2FudmFzXG5cbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJyAmJiAoIWNhbnZhcyB8fCAhY2FudmFzLmdldENvbnRleHQpKSB7XG4gICAgb3B0cyA9IGNhbnZhc1xuICAgIGNhbnZhcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKCFjYW52YXMpIHtcbiAgICBjYW52YXNFbCA9IGdldENhbnZhc0VsZW1lbnQoKVxuICB9XG5cbiAgb3B0cyA9IFV0aWxzLmdldE9wdGlvbnMob3B0cylcbiAgY29uc3Qgc2l6ZSA9IFV0aWxzLmdldEltYWdlV2lkdGgocXJEYXRhLm1vZHVsZXMuc2l6ZSwgb3B0cylcblxuICBjb25zdCBjdHggPSBjYW52YXNFbC5nZXRDb250ZXh0KCcyZCcpXG4gIGNvbnN0IGltYWdlID0gY3R4LmNyZWF0ZUltYWdlRGF0YShzaXplLCBzaXplKVxuICBVdGlscy5xclRvSW1hZ2VEYXRhKGltYWdlLmRhdGEsIHFyRGF0YSwgb3B0cylcblxuICBjbGVhckNhbnZhcyhjdHgsIGNhbnZhc0VsLCBzaXplKVxuICBjdHgucHV0SW1hZ2VEYXRhKGltYWdlLCAwLCAwKVxuXG4gIHJldHVybiBjYW52YXNFbFxufVxuXG5leHBvcnRzLnJlbmRlclRvRGF0YVVSTCA9IGZ1bmN0aW9uIHJlbmRlclRvRGF0YVVSTCAocXJEYXRhLCBjYW52YXMsIG9wdGlvbnMpIHtcbiAgbGV0IG9wdHMgPSBvcHRpb25zXG5cbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJyAmJiAoIWNhbnZhcyB8fCAhY2FudmFzLmdldENvbnRleHQpKSB7XG4gICAgb3B0cyA9IGNhbnZhc1xuICAgIGNhbnZhcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKCFvcHRzKSBvcHRzID0ge31cblxuICBjb25zdCBjYW52YXNFbCA9IGV4cG9ydHMucmVuZGVyKHFyRGF0YSwgY2FudmFzLCBvcHRzKVxuXG4gIGNvbnN0IHR5cGUgPSBvcHRzLnR5cGUgfHwgJ2ltYWdlL3BuZydcbiAgY29uc3QgcmVuZGVyZXJPcHRzID0gb3B0cy5yZW5kZXJlck9wdHMgfHwge31cblxuICByZXR1cm4gY2FudmFzRWwudG9EYXRhVVJMKHR5cGUsIHJlbmRlcmVyT3B0cy5xdWFsaXR5KVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/renderer/canvas.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/renderer/svg-tag.js": -/*!*****************************************************!*\ - !*** ./node_modules/qrcode/lib/renderer/svg-tag.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/renderer/utils.js\")\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9zdmctdGFnLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyw0REFBUzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGlCQUFpQjtBQUNuQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvcmVuZGVyZXIvc3ZnLXRhZy5qcz84MTkyIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmZ1bmN0aW9uIGdldENvbG9yQXR0cmliIChjb2xvciwgYXR0cmliKSB7XG4gIGNvbnN0IGFscGhhID0gY29sb3IuYSAvIDI1NVxuICBjb25zdCBzdHIgPSBhdHRyaWIgKyAnPVwiJyArIGNvbG9yLmhleCArICdcIidcblxuICByZXR1cm4gYWxwaGEgPCAxXG4gICAgPyBzdHIgKyAnICcgKyBhdHRyaWIgKyAnLW9wYWNpdHk9XCInICsgYWxwaGEudG9GaXhlZCgyKS5zbGljZSgxKSArICdcIidcbiAgICA6IHN0clxufVxuXG5mdW5jdGlvbiBzdmdDbWQgKGNtZCwgeCwgeSkge1xuICBsZXQgc3RyID0gY21kICsgeFxuICBpZiAodHlwZW9mIHkgIT09ICd1bmRlZmluZWQnKSBzdHIgKz0gJyAnICsgeVxuXG4gIHJldHVybiBzdHJcbn1cblxuZnVuY3Rpb24gcXJUb1BhdGggKGRhdGEsIHNpemUsIG1hcmdpbikge1xuICBsZXQgcGF0aCA9ICcnXG4gIGxldCBtb3ZlQnkgPSAwXG4gIGxldCBuZXdSb3cgPSBmYWxzZVxuICBsZXQgbGluZUxlbmd0aCA9IDBcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjb2wgPSBNYXRoLmZsb29yKGkgJSBzaXplKVxuICAgIGNvbnN0IHJvdyA9IE1hdGguZmxvb3IoaSAvIHNpemUpXG5cbiAgICBpZiAoIWNvbCAmJiAhbmV3Um93KSBuZXdSb3cgPSB0cnVlXG5cbiAgICBpZiAoZGF0YVtpXSkge1xuICAgICAgbGluZUxlbmd0aCsrXG5cbiAgICAgIGlmICghKGkgPiAwICYmIGNvbCA+IDAgJiYgZGF0YVtpIC0gMV0pKSB7XG4gICAgICAgIHBhdGggKz0gbmV3Um93XG4gICAgICAgICAgPyBzdmdDbWQoJ00nLCBjb2wgKyBtYXJnaW4sIDAuNSArIHJvdyArIG1hcmdpbilcbiAgICAgICAgICA6IHN2Z0NtZCgnbScsIG1vdmVCeSwgMClcblxuICAgICAgICBtb3ZlQnkgPSAwXG4gICAgICAgIG5ld1JvdyA9IGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGlmICghKGNvbCArIDEgPCBzaXplICYmIGRhdGFbaSArIDFdKSkge1xuICAgICAgICBwYXRoICs9IHN2Z0NtZCgnaCcsIGxpbmVMZW5ndGgpXG4gICAgICAgIGxpbmVMZW5ndGggPSAwXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vdmVCeSsrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhdGhcbn1cblxuZXhwb3J0cy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIgKHFyRGF0YSwgb3B0aW9ucywgY2IpIHtcbiAgY29uc3Qgb3B0cyA9IFV0aWxzLmdldE9wdGlvbnMob3B0aW9ucylcbiAgY29uc3Qgc2l6ZSA9IHFyRGF0YS5tb2R1bGVzLnNpemVcbiAgY29uc3QgZGF0YSA9IHFyRGF0YS5tb2R1bGVzLmRhdGFcbiAgY29uc3QgcXJjb2Rlc2l6ZSA9IHNpemUgKyBvcHRzLm1hcmdpbiAqIDJcblxuICBjb25zdCBiZyA9ICFvcHRzLmNvbG9yLmxpZ2h0LmFcbiAgICA/ICcnXG4gICAgOiAnPHBhdGggJyArIGdldENvbG9yQXR0cmliKG9wdHMuY29sb3IubGlnaHQsICdmaWxsJykgK1xuICAgICAgJyBkPVwiTTAgMGgnICsgcXJjb2Rlc2l6ZSArICd2JyArIHFyY29kZXNpemUgKyAnSDB6XCIvPidcblxuICBjb25zdCBwYXRoID1cbiAgICAnPHBhdGggJyArIGdldENvbG9yQXR0cmliKG9wdHMuY29sb3IuZGFyaywgJ3N0cm9rZScpICtcbiAgICAnIGQ9XCInICsgcXJUb1BhdGgoZGF0YSwgc2l6ZSwgb3B0cy5tYXJnaW4pICsgJ1wiLz4nXG5cbiAgY29uc3Qgdmlld0JveCA9ICd2aWV3Qm94PVwiJyArICcwIDAgJyArIHFyY29kZXNpemUgKyAnICcgKyBxcmNvZGVzaXplICsgJ1wiJ1xuXG4gIGNvbnN0IHdpZHRoID0gIW9wdHMud2lkdGggPyAnJyA6ICd3aWR0aD1cIicgKyBvcHRzLndpZHRoICsgJ1wiIGhlaWdodD1cIicgKyBvcHRzLndpZHRoICsgJ1wiICdcblxuICBjb25zdCBzdmdUYWcgPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgJyArIHdpZHRoICsgdmlld0JveCArICcgc2hhcGUtcmVuZGVyaW5nPVwiY3Jpc3BFZGdlc1wiPicgKyBiZyArIHBhdGggKyAnPC9zdmc+XFxuJ1xuXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYihudWxsLCBzdmdUYWcpXG4gIH1cblxuICByZXR1cm4gc3ZnVGFnXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/renderer/svg-tag.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/renderer/utils.js": -/*!***************************************************!*\ - !*** ./node_modules/qrcode/lib/renderer/utils.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQjtBQUNsQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEMsb0JBQW9CLGdCQUFnQjtBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci91dGlscy5qcz84MGExIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGhleDJyZ2JhIChoZXgpIHtcbiAgaWYgKHR5cGVvZiBoZXggPT09ICdudW1iZXInKSB7XG4gICAgaGV4ID0gaGV4LnRvU3RyaW5nKClcbiAgfVxuXG4gIGlmICh0eXBlb2YgaGV4ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZycpXG4gIH1cblxuICBsZXQgaGV4Q29kZSA9IGhleC5zbGljZSgpLnJlcGxhY2UoJyMnLCAnJykuc3BsaXQoJycpXG4gIGlmIChoZXhDb2RlLmxlbmd0aCA8IDMgfHwgaGV4Q29kZS5sZW5ndGggPT09IDUgfHwgaGV4Q29kZS5sZW5ndGggPiA4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjogJyArIGhleClcbiAgfVxuXG4gIC8vIENvbnZlcnQgZnJvbSBzaG9ydCB0byBsb25nIGZvcm0gKGZmZiAtPiBmZmZmZmYpXG4gIGlmIChoZXhDb2RlLmxlbmd0aCA9PT0gMyB8fCBoZXhDb2RlLmxlbmd0aCA9PT0gNCkge1xuICAgIGhleENvZGUgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBoZXhDb2RlLm1hcChmdW5jdGlvbiAoYykge1xuICAgICAgcmV0dXJuIFtjLCBjXVxuICAgIH0pKVxuICB9XG5cbiAgLy8gQWRkIGRlZmF1bHQgYWxwaGEgdmFsdWVcbiAgaWYgKGhleENvZGUubGVuZ3RoID09PSA2KSBoZXhDb2RlLnB1c2goJ0YnLCAnRicpXG5cbiAgY29uc3QgaGV4VmFsdWUgPSBwYXJzZUludChoZXhDb2RlLmpvaW4oJycpLCAxNilcblxuICByZXR1cm4ge1xuICAgIHI6IChoZXhWYWx1ZSA+PiAyNCkgJiAyNTUsXG4gICAgZzogKGhleFZhbHVlID4+IDE2KSAmIDI1NSxcbiAgICBiOiAoaGV4VmFsdWUgPj4gOCkgJiAyNTUsXG4gICAgYTogaGV4VmFsdWUgJiAyNTUsXG4gICAgaGV4OiAnIycgKyBoZXhDb2RlLnNsaWNlKDAsIDYpLmpvaW4oJycpXG4gIH1cbn1cblxuZXhwb3J0cy5nZXRPcHRpb25zID0gZnVuY3Rpb24gZ2V0T3B0aW9ucyAob3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fVxuICBpZiAoIW9wdGlvbnMuY29sb3IpIG9wdGlvbnMuY29sb3IgPSB7fVxuXG4gIGNvbnN0IG1hcmdpbiA9IHR5cGVvZiBvcHRpb25zLm1hcmdpbiA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICBvcHRpb25zLm1hcmdpbiA9PT0gbnVsbCB8fFxuICAgIG9wdGlvbnMubWFyZ2luIDwgMFxuICAgID8gNFxuICAgIDogb3B0aW9ucy5tYXJnaW5cblxuICBjb25zdCB3aWR0aCA9IG9wdGlvbnMud2lkdGggJiYgb3B0aW9ucy53aWR0aCA+PSAyMSA/IG9wdGlvbnMud2lkdGggOiB1bmRlZmluZWRcbiAgY29uc3Qgc2NhbGUgPSBvcHRpb25zLnNjYWxlIHx8IDRcblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBzY2FsZTogd2lkdGggPyA0IDogc2NhbGUsXG4gICAgbWFyZ2luOiBtYXJnaW4sXG4gICAgY29sb3I6IHtcbiAgICAgIGRhcms6IGhleDJyZ2JhKG9wdGlvbnMuY29sb3IuZGFyayB8fCAnIzAwMDAwMGZmJyksXG4gICAgICBsaWdodDogaGV4MnJnYmEob3B0aW9ucy5jb2xvci5saWdodCB8fCAnI2ZmZmZmZmZmJylcbiAgICB9LFxuICAgIHR5cGU6IG9wdGlvbnMudHlwZSxcbiAgICByZW5kZXJlck9wdHM6IG9wdGlvbnMucmVuZGVyZXJPcHRzIHx8IHt9XG4gIH1cbn1cblxuZXhwb3J0cy5nZXRTY2FsZSA9IGZ1bmN0aW9uIGdldFNjYWxlIChxclNpemUsIG9wdHMpIHtcbiAgcmV0dXJuIG9wdHMud2lkdGggJiYgb3B0cy53aWR0aCA+PSBxclNpemUgKyBvcHRzLm1hcmdpbiAqIDJcbiAgICA/IG9wdHMud2lkdGggLyAocXJTaXplICsgb3B0cy5tYXJnaW4gKiAyKVxuICAgIDogb3B0cy5zY2FsZVxufVxuXG5leHBvcnRzLmdldEltYWdlV2lkdGggPSBmdW5jdGlvbiBnZXRJbWFnZVdpZHRoIChxclNpemUsIG9wdHMpIHtcbiAgY29uc3Qgc2NhbGUgPSBleHBvcnRzLmdldFNjYWxlKHFyU2l6ZSwgb3B0cylcbiAgcmV0dXJuIE1hdGguZmxvb3IoKHFyU2l6ZSArIG9wdHMubWFyZ2luICogMikgKiBzY2FsZSlcbn1cblxuZXhwb3J0cy5xclRvSW1hZ2VEYXRhID0gZnVuY3Rpb24gcXJUb0ltYWdlRGF0YSAoaW1nRGF0YSwgcXIsIG9wdHMpIHtcbiAgY29uc3Qgc2l6ZSA9IHFyLm1vZHVsZXMuc2l6ZVxuICBjb25zdCBkYXRhID0gcXIubW9kdWxlcy5kYXRhXG4gIGNvbnN0IHNjYWxlID0gZXhwb3J0cy5nZXRTY2FsZShzaXplLCBvcHRzKVxuICBjb25zdCBzeW1ib2xTaXplID0gTWF0aC5mbG9vcigoc2l6ZSArIG9wdHMubWFyZ2luICogMikgKiBzY2FsZSlcbiAgY29uc3Qgc2NhbGVkTWFyZ2luID0gb3B0cy5tYXJnaW4gKiBzY2FsZVxuICBjb25zdCBwYWxldHRlID0gW29wdHMuY29sb3IubGlnaHQsIG9wdHMuY29sb3IuZGFya11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN5bWJvbFNpemU7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgc3ltYm9sU2l6ZTsgaisrKSB7XG4gICAgICBsZXQgcG9zRHN0ID0gKGkgKiBzeW1ib2xTaXplICsgaikgKiA0XG4gICAgICBsZXQgcHhDb2xvciA9IG9wdHMuY29sb3IubGlnaHRcblxuICAgICAgaWYgKGkgPj0gc2NhbGVkTWFyZ2luICYmIGogPj0gc2NhbGVkTWFyZ2luICYmXG4gICAgICAgIGkgPCBzeW1ib2xTaXplIC0gc2NhbGVkTWFyZ2luICYmIGogPCBzeW1ib2xTaXplIC0gc2NhbGVkTWFyZ2luKSB7XG4gICAgICAgIGNvbnN0IGlTcmMgPSBNYXRoLmZsb29yKChpIC0gc2NhbGVkTWFyZ2luKSAvIHNjYWxlKVxuICAgICAgICBjb25zdCBqU3JjID0gTWF0aC5mbG9vcigoaiAtIHNjYWxlZE1hcmdpbikgLyBzY2FsZSlcbiAgICAgICAgcHhDb2xvciA9IHBhbGV0dGVbZGF0YVtpU3JjICogc2l6ZSArIGpTcmNdID8gMSA6IDBdXG4gICAgICB9XG5cbiAgICAgIGltZ0RhdGFbcG9zRHN0KytdID0gcHhDb2xvci5yXG4gICAgICBpbWdEYXRhW3Bvc0RzdCsrXSA9IHB4Q29sb3IuZ1xuICAgICAgaW1nRGF0YVtwb3NEc3QrK10gPSBweENvbG9yLmJcbiAgICAgIGltZ0RhdGFbcG9zRHN0XSA9IHB4Q29sb3IuYVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/renderer/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/query-string/index.js": -/*!********************************************!*\ - !*** ./node_modules/query-string/index.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nconst strictUriEncode = __webpack_require__(/*! strict-uri-encode */ \"./node_modules/strict-uri-encode/index.js\");\nconst decodeComponent = __webpack_require__(/*! decode-uri-component */ \"./node_modules/decode-uri-component/index.js\");\nconst splitOnFirst = __webpack_require__(/*! split-on-first */ \"./node_modules/split-on-first/index.js\");\nconst filterObject = __webpack_require__(/*! filter-obj */ \"./node_modules/filter-obj/index.js\");\n\nconst isNullOrUndefined = value => value === null || value === undefined;\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 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', 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\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 '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\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'].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\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}, 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 = `#${encode(object.fragmentIdentifier, options)}`;\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}, 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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXVlcnktc3RyaW5nL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2Isd0JBQXdCLG1CQUFPLENBQUMsb0VBQW1CO0FBQ25ELHdCQUF3QixtQkFBTyxDQUFDLDBFQUFzQjtBQUN0RCxxQkFBcUIsbUJBQU8sQ0FBQyw4REFBZ0I7QUFDN0MscUJBQXFCLG1CQUFPLENBQUMsc0RBQVk7O0FBRXpDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQSxFQUFFO0FBQ0Y7O0FBRUEsZUFBZTtBQUNmLGFBQWE7O0FBRWIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7QUFFQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsd0RBQXdELDJDQUEyQztBQUNuRztBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQSx5REFBeUQsWUFBWTs7QUFFckU7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFlBQVk7QUFDaEM7O0FBRUE7QUFDQTtBQUNBLGFBQWEsMkNBQTJDO0FBQ3hEOztBQUVBLFdBQVcsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLO0FBQ3BDOztBQUVBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsRUFBRTs7QUFFRixRQUFRLGdDQUFnQztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXVlcnktc3RyaW5nL2luZGV4LmpzP2M0MDMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuY29uc3Qgc3RyaWN0VXJpRW5jb2RlID0gcmVxdWlyZSgnc3RyaWN0LXVyaS1lbmNvZGUnKTtcbmNvbnN0IGRlY29kZUNvbXBvbmVudCA9IHJlcXVpcmUoJ2RlY29kZS11cmktY29tcG9uZW50Jyk7XG5jb25zdCBzcGxpdE9uRmlyc3QgPSByZXF1aXJlKCdzcGxpdC1vbi1maXJzdCcpO1xuY29uc3QgZmlsdGVyT2JqZWN0ID0gcmVxdWlyZSgnZmlsdGVyLW9iaicpO1xuXG5jb25zdCBpc051bGxPclVuZGVmaW5lZCA9IHZhbHVlID0+IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XG5cbmZ1bmN0aW9uIGVuY29kZXJGb3JBcnJheUZvcm1hdChvcHRpb25zKSB7XG5cdHN3aXRjaCAob3B0aW9ucy5hcnJheUZvcm1hdCkge1xuXHRcdGNhc2UgJ2luZGV4Jzpcblx0XHRcdHJldHVybiBrZXkgPT4gKHJlc3VsdCwgdmFsdWUpID0+IHtcblx0XHRcdFx0Y29uc3QgaW5kZXggPSByZXN1bHQubGVuZ3RoO1xuXG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHR2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0XHRcdFx0KG9wdGlvbnMuc2tpcE51bGwgJiYgdmFsdWUgPT09IG51bGwpIHx8XG5cdFx0XHRcdFx0KG9wdGlvbnMuc2tpcEVtcHR5U3RyaW5nICYmIHZhbHVlID09PSAnJylcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0XHRcdHJldHVybiBbLi4ucmVzdWx0LCBbZW5jb2RlKGtleSwgb3B0aW9ucyksICdbJywgaW5kZXgsICddJ10uam9pbignJyldO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0XHQuLi5yZXN1bHQsXG5cdFx0XHRcdFx0W2VuY29kZShrZXksIG9wdGlvbnMpLCAnWycsIGVuY29kZShpbmRleCwgb3B0aW9ucyksICddPScsIGVuY29kZSh2YWx1ZSwgb3B0aW9ucyldLmpvaW4oJycpXG5cdFx0XHRcdF07XG5cdFx0XHR9O1xuXG5cdFx0Y2FzZSAnYnJhY2tldCc6XG5cdFx0XHRyZXR1cm4ga2V5ID0+IChyZXN1bHQsIHZhbHVlKSA9PiB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHR2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0XHRcdFx0KG9wdGlvbnMuc2tpcE51bGwgJiYgdmFsdWUgPT09IG51bGwpIHx8XG5cdFx0XHRcdFx0KG9wdGlvbnMuc2tpcEVtcHR5U3RyaW5nICYmIHZhbHVlID09PSAnJylcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0XHRcdHJldHVybiBbLi4ucmVzdWx0LCBbZW5jb2RlKGtleSwgb3B0aW9ucyksICdbXSddLmpvaW4oJycpXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbLi4ucmVzdWx0LCBbZW5jb2RlKGtleSwgb3B0aW9ucyksICdbXT0nLCBlbmNvZGUodmFsdWUsIG9wdGlvbnMpXS5qb2luKCcnKV07XG5cdFx0XHR9O1xuXG5cdFx0Y2FzZSAnY29tbWEnOlxuXHRcdGNhc2UgJ3NlcGFyYXRvcic6XG5cdFx0XHRyZXR1cm4ga2V5ID0+IChyZXN1bHQsIHZhbHVlKSA9PiB7XG5cdFx0XHRcdGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdHJldHVybiBbW2VuY29kZShrZXksIG9wdGlvbnMpLCAnPScsIGVuY29kZSh2YWx1ZSwgb3B0aW9ucyldLmpvaW4oJycpXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbW3Jlc3VsdCwgZW5jb2RlKHZhbHVlLCBvcHRpb25zKV0uam9pbihvcHRpb25zLmFycmF5Rm9ybWF0U2VwYXJhdG9yKV07XG5cdFx0XHR9O1xuXG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiBrZXkgPT4gKHJlc3VsdCwgdmFsdWUpID0+IHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdHZhbHVlID09PSB1bmRlZmluZWQgfHxcblx0XHRcdFx0XHQob3B0aW9ucy5za2lwTnVsbCAmJiB2YWx1ZSA9PT0gbnVsbCkgfHxcblx0XHRcdFx0XHQob3B0aW9ucy5za2lwRW1wdHlTdHJpbmcgJiYgdmFsdWUgPT09ICcnKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFsuLi5yZXN1bHQsIGVuY29kZShrZXksIG9wdGlvbnMpXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbLi4ucmVzdWx0LCBbZW5jb2RlKGtleSwgb3B0aW9ucyksICc9JywgZW5jb2RlKHZhbHVlLCBvcHRpb25zKV0uam9pbignJyldO1xuXHRcdFx0fTtcblx0fVxufVxuXG5mdW5jdGlvbiBwYXJzZXJGb3JBcnJheUZvcm1hdChvcHRpb25zKSB7XG5cdGxldCByZXN1bHQ7XG5cblx0c3dpdGNoIChvcHRpb25zLmFycmF5Rm9ybWF0KSB7XG5cdFx0Y2FzZSAnaW5kZXgnOlxuXHRcdFx0cmV0dXJuIChrZXksIHZhbHVlLCBhY2N1bXVsYXRvcikgPT4ge1xuXHRcdFx0XHRyZXN1bHQgPSAvXFxbKFxcZCopXFxdJC8uZXhlYyhrZXkpO1xuXG5cdFx0XHRcdGtleSA9IGtleS5yZXBsYWNlKC9cXFtcXGQqXFxdJC8sICcnKTtcblxuXHRcdFx0XHRpZiAoIXJlc3VsdCkge1xuXHRcdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSB2YWx1ZTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoYWNjdW11bGF0b3Jba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0YWNjdW11bGF0b3Jba2V5XSA9IHt9O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YWNjdW11bGF0b3Jba2V5XVtyZXN1bHRbMV1dID0gdmFsdWU7XG5cdFx0XHR9O1xuXG5cdFx0Y2FzZSAnYnJhY2tldCc6XG5cdFx0XHRyZXR1cm4gKGtleSwgdmFsdWUsIGFjY3VtdWxhdG9yKSA9PiB7XG5cdFx0XHRcdHJlc3VsdCA9IC8oXFxbXFxdKSQvLmV4ZWMoa2V5KTtcblx0XHRcdFx0a2V5ID0ga2V5LnJlcGxhY2UoL1xcW1xcXSQvLCAnJyk7XG5cblx0XHRcdFx0aWYgKCFyZXN1bHQpIHtcblx0XHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gdmFsdWU7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGFjY3VtdWxhdG9yW2tleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSBbdmFsdWVdO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSBbXS5jb25jYXQoYWNjdW11bGF0b3Jba2V5XSwgdmFsdWUpO1xuXHRcdFx0fTtcblxuXHRcdGNhc2UgJ2NvbW1hJzpcblx0XHRjYXNlICdzZXBhcmF0b3InOlxuXHRcdFx0cmV0dXJuIChrZXksIHZhbHVlLCBhY2N1bXVsYXRvcikgPT4ge1xuXHRcdFx0XHRjb25zdCBpc0FycmF5ID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmNsdWRlcyhvcHRpb25zLmFycmF5Rm9ybWF0U2VwYXJhdG9yKTtcblx0XHRcdFx0Y29uc3QgaXNFbmNvZGVkQXJyYXkgPSAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhaXNBcnJheSAmJiBkZWNvZGUodmFsdWUsIG9wdGlvbnMpLmluY2x1ZGVzKG9wdGlvbnMuYXJyYXlGb3JtYXRTZXBhcmF0b3IpKTtcblx0XHRcdFx0dmFsdWUgPSBpc0VuY29kZWRBcnJheSA/IGRlY29kZSh2YWx1ZSwgb3B0aW9ucykgOiB2YWx1ZTtcblx0XHRcdFx0Y29uc3QgbmV3VmFsdWUgPSBpc0FycmF5IHx8IGlzRW5jb2RlZEFycmF5ID8gdmFsdWUuc3BsaXQob3B0aW9ucy5hcnJheUZvcm1hdFNlcGFyYXRvcikubWFwKGl0ZW0gPT4gZGVjb2RlKGl0ZW0sIG9wdGlvbnMpKSA6IHZhbHVlID09PSBudWxsID8gdmFsdWUgOiBkZWNvZGUodmFsdWUsIG9wdGlvbnMpO1xuXHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gbmV3VmFsdWU7XG5cdFx0XHR9O1xuXG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiAoa2V5LCB2YWx1ZSwgYWNjdW11bGF0b3IpID0+IHtcblx0XHRcdFx0aWYgKGFjY3VtdWxhdG9yW2tleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSB2YWx1ZTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gW10uY29uY2F0KGFjY3VtdWxhdG9yW2tleV0sIHZhbHVlKTtcblx0XHRcdH07XG5cdH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBcnJheUZvcm1hdFNlcGFyYXRvcih2YWx1ZSkge1xuXHRpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCB2YWx1ZS5sZW5ndGggIT09IDEpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdhcnJheUZvcm1hdFNlcGFyYXRvciBtdXN0IGJlIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nJyk7XG5cdH1cbn1cblxuZnVuY3Rpb24gZW5jb2RlKHZhbHVlLCBvcHRpb25zKSB7XG5cdGlmIChvcHRpb25zLmVuY29kZSkge1xuXHRcdHJldHVybiBvcHRpb25zLnN0cmljdCA/IHN0cmljdFVyaUVuY29kZSh2YWx1ZSkgOiBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuXHR9XG5cblx0cmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBkZWNvZGUodmFsdWUsIG9wdGlvbnMpIHtcblx0aWYgKG9wdGlvbnMuZGVjb2RlKSB7XG5cdFx0cmV0dXJuIGRlY29kZUNvbXBvbmVudCh2YWx1ZSk7XG5cdH1cblxuXHRyZXR1cm4gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIGtleXNTb3J0ZXIoaW5wdXQpIHtcblx0aWYgKEFycmF5LmlzQXJyYXkoaW5wdXQpKSB7XG5cdFx0cmV0dXJuIGlucHV0LnNvcnQoKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgaW5wdXQgPT09ICdvYmplY3QnKSB7XG5cdFx0cmV0dXJuIGtleXNTb3J0ZXIoT2JqZWN0LmtleXMoaW5wdXQpKVxuXHRcdFx0LnNvcnQoKGEsIGIpID0+IE51bWJlcihhKSAtIE51bWJlcihiKSlcblx0XHRcdC5tYXAoa2V5ID0+IGlucHV0W2tleV0pO1xuXHR9XG5cblx0cmV0dXJuIGlucHV0O1xufVxuXG5mdW5jdGlvbiByZW1vdmVIYXNoKGlucHV0KSB7XG5cdGNvbnN0IGhhc2hTdGFydCA9IGlucHV0LmluZGV4T2YoJyMnKTtcblx0aWYgKGhhc2hTdGFydCAhPT0gLTEpIHtcblx0XHRpbnB1dCA9IGlucHV0LnNsaWNlKDAsIGhhc2hTdGFydCk7XG5cdH1cblxuXHRyZXR1cm4gaW5wdXQ7XG59XG5cbmZ1bmN0aW9uIGdldEhhc2godXJsKSB7XG5cdGxldCBoYXNoID0gJyc7XG5cdGNvbnN0IGhhc2hTdGFydCA9IHVybC5pbmRleE9mKCcjJyk7XG5cdGlmIChoYXNoU3RhcnQgIT09IC0xKSB7XG5cdFx0aGFzaCA9IHVybC5zbGljZShoYXNoU3RhcnQpO1xuXHR9XG5cblx0cmV0dXJuIGhhc2g7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3QoaW5wdXQpIHtcblx0aW5wdXQgPSByZW1vdmVIYXNoKGlucHV0KTtcblx0Y29uc3QgcXVlcnlTdGFydCA9IGlucHV0LmluZGV4T2YoJz8nKTtcblx0aWYgKHF1ZXJ5U3RhcnQgPT09IC0xKSB7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0cmV0dXJuIGlucHV0LnNsaWNlKHF1ZXJ5U3RhcnQgKyAxKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VWYWx1ZSh2YWx1ZSwgb3B0aW9ucykge1xuXHRpZiAob3B0aW9ucy5wYXJzZU51bWJlcnMgJiYgIU51bWJlci5pc05hTihOdW1iZXIodmFsdWUpKSAmJiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgIT09ICcnKSkge1xuXHRcdHZhbHVlID0gTnVtYmVyKHZhbHVlKTtcblx0fSBlbHNlIGlmIChvcHRpb25zLnBhcnNlQm9vbGVhbnMgJiYgdmFsdWUgIT09IG51bGwgJiYgKHZhbHVlLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyB8fCB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSkge1xuXHRcdHZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xuXHR9XG5cblx0cmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBwYXJzZShxdWVyeSwgb3B0aW9ucykge1xuXHRvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7XG5cdFx0ZGVjb2RlOiB0cnVlLFxuXHRcdHNvcnQ6IHRydWUsXG5cdFx0YXJyYXlGb3JtYXQ6ICdub25lJyxcblx0XHRhcnJheUZvcm1hdFNlcGFyYXRvcjogJywnLFxuXHRcdHBhcnNlTnVtYmVyczogZmFsc2UsXG5cdFx0cGFyc2VCb29sZWFuczogZmFsc2Vcblx0fSwgb3B0aW9ucyk7XG5cblx0dmFsaWRhdGVBcnJheUZvcm1hdFNlcGFyYXRvcihvcHRpb25zLmFycmF5Rm9ybWF0U2VwYXJhdG9yKTtcblxuXHRjb25zdCBmb3JtYXR0ZXIgPSBwYXJzZXJGb3JBcnJheUZvcm1hdChvcHRpb25zKTtcblxuXHQvLyBDcmVhdGUgYW4gb2JqZWN0IHdpdGggbm8gcHJvdG90eXBlXG5cdGNvbnN0IHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cblx0aWYgKHR5cGVvZiBxdWVyeSAhPT0gJ3N0cmluZycpIHtcblx0XHRyZXR1cm4gcmV0O1xuXHR9XG5cblx0cXVlcnkgPSBxdWVyeS50cmltKCkucmVwbGFjZSgvXls/IyZdLywgJycpO1xuXG5cdGlmICghcXVlcnkpIHtcblx0XHRyZXR1cm4gcmV0O1xuXHR9XG5cblx0Zm9yIChjb25zdCBwYXJhbSBvZiBxdWVyeS5zcGxpdCgnJicpKSB7XG5cdFx0aWYgKHBhcmFtID09PSAnJykge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0bGV0IFtrZXksIHZhbHVlXSA9IHNwbGl0T25GaXJzdChvcHRpb25zLmRlY29kZSA/IHBhcmFtLnJlcGxhY2UoL1xcKy9nLCAnICcpIDogcGFyYW0sICc9Jyk7XG5cblx0XHQvLyBNaXNzaW5nIGA9YCBzaG91bGQgYmUgYG51bGxgOlxuXHRcdC8vIGh0dHA6Ly93My5vcmcvVFIvMjAxMi9XRC11cmwtMjAxMjA1MjQvI2NvbGxlY3QtdXJsLXBhcmFtZXRlcnNcblx0XHR2YWx1ZSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyBudWxsIDogWydjb21tYScsICdzZXBhcmF0b3InXS5pbmNsdWRlcyhvcHRpb25zLmFycmF5Rm9ybWF0KSA/IHZhbHVlIDogZGVjb2RlKHZhbHVlLCBvcHRpb25zKTtcblx0XHRmb3JtYXR0ZXIoZGVjb2RlKGtleSwgb3B0aW9ucyksIHZhbHVlLCByZXQpO1xuXHR9XG5cblx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmV0KSkge1xuXHRcdGNvbnN0IHZhbHVlID0gcmV0W2tleV07XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHtcblx0XHRcdGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcblx0XHRcdFx0dmFsdWVba10gPSBwYXJzZVZhbHVlKHZhbHVlW2tdLCBvcHRpb25zKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0W2tleV0gPSBwYXJzZVZhbHVlKHZhbHVlLCBvcHRpb25zKTtcblx0XHR9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zb3J0ID09PSBmYWxzZSkge1xuXHRcdHJldHVybiByZXQ7XG5cdH1cblxuXHRyZXR1cm4gKG9wdGlvbnMuc29ydCA9PT0gdHJ1ZSA/IE9iamVjdC5rZXlzKHJldCkuc29ydCgpIDogT2JqZWN0LmtleXMocmV0KS5zb3J0KG9wdGlvbnMuc29ydCkpLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcblx0XHRjb25zdCB2YWx1ZSA9IHJldFtrZXldO1xuXHRcdGlmIChCb29sZWFuKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0Ly8gU29ydCBvYmplY3Qga2V5cywgbm90IHZhbHVlc1xuXHRcdFx0cmVzdWx0W2tleV0gPSBrZXlzU29ydGVyKHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVzdWx0W2tleV0gPSB2YWx1ZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LCBPYmplY3QuY3JlYXRlKG51bGwpKTtcbn1cblxuZXhwb3J0cy5leHRyYWN0ID0gZXh0cmFjdDtcbmV4cG9ydHMucGFyc2UgPSBwYXJzZTtcblxuZXhwb3J0cy5zdHJpbmdpZnkgPSAob2JqZWN0LCBvcHRpb25zKSA9PiB7XG5cdGlmICghb2JqZWN0KSB7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0b3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdGVuY29kZTogdHJ1ZSxcblx0XHRzdHJpY3Q6IHRydWUsXG5cdFx0YXJyYXlGb3JtYXQ6ICdub25lJyxcblx0XHRhcnJheUZvcm1hdFNlcGFyYXRvcjogJywnXG5cdH0sIG9wdGlvbnMpO1xuXG5cdHZhbGlkYXRlQXJyYXlGb3JtYXRTZXBhcmF0b3Iob3B0aW9ucy5hcnJheUZvcm1hdFNlcGFyYXRvcik7XG5cblx0Y29uc3Qgc2hvdWxkRmlsdGVyID0ga2V5ID0+IChcblx0XHQob3B0aW9ucy5za2lwTnVsbCAmJiBpc051bGxPclVuZGVmaW5lZChvYmplY3Rba2V5XSkpIHx8XG5cdFx0KG9wdGlvbnMuc2tpcEVtcHR5U3RyaW5nICYmIG9iamVjdFtrZXldID09PSAnJylcblx0KTtcblxuXHRjb25zdCBmb3JtYXR0ZXIgPSBlbmNvZGVyRm9yQXJyYXlGb3JtYXQob3B0aW9ucyk7XG5cblx0Y29uc3Qgb2JqZWN0Q29weSA9IHt9O1xuXG5cdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkpIHtcblx0XHRpZiAoIXNob3VsZEZpbHRlcihrZXkpKSB7XG5cdFx0XHRvYmplY3RDb3B5W2tleV0gPSBvYmplY3Rba2V5XTtcblx0XHR9XG5cdH1cblxuXHRjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0Q29weSk7XG5cblx0aWYgKG9wdGlvbnMuc29ydCAhPT0gZmFsc2UpIHtcblx0XHRrZXlzLnNvcnQob3B0aW9ucy5zb3J0KTtcblx0fVxuXG5cdHJldHVybiBrZXlzLm1hcChrZXkgPT4ge1xuXHRcdGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG5cblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblxuXHRcdGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIGVuY29kZShrZXksIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHZhbHVlXG5cdFx0XHRcdC5yZWR1Y2UoZm9ybWF0dGVyKGtleSksIFtdKVxuXHRcdFx0XHQuam9pbignJicpO1xuXHRcdH1cblxuXHRcdHJldHVybiBlbmNvZGUoa2V5LCBvcHRpb25zKSArICc9JyArIGVuY29kZSh2YWx1ZSwgb3B0aW9ucyk7XG5cdH0pLmZpbHRlcih4ID0+IHgubGVuZ3RoID4gMCkuam9pbignJicpO1xufTtcblxuZXhwb3J0cy5wYXJzZVVybCA9ICh1cmwsIG9wdGlvbnMpID0+IHtcblx0b3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdGRlY29kZTogdHJ1ZVxuXHR9LCBvcHRpb25zKTtcblxuXHRjb25zdCBbdXJsXywgaGFzaF0gPSBzcGxpdE9uRmlyc3QodXJsLCAnIycpO1xuXG5cdHJldHVybiBPYmplY3QuYXNzaWduKFxuXHRcdHtcblx0XHRcdHVybDogdXJsXy5zcGxpdCgnPycpWzBdIHx8ICcnLFxuXHRcdFx0cXVlcnk6IHBhcnNlKGV4dHJhY3QodXJsKSwgb3B0aW9ucylcblx0XHR9LFxuXHRcdG9wdGlvbnMgJiYgb3B0aW9ucy5wYXJzZUZyYWdtZW50SWRlbnRpZmllciAmJiBoYXNoID8ge2ZyYWdtZW50SWRlbnRpZmllcjogZGVjb2RlKGhhc2gsIG9wdGlvbnMpfSA6IHt9XG5cdCk7XG59O1xuXG5leHBvcnRzLnN0cmluZ2lmeVVybCA9IChvYmplY3QsIG9wdGlvbnMpID0+IHtcblx0b3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdGVuY29kZTogdHJ1ZSxcblx0XHRzdHJpY3Q6IHRydWVcblx0fSwgb3B0aW9ucyk7XG5cblx0Y29uc3QgdXJsID0gcmVtb3ZlSGFzaChvYmplY3QudXJsKS5zcGxpdCgnPycpWzBdIHx8ICcnO1xuXHRjb25zdCBxdWVyeUZyb21VcmwgPSBleHBvcnRzLmV4dHJhY3Qob2JqZWN0LnVybCk7XG5cdGNvbnN0IHBhcnNlZFF1ZXJ5RnJvbVVybCA9IGV4cG9ydHMucGFyc2UocXVlcnlGcm9tVXJsLCB7c29ydDogZmFsc2V9KTtcblxuXHRjb25zdCBxdWVyeSA9IE9iamVjdC5hc3NpZ24ocGFyc2VkUXVlcnlGcm9tVXJsLCBvYmplY3QucXVlcnkpO1xuXHRsZXQgcXVlcnlTdHJpbmcgPSBleHBvcnRzLnN0cmluZ2lmeShxdWVyeSwgb3B0aW9ucyk7XG5cdGlmIChxdWVyeVN0cmluZykge1xuXHRcdHF1ZXJ5U3RyaW5nID0gYD8ke3F1ZXJ5U3RyaW5nfWA7XG5cdH1cblxuXHRsZXQgaGFzaCA9IGdldEhhc2gob2JqZWN0LnVybCk7XG5cdGlmIChvYmplY3QuZnJhZ21lbnRJZGVudGlmaWVyKSB7XG5cdFx0aGFzaCA9IGAjJHtlbmNvZGUob2JqZWN0LmZyYWdtZW50SWRlbnRpZmllciwgb3B0aW9ucyl9YDtcblx0fVxuXG5cdHJldHVybiBgJHt1cmx9JHtxdWVyeVN0cmluZ30ke2hhc2h9YDtcbn07XG5cbmV4cG9ydHMucGljayA9IChpbnB1dCwgZmlsdGVyLCBvcHRpb25zKSA9PiB7XG5cdG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHtcblx0XHRwYXJzZUZyYWdtZW50SWRlbnRpZmllcjogdHJ1ZVxuXHR9LCBvcHRpb25zKTtcblxuXHRjb25zdCB7dXJsLCBxdWVyeSwgZnJhZ21lbnRJZGVudGlmaWVyfSA9IGV4cG9ydHMucGFyc2VVcmwoaW5wdXQsIG9wdGlvbnMpO1xuXHRyZXR1cm4gZXhwb3J0cy5zdHJpbmdpZnlVcmwoe1xuXHRcdHVybCxcblx0XHRxdWVyeTogZmlsdGVyT2JqZWN0KHF1ZXJ5LCBmaWx0ZXIpLFxuXHRcdGZyYWdtZW50SWRlbnRpZmllclxuXHR9LCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydHMuZXhjbHVkZSA9IChpbnB1dCwgZmlsdGVyLCBvcHRpb25zKSA9PiB7XG5cdGNvbnN0IGV4Y2x1c2lvbkZpbHRlciA9IEFycmF5LmlzQXJyYXkoZmlsdGVyKSA/IGtleSA9PiAhZmlsdGVyLmluY2x1ZGVzKGtleSkgOiAoa2V5LCB2YWx1ZSkgPT4gIWZpbHRlcihrZXksIHZhbHVlKTtcblxuXHRyZXR1cm4gZXhwb3J0cy5waWNrKGlucHV0LCBleGNsdXNpb25GaWx0ZXIsIG9wdGlvbnMpO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/query-string/index.js\n")); - -/***/ }), - -/***/ "./node_modules/safe-buffer/index.js": -/*!*******************************************!*\ - !*** ./node_modules/safe-buffer/index.js ***! - \*******************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyw4Q0FBUTtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFLGNBQWM7QUFDaEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcz9jZjJmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBzYWZlLWJ1ZmZlci4gTUlUIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xudmFyIGJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpXG52YXIgQnVmZmVyID0gYnVmZmVyLkJ1ZmZlclxuXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXG5mdW5jdGlvbiBjb3B5UHJvcHMgKHNyYywgZHN0KSB7XG4gIGZvciAodmFyIGtleSBpbiBzcmMpIHtcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXG4gIH1cbn1cbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBidWZmZXJcbn0gZWxzZSB7XG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXG4gIGNvcHlQcm9wcyhidWZmZXIsIGV4cG9ydHMpXG4gIGV4cG9ydHMuQnVmZmVyID0gU2FmZUJ1ZmZlclxufVxuXG5mdW5jdGlvbiBTYWZlQnVmZmVyIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5TYWZlQnVmZmVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSlcblxuLy8gQ29weSBzdGF0aWMgbWV0aG9kcyBmcm9tIEJ1ZmZlclxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcblxuU2FmZUJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJylcbiAgfVxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcbiAgfVxuICB2YXIgYnVmID0gQnVmZmVyKHNpemUpXG4gIGlmIChmaWxsICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgYnVmLmZpbGwoZmlsbCwgZW5jb2RpbmcpXG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGJ1Zi5maWxsKDApXG4gIH1cbiAgcmV0dXJuIGJ1ZlxufVxuXG5TYWZlQnVmZmVyLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxuICB9XG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcbn1cblxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgcmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKHNpemUpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/safe-buffer/index.js\n")); - -/***/ }), - -/***/ "./node_modules/string_decoder/lib/string_decoder.js": -/*!***********************************************************!*\ - !*** ./node_modules/string_decoder/lib/string_decoder.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// 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\n\n/*<replacement>*/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7O0FBRUEsYUFBYSxzRkFBNkI7QUFDMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHNDQUFzQyxzQ0FBc0M7QUFDekc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanM/ODJkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXI7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIGlzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZyB8fCBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcbiAgZW5jb2RpbmcgPSAnJyArIGVuY29kaW5nO1xuICBzd2l0Y2ggKGVuY29kaW5nICYmIGVuY29kaW5nLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdoZXgnOmNhc2UgJ3V0ZjgnOmNhc2UgJ3V0Zi04JzpjYXNlICdhc2NpaSc6Y2FzZSAnYmluYXJ5JzpjYXNlICdiYXNlNjQnOmNhc2UgJ3VjczInOmNhc2UgJ3Vjcy0yJzpjYXNlICd1dGYxNmxlJzpjYXNlICd1dGYtMTZsZSc6Y2FzZSAncmF3JzpcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyhlbmMpIHtcbiAgaWYgKCFlbmMpIHJldHVybiAndXRmOCc7XG4gIHZhciByZXRyaWVkO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHN3aXRjaCAoZW5jKSB7XG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuICd1dGY4JztcbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiAndXRmMTZsZSc7XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuICdsYXRpbjEnO1xuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBlbmM7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAocmV0cmllZCkgcmV0dXJuOyAvLyB1bmRlZmluZWRcbiAgICAgICAgZW5jID0gKCcnICsgZW5jKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXRyaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn07XG5cbi8vIERvIG5vdCBjYWNoZSBgQnVmZmVyLmlzRW5jb2RpbmdgIHdoZW4gY2hlY2tpbmcgZW5jb2RpbmcgbmFtZXMgYXMgc29tZVxuLy8gbW9kdWxlcyBtb25rZXktcGF0Y2ggaXQgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGVuY29kaW5nc1xuZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XG4gIHZhciBuZW5jID0gX25vcm1hbGl6ZUVuY29kaW5nKGVuYyk7XG4gIGlmICh0eXBlb2YgbmVuYyAhPT0gJ3N0cmluZycgJiYgKEJ1ZmZlci5pc0VuY29kaW5nID09PSBpc0VuY29kaW5nIHx8ICFpc0VuY29kaW5nKGVuYykpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmMpO1xuICByZXR1cm4gbmVuYyB8fCBlbmM7XG59XG5cbi8vIFN0cmluZ0RlY29kZXIgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBlZmZpY2llbnRseSBzcGxpdHRpbmcgYSBzZXJpZXMgb2Zcbi8vIGJ1ZmZlcnMgaW50byBhIHNlcmllcyBvZiBKUyBzdHJpbmdzIHdpdGhvdXQgYnJlYWtpbmcgYXBhcnQgbXVsdGktYnl0ZVxuLy8gY2hhcmFjdGVycy5cbmV4cG9ydHMuU3RyaW5nRGVjb2RlciA9IFN0cmluZ0RlY29kZXI7XG5mdW5jdGlvbiBTdHJpbmdEZWNvZGVyKGVuY29kaW5nKSB7XG4gIHRoaXMuZW5jb2RpbmcgPSBub3JtYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XG4gIHZhciBuYjtcbiAgc3dpdGNoICh0aGlzLmVuY29kaW5nKSB7XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICB0aGlzLnRleHQgPSB1dGYxNlRleHQ7XG4gICAgICB0aGlzLmVuZCA9IHV0ZjE2RW5kO1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndXRmOCc6XG4gICAgICB0aGlzLmZpbGxMYXN0ID0gdXRmOEZpbGxMYXN0O1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIHRoaXMudGV4dCA9IGJhc2U2NFRleHQ7XG4gICAgICB0aGlzLmVuZCA9IGJhc2U2NEVuZDtcbiAgICAgIG5iID0gMztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aGlzLndyaXRlID0gc2ltcGxlV3JpdGU7XG4gICAgICB0aGlzLmVuZCA9IHNpbXBsZUVuZDtcbiAgICAgIHJldHVybjtcbiAgfVxuICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgdGhpcy5sYXN0VG90YWwgPSAwO1xuICB0aGlzLmxhc3RDaGFyID0gQnVmZmVyLmFsbG9jVW5zYWZlKG5iKTtcbn1cblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmIChidWYubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gIHZhciByO1xuICB2YXIgaTtcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcbiAgICByID0gdGhpcy5maWxsTGFzdChidWYpO1xuICAgIGlmIChyID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcbiAgICBpID0gdGhpcy5sYXN0TmVlZDtcbiAgICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgfSBlbHNlIHtcbiAgICBpID0gMDtcbiAgfVxuICBpZiAoaSA8IGJ1Zi5sZW5ndGgpIHJldHVybiByID8gciArIHRoaXMudGV4dChidWYsIGkpIDogdGhpcy50ZXh0KGJ1ZiwgaSk7XG4gIHJldHVybiByIHx8ICcnO1xufTtcblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gdXRmOEVuZDtcblxuLy8gUmV0dXJucyBvbmx5IGNvbXBsZXRlIGNoYXJhY3RlcnMgaW4gYSBCdWZmZXJcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQgPSB1dGY4VGV4dDtcblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBwYXJ0aWFsIG5vbi1VVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlclxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3QgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmICh0aGlzLmxhc3ROZWVkIDw9IGJ1Zi5sZW5ndGgpIHtcbiAgICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIHRoaXMubGFzdE5lZWQpO1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcbiAgfVxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59O1xuXG4vLyBDaGVja3MgdGhlIHR5cGUgb2YgYSBVVEYtOCBieXRlLCB3aGV0aGVyIGl0J3MgQVNDSUksIGEgbGVhZGluZyBieXRlLCBvciBhXG4vLyBjb250aW51YXRpb24gYnl0ZS4gSWYgYW4gaW52YWxpZCBieXRlIGlzIGRldGVjdGVkLCAtMiBpcyByZXR1cm5lZC5cbmZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUoYnl0ZSkge1xuICBpZiAoYnl0ZSA8PSAweDdGKSByZXR1cm4gMDtlbHNlIGlmIChieXRlID4+IDUgPT09IDB4MDYpIHJldHVybiAyO2Vsc2UgaWYgKGJ5dGUgPj4gNCA9PT0gMHgwRSkgcmV0dXJuIDM7ZWxzZSBpZiAoYnl0ZSA+PiAzID09PSAweDFFKSByZXR1cm4gNDtcbiAgcmV0dXJuIGJ5dGUgPj4gNiA9PT0gMHgwMiA/IC0xIDogLTI7XG59XG5cbi8vIENoZWNrcyBhdCBtb3N0IDMgYnl0ZXMgYXQgdGhlIGVuZCBvZiBhIEJ1ZmZlciBpbiBvcmRlciB0byBkZXRlY3QgYW5cbi8vIGluY29tcGxldGUgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIuIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKDIsIDMsIG9yIDQpXG4vLyBuZWVkZWQgdG8gY29tcGxldGUgdGhlIFVURi04IGNoYXJhY3RlciAoaWYgYXBwbGljYWJsZSkgYXJlIHJldHVybmVkLlxuZnVuY3Rpb24gdXRmOENoZWNrSW5jb21wbGV0ZShzZWxmLCBidWYsIGkpIHtcbiAgdmFyIGogPSBidWYubGVuZ3RoIC0gMTtcbiAgaWYgKGogPCBpKSByZXR1cm4gMDtcbiAgdmFyIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDE7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDI7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHtcbiAgICAgIGlmIChuYiA9PT0gMikgbmIgPSAwO2Vsc2Ugc2VsZi5sYXN0TmVlZCA9IG5iIC0gMztcbiAgICB9XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIHJldHVybiAwO1xufVxuXG4vLyBWYWxpZGF0ZXMgYXMgbWFueSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgYXNcbi8vIG5lZWRlZCBvciBhcmUgYXZhaWxhYmxlLiBJZiB3ZSBzZWUgYSBub24tY29udGludWF0aW9uIGJ5dGUgd2hlcmUgd2UgZXhwZWN0XG4vLyBvbmUsIHdlIFwicmVwbGFjZVwiIHRoZSB2YWxpZGF0ZWQgY29udGludWF0aW9uIGJ5dGVzIHdlJ3ZlIHNlZW4gc28gZmFyIHdpdGhcbi8vIGEgc2luZ2xlIFVURi04IHJlcGxhY2VtZW50IGNoYXJhY3RlciAoJ1xcdWZmZmQnKSwgdG8gbWF0Y2ggdjgncyBVVEYtOCBkZWNvZGluZ1xuLy8gYmVoYXZpb3IuIFRoZSBjb250aW51YXRpb24gYnl0ZSBjaGVjayBpcyBpbmNsdWRlZCB0aHJlZSB0aW1lcyBpbiB0aGUgY2FzZVxuLy8gd2hlcmUgYWxsIG9mIHRoZSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgY2hhcmFjdGVyIGV4aXN0IGluIHRoZSBzYW1lIGJ1ZmZlci5cbi8vIEl0IGlzIGFsc28gZG9uZSB0aGlzIHdheSBhcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBpbmNyZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGFcbi8vIGxvb3AuXG5mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHNlbGYsIGJ1ZiwgcCkge1xuICBpZiAoKGJ1ZlswXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgc2VsZi5sYXN0TmVlZCA9IDA7XG4gICAgcmV0dXJuICdcXHVmZmZkJztcbiAgfVxuICBpZiAoc2VsZi5sYXN0TmVlZCA+IDEgJiYgYnVmLmxlbmd0aCA+IDEpIHtcbiAgICBpZiAoKGJ1ZlsxXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgICBzZWxmLmxhc3ROZWVkID0gMTtcbiAgICAgIHJldHVybiAnXFx1ZmZmZCc7XG4gICAgfVxuICAgIGlmIChzZWxmLmxhc3ROZWVkID4gMiAmJiBidWYubGVuZ3RoID4gMikge1xuICAgICAgaWYgKChidWZbMl0gJiAweEMwKSAhPT0gMHg4MCkge1xuICAgICAgICBzZWxmLmxhc3ROZWVkID0gMjtcbiAgICAgICAgcmV0dXJuICdcXHVmZmZkJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBtdWx0aS1ieXRlIFVURi04IGNoYXJhY3RlciB1c2luZyBieXRlcyBmcm9tIGEgQnVmZmVyLlxuZnVuY3Rpb24gdXRmOEZpbGxMYXN0KGJ1Zikge1xuICB2YXIgcCA9IHRoaXMubGFzdFRvdGFsIC0gdGhpcy5sYXN0TmVlZDtcbiAgdmFyIHIgPSB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsIGJ1ZiwgcCk7XG4gIGlmIChyICE9PSB1bmRlZmluZWQpIHJldHVybiByO1xuICBpZiAodGhpcy5sYXN0TmVlZCA8PSBidWYubGVuZ3RoKSB7XG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgcCwgMCwgdGhpcy5sYXN0TmVlZCk7XG4gICAgcmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywgMCwgdGhpcy5sYXN0VG90YWwpO1xuICB9XG4gIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59XG5cbi8vIFJldHVybnMgYWxsIGNvbXBsZXRlIFVURi04IGNoYXJhY3RlcnMgaW4gYSBCdWZmZXIuIElmIHRoZSBCdWZmZXIgZW5kZWQgb24gYVxuLy8gcGFydGlhbCBjaGFyYWN0ZXIsIHRoZSBjaGFyYWN0ZXIncyBieXRlcyBhcmUgYnVmZmVyZWQgdW50aWwgdGhlIHJlcXVpcmVkXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXJlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIHV0ZjhUZXh0KGJ1ZiwgaSkge1xuICB2YXIgdG90YWwgPSB1dGY4Q2hlY2tJbmNvbXBsZXRlKHRoaXMsIGJ1ZiwgaSk7XG4gIGlmICghdGhpcy5sYXN0TmVlZCkgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGkpO1xuICB0aGlzLmxhc3RUb3RhbCA9IHRvdGFsO1xuICB2YXIgZW5kID0gYnVmLmxlbmd0aCAtICh0b3RhbCAtIHRoaXMubGFzdE5lZWQpO1xuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCAwLCBlbmQpO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGY4JywgaSwgZW5kKTtcbn1cblxuLy8gRm9yIFVURi04LCBhIHJlcGxhY2VtZW50IGNoYXJhY3RlciBpcyBhZGRlZCB3aGVuIGVuZGluZyBvbiBhIHBhcnRpYWxcbi8vIGNoYXJhY3Rlci5cbmZ1bmN0aW9uIHV0ZjhFbmQoYnVmKSB7XG4gIHZhciByID0gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHJldHVybiByICsgJ1xcdWZmZmQnO1xuICByZXR1cm4gcjtcbn1cblxuLy8gVVRGLTE2TEUgdHlwaWNhbGx5IG5lZWRzIHR3byBieXRlcyBwZXIgY2hhcmFjdGVyLCBidXQgZXZlbiBpZiB3ZSBoYXZlIGFuIGV2ZW5cbi8vIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgZW5kIG9uIGEgbGVhZGluZy9oaWdoXG4vLyBzdXJyb2dhdGUuIEluIHRoYXQgY2FzZSwgd2UgbmVlZCB0byB3YWl0IGZvciB0aGUgbmV4dCB0d28gYnl0ZXMgaW4gb3JkZXIgdG9cbi8vIGRlY29kZSB0aGUgbGFzdCBjaGFyYWN0ZXIgcHJvcGVybHkuXG5mdW5jdGlvbiB1dGYxNlRleHQoYnVmLCBpKSB7XG4gIGlmICgoYnVmLmxlbmd0aCAtIGkpICUgMiA9PT0gMCkge1xuICAgIHZhciByID0gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHZhciBjID0gci5jaGFyQ29kZUF0KHIubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoYyA+PSAweEQ4MDAgJiYgYyA8PSAweERCRkYpIHtcbiAgICAgICAgdGhpcy5sYXN0TmVlZCA9IDI7XG4gICAgICAgIHRoaXMubGFzdFRvdGFsID0gNDtcbiAgICAgICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XG4gICAgICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICAgICAgICByZXR1cm4gci5zbGljZSgwLCAtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9XG4gIHRoaXMubGFzdE5lZWQgPSAxO1xuICB0aGlzLmxhc3RUb3RhbCA9IDI7XG4gIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSwgYnVmLmxlbmd0aCAtIDEpO1xufVxuXG4vLyBGb3IgVVRGLTE2TEUgd2UgZG8gbm90IGV4cGxpY2l0bHkgYXBwZW5kIHNwZWNpYWwgcmVwbGFjZW1lbnQgY2hhcmFjdGVycyBpZiB3ZVxuLy8gZW5kIG9uIGEgcGFydGlhbCBjaGFyYWN0ZXIsIHdlIHNpbXBseSBsZXQgdjggaGFuZGxlIHRoYXQuXG5mdW5jdGlvbiB1dGYxNkVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkge1xuICAgIHZhciBlbmQgPSB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQ7XG4gICAgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCd1dGYxNmxlJywgMCwgZW5kKTtcbiAgfVxuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gYmFzZTY0VGV4dChidWYsIGkpIHtcbiAgdmFyIG4gPSAoYnVmLmxlbmd0aCAtIGkpICUgMztcbiAgaWYgKG4gPT09IDApIHJldHVybiBidWYudG9TdHJpbmcoJ2Jhc2U2NCcsIGkpO1xuICB0aGlzLmxhc3ROZWVkID0gMyAtIG47XG4gIHRoaXMubGFzdFRvdGFsID0gMztcbiAgaWYgKG4gPT09IDEpIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAyXTtcbiAgICB0aGlzLmxhc3RDaGFyWzFdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfVxuICByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpLCBidWYubGVuZ3RoIC0gbik7XG59XG5cbmZ1bmN0aW9uIGJhc2U2NEVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCdiYXNlNjQnLCAwLCAzIC0gdGhpcy5sYXN0TmVlZCk7XG4gIHJldHVybiByO1xufVxuXG4vLyBQYXNzIGJ5dGVzIG9uIHRocm91Z2ggZm9yIHNpbmdsZS1ieXRlIGVuY29kaW5ncyAoZS5nLiBhc2NpaSwgbGF0aW4xLCBoZXgpXG5mdW5jdGlvbiBzaW1wbGVXcml0ZShidWYpIHtcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcbn1cblxuZnVuY3Rpb24gc2ltcGxlRW5kKGJ1Zikge1xuICByZXR1cm4gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/string_decoder/lib/string_decoder.js\n")); - -/***/ }), - -/***/ "./node_modules/toggle-selection/index.js": -/*!************************************************!*\ - !*** ./node_modules/toggle-selection/index.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdG9nZ2xlLXNlbGVjdGlvbi9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLDBCQUEwQjtBQUM1QztBQUNBOztBQUVBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3RvZ2dsZS1zZWxlY3Rpb24vaW5kZXguanM/NWJhZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc2VsZWN0aW9uID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7XG4gIGlmICghc2VsZWN0aW9uLnJhbmdlQ291bnQpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge307XG4gIH1cbiAgdmFyIGFjdGl2ZSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cbiAgdmFyIHJhbmdlcyA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHNlbGVjdGlvbi5yYW5nZUNvdW50OyBpKyspIHtcbiAgICByYW5nZXMucHVzaChzZWxlY3Rpb24uZ2V0UmFuZ2VBdChpKSk7XG4gIH1cblxuICBzd2l0Y2ggKGFjdGl2ZS50YWdOYW1lLnRvVXBwZXJDYXNlKCkpIHsgLy8gLnRvVXBwZXJDYXNlIGhhbmRsZXMgWEhUTUxcbiAgICBjYXNlICdJTlBVVCc6XG4gICAgY2FzZSAnVEVYVEFSRUEnOlxuICAgICAgYWN0aXZlLmJsdXIoKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGFjdGl2ZSA9IG51bGw7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBzZWxlY3Rpb24udHlwZSA9PT0gJ0NhcmV0JyAmJlxuICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcblxuICAgIGlmICghc2VsZWN0aW9uLnJhbmdlQ291bnQpIHtcbiAgICAgIHJhbmdlcy5mb3JFYWNoKGZ1bmN0aW9uKHJhbmdlKSB7XG4gICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBhY3RpdmUgJiZcbiAgICBhY3RpdmUuZm9jdXMoKTtcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/toggle-selection/index.js\n")); - -/***/ }), - -/***/ "./node_modules/typedarray-to-buffer/index.js": -/*!****************************************************!*\ - !*** ./node_modules/typedarray-to-buffer/index.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/**\n * Convert a typed array to a Buffer without a copy\n *\n * Author: Feross Aboukhadijeh <https://feross.org>\n * License: MIT\n *\n * `npm install typedarray-to-buffer`\n */\n\nvar isTypedArray = (__webpack_require__(/*! is-typedarray */ \"./node_modules/is-typedarray/index.js\").strict)\n\nmodule.exports = function typedarrayToBuffer (arr) {\n if (isTypedArray(arr)) {\n // To avoid a copy, use the typed array's underlying ArrayBuffer to back new Buffer\n var buf = Buffer.from(arr.buffer)\n if (arr.byteLength !== arr.buffer.byteLength) {\n // Respect the \"view\", i.e. byteOffset and byteLength, without doing a copy\n buf = buf.slice(arr.byteOffset, arr.byteOffset + arr.byteLength)\n }\n return buf\n } else {\n // Pass through all other types to `Buffer.from`\n return Buffer.from(arr)\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdHlwZWRhcnJheS10by1idWZmZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLDBGQUErQjs7QUFFbEQ7QUFDQTtBQUNBO0FBQ0EsY0FBYyxNQUFNO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxXQUFXLE1BQU07QUFDakI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdHlwZWRhcnJheS10by1idWZmZXIvaW5kZXguanM/NjIwZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnQgYSB0eXBlZCBhcnJheSB0byBhIEJ1ZmZlciB3aXRob3V0IGEgY29weVxuICpcbiAqIEF1dGhvcjogICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmc+XG4gKiBMaWNlbnNlOiAgTUlUXG4gKlxuICogYG5wbSBpbnN0YWxsIHR5cGVkYXJyYXktdG8tYnVmZmVyYFxuICovXG5cbnZhciBpc1R5cGVkQXJyYXkgPSByZXF1aXJlKCdpcy10eXBlZGFycmF5Jykuc3RyaWN0XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdHlwZWRhcnJheVRvQnVmZmVyIChhcnIpIHtcbiAgaWYgKGlzVHlwZWRBcnJheShhcnIpKSB7XG4gICAgLy8gVG8gYXZvaWQgYSBjb3B5LCB1c2UgdGhlIHR5cGVkIGFycmF5J3MgdW5kZXJseWluZyBBcnJheUJ1ZmZlciB0byBiYWNrIG5ldyBCdWZmZXJcbiAgICB2YXIgYnVmID0gQnVmZmVyLmZyb20oYXJyLmJ1ZmZlcilcbiAgICBpZiAoYXJyLmJ5dGVMZW5ndGggIT09IGFyci5idWZmZXIuYnl0ZUxlbmd0aCkge1xuICAgICAgLy8gUmVzcGVjdCB0aGUgXCJ2aWV3XCIsIGkuZS4gYnl0ZU9mZnNldCBhbmQgYnl0ZUxlbmd0aCwgd2l0aG91dCBkb2luZyBhIGNvcHlcbiAgICAgIGJ1ZiA9IGJ1Zi5zbGljZShhcnIuYnl0ZU9mZnNldCwgYXJyLmJ5dGVPZmZzZXQgKyBhcnIuYnl0ZUxlbmd0aClcbiAgICB9XG4gICAgcmV0dXJuIGJ1ZlxuICB9IGVsc2Uge1xuICAgIC8vIFBhc3MgdGhyb3VnaCBhbGwgb3RoZXIgdHlwZXMgdG8gYEJ1ZmZlci5mcm9tYFxuICAgIHJldHVybiBCdWZmZXIuZnJvbShhcnIpXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/typedarray-to-buffer/index.js\n")); - -/***/ }), - -/***/ "./node_modules/utf-8-validate/fallback.js": -/*!*************************************************!*\ - !*** ./node_modules/utf-8-validate/fallback.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/**\n * Checks if a given buffer contains only correct UTF-8.\n * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by\n * Markus Kuhn.\n *\n * @param {Buffer} buf The buffer to check\n * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`\n * @public\n */\nfunction isValidUTF8(buf) {\n const len = buf.length;\n let i = 0;\n\n while (i < len) {\n if ((buf[i] & 0x80) === 0x00) { // 0xxxxxxx\n i++;\n } else if ((buf[i] & 0xe0) === 0xc0) { // 110xxxxx 10xxxxxx\n if (\n i + 1 === len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i] & 0xfe) === 0xc0 // overlong\n ) {\n return false;\n }\n\n i += 2;\n } else if ((buf[i] & 0xf0) === 0xe0) { // 1110xxxx 10xxxxxx 10xxxxxx\n if (\n i + 2 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80 || // overlong\n buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0 // surrogate (U+D800 - U+DFFF)\n ) {\n return false;\n }\n\n i += 3;\n } else if ((buf[i] & 0xf8) === 0xf0) { // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n if (\n i + 3 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n (buf[i + 3] & 0xc0) !== 0x80 ||\n buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80 || // overlong\n buf[i] === 0xf4 && buf[i + 1] > 0x8f || buf[i] > 0xf4 // > U+10FFFF\n ) {\n return false;\n }\n\n i += 4;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = isValidUTF8;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXRmLTgtdmFsaWRhdGUvZmFsbGJhY2suanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFNBQVM7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBLE1BQU0sc0NBQXNDO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTSxzQ0FBc0M7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTSxzQ0FBc0M7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3V0Zi04LXZhbGlkYXRlL2ZhbGxiYWNrLmpzPzQ2ODkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIGJ1ZmZlciBjb250YWlucyBvbmx5IGNvcnJlY3QgVVRGLTguXG4gKiBQb3J0ZWQgZnJvbSBodHRwczovL3d3dy5jbC5jYW0uYWMudWsvJTdFbWdrMjUvdWNzL3V0ZjhfY2hlY2suYyBieVxuICogTWFya3VzIEt1aG4uXG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IGJ1ZiBUaGUgYnVmZmVyIHRvIGNoZWNrXG4gKiBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYGJ1ZmAgY29udGFpbnMgb25seSBjb3JyZWN0IFVURi04LCBlbHNlIGBmYWxzZWBcbiAqIEBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZFVURjgoYnVmKSB7XG4gIGNvbnN0IGxlbiA9IGJ1Zi5sZW5ndGg7XG4gIGxldCBpID0gMDtcblxuICB3aGlsZSAoaSA8IGxlbikge1xuICAgIGlmICgoYnVmW2ldICYgMHg4MCkgPT09IDB4MDApIHsgIC8vIDB4eHh4eHh4XG4gICAgICBpKys7XG4gICAgfSBlbHNlIGlmICgoYnVmW2ldICYgMHhlMCkgPT09IDB4YzApIHsgIC8vIDExMHh4eHh4IDEweHh4eHh4XG4gICAgICBpZiAoXG4gICAgICAgIGkgKyAxID09PSBsZW4gfHxcbiAgICAgICAgKGJ1ZltpICsgMV0gJiAweGMwKSAhPT0gMHg4MCB8fFxuICAgICAgICAoYnVmW2ldICYgMHhmZSkgPT09IDB4YzAgIC8vIG92ZXJsb25nXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpICs9IDI7XG4gICAgfSBlbHNlIGlmICgoYnVmW2ldICYgMHhmMCkgPT09IDB4ZTApIHsgIC8vIDExMTB4eHh4IDEweHh4eHh4IDEweHh4eHh4XG4gICAgICBpZiAoXG4gICAgICAgIGkgKyAyID49IGxlbiB8fFxuICAgICAgICAoYnVmW2kgKyAxXSAmIDB4YzApICE9PSAweDgwIHx8XG4gICAgICAgIChidWZbaSArIDJdICYgMHhjMCkgIT09IDB4ODAgfHxcbiAgICAgICAgYnVmW2ldID09PSAweGUwICYmIChidWZbaSArIDFdICYgMHhlMCkgPT09IDB4ODAgfHwgIC8vIG92ZXJsb25nXG4gICAgICAgIGJ1ZltpXSA9PT0gMHhlZCAmJiAoYnVmW2kgKyAxXSAmIDB4ZTApID09PSAweGEwICAvLyBzdXJyb2dhdGUgKFUrRDgwMCAtIFUrREZGRilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGkgKz0gMztcbiAgICB9IGVsc2UgaWYgKChidWZbaV0gJiAweGY4KSA9PT0gMHhmMCkgeyAgLy8gMTExMTB4eHggMTB4eHh4eHggMTB4eHh4eHggMTB4eHh4eHhcbiAgICAgIGlmIChcbiAgICAgICAgaSArIDMgPj0gbGVuIHx8XG4gICAgICAgIChidWZbaSArIDFdICYgMHhjMCkgIT09IDB4ODAgfHxcbiAgICAgICAgKGJ1ZltpICsgMl0gJiAweGMwKSAhPT0gMHg4MCB8fFxuICAgICAgICAoYnVmW2kgKyAzXSAmIDB4YzApICE9PSAweDgwIHx8XG4gICAgICAgIGJ1ZltpXSA9PT0gMHhmMCAmJiAoYnVmW2kgKyAxXSAmIDB4ZjApID09PSAweDgwIHx8ICAvLyBvdmVybG9uZ1xuICAgICAgICBidWZbaV0gPT09IDB4ZjQgJiYgYnVmW2kgKyAxXSA+IDB4OGYgfHwgYnVmW2ldID4gMHhmNCAgLy8gPiBVKzEwRkZGRlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaSArPSA0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNWYWxpZFVURjg7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/utf-8-validate/fallback.js\n")); - -/***/ }), - -/***/ "./node_modules/utf-8-validate/index.js": -/*!**********************************************!*\ - !*** ./node_modules/utf-8-validate/index.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("var __dirname = \"/\";\n\n\ntry {\n module.exports = __webpack_require__(/*! node-gyp-build */ \"./node_modules/node-gyp-build/index.js\")(__dirname);\n} catch (e) {\n module.exports = __webpack_require__(/*! ./fallback */ \"./node_modules/utf-8-validate/fallback.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXRmLTgtdmFsaWRhdGUvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFhOztBQUViO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsOERBQWdCLEVBQUUsU0FBUztBQUN0RCxFQUFFO0FBQ0YsRUFBRSxtR0FBc0M7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3V0Zi04LXZhbGlkYXRlL2luZGV4LmpzP2FmNmIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG50cnkge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJ25vZGUtZ3lwLWJ1aWxkJykoX19kaXJuYW1lKTtcbn0gY2F0Y2ggKGUpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhbGxiYWNrJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/utf-8-validate/index.js\n")); - -/***/ }), - -/***/ "./node_modules/util/support/isBufferBrowser.js": -/*!******************************************************!*\ - !*** ./node_modules/util/support/isBufferBrowser.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXRpbC9zdXBwb3J0L2lzQnVmZmVyQnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3V0aWwvc3VwcG9ydC9pc0J1ZmZlckJyb3dzZXIuanM/ZDc1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQnVmZmVyKGFyZykge1xuICByZXR1cm4gYXJnICYmIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnXG4gICAgJiYgdHlwZW9mIGFyZy5jb3B5ID09PSAnZnVuY3Rpb24nXG4gICAgJiYgdHlwZW9mIGFyZy5maWxsID09PSAnZnVuY3Rpb24nXG4gICAgJiYgdHlwZW9mIGFyZy5yZWFkVUludDggPT09ICdmdW5jdGlvbic7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/util/support/isBufferBrowser.js\n")); - -/***/ }), - -/***/ "./node_modules/util/support/types.js": -/*!********************************************!*\ - !*** ./node_modules/util/support/types.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n\n\nvar isArgumentsObject = __webpack_require__(/*! is-arguments */ \"./node_modules/is-arguments/index.js\");\nvar isGeneratorFunction = __webpack_require__(/*! is-generator-function */ \"./node_modules/is-generator-function/index.js\");\nvar whichTypedArray = __webpack_require__(/*! which-typed-array */ \"./node_modules/which-typed-array/index.js\");\nvar isTypedArray = __webpack_require__(/*! is-typed-array */ \"./node_modules/is-typed-array/index.js\");\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXRpbC9zdXBwb3J0L3R5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRWE7O0FBRWIsd0JBQXdCLG1CQUFPLENBQUMsMERBQWM7QUFDOUMsMEJBQTBCLG1CQUFPLENBQUMsNEVBQXVCO0FBQ3pELHNCQUFzQixtQkFBTyxDQUFDLG9FQUFtQjtBQUNqRCxtQkFBbUIsbUJBQU8sQ0FBQyw4REFBZ0I7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekIsMkJBQTJCO0FBQzNCLG9CQUFvQjs7QUFFcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7OztBQUd6QjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjs7QUFFM0I7QUFDQTtBQUNBO0FBQ0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjs7QUFFbkI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7O0FBRXZCO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCOztBQUVqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7O0FBRTNCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCOztBQUVyQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qjs7QUFFekI7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7O0FBRXRCO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCOztBQUV2QjtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7O0FBRXRCO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91dGlsL3N1cHBvcnQvdHlwZXMuanM/ZmMzNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDdXJyZW50bHkgaW4gc3luYyB3aXRoIE5vZGUuanMgbGliL2ludGVybmFsL3V0aWwvdHlwZXMuanNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9jb21taXQvMTEyY2M3YzI3NTUxMjU0YWEyYjE3MDk4ZmI3NzQ4NjdmMDVlZDBkOVxuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBpc0FyZ3VtZW50c09iamVjdCA9IHJlcXVpcmUoJ2lzLWFyZ3VtZW50cycpO1xudmFyIGlzR2VuZXJhdG9yRnVuY3Rpb24gPSByZXF1aXJlKCdpcy1nZW5lcmF0b3ItZnVuY3Rpb24nKTtcbnZhciB3aGljaFR5cGVkQXJyYXkgPSByZXF1aXJlKCd3aGljaC10eXBlZC1hcnJheScpO1xudmFyIGlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJ2lzLXR5cGVkLWFycmF5Jyk7XG5cbmZ1bmN0aW9uIHVuY3VycnlUaGlzKGYpIHtcbiAgcmV0dXJuIGYuY2FsbC5iaW5kKGYpO1xufVxuXG52YXIgQmlnSW50U3VwcG9ydGVkID0gdHlwZW9mIEJpZ0ludCAhPT0gJ3VuZGVmaW5lZCc7XG52YXIgU3ltYm9sU3VwcG9ydGVkID0gdHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCc7XG5cbnZhciBPYmplY3RUb1N0cmluZyA9IHVuY3VycnlUaGlzKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpO1xuXG52YXIgbnVtYmVyVmFsdWUgPSB1bmN1cnJ5VGhpcyhOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YpO1xudmFyIHN0cmluZ1ZhbHVlID0gdW5jdXJyeVRoaXMoU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mKTtcbnZhciBib29sZWFuVmFsdWUgPSB1bmN1cnJ5VGhpcyhCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKTtcblxuaWYgKEJpZ0ludFN1cHBvcnRlZCkge1xuICB2YXIgYmlnSW50VmFsdWUgPSB1bmN1cnJ5VGhpcyhCaWdJbnQucHJvdG90eXBlLnZhbHVlT2YpO1xufVxuXG5pZiAoU3ltYm9sU3VwcG9ydGVkKSB7XG4gIHZhciBzeW1ib2xWYWx1ZSA9IHVuY3VycnlUaGlzKFN5bWJvbC5wcm90b3R5cGUudmFsdWVPZik7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQm94ZWRQcmltaXRpdmUodmFsdWUsIHByb3RvdHlwZVZhbHVlT2YpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdHJ5IHtcbiAgICBwcm90b3R5cGVWYWx1ZU9mKHZhbHVlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydHMuaXNBcmd1bWVudHNPYmplY3QgPSBpc0FyZ3VtZW50c09iamVjdDtcbmV4cG9ydHMuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzR2VuZXJhdG9yRnVuY3Rpb247XG5leHBvcnRzLmlzVHlwZWRBcnJheSA9IGlzVHlwZWRBcnJheTtcblxuLy8gVGFrZW4gZnJvbSBoZXJlIGFuZCBtb2RpZmllZCBmb3IgYmV0dGVyIGJyb3dzZXIgc3VwcG9ydFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9wLWlzLXByb21pc2UvYmxvYi9jZGEzNWE1MTNiZGEwM2Y5NzdhZDVjZGUzYTA3OWQyMzdlODJkN2VmL2luZGV4LmpzXG5mdW5jdGlvbiBpc1Byb21pc2UoaW5wdXQpIHtcblx0cmV0dXJuIChcblx0XHQoXG5cdFx0XHR0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgJiZcblx0XHRcdGlucHV0IGluc3RhbmNlb2YgUHJvbWlzZVxuXHRcdCkgfHxcblx0XHQoXG5cdFx0XHRpbnB1dCAhPT0gbnVsbCAmJlxuXHRcdFx0dHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJlxuXHRcdFx0dHlwZW9mIGlucHV0LnRoZW4gPT09ICdmdW5jdGlvbicgJiZcblx0XHRcdHR5cGVvZiBpbnB1dC5jYXRjaCA9PT0gJ2Z1bmN0aW9uJ1xuXHRcdClcblx0KTtcbn1cbmV4cG9ydHMuaXNQcm9taXNlID0gaXNQcm9taXNlO1xuXG5mdW5jdGlvbiBpc0FycmF5QnVmZmVyVmlldyh2YWx1ZSkge1xuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiBBcnJheUJ1ZmZlci5pc1ZpZXcpIHtcbiAgICByZXR1cm4gQXJyYXlCdWZmZXIuaXNWaWV3KHZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNUeXBlZEFycmF5KHZhbHVlKSB8fFxuICAgIGlzRGF0YVZpZXcodmFsdWUpXG4gICk7XG59XG5leHBvcnRzLmlzQXJyYXlCdWZmZXJWaWV3ID0gaXNBcnJheUJ1ZmZlclZpZXc7XG5cblxuZnVuY3Rpb24gaXNVaW50OEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiB3aGljaFR5cGVkQXJyYXkodmFsdWUpID09PSAnVWludDhBcnJheSc7XG59XG5leHBvcnRzLmlzVWludDhBcnJheSA9IGlzVWludDhBcnJheTtcblxuZnVuY3Rpb24gaXNVaW50OENsYW1wZWRBcnJheSh2YWx1ZSkge1xuICByZXR1cm4gd2hpY2hUeXBlZEFycmF5KHZhbHVlKSA9PT0gJ1VpbnQ4Q2xhbXBlZEFycmF5Jztcbn1cbmV4cG9ydHMuaXNVaW50OENsYW1wZWRBcnJheSA9IGlzVWludDhDbGFtcGVkQXJyYXk7XG5cbmZ1bmN0aW9uIGlzVWludDE2QXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIHdoaWNoVHlwZWRBcnJheSh2YWx1ZSkgPT09ICdVaW50MTZBcnJheSc7XG59XG5leHBvcnRzLmlzVWludDE2QXJyYXkgPSBpc1VpbnQxNkFycmF5O1xuXG5mdW5jdGlvbiBpc1VpbnQzMkFycmF5KHZhbHVlKSB7XG4gIHJldHVybiB3aGljaFR5cGVkQXJyYXkodmFsdWUpID09PSAnVWludDMyQXJyYXknO1xufVxuZXhwb3J0cy5pc1VpbnQzMkFycmF5ID0gaXNVaW50MzJBcnJheTtcblxuZnVuY3Rpb24gaXNJbnQ4QXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIHdoaWNoVHlwZWRBcnJheSh2YWx1ZSkgPT09ICdJbnQ4QXJyYXknO1xufVxuZXhwb3J0cy5pc0ludDhBcnJheSA9IGlzSW50OEFycmF5O1xuXG5mdW5jdGlvbiBpc0ludDE2QXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIHdoaWNoVHlwZWRBcnJheSh2YWx1ZSkgPT09ICdJbnQxNkFycmF5Jztcbn1cbmV4cG9ydHMuaXNJbnQxNkFycmF5ID0gaXNJbnQxNkFycmF5O1xuXG5mdW5jdGlvbiBpc0ludDMyQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIHdoaWNoVHlwZWRBcnJheSh2YWx1ZSkgPT09ICdJbnQzMkFycmF5Jztcbn1cbmV4cG9ydHMuaXNJbnQzMkFycmF5ID0gaXNJbnQzMkFycmF5O1xuXG5mdW5jdGlvbiBpc0Zsb2F0MzJBcnJheSh2YWx1ZSkge1xuICByZXR1cm4gd2hpY2hUeXBlZEFycmF5KHZhbHVlKSA9PT0gJ0Zsb2F0MzJBcnJheSc7XG59XG5leHBvcnRzLmlzRmxvYXQzMkFycmF5ID0gaXNGbG9hdDMyQXJyYXk7XG5cbmZ1bmN0aW9uIGlzRmxvYXQ2NEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiB3aGljaFR5cGVkQXJyYXkodmFsdWUpID09PSAnRmxvYXQ2NEFycmF5Jztcbn1cbmV4cG9ydHMuaXNGbG9hdDY0QXJyYXkgPSBpc0Zsb2F0NjRBcnJheTtcblxuZnVuY3Rpb24gaXNCaWdJbnQ2NEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiB3aGljaFR5cGVkQXJyYXkodmFsdWUpID09PSAnQmlnSW50NjRBcnJheSc7XG59XG5leHBvcnRzLmlzQmlnSW50NjRBcnJheSA9IGlzQmlnSW50NjRBcnJheTtcblxuZnVuY3Rpb24gaXNCaWdVaW50NjRBcnJheSh2YWx1ZSkge1xuICByZXR1cm4gd2hpY2hUeXBlZEFycmF5KHZhbHVlKSA9PT0gJ0JpZ1VpbnQ2NEFycmF5Jztcbn1cbmV4cG9ydHMuaXNCaWdVaW50NjRBcnJheSA9IGlzQmlnVWludDY0QXJyYXk7XG5cbmZ1bmN0aW9uIGlzTWFwVG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIE9iamVjdFRvU3RyaW5nKHZhbHVlKSA9PT0gJ1tvYmplY3QgTWFwXSc7XG59XG5pc01hcFRvU3RyaW5nLndvcmtpbmcgPSAoXG4gIHR5cGVvZiBNYXAgIT09ICd1bmRlZmluZWQnICYmXG4gIGlzTWFwVG9TdHJpbmcobmV3IE1hcCgpKVxuKTtcblxuZnVuY3Rpb24gaXNNYXAodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBNYXAgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGlzTWFwVG9TdHJpbmcud29ya2luZ1xuICAgID8gaXNNYXBUb1N0cmluZyh2YWx1ZSlcbiAgICA6IHZhbHVlIGluc3RhbmNlb2YgTWFwO1xufVxuZXhwb3J0cy5pc01hcCA9IGlzTWFwO1xuXG5mdW5jdGlvbiBpc1NldFRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3RUb1N0cmluZyh2YWx1ZSkgPT09ICdbb2JqZWN0IFNldF0nO1xufVxuaXNTZXRUb1N0cmluZy53b3JraW5nID0gKFxuICB0eXBlb2YgU2V0ICE9PSAndW5kZWZpbmVkJyAmJlxuICBpc1NldFRvU3RyaW5nKG5ldyBTZXQoKSlcbik7XG5mdW5jdGlvbiBpc1NldCh2YWx1ZSkge1xuICBpZiAodHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNTZXRUb1N0cmluZy53b3JraW5nXG4gICAgPyBpc1NldFRvU3RyaW5nKHZhbHVlKVxuICAgIDogdmFsdWUgaW5zdGFuY2VvZiBTZXQ7XG59XG5leHBvcnRzLmlzU2V0ID0gaXNTZXQ7XG5cbmZ1bmN0aW9uIGlzV2Vha01hcFRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3RUb1N0cmluZyh2YWx1ZSkgPT09ICdbb2JqZWN0IFdlYWtNYXBdJztcbn1cbmlzV2Vha01hcFRvU3RyaW5nLndvcmtpbmcgPSAoXG4gIHR5cGVvZiBXZWFrTWFwICE9PSAndW5kZWZpbmVkJyAmJlxuICBpc1dlYWtNYXBUb1N0cmluZyhuZXcgV2Vha01hcCgpKVxuKTtcbmZ1bmN0aW9uIGlzV2Vha01hcCh2YWx1ZSkge1xuICBpZiAodHlwZW9mIFdlYWtNYXAgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGlzV2Vha01hcFRvU3RyaW5nLndvcmtpbmdcbiAgICA/IGlzV2Vha01hcFRvU3RyaW5nKHZhbHVlKVxuICAgIDogdmFsdWUgaW5zdGFuY2VvZiBXZWFrTWFwO1xufVxuZXhwb3J0cy5pc1dlYWtNYXAgPSBpc1dlYWtNYXA7XG5cbmZ1bmN0aW9uIGlzV2Vha1NldFRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3RUb1N0cmluZyh2YWx1ZSkgPT09ICdbb2JqZWN0IFdlYWtTZXRdJztcbn1cbmlzV2Vha1NldFRvU3RyaW5nLndvcmtpbmcgPSAoXG4gIHR5cGVvZiBXZWFrU2V0ICE9PSAndW5kZWZpbmVkJyAmJlxuICBpc1dlYWtTZXRUb1N0cmluZyhuZXcgV2Vha1NldCgpKVxuKTtcbmZ1bmN0aW9uIGlzV2Vha1NldCh2YWx1ZSkge1xuICByZXR1cm4gaXNXZWFrU2V0VG9TdHJpbmcodmFsdWUpO1xufVxuZXhwb3J0cy5pc1dlYWtTZXQgPSBpc1dlYWtTZXQ7XG5cbmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXJUb1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gT2JqZWN0VG9TdHJpbmcodmFsdWUpID09PSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nO1xufVxuaXNBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmcgPSAoXG4gIHR5cGVvZiBBcnJheUJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgaXNBcnJheUJ1ZmZlclRvU3RyaW5nKG5ldyBBcnJheUJ1ZmZlcigpKVxuKTtcbmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmdcbiAgICA/IGlzQXJyYXlCdWZmZXJUb1N0cmluZyh2YWx1ZSlcbiAgICA6IHZhbHVlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXI7XG59XG5leHBvcnRzLmlzQXJyYXlCdWZmZXIgPSBpc0FycmF5QnVmZmVyO1xuXG5mdW5jdGlvbiBpc0RhdGFWaWV3VG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIE9iamVjdFRvU3RyaW5nKHZhbHVlKSA9PT0gJ1tvYmplY3QgRGF0YVZpZXddJztcbn1cbmlzRGF0YVZpZXdUb1N0cmluZy53b3JraW5nID0gKFxuICB0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBEYXRhVmlldyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgaXNEYXRhVmlld1RvU3RyaW5nKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMSksIDAsIDEpKVxuKTtcbmZ1bmN0aW9uIGlzRGF0YVZpZXcodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBEYXRhVmlldyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNEYXRhVmlld1RvU3RyaW5nLndvcmtpbmdcbiAgICA/IGlzRGF0YVZpZXdUb1N0cmluZyh2YWx1ZSlcbiAgICA6IHZhbHVlIGluc3RhbmNlb2YgRGF0YVZpZXc7XG59XG5leHBvcnRzLmlzRGF0YVZpZXcgPSBpc0RhdGFWaWV3O1xuXG4vLyBTdG9yZSBhIGNvcHkgb2YgU2hhcmVkQXJyYXlCdWZmZXIgaW4gY2FzZSBpdCdzIGRlbGV0ZWQgZWxzZXdoZXJlXG52YXIgU2hhcmVkQXJyYXlCdWZmZXJDb3B5ID0gdHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyA/IFNoYXJlZEFycmF5QnVmZmVyIDogdW5kZWZpbmVkO1xuZnVuY3Rpb24gaXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3RUb1N0cmluZyh2YWx1ZSkgPT09ICdbb2JqZWN0IFNoYXJlZEFycmF5QnVmZmVyXSc7XG59XG5mdW5jdGlvbiBpc1NoYXJlZEFycmF5QnVmZmVyKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXJDb3B5ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgaXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgaXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nLndvcmtpbmcgPSBpc1NoYXJlZEFycmF5QnVmZmVyVG9TdHJpbmcobmV3IFNoYXJlZEFycmF5QnVmZmVyQ29weSgpKTtcbiAgfVxuXG4gIHJldHVybiBpc1NoYXJlZEFycmF5QnVmZmVyVG9TdHJpbmcud29ya2luZ1xuICAgID8gaXNTaGFyZWRBcnJheUJ1ZmZlclRvU3RyaW5nKHZhbHVlKVxuICAgIDogdmFsdWUgaW5zdGFuY2VvZiBTaGFyZWRBcnJheUJ1ZmZlckNvcHk7XG59XG5leHBvcnRzLmlzU2hhcmVkQXJyYXlCdWZmZXIgPSBpc1NoYXJlZEFycmF5QnVmZmVyO1xuXG5mdW5jdGlvbiBpc0FzeW5jRnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIE9iamVjdFRvU3RyaW5nKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXN5bmNGdW5jdGlvbl0nO1xufVxuZXhwb3J0cy5pc0FzeW5jRnVuY3Rpb24gPSBpc0FzeW5jRnVuY3Rpb247XG5cbmZ1bmN0aW9uIGlzTWFwSXRlcmF0b3IodmFsdWUpIHtcbiAgcmV0dXJuIE9iamVjdFRvU3RyaW5nKHZhbHVlKSA9PT0gJ1tvYmplY3QgTWFwIEl0ZXJhdG9yXSc7XG59XG5leHBvcnRzLmlzTWFwSXRlcmF0b3IgPSBpc01hcEl0ZXJhdG9yO1xuXG5mdW5jdGlvbiBpc1NldEl0ZXJhdG9yKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3RUb1N0cmluZyh2YWx1ZSkgPT09ICdbb2JqZWN0IFNldCBJdGVyYXRvcl0nO1xufVxuZXhwb3J0cy5pc1NldEl0ZXJhdG9yID0gaXNTZXRJdGVyYXRvcjtcblxuZnVuY3Rpb24gaXNHZW5lcmF0b3JPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIE9iamVjdFRvU3RyaW5nKHZhbHVlKSA9PT0gJ1tvYmplY3QgR2VuZXJhdG9yXSc7XG59XG5leHBvcnRzLmlzR2VuZXJhdG9yT2JqZWN0ID0gaXNHZW5lcmF0b3JPYmplY3Q7XG5cbmZ1bmN0aW9uIGlzV2ViQXNzZW1ibHlDb21waWxlZE1vZHVsZSh2YWx1ZSkge1xuICByZXR1cm4gT2JqZWN0VG9TdHJpbmcodmFsdWUpID09PSAnW29iamVjdCBXZWJBc3NlbWJseS5Nb2R1bGVdJztcbn1cbmV4cG9ydHMuaXNXZWJBc3NlbWJseUNvbXBpbGVkTW9kdWxlID0gaXNXZWJBc3NlbWJseUNvbXBpbGVkTW9kdWxlO1xuXG5mdW5jdGlvbiBpc051bWJlck9iamVjdCh2YWx1ZSkge1xuICByZXR1cm4gY2hlY2tCb3hlZFByaW1pdGl2ZSh2YWx1ZSwgbnVtYmVyVmFsdWUpO1xufVxuZXhwb3J0cy5pc051bWJlck9iamVjdCA9IGlzTnVtYmVyT2JqZWN0O1xuXG5mdW5jdGlvbiBpc1N0cmluZ09iamVjdCh2YWx1ZSkge1xuICByZXR1cm4gY2hlY2tCb3hlZFByaW1pdGl2ZSh2YWx1ZSwgc3RyaW5nVmFsdWUpO1xufVxuZXhwb3J0cy5pc1N0cmluZ09iamVjdCA9IGlzU3RyaW5nT2JqZWN0O1xuXG5mdW5jdGlvbiBpc0Jvb2xlYW5PYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIGNoZWNrQm94ZWRQcmltaXRpdmUodmFsdWUsIGJvb2xlYW5WYWx1ZSk7XG59XG5leHBvcnRzLmlzQm9vbGVhbk9iamVjdCA9IGlzQm9vbGVhbk9iamVjdDtcblxuZnVuY3Rpb24gaXNCaWdJbnRPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIEJpZ0ludFN1cHBvcnRlZCAmJiBjaGVja0JveGVkUHJpbWl0aXZlKHZhbHVlLCBiaWdJbnRWYWx1ZSk7XG59XG5leHBvcnRzLmlzQmlnSW50T2JqZWN0ID0gaXNCaWdJbnRPYmplY3Q7XG5cbmZ1bmN0aW9uIGlzU3ltYm9sT2JqZWN0KHZhbHVlKSB7XG4gIHJldHVybiBTeW1ib2xTdXBwb3J0ZWQgJiYgY2hlY2tCb3hlZFByaW1pdGl2ZSh2YWx1ZSwgc3ltYm9sVmFsdWUpO1xufVxuZXhwb3J0cy5pc1N5bWJvbE9iamVjdCA9IGlzU3ltYm9sT2JqZWN0O1xuXG5mdW5jdGlvbiBpc0JveGVkUHJpbWl0aXZlKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgaXNOdW1iZXJPYmplY3QodmFsdWUpIHx8XG4gICAgaXNTdHJpbmdPYmplY3QodmFsdWUpIHx8XG4gICAgaXNCb29sZWFuT2JqZWN0KHZhbHVlKSB8fFxuICAgIGlzQmlnSW50T2JqZWN0KHZhbHVlKSB8fFxuICAgIGlzU3ltYm9sT2JqZWN0KHZhbHVlKVxuICApO1xufVxuZXhwb3J0cy5pc0JveGVkUHJpbWl0aXZlID0gaXNCb3hlZFByaW1pdGl2ZTtcblxuZnVuY3Rpb24gaXNBbnlBcnJheUJ1ZmZlcih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnICYmIChcbiAgICBpc0FycmF5QnVmZmVyKHZhbHVlKSB8fFxuICAgIGlzU2hhcmVkQXJyYXlCdWZmZXIodmFsdWUpXG4gICk7XG59XG5leHBvcnRzLmlzQW55QXJyYXlCdWZmZXIgPSBpc0FueUFycmF5QnVmZmVyO1xuXG5bJ2lzUHJveHknLCAnaXNFeHRlcm5hbCcsICdpc01vZHVsZU5hbWVzcGFjZU9iamVjdCddLmZvckVhY2goZnVuY3Rpb24obWV0aG9kKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBtZXRob2QsIHtcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICB2YWx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWV0aG9kICsgJyBpcyBub3Qgc3VwcG9ydGVkIGluIHVzZXJsYW5kJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/util/support/types.js\n")); - -/***/ }), - -/***/ "./node_modules/util/util.js": -/*!***********************************!*\ - !*** ./node_modules/util/util.js ***! - \***********************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n// 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\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = __webpack_require__(/*! ./support/types */ \"./node_modules/util/support/types.js\");\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = __webpack_require__(/*! ./support/isBuffer */ \"./node_modules/util/support/isBufferBrowser.js\");\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXRpbC91dGlsLmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCx3QkFBd0IsU0FBUztBQUNqQztBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhLE9BQU8sb0JBQW9CLE9BQU87QUFDL0M7QUFDQTs7QUFFQTtBQUNBLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLE9BQU87QUFDakI7QUFDQSxRQUFRLFNBQVMsT0FBTztBQUN4QjtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQSxJQUFJLE9BQU87QUFDWCxpQkFBaUIsT0FBTztBQUN4QixxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsT0FBTztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTs7O0FBR2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRDQUE0QyxLQUFLOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsT0FBTyxxQ0FBcUM7QUFDeEUsNEJBQTRCLE9BQU8sc0RBQXNEO0FBQ3pGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3V0aWwvdXRpbC5qcz8yYjM4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIHx8XG4gIGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcnMob2JqKSB7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xuICAgIHZhciBkZXNjcmlwdG9ycyA9IHt9O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgZGVzY3JpcHRvcnNba2V5c1tpXV0gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5c1tpXSk7XG4gICAgfVxuICAgIHJldHVybiBkZXNjcmlwdG9ycztcbiAgfTtcblxudmFyIGZvcm1hdFJlZ0V4cCA9IC8lW3NkaiVdL2c7XG5leHBvcnRzLmZvcm1hdCA9IGZ1bmN0aW9uKGYpIHtcbiAgaWYgKCFpc1N0cmluZyhmKSkge1xuICAgIHZhciBvYmplY3RzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIG9iamVjdHMucHVzaChpbnNwZWN0KGFyZ3VtZW50c1tpXSkpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0cy5qb2luKCcgJyk7XG4gIH1cblxuICB2YXIgaSA9IDE7XG4gIHZhciBhcmdzID0gYXJndW1lbnRzO1xuICB2YXIgbGVuID0gYXJncy5sZW5ndGg7XG4gIHZhciBzdHIgPSBTdHJpbmcoZikucmVwbGFjZShmb3JtYXRSZWdFeHAsIGZ1bmN0aW9uKHgpIHtcbiAgICBpZiAoeCA9PT0gJyUlJykgcmV0dXJuICclJztcbiAgICBpZiAoaSA+PSBsZW4pIHJldHVybiB4O1xuICAgIHN3aXRjaCAoeCkge1xuICAgICAgY2FzZSAnJXMnOiByZXR1cm4gU3RyaW5nKGFyZ3NbaSsrXSk7XG4gICAgICBjYXNlICclZCc6IHJldHVybiBOdW1iZXIoYXJnc1tpKytdKTtcbiAgICAgIGNhc2UgJyVqJzpcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXJnc1tpKytdKTtcbiAgICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB4O1xuICAgIH1cbiAgfSk7XG4gIGZvciAodmFyIHggPSBhcmdzW2ldOyBpIDwgbGVuOyB4ID0gYXJnc1srK2ldKSB7XG4gICAgaWYgKGlzTnVsbCh4KSB8fCAhaXNPYmplY3QoeCkpIHtcbiAgICAgIHN0ciArPSAnICcgKyB4O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHIgKz0gJyAnICsgaW5zcGVjdCh4KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0cjtcbn07XG5cblxuLy8gTWFyayB0aGF0IGEgbWV0aG9kIHNob3VsZCBub3QgYmUgdXNlZC5cbi8vIFJldHVybnMgYSBtb2RpZmllZCBmdW5jdGlvbiB3aGljaCB3YXJucyBvbmNlIGJ5IGRlZmF1bHQuXG4vLyBJZiAtLW5vLWRlcHJlY2F0aW9uIGlzIHNldCwgdGhlbiBpdCBpcyBhIG5vLW9wLlxuZXhwb3J0cy5kZXByZWNhdGUgPSBmdW5jdGlvbihmbiwgbXNnKSB7XG4gIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy5ub0RlcHJlY2F0aW9uID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgLy8gQWxsb3cgZm9yIGRlcHJlY2F0aW5nIHRoaW5ncyBpbiB0aGUgcHJvY2VzcyBvZiBzdGFydGluZyB1cC5cbiAgaWYgKHR5cGVvZiBwcm9jZXNzID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBleHBvcnRzLmRlcHJlY2F0ZShmbiwgbXNnKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gIH1cblxuICB2YXIgd2FybmVkID0gZmFsc2U7XG4gIGZ1bmN0aW9uIGRlcHJlY2F0ZWQoKSB7XG4gICAgaWYgKCF3YXJuZWQpIHtcbiAgICAgIGlmIChwcm9jZXNzLnRocm93RGVwcmVjYXRpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICB9IGVsc2UgaWYgKHByb2Nlc3MudHJhY2VEZXByZWNhdGlvbikge1xuICAgICAgICBjb25zb2xlLnRyYWNlKG1zZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKG1zZyk7XG4gICAgICB9XG4gICAgICB3YXJuZWQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIHJldHVybiBkZXByZWNhdGVkO1xufTtcblxuXG52YXIgZGVidWdzID0ge307XG52YXIgZGVidWdFbnZSZWdleCA9IC9eJC87XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0RFQlVHKSB7XG4gIHZhciBkZWJ1Z0VudiA9IHByb2Nlc3MuZW52Lk5PREVfREVCVUc7XG4gIGRlYnVnRW52ID0gZGVidWdFbnYucmVwbGFjZSgvW3xcXFxce30oKVtcXF1eJCs/Ll0vZywgJ1xcXFwkJicpXG4gICAgLnJlcGxhY2UoL1xcKi9nLCAnLionKVxuICAgIC5yZXBsYWNlKC8sL2csICckfF4nKVxuICAgIC50b1VwcGVyQ2FzZSgpO1xuICBkZWJ1Z0VudlJlZ2V4ID0gbmV3IFJlZ0V4cCgnXicgKyBkZWJ1Z0VudiArICckJywgJ2knKTtcbn1cbmV4cG9ydHMuZGVidWdsb2cgPSBmdW5jdGlvbihzZXQpIHtcbiAgc2V0ID0gc2V0LnRvVXBwZXJDYXNlKCk7XG4gIGlmICghZGVidWdzW3NldF0pIHtcbiAgICBpZiAoZGVidWdFbnZSZWdleC50ZXN0KHNldCkpIHtcbiAgICAgIHZhciBwaWQgPSBwcm9jZXNzLnBpZDtcbiAgICAgIGRlYnVnc1tzZXRdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBtc2cgPSBleHBvcnRzLmZvcm1hdC5hcHBseShleHBvcnRzLCBhcmd1bWVudHMpO1xuICAgICAgICBjb25zb2xlLmVycm9yKCclcyAlZDogJXMnLCBzZXQsIHBpZCwgbXNnKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnc1tzZXRdID0gZnVuY3Rpb24oKSB7fTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRlYnVnc1tzZXRdO1xufTtcblxuXG4vKipcbiAqIEVjaG9zIHRoZSB2YWx1ZSBvZiBhIHZhbHVlLiBUcnlzIHRvIHByaW50IHRoZSB2YWx1ZSBvdXRcbiAqIGluIHRoZSBiZXN0IHdheSBwb3NzaWJsZSBnaXZlbiB0aGUgZGlmZmVyZW50IHR5cGVzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogVGhlIG9iamVjdCB0byBwcmludCBvdXQuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0cyBPcHRpb25hbCBvcHRpb25zIG9iamVjdCB0aGF0IGFsdGVycyB0aGUgb3V0cHV0LlxuICovXG4vKiBsZWdhY3k6IG9iaiwgc2hvd0hpZGRlbiwgZGVwdGgsIGNvbG9ycyovXG5mdW5jdGlvbiBpbnNwZWN0KG9iaiwgb3B0cykge1xuICAvLyBkZWZhdWx0IG9wdGlvbnNcbiAgdmFyIGN0eCA9IHtcbiAgICBzZWVuOiBbXSxcbiAgICBzdHlsaXplOiBzdHlsaXplTm9Db2xvclxuICB9O1xuICAvLyBsZWdhY3kuLi5cbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPj0gMykgY3R4LmRlcHRoID0gYXJndW1lbnRzWzJdO1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+PSA0KSBjdHguY29sb3JzID0gYXJndW1lbnRzWzNdO1xuICBpZiAoaXNCb29sZWFuKG9wdHMpKSB7XG4gICAgLy8gbGVnYWN5Li4uXG4gICAgY3R4LnNob3dIaWRkZW4gPSBvcHRzO1xuICB9IGVsc2UgaWYgKG9wdHMpIHtcbiAgICAvLyBnb3QgYW4gXCJvcHRpb25zXCIgb2JqZWN0XG4gICAgZXhwb3J0cy5fZXh0ZW5kKGN0eCwgb3B0cyk7XG4gIH1cbiAgLy8gc2V0IGRlZmF1bHQgb3B0aW9uc1xuICBpZiAoaXNVbmRlZmluZWQoY3R4LnNob3dIaWRkZW4pKSBjdHguc2hvd0hpZGRlbiA9IGZhbHNlO1xuICBpZiAoaXNVbmRlZmluZWQoY3R4LmRlcHRoKSkgY3R4LmRlcHRoID0gMjtcbiAgaWYgKGlzVW5kZWZpbmVkKGN0eC5jb2xvcnMpKSBjdHguY29sb3JzID0gZmFsc2U7XG4gIGlmIChpc1VuZGVmaW5lZChjdHguY3VzdG9tSW5zcGVjdCkpIGN0eC5jdXN0b21JbnNwZWN0ID0gdHJ1ZTtcbiAgaWYgKGN0eC5jb2xvcnMpIGN0eC5zdHlsaXplID0gc3R5bGl6ZVdpdGhDb2xvcjtcbiAgcmV0dXJuIGZvcm1hdFZhbHVlKGN0eCwgb2JqLCBjdHguZGVwdGgpO1xufVxuZXhwb3J0cy5pbnNwZWN0ID0gaW5zcGVjdDtcblxuXG4vLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FOU0lfZXNjYXBlX2NvZGUjZ3JhcGhpY3Ncbmluc3BlY3QuY29sb3JzID0ge1xuICAnYm9sZCcgOiBbMSwgMjJdLFxuICAnaXRhbGljJyA6IFszLCAyM10sXG4gICd1bmRlcmxpbmUnIDogWzQsIDI0XSxcbiAgJ2ludmVyc2UnIDogWzcsIDI3XSxcbiAgJ3doaXRlJyA6IFszNywgMzldLFxuICAnZ3JleScgOiBbOTAsIDM5XSxcbiAgJ2JsYWNrJyA6IFszMCwgMzldLFxuICAnYmx1ZScgOiBbMzQsIDM5XSxcbiAgJ2N5YW4nIDogWzM2LCAzOV0sXG4gICdncmVlbicgOiBbMzIsIDM5XSxcbiAgJ21hZ2VudGEnIDogWzM1LCAzOV0sXG4gICdyZWQnIDogWzMxLCAzOV0sXG4gICd5ZWxsb3cnIDogWzMzLCAzOV1cbn07XG5cbi8vIERvbid0IHVzZSAnYmx1ZScgbm90IHZpc2libGUgb24gY21kLmV4ZVxuaW5zcGVjdC5zdHlsZXMgPSB7XG4gICdzcGVjaWFsJzogJ2N5YW4nLFxuICAnbnVtYmVyJzogJ3llbGxvdycsXG4gICdib29sZWFuJzogJ3llbGxvdycsXG4gICd1bmRlZmluZWQnOiAnZ3JleScsXG4gICdudWxsJzogJ2JvbGQnLFxuICAnc3RyaW5nJzogJ2dyZWVuJyxcbiAgJ2RhdGUnOiAnbWFnZW50YScsXG4gIC8vIFwibmFtZVwiOiBpbnRlbnRpb25hbGx5IG5vdCBzdHlsaW5nXG4gICdyZWdleHAnOiAncmVkJ1xufTtcblxuXG5mdW5jdGlvbiBzdHlsaXplV2l0aENvbG9yKHN0ciwgc3R5bGVUeXBlKSB7XG4gIHZhciBzdHlsZSA9IGluc3BlY3Quc3R5bGVzW3N0eWxlVHlwZV07XG5cbiAgaWYgKHN0eWxlKSB7XG4gICAgcmV0dXJuICdcXHUwMDFiWycgKyBpbnNwZWN0LmNvbG9yc1tzdHlsZV1bMF0gKyAnbScgKyBzdHIgK1xuICAgICAgICAgICAnXFx1MDAxYlsnICsgaW5zcGVjdC5jb2xvcnNbc3R5bGVdWzFdICsgJ20nO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHI7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiBzdHlsaXplTm9Db2xvcihzdHIsIHN0eWxlVHlwZSkge1xuICByZXR1cm4gc3RyO1xufVxuXG5cbmZ1bmN0aW9uIGFycmF5VG9IYXNoKGFycmF5KSB7XG4gIHZhciBoYXNoID0ge307XG5cbiAgYXJyYXkuZm9yRWFjaChmdW5jdGlvbih2YWwsIGlkeCkge1xuICAgIGhhc2hbdmFsXSA9IHRydWU7XG4gIH0pO1xuXG4gIHJldHVybiBoYXNoO1xufVxuXG5cbmZ1bmN0aW9uIGZvcm1hdFZhbHVlKGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcykge1xuICAvLyBQcm92aWRlIGEgaG9vayBmb3IgdXNlci1zcGVjaWZpZWQgaW5zcGVjdCBmdW5jdGlvbnMuXG4gIC8vIENoZWNrIHRoYXQgdmFsdWUgaXMgYW4gb2JqZWN0IHdpdGggYW4gaW5zcGVjdCBmdW5jdGlvbiBvbiBpdFxuICBpZiAoY3R4LmN1c3RvbUluc3BlY3QgJiZcbiAgICAgIHZhbHVlICYmXG4gICAgICBpc0Z1bmN0aW9uKHZhbHVlLmluc3BlY3QpICYmXG4gICAgICAvLyBGaWx0ZXIgb3V0IHRoZSB1dGlsIG1vZHVsZSwgaXQncyBpbnNwZWN0IGZ1bmN0aW9uIGlzIHNwZWNpYWxcbiAgICAgIHZhbHVlLmluc3BlY3QgIT09IGV4cG9ydHMuaW5zcGVjdCAmJlxuICAgICAgLy8gQWxzbyBmaWx0ZXIgb3V0IGFueSBwcm90b3R5cGUgb2JqZWN0cyB1c2luZyB0aGUgY2lyY3VsYXIgY2hlY2suXG4gICAgICAhKHZhbHVlLmNvbnN0cnVjdG9yICYmIHZhbHVlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gdmFsdWUpKSB7XG4gICAgdmFyIHJldCA9IHZhbHVlLmluc3BlY3QocmVjdXJzZVRpbWVzLCBjdHgpO1xuICAgIGlmICghaXNTdHJpbmcocmV0KSkge1xuICAgICAgcmV0ID0gZm9ybWF0VmFsdWUoY3R4LCByZXQsIHJlY3Vyc2VUaW1lcyk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvLyBQcmltaXRpdmUgdHlwZXMgY2Fubm90IGhhdmUgcHJvcGVydGllc1xuICB2YXIgcHJpbWl0aXZlID0gZm9ybWF0UHJpbWl0aXZlKGN0eCwgdmFsdWUpO1xuICBpZiAocHJpbWl0aXZlKSB7XG4gICAgcmV0dXJuIHByaW1pdGl2ZTtcbiAgfVxuXG4gIC8vIExvb2sgdXAgdGhlIGtleXMgb2YgdGhlIG9iamVjdC5cbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XG4gIHZhciB2aXNpYmxlS2V5cyA9IGFycmF5VG9IYXNoKGtleXMpO1xuXG4gIGlmIChjdHguc2hvd0hpZGRlbikge1xuICAgIGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWx1ZSk7XG4gIH1cblxuICAvLyBJRSBkb2Vzbid0IG1ha2UgZXJyb3IgZmllbGRzIG5vbi1lbnVtZXJhYmxlXG4gIC8vIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9pZS9kd3c1MnNidCh2PXZzLjk0KS5hc3B4XG4gIGlmIChpc0Vycm9yKHZhbHVlKVxuICAgICAgJiYgKGtleXMuaW5kZXhPZignbWVzc2FnZScpID49IDAgfHwga2V5cy5pbmRleE9mKCdkZXNjcmlwdGlvbicpID49IDApKSB7XG4gICAgcmV0dXJuIGZvcm1hdEVycm9yKHZhbHVlKTtcbiAgfVxuXG4gIC8vIFNvbWUgdHlwZSBvZiBvYmplY3Qgd2l0aG91dCBwcm9wZXJ0aWVzIGNhbiBiZSBzaG9ydGN1dHRlZC5cbiAgaWYgKGtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24odmFsdWUpKSB7XG4gICAgICB2YXIgbmFtZSA9IHZhbHVlLm5hbWUgPyAnOiAnICsgdmFsdWUubmFtZSA6ICcnO1xuICAgICAgcmV0dXJuIGN0eC5zdHlsaXplKCdbRnVuY3Rpb24nICsgbmFtZSArICddJywgJ3NwZWNpYWwnKTtcbiAgICB9XG4gICAgaWYgKGlzUmVnRXhwKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIGN0eC5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSksICdyZWdleHAnKTtcbiAgICB9XG4gICAgaWYgKGlzRGF0ZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBjdHguc3R5bGl6ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSwgJ2RhdGUnKTtcbiAgICB9XG4gICAgaWYgKGlzRXJyb3IodmFsdWUpKSB7XG4gICAgICByZXR1cm4gZm9ybWF0RXJyb3IodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBiYXNlID0gJycsIGFycmF5ID0gZmFsc2UsIGJyYWNlcyA9IFsneycsICd9J107XG5cbiAgLy8gTWFrZSBBcnJheSBzYXkgdGhhdCB0aGV5IGFyZSBBcnJheVxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBhcnJheSA9IHRydWU7XG4gICAgYnJhY2VzID0gWydbJywgJ10nXTtcbiAgfVxuXG4gIC8vIE1ha2UgZnVuY3Rpb25zIHNheSB0aGF0IHRoZXkgYXJlIGZ1bmN0aW9uc1xuICBpZiAoaXNGdW5jdGlvbih2YWx1ZSkpIHtcbiAgICB2YXIgbiA9IHZhbHVlLm5hbWUgPyAnOiAnICsgdmFsdWUubmFtZSA6ICcnO1xuICAgIGJhc2UgPSAnIFtGdW5jdGlvbicgKyBuICsgJ10nO1xuICB9XG5cbiAgLy8gTWFrZSBSZWdFeHBzIHNheSB0aGF0IHRoZXkgYXJlIFJlZ0V4cHNcbiAgaWYgKGlzUmVnRXhwKHZhbHVlKSkge1xuICAgIGJhc2UgPSAnICcgKyBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICB9XG5cbiAgLy8gTWFrZSBkYXRlcyB3aXRoIHByb3BlcnRpZXMgZmlyc3Qgc2F5IHRoZSBkYXRlXG4gIGlmIChpc0RhdGUodmFsdWUpKSB7XG4gICAgYmFzZSA9ICcgJyArIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwodmFsdWUpO1xuICB9XG5cbiAgLy8gTWFrZSBlcnJvciB3aXRoIG1lc3NhZ2UgZmlyc3Qgc2F5IHRoZSBlcnJvclxuICBpZiAoaXNFcnJvcih2YWx1ZSkpIHtcbiAgICBiYXNlID0gJyAnICsgZm9ybWF0RXJyb3IodmFsdWUpO1xuICB9XG5cbiAgaWYgKGtleXMubGVuZ3RoID09PSAwICYmICghYXJyYXkgfHwgdmFsdWUubGVuZ3RoID09IDApKSB7XG4gICAgcmV0dXJuIGJyYWNlc1swXSArIGJhc2UgKyBicmFjZXNbMV07XG4gIH1cblxuICBpZiAocmVjdXJzZVRpbWVzIDwgMCkge1xuICAgIGlmIChpc1JlZ0V4cCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBjdHguc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLCAncmVnZXhwJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdHguc3R5bGl6ZSgnW09iamVjdF0nLCAnc3BlY2lhbCcpO1xuICAgIH1cbiAgfVxuXG4gIGN0eC5zZWVuLnB1c2godmFsdWUpO1xuXG4gIHZhciBvdXRwdXQ7XG4gIGlmIChhcnJheSkge1xuICAgIG91dHB1dCA9IGZvcm1hdEFycmF5KGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcywgdmlzaWJsZUtleXMsIGtleXMpO1xuICB9IGVsc2Uge1xuICAgIG91dHB1dCA9IGtleXMubWFwKGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIGZvcm1hdFByb3BlcnR5KGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcywgdmlzaWJsZUtleXMsIGtleSwgYXJyYXkpO1xuICAgIH0pO1xuICB9XG5cbiAgY3R4LnNlZW4ucG9wKCk7XG5cbiAgcmV0dXJuIHJlZHVjZVRvU2luZ2xlU3RyaW5nKG91dHB1dCwgYmFzZSwgYnJhY2VzKTtcbn1cblxuXG5mdW5jdGlvbiBmb3JtYXRQcmltaXRpdmUoY3R4LCB2YWx1ZSkge1xuICBpZiAoaXNVbmRlZmluZWQodmFsdWUpKVxuICAgIHJldHVybiBjdHguc3R5bGl6ZSgndW5kZWZpbmVkJywgJ3VuZGVmaW5lZCcpO1xuICBpZiAoaXNTdHJpbmcodmFsdWUpKSB7XG4gICAgdmFyIHNpbXBsZSA9ICdcXCcnICsgSlNPTi5zdHJpbmdpZnkodmFsdWUpLnJlcGxhY2UoL15cInxcIiQvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxcXFwiL2csICdcIicpICsgJ1xcJyc7XG4gICAgcmV0dXJuIGN0eC5zdHlsaXplKHNpbXBsZSwgJ3N0cmluZycpO1xuICB9XG4gIGlmIChpc051bWJlcih2YWx1ZSkpXG4gICAgcmV0dXJuIGN0eC5zdHlsaXplKCcnICsgdmFsdWUsICdudW1iZXInKTtcbiAgaWYgKGlzQm9vbGVhbih2YWx1ZSkpXG4gICAgcmV0dXJuIGN0eC5zdHlsaXplKCcnICsgdmFsdWUsICdib29sZWFuJyk7XG4gIC8vIEZvciBzb21lIHJlYXNvbiB0eXBlb2YgbnVsbCBpcyBcIm9iamVjdFwiLCBzbyBzcGVjaWFsIGNhc2UgaGVyZS5cbiAgaWYgKGlzTnVsbCh2YWx1ZSkpXG4gICAgcmV0dXJuIGN0eC5zdHlsaXplKCdudWxsJywgJ251bGwnKTtcbn1cblxuXG5mdW5jdGlvbiBmb3JtYXRFcnJvcih2YWx1ZSkge1xuICByZXR1cm4gJ1snICsgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpICsgJ10nO1xufVxuXG5cbmZ1bmN0aW9uIGZvcm1hdEFycmF5KGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcywgdmlzaWJsZUtleXMsIGtleXMpIHtcbiAgdmFyIG91dHB1dCA9IFtdO1xuICBmb3IgKHZhciBpID0gMCwgbCA9IHZhbHVlLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eSh2YWx1ZSwgU3RyaW5nKGkpKSkge1xuICAgICAgb3V0cHV0LnB1c2goZm9ybWF0UHJvcGVydHkoY3R4LCB2YWx1ZSwgcmVjdXJzZVRpbWVzLCB2aXNpYmxlS2V5cyxcbiAgICAgICAgICBTdHJpbmcoaSksIHRydWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0LnB1c2goJycpO1xuICAgIH1cbiAgfVxuICBrZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgaWYgKCFrZXkubWF0Y2goL15cXGQrJC8pKSB7XG4gICAgICBvdXRwdXQucHVzaChmb3JtYXRQcm9wZXJ0eShjdHgsIHZhbHVlLCByZWN1cnNlVGltZXMsIHZpc2libGVLZXlzLFxuICAgICAgICAgIGtleSwgdHJ1ZSkpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBvdXRwdXQ7XG59XG5cblxuZnVuY3Rpb24gZm9ybWF0UHJvcGVydHkoY3R4LCB2YWx1ZSwgcmVjdXJzZVRpbWVzLCB2aXNpYmxlS2V5cywga2V5LCBhcnJheSkge1xuICB2YXIgbmFtZSwgc3RyLCBkZXNjO1xuICBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih2YWx1ZSwga2V5KSB8fCB7IHZhbHVlOiB2YWx1ZVtrZXldIH07XG4gIGlmIChkZXNjLmdldCkge1xuICAgIGlmIChkZXNjLnNldCkge1xuICAgICAgc3RyID0gY3R4LnN0eWxpemUoJ1tHZXR0ZXIvU2V0dGVyXScsICdzcGVjaWFsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0ciA9IGN0eC5zdHlsaXplKCdbR2V0dGVyXScsICdzcGVjaWFsJyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChkZXNjLnNldCkge1xuICAgICAgc3RyID0gY3R4LnN0eWxpemUoJ1tTZXR0ZXJdJywgJ3NwZWNpYWwnKTtcbiAgICB9XG4gIH1cbiAgaWYgKCFoYXNPd25Qcm9wZXJ0eSh2aXNpYmxlS2V5cywga2V5KSkge1xuICAgIG5hbWUgPSAnWycgKyBrZXkgKyAnXSc7XG4gIH1cbiAgaWYgKCFzdHIpIHtcbiAgICBpZiAoY3R4LnNlZW4uaW5kZXhPZihkZXNjLnZhbHVlKSA8IDApIHtcbiAgICAgIGlmIChpc051bGwocmVjdXJzZVRpbWVzKSkge1xuICAgICAgICBzdHIgPSBmb3JtYXRWYWx1ZShjdHgsIGRlc2MudmFsdWUsIG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RyID0gZm9ybWF0VmFsdWUoY3R4LCBkZXNjLnZhbHVlLCByZWN1cnNlVGltZXMgLSAxKTtcbiAgICAgIH1cbiAgICAgIGlmIChzdHIuaW5kZXhPZignXFxuJykgPiAtMSkge1xuICAgICAgICBpZiAoYXJyYXkpIHtcbiAgICAgICAgICBzdHIgPSBzdHIuc3BsaXQoJ1xcbicpLm1hcChmdW5jdGlvbihsaW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gJyAgJyArIGxpbmU7XG4gICAgICAgICAgfSkuam9pbignXFxuJykuc2xpY2UoMik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RyID0gJ1xcbicgKyBzdHIuc3BsaXQoJ1xcbicpLm1hcChmdW5jdGlvbihsaW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gJyAgICcgKyBsaW5lO1xuICAgICAgICAgIH0pLmpvaW4oJ1xcbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0ciA9IGN0eC5zdHlsaXplKCdbQ2lyY3VsYXJdJywgJ3NwZWNpYWwnKTtcbiAgICB9XG4gIH1cbiAgaWYgKGlzVW5kZWZpbmVkKG5hbWUpKSB7XG4gICAgaWYgKGFycmF5ICYmIGtleS5tYXRjaCgvXlxcZCskLykpIHtcbiAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuICAgIG5hbWUgPSBKU09OLnN0cmluZ2lmeSgnJyArIGtleSk7XG4gICAgaWYgKG5hbWUubWF0Y2goL15cIihbYS16QS1aX11bYS16QS1aXzAtOV0qKVwiJC8pKSB7XG4gICAgICBuYW1lID0gbmFtZS5zbGljZSgxLCAtMSk7XG4gICAgICBuYW1lID0gY3R4LnN0eWxpemUobmFtZSwgJ25hbWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpXG4gICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFxcXCIvZywgJ1wiJylcbiAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLyheXCJ8XCIkKS9nLCBcIidcIik7XG4gICAgICBuYW1lID0gY3R4LnN0eWxpemUobmFtZSwgJ3N0cmluZycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuYW1lICsgJzogJyArIHN0cjtcbn1cblxuXG5mdW5jdGlvbiByZWR1Y2VUb1NpbmdsZVN0cmluZyhvdXRwdXQsIGJhc2UsIGJyYWNlcykge1xuICB2YXIgbnVtTGluZXNFc3QgPSAwO1xuICB2YXIgbGVuZ3RoID0gb3V0cHV0LnJlZHVjZShmdW5jdGlvbihwcmV2LCBjdXIpIHtcbiAgICBudW1MaW5lc0VzdCsrO1xuICAgIGlmIChjdXIuaW5kZXhPZignXFxuJykgPj0gMCkgbnVtTGluZXNFc3QrKztcbiAgICByZXR1cm4gcHJldiArIGN1ci5yZXBsYWNlKC9cXHUwMDFiXFxbXFxkXFxkP20vZywgJycpLmxlbmd0aCArIDE7XG4gIH0sIDApO1xuXG4gIGlmIChsZW5ndGggPiA2MCkge1xuICAgIHJldHVybiBicmFjZXNbMF0gK1xuICAgICAgICAgICAoYmFzZSA9PT0gJycgPyAnJyA6IGJhc2UgKyAnXFxuICcpICtcbiAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgb3V0cHV0LmpvaW4oJyxcXG4gICcpICtcbiAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgYnJhY2VzWzFdO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNlc1swXSArIGJhc2UgKyAnICcgKyBvdXRwdXQuam9pbignLCAnKSArICcgJyArIGJyYWNlc1sxXTtcbn1cblxuXG4vLyBOT1RFOiBUaGVzZSB0eXBlIGNoZWNraW5nIGZ1bmN0aW9ucyBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBgaW5zdGFuY2VvZmBcbi8vIGJlY2F1c2UgaXQgaXMgZnJhZ2lsZSBhbmQgY2FuIGJlIGVhc2lseSBmYWtlZCB3aXRoIGBPYmplY3QuY3JlYXRlKClgLlxuZXhwb3J0cy50eXBlcyA9IHJlcXVpcmUoJy4vc3VwcG9ydC90eXBlcycpO1xuXG5mdW5jdGlvbiBpc0FycmF5KGFyKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KGFyKTtcbn1cbmV4cG9ydHMuaXNBcnJheSA9IGlzQXJyYXk7XG5cbmZ1bmN0aW9uIGlzQm9vbGVhbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdib29sZWFuJztcbn1cbmV4cG9ydHMuaXNCb29sZWFuID0gaXNCb29sZWFuO1xuXG5mdW5jdGlvbiBpc051bGwoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IG51bGw7XG59XG5leHBvcnRzLmlzTnVsbCA9IGlzTnVsbDtcblxuZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQoYXJnKSB7XG4gIHJldHVybiBhcmcgPT0gbnVsbDtcbn1cbmV4cG9ydHMuaXNOdWxsT3JVbmRlZmluZWQgPSBpc051bGxPclVuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNOdW1iZXIoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnbnVtYmVyJztcbn1cbmV4cG9ydHMuaXNOdW1iZXIgPSBpc051bWJlcjtcblxuZnVuY3Rpb24gaXNTdHJpbmcoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJztcbn1cbmV4cG9ydHMuaXNTdHJpbmcgPSBpc1N0cmluZztcblxuZnVuY3Rpb24gaXNTeW1ib2woYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3ltYm9sJztcbn1cbmV4cG9ydHMuaXNTeW1ib2wgPSBpc1N5bWJvbDtcblxuZnVuY3Rpb24gaXNVbmRlZmluZWQoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IHZvaWQgMDtcbn1cbmV4cG9ydHMuaXNVbmRlZmluZWQgPSBpc1VuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNSZWdFeHAocmUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0KHJlKSAmJiBvYmplY3RUb1N0cmluZyhyZSkgPT09ICdbb2JqZWN0IFJlZ0V4cF0nO1xufVxuZXhwb3J0cy5pc1JlZ0V4cCA9IGlzUmVnRXhwO1xuZXhwb3J0cy50eXBlcy5pc1JlZ0V4cCA9IGlzUmVnRXhwO1xuXG5mdW5jdGlvbiBpc09iamVjdChhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmIGFyZyAhPT0gbnVsbDtcbn1cbmV4cG9ydHMuaXNPYmplY3QgPSBpc09iamVjdDtcblxuZnVuY3Rpb24gaXNEYXRlKGQpIHtcbiAgcmV0dXJuIGlzT2JqZWN0KGQpICYmIG9iamVjdFRvU3RyaW5nKGQpID09PSAnW29iamVjdCBEYXRlXSc7XG59XG5leHBvcnRzLmlzRGF0ZSA9IGlzRGF0ZTtcbmV4cG9ydHMudHlwZXMuaXNEYXRlID0gaXNEYXRlO1xuXG5mdW5jdGlvbiBpc0Vycm9yKGUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0KGUpICYmXG4gICAgICAob2JqZWN0VG9TdHJpbmcoZSkgPT09ICdbb2JqZWN0IEVycm9yXScgfHwgZSBpbnN0YW5jZW9mIEVycm9yKTtcbn1cbmV4cG9ydHMuaXNFcnJvciA9IGlzRXJyb3I7XG5leHBvcnRzLnR5cGVzLmlzTmF0aXZlRXJyb3IgPSBpc0Vycm9yO1xuXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJztcbn1cbmV4cG9ydHMuaXNGdW5jdGlvbiA9IGlzRnVuY3Rpb247XG5cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlKGFyZykge1xuICByZXR1cm4gYXJnID09PSBudWxsIHx8XG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnYm9vbGVhbicgfHxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdudW1iZXInIHx8XG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnc3RyaW5nJyB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3N5bWJvbCcgfHwgIC8vIEVTNiBzeW1ib2xcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICd1bmRlZmluZWQnO1xufVxuZXhwb3J0cy5pc1ByaW1pdGl2ZSA9IGlzUHJpbWl0aXZlO1xuXG5leHBvcnRzLmlzQnVmZmVyID0gcmVxdWlyZSgnLi9zdXBwb3J0L2lzQnVmZmVyJyk7XG5cbmZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKG8pIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKTtcbn1cblxuXG5mdW5jdGlvbiBwYWQobikge1xuICByZXR1cm4gbiA8IDEwID8gJzAnICsgbi50b1N0cmluZygxMCkgOiBuLnRvU3RyaW5nKDEwKTtcbn1cblxuXG52YXIgbW9udGhzID0gWydKYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWF5JywgJ0p1bicsICdKdWwnLCAnQXVnJywgJ1NlcCcsXG4gICAgICAgICAgICAgICdPY3QnLCAnTm92JywgJ0RlYyddO1xuXG4vLyAyNiBGZWIgMTY6MTk6MzRcbmZ1bmN0aW9uIHRpbWVzdGFtcCgpIHtcbiAgdmFyIGQgPSBuZXcgRGF0ZSgpO1xuICB2YXIgdGltZSA9IFtwYWQoZC5nZXRIb3VycygpKSxcbiAgICAgICAgICAgICAgcGFkKGQuZ2V0TWludXRlcygpKSxcbiAgICAgICAgICAgICAgcGFkKGQuZ2V0U2Vjb25kcygpKV0uam9pbignOicpO1xuICByZXR1cm4gW2QuZ2V0RGF0ZSgpLCBtb250aHNbZC5nZXRNb250aCgpXSwgdGltZV0uam9pbignICcpO1xufVxuXG5cbi8vIGxvZyBpcyBqdXN0IGEgdGhpbiB3cmFwcGVyIHRvIGNvbnNvbGUubG9nIHRoYXQgcHJlcGVuZHMgYSB0aW1lc3RhbXBcbmV4cG9ydHMubG9nID0gZnVuY3Rpb24oKSB7XG4gIGNvbnNvbGUubG9nKCclcyAtICVzJywgdGltZXN0YW1wKCksIGV4cG9ydHMuZm9ybWF0LmFwcGx5KGV4cG9ydHMsIGFyZ3VtZW50cykpO1xufTtcblxuXG4vKipcbiAqIEluaGVyaXQgdGhlIHByb3RvdHlwZSBtZXRob2RzIGZyb20gb25lIGNvbnN0cnVjdG9yIGludG8gYW5vdGhlci5cbiAqXG4gKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmluaGVyaXRzIGZyb20gbGFuZy5qcyByZXdyaXR0ZW4gYXMgYSBzdGFuZGFsb25lXG4gKiBmdW5jdGlvbiAobm90IG9uIEZ1bmN0aW9uLnByb3RvdHlwZSkuIE5PVEU6IElmIHRoaXMgZmlsZSBpcyB0byBiZSBsb2FkZWRcbiAqIGR1cmluZyBib290c3RyYXBwaW5nIHRoaXMgZnVuY3Rpb24gbmVlZHMgdG8gYmUgcmV3cml0dGVuIHVzaW5nIHNvbWUgbmF0aXZlXG4gKiBmdW5jdGlvbnMgYXMgcHJvdG90eXBlIHNldHVwIHVzaW5nIG5vcm1hbCBKYXZhU2NyaXB0IGRvZXMgbm90IHdvcmsgYXNcbiAqIGV4cGVjdGVkIGR1cmluZyBib290c3RyYXBwaW5nIChzZWUgbWlycm9yLmpzIGluIHIxMTQ5MDMpLlxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGN0b3IgQ29uc3RydWN0b3IgZnVuY3Rpb24gd2hpY2ggbmVlZHMgdG8gaW5oZXJpdCB0aGVcbiAqICAgICBwcm90b3R5cGUuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBzdXBlckN0b3IgQ29uc3RydWN0b3IgZnVuY3Rpb24gdG8gaW5oZXJpdCBwcm90b3R5cGUgZnJvbS5cbiAqL1xuZXhwb3J0cy5pbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmV4cG9ydHMuX2V4dGVuZCA9IGZ1bmN0aW9uKG9yaWdpbiwgYWRkKSB7XG4gIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIGFkZCBpc24ndCBhbiBvYmplY3RcbiAgaWYgKCFhZGQgfHwgIWlzT2JqZWN0KGFkZCkpIHJldHVybiBvcmlnaW47XG5cbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhhZGQpO1xuICB2YXIgaSA9IGtleXMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgb3JpZ2luW2tleXNbaV1dID0gYWRkW2tleXNbaV1dO1xuICB9XG4gIHJldHVybiBvcmlnaW47XG59O1xuXG5mdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxuXG52YXIga0N1c3RvbVByb21pc2lmaWVkU3ltYm9sID0gdHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgPyBTeW1ib2woJ3V0aWwucHJvbWlzaWZ5LmN1c3RvbScpIDogdW5kZWZpbmVkO1xuXG5leHBvcnRzLnByb21pc2lmeSA9IGZ1bmN0aW9uIHByb21pc2lmeShvcmlnaW5hbCkge1xuICBpZiAodHlwZW9mIG9yaWdpbmFsICE9PSAnZnVuY3Rpb24nKVxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcIm9yaWdpbmFsXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uJyk7XG5cbiAgaWYgKGtDdXN0b21Qcm9taXNpZmllZFN5bWJvbCAmJiBvcmlnaW5hbFtrQ3VzdG9tUHJvbWlzaWZpZWRTeW1ib2xdKSB7XG4gICAgdmFyIGZuID0gb3JpZ2luYWxba0N1c3RvbVByb21pc2lmaWVkU3ltYm9sXTtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJ1dGlsLnByb21pc2lmeS5jdXN0b21cIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24nKTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuLCBrQ3VzdG9tUHJvbWlzaWZpZWRTeW1ib2wsIHtcbiAgICAgIHZhbHVlOiBmbiwgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgZnVuY3Rpb24gZm4oKSB7XG4gICAgdmFyIHByb21pc2VSZXNvbHZlLCBwcm9taXNlUmVqZWN0O1xuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgcHJvbWlzZVJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgcHJvbWlzZVJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcblxuICAgIHZhciBhcmdzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xuICAgIH1cbiAgICBhcmdzLnB1c2goZnVuY3Rpb24gKGVyciwgdmFsdWUpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcHJvbWlzZVJlamVjdChlcnIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvbWlzZVJlc29sdmUodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcHJvbWlzZVJlamVjdChlcnIpO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGZuLCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob3JpZ2luYWwpKTtcblxuICBpZiAoa0N1c3RvbVByb21pc2lmaWVkU3ltYm9sKSBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm4sIGtDdXN0b21Qcm9taXNpZmllZFN5bWJvbCwge1xuICAgIHZhbHVlOiBmbiwgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoXG4gICAgZm4sXG4gICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhvcmlnaW5hbClcbiAgKTtcbn1cblxuZXhwb3J0cy5wcm9taXNpZnkuY3VzdG9tID0ga0N1c3RvbVByb21pc2lmaWVkU3ltYm9sXG5cbmZ1bmN0aW9uIGNhbGxiYWNraWZ5T25SZWplY3RlZChyZWFzb24sIGNiKSB7XG4gIC8vIGAhcmVhc29uYCBndWFyZCBpbnNwaXJlZCBieSBibHVlYmlyZCAoUmVmOiBodHRwczovL2dvby5nbC90NUlTNk0pLlxuICAvLyBCZWNhdXNlIGBudWxsYCBpcyBhIHNwZWNpYWwgZXJyb3IgdmFsdWUgaW4gY2FsbGJhY2tzIHdoaWNoIG1lYW5zIFwibm8gZXJyb3JcbiAgLy8gb2NjdXJyZWRcIiwgd2UgZXJyb3Itd3JhcCBzbyB0aGUgY2FsbGJhY2sgY29uc3VtZXIgY2FuIGRpc3Rpbmd1aXNoIGJldHdlZW5cbiAgLy8gXCJ0aGUgcHJvbWlzZSByZWplY3RlZCB3aXRoIG51bGxcIiBvciBcInRoZSBwcm9taXNlIGZ1bGZpbGxlZCB3aXRoIHVuZGVmaW5lZFwiLlxuICBpZiAoIXJlYXNvbikge1xuICAgIHZhciBuZXdSZWFzb24gPSBuZXcgRXJyb3IoJ1Byb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggYSBmYWxzeSB2YWx1ZScpO1xuICAgIG5ld1JlYXNvbi5yZWFzb24gPSByZWFzb247XG4gICAgcmVhc29uID0gbmV3UmVhc29uO1xuICB9XG4gIHJldHVybiBjYihyZWFzb24pO1xufVxuXG5mdW5jdGlvbiBjYWxsYmFja2lmeShvcmlnaW5hbCkge1xuICBpZiAodHlwZW9mIG9yaWdpbmFsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwib3JpZ2luYWxcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24nKTtcbiAgfVxuXG4gIC8vIFdlIERPIE5PVCByZXR1cm4gdGhlIHByb21pc2UgYXMgaXQgZ2l2ZXMgdGhlIHVzZXIgYSBmYWxzZSBzZW5zZSB0aGF0XG4gIC8vIHRoZSBwcm9taXNlIGlzIGFjdHVhbGx5IHNvbWVob3cgcmVsYXRlZCB0byB0aGUgY2FsbGJhY2sncyBleGVjdXRpb25cbiAgLy8gYW5kIHRoYXQgdGhlIGNhbGxiYWNrIHRocm93aW5nIHdpbGwgcmVqZWN0IHRoZSBwcm9taXNlLlxuICBmdW5jdGlvbiBjYWxsYmFja2lmaWVkKCkge1xuICAgIHZhciBhcmdzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xuICAgIH1cblxuICAgIHZhciBtYXliZUNiID0gYXJncy5wb3AoKTtcbiAgICBpZiAodHlwZW9mIG1heWJlQ2IgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBsYXN0IGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpO1xuICAgIH1cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGNiID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gbWF5YmVDYi5hcHBseShzZWxmLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgLy8gSW4gdHJ1ZSBub2RlIHN0eWxlIHdlIHByb2Nlc3MgdGhlIGNhbGxiYWNrIG9uIGBuZXh0VGlja2Agd2l0aCBhbGwgdGhlXG4gICAgLy8gaW1wbGljYXRpb25zIChzdGFjaywgYHVuY2F1Z2h0RXhjZXB0aW9uYCwgYGFzeW5jX2hvb2tzYClcbiAgICBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKVxuICAgICAgLnRoZW4oZnVuY3Rpb24ocmV0KSB7IHByb2Nlc3MubmV4dFRpY2soY2IuYmluZChudWxsLCBudWxsLCByZXQpKSB9LFxuICAgICAgICAgICAgZnVuY3Rpb24ocmVqKSB7IHByb2Nlc3MubmV4dFRpY2soY2FsbGJhY2tpZnlPblJlamVjdGVkLmJpbmQobnVsbCwgcmVqLCBjYikpIH0pO1xuICB9XG5cbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGNhbGxiYWNraWZpZWQsIE9iamVjdC5nZXRQcm90b3R5cGVPZihvcmlnaW5hbCkpO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjYWxsYmFja2lmaWVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG9yaWdpbmFsKSk7XG4gIHJldHVybiBjYWxsYmFja2lmaWVkO1xufVxuZXhwb3J0cy5jYWxsYmFja2lmeSA9IGNhbGxiYWNraWZ5O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/util/util.js\n")); - -/***/ }), - -/***/ "./node_modules/which-typed-array/index.js": -/*!*************************************************!*\ - !*** ./node_modules/which-typed-array/index.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar forEach = __webpack_require__(/*! for-each */ \"./node_modules/for-each/index.js\");\nvar availableTypedArrays = __webpack_require__(/*! available-typed-arrays */ \"./node_modules/available-typed-arrays/index.js\");\nvar callBind = __webpack_require__(/*! call-bind */ \"./node_modules/call-bind/index.js\");\nvar callBound = __webpack_require__(/*! call-bind/callBound */ \"./node_modules/call-bind/callBound.js\");\nvar gOPD = __webpack_require__(/*! gopd */ \"./node_modules/gopd/index.js\");\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = __webpack_require__(/*! has-tostringtag/shams */ \"./node_modules/has-tostringtag/shams.js\")();\n\nvar g = typeof globalThis === 'undefined' ? __webpack_require__.g : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tcache['$' + typedArray] = callBind(arr.slice);\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar found = false;\n\tforEach(cache, function (getter, typedArray) {\n\t\tif (!found) {\n\t\t\ttry {\n\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\tfound = $slice(typedArray, 1);\n\t\t\t\t}\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn found;\n};\n\nvar trySlices = function tryAllSlices(value) {\n\tvar found = false;\n\tforEach(cache, function (getter, name) {\n\t\tif (!found) {\n\t\t\ttry {\n\t\t\t\tgetter(value);\n\t\t\t\tfound = $slice(name, 1);\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn found;\n};\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2hpY2gtdHlwZWQtYXJyYXkvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLGtEQUFVO0FBQ2hDLDJCQUEyQixtQkFBTyxDQUFDLDhFQUF3QjtBQUMzRCxlQUFlLG1CQUFPLENBQUMsb0RBQVc7QUFDbEMsZ0JBQWdCLG1CQUFPLENBQUMsa0VBQXFCO0FBQzdDLFdBQVcsbUJBQU8sQ0FBQywwQ0FBTTs7QUFFekI7QUFDQSxxQkFBcUIsbUJBQU8sQ0FBQyxzRUFBdUI7O0FBRXBELDRDQUE0QyxxQkFBTTtBQUNsRDs7QUFFQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQSxpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxZQUFZO0FBQ2pCO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLFlBQVk7QUFDakI7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxlQUFlO0FBQzdCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3doaWNoLXR5cGVkLWFycmF5L2luZGV4LmpzPzI0OTkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgZm9yRWFjaCA9IHJlcXVpcmUoJ2Zvci1lYWNoJyk7XG52YXIgYXZhaWxhYmxlVHlwZWRBcnJheXMgPSByZXF1aXJlKCdhdmFpbGFibGUtdHlwZWQtYXJyYXlzJyk7XG52YXIgY2FsbEJpbmQgPSByZXF1aXJlKCdjYWxsLWJpbmQnKTtcbnZhciBjYWxsQm91bmQgPSByZXF1aXJlKCdjYWxsLWJpbmQvY2FsbEJvdW5kJyk7XG52YXIgZ09QRCA9IHJlcXVpcmUoJ2dvcGQnKTtcblxudmFyICR0b1N0cmluZyA9IGNhbGxCb3VuZCgnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZycpO1xudmFyIGhhc1RvU3RyaW5nVGFnID0gcmVxdWlyZSgnaGFzLXRvc3RyaW5ndGFnL3NoYW1zJykoKTtcblxudmFyIGcgPSB0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiBnbG9iYWxUaGlzO1xudmFyIHR5cGVkQXJyYXlzID0gYXZhaWxhYmxlVHlwZWRBcnJheXMoKTtcblxudmFyICRzbGljZSA9IGNhbGxCb3VuZCgnU3RyaW5nLnByb3RvdHlwZS5zbGljZScpO1xudmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mOyAvLyByZXF1aXJlKCdnZXRwcm90b3R5cGVvZicpO1xuXG52YXIgJGluZGV4T2YgPSBjYWxsQm91bmQoJ0FycmF5LnByb3RvdHlwZS5pbmRleE9mJywgdHJ1ZSkgfHwgZnVuY3Rpb24gaW5kZXhPZihhcnJheSwgdmFsdWUpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkgKz0gMSkge1xuXHRcdGlmIChhcnJheVtpXSA9PT0gdmFsdWUpIHtcblx0XHRcdHJldHVybiBpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gLTE7XG59O1xudmFyIGNhY2hlID0geyBfX3Byb3RvX186IG51bGwgfTtcbmlmIChoYXNUb1N0cmluZ1RhZyAmJiBnT1BEICYmIGdldFByb3RvdHlwZU9mKSB7XG5cdGZvckVhY2godHlwZWRBcnJheXMsIGZ1bmN0aW9uICh0eXBlZEFycmF5KSB7XG5cdFx0dmFyIGFyciA9IG5ldyBnW3R5cGVkQXJyYXldKCk7XG5cdFx0aWYgKFN5bWJvbC50b1N0cmluZ1RhZyBpbiBhcnIpIHtcblx0XHRcdHZhciBwcm90byA9IGdldFByb3RvdHlwZU9mKGFycik7XG5cdFx0XHR2YXIgZGVzY3JpcHRvciA9IGdPUEQocHJvdG8sIFN5bWJvbC50b1N0cmluZ1RhZyk7XG5cdFx0XHRpZiAoIWRlc2NyaXB0b3IpIHtcblx0XHRcdFx0dmFyIHN1cGVyUHJvdG8gPSBnZXRQcm90b3R5cGVPZihwcm90byk7XG5cdFx0XHRcdGRlc2NyaXB0b3IgPSBnT1BEKHN1cGVyUHJvdG8sIFN5bWJvbC50b1N0cmluZ1RhZyk7XG5cdFx0XHR9XG5cdFx0XHRjYWNoZVsnJCcgKyB0eXBlZEFycmF5XSA9IGNhbGxCaW5kKGRlc2NyaXB0b3IuZ2V0KTtcblx0XHR9XG5cdH0pO1xufSBlbHNlIHtcblx0Zm9yRWFjaCh0eXBlZEFycmF5cywgZnVuY3Rpb24gKHR5cGVkQXJyYXkpIHtcblx0XHR2YXIgYXJyID0gbmV3IGdbdHlwZWRBcnJheV0oKTtcblx0XHRjYWNoZVsnJCcgKyB0eXBlZEFycmF5XSA9IGNhbGxCaW5kKGFyci5zbGljZSk7XG5cdH0pO1xufVxuXG52YXIgdHJ5VHlwZWRBcnJheXMgPSBmdW5jdGlvbiB0cnlBbGxUeXBlZEFycmF5cyh2YWx1ZSkge1xuXHR2YXIgZm91bmQgPSBmYWxzZTtcblx0Zm9yRWFjaChjYWNoZSwgZnVuY3Rpb24gKGdldHRlciwgdHlwZWRBcnJheSkge1xuXHRcdGlmICghZm91bmQpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGlmICgnJCcgKyBnZXR0ZXIodmFsdWUpID09PSB0eXBlZEFycmF5KSB7XG5cdFx0XHRcdFx0Zm91bmQgPSAkc2xpY2UodHlwZWRBcnJheSwgMSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGUpIHsgLyoqLyB9XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGZvdW5kO1xufTtcblxudmFyIHRyeVNsaWNlcyA9IGZ1bmN0aW9uIHRyeUFsbFNsaWNlcyh2YWx1ZSkge1xuXHR2YXIgZm91bmQgPSBmYWxzZTtcblx0Zm9yRWFjaChjYWNoZSwgZnVuY3Rpb24gKGdldHRlciwgbmFtZSkge1xuXHRcdGlmICghZm91bmQpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGdldHRlcih2YWx1ZSk7XG5cdFx0XHRcdGZvdW5kID0gJHNsaWNlKG5hbWUsIDEpO1xuXHRcdFx0fSBjYXRjaCAoZSkgeyAvKiovIH1cblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gZm91bmQ7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHdoaWNoVHlwZWRBcnJheSh2YWx1ZSkge1xuXHRpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICghaGFzVG9TdHJpbmdUYWcpIHtcblx0XHR2YXIgdGFnID0gJHNsaWNlKCR0b1N0cmluZyh2YWx1ZSksIDgsIC0xKTtcblx0XHRpZiAoJGluZGV4T2YodHlwZWRBcnJheXMsIHRhZykgPiAtMSkge1xuXHRcdFx0cmV0dXJuIHRhZztcblx0XHR9XG5cdFx0aWYgKHRhZyAhPT0gJ09iamVjdCcpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0Ly8gbm9kZSA8IDAuNiBoaXRzIGhlcmUgb24gcmVhbCBUeXBlZCBBcnJheXNcblx0XHRyZXR1cm4gdHJ5U2xpY2VzKHZhbHVlKTtcblx0fVxuXHRpZiAoIWdPUEQpIHsgcmV0dXJuIG51bGw7IH0gLy8gdW5rbm93biBlbmdpbmVcblx0cmV0dXJuIHRyeVR5cGVkQXJyYXlzKHZhbHVlKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/which-typed-array/index.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/index.js": -/*!**********************************!*\ - !*** ./node_modules/ws/index.js ***! - \**********************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst WebSocket = __webpack_require__(/*! ./lib/websocket */ \"./node_modules/ws/lib/websocket.js\");\n\nWebSocket.createWebSocketStream = __webpack_require__(/*! ./lib/stream */ \"./node_modules/ws/lib/stream.js\");\nWebSocket.Server = __webpack_require__(/*! ./lib/websocket-server */ \"./node_modules/ws/lib/websocket-server.js\");\nWebSocket.Receiver = __webpack_require__(/*! ./lib/receiver */ \"./node_modules/ws/lib/receiver.js\");\nWebSocket.Sender = __webpack_require__(/*! ./lib/sender */ \"./node_modules/ws/lib/sender.js\");\n\nWebSocket.WebSocket = WebSocket;\nWebSocket.WebSocketServer = WebSocket.Server;\n\nmodule.exports = WebSocket;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsMkRBQWlCOztBQUUzQyxrQ0FBa0MsbUJBQU8sQ0FBQyxxREFBYztBQUN4RCxtQkFBbUIsbUJBQU8sQ0FBQyx5RUFBd0I7QUFDbkQscUJBQXFCLG1CQUFPLENBQUMseURBQWdCO0FBQzdDLG1CQUFtQixtQkFBTyxDQUFDLHFEQUFjOztBQUV6QztBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy93cy9pbmRleC5qcz8xNTRlIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgV2ViU29ja2V0ID0gcmVxdWlyZSgnLi9saWIvd2Vic29ja2V0Jyk7XG5cbldlYlNvY2tldC5jcmVhdGVXZWJTb2NrZXRTdHJlYW0gPSByZXF1aXJlKCcuL2xpYi9zdHJlYW0nKTtcbldlYlNvY2tldC5TZXJ2ZXIgPSByZXF1aXJlKCcuL2xpYi93ZWJzb2NrZXQtc2VydmVyJyk7XG5XZWJTb2NrZXQuUmVjZWl2ZXIgPSByZXF1aXJlKCcuL2xpYi9yZWNlaXZlcicpO1xuV2ViU29ja2V0LlNlbmRlciA9IHJlcXVpcmUoJy4vbGliL3NlbmRlcicpO1xuXG5XZWJTb2NrZXQuV2ViU29ja2V0ID0gV2ViU29ja2V0O1xuV2ViU29ja2V0LldlYlNvY2tldFNlcnZlciA9IFdlYlNvY2tldC5TZXJ2ZXI7XG5cbm1vZHVsZS5leHBvcnRzID0gV2ViU29ja2V0O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ws/index.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/buffer-util.js": -/*!********************************************!*\ - !*** ./node_modules/ws/lib/buffer-util.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\nconst { EMPTY_BUFFER } = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\n\nconst FastBuffer = Buffer[Symbol.species];\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nfunction concat(list, totalLength) {\n if (list.length === 0) return EMPTY_BUFFER;\n if (list.length === 1) return list[0];\n\n const target = Buffer.allocUnsafe(totalLength);\n let offset = 0;\n\n for (let i = 0; i < list.length; i++) {\n const buf = list[i];\n target.set(buf, offset);\n offset += buf.length;\n }\n\n if (offset < totalLength) {\n return new FastBuffer(target.buffer, target.byteOffset, offset);\n }\n\n return target;\n}\n\n/**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\nfunction _mask(source, mask, output, offset, length) {\n for (let i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n}\n\n/**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\nfunction _unmask(buffer, mask) {\n for (let i = 0; i < buffer.length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} buf The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n * @public\n */\nfunction toArrayBuffer(buf) {\n if (buf.length === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.length);\n}\n\n/**\n * Converts `data` to a `Buffer`.\n *\n * @param {*} data The data to convert\n * @return {Buffer} The buffer\n * @throws {TypeError}\n * @public\n */\nfunction toBuffer(data) {\n toBuffer.readOnly = true;\n\n if (Buffer.isBuffer(data)) return data;\n\n let buf;\n\n if (data instanceof ArrayBuffer) {\n buf = new FastBuffer(data);\n } else if (ArrayBuffer.isView(data)) {\n buf = new FastBuffer(data.buffer, data.byteOffset, data.byteLength);\n } else {\n buf = Buffer.from(data);\n toBuffer.readOnly = false;\n }\n\n return buf;\n}\n\nmodule.exports = {\n concat,\n mask: _mask,\n toArrayBuffer,\n toBuffer,\n unmask: _unmask\n};\n\n/* istanbul ignore else */\nif (!process.env.WS_NO_BUFFER_UTIL) {\n try {\n const bufferUtil = __webpack_require__(/*! bufferutil */ \"./node_modules/bufferutil/index.js\");\n\n module.exports.mask = function (source, mask, output, offset, length) {\n if (length < 48) _mask(source, mask, output, offset, length);\n else bufferUtil.mask(source, mask, output, offset, length);\n };\n\n module.exports.unmask = function (buffer, mask) {\n if (buffer.length < 32) _unmask(buffer, mask);\n else bufferUtil.unmask(buffer, mask);\n };\n } catch (e) {\n // Continue regardless of the error.\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL2J1ZmZlci11dGlsLmpzIiwibWFwcGluZ3MiOiI7O0FBQWE7O0FBRWIsUUFBUSxlQUFlLEVBQUUsbUJBQU8sQ0FBQyx1REFBYTs7QUFFOUMsbUJBQW1CLE1BQU07O0FBRXpCO0FBQ0E7QUFDQTtBQUNBLFdBQVcsVUFBVTtBQUNyQixXQUFXLFFBQVE7QUFDbkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLE1BQU07QUFDdkI7O0FBRUEsa0JBQWtCLGlCQUFpQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixZQUFZO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixtQkFBbUI7QUFDckM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLGFBQWE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLE1BQU07O0FBRVo7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSixVQUFVLE1BQU07QUFDaEI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSyxPQUFPO0FBQ1o7QUFDQSx1QkFBdUIsbUJBQU8sQ0FBQyxzREFBWTs7QUFFM0MsSUFBSSxtQkFBbUI7QUFDdkI7QUFDQTtBQUNBOztBQUVBLElBQUkscUJBQXFCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9idWZmZXItdXRpbC5qcz82ZTBlIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgeyBFTVBUWV9CVUZGRVIgfSA9IHJlcXVpcmUoJy4vY29uc3RhbnRzJyk7XG5cbmNvbnN0IEZhc3RCdWZmZXIgPSBCdWZmZXJbU3ltYm9sLnNwZWNpZXNdO1xuXG4vKipcbiAqIE1lcmdlcyBhbiBhcnJheSBvZiBidWZmZXJzIGludG8gYSBuZXcgYnVmZmVyLlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyW119IGxpc3QgVGhlIGFycmF5IG9mIGJ1ZmZlcnMgdG8gY29uY2F0XG4gKiBAcGFyYW0ge051bWJlcn0gdG90YWxMZW5ndGggVGhlIHRvdGFsIGxlbmd0aCBvZiBidWZmZXJzIGluIHRoZSBsaXN0XG4gKiBAcmV0dXJuIHtCdWZmZXJ9IFRoZSByZXN1bHRpbmcgYnVmZmVyXG4gKiBAcHVibGljXG4gKi9cbmZ1bmN0aW9uIGNvbmNhdChsaXN0LCB0b3RhbExlbmd0aCkge1xuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHJldHVybiBFTVBUWV9CVUZGRVI7XG4gIGlmIChsaXN0Lmxlbmd0aCA9PT0gMSkgcmV0dXJuIGxpc3RbMF07XG5cbiAgY29uc3QgdGFyZ2V0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKHRvdGFsTGVuZ3RoKTtcbiAgbGV0IG9mZnNldCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYnVmID0gbGlzdFtpXTtcbiAgICB0YXJnZXQuc2V0KGJ1Ziwgb2Zmc2V0KTtcbiAgICBvZmZzZXQgKz0gYnVmLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChvZmZzZXQgPCB0b3RhbExlbmd0aCkge1xuICAgIHJldHVybiBuZXcgRmFzdEJ1ZmZlcih0YXJnZXQuYnVmZmVyLCB0YXJnZXQuYnl0ZU9mZnNldCwgb2Zmc2V0KTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbi8qKlxuICogTWFza3MgYSBidWZmZXIgdXNpbmcgdGhlIGdpdmVuIG1hc2suXG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IHNvdXJjZSBUaGUgYnVmZmVyIHRvIG1hc2tcbiAqIEBwYXJhbSB7QnVmZmVyfSBtYXNrIFRoZSBtYXNrIHRvIHVzZVxuICogQHBhcmFtIHtCdWZmZXJ9IG91dHB1dCBUaGUgYnVmZmVyIHdoZXJlIHRvIHN0b3JlIHRoZSByZXN1bHRcbiAqIEBwYXJhbSB7TnVtYmVyfSBvZmZzZXQgVGhlIG9mZnNldCBhdCB3aGljaCB0byBzdGFydCB3cml0aW5nXG4gKiBAcGFyYW0ge051bWJlcn0gbGVuZ3RoIFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gbWFzay5cbiAqIEBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gX21hc2soc291cmNlLCBtYXNrLCBvdXRwdXQsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBvdXRwdXRbb2Zmc2V0ICsgaV0gPSBzb3VyY2VbaV0gXiBtYXNrW2kgJiAzXTtcbiAgfVxufVxuXG4vKipcbiAqIFVubWFza3MgYSBidWZmZXIgdXNpbmcgdGhlIGdpdmVuIG1hc2suXG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IGJ1ZmZlciBUaGUgYnVmZmVyIHRvIHVubWFza1xuICogQHBhcmFtIHtCdWZmZXJ9IG1hc2sgVGhlIG1hc2sgdG8gdXNlXG4gKiBAcHVibGljXG4gKi9cbmZ1bmN0aW9uIF91bm1hc2soYnVmZmVyLCBtYXNrKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgYnVmZmVyW2ldIF49IG1hc2tbaSAmIDNdO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBidWZmZXIgdG8gYW4gYEFycmF5QnVmZmVyYC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmIFRoZSBidWZmZXIgdG8gY29udmVydFxuICogQHJldHVybiB7QXJyYXlCdWZmZXJ9IENvbnZlcnRlZCBidWZmZXJcbiAqIEBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gdG9BcnJheUJ1ZmZlcihidWYpIHtcbiAgaWYgKGJ1Zi5sZW5ndGggPT09IGJ1Zi5idWZmZXIuYnl0ZUxlbmd0aCkge1xuICAgIHJldHVybiBidWYuYnVmZmVyO1xuICB9XG5cbiAgcmV0dXJuIGJ1Zi5idWZmZXIuc2xpY2UoYnVmLmJ5dGVPZmZzZXQsIGJ1Zi5ieXRlT2Zmc2V0ICsgYnVmLmxlbmd0aCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYGRhdGFgIHRvIGEgYEJ1ZmZlcmAuXG4gKlxuICogQHBhcmFtIHsqfSBkYXRhIFRoZSBkYXRhIHRvIGNvbnZlcnRcbiAqIEByZXR1cm4ge0J1ZmZlcn0gVGhlIGJ1ZmZlclxuICogQHRocm93cyB7VHlwZUVycm9yfVxuICogQHB1YmxpY1xuICovXG5mdW5jdGlvbiB0b0J1ZmZlcihkYXRhKSB7XG4gIHRvQnVmZmVyLnJlYWRPbmx5ID0gdHJ1ZTtcblxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSByZXR1cm4gZGF0YTtcblxuICBsZXQgYnVmO1xuXG4gIGlmIChkYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICBidWYgPSBuZXcgRmFzdEJ1ZmZlcihkYXRhKTtcbiAgfSBlbHNlIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcoZGF0YSkpIHtcbiAgICBidWYgPSBuZXcgRmFzdEJ1ZmZlcihkYXRhLmJ1ZmZlciwgZGF0YS5ieXRlT2Zmc2V0LCBkYXRhLmJ5dGVMZW5ndGgpO1xuICB9IGVsc2Uge1xuICAgIGJ1ZiA9IEJ1ZmZlci5mcm9tKGRhdGEpO1xuICAgIHRvQnVmZmVyLnJlYWRPbmx5ID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gYnVmO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgY29uY2F0LFxuICBtYXNrOiBfbWFzayxcbiAgdG9BcnJheUJ1ZmZlcixcbiAgdG9CdWZmZXIsXG4gIHVubWFzazogX3VubWFza1xufTtcblxuLyogaXN0YW5idWwgaWdub3JlIGVsc2UgICovXG5pZiAoIXByb2Nlc3MuZW52LldTX05PX0JVRkZFUl9VVElMKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgYnVmZmVyVXRpbCA9IHJlcXVpcmUoJ2J1ZmZlcnV0aWwnKTtcblxuICAgIG1vZHVsZS5leHBvcnRzLm1hc2sgPSBmdW5jdGlvbiAoc291cmNlLCBtYXNrLCBvdXRwdXQsIG9mZnNldCwgbGVuZ3RoKSB7XG4gICAgICBpZiAobGVuZ3RoIDwgNDgpIF9tYXNrKHNvdXJjZSwgbWFzaywgb3V0cHV0LCBvZmZzZXQsIGxlbmd0aCk7XG4gICAgICBlbHNlIGJ1ZmZlclV0aWwubWFzayhzb3VyY2UsIG1hc2ssIG91dHB1dCwgb2Zmc2V0LCBsZW5ndGgpO1xuICAgIH07XG5cbiAgICBtb2R1bGUuZXhwb3J0cy51bm1hc2sgPSBmdW5jdGlvbiAoYnVmZmVyLCBtYXNrKSB7XG4gICAgICBpZiAoYnVmZmVyLmxlbmd0aCA8IDMyKSBfdW5tYXNrKGJ1ZmZlciwgbWFzayk7XG4gICAgICBlbHNlIGJ1ZmZlclV0aWwudW5tYXNrKGJ1ZmZlciwgbWFzayk7XG4gICAgfTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIENvbnRpbnVlIHJlZ2FyZGxlc3Mgb2YgdGhlIGVycm9yLlxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/buffer-util.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/constants.js": -/*!******************************************!*\ - !*** ./node_modules/ws/lib/constants.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n\nmodule.exports = {\n BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],\n EMPTY_BUFFER: Buffer.alloc(0),\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n kForOnEventAttribute: Symbol('kIsForOnEventAttribute'),\n kListener: Symbol('kListener'),\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n NOOP: () => {}\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiO0FBQWE7O0FBRWI7QUFDQTtBQUNBLGdCQUFnQixNQUFNO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy93cy9saWIvY29uc3RhbnRzLmpzP2MyYTMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgQklOQVJZX1RZUEVTOiBbJ25vZGVidWZmZXInLCAnYXJyYXlidWZmZXInLCAnZnJhZ21lbnRzJ10sXG4gIEVNUFRZX0JVRkZFUjogQnVmZmVyLmFsbG9jKDApLFxuICBHVUlEOiAnMjU4RUFGQTUtRTkxNC00N0RBLTk1Q0EtQzVBQjBEQzg1QjExJyxcbiAga0Zvck9uRXZlbnRBdHRyaWJ1dGU6IFN5bWJvbCgna0lzRm9yT25FdmVudEF0dHJpYnV0ZScpLFxuICBrTGlzdGVuZXI6IFN5bWJvbCgna0xpc3RlbmVyJyksXG4gIGtTdGF0dXNDb2RlOiBTeW1ib2woJ3N0YXR1cy1jb2RlJyksXG4gIGtXZWJTb2NrZXQ6IFN5bWJvbCgnd2Vic29ja2V0JyksXG4gIE5PT1A6ICgpID0+IHt9XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/event-target.js": -/*!*********************************************!*\ - !*** ./node_modules/ws/lib/event-target.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst { kForOnEventAttribute, kListener } = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\n\nconst kCode = Symbol('kCode');\nconst kData = Symbol('kData');\nconst kError = Symbol('kError');\nconst kMessage = Symbol('kMessage');\nconst kReason = Symbol('kReason');\nconst kTarget = Symbol('kTarget');\nconst kType = Symbol('kType');\nconst kWasClean = Symbol('kWasClean');\n\n/**\n * Class representing an event.\n */\nclass Event {\n /**\n * Create a new `Event`.\n *\n * @param {String} type The name of the event\n * @throws {TypeError} If the `type` argument is not specified\n */\n constructor(type) {\n this[kTarget] = null;\n this[kType] = type;\n }\n\n /**\n * @type {*}\n */\n get target() {\n return this[kTarget];\n }\n\n /**\n * @type {String}\n */\n get type() {\n return this[kType];\n }\n}\n\nObject.defineProperty(Event.prototype, 'target', { enumerable: true });\nObject.defineProperty(Event.prototype, 'type', { enumerable: true });\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n */\nclass CloseEvent extends Event {\n /**\n * Create a new `CloseEvent`.\n *\n * @param {String} type The name of the event\n * @param {Object} [options] A dictionary object that allows for setting\n * attributes via object members of the same name\n * @param {Number} [options.code=0] The status code explaining why the\n * connection was closed\n * @param {String} [options.reason=''] A human-readable string explaining why\n * the connection was closed\n * @param {Boolean} [options.wasClean=false] Indicates whether or not the\n * connection was cleanly closed\n */\n constructor(type, options = {}) {\n super(type);\n\n this[kCode] = options.code === undefined ? 0 : options.code;\n this[kReason] = options.reason === undefined ? '' : options.reason;\n this[kWasClean] = options.wasClean === undefined ? false : options.wasClean;\n }\n\n /**\n * @type {Number}\n */\n get code() {\n return this[kCode];\n }\n\n /**\n * @type {String}\n */\n get reason() {\n return this[kReason];\n }\n\n /**\n * @type {Boolean}\n */\n get wasClean() {\n return this[kWasClean];\n }\n}\n\nObject.defineProperty(CloseEvent.prototype, 'code', { enumerable: true });\nObject.defineProperty(CloseEvent.prototype, 'reason', { enumerable: true });\nObject.defineProperty(CloseEvent.prototype, 'wasClean', { enumerable: true });\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n */\nclass ErrorEvent extends Event {\n /**\n * Create a new `ErrorEvent`.\n *\n * @param {String} type The name of the event\n * @param {Object} [options] A dictionary object that allows for setting\n * attributes via object members of the same name\n * @param {*} [options.error=null] The error that generated this event\n * @param {String} [options.message=''] The error message\n */\n constructor(type, options = {}) {\n super(type);\n\n this[kError] = options.error === undefined ? null : options.error;\n this[kMessage] = options.message === undefined ? '' : options.message;\n }\n\n /**\n * @type {*}\n */\n get error() {\n return this[kError];\n }\n\n /**\n * @type {String}\n */\n get message() {\n return this[kMessage];\n }\n}\n\nObject.defineProperty(ErrorEvent.prototype, 'error', { enumerable: true });\nObject.defineProperty(ErrorEvent.prototype, 'message', { enumerable: true });\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n */\nclass MessageEvent extends Event {\n /**\n * Create a new `MessageEvent`.\n *\n * @param {String} type The name of the event\n * @param {Object} [options] A dictionary object that allows for setting\n * attributes via object members of the same name\n * @param {*} [options.data=null] The message content\n */\n constructor(type, options = {}) {\n super(type);\n\n this[kData] = options.data === undefined ? null : options.data;\n }\n\n /**\n * @type {*}\n */\n get data() {\n return this[kData];\n }\n}\n\nObject.defineProperty(MessageEvent.prototype, 'data', { enumerable: true });\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n /**\n * Register an event listener.\n *\n * @param {String} type A string representing the event type to listen for\n * @param {(Function|Object)} handler The listener to add\n * @param {Object} [options] An options object specifies characteristics about\n * the event listener\n * @param {Boolean} [options.once=false] A `Boolean` indicating that the\n * listener should be invoked at most once after being added. If `true`,\n * the listener would be automatically removed when invoked.\n * @public\n */\n addEventListener(type, handler, options = {}) {\n for (const listener of this.listeners(type)) {\n if (\n !options[kForOnEventAttribute] &&\n listener[kListener] === handler &&\n !listener[kForOnEventAttribute]\n ) {\n return;\n }\n }\n\n let wrapper;\n\n if (type === 'message') {\n wrapper = function onMessage(data, isBinary) {\n const event = new MessageEvent('message', {\n data: isBinary ? data : data.toString()\n });\n\n event[kTarget] = this;\n callListener(handler, this, event);\n };\n } else if (type === 'close') {\n wrapper = function onClose(code, message) {\n const event = new CloseEvent('close', {\n code,\n reason: message.toString(),\n wasClean: this._closeFrameReceived && this._closeFrameSent\n });\n\n event[kTarget] = this;\n callListener(handler, this, event);\n };\n } else if (type === 'error') {\n wrapper = function onError(error) {\n const event = new ErrorEvent('error', {\n error,\n message: error.message\n });\n\n event[kTarget] = this;\n callListener(handler, this, event);\n };\n } else if (type === 'open') {\n wrapper = function onOpen() {\n const event = new Event('open');\n\n event[kTarget] = this;\n callListener(handler, this, event);\n };\n } else {\n return;\n }\n\n wrapper[kForOnEventAttribute] = !!options[kForOnEventAttribute];\n wrapper[kListener] = handler;\n\n if (options.once) {\n this.once(type, wrapper);\n } else {\n this.on(type, wrapper);\n }\n },\n\n /**\n * Remove an event listener.\n *\n * @param {String} type A string representing the event type to remove\n * @param {(Function|Object)} handler The listener to remove\n * @public\n */\n removeEventListener(type, handler) {\n for (const listener of this.listeners(type)) {\n if (listener[kListener] === handler && !listener[kForOnEventAttribute]) {\n this.removeListener(type, listener);\n break;\n }\n }\n }\n};\n\nmodule.exports = {\n CloseEvent,\n ErrorEvent,\n Event,\n EventTarget,\n MessageEvent\n};\n\n/**\n * Call an event listener\n *\n * @param {(Function|Object)} listener The listener to call\n * @param {*} thisArg The value to use as `this`` when calling the listener\n * @param {Event} event The event to pass to the listener\n * @private\n */\nfunction callListener(listener, thisArg, event) {\n if (typeof listener === 'object' && listener.handleEvent) {\n listener.handleEvent.call(listener, event);\n } else {\n listener.call(thisArg, event);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL2V2ZW50LXRhcmdldC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLGtDQUFrQyxFQUFFLG1CQUFPLENBQUMsdURBQWE7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsY0FBYyxXQUFXO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtREFBbUQsa0JBQWtCO0FBQ3JFLGlEQUFpRCxrQkFBa0I7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixhQUFhLFFBQVE7QUFDckI7QUFDQSxhQUFhLFFBQVE7QUFDckI7QUFDQSxhQUFhLFFBQVE7QUFDckI7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBLGdDQUFnQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNEQUFzRCxrQkFBa0I7QUFDeEUsd0RBQXdELGtCQUFrQjtBQUMxRSwwREFBMEQsa0JBQWtCOztBQUU1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0EsYUFBYSxHQUFHO0FBQ2hCLGFBQWEsUUFBUTtBQUNyQjtBQUNBLGdDQUFnQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1REFBdUQsa0JBQWtCO0FBQ3pFLHlEQUF5RCxrQkFBa0I7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixhQUFhLFFBQVE7QUFDckI7QUFDQSxhQUFhLEdBQUc7QUFDaEI7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdEQUF3RCxrQkFBa0I7O0FBRTFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsbUJBQW1CO0FBQ2hDLGFBQWEsUUFBUTtBQUNyQjtBQUNBLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxtQkFBbUI7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLG1CQUFtQjtBQUM5QixXQUFXLEdBQUc7QUFDZCxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9ldmVudC10YXJnZXQuanM/MzM0NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHsga0Zvck9uRXZlbnRBdHRyaWJ1dGUsIGtMaXN0ZW5lciB9ID0gcmVxdWlyZSgnLi9jb25zdGFudHMnKTtcblxuY29uc3Qga0NvZGUgPSBTeW1ib2woJ2tDb2RlJyk7XG5jb25zdCBrRGF0YSA9IFN5bWJvbCgna0RhdGEnKTtcbmNvbnN0IGtFcnJvciA9IFN5bWJvbCgna0Vycm9yJyk7XG5jb25zdCBrTWVzc2FnZSA9IFN5bWJvbCgna01lc3NhZ2UnKTtcbmNvbnN0IGtSZWFzb24gPSBTeW1ib2woJ2tSZWFzb24nKTtcbmNvbnN0IGtUYXJnZXQgPSBTeW1ib2woJ2tUYXJnZXQnKTtcbmNvbnN0IGtUeXBlID0gU3ltYm9sKCdrVHlwZScpO1xuY29uc3Qga1dhc0NsZWFuID0gU3ltYm9sKCdrV2FzQ2xlYW4nKTtcblxuLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgYW4gZXZlbnQuXG4gKi9cbmNsYXNzIEV2ZW50IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBgRXZlbnRgLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnRcbiAgICogQHRocm93cyB7VHlwZUVycm9yfSBJZiB0aGUgYHR5cGVgIGFyZ3VtZW50IGlzIG5vdCBzcGVjaWZpZWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICB0aGlzW2tUYXJnZXRdID0gbnVsbDtcbiAgICB0aGlzW2tUeXBlXSA9IHR5cGU7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUgeyp9XG4gICAqL1xuICBnZXQgdGFyZ2V0KCkge1xuICAgIHJldHVybiB0aGlzW2tUYXJnZXRdO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtTdHJpbmd9XG4gICAqL1xuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpc1trVHlwZV07XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEV2ZW50LnByb3RvdHlwZSwgJ3RhcmdldCcsIHsgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFdmVudC5wcm90b3R5cGUsICd0eXBlJywgeyBlbnVtZXJhYmxlOiB0cnVlIH0pO1xuXG4vKipcbiAqIENsYXNzIHJlcHJlc2VudGluZyBhIGNsb3NlIGV2ZW50LlxuICpcbiAqIEBleHRlbmRzIEV2ZW50XG4gKi9cbmNsYXNzIENsb3NlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYENsb3NlRXZlbnRgLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnRcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSBBIGRpY3Rpb25hcnkgb2JqZWN0IHRoYXQgYWxsb3dzIGZvciBzZXR0aW5nXG4gICAqICAgICBhdHRyaWJ1dGVzIHZpYSBvYmplY3QgbWVtYmVycyBvZiB0aGUgc2FtZSBuYW1lXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy5jb2RlPTBdIFRoZSBzdGF0dXMgY29kZSBleHBsYWluaW5nIHdoeSB0aGVcbiAgICogICAgIGNvbm5lY3Rpb24gd2FzIGNsb3NlZFxuICAgKiBAcGFyYW0ge1N0cmluZ30gW29wdGlvbnMucmVhc29uPScnXSBBIGh1bWFuLXJlYWRhYmxlIHN0cmluZyBleHBsYWluaW5nIHdoeVxuICAgKiAgICAgdGhlIGNvbm5lY3Rpb24gd2FzIGNsb3NlZFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLndhc0NsZWFuPWZhbHNlXSBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlXG4gICAqICAgICBjb25uZWN0aW9uIHdhcyBjbGVhbmx5IGNsb3NlZFxuICAgKi9cbiAgY29uc3RydWN0b3IodHlwZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIodHlwZSk7XG5cbiAgICB0aGlzW2tDb2RlXSA9IG9wdGlvbnMuY29kZSA9PT0gdW5kZWZpbmVkID8gMCA6IG9wdGlvbnMuY29kZTtcbiAgICB0aGlzW2tSZWFzb25dID0gb3B0aW9ucy5yZWFzb24gPT09IHVuZGVmaW5lZCA/ICcnIDogb3B0aW9ucy5yZWFzb247XG4gICAgdGhpc1trV2FzQ2xlYW5dID0gb3B0aW9ucy53YXNDbGVhbiA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBvcHRpb25zLndhc0NsZWFuO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtOdW1iZXJ9XG4gICAqL1xuICBnZXQgY29kZSgpIHtcbiAgICByZXR1cm4gdGhpc1trQ29kZV07XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge1N0cmluZ31cbiAgICovXG4gIGdldCByZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXNba1JlYXNvbl07XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge0Jvb2xlYW59XG4gICAqL1xuICBnZXQgd2FzQ2xlYW4oKSB7XG4gICAgcmV0dXJuIHRoaXNba1dhc0NsZWFuXTtcbiAgfVxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoQ2xvc2VFdmVudC5wcm90b3R5cGUsICdjb2RlJywgeyBlbnVtZXJhYmxlOiB0cnVlIH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KENsb3NlRXZlbnQucHJvdG90eXBlLCAncmVhc29uJywgeyBlbnVtZXJhYmxlOiB0cnVlIH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KENsb3NlRXZlbnQucHJvdG90eXBlLCAnd2FzQ2xlYW4nLCB7IGVudW1lcmFibGU6IHRydWUgfSk7XG5cbi8qKlxuICogQ2xhc3MgcmVwcmVzZW50aW5nIGFuIGVycm9yIGV2ZW50LlxuICpcbiAqIEBleHRlbmRzIEV2ZW50XG4gKi9cbmNsYXNzIEVycm9yRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYEVycm9yRXZlbnRgLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnRcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSBBIGRpY3Rpb25hcnkgb2JqZWN0IHRoYXQgYWxsb3dzIGZvciBzZXR0aW5nXG4gICAqICAgICBhdHRyaWJ1dGVzIHZpYSBvYmplY3QgbWVtYmVycyBvZiB0aGUgc2FtZSBuYW1lXG4gICAqIEBwYXJhbSB7Kn0gW29wdGlvbnMuZXJyb3I9bnVsbF0gVGhlIGVycm9yIHRoYXQgZ2VuZXJhdGVkIHRoaXMgZXZlbnRcbiAgICogQHBhcmFtIHtTdHJpbmd9IFtvcHRpb25zLm1lc3NhZ2U9JyddIFRoZSBlcnJvciBtZXNzYWdlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBvcHRpb25zID0ge30pIHtcbiAgICBzdXBlcih0eXBlKTtcblxuICAgIHRoaXNba0Vycm9yXSA9IG9wdGlvbnMuZXJyb3IgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBvcHRpb25zLmVycm9yO1xuICAgIHRoaXNba01lc3NhZ2VdID0gb3B0aW9ucy5tZXNzYWdlID09PSB1bmRlZmluZWQgPyAnJyA6IG9wdGlvbnMubWVzc2FnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZSB7Kn1cbiAgICovXG4gIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdGhpc1trRXJyb3JdO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtTdHJpbmd9XG4gICAqL1xuICBnZXQgbWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpc1trTWVzc2FnZV07XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yRXZlbnQucHJvdG90eXBlLCAnZXJyb3InLCB7IGVudW1lcmFibGU6IHRydWUgfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3JFdmVudC5wcm90b3R5cGUsICdtZXNzYWdlJywgeyBlbnVtZXJhYmxlOiB0cnVlIH0pO1xuXG4vKipcbiAqIENsYXNzIHJlcHJlc2VudGluZyBhIG1lc3NhZ2UgZXZlbnQuXG4gKlxuICogQGV4dGVuZHMgRXZlbnRcbiAqL1xuY2xhc3MgTWVzc2FnZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGBNZXNzYWdlRXZlbnRgLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnRcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSBBIGRpY3Rpb25hcnkgb2JqZWN0IHRoYXQgYWxsb3dzIGZvciBzZXR0aW5nXG4gICAqICAgICBhdHRyaWJ1dGVzIHZpYSBvYmplY3QgbWVtYmVycyBvZiB0aGUgc2FtZSBuYW1lXG4gICAqIEBwYXJhbSB7Kn0gW29wdGlvbnMuZGF0YT1udWxsXSBUaGUgbWVzc2FnZSBjb250ZW50XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBvcHRpb25zID0ge30pIHtcbiAgICBzdXBlcih0eXBlKTtcblxuICAgIHRoaXNba0RhdGFdID0gb3B0aW9ucy5kYXRhID09PSB1bmRlZmluZWQgPyBudWxsIDogb3B0aW9ucy5kYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlIHsqfVxuICAgKi9cbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXNba0RhdGFdO1xuICB9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShNZXNzYWdlRXZlbnQucHJvdG90eXBlLCAnZGF0YScsIHsgZW51bWVyYWJsZTogdHJ1ZSB9KTtcblxuLyoqXG4gKiBUaGlzIHByb3ZpZGVzIG1ldGhvZHMgZm9yIGVtdWxhdGluZyB0aGUgYEV2ZW50VGFyZ2V0YCBpbnRlcmZhY2UuIEl0J3Mgbm90XG4gKiBtZWFudCB0byBiZSB1c2VkIGRpcmVjdGx5LlxuICpcbiAqIEBtaXhpblxuICovXG5jb25zdCBFdmVudFRhcmdldCA9IHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGFuIGV2ZW50IGxpc3RlbmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGV2ZW50IHR5cGUgdG8gbGlzdGVuIGZvclxuICAgKiBAcGFyYW0geyhGdW5jdGlvbnxPYmplY3QpfSBoYW5kbGVyIFRoZSBsaXN0ZW5lciB0byBhZGRcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSBBbiBvcHRpb25zIG9iamVjdCBzcGVjaWZpZXMgY2hhcmFjdGVyaXN0aWNzIGFib3V0XG4gICAqICAgICB0aGUgZXZlbnQgbGlzdGVuZXJcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5vbmNlPWZhbHNlXSBBIGBCb29sZWFuYCBpbmRpY2F0aW5nIHRoYXQgdGhlXG4gICAqICAgICBsaXN0ZW5lciBzaG91bGQgYmUgaW52b2tlZCBhdCBtb3N0IG9uY2UgYWZ0ZXIgYmVpbmcgYWRkZWQuIElmIGB0cnVlYCxcbiAgICogICAgIHRoZSBsaXN0ZW5lciB3b3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJlbW92ZWQgd2hlbiBpbnZva2VkLlxuICAgKiBAcHVibGljXG4gICAqL1xuICBhZGRFdmVudExpc3RlbmVyKHR5cGUsIGhhbmRsZXIsIG9wdGlvbnMgPSB7fSkge1xuICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgdGhpcy5saXN0ZW5lcnModHlwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIW9wdGlvbnNba0Zvck9uRXZlbnRBdHRyaWJ1dGVdICYmXG4gICAgICAgIGxpc3RlbmVyW2tMaXN0ZW5lcl0gPT09IGhhbmRsZXIgJiZcbiAgICAgICAgIWxpc3RlbmVyW2tGb3JPbkV2ZW50QXR0cmlidXRlXVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgd3JhcHBlcjtcblxuICAgIGlmICh0eXBlID09PSAnbWVzc2FnZScpIHtcbiAgICAgIHdyYXBwZXIgPSBmdW5jdGlvbiBvbk1lc3NhZ2UoZGF0YSwgaXNCaW5hcnkpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTWVzc2FnZUV2ZW50KCdtZXNzYWdlJywge1xuICAgICAgICAgIGRhdGE6IGlzQmluYXJ5ID8gZGF0YSA6IGRhdGEudG9TdHJpbmcoKVxuICAgICAgICB9KTtcblxuICAgICAgICBldmVudFtrVGFyZ2V0XSA9IHRoaXM7XG4gICAgICAgIGNhbGxMaXN0ZW5lcihoYW5kbGVyLCB0aGlzLCBldmVudCk7XG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Nsb3NlJykge1xuICAgICAgd3JhcHBlciA9IGZ1bmN0aW9uIG9uQ2xvc2UoY29kZSwgbWVzc2FnZSkge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDbG9zZUV2ZW50KCdjbG9zZScsIHtcbiAgICAgICAgICBjb2RlLFxuICAgICAgICAgIHJlYXNvbjogbWVzc2FnZS50b1N0cmluZygpLFxuICAgICAgICAgIHdhc0NsZWFuOiB0aGlzLl9jbG9zZUZyYW1lUmVjZWl2ZWQgJiYgdGhpcy5fY2xvc2VGcmFtZVNlbnRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXZlbnRba1RhcmdldF0gPSB0aGlzO1xuICAgICAgICBjYWxsTGlzdGVuZXIoaGFuZGxlciwgdGhpcywgZXZlbnQpO1xuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdlcnJvcicpIHtcbiAgICAgIHdyYXBwZXIgPSBmdW5jdGlvbiBvbkVycm9yKGVycm9yKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEVycm9yRXZlbnQoJ2Vycm9yJywge1xuICAgICAgICAgIGVycm9yLFxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXZlbnRba1RhcmdldF0gPSB0aGlzO1xuICAgICAgICBjYWxsTGlzdGVuZXIoaGFuZGxlciwgdGhpcywgZXZlbnQpO1xuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvcGVuJykge1xuICAgICAgd3JhcHBlciA9IGZ1bmN0aW9uIG9uT3BlbigpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ29wZW4nKTtcblxuICAgICAgICBldmVudFtrVGFyZ2V0XSA9IHRoaXM7XG4gICAgICAgIGNhbGxMaXN0ZW5lcihoYW5kbGVyLCB0aGlzLCBldmVudCk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd3JhcHBlcltrRm9yT25FdmVudEF0dHJpYnV0ZV0gPSAhIW9wdGlvbnNba0Zvck9uRXZlbnRBdHRyaWJ1dGVdO1xuICAgIHdyYXBwZXJba0xpc3RlbmVyXSA9IGhhbmRsZXI7XG5cbiAgICBpZiAob3B0aW9ucy5vbmNlKSB7XG4gICAgICB0aGlzLm9uY2UodHlwZSwgd3JhcHBlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub24odHlwZSwgd3JhcHBlcik7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYW4gZXZlbnQgbGlzdGVuZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgZXZlbnQgdHlwZSB0byByZW1vdmVcbiAgICogQHBhcmFtIHsoRnVuY3Rpb258T2JqZWN0KX0gaGFuZGxlciBUaGUgbGlzdGVuZXIgdG8gcmVtb3ZlXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgaGFuZGxlcikge1xuICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgdGhpcy5saXN0ZW5lcnModHlwZSkpIHtcbiAgICAgIGlmIChsaXN0ZW5lcltrTGlzdGVuZXJdID09PSBoYW5kbGVyICYmICFsaXN0ZW5lcltrRm9yT25FdmVudEF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIENsb3NlRXZlbnQsXG4gIEVycm9yRXZlbnQsXG4gIEV2ZW50LFxuICBFdmVudFRhcmdldCxcbiAgTWVzc2FnZUV2ZW50XG59O1xuXG4vKipcbiAqIENhbGwgYW4gZXZlbnQgbGlzdGVuZXJcbiAqXG4gKiBAcGFyYW0geyhGdW5jdGlvbnxPYmplY3QpfSBsaXN0ZW5lciBUaGUgbGlzdGVuZXIgdG8gY2FsbFxuICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSB2YWx1ZSB0byB1c2UgYXMgYHRoaXNgYCB3aGVuIGNhbGxpbmcgdGhlIGxpc3RlbmVyXG4gKiBAcGFyYW0ge0V2ZW50fSBldmVudCBUaGUgZXZlbnQgdG8gcGFzcyB0byB0aGUgbGlzdGVuZXJcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGNhbGxMaXN0ZW5lcihsaXN0ZW5lciwgdGhpc0FyZywgZXZlbnQpIHtcbiAgaWYgKHR5cGVvZiBsaXN0ZW5lciA9PT0gJ29iamVjdCcgJiYgbGlzdGVuZXIuaGFuZGxlRXZlbnQpIHtcbiAgICBsaXN0ZW5lci5oYW5kbGVFdmVudC5jYWxsKGxpc3RlbmVyLCBldmVudCk7XG4gIH0gZWxzZSB7XG4gICAgbGlzdGVuZXIuY2FsbCh0aGlzQXJnLCBldmVudCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/event-target.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/extension.js": -/*!******************************************!*\ - !*** ./node_modules/ws/lib/extension.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst { tokenChars } = __webpack_require__(/*! ./validation */ \"./node_modules/ws/lib/validation.js\");\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n * parameter value\n * @private\n */\nfunction push(dest, name, elem) {\n if (dest[name] === undefined) dest[name] = [elem];\n else dest[name].push(elem);\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse(header) {\n const offers = Object.create(null);\n let params = Object.create(null);\n let mustUnescape = false;\n let isEscaping = false;\n let inQuotes = false;\n let extensionName;\n let paramName;\n let start = -1;\n let code = -1;\n let end = -1;\n let i = 0;\n\n for (; i < header.length; i++) {\n code = header.charCodeAt(i);\n\n if (extensionName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (\n i !== 0 &&\n (code === 0x20 /* ' ' */ || code === 0x09) /* '\\t' */\n ) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b /* ';' */ || code === 0x2c /* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n const name = header.slice(start, end);\n if (code === 0x2c) {\n push(offers, name, params);\n params = Object.create(null);\n } else {\n extensionName = name;\n }\n\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (paramName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 || code === 0x09) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n push(params, header.slice(start, end), true);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = Object.create(null);\n extensionName = undefined;\n }\n\n start = end = -1;\n } else if (code === 0x3d /* '=' */ && start !== -1 && end === -1) {\n paramName = header.slice(start, i);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else {\n //\n // The value of a quoted-string after unescaping must conform to the\n // token ABNF, so only token characters are valid.\n // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n //\n if (isEscaping) {\n if (tokenChars[code] !== 1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1) start = i;\n else if (!mustUnescape) mustUnescape = true;\n isEscaping = false;\n } else if (inQuotes) {\n if (tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x22 /* '\"' */ && start !== -1) {\n inQuotes = false;\n end = i;\n } else if (code === 0x5c /* '\\' */) {\n isEscaping = true;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n inQuotes = true;\n } else if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n if (end === -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n let value = header.slice(start, end);\n if (mustUnescape) {\n value = value.replace(/\\\\/g, '');\n mustUnescape = false;\n }\n push(params, paramName, value);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = Object.create(null);\n extensionName = undefined;\n }\n\n paramName = undefined;\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n }\n\n if (start === -1 || inQuotes || code === 0x20 || code === 0x09) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n if (end === -1) end = i;\n const token = header.slice(start, end);\n if (extensionName === undefined) {\n push(offers, token, params);\n } else {\n if (paramName === undefined) {\n push(params, token, true);\n } else if (mustUnescape) {\n push(params, paramName, token.replace(/\\\\/g, ''));\n } else {\n push(params, paramName, token);\n }\n push(offers, extensionName, params);\n }\n\n return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format(extensions) {\n return Object.keys(extensions)\n .map((extension) => {\n let configurations = extensions[extension];\n if (!Array.isArray(configurations)) configurations = [configurations];\n return configurations\n .map((params) => {\n return [extension]\n .concat(\n Object.keys(params).map((k) => {\n let values = params[k];\n if (!Array.isArray(values)) values = [values];\n return values\n .map((v) => (v === true ? k : `${k}=${v}`))\n .join('; ');\n })\n )\n .join('; ');\n })\n .join(', ');\n })\n .join(', ');\n}\n\nmodule.exports = { format, parse };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL2V4dGVuc2lvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLGFBQWEsRUFBRSxtQkFBTyxDQUFDLHlEQUFjOztBQUU3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyx5QkFBeUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsbUJBQW1CO0FBQzVCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNEJBQTRCO0FBQ3BDO0FBQ0EsaUVBQWlFLEVBQUU7QUFDbkU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSLCtEQUErRCxFQUFFO0FBQ2pFO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxpRUFBaUUsRUFBRTtBQUNuRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsUUFBUTtBQUNSLCtEQUErRCxFQUFFO0FBQ2pFO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLEVBQUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsVUFBVTtBQUNWLGlFQUFpRSxFQUFFO0FBQ25FO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsaUVBQWlFLEVBQUU7QUFDbkU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1IsK0RBQStELEVBQUU7QUFDakU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsRUFBRSxHQUFHLEVBQUU7QUFDMUQsMkJBQTJCO0FBQzNCLGVBQWU7QUFDZjtBQUNBLHFCQUFxQjtBQUNyQixTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxtQkFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9leHRlbnNpb24uanM/YTMyZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHsgdG9rZW5DaGFycyB9ID0gcmVxdWlyZSgnLi92YWxpZGF0aW9uJyk7XG5cbi8qKlxuICogQWRkcyBhbiBvZmZlciB0byB0aGUgbWFwIG9mIGV4dGVuc2lvbiBvZmZlcnMgb3IgYSBwYXJhbWV0ZXIgdG8gdGhlIG1hcCBvZlxuICogcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gZGVzdCBUaGUgbWFwIG9mIGV4dGVuc2lvbiBvZmZlcnMgb3IgcGFyYW1ldGVyc1xuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgVGhlIGV4dGVuc2lvbiBvciBwYXJhbWV0ZXIgbmFtZVxuICogQHBhcmFtIHsoT2JqZWN0fEJvb2xlYW58U3RyaW5nKX0gZWxlbSBUaGUgZXh0ZW5zaW9uIHBhcmFtZXRlcnMgb3IgdGhlXG4gKiAgICAgcGFyYW1ldGVyIHZhbHVlXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBwdXNoKGRlc3QsIG5hbWUsIGVsZW0pIHtcbiAgaWYgKGRlc3RbbmFtZV0gPT09IHVuZGVmaW5lZCkgZGVzdFtuYW1lXSA9IFtlbGVtXTtcbiAgZWxzZSBkZXN0W25hbWVdLnB1c2goZWxlbSk7XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBgU2VjLVdlYlNvY2tldC1FeHRlbnNpb25zYCBoZWFkZXIgaW50byBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGhlYWRlciBUaGUgZmllbGQgdmFsdWUgb2YgdGhlIGhlYWRlclxuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcGFyc2VkIG9iamVjdFxuICogQHB1YmxpY1xuICovXG5mdW5jdGlvbiBwYXJzZShoZWFkZXIpIHtcbiAgY29uc3Qgb2ZmZXJzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgbGV0IHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGxldCBtdXN0VW5lc2NhcGUgPSBmYWxzZTtcbiAgbGV0IGlzRXNjYXBpbmcgPSBmYWxzZTtcbiAgbGV0IGluUXVvdGVzID0gZmFsc2U7XG4gIGxldCBleHRlbnNpb25OYW1lO1xuICBsZXQgcGFyYW1OYW1lO1xuICBsZXQgc3RhcnQgPSAtMTtcbiAgbGV0IGNvZGUgPSAtMTtcbiAgbGV0IGVuZCA9IC0xO1xuICBsZXQgaSA9IDA7XG5cbiAgZm9yICg7IGkgPCBoZWFkZXIubGVuZ3RoOyBpKyspIHtcbiAgICBjb2RlID0gaGVhZGVyLmNoYXJDb2RlQXQoaSk7XG5cbiAgICBpZiAoZXh0ZW5zaW9uTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoZW5kID09PSAtMSAmJiB0b2tlbkNoYXJzW2NvZGVdID09PSAxKSB7XG4gICAgICAgIGlmIChzdGFydCA9PT0gLTEpIHN0YXJ0ID0gaTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGkgIT09IDAgJiZcbiAgICAgICAgKGNvZGUgPT09IDB4MjAgLyogJyAnICovIHx8IGNvZGUgPT09IDB4MDkpIC8qICdcXHQnICovXG4gICAgICApIHtcbiAgICAgICAgaWYgKGVuZCA9PT0gLTEgJiYgc3RhcnQgIT09IC0xKSBlbmQgPSBpO1xuICAgICAgfSBlbHNlIGlmIChjb2RlID09PSAweDNiIC8qICc7JyAqLyB8fCBjb2RlID09PSAweDJjIC8qICcsJyAqLykge1xuICAgICAgICBpZiAoc3RhcnQgPT09IC0xKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBVbmV4cGVjdGVkIGNoYXJhY3RlciBhdCBpbmRleCAke2l9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW5kID09PSAtMSkgZW5kID0gaTtcbiAgICAgICAgY29uc3QgbmFtZSA9IGhlYWRlci5zbGljZShzdGFydCwgZW5kKTtcbiAgICAgICAgaWYgKGNvZGUgPT09IDB4MmMpIHtcbiAgICAgICAgICBwdXNoKG9mZmVycywgbmFtZSwgcGFyYW1zKTtcbiAgICAgICAgICBwYXJhbXMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4dGVuc2lvbk5hbWUgPSBuYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhcnQgPSBlbmQgPSAtMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihgVW5leHBlY3RlZCBjaGFyYWN0ZXIgYXQgaW5kZXggJHtpfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocGFyYW1OYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChlbmQgPT09IC0xICYmIHRva2VuQ2hhcnNbY29kZV0gPT09IDEpIHtcbiAgICAgICAgaWYgKHN0YXJ0ID09PSAtMSkgc3RhcnQgPSBpO1xuICAgICAgfSBlbHNlIGlmIChjb2RlID09PSAweDIwIHx8IGNvZGUgPT09IDB4MDkpIHtcbiAgICAgICAgaWYgKGVuZCA9PT0gLTEgJiYgc3RhcnQgIT09IC0xKSBlbmQgPSBpO1xuICAgICAgfSBlbHNlIGlmIChjb2RlID09PSAweDNiIHx8IGNvZGUgPT09IDB4MmMpIHtcbiAgICAgICAgaWYgKHN0YXJ0ID09PSAtMSkge1xuICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihgVW5leHBlY3RlZCBjaGFyYWN0ZXIgYXQgaW5kZXggJHtpfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVuZCA9PT0gLTEpIGVuZCA9IGk7XG4gICAgICAgIHB1c2gocGFyYW1zLCBoZWFkZXIuc2xpY2Uoc3RhcnQsIGVuZCksIHRydWUpO1xuICAgICAgICBpZiAoY29kZSA9PT0gMHgyYykge1xuICAgICAgICAgIHB1c2gob2ZmZXJzLCBleHRlbnNpb25OYW1lLCBwYXJhbXMpO1xuICAgICAgICAgIHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgICAgZXh0ZW5zaW9uTmFtZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0ID0gZW5kID0gLTE7XG4gICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IDB4M2QgLyogJz0nICovICYmIHN0YXJ0ICE9PSAtMSAmJiBlbmQgPT09IC0xKSB7XG4gICAgICAgIHBhcmFtTmFtZSA9IGhlYWRlci5zbGljZShzdGFydCwgaSk7XG4gICAgICAgIHN0YXJ0ID0gZW5kID0gLTE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoYFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGF0IGluZGV4ICR7aX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy9cbiAgICAgIC8vIFRoZSB2YWx1ZSBvZiBhIHF1b3RlZC1zdHJpbmcgYWZ0ZXIgdW5lc2NhcGluZyBtdXN0IGNvbmZvcm0gdG8gdGhlXG4gICAgICAvLyB0b2tlbiBBQk5GLCBzbyBvbmx5IHRva2VuIGNoYXJhY3RlcnMgYXJlIHZhbGlkLlxuICAgICAgLy8gUmVmOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjQ1NSNzZWN0aW9uLTkuMVxuICAgICAgLy9cbiAgICAgIGlmIChpc0VzY2FwaW5nKSB7XG4gICAgICAgIGlmICh0b2tlbkNoYXJzW2NvZGVdICE9PSAxKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBVbmV4cGVjdGVkIGNoYXJhY3RlciBhdCBpbmRleCAke2l9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXJ0ID09PSAtMSkgc3RhcnQgPSBpO1xuICAgICAgICBlbHNlIGlmICghbXVzdFVuZXNjYXBlKSBtdXN0VW5lc2NhcGUgPSB0cnVlO1xuICAgICAgICBpc0VzY2FwaW5nID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGluUXVvdGVzKSB7XG4gICAgICAgIGlmICh0b2tlbkNoYXJzW2NvZGVdID09PSAxKSB7XG4gICAgICAgICAgaWYgKHN0YXJ0ID09PSAtMSkgc3RhcnQgPSBpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IDB4MjIgLyogJ1wiJyAqLyAmJiBzdGFydCAhPT0gLTEpIHtcbiAgICAgICAgICBpblF1b3RlcyA9IGZhbHNlO1xuICAgICAgICAgIGVuZCA9IGk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gMHg1YyAvKiAnXFwnICovKSB7XG4gICAgICAgICAgaXNFc2NhcGluZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBVbmV4cGVjdGVkIGNoYXJhY3RlciBhdCBpbmRleCAke2l9YCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gMHgyMiAmJiBoZWFkZXIuY2hhckNvZGVBdChpIC0gMSkgPT09IDB4M2QpIHtcbiAgICAgICAgaW5RdW90ZXMgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChlbmQgPT09IC0xICYmIHRva2VuQ2hhcnNbY29kZV0gPT09IDEpIHtcbiAgICAgICAgaWYgKHN0YXJ0ID09PSAtMSkgc3RhcnQgPSBpO1xuICAgICAgfSBlbHNlIGlmIChzdGFydCAhPT0gLTEgJiYgKGNvZGUgPT09IDB4MjAgfHwgY29kZSA9PT0gMHgwOSkpIHtcbiAgICAgICAgaWYgKGVuZCA9PT0gLTEpIGVuZCA9IGk7XG4gICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IDB4M2IgfHwgY29kZSA9PT0gMHgyYykge1xuICAgICAgICBpZiAoc3RhcnQgPT09IC0xKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBVbmV4cGVjdGVkIGNoYXJhY3RlciBhdCBpbmRleCAke2l9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW5kID09PSAtMSkgZW5kID0gaTtcbiAgICAgICAgbGV0IHZhbHVlID0gaGVhZGVyLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgICAgICBpZiAobXVzdFVuZXNjYXBlKSB7XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXFxcL2csICcnKTtcbiAgICAgICAgICBtdXN0VW5lc2NhcGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBwdXNoKHBhcmFtcywgcGFyYW1OYW1lLCB2YWx1ZSk7XG4gICAgICAgIGlmIChjb2RlID09PSAweDJjKSB7XG4gICAgICAgICAgcHVzaChvZmZlcnMsIGV4dGVuc2lvbk5hbWUsIHBhcmFtcyk7XG4gICAgICAgICAgcGFyYW1zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICBleHRlbnNpb25OYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1OYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICBzdGFydCA9IGVuZCA9IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBVbmV4cGVjdGVkIGNoYXJhY3RlciBhdCBpbmRleCAke2l9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBpblF1b3RlcyB8fCBjb2RlID09PSAweDIwIHx8IGNvZGUgPT09IDB4MDkpIHtcbiAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoJ1VuZXhwZWN0ZWQgZW5kIG9mIGlucHV0Jyk7XG4gIH1cblxuICBpZiAoZW5kID09PSAtMSkgZW5kID0gaTtcbiAgY29uc3QgdG9rZW4gPSBoZWFkZXIuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIGlmIChleHRlbnNpb25OYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICBwdXNoKG9mZmVycywgdG9rZW4sIHBhcmFtcyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHBhcmFtTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwdXNoKHBhcmFtcywgdG9rZW4sIHRydWUpO1xuICAgIH0gZWxzZSBpZiAobXVzdFVuZXNjYXBlKSB7XG4gICAgICBwdXNoKHBhcmFtcywgcGFyYW1OYW1lLCB0b2tlbi5yZXBsYWNlKC9cXFxcL2csICcnKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHB1c2gocGFyYW1zLCBwYXJhbU5hbWUsIHRva2VuKTtcbiAgICB9XG4gICAgcHVzaChvZmZlcnMsIGV4dGVuc2lvbk5hbWUsIHBhcmFtcyk7XG4gIH1cblxuICByZXR1cm4gb2ZmZXJzO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgYFNlYy1XZWJTb2NrZXQtRXh0ZW5zaW9uc2AgaGVhZGVyIGZpZWxkIHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBleHRlbnNpb25zIFRoZSBtYXAgb2YgZXh0ZW5zaW9ucyBhbmQgcGFyYW1ldGVycyB0byBmb3JtYXRcbiAqIEByZXR1cm4ge1N0cmluZ30gQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBnaXZlbiBvYmplY3RcbiAqIEBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gZm9ybWF0KGV4dGVuc2lvbnMpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGV4dGVuc2lvbnMpXG4gICAgLm1hcCgoZXh0ZW5zaW9uKSA9PiB7XG4gICAgICBsZXQgY29uZmlndXJhdGlvbnMgPSBleHRlbnNpb25zW2V4dGVuc2lvbl07XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlndXJhdGlvbnMpKSBjb25maWd1cmF0aW9ucyA9IFtjb25maWd1cmF0aW9uc107XG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbnNcbiAgICAgICAgLm1hcCgocGFyYW1zKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFtleHRlbnNpb25dXG4gICAgICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhwYXJhbXMpLm1hcCgoaykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBwYXJhbXNba107XG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykpIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgIC5tYXAoKHYpID0+ICh2ID09PSB0cnVlID8gayA6IGAke2t9PSR7dn1gKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKCc7ICcpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oJzsgJyk7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH0pXG4gICAgLmpvaW4oJywgJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBmb3JtYXQsIHBhcnNlIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/extension.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/limiter.js": -/*!****************************************!*\ - !*** ./node_modules/ws/lib/limiter.js ***! - \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst kDone = Symbol('kDone');\nconst kRun = Symbol('kRun');\n\n/**\n * A very simple job queue with adjustable concurrency. Adapted from\n * https://github.com/STRML/async-limiter\n */\nclass Limiter {\n /**\n * Creates a new `Limiter`.\n *\n * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed\n * to run concurrently\n */\n constructor(concurrency) {\n this[kDone] = () => {\n this.pending--;\n this[kRun]();\n };\n this.concurrency = concurrency || Infinity;\n this.jobs = [];\n this.pending = 0;\n }\n\n /**\n * Adds a job to the queue.\n *\n * @param {Function} job The job to run\n * @public\n */\n add(job) {\n this.jobs.push(job);\n this[kRun]();\n }\n\n /**\n * Removes a job from the queue and runs it if possible.\n *\n * @private\n */\n [kRun]() {\n if (this.pending === this.concurrency) return;\n\n if (this.jobs.length) {\n const job = this.jobs.shift();\n\n this.pending++;\n job(this[kDone]);\n }\n }\n}\n\nmodule.exports = Limiter;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL2xpbWl0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxVQUFVO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9saW1pdGVyLmpzPzgwMzAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBrRG9uZSA9IFN5bWJvbCgna0RvbmUnKTtcbmNvbnN0IGtSdW4gPSBTeW1ib2woJ2tSdW4nKTtcblxuLyoqXG4gKiBBIHZlcnkgc2ltcGxlIGpvYiBxdWV1ZSB3aXRoIGFkanVzdGFibGUgY29uY3VycmVuY3kuIEFkYXB0ZWQgZnJvbVxuICogaHR0cHM6Ly9naXRodWIuY29tL1NUUk1ML2FzeW5jLWxpbWl0ZXJcbiAqL1xuY2xhc3MgTGltaXRlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGBMaW1pdGVyYC5cbiAgICpcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtjb25jdXJyZW5jeT1JbmZpbml0eV0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGpvYnMgYWxsb3dlZFxuICAgKiAgICAgdG8gcnVuIGNvbmN1cnJlbnRseVxuICAgKi9cbiAgY29uc3RydWN0b3IoY29uY3VycmVuY3kpIHtcbiAgICB0aGlzW2tEb25lXSA9ICgpID0+IHtcbiAgICAgIHRoaXMucGVuZGluZy0tO1xuICAgICAgdGhpc1trUnVuXSgpO1xuICAgIH07XG4gICAgdGhpcy5jb25jdXJyZW5jeSA9IGNvbmN1cnJlbmN5IHx8IEluZmluaXR5O1xuICAgIHRoaXMuam9icyA9IFtdO1xuICAgIHRoaXMucGVuZGluZyA9IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGpvYiB0byB0aGUgcXVldWUuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGpvYiBUaGUgam9iIHRvIHJ1blxuICAgKiBAcHVibGljXG4gICAqL1xuICBhZGQoam9iKSB7XG4gICAgdGhpcy5qb2JzLnB1c2goam9iKTtcbiAgICB0aGlzW2tSdW5dKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGpvYiBmcm9tIHRoZSBxdWV1ZSBhbmQgcnVucyBpdCBpZiBwb3NzaWJsZS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIFtrUnVuXSgpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nID09PSB0aGlzLmNvbmN1cnJlbmN5KSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5qb2JzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgam9iID0gdGhpcy5qb2JzLnNoaWZ0KCk7XG5cbiAgICAgIHRoaXMucGVuZGluZysrO1xuICAgICAgam9iKHRoaXNba0RvbmVdKTtcbiAgICB9XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBMaW1pdGVyO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/limiter.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/permessage-deflate.js": -/*!***************************************************!*\ - !*** ./node_modules/ws/lib/permessage-deflate.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n\nconst zlib = __webpack_require__(/*! zlib */ \"./node_modules/next/dist/compiled/browserify-zlib/index.js\");\n\nconst bufferUtil = __webpack_require__(/*! ./buffer-util */ \"./node_modules/ws/lib/buffer-util.js\");\nconst Limiter = __webpack_require__(/*! ./limiter */ \"./node_modules/ws/lib/limiter.js\");\nconst { kStatusCode } = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\n\nconst FastBuffer = Buffer[Symbol.species];\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} [options] Configuration options\n * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support\n * for, or request, a custom client window size\n * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/\n * acknowledge disabling of client context takeover\n * @param {Number} [options.concurrencyLimit=10] The number of concurrent\n * calls to zlib\n * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the\n * use of a custom server window size\n * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept\n * disabling of server context takeover\n * @param {Number} [options.threshold=1024] Size (in bytes) below which\n * messages should not be compressed if context takeover is disabled\n * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on\n * deflate\n * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on\n * inflate\n * @param {Boolean} [isServer=false] Create the instance in either server or\n * client mode\n * @param {Number} [maxPayload=0] The maximum allowed message length\n */\n constructor(options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold =\n this._options.threshold !== undefined ? this._options.threshold : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency =\n this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter(concurrency);\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName() {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer() {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept(configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup() {\n if (this._inflate) {\n this._inflate.close();\n this._inflate = null;\n }\n\n if (this._deflate) {\n const callback = this._deflate[kCallback];\n\n this._deflate.close();\n this._deflate = null;\n\n if (callback) {\n callback(\n new Error(\n 'The deflate stream was closed while data was being processed'\n )\n );\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer(offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient(response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams(configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n let value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress(data, fin, callback) {\n zlibLimiter.add((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited.\n *\n * @param {(Buffer|String)} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress(data, fin, callback) {\n zlibLimiter.add((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress(data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits =\n typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw({\n ...this._options.zlibInflateOptions,\n windowBits\n });\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n this._inflate.on('error', inflateOnError);\n this._inflate.on('data', inflateOnData);\n }\n\n this._inflate[kCallback] = callback;\n\n this._inflate.write(data);\n if (fin) this._inflate.write(TRAILER);\n\n this._inflate.flush(() => {\n const err = this._inflate[kError];\n\n if (err) {\n this._inflate.close();\n this._inflate = null;\n callback(err);\n return;\n }\n\n const data = bufferUtil.concat(\n this._inflate[kBuffers],\n this._inflate[kTotalLength]\n );\n\n if (this._inflate._readableState.endEmitted) {\n this._inflate.close();\n this._inflate = null;\n } else {\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n\n if (fin && this.params[`${endpoint}_no_context_takeover`]) {\n this._inflate.reset();\n }\n }\n\n callback(null, data);\n });\n }\n\n /**\n * Compress data.\n *\n * @param {(Buffer|String)} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _compress(data, fin, callback) {\n const endpoint = this._isServer ? 'server' : 'client';\n\n if (!this._deflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits =\n typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._deflate = zlib.createDeflateRaw({\n ...this._options.zlibDeflateOptions,\n windowBits\n });\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n this._deflate.on('data', deflateOnData);\n }\n\n this._deflate[kCallback] = callback;\n\n this._deflate.write(data);\n this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n if (!this._deflate) {\n //\n // The deflate stream was closed while data was being processed.\n //\n return;\n }\n\n let data = bufferUtil.concat(\n this._deflate[kBuffers],\n this._deflate[kTotalLength]\n );\n\n if (fin) {\n data = new FastBuffer(data.buffer, data.byteOffset, data.length - 4);\n }\n\n //\n // Ensure that the callback will not be called again in\n // `PerMessageDeflate#cleanup()`.\n //\n this._deflate[kCallback] = null;\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n if (fin && this.params[`${endpoint}_no_context_takeover`]) {\n this._deflate.reset();\n }\n\n callback(null, data);\n });\n }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData(chunk) {\n this[kBuffers].push(chunk);\n this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData(chunk) {\n this[kTotalLength] += chunk.length;\n\n if (\n this[kPerMessageDeflate]._maxPayload < 1 ||\n this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n ) {\n this[kBuffers].push(chunk);\n return;\n }\n\n this[kError] = new RangeError('Max payload size exceeded');\n this[kError].code = 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH';\n this[kError][kStatusCode] = 1009;\n this.removeListener('data', inflateOnData);\n this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError(err) {\n //\n // There is no need to call `Zlib#close()` as the handle is automatically\n // closed when an error is emitted.\n //\n this[kPerMessageDeflate]._inflate = null;\n err[kStatusCode] = 1007;\n this[kCallback](err);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL3Blcm1lc3NhZ2UtZGVmbGF0ZS5qcyIsIm1hcHBpbmdzIjoiO0FBQWE7O0FBRWIsYUFBYSxtQkFBTyxDQUFDLHdFQUFNOztBQUUzQixtQkFBbUIsbUJBQU8sQ0FBQywyREFBZTtBQUMxQyxnQkFBZ0IsbUJBQU8sQ0FBQyxtREFBVztBQUNuQyxRQUFRLGNBQWMsRUFBRSxtQkFBTyxDQUFDLHVEQUFhOztBQUU3QyxtQkFBbUIsTUFBTTtBQUN6QixnQkFBZ0IsTUFBTTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixhQUFhLGtCQUFrQjtBQUMvQjtBQUNBLGFBQWEsU0FBUztBQUN0QjtBQUNBLGFBQWEsUUFBUTtBQUNyQjtBQUNBLGFBQWEsa0JBQWtCO0FBQy9CO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsY0FBYyxRQUFRO0FB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QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGdDQUFnQyxTQUFTO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9wZXJtZXNzYWdlLWRlZmxhdGUuanM/YzE3MCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHpsaWIgPSByZXF1aXJlKCd6bGliJyk7XG5cbmNvbnN0IGJ1ZmZlclV0aWwgPSByZXF1aXJlKCcuL2J1ZmZlci11dGlsJyk7XG5jb25zdCBMaW1pdGVyID0gcmVxdWlyZSgnLi9saW1pdGVyJyk7XG5jb25zdCB7IGtTdGF0dXNDb2RlIH0gPSByZXF1aXJlKCcuL2NvbnN0YW50cycpO1xuXG5jb25zdCBGYXN0QnVmZmVyID0gQnVmZmVyW1N5bWJvbC5zcGVjaWVzXTtcbmNvbnN0IFRSQUlMRVIgPSBCdWZmZXIuZnJvbShbMHgwMCwgMHgwMCwgMHhmZiwgMHhmZl0pO1xuY29uc3Qga1Blck1lc3NhZ2VEZWZsYXRlID0gU3ltYm9sKCdwZXJtZXNzYWdlLWRlZmxhdGUnKTtcbmNvbnN0IGtUb3RhbExlbmd0aCA9IFN5bWJvbCgndG90YWwtbGVuZ3RoJyk7XG5jb25zdCBrQ2FsbGJhY2sgPSBTeW1ib2woJ2NhbGxiYWNrJyk7XG5jb25zdCBrQnVmZmVycyA9IFN5bWJvbCgnYnVmZmVycycpO1xuY29uc3Qga0Vycm9yID0gU3ltYm9sKCdlcnJvcicpO1xuXG4vL1xuLy8gV2UgbGltaXQgemxpYiBjb25jdXJyZW5jeSwgd2hpY2ggcHJldmVudHMgc2V2ZXJlIG1lbW9yeSBmcmFnbWVudGF0aW9uXG4vLyBhcyBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9pc3N1ZXMvODg3MSNpc3N1ZWNvbW1lbnQtMjUwOTE1OTEzXG4vLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3dlYnNvY2tldHMvd3MvaXNzdWVzLzEyMDJcbi8vXG4vLyBJbnRlbnRpb25hbGx5IGdsb2JhbDsgaXQncyB0aGUgZ2xvYmFsIHRocmVhZCBwb29sIHRoYXQncyBhbiBpc3N1ZS5cbi8vXG5sZXQgemxpYkxpbWl0ZXI7XG5cbi8qKlxuICogcGVybWVzc2FnZS1kZWZsYXRlIGltcGxlbWVudGF0aW9uLlxuICovXG5jbGFzcyBQZXJNZXNzYWdlRGVmbGF0ZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUGVyTWVzc2FnZURlZmxhdGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gQ29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAqIEBwYXJhbSB7KEJvb2xlYW58TnVtYmVyKX0gW29wdGlvbnMuY2xpZW50TWF4V2luZG93Qml0c10gQWR2ZXJ0aXNlIHN1cHBvcnRcbiAgICogICAgIGZvciwgb3IgcmVxdWVzdCwgYSBjdXN0b20gY2xpZW50IHdpbmRvdyBzaXplXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMuY2xpZW50Tm9Db250ZXh0VGFrZW92ZXI9ZmFsc2VdIEFkdmVydGlzZS9cbiAgICogICAgIGFja25vd2xlZGdlIGRpc2FibGluZyBvZiBjbGllbnQgY29udGV4dCB0YWtlb3ZlclxuICAgKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMuY29uY3VycmVuY3lMaW1pdD0xMF0gVGhlIG51bWJlciBvZiBjb25jdXJyZW50XG4gICAqICAgICBjYWxscyB0byB6bGliXG4gICAqIEBwYXJhbSB7KEJvb2xlYW58TnVtYmVyKX0gW29wdGlvbnMuc2VydmVyTWF4V2luZG93Qml0c10gUmVxdWVzdC9jb25maXJtIHRoZVxuICAgKiAgICAgdXNlIG9mIGEgY3VzdG9tIHNlcnZlciB3aW5kb3cgc2l6ZVxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLnNlcnZlck5vQ29udGV4dFRha2VvdmVyPWZhbHNlXSBSZXF1ZXN0L2FjY2VwdFxuICAgKiAgICAgZGlzYWJsaW5nIG9mIHNlcnZlciBjb250ZXh0IHRha2VvdmVyXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy50aHJlc2hvbGQ9MTAyNF0gU2l6ZSAoaW4gYnl0ZXMpIGJlbG93IHdoaWNoXG4gICAqICAgICBtZXNzYWdlcyBzaG91bGQgbm90IGJlIGNvbXByZXNzZWQgaWYgY29udGV4dCB0YWtlb3ZlciBpcyBkaXNhYmxlZFxuICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnMuemxpYkRlZmxhdGVPcHRpb25zXSBPcHRpb25zIHRvIHBhc3MgdG8gemxpYiBvblxuICAgKiAgICAgZGVmbGF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnMuemxpYkluZmxhdGVPcHRpb25zXSBPcHRpb25zIHRvIHBhc3MgdG8gemxpYiBvblxuICAgKiAgICAgaW5mbGF0ZVxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtpc1NlcnZlcj1mYWxzZV0gQ3JlYXRlIHRoZSBpbnN0YW5jZSBpbiBlaXRoZXIgc2VydmVyIG9yXG4gICAqICAgICBjbGllbnQgbW9kZVxuICAgKiBAcGFyYW0ge051bWJlcn0gW21heFBheWxvYWQ9MF0gVGhlIG1heGltdW0gYWxsb3dlZCBtZXNzYWdlIGxlbmd0aFxuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9ucywgaXNTZXJ2ZXIsIG1heFBheWxvYWQpIHtcbiAgICB0aGlzLl9tYXhQYXlsb2FkID0gbWF4UGF5bG9hZCB8IDA7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgdGhpcy5fdGhyZXNob2xkID1cbiAgICAgIHRoaXMuX29wdGlvbnMudGhyZXNob2xkICE9PSB1bmRlZmluZWQgPyB0aGlzLl9vcHRpb25zLnRocmVzaG9sZCA6IDEwMjQ7XG4gICAgdGhpcy5faXNTZXJ2ZXIgPSAhIWlzU2VydmVyO1xuICAgIHRoaXMuX2RlZmxhdGUgPSBudWxsO1xuICAgIHRoaXMuX2luZmxhdGUgPSBudWxsO1xuXG4gICAgdGhpcy5wYXJhbXMgPSBudWxsO1xuXG4gICAgaWYgKCF6bGliTGltaXRlcikge1xuICAgICAgY29uc3QgY29uY3VycmVuY3kgPVxuICAgICAgICB0aGlzLl9vcHRpb25zLmNvbmN1cnJlbmN5TGltaXQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdGhpcy5fb3B0aW9ucy5jb25jdXJyZW5jeUxpbWl0XG4gICAgICAgICAgOiAxMDtcbiAgICAgIHpsaWJMaW1pdGVyID0gbmV3IExpbWl0ZXIoY29uY3VycmVuY3kpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZSB7U3RyaW5nfVxuICAgKi9cbiAgc3RhdGljIGdldCBleHRlbnNpb25OYW1lKCkge1xuICAgIHJldHVybiAncGVybWVzc2FnZS1kZWZsYXRlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gZXh0ZW5zaW9uIG5lZ290aWF0aW9uIG9mZmVyLlxuICAgKlxuICAgKiBAcmV0dXJuIHtPYmplY3R9IEV4dGVuc2lvbiBwYXJhbWV0ZXJzXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIG9mZmVyKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuXG4gICAgaWYgKHRoaXMuX29wdGlvbnMuc2VydmVyTm9Db250ZXh0VGFrZW92ZXIpIHtcbiAgICAgIHBhcmFtcy5zZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlciA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLl9vcHRpb25zLmNsaWVudE5vQ29udGV4dFRha2VvdmVyKSB7XG4gICAgICBwYXJhbXMuY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXIgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fb3B0aW9ucy5zZXJ2ZXJNYXhXaW5kb3dCaXRzKSB7XG4gICAgICBwYXJhbXMuc2VydmVyX21heF93aW5kb3dfYml0cyA9IHRoaXMuX29wdGlvbnMuc2VydmVyTWF4V2luZG93Qml0cztcbiAgICB9XG4gICAgaWYgKHRoaXMuX29wdGlvbnMuY2xpZW50TWF4V2luZG93Qml0cykge1xuICAgICAgcGFyYW1zLmNsaWVudF9tYXhfd2luZG93X2JpdHMgPSB0aGlzLl9vcHRpb25zLmNsaWVudE1heFdpbmRvd0JpdHM7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9vcHRpb25zLmNsaWVudE1heFdpbmRvd0JpdHMgPT0gbnVsbCkge1xuICAgICAgcGFyYW1zLmNsaWVudF9tYXhfd2luZG93X2JpdHMgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IGFuIGV4dGVuc2lvbiBuZWdvdGlhdGlvbiBvZmZlci9yZXNwb25zZS5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheX0gY29uZmlndXJhdGlvbnMgVGhlIGV4dGVuc2lvbiBuZWdvdGlhdGlvbiBvZmZlcnMvcmVwb25zZVxuICAgKiBAcmV0dXJuIHtPYmplY3R9IEFjY2VwdGVkIGNvbmZpZ3VyYXRpb25cbiAgICogQHB1YmxpY1xuICAgKi9cbiAgYWNjZXB0KGNvbmZpZ3VyYXRpb25zKSB7XG4gICAgY29uZmlndXJhdGlvbnMgPSB0aGlzLm5vcm1hbGl6ZVBhcmFtcyhjb25maWd1cmF0aW9ucyk7XG5cbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMuX2lzU2VydmVyXG4gICAgICA/IHRoaXMuYWNjZXB0QXNTZXJ2ZXIoY29uZmlndXJhdGlvbnMpXG4gICAgICA6IHRoaXMuYWNjZXB0QXNDbGllbnQoY29uZmlndXJhdGlvbnMpO1xuXG4gICAgcmV0dXJuIHRoaXMucGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbGVhc2VzIGFsbCByZXNvdXJjZXMgdXNlZCBieSB0aGUgZXh0ZW5zaW9uLlxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICBjbGVhbnVwKCkge1xuICAgIGlmICh0aGlzLl9pbmZsYXRlKSB7XG4gICAgICB0aGlzLl9pbmZsYXRlLmNsb3NlKCk7XG4gICAgICB0aGlzLl9pbmZsYXRlID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGVmbGF0ZSkge1xuICAgICAgY29uc3QgY2FsbGJhY2sgPSB0aGlzLl9kZWZsYXRlW2tDYWxsYmFja107XG5cbiAgICAgIHRoaXMuX2RlZmxhdGUuY2xvc2UoKTtcbiAgICAgIHRoaXMuX2RlZmxhdGUgPSBudWxsO1xuXG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2soXG4gICAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1RoZSBkZWZsYXRlIHN0cmVhbSB3YXMgY2xvc2VkIHdoaWxlIGRhdGEgd2FzIGJlaW5nIHByb2Nlc3NlZCdcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBBY2NlcHQgYW4gZXh0ZW5zaW9uIG5lZ290aWF0aW9uIG9mZmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5fSBvZmZlcnMgVGhlIGV4dGVuc2lvbiBuZWdvdGlhdGlvbiBvZmZlcnNcbiAgICogQHJldHVybiB7T2JqZWN0fSBBY2NlcHRlZCBjb25maWd1cmF0aW9uXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBhY2NlcHRBc1NlcnZlcihvZmZlcnMpIHtcbiAgICBjb25zdCBvcHRzID0gdGhpcy5fb3B0aW9ucztcbiAgICBjb25zdCBhY2NlcHRlZCA9IG9mZmVycy5maW5kKChwYXJhbXMpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgKG9wdHMuc2VydmVyTm9Db250ZXh0VGFrZW92ZXIgPT09IGZhbHNlICYmXG4gICAgICAgICAgcGFyYW1zLnNlcnZlcl9ub19jb250ZXh0X3Rha2VvdmVyKSB8fFxuICAgICAgICAocGFyYW1zLnNlcnZlcl9tYXhfd2luZG93X2JpdHMgJiZcbiAgICAgICAgICAob3B0cy5zZXJ2ZXJNYXhXaW5kb3dCaXRzID09PSBmYWxzZSB8fFxuICAgICAgICAgICAgKHR5cGVvZiBvcHRzLnNlcnZlck1heFdpbmRvd0JpdHMgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICAgIG9wdHMuc2VydmVyTWF4V2luZG93Qml0cyA+IHBhcmFtcy5zZXJ2ZXJfbWF4X3dpbmRvd19iaXRzKSkpIHx8XG4gICAgICAgICh0eXBlb2Ygb3B0cy5jbGllbnRNYXhXaW5kb3dCaXRzID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICFwYXJhbXMuY2xpZW50X21heF93aW5kb3dfYml0cylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuXG4gICAgaWYgKCFhY2NlcHRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb25lIG9mIHRoZSBleHRlbnNpb24gb2ZmZXJzIGNhbiBiZSBhY2NlcHRlZCcpO1xuICAgIH1cblxuICAgIGlmIChvcHRzLnNlcnZlck5vQ29udGV4dFRha2VvdmVyKSB7XG4gICAgICBhY2NlcHRlZC5zZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlciA9IHRydWU7XG4gICAgfVxuICAgIGlmIChvcHRzLmNsaWVudE5vQ29udGV4dFRha2VvdmVyKSB7XG4gICAgICBhY2NlcHRlZC5jbGllbnRfbm9fY29udGV4dF90YWtlb3ZlciA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0cy5zZXJ2ZXJNYXhXaW5kb3dCaXRzID09PSAnbnVtYmVyJykge1xuICAgICAgYWNjZXB0ZWQuc2VydmVyX21heF93aW5kb3dfYml0cyA9IG9wdHMuc2VydmVyTWF4V2luZG93Qml0cztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvcHRzLmNsaWVudE1heFdpbmRvd0JpdHMgPT09ICdudW1iZXInKSB7XG4gICAgICBhY2NlcHRlZC5jbGllbnRfbWF4X3dpbmRvd19iaXRzID0gb3B0cy5jbGllbnRNYXhXaW5kb3dCaXRzO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBhY2NlcHRlZC5jbGllbnRfbWF4X3dpbmRvd19iaXRzID09PSB0cnVlIHx8XG4gICAgICBvcHRzLmNsaWVudE1heFdpbmRvd0JpdHMgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICBkZWxldGUgYWNjZXB0ZWQuY2xpZW50X21heF93aW5kb3dfYml0cztcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjZXB0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IHRoZSBleHRlbnNpb24gbmVnb3RpYXRpb24gcmVzcG9uc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXl9IHJlc3BvbnNlIFRoZSBleHRlbnNpb24gbmVnb3RpYXRpb24gcmVzcG9uc2VcbiAgICogQHJldHVybiB7T2JqZWN0fSBBY2NlcHRlZCBjb25maWd1cmF0aW9uXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBhY2NlcHRBc0NsaWVudChyZXNwb25zZSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHJlc3BvbnNlWzBdO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5fb3B0aW9ucy5jbGllbnROb0NvbnRleHRUYWtlb3ZlciA9PT0gZmFsc2UgJiZcbiAgICAgIHBhcmFtcy5jbGllbnRfbm9fY29udGV4dF90YWtlb3ZlclxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIHBhcmFtZXRlciBcImNsaWVudF9ub19jb250ZXh0X3Rha2VvdmVyXCInKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy5jbGllbnRfbWF4X3dpbmRvd19iaXRzKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuX29wdGlvbnMuY2xpZW50TWF4V2luZG93Qml0cyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcGFyYW1zLmNsaWVudF9tYXhfd2luZG93X2JpdHMgPSB0aGlzLl9vcHRpb25zLmNsaWVudE1heFdpbmRvd0JpdHM7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuX29wdGlvbnMuY2xpZW50TWF4V2luZG93Qml0cyA9PT0gZmFsc2UgfHxcbiAgICAgICh0eXBlb2YgdGhpcy5fb3B0aW9ucy5jbGllbnRNYXhXaW5kb3dCaXRzID09PSAnbnVtYmVyJyAmJlxuICAgICAgICBwYXJhbXMuY2xpZW50X21heF93aW5kb3dfYml0cyA+IHRoaXMuX29wdGlvbnMuY2xpZW50TWF4V2luZG93Qml0cylcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1VuZXhwZWN0ZWQgb3IgaW52YWxpZCBwYXJhbWV0ZXIgXCJjbGllbnRfbWF4X3dpbmRvd19iaXRzXCInXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogTm9ybWFsaXplIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNvbmZpZ3VyYXRpb25zIFRoZSBleHRlbnNpb24gbmVnb3RpYXRpb24gb2ZmZXJzL3JlcG9uc2VcbiAgICogQHJldHVybiB7QXJyYXl9IFRoZSBvZmZlcnMvcmVzcG9uc2Ugd2l0aCBub3JtYWxpemVkIHBhcmFtZXRlcnNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIG5vcm1hbGl6ZVBhcmFtcyhjb25maWd1cmF0aW9ucykge1xuICAgIGNvbmZpZ3VyYXRpb25zLmZvckVhY2goKHBhcmFtcykgPT4ge1xuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgbGV0IHZhbHVlID0gcGFyYW1zW2tleV07XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhcmFtZXRlciBcIiR7a2V5fVwiIG11c3QgaGF2ZSBvbmx5IGEgc2luZ2xlIHZhbHVlYCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YWx1ZSA9IHZhbHVlWzBdO1xuXG4gICAgICAgIGlmIChrZXkgPT09ICdjbGllbnRfbWF4X3dpbmRvd19iaXRzJykge1xuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gK3ZhbHVlO1xuICAgICAgICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKG51bSkgfHwgbnVtIDwgOCB8fCBudW0gPiAxNSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgXCIke2tleX1cIjogJHt2YWx1ZX1gXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YWx1ZSA9IG51bTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1NlcnZlcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgYEludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciBcIiR7a2V5fVwiOiAke3ZhbHVlfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ3NlcnZlcl9tYXhfd2luZG93X2JpdHMnKSB7XG4gICAgICAgICAgY29uc3QgbnVtID0gK3ZhbHVlO1xuICAgICAgICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihudW0pIHx8IG51bSA8IDggfHwgbnVtID4gMTUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgXCIke2tleX1cIjogJHt2YWx1ZX1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZSA9IG51bTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdjbGllbnRfbm9fY29udGV4dF90YWtlb3ZlcicgfHxcbiAgICAgICAgICBrZXkgPT09ICdzZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlcidcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0cnVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyIFwiJHtrZXl9XCI6ICR7dmFsdWV9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHBhcmFtZXRlciBcIiR7a2V5fVwiYCk7XG4gICAgICAgIH1cblxuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29uZmlndXJhdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogRGVjb21wcmVzcyBkYXRhLiBDb25jdXJyZW5jeSBsaW1pdGVkLlxuICAgKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSBDb21wcmVzc2VkIGRhdGFcbiAgICogQHBhcmFtIHtCb29sZWFufSBmaW4gU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgdGhlIGxhc3QgZnJhZ21lbnRcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGJhY2tcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgZGVjb21wcmVzcyhkYXRhLCBmaW4sIGNhbGxiYWNrKSB7XG4gICAgemxpYkxpbWl0ZXIuYWRkKChkb25lKSA9PiB7XG4gICAgICB0aGlzLl9kZWNvbXByZXNzKGRhdGEsIGZpbiwgKGVyciwgcmVzdWx0KSA9PiB7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgICAgY2FsbGJhY2soZXJyLCByZXN1bHQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHJlc3MgZGF0YS4gQ29uY3VycmVuY3kgbGltaXRlZC5cbiAgICpcbiAgICogQHBhcmFtIHsoQnVmZmVyfFN0cmluZyl9IGRhdGEgRGF0YSB0byBjb21wcmVzc1xuICAgKiBAcGFyYW0ge0Jvb2xlYW59IGZpbiBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdGhpcyBpcyB0aGUgbGFzdCBmcmFnbWVudFxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsYmFja1xuICAgKiBAcHVibGljXG4gICAqL1xuICBjb21wcmVzcyhkYXRhLCBmaW4sIGNhbGxiYWNrKSB7XG4gICAgemxpYkxpbWl0ZXIuYWRkKChkb25lKSA9PiB7XG4gICAgICB0aGlzLl9jb21wcmVzcyhkYXRhLCBmaW4sIChlcnIsIHJlc3VsdCkgPT4ge1xuICAgICAgICBkb25lKCk7XG4gICAgICAgIGNhbGxiYWNrKGVyciwgcmVzdWx0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29tcHJlc3MgZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgQ29tcHJlc3NlZCBkYXRhXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gZmluIFNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIHRoZSBsYXN0IGZyYWdtZW50XG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIENhbGxiYWNrXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfZGVjb21wcmVzcyhkYXRhLCBmaW4sIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSB0aGlzLl9pc1NlcnZlciA/ICdjbGllbnQnIDogJ3NlcnZlcic7XG5cbiAgICBpZiAoIXRoaXMuX2luZmxhdGUpIHtcbiAgICAgIGNvbnN0IGtleSA9IGAke2VuZHBvaW50fV9tYXhfd2luZG93X2JpdHNgO1xuICAgICAgY29uc3Qgd2luZG93Qml0cyA9XG4gICAgICAgIHR5cGVvZiB0aGlzLnBhcmFtc1trZXldICE9PSAnbnVtYmVyJ1xuICAgICAgICAgID8gemxpYi5aX0RFRkFVTFRfV0lORE9XQklUU1xuICAgICAgICAgIDogdGhpcy5wYXJhbXNba2V5XTtcblxuICAgICAgdGhpcy5faW5mbGF0ZSA9IHpsaWIuY3JlYXRlSW5mbGF0ZVJhdyh7XG4gICAgICAgIC4uLnRoaXMuX29wdGlvbnMuemxpYkluZmxhdGVPcHRpb25zLFxuICAgICAgICB3aW5kb3dCaXRzXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX2luZmxhdGVba1Blck1lc3NhZ2VEZWZsYXRlXSA9IHRoaXM7XG4gICAgICB0aGlzLl9pbmZsYXRlW2tUb3RhbExlbmd0aF0gPSAwO1xuICAgICAgdGhpcy5faW5mbGF0ZVtrQnVmZmVyc10gPSBbXTtcbiAgICAgIHRoaXMuX2luZmxhdGUub24oJ2Vycm9yJywgaW5mbGF0ZU9uRXJyb3IpO1xuICAgICAgdGhpcy5faW5mbGF0ZS5vbignZGF0YScsIGluZmxhdGVPbkRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMuX2luZmxhdGVba0NhbGxiYWNrXSA9IGNhbGxiYWNrO1xuXG4gICAgdGhpcy5faW5mbGF0ZS53cml0ZShkYXRhKTtcbiAgICBpZiAoZmluKSB0aGlzLl9pbmZsYXRlLndyaXRlKFRSQUlMRVIpO1xuXG4gICAgdGhpcy5faW5mbGF0ZS5mbHVzaCgoKSA9PiB7XG4gICAgICBjb25zdCBlcnIgPSB0aGlzLl9pbmZsYXRlW2tFcnJvcl07XG5cbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgdGhpcy5faW5mbGF0ZS5jbG9zZSgpO1xuICAgICAgICB0aGlzLl9pbmZsYXRlID0gbnVsbDtcbiAgICAgICAgY2FsbGJhY2soZXJyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRhID0gYnVmZmVyVXRpbC5jb25jYXQoXG4gICAgICAgIHRoaXMuX2luZmxhdGVba0J1ZmZlcnNdLFxuICAgICAgICB0aGlzLl9pbmZsYXRlW2tUb3RhbExlbmd0aF1cbiAgICAgICk7XG5cbiAgICAgIGlmICh0aGlzLl9pbmZsYXRlLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQpIHtcbiAgICAgICAgdGhpcy5faW5mbGF0ZS5jbG9zZSgpO1xuICAgICAgICB0aGlzLl9pbmZsYXRlID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZmxhdGVba1RvdGFsTGVuZ3RoXSA9IDA7XG4gICAgICAgIHRoaXMuX2luZmxhdGVba0J1ZmZlcnNdID0gW107XG5cbiAgICAgICAgaWYgKGZpbiAmJiB0aGlzLnBhcmFtc1tgJHtlbmRwb2ludH1fbm9fY29udGV4dF90YWtlb3ZlcmBdKSB7XG4gICAgICAgICAgdGhpcy5faW5mbGF0ZS5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKG51bGwsIGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXByZXNzIGRhdGEuXG4gICAqXG4gICAqIEBwYXJhbSB7KEJ1ZmZlcnxTdHJpbmcpfSBkYXRhIERhdGEgdG8gY29tcHJlc3NcbiAgICogQHBhcmFtIHtCb29sZWFufSBmaW4gU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgdGhlIGxhc3QgZnJhZ21lbnRcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGJhY2tcbiAgICogQHByaXZhdGVcbiAgICovXG4gIF9jb21wcmVzcyhkYXRhLCBmaW4sIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSB0aGlzLl9pc1NlcnZlciA/ICdzZXJ2ZXInIDogJ2NsaWVudCc7XG5cbiAgICBpZiAoIXRoaXMuX2RlZmxhdGUpIHtcbiAgICAgIGNvbnN0IGtleSA9IGAke2VuZHBvaW50fV9tYXhfd2luZG93X2JpdHNgO1xuICAgICAgY29uc3Qgd2luZG93Qml0cyA9XG4gICAgICAgIHR5cGVvZiB0aGlzLnBhcmFtc1trZXldICE9PSAnbnVtYmVyJ1xuICAgICAgICAgID8gemxpYi5aX0RFRkFVTFRfV0lORE9XQklUU1xuICAgICAgICAgIDogdGhpcy5wYXJhbXNba2V5XTtcblxuICAgICAgdGhpcy5fZGVmbGF0ZSA9IHpsaWIuY3JlYXRlRGVmbGF0ZVJhdyh7XG4gICAgICAgIC4uLnRoaXMuX29wdGlvbnMuemxpYkRlZmxhdGVPcHRpb25zLFxuICAgICAgICB3aW5kb3dCaXRzXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZGVmbGF0ZVtrVG90YWxMZW5ndGhdID0gMDtcbiAgICAgIHRoaXMuX2RlZmxhdGVba0J1ZmZlcnNdID0gW107XG5cbiAgICAgIHRoaXMuX2RlZmxhdGUub24oJ2RhdGEnLCBkZWZsYXRlT25EYXRhKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWZsYXRlW2tDYWxsYmFja10gPSBjYWxsYmFjaztcblxuICAgIHRoaXMuX2RlZmxhdGUud3JpdGUoZGF0YSk7XG4gICAgdGhpcy5fZGVmbGF0ZS5mbHVzaCh6bGliLlpfU1lOQ19GTFVTSCwgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9kZWZsYXRlKSB7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIFRoZSBkZWZsYXRlIHN0cmVhbSB3YXMgY2xvc2VkIHdoaWxlIGRhdGEgd2FzIGJlaW5nIHByb2Nlc3NlZC5cbiAgICAgICAgLy9cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgZGF0YSA9IGJ1ZmZlclV0aWwuY29uY2F0KFxuICAgICAgICB0aGlzLl9kZWZsYXRlW2tCdWZmZXJzXSxcbiAgICAgICAgdGhpcy5fZGVmbGF0ZVtrVG90YWxMZW5ndGhdXG4gICAgICApO1xuXG4gICAgICBpZiAoZmluKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgRmFzdEJ1ZmZlcihkYXRhLmJ1ZmZlciwgZGF0YS5ieXRlT2Zmc2V0LCBkYXRhLmxlbmd0aCAtIDQpO1xuICAgICAgfVxuXG4gICAgICAvL1xuICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNhbGxiYWNrIHdpbGwgbm90IGJlIGNhbGxlZCBhZ2FpbiBpblxuICAgICAgLy8gYFBlck1lc3NhZ2VEZWZsYXRlI2NsZWFudXAoKWAuXG4gICAgICAvL1xuICAgICAgdGhpcy5fZGVmbGF0ZVtrQ2FsbGJhY2tdID0gbnVsbDtcblxuICAgICAgdGhpcy5fZGVmbGF0ZVtrVG90YWxMZW5ndGhdID0gMDtcbiAgICAgIHRoaXMuX2RlZmxhdGVba0J1ZmZlcnNdID0gW107XG5cbiAgICAgIGlmIChmaW4gJiYgdGhpcy5wYXJhbXNbYCR7ZW5kcG9pbnR9X25vX2NvbnRleHRfdGFrZW92ZXJgXSkge1xuICAgICAgICB0aGlzLl9kZWZsYXRlLnJlc2V0KCk7XG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKG51bGwsIGRhdGEpO1xuICAgIH0pO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gUGVyTWVzc2FnZURlZmxhdGU7XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgemxpYi5EZWZsYXRlUmF3YCBzdHJlYW0gYCdkYXRhJ2AgZXZlbnQuXG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IGNodW5rIEEgY2h1bmsgb2YgZGF0YVxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZGVmbGF0ZU9uRGF0YShjaHVuaykge1xuICB0aGlzW2tCdWZmZXJzXS5wdXNoKGNodW5rKTtcbiAgdGhpc1trVG90YWxMZW5ndGhdICs9IGNodW5rLmxlbmd0aDtcbn1cblxuLyoqXG4gKiBUaGUgbGlzdGVuZXIgb2YgdGhlIGB6bGliLkluZmxhdGVSYXdgIHN0cmVhbSBgJ2RhdGEnYCBldmVudC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gY2h1bmsgQSBjaHVuayBvZiBkYXRhXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBpbmZsYXRlT25EYXRhKGNodW5rKSB7XG4gIHRoaXNba1RvdGFsTGVuZ3RoXSArPSBjaHVuay5sZW5ndGg7XG5cbiAgaWYgKFxuICAgIHRoaXNba1Blck1lc3NhZ2VEZWZsYXRlXS5fbWF4UGF5bG9hZCA8IDEgfHxcbiAgICB0aGlzW2tUb3RhbExlbmd0aF0gPD0gdGhpc1trUGVyTWVzc2FnZURlZmxhdGVdLl9tYXhQYXlsb2FkXG4gICkge1xuICAgIHRoaXNba0J1ZmZlcnNdLnB1c2goY2h1bmspO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRoaXNba0Vycm9yXSA9IG5ldyBSYW5nZUVycm9yKCdNYXggcGF5bG9hZCBzaXplIGV4Y2VlZGVkJyk7XG4gIHRoaXNba0Vycm9yXS5jb2RlID0gJ1dTX0VSUl9VTlNVUFBPUlRFRF9NRVNTQUdFX0xFTkdUSCc7XG4gIHRoaXNba0Vycm9yXVtrU3RhdHVzQ29kZV0gPSAxMDA5O1xuICB0aGlzLnJlbW92ZUxpc3RlbmVyKCdkYXRhJywgaW5mbGF0ZU9uRGF0YSk7XG4gIHRoaXMucmVzZXQoKTtcbn1cblxuLyoqXG4gKiBUaGUgbGlzdGVuZXIgb2YgdGhlIGB6bGliLkluZmxhdGVSYXdgIHN0cmVhbSBgJ2Vycm9yJ2AgZXZlbnQuXG4gKlxuICogQHBhcmFtIHtFcnJvcn0gZXJyIFRoZSBlbWl0dGVkIGVycm9yXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBpbmZsYXRlT25FcnJvcihlcnIpIHtcbiAgLy9cbiAgLy8gVGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIGBabGliI2Nsb3NlKClgIGFzIHRoZSBoYW5kbGUgaXMgYXV0b21hdGljYWxseVxuICAvLyBjbG9zZWQgd2hlbiBhbiBlcnJvciBpcyBlbWl0dGVkLlxuICAvL1xuICB0aGlzW2tQZXJNZXNzYWdlRGVmbGF0ZV0uX2luZmxhdGUgPSBudWxsO1xuICBlcnJba1N0YXR1c0NvZGVdID0gMTAwNztcbiAgdGhpc1trQ2FsbGJhY2tdKGVycik7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/permessage-deflate.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/receiver.js": -/*!*****************************************!*\ - !*** ./node_modules/ws/lib/receiver.js ***! - \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\n\nconst { Writable } = __webpack_require__(/*! stream */ \"./node_modules/next/dist/compiled/stream-browserify/index.js\");\n\nconst PerMessageDeflate = __webpack_require__(/*! ./permessage-deflate */ \"./node_modules/ws/lib/permessage-deflate.js\");\nconst {\n BINARY_TYPES,\n EMPTY_BUFFER,\n kStatusCode,\n kWebSocket\n} = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\nconst { concat, toArrayBuffer, unmask } = __webpack_require__(/*! ./buffer-util */ \"./node_modules/ws/lib/buffer-util.js\");\nconst { isValidStatusCode, isValidUTF8 } = __webpack_require__(/*! ./validation */ \"./node_modules/ws/lib/validation.js\");\n\nconst FastBuffer = Buffer[Symbol.species];\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends Writable\n */\nclass Receiver extends Writable {\n /**\n * Creates a Receiver instance.\n *\n * @param {Object} [options] Options object\n * @param {String} [options.binaryType=nodebuffer] The type for binary data\n * @param {Object} [options.extensions] An object containing the negotiated\n * extensions\n * @param {Boolean} [options.isServer=false] Specifies whether to operate in\n * client or server mode\n * @param {Number} [options.maxPayload=0] The maximum allowed message length\n * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n * not to skip UTF-8 validation for text and close messages\n */\n constructor(options = {}) {\n super();\n\n this._binaryType = options.binaryType || BINARY_TYPES[0];\n this._extensions = options.extensions || {};\n this._isServer = !!options.isServer;\n this._maxPayload = options.maxPayload | 0;\n this._skipUTF8Validation = !!options.skipUTF8Validation;\n this[kWebSocket] = undefined;\n\n this._bufferedBytes = 0;\n this._buffers = [];\n\n this._compressed = false;\n this._payloadLength = 0;\n this._mask = undefined;\n this._fragmented = 0;\n this._masked = false;\n this._fin = false;\n this._opcode = 0;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragments = [];\n\n this._state = GET_INFO;\n this._loop = false;\n }\n\n /**\n * Implements `Writable.prototype._write()`.\n *\n * @param {Buffer} chunk The chunk of data to write\n * @param {String} encoding The character encoding of `chunk`\n * @param {Function} cb Callback\n * @private\n */\n _write(chunk, encoding, cb) {\n if (this._opcode === 0x08 && this._state == GET_INFO) return cb();\n\n this._bufferedBytes += chunk.length;\n this._buffers.push(chunk);\n this.startLoop(cb);\n }\n\n /**\n * Consumes `n` bytes from the buffered data.\n *\n * @param {Number} n The number of bytes to consume\n * @return {Buffer} The consumed bytes\n * @private\n */\n consume(n) {\n this._bufferedBytes -= n;\n\n if (n === this._buffers[0].length) return this._buffers.shift();\n\n if (n < this._buffers[0].length) {\n const buf = this._buffers[0];\n this._buffers[0] = new FastBuffer(\n buf.buffer,\n buf.byteOffset + n,\n buf.length - n\n );\n\n return new FastBuffer(buf.buffer, buf.byteOffset, n);\n }\n\n const dst = Buffer.allocUnsafe(n);\n\n do {\n const buf = this._buffers[0];\n const offset = dst.length - n;\n\n if (n >= buf.length) {\n dst.set(this._buffers.shift(), offset);\n } else {\n dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);\n this._buffers[0] = new FastBuffer(\n buf.buffer,\n buf.byteOffset + n,\n buf.length - n\n );\n }\n\n n -= buf.length;\n } while (n > 0);\n\n return dst;\n }\n\n /**\n * Starts the parsing loop.\n *\n * @param {Function} cb Callback\n * @private\n */\n startLoop(cb) {\n let err;\n this._loop = true;\n\n do {\n switch (this._state) {\n case GET_INFO:\n err = this.getInfo();\n break;\n case GET_PAYLOAD_LENGTH_16:\n err = this.getPayloadLength16();\n break;\n case GET_PAYLOAD_LENGTH_64:\n err = this.getPayloadLength64();\n break;\n case GET_MASK:\n this.getMask();\n break;\n case GET_DATA:\n err = this.getData(cb);\n break;\n default:\n // `INFLATING`\n this._loop = false;\n return;\n }\n } while (this._loop);\n\n cb(err);\n }\n\n /**\n * Reads the first two bytes of a frame.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getInfo() {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(2);\n\n if ((buf[0] & 0x30) !== 0x00) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV2 and RSV3 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_2_3'\n );\n }\n\n const compressed = (buf[0] & 0x40) === 0x40;\n\n if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV1 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_1'\n );\n }\n\n this._fin = (buf[0] & 0x80) === 0x80;\n this._opcode = buf[0] & 0x0f;\n this._payloadLength = buf[1] & 0x7f;\n\n if (this._opcode === 0x00) {\n if (compressed) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV1 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_1'\n );\n }\n\n if (!this._fragmented) {\n this._loop = false;\n return error(\n RangeError,\n 'invalid opcode 0',\n true,\n 1002,\n 'WS_ERR_INVALID_OPCODE'\n );\n }\n\n this._opcode = this._fragmented;\n } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n if (this._fragmented) {\n this._loop = false;\n return error(\n RangeError,\n `invalid opcode ${this._opcode}`,\n true,\n 1002,\n 'WS_ERR_INVALID_OPCODE'\n );\n }\n\n this._compressed = compressed;\n } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n if (!this._fin) {\n this._loop = false;\n return error(\n RangeError,\n 'FIN must be set',\n true,\n 1002,\n 'WS_ERR_EXPECTED_FIN'\n );\n }\n\n if (compressed) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV1 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_1'\n );\n }\n\n if (\n this._payloadLength > 0x7d ||\n (this._opcode === 0x08 && this._payloadLength === 1)\n ) {\n this._loop = false;\n return error(\n RangeError,\n `invalid payload length ${this._payloadLength}`,\n true,\n 1002,\n 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH'\n );\n }\n } else {\n this._loop = false;\n return error(\n RangeError,\n `invalid opcode ${this._opcode}`,\n true,\n 1002,\n 'WS_ERR_INVALID_OPCODE'\n );\n }\n\n if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n this._masked = (buf[1] & 0x80) === 0x80;\n\n if (this._isServer) {\n if (!this._masked) {\n this._loop = false;\n return error(\n RangeError,\n 'MASK must be set',\n true,\n 1002,\n 'WS_ERR_EXPECTED_MASK'\n );\n }\n } else if (this._masked) {\n this._loop = false;\n return error(\n RangeError,\n 'MASK must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_MASK'\n );\n }\n\n if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n else return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+16).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength16() {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n this._payloadLength = this.consume(2).readUInt16BE(0);\n return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+64).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength64() {\n if (this._bufferedBytes < 8) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(8);\n const num = buf.readUInt32BE(0);\n\n //\n // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n // if payload length is greater than this number.\n //\n if (num > Math.pow(2, 53 - 32) - 1) {\n this._loop = false;\n return error(\n RangeError,\n 'Unsupported WebSocket frame: payload length > 2^53 - 1',\n false,\n 1009,\n 'WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH'\n );\n }\n\n this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n return this.haveLength();\n }\n\n /**\n * Payload length has been read.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n haveLength() {\n if (this._payloadLength && this._opcode < 0x08) {\n this._totalPayloadLength += this._payloadLength;\n if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n this._loop = false;\n return error(\n RangeError,\n 'Max payload size exceeded',\n false,\n 1009,\n 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'\n );\n }\n }\n\n if (this._masked) this._state = GET_MASK;\n else this._state = GET_DATA;\n }\n\n /**\n * Reads mask bytes.\n *\n * @private\n */\n getMask() {\n if (this._bufferedBytes < 4) {\n this._loop = false;\n return;\n }\n\n this._mask = this.consume(4);\n this._state = GET_DATA;\n }\n\n /**\n * Reads data bytes.\n *\n * @param {Function} cb Callback\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n getData(cb) {\n let data = EMPTY_BUFFER;\n\n if (this._payloadLength) {\n if (this._bufferedBytes < this._payloadLength) {\n this._loop = false;\n return;\n }\n\n data = this.consume(this._payloadLength);\n\n if (\n this._masked &&\n (this._mask[0] | this._mask[1] | this._mask[2] | this._mask[3]) !== 0\n ) {\n unmask(data, this._mask);\n }\n }\n\n if (this._opcode > 0x07) return this.controlMessage(data);\n\n if (this._compressed) {\n this._state = INFLATING;\n this.decompress(data, cb);\n return;\n }\n\n if (data.length) {\n //\n // This message is not compressed so its length is the sum of the payload\n // length of all fragments.\n //\n this._messageLength = this._totalPayloadLength;\n this._fragments.push(data);\n }\n\n return this.dataMessage();\n }\n\n /**\n * Decompresses data.\n *\n * @param {Buffer} data Compressed data\n * @param {Function} cb Callback\n * @private\n */\n decompress(data, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n if (err) return cb(err);\n\n if (buf.length) {\n this._messageLength += buf.length;\n if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n return cb(\n error(\n RangeError,\n 'Max payload size exceeded',\n false,\n 1009,\n 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'\n )\n );\n }\n\n this._fragments.push(buf);\n }\n\n const er = this.dataMessage();\n if (er) return cb(er);\n\n this.startLoop(cb);\n });\n }\n\n /**\n * Handles a data message.\n *\n * @return {(Error|undefined)} A possible error\n * @private\n */\n dataMessage() {\n if (this._fin) {\n const messageLength = this._messageLength;\n const fragments = this._fragments;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragmented = 0;\n this._fragments = [];\n\n if (this._opcode === 2) {\n let data;\n\n if (this._binaryType === 'nodebuffer') {\n data = concat(fragments, messageLength);\n } else if (this._binaryType === 'arraybuffer') {\n data = toArrayBuffer(concat(fragments, messageLength));\n } else {\n data = fragments;\n }\n\n this.emit('message', data, true);\n } else {\n const buf = concat(fragments, messageLength);\n\n if (!this._skipUTF8Validation && !isValidUTF8(buf)) {\n this._loop = false;\n return error(\n Error,\n 'invalid UTF-8 sequence',\n true,\n 1007,\n 'WS_ERR_INVALID_UTF8'\n );\n }\n\n this.emit('message', buf, false);\n }\n }\n\n this._state = GET_INFO;\n }\n\n /**\n * Handles a control message.\n *\n * @param {Buffer} data Data to handle\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n controlMessage(data) {\n if (this._opcode === 0x08) {\n this._loop = false;\n\n if (data.length === 0) {\n this.emit('conclude', 1005, EMPTY_BUFFER);\n this.end();\n } else {\n const code = data.readUInt16BE(0);\n\n if (!isValidStatusCode(code)) {\n return error(\n RangeError,\n `invalid status code ${code}`,\n true,\n 1002,\n 'WS_ERR_INVALID_CLOSE_CODE'\n );\n }\n\n const buf = new FastBuffer(\n data.buffer,\n data.byteOffset + 2,\n data.length - 2\n );\n\n if (!this._skipUTF8Validation && !isValidUTF8(buf)) {\n return error(\n Error,\n 'invalid UTF-8 sequence',\n true,\n 1007,\n 'WS_ERR_INVALID_UTF8'\n );\n }\n\n this.emit('conclude', code, buf);\n this.end();\n }\n } else if (this._opcode === 0x09) {\n this.emit('ping', data);\n } else {\n this.emit('pong', data);\n }\n\n this._state = GET_INFO;\n }\n}\n\nmodule.exports = Receiver;\n\n/**\n * Builds an error object.\n *\n * @param {function(new:Error|RangeError)} ErrorCtor The error constructor\n * @param {String} message The error message\n * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n * `message`\n * @param {Number} statusCode The status code\n * @param {String} errorCode The exposed error code\n * @return {(Error|RangeError)} The error\n * @private\n */\nfunction error(ErrorCtor, message, prefix, statusCode, errorCode) {\n const err = new ErrorCtor(\n prefix ? `Invalid WebSocket frame: ${message}` : message\n );\n\n Error.captureStackTrace(err, error);\n err.code = errorCode;\n err[kStatusCode] = statusCode;\n return err;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHdCQUF3QjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyx3QkFBd0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHdCQUF3QjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsVUFBVTtBQUN2QixjQUFjLDhCQUE4QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixhQUFhLFVBQVU7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxtQkFBbUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixjQUFjLDhCQUE4QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsS0FBSztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdDQUFnQztBQUMzQyxXQUFXLFFBQVE7QUFDbkIsV0FBVyxTQUFTO0FBQ3BCO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixZQUFZLG9CQUFvQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxRQUFRO0FBQ2pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9yZWNlaXZlci5qcz8wOTZkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgeyBXcml0YWJsZSB9ID0gcmVxdWlyZSgnc3RyZWFtJyk7XG5cbmNvbnN0IFBlck1lc3NhZ2VEZWZsYXRlID0gcmVxdWlyZSgnLi9wZXJtZXNzYWdlLWRlZmxhdGUnKTtcbmNvbnN0IHtcbiAgQklOQVJZX1RZUEVTLFxuICBFTVBUWV9CVUZGRVIsXG4gIGtTdGF0dXNDb2RlLFxuICBrV2ViU29ja2V0XG59ID0gcmVxdWlyZSgnLi9jb25zdGFudHMnKTtcbmNvbnN0IHsgY29uY2F0LCB0b0FycmF5QnVmZmVyLCB1bm1hc2sgfSA9IHJlcXVpcmUoJy4vYnVmZmVyLXV0aWwnKTtcbmNvbnN0IHsgaXNWYWxpZFN0YXR1c0NvZGUsIGlzVmFsaWRVVEY4IH0gPSByZXF1aXJlKCcuL3ZhbGlkYXRpb24nKTtcblxuY29uc3QgRmFzdEJ1ZmZlciA9IEJ1ZmZlcltTeW1ib2wuc3BlY2llc107XG5jb25zdCBHRVRfSU5GTyA9IDA7XG5jb25zdCBHRVRfUEFZTE9BRF9MRU5HVEhfMTYgPSAxO1xuY29uc3QgR0VUX1BBWUxPQURfTEVOR1RIXzY0ID0gMjtcbmNvbnN0IEdFVF9NQVNLID0gMztcbmNvbnN0IEdFVF9EQVRBID0gNDtcbmNvbnN0IElORkxBVElORyA9IDU7XG5cbi8qKlxuICogSHlCaSBSZWNlaXZlciBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAZXh0ZW5kcyBXcml0YWJsZVxuICovXG5jbGFzcyBSZWNlaXZlciBleHRlbmRzIFdyaXRhYmxlIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBSZWNlaXZlciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSBPcHRpb25zIG9iamVjdFxuICAgKiBAcGFyYW0ge1N0cmluZ30gW29wdGlvbnMuYmluYXJ5VHlwZT1ub2RlYnVmZmVyXSBUaGUgdHlwZSBmb3IgYmluYXJ5IGRhdGFcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLmV4dGVuc2lvbnNdIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBuZWdvdGlhdGVkXG4gICAqICAgICBleHRlbnNpb25zXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMuaXNTZXJ2ZXI9ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIHRvIG9wZXJhdGUgaW5cbiAgICogICAgIGNsaWVudCBvciBzZXJ2ZXIgbW9kZVxuICAgKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMubWF4UGF5bG9hZD0wXSBUaGUgbWF4aW11bSBhbGxvd2VkIG1lc3NhZ2UgbGVuZ3RoXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMuc2tpcFVURjhWYWxpZGF0aW9uPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvclxuICAgKiAgICAgbm90IHRvIHNraXAgVVRGLTggdmFsaWRhdGlvbiBmb3IgdGV4dCBhbmQgY2xvc2UgbWVzc2FnZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLl9iaW5hcnlUeXBlID0gb3B0aW9ucy5iaW5hcnlUeXBlIHx8IEJJTkFSWV9UWVBFU1swXTtcbiAgICB0aGlzLl9leHRlbnNpb25zID0gb3B0aW9ucy5leHRlbnNpb25zIHx8IHt9O1xuICAgIHRoaXMuX2lzU2VydmVyID0gISFvcHRpb25zLmlzU2VydmVyO1xuICAgIHRoaXMuX21heFBheWxvYWQgPSBvcHRpb25zLm1heFBheWxvYWQgfCAwO1xuICAgIHRoaXMuX3NraXBVVEY4VmFsaWRhdGlvbiA9ICEhb3B0aW9ucy5za2lwVVRGOFZhbGlkYXRpb247XG4gICAgdGhpc1trV2ViU29ja2V0XSA9IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuX2J1ZmZlcmVkQnl0ZXMgPSAwO1xuICAgIHRoaXMuX2J1ZmZlcnMgPSBbXTtcblxuICAgIHRoaXMuX2NvbXByZXNzZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9wYXlsb2FkTGVuZ3RoID0gMDtcbiAgICB0aGlzLl9tYXNrID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2ZyYWdtZW50ZWQgPSAwO1xuICAgIHRoaXMuX21hc2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuX2ZpbiA9IGZhbHNlO1xuICAgIHRoaXMuX29wY29kZSA9IDA7XG5cbiAgICB0aGlzLl90b3RhbFBheWxvYWRMZW5ndGggPSAwO1xuICAgIHRoaXMuX21lc3NhZ2VMZW5ndGggPSAwO1xuICAgIHRoaXMuX2ZyYWdtZW50cyA9IFtdO1xuXG4gICAgdGhpcy5fc3RhdGUgPSBHRVRfSU5GTztcbiAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50cyBgV3JpdGFibGUucHJvdG90eXBlLl93cml0ZSgpYC5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGNodW5rIFRoZSBjaHVuayBvZiBkYXRhIHRvIHdyaXRlXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBlbmNvZGluZyBUaGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIGBjaHVua2BcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2IgQ2FsbGJhY2tcbiAgICogQHByaXZhdGVcbiAgICovXG4gIF93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gICAgaWYgKHRoaXMuX29wY29kZSA9PT0gMHgwOCAmJiB0aGlzLl9zdGF0ZSA9PSBHRVRfSU5GTykgcmV0dXJuIGNiKCk7XG5cbiAgICB0aGlzLl9idWZmZXJlZEJ5dGVzICs9IGNodW5rLmxlbmd0aDtcbiAgICB0aGlzLl9idWZmZXJzLnB1c2goY2h1bmspO1xuICAgIHRoaXMuc3RhcnRMb29wKGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdW1lcyBgbmAgYnl0ZXMgZnJvbSB0aGUgYnVmZmVyZWQgZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHtOdW1iZXJ9IG4gVGhlIG51bWJlciBvZiBieXRlcyB0byBjb25zdW1lXG4gICAqIEByZXR1cm4ge0J1ZmZlcn0gVGhlIGNvbnN1bWVkIGJ5dGVzXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdW1lKG4pIHtcbiAgICB0aGlzLl9idWZmZXJlZEJ5dGVzIC09IG47XG5cbiAgICBpZiAobiA9PT0gdGhpcy5fYnVmZmVyc1swXS5sZW5ndGgpIHJldHVybiB0aGlzLl9idWZmZXJzLnNoaWZ0KCk7XG5cbiAgICBpZiAobiA8IHRoaXMuX2J1ZmZlcnNbMF0ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBidWYgPSB0aGlzLl9idWZmZXJzWzBdO1xuICAgICAgdGhpcy5fYnVmZmVyc1swXSA9IG5ldyBGYXN0QnVmZmVyKFxuICAgICAgICBidWYuYnVmZmVyLFxuICAgICAgICBidWYuYnl0ZU9mZnNldCArIG4sXG4gICAgICAgIGJ1Zi5sZW5ndGggLSBuXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gbmV3IEZhc3RCdWZmZXIoYnVmLmJ1ZmZlciwgYnVmLmJ5dGVPZmZzZXQsIG4pO1xuICAgIH1cblxuICAgIGNvbnN0IGRzdCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuKTtcblxuICAgIGRvIHtcbiAgICAgIGNvbnN0IGJ1ZiA9IHRoaXMuX2J1ZmZlcnNbMF07XG4gICAgICBjb25zdCBvZmZzZXQgPSBkc3QubGVuZ3RoIC0gbjtcblxuICAgICAgaWYgKG4gPj0gYnVmLmxlbmd0aCkge1xuICAgICAgICBkc3Quc2V0KHRoaXMuX2J1ZmZlcnMuc2hpZnQoKSwgb2Zmc2V0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRzdC5zZXQobmV3IFVpbnQ4QXJyYXkoYnVmLmJ1ZmZlciwgYnVmLmJ5dGVPZmZzZXQsIG4pLCBvZmZzZXQpO1xuICAgICAgICB0aGlzLl9idWZmZXJzWzBdID0gbmV3IEZhc3RCdWZmZXIoXG4gICAgICAgICAgYnVmLmJ1ZmZlcixcbiAgICAgICAgICBidWYuYnl0ZU9mZnNldCArIG4sXG4gICAgICAgICAgYnVmLmxlbmd0aCAtIG5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgbiAtPSBidWYubGVuZ3RoO1xuICAgIH0gd2hpbGUgKG4gPiAwKTtcblxuICAgIHJldHVybiBkc3Q7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBwYXJzaW5nIGxvb3AuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNiIENhbGxiYWNrXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzdGFydExvb3AoY2IpIHtcbiAgICBsZXQgZXJyO1xuICAgIHRoaXMuX2xvb3AgPSB0cnVlO1xuXG4gICAgZG8ge1xuICAgICAgc3dpdGNoICh0aGlzLl9zdGF0ZSkge1xuICAgICAgICBjYXNlIEdFVF9JTkZPOlxuICAgICAgICAgIGVyciA9IHRoaXMuZ2V0SW5mbygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEdFVF9QQVlMT0FEX0xFTkdUSF8xNjpcbiAgICAgICAgICBlcnIgPSB0aGlzLmdldFBheWxvYWRMZW5ndGgxNigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEdFVF9QQVlMT0FEX0xFTkdUSF82NDpcbiAgICAgICAgICBlcnIgPSB0aGlzLmdldFBheWxvYWRMZW5ndGg2NCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEdFVF9NQVNLOlxuICAgICAgICAgIHRoaXMuZ2V0TWFzaygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEdFVF9EQVRBOlxuICAgICAgICAgIGVyciA9IHRoaXMuZ2V0RGF0YShjYik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gYElORkxBVElOR2BcbiAgICAgICAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKHRoaXMuX2xvb3ApO1xuXG4gICAgY2IoZXJyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyB0aGUgZmlyc3QgdHdvIGJ5dGVzIG9mIGEgZnJhbWUuXG4gICAqXG4gICAqIEByZXR1cm4geyhSYW5nZUVycm9yfHVuZGVmaW5lZCl9IEEgcG9zc2libGUgZXJyb3JcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGdldEluZm8oKSB7XG4gICAgaWYgKHRoaXMuX2J1ZmZlcmVkQnl0ZXMgPCAyKSB7XG4gICAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmID0gdGhpcy5jb25zdW1lKDIpO1xuXG4gICAgaWYgKChidWZbMF0gJiAweDMwKSAhPT0gMHgwMCkge1xuICAgICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICBSYW5nZUVycm9yLFxuICAgICAgICAnUlNWMiBhbmQgUlNWMyBtdXN0IGJlIGNsZWFyJyxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgMTAwMixcbiAgICAgICAgJ1dTX0VSUl9VTkVYUEVDVEVEX1JTVl8yXzMnXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXByZXNzZWQgPSAoYnVmWzBdICYgMHg0MCkgPT09IDB4NDA7XG5cbiAgICBpZiAoY29tcHJlc3NlZCAmJiAhdGhpcy5fZXh0ZW5zaW9uc1tQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXSkge1xuICAgICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICBSYW5nZUVycm9yLFxuICAgICAgICAnUlNWMSBtdXN0IGJlIGNsZWFyJyxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgMTAwMixcbiAgICAgICAgJ1dTX0VSUl9VTkVYUEVDVEVEX1JTVl8xJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9maW4gPSAoYnVmWzBdICYgMHg4MCkgPT09IDB4ODA7XG4gICAgdGhpcy5fb3Bjb2RlID0gYnVmWzBdICYgMHgwZjtcbiAgICB0aGlzLl9wYXlsb2FkTGVuZ3RoID0gYnVmWzFdICYgMHg3ZjtcblxuICAgIGlmICh0aGlzLl9vcGNvZGUgPT09IDB4MDApIHtcbiAgICAgIGlmIChjb21wcmVzc2VkKSB7XG4gICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgICAgJ1JTVjEgbXVzdCBiZSBjbGVhcicsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAxMDAyLFxuICAgICAgICAgICdXU19FUlJfVU5FWFBFQ1RFRF9SU1ZfMSdcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLl9mcmFnbWVudGVkKSB7XG4gICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgICAgJ2ludmFsaWQgb3Bjb2RlIDAnLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgMTAwMixcbiAgICAgICAgICAnV1NfRVJSX0lOVkFMSURfT1BDT0RFJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9vcGNvZGUgPSB0aGlzLl9mcmFnbWVudGVkO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fb3Bjb2RlID09PSAweDAxIHx8IHRoaXMuX29wY29kZSA9PT0gMHgwMikge1xuICAgICAgaWYgKHRoaXMuX2ZyYWdtZW50ZWQpIHtcbiAgICAgICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgUmFuZ2VFcnJvcixcbiAgICAgICAgICBgaW52YWxpZCBvcGNvZGUgJHt0aGlzLl9vcGNvZGV9YCxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIDEwMDIsXG4gICAgICAgICAgJ1dTX0VSUl9JTlZBTElEX09QQ09ERSdcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fY29tcHJlc3NlZCA9IGNvbXByZXNzZWQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9vcGNvZGUgPiAweDA3ICYmIHRoaXMuX29wY29kZSA8IDB4MGIpIHtcbiAgICAgIGlmICghdGhpcy5fZmluKSB7XG4gICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgICAgJ0ZJTiBtdXN0IGJlIHNldCcsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAxMDAyLFxuICAgICAgICAgICdXU19FUlJfRVhQRUNURURfRklOJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29tcHJlc3NlZCkge1xuICAgICAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgICBSYW5nZUVycm9yLFxuICAgICAgICAgICdSU1YxIG11c3QgYmUgY2xlYXInLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgMTAwMixcbiAgICAgICAgICAnV1NfRVJSX1VORVhQRUNURURfUlNWXzEnXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5fcGF5bG9hZExlbmd0aCA+IDB4N2QgfHxcbiAgICAgICAgKHRoaXMuX29wY29kZSA9PT0gMHgwOCAmJiB0aGlzLl9wYXlsb2FkTGVuZ3RoID09PSAxKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgICAgYGludmFsaWQgcGF5bG9hZCBsZW5ndGggJHt0aGlzLl9wYXlsb2FkTGVuZ3RofWAsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAxMDAyLFxuICAgICAgICAgICdXU19FUlJfSU5WQUxJRF9DT05UUk9MX1BBWUxPQURfTEVOR1RIJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgIGBpbnZhbGlkIG9wY29kZSAke3RoaXMuX29wY29kZX1gLFxuICAgICAgICB0cnVlLFxuICAgICAgICAxMDAyLFxuICAgICAgICAnV1NfRVJSX0lOVkFMSURfT1BDT0RFJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2ZpbiAmJiAhdGhpcy5fZnJhZ21lbnRlZCkgdGhpcy5fZnJhZ21lbnRlZCA9IHRoaXMuX29wY29kZTtcbiAgICB0aGlzLl9tYXNrZWQgPSAoYnVmWzFdICYgMHg4MCkgPT09IDB4ODA7XG5cbiAgICBpZiAodGhpcy5faXNTZXJ2ZXIpIHtcbiAgICAgIGlmICghdGhpcy5fbWFza2VkKSB7XG4gICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgICAgJ01BU0sgbXVzdCBiZSBzZXQnLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgMTAwMixcbiAgICAgICAgICAnV1NfRVJSX0VYUEVDVEVEX01BU0snXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLl9tYXNrZWQpIHtcbiAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgUmFuZ2VFcnJvcixcbiAgICAgICAgJ01BU0sgbXVzdCBiZSBjbGVhcicsXG4gICAgICAgIHRydWUsXG4gICAgICAgIDEwMDIsXG4gICAgICAgICdXU19FUlJfVU5FWFBFQ1RFRF9NQVNLJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcGF5bG9hZExlbmd0aCA9PT0gMTI2KSB0aGlzLl9zdGF0ZSA9IEdFVF9QQVlMT0FEX0xFTkdUSF8xNjtcbiAgICBlbHNlIGlmICh0aGlzLl9wYXlsb2FkTGVuZ3RoID09PSAxMjcpIHRoaXMuX3N0YXRlID0gR0VUX1BBWUxPQURfTEVOR1RIXzY0O1xuICAgIGVsc2UgcmV0dXJuIHRoaXMuaGF2ZUxlbmd0aCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgZXh0ZW5kZWQgcGF5bG9hZCBsZW5ndGggKDcrMTYpLlxuICAgKlxuICAgKiBAcmV0dXJuIHsoUmFuZ2VFcnJvcnx1bmRlZmluZWQpfSBBIHBvc3NpYmxlIGVycm9yXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBnZXRQYXlsb2FkTGVuZ3RoMTYoKSB7XG4gICAgaWYgKHRoaXMuX2J1ZmZlcmVkQnl0ZXMgPCAyKSB7XG4gICAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcGF5bG9hZExlbmd0aCA9IHRoaXMuY29uc3VtZSgyKS5yZWFkVUludDE2QkUoMCk7XG4gICAgcmV0dXJuIHRoaXMuaGF2ZUxlbmd0aCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgZXh0ZW5kZWQgcGF5bG9hZCBsZW5ndGggKDcrNjQpLlxuICAgKlxuICAgKiBAcmV0dXJuIHsoUmFuZ2VFcnJvcnx1bmRlZmluZWQpfSBBIHBvc3NpYmxlIGVycm9yXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBnZXRQYXlsb2FkTGVuZ3RoNjQoKSB7XG4gICAgaWYgKHRoaXMuX2J1ZmZlcmVkQnl0ZXMgPCA4KSB7XG4gICAgICB0aGlzLl9sb29wID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmID0gdGhpcy5jb25zdW1lKDgpO1xuICAgIGNvbnN0IG51bSA9IGJ1Zi5yZWFkVUludDMyQkUoMCk7XG5cbiAgICAvL1xuICAgIC8vIFRoZSBtYXhpbXVtIHNhZmUgaW50ZWdlciBpbiBKYXZhU2NyaXB0IGlzIDJeNTMgLSAxLiBBbiBlcnJvciBpcyByZXR1cm5lZFxuICAgIC8vIGlmIHBheWxvYWQgbGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbiB0aGlzIG51bWJlci5cbiAgICAvL1xuICAgIGlmIChudW0gPiBNYXRoLnBvdygyLCA1MyAtIDMyKSAtIDEpIHtcbiAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgUmFuZ2VFcnJvcixcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIFdlYlNvY2tldCBmcmFtZTogcGF5bG9hZCBsZW5ndGggPiAyXjUzIC0gMScsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAxMDA5LFxuICAgICAgICAnV1NfRVJSX1VOU1VQUE9SVEVEX0RBVEFfUEFZTE9BRF9MRU5HVEgnXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX3BheWxvYWRMZW5ndGggPSBudW0gKiBNYXRoLnBvdygyLCAzMikgKyBidWYucmVhZFVJbnQzMkJFKDQpO1xuICAgIHJldHVybiB0aGlzLmhhdmVMZW5ndGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXlsb2FkIGxlbmd0aCBoYXMgYmVlbiByZWFkLlxuICAgKlxuICAgKiBAcmV0dXJuIHsoUmFuZ2VFcnJvcnx1bmRlZmluZWQpfSBBIHBvc3NpYmxlIGVycm9yXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBoYXZlTGVuZ3RoKCkge1xuICAgIGlmICh0aGlzLl9wYXlsb2FkTGVuZ3RoICYmIHRoaXMuX29wY29kZSA8IDB4MDgpIHtcbiAgICAgIHRoaXMuX3RvdGFsUGF5bG9hZExlbmd0aCArPSB0aGlzLl9wYXlsb2FkTGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuX3RvdGFsUGF5bG9hZExlbmd0aCA+IHRoaXMuX21heFBheWxvYWQgJiYgdGhpcy5fbWF4UGF5bG9hZCA+IDApIHtcbiAgICAgICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgUmFuZ2VFcnJvcixcbiAgICAgICAgICAnTWF4IHBheWxvYWQgc2l6ZSBleGNlZWRlZCcsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgMTAwOSxcbiAgICAgICAgICAnV1NfRVJSX1VOU1VQUE9SVEVEX01FU1NBR0VfTEVOR1RIJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9tYXNrZWQpIHRoaXMuX3N0YXRlID0gR0VUX01BU0s7XG4gICAgZWxzZSB0aGlzLl9zdGF0ZSA9IEdFVF9EQVRBO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIG1hc2sgYnl0ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBnZXRNYXNrKCkge1xuICAgIGlmICh0aGlzLl9idWZmZXJlZEJ5dGVzIDwgNCkge1xuICAgICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21hc2sgPSB0aGlzLmNvbnN1bWUoNCk7XG4gICAgdGhpcy5fc3RhdGUgPSBHRVRfREFUQTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBkYXRhIGJ5dGVzLlxuICAgKlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYiBDYWxsYmFja1xuICAgKiBAcmV0dXJuIHsoRXJyb3J8UmFuZ2VFcnJvcnx1bmRlZmluZWQpfSBBIHBvc3NpYmxlIGVycm9yXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBnZXREYXRhKGNiKSB7XG4gICAgbGV0IGRhdGEgPSBFTVBUWV9CVUZGRVI7XG5cbiAgICBpZiAodGhpcy5fcGF5bG9hZExlbmd0aCkge1xuICAgICAgaWYgKHRoaXMuX2J1ZmZlcmVkQnl0ZXMgPCB0aGlzLl9wYXlsb2FkTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBkYXRhID0gdGhpcy5jb25zdW1lKHRoaXMuX3BheWxvYWRMZW5ndGgpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX21hc2tlZCAmJlxuICAgICAgICAodGhpcy5fbWFza1swXSB8IHRoaXMuX21hc2tbMV0gfCB0aGlzLl9tYXNrWzJdIHwgdGhpcy5fbWFza1szXSkgIT09IDBcbiAgICAgICkge1xuICAgICAgICB1bm1hc2soZGF0YSwgdGhpcy5fbWFzayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX29wY29kZSA+IDB4MDcpIHJldHVybiB0aGlzLmNvbnRyb2xNZXNzYWdlKGRhdGEpO1xuXG4gICAgaWYgKHRoaXMuX2NvbXByZXNzZWQpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gSU5GTEFUSU5HO1xuICAgICAgdGhpcy5kZWNvbXByZXNzKGRhdGEsIGNiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZGF0YS5sZW5ndGgpIHtcbiAgICAgIC8vXG4gICAgICAvLyBUaGlzIG1lc3NhZ2UgaXMgbm90IGNvbXByZXNzZWQgc28gaXRzIGxlbmd0aCBpcyB0aGUgc3VtIG9mIHRoZSBwYXlsb2FkXG4gICAgICAvLyBsZW5ndGggb2YgYWxsIGZyYWdtZW50cy5cbiAgICAgIC8vXG4gICAgICB0aGlzLl9tZXNzYWdlTGVuZ3RoID0gdGhpcy5fdG90YWxQYXlsb2FkTGVuZ3RoO1xuICAgICAgdGhpcy5fZnJhZ21lbnRzLnB1c2goZGF0YSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YU1lc3NhZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvbXByZXNzZXMgZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgQ29tcHJlc3NlZCBkYXRhXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNiIENhbGxiYWNrXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZWNvbXByZXNzKGRhdGEsIGNiKSB7XG4gICAgY29uc3QgcGVyTWVzc2FnZURlZmxhdGUgPSB0aGlzLl9leHRlbnNpb25zW1Blck1lc3NhZ2VEZWZsYXRlLmV4dGVuc2lvbk5hbWVdO1xuXG4gICAgcGVyTWVzc2FnZURlZmxhdGUuZGVjb21wcmVzcyhkYXRhLCB0aGlzLl9maW4sIChlcnIsIGJ1ZikgPT4ge1xuICAgICAgaWYgKGVycikgcmV0dXJuIGNiKGVycik7XG5cbiAgICAgIGlmIChidWYubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX21lc3NhZ2VMZW5ndGggKz0gYnVmLmxlbmd0aDtcbiAgICAgICAgaWYgKHRoaXMuX21lc3NhZ2VMZW5ndGggPiB0aGlzLl9tYXhQYXlsb2FkICYmIHRoaXMuX21heFBheWxvYWQgPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIGNiKFxuICAgICAgICAgICAgZXJyb3IoXG4gICAgICAgICAgICAgIFJhbmdlRXJyb3IsXG4gICAgICAgICAgICAgICdNYXggcGF5bG9hZCBzaXplIGV4Y2VlZGVkJyxcbiAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIDEwMDksXG4gICAgICAgICAgICAgICdXU19FUlJfVU5TVVBQT1JURURfTUVTU0FHRV9MRU5HVEgnXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2ZyYWdtZW50cy5wdXNoKGJ1Zik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVyID0gdGhpcy5kYXRhTWVzc2FnZSgpO1xuICAgICAgaWYgKGVyKSByZXR1cm4gY2IoZXIpO1xuXG4gICAgICB0aGlzLnN0YXJ0TG9vcChjYik7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBhIGRhdGEgbWVzc2FnZS5cbiAgICpcbiAgICogQHJldHVybiB7KEVycm9yfHVuZGVmaW5lZCl9IEEgcG9zc2libGUgZXJyb3JcbiAgICogQHByaXZhdGVcbiAgICovXG4gIGRhdGFNZXNzYWdlKCkge1xuICAgIGlmICh0aGlzLl9maW4pIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2VMZW5ndGggPSB0aGlzLl9tZXNzYWdlTGVuZ3RoO1xuICAgICAgY29uc3QgZnJhZ21lbnRzID0gdGhpcy5fZnJhZ21lbnRzO1xuXG4gICAgICB0aGlzLl90b3RhbFBheWxvYWRMZW5ndGggPSAwO1xuICAgICAgdGhpcy5fbWVzc2FnZUxlbmd0aCA9IDA7XG4gICAgICB0aGlzLl9mcmFnbWVudGVkID0gMDtcbiAgICAgIHRoaXMuX2ZyYWdtZW50cyA9IFtdO1xuXG4gICAgICBpZiAodGhpcy5fb3Bjb2RlID09PSAyKSB7XG4gICAgICAgIGxldCBkYXRhO1xuXG4gICAgICAgIGlmICh0aGlzLl9iaW5hcnlUeXBlID09PSAnbm9kZWJ1ZmZlcicpIHtcbiAgICAgICAgICBkYXRhID0gY29uY2F0KGZyYWdtZW50cywgbWVzc2FnZUxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fYmluYXJ5VHlwZSA9PT0gJ2FycmF5YnVmZmVyJykge1xuICAgICAgICAgIGRhdGEgPSB0b0FycmF5QnVmZmVyKGNvbmNhdChmcmFnbWVudHMsIG1lc3NhZ2VMZW5ndGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXRhID0gZnJhZ21lbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbWl0KCdtZXNzYWdlJywgZGF0YSwgdHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBidWYgPSBjb25jYXQoZnJhZ21lbnRzLCBtZXNzYWdlTGVuZ3RoKTtcblxuICAgICAgICBpZiAoIXRoaXMuX3NraXBVVEY4VmFsaWRhdGlvbiAmJiAhaXNWYWxpZFVURjgoYnVmKSkge1xuICAgICAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICBFcnJvcixcbiAgICAgICAgICAgICdpbnZhbGlkIFVURi04IHNlcXVlbmNlJyxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAxMDA3LFxuICAgICAgICAgICAgJ1dTX0VSUl9JTlZBTElEX1VURjgnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZW1pdCgnbWVzc2FnZScsIGJ1ZiwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gR0VUX0lORk87XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBhIGNvbnRyb2wgbWVzc2FnZS5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgRGF0YSB0byBoYW5kbGVcbiAgICogQHJldHVybiB7KEVycm9yfFJhbmdlRXJyb3J8dW5kZWZpbmVkKX0gQSBwb3NzaWJsZSBlcnJvclxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY29udHJvbE1lc3NhZ2UoZGF0YSkge1xuICAgIGlmICh0aGlzLl9vcGNvZGUgPT09IDB4MDgpIHtcbiAgICAgIHRoaXMuX2xvb3AgPSBmYWxzZTtcblxuICAgICAgaWYgKGRhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1pdCgnY29uY2x1ZGUnLCAxMDA1LCBFTVBUWV9CVUZGRVIpO1xuICAgICAgICB0aGlzLmVuZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29kZSA9IGRhdGEucmVhZFVJbnQxNkJFKDApO1xuXG4gICAgICAgIGlmICghaXNWYWxpZFN0YXR1c0NvZGUoY29kZSkpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICBSYW5nZUVycm9yLFxuICAgICAgICAgICAgYGludmFsaWQgc3RhdHVzIGNvZGUgJHtjb2RlfWAsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgMTAwMixcbiAgICAgICAgICAgICdXU19FUlJfSU5WQUxJRF9DTE9TRV9DT0RFJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBidWYgPSBuZXcgRmFzdEJ1ZmZlcihcbiAgICAgICAgICBkYXRhLmJ1ZmZlcixcbiAgICAgICAgICBkYXRhLmJ5dGVPZmZzZXQgKyAyLFxuICAgICAgICAgIGRhdGEubGVuZ3RoIC0gMlxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5fc2tpcFVURjhWYWxpZGF0aW9uICYmICFpc1ZhbGlkVVRGOChidWYpKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgICAgRXJyb3IsXG4gICAgICAgICAgICAnaW52YWxpZCBVVEYtOCBzZXF1ZW5jZScsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgMTAwNyxcbiAgICAgICAgICAgICdXU19FUlJfSU5WQUxJRF9VVEY4J1xuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVtaXQoJ2NvbmNsdWRlJywgY29kZSwgYnVmKTtcbiAgICAgICAgdGhpcy5lbmQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuX29wY29kZSA9PT0gMHgwOSkge1xuICAgICAgdGhpcy5lbWl0KCdwaW5nJywgZGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdCgncG9uZycsIGRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gR0VUX0lORk87XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSZWNlaXZlcjtcblxuLyoqXG4gKiBCdWlsZHMgYW4gZXJyb3Igb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24obmV3OkVycm9yfFJhbmdlRXJyb3IpfSBFcnJvckN0b3IgVGhlIGVycm9yIGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge1N0cmluZ30gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZVxuICogQHBhcmFtIHtCb29sZWFufSBwcmVmaXggU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRvIGFkZCBhIGRlZmF1bHQgcHJlZml4IHRvXG4gKiAgICAgYG1lc3NhZ2VgXG4gKiBAcGFyYW0ge051bWJlcn0gc3RhdHVzQ29kZSBUaGUgc3RhdHVzIGNvZGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBlcnJvckNvZGUgVGhlIGV4cG9zZWQgZXJyb3IgY29kZVxuICogQHJldHVybiB7KEVycm9yfFJhbmdlRXJyb3IpfSBUaGUgZXJyb3JcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGVycm9yKEVycm9yQ3RvciwgbWVzc2FnZSwgcHJlZml4LCBzdGF0dXNDb2RlLCBlcnJvckNvZGUpIHtcbiAgY29uc3QgZXJyID0gbmV3IEVycm9yQ3RvcihcbiAgICBwcmVmaXggPyBgSW52YWxpZCBXZWJTb2NrZXQgZnJhbWU6ICR7bWVzc2FnZX1gIDogbWVzc2FnZVxuICApO1xuXG4gIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVyciwgZXJyb3IpO1xuICBlcnIuY29kZSA9IGVycm9yQ29kZTtcbiAgZXJyW2tTdGF0dXNDb2RlXSA9IHN0YXR1c0NvZGU7XG4gIHJldHVybiBlcnI7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/receiver.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/sender.js": -/*!***************************************!*\ - !*** ./node_modules/ws/lib/sender.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^net|tls$\" }] */\n\n\n\nconst net = __webpack_require__(/*! net */ \"?8ffc\");\nconst tls = __webpack_require__(/*! tls */ \"?2c9b\");\nconst { randomFillSync } = __webpack_require__(/*! crypto */ \"./node_modules/next/dist/compiled/crypto-browserify/index.js\");\n\nconst PerMessageDeflate = __webpack_require__(/*! ./permessage-deflate */ \"./node_modules/ws/lib/permessage-deflate.js\");\nconst { EMPTY_BUFFER } = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\nconst { isValidStatusCode } = __webpack_require__(/*! ./validation */ \"./node_modules/ws/lib/validation.js\");\nconst { mask: applyMask, toBuffer } = __webpack_require__(/*! ./buffer-util */ \"./node_modules/ws/lib/buffer-util.js\");\n\nconst kByteLength = Symbol('kByteLength');\nconst maskBuffer = Buffer.alloc(4);\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n /**\n * Creates a Sender instance.\n *\n * @param {(net.Socket|tls.Socket)} socket The connection socket\n * @param {Object} [extensions] An object containing the negotiated extensions\n * @param {Function} [generateMask] The function used to generate the masking\n * key\n */\n constructor(socket, extensions, generateMask) {\n this._extensions = extensions || {};\n\n if (generateMask) {\n this._generateMask = generateMask;\n this._maskBuffer = Buffer.alloc(4);\n }\n\n this._socket = socket;\n\n this._firstFragment = true;\n this._compress = false;\n\n this._bufferedBytes = 0;\n this._deflating = false;\n this._queue = [];\n }\n\n /**\n * Frames a piece of data according to the HyBi WebSocket protocol.\n *\n * @param {(Buffer|String)} data The data to frame\n * @param {Object} options Options object\n * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n * FIN bit\n * @param {Function} [options.generateMask] The function used to generate the\n * masking key\n * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n * `data`\n * @param {Buffer} [options.maskBuffer] The buffer used to store the masking\n * key\n * @param {Number} options.opcode The opcode\n * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n * modified\n * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n * RSV1 bit\n * @return {(Buffer|String)[]} The framed data\n * @public\n */\n static frame(data, options) {\n let mask;\n let merge = false;\n let offset = 2;\n let skipMasking = false;\n\n if (options.mask) {\n mask = options.maskBuffer || maskBuffer;\n\n if (options.generateMask) {\n options.generateMask(mask);\n } else {\n randomFillSync(mask, 0, 4);\n }\n\n skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;\n offset = 6;\n }\n\n let dataLength;\n\n if (typeof data === 'string') {\n if (\n (!options.mask || skipMasking) &&\n options[kByteLength] !== undefined\n ) {\n dataLength = options[kByteLength];\n } else {\n data = Buffer.from(data);\n dataLength = data.length;\n }\n } else {\n dataLength = data.length;\n merge = options.mask && options.readOnly && !skipMasking;\n }\n\n let payloadLength = dataLength;\n\n if (dataLength >= 65536) {\n offset += 8;\n payloadLength = 127;\n } else if (dataLength > 125) {\n offset += 2;\n payloadLength = 126;\n }\n\n const target = Buffer.allocUnsafe(merge ? dataLength + offset : offset);\n\n target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n if (options.rsv1) target[0] |= 0x40;\n\n target[1] = payloadLength;\n\n if (payloadLength === 126) {\n target.writeUInt16BE(dataLength, 2);\n } else if (payloadLength === 127) {\n target[2] = target[3] = 0;\n target.writeUIntBE(dataLength, 4, 6);\n }\n\n if (!options.mask) return [target, data];\n\n target[1] |= 0x80;\n target[offset - 4] = mask[0];\n target[offset - 3] = mask[1];\n target[offset - 2] = mask[2];\n target[offset - 1] = mask[3];\n\n if (skipMasking) return [target, data];\n\n if (merge) {\n applyMask(data, mask, target, offset, dataLength);\n return [target];\n }\n\n applyMask(data, mask, data, 0, dataLength);\n return [target, data];\n }\n\n /**\n * Sends a close message to the other peer.\n *\n * @param {Number} [code] The status code component of the body\n * @param {(String|Buffer)} [data] The message component of the body\n * @param {Boolean} [mask=false] Specifies whether or not to mask the message\n * @param {Function} [cb] Callback\n * @public\n */\n close(code, data, mask, cb) {\n let buf;\n\n if (code === undefined) {\n buf = EMPTY_BUFFER;\n } else if (typeof code !== 'number' || !isValidStatusCode(code)) {\n throw new TypeError('First argument must be a valid error code number');\n } else if (data === undefined || !data.length) {\n buf = Buffer.allocUnsafe(2);\n buf.writeUInt16BE(code, 0);\n } else {\n const length = Buffer.byteLength(data);\n\n if (length > 123) {\n throw new RangeError('The message must not be greater than 123 bytes');\n }\n\n buf = Buffer.allocUnsafe(2 + length);\n buf.writeUInt16BE(code, 0);\n\n if (typeof data === 'string') {\n buf.write(data, 2);\n } else {\n buf.set(data, 2);\n }\n }\n\n const options = {\n [kByteLength]: buf.length,\n fin: true,\n generateMask: this._generateMask,\n mask,\n maskBuffer: this._maskBuffer,\n opcode: 0x08,\n readOnly: false,\n rsv1: false\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, buf, false, options, cb]);\n } else {\n this.sendFrame(Sender.frame(buf, options), cb);\n }\n }\n\n /**\n * Sends a ping message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback\n * @public\n */\n ping(data, mask, cb) {\n let byteLength;\n let readOnly;\n\n if (typeof data === 'string') {\n byteLength = Buffer.byteLength(data);\n readOnly = false;\n } else {\n data = toBuffer(data);\n byteLength = data.length;\n readOnly = toBuffer.readOnly;\n }\n\n if (byteLength > 125) {\n throw new RangeError('The data size must not be greater than 125 bytes');\n }\n\n const options = {\n [kByteLength]: byteLength,\n fin: true,\n generateMask: this._generateMask,\n mask,\n maskBuffer: this._maskBuffer,\n opcode: 0x09,\n readOnly,\n rsv1: false\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, false, options, cb]);\n } else {\n this.sendFrame(Sender.frame(data, options), cb);\n }\n }\n\n /**\n * Sends a pong message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback\n * @public\n */\n pong(data, mask, cb) {\n let byteLength;\n let readOnly;\n\n if (typeof data === 'string') {\n byteLength = Buffer.byteLength(data);\n readOnly = false;\n } else {\n data = toBuffer(data);\n byteLength = data.length;\n readOnly = toBuffer.readOnly;\n }\n\n if (byteLength > 125) {\n throw new RangeError('The data size must not be greater than 125 bytes');\n }\n\n const options = {\n [kByteLength]: byteLength,\n fin: true,\n generateMask: this._generateMask,\n mask,\n maskBuffer: this._maskBuffer,\n opcode: 0x0a,\n readOnly,\n rsv1: false\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, false, options, cb]);\n } else {\n this.sendFrame(Sender.frame(data, options), cb);\n }\n }\n\n /**\n * Sends a data message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} [options.binary=false] Specifies whether `data` is binary\n * or text\n * @param {Boolean} [options.compress=false] Specifies whether or not to\n * compress `data`\n * @param {Boolean} [options.fin=false] Specifies whether the fragment is the\n * last one\n * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n * `data`\n * @param {Function} [cb] Callback\n * @public\n */\n send(data, options, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n let opcode = options.binary ? 2 : 1;\n let rsv1 = options.compress;\n\n let byteLength;\n let readOnly;\n\n if (typeof data === 'string') {\n byteLength = Buffer.byteLength(data);\n readOnly = false;\n } else {\n data = toBuffer(data);\n byteLength = data.length;\n readOnly = toBuffer.readOnly;\n }\n\n if (this._firstFragment) {\n this._firstFragment = false;\n if (\n rsv1 &&\n perMessageDeflate &&\n perMessageDeflate.params[\n perMessageDeflate._isServer\n ? 'server_no_context_takeover'\n : 'client_no_context_takeover'\n ]\n ) {\n rsv1 = byteLength >= perMessageDeflate._threshold;\n }\n this._compress = rsv1;\n } else {\n rsv1 = false;\n opcode = 0;\n }\n\n if (options.fin) this._firstFragment = true;\n\n if (perMessageDeflate) {\n const opts = {\n [kByteLength]: byteLength,\n fin: options.fin,\n generateMask: this._generateMask,\n mask: options.mask,\n maskBuffer: this._maskBuffer,\n opcode,\n readOnly,\n rsv1\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, this._compress, opts, cb]);\n } else {\n this.dispatch(data, this._compress, opts, cb);\n }\n } else {\n this.sendFrame(\n Sender.frame(data, {\n [kByteLength]: byteLength,\n fin: options.fin,\n generateMask: this._generateMask,\n mask: options.mask,\n maskBuffer: this._maskBuffer,\n opcode,\n readOnly,\n rsv1: false\n }),\n cb\n );\n }\n }\n\n /**\n * Dispatches a message.\n *\n * @param {(Buffer|String)} data The message to send\n * @param {Boolean} [compress=false] Specifies whether or not to compress\n * `data`\n * @param {Object} options Options object\n * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n * FIN bit\n * @param {Function} [options.generateMask] The function used to generate the\n * masking key\n * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n * `data`\n * @param {Buffer} [options.maskBuffer] The buffer used to store the masking\n * key\n * @param {Number} options.opcode The opcode\n * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n * modified\n * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n * RSV1 bit\n * @param {Function} [cb] Callback\n * @private\n */\n dispatch(data, compress, options, cb) {\n if (!compress) {\n this.sendFrame(Sender.frame(data, options), cb);\n return;\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n this._bufferedBytes += options[kByteLength];\n this._deflating = true;\n perMessageDeflate.compress(data, options.fin, (_, buf) => {\n if (this._socket.destroyed) {\n const err = new Error(\n 'The socket was closed while data was being compressed'\n );\n\n if (typeof cb === 'function') cb(err);\n\n for (let i = 0; i < this._queue.length; i++) {\n const params = this._queue[i];\n const callback = params[params.length - 1];\n\n if (typeof callback === 'function') callback(err);\n }\n\n return;\n }\n\n this._bufferedBytes -= options[kByteLength];\n this._deflating = false;\n options.readOnly = false;\n this.sendFrame(Sender.frame(buf, options), cb);\n this.dequeue();\n });\n }\n\n /**\n * Executes queued send operations.\n *\n * @private\n */\n dequeue() {\n while (!this._deflating && this._queue.length) {\n const params = this._queue.shift();\n\n this._bufferedBytes -= params[3][kByteLength];\n Reflect.apply(params[0], this, params.slice(1));\n }\n }\n\n /**\n * Enqueues a send operation.\n *\n * @param {Array} params Send operation parameters.\n * @private\n */\n enqueue(params) {\n this._bufferedBytes += params[3][kByteLength];\n this._queue.push(params);\n }\n\n /**\n * Sends a frame.\n *\n * @param {Buffer[]} list The frame to send\n * @param {Function} [cb] Callback\n * @private\n */\n sendFrame(list, cb) {\n if (list.length === 2) {\n this._socket.cork();\n this._socket.write(list[0]);\n this._socket.write(list[1], cb);\n this._socket.uncork();\n } else {\n this._socket.write(list[0], cb);\n }\n }\n}\n\nmodule.exports = Sender;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDdEI7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQSxhQUFhLFVBQVU7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsd0JBQXdCLHdCQUF3QjtBQUNoRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFVBQVU7QUFDdkIsYUFBYSxVQUFVO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9zZW5kZXIuanM/NmI4YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tdW51c2VkLXZhcnM6IFtcImVycm9yXCIsIHsgXCJ2YXJzSWdub3JlUGF0dGVyblwiOiBcIl5uZXR8dGxzJFwiIH1dICovXG5cbid1c2Ugc3RyaWN0JztcblxuY29uc3QgbmV0ID0gcmVxdWlyZSgnbmV0Jyk7XG5jb25zdCB0bHMgPSByZXF1aXJlKCd0bHMnKTtcbmNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpO1xuXG5jb25zdCBQZXJNZXNzYWdlRGVmbGF0ZSA9IHJlcXVpcmUoJy4vcGVybWVzc2FnZS1kZWZsYXRlJyk7XG5jb25zdCB7IEVNUFRZX0JVRkZFUiB9ID0gcmVxdWlyZSgnLi9jb25zdGFudHMnKTtcbmNvbnN0IHsgaXNWYWxpZFN0YXR1c0NvZGUgfSA9IHJlcXVpcmUoJy4vdmFsaWRhdGlvbicpO1xuY29uc3QgeyBtYXNrOiBhcHBseU1hc2ssIHRvQnVmZmVyIH0gPSByZXF1aXJlKCcuL2J1ZmZlci11dGlsJyk7XG5cbmNvbnN0IGtCeXRlTGVuZ3RoID0gU3ltYm9sKCdrQnl0ZUxlbmd0aCcpO1xuY29uc3QgbWFza0J1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0KTtcblxuLyoqXG4gKiBIeUJpIFNlbmRlciBpbXBsZW1lbnRhdGlvbi5cbiAqL1xuY2xhc3MgU2VuZGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBTZW5kZXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7KG5ldC5Tb2NrZXR8dGxzLlNvY2tldCl9IHNvY2tldCBUaGUgY29ubmVjdGlvbiBzb2NrZXRcbiAgICogQHBhcmFtIHtPYmplY3R9IFtleHRlbnNpb25zXSBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgbmVnb3RpYXRlZCBleHRlbnNpb25zXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtnZW5lcmF0ZU1hc2tdIFRoZSBmdW5jdGlvbiB1c2VkIHRvIGdlbmVyYXRlIHRoZSBtYXNraW5nXG4gICAqICAgICBrZXlcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvY2tldCwgZXh0ZW5zaW9ucywgZ2VuZXJhdGVNYXNrKSB7XG4gICAgdGhpcy5fZXh0ZW5zaW9ucyA9IGV4dGVuc2lvbnMgfHwge307XG5cbiAgICBpZiAoZ2VuZXJhdGVNYXNrKSB7XG4gICAgICB0aGlzLl9nZW5lcmF0ZU1hc2sgPSBnZW5lcmF0ZU1hc2s7XG4gICAgICB0aGlzLl9tYXNrQnVmZmVyID0gQnVmZmVyLmFsbG9jKDQpO1xuICAgIH1cblxuICAgIHRoaXMuX3NvY2tldCA9IHNvY2tldDtcblxuICAgIHRoaXMuX2ZpcnN0RnJhZ21lbnQgPSB0cnVlO1xuICAgIHRoaXMuX2NvbXByZXNzID0gZmFsc2U7XG5cbiAgICB0aGlzLl9idWZmZXJlZEJ5dGVzID0gMDtcbiAgICB0aGlzLl9kZWZsYXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl9xdWV1ZSA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEZyYW1lcyBhIHBpZWNlIG9mIGRhdGEgYWNjb3JkaW5nIHRvIHRoZSBIeUJpIFdlYlNvY2tldCBwcm90b2NvbC5cbiAgICpcbiAgICogQHBhcmFtIHsoQnVmZmVyfFN0cmluZyl9IGRhdGEgVGhlIGRhdGEgdG8gZnJhbWVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgT3B0aW9ucyBvYmplY3RcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5maW49ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0byBzZXQgdGhlXG4gICAqICAgICBGSU4gYml0XG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLmdlbmVyYXRlTWFza10gVGhlIGZ1bmN0aW9uIHVzZWQgdG8gZ2VuZXJhdGUgdGhlXG4gICAqICAgICBtYXNraW5nIGtleVxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLm1hc2s9ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0byBtYXNrXG4gICAqICAgICBgZGF0YWBcbiAgICogQHBhcmFtIHtCdWZmZXJ9IFtvcHRpb25zLm1hc2tCdWZmZXJdIFRoZSBidWZmZXIgdXNlZCB0byBzdG9yZSB0aGUgbWFza2luZ1xuICAgKiAgICAga2V5XG4gICAqIEBwYXJhbSB7TnVtYmVyfSBvcHRpb25zLm9wY29kZSBUaGUgb3Bjb2RlXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMucmVhZE9ubHk9ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIGBkYXRhYCBjYW4gYmVcbiAgICogICAgIG1vZGlmaWVkXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMucnN2MT1mYWxzZV0gU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRvIHNldCB0aGVcbiAgICogICAgIFJTVjEgYml0XG4gICAqIEByZXR1cm4geyhCdWZmZXJ8U3RyaW5nKVtdfSBUaGUgZnJhbWVkIGRhdGFcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgc3RhdGljIGZyYW1lKGRhdGEsIG9wdGlvbnMpIHtcbiAgICBsZXQgbWFzaztcbiAgICBsZXQgbWVyZ2UgPSBmYWxzZTtcbiAgICBsZXQgb2Zmc2V0ID0gMjtcbiAgICBsZXQgc2tpcE1hc2tpbmcgPSBmYWxzZTtcblxuICAgIGlmIChvcHRpb25zLm1hc2spIHtcbiAgICAgIG1hc2sgPSBvcHRpb25zLm1hc2tCdWZmZXIgfHwgbWFza0J1ZmZlcjtcblxuICAgICAgaWYgKG9wdGlvbnMuZ2VuZXJhdGVNYXNrKSB7XG4gICAgICAgIG9wdGlvbnMuZ2VuZXJhdGVNYXNrKG1hc2spO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmFuZG9tRmlsbFN5bmMobWFzaywgMCwgNCk7XG4gICAgICB9XG5cbiAgICAgIHNraXBNYXNraW5nID0gKG1hc2tbMF0gfCBtYXNrWzFdIHwgbWFza1syXSB8IG1hc2tbM10pID09PSAwO1xuICAgICAgb2Zmc2V0ID0gNjtcbiAgICB9XG5cbiAgICBsZXQgZGF0YUxlbmd0aDtcblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKCFvcHRpb25zLm1hc2sgfHwgc2tpcE1hc2tpbmcpICYmXG4gICAgICAgIG9wdGlvbnNba0J5dGVMZW5ndGhdICE9PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICBkYXRhTGVuZ3RoID0gb3B0aW9uc1trQnl0ZUxlbmd0aF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSk7XG4gICAgICAgIGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoO1xuICAgICAgbWVyZ2UgPSBvcHRpb25zLm1hc2sgJiYgb3B0aW9ucy5yZWFkT25seSAmJiAhc2tpcE1hc2tpbmc7XG4gICAgfVxuXG4gICAgbGV0IHBheWxvYWRMZW5ndGggPSBkYXRhTGVuZ3RoO1xuXG4gICAgaWYgKGRhdGFMZW5ndGggPj0gNjU1MzYpIHtcbiAgICAgIG9mZnNldCArPSA4O1xuICAgICAgcGF5bG9hZExlbmd0aCA9IDEyNztcbiAgICB9IGVsc2UgaWYgKGRhdGFMZW5ndGggPiAxMjUpIHtcbiAgICAgIG9mZnNldCArPSAyO1xuICAgICAgcGF5bG9hZExlbmd0aCA9IDEyNjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobWVyZ2UgPyBkYXRhTGVuZ3RoICsgb2Zmc2V0IDogb2Zmc2V0KTtcblxuICAgIHRhcmdldFswXSA9IG9wdGlvbnMuZmluID8gb3B0aW9ucy5vcGNvZGUgfCAweDgwIDogb3B0aW9ucy5vcGNvZGU7XG4gICAgaWYgKG9wdGlvbnMucnN2MSkgdGFyZ2V0WzBdIHw9IDB4NDA7XG5cbiAgICB0YXJnZXRbMV0gPSBwYXlsb2FkTGVuZ3RoO1xuXG4gICAgaWYgKHBheWxvYWRMZW5ndGggPT09IDEyNikge1xuICAgICAgdGFyZ2V0LndyaXRlVUludDE2QkUoZGF0YUxlbmd0aCwgMik7XG4gICAgfSBlbHNlIGlmIChwYXlsb2FkTGVuZ3RoID09PSAxMjcpIHtcbiAgICAgIHRhcmdldFsyXSA9IHRhcmdldFszXSA9IDA7XG4gICAgICB0YXJnZXQud3JpdGVVSW50QkUoZGF0YUxlbmd0aCwgNCwgNik7XG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLm1hc2spIHJldHVybiBbdGFyZ2V0LCBkYXRhXTtcblxuICAgIHRhcmdldFsxXSB8PSAweDgwO1xuICAgIHRhcmdldFtvZmZzZXQgLSA0XSA9IG1hc2tbMF07XG4gICAgdGFyZ2V0W29mZnNldCAtIDNdID0gbWFza1sxXTtcbiAgICB0YXJnZXRbb2Zmc2V0IC0gMl0gPSBtYXNrWzJdO1xuICAgIHRhcmdldFtvZmZzZXQgLSAxXSA9IG1hc2tbM107XG5cbiAgICBpZiAoc2tpcE1hc2tpbmcpIHJldHVybiBbdGFyZ2V0LCBkYXRhXTtcblxuICAgIGlmIChtZXJnZSkge1xuICAgICAgYXBwbHlNYXNrKGRhdGEsIG1hc2ssIHRhcmdldCwgb2Zmc2V0LCBkYXRhTGVuZ3RoKTtcbiAgICAgIHJldHVybiBbdGFyZ2V0XTtcbiAgICB9XG5cbiAgICBhcHBseU1hc2soZGF0YSwgbWFzaywgZGF0YSwgMCwgZGF0YUxlbmd0aCk7XG4gICAgcmV0dXJuIFt0YXJnZXQsIGRhdGFdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgY2xvc2UgbWVzc2FnZSB0byB0aGUgb3RoZXIgcGVlci5cbiAgICpcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtjb2RlXSBUaGUgc3RhdHVzIGNvZGUgY29tcG9uZW50IG9mIHRoZSBib2R5XG4gICAqIEBwYXJhbSB7KFN0cmluZ3xCdWZmZXIpfSBbZGF0YV0gVGhlIG1lc3NhZ2UgY29tcG9uZW50IG9mIHRoZSBib2R5XG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW21hc2s9ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0byBtYXNrIHRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjYl0gQ2FsbGJhY2tcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgY2xvc2UoY29kZSwgZGF0YSwgbWFzaywgY2IpIHtcbiAgICBsZXQgYnVmO1xuXG4gICAgaWYgKGNvZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYnVmID0gRU1QVFlfQlVGRkVSO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvZGUgIT09ICdudW1iZXInIHx8ICFpc1ZhbGlkU3RhdHVzQ29kZShjb2RlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHZhbGlkIGVycm9yIGNvZGUgbnVtYmVyJyk7XG4gICAgfSBlbHNlIGlmIChkYXRhID09PSB1bmRlZmluZWQgfHwgIWRhdGEubGVuZ3RoKSB7XG4gICAgICBidWYgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMik7XG4gICAgICBidWYud3JpdGVVSW50MTZCRShjb2RlLCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgoZGF0YSk7XG5cbiAgICAgIGlmIChsZW5ndGggPiAxMjMpIHtcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSBtZXNzYWdlIG11c3Qgbm90IGJlIGdyZWF0ZXIgdGhhbiAxMjMgYnl0ZXMnKTtcbiAgICAgIH1cblxuICAgICAgYnVmID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIgKyBsZW5ndGgpO1xuICAgICAgYnVmLndyaXRlVUludDE2QkUoY29kZSwgMCk7XG5cbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgYnVmLndyaXRlKGRhdGEsIDIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnVmLnNldChkYXRhLCAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgW2tCeXRlTGVuZ3RoXTogYnVmLmxlbmd0aCxcbiAgICAgIGZpbjogdHJ1ZSxcbiAgICAgIGdlbmVyYXRlTWFzazogdGhpcy5fZ2VuZXJhdGVNYXNrLFxuICAgICAgbWFzayxcbiAgICAgIG1hc2tCdWZmZXI6IHRoaXMuX21hc2tCdWZmZXIsXG4gICAgICBvcGNvZGU6IDB4MDgsXG4gICAgICByZWFkT25seTogZmFsc2UsXG4gICAgICByc3YxOiBmYWxzZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5fZGVmbGF0aW5nKSB7XG4gICAgICB0aGlzLmVucXVldWUoW3RoaXMuZGlzcGF0Y2gsIGJ1ZiwgZmFsc2UsIG9wdGlvbnMsIGNiXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VuZEZyYW1lKFNlbmRlci5mcmFtZShidWYsIG9wdGlvbnMpLCBjYik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgcGluZyBtZXNzYWdlIHRvIHRoZSBvdGhlciBwZWVyLlxuICAgKlxuICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIG1lc3NhZ2UgdG8gc2VuZFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFttYXNrPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG8gbWFzayBgZGF0YWBcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NiXSBDYWxsYmFja1xuICAgKiBAcHVibGljXG4gICAqL1xuICBwaW5nKGRhdGEsIG1hc2ssIGNiKSB7XG4gICAgbGV0IGJ5dGVMZW5ndGg7XG4gICAgbGV0IHJlYWRPbmx5O1xuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgYnl0ZUxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKGRhdGEpO1xuICAgICAgcmVhZE9ubHkgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0YSA9IHRvQnVmZmVyKGRhdGEpO1xuICAgICAgYnl0ZUxlbmd0aCA9IGRhdGEubGVuZ3RoO1xuICAgICAgcmVhZE9ubHkgPSB0b0J1ZmZlci5yZWFkT25seTtcbiAgICB9XG5cbiAgICBpZiAoYnl0ZUxlbmd0aCA+IDEyNSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSBkYXRhIHNpemUgbXVzdCBub3QgYmUgZ3JlYXRlciB0aGFuIDEyNSBieXRlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBba0J5dGVMZW5ndGhdOiBieXRlTGVuZ3RoLFxuICAgICAgZmluOiB0cnVlLFxuICAgICAgZ2VuZXJhdGVNYXNrOiB0aGlzLl9nZW5lcmF0ZU1hc2ssXG4gICAgICBtYXNrLFxuICAgICAgbWFza0J1ZmZlcjogdGhpcy5fbWFza0J1ZmZlcixcbiAgICAgIG9wY29kZTogMHgwOSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcnN2MTogZmFsc2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX2RlZmxhdGluZykge1xuICAgICAgdGhpcy5lbnF1ZXVlKFt0aGlzLmRpc3BhdGNoLCBkYXRhLCBmYWxzZSwgb3B0aW9ucywgY2JdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW5kRnJhbWUoU2VuZGVyLmZyYW1lKGRhdGEsIG9wdGlvbnMpLCBjYik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgcG9uZyBtZXNzYWdlIHRvIHRoZSBvdGhlciBwZWVyLlxuICAgKlxuICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIG1lc3NhZ2UgdG8gc2VuZFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFttYXNrPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG8gbWFzayBgZGF0YWBcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NiXSBDYWxsYmFja1xuICAgKiBAcHVibGljXG4gICAqL1xuICBwb25nKGRhdGEsIG1hc2ssIGNiKSB7XG4gICAgbGV0IGJ5dGVMZW5ndGg7XG4gICAgbGV0IHJlYWRPbmx5O1xuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgYnl0ZUxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKGRhdGEpO1xuICAgICAgcmVhZE9ubHkgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0YSA9IHRvQnVmZmVyKGRhdGEpO1xuICAgICAgYnl0ZUxlbmd0aCA9IGRhdGEubGVuZ3RoO1xuICAgICAgcmVhZE9ubHkgPSB0b0J1ZmZlci5yZWFkT25seTtcbiAgICB9XG5cbiAgICBpZiAoYnl0ZUxlbmd0aCA+IDEyNSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSBkYXRhIHNpemUgbXVzdCBub3QgYmUgZ3JlYXRlciB0aGFuIDEyNSBieXRlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBba0J5dGVMZW5ndGhdOiBieXRlTGVuZ3RoLFxuICAgICAgZmluOiB0cnVlLFxuICAgICAgZ2VuZXJhdGVNYXNrOiB0aGlzLl9nZW5lcmF0ZU1hc2ssXG4gICAgICBtYXNrLFxuICAgICAgbWFza0J1ZmZlcjogdGhpcy5fbWFza0J1ZmZlcixcbiAgICAgIG9wY29kZTogMHgwYSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcnN2MTogZmFsc2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX2RlZmxhdGluZykge1xuICAgICAgdGhpcy5lbnF1ZXVlKFt0aGlzLmRpc3BhdGNoLCBkYXRhLCBmYWxzZSwgb3B0aW9ucywgY2JdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW5kRnJhbWUoU2VuZGVyLmZyYW1lKGRhdGEsIG9wdGlvbnMpLCBjYik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgZGF0YSBtZXNzYWdlIHRvIHRoZSBvdGhlciBwZWVyLlxuICAgKlxuICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIG1lc3NhZ2UgdG8gc2VuZFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBPcHRpb25zIG9iamVjdFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmJpbmFyeT1mYWxzZV0gU3BlY2lmaWVzIHdoZXRoZXIgYGRhdGFgIGlzIGJpbmFyeVxuICAgKiAgICAgb3IgdGV4dFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmNvbXByZXNzPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG9cbiAgICogICAgIGNvbXByZXNzIGBkYXRhYFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmZpbj1mYWxzZV0gU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGZyYWdtZW50IGlzIHRoZVxuICAgKiAgICAgbGFzdCBvbmVcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5tYXNrPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG8gbWFza1xuICAgKiAgICAgYGRhdGFgXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjYl0gQ2FsbGJhY2tcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgc2VuZChkYXRhLCBvcHRpb25zLCBjYikge1xuICAgIGNvbnN0IHBlck1lc3NhZ2VEZWZsYXRlID0gdGhpcy5fZXh0ZW5zaW9uc1tQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXTtcbiAgICBsZXQgb3Bjb2RlID0gb3B0aW9ucy5iaW5hcnkgPyAyIDogMTtcbiAgICBsZXQgcnN2MSA9IG9wdGlvbnMuY29tcHJlc3M7XG5cbiAgICBsZXQgYnl0ZUxlbmd0aDtcbiAgICBsZXQgcmVhZE9ubHk7XG5cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBieXRlTGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgoZGF0YSk7XG4gICAgICByZWFkT25seSA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhID0gdG9CdWZmZXIoZGF0YSk7XG4gICAgICBieXRlTGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICByZWFkT25seSA9IHRvQnVmZmVyLnJlYWRPbmx5O1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9maXJzdEZyYWdtZW50KSB7XG4gICAgICB0aGlzLl9maXJzdEZyYWdtZW50ID0gZmFsc2U7XG4gICAgICBpZiAoXG4gICAgICAgIHJzdjEgJiZcbiAgICAgICAgcGVyTWVzc2FnZURlZmxhdGUgJiZcbiAgICAgICAgcGVyTWVzc2FnZURlZmxhdGUucGFyYW1zW1xuICAgICAgICAgIHBlck1lc3NhZ2VEZWZsYXRlLl9pc1NlcnZlclxuICAgICAgICAgICAgPyAnc2VydmVyX25vX2NvbnRleHRfdGFrZW92ZXInXG4gICAgICAgICAgICA6ICdjbGllbnRfbm9fY29udGV4dF90YWtlb3ZlcidcbiAgICAgICAgXVxuICAgICAgKSB7XG4gICAgICAgIHJzdjEgPSBieXRlTGVuZ3RoID49IHBlck1lc3NhZ2VEZWZsYXRlLl90aHJlc2hvbGQ7XG4gICAgICB9XG4gICAgICB0aGlzLl9jb21wcmVzcyA9IHJzdjE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJzdjEgPSBmYWxzZTtcbiAgICAgIG9wY29kZSA9IDA7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZmluKSB0aGlzLl9maXJzdEZyYWdtZW50ID0gdHJ1ZTtcblxuICAgIGlmIChwZXJNZXNzYWdlRGVmbGF0ZSkge1xuICAgICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgW2tCeXRlTGVuZ3RoXTogYnl0ZUxlbmd0aCxcbiAgICAgICAgZmluOiBvcHRpb25zLmZpbixcbiAgICAgICAgZ2VuZXJhdGVNYXNrOiB0aGlzLl9nZW5lcmF0ZU1hc2ssXG4gICAgICAgIG1hc2s6IG9wdGlvbnMubWFzayxcbiAgICAgICAgbWFza0J1ZmZlcjogdGhpcy5fbWFza0J1ZmZlcixcbiAgICAgICAgb3Bjb2RlLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgcnN2MVxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuX2RlZmxhdGluZykge1xuICAgICAgICB0aGlzLmVucXVldWUoW3RoaXMuZGlzcGF0Y2gsIGRhdGEsIHRoaXMuX2NvbXByZXNzLCBvcHRzLCBjYl0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaChkYXRhLCB0aGlzLl9jb21wcmVzcywgb3B0cywgY2IpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbmRGcmFtZShcbiAgICAgICAgU2VuZGVyLmZyYW1lKGRhdGEsIHtcbiAgICAgICAgICBba0J5dGVMZW5ndGhdOiBieXRlTGVuZ3RoLFxuICAgICAgICAgIGZpbjogb3B0aW9ucy5maW4sXG4gICAgICAgICAgZ2VuZXJhdGVNYXNrOiB0aGlzLl9nZW5lcmF0ZU1hc2ssXG4gICAgICAgICAgbWFzazogb3B0aW9ucy5tYXNrLFxuICAgICAgICAgIG1hc2tCdWZmZXI6IHRoaXMuX21hc2tCdWZmZXIsXG4gICAgICAgICAgb3Bjb2RlLFxuICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgIHJzdjE6IGZhbHNlXG4gICAgICAgIH0pLFxuICAgICAgICBjYlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7KEJ1ZmZlcnxTdHJpbmcpfSBkYXRhIFRoZSBtZXNzYWdlIHRvIHNlbmRcbiAgICogQHBhcmFtIHtCb29sZWFufSBbY29tcHJlc3M9ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0byBjb21wcmVzc1xuICAgKiAgICAgYGRhdGFgXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIE9wdGlvbnMgb2JqZWN0XG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMuZmluPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG8gc2V0IHRoZVxuICAgKiAgICAgRklOIGJpdFxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb3B0aW9ucy5nZW5lcmF0ZU1hc2tdIFRoZSBmdW5jdGlvbiB1c2VkIHRvIGdlbmVyYXRlIHRoZVxuICAgKiAgICAgbWFza2luZyBrZXlcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5tYXNrPWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG8gbWFza1xuICAgKiAgICAgYGRhdGFgXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBbb3B0aW9ucy5tYXNrQnVmZmVyXSBUaGUgYnVmZmVyIHVzZWQgdG8gc3RvcmUgdGhlIG1hc2tpbmdcbiAgICogICAgIGtleVxuICAgKiBAcGFyYW0ge051bWJlcn0gb3B0aW9ucy5vcGNvZGUgVGhlIG9wY29kZVxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLnJlYWRPbmx5PWZhbHNlXSBTcGVjaWZpZXMgd2hldGhlciBgZGF0YWAgY2FuIGJlXG4gICAqICAgICBtb2RpZmllZFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLnJzdjE9ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0byBzZXQgdGhlXG4gICAqICAgICBSU1YxIGJpdFxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY2JdIENhbGxiYWNrXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkaXNwYXRjaChkYXRhLCBjb21wcmVzcywgb3B0aW9ucywgY2IpIHtcbiAgICBpZiAoIWNvbXByZXNzKSB7XG4gICAgICB0aGlzLnNlbmRGcmFtZShTZW5kZXIuZnJhbWUoZGF0YSwgb3B0aW9ucyksIGNiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwZXJNZXNzYWdlRGVmbGF0ZSA9IHRoaXMuX2V4dGVuc2lvbnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV07XG5cbiAgICB0aGlzLl9idWZmZXJlZEJ5dGVzICs9IG9wdGlvbnNba0J5dGVMZW5ndGhdO1xuICAgIHRoaXMuX2RlZmxhdGluZyA9IHRydWU7XG4gICAgcGVyTWVzc2FnZURlZmxhdGUuY29tcHJlc3MoZGF0YSwgb3B0aW9ucy5maW4sIChfLCBidWYpID0+IHtcbiAgICAgIGlmICh0aGlzLl9zb2NrZXQuZGVzdHJveWVkKSB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihcbiAgICAgICAgICAnVGhlIHNvY2tldCB3YXMgY2xvc2VkIHdoaWxlIGRhdGEgd2FzIGJlaW5nIGNvbXByZXNzZWQnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjYiA9PT0gJ2Z1bmN0aW9uJykgY2IoZXJyKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3F1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5fcXVldWVbaV07XG4gICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBwYXJhbXNbcGFyYW1zLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fYnVmZmVyZWRCeXRlcyAtPSBvcHRpb25zW2tCeXRlTGVuZ3RoXTtcbiAgICAgIHRoaXMuX2RlZmxhdGluZyA9IGZhbHNlO1xuICAgICAgb3B0aW9ucy5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgdGhpcy5zZW5kRnJhbWUoU2VuZGVyLmZyYW1lKGJ1Ziwgb3B0aW9ucyksIGNiKTtcbiAgICAgIHRoaXMuZGVxdWV1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHF1ZXVlZCBzZW5kIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBkZXF1ZXVlKCkge1xuICAgIHdoaWxlICghdGhpcy5fZGVmbGF0aW5nICYmIHRoaXMuX3F1ZXVlLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5fcXVldWUuc2hpZnQoKTtcblxuICAgICAgdGhpcy5fYnVmZmVyZWRCeXRlcyAtPSBwYXJhbXNbM11ba0J5dGVMZW5ndGhdO1xuICAgICAgUmVmbGVjdC5hcHBseShwYXJhbXNbMF0sIHRoaXMsIHBhcmFtcy5zbGljZSgxKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVucXVldWVzIGEgc2VuZCBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXl9IHBhcmFtcyBTZW5kIG9wZXJhdGlvbiBwYXJhbWV0ZXJzLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgZW5xdWV1ZShwYXJhbXMpIHtcbiAgICB0aGlzLl9idWZmZXJlZEJ5dGVzICs9IHBhcmFtc1szXVtrQnl0ZUxlbmd0aF07XG4gICAgdGhpcy5fcXVldWUucHVzaChwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgZnJhbWUuXG4gICAqXG4gICAqIEBwYXJhbSB7QnVmZmVyW119IGxpc3QgVGhlIGZyYW1lIHRvIHNlbmRcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NiXSBDYWxsYmFja1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgc2VuZEZyYW1lKGxpc3QsIGNiKSB7XG4gICAgaWYgKGxpc3QubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9zb2NrZXQuY29yaygpO1xuICAgICAgdGhpcy5fc29ja2V0LndyaXRlKGxpc3RbMF0pO1xuICAgICAgdGhpcy5fc29ja2V0LndyaXRlKGxpc3RbMV0sIGNiKTtcbiAgICAgIHRoaXMuX3NvY2tldC51bmNvcmsoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc29ja2V0LndyaXRlKGxpc3RbMF0sIGNiKTtcbiAgICB9XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTZW5kZXI7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/sender.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/stream.js": -/*!***************************************!*\ - !*** ./node_modules/ws/lib/stream.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\nconst { Duplex } = __webpack_require__(/*! stream */ \"./node_modules/next/dist/compiled/stream-browserify/index.js\");\n\n/**\n * Emits the `'close'` event on a stream.\n *\n * @param {Duplex} stream The stream.\n * @private\n */\nfunction emitClose(stream) {\n stream.emit('close');\n}\n\n/**\n * The listener of the `'end'` event.\n *\n * @private\n */\nfunction duplexOnEnd() {\n if (!this.destroyed && this._writableState.finished) {\n this.destroy();\n }\n}\n\n/**\n * The listener of the `'error'` event.\n *\n * @param {Error} err The error\n * @private\n */\nfunction duplexOnError(err) {\n this.removeListener('error', duplexOnError);\n this.destroy();\n if (this.listenerCount('error') === 0) {\n // Do not suppress the throwing behavior.\n this.emit('error', err);\n }\n}\n\n/**\n * Wraps a `WebSocket` in a duplex stream.\n *\n * @param {WebSocket} ws The `WebSocket` to wrap\n * @param {Object} [options] The options for the `Duplex` constructor\n * @return {Duplex} The duplex stream\n * @public\n */\nfunction createWebSocketStream(ws, options) {\n let terminateOnDestroy = true;\n\n const duplex = new Duplex({\n ...options,\n autoDestroy: false,\n emitClose: false,\n objectMode: false,\n writableObjectMode: false\n });\n\n ws.on('message', function message(msg, isBinary) {\n const data =\n !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;\n\n if (!duplex.push(data)) ws.pause();\n });\n\n ws.once('error', function error(err) {\n if (duplex.destroyed) return;\n\n // Prevent `ws.terminate()` from being called by `duplex._destroy()`.\n //\n // - If the `'error'` event is emitted before the `'open'` event, then\n // `ws.terminate()` is a noop as no socket is assigned.\n // - Otherwise, the error is re-emitted by the listener of the `'error'`\n // event of the `Receiver` object. The listener already closes the\n // connection by calling `ws.close()`. This allows a close frame to be\n // sent to the other peer. If `ws.terminate()` is called right after this,\n // then the close frame might not be sent.\n terminateOnDestroy = false;\n duplex.destroy(err);\n });\n\n ws.once('close', function close() {\n if (duplex.destroyed) return;\n\n duplex.push(null);\n });\n\n duplex._destroy = function (err, callback) {\n if (ws.readyState === ws.CLOSED) {\n callback(err);\n process.nextTick(emitClose, duplex);\n return;\n }\n\n let called = false;\n\n ws.once('error', function error(err) {\n called = true;\n callback(err);\n });\n\n ws.once('close', function close() {\n if (!called) callback(err);\n process.nextTick(emitClose, duplex);\n });\n\n if (terminateOnDestroy) ws.terminate();\n };\n\n duplex._final = function (callback) {\n if (ws.readyState === ws.CONNECTING) {\n ws.once('open', function open() {\n duplex._final(callback);\n });\n return;\n }\n\n // If the value of the `_socket` property is `null` it means that `ws` is a\n // client websocket and the handshake failed. In fact, when this happens, a\n // socket is never assigned to the websocket. Wait for the `'error'` event\n // that will be emitted by the websocket.\n if (ws._socket === null) return;\n\n if (ws._socket._writableState.finished) {\n callback();\n if (duplex._readableState.endEmitted) duplex.destroy();\n } else {\n ws._socket.once('finish', function finish() {\n // `duplex` is not destroyed here because the `'end'` event will be\n // emitted on `duplex` after this `'finish'` event. The EOF signaling\n // `null` chunk is, in fact, pushed when the websocket emits `'close'`.\n callback();\n });\n ws.close();\n }\n };\n\n duplex._read = function () {\n if (ws.isPaused) ws.resume();\n };\n\n duplex._write = function (chunk, encoding, callback) {\n if (ws.readyState === ws.CONNECTING) {\n ws.once('open', function open() {\n duplex._write(chunk, encoding, callback);\n });\n return;\n }\n\n ws.send(chunk, callback);\n };\n\n duplex.on('end', duplexOnEnd);\n duplex.on('error', duplexOnError);\n return duplex;\n}\n\nmodule.exports = createWebSocketStream;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL3N0cmVhbS5qcyIsIm1hcHBpbmdzIjoiO0FBQWE7O0FBRWIsUUFBUSxTQUFTLEVBQUUsbUJBQU8sQ0FBQyw0RUFBUTs7QUFFbkM7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixXQUFXLFFBQVE7QUFDbkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTztBQUNiO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsTUFBTSxPQUFPO0FBQ2IsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd3MvbGliL3N0cmVhbS5qcz9jYTk0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgeyBEdXBsZXggfSA9IHJlcXVpcmUoJ3N0cmVhbScpO1xuXG4vKipcbiAqIEVtaXRzIHRoZSBgJ2Nsb3NlJ2AgZXZlbnQgb24gYSBzdHJlYW0uXG4gKlxuICogQHBhcmFtIHtEdXBsZXh9IHN0cmVhbSBUaGUgc3RyZWFtLlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZW1pdENsb3NlKHN0cmVhbSkge1xuICBzdHJlYW0uZW1pdCgnY2xvc2UnKTtcbn1cblxuLyoqXG4gKiBUaGUgbGlzdGVuZXIgb2YgdGhlIGAnZW5kJ2AgZXZlbnQuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZHVwbGV4T25FbmQoKSB7XG4gIGlmICghdGhpcy5kZXN0cm95ZWQgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCkge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgJ2Vycm9yJ2AgZXZlbnQuXG4gKlxuICogQHBhcmFtIHtFcnJvcn0gZXJyIFRoZSBlcnJvclxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZHVwbGV4T25FcnJvcihlcnIpIHtcbiAgdGhpcy5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBkdXBsZXhPbkVycm9yKTtcbiAgdGhpcy5kZXN0cm95KCk7XG4gIGlmICh0aGlzLmxpc3RlbmVyQ291bnQoJ2Vycm9yJykgPT09IDApIHtcbiAgICAvLyBEbyBub3Qgc3VwcHJlc3MgdGhlIHRocm93aW5nIGJlaGF2aW9yLlxuICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB9XG59XG5cbi8qKlxuICogV3JhcHMgYSBgV2ViU29ja2V0YCBpbiBhIGR1cGxleCBzdHJlYW0uXG4gKlxuICogQHBhcmFtIHtXZWJTb2NrZXR9IHdzIFRoZSBgV2ViU29ja2V0YCB0byB3cmFwXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIFRoZSBvcHRpb25zIGZvciB0aGUgYER1cGxleGAgY29uc3RydWN0b3JcbiAqIEByZXR1cm4ge0R1cGxleH0gVGhlIGR1cGxleCBzdHJlYW1cbiAqIEBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gY3JlYXRlV2ViU29ja2V0U3RyZWFtKHdzLCBvcHRpb25zKSB7XG4gIGxldCB0ZXJtaW5hdGVPbkRlc3Ryb3kgPSB0cnVlO1xuXG4gIGNvbnN0IGR1cGxleCA9IG5ldyBEdXBsZXgoe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgYXV0b0Rlc3Ryb3k6IGZhbHNlLFxuICAgIGVtaXRDbG9zZTogZmFsc2UsXG4gICAgb2JqZWN0TW9kZTogZmFsc2UsXG4gICAgd3JpdGFibGVPYmplY3RNb2RlOiBmYWxzZVxuICB9KTtcblxuICB3cy5vbignbWVzc2FnZScsIGZ1bmN0aW9uIG1lc3NhZ2UobXNnLCBpc0JpbmFyeSkge1xuICAgIGNvbnN0IGRhdGEgPVxuICAgICAgIWlzQmluYXJ5ICYmIGR1cGxleC5fcmVhZGFibGVTdGF0ZS5vYmplY3RNb2RlID8gbXNnLnRvU3RyaW5nKCkgOiBtc2c7XG5cbiAgICBpZiAoIWR1cGxleC5wdXNoKGRhdGEpKSB3cy5wYXVzZSgpO1xuICB9KTtcblxuICB3cy5vbmNlKCdlcnJvcicsIGZ1bmN0aW9uIGVycm9yKGVycikge1xuICAgIGlmIChkdXBsZXguZGVzdHJveWVkKSByZXR1cm47XG5cbiAgICAvLyBQcmV2ZW50IGB3cy50ZXJtaW5hdGUoKWAgZnJvbSBiZWluZyBjYWxsZWQgYnkgYGR1cGxleC5fZGVzdHJveSgpYC5cbiAgICAvL1xuICAgIC8vIC0gSWYgdGhlIGAnZXJyb3InYCBldmVudCBpcyBlbWl0dGVkIGJlZm9yZSB0aGUgYCdvcGVuJ2AgZXZlbnQsIHRoZW5cbiAgICAvLyAgIGB3cy50ZXJtaW5hdGUoKWAgaXMgYSBub29wIGFzIG5vIHNvY2tldCBpcyBhc3NpZ25lZC5cbiAgICAvLyAtIE90aGVyd2lzZSwgdGhlIGVycm9yIGlzIHJlLWVtaXR0ZWQgYnkgdGhlIGxpc3RlbmVyIG9mIHRoZSBgJ2Vycm9yJ2BcbiAgICAvLyAgIGV2ZW50IG9mIHRoZSBgUmVjZWl2ZXJgIG9iamVjdC4gVGhlIGxpc3RlbmVyIGFscmVhZHkgY2xvc2VzIHRoZVxuICAgIC8vICAgY29ubmVjdGlvbiBieSBjYWxsaW5nIGB3cy5jbG9zZSgpYC4gVGhpcyBhbGxvd3MgYSBjbG9zZSBmcmFtZSB0byBiZVxuICAgIC8vICAgc2VudCB0byB0aGUgb3RoZXIgcGVlci4gSWYgYHdzLnRlcm1pbmF0ZSgpYCBpcyBjYWxsZWQgcmlnaHQgYWZ0ZXIgdGhpcyxcbiAgICAvLyAgIHRoZW4gdGhlIGNsb3NlIGZyYW1lIG1pZ2h0IG5vdCBiZSBzZW50LlxuICAgIHRlcm1pbmF0ZU9uRGVzdHJveSA9IGZhbHNlO1xuICAgIGR1cGxleC5kZXN0cm95KGVycik7XG4gIH0pO1xuXG4gIHdzLm9uY2UoJ2Nsb3NlJywgZnVuY3Rpb24gY2xvc2UoKSB7XG4gICAgaWYgKGR1cGxleC5kZXN0cm95ZWQpIHJldHVybjtcblxuICAgIGR1cGxleC5wdXNoKG51bGwpO1xuICB9KTtcblxuICBkdXBsZXguX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYWxsYmFjaykge1xuICAgIGlmICh3cy5yZWFkeVN0YXRlID09PSB3cy5DTE9TRUQpIHtcbiAgICAgIGNhbGxiYWNrKGVycik7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZSwgZHVwbGV4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY2FsbGVkID0gZmFsc2U7XG5cbiAgICB3cy5vbmNlKCdlcnJvcicsIGZ1bmN0aW9uIGVycm9yKGVycikge1xuICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgIGNhbGxiYWNrKGVycik7XG4gICAgfSk7XG5cbiAgICB3cy5vbmNlKCdjbG9zZScsIGZ1bmN0aW9uIGNsb3NlKCkge1xuICAgICAgaWYgKCFjYWxsZWQpIGNhbGxiYWNrKGVycik7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZSwgZHVwbGV4KTtcbiAgICB9KTtcblxuICAgIGlmICh0ZXJtaW5hdGVPbkRlc3Ryb3kpIHdzLnRlcm1pbmF0ZSgpO1xuICB9O1xuXG4gIGR1cGxleC5fZmluYWwgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBpZiAod3MucmVhZHlTdGF0ZSA9PT0gd3MuQ09OTkVDVElORykge1xuICAgICAgd3Mub25jZSgnb3BlbicsIGZ1bmN0aW9uIG9wZW4oKSB7XG4gICAgICAgIGR1cGxleC5fZmluYWwoY2FsbGJhY2spO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHZhbHVlIG9mIHRoZSBgX3NvY2tldGAgcHJvcGVydHkgaXMgYG51bGxgIGl0IG1lYW5zIHRoYXQgYHdzYCBpcyBhXG4gICAgLy8gY2xpZW50IHdlYnNvY2tldCBhbmQgdGhlIGhhbmRzaGFrZSBmYWlsZWQuIEluIGZhY3QsIHdoZW4gdGhpcyBoYXBwZW5zLCBhXG4gICAgLy8gc29ja2V0IGlzIG5ldmVyIGFzc2lnbmVkIHRvIHRoZSB3ZWJzb2NrZXQuIFdhaXQgZm9yIHRoZSBgJ2Vycm9yJ2AgZXZlbnRcbiAgICAvLyB0aGF0IHdpbGwgYmUgZW1pdHRlZCBieSB0aGUgd2Vic29ja2V0LlxuICAgIGlmICh3cy5fc29ja2V0ID09PSBudWxsKSByZXR1cm47XG5cbiAgICBpZiAod3MuX3NvY2tldC5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCkge1xuICAgICAgY2FsbGJhY2soKTtcbiAgICAgIGlmIChkdXBsZXguX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCkgZHVwbGV4LmRlc3Ryb3koKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd3MuX3NvY2tldC5vbmNlKCdmaW5pc2gnLCBmdW5jdGlvbiBmaW5pc2goKSB7XG4gICAgICAgIC8vIGBkdXBsZXhgIGlzIG5vdCBkZXN0cm95ZWQgaGVyZSBiZWNhdXNlIHRoZSBgJ2VuZCdgIGV2ZW50IHdpbGwgYmVcbiAgICAgICAgLy8gZW1pdHRlZCBvbiBgZHVwbGV4YCBhZnRlciB0aGlzIGAnZmluaXNoJ2AgZXZlbnQuIFRoZSBFT0Ygc2lnbmFsaW5nXG4gICAgICAgIC8vIGBudWxsYCBjaHVuayBpcywgaW4gZmFjdCwgcHVzaGVkIHdoZW4gdGhlIHdlYnNvY2tldCBlbWl0cyBgJ2Nsb3NlJ2AuXG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9KTtcbiAgICAgIHdzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIGR1cGxleC5fcmVhZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAod3MuaXNQYXVzZWQpIHdzLnJlc3VtZSgpO1xuICB9O1xuXG4gIGR1cGxleC5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICAgIGlmICh3cy5yZWFkeVN0YXRlID09PSB3cy5DT05ORUNUSU5HKSB7XG4gICAgICB3cy5vbmNlKCdvcGVuJywgZnVuY3Rpb24gb3BlbigpIHtcbiAgICAgICAgZHVwbGV4Ll93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNhbGxiYWNrKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdzLnNlbmQoY2h1bmssIGNhbGxiYWNrKTtcbiAgfTtcblxuICBkdXBsZXgub24oJ2VuZCcsIGR1cGxleE9uRW5kKTtcbiAgZHVwbGV4Lm9uKCdlcnJvcicsIGR1cGxleE9uRXJyb3IpO1xuICByZXR1cm4gZHVwbGV4O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZVdlYlNvY2tldFN0cmVhbTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/stream.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/subprotocol.js": -/*!********************************************!*\ - !*** ./node_modules/ws/lib/subprotocol.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nconst { tokenChars } = __webpack_require__(/*! ./validation */ \"./node_modules/ws/lib/validation.js\");\n\n/**\n * Parses the `Sec-WebSocket-Protocol` header into a set of subprotocol names.\n *\n * @param {String} header The field value of the header\n * @return {Set} The subprotocol names\n * @public\n */\nfunction parse(header) {\n const protocols = new Set();\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (i; i < header.length; i++) {\n const code = header.charCodeAt(i);\n\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (\n i !== 0 &&\n (code === 0x20 /* ' ' */ || code === 0x09) /* '\\t' */\n ) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x2c /* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n\n const protocol = header.slice(start, end);\n\n if (protocols.has(protocol)) {\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n }\n\n protocols.add(protocol);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n\n if (start === -1 || end !== -1) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n const protocol = header.slice(start, i);\n\n if (protocols.has(protocol)) {\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n }\n\n protocols.add(protocol);\n return protocols;\n}\n\nmodule.exports = { parse };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL3N1YnByb3RvY29sLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFFBQVEsYUFBYSxFQUFFLG1CQUFPLENBQUMseURBQWM7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLEtBQUs7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSxtQkFBbUI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLCtEQUErRCxFQUFFO0FBQ2pFOztBQUVBOztBQUVBOztBQUVBO0FBQ0Esc0NBQXNDLFNBQVM7QUFDL0M7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTiw2REFBNkQsRUFBRTtBQUMvRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGtDQUFrQyxTQUFTO0FBQzNDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dzL2xpYi9zdWJwcm90b2NvbC5qcz9hZWIxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgeyB0b2tlbkNoYXJzIH0gPSByZXF1aXJlKCcuL3ZhbGlkYXRpb24nKTtcblxuLyoqXG4gKiBQYXJzZXMgdGhlIGBTZWMtV2ViU29ja2V0LVByb3RvY29sYCBoZWFkZXIgaW50byBhIHNldCBvZiBzdWJwcm90b2NvbCBuYW1lcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaGVhZGVyIFRoZSBmaWVsZCB2YWx1ZSBvZiB0aGUgaGVhZGVyXG4gKiBAcmV0dXJuIHtTZXR9IFRoZSBzdWJwcm90b2NvbCBuYW1lc1xuICogQHB1YmxpY1xuICovXG5mdW5jdGlvbiBwYXJzZShoZWFkZXIpIHtcbiAgY29uc3QgcHJvdG9jb2xzID0gbmV3IFNldCgpO1xuICBsZXQgc3RhcnQgPSAtMTtcbiAgbGV0IGVuZCA9IC0xO1xuICBsZXQgaSA9IDA7XG5cbiAgZm9yIChpOyBpIDwgaGVhZGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY29kZSA9IGhlYWRlci5jaGFyQ29kZUF0KGkpO1xuXG4gICAgaWYgKGVuZCA9PT0gLTEgJiYgdG9rZW5DaGFyc1tjb2RlXSA9PT0gMSkge1xuICAgICAgaWYgKHN0YXJ0ID09PSAtMSkgc3RhcnQgPSBpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBpICE9PSAwICYmXG4gICAgICAoY29kZSA9PT0gMHgyMCAvKiAnICcgKi8gfHwgY29kZSA9PT0gMHgwOSkgLyogJ1xcdCcgKi9cbiAgICApIHtcbiAgICAgIGlmIChlbmQgPT09IC0xICYmIHN0YXJ0ICE9PSAtMSkgZW5kID0gaTtcbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09IDB4MmMgLyogJywnICovKSB7XG4gICAgICBpZiAoc3RhcnQgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihgVW5leHBlY3RlZCBjaGFyYWN0ZXIgYXQgaW5kZXggJHtpfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoZW5kID09PSAtMSkgZW5kID0gaTtcblxuICAgICAgY29uc3QgcHJvdG9jb2wgPSBoZWFkZXIuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgICAgIGlmIChwcm90b2NvbHMuaGFzKHByb3RvY29sKSkge1xuICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoYFRoZSBcIiR7cHJvdG9jb2x9XCIgc3VicHJvdG9jb2wgaXMgZHVwbGljYXRlZGApO1xuICAgICAgfVxuXG4gICAgICBwcm90b2NvbHMuYWRkKHByb3RvY29sKTtcbiAgICAgIHN0YXJ0ID0gZW5kID0gLTE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihgVW5leHBlY3RlZCBjaGFyYWN0ZXIgYXQgaW5kZXggJHtpfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdGFydCA9PT0gLTEgfHwgZW5kICE9PSAtMSkge1xuICAgIHRocm93IG5ldyBTeW50YXhFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgaW5wdXQnKTtcbiAgfVxuXG4gIGNvbnN0IHByb3RvY29sID0gaGVhZGVyLnNsaWNlKHN0YXJ0LCBpKTtcblxuICBpZiAocHJvdG9jb2xzLmhhcyhwcm90b2NvbCkpIHtcbiAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoYFRoZSBcIiR7cHJvdG9jb2x9XCIgc3VicHJvdG9jb2wgaXMgZHVwbGljYXRlZGApO1xuICB9XG5cbiAgcHJvdG9jb2xzLmFkZChwcm90b2NvbCk7XG4gIHJldHVybiBwcm90b2NvbHM7XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBwYXJzZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/subprotocol.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/validation.js": -/*!*******************************************!*\ - !*** ./node_modules/ws/lib/validation.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\nconst { isUtf8 } = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\");\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\n// prettier-ignore\nconst tokenChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nfunction isValidStatusCode(code) {\n return (\n (code >= 1000 &&\n code <= 1014 &&\n code !== 1004 &&\n code !== 1005 &&\n code !== 1006) ||\n (code >= 3000 && code <= 4999)\n );\n}\n\n/**\n * Checks if a given buffer contains only correct UTF-8.\n * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by\n * Markus Kuhn.\n *\n * @param {Buffer} buf The buffer to check\n * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`\n * @public\n */\nfunction _isValidUTF8(buf) {\n const len = buf.length;\n let i = 0;\n\n while (i < len) {\n if ((buf[i] & 0x80) === 0) {\n // 0xxxxxxx\n i++;\n } else if ((buf[i] & 0xe0) === 0xc0) {\n // 110xxxxx 10xxxxxx\n if (\n i + 1 === len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i] & 0xfe) === 0xc0 // Overlong\n ) {\n return false;\n }\n\n i += 2;\n } else if ((buf[i] & 0xf0) === 0xe0) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n if (\n i + 2 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n (buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80) || // Overlong\n (buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0) // Surrogate (U+D800 - U+DFFF)\n ) {\n return false;\n }\n\n i += 3;\n } else if ((buf[i] & 0xf8) === 0xf0) {\n // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n if (\n i + 3 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n (buf[i + 3] & 0xc0) !== 0x80 ||\n (buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80) || // Overlong\n (buf[i] === 0xf4 && buf[i + 1] > 0x8f) ||\n buf[i] > 0xf4 // > U+10FFFF\n ) {\n return false;\n }\n\n i += 4;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = {\n isValidStatusCode,\n isValidUTF8: _isValidUTF8,\n tokenChars\n};\n\nif (isUtf8) {\n module.exports.isValidUTF8 = function (buf) {\n return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);\n };\n} /* istanbul ignore else */ else if (!process.env.WS_NO_UTF_8_VALIDATE) {\n try {\n const isValidUTF8 = __webpack_require__(/*! utf-8-validate */ \"./node_modules/utf-8-validate/index.js\");\n\n module.exports.isValidUTF8 = function (buf) {\n return buf.length < 32 ? _isValidUTF8(buf) : isValidUTF8(buf);\n };\n } catch (e) {\n // Continue regardless of the error.\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL3ZhbGlkYXRpb24uanMiLCJtYXBwaW5ncyI6IjtBQUFhOztBQUViLFFBQVEsU0FBUyxFQUFFLG1CQUFPLENBQUMsOENBQVE7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixZQUFZLFNBQVM7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxTQUFTO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUUsMEJBQTBCO0FBQzVCO0FBQ0E7QUFDQSxFQUFFLHNDQUFzQyxPQUFPO0FBQy9DO0FBQ0Esd0JBQXdCLG1CQUFPLENBQUMsOERBQWdCOztBQUVoRCxJQUFJLDBCQUEwQjtBQUM5QjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd3MvbGliL3ZhbGlkYXRpb24uanM/ODJlNCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHsgaXNVdGY4IH0gPSByZXF1aXJlKCdidWZmZXInKTtcblxuLy9cbi8vIEFsbG93ZWQgdG9rZW4gY2hhcmFjdGVyczpcbi8vXG4vLyAnIScsICcjJywgJyQnLCAnJScsICcmJywgJycnLCAnKicsICcrJywgJy0nLFxuLy8gJy4nLCAwLTksIEEtWiwgJ14nLCAnXycsICdgJywgYS16LCAnfCcsICd+J1xuLy9cbi8vIHRva2VuQ2hhcnNbMzJdID09PSAwIC8vICcgJ1xuLy8gdG9rZW5DaGFyc1szM10gPT09IDEgLy8gJyEnXG4vLyB0b2tlbkNoYXJzWzM0XSA9PT0gMCAvLyAnXCInXG4vLyAuLi5cbi8vXG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IHRva2VuQ2hhcnMgPSBbXG4gIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIDAgLSAxNVxuICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyAxNiAtIDMxXG4gIDAsIDEsIDAsIDEsIDEsIDEsIDEsIDEsIDAsIDAsIDEsIDEsIDAsIDEsIDEsIDAsIC8vIDMyIC0gNDdcbiAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gNDggLSA2M1xuICAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAvLyA2NCAtIDc5XG4gIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDAsIDAsIDAsIDEsIDEsIC8vIDgwIC0gOTVcbiAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgLy8gOTYgLSAxMTFcbiAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgMSwgMCwgMSwgMCAvLyAxMTIgLSAxMjdcbl07XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgc3RhdHVzIGNvZGUgaXMgYWxsb3dlZCBpbiBhIGNsb3NlIGZyYW1lLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBjb2RlIFRoZSBzdGF0dXMgY29kZVxuICogQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIHRoZSBzdGF0dXMgY29kZSBpcyB2YWxpZCwgZWxzZSBgZmFsc2VgXG4gKiBAcHVibGljXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRTdGF0dXNDb2RlKGNvZGUpIHtcbiAgcmV0dXJuIChcbiAgICAoY29kZSA+PSAxMDAwICYmXG4gICAgICBjb2RlIDw9IDEwMTQgJiZcbiAgICAgIGNvZGUgIT09IDEwMDQgJiZcbiAgICAgIGNvZGUgIT09IDEwMDUgJiZcbiAgICAgIGNvZGUgIT09IDEwMDYpIHx8XG4gICAgKGNvZGUgPj0gMzAwMCAmJiBjb2RlIDw9IDQ5OTkpXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZ2l2ZW4gYnVmZmVyIGNvbnRhaW5zIG9ubHkgY29ycmVjdCBVVEYtOC5cbiAqIFBvcnRlZCBmcm9tIGh0dHBzOi8vd3d3LmNsLmNhbS5hYy51ay8lN0VtZ2syNS91Y3MvdXRmOF9jaGVjay5jIGJ5XG4gKiBNYXJrdXMgS3Vobi5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmIFRoZSBidWZmZXIgdG8gY2hlY2tcbiAqIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgYnVmYCBjb250YWlucyBvbmx5IGNvcnJlY3QgVVRGLTgsIGVsc2UgYGZhbHNlYFxuICogQHB1YmxpY1xuICovXG5mdW5jdGlvbiBfaXNWYWxpZFVURjgoYnVmKSB7XG4gIGNvbnN0IGxlbiA9IGJ1Zi5sZW5ndGg7XG4gIGxldCBpID0gMDtcblxuICB3aGlsZSAoaSA8IGxlbikge1xuICAgIGlmICgoYnVmW2ldICYgMHg4MCkgPT09IDApIHtcbiAgICAgIC8vIDB4eHh4eHh4XG4gICAgICBpKys7XG4gICAgfSBlbHNlIGlmICgoYnVmW2ldICYgMHhlMCkgPT09IDB4YzApIHtcbiAgICAgIC8vIDExMHh4eHh4IDEweHh4eHh4XG4gICAgICBpZiAoXG4gICAgICAgIGkgKyAxID09PSBsZW4gfHxcbiAgICAgICAgKGJ1ZltpICsgMV0gJiAweGMwKSAhPT0gMHg4MCB8fFxuICAgICAgICAoYnVmW2ldICYgMHhmZSkgPT09IDB4YzAgLy8gT3ZlcmxvbmdcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGkgKz0gMjtcbiAgICB9IGVsc2UgaWYgKChidWZbaV0gJiAweGYwKSA9PT0gMHhlMCkge1xuICAgICAgLy8gMTExMHh4eHggMTB4eHh4eHggMTB4eHh4eHhcbiAgICAgIGlmIChcbiAgICAgICAgaSArIDIgPj0gbGVuIHx8XG4gICAgICAgIChidWZbaSArIDFdICYgMHhjMCkgIT09IDB4ODAgfHxcbiAgICAgICAgKGJ1ZltpICsgMl0gJiAweGMwKSAhPT0gMHg4MCB8fFxuICAgICAgICAoYnVmW2ldID09PSAweGUwICYmIChidWZbaSArIDFdICYgMHhlMCkgPT09IDB4ODApIHx8IC8vIE92ZXJsb25nXG4gICAgICAgIChidWZbaV0gPT09IDB4ZWQgJiYgKGJ1ZltpICsgMV0gJiAweGUwKSA9PT0gMHhhMCkgLy8gU3Vycm9nYXRlIChVK0Q4MDAgLSBVK0RGRkYpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpICs9IDM7XG4gICAgfSBlbHNlIGlmICgoYnVmW2ldICYgMHhmOCkgPT09IDB4ZjApIHtcbiAgICAgIC8vIDExMTEweHh4IDEweHh4eHh4IDEweHh4eHh4IDEweHh4eHh4XG4gICAgICBpZiAoXG4gICAgICAgIGkgKyAzID49IGxlbiB8fFxuICAgICAgICAoYnVmW2kgKyAxXSAmIDB4YzApICE9PSAweDgwIHx8XG4gICAgICAgIChidWZbaSArIDJdICYgMHhjMCkgIT09IDB4ODAgfHxcbiAgICAgICAgKGJ1ZltpICsgM10gJiAweGMwKSAhPT0gMHg4MCB8fFxuICAgICAgICAoYnVmW2ldID09PSAweGYwICYmIChidWZbaSArIDFdICYgMHhmMCkgPT09IDB4ODApIHx8IC8vIE92ZXJsb25nXG4gICAgICAgIChidWZbaV0gPT09IDB4ZjQgJiYgYnVmW2kgKyAxXSA+IDB4OGYpIHx8XG4gICAgICAgIGJ1ZltpXSA+IDB4ZjQgLy8gPiBVKzEwRkZGRlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaSArPSA0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBpc1ZhbGlkU3RhdHVzQ29kZSxcbiAgaXNWYWxpZFVURjg6IF9pc1ZhbGlkVVRGOCxcbiAgdG9rZW5DaGFyc1xufTtcblxuaWYgKGlzVXRmOCkge1xuICBtb2R1bGUuZXhwb3J0cy5pc1ZhbGlkVVRGOCA9IGZ1bmN0aW9uIChidWYpIHtcbiAgICByZXR1cm4gYnVmLmxlbmd0aCA8IDI0ID8gX2lzVmFsaWRVVEY4KGJ1ZikgOiBpc1V0ZjgoYnVmKTtcbiAgfTtcbn0gLyogaXN0YW5idWwgaWdub3JlIGVsc2UgICovIGVsc2UgaWYgKCFwcm9jZXNzLmVudi5XU19OT19VVEZfOF9WQUxJREFURSkge1xuICB0cnkge1xuICAgIGNvbnN0IGlzVmFsaWRVVEY4ID0gcmVxdWlyZSgndXRmLTgtdmFsaWRhdGUnKTtcblxuICAgIG1vZHVsZS5leHBvcnRzLmlzVmFsaWRVVEY4ID0gZnVuY3Rpb24gKGJ1Zikge1xuICAgICAgcmV0dXJuIGJ1Zi5sZW5ndGggPCAzMiA/IF9pc1ZhbGlkVVRGOChidWYpIDogaXNWYWxpZFVURjgoYnVmKTtcbiAgICB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gQ29udGludWUgcmVnYXJkbGVzcyBvZiB0aGUgZXJyb3IuXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/validation.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/websocket-server.js": -/*!*************************************************!*\ - !*** ./node_modules/ws/lib/websocket-server.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^net|tls|https$\" }] */\n\n\n\nconst EventEmitter = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\nconst http = __webpack_require__(/*! http */ \"./node_modules/next/dist/compiled/stream-http/index.js\");\nconst https = __webpack_require__(/*! https */ \"./node_modules/next/dist/compiled/https-browserify/index.js\");\nconst net = __webpack_require__(/*! net */ \"?8ffc\");\nconst tls = __webpack_require__(/*! tls */ \"?2c9b\");\nconst { createHash } = __webpack_require__(/*! crypto */ \"./node_modules/next/dist/compiled/crypto-browserify/index.js\");\n\nconst extension = __webpack_require__(/*! ./extension */ \"./node_modules/ws/lib/extension.js\");\nconst PerMessageDeflate = __webpack_require__(/*! ./permessage-deflate */ \"./node_modules/ws/lib/permessage-deflate.js\");\nconst subprotocol = __webpack_require__(/*! ./subprotocol */ \"./node_modules/ws/lib/subprotocol.js\");\nconst WebSocket = __webpack_require__(/*! ./websocket */ \"./node_modules/ws/lib/websocket.js\");\nconst { GUID, kWebSocket } = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\n\nconst keyRegex = /^[+/0-9A-Za-z]{22}==$/;\n\nconst RUNNING = 0;\nconst CLOSING = 1;\nconst CLOSED = 2;\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n /**\n * Create a `WebSocketServer` instance.\n *\n * @param {Object} options Configuration options\n * @param {Number} [options.backlog=511] The maximum length of the queue of\n * pending connections\n * @param {Boolean} [options.clientTracking=true] Specifies whether or not to\n * track clients\n * @param {Function} [options.handleProtocols] A hook to handle protocols\n * @param {String} [options.host] The hostname where to bind the server\n * @param {Number} [options.maxPayload=104857600] The maximum allowed message\n * size\n * @param {Boolean} [options.noServer=false] Enable no server mode\n * @param {String} [options.path] Accept only connections matching this path\n * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable\n * permessage-deflate\n * @param {Number} [options.port] The port where to bind the server\n * @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S\n * server to use\n * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n * not to skip UTF-8 validation for text and close messages\n * @param {Function} [options.verifyClient] A hook to reject connections\n * @param {Function} [options.WebSocket=WebSocket] Specifies the `WebSocket`\n * class to use. It must be the `WebSocket` class or class that extends it\n * @param {Function} [callback] A listener for the `listening` event\n */\n constructor(options, callback) {\n super();\n\n options = {\n maxPayload: 100 * 1024 * 1024,\n skipUTF8Validation: false,\n perMessageDeflate: false,\n handleProtocols: null,\n clientTracking: true,\n verifyClient: null,\n noServer: false,\n backlog: null, // use default (511 as implemented in net.js)\n server: null,\n host: null,\n path: null,\n port: null,\n WebSocket,\n ...options\n };\n\n if (\n (options.port == null && !options.server && !options.noServer) ||\n (options.port != null && (options.server || options.noServer)) ||\n (options.server && options.noServer)\n ) {\n throw new TypeError(\n 'One and only one of the \"port\", \"server\", or \"noServer\" options ' +\n 'must be specified'\n );\n }\n\n if (options.port != null) {\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n\n res.writeHead(426, {\n 'Content-Length': body.length,\n 'Content-Type': 'text/plain'\n });\n res.end(body);\n });\n this._server.listen(\n options.port,\n options.host,\n options.backlog,\n callback\n );\n } else if (options.server) {\n this._server = options.server;\n }\n\n if (this._server) {\n const emitConnection = this.emit.bind(this, 'connection');\n\n this._removeListeners = addListeners(this._server, {\n listening: this.emit.bind(this, 'listening'),\n error: this.emit.bind(this, 'error'),\n upgrade: (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n }\n });\n }\n\n if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n if (options.clientTracking) {\n this.clients = new Set();\n this._shouldEmitClose = false;\n }\n\n this.options = options;\n this._state = RUNNING;\n }\n\n /**\n * Returns the bound address, the address family name, and port of the server\n * as reported by the operating system if listening on an IP socket.\n * If the server is listening on a pipe or UNIX domain socket, the name is\n * returned as a string.\n *\n * @return {(Object|String|null)} The address of the server\n * @public\n */\n address() {\n if (this.options.noServer) {\n throw new Error('The server is operating in \"noServer\" mode');\n }\n\n if (!this._server) return null;\n return this._server.address();\n }\n\n /**\n * Stop the server from accepting new connections and emit the `'close'` event\n * when all existing connections are closed.\n *\n * @param {Function} [cb] A one-time listener for the `'close'` event\n * @public\n */\n close(cb) {\n if (this._state === CLOSED) {\n if (cb) {\n this.once('close', () => {\n cb(new Error('The server is not running'));\n });\n }\n\n process.nextTick(emitClose, this);\n return;\n }\n\n if (cb) this.once('close', cb);\n\n if (this._state === CLOSING) return;\n this._state = CLOSING;\n\n if (this.options.noServer || this.options.server) {\n if (this._server) {\n this._removeListeners();\n this._removeListeners = this._server = null;\n }\n\n if (this.clients) {\n if (!this.clients.size) {\n process.nextTick(emitClose, this);\n } else {\n this._shouldEmitClose = true;\n }\n } else {\n process.nextTick(emitClose, this);\n }\n } else {\n const server = this._server;\n\n this._removeListeners();\n this._removeListeners = this._server = null;\n\n //\n // The HTTP/S server was created internally. Close it, and rely on its\n // `'close'` event.\n //\n server.close(() => {\n emitClose(this);\n });\n }\n }\n\n /**\n * See if a given request should be handled by this server instance.\n *\n * @param {http.IncomingMessage} req Request object to inspect\n * @return {Boolean} `true` if the request is valid, else `false`\n * @public\n */\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf('?');\n const pathname = index !== -1 ? req.url.slice(0, index) : req.url;\n\n if (pathname !== this.options.path) return false;\n }\n\n return true;\n }\n\n /**\n * Handle a HTTP Upgrade request.\n *\n * @param {http.IncomingMessage} req The request object\n * @param {(net.Socket|tls.Socket)} socket The network socket between the\n * server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @public\n */\n handleUpgrade(req, socket, head, cb) {\n socket.on('error', socketOnError);\n\n const key = req.headers['sec-websocket-key'];\n const version = +req.headers['sec-websocket-version'];\n\n if (req.method !== 'GET') {\n const message = 'Invalid HTTP method';\n abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);\n return;\n }\n\n if (req.headers.upgrade.toLowerCase() !== 'websocket') {\n const message = 'Invalid Upgrade header';\n abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n return;\n }\n\n if (!key || !keyRegex.test(key)) {\n const message = 'Missing or invalid Sec-WebSocket-Key header';\n abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n return;\n }\n\n if (version !== 8 && version !== 13) {\n const message = 'Missing or invalid Sec-WebSocket-Version header';\n abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n return;\n }\n\n if (!this.shouldHandle(req)) {\n abortHandshake(socket, 400);\n return;\n }\n\n const secWebSocketProtocol = req.headers['sec-websocket-protocol'];\n let protocols = new Set();\n\n if (secWebSocketProtocol !== undefined) {\n try {\n protocols = subprotocol.parse(secWebSocketProtocol);\n } catch (err) {\n const message = 'Invalid Sec-WebSocket-Protocol header';\n abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n return;\n }\n }\n\n const secWebSocketExtensions = req.headers['sec-websocket-extensions'];\n const extensions = {};\n\n if (\n this.options.perMessageDeflate &&\n secWebSocketExtensions !== undefined\n ) {\n const perMessageDeflate = new PerMessageDeflate(\n this.options.perMessageDeflate,\n true,\n this.options.maxPayload\n );\n\n try {\n const offers = extension.parse(secWebSocketExtensions);\n\n if (offers[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n const message =\n 'Invalid or unacceptable Sec-WebSocket-Extensions header';\n abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n return;\n }\n }\n\n //\n // Optionally call external client verification handler.\n //\n if (this.options.verifyClient) {\n const info = {\n origin:\n req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified) {\n return abortHandshake(socket, code || 401, message, headers);\n }\n\n this.completeUpgrade(\n extensions,\n key,\n protocols,\n req,\n socket,\n head,\n cb\n );\n });\n return;\n }\n\n if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n }\n\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n\n /**\n * Upgrade the connection to WebSocket.\n *\n * @param {Object} extensions The accepted extensions\n * @param {String} key The value of the `Sec-WebSocket-Key` header\n * @param {Set} protocols The subprotocols\n * @param {http.IncomingMessage} req The request object\n * @param {(net.Socket|tls.Socket)} socket The network socket between the\n * server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @throws {Error} If called more than once with the same socket\n * @private\n */\n completeUpgrade(extensions, key, protocols, req, socket, head, cb) {\n //\n // Destroy the socket if the client has already sent a FIN packet.\n //\n if (!socket.readable || !socket.writable) return socket.destroy();\n\n if (socket[kWebSocket]) {\n throw new Error(\n 'server.handleUpgrade() was called more than once with the same ' +\n 'socket, possibly due to a misconfiguration'\n );\n }\n\n if (this._state > RUNNING) return abortHandshake(socket, 503);\n\n const digest = createHash('sha1')\n .update(key + GUID)\n .digest('base64');\n\n const headers = [\n 'HTTP/1.1 101 Switching Protocols',\n 'Upgrade: websocket',\n 'Connection: Upgrade',\n `Sec-WebSocket-Accept: ${digest}`\n ];\n\n const ws = new this.options.WebSocket(null);\n\n if (protocols.size) {\n //\n // Optionally call external protocol selection handler.\n //\n const protocol = this.options.handleProtocols\n ? this.options.handleProtocols(protocols, req)\n : protocols.values().next().value;\n\n if (protocol) {\n headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n ws._protocol = protocol;\n }\n }\n\n if (extensions[PerMessageDeflate.extensionName]) {\n const params = extensions[PerMessageDeflate.extensionName].params;\n const value = extension.format({\n [PerMessageDeflate.extensionName]: [params]\n });\n headers.push(`Sec-WebSocket-Extensions: ${value}`);\n ws._extensions = extensions;\n }\n\n //\n // Allow external modification/inspection of handshake headers.\n //\n this.emit('headers', headers, req);\n\n socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n socket.removeListener('error', socketOnError);\n\n ws.setSocket(socket, head, {\n maxPayload: this.options.maxPayload,\n skipUTF8Validation: this.options.skipUTF8Validation\n });\n\n if (this.clients) {\n this.clients.add(ws);\n ws.on('close', () => {\n this.clients.delete(ws);\n\n if (this._shouldEmitClose && !this.clients.size) {\n process.nextTick(emitClose, this);\n }\n });\n }\n\n cb(ws, req);\n }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of <event, listener>\n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.<String, Function>} map The listeners to add\n * @return {Function} A function that will remove the added listeners when\n * called\n * @private\n */\nfunction addListeners(server, map) {\n for (const event of Object.keys(map)) server.on(event, map[event]);\n\n return function removeListeners() {\n for (const event of Object.keys(map)) {\n server.removeListener(event, map[event]);\n }\n };\n}\n\n/**\n * Emit a `'close'` event on an `EventEmitter`.\n *\n * @param {EventEmitter} server The event emitter\n * @private\n */\nfunction emitClose(server) {\n server._state = CLOSED;\n server.emit('close');\n}\n\n/**\n * Handle socket errors.\n *\n * @private\n */\nfunction socketOnError() {\n this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {(net.Socket|tls.Socket)} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @param {Object} [headers] Additional HTTP response headers\n * @private\n */\nfunction abortHandshake(socket, code, message, headers) {\n //\n // The socket is writable unless the user destroyed or ended it before calling\n // `server.handleUpgrade()` or in the `verifyClient` function, which is a user\n // error. Handling this does not make much sense as the worst that can happen\n // is that some of the data written by the user might be discarded due to the\n // call to `socket.end()` below, which triggers an `'error'` event that in\n // turn causes the socket to be destroyed.\n //\n message = message || http.STATUS_CODES[code];\n headers = {\n Connection: 'close',\n 'Content-Type': 'text/html',\n 'Content-Length': Buffer.byteLength(message),\n ...headers\n };\n\n socket.once('finish', socket.destroy);\n\n socket.end(\n `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n Object.keys(headers)\n .map((h) => `${h}: ${headers[h]}`)\n .join('\\r\\n') +\n '\\r\\n\\r\\n' +\n message\n );\n}\n\n/**\n * Emit a `'wsClientError'` event on a `WebSocketServer` if there is at least\n * one listener for it, otherwise call `abortHandshake()`.\n *\n * @param {WebSocketServer} server The WebSocket server\n * @param {http.IncomingMessage} req The request object\n * @param {(net.Socket|tls.Socket)} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} message The HTTP response body\n * @private\n */\nfunction abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {\n if (server.listenerCount('wsClientError')) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);\n\n server.emit('wsClientError', err, socket, req);\n } else {\n abortHandshake(socket, code, message);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd3MvbGliL3dlYnNvY2tldC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBc0Msd0NBQXdDOztBQUVqRTs7QUFFYixxQkFBcUIsbUJBQU8sQ0FBQywrQ0FBUTtBQUNyQyxhQUFhLG1CQUFPLENBQUMsb0VBQU07QUFDM0IsY0FBYyxtQkFBTyxDQUFDLDBFQUFPO0FBQzdCLFlBQVksbUJBQU8sQ0FBQyxrQkFBSztBQUN6QixZQUFZLG1CQUFPLENBQUMsa0JBQUs7QUFDekIsUUFBUSxhQUFhLEVBQUUsbUJBQU8sQ0FBQyw0RUFBUTs7QUFFdkMsa0JBQWtCLG1CQUFPLENBQUMsdURBQWE7QUFDdkMsMEJBQTBCLG1CQUFPLENBQUMseUVBQXNCO0FBQ3hELG9CQUFvQixtQkFBTyxDQUFDLDJEQUFlO0FBQzNDLGtCQUFrQixtQkFBTyxDQUFDLHVEQUFhO0FBQ3ZDLFFBQVEsbUJBQW1CLEVBQUUsbUJBQU8sQ0FBQyx1REFBYTs7QUFFbEQsaUNBQWlDLEdBQUc7O0FBRXBDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0EsYUFBYSxVQUFVO0FBQ3ZCLGFBQWEsUUFBUTtBQUNyQixhQUFhLFFBQVE7QUFDckI7QUFDQSxhQUFhLFNBQVM7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsa0JBQWtCO0FBQy9CO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsNEJBQTRCO0FBQ3pDO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0EsYUFBYSxVQUFVO0FBQ3ZCLGFBQWEsVUFBVTtBQUN2QjtBQUNBLGFBQWEsVUFBVTtBQUN2QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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LmpzPzAxMGIiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBbXCJlcnJvclwiLCB7IFwidmFyc0lnbm9yZVBhdHRlcm5cIjogXCJebmV0fHRsc3xodHRwcyRcIiB9XSAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IEV2ZW50RW1pdHRlciA9IHJlcXVpcmUoJ2V2ZW50cycpO1xuY29uc3QgaHR0cCA9IHJlcXVpcmUoJ2h0dHAnKTtcbmNvbnN0IGh0dHBzID0gcmVxdWlyZSgnaHR0cHMnKTtcbmNvbnN0IG5ldCA9IHJlcXVpcmUoJ25ldCcpO1xuY29uc3QgdGxzID0gcmVxdWlyZSgndGxzJyk7XG5jb25zdCB7IGNyZWF0ZUhhc2ggfSA9IHJlcXVpcmUoJ2NyeXB0bycpO1xuXG5jb25zdCBleHRlbnNpb24gPSByZXF1aXJlKCcuL2V4dGVuc2lvbicpO1xuY29uc3QgUGVyTWVzc2FnZURlZmxhdGUgPSByZXF1aXJlKCcuL3Blcm1lc3NhZ2UtZGVmbGF0ZScpO1xuY29uc3Qgc3VicHJvdG9jb2wgPSByZXF1aXJlKCcuL3N1YnByb3RvY29sJyk7XG5jb25zdCBXZWJTb2NrZXQgPSByZXF1aXJlKCcuL3dlYnNvY2tldCcpO1xuY29uc3QgeyBHVUlELCBrV2ViU29ja2V0IH0gPSByZXF1aXJlKCcuL2NvbnN0YW50cycpO1xuXG5jb25zdCBrZXlSZWdleCA9IC9eWysvMC05QS1aYS16XXsyMn09PSQvO1xuXG5jb25zdCBSVU5OSU5HID0gMDtcbmNvbnN0IENMT1NJTkcgPSAxO1xuY29uc3QgQ0xPU0VEID0gMjtcblxuLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgYSBXZWJTb2NrZXQgc2VydmVyLlxuICpcbiAqIEBleHRlbmRzIEV2ZW50RW1pdHRlclxuICovXG5jbGFzcyBXZWJTb2NrZXRTZXJ2ZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAvKipcbiAgICogQ3JlYXRlIGEgYFdlYlNvY2tldFNlcnZlcmAgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIENvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMuYmFja2xvZz01MTFdIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgcXVldWUgb2ZcbiAgICogICAgIHBlbmRpbmcgY29ubmVjdGlvbnNcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5jbGllbnRUcmFja2luZz10cnVlXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG9cbiAgICogICAgIHRyYWNrIGNsaWVudHNcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuaGFuZGxlUHJvdG9jb2xzXSBBIGhvb2sgdG8gaGFuZGxlIHByb3RvY29sc1xuICAgKiBAcGFyYW0ge1N0cmluZ30gW29wdGlvbnMuaG9zdF0gVGhlIGhvc3RuYW1lIHdoZXJlIHRvIGJpbmQgdGhlIHNlcnZlclxuICAgKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMubWF4UGF5bG9hZD0xMDQ4NTc2MDBdIFRoZSBtYXhpbXVtIGFsbG93ZWQgbWVzc2FnZVxuICAgKiAgICAgc2l6ZVxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLm5vU2VydmVyPWZhbHNlXSBFbmFibGUgbm8gc2VydmVyIG1vZGVcbiAgICogQHBhcmFtIHtTdHJpbmd9IFtvcHRpb25zLnBhdGhdIEFjY2VwdCBvbmx5IGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoaXMgcGF0aFxuICAgKiBAcGFyYW0geyhCb29sZWFufE9iamVjdCl9IFtvcHRpb25zLnBlck1lc3NhZ2VEZWZsYXRlPWZhbHNlXSBFbmFibGUvZGlzYWJsZVxuICAgKiAgICAgcGVybWVzc2FnZS1kZWZsYXRlXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy5wb3J0XSBUaGUgcG9ydCB3aGVyZSB0byBiaW5kIHRoZSBzZXJ2ZXJcbiAgICogQHBhcmFtIHsoaHR0cC5TZXJ2ZXJ8aHR0cHMuU2VydmVyKX0gW29wdGlvbnMuc2VydmVyXSBBIHByZS1jcmVhdGVkIEhUVFAvU1xuICAgKiAgICAgc2VydmVyIHRvIHVzZVxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLnNraXBVVEY4VmFsaWRhdGlvbj1mYWxzZV0gU3BlY2lmaWVzIHdoZXRoZXIgb3JcbiAgICogICAgIG5vdCB0byBza2lwIFVURi04IHZhbGlkYXRpb24gZm9yIHRleHQgYW5kIGNsb3NlIG1lc3NhZ2VzXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLnZlcmlmeUNsaWVudF0gQSBob29rIHRvIHJlamVjdCBjb25uZWN0aW9uc1xuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb3B0aW9ucy5XZWJTb2NrZXQ9V2ViU29ja2V0XSBTcGVjaWZpZXMgdGhlIGBXZWJTb2NrZXRgXG4gICAqICAgICBjbGFzcyB0byB1c2UuIEl0IG11c3QgYmUgdGhlIGBXZWJTb2NrZXRgIGNsYXNzIG9yIGNsYXNzIHRoYXQgZXh0ZW5kcyBpdFxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY2FsbGJhY2tdIEEgbGlzdGVuZXIgZm9yIHRoZSBgbGlzdGVuaW5nYCBldmVudFxuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICBzdXBlcigpO1xuXG4gICAgb3B0aW9ucyA9IHtcbiAgICAgIG1heFBheWxvYWQ6IDEwMCAqIDEwMjQgKiAxMDI0LFxuICAgICAgc2tpcFVURjhWYWxpZGF0aW9uOiBmYWxzZSxcbiAgICAgIHBlck1lc3NhZ2VEZWZsYXRlOiBmYWxzZSxcbiAgICAgIGhhbmRsZVByb3RvY29sczogbnVsbCxcbiAgICAgIGNsaWVudFRyYWNraW5nOiB0cnVlLFxuICAgICAgdmVyaWZ5Q2xpZW50OiBudWxsLFxuICAgICAgbm9TZXJ2ZXI6IGZhbHNlLFxuICAgICAgYmFja2xvZzogbnVsbCwgLy8gdXNlIGRlZmF1bHQgKDUxMSBhcyBpbXBsZW1lbnRlZCBpbiBuZXQuanMpXG4gICAgICBzZXJ2ZXI6IG51bGwsXG4gICAgICBob3N0OiBudWxsLFxuICAgICAgcGF0aDogbnVsbCxcbiAgICAgIHBvcnQ6IG51bGwsXG4gICAgICBXZWJTb2NrZXQsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcblxuICAgIGlmIChcbiAgICAgIChvcHRpb25zLnBvcnQgPT0gbnVsbCAmJiAhb3B0aW9ucy5zZXJ2ZXIgJiYgIW9wdGlvbnMubm9TZXJ2ZXIpIHx8XG4gICAgICAob3B0aW9ucy5wb3J0ICE9IG51bGwgJiYgKG9wdGlvbnMuc2VydmVyIHx8IG9wdGlvbnMubm9TZXJ2ZXIpKSB8fFxuICAgICAgKG9wdGlvbnMuc2VydmVyICYmIG9wdGlvbnMubm9TZXJ2ZXIpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAnT25lIGFuZCBvbmx5IG9uZSBvZiB0aGUgXCJwb3J0XCIsIFwic2VydmVyXCIsIG9yIFwibm9TZXJ2ZXJcIiBvcHRpb25zICcgK1xuICAgICAgICAgICdtdXN0IGJlIHNwZWNpZmllZCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucG9ydCAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9zZXJ2ZXIgPSBodHRwLmNyZWF0ZVNlcnZlcigocmVxLCByZXMpID0+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IGh0dHAuU1RBVFVTX0NPREVTWzQyNl07XG5cbiAgICAgICAgcmVzLndyaXRlSGVhZCg0MjYsIHtcbiAgICAgICAgICAnQ29udGVudC1MZW5ndGgnOiBib2R5Lmxlbmd0aCxcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nXG4gICAgICAgIH0pO1xuICAgICAgICByZXMuZW5kKGJvZHkpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9zZXJ2ZXIubGlzdGVuKFxuICAgICAgICBvcHRpb25zLnBvcnQsXG4gICAgICAgIG9wdGlvbnMuaG9zdCxcbiAgICAgICAgb3B0aW9ucy5iYWNrbG9nLFxuICAgICAgICBjYWxsYmFja1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc2VydmVyKSB7XG4gICAgICB0aGlzLl9zZXJ2ZXIgPSBvcHRpb25zLnNlcnZlcjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc2VydmVyKSB7XG4gICAgICBjb25zdCBlbWl0Q29ubmVjdGlvbiA9IHRoaXMuZW1pdC5iaW5kKHRoaXMsICdjb25uZWN0aW9uJyk7XG5cbiAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVycyA9IGFkZExpc3RlbmVycyh0aGlzLl9zZXJ2ZXIsIHtcbiAgICAgICAgbGlzdGVuaW5nOiB0aGlzLmVtaXQuYmluZCh0aGlzLCAnbGlzdGVuaW5nJyksXG4gICAgICAgIGVycm9yOiB0aGlzLmVtaXQuYmluZCh0aGlzLCAnZXJyb3InKSxcbiAgICAgICAgdXBncmFkZTogKHJlcSwgc29ja2V0LCBoZWFkKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVVcGdyYWRlKHJlcSwgc29ja2V0LCBoZWFkLCBlbWl0Q29ubmVjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnBlck1lc3NhZ2VEZWZsYXRlID09PSB0cnVlKSBvcHRpb25zLnBlck1lc3NhZ2VEZWZsYXRlID0ge307XG4gICAgaWYgKG9wdGlvbnMuY2xpZW50VHJhY2tpbmcpIHtcbiAgICAgIHRoaXMuY2xpZW50cyA9IG5ldyBTZXQoKTtcbiAgICAgIHRoaXMuX3Nob3VsZEVtaXRDbG9zZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5fc3RhdGUgPSBSVU5OSU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJvdW5kIGFkZHJlc3MsIHRoZSBhZGRyZXNzIGZhbWlseSBuYW1lLCBhbmQgcG9ydCBvZiB0aGUgc2VydmVyXG4gICAqIGFzIHJlcG9ydGVkIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGlmIGxpc3RlbmluZyBvbiBhbiBJUCBzb2NrZXQuXG4gICAqIElmIHRoZSBzZXJ2ZXIgaXMgbGlzdGVuaW5nIG9uIGEgcGlwZSBvciBVTklYIGRvbWFpbiBzb2NrZXQsIHRoZSBuYW1lIGlzXG4gICAqIHJldHVybmVkIGFzIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcmV0dXJuIHsoT2JqZWN0fFN0cmluZ3xudWxsKX0gVGhlIGFkZHJlc3Mgb2YgdGhlIHNlcnZlclxuICAgKiBAcHVibGljXG4gICAqL1xuICBhZGRyZXNzKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMubm9TZXJ2ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHNlcnZlciBpcyBvcGVyYXRpbmcgaW4gXCJub1NlcnZlclwiIG1vZGUnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX3NlcnZlcikgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMuX3NlcnZlci5hZGRyZXNzKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB0aGUgc2VydmVyIGZyb20gYWNjZXB0aW5nIG5ldyBjb25uZWN0aW9ucyBhbmQgZW1pdCB0aGUgYCdjbG9zZSdgIGV2ZW50XG4gICAqIHdoZW4gYWxsIGV4aXN0aW5nIGNvbm5lY3Rpb25zIGFyZSBjbG9zZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjYl0gQSBvbmUtdGltZSBsaXN0ZW5lciBmb3IgdGhlIGAnY2xvc2UnYCBldmVudFxuICAgKiBAcHVibGljXG4gICAqL1xuICBjbG9zZShjYikge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gQ0xPU0VEKSB7XG4gICAgICBpZiAoY2IpIHtcbiAgICAgICAgdGhpcy5vbmNlKCdjbG9zZScsICgpID0+IHtcbiAgICAgICAgICBjYihuZXcgRXJyb3IoJ1RoZSBzZXJ2ZXIgaXMgbm90IHJ1bm5pbmcnKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZSwgdGhpcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNiKSB0aGlzLm9uY2UoJ2Nsb3NlJywgY2IpO1xuXG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSBDTE9TSU5HKSByZXR1cm47XG4gICAgdGhpcy5fc3RhdGUgPSBDTE9TSU5HO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5ub1NlcnZlciB8fCB0aGlzLm9wdGlvbnMuc2VydmVyKSB7XG4gICAgICBpZiAodGhpcy5fc2VydmVyKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVycygpO1xuICAgICAgICB0aGlzLl9yZW1vdmVMaXN0ZW5lcnMgPSB0aGlzLl9zZXJ2ZXIgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jbGllbnRzKSB7XG4gICAgICAgIGlmICghdGhpcy5jbGllbnRzLnNpemUpIHtcbiAgICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZSwgdGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc2hvdWxkRW1pdENsb3NlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2UsIHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZXJ2ZXIgPSB0aGlzLl9zZXJ2ZXI7XG5cbiAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVycygpO1xuICAgICAgdGhpcy5fcmVtb3ZlTGlzdGVuZXJzID0gdGhpcy5fc2VydmVyID0gbnVsbDtcblxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBIVFRQL1Mgc2VydmVyIHdhcyBjcmVhdGVkIGludGVybmFsbHkuIENsb3NlIGl0LCBhbmQgcmVseSBvbiBpdHNcbiAgICAgIC8vIGAnY2xvc2UnYCBldmVudC5cbiAgICAgIC8vXG4gICAgICBzZXJ2ZXIuY2xvc2UoKCkgPT4ge1xuICAgICAgICBlbWl0Q2xvc2UodGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VlIGlmIGEgZ2l2ZW4gcmVxdWVzdCBzaG91bGQgYmUgaGFuZGxlZCBieSB0aGlzIHNlcnZlciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtodHRwLkluY29taW5nTWVzc2FnZX0gcmVxIFJlcXVlc3Qgb2JqZWN0IHRvIGluc3BlY3RcbiAgICogQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIHRoZSByZXF1ZXN0IGlzIHZhbGlkLCBlbHNlIGBmYWxzZWBcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgc2hvdWxkSGFuZGxlKHJlcSkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMucGF0aCkge1xuICAgICAgY29uc3QgaW5kZXggPSByZXEudXJsLmluZGV4T2YoJz8nKTtcbiAgICAgIGNvbnN0IHBhdGhuYW1lID0gaW5kZXggIT09IC0xID8gcmVxLnVybC5zbGljZSgwLCBpbmRleCkgOiByZXEudXJsO1xuXG4gICAgICBpZiAocGF0aG5hbWUgIT09IHRoaXMub3B0aW9ucy5wYXRoKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGEgSFRUUCBVcGdyYWRlIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB7aHR0cC5JbmNvbWluZ01lc3NhZ2V9IHJlcSBUaGUgcmVxdWVzdCBvYmplY3RcbiAgICogQHBhcmFtIHsobmV0LlNvY2tldHx0bHMuU29ja2V0KX0gc29ja2V0IFRoZSBuZXR3b3JrIHNvY2tldCBiZXR3ZWVuIHRoZVxuICAgKiAgICAgc2VydmVyIGFuZCBjbGllbnRcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGhlYWQgVGhlIGZpcnN0IHBhY2tldCBvZiB0aGUgdXBncmFkZWQgc3RyZWFtXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNiIENhbGxiYWNrXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIGhhbmRsZVVwZ3JhZGUocmVxLCBzb2NrZXQsIGhlYWQsIGNiKSB7XG4gICAgc29ja2V0Lm9uKCdlcnJvcicsIHNvY2tldE9uRXJyb3IpO1xuXG4gICAgY29uc3Qga2V5ID0gcmVxLmhlYWRlcnNbJ3NlYy13ZWJzb2NrZXQta2V5J107XG4gICAgY29uc3QgdmVyc2lvbiA9ICtyZXEuaGVhZGVyc1snc2VjLXdlYnNvY2tldC12ZXJzaW9uJ107XG5cbiAgICBpZiAocmVxLm1ldGhvZCAhPT0gJ0dFVCcpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnSW52YWxpZCBIVFRQIG1ldGhvZCc7XG4gICAgICBhYm9ydEhhbmRzaGFrZU9yRW1pdHdzQ2xpZW50RXJyb3IodGhpcywgcmVxLCBzb2NrZXQsIDQwNSwgbWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlcS5oZWFkZXJzLnVwZ3JhZGUudG9Mb3dlckNhc2UoKSAhPT0gJ3dlYnNvY2tldCcpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnSW52YWxpZCBVcGdyYWRlIGhlYWRlcic7XG4gICAgICBhYm9ydEhhbmRzaGFrZU9yRW1pdHdzQ2xpZW50RXJyb3IodGhpcywgcmVxLCBzb2NrZXQsIDQwMCwgbWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFrZXkgfHwgIWtleVJlZ2V4LnRlc3Qoa2V5KSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdNaXNzaW5nIG9yIGludmFsaWQgU2VjLVdlYlNvY2tldC1LZXkgaGVhZGVyJztcbiAgICAgIGFib3J0SGFuZHNoYWtlT3JFbWl0d3NDbGllbnRFcnJvcih0aGlzLCByZXEsIHNvY2tldCwgNDAwLCBtZXNzYWdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodmVyc2lvbiAhPT0gOCAmJiB2ZXJzaW9uICE9PSAxMykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdNaXNzaW5nIG9yIGludmFsaWQgU2VjLVdlYlNvY2tldC1WZXJzaW9uIGhlYWRlcic7XG4gICAgICBhYm9ydEhhbmRzaGFrZU9yRW1pdHdzQ2xpZW50RXJyb3IodGhpcywgcmVxLCBzb2NrZXQsIDQwMCwgbWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnNob3VsZEhhbmRsZShyZXEpKSB7XG4gICAgICBhYm9ydEhhbmRzaGFrZShzb2NrZXQsIDQwMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VjV2ViU29ja2V0UHJvdG9jb2wgPSByZXEuaGVhZGVyc1snc2VjLXdlYnNvY2tldC1wcm90b2NvbCddO1xuICAgIGxldCBwcm90b2NvbHMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAoc2VjV2ViU29ja2V0UHJvdG9jb2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJvdG9jb2xzID0gc3VicHJvdG9jb2wucGFyc2Uoc2VjV2ViU29ja2V0UHJvdG9jb2wpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnSW52YWxpZCBTZWMtV2ViU29ja2V0LVByb3RvY29sIGhlYWRlcic7XG4gICAgICAgIGFib3J0SGFuZHNoYWtlT3JFbWl0d3NDbGllbnRFcnJvcih0aGlzLCByZXEsIHNvY2tldCwgNDAwLCBtZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlY1dlYlNvY2tldEV4dGVuc2lvbnMgPSByZXEuaGVhZGVyc1snc2VjLXdlYnNvY2tldC1leHRlbnNpb25zJ107XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IHt9O1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5vcHRpb25zLnBlck1lc3NhZ2VEZWZsYXRlICYmXG4gICAgICBzZWNXZWJTb2NrZXRFeHRlbnNpb25zICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNvbnN0IHBlck1lc3NhZ2VEZWZsYXRlID0gbmV3IFBlck1lc3NhZ2VEZWZsYXRlKFxuICAgICAgICB0aGlzLm9wdGlvbnMucGVyTWVzc2FnZURlZmxhdGUsXG4gICAgICAgIHRydWUsXG4gICAgICAgIHRoaXMub3B0aW9ucy5tYXhQYXlsb2FkXG4gICAgICApO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBvZmZlcnMgPSBleHRlbnNpb24ucGFyc2Uoc2VjV2ViU29ja2V0RXh0ZW5zaW9ucyk7XG5cbiAgICAgICAgaWYgKG9mZmVyc1tQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXSkge1xuICAgICAgICAgIHBlck1lc3NhZ2VEZWZsYXRlLmFjY2VwdChvZmZlcnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV0pO1xuICAgICAgICAgIGV4dGVuc2lvbnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV0gPSBwZXJNZXNzYWdlRGVmbGF0ZTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICAgICdJbnZhbGlkIG9yIHVuYWNjZXB0YWJsZSBTZWMtV2ViU29ja2V0LUV4dGVuc2lvbnMgaGVhZGVyJztcbiAgICAgICAgYWJvcnRIYW5kc2hha2VPckVtaXR3c0NsaWVudEVycm9yKHRoaXMsIHJlcSwgc29ja2V0LCA0MDAsIG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBPcHRpb25hbGx5IGNhbGwgZXh0ZXJuYWwgY2xpZW50IHZlcmlmaWNhdGlvbiBoYW5kbGVyLlxuICAgIC8vXG4gICAgaWYgKHRoaXMub3B0aW9ucy52ZXJpZnlDbGllbnQpIHtcbiAgICAgIGNvbnN0IGluZm8gPSB7XG4gICAgICAgIG9yaWdpbjpcbiAgICAgICAgICByZXEuaGVhZGVyc1tgJHt2ZXJzaW9uID09PSA4ID8gJ3NlYy13ZWJzb2NrZXQtb3JpZ2luJyA6ICdvcmlnaW4nfWBdLFxuICAgICAgICBzZWN1cmU6ICEhKHJlcS5zb2NrZXQuYXV0aG9yaXplZCB8fCByZXEuc29ja2V0LmVuY3J5cHRlZCksXG4gICAgICAgIHJlcVxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucy52ZXJpZnlDbGllbnQubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy52ZXJpZnlDbGllbnQoaW5mbywgKHZlcmlmaWVkLCBjb2RlLCBtZXNzYWdlLCBoZWFkZXJzKSA9PiB7XG4gICAgICAgICAgaWYgKCF2ZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIGFib3J0SGFuZHNoYWtlKHNvY2tldCwgY29kZSB8fCA0MDEsIG1lc3NhZ2UsIGhlYWRlcnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuY29tcGxldGVVcGdyYWRlKFxuICAgICAgICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHByb3RvY29scyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHNvY2tldCxcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICBjYlxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5vcHRpb25zLnZlcmlmeUNsaWVudChpbmZvKSkgcmV0dXJuIGFib3J0SGFuZHNoYWtlKHNvY2tldCwgNDAxKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXBsZXRlVXBncmFkZShleHRlbnNpb25zLCBrZXksIHByb3RvY29scywgcmVxLCBzb2NrZXQsIGhlYWQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGdyYWRlIHRoZSBjb25uZWN0aW9uIHRvIFdlYlNvY2tldC5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IGV4dGVuc2lvbnMgVGhlIGFjY2VwdGVkIGV4dGVuc2lvbnNcbiAgICogQHBhcmFtIHtTdHJpbmd9IGtleSBUaGUgdmFsdWUgb2YgdGhlIGBTZWMtV2ViU29ja2V0LUtleWAgaGVhZGVyXG4gICAqIEBwYXJhbSB7U2V0fSBwcm90b2NvbHMgVGhlIHN1YnByb3RvY29sc1xuICAgKiBAcGFyYW0ge2h0dHAuSW5jb21pbmdNZXNzYWdlfSByZXEgVGhlIHJlcXVlc3Qgb2JqZWN0XG4gICAqIEBwYXJhbSB7KG5ldC5Tb2NrZXR8dGxzLlNvY2tldCl9IHNvY2tldCBUaGUgbmV0d29yayBzb2NrZXQgYmV0d2VlbiB0aGVcbiAgICogICAgIHNlcnZlciBhbmQgY2xpZW50XG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkIFRoZSBmaXJzdCBwYWNrZXQgb2YgdGhlIHVwZ3JhZGVkIHN0cmVhbVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYiBDYWxsYmFja1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIHdpdGggdGhlIHNhbWUgc29ja2V0XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb21wbGV0ZVVwZ3JhZGUoZXh0ZW5zaW9ucywga2V5LCBwcm90b2NvbHMsIHJlcSwgc29ja2V0LCBoZWFkLCBjYikge1xuICAgIC8vXG4gICAgLy8gRGVzdHJveSB0aGUgc29ja2V0IGlmIHRoZSBjbGllbnQgaGFzIGFscmVhZHkgc2VudCBhIEZJTiBwYWNrZXQuXG4gICAgLy9cbiAgICBpZiAoIXNvY2tldC5yZWFkYWJsZSB8fCAhc29ja2V0LndyaXRhYmxlKSByZXR1cm4gc29ja2V0LmRlc3Ryb3koKTtcblxuICAgIGlmIChzb2NrZXRba1dlYlNvY2tldF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3NlcnZlci5oYW5kbGVVcGdyYWRlKCkgd2FzIGNhbGxlZCBtb3JlIHRoYW4gb25jZSB3aXRoIHRoZSBzYW1lICcgK1xuICAgICAgICAgICdzb2NrZXQsIHBvc3NpYmx5IGR1ZSB0byBhIG1pc2NvbmZpZ3VyYXRpb24nXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zdGF0ZSA+IFJVTk5JTkcpIHJldHVybiBhYm9ydEhhbmRzaGFrZShzb2NrZXQsIDUwMyk7XG5cbiAgICBjb25zdCBkaWdlc3QgPSBjcmVhdGVIYXNoKCdzaGExJylcbiAgICAgIC51cGRhdGUoa2V5ICsgR1VJRClcbiAgICAgIC5kaWdlc3QoJ2Jhc2U2NCcpO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IFtcbiAgICAgICdIVFRQLzEuMSAxMDEgU3dpdGNoaW5nIFByb3RvY29scycsXG4gICAgICAnVXBncmFkZTogd2Vic29ja2V0JyxcbiAgICAgICdDb25uZWN0aW9uOiBVcGdyYWRlJyxcbiAgICAgIGBTZWMtV2ViU29ja2V0LUFjY2VwdDogJHtkaWdlc3R9YFxuICAgIF07XG5cbiAgICBjb25zdCB3cyA9IG5ldyB0aGlzLm9wdGlvbnMuV2ViU29ja2V0KG51bGwpO1xuXG4gICAgaWYgKHByb3RvY29scy5zaXplKSB7XG4gICAgICAvL1xuICAgICAgLy8gT3B0aW9uYWxseSBjYWxsIGV4dGVybmFsIHByb3RvY29sIHNlbGVjdGlvbiBoYW5kbGVyLlxuICAgICAgLy9cbiAgICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5vcHRpb25zLmhhbmRsZVByb3RvY29sc1xuICAgICAgICA/IHRoaXMub3B0aW9ucy5oYW5kbGVQcm90b2NvbHMocHJvdG9jb2xzLCByZXEpXG4gICAgICAgIDogcHJvdG9jb2xzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcblxuICAgICAgaWYgKHByb3RvY29sKSB7XG4gICAgICAgIGhlYWRlcnMucHVzaChgU2VjLVdlYlNvY2tldC1Qcm90b2NvbDogJHtwcm90b2NvbH1gKTtcbiAgICAgICAgd3MuX3Byb3RvY29sID0gcHJvdG9jb2w7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV4dGVuc2lvbnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV0pIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IGV4dGVuc2lvbnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV0ucGFyYW1zO1xuICAgICAgY29uc3QgdmFsdWUgPSBleHRlbnNpb24uZm9ybWF0KHtcbiAgICAgICAgW1Blck1lc3NhZ2VEZWZsYXRlLmV4dGVuc2lvbk5hbWVdOiBbcGFyYW1zXVxuICAgICAgfSk7XG4gICAgICBoZWFkZXJzLnB1c2goYFNlYy1XZWJTb2NrZXQtRXh0ZW5zaW9uczogJHt2YWx1ZX1gKTtcbiAgICAgIHdzLl9leHRlbnNpb25zID0gZXh0ZW5zaW9ucztcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEFsbG93IGV4dGVybmFsIG1vZGlmaWNhdGlvbi9pbnNwZWN0aW9uIG9mIGhhbmRzaGFrZSBoZWFkZXJzLlxuICAgIC8vXG4gICAgdGhpcy5lbWl0KCdoZWFkZXJzJywgaGVhZGVycywgcmVxKTtcblxuICAgIHNvY2tldC53cml0ZShoZWFkZXJzLmNvbmNhdCgnXFxyXFxuJykuam9pbignXFxyXFxuJykpO1xuICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBzb2NrZXRPbkVycm9yKTtcblxuICAgIHdzLnNldFNvY2tldChzb2NrZXQsIGhlYWQsIHtcbiAgICAgIG1heFBheWxvYWQ6IHRoaXMub3B0aW9ucy5tYXhQYXlsb2FkLFxuICAgICAgc2tpcFVURjhWYWxpZGF0aW9uOiB0aGlzLm9wdGlvbnMuc2tpcFVURjhWYWxpZGF0aW9uXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jbGllbnRzKSB7XG4gICAgICB0aGlzLmNsaWVudHMuYWRkKHdzKTtcbiAgICAgIHdzLm9uKCdjbG9zZScsICgpID0+IHtcbiAgICAgICAgdGhpcy5jbGllbnRzLmRlbGV0ZSh3cyk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZEVtaXRDbG9zZSAmJiAhdGhpcy5jbGllbnRzLnNpemUpIHtcbiAgICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNiKHdzLCByZXEpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gV2ViU29ja2V0U2VydmVyO1xuXG4vKipcbiAqIEFkZCBldmVudCBsaXN0ZW5lcnMgb24gYW4gYEV2ZW50RW1pdHRlcmAgdXNpbmcgYSBtYXAgb2YgPGV2ZW50LCBsaXN0ZW5lcj5cbiAqIHBhaXJzLlxuICpcbiAqIEBwYXJhbSB7RXZlbnRFbWl0dGVyfSBzZXJ2ZXIgVGhlIGV2ZW50IGVtaXR0ZXJcbiAqIEBwYXJhbSB7T2JqZWN0LjxTdHJpbmcsIEZ1bmN0aW9uPn0gbWFwIFRoZSBsaXN0ZW5lcnMgdG8gYWRkXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBmdW5jdGlvbiB0aGF0IHdpbGwgcmVtb3ZlIHRoZSBhZGRlZCBsaXN0ZW5lcnMgd2hlblxuICogICAgIGNhbGxlZFxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gYWRkTGlzdGVuZXJzKHNlcnZlciwgbWFwKSB7XG4gIGZvciAoY29uc3QgZXZlbnQgb2YgT2JqZWN0LmtleXMobWFwKSkgc2VydmVyLm9uKGV2ZW50LCBtYXBbZXZlbnRdKTtcblxuICByZXR1cm4gZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXJzKCkge1xuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgT2JqZWN0LmtleXMobWFwKSkge1xuICAgICAgc2VydmVyLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBtYXBbZXZlbnRdKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogRW1pdCBhIGAnY2xvc2UnYCBldmVudCBvbiBhbiBgRXZlbnRFbWl0dGVyYC5cbiAqXG4gKiBAcGFyYW0ge0V2ZW50RW1pdHRlcn0gc2VydmVyIFRoZSBldmVudCBlbWl0dGVyXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBlbWl0Q2xvc2Uoc2VydmVyKSB7XG4gIHNlcnZlci5fc3RhdGUgPSBDTE9TRUQ7XG4gIHNlcnZlci5lbWl0KCdjbG9zZScpO1xufVxuXG4vKipcbiAqIEhhbmRsZSBzb2NrZXQgZXJyb3JzLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHNvY2tldE9uRXJyb3IoKSB7XG4gIHRoaXMuZGVzdHJveSgpO1xufVxuXG4vKipcbiAqIENsb3NlIHRoZSBjb25uZWN0aW9uIHdoZW4gcHJlY29uZGl0aW9ucyBhcmUgbm90IGZ1bGZpbGxlZC5cbiAqXG4gKiBAcGFyYW0geyhuZXQuU29ja2V0fHRscy5Tb2NrZXQpfSBzb2NrZXQgVGhlIHNvY2tldCBvZiB0aGUgdXBncmFkZSByZXF1ZXN0XG4gKiBAcGFyYW0ge051bWJlcn0gY29kZSBUaGUgSFRUUCByZXNwb25zZSBzdGF0dXMgY29kZVxuICogQHBhcmFtIHtTdHJpbmd9IFttZXNzYWdlXSBUaGUgSFRUUCByZXNwb25zZSBib2R5XG4gKiBAcGFyYW0ge09iamVjdH0gW2hlYWRlcnNdIEFkZGl0aW9uYWwgSFRUUCByZXNwb25zZSBoZWFkZXJzXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBhYm9ydEhhbmRzaGFrZShzb2NrZXQsIGNvZGUsIG1lc3NhZ2UsIGhlYWRlcnMpIHtcbiAgLy9cbiAgLy8gVGhlIHNvY2tldCBpcyB3cml0YWJsZSB1bmxlc3MgdGhlIHVzZXIgZGVzdHJveWVkIG9yIGVuZGVkIGl0IGJlZm9yZSBjYWxsaW5nXG4gIC8vIGBzZXJ2ZXIuaGFuZGxlVXBncmFkZSgpYCBvciBpbiB0aGUgYHZlcmlmeUNsaWVudGAgZnVuY3Rpb24sIHdoaWNoIGlzIGEgdXNlclxuICAvLyBlcnJvci4gSGFuZGxpbmcgdGhpcyBkb2VzIG5vdCBtYWtlIG11Y2ggc2Vuc2UgYXMgdGhlIHdvcnN0IHRoYXQgY2FuIGhhcHBlblxuICAvLyBpcyB0aGF0IHNvbWUgb2YgdGhlIGRhdGEgd3JpdHRlbiBieSB0aGUgdXNlciBtaWdodCBiZSBkaXNjYXJkZWQgZHVlIHRvIHRoZVxuICAvLyBjYWxsIHRvIGBzb2NrZXQuZW5kKClgIGJlbG93LCB3aGljaCB0cmlnZ2VycyBhbiBgJ2Vycm9yJ2AgZXZlbnQgdGhhdCBpblxuICAvLyB0dXJuIGNhdXNlcyB0aGUgc29ja2V0IHRvIGJlIGRlc3Ryb3llZC5cbiAgLy9cbiAgbWVzc2FnZSA9IG1lc3NhZ2UgfHwgaHR0cC5TVEFUVVNfQ09ERVNbY29kZV07XG4gIGhlYWRlcnMgPSB7XG4gICAgQ29ubmVjdGlvbjogJ2Nsb3NlJyxcbiAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvaHRtbCcsXG4gICAgJ0NvbnRlbnQtTGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgobWVzc2FnZSksXG4gICAgLi4uaGVhZGVyc1xuICB9O1xuXG4gIHNvY2tldC5vbmNlKCdmaW5pc2gnLCBzb2NrZXQuZGVzdHJveSk7XG5cbiAgc29ja2V0LmVuZChcbiAgICBgSFRUUC8xLjEgJHtjb2RlfSAke2h0dHAuU1RBVFVTX0NPREVTW2NvZGVdfVxcclxcbmAgK1xuICAgICAgT2JqZWN0LmtleXMoaGVhZGVycylcbiAgICAgICAgLm1hcCgoaCkgPT4gYCR7aH06ICR7aGVhZGVyc1toXX1gKVxuICAgICAgICAuam9pbignXFxyXFxuJykgK1xuICAgICAgJ1xcclxcblxcclxcbicgK1xuICAgICAgbWVzc2FnZVxuICApO1xufVxuXG4vKipcbiAqIEVtaXQgYSBgJ3dzQ2xpZW50RXJyb3InYCBldmVudCBvbiBhIGBXZWJTb2NrZXRTZXJ2ZXJgIGlmIHRoZXJlIGlzIGF0IGxlYXN0XG4gKiBvbmUgbGlzdGVuZXIgZm9yIGl0LCBvdGhlcndpc2UgY2FsbCBgYWJvcnRIYW5kc2hha2UoKWAuXG4gKlxuICogQHBhcmFtIHtXZWJTb2NrZXRTZXJ2ZXJ9IHNlcnZlciBUaGUgV2ViU29ja2V0IHNlcnZlclxuICogQHBhcmFtIHtodHRwLkluY29taW5nTWVzc2FnZX0gcmVxIFRoZSByZXF1ZXN0IG9iamVjdFxuICogQHBhcmFtIHsobmV0LlNvY2tldHx0bHMuU29ja2V0KX0gc29ja2V0IFRoZSBzb2NrZXQgb2YgdGhlIHVwZ3JhZGUgcmVxdWVzdFxuICogQHBhcmFtIHtOdW1iZXJ9IGNvZGUgVGhlIEhUVFAgcmVzcG9uc2Ugc3RhdHVzIGNvZGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIFRoZSBIVFRQIHJlc3BvbnNlIGJvZHlcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGFib3J0SGFuZHNoYWtlT3JFbWl0d3NDbGllbnRFcnJvcihzZXJ2ZXIsIHJlcSwgc29ja2V0LCBjb2RlLCBtZXNzYWdlKSB7XG4gIGlmIChzZXJ2ZXIubGlzdGVuZXJDb3VudCgnd3NDbGllbnRFcnJvcicpKSB7XG4gICAgY29uc3QgZXJyID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVyciwgYWJvcnRIYW5kc2hha2VPckVtaXR3c0NsaWVudEVycm9yKTtcblxuICAgIHNlcnZlci5lbWl0KCd3c0NsaWVudEVycm9yJywgZXJyLCBzb2NrZXQsIHJlcSk7XG4gIH0gZWxzZSB7XG4gICAgYWJvcnRIYW5kc2hha2Uoc29ja2V0LCBjb2RlLCBtZXNzYWdlKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/websocket-server.js\n")); - -/***/ }), - -/***/ "./node_modules/ws/lib/websocket.js": -/*!******************************************!*\ - !*** ./node_modules/ws/lib/websocket.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^Readable$\" }] */\n\n\n\nconst EventEmitter = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\nconst https = __webpack_require__(/*! https */ \"./node_modules/next/dist/compiled/https-browserify/index.js\");\nconst http = __webpack_require__(/*! http */ \"./node_modules/next/dist/compiled/stream-http/index.js\");\nconst net = __webpack_require__(/*! net */ \"?8ffc\");\nconst tls = __webpack_require__(/*! tls */ \"?2c9b\");\nconst { randomBytes, createHash } = __webpack_require__(/*! crypto */ \"./node_modules/next/dist/compiled/crypto-browserify/index.js\");\nconst { Readable } = __webpack_require__(/*! stream */ \"./node_modules/next/dist/compiled/stream-browserify/index.js\");\nconst { URL } = __webpack_require__(/*! url */ \"./node_modules/next/dist/compiled/native-url/index.js\");\n\nconst PerMessageDeflate = __webpack_require__(/*! ./permessage-deflate */ \"./node_modules/ws/lib/permessage-deflate.js\");\nconst Receiver = __webpack_require__(/*! ./receiver */ \"./node_modules/ws/lib/receiver.js\");\nconst Sender = __webpack_require__(/*! ./sender */ \"./node_modules/ws/lib/sender.js\");\nconst {\n BINARY_TYPES,\n EMPTY_BUFFER,\n GUID,\n kForOnEventAttribute,\n kListener,\n kStatusCode,\n kWebSocket,\n NOOP\n} = __webpack_require__(/*! ./constants */ \"./node_modules/ws/lib/constants.js\");\nconst {\n EventTarget: { addEventListener, removeEventListener }\n} = __webpack_require__(/*! ./event-target */ \"./node_modules/ws/lib/event-target.js\");\nconst { format, parse } = __webpack_require__(/*! ./extension */ \"./node_modules/ws/lib/extension.js\");\nconst { toBuffer } = __webpack_require__(/*! ./buffer-util */ \"./node_modules/ws/lib/buffer-util.js\");\n\nconst closeTimeout = 30 * 1000;\nconst kAborted = Symbol('kAborted');\nconst protocolVersions = [8, 13];\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst subprotocolRegex = /^[!#$%&'*+\\-.0-9A-Z^_`|a-z~]+$/;\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n /**\n * Create a new `WebSocket`.\n *\n * @param {(String|URL)} address The URL to which to connect\n * @param {(String|String[])} [protocols] The subprotocols\n * @param {Object} [options] Connection options\n */\n constructor(address, protocols, options) {\n super();\n\n this._binaryType = BINARY_TYPES[0];\n this._closeCode = 1006;\n this._closeFrameReceived = false;\n this._closeFrameSent = false;\n this._closeMessage = EMPTY_BUFFER;\n this._closeTimer = null;\n this._extensions = {};\n this._paused = false;\n this._protocol = '';\n this._readyState = WebSocket.CONNECTING;\n this._receiver = null;\n this._sender = null;\n this._socket = null;\n\n if (address !== null) {\n this._bufferedAmount = 0;\n this._isServer = false;\n this._redirects = 0;\n\n if (protocols === undefined) {\n protocols = [];\n } else if (!Array.isArray(protocols)) {\n if (typeof protocols === 'object' && protocols !== null) {\n options = protocols;\n protocols = [];\n } else {\n protocols = [protocols];\n }\n }\n\n initAsClient(this, address, protocols, options);\n } else {\n this._isServer = true;\n }\n }\n\n /**\n * This deviates from the WHATWG interface since ws doesn't support the\n * required default \"blob\" type (instead we define a custom \"nodebuffer\"\n * type).\n *\n * @type {String}\n */\n get binaryType() {\n return this._binaryType;\n }\n\n set binaryType(type) {\n if (!BINARY_TYPES.includes(type)) return;\n\n this._binaryType = type;\n\n //\n // Allow to change `binaryType` on the fly.\n //\n if (this._receiver) this._receiver._binaryType = type;\n }\n\n /**\n * @type {Number}\n */\n get bufferedAmount() {\n if (!this._socket) return this._bufferedAmount;\n\n return this._socket._writableState.length + this._sender._bufferedBytes;\n }\n\n /**\n * @type {String}\n */\n get extensions() {\n return Object.keys(this._extensions).join();\n }\n\n /**\n * @type {Boolean}\n */\n get isPaused() {\n return this._paused;\n }\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onclose() {\n return null;\n }\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onerror() {\n return null;\n }\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onopen() {\n return null;\n }\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onmessage() {\n return null;\n }\n\n /**\n * @type {String}\n */\n get protocol() {\n return this._protocol;\n }\n\n /**\n * @type {Number}\n */\n get readyState() {\n return this._readyState;\n }\n\n /**\n * @type {String}\n */\n get url() {\n return this._url;\n }\n\n /**\n * Set up the socket and the internal resources.\n *\n * @param {(net.Socket|tls.Socket)} socket The network socket between the\n * server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Object} options Options object\n * @param {Function} [options.generateMask] The function used to generate the\n * masking key\n * @param {Number} [options.maxPayload=0] The maximum allowed message size\n * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n * not to skip UTF-8 validation for text and close messages\n * @private\n */\n setSocket(socket, head, options) {\n const receiver = new Receiver({\n binaryType: this.binaryType,\n extensions: this._extensions,\n isServer: this._isServer,\n maxPayload: options.maxPayload,\n skipUTF8Validation: options.skipUTF8Validation\n });\n\n this._sender = new Sender(socket, this._extensions, options.generateMask);\n this._receiver = receiver;\n this._socket = socket;\n\n receiver[kWebSocket] = this;\n socket[kWebSocket] = this;\n\n receiver.on('conclude', receiverOnConclude);\n receiver.on('drain', receiverOnDrain);\n receiver.on('error', receiverOnError);\n receiver.on('message', receiverOnMessage);\n receiver.on('ping', receiverOnPing);\n receiver.on('pong', receiverOnPong);\n\n socket.setTimeout(0);\n socket.setNoDelay();\n\n if (head.length > 0) socket.unshift(head);\n\n socket.on('close', socketOnClose);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('error', socketOnError);\n\n this._readyState = WebSocket.OPEN;\n this.emit('open');\n }\n\n /**\n * Emit the `'close'` event.\n *\n * @private\n */\n emitClose() {\n if (!this._socket) {\n this._readyState = WebSocket.CLOSED;\n this.emit('close', this._closeCode, this._closeMessage);\n return;\n }\n\n if (this._extensions[PerMessageDeflate.extensionName]) {\n this._extensions[PerMessageDeflate.extensionName].cleanup();\n }\n\n this._receiver.removeAllListeners();\n this._readyState = WebSocket.CLOSED;\n this.emit('close', this._closeCode, this._closeMessage);\n }\n\n /**\n * Start a closing handshake.\n *\n * +----------+ +-----------+ +----------+\n * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n * | +----------+ +-----------+ +----------+ |\n * +----------+ +-----------+ |\n * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING\n * +----------+ +-----------+ |\n * | | | +---+ |\n * +------------------------+-->|fin| - - - -\n * | +---+ | +---+\n * - - - - -|fin|<---------------------+\n * +---+\n *\n * @param {Number} [code] Status code explaining why the connection is closing\n * @param {(String|Buffer)} [data] The reason why the connection is\n * closing\n * @public\n */\n close(code, data) {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n abortHandshake(this, this._req, msg);\n return;\n }\n\n if (this.readyState === WebSocket.CLOSING) {\n if (\n this._closeFrameSent &&\n (this._closeFrameReceived || this._receiver._writableState.errorEmitted)\n ) {\n this._socket.end();\n }\n\n return;\n }\n\n this._readyState = WebSocket.CLOSING;\n this._sender.close(code, data, !this._isServer, (err) => {\n //\n // This error is handled by the `'error'` listener on the socket. We only\n // want to know if the close frame has been sent here.\n //\n if (err) return;\n\n this._closeFrameSent = true;\n\n if (\n this._closeFrameReceived ||\n this._receiver._writableState.errorEmitted\n ) {\n this._socket.end();\n }\n });\n\n //\n // Specify a timeout for the closing handshake to complete.\n //\n this._closeTimer = setTimeout(\n this._socket.destroy.bind(this._socket),\n closeTimeout\n );\n }\n\n /**\n * Pause the socket.\n *\n * @public\n */\n pause() {\n if (\n this.readyState === WebSocket.CONNECTING ||\n this.readyState === WebSocket.CLOSED\n ) {\n return;\n }\n\n this._paused = true;\n this._socket.pause();\n }\n\n /**\n * Send a ping.\n *\n * @param {*} [data] The data to send\n * @param {Boolean} [mask] Indicates whether or not to mask `data`\n * @param {Function} [cb] Callback which is executed when the ping is sent\n * @public\n */\n ping(data, mask, cb) {\n if (this.readyState === WebSocket.CONNECTING) {\n throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n }\n\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n if (this.readyState !== WebSocket.OPEN) {\n sendAfterClose(this, data, cb);\n return;\n }\n\n if (mask === undefined) mask = !this._isServer;\n this._sender.ping(data || EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a pong.\n *\n * @param {*} [data] The data to send\n * @param {Boolean} [mask] Indicates whether or not to mask `data`\n * @param {Function} [cb] Callback which is executed when the pong is sent\n * @public\n */\n pong(data, mask, cb) {\n if (this.readyState === WebSocket.CONNECTING) {\n throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n }\n\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n if (this.readyState !== WebSocket.OPEN) {\n sendAfterClose(this, data, cb);\n return;\n }\n\n if (mask === undefined) mask = !this._isServer;\n this._sender.pong(data || EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Resume the socket.\n *\n * @public\n */\n resume() {\n if (\n this.readyState === WebSocket.CONNECTING ||\n this.readyState === WebSocket.CLOSED\n ) {\n return;\n }\n\n this._paused = false;\n if (!this._receiver._writableState.needDrain) this._socket.resume();\n }\n\n /**\n * Send a data message.\n *\n * @param {*} data The message to send\n * @param {Object} [options] Options object\n * @param {Boolean} [options.binary] Specifies whether `data` is binary or\n * text\n * @param {Boolean} [options.compress] Specifies whether or not to compress\n * `data`\n * @param {Boolean} [options.fin=true] Specifies whether the fragment is the\n * last one\n * @param {Boolean} [options.mask] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback which is executed when data is written out\n * @public\n */\n send(data, options, cb) {\n if (this.readyState === WebSocket.CONNECTING) {\n throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n }\n\n if (typeof options === 'function') {\n cb = options;\n options = {};\n }\n\n if (typeof data === 'number') data = data.toString();\n\n if (this.readyState !== WebSocket.OPEN) {\n sendAfterClose(this, data, cb);\n return;\n }\n\n const opts = {\n binary: typeof data !== 'string',\n mask: !this._isServer,\n compress: true,\n fin: true,\n ...options\n };\n\n if (!this._extensions[PerMessageDeflate.extensionName]) {\n opts.compress = false;\n }\n\n this._sender.send(data || EMPTY_BUFFER, opts, cb);\n }\n\n /**\n * Forcibly close the connection.\n *\n * @public\n */\n terminate() {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n abortHandshake(this, this._req, msg);\n return;\n }\n\n if (this._socket) {\n this._readyState = WebSocket.CLOSING;\n this._socket.destroy();\n }\n }\n}\n\n/**\n * @constant {Number} CONNECTING\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CONNECTING', {\n enumerable: true,\n value: readyStates.indexOf('CONNECTING')\n});\n\n/**\n * @constant {Number} CONNECTING\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CONNECTING', {\n enumerable: true,\n value: readyStates.indexOf('CONNECTING')\n});\n\n/**\n * @constant {Number} OPEN\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'OPEN', {\n enumerable: true,\n value: readyStates.indexOf('OPEN')\n});\n\n/**\n * @constant {Number} OPEN\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'OPEN', {\n enumerable: true,\n value: readyStates.indexOf('OPEN')\n});\n\n/**\n * @constant {Number} CLOSING\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CLOSING', {\n enumerable: true,\n value: readyStates.indexOf('CLOSING')\n});\n\n/**\n * @constant {Number} CLOSING\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CLOSING', {\n enumerable: true,\n value: readyStates.indexOf('CLOSING')\n});\n\n/**\n * @constant {Number} CLOSED\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CLOSED', {\n enumerable: true,\n value: readyStates.indexOf('CLOSED')\n});\n\n/**\n * @constant {Number} CLOSED\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CLOSED', {\n enumerable: true,\n value: readyStates.indexOf('CLOSED')\n});\n\n[\n 'binaryType',\n 'bufferedAmount',\n 'extensions',\n 'isPaused',\n 'protocol',\n 'readyState',\n 'url'\n].forEach((property) => {\n Object.defineProperty(WebSocket.prototype, property, { enumerable: true });\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n Object.defineProperty(WebSocket.prototype, `on${method}`, {\n enumerable: true,\n get() {\n for (const listener of this.listeners(method)) {\n if (listener[kForOnEventAttribute]) return listener[kListener];\n }\n\n return null;\n },\n set(handler) {\n for (const listener of this.listeners(method)) {\n if (listener[kForOnEventAttribute]) {\n this.removeListener(method, listener);\n break;\n }\n }\n\n if (typeof handler !== 'function') return;\n\n this.addEventListener(method, handler, {\n [kForOnEventAttribute]: true\n });\n }\n });\n});\n\nWebSocket.prototype.addEventListener = addEventListener;\nWebSocket.prototype.removeEventListener = removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {WebSocket} websocket The client to initialize\n * @param {(String|URL)} address The URL to which to connect\n * @param {Array} protocols The subprotocols\n * @param {Object} [options] Connection options\n * @param {Boolean} [options.followRedirects=false] Whether or not to follow\n * redirects\n * @param {Function} [options.generateMask] The function used to generate the\n * masking key\n * @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the\n * handshake request\n * @param {Number} [options.maxPayload=104857600] The maximum allowed message\n * size\n * @param {Number} [options.maxRedirects=10] The maximum number of redirects\n * allowed\n * @param {String} [options.origin] Value of the `Origin` or\n * `Sec-WebSocket-Origin` header\n * @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable\n * permessage-deflate\n * @param {Number} [options.protocolVersion=13] Value of the\n * `Sec-WebSocket-Version` header\n * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n * not to skip UTF-8 validation for text and close messages\n * @private\n */\nfunction initAsClient(websocket, address, protocols, options) {\n const opts = {\n protocolVersion: protocolVersions[1],\n maxPayload: 100 * 1024 * 1024,\n skipUTF8Validation: false,\n perMessageDeflate: true,\n followRedirects: false,\n maxRedirects: 10,\n ...options,\n createConnection: undefined,\n socketPath: undefined,\n hostname: undefined,\n protocol: undefined,\n timeout: undefined,\n method: 'GET',\n host: undefined,\n path: undefined,\n port: undefined\n };\n\n if (!protocolVersions.includes(opts.protocolVersion)) {\n throw new RangeError(\n `Unsupported protocol version: ${opts.protocolVersion} ` +\n `(supported versions: ${protocolVersions.join(', ')})`\n );\n }\n\n let parsedUrl;\n\n if (address instanceof URL) {\n parsedUrl = address;\n websocket._url = address.href;\n } else {\n try {\n parsedUrl = new URL(address);\n } catch (e) {\n throw new SyntaxError(`Invalid URL: ${address}`);\n }\n\n websocket._url = address;\n }\n\n const isSecure = parsedUrl.protocol === 'wss:';\n const isIpcUrl = parsedUrl.protocol === 'ws+unix:';\n let invalidUrlMessage;\n\n if (parsedUrl.protocol !== 'ws:' && !isSecure && !isIpcUrl) {\n invalidUrlMessage =\n 'The URL\\'s protocol must be one of \"ws:\", \"wss:\", or \"ws+unix:\"';\n } else if (isIpcUrl && !parsedUrl.pathname) {\n invalidUrlMessage = \"The URL's pathname is empty\";\n } else if (parsedUrl.hash) {\n invalidUrlMessage = 'The URL contains a fragment identifier';\n }\n\n if (invalidUrlMessage) {\n const err = new SyntaxError(invalidUrlMessage);\n\n if (websocket._redirects === 0) {\n throw err;\n } else {\n emitErrorAndClose(websocket, err);\n return;\n }\n }\n\n const defaultPort = isSecure ? 443 : 80;\n const key = randomBytes(16).toString('base64');\n const request = isSecure ? https.request : http.request;\n const protocolSet = new Set();\n let perMessageDeflate;\n\n opts.createConnection = isSecure ? tlsConnect : netConnect;\n opts.defaultPort = opts.defaultPort || defaultPort;\n opts.port = parsedUrl.port || defaultPort;\n opts.host = parsedUrl.hostname.startsWith('[')\n ? parsedUrl.hostname.slice(1, -1)\n : parsedUrl.hostname;\n opts.headers = {\n ...opts.headers,\n 'Sec-WebSocket-Version': opts.protocolVersion,\n 'Sec-WebSocket-Key': key,\n Connection: 'Upgrade',\n Upgrade: 'websocket'\n };\n opts.path = parsedUrl.pathname + parsedUrl.search;\n opts.timeout = opts.handshakeTimeout;\n\n if (opts.perMessageDeflate) {\n perMessageDeflate = new PerMessageDeflate(\n opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},\n false,\n opts.maxPayload\n );\n opts.headers['Sec-WebSocket-Extensions'] = format({\n [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n });\n }\n if (protocols.length) {\n for (const protocol of protocols) {\n if (\n typeof protocol !== 'string' ||\n !subprotocolRegex.test(protocol) ||\n protocolSet.has(protocol)\n ) {\n throw new SyntaxError(\n 'An invalid or duplicated subprotocol was specified'\n );\n }\n\n protocolSet.add(protocol);\n }\n\n opts.headers['Sec-WebSocket-Protocol'] = protocols.join(',');\n }\n if (opts.origin) {\n if (opts.protocolVersion < 13) {\n opts.headers['Sec-WebSocket-Origin'] = opts.origin;\n } else {\n opts.headers.Origin = opts.origin;\n }\n }\n if (parsedUrl.username || parsedUrl.password) {\n opts.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n }\n\n if (isIpcUrl) {\n const parts = opts.path.split(':');\n\n opts.socketPath = parts[0];\n opts.path = parts[1];\n }\n\n let req;\n\n if (opts.followRedirects) {\n if (websocket._redirects === 0) {\n websocket._originalIpc = isIpcUrl;\n websocket._originalSecure = isSecure;\n websocket._originalHostOrSocketPath = isIpcUrl\n ? opts.socketPath\n : parsedUrl.host;\n\n const headers = options && options.headers;\n\n //\n // Shallow copy the user provided options so that headers can be changed\n // without mutating the original object.\n //\n options = { ...options, headers: {} };\n\n if (headers) {\n for (const [key, value] of Object.entries(headers)) {\n options.headers[key.toLowerCase()] = value;\n }\n }\n } else if (websocket.listenerCount('redirect') === 0) {\n const isSameHost = isIpcUrl\n ? websocket._originalIpc\n ? opts.socketPath === websocket._originalHostOrSocketPath\n : false\n : websocket._originalIpc\n ? false\n : parsedUrl.host === websocket._originalHostOrSocketPath;\n\n if (!isSameHost || (websocket._originalSecure && !isSecure)) {\n //\n // Match curl 7.77.0 behavior and drop the following headers. These\n // headers are also dropped when following a redirect to a subdomain.\n //\n delete opts.headers.authorization;\n delete opts.headers.cookie;\n\n if (!isSameHost) delete opts.headers.host;\n\n opts.auth = undefined;\n }\n }\n\n //\n // Match curl 7.77.0 behavior and make the first `Authorization` header win.\n // If the `Authorization` header is set, then there is nothing to do as it\n // will take precedence.\n //\n if (opts.auth && !options.headers.authorization) {\n options.headers.authorization =\n 'Basic ' + Buffer.from(opts.auth).toString('base64');\n }\n\n req = websocket._req = request(opts);\n\n if (websocket._redirects) {\n //\n // Unlike what is done for the `'upgrade'` event, no early exit is\n // triggered here if the user calls `websocket.close()` or\n // `websocket.terminate()` from a listener of the `'redirect'` event. This\n // is because the user can also call `request.destroy()` with an error\n // before calling `websocket.close()` or `websocket.terminate()` and this\n // would result in an error being emitted on the `request` object with no\n // `'error'` event listeners attached.\n //\n websocket.emit('redirect', websocket.url, req);\n }\n } else {\n req = websocket._req = request(opts);\n }\n\n if (opts.timeout) {\n req.on('timeout', () => {\n abortHandshake(websocket, req, 'Opening handshake has timed out');\n });\n }\n\n req.on('error', (err) => {\n if (req === null || req[kAborted]) return;\n\n req = websocket._req = null;\n emitErrorAndClose(websocket, err);\n });\n\n req.on('response', (res) => {\n const location = res.headers.location;\n const statusCode = res.statusCode;\n\n if (\n location &&\n opts.followRedirects &&\n statusCode >= 300 &&\n statusCode < 400\n ) {\n if (++websocket._redirects > opts.maxRedirects) {\n abortHandshake(websocket, req, 'Maximum redirects exceeded');\n return;\n }\n\n req.abort();\n\n let addr;\n\n try {\n addr = new URL(location, address);\n } catch (e) {\n const err = new SyntaxError(`Invalid URL: ${location}`);\n emitErrorAndClose(websocket, err);\n return;\n }\n\n initAsClient(websocket, addr, protocols, options);\n } else if (!websocket.emit('unexpected-response', req, res)) {\n abortHandshake(\n websocket,\n req,\n `Unexpected server response: ${res.statusCode}`\n );\n }\n });\n\n req.on('upgrade', (res, socket, head) => {\n websocket.emit('upgrade', res);\n\n //\n // The user may have closed the connection from a listener of the\n // `'upgrade'` event.\n //\n if (websocket.readyState !== WebSocket.CONNECTING) return;\n\n req = websocket._req = null;\n\n if (res.headers.upgrade.toLowerCase() !== 'websocket') {\n abortHandshake(websocket, socket, 'Invalid Upgrade header');\n return;\n }\n\n const digest = createHash('sha1')\n .update(key + GUID)\n .digest('base64');\n\n if (res.headers['sec-websocket-accept'] !== digest) {\n abortHandshake(websocket, socket, 'Invalid Sec-WebSocket-Accept header');\n return;\n }\n\n const serverProt = res.headers['sec-websocket-protocol'];\n let protError;\n\n if (serverProt !== undefined) {\n if (!protocolSet.size) {\n protError = 'Server sent a subprotocol but none was requested';\n } else if (!protocolSet.has(serverProt)) {\n protError = 'Server sent an invalid subprotocol';\n }\n } else if (protocolSet.size) {\n protError = 'Server sent no subprotocol';\n }\n\n if (protError) {\n abortHandshake(websocket, socket, protError);\n return;\n }\n\n if (serverProt) websocket._protocol = serverProt;\n\n const secWebSocketExtensions = res.headers['sec-websocket-extensions'];\n\n if (secWebSocketExtensions !== undefined) {\n if (!perMessageDeflate) {\n const message =\n 'Server sent a Sec-WebSocket-Extensions header but no extension ' +\n 'was requested';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n let extensions;\n\n try {\n extensions = parse(secWebSocketExtensions);\n } catch (err) {\n const message = 'Invalid Sec-WebSocket-Extensions header';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n const extensionNames = Object.keys(extensions);\n\n if (\n extensionNames.length !== 1 ||\n extensionNames[0] !== PerMessageDeflate.extensionName\n ) {\n const message = 'Server indicated an extension that was not requested';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n try {\n perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);\n } catch (err) {\n const message = 'Invalid Sec-WebSocket-Extensions header';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n websocket._extensions[PerMessageDeflate.extensionName] =\n perMessageDeflate;\n }\n\n websocket.setSocket(socket, head, {\n generateMask: opts.generateMask,\n maxPayload: opts.maxPayload,\n skipUTF8Validation: opts.skipUTF8Validation\n });\n });\n\n req.end();\n}\n\n/**\n * Emit the `'error'` and `'close'` events.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {Error} The error to emit\n * @private\n */\nfunction emitErrorAndClose(websocket, err) {\n websocket._readyState = WebSocket.CLOSING;\n websocket.emit('error', err);\n websocket.emitClose();\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect(options) {\n options.path = options.socketPath;\n return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect(options) {\n options.path = undefined;\n\n if (!options.servername && options.servername !== '') {\n options.servername = net.isIP(options.host) ? '' : options.host;\n }\n\n return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket|tls.Socket)} stream The request to\n * abort or the socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake(websocket, stream, message) {\n websocket._readyState = WebSocket.CLOSING;\n\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshake);\n\n if (stream.setHeader) {\n stream[kAborted] = true;\n stream.abort();\n\n if (stream.socket && !stream.socket.destroyed) {\n //\n // On Node.js >= 14.3.0 `request.abort()` does not destroy the socket if\n // called after the request completed. See\n // https://github.com/websockets/ws/issues/1869.\n //\n stream.socket.destroy();\n }\n\n process.nextTick(emitErrorAndClose, websocket, err);\n } else {\n stream.destroy(err);\n stream.once('error', websocket.emit.bind(websocket, 'error'));\n stream.once('close', websocket.emitClose.bind(websocket));\n }\n}\n\n/**\n * Handle cases where the `ping()`, `pong()`, or `send()` methods are called\n * when the `readyState` attribute is `CLOSING` or `CLOSED`.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {*} [data] The data to send\n * @param {Function} [cb] Callback\n * @private\n */\nfunction sendAfterClose(websocket, data, cb) {\n if (data) {\n const length = toBuffer(data).length;\n\n //\n // The `_bufferedAmount` property is used only when the peer is a client and\n // the opening handshake fails. Under these circumstances, in fact, the\n // `setSocket()` method is not called, so the `_socket` and `_sender`\n // properties are set to `null`.\n //\n if (websocket._socket) websocket._sender._bufferedBytes += length;\n else websocket._bufferedAmount += length;\n }\n\n if (cb) {\n const err = new Error(\n `WebSocket is not open: readyState ${websocket.readyState} ` +\n `(${readyStates[websocket.readyState]})`\n );\n process.nextTick(cb, err);\n }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {Buffer} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude(code, reason) {\n const websocket = this[kWebSocket];\n\n websocket._closeFrameReceived = true;\n websocket._closeMessage = reason;\n websocket._closeCode = code;\n\n if (websocket._socket[kWebSocket] === undefined) return;\n\n websocket._socket.removeListener('data', socketOnData);\n process.nextTick(resume, websocket._socket);\n\n if (code === 1005) websocket.close();\n else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain() {\n const websocket = this[kWebSocket];\n\n if (!websocket.isPaused) websocket._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError(err) {\n const websocket = this[kWebSocket];\n\n if (websocket._socket[kWebSocket] !== undefined) {\n websocket._socket.removeListener('data', socketOnData);\n\n //\n // On Node.js < 14.0.0 the `'error'` event is emitted synchronously. See\n // https://github.com/websockets/ws/issues/1940.\n //\n process.nextTick(resume, websocket._socket);\n\n websocket.close(err[kStatusCode]);\n }\n\n websocket.emit('error', err);\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish() {\n this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {Buffer|ArrayBuffer|Buffer[])} data The message\n * @param {Boolean} isBinary Specifies whether the message is binary or not\n * @private\n */\nfunction receiverOnMessage(data, isBinary) {\n this[kWebSocket].emit('message', data, isBinary);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing(data) {\n const websocket = this[kWebSocket];\n\n websocket.pong(data, !websocket._isServer, NOOP);\n websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong(data) {\n this[kWebSocket].emit('pong', data);\n}\n\n/**\n * Resume a readable stream\n *\n * @param {Readable} stream The readable stream\n * @private\n */\nfunction resume(stream) {\n stream.resume();\n}\n\n/**\n * The listener of the `net.Socket` `'close'` event.\n *\n * @private\n */\nfunction socketOnClose() {\n const websocket = this[kWebSocket];\n\n this.removeListener('close', socketOnClose);\n this.removeListener('data', socketOnData);\n this.removeListener('end', socketOnEnd);\n\n websocket._readyState = WebSocket.CLOSING;\n\n let chunk;\n\n //\n // The close frame might not have been received or the `'end'` event emitted,\n // for example, if the socket was destroyed due to an error. Ensure that the\n // `receiver` stream is closed after writing any remaining buffered data to\n // it. If the readable side of the socket is in flowing mode then there is no\n // buffered data as everything has been already written and `readable.read()`\n // will return `null`. If instead, the socket is paused, any possible buffered\n // data will be read as a single chunk.\n //\n if (\n !this._readableState.endEmitted &&\n !websocket._closeFrameReceived &&\n !websocket._receiver._writableState.errorEmitted &&\n (chunk = websocket._socket.read()) !== null\n ) {\n websocket._receiver.write(chunk);\n }\n\n websocket._receiver.end();\n\n this[kWebSocket] = undefined;\n\n clearTimeout(websocket._closeTimer);\n\n if (\n websocket._receiver._writableState.finished ||\n websocket._receiver._writableState.errorEmitted\n ) {\n websocket.emitClose();\n } else {\n websocket._receiver.on('error', receiverOnFinish);\n websocket._receiver.on('finish', receiverOnFinish);\n }\n}\n\n/**\n * The listener of the `net.Socket` `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData(chunk) {\n if (!this[kWebSocket]._receiver.write(chunk)) {\n this.pause();\n }\n}\n\n/**\n * The listener of the `net.Socket` `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd() {\n const websocket = this[kWebSocket];\n\n websocket._readyState = WebSocket.CLOSING;\n websocket._receiver.end();\n this.end();\n}\n\n/**\n * The listener of the `net.Socket` `'error'` event.\n *\n * @private\n */\nfunction socketOnError() {\n const websocket = this[kWebSocket];\n\n this.removeListener('error', socketOnError);\n this.on('error', NOOP);\n\n if (websocket) {\n websocket._readyState = WebSocket.CLOSING;\n this.destroy();\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxpQkFBaUI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLEdBQUc7QUFDaEIsYUFBYSxTQUFTO0FBQ3RCLGFBQWEsVUFBVTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxHQUFHO0FBQ2hCLGFBQWEsU0FBUztBQUN0QixhQUFhLFVBQVU7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYSxHQUFHO0FBQ2hCLGFBQWEsUUFBUTtBQUNyQixhQUFhLFNBQVM7QUFDdEI7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQSxhQUFhLFNBQVM7QUFDdEIsYUFBYSxVQUFVO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxrQkFBa0I7QUFDM0UsQ0FBQzs7QUFFRDtB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy93cy9saWIvd2Vic29ja2V0LmpzPzNkOTMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBbXCJlcnJvclwiLCB7IFwidmFyc0lnbm9yZVBhdHRlcm5cIjogXCJeUmVhZGFibGUkXCIgfV0gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBFdmVudEVtaXR0ZXIgPSByZXF1aXJlKCdldmVudHMnKTtcbmNvbnN0IGh0dHBzID0gcmVxdWlyZSgnaHR0cHMnKTtcbmNvbnN0IGh0dHAgPSByZXF1aXJlKCdodHRwJyk7XG5jb25zdCBuZXQgPSByZXF1aXJlKCduZXQnKTtcbmNvbnN0IHRscyA9IHJlcXVpcmUoJ3RscycpO1xuY29uc3QgeyByYW5kb21CeXRlcywgY3JlYXRlSGFzaCB9ID0gcmVxdWlyZSgnY3J5cHRvJyk7XG5jb25zdCB7IFJlYWRhYmxlIH0gPSByZXF1aXJlKCdzdHJlYW0nKTtcbmNvbnN0IHsgVVJMIH0gPSByZXF1aXJlKCd1cmwnKTtcblxuY29uc3QgUGVyTWVzc2FnZURlZmxhdGUgPSByZXF1aXJlKCcuL3Blcm1lc3NhZ2UtZGVmbGF0ZScpO1xuY29uc3QgUmVjZWl2ZXIgPSByZXF1aXJlKCcuL3JlY2VpdmVyJyk7XG5jb25zdCBTZW5kZXIgPSByZXF1aXJlKCcuL3NlbmRlcicpO1xuY29uc3Qge1xuICBCSU5BUllfVFlQRVMsXG4gIEVNUFRZX0JVRkZFUixcbiAgR1VJRCxcbiAga0Zvck9uRXZlbnRBdHRyaWJ1dGUsXG4gIGtMaXN0ZW5lcixcbiAga1N0YXR1c0NvZGUsXG4gIGtXZWJTb2NrZXQsXG4gIE5PT1Bcbn0gPSByZXF1aXJlKCcuL2NvbnN0YW50cycpO1xuY29uc3Qge1xuICBFdmVudFRhcmdldDogeyBhZGRFdmVudExpc3RlbmVyLCByZW1vdmVFdmVudExpc3RlbmVyIH1cbn0gPSByZXF1aXJlKCcuL2V2ZW50LXRhcmdldCcpO1xuY29uc3QgeyBmb3JtYXQsIHBhcnNlIH0gPSByZXF1aXJlKCcuL2V4dGVuc2lvbicpO1xuY29uc3QgeyB0b0J1ZmZlciB9ID0gcmVxdWlyZSgnLi9idWZmZXItdXRpbCcpO1xuXG5jb25zdCBjbG9zZVRpbWVvdXQgPSAzMCAqIDEwMDA7XG5jb25zdCBrQWJvcnRlZCA9IFN5bWJvbCgna0Fib3J0ZWQnKTtcbmNvbnN0IHByb3RvY29sVmVyc2lvbnMgPSBbOCwgMTNdO1xuY29uc3QgcmVhZHlTdGF0ZXMgPSBbJ0NPTk5FQ1RJTkcnLCAnT1BFTicsICdDTE9TSU5HJywgJ0NMT1NFRCddO1xuY29uc3Qgc3VicHJvdG9jb2xSZWdleCA9IC9eWyEjJCUmJyorXFwtLjAtOUEtWl5fYHxhLXp+XSskLztcblxuLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgYSBXZWJTb2NrZXQuXG4gKlxuICogQGV4dGVuZHMgRXZlbnRFbWl0dGVyXG4gKi9cbmNsYXNzIFdlYlNvY2tldCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYFdlYlNvY2tldGAuXG4gICAqXG4gICAqIEBwYXJhbSB7KFN0cmluZ3xVUkwpfSBhZGRyZXNzIFRoZSBVUkwgdG8gd2hpY2ggdG8gY29ubmVjdFxuICAgKiBAcGFyYW0geyhTdHJpbmd8U3RyaW5nW10pfSBbcHJvdG9jb2xzXSBUaGUgc3VicHJvdG9jb2xzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gQ29ubmVjdGlvbiBvcHRpb25zXG4gICAqL1xuICBjb25zdHJ1Y3RvcihhZGRyZXNzLCBwcm90b2NvbHMsIG9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fYmluYXJ5VHlwZSA9IEJJTkFSWV9UWVBFU1swXTtcbiAgICB0aGlzLl9jbG9zZUNvZGUgPSAxMDA2O1xuICAgIHRoaXMuX2Nsb3NlRnJhbWVSZWNlaXZlZCA9IGZhbHNlO1xuICAgIHRoaXMuX2Nsb3NlRnJhbWVTZW50ID0gZmFsc2U7XG4gICAgdGhpcy5fY2xvc2VNZXNzYWdlID0gRU1QVFlfQlVGRkVSO1xuICAgIHRoaXMuX2Nsb3NlVGltZXIgPSBudWxsO1xuICAgIHRoaXMuX2V4dGVuc2lvbnMgPSB7fTtcbiAgICB0aGlzLl9wYXVzZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9wcm90b2NvbCA9ICcnO1xuICAgIHRoaXMuX3JlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ09OTkVDVElORztcbiAgICB0aGlzLl9yZWNlaXZlciA9IG51bGw7XG4gICAgdGhpcy5fc2VuZGVyID0gbnVsbDtcbiAgICB0aGlzLl9zb2NrZXQgPSBudWxsO1xuXG4gICAgaWYgKGFkZHJlc3MgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2J1ZmZlcmVkQW1vdW50ID0gMDtcbiAgICAgIHRoaXMuX2lzU2VydmVyID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZWRpcmVjdHMgPSAwO1xuXG4gICAgICBpZiAocHJvdG9jb2xzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvdG9jb2xzID0gW107XG4gICAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHByb3RvY29scykpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBwcm90b2NvbHMgPT09ICdvYmplY3QnICYmIHByb3RvY29scyAhPT0gbnVsbCkge1xuICAgICAgICAgIG9wdGlvbnMgPSBwcm90b2NvbHM7XG4gICAgICAgICAgcHJvdG9jb2xzID0gW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvdG9jb2xzID0gW3Byb3RvY29sc107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5pdEFzQ2xpZW50KHRoaXMsIGFkZHJlc3MsIHByb3RvY29scywgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2lzU2VydmVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBkZXZpYXRlcyBmcm9tIHRoZSBXSEFUV0cgaW50ZXJmYWNlIHNpbmNlIHdzIGRvZXNuJ3Qgc3VwcG9ydCB0aGVcbiAgICogcmVxdWlyZWQgZGVmYXVsdCBcImJsb2JcIiB0eXBlIChpbnN0ZWFkIHdlIGRlZmluZSBhIGN1c3RvbSBcIm5vZGVidWZmZXJcIlxuICAgKiB0eXBlKS5cbiAgICpcbiAgICogQHR5cGUge1N0cmluZ31cbiAgICovXG4gIGdldCBiaW5hcnlUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9iaW5hcnlUeXBlO1xuICB9XG5cbiAgc2V0IGJpbmFyeVR5cGUodHlwZSkge1xuICAgIGlmICghQklOQVJZX1RZUEVTLmluY2x1ZGVzKHR5cGUpKSByZXR1cm47XG5cbiAgICB0aGlzLl9iaW5hcnlUeXBlID0gdHlwZTtcblxuICAgIC8vXG4gICAgLy8gQWxsb3cgdG8gY2hhbmdlIGBiaW5hcnlUeXBlYCBvbiB0aGUgZmx5LlxuICAgIC8vXG4gICAgaWYgKHRoaXMuX3JlY2VpdmVyKSB0aGlzLl9yZWNlaXZlci5fYmluYXJ5VHlwZSA9IHR5cGU7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge051bWJlcn1cbiAgICovXG4gIGdldCBidWZmZXJlZEFtb3VudCgpIHtcbiAgICBpZiAoIXRoaXMuX3NvY2tldCkgcmV0dXJuIHRoaXMuX2J1ZmZlcmVkQW1vdW50O1xuXG4gICAgcmV0dXJuIHRoaXMuX3NvY2tldC5fd3JpdGFibGVTdGF0ZS5sZW5ndGggKyB0aGlzLl9zZW5kZXIuX2J1ZmZlcmVkQnl0ZXM7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge1N0cmluZ31cbiAgICovXG4gIGdldCBleHRlbnNpb25zKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9leHRlbnNpb25zKS5qb2luKCk7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge0Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNQYXVzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdXNlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZSB7RnVuY3Rpb259XG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBnZXQgb25jbG9zZSgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZSB7RnVuY3Rpb259XG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBnZXQgb25lcnJvcigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZSB7RnVuY3Rpb259XG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBnZXQgb25vcGVuKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICovXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGdldCBvbm1lc3NhZ2UoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge1N0cmluZ31cbiAgICovXG4gIGdldCBwcm90b2NvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvdG9jb2w7XG4gIH1cblxuICAvKipcbiAgICogQHR5cGUge051bWJlcn1cbiAgICovXG4gIGdldCByZWFkeVN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkeVN0YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtTdHJpbmd9XG4gICAqL1xuICBnZXQgdXJsKCkge1xuICAgIHJldHVybiB0aGlzLl91cmw7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSBzb2NrZXQgYW5kIHRoZSBpbnRlcm5hbCByZXNvdXJjZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7KG5ldC5Tb2NrZXR8dGxzLlNvY2tldCl9IHNvY2tldCBUaGUgbmV0d29yayBzb2NrZXQgYmV0d2VlbiB0aGVcbiAgICogICAgIHNlcnZlciBhbmQgY2xpZW50XG4gICAqIEBwYXJhbSB7QnVmZmVyfSBoZWFkIFRoZSBmaXJzdCBwYWNrZXQgb2YgdGhlIHVwZ3JhZGVkIHN0cmVhbVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBPcHRpb25zIG9iamVjdFxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb3B0aW9ucy5nZW5lcmF0ZU1hc2tdIFRoZSBmdW5jdGlvbiB1c2VkIHRvIGdlbmVyYXRlIHRoZVxuICAgKiAgICAgbWFza2luZyBrZXlcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLm1heFBheWxvYWQ9MF0gVGhlIG1heGltdW0gYWxsb3dlZCBtZXNzYWdlIHNpemVcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5za2lwVVRGOFZhbGlkYXRpb249ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yXG4gICAqICAgICBub3QgdG8gc2tpcCBVVEYtOCB2YWxpZGF0aW9uIGZvciB0ZXh0IGFuZCBjbG9zZSBtZXNzYWdlc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgc2V0U29ja2V0KHNvY2tldCwgaGVhZCwgb3B0aW9ucykge1xuICAgIGNvbnN0IHJlY2VpdmVyID0gbmV3IFJlY2VpdmVyKHtcbiAgICAgIGJpbmFyeVR5cGU6IHRoaXMuYmluYXJ5VHlwZSxcbiAgICAgIGV4dGVuc2lvbnM6IHRoaXMuX2V4dGVuc2lvbnMsXG4gICAgICBpc1NlcnZlcjogdGhpcy5faXNTZXJ2ZXIsXG4gICAgICBtYXhQYXlsb2FkOiBvcHRpb25zLm1heFBheWxvYWQsXG4gICAgICBza2lwVVRGOFZhbGlkYXRpb246IG9wdGlvbnMuc2tpcFVURjhWYWxpZGF0aW9uXG4gICAgfSk7XG5cbiAgICB0aGlzLl9zZW5kZXIgPSBuZXcgU2VuZGVyKHNvY2tldCwgdGhpcy5fZXh0ZW5zaW9ucywgb3B0aW9ucy5nZW5lcmF0ZU1hc2spO1xuICAgIHRoaXMuX3JlY2VpdmVyID0gcmVjZWl2ZXI7XG4gICAgdGhpcy5fc29ja2V0ID0gc29ja2V0O1xuXG4gICAgcmVjZWl2ZXJba1dlYlNvY2tldF0gPSB0aGlzO1xuICAgIHNvY2tldFtrV2ViU29ja2V0XSA9IHRoaXM7XG5cbiAgICByZWNlaXZlci5vbignY29uY2x1ZGUnLCByZWNlaXZlck9uQ29uY2x1ZGUpO1xuICAgIHJlY2VpdmVyLm9uKCdkcmFpbicsIHJlY2VpdmVyT25EcmFpbik7XG4gICAgcmVjZWl2ZXIub24oJ2Vycm9yJywgcmVjZWl2ZXJPbkVycm9yKTtcbiAgICByZWNlaXZlci5vbignbWVzc2FnZScsIHJlY2VpdmVyT25NZXNzYWdlKTtcbiAgICByZWNlaXZlci5vbigncGluZycsIHJlY2VpdmVyT25QaW5nKTtcbiAgICByZWNlaXZlci5vbigncG9uZycsIHJlY2VpdmVyT25Qb25nKTtcblxuICAgIHNvY2tldC5zZXRUaW1lb3V0KDApO1xuICAgIHNvY2tldC5zZXROb0RlbGF5KCk7XG5cbiAgICBpZiAoaGVhZC5sZW5ndGggPiAwKSBzb2NrZXQudW5zaGlmdChoZWFkKTtcblxuICAgIHNvY2tldC5vbignY2xvc2UnLCBzb2NrZXRPbkNsb3NlKTtcbiAgICBzb2NrZXQub24oJ2RhdGEnLCBzb2NrZXRPbkRhdGEpO1xuICAgIHNvY2tldC5vbignZW5kJywgc29ja2V0T25FbmQpO1xuICAgIHNvY2tldC5vbignZXJyb3InLCBzb2NrZXRPbkVycm9yKTtcblxuICAgIHRoaXMuX3JlYWR5U3RhdGUgPSBXZWJTb2NrZXQuT1BFTjtcbiAgICB0aGlzLmVtaXQoJ29wZW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IHRoZSBgJ2Nsb3NlJ2AgZXZlbnQuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBlbWl0Q2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLl9zb2NrZXQpIHtcbiAgICAgIHRoaXMuX3JlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuICAgICAgdGhpcy5lbWl0KCdjbG9zZScsIHRoaXMuX2Nsb3NlQ29kZSwgdGhpcy5fY2xvc2VNZXNzYWdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZXh0ZW5zaW9uc1tQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXSkge1xuICAgICAgdGhpcy5fZXh0ZW5zaW9uc1tQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXS5jbGVhbnVwKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVjZWl2ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5fcmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TRUQ7XG4gICAgdGhpcy5lbWl0KCdjbG9zZScsIHRoaXMuX2Nsb3NlQ29kZSwgdGhpcy5fY2xvc2VNZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBhIGNsb3NpbmcgaGFuZHNoYWtlLlxuICAgKlxuICAgKiAgICAgICAgICArLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rICAgKy0tLS0tLS0tLS0rXG4gICAqICAgICAtIC0gLXx3cy5jbG9zZSgpfC0tPnxjbG9zZSBmcmFtZXwtLT58d3MuY2xvc2UoKXwtIC0gLVxuICAgKiAgICB8ICAgICArLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0rICAgKy0tLS0tLS0tLS0rICAgICB8XG4gICAqICAgICAgICAgICstLS0tLS0tLS0tKyAgICstLS0tLS0tLS0tLSsgICAgICAgICB8XG4gICAqIENMT1NJTkcgIHx3cy5jbG9zZSgpfDwtLXxjbG9zZSBmcmFtZXw8LS0rLS0tLS0rICAgICAgIENMT1NJTkdcbiAgICogICAgICAgICAgKy0tLS0tLS0tLS0rICAgKy0tLS0tLS0tLS0tKyAgIHxcbiAgICogICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICArLS0tKyAgICAgICAgfFxuICAgKiAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tPnxmaW58IC0gLSAtIC1cbiAgICogICAgfCAgICAgICAgICstLS0rICAgICAgICAgICAgICAgICAgICAgIHwgICArLS0tK1xuICAgKiAgICAgLSAtIC0gLSAtfGZpbnw8LS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuICAgKiAgICAgICAgICAgICAgKy0tLStcbiAgICpcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtjb2RlXSBTdGF0dXMgY29kZSBleHBsYWluaW5nIHdoeSB0aGUgY29ubmVjdGlvbiBpcyBjbG9zaW5nXG4gICAqIEBwYXJhbSB7KFN0cmluZ3xCdWZmZXIpfSBbZGF0YV0gVGhlIHJlYXNvbiB3aHkgdGhlIGNvbm5lY3Rpb24gaXNcbiAgICogICAgIGNsb3NpbmdcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgY2xvc2UoY29kZSwgZGF0YSkge1xuICAgIGlmICh0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TRUQpIHJldHVybjtcbiAgICBpZiAodGhpcy5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuQ09OTkVDVElORykge1xuICAgICAgY29uc3QgbXNnID0gJ1dlYlNvY2tldCB3YXMgY2xvc2VkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiB3YXMgZXN0YWJsaXNoZWQnO1xuICAgICAgYWJvcnRIYW5kc2hha2UodGhpcywgdGhpcy5fcmVxLCBtc2cpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TSU5HKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX2Nsb3NlRnJhbWVTZW50ICYmXG4gICAgICAgICh0aGlzLl9jbG9zZUZyYW1lUmVjZWl2ZWQgfHwgdGhpcy5fcmVjZWl2ZXIuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3NvY2tldC5lbmQoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3JlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ0xPU0lORztcbiAgICB0aGlzLl9zZW5kZXIuY2xvc2UoY29kZSwgZGF0YSwgIXRoaXMuX2lzU2VydmVyLCAoZXJyKSA9PiB7XG4gICAgICAvL1xuICAgICAgLy8gVGhpcyBlcnJvciBpcyBoYW5kbGVkIGJ5IHRoZSBgJ2Vycm9yJ2AgbGlzdGVuZXIgb24gdGhlIHNvY2tldC4gV2Ugb25seVxuICAgICAgLy8gd2FudCB0byBrbm93IGlmIHRoZSBjbG9zZSBmcmFtZSBoYXMgYmVlbiBzZW50IGhlcmUuXG4gICAgICAvL1xuICAgICAgaWYgKGVycikgcmV0dXJuO1xuXG4gICAgICB0aGlzLl9jbG9zZUZyYW1lU2VudCA9IHRydWU7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5fY2xvc2VGcmFtZVJlY2VpdmVkIHx8XG4gICAgICAgIHRoaXMuX3JlY2VpdmVyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3NvY2tldC5lbmQoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vXG4gICAgLy8gU3BlY2lmeSBhIHRpbWVvdXQgZm9yIHRoZSBjbG9zaW5nIGhhbmRzaGFrZSB0byBjb21wbGV0ZS5cbiAgICAvL1xuICAgIHRoaXMuX2Nsb3NlVGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgdGhpcy5fc29ja2V0LmRlc3Ryb3kuYmluZCh0aGlzLl9zb2NrZXQpLFxuICAgICAgY2xvc2VUaW1lb3V0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZSB0aGUgc29ja2V0LlxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICBwYXVzZSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DT05ORUNUSU5HIHx8XG4gICAgICB0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TRURcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wYXVzZWQgPSB0cnVlO1xuICAgIHRoaXMuX3NvY2tldC5wYXVzZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgYSBwaW5nLlxuICAgKlxuICAgKiBAcGFyYW0geyp9IFtkYXRhXSBUaGUgZGF0YSB0byBzZW5kXG4gICAqIEBwYXJhbSB7Qm9vbGVhbn0gW21hc2tdIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0byBtYXNrIGBkYXRhYFxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY2JdIENhbGxiYWNrIHdoaWNoIGlzIGV4ZWN1dGVkIHdoZW4gdGhlIHBpbmcgaXMgc2VudFxuICAgKiBAcHVibGljXG4gICAqL1xuICBwaW5nKGRhdGEsIG1hc2ssIGNiKSB7XG4gICAgaWYgKHRoaXMucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignV2ViU29ja2V0IGlzIG5vdCBvcGVuOiByZWFkeVN0YXRlIDAgKENPTk5FQ1RJTkcpJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjYiA9IGRhdGE7XG4gICAgICBkYXRhID0gbWFzayA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBtYXNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjYiA9IG1hc2s7XG4gICAgICBtYXNrID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ251bWJlcicpIGRhdGEgPSBkYXRhLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAodGhpcy5yZWFkeVN0YXRlICE9PSBXZWJTb2NrZXQuT1BFTikge1xuICAgICAgc2VuZEFmdGVyQ2xvc2UodGhpcywgZGF0YSwgY2IpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChtYXNrID09PSB1bmRlZmluZWQpIG1hc2sgPSAhdGhpcy5faXNTZXJ2ZXI7XG4gICAgdGhpcy5fc2VuZGVyLnBpbmcoZGF0YSB8fCBFTVBUWV9CVUZGRVIsIG1hc2ssIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIGEgcG9uZy5cbiAgICpcbiAgICogQHBhcmFtIHsqfSBbZGF0YV0gVGhlIGRhdGEgdG8gc2VuZFxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IFttYXNrXSBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdG8gbWFzayBgZGF0YWBcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NiXSBDYWxsYmFjayB3aGljaCBpcyBleGVjdXRlZCB3aGVuIHRoZSBwb25nIGlzIHNlbnRcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgcG9uZyhkYXRhLCBtYXNrLCBjYikge1xuICAgIGlmICh0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DT05ORUNUSU5HKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlYlNvY2tldCBpcyBub3Qgb3BlbjogcmVhZHlTdGF0ZSAwIChDT05ORUNUSU5HKScpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2IgPSBkYXRhO1xuICAgICAgZGF0YSA9IG1hc2sgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbWFzayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2IgPSBtYXNrO1xuICAgICAgbWFzayA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdudW1iZXInKSBkYXRhID0gZGF0YS50b1N0cmluZygpO1xuXG4gICAgaWYgKHRoaXMucmVhZHlTdGF0ZSAhPT0gV2ViU29ja2V0Lk9QRU4pIHtcbiAgICAgIHNlbmRBZnRlckNsb3NlKHRoaXMsIGRhdGEsIGNiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobWFzayA9PT0gdW5kZWZpbmVkKSBtYXNrID0gIXRoaXMuX2lzU2VydmVyO1xuICAgIHRoaXMuX3NlbmRlci5wb25nKGRhdGEgfHwgRU1QVFlfQlVGRkVSLCBtYXNrLCBjYik7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIHRoZSBzb2NrZXQuXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIHJlc3VtZSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DT05ORUNUSU5HIHx8XG4gICAgICB0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TRURcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wYXVzZWQgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMuX3JlY2VpdmVyLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbikgdGhpcy5fc29ja2V0LnJlc3VtZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgYSBkYXRhIG1lc3NhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7Kn0gZGF0YSBUaGUgbWVzc2FnZSB0byBzZW5kXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gT3B0aW9ucyBvYmplY3RcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5iaW5hcnldIFNwZWNpZmllcyB3aGV0aGVyIGBkYXRhYCBpcyBiaW5hcnkgb3JcbiAgICogICAgIHRleHRcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5jb21wcmVzc10gU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRvIGNvbXByZXNzXG4gICAqICAgICBgZGF0YWBcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5maW49dHJ1ZV0gU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGZyYWdtZW50IGlzIHRoZVxuICAgKiAgICAgbGFzdCBvbmVcbiAgICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5tYXNrXSBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdG8gbWFzayBgZGF0YWBcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NiXSBDYWxsYmFjayB3aGljaCBpcyBleGVjdXRlZCB3aGVuIGRhdGEgaXMgd3JpdHRlbiBvdXRcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgc2VuZChkYXRhLCBvcHRpb25zLCBjYikge1xuICAgIGlmICh0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DT05ORUNUSU5HKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dlYlNvY2tldCBpcyBub3Qgb3BlbjogcmVhZHlTdGF0ZSAwIChDT05ORUNUSU5HKScpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2IgPSBvcHRpb25zO1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ251bWJlcicpIGRhdGEgPSBkYXRhLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAodGhpcy5yZWFkeVN0YXRlICE9PSBXZWJTb2NrZXQuT1BFTikge1xuICAgICAgc2VuZEFmdGVyQ2xvc2UodGhpcywgZGF0YSwgY2IpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICBiaW5hcnk6IHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJyxcbiAgICAgIG1hc2s6ICF0aGlzLl9pc1NlcnZlcixcbiAgICAgIGNvbXByZXNzOiB0cnVlLFxuICAgICAgZmluOiB0cnVlLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuX2V4dGVuc2lvbnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV0pIHtcbiAgICAgIG9wdHMuY29tcHJlc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZW5kZXIuc2VuZChkYXRhIHx8IEVNUFRZX0JVRkZFUiwgb3B0cywgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcmNpYmx5IGNsb3NlIHRoZSBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBAcHVibGljXG4gICAqL1xuICB0ZXJtaW5hdGUoKSB7XG4gICAgaWYgKHRoaXMucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNMT1NFRCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DT05ORUNUSU5HKSB7XG4gICAgICBjb25zdCBtc2cgPSAnV2ViU29ja2V0IHdhcyBjbG9zZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIHdhcyBlc3RhYmxpc2hlZCc7XG4gICAgICBhYm9ydEhhbmRzaGFrZSh0aGlzLCB0aGlzLl9yZXEsIG1zZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3NvY2tldCkge1xuICAgICAgdGhpcy5fcmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TSU5HO1xuICAgICAgdGhpcy5fc29ja2V0LmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAY29uc3RhbnQge051bWJlcn0gQ09OTkVDVElOR1xuICogQG1lbWJlcm9mIFdlYlNvY2tldFxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV2ViU29ja2V0LCAnQ09OTkVDVElORycsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgdmFsdWU6IHJlYWR5U3RhdGVzLmluZGV4T2YoJ0NPTk5FQ1RJTkcnKVxufSk7XG5cbi8qKlxuICogQGNvbnN0YW50IHtOdW1iZXJ9IENPTk5FQ1RJTkdcbiAqIEBtZW1iZXJvZiBXZWJTb2NrZXQucHJvdG90eXBlXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXZWJTb2NrZXQucHJvdG90eXBlLCAnQ09OTkVDVElORycsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgdmFsdWU6IHJlYWR5U3RhdGVzLmluZGV4T2YoJ0NPTk5FQ1RJTkcnKVxufSk7XG5cbi8qKlxuICogQGNvbnN0YW50IHtOdW1iZXJ9IE9QRU5cbiAqIEBtZW1iZXJvZiBXZWJTb2NrZXRcbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldCwgJ09QRU4nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIHZhbHVlOiByZWFkeVN0YXRlcy5pbmRleE9mKCdPUEVOJylcbn0pO1xuXG4vKipcbiAqIEBjb25zdGFudCB7TnVtYmVyfSBPUEVOXG4gKiBAbWVtYmVyb2YgV2ViU29ja2V0LnByb3RvdHlwZVxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV2ViU29ja2V0LnByb3RvdHlwZSwgJ09QRU4nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIHZhbHVlOiByZWFkeVN0YXRlcy5pbmRleE9mKCdPUEVOJylcbn0pO1xuXG4vKipcbiAqIEBjb25zdGFudCB7TnVtYmVyfSBDTE9TSU5HXG4gKiBAbWVtYmVyb2YgV2ViU29ja2V0XG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXZWJTb2NrZXQsICdDTE9TSU5HJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICB2YWx1ZTogcmVhZHlTdGF0ZXMuaW5kZXhPZignQ0xPU0lORycpXG59KTtcblxuLyoqXG4gKiBAY29uc3RhbnQge051bWJlcn0gQ0xPU0lOR1xuICogQG1lbWJlcm9mIFdlYlNvY2tldC5wcm90b3R5cGVcbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldC5wcm90b3R5cGUsICdDTE9TSU5HJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICB2YWx1ZTogcmVhZHlTdGF0ZXMuaW5kZXhPZignQ0xPU0lORycpXG59KTtcblxuLyoqXG4gKiBAY29uc3RhbnQge051bWJlcn0gQ0xPU0VEXG4gKiBAbWVtYmVyb2YgV2ViU29ja2V0XG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXZWJTb2NrZXQsICdDTE9TRUQnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIHZhbHVlOiByZWFkeVN0YXRlcy5pbmRleE9mKCdDTE9TRUQnKVxufSk7XG5cbi8qKlxuICogQGNvbnN0YW50IHtOdW1iZXJ9IENMT1NFRFxuICogQG1lbWJlcm9mIFdlYlNvY2tldC5wcm90b3R5cGVcbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldC5wcm90b3R5cGUsICdDTE9TRUQnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIHZhbHVlOiByZWFkeVN0YXRlcy5pbmRleE9mKCdDTE9TRUQnKVxufSk7XG5cbltcbiAgJ2JpbmFyeVR5cGUnLFxuICAnYnVmZmVyZWRBbW91bnQnLFxuICAnZXh0ZW5zaW9ucycsXG4gICdpc1BhdXNlZCcsXG4gICdwcm90b2NvbCcsXG4gICdyZWFkeVN0YXRlJyxcbiAgJ3VybCdcbl0uZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldC5wcm90b3R5cGUsIHByb3BlcnR5LCB7IGVudW1lcmFibGU6IHRydWUgfSk7XG59KTtcblxuLy9cbi8vIEFkZCB0aGUgYG9ub3BlbmAsIGBvbmVycm9yYCwgYG9uY2xvc2VgLCBhbmQgYG9ubWVzc2FnZWAgYXR0cmlidXRlcy5cbi8vIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jb21tcy5odG1sI3RoZS13ZWJzb2NrZXQtaW50ZXJmYWNlXG4vL1xuWydvcGVuJywgJ2Vycm9yJywgJ2Nsb3NlJywgJ21lc3NhZ2UnXS5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldC5wcm90b3R5cGUsIGBvbiR7bWV0aG9kfWAsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgdGhpcy5saXN0ZW5lcnMobWV0aG9kKSkge1xuICAgICAgICBpZiAobGlzdGVuZXJba0Zvck9uRXZlbnRBdHRyaWJ1dGVdKSByZXR1cm4gbGlzdGVuZXJba0xpc3RlbmVyXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgICBzZXQoaGFuZGxlcikge1xuICAgICAgZm9yIChjb25zdCBsaXN0ZW5lciBvZiB0aGlzLmxpc3RlbmVycyhtZXRob2QpKSB7XG4gICAgICAgIGlmIChsaXN0ZW5lcltrRm9yT25FdmVudEF0dHJpYnV0ZV0pIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUxpc3RlbmVyKG1ldGhvZCwgbGlzdGVuZXIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuO1xuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIobWV0aG9kLCBoYW5kbGVyLCB7XG4gICAgICAgIFtrRm9yT25FdmVudEF0dHJpYnV0ZV06IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59KTtcblxuV2ViU29ja2V0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyID0gYWRkRXZlbnRMaXN0ZW5lcjtcbldlYlNvY2tldC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IHJlbW92ZUV2ZW50TGlzdGVuZXI7XG5cbm1vZHVsZS5leHBvcnRzID0gV2ViU29ja2V0O1xuXG4vKipcbiAqIEluaXRpYWxpemUgYSBXZWJTb2NrZXQgY2xpZW50LlxuICpcbiAqIEBwYXJhbSB7V2ViU29ja2V0fSB3ZWJzb2NrZXQgVGhlIGNsaWVudCB0byBpbml0aWFsaXplXG4gKiBAcGFyYW0geyhTdHJpbmd8VVJMKX0gYWRkcmVzcyBUaGUgVVJMIHRvIHdoaWNoIHRvIGNvbm5lY3RcbiAqIEBwYXJhbSB7QXJyYXl9IHByb3RvY29scyBUaGUgc3VicHJvdG9jb2xzXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIENvbm5lY3Rpb24gb3B0aW9uc1xuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5mb2xsb3dSZWRpcmVjdHM9ZmFsc2VdIFdoZXRoZXIgb3Igbm90IHRvIGZvbGxvd1xuICogICAgIHJlZGlyZWN0c1xuICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuZ2VuZXJhdGVNYXNrXSBUaGUgZnVuY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSB0aGVcbiAqICAgICBtYXNraW5nIGtleVxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLmhhbmRzaGFrZVRpbWVvdXRdIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGVcbiAqICAgICBoYW5kc2hha2UgcmVxdWVzdFxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLm1heFBheWxvYWQ9MTA0ODU3NjAwXSBUaGUgbWF4aW11bSBhbGxvd2VkIG1lc3NhZ2VcbiAqICAgICBzaXplXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMubWF4UmVkaXJlY3RzPTEwXSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmVkaXJlY3RzXG4gKiAgICAgYWxsb3dlZFxuICogQHBhcmFtIHtTdHJpbmd9IFtvcHRpb25zLm9yaWdpbl0gVmFsdWUgb2YgdGhlIGBPcmlnaW5gIG9yXG4gKiAgICAgYFNlYy1XZWJTb2NrZXQtT3JpZ2luYCBoZWFkZXJcbiAqIEBwYXJhbSB7KEJvb2xlYW58T2JqZWN0KX0gW29wdGlvbnMucGVyTWVzc2FnZURlZmxhdGU9dHJ1ZV0gRW5hYmxlL2Rpc2FibGVcbiAqICAgICBwZXJtZXNzYWdlLWRlZmxhdGVcbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy5wcm90b2NvbFZlcnNpb249MTNdIFZhbHVlIG9mIHRoZVxuICogICAgIGBTZWMtV2ViU29ja2V0LVZlcnNpb25gIGhlYWRlclxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5za2lwVVRGOFZhbGlkYXRpb249ZmFsc2VdIFNwZWNpZmllcyB3aGV0aGVyIG9yXG4gKiAgICAgbm90IHRvIHNraXAgVVRGLTggdmFsaWRhdGlvbiBmb3IgdGV4dCBhbmQgY2xvc2UgbWVzc2FnZXNcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGluaXRBc0NsaWVudCh3ZWJzb2NrZXQsIGFkZHJlc3MsIHByb3RvY29scywgb3B0aW9ucykge1xuICBjb25zdCBvcHRzID0ge1xuICAgIHByb3RvY29sVmVyc2lvbjogcHJvdG9jb2xWZXJzaW9uc1sxXSxcbiAgICBtYXhQYXlsb2FkOiAxMDAgKiAxMDI0ICogMTAyNCxcbiAgICBza2lwVVRGOFZhbGlkYXRpb246IGZhbHNlLFxuICAgIHBlck1lc3NhZ2VEZWZsYXRlOiB0cnVlLFxuICAgIGZvbGxvd1JlZGlyZWN0czogZmFsc2UsXG4gICAgbWF4UmVkaXJlY3RzOiAxMCxcbiAgICAuLi5vcHRpb25zLFxuICAgIGNyZWF0ZUNvbm5lY3Rpb246IHVuZGVmaW5lZCxcbiAgICBzb2NrZXRQYXRoOiB1bmRlZmluZWQsXG4gICAgaG9zdG5hbWU6IHVuZGVmaW5lZCxcbiAgICBwcm90b2NvbDogdW5kZWZpbmVkLFxuICAgIHRpbWVvdXQ6IHVuZGVmaW5lZCxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICAgIGhvc3Q6IHVuZGVmaW5lZCxcbiAgICBwYXRoOiB1bmRlZmluZWQsXG4gICAgcG9ydDogdW5kZWZpbmVkXG4gIH07XG5cbiAgaWYgKCFwcm90b2NvbFZlcnNpb25zLmluY2x1ZGVzKG9wdHMucHJvdG9jb2xWZXJzaW9uKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFxuICAgICAgYFVuc3VwcG9ydGVkIHByb3RvY29sIHZlcnNpb246ICR7b3B0cy5wcm90b2NvbFZlcnNpb259IGAgK1xuICAgICAgICBgKHN1cHBvcnRlZCB2ZXJzaW9uczogJHtwcm90b2NvbFZlcnNpb25zLmpvaW4oJywgJyl9KWBcbiAgICApO1xuICB9XG5cbiAgbGV0IHBhcnNlZFVybDtcblxuICBpZiAoYWRkcmVzcyBpbnN0YW5jZW9mIFVSTCkge1xuICAgIHBhcnNlZFVybCA9IGFkZHJlc3M7XG4gICAgd2Vic29ja2V0Ll91cmwgPSBhZGRyZXNzLmhyZWY7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlZFVybCA9IG5ldyBVUkwoYWRkcmVzcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBJbnZhbGlkIFVSTDogJHthZGRyZXNzfWApO1xuICAgIH1cblxuICAgIHdlYnNvY2tldC5fdXJsID0gYWRkcmVzcztcbiAgfVxuXG4gIGNvbnN0IGlzU2VjdXJlID0gcGFyc2VkVXJsLnByb3RvY29sID09PSAnd3NzOic7XG4gIGNvbnN0IGlzSXBjVXJsID0gcGFyc2VkVXJsLnByb3RvY29sID09PSAnd3MrdW5peDonO1xuICBsZXQgaW52YWxpZFVybE1lc3NhZ2U7XG5cbiAgaWYgKHBhcnNlZFVybC5wcm90b2NvbCAhPT0gJ3dzOicgJiYgIWlzU2VjdXJlICYmICFpc0lwY1VybCkge1xuICAgIGludmFsaWRVcmxNZXNzYWdlID1cbiAgICAgICdUaGUgVVJMXFwncyBwcm90b2NvbCBtdXN0IGJlIG9uZSBvZiBcIndzOlwiLCBcIndzczpcIiwgb3IgXCJ3cyt1bml4OlwiJztcbiAgfSBlbHNlIGlmIChpc0lwY1VybCAmJiAhcGFyc2VkVXJsLnBhdGhuYW1lKSB7XG4gICAgaW52YWxpZFVybE1lc3NhZ2UgPSBcIlRoZSBVUkwncyBwYXRobmFtZSBpcyBlbXB0eVwiO1xuICB9IGVsc2UgaWYgKHBhcnNlZFVybC5oYXNoKSB7XG4gICAgaW52YWxpZFVybE1lc3NhZ2UgPSAnVGhlIFVSTCBjb250YWlucyBhIGZyYWdtZW50IGlkZW50aWZpZXInO1xuICB9XG5cbiAgaWYgKGludmFsaWRVcmxNZXNzYWdlKSB7XG4gICAgY29uc3QgZXJyID0gbmV3IFN5bnRheEVycm9yKGludmFsaWRVcmxNZXNzYWdlKTtcblxuICAgIGlmICh3ZWJzb2NrZXQuX3JlZGlyZWN0cyA9PT0gMCkge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbWl0RXJyb3JBbmRDbG9zZSh3ZWJzb2NrZXQsIGVycik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZGVmYXVsdFBvcnQgPSBpc1NlY3VyZSA/IDQ0MyA6IDgwO1xuICBjb25zdCBrZXkgPSByYW5kb21CeXRlcygxNikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICBjb25zdCByZXF1ZXN0ID0gaXNTZWN1cmUgPyBodHRwcy5yZXF1ZXN0IDogaHR0cC5yZXF1ZXN0O1xuICBjb25zdCBwcm90b2NvbFNldCA9IG5ldyBTZXQoKTtcbiAgbGV0IHBlck1lc3NhZ2VEZWZsYXRlO1xuXG4gIG9wdHMuY3JlYXRlQ29ubmVjdGlvbiA9IGlzU2VjdXJlID8gdGxzQ29ubmVjdCA6IG5ldENvbm5lY3Q7XG4gIG9wdHMuZGVmYXVsdFBvcnQgPSBvcHRzLmRlZmF1bHRQb3J0IHx8IGRlZmF1bHRQb3J0O1xuICBvcHRzLnBvcnQgPSBwYXJzZWRVcmwucG9ydCB8fCBkZWZhdWx0UG9ydDtcbiAgb3B0cy5ob3N0ID0gcGFyc2VkVXJsLmhvc3RuYW1lLnN0YXJ0c1dpdGgoJ1snKVxuICAgID8gcGFyc2VkVXJsLmhvc3RuYW1lLnNsaWNlKDEsIC0xKVxuICAgIDogcGFyc2VkVXJsLmhvc3RuYW1lO1xuICBvcHRzLmhlYWRlcnMgPSB7XG4gICAgLi4ub3B0cy5oZWFkZXJzLFxuICAgICdTZWMtV2ViU29ja2V0LVZlcnNpb24nOiBvcHRzLnByb3RvY29sVmVyc2lvbixcbiAgICAnU2VjLVdlYlNvY2tldC1LZXknOiBrZXksXG4gICAgQ29ubmVjdGlvbjogJ1VwZ3JhZGUnLFxuICAgIFVwZ3JhZGU6ICd3ZWJzb2NrZXQnXG4gIH07XG4gIG9wdHMucGF0aCA9IHBhcnNlZFVybC5wYXRobmFtZSArIHBhcnNlZFVybC5zZWFyY2g7XG4gIG9wdHMudGltZW91dCA9IG9wdHMuaGFuZHNoYWtlVGltZW91dDtcblxuICBpZiAob3B0cy5wZXJNZXNzYWdlRGVmbGF0ZSkge1xuICAgIHBlck1lc3NhZ2VEZWZsYXRlID0gbmV3IFBlck1lc3NhZ2VEZWZsYXRlKFxuICAgICAgb3B0cy5wZXJNZXNzYWdlRGVmbGF0ZSAhPT0gdHJ1ZSA/IG9wdHMucGVyTWVzc2FnZURlZmxhdGUgOiB7fSxcbiAgICAgIGZhbHNlLFxuICAgICAgb3B0cy5tYXhQYXlsb2FkXG4gICAgKTtcbiAgICBvcHRzLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtRXh0ZW5zaW9ucyddID0gZm9ybWF0KHtcbiAgICAgIFtQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXTogcGVyTWVzc2FnZURlZmxhdGUub2ZmZXIoKVxuICAgIH0pO1xuICB9XG4gIGlmIChwcm90b2NvbHMubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCBwcm90b2NvbCBvZiBwcm90b2NvbHMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIHByb3RvY29sICE9PSAnc3RyaW5nJyB8fFxuICAgICAgICAhc3VicHJvdG9jb2xSZWdleC50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgICBwcm90b2NvbFNldC5oYXMocHJvdG9jb2wpXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKFxuICAgICAgICAgICdBbiBpbnZhbGlkIG9yIGR1cGxpY2F0ZWQgc3VicHJvdG9jb2wgd2FzIHNwZWNpZmllZCdcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcHJvdG9jb2xTZXQuYWRkKHByb3RvY29sKTtcbiAgICB9XG5cbiAgICBvcHRzLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtUHJvdG9jb2wnXSA9IHByb3RvY29scy5qb2luKCcsJyk7XG4gIH1cbiAgaWYgKG9wdHMub3JpZ2luKSB7XG4gICAgaWYgKG9wdHMucHJvdG9jb2xWZXJzaW9uIDwgMTMpIHtcbiAgICAgIG9wdHMuaGVhZGVyc1snU2VjLVdlYlNvY2tldC1PcmlnaW4nXSA9IG9wdHMub3JpZ2luO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRzLmhlYWRlcnMuT3JpZ2luID0gb3B0cy5vcmlnaW47XG4gICAgfVxuICB9XG4gIGlmIChwYXJzZWRVcmwudXNlcm5hbWUgfHwgcGFyc2VkVXJsLnBhc3N3b3JkKSB7XG4gICAgb3B0cy5hdXRoID0gYCR7cGFyc2VkVXJsLnVzZXJuYW1lfToke3BhcnNlZFVybC5wYXNzd29yZH1gO1xuICB9XG5cbiAgaWYgKGlzSXBjVXJsKSB7XG4gICAgY29uc3QgcGFydHMgPSBvcHRzLnBhdGguc3BsaXQoJzonKTtcblxuICAgIG9wdHMuc29ja2V0UGF0aCA9IHBhcnRzWzBdO1xuICAgIG9wdHMucGF0aCA9IHBhcnRzWzFdO1xuICB9XG5cbiAgbGV0IHJlcTtcblxuICBpZiAob3B0cy5mb2xsb3dSZWRpcmVjdHMpIHtcbiAgICBpZiAod2Vic29ja2V0Ll9yZWRpcmVjdHMgPT09IDApIHtcbiAgICAgIHdlYnNvY2tldC5fb3JpZ2luYWxJcGMgPSBpc0lwY1VybDtcbiAgICAgIHdlYnNvY2tldC5fb3JpZ2luYWxTZWN1cmUgPSBpc1NlY3VyZTtcbiAgICAgIHdlYnNvY2tldC5fb3JpZ2luYWxIb3N0T3JTb2NrZXRQYXRoID0gaXNJcGNVcmxcbiAgICAgICAgPyBvcHRzLnNvY2tldFBhdGhcbiAgICAgICAgOiBwYXJzZWRVcmwuaG9zdDtcblxuICAgICAgY29uc3QgaGVhZGVycyA9IG9wdGlvbnMgJiYgb3B0aW9ucy5oZWFkZXJzO1xuXG4gICAgICAvL1xuICAgICAgLy8gU2hhbGxvdyBjb3B5IHRoZSB1c2VyIHByb3ZpZGVkIG9wdGlvbnMgc28gdGhhdCBoZWFkZXJzIGNhbiBiZSBjaGFuZ2VkXG4gICAgICAvLyB3aXRob3V0IG11dGF0aW5nIHRoZSBvcmlnaW5hbCBvYmplY3QuXG4gICAgICAvL1xuICAgICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgaGVhZGVyczoge30gfTtcblxuICAgICAgaWYgKGhlYWRlcnMpIHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycykpIHtcbiAgICAgICAgICBvcHRpb25zLmhlYWRlcnNba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHdlYnNvY2tldC5saXN0ZW5lckNvdW50KCdyZWRpcmVjdCcpID09PSAwKSB7XG4gICAgICBjb25zdCBpc1NhbWVIb3N0ID0gaXNJcGNVcmxcbiAgICAgICAgPyB3ZWJzb2NrZXQuX29yaWdpbmFsSXBjXG4gICAgICAgICAgPyBvcHRzLnNvY2tldFBhdGggPT09IHdlYnNvY2tldC5fb3JpZ2luYWxIb3N0T3JTb2NrZXRQYXRoXG4gICAgICAgICAgOiBmYWxzZVxuICAgICAgICA6IHdlYnNvY2tldC5fb3JpZ2luYWxJcGNcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHBhcnNlZFVybC5ob3N0ID09PSB3ZWJzb2NrZXQuX29yaWdpbmFsSG9zdE9yU29ja2V0UGF0aDtcblxuICAgICAgaWYgKCFpc1NhbWVIb3N0IHx8ICh3ZWJzb2NrZXQuX29yaWdpbmFsU2VjdXJlICYmICFpc1NlY3VyZSkpIHtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gTWF0Y2ggY3VybCA3Ljc3LjAgYmVoYXZpb3IgYW5kIGRyb3AgdGhlIGZvbGxvd2luZyBoZWFkZXJzLiBUaGVzZVxuICAgICAgICAvLyBoZWFkZXJzIGFyZSBhbHNvIGRyb3BwZWQgd2hlbiBmb2xsb3dpbmcgYSByZWRpcmVjdCB0byBhIHN1YmRvbWFpbi5cbiAgICAgICAgLy9cbiAgICAgICAgZGVsZXRlIG9wdHMuaGVhZGVycy5hdXRob3JpemF0aW9uO1xuICAgICAgICBkZWxldGUgb3B0cy5oZWFkZXJzLmNvb2tpZTtcblxuICAgICAgICBpZiAoIWlzU2FtZUhvc3QpIGRlbGV0ZSBvcHRzLmhlYWRlcnMuaG9zdDtcblxuICAgICAgICBvcHRzLmF1dGggPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBNYXRjaCBjdXJsIDcuNzcuMCBiZWhhdmlvciBhbmQgbWFrZSB0aGUgZmlyc3QgYEF1dGhvcml6YXRpb25gIGhlYWRlciB3aW4uXG4gICAgLy8gSWYgdGhlIGBBdXRob3JpemF0aW9uYCBoZWFkZXIgaXMgc2V0LCB0aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gZG8gYXMgaXRcbiAgICAvLyB3aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAgICAvL1xuICAgIGlmIChvcHRzLmF1dGggJiYgIW9wdGlvbnMuaGVhZGVycy5hdXRob3JpemF0aW9uKSB7XG4gICAgICBvcHRpb25zLmhlYWRlcnMuYXV0aG9yaXphdGlvbiA9XG4gICAgICAgICdCYXNpYyAnICsgQnVmZmVyLmZyb20ob3B0cy5hdXRoKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgfVxuXG4gICAgcmVxID0gd2Vic29ja2V0Ll9yZXEgPSByZXF1ZXN0KG9wdHMpO1xuXG4gICAgaWYgKHdlYnNvY2tldC5fcmVkaXJlY3RzKSB7XG4gICAgICAvL1xuICAgICAgLy8gVW5saWtlIHdoYXQgaXMgZG9uZSBmb3IgdGhlIGAndXBncmFkZSdgIGV2ZW50LCBubyBlYXJseSBleGl0IGlzXG4gICAgICAvLyB0cmlnZ2VyZWQgaGVyZSBpZiB0aGUgdXNlciBjYWxscyBgd2Vic29ja2V0LmNsb3NlKClgIG9yXG4gICAgICAvLyBgd2Vic29ja2V0LnRlcm1pbmF0ZSgpYCBmcm9tIGEgbGlzdGVuZXIgb2YgdGhlIGAncmVkaXJlY3QnYCBldmVudC4gVGhpc1xuICAgICAgLy8gaXMgYmVjYXVzZSB0aGUgdXNlciBjYW4gYWxzbyBjYWxsIGByZXF1ZXN0LmRlc3Ryb3koKWAgd2l0aCBhbiBlcnJvclxuICAgICAgLy8gYmVmb3JlIGNhbGxpbmcgYHdlYnNvY2tldC5jbG9zZSgpYCBvciBgd2Vic29ja2V0LnRlcm1pbmF0ZSgpYCBhbmQgdGhpc1xuICAgICAgLy8gd291bGQgcmVzdWx0IGluIGFuIGVycm9yIGJlaW5nIGVtaXR0ZWQgb24gdGhlIGByZXF1ZXN0YCBvYmplY3Qgd2l0aCBub1xuICAgICAgLy8gYCdlcnJvcidgIGV2ZW50IGxpc3RlbmVycyBhdHRhY2hlZC5cbiAgICAgIC8vXG4gICAgICB3ZWJzb2NrZXQuZW1pdCgncmVkaXJlY3QnLCB3ZWJzb2NrZXQudXJsLCByZXEpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXEgPSB3ZWJzb2NrZXQuX3JlcSA9IHJlcXVlc3Qob3B0cyk7XG4gIH1cblxuICBpZiAob3B0cy50aW1lb3V0KSB7XG4gICAgcmVxLm9uKCd0aW1lb3V0JywgKCkgPT4ge1xuICAgICAgYWJvcnRIYW5kc2hha2Uod2Vic29ja2V0LCByZXEsICdPcGVuaW5nIGhhbmRzaGFrZSBoYXMgdGltZWQgb3V0Jyk7XG4gICAgfSk7XG4gIH1cblxuICByZXEub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgIGlmIChyZXEgPT09IG51bGwgfHwgcmVxW2tBYm9ydGVkXSkgcmV0dXJuO1xuXG4gICAgcmVxID0gd2Vic29ja2V0Ll9yZXEgPSBudWxsO1xuICAgIGVtaXRFcnJvckFuZENsb3NlKHdlYnNvY2tldCwgZXJyKTtcbiAgfSk7XG5cbiAgcmVxLm9uKCdyZXNwb25zZScsIChyZXMpID0+IHtcbiAgICBjb25zdCBsb2NhdGlvbiA9IHJlcy5oZWFkZXJzLmxvY2F0aW9uO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSByZXMuc3RhdHVzQ29kZTtcblxuICAgIGlmIChcbiAgICAgIGxvY2F0aW9uICYmXG4gICAgICBvcHRzLmZvbGxvd1JlZGlyZWN0cyAmJlxuICAgICAgc3RhdHVzQ29kZSA+PSAzMDAgJiZcbiAgICAgIHN0YXR1c0NvZGUgPCA0MDBcbiAgICApIHtcbiAgICAgIGlmICgrK3dlYnNvY2tldC5fcmVkaXJlY3RzID4gb3B0cy5tYXhSZWRpcmVjdHMpIHtcbiAgICAgICAgYWJvcnRIYW5kc2hha2Uod2Vic29ja2V0LCByZXEsICdNYXhpbXVtIHJlZGlyZWN0cyBleGNlZWRlZCcpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJlcS5hYm9ydCgpO1xuXG4gICAgICBsZXQgYWRkcjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgYWRkciA9IG5ldyBVUkwobG9jYXRpb24sIGFkZHJlc3MpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnIgPSBuZXcgU3ludGF4RXJyb3IoYEludmFsaWQgVVJMOiAke2xvY2F0aW9ufWApO1xuICAgICAgICBlbWl0RXJyb3JBbmRDbG9zZSh3ZWJzb2NrZXQsIGVycik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaW5pdEFzQ2xpZW50KHdlYnNvY2tldCwgYWRkciwgcHJvdG9jb2xzLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKCF3ZWJzb2NrZXQuZW1pdCgndW5leHBlY3RlZC1yZXNwb25zZScsIHJlcSwgcmVzKSkge1xuICAgICAgYWJvcnRIYW5kc2hha2UoXG4gICAgICAgIHdlYnNvY2tldCxcbiAgICAgICAgcmVxLFxuICAgICAgICBgVW5leHBlY3RlZCBzZXJ2ZXIgcmVzcG9uc2U6ICR7cmVzLnN0YXR1c0NvZGV9YFxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJlcS5vbigndXBncmFkZScsIChyZXMsIHNvY2tldCwgaGVhZCkgPT4ge1xuICAgIHdlYnNvY2tldC5lbWl0KCd1cGdyYWRlJywgcmVzKTtcblxuICAgIC8vXG4gICAgLy8gVGhlIHVzZXIgbWF5IGhhdmUgY2xvc2VkIHRoZSBjb25uZWN0aW9uIGZyb20gYSBsaXN0ZW5lciBvZiB0aGVcbiAgICAvLyBgJ3VwZ3JhZGUnYCBldmVudC5cbiAgICAvL1xuICAgIGlmICh3ZWJzb2NrZXQucmVhZHlTdGF0ZSAhPT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHJldHVybjtcblxuICAgIHJlcSA9IHdlYnNvY2tldC5fcmVxID0gbnVsbDtcblxuICAgIGlmIChyZXMuaGVhZGVycy51cGdyYWRlLnRvTG93ZXJDYXNlKCkgIT09ICd3ZWJzb2NrZXQnKSB7XG4gICAgICBhYm9ydEhhbmRzaGFrZSh3ZWJzb2NrZXQsIHNvY2tldCwgJ0ludmFsaWQgVXBncmFkZSBoZWFkZXInKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkaWdlc3QgPSBjcmVhdGVIYXNoKCdzaGExJylcbiAgICAgIC51cGRhdGUoa2V5ICsgR1VJRClcbiAgICAgIC5kaWdlc3QoJ2Jhc2U2NCcpO1xuXG4gICAgaWYgKHJlcy5oZWFkZXJzWydzZWMtd2Vic29ja2V0LWFjY2VwdCddICE9PSBkaWdlc3QpIHtcbiAgICAgIGFib3J0SGFuZHNoYWtlKHdlYnNvY2tldCwgc29ja2V0LCAnSW52YWxpZCBTZWMtV2ViU29ja2V0LUFjY2VwdCBoZWFkZXInKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2ZXJQcm90ID0gcmVzLmhlYWRlcnNbJ3NlYy13ZWJzb2NrZXQtcHJvdG9jb2wnXTtcbiAgICBsZXQgcHJvdEVycm9yO1xuXG4gICAgaWYgKHNlcnZlclByb3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKCFwcm90b2NvbFNldC5zaXplKSB7XG4gICAgICAgIHByb3RFcnJvciA9ICdTZXJ2ZXIgc2VudCBhIHN1YnByb3RvY29sIGJ1dCBub25lIHdhcyByZXF1ZXN0ZWQnO1xuICAgICAgfSBlbHNlIGlmICghcHJvdG9jb2xTZXQuaGFzKHNlcnZlclByb3QpKSB7XG4gICAgICAgIHByb3RFcnJvciA9ICdTZXJ2ZXIgc2VudCBhbiBpbnZhbGlkIHN1YnByb3RvY29sJztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3RvY29sU2V0LnNpemUpIHtcbiAgICAgIHByb3RFcnJvciA9ICdTZXJ2ZXIgc2VudCBubyBzdWJwcm90b2NvbCc7XG4gICAgfVxuXG4gICAgaWYgKHByb3RFcnJvcikge1xuICAgICAgYWJvcnRIYW5kc2hha2Uod2Vic29ja2V0LCBzb2NrZXQsIHByb3RFcnJvcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNlcnZlclByb3QpIHdlYnNvY2tldC5fcHJvdG9jb2wgPSBzZXJ2ZXJQcm90O1xuXG4gICAgY29uc3Qgc2VjV2ViU29ja2V0RXh0ZW5zaW9ucyA9IHJlcy5oZWFkZXJzWydzZWMtd2Vic29ja2V0LWV4dGVuc2lvbnMnXTtcblxuICAgIGlmIChzZWNXZWJTb2NrZXRFeHRlbnNpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICghcGVyTWVzc2FnZURlZmxhdGUpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgJ1NlcnZlciBzZW50IGEgU2VjLVdlYlNvY2tldC1FeHRlbnNpb25zIGhlYWRlciBidXQgbm8gZXh0ZW5zaW9uICcgK1xuICAgICAgICAgICd3YXMgcmVxdWVzdGVkJztcbiAgICAgICAgYWJvcnRIYW5kc2hha2Uod2Vic29ja2V0LCBzb2NrZXQsIG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGxldCBleHRlbnNpb25zO1xuXG4gICAgICB0cnkge1xuICAgICAgICBleHRlbnNpb25zID0gcGFyc2Uoc2VjV2ViU29ja2V0RXh0ZW5zaW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdJbnZhbGlkIFNlYy1XZWJTb2NrZXQtRXh0ZW5zaW9ucyBoZWFkZXInO1xuICAgICAgICBhYm9ydEhhbmRzaGFrZSh3ZWJzb2NrZXQsIHNvY2tldCwgbWVzc2FnZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXh0ZW5zaW9uTmFtZXMgPSBPYmplY3Qua2V5cyhleHRlbnNpb25zKTtcblxuICAgICAgaWYgKFxuICAgICAgICBleHRlbnNpb25OYW1lcy5sZW5ndGggIT09IDEgfHxcbiAgICAgICAgZXh0ZW5zaW9uTmFtZXNbMF0gIT09IFBlck1lc3NhZ2VEZWZsYXRlLmV4dGVuc2lvbk5hbWVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1NlcnZlciBpbmRpY2F0ZWQgYW4gZXh0ZW5zaW9uIHRoYXQgd2FzIG5vdCByZXF1ZXN0ZWQnO1xuICAgICAgICBhYm9ydEhhbmRzaGFrZSh3ZWJzb2NrZXQsIHNvY2tldCwgbWVzc2FnZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgcGVyTWVzc2FnZURlZmxhdGUuYWNjZXB0KGV4dGVuc2lvbnNbUGVyTWVzc2FnZURlZmxhdGUuZXh0ZW5zaW9uTmFtZV0pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnSW52YWxpZCBTZWMtV2ViU29ja2V0LUV4dGVuc2lvbnMgaGVhZGVyJztcbiAgICAgICAgYWJvcnRIYW5kc2hha2Uod2Vic29ja2V0LCBzb2NrZXQsIG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHdlYnNvY2tldC5fZXh0ZW5zaW9uc1tQZXJNZXNzYWdlRGVmbGF0ZS5leHRlbnNpb25OYW1lXSA9XG4gICAgICAgIHBlck1lc3NhZ2VEZWZsYXRlO1xuICAgIH1cblxuICAgIHdlYnNvY2tldC5zZXRTb2NrZXQoc29ja2V0LCBoZWFkLCB7XG4gICAgICBnZW5lcmF0ZU1hc2s6IG9wdHMuZ2VuZXJhdGVNYXNrLFxuICAgICAgbWF4UGF5bG9hZDogb3B0cy5tYXhQYXlsb2FkLFxuICAgICAgc2tpcFVURjhWYWxpZGF0aW9uOiBvcHRzLnNraXBVVEY4VmFsaWRhdGlvblxuICAgIH0pO1xuICB9KTtcblxuICByZXEuZW5kKCk7XG59XG5cbi8qKlxuICogRW1pdCB0aGUgYCdlcnJvcidgIGFuZCBgJ2Nsb3NlJ2AgZXZlbnRzLlxuICpcbiAqIEBwYXJhbSB7V2ViU29ja2V0fSB3ZWJzb2NrZXQgVGhlIFdlYlNvY2tldCBpbnN0YW5jZVxuICogQHBhcmFtIHtFcnJvcn0gVGhlIGVycm9yIHRvIGVtaXRcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlKHdlYnNvY2tldCwgZXJyKSB7XG4gIHdlYnNvY2tldC5fcmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TSU5HO1xuICB3ZWJzb2NrZXQuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB3ZWJzb2NrZXQuZW1pdENsb3NlKCk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYG5ldC5Tb2NrZXRgIGFuZCBpbml0aWF0ZSBhIGNvbm5lY3Rpb24uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgQ29ubmVjdGlvbiBvcHRpb25zXG4gKiBAcmV0dXJuIHtuZXQuU29ja2V0fSBUaGUgbmV3bHkgY3JlYXRlZCBzb2NrZXQgdXNlZCB0byBzdGFydCB0aGUgY29ubmVjdGlvblxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gbmV0Q29ubmVjdChvcHRpb25zKSB7XG4gIG9wdGlvbnMucGF0aCA9IG9wdGlvbnMuc29ja2V0UGF0aDtcbiAgcmV0dXJuIG5ldC5jb25uZWN0KG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGB0bHMuVExTU29ja2V0YCBhbmQgaW5pdGlhdGUgYSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIENvbm5lY3Rpb24gb3B0aW9uc1xuICogQHJldHVybiB7dGxzLlRMU1NvY2tldH0gVGhlIG5ld2x5IGNyZWF0ZWQgc29ja2V0IHVzZWQgdG8gc3RhcnQgdGhlIGNvbm5lY3Rpb25cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHRsc0Nvbm5lY3Qob3B0aW9ucykge1xuICBvcHRpb25zLnBhdGggPSB1bmRlZmluZWQ7XG5cbiAgaWYgKCFvcHRpb25zLnNlcnZlcm5hbWUgJiYgb3B0aW9ucy5zZXJ2ZXJuYW1lICE9PSAnJykge1xuICAgIG9wdGlvbnMuc2VydmVybmFtZSA9IG5ldC5pc0lQKG9wdGlvbnMuaG9zdCkgPyAnJyA6IG9wdGlvbnMuaG9zdDtcbiAgfVxuXG4gIHJldHVybiB0bHMuY29ubmVjdChvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBBYm9ydCB0aGUgaGFuZHNoYWtlIGFuZCBlbWl0IGFuIGVycm9yLlxuICpcbiAqIEBwYXJhbSB7V2ViU29ja2V0fSB3ZWJzb2NrZXQgVGhlIFdlYlNvY2tldCBpbnN0YW5jZVxuICogQHBhcmFtIHsoaHR0cC5DbGllbnRSZXF1ZXN0fG5ldC5Tb2NrZXR8dGxzLlNvY2tldCl9IHN0cmVhbSBUaGUgcmVxdWVzdCB0b1xuICogICAgIGFib3J0IG9yIHRoZSBzb2NrZXQgdG8gZGVzdHJveVxuICogQHBhcmFtIHtTdHJpbmd9IG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2VcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGFib3J0SGFuZHNoYWtlKHdlYnNvY2tldCwgc3RyZWFtLCBtZXNzYWdlKSB7XG4gIHdlYnNvY2tldC5fcmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TSU5HO1xuXG4gIGNvbnN0IGVyciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoZXJyLCBhYm9ydEhhbmRzaGFrZSk7XG5cbiAgaWYgKHN0cmVhbS5zZXRIZWFkZXIpIHtcbiAgICBzdHJlYW1ba0Fib3J0ZWRdID0gdHJ1ZTtcbiAgICBzdHJlYW0uYWJvcnQoKTtcblxuICAgIGlmIChzdHJlYW0uc29ja2V0ICYmICFzdHJlYW0uc29ja2V0LmRlc3Ryb3llZCkge1xuICAgICAgLy9cbiAgICAgIC8vIE9uIE5vZGUuanMgPj0gMTQuMy4wIGByZXF1ZXN0LmFib3J0KClgIGRvZXMgbm90IGRlc3Ryb3kgdGhlIHNvY2tldCBpZlxuICAgICAgLy8gY2FsbGVkIGFmdGVyIHRoZSByZXF1ZXN0IGNvbXBsZXRlZC4gU2VlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vd2Vic29ja2V0cy93cy9pc3N1ZXMvMTg2OS5cbiAgICAgIC8vXG4gICAgICBzdHJlYW0uc29ja2V0LmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlLCB3ZWJzb2NrZXQsIGVycik7XG4gIH0gZWxzZSB7XG4gICAgc3RyZWFtLmRlc3Ryb3koZXJyKTtcbiAgICBzdHJlYW0ub25jZSgnZXJyb3InLCB3ZWJzb2NrZXQuZW1pdC5iaW5kKHdlYnNvY2tldCwgJ2Vycm9yJykpO1xuICAgIHN0cmVhbS5vbmNlKCdjbG9zZScsIHdlYnNvY2tldC5lbWl0Q2xvc2UuYmluZCh3ZWJzb2NrZXQpKTtcbiAgfVxufVxuXG4vKipcbiAqIEhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgYHBpbmcoKWAsIGBwb25nKClgLCBvciBgc2VuZCgpYCBtZXRob2RzIGFyZSBjYWxsZWRcbiAqIHdoZW4gdGhlIGByZWFkeVN0YXRlYCBhdHRyaWJ1dGUgaXMgYENMT1NJTkdgIG9yIGBDTE9TRURgLlxuICpcbiAqIEBwYXJhbSB7V2ViU29ja2V0fSB3ZWJzb2NrZXQgVGhlIFdlYlNvY2tldCBpbnN0YW5jZVxuICogQHBhcmFtIHsqfSBbZGF0YV0gVGhlIGRhdGEgdG8gc2VuZFxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2NiXSBDYWxsYmFja1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gc2VuZEFmdGVyQ2xvc2Uod2Vic29ja2V0LCBkYXRhLCBjYikge1xuICBpZiAoZGF0YSkge1xuICAgIGNvbnN0IGxlbmd0aCA9IHRvQnVmZmVyKGRhdGEpLmxlbmd0aDtcblxuICAgIC8vXG4gICAgLy8gVGhlIGBfYnVmZmVyZWRBbW91bnRgIHByb3BlcnR5IGlzIHVzZWQgb25seSB3aGVuIHRoZSBwZWVyIGlzIGEgY2xpZW50IGFuZFxuICAgIC8vIHRoZSBvcGVuaW5nIGhhbmRzaGFrZSBmYWlscy4gVW5kZXIgdGhlc2UgY2lyY3Vtc3RhbmNlcywgaW4gZmFjdCwgdGhlXG4gICAgLy8gYHNldFNvY2tldCgpYCBtZXRob2QgaXMgbm90IGNhbGxlZCwgc28gdGhlIGBfc29ja2V0YCBhbmQgYF9zZW5kZXJgXG4gICAgLy8gcHJvcGVydGllcyBhcmUgc2V0IHRvIGBudWxsYC5cbiAgICAvL1xuICAgIGlmICh3ZWJzb2NrZXQuX3NvY2tldCkgd2Vic29ja2V0Ll9zZW5kZXIuX2J1ZmZlcmVkQnl0ZXMgKz0gbGVuZ3RoO1xuICAgIGVsc2Ugd2Vic29ja2V0Ll9idWZmZXJlZEFtb3VudCArPSBsZW5ndGg7XG4gIH1cblxuICBpZiAoY2IpIHtcbiAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICBgV2ViU29ja2V0IGlzIG5vdCBvcGVuOiByZWFkeVN0YXRlICR7d2Vic29ja2V0LnJlYWR5U3RhdGV9IGAgK1xuICAgICAgICBgKCR7cmVhZHlTdGF0ZXNbd2Vic29ja2V0LnJlYWR5U3RhdGVdfSlgXG4gICAgKTtcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcnIpO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgUmVjZWl2ZXJgIGAnY29uY2x1ZGUnYCBldmVudC5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gY29kZSBUaGUgc3RhdHVzIGNvZGVcbiAqIEBwYXJhbSB7QnVmZmVyfSByZWFzb24gVGhlIHJlYXNvbiBmb3IgY2xvc2luZ1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gcmVjZWl2ZXJPbkNvbmNsdWRlKGNvZGUsIHJlYXNvbikge1xuICBjb25zdCB3ZWJzb2NrZXQgPSB0aGlzW2tXZWJTb2NrZXRdO1xuXG4gIHdlYnNvY2tldC5fY2xvc2VGcmFtZVJlY2VpdmVkID0gdHJ1ZTtcbiAgd2Vic29ja2V0Ll9jbG9zZU1lc3NhZ2UgPSByZWFzb247XG4gIHdlYnNvY2tldC5fY2xvc2VDb2RlID0gY29kZTtcblxuICBpZiAod2Vic29ja2V0Ll9zb2NrZXRba1dlYlNvY2tldF0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gIHdlYnNvY2tldC5fc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdkYXRhJywgc29ja2V0T25EYXRhKTtcbiAgcHJvY2Vzcy5uZXh0VGljayhyZXN1bWUsIHdlYnNvY2tldC5fc29ja2V0KTtcblxuICBpZiAoY29kZSA9PT0gMTAwNSkgd2Vic29ja2V0LmNsb3NlKCk7XG4gIGVsc2Ugd2Vic29ja2V0LmNsb3NlKGNvZGUsIHJlYXNvbik7XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgUmVjZWl2ZXJgIGAnZHJhaW4nYCBldmVudC5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZWNlaXZlck9uRHJhaW4oKSB7XG4gIGNvbnN0IHdlYnNvY2tldCA9IHRoaXNba1dlYlNvY2tldF07XG5cbiAgaWYgKCF3ZWJzb2NrZXQuaXNQYXVzZWQpIHdlYnNvY2tldC5fc29ja2V0LnJlc3VtZSgpO1xufVxuXG4vKipcbiAqIFRoZSBsaXN0ZW5lciBvZiB0aGUgYFJlY2VpdmVyYCBgJ2Vycm9yJ2AgZXZlbnQuXG4gKlxuICogQHBhcmFtIHsoUmFuZ2VFcnJvcnxFcnJvcil9IGVyciBUaGUgZW1pdHRlZCBlcnJvclxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gcmVjZWl2ZXJPbkVycm9yKGVycikge1xuICBjb25zdCB3ZWJzb2NrZXQgPSB0aGlzW2tXZWJTb2NrZXRdO1xuXG4gIGlmICh3ZWJzb2NrZXQuX3NvY2tldFtrV2ViU29ja2V0XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgd2Vic29ja2V0Ll9zb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2RhdGEnLCBzb2NrZXRPbkRhdGEpO1xuXG4gICAgLy9cbiAgICAvLyBPbiBOb2RlLmpzIDwgMTQuMC4wIHRoZSBgJ2Vycm9yJ2AgZXZlbnQgaXMgZW1pdHRlZCBzeW5jaHJvbm91c2x5LiBTZWVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vd2Vic29ja2V0cy93cy9pc3N1ZXMvMTk0MC5cbiAgICAvL1xuICAgIHByb2Nlc3MubmV4dFRpY2socmVzdW1lLCB3ZWJzb2NrZXQuX3NvY2tldCk7XG5cbiAgICB3ZWJzb2NrZXQuY2xvc2UoZXJyW2tTdGF0dXNDb2RlXSk7XG4gIH1cblxuICB3ZWJzb2NrZXQuZW1pdCgnZXJyb3InLCBlcnIpO1xufVxuXG4vKipcbiAqIFRoZSBsaXN0ZW5lciBvZiB0aGUgYFJlY2VpdmVyYCBgJ2ZpbmlzaCdgIGV2ZW50LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHJlY2VpdmVyT25GaW5pc2goKSB7XG4gIHRoaXNba1dlYlNvY2tldF0uZW1pdENsb3NlKCk7XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgUmVjZWl2ZXJgIGAnbWVzc2FnZSdgIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfEFycmF5QnVmZmVyfEJ1ZmZlcltdKX0gZGF0YSBUaGUgbWVzc2FnZVxuICogQHBhcmFtIHtCb29sZWFufSBpc0JpbmFyeSBTcGVjaWZpZXMgd2hldGhlciB0aGUgbWVzc2FnZSBpcyBiaW5hcnkgb3Igbm90XG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZWNlaXZlck9uTWVzc2FnZShkYXRhLCBpc0JpbmFyeSkge1xuICB0aGlzW2tXZWJTb2NrZXRdLmVtaXQoJ21lc3NhZ2UnLCBkYXRhLCBpc0JpbmFyeSk7XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgUmVjZWl2ZXJgIGAncGluZydgIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBkYXRhIFRoZSBkYXRhIGluY2x1ZGVkIGluIHRoZSBwaW5nIGZyYW1lXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZWNlaXZlck9uUGluZyhkYXRhKSB7XG4gIGNvbnN0IHdlYnNvY2tldCA9IHRoaXNba1dlYlNvY2tldF07XG5cbiAgd2Vic29ja2V0LnBvbmcoZGF0YSwgIXdlYnNvY2tldC5faXNTZXJ2ZXIsIE5PT1ApO1xuICB3ZWJzb2NrZXQuZW1pdCgncGluZycsIGRhdGEpO1xufVxuXG4vKipcbiAqIFRoZSBsaXN0ZW5lciBvZiB0aGUgYFJlY2VpdmVyYCBgJ3BvbmcnYCBldmVudC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSBUaGUgZGF0YSBpbmNsdWRlZCBpbiB0aGUgcG9uZyBmcmFtZVxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gcmVjZWl2ZXJPblBvbmcoZGF0YSkge1xuICB0aGlzW2tXZWJTb2NrZXRdLmVtaXQoJ3BvbmcnLCBkYXRhKTtcbn1cblxuLyoqXG4gKiBSZXN1bWUgYSByZWFkYWJsZSBzdHJlYW1cbiAqXG4gKiBAcGFyYW0ge1JlYWRhYmxlfSBzdHJlYW0gVGhlIHJlYWRhYmxlIHN0cmVhbVxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gcmVzdW1lKHN0cmVhbSkge1xuICBzdHJlYW0ucmVzdW1lKCk7XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgbmV0LlNvY2tldGAgYCdjbG9zZSdgIGV2ZW50LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHNvY2tldE9uQ2xvc2UoKSB7XG4gIGNvbnN0IHdlYnNvY2tldCA9IHRoaXNba1dlYlNvY2tldF07XG5cbiAgdGhpcy5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBzb2NrZXRPbkNsb3NlKTtcbiAgdGhpcy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIHNvY2tldE9uRGF0YSk7XG4gIHRoaXMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIHNvY2tldE9uRW5kKTtcblxuICB3ZWJzb2NrZXQuX3JlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ0xPU0lORztcblxuICBsZXQgY2h1bms7XG5cbiAgLy9cbiAgLy8gVGhlIGNsb3NlIGZyYW1lIG1pZ2h0IG5vdCBoYXZlIGJlZW4gcmVjZWl2ZWQgb3IgdGhlIGAnZW5kJ2AgZXZlbnQgZW1pdHRlZCxcbiAgLy8gZm9yIGV4YW1wbGUsIGlmIHRoZSBzb2NrZXQgd2FzIGRlc3Ryb3llZCBkdWUgdG8gYW4gZXJyb3IuIEVuc3VyZSB0aGF0IHRoZVxuICAvLyBgcmVjZWl2ZXJgIHN0cmVhbSBpcyBjbG9zZWQgYWZ0ZXIgd3JpdGluZyBhbnkgcmVtYWluaW5nIGJ1ZmZlcmVkIGRhdGEgdG9cbiAgLy8gaXQuIElmIHRoZSByZWFkYWJsZSBzaWRlIG9mIHRoZSBzb2NrZXQgaXMgaW4gZmxvd2luZyBtb2RlIHRoZW4gdGhlcmUgaXMgbm9cbiAgLy8gYnVmZmVyZWQgZGF0YSBhcyBldmVyeXRoaW5nIGhhcyBiZWVuIGFscmVhZHkgd3JpdHRlbiBhbmQgYHJlYWRhYmxlLnJlYWQoKWBcbiAgLy8gd2lsbCByZXR1cm4gYG51bGxgLiBJZiBpbnN0ZWFkLCB0aGUgc29ja2V0IGlzIHBhdXNlZCwgYW55IHBvc3NpYmxlIGJ1ZmZlcmVkXG4gIC8vIGRhdGEgd2lsbCBiZSByZWFkIGFzIGEgc2luZ2xlIGNodW5rLlxuICAvL1xuICBpZiAoXG4gICAgIXRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCAmJlxuICAgICF3ZWJzb2NrZXQuX2Nsb3NlRnJhbWVSZWNlaXZlZCAmJlxuICAgICF3ZWJzb2NrZXQuX3JlY2VpdmVyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCAmJlxuICAgIChjaHVuayA9IHdlYnNvY2tldC5fc29ja2V0LnJlYWQoKSkgIT09IG51bGxcbiAgKSB7XG4gICAgd2Vic29ja2V0Ll9yZWNlaXZlci53cml0ZShjaHVuayk7XG4gIH1cblxuICB3ZWJzb2NrZXQuX3JlY2VpdmVyLmVuZCgpO1xuXG4gIHRoaXNba1dlYlNvY2tldF0gPSB1bmRlZmluZWQ7XG5cbiAgY2xlYXJUaW1lb3V0KHdlYnNvY2tldC5fY2xvc2VUaW1lcik7XG5cbiAgaWYgKFxuICAgIHdlYnNvY2tldC5fcmVjZWl2ZXIuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQgfHxcbiAgICB3ZWJzb2NrZXQuX3JlY2VpdmVyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZFxuICApIHtcbiAgICB3ZWJzb2NrZXQuZW1pdENsb3NlKCk7XG4gIH0gZWxzZSB7XG4gICAgd2Vic29ja2V0Ll9yZWNlaXZlci5vbignZXJyb3InLCByZWNlaXZlck9uRmluaXNoKTtcbiAgICB3ZWJzb2NrZXQuX3JlY2VpdmVyLm9uKCdmaW5pc2gnLCByZWNlaXZlck9uRmluaXNoKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBsaXN0ZW5lciBvZiB0aGUgYG5ldC5Tb2NrZXRgIGAnZGF0YSdgIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBjaHVuayBBIGNodW5rIG9mIGRhdGFcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHNvY2tldE9uRGF0YShjaHVuaykge1xuICBpZiAoIXRoaXNba1dlYlNvY2tldF0uX3JlY2VpdmVyLndyaXRlKGNodW5rKSkge1xuICAgIHRoaXMucGF1c2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBsaXN0ZW5lciBvZiB0aGUgYG5ldC5Tb2NrZXRgIGAnZW5kJ2AgZXZlbnQuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gc29ja2V0T25FbmQoKSB7XG4gIGNvbnN0IHdlYnNvY2tldCA9IHRoaXNba1dlYlNvY2tldF07XG5cbiAgd2Vic29ja2V0Ll9yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNMT1NJTkc7XG4gIHdlYnNvY2tldC5fcmVjZWl2ZXIuZW5kKCk7XG4gIHRoaXMuZW5kKCk7XG59XG5cbi8qKlxuICogVGhlIGxpc3RlbmVyIG9mIHRoZSBgbmV0LlNvY2tldGAgYCdlcnJvcidgIGV2ZW50LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHNvY2tldE9uRXJyb3IoKSB7XG4gIGNvbnN0IHdlYnNvY2tldCA9IHRoaXNba1dlYlNvY2tldF07XG5cbiAgdGhpcy5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBzb2NrZXRPbkVycm9yKTtcbiAgdGhpcy5vbignZXJyb3InLCBOT09QKTtcblxuICBpZiAod2Vic29ja2V0KSB7XG4gICAgd2Vic29ja2V0Ll9yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNMT1NJTkc7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/ws/lib/websocket.js\n")); - -/***/ }), - -/***/ "?4f06": -/*!********************!*\ - !*** fs (ignored) ***! - \********************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "?8ffc": -/*!*********************!*\ - !*** net (ignored) ***! - \*********************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "?2c9b": -/*!*********************!*\ - !*** tls (ignored) ***! - \*********************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/available-typed-arrays/index.js": -/*!******************************************************!*\ - !*** ./node_modules/available-typed-arrays/index.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? __webpack_require__.g : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXZhaWxhYmxlLXR5cGVkLWFycmF5cy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMscUJBQU07O0FBRWxEO0FBQ0E7QUFDQSxpQkFBaUIsMEJBQTBCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYXZhaWxhYmxlLXR5cGVkLWFycmF5cy9pbmRleC5qcz8zZDUxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHBvc3NpYmxlTmFtZXMgPSBbXG5cdCdCaWdJbnQ2NEFycmF5Jyxcblx0J0JpZ1VpbnQ2NEFycmF5Jyxcblx0J0Zsb2F0MzJBcnJheScsXG5cdCdGbG9hdDY0QXJyYXknLFxuXHQnSW50MTZBcnJheScsXG5cdCdJbnQzMkFycmF5Jyxcblx0J0ludDhBcnJheScsXG5cdCdVaW50MTZBcnJheScsXG5cdCdVaW50MzJBcnJheScsXG5cdCdVaW50OEFycmF5Jyxcblx0J1VpbnQ4Q2xhbXBlZEFycmF5J1xuXTtcblxudmFyIGcgPSB0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiBnbG9iYWxUaGlzO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGF2YWlsYWJsZVR5cGVkQXJyYXlzKCkge1xuXHR2YXIgb3V0ID0gW107XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgcG9zc2libGVOYW1lcy5sZW5ndGg7IGkrKykge1xuXHRcdGlmICh0eXBlb2YgZ1twb3NzaWJsZU5hbWVzW2ldXSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0b3V0W291dC5sZW5ndGhdID0gcG9zc2libGVOYW1lc1tpXTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG91dDtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/available-typed-arrays/index.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_walletconnect_modal-ui_dist_index_js.js b/.next/static/chunks/node_modules_walletconnect_modal-ui_dist_index_js.js deleted file mode 100644 index ee1c75c..0000000 --- a/.next/static/chunks/node_modules_walletconnect_modal-ui_dist_index_js.js +++ /dev/null @@ -1,1480 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_walletconnect_modal-ui_dist_index_js"],{ - -/***/ "./node_modules/@motionone/animation/dist/Animation.es.js": -/*!****************************************************************!*\ - !*** ./node_modules/@motionone/animation/dist/Animation.es.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: function() { return /* binding */ Animation; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _utils_easing_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/easing.es.js */ \"./node_modules/@motionone/animation/dist/utils/easing.es.js\");\n\n\n\nclass Animation {\n constructor(output, keyframes = [0, 1], { easing, duration: initialDuration = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.duration, delay = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.delay, endDelay = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.endDelay, repeat = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.repeat, offset, direction = \"normal\", } = {}) {\n this.startTime = null;\n this.rate = 1;\n this.t = 0;\n this.cancelTimestamp = null;\n this.easing = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn;\n this.duration = 0;\n this.totalDuration = 0;\n this.repeat = 0;\n this.playState = \"idle\";\n this.finished = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n easing = easing || _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.easing;\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingGenerator)(easing)) {\n const custom = easing.createAnimation(keyframes);\n easing = custom.easing;\n keyframes = custom.keyframes || keyframes;\n initialDuration = custom.duration || initialDuration;\n }\n this.repeat = repeat;\n this.easing = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingList)(easing) ? _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn : (0,_utils_easing_es_js__WEBPACK_IMPORTED_MODULE_1__.getEasingFunction)(easing);\n this.updateDuration(initialDuration);\n const interpolate$1 = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.interpolate)(keyframes, offset, (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingList)(easing) ? easing.map(_utils_easing_es_js__WEBPACK_IMPORTED_MODULE_1__.getEasingFunction) : _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn);\n this.tick = (timestamp) => {\n var _a;\n // TODO: Temporary fix for OptionsResolver typing\n delay = delay;\n let t = 0;\n if (this.pauseTime !== undefined) {\n t = this.pauseTime;\n }\n else {\n t = (timestamp - this.startTime) * this.rate;\n }\n this.t = t;\n // Convert to seconds\n t /= 1000;\n // Rebase on delay\n t = Math.max(t - delay, 0);\n /**\n * If this animation has finished, set the current time\n * to the total duration.\n */\n if (this.playState === \"finished\" && this.pauseTime === undefined) {\n t = this.totalDuration;\n }\n /**\n * Get the current progress (0-1) of the animation. If t is >\n * than duration we'll get values like 2.5 (midway through the\n * third iteration)\n */\n const progress = t / this.duration;\n // TODO progress += iterationStart\n /**\n * Get the current iteration (0 indexed). For instance the floor of\n * 2.5 is 2.\n */\n let currentIteration = Math.floor(progress);\n /**\n * Get the current progress of the iteration by taking the remainder\n * so 2.5 is 0.5 through iteration 2\n */\n let iterationProgress = progress % 1.0;\n if (!iterationProgress && progress >= 1) {\n iterationProgress = 1;\n }\n /**\n * If iteration progress is 1 we count that as the end\n * of the previous iteration.\n */\n iterationProgress === 1 && currentIteration--;\n /**\n * Reverse progress if we're not running in \"normal\" direction\n */\n const iterationIsOdd = currentIteration % 2;\n if (direction === \"reverse\" ||\n (direction === \"alternate\" && iterationIsOdd) ||\n (direction === \"alternate-reverse\" && !iterationIsOdd)) {\n iterationProgress = 1 - iterationProgress;\n }\n const p = t >= this.totalDuration ? 1 : Math.min(iterationProgress, 1);\n const latest = interpolate$1(this.easing(p));\n output(latest);\n const isAnimationFinished = this.pauseTime === undefined &&\n (this.playState === \"finished\" || t >= this.totalDuration + endDelay);\n if (isAnimationFinished) {\n this.playState = \"finished\";\n (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, latest);\n }\n else if (this.playState !== \"idle\") {\n this.frameRequestId = requestAnimationFrame(this.tick);\n }\n };\n this.play();\n }\n play() {\n const now = performance.now();\n this.playState = \"running\";\n if (this.pauseTime !== undefined) {\n this.startTime = now - this.pauseTime;\n }\n else if (!this.startTime) {\n this.startTime = now;\n }\n this.cancelTimestamp = this.startTime;\n this.pauseTime = undefined;\n this.frameRequestId = requestAnimationFrame(this.tick);\n }\n pause() {\n this.playState = \"paused\";\n this.pauseTime = this.t;\n }\n finish() {\n this.playState = \"finished\";\n this.tick(0);\n }\n stop() {\n var _a;\n this.playState = \"idle\";\n if (this.frameRequestId !== undefined) {\n cancelAnimationFrame(this.frameRequestId);\n }\n (_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, false);\n }\n cancel() {\n this.stop();\n this.tick(this.cancelTimestamp);\n }\n reverse() {\n this.rate *= -1;\n }\n commitStyles() { }\n updateDuration(duration) {\n this.duration = duration;\n this.totalDuration = duration * (this.repeat + 1);\n }\n get currentTime() {\n return this.t;\n }\n set currentTime(t) {\n if (this.pauseTime !== undefined || this.rate === 0) {\n this.pauseTime = t;\n }\n else {\n this.startTime = performance.now() - t / this.rate;\n }\n }\n get playbackRate() {\n return this.rate;\n }\n set playbackRate(rate) {\n this.rate = rate;\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9hbmltYXRpb24vZGlzdC9BbmltYXRpb24uZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXNHO0FBQzdDOztBQUV6RDtBQUNBLDhDQUE4QyxvQ0FBb0Msc0RBQVEsbUJBQW1CLHNEQUFRLG1CQUFtQixzREFBUSxvQkFBb0Isc0RBQVEseUNBQXlDLElBQUk7QUFDek47QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isd0RBQVU7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsMkJBQTJCLHNEQUFRO0FBQ25DLFlBQVksbUVBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiw4REFBWSxXQUFXLHdEQUFVLEdBQUcsc0VBQWlCO0FBQzNFO0FBQ0EsOEJBQThCLDZEQUFXLG9CQUFvQiw4REFBWSxzQkFBc0Isa0VBQWlCLElBQUksd0RBQVU7QUFDOUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvYW5pbWF0aW9uL2Rpc3QvQW5pbWF0aW9uLmVzLmpzP2JjZGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9vcFJldHVybiwgZGVmYXVsdHMsIGlzRWFzaW5nR2VuZXJhdG9yLCBpc0Vhc2luZ0xpc3QsIGludGVycG9sYXRlIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBnZXRFYXNpbmdGdW5jdGlvbiB9IGZyb20gJy4vdXRpbHMvZWFzaW5nLmVzLmpzJztcblxuY2xhc3MgQW5pbWF0aW9uIHtcbiAgICBjb25zdHJ1Y3RvcihvdXRwdXQsIGtleWZyYW1lcyA9IFswLCAxXSwgeyBlYXNpbmcsIGR1cmF0aW9uOiBpbml0aWFsRHVyYXRpb24gPSBkZWZhdWx0cy5kdXJhdGlvbiwgZGVsYXkgPSBkZWZhdWx0cy5kZWxheSwgZW5kRGVsYXkgPSBkZWZhdWx0cy5lbmREZWxheSwgcmVwZWF0ID0gZGVmYXVsdHMucmVwZWF0LCBvZmZzZXQsIGRpcmVjdGlvbiA9IFwibm9ybWFsXCIsIH0gPSB7fSkge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IG51bGw7XG4gICAgICAgIHRoaXMucmF0ZSA9IDE7XG4gICAgICAgIHRoaXMudCA9IDA7XG4gICAgICAgIHRoaXMuY2FuY2VsVGltZXN0YW1wID0gbnVsbDtcbiAgICAgICAgdGhpcy5lYXNpbmcgPSBub29wUmV0dXJuO1xuICAgICAgICB0aGlzLmR1cmF0aW9uID0gMDtcbiAgICAgICAgdGhpcy50b3RhbER1cmF0aW9uID0gMDtcbiAgICAgICAgdGhpcy5yZXBlYXQgPSAwO1xuICAgICAgICB0aGlzLnBsYXlTdGF0ZSA9IFwiaWRsZVwiO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0ID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICAgICAgZWFzaW5nID0gZWFzaW5nIHx8IGRlZmF1bHRzLmVhc2luZztcbiAgICAgICAgaWYgKGlzRWFzaW5nR2VuZXJhdG9yKGVhc2luZykpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbSA9IGVhc2luZy5jcmVhdGVBbmltYXRpb24oa2V5ZnJhbWVzKTtcbiAgICAgICAgICAgIGVhc2luZyA9IGN1c3RvbS5lYXNpbmc7XG4gICAgICAgICAgICBrZXlmcmFtZXMgPSBjdXN0b20ua2V5ZnJhbWVzIHx8IGtleWZyYW1lcztcbiAgICAgICAgICAgIGluaXRpYWxEdXJhdGlvbiA9IGN1c3RvbS5kdXJhdGlvbiB8fCBpbml0aWFsRHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXBlYXQgPSByZXBlYXQ7XG4gICAgICAgIHRoaXMuZWFzaW5nID0gaXNFYXNpbmdMaXN0KGVhc2luZykgPyBub29wUmV0dXJuIDogZ2V0RWFzaW5nRnVuY3Rpb24oZWFzaW5nKTtcbiAgICAgICAgdGhpcy51cGRhdGVEdXJhdGlvbihpbml0aWFsRHVyYXRpb24pO1xuICAgICAgICBjb25zdCBpbnRlcnBvbGF0ZSQxID0gaW50ZXJwb2xhdGUoa2V5ZnJhbWVzLCBvZmZzZXQsIGlzRWFzaW5nTGlzdChlYXNpbmcpID8gZWFzaW5nLm1hcChnZXRFYXNpbmdGdW5jdGlvbikgOiBub29wUmV0dXJuKTtcbiAgICAgICAgdGhpcy50aWNrID0gKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgLy8gVE9ETzogVGVtcG9yYXJ5IGZpeCBmb3IgT3B0aW9uc1Jlc29sdmVyIHR5cGluZ1xuICAgICAgICAgICAgZGVsYXkgPSBkZWxheTtcbiAgICAgICAgICAgIGxldCB0ID0gMDtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhdXNlVGltZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdCA9IHRoaXMucGF1c2VUaW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdCA9ICh0aW1lc3RhbXAgLSB0aGlzLnN0YXJ0VGltZSkgKiB0aGlzLnJhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnQgPSB0O1xuICAgICAgICAgICAgLy8gQ29udmVydCB0byBzZWNvbmRzXG4gICAgICAgICAgICB0IC89IDEwMDA7XG4gICAgICAgICAgICAvLyBSZWJhc2Ugb24gZGVsYXlcbiAgICAgICAgICAgIHQgPSBNYXRoLm1heCh0IC0gZGVsYXksIDApO1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBJZiB0aGlzIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQsIHNldCB0aGUgY3VycmVudCB0aW1lXG4gICAgICAgICAgICAgKiB0byB0aGUgdG90YWwgZHVyYXRpb24uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLnBsYXlTdGF0ZSA9PT0gXCJmaW5pc2hlZFwiICYmIHRoaXMucGF1c2VUaW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0ID0gdGhpcy50b3RhbER1cmF0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBHZXQgdGhlIGN1cnJlbnQgcHJvZ3Jlc3MgKDAtMSkgb2YgdGhlIGFuaW1hdGlvbi4gSWYgdCBpcyA+XG4gICAgICAgICAgICAgKiB0aGFuIGR1cmF0aW9uIHdlJ2xsIGdldCB2YWx1ZXMgbGlrZSAyLjUgKG1pZHdheSB0aHJvdWdoIHRoZVxuICAgICAgICAgICAgICogdGhpcmQgaXRlcmF0aW9uKVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IHQgLyB0aGlzLmR1cmF0aW9uO1xuICAgICAgICAgICAgLy8gVE9ETyBwcm9ncmVzcyArPSBpdGVyYXRpb25TdGFydFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBHZXQgdGhlIGN1cnJlbnQgaXRlcmF0aW9uICgwIGluZGV4ZWQpLiBGb3IgaW5zdGFuY2UgdGhlIGZsb29yIG9mXG4gICAgICAgICAgICAgKiAyLjUgaXMgMi5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRJdGVyYXRpb24gPSBNYXRoLmZsb29yKHByb2dyZXNzKTtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogR2V0IHRoZSBjdXJyZW50IHByb2dyZXNzIG9mIHRoZSBpdGVyYXRpb24gYnkgdGFraW5nIHRoZSByZW1haW5kZXJcbiAgICAgICAgICAgICAqIHNvIDIuNSBpcyAwLjUgdGhyb3VnaCBpdGVyYXRpb24gMlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBsZXQgaXRlcmF0aW9uUHJvZ3Jlc3MgPSBwcm9ncmVzcyAlIDEuMDtcbiAgICAgICAgICAgIGlmICghaXRlcmF0aW9uUHJvZ3Jlc3MgJiYgcHJvZ3Jlc3MgPj0gMSkge1xuICAgICAgICAgICAgICAgIGl0ZXJhdGlvblByb2dyZXNzID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogSWYgaXRlcmF0aW9uIHByb2dyZXNzIGlzIDEgd2UgY291bnQgdGhhdCBhcyB0aGUgZW5kXG4gICAgICAgICAgICAgKiBvZiB0aGUgcHJldmlvdXMgaXRlcmF0aW9uLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpdGVyYXRpb25Qcm9ncmVzcyA9PT0gMSAmJiBjdXJyZW50SXRlcmF0aW9uLS07XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFJldmVyc2UgcHJvZ3Jlc3MgaWYgd2UncmUgbm90IHJ1bm5pbmcgaW4gXCJub3JtYWxcIiBkaXJlY3Rpb25cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgaXRlcmF0aW9uSXNPZGQgPSBjdXJyZW50SXRlcmF0aW9uICUgMjtcbiAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPT09IFwicmV2ZXJzZVwiIHx8XG4gICAgICAgICAgICAgICAgKGRpcmVjdGlvbiA9PT0gXCJhbHRlcm5hdGVcIiAmJiBpdGVyYXRpb25Jc09kZCkgfHxcbiAgICAgICAgICAgICAgICAoZGlyZWN0aW9uID09PSBcImFsdGVybmF0ZS1yZXZlcnNlXCIgJiYgIWl0ZXJhdGlvbklzT2RkKSkge1xuICAgICAgICAgICAgICAgIGl0ZXJhdGlvblByb2dyZXNzID0gMSAtIGl0ZXJhdGlvblByb2dyZXNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcCA9IHQgPj0gdGhpcy50b3RhbER1cmF0aW9uID8gMSA6IE1hdGgubWluKGl0ZXJhdGlvblByb2dyZXNzLCAxKTtcbiAgICAgICAgICAgIGNvbnN0IGxhdGVzdCA9IGludGVycG9sYXRlJDEodGhpcy5lYXNpbmcocCkpO1xuICAgICAgICAgICAgb3V0cHV0KGxhdGVzdCk7XG4gICAgICAgICAgICBjb25zdCBpc0FuaW1hdGlvbkZpbmlzaGVkID0gdGhpcy5wYXVzZVRpbWUgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICh0aGlzLnBsYXlTdGF0ZSA9PT0gXCJmaW5pc2hlZFwiIHx8IHQgPj0gdGhpcy50b3RhbER1cmF0aW9uICsgZW5kRGVsYXkpO1xuICAgICAgICAgICAgaWYgKGlzQW5pbWF0aW9uRmluaXNoZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYXlTdGF0ZSA9IFwiZmluaXNoZWRcIjtcbiAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLnJlc29sdmUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIGxhdGVzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLnBsYXlTdGF0ZSAhPT0gXCJpZGxlXCIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZyYW1lUmVxdWVzdElkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudGljayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucGxheSgpO1xuICAgIH1cbiAgICBwbGF5KCkge1xuICAgICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgdGhpcy5wbGF5U3RhdGUgPSBcInJ1bm5pbmdcIjtcbiAgICAgICAgaWYgKHRoaXMucGF1c2VUaW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRUaW1lID0gbm93IC0gdGhpcy5wYXVzZVRpbWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIXRoaXMuc3RhcnRUaW1lKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IG5vdztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhbmNlbFRpbWVzdGFtcCA9IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgICB0aGlzLnBhdXNlVGltZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5mcmFtZVJlcXVlc3RJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnRpY2spO1xuICAgIH1cbiAgICBwYXVzZSgpIHtcbiAgICAgICAgdGhpcy5wbGF5U3RhdGUgPSBcInBhdXNlZFwiO1xuICAgICAgICB0aGlzLnBhdXNlVGltZSA9IHRoaXMudDtcbiAgICB9XG4gICAgZmluaXNoKCkge1xuICAgICAgICB0aGlzLnBsYXlTdGF0ZSA9IFwiZmluaXNoZWRcIjtcbiAgICAgICAgdGhpcy50aWNrKDApO1xuICAgIH1cbiAgICBzdG9wKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMucGxheVN0YXRlID0gXCJpZGxlXCI7XG4gICAgICAgIGlmICh0aGlzLmZyYW1lUmVxdWVzdElkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuZnJhbWVSZXF1ZXN0SWQpO1xuICAgICAgICB9XG4gICAgICAgIChfYSA9IHRoaXMucmVqZWN0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCBmYWxzZSk7XG4gICAgfVxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICAgIHRoaXMudGljayh0aGlzLmNhbmNlbFRpbWVzdGFtcCk7XG4gICAgfVxuICAgIHJldmVyc2UoKSB7XG4gICAgICAgIHRoaXMucmF0ZSAqPSAtMTtcbiAgICB9XG4gICAgY29tbWl0U3R5bGVzKCkgeyB9XG4gICAgdXBkYXRlRHVyYXRpb24oZHVyYXRpb24pIHtcbiAgICAgICAgdGhpcy5kdXJhdGlvbiA9IGR1cmF0aW9uO1xuICAgICAgICB0aGlzLnRvdGFsRHVyYXRpb24gPSBkdXJhdGlvbiAqICh0aGlzLnJlcGVhdCArIDEpO1xuICAgIH1cbiAgICBnZXQgY3VycmVudFRpbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnQ7XG4gICAgfVxuICAgIHNldCBjdXJyZW50VGltZSh0KSB7XG4gICAgICAgIGlmICh0aGlzLnBhdXNlVGltZSAhPT0gdW5kZWZpbmVkIHx8IHRoaXMucmF0ZSA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5wYXVzZVRpbWUgPSB0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHQgLyB0aGlzLnJhdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHBsYXliYWNrUmF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmF0ZTtcbiAgICB9XG4gICAgc2V0IHBsYXliYWNrUmF0ZShyYXRlKSB7XG4gICAgICAgIHRoaXMucmF0ZSA9IHJhdGU7XG4gICAgfVxufVxuXG5leHBvcnQgeyBBbmltYXRpb24gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/animation/dist/Animation.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/animation/dist/index.es.js": -/*!************************************************************!*\ - !*** ./node_modules/@motionone/animation/dist/index.es.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: function() { return /* reexport safe */ _Animation_es_js__WEBPACK_IMPORTED_MODULE_0__.Animation; },\n/* harmony export */ getEasingFunction: function() { return /* reexport safe */ _utils_easing_es_js__WEBPACK_IMPORTED_MODULE_1__.getEasingFunction; }\n/* harmony export */ });\n/* harmony import */ var _Animation_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Animation.es.js */ \"./node_modules/@motionone/animation/dist/Animation.es.js\");\n/* harmony import */ var _utils_easing_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/easing.es.js */ \"./node_modules/@motionone/animation/dist/utils/easing.es.js\");\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9hbmltYXRpb24vZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQThDO0FBQ1ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvYW5pbWF0aW9uL2Rpc3QvaW5kZXguZXMuanM/MDZhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBbmltYXRpb24gfSBmcm9tICcuL0FuaW1hdGlvbi5lcy5qcyc7XG5leHBvcnQgeyBnZXRFYXNpbmdGdW5jdGlvbiB9IGZyb20gJy4vdXRpbHMvZWFzaW5nLmVzLmpzJztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/animation/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/animation/dist/utils/easing.es.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@motionone/animation/dist/utils/easing.es.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEasingFunction: function() { return /* binding */ getEasingFunction; }\n/* harmony export */ });\n/* harmony import */ var _motionone_easing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/easing */ \"./node_modules/@motionone/easing/dist/index.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\n\nconst namedEasings = {\n ease: (0,_motionone_easing__WEBPACK_IMPORTED_MODULE_0__.cubicBezier)(0.25, 0.1, 0.25, 1.0),\n \"ease-in\": (0,_motionone_easing__WEBPACK_IMPORTED_MODULE_0__.cubicBezier)(0.42, 0.0, 1.0, 1.0),\n \"ease-in-out\": (0,_motionone_easing__WEBPACK_IMPORTED_MODULE_0__.cubicBezier)(0.42, 0.0, 0.58, 1.0),\n \"ease-out\": (0,_motionone_easing__WEBPACK_IMPORTED_MODULE_0__.cubicBezier)(0.0, 0.0, 0.58, 1.0),\n};\nconst functionArgsRegex = /\\((.*?)\\)/;\nfunction getEasingFunction(definition) {\n // If already an easing function, return\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_1__.isFunction)(definition))\n return definition;\n // If an easing curve definition, return bezier function\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_1__.isCubicBezier)(definition))\n return (0,_motionone_easing__WEBPACK_IMPORTED_MODULE_0__.cubicBezier)(...definition);\n // If we have a predefined easing function, return\n if (namedEasings[definition])\n return namedEasings[definition];\n // If this is a steps function, attempt to create easing curve\n if (definition.startsWith(\"steps\")) {\n const args = functionArgsRegex.exec(definition);\n if (args) {\n const argsArray = args[1].split(\",\");\n return (0,_motionone_easing__WEBPACK_IMPORTED_MODULE_0__.steps)(parseFloat(argsArray[0]), argsArray[1].trim());\n }\n }\n return _motionone_utils__WEBPACK_IMPORTED_MODULE_1__.noopReturn;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9hbmltYXRpb24vZGlzdC91dGlscy9lYXNpbmcuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXVEO0FBQ2tCOztBQUV6RTtBQUNBLFVBQVUsOERBQVc7QUFDckIsZUFBZSw4REFBVztBQUMxQixtQkFBbUIsOERBQVc7QUFDOUIsZ0JBQWdCLDhEQUFXO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSw0REFBVTtBQUNsQjtBQUNBO0FBQ0EsUUFBUSwrREFBYTtBQUNyQixlQUFlLDhEQUFXO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsd0RBQUs7QUFDeEI7QUFDQTtBQUNBLFdBQVcsd0RBQVU7QUFDckI7O0FBRTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2FuaW1hdGlvbi9kaXN0L3V0aWxzL2Vhc2luZy5lcy5qcz8xNTRkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1YmljQmV6aWVyLCBzdGVwcyB9IGZyb20gJ0Btb3Rpb25vbmUvZWFzaW5nJztcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzQ3ViaWNCZXppZXIsIG5vb3BSZXR1cm4gfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcblxuY29uc3QgbmFtZWRFYXNpbmdzID0ge1xuICAgIGVhc2U6IGN1YmljQmV6aWVyKDAuMjUsIDAuMSwgMC4yNSwgMS4wKSxcbiAgICBcImVhc2UtaW5cIjogY3ViaWNCZXppZXIoMC40MiwgMC4wLCAxLjAsIDEuMCksXG4gICAgXCJlYXNlLWluLW91dFwiOiBjdWJpY0JlemllcigwLjQyLCAwLjAsIDAuNTgsIDEuMCksXG4gICAgXCJlYXNlLW91dFwiOiBjdWJpY0JlemllcigwLjAsIDAuMCwgMC41OCwgMS4wKSxcbn07XG5jb25zdCBmdW5jdGlvbkFyZ3NSZWdleCA9IC9cXCgoLio/KVxcKS87XG5mdW5jdGlvbiBnZXRFYXNpbmdGdW5jdGlvbihkZWZpbml0aW9uKSB7XG4gICAgLy8gSWYgYWxyZWFkeSBhbiBlYXNpbmcgZnVuY3Rpb24sIHJldHVyblxuICAgIGlmIChpc0Z1bmN0aW9uKGRlZmluaXRpb24pKVxuICAgICAgICByZXR1cm4gZGVmaW5pdGlvbjtcbiAgICAvLyBJZiBhbiBlYXNpbmcgY3VydmUgZGVmaW5pdGlvbiwgcmV0dXJuIGJlemllciBmdW5jdGlvblxuICAgIGlmIChpc0N1YmljQmV6aWVyKGRlZmluaXRpb24pKVxuICAgICAgICByZXR1cm4gY3ViaWNCZXppZXIoLi4uZGVmaW5pdGlvbik7XG4gICAgLy8gSWYgd2UgaGF2ZSBhIHByZWRlZmluZWQgZWFzaW5nIGZ1bmN0aW9uLCByZXR1cm5cbiAgICBpZiAobmFtZWRFYXNpbmdzW2RlZmluaXRpb25dKVxuICAgICAgICByZXR1cm4gbmFtZWRFYXNpbmdzW2RlZmluaXRpb25dO1xuICAgIC8vIElmIHRoaXMgaXMgYSBzdGVwcyBmdW5jdGlvbiwgYXR0ZW1wdCB0byBjcmVhdGUgZWFzaW5nIGN1cnZlXG4gICAgaWYgKGRlZmluaXRpb24uc3RhcnRzV2l0aChcInN0ZXBzXCIpKSB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBmdW5jdGlvbkFyZ3NSZWdleC5leGVjKGRlZmluaXRpb24pO1xuICAgICAgICBpZiAoYXJncykge1xuICAgICAgICAgICAgY29uc3QgYXJnc0FycmF5ID0gYXJnc1sxXS5zcGxpdChcIixcIik7XG4gICAgICAgICAgICByZXR1cm4gc3RlcHMocGFyc2VGbG9hdChhcmdzQXJyYXlbMF0pLCBhcmdzQXJyYXlbMV0udHJpbSgpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9vcFJldHVybjtcbn1cblxuZXhwb3J0IHsgZ2V0RWFzaW5nRnVuY3Rpb24gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/animation/dist/utils/easing.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/animate-style.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/animate-style.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ animateStyle: function() { return /* binding */ animateStyle; }\n/* harmony export */ });\n/* harmony import */ var _data_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data.es.js */ \"./node_modules/@motionone/dom/dist/animate/data.es.js\");\n/* harmony import */ var _utils_css_var_es_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/css-var.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/css-var.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/transforms.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\");\n/* harmony import */ var _utils_easing_es_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/easing.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/easing.es.js\");\n/* harmony import */ var _utils_feature_detection_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/feature-detection.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js\");\n/* harmony import */ var _utils_keyframes_es_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/keyframes.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js\");\n/* harmony import */ var _style_es_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style.es.js */ \"./node_modules/@motionone/dom/dist/animate/style.es.js\");\n/* harmony import */ var _utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/get-style-name.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js\");\n/* harmony import */ var _utils_stop_animation_es_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/stop-animation.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js\");\n/* harmony import */ var _utils_get_unit_es_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/get-unit.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getDevToolsRecord() {\n return window.__MOTION_DEV_TOOLS_RECORD;\n}\nfunction animateStyle(element, key, keyframesDefinition, options = {}, AnimationPolyfill) {\n const record = getDevToolsRecord();\n const isRecording = options.record !== false && record;\n let animation;\n let { duration = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.duration, delay = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.delay, endDelay = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.endDelay, repeat = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.repeat, easing = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.easing, persist = false, direction, offset, allowWebkitAcceleration = false, } = options;\n const data = (0,_data_es_js__WEBPACK_IMPORTED_MODULE_1__.getAnimationData)(element);\n const valueIsTransform = (0,_utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_2__.isTransform)(key);\n let canAnimateNatively = _utils_feature_detection_es_js__WEBPACK_IMPORTED_MODULE_3__.supports.waapi();\n /**\n * If this is an individual transform, we need to map its\n * key to a CSS variable and update the element's transform style\n */\n valueIsTransform && (0,_utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_2__.addTransformToElement)(element, key);\n const name = (0,_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_4__.getStyleName)(key);\n const motionValue = (0,_data_es_js__WEBPACK_IMPORTED_MODULE_1__.getMotionValue)(data.values, name);\n /**\n * Get definition of value, this will be used to convert numerical\n * keyframes into the default value type.\n */\n const definition = _utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_2__.transformDefinitions.get(name);\n /**\n * Stop the current animation, if any. Because this will trigger\n * commitStyles (DOM writes) and we might later trigger DOM reads,\n * this is fired now and we return a factory function to create\n * the actual animation that can get called in batch,\n */\n (0,_utils_stop_animation_es_js__WEBPACK_IMPORTED_MODULE_5__.stopAnimation)(motionValue.animation, !((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingGenerator)(easing) && motionValue.generator) &&\n options.record !== false);\n /**\n * Batchable factory function containing all DOM reads.\n */\n return () => {\n const readInitialValue = () => { var _a, _b; return (_b = (_a = _style_es_js__WEBPACK_IMPORTED_MODULE_6__.style.get(element, name)) !== null && _a !== void 0 ? _a : definition === null || definition === void 0 ? void 0 : definition.initialValue) !== null && _b !== void 0 ? _b : 0; };\n /**\n * Replace null values with the previous keyframe value, or read\n * it from the DOM if it's the first keyframe.\n */\n let keyframes = (0,_utils_keyframes_es_js__WEBPACK_IMPORTED_MODULE_7__.hydrateKeyframes)((0,_utils_keyframes_es_js__WEBPACK_IMPORTED_MODULE_7__.keyframesList)(keyframesDefinition), readInitialValue);\n /**\n * Detect unit type of keyframes.\n */\n const toUnit = (0,_utils_get_unit_es_js__WEBPACK_IMPORTED_MODULE_8__.getUnitConverter)(keyframes, definition);\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingGenerator)(easing)) {\n const custom = easing.createAnimation(keyframes, key !== \"opacity\", readInitialValue, name, motionValue);\n easing = custom.easing;\n keyframes = custom.keyframes || keyframes;\n duration = custom.duration || duration;\n }\n /**\n * If this is a CSS variable we need to register it with the browser\n * before it can be animated natively. We also set it with setProperty\n * rather than directly onto the element.style object.\n */\n if ((0,_utils_css_var_es_js__WEBPACK_IMPORTED_MODULE_9__.isCssVar)(name)) {\n if (_utils_feature_detection_es_js__WEBPACK_IMPORTED_MODULE_3__.supports.cssRegisterProperty()) {\n (0,_utils_css_var_es_js__WEBPACK_IMPORTED_MODULE_9__.registerCssVariable)(name);\n }\n else {\n canAnimateNatively = false;\n }\n }\n /**\n * If we've been passed a custom easing function, and this browser\n * does **not** support linear() easing, and the value is a transform\n * (and thus a pure number) we can still support the custom easing\n * by falling back to the animation polyfill.\n */\n if (valueIsTransform &&\n !_utils_feature_detection_es_js__WEBPACK_IMPORTED_MODULE_3__.supports.linearEasing() &&\n ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(easing) || ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingList)(easing) && easing.some(_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)))) {\n canAnimateNatively = false;\n }\n /**\n * If we can animate this value with WAAPI, do so.\n */\n if (canAnimateNatively) {\n /**\n * Convert numbers to default value types. Currently this only supports\n * transforms but it could also support other value types.\n */\n if (definition) {\n keyframes = keyframes.map((value) => (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(value) ? definition.toDefaultUnit(value) : value);\n }\n /**\n * If this browser doesn't support partial/implicit keyframes we need to\n * explicitly provide one.\n */\n if (keyframes.length === 1 &&\n (!_utils_feature_detection_es_js__WEBPACK_IMPORTED_MODULE_3__.supports.partialKeyframes() || isRecording)) {\n keyframes.unshift(readInitialValue());\n }\n const animationOptions = {\n delay: _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.time.ms(delay),\n duration: _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.time.ms(duration),\n endDelay: _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.time.ms(endDelay),\n easing: !(0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingList)(easing)\n ? (0,_utils_easing_es_js__WEBPACK_IMPORTED_MODULE_10__.convertEasing)(easing, duration)\n : undefined,\n direction,\n iterations: repeat + 1,\n fill: \"both\",\n };\n animation = element.animate({\n [name]: keyframes,\n offset,\n easing: (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isEasingList)(easing)\n ? easing.map((thisEasing) => (0,_utils_easing_es_js__WEBPACK_IMPORTED_MODULE_10__.convertEasing)(thisEasing, duration))\n : undefined,\n }, animationOptions);\n /**\n * Polyfill finished Promise in browsers that don't support it\n */\n if (!animation.finished) {\n animation.finished = new Promise((resolve, reject) => {\n animation.onfinish = resolve;\n animation.oncancel = reject;\n });\n }\n const target = keyframes[keyframes.length - 1];\n animation.finished\n .then(() => {\n if (persist)\n return;\n // Apply styles to target\n _style_es_js__WEBPACK_IMPORTED_MODULE_6__.style.set(element, name, target);\n // Ensure fill modes don't persist\n animation.cancel();\n })\n .catch(_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noop);\n /**\n * This forces Webkit to run animations on the main thread by exploiting\n * this condition:\n * https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp?rev=281238#L1099\n *\n * This fixes Webkit's timing bugs, like accelerated animations falling\n * out of sync with main thread animations and massive delays in starting\n * accelerated animations in WKWebView.\n */\n if (!allowWebkitAcceleration)\n animation.playbackRate = 1.000001;\n /**\n * If we can't animate the value natively then we can fallback to the numbers-only\n * polyfill for transforms.\n */\n }\n else if (AnimationPolyfill && valueIsTransform) {\n /**\n * If any keyframe is a string (because we measured it from the DOM), we need to convert\n * it into a number before passing to the Animation polyfill.\n */\n keyframes = keyframes.map((value) => typeof value === \"string\" ? parseFloat(value) : value);\n /**\n * If we only have a single keyframe, we need to create an initial keyframe by reading\n * the current value from the DOM.\n */\n if (keyframes.length === 1) {\n keyframes.unshift(parseFloat(readInitialValue()));\n }\n animation = new AnimationPolyfill((latest) => {\n _style_es_js__WEBPACK_IMPORTED_MODULE_6__.style.set(element, name, toUnit ? toUnit(latest) : latest);\n }, keyframes, Object.assign(Object.assign({}, options), { duration,\n easing }));\n }\n else {\n const target = keyframes[keyframes.length - 1];\n _style_es_js__WEBPACK_IMPORTED_MODULE_6__.style.set(element, name, definition && (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(target)\n ? definition.toDefaultUnit(target)\n : target);\n }\n if (isRecording) {\n record(element, key, keyframes, {\n duration,\n delay: delay,\n easing,\n repeat,\n offset,\n }, \"motion-one\");\n }\n motionValue.setAnimation(animation);\n return animation;\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL2FuaW1hdGUtc3R5bGUuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQWdFO0FBQ007QUFDeUM7QUFDWDtBQUMvQztBQUNNO0FBQ2U7QUFDcEM7QUFDc0I7QUFDQztBQUNIOztBQUUxRDtBQUNBO0FBQ0E7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0EsVUFBVSxXQUFXLHNEQUFRLG1CQUFtQixzREFBUSxtQkFBbUIsc0RBQVEsb0JBQW9CLHNEQUFRLGtCQUFrQixzREFBUSxnRkFBZ0Y7QUFDek4saUJBQWlCLDZEQUFnQjtBQUNqQyw2QkFBNkIsb0VBQVc7QUFDeEMsNkJBQTZCLG9FQUFRO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDhFQUFxQjtBQUM3QyxpQkFBaUIseUVBQVk7QUFDN0Isd0JBQXdCLDJEQUFjO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHlFQUFvQjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLDBFQUFhLDBCQUEwQixtRUFBaUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxZQUFZLG1CQUFtQiwrQ0FBSztBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qix3RUFBZ0IsQ0FBQyxxRUFBYTtBQUN0RDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsdUVBQWdCO0FBQ3ZDLFlBQVksbUVBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw4REFBUTtBQUNwQixnQkFBZ0Isb0VBQVE7QUFDeEIsZ0JBQWdCLHlFQUFtQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLG9FQUFRO0FBQ3JCLGFBQWEsNERBQVUsYUFBYSw4REFBWSx3QkFBd0Isd0RBQVU7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCwwREFBUTtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isb0VBQVE7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGtEQUFJO0FBQzNCLDBCQUEwQixrREFBSTtBQUM5QiwwQkFBMEIsa0RBQUk7QUFDOUIseUJBQXlCLDhEQUFZO0FBQ3JDLHNCQUFzQixtRUFBYTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDhEQUFZO0FBQ3BDLGlEQUFpRCxtRUFBYTtBQUM5RDtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwrQ0FBSztBQUNyQjtBQUNBO0FBQ0EsYUFBYTtBQUNiLHVCQUF1QixrREFBSTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsK0NBQUs7QUFDckIsYUFBYSwyQ0FBMkMsY0FBYztBQUN0RSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsWUFBWSwrQ0FBSyxrQ0FBa0MsMERBQVE7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS9hbmltYXRlLXN0eWxlLmVzLmpzP2M1NTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QW5pbWF0aW9uRGF0YSwgZ2V0TW90aW9uVmFsdWUgfSBmcm9tICcuL2RhdGEuZXMuanMnO1xuaW1wb3J0IHsgaXNDc3NWYXIsIHJlZ2lzdGVyQ3NzVmFyaWFibGUgfSBmcm9tICcuL3V0aWxzL2Nzcy12YXIuZXMuanMnO1xuaW1wb3J0IHsgZGVmYXVsdHMsIGlzRWFzaW5nR2VuZXJhdG9yLCBpc0Z1bmN0aW9uLCBpc0Vhc2luZ0xpc3QsIGlzTnVtYmVyLCB0aW1lLCBub29wIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBpc1RyYW5zZm9ybSwgYWRkVHJhbnNmb3JtVG9FbGVtZW50LCB0cmFuc2Zvcm1EZWZpbml0aW9ucyB9IGZyb20gJy4vdXRpbHMvdHJhbnNmb3Jtcy5lcy5qcyc7XG5pbXBvcnQgeyBjb252ZXJ0RWFzaW5nIH0gZnJvbSAnLi91dGlscy9lYXNpbmcuZXMuanMnO1xuaW1wb3J0IHsgc3VwcG9ydHMgfSBmcm9tICcuL3V0aWxzL2ZlYXR1cmUtZGV0ZWN0aW9uLmVzLmpzJztcbmltcG9ydCB7IGh5ZHJhdGVLZXlmcmFtZXMsIGtleWZyYW1lc0xpc3QgfSBmcm9tICcuL3V0aWxzL2tleWZyYW1lcy5lcy5qcyc7XG5pbXBvcnQgeyBzdHlsZSB9IGZyb20gJy4vc3R5bGUuZXMuanMnO1xuaW1wb3J0IHsgZ2V0U3R5bGVOYW1lIH0gZnJvbSAnLi91dGlscy9nZXQtc3R5bGUtbmFtZS5lcy5qcyc7XG5pbXBvcnQgeyBzdG9wQW5pbWF0aW9uIH0gZnJvbSAnLi91dGlscy9zdG9wLWFuaW1hdGlvbi5lcy5qcyc7XG5pbXBvcnQgeyBnZXRVbml0Q29udmVydGVyIH0gZnJvbSAnLi91dGlscy9nZXQtdW5pdC5lcy5qcyc7XG5cbmZ1bmN0aW9uIGdldERldlRvb2xzUmVjb3JkKCkge1xuICAgIHJldHVybiB3aW5kb3cuX19NT1RJT05fREVWX1RPT0xTX1JFQ09SRDtcbn1cbmZ1bmN0aW9uIGFuaW1hdGVTdHlsZShlbGVtZW50LCBrZXksIGtleWZyYW1lc0RlZmluaXRpb24sIG9wdGlvbnMgPSB7fSwgQW5pbWF0aW9uUG9seWZpbGwpIHtcbiAgICBjb25zdCByZWNvcmQgPSBnZXREZXZUb29sc1JlY29yZCgpO1xuICAgIGNvbnN0IGlzUmVjb3JkaW5nID0gb3B0aW9ucy5yZWNvcmQgIT09IGZhbHNlICYmIHJlY29yZDtcbiAgICBsZXQgYW5pbWF0aW9uO1xuICAgIGxldCB7IGR1cmF0aW9uID0gZGVmYXVsdHMuZHVyYXRpb24sIGRlbGF5ID0gZGVmYXVsdHMuZGVsYXksIGVuZERlbGF5ID0gZGVmYXVsdHMuZW5kRGVsYXksIHJlcGVhdCA9IGRlZmF1bHRzLnJlcGVhdCwgZWFzaW5nID0gZGVmYXVsdHMuZWFzaW5nLCBwZXJzaXN0ID0gZmFsc2UsIGRpcmVjdGlvbiwgb2Zmc2V0LCBhbGxvd1dlYmtpdEFjY2VsZXJhdGlvbiA9IGZhbHNlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBkYXRhID0gZ2V0QW5pbWF0aW9uRGF0YShlbGVtZW50KTtcbiAgICBjb25zdCB2YWx1ZUlzVHJhbnNmb3JtID0gaXNUcmFuc2Zvcm0oa2V5KTtcbiAgICBsZXQgY2FuQW5pbWF0ZU5hdGl2ZWx5ID0gc3VwcG9ydHMud2FhcGkoKTtcbiAgICAvKipcbiAgICAgKiBJZiB0aGlzIGlzIGFuIGluZGl2aWR1YWwgdHJhbnNmb3JtLCB3ZSBuZWVkIHRvIG1hcCBpdHNcbiAgICAgKiBrZXkgdG8gYSBDU1MgdmFyaWFibGUgYW5kIHVwZGF0ZSB0aGUgZWxlbWVudCdzIHRyYW5zZm9ybSBzdHlsZVxuICAgICAqL1xuICAgIHZhbHVlSXNUcmFuc2Zvcm0gJiYgYWRkVHJhbnNmb3JtVG9FbGVtZW50KGVsZW1lbnQsIGtleSk7XG4gICAgY29uc3QgbmFtZSA9IGdldFN0eWxlTmFtZShrZXkpO1xuICAgIGNvbnN0IG1vdGlvblZhbHVlID0gZ2V0TW90aW9uVmFsdWUoZGF0YS52YWx1ZXMsIG5hbWUpO1xuICAgIC8qKlxuICAgICAqIEdldCBkZWZpbml0aW9uIG9mIHZhbHVlLCB0aGlzIHdpbGwgYmUgdXNlZCB0byBjb252ZXJ0IG51bWVyaWNhbFxuICAgICAqIGtleWZyYW1lcyBpbnRvIHRoZSBkZWZhdWx0IHZhbHVlIHR5cGUuXG4gICAgICovXG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IHRyYW5zZm9ybURlZmluaXRpb25zLmdldChuYW1lKTtcbiAgICAvKipcbiAgICAgKiBTdG9wIHRoZSBjdXJyZW50IGFuaW1hdGlvbiwgaWYgYW55LiBCZWNhdXNlIHRoaXMgd2lsbCB0cmlnZ2VyXG4gICAgICogY29tbWl0U3R5bGVzIChET00gd3JpdGVzKSBhbmQgd2UgbWlnaHQgbGF0ZXIgdHJpZ2dlciBET00gcmVhZHMsXG4gICAgICogdGhpcyBpcyBmaXJlZCBub3cgYW5kIHdlIHJldHVybiBhIGZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlXG4gICAgICogdGhlIGFjdHVhbCBhbmltYXRpb24gdGhhdCBjYW4gZ2V0IGNhbGxlZCBpbiBiYXRjaCxcbiAgICAgKi9cbiAgICBzdG9wQW5pbWF0aW9uKG1vdGlvblZhbHVlLmFuaW1hdGlvbiwgIShpc0Vhc2luZ0dlbmVyYXRvcihlYXNpbmcpICYmIG1vdGlvblZhbHVlLmdlbmVyYXRvcikgJiZcbiAgICAgICAgb3B0aW9ucy5yZWNvcmQgIT09IGZhbHNlKTtcbiAgICAvKipcbiAgICAgKiBCYXRjaGFibGUgZmFjdG9yeSBmdW5jdGlvbiBjb250YWluaW5nIGFsbCBET00gcmVhZHMuXG4gICAgICovXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZEluaXRpYWxWYWx1ZSA9ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHN0eWxlLmdldChlbGVtZW50LCBuYW1lKSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZGVmaW5pdGlvbiA9PT0gbnVsbCB8fCBkZWZpbml0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZWZpbml0aW9uLmluaXRpYWxWYWx1ZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMDsgfTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlcGxhY2UgbnVsbCB2YWx1ZXMgd2l0aCB0aGUgcHJldmlvdXMga2V5ZnJhbWUgdmFsdWUsIG9yIHJlYWRcbiAgICAgICAgICogaXQgZnJvbSB0aGUgRE9NIGlmIGl0J3MgdGhlIGZpcnN0IGtleWZyYW1lLlxuICAgICAgICAgKi9cbiAgICAgICAgbGV0IGtleWZyYW1lcyA9IGh5ZHJhdGVLZXlmcmFtZXMoa2V5ZnJhbWVzTGlzdChrZXlmcmFtZXNEZWZpbml0aW9uKSwgcmVhZEluaXRpYWxWYWx1ZSk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEZXRlY3QgdW5pdCB0eXBlIG9mIGtleWZyYW1lcy5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHRvVW5pdCA9IGdldFVuaXRDb252ZXJ0ZXIoa2V5ZnJhbWVzLCBkZWZpbml0aW9uKTtcbiAgICAgICAgaWYgKGlzRWFzaW5nR2VuZXJhdG9yKGVhc2luZykpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbSA9IGVhc2luZy5jcmVhdGVBbmltYXRpb24oa2V5ZnJhbWVzLCBrZXkgIT09IFwib3BhY2l0eVwiLCByZWFkSW5pdGlhbFZhbHVlLCBuYW1lLCBtb3Rpb25WYWx1ZSk7XG4gICAgICAgICAgICBlYXNpbmcgPSBjdXN0b20uZWFzaW5nO1xuICAgICAgICAgICAga2V5ZnJhbWVzID0gY3VzdG9tLmtleWZyYW1lcyB8fCBrZXlmcmFtZXM7XG4gICAgICAgICAgICBkdXJhdGlvbiA9IGN1c3RvbS5kdXJhdGlvbiB8fCBkdXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhpcyBpcyBhIENTUyB2YXJpYWJsZSB3ZSBuZWVkIHRvIHJlZ2lzdGVyIGl0IHdpdGggdGhlIGJyb3dzZXJcbiAgICAgICAgICogYmVmb3JlIGl0IGNhbiBiZSBhbmltYXRlZCBuYXRpdmVseS4gV2UgYWxzbyBzZXQgaXQgd2l0aCBzZXRQcm9wZXJ0eVxuICAgICAgICAgKiByYXRoZXIgdGhhbiBkaXJlY3RseSBvbnRvIHRoZSBlbGVtZW50LnN0eWxlIG9iamVjdC5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChpc0Nzc1ZhcihuYW1lKSkge1xuICAgICAgICAgICAgaWYgKHN1cHBvcnRzLmNzc1JlZ2lzdGVyUHJvcGVydHkoKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lzdGVyQ3NzVmFyaWFibGUobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjYW5BbmltYXRlTmF0aXZlbHkgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgd2UndmUgYmVlbiBwYXNzZWQgYSBjdXN0b20gZWFzaW5nIGZ1bmN0aW9uLCBhbmQgdGhpcyBicm93c2VyXG4gICAgICAgICAqIGRvZXMgKipub3QqKiBzdXBwb3J0IGxpbmVhcigpIGVhc2luZywgYW5kIHRoZSB2YWx1ZSBpcyBhIHRyYW5zZm9ybVxuICAgICAgICAgKiAoYW5kIHRodXMgYSBwdXJlIG51bWJlcikgd2UgY2FuIHN0aWxsIHN1cHBvcnQgdGhlIGN1c3RvbSBlYXNpbmdcbiAgICAgICAgICogYnkgZmFsbGluZyBiYWNrIHRvIHRoZSBhbmltYXRpb24gcG9seWZpbGwuXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodmFsdWVJc1RyYW5zZm9ybSAmJlxuICAgICAgICAgICAgIXN1cHBvcnRzLmxpbmVhckVhc2luZygpICYmXG4gICAgICAgICAgICAoaXNGdW5jdGlvbihlYXNpbmcpIHx8IChpc0Vhc2luZ0xpc3QoZWFzaW5nKSAmJiBlYXNpbmcuc29tZShpc0Z1bmN0aW9uKSkpKSB7XG4gICAgICAgICAgICBjYW5BbmltYXRlTmF0aXZlbHkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgd2UgY2FuIGFuaW1hdGUgdGhpcyB2YWx1ZSB3aXRoIFdBQVBJLCBkbyBzby5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChjYW5BbmltYXRlTmF0aXZlbHkpIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQ29udmVydCBudW1iZXJzIHRvIGRlZmF1bHQgdmFsdWUgdHlwZXMuIEN1cnJlbnRseSB0aGlzIG9ubHkgc3VwcG9ydHNcbiAgICAgICAgICAgICAqIHRyYW5zZm9ybXMgYnV0IGl0IGNvdWxkIGFsc28gc3VwcG9ydCBvdGhlciB2YWx1ZSB0eXBlcy5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgICAgICAgICAgICBrZXlmcmFtZXMgPSBrZXlmcmFtZXMubWFwKCh2YWx1ZSkgPT4gaXNOdW1iZXIodmFsdWUpID8gZGVmaW5pdGlvbi50b0RlZmF1bHRVbml0KHZhbHVlKSA6IHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogSWYgdGhpcyBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBwYXJ0aWFsL2ltcGxpY2l0IGtleWZyYW1lcyB3ZSBuZWVkIHRvXG4gICAgICAgICAgICAgKiBleHBsaWNpdGx5IHByb3ZpZGUgb25lLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpZiAoa2V5ZnJhbWVzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgICghc3VwcG9ydHMucGFydGlhbEtleWZyYW1lcygpIHx8IGlzUmVjb3JkaW5nKSkge1xuICAgICAgICAgICAgICAgIGtleWZyYW1lcy51bnNoaWZ0KHJlYWRJbml0aWFsVmFsdWUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbmltYXRpb25PcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGRlbGF5OiB0aW1lLm1zKGRlbGF5KSxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogdGltZS5tcyhkdXJhdGlvbiksXG4gICAgICAgICAgICAgICAgZW5kRGVsYXk6IHRpbWUubXMoZW5kRGVsYXkpLFxuICAgICAgICAgICAgICAgIGVhc2luZzogIWlzRWFzaW5nTGlzdChlYXNpbmcpXG4gICAgICAgICAgICAgICAgICAgID8gY29udmVydEVhc2luZyhlYXNpbmcsIGR1cmF0aW9uKVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgaXRlcmF0aW9uczogcmVwZWF0ICsgMSxcbiAgICAgICAgICAgICAgICBmaWxsOiBcImJvdGhcIixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhbmltYXRpb24gPSBlbGVtZW50LmFuaW1hdGUoe1xuICAgICAgICAgICAgICAgIFtuYW1lXToga2V5ZnJhbWVzLFxuICAgICAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgICAgICBlYXNpbmc6IGlzRWFzaW5nTGlzdChlYXNpbmcpXG4gICAgICAgICAgICAgICAgICAgID8gZWFzaW5nLm1hcCgodGhpc0Vhc2luZykgPT4gY29udmVydEVhc2luZyh0aGlzRWFzaW5nLCBkdXJhdGlvbikpXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSwgYW5pbWF0aW9uT3B0aW9ucyk7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFBvbHlmaWxsIGZpbmlzaGVkIFByb21pc2UgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGl0XG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICghYW5pbWF0aW9uLmZpbmlzaGVkKSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLmZpbmlzaGVkID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24ub25maW5pc2ggPSByZXNvbHZlO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24ub25jYW5jZWwgPSByZWplY3Q7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBrZXlmcmFtZXNba2V5ZnJhbWVzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgYW5pbWF0aW9uLmZpbmlzaGVkXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwZXJzaXN0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgLy8gQXBwbHkgc3R5bGVzIHRvIHRhcmdldFxuICAgICAgICAgICAgICAgIHN0eWxlLnNldChlbGVtZW50LCBuYW1lLCB0YXJnZXQpO1xuICAgICAgICAgICAgICAgIC8vIEVuc3VyZSBmaWxsIG1vZGVzIGRvbid0IHBlcnNpc3RcbiAgICAgICAgICAgICAgICBhbmltYXRpb24uY2FuY2VsKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaChub29wKTtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhpcyBmb3JjZXMgV2Via2l0IHRvIHJ1biBhbmltYXRpb25zIG9uIHRoZSBtYWluIHRocmVhZCBieSBleHBsb2l0aW5nXG4gICAgICAgICAgICAgKiB0aGlzIGNvbmRpdGlvbjpcbiAgICAgICAgICAgICAqIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvd2Via2l0L3RydW5rL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA/cmV2PTI4MTIzOCNMMTA5OVxuICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAqIFRoaXMgZml4ZXMgV2Via2l0J3MgdGltaW5nIGJ1Z3MsIGxpa2UgYWNjZWxlcmF0ZWQgYW5pbWF0aW9ucyBmYWxsaW5nXG4gICAgICAgICAgICAgKiBvdXQgb2Ygc3luYyB3aXRoIG1haW4gdGhyZWFkIGFuaW1hdGlvbnMgYW5kIG1hc3NpdmUgZGVsYXlzIGluIHN0YXJ0aW5nXG4gICAgICAgICAgICAgKiBhY2NlbGVyYXRlZCBhbmltYXRpb25zIGluIFdLV2ViVmlldy5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKCFhbGxvd1dlYmtpdEFjY2VsZXJhdGlvbilcbiAgICAgICAgICAgICAgICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMS4wMDAwMDE7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIElmIHdlIGNhbid0IGFuaW1hdGUgdGhlIHZhbHVlIG5hdGl2ZWx5IHRoZW4gd2UgY2FuIGZhbGxiYWNrIHRvIHRoZSBudW1iZXJzLW9ubHlcbiAgICAgICAgICAgICAqIHBvbHlmaWxsIGZvciB0cmFuc2Zvcm1zLlxuICAgICAgICAgICAgICovXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoQW5pbWF0aW9uUG9seWZpbGwgJiYgdmFsdWVJc1RyYW5zZm9ybSkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBJZiBhbnkga2V5ZnJhbWUgaXMgYSBzdHJpbmcgKGJlY2F1c2Ugd2UgbWVhc3VyZWQgaXQgZnJvbSB0aGUgRE9NKSwgd2UgbmVlZCB0byBjb252ZXJ0XG4gICAgICAgICAgICAgKiBpdCBpbnRvIGEgbnVtYmVyIGJlZm9yZSBwYXNzaW5nIHRvIHRoZSBBbmltYXRpb24gcG9seWZpbGwuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGtleWZyYW1lcyA9IGtleWZyYW1lcy5tYXAoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyBwYXJzZUZsb2F0KHZhbHVlKSA6IHZhbHVlKTtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogSWYgd2Ugb25seSBoYXZlIGEgc2luZ2xlIGtleWZyYW1lLCB3ZSBuZWVkIHRvIGNyZWF0ZSBhbiBpbml0aWFsIGtleWZyYW1lIGJ5IHJlYWRpbmdcbiAgICAgICAgICAgICAqIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIERPTS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKGtleWZyYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBrZXlmcmFtZXMudW5zaGlmdChwYXJzZUZsb2F0KHJlYWRJbml0aWFsVmFsdWUoKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvblBvbHlmaWxsKChsYXRlc3QpID0+IHtcbiAgICAgICAgICAgICAgICBzdHlsZS5zZXQoZWxlbWVudCwgbmFtZSwgdG9Vbml0ID8gdG9Vbml0KGxhdGVzdCkgOiBsYXRlc3QpO1xuICAgICAgICAgICAgfSwga2V5ZnJhbWVzLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpLCB7IGR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIGVhc2luZyB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBrZXlmcmFtZXNba2V5ZnJhbWVzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgc3R5bGUuc2V0KGVsZW1lbnQsIG5hbWUsIGRlZmluaXRpb24gJiYgaXNOdW1iZXIodGFyZ2V0KVxuICAgICAgICAgICAgICAgID8gZGVmaW5pdGlvbi50b0RlZmF1bHRVbml0KHRhcmdldClcbiAgICAgICAgICAgICAgICA6IHRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzUmVjb3JkaW5nKSB7XG4gICAgICAgICAgICByZWNvcmQoZWxlbWVudCwga2V5LCBrZXlmcmFtZXMsIHtcbiAgICAgICAgICAgICAgICBkdXJhdGlvbixcbiAgICAgICAgICAgICAgICBkZWxheTogZGVsYXksXG4gICAgICAgICAgICAgICAgZWFzaW5nLFxuICAgICAgICAgICAgICAgIHJlcGVhdCxcbiAgICAgICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICB9LCBcIm1vdGlvbi1vbmVcIik7XG4gICAgICAgIH1cbiAgICAgICAgbW90aW9uVmFsdWUuc2V0QW5pbWF0aW9uKGFuaW1hdGlvbik7XG4gICAgICAgIHJldHVybiBhbmltYXRpb247XG4gICAgfTtcbn1cblxuZXhwb3J0IHsgYW5pbWF0ZVN0eWxlIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/animate-style.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/create-animate.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/create-animate.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createAnimate: function() { return /* binding */ createAnimate; }\n/* harmony export */ });\n/* harmony import */ var hey_listen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hey-listen */ \"./node_modules/hey-listen/dist/hey-listen.es.js\");\n/* harmony import */ var _animate_style_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./animate-style.es.js */ \"./node_modules/@motionone/dom/dist/animate/animate-style.es.js\");\n/* harmony import */ var _utils_options_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/options.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/options.es.js\");\n/* harmony import */ var _utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/resolve-elements.es.js */ \"./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js\");\n/* harmony import */ var _utils_controls_es_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/controls.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/controls.es.js\");\n/* harmony import */ var _utils_stagger_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/stagger.es.js */ \"./node_modules/@motionone/dom/dist/utils/stagger.es.js\");\n\n\n\n\n\n\n\nfunction createAnimate(AnimatePolyfill) {\n return function animate(elements, keyframes, options = {}) {\n elements = (0,_utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_1__.resolveElements)(elements);\n const numElements = elements.length;\n (0,hey_listen__WEBPACK_IMPORTED_MODULE_0__.invariant)(Boolean(numElements), \"No valid element provided.\");\n (0,hey_listen__WEBPACK_IMPORTED_MODULE_0__.invariant)(Boolean(keyframes), \"No keyframes defined.\");\n /**\n * Create and start new animations\n */\n const animationFactories = [];\n for (let i = 0; i < numElements; i++) {\n const element = elements[i];\n for (const key in keyframes) {\n const valueOptions = (0,_utils_options_es_js__WEBPACK_IMPORTED_MODULE_2__.getOptions)(options, key);\n valueOptions.delay = (0,_utils_stagger_es_js__WEBPACK_IMPORTED_MODULE_3__.resolveOption)(valueOptions.delay, i, numElements);\n const animation = (0,_animate_style_es_js__WEBPACK_IMPORTED_MODULE_4__.animateStyle)(element, key, keyframes[key], valueOptions, AnimatePolyfill);\n animationFactories.push(animation);\n }\n }\n return (0,_utils_controls_es_js__WEBPACK_IMPORTED_MODULE_5__.withControls)(animationFactories, options, \n /**\n * TODO:\n * If easing is set to spring or glide, duration will be dynamically\n * generated. Ideally we would dynamically generate this from\n * animation.effect.getComputedTiming().duration but this isn't\n * supported in iOS13 or our number polyfill. Perhaps it's possible\n * to Proxy animations returned from animateStyle that has duration\n * as a getter.\n */\n options.duration);\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL2NyZWF0ZS1hbmltYXRlLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBdUM7QUFDYztBQUNGO0FBQ2U7QUFDWjtBQUNDOztBQUV2RDtBQUNBLDZEQUE2RDtBQUM3RCxtQkFBbUIsOEVBQWU7QUFDbEM7QUFDQSxRQUFRLHFEQUFTO0FBQ2pCLFFBQVEscURBQVM7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQSxxQ0FBcUMsZ0VBQVU7QUFDL0MscUNBQXFDLG1FQUFhO0FBQ2xELGtDQUFrQyxrRUFBWTtBQUM5QztBQUNBO0FBQ0E7QUFDQSxlQUFlLG1FQUFZO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFeUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS9jcmVhdGUtYW5pbWF0ZS5lcy5qcz9mMWU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludmFyaWFudCB9IGZyb20gJ2hleS1saXN0ZW4nO1xuaW1wb3J0IHsgYW5pbWF0ZVN0eWxlIH0gZnJvbSAnLi9hbmltYXRlLXN0eWxlLmVzLmpzJztcbmltcG9ydCB7IGdldE9wdGlvbnMgfSBmcm9tICcuL3V0aWxzL29wdGlvbnMuZXMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvcmVzb2x2ZS1lbGVtZW50cy5lcy5qcyc7XG5pbXBvcnQgeyB3aXRoQ29udHJvbHMgfSBmcm9tICcuL3V0aWxzL2NvbnRyb2xzLmVzLmpzJztcbmltcG9ydCB7IHJlc29sdmVPcHRpb24gfSBmcm9tICcuLi91dGlscy9zdGFnZ2VyLmVzLmpzJztcblxuZnVuY3Rpb24gY3JlYXRlQW5pbWF0ZShBbmltYXRlUG9seWZpbGwpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gYW5pbWF0ZShlbGVtZW50cywga2V5ZnJhbWVzLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgZWxlbWVudHMgPSByZXNvbHZlRWxlbWVudHMoZWxlbWVudHMpO1xuICAgICAgICBjb25zdCBudW1FbGVtZW50cyA9IGVsZW1lbnRzLmxlbmd0aDtcbiAgICAgICAgaW52YXJpYW50KEJvb2xlYW4obnVtRWxlbWVudHMpLCBcIk5vIHZhbGlkIGVsZW1lbnQgcHJvdmlkZWQuXCIpO1xuICAgICAgICBpbnZhcmlhbnQoQm9vbGVhbihrZXlmcmFtZXMpLCBcIk5vIGtleWZyYW1lcyBkZWZpbmVkLlwiKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZSBhbmQgc3RhcnQgbmV3IGFuaW1hdGlvbnNcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbkZhY3RvcmllcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUVsZW1lbnRzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGtleWZyYW1lcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlT3B0aW9ucyA9IGdldE9wdGlvbnMob3B0aW9ucywga2V5KTtcbiAgICAgICAgICAgICAgICB2YWx1ZU9wdGlvbnMuZGVsYXkgPSByZXNvbHZlT3B0aW9uKHZhbHVlT3B0aW9ucy5kZWxheSwgaSwgbnVtRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbiA9IGFuaW1hdGVTdHlsZShlbGVtZW50LCBrZXksIGtleWZyYW1lc1trZXldLCB2YWx1ZU9wdGlvbnMsIEFuaW1hdGVQb2x5ZmlsbCk7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRmFjdG9yaWVzLnB1c2goYW5pbWF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gd2l0aENvbnRyb2xzKGFuaW1hdGlvbkZhY3Rvcmllcywgb3B0aW9ucywgXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPOlxuICAgICAgICAgKiBJZiBlYXNpbmcgaXMgc2V0IHRvIHNwcmluZyBvciBnbGlkZSwgZHVyYXRpb24gd2lsbCBiZSBkeW5hbWljYWxseVxuICAgICAgICAgKiBnZW5lcmF0ZWQuIElkZWFsbHkgd2Ugd291bGQgZHluYW1pY2FsbHkgZ2VuZXJhdGUgdGhpcyBmcm9tXG4gICAgICAgICAqIGFuaW1hdGlvbi5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5kdXJhdGlvbiBidXQgdGhpcyBpc24ndFxuICAgICAgICAgKiBzdXBwb3J0ZWQgaW4gaU9TMTMgb3Igb3VyIG51bWJlciBwb2x5ZmlsbC4gUGVyaGFwcyBpdCdzIHBvc3NpYmxlXG4gICAgICAgICAqIHRvIFByb3h5IGFuaW1hdGlvbnMgcmV0dXJuZWQgZnJvbSBhbmltYXRlU3R5bGUgdGhhdCBoYXMgZHVyYXRpb25cbiAgICAgICAgICogYXMgYSBnZXR0ZXIuXG4gICAgICAgICAqL1xuICAgICAgICBvcHRpb25zLmR1cmF0aW9uKTtcbiAgICB9O1xufVxuXG5leHBvcnQgeyBjcmVhdGVBbmltYXRlIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/create-animate.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/data.es.js": -/*!*************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/data.es.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAnimationData: function() { return /* binding */ getAnimationData; },\n/* harmony export */ getMotionValue: function() { return /* binding */ getMotionValue; }\n/* harmony export */ });\n/* harmony import */ var _motionone_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/types */ \"./node_modules/@motionone/types/dist/index.es.js\");\n\n\nconst data = new WeakMap();\nfunction getAnimationData(element) {\n if (!data.has(element)) {\n data.set(element, {\n transforms: [],\n values: new Map(),\n });\n }\n return data.get(element);\n}\nfunction getMotionValue(motionValues, name) {\n if (!motionValues.has(name)) {\n motionValues.set(name, new _motionone_types__WEBPACK_IMPORTED_MODULE_0__.MotionValue());\n }\n return motionValues.get(name);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL2RhdGEuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyx5REFBVztBQUM5QztBQUNBO0FBQ0E7O0FBRTRDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvZGF0YS5lcy5qcz9mMDExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vdGlvblZhbHVlIH0gZnJvbSAnQG1vdGlvbm9uZS90eXBlcyc7XG5cbmNvbnN0IGRhdGEgPSBuZXcgV2Vha01hcCgpO1xuZnVuY3Rpb24gZ2V0QW5pbWF0aW9uRGF0YShlbGVtZW50KSB7XG4gICAgaWYgKCFkYXRhLmhhcyhlbGVtZW50KSkge1xuICAgICAgICBkYXRhLnNldChlbGVtZW50LCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zOiBbXSxcbiAgICAgICAgICAgIHZhbHVlczogbmV3IE1hcCgpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGEuZ2V0KGVsZW1lbnQpO1xufVxuZnVuY3Rpb24gZ2V0TW90aW9uVmFsdWUobW90aW9uVmFsdWVzLCBuYW1lKSB7XG4gICAgaWYgKCFtb3Rpb25WYWx1ZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIG1vdGlvblZhbHVlcy5zZXQobmFtZSwgbmV3IE1vdGlvblZhbHVlKCkpO1xuICAgIH1cbiAgICByZXR1cm4gbW90aW9uVmFsdWVzLmdldChuYW1lKTtcbn1cblxuZXhwb3J0IHsgZ2V0QW5pbWF0aW9uRGF0YSwgZ2V0TW90aW9uVmFsdWUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/data.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/index.es.js": -/*!**************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/index.es.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ animate: function() { return /* binding */ animate; }\n/* harmony export */ });\n/* harmony import */ var _motionone_animation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/animation */ \"./node_modules/@motionone/animation/dist/index.es.js\");\n/* harmony import */ var _create_animate_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-animate.es.js */ \"./node_modules/@motionone/dom/dist/animate/create-animate.es.js\");\n\n\n\nconst animate = (0,_create_animate_es_js__WEBPACK_IMPORTED_MODULE_0__.createAnimate)(_motionone_animation__WEBPACK_IMPORTED_MODULE_1__.Animation);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL2luZGV4LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFpRDtBQUNNOztBQUV2RCxnQkFBZ0Isb0VBQWEsQ0FBQywyREFBUzs7QUFFcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS9pbmRleC5lcy5qcz8yMjliIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbiB9IGZyb20gJ0Btb3Rpb25vbmUvYW5pbWF0aW9uJztcbmltcG9ydCB7IGNyZWF0ZUFuaW1hdGUgfSBmcm9tICcuL2NyZWF0ZS1hbmltYXRlLmVzLmpzJztcblxuY29uc3QgYW5pbWF0ZSA9IGNyZWF0ZUFuaW1hdGUoQW5pbWF0aW9uKTtcblxuZXhwb3J0IHsgYW5pbWF0ZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/style.es.js": -/*!**************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/style.es.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ style: function() { return /* binding */ style; }\n/* harmony export */ });\n/* harmony import */ var _utils_css_var_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/css-var.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/css-var.es.js\");\n/* harmony import */ var _utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/get-style-name.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js\");\n/* harmony import */ var _utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/transforms.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\");\n\n\n\n\nconst style = {\n get: (element, name) => {\n name = (0,_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_0__.getStyleName)(name);\n let value = (0,_utils_css_var_es_js__WEBPACK_IMPORTED_MODULE_1__.isCssVar)(name)\n ? element.style.getPropertyValue(name)\n : getComputedStyle(element)[name];\n if (!value && value !== 0) {\n const definition = _utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_2__.transformDefinitions.get(name);\n if (definition)\n value = definition.initialValue;\n }\n return value;\n },\n set: (element, name, value) => {\n name = (0,_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_0__.getStyleName)(name);\n if ((0,_utils_css_var_es_js__WEBPACK_IMPORTED_MODULE_1__.isCssVar)(name)) {\n element.style.setProperty(name, value);\n }\n else {\n element.style[name] = value;\n }\n },\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3N0eWxlLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBaUQ7QUFDVztBQUNJOztBQUVoRTtBQUNBO0FBQ0EsZUFBZSx5RUFBWTtBQUMzQixvQkFBb0IsOERBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLHlFQUFvQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGVBQWUseUVBQVk7QUFDM0IsWUFBWSw4REFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3N0eWxlLmVzLmpzPzAwZWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDc3NWYXIgfSBmcm9tICcuL3V0aWxzL2Nzcy12YXIuZXMuanMnO1xuaW1wb3J0IHsgZ2V0U3R5bGVOYW1lIH0gZnJvbSAnLi91dGlscy9nZXQtc3R5bGUtbmFtZS5lcy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1EZWZpbml0aW9ucyB9IGZyb20gJy4vdXRpbHMvdHJhbnNmb3Jtcy5lcy5qcyc7XG5cbmNvbnN0IHN0eWxlID0ge1xuICAgIGdldDogKGVsZW1lbnQsIG5hbWUpID0+IHtcbiAgICAgICAgbmFtZSA9IGdldFN0eWxlTmFtZShuYW1lKTtcbiAgICAgICAgbGV0IHZhbHVlID0gaXNDc3NWYXIobmFtZSlcbiAgICAgICAgICAgID8gZWxlbWVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpXG4gICAgICAgICAgICA6IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudClbbmFtZV07XG4gICAgICAgIGlmICghdmFsdWUgJiYgdmFsdWUgIT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSB0cmFuc2Zvcm1EZWZpbml0aW9ucy5nZXQobmFtZSk7XG4gICAgICAgICAgICBpZiAoZGVmaW5pdGlvbilcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGRlZmluaXRpb24uaW5pdGlhbFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9LFxuICAgIHNldDogKGVsZW1lbnQsIG5hbWUsIHZhbHVlKSA9PiB7XG4gICAgICAgIG5hbWUgPSBnZXRTdHlsZU5hbWUobmFtZSk7XG4gICAgICAgIGlmIChpc0Nzc1ZhcihuYW1lKSkge1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlW25hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgc3R5bGUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/style.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/controls.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/controls.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ controls: function() { return /* binding */ controls; },\n/* harmony export */ withControls: function() { return /* binding */ withControls; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _stop_animation_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stop-animation.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js\");\n\n\n\nconst createAnimation = (factory) => factory();\nconst withControls = (animationFactory, options, duration = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.duration) => {\n return new Proxy({\n animations: animationFactory.map(createAnimation).filter(Boolean),\n duration,\n options,\n }, controls);\n};\n/**\n * TODO:\n * Currently this returns the first animation, ideally it would return\n * the first active animation.\n */\nconst getActiveAnimation = (state) => state.animations[0];\nconst controls = {\n get: (target, key) => {\n const activeAnimation = getActiveAnimation(target);\n switch (key) {\n case \"duration\":\n return target.duration;\n case \"currentTime\":\n return _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.time.s((activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key]) || 0);\n case \"playbackRate\":\n case \"playState\":\n return activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key];\n case \"finished\":\n if (!target.finished) {\n target.finished = Promise.all(target.animations.map(selectFinished)).catch(_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noop);\n }\n return target.finished;\n case \"stop\":\n return () => {\n target.animations.forEach((animation) => (0,_stop_animation_es_js__WEBPACK_IMPORTED_MODULE_1__.stopAnimation)(animation));\n };\n case \"forEachNative\":\n /**\n * This is for internal use only, fire a callback for each\n * underlying animation.\n */\n return (callback) => {\n target.animations.forEach((animation) => callback(animation, target));\n };\n default:\n return typeof (activeAnimation === null || activeAnimation === void 0 ? void 0 : activeAnimation[key]) === \"undefined\"\n ? undefined\n : () => target.animations.forEach((animation) => animation[key]());\n }\n },\n set: (target, key, value) => {\n switch (key) {\n case \"currentTime\":\n value = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.time.ms(value);\n case \"currentTime\":\n case \"playbackRate\":\n for (let i = 0; i < target.animations.length; i++) {\n target.animations[i][key] = value;\n }\n return true;\n }\n return false;\n },\n};\nconst selectFinished = (animation) => animation.finished;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2NvbnRyb2xzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBd0Q7QUFDRDs7QUFFdkQ7QUFDQSw0REFBNEQsc0RBQVE7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixrREFBSTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0ZBQStGLGtEQUFJO0FBQ25HO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELG9FQUFhO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGtEQUFJO0FBQzVCO0FBQ0E7QUFDQSxnQ0FBZ0MsOEJBQThCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS91dGlscy9jb250cm9scy5lcy5qcz9mN2RhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRzLCBub29wLCB0aW1lIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBzdG9wQW5pbWF0aW9uIH0gZnJvbSAnLi9zdG9wLWFuaW1hdGlvbi5lcy5qcyc7XG5cbmNvbnN0IGNyZWF0ZUFuaW1hdGlvbiA9IChmYWN0b3J5KSA9PiBmYWN0b3J5KCk7XG5jb25zdCB3aXRoQ29udHJvbHMgPSAoYW5pbWF0aW9uRmFjdG9yeSwgb3B0aW9ucywgZHVyYXRpb24gPSBkZWZhdWx0cy5kdXJhdGlvbikgPT4ge1xuICAgIHJldHVybiBuZXcgUHJveHkoe1xuICAgICAgICBhbmltYXRpb25zOiBhbmltYXRpb25GYWN0b3J5Lm1hcChjcmVhdGVBbmltYXRpb24pLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgZHVyYXRpb24sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgfSwgY29udHJvbHMpO1xufTtcbi8qKlxuICogVE9ETzpcbiAqIEN1cnJlbnRseSB0aGlzIHJldHVybnMgdGhlIGZpcnN0IGFuaW1hdGlvbiwgaWRlYWxseSBpdCB3b3VsZCByZXR1cm5cbiAqIHRoZSBmaXJzdCBhY3RpdmUgYW5pbWF0aW9uLlxuICovXG5jb25zdCBnZXRBY3RpdmVBbmltYXRpb24gPSAoc3RhdGUpID0+IHN0YXRlLmFuaW1hdGlvbnNbMF07XG5jb25zdCBjb250cm9scyA9IHtcbiAgICBnZXQ6ICh0YXJnZXQsIGtleSkgPT4ge1xuICAgICAgICBjb25zdCBhY3RpdmVBbmltYXRpb24gPSBnZXRBY3RpdmVBbmltYXRpb24odGFyZ2V0KTtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQuZHVyYXRpb247XG4gICAgICAgICAgICBjYXNlIFwiY3VycmVudFRpbWVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGltZS5zKChhY3RpdmVBbmltYXRpb24gPT09IG51bGwgfHwgYWN0aXZlQW5pbWF0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhY3RpdmVBbmltYXRpb25ba2V5XSkgfHwgMCk7XG4gICAgICAgICAgICBjYXNlIFwicGxheWJhY2tSYXRlXCI6XG4gICAgICAgICAgICBjYXNlIFwicGxheVN0YXRlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjdGl2ZUFuaW1hdGlvbiA9PT0gbnVsbCB8fCBhY3RpdmVBbmltYXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFjdGl2ZUFuaW1hdGlvbltrZXldO1xuICAgICAgICAgICAgY2FzZSBcImZpbmlzaGVkXCI6XG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQuZmluaXNoZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmZpbmlzaGVkID0gUHJvbWlzZS5hbGwodGFyZ2V0LmFuaW1hdGlvbnMubWFwKHNlbGVjdEZpbmlzaGVkKSkuY2F0Y2gobm9vcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQuZmluaXNoZWQ7XG4gICAgICAgICAgICBjYXNlIFwic3RvcFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5hbmltYXRpb25zLmZvckVhY2goKGFuaW1hdGlvbikgPT4gc3RvcEFuaW1hdGlvbihhbmltYXRpb24pKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSBcImZvckVhY2hOYXRpdmVcIjpcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBUaGlzIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seSwgZmlyZSBhIGNhbGxiYWNrIGZvciBlYWNoXG4gICAgICAgICAgICAgICAgICogdW5kZXJseWluZyBhbmltYXRpb24uXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgcmV0dXJuIChjYWxsYmFjaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5pbWF0aW9ucy5mb3JFYWNoKChhbmltYXRpb24pID0+IGNhbGxiYWNrKGFuaW1hdGlvbiwgdGFyZ2V0KSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiAoYWN0aXZlQW5pbWF0aW9uID09PSBudWxsIHx8IGFjdGl2ZUFuaW1hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYWN0aXZlQW5pbWF0aW9uW2tleV0pID09PSBcInVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIDogKCkgPT4gdGFyZ2V0LmFuaW1hdGlvbnMuZm9yRWFjaCgoYW5pbWF0aW9uKSA9PiBhbmltYXRpb25ba2V5XSgpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2V0OiAodGFyZ2V0LCBrZXksIHZhbHVlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlIFwiY3VycmVudFRpbWVcIjpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHRpbWUubXModmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBcImN1cnJlbnRUaW1lXCI6XG4gICAgICAgICAgICBjYXNlIFwicGxheWJhY2tSYXRlXCI6XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YXJnZXQuYW5pbWF0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5pbWF0aW9uc1tpXVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxufTtcbmNvbnN0IHNlbGVjdEZpbmlzaGVkID0gKGFuaW1hdGlvbikgPT4gYW5pbWF0aW9uLmZpbmlzaGVkO1xuXG5leHBvcnQgeyBjb250cm9scywgd2l0aENvbnRyb2xzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/controls.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/css-var.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/css-var.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isCssVar: function() { return /* binding */ isCssVar; },\n/* harmony export */ registerCssVariable: function() { return /* binding */ registerCssVariable; },\n/* harmony export */ registeredProperties: function() { return /* binding */ registeredProperties; }\n/* harmony export */ });\n/* harmony import */ var _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transforms.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\");\n\n\nconst isCssVar = (name) => name.startsWith(\"--\");\nconst registeredProperties = new Set();\nfunction registerCssVariable(name) {\n if (registeredProperties.has(name))\n return;\n registeredProperties.add(name);\n try {\n const { syntax, initialValue } = _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformDefinitions.has(name)\n ? _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformDefinitions.get(name)\n : {};\n CSS.registerProperty({\n name,\n inherits: false,\n syntax,\n initialValue,\n });\n }\n catch (e) { }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2Nzcy12YXIuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEwRDs7QUFFMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsdUJBQXVCLEVBQUUsbUVBQW9CO0FBQzdELGNBQWMsbUVBQW9CO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRStEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvdXRpbHMvY3NzLXZhci5lcy5qcz85MzMwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyYW5zZm9ybURlZmluaXRpb25zIH0gZnJvbSAnLi90cmFuc2Zvcm1zLmVzLmpzJztcblxuY29uc3QgaXNDc3NWYXIgPSAobmFtZSkgPT4gbmFtZS5zdGFydHNXaXRoKFwiLS1cIik7XG5jb25zdCByZWdpc3RlcmVkUHJvcGVydGllcyA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIHJlZ2lzdGVyQ3NzVmFyaWFibGUobmFtZSkge1xuICAgIGlmIChyZWdpc3RlcmVkUHJvcGVydGllcy5oYXMobmFtZSkpXG4gICAgICAgIHJldHVybjtcbiAgICByZWdpc3RlcmVkUHJvcGVydGllcy5hZGQobmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBzeW50YXgsIGluaXRpYWxWYWx1ZSB9ID0gdHJhbnNmb3JtRGVmaW5pdGlvbnMuaGFzKG5hbWUpXG4gICAgICAgICAgICA/IHRyYW5zZm9ybURlZmluaXRpb25zLmdldChuYW1lKVxuICAgICAgICAgICAgOiB7fTtcbiAgICAgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIGluaGVyaXRzOiBmYWxzZSxcbiAgICAgICAgICAgIHN5bnRheCxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7IH1cbn1cblxuZXhwb3J0IHsgaXNDc3NWYXIsIHJlZ2lzdGVyQ3NzVmFyaWFibGUsIHJlZ2lzdGVyZWRQcm9wZXJ0aWVzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/css-var.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/easing.es.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/easing.es.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ convertEasing: function() { return /* binding */ convertEasing; },\n/* harmony export */ cubicBezierAsString: function() { return /* binding */ cubicBezierAsString; },\n/* harmony export */ generateLinearEasingPoints: function() { return /* binding */ generateLinearEasingPoints; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _feature_detection_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./feature-detection.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js\");\n\n\n\n// Create a linear easing point for every x second\nconst resolution = 0.015;\nconst generateLinearEasingPoints = (easing, duration) => {\n let points = \"\";\n const numPoints = Math.round(duration / resolution);\n for (let i = 0; i < numPoints; i++) {\n points += easing((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.progress)(0, numPoints - 1, i)) + \", \";\n }\n return points.substring(0, points.length - 2);\n};\nconst convertEasing = (easing, duration) => {\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(easing)) {\n return _feature_detection_es_js__WEBPACK_IMPORTED_MODULE_1__.supports.linearEasing()\n ? `linear(${generateLinearEasingPoints(easing, duration)})`\n : _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.defaults.easing;\n }\n else {\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isCubicBezier)(easing) ? cubicBezierAsString(easing) : easing;\n }\n};\nconst cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2Vhc2luZy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFpRjtBQUM1Qjs7QUFFckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixlQUFlO0FBQ25DLHlCQUF5QiwwREFBUTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNERBQVU7QUFDbEIsZUFBZSw4REFBUTtBQUN2Qix3QkFBd0IsNkNBQTZDO0FBQ3JFLGNBQWMsc0RBQVE7QUFDdEI7QUFDQTtBQUNBLGVBQWUsK0RBQWE7QUFDNUI7QUFDQTtBQUNBLDhEQUE4RCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFOztBQUVSIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvdXRpbHMvZWFzaW5nLmVzLmpzP2ZkMTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGdW5jdGlvbiwgZGVmYXVsdHMsIGlzQ3ViaWNCZXppZXIsIHByb2dyZXNzIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBzdXBwb3J0cyB9IGZyb20gJy4vZmVhdHVyZS1kZXRlY3Rpb24uZXMuanMnO1xuXG4vLyBDcmVhdGUgYSBsaW5lYXIgZWFzaW5nIHBvaW50IGZvciBldmVyeSB4IHNlY29uZFxuY29uc3QgcmVzb2x1dGlvbiA9IDAuMDE1O1xuY29uc3QgZ2VuZXJhdGVMaW5lYXJFYXNpbmdQb2ludHMgPSAoZWFzaW5nLCBkdXJhdGlvbikgPT4ge1xuICAgIGxldCBwb2ludHMgPSBcIlwiO1xuICAgIGNvbnN0IG51bVBvaW50cyA9IE1hdGgucm91bmQoZHVyYXRpb24gLyByZXNvbHV0aW9uKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgICAgIHBvaW50cyArPSBlYXNpbmcocHJvZ3Jlc3MoMCwgbnVtUG9pbnRzIC0gMSwgaSkpICsgXCIsIFwiO1xuICAgIH1cbiAgICByZXR1cm4gcG9pbnRzLnN1YnN0cmluZygwLCBwb2ludHMubGVuZ3RoIC0gMik7XG59O1xuY29uc3QgY29udmVydEVhc2luZyA9IChlYXNpbmcsIGR1cmF0aW9uKSA9PiB7XG4gICAgaWYgKGlzRnVuY3Rpb24oZWFzaW5nKSkge1xuICAgICAgICByZXR1cm4gc3VwcG9ydHMubGluZWFyRWFzaW5nKClcbiAgICAgICAgICAgID8gYGxpbmVhcigke2dlbmVyYXRlTGluZWFyRWFzaW5nUG9pbnRzKGVhc2luZywgZHVyYXRpb24pfSlgXG4gICAgICAgICAgICA6IGRlZmF1bHRzLmVhc2luZztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBpc0N1YmljQmV6aWVyKGVhc2luZykgPyBjdWJpY0JlemllckFzU3RyaW5nKGVhc2luZykgOiBlYXNpbmc7XG4gICAgfVxufTtcbmNvbnN0IGN1YmljQmV6aWVyQXNTdHJpbmcgPSAoW2EsIGIsIGMsIGRdKSA9PiBgY3ViaWMtYmV6aWVyKCR7YX0sICR7Yn0sICR7Y30sICR7ZH0pYDtcblxuZXhwb3J0IHsgY29udmVydEVhc2luZywgY3ViaWNCZXppZXJBc1N0cmluZywgZ2VuZXJhdGVMaW5lYXJFYXNpbmdQb2ludHMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/easing.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ supports: function() { return /* binding */ supports; }\n/* harmony export */ });\nconst testAnimation = (keyframes, options) => document.createElement(\"div\").animate(keyframes, options);\nconst featureTests = {\n cssRegisterProperty: () => typeof CSS !== \"undefined\" &&\n Object.hasOwnProperty.call(CSS, \"registerProperty\"),\n waapi: () => Object.hasOwnProperty.call(Element.prototype, \"animate\"),\n partialKeyframes: () => {\n try {\n testAnimation({ opacity: [1] });\n }\n catch (e) {\n return false;\n }\n return true;\n },\n finished: () => Boolean(testAnimation({ opacity: [0, 1] }, { duration: 0.001 }).finished),\n linearEasing: () => {\n try {\n testAnimation({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n }\n catch (e) {\n return false;\n }\n return true;\n },\n};\nconst results = {};\nconst supports = {};\nfor (const key in featureTests) {\n supports[key] = () => {\n if (results[key] === undefined)\n results[key] = featureTests[key]();\n return results[key];\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2ZlYXR1cmUtZGV0ZWN0aW9uLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixjQUFjO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNENBQTRDLGlCQUFpQixJQUFJLGlCQUFpQjtBQUNsRjtBQUNBO0FBQ0EsNEJBQTRCLFlBQVksSUFBSSx3QkFBd0I7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFb0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS91dGlscy9mZWF0dXJlLWRldGVjdGlvbi5lcy5qcz8wYzU0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHRlc3RBbmltYXRpb24gPSAoa2V5ZnJhbWVzLCBvcHRpb25zKSA9PiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLmFuaW1hdGUoa2V5ZnJhbWVzLCBvcHRpb25zKTtcbmNvbnN0IGZlYXR1cmVUZXN0cyA9IHtcbiAgICBjc3NSZWdpc3RlclByb3BlcnR5OiAoKSA9PiB0eXBlb2YgQ1NTICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKENTUywgXCJyZWdpc3RlclByb3BlcnR5XCIpLFxuICAgIHdhYXBpOiAoKSA9PiBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChFbGVtZW50LnByb3RvdHlwZSwgXCJhbmltYXRlXCIpLFxuICAgIHBhcnRpYWxLZXlmcmFtZXM6ICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRlc3RBbmltYXRpb24oeyBvcGFjaXR5OiBbMV0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGZpbmlzaGVkOiAoKSA9PiBCb29sZWFuKHRlc3RBbmltYXRpb24oeyBvcGFjaXR5OiBbMCwgMV0gfSwgeyBkdXJhdGlvbjogMC4wMDEgfSkuZmluaXNoZWQpLFxuICAgIGxpbmVhckVhc2luZzogKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGVzdEFuaW1hdGlvbih7IG9wYWNpdHk6IDAgfSwgeyBlYXNpbmc6IFwibGluZWFyKDAsIDEpXCIgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxufTtcbmNvbnN0IHJlc3VsdHMgPSB7fTtcbmNvbnN0IHN1cHBvcnRzID0ge307XG5mb3IgKGNvbnN0IGtleSBpbiBmZWF0dXJlVGVzdHMpIHtcbiAgICBzdXBwb3J0c1trZXldID0gKCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0c1trZXldID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICByZXN1bHRzW2tleV0gPSBmZWF0dXJlVGVzdHNba2V5XSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0c1trZXldO1xuICAgIH07XG59XG5cbmV4cG9ydCB7IHN1cHBvcnRzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/feature-detection.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getStyleName: function() { return /* binding */ getStyleName; }\n/* harmony export */ });\n/* harmony import */ var _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transforms.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\");\n\n\nfunction getStyleName(key) {\n if (_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformAlias[key])\n key = _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformAlias[key];\n return (0,_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.isTransform)(key) ? (0,_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.asTransformCssVar)(key) : key;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2dldC1zdHlsZS1uYW1lLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQW9GOztBQUVwRjtBQUNBLFFBQVEsNkRBQWM7QUFDdEIsY0FBYyw2REFBYztBQUM1QixXQUFXLDhEQUFXLFFBQVEsb0VBQWlCO0FBQy9DOztBQUV3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2dldC1zdHlsZS1uYW1lLmVzLmpzPzE1OWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNUcmFuc2Zvcm0sIGFzVHJhbnNmb3JtQ3NzVmFyLCB0cmFuc2Zvcm1BbGlhcyB9IGZyb20gJy4vdHJhbnNmb3Jtcy5lcy5qcyc7XG5cbmZ1bmN0aW9uIGdldFN0eWxlTmFtZShrZXkpIHtcbiAgICBpZiAodHJhbnNmb3JtQWxpYXNba2V5XSlcbiAgICAgICAga2V5ID0gdHJhbnNmb3JtQWxpYXNba2V5XTtcbiAgICByZXR1cm4gaXNUcmFuc2Zvcm0oa2V5KSA/IGFzVHJhbnNmb3JtQ3NzVmFyKGtleSkgOiBrZXk7XG59XG5cbmV4cG9ydCB7IGdldFN0eWxlTmFtZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getUnitConverter: function() { return /* binding */ getUnitConverter; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nfunction getUnitConverter(keyframes, definition) {\n var _a;\n let toUnit = (definition === null || definition === void 0 ? void 0 : definition.toDefaultUnit) || _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn;\n const finalKeyframe = keyframes[keyframes.length - 1];\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(finalKeyframe)) {\n const unit = ((_a = finalKeyframe.match(/(-?[\\d.]+)([a-z%]*)/)) === null || _a === void 0 ? void 0 : _a[2]) || \"\";\n if (unit)\n toUnit = (value) => value + unit;\n }\n return toUnit;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2dldC11bml0LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXdEOztBQUV4RDtBQUNBO0FBQ0EsdUdBQXVHLHdEQUFVO0FBQ2pIO0FBQ0EsUUFBUSwwREFBUTtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvdXRpbHMvZ2V0LXVuaXQuZXMuanM/YTBhMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub29wUmV0dXJuLCBpc1N0cmluZyB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuXG5mdW5jdGlvbiBnZXRVbml0Q29udmVydGVyKGtleWZyYW1lcywgZGVmaW5pdGlvbikge1xuICAgIHZhciBfYTtcbiAgICBsZXQgdG9Vbml0ID0gKGRlZmluaXRpb24gPT09IG51bGwgfHwgZGVmaW5pdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGVmaW5pdGlvbi50b0RlZmF1bHRVbml0KSB8fCBub29wUmV0dXJuO1xuICAgIGNvbnN0IGZpbmFsS2V5ZnJhbWUgPSBrZXlmcmFtZXNba2V5ZnJhbWVzLmxlbmd0aCAtIDFdO1xuICAgIGlmIChpc1N0cmluZyhmaW5hbEtleWZyYW1lKSkge1xuICAgICAgICBjb25zdCB1bml0ID0gKChfYSA9IGZpbmFsS2V5ZnJhbWUubWF0Y2goLygtP1tcXGQuXSspKFthLXolXSopLykpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsyXSkgfHwgXCJcIjtcbiAgICAgICAgaWYgKHVuaXQpXG4gICAgICAgICAgICB0b1VuaXQgPSAodmFsdWUpID0+IHZhbHVlICsgdW5pdDtcbiAgICB9XG4gICAgcmV0dXJuIHRvVW5pdDtcbn1cblxuZXhwb3J0IHsgZ2V0VW5pdENvbnZlcnRlciB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js": -/*!************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hydrateKeyframes: function() { return /* binding */ hydrateKeyframes; },\n/* harmony export */ keyframesList: function() { return /* binding */ keyframesList; }\n/* harmony export */ });\nfunction hydrateKeyframes(keyframes, readInitialValue) {\n for (let i = 0; i < keyframes.length; i++) {\n if (keyframes[i] === null) {\n keyframes[i] = i ? keyframes[i - 1] : readInitialValue();\n }\n }\n return keyframes;\n}\nconst keyframesList = (keyframes) => Array.isArray(keyframes) ? keyframes : [keyframes];\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL2tleWZyYW1lcy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS91dGlscy9rZXlmcmFtZXMuZXMuanM/MmM3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBoeWRyYXRlS2V5ZnJhbWVzKGtleWZyYW1lcywgcmVhZEluaXRpYWxWYWx1ZSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5ZnJhbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChrZXlmcmFtZXNbaV0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIGtleWZyYW1lc1tpXSA9IGkgPyBrZXlmcmFtZXNbaSAtIDFdIDogcmVhZEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBrZXlmcmFtZXM7XG59XG5jb25zdCBrZXlmcmFtZXNMaXN0ID0gKGtleWZyYW1lcykgPT4gQXJyYXkuaXNBcnJheShrZXlmcmFtZXMpID8ga2V5ZnJhbWVzIDogW2tleWZyYW1lc107XG5cbmV4cG9ydCB7IGh5ZHJhdGVLZXlmcmFtZXMsIGtleWZyYW1lc0xpc3QgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/options.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/options.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getOptions: function() { return /* binding */ getOptions; }\n/* harmony export */ });\nconst getOptions = (options, key) => \n/**\n * TODO: Make test for this\n * Always return a new object otherwise delay is overwritten by results of stagger\n * and this results in no stagger\n */\noptions[key] ? Object.assign(Object.assign({}, options), options[key]) : Object.assign({}, options);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL29wdGlvbnMuZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2Qyw0Q0FBNEM7O0FBRW5FIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvdXRpbHMvb3B0aW9ucy5lcy5qcz82NjQwIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGdldE9wdGlvbnMgPSAob3B0aW9ucywga2V5KSA9PiBcbi8qKlxuICogVE9ETzogTWFrZSB0ZXN0IGZvciB0aGlzXG4gKiBBbHdheXMgcmV0dXJuIGEgbmV3IG9iamVjdCBvdGhlcndpc2UgZGVsYXkgaXMgb3ZlcndyaXR0ZW4gYnkgcmVzdWx0cyBvZiBzdGFnZ2VyXG4gKiBhbmQgdGhpcyByZXN1bHRzIGluIG5vIHN0YWdnZXJcbiAqL1xub3B0aW9uc1trZXldID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zKSwgb3B0aW9uc1trZXldKSA6IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuXG5leHBvcnQgeyBnZXRPcHRpb25zIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/options.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ stopAnimation: function() { return /* binding */ stopAnimation; }\n/* harmony export */ });\nfunction stopAnimation(animation, needsCommit = true) {\n if (!animation || animation.playState === \"finished\")\n return;\n // Suppress error thrown by WAAPI\n try {\n if (animation.stop) {\n animation.stop();\n }\n else {\n needsCommit && animation.commitStyles();\n animation.cancel();\n }\n }\n catch (e) { }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL3N0b3AtYW5pbWF0aW9uLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvdXRpbHMvc3RvcC1hbmltYXRpb24uZXMuanM/MzExNyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBzdG9wQW5pbWF0aW9uKGFuaW1hdGlvbiwgbmVlZHNDb21taXQgPSB0cnVlKSB7XG4gICAgaWYgKCFhbmltYXRpb24gfHwgYW5pbWF0aW9uLnBsYXlTdGF0ZSA9PT0gXCJmaW5pc2hlZFwiKVxuICAgICAgICByZXR1cm47XG4gICAgLy8gU3VwcHJlc3MgZXJyb3IgdGhyb3duIGJ5IFdBQVBJXG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKGFuaW1hdGlvbi5zdG9wKSB7XG4gICAgICAgICAgICBhbmltYXRpb24uc3RvcCgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNDb21taXQgJiYgYW5pbWF0aW9uLmNvbW1pdFN0eWxlcygpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLmNhbmNlbCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNhdGNoIChlKSB7IH1cbn1cblxuZXhwb3J0IHsgc3RvcEFuaW1hdGlvbiB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/stop-animation.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/style-object.es.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/style-object.es.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createStyles: function() { return /* binding */ createStyles; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transforms.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\");\n\n\n\nfunction createStyles(keyframes) {\n const initialKeyframes = {};\n const transformKeys = [];\n for (let key in keyframes) {\n const value = keyframes[key];\n if ((0,_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.isTransform)(key)) {\n if (_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformAlias[key])\n key = _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformAlias[key];\n transformKeys.push(key);\n key = (0,_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.asTransformCssVar)(key);\n }\n let initialKeyframe = Array.isArray(value) ? value[0] : value;\n /**\n * If this is a number and we have a default value type, convert the number\n * to this type.\n */\n const definition = _transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.transformDefinitions.get(key);\n if (definition) {\n initialKeyframe = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_1__.isNumber)(value)\n ? definition.toDefaultUnit(value)\n : value;\n }\n initialKeyframes[key] = initialKeyframe;\n }\n if (transformKeys.length) {\n initialKeyframes.transform = (0,_transforms_es_js__WEBPACK_IMPORTED_MODULE_0__.buildTransformTemplate)(transformKeys);\n }\n return initialKeyframes;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL3N0eWxlLW9iamVjdC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBNEM7QUFDc0Y7O0FBRWxJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDhEQUFXO0FBQ3ZCLGdCQUFnQiw2REFBYztBQUM5QixzQkFBc0IsNkRBQWM7QUFDcEM7QUFDQSxrQkFBa0Isb0VBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixtRUFBb0I7QUFDL0M7QUFDQSw4QkFBOEIsMERBQVE7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLHlFQUFzQjtBQUMzRDtBQUNBO0FBQ0E7O0FBRXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2FuaW1hdGUvdXRpbHMvc3R5bGUtb2JqZWN0LmVzLmpzPzk0MGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcbmltcG9ydCB7IGlzVHJhbnNmb3JtLCB0cmFuc2Zvcm1BbGlhcywgYXNUcmFuc2Zvcm1Dc3NWYXIsIHRyYW5zZm9ybURlZmluaXRpb25zLCBidWlsZFRyYW5zZm9ybVRlbXBsYXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1zLmVzLmpzJztcblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVzKGtleWZyYW1lcykge1xuICAgIGNvbnN0IGluaXRpYWxLZXlmcmFtZXMgPSB7fTtcbiAgICBjb25zdCB0cmFuc2Zvcm1LZXlzID0gW107XG4gICAgZm9yIChsZXQga2V5IGluIGtleWZyYW1lcykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGtleWZyYW1lc1trZXldO1xuICAgICAgICBpZiAoaXNUcmFuc2Zvcm0oa2V5KSkge1xuICAgICAgICAgICAgaWYgKHRyYW5zZm9ybUFsaWFzW2tleV0pXG4gICAgICAgICAgICAgICAga2V5ID0gdHJhbnNmb3JtQWxpYXNba2V5XTtcbiAgICAgICAgICAgIHRyYW5zZm9ybUtleXMucHVzaChrZXkpO1xuICAgICAgICAgICAga2V5ID0gYXNUcmFuc2Zvcm1Dc3NWYXIoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5pdGlhbEtleWZyYW1lID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhpcyBpcyBhIG51bWJlciBhbmQgd2UgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgdHlwZSwgY29udmVydCB0aGUgbnVtYmVyXG4gICAgICAgICAqIHRvIHRoaXMgdHlwZS5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSB0cmFuc2Zvcm1EZWZpbml0aW9ucy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgICAgICAgIGluaXRpYWxLZXlmcmFtZSA9IGlzTnVtYmVyKHZhbHVlKVxuICAgICAgICAgICAgICAgID8gZGVmaW5pdGlvbi50b0RlZmF1bHRVbml0KHZhbHVlKVxuICAgICAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaW5pdGlhbEtleWZyYW1lc1trZXldID0gaW5pdGlhbEtleWZyYW1lO1xuICAgIH1cbiAgICBpZiAodHJhbnNmb3JtS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgaW5pdGlhbEtleWZyYW1lcy50cmFuc2Zvcm0gPSBidWlsZFRyYW5zZm9ybVRlbXBsYXRlKHRyYW5zZm9ybUtleXMpO1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbEtleWZyYW1lcztcbn1cblxuZXhwb3J0IHsgY3JlYXRlU3R5bGVzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/style-object.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/style-string.es.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/style-string.es.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createStyleString: function() { return /* binding */ createStyleString; }\n/* harmony export */ });\n/* harmony import */ var _style_object_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style-object.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/style-object.es.js\");\n\n\nconst camelLetterToPipeLetter = (letter) => `-${letter.toLowerCase()}`;\nconst camelToPipeCase = (str) => str.replace(/[A-Z]/g, camelLetterToPipeLetter);\nfunction createStyleString(target = {}) {\n const styles = (0,_style_object_es_js__WEBPACK_IMPORTED_MODULE_0__.createStyles)(target);\n let style = \"\";\n for (const key in styles) {\n style += key.startsWith(\"--\") ? key : camelToPipeCase(key);\n style += `: ${styles[key]}; `;\n }\n return style;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL3N0eWxlLXN0cmluZy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFvRDs7QUFFcEQsZ0RBQWdELHFCQUFxQjtBQUNyRTtBQUNBLHNDQUFzQztBQUN0QyxtQkFBbUIsaUVBQVk7QUFDL0I7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGNBQWM7QUFDcEM7QUFDQTtBQUNBOztBQUU2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL3N0eWxlLXN0cmluZy5lcy5qcz9iNjUwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVN0eWxlcyB9IGZyb20gJy4vc3R5bGUtb2JqZWN0LmVzLmpzJztcblxuY29uc3QgY2FtZWxMZXR0ZXJUb1BpcGVMZXR0ZXIgPSAobGV0dGVyKSA9PiBgLSR7bGV0dGVyLnRvTG93ZXJDYXNlKCl9YDtcbmNvbnN0IGNhbWVsVG9QaXBlQ2FzZSA9IChzdHIpID0+IHN0ci5yZXBsYWNlKC9bQS1aXS9nLCBjYW1lbExldHRlclRvUGlwZUxldHRlcik7XG5mdW5jdGlvbiBjcmVhdGVTdHlsZVN0cmluZyh0YXJnZXQgPSB7fSkge1xuICAgIGNvbnN0IHN0eWxlcyA9IGNyZWF0ZVN0eWxlcyh0YXJnZXQpO1xuICAgIGxldCBzdHlsZSA9IFwiXCI7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc3R5bGVzKSB7XG4gICAgICAgIHN0eWxlICs9IGtleS5zdGFydHNXaXRoKFwiLS1cIikgPyBrZXkgOiBjYW1lbFRvUGlwZUNhc2Uoa2V5KTtcbiAgICAgICAgc3R5bGUgKz0gYDogJHtzdHlsZXNba2V5XX07IGA7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlU3R5bGVTdHJpbmcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/style-string.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addTransformToElement: function() { return /* binding */ addTransformToElement; },\n/* harmony export */ asTransformCssVar: function() { return /* binding */ asTransformCssVar; },\n/* harmony export */ axes: function() { return /* binding */ axes; },\n/* harmony export */ buildTransformTemplate: function() { return /* binding */ buildTransformTemplate; },\n/* harmony export */ compareTransformOrder: function() { return /* binding */ compareTransformOrder; },\n/* harmony export */ isTransform: function() { return /* binding */ isTransform; },\n/* harmony export */ transformAlias: function() { return /* binding */ transformAlias; },\n/* harmony export */ transformDefinitions: function() { return /* binding */ transformDefinitions; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _data_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data.es.js */ \"./node_modules/@motionone/dom/dist/animate/data.es.js\");\n\n\n\n/**\n * A list of all transformable axes. We'll use this list to generated a version\n * of each axes for each transform.\n */\nconst axes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * An ordered array of each transformable value. By default, transform values\n * will be sorted to this order.\n */\nconst order = [\"translate\", \"scale\", \"rotate\", \"skew\"];\nconst transformAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n};\nconst rotation = {\n syntax: \"<angle>\",\n initialValue: \"0deg\",\n toDefaultUnit: (v) => v + \"deg\",\n};\nconst baseTransformProperties = {\n translate: {\n syntax: \"<length-percentage>\",\n initialValue: \"0px\",\n toDefaultUnit: (v) => v + \"px\",\n },\n rotate: rotation,\n scale: {\n syntax: \"<number>\",\n initialValue: 1,\n toDefaultUnit: _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn,\n },\n skew: rotation,\n};\nconst transformDefinitions = new Map();\nconst asTransformCssVar = (name) => `--motion-${name}`;\n/**\n * Generate a list of every possible transform key\n */\nconst transforms = [\"x\", \"y\", \"z\"];\norder.forEach((name) => {\n axes.forEach((axis) => {\n transforms.push(name + axis);\n transformDefinitions.set(asTransformCssVar(name + axis), baseTransformProperties[name]);\n });\n});\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nconst compareTransformOrder = (a, b) => transforms.indexOf(a) - transforms.indexOf(b);\n/**\n * Provide a quick way to check if a string is the name of a transform\n */\nconst transformLookup = new Set(transforms);\nconst isTransform = (name) => transformLookup.has(name);\nconst addTransformToElement = (element, name) => {\n // Map x to translateX etc\n if (transformAlias[name])\n name = transformAlias[name];\n const { transforms } = (0,_data_es_js__WEBPACK_IMPORTED_MODULE_1__.getAnimationData)(element);\n (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.addUniqueItem)(transforms, name);\n /**\n * TODO: An optimisation here could be to cache the transform in element data\n * and only update if this has changed.\n */\n element.style.transform = buildTransformTemplate(transforms);\n};\nconst buildTransformTemplate = (transforms) => transforms\n .sort(compareTransformOrder)\n .reduce(transformListToString, \"\")\n .trim();\nconst transformListToString = (template, name) => `${template} ${name}(var(${asTransformCssVar(name)}))`;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9hbmltYXRlL3V0aWxzL3RyYW5zZm9ybXMuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUE2RDtBQUNaOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qix3REFBVTtBQUNqQyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELEtBQUs7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGFBQWEsRUFBRSw2REFBZ0I7QUFDM0MsSUFBSSwrREFBYTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxVQUFVLEVBQUUsS0FBSyxPQUFPLHdCQUF3Qjs7QUFFdUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvYW5pbWF0ZS91dGlscy90cmFuc2Zvcm1zLmVzLmpzPzE4YzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9vcFJldHVybiwgYWRkVW5pcXVlSXRlbSB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0QW5pbWF0aW9uRGF0YSB9IGZyb20gJy4uL2RhdGEuZXMuanMnO1xuXG4vKipcbiAqIEEgbGlzdCBvZiBhbGwgdHJhbnNmb3JtYWJsZSBheGVzLiBXZSdsbCB1c2UgdGhpcyBsaXN0IHRvIGdlbmVyYXRlZCBhIHZlcnNpb25cbiAqIG9mIGVhY2ggYXhlcyBmb3IgZWFjaCB0cmFuc2Zvcm0uXG4gKi9cbmNvbnN0IGF4ZXMgPSBbXCJcIiwgXCJYXCIsIFwiWVwiLCBcIlpcIl07XG4vKipcbiAqIEFuIG9yZGVyZWQgYXJyYXkgb2YgZWFjaCB0cmFuc2Zvcm1hYmxlIHZhbHVlLiBCeSBkZWZhdWx0LCB0cmFuc2Zvcm0gdmFsdWVzXG4gKiB3aWxsIGJlIHNvcnRlZCB0byB0aGlzIG9yZGVyLlxuICovXG5jb25zdCBvcmRlciA9IFtcInRyYW5zbGF0ZVwiLCBcInNjYWxlXCIsIFwicm90YXRlXCIsIFwic2tld1wiXTtcbmNvbnN0IHRyYW5zZm9ybUFsaWFzID0ge1xuICAgIHg6IFwidHJhbnNsYXRlWFwiLFxuICAgIHk6IFwidHJhbnNsYXRlWVwiLFxuICAgIHo6IFwidHJhbnNsYXRlWlwiLFxufTtcbmNvbnN0IHJvdGF0aW9uID0ge1xuICAgIHN5bnRheDogXCI8YW5nbGU+XCIsXG4gICAgaW5pdGlhbFZhbHVlOiBcIjBkZWdcIixcbiAgICB0b0RlZmF1bHRVbml0OiAodikgPT4gdiArIFwiZGVnXCIsXG59O1xuY29uc3QgYmFzZVRyYW5zZm9ybVByb3BlcnRpZXMgPSB7XG4gICAgdHJhbnNsYXRlOiB7XG4gICAgICAgIHN5bnRheDogXCI8bGVuZ3RoLXBlcmNlbnRhZ2U+XCIsXG4gICAgICAgIGluaXRpYWxWYWx1ZTogXCIwcHhcIixcbiAgICAgICAgdG9EZWZhdWx0VW5pdDogKHYpID0+IHYgKyBcInB4XCIsXG4gICAgfSxcbiAgICByb3RhdGU6IHJvdGF0aW9uLFxuICAgIHNjYWxlOiB7XG4gICAgICAgIHN5bnRheDogXCI8bnVtYmVyPlwiLFxuICAgICAgICBpbml0aWFsVmFsdWU6IDEsXG4gICAgICAgIHRvRGVmYXVsdFVuaXQ6IG5vb3BSZXR1cm4sXG4gICAgfSxcbiAgICBza2V3OiByb3RhdGlvbixcbn07XG5jb25zdCB0cmFuc2Zvcm1EZWZpbml0aW9ucyA9IG5ldyBNYXAoKTtcbmNvbnN0IGFzVHJhbnNmb3JtQ3NzVmFyID0gKG5hbWUpID0+IGAtLW1vdGlvbi0ke25hbWV9YDtcbi8qKlxuICogR2VuZXJhdGUgYSBsaXN0IG9mIGV2ZXJ5IHBvc3NpYmxlIHRyYW5zZm9ybSBrZXlcbiAqL1xuY29uc3QgdHJhbnNmb3JtcyA9IFtcInhcIiwgXCJ5XCIsIFwielwiXTtcbm9yZGVyLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICBheGVzLmZvckVhY2goKGF4aXMpID0+IHtcbiAgICAgICAgdHJhbnNmb3Jtcy5wdXNoKG5hbWUgKyBheGlzKTtcbiAgICAgICAgdHJhbnNmb3JtRGVmaW5pdGlvbnMuc2V0KGFzVHJhbnNmb3JtQ3NzVmFyKG5hbWUgKyBheGlzKSwgYmFzZVRyYW5zZm9ybVByb3BlcnRpZXNbbmFtZV0pO1xuICAgIH0pO1xufSk7XG4vKipcbiAqIEEgZnVuY3Rpb24gdG8gdXNlIHdpdGggQXJyYXkuc29ydCB0byBzb3J0IHRyYW5zZm9ybSBrZXlzIGJ5IHRoZWlyIGRlZmF1bHQgb3JkZXIuXG4gKi9cbmNvbnN0IGNvbXBhcmVUcmFuc2Zvcm1PcmRlciA9IChhLCBiKSA9PiB0cmFuc2Zvcm1zLmluZGV4T2YoYSkgLSB0cmFuc2Zvcm1zLmluZGV4T2YoYik7XG4vKipcbiAqIFByb3ZpZGUgYSBxdWljayB3YXkgdG8gY2hlY2sgaWYgYSBzdHJpbmcgaXMgdGhlIG5hbWUgb2YgYSB0cmFuc2Zvcm1cbiAqL1xuY29uc3QgdHJhbnNmb3JtTG9va3VwID0gbmV3IFNldCh0cmFuc2Zvcm1zKTtcbmNvbnN0IGlzVHJhbnNmb3JtID0gKG5hbWUpID0+IHRyYW5zZm9ybUxvb2t1cC5oYXMobmFtZSk7XG5jb25zdCBhZGRUcmFuc2Zvcm1Ub0VsZW1lbnQgPSAoZWxlbWVudCwgbmFtZSkgPT4ge1xuICAgIC8vIE1hcCB4IHRvIHRyYW5zbGF0ZVggZXRjXG4gICAgaWYgKHRyYW5zZm9ybUFsaWFzW25hbWVdKVxuICAgICAgICBuYW1lID0gdHJhbnNmb3JtQWxpYXNbbmFtZV07XG4gICAgY29uc3QgeyB0cmFuc2Zvcm1zIH0gPSBnZXRBbmltYXRpb25EYXRhKGVsZW1lbnQpO1xuICAgIGFkZFVuaXF1ZUl0ZW0odHJhbnNmb3JtcywgbmFtZSk7XG4gICAgLyoqXG4gICAgICogVE9ETzogQW4gb3B0aW1pc2F0aW9uIGhlcmUgY291bGQgYmUgdG8gY2FjaGUgdGhlIHRyYW5zZm9ybSBpbiBlbGVtZW50IGRhdGFcbiAgICAgKiBhbmQgb25seSB1cGRhdGUgaWYgdGhpcyBoYXMgY2hhbmdlZC5cbiAgICAgKi9cbiAgICBlbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGJ1aWxkVHJhbnNmb3JtVGVtcGxhdGUodHJhbnNmb3Jtcyk7XG59O1xuY29uc3QgYnVpbGRUcmFuc2Zvcm1UZW1wbGF0ZSA9ICh0cmFuc2Zvcm1zKSA9PiB0cmFuc2Zvcm1zXG4gICAgLnNvcnQoY29tcGFyZVRyYW5zZm9ybU9yZGVyKVxuICAgIC5yZWR1Y2UodHJhbnNmb3JtTGlzdFRvU3RyaW5nLCBcIlwiKVxuICAgIC50cmltKCk7XG5jb25zdCB0cmFuc2Zvcm1MaXN0VG9TdHJpbmcgPSAodGVtcGxhdGUsIG5hbWUpID0+IGAke3RlbXBsYXRlfSAke25hbWV9KHZhcigke2FzVHJhbnNmb3JtQ3NzVmFyKG5hbWUpfSkpYDtcblxuZXhwb3J0IHsgYWRkVHJhbnNmb3JtVG9FbGVtZW50LCBhc1RyYW5zZm9ybUNzc1ZhciwgYXhlcywgYnVpbGRUcmFuc2Zvcm1UZW1wbGF0ZSwgY29tcGFyZVRyYW5zZm9ybU9yZGVyLCBpc1RyYW5zZm9ybSwgdHJhbnNmb3JtQWxpYXMsIHRyYW5zZm9ybURlZmluaXRpb25zIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/easing/create-generator-easing.es.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/easing/create-generator-easing.es.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createGeneratorEasing: function() { return /* binding */ createGeneratorEasing; }\n/* harmony export */ });\n/* harmony import */ var _motionone_generators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/generators */ \"./node_modules/@motionone/generators/dist/index.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _animate_utils_get_unit_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../animate/utils/get-unit.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/get-unit.es.js\");\n/* harmony import */ var _animate_utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../animate/utils/transforms.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/transforms.es.js\");\n/* harmony import */ var _animate_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../animate/utils/get-style-name.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js\");\n\n\n\n\n\n\nfunction canGenerate(value) {\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(value) && !isNaN(value);\n}\nfunction getAsNumber(value) {\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(value) ? parseFloat(value) : value;\n}\nfunction createGeneratorEasing(createGenerator) {\n const keyframesCache = new WeakMap();\n return (options = {}) => {\n const generatorCache = new Map();\n const getGenerator = (from = 0, to = 100, velocity = 0, isScale = false) => {\n const key = `${from}-${to}-${velocity}-${isScale}`;\n if (!generatorCache.has(key)) {\n generatorCache.set(key, createGenerator(Object.assign({ from,\n to,\n velocity, restSpeed: isScale ? 0.05 : 2, restDistance: isScale ? 0.01 : 0.5 }, options)));\n }\n return generatorCache.get(key);\n };\n const getKeyframes = (generator, toUnit) => {\n if (!keyframesCache.has(generator)) {\n keyframesCache.set(generator, (0,_motionone_generators__WEBPACK_IMPORTED_MODULE_1__.pregenerateKeyframes)(generator, toUnit));\n }\n return keyframesCache.get(generator);\n };\n return {\n createAnimation: (keyframes, shouldGenerate = true, getOrigin, name, motionValue) => {\n let settings;\n let origin;\n let target;\n let velocity = 0;\n let toUnit = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn;\n const numKeyframes = keyframes.length;\n /**\n * If we should generate an animation for this value, run some preperation\n * like resolving target/origin, finding a unit (if any) and determine if\n * it is actually possible to generate.\n */\n if (shouldGenerate) {\n toUnit = (0,_animate_utils_get_unit_es_js__WEBPACK_IMPORTED_MODULE_2__.getUnitConverter)(keyframes, name ? _animate_utils_transforms_es_js__WEBPACK_IMPORTED_MODULE_3__.transformDefinitions.get((0,_animate_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_4__.getStyleName)(name)) : undefined);\n const targetDefinition = keyframes[numKeyframes - 1];\n target = getAsNumber(targetDefinition);\n if (numKeyframes > 1 && keyframes[0] !== null) {\n /**\n * If we have multiple keyframes, take the initial keyframe as the origin.\n */\n origin = getAsNumber(keyframes[0]);\n }\n else {\n const prevGenerator = motionValue === null || motionValue === void 0 ? void 0 : motionValue.generator;\n /**\n * If we have an existing generator for this value we can use it to resolve\n * the animation's current value and velocity.\n */\n if (prevGenerator) {\n /**\n * If we have a generator for this value we can use it to resolve\n * the animations's current value and velocity.\n */\n const { animation, generatorStartTime } = motionValue;\n const startTime = (animation === null || animation === void 0 ? void 0 : animation.startTime) || generatorStartTime || 0;\n const currentTime = (animation === null || animation === void 0 ? void 0 : animation.currentTime) || performance.now() - startTime;\n const prevGeneratorCurrent = prevGenerator(currentTime).current;\n origin = prevGeneratorCurrent;\n velocity = (0,_motionone_generators__WEBPACK_IMPORTED_MODULE_1__.calcGeneratorVelocity)((t) => prevGenerator(t).current, currentTime, prevGeneratorCurrent);\n }\n else if (getOrigin) {\n /**\n * As a last resort, read the origin from the DOM.\n */\n origin = getAsNumber(getOrigin());\n }\n }\n }\n /**\n * If we've determined it is possible to generate an animation, do so.\n */\n if (canGenerate(origin) && canGenerate(target)) {\n const generator = getGenerator(origin, target, velocity, name === null || name === void 0 ? void 0 : name.includes(\"scale\"));\n settings = Object.assign(Object.assign({}, getKeyframes(generator, toUnit)), { easing: \"linear\" });\n // TODO Add test for this\n if (motionValue) {\n motionValue.generator = generator;\n motionValue.generatorStartTime = performance.now();\n }\n }\n /**\n * If by now we haven't generated a set of keyframes, create a generic generator\n * based on the provided props that animates from 0-100 to fetch a rough\n * \"overshootDuration\" - the moment when the generator first hits the animation target.\n * Then return animation settings that will run a normal animation for that duration.\n */\n if (!settings) {\n const keyframesMetadata = getKeyframes(getGenerator(0, 100));\n settings = {\n easing: \"ease\",\n duration: keyframesMetadata.overshootDuration,\n };\n }\n return settings;\n },\n };\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9lYXNpbmcvY3JlYXRlLWdlbmVyYXRvci1lYXNpbmcuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9GO0FBQ2xCO0FBQ0M7QUFDTTtBQUNKOztBQUVyRTtBQUNBLFdBQVcsMERBQVE7QUFDbkI7QUFDQTtBQUNBLFdBQVcsMERBQVE7QUFDbkI7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSwyQkFBMkIsS0FBSyxHQUFHLEdBQUcsR0FBRyxTQUFTLEdBQUcsUUFBUTtBQUM3RDtBQUNBLHdFQUF3RTtBQUN4RTtBQUNBLGlHQUFpRztBQUNqRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLDJFQUFvQjtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsd0RBQVU7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsK0VBQWdCLG1CQUFtQixpRkFBb0IsS0FBSyxpRkFBWTtBQUNyRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxnQ0FBZ0M7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsNEVBQXFCO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsc0NBQXNDLGtCQUFrQjtBQUNySDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvZWFzaW5nL2NyZWF0ZS1nZW5lcmF0b3ItZWFzaW5nLmVzLmpzPzFiYzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FsY0dlbmVyYXRvclZlbG9jaXR5LCBwcmVnZW5lcmF0ZUtleWZyYW1lcyB9IGZyb20gJ0Btb3Rpb25vbmUvZ2VuZXJhdG9ycyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcsIG5vb3BSZXR1cm4gfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcbmltcG9ydCB7IGdldFVuaXRDb252ZXJ0ZXIgfSBmcm9tICcuLi9hbmltYXRlL3V0aWxzL2dldC11bml0LmVzLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybURlZmluaXRpb25zIH0gZnJvbSAnLi4vYW5pbWF0ZS91dGlscy90cmFuc2Zvcm1zLmVzLmpzJztcbmltcG9ydCB7IGdldFN0eWxlTmFtZSB9IGZyb20gJy4uL2FuaW1hdGUvdXRpbHMvZ2V0LXN0eWxlLW5hbWUuZXMuanMnO1xuXG5mdW5jdGlvbiBjYW5HZW5lcmF0ZSh2YWx1ZSkge1xuICAgIHJldHVybiBpc051bWJlcih2YWx1ZSkgJiYgIWlzTmFOKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIGdldEFzTnVtYmVyKHZhbHVlKSB7XG4gICAgcmV0dXJuIGlzU3RyaW5nKHZhbHVlKSA/IHBhcnNlRmxvYXQodmFsdWUpIDogdmFsdWU7XG59XG5mdW5jdGlvbiBjcmVhdGVHZW5lcmF0b3JFYXNpbmcoY3JlYXRlR2VuZXJhdG9yKSB7XG4gICAgY29uc3Qga2V5ZnJhbWVzQ2FjaGUgPSBuZXcgV2Vha01hcCgpO1xuICAgIHJldHVybiAob3B0aW9ucyA9IHt9KSA9PiB7XG4gICAgICAgIGNvbnN0IGdlbmVyYXRvckNhY2hlID0gbmV3IE1hcCgpO1xuICAgICAgICBjb25zdCBnZXRHZW5lcmF0b3IgPSAoZnJvbSA9IDAsIHRvID0gMTAwLCB2ZWxvY2l0eSA9IDAsIGlzU2NhbGUgPSBmYWxzZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gYCR7ZnJvbX0tJHt0b30tJHt2ZWxvY2l0eX0tJHtpc1NjYWxlfWA7XG4gICAgICAgICAgICBpZiAoIWdlbmVyYXRvckNhY2hlLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgZ2VuZXJhdG9yQ2FjaGUuc2V0KGtleSwgY3JlYXRlR2VuZXJhdG9yKE9iamVjdC5hc3NpZ24oeyBmcm9tLFxuICAgICAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICAgICAgdmVsb2NpdHksIHJlc3RTcGVlZDogaXNTY2FsZSA/IDAuMDUgOiAyLCByZXN0RGlzdGFuY2U6IGlzU2NhbGUgPyAwLjAxIDogMC41IH0sIG9wdGlvbnMpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2VuZXJhdG9yQ2FjaGUuZ2V0KGtleSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGdldEtleWZyYW1lcyA9IChnZW5lcmF0b3IsIHRvVW5pdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFrZXlmcmFtZXNDYWNoZS5oYXMoZ2VuZXJhdG9yKSkge1xuICAgICAgICAgICAgICAgIGtleWZyYW1lc0NhY2hlLnNldChnZW5lcmF0b3IsIHByZWdlbmVyYXRlS2V5ZnJhbWVzKGdlbmVyYXRvciwgdG9Vbml0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ga2V5ZnJhbWVzQ2FjaGUuZ2V0KGdlbmVyYXRvcik7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjcmVhdGVBbmltYXRpb246IChrZXlmcmFtZXMsIHNob3VsZEdlbmVyYXRlID0gdHJ1ZSwgZ2V0T3JpZ2luLCBuYW1lLCBtb3Rpb25WYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBzZXR0aW5ncztcbiAgICAgICAgICAgICAgICBsZXQgb3JpZ2luO1xuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQ7XG4gICAgICAgICAgICAgICAgbGV0IHZlbG9jaXR5ID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgdG9Vbml0ID0gbm9vcFJldHVybjtcbiAgICAgICAgICAgICAgICBjb25zdCBudW1LZXlmcmFtZXMgPSBrZXlmcmFtZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIElmIHdlIHNob3VsZCBnZW5lcmF0ZSBhbiBhbmltYXRpb24gZm9yIHRoaXMgdmFsdWUsIHJ1biBzb21lIHByZXBlcmF0aW9uXG4gICAgICAgICAgICAgICAgICogbGlrZSByZXNvbHZpbmcgdGFyZ2V0L29yaWdpbiwgZmluZGluZyBhIHVuaXQgKGlmIGFueSkgYW5kIGRldGVybWluZSBpZlxuICAgICAgICAgICAgICAgICAqIGl0IGlzIGFjdHVhbGx5IHBvc3NpYmxlIHRvIGdlbmVyYXRlLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRHZW5lcmF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0b1VuaXQgPSBnZXRVbml0Q29udmVydGVyKGtleWZyYW1lcywgbmFtZSA/IHRyYW5zZm9ybURlZmluaXRpb25zLmdldChnZXRTdHlsZU5hbWUobmFtZSkpIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0RGVmaW5pdGlvbiA9IGtleWZyYW1lc1tudW1LZXlmcmFtZXMgLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZ2V0QXNOdW1iZXIodGFyZ2V0RGVmaW5pdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChudW1LZXlmcmFtZXMgPiAxICYmIGtleWZyYW1lc1swXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgKiBJZiB3ZSBoYXZlIG11bHRpcGxlIGtleWZyYW1lcywgdGFrZSB0aGUgaW5pdGlhbCBrZXlmcmFtZSBhcyB0aGUgb3JpZ2luLlxuICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4gPSBnZXRBc051bWJlcihrZXlmcmFtZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldkdlbmVyYXRvciA9IG1vdGlvblZhbHVlID09PSBudWxsIHx8IG1vdGlvblZhbHVlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBtb3Rpb25WYWx1ZS5nZW5lcmF0b3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAqIElmIHdlIGhhdmUgYW4gZXhpc3RpbmcgZ2VuZXJhdG9yIGZvciB0aGlzIHZhbHVlIHdlIGNhbiB1c2UgaXQgdG8gcmVzb2x2ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIGFuaW1hdGlvbidzIGN1cnJlbnQgdmFsdWUgYW5kIHZlbG9jaXR5LlxuICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJldkdlbmVyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIElmIHdlIGhhdmUgYSBnZW5lcmF0b3IgZm9yIHRoaXMgdmFsdWUgd2UgY2FuIHVzZSBpdCB0byByZXNvbHZlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIGFuaW1hdGlvbnMncyBjdXJyZW50IHZhbHVlIGFuZCB2ZWxvY2l0eS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGFuaW1hdGlvbiwgZ2VuZXJhdG9yU3RhcnRUaW1lIH0gPSBtb3Rpb25WYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydFRpbWUgPSAoYW5pbWF0aW9uID09PSBudWxsIHx8IGFuaW1hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYW5pbWF0aW9uLnN0YXJ0VGltZSkgfHwgZ2VuZXJhdG9yU3RhcnRUaW1lIHx8IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSAoYW5pbWF0aW9uID09PSBudWxsIHx8IGFuaW1hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYW5pbWF0aW9uLmN1cnJlbnRUaW1lKSB8fCBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2R2VuZXJhdG9yQ3VycmVudCA9IHByZXZHZW5lcmF0b3IoY3VycmVudFRpbWUpLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luID0gcHJldkdlbmVyYXRvckN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVsb2NpdHkgPSBjYWxjR2VuZXJhdG9yVmVsb2NpdHkoKHQpID0+IHByZXZHZW5lcmF0b3IodCkuY3VycmVudCwgY3VycmVudFRpbWUsIHByZXZHZW5lcmF0b3JDdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGdldE9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEFzIGEgbGFzdCByZXNvcnQsIHJlYWQgdGhlIG9yaWdpbiBmcm9tIHRoZSBET00uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luID0gZ2V0QXNOdW1iZXIoZ2V0T3JpZ2luKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIElmIHdlJ3ZlIGRldGVybWluZWQgaXQgaXMgcG9zc2libGUgdG8gZ2VuZXJhdGUgYW4gYW5pbWF0aW9uLCBkbyBzby5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBpZiAoY2FuR2VuZXJhdGUob3JpZ2luKSAmJiBjYW5HZW5lcmF0ZSh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdlbmVyYXRvciA9IGdldEdlbmVyYXRvcihvcmlnaW4sIHRhcmdldCwgdmVsb2NpdHksIG5hbWUgPT09IG51bGwgfHwgbmFtZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogbmFtZS5pbmNsdWRlcyhcInNjYWxlXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEtleWZyYW1lcyhnZW5lcmF0b3IsIHRvVW5pdCkpLCB7IGVhc2luZzogXCJsaW5lYXJcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyBBZGQgdGVzdCBmb3IgdGhpc1xuICAgICAgICAgICAgICAgICAgICBpZiAobW90aW9uVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vdGlvblZhbHVlLmdlbmVyYXRvciA9IGdlbmVyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vdGlvblZhbHVlLmdlbmVyYXRvclN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIElmIGJ5IG5vdyB3ZSBoYXZlbid0IGdlbmVyYXRlZCBhIHNldCBvZiBrZXlmcmFtZXMsIGNyZWF0ZSBhIGdlbmVyaWMgZ2VuZXJhdG9yXG4gICAgICAgICAgICAgICAgICogYmFzZWQgb24gdGhlIHByb3ZpZGVkIHByb3BzIHRoYXQgYW5pbWF0ZXMgZnJvbSAwLTEwMCB0byBmZXRjaCBhIHJvdWdoXG4gICAgICAgICAgICAgICAgICogXCJvdmVyc2hvb3REdXJhdGlvblwiIC0gdGhlIG1vbWVudCB3aGVuIHRoZSBnZW5lcmF0b3IgZmlyc3QgaGl0cyB0aGUgYW5pbWF0aW9uIHRhcmdldC5cbiAgICAgICAgICAgICAgICAgKiBUaGVuIHJldHVybiBhbmltYXRpb24gc2V0dGluZ3MgdGhhdCB3aWxsIHJ1biBhIG5vcm1hbCBhbmltYXRpb24gZm9yIHRoYXQgZHVyYXRpb24uXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlmcmFtZXNNZXRhZGF0YSA9IGdldEtleWZyYW1lcyhnZXRHZW5lcmF0b3IoMCwgMTAwKSk7XG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmdzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiBcImVhc2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBrZXlmcmFtZXNNZXRhZGF0YS5vdmVyc2hvb3REdXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldHRpbmdzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9O1xufVxuXG5leHBvcnQgeyBjcmVhdGVHZW5lcmF0b3JFYXNpbmcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/easing/create-generator-easing.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/easing/glide/index.es.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/easing/glide/index.es.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ glide: function() { return /* binding */ glide; }\n/* harmony export */ });\n/* harmony import */ var _motionone_generators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/generators */ \"./node_modules/@motionone/generators/dist/index.es.js\");\n/* harmony import */ var _create_generator_easing_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../create-generator-easing.es.js */ \"./node_modules/@motionone/dom/dist/easing/create-generator-easing.es.js\");\n\n\n\nconst glide = (0,_create_generator_easing_es_js__WEBPACK_IMPORTED_MODULE_0__.createGeneratorEasing)(_motionone_generators__WEBPACK_IMPORTED_MODULE_1__.glide);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9lYXNpbmcvZ2xpZGUvaW5kZXguZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXlEO0FBQ2dCOztBQUV6RSxjQUFjLHFGQUFxQixDQUFDLHdEQUFPOztBQUUxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9lYXNpbmcvZ2xpZGUvaW5kZXguZXMuanM/MTM0ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnbGlkZSBhcyBnbGlkZSQxIH0gZnJvbSAnQG1vdGlvbm9uZS9nZW5lcmF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZUdlbmVyYXRvckVhc2luZyB9IGZyb20gJy4uL2NyZWF0ZS1nZW5lcmF0b3ItZWFzaW5nLmVzLmpzJztcblxuY29uc3QgZ2xpZGUgPSBjcmVhdGVHZW5lcmF0b3JFYXNpbmcoZ2xpZGUkMSk7XG5cbmV4cG9ydCB7IGdsaWRlIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/easing/glide/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/easing/spring/index.es.js": -/*!********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/easing/spring/index.es.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ spring: function() { return /* binding */ spring; }\n/* harmony export */ });\n/* harmony import */ var _motionone_generators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/generators */ \"./node_modules/@motionone/generators/dist/index.es.js\");\n/* harmony import */ var _create_generator_easing_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../create-generator-easing.es.js */ \"./node_modules/@motionone/dom/dist/easing/create-generator-easing.es.js\");\n\n\n\nconst spring = (0,_create_generator_easing_es_js__WEBPACK_IMPORTED_MODULE_0__.createGeneratorEasing)(_motionone_generators__WEBPACK_IMPORTED_MODULE_1__.spring);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9lYXNpbmcvc3ByaW5nL2luZGV4LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUEyRDtBQUNjOztBQUV6RSxlQUFlLHFGQUFxQixDQUFDLHlEQUFROztBQUUzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9lYXNpbmcvc3ByaW5nL2luZGV4LmVzLmpzPzk0ZmIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3ByaW5nIGFzIHNwcmluZyQxIH0gZnJvbSAnQG1vdGlvbm9uZS9nZW5lcmF0b3JzJztcbmltcG9ydCB7IGNyZWF0ZUdlbmVyYXRvckVhc2luZyB9IGZyb20gJy4uL2NyZWF0ZS1nZW5lcmF0b3ItZWFzaW5nLmVzLmpzJztcblxuY29uc3Qgc3ByaW5nID0gY3JlYXRlR2VuZXJhdG9yRWFzaW5nKHNwcmluZyQxKTtcblxuZXhwb3J0IHsgc3ByaW5nIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/easing/spring/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/in-view.es.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/in-view.es.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ inView: function() { return /* binding */ inView; }\n/* harmony export */ });\n/* harmony import */ var _utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/resolve-elements.es.js */ \"./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\n\nconst thresholds = {\n any: 0,\n all: 1,\n};\nfunction inView(elementOrSelector, onStart, { root, margin: rootMargin, amount = \"any\" } = {}) {\n /**\n * If this browser doesn't support IntersectionObserver, return a dummy stop function.\n * Default triggering of onStart is tricky - it could be used for starting/stopping\n * videos, lazy loading content etc. We could provide an option to enable a fallback, or\n * provide a fallback callback option.\n */\n if (typeof IntersectionObserver === \"undefined\") {\n return () => { };\n }\n const elements = (0,_utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_0__.resolveElements)(elementOrSelector);\n const activeIntersections = new WeakMap();\n const onIntersectionChange = (entries) => {\n entries.forEach((entry) => {\n const onEnd = activeIntersections.get(entry.target);\n /**\n * If there's no change to the intersection, we don't need to\n * do anything here.\n */\n if (entry.isIntersecting === Boolean(onEnd))\n return;\n if (entry.isIntersecting) {\n const newOnEnd = onStart(entry);\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_1__.isFunction)(newOnEnd)) {\n activeIntersections.set(entry.target, newOnEnd);\n }\n else {\n observer.unobserve(entry.target);\n }\n }\n else if (onEnd) {\n onEnd(entry);\n activeIntersections.delete(entry.target);\n }\n });\n };\n const observer = new IntersectionObserver(onIntersectionChange, {\n root,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholds[amount],\n });\n elements.forEach((element) => observer.observe(element));\n return () => observer.disconnect();\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9pbi12aWV3LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFrRTtBQUNwQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsMkNBQTJDLElBQUk7QUFDN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDhFQUFlO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0REFBVTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFa0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvZ2VzdHVyZXMvaW4tdmlldy5lcy5qcz9hYzBiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmVFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL3Jlc29sdmUtZWxlbWVudHMuZXMuanMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuXG5jb25zdCB0aHJlc2hvbGRzID0ge1xuICAgIGFueTogMCxcbiAgICBhbGw6IDEsXG59O1xuZnVuY3Rpb24gaW5WaWV3KGVsZW1lbnRPclNlbGVjdG9yLCBvblN0YXJ0LCB7IHJvb3QsIG1hcmdpbjogcm9vdE1hcmdpbiwgYW1vdW50ID0gXCJhbnlcIiB9ID0ge30pIHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGlzIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IEludGVyc2VjdGlvbk9ic2VydmVyLCByZXR1cm4gYSBkdW1teSBzdG9wIGZ1bmN0aW9uLlxuICAgICAqIERlZmF1bHQgdHJpZ2dlcmluZyBvZiBvblN0YXJ0IGlzIHRyaWNreSAtIGl0IGNvdWxkIGJlIHVzZWQgZm9yIHN0YXJ0aW5nL3N0b3BwaW5nXG4gICAgICogdmlkZW9zLCBsYXp5IGxvYWRpbmcgY29udGVudCBldGMuIFdlIGNvdWxkIHByb3ZpZGUgYW4gb3B0aW9uIHRvIGVuYWJsZSBhIGZhbGxiYWNrLCBvclxuICAgICAqIHByb3ZpZGUgYSBmYWxsYmFjayBjYWxsYmFjayBvcHRpb24uXG4gICAgICovXG4gICAgaWYgKHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gKCkgPT4geyB9O1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50cyA9IHJlc29sdmVFbGVtZW50cyhlbGVtZW50T3JTZWxlY3Rvcik7XG4gICAgY29uc3QgYWN0aXZlSW50ZXJzZWN0aW9ucyA9IG5ldyBXZWFrTWFwKCk7XG4gICAgY29uc3Qgb25JbnRlcnNlY3Rpb25DaGFuZ2UgPSAoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvbkVuZCA9IGFjdGl2ZUludGVyc2VjdGlvbnMuZ2V0KGVudHJ5LnRhcmdldCk7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIElmIHRoZXJlJ3Mgbm8gY2hhbmdlIHRvIHRoZSBpbnRlcnNlY3Rpb24sIHdlIGRvbid0IG5lZWQgdG9cbiAgICAgICAgICAgICAqIGRvIGFueXRoaW5nIGhlcmUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZyA9PT0gQm9vbGVhbihvbkVuZCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3T25FbmQgPSBvblN0YXJ0KGVudHJ5KTtcbiAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihuZXdPbkVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW50ZXJzZWN0aW9ucy5zZXQoZW50cnkudGFyZ2V0LCBuZXdPbkVuZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZW50cnkudGFyZ2V0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChvbkVuZCkge1xuICAgICAgICAgICAgICAgIG9uRW5kKGVudHJ5KTtcbiAgICAgICAgICAgICAgICBhY3RpdmVJbnRlcnNlY3Rpb25zLmRlbGV0ZShlbnRyeS50YXJnZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKG9uSW50ZXJzZWN0aW9uQ2hhbmdlLCB7XG4gICAgICAgIHJvb3QsXG4gICAgICAgIHJvb3RNYXJnaW4sXG4gICAgICAgIHRocmVzaG9sZDogdHlwZW9mIGFtb3VudCA9PT0gXCJudW1iZXJcIiA/IGFtb3VudCA6IHRocmVzaG9sZHNbYW1vdW50XSxcbiAgICB9KTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpKTtcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xufVxuXG5leHBvcnQgeyBpblZpZXcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/in-view.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/resize/handle-element.es.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/resize/handle-element.es.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resizeElement: function() { return /* binding */ resizeElement; }\n/* harmony export */ });\n/* harmony import */ var _utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/resolve-elements.es.js */ \"./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js\");\n\n\nconst resizeHandlers = new WeakMap();\nlet observer;\nfunction getElementSize(target, borderBoxSize) {\n if (borderBoxSize) {\n const { inlineSize, blockSize } = borderBoxSize[0];\n return { width: inlineSize, height: blockSize };\n }\n else if (target instanceof SVGElement && \"getBBox\" in target) {\n return target.getBBox();\n }\n else {\n return {\n width: target.offsetWidth,\n height: target.offsetHeight,\n };\n }\n}\nfunction notifyTarget({ target, contentRect, borderBoxSize, }) {\n var _a;\n (_a = resizeHandlers.get(target)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => {\n handler({\n target,\n contentSize: contentRect,\n get size() {\n return getElementSize(target, borderBoxSize);\n },\n });\n });\n}\nfunction notifyAll(entries) {\n entries.forEach(notifyTarget);\n}\nfunction createResizeObserver() {\n if (typeof ResizeObserver === \"undefined\")\n return;\n observer = new ResizeObserver(notifyAll);\n}\nfunction resizeElement(target, handler) {\n if (!observer)\n createResizeObserver();\n const elements = (0,_utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_0__.resolveElements)(target);\n elements.forEach((element) => {\n let elementHandlers = resizeHandlers.get(element);\n if (!elementHandlers) {\n elementHandlers = new Set();\n resizeHandlers.set(element, elementHandlers);\n }\n elementHandlers.add(handler);\n observer === null || observer === void 0 ? void 0 : observer.observe(element);\n });\n return () => {\n elements.forEach((element) => {\n const elementHandlers = resizeHandlers.get(element);\n elementHandlers === null || elementHandlers === void 0 ? void 0 : elementHandlers.delete(handler);\n if (!(elementHandlers === null || elementHandlers === void 0 ? void 0 : elementHandlers.size)) {\n observer === null || observer === void 0 ? void 0 : observer.unobserve(element);\n }\n });\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9yZXNpemUvaGFuZGxlLWVsZW1lbnQuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUU7O0FBRXJFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHdCQUF3QjtBQUN4QyxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixxQ0FBcUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsOEVBQWU7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUV5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9yZXNpemUvaGFuZGxlLWVsZW1lbnQuZXMuanM/MjA1NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXNvbHZlRWxlbWVudHMgfSBmcm9tICcuLi8uLi91dGlscy9yZXNvbHZlLWVsZW1lbnRzLmVzLmpzJztcblxuY29uc3QgcmVzaXplSGFuZGxlcnMgPSBuZXcgV2Vha01hcCgpO1xubGV0IG9ic2VydmVyO1xuZnVuY3Rpb24gZ2V0RWxlbWVudFNpemUodGFyZ2V0LCBib3JkZXJCb3hTaXplKSB7XG4gICAgaWYgKGJvcmRlckJveFNpemUpIHtcbiAgICAgICAgY29uc3QgeyBpbmxpbmVTaXplLCBibG9ja1NpemUgfSA9IGJvcmRlckJveFNpemVbMF07XG4gICAgICAgIHJldHVybiB7IHdpZHRoOiBpbmxpbmVTaXplLCBoZWlnaHQ6IGJsb2NrU2l6ZSB9O1xuICAgIH1cbiAgICBlbHNlIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBTVkdFbGVtZW50ICYmIFwiZ2V0QkJveFwiIGluIHRhcmdldCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmdldEJCb3goKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aDogdGFyZ2V0Lm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiB0YXJnZXQub2Zmc2V0SGVpZ2h0LFxuICAgICAgICB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIG5vdGlmeVRhcmdldCh7IHRhcmdldCwgY29udGVudFJlY3QsIGJvcmRlckJveFNpemUsIH0pIHtcbiAgICB2YXIgX2E7XG4gICAgKF9hID0gcmVzaXplSGFuZGxlcnMuZ2V0KHRhcmdldCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgICAgIGhhbmRsZXIoe1xuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgY29udGVudFNpemU6IGNvbnRlbnRSZWN0LFxuICAgICAgICAgICAgZ2V0IHNpemUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldEVsZW1lbnRTaXplKHRhcmdldCwgYm9yZGVyQm94U2l6ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIG5vdGlmeUFsbChlbnRyaWVzKSB7XG4gICAgZW50cmllcy5mb3JFYWNoKG5vdGlmeVRhcmdldCk7XG59XG5mdW5jdGlvbiBjcmVhdGVSZXNpemVPYnNlcnZlcigpIHtcbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICByZXR1cm47XG4gICAgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIobm90aWZ5QWxsKTtcbn1cbmZ1bmN0aW9uIHJlc2l6ZUVsZW1lbnQodGFyZ2V0LCBoYW5kbGVyKSB7XG4gICAgaWYgKCFvYnNlcnZlcilcbiAgICAgICAgY3JlYXRlUmVzaXplT2JzZXJ2ZXIoKTtcbiAgICBjb25zdCBlbGVtZW50cyA9IHJlc29sdmVFbGVtZW50cyh0YXJnZXQpO1xuICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgbGV0IGVsZW1lbnRIYW5kbGVycyA9IHJlc2l6ZUhhbmRsZXJzLmdldChlbGVtZW50KTtcbiAgICAgICAgaWYgKCFlbGVtZW50SGFuZGxlcnMpIHtcbiAgICAgICAgICAgIGVsZW1lbnRIYW5kbGVycyA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHJlc2l6ZUhhbmRsZXJzLnNldChlbGVtZW50LCBlbGVtZW50SGFuZGxlcnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsZW1lbnRIYW5kbGVycy5hZGQoaGFuZGxlcik7XG4gICAgICAgIG9ic2VydmVyID09PSBudWxsIHx8IG9ic2VydmVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRIYW5kbGVycyA9IHJlc2l6ZUhhbmRsZXJzLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgIGVsZW1lbnRIYW5kbGVycyA9PT0gbnVsbCB8fCBlbGVtZW50SGFuZGxlcnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGVsZW1lbnRIYW5kbGVycy5kZWxldGUoaGFuZGxlcik7XG4gICAgICAgICAgICBpZiAoIShlbGVtZW50SGFuZGxlcnMgPT09IG51bGwgfHwgZWxlbWVudEhhbmRsZXJzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbGVtZW50SGFuZGxlcnMuc2l6ZSkpIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlciA9PT0gbnVsbCB8fCBvYnNlcnZlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgeyByZXNpemVFbGVtZW50IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/resize/handle-element.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/resize/handle-window.es.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/resize/handle-window.es.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resizeWindow: function() { return /* binding */ resizeWindow; }\n/* harmony export */ });\nconst windowCallbacks = new Set();\nlet windowResizeHandler;\nfunction createWindowResizeHandler() {\n windowResizeHandler = () => {\n const size = {\n width: window.innerWidth,\n height: window.innerHeight,\n };\n const info = {\n target: window,\n size,\n contentSize: size,\n };\n windowCallbacks.forEach((callback) => callback(info));\n };\n window.addEventListener(\"resize\", windowResizeHandler);\n}\nfunction resizeWindow(callback) {\n windowCallbacks.add(callback);\n if (!windowResizeHandler)\n createWindowResizeHandler();\n return () => {\n windowCallbacks.delete(callback);\n if (!windowCallbacks.size && windowResizeHandler) {\n windowResizeHandler = undefined;\n }\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9yZXNpemUvaGFuZGxlLXdpbmRvdy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2dlc3R1cmVzL3Jlc2l6ZS9oYW5kbGUtd2luZG93LmVzLmpzPzhkNTgiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgd2luZG93Q2FsbGJhY2tzID0gbmV3IFNldCgpO1xubGV0IHdpbmRvd1Jlc2l6ZUhhbmRsZXI7XG5mdW5jdGlvbiBjcmVhdGVXaW5kb3dSZXNpemVIYW5kbGVyKCkge1xuICAgIHdpbmRvd1Jlc2l6ZUhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpemUgPSB7XG4gICAgICAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaW5mbyA9IHtcbiAgICAgICAgICAgIHRhcmdldDogd2luZG93LFxuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIGNvbnRlbnRTaXplOiBzaXplLFxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3dDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKGluZm8pKTtcbiAgICB9O1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHdpbmRvd1Jlc2l6ZUhhbmRsZXIpO1xufVxuZnVuY3Rpb24gcmVzaXplV2luZG93KGNhbGxiYWNrKSB7XG4gICAgd2luZG93Q2FsbGJhY2tzLmFkZChjYWxsYmFjayk7XG4gICAgaWYgKCF3aW5kb3dSZXNpemVIYW5kbGVyKVxuICAgICAgICBjcmVhdGVXaW5kb3dSZXNpemVIYW5kbGVyKCk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93Q2FsbGJhY2tzLmRlbGV0ZShjYWxsYmFjayk7XG4gICAgICAgIGlmICghd2luZG93Q2FsbGJhY2tzLnNpemUgJiYgd2luZG93UmVzaXplSGFuZGxlcikge1xuICAgICAgICAgICAgd2luZG93UmVzaXplSGFuZGxlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmV4cG9ydCB7IHJlc2l6ZVdpbmRvdyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/resize/handle-window.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/resize/index.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/resize/index.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resize: function() { return /* binding */ resize; }\n/* harmony export */ });\n/* harmony import */ var _handle_element_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./handle-element.es.js */ \"./node_modules/@motionone/dom/dist/gestures/resize/handle-element.es.js\");\n/* harmony import */ var _handle_window_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./handle-window.es.js */ \"./node_modules/@motionone/dom/dist/gestures/resize/handle-window.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\n\n\nfunction resize(a, b) {\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(a) ? (0,_handle_window_es_js__WEBPACK_IMPORTED_MODULE_1__.resizeWindow)(a) : (0,_handle_element_es_js__WEBPACK_IMPORTED_MODULE_2__.resizeElement)(a, b);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9yZXNpemUvaW5kZXguZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1RDtBQUNGO0FBQ1A7O0FBRTlDO0FBQ0EsV0FBVyw0REFBVSxNQUFNLGtFQUFZLE1BQU0sb0VBQWE7QUFDMUQ7O0FBRWtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2dlc3R1cmVzL3Jlc2l6ZS9pbmRleC5lcy5qcz84M2Y0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc2l6ZUVsZW1lbnQgfSBmcm9tICcuL2hhbmRsZS1lbGVtZW50LmVzLmpzJztcbmltcG9ydCB7IHJlc2l6ZVdpbmRvdyB9IGZyb20gJy4vaGFuZGxlLXdpbmRvdy5lcy5qcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5cbmZ1bmN0aW9uIHJlc2l6ZShhLCBiKSB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oYSkgPyByZXNpemVXaW5kb3coYSkgOiByZXNpemVFbGVtZW50KGEsIGIpO1xufVxuXG5leHBvcnQgeyByZXNpemUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/resize/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/index.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/index.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scroll: function() { return /* binding */ scroll; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var _resize_index_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../resize/index.es.js */ \"./node_modules/@motionone/dom/dist/gestures/resize/index.es.js\");\n/* harmony import */ var _info_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./info.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/info.es.js\");\n/* harmony import */ var _on_scroll_handler_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./on-scroll-handler.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/on-scroll-handler.es.js\");\n\n\n\n\n\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\nconst getEventTarget = (element) => element === document.documentElement ? window : element;\nfunction scroll(onScroll, _a = {}) {\n var { container = document.documentElement } = _a, options = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__rest)(_a, [\"container\"]);\n let containerHandlers = onScrollHandlers.get(container);\n /**\n * Get the onScroll handlers for this container.\n * If one isn't found, create a new one.\n */\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(container, containerHandlers);\n }\n /**\n * Create a new onScroll handler for the provided callback.\n */\n const info = (0,_info_es_js__WEBPACK_IMPORTED_MODULE_1__.createScrollInfo)();\n const containerHandler = (0,_on_scroll_handler_es_js__WEBPACK_IMPORTED_MODULE_2__.createOnScrollHandler)(container, onScroll, info, options);\n containerHandlers.add(containerHandler);\n /**\n * Check if there's a scroll event listener for this container.\n * If not, create one.\n */\n if (!scrollListeners.has(container)) {\n const listener = () => {\n const time = performance.now();\n for (const handler of containerHandlers)\n handler.measure();\n for (const handler of containerHandlers)\n handler.update(time);\n for (const handler of containerHandlers)\n handler.notify();\n };\n scrollListeners.set(container, listener);\n const target = getEventTarget(container);\n window.addEventListener(\"resize\", listener, { passive: true });\n if (container !== document.documentElement) {\n resizeListeners.set(container, (0,_resize_index_es_js__WEBPACK_IMPORTED_MODULE_3__.resize)(container, listener));\n }\n target.addEventListener(\"scroll\", listener, { passive: true });\n }\n const listener = scrollListeners.get(container);\n const onLoadProcesss = requestAnimationFrame(listener);\n return () => {\n var _a;\n if (typeof onScroll !== \"function\")\n onScroll.stop();\n cancelAnimationFrame(onLoadProcesss);\n /**\n * Check if we even have any handlers for this container.\n */\n const containerHandlers = onScrollHandlers.get(container);\n if (!containerHandlers)\n return;\n containerHandlers.delete(containerHandler);\n if (containerHandlers.size)\n return;\n /**\n * If no more handlers, remove the scroll listener too.\n */\n const listener = scrollListeners.get(container);\n scrollListeners.delete(container);\n if (listener) {\n getEventTarget(container).removeEventListener(\"scroll\", listener);\n (_a = resizeListeners.get(container)) === null || _a === void 0 ? void 0 : _a();\n window.removeEventListener(\"resize\", listener);\n }\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvaW5kZXguZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBK0I7QUFDZ0I7QUFDQztBQUNrQjs7QUFFbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsVUFBVSx1Q0FBdUMsZ0JBQWdCLDZDQUFNO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiw2REFBZ0I7QUFDakMsNkJBQTZCLCtFQUFxQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNELGVBQWU7QUFDckU7QUFDQSwyQ0FBMkMsMkRBQU07QUFDakQ7QUFDQSxzREFBc0QsZUFBZTtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvaW5kZXguZXMuanM/ZTczNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX3Jlc3QgfSBmcm9tICd0c2xpYic7XG5pbXBvcnQgeyByZXNpemUgfSBmcm9tICcuLi9yZXNpemUvaW5kZXguZXMuanMnO1xuaW1wb3J0IHsgY3JlYXRlU2Nyb2xsSW5mbyB9IGZyb20gJy4vaW5mby5lcy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVPblNjcm9sbEhhbmRsZXIgfSBmcm9tICcuL29uLXNjcm9sbC1oYW5kbGVyLmVzLmpzJztcblxuY29uc3Qgc2Nyb2xsTGlzdGVuZXJzID0gbmV3IFdlYWtNYXAoKTtcbmNvbnN0IHJlc2l6ZUxpc3RlbmVycyA9IG5ldyBXZWFrTWFwKCk7XG5jb25zdCBvblNjcm9sbEhhbmRsZXJzID0gbmV3IFdlYWtNYXAoKTtcbmNvbnN0IGdldEV2ZW50VGFyZ2V0ID0gKGVsZW1lbnQpID0+IGVsZW1lbnQgPT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IHdpbmRvdyA6IGVsZW1lbnQ7XG5mdW5jdGlvbiBzY3JvbGwob25TY3JvbGwsIF9hID0ge30pIHtcbiAgICB2YXIgeyBjb250YWluZXIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfSA9IF9hLCBvcHRpb25zID0gX19yZXN0KF9hLCBbXCJjb250YWluZXJcIl0pO1xuICAgIGxldCBjb250YWluZXJIYW5kbGVycyA9IG9uU2Nyb2xsSGFuZGxlcnMuZ2V0KGNvbnRhaW5lcik7XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBvblNjcm9sbCBoYW5kbGVycyBmb3IgdGhpcyBjb250YWluZXIuXG4gICAgICogSWYgb25lIGlzbid0IGZvdW5kLCBjcmVhdGUgYSBuZXcgb25lLlxuICAgICAqL1xuICAgIGlmICghY29udGFpbmVySGFuZGxlcnMpIHtcbiAgICAgICAgY29udGFpbmVySGFuZGxlcnMgPSBuZXcgU2V0KCk7XG4gICAgICAgIG9uU2Nyb2xsSGFuZGxlcnMuc2V0KGNvbnRhaW5lciwgY29udGFpbmVySGFuZGxlcnMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgb25TY3JvbGwgaGFuZGxlciBmb3IgdGhlIHByb3ZpZGVkIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIGNvbnN0IGluZm8gPSBjcmVhdGVTY3JvbGxJbmZvKCk7XG4gICAgY29uc3QgY29udGFpbmVySGFuZGxlciA9IGNyZWF0ZU9uU2Nyb2xsSGFuZGxlcihjb250YWluZXIsIG9uU2Nyb2xsLCBpbmZvLCBvcHRpb25zKTtcbiAgICBjb250YWluZXJIYW5kbGVycy5hZGQoY29udGFpbmVySGFuZGxlcik7XG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlcmUncyBhIHNjcm9sbCBldmVudCBsaXN0ZW5lciBmb3IgdGhpcyBjb250YWluZXIuXG4gICAgICogSWYgbm90LCBjcmVhdGUgb25lLlxuICAgICAqL1xuICAgIGlmICghc2Nyb2xsTGlzdGVuZXJzLmhhcyhjb250YWluZXIpKSB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIGNvbnRhaW5lckhhbmRsZXJzKVxuICAgICAgICAgICAgICAgIGhhbmRsZXIubWVhc3VyZSgpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIGNvbnRhaW5lckhhbmRsZXJzKVxuICAgICAgICAgICAgICAgIGhhbmRsZXIudXBkYXRlKHRpbWUpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIGNvbnRhaW5lckhhbmRsZXJzKVxuICAgICAgICAgICAgICAgIGhhbmRsZXIubm90aWZ5KCk7XG4gICAgICAgIH07XG4gICAgICAgIHNjcm9sbExpc3RlbmVycy5zZXQoY29udGFpbmVyLCBsaXN0ZW5lcik7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGdldEV2ZW50VGFyZ2V0KGNvbnRhaW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGxpc3RlbmVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgICAgIGlmIChjb250YWluZXIgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgICAgICAgcmVzaXplTGlzdGVuZXJzLnNldChjb250YWluZXIsIHJlc2l6ZShjb250YWluZXIsIGxpc3RlbmVyKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgbGlzdGVuZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG4gICAgY29uc3QgbGlzdGVuZXIgPSBzY3JvbGxMaXN0ZW5lcnMuZ2V0KGNvbnRhaW5lcik7XG4gICAgY29uc3Qgb25Mb2FkUHJvY2Vzc3MgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobGlzdGVuZXIpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKHR5cGVvZiBvblNjcm9sbCAhPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgb25TY3JvbGwuc3RvcCgpO1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShvbkxvYWRQcm9jZXNzcyk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDaGVjayBpZiB3ZSBldmVuIGhhdmUgYW55IGhhbmRsZXJzIGZvciB0aGlzIGNvbnRhaW5lci5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckhhbmRsZXJzID0gb25TY3JvbGxIYW5kbGVycy5nZXQoY29udGFpbmVyKTtcbiAgICAgICAgaWYgKCFjb250YWluZXJIYW5kbGVycylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29udGFpbmVySGFuZGxlcnMuZGVsZXRlKGNvbnRhaW5lckhhbmRsZXIpO1xuICAgICAgICBpZiAoY29udGFpbmVySGFuZGxlcnMuc2l6ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIG5vIG1vcmUgaGFuZGxlcnMsIHJlbW92ZSB0aGUgc2Nyb2xsIGxpc3RlbmVyIHRvby5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGxpc3RlbmVyID0gc2Nyb2xsTGlzdGVuZXJzLmdldChjb250YWluZXIpO1xuICAgICAgICBzY3JvbGxMaXN0ZW5lcnMuZGVsZXRlKGNvbnRhaW5lcik7XG4gICAgICAgIGlmIChsaXN0ZW5lcikge1xuICAgICAgICAgICAgZ2V0RXZlbnRUYXJnZXQoY29udGFpbmVyKS5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGxpc3RlbmVyKTtcbiAgICAgICAgICAgIChfYSA9IHJlc2l6ZUxpc3RlbmVycy5nZXQoY29udGFpbmVyKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hKCk7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBsaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5leHBvcnQgeyBzY3JvbGwgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/info.es.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/info.es.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createScrollInfo: function() { return /* binding */ createScrollInfo; },\n/* harmony export */ updateScrollInfo: function() { return /* binding */ updateScrollInfo; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\n/**\n * A time in milliseconds, beyond which we consider the scroll velocity to be 0.\n */\nconst maxElapsed = 50;\nconst createAxisInfo = () => ({\n current: 0,\n offset: [],\n progress: 0,\n scrollLength: 0,\n targetOffset: 0,\n targetLength: 0,\n containerLength: 0,\n velocity: 0,\n});\nconst createScrollInfo = () => ({\n time: 0,\n x: createAxisInfo(),\n y: createAxisInfo(),\n});\nconst keys = {\n x: {\n length: \"Width\",\n position: \"Left\",\n },\n y: {\n length: \"Height\",\n position: \"Top\",\n },\n};\nfunction updateAxisInfo(element, axisName, info, time) {\n const axis = info[axisName];\n const { length, position } = keys[axisName];\n const prev = axis.current;\n const prevTime = info.time;\n axis.current = element[\"scroll\" + position];\n axis.scrollLength = element[\"scroll\" + length] - element[\"client\" + length];\n axis.offset.length = 0;\n axis.offset[0] = 0;\n axis.offset[1] = axis.scrollLength;\n axis.progress = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.progress)(0, axis.scrollLength, axis.current);\n const elapsed = time - prevTime;\n axis.velocity =\n elapsed > maxElapsed ? 0 : (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.velocityPerSecond)(axis.current - prev, elapsed);\n}\nfunction updateScrollInfo(element, info, time) {\n updateAxisInfo(element, \"x\", info, time);\n updateAxisInfo(element, \"y\", info, time);\n info.time = time;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvaW5mby5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBK0Q7O0FBRS9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxZQUFZLG1CQUFtQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwREFBUTtBQUM1QjtBQUNBO0FBQ0EsbUNBQW1DLG1FQUFpQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2dlc3R1cmVzL3Njcm9sbC9pbmZvLmVzLmpzPzJjOGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvZ3Jlc3MsIHZlbG9jaXR5UGVyU2Vjb25kIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5cbi8qKlxuICogQSB0aW1lIGluIG1pbGxpc2Vjb25kcywgYmV5b25kIHdoaWNoIHdlIGNvbnNpZGVyIHRoZSBzY3JvbGwgdmVsb2NpdHkgdG8gYmUgMC5cbiAqL1xuY29uc3QgbWF4RWxhcHNlZCA9IDUwO1xuY29uc3QgY3JlYXRlQXhpc0luZm8gPSAoKSA9PiAoe1xuICAgIGN1cnJlbnQ6IDAsXG4gICAgb2Zmc2V0OiBbXSxcbiAgICBwcm9ncmVzczogMCxcbiAgICBzY3JvbGxMZW5ndGg6IDAsXG4gICAgdGFyZ2V0T2Zmc2V0OiAwLFxuICAgIHRhcmdldExlbmd0aDogMCxcbiAgICBjb250YWluZXJMZW5ndGg6IDAsXG4gICAgdmVsb2NpdHk6IDAsXG59KTtcbmNvbnN0IGNyZWF0ZVNjcm9sbEluZm8gPSAoKSA9PiAoe1xuICAgIHRpbWU6IDAsXG4gICAgeDogY3JlYXRlQXhpc0luZm8oKSxcbiAgICB5OiBjcmVhdGVBeGlzSW5mbygpLFxufSk7XG5jb25zdCBrZXlzID0ge1xuICAgIHg6IHtcbiAgICAgICAgbGVuZ3RoOiBcIldpZHRoXCIsXG4gICAgICAgIHBvc2l0aW9uOiBcIkxlZnRcIixcbiAgICB9LFxuICAgIHk6IHtcbiAgICAgICAgbGVuZ3RoOiBcIkhlaWdodFwiLFxuICAgICAgICBwb3NpdGlvbjogXCJUb3BcIixcbiAgICB9LFxufTtcbmZ1bmN0aW9uIHVwZGF0ZUF4aXNJbmZvKGVsZW1lbnQsIGF4aXNOYW1lLCBpbmZvLCB0aW1lKSB7XG4gICAgY29uc3QgYXhpcyA9IGluZm9bYXhpc05hbWVdO1xuICAgIGNvbnN0IHsgbGVuZ3RoLCBwb3NpdGlvbiB9ID0ga2V5c1theGlzTmFtZV07XG4gICAgY29uc3QgcHJldiA9IGF4aXMuY3VycmVudDtcbiAgICBjb25zdCBwcmV2VGltZSA9IGluZm8udGltZTtcbiAgICBheGlzLmN1cnJlbnQgPSBlbGVtZW50W1wic2Nyb2xsXCIgKyBwb3NpdGlvbl07XG4gICAgYXhpcy5zY3JvbGxMZW5ndGggPSBlbGVtZW50W1wic2Nyb2xsXCIgKyBsZW5ndGhdIC0gZWxlbWVudFtcImNsaWVudFwiICsgbGVuZ3RoXTtcbiAgICBheGlzLm9mZnNldC5sZW5ndGggPSAwO1xuICAgIGF4aXMub2Zmc2V0WzBdID0gMDtcbiAgICBheGlzLm9mZnNldFsxXSA9IGF4aXMuc2Nyb2xsTGVuZ3RoO1xuICAgIGF4aXMucHJvZ3Jlc3MgPSBwcm9ncmVzcygwLCBheGlzLnNjcm9sbExlbmd0aCwgYXhpcy5jdXJyZW50KTtcbiAgICBjb25zdCBlbGFwc2VkID0gdGltZSAtIHByZXZUaW1lO1xuICAgIGF4aXMudmVsb2NpdHkgPVxuICAgICAgICBlbGFwc2VkID4gbWF4RWxhcHNlZCA/IDAgOiB2ZWxvY2l0eVBlclNlY29uZChheGlzLmN1cnJlbnQgLSBwcmV2LCBlbGFwc2VkKTtcbn1cbmZ1bmN0aW9uIHVwZGF0ZVNjcm9sbEluZm8oZWxlbWVudCwgaW5mbywgdGltZSkge1xuICAgIHVwZGF0ZUF4aXNJbmZvKGVsZW1lbnQsIFwieFwiLCBpbmZvLCB0aW1lKTtcbiAgICB1cGRhdGVBeGlzSW5mbyhlbGVtZW50LCBcInlcIiwgaW5mbywgdGltZSk7XG4gICAgaW5mby50aW1lID0gdGltZTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlU2Nyb2xsSW5mbywgdXBkYXRlU2Nyb2xsSW5mbyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/info.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/offsets/edge.es.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/offsets/edge.es.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ namedEdges: function() { return /* binding */ namedEdges; },\n/* harmony export */ resolveEdge: function() { return /* binding */ resolveEdge; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nconst namedEdges = {\n start: 0,\n center: 0.5,\n end: 1,\n};\nfunction resolveEdge(edge, length, inset = 0) {\n let delta = 0;\n /**\n * If we have this edge defined as a preset, replace the definition\n * with the numerical value.\n */\n if (namedEdges[edge] !== undefined) {\n edge = namedEdges[edge];\n }\n /**\n * Handle unit values\n */\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(edge)) {\n const asNumber = parseFloat(edge);\n if (edge.endsWith(\"px\")) {\n delta = asNumber;\n }\n else if (edge.endsWith(\"%\")) {\n edge = asNumber / 100;\n }\n else if (edge.endsWith(\"vw\")) {\n delta = (asNumber / 100) * document.documentElement.clientWidth;\n }\n else if (edge.endsWith(\"vh\")) {\n delta = (asNumber / 100) * document.documentElement.clientHeight;\n }\n else {\n edge = asNumber;\n }\n }\n /**\n * If the edge is defined as a number, handle as a progress value.\n */\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(edge)) {\n delta = length * edge;\n }\n return inset + delta;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9lZGdlLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFzRDs7QUFFdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMERBQVE7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMERBQVE7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2dlc3R1cmVzL3Njcm9sbC9vZmZzZXRzL2VkZ2UuZXMuanM/ZmU2NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZywgaXNOdW1iZXIgfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcblxuY29uc3QgbmFtZWRFZGdlcyA9IHtcbiAgICBzdGFydDogMCxcbiAgICBjZW50ZXI6IDAuNSxcbiAgICBlbmQ6IDEsXG59O1xuZnVuY3Rpb24gcmVzb2x2ZUVkZ2UoZWRnZSwgbGVuZ3RoLCBpbnNldCA9IDApIHtcbiAgICBsZXQgZGVsdGEgPSAwO1xuICAgIC8qKlxuICAgICAqIElmIHdlIGhhdmUgdGhpcyBlZGdlIGRlZmluZWQgYXMgYSBwcmVzZXQsIHJlcGxhY2UgdGhlIGRlZmluaXRpb25cbiAgICAgKiB3aXRoIHRoZSBudW1lcmljYWwgdmFsdWUuXG4gICAgICovXG4gICAgaWYgKG5hbWVkRWRnZXNbZWRnZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBlZGdlID0gbmFtZWRFZGdlc1tlZGdlXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSGFuZGxlIHVuaXQgdmFsdWVzXG4gICAgICovXG4gICAgaWYgKGlzU3RyaW5nKGVkZ2UpKSB7XG4gICAgICAgIGNvbnN0IGFzTnVtYmVyID0gcGFyc2VGbG9hdChlZGdlKTtcbiAgICAgICAgaWYgKGVkZ2UuZW5kc1dpdGgoXCJweFwiKSkge1xuICAgICAgICAgICAgZGVsdGEgPSBhc051bWJlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChlZGdlLmVuZHNXaXRoKFwiJVwiKSkge1xuICAgICAgICAgICAgZWRnZSA9IGFzTnVtYmVyIC8gMTAwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVkZ2UuZW5kc1dpdGgoXCJ2d1wiKSkge1xuICAgICAgICAgICAgZGVsdGEgPSAoYXNOdW1iZXIgLyAxMDApICogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVkZ2UuZW5kc1dpdGgoXCJ2aFwiKSkge1xuICAgICAgICAgICAgZGVsdGEgPSAoYXNOdW1iZXIgLyAxMDApICogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVkZ2UgPSBhc051bWJlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiB0aGUgZWRnZSBpcyBkZWZpbmVkIGFzIGEgbnVtYmVyLCBoYW5kbGUgYXMgYSBwcm9ncmVzcyB2YWx1ZS5cbiAgICAgKi9cbiAgICBpZiAoaXNOdW1iZXIoZWRnZSkpIHtcbiAgICAgICAgZGVsdGEgPSBsZW5ndGggKiBlZGdlO1xuICAgIH1cbiAgICByZXR1cm4gaW5zZXQgKyBkZWx0YTtcbn1cblxuZXhwb3J0IHsgbmFtZWRFZGdlcywgcmVzb2x2ZUVkZ2UgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/offsets/edge.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/offsets/index.es.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/offsets/index.es.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resolveOffsets: function() { return /* binding */ resolveOffsets; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _inset_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inset.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/offsets/inset.es.js\");\n/* harmony import */ var _presets_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./presets.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/offsets/presets.es.js\");\n/* harmony import */ var _offset_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./offset.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/offsets/offset.es.js\");\n\n\n\n\n\nconst point = { x: 0, y: 0 };\nfunction resolveOffsets(container, info, options) {\n let { offset: offsetDefinition = _presets_es_js__WEBPACK_IMPORTED_MODULE_0__.ScrollOffset.All } = options;\n const { target = container, axis = \"y\" } = options;\n const lengthLabel = axis === \"y\" ? \"height\" : \"width\";\n const inset = target !== container ? (0,_inset_es_js__WEBPACK_IMPORTED_MODULE_1__.calcInset)(target, container) : point;\n /**\n * Measure the target and container. If they're the same thing then we\n * use the container's scrollWidth/Height as the target, from there\n * all other calculations can remain the same.\n */\n const targetSize = target === container\n ? { width: container.scrollWidth, height: container.scrollHeight }\n : { width: target.clientWidth, height: target.clientHeight };\n const containerSize = {\n width: container.clientWidth,\n height: container.clientHeight,\n };\n /**\n * Reset the length of the resolved offset array rather than creating a new one.\n * TODO: More reusable data structures for targetSize/containerSize would also be good.\n */\n info[axis].offset.length = 0;\n /**\n * Populate the offset array by resolving the user's offset definition into\n * a list of pixel scroll offets.\n */\n let hasChanged = !info[axis].interpolate;\n const numOffsets = offsetDefinition.length;\n for (let i = 0; i < numOffsets; i++) {\n const offset = (0,_offset_es_js__WEBPACK_IMPORTED_MODULE_2__.resolveOffset)(offsetDefinition[i], containerSize[lengthLabel], targetSize[lengthLabel], inset[axis]);\n if (!hasChanged && offset !== info[axis].interpolatorOffsets[i]) {\n hasChanged = true;\n }\n info[axis].offset[i] = offset;\n }\n /**\n * If the pixel scroll offsets have changed, create a new interpolator function\n * to map scroll value into a progress.\n */\n if (hasChanged) {\n info[axis].interpolate = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_3__.interpolate)((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_3__.defaultOffset)(numOffsets), info[axis].offset);\n info[axis].interpolatorOffsets = [...info[axis].offset];\n }\n info[axis].progress = info[axis].interpolate(info[axis].current);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUE4RDtBQUNwQjtBQUNLO0FBQ0E7O0FBRS9DLGdCQUFnQjtBQUNoQjtBQUNBLFVBQVUsMkJBQTJCLHdEQUFZLE9BQU87QUFDeEQsWUFBWSxpQ0FBaUM7QUFDN0M7QUFDQSx5Q0FBeUMsdURBQVM7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLHVCQUF1Qiw0REFBYTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw2REFBVyxDQUFDLCtEQUFhO0FBQzFEO0FBQ0E7QUFDQTtBQUNBOztBQUUwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9pbmRleC5lcy5qcz9mZmYxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludGVycG9sYXRlLCBkZWZhdWx0T2Zmc2V0IH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBjYWxjSW5zZXQgfSBmcm9tICcuL2luc2V0LmVzLmpzJztcbmltcG9ydCB7IFNjcm9sbE9mZnNldCB9IGZyb20gJy4vcHJlc2V0cy5lcy5qcyc7XG5pbXBvcnQgeyByZXNvbHZlT2Zmc2V0IH0gZnJvbSAnLi9vZmZzZXQuZXMuanMnO1xuXG5jb25zdCBwb2ludCA9IHsgeDogMCwgeTogMCB9O1xuZnVuY3Rpb24gcmVzb2x2ZU9mZnNldHMoY29udGFpbmVyLCBpbmZvLCBvcHRpb25zKSB7XG4gICAgbGV0IHsgb2Zmc2V0OiBvZmZzZXREZWZpbml0aW9uID0gU2Nyb2xsT2Zmc2V0LkFsbCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHRhcmdldCA9IGNvbnRhaW5lciwgYXhpcyA9IFwieVwiIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGxlbmd0aExhYmVsID0gYXhpcyA9PT0gXCJ5XCIgPyBcImhlaWdodFwiIDogXCJ3aWR0aFwiO1xuICAgIGNvbnN0IGluc2V0ID0gdGFyZ2V0ICE9PSBjb250YWluZXIgPyBjYWxjSW5zZXQodGFyZ2V0LCBjb250YWluZXIpIDogcG9pbnQ7XG4gICAgLyoqXG4gICAgICogTWVhc3VyZSB0aGUgdGFyZ2V0IGFuZCBjb250YWluZXIuIElmIHRoZXkncmUgdGhlIHNhbWUgdGhpbmcgdGhlbiB3ZVxuICAgICAqIHVzZSB0aGUgY29udGFpbmVyJ3Mgc2Nyb2xsV2lkdGgvSGVpZ2h0IGFzIHRoZSB0YXJnZXQsIGZyb20gdGhlcmVcbiAgICAgKiBhbGwgb3RoZXIgY2FsY3VsYXRpb25zIGNhbiByZW1haW4gdGhlIHNhbWUuXG4gICAgICovXG4gICAgY29uc3QgdGFyZ2V0U2l6ZSA9IHRhcmdldCA9PT0gY29udGFpbmVyXG4gICAgICAgID8geyB3aWR0aDogY29udGFpbmVyLnNjcm9sbFdpZHRoLCBoZWlnaHQ6IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQgfVxuICAgICAgICA6IHsgd2lkdGg6IHRhcmdldC5jbGllbnRXaWR0aCwgaGVpZ2h0OiB0YXJnZXQuY2xpZW50SGVpZ2h0IH07XG4gICAgY29uc3QgY29udGFpbmVyU2l6ZSA9IHtcbiAgICAgICAgd2lkdGg6IGNvbnRhaW5lci5jbGllbnRXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiBjb250YWluZXIuY2xpZW50SGVpZ2h0LFxuICAgIH07XG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIGxlbmd0aCBvZiB0aGUgcmVzb2x2ZWQgb2Zmc2V0IGFycmF5IHJhdGhlciB0aGFuIGNyZWF0aW5nIGEgbmV3IG9uZS5cbiAgICAgKiBUT0RPOiBNb3JlIHJldXNhYmxlIGRhdGEgc3RydWN0dXJlcyBmb3IgdGFyZ2V0U2l6ZS9jb250YWluZXJTaXplIHdvdWxkIGFsc28gYmUgZ29vZC5cbiAgICAgKi9cbiAgICBpbmZvW2F4aXNdLm9mZnNldC5sZW5ndGggPSAwO1xuICAgIC8qKlxuICAgICAqIFBvcHVsYXRlIHRoZSBvZmZzZXQgYXJyYXkgYnkgcmVzb2x2aW5nIHRoZSB1c2VyJ3Mgb2Zmc2V0IGRlZmluaXRpb24gaW50b1xuICAgICAqIGEgbGlzdCBvZiBwaXhlbCBzY3JvbGwgb2ZmZXRzLlxuICAgICAqL1xuICAgIGxldCBoYXNDaGFuZ2VkID0gIWluZm9bYXhpc10uaW50ZXJwb2xhdGU7XG4gICAgY29uc3QgbnVtT2Zmc2V0cyA9IG9mZnNldERlZmluaXRpb24ubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2Zmc2V0czsgaSsrKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHJlc29sdmVPZmZzZXQob2Zmc2V0RGVmaW5pdGlvbltpXSwgY29udGFpbmVyU2l6ZVtsZW5ndGhMYWJlbF0sIHRhcmdldFNpemVbbGVuZ3RoTGFiZWxdLCBpbnNldFtheGlzXSk7XG4gICAgICAgIGlmICghaGFzQ2hhbmdlZCAmJiBvZmZzZXQgIT09IGluZm9bYXhpc10uaW50ZXJwb2xhdG9yT2Zmc2V0c1tpXSkge1xuICAgICAgICAgICAgaGFzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaW5mb1theGlzXS5vZmZzZXRbaV0gPSBvZmZzZXQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIElmIHRoZSBwaXhlbCBzY3JvbGwgb2Zmc2V0cyBoYXZlIGNoYW5nZWQsIGNyZWF0ZSBhIG5ldyBpbnRlcnBvbGF0b3IgZnVuY3Rpb25cbiAgICAgKiB0byBtYXAgc2Nyb2xsIHZhbHVlIGludG8gYSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBpZiAoaGFzQ2hhbmdlZCkge1xuICAgICAgICBpbmZvW2F4aXNdLmludGVycG9sYXRlID0gaW50ZXJwb2xhdGUoZGVmYXVsdE9mZnNldChudW1PZmZzZXRzKSwgaW5mb1theGlzXS5vZmZzZXQpO1xuICAgICAgICBpbmZvW2F4aXNdLmludGVycG9sYXRvck9mZnNldHMgPSBbLi4uaW5mb1theGlzXS5vZmZzZXRdO1xuICAgIH1cbiAgICBpbmZvW2F4aXNdLnByb2dyZXNzID0gaW5mb1theGlzXS5pbnRlcnBvbGF0ZShpbmZvW2F4aXNdLmN1cnJlbnQpO1xufVxuXG5leHBvcnQgeyByZXNvbHZlT2Zmc2V0cyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/offsets/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/offsets/inset.es.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/offsets/inset.es.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ calcInset: function() { return /* binding */ calcInset; }\n/* harmony export */ });\nfunction calcInset(element, container) {\n let inset = { x: 0, y: 0 };\n let current = element;\n while (current && current !== container) {\n if (current instanceof HTMLElement) {\n inset.x += current.offsetLeft;\n inset.y += current.offsetTop;\n current = current.offsetParent;\n }\n else if (current instanceof SVGGraphicsElement && \"getBBox\" in current) {\n const { top, left } = current.getBBox();\n inset.x += left;\n inset.y += top;\n /**\n * Assign the next parent element as the <svg /> tag.\n */\n while (current && current.tagName !== \"svg\") {\n current = current.parentNode;\n }\n }\n }\n return inset;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9pbnNldC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFcUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvZ2VzdHVyZXMvc2Nyb2xsL29mZnNldHMvaW5zZXQuZXMuanM/YjBhZSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBjYWxjSW5zZXQoZWxlbWVudCwgY29udGFpbmVyKSB7XG4gICAgbGV0IGluc2V0ID0geyB4OiAwLCB5OiAwIH07XG4gICAgbGV0IGN1cnJlbnQgPSBlbGVtZW50O1xuICAgIHdoaWxlIChjdXJyZW50ICYmIGN1cnJlbnQgIT09IGNvbnRhaW5lcikge1xuICAgICAgICBpZiAoY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICBpbnNldC54ICs9IGN1cnJlbnQub2Zmc2V0TGVmdDtcbiAgICAgICAgICAgIGluc2V0LnkgKz0gY3VycmVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICBjdXJyZW50ID0gY3VycmVudC5vZmZzZXRQYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY3VycmVudCBpbnN0YW5jZW9mIFNWR0dyYXBoaWNzRWxlbWVudCAmJiBcImdldEJCb3hcIiBpbiBjdXJyZW50KSB7XG4gICAgICAgICAgICBjb25zdCB7IHRvcCwgbGVmdCB9ID0gY3VycmVudC5nZXRCQm94KCk7XG4gICAgICAgICAgICBpbnNldC54ICs9IGxlZnQ7XG4gICAgICAgICAgICBpbnNldC55ICs9IHRvcDtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQXNzaWduIHRoZSBuZXh0IHBhcmVudCBlbGVtZW50IGFzIHRoZSA8c3ZnIC8+IHRhZy5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudC50YWdOYW1lICE9PSBcInN2Z1wiKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50Tm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaW5zZXQ7XG59XG5cbmV4cG9ydCB7IGNhbGNJbnNldCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/offsets/inset.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/offsets/offset.es.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/offsets/offset.es.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resolveOffset: function() { return /* binding */ resolveOffset; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _edge_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edge.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/offsets/edge.es.js\");\n\n\n\nconst defaultOffset = [0, 0];\nfunction resolveOffset(offset, containerLength, targetLength, targetInset) {\n let offsetDefinition = Array.isArray(offset) ? offset : defaultOffset;\n let targetPoint = 0;\n let containerPoint = 0;\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(offset)) {\n /**\n * If we're provided offset: [0, 0.5, 1] then each number x should become\n * [x, x], so we default to the behaviour of mapping 0 => 0 of both target\n * and container etc.\n */\n offsetDefinition = [offset, offset];\n }\n else if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(offset)) {\n offset = offset.trim();\n if (offset.includes(\" \")) {\n offsetDefinition = offset.split(\" \");\n }\n else {\n /**\n * If we're provided a definition like \"100px\" then we want to apply\n * that only to the top of the target point, leaving the container at 0.\n * Whereas a named offset like \"end\" should be applied to both.\n */\n offsetDefinition = [offset, _edge_es_js__WEBPACK_IMPORTED_MODULE_1__.namedEdges[offset] ? offset : `0`];\n }\n }\n targetPoint = (0,_edge_es_js__WEBPACK_IMPORTED_MODULE_1__.resolveEdge)(offsetDefinition[0], targetLength, targetInset);\n containerPoint = (0,_edge_es_js__WEBPACK_IMPORTED_MODULE_1__.resolveEdge)(offsetDefinition[1], containerLength);\n return targetPoint - containerPoint;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9vZmZzZXQuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXNEO0FBQ0M7O0FBRXZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLDBEQUFRO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwwREFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxtREFBVTtBQUNsRDtBQUNBO0FBQ0Esa0JBQWtCLHdEQUFXO0FBQzdCLHFCQUFxQix3REFBVztBQUNoQztBQUNBOztBQUV5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9vZmZzZXQuZXMuanM/MWYzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcgfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcbmltcG9ydCB7IHJlc29sdmVFZGdlLCBuYW1lZEVkZ2VzIH0gZnJvbSAnLi9lZGdlLmVzLmpzJztcblxuY29uc3QgZGVmYXVsdE9mZnNldCA9IFswLCAwXTtcbmZ1bmN0aW9uIHJlc29sdmVPZmZzZXQob2Zmc2V0LCBjb250YWluZXJMZW5ndGgsIHRhcmdldExlbmd0aCwgdGFyZ2V0SW5zZXQpIHtcbiAgICBsZXQgb2Zmc2V0RGVmaW5pdGlvbiA9IEFycmF5LmlzQXJyYXkob2Zmc2V0KSA/IG9mZnNldCA6IGRlZmF1bHRPZmZzZXQ7XG4gICAgbGV0IHRhcmdldFBvaW50ID0gMDtcbiAgICBsZXQgY29udGFpbmVyUG9pbnQgPSAwO1xuICAgIGlmIChpc051bWJlcihvZmZzZXQpKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB3ZSdyZSBwcm92aWRlZCBvZmZzZXQ6IFswLCAwLjUsIDFdIHRoZW4gZWFjaCBudW1iZXIgeCBzaG91bGQgYmVjb21lXG4gICAgICAgICAqIFt4LCB4XSwgc28gd2UgZGVmYXVsdCB0byB0aGUgYmVoYXZpb3VyIG9mIG1hcHBpbmcgMCA9PiAwIG9mIGJvdGggdGFyZ2V0XG4gICAgICAgICAqIGFuZCBjb250YWluZXIgZXRjLlxuICAgICAgICAgKi9cbiAgICAgICAgb2Zmc2V0RGVmaW5pdGlvbiA9IFtvZmZzZXQsIG9mZnNldF07XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzU3RyaW5nKG9mZnNldCkpIHtcbiAgICAgICAgb2Zmc2V0ID0gb2Zmc2V0LnRyaW0oKTtcbiAgICAgICAgaWYgKG9mZnNldC5pbmNsdWRlcyhcIiBcIikpIHtcbiAgICAgICAgICAgIG9mZnNldERlZmluaXRpb24gPSBvZmZzZXQuc3BsaXQoXCIgXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBJZiB3ZSdyZSBwcm92aWRlZCBhIGRlZmluaXRpb24gbGlrZSBcIjEwMHB4XCIgdGhlbiB3ZSB3YW50IHRvIGFwcGx5XG4gICAgICAgICAgICAgKiB0aGF0IG9ubHkgdG8gdGhlIHRvcCBvZiB0aGUgdGFyZ2V0IHBvaW50LCBsZWF2aW5nIHRoZSBjb250YWluZXIgYXQgMC5cbiAgICAgICAgICAgICAqIFdoZXJlYXMgYSBuYW1lZCBvZmZzZXQgbGlrZSBcImVuZFwiIHNob3VsZCBiZSBhcHBsaWVkIHRvIGJvdGguXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG9mZnNldERlZmluaXRpb24gPSBbb2Zmc2V0LCBuYW1lZEVkZ2VzW29mZnNldF0gPyBvZmZzZXQgOiBgMGBdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRhcmdldFBvaW50ID0gcmVzb2x2ZUVkZ2Uob2Zmc2V0RGVmaW5pdGlvblswXSwgdGFyZ2V0TGVuZ3RoLCB0YXJnZXRJbnNldCk7XG4gICAgY29udGFpbmVyUG9pbnQgPSByZXNvbHZlRWRnZShvZmZzZXREZWZpbml0aW9uWzFdLCBjb250YWluZXJMZW5ndGgpO1xuICAgIHJldHVybiB0YXJnZXRQb2ludCAtIGNvbnRhaW5lclBvaW50O1xufVxuXG5leHBvcnQgeyByZXNvbHZlT2Zmc2V0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/offsets/offset.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/offsets/presets.es.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/offsets/presets.es.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollOffset: function() { return /* binding */ ScrollOffset; }\n/* harmony export */ });\nconst ScrollOffset = {\n Enter: [\n [0, 1],\n [1, 1],\n ],\n Exit: [\n [0, 0],\n [1, 0],\n ],\n Any: [\n [1, 0],\n [0, 1],\n ],\n All: [\n [0, 0],\n [1, 1],\n ],\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb2Zmc2V0cy9wcmVzZXRzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L2dlc3R1cmVzL3Njcm9sbC9vZmZzZXRzL3ByZXNldHMuZXMuanM/NDJmMCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTY3JvbGxPZmZzZXQgPSB7XG4gICAgRW50ZXI6IFtcbiAgICAgICAgWzAsIDFdLFxuICAgICAgICBbMSwgMV0sXG4gICAgXSxcbiAgICBFeGl0OiBbXG4gICAgICAgIFswLCAwXSxcbiAgICAgICAgWzEsIDBdLFxuICAgIF0sXG4gICAgQW55OiBbXG4gICAgICAgIFsxLCAwXSxcbiAgICAgICAgWzAsIDFdLFxuICAgIF0sXG4gICAgQWxsOiBbXG4gICAgICAgIFswLCAwXSxcbiAgICAgICAgWzEsIDFdLFxuICAgIF0sXG59O1xuXG5leHBvcnQgeyBTY3JvbGxPZmZzZXQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/offsets/presets.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/gestures/scroll/on-scroll-handler.es.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/gestures/scroll/on-scroll-handler.es.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createOnScrollHandler: function() { return /* binding */ createOnScrollHandler; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _info_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./info.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/info.es.js\");\n/* harmony import */ var _offsets_index_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./offsets/index.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/offsets/index.es.js\");\n\n\n\n\nfunction measure(container, target = container, info) {\n /**\n * Find inset of target within scrollable container\n */\n info.x.targetOffset = 0;\n info.y.targetOffset = 0;\n if (target !== container) {\n let node = target;\n while (node && node != container) {\n info.x.targetOffset += node.offsetLeft;\n info.y.targetOffset += node.offsetTop;\n node = node.offsetParent;\n }\n }\n info.x.targetLength =\n target === container ? target.scrollWidth : target.clientWidth;\n info.y.targetLength =\n target === container ? target.scrollHeight : target.clientHeight;\n info.x.containerLength = container.clientWidth;\n info.y.containerLength = container.clientHeight;\n}\nfunction createOnScrollHandler(element, onScroll, info, options = {}) {\n const axis = options.axis || \"y\";\n return {\n measure: () => measure(element, options.target, info),\n update: (time) => {\n (0,_info_es_js__WEBPACK_IMPORTED_MODULE_0__.updateScrollInfo)(element, info, time);\n if (options.offset || options.target) {\n (0,_offsets_index_es_js__WEBPACK_IMPORTED_MODULE_1__.resolveOffsets)(element, info, options);\n }\n },\n notify: (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_2__.isFunction)(onScroll)\n ? () => onScroll(info)\n : scrubAnimation(onScroll, info[axis]),\n };\n}\nfunction scrubAnimation(controls, axisInfo) {\n controls.pause();\n controls.forEachNative((animation, { easing }) => {\n var _a, _b;\n if (animation.updateDuration) {\n if (!easing)\n animation.easing = _motionone_utils__WEBPACK_IMPORTED_MODULE_2__.noopReturn;\n animation.updateDuration(1);\n }\n else {\n const timingOptions = { duration: 1000 };\n if (!easing)\n timingOptions.easing = \"linear\";\n (_b = (_a = animation.effect) === null || _a === void 0 ? void 0 : _a.updateTiming) === null || _b === void 0 ? void 0 : _b.call(_a, timingOptions);\n }\n });\n return () => {\n controls.currentTime = axisInfo.progress;\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb24tc2Nyb2xsLWhhbmRsZXIuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEwRDtBQUNWO0FBQ087O0FBRXZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksNkRBQWdCO0FBQzVCO0FBQ0EsZ0JBQWdCLG9FQUFjO0FBQzlCO0FBQ0EsU0FBUztBQUNULGdCQUFnQiw0REFBVTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsUUFBUTtBQUNqRDtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsd0RBQVU7QUFDN0M7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9nZXN0dXJlcy9zY3JvbGwvb24tc2Nyb2xsLWhhbmRsZXIuZXMuanM/MDJhZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uLCBub29wUmV0dXJuIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyB1cGRhdGVTY3JvbGxJbmZvIH0gZnJvbSAnLi9pbmZvLmVzLmpzJztcbmltcG9ydCB7IHJlc29sdmVPZmZzZXRzIH0gZnJvbSAnLi9vZmZzZXRzL2luZGV4LmVzLmpzJztcblxuZnVuY3Rpb24gbWVhc3VyZShjb250YWluZXIsIHRhcmdldCA9IGNvbnRhaW5lciwgaW5mbykge1xuICAgIC8qKlxuICAgICAqIEZpbmQgaW5zZXQgb2YgdGFyZ2V0IHdpdGhpbiBzY3JvbGxhYmxlIGNvbnRhaW5lclxuICAgICAqL1xuICAgIGluZm8ueC50YXJnZXRPZmZzZXQgPSAwO1xuICAgIGluZm8ueS50YXJnZXRPZmZzZXQgPSAwO1xuICAgIGlmICh0YXJnZXQgIT09IGNvbnRhaW5lcikge1xuICAgICAgICBsZXQgbm9kZSA9IHRhcmdldDtcbiAgICAgICAgd2hpbGUgKG5vZGUgJiYgbm9kZSAhPSBjb250YWluZXIpIHtcbiAgICAgICAgICAgIGluZm8ueC50YXJnZXRPZmZzZXQgKz0gbm9kZS5vZmZzZXRMZWZ0O1xuICAgICAgICAgICAgaW5mby55LnRhcmdldE9mZnNldCArPSBub2RlLm9mZnNldFRvcDtcbiAgICAgICAgICAgIG5vZGUgPSBub2RlLm9mZnNldFBhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbmZvLngudGFyZ2V0TGVuZ3RoID1cbiAgICAgICAgdGFyZ2V0ID09PSBjb250YWluZXIgPyB0YXJnZXQuc2Nyb2xsV2lkdGggOiB0YXJnZXQuY2xpZW50V2lkdGg7XG4gICAgaW5mby55LnRhcmdldExlbmd0aCA9XG4gICAgICAgIHRhcmdldCA9PT0gY29udGFpbmVyID8gdGFyZ2V0LnNjcm9sbEhlaWdodCA6IHRhcmdldC5jbGllbnRIZWlnaHQ7XG4gICAgaW5mby54LmNvbnRhaW5lckxlbmd0aCA9IGNvbnRhaW5lci5jbGllbnRXaWR0aDtcbiAgICBpbmZvLnkuY29udGFpbmVyTGVuZ3RoID0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZU9uU2Nyb2xsSGFuZGxlcihlbGVtZW50LCBvblNjcm9sbCwgaW5mbywgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgYXhpcyA9IG9wdGlvbnMuYXhpcyB8fCBcInlcIjtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZWFzdXJlOiAoKSA9PiBtZWFzdXJlKGVsZW1lbnQsIG9wdGlvbnMudGFyZ2V0LCBpbmZvKSxcbiAgICAgICAgdXBkYXRlOiAodGltZSkgPT4ge1xuICAgICAgICAgICAgdXBkYXRlU2Nyb2xsSW5mbyhlbGVtZW50LCBpbmZvLCB0aW1lKTtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLm9mZnNldCB8fCBvcHRpb25zLnRhcmdldCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmVPZmZzZXRzKGVsZW1lbnQsIGluZm8sIG9wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBub3RpZnk6IGlzRnVuY3Rpb24ob25TY3JvbGwpXG4gICAgICAgICAgICA/ICgpID0+IG9uU2Nyb2xsKGluZm8pXG4gICAgICAgICAgICA6IHNjcnViQW5pbWF0aW9uKG9uU2Nyb2xsLCBpbmZvW2F4aXNdKSxcbiAgICB9O1xufVxuZnVuY3Rpb24gc2NydWJBbmltYXRpb24oY29udHJvbHMsIGF4aXNJbmZvKSB7XG4gICAgY29udHJvbHMucGF1c2UoKTtcbiAgICBjb250cm9scy5mb3JFYWNoTmF0aXZlKChhbmltYXRpb24sIHsgZWFzaW5nIH0pID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKGFuaW1hdGlvbi51cGRhdGVEdXJhdGlvbikge1xuICAgICAgICAgICAgaWYgKCFlYXNpbmcpXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLmVhc2luZyA9IG5vb3BSZXR1cm47XG4gICAgICAgICAgICBhbmltYXRpb24udXBkYXRlRHVyYXRpb24oMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0aW1pbmdPcHRpb25zID0geyBkdXJhdGlvbjogMTAwMCB9O1xuICAgICAgICAgICAgaWYgKCFlYXNpbmcpXG4gICAgICAgICAgICAgICAgdGltaW5nT3B0aW9ucy5lYXNpbmcgPSBcImxpbmVhclwiO1xuICAgICAgICAgICAgKF9iID0gKF9hID0gYW5pbWF0aW9uLmVmZmVjdCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnVwZGF0ZVRpbWluZykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIHRpbWluZ09wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29udHJvbHMuY3VycmVudFRpbWUgPSBheGlzSW5mby5wcm9ncmVzcztcbiAgICB9O1xufVxuXG5leHBvcnQgeyBjcmVhdGVPblNjcm9sbEhhbmRsZXIgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/gestures/scroll/on-scroll-handler.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/index.es.js": -/*!******************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/index.es.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollOffset: function() { return /* reexport safe */ _gestures_scroll_offsets_presets_es_js__WEBPACK_IMPORTED_MODULE_11__.ScrollOffset; },\n/* harmony export */ animate: function() { return /* reexport safe */ _animate_index_es_js__WEBPACK_IMPORTED_MODULE_0__.animate; },\n/* harmony export */ animateStyle: function() { return /* reexport safe */ _animate_animate_style_es_js__WEBPACK_IMPORTED_MODULE_2__.animateStyle; },\n/* harmony export */ createAnimate: function() { return /* reexport safe */ _animate_create_animate_es_js__WEBPACK_IMPORTED_MODULE_1__.createAnimate; },\n/* harmony export */ createMotionState: function() { return /* reexport safe */ _state_index_es_js__WEBPACK_IMPORTED_MODULE_15__.createMotionState; },\n/* harmony export */ createStyleString: function() { return /* reexport safe */ _animate_utils_style_string_es_js__WEBPACK_IMPORTED_MODULE_17__.createStyleString; },\n/* harmony export */ createStyles: function() { return /* reexport safe */ _animate_utils_style_object_es_js__WEBPACK_IMPORTED_MODULE_16__.createStyles; },\n/* harmony export */ getAnimationData: function() { return /* reexport safe */ _animate_data_es_js__WEBPACK_IMPORTED_MODULE_13__.getAnimationData; },\n/* harmony export */ getStyleName: function() { return /* reexport safe */ _animate_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_14__.getStyleName; },\n/* harmony export */ glide: function() { return /* reexport safe */ _easing_glide_index_es_js__WEBPACK_IMPORTED_MODULE_6__.glide; },\n/* harmony export */ inView: function() { return /* reexport safe */ _gestures_in_view_es_js__WEBPACK_IMPORTED_MODULE_8__.inView; },\n/* harmony export */ mountedStates: function() { return /* reexport safe */ _state_index_es_js__WEBPACK_IMPORTED_MODULE_15__.mountedStates; },\n/* harmony export */ resize: function() { return /* reexport safe */ _gestures_resize_index_es_js__WEBPACK_IMPORTED_MODULE_9__.resize; },\n/* harmony export */ scroll: function() { return /* reexport safe */ _gestures_scroll_index_es_js__WEBPACK_IMPORTED_MODULE_10__.scroll; },\n/* harmony export */ spring: function() { return /* reexport safe */ _easing_spring_index_es_js__WEBPACK_IMPORTED_MODULE_5__.spring; },\n/* harmony export */ stagger: function() { return /* reexport safe */ _utils_stagger_es_js__WEBPACK_IMPORTED_MODULE_4__.stagger; },\n/* harmony export */ style: function() { return /* reexport safe */ _animate_style_es_js__WEBPACK_IMPORTED_MODULE_7__.style; },\n/* harmony export */ timeline: function() { return /* reexport safe */ _timeline_index_es_js__WEBPACK_IMPORTED_MODULE_3__.timeline; },\n/* harmony export */ withControls: function() { return /* reexport safe */ _animate_utils_controls_es_js__WEBPACK_IMPORTED_MODULE_12__.withControls; }\n/* harmony export */ });\n/* harmony import */ var _animate_index_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./animate/index.es.js */ \"./node_modules/@motionone/dom/dist/animate/index.es.js\");\n/* harmony import */ var _animate_create_animate_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./animate/create-animate.es.js */ \"./node_modules/@motionone/dom/dist/animate/create-animate.es.js\");\n/* harmony import */ var _animate_animate_style_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./animate/animate-style.es.js */ \"./node_modules/@motionone/dom/dist/animate/animate-style.es.js\");\n/* harmony import */ var _timeline_index_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./timeline/index.es.js */ \"./node_modules/@motionone/dom/dist/timeline/index.es.js\");\n/* harmony import */ var _utils_stagger_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/stagger.es.js */ \"./node_modules/@motionone/dom/dist/utils/stagger.es.js\");\n/* harmony import */ var _easing_spring_index_es_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./easing/spring/index.es.js */ \"./node_modules/@motionone/dom/dist/easing/spring/index.es.js\");\n/* harmony import */ var _easing_glide_index_es_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./easing/glide/index.es.js */ \"./node_modules/@motionone/dom/dist/easing/glide/index.es.js\");\n/* harmony import */ var _animate_style_es_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./animate/style.es.js */ \"./node_modules/@motionone/dom/dist/animate/style.es.js\");\n/* harmony import */ var _gestures_in_view_es_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./gestures/in-view.es.js */ \"./node_modules/@motionone/dom/dist/gestures/in-view.es.js\");\n/* harmony import */ var _gestures_resize_index_es_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./gestures/resize/index.es.js */ \"./node_modules/@motionone/dom/dist/gestures/resize/index.es.js\");\n/* harmony import */ var _gestures_scroll_index_es_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./gestures/scroll/index.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/index.es.js\");\n/* harmony import */ var _gestures_scroll_offsets_presets_es_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./gestures/scroll/offsets/presets.es.js */ \"./node_modules/@motionone/dom/dist/gestures/scroll/offsets/presets.es.js\");\n/* harmony import */ var _animate_utils_controls_es_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./animate/utils/controls.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/controls.es.js\");\n/* harmony import */ var _animate_data_es_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./animate/data.es.js */ \"./node_modules/@motionone/dom/dist/animate/data.es.js\");\n/* harmony import */ var _animate_utils_get_style_name_es_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./animate/utils/get-style-name.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/get-style-name.es.js\");\n/* harmony import */ var _state_index_es_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./state/index.es.js */ \"./node_modules/@motionone/dom/dist/state/index.es.js\");\n/* harmony import */ var _animate_utils_style_object_es_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./animate/utils/style-object.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/style-object.es.js\");\n/* harmony import */ var _animate_utils_style_string_es_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./animate/utils/style-string.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/style-string.es.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWdEO0FBQ2U7QUFDRjtBQUNYO0FBQ0Y7QUFDSztBQUNGO0FBQ0w7QUFDSTtBQUNLO0FBQ0E7QUFDZ0I7QUFDVDtBQUNOO0FBQ1k7QUFDRztBQUNMO0FBQ0siLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvaW5kZXguZXMuanM/MjY1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBhbmltYXRlIH0gZnJvbSAnLi9hbmltYXRlL2luZGV4LmVzLmpzJztcbmV4cG9ydCB7IGNyZWF0ZUFuaW1hdGUgfSBmcm9tICcuL2FuaW1hdGUvY3JlYXRlLWFuaW1hdGUuZXMuanMnO1xuZXhwb3J0IHsgYW5pbWF0ZVN0eWxlIH0gZnJvbSAnLi9hbmltYXRlL2FuaW1hdGUtc3R5bGUuZXMuanMnO1xuZXhwb3J0IHsgdGltZWxpbmUgfSBmcm9tICcuL3RpbWVsaW5lL2luZGV4LmVzLmpzJztcbmV4cG9ydCB7IHN0YWdnZXIgfSBmcm9tICcuL3V0aWxzL3N0YWdnZXIuZXMuanMnO1xuZXhwb3J0IHsgc3ByaW5nIH0gZnJvbSAnLi9lYXNpbmcvc3ByaW5nL2luZGV4LmVzLmpzJztcbmV4cG9ydCB7IGdsaWRlIH0gZnJvbSAnLi9lYXNpbmcvZ2xpZGUvaW5kZXguZXMuanMnO1xuZXhwb3J0IHsgc3R5bGUgfSBmcm9tICcuL2FuaW1hdGUvc3R5bGUuZXMuanMnO1xuZXhwb3J0IHsgaW5WaWV3IH0gZnJvbSAnLi9nZXN0dXJlcy9pbi12aWV3LmVzLmpzJztcbmV4cG9ydCB7IHJlc2l6ZSB9IGZyb20gJy4vZ2VzdHVyZXMvcmVzaXplL2luZGV4LmVzLmpzJztcbmV4cG9ydCB7IHNjcm9sbCB9IGZyb20gJy4vZ2VzdHVyZXMvc2Nyb2xsL2luZGV4LmVzLmpzJztcbmV4cG9ydCB7IFNjcm9sbE9mZnNldCB9IGZyb20gJy4vZ2VzdHVyZXMvc2Nyb2xsL29mZnNldHMvcHJlc2V0cy5lcy5qcyc7XG5leHBvcnQgeyB3aXRoQ29udHJvbHMgfSBmcm9tICcuL2FuaW1hdGUvdXRpbHMvY29udHJvbHMuZXMuanMnO1xuZXhwb3J0IHsgZ2V0QW5pbWF0aW9uRGF0YSB9IGZyb20gJy4vYW5pbWF0ZS9kYXRhLmVzLmpzJztcbmV4cG9ydCB7IGdldFN0eWxlTmFtZSB9IGZyb20gJy4vYW5pbWF0ZS91dGlscy9nZXQtc3R5bGUtbmFtZS5lcy5qcyc7XG5leHBvcnQgeyBjcmVhdGVNb3Rpb25TdGF0ZSwgbW91bnRlZFN0YXRlcyB9IGZyb20gJy4vc3RhdGUvaW5kZXguZXMuanMnO1xuZXhwb3J0IHsgY3JlYXRlU3R5bGVzIH0gZnJvbSAnLi9hbmltYXRlL3V0aWxzL3N0eWxlLW9iamVjdC5lcy5qcyc7XG5leHBvcnQgeyBjcmVhdGVTdHlsZVN0cmluZyB9IGZyb20gJy4vYW5pbWF0ZS91dGlscy9zdHlsZS1zdHJpbmcuZXMuanMnO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/gestures/hover.es.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/gestures/hover.es.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hover: function() { return /* binding */ hover; }\n/* harmony export */ });\n/* harmony import */ var _utils_events_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/events.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/events.es.js\");\n\n\nconst mouseEvent = (element, name, action) => (event) => {\n if (event.pointerType && event.pointerType !== \"mouse\")\n return;\n action();\n (0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_0__.dispatchPointerEvent)(element, name, event);\n};\nconst hover = {\n isActive: (options) => Boolean(options.hover),\n subscribe: (element, { enable, disable }) => {\n const onEnter = mouseEvent(element, \"hoverstart\", enable);\n const onLeave = mouseEvent(element, \"hoverend\", disable);\n element.addEventListener(\"pointerenter\", onEnter);\n element.addEventListener(\"pointerleave\", onLeave);\n return () => {\n element.removeEventListener(\"pointerenter\", onEnter);\n element.removeEventListener(\"pointerleave\", onLeave);\n };\n },\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS9nZXN0dXJlcy9ob3Zlci5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2RDs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLHlFQUFvQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsaUJBQWlCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L3N0YXRlL2dlc3R1cmVzL2hvdmVyLmVzLmpzP2RiNTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzcGF0Y2hQb2ludGVyRXZlbnQgfSBmcm9tICcuLi91dGlscy9ldmVudHMuZXMuanMnO1xuXG5jb25zdCBtb3VzZUV2ZW50ID0gKGVsZW1lbnQsIG5hbWUsIGFjdGlvbikgPT4gKGV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlICYmIGV2ZW50LnBvaW50ZXJUeXBlICE9PSBcIm1vdXNlXCIpXG4gICAgICAgIHJldHVybjtcbiAgICBhY3Rpb24oKTtcbiAgICBkaXNwYXRjaFBvaW50ZXJFdmVudChlbGVtZW50LCBuYW1lLCBldmVudCk7XG59O1xuY29uc3QgaG92ZXIgPSB7XG4gICAgaXNBY3RpdmU6IChvcHRpb25zKSA9PiBCb29sZWFuKG9wdGlvbnMuaG92ZXIpLFxuICAgIHN1YnNjcmliZTogKGVsZW1lbnQsIHsgZW5hYmxlLCBkaXNhYmxlIH0pID0+IHtcbiAgICAgICAgY29uc3Qgb25FbnRlciA9IG1vdXNlRXZlbnQoZWxlbWVudCwgXCJob3ZlcnN0YXJ0XCIsIGVuYWJsZSk7XG4gICAgICAgIGNvbnN0IG9uTGVhdmUgPSBtb3VzZUV2ZW50KGVsZW1lbnQsIFwiaG92ZXJlbmRcIiwgZGlzYWJsZSk7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJlbnRlclwiLCBvbkVudGVyKTtcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcmxlYXZlXCIsIG9uTGVhdmUpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmVudGVyXCIsIG9uRW50ZXIpO1xuICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmxlYXZlXCIsIG9uTGVhdmUpO1xuICAgICAgICB9O1xuICAgIH0sXG59O1xuXG5leHBvcnQgeyBob3ZlciB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/gestures/hover.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/gestures/in-view.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/gestures/in-view.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ inView: function() { return /* binding */ inView; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var _utils_events_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/events.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/events.es.js\");\n/* harmony import */ var _gestures_in_view_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../gestures/in-view.es.js */ \"./node_modules/@motionone/dom/dist/gestures/in-view.es.js\");\n\n\n\n\nconst inView = {\n isActive: (options) => Boolean(options.inView),\n subscribe: (element, { enable, disable }, { inViewOptions = {} }) => {\n const { once } = inViewOptions, viewOptions = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__rest)(inViewOptions, [\"once\"]);\n return (0,_gestures_in_view_es_js__WEBPACK_IMPORTED_MODULE_1__.inView)(element, (enterEntry) => {\n enable();\n (0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_2__.dispatchViewEvent)(element, \"viewenter\", enterEntry);\n if (!once) {\n return (leaveEntry) => {\n disable();\n (0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_2__.dispatchViewEvent)(element, \"viewleave\", leaveEntry);\n };\n }\n }, viewOptions);\n },\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS9nZXN0dXJlcy9pbi12aWV3LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBK0I7QUFDMkI7QUFDUTs7QUFFbEU7QUFDQTtBQUNBLDJCQUEyQixpQkFBaUIsSUFBSSxvQkFBb0I7QUFDcEUsZ0JBQWdCLE9BQU8sK0JBQStCLDZDQUFNO0FBQzVELGVBQWUsK0RBQVE7QUFDdkI7QUFDQSxZQUFZLHNFQUFpQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isc0VBQWlCO0FBQ3JDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMOztBQUVrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS9nZXN0dXJlcy9pbi12aWV3LmVzLmpzPzRjZjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19yZXN0IH0gZnJvbSAndHNsaWInO1xuaW1wb3J0IHsgZGlzcGF0Y2hWaWV3RXZlbnQgfSBmcm9tICcuLi91dGlscy9ldmVudHMuZXMuanMnO1xuaW1wb3J0IHsgaW5WaWV3IGFzIGluVmlldyQxIH0gZnJvbSAnLi4vLi4vZ2VzdHVyZXMvaW4tdmlldy5lcy5qcyc7XG5cbmNvbnN0IGluVmlldyA9IHtcbiAgICBpc0FjdGl2ZTogKG9wdGlvbnMpID0+IEJvb2xlYW4ob3B0aW9ucy5pblZpZXcpLFxuICAgIHN1YnNjcmliZTogKGVsZW1lbnQsIHsgZW5hYmxlLCBkaXNhYmxlIH0sIHsgaW5WaWV3T3B0aW9ucyA9IHt9IH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBvbmNlIH0gPSBpblZpZXdPcHRpb25zLCB2aWV3T3B0aW9ucyA9IF9fcmVzdChpblZpZXdPcHRpb25zLCBbXCJvbmNlXCJdKTtcbiAgICAgICAgcmV0dXJuIGluVmlldyQxKGVsZW1lbnQsIChlbnRlckVudHJ5KSA9PiB7XG4gICAgICAgICAgICBlbmFibGUoKTtcbiAgICAgICAgICAgIGRpc3BhdGNoVmlld0V2ZW50KGVsZW1lbnQsIFwidmlld2VudGVyXCIsIGVudGVyRW50cnkpO1xuICAgICAgICAgICAgaWYgKCFvbmNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChsZWF2ZUVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGUoKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hWaWV3RXZlbnQoZWxlbWVudCwgXCJ2aWV3bGVhdmVcIiwgbGVhdmVFbnRyeSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdmlld09wdGlvbnMpO1xuICAgIH0sXG59O1xuXG5leHBvcnQgeyBpblZpZXcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/gestures/in-view.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/gestures/press.es.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/gestures/press.es.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ press: function() { return /* binding */ press; }\n/* harmony export */ });\n/* harmony import */ var _utils_events_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/events.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/events.es.js\");\n\n\nconst press = {\n isActive: (options) => Boolean(options.press),\n subscribe: (element, { enable, disable }) => {\n const onPointerUp = (event) => {\n disable();\n (0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_0__.dispatchPointerEvent)(element, \"pressend\", event);\n window.removeEventListener(\"pointerup\", onPointerUp);\n };\n const onPointerDown = (event) => {\n enable();\n (0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_0__.dispatchPointerEvent)(element, \"pressstart\", event);\n window.addEventListener(\"pointerup\", onPointerUp);\n };\n element.addEventListener(\"pointerdown\", onPointerDown);\n return () => {\n element.removeEventListener(\"pointerdown\", onPointerDown);\n window.removeEventListener(\"pointerup\", onPointerUp);\n };\n },\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS9nZXN0dXJlcy9wcmVzcy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2RDs7QUFFN0Q7QUFDQTtBQUNBLDJCQUEyQixpQkFBaUI7QUFDNUM7QUFDQTtBQUNBLFlBQVkseUVBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSx5RUFBb0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L3N0YXRlL2dlc3R1cmVzL3ByZXNzLmVzLmpzP2EzZjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzcGF0Y2hQb2ludGVyRXZlbnQgfSBmcm9tICcuLi91dGlscy9ldmVudHMuZXMuanMnO1xuXG5jb25zdCBwcmVzcyA9IHtcbiAgICBpc0FjdGl2ZTogKG9wdGlvbnMpID0+IEJvb2xlYW4ob3B0aW9ucy5wcmVzcyksXG4gICAgc3Vic2NyaWJlOiAoZWxlbWVudCwgeyBlbmFibGUsIGRpc2FibGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBvblBvaW50ZXJVcCA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgZGlzYWJsZSgpO1xuICAgICAgICAgICAgZGlzcGF0Y2hQb2ludGVyRXZlbnQoZWxlbWVudCwgXCJwcmVzc2VuZFwiLCBldmVudCk7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLCBvblBvaW50ZXJVcCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9uUG9pbnRlckRvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGVuYWJsZSgpO1xuICAgICAgICAgICAgZGlzcGF0Y2hQb2ludGVyRXZlbnQoZWxlbWVudCwgXCJwcmVzc3N0YXJ0XCIsIGV2ZW50KTtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsIG9uUG9pbnRlclVwKTtcbiAgICAgICAgfTtcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcmRvd25cIiwgb25Qb2ludGVyRG93bik7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVyZG93blwiLCBvblBvaW50ZXJEb3duKTtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsIG9uUG9pbnRlclVwKTtcbiAgICAgICAgfTtcbiAgICB9LFxufTtcblxuZXhwb3J0IHsgcHJlc3MgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/gestures/press.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/index.es.js": -/*!************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/index.es.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createMotionState: function() { return /* binding */ createMotionState; },\n/* harmony export */ mountedStates: function() { return /* binding */ mountedStates; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var hey_listen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hey-listen */ \"./node_modules/hey-listen/dist/hey-listen.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _animate_animate_style_es_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../animate/animate-style.es.js */ \"./node_modules/@motionone/dom/dist/animate/animate-style.es.js\");\n/* harmony import */ var _animate_style_es_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../animate/style.es.js */ \"./node_modules/@motionone/dom/dist/animate/style.es.js\");\n/* harmony import */ var _animate_utils_options_es_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../animate/utils/options.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/options.es.js\");\n/* harmony import */ var _utils_has_changed_es_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/has-changed.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/has-changed.es.js\");\n/* harmony import */ var _utils_resolve_variant_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/resolve-variant.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/resolve-variant.es.js\");\n/* harmony import */ var _utils_schedule_es_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/schedule.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/schedule.es.js\");\n/* harmony import */ var _gestures_in_view_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gestures/in-view.es.js */ \"./node_modules/@motionone/dom/dist/state/gestures/in-view.es.js\");\n/* harmony import */ var _gestures_hover_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gestures/hover.es.js */ \"./node_modules/@motionone/dom/dist/state/gestures/hover.es.js\");\n/* harmony import */ var _gestures_press_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./gestures/press.es.js */ \"./node_modules/@motionone/dom/dist/state/gestures/press.es.js\");\n/* harmony import */ var _utils_events_es_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/events.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/events.es.js\");\n/* harmony import */ var _motionone_animation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @motionone/animation */ \"./node_modules/@motionone/animation/dist/index.es.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst gestures = { inView: _gestures_in_view_es_js__WEBPACK_IMPORTED_MODULE_1__.inView, hover: _gestures_hover_es_js__WEBPACK_IMPORTED_MODULE_2__.hover, press: _gestures_press_es_js__WEBPACK_IMPORTED_MODULE_3__.press };\n/**\n * A list of state types, in priority order. If a value is defined in\n * a righter-most type, it will override any definition in a lefter-most.\n */\nconst stateTypes = [\"initial\", \"animate\", ...Object.keys(gestures), \"exit\"];\n/**\n * A global store of all generated motion states. This can be used to lookup\n * a motion state for a given Element.\n */\nconst mountedStates = new WeakMap();\nfunction createMotionState(options = {}, parent) {\n /**\n * The element represented by the motion state. This is an empty reference\n * when we create the state to support SSR and allow for later mounting\n * in view libraries.\n *\n * @ts-ignore\n */\n let element;\n /**\n * Calculate a depth that we can use to order motion states by tree depth.\n */\n let depth = parent ? parent.getDepth() + 1 : 0;\n /**\n * Track which states are currently active.\n */\n const activeStates = { initial: true, animate: true };\n /**\n * A map of functions that, when called, will remove event listeners for\n * a given gesture.\n */\n const gestureSubscriptions = {};\n /**\n * Initialise a context to share through motion states. This\n * will be populated by variant names (if any).\n */\n const context = {};\n for (const name of stateTypes) {\n context[name] =\n typeof options[name] === \"string\"\n ? options[name]\n : parent === null || parent === void 0 ? void 0 : parent.getContext()[name];\n }\n /**\n * If initial is set to false we use the animate prop as the initial\n * animation state.\n */\n const initialVariantSource = options.initial === false ? \"animate\" : \"initial\";\n /**\n * Destructure an initial target out from the resolved initial variant.\n */\n let _a = (0,_utils_resolve_variant_es_js__WEBPACK_IMPORTED_MODULE_4__.resolveVariant)(options[initialVariantSource] || context[initialVariantSource], options.variants) || {}, target = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__rest)(_a, [\"transition\"]);\n /**\n * The base target is a cached map of values that we'll use to animate\n * back to if a value is removed from all active state types. This\n * is usually the initial value as read from the DOM, for instance if\n * it hasn't been defined in initial.\n */\n const baseTarget = Object.assign({}, target);\n /**\n * A generator that will be processed by the global animation scheduler.\n * This yeilds when it switches from reading the DOM to writing to it\n * to prevent layout thrashing.\n */\n function* animateUpdates() {\n var _a, _b;\n const prevTarget = target;\n target = {};\n const animationOptions = {};\n for (const name of stateTypes) {\n if (!activeStates[name])\n continue;\n const variant = (0,_utils_resolve_variant_es_js__WEBPACK_IMPORTED_MODULE_4__.resolveVariant)(options[name]);\n if (!variant)\n continue;\n for (const key in variant) {\n if (key === \"transition\")\n continue;\n target[key] = variant[key];\n animationOptions[key] = (0,_animate_utils_options_es_js__WEBPACK_IMPORTED_MODULE_6__.getOptions)((_b = (_a = variant.transition) !== null && _a !== void 0 ? _a : options.transition) !== null && _b !== void 0 ? _b : {}, key);\n }\n }\n const allTargetKeys = new Set([\n ...Object.keys(target),\n ...Object.keys(prevTarget),\n ]);\n const animationFactories = [];\n allTargetKeys.forEach((key) => {\n var _a;\n if (target[key] === undefined) {\n target[key] = baseTarget[key];\n }\n if ((0,_utils_has_changed_es_js__WEBPACK_IMPORTED_MODULE_7__.hasChanged)(prevTarget[key], target[key])) {\n (_a = baseTarget[key]) !== null && _a !== void 0 ? _a : (baseTarget[key] = _animate_style_es_js__WEBPACK_IMPORTED_MODULE_8__.style.get(element, key));\n animationFactories.push((0,_animate_animate_style_es_js__WEBPACK_IMPORTED_MODULE_9__.animateStyle)(element, key, target[key], animationOptions[key], _motionone_animation__WEBPACK_IMPORTED_MODULE_10__.Animation));\n }\n });\n // Wait for all animation states to read from the DOM\n yield;\n const animations = animationFactories\n .map((factory) => factory())\n .filter(Boolean);\n if (!animations.length)\n return;\n const animationTarget = target;\n element.dispatchEvent((0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_11__.motionEvent)(\"motionstart\", animationTarget));\n Promise.all(animations.map((animation) => animation.finished))\n .then(() => {\n element.dispatchEvent((0,_utils_events_es_js__WEBPACK_IMPORTED_MODULE_11__.motionEvent)(\"motioncomplete\", animationTarget));\n })\n .catch(_motionone_utils__WEBPACK_IMPORTED_MODULE_12__.noop);\n }\n const setGesture = (name, isActive) => () => {\n activeStates[name] = isActive;\n (0,_utils_schedule_es_js__WEBPACK_IMPORTED_MODULE_13__.scheduleAnimation)(state);\n };\n const updateGestureSubscriptions = () => {\n for (const name in gestures) {\n const isGestureActive = gestures[name].isActive(options);\n const remove = gestureSubscriptions[name];\n if (isGestureActive && !remove) {\n gestureSubscriptions[name] = gestures[name].subscribe(element, {\n enable: setGesture(name, true),\n disable: setGesture(name, false),\n }, options);\n }\n else if (!isGestureActive && remove) {\n remove();\n delete gestureSubscriptions[name];\n }\n }\n };\n const state = {\n update: (newOptions) => {\n if (!element)\n return;\n options = newOptions;\n updateGestureSubscriptions();\n (0,_utils_schedule_es_js__WEBPACK_IMPORTED_MODULE_13__.scheduleAnimation)(state);\n },\n setActive: (name, isActive) => {\n if (!element)\n return;\n activeStates[name] = isActive;\n (0,_utils_schedule_es_js__WEBPACK_IMPORTED_MODULE_13__.scheduleAnimation)(state);\n },\n animateUpdates,\n getDepth: () => depth,\n getTarget: () => target,\n getOptions: () => options,\n getContext: () => context,\n mount: (newElement) => {\n (0,hey_listen__WEBPACK_IMPORTED_MODULE_0__.invariant)(Boolean(newElement), \"Animation state must be mounted with valid Element\");\n element = newElement;\n mountedStates.set(element, state);\n updateGestureSubscriptions();\n return () => {\n mountedStates.delete(element);\n (0,_utils_schedule_es_js__WEBPACK_IMPORTED_MODULE_13__.unscheduleAnimation)(state);\n for (const key in gestureSubscriptions) {\n gestureSubscriptions[key]();\n }\n };\n },\n isMounted: () => Boolean(element),\n };\n return state;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ1E7QUFDQztBQUNzQjtBQUNmO0FBQ2E7QUFDTDtBQUNRO0FBQ2lCO0FBQzlCO0FBQ0g7QUFDQTtBQUNJO0FBQ0Y7O0FBRWpELG1CQUFtQixNQUFNLG9FQUFPLGlFQUFPO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLDRFQUFjLHdGQUF3RixXQUFXLDZDQUFNO0FBQ3BJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qiw0RUFBYztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0Msd0VBQVUseUhBQXlIO0FBQzNLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixvRUFBVTtBQUMxQiwyRkFBMkYsdURBQUs7QUFDaEcsd0NBQXdDLDBFQUFZLG1EQUFtRCw0REFBUztBQUNoSDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGlFQUFXO0FBQ3pDO0FBQ0E7QUFDQSxrQ0FBa0MsaUVBQVc7QUFDN0MsU0FBUztBQUNULG1CQUFtQixtREFBSTtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxRQUFRLHlFQUFpQjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHlFQUFpQjtBQUM3QixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHlFQUFpQjtBQUM3QixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxxREFBUztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDJFQUFtQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3Qvc3RhdGUvaW5kZXguZXMuanM/NjQ3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX3Jlc3QgfSBmcm9tICd0c2xpYic7XG5pbXBvcnQgeyBpbnZhcmlhbnQgfSBmcm9tICdoZXktbGlzdGVuJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcbmltcG9ydCB7IGFuaW1hdGVTdHlsZSB9IGZyb20gJy4uL2FuaW1hdGUvYW5pbWF0ZS1zdHlsZS5lcy5qcyc7XG5pbXBvcnQgeyBzdHlsZSB9IGZyb20gJy4uL2FuaW1hdGUvc3R5bGUuZXMuanMnO1xuaW1wb3J0IHsgZ2V0T3B0aW9ucyB9IGZyb20gJy4uL2FuaW1hdGUvdXRpbHMvb3B0aW9ucy5lcy5qcyc7XG5pbXBvcnQgeyBoYXNDaGFuZ2VkIH0gZnJvbSAnLi91dGlscy9oYXMtY2hhbmdlZC5lcy5qcyc7XG5pbXBvcnQgeyByZXNvbHZlVmFyaWFudCB9IGZyb20gJy4vdXRpbHMvcmVzb2x2ZS12YXJpYW50LmVzLmpzJztcbmltcG9ydCB7IHNjaGVkdWxlQW5pbWF0aW9uLCB1bnNjaGVkdWxlQW5pbWF0aW9uIH0gZnJvbSAnLi91dGlscy9zY2hlZHVsZS5lcy5qcyc7XG5pbXBvcnQgeyBpblZpZXcgfSBmcm9tICcuL2dlc3R1cmVzL2luLXZpZXcuZXMuanMnO1xuaW1wb3J0IHsgaG92ZXIgfSBmcm9tICcuL2dlc3R1cmVzL2hvdmVyLmVzLmpzJztcbmltcG9ydCB7IHByZXNzIH0gZnJvbSAnLi9nZXN0dXJlcy9wcmVzcy5lcy5qcyc7XG5pbXBvcnQgeyBtb3Rpb25FdmVudCB9IGZyb20gJy4vdXRpbHMvZXZlbnRzLmVzLmpzJztcbmltcG9ydCB7IEFuaW1hdGlvbiB9IGZyb20gJ0Btb3Rpb25vbmUvYW5pbWF0aW9uJztcblxuY29uc3QgZ2VzdHVyZXMgPSB7IGluVmlldywgaG92ZXIsIHByZXNzIH07XG4vKipcbiAqIEEgbGlzdCBvZiBzdGF0ZSB0eXBlcywgaW4gcHJpb3JpdHkgb3JkZXIuIElmIGEgdmFsdWUgaXMgZGVmaW5lZCBpblxuICogYSByaWdodGVyLW1vc3QgdHlwZSwgaXQgd2lsbCBvdmVycmlkZSBhbnkgZGVmaW5pdGlvbiBpbiBhIGxlZnRlci1tb3N0LlxuICovXG5jb25zdCBzdGF0ZVR5cGVzID0gW1wiaW5pdGlhbFwiLCBcImFuaW1hdGVcIiwgLi4uT2JqZWN0LmtleXMoZ2VzdHVyZXMpLCBcImV4aXRcIl07XG4vKipcbiAqIEEgZ2xvYmFsIHN0b3JlIG9mIGFsbCBnZW5lcmF0ZWQgbW90aW9uIHN0YXRlcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBsb29rdXBcbiAqIGEgbW90aW9uIHN0YXRlIGZvciBhIGdpdmVuIEVsZW1lbnQuXG4gKi9cbmNvbnN0IG1vdW50ZWRTdGF0ZXMgPSBuZXcgV2Vha01hcCgpO1xuZnVuY3Rpb24gY3JlYXRlTW90aW9uU3RhdGUob3B0aW9ucyA9IHt9LCBwYXJlbnQpIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZWxlbWVudCByZXByZXNlbnRlZCBieSB0aGUgbW90aW9uIHN0YXRlLiBUaGlzIGlzIGFuIGVtcHR5IHJlZmVyZW5jZVxuICAgICAqIHdoZW4gd2UgY3JlYXRlIHRoZSBzdGF0ZSB0byBzdXBwb3J0IFNTUiBhbmQgYWxsb3cgZm9yIGxhdGVyIG1vdW50aW5nXG4gICAgICogaW4gdmlldyBsaWJyYXJpZXMuXG4gICAgICpcbiAgICAgKiBAdHMtaWdub3JlXG4gICAgICovXG4gICAgbGV0IGVsZW1lbnQ7XG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIGEgZGVwdGggdGhhdCB3ZSBjYW4gdXNlIHRvIG9yZGVyIG1vdGlvbiBzdGF0ZXMgYnkgdHJlZSBkZXB0aC5cbiAgICAgKi9cbiAgICBsZXQgZGVwdGggPSBwYXJlbnQgPyBwYXJlbnQuZ2V0RGVwdGgoKSArIDEgOiAwO1xuICAgIC8qKlxuICAgICAqIFRyYWNrIHdoaWNoIHN0YXRlcyBhcmUgY3VycmVudGx5IGFjdGl2ZS5cbiAgICAgKi9cbiAgICBjb25zdCBhY3RpdmVTdGF0ZXMgPSB7IGluaXRpYWw6IHRydWUsIGFuaW1hdGU6IHRydWUgfTtcbiAgICAvKipcbiAgICAgKiBBIG1hcCBvZiBmdW5jdGlvbnMgdGhhdCwgd2hlbiBjYWxsZWQsIHdpbGwgcmVtb3ZlIGV2ZW50IGxpc3RlbmVycyBmb3JcbiAgICAgKiBhIGdpdmVuIGdlc3R1cmUuXG4gICAgICovXG4gICAgY29uc3QgZ2VzdHVyZVN1YnNjcmlwdGlvbnMgPSB7fTtcbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXNlIGEgY29udGV4dCB0byBzaGFyZSB0aHJvdWdoIG1vdGlvbiBzdGF0ZXMuIFRoaXNcbiAgICAgKiB3aWxsIGJlIHBvcHVsYXRlZCBieSB2YXJpYW50IG5hbWVzIChpZiBhbnkpLlxuICAgICAqL1xuICAgIGNvbnN0IGNvbnRleHQgPSB7fTtcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2Ygc3RhdGVUeXBlcykge1xuICAgICAgICBjb250ZXh0W25hbWVdID1cbiAgICAgICAgICAgIHR5cGVvZiBvcHRpb25zW25hbWVdID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgICAgICAgPyBvcHRpb25zW25hbWVdXG4gICAgICAgICAgICAgICAgOiBwYXJlbnQgPT09IG51bGwgfHwgcGFyZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJlbnQuZ2V0Q29udGV4dCgpW25hbWVdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiBpbml0aWFsIGlzIHNldCB0byBmYWxzZSB3ZSB1c2UgdGhlIGFuaW1hdGUgcHJvcCBhcyB0aGUgaW5pdGlhbFxuICAgICAqIGFuaW1hdGlvbiBzdGF0ZS5cbiAgICAgKi9cbiAgICBjb25zdCBpbml0aWFsVmFyaWFudFNvdXJjZSA9IG9wdGlvbnMuaW5pdGlhbCA9PT0gZmFsc2UgPyBcImFuaW1hdGVcIiA6IFwiaW5pdGlhbFwiO1xuICAgIC8qKlxuICAgICAqIERlc3RydWN0dXJlIGFuIGluaXRpYWwgdGFyZ2V0IG91dCBmcm9tIHRoZSByZXNvbHZlZCBpbml0aWFsIHZhcmlhbnQuXG4gICAgICovXG4gICAgbGV0IF9hID0gcmVzb2x2ZVZhcmlhbnQob3B0aW9uc1tpbml0aWFsVmFyaWFudFNvdXJjZV0gfHwgY29udGV4dFtpbml0aWFsVmFyaWFudFNvdXJjZV0sIG9wdGlvbnMudmFyaWFudHMpIHx8IHt9LCB0YXJnZXQgPSBfX3Jlc3QoX2EsIFtcInRyYW5zaXRpb25cIl0pO1xuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIHRhcmdldCBpcyBhIGNhY2hlZCBtYXAgb2YgdmFsdWVzIHRoYXQgd2UnbGwgdXNlIHRvIGFuaW1hdGVcbiAgICAgKiBiYWNrIHRvIGlmIGEgdmFsdWUgaXMgcmVtb3ZlZCBmcm9tIGFsbCBhY3RpdmUgc3RhdGUgdHlwZXMuIFRoaXNcbiAgICAgKiBpcyB1c3VhbGx5IHRoZSBpbml0aWFsIHZhbHVlIGFzIHJlYWQgZnJvbSB0aGUgRE9NLCBmb3IgaW5zdGFuY2UgaWZcbiAgICAgKiBpdCBoYXNuJ3QgYmVlbiBkZWZpbmVkIGluIGluaXRpYWwuXG4gICAgICovXG4gICAgY29uc3QgYmFzZVRhcmdldCA9IE9iamVjdC5hc3NpZ24oe30sIHRhcmdldCk7XG4gICAgLyoqXG4gICAgICogQSBnZW5lcmF0b3IgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCBieSB0aGUgZ2xvYmFsIGFuaW1hdGlvbiBzY2hlZHVsZXIuXG4gICAgICogVGhpcyB5ZWlsZHMgd2hlbiBpdCBzd2l0Y2hlcyBmcm9tIHJlYWRpbmcgdGhlIERPTSB0byB3cml0aW5nIHRvIGl0XG4gICAgICogdG8gcHJldmVudCBsYXlvdXQgdGhyYXNoaW5nLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uKiBhbmltYXRlVXBkYXRlcygpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgcHJldlRhcmdldCA9IHRhcmdldDtcbiAgICAgICAgdGFyZ2V0ID0ge307XG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbk9wdGlvbnMgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIHN0YXRlVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICghYWN0aXZlU3RhdGVzW25hbWVdKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgdmFyaWFudCA9IHJlc29sdmVWYXJpYW50KG9wdGlvbnNbbmFtZV0pO1xuICAgICAgICAgICAgaWYgKCF2YXJpYW50KVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdmFyaWFudCkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IFwidHJhbnNpdGlvblwiKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHZhcmlhbnRba2V5XTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb25PcHRpb25zW2tleV0gPSBnZXRPcHRpb25zKChfYiA9IChfYSA9IHZhcmlhbnQudHJhbnNpdGlvbikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogb3B0aW9ucy50cmFuc2l0aW9uKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiB7fSwga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbGxUYXJnZXRLZXlzID0gbmV3IFNldChbXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyh0YXJnZXQpLFxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMocHJldlRhcmdldCksXG4gICAgICAgIF0pO1xuICAgICAgICBjb25zdCBhbmltYXRpb25GYWN0b3JpZXMgPSBbXTtcbiAgICAgICAgYWxsVGFyZ2V0S2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICh0YXJnZXRba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBiYXNlVGFyZ2V0W2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaGFzQ2hhbmdlZChwcmV2VGFyZ2V0W2tleV0sIHRhcmdldFtrZXldKSkge1xuICAgICAgICAgICAgICAgIChfYSA9IGJhc2VUYXJnZXRba2V5XSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKGJhc2VUYXJnZXRba2V5XSA9IHN0eWxlLmdldChlbGVtZW50LCBrZXkpKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb25GYWN0b3JpZXMucHVzaChhbmltYXRlU3R5bGUoZWxlbWVudCwga2V5LCB0YXJnZXRba2V5XSwgYW5pbWF0aW9uT3B0aW9uc1trZXldLCBBbmltYXRpb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFdhaXQgZm9yIGFsbCBhbmltYXRpb24gc3RhdGVzIHRvIHJlYWQgZnJvbSB0aGUgRE9NXG4gICAgICAgIHlpZWxkO1xuICAgICAgICBjb25zdCBhbmltYXRpb25zID0gYW5pbWF0aW9uRmFjdG9yaWVzXG4gICAgICAgICAgICAubWFwKChmYWN0b3J5KSA9PiBmYWN0b3J5KCkpXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBpZiAoIWFuaW1hdGlvbnMubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBhbmltYXRpb25UYXJnZXQgPSB0YXJnZXQ7XG4gICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChtb3Rpb25FdmVudChcIm1vdGlvbnN0YXJ0XCIsIGFuaW1hdGlvblRhcmdldCkpO1xuICAgICAgICBQcm9taXNlLmFsbChhbmltYXRpb25zLm1hcCgoYW5pbWF0aW9uKSA9PiBhbmltYXRpb24uZmluaXNoZWQpKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG1vdGlvbkV2ZW50KFwibW90aW9uY29tcGxldGVcIiwgYW5pbWF0aW9uVGFyZ2V0KSk7XG4gICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2gobm9vcCk7XG4gICAgfVxuICAgIGNvbnN0IHNldEdlc3R1cmUgPSAobmFtZSwgaXNBY3RpdmUpID0+ICgpID0+IHtcbiAgICAgICAgYWN0aXZlU3RhdGVzW25hbWVdID0gaXNBY3RpdmU7XG4gICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKHN0YXRlKTtcbiAgICB9O1xuICAgIGNvbnN0IHVwZGF0ZUdlc3R1cmVTdWJzY3JpcHRpb25zID0gKCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgaW4gZ2VzdHVyZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzR2VzdHVyZUFjdGl2ZSA9IGdlc3R1cmVzW25hbWVdLmlzQWN0aXZlKG9wdGlvbnMpO1xuICAgICAgICAgICAgY29uc3QgcmVtb3ZlID0gZ2VzdHVyZVN1YnNjcmlwdGlvbnNbbmFtZV07XG4gICAgICAgICAgICBpZiAoaXNHZXN0dXJlQWN0aXZlICYmICFyZW1vdmUpIHtcbiAgICAgICAgICAgICAgICBnZXN0dXJlU3Vic2NyaXB0aW9uc1tuYW1lXSA9IGdlc3R1cmVzW25hbWVdLnN1YnNjcmliZShlbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZTogc2V0R2VzdHVyZShuYW1lLCB0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZTogc2V0R2VzdHVyZShuYW1lLCBmYWxzZSksXG4gICAgICAgICAgICAgICAgfSwgb3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghaXNHZXN0dXJlQWN0aXZlICYmIHJlbW92ZSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBnZXN0dXJlU3Vic2NyaXB0aW9uc1tuYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICAgIHVwZGF0ZTogKG5ld09wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGlmICghZWxlbWVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBvcHRpb25zID0gbmV3T3B0aW9ucztcbiAgICAgICAgICAgIHVwZGF0ZUdlc3R1cmVTdWJzY3JpcHRpb25zKCk7XG4gICAgICAgICAgICBzY2hlZHVsZUFuaW1hdGlvbihzdGF0ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldEFjdGl2ZTogKG5hbWUsIGlzQWN0aXZlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWVsZW1lbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYWN0aXZlU3RhdGVzW25hbWVdID0gaXNBY3RpdmU7XG4gICAgICAgICAgICBzY2hlZHVsZUFuaW1hdGlvbihzdGF0ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFuaW1hdGVVcGRhdGVzLFxuICAgICAgICBnZXREZXB0aDogKCkgPT4gZGVwdGgsXG4gICAgICAgIGdldFRhcmdldDogKCkgPT4gdGFyZ2V0LFxuICAgICAgICBnZXRPcHRpb25zOiAoKSA9PiBvcHRpb25zLFxuICAgICAgICBnZXRDb250ZXh0OiAoKSA9PiBjb250ZXh0LFxuICAgICAgICBtb3VudDogKG5ld0VsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGludmFyaWFudChCb29sZWFuKG5ld0VsZW1lbnQpLCBcIkFuaW1hdGlvbiBzdGF0ZSBtdXN0IGJlIG1vdW50ZWQgd2l0aCB2YWxpZCBFbGVtZW50XCIpO1xuICAgICAgICAgICAgZWxlbWVudCA9IG5ld0VsZW1lbnQ7XG4gICAgICAgICAgICBtb3VudGVkU3RhdGVzLnNldChlbGVtZW50LCBzdGF0ZSk7XG4gICAgICAgICAgICB1cGRhdGVHZXN0dXJlU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBtb3VudGVkU3RhdGVzLmRlbGV0ZShlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB1bnNjaGVkdWxlQW5pbWF0aW9uKHN0YXRlKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBnZXN0dXJlU3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBnZXN0dXJlU3Vic2NyaXB0aW9uc1trZXldKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNNb3VudGVkOiAoKSA9PiBCb29sZWFuKGVsZW1lbnQpLFxuICAgIH07XG4gICAgcmV0dXJuIHN0YXRlO1xufVxuXG5leHBvcnQgeyBjcmVhdGVNb3Rpb25TdGF0ZSwgbW91bnRlZFN0YXRlcyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/utils/events.es.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/utils/events.es.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dispatchPointerEvent: function() { return /* binding */ dispatchPointerEvent; },\n/* harmony export */ dispatchViewEvent: function() { return /* binding */ dispatchViewEvent; },\n/* harmony export */ motionEvent: function() { return /* binding */ motionEvent; }\n/* harmony export */ });\nconst motionEvent = (name, target) => new CustomEvent(name, { detail: { target } });\nfunction dispatchPointerEvent(element, name, event) {\n element.dispatchEvent(new CustomEvent(name, { detail: { originalEvent: event } }));\n}\nfunction dispatchViewEvent(element, name, entry) {\n element.dispatchEvent(new CustomEvent(name, { detail: { originalEntry: entry } }));\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9ldmVudHMuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQThELFVBQVUsVUFBVTtBQUNsRjtBQUNBLGtEQUFrRCxVQUFVLHdCQUF3QjtBQUNwRjtBQUNBO0FBQ0Esa0RBQWtELFVBQVUsd0JBQXdCO0FBQ3BGOztBQUVnRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9ldmVudHMuZXMuanM/ZWUwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBtb3Rpb25FdmVudCA9IChuYW1lLCB0YXJnZXQpID0+IG5ldyBDdXN0b21FdmVudChuYW1lLCB7IGRldGFpbDogeyB0YXJnZXQgfSB9KTtcbmZ1bmN0aW9uIGRpc3BhdGNoUG9pbnRlckV2ZW50KGVsZW1lbnQsIG5hbWUsIGV2ZW50KSB7XG4gICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChuYW1lLCB7IGRldGFpbDogeyBvcmlnaW5hbEV2ZW50OiBldmVudCB9IH0pKTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoVmlld0V2ZW50KGVsZW1lbnQsIG5hbWUsIGVudHJ5KSB7XG4gICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChuYW1lLCB7IGRldGFpbDogeyBvcmlnaW5hbEVudHJ5OiBlbnRyeSB9IH0pKTtcbn1cblxuZXhwb3J0IHsgZGlzcGF0Y2hQb2ludGVyRXZlbnQsIGRpc3BhdGNoVmlld0V2ZW50LCBtb3Rpb25FdmVudCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/utils/events.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/utils/has-changed.es.js": -/*!************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/utils/has-changed.es.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hasChanged: function() { return /* binding */ hasChanged; },\n/* harmony export */ shallowCompare: function() { return /* binding */ shallowCompare; }\n/* harmony export */ });\nfunction hasChanged(a, b) {\n if (typeof a !== typeof b)\n return true;\n if (Array.isArray(a) && Array.isArray(b))\n return !shallowCompare(a, b);\n return a !== b;\n}\nfunction shallowCompare(next, prev) {\n const prevLength = prev.length;\n if (prevLength !== next.length)\n return false;\n for (let i = 0; i < prevLength; i++) {\n if (prev[i] !== next[i])\n return false;\n }\n return true;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9oYXMtY2hhbmdlZC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L3N0YXRlL3V0aWxzL2hhcy1jaGFuZ2VkLmVzLmpzPzliMTQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gaGFzQ2hhbmdlZChhLCBiKSB7XG4gICAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYgQXJyYXkuaXNBcnJheShiKSlcbiAgICAgICAgcmV0dXJuICFzaGFsbG93Q29tcGFyZShhLCBiKTtcbiAgICByZXR1cm4gYSAhPT0gYjtcbn1cbmZ1bmN0aW9uIHNoYWxsb3dDb21wYXJlKG5leHQsIHByZXYpIHtcbiAgICBjb25zdCBwcmV2TGVuZ3RoID0gcHJldi5sZW5ndGg7XG4gICAgaWYgKHByZXZMZW5ndGggIT09IG5leHQubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2TGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHByZXZbaV0gIT09IG5leHRbaV0pXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgeyBoYXNDaGFuZ2VkLCBzaGFsbG93Q29tcGFyZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/utils/has-changed.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/utils/is-variant.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/utils/is-variant.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isVariant: function() { return /* binding */ isVariant; }\n/* harmony export */ });\nfunction isVariant(definition) {\n return typeof definition === \"object\";\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9pcy12YXJpYW50LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBRXFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L3N0YXRlL3V0aWxzL2lzLXZhcmlhbnQuZXMuanM/YjIwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBpc1ZhcmlhbnQoZGVmaW5pdGlvbikge1xuICAgIHJldHVybiB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gXCJvYmplY3RcIjtcbn1cblxuZXhwb3J0IHsgaXNWYXJpYW50IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/utils/is-variant.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/utils/resolve-variant.es.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/utils/resolve-variant.es.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resolveVariant: function() { return /* binding */ resolveVariant; }\n/* harmony export */ });\n/* harmony import */ var _is_variant_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-variant.es.js */ \"./node_modules/@motionone/dom/dist/state/utils/is-variant.es.js\");\n\n\nfunction resolveVariant(definition, variants) {\n if ((0,_is_variant_es_js__WEBPACK_IMPORTED_MODULE_0__.isVariant)(definition)) {\n return definition;\n }\n else if (definition && variants) {\n return variants[definition];\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9yZXNvbHZlLXZhcmlhbnQuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0M7O0FBRS9DO0FBQ0EsUUFBUSw0REFBUztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTBCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L3N0YXRlL3V0aWxzL3Jlc29sdmUtdmFyaWFudC5lcy5qcz83ZWIwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVmFyaWFudCB9IGZyb20gJy4vaXMtdmFyaWFudC5lcy5qcyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVWYXJpYW50KGRlZmluaXRpb24sIHZhcmlhbnRzKSB7XG4gICAgaWYgKGlzVmFyaWFudChkZWZpbml0aW9uKSkge1xuICAgICAgICByZXR1cm4gZGVmaW5pdGlvbjtcbiAgICB9XG4gICAgZWxzZSBpZiAoZGVmaW5pdGlvbiAmJiB2YXJpYW50cykge1xuICAgICAgICByZXR1cm4gdmFyaWFudHNbZGVmaW5pdGlvbl07XG4gICAgfVxufVxuXG5leHBvcnQgeyByZXNvbHZlVmFyaWFudCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/utils/resolve-variant.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/state/utils/schedule.es.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/state/utils/schedule.es.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ scheduleAnimation: function() { return /* binding */ scheduleAnimation; },\n/* harmony export */ unscheduleAnimation: function() { return /* binding */ unscheduleAnimation; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nlet scheduled = undefined;\nfunction processScheduledAnimations() {\n if (!scheduled)\n return;\n const generators = scheduled.sort(compareByDepth).map(fireAnimateUpdates);\n generators.forEach(fireNext);\n generators.forEach(fireNext);\n scheduled = undefined;\n}\nfunction scheduleAnimation(state) {\n if (!scheduled) {\n scheduled = [state];\n requestAnimationFrame(processScheduledAnimations);\n }\n else {\n (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.addUniqueItem)(scheduled, state);\n }\n}\nfunction unscheduleAnimation(state) {\n scheduled && (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.removeItem)(scheduled, state);\n}\nconst compareByDepth = (a, b) => a.getDepth() - b.getDepth();\nconst fireAnimateUpdates = (state) => state.animateUpdates();\nconst fireNext = (iterator) => iterator.next();\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9zY2hlZHVsZS5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBNkQ7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsK0RBQWE7QUFDckI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDREQUFVO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVrRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC9zdGF0ZS91dGlscy9zY2hlZHVsZS5lcy5qcz9mMTZmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZFVuaXF1ZUl0ZW0sIHJlbW92ZUl0ZW0gfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcblxubGV0IHNjaGVkdWxlZCA9IHVuZGVmaW5lZDtcbmZ1bmN0aW9uIHByb2Nlc3NTY2hlZHVsZWRBbmltYXRpb25zKCkge1xuICAgIGlmICghc2NoZWR1bGVkKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgZ2VuZXJhdG9ycyA9IHNjaGVkdWxlZC5zb3J0KGNvbXBhcmVCeURlcHRoKS5tYXAoZmlyZUFuaW1hdGVVcGRhdGVzKTtcbiAgICBnZW5lcmF0b3JzLmZvckVhY2goZmlyZU5leHQpO1xuICAgIGdlbmVyYXRvcnMuZm9yRWFjaChmaXJlTmV4dCk7XG4gICAgc2NoZWR1bGVkID0gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gc2NoZWR1bGVBbmltYXRpb24oc3RhdGUpIHtcbiAgICBpZiAoIXNjaGVkdWxlZCkge1xuICAgICAgICBzY2hlZHVsZWQgPSBbc3RhdGVdO1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocHJvY2Vzc1NjaGVkdWxlZEFuaW1hdGlvbnMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgYWRkVW5pcXVlSXRlbShzY2hlZHVsZWQsIHN0YXRlKTtcbiAgICB9XG59XG5mdW5jdGlvbiB1bnNjaGVkdWxlQW5pbWF0aW9uKHN0YXRlKSB7XG4gICAgc2NoZWR1bGVkICYmIHJlbW92ZUl0ZW0oc2NoZWR1bGVkLCBzdGF0ZSk7XG59XG5jb25zdCBjb21wYXJlQnlEZXB0aCA9IChhLCBiKSA9PiBhLmdldERlcHRoKCkgLSBiLmdldERlcHRoKCk7XG5jb25zdCBmaXJlQW5pbWF0ZVVwZGF0ZXMgPSAoc3RhdGUpID0+IHN0YXRlLmFuaW1hdGVVcGRhdGVzKCk7XG5jb25zdCBmaXJlTmV4dCA9IChpdGVyYXRvcikgPT4gaXRlcmF0b3IubmV4dCgpO1xuXG5leHBvcnQgeyBzY2hlZHVsZUFuaW1hdGlvbiwgdW5zY2hlZHVsZUFuaW1hdGlvbiB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/state/utils/schedule.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/timeline/index.es.js": -/*!***************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/timeline/index.es.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createAnimationsFromTimeline: function() { return /* binding */ createAnimationsFromTimeline; },\n/* harmony export */ timeline: function() { return /* binding */ timeline; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var hey_listen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hey-listen */ \"./node_modules/hey-listen/dist/hey-listen.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _utils_stagger_es_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/stagger.es.js */ \"./node_modules/@motionone/dom/dist/utils/stagger.es.js\");\n/* harmony import */ var _animate_animate_style_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../animate/animate-style.es.js */ \"./node_modules/@motionone/dom/dist/animate/animate-style.es.js\");\n/* harmony import */ var _animate_utils_controls_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../animate/utils/controls.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/controls.es.js\");\n/* harmony import */ var _animate_utils_keyframes_es_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../animate/utils/keyframes.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/keyframes.es.js\");\n/* harmony import */ var _animate_utils_options_es_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../animate/utils/options.es.js */ \"./node_modules/@motionone/dom/dist/animate/utils/options.es.js\");\n/* harmony import */ var _utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/resolve-elements.es.js */ \"./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js\");\n/* harmony import */ var _utils_calc_time_es_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/calc-time.es.js */ \"./node_modules/@motionone/dom/dist/timeline/utils/calc-time.es.js\");\n/* harmony import */ var _utils_edit_es_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/edit.es.js */ \"./node_modules/@motionone/dom/dist/timeline/utils/edit.es.js\");\n/* harmony import */ var _utils_sort_es_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/sort.es.js */ \"./node_modules/@motionone/dom/dist/timeline/utils/sort.es.js\");\n/* harmony import */ var _motionone_animation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @motionone/animation */ \"./node_modules/@motionone/animation/dist/index.es.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction timeline(definition, options = {}) {\n var _a;\n const animationDefinitions = createAnimationsFromTimeline(definition, options);\n /**\n * Create and start animations\n */\n const animationFactories = animationDefinitions\n .map((definition) => (0,_animate_animate_style_es_js__WEBPACK_IMPORTED_MODULE_1__.animateStyle)(...definition, _motionone_animation__WEBPACK_IMPORTED_MODULE_2__.Animation))\n .filter(Boolean);\n return (0,_animate_utils_controls_es_js__WEBPACK_IMPORTED_MODULE_3__.withControls)(animationFactories, options, \n // Get the duration from the first animation definition\n (_a = animationDefinitions[0]) === null || _a === void 0 ? void 0 : _a[3].duration);\n}\nfunction createAnimationsFromTimeline(definition, _a = {}) {\n var { defaultOptions = {} } = _a, timelineOptions = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__rest)(_a, [\"defaultOptions\"]);\n const animationDefinitions = [];\n const elementSequences = new Map();\n const elementCache = {};\n const timeLabels = new Map();\n let prevTime = 0;\n let currentTime = 0;\n let totalDuration = 0;\n /**\n * Build the timeline by mapping over the definition array and converting\n * the definitions into keyframes and offsets with absolute time values.\n * These will later get converted into relative offsets in a second pass.\n */\n for (let i = 0; i < definition.length; i++) {\n const segment = definition[i];\n /**\n * If this is a timeline label, mark it and skip the rest of this iteration.\n */\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_5__.isString)(segment)) {\n timeLabels.set(segment, currentTime);\n continue;\n }\n else if (!Array.isArray(segment)) {\n timeLabels.set(segment.name, (0,_utils_calc_time_es_js__WEBPACK_IMPORTED_MODULE_6__.calcNextTime)(currentTime, segment.at, prevTime, timeLabels));\n continue;\n }\n const [elementDefinition, keyframes, options = {}] = segment;\n /**\n * If a relative or absolute time value has been specified we need to resolve\n * it in relation to the currentTime.\n */\n if (options.at !== undefined) {\n currentTime = (0,_utils_calc_time_es_js__WEBPACK_IMPORTED_MODULE_6__.calcNextTime)(currentTime, options.at, prevTime, timeLabels);\n }\n /**\n * Keep track of the maximum duration in this definition. This will be\n * applied to currentTime once the definition has been parsed.\n */\n let maxDuration = 0;\n /**\n * Find all the elements specified in the definition and parse value\n * keyframes from their timeline definitions.\n */\n const elements = (0,_utils_resolve_elements_es_js__WEBPACK_IMPORTED_MODULE_7__.resolveElements)(elementDefinition, elementCache);\n const numElements = elements.length;\n for (let elementIndex = 0; elementIndex < numElements; elementIndex++) {\n const element = elements[elementIndex];\n const elementSequence = getElementSequence(element, elementSequences);\n for (const key in keyframes) {\n const valueSequence = getValueSequence(key, elementSequence);\n let valueKeyframes = (0,_animate_utils_keyframes_es_js__WEBPACK_IMPORTED_MODULE_8__.keyframesList)(keyframes[key]);\n const valueOptions = (0,_animate_utils_options_es_js__WEBPACK_IMPORTED_MODULE_9__.getOptions)(options, key);\n let { duration = defaultOptions.duration || _motionone_utils__WEBPACK_IMPORTED_MODULE_5__.defaults.duration, easing = defaultOptions.easing || _motionone_utils__WEBPACK_IMPORTED_MODULE_5__.defaults.easing, } = valueOptions;\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_5__.isEasingGenerator)(easing)) {\n (0,hey_listen__WEBPACK_IMPORTED_MODULE_0__.invariant)(key === \"opacity\" || valueKeyframes.length > 1, \"spring must be provided 2 keyframes within timeline()\");\n const custom = easing.createAnimation(valueKeyframes, key !== \"opacity\", () => 0, key);\n easing = custom.easing;\n valueKeyframes = custom.keyframes || valueKeyframes;\n duration = custom.duration || duration;\n }\n const delay = (0,_utils_stagger_es_js__WEBPACK_IMPORTED_MODULE_10__.resolveOption)(options.delay, elementIndex, numElements) || 0;\n const startTime = currentTime + delay;\n const targetTime = startTime + duration;\n /**\n *\n */\n let { offset = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_5__.defaultOffset)(valueKeyframes.length) } = valueOptions;\n /**\n * If there's only one offset of 0, fill in a second with length 1\n *\n * TODO: Ensure there's a test that covers this removal\n */\n if (offset.length === 1 && offset[0] === 0) {\n offset[1] = 1;\n }\n /**\n * Fill out if offset if fewer offsets than keyframes\n */\n const remainder = offset.length - valueKeyframes.length;\n remainder > 0 && (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_5__.fillOffset)(offset, remainder);\n /**\n * If only one value has been set, ie [1], push a null to the start of\n * the keyframe array. This will let us mark a keyframe at this point\n * that will later be hydrated with the previous value.\n */\n valueKeyframes.length === 1 && valueKeyframes.unshift(null);\n /**\n * Add keyframes, mapping offsets to absolute time.\n */\n (0,_utils_edit_es_js__WEBPACK_IMPORTED_MODULE_11__.addKeyframes)(valueSequence, valueKeyframes, easing, offset, startTime, targetTime);\n maxDuration = Math.max(delay + duration, maxDuration);\n totalDuration = Math.max(targetTime, totalDuration);\n }\n }\n prevTime = currentTime;\n currentTime += maxDuration;\n }\n /**\n * For every element and value combination create a new animation.\n */\n elementSequences.forEach((valueSequences, element) => {\n for (const key in valueSequences) {\n const valueSequence = valueSequences[key];\n /**\n * Arrange all the keyframes in ascending time order.\n */\n valueSequence.sort(_utils_sort_es_js__WEBPACK_IMPORTED_MODULE_12__.compareByTime);\n const keyframes = [];\n const valueOffset = [];\n const valueEasing = [];\n /**\n * For each keyframe, translate absolute times into\n * relative offsets based on the total duration of the timeline.\n */\n for (let i = 0; i < valueSequence.length; i++) {\n const { at, value, easing } = valueSequence[i];\n keyframes.push(value);\n valueOffset.push((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_5__.progress)(0, totalDuration, at));\n valueEasing.push(easing || _motionone_utils__WEBPACK_IMPORTED_MODULE_5__.defaults.easing);\n }\n /**\n * If the first keyframe doesn't land on offset: 0\n * provide one by duplicating the initial keyframe. This ensures\n * it snaps to the first keyframe when the animation starts.\n */\n if (valueOffset[0] !== 0) {\n valueOffset.unshift(0);\n keyframes.unshift(keyframes[0]);\n valueEasing.unshift(\"linear\");\n }\n /**\n * If the last keyframe doesn't land on offset: 1\n * provide one with a null wildcard value. This will ensure it\n * stays static until the end of the animation.\n */\n if (valueOffset[valueOffset.length - 1] !== 1) {\n valueOffset.push(1);\n keyframes.push(null);\n }\n animationDefinitions.push([\n element,\n key,\n keyframes,\n Object.assign(Object.assign(Object.assign({}, defaultOptions), { duration: totalDuration, easing: valueEasing, offset: valueOffset }), timelineOptions),\n ]);\n }\n });\n return animationDefinitions;\n}\nfunction getElementSequence(element, sequences) {\n !sequences.has(element) && sequences.set(element, {});\n return sequences.get(element);\n}\nfunction getValueSequence(name, sequences) {\n if (!sequences[name])\n sequences[name] = [];\n return sequences[name];\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC90aW1lbGluZS9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0I7QUFDUTtBQUN1RTtBQUN2RDtBQUNPO0FBQ0M7QUFDRTtBQUNMO0FBQ007QUFDWDtBQUNMO0FBQ0M7QUFDRjs7QUFFakQsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QiwwRUFBWSxnQkFBZ0IsMkRBQVM7QUFDbEU7QUFDQSxXQUFXLDJFQUFZO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RCxVQUFVLHNCQUFzQix3QkFBd0IsNkNBQU07QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHVCQUF1QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksMERBQVE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsb0VBQVk7QUFDckQ7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG9FQUFZO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLDhFQUFlO0FBQ3hDO0FBQ0EsbUNBQW1DLDRCQUE0QjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyw2RUFBYTtBQUNsRCxxQ0FBcUMsd0VBQVU7QUFDL0Msc0JBQXNCLHNDQUFzQyxzREFBUSw2Q0FBNkMsc0RBQVEsV0FBVztBQUNwSSxvQkFBb0IsbUVBQWlCO0FBQ3JDLG9CQUFvQixxREFBUztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLG9FQUFhO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsU0FBUywrREFBYSwwQkFBMEI7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLDREQUFVO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixnRUFBWTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw2REFBYTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QiwwQkFBMEI7QUFDdEQsd0JBQXdCLG9CQUFvQjtBQUM1QztBQUNBLGlDQUFpQywwREFBUTtBQUN6QywyQ0FBMkMsc0RBQVE7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELHFCQUFxQixtRUFBbUU7QUFDcEo7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWtEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2RvbS9kaXN0L3RpbWVsaW5lL2luZGV4LmVzLmpzPzdjYWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19yZXN0IH0gZnJvbSAndHNsaWInO1xuaW1wb3J0IHsgaW52YXJpYW50IH0gZnJvbSAnaGV5LWxpc3Rlbic7XG5pbXBvcnQgeyBpc1N0cmluZywgZGVmYXVsdHMsIGlzRWFzaW5nR2VuZXJhdG9yLCBkZWZhdWx0T2Zmc2V0LCBmaWxsT2Zmc2V0LCBwcm9ncmVzcyB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuaW1wb3J0IHsgcmVzb2x2ZU9wdGlvbiB9IGZyb20gJy4uL3V0aWxzL3N0YWdnZXIuZXMuanMnO1xuaW1wb3J0IHsgYW5pbWF0ZVN0eWxlIH0gZnJvbSAnLi4vYW5pbWF0ZS9hbmltYXRlLXN0eWxlLmVzLmpzJztcbmltcG9ydCB7IHdpdGhDb250cm9scyB9IGZyb20gJy4uL2FuaW1hdGUvdXRpbHMvY29udHJvbHMuZXMuanMnO1xuaW1wb3J0IHsga2V5ZnJhbWVzTGlzdCB9IGZyb20gJy4uL2FuaW1hdGUvdXRpbHMva2V5ZnJhbWVzLmVzLmpzJztcbmltcG9ydCB7IGdldE9wdGlvbnMgfSBmcm9tICcuLi9hbmltYXRlL3V0aWxzL29wdGlvbnMuZXMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvcmVzb2x2ZS1lbGVtZW50cy5lcy5qcyc7XG5pbXBvcnQgeyBjYWxjTmV4dFRpbWUgfSBmcm9tICcuL3V0aWxzL2NhbGMtdGltZS5lcy5qcyc7XG5pbXBvcnQgeyBhZGRLZXlmcmFtZXMgfSBmcm9tICcuL3V0aWxzL2VkaXQuZXMuanMnO1xuaW1wb3J0IHsgY29tcGFyZUJ5VGltZSB9IGZyb20gJy4vdXRpbHMvc29ydC5lcy5qcyc7XG5pbXBvcnQgeyBBbmltYXRpb24gfSBmcm9tICdAbW90aW9ub25lL2FuaW1hdGlvbic7XG5cbmZ1bmN0aW9uIHRpbWVsaW5lKGRlZmluaXRpb24sIG9wdGlvbnMgPSB7fSkge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBhbmltYXRpb25EZWZpbml0aW9ucyA9IGNyZWF0ZUFuaW1hdGlvbnNGcm9tVGltZWxpbmUoZGVmaW5pdGlvbiwgb3B0aW9ucyk7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFuZCBzdGFydCBhbmltYXRpb25zXG4gICAgICovXG4gICAgY29uc3QgYW5pbWF0aW9uRmFjdG9yaWVzID0gYW5pbWF0aW9uRGVmaW5pdGlvbnNcbiAgICAgICAgLm1hcCgoZGVmaW5pdGlvbikgPT4gYW5pbWF0ZVN0eWxlKC4uLmRlZmluaXRpb24sIEFuaW1hdGlvbikpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gICAgcmV0dXJuIHdpdGhDb250cm9scyhhbmltYXRpb25GYWN0b3JpZXMsIG9wdGlvbnMsIFxuICAgIC8vIEdldCB0aGUgZHVyYXRpb24gZnJvbSB0aGUgZmlyc3QgYW5pbWF0aW9uIGRlZmluaXRpb25cbiAgICAoX2EgPSBhbmltYXRpb25EZWZpbml0aW9uc1swXSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzNdLmR1cmF0aW9uKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUFuaW1hdGlvbnNGcm9tVGltZWxpbmUoZGVmaW5pdGlvbiwgX2EgPSB7fSkge1xuICAgIHZhciB7IGRlZmF1bHRPcHRpb25zID0ge30gfSA9IF9hLCB0aW1lbGluZU9wdGlvbnMgPSBfX3Jlc3QoX2EsIFtcImRlZmF1bHRPcHRpb25zXCJdKTtcbiAgICBjb25zdCBhbmltYXRpb25EZWZpbml0aW9ucyA9IFtdO1xuICAgIGNvbnN0IGVsZW1lbnRTZXF1ZW5jZXMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgZWxlbWVudENhY2hlID0ge307XG4gICAgY29uc3QgdGltZUxhYmVscyA9IG5ldyBNYXAoKTtcbiAgICBsZXQgcHJldlRpbWUgPSAwO1xuICAgIGxldCBjdXJyZW50VGltZSA9IDA7XG4gICAgbGV0IHRvdGFsRHVyYXRpb24gPSAwO1xuICAgIC8qKlxuICAgICAqIEJ1aWxkIHRoZSB0aW1lbGluZSBieSBtYXBwaW5nIG92ZXIgdGhlIGRlZmluaXRpb24gYXJyYXkgYW5kIGNvbnZlcnRpbmdcbiAgICAgKiB0aGUgZGVmaW5pdGlvbnMgaW50byBrZXlmcmFtZXMgYW5kIG9mZnNldHMgd2l0aCBhYnNvbHV0ZSB0aW1lIHZhbHVlcy5cbiAgICAgKiBUaGVzZSB3aWxsIGxhdGVyIGdldCBjb252ZXJ0ZWQgaW50byByZWxhdGl2ZSBvZmZzZXRzIGluIGEgc2Vjb25kIHBhc3MuXG4gICAgICovXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWZpbml0aW9uLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHNlZ21lbnQgPSBkZWZpbml0aW9uW2ldO1xuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhpcyBpcyBhIHRpbWVsaW5lIGxhYmVsLCBtYXJrIGl0IGFuZCBza2lwIHRoZSByZXN0IG9mIHRoaXMgaXRlcmF0aW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGlzU3RyaW5nKHNlZ21lbnQpKSB7XG4gICAgICAgICAgICB0aW1lTGFiZWxzLnNldChzZWdtZW50LCBjdXJyZW50VGltZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghQXJyYXkuaXNBcnJheShzZWdtZW50KSkge1xuICAgICAgICAgICAgdGltZUxhYmVscy5zZXQoc2VnbWVudC5uYW1lLCBjYWxjTmV4dFRpbWUoY3VycmVudFRpbWUsIHNlZ21lbnQuYXQsIHByZXZUaW1lLCB0aW1lTGFiZWxzKSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbZWxlbWVudERlZmluaXRpb24sIGtleWZyYW1lcywgb3B0aW9ucyA9IHt9XSA9IHNlZ21lbnQ7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiBhIHJlbGF0aXZlIG9yIGFic29sdXRlIHRpbWUgdmFsdWUgaGFzIGJlZW4gc3BlY2lmaWVkIHdlIG5lZWQgdG8gcmVzb2x2ZVxuICAgICAgICAgKiBpdCBpbiByZWxhdGlvbiB0byB0aGUgY3VycmVudFRpbWUuXG4gICAgICAgICAqL1xuICAgICAgICBpZiAob3B0aW9ucy5hdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjdXJyZW50VGltZSA9IGNhbGNOZXh0VGltZShjdXJyZW50VGltZSwgb3B0aW9ucy5hdCwgcHJldlRpbWUsIHRpbWVMYWJlbHMpO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBLZWVwIHRyYWNrIG9mIHRoZSBtYXhpbXVtIGR1cmF0aW9uIGluIHRoaXMgZGVmaW5pdGlvbi4gVGhpcyB3aWxsIGJlXG4gICAgICAgICAqIGFwcGxpZWQgdG8gY3VycmVudFRpbWUgb25jZSB0aGUgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuXG4gICAgICAgICAqL1xuICAgICAgICBsZXQgbWF4RHVyYXRpb24gPSAwO1xuICAgICAgICAvKipcbiAgICAgICAgICogRmluZCBhbGwgdGhlIGVsZW1lbnRzIHNwZWNpZmllZCBpbiB0aGUgZGVmaW5pdGlvbiBhbmQgcGFyc2UgdmFsdWVcbiAgICAgICAgICoga2V5ZnJhbWVzIGZyb20gdGhlaXIgdGltZWxpbmUgZGVmaW5pdGlvbnMuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHJlc29sdmVFbGVtZW50cyhlbGVtZW50RGVmaW5pdGlvbiwgZWxlbWVudENhY2hlKTtcbiAgICAgICAgY29uc3QgbnVtRWxlbWVudHMgPSBlbGVtZW50cy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGVsZW1lbnRJbmRleCA9IDA7IGVsZW1lbnRJbmRleCA8IG51bUVsZW1lbnRzOyBlbGVtZW50SW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2VsZW1lbnRJbmRleF07XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50U2VxdWVuY2UgPSBnZXRFbGVtZW50U2VxdWVuY2UoZWxlbWVudCwgZWxlbWVudFNlcXVlbmNlcyk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBrZXlmcmFtZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZVNlcXVlbmNlID0gZ2V0VmFsdWVTZXF1ZW5jZShrZXksIGVsZW1lbnRTZXF1ZW5jZSk7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlS2V5ZnJhbWVzID0ga2V5ZnJhbWVzTGlzdChrZXlmcmFtZXNba2V5XSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWVPcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25zLCBrZXkpO1xuICAgICAgICAgICAgICAgIGxldCB7IGR1cmF0aW9uID0gZGVmYXVsdE9wdGlvbnMuZHVyYXRpb24gfHwgZGVmYXVsdHMuZHVyYXRpb24sIGVhc2luZyA9IGRlZmF1bHRPcHRpb25zLmVhc2luZyB8fCBkZWZhdWx0cy5lYXNpbmcsIH0gPSB2YWx1ZU9wdGlvbnM7XG4gICAgICAgICAgICAgICAgaWYgKGlzRWFzaW5nR2VuZXJhdG9yKGVhc2luZykpIHtcbiAgICAgICAgICAgICAgICAgICAgaW52YXJpYW50KGtleSA9PT0gXCJvcGFjaXR5XCIgfHwgdmFsdWVLZXlmcmFtZXMubGVuZ3RoID4gMSwgXCJzcHJpbmcgbXVzdCBiZSBwcm92aWRlZCAyIGtleWZyYW1lcyB3aXRoaW4gdGltZWxpbmUoKVwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VzdG9tID0gZWFzaW5nLmNyZWF0ZUFuaW1hdGlvbih2YWx1ZUtleWZyYW1lcywga2V5ICE9PSBcIm9wYWNpdHlcIiwgKCkgPT4gMCwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgZWFzaW5nID0gY3VzdG9tLmVhc2luZztcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVLZXlmcmFtZXMgPSBjdXN0b20ua2V5ZnJhbWVzIHx8IHZhbHVlS2V5ZnJhbWVzO1xuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGN1c3RvbS5kdXJhdGlvbiB8fCBkdXJhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZGVsYXkgPSByZXNvbHZlT3B0aW9uKG9wdGlvbnMuZGVsYXksIGVsZW1lbnRJbmRleCwgbnVtRWxlbWVudHMpIHx8IDA7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gY3VycmVudFRpbWUgKyBkZWxheTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRUaW1lID0gc3RhcnRUaW1lICsgZHVyYXRpb247XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBsZXQgeyBvZmZzZXQgPSBkZWZhdWx0T2Zmc2V0KHZhbHVlS2V5ZnJhbWVzLmxlbmd0aCkgfSA9IHZhbHVlT3B0aW9ucztcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBJZiB0aGVyZSdzIG9ubHkgb25lIG9mZnNldCBvZiAwLCBmaWxsIGluIGEgc2Vjb25kIHdpdGggbGVuZ3RoIDFcbiAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAqIFRPRE86IEVuc3VyZSB0aGVyZSdzIGEgdGVzdCB0aGF0IGNvdmVycyB0aGlzIHJlbW92YWxcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBpZiAob2Zmc2V0Lmxlbmd0aCA9PT0gMSAmJiBvZmZzZXRbMF0gPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WzFdID0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRmlsbCBvdXQgaWYgb2Zmc2V0IGlmIGZld2VyIG9mZnNldHMgdGhhbiBrZXlmcmFtZXNcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjb25zdCByZW1haW5kZXIgPSBvZmZzZXQubGVuZ3RoIC0gdmFsdWVLZXlmcmFtZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHJlbWFpbmRlciA+IDAgJiYgZmlsbE9mZnNldChvZmZzZXQsIHJlbWFpbmRlcik7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogSWYgb25seSBvbmUgdmFsdWUgaGFzIGJlZW4gc2V0LCBpZSBbMV0sIHB1c2ggYSBudWxsIHRvIHRoZSBzdGFydCBvZlxuICAgICAgICAgICAgICAgICAqIHRoZSBrZXlmcmFtZSBhcnJheS4gVGhpcyB3aWxsIGxldCB1cyBtYXJrIGEga2V5ZnJhbWUgYXQgdGhpcyBwb2ludFxuICAgICAgICAgICAgICAgICAqIHRoYXQgd2lsbCBsYXRlciBiZSBoeWRyYXRlZCB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZS5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICB2YWx1ZUtleWZyYW1lcy5sZW5ndGggPT09IDEgJiYgdmFsdWVLZXlmcmFtZXMudW5zaGlmdChudWxsKTtcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBBZGQga2V5ZnJhbWVzLCBtYXBwaW5nIG9mZnNldHMgdG8gYWJzb2x1dGUgdGltZS5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBhZGRLZXlmcmFtZXModmFsdWVTZXF1ZW5jZSwgdmFsdWVLZXlmcmFtZXMsIGVhc2luZywgb2Zmc2V0LCBzdGFydFRpbWUsIHRhcmdldFRpbWUpO1xuICAgICAgICAgICAgICAgIG1heER1cmF0aW9uID0gTWF0aC5tYXgoZGVsYXkgKyBkdXJhdGlvbiwgbWF4RHVyYXRpb24pO1xuICAgICAgICAgICAgICAgIHRvdGFsRHVyYXRpb24gPSBNYXRoLm1heCh0YXJnZXRUaW1lLCB0b3RhbER1cmF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcmV2VGltZSA9IGN1cnJlbnRUaW1lO1xuICAgICAgICBjdXJyZW50VGltZSArPSBtYXhEdXJhdGlvbjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRm9yIGV2ZXJ5IGVsZW1lbnQgYW5kIHZhbHVlIGNvbWJpbmF0aW9uIGNyZWF0ZSBhIG5ldyBhbmltYXRpb24uXG4gICAgICovXG4gICAgZWxlbWVudFNlcXVlbmNlcy5mb3JFYWNoKCh2YWx1ZVNlcXVlbmNlcywgZWxlbWVudCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZVNlcXVlbmNlcykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVTZXF1ZW5jZSA9IHZhbHVlU2VxdWVuY2VzW2tleV07XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEFycmFuZ2UgYWxsIHRoZSBrZXlmcmFtZXMgaW4gYXNjZW5kaW5nIHRpbWUgb3JkZXIuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHZhbHVlU2VxdWVuY2Uuc29ydChjb21wYXJlQnlUaW1lKTtcbiAgICAgICAgICAgIGNvbnN0IGtleWZyYW1lcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgdmFsdWVPZmZzZXQgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlRWFzaW5nID0gW107XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEZvciBlYWNoIGtleWZyYW1lLCB0cmFuc2xhdGUgYWJzb2x1dGUgdGltZXMgaW50b1xuICAgICAgICAgICAgICogcmVsYXRpdmUgb2Zmc2V0cyBiYXNlZCBvbiB0aGUgdG90YWwgZHVyYXRpb24gb2YgdGhlIHRpbWVsaW5lLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlU2VxdWVuY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGF0LCB2YWx1ZSwgZWFzaW5nIH0gPSB2YWx1ZVNlcXVlbmNlW2ldO1xuICAgICAgICAgICAgICAgIGtleWZyYW1lcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB2YWx1ZU9mZnNldC5wdXNoKHByb2dyZXNzKDAsIHRvdGFsRHVyYXRpb24sIGF0KSk7XG4gICAgICAgICAgICAgICAgdmFsdWVFYXNpbmcucHVzaChlYXNpbmcgfHwgZGVmYXVsdHMuZWFzaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogSWYgdGhlIGZpcnN0IGtleWZyYW1lIGRvZXNuJ3QgbGFuZCBvbiBvZmZzZXQ6IDBcbiAgICAgICAgICAgICAqIHByb3ZpZGUgb25lIGJ5IGR1cGxpY2F0aW5nIHRoZSBpbml0aWFsIGtleWZyYW1lLiBUaGlzIGVuc3VyZXNcbiAgICAgICAgICAgICAqIGl0IHNuYXBzIHRvIHRoZSBmaXJzdCBrZXlmcmFtZSB3aGVuIHRoZSBhbmltYXRpb24gc3RhcnRzLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpZiAodmFsdWVPZmZzZXRbMF0gIT09IDApIHtcbiAgICAgICAgICAgICAgICB2YWx1ZU9mZnNldC51bnNoaWZ0KDApO1xuICAgICAgICAgICAgICAgIGtleWZyYW1lcy51bnNoaWZ0KGtleWZyYW1lc1swXSk7XG4gICAgICAgICAgICAgICAgdmFsdWVFYXNpbmcudW5zaGlmdChcImxpbmVhclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogSWYgdGhlIGxhc3Qga2V5ZnJhbWUgZG9lc24ndCBsYW5kIG9uIG9mZnNldDogMVxuICAgICAgICAgICAgICogcHJvdmlkZSBvbmUgd2l0aCBhIG51bGwgd2lsZGNhcmQgdmFsdWUuIFRoaXMgd2lsbCBlbnN1cmUgaXRcbiAgICAgICAgICAgICAqIHN0YXlzIHN0YXRpYyB1bnRpbCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICh2YWx1ZU9mZnNldFt2YWx1ZU9mZnNldC5sZW5ndGggLSAxXSAhPT0gMSkge1xuICAgICAgICAgICAgICAgIHZhbHVlT2Zmc2V0LnB1c2goMSk7XG4gICAgICAgICAgICAgICAga2V5ZnJhbWVzLnB1c2gobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhbmltYXRpb25EZWZpbml0aW9ucy5wdXNoKFtcbiAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBrZXlmcmFtZXMsXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRpb25zKSwgeyBkdXJhdGlvbjogdG90YWxEdXJhdGlvbiwgZWFzaW5nOiB2YWx1ZUVhc2luZywgb2Zmc2V0OiB2YWx1ZU9mZnNldCB9KSwgdGltZWxpbmVPcHRpb25zKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGFuaW1hdGlvbkRlZmluaXRpb25zO1xufVxuZnVuY3Rpb24gZ2V0RWxlbWVudFNlcXVlbmNlKGVsZW1lbnQsIHNlcXVlbmNlcykge1xuICAgICFzZXF1ZW5jZXMuaGFzKGVsZW1lbnQpICYmIHNlcXVlbmNlcy5zZXQoZWxlbWVudCwge30pO1xuICAgIHJldHVybiBzZXF1ZW5jZXMuZ2V0KGVsZW1lbnQpO1xufVxuZnVuY3Rpb24gZ2V0VmFsdWVTZXF1ZW5jZShuYW1lLCBzZXF1ZW5jZXMpIHtcbiAgICBpZiAoIXNlcXVlbmNlc1tuYW1lXSlcbiAgICAgICAgc2VxdWVuY2VzW25hbWVdID0gW107XG4gICAgcmV0dXJuIHNlcXVlbmNlc1tuYW1lXTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQW5pbWF0aW9uc0Zyb21UaW1lbGluZSwgdGltZWxpbmUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/timeline/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/timeline/utils/calc-time.es.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/timeline/utils/calc-time.es.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ calcNextTime: function() { return /* binding */ calcNextTime; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nfunction calcNextTime(current, next, prev, labels) {\n var _a;\n if ((0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(next)) {\n return next;\n }\n else if (next.startsWith(\"-\") || next.startsWith(\"+\")) {\n return Math.max(0, current + parseFloat(next));\n }\n else if (next === \"<\") {\n return prev;\n }\n else {\n return (_a = labels.get(next)) !== null && _a !== void 0 ? _a : current;\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC90aW1lbGluZS91dGlscy9jYWxjLXRpbWUuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNEM7O0FBRTVDO0FBQ0E7QUFDQSxRQUFRLDBEQUFRO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvdGltZWxpbmUvdXRpbHMvY2FsYy10aW1lLmVzLmpzPzNkMTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICdAbW90aW9ub25lL3V0aWxzJztcblxuZnVuY3Rpb24gY2FsY05leHRUaW1lKGN1cnJlbnQsIG5leHQsIHByZXYsIGxhYmVscykge1xuICAgIHZhciBfYTtcbiAgICBpZiAoaXNOdW1iZXIobmV4dCkpIHtcbiAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKG5leHQuc3RhcnRzV2l0aChcIi1cIikgfHwgbmV4dC5zdGFydHNXaXRoKFwiK1wiKSkge1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgoMCwgY3VycmVudCArIHBhcnNlRmxvYXQobmV4dCkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChuZXh0ID09PSBcIjxcIikge1xuICAgICAgICByZXR1cm4gcHJldjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAoX2EgPSBsYWJlbHMuZ2V0KG5leHQpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBjdXJyZW50O1xuICAgIH1cbn1cblxuZXhwb3J0IHsgY2FsY05leHRUaW1lIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/timeline/utils/calc-time.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/timeline/utils/edit.es.js": -/*!********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/timeline/utils/edit.es.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addKeyframes: function() { return /* binding */ addKeyframes; },\n/* harmony export */ eraseKeyframes: function() { return /* binding */ eraseKeyframes; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nfunction eraseKeyframes(sequence, startTime, endTime) {\n for (let i = 0; i < sequence.length; i++) {\n const keyframe = sequence[i];\n if (keyframe.at > startTime && keyframe.at < endTime) {\n (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.removeItem)(sequence, keyframe);\n // If we remove this item we have to push the pointer back one\n i--;\n }\n }\n}\nfunction addKeyframes(sequence, keyframes, easing, offset, startTime, endTime) {\n /**\n * Erase every existing value between currentTime and targetTime,\n * this will essentially splice this timeline into any currently\n * defined ones.\n */\n eraseKeyframes(sequence, startTime, endTime);\n for (let i = 0; i < keyframes.length; i++) {\n sequence.push({\n value: keyframes[i],\n at: (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.mix)(startTime, endTime, offset[i]),\n easing: (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.getEasingForSegment)(easing, i),\n });\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC90aW1lbGluZS91dGlscy9lZGl0LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF3RTs7QUFFeEU7QUFDQSxvQkFBb0IscUJBQXFCO0FBQ3pDO0FBQ0E7QUFDQSxZQUFZLDREQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBLGdCQUFnQixxREFBRztBQUNuQixvQkFBb0IscUVBQW1CO0FBQ3ZDLFNBQVM7QUFDVDtBQUNBOztBQUV3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC90aW1lbGluZS91dGlscy9lZGl0LmVzLmpzP2Q0ZGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWl4LCBnZXRFYXNpbmdGb3JTZWdtZW50LCByZW1vdmVJdGVtIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5cbmZ1bmN0aW9uIGVyYXNlS2V5ZnJhbWVzKHNlcXVlbmNlLCBzdGFydFRpbWUsIGVuZFRpbWUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcXVlbmNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGtleWZyYW1lID0gc2VxdWVuY2VbaV07XG4gICAgICAgIGlmIChrZXlmcmFtZS5hdCA+IHN0YXJ0VGltZSAmJiBrZXlmcmFtZS5hdCA8IGVuZFRpbWUpIHtcbiAgICAgICAgICAgIHJlbW92ZUl0ZW0oc2VxdWVuY2UsIGtleWZyYW1lKTtcbiAgICAgICAgICAgIC8vIElmIHdlIHJlbW92ZSB0aGlzIGl0ZW0gd2UgaGF2ZSB0byBwdXNoIHRoZSBwb2ludGVyIGJhY2sgb25lXG4gICAgICAgICAgICBpLS07XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBhZGRLZXlmcmFtZXMoc2VxdWVuY2UsIGtleWZyYW1lcywgZWFzaW5nLCBvZmZzZXQsIHN0YXJ0VGltZSwgZW5kVGltZSkge1xuICAgIC8qKlxuICAgICAqIEVyYXNlIGV2ZXJ5IGV4aXN0aW5nIHZhbHVlIGJldHdlZW4gY3VycmVudFRpbWUgYW5kIHRhcmdldFRpbWUsXG4gICAgICogdGhpcyB3aWxsIGVzc2VudGlhbGx5IHNwbGljZSB0aGlzIHRpbWVsaW5lIGludG8gYW55IGN1cnJlbnRseVxuICAgICAqIGRlZmluZWQgb25lcy5cbiAgICAgKi9cbiAgICBlcmFzZUtleWZyYW1lcyhzZXF1ZW5jZSwgc3RhcnRUaW1lLCBlbmRUaW1lKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleWZyYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBzZXF1ZW5jZS5wdXNoKHtcbiAgICAgICAgICAgIHZhbHVlOiBrZXlmcmFtZXNbaV0sXG4gICAgICAgICAgICBhdDogbWl4KHN0YXJ0VGltZSwgZW5kVGltZSwgb2Zmc2V0W2ldKSxcbiAgICAgICAgICAgIGVhc2luZzogZ2V0RWFzaW5nRm9yU2VnbWVudChlYXNpbmcsIGkpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCB7IGFkZEtleWZyYW1lcywgZXJhc2VLZXlmcmFtZXMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/timeline/utils/edit.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/timeline/utils/sort.es.js": -/*!********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/timeline/utils/sort.es.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compareByTime: function() { return /* binding */ compareByTime; }\n/* harmony export */ });\nfunction compareByTime(a, b) {\n if (a.at === b.at) {\n return a.value === null ? 1 : -1;\n }\n else {\n return a.at - b.at;\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC90aW1lbGluZS91dGlscy9zb3J0LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUV5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC90aW1lbGluZS91dGlscy9zb3J0LmVzLmpzPzYwY2QiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gY29tcGFyZUJ5VGltZShhLCBiKSB7XG4gICAgaWYgKGEuYXQgPT09IGIuYXQpIHtcbiAgICAgICAgcmV0dXJuIGEudmFsdWUgPT09IG51bGwgPyAxIDogLTE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gYS5hdCAtIGIuYXQ7XG4gICAgfVxufVxuXG5leHBvcnQgeyBjb21wYXJlQnlUaW1lIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/timeline/utils/sort.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resolveElements: function() { return /* binding */ resolveElements; }\n/* harmony export */ });\nfunction resolveElements(elements, selectorCache) {\n var _a;\n if (typeof elements === \"string\") {\n if (selectorCache) {\n (_a = selectorCache[elements]) !== null && _a !== void 0 ? _a : (selectorCache[elements] = document.querySelectorAll(elements));\n elements = selectorCache[elements];\n }\n else {\n elements = document.querySelectorAll(elements);\n }\n }\n else if (elements instanceof Element) {\n elements = [elements];\n }\n /**\n * Return an empty array\n */\n return Array.from(elements || []);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC91dGlscy9yZXNvbHZlLWVsZW1lbnRzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFMkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvdXRpbHMvcmVzb2x2ZS1lbGVtZW50cy5lcy5qcz9mMThlIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHJlc29sdmVFbGVtZW50cyhlbGVtZW50cywgc2VsZWN0b3JDYWNoZSkge1xuICAgIHZhciBfYTtcbiAgICBpZiAodHlwZW9mIGVsZW1lbnRzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGlmIChzZWxlY3RvckNhY2hlKSB7XG4gICAgICAgICAgICAoX2EgPSBzZWxlY3RvckNhY2hlW2VsZW1lbnRzXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHNlbGVjdG9yQ2FjaGVbZWxlbWVudHNdID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlbGVtZW50cykpO1xuICAgICAgICAgICAgZWxlbWVudHMgPSBzZWxlY3RvckNhY2hlW2VsZW1lbnRzXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlbGVtZW50cyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoZWxlbWVudHMgaW5zdGFuY2VvZiBFbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnRzID0gW2VsZW1lbnRzXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGFuIGVtcHR5IGFycmF5XG4gICAgICovXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZWxlbWVudHMgfHwgW10pO1xufVxuXG5leHBvcnQgeyByZXNvbHZlRWxlbWVudHMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/utils/resolve-elements.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/dom/dist/utils/stagger.es.js": -/*!**************************************************************!*\ - !*** ./node_modules/@motionone/dom/dist/utils/stagger.es.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFromIndex: function() { return /* binding */ getFromIndex; },\n/* harmony export */ resolveOption: function() { return /* binding */ resolveOption; },\n/* harmony export */ stagger: function() { return /* binding */ stagger; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _motionone_animation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/animation */ \"./node_modules/@motionone/animation/dist/index.es.js\");\n\n\n\nfunction stagger(duration = 0.1, { start = 0, from = 0, easing } = {}) {\n return (i, total) => {\n const fromIndex = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isNumber)(from) ? from : getFromIndex(from, total);\n const distance = Math.abs(fromIndex - i);\n let delay = duration * distance;\n if (easing) {\n const maxDelay = total * duration;\n const easingFunction = (0,_motionone_animation__WEBPACK_IMPORTED_MODULE_1__.getEasingFunction)(easing);\n delay = easingFunction(delay / maxDelay) * maxDelay;\n }\n return start + delay;\n };\n}\nfunction getFromIndex(from, total) {\n if (from === \"first\") {\n return 0;\n }\n else {\n const lastIndex = total - 1;\n return from === \"last\" ? lastIndex : lastIndex / 2;\n }\n}\nfunction resolveOption(option, i, total) {\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(option) ? option(i, total) : option;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9kb20vZGlzdC91dGlscy9zdGFnZ2VyLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXdEO0FBQ0M7O0FBRXpELG1DQUFtQyw4QkFBOEIsSUFBSTtBQUNyRTtBQUNBLDBCQUEwQiwwREFBUTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyx1RUFBaUI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyw0REFBVTtBQUNyQjs7QUFFZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZG9tL2Rpc3QvdXRpbHMvc3RhZ2dlci5lcy5qcz9lMjVkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVtYmVyLCBpc0Z1bmN0aW9uIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBnZXRFYXNpbmdGdW5jdGlvbiB9IGZyb20gJ0Btb3Rpb25vbmUvYW5pbWF0aW9uJztcblxuZnVuY3Rpb24gc3RhZ2dlcihkdXJhdGlvbiA9IDAuMSwgeyBzdGFydCA9IDAsIGZyb20gPSAwLCBlYXNpbmcgfSA9IHt9KSB7XG4gICAgcmV0dXJuIChpLCB0b3RhbCkgPT4ge1xuICAgICAgICBjb25zdCBmcm9tSW5kZXggPSBpc051bWJlcihmcm9tKSA/IGZyb20gOiBnZXRGcm9tSW5kZXgoZnJvbSwgdG90YWwpO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKGZyb21JbmRleCAtIGkpO1xuICAgICAgICBsZXQgZGVsYXkgPSBkdXJhdGlvbiAqIGRpc3RhbmNlO1xuICAgICAgICBpZiAoZWFzaW5nKSB7XG4gICAgICAgICAgICBjb25zdCBtYXhEZWxheSA9IHRvdGFsICogZHVyYXRpb247XG4gICAgICAgICAgICBjb25zdCBlYXNpbmdGdW5jdGlvbiA9IGdldEVhc2luZ0Z1bmN0aW9uKGVhc2luZyk7XG4gICAgICAgICAgICBkZWxheSA9IGVhc2luZ0Z1bmN0aW9uKGRlbGF5IC8gbWF4RGVsYXkpICogbWF4RGVsYXk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXJ0ICsgZGVsYXk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldEZyb21JbmRleChmcm9tLCB0b3RhbCkge1xuICAgIGlmIChmcm9tID09PSBcImZpcnN0XCIpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBsYXN0SW5kZXggPSB0b3RhbCAtIDE7XG4gICAgICAgIHJldHVybiBmcm9tID09PSBcImxhc3RcIiA/IGxhc3RJbmRleCA6IGxhc3RJbmRleCAvIDI7XG4gICAgfVxufVxuZnVuY3Rpb24gcmVzb2x2ZU9wdGlvbihvcHRpb24sIGksIHRvdGFsKSB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24ob3B0aW9uKSA/IG9wdGlvbihpLCB0b3RhbCkgOiBvcHRpb247XG59XG5cbmV4cG9ydCB7IGdldEZyb21JbmRleCwgcmVzb2x2ZU9wdGlvbiwgc3RhZ2dlciB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/dom/dist/utils/stagger.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/easing/dist/cubic-bezier.es.js": -/*!****************************************************************!*\ - !*** ./node_modules/@motionone/easing/dist/cubic-bezier.es.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cubicBezier: function() { return /* binding */ cubicBezier; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\n/*\n Bezier function generator\n\n This has been modified from Gaëtan Renaudeau's BezierEasing\n https://github.com/gre/bezier-easing/blob/master/src/index.js\n https://github.com/gre/bezier-easing/blob/master/LICENSE\n \n I've removed the newtonRaphsonIterate algo because in benchmarking it\n wasn't noticiably faster than binarySubdivision, indeed removing it\n usually improved times, depending on the curve.\n\n I also removed the lookup table, as for the added bundle size and loop we're\n only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n to 12 to compensate and this still tended to be faster for no perceivable\n loss in accuracy.\n\n Usage\n const easeOut = cubicBezier(.17,.67,.83,.67);\n const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) * t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - x;\n if (currentX > 0.0) {\n upperBound = currentT;\n }\n else {\n lowerBound = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n // If this is a linear gradient, return linear easing\n if (mX1 === mY1 && mX2 === mY2)\n return _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn;\n const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n // If animation is at start/end, return t without easing\n return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9lYXNpbmcvZGlzdC9jdWJpYy1iZXppZXIuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBOEM7O0FBRTlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx3REFBVTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTs7QUFFdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZWFzaW5nL2Rpc3QvY3ViaWMtYmV6aWVyLmVzLmpzPzA2OWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9vcFJldHVybiB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuXG4vKlxuICBCZXppZXIgZnVuY3Rpb24gZ2VuZXJhdG9yXG5cbiAgVGhpcyBoYXMgYmVlbiBtb2RpZmllZCBmcm9tIEdhw6t0YW4gUmVuYXVkZWF1J3MgQmV6aWVyRWFzaW5nXG4gIGh0dHBzOi8vZ2l0aHViLmNvbS9ncmUvYmV6aWVyLWVhc2luZy9ibG9iL21hc3Rlci9zcmMvaW5kZXguanNcbiAgaHR0cHM6Ly9naXRodWIuY29tL2dyZS9iZXppZXItZWFzaW5nL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAgXG4gIEkndmUgcmVtb3ZlZCB0aGUgbmV3dG9uUmFwaHNvbkl0ZXJhdGUgYWxnbyBiZWNhdXNlIGluIGJlbmNobWFya2luZyBpdFxuICB3YXNuJ3Qgbm90aWNpYWJseSBmYXN0ZXIgdGhhbiBiaW5hcnlTdWJkaXZpc2lvbiwgaW5kZWVkIHJlbW92aW5nIGl0XG4gIHVzdWFsbHkgaW1wcm92ZWQgdGltZXMsIGRlcGVuZGluZyBvbiB0aGUgY3VydmUuXG5cbiAgSSBhbHNvIHJlbW92ZWQgdGhlIGxvb2t1cCB0YWJsZSwgYXMgZm9yIHRoZSBhZGRlZCBidW5kbGUgc2l6ZSBhbmQgbG9vcCB3ZSdyZVxuICBvbmx5IGN1dHRpbmcgfjQgb3Igc28gc3ViZGl2aXNpb24gaXRlcmF0aW9ucy4gSSBidW1wZWQgdGhlIG1heCBpdGVyYXRpb25zIHVwXG4gIHRvIDEyIHRvIGNvbXBlbnNhdGUgYW5kIHRoaXMgc3RpbGwgdGVuZGVkIHRvIGJlIGZhc3RlciBmb3Igbm8gcGVyY2VpdmFibGVcbiAgbG9zcyBpbiBhY2N1cmFjeS5cblxuICBVc2FnZVxuICAgIGNvbnN0IGVhc2VPdXQgPSBjdWJpY0JlemllciguMTcsLjY3LC44MywuNjcpO1xuICAgIGNvbnN0IHggPSBlYXNlT3V0KDAuNSk7IC8vIHJldHVybnMgMC42MjcuLi5cbiovXG4vLyBSZXR1cm5zIHgodCkgZ2l2ZW4gdCwgeDEsIGFuZCB4Miwgb3IgeSh0KSBnaXZlbiB0LCB5MSwgYW5kIHkyLlxuY29uc3QgY2FsY0JlemllciA9ICh0LCBhMSwgYTIpID0+ICgoKDEuMCAtIDMuMCAqIGEyICsgMy4wICogYTEpICogdCArICgzLjAgKiBhMiAtIDYuMCAqIGExKSkgKiB0ICsgMy4wICogYTEpICogdDtcbmNvbnN0IHN1YmRpdmlzaW9uUHJlY2lzaW9uID0gMC4wMDAwMDAxO1xuY29uc3Qgc3ViZGl2aXNpb25NYXhJdGVyYXRpb25zID0gMTI7XG5mdW5jdGlvbiBiaW5hcnlTdWJkaXZpZGUoeCwgbG93ZXJCb3VuZCwgdXBwZXJCb3VuZCwgbVgxLCBtWDIpIHtcbiAgICBsZXQgY3VycmVudFg7XG4gICAgbGV0IGN1cnJlbnRUO1xuICAgIGxldCBpID0gMDtcbiAgICBkbyB7XG4gICAgICAgIGN1cnJlbnRUID0gbG93ZXJCb3VuZCArICh1cHBlckJvdW5kIC0gbG93ZXJCb3VuZCkgLyAyLjA7XG4gICAgICAgIGN1cnJlbnRYID0gY2FsY0JlemllcihjdXJyZW50VCwgbVgxLCBtWDIpIC0geDtcbiAgICAgICAgaWYgKGN1cnJlbnRYID4gMC4wKSB7XG4gICAgICAgICAgICB1cHBlckJvdW5kID0gY3VycmVudFQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsb3dlckJvdW5kID0gY3VycmVudFQ7XG4gICAgICAgIH1cbiAgICB9IHdoaWxlIChNYXRoLmFicyhjdXJyZW50WCkgPiBzdWJkaXZpc2lvblByZWNpc2lvbiAmJlxuICAgICAgICArK2kgPCBzdWJkaXZpc2lvbk1heEl0ZXJhdGlvbnMpO1xuICAgIHJldHVybiBjdXJyZW50VDtcbn1cbmZ1bmN0aW9uIGN1YmljQmV6aWVyKG1YMSwgbVkxLCBtWDIsIG1ZMikge1xuICAgIC8vIElmIHRoaXMgaXMgYSBsaW5lYXIgZ3JhZGllbnQsIHJldHVybiBsaW5lYXIgZWFzaW5nXG4gICAgaWYgKG1YMSA9PT0gbVkxICYmIG1YMiA9PT0gbVkyKVxuICAgICAgICByZXR1cm4gbm9vcFJldHVybjtcbiAgICBjb25zdCBnZXRURm9yWCA9IChhWCkgPT4gYmluYXJ5U3ViZGl2aWRlKGFYLCAwLCAxLCBtWDEsIG1YMik7XG4gICAgLy8gSWYgYW5pbWF0aW9uIGlzIGF0IHN0YXJ0L2VuZCwgcmV0dXJuIHQgd2l0aG91dCBlYXNpbmdcbiAgICByZXR1cm4gKHQpID0+IHQgPT09IDAgfHwgdCA9PT0gMSA/IHQgOiBjYWxjQmV6aWVyKGdldFRGb3JYKHQpLCBtWTEsIG1ZMik7XG59XG5cbmV4cG9ydCB7IGN1YmljQmV6aWVyIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/easing/dist/cubic-bezier.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/easing/dist/index.es.js": -/*!*********************************************************!*\ - !*** ./node_modules/@motionone/easing/dist/index.es.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cubicBezier: function() { return /* reexport safe */ _cubic_bezier_es_js__WEBPACK_IMPORTED_MODULE_0__.cubicBezier; },\n/* harmony export */ steps: function() { return /* reexport safe */ _steps_es_js__WEBPACK_IMPORTED_MODULE_1__.steps; }\n/* harmony export */ });\n/* harmony import */ var _cubic_bezier_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cubic-bezier.es.js */ \"./node_modules/@motionone/easing/dist/cubic-bezier.es.js\");\n/* harmony import */ var _steps_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./steps.es.js */ \"./node_modules/@motionone/easing/dist/steps.es.js\");\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9lYXNpbmcvZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW1EO0FBQ2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZWFzaW5nL2Rpc3QvaW5kZXguZXMuanM/OTYwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjdWJpY0JlemllciB9IGZyb20gJy4vY3ViaWMtYmV6aWVyLmVzLmpzJztcbmV4cG9ydCB7IHN0ZXBzIH0gZnJvbSAnLi9zdGVwcy5lcy5qcyc7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/easing/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/easing/dist/steps.es.js": -/*!*********************************************************!*\ - !*** ./node_modules/@motionone/easing/dist/steps.es.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ steps: function() { return /* binding */ steps; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nconst steps = (steps, direction = \"end\") => (progress) => {\n progress =\n direction === \"end\"\n ? Math.min(progress, 0.999)\n : Math.max(progress, 0.001);\n const expanded = progress * steps;\n const rounded = direction === \"end\" ? Math.floor(expanded) : Math.ceil(expanded);\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.clamp)(0, 1, rounded / steps);\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9lYXNpbmcvZGlzdC9zdGVwcy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUF5Qzs7QUFFekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHVEQUFLO0FBQ2hCOztBQUVpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9lYXNpbmcvZGlzdC9zdGVwcy5lcy5qcz82ZDRmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsYW1wIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5cbmNvbnN0IHN0ZXBzID0gKHN0ZXBzLCBkaXJlY3Rpb24gPSBcImVuZFwiKSA9PiAocHJvZ3Jlc3MpID0+IHtcbiAgICBwcm9ncmVzcyA9XG4gICAgICAgIGRpcmVjdGlvbiA9PT0gXCJlbmRcIlxuICAgICAgICAgICAgPyBNYXRoLm1pbihwcm9ncmVzcywgMC45OTkpXG4gICAgICAgICAgICA6IE1hdGgubWF4KHByb2dyZXNzLCAwLjAwMSk7XG4gICAgY29uc3QgZXhwYW5kZWQgPSBwcm9ncmVzcyAqIHN0ZXBzO1xuICAgIGNvbnN0IHJvdW5kZWQgPSBkaXJlY3Rpb24gPT09IFwiZW5kXCIgPyBNYXRoLmZsb29yKGV4cGFuZGVkKSA6IE1hdGguY2VpbChleHBhbmRlZCk7XG4gICAgcmV0dXJuIGNsYW1wKDAsIDEsIHJvdW5kZWQgLyBzdGVwcyk7XG59O1xuXG5leHBvcnQgeyBzdGVwcyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/easing/dist/steps.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/glide/index.es.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/glide/index.es.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ glide: function() { return /* binding */ glide; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _utils_velocity_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/velocity.es.js */ \"./node_modules/@motionone/generators/dist/utils/velocity.es.js\");\n/* harmony import */ var _spring_index_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../spring/index.es.js */ \"./node_modules/@motionone/generators/dist/spring/index.es.js\");\n\n\n\n\nconst glide = ({ from = 0, velocity = 0.0, power = 0.8, decay = 0.325, bounceDamping, bounceStiffness, changeTarget, min, max, restDistance = 0.5, restSpeed, }) => {\n decay = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.time.ms(decay);\n const state = {\n hasReachedTarget: false,\n done: false,\n current: from,\n target: from,\n };\n const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n const nearestBoundary = (v) => {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n };\n let amplitude = power * velocity;\n const ideal = from + amplitude;\n const target = changeTarget === undefined ? ideal : changeTarget(ideal);\n state.target = target;\n /**\n * If the target has changed we need to re-calculate the amplitude, otherwise\n * the animation will start from the wrong position.\n */\n if (target !== ideal)\n amplitude = target - from;\n const calcDelta = (t) => -amplitude * Math.exp(-t / decay);\n const calcLatest = (t) => target + calcDelta(t);\n const applyFriction = (t) => {\n const delta = calcDelta(t);\n const latest = calcLatest(t);\n state.done = Math.abs(delta) <= restDistance;\n state.current = state.done ? target : latest;\n };\n /**\n * Ideally this would resolve for t in a stateless way, we could\n * do that by always precalculating the animation but as we know\n * this will be done anyway we can assume that spring will\n * be discovered during that.\n */\n let timeReachedBoundary;\n let spring$1;\n const checkCatchBoundary = (t) => {\n if (!isOutOfBounds(state.current))\n return;\n timeReachedBoundary = t;\n spring$1 = (0,_spring_index_es_js__WEBPACK_IMPORTED_MODULE_1__.spring)({\n from: state.current,\n to: nearestBoundary(state.current),\n velocity: (0,_utils_velocity_es_js__WEBPACK_IMPORTED_MODULE_2__.calcGeneratorVelocity)(calcLatest, t, state.current),\n damping: bounceDamping,\n stiffness: bounceStiffness,\n restDistance,\n restSpeed,\n });\n };\n checkCatchBoundary(0);\n return (t) => {\n /**\n * We need to resolve the friction to figure out if we need a\n * spring but we don't want to do this twice per frame. So here\n * we flag if we updated for this frame and later if we did\n * we can skip doing it again.\n */\n let hasUpdatedFrame = false;\n if (!spring$1 && timeReachedBoundary === undefined) {\n hasUpdatedFrame = true;\n applyFriction(t);\n checkCatchBoundary(t);\n }\n /**\n * If we have a spring and the provided t is beyond the moment the friction\n * animation crossed the min/max boundary, use the spring.\n */\n if (timeReachedBoundary !== undefined && t > timeReachedBoundary) {\n state.hasReachedTarget = true;\n return spring$1(t - timeReachedBoundary);\n }\n else {\n state.hasReachedTarget = false;\n !hasUpdatedFrame && applyFriction(t);\n return state;\n }\n };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvZ2xpZGUvaW5kZXguZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF3QztBQUN3QjtBQUNqQjs7QUFFL0MsaUJBQWlCLDhJQUE4STtBQUMvSixZQUFZLGtEQUFJO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkRBQU07QUFDekI7QUFDQTtBQUNBLHNCQUFzQiw0RUFBcUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvZ2xpZGUvaW5kZXguZXMuanM/MWI1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aW1lIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBjYWxjR2VuZXJhdG9yVmVsb2NpdHkgfSBmcm9tICcuLi91dGlscy92ZWxvY2l0eS5lcy5qcyc7XG5pbXBvcnQgeyBzcHJpbmcgfSBmcm9tICcuLi9zcHJpbmcvaW5kZXguZXMuanMnO1xuXG5jb25zdCBnbGlkZSA9ICh7IGZyb20gPSAwLCB2ZWxvY2l0eSA9IDAuMCwgcG93ZXIgPSAwLjgsIGRlY2F5ID0gMC4zMjUsIGJvdW5jZURhbXBpbmcsIGJvdW5jZVN0aWZmbmVzcywgY2hhbmdlVGFyZ2V0LCBtaW4sIG1heCwgcmVzdERpc3RhbmNlID0gMC41LCByZXN0U3BlZWQsIH0pID0+IHtcbiAgICBkZWNheSA9IHRpbWUubXMoZGVjYXkpO1xuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICBoYXNSZWFjaGVkVGFyZ2V0OiBmYWxzZSxcbiAgICAgICAgZG9uZTogZmFsc2UsXG4gICAgICAgIGN1cnJlbnQ6IGZyb20sXG4gICAgICAgIHRhcmdldDogZnJvbSxcbiAgICB9O1xuICAgIGNvbnN0IGlzT3V0T2ZCb3VuZHMgPSAodikgPT4gKG1pbiAhPT0gdW5kZWZpbmVkICYmIHYgPCBtaW4pIHx8IChtYXggIT09IHVuZGVmaW5lZCAmJiB2ID4gbWF4KTtcbiAgICBjb25zdCBuZWFyZXN0Qm91bmRhcnkgPSAodikgPT4ge1xuICAgICAgICBpZiAobWluID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICByZXR1cm4gbWF4O1xuICAgICAgICBpZiAobWF4ID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICByZXR1cm4gbWluO1xuICAgICAgICByZXR1cm4gTWF0aC5hYnMobWluIC0gdikgPCBNYXRoLmFicyhtYXggLSB2KSA/IG1pbiA6IG1heDtcbiAgICB9O1xuICAgIGxldCBhbXBsaXR1ZGUgPSBwb3dlciAqIHZlbG9jaXR5O1xuICAgIGNvbnN0IGlkZWFsID0gZnJvbSArIGFtcGxpdHVkZTtcbiAgICBjb25zdCB0YXJnZXQgPSBjaGFuZ2VUYXJnZXQgPT09IHVuZGVmaW5lZCA/IGlkZWFsIDogY2hhbmdlVGFyZ2V0KGlkZWFsKTtcbiAgICBzdGF0ZS50YXJnZXQgPSB0YXJnZXQ7XG4gICAgLyoqXG4gICAgICogSWYgdGhlIHRhcmdldCBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHJlLWNhbGN1bGF0ZSB0aGUgYW1wbGl0dWRlLCBvdGhlcndpc2VcbiAgICAgKiB0aGUgYW5pbWF0aW9uIHdpbGwgc3RhcnQgZnJvbSB0aGUgd3JvbmcgcG9zaXRpb24uXG4gICAgICovXG4gICAgaWYgKHRhcmdldCAhPT0gaWRlYWwpXG4gICAgICAgIGFtcGxpdHVkZSA9IHRhcmdldCAtIGZyb207XG4gICAgY29uc3QgY2FsY0RlbHRhID0gKHQpID0+IC1hbXBsaXR1ZGUgKiBNYXRoLmV4cCgtdCAvIGRlY2F5KTtcbiAgICBjb25zdCBjYWxjTGF0ZXN0ID0gKHQpID0+IHRhcmdldCArIGNhbGNEZWx0YSh0KTtcbiAgICBjb25zdCBhcHBseUZyaWN0aW9uID0gKHQpID0+IHtcbiAgICAgICAgY29uc3QgZGVsdGEgPSBjYWxjRGVsdGEodCk7XG4gICAgICAgIGNvbnN0IGxhdGVzdCA9IGNhbGNMYXRlc3QodCk7XG4gICAgICAgIHN0YXRlLmRvbmUgPSBNYXRoLmFicyhkZWx0YSkgPD0gcmVzdERpc3RhbmNlO1xuICAgICAgICBzdGF0ZS5jdXJyZW50ID0gc3RhdGUuZG9uZSA/IHRhcmdldCA6IGxhdGVzdDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIElkZWFsbHkgdGhpcyB3b3VsZCByZXNvbHZlIGZvciB0IGluIGEgc3RhdGVsZXNzIHdheSwgd2UgY291bGRcbiAgICAgKiBkbyB0aGF0IGJ5IGFsd2F5cyBwcmVjYWxjdWxhdGluZyB0aGUgYW5pbWF0aW9uIGJ1dCBhcyB3ZSBrbm93XG4gICAgICogdGhpcyB3aWxsIGJlIGRvbmUgYW55d2F5IHdlIGNhbiBhc3N1bWUgdGhhdCBzcHJpbmcgd2lsbFxuICAgICAqIGJlIGRpc2NvdmVyZWQgZHVyaW5nIHRoYXQuXG4gICAgICovXG4gICAgbGV0IHRpbWVSZWFjaGVkQm91bmRhcnk7XG4gICAgbGV0IHNwcmluZyQxO1xuICAgIGNvbnN0IGNoZWNrQ2F0Y2hCb3VuZGFyeSA9ICh0KSA9PiB7XG4gICAgICAgIGlmICghaXNPdXRPZkJvdW5kcyhzdGF0ZS5jdXJyZW50KSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGltZVJlYWNoZWRCb3VuZGFyeSA9IHQ7XG4gICAgICAgIHNwcmluZyQxID0gc3ByaW5nKHtcbiAgICAgICAgICAgIGZyb206IHN0YXRlLmN1cnJlbnQsXG4gICAgICAgICAgICB0bzogbmVhcmVzdEJvdW5kYXJ5KHN0YXRlLmN1cnJlbnQpLFxuICAgICAgICAgICAgdmVsb2NpdHk6IGNhbGNHZW5lcmF0b3JWZWxvY2l0eShjYWxjTGF0ZXN0LCB0LCBzdGF0ZS5jdXJyZW50KSxcbiAgICAgICAgICAgIGRhbXBpbmc6IGJvdW5jZURhbXBpbmcsXG4gICAgICAgICAgICBzdGlmZm5lc3M6IGJvdW5jZVN0aWZmbmVzcyxcbiAgICAgICAgICAgIHJlc3REaXN0YW5jZSxcbiAgICAgICAgICAgIHJlc3RTcGVlZCxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBjaGVja0NhdGNoQm91bmRhcnkoMCk7XG4gICAgcmV0dXJuICh0KSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXZSBuZWVkIHRvIHJlc29sdmUgdGhlIGZyaWN0aW9uIHRvIGZpZ3VyZSBvdXQgaWYgd2UgbmVlZCBhXG4gICAgICAgICAqIHNwcmluZyBidXQgd2UgZG9uJ3Qgd2FudCB0byBkbyB0aGlzIHR3aWNlIHBlciBmcmFtZS4gU28gaGVyZVxuICAgICAgICAgKiB3ZSBmbGFnIGlmIHdlIHVwZGF0ZWQgZm9yIHRoaXMgZnJhbWUgYW5kIGxhdGVyIGlmIHdlIGRpZFxuICAgICAgICAgKiB3ZSBjYW4gc2tpcCBkb2luZyBpdCBhZ2Fpbi5cbiAgICAgICAgICovXG4gICAgICAgIGxldCBoYXNVcGRhdGVkRnJhbWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKCFzcHJpbmckMSAmJiB0aW1lUmVhY2hlZEJvdW5kYXJ5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhhc1VwZGF0ZWRGcmFtZSA9IHRydWU7XG4gICAgICAgICAgICBhcHBseUZyaWN0aW9uKHQpO1xuICAgICAgICAgICAgY2hlY2tDYXRjaEJvdW5kYXJ5KHQpO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB3ZSBoYXZlIGEgc3ByaW5nIGFuZCB0aGUgcHJvdmlkZWQgdCBpcyBiZXlvbmQgdGhlIG1vbWVudCB0aGUgZnJpY3Rpb25cbiAgICAgICAgICogYW5pbWF0aW9uIGNyb3NzZWQgdGhlIG1pbi9tYXggYm91bmRhcnksIHVzZSB0aGUgc3ByaW5nLlxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRpbWVSZWFjaGVkQm91bmRhcnkgIT09IHVuZGVmaW5lZCAmJiB0ID4gdGltZVJlYWNoZWRCb3VuZGFyeSkge1xuICAgICAgICAgICAgc3RhdGUuaGFzUmVhY2hlZFRhcmdldCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gc3ByaW5nJDEodCAtIHRpbWVSZWFjaGVkQm91bmRhcnkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuaGFzUmVhY2hlZFRhcmdldCA9IGZhbHNlO1xuICAgICAgICAgICAgIWhhc1VwZGF0ZWRGcmFtZSAmJiBhcHBseUZyaWN0aW9uKHQpO1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbmV4cG9ydCB7IGdsaWRlIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/glide/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/index.es.js": -/*!*************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/index.es.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ calcGeneratorVelocity: function() { return /* reexport safe */ _utils_velocity_es_js__WEBPACK_IMPORTED_MODULE_3__.calcGeneratorVelocity; },\n/* harmony export */ glide: function() { return /* reexport safe */ _glide_index_es_js__WEBPACK_IMPORTED_MODULE_0__.glide; },\n/* harmony export */ pregenerateKeyframes: function() { return /* reexport safe */ _utils_pregenerate_keyframes_es_js__WEBPACK_IMPORTED_MODULE_2__.pregenerateKeyframes; },\n/* harmony export */ spring: function() { return /* reexport safe */ _spring_index_es_js__WEBPACK_IMPORTED_MODULE_1__.spring; }\n/* harmony export */ });\n/* harmony import */ var _glide_index_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./glide/index.es.js */ \"./node_modules/@motionone/generators/dist/glide/index.es.js\");\n/* harmony import */ var _spring_index_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./spring/index.es.js */ \"./node_modules/@motionone/generators/dist/spring/index.es.js\");\n/* harmony import */ var _utils_pregenerate_keyframes_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/pregenerate-keyframes.es.js */ \"./node_modules/@motionone/generators/dist/utils/pregenerate-keyframes.es.js\");\n/* harmony import */ var _utils_velocity_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/velocity.es.js */ \"./node_modules/@motionone/generators/dist/utils/velocity.es.js\");\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvaW5kZXguZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBNEM7QUFDRTtBQUM2QjtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2dlbmVyYXRvcnMvZGlzdC9pbmRleC5lcy5qcz8wYjEzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGdsaWRlIH0gZnJvbSAnLi9nbGlkZS9pbmRleC5lcy5qcyc7XG5leHBvcnQgeyBzcHJpbmcgfSBmcm9tICcuL3NwcmluZy9pbmRleC5lcy5qcyc7XG5leHBvcnQgeyBwcmVnZW5lcmF0ZUtleWZyYW1lcyB9IGZyb20gJy4vdXRpbHMvcHJlZ2VuZXJhdGUta2V5ZnJhbWVzLmVzLmpzJztcbmV4cG9ydCB7IGNhbGNHZW5lcmF0b3JWZWxvY2l0eSB9IGZyb20gJy4vdXRpbHMvdmVsb2NpdHkuZXMuanMnO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/spring/defaults.es.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/spring/defaults.es.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaults: function() { return /* binding */ defaults; }\n/* harmony export */ });\nconst defaults = {\n stiffness: 100.0,\n damping: 10.0,\n mass: 1.0,\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3Qvc3ByaW5nL2RlZmF1bHRzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3Qvc3ByaW5nL2RlZmF1bHRzLmVzLmpzPzYwNzUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgc3RpZmZuZXNzOiAxMDAuMCxcbiAgICBkYW1waW5nOiAxMC4wLFxuICAgIG1hc3M6IDEuMCxcbn07XG5cbmV4cG9ydCB7IGRlZmF1bHRzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/spring/defaults.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/spring/index.es.js": -/*!********************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/spring/index.es.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ spring: function() { return /* binding */ spring; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaults.es.js */ \"./node_modules/@motionone/generators/dist/spring/defaults.es.js\");\n/* harmony import */ var _utils_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.es.js */ \"./node_modules/@motionone/generators/dist/spring/utils.es.js\");\n/* harmony import */ var _utils_has_reached_target_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/has-reached-target.es.js */ \"./node_modules/@motionone/generators/dist/utils/has-reached-target.es.js\");\n/* harmony import */ var _utils_velocity_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/velocity.es.js */ \"./node_modules/@motionone/generators/dist/utils/velocity.es.js\");\n\n\n\n\n\n\nconst spring = ({ stiffness = _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__.defaults.stiffness, damping = _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__.defaults.damping, mass = _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__.defaults.mass, from = 0, to = 1, velocity = 0.0, restSpeed = 2, restDistance = 0.5, } = {}) => {\n velocity = velocity ? _motionone_utils__WEBPACK_IMPORTED_MODULE_1__.time.s(velocity) : 0.0;\n const state = {\n done: false,\n hasReachedTarget: false,\n current: from,\n target: to,\n };\n const initialDelta = to - from;\n const undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;\n const dampingRatio = (0,_utils_es_js__WEBPACK_IMPORTED_MODULE_2__.calcDampingRatio)(stiffness, damping, mass);\n let resolveSpring;\n if (dampingRatio < 1) {\n const angularFreq = undampedAngularFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n // Underdamped spring (bouncy)\n resolveSpring = (t) => to -\n Math.exp(-dampingRatio * undampedAngularFreq * t) *\n (((-velocity + dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq) *\n Math.sin(angularFreq * t) +\n initialDelta * Math.cos(angularFreq * t));\n }\n else {\n // Critically damped spring\n resolveSpring = (t) => {\n return (to -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta + (-velocity + undampedAngularFreq * initialDelta) * t));\n };\n }\n return (t) => {\n state.current = resolveSpring(t);\n const currentVelocity = t === 0\n ? velocity\n : (0,_utils_velocity_es_js__WEBPACK_IMPORTED_MODULE_3__.calcGeneratorVelocity)(resolveSpring, t, state.current);\n const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n const isBelowDisplacementThreshold = Math.abs(to - state.current) <= restDistance;\n state.done = isBelowVelocityThreshold && isBelowDisplacementThreshold;\n state.hasReachedTarget = (0,_utils_has_reached_target_es_js__WEBPACK_IMPORTED_MODULE_4__.hasReachedTarget)(from, to, state.current);\n return state;\n };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3Qvc3ByaW5nL2luZGV4LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF3QztBQUNJO0FBQ0s7QUFDb0I7QUFDTDs7QUFFaEUsa0JBQWtCLFlBQVkscURBQVEsc0JBQXNCLHFEQUFRLGlCQUFpQixxREFBUSw4RUFBOEUsSUFBSTtBQUMvSywwQkFBMEIsa0RBQUk7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qiw4REFBZ0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsNEVBQXFCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxpRkFBZ0I7QUFDakQ7QUFDQTtBQUNBOztBQUVrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3Qvc3ByaW5nL2luZGV4LmVzLmpzPzBjYjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGltZSB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuaW1wb3J0IHsgZGVmYXVsdHMgfSBmcm9tICcuL2RlZmF1bHRzLmVzLmpzJztcbmltcG9ydCB7IGNhbGNEYW1waW5nUmF0aW8gfSBmcm9tICcuL3V0aWxzLmVzLmpzJztcbmltcG9ydCB7IGhhc1JlYWNoZWRUYXJnZXQgfSBmcm9tICcuLi91dGlscy9oYXMtcmVhY2hlZC10YXJnZXQuZXMuanMnO1xuaW1wb3J0IHsgY2FsY0dlbmVyYXRvclZlbG9jaXR5IH0gZnJvbSAnLi4vdXRpbHMvdmVsb2NpdHkuZXMuanMnO1xuXG5jb25zdCBzcHJpbmcgPSAoeyBzdGlmZm5lc3MgPSBkZWZhdWx0cy5zdGlmZm5lc3MsIGRhbXBpbmcgPSBkZWZhdWx0cy5kYW1waW5nLCBtYXNzID0gZGVmYXVsdHMubWFzcywgZnJvbSA9IDAsIHRvID0gMSwgdmVsb2NpdHkgPSAwLjAsIHJlc3RTcGVlZCA9IDIsIHJlc3REaXN0YW5jZSA9IDAuNSwgfSA9IHt9KSA9PiB7XG4gICAgdmVsb2NpdHkgPSB2ZWxvY2l0eSA/IHRpbWUucyh2ZWxvY2l0eSkgOiAwLjA7XG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICAgIGRvbmU6IGZhbHNlLFxuICAgICAgICBoYXNSZWFjaGVkVGFyZ2V0OiBmYWxzZSxcbiAgICAgICAgY3VycmVudDogZnJvbSxcbiAgICAgICAgdGFyZ2V0OiB0byxcbiAgICB9O1xuICAgIGNvbnN0IGluaXRpYWxEZWx0YSA9IHRvIC0gZnJvbTtcbiAgICBjb25zdCB1bmRhbXBlZEFuZ3VsYXJGcmVxID0gTWF0aC5zcXJ0KHN0aWZmbmVzcyAvIG1hc3MpIC8gMTAwMDtcbiAgICBjb25zdCBkYW1waW5nUmF0aW8gPSBjYWxjRGFtcGluZ1JhdGlvKHN0aWZmbmVzcywgZGFtcGluZywgbWFzcyk7XG4gICAgbGV0IHJlc29sdmVTcHJpbmc7XG4gICAgaWYgKGRhbXBpbmdSYXRpbyA8IDEpIHtcbiAgICAgICAgY29uc3QgYW5ndWxhckZyZXEgPSB1bmRhbXBlZEFuZ3VsYXJGcmVxICogTWF0aC5zcXJ0KDEgLSBkYW1waW5nUmF0aW8gKiBkYW1waW5nUmF0aW8pO1xuICAgICAgICAvLyBVbmRlcmRhbXBlZCBzcHJpbmcgKGJvdW5jeSlcbiAgICAgICAgcmVzb2x2ZVNwcmluZyA9ICh0KSA9PiB0byAtXG4gICAgICAgICAgICBNYXRoLmV4cCgtZGFtcGluZ1JhdGlvICogdW5kYW1wZWRBbmd1bGFyRnJlcSAqIHQpICpcbiAgICAgICAgICAgICAgICAoKCgtdmVsb2NpdHkgKyBkYW1waW5nUmF0aW8gKiB1bmRhbXBlZEFuZ3VsYXJGcmVxICogaW5pdGlhbERlbHRhKSAvXG4gICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJGcmVxKSAqXG4gICAgICAgICAgICAgICAgICAgIE1hdGguc2luKGFuZ3VsYXJGcmVxICogdCkgK1xuICAgICAgICAgICAgICAgICAgICBpbml0aWFsRGVsdGEgKiBNYXRoLmNvcyhhbmd1bGFyRnJlcSAqIHQpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIENyaXRpY2FsbHkgZGFtcGVkIHNwcmluZ1xuICAgICAgICByZXNvbHZlU3ByaW5nID0gKHQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAodG8gLVxuICAgICAgICAgICAgICAgIE1hdGguZXhwKC11bmRhbXBlZEFuZ3VsYXJGcmVxICogdCkgKlxuICAgICAgICAgICAgICAgICAgICAoaW5pdGlhbERlbHRhICsgKC12ZWxvY2l0eSArIHVuZGFtcGVkQW5ndWxhckZyZXEgKiBpbml0aWFsRGVsdGEpICogdCkpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gKHQpID0+IHtcbiAgICAgICAgc3RhdGUuY3VycmVudCA9IHJlc29sdmVTcHJpbmcodCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWZWxvY2l0eSA9IHQgPT09IDBcbiAgICAgICAgICAgID8gdmVsb2NpdHlcbiAgICAgICAgICAgIDogY2FsY0dlbmVyYXRvclZlbG9jaXR5KHJlc29sdmVTcHJpbmcsIHQsIHN0YXRlLmN1cnJlbnQpO1xuICAgICAgICBjb25zdCBpc0JlbG93VmVsb2NpdHlUaHJlc2hvbGQgPSBNYXRoLmFicyhjdXJyZW50VmVsb2NpdHkpIDw9IHJlc3RTcGVlZDtcbiAgICAgICAgY29uc3QgaXNCZWxvd0Rpc3BsYWNlbWVudFRocmVzaG9sZCA9IE1hdGguYWJzKHRvIC0gc3RhdGUuY3VycmVudCkgPD0gcmVzdERpc3RhbmNlO1xuICAgICAgICBzdGF0ZS5kb25lID0gaXNCZWxvd1ZlbG9jaXR5VGhyZXNob2xkICYmIGlzQmVsb3dEaXNwbGFjZW1lbnRUaHJlc2hvbGQ7XG4gICAgICAgIHN0YXRlLmhhc1JlYWNoZWRUYXJnZXQgPSBoYXNSZWFjaGVkVGFyZ2V0KGZyb20sIHRvLCBzdGF0ZS5jdXJyZW50KTtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH07XG59O1xuXG5leHBvcnQgeyBzcHJpbmcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/spring/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/spring/utils.es.js": -/*!********************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/spring/utils.es.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ calcDampingRatio: function() { return /* binding */ calcDampingRatio; }\n/* harmony export */ });\n/* harmony import */ var _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaults.es.js */ \"./node_modules/@motionone/generators/dist/spring/defaults.es.js\");\n\n\nconst calcDampingRatio = (stiffness = _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__.defaults.stiffness, damping = _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__.defaults.damping, mass = _defaults_es_js__WEBPACK_IMPORTED_MODULE_0__.defaults.mass) => damping / (2 * Math.sqrt(stiffness * mass));\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3Qvc3ByaW5nL3V0aWxzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDOztBQUU1QyxzQ0FBc0MscURBQVEsc0JBQXNCLHFEQUFRLGlCQUFpQixxREFBUTs7QUFFekUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZ2VuZXJhdG9ycy9kaXN0L3NwcmluZy91dGlscy5lcy5qcz81NzQ3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnLi9kZWZhdWx0cy5lcy5qcyc7XG5cbmNvbnN0IGNhbGNEYW1waW5nUmF0aW8gPSAoc3RpZmZuZXNzID0gZGVmYXVsdHMuc3RpZmZuZXNzLCBkYW1waW5nID0gZGVmYXVsdHMuZGFtcGluZywgbWFzcyA9IGRlZmF1bHRzLm1hc3MpID0+IGRhbXBpbmcgLyAoMiAqIE1hdGguc3FydChzdGlmZm5lc3MgKiBtYXNzKSk7XG5cbmV4cG9ydCB7IGNhbGNEYW1waW5nUmF0aW8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/spring/utils.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/utils/has-reached-target.es.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/utils/has-reached-target.es.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hasReachedTarget: function() { return /* binding */ hasReachedTarget; }\n/* harmony export */ });\nfunction hasReachedTarget(origin, target, current) {\n return ((origin < target && current >= target) ||\n (origin > target && current <= target));\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvdXRpbHMvaGFzLXJlYWNoZWQtdGFyZ2V0LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvZ2VuZXJhdG9ycy9kaXN0L3V0aWxzL2hhcy1yZWFjaGVkLXRhcmdldC5lcy5qcz8yNjg2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGhhc1JlYWNoZWRUYXJnZXQob3JpZ2luLCB0YXJnZXQsIGN1cnJlbnQpIHtcbiAgICByZXR1cm4gKChvcmlnaW4gPCB0YXJnZXQgJiYgY3VycmVudCA+PSB0YXJnZXQpIHx8XG4gICAgICAgIChvcmlnaW4gPiB0YXJnZXQgJiYgY3VycmVudCA8PSB0YXJnZXQpKTtcbn1cblxuZXhwb3J0IHsgaGFzUmVhY2hlZFRhcmdldCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/utils/has-reached-target.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/utils/pregenerate-keyframes.es.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/utils/pregenerate-keyframes.es.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pregenerateKeyframes: function() { return /* binding */ pregenerateKeyframes; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nconst timeStep = 10;\nconst maxDuration = 10000;\nfunction pregenerateKeyframes(generator, toUnit = _motionone_utils__WEBPACK_IMPORTED_MODULE_0__.noopReturn) {\n let overshootDuration = undefined;\n let timestamp = timeStep;\n let state = generator(0);\n const keyframes = [toUnit(state.current)];\n while (!state.done && timestamp < maxDuration) {\n state = generator(timestamp);\n keyframes.push(toUnit(state.done ? state.target : state.current));\n if (overshootDuration === undefined && state.hasReachedTarget) {\n overshootDuration = timestamp;\n }\n timestamp += timeStep;\n }\n const duration = timestamp - timeStep;\n /**\n * If generating an animation that didn't actually move,\n * generate a second keyframe so we have an origin and target.\n */\n if (keyframes.length === 1)\n keyframes.push(state.current);\n return {\n keyframes,\n duration: duration / 1000,\n overshootDuration: (overshootDuration !== null && overshootDuration !== void 0 ? overshootDuration : duration) / 1000,\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvdXRpbHMvcHJlZ2VuZXJhdGUta2V5ZnJhbWVzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThDOztBQUU5QztBQUNBO0FBQ0Esa0RBQWtELHdEQUFVO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVnQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvdXRpbHMvcHJlZ2VuZXJhdGUta2V5ZnJhbWVzLmVzLmpzPzA0N2IiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9vcFJldHVybiB9IGZyb20gJ0Btb3Rpb25vbmUvdXRpbHMnO1xuXG5jb25zdCB0aW1lU3RlcCA9IDEwO1xuY29uc3QgbWF4RHVyYXRpb24gPSAxMDAwMDtcbmZ1bmN0aW9uIHByZWdlbmVyYXRlS2V5ZnJhbWVzKGdlbmVyYXRvciwgdG9Vbml0ID0gbm9vcFJldHVybikge1xuICAgIGxldCBvdmVyc2hvb3REdXJhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICBsZXQgdGltZXN0YW1wID0gdGltZVN0ZXA7XG4gICAgbGV0IHN0YXRlID0gZ2VuZXJhdG9yKDApO1xuICAgIGNvbnN0IGtleWZyYW1lcyA9IFt0b1VuaXQoc3RhdGUuY3VycmVudCldO1xuICAgIHdoaWxlICghc3RhdGUuZG9uZSAmJiB0aW1lc3RhbXAgPCBtYXhEdXJhdGlvbikge1xuICAgICAgICBzdGF0ZSA9IGdlbmVyYXRvcih0aW1lc3RhbXApO1xuICAgICAgICBrZXlmcmFtZXMucHVzaCh0b1VuaXQoc3RhdGUuZG9uZSA/IHN0YXRlLnRhcmdldCA6IHN0YXRlLmN1cnJlbnQpKTtcbiAgICAgICAgaWYgKG92ZXJzaG9vdER1cmF0aW9uID09PSB1bmRlZmluZWQgJiYgc3RhdGUuaGFzUmVhY2hlZFRhcmdldCkge1xuICAgICAgICAgICAgb3ZlcnNob290RHVyYXRpb24gPSB0aW1lc3RhbXA7XG4gICAgICAgIH1cbiAgICAgICAgdGltZXN0YW1wICs9IHRpbWVTdGVwO1xuICAgIH1cbiAgICBjb25zdCBkdXJhdGlvbiA9IHRpbWVzdGFtcCAtIHRpbWVTdGVwO1xuICAgIC8qKlxuICAgICAqIElmIGdlbmVyYXRpbmcgYW4gYW5pbWF0aW9uIHRoYXQgZGlkbid0IGFjdHVhbGx5IG1vdmUsXG4gICAgICogZ2VuZXJhdGUgYSBzZWNvbmQga2V5ZnJhbWUgc28gd2UgaGF2ZSBhbiBvcmlnaW4gYW5kIHRhcmdldC5cbiAgICAgKi9cbiAgICBpZiAoa2V5ZnJhbWVzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAga2V5ZnJhbWVzLnB1c2goc3RhdGUuY3VycmVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5ZnJhbWVzLFxuICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24gLyAxMDAwLFxuICAgICAgICBvdmVyc2hvb3REdXJhdGlvbjogKG92ZXJzaG9vdER1cmF0aW9uICE9PSBudWxsICYmIG92ZXJzaG9vdER1cmF0aW9uICE9PSB2b2lkIDAgPyBvdmVyc2hvb3REdXJhdGlvbiA6IGR1cmF0aW9uKSAvIDEwMDAsXG4gICAgfTtcbn1cblxuZXhwb3J0IHsgcHJlZ2VuZXJhdGVLZXlmcmFtZXMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/utils/pregenerate-keyframes.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/generators/dist/utils/velocity.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/generators/dist/utils/velocity.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ calcGeneratorVelocity: function() { return /* binding */ calcGeneratorVelocity; }\n/* harmony export */ });\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n\n\nconst sampleT = 5; // ms\nfunction calcGeneratorVelocity(resolveValue, t, current) {\n const prevT = Math.max(t - sampleT, 0);\n return (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_0__.velocityPerSecond)(current - resolveValue(prevT), t - prevT);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS9nZW5lcmF0b3JzL2Rpc3QvdXRpbHMvdmVsb2NpdHkuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUQ7O0FBRXJELG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0EsV0FBVyxtRUFBaUI7QUFDNUI7O0FBRWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL2dlbmVyYXRvcnMvZGlzdC91dGlscy92ZWxvY2l0eS5lcy5qcz80Yjg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHZlbG9jaXR5UGVyU2Vjb25kIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5cbmNvbnN0IHNhbXBsZVQgPSA1OyAvLyBtc1xuZnVuY3Rpb24gY2FsY0dlbmVyYXRvclZlbG9jaXR5KHJlc29sdmVWYWx1ZSwgdCwgY3VycmVudCkge1xuICAgIGNvbnN0IHByZXZUID0gTWF0aC5tYXgodCAtIHNhbXBsZVQsIDApO1xuICAgIHJldHVybiB2ZWxvY2l0eVBlclNlY29uZChjdXJyZW50IC0gcmVzb2x2ZVZhbHVlKHByZXZUKSwgdCAtIHByZXZUKTtcbn1cblxuZXhwb3J0IHsgY2FsY0dlbmVyYXRvclZlbG9jaXR5IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/generators/dist/utils/velocity.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/types/dist/MotionValue.es.js": -/*!**************************************************************!*\ - !*** ./node_modules/@motionone/types/dist/MotionValue.es.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MotionValue: function() { return /* binding */ MotionValue; }\n/* harmony export */ });\n/**\n * The MotionValue tracks the state of a single animatable\n * value. Currently, updatedAt and current are unused. The\n * long term idea is to use this to minimise the number\n * of DOM reads, and to abstract the DOM interactions here.\n */\nclass MotionValue {\n setAnimation(animation) {\n this.animation = animation;\n animation === null || animation === void 0 ? void 0 : animation.finished.then(() => this.clearAnimation()).catch(() => { });\n }\n clearAnimation() {\n this.animation = this.generator = undefined;\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS90eXBlcy9kaXN0L01vdGlvblZhbHVlLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrSUFBa0k7QUFDbEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdHlwZXMvZGlzdC9Nb3Rpb25WYWx1ZS5lcy5qcz9kMzgwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIE1vdGlvblZhbHVlIHRyYWNrcyB0aGUgc3RhdGUgb2YgYSBzaW5nbGUgYW5pbWF0YWJsZVxuICogdmFsdWUuIEN1cnJlbnRseSwgdXBkYXRlZEF0IGFuZCBjdXJyZW50IGFyZSB1bnVzZWQuIFRoZVxuICogbG9uZyB0ZXJtIGlkZWEgaXMgdG8gdXNlIHRoaXMgdG8gbWluaW1pc2UgdGhlIG51bWJlclxuICogb2YgRE9NIHJlYWRzLCBhbmQgdG8gYWJzdHJhY3QgdGhlIERPTSBpbnRlcmFjdGlvbnMgaGVyZS5cbiAqL1xuY2xhc3MgTW90aW9uVmFsdWUge1xuICAgIHNldEFuaW1hdGlvbihhbmltYXRpb24pIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb24gPSBhbmltYXRpb247XG4gICAgICAgIGFuaW1hdGlvbiA9PT0gbnVsbCB8fCBhbmltYXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKCgpID0+IHRoaXMuY2xlYXJBbmltYXRpb24oKSkuY2F0Y2goKCkgPT4geyB9KTtcbiAgICB9XG4gICAgY2xlYXJBbmltYXRpb24oKSB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uID0gdGhpcy5nZW5lcmF0b3IgPSB1bmRlZmluZWQ7XG4gICAgfVxufVxuXG5leHBvcnQgeyBNb3Rpb25WYWx1ZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/types/dist/MotionValue.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/types/dist/index.es.js": -/*!********************************************************!*\ - !*** ./node_modules/@motionone/types/dist/index.es.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MotionValue: function() { return /* reexport safe */ _MotionValue_es_js__WEBPACK_IMPORTED_MODULE_0__.MotionValue; }\n/* harmony export */ });\n/* harmony import */ var _MotionValue_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MotionValue.es.js */ \"./node_modules/@motionone/types/dist/MotionValue.es.js\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS90eXBlcy9kaXN0L2luZGV4LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWtEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3R5cGVzL2Rpc3QvaW5kZXguZXMuanM/NTgyYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNb3Rpb25WYWx1ZSB9IGZyb20gJy4vTW90aW9uVmFsdWUuZXMuanMnO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/types/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/array.es.js": -/*!********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/array.es.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addUniqueItem: function() { return /* binding */ addUniqueItem; },\n/* harmony export */ removeItem: function() { return /* binding */ removeItem; }\n/* harmony export */ });\nfunction addUniqueItem(array, item) {\n array.indexOf(item) === -1 && array.push(item);\n}\nfunction removeItem(arr, item) {\n const index = arr.indexOf(item);\n index > -1 && arr.splice(index, 1);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2FycmF5LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3V0aWxzL2Rpc3QvYXJyYXkuZXMuanM/ZTQyOCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBhZGRVbmlxdWVJdGVtKGFycmF5LCBpdGVtKSB7XG4gICAgYXJyYXkuaW5kZXhPZihpdGVtKSA9PT0gLTEgJiYgYXJyYXkucHVzaChpdGVtKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZUl0ZW0oYXJyLCBpdGVtKSB7XG4gICAgY29uc3QgaW5kZXggPSBhcnIuaW5kZXhPZihpdGVtKTtcbiAgICBpbmRleCA+IC0xICYmIGFyci5zcGxpY2UoaW5kZXgsIDEpO1xufVxuXG5leHBvcnQgeyBhZGRVbmlxdWVJdGVtLCByZW1vdmVJdGVtIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/array.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/clamp.es.js": -/*!********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/clamp.es.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clamp: function() { return /* binding */ clamp; }\n/* harmony export */ });\nconst clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2NsYW1wLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFFaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9jbGFtcC5lcy5qcz8wODI1Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNsYW1wID0gKG1pbiwgbWF4LCB2KSA9PiBNYXRoLm1pbihNYXRoLm1heCh2LCBtaW4pLCBtYXgpO1xuXG5leHBvcnQgeyBjbGFtcCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/clamp.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/defaults.es.js": -/*!***********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/defaults.es.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaults: function() { return /* binding */ defaults; }\n/* harmony export */ });\nconst defaults = {\n duration: 0.3,\n delay: 0,\n endDelay: 0,\n repeat: 0,\n easing: \"ease\",\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2RlZmF1bHRzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFb0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9kZWZhdWx0cy5lcy5qcz9hYzlkIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGRlZmF1bHRzID0ge1xuICAgIGR1cmF0aW9uOiAwLjMsXG4gICAgZGVsYXk6IDAsXG4gICAgZW5kRGVsYXk6IDAsXG4gICAgcmVwZWF0OiAwLFxuICAgIGVhc2luZzogXCJlYXNlXCIsXG59O1xuXG5leHBvcnQgeyBkZWZhdWx0cyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/defaults.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/easing.es.js": -/*!*********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/easing.es.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEasingForSegment: function() { return /* binding */ getEasingForSegment; }\n/* harmony export */ });\n/* harmony import */ var _is_easing_list_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-easing-list.es.js */ \"./node_modules/@motionone/utils/dist/is-easing-list.es.js\");\n/* harmony import */ var _wrap_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrap.es.js */ \"./node_modules/@motionone/utils/dist/wrap.es.js\");\n\n\n\nfunction getEasingForSegment(easing, i) {\n return (0,_is_easing_list_es_js__WEBPACK_IMPORTED_MODULE_0__.isEasingList)(easing)\n ? easing[(0,_wrap_es_js__WEBPACK_IMPORTED_MODULE_1__.wrap)(0, easing.length, i)]\n : easing;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2Vhc2luZy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0Q7QUFDbEI7O0FBRXBDO0FBQ0EsV0FBVyxtRUFBWTtBQUN2QixpQkFBaUIsaURBQUk7QUFDckI7QUFDQTs7QUFFK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9lYXNpbmcuZXMuanM/YTc1YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Vhc2luZ0xpc3QgfSBmcm9tICcuL2lzLWVhc2luZy1saXN0LmVzLmpzJztcbmltcG9ydCB7IHdyYXAgfSBmcm9tICcuL3dyYXAuZXMuanMnO1xuXG5mdW5jdGlvbiBnZXRFYXNpbmdGb3JTZWdtZW50KGVhc2luZywgaSkge1xuICAgIHJldHVybiBpc0Vhc2luZ0xpc3QoZWFzaW5nKVxuICAgICAgICA/IGVhc2luZ1t3cmFwKDAsIGVhc2luZy5sZW5ndGgsIGkpXVxuICAgICAgICA6IGVhc2luZztcbn1cblxuZXhwb3J0IHsgZ2V0RWFzaW5nRm9yU2VnbWVudCB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/easing.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/index.es.js": -/*!********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/index.es.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addUniqueItem: function() { return /* reexport safe */ _array_es_js__WEBPACK_IMPORTED_MODULE_0__.addUniqueItem; },\n/* harmony export */ clamp: function() { return /* reexport safe */ _clamp_es_js__WEBPACK_IMPORTED_MODULE_1__.clamp; },\n/* harmony export */ defaultOffset: function() { return /* reexport safe */ _offset_es_js__WEBPACK_IMPORTED_MODULE_13__.defaultOffset; },\n/* harmony export */ defaults: function() { return /* reexport safe */ _defaults_es_js__WEBPACK_IMPORTED_MODULE_2__.defaults; },\n/* harmony export */ fillOffset: function() { return /* reexport safe */ _offset_es_js__WEBPACK_IMPORTED_MODULE_13__.fillOffset; },\n/* harmony export */ getEasingForSegment: function() { return /* reexport safe */ _easing_es_js__WEBPACK_IMPORTED_MODULE_3__.getEasingForSegment; },\n/* harmony export */ interpolate: function() { return /* reexport safe */ _interpolate_es_js__WEBPACK_IMPORTED_MODULE_4__.interpolate; },\n/* harmony export */ isCubicBezier: function() { return /* reexport safe */ _is_cubic_bezier_es_js__WEBPACK_IMPORTED_MODULE_5__.isCubicBezier; },\n/* harmony export */ isEasingGenerator: function() { return /* reexport safe */ _is_easing_generator_es_js__WEBPACK_IMPORTED_MODULE_6__.isEasingGenerator; },\n/* harmony export */ isEasingList: function() { return /* reexport safe */ _is_easing_list_es_js__WEBPACK_IMPORTED_MODULE_7__.isEasingList; },\n/* harmony export */ isFunction: function() { return /* reexport safe */ _is_function_es_js__WEBPACK_IMPORTED_MODULE_8__.isFunction; },\n/* harmony export */ isNumber: function() { return /* reexport safe */ _is_number_es_js__WEBPACK_IMPORTED_MODULE_9__.isNumber; },\n/* harmony export */ isString: function() { return /* reexport safe */ _is_string_es_js__WEBPACK_IMPORTED_MODULE_10__.isString; },\n/* harmony export */ mix: function() { return /* reexport safe */ _mix_es_js__WEBPACK_IMPORTED_MODULE_11__.mix; },\n/* harmony export */ noop: function() { return /* reexport safe */ _noop_es_js__WEBPACK_IMPORTED_MODULE_12__.noop; },\n/* harmony export */ noopReturn: function() { return /* reexport safe */ _noop_es_js__WEBPACK_IMPORTED_MODULE_12__.noopReturn; },\n/* harmony export */ progress: function() { return /* reexport safe */ _progress_es_js__WEBPACK_IMPORTED_MODULE_14__.progress; },\n/* harmony export */ removeItem: function() { return /* reexport safe */ _array_es_js__WEBPACK_IMPORTED_MODULE_0__.removeItem; },\n/* harmony export */ time: function() { return /* reexport safe */ _time_es_js__WEBPACK_IMPORTED_MODULE_15__.time; },\n/* harmony export */ velocityPerSecond: function() { return /* reexport safe */ _velocity_es_js__WEBPACK_IMPORTED_MODULE_16__.velocityPerSecond; },\n/* harmony export */ wrap: function() { return /* reexport safe */ _wrap_es_js__WEBPACK_IMPORTED_MODULE_17__.wrap; }\n/* harmony export */ });\n/* harmony import */ var _array_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array.es.js */ \"./node_modules/@motionone/utils/dist/array.es.js\");\n/* harmony import */ var _clamp_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clamp.es.js */ \"./node_modules/@motionone/utils/dist/clamp.es.js\");\n/* harmony import */ var _defaults_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./defaults.es.js */ \"./node_modules/@motionone/utils/dist/defaults.es.js\");\n/* harmony import */ var _easing_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./easing.es.js */ \"./node_modules/@motionone/utils/dist/easing.es.js\");\n/* harmony import */ var _interpolate_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./interpolate.es.js */ \"./node_modules/@motionone/utils/dist/interpolate.es.js\");\n/* harmony import */ var _is_cubic_bezier_es_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./is-cubic-bezier.es.js */ \"./node_modules/@motionone/utils/dist/is-cubic-bezier.es.js\");\n/* harmony import */ var _is_easing_generator_es_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./is-easing-generator.es.js */ \"./node_modules/@motionone/utils/dist/is-easing-generator.es.js\");\n/* harmony import */ var _is_easing_list_es_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./is-easing-list.es.js */ \"./node_modules/@motionone/utils/dist/is-easing-list.es.js\");\n/* harmony import */ var _is_function_es_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./is-function.es.js */ \"./node_modules/@motionone/utils/dist/is-function.es.js\");\n/* harmony import */ var _is_number_es_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./is-number.es.js */ \"./node_modules/@motionone/utils/dist/is-number.es.js\");\n/* harmony import */ var _is_string_es_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./is-string.es.js */ \"./node_modules/@motionone/utils/dist/is-string.es.js\");\n/* harmony import */ var _mix_es_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./mix.es.js */ \"./node_modules/@motionone/utils/dist/mix.es.js\");\n/* harmony import */ var _noop_es_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./noop.es.js */ \"./node_modules/@motionone/utils/dist/noop.es.js\");\n/* harmony import */ var _offset_es_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./offset.es.js */ \"./node_modules/@motionone/utils/dist/offset.es.js\");\n/* harmony import */ var _progress_es_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./progress.es.js */ \"./node_modules/@motionone/utils/dist/progress.es.js\");\n/* harmony import */ var _time_es_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./time.es.js */ \"./node_modules/@motionone/utils/dist/time.es.js\");\n/* harmony import */ var _velocity_es_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./velocity.es.js */ \"./node_modules/@motionone/utils/dist/velocity.es.js\");\n/* harmony import */ var _wrap_es_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./wrap.es.js */ \"./node_modules/@motionone/utils/dist/wrap.es.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2luZGV4LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwRDtBQUNwQjtBQUNNO0FBQ1M7QUFDSDtBQUNNO0FBQ1E7QUFDVjtBQUNMO0FBQ0o7QUFDQTtBQUNYO0FBQ2M7QUFDVztBQUNmO0FBQ1I7QUFDaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9pbmRleC5lcy5qcz82OTcxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGFkZFVuaXF1ZUl0ZW0sIHJlbW92ZUl0ZW0gfSBmcm9tICcuL2FycmF5LmVzLmpzJztcbmV4cG9ydCB7IGNsYW1wIH0gZnJvbSAnLi9jbGFtcC5lcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0cyB9IGZyb20gJy4vZGVmYXVsdHMuZXMuanMnO1xuZXhwb3J0IHsgZ2V0RWFzaW5nRm9yU2VnbWVudCB9IGZyb20gJy4vZWFzaW5nLmVzLmpzJztcbmV4cG9ydCB7IGludGVycG9sYXRlIH0gZnJvbSAnLi9pbnRlcnBvbGF0ZS5lcy5qcyc7XG5leHBvcnQgeyBpc0N1YmljQmV6aWVyIH0gZnJvbSAnLi9pcy1jdWJpYy1iZXppZXIuZXMuanMnO1xuZXhwb3J0IHsgaXNFYXNpbmdHZW5lcmF0b3IgfSBmcm9tICcuL2lzLWVhc2luZy1nZW5lcmF0b3IuZXMuanMnO1xuZXhwb3J0IHsgaXNFYXNpbmdMaXN0IH0gZnJvbSAnLi9pcy1lYXNpbmctbGlzdC5lcy5qcyc7XG5leHBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi9pcy1mdW5jdGlvbi5lcy5qcyc7XG5leHBvcnQgeyBpc051bWJlciB9IGZyb20gJy4vaXMtbnVtYmVyLmVzLmpzJztcbmV4cG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnLi9pcy1zdHJpbmcuZXMuanMnO1xuZXhwb3J0IHsgbWl4IH0gZnJvbSAnLi9taXguZXMuanMnO1xuZXhwb3J0IHsgbm9vcCwgbm9vcFJldHVybiB9IGZyb20gJy4vbm9vcC5lcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0T2Zmc2V0LCBmaWxsT2Zmc2V0IH0gZnJvbSAnLi9vZmZzZXQuZXMuanMnO1xuZXhwb3J0IHsgcHJvZ3Jlc3MgfSBmcm9tICcuL3Byb2dyZXNzLmVzLmpzJztcbmV4cG9ydCB7IHRpbWUgfSBmcm9tICcuL3RpbWUuZXMuanMnO1xuZXhwb3J0IHsgdmVsb2NpdHlQZXJTZWNvbmQgfSBmcm9tICcuL3ZlbG9jaXR5LmVzLmpzJztcbmV4cG9ydCB7IHdyYXAgfSBmcm9tICcuL3dyYXAuZXMuanMnO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/interpolate.es.js": -/*!**************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/interpolate.es.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ interpolate: function() { return /* binding */ interpolate; }\n/* harmony export */ });\n/* harmony import */ var _mix_es_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mix.es.js */ \"./node_modules/@motionone/utils/dist/mix.es.js\");\n/* harmony import */ var _noop_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./noop.es.js */ \"./node_modules/@motionone/utils/dist/noop.es.js\");\n/* harmony import */ var _offset_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./offset.es.js */ \"./node_modules/@motionone/utils/dist/offset.es.js\");\n/* harmony import */ var _progress_es_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./progress.es.js */ \"./node_modules/@motionone/utils/dist/progress.es.js\");\n/* harmony import */ var _easing_es_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./easing.es.js */ \"./node_modules/@motionone/utils/dist/easing.es.js\");\n/* harmony import */ var _clamp_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./clamp.es.js */ \"./node_modules/@motionone/utils/dist/clamp.es.js\");\n\n\n\n\n\n\n\nfunction interpolate(output, input = (0,_offset_es_js__WEBPACK_IMPORTED_MODULE_0__.defaultOffset)(output.length), easing = _noop_es_js__WEBPACK_IMPORTED_MODULE_1__.noopReturn) {\n const length = output.length;\n /**\n * If the input length is lower than the output we\n * fill the input to match. This currently assumes the input\n * is an animation progress value so is a good candidate for\n * moving outside the function.\n */\n const remainder = length - input.length;\n remainder > 0 && (0,_offset_es_js__WEBPACK_IMPORTED_MODULE_0__.fillOffset)(input, remainder);\n return (t) => {\n let i = 0;\n for (; i < length - 2; i++) {\n if (t < input[i + 1])\n break;\n }\n let progressInRange = (0,_clamp_es_js__WEBPACK_IMPORTED_MODULE_2__.clamp)(0, 1, (0,_progress_es_js__WEBPACK_IMPORTED_MODULE_3__.progress)(input[i], input[i + 1], t));\n const segmentEasing = (0,_easing_es_js__WEBPACK_IMPORTED_MODULE_4__.getEasingForSegment)(easing, i);\n progressInRange = segmentEasing(progressInRange);\n return (0,_mix_es_js__WEBPACK_IMPORTED_MODULE_5__.mix)(output[i], output[i + 1], progressInRange);\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2ludGVycG9sYXRlLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBa0M7QUFDUTtBQUNpQjtBQUNmO0FBQ1M7QUFDZjs7QUFFdEMscUNBQXFDLDREQUFhLDBCQUEwQixtREFBVTtBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHlEQUFVO0FBQy9CO0FBQ0E7QUFDQSxlQUFlLGdCQUFnQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsbURBQUssT0FBTyx5REFBUTtBQUNsRCw4QkFBOEIsa0VBQW1CO0FBQ2pEO0FBQ0EsZUFBZSwrQ0FBRztBQUNsQjtBQUNBOztBQUV1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2ludGVycG9sYXRlLmVzLmpzPzJjNGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWl4IH0gZnJvbSAnLi9taXguZXMuanMnO1xuaW1wb3J0IHsgbm9vcFJldHVybiB9IGZyb20gJy4vbm9vcC5lcy5qcyc7XG5pbXBvcnQgeyBmaWxsT2Zmc2V0LCBkZWZhdWx0T2Zmc2V0IH0gZnJvbSAnLi9vZmZzZXQuZXMuanMnO1xuaW1wb3J0IHsgcHJvZ3Jlc3MgfSBmcm9tICcuL3Byb2dyZXNzLmVzLmpzJztcbmltcG9ydCB7IGdldEVhc2luZ0ZvclNlZ21lbnQgfSBmcm9tICcuL2Vhc2luZy5lcy5qcyc7XG5pbXBvcnQgeyBjbGFtcCB9IGZyb20gJy4vY2xhbXAuZXMuanMnO1xuXG5mdW5jdGlvbiBpbnRlcnBvbGF0ZShvdXRwdXQsIGlucHV0ID0gZGVmYXVsdE9mZnNldChvdXRwdXQubGVuZ3RoKSwgZWFzaW5nID0gbm9vcFJldHVybikge1xuICAgIGNvbnN0IGxlbmd0aCA9IG91dHB1dC5sZW5ndGg7XG4gICAgLyoqXG4gICAgICogSWYgdGhlIGlucHV0IGxlbmd0aCBpcyBsb3dlciB0aGFuIHRoZSBvdXRwdXQgd2VcbiAgICAgKiBmaWxsIHRoZSBpbnB1dCB0byBtYXRjaC4gVGhpcyBjdXJyZW50bHkgYXNzdW1lcyB0aGUgaW5wdXRcbiAgICAgKiBpcyBhbiBhbmltYXRpb24gcHJvZ3Jlc3MgdmFsdWUgc28gaXMgYSBnb29kIGNhbmRpZGF0ZSBmb3JcbiAgICAgKiBtb3Zpbmcgb3V0c2lkZSB0aGUgZnVuY3Rpb24uXG4gICAgICovXG4gICAgY29uc3QgcmVtYWluZGVyID0gbGVuZ3RoIC0gaW5wdXQubGVuZ3RoO1xuICAgIHJlbWFpbmRlciA+IDAgJiYgZmlsbE9mZnNldChpbnB1dCwgcmVtYWluZGVyKTtcbiAgICByZXR1cm4gKHQpID0+IHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKDsgaSA8IGxlbmd0aCAtIDI7IGkrKykge1xuICAgICAgICAgICAgaWYgKHQgPCBpbnB1dFtpICsgMV0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHByb2dyZXNzSW5SYW5nZSA9IGNsYW1wKDAsIDEsIHByb2dyZXNzKGlucHV0W2ldLCBpbnB1dFtpICsgMV0sIHQpKTtcbiAgICAgICAgY29uc3Qgc2VnbWVudEVhc2luZyA9IGdldEVhc2luZ0ZvclNlZ21lbnQoZWFzaW5nLCBpKTtcbiAgICAgICAgcHJvZ3Jlc3NJblJhbmdlID0gc2VnbWVudEVhc2luZyhwcm9ncmVzc0luUmFuZ2UpO1xuICAgICAgICByZXR1cm4gbWl4KG91dHB1dFtpXSwgb3V0cHV0W2kgKyAxXSwgcHJvZ3Jlc3NJblJhbmdlKTtcbiAgICB9O1xufVxuXG5leHBvcnQgeyBpbnRlcnBvbGF0ZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/interpolate.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/is-cubic-bezier.es.js": -/*!******************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/is-cubic-bezier.es.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isCubicBezier: function() { return /* binding */ isCubicBezier; }\n/* harmony export */ });\n/* harmony import */ var _is_number_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-number.es.js */ \"./node_modules/@motionone/utils/dist/is-number.es.js\");\n\n\nconst isCubicBezier = (easing) => Array.isArray(easing) && (0,_is_number_es_js__WEBPACK_IMPORTED_MODULE_0__.isNumber)(easing[0]);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLWN1YmljLWJlemllci5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE2Qzs7QUFFN0MsMkRBQTJELDBEQUFROztBQUUxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLWN1YmljLWJlemllci5lcy5qcz9hOGExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi9pcy1udW1iZXIuZXMuanMnO1xuXG5jb25zdCBpc0N1YmljQmV6aWVyID0gKGVhc2luZykgPT4gQXJyYXkuaXNBcnJheShlYXNpbmcpICYmIGlzTnVtYmVyKGVhc2luZ1swXSk7XG5cbmV4cG9ydCB7IGlzQ3ViaWNCZXppZXIgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/is-cubic-bezier.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/is-easing-generator.es.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/is-easing-generator.es.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isEasingGenerator: function() { return /* binding */ isEasingGenerator; }\n/* harmony export */ });\nconst isEasingGenerator = (easing) => typeof easing === \"object\" &&\n Boolean(easing.createAnimation);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLWVhc2luZy1nZW5lcmF0b3IuZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7O0FBRTZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3V0aWxzL2Rpc3QvaXMtZWFzaW5nLWdlbmVyYXRvci5lcy5qcz82NzRiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGlzRWFzaW5nR2VuZXJhdG9yID0gKGVhc2luZykgPT4gdHlwZW9mIGVhc2luZyA9PT0gXCJvYmplY3RcIiAmJlxuICAgIEJvb2xlYW4oZWFzaW5nLmNyZWF0ZUFuaW1hdGlvbik7XG5cbmV4cG9ydCB7IGlzRWFzaW5nR2VuZXJhdG9yIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/is-easing-generator.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/is-easing-list.es.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/is-easing-list.es.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isEasingList: function() { return /* binding */ isEasingList; }\n/* harmony export */ });\n/* harmony import */ var _is_number_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-number.es.js */ \"./node_modules/@motionone/utils/dist/is-number.es.js\");\n\n\nconst isEasingList = (easing) => Array.isArray(easing) && !(0,_is_number_es_js__WEBPACK_IMPORTED_MODULE_0__.isNumber)(easing[0]);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLWVhc2luZy1saXN0LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTZDOztBQUU3QywyREFBMkQsMERBQVE7O0FBRTNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3V0aWxzL2Rpc3QvaXMtZWFzaW5nLWxpc3QuZXMuanM/OWJkZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4vaXMtbnVtYmVyLmVzLmpzJztcblxuY29uc3QgaXNFYXNpbmdMaXN0ID0gKGVhc2luZykgPT4gQXJyYXkuaXNBcnJheShlYXNpbmcpICYmICFpc051bWJlcihlYXNpbmdbMF0pO1xuXG5leHBvcnQgeyBpc0Vhc2luZ0xpc3QgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/is-easing-list.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/is-function.es.js": -/*!**************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/is-function.es.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isFunction: function() { return /* binding */ isFunction; }\n/* harmony export */ });\nconst isFunction = (value) => typeof value === \"function\";\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLWZ1bmN0aW9uLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFFc0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9pcy1mdW5jdGlvbi5lcy5qcz8wMzg0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGlzRnVuY3Rpb24gPSAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiO1xuXG5leHBvcnQgeyBpc0Z1bmN0aW9uIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/is-function.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/is-number.es.js": -/*!************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/is-number.es.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isNumber: function() { return /* binding */ isNumber; }\n/* harmony export */ });\nconst isNumber = (value) => typeof value === \"number\";\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLW51bWJlci5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBRW9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3V0aWxzL2Rpc3QvaXMtbnVtYmVyLmVzLmpzPzNlYWIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNOdW1iZXIgPSAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIjtcblxuZXhwb3J0IHsgaXNOdW1iZXIgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/is-number.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/is-string.es.js": -/*!************************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/is-string.es.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isString: function() { return /* binding */ isString; }\n/* harmony export */ });\nconst isString = (value) => typeof value === \"string\";\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L2lzLXN0cmluZy5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBRW9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3V0aWxzL2Rpc3QvaXMtc3RyaW5nLmVzLmpzPzIwYzMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNTdHJpbmcgPSAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIjtcblxuZXhwb3J0IHsgaXNTdHJpbmcgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/is-string.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/mix.es.js": -/*!******************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/mix.es.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mix: function() { return /* binding */ mix; }\n/* harmony export */ });\nconst mix = (min, max, progress) => -progress * min + progress * max + min;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L21peC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBRWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9taXguZXMuanM/ZjkzNiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBtaXggPSAobWluLCBtYXgsIHByb2dyZXNzKSA9PiAtcHJvZ3Jlc3MgKiBtaW4gKyBwcm9ncmVzcyAqIG1heCArIG1pbjtcblxuZXhwb3J0IHsgbWl4IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/mix.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/noop.es.js": -/*!*******************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/noop.es.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ noop: function() { return /* binding */ noop; },\n/* harmony export */ noopReturn: function() { return /* binding */ noopReturn; }\n/* harmony export */ });\nconst noop = () => { };\nconst noopReturn = (v) => v;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L25vb3AuZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBOztBQUU0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L25vb3AuZXMuanM/NDUwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBub29wID0gKCkgPT4geyB9O1xuY29uc3Qgbm9vcFJldHVybiA9ICh2KSA9PiB2O1xuXG5leHBvcnQgeyBub29wLCBub29wUmV0dXJuIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/noop.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/offset.es.js": -/*!*********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/offset.es.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultOffset: function() { return /* binding */ defaultOffset; },\n/* harmony export */ fillOffset: function() { return /* binding */ fillOffset; }\n/* harmony export */ });\n/* harmony import */ var _mix_es_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mix.es.js */ \"./node_modules/@motionone/utils/dist/mix.es.js\");\n/* harmony import */ var _progress_es_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./progress.es.js */ \"./node_modules/@motionone/utils/dist/progress.es.js\");\n\n\n\nfunction fillOffset(offset, remaining) {\n const min = offset[offset.length - 1];\n for (let i = 1; i <= remaining; i++) {\n const offsetProgress = (0,_progress_es_js__WEBPACK_IMPORTED_MODULE_0__.progress)(0, remaining, i);\n offset.push((0,_mix_es_js__WEBPACK_IMPORTED_MODULE_1__.mix)(min, 1, offsetProgress));\n }\n}\nfunction defaultOffset(length) {\n const offset = [0];\n fillOffset(offset, length - 1);\n return offset;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L29mZnNldC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWtDO0FBQ1U7O0FBRTVDO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLCtCQUErQix5REFBUTtBQUN2QyxvQkFBb0IsK0NBQUc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbW90aW9ub25lL3V0aWxzL2Rpc3Qvb2Zmc2V0LmVzLmpzPzg0MTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWl4IH0gZnJvbSAnLi9taXguZXMuanMnO1xuaW1wb3J0IHsgcHJvZ3Jlc3MgfSBmcm9tICcuL3Byb2dyZXNzLmVzLmpzJztcblxuZnVuY3Rpb24gZmlsbE9mZnNldChvZmZzZXQsIHJlbWFpbmluZykge1xuICAgIGNvbnN0IG1pbiA9IG9mZnNldFtvZmZzZXQubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gcmVtYWluaW5nOyBpKyspIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0UHJvZ3Jlc3MgPSBwcm9ncmVzcygwLCByZW1haW5pbmcsIGkpO1xuICAgICAgICBvZmZzZXQucHVzaChtaXgobWluLCAxLCBvZmZzZXRQcm9ncmVzcykpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGRlZmF1bHRPZmZzZXQobGVuZ3RoKSB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gWzBdO1xuICAgIGZpbGxPZmZzZXQob2Zmc2V0LCBsZW5ndGggLSAxKTtcbiAgICByZXR1cm4gb2Zmc2V0O1xufVxuXG5leHBvcnQgeyBkZWZhdWx0T2Zmc2V0LCBmaWxsT2Zmc2V0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/offset.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/progress.es.js": -/*!***********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/progress.es.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ progress: function() { return /* binding */ progress; }\n/* harmony export */ });\nconst progress = (min, max, value) => max - min === 0 ? 1 : (value - min) / (max - min);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L3Byb2dyZXNzLmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFFb0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC9wcm9ncmVzcy5lcy5qcz9kODI4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHByb2dyZXNzID0gKG1pbiwgbWF4LCB2YWx1ZSkgPT4gbWF4IC0gbWluID09PSAwID8gMSA6ICh2YWx1ZSAtIG1pbikgLyAobWF4IC0gbWluKTtcblxuZXhwb3J0IHsgcHJvZ3Jlc3MgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/progress.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/time.es.js": -/*!*******************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/time.es.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ time: function() { return /* binding */ time; }\n/* harmony export */ });\nconst time = {\n ms: (seconds) => seconds * 1000,\n s: (milliseconds) => milliseconds / 1000,\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L3RpbWUuZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVnQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L3RpbWUuZXMuanM/NDAxMCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0aW1lID0ge1xuICAgIG1zOiAoc2Vjb25kcykgPT4gc2Vjb25kcyAqIDEwMDAsXG4gICAgczogKG1pbGxpc2Vjb25kcykgPT4gbWlsbGlzZWNvbmRzIC8gMTAwMCxcbn07XG5cbmV4cG9ydCB7IHRpbWUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/time.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/velocity.es.js": -/*!***********************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/velocity.es.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ velocityPerSecond: function() { return /* binding */ velocityPerSecond; }\n/* harmony export */ });\n/*\n Convert velocity into velocity per second\n\n @param [number]: Unit per frame\n @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L3ZlbG9jaXR5LmVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Btb3Rpb25vbmUvdXRpbHMvZGlzdC92ZWxvY2l0eS5lcy5qcz9kMzAwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gIENvbnZlcnQgdmVsb2NpdHkgaW50byB2ZWxvY2l0eSBwZXIgc2Vjb25kXG5cbiAgQHBhcmFtIFtudW1iZXJdOiBVbml0IHBlciBmcmFtZVxuICBAcGFyYW0gW251bWJlcl06IEZyYW1lIGR1cmF0aW9uIGluIG1zXG4qL1xuZnVuY3Rpb24gdmVsb2NpdHlQZXJTZWNvbmQodmVsb2NpdHksIGZyYW1lRHVyYXRpb24pIHtcbiAgICByZXR1cm4gZnJhbWVEdXJhdGlvbiA/IHZlbG9jaXR5ICogKDEwMDAgLyBmcmFtZUR1cmF0aW9uKSA6IDA7XG59XG5cbmV4cG9ydCB7IHZlbG9jaXR5UGVyU2Vjb25kIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/velocity.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@motionone/utils/dist/wrap.es.js": -/*!*******************************************************!*\ - !*** ./node_modules/@motionone/utils/dist/wrap.es.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ wrap: function() { return /* binding */ wrap; }\n/* harmony export */ });\nconst wrap = (min, max, v) => {\n const rangeSize = max - min;\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L3dyYXAuZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVnQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG1vdGlvbm9uZS91dGlscy9kaXN0L3dyYXAuZXMuanM/YzgxYiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB3cmFwID0gKG1pbiwgbWF4LCB2KSA9PiB7XG4gICAgY29uc3QgcmFuZ2VTaXplID0gbWF4IC0gbWluO1xuICAgIHJldHVybiAoKCgodiAtIG1pbikgJSByYW5nZVNpemUpICsgcmFuZ2VTaXplKSAlIHJhbmdlU2l6ZSkgKyBtaW47XG59O1xuXG5leHBvcnQgeyB3cmFwIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@motionone/utils/dist/wrap.es.js\n")); - -/***/ }), - -/***/ "./node_modules/hey-listen/dist/hey-listen.es.js": -/*!*******************************************************!*\ - !*** ./node_modules/hey-listen/dist/hey-listen.es.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ invariant: function() { return /* binding */ invariant; },\n/* harmony export */ warning: function() { return /* binding */ warning; }\n/* harmony export */ });\nvar warning = function () { };\r\nvar invariant = function () { };\r\nif (true) {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGV5LWxpc3Rlbi9kaXN0L2hleS1saXN0ZW4uZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0EsSUFBSSxJQUFxQztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUU4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvaGV5LWxpc3Rlbi9kaXN0L2hleS1saXN0ZW4uZXMuanM/YmIyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2FybmluZyA9IGZ1bmN0aW9uICgpIHsgfTtcclxudmFyIGludmFyaWFudCA9IGZ1bmN0aW9uICgpIHsgfTtcclxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcclxuICAgIHdhcm5pbmcgPSBmdW5jdGlvbiAoY2hlY2ssIG1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAoIWNoZWNrICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4obWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGludmFyaWFudCA9IGZ1bmN0aW9uIChjaGVjaywgbWVzc2FnZSkge1xyXG4gICAgICAgIGlmICghY2hlY2spIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cblxuZXhwb3J0IHsgaW52YXJpYW50LCB3YXJuaW5nIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/hey-listen/dist/hey-listen.es.js\n")); - -/***/ }), - -/***/ "./node_modules/motion/dist/animate.es.js": -/*!************************************************!*\ - !*** ./node_modules/motion/dist/animate.es.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ animate: function() { return /* binding */ animate; },\n/* harmony export */ animateProgress: function() { return /* binding */ animateProgress; }\n/* harmony export */ });\n/* harmony import */ var _motionone_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/dom */ \"./node_modules/@motionone/dom/dist/index.es.js\");\n/* harmony import */ var _motionone_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @motionone/utils */ \"./node_modules/@motionone/utils/dist/index.es.js\");\n/* harmony import */ var _motionone_animation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/animation */ \"./node_modules/@motionone/animation/dist/index.es.js\");\n\n\n\n\nfunction animateProgress(target, options = {}) {\n return (0,_motionone_dom__WEBPACK_IMPORTED_MODULE_0__.withControls)([\n () => {\n const animation = new _motionone_animation__WEBPACK_IMPORTED_MODULE_1__.Animation(target, [0, 1], options);\n animation.finished.catch(() => { });\n return animation;\n },\n ], options, options.duration);\n}\nfunction animate(target, keyframesOrOptions, options) {\n const factory = (0,_motionone_utils__WEBPACK_IMPORTED_MODULE_2__.isFunction)(target) ? animateProgress : _motionone_dom__WEBPACK_IMPORTED_MODULE_0__.animate;\n return factory(target, keyframesOrOptions, options);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbW90aW9uL2Rpc3QvYW5pbWF0ZS5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFvRTtBQUN0QjtBQUNHOztBQUVqRCw2Q0FBNkM7QUFDN0MsV0FBVyw0REFBWTtBQUN2QjtBQUNBLGtDQUFrQywyREFBUztBQUMzQyw4Q0FBOEM7QUFDOUM7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDREQUFVLDZCQUE2QixtREFBUztBQUNwRTtBQUNBOztBQUVvQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbW90aW9uL2Rpc3QvYW5pbWF0ZS5lcy5qcz9hYTk5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUgYXMgYW5pbWF0ZSQxLCB3aXRoQ29udHJvbHMgfSBmcm9tICdAbW90aW9ub25lL2RvbSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnQG1vdGlvbm9uZS91dGlscyc7XG5pbXBvcnQgeyBBbmltYXRpb24gfSBmcm9tICdAbW90aW9ub25lL2FuaW1hdGlvbic7XG5cbmZ1bmN0aW9uIGFuaW1hdGVQcm9ncmVzcyh0YXJnZXQsIG9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiB3aXRoQ29udHJvbHMoW1xuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKHRhcmdldCwgWzAsIDFdLCBvcHRpb25zKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi5maW5pc2hlZC5jYXRjaCgoKSA9PiB7IH0pO1xuICAgICAgICAgICAgcmV0dXJuIGFuaW1hdGlvbjtcbiAgICAgICAgfSxcbiAgICBdLCBvcHRpb25zLCBvcHRpb25zLmR1cmF0aW9uKTtcbn1cbmZ1bmN0aW9uIGFuaW1hdGUodGFyZ2V0LCBrZXlmcmFtZXNPck9wdGlvbnMsIG9wdGlvbnMpIHtcbiAgICBjb25zdCBmYWN0b3J5ID0gaXNGdW5jdGlvbih0YXJnZXQpID8gYW5pbWF0ZVByb2dyZXNzIDogYW5pbWF0ZSQxO1xuICAgIHJldHVybiBmYWN0b3J5KHRhcmdldCwga2V5ZnJhbWVzT3JPcHRpb25zLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IHsgYW5pbWF0ZSwgYW5pbWF0ZVByb2dyZXNzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/motion/dist/animate.es.js\n")); - -/***/ }), - -/***/ "./node_modules/motion/dist/main.es.js": -/*!*********************************************!*\ - !*** ./node_modules/motion/dist/main.es.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ animate: function() { return /* reexport safe */ _animate_es_js__WEBPACK_IMPORTED_MODULE_2__.animate; }\n/* harmony export */ });\n/* harmony import */ var _motionone_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @motionone/dom */ \"./node_modules/@motionone/dom/dist/index.es.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _motionone_dom__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"animate\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _motionone_dom__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _motionone_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @motionone/types */ \"./node_modules/@motionone/types/dist/index.es.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _motionone_types__WEBPACK_IMPORTED_MODULE_1__) if([\"default\",\"animate\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _motionone_types__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _animate_es_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./animate.es.js */ \"./node_modules/motion/dist/animate.es.js\");\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbW90aW9uL2Rpc3QvbWFpbi5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ0U7QUFDUyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbW90aW9uL2Rpc3QvbWFpbi5lcy5qcz84MWVjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0Btb3Rpb25vbmUvZG9tJztcbmV4cG9ydCAqIGZyb20gJ0Btb3Rpb25vbmUvdHlwZXMnO1xuZXhwb3J0IHsgYW5pbWF0ZSB9IGZyb20gJy4vYW5pbWF0ZS5lcy5qcyc7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/motion/dist/main.es.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/browser.js": -/*!********************************************!*\ - !*** ./node_modules/qrcode/lib/browser.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("\nconst canPromise = __webpack_require__(/*! ./can-promise */ \"./node_modules/qrcode/lib/can-promise.js\")\n\nconst QRCode = __webpack_require__(/*! ./core/qrcode */ \"./node_modules/qrcode/lib/core/qrcode.js\")\nconst CanvasRenderer = __webpack_require__(/*! ./renderer/canvas */ \"./node_modules/qrcode/lib/renderer/canvas.js\")\nconst SvgRenderer = __webpack_require__(/*! ./renderer/svg-tag.js */ \"./node_modules/qrcode/lib/renderer/svg-tag.js\")\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQywrREFBZTs7QUFFMUMsZUFBZSxtQkFBTyxDQUFDLCtEQUFlO0FBQ3RDLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFtQjtBQUNsRCxvQkFBb0IsbUJBQU8sQ0FBQyw0RUFBdUI7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsaUJBQWlCOztBQUVqQjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvYnJvd3Nlci5qcz9iNGQ1Il0sInNvdXJjZXNDb250ZW50IjpbIlxuY29uc3QgY2FuUHJvbWlzZSA9IHJlcXVpcmUoJy4vY2FuLXByb21pc2UnKVxuXG5jb25zdCBRUkNvZGUgPSByZXF1aXJlKCcuL2NvcmUvcXJjb2RlJylcbmNvbnN0IENhbnZhc1JlbmRlcmVyID0gcmVxdWlyZSgnLi9yZW5kZXJlci9jYW52YXMnKVxuY29uc3QgU3ZnUmVuZGVyZXIgPSByZXF1aXJlKCcuL3JlbmRlcmVyL3N2Zy10YWcuanMnKVxuXG5mdW5jdGlvbiByZW5kZXJDYW52YXMgKHJlbmRlckZ1bmMsIGNhbnZhcywgdGV4dCwgb3B0cywgY2IpIHtcbiAgY29uc3QgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKVxuICBjb25zdCBhcmdzTnVtID0gYXJncy5sZW5ndGhcbiAgY29uc3QgaXNMYXN0QXJnQ2IgPSB0eXBlb2YgYXJnc1thcmdzTnVtIC0gMV0gPT09ICdmdW5jdGlvbidcblxuICBpZiAoIWlzTGFzdEFyZ0NiICYmICFjYW5Qcm9taXNlKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQnKVxuICB9XG5cbiAgaWYgKGlzTGFzdEFyZ0NiKSB7XG4gICAgaWYgKGFyZ3NOdW0gPCAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvbyBmZXcgYXJndW1lbnRzIHByb3ZpZGVkJylcbiAgICB9XG5cbiAgICBpZiAoYXJnc051bSA9PT0gMikge1xuICAgICAgY2IgPSB0ZXh0XG4gICAgICB0ZXh0ID0gY2FudmFzXG4gICAgICBjYW52YXMgPSBvcHRzID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmIChhcmdzTnVtID09PSAzKSB7XG4gICAgICBpZiAoY2FudmFzLmdldENvbnRleHQgJiYgdHlwZW9mIGNiID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjYiA9IG9wdHNcbiAgICAgICAgb3B0cyA9IHVuZGVmaW5lZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2IgPSBvcHRzXG4gICAgICAgIG9wdHMgPSB0ZXh0XG4gICAgICAgIHRleHQgPSBjYW52YXNcbiAgICAgICAgY2FudmFzID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChhcmdzTnVtIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCcpXG4gICAgfVxuXG4gICAgaWYgKGFyZ3NOdW0gPT09IDEpIHtcbiAgICAgIHRleHQgPSBjYW52YXNcbiAgICAgIGNhbnZhcyA9IG9wdHMgPSB1bmRlZmluZWRcbiAgICB9IGVsc2UgaWYgKGFyZ3NOdW0gPT09IDIgJiYgIWNhbnZhcy5nZXRDb250ZXh0KSB7XG4gICAgICBvcHRzID0gdGV4dFxuICAgICAgdGV4dCA9IGNhbnZhc1xuICAgICAgY2FudmFzID0gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBRUkNvZGUuY3JlYXRlKHRleHQsIG9wdHMpXG4gICAgICAgIHJlc29sdmUocmVuZGVyRnVuYyhkYXRhLCBjYW52YXMsIG9wdHMpKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gUVJDb2RlLmNyZWF0ZSh0ZXh0LCBvcHRzKVxuICAgIGNiKG51bGwsIHJlbmRlckZ1bmMoZGF0YSwgY2FudmFzLCBvcHRzKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNiKGUpXG4gIH1cbn1cblxuZXhwb3J0cy5jcmVhdGUgPSBRUkNvZGUuY3JlYXRlXG5leHBvcnRzLnRvQ2FudmFzID0gcmVuZGVyQ2FudmFzLmJpbmQobnVsbCwgQ2FudmFzUmVuZGVyZXIucmVuZGVyKVxuZXhwb3J0cy50b0RhdGFVUkwgPSByZW5kZXJDYW52YXMuYmluZChudWxsLCBDYW52YXNSZW5kZXJlci5yZW5kZXJUb0RhdGFVUkwpXG5cbi8vIG9ubHkgc3ZnIGZvciBub3cuXG5leHBvcnRzLnRvU3RyaW5nID0gcmVuZGVyQ2FudmFzLmJpbmQobnVsbCwgZnVuY3Rpb24gKGRhdGEsIF8sIG9wdHMpIHtcbiAgcmV0dXJuIFN2Z1JlbmRlcmVyLnJlbmRlcihkYXRhLCBvcHRzKVxufSlcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/can-promise.js": -/*!************************************************!*\ - !*** ./node_modules/qrcode/lib/can-promise.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jYW4tcHJvbWlzZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2Nhbi1wcm9taXNlLmpzPzljYjIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gY2FuLXByb21pc2UgaGFzIGEgY3Jhc2ggaW4gc29tZSB2ZXJzaW9ucyBvZiByZWFjdCBuYXRpdmUgdGhhdCBkb250IGhhdmVcbi8vIHN0YW5kYXJkIGdsb2JhbCBvYmplY3RzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc29sZGFpci9ub2RlLXFyY29kZS9pc3N1ZXMvMTU3XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHlwZW9mIFByb21pc2UgPT09ICdmdW5jdGlvbicgJiYgUHJvbWlzZS5wcm90b3R5cGUgJiYgUHJvbWlzZS5wcm90b3R5cGUudGhlblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/can-promise.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/alignment-pattern.js": -/*!***********************************************************!*\ - !*** ./node_modules/qrcode/lib/core/alignment-pattern.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = (__webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\").getSymbolSize)\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FsaWdubWVudC1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsNkZBQWdDOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHVCQUF1QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsZUFBZTtBQUNqQyxvQkFBb0IsZUFBZTtBQUNuQztBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FsaWdubWVudC1wYXR0ZXJuLmpzP2FiNDMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbGlnbm1lbnQgcGF0dGVybiBhcmUgZml4ZWQgcmVmZXJlbmNlIHBhdHRlcm4gaW4gZGVmaW5lZCBwb3NpdGlvbnNcbiAqIGluIGEgbWF0cml4IHN5bWJvbG9neSwgd2hpY2ggZW5hYmxlcyB0aGUgZGVjb2RlIHNvZnR3YXJlIHRvIHJlLXN5bmNocm9uaXNlXG4gKiB0aGUgY29vcmRpbmF0ZSBtYXBwaW5nIG9mIHRoZSBpbWFnZSBtb2R1bGVzIGluIHRoZSBldmVudCBvZiBtb2RlcmF0ZSBhbW91bnRzXG4gKiBvZiBkaXN0b3J0aW9uIG9mIHRoZSBpbWFnZS5cbiAqXG4gKiBBbGlnbm1lbnQgcGF0dGVybnMgYXJlIHByZXNlbnQgb25seSBpbiBRUiBDb2RlIHN5bWJvbHMgb2YgdmVyc2lvbiAyIG9yIGxhcmdlclxuICogYW5kIHRoZWlyIG51bWJlciBkZXBlbmRzIG9uIHRoZSBzeW1ib2wgdmVyc2lvbi5cbiAqL1xuXG5jb25zdCBnZXRTeW1ib2xTaXplID0gcmVxdWlyZSgnLi91dGlscycpLmdldFN5bWJvbFNpemVcblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIHJvdy9jb2x1bW4gY29vcmRpbmF0ZXMgb2YgdGhlIGNlbnRlciBtb2R1bGUgb2YgZWFjaCBhbGlnbm1lbnQgcGF0dGVyblxuICogZm9yIHRoZSBzcGVjaWZpZWQgUVIgQ29kZSB2ZXJzaW9uLlxuICpcbiAqIFRoZSBhbGlnbm1lbnQgcGF0dGVybnMgYXJlIHBvc2l0aW9uZWQgc3ltbWV0cmljYWxseSBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgZGlhZ29uYWxcbiAqIHJ1bm5pbmcgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBzeW1ib2wgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuXG4gKlxuICogU2luY2UgcG9zaXRpb25zIGFyZSBzaW1tZXRyaWNhbCBvbmx5IGhhbGYgb2YgdGhlIGNvb3JkaW5hdGVzIGFyZSByZXR1cm5lZC5cbiAqIEVhY2ggaXRlbSBvZiB0aGUgYXJyYXkgd2lsbCByZXByZXNlbnQgaW4gdHVybiB0aGUgeCBhbmQgeSBjb29yZGluYXRlLlxuICogQHNlZSB7QGxpbmsgZ2V0UG9zaXRpb25zfVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBjb29yZGluYXRlXG4gKi9cbmV4cG9ydHMuZ2V0Um93Q29sQ29vcmRzID0gZnVuY3Rpb24gZ2V0Um93Q29sQ29vcmRzICh2ZXJzaW9uKSB7XG4gIGlmICh2ZXJzaW9uID09PSAxKSByZXR1cm4gW11cblxuICBjb25zdCBwb3NDb3VudCA9IE1hdGguZmxvb3IodmVyc2lvbiAvIDcpICsgMlxuICBjb25zdCBzaXplID0gZ2V0U3ltYm9sU2l6ZSh2ZXJzaW9uKVxuICBjb25zdCBpbnRlcnZhbHMgPSBzaXplID09PSAxNDUgPyAyNiA6IE1hdGguY2VpbCgoc2l6ZSAtIDEzKSAvICgyICogcG9zQ291bnQgLSAyKSkgKiAyXG4gIGNvbnN0IHBvc2l0aW9ucyA9IFtzaXplIC0gN10gLy8gTGFzdCBjb29yZCBpcyBhbHdheXMgKHNpemUgLSA3KVxuXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgcG9zQ291bnQgLSAxOyBpKyspIHtcbiAgICBwb3NpdGlvbnNbaV0gPSBwb3NpdGlvbnNbaSAtIDFdIC0gaW50ZXJ2YWxzXG4gIH1cblxuICBwb3NpdGlvbnMucHVzaCg2KSAvLyBGaXJzdCBjb29yZCBpcyBhbHdheXMgNlxuXG4gIHJldHVybiBwb3NpdGlvbnMucmV2ZXJzZSgpXG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbnMgb2YgZWFjaCBhbGlnbm1lbnQgcGF0dGVybi5cbiAqIEVhY2ggYXJyYXkncyBlbGVtZW50IHJlcHJlc2VudCB0aGUgY2VudGVyIHBvaW50IG9mIHRoZSBwYXR0ZXJuIGFzICh4LCB5KSBjb29yZGluYXRlc1xuICpcbiAqIENvb3JkaW5hdGVzIGFyZSBjYWxjdWxhdGVkIGV4cGFuZGluZyB0aGUgcm93L2NvbHVtbiBjb29yZGluYXRlcyByZXR1cm5lZCBieSB7QGxpbmsgZ2V0Um93Q29sQ29vcmRzfVxuICogYW5kIGZpbHRlcmluZyBvdXQgdGhlIGl0ZW1zIHRoYXQgb3ZlcmxhcHMgd2l0aCBmaW5kZXIgcGF0dGVyblxuICpcbiAqIEBleGFtcGxlXG4gKiBGb3IgYSBWZXJzaW9uIDcgc3ltYm9sIHtAbGluayBnZXRSb3dDb2xDb29yZHN9IHJldHVybnMgdmFsdWVzIDYsIDIyIGFuZCAzOC5cbiAqIFRoZSBhbGlnbm1lbnQgcGF0dGVybnMsIHRoZXJlZm9yZSwgYXJlIHRvIGJlIGNlbnRlcmVkIG9uIChyb3csIGNvbHVtbilcbiAqIHBvc2l0aW9ucyAoNiwyMiksICgyMiw2KSwgKDIyLDIyKSwgKDIyLDM4KSwgKDM4LDIyKSwgKDM4LDM4KS5cbiAqIE5vdGUgdGhhdCB0aGUgY29vcmRpbmF0ZXMgKDYsNiksICg2LDM4KSwgKDM4LDYpIGFyZSBvY2N1cGllZCBieSBmaW5kZXIgcGF0dGVybnNcbiAqIGFuZCBhcmUgbm90IHRoZXJlZm9yZSB1c2VkIGZvciBhbGlnbm1lbnQgcGF0dGVybnMuXG4gKlxuICogbGV0IHBvcyA9IGdldFBvc2l0aW9ucyg3KVxuICogLy8gW1s2LDIyXSwgWzIyLDZdLCBbMjIsMjJdLCBbMjIsMzhdLCBbMzgsMjJdLCBbMzgsMzhdXVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBjb29yZGluYXRlc1xuICovXG5leHBvcnRzLmdldFBvc2l0aW9ucyA9IGZ1bmN0aW9uIGdldFBvc2l0aW9ucyAodmVyc2lvbikge1xuICBjb25zdCBjb29yZHMgPSBbXVxuICBjb25zdCBwb3MgPSBleHBvcnRzLmdldFJvd0NvbENvb3Jkcyh2ZXJzaW9uKVxuICBjb25zdCBwb3NMZW5ndGggPSBwb3MubGVuZ3RoXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3NMZW5ndGg7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcG9zTGVuZ3RoOyBqKyspIHtcbiAgICAgIC8vIFNraXAgaWYgcG9zaXRpb24gaXMgb2NjdXBpZWQgYnkgZmluZGVyIHBhdHRlcm5zXG4gICAgICBpZiAoKGkgPT09IDAgJiYgaiA9PT0gMCkgfHwgLy8gdG9wLWxlZnRcbiAgICAgICAgICAoaSA9PT0gMCAmJiBqID09PSBwb3NMZW5ndGggLSAxKSB8fCAvLyBib3R0b20tbGVmdFxuICAgICAgICAgIChpID09PSBwb3NMZW5ndGggLSAxICYmIGogPT09IDApKSB7IC8vIHRvcC1yaWdodFxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb29yZHMucHVzaChbcG9zW2ldLCBwb3Nbal1dKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb29yZHNcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/alignment-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/alphanumeric-data.js": -/*!***********************************************************!*\ - !*** ./node_modules/qrcode/lib/core/alphanumeric-data.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FscGhhbnVtZXJpYy1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyxzREFBUTs7QUFFN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYywyQkFBMkI7QUFDekM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9hbHBoYW51bWVyaWMtZGF0YS5qcz8yNzc4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuXG4vKipcbiAqIEFycmF5IG9mIGNoYXJhY3RlcnMgYXZhaWxhYmxlIGluIGFscGhhbnVtZXJpYyBtb2RlXG4gKlxuICogQXMgcGVyIFFSIENvZGUgc3BlY2lmaWNhdGlvbiwgdG8gZWFjaCBjaGFyYWN0ZXJcbiAqIGlzIGFzc2lnbmVkIGEgdmFsdWUgZnJvbSAwIHRvIDQ0IHdoaWNoIGluIHRoaXMgY2FzZSBjb2luY2lkZXNcbiAqIHdpdGggdGhlIGFycmF5IGluZGV4XG4gKlxuICogQHR5cGUge0FycmF5fVxuICovXG5jb25zdCBBTFBIQV9OVU1fQ0hBUlMgPSBbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JyxcbiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLFxuICAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsXG4gICcgJywgJyQnLCAnJScsICcqJywgJysnLCAnLScsICcuJywgJy8nLCAnOidcbl1cblxuZnVuY3Rpb24gQWxwaGFudW1lcmljRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLkFMUEhBTlVNRVJJQ1xuICB0aGlzLmRhdGEgPSBkYXRhXG59XG5cbkFscGhhbnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gMTEgKiBNYXRoLmZsb29yKGxlbmd0aCAvIDIpICsgNiAqIChsZW5ndGggJSAyKVxufVxuXG5BbHBoYW51bWVyaWNEYXRhLnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiBnZXRMZW5ndGggKCkge1xuICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aFxufVxuXG5BbHBoYW51bWVyaWNEYXRhLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAoKSB7XG4gIHJldHVybiBBbHBoYW51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuQWxwaGFudW1lcmljRGF0YS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiB3cml0ZSAoYml0QnVmZmVyKSB7XG4gIGxldCBpXG5cbiAgLy8gSW5wdXQgZGF0YSBjaGFyYWN0ZXJzIGFyZSBkaXZpZGVkIGludG8gZ3JvdXBzIG9mIHR3byBjaGFyYWN0ZXJzXG4gIC8vIGFuZCBlbmNvZGVkIGFzIDExLWJpdCBiaW5hcnkgY29kZXMuXG4gIGZvciAoaSA9IDA7IGkgKyAyIDw9IHRoaXMuZGF0YS5sZW5ndGg7IGkgKz0gMikge1xuICAgIC8vIFRoZSBjaGFyYWN0ZXIgdmFsdWUgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyBtdWx0aXBsaWVkIGJ5IDQ1XG4gICAgbGV0IHZhbHVlID0gQUxQSEFfTlVNX0NIQVJTLmluZGV4T2YodGhpcy5kYXRhW2ldKSAqIDQ1XG5cbiAgICAvLyBUaGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBzZWNvbmQgZGlnaXQgaXMgYWRkZWQgdG8gdGhlIHByb2R1Y3RcbiAgICB2YWx1ZSArPSBBTFBIQV9OVU1fQ0hBUlMuaW5kZXhPZih0aGlzLmRhdGFbaSArIDFdKVxuXG4gICAgLy8gVGhlIHN1bSBpcyB0aGVuIHN0b3JlZCBhcyAxMS1iaXQgYmluYXJ5IG51bWJlclxuICAgIGJpdEJ1ZmZlci5wdXQodmFsdWUsIDExKVxuICB9XG5cbiAgLy8gSWYgdGhlIG51bWJlciBvZiBpbnB1dCBkYXRhIGNoYXJhY3RlcnMgaXMgbm90IGEgbXVsdGlwbGUgb2YgdHdvLFxuICAvLyB0aGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBmaW5hbCBjaGFyYWN0ZXIgaXMgZW5jb2RlZCBhcyBhIDYtYml0IGJpbmFyeSBudW1iZXIuXG4gIGlmICh0aGlzLmRhdGEubGVuZ3RoICUgMikge1xuICAgIGJpdEJ1ZmZlci5wdXQoQUxQSEFfTlVNX0NIQVJTLmluZGV4T2YodGhpcy5kYXRhW2ldKSwgNilcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEFscGhhbnVtZXJpY0RhdGFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/alphanumeric-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/bit-buffer.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/bit-buffer.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1idWZmZXIuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1idWZmZXIuanM/N2RlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBCaXRCdWZmZXIgKCkge1xuICB0aGlzLmJ1ZmZlciA9IFtdXG4gIHRoaXMubGVuZ3RoID0gMFxufVxuXG5CaXRCdWZmZXIucHJvdG90eXBlID0ge1xuXG4gIGdldDogZnVuY3Rpb24gKGluZGV4KSB7XG4gICAgY29uc3QgYnVmSW5kZXggPSBNYXRoLmZsb29yKGluZGV4IC8gOClcbiAgICByZXR1cm4gKCh0aGlzLmJ1ZmZlcltidWZJbmRleF0gPj4+ICg3IC0gaW5kZXggJSA4KSkgJiAxKSA9PT0gMVxuICB9LFxuXG4gIHB1dDogZnVuY3Rpb24gKG51bSwgbGVuZ3RoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5wdXRCaXQoKChudW0gPj4+IChsZW5ndGggLSBpIC0gMSkpICYgMSkgPT09IDEpXG4gICAgfVxuICB9LFxuXG4gIGdldExlbmd0aEluQml0czogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmxlbmd0aFxuICB9LFxuXG4gIHB1dEJpdDogZnVuY3Rpb24gKGJpdCkge1xuICAgIGNvbnN0IGJ1ZkluZGV4ID0gTWF0aC5mbG9vcih0aGlzLmxlbmd0aCAvIDgpXG4gICAgaWYgKHRoaXMuYnVmZmVyLmxlbmd0aCA8PSBidWZJbmRleCkge1xuICAgICAgdGhpcy5idWZmZXIucHVzaCgwKVxuICAgIH1cblxuICAgIGlmIChiaXQpIHtcbiAgICAgIHRoaXMuYnVmZmVyW2J1ZkluZGV4XSB8PSAoMHg4MCA+Pj4gKHRoaXMubGVuZ3RoICUgOCkpXG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGgrK1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQml0QnVmZmVyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/bit-buffer.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/bit-matrix.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/bit-matrix.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1tYXRyaXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLFNBQVM7QUFDckIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsVUFBVTtBQUNyQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9iaXQtbWF0cml4LmpzPzZlYjUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIZWxwZXIgY2xhc3MgdG8gaGFuZGxlIFFSIENvZGUgc3ltYm9sIG1vZHVsZXNcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gc2l6ZSBTeW1ib2wgc2l6ZVxuICovXG5mdW5jdGlvbiBCaXRNYXRyaXggKHNpemUpIHtcbiAgaWYgKCFzaXplIHx8IHNpemUgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCaXRNYXRyaXggc2l6ZSBtdXN0IGJlIGRlZmluZWQgYW5kIGdyZWF0ZXIgdGhhbiAwJylcbiAgfVxuXG4gIHRoaXMuc2l6ZSA9IHNpemVcbiAgdGhpcy5kYXRhID0gbmV3IFVpbnQ4QXJyYXkoc2l6ZSAqIHNpemUpXG4gIHRoaXMucmVzZXJ2ZWRCaXQgPSBuZXcgVWludDhBcnJheShzaXplICogc2l6ZSlcbn1cblxuLyoqXG4gKiBTZXQgYml0IHZhbHVlIGF0IHNwZWNpZmllZCBsb2NhdGlvblxuICogSWYgcmVzZXJ2ZWQgZmxhZyBpcyBzZXQsIHRoaXMgYml0IHdpbGwgYmUgaWdub3JlZCBkdXJpbmcgbWFza2luZyBwcm9jZXNzXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9ICByb3dcbiAqIEBwYXJhbSB7TnVtYmVyfSAgY29sXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHZhbHVlXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHJlc2VydmVkXG4gKi9cbkJpdE1hdHJpeC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHJvdywgY29sLCB2YWx1ZSwgcmVzZXJ2ZWQpIHtcbiAgY29uc3QgaW5kZXggPSByb3cgKiB0aGlzLnNpemUgKyBjb2xcbiAgdGhpcy5kYXRhW2luZGV4XSA9IHZhbHVlXG4gIGlmIChyZXNlcnZlZCkgdGhpcy5yZXNlcnZlZEJpdFtpbmRleF0gPSB0cnVlXG59XG5cbi8qKlxuICogUmV0dXJucyBiaXQgdmFsdWUgYXQgc3BlY2lmaWVkIGxvY2F0aW9uXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgcm93XG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICBjb2xcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKi9cbkJpdE1hdHJpeC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKHJvdywgY29sKSB7XG4gIHJldHVybiB0aGlzLmRhdGFbcm93ICogdGhpcy5zaXplICsgY29sXVxufVxuXG4vKipcbiAqIEFwcGxpZXMgeG9yIG9wZXJhdG9yIGF0IHNwZWNpZmllZCBsb2NhdGlvblxuICogKHVzZWQgZHVyaW5nIG1hc2tpbmcgcHJvY2VzcylcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gIHJvd1xuICogQHBhcmFtIHtOdW1iZXJ9ICBjb2xcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gdmFsdWVcbiAqL1xuQml0TWF0cml4LnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiAocm93LCBjb2wsIHZhbHVlKSB7XG4gIHRoaXMuZGF0YVtyb3cgKiB0aGlzLnNpemUgKyBjb2xdIF49IHZhbHVlXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYml0IGF0IHNwZWNpZmllZCBsb2NhdGlvbiBpcyByZXNlcnZlZFxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSAgIHJvd1xuICogQHBhcmFtIHtOdW1iZXJ9ICAgY29sXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5CaXRNYXRyaXgucHJvdG90eXBlLmlzUmVzZXJ2ZWQgPSBmdW5jdGlvbiAocm93LCBjb2wpIHtcbiAgcmV0dXJuIHRoaXMucmVzZXJ2ZWRCaXRbcm93ICogdGhpcy5zaXplICsgY29sXVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJpdE1hdHJpeFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/bit-matrix.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/byte-data.js": -/*!***************************************************!*\ - !*** ./node_modules/qrcode/lib/core/byte-data.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const encodeUtf8 = __webpack_require__(/*! encode-utf8 */ \"./node_modules/encode-utf8/index.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2J5dGUtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUIsbUJBQU8sQ0FBQyx3REFBYTtBQUN4QyxhQUFhLG1CQUFPLENBQUMsc0RBQVE7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvYnl0ZS1kYXRhLmpzPzkxZTYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZW5jb2RlVXRmOCA9IHJlcXVpcmUoJ2VuY29kZS11dGY4JylcbmNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuXG5mdW5jdGlvbiBCeXRlRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLkJZVEVcbiAgaWYgKHR5cGVvZiAoZGF0YSkgPT09ICdzdHJpbmcnKSB7XG4gICAgZGF0YSA9IGVuY29kZVV0ZjgoZGF0YSlcbiAgfVxuICB0aGlzLmRhdGEgPSBuZXcgVWludDhBcnJheShkYXRhKVxufVxuXG5CeXRlRGF0YS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAobGVuZ3RoKSB7XG4gIHJldHVybiBsZW5ndGggKiA4XG59XG5cbkJ5dGVEYXRhLnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiBnZXRMZW5ndGggKCkge1xuICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aFxufVxuXG5CeXRlRGF0YS5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKCkge1xuICByZXR1cm4gQnl0ZURhdGEuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKVxufVxuXG5CeXRlRGF0YS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYml0QnVmZmVyKSB7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5kYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGJpdEJ1ZmZlci5wdXQodGhpcy5kYXRhW2ldLCA4KVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQnl0ZURhdGFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/byte-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/error-correction-code.js": -/*!***************************************************************!*\ - !*** ./node_modules/qrcode/lib/core/error-correction-code.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/qrcode/lib/core/error-correction-level.js\")\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQywwRkFBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksUUFBUTtBQUNwQixZQUFZLDZCQUE2QjtBQUN6QztBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvZXJyb3ItY29ycmVjdGlvbi1jb2RlLmpzPzZiOGEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRUNMZXZlbCA9IHJlcXVpcmUoJy4vZXJyb3ItY29ycmVjdGlvbi1sZXZlbCcpXHJcblxyXG5jb25zdCBFQ19CTE9DS1NfVEFCTEUgPSBbXHJcbi8vIEwgIE0gIFEgIEhcclxuICAxLCAxLCAxLCAxLFxyXG4gIDEsIDEsIDEsIDEsXHJcbiAgMSwgMSwgMiwgMixcclxuICAxLCAyLCAyLCA0LFxyXG4gIDEsIDIsIDQsIDQsXHJcbiAgMiwgNCwgNCwgNCxcclxuICAyLCA0LCA2LCA1LFxyXG4gIDIsIDQsIDYsIDYsXHJcbiAgMiwgNSwgOCwgOCxcclxuICA0LCA1LCA4LCA4LFxyXG4gIDQsIDUsIDgsIDExLFxyXG4gIDQsIDgsIDEwLCAxMSxcclxuICA0LCA5LCAxMiwgMTYsXHJcbiAgNCwgOSwgMTYsIDE2LFxyXG4gIDYsIDEwLCAxMiwgMTgsXHJcbiAgNiwgMTAsIDE3LCAxNixcclxuICA2LCAxMSwgMTYsIDE5LFxyXG4gIDYsIDEzLCAxOCwgMjEsXHJcbiAgNywgMTQsIDIxLCAyNSxcclxuICA4LCAxNiwgMjAsIDI1LFxyXG4gIDgsIDE3LCAyMywgMjUsXHJcbiAgOSwgMTcsIDIzLCAzNCxcclxuICA5LCAxOCwgMjUsIDMwLFxyXG4gIDEwLCAyMCwgMjcsIDMyLFxyXG4gIDEyLCAyMSwgMjksIDM1LFxyXG4gIDEyLCAyMywgMzQsIDM3LFxyXG4gIDEyLCAyNSwgMzQsIDQwLFxyXG4gIDEzLCAyNiwgMzUsIDQyLFxyXG4gIDE0LCAyOCwgMzgsIDQ1LFxyXG4gIDE1LCAyOSwgNDAsIDQ4LFxyXG4gIDE2LCAzMSwgNDMsIDUxLFxyXG4gIDE3LCAzMywgNDUsIDU0LFxyXG4gIDE4LCAzNSwgNDgsIDU3LFxyXG4gIDE5LCAzNywgNTEsIDYwLFxyXG4gIDE5LCAzOCwgNTMsIDYzLFxyXG4gIDIwLCA0MCwgNTYsIDY2LFxyXG4gIDIxLCA0MywgNTksIDcwLFxyXG4gIDIyLCA0NSwgNjIsIDc0LFxyXG4gIDI0LCA0NywgNjUsIDc3LFxyXG4gIDI1LCA0OSwgNjgsIDgxXHJcbl1cclxuXHJcbmNvbnN0IEVDX0NPREVXT1JEU19UQUJMRSA9IFtcclxuLy8gTCAgTSAgUSAgSFxyXG4gIDcsIDEwLCAxMywgMTcsXHJcbiAgMTAsIDE2LCAyMiwgMjgsXHJcbiAgMTUsIDI2LCAzNiwgNDQsXHJcbiAgMjAsIDM2LCA1MiwgNjQsXHJcbiAgMjYsIDQ4LCA3MiwgODgsXHJcbiAgMzYsIDY0LCA5NiwgMTEyLFxyXG4gIDQwLCA3MiwgMTA4LCAxMzAsXHJcbiAgNDgsIDg4LCAxMzIsIDE1NixcclxuICA2MCwgMTEwLCAxNjAsIDE5MixcclxuICA3MiwgMTMwLCAxOTIsIDIyNCxcclxuICA4MCwgMTUwLCAyMjQsIDI2NCxcclxuICA5NiwgMTc2LCAyNjAsIDMwOCxcclxuICAxMDQsIDE5OCwgMjg4LCAzNTIsXHJcbiAgMTIwLCAyMTYsIDMyMCwgMzg0LFxyXG4gIDEzMiwgMjQwLCAzNjAsIDQzMixcclxuICAxNDQsIDI4MCwgNDA4LCA0ODAsXHJcbiAgMTY4LCAzMDgsIDQ0OCwgNTMyLFxyXG4gIDE4MCwgMzM4LCA1MDQsIDU4OCxcclxuICAxOTYsIDM2NCwgNTQ2LCA2NTAsXHJcbiAgMjI0LCA0MTYsIDYwMCwgNzAwLFxyXG4gIDIyNCwgNDQyLCA2NDQsIDc1MCxcclxuICAyNTIsIDQ3NiwgNjkwLCA4MTYsXHJcbiAgMjcwLCA1MDQsIDc1MCwgOTAwLFxyXG4gIDMwMCwgNTYwLCA4MTAsIDk2MCxcclxuICAzMTIsIDU4OCwgODcwLCAxMDUwLFxyXG4gIDMzNiwgNjQ0LCA5NTIsIDExMTAsXHJcbiAgMzYwLCA3MDAsIDEwMjAsIDEyMDAsXHJcbiAgMzkwLCA3MjgsIDEwNTAsIDEyNjAsXHJcbiAgNDIwLCA3ODQsIDExNDAsIDEzNTAsXHJcbiAgNDUwLCA4MTIsIDEyMDAsIDE0NDAsXHJcbiAgNDgwLCA4NjgsIDEyOTAsIDE1MzAsXHJcbiAgNTEwLCA5MjQsIDEzNTAsIDE2MjAsXHJcbiAgNTQwLCA5ODAsIDE0NDAsIDE3MTAsXHJcbiAgNTcwLCAxMDM2LCAxNTMwLCAxODAwLFxyXG4gIDU3MCwgMTA2NCwgMTU5MCwgMTg5MCxcclxuICA2MDAsIDExMjAsIDE2ODAsIDE5ODAsXHJcbiAgNjMwLCAxMjA0LCAxNzcwLCAyMTAwLFxyXG4gIDY2MCwgMTI2MCwgMTg2MCwgMjIyMCxcclxuICA3MjAsIDEzMTYsIDE5NTAsIDIzMTAsXHJcbiAgNzUwLCAxMzcyLCAyMDQwLCAyNDMwXHJcbl1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgY29ycmVjdGlvbiBibG9jayB0aGF0IHRoZSBRUiBDb2RlIHNob3VsZCBjb250YWluXHJcbiAqIGZvciB0aGUgc3BlY2lmaWVkIHZlcnNpb24gYW5kIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWwuXHJcbiAqXHJcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgIE51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGJsb2Nrc1xyXG4gKi9cclxuZXhwb3J0cy5nZXRCbG9ja3NDb3VudCA9IGZ1bmN0aW9uIGdldEJsb2Nrc0NvdW50ICh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCkge1xyXG4gIHN3aXRjaCAoZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcclxuICAgIGNhc2UgRUNMZXZlbC5MOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMF1cclxuICAgIGNhc2UgRUNMZXZlbC5NOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMV1cclxuICAgIGNhc2UgRUNMZXZlbC5ROlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMl1cclxuICAgIGNhc2UgRUNMZXZlbC5IOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgM11cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgdG8gdXNlIGZvciB0aGUgc3BlY2lmaWVkXHJcbiAqIHZlcnNpb24gYW5kIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWwuXHJcbiAqXHJcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgIE51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkc1xyXG4gKi9cclxuZXhwb3J0cy5nZXRUb3RhbENvZGV3b3Jkc0NvdW50ID0gZnVuY3Rpb24gZ2V0VG90YWxDb2Rld29yZHNDb3VudCAodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcclxuICBzd2l0Y2ggKGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XHJcbiAgICBjYXNlIEVDTGV2ZWwuTDpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDBdXHJcbiAgICBjYXNlIEVDTGV2ZWwuTTpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDFdXHJcbiAgICBjYXNlIEVDTGV2ZWwuUTpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDJdXHJcbiAgICBjYXNlIEVDTGV2ZWwuSDpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDNdXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/error-correction-code.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/error-correction-level.js": -/*!****************************************************************!*\ - !*** ./node_modules/qrcode/lib/core/error-correction-level.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwuanMiLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLOztBQUVkO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7O0FBRUEsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwuanM/MTU3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzLkwgPSB7IGJpdDogMSB9XG5leHBvcnRzLk0gPSB7IGJpdDogMCB9XG5leHBvcnRzLlEgPSB7IGJpdDogMyB9XG5leHBvcnRzLkggPSB7IGJpdDogMiB9XG5cbmZ1bmN0aW9uIGZyb21TdHJpbmcgKHN0cmluZykge1xuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmFtIGlzIG5vdCBhIHN0cmluZycpXG4gIH1cblxuICBjb25zdCBsY1N0ciA9IHN0cmluZy50b0xvd2VyQ2FzZSgpXG5cbiAgc3dpdGNoIChsY1N0cikge1xuICAgIGNhc2UgJ2wnOlxuICAgIGNhc2UgJ2xvdyc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5MXG5cbiAgICBjYXNlICdtJzpcbiAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgcmV0dXJuIGV4cG9ydHMuTVxuXG4gICAgY2FzZSAncSc6XG4gICAgY2FzZSAncXVhcnRpbGUnOlxuICAgICAgcmV0dXJuIGV4cG9ydHMuUVxuXG4gICAgY2FzZSAnaCc6XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5IXG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIEVDIExldmVsOiAnICsgc3RyaW5nKVxuICB9XG59XG5cbmV4cG9ydHMuaXNWYWxpZCA9IGZ1bmN0aW9uIGlzVmFsaWQgKGxldmVsKSB7XG4gIHJldHVybiBsZXZlbCAmJiB0eXBlb2YgbGV2ZWwuYml0ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGxldmVsLmJpdCA+PSAwICYmIGxldmVsLmJpdCA8IDRcbn1cblxuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh2YWx1ZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/error-correction-level.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/finder-pattern.js": -/*!********************************************************!*\ - !*** ./node_modules/qrcode/lib/core/finder-pattern.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const getSymbolSize = (__webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\").getSymbolSize)\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2ZpbmRlci1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQiw2RkFBZ0M7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSxvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvZmluZGVyLXBhdHRlcm4uanM/YTAzNyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRTeW1ib2xTaXplID0gcmVxdWlyZSgnLi91dGlscycpLmdldFN5bWJvbFNpemVcbmNvbnN0IEZJTkRFUl9QQVRURVJOX1NJWkUgPSA3XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbnMgb2YgZWFjaCBmaW5kZXIgcGF0dGVybi5cbiAqIEVhY2ggYXJyYXkncyBlbGVtZW50IHJlcHJlc2VudCB0aGUgdG9wLWxlZnQgcG9pbnQgb2YgdGhlIHBhdHRlcm4gYXMgKHgsIHkpIGNvb3JkaW5hdGVzXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7QXJyYXl9ICAgICAgICAgIEFycmF5IG9mIGNvb3JkaW5hdGVzXG4gKi9cbmV4cG9ydHMuZ2V0UG9zaXRpb25zID0gZnVuY3Rpb24gZ2V0UG9zaXRpb25zICh2ZXJzaW9uKSB7XG4gIGNvbnN0IHNpemUgPSBnZXRTeW1ib2xTaXplKHZlcnNpb24pXG5cbiAgcmV0dXJuIFtcbiAgICAvLyB0b3AtbGVmdFxuICAgIFswLCAwXSxcbiAgICAvLyB0b3AtcmlnaHRcbiAgICBbc2l6ZSAtIEZJTkRFUl9QQVRURVJOX1NJWkUsIDBdLFxuICAgIC8vIGJvdHRvbS1sZWZ0XG4gICAgWzAsIHNpemUgLSBGSU5ERVJfUEFUVEVSTl9TSVpFXVxuICBdXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/finder-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/format-info.js": -/*!*****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/format-info.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Zvcm1hdC1pbmZvLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyx3REFBUzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSw2QkFBNkI7QUFDekM7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Zvcm1hdC1pbmZvLmpzPzkyMDkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxuY29uc3QgRzE1ID0gKDEgPDwgMTApIHwgKDEgPDwgOCkgfCAoMSA8PCA1KSB8ICgxIDw8IDQpIHwgKDEgPDwgMikgfCAoMSA8PCAxKSB8ICgxIDw8IDApXG5jb25zdCBHMTVfTUFTSyA9ICgxIDw8IDE0KSB8ICgxIDw8IDEyKSB8ICgxIDw8IDEwKSB8ICgxIDw8IDQpIHwgKDEgPDwgMSlcbmNvbnN0IEcxNV9CQ0ggPSBVdGlscy5nZXRCQ0hEaWdpdChHMTUpXG5cbi8qKlxuICogUmV0dXJucyBmb3JtYXQgaW5mb3JtYXRpb24gd2l0aCByZWxhdGl2ZSBlcnJvciBjb3JyZWN0aW9uIGJpdHNcbiAqXG4gKiBUaGUgZm9ybWF0IGluZm9ybWF0aW9uIGlzIGEgMTUtYml0IHNlcXVlbmNlIGNvbnRhaW5pbmcgNSBkYXRhIGJpdHMsXG4gKiB3aXRoIDEwIGVycm9yIGNvcnJlY3Rpb24gYml0cyBjYWxjdWxhdGVkIHVzaW5nIHRoZSAoMTUsIDUpIEJDSCBjb2RlLlxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICogQHBhcmFtICB7TnVtYmVyfSBtYXNrICAgICAgICAgICAgICAgICBNYXNrIHBhdHRlcm5cbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBmb3JtYXQgaW5mb3JtYXRpb24gYml0c1xuICovXG5leHBvcnRzLmdldEVuY29kZWRCaXRzID0gZnVuY3Rpb24gZ2V0RW5jb2RlZEJpdHMgKGVycm9yQ29ycmVjdGlvbkxldmVsLCBtYXNrKSB7XG4gIGNvbnN0IGRhdGEgPSAoKGVycm9yQ29ycmVjdGlvbkxldmVsLmJpdCA8PCAzKSB8IG1hc2spXG4gIGxldCBkID0gZGF0YSA8PCAxMFxuXG4gIHdoaWxlIChVdGlscy5nZXRCQ0hEaWdpdChkKSAtIEcxNV9CQ0ggPj0gMCkge1xuICAgIGQgXj0gKEcxNSA8PCAoVXRpbHMuZ2V0QkNIRGlnaXQoZCkgLSBHMTVfQkNIKSlcbiAgfVxuXG4gIC8vIHhvciBmaW5hbCBkYXRhIHdpdGggbWFzayBwYXR0ZXJuIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0XG4gIC8vIG5vIGNvbWJpbmF0aW9uIG9mIEVycm9yIENvcnJlY3Rpb24gTGV2ZWwgYW5kIGRhdGEgbWFzayBwYXR0ZXJuXG4gIC8vIHdpbGwgcmVzdWx0IGluIGFuIGFsbC16ZXJvIGRhdGEgc3RyaW5nXG4gIHJldHVybiAoKGRhdGEgPDwgMTApIHwgZCkgXiBHMTVfTUFTS1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/format-info.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/galois-field.js": -/*!******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/galois-field.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2dhbG9pcy1maWVsZC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsQ0FBQztBQUNEO0FBQ0Esa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsb0JBQW9CLFNBQVM7QUFDN0I7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWTtBQUNaO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0EsV0FBVztBQUNYO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9nYWxvaXMtZmllbGQuanM/MDM4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBFWFBfVEFCTEUgPSBuZXcgVWludDhBcnJheSg1MTIpXG5jb25zdCBMT0dfVEFCTEUgPSBuZXcgVWludDhBcnJheSgyNTYpXG4vKipcbiAqIFByZWNvbXB1dGUgdGhlIGxvZyBhbmQgYW50aS1sb2cgdGFibGVzIGZvciBmYXN0ZXIgY29tcHV0YXRpb24gbGF0ZXJcbiAqXG4gKiBGb3IgZWFjaCBwb3NzaWJsZSB2YWx1ZSBpbiB0aGUgZ2Fsb2lzIGZpZWxkIDJeOCwgd2Ugd2lsbCBwcmUtY29tcHV0ZVxuICogdGhlIGxvZ2FyaXRobSBhbmQgYW50aS1sb2dhcml0aG0gKGV4cG9uZW50aWFsKSBvZiB0aGlzIHZhbHVlXG4gKlxuICogcmVmIHtAbGluayBodHRwczovL2VuLndpa2l2ZXJzaXR5Lm9yZy93aWtpL1JlZWQlRTIlODAlOTNTb2xvbW9uX2NvZGVzX2Zvcl9jb2RlcnMjSW50cm9kdWN0aW9uX3RvX21hdGhlbWF0aWNhbF9maWVsZHN9XG4gKi9cbjsoZnVuY3Rpb24gaW5pdFRhYmxlcyAoKSB7XG4gIGxldCB4ID0gMVxuICBmb3IgKGxldCBpID0gMDsgaSA8IDI1NTsgaSsrKSB7XG4gICAgRVhQX1RBQkxFW2ldID0geFxuICAgIExPR19UQUJMRVt4XSA9IGlcblxuICAgIHggPDw9IDEgLy8gbXVsdGlwbHkgYnkgMlxuXG4gICAgLy8gVGhlIFFSIGNvZGUgc3BlY2lmaWNhdGlvbiBzYXlzIHRvIHVzZSBieXRlLXdpc2UgbW9kdWxvIDEwMDAxMTEwMSBhcml0aG1ldGljLlxuICAgIC8vIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGEgbnVtYmVyIGlzIDI1NiBvciBsYXJnZXIsIGl0IHNob3VsZCBiZSBYT1JlZCB3aXRoIDB4MTFELlxuICAgIGlmICh4ICYgMHgxMDApIHsgLy8gc2ltaWxhciB0byB4ID49IDI1NiwgYnV0IGEgbG90IGZhc3RlciAoYmVjYXVzZSAweDEwMCA9PSAyNTYpXG4gICAgICB4IF49IDB4MTFEXG4gICAgfVxuICB9XG5cbiAgLy8gT3B0aW1pemF0aW9uOiBkb3VibGUgdGhlIHNpemUgb2YgdGhlIGFudGktbG9nIHRhYmxlIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBtb2QgMjU1IHRvXG4gIC8vIHN0YXkgaW5zaWRlIHRoZSBib3VuZHMgKGJlY2F1c2Ugd2Ugd2lsbCBtYWlubHkgdXNlIHRoaXMgdGFibGUgZm9yIHRoZSBtdWx0aXBsaWNhdGlvbiBvZlxuICAvLyB0d28gR0YgbnVtYmVycywgbm8gbW9yZSkuXG4gIC8vIEBzZWUge0BsaW5rIG11bH1cbiAgZm9yIChsZXQgaSA9IDI1NTsgaSA8IDUxMjsgaSsrKSB7XG4gICAgRVhQX1RBQkxFW2ldID0gRVhQX1RBQkxFW2kgLSAyNTVdXG4gIH1cbn0oKSlcblxuLyoqXG4gKiBSZXR1cm5zIGxvZyB2YWx1ZSBvZiBuIGluc2lkZSBHYWxvaXMgRmllbGRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IG5cbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuZXhwb3J0cy5sb2cgPSBmdW5jdGlvbiBsb2cgKG4pIHtcbiAgaWYgKG4gPCAxKSB0aHJvdyBuZXcgRXJyb3IoJ2xvZygnICsgbiArICcpJylcbiAgcmV0dXJuIExPR19UQUJMRVtuXVxufVxuXG4vKipcbiAqIFJldHVybnMgYW50aS1sb2cgdmFsdWUgb2YgbiBpbnNpZGUgR2Fsb2lzIEZpZWxkXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBuXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbmV4cG9ydHMuZXhwID0gZnVuY3Rpb24gZXhwIChuKSB7XG4gIHJldHVybiBFWFBfVEFCTEVbbl1cbn1cblxuLyoqXG4gKiBNdWx0aXBsaWVzIHR3byBudW1iZXIgaW5zaWRlIEdhbG9pcyBGaWVsZFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0geFxuICogQHBhcmFtICB7TnVtYmVyfSB5XG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbmV4cG9ydHMubXVsID0gZnVuY3Rpb24gbXVsICh4LCB5KSB7XG4gIGlmICh4ID09PSAwIHx8IHkgPT09IDApIHJldHVybiAwXG5cbiAgLy8gc2hvdWxkIGJlIEVYUF9UQUJMRVsoTE9HX1RBQkxFW3hdICsgTE9HX1RBQkxFW3ldKSAlIDI1NV0gaWYgRVhQX1RBQkxFIHdhc24ndCBvdmVyc2l6ZWRcbiAgLy8gQHNlZSB7QGxpbmsgaW5pdFRhYmxlc31cbiAgcmV0dXJuIEVYUF9UQUJMRVtMT0dfVEFCTEVbeF0gKyBMT0dfVEFCTEVbeV1dXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/galois-field.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/kanji-data.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/kanji-data.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2thbmppLWRhdGEuanMiLCJtYXBwaW5ncyI6IkFBQUEsYUFBYSxtQkFBTyxDQUFDLHNEQUFRO0FBQzdCLGNBQWMsbUJBQU8sQ0FBQyx3REFBUzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHNCQUFzQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2thbmppLWRhdGEuanM/OWFkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNb2RlID0gcmVxdWlyZSgnLi9tb2RlJylcbmNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmZ1bmN0aW9uIEthbmppRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLktBTkpJXG4gIHRoaXMuZGF0YSA9IGRhdGFcbn1cblxuS2FuamlEYXRhLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoIChsZW5ndGgpIHtcbiAgcmV0dXJuIGxlbmd0aCAqIDEzXG59XG5cbkthbmppRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuS2FuamlEYXRhLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAoKSB7XG4gIHJldHVybiBLYW5qaURhdGEuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKVxufVxuXG5LYW5qaURhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGJpdEJ1ZmZlcikge1xuICBsZXQgaVxuXG4gIC8vIEluIHRoZSBTaGlmdCBKSVMgc3lzdGVtLCBLYW5qaSBjaGFyYWN0ZXJzIGFyZSByZXByZXNlbnRlZCBieSBhIHR3byBieXRlIGNvbWJpbmF0aW9uLlxuICAvLyBUaGVzZSBieXRlIHZhbHVlcyBhcmUgc2hpZnRlZCBmcm9tIHRoZSBKSVMgWCAwMjA4IHZhbHVlcy5cbiAgLy8gSklTIFggMDIwOCBnaXZlcyBkZXRhaWxzIG9mIHRoZSBzaGlmdCBjb2RlZCByZXByZXNlbnRhdGlvbi5cbiAgZm9yIChpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7IGkrKykge1xuICAgIGxldCB2YWx1ZSA9IFV0aWxzLnRvU0pJUyh0aGlzLmRhdGFbaV0pXG5cbiAgICAvLyBGb3IgY2hhcmFjdGVycyB3aXRoIFNoaWZ0IEpJUyB2YWx1ZXMgZnJvbSAweDgxNDAgdG8gMHg5RkZDOlxuICAgIGlmICh2YWx1ZSA+PSAweDgxNDAgJiYgdmFsdWUgPD0gMHg5RkZDKSB7XG4gICAgICAvLyBTdWJ0cmFjdCAweDgxNDAgZnJvbSBTaGlmdCBKSVMgdmFsdWVcbiAgICAgIHZhbHVlIC09IDB4ODE0MFxuXG4gICAgLy8gRm9yIGNoYXJhY3RlcnMgd2l0aCBTaGlmdCBKSVMgdmFsdWVzIGZyb20gMHhFMDQwIHRvIDB4RUJCRlxuICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMHhFMDQwICYmIHZhbHVlIDw9IDB4RUJCRikge1xuICAgICAgLy8gU3VidHJhY3QgMHhDMTQwIGZyb20gU2hpZnQgSklTIHZhbHVlXG4gICAgICB2YWx1ZSAtPSAweEMxNDBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSW52YWxpZCBTSklTIGNoYXJhY3RlcjogJyArIHRoaXMuZGF0YVtpXSArICdcXG4nICtcbiAgICAgICAgJ01ha2Ugc3VyZSB5b3VyIGNoYXJzZXQgaXMgVVRGLTgnKVxuICAgIH1cblxuICAgIC8vIE11bHRpcGx5IG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiByZXN1bHQgYnkgMHhDMFxuICAgIC8vIGFuZCBhZGQgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSB0byBwcm9kdWN0XG4gICAgdmFsdWUgPSAoKCh2YWx1ZSA+Pj4gOCkgJiAweGZmKSAqIDB4QzApICsgKHZhbHVlICYgMHhmZilcblxuICAgIC8vIENvbnZlcnQgcmVzdWx0IHRvIGEgMTMtYml0IGJpbmFyeSBzdHJpbmdcbiAgICBiaXRCdWZmZXIucHV0KHZhbHVlLCAxMylcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEthbmppRGF0YVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/kanji-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/mask-pattern.js": -/*!******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/mask-pattern.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21hc2stcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLGlCQUFpQjtBQUM3QjtBQUNBLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksNEJBQTRCO0FBQ3hDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7O0FBRUEsc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLHNCQUFzQixnQkFBZ0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0Esc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCOztBQUVwQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVztBQUN2QixZQUFZLFdBQVc7QUFDdkI7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUEsb0JBQW9CLFlBQVk7QUFDaEMsc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFdBQVc7QUFDdkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvbWFzay1wYXR0ZXJuLmpzP2NlOGIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEYXRhIG1hc2sgcGF0dGVybiByZWZlcmVuY2VcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuUGF0dGVybnMgPSB7XG4gIFBBVFRFUk4wMDA6IDAsXG4gIFBBVFRFUk4wMDE6IDEsXG4gIFBBVFRFUk4wMTA6IDIsXG4gIFBBVFRFUk4wMTE6IDMsXG4gIFBBVFRFUk4xMDA6IDQsXG4gIFBBVFRFUk4xMDE6IDUsXG4gIFBBVFRFUk4xMTA6IDYsXG4gIFBBVFRFUk4xMTE6IDdcbn1cblxuLyoqXG4gKiBXZWlnaHRlZCBwZW5hbHR5IHNjb3JlcyBmb3IgdGhlIHVuZGVzaXJhYmxlIGZlYXR1cmVzXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5jb25zdCBQZW5hbHR5U2NvcmVzID0ge1xuICBOMTogMyxcbiAgTjI6IDMsXG4gIE4zOiA0MCxcbiAgTjQ6IDEwXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgbWFzayBwYXR0ZXJuIHZhbHVlIGlzIHZhbGlkXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgbWFzayAgICBNYXNrIHBhdHRlcm5cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgdHJ1ZSBpZiB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydHMuaXNWYWxpZCA9IGZ1bmN0aW9uIGlzVmFsaWQgKG1hc2spIHtcbiAgcmV0dXJuIG1hc2sgIT0gbnVsbCAmJiBtYXNrICE9PSAnJyAmJiAhaXNOYU4obWFzaykgJiYgbWFzayA+PSAwICYmIG1hc2sgPD0gN1xufVxuXG4vKipcbiAqIFJldHVybnMgbWFzayBwYXR0ZXJuIGZyb20gYSB2YWx1ZS5cbiAqIElmIHZhbHVlIGlzIG5vdCB2YWxpZCwgcmV0dXJucyB1bmRlZmluZWRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ8U3RyaW5nfSB2YWx1ZSAgICAgICAgTWFzayBwYXR0ZXJuIHZhbHVlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgVmFsaWQgbWFzayBwYXR0ZXJuIG9yIHVuZGVmaW5lZFxuICovXG5leHBvcnRzLmZyb20gPSBmdW5jdGlvbiBmcm9tICh2YWx1ZSkge1xuICByZXR1cm4gZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSA/IHBhcnNlSW50KHZhbHVlLCAxMCkgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4qIEZpbmQgYWRqYWNlbnQgbW9kdWxlcyBpbiByb3cvY29sdW1uIHdpdGggdGhlIHNhbWUgY29sb3JcbiogYW5kIGFzc2lnbiBhIHBlbmFsdHkgdmFsdWUuXG4qXG4qIFBvaW50czogTjEgKyBpXG4qIGkgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgbnVtYmVyIG9mIGFkamFjZW50IG1vZHVsZXMgb2YgdGhlIHNhbWUgY29sb3IgZXhjZWVkcyA1XG4qL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjEgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjEgKGRhdGEpIHtcbiAgY29uc3Qgc2l6ZSA9IGRhdGEuc2l6ZVxuICBsZXQgcG9pbnRzID0gMFxuICBsZXQgc2FtZUNvdW50Q29sID0gMFxuICBsZXQgc2FtZUNvdW50Um93ID0gMFxuICBsZXQgbGFzdENvbCA9IG51bGxcbiAgbGV0IGxhc3RSb3cgPSBudWxsXG5cbiAgZm9yIChsZXQgcm93ID0gMDsgcm93IDwgc2l6ZTsgcm93KyspIHtcbiAgICBzYW1lQ291bnRDb2wgPSBzYW1lQ291bnRSb3cgPSAwXG4gICAgbGFzdENvbCA9IGxhc3RSb3cgPSBudWxsXG5cbiAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBzaXplOyBjb2wrKykge1xuICAgICAgbGV0IG1vZHVsZSA9IGRhdGEuZ2V0KHJvdywgY29sKVxuICAgICAgaWYgKG1vZHVsZSA9PT0gbGFzdENvbCkge1xuICAgICAgICBzYW1lQ291bnRDb2wrK1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNhbWVDb3VudENvbCA+PSA1KSBwb2ludHMgKz0gUGVuYWx0eVNjb3Jlcy5OMSArIChzYW1lQ291bnRDb2wgLSA1KVxuICAgICAgICBsYXN0Q29sID0gbW9kdWxlXG4gICAgICAgIHNhbWVDb3VudENvbCA9IDFcbiAgICAgIH1cblxuICAgICAgbW9kdWxlID0gZGF0YS5nZXQoY29sLCByb3cpXG4gICAgICBpZiAobW9kdWxlID09PSBsYXN0Um93KSB7XG4gICAgICAgIHNhbWVDb3VudFJvdysrXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoc2FtZUNvdW50Um93ID49IDUpIHBvaW50cyArPSBQZW5hbHR5U2NvcmVzLk4xICsgKHNhbWVDb3VudFJvdyAtIDUpXG4gICAgICAgIGxhc3RSb3cgPSBtb2R1bGVcbiAgICAgICAgc2FtZUNvdW50Um93ID0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzYW1lQ291bnRDb2wgPj0gNSkgcG9pbnRzICs9IFBlbmFsdHlTY29yZXMuTjEgKyAoc2FtZUNvdW50Q29sIC0gNSlcbiAgICBpZiAoc2FtZUNvdW50Um93ID49IDUpIHBvaW50cyArPSBQZW5hbHR5U2NvcmVzLk4xICsgKHNhbWVDb3VudFJvdyAtIDUpXG4gIH1cblxuICByZXR1cm4gcG9pbnRzXG59XG5cbi8qKlxuICogRmluZCAyeDIgYmxvY2tzIHdpdGggdGhlIHNhbWUgY29sb3IgYW5kIGFzc2lnbiBhIHBlbmFsdHkgdmFsdWVcbiAqXG4gKiBQb2ludHM6IE4yICogKG0gLSAxKSAqIChuIC0gMSlcbiAqL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjIgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjIgKGRhdGEpIHtcbiAgY29uc3Qgc2l6ZSA9IGRhdGEuc2l6ZVxuICBsZXQgcG9pbnRzID0gMFxuXG4gIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHNpemUgLSAxOyByb3crKykge1xuICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHNpemUgLSAxOyBjb2wrKykge1xuICAgICAgY29uc3QgbGFzdCA9IGRhdGEuZ2V0KHJvdywgY29sKSArXG4gICAgICAgIGRhdGEuZ2V0KHJvdywgY29sICsgMSkgK1xuICAgICAgICBkYXRhLmdldChyb3cgKyAxLCBjb2wpICtcbiAgICAgICAgZGF0YS5nZXQocm93ICsgMSwgY29sICsgMSlcblxuICAgICAgaWYgKGxhc3QgPT09IDQgfHwgbGFzdCA9PT0gMCkgcG9pbnRzKytcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9pbnRzICogUGVuYWx0eVNjb3Jlcy5OMlxufVxuXG4vKipcbiAqIEZpbmQgMToxOjM6MToxIHJhdGlvIChkYXJrOmxpZ2h0OmRhcms6bGlnaHQ6ZGFyaykgcGF0dGVybiBpbiByb3cvY29sdW1uLFxuICogcHJlY2VkZWQgb3IgZm9sbG93ZWQgYnkgbGlnaHQgYXJlYSA0IG1vZHVsZXMgd2lkZVxuICpcbiAqIFBvaW50czogTjMgKiBudW1iZXIgb2YgcGF0dGVybiBmb3VuZFxuICovXG5leHBvcnRzLmdldFBlbmFsdHlOMyA9IGZ1bmN0aW9uIGdldFBlbmFsdHlOMyAoZGF0YSkge1xuICBjb25zdCBzaXplID0gZGF0YS5zaXplXG4gIGxldCBwb2ludHMgPSAwXG4gIGxldCBiaXRzQ29sID0gMFxuICBsZXQgYml0c1JvdyA9IDBcblxuICBmb3IgKGxldCByb3cgPSAwOyByb3cgPCBzaXplOyByb3crKykge1xuICAgIGJpdHNDb2wgPSBiaXRzUm93ID0gMFxuICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHNpemU7IGNvbCsrKSB7XG4gICAgICBiaXRzQ29sID0gKChiaXRzQ29sIDw8IDEpICYgMHg3RkYpIHwgZGF0YS5nZXQocm93LCBjb2wpXG4gICAgICBpZiAoY29sID49IDEwICYmIChiaXRzQ29sID09PSAweDVEMCB8fCBiaXRzQ29sID09PSAweDA1RCkpIHBvaW50cysrXG5cbiAgICAgIGJpdHNSb3cgPSAoKGJpdHNSb3cgPDwgMSkgJiAweDdGRikgfCBkYXRhLmdldChjb2wsIHJvdylcbiAgICAgIGlmIChjb2wgPj0gMTAgJiYgKGJpdHNSb3cgPT09IDB4NUQwIHx8IGJpdHNSb3cgPT09IDB4MDVEKSkgcG9pbnRzKytcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9pbnRzICogUGVuYWx0eVNjb3Jlcy5OM1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBwcm9wb3J0aW9uIG9mIGRhcmsgbW9kdWxlcyBpbiBlbnRpcmUgc3ltYm9sXG4gKlxuICogUG9pbnRzOiBONCAqIGtcbiAqXG4gKiBrIGlzIHRoZSByYXRpbmcgb2YgdGhlIGRldmlhdGlvbiBvZiB0aGUgcHJvcG9ydGlvbiBvZiBkYXJrIG1vZHVsZXNcbiAqIGluIHRoZSBzeW1ib2wgZnJvbSA1MCUgaW4gc3RlcHMgb2YgNSVcbiAqL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjQgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjQgKGRhdGEpIHtcbiAgbGV0IGRhcmtDb3VudCA9IDBcbiAgY29uc3QgbW9kdWxlc0NvdW50ID0gZGF0YS5kYXRhLmxlbmd0aFxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbW9kdWxlc0NvdW50OyBpKyspIGRhcmtDb3VudCArPSBkYXRhLmRhdGFbaV1cblxuICBjb25zdCBrID0gTWF0aC5hYnMoTWF0aC5jZWlsKChkYXJrQ291bnQgKiAxMDAgLyBtb2R1bGVzQ291bnQpIC8gNSkgLSAxMClcblxuICByZXR1cm4gayAqIFBlbmFsdHlTY29yZXMuTjRcbn1cblxuLyoqXG4gKiBSZXR1cm4gbWFzayB2YWx1ZSBhdCBnaXZlbiBwb3NpdGlvblxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gbWFza1BhdHRlcm4gUGF0dGVybiByZWZlcmVuY2UgdmFsdWVcbiAqIEBwYXJhbSAge051bWJlcn0gaSAgICAgICAgICAgUm93XG4gKiBAcGFyYW0gIHtOdW1iZXJ9IGogICAgICAgICAgIENvbHVtblxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICBNYXNrIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGdldE1hc2tBdCAobWFza1BhdHRlcm4sIGksIGopIHtcbiAgc3dpdGNoIChtYXNrUGF0dGVybikge1xuICAgIGNhc2UgZXhwb3J0cy5QYXR0ZXJucy5QQVRURVJOMDAwOiByZXR1cm4gKGkgKyBqKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjAwMTogcmV0dXJuIGkgJSAyID09PSAwXG4gICAgY2FzZSBleHBvcnRzLlBhdHRlcm5zLlBBVFRFUk4wMTA6IHJldHVybiBqICUgMyA9PT0gMFxuICAgIGNhc2UgZXhwb3J0cy5QYXR0ZXJucy5QQVRURVJOMDExOiByZXR1cm4gKGkgKyBqKSAlIDMgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjEwMDogcmV0dXJuIChNYXRoLmZsb29yKGkgLyAyKSArIE1hdGguZmxvb3IoaiAvIDMpKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjEwMTogcmV0dXJuIChpICogaikgJSAyICsgKGkgKiBqKSAlIDMgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjExMDogcmV0dXJuICgoaSAqIGopICUgMiArIChpICogaikgJSAzKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjExMTogcmV0dXJuICgoaSAqIGopICUgMyArIChpICsgaikgJSAyKSAlIDIgPT09IDBcblxuICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcignYmFkIG1hc2tQYXR0ZXJuOicgKyBtYXNrUGF0dGVybilcbiAgfVxufVxuXG4vKipcbiAqIEFwcGx5IGEgbWFzayBwYXR0ZXJuIHRvIGEgQml0TWF0cml4XG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgICBwYXR0ZXJuIFBhdHRlcm4gcmVmZXJlbmNlIG51bWJlclxuICogQHBhcmFtICB7Qml0TWF0cml4fSBkYXRhICAgIEJpdE1hdHJpeCBkYXRhXG4gKi9cbmV4cG9ydHMuYXBwbHlNYXNrID0gZnVuY3Rpb24gYXBwbHlNYXNrIChwYXR0ZXJuLCBkYXRhKSB7XG4gIGNvbnN0IHNpemUgPSBkYXRhLnNpemVcblxuICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBzaXplOyBjb2wrKykge1xuICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHNpemU7IHJvdysrKSB7XG4gICAgICBpZiAoZGF0YS5pc1Jlc2VydmVkKHJvdywgY29sKSkgY29udGludWVcbiAgICAgIGRhdGEueG9yKHJvdywgY29sLCBnZXRNYXNrQXQocGF0dGVybiwgcm93LCBjb2wpKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGJlc3QgbWFzayBwYXR0ZXJuIGZvciBkYXRhXG4gKlxuICogQHBhcmFtICB7Qml0TWF0cml4fSBkYXRhXG4gKiBAcmV0dXJuIHtOdW1iZXJ9IE1hc2sgcGF0dGVybiByZWZlcmVuY2UgbnVtYmVyXG4gKi9cbmV4cG9ydHMuZ2V0QmVzdE1hc2sgPSBmdW5jdGlvbiBnZXRCZXN0TWFzayAoZGF0YSwgc2V0dXBGb3JtYXRGdW5jKSB7XG4gIGNvbnN0IG51bVBhdHRlcm5zID0gT2JqZWN0LmtleXMoZXhwb3J0cy5QYXR0ZXJucykubGVuZ3RoXG4gIGxldCBiZXN0UGF0dGVybiA9IDBcbiAgbGV0IGxvd2VyUGVuYWx0eSA9IEluZmluaXR5XG5cbiAgZm9yIChsZXQgcCA9IDA7IHAgPCBudW1QYXR0ZXJuczsgcCsrKSB7XG4gICAgc2V0dXBGb3JtYXRGdW5jKHApXG4gICAgZXhwb3J0cy5hcHBseU1hc2socCwgZGF0YSlcblxuICAgIC8vIENhbGN1bGF0ZSBwZW5hbHR5XG4gICAgY29uc3QgcGVuYWx0eSA9XG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMShkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMihkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMyhkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlONChkYXRhKVxuXG4gICAgLy8gVW5kbyBwcmV2aW91c2x5IGFwcGxpZWQgbWFza1xuICAgIGV4cG9ydHMuYXBwbHlNYXNrKHAsIGRhdGEpXG5cbiAgICBpZiAocGVuYWx0eSA8IGxvd2VyUGVuYWx0eSkge1xuICAgICAgbG93ZXJQZW5hbHR5ID0gcGVuYWx0eVxuICAgICAgYmVzdFBhdHRlcm4gPSBwXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJlc3RQYXR0ZXJuXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/mask-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/mode.js": -/*!**********************************************!*\ - !*** ./node_modules/qrcode/lib/core/mode.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const VersionCheck = __webpack_require__(/*! ./version-check */ \"./node_modules/qrcode/lib/core/version-check.js\")\nconst Regex = __webpack_require__(/*! ./regex */ \"./node_modules/qrcode/lib/core/regex.js\")\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21vZGUuanMiLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCLG1CQUFPLENBQUMsd0VBQWlCO0FBQzlDLGNBQWMsbUJBQU8sQ0FBQyx3REFBUzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixhQUFhLFNBQVM7QUFDdEI7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEI7QUFDQSxlQUFlO0FBQ2Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxlQUFlO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGFBQWE7QUFDekIsWUFBWSxhQUFhO0FBQ3pCLFlBQVksMEJBQTBCO0FBQ3RDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21vZGUuanM/ODM3YSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBWZXJzaW9uQ2hlY2sgPSByZXF1aXJlKCcuL3ZlcnNpb24tY2hlY2snKVxuY29uc3QgUmVnZXggPSByZXF1aXJlKCcuL3JlZ2V4JylcblxuLyoqXG4gKiBOdW1lcmljIG1vZGUgZW5jb2RlcyBkYXRhIGZyb20gdGhlIGRlY2ltYWwgZGlnaXQgc2V0ICgwIC0gOSlcbiAqIChieXRlIHZhbHVlcyAzMEhFWCB0byAzOUhFWCkuXG4gKiBOb3JtYWxseSwgMyBkYXRhIGNoYXJhY3RlcnMgYXJlIHJlcHJlc2VudGVkIGJ5IDEwIGJpdHMuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0cy5OVU1FUklDID0ge1xuICBpZDogJ051bWVyaWMnLFxuICBiaXQ6IDEgPDwgMCxcbiAgY2NCaXRzOiBbMTAsIDEyLCAxNF1cbn1cblxuLyoqXG4gKiBBbHBoYW51bWVyaWMgbW9kZSBlbmNvZGVzIGRhdGEgZnJvbSBhIHNldCBvZiA0NSBjaGFyYWN0ZXJzLFxuICogaS5lLiAxMCBudW1lcmljIGRpZ2l0cyAoMCAtIDkpLFxuICogICAgICAyNiBhbHBoYWJldGljIGNoYXJhY3RlcnMgKEEgLSBaKSxcbiAqICAgYW5kIDkgc3ltYm9scyAoU1AsICQsICUsICosICssIC0sIC4sIC8sIDopLlxuICogTm9ybWFsbHksIHR3byBpbnB1dCBjaGFyYWN0ZXJzIGFyZSByZXByZXNlbnRlZCBieSAxMSBiaXRzLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuQUxQSEFOVU1FUklDID0ge1xuICBpZDogJ0FscGhhbnVtZXJpYycsXG4gIGJpdDogMSA8PCAxLFxuICBjY0JpdHM6IFs5LCAxMSwgMTNdXG59XG5cbi8qKlxuICogSW4gYnl0ZSBtb2RlLCBkYXRhIGlzIGVuY29kZWQgYXQgOCBiaXRzIHBlciBjaGFyYWN0ZXIuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0cy5CWVRFID0ge1xuICBpZDogJ0J5dGUnLFxuICBiaXQ6IDEgPDwgMixcbiAgY2NCaXRzOiBbOCwgMTYsIDE2XVxufVxuXG4vKipcbiAqIFRoZSBLYW5qaSBtb2RlIGVmZmljaWVudGx5IGVuY29kZXMgS2FuamkgY2hhcmFjdGVycyBpbiBhY2NvcmRhbmNlIHdpdGhcbiAqIHRoZSBTaGlmdCBKSVMgc3lzdGVtIGJhc2VkIG9uIEpJUyBYIDAyMDguXG4gKiBUaGUgU2hpZnQgSklTIHZhbHVlcyBhcmUgc2hpZnRlZCBmcm9tIHRoZSBKSVMgWCAwMjA4IHZhbHVlcy5cbiAqIEpJUyBYIDAyMDggZ2l2ZXMgZGV0YWlscyBvZiB0aGUgc2hpZnQgY29kZWQgcmVwcmVzZW50YXRpb24uXG4gKiBFYWNoIHR3by1ieXRlIGNoYXJhY3RlciB2YWx1ZSBpcyBjb21wYWN0ZWQgdG8gYSAxMy1iaXQgYmluYXJ5IGNvZGV3b3JkLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuS0FOSkkgPSB7XG4gIGlkOiAnS2FuamknLFxuICBiaXQ6IDEgPDwgMyxcbiAgY2NCaXRzOiBbOCwgMTAsIDEyXVxufVxuXG4vKipcbiAqIE1peGVkIG1vZGUgd2lsbCBjb250YWluIGEgc2VxdWVuY2VzIG9mIGRhdGEgaW4gYSBjb21iaW5hdGlvbiBvZiBhbnkgb2ZcbiAqIHRoZSBtb2RlcyBkZXNjcmliZWQgYWJvdmVcbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5leHBvcnRzLk1JWEVEID0ge1xuICBiaXQ6IC0xXG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRvIHN0b3JlIHRoZSBkYXRhIGxlbmd0aFxuICogYWNjb3JkaW5nIHRvIFFSIENvZGUgc3BlY2lmaWNhdGlvbnMuXG4gKlxuICogQHBhcmFtICB7TW9kZX0gICBtb2RlICAgIERhdGEgbW9kZVxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIE51bWJlciBvZiBiaXRzXG4gKi9cbmV4cG9ydHMuZ2V0Q2hhckNvdW50SW5kaWNhdG9yID0gZnVuY3Rpb24gZ2V0Q2hhckNvdW50SW5kaWNhdG9yIChtb2RlLCB2ZXJzaW9uKSB7XG4gIGlmICghbW9kZS5jY0JpdHMpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RlOiAnICsgbW9kZSlcblxuICBpZiAoIVZlcnNpb25DaGVjay5pc1ZhbGlkKHZlcnNpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb246ICcgKyB2ZXJzaW9uKVxuICB9XG5cbiAgaWYgKHZlcnNpb24gPj0gMSAmJiB2ZXJzaW9uIDwgMTApIHJldHVybiBtb2RlLmNjQml0c1swXVxuICBlbHNlIGlmICh2ZXJzaW9uIDwgMjcpIHJldHVybiBtb2RlLmNjQml0c1sxXVxuICByZXR1cm4gbW9kZS5jY0JpdHNbMl1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtb3N0IGVmZmljaWVudCBtb2RlIHRvIHN0b3JlIHRoZSBzcGVjaWZpZWQgZGF0YVxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YVN0ciBJbnB1dCBkYXRhIHN0cmluZ1xuICogQHJldHVybiB7TW9kZX0gICAgICAgICAgIEJlc3QgbW9kZVxuICovXG5leHBvcnRzLmdldEJlc3RNb2RlRm9yRGF0YSA9IGZ1bmN0aW9uIGdldEJlc3RNb2RlRm9yRGF0YSAoZGF0YVN0cikge1xuICBpZiAoUmVnZXgudGVzdE51bWVyaWMoZGF0YVN0cikpIHJldHVybiBleHBvcnRzLk5VTUVSSUNcbiAgZWxzZSBpZiAoUmVnZXgudGVzdEFscGhhbnVtZXJpYyhkYXRhU3RyKSkgcmV0dXJuIGV4cG9ydHMuQUxQSEFOVU1FUklDXG4gIGVsc2UgaWYgKFJlZ2V4LnRlc3RLYW5qaShkYXRhU3RyKSkgcmV0dXJuIGV4cG9ydHMuS0FOSklcbiAgZWxzZSByZXR1cm4gZXhwb3J0cy5CWVRFXG59XG5cbi8qKlxuICogUmV0dXJuIG1vZGUgbmFtZSBhcyBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge01vZGV9IG1vZGUgTW9kZSBvYmplY3RcbiAqIEByZXR1cm5zIHtTdHJpbmd9ICBNb2RlIG5hbWVcbiAqL1xuZXhwb3J0cy50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChtb2RlKSB7XG4gIGlmIChtb2RlICYmIG1vZGUuaWQpIHJldHVybiBtb2RlLmlkXG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RlJylcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBwYXJhbSBpcyBhIHZhbGlkIG1vZGUgb2JqZWN0XG4gKlxuICogQHBhcmFtICAge01vZGV9ICAgIG1vZGUgTW9kZSBvYmplY3RcbiAqIEByZXR1cm5zIHtCb29sZWFufSBUcnVlIGlmIHZhbGlkIG1vZGUsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnRzLmlzVmFsaWQgPSBmdW5jdGlvbiBpc1ZhbGlkIChtb2RlKSB7XG4gIHJldHVybiBtb2RlICYmIG1vZGUuYml0ICYmIG1vZGUuY2NCaXRzXG59XG5cbi8qKlxuICogR2V0IG1vZGUgb2JqZWN0IGZyb20gaXRzIG5hbWVcbiAqXG4gKiBAcGFyYW0gICB7U3RyaW5nfSBzdHJpbmcgTW9kZSBuYW1lXG4gKiBAcmV0dXJucyB7TW9kZX0gICAgICAgICAgTW9kZSBvYmplY3RcbiAqL1xuZnVuY3Rpb24gZnJvbVN0cmluZyAoc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignUGFyYW0gaXMgbm90IGEgc3RyaW5nJylcbiAgfVxuXG4gIGNvbnN0IGxjU3RyID0gc3RyaW5nLnRvTG93ZXJDYXNlKClcblxuICBzd2l0Y2ggKGxjU3RyKSB7XG4gICAgY2FzZSAnbnVtZXJpYyc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5OVU1FUklDXG4gICAgY2FzZSAnYWxwaGFudW1lcmljJzpcbiAgICAgIHJldHVybiBleHBvcnRzLkFMUEhBTlVNRVJJQ1xuICAgIGNhc2UgJ2thbmppJzpcbiAgICAgIHJldHVybiBleHBvcnRzLktBTkpJXG4gICAgY2FzZSAnYnl0ZSc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5CWVRFXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBtb2RlOiAnICsgc3RyaW5nKVxuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBtb2RlIGZyb20gYSB2YWx1ZS5cbiAqIElmIHZhbHVlIGlzIG5vdCBhIHZhbGlkIG1vZGUsIHJldHVybnMgZGVmYXVsdFZhbHVlXG4gKlxuICogQHBhcmFtICB7TW9kZXxTdHJpbmd9IHZhbHVlICAgICAgICBFbmNvZGluZyBtb2RlXG4gKiBAcGFyYW0gIHtNb2RlfSAgICAgICAgZGVmYXVsdFZhbHVlIEZhbGxiYWNrIHZhbHVlXG4gKiBAcmV0dXJuIHtNb2RlfSAgICAgICAgICAgICAgICAgICAgIEVuY29kaW5nIG1vZGVcbiAqL1xuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh2YWx1ZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/mode.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/numeric-data.js": -/*!******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/numeric-data.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL251bWVyaWMtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxhQUFhLG1CQUFPLENBQUMsc0RBQVE7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsMkJBQTJCO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvbnVtZXJpYy1kYXRhLmpzPzJlOGMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTW9kZSA9IHJlcXVpcmUoJy4vbW9kZScpXG5cbmZ1bmN0aW9uIE51bWVyaWNEYXRhIChkYXRhKSB7XG4gIHRoaXMubW9kZSA9IE1vZGUuTlVNRVJJQ1xuICB0aGlzLmRhdGEgPSBkYXRhLnRvU3RyaW5nKClcbn1cblxuTnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gMTAgKiBNYXRoLmZsb29yKGxlbmd0aCAvIDMpICsgKChsZW5ndGggJSAzKSA/ICgobGVuZ3RoICUgMykgKiAzICsgMSkgOiAwKVxufVxuXG5OdW1lcmljRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuTnVtZXJpY0RhdGEucHJvdG90eXBlLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoICgpIHtcbiAgcmV0dXJuIE51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuTnVtZXJpY0RhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKGJpdEJ1ZmZlcikge1xuICBsZXQgaSwgZ3JvdXAsIHZhbHVlXG5cbiAgLy8gVGhlIGlucHV0IGRhdGEgc3RyaW5nIGlzIGRpdmlkZWQgaW50byBncm91cHMgb2YgdGhyZWUgZGlnaXRzLFxuICAvLyBhbmQgZWFjaCBncm91cCBpcyBjb252ZXJ0ZWQgdG8gaXRzIDEwLWJpdCBiaW5hcnkgZXF1aXZhbGVudC5cbiAgZm9yIChpID0gMDsgaSArIDMgPD0gdGhpcy5kYXRhLmxlbmd0aDsgaSArPSAzKSB7XG4gICAgZ3JvdXAgPSB0aGlzLmRhdGEuc3Vic3RyKGksIDMpXG4gICAgdmFsdWUgPSBwYXJzZUludChncm91cCwgMTApXG5cbiAgICBiaXRCdWZmZXIucHV0KHZhbHVlLCAxMClcbiAgfVxuXG4gIC8vIElmIHRoZSBudW1iZXIgb2YgaW5wdXQgZGlnaXRzIGlzIG5vdCBhbiBleGFjdCBtdWx0aXBsZSBvZiB0aHJlZSxcbiAgLy8gdGhlIGZpbmFsIG9uZSBvciB0d28gZGlnaXRzIGFyZSBjb252ZXJ0ZWQgdG8gNCBvciA3IGJpdHMgcmVzcGVjdGl2ZWx5LlxuICBjb25zdCByZW1haW5pbmdOdW0gPSB0aGlzLmRhdGEubGVuZ3RoIC0gaVxuICBpZiAocmVtYWluaW5nTnVtID4gMCkge1xuICAgIGdyb3VwID0gdGhpcy5kYXRhLnN1YnN0cihpKVxuICAgIHZhbHVlID0gcGFyc2VJbnQoZ3JvdXAsIDEwKVxuXG4gICAgYml0QnVmZmVyLnB1dCh2YWx1ZSwgcmVtYWluaW5nTnVtICogMyArIDEpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBOdW1lcmljRGF0YVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/numeric-data.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/polynomial.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/core/polynomial.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const GF = __webpack_require__(/*! ./galois-field */ \"./node_modules/qrcode/lib/core/galois-field.js\")\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3BvbHlub21pYWwuanMiLCJtYXBwaW5ncyI6IkFBQUEsV0FBVyxtQkFBTyxDQUFDLHNFQUFnQjs7QUFFbkM7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksWUFBWTtBQUN4QixZQUFZLGVBQWU7QUFDM0I7QUFDQSxXQUFXO0FBQ1g7O0FBRUEsa0JBQWtCLGVBQWU7QUFDakMsb0JBQW9CLGVBQWU7QUFDbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksWUFBWTtBQUN4QixZQUFZLHFCQUFxQjtBQUNqQztBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBOztBQUVBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxlQUFlO0FBQzNCO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0Esa0JBQWtCLFlBQVk7QUFDOUI7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvcG9seW5vbWlhbC5qcz9iY2JhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEdGID0gcmVxdWlyZSgnLi9nYWxvaXMtZmllbGQnKVxuXG4vKipcbiAqIE11bHRpcGxpZXMgdHdvIHBvbHlub21pYWxzIGluc2lkZSBHYWxvaXMgRmllbGRcbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBwMSBQb2x5bm9taWFsXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBwMiBQb2x5bm9taWFsXG4gKiBAcmV0dXJuIHtVaW50OEFycmF5fSAgICBQcm9kdWN0IG9mIHAxIGFuZCBwMlxuICovXG5leHBvcnRzLm11bCA9IGZ1bmN0aW9uIG11bCAocDEsIHAyKSB7XG4gIGNvbnN0IGNvZWZmID0gbmV3IFVpbnQ4QXJyYXkocDEubGVuZ3RoICsgcDIubGVuZ3RoIC0gMSlcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHAxLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBwMi5sZW5ndGg7IGorKykge1xuICAgICAgY29lZmZbaSArIGpdIF49IEdGLm11bChwMVtpXSwgcDJbal0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvZWZmXG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSByZW1haW5kZXIgb2YgcG9seW5vbWlhbHMgZGl2aXNpb25cbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkaXZpZGVudCBQb2x5bm9taWFsXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkaXZpc29yICBQb2x5bm9taWFsXG4gKiBAcmV0dXJuIHtVaW50OEFycmF5fSAgICAgICAgICBSZW1haW5kZXJcbiAqL1xuZXhwb3J0cy5tb2QgPSBmdW5jdGlvbiBtb2QgKGRpdmlkZW50LCBkaXZpc29yKSB7XG4gIGxldCByZXN1bHQgPSBuZXcgVWludDhBcnJheShkaXZpZGVudClcblxuICB3aGlsZSAoKHJlc3VsdC5sZW5ndGggLSBkaXZpc29yLmxlbmd0aCkgPj0gMCkge1xuICAgIGNvbnN0IGNvZWZmID0gcmVzdWx0WzBdXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpdmlzb3IubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdFtpXSBePSBHRi5tdWwoZGl2aXNvcltpXSwgY29lZmYpXG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIGFsbCB6ZXJvcyBmcm9tIGJ1ZmZlciBoZWFkXG4gICAgbGV0IG9mZnNldCA9IDBcbiAgICB3aGlsZSAob2Zmc2V0IDwgcmVzdWx0Lmxlbmd0aCAmJiByZXN1bHRbb2Zmc2V0XSA9PT0gMCkgb2Zmc2V0KytcbiAgICByZXN1bHQgPSByZXN1bHQuc2xpY2Uob2Zmc2V0KVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGFuIGlycmVkdWNpYmxlIGdlbmVyYXRvciBwb2x5bm9taWFsIG9mIHNwZWNpZmllZCBkZWdyZWVcbiAqICh1c2VkIGJ5IFJlZWQtU29sb21vbiBlbmNvZGVyKVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gZGVncmVlIERlZ3JlZSBvZiB0aGUgZ2VuZXJhdG9yIHBvbHlub21pYWxcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgIEJ1ZmZlciBjb250YWluaW5nIHBvbHlub21pYWwgY29lZmZpY2llbnRzXG4gKi9cbmV4cG9ydHMuZ2VuZXJhdGVFQ1BvbHlub21pYWwgPSBmdW5jdGlvbiBnZW5lcmF0ZUVDUG9seW5vbWlhbCAoZGVncmVlKSB7XG4gIGxldCBwb2x5ID0gbmV3IFVpbnQ4QXJyYXkoWzFdKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlZ3JlZTsgaSsrKSB7XG4gICAgcG9seSA9IGV4cG9ydHMubXVsKHBvbHksIG5ldyBVaW50OEFycmF5KFsxLCBHRi5leHAoaSldKSlcbiAgfVxuXG4gIHJldHVybiBwb2x5XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/polynomial.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/qrcode.js": -/*!************************************************!*\ - !*** ./node_modules/qrcode/lib/core/qrcode.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\nconst ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/qrcode/lib/core/error-correction-level.js\")\nconst BitBuffer = __webpack_require__(/*! ./bit-buffer */ \"./node_modules/qrcode/lib/core/bit-buffer.js\")\nconst BitMatrix = __webpack_require__(/*! ./bit-matrix */ \"./node_modules/qrcode/lib/core/bit-matrix.js\")\nconst AlignmentPattern = __webpack_require__(/*! ./alignment-pattern */ \"./node_modules/qrcode/lib/core/alignment-pattern.js\")\nconst FinderPattern = __webpack_require__(/*! ./finder-pattern */ \"./node_modules/qrcode/lib/core/finder-pattern.js\")\nconst MaskPattern = __webpack_require__(/*! ./mask-pattern */ \"./node_modules/qrcode/lib/core/mask-pattern.js\")\nconst ECCode = __webpack_require__(/*! ./error-correction-code */ \"./node_modules/qrcode/lib/core/error-correction-code.js\")\nconst ReedSolomonEncoder = __webpack_require__(/*! ./reed-solomon-encoder */ \"./node_modules/qrcode/lib/core/reed-solomon-encoder.js\")\nconst Version = __webpack_require__(/*! ./version */ \"./node_modules/qrcode/lib/core/version.js\")\nconst FormatInfo = __webpack_require__(/*! ./format-info */ \"./node_modules/qrcode/lib/core/format-info.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst Segments = __webpack_require__(/*! ./segments */ \"./node_modules/qrcode/lib/core/segments.js\")\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3FyY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsd0RBQVM7QUFDL0IsZ0JBQWdCLG1CQUFPLENBQUMsMEZBQTBCO0FBQ2xELGtCQUFrQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3hDLGtCQUFrQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3hDLHlCQUF5QixtQkFBTyxDQUFDLGdGQUFxQjtBQUN0RCxzQkFBc0IsbUJBQU8sQ0FBQywwRUFBa0I7QUFDaEQsb0JBQW9CLG1CQUFPLENBQUMsc0VBQWdCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyx3RkFBeUI7QUFDaEQsMkJBQTJCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQzNELGdCQUFnQixtQkFBTyxDQUFDLDREQUFXO0FBQ25DLG1CQUFtQixtQkFBTyxDQUFDLG9FQUFlO0FBQzFDLGFBQWEsbUJBQU8sQ0FBQyxzREFBUTtBQUM3QixpQkFBaUIsbUJBQU8sQ0FBQyw4REFBWTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7O0FBRUEscUJBQXFCLFFBQVE7QUFDN0I7O0FBRUEsdUJBQXVCLFFBQVE7QUFDL0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGNBQWM7QUFDaEM7QUFDQTtBQUNBO0FB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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnRUFBZ0U7QUFDaEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0IsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvcXJjb2RlLmpzP2YyYjYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcbmNvbnN0IEVDTGV2ZWwgPSByZXF1aXJlKCcuL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwnKVxuY29uc3QgQml0QnVmZmVyID0gcmVxdWlyZSgnLi9iaXQtYnVmZmVyJylcbmNvbnN0IEJpdE1hdHJpeCA9IHJlcXVpcmUoJy4vYml0LW1hdHJpeCcpXG5jb25zdCBBbGlnbm1lbnRQYXR0ZXJuID0gcmVxdWlyZSgnLi9hbGlnbm1lbnQtcGF0dGVybicpXG5jb25zdCBGaW5kZXJQYXR0ZXJuID0gcmVxdWlyZSgnLi9maW5kZXItcGF0dGVybicpXG5jb25zdCBNYXNrUGF0dGVybiA9IHJlcXVpcmUoJy4vbWFzay1wYXR0ZXJuJylcbmNvbnN0IEVDQ29kZSA9IHJlcXVpcmUoJy4vZXJyb3ItY29ycmVjdGlvbi1jb2RlJylcbmNvbnN0IFJlZWRTb2xvbW9uRW5jb2RlciA9IHJlcXVpcmUoJy4vcmVlZC1zb2xvbW9uLWVuY29kZXInKVxuY29uc3QgVmVyc2lvbiA9IHJlcXVpcmUoJy4vdmVyc2lvbicpXG5jb25zdCBGb3JtYXRJbmZvID0gcmVxdWlyZSgnLi9mb3JtYXQtaW5mbycpXG5jb25zdCBNb2RlID0gcmVxdWlyZSgnLi9tb2RlJylcbmNvbnN0IFNlZ21lbnRzID0gcmVxdWlyZSgnLi9zZWdtZW50cycpXG5cbi8qKlxuICogUVJDb2RlIGZvciBKYXZhU2NyaXB0XG4gKlxuICogbW9kaWZpZWQgYnkgUnlhbiBEYXkgZm9yIG5vZGVqcyBzdXBwb3J0XG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEgUnlhbiBEYXlcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6XG4gKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gKlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFFSQ29kZSBmb3IgSmF2YVNjcmlwdFxuLy9cbi8vIENvcHlyaWdodCAoYykgMjAwOSBLYXp1aGlrbyBBcmFzZVxuLy9cbi8vIFVSTDogaHR0cDovL3d3dy5kLXByb2plY3QuY29tL1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZTpcbi8vICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbi8vXG4vLyBUaGUgd29yZCBcIlFSIENvZGVcIiBpcyByZWdpc3RlcmVkIHRyYWRlbWFyayBvZlxuLy8gREVOU08gV0FWRSBJTkNPUlBPUkFURURcbi8vICAgaHR0cDovL3d3dy5kZW5zby13YXZlLmNvbS9xcmNvZGUvZmFxcGF0ZW50LWUuaHRtbFxuLy9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiAqIEFkZCBmaW5kZXIgcGF0dGVybnMgYml0cyB0byBtYXRyaXhcbiAqXG4gKiBAcGFyYW0gIHtCaXRNYXRyaXh9IG1hdHJpeCAgTW9kdWxlcyBtYXRyaXhcbiAqIEBwYXJhbSAge051bWJlcn0gICAgdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqL1xuZnVuY3Rpb24gc2V0dXBGaW5kZXJQYXR0ZXJuIChtYXRyaXgsIHZlcnNpb24pIHtcbiAgY29uc3Qgc2l6ZSA9IG1hdHJpeC5zaXplXG4gIGNvbnN0IHBvcyA9IEZpbmRlclBhdHRlcm4uZ2V0UG9zaXRpb25zKHZlcnNpb24pXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3MubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByb3cgPSBwb3NbaV1bMF1cbiAgICBjb25zdCBjb2wgPSBwb3NbaV1bMV1cblxuICAgIGZvciAobGV0IHIgPSAtMTsgciA8PSA3OyByKyspIHtcbiAgICAgIGlmIChyb3cgKyByIDw9IC0xIHx8IHNpemUgPD0gcm93ICsgcikgY29udGludWVcblxuICAgICAgZm9yIChsZXQgYyA9IC0xOyBjIDw9IDc7IGMrKykge1xuICAgICAgICBpZiAoY29sICsgYyA8PSAtMSB8fCBzaXplIDw9IGNvbCArIGMpIGNvbnRpbnVlXG5cbiAgICAgICAgaWYgKChyID49IDAgJiYgciA8PSA2ICYmIChjID09PSAwIHx8IGMgPT09IDYpKSB8fFxuICAgICAgICAgIChjID49IDAgJiYgYyA8PSA2ICYmIChyID09PSAwIHx8IHIgPT09IDYpKSB8fFxuICAgICAgICAgIChyID49IDIgJiYgciA8PSA0ICYmIGMgPj0gMiAmJiBjIDw9IDQpKSB7XG4gICAgICAgICAgbWF0cml4LnNldChyb3cgKyByLCBjb2wgKyBjLCB0cnVlLCB0cnVlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hdHJpeC5zZXQocm93ICsgciwgY29sICsgYywgZmFsc2UsIHRydWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgdGltaW5nIHBhdHRlcm4gYml0cyB0byBtYXRyaXhcbiAqXG4gKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSB7QGxpbmsgc2V0dXBBbGlnbm1lbnRQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4IE1vZHVsZXMgbWF0cml4XG4gKi9cbmZ1bmN0aW9uIHNldHVwVGltaW5nUGF0dGVybiAobWF0cml4KSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuXG4gIGZvciAobGV0IHIgPSA4OyByIDwgc2l6ZSAtIDg7IHIrKykge1xuICAgIGNvbnN0IHZhbHVlID0gciAlIDIgPT09IDBcbiAgICBtYXRyaXguc2V0KHIsIDYsIHZhbHVlLCB0cnVlKVxuICAgIG1hdHJpeC5zZXQoNiwgciwgdmFsdWUsIHRydWUpXG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgYWxpZ25tZW50IHBhdHRlcm5zIGJpdHMgdG8gbWF0cml4XG4gKlxuICogTm90ZTogdGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBhZnRlciB7QGxpbmsgc2V0dXBUaW1pbmdQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4ICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7TnVtYmVyfSAgICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICovXG5mdW5jdGlvbiBzZXR1cEFsaWdubWVudFBhdHRlcm4gKG1hdHJpeCwgdmVyc2lvbikge1xuICBjb25zdCBwb3MgPSBBbGlnbm1lbnRQYXR0ZXJuLmdldFBvc2l0aW9ucyh2ZXJzaW9uKVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcG9zLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgcm93ID0gcG9zW2ldWzBdXG4gICAgY29uc3QgY29sID0gcG9zW2ldWzFdXG5cbiAgICBmb3IgKGxldCByID0gLTI7IHIgPD0gMjsgcisrKSB7XG4gICAgICBmb3IgKGxldCBjID0gLTI7IGMgPD0gMjsgYysrKSB7XG4gICAgICAgIGlmIChyID09PSAtMiB8fCByID09PSAyIHx8IGMgPT09IC0yIHx8IGMgPT09IDIgfHxcbiAgICAgICAgICAociA9PT0gMCAmJiBjID09PSAwKSkge1xuICAgICAgICAgIG1hdHJpeC5zZXQocm93ICsgciwgY29sICsgYywgdHJ1ZSwgdHJ1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXRyaXguc2V0KHJvdyArIHIsIGNvbCArIGMsIGZhbHNlLCB0cnVlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWRkIHZlcnNpb24gaW5mbyBiaXRzIHRvIG1hdHJpeFxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4ICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7TnVtYmVyfSAgICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICovXG5mdW5jdGlvbiBzZXR1cFZlcnNpb25JbmZvIChtYXRyaXgsIHZlcnNpb24pIHtcbiAgY29uc3Qgc2l6ZSA9IG1hdHJpeC5zaXplXG4gIGNvbnN0IGJpdHMgPSBWZXJzaW9uLmdldEVuY29kZWRCaXRzKHZlcnNpb24pXG4gIGxldCByb3csIGNvbCwgbW9kXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCAxODsgaSsrKSB7XG4gICAgcm93ID0gTWF0aC5mbG9vcihpIC8gMylcbiAgICBjb2wgPSBpICUgMyArIHNpemUgLSA4IC0gM1xuICAgIG1vZCA9ICgoYml0cyA+PiBpKSAmIDEpID09PSAxXG5cbiAgICBtYXRyaXguc2V0KHJvdywgY29sLCBtb2QsIHRydWUpXG4gICAgbWF0cml4LnNldChjb2wsIHJvdywgbW9kLCB0cnVlKVxuICB9XG59XG5cbi8qKlxuICogQWRkIGZvcm1hdCBpbmZvIGJpdHMgdG8gbWF0cml4XG4gKlxuICogQHBhcmFtICB7Qml0TWF0cml4fSBtYXRyaXggICAgICAgICAgICAgICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7RXJyb3JDb3JyZWN0aW9uTGV2ZWx9ICAgIGVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICAgbWFza1BhdHRlcm4gICAgICAgICAgTWFzayBwYXR0ZXJuIHJlZmVyZW5jZSB2YWx1ZVxuICovXG5mdW5jdGlvbiBzZXR1cEZvcm1hdEluZm8gKG1hdHJpeCwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1hc2tQYXR0ZXJuKSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuICBjb25zdCBiaXRzID0gRm9ybWF0SW5mby5nZXRFbmNvZGVkQml0cyhlcnJvckNvcnJlY3Rpb25MZXZlbCwgbWFza1BhdHRlcm4pXG4gIGxldCBpLCBtb2RcblxuICBmb3IgKGkgPSAwOyBpIDwgMTU7IGkrKykge1xuICAgIG1vZCA9ICgoYml0cyA+PiBpKSAmIDEpID09PSAxXG5cbiAgICAvLyB2ZXJ0aWNhbFxuICAgIGlmIChpIDwgNikge1xuICAgICAgbWF0cml4LnNldChpLCA4LCBtb2QsIHRydWUpXG4gICAgfSBlbHNlIGlmIChpIDwgOCkge1xuICAgICAgbWF0cml4LnNldChpICsgMSwgOCwgbW9kLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBtYXRyaXguc2V0KHNpemUgLSAxNSArIGksIDgsIG1vZCwgdHJ1ZSlcbiAgICB9XG5cbiAgICAvLyBob3Jpem9udGFsXG4gICAgaWYgKGkgPCA4KSB7XG4gICAgICBtYXRyaXguc2V0KDgsIHNpemUgLSBpIC0gMSwgbW9kLCB0cnVlKVxuICAgIH0gZWxzZSBpZiAoaSA8IDkpIHtcbiAgICAgIG1hdHJpeC5zZXQoOCwgMTUgLSBpIC0gMSArIDEsIG1vZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgbWF0cml4LnNldCg4LCAxNSAtIGkgLSAxLCBtb2QsIHRydWUpXG4gICAgfVxuICB9XG5cbiAgLy8gZml4ZWQgbW9kdWxlXG4gIG1hdHJpeC5zZXQoc2l6ZSAtIDgsIDgsIDEsIHRydWUpXG59XG5cbi8qKlxuICogQWRkIGVuY29kZWQgZGF0YSBiaXRzIHRvIG1hdHJpeFxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gIG1hdHJpeCBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7VWludDhBcnJheX0gZGF0YSAgIERhdGEgY29kZXdvcmRzXG4gKi9cbmZ1bmN0aW9uIHNldHVwRGF0YSAobWF0cml4LCBkYXRhKSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuICBsZXQgaW5jID0gLTFcbiAgbGV0IHJvdyA9IHNpemUgLSAxXG4gIGxldCBiaXRJbmRleCA9IDdcbiAgbGV0IGJ5dGVJbmRleCA9IDBcblxuICBmb3IgKGxldCBjb2wgPSBzaXplIC0gMTsgY29sID4gMDsgY29sIC09IDIpIHtcbiAgICBpZiAoY29sID09PSA2KSBjb2wtLVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgMjsgYysrKSB7XG4gICAgICAgIGlmICghbWF0cml4LmlzUmVzZXJ2ZWQocm93LCBjb2wgLSBjKSkge1xuICAgICAgICAgIGxldCBkYXJrID0gZmFsc2VcblxuICAgICAgICAgIGlmIChieXRlSW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZGFyayA9ICgoKGRhdGFbYnl0ZUluZGV4XSA+Pj4gYml0SW5kZXgpICYgMSkgPT09IDEpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWF0cml4LnNldChyb3csIGNvbCAtIGMsIGRhcmspXG4gICAgICAgICAgYml0SW5kZXgtLVxuXG4gICAgICAgICAgaWYgKGJpdEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgYnl0ZUluZGV4KytcbiAgICAgICAgICAgIGJpdEluZGV4ID0gN1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByb3cgKz0gaW5jXG5cbiAgICAgIGlmIChyb3cgPCAwIHx8IHNpemUgPD0gcm93KSB7XG4gICAgICAgIHJvdyAtPSBpbmNcbiAgICAgICAgaW5jID0gLWluY1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZSBlbmNvZGVkIGNvZGV3b3JkcyBmcm9tIGRhdGEgaW5wdXRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcGFyYW0gIHtFcnJvckNvcnJlY3Rpb25MZXZlbH0gICBlcnJvckNvcnJlY3Rpb25MZXZlbCBFcnJvciBjb3JyZWN0aW9uIGxldmVsXG4gKiBAcGFyYW0gIHtCeXRlRGF0YX0gZGF0YSAgICAgICAgICAgICAgICAgRGF0YSBpbnB1dFxuICogQHJldHVybiB7VWludDhBcnJheX0gICAgICAgICAgICAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIGVuY29kZWQgY29kZXdvcmRzXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURhdGEgKHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsLCBzZWdtZW50cykge1xuICAvLyBQcmVwYXJlIGRhdGEgYnVmZmVyXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBCaXRCdWZmZXIoKVxuXG4gIHNlZ21lbnRzLmZvckVhY2goZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAvLyBwcmVmaXggZGF0YSB3aXRoIG1vZGUgaW5kaWNhdG9yICg0IGJpdHMpXG4gICAgYnVmZmVyLnB1dChkYXRhLm1vZGUuYml0LCA0KVxuXG4gICAgLy8gUHJlZml4IGRhdGEgd2l0aCBjaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yLlxuICAgIC8vIFRoZSBjaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yIGlzIGEgc3RyaW5nIG9mIGJpdHMgdGhhdCByZXByZXNlbnRzIHRoZVxuICAgIC8vIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIGJlaW5nIGVuY29kZWQuXG4gICAgLy8gVGhlIGNoYXJhY3RlciBjb3VudCBpbmRpY2F0b3IgbXVzdCBiZSBwbGFjZWQgYWZ0ZXIgdGhlIG1vZGUgaW5kaWNhdG9yXG4gICAgLy8gYW5kIG11c3QgYmUgYSBjZXJ0YWluIG51bWJlciBvZiBiaXRzIGxvbmcsIGRlcGVuZGluZyBvbiB0aGUgUVIgdmVyc2lvblxuICAgIC8vIGFuZCBkYXRhIG1vZGVcbiAgICAvLyBAc2VlIHtAbGluayBNb2RlLmdldENoYXJDb3VudEluZGljYXRvcn0uXG4gICAgYnVmZmVyLnB1dChkYXRhLmdldExlbmd0aCgpLCBNb2RlLmdldENoYXJDb3VudEluZGljYXRvcihkYXRhLm1vZGUsIHZlcnNpb24pKVxuXG4gICAgLy8gYWRkIGJpbmFyeSBkYXRhIHNlcXVlbmNlIHRvIGJ1ZmZlclxuICAgIGRhdGEud3JpdGUoYnVmZmVyKVxuICB9KVxuXG4gIC8vIENhbGN1bGF0ZSByZXF1aXJlZCBudW1iZXIgb2YgYml0c1xuICBjb25zdCB0b3RhbENvZGV3b3JkcyA9IFV0aWxzLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHZlcnNpb24pXG4gIGNvbnN0IGVjVG90YWxDb2Rld29yZHMgPSBFQ0NvZGUuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcbiAgY29uc3QgZGF0YVRvdGFsQ29kZXdvcmRzQml0cyA9ICh0b3RhbENvZGV3b3JkcyAtIGVjVG90YWxDb2Rld29yZHMpICogOFxuXG4gIC8vIEFkZCBhIHRlcm1pbmF0b3IuXG4gIC8vIElmIHRoZSBiaXQgc3RyaW5nIGlzIHNob3J0ZXIgdGhhbiB0aGUgdG90YWwgbnVtYmVyIG9mIHJlcXVpcmVkIGJpdHMsXG4gIC8vIGEgdGVybWluYXRvciBvZiB1cCB0byBmb3VyIDBzIG11c3QgYmUgYWRkZWQgdG8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHN0cmluZy5cbiAgLy8gSWYgdGhlIGJpdCBzdHJpbmcgaXMgbW9yZSB0aGFuIGZvdXIgYml0cyBzaG9ydGVyIHRoYW4gdGhlIHJlcXVpcmVkIG51bWJlciBvZiBiaXRzLFxuICAvLyBhZGQgZm91ciAwcyB0byB0aGUgZW5kLlxuICBpZiAoYnVmZmVyLmdldExlbmd0aEluQml0cygpICsgNCA8PSBkYXRhVG90YWxDb2Rld29yZHNCaXRzKSB7XG4gICAgYnVmZmVyLnB1dCgwLCA0KVxuICB9XG5cbiAgLy8gSWYgdGhlIGJpdCBzdHJpbmcgaXMgZmV3ZXIgdGhhbiBmb3VyIGJpdHMgc2hvcnRlciwgYWRkIG9ubHkgdGhlIG51bWJlciBvZiAwcyB0aGF0XG4gIC8vIGFyZSBuZWVkZWQgdG8gcmVhY2ggdGhlIHJlcXVpcmVkIG51bWJlciBvZiBiaXRzLlxuXG4gIC8vIEFmdGVyIGFkZGluZyB0aGUgdGVybWluYXRvciwgaWYgdGhlIG51bWJlciBvZiBiaXRzIGluIHRoZSBzdHJpbmcgaXMgbm90IGEgbXVsdGlwbGUgb2YgOCxcbiAgLy8gcGFkIHRoZSBzdHJpbmcgb24gdGhlIHJpZ2h0IHdpdGggMHMgdG8gbWFrZSB0aGUgc3RyaW5nJ3MgbGVuZ3RoIGEgbXVsdGlwbGUgb2YgOC5cbiAgd2hpbGUgKGJ1ZmZlci5nZXRMZW5ndGhJbkJpdHMoKSAlIDggIT09IDApIHtcbiAgICBidWZmZXIucHV0Qml0KDApXG4gIH1cblxuICAvLyBBZGQgcGFkIGJ5dGVzIGlmIHRoZSBzdHJpbmcgaXMgc3RpbGwgc2hvcnRlciB0aGFuIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVxdWlyZWQgYml0cy5cbiAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgdG8gZmlsbCB0aGUgZGF0YSBjYXBhY2l0eSBvZiB0aGUgc3ltYm9sIGNvcnJlc3BvbmRpbmcgdG9cbiAgLy8gdGhlIFZlcnNpb24gYW5kIEVycm9yIENvcnJlY3Rpb24gTGV2ZWwgYnkgYWRkaW5nIHRoZSBQYWQgQ29kZXdvcmRzIDExMTAxMTAwICgweEVDKVxuICAvLyBhbmQgMDAwMTAwMDEgKDB4MTEpIGFsdGVybmF0ZWx5LlxuICBjb25zdCByZW1haW5pbmdCeXRlID0gKGRhdGFUb3RhbENvZGV3b3Jkc0JpdHMgLSBidWZmZXIuZ2V0TGVuZ3RoSW5CaXRzKCkpIC8gOFxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbWFpbmluZ0J5dGU7IGkrKykge1xuICAgIGJ1ZmZlci5wdXQoaSAlIDIgPyAweDExIDogMHhFQywgOClcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVDb2Rld29yZHMoYnVmZmVyLCB2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcbn1cblxuLyoqXG4gKiBFbmNvZGUgaW5wdXQgZGF0YSB3aXRoIFJlZWQtU29sb21vbiBhbmQgcmV0dXJuIGNvZGV3b3JkcyB3aXRoXG4gKiByZWxhdGl2ZSBlcnJvciBjb3JyZWN0aW9uIGJpdHNcbiAqXG4gKiBAcGFyYW0gIHtCaXRCdWZmZXJ9IGJpdEJ1ZmZlciAgICAgICAgICAgIERhdGEgdG8gZW5jb2RlXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgIHZlcnNpb24gICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvblxuICogQHBhcmFtICB7RXJyb3JDb3JyZWN0aW9uTGV2ZWx9IGVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBjb2Rld29yZHNcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ29kZXdvcmRzIChiaXRCdWZmZXIsIHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XG4gIC8vIFRvdGFsIGNvZGV3b3JkcyBmb3IgdGhpcyBRUiBjb2RlIHZlcnNpb24gKERhdGEgKyBFcnJvciBjb3JyZWN0aW9uKVxuICBjb25zdCB0b3RhbENvZGV3b3JkcyA9IFV0aWxzLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHZlcnNpb24pXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGVycm9yIGNvcnJlY3Rpb24gY29kZXdvcmRzXG4gIGNvbnN0IGVjVG90YWxDb2Rld29yZHMgPSBFQ0NvZGUuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcblxuICAvLyBUb3RhbCBudW1iZXIgb2YgZGF0YSBjb2Rld29yZHNcbiAgY29uc3QgZGF0YVRvdGFsQ29kZXdvcmRzID0gdG90YWxDb2Rld29yZHMgLSBlY1RvdGFsQ29kZXdvcmRzXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGJsb2Nrc1xuICBjb25zdCBlY1RvdGFsQmxvY2tzID0gRUNDb2RlLmdldEJsb2Nrc0NvdW50KHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsKVxuXG4gIC8vIENhbGN1bGF0ZSBob3cgbWFueSBibG9ja3MgZWFjaCBncm91cCBzaG91bGQgY29udGFpblxuICBjb25zdCBibG9ja3NJbkdyb3VwMiA9IHRvdGFsQ29kZXdvcmRzICUgZWNUb3RhbEJsb2Nrc1xuICBjb25zdCBibG9ja3NJbkdyb3VwMSA9IGVjVG90YWxCbG9ja3MgLSBibG9ja3NJbkdyb3VwMlxuXG4gIGNvbnN0IHRvdGFsQ29kZXdvcmRzSW5Hcm91cDEgPSBNYXRoLmZsb29yKHRvdGFsQ29kZXdvcmRzIC8gZWNUb3RhbEJsb2NrcylcblxuICBjb25zdCBkYXRhQ29kZXdvcmRzSW5Hcm91cDEgPSBNYXRoLmZsb29yKGRhdGFUb3RhbENvZGV3b3JkcyAvIGVjVG90YWxCbG9ja3MpXG4gIGNvbnN0IGRhdGFDb2Rld29yZHNJbkdyb3VwMiA9IGRhdGFDb2Rld29yZHNJbkdyb3VwMSArIDFcblxuICAvLyBOdW1iZXIgb2YgRUMgY29kZXdvcmRzIGlzIHRoZSBzYW1lIGZvciBib3RoIGdyb3Vwc1xuICBjb25zdCBlY0NvdW50ID0gdG90YWxDb2Rld29yZHNJbkdyb3VwMSAtIGRhdGFDb2Rld29yZHNJbkdyb3VwMVxuXG4gIC8vIEluaXRpYWxpemUgYSBSZWVkLVNvbG9tb24gZW5jb2RlciB3aXRoIGEgZ2VuZXJhdG9yIHBvbHlub21pYWwgb2YgZGVncmVlIGVjQ291bnRcbiAgY29uc3QgcnMgPSBuZXcgUmVlZFNvbG9tb25FbmNvZGVyKGVjQ291bnQpXG5cbiAgbGV0IG9mZnNldCA9IDBcbiAgY29uc3QgZGNEYXRhID0gbmV3IEFycmF5KGVjVG90YWxCbG9ja3MpXG4gIGNvbnN0IGVjRGF0YSA9IG5ldyBBcnJheShlY1RvdGFsQmxvY2tzKVxuICBsZXQgbWF4RGF0YVNpemUgPSAwXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJpdEJ1ZmZlci5idWZmZXIpXG5cbiAgLy8gRGl2aWRlIHRoZSBidWZmZXIgaW50byB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGJsb2Nrc1xuICBmb3IgKGxldCBiID0gMDsgYiA8IGVjVG90YWxCbG9ja3M7IGIrKykge1xuICAgIGNvbnN0IGRhdGFTaXplID0gYiA8IGJsb2Nrc0luR3JvdXAxID8gZGF0YUNvZGV3b3Jkc0luR3JvdXAxIDogZGF0YUNvZGV3b3Jkc0luR3JvdXAyXG5cbiAgICAvLyBleHRyYWN0IGEgYmxvY2sgb2YgZGF0YSBmcm9tIGJ1ZmZlclxuICAgIGRjRGF0YVtiXSA9IGJ1ZmZlci5zbGljZShvZmZzZXQsIG9mZnNldCArIGRhdGFTaXplKVxuXG4gICAgLy8gQ2FsY3VsYXRlIEVDIGNvZGV3b3JkcyBmb3IgdGhpcyBkYXRhIGJsb2NrXG4gICAgZWNEYXRhW2JdID0gcnMuZW5jb2RlKGRjRGF0YVtiXSlcblxuICAgIG9mZnNldCArPSBkYXRhU2l6ZVxuICAgIG1heERhdGFTaXplID0gTWF0aC5tYXgobWF4RGF0YVNpemUsIGRhdGFTaXplKVxuICB9XG5cbiAgLy8gQ3JlYXRlIGZpbmFsIGRhdGFcbiAgLy8gSW50ZXJsZWF2ZSB0aGUgZGF0YSBhbmQgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgZnJvbSBlYWNoIGJsb2NrXG4gIGNvbnN0IGRhdGEgPSBuZXcgVWludDhBcnJheSh0b3RhbENvZGV3b3JkcylcbiAgbGV0IGluZGV4ID0gMFxuICBsZXQgaSwgclxuXG4gIC8vIEFkZCBkYXRhIGNvZGV3b3Jkc1xuICBmb3IgKGkgPSAwOyBpIDwgbWF4RGF0YVNpemU7IGkrKykge1xuICAgIGZvciAociA9IDA7IHIgPCBlY1RvdGFsQmxvY2tzOyByKyspIHtcbiAgICAgIGlmIChpIDwgZGNEYXRhW3JdLmxlbmd0aCkge1xuICAgICAgICBkYXRhW2luZGV4KytdID0gZGNEYXRhW3JdW2ldXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwZWQgRUMgY29kZXdvcmRzXG4gIGZvciAoaSA9IDA7IGkgPCBlY0NvdW50OyBpKyspIHtcbiAgICBmb3IgKHIgPSAwOyByIDwgZWNUb3RhbEJsb2NrczsgcisrKSB7XG4gICAgICBkYXRhW2luZGV4KytdID0gZWNEYXRhW3JdW2ldXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGFcbn1cblxuLyoqXG4gKiBCdWlsZCBRUiBDb2RlIHN5bWJvbFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YSAgICAgICAgICAgICAgICAgSW5wdXQgc3RyaW5nXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvblxuICogQHBhcmFtICB7RXJyb3JDb3JyZXRpb25MZXZlbH0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgbGV2ZWxcbiAqIEBwYXJhbSAge01hc2tQYXR0ZXJufSBtYXNrUGF0dGVybiAgICAgTWFzayBwYXR0ZXJuXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICAgICAgICAgICAgIE9iamVjdCBjb250YWluaW5nIHN5bWJvbCBkYXRhXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVN5bWJvbCAoZGF0YSwgdmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1hc2tQYXR0ZXJuKSB7XG4gIGxldCBzZWdtZW50c1xuXG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgc2VnbWVudHMgPSBTZWdtZW50cy5mcm9tQXJyYXkoZGF0YSlcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICBsZXQgZXN0aW1hdGVkVmVyc2lvbiA9IHZlcnNpb25cblxuICAgIGlmICghZXN0aW1hdGVkVmVyc2lvbikge1xuICAgICAgY29uc3QgcmF3U2VnbWVudHMgPSBTZWdtZW50cy5yYXdTcGxpdChkYXRhKVxuXG4gICAgICAvLyBFc3RpbWF0ZSBiZXN0IHZlcnNpb24gdGhhdCBjYW4gY29udGFpbiByYXcgc3BsaXR0ZWQgc2VnbWVudHNcbiAgICAgIGVzdGltYXRlZFZlcnNpb24gPSBWZXJzaW9uLmdldEJlc3RWZXJzaW9uRm9yRGF0YShyYXdTZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG4gICAgfVxuXG4gICAgLy8gQnVpbGQgb3B0aW1pemVkIHNlZ21lbnRzXG4gICAgLy8gSWYgZXN0aW1hdGVkIHZlcnNpb24gaXMgdW5kZWZpbmVkLCB0cnkgd2l0aCB0aGUgaGlnaGVzdCB2ZXJzaW9uXG4gICAgc2VnbWVudHMgPSBTZWdtZW50cy5mcm9tU3RyaW5nKGRhdGEsIGVzdGltYXRlZFZlcnNpb24gfHwgNDApXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKVxuICB9XG5cbiAgLy8gR2V0IHRoZSBtaW4gdmVyc2lvbiB0aGF0IGNhbiBjb250YWluIGRhdGFcbiAgY29uc3QgYmVzdFZlcnNpb24gPSBWZXJzaW9uLmdldEJlc3RWZXJzaW9uRm9yRGF0YShzZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG5cbiAgLy8gSWYgbm8gdmVyc2lvbiBpcyBmb3VuZCwgZGF0YSBjYW5ub3QgYmUgc3RvcmVkXG4gIGlmICghYmVzdFZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhbW91bnQgb2YgZGF0YSBpcyB0b28gYmlnIHRvIGJlIHN0b3JlZCBpbiBhIFFSIENvZGUnKVxuICB9XG5cbiAgLy8gSWYgbm90IHNwZWNpZmllZCwgdXNlIG1pbiB2ZXJzaW9uIGFzIGRlZmF1bHRcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgdmVyc2lvbiA9IGJlc3RWZXJzaW9uXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNwZWNpZmllZCB2ZXJzaW9uIGNhbiBjb250YWluIHRoZSBkYXRhXG4gIH0gZWxzZSBpZiAodmVyc2lvbiA8IGJlc3RWZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcXG4nICtcbiAgICAgICdUaGUgY2hvc2VuIFFSIENvZGUgdmVyc2lvbiBjYW5ub3QgY29udGFpbiB0aGlzIGFtb3VudCBvZiBkYXRhLlxcbicgK1xuICAgICAgJ01pbmltdW0gdmVyc2lvbiByZXF1aXJlZCB0byBzdG9yZSBjdXJyZW50IGRhdGEgaXM6ICcgKyBiZXN0VmVyc2lvbiArICcuXFxuJ1xuICAgIClcbiAgfVxuXG4gIGNvbnN0IGRhdGFCaXRzID0gY3JlYXRlRGF0YSh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgc2VnbWVudHMpXG5cbiAgLy8gQWxsb2NhdGUgbWF0cml4IGJ1ZmZlclxuICBjb25zdCBtb2R1bGVDb3VudCA9IFV0aWxzLmdldFN5bWJvbFNpemUodmVyc2lvbilcbiAgY29uc3QgbW9kdWxlcyA9IG5ldyBCaXRNYXRyaXgobW9kdWxlQ291bnQpXG5cbiAgLy8gQWRkIGZ1bmN0aW9uIG1vZHVsZXNcbiAgc2V0dXBGaW5kZXJQYXR0ZXJuKG1vZHVsZXMsIHZlcnNpb24pXG4gIHNldHVwVGltaW5nUGF0dGVybihtb2R1bGVzKVxuICBzZXR1cEFsaWdubWVudFBhdHRlcm4obW9kdWxlcywgdmVyc2lvbilcblxuICAvLyBBZGQgdGVtcG9yYXJ5IGR1bW15IGJpdHMgZm9yIGZvcm1hdCBpbmZvIGp1c3QgdG8gc2V0IHRoZW0gYXMgcmVzZXJ2ZWQuXG4gIC8vIFRoaXMgaXMgbmVlZGVkIHRvIHByZXZlbnQgdGhlc2UgYml0cyBmcm9tIGJlaW5nIG1hc2tlZCBieSB7QGxpbmsgTWFza1BhdHRlcm4uYXBwbHlNYXNrfVxuICAvLyBzaW5jZSB0aGUgbWFza2luZyBvcGVyYXRpb24gbXVzdCBiZSBwZXJmb3JtZWQgb25seSBvbiB0aGUgZW5jb2RpbmcgcmVnaW9uLlxuICAvLyBUaGVzZSBibG9ja3Mgd2lsbCBiZSByZXBsYWNlZCB3aXRoIGNvcnJlY3QgdmFsdWVzIGxhdGVyIGluIGNvZGUuXG4gIHNldHVwRm9ybWF0SW5mbyhtb2R1bGVzLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgMClcblxuICBpZiAodmVyc2lvbiA+PSA3KSB7XG4gICAgc2V0dXBWZXJzaW9uSW5mbyhtb2R1bGVzLCB2ZXJzaW9uKVxuICB9XG5cbiAgLy8gQWRkIGRhdGEgY29kZXdvcmRzXG4gIHNldHVwRGF0YShtb2R1bGVzLCBkYXRhQml0cylcblxuICBpZiAoaXNOYU4obWFza1BhdHRlcm4pKSB7XG4gICAgLy8gRmluZCBiZXN0IG1hc2sgcGF0dGVyblxuICAgIG1hc2tQYXR0ZXJuID0gTWFza1BhdHRlcm4uZ2V0QmVzdE1hc2sobW9kdWxlcyxcbiAgICAgIHNldHVwRm9ybWF0SW5mby5iaW5kKG51bGwsIG1vZHVsZXMsIGVycm9yQ29ycmVjdGlvbkxldmVsKSlcbiAgfVxuXG4gIC8vIEFwcGx5IG1hc2sgcGF0dGVyblxuICBNYXNrUGF0dGVybi5hcHBseU1hc2sobWFza1BhdHRlcm4sIG1vZHVsZXMpXG5cbiAgLy8gUmVwbGFjZSBmb3JtYXQgaW5mbyBiaXRzIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAgc2V0dXBGb3JtYXRJbmZvKG1vZHVsZXMsIGVycm9yQ29ycmVjdGlvbkxldmVsLCBtYXNrUGF0dGVybilcblxuICByZXR1cm4ge1xuICAgIG1vZHVsZXM6IG1vZHVsZXMsXG4gICAgdmVyc2lvbjogdmVyc2lvbixcbiAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogZXJyb3JDb3JyZWN0aW9uTGV2ZWwsXG4gICAgbWFza1BhdHRlcm46IG1hc2tQYXR0ZXJuLFxuICAgIHNlZ21lbnRzOiBzZWdtZW50c1xuICB9XG59XG5cbi8qKlxuICogUVIgQ29kZVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nIHwgQXJyYXl9IGRhdGEgICAgICAgICAgICAgICAgIElucHV0IGRhdGFcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0ge051bWJlcn0gb3B0aW9ucy52ZXJzaW9uICAgICAgICAgICAgICBRUiBDb2RlIHZlcnNpb25cbiAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLmVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudG9TSklTRnVuYyAgICAgICAgIEhlbHBlciBmdW5jIHRvIGNvbnZlcnQgdXRmOCB0byBzamlzXG4gKi9cbmV4cG9ydHMuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlIChkYXRhLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3VuZGVmaW5lZCcgfHwgZGF0YSA9PT0gJycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGlucHV0IHRleHQnKVxuICB9XG5cbiAgbGV0IGVycm9yQ29ycmVjdGlvbkxldmVsID0gRUNMZXZlbC5NXG4gIGxldCB2ZXJzaW9uXG4gIGxldCBtYXNrXG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIFVzZSBoaWdoZXIgZXJyb3IgY29ycmVjdGlvbiBsZXZlbCBhcyBkZWZhdWx0XG4gICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWwgPSBFQ0xldmVsLmZyb20ob3B0aW9ucy5lcnJvckNvcnJlY3Rpb25MZXZlbCwgRUNMZXZlbC5NKVxuICAgIHZlcnNpb24gPSBWZXJzaW9uLmZyb20ob3B0aW9ucy52ZXJzaW9uKVxuICAgIG1hc2sgPSBNYXNrUGF0dGVybi5mcm9tKG9wdGlvbnMubWFza1BhdHRlcm4pXG5cbiAgICBpZiAob3B0aW9ucy50b1NKSVNGdW5jKSB7XG4gICAgICBVdGlscy5zZXRUb1NKSVNGdW5jdGlvbihvcHRpb25zLnRvU0pJU0Z1bmMpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVN5bWJvbChkYXRhLCB2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgbWFzaylcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/qrcode.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/reed-solomon-encoder.js": -/*!**************************************************************!*\ - !*** ./node_modules/qrcode/lib/core/reed-solomon-encoder.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Polynomial = __webpack_require__(/*! ./polynomial */ \"./node_modules/qrcode/lib/core/polynomial.js\")\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZWQtc29sb21vbi1lbmNvZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixtQkFBTyxDQUFDLGtFQUFjOztBQUV6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZWQtc29sb21vbi1lbmNvZGVyLmpzPzBhNjYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUG9seW5vbWlhbCA9IHJlcXVpcmUoJy4vcG9seW5vbWlhbCcpXG5cbmZ1bmN0aW9uIFJlZWRTb2xvbW9uRW5jb2RlciAoZGVncmVlKSB7XG4gIHRoaXMuZ2VuUG9seSA9IHVuZGVmaW5lZFxuICB0aGlzLmRlZ3JlZSA9IGRlZ3JlZVxuXG4gIGlmICh0aGlzLmRlZ3JlZSkgdGhpcy5pbml0aWFsaXplKHRoaXMuZGVncmVlKVxufVxuXG4vKipcbiAqIEluaXRpYWxpemUgdGhlIGVuY29kZXIuXG4gKiBUaGUgaW5wdXQgcGFyYW0gc2hvdWxkIGNvcnJlc3BvbmQgdG8gdGhlIG51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkcy5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IGRlZ3JlZVxuICovXG5SZWVkU29sb21vbkVuY29kZXIucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbiBpbml0aWFsaXplIChkZWdyZWUpIHtcbiAgLy8gY3JlYXRlIGFuIGlycmVkdWNpYmxlIGdlbmVyYXRvciBwb2x5bm9taWFsXG4gIHRoaXMuZGVncmVlID0gZGVncmVlXG4gIHRoaXMuZ2VuUG9seSA9IFBvbHlub21pYWwuZ2VuZXJhdGVFQ1BvbHlub21pYWwodGhpcy5kZWdyZWUpXG59XG5cbi8qKlxuICogRW5jb2RlcyBhIGNodW5rIG9mIGRhdGFcbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkYXRhIEJ1ZmZlciBjb250YWluaW5nIGlucHV0IGRhdGFcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBkYXRhXG4gKi9cblJlZWRTb2xvbW9uRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24gZW5jb2RlIChkYXRhKSB7XG4gIGlmICghdGhpcy5nZW5Qb2x5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFbmNvZGVyIG5vdCBpbml0aWFsaXplZCcpXG4gIH1cblxuICAvLyBDYWxjdWxhdGUgRUMgZm9yIHRoaXMgZGF0YSBibG9ja1xuICAvLyBleHRlbmRzIGRhdGEgc2l6ZSB0byBkYXRhK2dlblBvbHkgc2l6ZVxuICBjb25zdCBwYWRkZWREYXRhID0gbmV3IFVpbnQ4QXJyYXkoZGF0YS5sZW5ndGggKyB0aGlzLmRlZ3JlZSlcbiAgcGFkZGVkRGF0YS5zZXQoZGF0YSlcblxuICAvLyBUaGUgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgYXJlIHRoZSByZW1haW5kZXIgYWZ0ZXIgZGl2aWRpbmcgdGhlIGRhdGEgY29kZXdvcmRzXG4gIC8vIGJ5IGEgZ2VuZXJhdG9yIHBvbHlub21pYWxcbiAgY29uc3QgcmVtYWluZGVyID0gUG9seW5vbWlhbC5tb2QocGFkZGVkRGF0YSwgdGhpcy5nZW5Qb2x5KVxuXG4gIC8vIHJldHVybiBFQyBkYXRhIGJsb2NrcyAobGFzdCBuIGJ5dGUsIHdoZXJlIG4gaXMgdGhlIGRlZ3JlZSBvZiBnZW5Qb2x5KVxuICAvLyBJZiBjb2VmZmljaWVudHMgbnVtYmVyIGluIHJlbWFpbmRlciBhcmUgbGVzcyB0aGFuIGdlblBvbHkgZGVncmVlLFxuICAvLyBwYWQgd2l0aCAwcyB0byB0aGUgbGVmdCB0byByZWFjaCB0aGUgbmVlZGVkIG51bWJlciBvZiBjb2VmZmljaWVudHNcbiAgY29uc3Qgc3RhcnQgPSB0aGlzLmRlZ3JlZSAtIHJlbWFpbmRlci5sZW5ndGhcbiAgaWYgKHN0YXJ0ID4gMCkge1xuICAgIGNvbnN0IGJ1ZmYgPSBuZXcgVWludDhBcnJheSh0aGlzLmRlZ3JlZSlcbiAgICBidWZmLnNldChyZW1haW5kZXIsIHN0YXJ0KVxuXG4gICAgcmV0dXJuIGJ1ZmZcbiAgfVxuXG4gIHJldHVybiByZW1haW5kZXJcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSZWVkU29sb21vbkVuY29kZXJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/reed-solomon-encoder.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/regex.js": -/*!***********************************************!*\ - !*** ./node_modules/qrcode/lib/core/regex.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGFBQWE7QUFDYixrQkFBa0I7QUFDbEIsWUFBWTtBQUNaLGVBQWU7QUFDZixvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQSxtQkFBbUI7QUFDbkI7QUFDQTs7QUFFQSx3QkFBd0I7QUFDeEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZ2V4LmpzPzZlZTkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbnVtZXJpYyA9ICdbMC05XSsnXG5jb25zdCBhbHBoYW51bWVyaWMgPSAnW0EtWiAkJSorXFxcXC0uLzpdKydcbmxldCBrYW5qaSA9ICcoPzpbdTMwMDAtdTMwM0ZdfFt1MzA0MC11MzA5Rl18W3UzMEEwLXUzMEZGXXwnICtcbiAgJ1t1RkYwMC11RkZFRl18W3U0RTAwLXU5RkFGXXxbdTI2MDUtdTI2MDZdfFt1MjE5MC11MjE5NV18dTIwM0J8JyArXG4gICdbdTIwMTB1MjAxNXUyMDE4dTIwMTl1MjAyNXUyMDI2dTIwMUN1MjAxRHUyMjI1dTIyNjBdfCcgK1xuICAnW3UwMzkxLXUwNDUxXXxbdTAwQTd1MDBBOHUwMEIxdTAwQjR1MDBEN3UwMEY3XSkrJ1xua2FuamkgPSBrYW5qaS5yZXBsYWNlKC91L2csICdcXFxcdScpXG5cbmNvbnN0IGJ5dGUgPSAnKD86KD8hW0EtWjAtOSAkJSorXFxcXC0uLzpdfCcgKyBrYW5qaSArICcpKD86LnxbXFxyXFxuXSkpKydcblxuZXhwb3J0cy5LQU5KSSA9IG5ldyBSZWdFeHAoa2FuamksICdnJylcbmV4cG9ydHMuQllURV9LQU5KSSA9IG5ldyBSZWdFeHAoJ1teQS1aMC05ICQlKitcXFxcLS4vOl0rJywgJ2cnKVxuZXhwb3J0cy5CWVRFID0gbmV3IFJlZ0V4cChieXRlLCAnZycpXG5leHBvcnRzLk5VTUVSSUMgPSBuZXcgUmVnRXhwKG51bWVyaWMsICdnJylcbmV4cG9ydHMuQUxQSEFOVU1FUklDID0gbmV3IFJlZ0V4cChhbHBoYW51bWVyaWMsICdnJylcblxuY29uc3QgVEVTVF9LQU5KSSA9IG5ldyBSZWdFeHAoJ14nICsga2FuamkgKyAnJCcpXG5jb25zdCBURVNUX05VTUVSSUMgPSBuZXcgUmVnRXhwKCdeJyArIG51bWVyaWMgKyAnJCcpXG5jb25zdCBURVNUX0FMUEhBTlVNRVJJQyA9IG5ldyBSZWdFeHAoJ15bQS1aMC05ICQlKitcXFxcLS4vOl0rJCcpXG5cbmV4cG9ydHMudGVzdEthbmppID0gZnVuY3Rpb24gdGVzdEthbmppIChzdHIpIHtcbiAgcmV0dXJuIFRFU1RfS0FOSkkudGVzdChzdHIpXG59XG5cbmV4cG9ydHMudGVzdE51bWVyaWMgPSBmdW5jdGlvbiB0ZXN0TnVtZXJpYyAoc3RyKSB7XG4gIHJldHVybiBURVNUX05VTUVSSUMudGVzdChzdHIpXG59XG5cbmV4cG9ydHMudGVzdEFscGhhbnVtZXJpYyA9IGZ1bmN0aW9uIHRlc3RBbHBoYW51bWVyaWMgKHN0cikge1xuICByZXR1cm4gVEVTVF9BTFBIQU5VTUVSSUMudGVzdChzdHIpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/segments.js": -/*!**************************************************!*\ - !*** ./node_modules/qrcode/lib/core/segments.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst NumericData = __webpack_require__(/*! ./numeric-data */ \"./node_modules/qrcode/lib/core/numeric-data.js\")\nconst AlphanumericData = __webpack_require__(/*! ./alphanumeric-data */ \"./node_modules/qrcode/lib/core/alphanumeric-data.js\")\nconst ByteData = __webpack_require__(/*! ./byte-data */ \"./node_modules/qrcode/lib/core/byte-data.js\")\nconst KanjiData = __webpack_require__(/*! ./kanji-data */ \"./node_modules/qrcode/lib/core/kanji-data.js\")\nconst Regex = __webpack_require__(/*! ./regex */ \"./node_modules/qrcode/lib/core/regex.js\")\nconst Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\nconst dijkstra = __webpack_require__(/*! dijkstrajs */ \"./node_modules/dijkstrajs/dijkstra.js\")\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3NlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyxzREFBUTtBQUM3QixvQkFBb0IsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDNUMseUJBQXlCLG1CQUFPLENBQUMsZ0ZBQXFCO0FBQ3RELGlCQUFpQixtQkFBTyxDQUFDLGdFQUFhO0FBQ3RDLGtCQUFrQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3hDLGNBQWMsbUJBQU8sQ0FBQyx3REFBUztBQUMvQixjQUFjLG1CQUFPLENBQUMsd0RBQVM7QUFDL0IsaUJBQWlCLG1CQUFPLENBQUMseURBQVk7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFlBQVk7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksYUFBYTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksTUFBTTtBQUNsQixZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxPQUFPO0FBQ25CLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkIsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBNkQ7QUFDekUsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDO0FBQ0E7O0FBRUEsb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBLHNCQUFzQix3QkFBd0I7QUFDOUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQix3QkFBd0I7QUFDMUM7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxlQUFlO0FBQzNCLFlBQVkseUJBQXlCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksT0FBTztBQUNuQixZQUFZLGFBQWE7QUFDekI7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixxQkFBcUI7QUFDdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksYUFBYTtBQUN6QjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3NlZ21lbnRzLmpzPzZlNTYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTW9kZSA9IHJlcXVpcmUoJy4vbW9kZScpXG5jb25zdCBOdW1lcmljRGF0YSA9IHJlcXVpcmUoJy4vbnVtZXJpYy1kYXRhJylcbmNvbnN0IEFscGhhbnVtZXJpY0RhdGEgPSByZXF1aXJlKCcuL2FscGhhbnVtZXJpYy1kYXRhJylcbmNvbnN0IEJ5dGVEYXRhID0gcmVxdWlyZSgnLi9ieXRlLWRhdGEnKVxuY29uc3QgS2FuamlEYXRhID0gcmVxdWlyZSgnLi9rYW5qaS1kYXRhJylcbmNvbnN0IFJlZ2V4ID0gcmVxdWlyZSgnLi9yZWdleCcpXG5jb25zdCBVdGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuY29uc3QgZGlqa3N0cmEgPSByZXF1aXJlKCdkaWprc3RyYWpzJylcblxuLyoqXG4gKiBSZXR1cm5zIFVURjggYnl0ZSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHN0ciBJbnB1dCBzdHJpbmdcbiAqIEByZXR1cm4ge051bWJlcn0gICAgIE51bWJlciBvZiBieXRlXG4gKi9cbmZ1bmN0aW9uIGdldFN0cmluZ0J5dGVMZW5ndGggKHN0cikge1xuICByZXR1cm4gdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikpLmxlbmd0aFxufVxuXG4vKipcbiAqIEdldCBhIGxpc3Qgb2Ygc2VnbWVudHMgb2YgdGhlIHNwZWNpZmllZCBtb2RlXG4gKiBmcm9tIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7TW9kZX0gICBtb2RlIFNlZ21lbnQgbW9kZVxuICogQHBhcmFtICB7U3RyaW5nfSBzdHIgIFN0cmluZyB0byBwcm9jZXNzXG4gKiBAcmV0dXJuIHtBcnJheX0gICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBnZXRTZWdtZW50cyAocmVnZXgsIG1vZGUsIHN0cikge1xuICBjb25zdCBzZWdtZW50cyA9IFtdXG4gIGxldCByZXN1bHRcblxuICB3aGlsZSAoKHJlc3VsdCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIGRhdGE6IHJlc3VsdFswXSxcbiAgICAgIGluZGV4OiByZXN1bHQuaW5kZXgsXG4gICAgICBtb2RlOiBtb2RlLFxuICAgICAgbGVuZ3RoOiByZXN1bHRbMF0ubGVuZ3RoXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50c1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgc2VyaWVzIG9mIHNlZ21lbnRzIHdpdGggdGhlIGFwcHJvcHJpYXRlXG4gKiBtb2RlcyBmcm9tIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSBkYXRhU3RyIElucHV0IHN0cmluZ1xuICogQHJldHVybiB7QXJyYXl9ICAgICAgICAgIEFycmF5IG9mIG9iamVjdCB3aXRoIHNlZ21lbnRzIGRhdGFcbiAqL1xuZnVuY3Rpb24gZ2V0U2VnbWVudHNGcm9tU3RyaW5nIChkYXRhU3RyKSB7XG4gIGNvbnN0IG51bVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5OVU1FUklDLCBNb2RlLk5VTUVSSUMsIGRhdGFTdHIpXG4gIGNvbnN0IGFscGhhTnVtU2VncyA9IGdldFNlZ21lbnRzKFJlZ2V4LkFMUEhBTlVNRVJJQywgTW9kZS5BTFBIQU5VTUVSSUMsIGRhdGFTdHIpXG4gIGxldCBieXRlU2Vnc1xuICBsZXQga2FuamlTZWdzXG5cbiAgaWYgKFV0aWxzLmlzS2FuamlNb2RlRW5hYmxlZCgpKSB7XG4gICAgYnl0ZVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5CWVRFLCBNb2RlLkJZVEUsIGRhdGFTdHIpXG4gICAga2FuamlTZWdzID0gZ2V0U2VnbWVudHMoUmVnZXguS0FOSkksIE1vZGUuS0FOSkksIGRhdGFTdHIpXG4gIH0gZWxzZSB7XG4gICAgYnl0ZVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5CWVRFX0tBTkpJLCBNb2RlLkJZVEUsIGRhdGFTdHIpXG4gICAga2FuamlTZWdzID0gW11cbiAgfVxuXG4gIGNvbnN0IHNlZ3MgPSBudW1TZWdzLmNvbmNhdChhbHBoYU51bVNlZ3MsIGJ5dGVTZWdzLCBrYW5qaVNlZ3MpXG5cbiAgcmV0dXJuIHNlZ3NcbiAgICAuc29ydChmdW5jdGlvbiAoczEsIHMyKSB7XG4gICAgICByZXR1cm4gczEuaW5kZXggLSBzMi5pbmRleFxuICAgIH0pXG4gICAgLm1hcChmdW5jdGlvbiAob2JqKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiBvYmouZGF0YSxcbiAgICAgICAgbW9kZTogb2JqLm1vZGUsXG4gICAgICAgIGxlbmd0aDogb2JqLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG59XG5cbi8qKlxuICogUmV0dXJucyBob3cgbWFueSBiaXRzIGFyZSBuZWVkZWQgdG8gZW5jb2RlIGEgc3RyaW5nIG9mXG4gKiBzcGVjaWZpZWQgbGVuZ3RoIHdpdGggdGhlIHNwZWNpZmllZCBtb2RlXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBsZW5ndGggU3RyaW5nIGxlbmd0aFxuICogQHBhcmFtICB7TW9kZX0gbW9kZSAgICAgU2VnbWVudCBtb2RlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICBCaXQgbGVuZ3RoXG4gKi9cbmZ1bmN0aW9uIGdldFNlZ21lbnRCaXRzTGVuZ3RoIChsZW5ndGgsIG1vZGUpIHtcbiAgc3dpdGNoIChtb2RlKSB7XG4gICAgY2FzZSBNb2RlLk5VTUVSSUM6XG4gICAgICByZXR1cm4gTnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgIHJldHVybiBBbHBoYW51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgobGVuZ3RoKVxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBLYW5qaURhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gICAgY2FzZSBNb2RlLkJZVEU6XG4gICAgICByZXR1cm4gQnl0ZURhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gIH1cbn1cblxuLyoqXG4gKiBNZXJnZXMgYWRqYWNlbnQgc2VnbWVudHMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBtb2RlXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IHNlZ3MgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICogQHJldHVybiB7QXJyYXl9ICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBtZXJnZVNlZ21lbnRzIChzZWdzKSB7XG4gIHJldHVybiBzZWdzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBjdXJyKSB7XG4gICAgY29uc3QgcHJldlNlZyA9IGFjYy5sZW5ndGggLSAxID49IDAgPyBhY2NbYWNjLmxlbmd0aCAtIDFdIDogbnVsbFxuICAgIGlmIChwcmV2U2VnICYmIHByZXZTZWcubW9kZSA9PT0gY3Vyci5tb2RlKSB7XG4gICAgICBhY2NbYWNjLmxlbmd0aCAtIDFdLmRhdGEgKz0gY3Vyci5kYXRhXG4gICAgICByZXR1cm4gYWNjXG4gICAgfVxuXG4gICAgYWNjLnB1c2goY3VycilcbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGxpc3Qgb2YgYWxsIHBvc3NpYmxlIG5vZGVzIGNvbWJpbmF0aW9uIHdoaWNoXG4gKiB3aWxsIGJlIHVzZWQgdG8gYnVpbGQgYSBzZWdtZW50cyBncmFwaC5cbiAqXG4gKiBOb2RlcyBhcmUgZGl2aWRlZCBieSBncm91cHMuIEVhY2ggZ3JvdXAgd2lsbCBjb250YWluIGEgbGlzdCBvZiBhbGwgdGhlIG1vZGVzXG4gKiBpbiB3aGljaCBpcyBwb3NzaWJsZSB0byBlbmNvZGUgdGhlIGdpdmVuIHRleHQuXG4gKlxuICogRm9yIGV4YW1wbGUgdGhlIHRleHQgJzEyMzQ1JyBjYW4gYmUgZW5jb2RlZCBhcyBOdW1lcmljLCBBbHBoYW51bWVyaWMgb3IgQnl0ZS5cbiAqIFRoZSBncm91cCBmb3IgJzEyMzQ1JyB3aWxsIGNvbnRhaW4gdGhlbiAzIG9iamVjdHMsIG9uZSBmb3IgZWFjaFxuICogcG9zc2libGUgZW5jb2RpbmcgbW9kZS5cbiAqXG4gKiBFYWNoIG5vZGUgcmVwcmVzZW50cyBhIHBvc3NpYmxlIHNlZ21lbnQuXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IHNlZ3MgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICogQHJldHVybiB7QXJyYXl9ICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBidWlsZE5vZGVzIChzZWdzKSB7XG4gIGNvbnN0IG5vZGVzID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgc2VnID0gc2Vnc1tpXVxuXG4gICAgc3dpdGNoIChzZWcubW9kZSkge1xuICAgICAgY2FzZSBNb2RlLk5VTUVSSUM6XG4gICAgICAgIG5vZGVzLnB1c2goW3NlZyxcbiAgICAgICAgICB7IGRhdGE6IHNlZy5kYXRhLCBtb2RlOiBNb2RlLkFMUEhBTlVNRVJJQywgbGVuZ3RoOiBzZWcubGVuZ3RoIH0sXG4gICAgICAgICAgeyBkYXRhOiBzZWcuZGF0YSwgbW9kZTogTW9kZS5CWVRFLCBsZW5ndGg6IHNlZy5sZW5ndGggfVxuICAgICAgICBdKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgICAgbm9kZXMucHVzaChbc2VnLFxuICAgICAgICAgIHsgZGF0YTogc2VnLmRhdGEsIG1vZGU6IE1vZGUuQllURSwgbGVuZ3RoOiBzZWcubGVuZ3RoIH1cbiAgICAgICAgXSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgICAgbm9kZXMucHVzaChbc2VnLFxuICAgICAgICAgIHsgZGF0YTogc2VnLmRhdGEsIG1vZGU6IE1vZGUuQllURSwgbGVuZ3RoOiBnZXRTdHJpbmdCeXRlTGVuZ3RoKHNlZy5kYXRhKSB9XG4gICAgICAgIF0pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIE1vZGUuQllURTpcbiAgICAgICAgbm9kZXMucHVzaChbXG4gICAgICAgICAgeyBkYXRhOiBzZWcuZGF0YSwgbW9kZTogTW9kZS5CWVRFLCBsZW5ndGg6IGdldFN0cmluZ0J5dGVMZW5ndGgoc2VnLmRhdGEpIH1cbiAgICAgICAgXSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZXNcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBncmFwaCBmcm9tIGEgbGlzdCBvZiBub2Rlcy5cbiAqIEFsbCBzZWdtZW50cyBpbiBlYWNoIG5vZGUgZ3JvdXAgd2lsbCBiZSBjb25uZWN0ZWQgd2l0aCBhbGwgdGhlIHNlZ21lbnRzIG9mXG4gKiB0aGUgbmV4dCBncm91cCBhbmQgc28gb24uXG4gKlxuICogQXQgZWFjaCBjb25uZWN0aW9uIHdpbGwgYmUgYXNzaWduZWQgYSB3ZWlnaHQgZGVwZW5kaW5nIG9uIHRoZVxuICogc2VnbWVudCdzIGJ5dGUgbGVuZ3RoLlxuICpcbiAqIEBwYXJhbSAge0FycmF5fSBub2RlcyAgICBBcnJheSBvZiBvYmplY3Qgd2l0aCBzZWdtZW50cyBkYXRhXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgR3JhcGggb2YgYWxsIHBvc3NpYmxlIHNlZ21lbnRzXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkR3JhcGggKG5vZGVzLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IHRhYmxlID0ge31cbiAgY29uc3QgZ3JhcGggPSB7IHN0YXJ0OiB7fSB9XG4gIGxldCBwcmV2Tm9kZUlkcyA9IFsnc3RhcnQnXVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBub2RlR3JvdXAgPSBub2Rlc1tpXVxuICAgIGNvbnN0IGN1cnJlbnROb2RlSWRzID0gW11cblxuICAgIGZvciAobGV0IGogPSAwOyBqIDwgbm9kZUdyb3VwLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBub2RlID0gbm9kZUdyb3VwW2pdXG4gICAgICBjb25zdCBrZXkgPSAnJyArIGkgKyBqXG5cbiAgICAgIGN1cnJlbnROb2RlSWRzLnB1c2goa2V5KVxuICAgICAgdGFibGVba2V5XSA9IHsgbm9kZTogbm9kZSwgbGFzdENvdW50OiAwIH1cbiAgICAgIGdyYXBoW2tleV0gPSB7fVxuXG4gICAgICBmb3IgKGxldCBuID0gMDsgbiA8IHByZXZOb2RlSWRzLmxlbmd0aDsgbisrKSB7XG4gICAgICAgIGNvbnN0IHByZXZOb2RlSWQgPSBwcmV2Tm9kZUlkc1tuXVxuXG4gICAgICAgIGlmICh0YWJsZVtwcmV2Tm9kZUlkXSAmJiB0YWJsZVtwcmV2Tm9kZUlkXS5ub2RlLm1vZGUgPT09IG5vZGUubW9kZSkge1xuICAgICAgICAgIGdyYXBoW3ByZXZOb2RlSWRdW2tleV0gPVxuICAgICAgICAgICAgZ2V0U2VnbWVudEJpdHNMZW5ndGgodGFibGVbcHJldk5vZGVJZF0ubGFzdENvdW50ICsgbm9kZS5sZW5ndGgsIG5vZGUubW9kZSkgLVxuICAgICAgICAgICAgZ2V0U2VnbWVudEJpdHNMZW5ndGgodGFibGVbcHJldk5vZGVJZF0ubGFzdENvdW50LCBub2RlLm1vZGUpXG5cbiAgICAgICAgICB0YWJsZVtwcmV2Tm9kZUlkXS5sYXN0Q291bnQgKz0gbm9kZS5sZW5ndGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGFibGVbcHJldk5vZGVJZF0pIHRhYmxlW3ByZXZOb2RlSWRdLmxhc3RDb3VudCA9IG5vZGUubGVuZ3RoXG5cbiAgICAgICAgICBncmFwaFtwcmV2Tm9kZUlkXVtrZXldID0gZ2V0U2VnbWVudEJpdHNMZW5ndGgobm9kZS5sZW5ndGgsIG5vZGUubW9kZSkgK1xuICAgICAgICAgICAgNCArIE1vZGUuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKG5vZGUubW9kZSwgdmVyc2lvbikgLy8gc3dpdGNoIGNvc3RcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByZXZOb2RlSWRzID0gY3VycmVudE5vZGVJZHNcbiAgfVxuXG4gIGZvciAobGV0IG4gPSAwOyBuIDwgcHJldk5vZGVJZHMubGVuZ3RoOyBuKyspIHtcbiAgICBncmFwaFtwcmV2Tm9kZUlkc1tuXV0uZW5kID0gMFxuICB9XG5cbiAgcmV0dXJuIHsgbWFwOiBncmFwaCwgdGFibGU6IHRhYmxlIH1cbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBzZWdtZW50IGZyb20gYSBzcGVjaWZpZWQgZGF0YSBhbmQgbW9kZS5cbiAqIElmIGEgbW9kZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgbW9yZSBzdWl0YWJsZSB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSBkYXRhICAgICAgICAgICAgIElucHV0IGRhdGFcbiAqIEBwYXJhbSAge01vZGUgfCBTdHJpbmd9IG1vZGVzSGludCBEYXRhIG1vZGVcbiAqIEByZXR1cm4ge1NlZ21lbnR9ICAgICAgICAgICAgICAgICBTZWdtZW50XG4gKi9cbmZ1bmN0aW9uIGJ1aWxkU2luZ2xlU2VnbWVudCAoZGF0YSwgbW9kZXNIaW50KSB7XG4gIGxldCBtb2RlXG4gIGNvbnN0IGJlc3RNb2RlID0gTW9kZS5nZXRCZXN0TW9kZUZvckRhdGEoZGF0YSlcblxuICBtb2RlID0gTW9kZS5mcm9tKG1vZGVzSGludCwgYmVzdE1vZGUpXG5cbiAgLy8gTWFrZSBzdXJlIGRhdGEgY2FuIGJlIGVuY29kZWRcbiAgaWYgKG1vZGUgIT09IE1vZGUuQllURSAmJiBtb2RlLmJpdCA8IGJlc3RNb2RlLmJpdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignXCInICsgZGF0YSArICdcIicgK1xuICAgICAgJyBjYW5ub3QgYmUgZW5jb2RlZCB3aXRoIG1vZGUgJyArIE1vZGUudG9TdHJpbmcobW9kZSkgK1xuICAgICAgJy5cXG4gU3VnZ2VzdGVkIG1vZGUgaXM6ICcgKyBNb2RlLnRvU3RyaW5nKGJlc3RNb2RlKSlcbiAgfVxuXG4gIC8vIFVzZSBNb2RlLkJZVEUgaWYgS2Fuamkgc3VwcG9ydCBpcyBkaXNhYmxlZFxuICBpZiAobW9kZSA9PT0gTW9kZS5LQU5KSSAmJiAhVXRpbHMuaXNLYW5qaU1vZGVFbmFibGVkKCkpIHtcbiAgICBtb2RlID0gTW9kZS5CWVRFXG4gIH1cblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIE1vZGUuTlVNRVJJQzpcbiAgICAgIHJldHVybiBuZXcgTnVtZXJpY0RhdGEoZGF0YSlcblxuICAgIGNhc2UgTW9kZS5BTFBIQU5VTUVSSUM6XG4gICAgICByZXR1cm4gbmV3IEFscGhhbnVtZXJpY0RhdGEoZGF0YSlcblxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBuZXcgS2FuamlEYXRhKGRhdGEpXG5cbiAgICBjYXNlIE1vZGUuQllURTpcbiAgICAgIHJldHVybiBuZXcgQnl0ZURhdGEoZGF0YSlcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGxpc3Qgb2Ygc2VnbWVudHMgZnJvbSBhbiBhcnJheS5cbiAqIEFycmF5IGNhbiBjb250YWluIFN0cmluZ3Mgb3IgT2JqZWN0cyB3aXRoIHNlZ21lbnQncyBpbmZvLlxuICpcbiAqIEZvciBlYWNoIGl0ZW0gd2hpY2ggaXMgYSBzdHJpbmcsIHdpbGwgYmUgZ2VuZXJhdGVkIGEgc2VnbWVudCB3aXRoIHRoZSBnaXZlblxuICogc3RyaW5nIGFuZCB0aGUgbW9yZSBhcHByb3ByaWF0ZSBlbmNvZGluZyBtb2RlLlxuICpcbiAqIEZvciBlYWNoIGl0ZW0gd2hpY2ggaXMgYW4gb2JqZWN0LCB3aWxsIGJlIGdlbmVyYXRlZCBhIHNlZ21lbnQgd2l0aCB0aGUgZ2l2ZW5cbiAqIGRhdGEgYW5kIG1vZGUuXG4gKiBPYmplY3RzIG11c3QgY29udGFpbiBhdCBsZWFzdCB0aGUgcHJvcGVydHkgXCJkYXRhXCIuXG4gKiBJZiBwcm9wZXJ0eSBcIm1vZGVcIiBpcyBub3QgcHJlc2VudCwgdGhlIG1vcmUgc3VpdGFibGUgbW9kZSB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IGFycmF5IEFycmF5IG9mIG9iamVjdHMgd2l0aCBzZWdtZW50cyBkYXRhXG4gKiBAcmV0dXJuIHtBcnJheX0gICAgICAgQXJyYXkgb2YgU2VnbWVudHNcbiAqL1xuZXhwb3J0cy5mcm9tQXJyYXkgPSBmdW5jdGlvbiBmcm9tQXJyYXkgKGFycmF5KSB7XG4gIHJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgc2VnKSB7XG4gICAgaWYgKHR5cGVvZiBzZWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhY2MucHVzaChidWlsZFNpbmdsZVNlZ21lbnQoc2VnLCBudWxsKSlcbiAgICB9IGVsc2UgaWYgKHNlZy5kYXRhKSB7XG4gICAgICBhY2MucHVzaChidWlsZFNpbmdsZVNlZ21lbnQoc2VnLmRhdGEsIHNlZy5tb2RlKSlcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBvcHRpbWl6ZWQgc2VxdWVuY2Ugb2Ygc2VnbWVudHMgZnJvbSBhIHN0cmluZyxcbiAqIHdoaWNoIHdpbGwgcHJvZHVjZSB0aGUgc2hvcnRlc3QgcG9zc2libGUgYml0c3RyZWFtLlxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YSAgICBJbnB1dCBzdHJpbmdcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBzZWdtZW50c1xuICovXG5leHBvcnRzLmZyb21TdHJpbmcgPSBmdW5jdGlvbiBmcm9tU3RyaW5nIChkYXRhLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IHNlZ3MgPSBnZXRTZWdtZW50c0Zyb21TdHJpbmcoZGF0YSwgVXRpbHMuaXNLYW5qaU1vZGVFbmFibGVkKCkpXG5cbiAgY29uc3Qgbm9kZXMgPSBidWlsZE5vZGVzKHNlZ3MpXG4gIGNvbnN0IGdyYXBoID0gYnVpbGRHcmFwaChub2RlcywgdmVyc2lvbilcbiAgY29uc3QgcGF0aCA9IGRpamtzdHJhLmZpbmRfcGF0aChncmFwaC5tYXAsICdzdGFydCcsICdlbmQnKVxuXG4gIGNvbnN0IG9wdGltaXplZFNlZ3MgPSBbXVxuICBmb3IgKGxldCBpID0gMTsgaSA8IHBhdGgubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgb3B0aW1pemVkU2Vncy5wdXNoKGdyYXBoLnRhYmxlW3BhdGhbaV1dLm5vZGUpXG4gIH1cblxuICByZXR1cm4gZXhwb3J0cy5mcm9tQXJyYXkobWVyZ2VTZWdtZW50cyhvcHRpbWl6ZWRTZWdzKSlcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBzdHJpbmcgaW4gdmFyaW91cyBzZWdtZW50cyB3aXRoIHRoZSBtb2RlcyB3aGljaFxuICogYmVzdCByZXByZXNlbnQgdGhlaXIgY29udGVudC5cbiAqIFRoZSBwcm9kdWNlZCBzZWdtZW50cyBhcmUgZmFyIGZyb20gYmVpbmcgb3B0aW1pemVkLlxuICogVGhlIG91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCB0byBlc3RpbWF0ZSBhIFFSIENvZGUgdmVyc2lvblxuICogd2hpY2ggbWF5IGNvbnRhaW4gdGhlIGRhdGEuXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfSBkYXRhIElucHV0IHN0cmluZ1xuICogQHJldHVybiB7QXJyYXl9ICAgICAgIEFycmF5IG9mIHNlZ21lbnRzXG4gKi9cbmV4cG9ydHMucmF3U3BsaXQgPSBmdW5jdGlvbiByYXdTcGxpdCAoZGF0YSkge1xuICByZXR1cm4gZXhwb3J0cy5mcm9tQXJyYXkoXG4gICAgZ2V0U2VnbWVudHNGcm9tU3RyaW5nKGRhdGEsIFV0aWxzLmlzS2FuamlNb2RlRW5hYmxlZCgpKVxuICApXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/segments.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/utils.js": -/*!***********************************************!*\ - !*** ./node_modules/qrcode/lib/core/utils.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBLCtCQUErQjtBQUMvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGFBQWE7QUFDekI7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUEsY0FBYztBQUNkO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS91dGlscy5qcz80NWM3Il0sInNvdXJjZXNDb250ZW50IjpbImxldCB0b1NKSVNGdW5jdGlvblxuY29uc3QgQ09ERVdPUkRTX0NPVU5UID0gW1xuICAwLCAvLyBOb3QgdXNlZFxuICAyNiwgNDQsIDcwLCAxMDAsIDEzNCwgMTcyLCAxOTYsIDI0MiwgMjkyLCAzNDYsXG4gIDQwNCwgNDY2LCA1MzIsIDU4MSwgNjU1LCA3MzMsIDgxNSwgOTAxLCA5OTEsIDEwODUsXG4gIDExNTYsIDEyNTgsIDEzNjQsIDE0NzQsIDE1ODgsIDE3MDYsIDE4MjgsIDE5MjEsIDIwNTEsIDIxODUsXG4gIDIzMjMsIDI0NjUsIDI2MTEsIDI3NjEsIDI4NzYsIDMwMzQsIDMxOTYsIDMzNjIsIDM1MzIsIDM3MDZcbl1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBRUiBDb2RlIHNpemUgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvblxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICBzaXplIG9mIFFSIGNvZGVcbiAqL1xuZXhwb3J0cy5nZXRTeW1ib2xTaXplID0gZnVuY3Rpb24gZ2V0U3ltYm9sU2l6ZSAodmVyc2lvbikge1xuICBpZiAoIXZlcnNpb24pIHRocm93IG5ldyBFcnJvcignXCJ2ZXJzaW9uXCIgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkJylcbiAgaWYgKHZlcnNpb24gPCAxIHx8IHZlcnNpb24gPiA0MCkgdGhyb3cgbmV3IEVycm9yKCdcInZlcnNpb25cIiBzaG91bGQgYmUgaW4gcmFuZ2UgZnJvbSAxIHRvIDQwJylcbiAgcmV0dXJuIHZlcnNpb24gKiA0ICsgMTdcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgY29kZXdvcmRzIHVzZWQgdG8gc3RvcmUgZGF0YSBhbmQgRUMgaW5mb3JtYXRpb24uXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIERhdGEgbGVuZ3RoIGluIGJpdHNcbiAqL1xuZXhwb3J0cy5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyA9IGZ1bmN0aW9uIGdldFN5bWJvbFRvdGFsQ29kZXdvcmRzICh2ZXJzaW9uKSB7XG4gIHJldHVybiBDT0RFV09SRFNfQ09VTlRbdmVyc2lvbl1cbn1cblxuLyoqXG4gKiBFbmNvZGUgZGF0YSB3aXRoIEJvc2UtQ2hhdWRodXJpLUhvY3F1ZW5naGVtXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBkYXRhIFZhbHVlIHRvIGVuY29kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgIEVuY29kZWQgdmFsdWVcbiAqL1xuZXhwb3J0cy5nZXRCQ0hEaWdpdCA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIGxldCBkaWdpdCA9IDBcblxuICB3aGlsZSAoZGF0YSAhPT0gMCkge1xuICAgIGRpZ2l0KytcbiAgICBkYXRhID4+Pj0gMVxuICB9XG5cbiAgcmV0dXJuIGRpZ2l0XG59XG5cbmV4cG9ydHMuc2V0VG9TSklTRnVuY3Rpb24gPSBmdW5jdGlvbiBzZXRUb1NKSVNGdW5jdGlvbiAoZikge1xuICBpZiAodHlwZW9mIGYgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1widG9TSklTRnVuY1wiIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uLicpXG4gIH1cblxuICB0b1NKSVNGdW5jdGlvbiA9IGZcbn1cblxuZXhwb3J0cy5pc0thbmppTW9kZUVuYWJsZWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0eXBlb2YgdG9TSklTRnVuY3Rpb24gIT09ICd1bmRlZmluZWQnXG59XG5cbmV4cG9ydHMudG9TSklTID0gZnVuY3Rpb24gdG9TSklTIChrYW5qaSkge1xuICByZXR1cm4gdG9TSklTRnVuY3Rpb24oa2FuamkpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/version-check.js": -/*!*******************************************************!*\ - !*** ./node_modules/qrcode/lib/core/version-check.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3ZlcnNpb24tY2hlY2suanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxTQUFTO0FBQ3JCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0EsZUFBZTtBQUNmO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS92ZXJzaW9uLWNoZWNrLmpzP2E4MmYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDaGVjayBpZiBRUiBDb2RlIHZlcnNpb24gaXMgdmFsaWRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICB0cnVlIGlmIHZhbGlkIHZlcnNpb24sIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnRzLmlzVmFsaWQgPSBmdW5jdGlvbiBpc1ZhbGlkICh2ZXJzaW9uKSB7XG4gIHJldHVybiAhaXNOYU4odmVyc2lvbikgJiYgdmVyc2lvbiA+PSAxICYmIHZlcnNpb24gPD0gNDBcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/version-check.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/core/version.js": -/*!*************************************************!*\ - !*** ./node_modules/qrcode/lib/core/version.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/core/utils.js\")\nconst ECCode = __webpack_require__(/*! ./error-correction-code */ \"./node_modules/qrcode/lib/core/error-correction-code.js\")\nconst ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/qrcode/lib/core/error-correction-level.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/qrcode/lib/core/mode.js\")\nconst VersionCheck = __webpack_require__(/*! ./version-check */ \"./node_modules/qrcode/lib/core/version-check.js\")\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3ZlcnNpb24uanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLHdEQUFTO0FBQy9CLGVBQWUsbUJBQU8sQ0FBQyx3RkFBeUI7QUFDaEQsZ0JBQWdCLG1CQUFPLENBQUMsMEZBQTBCO0FBQ2xELGFBQWEsbUJBQU8sQ0FBQyxzREFBUTtBQUM3QixxQkFBcUIsbUJBQU8sQ0FBQyx3RUFBaUI7O0FBRTlDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksZUFBZTtBQUMzQixZQUFZLDRCQUE0QjtBQUN4QztBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxNQUFNO0FBQ2xCLFlBQVksaUNBQWlDO0FBQzdDO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvdmVyc2lvbi5qcz9iMjI0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5jb25zdCBFQ0NvZGUgPSByZXF1aXJlKCcuL2Vycm9yLWNvcnJlY3Rpb24tY29kZScpXG5jb25zdCBFQ0xldmVsID0gcmVxdWlyZSgnLi9lcnJvci1jb3JyZWN0aW9uLWxldmVsJylcbmNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuY29uc3QgVmVyc2lvbkNoZWNrID0gcmVxdWlyZSgnLi92ZXJzaW9uLWNoZWNrJylcblxuLy8gR2VuZXJhdG9yIHBvbHlub21pYWwgdXNlZCB0byBlbmNvZGUgdmVyc2lvbiBpbmZvcm1hdGlvblxuY29uc3QgRzE4ID0gKDEgPDwgMTIpIHwgKDEgPDwgMTEpIHwgKDEgPDwgMTApIHwgKDEgPDwgOSkgfCAoMSA8PCA4KSB8ICgxIDw8IDUpIHwgKDEgPDwgMikgfCAoMSA8PCAwKVxuY29uc3QgRzE4X0JDSCA9IFV0aWxzLmdldEJDSERpZ2l0KEcxOClcblxuZnVuY3Rpb24gZ2V0QmVzdFZlcnNpb25Gb3JEYXRhTGVuZ3RoIChtb2RlLCBsZW5ndGgsIGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XG4gIGZvciAobGV0IGN1cnJlbnRWZXJzaW9uID0gMTsgY3VycmVudFZlcnNpb24gPD0gNDA7IGN1cnJlbnRWZXJzaW9uKyspIHtcbiAgICBpZiAobGVuZ3RoIDw9IGV4cG9ydHMuZ2V0Q2FwYWNpdHkoY3VycmVudFZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsLCBtb2RlKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRWZXJzaW9uXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBnZXRSZXNlcnZlZEJpdHNDb3VudCAobW9kZSwgdmVyc2lvbikge1xuICAvLyBDaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yICsgbW9kZSBpbmRpY2F0b3IgYml0c1xuICByZXR1cm4gTW9kZS5nZXRDaGFyQ291bnRJbmRpY2F0b3IobW9kZSwgdmVyc2lvbikgKyA0XG59XG5cbmZ1bmN0aW9uIGdldFRvdGFsQml0c0Zyb21EYXRhQXJyYXkgKHNlZ21lbnRzLCB2ZXJzaW9uKSB7XG4gIGxldCB0b3RhbEJpdHMgPSAwXG5cbiAgc2VnbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZGF0YSkge1xuICAgIGNvbnN0IHJlc2VydmVkQml0cyA9IGdldFJlc2VydmVkQml0c0NvdW50KGRhdGEubW9kZSwgdmVyc2lvbilcbiAgICB0b3RhbEJpdHMgKz0gcmVzZXJ2ZWRCaXRzICsgZGF0YS5nZXRCaXRzTGVuZ3RoKClcbiAgfSlcblxuICByZXR1cm4gdG90YWxCaXRzXG59XG5cbmZ1bmN0aW9uIGdldEJlc3RWZXJzaW9uRm9yTWl4ZWREYXRhIChzZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcbiAgZm9yIChsZXQgY3VycmVudFZlcnNpb24gPSAxOyBjdXJyZW50VmVyc2lvbiA8PSA0MDsgY3VycmVudFZlcnNpb24rKykge1xuICAgIGNvbnN0IGxlbmd0aCA9IGdldFRvdGFsQml0c0Zyb21EYXRhQXJyYXkoc2VnbWVudHMsIGN1cnJlbnRWZXJzaW9uKVxuICAgIGlmIChsZW5ndGggPD0gZXhwb3J0cy5nZXRDYXBhY2l0eShjdXJyZW50VmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIE1vZGUuTUlYRUQpKSB7XG4gICAgICByZXR1cm4gY3VycmVudFZlcnNpb25cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogUmV0dXJucyB2ZXJzaW9uIG51bWJlciBmcm9tIGEgdmFsdWUuXG4gKiBJZiB2YWx1ZSBpcyBub3QgYSB2YWxpZCB2ZXJzaW9uLCByZXR1cm5zIGRlZmF1bHRWYWx1ZVxuICpcbiAqIEBwYXJhbSAge051bWJlcnxTdHJpbmd9IHZhbHVlICAgICAgICBRUiBDb2RlIHZlcnNpb25cbiAqIEBwYXJhbSAge051bWJlcn0gICAgICAgIGRlZmF1bHRWYWx1ZSBGYWxsYmFjayB2YWx1ZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvbiBudW1iZXJcbiAqL1xuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoVmVyc2lvbkNoZWNrLmlzVmFsaWQodmFsdWUpKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMClcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0VmFsdWVcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGhvdyBtdWNoIGRhdGEgY2FuIGJlIHN0b3JlZCB3aXRoIHRoZSBzcGVjaWZpZWQgUVIgY29kZSB2ZXJzaW9uXG4gKiBhbmQgZXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uICgxLTQwKVxuICogQHBhcmFtICB7TnVtYmVyfSBlcnJvckNvcnJlY3Rpb25MZXZlbCBFcnJvciBjb3JyZWN0aW9uIGxldmVsXG4gKiBAcGFyYW0gIHtNb2RlfSAgIG1vZGUgICAgICAgICAgICAgICAgIERhdGEgbW9kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgICBRdWFudGl0eSBvZiBzdG9yYWJsZSBkYXRhXG4gKi9cbmV4cG9ydHMuZ2V0Q2FwYWNpdHkgPSBmdW5jdGlvbiBnZXRDYXBhY2l0eSAodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1vZGUpIHtcbiAgaWYgKCFWZXJzaW9uQ2hlY2suaXNWYWxpZCh2ZXJzaW9uKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBRUiBDb2RlIHZlcnNpb24nKVxuICB9XG5cbiAgLy8gVXNlIEJ5dGUgbW9kZSBhcyBkZWZhdWx0XG4gIGlmICh0eXBlb2YgbW9kZSA9PT0gJ3VuZGVmaW5lZCcpIG1vZGUgPSBNb2RlLkJZVEVcblxuICAvLyBUb3RhbCBjb2Rld29yZHMgZm9yIHRoaXMgUVIgY29kZSB2ZXJzaW9uIChEYXRhICsgRXJyb3IgY29ycmVjdGlvbilcbiAgY29uc3QgdG90YWxDb2Rld29yZHMgPSBVdGlscy5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcyh2ZXJzaW9uKVxuXG4gIC8vIFRvdGFsIG51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkc1xuICBjb25zdCBlY1RvdGFsQ29kZXdvcmRzID0gRUNDb2RlLmdldFRvdGFsQ29kZXdvcmRzQ291bnQodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGRhdGEgY29kZXdvcmRzXG4gIGNvbnN0IGRhdGFUb3RhbENvZGV3b3Jkc0JpdHMgPSAodG90YWxDb2Rld29yZHMgLSBlY1RvdGFsQ29kZXdvcmRzKSAqIDhcblxuICBpZiAobW9kZSA9PT0gTW9kZS5NSVhFRCkgcmV0dXJuIGRhdGFUb3RhbENvZGV3b3Jkc0JpdHNcblxuICBjb25zdCB1c2FibGVCaXRzID0gZGF0YVRvdGFsQ29kZXdvcmRzQml0cyAtIGdldFJlc2VydmVkQml0c0NvdW50KG1vZGUsIHZlcnNpb24pXG5cbiAgLy8gUmV0dXJuIG1heCBudW1iZXIgb2Ygc3RvcmFibGUgY29kZXdvcmRzXG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgTW9kZS5OVU1FUklDOlxuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKHVzYWJsZUJpdHMgLyAxMCkgKiAzKVxuXG4gICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKCh1c2FibGVCaXRzIC8gMTEpICogMilcblxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKHVzYWJsZUJpdHMgLyAxMylcblxuICAgIGNhc2UgTW9kZS5CWVRFOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcih1c2FibGVCaXRzIC8gOClcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG1pbmltdW0gdmVyc2lvbiBuZWVkZWQgdG8gY29udGFpbiB0aGUgYW1vdW50IG9mIGRhdGFcbiAqXG4gKiBAcGFyYW0gIHtTZWdtZW50fSBkYXRhICAgICAgICAgICAgICAgICAgICBTZWdtZW50IG9mIGRhdGFcbiAqIEBwYXJhbSAge051bWJlcn0gW2Vycm9yQ29ycmVjdGlvbkxldmVsPUhdIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSAge01vZGV9IG1vZGUgICAgICAgICAgICAgICAgICAgICAgIERhdGEgbW9kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXG4gKi9cbmV4cG9ydHMuZ2V0QmVzdFZlcnNpb25Gb3JEYXRhID0gZnVuY3Rpb24gZ2V0QmVzdFZlcnNpb25Gb3JEYXRhIChkYXRhLCBlcnJvckNvcnJlY3Rpb25MZXZlbCkge1xuICBsZXQgc2VnXG5cbiAgY29uc3QgZWNsID0gRUNMZXZlbC5mcm9tKGVycm9yQ29ycmVjdGlvbkxldmVsLCBFQ0xldmVsLk0pXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gZ2V0QmVzdFZlcnNpb25Gb3JNaXhlZERhdGEoZGF0YSwgZWNsKVxuICAgIH1cblxuICAgIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDFcbiAgICB9XG5cbiAgICBzZWcgPSBkYXRhWzBdXG4gIH0gZWxzZSB7XG4gICAgc2VnID0gZGF0YVxuICB9XG5cbiAgcmV0dXJuIGdldEJlc3RWZXJzaW9uRm9yRGF0YUxlbmd0aChzZWcubW9kZSwgc2VnLmdldExlbmd0aCgpLCBlY2wpXG59XG5cbi8qKlxuICogUmV0dXJucyB2ZXJzaW9uIGluZm9ybWF0aW9uIHdpdGggcmVsYXRpdmUgZXJyb3IgY29ycmVjdGlvbiBiaXRzXG4gKlxuICogVGhlIHZlcnNpb24gaW5mb3JtYXRpb24gaXMgaW5jbHVkZWQgaW4gUVIgQ29kZSBzeW1ib2xzIG9mIHZlcnNpb24gNyBvciBsYXJnZXIuXG4gKiBJdCBjb25zaXN0cyBvZiBhbiAxOC1iaXQgc2VxdWVuY2UgY29udGFpbmluZyA2IGRhdGEgYml0cyxcbiAqIHdpdGggMTIgZXJyb3IgY29ycmVjdGlvbiBiaXRzIGNhbGN1bGF0ZWQgdXNpbmcgdGhlICgxOCwgNikgR29sYXkgY29kZS5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgRW5jb2RlZCB2ZXJzaW9uIGluZm8gYml0c1xuICovXG5leHBvcnRzLmdldEVuY29kZWRCaXRzID0gZnVuY3Rpb24gZ2V0RW5jb2RlZEJpdHMgKHZlcnNpb24pIHtcbiAgaWYgKCFWZXJzaW9uQ2hlY2suaXNWYWxpZCh2ZXJzaW9uKSB8fCB2ZXJzaW9uIDwgNykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBRUiBDb2RlIHZlcnNpb24nKVxuICB9XG5cbiAgbGV0IGQgPSB2ZXJzaW9uIDw8IDEyXG5cbiAgd2hpbGUgKFV0aWxzLmdldEJDSERpZ2l0KGQpIC0gRzE4X0JDSCA+PSAwKSB7XG4gICAgZCBePSAoRzE4IDw8IChVdGlscy5nZXRCQ0hEaWdpdChkKSAtIEcxOF9CQ0gpKVxuICB9XG5cbiAgcmV0dXJuICh2ZXJzaW9uIDw8IDEyKSB8IGRcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/core/version.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/renderer/canvas.js": -/*!****************************************************!*\ - !*** ./node_modules/qrcode/lib/renderer/canvas.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/renderer/utils.js\")\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9jYW52YXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLDREQUFTOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9jYW52YXMuanM/OTViMyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBVdGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuXG5mdW5jdGlvbiBjbGVhckNhbnZhcyAoY3R4LCBjYW52YXMsIHNpemUpIHtcbiAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpXG5cbiAgaWYgKCFjYW52YXMuc3R5bGUpIGNhbnZhcy5zdHlsZSA9IHt9XG4gIGNhbnZhcy5oZWlnaHQgPSBzaXplXG4gIGNhbnZhcy53aWR0aCA9IHNpemVcbiAgY2FudmFzLnN0eWxlLmhlaWdodCA9IHNpemUgKyAncHgnXG4gIGNhbnZhcy5zdHlsZS53aWR0aCA9IHNpemUgKyAncHgnXG59XG5cbmZ1bmN0aW9uIGdldENhbnZhc0VsZW1lbnQgKCkge1xuICB0cnkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQnKVxuICB9XG59XG5cbmV4cG9ydHMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyIChxckRhdGEsIGNhbnZhcywgb3B0aW9ucykge1xuICBsZXQgb3B0cyA9IG9wdGlvbnNcbiAgbGV0IGNhbnZhc0VsID0gY2FudmFzXG5cbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJyAmJiAoIWNhbnZhcyB8fCAhY2FudmFzLmdldENvbnRleHQpKSB7XG4gICAgb3B0cyA9IGNhbnZhc1xuICAgIGNhbnZhcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKCFjYW52YXMpIHtcbiAgICBjYW52YXNFbCA9IGdldENhbnZhc0VsZW1lbnQoKVxuICB9XG5cbiAgb3B0cyA9IFV0aWxzLmdldE9wdGlvbnMob3B0cylcbiAgY29uc3Qgc2l6ZSA9IFV0aWxzLmdldEltYWdlV2lkdGgocXJEYXRhLm1vZHVsZXMuc2l6ZSwgb3B0cylcblxuICBjb25zdCBjdHggPSBjYW52YXNFbC5nZXRDb250ZXh0KCcyZCcpXG4gIGNvbnN0IGltYWdlID0gY3R4LmNyZWF0ZUltYWdlRGF0YShzaXplLCBzaXplKVxuICBVdGlscy5xclRvSW1hZ2VEYXRhKGltYWdlLmRhdGEsIHFyRGF0YSwgb3B0cylcblxuICBjbGVhckNhbnZhcyhjdHgsIGNhbnZhc0VsLCBzaXplKVxuICBjdHgucHV0SW1hZ2VEYXRhKGltYWdlLCAwLCAwKVxuXG4gIHJldHVybiBjYW52YXNFbFxufVxuXG5leHBvcnRzLnJlbmRlclRvRGF0YVVSTCA9IGZ1bmN0aW9uIHJlbmRlclRvRGF0YVVSTCAocXJEYXRhLCBjYW52YXMsIG9wdGlvbnMpIHtcbiAgbGV0IG9wdHMgPSBvcHRpb25zXG5cbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJyAmJiAoIWNhbnZhcyB8fCAhY2FudmFzLmdldENvbnRleHQpKSB7XG4gICAgb3B0cyA9IGNhbnZhc1xuICAgIGNhbnZhcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKCFvcHRzKSBvcHRzID0ge31cblxuICBjb25zdCBjYW52YXNFbCA9IGV4cG9ydHMucmVuZGVyKHFyRGF0YSwgY2FudmFzLCBvcHRzKVxuXG4gIGNvbnN0IHR5cGUgPSBvcHRzLnR5cGUgfHwgJ2ltYWdlL3BuZydcbiAgY29uc3QgcmVuZGVyZXJPcHRzID0gb3B0cy5yZW5kZXJlck9wdHMgfHwge31cblxuICByZXR1cm4gY2FudmFzRWwudG9EYXRhVVJMKHR5cGUsIHJlbmRlcmVyT3B0cy5xdWFsaXR5KVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/renderer/canvas.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/renderer/svg-tag.js": -/*!*****************************************************!*\ - !*** ./node_modules/qrcode/lib/renderer/svg-tag.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/qrcode/lib/renderer/utils.js\")\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9zdmctdGFnLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyw0REFBUzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGlCQUFpQjtBQUNuQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvcmVuZGVyZXIvc3ZnLXRhZy5qcz84MTkyIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmZ1bmN0aW9uIGdldENvbG9yQXR0cmliIChjb2xvciwgYXR0cmliKSB7XG4gIGNvbnN0IGFscGhhID0gY29sb3IuYSAvIDI1NVxuICBjb25zdCBzdHIgPSBhdHRyaWIgKyAnPVwiJyArIGNvbG9yLmhleCArICdcIidcblxuICByZXR1cm4gYWxwaGEgPCAxXG4gICAgPyBzdHIgKyAnICcgKyBhdHRyaWIgKyAnLW9wYWNpdHk9XCInICsgYWxwaGEudG9GaXhlZCgyKS5zbGljZSgxKSArICdcIidcbiAgICA6IHN0clxufVxuXG5mdW5jdGlvbiBzdmdDbWQgKGNtZCwgeCwgeSkge1xuICBsZXQgc3RyID0gY21kICsgeFxuICBpZiAodHlwZW9mIHkgIT09ICd1bmRlZmluZWQnKSBzdHIgKz0gJyAnICsgeVxuXG4gIHJldHVybiBzdHJcbn1cblxuZnVuY3Rpb24gcXJUb1BhdGggKGRhdGEsIHNpemUsIG1hcmdpbikge1xuICBsZXQgcGF0aCA9ICcnXG4gIGxldCBtb3ZlQnkgPSAwXG4gIGxldCBuZXdSb3cgPSBmYWxzZVxuICBsZXQgbGluZUxlbmd0aCA9IDBcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjb2wgPSBNYXRoLmZsb29yKGkgJSBzaXplKVxuICAgIGNvbnN0IHJvdyA9IE1hdGguZmxvb3IoaSAvIHNpemUpXG5cbiAgICBpZiAoIWNvbCAmJiAhbmV3Um93KSBuZXdSb3cgPSB0cnVlXG5cbiAgICBpZiAoZGF0YVtpXSkge1xuICAgICAgbGluZUxlbmd0aCsrXG5cbiAgICAgIGlmICghKGkgPiAwICYmIGNvbCA+IDAgJiYgZGF0YVtpIC0gMV0pKSB7XG4gICAgICAgIHBhdGggKz0gbmV3Um93XG4gICAgICAgICAgPyBzdmdDbWQoJ00nLCBjb2wgKyBtYXJnaW4sIDAuNSArIHJvdyArIG1hcmdpbilcbiAgICAgICAgICA6IHN2Z0NtZCgnbScsIG1vdmVCeSwgMClcblxuICAgICAgICBtb3ZlQnkgPSAwXG4gICAgICAgIG5ld1JvdyA9IGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGlmICghKGNvbCArIDEgPCBzaXplICYmIGRhdGFbaSArIDFdKSkge1xuICAgICAgICBwYXRoICs9IHN2Z0NtZCgnaCcsIGxpbmVMZW5ndGgpXG4gICAgICAgIGxpbmVMZW5ndGggPSAwXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vdmVCeSsrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhdGhcbn1cblxuZXhwb3J0cy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIgKHFyRGF0YSwgb3B0aW9ucywgY2IpIHtcbiAgY29uc3Qgb3B0cyA9IFV0aWxzLmdldE9wdGlvbnMob3B0aW9ucylcbiAgY29uc3Qgc2l6ZSA9IHFyRGF0YS5tb2R1bGVzLnNpemVcbiAgY29uc3QgZGF0YSA9IHFyRGF0YS5tb2R1bGVzLmRhdGFcbiAgY29uc3QgcXJjb2Rlc2l6ZSA9IHNpemUgKyBvcHRzLm1hcmdpbiAqIDJcblxuICBjb25zdCBiZyA9ICFvcHRzLmNvbG9yLmxpZ2h0LmFcbiAgICA/ICcnXG4gICAgOiAnPHBhdGggJyArIGdldENvbG9yQXR0cmliKG9wdHMuY29sb3IubGlnaHQsICdmaWxsJykgK1xuICAgICAgJyBkPVwiTTAgMGgnICsgcXJjb2Rlc2l6ZSArICd2JyArIHFyY29kZXNpemUgKyAnSDB6XCIvPidcblxuICBjb25zdCBwYXRoID1cbiAgICAnPHBhdGggJyArIGdldENvbG9yQXR0cmliKG9wdHMuY29sb3IuZGFyaywgJ3N0cm9rZScpICtcbiAgICAnIGQ9XCInICsgcXJUb1BhdGgoZGF0YSwgc2l6ZSwgb3B0cy5tYXJnaW4pICsgJ1wiLz4nXG5cbiAgY29uc3Qgdmlld0JveCA9ICd2aWV3Qm94PVwiJyArICcwIDAgJyArIHFyY29kZXNpemUgKyAnICcgKyBxcmNvZGVzaXplICsgJ1wiJ1xuXG4gIGNvbnN0IHdpZHRoID0gIW9wdHMud2lkdGggPyAnJyA6ICd3aWR0aD1cIicgKyBvcHRzLndpZHRoICsgJ1wiIGhlaWdodD1cIicgKyBvcHRzLndpZHRoICsgJ1wiICdcblxuICBjb25zdCBzdmdUYWcgPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgJyArIHdpZHRoICsgdmlld0JveCArICcgc2hhcGUtcmVuZGVyaW5nPVwiY3Jpc3BFZGdlc1wiPicgKyBiZyArIHBhdGggKyAnPC9zdmc+XFxuJ1xuXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYihudWxsLCBzdmdUYWcpXG4gIH1cblxuICByZXR1cm4gc3ZnVGFnXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/renderer/svg-tag.js\n")); - -/***/ }), - -/***/ "./node_modules/qrcode/lib/renderer/utils.js": -/*!***************************************************!*\ - !*** ./node_modules/qrcode/lib/renderer/utils.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQjtBQUNsQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEMsb0JBQW9CLGdCQUFnQjtBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci91dGlscy5qcz84MGExIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGhleDJyZ2JhIChoZXgpIHtcbiAgaWYgKHR5cGVvZiBoZXggPT09ICdudW1iZXInKSB7XG4gICAgaGV4ID0gaGV4LnRvU3RyaW5nKClcbiAgfVxuXG4gIGlmICh0eXBlb2YgaGV4ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZycpXG4gIH1cblxuICBsZXQgaGV4Q29kZSA9IGhleC5zbGljZSgpLnJlcGxhY2UoJyMnLCAnJykuc3BsaXQoJycpXG4gIGlmIChoZXhDb2RlLmxlbmd0aCA8IDMgfHwgaGV4Q29kZS5sZW5ndGggPT09IDUgfHwgaGV4Q29kZS5sZW5ndGggPiA4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjogJyArIGhleClcbiAgfVxuXG4gIC8vIENvbnZlcnQgZnJvbSBzaG9ydCB0byBsb25nIGZvcm0gKGZmZiAtPiBmZmZmZmYpXG4gIGlmIChoZXhDb2RlLmxlbmd0aCA9PT0gMyB8fCBoZXhDb2RlLmxlbmd0aCA9PT0gNCkge1xuICAgIGhleENvZGUgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBoZXhDb2RlLm1hcChmdW5jdGlvbiAoYykge1xuICAgICAgcmV0dXJuIFtjLCBjXVxuICAgIH0pKVxuICB9XG5cbiAgLy8gQWRkIGRlZmF1bHQgYWxwaGEgdmFsdWVcbiAgaWYgKGhleENvZGUubGVuZ3RoID09PSA2KSBoZXhDb2RlLnB1c2goJ0YnLCAnRicpXG5cbiAgY29uc3QgaGV4VmFsdWUgPSBwYXJzZUludChoZXhDb2RlLmpvaW4oJycpLCAxNilcblxuICByZXR1cm4ge1xuICAgIHI6IChoZXhWYWx1ZSA+PiAyNCkgJiAyNTUsXG4gICAgZzogKGhleFZhbHVlID4+IDE2KSAmIDI1NSxcbiAgICBiOiAoaGV4VmFsdWUgPj4gOCkgJiAyNTUsXG4gICAgYTogaGV4VmFsdWUgJiAyNTUsXG4gICAgaGV4OiAnIycgKyBoZXhDb2RlLnNsaWNlKDAsIDYpLmpvaW4oJycpXG4gIH1cbn1cblxuZXhwb3J0cy5nZXRPcHRpb25zID0gZnVuY3Rpb24gZ2V0T3B0aW9ucyAob3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fVxuICBpZiAoIW9wdGlvbnMuY29sb3IpIG9wdGlvbnMuY29sb3IgPSB7fVxuXG4gIGNvbnN0IG1hcmdpbiA9IHR5cGVvZiBvcHRpb25zLm1hcmdpbiA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICBvcHRpb25zLm1hcmdpbiA9PT0gbnVsbCB8fFxuICAgIG9wdGlvbnMubWFyZ2luIDwgMFxuICAgID8gNFxuICAgIDogb3B0aW9ucy5tYXJnaW5cblxuICBjb25zdCB3aWR0aCA9IG9wdGlvbnMud2lkdGggJiYgb3B0aW9ucy53aWR0aCA+PSAyMSA/IG9wdGlvbnMud2lkdGggOiB1bmRlZmluZWRcbiAgY29uc3Qgc2NhbGUgPSBvcHRpb25zLnNjYWxlIHx8IDRcblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBzY2FsZTogd2lkdGggPyA0IDogc2NhbGUsXG4gICAgbWFyZ2luOiBtYXJnaW4sXG4gICAgY29sb3I6IHtcbiAgICAgIGRhcms6IGhleDJyZ2JhKG9wdGlvbnMuY29sb3IuZGFyayB8fCAnIzAwMDAwMGZmJyksXG4gICAgICBsaWdodDogaGV4MnJnYmEob3B0aW9ucy5jb2xvci5saWdodCB8fCAnI2ZmZmZmZmZmJylcbiAgICB9LFxuICAgIHR5cGU6IG9wdGlvbnMudHlwZSxcbiAgICByZW5kZXJlck9wdHM6IG9wdGlvbnMucmVuZGVyZXJPcHRzIHx8IHt9XG4gIH1cbn1cblxuZXhwb3J0cy5nZXRTY2FsZSA9IGZ1bmN0aW9uIGdldFNjYWxlIChxclNpemUsIG9wdHMpIHtcbiAgcmV0dXJuIG9wdHMud2lkdGggJiYgb3B0cy53aWR0aCA+PSBxclNpemUgKyBvcHRzLm1hcmdpbiAqIDJcbiAgICA/IG9wdHMud2lkdGggLyAocXJTaXplICsgb3B0cy5tYXJnaW4gKiAyKVxuICAgIDogb3B0cy5zY2FsZVxufVxuXG5leHBvcnRzLmdldEltYWdlV2lkdGggPSBmdW5jdGlvbiBnZXRJbWFnZVdpZHRoIChxclNpemUsIG9wdHMpIHtcbiAgY29uc3Qgc2NhbGUgPSBleHBvcnRzLmdldFNjYWxlKHFyU2l6ZSwgb3B0cylcbiAgcmV0dXJuIE1hdGguZmxvb3IoKHFyU2l6ZSArIG9wdHMubWFyZ2luICogMikgKiBzY2FsZSlcbn1cblxuZXhwb3J0cy5xclRvSW1hZ2VEYXRhID0gZnVuY3Rpb24gcXJUb0ltYWdlRGF0YSAoaW1nRGF0YSwgcXIsIG9wdHMpIHtcbiAgY29uc3Qgc2l6ZSA9IHFyLm1vZHVsZXMuc2l6ZVxuICBjb25zdCBkYXRhID0gcXIubW9kdWxlcy5kYXRhXG4gIGNvbnN0IHNjYWxlID0gZXhwb3J0cy5nZXRTY2FsZShzaXplLCBvcHRzKVxuICBjb25zdCBzeW1ib2xTaXplID0gTWF0aC5mbG9vcigoc2l6ZSArIG9wdHMubWFyZ2luICogMikgKiBzY2FsZSlcbiAgY29uc3Qgc2NhbGVkTWFyZ2luID0gb3B0cy5tYXJnaW4gKiBzY2FsZVxuICBjb25zdCBwYWxldHRlID0gW29wdHMuY29sb3IubGlnaHQsIG9wdHMuY29sb3IuZGFya11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN5bWJvbFNpemU7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgc3ltYm9sU2l6ZTsgaisrKSB7XG4gICAgICBsZXQgcG9zRHN0ID0gKGkgKiBzeW1ib2xTaXplICsgaikgKiA0XG4gICAgICBsZXQgcHhDb2xvciA9IG9wdHMuY29sb3IubGlnaHRcblxuICAgICAgaWYgKGkgPj0gc2NhbGVkTWFyZ2luICYmIGogPj0gc2NhbGVkTWFyZ2luICYmXG4gICAgICAgIGkgPCBzeW1ib2xTaXplIC0gc2NhbGVkTWFyZ2luICYmIGogPCBzeW1ib2xTaXplIC0gc2NhbGVkTWFyZ2luKSB7XG4gICAgICAgIGNvbnN0IGlTcmMgPSBNYXRoLmZsb29yKChpIC0gc2NhbGVkTWFyZ2luKSAvIHNjYWxlKVxuICAgICAgICBjb25zdCBqU3JjID0gTWF0aC5mbG9vcigoaiAtIHNjYWxlZE1hcmdpbikgLyBzY2FsZSlcbiAgICAgICAgcHhDb2xvciA9IHBhbGV0dGVbZGF0YVtpU3JjICogc2l6ZSArIGpTcmNdID8gMSA6IDBdXG4gICAgICB9XG5cbiAgICAgIGltZ0RhdGFbcG9zRHN0KytdID0gcHhDb2xvci5yXG4gICAgICBpbWdEYXRhW3Bvc0RzdCsrXSA9IHB4Q29sb3IuZ1xuICAgICAgaW1nRGF0YVtwb3NEc3QrK10gPSBweENvbG9yLmJcbiAgICAgIGltZ0RhdGFbcG9zRHN0XSA9IHB4Q29sb3IuYVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/qrcode/lib/renderer/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/css-tag.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/css-tag.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CSSResult: function() { return /* binding */ CSSResult; },\n/* harmony export */ adoptStyles: function() { return /* binding */ adoptStyles; },\n/* harmony export */ css: function() { return /* binding */ css; },\n/* harmony export */ getCompatibleStyle: function() { return /* binding */ getCompatibleStyle; },\n/* harmony export */ supportsAdoptingStyleSheets: function() { return /* binding */ supportsAdoptingStyleSheets; },\n/* harmony export */ unsafeCSS: function() { return /* binding */ unsafeCSS; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst NODE_MODE = false;\nconst global = NODE_MODE ? globalThis : window;\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nconst supportsAdoptingStyleSheets = global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\nconst constructionToken = Symbol();\nconst cssTagCache = new WeakMap();\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nclass CSSResult {\n constructor(cssText, strings, safeToken) {\n // This property needs to remain unminified.\n this['_$cssResult$'] = true;\n if (safeToken !== constructionToken) {\n throw new Error('CSSResult is not constructable. Use `unsafeCSS` or `css` instead.');\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet() {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(this.cssText);\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n toString() {\n return this.cssText;\n }\n}\nconst textFromCSSResult = (value) => {\n // This property needs to remain unminified.\n if (value['_$cssResult$'] === true) {\n return value.cssText;\n }\n else if (typeof value === 'number') {\n return value;\n }\n else {\n throw new Error(`Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`);\n }\n};\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nconst unsafeCSS = (value) => new CSSResult(typeof value === 'string' ? value : String(value), undefined, constructionToken);\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nconst css = (strings, ...values) => {\n const cssText = strings.length === 1\n ? strings[0]\n : values.reduce((acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1], strings[0]);\n return new CSSResult(cssText, strings, constructionToken);\n};\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nconst adoptStyles = (renderRoot, styles) => {\n if (supportsAdoptingStyleSheets) {\n renderRoot.adoptedStyleSheets = styles.map((s) => s instanceof CSSStyleSheet ? s : s.styleSheet);\n }\n else {\n styles.forEach((s) => {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = global['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = s.cssText;\n renderRoot.appendChild(style);\n });\n }\n};\nconst cssResultFromStyleSheet = (sheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\nconst getCompatibleStyle = supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s) => s\n : (s) => s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n//# sourceMappingURL=css-tag.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2Nzcy10YWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxlQUFlO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSxJQUFJLDZCQUE2QjtBQUNqQztBQUNBO0FBQ0EsNERBQTREO0FBQzVEO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZXZlbG9wbWVudC9jc3MtdGFnLmpzP2VlZjEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5jb25zdCBOT0RFX01PREUgPSBmYWxzZTtcbmNvbnN0IGdsb2JhbCA9IE5PREVfTU9ERSA/IGdsb2JhbFRoaXMgOiB3aW5kb3c7XG4vKipcbiAqIFdoZXRoZXIgdGhlIGN1cnJlbnQgYnJvd3NlciBzdXBwb3J0cyBgYWRvcHRlZFN0eWxlU2hlZXRzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHN1cHBvcnRzQWRvcHRpbmdTdHlsZVNoZWV0cyA9IGdsb2JhbC5TaGFkb3dSb290ICYmXG4gICAgKGdsb2JhbC5TaGFkeUNTUyA9PT0gdW5kZWZpbmVkIHx8IGdsb2JhbC5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpICYmXG4gICAgJ2Fkb3B0ZWRTdHlsZVNoZWV0cycgaW4gRG9jdW1lbnQucHJvdG90eXBlICYmXG4gICAgJ3JlcGxhY2UnIGluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlO1xuY29uc3QgY29uc3RydWN0aW9uVG9rZW4gPSBTeW1ib2woKTtcbmNvbnN0IGNzc1RhZ0NhY2hlID0gbmV3IFdlYWtNYXAoKTtcbi8qKlxuICogQSBjb250YWluZXIgZm9yIGEgc3RyaW5nIG9mIENTUyB0ZXh0LCB0aGF0IG1heSBiZSB1c2VkIHRvIGNyZWF0ZSBhIENTU1N0eWxlU2hlZXQuXG4gKlxuICogQ1NTUmVzdWx0IGlzIHRoZSByZXR1cm4gdmFsdWUgb2YgYGNzc2AtdGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWxzIGFuZFxuICogYHVuc2FmZUNTUygpYC4gSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgQ1NTUmVzdWx0cyBhcmUgb25seSBjcmVhdGVkIHZpYSB0aGVcbiAqIGBjc3NgIHRhZyBhbmQgYHVuc2FmZUNTUygpYCwgQ1NTUmVzdWx0IGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGNsYXNzIENTU1Jlc3VsdCB7XG4gICAgY29uc3RydWN0b3IoY3NzVGV4dCwgc3RyaW5ncywgc2FmZVRva2VuKSB7XG4gICAgICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgICAgIHRoaXNbJ18kY3NzUmVzdWx0JCddID0gdHJ1ZTtcbiAgICAgICAgaWYgKHNhZmVUb2tlbiAhPT0gY29uc3RydWN0aW9uVG9rZW4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ1NTUmVzdWx0IGlzIG5vdCBjb25zdHJ1Y3RhYmxlLiBVc2UgYHVuc2FmZUNTU2Agb3IgYGNzc2AgaW5zdGVhZC4nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNzc1RleHQgPSBjc3NUZXh0O1xuICAgICAgICB0aGlzLl9zdHJpbmdzID0gc3RyaW5ncztcbiAgICB9XG4gICAgLy8gVGhpcyBpcyBhIGdldHRlciBzbyB0aGF0IGl0J3MgbGF6eS4gSW4gcHJhY3RpY2UsIHRoaXMgbWVhbnMgc3R5bGVzaGVldHNcbiAgICAvLyBhcmUgbm90IGNyZWF0ZWQgdW50aWwgdGhlIGZpcnN0IGVsZW1lbnQgaW5zdGFuY2UgaXMgbWFkZS5cbiAgICBnZXQgc3R5bGVTaGVldCgpIHtcbiAgICAgICAgLy8gSWYgYHN1cHBvcnRzQWRvcHRpbmdTdHlsZVNoZWV0c2AgaXMgdHJ1ZSB0aGVuIHdlIGFzc3VtZSBDU1NTdHlsZVNoZWV0IGlzXG4gICAgICAgIC8vIGNvbnN0cnVjdGFibGUuXG4gICAgICAgIGxldCBzdHlsZVNoZWV0ID0gdGhpcy5fc3R5bGVTaGVldDtcbiAgICAgICAgY29uc3Qgc3RyaW5ncyA9IHRoaXMuX3N0cmluZ3M7XG4gICAgICAgIGlmIChzdXBwb3J0c0Fkb3B0aW5nU3R5bGVTaGVldHMgJiYgc3R5bGVTaGVldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWFibGUgPSBzdHJpbmdzICE9PSB1bmRlZmluZWQgJiYgc3RyaW5ncy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgICBpZiAoY2FjaGVhYmxlKSB7XG4gICAgICAgICAgICAgICAgc3R5bGVTaGVldCA9IGNzc1RhZ0NhY2hlLmdldChzdHJpbmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdHlsZVNoZWV0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAodGhpcy5fc3R5bGVTaGVldCA9IHN0eWxlU2hlZXQgPSBuZXcgQ1NTU3R5bGVTaGVldCgpKS5yZXBsYWNlU3luYyh0aGlzLmNzc1RleHQpO1xuICAgICAgICAgICAgICAgIGlmIChjYWNoZWFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY3NzVGFnQ2FjaGUuc2V0KHN0cmluZ3MsIHN0eWxlU2hlZXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3R5bGVTaGVldDtcbiAgICB9XG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNzc1RleHQ7XG4gICAgfVxufVxuY29uc3QgdGV4dEZyb21DU1NSZXN1bHQgPSAodmFsdWUpID0+IHtcbiAgICAvLyBUaGlzIHByb3BlcnR5IG5lZWRzIHRvIHJlbWFpbiB1bm1pbmlmaWVkLlxuICAgIGlmICh2YWx1ZVsnXyRjc3NSZXN1bHQkJ10gPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmNzc1RleHQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWYWx1ZSBwYXNzZWQgdG8gJ2NzcycgZnVuY3Rpb24gbXVzdCBiZSBhICdjc3MnIGZ1bmN0aW9uIHJlc3VsdDogYCArXG4gICAgICAgICAgICBgJHt2YWx1ZX0uIFVzZSAndW5zYWZlQ1NTJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0IHRha2UgY2FyZSBgICtcbiAgICAgICAgICAgIGB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS5gKTtcbiAgICB9XG59O1xuLyoqXG4gKiBXcmFwIGEgdmFsdWUgZm9yIGludGVycG9sYXRpb24gaW4gYSB7QGxpbmtjb2RlIGNzc30gdGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWwuXG4gKlxuICogVGhpcyBpcyB1bnNhZmUgYmVjYXVzZSB1bnRydXN0ZWQgQ1NTIHRleHQgY2FuIGJlIHVzZWQgdG8gcGhvbmUgaG9tZVxuICogb3IgZXhmaWx0cmF0ZSBkYXRhIHRvIGFuIGF0dGFja2VyIGNvbnRyb2xsZWQgc2l0ZS4gVGFrZSBjYXJlIHRvIG9ubHkgdXNlXG4gKiB0aGlzIHdpdGggdHJ1c3RlZCBpbnB1dC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVuc2FmZUNTUyA9ICh2YWx1ZSkgPT4gbmV3IENTU1Jlc3VsdCh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiBTdHJpbmcodmFsdWUpLCB1bmRlZmluZWQsIGNvbnN0cnVjdGlvblRva2VuKTtcbi8qKlxuICogQSB0ZW1wbGF0ZSBsaXRlcmFsIHRhZyB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIExpdEVsZW1lbnQnc1xuICoge0BsaW5rY29kZSBMaXRFbGVtZW50LnN0eWxlc30gcHJvcGVydHkgdG8gc2V0IGVsZW1lbnQgc3R5bGVzLlxuICpcbiAqIEZvciBzZWN1cml0eSByZWFzb25zLCBvbmx5IGxpdGVyYWwgc3RyaW5nIHZhbHVlcyBhbmQgbnVtYmVyIG1heSBiZSB1c2VkIGluXG4gKiBlbWJlZGRlZCBleHByZXNzaW9ucy4gVG8gaW5jb3Jwb3JhdGUgbm9uLWxpdGVyYWwgdmFsdWVzIHtAbGlua2NvZGUgdW5zYWZlQ1NTfVxuICogbWF5IGJlIHVzZWQgaW5zaWRlIGFuIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBjb25zdCBjc3MgPSAoc3RyaW5ncywgLi4udmFsdWVzKSA9PiB7XG4gICAgY29uc3QgY3NzVGV4dCA9IHN0cmluZ3MubGVuZ3RoID09PSAxXG4gICAgICAgID8gc3RyaW5nc1swXVxuICAgICAgICA6IHZhbHVlcy5yZWR1Y2UoKGFjYywgdiwgaWR4KSA9PiBhY2MgKyB0ZXh0RnJvbUNTU1Jlc3VsdCh2KSArIHN0cmluZ3NbaWR4ICsgMV0sIHN0cmluZ3NbMF0pO1xuICAgIHJldHVybiBuZXcgQ1NTUmVzdWx0KGNzc1RleHQsIHN0cmluZ3MsIGNvbnN0cnVjdGlvblRva2VuKTtcbn07XG4vKipcbiAqIEFwcGxpZXMgdGhlIGdpdmVuIHN0eWxlcyB0byBhIGBzaGFkb3dSb290YC4gV2hlbiBTaGFkb3cgRE9NIGlzXG4gKiBhdmFpbGFibGUgYnV0IGBhZG9wdGVkU3R5bGVTaGVldHNgIGlzIG5vdCwgc3R5bGVzIGFyZSBhcHBlbmRlZCB0byB0aGVcbiAqIGBzaGFkb3dSb290YCB0byBbbWltaWMgc3BlYyBiZWhhdmlvcl0oaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9jb25zdHJ1Y3Qtc3R5bGVzaGVldHMvI3VzaW5nLWNvbnN0cnVjdGVkLXN0eWxlc2hlZXRzKS5cbiAqIE5vdGUsIHdoZW4gc2hpbW1pbmcgaXMgdXNlZCwgYW55IHN0eWxlcyB0aGF0IGFyZSBzdWJzZXF1ZW50bHkgcGxhY2VkIGludG9cbiAqIHRoZSBzaGFkb3dSb290IHNob3VsZCBiZSBwbGFjZWQgKmJlZm9yZSogYW55IHNoaW1tZWQgYWRvcHRlZCBzdHlsZXMuIFRoaXNcbiAqIHdpbGwgbWF0Y2ggc3BlYyBiZWhhdmlvciB0aGF0IGdpdmVzIGFkb3B0ZWQgc2hlZXRzIHByZWNlZGVuY2Ugb3ZlciBzdHlsZXMgaW5cbiAqIHNoYWRvd1Jvb3QuXG4gKi9cbmV4cG9ydCBjb25zdCBhZG9wdFN0eWxlcyA9IChyZW5kZXJSb290LCBzdHlsZXMpID0+IHtcbiAgICBpZiAoc3VwcG9ydHNBZG9wdGluZ1N0eWxlU2hlZXRzKSB7XG4gICAgICAgIHJlbmRlclJvb3QuYWRvcHRlZFN0eWxlU2hlZXRzID0gc3R5bGVzLm1hcCgocykgPT4gcyBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQgPyBzIDogcy5zdHlsZVNoZWV0KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHN0eWxlcy5mb3JFYWNoKChzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgY29uc3Qgbm9uY2UgPSBnbG9iYWxbJ2xpdE5vbmNlJ107XG4gICAgICAgICAgICBpZiAobm9uY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgnbm9uY2UnLCBub25jZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdHlsZS50ZXh0Q29udGVudCA9IHMuY3NzVGV4dDtcbiAgICAgICAgICAgIHJlbmRlclJvb3QuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59O1xuY29uc3QgY3NzUmVzdWx0RnJvbVN0eWxlU2hlZXQgPSAoc2hlZXQpID0+IHtcbiAgICBsZXQgY3NzVGV4dCA9ICcnO1xuICAgIGZvciAoY29uc3QgcnVsZSBvZiBzaGVldC5jc3NSdWxlcykge1xuICAgICAgICBjc3NUZXh0ICs9IHJ1bGUuY3NzVGV4dDtcbiAgICB9XG4gICAgcmV0dXJuIHVuc2FmZUNTUyhjc3NUZXh0KTtcbn07XG5leHBvcnQgY29uc3QgZ2V0Q29tcGF0aWJsZVN0eWxlID0gc3VwcG9ydHNBZG9wdGluZ1N0eWxlU2hlZXRzIHx8XG4gICAgKE5PREVfTU9ERSAmJiBnbG9iYWwuQ1NTU3R5bGVTaGVldCA9PT0gdW5kZWZpbmVkKVxuICAgID8gKHMpID0+IHNcbiAgICA6IChzKSA9PiBzIGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldCA/IGNzc1Jlc3VsdEZyb21TdHlsZVNoZWV0KHMpIDogcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNzcy10YWcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/css-tag.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/base.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/base.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decorateProperty: function() { return /* binding */ decorateProperty; },\n/* harmony export */ legacyPrototypeMethod: function() { return /* binding */ legacyPrototypeMethod; },\n/* harmony export */ standardPrototypeMethod: function() { return /* binding */ standardPrototypeMethod; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst legacyPrototypeMethod = (descriptor, proto, name) => {\n Object.defineProperty(proto, name, descriptor);\n};\nconst standardPrototypeMethod = (descriptor, element) => ({\n kind: 'method',\n placement: 'prototype',\n key: element.key,\n descriptor,\n});\n/**\n * Helper for decorating a property that is compatible with both TypeScript\n * and Babel decorators. The optional `finisher` can be used to perform work on\n * the class. The optional `descriptor` should return a PropertyDescriptor\n * to install for the given property.\n *\n * @param finisher {function} Optional finisher method; receives the element\n * constructor and property key as arguments and has no return value.\n * @param descriptor {function} Optional descriptor method; receives the\n * property key as an argument and returns a property descriptor to define for\n * the given property.\n * @returns {ClassElement|void}\n */\nconst decorateProperty = ({ finisher, descriptor, }) => (protoOrDescriptor, name\n// Note TypeScript requires the return type to be `void|any`\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n var _a;\n // TypeScript / Babel legacy mode\n if (name !== undefined) {\n const ctor = protoOrDescriptor\n .constructor;\n if (descriptor !== undefined) {\n Object.defineProperty(protoOrDescriptor, name, descriptor(name));\n }\n finisher === null || finisher === void 0 ? void 0 : finisher(ctor, name);\n // Babel standard mode\n }\n else {\n // Note, the @property decorator saves `key` as `originalKey`\n // so try to use it here.\n const key = \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (_a = protoOrDescriptor.originalKey) !== null && _a !== void 0 ? _a : protoOrDescriptor.key;\n const info = descriptor != undefined\n ? {\n kind: 'method',\n placement: 'prototype',\n key,\n descriptor: descriptor(protoOrDescriptor.key),\n }\n : { ...protoOrDescriptor, key };\n if (finisher != undefined) {\n info.finisher = function (ctor) {\n finisher(ctor, key);\n };\n }\n return info;\n }\n};\n//# sourceMappingURL=base.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvYmFzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsVUFBVSwwQkFBMEI7QUFDeEQ7QUFDQSxzQkFBc0IsVUFBVSw0QkFBNEI7QUFDNUQ7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNPLDRCQUE0Qix1QkFBdUI7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvYmFzZS5qcz8xZjQ1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuZXhwb3J0IGNvbnN0IGxlZ2FjeVByb3RvdHlwZU1ldGhvZCA9IChkZXNjcmlwdG9yLCBwcm90bywgbmFtZSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgbmFtZSwgZGVzY3JpcHRvcik7XG59O1xuZXhwb3J0IGNvbnN0IHN0YW5kYXJkUHJvdG90eXBlTWV0aG9kID0gKGRlc2NyaXB0b3IsIGVsZW1lbnQpID0+ICh7XG4gICAga2luZDogJ21ldGhvZCcsXG4gICAgcGxhY2VtZW50OiAncHJvdG90eXBlJyxcbiAgICBrZXk6IGVsZW1lbnQua2V5LFxuICAgIGRlc2NyaXB0b3IsXG59KTtcbi8qKlxuICogSGVscGVyIGZvciBkZWNvcmF0aW5nIGEgcHJvcGVydHkgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggYm90aCBUeXBlU2NyaXB0XG4gKiBhbmQgQmFiZWwgZGVjb3JhdG9ycy4gVGhlIG9wdGlvbmFsIGBmaW5pc2hlcmAgY2FuIGJlIHVzZWQgdG8gcGVyZm9ybSB3b3JrIG9uXG4gKiB0aGUgY2xhc3MuIFRoZSBvcHRpb25hbCBgZGVzY3JpcHRvcmAgc2hvdWxkIHJldHVybiBhIFByb3BlcnR5RGVzY3JpcHRvclxuICogdG8gaW5zdGFsbCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBmaW5pc2hlciB7ZnVuY3Rpb259IE9wdGlvbmFsIGZpbmlzaGVyIG1ldGhvZDsgcmVjZWl2ZXMgdGhlIGVsZW1lbnRcbiAqIGNvbnN0cnVjdG9yIGFuZCBwcm9wZXJ0eSBrZXkgYXMgYXJndW1lbnRzIGFuZCBoYXMgbm8gcmV0dXJuIHZhbHVlLlxuICogQHBhcmFtIGRlc2NyaXB0b3Ige2Z1bmN0aW9ufSBPcHRpb25hbCBkZXNjcmlwdG9yIG1ldGhvZDsgcmVjZWl2ZXMgdGhlXG4gKiBwcm9wZXJ0eSBrZXkgYXMgYW4gYXJndW1lbnQgYW5kIHJldHVybnMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRvIGRlZmluZSBmb3JcbiAqIHRoZSBnaXZlbiBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIHtDbGFzc0VsZW1lbnR8dm9pZH1cbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29yYXRlUHJvcGVydHkgPSAoeyBmaW5pc2hlciwgZGVzY3JpcHRvciwgfSkgPT4gKHByb3RvT3JEZXNjcmlwdG9yLCBuYW1lXG4vLyBOb3RlIFR5cGVTY3JpcHQgcmVxdWlyZXMgdGhlIHJldHVybiB0eXBlIHRvIGJlIGB2b2lkfGFueWBcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgLy8gVHlwZVNjcmlwdCAvIEJhYmVsIGxlZ2FjeSBtb2RlXG4gICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBjdG9yID0gcHJvdG9PckRlc2NyaXB0b3JcbiAgICAgICAgICAgIC5jb25zdHJ1Y3RvcjtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvT3JEZXNjcmlwdG9yLCBuYW1lLCBkZXNjcmlwdG9yKG5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5pc2hlciA9PT0gbnVsbCB8fCBmaW5pc2hlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmluaXNoZXIoY3RvciwgbmFtZSk7XG4gICAgICAgIC8vIEJhYmVsIHN0YW5kYXJkIG1vZGVcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIE5vdGUsIHRoZSBAcHJvcGVydHkgZGVjb3JhdG9yIHNhdmVzIGBrZXlgIGFzIGBvcmlnaW5hbEtleWBcbiAgICAgICAgLy8gc28gdHJ5IHRvIHVzZSBpdCBoZXJlLlxuICAgICAgICBjb25zdCBrZXkgPSBcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgKF9hID0gcHJvdG9PckRlc2NyaXB0b3Iub3JpZ2luYWxLZXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHByb3RvT3JEZXNjcmlwdG9yLmtleTtcbiAgICAgICAgY29uc3QgaW5mbyA9IGRlc2NyaXB0b3IgIT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBraW5kOiAnbWV0aG9kJyxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdwcm90b3R5cGUnLFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBkZXNjcmlwdG9yKHByb3RvT3JEZXNjcmlwdG9yLmtleSksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHsgLi4ucHJvdG9PckRlc2NyaXB0b3IsIGtleSB9O1xuICAgICAgICBpZiAoZmluaXNoZXIgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpbmZvLmZpbmlzaGVyID0gZnVuY3Rpb24gKGN0b3IpIHtcbiAgICAgICAgICAgICAgICBmaW5pc2hlcihjdG9yLCBrZXkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5mbztcbiAgICB9XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmFzZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/base.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/custom-element.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/custom-element.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ customElement: function() { return /* binding */ customElement; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst legacyCustomElement = (tagName, clazz) => {\n customElements.define(tagName, clazz);\n // Cast as any because TS doesn't recognize the return type as being a\n // subtype of the decorated class when clazz is typed as\n // `Constructor<HTMLElement>` for some reason.\n // `Constructor<HTMLElement>` is helpful to make sure the decorator is\n // applied to elements however.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return clazz;\n};\nconst standardCustomElement = (tagName, descriptor) => {\n const { kind, elements } = descriptor;\n return {\n kind,\n elements,\n // This callback is called once the class is otherwise fully defined\n finisher(clazz) {\n customElements.define(tagName, clazz);\n },\n };\n};\n/**\n * Class decorator factory that defines the decorated class as a custom element.\n *\n * ```js\n * @customElement('my-element')\n * class MyElement extends LitElement {\n * render() {\n * return html``;\n * }\n * }\n * ```\n * @category Decorator\n * @param tagName The tag name of the custom element to define.\n */\nconst customElement = (tagName) => (classOrDescriptor) => typeof classOrDescriptor === 'function'\n ? legacyCustomElement(tagName, classOrDescriptor)\n : standardCustomElement(tagName, classOrDescriptor);\n//# sourceMappingURL=custom-element.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvY3VzdG9tLWVsZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxpQkFBaUI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZXZlbG9wbWVudC9kZWNvcmF0b3JzL2N1c3RvbS1lbGVtZW50LmpzPzUyMTMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5jb25zdCBsZWdhY3lDdXN0b21FbGVtZW50ID0gKHRhZ05hbWUsIGNsYXp6KSA9PiB7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKHRhZ05hbWUsIGNsYXp6KTtcbiAgICAvLyBDYXN0IGFzIGFueSBiZWNhdXNlIFRTIGRvZXNuJ3QgcmVjb2duaXplIHRoZSByZXR1cm4gdHlwZSBhcyBiZWluZyBhXG4gICAgLy8gc3VidHlwZSBvZiB0aGUgZGVjb3JhdGVkIGNsYXNzIHdoZW4gY2xhenogaXMgdHlwZWQgYXNcbiAgICAvLyBgQ29uc3RydWN0b3I8SFRNTEVsZW1lbnQ+YCBmb3Igc29tZSByZWFzb24uXG4gICAgLy8gYENvbnN0cnVjdG9yPEhUTUxFbGVtZW50PmAgaXMgaGVscGZ1bCB0byBtYWtlIHN1cmUgdGhlIGRlY29yYXRvciBpc1xuICAgIC8vIGFwcGxpZWQgdG8gZWxlbWVudHMgaG93ZXZlci5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJldHVybiBjbGF6ejtcbn07XG5jb25zdCBzdGFuZGFyZEN1c3RvbUVsZW1lbnQgPSAodGFnTmFtZSwgZGVzY3JpcHRvcikgPT4ge1xuICAgIGNvbnN0IHsga2luZCwgZWxlbWVudHMgfSA9IGRlc2NyaXB0b3I7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2luZCxcbiAgICAgICAgZWxlbWVudHMsXG4gICAgICAgIC8vIFRoaXMgY2FsbGJhY2sgaXMgY2FsbGVkIG9uY2UgdGhlIGNsYXNzIGlzIG90aGVyd2lzZSBmdWxseSBkZWZpbmVkXG4gICAgICAgIGZpbmlzaGVyKGNsYXp6KSB7XG4gICAgICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnTmFtZSwgY2xhenopO1xuICAgICAgICB9LFxuICAgIH07XG59O1xuLyoqXG4gKiBDbGFzcyBkZWNvcmF0b3IgZmFjdG9yeSB0aGF0IGRlZmluZXMgdGhlIGRlY29yYXRlZCBjbGFzcyBhcyBhIGN1c3RvbSBlbGVtZW50LlxuICpcbiAqIGBgYGpzXG4gKiBAY3VzdG9tRWxlbWVudCgnbXktZWxlbWVudCcpXG4gKiBjbGFzcyBNeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAqICAgcmVuZGVyKCkge1xuICogICAgIHJldHVybiBodG1sYGA7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICogQGNhdGVnb3J5IERlY29yYXRvclxuICogQHBhcmFtIHRhZ05hbWUgVGhlIHRhZyBuYW1lIG9mIHRoZSBjdXN0b20gZWxlbWVudCB0byBkZWZpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBjdXN0b21FbGVtZW50ID0gKHRhZ05hbWUpID0+IChjbGFzc09yRGVzY3JpcHRvcikgPT4gdHlwZW9mIGNsYXNzT3JEZXNjcmlwdG9yID09PSAnZnVuY3Rpb24nXG4gICAgPyBsZWdhY3lDdXN0b21FbGVtZW50KHRhZ05hbWUsIGNsYXNzT3JEZXNjcmlwdG9yKVxuICAgIDogc3RhbmRhcmRDdXN0b21FbGVtZW50KHRhZ05hbWUsIGNsYXNzT3JEZXNjcmlwdG9yKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWN1c3RvbS1lbGVtZW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/custom-element.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/event-options.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/event-options.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ eventOptions: function() { return /* binding */ eventOptions; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/@lit/reactive-element/development/decorators/base.js\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Adds event listener options to a method used as an event listener in a\n * lit-html template.\n *\n * @param options An object that specifies event listener options as accepted by\n * `EventTarget#addEventListener` and `EventTarget#removeEventListener`.\n *\n * Current browsers support the `capture`, `passive`, and `once` options. See:\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Parameters\n *\n * ```ts\n * class MyElement {\n * clicked = false;\n *\n * render() {\n * return html`\n * <div @click=${this._onClick}>\n * <button></button>\n * </div>\n * `;\n * }\n *\n * @eventOptions({capture: true})\n * _onClick(e) {\n * this.clicked = true;\n * }\n * }\n * ```\n * @category Decorator\n */\nfunction eventOptions(options) {\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.decorateProperty)({\n finisher: (ctor, name) => {\n Object.assign(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ctor.prototype[name], options);\n },\n });\n}\n//# sourceMappingURL=event-options.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvZXZlbnQtb3B0aW9ucy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsY0FBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGNBQWM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLFdBQVcsMERBQWdCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGV2ZWxvcG1lbnQvZGVjb3JhdG9ycy9ldmVudC1vcHRpb25zLmpzP2UxYjMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5pbXBvcnQgeyBkZWNvcmF0ZVByb3BlcnR5IH0gZnJvbSAnLi9iYXNlLmpzJztcbi8qKlxuICogQWRkcyBldmVudCBsaXN0ZW5lciBvcHRpb25zIHRvIGEgbWV0aG9kIHVzZWQgYXMgYW4gZXZlbnQgbGlzdGVuZXIgaW4gYVxuICogbGl0LWh0bWwgdGVtcGxhdGUuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgQW4gb2JqZWN0IHRoYXQgc3BlY2lmaWVzIGV2ZW50IGxpc3RlbmVyIG9wdGlvbnMgYXMgYWNjZXB0ZWQgYnlcbiAqIGBFdmVudFRhcmdldCNhZGRFdmVudExpc3RlbmVyYCBhbmQgYEV2ZW50VGFyZ2V0I3JlbW92ZUV2ZW50TGlzdGVuZXJgLlxuICpcbiAqIEN1cnJlbnQgYnJvd3NlcnMgc3VwcG9ydCB0aGUgYGNhcHR1cmVgLCBgcGFzc2l2ZWAsIGFuZCBgb25jZWAgb3B0aW9ucy4gU2VlOlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0L2FkZEV2ZW50TGlzdGVuZXIjUGFyYW1ldGVyc1xuICpcbiAqIGBgYHRzXG4gKiBjbGFzcyBNeUVsZW1lbnQge1xuICogICBjbGlja2VkID0gZmFsc2U7XG4gKlxuICogICByZW5kZXIoKSB7XG4gKiAgICAgcmV0dXJuIGh0bWxgXG4gKiAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX29uQ2xpY2t9PlxuICogICAgICAgICA8YnV0dG9uPjwvYnV0dG9uPlxuICogICAgICAgPC9kaXY+XG4gKiAgICAgYDtcbiAqICAgfVxuICpcbiAqICAgQGV2ZW50T3B0aW9ucyh7Y2FwdHVyZTogdHJ1ZX0pXG4gKiAgIF9vbkNsaWNrKGUpIHtcbiAqICAgICB0aGlzLmNsaWNrZWQgPSB0cnVlO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50T3B0aW9ucyhvcHRpb25zKSB7XG4gICAgcmV0dXJuIGRlY29yYXRlUHJvcGVydHkoe1xuICAgICAgICBmaW5pc2hlcjogKGN0b3IsIG5hbWUpID0+IHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgY3Rvci5wcm90b3R5cGVbbmFtZV0sIG9wdGlvbnMpO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXZlbnQtb3B0aW9ucy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/event-options.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/property.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/property.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ property: function() { return /* binding */ property; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst standardProperty = (options, element) => {\n // When decorating an accessor, pass it through and add property metadata.\n // Note, the `hasOwnProperty` check in `createProperty` ensures we don't\n // stomp over the user's accessor.\n if (element.kind === 'method' &&\n element.descriptor &&\n !('value' in element.descriptor)) {\n return {\n ...element,\n finisher(clazz) {\n clazz.createProperty(element.key, options);\n },\n };\n }\n else {\n // createProperty() takes care of defining the property, but we still\n // must return some kind of descriptor, so return a descriptor for an\n // unused prototype field. The finisher calls createProperty().\n return {\n kind: 'field',\n key: Symbol(),\n placement: 'own',\n descriptor: {},\n // store the original key so subsequent decorators have access to it.\n originalKey: element.key,\n // When @babel/plugin-proposal-decorators implements initializers,\n // do this instead of the initializer below. See:\n // https://github.com/babel/babel/issues/9260 extras: [\n // {\n // kind: 'initializer',\n // placement: 'own',\n // initializer: descriptor.initializer,\n // }\n // ],\n initializer() {\n if (typeof element.initializer === 'function') {\n this[element.key] = element.initializer.call(this);\n }\n },\n finisher(clazz) {\n clazz.createProperty(element.key, options);\n },\n };\n }\n};\nconst legacyProperty = (options, proto, name) => {\n proto.constructor.createProperty(name, options);\n};\n/**\n * A property decorator which creates a reactive property that reflects a\n * corresponding attribute value. When a decorated property is set\n * the element will update and render. A {@linkcode PropertyDeclaration} may\n * optionally be supplied to configure property features.\n *\n * This decorator should only be used for public fields. As public fields,\n * properties should be considered as primarily settable by element users,\n * either via attribute or the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the {@linkcode state} decorator.\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating public\n * properties should typically not be done for non-primitive (object or array)\n * properties. In other cases when an element needs to manage state, a private\n * property decorated via the {@linkcode state} decorator should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n *\n * ```ts\n * class MyElement {\n * @property({ type: Boolean })\n * clicked = false;\n * }\n * ```\n * @category Decorator\n * @ExportDecoratedItems\n */\nfunction property(options) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (protoOrDescriptor, name) => name !== undefined\n ? legacyProperty(options, protoOrDescriptor, name)\n : standardProperty(options, protoOrDescriptor);\n}\n//# sourceMappingURL=property.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcHJvcGVydHkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQywrQkFBK0I7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsaUJBQWlCO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsaUJBQWlCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsZUFBZTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcHJvcGVydHkuanM/MzViZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmNvbnN0IHN0YW5kYXJkUHJvcGVydHkgPSAob3B0aW9ucywgZWxlbWVudCkgPT4ge1xuICAgIC8vIFdoZW4gZGVjb3JhdGluZyBhbiBhY2Nlc3NvciwgcGFzcyBpdCB0aHJvdWdoIGFuZCBhZGQgcHJvcGVydHkgbWV0YWRhdGEuXG4gICAgLy8gTm90ZSwgdGhlIGBoYXNPd25Qcm9wZXJ0eWAgY2hlY2sgaW4gYGNyZWF0ZVByb3BlcnR5YCBlbnN1cmVzIHdlIGRvbid0XG4gICAgLy8gc3RvbXAgb3ZlciB0aGUgdXNlcidzIGFjY2Vzc29yLlxuICAgIGlmIChlbGVtZW50LmtpbmQgPT09ICdtZXRob2QnICYmXG4gICAgICAgIGVsZW1lbnQuZGVzY3JpcHRvciAmJlxuICAgICAgICAhKCd2YWx1ZScgaW4gZWxlbWVudC5kZXNjcmlwdG9yKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgIGZpbmlzaGVyKGNsYXp6KSB7XG4gICAgICAgICAgICAgICAgY2xhenouY3JlYXRlUHJvcGVydHkoZWxlbWVudC5rZXksIG9wdGlvbnMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIGNyZWF0ZVByb3BlcnR5KCkgdGFrZXMgY2FyZSBvZiBkZWZpbmluZyB0aGUgcHJvcGVydHksIGJ1dCB3ZSBzdGlsbFxuICAgICAgICAvLyBtdXN0IHJldHVybiBzb21lIGtpbmQgb2YgZGVzY3JpcHRvciwgc28gcmV0dXJuIGEgZGVzY3JpcHRvciBmb3IgYW5cbiAgICAgICAgLy8gdW51c2VkIHByb3RvdHlwZSBmaWVsZC4gVGhlIGZpbmlzaGVyIGNhbGxzIGNyZWF0ZVByb3BlcnR5KCkuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBraW5kOiAnZmllbGQnLFxuICAgICAgICAgICAga2V5OiBTeW1ib2woKSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ293bicsXG4gICAgICAgICAgICBkZXNjcmlwdG9yOiB7fSxcbiAgICAgICAgICAgIC8vIHN0b3JlIHRoZSBvcmlnaW5hbCBrZXkgc28gc3Vic2VxdWVudCBkZWNvcmF0b3JzIGhhdmUgYWNjZXNzIHRvIGl0LlxuICAgICAgICAgICAgb3JpZ2luYWxLZXk6IGVsZW1lbnQua2V5LFxuICAgICAgICAgICAgLy8gV2hlbiBAYmFiZWwvcGx1Z2luLXByb3Bvc2FsLWRlY29yYXRvcnMgaW1wbGVtZW50cyBpbml0aWFsaXplcnMsXG4gICAgICAgICAgICAvLyBkbyB0aGlzIGluc3RlYWQgb2YgdGhlIGluaXRpYWxpemVyIGJlbG93LiBTZWU6XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYmFiZWwvYmFiZWwvaXNzdWVzLzkyNjAgZXh0cmFzOiBbXG4gICAgICAgICAgICAvLyAgIHtcbiAgICAgICAgICAgIC8vICAgICBraW5kOiAnaW5pdGlhbGl6ZXInLFxuICAgICAgICAgICAgLy8gICAgIHBsYWNlbWVudDogJ293bicsXG4gICAgICAgICAgICAvLyAgICAgaW5pdGlhbGl6ZXI6IGRlc2NyaXB0b3IuaW5pdGlhbGl6ZXIsXG4gICAgICAgICAgICAvLyAgIH1cbiAgICAgICAgICAgIC8vIF0sXG4gICAgICAgICAgICBpbml0aWFsaXplcigpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQuaW5pdGlhbGl6ZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpc1tlbGVtZW50LmtleV0gPSBlbGVtZW50LmluaXRpYWxpemVyLmNhbGwodGhpcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZpbmlzaGVyKGNsYXp6KSB7XG4gICAgICAgICAgICAgICAgY2xhenouY3JlYXRlUHJvcGVydHkoZWxlbWVudC5rZXksIG9wdGlvbnMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9XG59O1xuY29uc3QgbGVnYWN5UHJvcGVydHkgPSAob3B0aW9ucywgcHJvdG8sIG5hbWUpID0+IHtcbiAgICBwcm90by5jb25zdHJ1Y3Rvci5jcmVhdGVQcm9wZXJ0eShuYW1lLCBvcHRpb25zKTtcbn07XG4vKipcbiAqIEEgcHJvcGVydHkgZGVjb3JhdG9yIHdoaWNoIGNyZWF0ZXMgYSByZWFjdGl2ZSBwcm9wZXJ0eSB0aGF0IHJlZmxlY3RzIGFcbiAqIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlIHZhbHVlLiBXaGVuIGEgZGVjb3JhdGVkIHByb3BlcnR5IGlzIHNldFxuICogdGhlIGVsZW1lbnQgd2lsbCB1cGRhdGUgYW5kIHJlbmRlci4gQSB7QGxpbmtjb2RlIFByb3BlcnR5RGVjbGFyYXRpb259IG1heVxuICogb3B0aW9uYWxseSBiZSBzdXBwbGllZCB0byBjb25maWd1cmUgcHJvcGVydHkgZmVhdHVyZXMuXG4gKlxuICogVGhpcyBkZWNvcmF0b3Igc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgcHVibGljIGZpZWxkcy4gQXMgcHVibGljIGZpZWxkcyxcbiAqIHByb3BlcnRpZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgcHJpbWFyaWx5IHNldHRhYmxlIGJ5IGVsZW1lbnQgdXNlcnMsXG4gKiBlaXRoZXIgdmlhIGF0dHJpYnV0ZSBvciB0aGUgcHJvcGVydHkgaXRzZWxmLlxuICpcbiAqIEdlbmVyYWxseSwgcHJvcGVydGllcyB0aGF0IGFyZSBjaGFuZ2VkIGJ5IHRoZSBlbGVtZW50IHNob3VsZCBiZSBwcml2YXRlIG9yXG4gKiBwcm90ZWN0ZWQgZmllbGRzIGFuZCBzaG91bGQgdXNlIHRoZSB7QGxpbmtjb2RlIHN0YXRlfSBkZWNvcmF0b3IuXG4gKlxuICogSG93ZXZlciwgc29tZXRpbWVzIGVsZW1lbnQgY29kZSBkb2VzIG5lZWQgdG8gc2V0IGEgcHVibGljIHByb3BlcnR5LiBUaGlzXG4gKiBzaG91bGQgdHlwaWNhbGx5IG9ubHkgYmUgZG9uZSBpbiByZXNwb25zZSB0byB1c2VyIGludGVyYWN0aW9uLCBhbmQgYW4gZXZlbnRcbiAqIHNob3VsZCBiZSBmaXJlZCBpbmZvcm1pbmcgdGhlIHVzZXI7IGZvciBleGFtcGxlLCBhIGNoZWNrYm94IHNldHMgaXRzXG4gKiBgY2hlY2tlZGAgcHJvcGVydHkgd2hlbiBjbGlja2VkIGFuZCBmaXJlcyBhIGBjaGFuZ2VkYCBldmVudC4gTXV0YXRpbmcgcHVibGljXG4gKiBwcm9wZXJ0aWVzIHNob3VsZCB0eXBpY2FsbHkgbm90IGJlIGRvbmUgZm9yIG5vbi1wcmltaXRpdmUgKG9iamVjdCBvciBhcnJheSlcbiAqIHByb3BlcnRpZXMuIEluIG90aGVyIGNhc2VzIHdoZW4gYW4gZWxlbWVudCBuZWVkcyB0byBtYW5hZ2Ugc3RhdGUsIGEgcHJpdmF0ZVxuICogcHJvcGVydHkgZGVjb3JhdGVkIHZpYSB0aGUge0BsaW5rY29kZSBzdGF0ZX0gZGVjb3JhdG9yIHNob3VsZCBiZSB1c2VkLiBXaGVuXG4gKiBuZWVkZWQsIHN0YXRlIHByb3BlcnRpZXMgY2FuIGJlIGluaXRpYWxpemVkIHZpYSBwdWJsaWMgcHJvcGVydGllcyB0b1xuICogZmFjaWxpdGF0ZSBjb21wbGV4IGludGVyYWN0aW9ucy5cbiAqXG4gKiBgYGB0c1xuICogY2xhc3MgTXlFbGVtZW50IHtcbiAqICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICogICBjbGlja2VkID0gZmFsc2U7XG4gKiB9XG4gKiBgYGBcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JcbiAqIEBFeHBvcnREZWNvcmF0ZWRJdGVtc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHkob3B0aW9ucykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmV0dXJuIChwcm90b09yRGVzY3JpcHRvciwgbmFtZSkgPT4gbmFtZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gbGVnYWN5UHJvcGVydHkob3B0aW9ucywgcHJvdG9PckRlc2NyaXB0b3IsIG5hbWUpXG4gICAgICAgIDogc3RhbmRhcmRQcm9wZXJ0eShvcHRpb25zLCBwcm90b09yRGVzY3JpcHRvcik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm9wZXJ0eS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/property.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/query-all.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/query-all.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ queryAll: function() { return /* binding */ queryAll; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/@lit/reactive-element/development/decorators/base.js\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * A property decorator that converts a class property into a getter\n * that executes a querySelectorAll on the element's renderRoot.\n *\n * @param selector A DOMString containing one or more selectors to match.\n *\n * See:\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll\n *\n * ```ts\n * class MyElement {\n * @queryAll('div')\n * divs: NodeListOf<HTMLDivElement>;\n *\n * render() {\n * return html`\n * <div id=\"first\"></div>\n * <div id=\"second\"></div>\n * `;\n * }\n * }\n * ```\n * @category Decorator\n */\nfunction queryAll(selector) {\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.decorateProperty)({\n descriptor: (_name) => ({\n get() {\n var _a, _b;\n return (_b = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(selector)) !== null && _b !== void 0 ? _b : [];\n },\n enumerable: true,\n configurable: true,\n }),\n });\n}\n//# sourceMappingURL=query-all.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnktYWxsLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUM2QztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLFdBQVcsMERBQWdCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZXZlbG9wbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFsbC5qcz9iMGM5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuaW1wb3J0IHsgZGVjb3JhdGVQcm9wZXJ0eSB9IGZyb20gJy4vYmFzZS5qcyc7XG4vKipcbiAqIEEgcHJvcGVydHkgZGVjb3JhdG9yIHRoYXQgY29udmVydHMgYSBjbGFzcyBwcm9wZXJ0eSBpbnRvIGEgZ2V0dGVyXG4gKiB0aGF0IGV4ZWN1dGVzIGEgcXVlcnlTZWxlY3RvckFsbCBvbiB0aGUgZWxlbWVudCdzIHJlbmRlclJvb3QuXG4gKlxuICogQHBhcmFtIHNlbGVjdG9yIEEgRE9NU3RyaW5nIGNvbnRhaW5pbmcgb25lIG9yIG1vcmUgc2VsZWN0b3JzIHRvIG1hdGNoLlxuICpcbiAqIFNlZTpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Eb2N1bWVudC9xdWVyeVNlbGVjdG9yQWxsXG4gKlxuICogYGBgdHNcbiAqIGNsYXNzIE15RWxlbWVudCB7XG4gKiAgIEBxdWVyeUFsbCgnZGl2JylcbiAqICAgZGl2czogTm9kZUxpc3RPZjxIVE1MRGl2RWxlbWVudD47XG4gKlxuICogICByZW5kZXIoKSB7XG4gKiAgICAgcmV0dXJuIGh0bWxgXG4gKiAgICAgICA8ZGl2IGlkPVwiZmlyc3RcIj48L2Rpdj5cbiAqICAgICAgIDxkaXYgaWQ9XCJzZWNvbmRcIj48L2Rpdj5cbiAqICAgICBgO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5QWxsKHNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGRlY29yYXRlUHJvcGVydHkoe1xuICAgICAgICBkZXNjcmlwdG9yOiAoX25hbWUpID0+ICh7XG4gICAgICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICByZXR1cm4gKF9iID0gKF9hID0gdGhpcy5yZW5kZXJSb290KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcikpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFtdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIH0pLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cXVlcnktYWxsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/query-all.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.js ***! - \**********************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ queryAssignedElements: function() { return /* binding */ queryAssignedElements; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/@lit/reactive-element/development/decorators/base.js\");\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar _a;\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nconst NODE_MODE = false;\nconst global = NODE_MODE ? globalThis : window;\n/**\n * A tiny module scoped polyfill for HTMLSlotElement.assignedElements.\n */\nconst slotAssignedElements = ((_a = global.HTMLSlotElement) === null || _a === void 0 ? void 0 : _a.prototype.assignedElements) != null\n ? (slot, opts) => slot.assignedElements(opts)\n : (slot, opts) => slot\n .assignedNodes(opts)\n .filter((node) => node.nodeType === Node.ELEMENT_NODE);\n/**\n * A property decorator that converts a class property into a getter that\n * returns the `assignedElements` of the given `slot`. Provides a declarative\n * way to use\n * [`HTMLSlotElement.assignedElements`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements).\n *\n * Can be passed an optional {@linkcode QueryAssignedElementsOptions} object.\n *\n * Example usage:\n * ```ts\n * class MyElement {\n * @queryAssignedElements({ slot: 'list' })\n * listItems!: Array<HTMLElement>;\n * @queryAssignedElements()\n * unnamedSlotEls!: Array<HTMLElement>;\n *\n * render() {\n * return html`\n * <slot name=\"list\"></slot>\n * <slot></slot>\n * `;\n * }\n * }\n * ```\n *\n * Note, the type of this property should be annotated as `Array<HTMLElement>`.\n *\n * @category Decorator\n */\nfunction queryAssignedElements(options) {\n const { slot, selector } = options !== null && options !== void 0 ? options : {};\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.decorateProperty)({\n descriptor: (_name) => ({\n get() {\n var _a;\n const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;\n const slotEl = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelector(slotSelector);\n const elements = slotEl != null ? slotAssignedElements(slotEl, options) : [];\n if (selector) {\n return elements.filter((node) => node.matches(selector));\n }\n return elements;\n },\n enumerable: true,\n configurable: true,\n }),\n });\n}\n//# sourceMappingURL=query-assigned-elements.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtZWxlbWVudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsd0NBQXdDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGNBQWM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsWUFBWSxpQkFBaUI7QUFDN0IsV0FBVywwREFBZ0I7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLGdCQUFnQixLQUFLLG9CQUFvQjtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtZWxlbWVudHMuanM/NTg5YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMSBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbnZhciBfYTtcbi8qXG4gKiBJTVBPUlRBTlQ6IEZvciBjb21wYXRpYmlsaXR5IHdpdGggdHNpY2tsZSBhbmQgdGhlIENsb3N1cmUgSlMgY29tcGlsZXIsIGFsbFxuICogcHJvcGVydHkgZGVjb3JhdG9ycyAoYnV0IG5vdCBjbGFzcyBkZWNvcmF0b3JzKSBpbiB0aGlzIGZpbGUgdGhhdCBoYXZlXG4gKiBhbiBARXhwb3J0RGVjb3JhdGVkSXRlbXMgYW5ub3RhdGlvbiBtdXN0IGJlIGRlZmluZWQgYXMgYSByZWd1bGFyIGZ1bmN0aW9uLFxuICogbm90IGFuIGFycm93IGZ1bmN0aW9uLlxuICovXG5pbXBvcnQgeyBkZWNvcmF0ZVByb3BlcnR5IH0gZnJvbSAnLi9iYXNlLmpzJztcbmNvbnN0IE5PREVfTU9ERSA9IGZhbHNlO1xuY29uc3QgZ2xvYmFsID0gTk9ERV9NT0RFID8gZ2xvYmFsVGhpcyA6IHdpbmRvdztcbi8qKlxuICogQSB0aW55IG1vZHVsZSBzY29wZWQgcG9seWZpbGwgZm9yIEhUTUxTbG90RWxlbWVudC5hc3NpZ25lZEVsZW1lbnRzLlxuICovXG5jb25zdCBzbG90QXNzaWduZWRFbGVtZW50cyA9ICgoX2EgPSBnbG9iYWwuSFRNTFNsb3RFbGVtZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucHJvdG90eXBlLmFzc2lnbmVkRWxlbWVudHMpICE9IG51bGxcbiAgICA/IChzbG90LCBvcHRzKSA9PiBzbG90LmFzc2lnbmVkRWxlbWVudHMob3B0cylcbiAgICA6IChzbG90LCBvcHRzKSA9PiBzbG90XG4gICAgICAgIC5hc3NpZ25lZE5vZGVzKG9wdHMpXG4gICAgICAgIC5maWx0ZXIoKG5vZGUpID0+IG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKTtcbi8qKlxuICogQSBwcm9wZXJ0eSBkZWNvcmF0b3IgdGhhdCBjb252ZXJ0cyBhIGNsYXNzIHByb3BlcnR5IGludG8gYSBnZXR0ZXIgdGhhdFxuICogcmV0dXJucyB0aGUgYGFzc2lnbmVkRWxlbWVudHNgIG9mIHRoZSBnaXZlbiBgc2xvdGAuIFByb3ZpZGVzIGEgZGVjbGFyYXRpdmVcbiAqIHdheSB0byB1c2VcbiAqIFtgSFRNTFNsb3RFbGVtZW50LmFzc2lnbmVkRWxlbWVudHNgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSFRNTFNsb3RFbGVtZW50L2Fzc2lnbmVkRWxlbWVudHMpLlxuICpcbiAqIENhbiBiZSBwYXNzZWQgYW4gb3B0aW9uYWwge0BsaW5rY29kZSBRdWVyeUFzc2lnbmVkRWxlbWVudHNPcHRpb25zfSBvYmplY3QuXG4gKlxuICogRXhhbXBsZSB1c2FnZTpcbiAqIGBgYHRzXG4gKiBjbGFzcyBNeUVsZW1lbnQge1xuICogICBAcXVlcnlBc3NpZ25lZEVsZW1lbnRzKHsgc2xvdDogJ2xpc3QnIH0pXG4gKiAgIGxpc3RJdGVtcyE6IEFycmF5PEhUTUxFbGVtZW50PjtcbiAqICAgQHF1ZXJ5QXNzaWduZWRFbGVtZW50cygpXG4gKiAgIHVubmFtZWRTbG90RWxzITogQXJyYXk8SFRNTEVsZW1lbnQ+O1xuICpcbiAqICAgcmVuZGVyKCkge1xuICogICAgIHJldHVybiBodG1sYFxuICogICAgICAgPHNsb3QgbmFtZT1cImxpc3RcIj48L3Nsb3Q+XG4gKiAgICAgICA8c2xvdD48L3Nsb3Q+XG4gKiAgICAgYDtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogTm90ZSwgdGhlIHR5cGUgb2YgdGhpcyBwcm9wZXJ0eSBzaG91bGQgYmUgYW5ub3RhdGVkIGFzIGBBcnJheTxIVE1MRWxlbWVudD5gLlxuICpcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5QXNzaWduZWRFbGVtZW50cyhvcHRpb25zKSB7XG4gICAgY29uc3QgeyBzbG90LCBzZWxlY3RvciB9ID0gb3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB2b2lkIDAgPyBvcHRpb25zIDoge307XG4gICAgcmV0dXJuIGRlY29yYXRlUHJvcGVydHkoe1xuICAgICAgICBkZXNjcmlwdG9yOiAoX25hbWUpID0+ICh7XG4gICAgICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNsb3RTZWxlY3RvciA9IGBzbG90JHtzbG90ID8gYFtuYW1lPSR7c2xvdH1dYCA6ICc6bm90KFtuYW1lXSknfWA7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2xvdEVsID0gKF9hID0gdGhpcy5yZW5kZXJSb290KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvcihzbG90U2VsZWN0b3IpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gc2xvdEVsICE9IG51bGwgPyBzbG90QXNzaWduZWRFbGVtZW50cyhzbG90RWwsIG9wdGlvbnMpIDogW107XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKG5vZGUpID0+IG5vZGUubWF0Y2hlcyhzZWxlY3RvcikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudHM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeS1hc3NpZ25lZC1lbGVtZW50cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.js ***! - \*******************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ queryAssignedNodes: function() { return /* binding */ queryAssignedNodes; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/@lit/reactive-element/development/decorators/base.js\");\n/* harmony import */ var _query_assigned_elements_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./query-assigned-elements.js */ \"./node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.js\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\n\nfunction queryAssignedNodes(slotOrOptions, flatten, selector) {\n // Normalize the overloaded arguments.\n let slot = slotOrOptions;\n let assignedNodesOptions;\n if (typeof slotOrOptions === 'object') {\n slot = slotOrOptions.slot;\n assignedNodesOptions = slotOrOptions;\n }\n else {\n assignedNodesOptions = { flatten };\n }\n // For backwards compatibility, queryAssignedNodes with a selector behaves\n // exactly like queryAssignedElements with a selector.\n if (selector) {\n return (0,_query_assigned_elements_js__WEBPACK_IMPORTED_MODULE_1__.queryAssignedElements)({\n slot: slot,\n flatten,\n selector,\n });\n }\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.decorateProperty)({\n descriptor: (_name) => ({\n get() {\n var _a, _b;\n const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;\n const slotEl = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelector(slotSelector);\n return (_b = slotEl === null || slotEl === void 0 ? void 0 : slotEl.assignedNodes(assignedNodesOptions)) !== null && _b !== void 0 ? _b : [];\n },\n enumerable: true,\n configurable: true,\n }),\n });\n}\n//# sourceMappingURL=query-assigned-nodes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtbm9kZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUM2QztBQUN3QjtBQUM5RDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGtGQUFxQjtBQUNwQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxXQUFXLDBEQUFnQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsZ0JBQWdCLEtBQUssb0JBQW9CO0FBQ3JGO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtbm9kZXMuanM/MTgzMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbi8qXG4gKiBJTVBPUlRBTlQ6IEZvciBjb21wYXRpYmlsaXR5IHdpdGggdHNpY2tsZSBhbmQgdGhlIENsb3N1cmUgSlMgY29tcGlsZXIsIGFsbFxuICogcHJvcGVydHkgZGVjb3JhdG9ycyAoYnV0IG5vdCBjbGFzcyBkZWNvcmF0b3JzKSBpbiB0aGlzIGZpbGUgdGhhdCBoYXZlXG4gKiBhbiBARXhwb3J0RGVjb3JhdGVkSXRlbXMgYW5ub3RhdGlvbiBtdXN0IGJlIGRlZmluZWQgYXMgYSByZWd1bGFyIGZ1bmN0aW9uLFxuICogbm90IGFuIGFycm93IGZ1bmN0aW9uLlxuICovXG5pbXBvcnQgeyBkZWNvcmF0ZVByb3BlcnR5IH0gZnJvbSAnLi9iYXNlLmpzJztcbmltcG9ydCB7IHF1ZXJ5QXNzaWduZWRFbGVtZW50cyB9IGZyb20gJy4vcXVlcnktYXNzaWduZWQtZWxlbWVudHMuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5QXNzaWduZWROb2RlcyhzbG90T3JPcHRpb25zLCBmbGF0dGVuLCBzZWxlY3Rvcikge1xuICAgIC8vIE5vcm1hbGl6ZSB0aGUgb3ZlcmxvYWRlZCBhcmd1bWVudHMuXG4gICAgbGV0IHNsb3QgPSBzbG90T3JPcHRpb25zO1xuICAgIGxldCBhc3NpZ25lZE5vZGVzT3B0aW9ucztcbiAgICBpZiAodHlwZW9mIHNsb3RPck9wdGlvbnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHNsb3QgPSBzbG90T3JPcHRpb25zLnNsb3Q7XG4gICAgICAgIGFzc2lnbmVkTm9kZXNPcHRpb25zID0gc2xvdE9yT3B0aW9ucztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGFzc2lnbmVkTm9kZXNPcHRpb25zID0geyBmbGF0dGVuIH07XG4gICAgfVxuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgcXVlcnlBc3NpZ25lZE5vZGVzIHdpdGggYSBzZWxlY3RvciBiZWhhdmVzXG4gICAgLy8gZXhhY3RseSBsaWtlIHF1ZXJ5QXNzaWduZWRFbGVtZW50cyB3aXRoIGEgc2VsZWN0b3IuXG4gICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICAgIHJldHVybiBxdWVyeUFzc2lnbmVkRWxlbWVudHMoe1xuICAgICAgICAgICAgc2xvdDogc2xvdCxcbiAgICAgICAgICAgIGZsYXR0ZW4sXG4gICAgICAgICAgICBzZWxlY3RvcixcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBkZWNvcmF0ZVByb3BlcnR5KHtcbiAgICAgICAgZGVzY3JpcHRvcjogKF9uYW1lKSA9PiAoe1xuICAgICAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2xvdFNlbGVjdG9yID0gYHNsb3Qke3Nsb3QgPyBgW25hbWU9JHtzbG90fV1gIDogJzpub3QoW25hbWVdKSd9YDtcbiAgICAgICAgICAgICAgICBjb25zdCBzbG90RWwgPSAoX2EgPSB0aGlzLnJlbmRlclJvb3QpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5xdWVyeVNlbGVjdG9yKHNsb3RTZWxlY3Rvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChfYiA9IHNsb3RFbCA9PT0gbnVsbCB8fCBzbG90RWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNsb3RFbC5hc3NpZ25lZE5vZGVzKGFzc2lnbmVkTm9kZXNPcHRpb25zKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogW107XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeS1hc3NpZ25lZC1ub2Rlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/query-async.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/query-async.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ queryAsync: function() { return /* binding */ queryAsync; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/@lit/reactive-element/development/decorators/base.js\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// Note, in the future, we may extend this decorator to support the use case\n// where the queried element may need to do work to become ready to interact\n// with (e.g. load some implementation code). If so, we might elect to\n// add a second argument defining a function that can be run to make the\n// queried element loaded/updated/ready.\n/**\n * A property decorator that converts a class property into a getter that\n * returns a promise that resolves to the result of a querySelector on the\n * element's renderRoot done after the element's `updateComplete` promise\n * resolves. When the queried property may change with element state, this\n * decorator can be used instead of requiring users to await the\n * `updateComplete` before accessing the property.\n *\n * @param selector A DOMString containing one or more selectors to match.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector\n *\n * ```ts\n * class MyElement {\n * @queryAsync('#first')\n * first: Promise<HTMLDivElement>;\n *\n * render() {\n * return html`\n * <div id=\"first\"></div>\n * <div id=\"second\"></div>\n * `;\n * }\n * }\n *\n * // external usage\n * async doSomethingWithFirst() {\n * (await aMyElement.first).doSomething();\n * }\n * ```\n * @category Decorator\n */\nfunction queryAsync(selector) {\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.decorateProperty)({\n descriptor: (_name) => ({\n async get() {\n var _a;\n await this.updateComplete;\n return (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelector(selector);\n },\n enumerable: true,\n configurable: true,\n }),\n });\n}\n//# sourceMappingURL=query-async.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnktYXN5bmMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQzZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLDBEQUFnQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZXZlbG9wbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFzeW5jLmpzPzAzNzAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5pbXBvcnQgeyBkZWNvcmF0ZVByb3BlcnR5IH0gZnJvbSAnLi9iYXNlLmpzJztcbi8vIE5vdGUsIGluIHRoZSBmdXR1cmUsIHdlIG1heSBleHRlbmQgdGhpcyBkZWNvcmF0b3IgdG8gc3VwcG9ydCB0aGUgdXNlIGNhc2Vcbi8vIHdoZXJlIHRoZSBxdWVyaWVkIGVsZW1lbnQgbWF5IG5lZWQgdG8gZG8gd29yayB0byBiZWNvbWUgcmVhZHkgdG8gaW50ZXJhY3Rcbi8vIHdpdGggKGUuZy4gbG9hZCBzb21lIGltcGxlbWVudGF0aW9uIGNvZGUpLiBJZiBzbywgd2UgbWlnaHQgZWxlY3QgdG9cbi8vIGFkZCBhIHNlY29uZCBhcmd1bWVudCBkZWZpbmluZyBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHJ1biB0byBtYWtlIHRoZVxuLy8gcXVlcmllZCBlbGVtZW50IGxvYWRlZC91cGRhdGVkL3JlYWR5LlxuLyoqXG4gKiBBIHByb3BlcnR5IGRlY29yYXRvciB0aGF0IGNvbnZlcnRzIGEgY2xhc3MgcHJvcGVydHkgaW50byBhIGdldHRlciB0aGF0XG4gKiByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSByZXN1bHQgb2YgYSBxdWVyeVNlbGVjdG9yIG9uIHRoZVxuICogZWxlbWVudCdzIHJlbmRlclJvb3QgZG9uZSBhZnRlciB0aGUgZWxlbWVudCdzIGB1cGRhdGVDb21wbGV0ZWAgcHJvbWlzZVxuICogcmVzb2x2ZXMuIFdoZW4gdGhlIHF1ZXJpZWQgcHJvcGVydHkgbWF5IGNoYW5nZSB3aXRoIGVsZW1lbnQgc3RhdGUsIHRoaXNcbiAqIGRlY29yYXRvciBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHJlcXVpcmluZyB1c2VycyB0byBhd2FpdCB0aGVcbiAqIGB1cGRhdGVDb21wbGV0ZWAgYmVmb3JlIGFjY2Vzc2luZyB0aGUgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIHNlbGVjdG9yIEEgRE9NU3RyaW5nIGNvbnRhaW5pbmcgb25lIG9yIG1vcmUgc2VsZWN0b3JzIHRvIG1hdGNoLlxuICpcbiAqIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0RvY3VtZW50L3F1ZXJ5U2VsZWN0b3JcbiAqXG4gKiBgYGB0c1xuICogY2xhc3MgTXlFbGVtZW50IHtcbiAqICAgQHF1ZXJ5QXN5bmMoJyNmaXJzdCcpXG4gKiAgIGZpcnN0OiBQcm9taXNlPEhUTUxEaXZFbGVtZW50PjtcbiAqXG4gKiAgIHJlbmRlcigpIHtcbiAqICAgICByZXR1cm4gaHRtbGBcbiAqICAgICAgIDxkaXYgaWQ9XCJmaXJzdFwiPjwvZGl2PlxuICogICAgICAgPGRpdiBpZD1cInNlY29uZFwiPjwvZGl2PlxuICogICAgIGA7XG4gKiAgIH1cbiAqIH1cbiAqXG4gKiAvLyBleHRlcm5hbCB1c2FnZVxuICogYXN5bmMgZG9Tb21ldGhpbmdXaXRoRmlyc3QoKSB7XG4gKiAgKGF3YWl0IGFNeUVsZW1lbnQuZmlyc3QpLmRvU29tZXRoaW5nKCk7XG4gKiB9XG4gKiBgYGBcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5QXN5bmMoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZGVjb3JhdGVQcm9wZXJ0eSh7XG4gICAgICAgIGRlc2NyaXB0b3I6IChfbmFtZSkgPT4gKHtcbiAgICAgICAgICAgIGFzeW5jIGdldCgpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5yZW5kZXJSb290KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeS1hc3luYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/query-async.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/query.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/query.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ query: function() { return /* binding */ query; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/@lit/reactive-element/development/decorators/base.js\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * A property decorator that converts a class property into a getter that\n * executes a querySelector on the element's renderRoot.\n *\n * @param selector A DOMString containing one or more selectors to match.\n * @param cache An optional boolean which when true performs the DOM query only\n * once and caches the result.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector\n *\n * ```ts\n * class MyElement {\n * @query('#first')\n * first: HTMLDivElement;\n *\n * render() {\n * return html`\n * <div id=\"first\"></div>\n * <div id=\"second\"></div>\n * `;\n * }\n * }\n * ```\n * @category Decorator\n */\nfunction query(selector, cache) {\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.decorateProperty)({\n descriptor: (name) => {\n const descriptor = {\n get() {\n var _a, _b;\n return (_b = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelector(selector)) !== null && _b !== void 0 ? _b : null;\n },\n enumerable: true,\n configurable: true,\n };\n if (cache) {\n const key = typeof name === 'symbol' ? Symbol() : `__${name}`;\n descriptor.get = function () {\n var _a, _b;\n if (this[key] === undefined) {\n this[key] = (_b = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelector(selector)) !== null && _b !== void 0 ? _b : null;\n }\n return this[key];\n };\n }\n return descriptor;\n },\n });\n}\n//# sourceMappingURL=query.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvcXVlcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQzZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLDBEQUFnQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUVBQXVFLEtBQUs7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGV2ZWxvcG1lbnQvZGVjb3JhdG9ycy9xdWVyeS5qcz81YWQxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuaW1wb3J0IHsgZGVjb3JhdGVQcm9wZXJ0eSB9IGZyb20gJy4vYmFzZS5qcyc7XG4vKipcbiAqIEEgcHJvcGVydHkgZGVjb3JhdG9yIHRoYXQgY29udmVydHMgYSBjbGFzcyBwcm9wZXJ0eSBpbnRvIGEgZ2V0dGVyIHRoYXRcbiAqIGV4ZWN1dGVzIGEgcXVlcnlTZWxlY3RvciBvbiB0aGUgZWxlbWVudCdzIHJlbmRlclJvb3QuXG4gKlxuICogQHBhcmFtIHNlbGVjdG9yIEEgRE9NU3RyaW5nIGNvbnRhaW5pbmcgb25lIG9yIG1vcmUgc2VsZWN0b3JzIHRvIG1hdGNoLlxuICogQHBhcmFtIGNhY2hlIEFuIG9wdGlvbmFsIGJvb2xlYW4gd2hpY2ggd2hlbiB0cnVlIHBlcmZvcm1zIHRoZSBET00gcXVlcnkgb25seVxuICogICAgIG9uY2UgYW5kIGNhY2hlcyB0aGUgcmVzdWx0LlxuICpcbiAqIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0RvY3VtZW50L3F1ZXJ5U2VsZWN0b3JcbiAqXG4gKiBgYGB0c1xuICogY2xhc3MgTXlFbGVtZW50IHtcbiAqICAgQHF1ZXJ5KCcjZmlyc3QnKVxuICogICBmaXJzdDogSFRNTERpdkVsZW1lbnQ7XG4gKlxuICogICByZW5kZXIoKSB7XG4gKiAgICAgcmV0dXJuIGh0bWxgXG4gKiAgICAgICA8ZGl2IGlkPVwiZmlyc3RcIj48L2Rpdj5cbiAqICAgICAgIDxkaXYgaWQ9XCJzZWNvbmRcIj48L2Rpdj5cbiAqICAgICBgO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5KHNlbGVjdG9yLCBjYWNoZSkge1xuICAgIHJldHVybiBkZWNvcmF0ZVByb3BlcnR5KHtcbiAgICAgICAgZGVzY3JpcHRvcjogKG5hbWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB7XG4gICAgICAgICAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9iID0gKF9hID0gdGhpcy5yZW5kZXJSb290KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvcihzZWxlY3RvcikpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IG51bGw7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSB0eXBlb2YgbmFtZSA9PT0gJ3N5bWJvbCcgPyBTeW1ib2woKSA6IGBfXyR7bmFtZX1gO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IChfYiA9IChfYSA9IHRoaXMucmVuZGVyUm9vdCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2tleV07XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cXVlcnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/query.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/decorators/state.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/decorators/state.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ state: function() { return /* binding */ state; }\n/* harmony export */ });\n/* harmony import */ var _property_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./property.js */ \"./node_modules/@lit/reactive-element/development/decorators/property.js\");\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\n/**\n * Declares a private or protected reactive property that still triggers\n * updates to the element when it changes. It does not reflect from the\n * corresponding attribute.\n *\n * Properties declared this way must not be used from HTML or HTML templating\n * systems, they're solely for properties internal to the element. These\n * properties may be renamed by optimization tools like closure compiler.\n * @category Decorator\n */\nfunction state(options) {\n return (0,_property_js__WEBPACK_IMPORTED_MODULE_0__.property)({\n ...options,\n state: true,\n });\n}\n//# sourceMappingURL=state.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvc3RhdGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ3lDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLHNEQUFRO0FBQ25CO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L2RlY29yYXRvcnMvc3RhdGUuanM/MGJlYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbi8qXG4gKiBJTVBPUlRBTlQ6IEZvciBjb21wYXRpYmlsaXR5IHdpdGggdHNpY2tsZSBhbmQgdGhlIENsb3N1cmUgSlMgY29tcGlsZXIsIGFsbFxuICogcHJvcGVydHkgZGVjb3JhdG9ycyAoYnV0IG5vdCBjbGFzcyBkZWNvcmF0b3JzKSBpbiB0aGlzIGZpbGUgdGhhdCBoYXZlXG4gKiBhbiBARXhwb3J0RGVjb3JhdGVkSXRlbXMgYW5ub3RhdGlvbiBtdXN0IGJlIGRlZmluZWQgYXMgYSByZWd1bGFyIGZ1bmN0aW9uLFxuICogbm90IGFuIGFycm93IGZ1bmN0aW9uLlxuICovXG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJy4vcHJvcGVydHkuanMnO1xuLyoqXG4gKiBEZWNsYXJlcyBhIHByaXZhdGUgb3IgcHJvdGVjdGVkIHJlYWN0aXZlIHByb3BlcnR5IHRoYXQgc3RpbGwgdHJpZ2dlcnNcbiAqIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQgd2hlbiBpdCBjaGFuZ2VzLiBJdCBkb2VzIG5vdCByZWZsZWN0IGZyb20gdGhlXG4gKiBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZS5cbiAqXG4gKiBQcm9wZXJ0aWVzIGRlY2xhcmVkIHRoaXMgd2F5IG11c3Qgbm90IGJlIHVzZWQgZnJvbSBIVE1MIG9yIEhUTUwgdGVtcGxhdGluZ1xuICogc3lzdGVtcywgdGhleSdyZSBzb2xlbHkgZm9yIHByb3BlcnRpZXMgaW50ZXJuYWwgdG8gdGhlIGVsZW1lbnQuIFRoZXNlXG4gKiBwcm9wZXJ0aWVzIG1heSBiZSByZW5hbWVkIGJ5IG9wdGltaXphdGlvbiB0b29scyBsaWtlIGNsb3N1cmUgY29tcGlsZXIuXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZShvcHRpb25zKSB7XG4gICAgcmV0dXJuIHByb3BlcnR5KHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgc3RhdGU6IHRydWUsXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGF0ZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/decorators/state.js\n")); - -/***/ }), - -/***/ "./node_modules/@lit/reactive-element/development/reactive-element.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@lit/reactive-element/development/reactive-element.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ReactiveElement: function() { return /* binding */ ReactiveElement; },\n/* harmony export */ defaultConverter: function() { return /* binding */ defaultConverter; },\n/* harmony export */ notEqual: function() { return /* binding */ notEqual; }\n/* harmony export */ });\n/* harmony import */ var _css_tag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css-tag.js */ \"./node_modules/@lit/reactive-element/development/css-tag.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _css_tag_js__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"defaultConverter\",\"notEqual\",\"ReactiveElement\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _css_tag_js__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar _a, _b, _c, _d;\nvar _e;\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nconst NODE_MODE = false;\nconst global = NODE_MODE ? globalThis : window;\nif (NODE_MODE) {\n (_a = global.customElements) !== null && _a !== void 0 ? _a : (global.customElements = customElements);\n}\nconst DEV_MODE = true;\nlet requestUpdateThenable;\nlet issueWarning;\nconst trustedTypes = global\n .trustedTypes;\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? trustedTypes.emptyScript\n : '';\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings = ((_b = global.litIssuedWarnings) !== null && _b !== void 0 ? _b : (global.litIssuedWarnings = new Set()));\n // Issue a warning, if we haven't already.\n issueWarning = (code, warning) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n issueWarning('dev-mode', `Lit is in dev mode. Not recommended for production!`);\n // Issue polyfill support warning.\n if (((_c = global.ShadyDOM) === null || _c === void 0 ? void 0 : _c.inUse) && polyfillSupport === undefined) {\n issueWarning('polyfill-support-missing', `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`);\n }\n requestUpdateThenable = (name) => ({\n then: (onfulfilled, _onrejected) => {\n issueWarning('request-update-promise', `The \\`requestUpdate\\` method should no longer return a Promise but ` +\n `does so on \\`${name}\\`. Use \\`updateComplete\\` instead.`);\n if (onfulfilled !== undefined) {\n onfulfilled(false);\n }\n },\n });\n}\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event) => {\n const shouldEmit = global\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(new CustomEvent('lit-debug', {\n detail: event,\n }));\n }\n : undefined;\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty = (prop, _obj) => prop;\nconst defaultConverter = {\n toAttribute(value, type) {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n fromAttribute(value, type) {\n let fromValue = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value);\n }\n catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nconst notEqual = (value, old) => {\n // This ensures (old==NaN, value==NaN) always returns false\n return old !== value && (old === old || value === value);\n};\nconst defaultPropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n/**\n * The Closure JS Compiler doesn't currently have good support for static\n * property semantics where \"this\" is dynamic (e.g.\n * https://github.com/google/closure-compiler/issues/3177 and others) so we use\n * this hack to bypass any rewriting by the compiler.\n */\nconst finalized = 'finalized';\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclassers to render updates as desired.\n * @noInheritDoc\n */\nclass ReactiveElement\n// In the Node build, this `extends` clause will be substituted with\n// `(globalThis.HTMLElement ?? HTMLElement)`.\n//\n// This way, we will first prefer any global `HTMLElement` polyfill that the\n// user has assigned, and then fall back to the `HTMLElement` shim which has\n// been imported (see note at the top of this file about how this import is\n// generated by Rollup). Note that the `HTMLElement` variable has been\n// shadowed by this import, so it no longer refers to the global.\n extends HTMLElement {\n constructor() {\n super();\n this.__instanceProperties = new Map();\n /**\n * True if there is a pending update as a result of calling `requestUpdate()`.\n * Should only be read.\n * @category updates\n */\n this.isUpdatePending = false;\n /**\n * Is set to `true` after the first update. The element code cannot assume\n * that `renderRoot` exists before the element `hasUpdated`.\n * @category updates\n */\n this.hasUpdated = false;\n /**\n * Name of currently reflecting property\n */\n this.__reflectingProperty = null;\n this.__initialize();\n }\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer) {\n var _a;\n this.finalize();\n ((_a = this._initializers) !== null && _a !== void 0 ? _a : (this._initializers = [])).push(initializer);\n }\n /**\n * Returns a list of attributes corresponding to the registered properties.\n * @nocollapse\n * @category attributes\n */\n static get observedAttributes() {\n // note: piggy backing on this to ensure we're finalized.\n this.finalize();\n const attributes = [];\n // Use forEach so this works even if for/of loops are compiled to for loops\n // expecting arrays\n this.elementProperties.forEach((v, p) => {\n const attr = this.__attributeNameForProperty(p, v);\n if (attr !== undefined) {\n this.__attributeToPropertyMap.set(attr, p);\n attributes.push(attr);\n }\n });\n return attributes;\n }\n /**\n * Creates a property accessor on the element prototype if one does not exist\n * and stores a {@linkcode PropertyDeclaration} for the property with the\n * given options. The property setter calls the property's `hasChanged`\n * property option or uses a strict identity check to determine whether or not\n * to request an update.\n *\n * This method may be overridden to customize properties; however,\n * when doing so, it's important to call `super.createProperty` to ensure\n * the property is setup correctly. This method calls\n * `getPropertyDescriptor` internally to get a descriptor to install.\n * To customize what properties do when they are get or set, override\n * `getPropertyDescriptor`. To customize the options for a property,\n * implement `createProperty` like this:\n *\n * ```ts\n * static createProperty(name, options) {\n * options = Object.assign(options, {myOption: true});\n * super.createProperty(name, options);\n * }\n * ```\n *\n * @nocollapse\n * @category properties\n */\n static createProperty(name, options = defaultPropertyDeclaration) {\n var _a;\n // if this is a state property, force the attribute to false.\n if (options.state) {\n // Cast as any since this is readonly.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.attribute = false;\n }\n // Note, since this can be called by the `@property` decorator which\n // is called before `finalize`, we ensure finalization has been kicked off.\n this.finalize();\n this.elementProperties.set(name, options);\n // Do not generate an accessor if the prototype already has one, since\n // it would be lost otherwise and that would never be the user's intention;\n // Instead, we expect users to call `requestUpdate` themselves from\n // user-defined accessors. Note that if the super has an accessor we will\n // still overwrite it\n if (!options.noAccessor && !this.prototype.hasOwnProperty(name)) {\n const key = typeof name === 'symbol' ? Symbol() : `__${name}`;\n const descriptor = this.getPropertyDescriptor(name, key, options);\n if (descriptor !== undefined) {\n Object.defineProperty(this.prototype, name, descriptor);\n if (DEV_MODE) {\n // If this class doesn't have its own set, create one and initialize\n // with the values in the set from the nearest ancestor class, if any.\n if (!this.hasOwnProperty('__reactivePropertyKeys')) {\n this.__reactivePropertyKeys = new Set((_a = this.__reactivePropertyKeys) !== null && _a !== void 0 ? _a : []);\n }\n this.__reactivePropertyKeys.add(name);\n }\n }\n }\n }\n /**\n * Returns a property descriptor to be defined on the given named property.\n * If no descriptor is returned, the property will not become an accessor.\n * For example,\n *\n * ```ts\n * class MyElement extends LitElement {\n * static getPropertyDescriptor(name, key, options) {\n * const defaultDescriptor =\n * super.getPropertyDescriptor(name, key, options);\n * const setter = defaultDescriptor.set;\n * return {\n * get: defaultDescriptor.get,\n * set(value) {\n * setter.call(this, value);\n * // custom action.\n * },\n * configurable: true,\n * enumerable: true\n * }\n * }\n * }\n * ```\n *\n * @nocollapse\n * @category properties\n */\n static getPropertyDescriptor(name, key, options) {\n return {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get() {\n return this[key];\n },\n set(value) {\n const oldValue = this[name];\n this[key] = value;\n this.requestUpdate(name, oldValue, options);\n },\n configurable: true,\n enumerable: true,\n };\n }\n /**\n * Returns the property options associated with the given property.\n * These options are defined with a `PropertyDeclaration` via the `properties`\n * object or the `@property` decorator and are registered in\n * `createProperty(...)`.\n *\n * Note, this method should be considered \"final\" and not overridden. To\n * customize the options for a given property, override\n * {@linkcode createProperty}.\n *\n * @nocollapse\n * @final\n * @category properties\n */\n static getPropertyOptions(name) {\n return this.elementProperties.get(name) || defaultPropertyDeclaration;\n }\n /**\n * Creates property accessors for registered properties, sets up element\n * styling, and ensures any superclasses are also finalized. Returns true if\n * the element was finalized.\n * @nocollapse\n */\n static finalize() {\n if (this.hasOwnProperty(finalized)) {\n return false;\n }\n this[finalized] = true;\n // finalize any superclasses\n const superCtor = Object.getPrototypeOf(this);\n superCtor.finalize();\n // Create own set of initializers for this class if any exist on the\n // superclass and copy them down. Note, for a small perf boost, avoid\n // creating initializers unless needed.\n if (superCtor._initializers !== undefined) {\n this._initializers = [...superCtor._initializers];\n }\n this.elementProperties = new Map(superCtor.elementProperties);\n // initialize Map populated in observedAttributes\n this.__attributeToPropertyMap = new Map();\n // make any properties\n // Note, only process \"own\" properties since this element will inherit\n // any properties defined on the superClass, and finalization ensures\n // the entire prototype chain is finalized.\n if (this.hasOwnProperty(JSCompiler_renameProperty('properties', this))) {\n const props = this.properties;\n // support symbols in properties (IE11 does not support this)\n const propKeys = [\n ...Object.getOwnPropertyNames(props),\n ...Object.getOwnPropertySymbols(props),\n ];\n // This for/of is ok because propKeys is an array\n for (const p of propKeys) {\n // note, use of `any` is due to TypeScript lack of support for symbol in\n // index types\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.createProperty(p, props[p]);\n }\n }\n this.elementStyles = this.finalizeStyles(this.styles);\n // DEV mode warnings\n if (DEV_MODE) {\n const warnRemovedOrRenamed = (name, renamed = false) => {\n if (this.prototype.hasOwnProperty(name)) {\n issueWarning(renamed ? 'renamed-api' : 'removed-api', `\\`${name}\\` is implemented on class ${this.name}. It ` +\n `has been ${renamed ? 'renamed' : 'removed'} ` +\n `in this version of LitElement.`);\n }\n };\n warnRemovedOrRenamed('initialize');\n warnRemovedOrRenamed('requestUpdateInternal');\n warnRemovedOrRenamed('_getUpdateComplete', true);\n }\n return true;\n }\n /**\n * Takes the styles the user supplied via the `static styles` property and\n * returns the array of styles to apply to the element.\n * Override this method to integrate into a style management system.\n *\n * Styles are deduplicated preserving the _last_ instance in the list. This\n * is a performance optimization to avoid duplicated styles that can occur\n * especially when composing via subclassing. The last item is kept to try\n * to preserve the cascade order with the assumption that it's most important\n * that last added styles override previous styles.\n *\n * @nocollapse\n * @category styles\n */\n static finalizeStyles(styles) {\n const elementStyles = [];\n if (Array.isArray(styles)) {\n // Dedupe the flattened array in reverse order to preserve the last items.\n // Casting to Array<unknown> works around TS error that\n // appears to come from trying to flatten a type CSSResultArray.\n const set = new Set(styles.flat(Infinity).reverse());\n // Then preserve original order by adding the set items in reverse order.\n for (const s of set) {\n elementStyles.unshift((0,_css_tag_js__WEBPACK_IMPORTED_MODULE_0__.getCompatibleStyle)(s));\n }\n }\n else if (styles !== undefined) {\n elementStyles.push((0,_css_tag_js__WEBPACK_IMPORTED_MODULE_0__.getCompatibleStyle)(styles));\n }\n return elementStyles;\n }\n /**\n * Returns the property name for the given attribute `name`.\n * @nocollapse\n */\n static __attributeNameForProperty(name, options) {\n const attribute = options.attribute;\n return attribute === false\n ? undefined\n : typeof attribute === 'string'\n ? attribute\n : typeof name === 'string'\n ? name.toLowerCase()\n : undefined;\n }\n /**\n * Internal only override point for customizing work done when elements\n * are constructed.\n */\n __initialize() {\n var _a;\n this.__updatePromise = new Promise((res) => (this.enableUpdating = res));\n this._$changedProperties = new Map();\n this.__saveInstanceProperties();\n // ensures first update will be caught by an early access of\n // `updateComplete`\n this.requestUpdate();\n (_a = this.constructor._initializers) === null || _a === void 0 ? void 0 : _a.forEach((i) => i(this));\n }\n /**\n * Registers a `ReactiveController` to participate in the element's reactive\n * update cycle. The element automatically calls into any registered\n * controllers during its lifecycle callbacks.\n *\n * If the element is connected when `addController()` is called, the\n * controller's `hostConnected()` callback will be immediately called.\n * @category controllers\n */\n addController(controller) {\n var _a, _b;\n ((_a = this.__controllers) !== null && _a !== void 0 ? _a : (this.__controllers = [])).push(controller);\n // If a controller is added after the element has been connected,\n // call hostConnected. Note, re-using existence of `renderRoot` here\n // (which is set in connectedCallback) to avoid the need to track a\n // first connected state.\n if (this.renderRoot !== undefined && this.isConnected) {\n (_b = controller.hostConnected) === null || _b === void 0 ? void 0 : _b.call(controller);\n }\n }\n /**\n * Removes a `ReactiveController` from the element.\n * @category controllers\n */\n removeController(controller) {\n var _a;\n // Note, if the indexOf is -1, the >>> will flip the sign which makes the\n // splice do nothing.\n (_a = this.__controllers) === null || _a === void 0 ? void 0 : _a.splice(this.__controllers.indexOf(controller) >>> 0, 1);\n }\n /**\n * Fixes any properties set on the instance before upgrade time.\n * Otherwise these would shadow the accessor and break these properties.\n * The properties are stored in a Map which is played back after the\n * constructor runs. Note, on very old versions of Safari (<=9) or Chrome\n * (<=41), properties created for native platform properties like (`id` or\n * `name`) may not have default values set in the element constructor. On\n * these browsers native properties appear on instances and therefore their\n * default value will overwrite any element default (e.g. if the element sets\n * this.id = 'id' in the constructor, the 'id' will become '' since this is\n * the native platform default).\n */\n __saveInstanceProperties() {\n // Use forEach so this works even if for/of loops are compiled to for loops\n // expecting arrays\n this.constructor.elementProperties.forEach((_v, p) => {\n if (this.hasOwnProperty(p)) {\n this.__instanceProperties.set(p, this[p]);\n delete this[p];\n }\n });\n }\n /**\n * Returns the node into which the element should render and by default\n * creates and returns an open shadowRoot. Implement to customize where the\n * element's DOM is rendered. For example, to render into the element's\n * childNodes, return `this`.\n *\n * @return Returns a node into which to render.\n * @category rendering\n */\n createRenderRoot() {\n var _a;\n const renderRoot = (_a = this.shadowRoot) !== null && _a !== void 0 ? _a : this.attachShadow(this.constructor.shadowRootOptions);\n (0,_css_tag_js__WEBPACK_IMPORTED_MODULE_0__.adoptStyles)(renderRoot, this.constructor.elementStyles);\n return renderRoot;\n }\n /**\n * On first connection, creates the element's renderRoot, sets up\n * element styling, and enables updating.\n * @category lifecycle\n */\n connectedCallback() {\n var _a;\n // create renderRoot before first update.\n if (this.renderRoot === undefined) {\n this.renderRoot = this.createRenderRoot();\n }\n this.enableUpdating(true);\n (_a = this.__controllers) === null || _a === void 0 ? void 0 : _a.forEach((c) => { var _a; return (_a = c.hostConnected) === null || _a === void 0 ? void 0 : _a.call(c); });\n }\n /**\n * Note, this method should be considered final and not overridden. It is\n * overridden on the element instance with a function that triggers the first\n * update.\n * @category updates\n */\n enableUpdating(_requestedUpdate) { }\n /**\n * Allows for `super.disconnectedCallback()` in extensions while\n * reserving the possibility of making non-breaking feature additions\n * when disconnecting at some point in the future.\n * @category lifecycle\n */\n disconnectedCallback() {\n var _a;\n (_a = this.__controllers) === null || _a === void 0 ? void 0 : _a.forEach((c) => { var _a; return (_a = c.hostDisconnected) === null || _a === void 0 ? void 0 : _a.call(c); });\n }\n /**\n * Synchronizes property values when attributes change.\n *\n * Specifically, when an attribute is set, the corresponding property is set.\n * You should rarely need to implement this callback. If this method is\n * overridden, `super.attributeChangedCallback(name, _old, value)` must be\n * called.\n *\n * See [using the lifecycle callbacks](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks)\n * on MDN for more information about the `attributeChangedCallback`.\n * @category attributes\n */\n attributeChangedCallback(name, _old, value) {\n this._$attributeToProperty(name, value);\n }\n __propertyToAttribute(name, value, options = defaultPropertyDeclaration) {\n var _a;\n const attr = this.constructor.__attributeNameForProperty(name, options);\n if (attr !== undefined && options.reflect === true) {\n const converter = ((_a = options.converter) === null || _a === void 0 ? void 0 : _a.toAttribute) !==\n undefined\n ? options.converter\n : defaultConverter;\n const attrValue = converter.toAttribute(value, options.type);\n if (DEV_MODE &&\n this.constructor.enabledWarnings.indexOf('migration') >= 0 &&\n attrValue === undefined) {\n issueWarning('undefined-attribute-value', `The attribute value for the ${name} property is ` +\n `undefined on element ${this.localName}. The attribute will be ` +\n `removed, but in the previous version of \\`ReactiveElement\\`, ` +\n `the attribute would not have changed.`);\n }\n // Track if the property is being reflected to avoid\n // setting the property again via `attributeChangedCallback`. Note:\n // 1. this takes advantage of the fact that the callback is synchronous.\n // 2. will behave incorrectly if multiple attributes are in the reaction\n // stack at time of calling. However, since we process attributes\n // in `update` this should not be possible (or an extreme corner case\n // that we'd like to discover).\n // mark state reflecting\n this.__reflectingProperty = name;\n if (attrValue == null) {\n this.removeAttribute(attr);\n }\n else {\n this.setAttribute(attr, attrValue);\n }\n // mark state not reflecting\n this.__reflectingProperty = null;\n }\n }\n /** @internal */\n _$attributeToProperty(name, value) {\n var _a;\n const ctor = this.constructor;\n // Note, hint this as an `AttributeMap` so closure clearly understands\n // the type; it has issues with tracking types through statics\n const propName = ctor.__attributeToPropertyMap.get(name);\n // Use tracking info to avoid reflecting a property value to an attribute\n // if it was just set because the attribute changed.\n if (propName !== undefined && this.__reflectingProperty !== propName) {\n const options = ctor.getPropertyOptions(propName);\n const converter = typeof options.converter === 'function'\n ? { fromAttribute: options.converter }\n : ((_a = options.converter) === null || _a === void 0 ? void 0 : _a.fromAttribute) !== undefined\n ? options.converter\n : defaultConverter;\n // mark state reflecting\n this.__reflectingProperty = propName;\n this[propName] = converter.fromAttribute(value, options.type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n );\n // mark state not reflecting\n this.__reflectingProperty = null;\n }\n }\n /**\n * Requests an update which is processed asynchronously. This should be called\n * when an element should update based on some state not triggered by setting\n * a reactive property. In this case, pass no arguments. It should also be\n * called when manually implementing a property setter. In this case, pass the\n * property `name` and `oldValue` to ensure that any configured property\n * options are honored.\n *\n * @param name name of requesting property\n * @param oldValue old value of requesting property\n * @param options property options to use instead of the previously\n * configured options\n * @category updates\n */\n requestUpdate(name, oldValue, options) {\n let shouldRequestUpdate = true;\n // If we have a property key, perform property update steps.\n if (name !== undefined) {\n options =\n options ||\n this.constructor.getPropertyOptions(name);\n const hasChanged = options.hasChanged || notEqual;\n if (hasChanged(this[name], oldValue)) {\n if (!this._$changedProperties.has(name)) {\n this._$changedProperties.set(name, oldValue);\n }\n // Add to reflecting properties set.\n // Note, it's important that every change has a chance to add the\n // property to `_reflectingProperties`. This ensures setting\n // attribute + property reflects correctly.\n if (options.reflect === true && this.__reflectingProperty !== name) {\n if (this.__reflectingProperties === undefined) {\n this.__reflectingProperties = new Map();\n }\n this.__reflectingProperties.set(name, options);\n }\n }\n else {\n // Abort the request if the property should not be considered changed.\n shouldRequestUpdate = false;\n }\n }\n if (!this.isUpdatePending && shouldRequestUpdate) {\n this.__updatePromise = this.__enqueueUpdate();\n }\n // Note, since this no longer returns a promise, in dev mode we return a\n // thenable which warns if it's called.\n return DEV_MODE\n ? requestUpdateThenable(this.localName)\n : undefined;\n }\n /**\n * Sets up the element to asynchronously update.\n */\n async __enqueueUpdate() {\n this.isUpdatePending = true;\n try {\n // Ensure any previous update has resolved before updating.\n // This `await` also ensures that property changes are batched.\n await this.__updatePromise;\n }\n catch (e) {\n // Refire any previous errors async so they do not disrupt the update\n // cycle. Errors are refired so developers have a chance to observe\n // them, and this can be done by implementing\n // `window.onunhandledrejection`.\n Promise.reject(e);\n }\n const result = this.scheduleUpdate();\n // If `scheduleUpdate` returns a Promise, we await it. This is done to\n // enable coordinating updates with a scheduler. Note, the result is\n // checked to avoid delaying an additional microtask unless we need to.\n if (result != null) {\n await result;\n }\n return !this.isUpdatePending;\n }\n /**\n * Schedules an element update. You can override this method to change the\n * timing of updates by returning a Promise. The update will await the\n * returned Promise, and you should resolve the Promise to allow the update\n * to proceed. If this method is overridden, `super.scheduleUpdate()`\n * must be called.\n *\n * For instance, to schedule updates to occur just before the next frame:\n *\n * ```ts\n * override protected async scheduleUpdate(): Promise<unknown> {\n * await new Promise((resolve) => requestAnimationFrame(() => resolve()));\n * super.scheduleUpdate();\n * }\n * ```\n * @category updates\n */\n scheduleUpdate() {\n return this.performUpdate();\n }\n /**\n * Performs an element update. Note, if an exception is thrown during the\n * update, `firstUpdated` and `updated` will not be called.\n *\n * Call `performUpdate()` to immediately process a pending update. This should\n * generally not be needed, but it can be done in rare cases when you need to\n * update synchronously.\n *\n * Note: To ensure `performUpdate()` synchronously completes a pending update,\n * it should not be overridden. In LitElement 2.x it was suggested to override\n * `performUpdate()` to also customizing update scheduling. Instead, you should now\n * override `scheduleUpdate()`. For backwards compatibility with LitElement 2.x,\n * scheduling updates via `performUpdate()` continues to work, but will make\n * also calling `performUpdate()` to synchronously process updates difficult.\n *\n * @category updates\n */\n performUpdate() {\n var _a, _b;\n // Abort any update if one is not pending when this is called.\n // This can happen if `performUpdate` is called early to \"flush\"\n // the update.\n if (!this.isUpdatePending) {\n return;\n }\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({ kind: 'update' });\n // create renderRoot before first update.\n if (!this.hasUpdated) {\n // Produce warning if any class properties are shadowed by class fields\n if (DEV_MODE) {\n const shadowedProperties = [];\n (_a = this.constructor.__reactivePropertyKeys) === null || _a === void 0 ? void 0 : _a.forEach((p) => {\n var _a;\n if (this.hasOwnProperty(p) && !((_a = this.__instanceProperties) === null || _a === void 0 ? void 0 : _a.has(p))) {\n shadowedProperties.push(p);\n }\n });\n if (shadowedProperties.length) {\n throw new Error(`The following properties on element ${this.localName} will not ` +\n `trigger updates as expected because they are set using class ` +\n `fields: ${shadowedProperties.join(', ')}. ` +\n `Native class fields and some compiled output will overwrite ` +\n `accessors used for detecting changes. See ` +\n `https://lit.dev/msg/class-field-shadowing ` +\n `for more information.`);\n }\n }\n }\n // Mixin instance properties once, if they exist.\n if (this.__instanceProperties) {\n // Use forEach so this works even if for/of loops are compiled to for loops\n // expecting arrays\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.__instanceProperties.forEach((v, p) => (this[p] = v));\n this.__instanceProperties = undefined;\n }\n let shouldUpdate = false;\n const changedProperties = this._$changedProperties;\n try {\n shouldUpdate = this.shouldUpdate(changedProperties);\n if (shouldUpdate) {\n this.willUpdate(changedProperties);\n (_b = this.__controllers) === null || _b === void 0 ? void 0 : _b.forEach((c) => { var _a; return (_a = c.hostUpdate) === null || _a === void 0 ? void 0 : _a.call(c); });\n this.update(changedProperties);\n }\n else {\n this.__markUpdated();\n }\n }\n catch (e) {\n // Prevent `firstUpdated` and `updated` from running when there's an\n // update exception.\n shouldUpdate = false;\n // Ensure element can accept additional updates after an exception.\n this.__markUpdated();\n throw e;\n }\n // The update is no longer considered pending and further updates are now allowed.\n if (shouldUpdate) {\n this._$didUpdate(changedProperties);\n }\n }\n /**\n * Invoked before `update()` to compute values needed during the update.\n *\n * Implement `willUpdate` to compute property values that depend on other\n * properties and are used in the rest of the update process.\n *\n * ```ts\n * willUpdate(changedProperties) {\n * // only need to check changed properties for an expensive computation.\n * if (changedProperties.has('firstName') || changedProperties.has('lastName')) {\n * this.sha = computeSHA(`${this.firstName} ${this.lastName}`);\n * }\n * }\n *\n * render() {\n * return html`SHA: ${this.sha}`;\n * }\n * ```\n *\n * @category updates\n */\n willUpdate(_changedProperties) { }\n // Note, this is an override point for polyfill-support.\n // @internal\n _$didUpdate(changedProperties) {\n var _a;\n (_a = this.__controllers) === null || _a === void 0 ? void 0 : _a.forEach((c) => { var _a; return (_a = c.hostUpdated) === null || _a === void 0 ? void 0 : _a.call(c); });\n if (!this.hasUpdated) {\n this.hasUpdated = true;\n this.firstUpdated(changedProperties);\n }\n this.updated(changedProperties);\n if (DEV_MODE &&\n this.isUpdatePending &&\n this.constructor.enabledWarnings.indexOf('change-in-update') >= 0) {\n issueWarning('change-in-update', `Element ${this.localName} scheduled an update ` +\n `(generally because a property was set) ` +\n `after an update completed, causing a new update to be scheduled. ` +\n `This is inefficient and should be avoided unless the next update ` +\n `can only be scheduled as a side effect of the previous update.`);\n }\n }\n __markUpdated() {\n this._$changedProperties = new Map();\n this.isUpdatePending = false;\n }\n /**\n * Returns a Promise that resolves when the element has completed updating.\n * The Promise value is a boolean that is `true` if the element completed the\n * update without triggering another update. The Promise result is `false` if\n * a property was set inside `updated()`. If the Promise is rejected, an\n * exception was thrown during the update.\n *\n * To await additional asynchronous work, override the `getUpdateComplete`\n * method. For example, it is sometimes useful to await a rendered element\n * before fulfilling this Promise. To do this, first await\n * `super.getUpdateComplete()`, then any subsequent state.\n *\n * @return A promise of a boolean that resolves to true if the update completed\n * without triggering another update.\n * @category updates\n */\n get updateComplete() {\n return this.getUpdateComplete();\n }\n /**\n * Override point for the `updateComplete` promise.\n *\n * It is not safe to override the `updateComplete` getter directly due to a\n * limitation in TypeScript which means it is not possible to call a\n * superclass getter (e.g. `super.updateComplete.then(...)`) when the target\n * language is ES5 (https://github.com/microsoft/TypeScript/issues/338).\n * This method should be overridden instead. For example:\n *\n * ```ts\n * class MyElement extends LitElement {\n * override async getUpdateComplete() {\n * const result = await super.getUpdateComplete();\n * await this._myChild.updateComplete;\n * return result;\n * }\n * }\n * ```\n *\n * @return A promise of a boolean that resolves to true if the update completed\n * without triggering another update.\n * @category updates\n */\n getUpdateComplete() {\n return this.__updatePromise;\n }\n /**\n * Controls whether or not `update()` should be called when the element requests\n * an update. By default, this method always returns `true`, but this can be\n * customized to control when to update.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n shouldUpdate(_changedProperties) {\n return true;\n }\n /**\n * Updates the element. This method reflects property values to attributes.\n * It can be overridden to render and keep updated element DOM.\n * Setting properties inside this method will *not* trigger\n * another update.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n update(_changedProperties) {\n if (this.__reflectingProperties !== undefined) {\n // Use forEach so this works even if for/of loops are compiled to for\n // loops expecting arrays\n this.__reflectingProperties.forEach((v, k) => this.__propertyToAttribute(k, this[k], v));\n this.__reflectingProperties = undefined;\n }\n this.__markUpdated();\n }\n /**\n * Invoked whenever the element is updated. Implement to perform\n * post-updating tasks via DOM APIs, for example, focusing an element.\n *\n * Setting properties inside this method will trigger the element to update\n * again after this update cycle completes.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n updated(_changedProperties) { }\n /**\n * Invoked when the element is first updated. Implement to perform one time\n * work on the element after update.\n *\n * ```ts\n * firstUpdated() {\n * this.renderRoot.getElementById('my-text-area').focus();\n * }\n * ```\n *\n * Setting properties inside this method will trigger the element to update\n * again after this update cycle completes.\n *\n * @param _changedProperties Map of changed properties with old values\n * @category updates\n */\n firstUpdated(_changedProperties) { }\n}\n_e = finalized;\n/**\n * Marks class as having finished creating properties.\n */\nReactiveElement[_e] = true;\n/**\n * Memoized list of all element properties, including any superclass properties.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category properties\n */\nReactiveElement.elementProperties = new Map();\n/**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\nReactiveElement.elementStyles = [];\n/**\n * Options used when calling `attachShadow`. Set this property to customize\n * the options for the shadowRoot; for example, to create a closed\n * shadowRoot: `{mode: 'closed'}`.\n *\n * Note, these options are used in `createRenderRoot`. If this method\n * is customized, options should be respected if possible.\n * @nocollapse\n * @category rendering\n */\nReactiveElement.shadowRootOptions = { mode: 'open' };\n// Apply polyfills if available\npolyfillSupport === null || polyfillSupport === void 0 ? void 0 : polyfillSupport({ ReactiveElement });\n// Dev mode warnings...\nif (DEV_MODE) {\n // Default warning set.\n ReactiveElement.enabledWarnings = ['change-in-update'];\n const ensureOwnWarnings = function (ctor) {\n if (!ctor.hasOwnProperty(JSCompiler_renameProperty('enabledWarnings', ctor))) {\n ctor.enabledWarnings = ctor.enabledWarnings.slice();\n }\n };\n ReactiveElement.enableWarning = function (warning) {\n ensureOwnWarnings(this);\n if (this.enabledWarnings.indexOf(warning) < 0) {\n this.enabledWarnings.push(warning);\n }\n };\n ReactiveElement.disableWarning = function (warning) {\n ensureOwnWarnings(this);\n const i = this.enabledWarnings.indexOf(warning);\n if (i >= 0) {\n this.enabledWarnings.splice(i, 1);\n }\n };\n}\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for ReactiveElement usage.\n((_d = global.reactiveElementVersions) !== null && _d !== void 0 ? _d : (global.reactiveElementVersions = [])).push('1.6.3');\nif (DEV_MODE && global.reactiveElementVersions.length > 1) {\n issueWarning('multiple-versions', `Multiple versions of Lit loaded. Loading multiple versions ` +\n `is not recommended.`);\n}\n//# sourceMappingURL=reactive-element.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RldmVsb3BtZW50L3JlYWN0aXZlLWVsZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksc0JBQXNCO0FBQzFCO0FBQ0E7QUFDZ0U7QUFDaEU7QUFDQSxXQUFXLDZCQUE2QjtBQUNYO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsTUFBTTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLEtBQUs7QUFDckM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLCtCQUErQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsZUFBZTtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1FQUFtRSxLQUFLO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSx5QkFBeUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRUFBK0UsS0FBSyw2QkFBNkIsVUFBVTtBQUMzSCxvQ0FBb0MsaUNBQWlDO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsK0RBQWtCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiwrREFBa0I7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSx3REFBVztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkZBQTJGLFFBQVEsZ0ZBQWdGO0FBQ25MO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkZBQTJGLFFBQVEsbUZBQW1GO0FBQ3RMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUZBQXlGLE1BQU07QUFDL0YsNENBQTRDLGVBQWU7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DLGlCQUFpQixlQUFlO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBLG9GQUFvRixpQkFBaUI7QUFDckc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZXZlbG9wbWVudC9yZWFjdGl2ZS1lbGVtZW50LmpzPzcyNjciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG52YXIgX2EsIF9iLCBfYywgX2Q7XG52YXIgX2U7XG4vKipcbiAqIFVzZSB0aGlzIG1vZHVsZSBpZiB5b3Ugd2FudCB0byBjcmVhdGUgeW91ciBvd24gYmFzZSBjbGFzcyBleHRlbmRpbmdcbiAqIHtAbGluayBSZWFjdGl2ZUVsZW1lbnR9LlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKi9cbmltcG9ydCB7IGdldENvbXBhdGlibGVTdHlsZSwgYWRvcHRTdHlsZXMsIH0gZnJvbSAnLi9jc3MtdGFnLmpzJztcbi8vIEluIHRoZSBOb2RlIGJ1aWxkLCB0aGlzIGltcG9ydCB3aWxsIGJlIGluamVjdGVkIGJ5IFJvbGx1cDpcbi8vIGltcG9ydCB7SFRNTEVsZW1lbnQsIGN1c3RvbUVsZW1lbnRzfSBmcm9tICdAbGl0LWxhYnMvc3NyLWRvbS1zaGltJztcbmV4cG9ydCAqIGZyb20gJy4vY3NzLXRhZy5qcyc7XG5jb25zdCBOT0RFX01PREUgPSBmYWxzZTtcbmNvbnN0IGdsb2JhbCA9IE5PREVfTU9ERSA/IGdsb2JhbFRoaXMgOiB3aW5kb3c7XG5pZiAoTk9ERV9NT0RFKSB7XG4gICAgKF9hID0gZ2xvYmFsLmN1c3RvbUVsZW1lbnRzKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAoZ2xvYmFsLmN1c3RvbUVsZW1lbnRzID0gY3VzdG9tRWxlbWVudHMpO1xufVxuY29uc3QgREVWX01PREUgPSB0cnVlO1xubGV0IHJlcXVlc3RVcGRhdGVUaGVuYWJsZTtcbmxldCBpc3N1ZVdhcm5pbmc7XG5jb25zdCB0cnVzdGVkVHlwZXMgPSBnbG9iYWxcbiAgICAudHJ1c3RlZFR5cGVzO1xuLy8gVGVtcG9yYXJ5IHdvcmthcm91bmQgZm9yIGh0dHBzOi8vY3JidWcuY29tLzk5MzI2OFxuLy8gQ3VycmVudGx5LCBhbnkgYXR0cmlidXRlIHN0YXJ0aW5nIHdpdGggXCJvblwiIGlzIGNvbnNpZGVyZWQgdG8gYmUgYVxuLy8gVHJ1c3RlZFNjcmlwdCBzb3VyY2UuIFN1Y2ggYm9vbGVhbiBhdHRyaWJ1dGVzIG11c3QgYmUgc2V0IHRvIHRoZSBlcXVpdmFsZW50XG4vLyB0cnVzdGVkIGVtcHR5U2NyaXB0IHZhbHVlLlxuY29uc3QgZW1wdHlTdHJpbmdGb3JCb29sZWFuQXR0cmlidXRlID0gdHJ1c3RlZFR5cGVzXG4gICAgPyB0cnVzdGVkVHlwZXMuZW1wdHlTY3JpcHRcbiAgICA6ICcnO1xuY29uc3QgcG9seWZpbGxTdXBwb3J0ID0gREVWX01PREVcbiAgICA/IGdsb2JhbC5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnREZXZNb2RlXG4gICAgOiBnbG9iYWwucmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0O1xuaWYgKERFVl9NT0RFKSB7XG4gICAgLy8gRW5zdXJlIHdhcm5pbmdzIGFyZSBpc3N1ZWQgb25seSAxeCwgZXZlbiBpZiBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBMaXRcbiAgICAvLyBhcmUgbG9hZGVkLlxuICAgIGNvbnN0IGlzc3VlZFdhcm5pbmdzID0gKChfYiA9IGdsb2JhbC5saXRJc3N1ZWRXYXJuaW5ncykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogKGdsb2JhbC5saXRJc3N1ZWRXYXJuaW5ncyA9IG5ldyBTZXQoKSkpO1xuICAgIC8vIElzc3VlIGEgd2FybmluZywgaWYgd2UgaGF2ZW4ndCBhbHJlYWR5LlxuICAgIGlzc3VlV2FybmluZyA9IChjb2RlLCB3YXJuaW5nKSA9PiB7XG4gICAgICAgIHdhcm5pbmcgKz0gYCBTZWUgaHR0cHM6Ly9saXQuZGV2L21zZy8ke2NvZGV9IGZvciBtb3JlIGluZm9ybWF0aW9uLmA7XG4gICAgICAgIGlmICghaXNzdWVkV2FybmluZ3MuaGFzKHdhcm5pbmcpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4od2FybmluZyk7XG4gICAgICAgICAgICBpc3N1ZWRXYXJuaW5ncy5hZGQod2FybmluZyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGlzc3VlV2FybmluZygnZGV2LW1vZGUnLCBgTGl0IGlzIGluIGRldiBtb2RlLiBOb3QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24hYCk7XG4gICAgLy8gSXNzdWUgcG9seWZpbGwgc3VwcG9ydCB3YXJuaW5nLlxuICAgIGlmICgoKF9jID0gZ2xvYmFsLlNoYWR5RE9NKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuaW5Vc2UpICYmIHBvbHlmaWxsU3VwcG9ydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlzc3VlV2FybmluZygncG9seWZpbGwtc3VwcG9ydC1taXNzaW5nJywgYFNoYWRvdyBET00gaXMgYmVpbmcgcG9seWZpbGxlZCB2aWEgXFxgU2hhZHlET01cXGAgYnV0IGAgK1xuICAgICAgICAgICAgYHRoZSBcXGBwb2x5ZmlsbC1zdXBwb3J0XFxgIG1vZHVsZSBoYXMgbm90IGJlZW4gbG9hZGVkLmApO1xuICAgIH1cbiAgICByZXF1ZXN0VXBkYXRlVGhlbmFibGUgPSAobmFtZSkgPT4gKHtcbiAgICAgICAgdGhlbjogKG9uZnVsZmlsbGVkLCBfb25yZWplY3RlZCkgPT4ge1xuICAgICAgICAgICAgaXNzdWVXYXJuaW5nKCdyZXF1ZXN0LXVwZGF0ZS1wcm9taXNlJywgYFRoZSBcXGByZXF1ZXN0VXBkYXRlXFxgIG1ldGhvZCBzaG91bGQgbm8gbG9uZ2VyIHJldHVybiBhIFByb21pc2UgYnV0IGAgK1xuICAgICAgICAgICAgICAgIGBkb2VzIHNvIG9uIFxcYCR7bmFtZX1cXGAuIFVzZSBcXGB1cGRhdGVDb21wbGV0ZVxcYCBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgaWYgKG9uZnVsZmlsbGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBvbmZ1bGZpbGxlZChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG4vKipcbiAqIFVzZWZ1bCBmb3IgdmlzdWFsaXppbmcgYW5kIGxvZ2dpbmcgaW5zaWdodHMgaW50byB3aGF0IHRoZSBMaXQgdGVtcGxhdGUgc3lzdGVtIGlzIGRvaW5nLlxuICpcbiAqIENvbXBpbGVkIG91dCBvZiBwcm9kIG1vZGUgYnVpbGRzLlxuICovXG5jb25zdCBkZWJ1Z0xvZ0V2ZW50ID0gREVWX01PREVcbiAgICA/IChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzaG91bGRFbWl0ID0gZ2xvYmFsXG4gICAgICAgICAgICAuZW1pdExpdERlYnVnTG9nRXZlbnRzO1xuICAgICAgICBpZiAoIXNob3VsZEVtaXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBnbG9iYWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2xpdC1kZWJ1ZycsIHtcbiAgICAgICAgICAgIGRldGFpbDogZXZlbnQsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgOiB1bmRlZmluZWQ7XG4vKlxuICogV2hlbiB1c2luZyBDbG9zdXJlIENvbXBpbGVyLCBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KHByb3BlcnR5LCBvYmplY3QpIGlzXG4gKiByZXBsYWNlZCBhdCBjb21waWxlIHRpbWUgYnkgdGhlIG11bmdlZCBuYW1lIGZvciBvYmplY3RbcHJvcGVydHldLiBXZSBjYW5ub3RcbiAqIGFsaWFzIHRoaXMgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG8gdXNlIGEgc21hbGwgc2hpbSB0aGF0IGhhcyB0aGUgc2FtZVxuICogYmVoYXZpb3Igd2hlbiBub3QgY29tcGlsaW5nLlxuICovXG4vKkBfX0lOTElORV9fKi9cbmNvbnN0IEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkgPSAocHJvcCwgX29iaikgPT4gcHJvcDtcbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29udmVydGVyID0ge1xuICAgIHRvQXR0cmlidXRlKHZhbHVlLCB0eXBlKSB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBCb29sZWFuOlxuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgPyBlbXB0eVN0cmluZ0ZvckJvb2xlYW5BdHRyaWJ1dGUgOiBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBPYmplY3Q6XG4gICAgICAgICAgICBjYXNlIEFycmF5OlxuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZSBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAgcGFzcyB0aGlzIHRocm91Z2hcbiAgICAgICAgICAgICAgICAvLyB0byBhbGxvdyByZW1vdmluZy9ubyBjaGFuZ2UgYmVoYXZpb3IuXG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gdmFsdWUgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gICAgZnJvbUF0dHJpYnV0ZSh2YWx1ZSwgdHlwZSkge1xuICAgICAgICBsZXQgZnJvbVZhbHVlID0gdmFsdWU7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBCb29sZWFuOlxuICAgICAgICAgICAgICAgIGZyb21WYWx1ZSA9IHZhbHVlICE9PSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBOdW1iZXI6XG4gICAgICAgICAgICAgICAgZnJvbVZhbHVlID0gdmFsdWUgPT09IG51bGwgPyBudWxsIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgT2JqZWN0OlxuICAgICAgICAgICAgY2FzZSBBcnJheTpcbiAgICAgICAgICAgICAgICAvLyBEbyAqbm90KiBnZW5lcmF0ZSBleGNlcHRpb24gd2hlbiBpbnZhbGlkIEpTT04gaXMgc2V0IGFzIGVsZW1lbnRzXG4gICAgICAgICAgICAgICAgLy8gZG9uJ3Qgbm9ybWFsbHkgY29tcGxhaW4gb24gYmVpbmcgbWlzLWNvbmZpZ3VyZWQuXG4gICAgICAgICAgICAgICAgLy8gVE9ETyhzb3J2ZWxsKTogRG8gZ2VuZXJhdGUgZXhjZXB0aW9uIGluICpkZXYgbW9kZSouXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQXNzZXJ0IHRvIGFkaGVyZSB0byBCYXplbCdzIFwibXVzdCB0eXBlIGFzc2VydCBKU09OIHBhcnNlXCIgcnVsZS5cbiAgICAgICAgICAgICAgICAgICAgZnJvbVZhbHVlID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZyb21WYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmcm9tVmFsdWU7XG4gICAgfSxcbn07XG4vKipcbiAqIENoYW5nZSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdHJ1ZSBpZiBgdmFsdWVgIGlzIGRpZmZlcmVudCBmcm9tIGBvbGRWYWx1ZWAuXG4gKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0IGZvciBhIHByb3BlcnR5J3MgYGhhc0NoYW5nZWRgIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3Qgbm90RXF1YWwgPSAodmFsdWUsIG9sZCkgPT4ge1xuICAgIC8vIFRoaXMgZW5zdXJlcyAob2xkPT1OYU4sIHZhbHVlPT1OYU4pIGFsd2F5cyByZXR1cm5zIGZhbHNlXG4gICAgcmV0dXJuIG9sZCAhPT0gdmFsdWUgJiYgKG9sZCA9PT0gb2xkIHx8IHZhbHVlID09PSB2YWx1ZSk7XG59O1xuY29uc3QgZGVmYXVsdFByb3BlcnR5RGVjbGFyYXRpb24gPSB7XG4gICAgYXR0cmlidXRlOiB0cnVlLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgICBjb252ZXJ0ZXI6IGRlZmF1bHRDb252ZXJ0ZXIsXG4gICAgcmVmbGVjdDogZmFsc2UsXG4gICAgaGFzQ2hhbmdlZDogbm90RXF1YWwsXG59O1xuLyoqXG4gKiBUaGUgQ2xvc3VyZSBKUyBDb21waWxlciBkb2Vzbid0IGN1cnJlbnRseSBoYXZlIGdvb2Qgc3VwcG9ydCBmb3Igc3RhdGljXG4gKiBwcm9wZXJ0eSBzZW1hbnRpY3Mgd2hlcmUgXCJ0aGlzXCIgaXMgZHluYW1pYyAoZS5nLlxuICogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9jbG9zdXJlLWNvbXBpbGVyL2lzc3Vlcy8zMTc3IGFuZCBvdGhlcnMpIHNvIHdlIHVzZVxuICogdGhpcyBoYWNrIHRvIGJ5cGFzcyBhbnkgcmV3cml0aW5nIGJ5IHRoZSBjb21waWxlci5cbiAqL1xuY29uc3QgZmluYWxpemVkID0gJ2ZpbmFsaXplZCc7XG4vKipcbiAqIEJhc2UgZWxlbWVudCBjbGFzcyB3aGljaCBtYW5hZ2VzIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgYXR0cmlidXRlcy4gV2hlblxuICogcHJvcGVydGllcyBjaGFuZ2UsIHRoZSBgdXBkYXRlYCBtZXRob2QgaXMgYXN5bmNocm9ub3VzbHkgY2FsbGVkLiBUaGlzIG1ldGhvZFxuICogc2hvdWxkIGJlIHN1cHBsaWVkIGJ5IHN1YmNsYXNzZXJzIHRvIHJlbmRlciB1cGRhdGVzIGFzIGRlc2lyZWQuXG4gKiBAbm9Jbmhlcml0RG9jXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFjdGl2ZUVsZW1lbnRcbi8vIEluIHRoZSBOb2RlIGJ1aWxkLCB0aGlzIGBleHRlbmRzYCBjbGF1c2Ugd2lsbCBiZSBzdWJzdGl0dXRlZCB3aXRoXG4vLyBgKGdsb2JhbFRoaXMuSFRNTEVsZW1lbnQgPz8gSFRNTEVsZW1lbnQpYC5cbi8vXG4vLyBUaGlzIHdheSwgd2Ugd2lsbCBmaXJzdCBwcmVmZXIgYW55IGdsb2JhbCBgSFRNTEVsZW1lbnRgIHBvbHlmaWxsIHRoYXQgdGhlXG4vLyB1c2VyIGhhcyBhc3NpZ25lZCwgYW5kIHRoZW4gZmFsbCBiYWNrIHRvIHRoZSBgSFRNTEVsZW1lbnRgIHNoaW0gd2hpY2ggaGFzXG4vLyBiZWVuIGltcG9ydGVkIChzZWUgbm90ZSBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZSBhYm91dCBob3cgdGhpcyBpbXBvcnQgaXNcbi8vIGdlbmVyYXRlZCBieSBSb2xsdXApLiBOb3RlIHRoYXQgdGhlIGBIVE1MRWxlbWVudGAgdmFyaWFibGUgaGFzIGJlZW5cbi8vIHNoYWRvd2VkIGJ5IHRoaXMgaW1wb3J0LCBzbyBpdCBubyBsb25nZXIgcmVmZXJzIHRvIHRoZSBnbG9iYWwuXG4gZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX19pbnN0YW5jZVByb3BlcnRpZXMgPSBuZXcgTWFwKCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUcnVlIGlmIHRoZXJlIGlzIGEgcGVuZGluZyB1cGRhdGUgYXMgYSByZXN1bHQgb2YgY2FsbGluZyBgcmVxdWVzdFVwZGF0ZSgpYC5cbiAgICAgICAgICogU2hvdWxkIG9ubHkgYmUgcmVhZC5cbiAgICAgICAgICogQGNhdGVnb3J5IHVwZGF0ZXNcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuaXNVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJcyBzZXQgdG8gYHRydWVgIGFmdGVyIHRoZSBmaXJzdCB1cGRhdGUuIFRoZSBlbGVtZW50IGNvZGUgY2Fubm90IGFzc3VtZVxuICAgICAgICAgKiB0aGF0IGByZW5kZXJSb290YCBleGlzdHMgYmVmb3JlIHRoZSBlbGVtZW50IGBoYXNVcGRhdGVkYC5cbiAgICAgICAgICogQGNhdGVnb3J5IHVwZGF0ZXNcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuaGFzVXBkYXRlZCA9IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogTmFtZSBvZiBjdXJyZW50bHkgcmVmbGVjdGluZyBwcm9wZXJ0eVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0eSA9IG51bGw7XG4gICAgICAgIHRoaXMuX19pbml0aWFsaXplKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFkZHMgYW4gaW5pdGlhbGl6ZXIgZnVuY3Rpb24gdG8gdGhlIGNsYXNzIHRoYXQgaXMgY2FsbGVkIGR1cmluZyBpbnN0YW5jZVxuICAgICAqIGNvbnN0cnVjdGlvbi5cbiAgICAgKlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIGZvciBjb2RlIHRoYXQgcnVucyBhZ2FpbnN0IGEgYFJlYWN0aXZlRWxlbWVudGBcbiAgICAgKiBzdWJjbGFzcywgc3VjaCBhcyBhIGRlY29yYXRvciwgdGhhdCBuZWVkcyB0byBkbyB3b3JrIGZvciBlYWNoXG4gICAgICogaW5zdGFuY2UsIHN1Y2ggYXMgc2V0dGluZyB1cCBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgLlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBjb25zdCBteURlY29yYXRvciA9ICh0YXJnZXQ6IHR5cGVvZiBSZWFjdGl2ZUVsZW1lbnQsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICogICB0YXJnZXQuYWRkSW5pdGlhbGl6ZXIoKGluc3RhbmNlOiBSZWFjdGl2ZUVsZW1lbnQpID0+IHtcbiAgICAgKiAgICAgLy8gVGhpcyBpcyBydW4gZHVyaW5nIGNvbnN0cnVjdGlvbiBvZiB0aGUgZWxlbWVudFxuICAgICAqICAgICBuZXcgTXlDb250cm9sbGVyKGluc3RhbmNlKTtcbiAgICAgKiAgIH0pO1xuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIERlY29yYXRpbmcgYSBmaWVsZCB3aWxsIHRoZW4gY2F1c2UgZWFjaCBpbnN0YW5jZSB0byBydW4gYW4gaW5pdGlhbGl6ZXJcbiAgICAgKiB0aGF0IGFkZHMgYSBjb250cm9sbGVyOlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBjbGFzcyBNeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgICAgKiAgIEBteURlY29yYXRvciBmb287XG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogSW5pdGlhbGl6ZXJzIGFyZSBzdG9yZWQgcGVyLWNvbnN0cnVjdG9yLiBBZGRpbmcgYW4gaW5pdGlhbGl6ZXIgdG8gYVxuICAgICAqIHN1YmNsYXNzIGRvZXMgbm90IGFkZCBpdCB0byBhIHN1cGVyY2xhc3MuIFNpbmNlIGluaXRpYWxpemVycyBhcmUgcnVuIGluXG4gICAgICogY29uc3RydWN0b3JzLCBpbml0aWFsaXplcnMgd2lsbCBydW4gaW4gb3JkZXIgb2YgdGhlIGNsYXNzIGhpZXJhcmNoeSxcbiAgICAgKiBzdGFydGluZyB3aXRoIHN1cGVyY2xhc3NlcyBhbmQgcHJvZ3Jlc3NpbmcgdG8gdGhlIGluc3RhbmNlJ3MgY2xhc3MuXG4gICAgICpcbiAgICAgKiBAbm9jb2xsYXBzZVxuICAgICAqL1xuICAgIHN0YXRpYyBhZGRJbml0aWFsaXplcihpbml0aWFsaXplcikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMuZmluYWxpemUoKTtcbiAgICAgICAgKChfYSA9IHRoaXMuX2luaXRpYWxpemVycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHRoaXMuX2luaXRpYWxpemVycyA9IFtdKSkucHVzaChpbml0aWFsaXplcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBsaXN0IG9mIGF0dHJpYnV0ZXMgY29ycmVzcG9uZGluZyB0byB0aGUgcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzLlxuICAgICAqIEBub2NvbGxhcHNlXG4gICAgICogQGNhdGVnb3J5IGF0dHJpYnV0ZXNcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpIHtcbiAgICAgICAgLy8gbm90ZTogcGlnZ3kgYmFja2luZyBvbiB0aGlzIHRvIGVuc3VyZSB3ZSdyZSBmaW5hbGl6ZWQuXG4gICAgICAgIHRoaXMuZmluYWxpemUoKTtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IFtdO1xuICAgICAgICAvLyBVc2UgZm9yRWFjaCBzbyB0aGlzIHdvcmtzIGV2ZW4gaWYgZm9yL29mIGxvb3BzIGFyZSBjb21waWxlZCB0byBmb3IgbG9vcHNcbiAgICAgICAgLy8gZXhwZWN0aW5nIGFycmF5c1xuICAgICAgICB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmZvckVhY2goKHYsIHApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGF0dHIgPSB0aGlzLl9fYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHAsIHYpO1xuICAgICAgICAgICAgaWYgKGF0dHIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX19hdHRyaWJ1dGVUb1Byb3BlcnR5TWFwLnNldChhdHRyLCBwKTtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnB1c2goYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXR0cmlidXRlcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHByb3BlcnR5IGFjY2Vzc29yIG9uIHRoZSBlbGVtZW50IHByb3RvdHlwZSBpZiBvbmUgZG9lcyBub3QgZXhpc3RcbiAgICAgKiBhbmQgc3RvcmVzIGEge0BsaW5rY29kZSBQcm9wZXJ0eURlY2xhcmF0aW9ufSBmb3IgdGhlIHByb3BlcnR5IHdpdGggdGhlXG4gICAgICogZ2l2ZW4gb3B0aW9ucy4gVGhlIHByb3BlcnR5IHNldHRlciBjYWxscyB0aGUgcHJvcGVydHkncyBgaGFzQ2hhbmdlZGBcbiAgICAgKiBwcm9wZXJ0eSBvcHRpb24gb3IgdXNlcyBhIHN0cmljdCBpZGVudGl0eSBjaGVjayB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3RcbiAgICAgKiB0byByZXF1ZXN0IGFuIHVwZGF0ZS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIG1heSBiZSBvdmVycmlkZGVuIHRvIGN1c3RvbWl6ZSBwcm9wZXJ0aWVzOyBob3dldmVyLFxuICAgICAqIHdoZW4gZG9pbmcgc28sIGl0J3MgaW1wb3J0YW50IHRvIGNhbGwgYHN1cGVyLmNyZWF0ZVByb3BlcnR5YCB0byBlbnN1cmVcbiAgICAgKiB0aGUgcHJvcGVydHkgaXMgc2V0dXAgY29ycmVjdGx5LiBUaGlzIG1ldGhvZCBjYWxsc1xuICAgICAqIGBnZXRQcm9wZXJ0eURlc2NyaXB0b3JgIGludGVybmFsbHkgdG8gZ2V0IGEgZGVzY3JpcHRvciB0byBpbnN0YWxsLlxuICAgICAqIFRvIGN1c3RvbWl6ZSB3aGF0IHByb3BlcnRpZXMgZG8gd2hlbiB0aGV5IGFyZSBnZXQgb3Igc2V0LCBvdmVycmlkZVxuICAgICAqIGBnZXRQcm9wZXJ0eURlc2NyaXB0b3JgLiBUbyBjdXN0b21pemUgdGhlIG9wdGlvbnMgZm9yIGEgcHJvcGVydHksXG4gICAgICogaW1wbGVtZW50IGBjcmVhdGVQcm9wZXJ0eWAgbGlrZSB0aGlzOlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBzdGF0aWMgY3JlYXRlUHJvcGVydHkobmFtZSwgb3B0aW9ucykge1xuICAgICAqICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24ob3B0aW9ucywge215T3B0aW9uOiB0cnVlfSk7XG4gICAgICogICBzdXBlci5jcmVhdGVQcm9wZXJ0eShuYW1lLCBvcHRpb25zKTtcbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbm9jb2xsYXBzZVxuICAgICAqIEBjYXRlZ29yeSBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZVByb3BlcnR5KG5hbWUsIG9wdGlvbnMgPSBkZWZhdWx0UHJvcGVydHlEZWNsYXJhdGlvbikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIC8vIGlmIHRoaXMgaXMgYSBzdGF0ZSBwcm9wZXJ0eSwgZm9yY2UgdGhlIGF0dHJpYnV0ZSB0byBmYWxzZS5cbiAgICAgICAgaWYgKG9wdGlvbnMuc3RhdGUpIHtcbiAgICAgICAgICAgIC8vIENhc3QgYXMgYW55IHNpbmNlIHRoaXMgaXMgcmVhZG9ubHkuXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgb3B0aW9ucy5hdHRyaWJ1dGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb3RlLCBzaW5jZSB0aGlzIGNhbiBiZSBjYWxsZWQgYnkgdGhlIGBAcHJvcGVydHlgIGRlY29yYXRvciB3aGljaFxuICAgICAgICAvLyBpcyBjYWxsZWQgYmVmb3JlIGBmaW5hbGl6ZWAsIHdlIGVuc3VyZSBmaW5hbGl6YXRpb24gaGFzIGJlZW4ga2lja2VkIG9mZi5cbiAgICAgICAgdGhpcy5maW5hbGl6ZSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLnNldChuYW1lLCBvcHRpb25zKTtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGFuIGFjY2Vzc29yIGlmIHRoZSBwcm90b3R5cGUgYWxyZWFkeSBoYXMgb25lLCBzaW5jZVxuICAgICAgICAvLyBpdCB3b3VsZCBiZSBsb3N0IG90aGVyd2lzZSBhbmQgdGhhdCB3b3VsZCBuZXZlciBiZSB0aGUgdXNlcidzIGludGVudGlvbjtcbiAgICAgICAgLy8gSW5zdGVhZCwgd2UgZXhwZWN0IHVzZXJzIHRvIGNhbGwgYHJlcXVlc3RVcGRhdGVgIHRoZW1zZWx2ZXMgZnJvbVxuICAgICAgICAvLyB1c2VyLWRlZmluZWQgYWNjZXNzb3JzLiBOb3RlIHRoYXQgaWYgdGhlIHN1cGVyIGhhcyBhbiBhY2Nlc3NvciB3ZSB3aWxsXG4gICAgICAgIC8vIHN0aWxsIG92ZXJ3cml0ZSBpdFxuICAgICAgICBpZiAoIW9wdGlvbnMubm9BY2Nlc3NvciAmJiAhdGhpcy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHR5cGVvZiBuYW1lID09PSAnc3ltYm9sJyA/IFN5bWJvbCgpIDogYF9fJHtuYW1lfWA7XG4gICAgICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5nZXRQcm9wZXJ0eURlc2NyaXB0b3IobmFtZSwga2V5LCBvcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5wcm90b3R5cGUsIG5hbWUsIGRlc2NyaXB0b3IpO1xuICAgICAgICAgICAgICAgIGlmIChERVZfTU9ERSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGNsYXNzIGRvZXNuJ3QgaGF2ZSBpdHMgb3duIHNldCwgY3JlYXRlIG9uZSBhbmQgaW5pdGlhbGl6ZVxuICAgICAgICAgICAgICAgICAgICAvLyB3aXRoIHRoZSB2YWx1ZXMgaW4gdGhlIHNldCBmcm9tIHRoZSBuZWFyZXN0IGFuY2VzdG9yIGNsYXNzLCBpZiBhbnkuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNPd25Qcm9wZXJ0eSgnX19yZWFjdGl2ZVByb3BlcnR5S2V5cycpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9fcmVhY3RpdmVQcm9wZXJ0eUtleXMgPSBuZXcgU2V0KChfYSA9IHRoaXMuX19yZWFjdGl2ZVByb3BlcnR5S2V5cykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX19yZWFjdGl2ZVByb3BlcnR5S2V5cy5hZGQobmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRvIGJlIGRlZmluZWQgb24gdGhlIGdpdmVuIG5hbWVkIHByb3BlcnR5LlxuICAgICAqIElmIG5vIGRlc2NyaXB0b3IgaXMgcmV0dXJuZWQsIHRoZSBwcm9wZXJ0eSB3aWxsIG5vdCBiZWNvbWUgYW4gYWNjZXNzb3IuXG4gICAgICogRm9yIGV4YW1wbGUsXG4gICAgICpcbiAgICAgKiBgYGB0c1xuICAgICAqIGNsYXNzIE15RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICAgICAqICAgc3RhdGljIGdldFByb3BlcnR5RGVzY3JpcHRvcihuYW1lLCBrZXksIG9wdGlvbnMpIHtcbiAgICAgKiAgICAgY29uc3QgZGVmYXVsdERlc2NyaXB0b3IgPVxuICAgICAqICAgICAgICAgc3VwZXIuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKG5hbWUsIGtleSwgb3B0aW9ucyk7XG4gICAgICogICAgIGNvbnN0IHNldHRlciA9IGRlZmF1bHREZXNjcmlwdG9yLnNldDtcbiAgICAgKiAgICAgcmV0dXJuIHtcbiAgICAgKiAgICAgICBnZXQ6IGRlZmF1bHREZXNjcmlwdG9yLmdldCxcbiAgICAgKiAgICAgICBzZXQodmFsdWUpIHtcbiAgICAgKiAgICAgICAgIHNldHRlci5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICAgKiAgICAgICAgIC8vIGN1c3RvbSBhY3Rpb24uXG4gICAgICogICAgICAgfSxcbiAgICAgKiAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICogICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAqICAgICB9XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG5vY29sbGFwc2VcbiAgICAgKiBAY2F0ZWdvcnkgcHJvcGVydGllc1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IobmFtZSwga2V5LCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2tleV07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0KHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzW25hbWVdO1xuICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcHJvcGVydHkgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIHByb3BlcnR5LlxuICAgICAqIFRoZXNlIG9wdGlvbnMgYXJlIGRlZmluZWQgd2l0aCBhIGBQcm9wZXJ0eURlY2xhcmF0aW9uYCB2aWEgdGhlIGBwcm9wZXJ0aWVzYFxuICAgICAqIG9iamVjdCBvciB0aGUgYEBwcm9wZXJ0eWAgZGVjb3JhdG9yIGFuZCBhcmUgcmVnaXN0ZXJlZCBpblxuICAgICAqIGBjcmVhdGVQcm9wZXJ0eSguLi4pYC5cbiAgICAgKlxuICAgICAqIE5vdGUsIHRoaXMgbWV0aG9kIHNob3VsZCBiZSBjb25zaWRlcmVkIFwiZmluYWxcIiBhbmQgbm90IG92ZXJyaWRkZW4uIFRvXG4gICAgICogY3VzdG9taXplIHRoZSBvcHRpb25zIGZvciBhIGdpdmVuIHByb3BlcnR5LCBvdmVycmlkZVxuICAgICAqIHtAbGlua2NvZGUgY3JlYXRlUHJvcGVydHl9LlxuICAgICAqXG4gICAgICogQG5vY29sbGFwc2VcbiAgICAgKiBAZmluYWxcbiAgICAgKiBAY2F0ZWdvcnkgcHJvcGVydGllc1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRQcm9wZXJ0eU9wdGlvbnMobmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UHJvcGVydGllcy5nZXQobmFtZSkgfHwgZGVmYXVsdFByb3BlcnR5RGVjbGFyYXRpb247XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgcHJvcGVydHkgYWNjZXNzb3JzIGZvciByZWdpc3RlcmVkIHByb3BlcnRpZXMsIHNldHMgdXAgZWxlbWVudFxuICAgICAqIHN0eWxpbmcsIGFuZCBlbnN1cmVzIGFueSBzdXBlcmNsYXNzZXMgYXJlIGFsc28gZmluYWxpemVkLiBSZXR1cm5zIHRydWUgaWZcbiAgICAgKiB0aGUgZWxlbWVudCB3YXMgZmluYWxpemVkLlxuICAgICAqIEBub2NvbGxhcHNlXG4gICAgICovXG4gICAgc3RhdGljIGZpbmFsaXplKCkge1xuICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShmaW5hbGl6ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tmaW5hbGl6ZWRdID0gdHJ1ZTtcbiAgICAgICAgLy8gZmluYWxpemUgYW55IHN1cGVyY2xhc3Nlc1xuICAgICAgICBjb25zdCBzdXBlckN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7XG4gICAgICAgIHN1cGVyQ3Rvci5maW5hbGl6ZSgpO1xuICAgICAgICAvLyBDcmVhdGUgb3duIHNldCBvZiBpbml0aWFsaXplcnMgZm9yIHRoaXMgY2xhc3MgaWYgYW55IGV4aXN0IG9uIHRoZVxuICAgICAgICAvLyBzdXBlcmNsYXNzIGFuZCBjb3B5IHRoZW0gZG93bi4gTm90ZSwgZm9yIGEgc21hbGwgcGVyZiBib29zdCwgYXZvaWRcbiAgICAgICAgLy8gY3JlYXRpbmcgaW5pdGlhbGl6ZXJzIHVubGVzcyBuZWVkZWQuXG4gICAgICAgIGlmIChzdXBlckN0b3IuX2luaXRpYWxpemVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplcnMgPSBbLi4uc3VwZXJDdG9yLl9pbml0aWFsaXplcnNdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudFByb3BlcnRpZXMgPSBuZXcgTWFwKHN1cGVyQ3Rvci5lbGVtZW50UHJvcGVydGllcyk7XG4gICAgICAgIC8vIGluaXRpYWxpemUgTWFwIHBvcHVsYXRlZCBpbiBvYnNlcnZlZEF0dHJpYnV0ZXNcbiAgICAgICAgdGhpcy5fX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIC8vIG1ha2UgYW55IHByb3BlcnRpZXNcbiAgICAgICAgLy8gTm90ZSwgb25seSBwcm9jZXNzIFwib3duXCIgcHJvcGVydGllcyBzaW5jZSB0aGlzIGVsZW1lbnQgd2lsbCBpbmhlcml0XG4gICAgICAgIC8vIGFueSBwcm9wZXJ0aWVzIGRlZmluZWQgb24gdGhlIHN1cGVyQ2xhc3MsIGFuZCBmaW5hbGl6YXRpb24gZW5zdXJlc1xuICAgICAgICAvLyB0aGUgZW50aXJlIHByb3RvdHlwZSBjaGFpbiBpcyBmaW5hbGl6ZWQuXG4gICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ3Byb3BlcnRpZXMnLCB0aGlzKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5wcm9wZXJ0aWVzO1xuICAgICAgICAgICAgLy8gc3VwcG9ydCBzeW1ib2xzIGluIHByb3BlcnRpZXMgKElFMTEgZG9lcyBub3Qgc3VwcG9ydCB0aGlzKVxuICAgICAgICAgICAgY29uc3QgcHJvcEtleXMgPSBbXG4gICAgICAgICAgICAgICAgLi4uT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLFxuICAgICAgICAgICAgICAgIC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocHJvcHMpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIC8vIFRoaXMgZm9yL29mIGlzIG9rIGJlY2F1c2UgcHJvcEtleXMgaXMgYW4gYXJyYXlcbiAgICAgICAgICAgIGZvciAoY29uc3QgcCBvZiBwcm9wS2V5cykge1xuICAgICAgICAgICAgICAgIC8vIG5vdGUsIHVzZSBvZiBgYW55YCBpcyBkdWUgdG8gVHlwZVNjcmlwdCBsYWNrIG9mIHN1cHBvcnQgZm9yIHN5bWJvbCBpblxuICAgICAgICAgICAgICAgIC8vIGluZGV4IHR5cGVzXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVByb3BlcnR5KHAsIHByb3BzW3BdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRTdHlsZXMgPSB0aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKTtcbiAgICAgICAgLy8gREVWIG1vZGUgd2FybmluZ3NcbiAgICAgICAgaWYgKERFVl9NT0RFKSB7XG4gICAgICAgICAgICBjb25zdCB3YXJuUmVtb3ZlZE9yUmVuYW1lZCA9IChuYW1lLCByZW5hbWVkID0gZmFsc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNzdWVXYXJuaW5nKHJlbmFtZWQgPyAncmVuYW1lZC1hcGknIDogJ3JlbW92ZWQtYXBpJywgYFxcYCR7bmFtZX1cXGAgaXMgaW1wbGVtZW50ZWQgb24gY2xhc3MgJHt0aGlzLm5hbWV9LiBJdCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGBoYXMgYmVlbiAke3JlbmFtZWQgPyAncmVuYW1lZCcgOiAncmVtb3ZlZCd9IGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYGluIHRoaXMgdmVyc2lvbiBvZiBMaXRFbGVtZW50LmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3YXJuUmVtb3ZlZE9yUmVuYW1lZCgnaW5pdGlhbGl6ZScpO1xuICAgICAgICAgICAgd2FyblJlbW92ZWRPclJlbmFtZWQoJ3JlcXVlc3RVcGRhdGVJbnRlcm5hbCcpO1xuICAgICAgICAgICAgd2FyblJlbW92ZWRPclJlbmFtZWQoJ19nZXRVcGRhdGVDb21wbGV0ZScsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUYWtlcyB0aGUgc3R5bGVzIHRoZSB1c2VyIHN1cHBsaWVkIHZpYSB0aGUgYHN0YXRpYyBzdHlsZXNgIHByb3BlcnR5IGFuZFxuICAgICAqIHJldHVybnMgdGhlIGFycmF5IG9mIHN0eWxlcyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBpbnRlZ3JhdGUgaW50byBhIHN0eWxlIG1hbmFnZW1lbnQgc3lzdGVtLlxuICAgICAqXG4gICAgICogU3R5bGVzIGFyZSBkZWR1cGxpY2F0ZWQgcHJlc2VydmluZyB0aGUgX2xhc3RfIGluc3RhbmNlIGluIHRoZSBsaXN0LiBUaGlzXG4gICAgICogaXMgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gdG8gYXZvaWQgZHVwbGljYXRlZCBzdHlsZXMgdGhhdCBjYW4gb2NjdXJcbiAgICAgKiBlc3BlY2lhbGx5IHdoZW4gY29tcG9zaW5nIHZpYSBzdWJjbGFzc2luZy4gVGhlIGxhc3QgaXRlbSBpcyBrZXB0IHRvIHRyeVxuICAgICAqIHRvIHByZXNlcnZlIHRoZSBjYXNjYWRlIG9yZGVyIHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCBpdCdzIG1vc3QgaW1wb3J0YW50XG4gICAgICogdGhhdCBsYXN0IGFkZGVkIHN0eWxlcyBvdmVycmlkZSBwcmV2aW91cyBzdHlsZXMuXG4gICAgICpcbiAgICAgKiBAbm9jb2xsYXBzZVxuICAgICAqIEBjYXRlZ29yeSBzdHlsZXNcbiAgICAgKi9cbiAgICBzdGF0aWMgZmluYWxpemVTdHlsZXMoc3R5bGVzKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRTdHlsZXMgPSBbXTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3R5bGVzKSkge1xuICAgICAgICAgICAgLy8gRGVkdXBlIHRoZSBmbGF0dGVuZWQgYXJyYXkgaW4gcmV2ZXJzZSBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgbGFzdCBpdGVtcy5cbiAgICAgICAgICAgIC8vIENhc3RpbmcgdG8gQXJyYXk8dW5rbm93bj4gd29ya3MgYXJvdW5kIFRTIGVycm9yIHRoYXRcbiAgICAgICAgICAgIC8vIGFwcGVhcnMgdG8gY29tZSBmcm9tIHRyeWluZyB0byBmbGF0dGVuIGEgdHlwZSBDU1NSZXN1bHRBcnJheS5cbiAgICAgICAgICAgIGNvbnN0IHNldCA9IG5ldyBTZXQoc3R5bGVzLmZsYXQoSW5maW5pdHkpLnJldmVyc2UoKSk7XG4gICAgICAgICAgICAvLyBUaGVuIHByZXNlcnZlIG9yaWdpbmFsIG9yZGVyIGJ5IGFkZGluZyB0aGUgc2V0IGl0ZW1zIGluIHJldmVyc2Ugb3JkZXIuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHMgb2Ygc2V0KSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudFN0eWxlcy51bnNoaWZ0KGdldENvbXBhdGlibGVTdHlsZShzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3R5bGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVsZW1lbnRTdHlsZXMucHVzaChnZXRDb21wYXRpYmxlU3R5bGUoc3R5bGVzKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVsZW1lbnRTdHlsZXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHByb3BlcnR5IG5hbWUgZm9yIHRoZSBnaXZlbiBhdHRyaWJ1dGUgYG5hbWVgLlxuICAgICAqIEBub2NvbGxhcHNlXG4gICAgICovXG4gICAgc3RhdGljIF9fYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KG5hbWUsIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gb3B0aW9ucy5hdHRyaWJ1dGU7XG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGUgPT09IGZhbHNlXG4gICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgOiB0eXBlb2YgYXR0cmlidXRlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gYXR0cmlidXRlXG4gICAgICAgICAgICAgICAgOiB0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgICAgICAgICAgPyBuYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEludGVybmFsIG9ubHkgb3ZlcnJpZGUgcG9pbnQgZm9yIGN1c3RvbWl6aW5nIHdvcmsgZG9uZSB3aGVuIGVsZW1lbnRzXG4gICAgICogYXJlIGNvbnN0cnVjdGVkLlxuICAgICAqL1xuICAgIF9faW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICB0aGlzLl9fdXBkYXRlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXMpID0+ICh0aGlzLmVuYWJsZVVwZGF0aW5nID0gcmVzKSk7XG4gICAgICAgIHRoaXMuXyRjaGFuZ2VkUHJvcGVydGllcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5fX3NhdmVJbnN0YW5jZVByb3BlcnRpZXMoKTtcbiAgICAgICAgLy8gZW5zdXJlcyBmaXJzdCB1cGRhdGUgd2lsbCBiZSBjYXVnaHQgYnkgYW4gZWFybHkgYWNjZXNzIG9mXG4gICAgICAgIC8vIGB1cGRhdGVDb21wbGV0ZWBcbiAgICAgICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gICAgICAgIChfYSA9IHRoaXMuY29uc3RydWN0b3IuX2luaXRpYWxpemVycykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvckVhY2goKGkpID0+IGkodGhpcykpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlcnMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgZWxlbWVudCdzIHJlYWN0aXZlXG4gICAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICAgKiBjb250cm9sbGVycyBkdXJpbmcgaXRzIGxpZmVjeWNsZSBjYWxsYmFja3MuXG4gICAgICpcbiAgICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgICAqIGNvbnRyb2xsZXIncyBgaG9zdENvbm5lY3RlZCgpYCBjYWxsYmFjayB3aWxsIGJlIGltbWVkaWF0ZWx5IGNhbGxlZC5cbiAgICAgKiBAY2F0ZWdvcnkgY29udHJvbGxlcnNcbiAgICAgKi9cbiAgICBhZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgKChfYSA9IHRoaXMuX19jb250cm9sbGVycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHRoaXMuX19jb250cm9sbGVycyA9IFtdKSkucHVzaChjb250cm9sbGVyKTtcbiAgICAgICAgLy8gSWYgYSBjb250cm9sbGVyIGlzIGFkZGVkIGFmdGVyIHRoZSBlbGVtZW50IGhhcyBiZWVuIGNvbm5lY3RlZCxcbiAgICAgICAgLy8gY2FsbCBob3N0Q29ubmVjdGVkLiBOb3RlLCByZS11c2luZyBleGlzdGVuY2Ugb2YgYHJlbmRlclJvb3RgIGhlcmVcbiAgICAgICAgLy8gKHdoaWNoIGlzIHNldCBpbiBjb25uZWN0ZWRDYWxsYmFjaykgdG8gYXZvaWQgdGhlIG5lZWQgdG8gdHJhY2sgYVxuICAgICAgICAvLyBmaXJzdCBjb25uZWN0ZWQgc3RhdGUuXG4gICAgICAgIGlmICh0aGlzLnJlbmRlclJvb3QgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICAoX2IgPSBjb250cm9sbGVyLmhvc3RDb25uZWN0ZWQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKGNvbnRyb2xsZXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCBmcm9tIHRoZSBlbGVtZW50LlxuICAgICAqIEBjYXRlZ29yeSBjb250cm9sbGVyc1xuICAgICAqL1xuICAgIHJlbW92ZUNvbnRyb2xsZXIoY29udHJvbGxlcikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIC8vIE5vdGUsIGlmIHRoZSBpbmRleE9mIGlzIC0xLCB0aGUgPj4+IHdpbGwgZmxpcCB0aGUgc2lnbiB3aGljaCBtYWtlcyB0aGVcbiAgICAgICAgLy8gc3BsaWNlIGRvIG5vdGhpbmcuXG4gICAgICAgIChfYSA9IHRoaXMuX19jb250cm9sbGVycykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNwbGljZSh0aGlzLl9fY29udHJvbGxlcnMuaW5kZXhPZihjb250cm9sbGVyKSA+Pj4gMCwgMSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpeGVzIGFueSBwcm9wZXJ0aWVzIHNldCBvbiB0aGUgaW5zdGFuY2UgYmVmb3JlIHVwZ3JhZGUgdGltZS5cbiAgICAgKiBPdGhlcndpc2UgdGhlc2Ugd291bGQgc2hhZG93IHRoZSBhY2Nlc3NvciBhbmQgYnJlYWsgdGhlc2UgcHJvcGVydGllcy5cbiAgICAgKiBUaGUgcHJvcGVydGllcyBhcmUgc3RvcmVkIGluIGEgTWFwIHdoaWNoIGlzIHBsYXllZCBiYWNrIGFmdGVyIHRoZVxuICAgICAqIGNvbnN0cnVjdG9yIHJ1bnMuIE5vdGUsIG9uIHZlcnkgb2xkIHZlcnNpb25zIG9mIFNhZmFyaSAoPD05KSBvciBDaHJvbWVcbiAgICAgKiAoPD00MSksIHByb3BlcnRpZXMgY3JlYXRlZCBmb3IgbmF0aXZlIHBsYXRmb3JtIHByb3BlcnRpZXMgbGlrZSAoYGlkYCBvclxuICAgICAqIGBuYW1lYCkgbWF5IG5vdCBoYXZlIGRlZmF1bHQgdmFsdWVzIHNldCBpbiB0aGUgZWxlbWVudCBjb25zdHJ1Y3Rvci4gT25cbiAgICAgKiB0aGVzZSBicm93c2VycyBuYXRpdmUgcHJvcGVydGllcyBhcHBlYXIgb24gaW5zdGFuY2VzIGFuZCB0aGVyZWZvcmUgdGhlaXJcbiAgICAgKiBkZWZhdWx0IHZhbHVlIHdpbGwgb3ZlcndyaXRlIGFueSBlbGVtZW50IGRlZmF1bHQgKGUuZy4gaWYgdGhlIGVsZW1lbnQgc2V0c1xuICAgICAqIHRoaXMuaWQgPSAnaWQnIGluIHRoZSBjb25zdHJ1Y3RvciwgdGhlICdpZCcgd2lsbCBiZWNvbWUgJycgc2luY2UgdGhpcyBpc1xuICAgICAqIHRoZSBuYXRpdmUgcGxhdGZvcm0gZGVmYXVsdCkuXG4gICAgICovXG4gICAgX19zYXZlSW5zdGFuY2VQcm9wZXJ0aWVzKCkge1xuICAgICAgICAvLyBVc2UgZm9yRWFjaCBzbyB0aGlzIHdvcmtzIGV2ZW4gaWYgZm9yL29mIGxvb3BzIGFyZSBjb21waWxlZCB0byBmb3IgbG9vcHNcbiAgICAgICAgLy8gZXhwZWN0aW5nIGFycmF5c1xuICAgICAgICB0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRQcm9wZXJ0aWVzLmZvckVhY2goKF92LCBwKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX19pbnN0YW5jZVByb3BlcnRpZXMuc2V0KHAsIHRoaXNbcF0pO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzW3BdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbm9kZSBpbnRvIHdoaWNoIHRoZSBlbGVtZW50IHNob3VsZCByZW5kZXIgYW5kIGJ5IGRlZmF1bHRcbiAgICAgKiBjcmVhdGVzIGFuZCByZXR1cm5zIGFuIG9wZW4gc2hhZG93Um9vdC4gSW1wbGVtZW50IHRvIGN1c3RvbWl6ZSB3aGVyZSB0aGVcbiAgICAgKiBlbGVtZW50J3MgRE9NIGlzIHJlbmRlcmVkLiBGb3IgZXhhbXBsZSwgdG8gcmVuZGVyIGludG8gdGhlIGVsZW1lbnQnc1xuICAgICAqIGNoaWxkTm9kZXMsIHJldHVybiBgdGhpc2AuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIFJldHVybnMgYSBub2RlIGludG8gd2hpY2ggdG8gcmVuZGVyLlxuICAgICAqIEBjYXRlZ29yeSByZW5kZXJpbmdcbiAgICAgKi9cbiAgICBjcmVhdGVSZW5kZXJSb290KCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IHJlbmRlclJvb3QgPSAoX2EgPSB0aGlzLnNoYWRvd1Jvb3QpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO1xuICAgICAgICBhZG9wdFN0eWxlcyhyZW5kZXJSb290LCB0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRTdHlsZXMpO1xuICAgICAgICByZXR1cm4gcmVuZGVyUm9vdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogT24gZmlyc3QgY29ubmVjdGlvbiwgY3JlYXRlcyB0aGUgZWxlbWVudCdzIHJlbmRlclJvb3QsIHNldHMgdXBcbiAgICAgKiBlbGVtZW50IHN0eWxpbmcsIGFuZCBlbmFibGVzIHVwZGF0aW5nLlxuICAgICAqIEBjYXRlZ29yeSBsaWZlY3ljbGVcbiAgICAgKi9cbiAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAvLyBjcmVhdGUgcmVuZGVyUm9vdCBiZWZvcmUgZmlyc3QgdXBkYXRlLlxuICAgICAgICBpZiAodGhpcy5yZW5kZXJSb290ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyUm9vdCA9IHRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW5hYmxlVXBkYXRpbmcodHJ1ZSk7XG4gICAgICAgIChfYSA9IHRoaXMuX19jb250cm9sbGVycykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvckVhY2goKGMpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gYy5ob3N0Q29ubmVjdGVkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChjKTsgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE5vdGUsIHRoaXMgbWV0aG9kIHNob3VsZCBiZSBjb25zaWRlcmVkIGZpbmFsIGFuZCBub3Qgb3ZlcnJpZGRlbi4gSXQgaXNcbiAgICAgKiBvdmVycmlkZGVuIG9uIHRoZSBlbGVtZW50IGluc3RhbmNlIHdpdGggYSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIHRoZSBmaXJzdFxuICAgICAqIHVwZGF0ZS5cbiAgICAgKiBAY2F0ZWdvcnkgdXBkYXRlc1xuICAgICAqL1xuICAgIGVuYWJsZVVwZGF0aW5nKF9yZXF1ZXN0ZWRVcGRhdGUpIHsgfVxuICAgIC8qKlxuICAgICAqIEFsbG93cyBmb3IgYHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKClgIGluIGV4dGVuc2lvbnMgd2hpbGVcbiAgICAgKiByZXNlcnZpbmcgdGhlIHBvc3NpYmlsaXR5IG9mIG1ha2luZyBub24tYnJlYWtpbmcgZmVhdHVyZSBhZGRpdGlvbnNcbiAgICAgKiB3aGVuIGRpc2Nvbm5lY3RpbmcgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLlxuICAgICAqIEBjYXRlZ29yeSBsaWZlY3ljbGVcbiAgICAgKi9cbiAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAoX2EgPSB0aGlzLl9fY29udHJvbGxlcnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb3JFYWNoKChjKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGMuaG9zdERpc2Nvbm5lY3RlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoYyk7IH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTeW5jaHJvbml6ZXMgcHJvcGVydHkgdmFsdWVzIHdoZW4gYXR0cmlidXRlcyBjaGFuZ2UuXG4gICAgICpcbiAgICAgKiBTcGVjaWZpY2FsbHksIHdoZW4gYW4gYXR0cmlidXRlIGlzIHNldCwgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgaXMgc2V0LlxuICAgICAqIFlvdSBzaG91bGQgcmFyZWx5IG5lZWQgdG8gaW1wbGVtZW50IHRoaXMgY2FsbGJhY2suIElmIHRoaXMgbWV0aG9kIGlzXG4gICAgICogb3ZlcnJpZGRlbiwgYHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBfb2xkLCB2YWx1ZSlgIG11c3QgYmVcbiAgICAgKiBjYWxsZWQuXG4gICAgICpcbiAgICAgKiBTZWUgW3VzaW5nIHRoZSBsaWZlY3ljbGUgY2FsbGJhY2tzXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9XZWJfQ29tcG9uZW50cy9Vc2luZ19jdXN0b21fZWxlbWVudHMjdXNpbmdfdGhlX2xpZmVjeWNsZV9jYWxsYmFja3MpXG4gICAgICogb24gTUROIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYC5cbiAgICAgKiBAY2F0ZWdvcnkgYXR0cmlidXRlc1xuICAgICAqL1xuICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBfb2xkLCB2YWx1ZSkge1xuICAgICAgICB0aGlzLl8kYXR0cmlidXRlVG9Qcm9wZXJ0eShuYW1lLCB2YWx1ZSk7XG4gICAgfVxuICAgIF9fcHJvcGVydHlUb0F0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgb3B0aW9ucyA9IGRlZmF1bHRQcm9wZXJ0eURlY2xhcmF0aW9uKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgYXR0ciA9IHRoaXMuY29uc3RydWN0b3IuX19hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkobmFtZSwgb3B0aW9ucyk7XG4gICAgICAgIGlmIChhdHRyICE9PSB1bmRlZmluZWQgJiYgb3B0aW9ucy5yZWZsZWN0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBjb252ZXJ0ZXIgPSAoKF9hID0gb3B0aW9ucy5jb252ZXJ0ZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b0F0dHJpYnV0ZSkgIT09XG4gICAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyBvcHRpb25zLmNvbnZlcnRlclxuICAgICAgICAgICAgICAgIDogZGVmYXVsdENvbnZlcnRlcjtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJWYWx1ZSA9IGNvbnZlcnRlci50b0F0dHJpYnV0ZSh2YWx1ZSwgb3B0aW9ucy50eXBlKTtcbiAgICAgICAgICAgIGlmIChERVZfTU9ERSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IuZW5hYmxlZFdhcm5pbmdzLmluZGV4T2YoJ21pZ3JhdGlvbicpID49IDAgJiZcbiAgICAgICAgICAgICAgICBhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGlzc3VlV2FybmluZygndW5kZWZpbmVkLWF0dHJpYnV0ZS12YWx1ZScsIGBUaGUgYXR0cmlidXRlIHZhbHVlIGZvciB0aGUgJHtuYW1lfSBwcm9wZXJ0eSBpcyBgICtcbiAgICAgICAgICAgICAgICAgICAgYHVuZGVmaW5lZCBvbiBlbGVtZW50ICR7dGhpcy5sb2NhbE5hbWV9LiBUaGUgYXR0cmlidXRlIHdpbGwgYmUgYCArXG4gICAgICAgICAgICAgICAgICAgIGByZW1vdmVkLCBidXQgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgXFxgUmVhY3RpdmVFbGVtZW50XFxgLCBgICtcbiAgICAgICAgICAgICAgICAgICAgYHRoZSBhdHRyaWJ1dGUgd291bGQgbm90IGhhdmUgY2hhbmdlZC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRyYWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyBiZWluZyByZWZsZWN0ZWQgdG8gYXZvaWRcbiAgICAgICAgICAgIC8vIHNldHRpbmcgdGhlIHByb3BlcnR5IGFnYWluIHZpYSBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYC4gTm90ZTpcbiAgICAgICAgICAgIC8vIDEuIHRoaXMgdGFrZXMgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQgdGhlIGNhbGxiYWNrIGlzIHN5bmNocm9ub3VzLlxuICAgICAgICAgICAgLy8gMi4gd2lsbCBiZWhhdmUgaW5jb3JyZWN0bHkgaWYgbXVsdGlwbGUgYXR0cmlidXRlcyBhcmUgaW4gdGhlIHJlYWN0aW9uXG4gICAgICAgICAgICAvLyBzdGFjayBhdCB0aW1lIG9mIGNhbGxpbmcuIEhvd2V2ZXIsIHNpbmNlIHdlIHByb2Nlc3MgYXR0cmlidXRlc1xuICAgICAgICAgICAgLy8gaW4gYHVwZGF0ZWAgdGhpcyBzaG91bGQgbm90IGJlIHBvc3NpYmxlIChvciBhbiBleHRyZW1lIGNvcm5lciBjYXNlXG4gICAgICAgICAgICAvLyB0aGF0IHdlJ2QgbGlrZSB0byBkaXNjb3ZlcikuXG4gICAgICAgICAgICAvLyBtYXJrIHN0YXRlIHJlZmxlY3RpbmdcbiAgICAgICAgICAgIHRoaXMuX19yZWZsZWN0aW5nUHJvcGVydHkgPSBuYW1lO1xuICAgICAgICAgICAgaWYgKGF0dHJWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShhdHRyLCBhdHRyVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gbWFyayBzdGF0ZSBub3QgcmVmbGVjdGluZ1xuICAgICAgICAgICAgdGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0eSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF8kYXR0cmlidXRlVG9Qcm9wZXJ0eShuYW1lLCB2YWx1ZSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yO1xuICAgICAgICAvLyBOb3RlLCBoaW50IHRoaXMgYXMgYW4gYEF0dHJpYnV0ZU1hcGAgc28gY2xvc3VyZSBjbGVhcmx5IHVuZGVyc3RhbmRzXG4gICAgICAgIC8vIHRoZSB0eXBlOyBpdCBoYXMgaXNzdWVzIHdpdGggdHJhY2tpbmcgdHlwZXMgdGhyb3VnaCBzdGF0aWNzXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gY3Rvci5fX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuZ2V0KG5hbWUpO1xuICAgICAgICAvLyBVc2UgdHJhY2tpbmcgaW5mbyB0byBhdm9pZCByZWZsZWN0aW5nIGEgcHJvcGVydHkgdmFsdWUgdG8gYW4gYXR0cmlidXRlXG4gICAgICAgIC8vIGlmIGl0IHdhcyBqdXN0IHNldCBiZWNhdXNlIHRoZSBhdHRyaWJ1dGUgY2hhbmdlZC5cbiAgICAgICAgaWYgKHByb3BOYW1lICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0eSAhPT0gcHJvcE5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjdG9yLmdldFByb3BlcnR5T3B0aW9ucyhwcm9wTmFtZSk7XG4gICAgICAgICAgICBjb25zdCBjb252ZXJ0ZXIgPSB0eXBlb2Ygb3B0aW9ucy5jb252ZXJ0ZXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IHsgZnJvbUF0dHJpYnV0ZTogb3B0aW9ucy5jb252ZXJ0ZXIgfVxuICAgICAgICAgICAgICAgIDogKChfYSA9IG9wdGlvbnMuY29udmVydGVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZnJvbUF0dHJpYnV0ZSkgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IG9wdGlvbnMuY29udmVydGVyXG4gICAgICAgICAgICAgICAgICAgIDogZGVmYXVsdENvbnZlcnRlcjtcbiAgICAgICAgICAgIC8vIG1hcmsgc3RhdGUgcmVmbGVjdGluZ1xuICAgICAgICAgICAgdGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0eSA9IHByb3BOYW1lO1xuICAgICAgICAgICAgdGhpc1twcm9wTmFtZV0gPSBjb252ZXJ0ZXIuZnJvbUF0dHJpYnV0ZSh2YWx1ZSwgb3B0aW9ucy50eXBlXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8vIG1hcmsgc3RhdGUgbm90IHJlZmxlY3RpbmdcbiAgICAgICAgICAgIHRoaXMuX19yZWZsZWN0aW5nUHJvcGVydHkgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSB3aGljaCBpcyBwcm9jZXNzZWQgYXN5bmNocm9ub3VzbHkuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZFxuICAgICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAgICogYSByZWFjdGl2ZSBwcm9wZXJ0eS4gSW4gdGhpcyBjYXNlLCBwYXNzIG5vIGFyZ3VtZW50cy4gSXQgc2hvdWxkIGFsc28gYmVcbiAgICAgKiBjYWxsZWQgd2hlbiBtYW51YWxseSBpbXBsZW1lbnRpbmcgYSBwcm9wZXJ0eSBzZXR0ZXIuIEluIHRoaXMgY2FzZSwgcGFzcyB0aGVcbiAgICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICAgKiBvcHRpb25zIGFyZSBob25vcmVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAgICogQHBhcmFtIG9sZFZhbHVlIG9sZCB2YWx1ZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAgICogQHBhcmFtIG9wdGlvbnMgcHJvcGVydHkgb3B0aW9ucyB0byB1c2UgaW5zdGVhZCBvZiB0aGUgcHJldmlvdXNseVxuICAgICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICAgKiBAY2F0ZWdvcnkgdXBkYXRlc1xuICAgICAqL1xuICAgIHJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpIHtcbiAgICAgICAgbGV0IHNob3VsZFJlcXVlc3RVcGRhdGUgPSB0cnVlO1xuICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgcHJvcGVydHkga2V5LCBwZXJmb3JtIHByb3BlcnR5IHVwZGF0ZSBzdGVwcy5cbiAgICAgICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgb3B0aW9ucyA9XG4gICAgICAgICAgICAgICAgb3B0aW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdG9yLmdldFByb3BlcnR5T3B0aW9ucyhuYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBvcHRpb25zLmhhc0NoYW5nZWQgfHwgbm90RXF1YWw7XG4gICAgICAgICAgICBpZiAoaGFzQ2hhbmdlZCh0aGlzW25hbWVdLCBvbGRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuXyRjaGFuZ2VkUHJvcGVydGllcy5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fJGNoYW5nZWRQcm9wZXJ0aWVzLnNldChuYW1lLCBvbGRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEFkZCB0byByZWZsZWN0aW5nIHByb3BlcnRpZXMgc2V0LlxuICAgICAgICAgICAgICAgIC8vIE5vdGUsIGl0J3MgaW1wb3J0YW50IHRoYXQgZXZlcnkgY2hhbmdlIGhhcyBhIGNoYW5jZSB0byBhZGQgdGhlXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydHkgdG8gYF9yZWZsZWN0aW5nUHJvcGVydGllc2AuIFRoaXMgZW5zdXJlcyBzZXR0aW5nXG4gICAgICAgICAgICAgICAgLy8gYXR0cmlidXRlICsgcHJvcGVydHkgcmVmbGVjdHMgY29ycmVjdGx5LlxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnJlZmxlY3QgPT09IHRydWUgJiYgdGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0eSAhPT0gbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0aWVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX19yZWZsZWN0aW5nUHJvcGVydGllcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9fcmVmbGVjdGluZ1Byb3BlcnRpZXMuc2V0KG5hbWUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEFib3J0IHRoZSByZXF1ZXN0IGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgY2hhbmdlZC5cbiAgICAgICAgICAgICAgICBzaG91bGRSZXF1ZXN0VXBkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlzVXBkYXRlUGVuZGluZyAmJiBzaG91bGRSZXF1ZXN0VXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9fdXBkYXRlUHJvbWlzZSA9IHRoaXMuX19lbnF1ZXVlVXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm90ZSwgc2luY2UgdGhpcyBubyBsb25nZXIgcmV0dXJucyBhIHByb21pc2UsIGluIGRldiBtb2RlIHdlIHJldHVybiBhXG4gICAgICAgIC8vIHRoZW5hYmxlIHdoaWNoIHdhcm5zIGlmIGl0J3MgY2FsbGVkLlxuICAgICAgICByZXR1cm4gREVWX01PREVcbiAgICAgICAgICAgID8gcmVxdWVzdFVwZGF0ZVRoZW5hYmxlKHRoaXMubG9jYWxOYW1lKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldHMgdXAgdGhlIGVsZW1lbnQgdG8gYXN5bmNocm9ub3VzbHkgdXBkYXRlLlxuICAgICAqL1xuICAgIGFzeW5jIF9fZW5xdWV1ZVVwZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5pc1VwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gRW5zdXJlIGFueSBwcmV2aW91cyB1cGRhdGUgaGFzIHJlc29sdmVkIGJlZm9yZSB1cGRhdGluZy5cbiAgICAgICAgICAgIC8vIFRoaXMgYGF3YWl0YCBhbHNvIGVuc3VyZXMgdGhhdCBwcm9wZXJ0eSBjaGFuZ2VzIGFyZSBiYXRjaGVkLlxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fX3VwZGF0ZVByb21pc2U7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIC8vIFJlZmlyZSBhbnkgcHJldmlvdXMgZXJyb3JzIGFzeW5jIHNvIHRoZXkgZG8gbm90IGRpc3J1cHQgdGhlIHVwZGF0ZVxuICAgICAgICAgICAgLy8gY3ljbGUuIEVycm9ycyBhcmUgcmVmaXJlZCBzbyBkZXZlbG9wZXJzIGhhdmUgYSBjaGFuY2UgdG8gb2JzZXJ2ZVxuICAgICAgICAgICAgLy8gdGhlbSwgYW5kIHRoaXMgY2FuIGJlIGRvbmUgYnkgaW1wbGVtZW50aW5nXG4gICAgICAgICAgICAvLyBgd2luZG93Lm9udW5oYW5kbGVkcmVqZWN0aW9uYC5cbiAgICAgICAgICAgIFByb21pc2UucmVqZWN0KGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2NoZWR1bGVVcGRhdGUoKTtcbiAgICAgICAgLy8gSWYgYHNjaGVkdWxlVXBkYXRlYCByZXR1cm5zIGEgUHJvbWlzZSwgd2UgYXdhaXQgaXQuIFRoaXMgaXMgZG9uZSB0b1xuICAgICAgICAvLyBlbmFibGUgY29vcmRpbmF0aW5nIHVwZGF0ZXMgd2l0aCBhIHNjaGVkdWxlci4gTm90ZSwgdGhlIHJlc3VsdCBpc1xuICAgICAgICAvLyBjaGVja2VkIHRvIGF2b2lkIGRlbGF5aW5nIGFuIGFkZGl0aW9uYWwgbWljcm90YXNrIHVubGVzcyB3ZSBuZWVkIHRvLlxuICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGF3YWl0IHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIXRoaXMuaXNVcGRhdGVQZW5kaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTY2hlZHVsZXMgYW4gZWxlbWVudCB1cGRhdGUuIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gY2hhbmdlIHRoZVxuICAgICAqIHRpbWluZyBvZiB1cGRhdGVzIGJ5IHJldHVybmluZyBhIFByb21pc2UuIFRoZSB1cGRhdGUgd2lsbCBhd2FpdCB0aGVcbiAgICAgKiByZXR1cm5lZCBQcm9taXNlLCBhbmQgeW91IHNob3VsZCByZXNvbHZlIHRoZSBQcm9taXNlIHRvIGFsbG93IHRoZSB1cGRhdGVcbiAgICAgKiB0byBwcm9jZWVkLiBJZiB0aGlzIG1ldGhvZCBpcyBvdmVycmlkZGVuLCBgc3VwZXIuc2NoZWR1bGVVcGRhdGUoKWBcbiAgICAgKiBtdXN0IGJlIGNhbGxlZC5cbiAgICAgKlxuICAgICAqIEZvciBpbnN0YW5jZSwgdG8gc2NoZWR1bGUgdXBkYXRlcyB0byBvY2N1ciBqdXN0IGJlZm9yZSB0aGUgbmV4dCBmcmFtZTpcbiAgICAgKlxuICAgICAqIGBgYHRzXG4gICAgICogb3ZlcnJpZGUgcHJvdGVjdGVkIGFzeW5jIHNjaGVkdWxlVXBkYXRlKCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAqICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkpKTtcbiAgICAgKiAgIHN1cGVyLnNjaGVkdWxlVXBkYXRlKCk7XG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqIEBjYXRlZ29yeSB1cGRhdGVzXG4gICAgICovXG4gICAgc2NoZWR1bGVVcGRhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcmZvcm1VcGRhdGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYW4gZWxlbWVudCB1cGRhdGUuIE5vdGUsIGlmIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gZHVyaW5nIHRoZVxuICAgICAqIHVwZGF0ZSwgYGZpcnN0VXBkYXRlZGAgYW5kIGB1cGRhdGVkYCB3aWxsIG5vdCBiZSBjYWxsZWQuXG4gICAgICpcbiAgICAgKiBDYWxsIGBwZXJmb3JtVXBkYXRlKClgIHRvIGltbWVkaWF0ZWx5IHByb2Nlc3MgYSBwZW5kaW5nIHVwZGF0ZS4gVGhpcyBzaG91bGRcbiAgICAgKiBnZW5lcmFsbHkgbm90IGJlIG5lZWRlZCwgYnV0IGl0IGNhbiBiZSBkb25lIGluIHJhcmUgY2FzZXMgd2hlbiB5b3UgbmVlZCB0b1xuICAgICAqIHVwZGF0ZSBzeW5jaHJvbm91c2x5LlxuICAgICAqXG4gICAgICogTm90ZTogVG8gZW5zdXJlIGBwZXJmb3JtVXBkYXRlKClgIHN5bmNocm9ub3VzbHkgY29tcGxldGVzIGEgcGVuZGluZyB1cGRhdGUsXG4gICAgICogaXQgc2hvdWxkIG5vdCBiZSBvdmVycmlkZGVuLiBJbiBMaXRFbGVtZW50IDIueCBpdCB3YXMgc3VnZ2VzdGVkIHRvIG92ZXJyaWRlXG4gICAgICogYHBlcmZvcm1VcGRhdGUoKWAgdG8gYWxzbyBjdXN0b21pemluZyB1cGRhdGUgc2NoZWR1bGluZy4gSW5zdGVhZCwgeW91IHNob3VsZCBub3dcbiAgICAgKiBvdmVycmlkZSBgc2NoZWR1bGVVcGRhdGUoKWAuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIExpdEVsZW1lbnQgMi54LFxuICAgICAqIHNjaGVkdWxpbmcgdXBkYXRlcyB2aWEgYHBlcmZvcm1VcGRhdGUoKWAgY29udGludWVzIHRvIHdvcmssIGJ1dCB3aWxsIG1ha2VcbiAgICAgKiBhbHNvIGNhbGxpbmcgYHBlcmZvcm1VcGRhdGUoKWAgdG8gc3luY2hyb25vdXNseSBwcm9jZXNzIHVwZGF0ZXMgZGlmZmljdWx0LlxuICAgICAqXG4gICAgICogQGNhdGVnb3J5IHVwZGF0ZXNcbiAgICAgKi9cbiAgICBwZXJmb3JtVXBkYXRlKCkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAvLyBBYm9ydCBhbnkgdXBkYXRlIGlmIG9uZSBpcyBub3QgcGVuZGluZyB3aGVuIHRoaXMgaXMgY2FsbGVkLlxuICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgYHBlcmZvcm1VcGRhdGVgIGlzIGNhbGxlZCBlYXJseSB0byBcImZsdXNoXCJcbiAgICAgICAgLy8gdGhlIHVwZGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLmlzVXBkYXRlUGVuZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnTG9nRXZlbnQgPT09IG51bGwgfHwgZGVidWdMb2dFdmVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGVidWdMb2dFdmVudCh7IGtpbmQ6ICd1cGRhdGUnIH0pO1xuICAgICAgICAvLyBjcmVhdGUgcmVuZGVyUm9vdCBiZWZvcmUgZmlyc3QgdXBkYXRlLlxuICAgICAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgICAgICAgLy8gUHJvZHVjZSB3YXJuaW5nIGlmIGFueSBjbGFzcyBwcm9wZXJ0aWVzIGFyZSBzaGFkb3dlZCBieSBjbGFzcyBmaWVsZHNcbiAgICAgICAgICAgIGlmIChERVZfTU9ERSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNoYWRvd2VkUHJvcGVydGllcyA9IFtdO1xuICAgICAgICAgICAgICAgIChfYSA9IHRoaXMuY29uc3RydWN0b3IuX19yZWFjdGl2ZVByb3BlcnR5S2V5cykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvckVhY2goKHApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShwKSAmJiAhKChfYSA9IHRoaXMuX19pbnN0YW5jZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5oYXMocCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dlZFByb3BlcnRpZXMucHVzaChwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChzaGFkb3dlZFByb3BlcnRpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG9uIGVsZW1lbnQgJHt0aGlzLmxvY2FsTmFtZX0gd2lsbCBub3QgYCArXG4gICAgICAgICAgICAgICAgICAgICAgICBgdHJpZ2dlciB1cGRhdGVzIGFzIGV4cGVjdGVkIGJlY2F1c2UgdGhleSBhcmUgc2V0IHVzaW5nIGNsYXNzIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYGZpZWxkczogJHtzaGFkb3dlZFByb3BlcnRpZXMuam9pbignLCAnKX0uIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYE5hdGl2ZSBjbGFzcyBmaWVsZHMgYW5kIHNvbWUgY29tcGlsZWQgb3V0cHV0IHdpbGwgb3ZlcndyaXRlIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYGFjY2Vzc29ycyB1c2VkIGZvciBkZXRlY3RpbmcgY2hhbmdlcy4gU2VlIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYGh0dHBzOi8vbGl0LmRldi9tc2cvY2xhc3MtZmllbGQtc2hhZG93aW5nIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgYGZvciBtb3JlIGluZm9ybWF0aW9uLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBNaXhpbiBpbnN0YW5jZSBwcm9wZXJ0aWVzIG9uY2UsIGlmIHRoZXkgZXhpc3QuXG4gICAgICAgIGlmICh0aGlzLl9faW5zdGFuY2VQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAvLyBVc2UgZm9yRWFjaCBzbyB0aGlzIHdvcmtzIGV2ZW4gaWYgZm9yL29mIGxvb3BzIGFyZSBjb21waWxlZCB0byBmb3IgbG9vcHNcbiAgICAgICAgICAgIC8vIGV4cGVjdGluZyBhcnJheXNcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICB0aGlzLl9faW5zdGFuY2VQcm9wZXJ0aWVzLmZvckVhY2goKHYsIHApID0+ICh0aGlzW3BdID0gdikpO1xuICAgICAgICAgICAgdGhpcy5fX2luc3RhbmNlUHJvcGVydGllcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGNoYW5nZWRQcm9wZXJ0aWVzID0gdGhpcy5fJGNoYW5nZWRQcm9wZXJ0aWVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlID0gdGhpcy5zaG91bGRVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgICAgICAgaWYgKHNob3VsZFVwZGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICAgICAgICAgICAgKF9iID0gdGhpcy5fX2NvbnRyb2xsZXJzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9yRWFjaCgoYykgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBjLmhvc3RVcGRhdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGMpOyB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9fbWFya1VwZGF0ZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLy8gUHJldmVudCBgZmlyc3RVcGRhdGVkYCBhbmQgYHVwZGF0ZWRgIGZyb20gcnVubmluZyB3aGVuIHRoZXJlJ3MgYW5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSBleGNlcHRpb24uXG4gICAgICAgICAgICBzaG91bGRVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIEVuc3VyZSBlbGVtZW50IGNhbiBhY2NlcHQgYWRkaXRpb25hbCB1cGRhdGVzIGFmdGVyIGFuIGV4Y2VwdGlvbi5cbiAgICAgICAgICAgIHRoaXMuX19tYXJrVXBkYXRlZCgpO1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgdXBkYXRlIGlzIG5vIGxvbmdlciBjb25zaWRlcmVkIHBlbmRpbmcgYW5kIGZ1cnRoZXIgdXBkYXRlcyBhcmUgbm93IGFsbG93ZWQuXG4gICAgICAgIGlmIChzaG91bGRVcGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuXyRkaWRVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEludm9rZWQgYmVmb3JlIGB1cGRhdGUoKWAgdG8gY29tcHV0ZSB2YWx1ZXMgbmVlZGVkIGR1cmluZyB0aGUgdXBkYXRlLlxuICAgICAqXG4gICAgICogSW1wbGVtZW50IGB3aWxsVXBkYXRlYCB0byBjb21wdXRlIHByb3BlcnR5IHZhbHVlcyB0aGF0IGRlcGVuZCBvbiBvdGhlclxuICAgICAqIHByb3BlcnRpZXMgYW5kIGFyZSB1c2VkIGluIHRoZSByZXN0IG9mIHRoZSB1cGRhdGUgcHJvY2Vzcy5cbiAgICAgKlxuICAgICAqIGBgYHRzXG4gICAgICogd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcykge1xuICAgICAqICAgLy8gb25seSBuZWVkIHRvIGNoZWNrIGNoYW5nZWQgcHJvcGVydGllcyBmb3IgYW4gZXhwZW5zaXZlIGNvbXB1dGF0aW9uLlxuICAgICAqICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZmlyc3ROYW1lJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYXN0TmFtZScpKSB7XG4gICAgICogICAgIHRoaXMuc2hhID0gY29tcHV0ZVNIQShgJHt0aGlzLmZpcnN0TmFtZX0gJHt0aGlzLmxhc3ROYW1lfWApO1xuICAgICAqICAgfVxuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHJlbmRlcigpIHtcbiAgICAgKiAgIHJldHVybiBodG1sYFNIQTogJHt0aGlzLnNoYX1gO1xuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBjYXRlZ29yeSB1cGRhdGVzXG4gICAgICovXG4gICAgd2lsbFVwZGF0ZShfY2hhbmdlZFByb3BlcnRpZXMpIHsgfVxuICAgIC8vIE5vdGUsIHRoaXMgaXMgYW4gb3ZlcnJpZGUgcG9pbnQgZm9yIHBvbHlmaWxsLXN1cHBvcnQuXG4gICAgLy8gQGludGVybmFsXG4gICAgXyRkaWRVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAoX2EgPSB0aGlzLl9fY29udHJvbGxlcnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb3JFYWNoKChjKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGMuaG9zdFVwZGF0ZWQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGMpOyB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFzVXBkYXRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICAgICAgaWYgKERFVl9NT0RFICYmXG4gICAgICAgICAgICB0aGlzLmlzVXBkYXRlUGVuZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5lbmFibGVkV2FybmluZ3MuaW5kZXhPZignY2hhbmdlLWluLXVwZGF0ZScpID49IDApIHtcbiAgICAgICAgICAgIGlzc3VlV2FybmluZygnY2hhbmdlLWluLXVwZGF0ZScsIGBFbGVtZW50ICR7dGhpcy5sb2NhbE5hbWV9IHNjaGVkdWxlZCBhbiB1cGRhdGUgYCArXG4gICAgICAgICAgICAgICAgYChnZW5lcmFsbHkgYmVjYXVzZSBhIHByb3BlcnR5IHdhcyBzZXQpIGAgK1xuICAgICAgICAgICAgICAgIGBhZnRlciBhbiB1cGRhdGUgY29tcGxldGVkLCBjYXVzaW5nIGEgbmV3IHVwZGF0ZSB0byBiZSBzY2hlZHVsZWQuIGAgK1xuICAgICAgICAgICAgICAgIGBUaGlzIGlzIGluZWZmaWNpZW50IGFuZCBzaG91bGQgYmUgYXZvaWRlZCB1bmxlc3MgdGhlIG5leHQgdXBkYXRlIGAgK1xuICAgICAgICAgICAgICAgIGBjYW4gb25seSBiZSBzY2hlZHVsZWQgYXMgYSBzaWRlIGVmZmVjdCBvZiB0aGUgcHJldmlvdXMgdXBkYXRlLmApO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9fbWFya1VwZGF0ZWQoKSB7XG4gICAgICAgIHRoaXMuXyRjaGFuZ2VkUHJvcGVydGllcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5pc1VwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGhhcyBjb21wbGV0ZWQgdXBkYXRpbmcuXG4gICAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IGNvbXBsZXRlZCB0aGVcbiAgICAgKiB1cGRhdGUgd2l0aG91dCB0cmlnZ2VyaW5nIGFub3RoZXIgdXBkYXRlLiBUaGUgUHJvbWlzZSByZXN1bHQgaXMgYGZhbHNlYCBpZlxuICAgICAqIGEgcHJvcGVydHkgd2FzIHNldCBpbnNpZGUgYHVwZGF0ZWQoKWAuIElmIHRoZSBQcm9taXNlIGlzIHJlamVjdGVkLCBhblxuICAgICAqIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGR1cmluZyB0aGUgdXBkYXRlLlxuICAgICAqXG4gICAgICogVG8gYXdhaXQgYWRkaXRpb25hbCBhc3luY2hyb25vdXMgd29yaywgb3ZlcnJpZGUgdGhlIGBnZXRVcGRhdGVDb21wbGV0ZWBcbiAgICAgKiBtZXRob2QuIEZvciBleGFtcGxlLCBpdCBpcyBzb21ldGltZXMgdXNlZnVsIHRvIGF3YWl0IGEgcmVuZGVyZWQgZWxlbWVudFxuICAgICAqIGJlZm9yZSBmdWxmaWxsaW5nIHRoaXMgUHJvbWlzZS4gVG8gZG8gdGhpcywgZmlyc3QgYXdhaXRcbiAgICAgKiBgc3VwZXIuZ2V0VXBkYXRlQ29tcGxldGUoKWAsIHRoZW4gYW55IHN1YnNlcXVlbnQgc3RhdGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIEEgcHJvbWlzZSBvZiBhIGJvb2xlYW4gdGhhdCByZXNvbHZlcyB0byB0cnVlIGlmIHRoZSB1cGRhdGUgY29tcGxldGVkXG4gICAgICogICAgIHdpdGhvdXQgdHJpZ2dlcmluZyBhbm90aGVyIHVwZGF0ZS5cbiAgICAgKiBAY2F0ZWdvcnkgdXBkYXRlc1xuICAgICAqL1xuICAgIGdldCB1cGRhdGVDb21wbGV0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgcG9pbnQgZm9yIHRoZSBgdXBkYXRlQ29tcGxldGVgIHByb21pc2UuXG4gICAgICpcbiAgICAgKiBJdCBpcyBub3Qgc2FmZSB0byBvdmVycmlkZSB0aGUgYHVwZGF0ZUNvbXBsZXRlYCBnZXR0ZXIgZGlyZWN0bHkgZHVlIHRvIGFcbiAgICAgKiBsaW1pdGF0aW9uIGluIFR5cGVTY3JpcHQgd2hpY2ggbWVhbnMgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNhbGwgYVxuICAgICAqIHN1cGVyY2xhc3MgZ2V0dGVyIChlLmcuIGBzdXBlci51cGRhdGVDb21wbGV0ZS50aGVuKC4uLilgKSB3aGVuIHRoZSB0YXJnZXRcbiAgICAgKiBsYW5ndWFnZSBpcyBFUzUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzM4KS5cbiAgICAgKiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgb3ZlcnJpZGRlbiBpbnN0ZWFkLiBGb3IgZXhhbXBsZTpcbiAgICAgKlxuICAgICAqIGBgYHRzXG4gICAgICogY2xhc3MgTXlFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gICAgICogICBvdmVycmlkZSBhc3luYyBnZXRVcGRhdGVDb21wbGV0ZSgpIHtcbiAgICAgKiAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3VwZXIuZ2V0VXBkYXRlQ29tcGxldGUoKTtcbiAgICAgKiAgICAgYXdhaXQgdGhpcy5fbXlDaGlsZC51cGRhdGVDb21wbGV0ZTtcbiAgICAgKiAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIEEgcHJvbWlzZSBvZiBhIGJvb2xlYW4gdGhhdCByZXNvbHZlcyB0byB0cnVlIGlmIHRoZSB1cGRhdGUgY29tcGxldGVkXG4gICAgICogICAgIHdpdGhvdXQgdHJpZ2dlcmluZyBhbm90aGVyIHVwZGF0ZS5cbiAgICAgKiBAY2F0ZWdvcnkgdXBkYXRlc1xuICAgICAqL1xuICAgIGdldFVwZGF0ZUNvbXBsZXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fX3VwZGF0ZVByb21pc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbnRyb2xzIHdoZXRoZXIgb3Igbm90IGB1cGRhdGUoKWAgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBlbGVtZW50IHJlcXVlc3RzXG4gICAgICogYW4gdXBkYXRlLiBCeSBkZWZhdWx0LCB0aGlzIG1ldGhvZCBhbHdheXMgcmV0dXJucyBgdHJ1ZWAsIGJ1dCB0aGlzIGNhbiBiZVxuICAgICAqIGN1c3RvbWl6ZWQgdG8gY29udHJvbCB3aGVuIHRvIHVwZGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBfY2hhbmdlZFByb3BlcnRpZXMgTWFwIG9mIGNoYW5nZWQgcHJvcGVydGllcyB3aXRoIG9sZCB2YWx1ZXNcbiAgICAgKiBAY2F0ZWdvcnkgdXBkYXRlc1xuICAgICAqL1xuICAgIHNob3VsZFVwZGF0ZShfY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGVsZW1lbnQuIFRoaXMgbWV0aG9kIHJlZmxlY3RzIHByb3BlcnR5IHZhbHVlcyB0byBhdHRyaWJ1dGVzLlxuICAgICAqIEl0IGNhbiBiZSBvdmVycmlkZGVuIHRvIHJlbmRlciBhbmQga2VlcCB1cGRhdGVkIGVsZW1lbnQgRE9NLlxuICAgICAqIFNldHRpbmcgcHJvcGVydGllcyBpbnNpZGUgdGhpcyBtZXRob2Qgd2lsbCAqbm90KiB0cmlnZ2VyXG4gICAgICogYW5vdGhlciB1cGRhdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gX2NoYW5nZWRQcm9wZXJ0aWVzIE1hcCBvZiBjaGFuZ2VkIHByb3BlcnRpZXMgd2l0aCBvbGQgdmFsdWVzXG4gICAgICogQGNhdGVnb3J5IHVwZGF0ZXNcbiAgICAgKi9cbiAgICB1cGRhdGUoX2NoYW5nZWRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmICh0aGlzLl9fcmVmbGVjdGluZ1Byb3BlcnRpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gVXNlIGZvckVhY2ggc28gdGhpcyB3b3JrcyBldmVuIGlmIGZvci9vZiBsb29wcyBhcmUgY29tcGlsZWQgdG8gZm9yXG4gICAgICAgICAgICAvLyBsb29wcyBleHBlY3RpbmcgYXJyYXlzXG4gICAgICAgICAgICB0aGlzLl9fcmVmbGVjdGluZ1Byb3BlcnRpZXMuZm9yRWFjaCgodiwgaykgPT4gdGhpcy5fX3Byb3BlcnR5VG9BdHRyaWJ1dGUoaywgdGhpc1trXSwgdikpO1xuICAgICAgICAgICAgdGhpcy5fX3JlZmxlY3RpbmdQcm9wZXJ0aWVzID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX19tYXJrVXBkYXRlZCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW5ldmVyIHRoZSBlbGVtZW50IGlzIHVwZGF0ZWQuIEltcGxlbWVudCB0byBwZXJmb3JtXG4gICAgICogcG9zdC11cGRhdGluZyB0YXNrcyB2aWEgRE9NIEFQSXMsIGZvciBleGFtcGxlLCBmb2N1c2luZyBhbiBlbGVtZW50LlxuICAgICAqXG4gICAgICogU2V0dGluZyBwcm9wZXJ0aWVzIGluc2lkZSB0aGlzIG1ldGhvZCB3aWxsIHRyaWdnZXIgdGhlIGVsZW1lbnQgdG8gdXBkYXRlXG4gICAgICogYWdhaW4gYWZ0ZXIgdGhpcyB1cGRhdGUgY3ljbGUgY29tcGxldGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIF9jaGFuZ2VkUHJvcGVydGllcyBNYXAgb2YgY2hhbmdlZCBwcm9wZXJ0aWVzIHdpdGggb2xkIHZhbHVlc1xuICAgICAqIEBjYXRlZ29yeSB1cGRhdGVzXG4gICAgICovXG4gICAgdXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXMpIHsgfVxuICAgIC8qKlxuICAgICAqIEludm9rZWQgd2hlbiB0aGUgZWxlbWVudCBpcyBmaXJzdCB1cGRhdGVkLiBJbXBsZW1lbnQgdG8gcGVyZm9ybSBvbmUgdGltZVxuICAgICAqIHdvcmsgb24gdGhlIGVsZW1lbnQgYWZ0ZXIgdXBkYXRlLlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBmaXJzdFVwZGF0ZWQoKSB7XG4gICAgICogICB0aGlzLnJlbmRlclJvb3QuZ2V0RWxlbWVudEJ5SWQoJ215LXRleHQtYXJlYScpLmZvY3VzKCk7XG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogU2V0dGluZyBwcm9wZXJ0aWVzIGluc2lkZSB0aGlzIG1ldGhvZCB3aWxsIHRyaWdnZXIgdGhlIGVsZW1lbnQgdG8gdXBkYXRlXG4gICAgICogYWdhaW4gYWZ0ZXIgdGhpcyB1cGRhdGUgY3ljbGUgY29tcGxldGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIF9jaGFuZ2VkUHJvcGVydGllcyBNYXAgb2YgY2hhbmdlZCBwcm9wZXJ0aWVzIHdpdGggb2xkIHZhbHVlc1xuICAgICAqIEBjYXRlZ29yeSB1cGRhdGVzXG4gICAgICovXG4gICAgZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcykgeyB9XG59XG5fZSA9IGZpbmFsaXplZDtcbi8qKlxuICogTWFya3MgY2xhc3MgYXMgaGF2aW5nIGZpbmlzaGVkIGNyZWF0aW5nIHByb3BlcnRpZXMuXG4gKi9cblJlYWN0aXZlRWxlbWVudFtfZV0gPSB0cnVlO1xuLyoqXG4gKiBNZW1vaXplZCBsaXN0IG9mIGFsbCBlbGVtZW50IHByb3BlcnRpZXMsIGluY2x1ZGluZyBhbnkgc3VwZXJjbGFzcyBwcm9wZXJ0aWVzLlxuICogQ3JlYXRlZCBsYXppbHkgb24gdXNlciBzdWJjbGFzc2VzIHdoZW4gZmluYWxpemluZyB0aGUgY2xhc3MuXG4gKiBAbm9jb2xsYXBzZVxuICogQGNhdGVnb3J5IHByb3BlcnRpZXNcbiAqL1xuUmVhY3RpdmVFbGVtZW50LmVsZW1lbnRQcm9wZXJ0aWVzID0gbmV3IE1hcCgpO1xuLyoqXG4gKiBNZW1vaXplZCBsaXN0IG9mIGFsbCBlbGVtZW50IHN0eWxlcy5cbiAqIENyZWF0ZWQgbGF6aWx5IG9uIHVzZXIgc3ViY2xhc3NlcyB3aGVuIGZpbmFsaXppbmcgdGhlIGNsYXNzLlxuICogQG5vY29sbGFwc2VcbiAqIEBjYXRlZ29yeSBzdHlsZXNcbiAqL1xuUmVhY3RpdmVFbGVtZW50LmVsZW1lbnRTdHlsZXMgPSBbXTtcbi8qKlxuICogT3B0aW9ucyB1c2VkIHdoZW4gY2FsbGluZyBgYXR0YWNoU2hhZG93YC4gU2V0IHRoaXMgcHJvcGVydHkgdG8gY3VzdG9taXplXG4gKiB0aGUgb3B0aW9ucyBmb3IgdGhlIHNoYWRvd1Jvb3Q7IGZvciBleGFtcGxlLCB0byBjcmVhdGUgYSBjbG9zZWRcbiAqIHNoYWRvd1Jvb3Q6IGB7bW9kZTogJ2Nsb3NlZCd9YC5cbiAqXG4gKiBOb3RlLCB0aGVzZSBvcHRpb25zIGFyZSB1c2VkIGluIGBjcmVhdGVSZW5kZXJSb290YC4gSWYgdGhpcyBtZXRob2RcbiAqIGlzIGN1c3RvbWl6ZWQsIG9wdGlvbnMgc2hvdWxkIGJlIHJlc3BlY3RlZCBpZiBwb3NzaWJsZS5cbiAqIEBub2NvbGxhcHNlXG4gKiBAY2F0ZWdvcnkgcmVuZGVyaW5nXG4gKi9cblJlYWN0aXZlRWxlbWVudC5zaGFkb3dSb290T3B0aW9ucyA9IHsgbW9kZTogJ29wZW4nIH07XG4vLyBBcHBseSBwb2x5ZmlsbHMgaWYgYXZhaWxhYmxlXG5wb2x5ZmlsbFN1cHBvcnQgPT09IG51bGwgfHwgcG9seWZpbGxTdXBwb3J0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwb2x5ZmlsbFN1cHBvcnQoeyBSZWFjdGl2ZUVsZW1lbnQgfSk7XG4vLyBEZXYgbW9kZSB3YXJuaW5ncy4uLlxuaWYgKERFVl9NT0RFKSB7XG4gICAgLy8gRGVmYXVsdCB3YXJuaW5nIHNldC5cbiAgICBSZWFjdGl2ZUVsZW1lbnQuZW5hYmxlZFdhcm5pbmdzID0gWydjaGFuZ2UtaW4tdXBkYXRlJ107XG4gICAgY29uc3QgZW5zdXJlT3duV2FybmluZ3MgPSBmdW5jdGlvbiAoY3Rvcikge1xuICAgICAgICBpZiAoIWN0b3IuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgnZW5hYmxlZFdhcm5pbmdzJywgY3RvcikpKSB7XG4gICAgICAgICAgICBjdG9yLmVuYWJsZWRXYXJuaW5ncyA9IGN0b3IuZW5hYmxlZFdhcm5pbmdzLnNsaWNlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFJlYWN0aXZlRWxlbWVudC5lbmFibGVXYXJuaW5nID0gZnVuY3Rpb24gKHdhcm5pbmcpIHtcbiAgICAgICAgZW5zdXJlT3duV2FybmluZ3ModGhpcyk7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZWRXYXJuaW5ncy5pbmRleE9mKHdhcm5pbmcpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVkV2FybmluZ3MucHVzaCh3YXJuaW5nKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgUmVhY3RpdmVFbGVtZW50LmRpc2FibGVXYXJuaW5nID0gZnVuY3Rpb24gKHdhcm5pbmcpIHtcbiAgICAgICAgZW5zdXJlT3duV2FybmluZ3ModGhpcyk7XG4gICAgICAgIGNvbnN0IGkgPSB0aGlzLmVuYWJsZWRXYXJuaW5ncy5pbmRleE9mKHdhcm5pbmcpO1xuICAgICAgICBpZiAoaSA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZWRXYXJuaW5ncy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuLy8gSU1QT1JUQU5UOiBkbyBub3QgY2hhbmdlIHRoZSBwcm9wZXJ0eSBuYW1lIG9yIHRoZSBhc3NpZ25tZW50IGV4cHJlc3Npb24uXG4vLyBUaGlzIGxpbmUgd2lsbCBiZSB1c2VkIGluIHJlZ2V4ZXMgdG8gc2VhcmNoIGZvciBSZWFjdGl2ZUVsZW1lbnQgdXNhZ2UuXG4oKF9kID0gZ2xvYmFsLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAoZ2xvYmFsLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zID0gW10pKS5wdXNoKCcxLjYuMycpO1xuaWYgKERFVl9NT0RFICYmIGdsb2JhbC5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucy5sZW5ndGggPiAxKSB7XG4gICAgaXNzdWVXYXJuaW5nKCdtdWx0aXBsZS12ZXJzaW9ucycsIGBNdWx0aXBsZSB2ZXJzaW9ucyBvZiBMaXQgbG9hZGVkLiBMb2FkaW5nIG11bHRpcGxlIHZlcnNpb25zIGAgK1xuICAgICAgICBgaXMgbm90IHJlY29tbWVuZGVkLmApO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3RpdmUtZWxlbWVudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@lit/reactive-element/development/reactive-element.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/modal-ui/dist/index.js": -/*!************************************************************!*\ - !*** ./node_modules/@walletconnect/modal-ui/dist/index.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WcmModal: function() { return /* binding */ ae; },\n/* harmony export */ WcmQrCode: function() { return /* binding */ j; }\n/* harmony export */ });\n/* harmony import */ var lit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lit */ \"./node_modules/lit/index.js\");\n/* harmony import */ var lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lit/decorators.js */ \"./node_modules/lit/decorators.js\");\n/* harmony import */ var lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lit/directives/class-map.js */ \"./node_modules/lit/directives/class-map.js\");\n/* harmony import */ var _walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/modal-core */ \"./node_modules/@walletconnect/modal-core/dist/index.js\");\n/* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lit-html */ \"./node_modules/lit-html/development/lit-html.js\");\n/* harmony import */ var motion__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! motion */ \"./node_modules/motion/dist/main.es.js\");\n/* harmony import */ var lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lit/directives/if-defined.js */ \"./node_modules/lit/directives/if-defined.js\");\n/* harmony import */ var qrcode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! qrcode */ \"./node_modules/qrcode/lib/browser.js\");\nvar et=Object.defineProperty,Be=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Ue=(e,o,r)=>o in e?et(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,ve=(e,o)=>{for(var r in o||(o={}))tt.call(o,r)&&Ue(e,r,o[r]);if(Be)for(var r of Be(o))ot.call(o,r)&&Ue(e,r,o[r]);return e};function rt(){var e;const o=(e=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ThemeCtrl.state.themeMode)!=null?e:\"dark\",r={light:{foreground:{1:\"rgb(20,20,20)\",2:\"rgb(121,134,134)\",3:\"rgb(158,169,169)\"},background:{1:\"rgb(255,255,255)\",2:\"rgb(241,243,243)\",3:\"rgb(228,231,231)\"},overlay:\"rgba(0,0,0,0.1)\"},dark:{foreground:{1:\"rgb(228,231,231)\",2:\"rgb(148,158,158)\",3:\"rgb(110,119,119)\"},background:{1:\"rgb(20,20,20)\",2:\"rgb(39,42,42)\",3:\"rgb(59,64,64)\"},overlay:\"rgba(255,255,255,0.1)\"}}[o];return{\"--wcm-color-fg-1\":r.foreground[1],\"--wcm-color-fg-2\":r.foreground[2],\"--wcm-color-fg-3\":r.foreground[3],\"--wcm-color-bg-1\":r.background[1],\"--wcm-color-bg-2\":r.background[2],\"--wcm-color-bg-3\":r.background[3],\"--wcm-color-overlay\":r.overlay}}function He(){return{\"--wcm-accent-color\":\"#3396FF\",\"--wcm-accent-fill-color\":\"#FFFFFF\",\"--wcm-z-index\":\"89\",\"--wcm-background-color\":\"#3396FF\",\"--wcm-background-border-radius\":\"8px\",\"--wcm-container-border-radius\":\"30px\",\"--wcm-wallet-icon-border-radius\":\"15px\",\"--wcm-wallet-icon-large-border-radius\":\"30px\",\"--wcm-wallet-icon-small-border-radius\":\"7px\",\"--wcm-input-border-radius\":\"28px\",\"--wcm-button-border-radius\":\"10px\",\"--wcm-notification-border-radius\":\"36px\",\"--wcm-secondary-button-border-radius\":\"28px\",\"--wcm-icon-button-border-radius\":\"50%\",\"--wcm-button-hover-highlight-border-radius\":\"10px\",\"--wcm-text-big-bold-size\":\"20px\",\"--wcm-text-big-bold-weight\":\"600\",\"--wcm-text-big-bold-line-height\":\"24px\",\"--wcm-text-big-bold-letter-spacing\":\"-0.03em\",\"--wcm-text-big-bold-text-transform\":\"none\",\"--wcm-text-xsmall-bold-size\":\"10px\",\"--wcm-text-xsmall-bold-weight\":\"700\",\"--wcm-text-xsmall-bold-line-height\":\"12px\",\"--wcm-text-xsmall-bold-letter-spacing\":\"0.02em\",\"--wcm-text-xsmall-bold-text-transform\":\"uppercase\",\"--wcm-text-xsmall-regular-size\":\"12px\",\"--wcm-text-xsmall-regular-weight\":\"600\",\"--wcm-text-xsmall-regular-line-height\":\"14px\",\"--wcm-text-xsmall-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-xsmall-regular-text-transform\":\"none\",\"--wcm-text-small-thin-size\":\"14px\",\"--wcm-text-small-thin-weight\":\"500\",\"--wcm-text-small-thin-line-height\":\"16px\",\"--wcm-text-small-thin-letter-spacing\":\"-0.03em\",\"--wcm-text-small-thin-text-transform\":\"none\",\"--wcm-text-small-regular-size\":\"14px\",\"--wcm-text-small-regular-weight\":\"600\",\"--wcm-text-small-regular-line-height\":\"16px\",\"--wcm-text-small-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-small-regular-text-transform\":\"none\",\"--wcm-text-medium-regular-size\":\"16px\",\"--wcm-text-medium-regular-weight\":\"600\",\"--wcm-text-medium-regular-line-height\":\"20px\",\"--wcm-text-medium-regular-letter-spacing\":\"-0.03em\",\"--wcm-text-medium-regular-text-transform\":\"none\",\"--wcm-font-family\":\"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', sans-serif\",\"--wcm-font-feature-settings\":\"'tnum' on, 'lnum' on, 'case' on\",\"--wcm-success-color\":\"rgb(38,181,98)\",\"--wcm-error-color\":\"rgb(242, 90, 103)\",\"--wcm-overlay-background-color\":\"rgba(0, 0, 0, 0.3)\",\"--wcm-overlay-backdrop-filter\":\"none\"}}const h={getPreset(e){return He()[e]},setTheme(){const e=document.querySelector(\":root\"),{themeVariables:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ThemeCtrl.state;if(e){const r=ve(ve(ve({},rt()),He()),o);Object.entries(r).forEach(([a,t])=>e.style.setProperty(a,t))}},globalCss:lit__WEBPACK_IMPORTED_MODULE_0__.css`*,::after,::before{margin:0;padding:0;box-sizing:border-box;font-style:normal;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;backface-visibility:hidden}button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;border:none;background-color:transparent;transition:all .2s ease}@media (hover:hover) and (pointer:fine){button:active{transition:all .1s ease;transform:scale(.93)}}button::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;transition:background-color,.2s ease}button:disabled{cursor:not-allowed}button svg,button wcm-text{position:relative;z-index:1}input{border:none;outline:0;appearance:none}img{display:block}::selection{color:var(--wcm-accent-fill-color);background:var(--wcm-accent-color)}`},at=lit__WEBPACK_IMPORTED_MODULE_0__.css`button{border-radius:var(--wcm-secondary-button-border-radius);height:28px;padding:0 10px;background-color:var(--wcm-accent-color)}button path{fill:var(--wcm-accent-fill-color)}button::after{border-radius:inherit;border:1px solid var(--wcm-color-overlay)}button:disabled::after{background-color:transparent}.wcm-icon-left svg{margin-right:5px}.wcm-icon-right svg{margin-left:5px}button:active::after{background-color:var(--wcm-color-overlay)}.wcm-ghost,.wcm-ghost:active::after,.wcm-outline{background-color:transparent}.wcm-ghost:active{opacity:.5}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}.wcm-ghost:hover::after{background-color:transparent}.wcm-ghost:hover{opacity:.5}}button:disabled{background-color:var(--wcm-color-bg-3);pointer-events:none}.wcm-ghost::after{border-color:transparent}.wcm-ghost path{fill:var(--wcm-color-fg-2)}.wcm-outline path{fill:var(--wcm-accent-color)}.wcm-outline:disabled{background-color:transparent;opacity:.5}`;var lt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,F=(e,o,r,a)=>{for(var t=a>1?void 0:a?it(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&<(o,r,t),t};let T=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.disabled=!1,this.iconLeft=void 0,this.iconRight=void 0,this.onClick=()=>null,this.variant=\"default\"}render(){const e={\"wcm-icon-left\":this.iconLeft!==void 0,\"wcm-icon-right\":this.iconRight!==void 0,\"wcm-ghost\":this.variant===\"ghost\",\"wcm-outline\":this.variant===\"outline\"};let o=\"inverse\";return this.variant===\"ghost\"&&(o=\"secondary\"),this.variant===\"outline\"&&(o=\"accent\"),lit__WEBPACK_IMPORTED_MODULE_0__.html`<button class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\" ?disabled=\"${this.disabled}\" @click=\"${this.onClick}\">${this.iconLeft}<wcm-text variant=\"small-regular\" color=\"${o}\"><slot></slot></wcm-text>${this.iconRight}</button>`}};T.styles=[h.globalCss,at],F([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],T.prototype,\"disabled\",2),F([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],T.prototype,\"iconLeft\",2),F([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],T.prototype,\"iconRight\",2),F([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],T.prototype,\"onClick\",2),F([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],T.prototype,\"variant\",2),T=F([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-button\")],T);const nt=lit__WEBPACK_IMPORTED_MODULE_0__.css`:host{display:inline-block}button{padding:0 15px 1px;height:40px;border-radius:var(--wcm-button-border-radius);color:var(--wcm-accent-fill-color);background-color:var(--wcm-accent-color)}button::after{content:'';top:0;bottom:0;left:0;right:0;position:absolute;background-color:transparent;border-radius:inherit;transition:background-color .2s ease;border:1px solid var(--wcm-color-overlay)}button:active::after{background-color:var(--wcm-color-overlay)}button:disabled{padding-bottom:0;background-color:var(--wcm-color-bg-3);color:var(--wcm-color-fg-3)}.wcm-secondary{color:var(--wcm-accent-color);background-color:transparent}.wcm-secondary::after{display:none}@media(hover:hover){button:hover::after{background-color:var(--wcm-color-overlay)}}`;var ct=Object.defineProperty,st=Object.getOwnPropertyDescriptor,ue=(e,o,r,a)=>{for(var t=a>1?void 0:a?st(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ct(o,r,t),t};let ee=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.disabled=!1,this.variant=\"primary\"}render(){const e={\"wcm-secondary\":this.variant===\"secondary\"};return lit__WEBPACK_IMPORTED_MODULE_0__.html`<button ?disabled=\"${this.disabled}\" class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\"><slot></slot></button>`}};ee.styles=[h.globalCss,nt],ue([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],ee.prototype,\"disabled\",2),ue([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],ee.prototype,\"variant\",2),ee=ue([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-button-big\")],ee);const dt=lit__WEBPACK_IMPORTED_MODULE_0__.css`:host{background-color:var(--wcm-color-bg-2);border-top:1px solid var(--wcm-color-bg-3)}div{padding:10px 20px;display:inherit;flex-direction:inherit;align-items:inherit;width:inherit;justify-content:inherit}`;var mt=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,wt=(e,o,r,a)=>{for(var t=a>1?void 0:a?ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mt(o,r,t),t};let be=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div><slot></slot></div>`}};be.styles=[h.globalCss,dt],be=wt([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-info-footer\")],be);const v={CROSS_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"><path d=\"M9.94 11A.75.75 0 1 0 11 9.94L7.414 6.353a.5.5 0 0 1 0-.708L11 2.061A.75.75 0 1 0 9.94 1L6.353 4.586a.5.5 0 0 1-.708 0L2.061 1A.75.75 0 0 0 1 2.06l3.586 3.586a.5.5 0 0 1 0 .708L1 9.939A.75.75 0 1 0 2.06 11l3.586-3.586a.5.5 0 0 1 .708 0L9.939 11Z\" fill=\"#fff\"/></svg>`,WALLET_CONNECT_LOGO:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"178\" height=\"29\" viewBox=\"0 0 178 29\" id=\"wcm-wc-logo\"><path d=\"M10.683 7.926c5.284-5.17 13.85-5.17 19.134 0l.636.623a.652.652 0 0 1 0 .936l-2.176 2.129a.343.343 0 0 1-.478 0l-.875-.857c-3.686-3.607-9.662-3.607-13.348 0l-.937.918a.343.343 0 0 1-.479 0l-2.175-2.13a.652.652 0 0 1 0-.936l.698-.683Zm23.633 4.403 1.935 1.895a.652.652 0 0 1 0 .936l-8.73 8.543a.687.687 0 0 1-.956 0L20.37 17.64a.172.172 0 0 0-.239 0l-6.195 6.063a.687.687 0 0 1-.957 0l-8.73-8.543a.652.652 0 0 1 0-.936l1.936-1.895a.687.687 0 0 1 .957 0l6.196 6.064a.172.172 0 0 0 .239 0l6.195-6.064a.687.687 0 0 1 .957 0l6.196 6.064a.172.172 0 0 0 .24 0l6.195-6.064a.687.687 0 0 1 .956 0ZM48.093 20.948l2.338-9.355c.139-.515.258-1.07.416-1.942.12.872.258 1.427.357 1.942l2.022 9.355h4.181l3.528-13.874h-3.21l-1.943 8.523a24.825 24.825 0 0 0-.456 2.457c-.158-.931-.317-1.625-.495-2.438l-1.883-8.542h-4.201l-2.042 8.542a41.204 41.204 0 0 0-.475 2.438 41.208 41.208 0 0 0-.476-2.438l-1.903-8.542h-3.349l3.508 13.874h4.083ZM63.33 21.304c1.585 0 2.596-.654 3.11-1.605-.059.297-.078.595-.078.892v.357h2.655V15.22c0-2.735-1.248-4.32-4.3-4.32-2.636 0-4.36 1.466-4.52 3.487h2.914c.1-.891.734-1.426 1.705-1.426.911 0 1.407.515 1.407 1.11 0 .435-.258.693-1.03.792l-1.388.159c-2.061.257-3.825 1.01-3.825 3.19 0 1.982 1.645 3.092 3.35 3.092Zm.891-2.041c-.773 0-1.348-.436-1.348-1.19 0-.733.655-1.09 1.645-1.268l.674-.119c.575-.118.892-.218 1.09-.396v.912c0 1.228-.892 2.06-2.06 2.06ZM70.398 7.074v13.874h2.874V7.074h-2.874ZM74.934 7.074v13.874h2.874V7.074h-2.874ZM84.08 21.304c2.735 0 4.5-1.546 4.697-3.567h-2.893c-.139.892-.892 1.387-1.804 1.387-1.228 0-2.12-.99-2.14-2.358h6.897v-.555c0-3.21-1.764-5.312-4.816-5.312-2.933 0-4.994 2.062-4.994 5.173 0 3.37 2.12 5.232 5.053 5.232Zm-2.16-6.421c.119-1.11.932-1.922 2.081-1.922 1.11 0 1.883.772 1.903 1.922H81.92ZM94.92 21.146c.633 0 1.248-.1 1.525-.179v-2.18c-.218.04-.475.06-.693.06-1.05 0-1.427-.595-1.427-1.566v-3.805h2.338v-2.24h-2.338V7.788H91.47v3.448H89.37v2.24h2.1v4.201c0 2.3 1.15 3.469 3.45 3.469ZM104.62 21.304c3.924 0 6.302-2.299 6.599-5.608h-3.111c-.238 1.803-1.506 3.032-3.369 3.032-2.2 0-3.746-1.784-3.746-4.796 0-2.953 1.605-4.638 3.805-4.638 1.883 0 2.953 1.15 3.171 2.834h3.191c-.317-3.448-2.854-5.41-6.342-5.41-3.984 0-7.036 2.695-7.036 7.214 0 4.677 2.676 7.372 6.838 7.372ZM117.449 21.304c2.993 0 5.114-1.882 5.114-5.172 0-3.23-2.121-5.233-5.114-5.233-2.972 0-5.093 2.002-5.093 5.233 0 3.29 2.101 5.172 5.093 5.172Zm0-2.22c-1.327 0-2.18-1.09-2.18-2.952 0-1.903.892-2.973 2.18-2.973 1.308 0 2.2 1.07 2.2 2.973 0 1.862-.872 2.953-2.2 2.953ZM126.569 20.948v-5.689c0-1.208.753-2.1 1.823-2.1 1.011 0 1.606.773 1.606 2.06v5.729h2.873v-6.144c0-2.339-1.229-3.905-3.428-3.905-1.526 0-2.458.734-2.953 1.606a5.31 5.31 0 0 0 .079-.892v-.377h-2.874v9.712h2.874ZM137.464 20.948v-5.689c0-1.208.753-2.1 1.823-2.1 1.011 0 1.606.773 1.606 2.06v5.729h2.873v-6.144c0-2.339-1.228-3.905-3.428-3.905-1.526 0-2.458.734-2.953 1.606a5.31 5.31 0 0 0 .079-.892v-.377h-2.874v9.712h2.874ZM149.949 21.304c2.735 0 4.499-1.546 4.697-3.567h-2.893c-.139.892-.892 1.387-1.804 1.387-1.228 0-2.12-.99-2.14-2.358h6.897v-.555c0-3.21-1.764-5.312-4.816-5.312-2.933 0-4.994 2.062-4.994 5.173 0 3.37 2.12 5.232 5.053 5.232Zm-2.16-6.421c.119-1.11.932-1.922 2.081-1.922 1.11 0 1.883.772 1.903 1.922h-3.984ZM160.876 21.304c3.013 0 4.658-1.645 4.975-4.201h-2.874c-.099 1.07-.713 1.982-2.001 1.982-1.309 0-2.2-1.21-2.2-2.993 0-1.942 1.03-2.933 2.259-2.933 1.209 0 1.803.872 1.883 1.882h2.873c-.218-2.358-1.823-4.142-4.776-4.142-2.874 0-5.153 1.903-5.153 5.193 0 3.25 1.923 5.212 5.014 5.212ZM172.067 21.146c.634 0 1.248-.1 1.526-.179v-2.18c-.218.04-.476.06-.694.06-1.05 0-1.427-.595-1.427-1.566v-3.805h2.339v-2.24h-2.339V7.788h-2.854v3.448h-2.1v2.24h2.1v4.201c0 2.3 1.15 3.469 3.449 3.469Z\" fill=\"#fff\"/></svg>`,WALLET_CONNECT_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"28\" height=\"20\" viewBox=\"0 0 28 20\"><g clip-path=\"url(#a)\"><path d=\"M7.386 6.482c3.653-3.576 9.575-3.576 13.228 0l.44.43a.451.451 0 0 1 0 .648L19.55 9.033a.237.237 0 0 1-.33 0l-.606-.592c-2.548-2.496-6.68-2.496-9.228 0l-.648.634a.237.237 0 0 1-.33 0L6.902 7.602a.451.451 0 0 1 0-.647l.483-.473Zm16.338 3.046 1.339 1.31a.451.451 0 0 1 0 .648l-6.035 5.909a.475.475 0 0 1-.662 0L14.083 13.2a.119.119 0 0 0-.166 0l-4.283 4.194a.475.475 0 0 1-.662 0l-6.035-5.91a.451.451 0 0 1 0-.647l1.338-1.31a.475.475 0 0 1 .662 0l4.283 4.194c.046.044.12.044.166 0l4.283-4.194a.475.475 0 0 1 .662 0l4.283 4.194c.046.044.12.044.166 0l4.283-4.194a.475.475 0 0 1 .662 0Z\" fill=\"#000000\"/></g><defs><clipPath id=\"a\"><path fill=\"#ffffff\" d=\"M0 0h28v20H0z\"/></clipPath></defs></svg>`,WALLET_CONNECT_ICON_COLORED:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"96\" height=\"96\" fill=\"none\"><path fill=\"#fff\" d=\"M25.322 33.597c12.525-12.263 32.83-12.263 45.355 0l1.507 1.476a1.547 1.547 0 0 1 0 2.22l-5.156 5.048a.814.814 0 0 1-1.134 0l-2.074-2.03c-8.737-8.555-22.903-8.555-31.64 0l-2.222 2.175a.814.814 0 0 1-1.134 0l-5.156-5.049a1.547 1.547 0 0 1 0-2.22l1.654-1.62Zm56.019 10.44 4.589 4.494a1.547 1.547 0 0 1 0 2.22l-20.693 20.26a1.628 1.628 0 0 1-2.267 0L48.283 56.632a.407.407 0 0 0-.567 0L33.03 71.012a1.628 1.628 0 0 1-2.268 0L10.07 50.75a1.547 1.547 0 0 1 0-2.22l4.59-4.494a1.628 1.628 0 0 1 2.267 0l14.687 14.38c.156.153.41.153.567 0l14.685-14.38a1.628 1.628 0 0 1 2.268 0l14.687 14.38c.156.153.41.153.567 0l14.686-14.38a1.628 1.628 0 0 1 2.268 0Z\"/><path stroke=\"#000\" d=\"M25.672 33.954c12.33-12.072 32.325-12.072 44.655 0l1.508 1.476a1.047 1.047 0 0 1 0 1.506l-5.157 5.048a.314.314 0 0 1-.434 0l-2.074-2.03c-8.932-8.746-23.409-8.746-32.34 0l-2.222 2.174a.314.314 0 0 1-.434 0l-5.157-5.048a1.047 1.047 0 0 1 0-1.506l1.655-1.62Zm55.319 10.44 4.59 4.494a1.047 1.047 0 0 1 0 1.506l-20.694 20.26a1.128 1.128 0 0 1-1.568 0l-14.686-14.38a.907.907 0 0 0-1.267 0L32.68 70.655a1.128 1.128 0 0 1-1.568 0L10.42 50.394a1.047 1.047 0 0 1 0-1.506l4.59-4.493a1.128 1.128 0 0 1 1.567 0l14.687 14.379a.907.907 0 0 0 1.266 0l-.35-.357.35.357 14.686-14.38a1.128 1.128 0 0 1 1.568 0l14.687 14.38a.907.907 0 0 0 1.267 0l14.686-14.38a1.128 1.128 0 0 1 1.568 0Z\"/></svg>`,BACK_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"10\" height=\"18\" viewBox=\"0 0 10 18\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.735.179a.75.75 0 0 1 .087 1.057L2.92 8.192a1.25 1.25 0 0 0 0 1.617l5.902 6.956a.75.75 0 1 1-1.144.97L1.776 10.78a2.75 2.75 0 0 1 0-3.559L7.678.265A.75.75 0 0 1 8.735.18Z\" fill=\"#fff\"/></svg>`,COPY_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"24\" height=\"24\" fill=\"none\"><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M7.01 7.01c.03-1.545.138-2.5.535-3.28A5 5 0 0 1 9.73 1.545C10.8 1 12.2 1 15 1c2.8 0 4.2 0 5.27.545a5 5 0 0 1 2.185 2.185C23 4.8 23 6.2 23 9c0 2.8 0 4.2-.545 5.27a5 5 0 0 1-2.185 2.185c-.78.397-1.735.505-3.28.534l-.001.01c-.03 1.54-.138 2.493-.534 3.27a5 5 0 0 1-2.185 2.186C13.2 23 11.8 23 9 23c-2.8 0-4.2 0-5.27-.545a5 5 0 0 1-2.185-2.185C1 19.2 1 17.8 1 15c0-2.8 0-4.2.545-5.27A5 5 0 0 1 3.73 7.545C4.508 7.149 5.46 7.04 7 7.01h.01ZM15 15.5c-1.425 0-2.403-.001-3.162-.063-.74-.06-1.139-.172-1.427-.319a3.5 3.5 0 0 1-1.53-1.529c-.146-.288-.257-.686-.318-1.427C8.501 11.403 8.5 10.425 8.5 9c0-1.425.001-2.403.063-3.162.06-.74.172-1.139.318-1.427a3.5 3.5 0 0 1 1.53-1.53c.288-.146.686-.257 1.427-.318.759-.062 1.737-.063 3.162-.063 1.425 0 2.403.001 3.162.063.74.06 1.139.172 1.427.318a3.5 3.5 0 0 1 1.53 1.53c.146.288.257.686.318 1.427.062.759.063 1.737.063 3.162 0 1.425-.001 2.403-.063 3.162-.06.74-.172 1.139-.319 1.427a3.5 3.5 0 0 1-1.529 1.53c-.288.146-.686.257-1.427.318-.759.062-1.737.063-3.162.063ZM7 8.511c-.444.009-.825.025-1.162.052-.74.06-1.139.172-1.427.318a3.5 3.5 0 0 0-1.53 1.53c-.146.288-.257.686-.318 1.427-.062.759-.063 1.737-.063 3.162 0 1.425.001 2.403.063 3.162.06.74.172 1.139.318 1.427a3.5 3.5 0 0 0 1.53 1.53c.288.146.686.257 1.427.318.759.062 1.737.063 3.162.063 1.425 0 2.403-.001 3.162-.063.74-.06 1.139-.172 1.427-.319a3.5 3.5 0 0 0 1.53-1.53c.146-.287.257-.685.318-1.426.027-.337.043-.718.052-1.162H15c-2.8 0-4.2 0-5.27-.545a5 5 0 0 1-2.185-2.185C7 13.2 7 11.8 7 9v-.489Z\" clip-rule=\"evenodd\"/></svg>`,RETRY_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"15\" height=\"16\" viewBox=\"0 0 15 16\"><path d=\"M6.464 2.03A.75.75 0 0 0 5.403.97L2.08 4.293a1 1 0 0 0 0 1.414L5.403 9.03a.75.75 0 0 0 1.06-1.06L4.672 6.177a.25.25 0 0 1 .177-.427h2.085a4 4 0 1 1-3.93 4.746c-.077-.407-.405-.746-.82-.746-.414 0-.755.338-.7.748a5.501 5.501 0 1 0 5.45-6.248H4.848a.25.25 0 0 1-.177-.427L6.464 2.03Z\" fill=\"#fff\"/></svg>`,DESKTOP_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 5.98c0-1.85 0-2.775.394-3.466a3 3 0 0 1 1.12-1.12C2.204 1 3.13 1 4.98 1h6.04c1.85 0 2.775 0 3.466.394a3 3 0 0 1 1.12 1.12C16 3.204 16 4.13 16 5.98v1.04c0 1.85 0 2.775-.394 3.466a3 3 0 0 1-1.12 1.12C13.796 12 12.87 12 11.02 12H4.98c-1.85 0-2.775 0-3.466-.394a3 3 0 0 1-1.12-1.12C0 9.796 0 8.87 0 7.02V5.98ZM4.98 2.5h6.04c.953 0 1.568.001 2.034.043.446.04.608.108.69.154a1.5 1.5 0 0 1 .559.56c.046.08.114.243.154.69.042.465.043 1.08.043 2.033v1.04c0 .952-.001 1.568-.043 2.034-.04.446-.108.608-.154.69a1.499 1.499 0 0 1-.56.559c-.08.046-.243.114-.69.154-.466.042-1.08.043-2.033.043H4.98c-.952 0-1.568-.001-2.034-.043-.446-.04-.608-.108-.69-.154a1.5 1.5 0 0 1-.559-.56c-.046-.08-.114-.243-.154-.69-.042-.465-.043-1.08-.043-2.033V5.98c0-.952.001-1.568.043-2.034.04-.446.108-.608.154-.69a1.5 1.5 0 0 1 .56-.559c.08-.046.243-.114.69-.154.465-.042 1.08-.043 2.033-.043Z\" fill=\"#fff\"/><path d=\"M4 14.25a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Z\" fill=\"#fff\"/></svg>`,MOBILE_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M6.75 5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\" fill=\"#fff\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 4.98c0-1.85 0-2.775.394-3.466a3 3 0 0 1 1.12-1.12C5.204 0 6.136 0 8 0s2.795 0 3.486.394a3 3 0 0 1 1.12 1.12C13 2.204 13 3.13 13 4.98v6.04c0 1.85 0 2.775-.394 3.466a3 3 0 0 1-1.12 1.12C10.796 16 9.864 16 8 16s-2.795 0-3.486-.394a3 3 0 0 1-1.12-1.12C3 13.796 3 12.87 3 11.02V4.98Zm8.5 0v6.04c0 .953-.001 1.568-.043 2.034-.04.446-.108.608-.154.69a1.499 1.499 0 0 1-.56.559c-.08.045-.242.113-.693.154-.47.042-1.091.043-2.05.043-.959 0-1.58-.001-2.05-.043-.45-.04-.613-.109-.693-.154a1.5 1.5 0 0 1-.56-.56c-.046-.08-.114-.243-.154-.69-.042-.466-.043-1.08-.043-2.033V4.98c0-.952.001-1.568.043-2.034.04-.446.108-.608.154-.69a1.5 1.5 0 0 1 .56-.559c.08-.045.243-.113.693-.154C6.42 1.501 7.041 1.5 8 1.5c.959 0 1.58.001 2.05.043.45.04.613.109.693.154a1.5 1.5 0 0 1 .56.56c.046.08.114.243.154.69.042.465.043 1.08.043 2.033Z\" fill=\"#fff\"/></svg>`,ARROW_DOWN_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\"><path d=\"M2.28 7.47a.75.75 0 0 0-1.06 1.06l5.25 5.25a.75.75 0 0 0 1.06 0l5.25-5.25a.75.75 0 0 0-1.06-1.06l-3.544 3.543a.25.25 0 0 1-.426-.177V.75a.75.75 0 0 0-1.5 0v10.086a.25.25 0 0 1-.427.176L2.28 7.47Z\" fill=\"#fff\"/></svg>`,ARROW_UP_RIGHT_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"15\" height=\"14\" fill=\"none\"><path d=\"M4.5 1.75A.75.75 0 0 1 5.25 1H12a1.5 1.5 0 0 1 1.5 1.5v6.75a.75.75 0 0 1-1.5 0V4.164a.25.25 0 0 0-.427-.176L4.061 11.5A.75.75 0 0 1 3 10.44l7.513-7.513a.25.25 0 0 0-.177-.427H5.25a.75.75 0 0 1-.75-.75Z\" fill=\"#fff\"/></svg>`,ARROW_RIGHT_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"6\" height=\"14\" viewBox=\"0 0 6 14\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.181 1.099a.75.75 0 0 1 1.024.279l2.433 4.258a2.75 2.75 0 0 1 0 2.729l-2.433 4.257a.75.75 0 1 1-1.303-.744L4.335 7.62a1.25 1.25 0 0 0 0-1.24L1.902 2.122a.75.75 0 0 1 .28-1.023Z\" fill=\"#fff\"/></svg>`,QRCODE_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\"><path d=\"M23.748 9a.748.748 0 0 0 .748-.752c-.018-2.596-.128-4.07-.784-5.22a6 6 0 0 0-2.24-2.24c-1.15-.656-2.624-.766-5.22-.784a.748.748 0 0 0-.752.748c0 .414.335.749.748.752 1.015.007 1.82.028 2.494.088.995.09 1.561.256 1.988.5.7.398 1.28.978 1.679 1.678.243.427.41.993.498 1.988.061.675.082 1.479.09 2.493a.753.753 0 0 0 .75.749ZM3.527.788C4.677.132 6.152.022 8.747.004A.748.748 0 0 1 9.5.752a.753.753 0 0 1-.749.752c-1.014.007-1.818.028-2.493.088-.995.09-1.561.256-1.988.5-.7.398-1.28.978-1.679 1.678-.243.427-.41.993-.499 1.988-.06.675-.081 1.479-.088 2.493A.753.753 0 0 1 1.252 9a.748.748 0 0 1-.748-.752c.018-2.596.128-4.07.784-5.22a6 6 0 0 1 2.24-2.24ZM1.252 15a.748.748 0 0 0-.748.752c.018 2.596.128 4.07.784 5.22a6 6 0 0 0 2.24 2.24c1.15.656 2.624.766 5.22.784a.748.748 0 0 0 .752-.748.753.753 0 0 0-.749-.752c-1.014-.007-1.818-.028-2.493-.089-.995-.089-1.561-.255-1.988-.498a4.5 4.5 0 0 1-1.679-1.68c-.243-.426-.41-.992-.499-1.987-.06-.675-.081-1.479-.088-2.493A.753.753 0 0 0 1.252 15ZM22.996 15.749a.753.753 0 0 1 .752-.749c.415 0 .751.338.748.752-.018 2.596-.128 4.07-.784 5.22a6 6 0 0 1-2.24 2.24c-1.15.656-2.624.766-5.22.784a.748.748 0 0 1-.752-.748c0-.414.335-.749.748-.752 1.015-.007 1.82-.028 2.494-.089.995-.089 1.561-.255 1.988-.498a4.5 4.5 0 0 0 1.679-1.68c.243-.426.41-.992.498-1.987.061-.675.082-1.479.09-2.493Z\" fill=\"#fff\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 4a2.5 2.5 0 0 0-2.5 2.5v2A2.5 2.5 0 0 0 7 11h2a2.5 2.5 0 0 0 2.5-2.5v-2A2.5 2.5 0 0 0 9 4H7Zm2 1.5H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1ZM13.5 6.5A2.5 2.5 0 0 1 16 4h2a2.5 2.5 0 0 1 2.5 2.5v2A2.5 2.5 0 0 1 18 11h-2a2.5 2.5 0 0 1-2.5-2.5v-2Zm2.5-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1ZM7 13a2.5 2.5 0 0 0-2.5 2.5v2A2.5 2.5 0 0 0 7 20h2a2.5 2.5 0 0 0 2.5-2.5v-2A2.5 2.5 0 0 0 9 13H7Zm2 1.5H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1Z\" fill=\"#fff\"/><path d=\"M13.5 15.5c0-.465 0-.697.038-.89a2 2 0 0 1 1.572-1.572C15.303 13 15.535 13 16 13v2.5h-2.5ZM18 13c.465 0 .697 0 .89.038a2 2 0 0 1 1.572 1.572c.038.193.038.425.038.89H18V13ZM18 17.5h2.5c0 .465 0 .697-.038.89a2 2 0 0 1-1.572 1.572C18.697 20 18.465 20 18 20v-2.5ZM13.5 17.5H16V20c-.465 0-.697 0-.89-.038a2 2 0 0 1-1.572-1.572c-.038-.193-.038-.425-.038-.89Z\" fill=\"#fff\"/></svg>`,SCAN_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"16\" height=\"16\" fill=\"none\"><path fill=\"#fff\" d=\"M10 15.216c0 .422.347.763.768.74 1.202-.064 2.025-.222 2.71-.613a5.001 5.001 0 0 0 1.865-1.866c.39-.684.549-1.507.613-2.709a.735.735 0 0 0-.74-.768.768.768 0 0 0-.76.732c-.009.157-.02.306-.032.447-.073.812-.206 1.244-.384 1.555-.31.545-.761.996-1.306 1.306-.311.178-.743.311-1.555.384-.141.013-.29.023-.447.032a.768.768 0 0 0-.732.76ZM10 .784c0 .407.325.737.732.76.157.009.306.02.447.032.812.073 1.244.206 1.555.384a3.5 3.5 0 0 1 1.306 1.306c.178.311.311.743.384 1.555.013.142.023.29.032.447a.768.768 0 0 0 .76.732.734.734 0 0 0 .74-.768c-.064-1.202-.222-2.025-.613-2.71A5 5 0 0 0 13.477.658c-.684-.39-1.507-.549-2.709-.613a.735.735 0 0 0-.768.74ZM5.232.044A.735.735 0 0 1 6 .784a.768.768 0 0 1-.732.76c-.157.009-.305.02-.447.032-.812.073-1.244.206-1.555.384A3.5 3.5 0 0 0 1.96 3.266c-.178.311-.311.743-.384 1.555-.013.142-.023.29-.032.447A.768.768 0 0 1 .784 6a.735.735 0 0 1-.74-.768c.064-1.202.222-2.025.613-2.71A5 5 0 0 1 2.523.658C3.207.267 4.03.108 5.233.044ZM5.268 14.456a.768.768 0 0 1 .732.76.734.734 0 0 1-.768.74c-1.202-.064-2.025-.222-2.71-.613a5 5 0 0 1-1.865-1.866c-.39-.684-.549-1.507-.613-2.709A.735.735 0 0 1 .784 10c.407 0 .737.325.76.732.009.157.02.306.032.447.073.812.206 1.244.384 1.555a3.5 3.5 0 0 0 1.306 1.306c.311.178.743.311 1.555.384.142.013.29.023.447.032Z\"/></svg>`,CHECKMARK_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"13\" height=\"12\" viewBox=\"0 0 13 12\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.155.132a.75.75 0 0 1 .232 1.035L5.821 11.535a1 1 0 0 1-1.626.09L.665 7.21a.75.75 0 1 1 1.17-.937L4.71 9.867a.25.25 0 0 0 .406-.023L11.12.364a.75.75 0 0 1 1.035-.232Z\" fill=\"#fff\"/></svg>`,SEARCH_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"20\" height=\"21\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.432 13.992c-.354-.353-.91-.382-1.35-.146a5.5 5.5 0 1 1 2.265-2.265c-.237.441-.208.997.145 1.35l3.296 3.296a.75.75 0 1 1-1.06 1.061l-3.296-3.296Zm.06-5a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z\" fill=\"#949E9E\"/></svg>`,WALLET_PLACEHOLDER:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"60\" height=\"60\" fill=\"none\" viewBox=\"0 0 60 60\"><g clip-path=\"url(#q)\"><path id=\"wallet-placeholder-fill\" fill=\"#fff\" d=\"M0 24.9c0-9.251 0-13.877 1.97-17.332a15 15 0 0 1 5.598-5.597C11.023 0 15.648 0 24.9 0h10.2c9.252 0 13.877 0 17.332 1.97a15 15 0 0 1 5.597 5.598C60 11.023 60 15.648 60 24.9v10.2c0 9.252 0 13.877-1.97 17.332a15.001 15.001 0 0 1-5.598 5.597C48.977 60 44.352 60 35.1 60H24.9c-9.251 0-13.877 0-17.332-1.97a15 15 0 0 1-5.597-5.598C0 48.977 0 44.352 0 35.1V24.9Z\"/><path id=\"wallet-placeholder-dash\" stroke=\"#000\" stroke-dasharray=\"4 4\" stroke-width=\"1.5\" d=\"M.04 41.708a231.598 231.598 0 0 1-.039-4.403l.75-.001L.75 35.1v-2.55H0v-5.1h.75V24.9l.001-2.204h-.75c.003-1.617.011-3.077.039-4.404l.75.016c.034-1.65.099-3.08.218-4.343l-.746-.07c.158-1.678.412-3.083.82-4.316l.713.236c.224-.679.497-1.296.827-1.875a14.25 14.25 0 0 1 1.05-1.585L3.076 5.9A15 15 0 0 1 5.9 3.076l.455.596a14.25 14.25 0 0 1 1.585-1.05c.579-.33 1.196-.603 1.875-.827l-.236-.712C10.812.674 12.217.42 13.895.262l.07.746C15.23.89 16.66.824 18.308.79l-.016-.75C19.62.012 21.08.004 22.695.001l.001.75L24.9.75h2.55V0h5.1v.75h2.55l2.204.001v-.75c1.617.003 3.077.011 4.404.039l-.016.75c1.65.034 3.08.099 4.343.218l.07-.746c1.678.158 3.083.412 4.316.82l-.236.713c.679.224 1.296.497 1.875.827a14.24 14.24 0 0 1 1.585 1.05l.455-.596A14.999 14.999 0 0 1 56.924 5.9l-.596.455c.384.502.735 1.032 1.05 1.585.33.579.602 1.196.827 1.875l.712-.236c.409 1.233.663 2.638.822 4.316l-.747.07c.119 1.264.184 2.694.218 4.343l.75-.016c.028 1.327.036 2.787.039 4.403l-.75.001.001 2.204v2.55H60v5.1h-.75v2.55l-.001 2.204h.75a231.431 231.431 0 0 1-.039 4.404l-.75-.016c-.034 1.65-.099 3.08-.218 4.343l.747.07c-.159 1.678-.413 3.083-.822 4.316l-.712-.236a10.255 10.255 0 0 1-.827 1.875 14.242 14.242 0 0 1-1.05 1.585l.596.455a14.997 14.997 0 0 1-2.824 2.824l-.455-.596c-.502.384-1.032.735-1.585 1.05-.579.33-1.196.602-1.875.827l.236.712c-1.233.409-2.638.663-4.316.822l-.07-.747c-1.264.119-2.694.184-4.343.218l.016.75c-1.327.028-2.787.036-4.403.039l-.001-.75-2.204.001h-2.55V60h-5.1v-.75H24.9l-2.204-.001v.75a231.431 231.431 0 0 1-4.404-.039l.016-.75c-1.65-.034-3.08-.099-4.343-.218l-.07.747c-1.678-.159-3.083-.413-4.316-.822l.236-.712a10.258 10.258 0 0 1-1.875-.827 14.252 14.252 0 0 1-1.585-1.05l-.455.596A14.999 14.999 0 0 1 3.076 54.1l.596-.455a14.24 14.24 0 0 1-1.05-1.585 10.259 10.259 0 0 1-.827-1.875l-.712.236C.674 49.188.42 47.783.262 46.105l.746-.07C.89 44.77.824 43.34.79 41.692l-.75.016Z\"/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M35.643 32.145c-.297-.743-.445-1.114-.401-1.275a.42.42 0 0 1 .182-.27c.134-.1.463-.1 1.123-.1.742 0 1.499.046 2.236-.05a6 6 0 0 0 5.166-5.166c.051-.39.051-.855.051-1.784 0-.928 0-1.393-.051-1.783a6 6 0 0 0-5.166-5.165c-.39-.052-.854-.052-1.783-.052h-7.72c-4.934 0-7.401 0-9.244 1.051a8 8 0 0 0-2.985 2.986C16.057 22.28 16.003 24.58 16 29 15.998 31.075 16 33.15 16 35.224A7.778 7.778 0 0 0 23.778 43H28.5c1.394 0 2.09 0 2.67-.116a6 6 0 0 0 4.715-4.714c.115-.58.115-1.301.115-2.744 0-1.31 0-1.964-.114-2.49a4.998 4.998 0 0 0-.243-.792Z\" clip-rule=\"evenodd\"/><path fill=\"#9EA9A9\" fill-rule=\"evenodd\" d=\"M37 18h-7.72c-2.494 0-4.266.002-5.647.126-1.361.122-2.197.354-2.854.728a6.5 6.5 0 0 0-2.425 2.426c-.375.657-.607 1.492-.729 2.853-.11 1.233-.123 2.777-.125 4.867 0 .7 0 1.05.097 1.181.096.13.182.181.343.2.163.02.518-.18 1.229-.581a6.195 6.195 0 0 1 3.053-.8H37c.977 0 1.32-.003 1.587-.038a4.5 4.5 0 0 0 3.874-3.874c.036-.268.039-.611.039-1.588 0-.976-.003-1.319-.038-1.587a4.5 4.5 0 0 0-3.875-3.874C38.32 18.004 37.977 18 37 18Zm-7.364 12.5h-7.414a4.722 4.722 0 0 0-4.722 4.723 6.278 6.278 0 0 0 6.278 6.278H28.5c1.466 0 1.98-.008 2.378-.087a4.5 4.5 0 0 0 3.535-3.536c.08-.397.087-.933.087-2.451 0-1.391-.009-1.843-.08-2.17a3.5 3.5 0 0 0-2.676-2.676c-.328-.072-.762-.08-2.108-.08Z\" clip-rule=\"evenodd\"/></g><defs><clipPath id=\"q\"><path fill=\"#fff\" d=\"M0 0h60v60H0z\"/></clipPath></defs></svg>`,GLOBE_ICON:lit_html__WEBPACK_IMPORTED_MODULE_4__.svg`<svg width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M15.5 8a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Zm-2.113.75c.301 0 .535.264.47.558a6.01 6.01 0 0 1-2.867 3.896c-.203.116-.42-.103-.334-.32.409-1.018.691-2.274.797-3.657a.512.512 0 0 1 .507-.477h1.427Zm.47-2.058c.065.294-.169.558-.47.558H11.96a.512.512 0 0 1-.507-.477c-.106-1.383-.389-2.638-.797-3.656-.087-.217.13-.437.333-.32a6.01 6.01 0 0 1 2.868 3.895Zm-4.402.558c.286 0 .515-.24.49-.525-.121-1.361-.429-2.534-.83-3.393-.279-.6-.549-.93-.753-1.112a.535.535 0 0 0-.724 0c-.204.182-.474.513-.754 1.112-.4.859-.708 2.032-.828 3.393a.486.486 0 0 0 .49.525h2.909Zm-5.415 0c.267 0 .486-.21.507-.477.106-1.383.389-2.638.797-3.656.087-.217-.13-.437-.333-.32a6.01 6.01 0 0 0-2.868 3.895c-.065.294.169.558.47.558H4.04ZM2.143 9.308c-.065-.294.169-.558.47-.558H4.04c.267 0 .486.21.507.477.106 1.383.389 2.639.797 3.657.087.217-.13.436-.333.32a6.01 6.01 0 0 1-2.868-3.896Zm3.913-.033a.486.486 0 0 1 .49-.525h2.909c.286 0 .515.24.49.525-.121 1.361-.428 2.535-.83 3.394-.279.6-.549.93-.753 1.112a.535.535 0 0 1-.724 0c-.204-.182-.474-.513-.754-1.112-.4-.859-.708-2.033-.828-3.394Z\" clip-rule=\"evenodd\"/></svg>`},pt=lit__WEBPACK_IMPORTED_MODULE_0__.css`.wcm-toolbar-placeholder{top:0;bottom:0;left:0;right:0;width:100%;position:absolute;display:block;pointer-events:none;height:100px;border-radius:calc(var(--wcm-background-border-radius) * .9);background-color:var(--wcm-background-color);background-position:center;background-size:cover}.wcm-toolbar{height:38px;display:flex;position:relative;margin:5px 15px 5px 5px;justify-content:space-between;align-items:center}.wcm-toolbar img,.wcm-toolbar svg{height:28px;object-position:left center;object-fit:contain}#wcm-wc-logo path{fill:var(--wcm-accent-fill-color)}button{width:28px;height:28px;border-radius:var(--wcm-icon-button-border-radius);border:0;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:var(--wcm-color-bg-1);box-shadow:0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-bg-2)}button svg{display:block;object-position:center}button path{fill:var(--wcm-color-fg-1)}.wcm-toolbar div{display:flex}@media(hover:hover){button:hover{background-color:var(--wcm-color-bg-2)}}`;var gt=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,ut=(e,o,r,a)=>{for(var t=a>1?void 0:a?vt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&>(o,r,t),t};let fe=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div class=\"wcm-toolbar-placeholder\"></div><div class=\"wcm-toolbar\">${v.WALLET_CONNECT_LOGO} <button @click=\"${_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ModalCtrl.close}\">${v.CROSS_ICON}</button></div>`}};fe.styles=[h.globalCss,pt],fe=ut([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal-backcard\")],fe);const bt=lit__WEBPACK_IMPORTED_MODULE_0__.css`main{padding:20px;padding-top:0;width:100%}`;var ft=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,yt=(e,o,r,a)=>{for(var t=a>1?void 0:a?xt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ft(o,r,t),t};let xe=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<main><slot></slot></main>`}};xe.styles=[h.globalCss,bt],xe=yt([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal-content\")],xe);const $t=lit__WEBPACK_IMPORTED_MODULE_0__.css`footer{padding:10px;display:flex;flex-direction:column;align-items:inherit;justify-content:inherit;border-top:1px solid var(--wcm-color-bg-2)}`;var Ct=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,Ot=(e,o,r,a)=>{for(var t=a>1?void 0:a?kt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ct(o,r,t),t};let ye=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<footer><slot></slot></footer>`}};ye.styles=[h.globalCss,$t],ye=Ot([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal-footer\")],ye);const Wt=lit__WEBPACK_IMPORTED_MODULE_0__.css`header{display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.wcm-border{border-bottom:1px solid var(--wcm-color-bg-2);margin-bottom:20px}header button{padding:15px 20px}header button:active{opacity:.5}@media(hover:hover){header button:hover{opacity:.5}}.wcm-back-btn{position:absolute;left:0}.wcm-action-btn{position:absolute;right:0}path{fill:var(--wcm-accent-color)}`;var It=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,te=(e,o,r,a)=>{for(var t=a>1?void 0:a?Et(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&It(o,r,t),t};let S=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.title=\"\",this.onAction=void 0,this.actionIcon=void 0,this.border=!1}backBtnTemplate(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<button class=\"wcm-back-btn\" @click=\"${_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.goBack}\">${v.BACK_ICON}</button>`}actionBtnTemplate(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<button class=\"wcm-action-btn\" @click=\"${this.onAction}\">${this.actionIcon}</button>`}render(){const e={\"wcm-border\":this.border},o=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.state.history.length>1,r=this.title?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-text variant=\"big-bold\">${this.title}</wcm-text>`:lit__WEBPACK_IMPORTED_MODULE_0__.html`<slot></slot>`;return lit__WEBPACK_IMPORTED_MODULE_0__.html`<header class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\">${o?this.backBtnTemplate():null} ${r} ${this.onAction?this.actionBtnTemplate():null}</header>`}};S.styles=[h.globalCss,Wt],te([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],S.prototype,\"title\",2),te([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],S.prototype,\"onAction\",2),te([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],S.prototype,\"actionIcon\",2),te([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],S.prototype,\"border\",2),S=te([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal-header\")],S);const c={MOBILE_BREAKPOINT:600,WCM_RECENT_WALLET_DATA:\"WCM_RECENT_WALLET_DATA\",EXPLORER_WALLET_URL:\"https://explorer.walletconnect.com/?type=wallet\",getShadowRootElement(e,o){const r=e.renderRoot.querySelector(o);if(!r)throw new Error(`${o} not found`);return r},getWalletIcon({id:e,image_id:o}){const{walletImages:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state;return r!=null&&r[e]?r[e]:o?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.getWalletImageUrl(o):\"\"},getWalletName(e,o=!1){return o&&e.length>8?`${e.substring(0,8)}..`:e},isMobileAnimation(){return window.innerWidth<=c.MOBILE_BREAKPOINT},async preloadImage(e){const o=new Promise((r,a)=>{const t=new Image;t.onload=r,t.onerror=a,t.crossOrigin=\"anonymous\",t.src=e});return Promise.race([o,_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.wait(3e3)])},getErrorMessage(e){return e instanceof Error?e.message:\"Unknown Error\"},debounce(e,o=500){let r;return(...a)=>{function t(){e(...a)}r&&clearTimeout(r),r=setTimeout(t,o)}},handleMobileLinking(e){const{walletConnectUri:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state,{mobile:r,name:a}=e,t=r?.native,l=r?.universal;c.setRecentWallet(e);function i(s){let $=\"\";t?$=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.formatUniversalUrl(t,s,a):l&&($=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.formatNativeUrl(l,s,a)),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref($,\"_self\")}o&&i(o)},handleAndroidLinking(){const{walletConnectUri:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state;e&&(_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.setWalletConnectAndroidDeepLink(e),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(e,\"_self\"))},async handleUriCopy(){const{walletConnectUri:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state;if(e)try{await navigator.clipboard.writeText(e),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.openToast(\"Link copied\",\"success\")}catch{_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.openToast(\"Failed to copy\",\"error\")}},getCustomImageUrls(){const{walletImages:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state,o=Object.values(e??{});return Object.values(o)},truncate(e,o=8){return e.length<=o?e:`${e.substring(0,4)}...${e.substring(e.length-4)}`},setRecentWallet(e){try{localStorage.setItem(c.WCM_RECENT_WALLET_DATA,JSON.stringify(e))}catch{console.info(\"Unable to set recent wallet\")}},getRecentWallet(){try{const e=localStorage.getItem(c.WCM_RECENT_WALLET_DATA);return e?JSON.parse(e):void 0}catch{console.info(\"Unable to get recent wallet\")}},caseSafeIncludes(e,o){return e.toUpperCase().includes(o.toUpperCase())},openWalletExplorerUrl(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(c.EXPLORER_WALLET_URL,\"_blank\")},getCachedRouterWalletPlatforms(){const{desktop:e,mobile:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),r=Boolean(e?.native),a=Boolean(e?.universal),t=Boolean(o?.native)||Boolean(o?.universal);return{isDesktop:r,isMobile:t,isWeb:a}},goToConnectingView(e){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.setData({Wallet:e});const o=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isMobile(),{isDesktop:r,isWeb:a,isMobile:t}=c.getCachedRouterWalletPlatforms();o?t?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"MobileConnecting\"):a?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"WebConnecting\"):_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"InstallWallet\"):r?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"DesktopConnecting\"):a?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"WebConnecting\"):t?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"MobileQrcodeConnecting\"):_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"InstallWallet\")}},Mt=lit__WEBPACK_IMPORTED_MODULE_0__.css`.wcm-router{overflow:hidden;will-change:transform}.wcm-content{display:flex;flex-direction:column}`;var Lt=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,$e=(e,o,r,a)=>{for(var t=a>1?void 0:a?Rt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Lt(o,r,t),t};let oe=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.view=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.state.view,this.prevView=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.state.view,this.unsubscribe=void 0,this.oldHeight=\"0px\",this.resizeObserver=void 0,this.unsubscribe=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.subscribe(e=>{this.view!==e.view&&this.onChangeRoute()})}firstUpdated(){this.resizeObserver=new ResizeObserver(([e])=>{const o=`${e.contentRect.height}px`;this.oldHeight!==\"0px\"&&(0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.routerEl,{height:[this.oldHeight,o]},{duration:.2}),this.oldHeight=o}),this.resizeObserver.observe(this.contentEl)}disconnectedCallback(){var e,o;(e=this.unsubscribe)==null||e.call(this),(o=this.resizeObserver)==null||o.disconnect()}get routerEl(){return c.getShadowRootElement(this,\".wcm-router\")}get contentEl(){return c.getShadowRootElement(this,\".wcm-content\")}viewTemplate(){switch(this.view){case\"ConnectWallet\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-connect-wallet-view></wcm-connect-wallet-view>`;case\"DesktopConnecting\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-desktop-connecting-view></wcm-desktop-connecting-view>`;case\"MobileConnecting\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-mobile-connecting-view></wcm-mobile-connecting-view>`;case\"WebConnecting\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-web-connecting-view></wcm-web-connecting-view>`;case\"MobileQrcodeConnecting\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-mobile-qr-connecting-view></wcm-mobile-qr-connecting-view>`;case\"WalletExplorer\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-explorer-view></wcm-wallet-explorer-view>`;case\"Qrcode\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-qrcode-view></wcm-qrcode-view>`;case\"InstallWallet\":return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-install-wallet-view></wcm-install-wallet-view>`;default:return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div>Not Found</div>`}}async onChangeRoute(){await (0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.routerEl,{opacity:[1,0],scale:[1,1.02]},{duration:.15,delay:.1}).finished,this.view=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.state.view,(0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.routerEl,{opacity:[0,1],scale:[.99,1]},{duration:.37,delay:.05})}render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div class=\"wcm-router\"><div class=\"wcm-content\">${this.viewTemplate()}</div></div>`}};oe.styles=[h.globalCss,Mt],$e([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],oe.prototype,\"view\",2),$e([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],oe.prototype,\"prevView\",2),oe=$e([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal-router\")],oe);const At=lit__WEBPACK_IMPORTED_MODULE_0__.css`div{height:36px;width:max-content;display:flex;justify-content:center;align-items:center;padding:9px 15px 11px;position:absolute;top:12px;box-shadow:0 6px 14px -6px rgba(10,16,31,.3),0 10px 32px -4px rgba(10,16,31,.15);z-index:2;left:50%;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--wcm-notification-border-radius);border:1px solid var(--wcm-color-overlay);background-color:var(--wcm-color-overlay)}svg{margin-right:5px}@-moz-document url-prefix(){div{background-color:var(--wcm-color-bg-3)}}.wcm-success path{fill:var(--wcm-accent-color)}.wcm-error path{fill:var(--wcm-error-color)}`;var Pt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,ze=(e,o,r,a)=>{for(var t=a>1?void 0:a?Tt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Pt(o,r,t),t};let ne=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.open=!1,this.unsubscribe=void 0,this.timeout=void 0,this.unsubscribe=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.subscribe(e=>{e.open?(this.open=!0,this.timeout=setTimeout(()=>_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.closeToast(),2200)):(this.open=!1,clearTimeout(this.timeout))})}disconnectedCallback(){var e;(e=this.unsubscribe)==null||e.call(this),clearTimeout(this.timeout),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.closeToast()}render(){const{message:e,variant:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.state,r={\"wcm-success\":o===\"success\",\"wcm-error\":o===\"error\"};return this.open?lit__WEBPACK_IMPORTED_MODULE_0__.html`<div class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(r)}\">${o===\"success\"?v.CHECKMARK_ICON:null} ${o===\"error\"?v.CROSS_ICON:null}<wcm-text variant=\"small-regular\">${e}</wcm-text></div>`:null}};ne.styles=[h.globalCss,At],ze([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],ne.prototype,\"open\",2),ne=ze([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal-toast\")],ne);const jt=.1,Ve=2.5,A=7;function Ce(e,o,r){return e===o?!1:(e-o<0?o-e:e-o)<=r+jt}function _t(e,o){const r=Array.prototype.slice.call(qrcode__WEBPACK_IMPORTED_MODULE_6__.create(e,{errorCorrectionLevel:o}).modules.data,0),a=Math.sqrt(r.length);return r.reduce((t,l,i)=>(i%a===0?t.push([l]):t[t.length-1].push(l))&&t,[])}const Dt={generate(e,o,r){const a=\"#141414\",t=\"#ffffff\",l=[],i=_t(e,\"Q\"),s=o/i.length,$=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];$.forEach(({x:y,y:u})=>{const O=(i.length-A)*s*y,b=(i.length-A)*s*u,E=.45;for(let M=0;M<$.length;M+=1){const V=s*(A-M*2);l.push(lit__WEBPACK_IMPORTED_MODULE_0__.svg`<rect fill=\"${M%2===0?a:t}\" height=\"${V}\" rx=\"${V*E}\" ry=\"${V*E}\" width=\"${V}\" x=\"${O+s*M}\" y=\"${b+s*M}\">`)}});const f=Math.floor((r+25)/s),Ne=i.length/2-f/2,Ze=i.length/2+f/2-1,Se=[];i.forEach((y,u)=>{y.forEach((O,b)=>{if(i[u][b]&&!(u<A&&b<A||u>i.length-(A+1)&&b<A||u<A&&b>i.length-(A+1))&&!(u>Ne&&u<Ze&&b>Ne&&b<Ze)){const E=u*s+s/2,M=b*s+s/2;Se.push([E,M])}})});const J={};return Se.forEach(([y,u])=>{J[y]?J[y].push(u):J[y]=[u]}),Object.entries(J).map(([y,u])=>{const O=u.filter(b=>u.every(E=>!Ce(b,E,s)));return[Number(y),O]}).forEach(([y,u])=>{u.forEach(O=>{l.push(lit__WEBPACK_IMPORTED_MODULE_0__.svg`<circle cx=\"${y}\" cy=\"${O}\" fill=\"${a}\" r=\"${s/Ve}\">`)})}),Object.entries(J).filter(([y,u])=>u.length>1).map(([y,u])=>{const O=u.filter(b=>u.some(E=>Ce(b,E,s)));return[Number(y),O]}).map(([y,u])=>{u.sort((b,E)=>b<E?-1:1);const O=[];for(const b of u){const E=O.find(M=>M.some(V=>Ce(b,V,s)));E?E.push(b):O.push([b])}return[y,O.map(b=>[b[0],b[b.length-1]])]}).forEach(([y,u])=>{u.forEach(([O,b])=>{l.push(lit__WEBPACK_IMPORTED_MODULE_0__.svg`<line x1=\"${y}\" x2=\"${y}\" y1=\"${O}\" y2=\"${b}\" stroke=\"${a}\" stroke-width=\"${s/(Ve/2)}\" stroke-linecap=\"round\">`)})}),l}},Nt=lit__WEBPACK_IMPORTED_MODULE_0__.css`@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}div{position:relative;user-select:none;display:block;overflow:hidden;aspect-ratio:1/1;animation:fadeIn ease .2s}.wcm-dark{background-color:#fff;border-radius:var(--wcm-container-border-radius);padding:18px;box-shadow:0 2px 5px #000}svg:first-child,wcm-wallet-image{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{transform:translateY(-50%) translateX(-50%)}wcm-wallet-image{width:25%;height:25%;border-radius:var(--wcm-wallet-icon-border-radius)}svg:first-child{transform:translateY(-50%) translateX(-50%) scale(.9)}svg:first-child path:first-child{fill:var(--wcm-accent-color)}svg:first-child path:last-child{stroke:var(--wcm-color-overlay)}`;var Zt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,q=(e,o,r,a)=>{for(var t=a>1?void 0:a?St(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zt(o,r,t),t};let j=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.uri=\"\",this.size=0,this.imageId=void 0,this.walletId=void 0,this.imageUrl=void 0}svgTemplate(){const e=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ThemeCtrl.state.themeMode===\"light\"?this.size:this.size-36;return lit__WEBPACK_IMPORTED_MODULE_0__.svg`<svg height=\"${e}\" width=\"${e}\">${Dt.generate(this.uri,e,e/4)}</svg>`}render(){const e={\"wcm-dark\":_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ThemeCtrl.state.themeMode===\"dark\"};return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div style=\"${`width: ${this.size}px`}\" class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\">${this.walletId||this.imageUrl?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-image walletId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.walletId)}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.imageId)}\" imageUrl=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.imageUrl)}\"></wcm-wallet-image>`:v.WALLET_CONNECT_ICON_COLORED} ${this.svgTemplate()}</div>`}};j.styles=[h.globalCss,Nt],q([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],j.prototype,\"uri\",2),q([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Number})],j.prototype,\"size\",2),q([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],j.prototype,\"imageId\",2),q([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],j.prototype,\"walletId\",2),q([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],j.prototype,\"imageUrl\",2),j=q([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-qrcode\")],j);const Bt=lit__WEBPACK_IMPORTED_MODULE_0__.css`:host{position:relative;height:28px;width:80%}input{width:100%;height:100%;line-height:28px!important;border-radius:var(--wcm-input-border-radius);font-style:normal;font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;font-feature-settings:'case' on;font-weight:500;font-size:16px;letter-spacing:-.03em;padding:0 10px 0 34px;transition:.2s all ease;color:var(--wcm-color-fg-1);background-color:var(--wcm-color-bg-3);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay);caret-color:var(--wcm-accent-color)}input::placeholder{color:var(--wcm-color-fg-2)}svg{left:10px;top:4px;pointer-events:none;position:absolute;width:20px;height:20px}input:focus-within{box-shadow:inset 0 0 0 1px var(--wcm-accent-color)}path{fill:var(--wcm-color-fg-2)}`;var Ut=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Fe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ht(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ut(o,r,t),t};let ce=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.onChange=()=>null}render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<input type=\"text\" @input=\"${this.onChange}\" placeholder=\"Search wallets\"> ${v.SEARCH_ICON}`}};ce.styles=[h.globalCss,Bt],Fe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],ce.prototype,\"onChange\",2),ce=Fe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-search-input\")],ce);const zt=lit__WEBPACK_IMPORTED_MODULE_0__.css`@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}svg{animation:rotate 2s linear infinite;display:flex;justify-content:center;align-items:center}svg circle{stroke-linecap:round;animation:dash 1.5s ease infinite;stroke:var(--wcm-accent-color)}`;var Vt=Object.defineProperty,Ft=Object.getOwnPropertyDescriptor,qt=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ft(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vt(o,r,t),t};let ke=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<svg viewBox=\"0 0 50 50\" width=\"24\" height=\"24\"><circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"4\" stroke=\"#fff\"/></svg>`}};ke.styles=[h.globalCss,zt],ke=qt([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-spinner\")],ke);const Qt=lit__WEBPACK_IMPORTED_MODULE_0__.css`span{font-style:normal;font-family:var(--wcm-font-family);font-feature-settings:var(--wcm-font-feature-settings)}.wcm-xsmall-bold{font-family:var(--wcm-text-xsmall-bold-font-family);font-weight:var(--wcm-text-xsmall-bold-weight);font-size:var(--wcm-text-xsmall-bold-size);line-height:var(--wcm-text-xsmall-bold-line-height);letter-spacing:var(--wcm-text-xsmall-bold-letter-spacing);text-transform:var(--wcm-text-xsmall-bold-text-transform)}.wcm-xsmall-regular{font-family:var(--wcm-text-xsmall-regular-font-family);font-weight:var(--wcm-text-xsmall-regular-weight);font-size:var(--wcm-text-xsmall-regular-size);line-height:var(--wcm-text-xsmall-regular-line-height);letter-spacing:var(--wcm-text-xsmall-regular-letter-spacing);text-transform:var(--wcm-text-xsmall-regular-text-transform)}.wcm-small-thin{font-family:var(--wcm-text-small-thin-font-family);font-weight:var(--wcm-text-small-thin-weight);font-size:var(--wcm-text-small-thin-size);line-height:var(--wcm-text-small-thin-line-height);letter-spacing:var(--wcm-text-small-thin-letter-spacing);text-transform:var(--wcm-text-small-thin-text-transform)}.wcm-small-regular{font-family:var(--wcm-text-small-regular-font-family);font-weight:var(--wcm-text-small-regular-weight);font-size:var(--wcm-text-small-regular-size);line-height:var(--wcm-text-small-regular-line-height);letter-spacing:var(--wcm-text-small-regular-letter-spacing);text-transform:var(--wcm-text-small-regular-text-transform)}.wcm-medium-regular{font-family:var(--wcm-text-medium-regular-font-family);font-weight:var(--wcm-text-medium-regular-weight);font-size:var(--wcm-text-medium-regular-size);line-height:var(--wcm-text-medium-regular-line-height);letter-spacing:var(--wcm-text-medium-regular-letter-spacing);text-transform:var(--wcm-text-medium-regular-text-transform)}.wcm-big-bold{font-family:var(--wcm-text-big-bold-font-family);font-weight:var(--wcm-text-big-bold-weight);font-size:var(--wcm-text-big-bold-size);line-height:var(--wcm-text-big-bold-line-height);letter-spacing:var(--wcm-text-big-bold-letter-spacing);text-transform:var(--wcm-text-big-bold-text-transform)}:host(*){color:var(--wcm-color-fg-1)}.wcm-color-primary{color:var(--wcm-color-fg-1)}.wcm-color-secondary{color:var(--wcm-color-fg-2)}.wcm-color-tertiary{color:var(--wcm-color-fg-3)}.wcm-color-inverse{color:var(--wcm-accent-fill-color)}.wcm-color-accnt{color:var(--wcm-accent-color)}.wcm-color-error{color:var(--wcm-error-color)}`;var Kt=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Oe=(e,o,r,a)=>{for(var t=a>1?void 0:a?Yt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Kt(o,r,t),t};let re=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.variant=\"medium-regular\",this.color=\"primary\"}render(){const e={\"wcm-big-bold\":this.variant===\"big-bold\",\"wcm-medium-regular\":this.variant===\"medium-regular\",\"wcm-small-regular\":this.variant===\"small-regular\",\"wcm-small-thin\":this.variant===\"small-thin\",\"wcm-xsmall-regular\":this.variant===\"xsmall-regular\",\"wcm-xsmall-bold\":this.variant===\"xsmall-bold\",\"wcm-color-primary\":this.color===\"primary\",\"wcm-color-secondary\":this.color===\"secondary\",\"wcm-color-tertiary\":this.color===\"tertiary\",\"wcm-color-inverse\":this.color===\"inverse\",\"wcm-color-accnt\":this.color===\"accent\",\"wcm-color-error\":this.color===\"error\"};return lit__WEBPACK_IMPORTED_MODULE_0__.html`<span><slot class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\"></slot></span>`}};re.styles=[h.globalCss,Qt],Oe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],re.prototype,\"variant\",2),Oe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],re.prototype,\"color\",2),re=Oe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-text\")],re);const Gt=lit__WEBPACK_IMPORTED_MODULE_0__.css`button{width:100%;height:100%;border-radius:var(--wcm-button-hover-highlight-border-radius);display:flex;align-items:flex-start}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}button>div{width:80px;padding:5px 0;display:flex;flex-direction:column;align-items:center}wcm-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}wcm-wallet-image{height:60px;width:60px;transition:all .2s ease;border-radius:var(--wcm-wallet-icon-border-radius);margin-bottom:5px}.wcm-sublabel{margin-top:2px}`;var Xt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,_=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jt(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xt(o,r,t),t};let L=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.onClick=()=>null,this.name=\"\",this.walletId=\"\",this.label=void 0,this.imageId=void 0,this.installed=!1,this.recent=!1}sublabelTemplate(){return this.recent?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-text class=\"wcm-sublabel\" variant=\"xsmall-bold\" color=\"tertiary\">RECENT</wcm-text>`:this.installed?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-text class=\"wcm-sublabel\" variant=\"xsmall-bold\" color=\"tertiary\">INSTALLED</wcm-text>`:null}handleClick(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.EventsCtrl.click({name:\"WALLET_BUTTON\",walletId:this.walletId}),this.onClick()}render(){var e;return lit__WEBPACK_IMPORTED_MODULE_0__.html`<button @click=\"${this.handleClick.bind(this)}\"><div><wcm-wallet-image walletId=\"${this.walletId}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.imageId)}\"></wcm-wallet-image><wcm-text variant=\"xsmall-regular\">${(e=this.label)!=null?e:c.getWalletName(this.name,!0)}</wcm-text>${this.sublabelTemplate()}</div></button>`}};L.styles=[h.globalCss,Gt],_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],L.prototype,\"onClick\",2),_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],L.prototype,\"name\",2),_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],L.prototype,\"walletId\",2),_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],L.prototype,\"label\",2),_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],L.prototype,\"imageId\",2),_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],L.prototype,\"installed\",2),_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],L.prototype,\"recent\",2),L=_([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-wallet-button\")],L);const eo=lit__WEBPACK_IMPORTED_MODULE_0__.css`:host{display:block}div{overflow:hidden;position:relative;border-radius:inherit;width:100%;height:100%;background-color:var(--wcm-color-overlay)}svg{position:relative;width:100%;height:100%}div::after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid var(--wcm-color-overlay)}div img{width:100%;height:100%;object-fit:cover;object-position:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var to=Object.defineProperty,oo=Object.getOwnPropertyDescriptor,se=(e,o,r,a)=>{for(var t=a>1?void 0:a?oo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&to(o,r,t),t};let Q=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.walletId=\"\",this.imageId=void 0,this.imageUrl=void 0}render(){var e;const o=(e=this.imageUrl)!=null&&e.length?this.imageUrl:c.getWalletIcon({id:this.walletId,image_id:this.imageId});return lit__WEBPACK_IMPORTED_MODULE_0__.html`${o.length?lit__WEBPACK_IMPORTED_MODULE_0__.html`<div><img crossorigin=\"anonymous\" src=\"${o}\" alt=\"${this.id}\"></div>`:v.WALLET_PLACEHOLDER}`}};Q.styles=[h.globalCss,eo],se([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],Q.prototype,\"walletId\",2),se([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],Q.prototype,\"imageId\",2),se([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],Q.prototype,\"imageUrl\",2),Q=se([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-wallet-image\")],Q);var ro=Object.defineProperty,ao=Object.getOwnPropertyDescriptor,qe=(e,o,r,a)=>{for(var t=a>1?void 0:a?ao(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ro(o,r,t),t};let We=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.preload=!0,this.preloadData()}async loadImages(e){try{e!=null&&e.length&&await Promise.all(e.map(async o=>c.preloadImage(o)))}catch{console.info(\"Unsuccessful attempt at preloading some images\",e)}}async preloadListings(){if(_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state.enableExplorer){await _walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.getRecomendedWallets(),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.setIsDataLoaded(!0);const{recomendedWallets:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state,o=e.map(r=>c.getWalletIcon(r));await this.loadImages(o)}else _walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.setIsDataLoaded(!0)}async preloadCustomImages(){const e=c.getCustomImageUrls();await this.loadImages(e)}async preloadData(){try{this.preload&&(this.preload=!1,await Promise.all([this.preloadListings(),this.preloadCustomImages()]))}catch(e){console.error(e),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.openToast(\"Failed preloading\",\"error\")}}};qe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],We.prototype,\"preload\",2),We=qe([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-explorer-context\")],We);var lo=Object.defineProperty,io=Object.getOwnPropertyDescriptor,no=(e,o,r,a)=>{for(var t=a>1?void 0:a?io(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&lo(o,r,t),t};let Qe=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.unsubscribeTheme=void 0,h.setTheme(),this.unsubscribeTheme=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ThemeCtrl.subscribe(h.setTheme)}disconnectedCallback(){var e;(e=this.unsubscribeTheme)==null||e.call(this)}};Qe=no([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-theme-context\")],Qe);const co=lit__WEBPACK_IMPORTED_MODULE_0__.css`@keyframes scroll{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(calc(-70px * 9),0,0)}}.wcm-slider{position:relative;overflow-x:hidden;padding:10px 0;margin:0 -20px;width:calc(100% + 40px)}.wcm-track{display:flex;width:calc(70px * 18);animation:scroll 20s linear infinite;opacity:.7}.wcm-track svg{margin:0 5px}wcm-wallet-image{width:60px;height:60px;margin:0 5px;border-radius:var(--wcm-wallet-icon-border-radius)}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-title{display:flex;align-items:center;margin-bottom:10px}.wcm-title svg{margin-right:6px}.wcm-title path{fill:var(--wcm-accent-color)}wcm-modal-footer .wcm-title{padding:0 10px}wcm-button-big{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);filter:drop-shadow(0 0 17px var(--wcm-color-bg-1))}wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-info-footer wcm-text{text-align:center;margin-bottom:15px}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var so=Object.defineProperty,mo=Object.getOwnPropertyDescriptor,ho=(e,o,r,a)=>{for(var t=a>1?void 0:a?mo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&so(o,r,t),t};let Ie=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{onGoToQrcode(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"Qrcode\")}render(){const{recomendedWallets:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state,o=[...e,...e],r=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.RECOMMENDED_WALLET_AMOUNT*2;return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"Connect your wallet\" .onAction=\"${this.onGoToQrcode}\" .actionIcon=\"${v.QRCODE_ICON}\"></wcm-modal-header><wcm-modal-content><div class=\"wcm-title\">${v.MOBILE_ICON}<wcm-text variant=\"small-regular\" color=\"accent\">WalletConnect</wcm-text></div><div class=\"wcm-slider\"><div class=\"wcm-track\">${[...Array(r)].map((a,t)=>{const l=o[t%o.length];return l?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-image walletId=\"${l.id}\" imageId=\"${l.image_id}\"></wcm-wallet-image>`:v.WALLET_PLACEHOLDER})}</div><wcm-button-big @click=\"${c.handleAndroidLinking}\"><wcm-text variant=\"medium-regular\" color=\"inverse\">Select Wallet</wcm-text></wcm-button-big></div></wcm-modal-content><wcm-info-footer><wcm-text color=\"secondary\" variant=\"small-thin\">Choose WalletConnect to see supported apps on your device</wcm-text></wcm-info-footer>`}};Ie.styles=[h.globalCss,co],Ie=ho([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-android-wallet-selection\")],Ie);const wo=lit__WEBPACK_IMPORTED_MODULE_0__.css`@keyframes loading{to{stroke-dashoffset:0}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(1px,0,0)}30%,50%,70%{transform:translate3d(-2px,0,0)}40%,60%{transform:translate3d(2px,0,0)}}:host{display:flex;flex-direction:column;align-items:center}div{position:relative;width:110px;height:110px;display:flex;justify-content:center;align-items:center;margin:40px 0 20px 0;transform:translate3d(0,0,0)}svg{position:absolute;width:110px;height:110px;fill:none;stroke:transparent;stroke-linecap:round;stroke-width:2px;top:0;left:0}use{stroke:var(--wcm-accent-color);animation:loading 1s linear infinite}wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:90px;height:90px}wcm-text{margin-bottom:40px}.wcm-error svg{stroke:var(--wcm-error-color)}.wcm-error use{display:none}.wcm-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.wcm-stale svg,.wcm-stale use{display:none}`;var po=Object.defineProperty,go=Object.getOwnPropertyDescriptor,K=(e,o,r,a)=>{for(var t=a>1?void 0:a?go(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&po(o,r,t),t};let D=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.walletId=void 0,this.imageId=void 0,this.isError=!1,this.isStale=!1,this.label=\"\"}svgLoaderTemplate(){var e,o;const r=(o=(e=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ThemeCtrl.state.themeVariables)==null?void 0:e[\"--wcm-wallet-icon-large-border-radius\"])!=null?o:h.getPreset(\"--wcm-wallet-icon-large-border-radius\");let a=0;r.includes(\"%\")?a=88/100*parseInt(r,10):a=parseInt(r,10),a*=1.17;const t=317-a*1.57,l=425-a*1.8;return lit__WEBPACK_IMPORTED_MODULE_0__.html`<svg viewBox=\"0 0 110 110\" width=\"110\" height=\"110\"><rect id=\"wcm-loader\" x=\"2\" y=\"2\" width=\"106\" height=\"106\" rx=\"${a}\"/><use xlink:href=\"#wcm-loader\" stroke-dasharray=\"106 ${t}\" stroke-dashoffset=\"${l}\"></use></svg>`}render(){const e={\"wcm-error\":this.isError,\"wcm-stale\":this.isStale};return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\">${this.svgLoaderTemplate()}<wcm-wallet-image walletId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.walletId)}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.imageId)}\"></wcm-wallet-image></div><wcm-text variant=\"medium-regular\" color=\"${this.isError?\"error\":\"primary\"}\">${this.isError?\"Connection declined\":this.label}</wcm-text>`}};D.styles=[h.globalCss,wo],K([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],D.prototype,\"walletId\",2),K([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],D.prototype,\"imageId\",2),K([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],D.prototype,\"isError\",2),K([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],D.prototype,\"isStale\",2),K([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],D.prototype,\"label\",2),D=K([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-connector-waiting\")],D);const G={manualWallets(){var e,o;const{mobileWallets:r,desktopWallets:a}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state,t=(e=G.recentWallet())==null?void 0:e.id,l=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isMobile()?r:a,i=l?.filter(s=>t!==s.id);return(o=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isMobile()?i?.map(({id:s,name:$,links:f})=>({id:s,name:$,mobile:f,links:f})):i?.map(({id:s,name:$,links:f})=>({id:s,name:$,desktop:f,links:f})))!=null?o:[]},recentWallet(){return c.getRecentWallet()},recomendedWallets(e=!1){var o;const r=e||(o=G.recentWallet())==null?void 0:o.id,{recomendedWallets:a}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state;return a.filter(t=>r!==t.id)}},Z={onConnecting(e){c.goToConnectingView(e)},manualWalletsTemplate(){return G.manualWallets().map(e=>lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-button walletId=\"${e.id}\" name=\"${e.name}\" .onClick=\"${()=>this.onConnecting(e)}\"></wcm-wallet-button>`)},recomendedWalletsTemplate(e=!1){return G.recomendedWallets(e).map(o=>lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-button name=\"${o.name}\" walletId=\"${o.id}\" imageId=\"${o.image_id}\" .onClick=\"${()=>this.onConnecting(o)}\"></wcm-wallet-button>`)},recentWalletTemplate(){const e=G.recentWallet();if(e)return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-button name=\"${e.name}\" walletId=\"${e.id}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(e.image_id)}\" .recent=\"${!0}\" .onClick=\"${()=>this.onConnecting(e)}\"></wcm-wallet-button>`}},vo=lit__WEBPACK_IMPORTED_MODULE_0__.css`.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between}.wcm-desktop-title,.wcm-mobile-title{display:flex;align-items:center}.wcm-mobile-title{justify-content:space-between;margin-bottom:20px;margin-top:-10px}.wcm-desktop-title{margin-bottom:10px;padding:0 10px}.wcm-subtitle{display:flex;align-items:center}.wcm-subtitle:last-child path{fill:var(--wcm-color-fg-3)}.wcm-desktop-title svg,.wcm-mobile-title svg{margin-right:6px}.wcm-desktop-title path,.wcm-mobile-title path{fill:var(--wcm-accent-color)}`;var uo=Object.defineProperty,bo=Object.getOwnPropertyDescriptor,fo=(e,o,r,a)=>{for(var t=a>1?void 0:a?bo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&uo(o,r,t),t};let Ee=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state,r=e!==\"ALL\"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>4||r;let s=[];i?s=l.slice(0,3):s=l;const $=Boolean(s.length);return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header .border=\"${!0}\" title=\"Connect your wallet\" .onAction=\"${c.handleUriCopy}\" .actionIcon=\"${v.COPY_ICON}\"></wcm-modal-header><wcm-modal-content><div class=\"wcm-mobile-title\"><div class=\"wcm-subtitle\">${v.MOBILE_ICON}<wcm-text variant=\"small-regular\" color=\"accent\">Mobile</wcm-text></div><div class=\"wcm-subtitle\">${v.SCAN_ICON}<wcm-text variant=\"small-regular\" color=\"secondary\">Scan with your wallet</wcm-text></div></div><wcm-walletconnect-qr></wcm-walletconnect-qr></wcm-modal-content>${$?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-footer><div class=\"wcm-desktop-title\">${v.DESKTOP_ICON}<wcm-text variant=\"small-regular\" color=\"accent\">Desktop</wcm-text></div><div class=\"wcm-grid\">${s} ${i?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-view-all-wallets-button></wcm-view-all-wallets-button>`:null}</div></wcm-modal-footer>`:null}`}};Ee.styles=[h.globalCss,vo],Ee=fo([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-desktop-wallet-selection\")],Ee);const xo=lit__WEBPACK_IMPORTED_MODULE_0__.css`div{background-color:var(--wcm-color-bg-2);padding:10px 20px 15px 20px;border-top:1px solid var(--wcm-color-bg-3);text-align:center}a{color:var(--wcm-accent-color);text-decoration:none;transition:opacity .2s ease-in-out;display:inline}a:active{opacity:.8}@media(hover:hover){a:hover{opacity:.8}}`;var yo=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,Co=(e,o,r,a)=>{for(var t=a>1?void 0:a?$o(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&yo(o,r,t),t};let Me=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){const{termsOfServiceUrl:e,privacyPolicyUrl:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state;return e??o?lit__WEBPACK_IMPORTED_MODULE_0__.html`<div><wcm-text variant=\"small-regular\" color=\"secondary\">By connecting your wallet to this app, you agree to the app's ${e?lit__WEBPACK_IMPORTED_MODULE_0__.html`<a href=\"${e}\" target=\"_blank\" rel=\"noopener noreferrer\">Terms of Service</a>`:null} ${e&&o?\"and\":null} ${o?lit__WEBPACK_IMPORTED_MODULE_0__.html`<a href=\"${o}\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Policy</a>`:null}</wcm-text></div>`:null}};Me.styles=[h.globalCss,xo],Me=Co([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-legal-notice\")],Me);const ko=lit__WEBPACK_IMPORTED_MODULE_0__.css`div{display:grid;grid-template-columns:repeat(4,80px);margin:0 -10px;justify-content:space-between;row-gap:10px}`;var Oo=Object.defineProperty,Wo=Object.getOwnPropertyDescriptor,Io=(e,o,r,a)=>{for(var t=a>1?void 0:a?Wo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Oo(o,r,t),t};let Le=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{onQrcode(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"Qrcode\")}render(){const{explorerExcludedWalletIds:e,enableExplorer:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ConfigCtrl.state,r=e!==\"ALL\"&&o,a=Z.manualWalletsTemplate(),t=Z.recomendedWalletsTemplate();let l=[Z.recentWalletTemplate(),...a,...t];l=l.filter(Boolean);const i=l.length>8||r;let s=[];i?s=l.slice(0,7):s=l;const $=Boolean(s.length);return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"Connect your wallet\" .onAction=\"${this.onQrcode}\" .actionIcon=\"${v.QRCODE_ICON}\"></wcm-modal-header>${$?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-content><div>${s} ${i?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-view-all-wallets-button></wcm-view-all-wallets-button>`:null}</div></wcm-modal-content>`:null}`}};Le.styles=[h.globalCss,ko],Le=Io([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-mobile-wallet-selection\")],Le);const Eo=lit__WEBPACK_IMPORTED_MODULE_0__.css`:host{all:initial}.wcm-overlay{top:0;bottom:0;left:0;right:0;position:fixed;z-index:var(--wcm-z-index);overflow:hidden;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;background-color:var(--wcm-overlay-background-color);backdrop-filter:var(--wcm-overlay-backdrop-filter)}@media(max-height:720px) and (orientation:landscape){.wcm-overlay{overflow:scroll;align-items:flex-start;padding:20px 0}}.wcm-active{pointer-events:auto}.wcm-container{position:relative;max-width:360px;width:100%;outline:0;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) var(--wcm-container-border-radius) var(--wcm-container-border-radius);border:1px solid var(--wcm-color-overlay);overflow:hidden}.wcm-card{width:100%;position:relative;border-radius:var(--wcm-container-border-radius);overflow:hidden;box-shadow:0 6px 14px -6px rgba(10,16,31,.12),0 10px 32px -4px rgba(10,16,31,.1),0 0 0 1px var(--wcm-color-overlay);background-color:var(--wcm-color-bg-1);color:var(--wcm-color-fg-1)}@media(max-width:600px){.wcm-container{max-width:440px;border-radius:var(--wcm-background-border-radius) var(--wcm-background-border-radius) 0 0}.wcm-card{border-radius:var(--wcm-container-border-radius) var(--wcm-container-border-radius) 0 0}.wcm-overlay{align-items:flex-end}}@media(max-width:440px){.wcm-container{border:0}}`;var Mo=Object.defineProperty,Lo=Object.getOwnPropertyDescriptor,Re=(e,o,r,a)=>{for(var t=a>1?void 0:a?Lo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Mo(o,r,t),t};let ae=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.open=!1,this.active=!1,this.unsubscribeModal=void 0,this.abortController=void 0,this.unsubscribeModal=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ModalCtrl.subscribe(e=>{e.open?this.onOpenModalEvent():this.onCloseModalEvent()})}disconnectedCallback(){var e;(e=this.unsubscribeModal)==null||e.call(this)}get overlayEl(){return c.getShadowRootElement(this,\".wcm-overlay\")}get containerEl(){return c.getShadowRootElement(this,\".wcm-container\")}toggleBodyScroll(e){if(document.querySelector(\"body\"))if(e){const o=document.getElementById(\"wcm-styles\");o?.remove()}else document.head.insertAdjacentHTML(\"beforeend\",'<style id=\"wcm-styles\">html,body{touch-action:none;overflow:hidden;overscroll-behavior:contain;}</style>')}onCloseModal(e){e.target===e.currentTarget&&_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ModalCtrl.close()}onOpenModalEvent(){this.toggleBodyScroll(!1),this.addKeyboardEvents(),this.open=!0,setTimeout(async()=>{const e=c.isMobileAnimation()?{y:[\"50vh\",\"0vh\"]}:{scale:[.98,1]},o=.1,r=.2;await Promise.all([(0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.overlayEl,{opacity:[0,1]},{delay:o,duration:r}).finished,(0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.containerEl,e,{delay:o,duration:r}).finished]),this.active=!0},0)}async onCloseModalEvent(){this.toggleBodyScroll(!0),this.removeKeyboardEvents();const e=c.isMobileAnimation()?{y:[\"0vh\",\"50vh\"]}:{scale:[1,.98]},o=.2;await Promise.all([(0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.overlayEl,{opacity:[1,0]},{duration:o}).finished,(0,motion__WEBPACK_IMPORTED_MODULE_7__.animate)(this.containerEl,e,{duration:o}).finished]),this.containerEl.removeAttribute(\"style\"),this.active=!1,this.open=!1}addKeyboardEvents(){this.abortController=new AbortController,window.addEventListener(\"keydown\",e=>{var o;e.key===\"Escape\"?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ModalCtrl.close():e.key===\"Tab\"&&((o=e.target)!=null&&o.tagName.includes(\"wcm-\")||this.containerEl.focus())},this.abortController),this.containerEl.focus()}removeKeyboardEvents(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0}render(){const e={\"wcm-overlay\":!0,\"wcm-active\":this.active};return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-explorer-context></wcm-explorer-context><wcm-theme-context></wcm-theme-context><div id=\"wcm-modal\" class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)(e)}\" @click=\"${this.onCloseModal}\" role=\"alertdialog\" aria-modal=\"true\"><div class=\"wcm-container\" tabindex=\"0\">${this.open?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-backcard></wcm-modal-backcard><div class=\"wcm-card\"><wcm-modal-router></wcm-modal-router><wcm-modal-toast></wcm-modal-toast></div>`:null}</div></div>`}};ae.styles=[h.globalCss,Eo],Re([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],ae.prototype,\"open\",2),Re([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],ae.prototype,\"active\",2),ae=Re([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-modal\")],ae);const Ro=lit__WEBPACK_IMPORTED_MODULE_0__.css`div{display:flex;margin-top:15px}slot{display:inline-block;margin:0 5px}wcm-button{margin:0 5px}`;var Ao=Object.defineProperty,Po=Object.getOwnPropertyDescriptor,le=(e,o,r,a)=>{for(var t=a>1?void 0:a?Po(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Ao(o,r,t),t};let B=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.isMobile=!1,this.isDesktop=!1,this.isWeb=!1,this.isRetry=!1}onMobile(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isMobile()?_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.replace(\"MobileConnecting\"):_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.replace(\"MobileQrcodeConnecting\")}onDesktop(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.replace(\"DesktopConnecting\")}onWeb(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.replace(\"WebConnecting\")}render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div>${this.isRetry?lit__WEBPACK_IMPORTED_MODULE_0__.html`<slot></slot>`:null} ${this.isMobile?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-button .onClick=\"${this.onMobile}\" .iconLeft=\"${v.MOBILE_ICON}\" variant=\"outline\">Mobile</wcm-button>`:null} ${this.isDesktop?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-button .onClick=\"${this.onDesktop}\" .iconLeft=\"${v.DESKTOP_ICON}\" variant=\"outline\">Desktop</wcm-button>`:null} ${this.isWeb?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-button .onClick=\"${this.onWeb}\" .iconLeft=\"${v.GLOBE_ICON}\" variant=\"outline\">Web</wcm-button>`:null}</div>`}};B.styles=[h.globalCss,Ro],le([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],B.prototype,\"isMobile\",2),le([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],B.prototype,\"isDesktop\",2),le([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],B.prototype,\"isWeb\",2),le([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)({type:Boolean})],B.prototype,\"isRetry\",2),B=le([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-platform-selection\")],B);const To=lit__WEBPACK_IMPORTED_MODULE_0__.css`button{display:flex;flex-direction:column;padding:5px 10px;border-radius:var(--wcm-button-hover-highlight-border-radius);height:100%;justify-content:flex-start}.wcm-icons{width:60px;height:60px;display:flex;flex-wrap:wrap;padding:7px;border-radius:var(--wcm-wallet-icon-border-radius);justify-content:space-between;align-items:center;margin-bottom:5px;background-color:var(--wcm-color-bg-2);box-shadow:inset 0 0 0 1px var(--wcm-color-overlay)}button:active{background-color:var(--wcm-color-overlay)}@media(hover:hover){button:hover{background-color:var(--wcm-color-overlay)}}.wcm-icons img{width:21px;height:21px;object-fit:cover;object-position:center;border-radius:calc(var(--wcm-wallet-icon-border-radius)/ 2);border:1px solid var(--wcm-color-overlay)}.wcm-icons svg{width:21px;height:21px}.wcm-icons img:nth-child(1),.wcm-icons img:nth-child(2),.wcm-icons svg:nth-child(1),.wcm-icons svg:nth-child(2){margin-bottom:4px}wcm-text{width:100%;text-align:center}#wallet-placeholder-fill{fill:var(--wcm-color-bg-3)}#wallet-placeholder-dash{stroke:var(--wcm-color-overlay)}`;var jo=Object.defineProperty,_o=Object.getOwnPropertyDescriptor,Do=(e,o,r,a)=>{for(var t=a>1?void 0:a?_o(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&jo(o,r,t),t};let Ae=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{onClick(){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.RouterCtrl.push(\"WalletExplorer\")}render(){const{recomendedWallets:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state,o=G.manualWallets(),r=[...e,...o].reverse().slice(0,4);return lit__WEBPACK_IMPORTED_MODULE_0__.html`<button @click=\"${this.onClick}\"><div class=\"wcm-icons\">${r.map(a=>{const t=c.getWalletIcon(a);if(t)return lit__WEBPACK_IMPORTED_MODULE_0__.html`<img crossorigin=\"anonymous\" src=\"${t}\">`;const l=c.getWalletIcon({id:a.id});return l?lit__WEBPACK_IMPORTED_MODULE_0__.html`<img crossorigin=\"anonymous\" src=\"${l}\">`:v.WALLET_PLACEHOLDER})} ${[...Array(4-r.length)].map(()=>v.WALLET_PLACEHOLDER)}</div><wcm-text variant=\"xsmall-regular\">View All</wcm-text></button>`}};Ae.styles=[h.globalCss,To],Ae=Do([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-view-all-wallets-button\")],Ae);const No=lit__WEBPACK_IMPORTED_MODULE_0__.css`.wcm-qr-container{width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1}`;var Zo=Object.defineProperty,So=Object.getOwnPropertyDescriptor,de=(e,o,r,a)=>{for(var t=a>1?void 0:a?So(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Zo(o,r,t),t};let Y=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.walletId=\"\",this.imageId=\"\",this.uri=\"\",setTimeout(()=>{const{walletConnectUri:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state;this.uri=e},0)}get overlayEl(){return c.getShadowRootElement(this,\".wcm-qr-container\")}render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<div class=\"wcm-qr-container\">${this.uri?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-qrcode size=\"${this.overlayEl.offsetWidth}\" uri=\"${this.uri}\" walletId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.walletId)}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(this.imageId)}\"></wcm-qrcode>`:lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-spinner></wcm-spinner>`}</div>`}};Y.styles=[h.globalCss,No],de([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],Y.prototype,\"walletId\",2),de([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.property)()],Y.prototype,\"imageId\",2),de([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],Y.prototype,\"uri\",2),Y=de([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-walletconnect-qr\")],Y);var Bo=Object.defineProperty,Uo=Object.getOwnPropertyDescriptor,Ho=(e,o,r,a)=>{for(var t=a>1?void 0:a?Uo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Bo(o,r,t),t};let Pe=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{viewTemplate(){return _walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isAndroid()?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-android-wallet-selection></wcm-android-wallet-selection>`:_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isMobile()?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-mobile-wallet-selection></wcm-mobile-wallet-selection>`:lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-desktop-wallet-selection></wcm-desktop-wallet-selection>`}render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`${this.viewTemplate()}<wcm-legal-notice></wcm-legal-notice>`}};Pe.styles=[h.globalCss],Pe=Ho([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-connect-wallet-view\")],Pe);const zo=lit__WEBPACK_IMPORTED_MODULE_0__.css`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var Vo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Ke=(e,o,r,a)=>{for(var t=a>1?void 0:a?Fo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Vo(o,r,t),t};let me=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.isError=!1,this.openDesktopApp()}onFormatAndRedirect(e){const{desktop:o,name:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),a=o?.native;if(a){const t=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.formatNativeUrl(a,e,r);_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(t,\"_self\")}}openDesktopApp(){const{walletConnectUri:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state,o=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e)}render(){const{name:e,id:o,image_id:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),{isMobile:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"${e}\" .onAction=\"${c.handleUriCopy}\" .actionIcon=\"${v.COPY_ICON}\"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId=\"${o}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(r)}\" label=\"${`Continue in ${e}...`}\" .isError=\"${this.isError}\"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color=\"secondary\" variant=\"small-thin\">${`Connection can continue loading if ${e} is not installed on your device`}</wcm-text><wcm-platform-selection .isMobile=\"${a}\" .isWeb=\"${t}\" .isRetry=\"${!0}\"><wcm-button .onClick=\"${this.openDesktopApp.bind(this)}\" .iconRight=\"${v.RETRY_ICON}\">Retry</wcm-button></wcm-platform-selection></wcm-info-footer>`}};me.styles=[h.globalCss,zo],Ke([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],me.prototype,\"isError\",2),me=Ke([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-desktop-connecting-view\")],me);const qo=lit__WEBPACK_IMPORTED_MODULE_0__.css`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}wcm-button{margin-top:15px}`;var Qo=Object.defineProperty,Ko=Object.getOwnPropertyDescriptor,Yo=(e,o,r,a)=>{for(var t=a>1?void 0:a?Ko(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Qo(o,r,t),t};let Te=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{onInstall(e){e&&_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(e,\"_blank\")}render(){const{name:e,id:o,image_id:r,homepage:a}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData();return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"${e}\"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId=\"${o}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(r)}\" label=\"Not Detected\" .isStale=\"${!0}\"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color=\"secondary\" variant=\"small-thin\">${`Download ${e} to continue. If multiple browser extensions are installed, disable non ${e} ones and try again`}</wcm-text><wcm-button .onClick=\"${()=>this.onInstall(a)}\" .iconLeft=\"${v.ARROW_DOWN_ICON}\">Download</wcm-button></wcm-info-footer>`}};Te.styles=[h.globalCss,qo],Te=Yo([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-install-wallet-view\")],Te);const Go=lit__WEBPACK_IMPORTED_MODULE_0__.css`wcm-wallet-image{border-radius:var(--wcm-wallet-icon-large-border-radius);width:96px;height:96px;margin-bottom:20px}wcm-info-footer{display:flex;width:100%}.wcm-app-store{justify-content:space-between}.wcm-app-store wcm-wallet-image{margin-right:10px;margin-bottom:0;width:28px;height:28px;border-radius:var(--wcm-wallet-icon-small-border-radius)}.wcm-app-store div{display:flex;align-items:center}.wcm-app-store wcm-button{margin-right:-10px}.wcm-note{flex-direction:column;align-items:center;padding:5px 0}.wcm-note wcm-text{text-align:center}wcm-platform-selection{margin-top:-15px}.wcm-note wcm-text{margin-top:15px}.wcm-note wcm-text span{color:var(--wcm-accent-color)}`;var Xo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Ye=(e,o,r,a)=>{for(var t=a>1?void 0:a?Jo(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&Xo(o,r,t),t};let he=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.isError=!1,this.openMobileApp()}onFormatAndRedirect(e,o=!1){const{mobile:r,name:a}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),t=r?.native,l=r?.universal;if(t&&!o){const i=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.formatNativeUrl(t,e,a);_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(i,\"_self\")}else if(l){const i=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.formatUniversalUrl(l,e,a);_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(i,\"_self\")}}openMobileApp(e=!1){const{walletConnectUri:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state,r=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData();c.setRecentWallet(r),o&&this.onFormatAndRedirect(o,e)}onGoToAppStore(e){e&&_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(e,\"_blank\")}render(){const{name:e,id:o,image_id:r,app:a,mobile:t}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),{isWeb:l}=c.getCachedRouterWalletPlatforms(),i=a?.ios,s=t?.universal;return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"${e}\"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId=\"${o}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(r)}\" label=\"Tap 'Open' to continue…\" .isError=\"${this.isError}\"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer class=\"wcm-note\"><wcm-platform-selection .isWeb=\"${l}\" .isRetry=\"${!0}\"><wcm-button .onClick=\"${()=>this.openMobileApp(!1)}\" .iconRight=\"${v.RETRY_ICON}\">Retry</wcm-button></wcm-platform-selection>${s?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-text color=\"secondary\" variant=\"small-thin\">Still doesn't work? <span tabindex=\"0\" @click=\"${()=>this.openMobileApp(!0)}\">Try this alternate link</span></wcm-text>`:null}</wcm-info-footer><wcm-info-footer class=\"wcm-app-store\"><div><wcm-wallet-image walletId=\"${o}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(r)}\"></wcm-wallet-image><wcm-text>${`Get ${e}`}</wcm-text></div><wcm-button .iconRight=\"${v.ARROW_RIGHT_ICON}\" .onClick=\"${()=>this.onGoToAppStore(i)}\" variant=\"ghost\">App Store</wcm-button></wcm-info-footer>`}};he.styles=[h.globalCss,Go],Ye([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],he.prototype,\"isError\",2),he=Ye([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-mobile-connecting-view\")],he);const er=lit__WEBPACK_IMPORTED_MODULE_0__.css`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var tr=Object.defineProperty,or=Object.getOwnPropertyDescriptor,rr=(e,o,r,a)=>{for(var t=a>1?void 0:a?or(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&tr(o,r,t),t};let je=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){const{name:e,id:o,image_id:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),{isDesktop:a,isWeb:t}=c.getCachedRouterWalletPlatforms();return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"${e}\" .onAction=\"${c.handleUriCopy}\" .actionIcon=\"${v.COPY_ICON}\"></wcm-modal-header><wcm-modal-content><wcm-walletconnect-qr walletId=\"${o}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(r)}\"></wcm-walletconnect-qr></wcm-modal-content><wcm-info-footer><wcm-text color=\"secondary\" variant=\"small-thin\">${`Scan this QR Code with your phone's camera or inside ${e} app`}</wcm-text><wcm-platform-selection .isDesktop=\"${a}\" .isWeb=\"${t}\"></wcm-platform-selection></wcm-info-footer>`}};je.styles=[h.globalCss,er],je=rr([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-mobile-qr-connecting-view\")],je);var ar=Object.defineProperty,lr=Object.getOwnPropertyDescriptor,ir=(e,o,r,a)=>{for(var t=a>1?void 0:a?lr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&ar(o,r,t),t};let _e=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{render(){return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"Scan the code\" .onAction=\"${c.handleUriCopy}\" .actionIcon=\"${v.COPY_ICON}\"></wcm-modal-header><wcm-modal-content><wcm-walletconnect-qr></wcm-walletconnect-qr></wcm-modal-content>`}};_e.styles=[h.globalCss],_e=ir([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-qrcode-view\")],_e);const nr=lit__WEBPACK_IMPORTED_MODULE_0__.css`wcm-modal-content{height:clamp(200px,60vh,600px);display:block;overflow:scroll;scrollbar-width:none;position:relative;margin-top:1px}.wcm-grid{display:grid;grid-template-columns:repeat(4,80px);justify-content:space-between;margin:-15px -10px;padding-top:20px}wcm-modal-content::after,wcm-modal-content::before{content:'';position:fixed;pointer-events:none;z-index:1;width:100%;height:20px;opacity:1}wcm-modal-content::before{box-shadow:0 -1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(var(--wcm-color-bg-1),rgba(255,255,255,0))}wcm-modal-content::after{box-shadow:0 1px 0 0 var(--wcm-color-bg-1);background:linear-gradient(rgba(255,255,255,0),var(--wcm-color-bg-1));top:calc(100% - 20px)}wcm-modal-content::-webkit-scrollbar{display:none}.wcm-placeholder-block{display:flex;justify-content:center;align-items:center;height:100px;overflow:hidden}.wcm-empty,.wcm-loading{display:flex}.wcm-loading .wcm-placeholder-block{height:100%}.wcm-end-reached .wcm-placeholder-block{height:0;opacity:0}.wcm-empty .wcm-placeholder-block{opacity:1;height:100%}wcm-wallet-button{margin:calc((100% - 60px)/ 3) 0}`;var cr=Object.defineProperty,sr=Object.getOwnPropertyDescriptor,ie=(e,o,r,a)=>{for(var t=a>1?void 0:a?sr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&cr(o,r,t),t};const De=40;let U=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(...arguments),this.loading=!_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state.wallets.listings.length,this.firstFetch=!_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state.wallets.listings.length,this.search=\"\",this.endReached=!1,this.intersectionObserver=void 0,this.searchDebounce=c.debounce(e=>{e.length>=1?(this.firstFetch=!0,this.endReached=!1,this.search=e,_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.resetSearch(),this.fetchWallets()):this.search&&(this.search=\"\",this.endReached=this.isLastPage(),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.resetSearch())})}firstUpdated(){this.createPaginationObserver()}disconnectedCallback(){var e;(e=this.intersectionObserver)==null||e.disconnect()}get placeholderEl(){return c.getShadowRootElement(this,\".wcm-placeholder-block\")}createPaginationObserver(){this.intersectionObserver=new IntersectionObserver(([e])=>{e.isIntersecting&&!(this.search&&this.firstFetch)&&this.fetchWallets()}),this.intersectionObserver.observe(this.placeholderEl)}isLastPage(){const{wallets:e,search:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state,{listings:r,total:a}=this.search?o:e;return a<=De||r.length>=a}async fetchWallets(){var e;const{wallets:o,search:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state,{listings:a,total:t,page:l}=this.search?r:o;if(!this.endReached&&(this.firstFetch||t>De&&a.length<t))try{this.loading=!0;const i=(e=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state.chains)==null?void 0:e.join(\",\"),{listings:s}=await _walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.getWallets({page:this.firstFetch?1:l+1,entries:De,search:this.search,version:2,chains:i}),$=s.map(f=>c.getWalletIcon(f));await Promise.all([...$.map(async f=>c.preloadImage(f)),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.wait(300)]),this.endReached=this.isLastPage()}catch(i){console.error(i),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ToastCtrl.openToast(c.getErrorMessage(i),\"error\")}finally{this.loading=!1,this.firstFetch=!1}}onConnect(e){_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isAndroid()?c.handleMobileLinking(e):c.goToConnectingView(e)}onSearchChange(e){const{value:o}=e.target;this.searchDebounce(o)}render(){const{wallets:e,search:o}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.ExplorerCtrl.state,{listings:r}=this.search?o:e,a=this.loading&&!r.length,t=this.search.length>=3;let l=Z.manualWalletsTemplate(),i=Z.recomendedWalletsTemplate(!0);t&&(l=l.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)),i=i.filter(({values:f})=>c.caseSafeIncludes(f[0],this.search)));const s=!this.loading&&!r.length&&!i.length,$={\"wcm-loading\":a,\"wcm-end-reached\":this.endReached||!this.loading,\"wcm-empty\":s};return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header><wcm-search-input .onChange=\"${this.onSearchChange.bind(this)}\"></wcm-search-input></wcm-modal-header><wcm-modal-content class=\"${(0,lit_directives_class_map_js__WEBPACK_IMPORTED_MODULE_2__.classMap)($)}\"><div class=\"wcm-grid\">${a?null:l} ${a?null:i} ${a?null:r.map(f=>lit__WEBPACK_IMPORTED_MODULE_0__.html`${f?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-wallet-button imageId=\"${f.image_id}\" name=\"${f.name}\" walletId=\"${f.id}\" .onClick=\"${()=>this.onConnect(f)}\"></wcm-wallet-button>`:null}`)}</div><div class=\"wcm-placeholder-block\">${s?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-text variant=\"big-bold\" color=\"secondary\">No results found</wcm-text>`:null} ${!s&&this.loading?lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-spinner></wcm-spinner>`:null}</div></wcm-modal-content>`}};U.styles=[h.globalCss,nr],ie([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],U.prototype,\"loading\",2),ie([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],U.prototype,\"firstFetch\",2),ie([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],U.prototype,\"search\",2),ie([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],U.prototype,\"endReached\",2),U=ie([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-wallet-explorer-view\")],U);const dr=lit__WEBPACK_IMPORTED_MODULE_0__.css`wcm-info-footer{flex-direction:column;align-items:center;display:flex;width:100%;padding:5px 0}wcm-text{text-align:center}`;var mr=Object.defineProperty,hr=Object.getOwnPropertyDescriptor,Ge=(e,o,r,a)=>{for(var t=a>1?void 0:a?hr(o,r):o,l=e.length-1,i;l>=0;l--)(i=e[l])&&(t=(a?i(o,r,t):i(t))||t);return a&&t&&mr(o,r,t),t};let we=class extends lit__WEBPACK_IMPORTED_MODULE_0__.LitElement{constructor(){super(),this.isError=!1,this.openWebWallet()}onFormatAndRedirect(e){const{desktop:o,name:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),a=o?.universal;if(a){const t=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.formatUniversalUrl(a,e,r);_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.openHref(t,\"_blank\")}}openWebWallet(){const{walletConnectUri:e}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.OptionsCtrl.state,o=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData();c.setRecentWallet(o),e&&this.onFormatAndRedirect(e)}render(){const{name:e,id:o,image_id:r}=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.getWalletRouterData(),{isMobile:a,isDesktop:t}=c.getCachedRouterWalletPlatforms(),l=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_3__.CoreUtil.isMobile();return lit__WEBPACK_IMPORTED_MODULE_0__.html`<wcm-modal-header title=\"${e}\" .onAction=\"${c.handleUriCopy}\" .actionIcon=\"${v.COPY_ICON}\"></wcm-modal-header><wcm-modal-content><wcm-connector-waiting walletId=\"${o}\" imageId=\"${(0,lit_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_5__.ifDefined)(r)}\" label=\"${`Continue in ${e}...`}\" .isError=\"${this.isError}\"></wcm-connector-waiting></wcm-modal-content><wcm-info-footer><wcm-text color=\"secondary\" variant=\"small-thin\">${`${e} web app has opened in a new tab. Go there, accept the connection, and come back`}</wcm-text><wcm-platform-selection .isMobile=\"${a}\" .isDesktop=\"${l?!1:t}\" .isRetry=\"${!0}\"><wcm-button .onClick=\"${this.openWebWallet.bind(this)}\" .iconRight=\"${v.RETRY_ICON}\">Retry</wcm-button></wcm-platform-selection></wcm-info-footer>`}};we.styles=[h.globalCss,dr],Ge([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.state)()],we.prototype,\"isError\",2),we=Ge([(0,lit_decorators_js__WEBPACK_IMPORTED_MODULE_1__.customElement)(\"wcm-web-connecting-view\")],we);\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbW9kYWwtdWkvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXVnQixvS0FBb0ssa0RBQWtELG9CQUFvQixxQkFBcUIsNkJBQTZCLG9EQUFvRCxVQUFVLGNBQWMsTUFBTSxXQUFXLGdFQUFDLG9DQUFvQyxPQUFPLFlBQVksNERBQTRELGFBQWEsK0RBQStELDJCQUEyQixPQUFPLFlBQVksK0RBQStELGFBQWEsc0RBQXNELGtDQUFrQyxJQUFJLE9BQU8sbVBBQW1QLGNBQWMsT0FBTyw0dEVBQTR0RSxTQUFTLGFBQWEsZUFBZSxZQUFZLHlDQUF5QyxpQkFBaUIsQ0FBQyxnRUFBQyxPQUFPLE1BQU0sbUJBQW1CLGdCQUFnQiw4REFBOEQsV0FBVyxvQ0FBQyxvQkFBb0IsU0FBUyxVQUFVLHNCQUFzQixrQkFBa0IsNkJBQTZCLG1DQUFtQyxrQ0FBa0Msd0NBQXdDLDJCQUEyQixPQUFPLGVBQWUsYUFBYSx1QkFBdUIsbUJBQW1CLGtCQUFrQixZQUFZLDZCQUE2Qix3QkFBd0Isd0NBQXdDLGNBQWMsd0JBQXdCLHNCQUFzQixjQUFjLFdBQVcsa0JBQWtCLE1BQU0sU0FBUyxPQUFPLFFBQVEscUNBQXFDLGdCQUFnQixtQkFBbUIsMkJBQTJCLGtCQUFrQixVQUFVLE1BQU0sWUFBWSxVQUFVLGdCQUFnQixJQUFJLGNBQWMsWUFBWSxtQ0FBbUMsbUNBQW1DLEVBQUUsSUFBSSxvQ0FBQyxRQUFRLHdEQUF3RCxZQUFZLGVBQWUseUNBQXlDLFlBQVksa0NBQWtDLGNBQWMsc0JBQXNCLDBDQUEwQyx1QkFBdUIsNkJBQTZCLG1CQUFtQixpQkFBaUIsb0JBQW9CLGdCQUFnQixxQkFBcUIsMENBQTBDLGlEQUFpRCw2QkFBNkIsa0JBQWtCLFdBQVcsb0JBQW9CLG9CQUFvQiwwQ0FBMEMsd0JBQXdCLDZCQUE2QixpQkFBaUIsWUFBWSxnQkFBZ0IsdUNBQXVDLG9CQUFvQixrQkFBa0IseUJBQXlCLGdCQUFnQiwy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aUJBQWlCLENBQUMsK0RBQUMsc0NBQXNDLE1BQU0sUUFBUSwrREFBQywyQkFBMkIsK0RBQUMsdUJBQXVCLGdCQUFnQixNQUFNLG1CQUFtQixDQUFDLGtFQUFDLFNBQVMsK0RBQUMsdUJBQXVCLG9EQUFvRCxTQUFTLE1BQU0sdUJBQXVCLENBQUMsK0RBQUMsd0JBQXdCLHVCQUF1QixzQ0FBc0MsK0RBQUMsWUFBWSxPQUFPLHFDQUFDLDRCQUE0QixFQUFFLGVBQWUsZ0JBQWdCLGlCQUFpQixZQUFZLDJFQUEyRSxFQUFFLGFBQWEsdUVBQUMsSUFBSSxXQUFXLGVBQWUsRUFBRSxLQUFLLGNBQWMsYUFBYSxrSEFBa0gsR0FBRyxHQUFHLGlGQUFpRixnREFBZ0QsRUFBRSxnQkFBZ0IsT0FBTyxjQUFjLEdBQUcsMEJBQTBCLDhCQUE4QixnQkFBZ0IsYUFBYSxtRUFBbUUsK0JBQStCLHdEQUFDLHFDQUFxQyxnRUFBQyxpQ0FBdUU7QUFDcCttRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbW9kYWwtdWkvZGlzdC9pbmRleC5qcz8xYTUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtjc3MgYXMgZyxMaXRFbGVtZW50IGFzIHcsaHRtbCBhcyBuLHN2ZyBhcyBwZX1mcm9tXCJsaXRcIjtpbXBvcnR7cHJvcGVydHkgYXMgZCxjdXN0b21FbGVtZW50IGFzIHAsc3RhdGUgYXMgSX1mcm9tXCJsaXQvZGVjb3JhdG9ycy5qc1wiO2ltcG9ydHtjbGFzc01hcCBhcyBQfWZyb21cImxpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcC5qc1wiO2ltcG9ydHtUaGVtZUN0cmwgYXMgWCxNb2RhbEN0cmwgYXMgZ2UsUm91dGVyQ3RybCBhcyB4LENvbmZpZ0N0cmwgYXMgeixFeHBsb3JlckN0cmwgYXMgVyxDb3JlVXRpbCBhcyBtLE9wdGlvbnNDdHJsIGFzIFIsVG9hc3RDdHJsIGFzIE4sRXZlbnRzQ3RybCBhcyBYZX1mcm9tXCJAd2FsbGV0Y29ubmVjdC9tb2RhbC1jb3JlXCI7aW1wb3J0e3N2ZyBhcyBDfWZyb21cImxpdC1odG1sXCI7aW1wb3J0e2FuaW1hdGUgYXMgSH1mcm9tXCJtb3Rpb25cIjtpbXBvcnR7aWZEZWZpbmVkIGFzIGt9ZnJvbVwibGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZC5qc1wiO2ltcG9ydCBKZSBmcm9tXCJxcmNvZGVcIjt2YXIgZXQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LEJlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxvdD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLFVlPShlLG8scik9Pm8gaW4gZT9ldChlLG8se2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTplW29dPXIsdmU9KGUsbyk9Pntmb3IodmFyIHIgaW4gb3x8KG89e30pKXR0LmNhbGwobyxyKSYmVWUoZSxyLG9bcl0pO2lmKEJlKWZvcih2YXIgciBvZiBCZShvKSlvdC5jYWxsKG8scikmJlVlKGUscixvW3JdKTtyZXR1cm4gZX07ZnVuY3Rpb24gcnQoKXt2YXIgZTtjb25zdCBvPShlPVguc3RhdGUudGhlbWVNb2RlKSE9bnVsbD9lOlwiZGFya1wiLHI9e2xpZ2h0Ontmb3JlZ3JvdW5kOnsxOlwicmdiKDIwLDIwLDIwKVwiLDI6XCJyZ2IoMTIxLDEzNCwxMzQpXCIsMzpcInJnYigxNTgsMTY5LDE2OSlcIn0sYmFja2dyb3VuZDp7MTpcInJnYigyNTUsMjU1LDI1NSlcIiwyOlwicmdiKDI0MSwyNDMsMjQzKVwiLDM6XCJyZ2IoMjI4LDIzMSwyMzEpXCJ9LG92ZXJsYXk6XCJyZ2JhKDAsMCwwLDAuMSlcIn0sZGFyazp7Zm9yZWdyb3VuZDp7MTpcInJnYigyMjgsMjMxLDIzMSlcIiwyOlwicmdiKDE0OCwxNTgsMTU4KVwiLDM6XCJyZ2IoMTEwLDExOSwxMTkpXCJ9LGJhY2tncm91bmQ6ezE6XCJyZ2IoMjAsMjAsMjApXCIsMjpcInJnYigzOSw0Miw0MilcIiwzOlwicmdiKDU5LDY0LDY0KVwifSxvdmVybGF5OlwicmdiYSgyNTUsMjU1LDI1NSwwLjEpXCJ9fVtvXTtyZXR1cm57XCItLXdjbS1jb2xvci1mZy0xXCI6ci5mb3JlZ3JvdW5kWzFdLFwiLS13Y20tY29sb3ItZmctMlwiOnIuZm9yZWdyb3VuZFsyXSxcIi0td2NtLWNvbG9yLWZnLTNcIjpyLmZvcmVncm91bmRbM10sXCItLXdjbS1jb2xvci1iZy0xXCI6ci5iYWNrZ3JvdW5kWzFdLFwiLS13Y20tY29sb3ItYmctMlwiOnIuYmFja2dyb3VuZFsyXSxcIi0td2NtLWNvbG9yLWJnLTNcIjpyLmJhY2tncm91bmRbM10sXCItLXdjbS1jb2xvci1vdmVybGF5XCI6ci5vdmVybGF5fX1mdW5jdGlvbiBIZSgpe3JldHVybntcIi0td2NtLWFjY2VudC1jb2xvclwiOlwiIzMzOTZGRlwiLFwiLS13Y20tYWNjZW50LWZpbGwtY29sb3JcIjpcIiNGRkZGRkZcIixcIi0td2NtLXotaW5kZXhcIjpcIjg5XCIsXCItLXdjbS1iYWNrZ3JvdW5kLWNvbG9yXCI6XCIjMzM5NkZGXCIsXCItLXdjbS1iYWNrZ3JvdW5kLWJvcmRlci1yYWRpdXNcIjpcIjhweFwiLFwiLS13Y20tY29udGFpbmVyLWJvcmRlci1yYWRpdXNcIjpcIjMwcHhcIixcIi0td2NtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXNcIjpcIjE1cHhcIixcIi0td2NtLXdhbGxldC1pY29uLWxhcmdlLWJvcmRlci1yYWRpdXNcIjpcIjMwcHhcIixcIi0td2NtLXdhbGxldC1pY29uLXNtYWxsLWJvcmRlci1yYWRpdXNcIjpcIjdweFwiLFwiLS13Y20taW5wdXQtYm9yZGVyLXJhZGl1c1wiOlwiMjhweFwiLFwiLS13Y20tYnV0dG9uLWJvcmRlci1yYWRpdXNcIjpcIjEwcHhcIixcIi0td2NtLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzXCI6XCIzNnB4XCIsXCItLXdjbS1zZWNvbmRhcnktYnV0dG9uLWJvcmRlci1yYWRpdXNcIjpcIjI4cHhcIixcIi0td2NtLWljb24tYnV0dG9uLWJvcmRlci1yYWRpdXNcIjpcIjUwJVwiLFwiLS13Y20tYnV0dG9uLWhvdmVyLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzXCI6XCIxMHB4XCIsXCItLXdjbS10ZXh0LWJpZy1ib2xkLXNpemVcIjpcIjIwcHhcIixcIi0td2NtLXRleHQtYmlnLWJvbGQtd2VpZ2h0XCI6XCI2MDBcIixcIi0td2NtLXRleHQtYmlnLWJvbGQtbGluZS1oZWlnaHRcIjpcIjI0cHhcIixcIi0td2NtLXRleHQtYmlnLWJvbGQtbGV0dGVyLXNwYWNpbmdcIjpcIi0wLjAzZW1cIixcIi0td2NtLXRleHQtYmlnLWJvbGQtdGV4dC10cmFuc2Zvcm1cIjpcIm5vbmVcIixcIi0td2NtLXRleHQteHNtYWxsLWJvbGQtc2l6ZVwiOlwiMTBweFwiLFwiLS13Y20tdGV4dC14c21hbGwtYm9sZC13ZWlnaHRcIjpcIjcwMFwiLFwiLS13Y20tdGV4dC14c21hbGwtYm9sZC1saW5lLWhlaWdodFwiOlwiMTJweFwiLFwiLS13Y20tdGV4dC14c21hbGwtYm9sZC1sZXR0ZXItc3BhY2luZ1wiOlwiMC4wMmVtXCIsXCItLXdjbS10ZXh0LXhzbWFsbC1ib2xkLXRleHQtdHJhbnNmb3JtXCI6XCJ1cHBlcmNhc2VcIixcIi0td2NtLXRleHQteHNtYWxsLXJlZ3VsYXItc2l6ZVwiOlwiMTJweFwiLFwiLS13Y20tdGV4dC14c21hbGwtcmVndWxhci13ZWlnaHRcIjpcIjYwMFwiLFwiLS13Y20tdGV4dC14c21hbGwtcmVndWxhci1saW5lLWhlaWdodFwiOlwiMTRweFwiLFwiLS13Y20tdGV4dC14c21hbGwtcmVndWxhci1sZXR0ZXItc3BhY2luZ1wiOlwiLTAuMDNlbVwiLFwiLS13Y20tdGV4dC14c21hbGwtcmVndWxhci10ZXh0LXRyYW5zZm9ybVwiOlwibm9uZVwiLFwiLS13Y20tdGV4dC1zbWFsbC10aGluLXNpemVcIjpcIjE0cHhcIixcIi0td2NtLXRleHQtc21hbGwtdGhpbi13ZWlnaHRcIjpcIjUwMFwiLFwiLS13Y20tdGV4dC1zbWFsbC10aGluLWxpbmUtaGVpZ2h0XCI6XCIxNnB4XCIsXCItLXdjbS10ZXh0LXNtYWxsLXRoaW4tbGV0dGVyLXNwYWNpbmdcIjpcIi0wLjAzZW1cIixcIi0td2NtLXRleHQtc21hbGwtdGhpbi10ZXh0LXRyYW5zZm9ybVwiOlwibm9uZVwiLFwiLS13Y20tdGV4dC1zbWFsbC1yZWd1bGFyLXNpemVcIjpcIjE0cHhcIixcIi0td2NtLXRleHQtc21hbGwtcmVndWxhci13ZWlnaHRcIjpcIjYwMFwiLFwiLS13Y20tdGV4dC1zbWFsbC1yZWd1bGFyLWxpbmUtaGVpZ2h0XCI6XCIxNnB4XCIsXCItLXdjbS10ZXh0LXNtYWxsLXJlZ3VsYXItbGV0dGVyLXNwYWNpbmdcIjpcIi0wLjAzZW1cIixcIi0td2NtLXRleHQtc21hbGwtcmVndWxhci10ZXh0LXRyYW5zZm9ybVwiOlwibm9uZVwiLFwiLS13Y20tdGV4dC1tZWRpdW0tcmVndWxhci1zaXplXCI6XCIxNnB4XCIsXCItLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLXdlaWdodFwiOlwiNjAwXCIsXCItLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWxpbmUtaGVpZ2h0XCI6XCIyMHB4XCIsXCItLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWxldHRlci1zcGFjaW5nXCI6XCItMC4wM2VtXCIsXCItLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLXRleHQtdHJhbnNmb3JtXCI6XCJub25lXCIsXCItLXdjbS1mb250LWZhbWlseVwiOlwiLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgVWJ1bnR1LCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmXCIsXCItLXdjbS1mb250LWZlYXR1cmUtc2V0dGluZ3NcIjpcIid0bnVtJyBvbiwgJ2xudW0nIG9uLCAnY2FzZScgb25cIixcIi0td2NtLXN1Y2Nlc3MtY29sb3JcIjpcInJnYigzOCwxODEsOTgpXCIsXCItLXdjbS1lcnJvci1jb2xvclwiOlwicmdiKDI0MiwgOTAsIDEwMylcIixcIi0td2NtLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvclwiOlwicmdiYSgwLCAwLCAwLCAwLjMpXCIsXCItLXdjbS1vdmVybGF5LWJhY2tkcm9wLWZpbHRlclwiOlwibm9uZVwifX1jb25zdCBoPXtnZXRQcmVzZXQoZSl7cmV0dXJuIEhlKClbZV19LHNldFRoZW1lKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiOnJvb3RcIikse3RoZW1lVmFyaWFibGVzOm99PVguc3RhdGU7aWYoZSl7Y29uc3Qgcj12ZSh2ZSh2ZSh7fSxydCgpKSxIZSgpKSxvKTtPYmplY3QuZW50cmllcyhyKS5mb3JFYWNoKChbYSx0XSk9PmUuc3R5bGUuc2V0UHJvcGVydHkoYSx0KSl9fSxnbG9iYWxDc3M6Z2AqLDo6YWZ0ZXIsOjpiZWZvcmV7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LXN0eWxlOm5vcm1hbDt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZVNwZWVkOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2V9QG1lZGlhIChob3Zlcjpob3ZlcikgYW5kIChwb2ludGVyOmZpbmUpe2J1dHRvbjphY3RpdmV7dHJhbnNpdGlvbjphbGwgLjFzIGVhc2U7dHJhbnNmb3JtOnNjYWxlKC45Myl9fWJ1dHRvbjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IsLjJzIGVhc2V9YnV0dG9uOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH1idXR0b24gc3ZnLGJ1dHRvbiB3Y20tdGV4dHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9aW5wdXR7Ym9yZGVyOm5vbmU7b3V0bGluZTowO2FwcGVhcmFuY2U6bm9uZX1pbWd7ZGlzcGxheTpibG9ja306OnNlbGVjdGlvbntjb2xvcjp2YXIoLS13Y20tYWNjZW50LWZpbGwtY29sb3IpO2JhY2tncm91bmQ6dmFyKC0td2NtLWFjY2VudC1jb2xvcil9YH0sYXQ9Z2BidXR0b257Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20tc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtoZWlnaHQ6MjhweDtwYWRkaW5nOjAgMTBweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdjbS1hY2NlbnQtY29sb3IpfWJ1dHRvbiBwYXRoe2ZpbGw6dmFyKC0td2NtLWFjY2VudC1maWxsLWNvbG9yKX1idXR0b246OmFmdGVye2JvcmRlci1yYWRpdXM6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXdjbS1jb2xvci1vdmVybGF5KX1idXR0b246ZGlzYWJsZWQ6OmFmdGVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LndjbS1pY29uLWxlZnQgc3Zne21hcmdpbi1yaWdodDo1cHh9LndjbS1pY29uLXJpZ2h0IHN2Z3ttYXJnaW4tbGVmdDo1cHh9YnV0dG9uOmFjdGl2ZTo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3Itb3ZlcmxheSl9LndjbS1naG9zdCwud2NtLWdob3N0OmFjdGl2ZTo6YWZ0ZXIsLndjbS1vdXRsaW5le2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LndjbS1naG9zdDphY3RpdmV7b3BhY2l0eTouNX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3Zlcjo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3Itb3ZlcmxheSl9LndjbS1naG9zdDpob3Zlcjo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ud2NtLWdob3N0OmhvdmVye29wYWNpdHk6LjV9fWJ1dHRvbjpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdjbS1jb2xvci1iZy0zKTtwb2ludGVyLWV2ZW50czpub25lfS53Y20tZ2hvc3Q6OmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0ud2NtLWdob3N0IHBhdGh7ZmlsbDp2YXIoLS13Y20tY29sb3ItZmctMil9LndjbS1vdXRsaW5lIHBhdGh7ZmlsbDp2YXIoLS13Y20tYWNjZW50LWNvbG9yKX0ud2NtLW91dGxpbmU6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvcGFjaXR5Oi41fWA7dmFyIGx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxpdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEY9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9pdChvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmbHQobyxyLHQpLHR9O2xldCBUPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5kaXNhYmxlZD0hMSx0aGlzLmljb25MZWZ0PXZvaWQgMCx0aGlzLmljb25SaWdodD12b2lkIDAsdGhpcy5vbkNsaWNrPSgpPT5udWxsLHRoaXMudmFyaWFudD1cImRlZmF1bHRcIn1yZW5kZXIoKXtjb25zdCBlPXtcIndjbS1pY29uLWxlZnRcIjp0aGlzLmljb25MZWZ0IT09dm9pZCAwLFwid2NtLWljb24tcmlnaHRcIjp0aGlzLmljb25SaWdodCE9PXZvaWQgMCxcIndjbS1naG9zdFwiOnRoaXMudmFyaWFudD09PVwiZ2hvc3RcIixcIndjbS1vdXRsaW5lXCI6dGhpcy52YXJpYW50PT09XCJvdXRsaW5lXCJ9O2xldCBvPVwiaW52ZXJzZVwiO3JldHVybiB0aGlzLnZhcmlhbnQ9PT1cImdob3N0XCImJihvPVwic2Vjb25kYXJ5XCIpLHRoaXMudmFyaWFudD09PVwib3V0bGluZVwiJiYobz1cImFjY2VudFwiKSxuYDxidXR0b24gY2xhc3M9XCIke1AoZSl9XCIgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkfVwiIEBjbGljaz1cIiR7dGhpcy5vbkNsaWNrfVwiPiR7dGhpcy5pY29uTGVmdH08d2NtLXRleHQgdmFyaWFudD1cInNtYWxsLXJlZ3VsYXJcIiBjb2xvcj1cIiR7b31cIj48c2xvdD48L3Nsb3Q+PC93Y20tdGV4dD4ke3RoaXMuaWNvblJpZ2h0fTwvYnV0dG9uPmB9fTtULnN0eWxlcz1baC5nbG9iYWxDc3MsYXRdLEYoW2Qoe3R5cGU6Qm9vbGVhbn0pXSxULnByb3RvdHlwZSxcImRpc2FibGVkXCIsMiksRihbZCgpXSxULnByb3RvdHlwZSxcImljb25MZWZ0XCIsMiksRihbZCgpXSxULnByb3RvdHlwZSxcImljb25SaWdodFwiLDIpLEYoW2QoKV0sVC5wcm90b3R5cGUsXCJvbkNsaWNrXCIsMiksRihbZCgpXSxULnByb3RvdHlwZSxcInZhcmlhbnRcIiwyKSxUPUYoW3AoXCJ3Y20tYnV0dG9uXCIpXSxUKTtjb25zdCBudD1nYDpob3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfWJ1dHRvbntwYWRkaW5nOjAgMTVweCAxcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20tYnV0dG9uLWJvcmRlci1yYWRpdXMpO2NvbG9yOnZhcigtLXdjbS1hY2NlbnQtZmlsbC1jb2xvcik7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tYWNjZW50LWNvbG9yKX1idXR0b246OmFmdGVye2NvbnRlbnQ6Jyc7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOmluaGVyaXQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO2JvcmRlcjoxcHggc29saWQgdmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfWJ1dHRvbjphY3RpdmU6OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfWJ1dHRvbjpkaXNhYmxlZHtwYWRkaW5nLWJvdHRvbTowO2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLWJnLTMpO2NvbG9yOnZhcigtLXdjbS1jb2xvci1mZy0zKX0ud2NtLXNlY29uZGFyeXtjb2xvcjp2YXIoLS13Y20tYWNjZW50LWNvbG9yKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS53Y20tc2Vjb25kYXJ5OjphZnRlcntkaXNwbGF5Om5vbmV9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXI6OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfX1gO3ZhciBjdD1PYmplY3QuZGVmaW5lUHJvcGVydHksc3Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix1ZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP3N0KG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZjdChvLHIsdCksdH07bGV0IGVlPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5kaXNhYmxlZD0hMSx0aGlzLnZhcmlhbnQ9XCJwcmltYXJ5XCJ9cmVuZGVyKCl7Y29uc3QgZT17XCJ3Y20tc2Vjb25kYXJ5XCI6dGhpcy52YXJpYW50PT09XCJzZWNvbmRhcnlcIn07cmV0dXJuIG5gPGJ1dHRvbiA/ZGlzYWJsZWQ9XCIke3RoaXMuZGlzYWJsZWR9XCIgY2xhc3M9XCIke1AoZSl9XCI+PHNsb3Q+PC9zbG90PjwvYnV0dG9uPmB9fTtlZS5zdHlsZXM9W2guZ2xvYmFsQ3NzLG50XSx1ZShbZCh7dHlwZTpCb29sZWFufSldLGVlLnByb3RvdHlwZSxcImRpc2FibGVkXCIsMiksdWUoW2QoKV0sZWUucHJvdG90eXBlLFwidmFyaWFudFwiLDIpLGVlPXVlKFtwKFwid2NtLWJ1dHRvbi1iaWdcIildLGVlKTtjb25zdCBkdD1nYDpob3N0e2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLWJnLTIpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLXdjbS1jb2xvci1iZy0zKX1kaXZ7cGFkZGluZzoxMHB4IDIwcHg7ZGlzcGxheTppbmhlcml0O2ZsZXgtZGlyZWN0aW9uOmluaGVyaXQ7YWxpZ24taXRlbXM6aW5oZXJpdDt3aWR0aDppbmhlcml0O2p1c3RpZnktY29udGVudDppbmhlcml0fWA7dmFyIG10PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxodD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHd0PShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/aHQobyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJm10KG8scix0KSx0fTtsZXQgYmU9Y2xhc3MgZXh0ZW5kcyB3e3JlbmRlcigpe3JldHVybiBuYDxkaXY+PHNsb3Q+PC9zbG90PjwvZGl2PmB9fTtiZS5zdHlsZXM9W2guZ2xvYmFsQ3NzLGR0XSxiZT13dChbcChcIndjbS1pbmZvLWZvb3RlclwiKV0sYmUpO2NvbnN0IHY9e0NST1NTX0lDT046Q2A8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIj48cGF0aCBkPVwiTTkuOTQgMTFBLjc1Ljc1IDAgMSAwIDExIDkuOTRMNy40MTQgNi4zNTNhLjUuNSAwIDAgMSAwLS43MDhMMTEgMi4wNjFBLjc1Ljc1IDAgMSAwIDkuOTQgMUw2LjM1MyA0LjU4NmEuNS41IDAgMCAxLS43MDggMEwyLjA2MSAxQS43NS43NSAwIDAgMCAxIDIuMDZsMy41ODYgMy41ODZhLjUuNSAwIDAgMSAwIC43MDhMMSA5LjkzOUEuNzUuNzUgMCAxIDAgMi4wNiAxMWwzLjU4Ni0zLjU4NmEuNS41IDAgMCAxIC43MDggMEw5LjkzOSAxMVpcIiBmaWxsPVwiI2ZmZlwiLz48L3N2Zz5gLFdBTExFVF9DT05ORUNUX0xPR086Q2A8c3ZnIHdpZHRoPVwiMTc4XCIgaGVpZ2h0PVwiMjlcIiB2aWV3Qm94PVwiMCAwIDE3OCAyOVwiIGlkPVwid2NtLXdjLWxvZ29cIj48cGF0aCBkPVwiTTEwLjY4MyA3LjkyNmM1LjI4NC01LjE3IDEzLjg1LTUuMTcgMTkuMTM0IDBsLjYzNi42MjNhLjY1Mi42NTIgMCAwIDEgMCAuOTM2bC0yLjE3NiAyLjEyOWEuMzQzLjM0MyAwIDAgMS0uNDc4IDBsLS44NzUtLjg1N2MtMy42ODYtMy42MDctOS42NjItMy42MDctMTMuMzQ4IDBsLS45MzcuOTE4YS4zNDMuMzQzIDAgMCAxLS40NzkgMGwtMi4xNzUtMi4xM2EuNjUyLjY1MiAwIDAgMSAwLS45MzZsLjY5OC0uNjgzWm0yMy42MzMgNC40MDMgMS45MzUgMS44OTVhLjY1Mi42NTIgMCAwIDEgMCAuOTM2bC04LjczIDguNTQzYS42ODcuNjg3IDAgMCAxLS45NTYgMEwyMC4zNyAxNy42NGEuMTcyLjE3MiAwIDAgMC0uMjM5IDBsLTYuMTk1IDYuMDYzYS42ODcuNjg3IDAgMCAxLS45NTcgMGwtOC43My04LjU0M2EuNjUyLjY1MiAwIDAgMSAwLS45MzZsMS45MzYtMS44OTVhLjY4Ny42ODcgMCAwIDEgLjk1NyAwbDYuMTk2IDYuMDY0YS4xNzIuMTcyIDAgMCAwIC4yMzkgMGw2LjE5NS02LjA2NGEuNjg3LjY4NyAwIDAgMSAuOTU3IDBsNi4xOTYgNi4wNjRhLjE3Mi4xNzIgMCAwIDAgLjI0IDBsNi4xOTUtNi4wNjRhLjY4Ny42ODcgMCAwIDEgLjk1NiAwWk00OC4wOTMgMjAuOTQ4bDIuMzM4LTkuMzU1Yy4xMzktLjUxNS4yNTgtMS4wNy40MTYtMS45NDIuMTIuODcyLjI1OCAxLjQyNy4zNTcgMS45NDJsMi4wMjIgOS4zNTVoNC4xODFsMy41MjgtMTMuODc0aC0zLjIxbC0xLjk0MyA4LjUyM2EyNC44MjUgMjQuODI1IDAgMCAwLS40NTYgMi40NTdjLS4xNTgtLjkzMS0uMzE3LTEuNjI1LS40OTUtMi40MzhsLTEuODgzLTguNTQyaC00LjIwMWwtMi4wNDIgOC41NDJhNDEuMjA0IDQxLjIwNCAwIDAgMC0uNDc1IDIuNDM4IDQxLjIwOCA0MS4yMDggMCAwIDAtLjQ3Ni0yLjQzOGwtMS45MDMtOC41NDJoLTMuMzQ5bDMuNTA4IDEzLjg3NGg0LjA4M1pNNjMuMzMgMjEuMzA0YzEuNTg1IDAgMi41OTYtLjY1NCAzLjExLTEuNjA1LS4wNTkuMjk3LS4wNzguNTk1LS4wNzguODkydi4zNTdoMi42NTVWMTUuMjJjMC0yLjczNS0xLjI0OC00LjMyLTQuMy00LjMyLTIuNjM2IDAtNC4zNiAxLjQ2Ni00LjUyIDMuNDg3aDIuOTE0Yy4xLS44OTEuNzM0LTEuNDI2IDEuNzA1LTEuNDI2LjkxMSAwIDEuNDA3LjUxNSAxLjQwNyAxLjExIDAgLjQzNS0uMjU4LjY5My0xLjAzLjc5MmwtMS4zODguMTU5Yy0yLjA2MS4yNTctMy44MjUgMS4wMS0zLjgyNSAzLjE5IDAgMS45ODIgMS42NDUgMy4wOTIgMy4zNSAzLjA5MlptLjg5MS0yLjA0MWMtLjc3MyAwLTEuMzQ4LS40MzYtMS4zNDgtMS4xOSAwLS43MzMuNjU1LTEuMDkgMS42NDUtMS4yNjhsLjY3NC0uMTE5Yy41NzUtLjExOC44OTItLjIxOCAxLjA5LS4zOTZ2LjkxMmMwIDEuMjI4LS44OTIgMi4wNi0yLjA2IDIuMDZaTTcwLjM5OCA3LjA3NHYxMy44NzRoMi44NzRWNy4wNzRoLTIuODc0Wk03NC45MzQgNy4wNzR2MTMuODc0aDIuODc0VjcuMDc0aC0yLjg3NFpNODQuMDggMjEuMzA0YzIuNzM1IDAgNC41LTEuNTQ2IDQuNjk3LTMuNTY3aC0yLjg5M2MtLjEzOS44OTItLjg5MiAxLjM4Ny0xLjgwNCAxLjM4Ny0xLjIyOCAwLTIuMTItLjk5LTIuMTQtMi4zNThoNi44OTd2LS41NTVjMC0zLjIxLTEuNzY0LTUuMzEyLTQuODE2LTUuMzEyLTIuOTMzIDAtNC45OTQgMi4wNjItNC45OTQgNS4xNzMgMCAzLjM3IDIuMTIgNS4yMzIgNS4wNTMgNS4yMzJabS0yLjE2LTYuNDIxYy4xMTktMS4xMS45MzItMS45MjIgMi4wODEtMS45MjIgMS4xMSAwIDEuODgzLjc3MiAxLjkwMyAxLjkyMkg4MS45MlpNOTQuOTIgMjEuMTQ2Yy42MzMgMCAxLjI0OC0uMSAxLjUyNS0uMTc5di0yLjE4Yy0uMjE4LjA0LS40NzUuMDYtLjY5My4wNi0xLjA1IDAtMS40MjctLjU5NS0xLjQyNy0xLjU2NnYtMy44MDVoMi4zMzh2LTIuMjRoLTIuMzM4VjcuNzg4SDkxLjQ3djMuNDQ4SDg5LjM3djIuMjRoMi4xdjQuMjAxYzAgMi4zIDEuMTUgMy40NjkgMy40NSAzLjQ2OVpNMTA0LjYyIDIxLjMwNGMzLjkyNCAwIDYuMzAyLTIuMjk5IDYuNTk5LTUuNjA4aC0zLjExMWMtLjIzOCAxLjgwMy0xLjUwNiAzLjAzMi0zLjM2OSAzLjAzMi0yLjIgMC0zLjc0Ni0xLjc4NC0zLjc0Ni00Ljc5NiAwLTIuOTUzIDEuNjA1LTQuNjM4IDMuODA1LTQuNjM4IDEuODgzIDAgMi45NTMgMS4xNSAzLjE3MSAyLjgzNGgzLjE5MWMtLjMxNy0zLjQ0OC0yLjg1NC01LjQxLTYuMzQyLTUuNDEtMy45ODQgMC03LjAzNiAyLjY5NS03LjAzNiA3LjIxNCAwIDQuNjc3IDIuNjc2IDcuMzcyIDYuODM4IDcuMzcyWk0xMTcuNDQ5IDIxLjMwNGMyLjk5MyAwIDUuMTE0LTEuODgyIDUuMTE0LTUuMTcyIDAtMy4yMy0yLjEyMS01LjIzMy01LjExNC01LjIzMy0yLjk3MiAwLTUuMDkzIDIuMDAyLTUuMDkzIDUuMjMzIDAgMy4yOSAyLjEwMSA1LjE3MiA1LjA5MyA1LjE3MlptMC0yLjIyYy0xLjMyNyAwLTIuMTgtMS4wOS0yLjE4LTIuOTUyIDAtMS45MDMuODkyLTIuOTczIDIuMTgtMi45NzMgMS4zMDggMCAyLjIgMS4wNyAyLjIgMi45NzMgMCAxLjg2Mi0uODcyIDIuOTUzLTIuMiAyLjk1M1pNMTI2LjU2OSAyMC45NDh2LTUuNjg5YzAtMS4yMDguNzUzLTIuMSAxLjgyMy0yLjEgMS4wMTEgMCAxLjYwNi43NzMgMS42MDYgMi4wNnY1LjcyOWgyLjg3M3YtNi4xNDRjMC0yLjMzOS0xLjIyOS0zLjkwNS0zLjQyOC0zLjkwNS0xLjUyNiAwLTIuNDU4LjczNC0yLjk1MyAxLjYwNmE1LjMxIDUuMzEgMCAwIDAgLjA3OS0uODkydi0uMzc3aC0yLjg3NHY5LjcxMmgyLjg3NFpNMTM3LjQ2NCAyMC45NDh2LTUuNjg5YzAtMS4yMDguNzUzLTIuMSAxLjgyMy0yLjEgMS4wMTEgMCAxLjYwNi43NzMgMS42MDYgMi4wNnY1LjcyOWgyLjg3M3YtNi4xNDRjMC0yLjMzOS0xLjIyOC0zLjkwNS0zLjQyOC0zLjkwNS0xLjUyNiAwLTIuNDU4LjczNC0yLjk1MyAxLjYwNmE1LjMxIDUuMzEgMCAwIDAgLjA3OS0uODkydi0uMzc3aC0yLjg3NHY5LjcxMmgyLjg3NFpNMTQ5Ljk0OSAyMS4zMDRjMi43MzUgMCA0LjQ5OS0xLjU0NiA0LjY5Ny0zLjU2N2gtMi44OTNjLS4xMzkuODkyLS44OTIgMS4zODctMS44MDQgMS4zODctMS4yMjggMC0yLjEyLS45OS0yLjE0LTIuMzU4aDYuODk3di0uNTU1YzAtMy4yMS0xLjc2NC01LjMxMi00LjgxNi01LjMxMi0yLjkzMyAwLTQuOTk0IDIuMDYyLTQuOTk0IDUuMTczIDAgMy4zNyAyLjEyIDUuMjMyIDUuMDUzIDUuMjMyWm0tMi4xNi02LjQyMWMuMTE5LTEuMTEuOTMyLTEuOTIyIDIuMDgxLTEuOTIyIDEuMTEgMCAxLjg4My43NzIgMS45MDMgMS45MjJoLTMuOTg0Wk0xNjAuODc2IDIxLjMwNGMzLjAxMyAwIDQuNjU4LTEuNjQ1IDQuOTc1LTQuMjAxaC0yLjg3NGMtLjA5OSAxLjA3LS43MTMgMS45ODItMi4wMDEgMS45ODItMS4zMDkgMC0yLjItMS4yMS0yLjItMi45OTMgMC0xLjk0MiAxLjAzLTIuOTMzIDIuMjU5LTIuOTMzIDEuMjA5IDAgMS44MDMuODcyIDEuODgzIDEuODgyaDIuODczYy0uMjE4LTIuMzU4LTEuODIzLTQuMTQyLTQuNzc2LTQuMTQyLTIuODc0IDAtNS4xNTMgMS45MDMtNS4xNTMgNS4xOTMgMCAzLjI1IDEuOTIzIDUuMjEyIDUuMDE0IDUuMjEyWk0xNzIuMDY3IDIxLjE0NmMuNjM0IDAgMS4yNDgtLjEgMS41MjYtLjE3OXYtMi4xOGMtLjIxOC4wNC0uNDc2LjA2LS42OTQuMDYtMS4wNSAwLTEuNDI3LS41OTUtMS40MjctMS41NjZ2LTMuODA1aDIuMzM5di0yLjI0aC0yLjMzOVY3Ljc4OGgtMi44NTR2My40NDhoLTIuMXYyLjI0aDIuMXY0LjIwMWMwIDIuMyAxLjE1IDMuNDY5IDMuNDQ5IDMuNDY5WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsV0FMTEVUX0NPTk5FQ1RfSUNPTjpDYDxzdmcgd2lkdGg9XCIyOFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyOCAyMFwiPjxnIGNsaXAtcGF0aD1cInVybCgjYSlcIj48cGF0aCBkPVwiTTcuMzg2IDYuNDgyYzMuNjUzLTMuNTc2IDkuNTc1LTMuNTc2IDEzLjIyOCAwbC40NC40M2EuNDUxLjQ1MSAwIDAgMSAwIC42NDhMMTkuNTUgOS4wMzNhLjIzNy4yMzcgMCAwIDEtLjMzIDBsLS42MDYtLjU5MmMtMi41NDgtMi40OTYtNi42OC0yLjQ5Ni05LjIyOCAwbC0uNjQ4LjYzNGEuMjM3LjIzNyAwIDAgMS0uMzMgMEw2LjkwMiA3LjYwMmEuNDUxLjQ1MSAwIDAgMSAwLS42NDdsLjQ4My0uNDczWm0xNi4zMzggMy4wNDYgMS4zMzkgMS4zMWEuNDUxLjQ1MSAwIDAgMSAwIC42NDhsLTYuMDM1IDUuOTA5YS40NzUuNDc1IDAgMCAxLS42NjIgMEwxNC4wODMgMTMuMmEuMTE5LjExOSAwIDAgMC0uMTY2IDBsLTQuMjgzIDQuMTk0YS40NzUuNDc1IDAgMCAxLS42NjIgMGwtNi4wMzUtNS45MWEuNDUxLjQ1MSAwIDAgMSAwLS42NDdsMS4zMzgtMS4zMWEuNDc1LjQ3NSAwIDAgMSAuNjYyIDBsNC4yODMgNC4xOTRjLjA0Ni4wNDQuMTIuMDQ0LjE2NiAwbDQuMjgzLTQuMTk0YS40NzUuNDc1IDAgMCAxIC42NjIgMGw0LjI4MyA0LjE5NGMuMDQ2LjA0NC4xMi4wNDQuMTY2IDBsNC4yODMtNC4xOTRhLjQ3NS40NzUgMCAwIDEgLjY2MiAwWlwiIGZpbGw9XCIjMDAwMDAwXCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9XCJhXCI+PHBhdGggZmlsbD1cIiNmZmZmZmZcIiBkPVwiTTAgMGgyOHYyMEgwelwiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz5gLFdBTExFVF9DT05ORUNUX0lDT05fQ09MT1JFRDpDYDxzdmcgd2lkdGg9XCI5NlwiIGhlaWdodD1cIjk2XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMjUuMzIyIDMzLjU5N2MxMi41MjUtMTIuMjYzIDMyLjgzLTEyLjI2MyA0NS4zNTUgMGwxLjUwNyAxLjQ3NmExLjU0NyAxLjU0NyAwIDAgMSAwIDIuMjJsLTUuMTU2IDUuMDQ4YS44MTQuODE0IDAgMCAxLTEuMTM0IDBsLTIuMDc0LTIuMDNjLTguNzM3LTguNTU1LTIyLjkwMy04LjU1NS0zMS42NCAwbC0yLjIyMiAyLjE3NWEuODE0LjgxNCAwIDAgMS0xLjEzNCAwbC01LjE1Ni01LjA0OWExLjU0NyAxLjU0NyAwIDAgMSAwLTIuMjJsMS42NTQtMS42MlptNTYuMDE5IDEwLjQ0IDQuNTg5IDQuNDk0YTEuNTQ3IDEuNTQ3IDAgMCAxIDAgMi4yMmwtMjAuNjkzIDIwLjI2YTEuNjI4IDEuNjI4IDAgMCAxLTIuMjY3IDBMNDguMjgzIDU2LjYzMmEuNDA3LjQwNyAwIDAgMC0uNTY3IDBMMzMuMDMgNzEuMDEyYTEuNjI4IDEuNjI4IDAgMCAxLTIuMjY4IDBMMTAuMDcgNTAuNzVhMS41NDcgMS41NDcgMCAwIDEgMC0yLjIybDQuNTktNC40OTRhMS42MjggMS42MjggMCAwIDEgMi4yNjcgMGwxNC42ODcgMTQuMzhjLjE1Ni4xNTMuNDEuMTUzLjU2NyAwbDE0LjY4NS0xNC4zOGExLjYyOCAxLjYyOCAwIDAgMSAyLjI2OCAwbDE0LjY4NyAxNC4zOGMuMTU2LjE1My40MS4xNTMuNTY3IDBsMTQuNjg2LTE0LjM4YTEuNjI4IDEuNjI4IDAgMCAxIDIuMjY4IDBaXCIvPjxwYXRoIHN0cm9rZT1cIiMwMDBcIiBkPVwiTTI1LjY3MiAzMy45NTRjMTIuMzMtMTIuMDcyIDMyLjMyNS0xMi4wNzIgNDQuNjU1IDBsMS41MDggMS40NzZhMS4wNDcgMS4wNDcgMCAwIDEgMCAxLjUwNmwtNS4xNTcgNS4wNDhhLjMxNC4zMTQgMCAwIDEtLjQzNCAwbC0yLjA3NC0yLjAzYy04LjkzMi04Ljc0Ni0yMy40MDktOC43NDYtMzIuMzQgMGwtMi4yMjIgMi4xNzRhLjMxNC4zMTQgMCAwIDEtLjQzNCAwbC01LjE1Ny01LjA0OGExLjA0NyAxLjA0NyAwIDAgMSAwLTEuNTA2bDEuNjU1LTEuNjJabTU1LjMxOSAxMC40NCA0LjU5IDQuNDk0YTEuMDQ3IDEuMDQ3IDAgMCAxIDAgMS41MDZsLTIwLjY5NCAyMC4yNmExLjEyOCAxLjEyOCAwIDAgMS0xLjU2OCAwbC0xNC42ODYtMTQuMzhhLjkwNy45MDcgMCAwIDAtMS4yNjcgMEwzMi42OCA3MC42NTVhMS4xMjggMS4xMjggMCAwIDEtMS41NjggMEwxMC40MiA1MC4zOTRhMS4wNDcgMS4wNDcgMCAwIDEgMC0xLjUwNmw0LjU5LTQuNDkzYTEuMTI4IDEuMTI4IDAgMCAxIDEuNTY3IDBsMTQuNjg3IDE0LjM3OWEuOTA3LjkwNyAwIDAgMCAxLjI2NiAwbC0uMzUtLjM1Ny4zNS4zNTcgMTQuNjg2LTE0LjM4YTEuMTI4IDEuMTI4IDAgMCAxIDEuNTY4IDBsMTQuNjg3IDE0LjM4YS45MDcuOTA3IDAgMCAwIDEuMjY3IDBsMTQuNjg2LTE0LjM4YTEuMTI4IDEuMTI4IDAgMCAxIDEuNTY4IDBaXCIvPjwvc3ZnPmAsQkFDS19JQ09OOkNgPHN2ZyB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDEwIDE4XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTguNzM1LjE3OWEuNzUuNzUgMCAwIDEgLjA4NyAxLjA1N0wyLjkyIDguMTkyYTEuMjUgMS4yNSAwIDAgMCAwIDEuNjE3bDUuOTAyIDYuOTU2YS43NS43NSAwIDEgMS0xLjE0NC45N0wxLjc3NiAxMC43OGEyLjc1IDIuNzUgMCAwIDEgMC0zLjU1OUw3LjY3OC4yNjVBLjc1Ljc1IDAgMCAxIDguNzM1LjE4WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsQ09QWV9JQ09OOkNgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGZpbGw9XCIjZmZmXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4wMSA3LjAxYy4wMy0xLjU0NS4xMzgtMi41LjUzNS0zLjI4QTUgNSAwIDAgMSA5LjczIDEuNTQ1QzEwLjggMSAxMi4yIDEgMTUgMWMyLjggMCA0LjIgMCA1LjI3LjU0NWE1IDUgMCAwIDEgMi4xODUgMi4xODVDMjMgNC44IDIzIDYuMiAyMyA5YzAgMi44IDAgNC4yLS41NDUgNS4yN2E1IDUgMCAwIDEtMi4xODUgMi4xODVjLS43OC4zOTctMS43MzUuNTA1LTMuMjguNTM0bC0uMDAxLjAxYy0uMDMgMS41NC0uMTM4IDIuNDkzLS41MzQgMy4yN2E1IDUgMCAwIDEtMi4xODUgMi4xODZDMTMuMiAyMyAxMS44IDIzIDkgMjNjLTIuOCAwLTQuMiAwLTUuMjctLjU0NWE1IDUgMCAwIDEtMi4xODUtMi4xODVDMSAxOS4yIDEgMTcuOCAxIDE1YzAtMi44IDAtNC4yLjU0NS01LjI3QTUgNSAwIDAgMSAzLjczIDcuNTQ1QzQuNTA4IDcuMTQ5IDUuNDYgNy4wNCA3IDcuMDFoLjAxWk0xNSAxNS41Yy0xLjQyNSAwLTIuNDAzLS4wMDEtMy4xNjItLjA2My0uNzQtLjA2LTEuMTM5LS4xNzItMS40MjctLjMxOWEzLjUgMy41IDAgMCAxLTEuNTMtMS41MjljLS4xNDYtLjI4OC0uMjU3LS42ODYtLjMxOC0xLjQyN0M4LjUwMSAxMS40MDMgOC41IDEwLjQyNSA4LjUgOWMwLTEuNDI1LjAwMS0yLjQwMy4wNjMtMy4xNjIuMDYtLjc0LjE3Mi0xLjEzOS4zMTgtMS40MjdhMy41IDMuNSAwIDAgMSAxLjUzLTEuNTNjLjI4OC0uMTQ2LjY4Ni0uMjU3IDEuNDI3LS4zMTguNzU5LS4wNjIgMS43MzctLjA2MyAzLjE2Mi0uMDYzIDEuNDI1IDAgMi40MDMuMDAxIDMuMTYyLjA2My43NC4wNiAxLjEzOS4xNzIgMS40MjcuMzE4YTMuNSAzLjUgMCAwIDEgMS41MyAxLjUzYy4xNDYuMjg4LjI1Ny42ODYuMzE4IDEuNDI3LjA2Mi43NTkuMDYzIDEuNzM3LjA2MyAzLjE2MiAwIDEuNDI1LS4wMDEgMi40MDMtLjA2MyAzLjE2Mi0uMDYuNzQtLjE3MiAxLjEzOS0uMzE5IDEuNDI3YTMuNSAzLjUgMCAwIDEtMS41MjkgMS41M2MtLjI4OC4xNDYtLjY4Ni4yNTctMS40MjcuMzE4LS43NTkuMDYyLTEuNzM3LjA2My0zLjE2Mi4wNjNaTTcgOC41MTFjLS40NDQuMDA5LS44MjUuMDI1LTEuMTYyLjA1Mi0uNzQuMDYtMS4xMzkuMTcyLTEuNDI3LjMxOGEzLjUgMy41IDAgMCAwLTEuNTMgMS41M2MtLjE0Ni4yODgtLjI1Ny42ODYtLjMxOCAxLjQyNy0uMDYyLjc1OS0uMDYzIDEuNzM3LS4wNjMgMy4xNjIgMCAxLjQyNS4wMDEgMi40MDMuMDYzIDMuMTYyLjA2Ljc0LjE3MiAxLjEzOS4zMTggMS40MjdhMy41IDMuNSAwIDAgMCAxLjUzIDEuNTNjLjI4OC4xNDYuNjg2LjI1NyAxLjQyNy4zMTguNzU5LjA2MiAxLjczNy4wNjMgMy4xNjIuMDYzIDEuNDI1IDAgMi40MDMtLjAwMSAzLjE2Mi0uMDYzLjc0LS4wNiAxLjEzOS0uMTcyIDEuNDI3LS4zMTlhMy41IDMuNSAwIDAgMCAxLjUzLTEuNTNjLjE0Ni0uMjg3LjI1Ny0uNjg1LjMxOC0xLjQyNi4wMjctLjMzNy4wNDMtLjcxOC4wNTItMS4xNjJIMTVjLTIuOCAwLTQuMiAwLTUuMjctLjU0NWE1IDUgMCAwIDEtMi4xODUtMi4xODVDNyAxMy4yIDcgMTEuOCA3IDl2LS40ODlaXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz5gLFJFVFJZX0lDT046Q2A8c3ZnIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTUgMTZcIj48cGF0aCBkPVwiTTYuNDY0IDIuMDNBLjc1Ljc1IDAgMCAwIDUuNDAzLjk3TDIuMDggNC4yOTNhMSAxIDAgMCAwIDAgMS40MTRMNS40MDMgOS4wM2EuNzUuNzUgMCAwIDAgMS4wNi0xLjA2TDQuNjcyIDYuMTc3YS4yNS4yNSAwIDAgMSAuMTc3LS40MjdoMi4wODVhNCA0IDAgMSAxLTMuOTMgNC43NDZjLS4wNzctLjQwNy0uNDA1LS43NDYtLjgyLS43NDYtLjQxNCAwLS43NTUuMzM4LS43Ljc0OGE1LjUwMSA1LjUwMSAwIDEgMCA1LjQ1LTYuMjQ4SDQuODQ4YS4yNS4yNSAwIDAgMS0uMTc3LS40MjdMNi40NjQgMi4wM1pcIiBmaWxsPVwiI2ZmZlwiLz48L3N2Zz5gLERFU0tUT1BfSUNPTjpDYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0wIDUuOThjMC0xLjg1IDAtMi43NzUuMzk0LTMuNDY2YTMgMyAwIDAgMSAxLjEyLTEuMTJDMi4yMDQgMSAzLjEzIDEgNC45OCAxaDYuMDRjMS44NSAwIDIuNzc1IDAgMy40NjYuMzk0YTMgMyAwIDAgMSAxLjEyIDEuMTJDMTYgMy4yMDQgMTYgNC4xMyAxNiA1Ljk4djEuMDRjMCAxLjg1IDAgMi43NzUtLjM5NCAzLjQ2NmEzIDMgMCAwIDEtMS4xMiAxLjEyQzEzLjc5NiAxMiAxMi44NyAxMiAxMS4wMiAxMkg0Ljk4Yy0xLjg1IDAtMi43NzUgMC0zLjQ2Ni0uMzk0YTMgMyAwIDAgMS0xLjEyLTEuMTJDMCA5Ljc5NiAwIDguODcgMCA3LjAyVjUuOThaTTQuOTggMi41aDYuMDRjLjk1MyAwIDEuNTY4LjAwMSAyLjAzNC4wNDMuNDQ2LjA0LjYwOC4xMDguNjkuMTU0YTEuNSAxLjUgMCAwIDEgLjU1OS41NmMuMDQ2LjA4LjExNC4yNDMuMTU0LjY5LjA0Mi40NjUuMDQzIDEuMDguMDQzIDIuMDMzdjEuMDRjMCAuOTUyLS4wMDEgMS41NjgtLjA0MyAyLjAzNC0uMDQuNDQ2LS4xMDguNjA4LS4xNTQuNjlhMS40OTkgMS40OTkgMCAwIDEtLjU2LjU1OWMtLjA4LjA0Ni0uMjQzLjExNC0uNjkuMTU0LS40NjYuMDQyLTEuMDguMDQzLTIuMDMzLjA0M0g0Ljk4Yy0uOTUyIDAtMS41NjgtLjAwMS0yLjAzNC0uMDQzLS40NDYtLjA0LS42MDgtLjEwOC0uNjktLjE1NGExLjUgMS41IDAgMCAxLS41NTktLjU2Yy0uMDQ2LS4wOC0uMTE0LS4yNDMtLjE1NC0uNjktLjA0Mi0uNDY1LS4wNDMtMS4wOC0uMDQzLTIuMDMzVjUuOThjMC0uOTUyLjAwMS0xLjU2OC4wNDMtMi4wMzQuMDQtLjQ0Ni4xMDgtLjYwOC4xNTQtLjY5YTEuNSAxLjUgMCAwIDEgLjU2LS41NTljLjA4LS4wNDYuMjQzLS4xMTQuNjktLjE1NC40NjUtLjA0MiAxLjA4LS4wNDMgMi4wMzMtLjA0M1pcIiBmaWxsPVwiI2ZmZlwiLz48cGF0aCBkPVwiTTQgMTQuMjVhLjc1Ljc1IDAgMCAxIC43NS0uNzVoNi41YS43NS43NSAwIDAgMSAwIDEuNWgtNi41YS43NS43NSAwIDAgMS0uNzUtLjc1WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsTU9CSUxFX0lDT046Q2A8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTYuNzUgNWExLjI1IDEuMjUgMCAxIDAgMC0yLjUgMS4yNSAxLjI1IDAgMCAwIDAgMi41WlwiIGZpbGw9XCIjZmZmXCIvPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0zIDQuOThjMC0xLjg1IDAtMi43NzUuMzk0LTMuNDY2YTMgMyAwIDAgMSAxLjEyLTEuMTJDNS4yMDQgMCA2LjEzNiAwIDggMHMyLjc5NSAwIDMuNDg2LjM5NGEzIDMgMCAwIDEgMS4xMiAxLjEyQzEzIDIuMjA0IDEzIDMuMTMgMTMgNC45OHY2LjA0YzAgMS44NSAwIDIuNzc1LS4zOTQgMy40NjZhMyAzIDAgMCAxLTEuMTIgMS4xMkMxMC43OTYgMTYgOS44NjQgMTYgOCAxNnMtMi43OTUgMC0zLjQ4Ni0uMzk0YTMgMyAwIDAgMS0xLjEyLTEuMTJDMyAxMy43OTYgMyAxMi44NyAzIDExLjAyVjQuOThabTguNSAwdjYuMDRjMCAuOTUzLS4wMDEgMS41NjgtLjA0MyAyLjAzNC0uMDQuNDQ2LS4xMDguNjA4LS4xNTQuNjlhMS40OTkgMS40OTkgMCAwIDEtLjU2LjU1OWMtLjA4LjA0NS0uMjQyLjExMy0uNjkzLjE1NC0uNDcuMDQyLTEuMDkxLjA0My0yLjA1LjA0My0uOTU5IDAtMS41OC0uMDAxLTIuMDUtLjA0My0uNDUtLjA0LS42MTMtLjEwOS0uNjkzLS4xNTRhMS41IDEuNSAwIDAgMS0uNTYtLjU2Yy0uMDQ2LS4wOC0uMTE0LS4yNDMtLjE1NC0uNjktLjA0Mi0uNDY2LS4wNDMtMS4wOC0uMDQzLTIuMDMzVjQuOThjMC0uOTUyLjAwMS0xLjU2OC4wNDMtMi4wMzQuMDQtLjQ0Ni4xMDgtLjYwOC4xNTQtLjY5YTEuNSAxLjUgMCAwIDEgLjU2LS41NTljLjA4LS4wNDUuMjQzLS4xMTMuNjkzLS4xNTRDNi40MiAxLjUwMSA3LjA0MSAxLjUgOCAxLjVjLjk1OSAwIDEuNTguMDAxIDIuMDUuMDQzLjQ1LjA0LjYxMy4xMDkuNjkzLjE1NGExLjUgMS41IDAgMCAxIC41Ni41NmMuMDQ2LjA4LjExNC4yNDMuMTU0LjY5LjA0Mi40NjUuMDQzIDEuMDguMDQzIDIuMDMzWlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsQVJST1dfRE9XTl9JQ09OOkNgPHN2ZyB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCI+PHBhdGggZD1cIk0yLjI4IDcuNDdhLjc1Ljc1IDAgMCAwLTEuMDYgMS4wNmw1LjI1IDUuMjVhLjc1Ljc1IDAgMCAwIDEuMDYgMGw1LjI1LTUuMjVhLjc1Ljc1IDAgMCAwLTEuMDYtMS4wNmwtMy41NDQgMy41NDNhLjI1LjI1IDAgMCAxLS40MjYtLjE3N1YuNzVhLjc1Ljc1IDAgMCAwLTEuNSAwdjEwLjA4NmEuMjUuMjUgMCAwIDEtLjQyNy4xNzZMMi4yOCA3LjQ3WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsQVJST1dfVVBfUklHSFRfSUNPTjpDYDxzdmcgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE0XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBkPVwiTTQuNSAxLjc1QS43NS43NSAwIDAgMSA1LjI1IDFIMTJhMS41IDEuNSAwIDAgMSAxLjUgMS41djYuNzVhLjc1Ljc1IDAgMCAxLTEuNSAwVjQuMTY0YS4yNS4yNSAwIDAgMC0uNDI3LS4xNzZMNC4wNjEgMTEuNUEuNzUuNzUgMCAwIDEgMyAxMC40NGw3LjUxMy03LjUxM2EuMjUuMjUgMCAwIDAtLjE3Ny0uNDI3SDUuMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaXCIgZmlsbD1cIiNmZmZcIi8+PC9zdmc+YCxBUlJPV19SSUdIVF9JQ09OOkNgPHN2ZyB3aWR0aD1cIjZcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgNiAxNFwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yLjE4MSAxLjA5OWEuNzUuNzUgMCAwIDEgMS4wMjQuMjc5bDIuNDMzIDQuMjU4YTIuNzUgMi43NSAwIDAgMSAwIDIuNzI5bC0yLjQzMyA0LjI1N2EuNzUuNzUgMCAxIDEtMS4zMDMtLjc0NEw0LjMzNSA3LjYyYTEuMjUgMS4yNSAwIDAgMCAwLTEuMjRMMS45MDIgMi4xMjJhLjc1Ljc1IDAgMCAxIC4yOC0xLjAyM1pcIiBmaWxsPVwiI2ZmZlwiLz48L3N2Zz5gLFFSQ09ERV9JQ09OOkNgPHN2ZyB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI1IDI0XCI+PHBhdGggZD1cIk0yMy43NDggOWEuNzQ4Ljc0OCAwIDAgMCAuNzQ4LS43NTJjLS4wMTgtMi41OTYtLjEyOC00LjA3LS43ODQtNS4yMmE2IDYgMCAwIDAtMi4yNC0yLjI0Yy0xLjE1LS42NTYtMi42MjQtLjc2Ni01LjIyLS43ODRhLjc0OC43NDggMCAwIDAtLjc1Mi43NDhjMCAuNDE0LjMzNS43NDkuNzQ4Ljc1MiAxLjAxNS4wMDcgMS44Mi4wMjggMi40OTQuMDg4Ljk5NS4wOSAxLjU2MS4yNTYgMS45ODguNS43LjM5OCAxLjI4Ljk3OCAxLjY3OSAxLjY3OC4yNDMuNDI3LjQxLjk5My40OTggMS45ODguMDYxLjY3NS4wODIgMS40NzkuMDkgMi40OTNhLjc1My43NTMgMCAwIDAgLjc1Ljc0OVpNMy41MjcuNzg4QzQuNjc3LjEzMiA2LjE1Mi4wMjIgOC43NDcuMDA0QS43NDguNzQ4IDAgMCAxIDkuNS43NTJhLjc1My43NTMgMCAwIDEtLjc0OS43NTJjLTEuMDE0LjAwNy0xLjgxOC4wMjgtMi40OTMuMDg4LS45OTUuMDktMS41NjEuMjU2LTEuOTg4LjUtLjcuMzk4LTEuMjguOTc4LTEuNjc5IDEuNjc4LS4yNDMuNDI3LS40MS45OTMtLjQ5OSAxLjk4OC0uMDYuNjc1LS4wODEgMS40NzktLjA4OCAyLjQ5M0EuNzUzLjc1MyAwIDAgMSAxLjI1MiA5YS43NDguNzQ4IDAgMCAxLS43NDgtLjc1MmMuMDE4LTIuNTk2LjEyOC00LjA3Ljc4NC01LjIyYTYgNiAwIDAgMSAyLjI0LTIuMjRaTTEuMjUyIDE1YS43NDguNzQ4IDAgMCAwLS43NDguNzUyYy4wMTggMi41OTYuMTI4IDQuMDcuNzg0IDUuMjJhNiA2IDAgMCAwIDIuMjQgMi4yNGMxLjE1LjY1NiAyLjYyNC43NjYgNS4yMi43ODRhLjc0OC43NDggMCAwIDAgLjc1Mi0uNzQ4Ljc1My43NTMgMCAwIDAtLjc0OS0uNzUyYy0xLjAxNC0uMDA3LTEuODE4LS4wMjgtMi40OTMtLjA4OS0uOTk1LS4wODktMS41NjEtLjI1NS0xLjk4OC0uNDk4YTQuNSA0LjUgMCAwIDEtMS42NzktMS42OGMtLjI0My0uNDI2LS40MS0uOTkyLS40OTktMS45ODctLjA2LS42NzUtLjA4MS0xLjQ3OS0uMDg4LTIuNDkzQS43NTMuNzUzIDAgMCAwIDEuMjUyIDE1Wk0yMi45OTYgMTUuNzQ5YS43NTMuNzUzIDAgMCAxIC43NTItLjc0OWMuNDE1IDAgLjc1MS4zMzguNzQ4Ljc1Mi0uMDE4IDIuNTk2LS4xMjggNC4wNy0uNzg0IDUuMjJhNiA2IDAgMCAxLTIuMjQgMi4yNGMtMS4xNS42NTYtMi42MjQuNzY2LTUuMjIuNzg0YS43NDguNzQ4IDAgMCAxLS43NTItLjc0OGMwLS40MTQuMzM1LS43NDkuNzQ4LS43NTIgMS4wMTUtLjAwNyAxLjgyLS4wMjggMi40OTQtLjA4OS45OTUtLjA4OSAxLjU2MS0uMjU1IDEuOTg4LS40OThhNC41IDQuNSAwIDAgMCAxLjY3OS0xLjY4Yy4yNDMtLjQyNi40MS0uOTkyLjQ5OC0xLjk4Ny4wNjEtLjY3NS4wODItMS40NzkuMDktMi40OTNaXCIgZmlsbD1cIiNmZmZcIi8+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcgNGEyLjUgMi41IDAgMCAwLTIuNSAyLjV2MkEyLjUgMi41IDAgMCAwIDcgMTFoMmEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTJBMi41IDIuNSAwIDAgMCA5IDRIN1ptMiAxLjVIN2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMVpNMTMuNSA2LjVBMi41IDIuNSAwIDAgMSAxNiA0aDJhMi41IDIuNSAwIDAgMSAyLjUgMi41djJBMi41IDIuNSAwIDAgMSAxOCAxMWgtMmEyLjUgMi41IDAgMCAxLTIuNS0yLjV2LTJabTIuNS0xaDJhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFoLTJhMSAxIDAgMCAxLTEtMXYtMmExIDEgMCAwIDEgMS0xWk03IDEzYTIuNSAyLjUgMCAwIDAtMi41IDIuNXYyQTIuNSAyLjUgMCAwIDAgNyAyMGgyYTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMkEyLjUgMi41IDAgMCAwIDkgMTNIN1ptMiAxLjVIN2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMVpcIiBmaWxsPVwiI2ZmZlwiLz48cGF0aCBkPVwiTTEzLjUgMTUuNWMwLS40NjUgMC0uNjk3LjAzOC0uODlhMiAyIDAgMCAxIDEuNTcyLTEuNTcyQzE1LjMwMyAxMyAxNS41MzUgMTMgMTYgMTN2Mi41aC0yLjVaTTE4IDEzYy40NjUgMCAuNjk3IDAgLjg5LjAzOGEyIDIgMCAwIDEgMS41NzIgMS41NzJjLjAzOC4xOTMuMDM4LjQyNS4wMzguODlIMThWMTNaTTE4IDE3LjVoMi41YzAgLjQ2NSAwIC42OTctLjAzOC44OWEyIDIgMCAwIDEtMS41NzIgMS41NzJDMTguNjk3IDIwIDE4LjQ2NSAyMCAxOCAyMHYtMi41Wk0xMy41IDE3LjVIMTZWMjBjLS40NjUgMC0uNjk3IDAtLjg5LS4wMzhhMiAyIDAgMCAxLTEuNTcyLTEuNTcyYy0uMDM4LS4xOTMtLjAzOC0uNDI1LS4wMzgtLjg5WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsU0NBTl9JQ09OOkNgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk0xMCAxNS4yMTZjMCAuNDIyLjM0Ny43NjMuNzY4Ljc0IDEuMjAyLS4wNjQgMi4wMjUtLjIyMiAyLjcxLS42MTNhNS4wMDEgNS4wMDEgMCAwIDAgMS44NjUtMS44NjZjLjM5LS42ODQuNTQ5LTEuNTA3LjYxMy0yLjcwOWEuNzM1LjczNSAwIDAgMC0uNzQtLjc2OC43NjguNzY4IDAgMCAwLS43Ni43MzJjLS4wMDkuMTU3LS4wMi4zMDYtLjAzMi40NDctLjA3My44MTItLjIwNiAxLjI0NC0uMzg0IDEuNTU1LS4zMS41NDUtLjc2MS45OTYtMS4zMDYgMS4zMDYtLjMxMS4xNzgtLjc0My4zMTEtMS41NTUuMzg0LS4xNDEuMDEzLS4yOS4wMjMtLjQ0Ny4wMzJhLjc2OC43NjggMCAwIDAtLjczMi43NlpNMTAgLjc4NGMwIC40MDcuMzI1LjczNy43MzIuNzYuMTU3LjAwOS4zMDYuMDIuNDQ3LjAzMi44MTIuMDczIDEuMjQ0LjIwNiAxLjU1NS4zODRhMy41IDMuNSAwIDAgMSAxLjMwNiAxLjMwNmMuMTc4LjMxMS4zMTEuNzQzLjM4NCAxLjU1NS4wMTMuMTQyLjAyMy4yOS4wMzIuNDQ3YS43NjguNzY4IDAgMCAwIC43Ni43MzIuNzM0LjczNCAwIDAgMCAuNzQtLjc2OGMtLjA2NC0xLjIwMi0uMjIyLTIuMDI1LS42MTMtMi43MUE1IDUgMCAwIDAgMTMuNDc3LjY1OGMtLjY4NC0uMzktMS41MDctLjU0OS0yLjcwOS0uNjEzYS43MzUuNzM1IDAgMCAwLS43NjguNzRaTTUuMjMyLjA0NEEuNzM1LjczNSAwIDAgMSA2IC43ODRhLjc2OC43NjggMCAwIDEtLjczMi43NmMtLjE1Ny4wMDktLjMwNS4wMi0uNDQ3LjAzMi0uODEyLjA3My0xLjI0NC4yMDYtMS41NTUuMzg0QTMuNSAzLjUgMCAwIDAgMS45NiAzLjI2NmMtLjE3OC4zMTEtLjMxMS43NDMtLjM4NCAxLjU1NS0uMDEzLjE0Mi0uMDIzLjI5LS4wMzIuNDQ3QS43NjguNzY4IDAgMCAxIC43ODQgNmEuNzM1LjczNSAwIDAgMS0uNzQtLjc2OGMuMDY0LTEuMjAyLjIyMi0yLjAyNS42MTMtMi43MUE1IDUgMCAwIDEgMi41MjMuNjU4QzMuMjA3LjI2NyA0LjAzLjEwOCA1LjIzMy4wNDRaTTUuMjY4IDE0LjQ1NmEuNzY4Ljc2OCAwIDAgMSAuNzMyLjc2LjczNC43MzQgMCAwIDEtLjc2OC43NGMtMS4yMDItLjA2NC0yLjAyNS0uMjIyLTIuNzEtLjYxM2E1IDUgMCAwIDEtMS44NjUtMS44NjZjLS4zOS0uNjg0LS41NDktMS41MDctLjYxMy0yLjcwOUEuNzM1LjczNSAwIDAgMSAuNzg0IDEwYy40MDcgMCAuNzM3LjMyNS43Ni43MzIuMDA5LjE1Ny4wMi4zMDYuMDMyLjQ0Ny4wNzMuODEyLjIwNiAxLjI0NC4zODQgMS41NTVhMy41IDMuNSAwIDAgMCAxLjMwNiAxLjMwNmMuMzExLjE3OC43NDMuMzExIDEuNTU1LjM4NC4xNDIuMDEzLjI5LjAyMy40NDcuMDMyWlwiLz48L3N2Zz5gLENIRUNLTUFSS19JQ09OOkNgPHN2ZyB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEzIDEyXCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyLjE1NS4xMzJhLjc1Ljc1IDAgMCAxIC4yMzIgMS4wMzVMNS44MjEgMTEuNTM1YTEgMSAwIDAgMS0xLjYyNi4wOUwuNjY1IDcuMjFhLjc1Ljc1IDAgMSAxIDEuMTctLjkzN0w0LjcxIDkuODY3YS4yNS4yNSAwIDAgMCAuNDA2LS4wMjNMMTEuMTIuMzY0YS43NS43NSAwIDAgMSAxLjAzNS0uMjMyWlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPmAsU0VBUkNIX0lDT046Q2A8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMVwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMi40MzIgMTMuOTkyYy0uMzU0LS4zNTMtLjkxLS4zODItMS4zNS0uMTQ2YTUuNSA1LjUgMCAxIDEgMi4yNjUtMi4yNjVjLS4yMzcuNDQxLS4yMDguOTk3LjE0NSAxLjM1bDMuMjk2IDMuMjk2YS43NS43NSAwIDEgMS0xLjA2IDEuMDYxbC0zLjI5Ni0zLjI5NlptLjA2LTVhNCA0IDAgMSAxLTggMCA0IDQgMCAwIDEgOCAwWlwiIGZpbGw9XCIjOTQ5RTlFXCIvPjwvc3ZnPmAsV0FMTEVUX1BMQUNFSE9MREVSOkNgPHN2ZyB3aWR0aD1cIjYwXCIgaGVpZ2h0PVwiNjBcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgNjAgNjBcIj48ZyBjbGlwLXBhdGg9XCJ1cmwoI3EpXCI+PHBhdGggaWQ9XCJ3YWxsZXQtcGxhY2Vob2xkZXItZmlsbFwiIGZpbGw9XCIjZmZmXCIgZD1cIk0wIDI0LjljMC05LjI1MSAwLTEzLjg3NyAxLjk3LTE3LjMzMmExNSAxNSAwIDAgMSA1LjU5OC01LjU5N0MxMS4wMjMgMCAxNS42NDggMCAyNC45IDBoMTAuMmM5LjI1MiAwIDEzLjg3NyAwIDE3LjMzMiAxLjk3YTE1IDE1IDAgMCAxIDUuNTk3IDUuNTk4QzYwIDExLjAyMyA2MCAxNS42NDggNjAgMjQuOXYxMC4yYzAgOS4yNTIgMCAxMy44NzctMS45NyAxNy4zMzJhMTUuMDAxIDE1LjAwMSAwIDAgMS01LjU5OCA1LjU5N0M0OC45NzcgNjAgNDQuMzUyIDYwIDM1LjEgNjBIMjQuOWMtOS4yNTEgMC0xMy44NzcgMC0xNy4zMzItMS45N2ExNSAxNSAwIDAgMS01LjU5Ny01LjU5OEMwIDQ4Ljk3NyAwIDQ0LjM1MiAwIDM1LjFWMjQuOVpcIi8+PHBhdGggaWQ9XCJ3YWxsZXQtcGxhY2Vob2xkZXItZGFzaFwiIHN0cm9rZT1cIiMwMDBcIiBzdHJva2UtZGFzaGFycmF5PVwiNCA0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgZD1cIk0uMDQgNDEuNzA4YTIzMS41OTggMjMxLjU5OCAwIDAgMS0uMDM5LTQuNDAzbC43NS0uMDAxTC43NSAzNS4xdi0yLjU1SDB2LTUuMWguNzVWMjQuOWwuMDAxLTIuMjA0aC0uNzVjLjAwMy0xLjYxNy4wMTEtMy4wNzcuMDM5LTQuNDA0bC43NS4wMTZjLjAzNC0xLjY1LjA5OS0zLjA4LjIxOC00LjM0M2wtLjc0Ni0uMDdjLjE1OC0xLjY3OC40MTItMy4wODMuODItNC4zMTZsLjcxMy4yMzZjLjIyNC0uNjc5LjQ5Ny0xLjI5Ni44MjctMS44NzVhMTQuMjUgMTQuMjUgMCAwIDEgMS4wNS0xLjU4NUwzLjA3NiA1LjlBMTUgMTUgMCAwIDEgNS45IDMuMDc2bC40NTUuNTk2YTE0LjI1IDE0LjI1IDAgMCAxIDEuNTg1LTEuMDVjLjU3OS0uMzMgMS4xOTYtLjYwMyAxLjg3NS0uODI3bC0uMjM2LS43MTJDMTAuODEyLjY3NCAxMi4yMTcuNDIgMTMuODk1LjI2MmwuMDcuNzQ2QzE1LjIzLjg5IDE2LjY2LjgyNCAxOC4zMDguNzlsLS4wMTYtLjc1QzE5LjYyLjAxMiAyMS4wOC4wMDQgMjIuNjk1LjAwMWwuMDAxLjc1TDI0LjkuNzVoMi41NVYwaDUuMXYuNzVoMi41NWwyLjIwNC4wMDF2LS43NWMxLjYxNy4wMDMgMy4wNzcuMDExIDQuNDA0LjAzOWwtLjAxNi43NWMxLjY1LjAzNCAzLjA4LjA5OSA0LjM0My4yMThsLjA3LS43NDZjMS42NzguMTU4IDMuMDgzLjQxMiA0LjMxNi44MmwtLjIzNi43MTNjLjY3OS4yMjQgMS4yOTYuNDk3IDEuODc1LjgyN2ExNC4yNCAxNC4yNCAwIDAgMSAxLjU4NSAxLjA1bC40NTUtLjU5NkExNC45OTkgMTQuOTk5IDAgMCAxIDU2LjkyNCA1LjlsLS41OTYuNDU1Yy4zODQuNTAyLjczNSAxLjAzMiAxLjA1IDEuNTg1LjMzLjU3OS42MDIgMS4xOTYuODI3IDEuODc1bC43MTItLjIzNmMuNDA5IDEuMjMzLjY2MyAyLjYzOC44MjIgNC4zMTZsLS43NDcuMDdjLjExOSAxLjI2NC4xODQgMi42OTQuMjE4IDQuMzQzbC43NS0uMDE2Yy4wMjggMS4zMjcuMDM2IDIuNzg3LjAzOSA0LjQwM2wtLjc1LjAwMS4wMDEgMi4yMDR2Mi41NUg2MHY1LjFoLS43NXYyLjU1bC0uMDAxIDIuMjA0aC43NWEyMzEuNDMxIDIzMS40MzEgMCAwIDEtLjAzOSA0LjQwNGwtLjc1LS4wMTZjLS4wMzQgMS42NS0uMDk5IDMuMDgtLjIxOCA0LjM0M2wuNzQ3LjA3Yy0uMTU5IDEuNjc4LS40MTMgMy4wODMtLjgyMiA0LjMxNmwtLjcxMi0uMjM2YTEwLjI1NSAxMC4yNTUgMCAwIDEtLjgyNyAxLjg3NSAxNC4yNDIgMTQuMjQyIDAgMCAxLTEuMDUgMS41ODVsLjU5Ni40NTVhMTQuOTk3IDE0Ljk5NyAwIDAgMS0yLjgyNCAyLjgyNGwtLjQ1NS0uNTk2Yy0uNTAyLjM4NC0xLjAzMi43MzUtMS41ODUgMS4wNS0uNTc5LjMzLTEuMTk2LjYwMi0xLjg3NS44MjdsLjIzNi43MTJjLTEuMjMzLjQwOS0yLjYzOC42NjMtNC4zMTYuODIybC0uMDctLjc0N2MtMS4yNjQuMTE5LTIuNjk0LjE4NC00LjM0My4yMThsLjAxNi43NWMtMS4zMjcuMDI4LTIuNzg3LjAzNi00LjQwMy4wMzlsLS4wMDEtLjc1LTIuMjA0LjAwMWgtMi41NVY2MGgtNS4xdi0uNzVIMjQuOWwtMi4yMDQtLjAwMXYuNzVhMjMxLjQzMSAyMzEuNDMxIDAgMCAxLTQuNDA0LS4wMzlsLjAxNi0uNzVjLTEuNjUtLjAzNC0zLjA4LS4wOTktNC4zNDMtLjIxOGwtLjA3Ljc0N2MtMS42NzgtLjE1OS0zLjA4My0uNDEzLTQuMzE2LS44MjJsLjIzNi0uNzEyYTEwLjI1OCAxMC4yNTggMCAwIDEtMS44NzUtLjgyNyAxNC4yNTIgMTQuMjUyIDAgMCAxLTEuNTg1LTEuMDVsLS40NTUuNTk2QTE0Ljk5OSAxNC45OTkgMCAwIDEgMy4wNzYgNTQuMWwuNTk2LS40NTVhMTQuMjQgMTQuMjQgMCAwIDEtMS4wNS0xLjU4NSAxMC4yNTkgMTAuMjU5IDAgMCAxLS44MjctMS44NzVsLS43MTIuMjM2Qy42NzQgNDkuMTg4LjQyIDQ3Ljc4My4yNjIgNDYuMTA1bC43NDYtLjA3Qy44OSA0NC43Ny44MjQgNDMuMzQuNzkgNDEuNjkybC0uNzUuMDE2WlwiLz48cGF0aCBmaWxsPVwiI2ZmZlwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTM1LjY0MyAzMi4xNDVjLS4yOTctLjc0My0uNDQ1LTEuMTE0LS40MDEtMS4yNzVhLjQyLjQyIDAgMCAxIC4xODItLjI3Yy4xMzQtLjEuNDYzLS4xIDEuMTIzLS4xLjc0MiAwIDEuNDk5LjA0NiAyLjIzNi0uMDVhNiA2IDAgMCAwIDUuMTY2LTUuMTY2Yy4wNTEtLjM5LjA1MS0uODU1LjA1MS0xLjc4NCAwLS45MjggMC0xLjM5My0uMDUxLTEuNzgzYTYgNiAwIDAgMC01LjE2Ni01LjE2NWMtLjM5LS4wNTItLjg1NC0uMDUyLTEuNzgzLS4wNTJoLTcuNzJjLTQuOTM0IDAtNy40MDEgMC05LjI0NCAxLjA1MWE4IDggMCAwIDAtMi45ODUgMi45ODZDMTYuMDU3IDIyLjI4IDE2LjAwMyAyNC41OCAxNiAyOSAxNS45OTggMzEuMDc1IDE2IDMzLjE1IDE2IDM1LjIyNEE3Ljc3OCA3Ljc3OCAwIDAgMCAyMy43NzggNDNIMjguNWMxLjM5NCAwIDIuMDkgMCAyLjY3LS4xMTZhNiA2IDAgMCAwIDQuNzE1LTQuNzE0Yy4xMTUtLjU4LjExNS0xLjMwMS4xMTUtMi43NDQgMC0xLjMxIDAtMS45NjQtLjExNC0yLjQ5YTQuOTk4IDQuOTk4IDAgMCAwLS4yNDMtLjc5MlpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPjxwYXRoIGZpbGw9XCIjOUVBOUE5XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMzcgMThoLTcuNzJjLTIuNDk0IDAtNC4yNjYuMDAyLTUuNjQ3LjEyNi0xLjM2MS4xMjItMi4xOTcuMzU0LTIuODU0LjcyOGE2LjUgNi41IDAgMCAwLTIuNDI1IDIuNDI2Yy0uMzc1LjY1Ny0uNjA3IDEuNDkyLS43MjkgMi44NTMtLjExIDEuMjMzLS4xMjMgMi43NzctLjEyNSA0Ljg2NyAwIC43IDAgMS4wNS4wOTcgMS4xODEuMDk2LjEzLjE4Mi4xODEuMzQzLjIuMTYzLjAyLjUxOC0uMTggMS4yMjktLjU4MWE2LjE5NSA2LjE5NSAwIDAgMSAzLjA1My0uOEgzN2MuOTc3IDAgMS4zMi0uMDAzIDEuNTg3LS4wMzhhNC41IDQuNSAwIDAgMCAzLjg3NC0zLjg3NGMuMDM2LS4yNjguMDM5LS42MTEuMDM5LTEuNTg4IDAtLjk3Ni0uMDAzLTEuMzE5LS4wMzgtMS41ODdhNC41IDQuNSAwIDAgMC0zLjg3NS0zLjg3NEMzOC4zMiAxOC4wMDQgMzcuOTc3IDE4IDM3IDE4Wm0tNy4zNjQgMTIuNWgtNy40MTRhNC43MjIgNC43MjIgMCAwIDAtNC43MjIgNC43MjMgNi4yNzggNi4yNzggMCAwIDAgNi4yNzggNi4yNzhIMjguNWMxLjQ2NiAwIDEuOTgtLjAwOCAyLjM3OC0uMDg3YTQuNSA0LjUgMCAwIDAgMy41MzUtMy41MzZjLjA4LS4zOTcuMDg3LS45MzMuMDg3LTIuNDUxIDAtMS4zOTEtLjAwOS0xLjg0My0uMDgtMi4xN2EzLjUgMy41IDAgMCAwLTIuNjc2LTIuNjc2Yy0uMzI4LS4wNzItLjc2Mi0uMDgtMi4xMDgtLjA4WlwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD1cInFcIj48cGF0aCBmaWxsPVwiI2ZmZlwiIGQ9XCJNMCAwaDYwdjYwSDB6XCIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsR0xPQkVfSUNPTjpDYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZmlsbD1cIiNmZmZcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNS41IDhhNy41IDcuNSAwIDEgMS0xNSAwIDcuNSA3LjUgMCAwIDEgMTUgMFptLTIuMTEzLjc1Yy4zMDEgMCAuNTM1LjI2NC40Ny41NThhNi4wMSA2LjAxIDAgMCAxLTIuODY3IDMuODk2Yy0uMjAzLjExNi0uNDItLjEwMy0uMzM0LS4zMi40MDktMS4wMTguNjkxLTIuMjc0Ljc5Ny0zLjY1N2EuNTEyLjUxMiAwIDAgMSAuNTA3LS40NzdoMS40MjdabS40Ny0yLjA1OGMuMDY1LjI5NC0uMTY5LjU1OC0uNDcuNTU4SDExLjk2YS41MTIuNTEyIDAgMCAxLS41MDctLjQ3N2MtLjEwNi0xLjM4My0uMzg5LTIuNjM4LS43OTctMy42NTYtLjA4Ny0uMjE3LjEzLS40MzcuMzMzLS4zMmE2LjAxIDYuMDEgMCAwIDEgMi44NjggMy44OTVabS00LjQwMi41NThjLjI4NiAwIC41MTUtLjI0LjQ5LS41MjUtLjEyMS0xLjM2MS0uNDI5LTIuNTM0LS44My0zLjM5My0uMjc5LS42LS41NDktLjkzLS43NTMtMS4xMTJhLjUzNS41MzUgMCAwIDAtLjcyNCAwYy0uMjA0LjE4Mi0uNDc0LjUxMy0uNzU0IDEuMTEyLS40Ljg1OS0uNzA4IDIuMDMyLS44MjggMy4zOTNhLjQ4Ni40ODYgMCAwIDAgLjQ5LjUyNWgyLjkwOVptLTUuNDE1IDBjLjI2NyAwIC40ODYtLjIxLjUwNy0uNDc3LjEwNi0xLjM4My4zODktMi42MzguNzk3LTMuNjU2LjA4Ny0uMjE3LS4xMy0uNDM3LS4zMzMtLjMyYTYuMDEgNi4wMSAwIDAgMC0yLjg2OCAzLjg5NWMtLjA2NS4yOTQuMTY5LjU1OC40Ny41NThINC4wNFpNMi4xNDMgOS4zMDhjLS4wNjUtLjI5NC4xNjktLjU1OC40Ny0uNTU4SDQuMDRjLjI2NyAwIC40ODYuMjEuNTA3LjQ3Ny4xMDYgMS4zODMuMzg5IDIuNjM5Ljc5NyAzLjY1Ny4wODcuMjE3LS4xMy40MzYtLjMzMy4zMmE2LjAxIDYuMDEgMCAwIDEtMi44NjgtMy44OTZabTMuOTEzLS4wMzNhLjQ4Ni40ODYgMCAwIDEgLjQ5LS41MjVoMi45MDljLjI4NiAwIC41MTUuMjQuNDkuNTI1LS4xMjEgMS4zNjEtLjQyOCAyLjUzNS0uODMgMy4zOTQtLjI3OS42LS41NDkuOTMtLjc1MyAxLjExMmEuNTM1LjUzNSAwIDAgMS0uNzI0IDBjLS4yMDQtLjE4Mi0uNDc0LS41MTMtLjc1NC0xLjExMi0uNC0uODU5LS43MDgtMi4wMzMtLjgyOC0zLjM5NFpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPmB9LHB0PWdgLndjbS10b29sYmFyLXBsYWNlaG9sZGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoxMDBweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0td2NtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgKiAuOSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tYmFja2dyb3VuZC1jb2xvcik7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS53Y20tdG9vbGJhcntoZWlnaHQ6MzhweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjVweCAxNXB4IDVweCA1cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyfS53Y20tdG9vbGJhciBpbWcsLndjbS10b29sYmFyIHN2Z3toZWlnaHQ6MjhweDtvYmplY3QtcG9zaXRpb246bGVmdCBjZW50ZXI7b2JqZWN0LWZpdDpjb250YWlufSN3Y20td2MtbG9nbyBwYXRoe2ZpbGw6dmFyKC0td2NtLWFjY2VudC1maWxsLWNvbG9yKX1idXR0b257d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOnZhcigtLXdjbS1pY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtib3JkZXI6MDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3ItYmctMSk7Ym94LXNoYWRvdzowIDAgMCAxcHggdmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3ItYmctMil9YnV0dG9uIHN2Z3tkaXNwbGF5OmJsb2NrO29iamVjdC1wb3NpdGlvbjpjZW50ZXJ9YnV0dG9uIHBhdGh7ZmlsbDp2YXIoLS13Y20tY29sb3ItZmctMSl9LndjbS10b29sYmFyIGRpdntkaXNwbGF5OmZsZXh9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3ItYmctMil9fWA7dmFyIGd0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx2dD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHV0PShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/dnQobyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJmd0KG8scix0KSx0fTtsZXQgZmU9Y2xhc3MgZXh0ZW5kcyB3e3JlbmRlcigpe3JldHVybiBuYDxkaXYgY2xhc3M9XCJ3Y20tdG9vbGJhci1wbGFjZWhvbGRlclwiPjwvZGl2PjxkaXYgY2xhc3M9XCJ3Y20tdG9vbGJhclwiPiR7di5XQUxMRVRfQ09OTkVDVF9MT0dPfSA8YnV0dG9uIEBjbGljaz1cIiR7Z2UuY2xvc2V9XCI+JHt2LkNST1NTX0lDT059PC9idXR0b24+PC9kaXY+YH19O2ZlLnN0eWxlcz1baC5nbG9iYWxDc3MscHRdLGZlPXV0KFtwKFwid2NtLW1vZGFsLWJhY2tjYXJkXCIpXSxmZSk7Y29uc3QgYnQ9Z2BtYWlue3BhZGRpbmc6MjBweDtwYWRkaW5nLXRvcDowO3dpZHRoOjEwMCV9YDt2YXIgZnQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LHh0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IseXQ9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT94dChvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmZnQobyxyLHQpLHR9O2xldCB4ZT1jbGFzcyBleHRlbmRzIHd7cmVuZGVyKCl7cmV0dXJuIG5gPG1haW4+PHNsb3Q+PC9zbG90PjwvbWFpbj5gfX07eGUuc3R5bGVzPVtoLmdsb2JhbENzcyxidF0seGU9eXQoW3AoXCJ3Y20tbW9kYWwtY29udGVudFwiKV0seGUpO2NvbnN0ICR0PWdgZm9vdGVye3BhZGRpbmc6MTBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmluaGVyaXQ7anVzdGlmeS1jb250ZW50OmluaGVyaXQ7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0td2NtLWNvbG9yLWJnLTIpfWA7dmFyIEN0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxrdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLE90PShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/a3QobyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJkN0KG8scix0KSx0fTtsZXQgeWU9Y2xhc3MgZXh0ZW5kcyB3e3JlbmRlcigpe3JldHVybiBuYDxmb290ZXI+PHNsb3Q+PC9zbG90PjwvZm9vdGVyPmB9fTt5ZS5zdHlsZXM9W2guZ2xvYmFsQ3NzLCR0XSx5ZT1PdChbcChcIndjbS1tb2RhbC1mb290ZXJcIildLHllKTtjb25zdCBXdD1nYGhlYWRlcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53Y20tYm9yZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXdjbS1jb2xvci1iZy0yKTttYXJnaW4tYm90dG9tOjIwcHh9aGVhZGVyIGJ1dHRvbntwYWRkaW5nOjE1cHggMjBweH1oZWFkZXIgYnV0dG9uOmFjdGl2ZXtvcGFjaXR5Oi41fUBtZWRpYShob3Zlcjpob3Zlcil7aGVhZGVyIGJ1dHRvbjpob3ZlcntvcGFjaXR5Oi41fX0ud2NtLWJhY2stYnRue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MH0ud2NtLWFjdGlvbi1idG57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH1wYXRoe2ZpbGw6dmFyKC0td2NtLWFjY2VudC1jb2xvcil9YDt2YXIgSXQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LEV0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsdGU9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9FdChvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmSXQobyxyLHQpLHR9O2xldCBTPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50aXRsZT1cIlwiLHRoaXMub25BY3Rpb249dm9pZCAwLHRoaXMuYWN0aW9uSWNvbj12b2lkIDAsdGhpcy5ib3JkZXI9ITF9YmFja0J0blRlbXBsYXRlKCl7cmV0dXJuIG5gPGJ1dHRvbiBjbGFzcz1cIndjbS1iYWNrLWJ0blwiIEBjbGljaz1cIiR7eC5nb0JhY2t9XCI+JHt2LkJBQ0tfSUNPTn08L2J1dHRvbj5gfWFjdGlvbkJ0blRlbXBsYXRlKCl7cmV0dXJuIG5gPGJ1dHRvbiBjbGFzcz1cIndjbS1hY3Rpb24tYnRuXCIgQGNsaWNrPVwiJHt0aGlzLm9uQWN0aW9ufVwiPiR7dGhpcy5hY3Rpb25JY29ufTwvYnV0dG9uPmB9cmVuZGVyKCl7Y29uc3QgZT17XCJ3Y20tYm9yZGVyXCI6dGhpcy5ib3JkZXJ9LG89eC5zdGF0ZS5oaXN0b3J5Lmxlbmd0aD4xLHI9dGhpcy50aXRsZT9uYDx3Y20tdGV4dCB2YXJpYW50PVwiYmlnLWJvbGRcIj4ke3RoaXMudGl0bGV9PC93Y20tdGV4dD5gOm5gPHNsb3Q+PC9zbG90PmA7cmV0dXJuIG5gPGhlYWRlciBjbGFzcz1cIiR7UChlKX1cIj4ke28/dGhpcy5iYWNrQnRuVGVtcGxhdGUoKTpudWxsfSAke3J9ICR7dGhpcy5vbkFjdGlvbj90aGlzLmFjdGlvbkJ0blRlbXBsYXRlKCk6bnVsbH08L2hlYWRlcj5gfX07Uy5zdHlsZXM9W2guZ2xvYmFsQ3NzLFd0XSx0ZShbZCgpXSxTLnByb3RvdHlwZSxcInRpdGxlXCIsMiksdGUoW2QoKV0sUy5wcm90b3R5cGUsXCJvbkFjdGlvblwiLDIpLHRlKFtkKCldLFMucHJvdG90eXBlLFwiYWN0aW9uSWNvblwiLDIpLHRlKFtkKHt0eXBlOkJvb2xlYW59KV0sUy5wcm90b3R5cGUsXCJib3JkZXJcIiwyKSxTPXRlKFtwKFwid2NtLW1vZGFsLWhlYWRlclwiKV0sUyk7Y29uc3QgYz17TU9CSUxFX0JSRUFLUE9JTlQ6NjAwLFdDTV9SRUNFTlRfV0FMTEVUX0RBVEE6XCJXQ01fUkVDRU5UX1dBTExFVF9EQVRBXCIsRVhQTE9SRVJfV0FMTEVUX1VSTDpcImh0dHBzOi8vZXhwbG9yZXIud2FsbGV0Y29ubmVjdC5jb20vP3R5cGU9d2FsbGV0XCIsZ2V0U2hhZG93Um9vdEVsZW1lbnQoZSxvKXtjb25zdCByPWUucmVuZGVyUm9vdC5xdWVyeVNlbGVjdG9yKG8pO2lmKCFyKXRocm93IG5ldyBFcnJvcihgJHtvfSBub3QgZm91bmRgKTtyZXR1cm4gcn0sZ2V0V2FsbGV0SWNvbih7aWQ6ZSxpbWFnZV9pZDpvfSl7Y29uc3R7d2FsbGV0SW1hZ2VzOnJ9PXouc3RhdGU7cmV0dXJuIHIhPW51bGwmJnJbZV0/cltlXTpvP1cuZ2V0V2FsbGV0SW1hZ2VVcmwobyk6XCJcIn0sZ2V0V2FsbGV0TmFtZShlLG89ITEpe3JldHVybiBvJiZlLmxlbmd0aD44P2Ake2Uuc3Vic3RyaW5nKDAsOCl9Li5gOmV9LGlzTW9iaWxlQW5pbWF0aW9uKCl7cmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoPD1jLk1PQklMRV9CUkVBS1BPSU5UfSxhc3luYyBwcmVsb2FkSW1hZ2UoZSl7Y29uc3Qgbz1uZXcgUHJvbWlzZSgocixhKT0+e2NvbnN0IHQ9bmV3IEltYWdlO3Qub25sb2FkPXIsdC5vbmVycm9yPWEsdC5jcm9zc09yaWdpbj1cImFub255bW91c1wiLHQuc3JjPWV9KTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtvLG0ud2FpdCgzZTMpXSl9LGdldEVycm9yTWVzc2FnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTpcIlVua25vd24gRXJyb3JcIn0sZGVib3VuY2UoZSxvPTUwMCl7bGV0IHI7cmV0dXJuKC4uLmEpPT57ZnVuY3Rpb24gdCgpe2UoLi4uYSl9ciYmY2xlYXJUaW1lb3V0KHIpLHI9c2V0VGltZW91dCh0LG8pfX0saGFuZGxlTW9iaWxlTGlua2luZyhlKXtjb25zdHt3YWxsZXRDb25uZWN0VXJpOm99PVIuc3RhdGUse21vYmlsZTpyLG5hbWU6YX09ZSx0PXI/Lm5hdGl2ZSxsPXI/LnVuaXZlcnNhbDtjLnNldFJlY2VudFdhbGxldChlKTtmdW5jdGlvbiBpKHMpe2xldCAkPVwiXCI7dD8kPW0uZm9ybWF0VW5pdmVyc2FsVXJsKHQscyxhKTpsJiYoJD1tLmZvcm1hdE5hdGl2ZVVybChsLHMsYSkpLG0ub3BlbkhyZWYoJCxcIl9zZWxmXCIpfW8mJmkobyl9LGhhbmRsZUFuZHJvaWRMaW5raW5nKCl7Y29uc3R7d2FsbGV0Q29ubmVjdFVyaTplfT1SLnN0YXRlO2UmJihtLnNldFdhbGxldENvbm5lY3RBbmRyb2lkRGVlcExpbmsoZSksbS5vcGVuSHJlZihlLFwiX3NlbGZcIikpfSxhc3luYyBoYW5kbGVVcmlDb3B5KCl7Y29uc3R7d2FsbGV0Q29ubmVjdFVyaTplfT1SLnN0YXRlO2lmKGUpdHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpLE4ub3BlblRvYXN0KFwiTGluayBjb3BpZWRcIixcInN1Y2Nlc3NcIil9Y2F0Y2h7Ti5vcGVuVG9hc3QoXCJGYWlsZWQgdG8gY29weVwiLFwiZXJyb3JcIil9fSxnZXRDdXN0b21JbWFnZVVybHMoKXtjb25zdHt3YWxsZXRJbWFnZXM6ZX09ei5zdGF0ZSxvPU9iamVjdC52YWx1ZXMoZT8/e30pO3JldHVybiBPYmplY3QudmFsdWVzKG8pfSx0cnVuY2F0ZShlLG89OCl7cmV0dXJuIGUubGVuZ3RoPD1vP2U6YCR7ZS5zdWJzdHJpbmcoMCw0KX0uLi4ke2Uuc3Vic3RyaW5nKGUubGVuZ3RoLTQpfWB9LHNldFJlY2VudFdhbGxldChlKXt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oYy5XQ01fUkVDRU5UX1dBTExFVF9EQVRBLEpTT04uc3RyaW5naWZ5KGUpKX1jYXRjaHtjb25zb2xlLmluZm8oXCJVbmFibGUgdG8gc2V0IHJlY2VudCB3YWxsZXRcIil9fSxnZXRSZWNlbnRXYWxsZXQoKXt0cnl7Y29uc3QgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShjLldDTV9SRUNFTlRfV0FMTEVUX0RBVEEpO3JldHVybiBlP0pTT04ucGFyc2UoZSk6dm9pZCAwfWNhdGNoe2NvbnNvbGUuaW5mbyhcIlVuYWJsZSB0byBnZXQgcmVjZW50IHdhbGxldFwiKX19LGNhc2VTYWZlSW5jbHVkZXMoZSxvKXtyZXR1cm4gZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKG8udG9VcHBlckNhc2UoKSl9LG9wZW5XYWxsZXRFeHBsb3JlclVybCgpe20ub3BlbkhyZWYoYy5FWFBMT1JFUl9XQUxMRVRfVVJMLFwiX2JsYW5rXCIpfSxnZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKXtjb25zdHtkZXNrdG9wOmUsbW9iaWxlOm99PW0uZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHI9Qm9vbGVhbihlPy5uYXRpdmUpLGE9Qm9vbGVhbihlPy51bml2ZXJzYWwpLHQ9Qm9vbGVhbihvPy5uYXRpdmUpfHxCb29sZWFuKG8/LnVuaXZlcnNhbCk7cmV0dXJue2lzRGVza3RvcDpyLGlzTW9iaWxlOnQsaXNXZWI6YX19LGdvVG9Db25uZWN0aW5nVmlldyhlKXt4LnNldERhdGEoe1dhbGxldDplfSk7Y29uc3Qgbz1tLmlzTW9iaWxlKCkse2lzRGVza3RvcDpyLGlzV2ViOmEsaXNNb2JpbGU6dH09Yy5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKTtvP3Q/eC5wdXNoKFwiTW9iaWxlQ29ubmVjdGluZ1wiKTphP3gucHVzaChcIldlYkNvbm5lY3RpbmdcIik6eC5wdXNoKFwiSW5zdGFsbFdhbGxldFwiKTpyP3gucHVzaChcIkRlc2t0b3BDb25uZWN0aW5nXCIpOmE/eC5wdXNoKFwiV2ViQ29ubmVjdGluZ1wiKTp0P3gucHVzaChcIk1vYmlsZVFyY29kZUNvbm5lY3RpbmdcIik6eC5wdXNoKFwiSW5zdGFsbFdhbGxldFwiKX19LE10PWdgLndjbS1yb3V0ZXJ7b3ZlcmZsb3c6aGlkZGVuO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0ud2NtLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1gO3ZhciBMdD1PYmplY3QuZGVmaW5lUHJvcGVydHksUnQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciwkZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP1J0KG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZMdChvLHIsdCksdH07bGV0IG9lPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy52aWV3PXguc3RhdGUudmlldyx0aGlzLnByZXZWaWV3PXguc3RhdGUudmlldyx0aGlzLnVuc3Vic2NyaWJlPXZvaWQgMCx0aGlzLm9sZEhlaWdodD1cIjBweFwiLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwLHRoaXMudW5zdWJzY3JpYmU9eC5zdWJzY3JpYmUoZT0+e3RoaXMudmlldyE9PWUudmlldyYmdGhpcy5vbkNoYW5nZVJvdXRlKCl9KX1maXJzdFVwZGF0ZWQoKXt0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoW2VdKT0+e2NvbnN0IG89YCR7ZS5jb250ZW50UmVjdC5oZWlnaHR9cHhgO3RoaXMub2xkSGVpZ2h0IT09XCIwcHhcIiYmSCh0aGlzLnJvdXRlckVsLHtoZWlnaHQ6W3RoaXMub2xkSGVpZ2h0LG9dfSx7ZHVyYXRpb246LjJ9KSx0aGlzLm9sZEhlaWdodD1vfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuY29udGVudEVsKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlLG87KGU9dGhpcy51bnN1YnNjcmliZSk9PW51bGx8fGUuY2FsbCh0aGlzKSwobz10aGlzLnJlc2l6ZU9ic2VydmVyKT09bnVsbHx8by5kaXNjb25uZWN0KCl9Z2V0IHJvdXRlckVsKCl7cmV0dXJuIGMuZ2V0U2hhZG93Um9vdEVsZW1lbnQodGhpcyxcIi53Y20tcm91dGVyXCIpfWdldCBjb250ZW50RWwoKXtyZXR1cm4gYy5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLFwiLndjbS1jb250ZW50XCIpfXZpZXdUZW1wbGF0ZSgpe3N3aXRjaCh0aGlzLnZpZXcpe2Nhc2VcIkNvbm5lY3RXYWxsZXRcIjpyZXR1cm4gbmA8d2NtLWNvbm5lY3Qtd2FsbGV0LXZpZXc+PC93Y20tY29ubmVjdC13YWxsZXQtdmlldz5gO2Nhc2VcIkRlc2t0b3BDb25uZWN0aW5nXCI6cmV0dXJuIG5gPHdjbS1kZXNrdG9wLWNvbm5lY3Rpbmctdmlldz48L3djbS1kZXNrdG9wLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2VcIk1vYmlsZUNvbm5lY3RpbmdcIjpyZXR1cm4gbmA8d2NtLW1vYmlsZS1jb25uZWN0aW5nLXZpZXc+PC93Y20tbW9iaWxlLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2VcIldlYkNvbm5lY3RpbmdcIjpyZXR1cm4gbmA8d2NtLXdlYi1jb25uZWN0aW5nLXZpZXc+PC93Y20td2ViLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2VcIk1vYmlsZVFyY29kZUNvbm5lY3RpbmdcIjpyZXR1cm4gbmA8d2NtLW1vYmlsZS1xci1jb25uZWN0aW5nLXZpZXc+PC93Y20tbW9iaWxlLXFyLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2VcIldhbGxldEV4cGxvcmVyXCI6cmV0dXJuIG5gPHdjbS13YWxsZXQtZXhwbG9yZXItdmlldz48L3djbS13YWxsZXQtZXhwbG9yZXItdmlldz5gO2Nhc2VcIlFyY29kZVwiOnJldHVybiBuYDx3Y20tcXJjb2RlLXZpZXc+PC93Y20tcXJjb2RlLXZpZXc+YDtjYXNlXCJJbnN0YWxsV2FsbGV0XCI6cmV0dXJuIG5gPHdjbS1pbnN0YWxsLXdhbGxldC12aWV3Pjwvd2NtLWluc3RhbGwtd2FsbGV0LXZpZXc+YDtkZWZhdWx0OnJldHVybiBuYDxkaXY+Tm90IEZvdW5kPC9kaXY+YH19YXN5bmMgb25DaGFuZ2VSb3V0ZSgpe2F3YWl0IEgodGhpcy5yb3V0ZXJFbCx7b3BhY2l0eTpbMSwwXSxzY2FsZTpbMSwxLjAyXX0se2R1cmF0aW9uOi4xNSxkZWxheTouMX0pLmZpbmlzaGVkLHRoaXMudmlldz14LnN0YXRlLnZpZXcsSCh0aGlzLnJvdXRlckVsLHtvcGFjaXR5OlswLDFdLHNjYWxlOlsuOTksMV19LHtkdXJhdGlvbjouMzcsZGVsYXk6LjA1fSl9cmVuZGVyKCl7cmV0dXJuIG5gPGRpdiBjbGFzcz1cIndjbS1yb3V0ZXJcIj48ZGl2IGNsYXNzPVwid2NtLWNvbnRlbnRcIj4ke3RoaXMudmlld1RlbXBsYXRlKCl9PC9kaXY+PC9kaXY+YH19O29lLnN0eWxlcz1baC5nbG9iYWxDc3MsTXRdLCRlKFtJKCldLG9lLnByb3RvdHlwZSxcInZpZXdcIiwyKSwkZShbSSgpXSxvZS5wcm90b3R5cGUsXCJwcmV2Vmlld1wiLDIpLG9lPSRlKFtwKFwid2NtLW1vZGFsLXJvdXRlclwiKV0sb2UpO2NvbnN0IEF0PWdgZGl2e2hlaWdodDozNnB4O3dpZHRoOm1heC1jb250ZW50O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjlweCAxNXB4IDExcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEycHg7Ym94LXNoYWRvdzowIDZweCAxNHB4IC02cHggcmdiYSgxMCwxNiwzMSwuMyksMCAxMHB4IDMycHggLTRweCByZ2JhKDEwLDE2LDMxLC4xNSk7ei1pbmRleDoyO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMS44KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDEuOCk7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20tbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMpO2JvcmRlcjoxcHggc29saWQgdmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfXN2Z3ttYXJnaW4tcmlnaHQ6NXB4fUAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKXtkaXZ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3ItYmctMyl9fS53Y20tc3VjY2VzcyBwYXRoe2ZpbGw6dmFyKC0td2NtLWFjY2VudC1jb2xvcil9LndjbS1lcnJvciBwYXRoe2ZpbGw6dmFyKC0td2NtLWVycm9yLWNvbG9yKX1gO3ZhciBQdD1PYmplY3QuZGVmaW5lUHJvcGVydHksVHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix6ZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP1R0KG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZQdChvLHIsdCksdH07bGV0IG5lPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5vcGVuPSExLHRoaXMudW5zdWJzY3JpYmU9dm9pZCAwLHRoaXMudGltZW91dD12b2lkIDAsdGhpcy51bnN1YnNjcmliZT1OLnN1YnNjcmliZShlPT57ZS5vcGVuPyh0aGlzLm9wZW49ITAsdGhpcy50aW1lb3V0PXNldFRpbWVvdXQoKCk9Pk4uY2xvc2VUb2FzdCgpLDIyMDApKToodGhpcy5vcGVuPSExLGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpKX0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7KGU9dGhpcy51bnN1YnNjcmliZSk9PW51bGx8fGUuY2FsbCh0aGlzKSxjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSxOLmNsb3NlVG9hc3QoKX1yZW5kZXIoKXtjb25zdHttZXNzYWdlOmUsdmFyaWFudDpvfT1OLnN0YXRlLHI9e1wid2NtLXN1Y2Nlc3NcIjpvPT09XCJzdWNjZXNzXCIsXCJ3Y20tZXJyb3JcIjpvPT09XCJlcnJvclwifTtyZXR1cm4gdGhpcy5vcGVuP25gPGRpdiBjbGFzcz1cIiR7UChyKX1cIj4ke289PT1cInN1Y2Nlc3NcIj92LkNIRUNLTUFSS19JQ09OOm51bGx9ICR7bz09PVwiZXJyb3JcIj92LkNST1NTX0lDT046bnVsbH08d2NtLXRleHQgdmFyaWFudD1cInNtYWxsLXJlZ3VsYXJcIj4ke2V9PC93Y20tdGV4dD48L2Rpdj5gOm51bGx9fTtuZS5zdHlsZXM9W2guZ2xvYmFsQ3NzLEF0XSx6ZShbSSgpXSxuZS5wcm90b3R5cGUsXCJvcGVuXCIsMiksbmU9emUoW3AoXCJ3Y20tbW9kYWwtdG9hc3RcIildLG5lKTtjb25zdCBqdD0uMSxWZT0yLjUsQT03O2Z1bmN0aW9uIENlKGUsbyxyKXtyZXR1cm4gZT09PW8/ITE6KGUtbzwwP28tZTplLW8pPD1yK2p0fWZ1bmN0aW9uIF90KGUsbyl7Y29uc3Qgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChKZS5jcmVhdGUoZSx7ZXJyb3JDb3JyZWN0aW9uTGV2ZWw6b30pLm1vZHVsZXMuZGF0YSwwKSxhPU1hdGguc3FydChyLmxlbmd0aCk7cmV0dXJuIHIucmVkdWNlKCh0LGwsaSk9PihpJWE9PT0wP3QucHVzaChbbF0pOnRbdC5sZW5ndGgtMV0ucHVzaChsKSkmJnQsW10pfWNvbnN0IER0PXtnZW5lcmF0ZShlLG8scil7Y29uc3QgYT1cIiMxNDE0MTRcIix0PVwiI2ZmZmZmZlwiLGw9W10saT1fdChlLFwiUVwiKSxzPW8vaS5sZW5ndGgsJD1be3g6MCx5OjB9LHt4OjEseTowfSx7eDowLHk6MX1dOyQuZm9yRWFjaCgoe3g6eSx5OnV9KT0+e2NvbnN0IE89KGkubGVuZ3RoLUEpKnMqeSxiPShpLmxlbmd0aC1BKSpzKnUsRT0uNDU7Zm9yKGxldCBNPTA7TTwkLmxlbmd0aDtNKz0xKXtjb25zdCBWPXMqKEEtTSoyKTtsLnB1c2gocGVgPHJlY3QgZmlsbD1cIiR7TSUyPT09MD9hOnR9XCIgaGVpZ2h0PVwiJHtWfVwiIHJ4PVwiJHtWKkV9XCIgcnk9XCIke1YqRX1cIiB3aWR0aD1cIiR7Vn1cIiB4PVwiJHtPK3MqTX1cIiB5PVwiJHtiK3MqTX1cIj5gKX19KTtjb25zdCBmPU1hdGguZmxvb3IoKHIrMjUpL3MpLE5lPWkubGVuZ3RoLzItZi8yLFplPWkubGVuZ3RoLzIrZi8yLTEsU2U9W107aS5mb3JFYWNoKCh5LHUpPT57eS5mb3JFYWNoKChPLGIpPT57aWYoaVt1XVtiXSYmISh1PEEmJmI8QXx8dT5pLmxlbmd0aC0oQSsxKSYmYjxBfHx1PEEmJmI+aS5sZW5ndGgtKEErMSkpJiYhKHU+TmUmJnU8WmUmJmI+TmUmJmI8WmUpKXtjb25zdCBFPXUqcytzLzIsTT1iKnMrcy8yO1NlLnB1c2goW0UsTV0pfX0pfSk7Y29uc3QgSj17fTtyZXR1cm4gU2UuZm9yRWFjaCgoW3ksdV0pPT57Slt5XT9KW3ldLnB1c2godSk6Slt5XT1bdV19KSxPYmplY3QuZW50cmllcyhKKS5tYXAoKFt5LHVdKT0+e2NvbnN0IE89dS5maWx0ZXIoYj0+dS5ldmVyeShFPT4hQ2UoYixFLHMpKSk7cmV0dXJuW051bWJlcih5KSxPXX0pLmZvckVhY2goKFt5LHVdKT0+e3UuZm9yRWFjaChPPT57bC5wdXNoKHBlYDxjaXJjbGUgY3g9XCIke3l9XCIgY3k9XCIke099XCIgZmlsbD1cIiR7YX1cIiByPVwiJHtzL1ZlfVwiPmApfSl9KSxPYmplY3QuZW50cmllcyhKKS5maWx0ZXIoKFt5LHVdKT0+dS5sZW5ndGg+MSkubWFwKChbeSx1XSk9Pntjb25zdCBPPXUuZmlsdGVyKGI9PnUuc29tZShFPT5DZShiLEUscykpKTtyZXR1cm5bTnVtYmVyKHkpLE9dfSkubWFwKChbeSx1XSk9Pnt1LnNvcnQoKGIsRSk9PmI8RT8tMToxKTtjb25zdCBPPVtdO2Zvcihjb25zdCBiIG9mIHUpe2NvbnN0IEU9Ty5maW5kKE09Pk0uc29tZShWPT5DZShiLFYscykpKTtFP0UucHVzaChiKTpPLnB1c2goW2JdKX1yZXR1cm5beSxPLm1hcChiPT5bYlswXSxiW2IubGVuZ3RoLTFdXSldfSkuZm9yRWFjaCgoW3ksdV0pPT57dS5mb3JFYWNoKChbTyxiXSk9PntsLnB1c2gocGVgPGxpbmUgeDE9XCIke3l9XCIgeDI9XCIke3l9XCIgeTE9XCIke099XCIgeTI9XCIke2J9XCIgc3Ryb2tlPVwiJHthfVwiIHN0cm9rZS13aWR0aD1cIiR7cy8oVmUvMil9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiPmApfSl9KSxsfX0sTnQ9Z2BAa2V5ZnJhbWVzIGZhZGVJbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fWRpdntwb3NpdGlvbjpyZWxhdGl2ZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO2FzcGVjdC1yYXRpbzoxLzE7YW5pbWF0aW9uOmZhZGVJbiBlYXNlIC4yc30ud2NtLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6dmFyKC0td2NtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKTtwYWRkaW5nOjE4cHg7Ym94LXNoYWRvdzowIDJweCA1cHggIzAwMH1zdmc6Zmlyc3QtY2hpbGQsd2NtLXdhbGxldC1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSl9d2NtLXdhbGxldC1pbWFnZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpfXdjbS13YWxsZXQtaW1hZ2V7d2lkdGg6MjUlO2hlaWdodDoyNSU7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20td2FsbGV0LWljb24tYm9yZGVyLXJhZGl1cyl9c3ZnOmZpcnN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoLjkpfXN2ZzpmaXJzdC1jaGlsZCBwYXRoOmZpcnN0LWNoaWxke2ZpbGw6dmFyKC0td2NtLWFjY2VudC1jb2xvcil9c3ZnOmZpcnN0LWNoaWxkIHBhdGg6bGFzdC1jaGlsZHtzdHJva2U6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfWA7dmFyIFp0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxTdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHE9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9TdChvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmWnQobyxyLHQpLHR9O2xldCBqPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy51cmk9XCJcIix0aGlzLnNpemU9MCx0aGlzLmltYWdlSWQ9dm9pZCAwLHRoaXMud2FsbGV0SWQ9dm9pZCAwLHRoaXMuaW1hZ2VVcmw9dm9pZCAwfXN2Z1RlbXBsYXRlKCl7Y29uc3QgZT1YLnN0YXRlLnRoZW1lTW9kZT09PVwibGlnaHRcIj90aGlzLnNpemU6dGhpcy5zaXplLTM2O3JldHVybiBwZWA8c3ZnIGhlaWdodD1cIiR7ZX1cIiB3aWR0aD1cIiR7ZX1cIj4ke0R0LmdlbmVyYXRlKHRoaXMudXJpLGUsZS80KX08L3N2Zz5gfXJlbmRlcigpe2NvbnN0IGU9e1wid2NtLWRhcmtcIjpYLnN0YXRlLnRoZW1lTW9kZT09PVwiZGFya1wifTtyZXR1cm4gbmA8ZGl2IHN0eWxlPVwiJHtgd2lkdGg6ICR7dGhpcy5zaXplfXB4YH1cIiBjbGFzcz1cIiR7UChlKX1cIj4ke3RoaXMud2FsbGV0SWR8fHRoaXMuaW1hZ2VVcmw/bmA8d2NtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD1cIiR7ayh0aGlzLndhbGxldElkKX1cIiBpbWFnZUlkPVwiJHtrKHRoaXMuaW1hZ2VJZCl9XCIgaW1hZ2VVcmw9XCIke2sodGhpcy5pbWFnZVVybCl9XCI+PC93Y20td2FsbGV0LWltYWdlPmA6di5XQUxMRVRfQ09OTkVDVF9JQ09OX0NPTE9SRUR9ICR7dGhpcy5zdmdUZW1wbGF0ZSgpfTwvZGl2PmB9fTtqLnN0eWxlcz1baC5nbG9iYWxDc3MsTnRdLHEoW2QoKV0sai5wcm90b3R5cGUsXCJ1cmlcIiwyKSxxKFtkKHt0eXBlOk51bWJlcn0pXSxqLnByb3RvdHlwZSxcInNpemVcIiwyKSxxKFtkKCldLGoucHJvdG90eXBlLFwiaW1hZ2VJZFwiLDIpLHEoW2QoKV0sai5wcm90b3R5cGUsXCJ3YWxsZXRJZFwiLDIpLHEoW2QoKV0sai5wcm90b3R5cGUsXCJpbWFnZVVybFwiLDIpLGo9cShbcChcIndjbS1xcmNvZGVcIildLGopO2NvbnN0IEJ0PWdgOmhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjI4cHg7d2lkdGg6ODAlfWlucHV0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bGluZS1oZWlnaHQ6MjhweCFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20taW5wdXQtYm9yZGVyLXJhZGl1cyk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxzeXN0ZW0tdWksQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLFVidW50dSwnSGVsdmV0aWNhIE5ldWUnLHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOidjYXNlJyBvbjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE2cHg7bGV0dGVyLXNwYWNpbmc6LS4wM2VtO3BhZGRpbmc6MCAxMHB4IDAgMzRweDt0cmFuc2l0aW9uOi4ycyBhbGwgZWFzZTtjb2xvcjp2YXIoLS13Y20tY29sb3ItZmctMSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3ItYmctMyk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpO2NhcmV0LWNvbG9yOnZhcigtLXdjbS1hY2NlbnQtY29sb3IpfWlucHV0OjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS13Y20tY29sb3ItZmctMil9c3Zne2xlZnQ6MTBweDt0b3A6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1pbnB1dDpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0td2NtLWFjY2VudC1jb2xvcil9cGF0aHtmaWxsOnZhcigtLXdjbS1jb2xvci1mZy0yKX1gO3ZhciBVdD1PYmplY3QuZGVmaW5lUHJvcGVydHksSHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixGZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP0h0KG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZVdChvLHIsdCksdH07bGV0IGNlPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5vbkNoYW5nZT0oKT0+bnVsbH1yZW5kZXIoKXtyZXR1cm4gbmA8aW5wdXQgdHlwZT1cInRleHRcIiBAaW5wdXQ9XCIke3RoaXMub25DaGFuZ2V9XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggd2FsbGV0c1wiPiAke3YuU0VBUkNIX0lDT059YH19O2NlLnN0eWxlcz1baC5nbG9iYWxDc3MsQnRdLEZlKFtkKCldLGNlLnByb3RvdHlwZSxcIm9uQ2hhbmdlXCIsMiksY2U9RmUoW3AoXCJ3Y20tc2VhcmNoLWlucHV0XCIpXSxjZSk7Y29uc3QgenQ9Z2BAa2V5ZnJhbWVzIHJvdGF0ZXsxMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBkYXNoezAle3N0cm9rZS1kYXNoYXJyYXk6MSwxNTA7c3Ryb2tlLWRhc2hvZmZzZXQ6MH01MCV7c3Ryb2tlLWRhc2hhcnJheTo5MCwxNTA7c3Ryb2tlLWRhc2hvZmZzZXQ6LTM1fTEwMCV7c3Ryb2tlLWRhc2hhcnJheTo5MCwxNTA7c3Ryb2tlLWRhc2hvZmZzZXQ6LTEyNH19c3Zne2FuaW1hdGlvbjpyb3RhdGUgMnMgbGluZWFyIGluZmluaXRlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1zdmcgY2lyY2xle3N0cm9rZS1saW5lY2FwOnJvdW5kO2FuaW1hdGlvbjpkYXNoIDEuNXMgZWFzZSBpbmZpbml0ZTtzdHJva2U6dmFyKC0td2NtLWFjY2VudC1jb2xvcil9YDt2YXIgVnQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LEZ0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IscXQ9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9GdChvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmVnQobyxyLHQpLHR9O2xldCBrZT1jbGFzcyBleHRlbmRzIHd7cmVuZGVyKCl7cmV0dXJuIG5gPHN2ZyB2aWV3Qm94PVwiMCAwIDUwIDUwXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+PGNpcmNsZSBjeD1cIjI1XCIgY3k9XCIyNVwiIHI9XCIyMFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiNFwiIHN0cm9rZT1cIiNmZmZcIi8+PC9zdmc+YH19O2tlLnN0eWxlcz1baC5nbG9iYWxDc3MsenRdLGtlPXF0KFtwKFwid2NtLXNwaW5uZXJcIildLGtlKTtjb25zdCBRdD1nYHNwYW57Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6dmFyKC0td2NtLWZvbnQtZmFtaWx5KTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0td2NtLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyl9LndjbS14c21hbGwtYm9sZHtmb250LWZhbWlseTp2YXIoLS13Y20tdGV4dC14c21hbGwtYm9sZC1mb250LWZhbWlseSk7Zm9udC13ZWlnaHQ6dmFyKC0td2NtLXRleHQteHNtYWxsLWJvbGQtd2VpZ2h0KTtmb250LXNpemU6dmFyKC0td2NtLXRleHQteHNtYWxsLWJvbGQtc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0td2NtLXRleHQteHNtYWxsLWJvbGQtbGluZS1oZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLXdjbS10ZXh0LXhzbWFsbC1ib2xkLWxldHRlci1zcGFjaW5nKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS13Y20tdGV4dC14c21hbGwtYm9sZC10ZXh0LXRyYW5zZm9ybSl9LndjbS14c21hbGwtcmVndWxhcntmb250LWZhbWlseTp2YXIoLS13Y20tdGV4dC14c21hbGwtcmVndWxhci1mb250LWZhbWlseSk7Zm9udC13ZWlnaHQ6dmFyKC0td2NtLXRleHQteHNtYWxsLXJlZ3VsYXItd2VpZ2h0KTtmb250LXNpemU6dmFyKC0td2NtLXRleHQteHNtYWxsLXJlZ3VsYXItc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0td2NtLXRleHQteHNtYWxsLXJlZ3VsYXItbGluZS1oZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLXdjbS10ZXh0LXhzbWFsbC1yZWd1bGFyLWxldHRlci1zcGFjaW5nKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS13Y20tdGV4dC14c21hbGwtcmVndWxhci10ZXh0LXRyYW5zZm9ybSl9LndjbS1zbWFsbC10aGlue2ZvbnQtZmFtaWx5OnZhcigtLXdjbS10ZXh0LXNtYWxsLXRoaW4tZm9udC1mYW1pbHkpO2ZvbnQtd2VpZ2h0OnZhcigtLXdjbS10ZXh0LXNtYWxsLXRoaW4td2VpZ2h0KTtmb250LXNpemU6dmFyKC0td2NtLXRleHQtc21hbGwtdGhpbi1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS13Y20tdGV4dC1zbWFsbC10aGluLWxpbmUtaGVpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS13Y20tdGV4dC1zbWFsbC10aGluLWxldHRlci1zcGFjaW5nKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS13Y20tdGV4dC1zbWFsbC10aGluLXRleHQtdHJhbnNmb3JtKX0ud2NtLXNtYWxsLXJlZ3VsYXJ7Zm9udC1mYW1pbHk6dmFyKC0td2NtLXRleHQtc21hbGwtcmVndWxhci1mb250LWZhbWlseSk7Zm9udC13ZWlnaHQ6dmFyKC0td2NtLXRleHQtc21hbGwtcmVndWxhci13ZWlnaHQpO2ZvbnQtc2l6ZTp2YXIoLS13Y20tdGV4dC1zbWFsbC1yZWd1bGFyLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXdjbS10ZXh0LXNtYWxsLXJlZ3VsYXItbGluZS1oZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLXdjbS10ZXh0LXNtYWxsLXJlZ3VsYXItbGV0dGVyLXNwYWNpbmcpO3RleHQtdHJhbnNmb3JtOnZhcigtLXdjbS10ZXh0LXNtYWxsLXJlZ3VsYXItdGV4dC10cmFuc2Zvcm0pfS53Y20tbWVkaXVtLXJlZ3VsYXJ7Zm9udC1mYW1pbHk6dmFyKC0td2NtLXRleHQtbWVkaXVtLXJlZ3VsYXItZm9udC1mYW1pbHkpO2ZvbnQtd2VpZ2h0OnZhcigtLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLXdlaWdodCk7Zm9udC1zaXplOnZhcigtLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXdjbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWxpbmUtaGVpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS13Y20tdGV4dC1tZWRpdW0tcmVndWxhci1sZXR0ZXItc3BhY2luZyk7dGV4dC10cmFuc2Zvcm06dmFyKC0td2NtLXRleHQtbWVkaXVtLXJlZ3VsYXItdGV4dC10cmFuc2Zvcm0pfS53Y20tYmlnLWJvbGR7Zm9udC1mYW1pbHk6dmFyKC0td2NtLXRleHQtYmlnLWJvbGQtZm9udC1mYW1pbHkpO2ZvbnQtd2VpZ2h0OnZhcigtLXdjbS10ZXh0LWJpZy1ib2xkLXdlaWdodCk7Zm9udC1zaXplOnZhcigtLXdjbS10ZXh0LWJpZy1ib2xkLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXdjbS10ZXh0LWJpZy1ib2xkLWxpbmUtaGVpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS13Y20tdGV4dC1iaWctYm9sZC1sZXR0ZXItc3BhY2luZyk7dGV4dC10cmFuc2Zvcm06dmFyKC0td2NtLXRleHQtYmlnLWJvbGQtdGV4dC10cmFuc2Zvcm0pfTpob3N0KCope2NvbG9yOnZhcigtLXdjbS1jb2xvci1mZy0xKX0ud2NtLWNvbG9yLXByaW1hcnl7Y29sb3I6dmFyKC0td2NtLWNvbG9yLWZnLTEpfS53Y20tY29sb3Itc2Vjb25kYXJ5e2NvbG9yOnZhcigtLXdjbS1jb2xvci1mZy0yKX0ud2NtLWNvbG9yLXRlcnRpYXJ5e2NvbG9yOnZhcigtLXdjbS1jb2xvci1mZy0zKX0ud2NtLWNvbG9yLWludmVyc2V7Y29sb3I6dmFyKC0td2NtLWFjY2VudC1maWxsLWNvbG9yKX0ud2NtLWNvbG9yLWFjY250e2NvbG9yOnZhcigtLXdjbS1hY2NlbnQtY29sb3IpfS53Y20tY29sb3ItZXJyb3J7Y29sb3I6dmFyKC0td2NtLWVycm9yLWNvbG9yKX1gO3ZhciBLdD1PYmplY3QuZGVmaW5lUHJvcGVydHksWXQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixPZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP1l0KG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZLdChvLHIsdCksdH07bGV0IHJlPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy52YXJpYW50PVwibWVkaXVtLXJlZ3VsYXJcIix0aGlzLmNvbG9yPVwicHJpbWFyeVwifXJlbmRlcigpe2NvbnN0IGU9e1wid2NtLWJpZy1ib2xkXCI6dGhpcy52YXJpYW50PT09XCJiaWctYm9sZFwiLFwid2NtLW1lZGl1bS1yZWd1bGFyXCI6dGhpcy52YXJpYW50PT09XCJtZWRpdW0tcmVndWxhclwiLFwid2NtLXNtYWxsLXJlZ3VsYXJcIjp0aGlzLnZhcmlhbnQ9PT1cInNtYWxsLXJlZ3VsYXJcIixcIndjbS1zbWFsbC10aGluXCI6dGhpcy52YXJpYW50PT09XCJzbWFsbC10aGluXCIsXCJ3Y20teHNtYWxsLXJlZ3VsYXJcIjp0aGlzLnZhcmlhbnQ9PT1cInhzbWFsbC1yZWd1bGFyXCIsXCJ3Y20teHNtYWxsLWJvbGRcIjp0aGlzLnZhcmlhbnQ9PT1cInhzbWFsbC1ib2xkXCIsXCJ3Y20tY29sb3ItcHJpbWFyeVwiOnRoaXMuY29sb3I9PT1cInByaW1hcnlcIixcIndjbS1jb2xvci1zZWNvbmRhcnlcIjp0aGlzLmNvbG9yPT09XCJzZWNvbmRhcnlcIixcIndjbS1jb2xvci10ZXJ0aWFyeVwiOnRoaXMuY29sb3I9PT1cInRlcnRpYXJ5XCIsXCJ3Y20tY29sb3ItaW52ZXJzZVwiOnRoaXMuY29sb3I9PT1cImludmVyc2VcIixcIndjbS1jb2xvci1hY2NudFwiOnRoaXMuY29sb3I9PT1cImFjY2VudFwiLFwid2NtLWNvbG9yLWVycm9yXCI6dGhpcy5jb2xvcj09PVwiZXJyb3JcIn07cmV0dXJuIG5gPHNwYW4+PHNsb3QgY2xhc3M9XCIke1AoZSl9XCI+PC9zbG90Pjwvc3Bhbj5gfX07cmUuc3R5bGVzPVtoLmdsb2JhbENzcyxRdF0sT2UoW2QoKV0scmUucHJvdG90eXBlLFwidmFyaWFudFwiLDIpLE9lKFtkKCldLHJlLnByb3RvdHlwZSxcImNvbG9yXCIsMikscmU9T2UoW3AoXCJ3Y20tdGV4dFwiKV0scmUpO2NvbnN0IEd0PWdgYnV0dG9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20tYnV0dG9uLWhvdmVyLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydH1idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfUBtZWRpYShob3Zlcjpob3Zlcil7YnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfX1idXR0b24+ZGl2e3dpZHRoOjgwcHg7cGFkZGluZzo1cHggMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcn13Y20tdGV4dHt3aWR0aDoxMDAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmNlbnRlcn13Y20td2FsbGV0LWltYWdle2hlaWdodDo2MHB4O3dpZHRoOjYwcHg7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20td2FsbGV0LWljb24tYm9yZGVyLXJhZGl1cyk7bWFyZ2luLWJvdHRvbTo1cHh9LndjbS1zdWJsYWJlbHttYXJnaW4tdG9wOjJweH1gO3ZhciBYdD1PYmplY3QuZGVmaW5lUHJvcGVydHksSnQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixfPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/SnQobyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJlh0KG8scix0KSx0fTtsZXQgTD1jbGFzcyBleHRlbmRzIHd7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMub25DbGljaz0oKT0+bnVsbCx0aGlzLm5hbWU9XCJcIix0aGlzLndhbGxldElkPVwiXCIsdGhpcy5sYWJlbD12b2lkIDAsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmluc3RhbGxlZD0hMSx0aGlzLnJlY2VudD0hMX1zdWJsYWJlbFRlbXBsYXRlKCl7cmV0dXJuIHRoaXMucmVjZW50P25gPHdjbS10ZXh0IGNsYXNzPVwid2NtLXN1YmxhYmVsXCIgdmFyaWFudD1cInhzbWFsbC1ib2xkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlJFQ0VOVDwvd2NtLXRleHQ+YDp0aGlzLmluc3RhbGxlZD9uYDx3Y20tdGV4dCBjbGFzcz1cIndjbS1zdWJsYWJlbFwiIHZhcmlhbnQ9XCJ4c21hbGwtYm9sZFwiIGNvbG9yPVwidGVydGlhcnlcIj5JTlNUQUxMRUQ8L3djbS10ZXh0PmA6bnVsbH1oYW5kbGVDbGljaygpe1hlLmNsaWNrKHtuYW1lOlwiV0FMTEVUX0JVVFRPTlwiLHdhbGxldElkOnRoaXMud2FsbGV0SWR9KSx0aGlzLm9uQ2xpY2soKX1yZW5kZXIoKXt2YXIgZTtyZXR1cm4gbmA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5oYW5kbGVDbGljay5iaW5kKHRoaXMpfVwiPjxkaXY+PHdjbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9XCIke3RoaXMud2FsbGV0SWR9XCIgaW1hZ2VJZD1cIiR7ayh0aGlzLmltYWdlSWQpfVwiPjwvd2NtLXdhbGxldC1pbWFnZT48d2NtLXRleHQgdmFyaWFudD1cInhzbWFsbC1yZWd1bGFyXCI+JHsoZT10aGlzLmxhYmVsKSE9bnVsbD9lOmMuZ2V0V2FsbGV0TmFtZSh0aGlzLm5hbWUsITApfTwvd2NtLXRleHQ+JHt0aGlzLnN1YmxhYmVsVGVtcGxhdGUoKX08L2Rpdj48L2J1dHRvbj5gfX07TC5zdHlsZXM9W2guZ2xvYmFsQ3NzLEd0XSxfKFtkKCldLEwucHJvdG90eXBlLFwib25DbGlja1wiLDIpLF8oW2QoKV0sTC5wcm90b3R5cGUsXCJuYW1lXCIsMiksXyhbZCgpXSxMLnByb3RvdHlwZSxcIndhbGxldElkXCIsMiksXyhbZCgpXSxMLnByb3RvdHlwZSxcImxhYmVsXCIsMiksXyhbZCgpXSxMLnByb3RvdHlwZSxcImltYWdlSWRcIiwyKSxfKFtkKHt0eXBlOkJvb2xlYW59KV0sTC5wcm90b3R5cGUsXCJpbnN0YWxsZWRcIiwyKSxfKFtkKHt0eXBlOkJvb2xlYW59KV0sTC5wcm90b3R5cGUsXCJyZWNlbnRcIiwyKSxMPV8oW3AoXCJ3Y20td2FsbGV0LWJ1dHRvblwiKV0sTCk7Y29uc3QgZW89Z2A6aG9zdHtkaXNwbGF5OmJsb2NrfWRpdntvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czppbmhlcml0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tY29sb3Itb3ZlcmxheSl9c3Zne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9ZGl2OjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXdjbS1jb2xvci1vdmVybGF5KX1kaXYgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyfSN3YWxsZXQtcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXdjbS1jb2xvci1iZy0zKX0jd2FsbGV0LXBsYWNlaG9sZGVyLWRhc2h7c3Ryb2tlOnZhcigtLXdjbS1jb2xvci1vdmVybGF5KX1gO3ZhciB0bz1PYmplY3QuZGVmaW5lUHJvcGVydHksb289T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixzZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP29vKG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZ0byhvLHIsdCksdH07bGV0IFE9Y2xhc3MgZXh0ZW5kcyB3e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLndhbGxldElkPVwiXCIsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmltYWdlVXJsPXZvaWQgMH1yZW5kZXIoKXt2YXIgZTtjb25zdCBvPShlPXRoaXMuaW1hZ2VVcmwpIT1udWxsJiZlLmxlbmd0aD90aGlzLmltYWdlVXJsOmMuZ2V0V2FsbGV0SWNvbih7aWQ6dGhpcy53YWxsZXRJZCxpbWFnZV9pZDp0aGlzLmltYWdlSWR9KTtyZXR1cm4gbmAke28ubGVuZ3RoP25gPGRpdj48aW1nIGNyb3Nzb3JpZ2luPVwiYW5vbnltb3VzXCIgc3JjPVwiJHtvfVwiIGFsdD1cIiR7dGhpcy5pZH1cIj48L2Rpdj5gOnYuV0FMTEVUX1BMQUNFSE9MREVSfWB9fTtRLnN0eWxlcz1baC5nbG9iYWxDc3MsZW9dLHNlKFtkKCldLFEucHJvdG90eXBlLFwid2FsbGV0SWRcIiwyKSxzZShbZCgpXSxRLnByb3RvdHlwZSxcImltYWdlSWRcIiwyKSxzZShbZCgpXSxRLnByb3RvdHlwZSxcImltYWdlVXJsXCIsMiksUT1zZShbcChcIndjbS13YWxsZXQtaW1hZ2VcIildLFEpO3ZhciBybz1PYmplY3QuZGVmaW5lUHJvcGVydHksYW89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixxZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP2FvKG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZybyhvLHIsdCksdH07bGV0IFdlPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5wcmVsb2FkPSEwLHRoaXMucHJlbG9hZERhdGEoKX1hc3luYyBsb2FkSW1hZ2VzKGUpe3RyeXtlIT1udWxsJiZlLmxlbmd0aCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgbz0+Yy5wcmVsb2FkSW1hZ2UobykpKX1jYXRjaHtjb25zb2xlLmluZm8oXCJVbnN1Y2Nlc3NmdWwgYXR0ZW1wdCBhdCBwcmVsb2FkaW5nIHNvbWUgaW1hZ2VzXCIsZSl9fWFzeW5jIHByZWxvYWRMaXN0aW5ncygpe2lmKHouc3RhdGUuZW5hYmxlRXhwbG9yZXIpe2F3YWl0IFcuZ2V0UmVjb21lbmRlZFdhbGxldHMoKSxSLnNldElzRGF0YUxvYWRlZCghMCk7Y29uc3R7cmVjb21lbmRlZFdhbGxldHM6ZX09Vy5zdGF0ZSxvPWUubWFwKHI9PmMuZ2V0V2FsbGV0SWNvbihyKSk7YXdhaXQgdGhpcy5sb2FkSW1hZ2VzKG8pfWVsc2UgUi5zZXRJc0RhdGFMb2FkZWQoITApfWFzeW5jIHByZWxvYWRDdXN0b21JbWFnZXMoKXtjb25zdCBlPWMuZ2V0Q3VzdG9tSW1hZ2VVcmxzKCk7YXdhaXQgdGhpcy5sb2FkSW1hZ2VzKGUpfWFzeW5jIHByZWxvYWREYXRhKCl7dHJ5e3RoaXMucHJlbG9hZCYmKHRoaXMucHJlbG9hZD0hMSxhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wcmVsb2FkTGlzdGluZ3MoKSx0aGlzLnByZWxvYWRDdXN0b21JbWFnZXMoKV0pKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpLE4ub3BlblRvYXN0KFwiRmFpbGVkIHByZWxvYWRpbmdcIixcImVycm9yXCIpfX19O3FlKFtJKCldLFdlLnByb3RvdHlwZSxcInByZWxvYWRcIiwyKSxXZT1xZShbcChcIndjbS1leHBsb3Jlci1jb250ZXh0XCIpXSxXZSk7dmFyIGxvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxpbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG5vPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/aW8obyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJmxvKG8scix0KSx0fTtsZXQgUWU9Y2xhc3MgZXh0ZW5kcyB3e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnVuc3Vic2NyaWJlVGhlbWU9dm9pZCAwLGguc2V0VGhlbWUoKSx0aGlzLnVuc3Vic2NyaWJlVGhlbWU9WC5zdWJzY3JpYmUoaC5zZXRUaGVtZSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTsoZT10aGlzLnVuc3Vic2NyaWJlVGhlbWUpPT1udWxsfHxlLmNhbGwodGhpcyl9fTtRZT1ubyhbcChcIndjbS10aGVtZS1jb250ZXh0XCIpXSxRZSk7Y29uc3QgY289Z2BAa2V5ZnJhbWVzIHNjcm9sbHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKGNhbGMoLTcwcHggKiA5KSwwLDApfX0ud2NtLXNsaWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nOjEwcHggMDttYXJnaW46MCAtMjBweDt3aWR0aDpjYWxjKDEwMCUgKyA0MHB4KX0ud2NtLXRyYWNre2Rpc3BsYXk6ZmxleDt3aWR0aDpjYWxjKDcwcHggKiAxOCk7YW5pbWF0aW9uOnNjcm9sbCAyMHMgbGluZWFyIGluZmluaXRlO29wYWNpdHk6Ljd9LndjbS10cmFjayBzdmd7bWFyZ2luOjAgNXB4fXdjbS13YWxsZXQtaW1hZ2V7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW46MCA1cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20td2FsbGV0LWljb24tYm9yZGVyLXJhZGl1cyl9LndjbS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LndjbS10aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MTBweH0ud2NtLXRpdGxlIHN2Z3ttYXJnaW4tcmlnaHQ6NnB4fS53Y20tdGl0bGUgcGF0aHtmaWxsOnZhcigtLXdjbS1hY2NlbnQtY29sb3IpfXdjbS1tb2RhbC1mb290ZXIgLndjbS10aXRsZXtwYWRkaW5nOjAgMTBweH13Y20tYnV0dG9uLWJpZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxN3B4IHZhcigtLXdjbS1jb2xvci1iZy0xKSl9d2NtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13Y20taW5mby1mb290ZXIgd2NtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbToxNXB4fSN3YWxsZXQtcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXdjbS1jb2xvci1iZy0zKX0jd2FsbGV0LXBsYWNlaG9sZGVyLWRhc2h7c3Ryb2tlOnZhcigtLXdjbS1jb2xvci1vdmVybGF5KX1gO3ZhciBzbz1PYmplY3QuZGVmaW5lUHJvcGVydHksbW89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixobz0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP21vKG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZzbyhvLHIsdCksdH07bGV0IEllPWNsYXNzIGV4dGVuZHMgd3tvbkdvVG9RcmNvZGUoKXt4LnB1c2goXCJRcmNvZGVcIil9cmVuZGVyKCl7Y29uc3R7cmVjb21lbmRlZFdhbGxldHM6ZX09Vy5zdGF0ZSxvPVsuLi5lLC4uLmVdLHI9bS5SRUNPTU1FTkRFRF9XQUxMRVRfQU1PVU5UKjI7cmV0dXJuIG5gPHdjbS1tb2RhbC1oZWFkZXIgdGl0bGU9XCJDb25uZWN0IHlvdXIgd2FsbGV0XCIgLm9uQWN0aW9uPVwiJHt0aGlzLm9uR29Ub1FyY29kZX1cIiAuYWN0aW9uSWNvbj1cIiR7di5RUkNPREVfSUNPTn1cIj48L3djbS1tb2RhbC1oZWFkZXI+PHdjbS1tb2RhbC1jb250ZW50PjxkaXYgY2xhc3M9XCJ3Y20tdGl0bGVcIj4ke3YuTU9CSUxFX0lDT059PHdjbS10ZXh0IHZhcmlhbnQ9XCJzbWFsbC1yZWd1bGFyXCIgY29sb3I9XCJhY2NlbnRcIj5XYWxsZXRDb25uZWN0PC93Y20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPVwid2NtLXNsaWRlclwiPjxkaXYgY2xhc3M9XCJ3Y20tdHJhY2tcIj4ke1suLi5BcnJheShyKV0ubWFwKChhLHQpPT57Y29uc3QgbD1vW3Qlby5sZW5ndGhdO3JldHVybiBsP25gPHdjbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9XCIke2wuaWR9XCIgaW1hZ2VJZD1cIiR7bC5pbWFnZV9pZH1cIj48L3djbS13YWxsZXQtaW1hZ2U+YDp2LldBTExFVF9QTEFDRUhPTERFUn0pfTwvZGl2Pjx3Y20tYnV0dG9uLWJpZyBAY2xpY2s9XCIke2MuaGFuZGxlQW5kcm9pZExpbmtpbmd9XCI+PHdjbS10ZXh0IHZhcmlhbnQ9XCJtZWRpdW0tcmVndWxhclwiIGNvbG9yPVwiaW52ZXJzZVwiPlNlbGVjdCBXYWxsZXQ8L3djbS10ZXh0Pjwvd2NtLWJ1dHRvbi1iaWc+PC9kaXY+PC93Y20tbW9kYWwtY29udGVudD48d2NtLWluZm8tZm9vdGVyPjx3Y20tdGV4dCBjb2xvcj1cInNlY29uZGFyeVwiIHZhcmlhbnQ9XCJzbWFsbC10aGluXCI+Q2hvb3NlIFdhbGxldENvbm5lY3QgdG8gc2VlIHN1cHBvcnRlZCBhcHBzIG9uIHlvdXIgZGV2aWNlPC93Y20tdGV4dD48L3djbS1pbmZvLWZvb3Rlcj5gfX07SWUuc3R5bGVzPVtoLmdsb2JhbENzcyxjb10sSWU9aG8oW3AoXCJ3Y20tYW5kcm9pZC13YWxsZXQtc2VsZWN0aW9uXCIpXSxJZSk7Y29uc3Qgd289Z2BAa2V5ZnJhbWVzIGxvYWRpbmd7dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19QGtleWZyYW1lcyBzaGFrZXsxMCUsOTAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMXB4LDAsMCl9MjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMXB4LDAsMCl9MzAlLDUwJSw3MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0ycHgsMCwwKX00MCUsNjAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgycHgsMCwwKX19Omhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXJ9ZGl2e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjExMHB4O2hlaWdodDoxMTBweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjQwcHggMCAyMHB4IDA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX1zdmd7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTEwcHg7aGVpZ2h0OjExMHB4O2ZpbGw6bm9uZTtzdHJva2U6dHJhbnNwYXJlbnQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLXdpZHRoOjJweDt0b3A6MDtsZWZ0OjB9dXNle3N0cm9rZTp2YXIoLS13Y20tYWNjZW50LWNvbG9yKTthbmltYXRpb246bG9hZGluZyAxcyBsaW5lYXIgaW5maW5pdGV9d2NtLXdhbGxldC1pbWFnZXtib3JkZXItcmFkaXVzOnZhcigtLXdjbS13YWxsZXQtaWNvbi1sYXJnZS1ib3JkZXItcmFkaXVzKTt3aWR0aDo5MHB4O2hlaWdodDo5MHB4fXdjbS10ZXh0e21hcmdpbi1ib3R0b206NDBweH0ud2NtLWVycm9yIHN2Z3tzdHJva2U6dmFyKC0td2NtLWVycm9yLWNvbG9yKX0ud2NtLWVycm9yIHVzZXtkaXNwbGF5Om5vbmV9LndjbS1lcnJvcnthbmltYXRpb246c2hha2UgLjRzIGN1YmljLWJlemllciguMzYsLjA3LC4xOSwuOTcpIGJvdGh9LndjbS1zdGFsZSBzdmcsLndjbS1zdGFsZSB1c2V7ZGlzcGxheTpub25lfWA7dmFyIHBvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxnbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEs9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9nbyhvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmcG8obyxyLHQpLHR9O2xldCBEPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy53YWxsZXRJZD12b2lkIDAsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmlzRXJyb3I9ITEsdGhpcy5pc1N0YWxlPSExLHRoaXMubGFiZWw9XCJcIn1zdmdMb2FkZXJUZW1wbGF0ZSgpe3ZhciBlLG87Y29uc3Qgcj0obz0oZT1YLnN0YXRlLnRoZW1lVmFyaWFibGVzKT09bnVsbD92b2lkIDA6ZVtcIi0td2NtLXdhbGxldC1pY29uLWxhcmdlLWJvcmRlci1yYWRpdXNcIl0pIT1udWxsP286aC5nZXRQcmVzZXQoXCItLXdjbS13YWxsZXQtaWNvbi1sYXJnZS1ib3JkZXItcmFkaXVzXCIpO2xldCBhPTA7ci5pbmNsdWRlcyhcIiVcIik/YT04OC8xMDAqcGFyc2VJbnQociwxMCk6YT1wYXJzZUludChyLDEwKSxhKj0xLjE3O2NvbnN0IHQ9MzE3LWEqMS41NyxsPTQyNS1hKjEuODtyZXR1cm4gbmA8c3ZnIHZpZXdCb3g9XCIwIDAgMTEwIDExMFwiIHdpZHRoPVwiMTEwXCIgaGVpZ2h0PVwiMTEwXCI+PHJlY3QgaWQ9XCJ3Y20tbG9hZGVyXCIgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMTA2XCIgaGVpZ2h0PVwiMTA2XCIgcng9XCIke2F9XCIvPjx1c2UgeGxpbms6aHJlZj1cIiN3Y20tbG9hZGVyXCIgc3Ryb2tlLWRhc2hhcnJheT1cIjEwNiAke3R9XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIke2x9XCI+PC91c2U+PC9zdmc+YH1yZW5kZXIoKXtjb25zdCBlPXtcIndjbS1lcnJvclwiOnRoaXMuaXNFcnJvcixcIndjbS1zdGFsZVwiOnRoaXMuaXNTdGFsZX07cmV0dXJuIG5gPGRpdiBjbGFzcz1cIiR7UChlKX1cIj4ke3RoaXMuc3ZnTG9hZGVyVGVtcGxhdGUoKX08d2NtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD1cIiR7ayh0aGlzLndhbGxldElkKX1cIiBpbWFnZUlkPVwiJHtrKHRoaXMuaW1hZ2VJZCl9XCI+PC93Y20td2FsbGV0LWltYWdlPjwvZGl2Pjx3Y20tdGV4dCB2YXJpYW50PVwibWVkaXVtLXJlZ3VsYXJcIiBjb2xvcj1cIiR7dGhpcy5pc0Vycm9yP1wiZXJyb3JcIjpcInByaW1hcnlcIn1cIj4ke3RoaXMuaXNFcnJvcj9cIkNvbm5lY3Rpb24gZGVjbGluZWRcIjp0aGlzLmxhYmVsfTwvd2NtLXRleHQ+YH19O0Quc3R5bGVzPVtoLmdsb2JhbENzcyx3b10sSyhbZCgpXSxELnByb3RvdHlwZSxcIndhbGxldElkXCIsMiksSyhbZCgpXSxELnByb3RvdHlwZSxcImltYWdlSWRcIiwyKSxLKFtkKHt0eXBlOkJvb2xlYW59KV0sRC5wcm90b3R5cGUsXCJpc0Vycm9yXCIsMiksSyhbZCh7dHlwZTpCb29sZWFufSldLEQucHJvdG90eXBlLFwiaXNTdGFsZVwiLDIpLEsoW2QoKV0sRC5wcm90b3R5cGUsXCJsYWJlbFwiLDIpLEQ9SyhbcChcIndjbS1jb25uZWN0b3Itd2FpdGluZ1wiKV0sRCk7Y29uc3QgRz17bWFudWFsV2FsbGV0cygpe3ZhciBlLG87Y29uc3R7bW9iaWxlV2FsbGV0czpyLGRlc2t0b3BXYWxsZXRzOmF9PXouc3RhdGUsdD0oZT1HLnJlY2VudFdhbGxldCgpKT09bnVsbD92b2lkIDA6ZS5pZCxsPW0uaXNNb2JpbGUoKT9yOmEsaT1sPy5maWx0ZXIocz0+dCE9PXMuaWQpO3JldHVybihvPW0uaXNNb2JpbGUoKT9pPy5tYXAoKHtpZDpzLG5hbWU6JCxsaW5rczpmfSk9Pih7aWQ6cyxuYW1lOiQsbW9iaWxlOmYsbGlua3M6Zn0pKTppPy5tYXAoKHtpZDpzLG5hbWU6JCxsaW5rczpmfSk9Pih7aWQ6cyxuYW1lOiQsZGVza3RvcDpmLGxpbmtzOmZ9KSkpIT1udWxsP286W119LHJlY2VudFdhbGxldCgpe3JldHVybiBjLmdldFJlY2VudFdhbGxldCgpfSxyZWNvbWVuZGVkV2FsbGV0cyhlPSExKXt2YXIgbztjb25zdCByPWV8fChvPUcucmVjZW50V2FsbGV0KCkpPT1udWxsP3ZvaWQgMDpvLmlkLHtyZWNvbWVuZGVkV2FsbGV0czphfT1XLnN0YXRlO3JldHVybiBhLmZpbHRlcih0PT5yIT09dC5pZCl9fSxaPXtvbkNvbm5lY3RpbmcoZSl7Yy5nb1RvQ29ubmVjdGluZ1ZpZXcoZSl9LG1hbnVhbFdhbGxldHNUZW1wbGF0ZSgpe3JldHVybiBHLm1hbnVhbFdhbGxldHMoKS5tYXAoZT0+bmA8d2NtLXdhbGxldC1idXR0b24gd2FsbGV0SWQ9XCIke2UuaWR9XCIgbmFtZT1cIiR7ZS5uYW1lfVwiIC5vbkNsaWNrPVwiJHsoKT0+dGhpcy5vbkNvbm5lY3RpbmcoZSl9XCI+PC93Y20td2FsbGV0LWJ1dHRvbj5gKX0scmVjb21lbmRlZFdhbGxldHNUZW1wbGF0ZShlPSExKXtyZXR1cm4gRy5yZWNvbWVuZGVkV2FsbGV0cyhlKS5tYXAobz0+bmA8d2NtLXdhbGxldC1idXR0b24gbmFtZT1cIiR7by5uYW1lfVwiIHdhbGxldElkPVwiJHtvLmlkfVwiIGltYWdlSWQ9XCIke28uaW1hZ2VfaWR9XCIgLm9uQ2xpY2s9XCIkeygpPT50aGlzLm9uQ29ubmVjdGluZyhvKX1cIj48L3djbS13YWxsZXQtYnV0dG9uPmApfSxyZWNlbnRXYWxsZXRUZW1wbGF0ZSgpe2NvbnN0IGU9Ry5yZWNlbnRXYWxsZXQoKTtpZihlKXJldHVybiBuYDx3Y20td2FsbGV0LWJ1dHRvbiBuYW1lPVwiJHtlLm5hbWV9XCIgd2FsbGV0SWQ9XCIke2UuaWR9XCIgaW1hZ2VJZD1cIiR7ayhlLmltYWdlX2lkKX1cIiAucmVjZW50PVwiJHshMH1cIiAub25DbGljaz1cIiR7KCk9PnRoaXMub25Db25uZWN0aW5nKGUpfVwiPjwvd2NtLXdhbGxldC1idXR0b24+YH19LHZvPWdgLndjbS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LndjbS1kZXNrdG9wLXRpdGxlLC53Y20tbW9iaWxlLXRpdGxle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LndjbS1tb2JpbGUtdGl0bGV7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToyMHB4O21hcmdpbi10b3A6LTEwcHh9LndjbS1kZXNrdG9wLXRpdGxle21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjAgMTBweH0ud2NtLXN1YnRpdGxle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LndjbS1zdWJ0aXRsZTpsYXN0LWNoaWxkIHBhdGh7ZmlsbDp2YXIoLS13Y20tY29sb3ItZmctMyl9LndjbS1kZXNrdG9wLXRpdGxlIHN2Zywud2NtLW1vYmlsZS10aXRsZSBzdmd7bWFyZ2luLXJpZ2h0OjZweH0ud2NtLWRlc2t0b3AtdGl0bGUgcGF0aCwud2NtLW1vYmlsZS10aXRsZSBwYXRoe2ZpbGw6dmFyKC0td2NtLWFjY2VudC1jb2xvcil9YDt2YXIgdW89T2JqZWN0LmRlZmluZVByb3BlcnR5LGJvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZm89KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9ibyhvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmdW8obyxyLHQpLHR9O2xldCBFZT1jbGFzcyBleHRlbmRzIHd7cmVuZGVyKCl7Y29uc3R7ZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczplLGVuYWJsZUV4cGxvcmVyOm99PXouc3RhdGUscj1lIT09XCJBTExcIiYmbyxhPVoubWFudWFsV2FsbGV0c1RlbXBsYXRlKCksdD1aLnJlY29tZW5kZWRXYWxsZXRzVGVtcGxhdGUoKTtsZXQgbD1bWi5yZWNlbnRXYWxsZXRUZW1wbGF0ZSgpLC4uLmEsLi4udF07bD1sLmZpbHRlcihCb29sZWFuKTtjb25zdCBpPWwubGVuZ3RoPjR8fHI7bGV0IHM9W107aT9zPWwuc2xpY2UoMCwzKTpzPWw7Y29uc3QgJD1Cb29sZWFuKHMubGVuZ3RoKTtyZXR1cm4gbmA8d2NtLW1vZGFsLWhlYWRlciAuYm9yZGVyPVwiJHshMH1cIiB0aXRsZT1cIkNvbm5lY3QgeW91ciB3YWxsZXRcIiAub25BY3Rpb249XCIke2MuaGFuZGxlVXJpQ29weX1cIiAuYWN0aW9uSWNvbj1cIiR7di5DT1BZX0lDT059XCI+PC93Y20tbW9kYWwtaGVhZGVyPjx3Y20tbW9kYWwtY29udGVudD48ZGl2IGNsYXNzPVwid2NtLW1vYmlsZS10aXRsZVwiPjxkaXYgY2xhc3M9XCJ3Y20tc3VidGl0bGVcIj4ke3YuTU9CSUxFX0lDT059PHdjbS10ZXh0IHZhcmlhbnQ9XCJzbWFsbC1yZWd1bGFyXCIgY29sb3I9XCJhY2NlbnRcIj5Nb2JpbGU8L3djbS10ZXh0PjwvZGl2PjxkaXYgY2xhc3M9XCJ3Y20tc3VidGl0bGVcIj4ke3YuU0NBTl9JQ09OfTx3Y20tdGV4dCB2YXJpYW50PVwic21hbGwtcmVndWxhclwiIGNvbG9yPVwic2Vjb25kYXJ5XCI+U2NhbiB3aXRoIHlvdXIgd2FsbGV0PC93Y20tdGV4dD48L2Rpdj48L2Rpdj48d2NtLXdhbGxldGNvbm5lY3QtcXI+PC93Y20td2FsbGV0Y29ubmVjdC1xcj48L3djbS1tb2RhbC1jb250ZW50PiR7JD9uYDx3Y20tbW9kYWwtZm9vdGVyPjxkaXYgY2xhc3M9XCJ3Y20tZGVza3RvcC10aXRsZVwiPiR7di5ERVNLVE9QX0lDT059PHdjbS10ZXh0IHZhcmlhbnQ9XCJzbWFsbC1yZWd1bGFyXCIgY29sb3I9XCJhY2NlbnRcIj5EZXNrdG9wPC93Y20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPVwid2NtLWdyaWRcIj4ke3N9ICR7aT9uYDx3Y20tdmlldy1hbGwtd2FsbGV0cy1idXR0b24+PC93Y20tdmlldy1hbGwtd2FsbGV0cy1idXR0b24+YDpudWxsfTwvZGl2Pjwvd2NtLW1vZGFsLWZvb3Rlcj5gOm51bGx9YH19O0VlLnN0eWxlcz1baC5nbG9iYWxDc3Msdm9dLEVlPWZvKFtwKFwid2NtLWRlc2t0b3Atd2FsbGV0LXNlbGVjdGlvblwiKV0sRWUpO2NvbnN0IHhvPWdgZGl2e2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLWJnLTIpO3BhZGRpbmc6MTBweCAyMHB4IDE1cHggMjBweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS13Y20tY29sb3ItYmctMyk7dGV4dC1hbGlnbjpjZW50ZXJ9YXtjb2xvcjp2YXIoLS13Y20tYWNjZW50LWNvbG9yKTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O2Rpc3BsYXk6aW5saW5lfWE6YWN0aXZle29wYWNpdHk6Ljh9QG1lZGlhKGhvdmVyOmhvdmVyKXthOmhvdmVye29wYWNpdHk6Ljh9fWA7dmFyIHlvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSwkbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLENvPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/JG8obyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJnlvKG8scix0KSx0fTtsZXQgTWU9Y2xhc3MgZXh0ZW5kcyB3e3JlbmRlcigpe2NvbnN0e3Rlcm1zT2ZTZXJ2aWNlVXJsOmUscHJpdmFjeVBvbGljeVVybDpvfT16LnN0YXRlO3JldHVybiBlPz9vP25gPGRpdj48d2NtLXRleHQgdmFyaWFudD1cInNtYWxsLXJlZ3VsYXJcIiBjb2xvcj1cInNlY29uZGFyeVwiPkJ5IGNvbm5lY3RpbmcgeW91ciB3YWxsZXQgdG8gdGhpcyBhcHAsIHlvdSBhZ3JlZSB0byB0aGUgYXBwJ3MgJHtlP25gPGEgaHJlZj1cIiR7ZX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+VGVybXMgb2YgU2VydmljZTwvYT5gOm51bGx9ICR7ZSYmbz9cImFuZFwiOm51bGx9ICR7bz9uYDxhIGhyZWY9XCIke299XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlByaXZhY3kgUG9saWN5PC9hPmA6bnVsbH08L3djbS10ZXh0PjwvZGl2PmA6bnVsbH19O01lLnN0eWxlcz1baC5nbG9iYWxDc3MseG9dLE1lPUNvKFtwKFwid2NtLWxlZ2FsLW5vdGljZVwiKV0sTWUpO2NvbnN0IGtvPWdgZGl2e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7bWFyZ2luOjAgLTEwcHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cm93LWdhcDoxMHB4fWA7dmFyIE9vPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxXbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLElvPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/V28obyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJk9vKG8scix0KSx0fTtsZXQgTGU9Y2xhc3MgZXh0ZW5kcyB3e29uUXJjb2RlKCl7eC5wdXNoKFwiUXJjb2RlXCIpfXJlbmRlcigpe2NvbnN0e2V4cGxvcmVyRXhjbHVkZWRXYWxsZXRJZHM6ZSxlbmFibGVFeHBsb3JlcjpvfT16LnN0YXRlLHI9ZSE9PVwiQUxMXCImJm8sYT1aLm1hbnVhbFdhbGxldHNUZW1wbGF0ZSgpLHQ9Wi5yZWNvbWVuZGVkV2FsbGV0c1RlbXBsYXRlKCk7bGV0IGw9W1oucmVjZW50V2FsbGV0VGVtcGxhdGUoKSwuLi5hLC4uLnRdO2w9bC5maWx0ZXIoQm9vbGVhbik7Y29uc3QgaT1sLmxlbmd0aD44fHxyO2xldCBzPVtdO2k/cz1sLnNsaWNlKDAsNyk6cz1sO2NvbnN0ICQ9Qm9vbGVhbihzLmxlbmd0aCk7cmV0dXJuIG5gPHdjbS1tb2RhbC1oZWFkZXIgdGl0bGU9XCJDb25uZWN0IHlvdXIgd2FsbGV0XCIgLm9uQWN0aW9uPVwiJHt0aGlzLm9uUXJjb2RlfVwiIC5hY3Rpb25JY29uPVwiJHt2LlFSQ09ERV9JQ09OfVwiPjwvd2NtLW1vZGFsLWhlYWRlcj4keyQ/bmA8d2NtLW1vZGFsLWNvbnRlbnQ+PGRpdj4ke3N9ICR7aT9uYDx3Y20tdmlldy1hbGwtd2FsbGV0cy1idXR0b24+PC93Y20tdmlldy1hbGwtd2FsbGV0cy1idXR0b24+YDpudWxsfTwvZGl2Pjwvd2NtLW1vZGFsLWNvbnRlbnQ+YDpudWxsfWB9fTtMZS5zdHlsZXM9W2guZ2xvYmFsQ3NzLGtvXSxMZT1JbyhbcChcIndjbS1tb2JpbGUtd2FsbGV0LXNlbGVjdGlvblwiKV0sTGUpO2NvbnN0IEVvPWdgOmhvc3R7YWxsOmluaXRpYWx9LndjbS1vdmVybGF5e3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6dmFyKC0td2NtLXotaW5kZXgpO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13Y20tb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0td2NtLW92ZXJsYXktYmFja2Ryb3AtZmlsdGVyKX1AbWVkaWEobWF4LWhlaWdodDo3MjBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey53Y20tb3ZlcmxheXtvdmVyZmxvdzpzY3JvbGw7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjIwcHggMH19LndjbS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30ud2NtLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6MzYwcHg7d2lkdGg6MTAwJTtvdXRsaW5lOjA7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20tYmFja2dyb3VuZC1ib3JkZXItcmFkaXVzKSB2YXIoLS13Y20tYmFja2dyb3VuZC1ib3JkZXItcmFkaXVzKSB2YXIoLS13Y20tY29udGFpbmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLXdjbS1jb250YWluZXItYm9yZGVyLXJhZGl1cyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13Y20tY29sb3Itb3ZlcmxheSk7b3ZlcmZsb3c6aGlkZGVufS53Y20tY2FyZHt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6dmFyKC0td2NtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKTtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDZweCAxNHB4IC02cHggcmdiYSgxMCwxNiwzMSwuMTIpLDAgMTBweCAzMnB4IC00cHggcmdiYSgxMCwxNiwzMSwuMSksMCAwIDAgMXB4IHZhcigtLXdjbS1jb2xvci1vdmVybGF5KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdjbS1jb2xvci1iZy0xKTtjb2xvcjp2YXIoLS13Y20tY29sb3ItZmctMSl9QG1lZGlhKG1heC13aWR0aDo2MDBweCl7LndjbS1jb250YWluZXJ7bWF4LXdpZHRoOjQ0MHB4O2JvcmRlci1yYWRpdXM6dmFyKC0td2NtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgdmFyKC0td2NtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgMCAwfS53Y20tY2FyZHtib3JkZXItcmFkaXVzOnZhcigtLXdjbS1jb250YWluZXItYm9yZGVyLXJhZGl1cykgdmFyKC0td2NtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKSAwIDB9LndjbS1vdmVybGF5e2FsaWduLWl0ZW1zOmZsZXgtZW5kfX1AbWVkaWEobWF4LXdpZHRoOjQ0MHB4KXsud2NtLWNvbnRhaW5lcntib3JkZXI6MH19YDt2YXIgTW89T2JqZWN0LmRlZmluZVByb3BlcnR5LExvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsUmU9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9MbyhvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmTW8obyxyLHQpLHR9O2xldCBhZT1jbGFzcyBleHRlbmRzIHd7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMub3Blbj0hMSx0aGlzLmFjdGl2ZT0hMSx0aGlzLnVuc3Vic2NyaWJlTW9kYWw9dm9pZCAwLHRoaXMuYWJvcnRDb250cm9sbGVyPXZvaWQgMCx0aGlzLnVuc3Vic2NyaWJlTW9kYWw9Z2Uuc3Vic2NyaWJlKGU9PntlLm9wZW4/dGhpcy5vbk9wZW5Nb2RhbEV2ZW50KCk6dGhpcy5vbkNsb3NlTW9kYWxFdmVudCgpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTsoZT10aGlzLnVuc3Vic2NyaWJlTW9kYWwpPT1udWxsfHxlLmNhbGwodGhpcyl9Z2V0IG92ZXJsYXlFbCgpe3JldHVybiBjLmdldFNoYWRvd1Jvb3RFbGVtZW50KHRoaXMsXCIud2NtLW92ZXJsYXlcIil9Z2V0IGNvbnRhaW5lckVsKCl7cmV0dXJuIGMuZ2V0U2hhZG93Um9vdEVsZW1lbnQodGhpcyxcIi53Y20tY29udGFpbmVyXCIpfXRvZ2dsZUJvZHlTY3JvbGwoZSl7aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImJvZHlcIikpaWYoZSl7Y29uc3Qgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIndjbS1zdHlsZXNcIik7bz8ucmVtb3ZlKCl9ZWxzZSBkb2N1bWVudC5oZWFkLmluc2VydEFkamFjZW50SFRNTChcImJlZm9yZWVuZFwiLCc8c3R5bGUgaWQ9XCJ3Y20tc3R5bGVzXCI+aHRtbCxib2R5e3RvdWNoLWFjdGlvbjpub25lO292ZXJmbG93OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW47fTwvc3R5bGU+Jyl9b25DbG9zZU1vZGFsKGUpe2UudGFyZ2V0PT09ZS5jdXJyZW50VGFyZ2V0JiZnZS5jbG9zZSgpfW9uT3Blbk1vZGFsRXZlbnQoKXt0aGlzLnRvZ2dsZUJvZHlTY3JvbGwoITEpLHRoaXMuYWRkS2V5Ym9hcmRFdmVudHMoKSx0aGlzLm9wZW49ITAsc2V0VGltZW91dChhc3luYygpPT57Y29uc3QgZT1jLmlzTW9iaWxlQW5pbWF0aW9uKCk/e3k6W1wiNTB2aFwiLFwiMHZoXCJdfTp7c2NhbGU6Wy45OCwxXX0sbz0uMSxyPS4yO2F3YWl0IFByb21pc2UuYWxsKFtIKHRoaXMub3ZlcmxheUVsLHtvcGFjaXR5OlswLDFdfSx7ZGVsYXk6byxkdXJhdGlvbjpyfSkuZmluaXNoZWQsSCh0aGlzLmNvbnRhaW5lckVsLGUse2RlbGF5Om8sZHVyYXRpb246cn0pLmZpbmlzaGVkXSksdGhpcy5hY3RpdmU9ITB9LDApfWFzeW5jIG9uQ2xvc2VNb2RhbEV2ZW50KCl7dGhpcy50b2dnbGVCb2R5U2Nyb2xsKCEwKSx0aGlzLnJlbW92ZUtleWJvYXJkRXZlbnRzKCk7Y29uc3QgZT1jLmlzTW9iaWxlQW5pbWF0aW9uKCk/e3k6W1wiMHZoXCIsXCI1MHZoXCJdfTp7c2NhbGU6WzEsLjk4XX0sbz0uMjthd2FpdCBQcm9taXNlLmFsbChbSCh0aGlzLm92ZXJsYXlFbCx7b3BhY2l0eTpbMSwwXX0se2R1cmF0aW9uOm99KS5maW5pc2hlZCxIKHRoaXMuY29udGFpbmVyRWwsZSx7ZHVyYXRpb246b30pLmZpbmlzaGVkXSksdGhpcy5jb250YWluZXJFbC5yZW1vdmVBdHRyaWJ1dGUoXCJzdHlsZVwiKSx0aGlzLmFjdGl2ZT0hMSx0aGlzLm9wZW49ITF9YWRkS2V5Ym9hcmRFdmVudHMoKXt0aGlzLmFib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGU9Pnt2YXIgbztlLmtleT09PVwiRXNjYXBlXCI/Z2UuY2xvc2UoKTplLmtleT09PVwiVGFiXCImJigobz1lLnRhcmdldCkhPW51bGwmJm8udGFnTmFtZS5pbmNsdWRlcyhcIndjbS1cIil8fHRoaXMuY29udGFpbmVyRWwuZm9jdXMoKSl9LHRoaXMuYWJvcnRDb250cm9sbGVyKSx0aGlzLmNvbnRhaW5lckVsLmZvY3VzKCl9cmVtb3ZlS2V5Ym9hcmRFdmVudHMoKXt2YXIgZTsoZT10aGlzLmFib3J0Q29udHJvbGxlcik9PW51bGx8fGUuYWJvcnQoKSx0aGlzLmFib3J0Q29udHJvbGxlcj12b2lkIDB9cmVuZGVyKCl7Y29uc3QgZT17XCJ3Y20tb3ZlcmxheVwiOiEwLFwid2NtLWFjdGl2ZVwiOnRoaXMuYWN0aXZlfTtyZXR1cm4gbmA8d2NtLWV4cGxvcmVyLWNvbnRleHQ+PC93Y20tZXhwbG9yZXItY29udGV4dD48d2NtLXRoZW1lLWNvbnRleHQ+PC93Y20tdGhlbWUtY29udGV4dD48ZGl2IGlkPVwid2NtLW1vZGFsXCIgY2xhc3M9XCIke1AoZSl9XCIgQGNsaWNrPVwiJHt0aGlzLm9uQ2xvc2VNb2RhbH1cIiByb2xlPVwiYWxlcnRkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPjxkaXYgY2xhc3M9XCJ3Y20tY29udGFpbmVyXCIgdGFiaW5kZXg9XCIwXCI+JHt0aGlzLm9wZW4/bmA8d2NtLW1vZGFsLWJhY2tjYXJkPjwvd2NtLW1vZGFsLWJhY2tjYXJkPjxkaXYgY2xhc3M9XCJ3Y20tY2FyZFwiPjx3Y20tbW9kYWwtcm91dGVyPjwvd2NtLW1vZGFsLXJvdXRlcj48d2NtLW1vZGFsLXRvYXN0Pjwvd2NtLW1vZGFsLXRvYXN0PjwvZGl2PmA6bnVsbH08L2Rpdj48L2Rpdj5gfX07YWUuc3R5bGVzPVtoLmdsb2JhbENzcyxFb10sUmUoW0koKV0sYWUucHJvdG90eXBlLFwib3BlblwiLDIpLFJlKFtJKCldLGFlLnByb3RvdHlwZSxcImFjdGl2ZVwiLDIpLGFlPVJlKFtwKFwid2NtLW1vZGFsXCIpXSxhZSk7Y29uc3QgUm89Z2BkaXZ7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6MTVweH1zbG90e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDVweH13Y20tYnV0dG9ue21hcmdpbjowIDVweH1gO3ZhciBBbz1PYmplY3QuZGVmaW5lUHJvcGVydHksUG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixsZT0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP1BvKG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZBbyhvLHIsdCksdH07bGV0IEI9Y2xhc3MgZXh0ZW5kcyB3e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlzTW9iaWxlPSExLHRoaXMuaXNEZXNrdG9wPSExLHRoaXMuaXNXZWI9ITEsdGhpcy5pc1JldHJ5PSExfW9uTW9iaWxlKCl7bS5pc01vYmlsZSgpP3gucmVwbGFjZShcIk1vYmlsZUNvbm5lY3RpbmdcIik6eC5yZXBsYWNlKFwiTW9iaWxlUXJjb2RlQ29ubmVjdGluZ1wiKX1vbkRlc2t0b3AoKXt4LnJlcGxhY2UoXCJEZXNrdG9wQ29ubmVjdGluZ1wiKX1vbldlYigpe3gucmVwbGFjZShcIldlYkNvbm5lY3RpbmdcIil9cmVuZGVyKCl7cmV0dXJuIG5gPGRpdj4ke3RoaXMuaXNSZXRyeT9uYDxzbG90Pjwvc2xvdD5gOm51bGx9ICR7dGhpcy5pc01vYmlsZT9uYDx3Y20tYnV0dG9uIC5vbkNsaWNrPVwiJHt0aGlzLm9uTW9iaWxlfVwiIC5pY29uTGVmdD1cIiR7di5NT0JJTEVfSUNPTn1cIiB2YXJpYW50PVwib3V0bGluZVwiPk1vYmlsZTwvd2NtLWJ1dHRvbj5gOm51bGx9ICR7dGhpcy5pc0Rlc2t0b3A/bmA8d2NtLWJ1dHRvbiAub25DbGljaz1cIiR7dGhpcy5vbkRlc2t0b3B9XCIgLmljb25MZWZ0PVwiJHt2LkRFU0tUT1BfSUNPTn1cIiB2YXJpYW50PVwib3V0bGluZVwiPkRlc2t0b3A8L3djbS1idXR0b24+YDpudWxsfSAke3RoaXMuaXNXZWI/bmA8d2NtLWJ1dHRvbiAub25DbGljaz1cIiR7dGhpcy5vbldlYn1cIiAuaWNvbkxlZnQ9XCIke3YuR0xPQkVfSUNPTn1cIiB2YXJpYW50PVwib3V0bGluZVwiPldlYjwvd2NtLWJ1dHRvbj5gOm51bGx9PC9kaXY+YH19O0Iuc3R5bGVzPVtoLmdsb2JhbENzcyxSb10sbGUoW2Qoe3R5cGU6Qm9vbGVhbn0pXSxCLnByb3RvdHlwZSxcImlzTW9iaWxlXCIsMiksbGUoW2Qoe3R5cGU6Qm9vbGVhbn0pXSxCLnByb3RvdHlwZSxcImlzRGVza3RvcFwiLDIpLGxlKFtkKHt0eXBlOkJvb2xlYW59KV0sQi5wcm90b3R5cGUsXCJpc1dlYlwiLDIpLGxlKFtkKHt0eXBlOkJvb2xlYW59KV0sQi5wcm90b3R5cGUsXCJpc1JldHJ5XCIsMiksQj1sZShbcChcIndjbS1wbGF0Zm9ybS1zZWxlY3Rpb25cIildLEIpO2NvbnN0IFRvPWdgYnV0dG9ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzo1cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXdjbS1idXR0b24taG92ZXItaGlnaGxpZ2h0LWJvcmRlci1yYWRpdXMpO2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS53Y20taWNvbnN7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7cGFkZGluZzo3cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13Y20td2FsbGV0LWljb24tYm9yZGVyLXJhZGl1cyk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206NXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLWJnLTIpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHZhcigtLXdjbS1jb2xvci1vdmVybGF5KX1idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfUBtZWRpYShob3Zlcjpob3Zlcil7YnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0td2NtLWNvbG9yLW92ZXJsYXkpfX0ud2NtLWljb25zIGltZ3t3aWR0aDoyMXB4O2hlaWdodDoyMXB4O29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtib3JkZXItcmFkaXVzOmNhbGModmFyKC0td2NtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMpLyAyKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXdjbS1jb2xvci1vdmVybGF5KX0ud2NtLWljb25zIHN2Z3t3aWR0aDoyMXB4O2hlaWdodDoyMXB4fS53Y20taWNvbnMgaW1nOm50aC1jaGlsZCgxKSwud2NtLWljb25zIGltZzpudGgtY2hpbGQoMiksLndjbS1pY29ucyBzdmc6bnRoLWNoaWxkKDEpLC53Y20taWNvbnMgc3ZnOm50aC1jaGlsZCgyKXttYXJnaW4tYm90dG9tOjRweH13Y20tdGV4dHt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfSN3YWxsZXQtcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXdjbS1jb2xvci1iZy0zKX0jd2FsbGV0LXBsYWNlaG9sZGVyLWRhc2h7c3Ryb2tlOnZhcigtLXdjbS1jb2xvci1vdmVybGF5KX1gO3ZhciBqbz1PYmplY3QuZGVmaW5lUHJvcGVydHksX289T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixEbz0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP19vKG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZqbyhvLHIsdCksdH07bGV0IEFlPWNsYXNzIGV4dGVuZHMgd3tvbkNsaWNrKCl7eC5wdXNoKFwiV2FsbGV0RXhwbG9yZXJcIil9cmVuZGVyKCl7Y29uc3R7cmVjb21lbmRlZFdhbGxldHM6ZX09Vy5zdGF0ZSxvPUcubWFudWFsV2FsbGV0cygpLHI9Wy4uLmUsLi4ub10ucmV2ZXJzZSgpLnNsaWNlKDAsNCk7cmV0dXJuIG5gPGJ1dHRvbiBAY2xpY2s9XCIke3RoaXMub25DbGlja31cIj48ZGl2IGNsYXNzPVwid2NtLWljb25zXCI+JHtyLm1hcChhPT57Y29uc3QgdD1jLmdldFdhbGxldEljb24oYSk7aWYodClyZXR1cm4gbmA8aW1nIGNyb3Nzb3JpZ2luPVwiYW5vbnltb3VzXCIgc3JjPVwiJHt0fVwiPmA7Y29uc3QgbD1jLmdldFdhbGxldEljb24oe2lkOmEuaWR9KTtyZXR1cm4gbD9uYDxpbWcgY3Jvc3NvcmlnaW49XCJhbm9ueW1vdXNcIiBzcmM9XCIke2x9XCI+YDp2LldBTExFVF9QTEFDRUhPTERFUn0pfSAke1suLi5BcnJheSg0LXIubGVuZ3RoKV0ubWFwKCgpPT52LldBTExFVF9QTEFDRUhPTERFUil9PC9kaXY+PHdjbS10ZXh0IHZhcmlhbnQ9XCJ4c21hbGwtcmVndWxhclwiPlZpZXcgQWxsPC93Y20tdGV4dD48L2J1dHRvbj5gfX07QWUuc3R5bGVzPVtoLmdsb2JhbENzcyxUb10sQWU9RG8oW3AoXCJ3Y20tdmlldy1hbGwtd2FsbGV0cy1idXR0b25cIildLEFlKTtjb25zdCBObz1nYC53Y20tcXItY29udGFpbmVye3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2FzcGVjdC1yYXRpbzoxLzF9YDt2YXIgWm89T2JqZWN0LmRlZmluZVByb3BlcnR5LFNvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZGU9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9TbyhvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmWm8obyxyLHQpLHR9O2xldCBZPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53YWxsZXRJZD1cIlwiLHRoaXMuaW1hZ2VJZD1cIlwiLHRoaXMudXJpPVwiXCIsc2V0VGltZW91dCgoKT0+e2NvbnN0e3dhbGxldENvbm5lY3RVcmk6ZX09Ui5zdGF0ZTt0aGlzLnVyaT1lfSwwKX1nZXQgb3ZlcmxheUVsKCl7cmV0dXJuIGMuZ2V0U2hhZG93Um9vdEVsZW1lbnQodGhpcyxcIi53Y20tcXItY29udGFpbmVyXCIpfXJlbmRlcigpe3JldHVybiBuYDxkaXYgY2xhc3M9XCJ3Y20tcXItY29udGFpbmVyXCI+JHt0aGlzLnVyaT9uYDx3Y20tcXJjb2RlIHNpemU9XCIke3RoaXMub3ZlcmxheUVsLm9mZnNldFdpZHRofVwiIHVyaT1cIiR7dGhpcy51cml9XCIgd2FsbGV0SWQ9XCIke2sodGhpcy53YWxsZXRJZCl9XCIgaW1hZ2VJZD1cIiR7ayh0aGlzLmltYWdlSWQpfVwiPjwvd2NtLXFyY29kZT5gOm5gPHdjbS1zcGlubmVyPjwvd2NtLXNwaW5uZXI+YH08L2Rpdj5gfX07WS5zdHlsZXM9W2guZ2xvYmFsQ3NzLE5vXSxkZShbZCgpXSxZLnByb3RvdHlwZSxcIndhbGxldElkXCIsMiksZGUoW2QoKV0sWS5wcm90b3R5cGUsXCJpbWFnZUlkXCIsMiksZGUoW0koKV0sWS5wcm90b3R5cGUsXCJ1cmlcIiwyKSxZPWRlKFtwKFwid2NtLXdhbGxldGNvbm5lY3QtcXJcIildLFkpO3ZhciBCbz1PYmplY3QuZGVmaW5lUHJvcGVydHksVW89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixIbz0oZSxvLHIsYSk9Pntmb3IodmFyIHQ9YT4xP3ZvaWQgMDphP1VvKG8scik6byxsPWUubGVuZ3RoLTEsaTtsPj0wO2wtLSkoaT1lW2xdKSYmKHQ9KGE/aShvLHIsdCk6aSh0KSl8fHQpO3JldHVybiBhJiZ0JiZCbyhvLHIsdCksdH07bGV0IFBlPWNsYXNzIGV4dGVuZHMgd3t2aWV3VGVtcGxhdGUoKXtyZXR1cm4gbS5pc0FuZHJvaWQoKT9uYDx3Y20tYW5kcm9pZC13YWxsZXQtc2VsZWN0aW9uPjwvd2NtLWFuZHJvaWQtd2FsbGV0LXNlbGVjdGlvbj5gOm0uaXNNb2JpbGUoKT9uYDx3Y20tbW9iaWxlLXdhbGxldC1zZWxlY3Rpb24+PC93Y20tbW9iaWxlLXdhbGxldC1zZWxlY3Rpb24+YDpuYDx3Y20tZGVza3RvcC13YWxsZXQtc2VsZWN0aW9uPjwvd2NtLWRlc2t0b3Atd2FsbGV0LXNlbGVjdGlvbj5gfXJlbmRlcigpe3JldHVybiBuYCR7dGhpcy52aWV3VGVtcGxhdGUoKX08d2NtLWxlZ2FsLW5vdGljZT48L3djbS1sZWdhbC1ub3RpY2U+YH19O1BlLnN0eWxlcz1baC5nbG9iYWxDc3NdLFBlPUhvKFtwKFwid2NtLWNvbm5lY3Qtd2FsbGV0LXZpZXdcIildLFBlKTtjb25zdCB6bz1nYHdjbS1pbmZvLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO3BhZGRpbmc6NXB4IDB9d2NtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXJ9YDt2YXIgVm89T2JqZWN0LmRlZmluZVByb3BlcnR5LEZvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsS2U9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9GbyhvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmVm8obyxyLHQpLHR9O2xldCBtZT1jbGFzcyBleHRlbmRzIHd7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuaXNFcnJvcj0hMSx0aGlzLm9wZW5EZXNrdG9wQXBwKCl9b25Gb3JtYXRBbmRSZWRpcmVjdChlKXtjb25zdHtkZXNrdG9wOm8sbmFtZTpyfT1tLmdldFdhbGxldFJvdXRlckRhdGEoKSxhPW8/Lm5hdGl2ZTtpZihhKXtjb25zdCB0PW0uZm9ybWF0TmF0aXZlVXJsKGEsZSxyKTttLm9wZW5IcmVmKHQsXCJfc2VsZlwiKX19b3BlbkRlc2t0b3BBcHAoKXtjb25zdHt3YWxsZXRDb25uZWN0VXJpOmV9PVIuc3RhdGUsbz1tLmdldFdhbGxldFJvdXRlckRhdGEoKTtjLnNldFJlY2VudFdhbGxldChvKSxlJiZ0aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSl9cmVuZGVyKCl7Y29uc3R7bmFtZTplLGlkOm8saW1hZ2VfaWQ6cn09bS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCkse2lzTW9iaWxlOmEsaXNXZWI6dH09Yy5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKTtyZXR1cm4gbmA8d2NtLW1vZGFsLWhlYWRlciB0aXRsZT1cIiR7ZX1cIiAub25BY3Rpb249XCIke2MuaGFuZGxlVXJpQ29weX1cIiAuYWN0aW9uSWNvbj1cIiR7di5DT1BZX0lDT059XCI+PC93Y20tbW9kYWwtaGVhZGVyPjx3Y20tbW9kYWwtY29udGVudD48d2NtLWNvbm5lY3Rvci13YWl0aW5nIHdhbGxldElkPVwiJHtvfVwiIGltYWdlSWQ9XCIke2socil9XCIgbGFiZWw9XCIke2BDb250aW51ZSBpbiAke2V9Li4uYH1cIiAuaXNFcnJvcj1cIiR7dGhpcy5pc0Vycm9yfVwiPjwvd2NtLWNvbm5lY3Rvci13YWl0aW5nPjwvd2NtLW1vZGFsLWNvbnRlbnQ+PHdjbS1pbmZvLWZvb3Rlcj48d2NtLXRleHQgY29sb3I9XCJzZWNvbmRhcnlcIiB2YXJpYW50PVwic21hbGwtdGhpblwiPiR7YENvbm5lY3Rpb24gY2FuIGNvbnRpbnVlIGxvYWRpbmcgaWYgJHtlfSBpcyBub3QgaW5zdGFsbGVkIG9uIHlvdXIgZGV2aWNlYH08L3djbS10ZXh0Pjx3Y20tcGxhdGZvcm0tc2VsZWN0aW9uIC5pc01vYmlsZT1cIiR7YX1cIiAuaXNXZWI9XCIke3R9XCIgLmlzUmV0cnk9XCIkeyEwfVwiPjx3Y20tYnV0dG9uIC5vbkNsaWNrPVwiJHt0aGlzLm9wZW5EZXNrdG9wQXBwLmJpbmQodGhpcyl9XCIgLmljb25SaWdodD1cIiR7di5SRVRSWV9JQ09OfVwiPlJldHJ5PC93Y20tYnV0dG9uPjwvd2NtLXBsYXRmb3JtLXNlbGVjdGlvbj48L3djbS1pbmZvLWZvb3Rlcj5gfX07bWUuc3R5bGVzPVtoLmdsb2JhbENzcyx6b10sS2UoW0koKV0sbWUucHJvdG90eXBlLFwiaXNFcnJvclwiLDIpLG1lPUtlKFtwKFwid2NtLWRlc2t0b3AtY29ubmVjdGluZy12aWV3XCIpXSxtZSk7Y29uc3QgcW89Z2B3Y20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXdjbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfXdjbS1idXR0b257bWFyZ2luLXRvcDoxNXB4fWA7dmFyIFFvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxLbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFlvPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/S28obyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJlFvKG8scix0KSx0fTtsZXQgVGU9Y2xhc3MgZXh0ZW5kcyB3e29uSW5zdGFsbChlKXtlJiZtLm9wZW5IcmVmKGUsXCJfYmxhbmtcIil9cmVuZGVyKCl7Y29uc3R7bmFtZTplLGlkOm8saW1hZ2VfaWQ6cixob21lcGFnZTphfT1tLmdldFdhbGxldFJvdXRlckRhdGEoKTtyZXR1cm4gbmA8d2NtLW1vZGFsLWhlYWRlciB0aXRsZT1cIiR7ZX1cIj48L3djbS1tb2RhbC1oZWFkZXI+PHdjbS1tb2RhbC1jb250ZW50Pjx3Y20tY29ubmVjdG9yLXdhaXRpbmcgd2FsbGV0SWQ9XCIke299XCIgaW1hZ2VJZD1cIiR7ayhyKX1cIiBsYWJlbD1cIk5vdCBEZXRlY3RlZFwiIC5pc1N0YWxlPVwiJHshMH1cIj48L3djbS1jb25uZWN0b3Itd2FpdGluZz48L3djbS1tb2RhbC1jb250ZW50Pjx3Y20taW5mby1mb290ZXI+PHdjbS10ZXh0IGNvbG9yPVwic2Vjb25kYXJ5XCIgdmFyaWFudD1cInNtYWxsLXRoaW5cIj4ke2BEb3dubG9hZCAke2V9IHRvIGNvbnRpbnVlLiBJZiBtdWx0aXBsZSBicm93c2VyIGV4dGVuc2lvbnMgYXJlIGluc3RhbGxlZCwgZGlzYWJsZSBub24gJHtlfSBvbmVzIGFuZCB0cnkgYWdhaW5gfTwvd2NtLXRleHQ+PHdjbS1idXR0b24gLm9uQ2xpY2s9XCIkeygpPT50aGlzLm9uSW5zdGFsbChhKX1cIiAuaWNvbkxlZnQ9XCIke3YuQVJST1dfRE9XTl9JQ09OfVwiPkRvd25sb2FkPC93Y20tYnV0dG9uPjwvd2NtLWluZm8tZm9vdGVyPmB9fTtUZS5zdHlsZXM9W2guZ2xvYmFsQ3NzLHFvXSxUZT1ZbyhbcChcIndjbS1pbnN0YWxsLXdhbGxldC12aWV3XCIpXSxUZSk7Y29uc3QgR289Z2B3Y20td2FsbGV0LWltYWdle2JvcmRlci1yYWRpdXM6dmFyKC0td2NtLXdhbGxldC1pY29uLWxhcmdlLWJvcmRlci1yYWRpdXMpO3dpZHRoOjk2cHg7aGVpZ2h0Ojk2cHg7bWFyZ2luLWJvdHRvbToyMHB4fXdjbS1pbmZvLWZvb3RlcntkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0ud2NtLWFwcC1zdG9yZXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ud2NtLWFwcC1zdG9yZSB3Y20td2FsbGV0LWltYWdle21hcmdpbi1yaWdodDoxMHB4O21hcmdpbi1ib3R0b206MDt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0td2NtLXdhbGxldC1pY29uLXNtYWxsLWJvcmRlci1yYWRpdXMpfS53Y20tYXBwLXN0b3JlIGRpdntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS53Y20tYXBwLXN0b3JlIHdjbS1idXR0b257bWFyZ2luLXJpZ2h0Oi0xMHB4fS53Y20tbm90ZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4IDB9LndjbS1ub3RlIHdjbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfXdjbS1wbGF0Zm9ybS1zZWxlY3Rpb257bWFyZ2luLXRvcDotMTVweH0ud2NtLW5vdGUgd2NtLXRleHR7bWFyZ2luLXRvcDoxNXB4fS53Y20tbm90ZSB3Y20tdGV4dCBzcGFue2NvbG9yOnZhcigtLXdjbS1hY2NlbnQtY29sb3IpfWA7dmFyIFhvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxKbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFllPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/Sm8obyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJlhvKG8scix0KSx0fTtsZXQgaGU9Y2xhc3MgZXh0ZW5kcyB3e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmlzRXJyb3I9ITEsdGhpcy5vcGVuTW9iaWxlQXBwKCl9b25Gb3JtYXRBbmRSZWRpcmVjdChlLG89ITEpe2NvbnN0e21vYmlsZTpyLG5hbWU6YX09bS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCksdD1yPy5uYXRpdmUsbD1yPy51bml2ZXJzYWw7aWYodCYmIW8pe2NvbnN0IGk9bS5mb3JtYXROYXRpdmVVcmwodCxlLGEpO20ub3BlbkhyZWYoaSxcIl9zZWxmXCIpfWVsc2UgaWYobCl7Y29uc3QgaT1tLmZvcm1hdFVuaXZlcnNhbFVybChsLGUsYSk7bS5vcGVuSHJlZihpLFwiX3NlbGZcIil9fW9wZW5Nb2JpbGVBcHAoZT0hMSl7Y29uc3R7d2FsbGV0Q29ubmVjdFVyaTpvfT1SLnN0YXRlLHI9bS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCk7Yy5zZXRSZWNlbnRXYWxsZXQociksbyYmdGhpcy5vbkZvcm1hdEFuZFJlZGlyZWN0KG8sZSl9b25Hb1RvQXBwU3RvcmUoZSl7ZSYmbS5vcGVuSHJlZihlLFwiX2JsYW5rXCIpfXJlbmRlcigpe2NvbnN0e25hbWU6ZSxpZDpvLGltYWdlX2lkOnIsYXBwOmEsbW9iaWxlOnR9PW0uZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc1dlYjpsfT1jLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpLGk9YT8uaW9zLHM9dD8udW5pdmVyc2FsO3JldHVybiBuYDx3Y20tbW9kYWwtaGVhZGVyIHRpdGxlPVwiJHtlfVwiPjwvd2NtLW1vZGFsLWhlYWRlcj48d2NtLW1vZGFsLWNvbnRlbnQ+PHdjbS1jb25uZWN0b3Itd2FpdGluZyB3YWxsZXRJZD1cIiR7b31cIiBpbWFnZUlkPVwiJHtrKHIpfVwiIGxhYmVsPVwiVGFwICdPcGVuJyB0byBjb250aW51ZeKAplwiIC5pc0Vycm9yPVwiJHt0aGlzLmlzRXJyb3J9XCI+PC93Y20tY29ubmVjdG9yLXdhaXRpbmc+PC93Y20tbW9kYWwtY29udGVudD48d2NtLWluZm8tZm9vdGVyIGNsYXNzPVwid2NtLW5vdGVcIj48d2NtLXBsYXRmb3JtLXNlbGVjdGlvbiAuaXNXZWI9XCIke2x9XCIgLmlzUmV0cnk9XCIkeyEwfVwiPjx3Y20tYnV0dG9uIC5vbkNsaWNrPVwiJHsoKT0+dGhpcy5vcGVuTW9iaWxlQXBwKCExKX1cIiAuaWNvblJpZ2h0PVwiJHt2LlJFVFJZX0lDT059XCI+UmV0cnk8L3djbS1idXR0b24+PC93Y20tcGxhdGZvcm0tc2VsZWN0aW9uPiR7cz9uYDx3Y20tdGV4dCBjb2xvcj1cInNlY29uZGFyeVwiIHZhcmlhbnQ9XCJzbWFsbC10aGluXCI+U3RpbGwgZG9lc24ndCB3b3JrPyA8c3BhbiB0YWJpbmRleD1cIjBcIiBAY2xpY2s9XCIkeygpPT50aGlzLm9wZW5Nb2JpbGVBcHAoITApfVwiPlRyeSB0aGlzIGFsdGVybmF0ZSBsaW5rPC9zcGFuPjwvd2NtLXRleHQ+YDpudWxsfTwvd2NtLWluZm8tZm9vdGVyPjx3Y20taW5mby1mb290ZXIgY2xhc3M9XCJ3Y20tYXBwLXN0b3JlXCI+PGRpdj48d2NtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD1cIiR7b31cIiBpbWFnZUlkPVwiJHtrKHIpfVwiPjwvd2NtLXdhbGxldC1pbWFnZT48d2NtLXRleHQ+JHtgR2V0ICR7ZX1gfTwvd2NtLXRleHQ+PC9kaXY+PHdjbS1idXR0b24gLmljb25SaWdodD1cIiR7di5BUlJPV19SSUdIVF9JQ09OfVwiIC5vbkNsaWNrPVwiJHsoKT0+dGhpcy5vbkdvVG9BcHBTdG9yZShpKX1cIiB2YXJpYW50PVwiZ2hvc3RcIj5BcHAgU3RvcmU8L3djbS1idXR0b24+PC93Y20taW5mby1mb290ZXI+YH19O2hlLnN0eWxlcz1baC5nbG9iYWxDc3MsR29dLFllKFtJKCldLGhlLnByb3RvdHlwZSxcImlzRXJyb3JcIiwyKSxoZT1ZZShbcChcIndjbS1tb2JpbGUtY29ubmVjdGluZy12aWV3XCIpXSxoZSk7Y29uc3QgZXI9Z2B3Y20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXdjbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfWA7dmFyIHRyPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxvcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHJyPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/b3IobyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJnRyKG8scix0KSx0fTtsZXQgamU9Y2xhc3MgZXh0ZW5kcyB3e3JlbmRlcigpe2NvbnN0e25hbWU6ZSxpZDpvLGltYWdlX2lkOnJ9PW0uZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc0Rlc2t0b3A6YSxpc1dlYjp0fT1jLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpO3JldHVybiBuYDx3Y20tbW9kYWwtaGVhZGVyIHRpdGxlPVwiJHtlfVwiIC5vbkFjdGlvbj1cIiR7Yy5oYW5kbGVVcmlDb3B5fVwiIC5hY3Rpb25JY29uPVwiJHt2LkNPUFlfSUNPTn1cIj48L3djbS1tb2RhbC1oZWFkZXI+PHdjbS1tb2RhbC1jb250ZW50Pjx3Y20td2FsbGV0Y29ubmVjdC1xciB3YWxsZXRJZD1cIiR7b31cIiBpbWFnZUlkPVwiJHtrKHIpfVwiPjwvd2NtLXdhbGxldGNvbm5lY3QtcXI+PC93Y20tbW9kYWwtY29udGVudD48d2NtLWluZm8tZm9vdGVyPjx3Y20tdGV4dCBjb2xvcj1cInNlY29uZGFyeVwiIHZhcmlhbnQ9XCJzbWFsbC10aGluXCI+JHtgU2NhbiB0aGlzIFFSIENvZGUgd2l0aCB5b3VyIHBob25lJ3MgY2FtZXJhIG9yIGluc2lkZSAke2V9IGFwcGB9PC93Y20tdGV4dD48d2NtLXBsYXRmb3JtLXNlbGVjdGlvbiAuaXNEZXNrdG9wPVwiJHthfVwiIC5pc1dlYj1cIiR7dH1cIj48L3djbS1wbGF0Zm9ybS1zZWxlY3Rpb24+PC93Y20taW5mby1mb290ZXI+YH19O2plLnN0eWxlcz1baC5nbG9iYWxDc3MsZXJdLGplPXJyKFtwKFwid2NtLW1vYmlsZS1xci1jb25uZWN0aW5nLXZpZXdcIildLGplKTt2YXIgYXI9T2JqZWN0LmRlZmluZVByb3BlcnR5LGxyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsaXI9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9scihvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmYXIobyxyLHQpLHR9O2xldCBfZT1jbGFzcyBleHRlbmRzIHd7cmVuZGVyKCl7cmV0dXJuIG5gPHdjbS1tb2RhbC1oZWFkZXIgdGl0bGU9XCJTY2FuIHRoZSBjb2RlXCIgLm9uQWN0aW9uPVwiJHtjLmhhbmRsZVVyaUNvcHl9XCIgLmFjdGlvbkljb249XCIke3YuQ09QWV9JQ09OfVwiPjwvd2NtLW1vZGFsLWhlYWRlcj48d2NtLW1vZGFsLWNvbnRlbnQ+PHdjbS13YWxsZXRjb25uZWN0LXFyPjwvd2NtLXdhbGxldGNvbm5lY3QtcXI+PC93Y20tbW9kYWwtY29udGVudD5gfX07X2Uuc3R5bGVzPVtoLmdsb2JhbENzc10sX2U9aXIoW3AoXCJ3Y20tcXJjb2RlLXZpZXdcIildLF9lKTtjb25zdCBucj1nYHdjbS1tb2RhbC1jb250ZW50e2hlaWdodDpjbGFtcCgyMDBweCw2MHZoLDYwMHB4KTtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbDtzY3JvbGxiYXItd2lkdGg6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjFweH0ud2NtLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCw4MHB4KTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXJnaW46LTE1cHggLTEwcHg7cGFkZGluZy10b3A6MjBweH13Y20tbW9kYWwtY29udGVudDo6YWZ0ZXIsd2NtLW1vZGFsLWNvbnRlbnQ6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmZpeGVkO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxO3dpZHRoOjEwMCU7aGVpZ2h0OjIwcHg7b3BhY2l0eToxfXdjbS1tb2RhbC1jb250ZW50OjpiZWZvcmV7Ym94LXNoYWRvdzowIC0xcHggMCAwIHZhcigtLXdjbS1jb2xvci1iZy0xKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS13Y20tY29sb3ItYmctMSkscmdiYSgyNTUsMjU1LDI1NSwwKSl9d2NtLW1vZGFsLWNvbnRlbnQ6OmFmdGVye2JveC1zaGFkb3c6MCAxcHggMCAwIHZhcigtLXdjbS1jb2xvci1iZy0xKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDApLHZhcigtLXdjbS1jb2xvci1iZy0xKSk7dG9wOmNhbGMoMTAwJSAtIDIwcHgpfXdjbS1tb2RhbC1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LndjbS1wbGFjZWhvbGRlci1ibG9ja3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMHB4O292ZXJmbG93OmhpZGRlbn0ud2NtLWVtcHR5LC53Y20tbG9hZGluZ3tkaXNwbGF5OmZsZXh9LndjbS1sb2FkaW5nIC53Y20tcGxhY2Vob2xkZXItYmxvY2t7aGVpZ2h0OjEwMCV9LndjbS1lbmQtcmVhY2hlZCAud2NtLXBsYWNlaG9sZGVyLWJsb2Nre2hlaWdodDowO29wYWNpdHk6MH0ud2NtLWVtcHR5IC53Y20tcGxhY2Vob2xkZXItYmxvY2t7b3BhY2l0eToxO2hlaWdodDoxMDAlfXdjbS13YWxsZXQtYnV0dG9ue21hcmdpbjpjYWxjKCgxMDAlIC0gNjBweCkvIDMpIDB9YDt2YXIgY3I9T2JqZWN0LmRlZmluZVByb3BlcnR5LHNyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsaWU9KGUsbyxyLGEpPT57Zm9yKHZhciB0PWE+MT92b2lkIDA6YT9zcihvLHIpOm8sbD1lLmxlbmd0aC0xLGk7bD49MDtsLS0pKGk9ZVtsXSkmJih0PShhP2kobyxyLHQpOmkodCkpfHx0KTtyZXR1cm4gYSYmdCYmY3IobyxyLHQpLHR9O2NvbnN0IERlPTQwO2xldCBVPWNsYXNzIGV4dGVuZHMgd3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5sb2FkaW5nPSFXLnN0YXRlLndhbGxldHMubGlzdGluZ3MubGVuZ3RoLHRoaXMuZmlyc3RGZXRjaD0hVy5zdGF0ZS53YWxsZXRzLmxpc3RpbmdzLmxlbmd0aCx0aGlzLnNlYXJjaD1cIlwiLHRoaXMuZW5kUmVhY2hlZD0hMSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPXZvaWQgMCx0aGlzLnNlYXJjaERlYm91bmNlPWMuZGVib3VuY2UoZT0+e2UubGVuZ3RoPj0xPyh0aGlzLmZpcnN0RmV0Y2g9ITAsdGhpcy5lbmRSZWFjaGVkPSExLHRoaXMuc2VhcmNoPWUsVy5yZXNldFNlYXJjaCgpLHRoaXMuZmV0Y2hXYWxsZXRzKCkpOnRoaXMuc2VhcmNoJiYodGhpcy5zZWFyY2g9XCJcIix0aGlzLmVuZFJlYWNoZWQ9dGhpcy5pc0xhc3RQYWdlKCksVy5yZXNldFNlYXJjaCgpKX0pfWZpcnN0VXBkYXRlZCgpe3RoaXMuY3JlYXRlUGFnaW5hdGlvbk9ic2VydmVyKCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgZTsoZT10aGlzLmludGVyc2VjdGlvbk9ic2VydmVyKT09bnVsbHx8ZS5kaXNjb25uZWN0KCl9Z2V0IHBsYWNlaG9sZGVyRWwoKXtyZXR1cm4gYy5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLFwiLndjbS1wbGFjZWhvbGRlci1ibG9ja1wiKX1jcmVhdGVQYWdpbmF0aW9uT2JzZXJ2ZXIoKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoW2VdKT0+e2UuaXNJbnRlcnNlY3RpbmcmJiEodGhpcy5zZWFyY2gmJnRoaXMuZmlyc3RGZXRjaCkmJnRoaXMuZmV0Y2hXYWxsZXRzKCl9KSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5wbGFjZWhvbGRlckVsKX1pc0xhc3RQYWdlKCl7Y29uc3R7d2FsbGV0czplLHNlYXJjaDpvfT1XLnN0YXRlLHtsaXN0aW5nczpyLHRvdGFsOmF9PXRoaXMuc2VhcmNoP286ZTtyZXR1cm4gYTw9RGV8fHIubGVuZ3RoPj1hfWFzeW5jIGZldGNoV2FsbGV0cygpe3ZhciBlO2NvbnN0e3dhbGxldHM6byxzZWFyY2g6cn09Vy5zdGF0ZSx7bGlzdGluZ3M6YSx0b3RhbDp0LHBhZ2U6bH09dGhpcy5zZWFyY2g/cjpvO2lmKCF0aGlzLmVuZFJlYWNoZWQmJih0aGlzLmZpcnN0RmV0Y2h8fHQ+RGUmJmEubGVuZ3RoPHQpKXRyeXt0aGlzLmxvYWRpbmc9ITA7Y29uc3QgaT0oZT1SLnN0YXRlLmNoYWlucyk9PW51bGw/dm9pZCAwOmUuam9pbihcIixcIikse2xpc3RpbmdzOnN9PWF3YWl0IFcuZ2V0V2FsbGV0cyh7cGFnZTp0aGlzLmZpcnN0RmV0Y2g/MTpsKzEsZW50cmllczpEZSxzZWFyY2g6dGhpcy5zZWFyY2gsdmVyc2lvbjoyLGNoYWluczppfSksJD1zLm1hcChmPT5jLmdldFdhbGxldEljb24oZikpO2F3YWl0IFByb21pc2UuYWxsKFsuLi4kLm1hcChhc3luYyBmPT5jLnByZWxvYWRJbWFnZShmKSksbS53YWl0KDMwMCldKSx0aGlzLmVuZFJlYWNoZWQ9dGhpcy5pc0xhc3RQYWdlKCl9Y2F0Y2goaSl7Y29uc29sZS5lcnJvcihpKSxOLm9wZW5Ub2FzdChjLmdldEVycm9yTWVzc2FnZShpKSxcImVycm9yXCIpfWZpbmFsbHl7dGhpcy5sb2FkaW5nPSExLHRoaXMuZmlyc3RGZXRjaD0hMX19b25Db25uZWN0KGUpe20uaXNBbmRyb2lkKCk/Yy5oYW5kbGVNb2JpbGVMaW5raW5nKGUpOmMuZ29Ub0Nvbm5lY3RpbmdWaWV3KGUpfW9uU2VhcmNoQ2hhbmdlKGUpe2NvbnN0e3ZhbHVlOm99PWUudGFyZ2V0O3RoaXMuc2VhcmNoRGVib3VuY2Uobyl9cmVuZGVyKCl7Y29uc3R7d2FsbGV0czplLHNlYXJjaDpvfT1XLnN0YXRlLHtsaXN0aW5nczpyfT10aGlzLnNlYXJjaD9vOmUsYT10aGlzLmxvYWRpbmcmJiFyLmxlbmd0aCx0PXRoaXMuc2VhcmNoLmxlbmd0aD49MztsZXQgbD1aLm1hbnVhbFdhbGxldHNUZW1wbGF0ZSgpLGk9Wi5yZWNvbWVuZGVkV2FsbGV0c1RlbXBsYXRlKCEwKTt0JiYobD1sLmZpbHRlcigoe3ZhbHVlczpmfSk9PmMuY2FzZVNhZmVJbmNsdWRlcyhmWzBdLHRoaXMuc2VhcmNoKSksaT1pLmZpbHRlcigoe3ZhbHVlczpmfSk9PmMuY2FzZVNhZmVJbmNsdWRlcyhmWzBdLHRoaXMuc2VhcmNoKSkpO2NvbnN0IHM9IXRoaXMubG9hZGluZyYmIXIubGVuZ3RoJiYhaS5sZW5ndGgsJD17XCJ3Y20tbG9hZGluZ1wiOmEsXCJ3Y20tZW5kLXJlYWNoZWRcIjp0aGlzLmVuZFJlYWNoZWR8fCF0aGlzLmxvYWRpbmcsXCJ3Y20tZW1wdHlcIjpzfTtyZXR1cm4gbmA8d2NtLW1vZGFsLWhlYWRlcj48d2NtLXNlYXJjaC1pbnB1dCAub25DaGFuZ2U9XCIke3RoaXMub25TZWFyY2hDaGFuZ2UuYmluZCh0aGlzKX1cIj48L3djbS1zZWFyY2gtaW5wdXQ+PC93Y20tbW9kYWwtaGVhZGVyPjx3Y20tbW9kYWwtY29udGVudCBjbGFzcz1cIiR7UCgkKX1cIj48ZGl2IGNsYXNzPVwid2NtLWdyaWRcIj4ke2E/bnVsbDpsfSAke2E/bnVsbDppfSAke2E/bnVsbDpyLm1hcChmPT5uYCR7Zj9uYDx3Y20td2FsbGV0LWJ1dHRvbiBpbWFnZUlkPVwiJHtmLmltYWdlX2lkfVwiIG5hbWU9XCIke2YubmFtZX1cIiB3YWxsZXRJZD1cIiR7Zi5pZH1cIiAub25DbGljaz1cIiR7KCk9PnRoaXMub25Db25uZWN0KGYpfVwiPjwvd2NtLXdhbGxldC1idXR0b24+YDpudWxsfWApfTwvZGl2PjxkaXYgY2xhc3M9XCJ3Y20tcGxhY2Vob2xkZXItYmxvY2tcIj4ke3M/bmA8d2NtLXRleHQgdmFyaWFudD1cImJpZy1ib2xkXCIgY29sb3I9XCJzZWNvbmRhcnlcIj5ObyByZXN1bHRzIGZvdW5kPC93Y20tdGV4dD5gOm51bGx9ICR7IXMmJnRoaXMubG9hZGluZz9uYDx3Y20tc3Bpbm5lcj48L3djbS1zcGlubmVyPmA6bnVsbH08L2Rpdj48L3djbS1tb2RhbC1jb250ZW50PmB9fTtVLnN0eWxlcz1baC5nbG9iYWxDc3MsbnJdLGllKFtJKCldLFUucHJvdG90eXBlLFwibG9hZGluZ1wiLDIpLGllKFtJKCldLFUucHJvdG90eXBlLFwiZmlyc3RGZXRjaFwiLDIpLGllKFtJKCldLFUucHJvdG90eXBlLFwic2VhcmNoXCIsMiksaWUoW0koKV0sVS5wcm90b3R5cGUsXCJlbmRSZWFjaGVkXCIsMiksVT1pZShbcChcIndjbS13YWxsZXQtZXhwbG9yZXItdmlld1wiKV0sVSk7Y29uc3QgZHI9Z2B3Y20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXdjbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfWA7dmFyIG1yPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxocj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEdlPShlLG8scixhKT0+e2Zvcih2YXIgdD1hPjE/dm9pZCAwOmE/aHIobyxyKTpvLGw9ZS5sZW5ndGgtMSxpO2w+PTA7bC0tKShpPWVbbF0pJiYodD0oYT9pKG8scix0KTppKHQpKXx8dCk7cmV0dXJuIGEmJnQmJm1yKG8scix0KSx0fTtsZXQgd2U9Y2xhc3MgZXh0ZW5kcyB3e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmlzRXJyb3I9ITEsdGhpcy5vcGVuV2ViV2FsbGV0KCl9b25Gb3JtYXRBbmRSZWRpcmVjdChlKXtjb25zdHtkZXNrdG9wOm8sbmFtZTpyfT1tLmdldFdhbGxldFJvdXRlckRhdGEoKSxhPW8/LnVuaXZlcnNhbDtpZihhKXtjb25zdCB0PW0uZm9ybWF0VW5pdmVyc2FsVXJsKGEsZSxyKTttLm9wZW5IcmVmKHQsXCJfYmxhbmtcIil9fW9wZW5XZWJXYWxsZXQoKXtjb25zdHt3YWxsZXRDb25uZWN0VXJpOmV9PVIuc3RhdGUsbz1tLmdldFdhbGxldFJvdXRlckRhdGEoKTtjLnNldFJlY2VudFdhbGxldChvKSxlJiZ0aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSl9cmVuZGVyKCl7Y29uc3R7bmFtZTplLGlkOm8saW1hZ2VfaWQ6cn09bS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCkse2lzTW9iaWxlOmEsaXNEZXNrdG9wOnR9PWMuZ2V0Q2FjaGVkUm91dGVyV2FsbGV0UGxhdGZvcm1zKCksbD1tLmlzTW9iaWxlKCk7cmV0dXJuIG5gPHdjbS1tb2RhbC1oZWFkZXIgdGl0bGU9XCIke2V9XCIgLm9uQWN0aW9uPVwiJHtjLmhhbmRsZVVyaUNvcHl9XCIgLmFjdGlvbkljb249XCIke3YuQ09QWV9JQ09OfVwiPjwvd2NtLW1vZGFsLWhlYWRlcj48d2NtLW1vZGFsLWNvbnRlbnQ+PHdjbS1jb25uZWN0b3Itd2FpdGluZyB3YWxsZXRJZD1cIiR7b31cIiBpbWFnZUlkPVwiJHtrKHIpfVwiIGxhYmVsPVwiJHtgQ29udGludWUgaW4gJHtlfS4uLmB9XCIgLmlzRXJyb3I9XCIke3RoaXMuaXNFcnJvcn1cIj48L3djbS1jb25uZWN0b3Itd2FpdGluZz48L3djbS1tb2RhbC1jb250ZW50Pjx3Y20taW5mby1mb290ZXI+PHdjbS10ZXh0IGNvbG9yPVwic2Vjb25kYXJ5XCIgdmFyaWFudD1cInNtYWxsLXRoaW5cIj4ke2Ake2V9IHdlYiBhcHAgaGFzIG9wZW5lZCBpbiBhIG5ldyB0YWIuIEdvIHRoZXJlLCBhY2NlcHQgdGhlIGNvbm5lY3Rpb24sIGFuZCBjb21lIGJhY2tgfTwvd2NtLXRleHQ+PHdjbS1wbGF0Zm9ybS1zZWxlY3Rpb24gLmlzTW9iaWxlPVwiJHthfVwiIC5pc0Rlc2t0b3A9XCIke2w/ITE6dH1cIiAuaXNSZXRyeT1cIiR7ITB9XCI+PHdjbS1idXR0b24gLm9uQ2xpY2s9XCIke3RoaXMub3BlbldlYldhbGxldC5iaW5kKHRoaXMpfVwiIC5pY29uUmlnaHQ9XCIke3YuUkVUUllfSUNPTn1cIj5SZXRyeTwvd2NtLWJ1dHRvbj48L3djbS1wbGF0Zm9ybS1zZWxlY3Rpb24+PC93Y20taW5mby1mb290ZXI+YH19O3dlLnN0eWxlcz1baC5nbG9iYWxDc3MsZHJdLEdlKFtJKCldLHdlLnByb3RvdHlwZSxcImlzRXJyb3JcIiwyKSx3ZT1HZShbcChcIndjbS13ZWItY29ubmVjdGluZy12aWV3XCIpXSx3ZSk7ZXhwb3J0e2FlIGFzIFdjbU1vZGFsLGogYXMgV2NtUXJDb2RlfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/modal-ui/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/lit-element/development/lit-element.js": -/*!*************************************************************!*\ - !*** ./node_modules/lit-element/development/lit-element.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LitElement: function() { return /* binding */ LitElement; },\n/* harmony export */ UpdatingElement: function() { return /* binding */ UpdatingElement; },\n/* harmony export */ _$LE: function() { return /* binding */ _$LE; }\n/* harmony export */ });\n/* harmony import */ var _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lit/reactive-element */ \"./node_modules/@lit/reactive-element/development/reactive-element.js\");\n/* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lit-html */ \"./node_modules/lit-html/development/lit-html.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"UpdatingElement\",\"LitElement\",\"_$LE\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in lit_html__WEBPACK_IMPORTED_MODULE_1__) if([\"default\",\"UpdatingElement\",\"LitElement\",\"_$LE\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return lit_html__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar _a, _b, _c;\n/**\n * The main LitElement module, which defines the {@linkcode LitElement} base\n * class and related APIs.\n *\n * LitElement components can define a template and a set of observed\n * properties. Changing an observed property triggers a re-render of the\n * element.\n *\n * Import {@linkcode LitElement} and {@linkcode html} from this module to\n * create a component:\n *\n * ```js\n * import {LitElement, html} from 'lit-element';\n *\n * class MyElement extends LitElement {\n *\n * // Declare observed properties\n * static get properties() {\n * return {\n * adjective: {}\n * }\n * }\n *\n * constructor() {\n * this.adjective = 'awesome';\n * }\n *\n * // Define the element's template\n * render() {\n * return html`<p>your ${adjective} template here</p>`;\n * }\n * }\n *\n * customElements.define('my-element', MyElement);\n * ```\n *\n * `LitElement` extends {@linkcode ReactiveElement} and adds lit-html\n * templating. The `ReactiveElement` class is provided for users that want to\n * build their own custom element base classes that don't use lit-html.\n *\n * @packageDocumentation\n */\n\n\n\n\n// For backwards compatibility export ReactiveElement as UpdatingElement. Note,\n// IE transpilation requires exporting like this.\nconst UpdatingElement = _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__.ReactiveElement;\nconst DEV_MODE = true;\nlet issueWarning;\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings = ((_a = globalThis.litIssuedWarnings) !== null && _a !== void 0 ? _a : (globalThis.litIssuedWarnings = new Set()));\n // Issue a warning, if we haven't already.\n issueWarning = (code, warning) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n}\n/**\n * Base element class that manages element properties and attributes, and\n * renders a lit-html template.\n *\n * To define a component, subclass `LitElement` and implement a\n * `render` method to provide the component's template. Define properties\n * using the {@linkcode LitElement.properties properties} property or the\n * {@linkcode property} decorator.\n */\nclass LitElement extends _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__.ReactiveElement {\n constructor() {\n super(...arguments);\n /**\n * @category rendering\n */\n this.renderOptions = { host: this };\n this.__childPart = undefined;\n }\n /**\n * @category rendering\n */\n createRenderRoot() {\n var _a;\n var _b;\n const renderRoot = super.createRenderRoot();\n // When adoptedStyleSheets are shimmed, they are inserted into the\n // shadowRoot by createRenderRoot. Adjust the renderBefore node so that\n // any styles in Lit content render before adoptedStyleSheets. This is\n // important so that adoptedStyleSheets have precedence over styles in\n // the shadowRoot.\n (_a = (_b = this.renderOptions).renderBefore) !== null && _a !== void 0 ? _a : (_b.renderBefore = renderRoot.firstChild);\n return renderRoot;\n }\n /**\n * Updates the element. This method reflects property values to attributes\n * and calls `render` to render DOM via lit-html. Setting properties inside\n * this method will *not* trigger another update.\n * @param changedProperties Map of changed properties with old values\n * @category updates\n */\n update(changedProperties) {\n // Setting properties in `render` should not trigger an update. Since\n // updates are allowed after super.update, it's important to call `render`\n // before that.\n const value = this.render();\n if (!this.hasUpdated) {\n this.renderOptions.isConnected = this.isConnected;\n }\n super.update(changedProperties);\n this.__childPart = (0,lit_html__WEBPACK_IMPORTED_MODULE_1__.render)(value, this.renderRoot, this.renderOptions);\n }\n /**\n * Invoked when the component is added to the document's DOM.\n *\n * In `connectedCallback()` you should setup tasks that should only occur when\n * the element is connected to the document. The most common of these is\n * adding event listeners to nodes external to the element, like a keydown\n * event handler added to the window.\n *\n * ```ts\n * connectedCallback() {\n * super.connectedCallback();\n * addEventListener('keydown', this._handleKeydown);\n * }\n * ```\n *\n * Typically, anything done in `connectedCallback()` should be undone when the\n * element is disconnected, in `disconnectedCallback()`.\n *\n * @category lifecycle\n */\n connectedCallback() {\n var _a;\n super.connectedCallback();\n (_a = this.__childPart) === null || _a === void 0 ? void 0 : _a.setConnected(true);\n }\n /**\n * Invoked when the component is removed from the document's DOM.\n *\n * This callback is the main signal to the element that it may no longer be\n * used. `disconnectedCallback()` should ensure that nothing is holding a\n * reference to the element (such as event listeners added to nodes external\n * to the element), so that it is free to be garbage collected.\n *\n * ```ts\n * disconnectedCallback() {\n * super.disconnectedCallback();\n * window.removeEventListener('keydown', this._handleKeydown);\n * }\n * ```\n *\n * An element may be re-connected after being disconnected.\n *\n * @category lifecycle\n */\n disconnectedCallback() {\n var _a;\n super.disconnectedCallback();\n (_a = this.__childPart) === null || _a === void 0 ? void 0 : _a.setConnected(false);\n }\n /**\n * Invoked on each update to perform rendering tasks. This method may return\n * any value renderable by lit-html's `ChildPart` - typically a\n * `TemplateResult`. Setting properties inside this method will *not* trigger\n * the element to update.\n * @category rendering\n */\n render() {\n return lit_html__WEBPACK_IMPORTED_MODULE_1__.noChange;\n }\n}\n/**\n * Ensure this class is marked as `finalized` as an optimization ensuring\n * it will not needlessly try to `finalize`.\n *\n * Note this property name is a string to prevent breaking Closure JS Compiler\n * optimizations. See @lit/reactive-element for more information.\n */\nLitElement['finalized'] = true;\n// This property needs to remain unminified.\nLitElement['_$litElement$'] = true;\n// Install hydration if available\n(_b = globalThis.litElementHydrateSupport) === null || _b === void 0 ? void 0 : _b.call(globalThis, { LitElement });\n// Apply polyfills if available\nconst polyfillSupport = DEV_MODE\n ? globalThis.litElementPolyfillSupportDevMode\n : globalThis.litElementPolyfillSupport;\npolyfillSupport === null || polyfillSupport === void 0 ? void 0 : polyfillSupport({ LitElement });\n// DEV mode warnings\nif (DEV_MODE) {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n // Note, for compatibility with closure compilation, this access\n // needs to be as a string property index.\n LitElement['finalize'] = function () {\n const finalized = _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__.ReactiveElement.finalize.call(this);\n if (!finalized) {\n return false;\n }\n const warnRemovedOrRenamed = (obj, name, renamed = false) => {\n if (obj.hasOwnProperty(name)) {\n const ctorName = (typeof obj === 'function' ? obj : obj.constructor)\n .name;\n issueWarning(renamed ? 'renamed-api' : 'removed-api', `\\`${name}\\` is implemented on class ${ctorName}. It ` +\n `has been ${renamed ? 'renamed' : 'removed'} ` +\n `in this version of LitElement.`);\n }\n };\n warnRemovedOrRenamed(this, 'render');\n warnRemovedOrRenamed(this, 'getStyles', true);\n warnRemovedOrRenamed(this.prototype, 'adoptStyles');\n return true;\n };\n /* eslint-enable @typescript-eslint/no-explicit-any */\n}\n/**\n * END USERS SHOULD NOT RELY ON THIS OBJECT.\n *\n * Private exports for use by other Lit packages, not intended for use by\n * external users.\n *\n * We currently do not make a mangled rollup build of the lit-ssr code. In order\n * to keep a number of (otherwise private) top-level exports mangled in the\n * client side code, we export a _$LE object containing those members (or\n * helper methods for accessing private fields of those members), and then\n * re-export them for use in lit-ssr. This keeps lit-ssr agnostic to whether the\n * client-side code is being used in `dev` mode or `prod` mode.\n *\n * This has a unique name, to disambiguate it from private exports in\n * lit-html, since this module re-exports all of lit-html.\n *\n * @private\n */\nconst _$LE = {\n _$attributeToProperty: (el, name, value) => {\n // eslint-disable-next-line\n el._$attributeToProperty(name, value);\n },\n // eslint-disable-next-line\n _$changedProperties: (el) => el._$changedProperties,\n};\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for LitElement usage.\n((_c = globalThis.litElementVersions) !== null && _c !== void 0 ? _c : (globalThis.litElementVersions = [])).push('3.3.3');\nif (DEV_MODE && globalThis.litElementVersions.length > 1) {\n issueWarning('multiple-versions', `Multiple versions of Lit loaded. Loading multiple versions ` +\n `is not recommended.`);\n}\n//# sourceMappingURL=lit-element.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0LWVsZW1lbnQvZGV2ZWxvcG1lbnQvbGl0LWVsZW1lbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCxzQkFBc0I7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxzQkFBc0IsS0FBSyxnQkFBZ0I7QUFDdkQ7QUFDQTtBQUNBO0FBQ0EsV0FBVyxrQkFBa0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsV0FBVztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsMkJBQTJCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDd0Q7QUFDWjtBQUNOO0FBQ2I7QUFDekI7QUFDQTtBQUNPLHdCQUF3QixrRUFBZTtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLE1BQU07QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyw0Q0FBNEM7QUFDMUQsSUFBSSxvQkFBb0I7QUFDeEI7QUFDTyx5QkFBeUIsa0VBQWU7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsZ0RBQU07QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDhDQUFRO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0dBQXNHLFlBQVk7QUFDbEg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRkFBb0YsWUFBWTtBQUNoRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsa0VBQWU7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyRUFBMkUsS0FBSyw2QkFBNkIsU0FBUztBQUN0SCxnQ0FBZ0MsaUNBQWlDO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbGl0LWVsZW1lbnQvZGV2ZWxvcG1lbnQvbGl0LWVsZW1lbnQuanM/ZmI5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbnZhciBfYSwgX2IsIF9jO1xuLyoqXG4gKiBUaGUgbWFpbiBMaXRFbGVtZW50IG1vZHVsZSwgd2hpY2ggZGVmaW5lcyB0aGUge0BsaW5rY29kZSBMaXRFbGVtZW50fSBiYXNlXG4gKiBjbGFzcyBhbmQgcmVsYXRlZCBBUElzLlxuICpcbiAqICBMaXRFbGVtZW50IGNvbXBvbmVudHMgY2FuIGRlZmluZSBhIHRlbXBsYXRlIGFuZCBhIHNldCBvZiBvYnNlcnZlZFxuICogcHJvcGVydGllcy4gQ2hhbmdpbmcgYW4gb2JzZXJ2ZWQgcHJvcGVydHkgdHJpZ2dlcnMgYSByZS1yZW5kZXIgb2YgdGhlXG4gKiBlbGVtZW50LlxuICpcbiAqICBJbXBvcnQge0BsaW5rY29kZSBMaXRFbGVtZW50fSBhbmQge0BsaW5rY29kZSBodG1sfSBmcm9tIHRoaXMgbW9kdWxlIHRvXG4gKiBjcmVhdGUgYSBjb21wb25lbnQ6XG4gKlxuICogIGBgYGpzXG4gKiBpbXBvcnQge0xpdEVsZW1lbnQsIGh0bWx9IGZyb20gJ2xpdC1lbGVtZW50JztcbiAqXG4gKiBjbGFzcyBNeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAqXG4gKiAgIC8vIERlY2xhcmUgb2JzZXJ2ZWQgcHJvcGVydGllc1xuICogICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gKiAgICAgcmV0dXJuIHtcbiAqICAgICAgIGFkamVjdGl2ZToge31cbiAqICAgICB9XG4gKiAgIH1cbiAqXG4gKiAgIGNvbnN0cnVjdG9yKCkge1xuICogICAgIHRoaXMuYWRqZWN0aXZlID0gJ2F3ZXNvbWUnO1xuICogICB9XG4gKlxuICogICAvLyBEZWZpbmUgdGhlIGVsZW1lbnQncyB0ZW1wbGF0ZVxuICogICByZW5kZXIoKSB7XG4gKiAgICAgcmV0dXJuIGh0bWxgPHA+eW91ciAke2FkamVjdGl2ZX0gdGVtcGxhdGUgaGVyZTwvcD5gO1xuICogICB9XG4gKiB9XG4gKlxuICogY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdteS1lbGVtZW50JywgTXlFbGVtZW50KTtcbiAqIGBgYFxuICpcbiAqIGBMaXRFbGVtZW50YCBleHRlbmRzIHtAbGlua2NvZGUgUmVhY3RpdmVFbGVtZW50fSBhbmQgYWRkcyBsaXQtaHRtbFxuICogdGVtcGxhdGluZy4gVGhlIGBSZWFjdGl2ZUVsZW1lbnRgIGNsYXNzIGlzIHByb3ZpZGVkIGZvciB1c2VycyB0aGF0IHdhbnQgdG9cbiAqIGJ1aWxkIHRoZWlyIG93biBjdXN0b20gZWxlbWVudCBiYXNlIGNsYXNzZXMgdGhhdCBkb24ndCB1c2UgbGl0LWh0bWwuXG4gKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKi9cbmltcG9ydCB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ0BsaXQvcmVhY3RpdmUtZWxlbWVudCc7XG5pbXBvcnQgeyByZW5kZXIsIG5vQ2hhbmdlIH0gZnJvbSAnbGl0LWh0bWwnO1xuZXhwb3J0ICogZnJvbSAnQGxpdC9yZWFjdGl2ZS1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJ2xpdC1odG1sJztcbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBleHBvcnQgUmVhY3RpdmVFbGVtZW50IGFzIFVwZGF0aW5nRWxlbWVudC4gTm90ZSxcbi8vIElFIHRyYW5zcGlsYXRpb24gcmVxdWlyZXMgZXhwb3J0aW5nIGxpa2UgdGhpcy5cbmV4cG9ydCBjb25zdCBVcGRhdGluZ0VsZW1lbnQgPSBSZWFjdGl2ZUVsZW1lbnQ7XG5jb25zdCBERVZfTU9ERSA9IHRydWU7XG5sZXQgaXNzdWVXYXJuaW5nO1xuaWYgKERFVl9NT0RFKSB7XG4gICAgLy8gRW5zdXJlIHdhcm5pbmdzIGFyZSBpc3N1ZWQgb25seSAxeCwgZXZlbiBpZiBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBMaXRcbiAgICAvLyBhcmUgbG9hZGVkLlxuICAgIGNvbnN0IGlzc3VlZFdhcm5pbmdzID0gKChfYSA9IGdsb2JhbFRoaXMubGl0SXNzdWVkV2FybmluZ3MpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChnbG9iYWxUaGlzLmxpdElzc3VlZFdhcm5pbmdzID0gbmV3IFNldCgpKSk7XG4gICAgLy8gSXNzdWUgYSB3YXJuaW5nLCBpZiB3ZSBoYXZlbid0IGFscmVhZHkuXG4gICAgaXNzdWVXYXJuaW5nID0gKGNvZGUsIHdhcm5pbmcpID0+IHtcbiAgICAgICAgd2FybmluZyArPSBgIFNlZSBodHRwczovL2xpdC5kZXYvbXNnLyR7Y29kZX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYDtcbiAgICAgICAgaWYgKCFpc3N1ZWRXYXJuaW5ncy5oYXMod2FybmluZykpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybih3YXJuaW5nKTtcbiAgICAgICAgICAgIGlzc3VlZFdhcm5pbmdzLmFkZCh3YXJuaW5nKTtcbiAgICAgICAgfVxuICAgIH07XG59XG4vKipcbiAqIEJhc2UgZWxlbWVudCBjbGFzcyB0aGF0IG1hbmFnZXMgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBhdHRyaWJ1dGVzLCBhbmRcbiAqIHJlbmRlcnMgYSBsaXQtaHRtbCB0ZW1wbGF0ZS5cbiAqXG4gKiBUbyBkZWZpbmUgYSBjb21wb25lbnQsIHN1YmNsYXNzIGBMaXRFbGVtZW50YCBhbmQgaW1wbGVtZW50IGFcbiAqIGByZW5kZXJgIG1ldGhvZCB0byBwcm92aWRlIHRoZSBjb21wb25lbnQncyB0ZW1wbGF0ZS4gRGVmaW5lIHByb3BlcnRpZXNcbiAqIHVzaW5nIHRoZSB7QGxpbmtjb2RlIExpdEVsZW1lbnQucHJvcGVydGllcyBwcm9wZXJ0aWVzfSBwcm9wZXJ0eSBvciB0aGVcbiAqIHtAbGlua2NvZGUgcHJvcGVydHl9IGRlY29yYXRvci5cbiAqL1xuZXhwb3J0IGNsYXNzIExpdEVsZW1lbnQgZXh0ZW5kcyBSZWFjdGl2ZUVsZW1lbnQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGNhdGVnb3J5IHJlbmRlcmluZ1xuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5yZW5kZXJPcHRpb25zID0geyBob3N0OiB0aGlzIH07XG4gICAgICAgIHRoaXMuX19jaGlsZFBhcnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBjYXRlZ29yeSByZW5kZXJpbmdcbiAgICAgKi9cbiAgICBjcmVhdGVSZW5kZXJSb290KCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHZhciBfYjtcbiAgICAgICAgY29uc3QgcmVuZGVyUm9vdCA9IHN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtcbiAgICAgICAgLy8gV2hlbiBhZG9wdGVkU3R5bGVTaGVldHMgYXJlIHNoaW1tZWQsIHRoZXkgYXJlIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgIC8vIHNoYWRvd1Jvb3QgYnkgY3JlYXRlUmVuZGVyUm9vdC4gQWRqdXN0IHRoZSByZW5kZXJCZWZvcmUgbm9kZSBzbyB0aGF0XG4gICAgICAgIC8vIGFueSBzdHlsZXMgaW4gTGl0IGNvbnRlbnQgcmVuZGVyIGJlZm9yZSBhZG9wdGVkU3R5bGVTaGVldHMuIFRoaXMgaXNcbiAgICAgICAgLy8gaW1wb3J0YW50IHNvIHRoYXQgYWRvcHRlZFN0eWxlU2hlZXRzIGhhdmUgcHJlY2VkZW5jZSBvdmVyIHN0eWxlcyBpblxuICAgICAgICAvLyB0aGUgc2hhZG93Um9vdC5cbiAgICAgICAgKF9hID0gKF9iID0gdGhpcy5yZW5kZXJPcHRpb25zKS5yZW5kZXJCZWZvcmUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChfYi5yZW5kZXJCZWZvcmUgPSByZW5kZXJSb290LmZpcnN0Q2hpbGQpO1xuICAgICAgICByZXR1cm4gcmVuZGVyUm9vdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgZWxlbWVudC4gVGhpcyBtZXRob2QgcmVmbGVjdHMgcHJvcGVydHkgdmFsdWVzIHRvIGF0dHJpYnV0ZXNcbiAgICAgKiBhbmQgY2FsbHMgYHJlbmRlcmAgdG8gcmVuZGVyIERPTSB2aWEgbGl0LWh0bWwuIFNldHRpbmcgcHJvcGVydGllcyBpbnNpZGVcbiAgICAgKiB0aGlzIG1ldGhvZCB3aWxsICpub3QqIHRyaWdnZXIgYW5vdGhlciB1cGRhdGUuXG4gICAgICogQHBhcmFtIGNoYW5nZWRQcm9wZXJ0aWVzIE1hcCBvZiBjaGFuZ2VkIHByb3BlcnRpZXMgd2l0aCBvbGQgdmFsdWVzXG4gICAgICogQGNhdGVnb3J5IHVwZGF0ZXNcbiAgICAgKi9cbiAgICB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICAgICAgLy8gU2V0dGluZyBwcm9wZXJ0aWVzIGluIGByZW5kZXJgIHNob3VsZCBub3QgdHJpZ2dlciBhbiB1cGRhdGUuIFNpbmNlXG4gICAgICAgIC8vIHVwZGF0ZXMgYXJlIGFsbG93ZWQgYWZ0ZXIgc3VwZXIudXBkYXRlLCBpdCdzIGltcG9ydGFudCB0byBjYWxsIGByZW5kZXJgXG4gICAgICAgIC8vIGJlZm9yZSB0aGF0LlxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVuZGVyKCk7XG4gICAgICAgIGlmICghdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlck9wdGlvbnMuaXNDb25uZWN0ZWQgPSB0aGlzLmlzQ29ubmVjdGVkO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuX19jaGlsZFBhcnQgPSByZW5kZXIodmFsdWUsIHRoaXMucmVuZGVyUm9vdCwgdGhpcy5yZW5kZXJPcHRpb25zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgYWRkZWQgdG8gdGhlIGRvY3VtZW50J3MgRE9NLlxuICAgICAqXG4gICAgICogSW4gYGNvbm5lY3RlZENhbGxiYWNrKClgIHlvdSBzaG91bGQgc2V0dXAgdGFza3MgdGhhdCBzaG91bGQgb25seSBvY2N1ciB3aGVuXG4gICAgICogdGhlIGVsZW1lbnQgaXMgY29ubmVjdGVkIHRvIHRoZSBkb2N1bWVudC4gVGhlIG1vc3QgY29tbW9uIG9mIHRoZXNlIGlzXG4gICAgICogYWRkaW5nIGV2ZW50IGxpc3RlbmVycyB0byBub2RlcyBleHRlcm5hbCB0byB0aGUgZWxlbWVudCwgbGlrZSBhIGtleWRvd25cbiAgICAgKiBldmVudCBoYW5kbGVyIGFkZGVkIHRvIHRoZSB3aW5kb3cuXG4gICAgICpcbiAgICAgKiBgYGB0c1xuICAgICAqIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgICAqICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgKiAgIGFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9oYW5kbGVLZXlkb3duKTtcbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBUeXBpY2FsbHksIGFueXRoaW5nIGRvbmUgaW4gYGNvbm5lY3RlZENhbGxiYWNrKClgIHNob3VsZCBiZSB1bmRvbmUgd2hlbiB0aGVcbiAgICAgKiBlbGVtZW50IGlzIGRpc2Nvbm5lY3RlZCwgaW4gYGRpc2Nvbm5lY3RlZENhbGxiYWNrKClgLlxuICAgICAqXG4gICAgICogQGNhdGVnb3J5IGxpZmVjeWNsZVxuICAgICAqL1xuICAgIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICAgIChfYSA9IHRoaXMuX19jaGlsZFBhcnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZXRDb25uZWN0ZWQodHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEludm9rZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1lbnQncyBET00uXG4gICAgICpcbiAgICAgKiBUaGlzIGNhbGxiYWNrIGlzIHRoZSBtYWluIHNpZ25hbCB0byB0aGUgZWxlbWVudCB0aGF0IGl0IG1heSBubyBsb25nZXIgYmVcbiAgICAgKiB1c2VkLiBgZGlzY29ubmVjdGVkQ2FsbGJhY2soKWAgc2hvdWxkIGVuc3VyZSB0aGF0IG5vdGhpbmcgaXMgaG9sZGluZyBhXG4gICAgICogcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IChzdWNoIGFzIGV2ZW50IGxpc3RlbmVycyBhZGRlZCB0byBub2RlcyBleHRlcm5hbFxuICAgICAqIHRvIHRoZSBlbGVtZW50KSwgc28gdGhhdCBpdCBpcyBmcmVlIHRvIGJlIGdhcmJhZ2UgY29sbGVjdGVkLlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgKiAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICogICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2hhbmRsZUtleWRvd24pO1xuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEFuIGVsZW1lbnQgbWF5IGJlIHJlLWNvbm5lY3RlZCBhZnRlciBiZWluZyBkaXNjb25uZWN0ZWQuXG4gICAgICpcbiAgICAgKiBAY2F0ZWdvcnkgbGlmZWN5Y2xlXG4gICAgICovXG4gICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgICAgKF9hID0gdGhpcy5fX2NoaWxkUGFydCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNldENvbm5lY3RlZChmYWxzZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEludm9rZWQgb24gZWFjaCB1cGRhdGUgdG8gcGVyZm9ybSByZW5kZXJpbmcgdGFza3MuIFRoaXMgbWV0aG9kIG1heSByZXR1cm5cbiAgICAgKiBhbnkgdmFsdWUgcmVuZGVyYWJsZSBieSBsaXQtaHRtbCdzIGBDaGlsZFBhcnRgIC0gdHlwaWNhbGx5IGFcbiAgICAgKiBgVGVtcGxhdGVSZXN1bHRgLiBTZXR0aW5nIHByb3BlcnRpZXMgaW5zaWRlIHRoaXMgbWV0aG9kIHdpbGwgKm5vdCogdHJpZ2dlclxuICAgICAqIHRoZSBlbGVtZW50IHRvIHVwZGF0ZS5cbiAgICAgKiBAY2F0ZWdvcnkgcmVuZGVyaW5nXG4gICAgICovXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gbm9DaGFuZ2U7XG4gICAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhpcyBjbGFzcyBpcyBtYXJrZWQgYXMgYGZpbmFsaXplZGAgYXMgYW4gb3B0aW1pemF0aW9uIGVuc3VyaW5nXG4gKiBpdCB3aWxsIG5vdCBuZWVkbGVzc2x5IHRyeSB0byBgZmluYWxpemVgLlxuICpcbiAqIE5vdGUgdGhpcyBwcm9wZXJ0eSBuYW1lIGlzIGEgc3RyaW5nIHRvIHByZXZlbnQgYnJlYWtpbmcgQ2xvc3VyZSBKUyBDb21waWxlclxuICogb3B0aW1pemF0aW9ucy4gU2VlIEBsaXQvcmVhY3RpdmUtZWxlbWVudCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuTGl0RWxlbWVudFsnZmluYWxpemVkJ10gPSB0cnVlO1xuLy8gVGhpcyBwcm9wZXJ0eSBuZWVkcyB0byByZW1haW4gdW5taW5pZmllZC5cbkxpdEVsZW1lbnRbJ18kbGl0RWxlbWVudCQnXSA9IHRydWU7XG4vLyBJbnN0YWxsIGh5ZHJhdGlvbiBpZiBhdmFpbGFibGVcbihfYiA9IGdsb2JhbFRoaXMubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChnbG9iYWxUaGlzLCB7IExpdEVsZW1lbnQgfSk7XG4vLyBBcHBseSBwb2x5ZmlsbHMgaWYgYXZhaWxhYmxlXG5jb25zdCBwb2x5ZmlsbFN1cHBvcnQgPSBERVZfTU9ERVxuICAgID8gZ2xvYmFsVGhpcy5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0RGV2TW9kZVxuICAgIDogZ2xvYmFsVGhpcy5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0O1xucG9seWZpbGxTdXBwb3J0ID09PSBudWxsIHx8IHBvbHlmaWxsU3VwcG9ydCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcG9seWZpbGxTdXBwb3J0KHsgTGl0RWxlbWVudCB9KTtcbi8vIERFViBtb2RlIHdhcm5pbmdzXG5pZiAoREVWX01PREUpIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4gICAgLy8gTm90ZSwgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBjbG9zdXJlIGNvbXBpbGF0aW9uLCB0aGlzIGFjY2Vzc1xuICAgIC8vIG5lZWRzIHRvIGJlIGFzIGEgc3RyaW5nIHByb3BlcnR5IGluZGV4LlxuICAgIExpdEVsZW1lbnRbJ2ZpbmFsaXplJ10gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGZpbmFsaXplZCA9IFJlYWN0aXZlRWxlbWVudC5maW5hbGl6ZS5jYWxsKHRoaXMpO1xuICAgICAgICBpZiAoIWZpbmFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHdhcm5SZW1vdmVkT3JSZW5hbWVkID0gKG9iaiwgbmFtZSwgcmVuYW1lZCA9IGZhbHNlKSA9PiB7XG4gICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3Rvck5hbWUgPSAodHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJyA/IG9iaiA6IG9iai5jb25zdHJ1Y3RvcilcbiAgICAgICAgICAgICAgICAgICAgLm5hbWU7XG4gICAgICAgICAgICAgICAgaXNzdWVXYXJuaW5nKHJlbmFtZWQgPyAncmVuYW1lZC1hcGknIDogJ3JlbW92ZWQtYXBpJywgYFxcYCR7bmFtZX1cXGAgaXMgaW1wbGVtZW50ZWQgb24gY2xhc3MgJHtjdG9yTmFtZX0uIEl0IGAgK1xuICAgICAgICAgICAgICAgICAgICBgaGFzIGJlZW4gJHtyZW5hbWVkID8gJ3JlbmFtZWQnIDogJ3JlbW92ZWQnfSBgICtcbiAgICAgICAgICAgICAgICAgICAgYGluIHRoaXMgdmVyc2lvbiBvZiBMaXRFbGVtZW50LmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3YXJuUmVtb3ZlZE9yUmVuYW1lZCh0aGlzLCAncmVuZGVyJyk7XG4gICAgICAgIHdhcm5SZW1vdmVkT3JSZW5hbWVkKHRoaXMsICdnZXRTdHlsZXMnLCB0cnVlKTtcbiAgICAgICAgd2FyblJlbW92ZWRPclJlbmFtZWQodGhpcy5wcm90b3R5cGUsICdhZG9wdFN0eWxlcycpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xufVxuLyoqXG4gKiBFTkQgVVNFUlMgU0hPVUxEIE5PVCBSRUxZIE9OIFRISVMgT0JKRUNULlxuICpcbiAqIFByaXZhdGUgZXhwb3J0cyBmb3IgdXNlIGJ5IG90aGVyIExpdCBwYWNrYWdlcywgbm90IGludGVuZGVkIGZvciB1c2UgYnlcbiAqIGV4dGVybmFsIHVzZXJzLlxuICpcbiAqIFdlIGN1cnJlbnRseSBkbyBub3QgbWFrZSBhIG1hbmdsZWQgcm9sbHVwIGJ1aWxkIG9mIHRoZSBsaXQtc3NyIGNvZGUuIEluIG9yZGVyXG4gKiB0byBrZWVwIGEgbnVtYmVyIG9mIChvdGhlcndpc2UgcHJpdmF0ZSkgdG9wLWxldmVsIGV4cG9ydHMgIG1hbmdsZWQgaW4gdGhlXG4gKiBjbGllbnQgc2lkZSBjb2RlLCB3ZSBleHBvcnQgYSBfJExFIG9iamVjdCBjb250YWluaW5nIHRob3NlIG1lbWJlcnMgKG9yXG4gKiBoZWxwZXIgbWV0aG9kcyBmb3IgYWNjZXNzaW5nIHByaXZhdGUgZmllbGRzIG9mIHRob3NlIG1lbWJlcnMpLCBhbmQgdGhlblxuICogcmUtZXhwb3J0IHRoZW0gZm9yIHVzZSBpbiBsaXQtc3NyLiBUaGlzIGtlZXBzIGxpdC1zc3IgYWdub3N0aWMgdG8gd2hldGhlciB0aGVcbiAqIGNsaWVudC1zaWRlIGNvZGUgaXMgYmVpbmcgdXNlZCBpbiBgZGV2YCBtb2RlIG9yIGBwcm9kYCBtb2RlLlxuICpcbiAqIFRoaXMgaGFzIGEgdW5pcXVlIG5hbWUsIHRvIGRpc2FtYmlndWF0ZSBpdCBmcm9tIHByaXZhdGUgZXhwb3J0cyBpblxuICogbGl0LWh0bWwsIHNpbmNlIHRoaXMgbW9kdWxlIHJlLWV4cG9ydHMgYWxsIG9mIGxpdC1odG1sLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBfJExFID0ge1xuICAgIF8kYXR0cmlidXRlVG9Qcm9wZXJ0eTogKGVsLCBuYW1lLCB2YWx1ZSkgPT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgZWwuXyRhdHRyaWJ1dGVUb1Byb3BlcnR5KG5hbWUsIHZhbHVlKTtcbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIF8kY2hhbmdlZFByb3BlcnRpZXM6IChlbCkgPT4gZWwuXyRjaGFuZ2VkUHJvcGVydGllcyxcbn07XG4vLyBJTVBPUlRBTlQ6IGRvIG5vdCBjaGFuZ2UgdGhlIHByb3BlcnR5IG5hbWUgb3IgdGhlIGFzc2lnbm1lbnQgZXhwcmVzc2lvbi5cbi8vIFRoaXMgbGluZSB3aWxsIGJlIHVzZWQgaW4gcmVnZXhlcyB0byBzZWFyY2ggZm9yIExpdEVsZW1lbnQgdXNhZ2UuXG4oKF9jID0gZ2xvYmFsVGhpcy5saXRFbGVtZW50VmVyc2lvbnMpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IChnbG9iYWxUaGlzLmxpdEVsZW1lbnRWZXJzaW9ucyA9IFtdKSkucHVzaCgnMy4zLjMnKTtcbmlmIChERVZfTU9ERSAmJiBnbG9iYWxUaGlzLmxpdEVsZW1lbnRWZXJzaW9ucy5sZW5ndGggPiAxKSB7XG4gICAgaXNzdWVXYXJuaW5nKCdtdWx0aXBsZS12ZXJzaW9ucycsIGBNdWx0aXBsZSB2ZXJzaW9ucyBvZiBMaXQgbG9hZGVkLiBMb2FkaW5nIG11bHRpcGxlIHZlcnNpb25zIGAgK1xuICAgICAgICBgaXMgbm90IHJlY29tbWVuZGVkLmApO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGl0LWVsZW1lbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lit-element/development/lit-element.js\n")); - -/***/ }), - -/***/ "./node_modules/lit-html/development/directive.js": -/*!********************************************************!*\ - !*** ./node_modules/lit-html/development/directive.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Directive: function() { return /* binding */ Directive; },\n/* harmony export */ PartType: function() { return /* binding */ PartType; },\n/* harmony export */ directive: function() { return /* binding */ directive; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst PartType = {\n ATTRIBUTE: 1,\n CHILD: 2,\n PROPERTY: 3,\n BOOLEAN_ATTRIBUTE: 4,\n EVENT: 5,\n ELEMENT: 6,\n};\n/**\n * Creates a user-facing directive function from a Directive class. This\n * function has the same parameters as the directive's render() method.\n */\nconst directive = (c) => (...values) => ({\n // This property needs to remain unminified.\n ['_$litDirective$']: c,\n values,\n});\n/**\n * Base class for creating custom directives. Users should extend this class,\n * implement `render` and/or `update`, and then pass their subclass to\n * `directive`.\n */\nclass Directive {\n constructor(_partInfo) { }\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n /** @internal */\n _$initialize(part, parent, attributeIndex) {\n this.__part = part;\n this._$parent = parent;\n this.__attributeIndex = attributeIndex;\n }\n /** @internal */\n _$resolve(part, props) {\n return this.update(part, props);\n }\n update(_part, props) {\n return this.render(...props);\n }\n}\n//# sourceMappingURL=directive.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGV2ZWxvcG1lbnQvZGlyZWN0aXZlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9saXQtaHRtbC9kZXZlbG9wbWVudC9kaXJlY3RpdmUuanM/NjhiOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmV4cG9ydCBjb25zdCBQYXJ0VHlwZSA9IHtcbiAgICBBVFRSSUJVVEU6IDEsXG4gICAgQ0hJTEQ6IDIsXG4gICAgUFJPUEVSVFk6IDMsXG4gICAgQk9PTEVBTl9BVFRSSUJVVEU6IDQsXG4gICAgRVZFTlQ6IDUsXG4gICAgRUxFTUVOVDogNixcbn07XG4vKipcbiAqIENyZWF0ZXMgYSB1c2VyLWZhY2luZyBkaXJlY3RpdmUgZnVuY3Rpb24gZnJvbSBhIERpcmVjdGl2ZSBjbGFzcy4gVGhpc1xuICogZnVuY3Rpb24gaGFzIHRoZSBzYW1lIHBhcmFtZXRlcnMgYXMgdGhlIGRpcmVjdGl2ZSdzIHJlbmRlcigpIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGRpcmVjdGl2ZSA9IChjKSA9PiAoLi4udmFsdWVzKSA9PiAoe1xuICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgWydfJGxpdERpcmVjdGl2ZSQnXTogYyxcbiAgICB2YWx1ZXMsXG59KTtcbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgY3VzdG9tIGRpcmVjdGl2ZXMuIFVzZXJzIHNob3VsZCBleHRlbmQgdGhpcyBjbGFzcyxcbiAqIGltcGxlbWVudCBgcmVuZGVyYCBhbmQvb3IgYHVwZGF0ZWAsIGFuZCB0aGVuIHBhc3MgdGhlaXIgc3ViY2xhc3MgdG9cbiAqIGBkaXJlY3RpdmVgLlxuICovXG5leHBvcnQgY2xhc3MgRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihfcGFydEluZm8pIHsgfVxuICAgIC8vIFNlZSBjb21tZW50IGluIERpc2Nvbm5lY3RhYmxlIGludGVyZmFjZSBmb3Igd2h5IHRoaXMgaXMgYSBnZXR0ZXJcbiAgICBnZXQgXyRpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuXyRwYXJlbnQuXyRpc0Nvbm5lY3RlZDtcbiAgICB9XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF8kaW5pdGlhbGl6ZShwYXJ0LCBwYXJlbnQsIGF0dHJpYnV0ZUluZGV4KSB7XG4gICAgICAgIHRoaXMuX19wYXJ0ID0gcGFydDtcbiAgICAgICAgdGhpcy5fJHBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgdGhpcy5fX2F0dHJpYnV0ZUluZGV4ID0gYXR0cmlidXRlSW5kZXg7XG4gICAgfVxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBfJHJlc29sdmUocGFydCwgcHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKHBhcnQsIHByb3BzKTtcbiAgICB9XG4gICAgdXBkYXRlKF9wYXJ0LCBwcm9wcykge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXIoLi4ucHJvcHMpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRpcmVjdGl2ZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lit-html/development/directive.js\n")); - -/***/ }), - -/***/ "./node_modules/lit-html/development/directives/class-map.js": -/*!*******************************************************************!*\ - !*** ./node_modules/lit-html/development/directives/class-map.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ classMap: function() { return /* binding */ classMap; }\n/* harmony export */ });\n/* harmony import */ var _lit_html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lit-html.js */ \"./node_modules/lit-html/development/lit-html.js\");\n/* harmony import */ var _directive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../directive.js */ \"./node_modules/lit-html/development/directive.js\");\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n\nclass ClassMapDirective extends _directive_js__WEBPACK_IMPORTED_MODULE_1__.Directive {\n constructor(partInfo) {\n var _a;\n super(partInfo);\n if (partInfo.type !== _directive_js__WEBPACK_IMPORTED_MODULE_1__.PartType.ATTRIBUTE ||\n partInfo.name !== 'class' ||\n ((_a = partInfo.strings) === null || _a === void 0 ? void 0 : _a.length) > 2) {\n throw new Error('`classMap()` can only be used in the `class` attribute ' +\n 'and must be the only part in the attribute.');\n }\n }\n render(classInfo) {\n // Add spaces to ensure separation from static classes\n return (' ' +\n Object.keys(classInfo)\n .filter((key) => classInfo[key])\n .join(' ') +\n ' ');\n }\n update(part, [classInfo]) {\n var _a, _b;\n // Remember dynamic classes on the first render\n if (this._previousClasses === undefined) {\n this._previousClasses = new Set();\n if (part.strings !== undefined) {\n this._staticClasses = new Set(part.strings\n .join(' ')\n .split(/\\s/)\n .filter((s) => s !== ''));\n }\n for (const name in classInfo) {\n if (classInfo[name] && !((_a = this._staticClasses) === null || _a === void 0 ? void 0 : _a.has(name))) {\n this._previousClasses.add(name);\n }\n }\n return this.render(classInfo);\n }\n const classList = part.element.classList;\n // Remove old classes that no longer apply\n // We use forEach() instead of for-of so that we don't require down-level\n // iteration.\n this._previousClasses.forEach((name) => {\n if (!(name in classInfo)) {\n classList.remove(name);\n this._previousClasses.delete(name);\n }\n });\n // Add or remove classes based on their classMap value\n for (const name in classInfo) {\n // We explicitly want a loose truthy check of `value` because it seems\n // more convenient that '' and 0 are skipped.\n const value = !!classInfo[name];\n if (value !== this._previousClasses.has(name) &&\n !((_b = this._staticClasses) === null || _b === void 0 ? void 0 : _b.has(name))) {\n if (value) {\n classList.add(name);\n this._previousClasses.add(name);\n }\n else {\n classList.remove(name);\n this._previousClasses.delete(name);\n }\n }\n }\n return _lit_html_js__WEBPACK_IMPORTED_MODULE_0__.noChange;\n }\n}\n/**\n * A directive that applies dynamic CSS classes.\n *\n * This must be used in the `class` attribute and must be the only part used in\n * the attribute. It takes each property in the `classInfo` argument and adds\n * the property name to the element's `classList` if the property value is\n * truthy; if the property value is falsey, the property name is removed from\n * the element's `class`.\n *\n * For example `{foo: bar}` applies the class `foo` if the value of `bar` is\n * truthy.\n *\n * @param classInfo\n */\nconst classMap = (0,_directive_js__WEBPACK_IMPORTED_MODULE_1__.directive)(ClassMapDirective);\n//# sourceMappingURL=class-map.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGV2ZWxvcG1lbnQvZGlyZWN0aXZlcy9jbGFzcy1tYXAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUMwQztBQUN3QjtBQUNsRSxnQ0FBZ0Msb0RBQVM7QUFDekM7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLG1EQUFRO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0RBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDTyxpQkFBaUIsd0RBQVM7QUFDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2xpdC1odG1sL2RldmVsb3BtZW50L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzPzI1NjEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTggR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5pbXBvcnQgeyBub0NoYW5nZSB9IGZyb20gJy4uL2xpdC1odG1sLmpzJztcbmltcG9ydCB7IGRpcmVjdGl2ZSwgRGlyZWN0aXZlLCBQYXJ0VHlwZSwgfSBmcm9tICcuLi9kaXJlY3RpdmUuanMnO1xuY2xhc3MgQ2xhc3NNYXBEaXJlY3RpdmUgZXh0ZW5kcyBEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHBhcnRJbmZvKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgc3VwZXIocGFydEluZm8pO1xuICAgICAgICBpZiAocGFydEluZm8udHlwZSAhPT0gUGFydFR5cGUuQVRUUklCVVRFIHx8XG4gICAgICAgICAgICBwYXJ0SW5mby5uYW1lICE9PSAnY2xhc3MnIHx8XG4gICAgICAgICAgICAoKF9hID0gcGFydEluZm8uc3RyaW5ncykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxlbmd0aCkgPiAyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2BjbGFzc01hcCgpYCBjYW4gb25seSBiZSB1c2VkIGluIHRoZSBgY2xhc3NgIGF0dHJpYnV0ZSAnICtcbiAgICAgICAgICAgICAgICAnYW5kIG11c3QgYmUgdGhlIG9ubHkgcGFydCBpbiB0aGUgYXR0cmlidXRlLicpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcihjbGFzc0luZm8pIHtcbiAgICAgICAgLy8gQWRkIHNwYWNlcyB0byBlbnN1cmUgc2VwYXJhdGlvbiBmcm9tIHN0YXRpYyBjbGFzc2VzXG4gICAgICAgIHJldHVybiAoJyAnICtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGNsYXNzSW5mbylcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChrZXkpID0+IGNsYXNzSW5mb1trZXldKVxuICAgICAgICAgICAgICAgIC5qb2luKCcgJykgK1xuICAgICAgICAgICAgJyAnKTtcbiAgICB9XG4gICAgdXBkYXRlKHBhcnQsIFtjbGFzc0luZm9dKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIC8vIFJlbWVtYmVyIGR5bmFtaWMgY2xhc3NlcyBvbiB0aGUgZmlyc3QgcmVuZGVyXG4gICAgICAgIGlmICh0aGlzLl9wcmV2aW91c0NsYXNzZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNDbGFzc2VzID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgaWYgKHBhcnQuc3RyaW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhdGljQ2xhc3NlcyA9IG5ldyBTZXQocGFydC5zdHJpbmdzXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KC9cXHMvKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChzKSA9PiBzICE9PSAnJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNsYXNzSW5mbykge1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc0luZm9bbmFtZV0gJiYgISgoX2EgPSB0aGlzLl9zdGF0aWNDbGFzc2VzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaGFzKG5hbWUpKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcmV2aW91c0NsYXNzZXMuYWRkKG5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlcihjbGFzc0luZm8pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNsYXNzTGlzdCA9IHBhcnQuZWxlbWVudC5jbGFzc0xpc3Q7XG4gICAgICAgIC8vIFJlbW92ZSBvbGQgY2xhc3NlcyB0aGF0IG5vIGxvbmdlciBhcHBseVxuICAgICAgICAvLyBXZSB1c2UgZm9yRWFjaCgpIGluc3RlYWQgb2YgZm9yLW9mIHNvIHRoYXQgd2UgZG9uJ3QgcmVxdWlyZSBkb3duLWxldmVsXG4gICAgICAgIC8vIGl0ZXJhdGlvbi5cbiAgICAgICAgdGhpcy5fcHJldmlvdXNDbGFzc2VzLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgICAgIGlmICghKG5hbWUgaW4gY2xhc3NJbmZvKSkge1xuICAgICAgICAgICAgICAgIGNsYXNzTGlzdC5yZW1vdmUobmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNDbGFzc2VzLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIEFkZCBvciByZW1vdmUgY2xhc3NlcyBiYXNlZCBvbiB0aGVpciBjbGFzc01hcCB2YWx1ZVxuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgaW4gY2xhc3NJbmZvKSB7XG4gICAgICAgICAgICAvLyBXZSBleHBsaWNpdGx5IHdhbnQgYSBsb29zZSB0cnV0aHkgY2hlY2sgb2YgYHZhbHVlYCBiZWNhdXNlIGl0IHNlZW1zXG4gICAgICAgICAgICAvLyBtb3JlIGNvbnZlbmllbnQgdGhhdCAnJyBhbmQgMCBhcmUgc2tpcHBlZC5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gISFjbGFzc0luZm9bbmFtZV07XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX3ByZXZpb3VzQ2xhc3Nlcy5oYXMobmFtZSkgJiZcbiAgICAgICAgICAgICAgICAhKChfYiA9IHRoaXMuX3N0YXRpY0NsYXNzZXMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5oYXMobmFtZSkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTGlzdC5hZGQobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzQ2xhc3Nlcy5hZGQobmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc0xpc3QucmVtb3ZlKG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcmV2aW91c0NsYXNzZXMuZGVsZXRlKG5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9DaGFuZ2U7XG4gICAgfVxufVxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0aGF0IGFwcGxpZXMgZHluYW1pYyBDU1MgY2xhc3Nlcy5cbiAqXG4gKiBUaGlzIG11c3QgYmUgdXNlZCBpbiB0aGUgYGNsYXNzYCBhdHRyaWJ1dGUgYW5kIG11c3QgYmUgdGhlIG9ubHkgcGFydCB1c2VkIGluXG4gKiB0aGUgYXR0cmlidXRlLiBJdCB0YWtlcyBlYWNoIHByb3BlcnR5IGluIHRoZSBgY2xhc3NJbmZvYCBhcmd1bWVudCBhbmQgYWRkc1xuICogdGhlIHByb3BlcnR5IG5hbWUgdG8gdGhlIGVsZW1lbnQncyBgY2xhc3NMaXN0YCBpZiB0aGUgcHJvcGVydHkgdmFsdWUgaXNcbiAqIHRydXRoeTsgaWYgdGhlIHByb3BlcnR5IHZhbHVlIGlzIGZhbHNleSwgdGhlIHByb3BlcnR5IG5hbWUgaXMgcmVtb3ZlZCBmcm9tXG4gKiB0aGUgZWxlbWVudCdzIGBjbGFzc2AuXG4gKlxuICogRm9yIGV4YW1wbGUgYHtmb286IGJhcn1gIGFwcGxpZXMgdGhlIGNsYXNzIGBmb29gIGlmIHRoZSB2YWx1ZSBvZiBgYmFyYCBpc1xuICogdHJ1dGh5LlxuICpcbiAqIEBwYXJhbSBjbGFzc0luZm9cbiAqL1xuZXhwb3J0IGNvbnN0IGNsYXNzTWFwID0gZGlyZWN0aXZlKENsYXNzTWFwRGlyZWN0aXZlKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNsYXNzLW1hcC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lit-html/development/directives/class-map.js\n")); - -/***/ }), - -/***/ "./node_modules/lit-html/development/directives/if-defined.js": -/*!********************************************************************!*\ - !*** ./node_modules/lit-html/development/directives/if-defined.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ifDefined: function() { return /* binding */ ifDefined; }\n/* harmony export */ });\n/* harmony import */ var _lit_html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lit-html.js */ \"./node_modules/lit-html/development/lit-html.js\");\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * For AttributeParts, sets the attribute if the value is defined and removes\n * the attribute if the value is undefined.\n *\n * For other part types, this directive is a no-op.\n */\nconst ifDefined = (value) => value !== null && value !== void 0 ? value : _lit_html_js__WEBPACK_IMPORTED_MODULE_0__.nothing;\n//# sourceMappingURL=if-defined.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGV2ZWxvcG1lbnQvZGlyZWN0aXZlcy9pZi1kZWZpbmVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUN5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTywwRUFBMEUsaURBQU87QUFDeEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2xpdC1odG1sL2RldmVsb3BtZW50L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZC5qcz8zZDY5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuaW1wb3J0IHsgbm90aGluZyB9IGZyb20gJy4uL2xpdC1odG1sLmpzJztcbi8qKlxuICogRm9yIEF0dHJpYnV0ZVBhcnRzLCBzZXRzIHRoZSBhdHRyaWJ1dGUgaWYgdGhlIHZhbHVlIGlzIGRlZmluZWQgYW5kIHJlbW92ZXNcbiAqIHRoZSBhdHRyaWJ1dGUgaWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZC5cbiAqXG4gKiBGb3Igb3RoZXIgcGFydCB0eXBlcywgdGhpcyBkaXJlY3RpdmUgaXMgYSBuby1vcC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlmRGVmaW5lZCA9ICh2YWx1ZSkgPT4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogbm90aGluZztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlmLWRlZmluZWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lit-html/development/directives/if-defined.js\n")); - -/***/ }), - -/***/ "./node_modules/lit-html/development/is-server.js": -/*!********************************************************!*\ - !*** ./node_modules/lit-html/development/is-server.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isServer: function() { return /* binding */ isServer; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * @fileoverview\n *\n * This file exports a boolean const whose value will depend on what environment\n * the module is being imported from.\n */\nconst NODE_MODE = false;\n/**\n * A boolean that will be `true` in server environments like Node, and `false`\n * in browser environments. Note that your server environment or toolchain must\n * support the `\"node\"` export condition for this to be `true`.\n *\n * This can be used when authoring components to change behavior based on\n * whether or not the component is executing in an SSR context.\n */\nconst isServer = NODE_MODE;\n//# sourceMappingURL=is-server.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGV2ZWxvcG1lbnQvaXMtc2VydmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGV2ZWxvcG1lbnQvaXMtc2VydmVyLmpzPzQ4ZTkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhIGJvb2xlYW4gY29uc3Qgd2hvc2UgdmFsdWUgd2lsbCBkZXBlbmQgb24gd2hhdCBlbnZpcm9ubWVudFxuICogdGhlIG1vZHVsZSBpcyBiZWluZyBpbXBvcnRlZCBmcm9tLlxuICovXG5jb25zdCBOT0RFX01PREUgPSBmYWxzZTtcbi8qKlxuICogQSBib29sZWFuIHRoYXQgd2lsbCBiZSBgdHJ1ZWAgaW4gc2VydmVyIGVudmlyb25tZW50cyBsaWtlIE5vZGUsIGFuZCBgZmFsc2VgXG4gKiBpbiBicm93c2VyIGVudmlyb25tZW50cy4gTm90ZSB0aGF0IHlvdXIgc2VydmVyIGVudmlyb25tZW50IG9yIHRvb2xjaGFpbiBtdXN0XG4gKiBzdXBwb3J0IHRoZSBgXCJub2RlXCJgIGV4cG9ydCBjb25kaXRpb24gZm9yIHRoaXMgdG8gYmUgYHRydWVgLlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWQgd2hlbiBhdXRob3JpbmcgY29tcG9uZW50cyB0byBjaGFuZ2UgYmVoYXZpb3IgYmFzZWQgb25cbiAqIHdoZXRoZXIgb3Igbm90IHRoZSBjb21wb25lbnQgaXMgZXhlY3V0aW5nIGluIGFuIFNTUiBjb250ZXh0LlxuICovXG5leHBvcnQgY29uc3QgaXNTZXJ2ZXIgPSBOT0RFX01PREU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1zZXJ2ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lit-html/development/is-server.js\n")); - -/***/ }), - -/***/ "./node_modules/lit-html/development/lit-html.js": -/*!*******************************************************!*\ - !*** ./node_modules/lit-html/development/lit-html.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _$LH: function() { return /* binding */ _$LH; },\n/* harmony export */ html: function() { return /* binding */ html; },\n/* harmony export */ noChange: function() { return /* binding */ noChange; },\n/* harmony export */ nothing: function() { return /* binding */ nothing; },\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ svg: function() { return /* binding */ svg; }\n/* harmony export */ });\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar _a, _b, _c, _d;\nconst DEV_MODE = true;\nconst ENABLE_EXTRA_SECURITY_HOOKS = true;\nconst ENABLE_SHADYDOM_NOPATCH = true;\nconst NODE_MODE = false;\n// Use window for browser builds because IE11 doesn't have globalThis.\nconst global = NODE_MODE ? globalThis : window;\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event) => {\n const shouldEmit = global\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(new CustomEvent('lit-debug', {\n detail: event,\n }));\n }\n : undefined;\n// Used for connecting beginRender and endRender events when there are nested\n// renders when errors are thrown preventing an endRender event from being\n// called.\nlet debugLogRenderId = 0;\nlet issueWarning;\nif (DEV_MODE) {\n (_a = global.litIssuedWarnings) !== null && _a !== void 0 ? _a : (global.litIssuedWarnings = new Set());\n // Issue a warning, if we haven't already.\n issueWarning = (code, warning) => {\n warning += code\n ? ` See https://lit.dev/msg/${code} for more information.`\n : '';\n if (!global.litIssuedWarnings.has(warning)) {\n console.warn(warning);\n global.litIssuedWarnings.add(warning);\n }\n };\n issueWarning('dev-mode', `Lit is in dev mode. Not recommended for production!`);\n}\nconst wrap = ENABLE_SHADYDOM_NOPATCH &&\n ((_b = global.ShadyDOM) === null || _b === void 0 ? void 0 : _b.inUse) &&\n ((_c = global.ShadyDOM) === null || _c === void 0 ? void 0 : _c.noPatch) === true\n ? global.ShadyDOM.wrap\n : (node) => node;\nconst trustedTypes = global.trustedTypes;\n/**\n * Our TrustedTypePolicy for HTML which is declared using the html template\n * tag function.\n *\n * That HTML is a developer-authored constant, and is parsed with innerHTML\n * before any untrusted expressions have been mixed in. Therefor it is\n * considered safe by construction.\n */\nconst policy = trustedTypes\n ? trustedTypes.createPolicy('lit-html', {\n createHTML: (s) => s,\n })\n : undefined;\nconst identityFunction = (value) => value;\nconst noopSanitizer = (_node, _name, _type) => identityFunction;\n/** Sets the global sanitizer factory. */\nconst setSanitizer = (newSanitizer) => {\n if (!ENABLE_EXTRA_SECURITY_HOOKS) {\n return;\n }\n if (sanitizerFactoryInternal !== noopSanitizer) {\n throw new Error(`Attempted to overwrite existing lit-html security policy.` +\n ` setSanitizeDOMValueFactory should be called at most once.`);\n }\n sanitizerFactoryInternal = newSanitizer;\n};\n/**\n * Only used in internal tests, not a part of the public API.\n */\nconst _testOnlyClearSanitizerFactoryDoNotCallOrElse = () => {\n sanitizerFactoryInternal = noopSanitizer;\n};\nconst createSanitizer = (node, name, type) => {\n return sanitizerFactoryInternal(node, name, type);\n};\n// Added to an attribute name to mark the attribute as bound so we can find\n// it easily.\nconst boundAttributeSuffix = '$lit$';\n// This marker is used in many syntactic positions in HTML, so it must be\n// a valid element name and attribute name. We don't support dynamic names (yet)\n// but this at least ensures that the parse tree is closer to the template\n// intention.\nconst marker = `lit$${String(Math.random()).slice(9)}$`;\n// String used to tell if a comment is a marker comment\nconst markerMatch = '?' + marker;\n// Text used to insert a comment marker node. We use processing instruction\n// syntax because it's slightly smaller, but parses as a comment node.\nconst nodeMarker = `<${markerMatch}>`;\nconst d = NODE_MODE && global.document === undefined\n ? {\n createTreeWalker() {\n return {};\n },\n }\n : document;\n// Creates a dynamic marker. We never have to search for these in the DOM.\nconst createMarker = () => d.createComment('');\nconst isPrimitive = (value) => value === null || (typeof value != 'object' && typeof value != 'function');\nconst isArray = Array.isArray;\nconst isIterable = (value) => isArray(value) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (value === null || value === void 0 ? void 0 : value[Symbol.iterator]) === 'function';\nconst SPACE_CHAR = `[ \\t\\n\\f\\r]`;\nconst ATTR_VALUE_CHAR = `[^ \\t\\n\\f\\r\"'\\`<>=]`;\nconst NAME_CHAR = `[^\\\\s\"'>=/]`;\n// These regexes represent the five parsing states that we care about in the\n// Template's HTML scanner. They match the *end* of the state they're named\n// after.\n// Depending on the match, we transition to a new state. If there's no match,\n// we stay in the same state.\n// Note that the regexes are stateful. We utilize lastIndex and sync it\n// across the multiple regexes used. In addition to the five regexes below\n// we also dynamically create a regex to find the matching end tags for raw\n// text elements.\n/**\n * End of text is: `<` followed by:\n * (comment start) or (tag) or (dynamic tag binding)\n */\nconst textEndRegex = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nconst COMMENT_START = 1;\nconst TAG_NAME = 2;\nconst DYNAMIC_TAG_NAME = 3;\nconst commentEndRegex = /-->/g;\n/**\n * Comments not started with <!--, like </{, can be ended by a single `>`\n */\nconst comment2EndRegex = />/g;\n/**\n * The tagEnd regex matches the end of the \"inside an opening\" tag syntax\n * position. It either matches a `>`, an attribute-like sequence, or the end\n * of the string after a space (attribute-name position ending).\n *\n * See attributes in the HTML spec:\n * https://www.w3.org/TR/html5/syntax.html#elements-attributes\n *\n * \" \\t\\n\\f\\r\" are HTML space characters:\n * https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * So an attribute is:\n * * The name: any character except a whitespace character, (\"), ('), \">\",\n * \"=\", or \"/\". Note: this is different from the HTML spec which also excludes control characters.\n * * Followed by zero or more space characters\n * * Followed by \"=\"\n * * Followed by zero or more space characters\n * * Followed by:\n * * Any character except space, ('), (\"), \"<\", \">\", \"=\", (`), or\n * * (\") then any non-(\"), or\n * * (') then any non-(')\n */\nconst tagEndRegex = new RegExp(`>|${SPACE_CHAR}(?:(${NAME_CHAR}+)(${SPACE_CHAR}*=${SPACE_CHAR}*(?:${ATTR_VALUE_CHAR}|(\"|')|))|$)`, 'g');\nconst ENTIRE_MATCH = 0;\nconst ATTRIBUTE_NAME = 1;\nconst SPACES_AND_EQUALS = 2;\nconst QUOTE_CHAR = 3;\nconst singleQuoteAttrEndRegex = /'/g;\nconst doubleQuoteAttrEndRegex = /\"/g;\n/**\n * Matches the raw text elements.\n *\n * Comments are not parsed within raw text elements, so we need to search their\n * text content for marker strings.\n */\nconst rawTextElement = /^(?:script|style|textarea|title)$/i;\n/** TemplateResult types */\nconst HTML_RESULT = 1;\nconst SVG_RESULT = 2;\n// TemplatePart types\n// IMPORTANT: these must match the values in PartType\nconst ATTRIBUTE_PART = 1;\nconst CHILD_PART = 2;\nconst PROPERTY_PART = 3;\nconst BOOLEAN_ATTRIBUTE_PART = 4;\nconst EVENT_PART = 5;\nconst ELEMENT_PART = 6;\nconst COMMENT_PART = 7;\n/**\n * Generates a template literal tag function that returns a TemplateResult with\n * the given result type.\n */\nconst tag = (type) => (strings, ...values) => {\n // Warn against templates octal escape sequences\n // We do this here rather than in render so that the warning is closer to the\n // template definition.\n if (DEV_MODE && strings.some((s) => s === undefined)) {\n console.warn('Some template strings are undefined.\\n' +\n 'This is probably caused by illegal octal escape sequences.');\n }\n return {\n // This property needs to remain unminified.\n ['_$litType$']: type,\n strings,\n values,\n };\n};\n/**\n * Interprets a template literal as an HTML template that can efficiently\n * render to and update a container.\n *\n * ```ts\n * const header = (title: string) => html`<h1>${title}</h1>`;\n * ```\n *\n * The `html` tag returns a description of the DOM to render as a value. It is\n * lazy, meaning no work is done until the template is rendered. When rendering,\n * if a template comes from the same expression as a previously rendered result,\n * it's efficiently updated instead of replaced.\n */\nconst html = tag(HTML_RESULT);\n/**\n * Interprets a template literal as an SVG fragment that can efficiently\n * render to and update a container.\n *\n * ```ts\n * const rect = svg`<rect width=\"10\" height=\"10\"></rect>`;\n *\n * const myImage = html`\n * <svg viewBox=\"0 0 10 10\" xmlns=\"http://www.w3.org/2000/svg\">\n * ${rect}\n * </svg>`;\n * ```\n *\n * The `svg` *tag function* should only be used for SVG fragments, or elements\n * that would be contained **inside** an `<svg>` HTML element. A common error is\n * placing an `<svg>` *element* in a template tagged with the `svg` tag\n * function. The `<svg>` element is an HTML element and should be used within a\n * template tagged with the {@linkcode html} tag function.\n *\n * In LitElement usage, it's invalid to return an SVG fragment from the\n * `render()` method, as the SVG fragment will be contained within the element's\n * shadow root and thus cannot be used within an `<svg>` HTML element.\n */\nconst svg = tag(SVG_RESULT);\n/**\n * A sentinel value that signals that a value was handled by a directive and\n * should not be written to the DOM.\n */\nconst noChange = Symbol.for('lit-noChange');\n/**\n * A sentinel value that signals a ChildPart to fully clear its content.\n *\n * ```ts\n * const button = html`${\n * user.isAdmin\n * ? html`<button>DELETE</button>`\n * : nothing\n * }`;\n * ```\n *\n * Prefer using `nothing` over other falsy values as it provides a consistent\n * behavior between various expression binding contexts.\n *\n * In child expressions, `undefined`, `null`, `''`, and `nothing` all behave the\n * same and render no nodes. In attribute expressions, `nothing` _removes_ the\n * attribute, while `undefined` and `null` will render an empty string. In\n * property expressions `nothing` becomes `undefined`.\n */\nconst nothing = Symbol.for('lit-nothing');\n/**\n * The cache of prepared templates, keyed by the tagged TemplateStringsArray\n * and _not_ accounting for the specific template tag used. This means that\n * template tags cannot be dynamic - the must statically be one of html, svg,\n * or attr. This restriction simplifies the cache lookup, which is on the hot\n * path for rendering.\n */\nconst templateCache = new WeakMap();\nconst walker = d.createTreeWalker(d, 129 /* NodeFilter.SHOW_{ELEMENT|COMMENT} */, null, false);\nlet sanitizerFactoryInternal = noopSanitizer;\nfunction trustFromTemplateString(tsa, stringFromTSA) {\n // A security check to prevent spoofing of Lit template results.\n // In the future, we may be able to replace this with Array.isTemplateObject,\n // though we might need to make that check inside of the html and svg\n // functions, because precompiled templates don't come in as\n // TemplateStringArray objects.\n if (!Array.isArray(tsa) || !tsa.hasOwnProperty('raw')) {\n let message = 'invalid template strings array';\n if (DEV_MODE) {\n message = `\n Internal Error: expected template strings to be an array\n with a 'raw' field. Faking a template strings array by\n calling html or svg like an ordinary function is effectively\n the same as calling unsafeHtml and can lead to major security\n issues, e.g. opening your code up to XSS attacks.\n If you're using the html or svg tagged template functions normally\n and still seeing this error, please file a bug at\n https://github.com/lit/lit/issues/new?template=bug_report.md\n and include information about your build tooling, if any.\n `\n .trim()\n .replace(/\\n */g, '\\n');\n }\n throw new Error(message);\n }\n return policy !== undefined\n ? policy.createHTML(stringFromTSA)\n : stringFromTSA;\n}\n/**\n * Returns an HTML string for the given TemplateStringsArray and result type\n * (HTML or SVG), along with the case-sensitive bound attribute names in\n * template order. The HTML contains comment markers denoting the `ChildPart`s\n * and suffixes on bound attributes denoting the `AttributeParts`.\n *\n * @param strings template strings array\n * @param type HTML or SVG\n * @return Array containing `[html, attrNames]` (array returned for terseness,\n * to avoid object fields since this code is shared with non-minified SSR\n * code)\n */\nconst getTemplateHtml = (strings, type) => {\n // Insert makers into the template HTML to represent the position of\n // bindings. The following code scans the template strings to determine the\n // syntactic position of the bindings. They can be in text position, where\n // we insert an HTML comment, attribute value position, where we insert a\n // sentinel string and re-write the attribute name, or inside a tag where\n // we insert the sentinel string.\n const l = strings.length - 1;\n // Stores the case-sensitive bound attribute names in the order of their\n // parts. ElementParts are also reflected in this array as undefined\n // rather than a string, to disambiguate from attribute bindings.\n const attrNames = [];\n let html = type === SVG_RESULT ? '<svg>' : '';\n // When we're inside a raw text tag (not it's text content), the regex\n // will still be tagRegex so we can find attributes, but will switch to\n // this regex when the tag ends.\n let rawTextEndRegex;\n // The current parsing state, represented as a reference to one of the\n // regexes\n let regex = textEndRegex;\n for (let i = 0; i < l; i++) {\n const s = strings[i];\n // The index of the end of the last attribute name. When this is\n // positive at end of a string, it means we're in an attribute value\n // position and need to rewrite the attribute name.\n // We also use a special value of -2 to indicate that we encountered\n // the end of a string in attribute name position.\n let attrNameEndIndex = -1;\n let attrName;\n let lastIndex = 0;\n let match;\n // The conditions in this loop handle the current parse state, and the\n // assignments to the `regex` variable are the state transitions.\n while (lastIndex < s.length) {\n // Make sure we start searching from where we previously left off\n regex.lastIndex = lastIndex;\n match = regex.exec(s);\n if (match === null) {\n break;\n }\n lastIndex = regex.lastIndex;\n if (regex === textEndRegex) {\n if (match[COMMENT_START] === '!--') {\n regex = commentEndRegex;\n }\n else if (match[COMMENT_START] !== undefined) {\n // We started a weird comment, like </{\n regex = comment2EndRegex;\n }\n else if (match[TAG_NAME] !== undefined) {\n if (rawTextElement.test(match[TAG_NAME])) {\n // Record if we encounter a raw-text element. We'll switch to\n // this regex at the end of the tag.\n rawTextEndRegex = new RegExp(`</${match[TAG_NAME]}`, 'g');\n }\n regex = tagEndRegex;\n }\n else if (match[DYNAMIC_TAG_NAME] !== undefined) {\n if (DEV_MODE) {\n throw new Error('Bindings in tag names are not supported. Please use static templates instead. ' +\n 'See https://lit.dev/docs/templates/expressions/#static-expressions');\n }\n regex = tagEndRegex;\n }\n }\n else if (regex === tagEndRegex) {\n if (match[ENTIRE_MATCH] === '>') {\n // End of a tag. If we had started a raw-text element, use that\n // regex\n regex = rawTextEndRegex !== null && rawTextEndRegex !== void 0 ? rawTextEndRegex : textEndRegex;\n // We may be ending an unquoted attribute value, so make sure we\n // clear any pending attrNameEndIndex\n attrNameEndIndex = -1;\n }\n else if (match[ATTRIBUTE_NAME] === undefined) {\n // Attribute name position\n attrNameEndIndex = -2;\n }\n else {\n attrNameEndIndex = regex.lastIndex - match[SPACES_AND_EQUALS].length;\n attrName = match[ATTRIBUTE_NAME];\n regex =\n match[QUOTE_CHAR] === undefined\n ? tagEndRegex\n : match[QUOTE_CHAR] === '\"'\n ? doubleQuoteAttrEndRegex\n : singleQuoteAttrEndRegex;\n }\n }\n else if (regex === doubleQuoteAttrEndRegex ||\n regex === singleQuoteAttrEndRegex) {\n regex = tagEndRegex;\n }\n else if (regex === commentEndRegex || regex === comment2EndRegex) {\n regex = textEndRegex;\n }\n else {\n // Not one of the five state regexes, so it must be the dynamically\n // created raw text regex and we're at the close of that element.\n regex = tagEndRegex;\n rawTextEndRegex = undefined;\n }\n }\n if (DEV_MODE) {\n // If we have a attrNameEndIndex, which indicates that we should\n // rewrite the attribute name, assert that we're in a valid attribute\n // position - either in a tag, or a quoted attribute value.\n console.assert(attrNameEndIndex === -1 ||\n regex === tagEndRegex ||\n regex === singleQuoteAttrEndRegex ||\n regex === doubleQuoteAttrEndRegex, 'unexpected parse state B');\n }\n // We have four cases:\n // 1. We're in text position, and not in a raw text element\n // (regex === textEndRegex): insert a comment marker.\n // 2. We have a non-negative attrNameEndIndex which means we need to\n // rewrite the attribute name to add a bound attribute suffix.\n // 3. We're at the non-first binding in a multi-binding attribute, use a\n // plain marker.\n // 4. We're somewhere else inside the tag. If we're in attribute name\n // position (attrNameEndIndex === -2), add a sequential suffix to\n // generate a unique attribute name.\n // Detect a binding next to self-closing tag end and insert a space to\n // separate the marker from the tag end:\n const end = regex === tagEndRegex && strings[i + 1].startsWith('/>') ? ' ' : '';\n html +=\n regex === textEndRegex\n ? s + nodeMarker\n : attrNameEndIndex >= 0\n ? (attrNames.push(attrName),\n s.slice(0, attrNameEndIndex) +\n boundAttributeSuffix +\n s.slice(attrNameEndIndex)) +\n marker +\n end\n : s +\n marker +\n (attrNameEndIndex === -2 ? (attrNames.push(undefined), i) : end);\n }\n const htmlResult = html + (strings[l] || '<?>') + (type === SVG_RESULT ? '</svg>' : '');\n // Returned as an array for terseness\n return [trustFromTemplateString(strings, htmlResult), attrNames];\n};\nclass Template {\n constructor(\n // This property needs to remain unminified.\n { strings, ['_$litType$']: type }, options) {\n this.parts = [];\n let node;\n let nodeIndex = 0;\n let attrNameIndex = 0;\n const partCount = strings.length - 1;\n const parts = this.parts;\n // Create template element\n const [html, attrNames] = getTemplateHtml(strings, type);\n this.el = Template.createElement(html, options);\n walker.currentNode = this.el.content;\n // Reparent SVG nodes into template root\n if (type === SVG_RESULT) {\n const content = this.el.content;\n const svgElement = content.firstChild;\n svgElement.remove();\n content.append(...svgElement.childNodes);\n }\n // Walk the template to find binding markers and create TemplateParts\n while ((node = walker.nextNode()) !== null && parts.length < partCount) {\n if (node.nodeType === 1) {\n if (DEV_MODE) {\n const tag = node.localName;\n // Warn if `textarea` includes an expression and throw if `template`\n // does since these are not supported. We do this by checking\n // innerHTML for anything that looks like a marker. This catches\n // cases like bindings in textarea there markers turn into text nodes.\n if (/^(?:textarea|template)$/i.test(tag) &&\n node.innerHTML.includes(marker)) {\n const m = `Expressions are not supported inside \\`${tag}\\` ` +\n `elements. See https://lit.dev/msg/expression-in-${tag} for more ` +\n `information.`;\n if (tag === 'template') {\n throw new Error(m);\n }\n else\n issueWarning('', m);\n }\n }\n // TODO (justinfagnani): for attempted dynamic tag names, we don't\n // increment the bindingIndex, and it'll be off by 1 in the element\n // and off by two after it.\n if (node.hasAttributes()) {\n // We defer removing bound attributes because on IE we might not be\n // iterating attributes in their template order, and would sometimes\n // remove an attribute that we still need to create a part for.\n const attrsToRemove = [];\n for (const name of node.getAttributeNames()) {\n // `name` is the name of the attribute we're iterating over, but not\n // _necessarily_ the name of the attribute we will create a part\n // for. They can be different in browsers that don't iterate on\n // attributes in source order. In that case the attrNames array\n // contains the attribute name we'll process next. We only need the\n // attribute name here to know if we should process a bound attribute\n // on this element.\n if (name.endsWith(boundAttributeSuffix) ||\n name.startsWith(marker)) {\n const realName = attrNames[attrNameIndex++];\n attrsToRemove.push(name);\n if (realName !== undefined) {\n // Lowercase for case-sensitive SVG attributes like viewBox\n const value = node.getAttribute(realName.toLowerCase() + boundAttributeSuffix);\n const statics = value.split(marker);\n const m = /([.?@])?(.*)/.exec(realName);\n parts.push({\n type: ATTRIBUTE_PART,\n index: nodeIndex,\n name: m[2],\n strings: statics,\n ctor: m[1] === '.'\n ? PropertyPart\n : m[1] === '?'\n ? BooleanAttributePart\n : m[1] === '@'\n ? EventPart\n : AttributePart,\n });\n }\n else {\n parts.push({\n type: ELEMENT_PART,\n index: nodeIndex,\n });\n }\n }\n }\n for (const name of attrsToRemove) {\n node.removeAttribute(name);\n }\n }\n // TODO (justinfagnani): benchmark the regex against testing for each\n // of the 3 raw text element names.\n if (rawTextElement.test(node.tagName)) {\n // For raw text elements we need to split the text content on\n // markers, create a Text node for each segment, and create\n // a TemplatePart for each marker.\n const strings = node.textContent.split(marker);\n const lastIndex = strings.length - 1;\n if (lastIndex > 0) {\n node.textContent = trustedTypes\n ? trustedTypes.emptyScript\n : '';\n // Generate a new text node for each literal section\n // These nodes are also used as the markers for node parts\n // We can't use empty text nodes as markers because they're\n // normalized when cloning in IE (could simplify when\n // IE is no longer supported)\n for (let i = 0; i < lastIndex; i++) {\n node.append(strings[i], createMarker());\n // Walk past the marker node we just added\n walker.nextNode();\n parts.push({ type: CHILD_PART, index: ++nodeIndex });\n }\n // Note because this marker is added after the walker's current\n // node, it will be walked to in the outer loop (and ignored), so\n // we don't need to adjust nodeIndex here\n node.append(strings[lastIndex], createMarker());\n }\n }\n }\n else if (node.nodeType === 8) {\n const data = node.data;\n if (data === markerMatch) {\n parts.push({ type: CHILD_PART, index: nodeIndex });\n }\n else {\n let i = -1;\n while ((i = node.data.indexOf(marker, i + 1)) !== -1) {\n // Comment node has a binding marker inside, make an inactive part\n // The binding won't work, but subsequent bindings will\n parts.push({ type: COMMENT_PART, index: nodeIndex });\n // Move to the end of the match\n i += marker.length - 1;\n }\n }\n }\n nodeIndex++;\n }\n // We could set walker.currentNode to another node here to prevent a memory\n // leak, but every time we prepare a template, we immediately render it\n // and re-use the walker in new TemplateInstance._clone().\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'template prep',\n template: this,\n clonableTemplate: this.el,\n parts: this.parts,\n strings,\n });\n }\n // Overridden via `litHtmlPolyfillSupport` to provide platform support.\n /** @nocollapse */\n static createElement(html, _options) {\n const el = d.createElement('template');\n el.innerHTML = html;\n return el;\n }\n}\nfunction resolveDirective(part, value, parent = part, attributeIndex) {\n var _a, _b, _c;\n var _d;\n // Bail early if the value is explicitly noChange. Note, this means any\n // nested directive is still attached and is not run.\n if (value === noChange) {\n return value;\n }\n let currentDirective = attributeIndex !== undefined\n ? (_a = parent.__directives) === null || _a === void 0 ? void 0 : _a[attributeIndex]\n : parent.__directive;\n const nextDirectiveConstructor = isPrimitive(value)\n ? undefined\n : // This property needs to remain unminified.\n value['_$litDirective$'];\n if ((currentDirective === null || currentDirective === void 0 ? void 0 : currentDirective.constructor) !== nextDirectiveConstructor) {\n // This property needs to remain unminified.\n (_b = currentDirective === null || currentDirective === void 0 ? void 0 : currentDirective['_$notifyDirectiveConnectionChanged']) === null || _b === void 0 ? void 0 : _b.call(currentDirective, false);\n if (nextDirectiveConstructor === undefined) {\n currentDirective = undefined;\n }\n else {\n currentDirective = new nextDirectiveConstructor(part);\n currentDirective._$initialize(part, parent, attributeIndex);\n }\n if (attributeIndex !== undefined) {\n ((_c = (_d = parent).__directives) !== null && _c !== void 0 ? _c : (_d.__directives = []))[attributeIndex] =\n currentDirective;\n }\n else {\n parent.__directive = currentDirective;\n }\n }\n if (currentDirective !== undefined) {\n value = resolveDirective(part, currentDirective._$resolve(part, value.values), currentDirective, attributeIndex);\n }\n return value;\n}\n/**\n * An updateable instance of a Template. Holds references to the Parts used to\n * update the template instance.\n */\nclass TemplateInstance {\n constructor(template, parent) {\n this._$parts = [];\n /** @internal */\n this._$disconnectableChildren = undefined;\n this._$template = template;\n this._$parent = parent;\n }\n // Called by ChildPart parentNode getter\n get parentNode() {\n return this._$parent.parentNode;\n }\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n // This method is separate from the constructor because we need to return a\n // DocumentFragment and we don't want to hold onto it with an instance field.\n _clone(options) {\n var _a;\n const { el: { content }, parts: parts, } = this._$template;\n const fragment = ((_a = options === null || options === void 0 ? void 0 : options.creationScope) !== null && _a !== void 0 ? _a : d).importNode(content, true);\n walker.currentNode = fragment;\n let node = walker.nextNode();\n let nodeIndex = 0;\n let partIndex = 0;\n let templatePart = parts[0];\n while (templatePart !== undefined) {\n if (nodeIndex === templatePart.index) {\n let part;\n if (templatePart.type === CHILD_PART) {\n part = new ChildPart(node, node.nextSibling, this, options);\n }\n else if (templatePart.type === ATTRIBUTE_PART) {\n part = new templatePart.ctor(node, templatePart.name, templatePart.strings, this, options);\n }\n else if (templatePart.type === ELEMENT_PART) {\n part = new ElementPart(node, this, options);\n }\n this._$parts.push(part);\n templatePart = parts[++partIndex];\n }\n if (nodeIndex !== (templatePart === null || templatePart === void 0 ? void 0 : templatePart.index)) {\n node = walker.nextNode();\n nodeIndex++;\n }\n }\n // We need to set the currentNode away from the cloned tree so that we\n // don't hold onto the tree even if the tree is detached and should be\n // freed.\n walker.currentNode = d;\n return fragment;\n }\n _update(values) {\n let i = 0;\n for (const part of this._$parts) {\n if (part !== undefined) {\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'set part',\n part,\n value: values[i],\n valueIndex: i,\n values,\n templateInstance: this,\n });\n if (part.strings !== undefined) {\n part._$setValue(values, part, i);\n // The number of values the part consumes is part.strings.length - 1\n // since values are in between template spans. We increment i by 1\n // later in the loop, so increment it by part.strings.length - 2 here\n i += part.strings.length - 2;\n }\n else {\n part._$setValue(values[i]);\n }\n }\n i++;\n }\n }\n}\nclass ChildPart {\n constructor(startNode, endNode, parent, options) {\n var _a;\n this.type = CHILD_PART;\n this._$committedValue = nothing;\n // The following fields will be patched onto ChildParts when required by\n // AsyncDirective\n /** @internal */\n this._$disconnectableChildren = undefined;\n this._$startNode = startNode;\n this._$endNode = endNode;\n this._$parent = parent;\n this.options = options;\n // Note __isConnected is only ever accessed on RootParts (i.e. when there is\n // no _$parent); the value on a non-root-part is \"don't care\", but checking\n // for parent would be more code\n this.__isConnected = (_a = options === null || options === void 0 ? void 0 : options.isConnected) !== null && _a !== void 0 ? _a : true;\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n // Explicitly initialize for consistent class shape.\n this._textSanitizer = undefined;\n }\n }\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n var _a, _b;\n // ChildParts that are not at the root should always be created with a\n // parent; only RootChildNode's won't, so they return the local isConnected\n // state\n return (_b = (_a = this._$parent) === null || _a === void 0 ? void 0 : _a._$isConnected) !== null && _b !== void 0 ? _b : this.__isConnected;\n }\n /**\n * The parent node into which the part renders its content.\n *\n * A ChildPart's content consists of a range of adjacent child nodes of\n * `.parentNode`, possibly bordered by 'marker nodes' (`.startNode` and\n * `.endNode`).\n *\n * - If both `.startNode` and `.endNode` are non-null, then the part's content\n * consists of all siblings between `.startNode` and `.endNode`, exclusively.\n *\n * - If `.startNode` is non-null but `.endNode` is null, then the part's\n * content consists of all siblings following `.startNode`, up to and\n * including the last child of `.parentNode`. If `.endNode` is non-null, then\n * `.startNode` will always be non-null.\n *\n * - If both `.endNode` and `.startNode` are null, then the part's content\n * consists of all child nodes of `.parentNode`.\n */\n get parentNode() {\n let parentNode = wrap(this._$startNode).parentNode;\n const parent = this._$parent;\n if (parent !== undefined &&\n (parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) === 11 /* Node.DOCUMENT_FRAGMENT */) {\n // If the parentNode is a DocumentFragment, it may be because the DOM is\n // still in the cloned fragment during initial render; if so, get the real\n // parentNode the part will be committed into by asking the parent.\n parentNode = parent.parentNode;\n }\n return parentNode;\n }\n /**\n * The part's leading marker node, if any. See `.parentNode` for more\n * information.\n */\n get startNode() {\n return this._$startNode;\n }\n /**\n * The part's trailing marker node, if any. See `.parentNode` for more\n * information.\n */\n get endNode() {\n return this._$endNode;\n }\n _$setValue(value, directiveParent = this) {\n var _a;\n if (DEV_MODE && this.parentNode === null) {\n throw new Error(`This \\`ChildPart\\` has no \\`parentNode\\` and therefore cannot accept a value. This likely means the element containing the part was manipulated in an unsupported way outside of Lit's control such that the part's marker nodes were ejected from DOM. For example, setting the element's \\`innerHTML\\` or \\`textContent\\` can do this.`);\n }\n value = resolveDirective(this, value, directiveParent);\n if (isPrimitive(value)) {\n // Non-rendering child values. It's important that these do not render\n // empty text nodes to avoid issues with preventing default <slot>\n // fallback content.\n if (value === nothing || value == null || value === '') {\n if (this._$committedValue !== nothing) {\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit nothing to child',\n start: this._$startNode,\n end: this._$endNode,\n parent: this._$parent,\n options: this.options,\n });\n this._$clear();\n }\n this._$committedValue = nothing;\n }\n else if (value !== this._$committedValue && value !== noChange) {\n this._commitText(value);\n }\n // This property needs to remain unminified.\n }\n else if (value['_$litType$'] !== undefined) {\n this._commitTemplateResult(value);\n }\n else if (value.nodeType !== undefined) {\n if (DEV_MODE && ((_a = this.options) === null || _a === void 0 ? void 0 : _a.host) === value) {\n this._commitText(`[probable mistake: rendered a template's host in itself ` +\n `(commonly caused by writing \\${this} in a template]`);\n console.warn(`Attempted to render the template host`, value, `inside itself. This is almost always a mistake, and in dev mode `, `we render some warning text. In production however, we'll `, `render it, which will usually result in an error, and sometimes `, `in the element disappearing from the DOM.`);\n return;\n }\n this._commitNode(value);\n }\n else if (isIterable(value)) {\n this._commitIterable(value);\n }\n else {\n // Fallback, will render the string representation\n this._commitText(value);\n }\n }\n _insert(node) {\n return wrap(wrap(this._$startNode).parentNode).insertBefore(node, this._$endNode);\n }\n _commitNode(value) {\n var _a;\n if (this._$committedValue !== value) {\n this._$clear();\n if (ENABLE_EXTRA_SECURITY_HOOKS &&\n sanitizerFactoryInternal !== noopSanitizer) {\n const parentNodeName = (_a = this._$startNode.parentNode) === null || _a === void 0 ? void 0 : _a.nodeName;\n if (parentNodeName === 'STYLE' || parentNodeName === 'SCRIPT') {\n let message = 'Forbidden';\n if (DEV_MODE) {\n if (parentNodeName === 'STYLE') {\n message =\n `Lit does not support binding inside style nodes. ` +\n `This is a security risk, as style injection attacks can ` +\n `exfiltrate data and spoof UIs. ` +\n `Consider instead using css\\`...\\` literals ` +\n `to compose styles, and make do dynamic styling with ` +\n `css custom properties, ::parts, <slot>s, ` +\n `and by mutating the DOM rather than stylesheets.`;\n }\n else {\n message =\n `Lit does not support binding inside script nodes. ` +\n `This is a security risk, as it could allow arbitrary ` +\n `code execution.`;\n }\n }\n throw new Error(message);\n }\n }\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit node',\n start: this._$startNode,\n parent: this._$parent,\n value: value,\n options: this.options,\n });\n this._$committedValue = this._insert(value);\n }\n }\n _commitText(value) {\n // If the committed value is a primitive it means we called _commitText on\n // the previous render, and we know that this._$startNode.nextSibling is a\n // Text node. We can now just replace the text content (.data) of the node.\n if (this._$committedValue !== nothing &&\n isPrimitive(this._$committedValue)) {\n const node = wrap(this._$startNode).nextSibling;\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n if (this._textSanitizer === undefined) {\n this._textSanitizer = createSanitizer(node, 'data', 'property');\n }\n value = this._textSanitizer(value);\n }\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit text',\n node,\n value,\n options: this.options,\n });\n node.data = value;\n }\n else {\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n const textNode = d.createTextNode('');\n this._commitNode(textNode);\n // When setting text content, for security purposes it matters a lot\n // what the parent is. For example, <style> and <script> need to be\n // handled with care, while <span> does not. So first we need to put a\n // text node into the document, then we can sanitize its content.\n if (this._textSanitizer === undefined) {\n this._textSanitizer = createSanitizer(textNode, 'data', 'property');\n }\n value = this._textSanitizer(value);\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit text',\n node: textNode,\n value,\n options: this.options,\n });\n textNode.data = value;\n }\n else {\n this._commitNode(d.createTextNode(value));\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit text',\n node: wrap(this._$startNode).nextSibling,\n value,\n options: this.options,\n });\n }\n }\n this._$committedValue = value;\n }\n _commitTemplateResult(result) {\n var _a;\n // This property needs to remain unminified.\n const { values, ['_$litType$']: type } = result;\n // If $litType$ is a number, result is a plain TemplateResult and we get\n // the template from the template cache. If not, result is a\n // CompiledTemplateResult and _$litType$ is a CompiledTemplate and we need\n // to create the <template> element the first time we see it.\n const template = typeof type === 'number'\n ? this._$getTemplate(result)\n : (type.el === undefined &&\n (type.el = Template.createElement(trustFromTemplateString(type.h, type.h[0]), this.options)),\n type);\n if (((_a = this._$committedValue) === null || _a === void 0 ? void 0 : _a._$template) === template) {\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'template updating',\n template,\n instance: this._$committedValue,\n parts: this._$committedValue._$parts,\n options: this.options,\n values,\n });\n this._$committedValue._update(values);\n }\n else {\n const instance = new TemplateInstance(template, this);\n const fragment = instance._clone(this.options);\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'template instantiated',\n template,\n instance,\n parts: instance._$parts,\n options: this.options,\n fragment,\n values,\n });\n instance._update(values);\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'template instantiated and updated',\n template,\n instance,\n parts: instance._$parts,\n options: this.options,\n fragment,\n values,\n });\n this._commitNode(fragment);\n this._$committedValue = instance;\n }\n }\n // Overridden via `litHtmlPolyfillSupport` to provide platform support.\n /** @internal */\n _$getTemplate(result) {\n let template = templateCache.get(result.strings);\n if (template === undefined) {\n templateCache.set(result.strings, (template = new Template(result)));\n }\n return template;\n }\n _commitIterable(value) {\n // For an Iterable, we create a new InstancePart per item, then set its\n // value to the item. This is a little bit of overhead for every item in\n // an Iterable, but it lets us recurse easily and efficiently update Arrays\n // of TemplateResults that will be commonly returned from expressions like:\n // array.map((i) => html`${i}`), by reusing existing TemplateInstances.\n // If value is an array, then the previous render was of an\n // iterable and value will contain the ChildParts from the previous\n // render. If value is not an array, clear this part and make a new\n // array for ChildParts.\n if (!isArray(this._$committedValue)) {\n this._$committedValue = [];\n this._$clear();\n }\n // Lets us keep track of how many items we stamped so we can clear leftover\n // items from a previous render\n const itemParts = this._$committedValue;\n let partIndex = 0;\n let itemPart;\n for (const item of value) {\n if (partIndex === itemParts.length) {\n // If no existing part, create a new one\n // TODO (justinfagnani): test perf impact of always creating two parts\n // instead of sharing parts between nodes\n // https://github.com/lit/lit/issues/1266\n itemParts.push((itemPart = new ChildPart(this._insert(createMarker()), this._insert(createMarker()), this, this.options)));\n }\n else {\n // Reuse an existing part\n itemPart = itemParts[partIndex];\n }\n itemPart._$setValue(item);\n partIndex++;\n }\n if (partIndex < itemParts.length) {\n // itemParts always have end nodes\n this._$clear(itemPart && wrap(itemPart._$endNode).nextSibling, partIndex);\n // Truncate the parts array so _value reflects the current state\n itemParts.length = partIndex;\n }\n }\n /**\n * Removes the nodes contained within this Part from the DOM.\n *\n * @param start Start node to clear from, for clearing a subset of the part's\n * DOM (used when truncating iterables)\n * @param from When `start` is specified, the index within the iterable from\n * which ChildParts are being removed, used for disconnecting directives in\n * those Parts.\n *\n * @internal\n */\n _$clear(start = wrap(this._$startNode).nextSibling, from) {\n var _a;\n (_a = this._$notifyConnectionChanged) === null || _a === void 0 ? void 0 : _a.call(this, false, true, from);\n while (start && start !== this._$endNode) {\n const n = wrap(start).nextSibling;\n wrap(start).remove();\n start = n;\n }\n }\n /**\n * Implementation of RootPart's `isConnected`. Note that this metod\n * should only be called on `RootPart`s (the `ChildPart` returned from a\n * top-level `render()` call). It has no effect on non-root ChildParts.\n * @param isConnected Whether to set\n * @internal\n */\n setConnected(isConnected) {\n var _a;\n if (this._$parent === undefined) {\n this.__isConnected = isConnected;\n (_a = this._$notifyConnectionChanged) === null || _a === void 0 ? void 0 : _a.call(this, isConnected);\n }\n else if (DEV_MODE) {\n throw new Error('part.setConnected() may only be called on a ' +\n 'RootPart returned from render().');\n }\n }\n}\nclass AttributePart {\n constructor(element, name, strings, parent, options) {\n this.type = ATTRIBUTE_PART;\n /** @internal */\n this._$committedValue = nothing;\n /** @internal */\n this._$disconnectableChildren = undefined;\n this.element = element;\n this.name = name;\n this._$parent = parent;\n this.options = options;\n if (strings.length > 2 || strings[0] !== '' || strings[1] !== '') {\n this._$committedValue = new Array(strings.length - 1).fill(new String());\n this.strings = strings;\n }\n else {\n this._$committedValue = nothing;\n }\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n this._sanitizer = undefined;\n }\n }\n get tagName() {\n return this.element.tagName;\n }\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n /**\n * Sets the value of this part by resolving the value from possibly multiple\n * values and static strings and committing it to the DOM.\n * If this part is single-valued, `this._strings` will be undefined, and the\n * method will be called with a single value argument. If this part is\n * multi-value, `this._strings` will be defined, and the method is called\n * with the value array of the part's owning TemplateInstance, and an offset\n * into the value array from which the values should be read.\n * This method is overloaded this way to eliminate short-lived array slices\n * of the template instance values, and allow a fast-path for single-valued\n * parts.\n *\n * @param value The part value, or an array of values for multi-valued parts\n * @param valueIndex the index to start reading values from. `undefined` for\n * single-valued parts\n * @param noCommit causes the part to not commit its value to the DOM. Used\n * in hydration to prime attribute parts with their first-rendered value,\n * but not set the attribute, and in SSR to no-op the DOM operation and\n * capture the value for serialization.\n *\n * @internal\n */\n _$setValue(value, directiveParent = this, valueIndex, noCommit) {\n const strings = this.strings;\n // Whether any of the values has changed, for dirty-checking\n let change = false;\n if (strings === undefined) {\n // Single-value binding case\n value = resolveDirective(this, value, directiveParent, 0);\n change =\n !isPrimitive(value) ||\n (value !== this._$committedValue && value !== noChange);\n if (change) {\n this._$committedValue = value;\n }\n }\n else {\n // Interpolation case\n const values = value;\n value = strings[0];\n let i, v;\n for (i = 0; i < strings.length - 1; i++) {\n v = resolveDirective(this, values[valueIndex + i], directiveParent, i);\n if (v === noChange) {\n // If the user-provided value is `noChange`, use the previous value\n v = this._$committedValue[i];\n }\n change || (change = !isPrimitive(v) || v !== this._$committedValue[i]);\n if (v === nothing) {\n value = nothing;\n }\n else if (value !== nothing) {\n value += (v !== null && v !== void 0 ? v : '') + strings[i + 1];\n }\n // We always record each value, even if one is `nothing`, for future\n // change detection.\n this._$committedValue[i] = v;\n }\n }\n if (change && !noCommit) {\n this._commitValue(value);\n }\n }\n /** @internal */\n _commitValue(value) {\n if (value === nothing) {\n wrap(this.element).removeAttribute(this.name);\n }\n else {\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n if (this._sanitizer === undefined) {\n this._sanitizer = sanitizerFactoryInternal(this.element, this.name, 'attribute');\n }\n value = this._sanitizer(value !== null && value !== void 0 ? value : '');\n }\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit attribute',\n element: this.element,\n name: this.name,\n value,\n options: this.options,\n });\n wrap(this.element).setAttribute(this.name, (value !== null && value !== void 0 ? value : ''));\n }\n }\n}\nclass PropertyPart extends AttributePart {\n constructor() {\n super(...arguments);\n this.type = PROPERTY_PART;\n }\n /** @internal */\n _commitValue(value) {\n if (ENABLE_EXTRA_SECURITY_HOOKS) {\n if (this._sanitizer === undefined) {\n this._sanitizer = sanitizerFactoryInternal(this.element, this.name, 'property');\n }\n value = this._sanitizer(value);\n }\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit property',\n element: this.element,\n name: this.name,\n value,\n options: this.options,\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.element[this.name] = value === nothing ? undefined : value;\n }\n}\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? trustedTypes.emptyScript\n : '';\nclass BooleanAttributePart extends AttributePart {\n constructor() {\n super(...arguments);\n this.type = BOOLEAN_ATTRIBUTE_PART;\n }\n /** @internal */\n _commitValue(value) {\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit boolean attribute',\n element: this.element,\n name: this.name,\n value: !!(value && value !== nothing),\n options: this.options,\n });\n if (value && value !== nothing) {\n wrap(this.element).setAttribute(this.name, emptyStringForBooleanAttribute);\n }\n else {\n wrap(this.element).removeAttribute(this.name);\n }\n }\n}\nclass EventPart extends AttributePart {\n constructor(element, name, strings, parent, options) {\n super(element, name, strings, parent, options);\n this.type = EVENT_PART;\n if (DEV_MODE && this.strings !== undefined) {\n throw new Error(`A \\`<${element.localName}>\\` has a \\`@${name}=...\\` listener with ` +\n 'invalid content. Event listeners in templates must have exactly ' +\n 'one expression and no surrounding text.');\n }\n }\n // EventPart does not use the base _$setValue/_resolveValue implementation\n // since the dirty checking is more complex\n /** @internal */\n _$setValue(newListener, directiveParent = this) {\n var _a;\n newListener =\n (_a = resolveDirective(this, newListener, directiveParent, 0)) !== null && _a !== void 0 ? _a : nothing;\n if (newListener === noChange) {\n return;\n }\n const oldListener = this._$committedValue;\n // If the new value is nothing or any options change we have to remove the\n // part as a listener.\n const shouldRemoveListener = (newListener === nothing && oldListener !== nothing) ||\n newListener.capture !==\n oldListener.capture ||\n newListener.once !==\n oldListener.once ||\n newListener.passive !==\n oldListener.passive;\n // If the new value is not nothing and we removed the listener, we have\n // to add the part as a listener.\n const shouldAddListener = newListener !== nothing &&\n (oldListener === nothing || shouldRemoveListener);\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit event listener',\n element: this.element,\n name: this.name,\n value: newListener,\n options: this.options,\n removeListener: shouldRemoveListener,\n addListener: shouldAddListener,\n oldListener,\n });\n if (shouldRemoveListener) {\n this.element.removeEventListener(this.name, this, oldListener);\n }\n if (shouldAddListener) {\n // Beware: IE11 and Chrome 41 don't like using the listener as the\n // options object. Figure out how to deal w/ this in IE11 - maybe\n // patch addEventListener?\n this.element.addEventListener(this.name, this, newListener);\n }\n this._$committedValue = newListener;\n }\n handleEvent(event) {\n var _a, _b;\n if (typeof this._$committedValue === 'function') {\n this._$committedValue.call((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.host) !== null && _b !== void 0 ? _b : this.element, event);\n }\n else {\n this._$committedValue.handleEvent(event);\n }\n }\n}\nclass ElementPart {\n constructor(element, parent, options) {\n this.element = element;\n this.type = ELEMENT_PART;\n /** @internal */\n this._$disconnectableChildren = undefined;\n this._$parent = parent;\n this.options = options;\n }\n // See comment in Disconnectable interface for why this is a getter\n get _$isConnected() {\n return this._$parent._$isConnected;\n }\n _$setValue(value) {\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'commit to element binding',\n element: this.element,\n value,\n options: this.options,\n });\n resolveDirective(this, value);\n }\n}\n/**\n * END USERS SHOULD NOT RELY ON THIS OBJECT.\n *\n * Private exports for use by other Lit packages, not intended for use by\n * external users.\n *\n * We currently do not make a mangled rollup build of the lit-ssr code. In order\n * to keep a number of (otherwise private) top-level exports mangled in the\n * client side code, we export a _$LH object containing those members (or\n * helper methods for accessing private fields of those members), and then\n * re-export them for use in lit-ssr. This keeps lit-ssr agnostic to whether the\n * client-side code is being used in `dev` mode or `prod` mode.\n *\n * This has a unique name, to disambiguate it from private exports in\n * lit-element, which re-exports all of lit-html.\n *\n * @private\n */\nconst _$LH = {\n // Used in lit-ssr\n _boundAttributeSuffix: boundAttributeSuffix,\n _marker: marker,\n _markerMatch: markerMatch,\n _HTML_RESULT: HTML_RESULT,\n _getTemplateHtml: getTemplateHtml,\n // Used in tests and private-ssr-support\n _TemplateInstance: TemplateInstance,\n _isIterable: isIterable,\n _resolveDirective: resolveDirective,\n _ChildPart: ChildPart,\n _AttributePart: AttributePart,\n _BooleanAttributePart: BooleanAttributePart,\n _EventPart: EventPart,\n _PropertyPart: PropertyPart,\n _ElementPart: ElementPart,\n};\n// Apply polyfills if available\nconst polyfillSupport = DEV_MODE\n ? global.litHtmlPolyfillSupportDevMode\n : global.litHtmlPolyfillSupport;\npolyfillSupport === null || polyfillSupport === void 0 ? void 0 : polyfillSupport(Template, ChildPart);\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for lit-html usage.\n((_d = global.litHtmlVersions) !== null && _d !== void 0 ? _d : (global.litHtmlVersions = [])).push('2.8.0');\nif (DEV_MODE && global.litHtmlVersions.length > 1) {\n issueWarning('multiple-versions', `Multiple versions of Lit loaded. ` +\n `Loading multiple versions is not recommended.`);\n}\n/**\n * Renders a value, usually a lit-html TemplateResult, to the container.\n *\n * This example renders the text \"Hello, Zoe!\" inside a paragraph tag, appending\n * it to the container `document.body`.\n *\n * ```js\n * import {html, render} from 'lit';\n *\n * const name = \"Zoe\";\n * render(html`<p>Hello, ${name}!</p>`, document.body);\n * ```\n *\n * @param value Any [renderable\n * value](https://lit.dev/docs/templates/expressions/#child-expressions),\n * typically a {@linkcode TemplateResult} created by evaluating a template tag\n * like {@linkcode html} or {@linkcode svg}.\n * @param container A DOM container to render to. The first render will append\n * the rendered value to the container, and subsequent renders will\n * efficiently update the rendered value if the same result type was\n * previously rendered there.\n * @param options See {@linkcode RenderOptions} for options documentation.\n * @see\n * {@link https://lit.dev/docs/libraries/standalone-templates/#rendering-lit-html-templates| Rendering Lit HTML Templates}\n */\nconst render = (value, container, options) => {\n var _a, _b;\n if (DEV_MODE && container == null) {\n // Give a clearer error message than\n // Uncaught TypeError: Cannot read properties of null (reading\n // '_$litPart$')\n // which reads like an internal Lit error.\n throw new TypeError(`The container to render into may not be ${container}`);\n }\n const renderId = DEV_MODE ? debugLogRenderId++ : 0;\n const partOwnerNode = (_a = options === null || options === void 0 ? void 0 : options.renderBefore) !== null && _a !== void 0 ? _a : container;\n // This property needs to remain unminified.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let part = partOwnerNode['_$litPart$'];\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'begin render',\n id: renderId,\n value,\n container,\n options,\n part,\n });\n if (part === undefined) {\n const endNode = (_b = options === null || options === void 0 ? void 0 : options.renderBefore) !== null && _b !== void 0 ? _b : null;\n // This property needs to remain unminified.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n partOwnerNode['_$litPart$'] = part = new ChildPart(container.insertBefore(createMarker(), endNode), endNode, undefined, options !== null && options !== void 0 ? options : {});\n }\n part._$setValue(value);\n debugLogEvent === null || debugLogEvent === void 0 ? void 0 : debugLogEvent({\n kind: 'end render',\n id: renderId,\n value,\n container,\n options,\n part,\n });\n return part;\n};\nif (ENABLE_EXTRA_SECURITY_HOOKS) {\n render.setSanitizer = setSanitizer;\n render.createSanitizer = createSanitizer;\n if (DEV_MODE) {\n render._testOnlyClearSanitizerFactoryDoNotCallOrElse =\n _testOnlyClearSanitizerFactoryDoNotCallOrElse;\n }\n}\n//# sourceMappingURL=lit-html.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGV2ZWxvcG1lbnQvbGl0LWh0bWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsTUFBTTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsK0JBQStCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFlBQVk7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLFdBQVcsTUFBTSxVQUFVLEtBQUssV0FBVyxJQUFJLFdBQVcsTUFBTSxnQkFBZ0I7QUFDcEg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsTUFBTTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGdCQUFnQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxpQkFBaUI7QUFDOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixPQUFPO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwREFBMEQsZ0JBQWdCO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLCtCQUErQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRFQUE0RSxJQUFJO0FBQ2hGLCtFQUErRSxLQUFLO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxlQUFlO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxzQ0FBc0M7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxvQ0FBb0M7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLHNDQUFzQztBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLE1BQU0sU0FBUyxrQkFBa0I7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1FQUFtRTtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsTUFBTTtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLCtCQUErQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsRUFBRTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxrQkFBa0IsZUFBZSxLQUFLO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCO0FBQ0E7QUFDQSwyQkFBMkIsS0FBSztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiwwQkFBMEI7QUFDNUMsV0FBVyxnQkFBZ0IsSUFBSSxjQUFjO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHlCQUF5QjtBQUNoRDtBQUNBLElBQUk7QUFDSjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUVBQXVFLFVBQVU7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxTEFBcUw7QUFDckw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2xpdC1odG1sL2RldmVsb3BtZW50L2xpdC1odG1sLmpzPzY5ZDAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG52YXIgX2EsIF9iLCBfYywgX2Q7XG5jb25zdCBERVZfTU9ERSA9IHRydWU7XG5jb25zdCBFTkFCTEVfRVhUUkFfU0VDVVJJVFlfSE9PS1MgPSB0cnVlO1xuY29uc3QgRU5BQkxFX1NIQURZRE9NX05PUEFUQ0ggPSB0cnVlO1xuY29uc3QgTk9ERV9NT0RFID0gZmFsc2U7XG4vLyBVc2Ugd2luZG93IGZvciBicm93c2VyIGJ1aWxkcyBiZWNhdXNlIElFMTEgZG9lc24ndCBoYXZlIGdsb2JhbFRoaXMuXG5jb25zdCBnbG9iYWwgPSBOT0RFX01PREUgPyBnbG9iYWxUaGlzIDogd2luZG93O1xuLyoqXG4gKiBVc2VmdWwgZm9yIHZpc3VhbGl6aW5nIGFuZCBsb2dnaW5nIGluc2lnaHRzIGludG8gd2hhdCB0aGUgTGl0IHRlbXBsYXRlIHN5c3RlbSBpcyBkb2luZy5cbiAqXG4gKiBDb21waWxlZCBvdXQgb2YgcHJvZCBtb2RlIGJ1aWxkcy5cbiAqL1xuY29uc3QgZGVidWdMb2dFdmVudCA9IERFVl9NT0RFXG4gICAgPyAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2hvdWxkRW1pdCA9IGdsb2JhbFxuICAgICAgICAgICAgLmVtaXRMaXREZWJ1Z0xvZ0V2ZW50cztcbiAgICAgICAgaWYgKCFzaG91bGRFbWl0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdsaXQtZGVidWcnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IGV2ZW50LFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIDogdW5kZWZpbmVkO1xuLy8gVXNlZCBmb3IgY29ubmVjdGluZyBiZWdpblJlbmRlciBhbmQgZW5kUmVuZGVyIGV2ZW50cyB3aGVuIHRoZXJlIGFyZSBuZXN0ZWRcbi8vIHJlbmRlcnMgd2hlbiBlcnJvcnMgYXJlIHRocm93biBwcmV2ZW50aW5nIGFuIGVuZFJlbmRlciBldmVudCBmcm9tIGJlaW5nXG4vLyBjYWxsZWQuXG5sZXQgZGVidWdMb2dSZW5kZXJJZCA9IDA7XG5sZXQgaXNzdWVXYXJuaW5nO1xuaWYgKERFVl9NT0RFKSB7XG4gICAgKF9hID0gZ2xvYmFsLmxpdElzc3VlZFdhcm5pbmdzKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAoZ2xvYmFsLmxpdElzc3VlZFdhcm5pbmdzID0gbmV3IFNldCgpKTtcbiAgICAvLyBJc3N1ZSBhIHdhcm5pbmcsIGlmIHdlIGhhdmVuJ3QgYWxyZWFkeS5cbiAgICBpc3N1ZVdhcm5pbmcgPSAoY29kZSwgd2FybmluZykgPT4ge1xuICAgICAgICB3YXJuaW5nICs9IGNvZGVcbiAgICAgICAgICAgID8gYCBTZWUgaHR0cHM6Ly9saXQuZGV2L21zZy8ke2NvZGV9IGZvciBtb3JlIGluZm9ybWF0aW9uLmBcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgIGlmICghZ2xvYmFsLmxpdElzc3VlZFdhcm5pbmdzLmhhcyh3YXJuaW5nKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKHdhcm5pbmcpO1xuICAgICAgICAgICAgZ2xvYmFsLmxpdElzc3VlZFdhcm5pbmdzLmFkZCh3YXJuaW5nKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaXNzdWVXYXJuaW5nKCdkZXYtbW9kZScsIGBMaXQgaXMgaW4gZGV2IG1vZGUuIE5vdCByZWNvbW1lbmRlZCBmb3IgcHJvZHVjdGlvbiFgKTtcbn1cbmNvbnN0IHdyYXAgPSBFTkFCTEVfU0hBRFlET01fTk9QQVRDSCAmJlxuICAgICgoX2IgPSBnbG9iYWwuU2hhZHlET00pID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5pblVzZSkgJiZcbiAgICAoKF9jID0gZ2xvYmFsLlNoYWR5RE9NKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Mubm9QYXRjaCkgPT09IHRydWVcbiAgICA/IGdsb2JhbC5TaGFkeURPTS53cmFwXG4gICAgOiAobm9kZSkgPT4gbm9kZTtcbmNvbnN0IHRydXN0ZWRUeXBlcyA9IGdsb2JhbC50cnVzdGVkVHlwZXM7XG4vKipcbiAqIE91ciBUcnVzdGVkVHlwZVBvbGljeSBmb3IgSFRNTCB3aGljaCBpcyBkZWNsYXJlZCB1c2luZyB0aGUgaHRtbCB0ZW1wbGF0ZVxuICogdGFnIGZ1bmN0aW9uLlxuICpcbiAqIFRoYXQgSFRNTCBpcyBhIGRldmVsb3Blci1hdXRob3JlZCBjb25zdGFudCwgYW5kIGlzIHBhcnNlZCB3aXRoIGlubmVySFRNTFxuICogYmVmb3JlIGFueSB1bnRydXN0ZWQgZXhwcmVzc2lvbnMgaGF2ZSBiZWVuIG1peGVkIGluLiBUaGVyZWZvciBpdCBpc1xuICogY29uc2lkZXJlZCBzYWZlIGJ5IGNvbnN0cnVjdGlvbi5cbiAqL1xuY29uc3QgcG9saWN5ID0gdHJ1c3RlZFR5cGVzXG4gICAgPyB0cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KCdsaXQtaHRtbCcsIHtcbiAgICAgICAgY3JlYXRlSFRNTDogKHMpID0+IHMsXG4gICAgfSlcbiAgICA6IHVuZGVmaW5lZDtcbmNvbnN0IGlkZW50aXR5RnVuY3Rpb24gPSAodmFsdWUpID0+IHZhbHVlO1xuY29uc3Qgbm9vcFNhbml0aXplciA9IChfbm9kZSwgX25hbWUsIF90eXBlKSA9PiBpZGVudGl0eUZ1bmN0aW9uO1xuLyoqIFNldHMgdGhlIGdsb2JhbCBzYW5pdGl6ZXIgZmFjdG9yeS4gKi9cbmNvbnN0IHNldFNhbml0aXplciA9IChuZXdTYW5pdGl6ZXIpID0+IHtcbiAgICBpZiAoIUVOQUJMRV9FWFRSQV9TRUNVUklUWV9IT09LUykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChzYW5pdGl6ZXJGYWN0b3J5SW50ZXJuYWwgIT09IG5vb3BTYW5pdGl6ZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdHRlbXB0ZWQgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIGxpdC1odG1sIHNlY3VyaXR5IHBvbGljeS5gICtcbiAgICAgICAgICAgIGAgc2V0U2FuaXRpemVET01WYWx1ZUZhY3Rvcnkgc2hvdWxkIGJlIGNhbGxlZCBhdCBtb3N0IG9uY2UuYCk7XG4gICAgfVxuICAgIHNhbml0aXplckZhY3RvcnlJbnRlcm5hbCA9IG5ld1Nhbml0aXplcjtcbn07XG4vKipcbiAqIE9ubHkgdXNlZCBpbiBpbnRlcm5hbCB0ZXN0cywgbm90IGEgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbiAqL1xuY29uc3QgX3Rlc3RPbmx5Q2xlYXJTYW5pdGl6ZXJGYWN0b3J5RG9Ob3RDYWxsT3JFbHNlID0gKCkgPT4ge1xuICAgIHNhbml0aXplckZhY3RvcnlJbnRlcm5hbCA9IG5vb3BTYW5pdGl6ZXI7XG59O1xuY29uc3QgY3JlYXRlU2FuaXRpemVyID0gKG5vZGUsIG5hbWUsIHR5cGUpID0+IHtcbiAgICByZXR1cm4gc2FuaXRpemVyRmFjdG9yeUludGVybmFsKG5vZGUsIG5hbWUsIHR5cGUpO1xufTtcbi8vIEFkZGVkIHRvIGFuIGF0dHJpYnV0ZSBuYW1lIHRvIG1hcmsgdGhlIGF0dHJpYnV0ZSBhcyBib3VuZCBzbyB3ZSBjYW4gZmluZFxuLy8gaXQgZWFzaWx5LlxuY29uc3QgYm91bmRBdHRyaWJ1dGVTdWZmaXggPSAnJGxpdCQnO1xuLy8gVGhpcyBtYXJrZXIgaXMgdXNlZCBpbiBtYW55IHN5bnRhY3RpYyBwb3NpdGlvbnMgaW4gSFRNTCwgc28gaXQgbXVzdCBiZVxuLy8gYSB2YWxpZCBlbGVtZW50IG5hbWUgYW5kIGF0dHJpYnV0ZSBuYW1lLiBXZSBkb24ndCBzdXBwb3J0IGR5bmFtaWMgbmFtZXMgKHlldClcbi8vIGJ1dCB0aGlzIGF0IGxlYXN0IGVuc3VyZXMgdGhhdCB0aGUgcGFyc2UgdHJlZSBpcyBjbG9zZXIgdG8gdGhlIHRlbXBsYXRlXG4vLyBpbnRlbnRpb24uXG5jb25zdCBtYXJrZXIgPSBgbGl0JCR7U3RyaW5nKE1hdGgucmFuZG9tKCkpLnNsaWNlKDkpfSRgO1xuLy8gU3RyaW5nIHVzZWQgdG8gdGVsbCBpZiBhIGNvbW1lbnQgaXMgYSBtYXJrZXIgY29tbWVudFxuY29uc3QgbWFya2VyTWF0Y2ggPSAnPycgKyBtYXJrZXI7XG4vLyBUZXh0IHVzZWQgdG8gaW5zZXJ0IGEgY29tbWVudCBtYXJrZXIgbm9kZS4gV2UgdXNlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25cbi8vIHN5bnRheCBiZWNhdXNlIGl0J3Mgc2xpZ2h0bHkgc21hbGxlciwgYnV0IHBhcnNlcyBhcyBhIGNvbW1lbnQgbm9kZS5cbmNvbnN0IG5vZGVNYXJrZXIgPSBgPCR7bWFya2VyTWF0Y2h9PmA7XG5jb25zdCBkID0gTk9ERV9NT0RFICYmIGdsb2JhbC5kb2N1bWVudCA9PT0gdW5kZWZpbmVkXG4gICAgPyB7XG4gICAgICAgIGNyZWF0ZVRyZWVXYWxrZXIoKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH0sXG4gICAgfVxuICAgIDogZG9jdW1lbnQ7XG4vLyBDcmVhdGVzIGEgZHluYW1pYyBtYXJrZXIuIFdlIG5ldmVyIGhhdmUgdG8gc2VhcmNoIGZvciB0aGVzZSBpbiB0aGUgRE9NLlxuY29uc3QgY3JlYXRlTWFya2VyID0gKCkgPT4gZC5jcmVhdGVDb21tZW50KCcnKTtcbmNvbnN0IGlzUHJpbWl0aXZlID0gKHZhbHVlKSA9PiB2YWx1ZSA9PT0gbnVsbCB8fCAodHlwZW9mIHZhbHVlICE9ICdvYmplY3QnICYmIHR5cGVvZiB2YWx1ZSAhPSAnZnVuY3Rpb24nKTtcbmNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuY29uc3QgaXNJdGVyYWJsZSA9ICh2YWx1ZSkgPT4gaXNBcnJheSh2YWx1ZSkgfHxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHR5cGVvZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZhbHVlW1N5bWJvbC5pdGVyYXRvcl0pID09PSAnZnVuY3Rpb24nO1xuY29uc3QgU1BBQ0VfQ0hBUiA9IGBbIFxcdFxcblxcZlxccl1gO1xuY29uc3QgQVRUUl9WQUxVRV9DSEFSID0gYFteIFxcdFxcblxcZlxcclwiJ1xcYDw+PV1gO1xuY29uc3QgTkFNRV9DSEFSID0gYFteXFxcXHNcIic+PS9dYDtcbi8vIFRoZXNlIHJlZ2V4ZXMgcmVwcmVzZW50IHRoZSBmaXZlIHBhcnNpbmcgc3RhdGVzIHRoYXQgd2UgY2FyZSBhYm91dCBpbiB0aGVcbi8vIFRlbXBsYXRlJ3MgSFRNTCBzY2FubmVyLiBUaGV5IG1hdGNoIHRoZSAqZW5kKiBvZiB0aGUgc3RhdGUgdGhleSdyZSBuYW1lZFxuLy8gYWZ0ZXIuXG4vLyBEZXBlbmRpbmcgb24gdGhlIG1hdGNoLCB3ZSB0cmFuc2l0aW9uIHRvIGEgbmV3IHN0YXRlLiBJZiB0aGVyZSdzIG5vIG1hdGNoLFxuLy8gd2Ugc3RheSBpbiB0aGUgc2FtZSBzdGF0ZS5cbi8vIE5vdGUgdGhhdCB0aGUgcmVnZXhlcyBhcmUgc3RhdGVmdWwuIFdlIHV0aWxpemUgbGFzdEluZGV4IGFuZCBzeW5jIGl0XG4vLyBhY3Jvc3MgdGhlIG11bHRpcGxlIHJlZ2V4ZXMgdXNlZC4gSW4gYWRkaXRpb24gdG8gdGhlIGZpdmUgcmVnZXhlcyBiZWxvd1xuLy8gd2UgYWxzbyBkeW5hbWljYWxseSBjcmVhdGUgYSByZWdleCB0byBmaW5kIHRoZSBtYXRjaGluZyBlbmQgdGFncyBmb3IgcmF3XG4vLyB0ZXh0IGVsZW1lbnRzLlxuLyoqXG4gKiBFbmQgb2YgdGV4dCBpczogYDxgIGZvbGxvd2VkIGJ5OlxuICogICAoY29tbWVudCBzdGFydCkgb3IgKHRhZykgb3IgKGR5bmFtaWMgdGFnIGJpbmRpbmcpXG4gKi9cbmNvbnN0IHRleHRFbmRSZWdleCA9IC88KD86KCEtLXxcXC9bXmEtekEtWl0pfChcXC8/W2EtekEtWl1bXj5cXHNdKil8KFxcLz8kKSkvZztcbmNvbnN0IENPTU1FTlRfU1RBUlQgPSAxO1xuY29uc3QgVEFHX05BTUUgPSAyO1xuY29uc3QgRFlOQU1JQ19UQUdfTkFNRSA9IDM7XG5jb25zdCBjb21tZW50RW5kUmVnZXggPSAvLS0+L2c7XG4vKipcbiAqIENvbW1lbnRzIG5vdCBzdGFydGVkIHdpdGggPCEtLSwgbGlrZSA8L3ssIGNhbiBiZSBlbmRlZCBieSBhIHNpbmdsZSBgPmBcbiAqL1xuY29uc3QgY29tbWVudDJFbmRSZWdleCA9IC8+L2c7XG4vKipcbiAqIFRoZSB0YWdFbmQgcmVnZXggbWF0Y2hlcyB0aGUgZW5kIG9mIHRoZSBcImluc2lkZSBhbiBvcGVuaW5nXCIgdGFnIHN5bnRheFxuICogcG9zaXRpb24uIEl0IGVpdGhlciBtYXRjaGVzIGEgYD5gLCBhbiBhdHRyaWJ1dGUtbGlrZSBzZXF1ZW5jZSwgb3IgdGhlIGVuZFxuICogb2YgdGhlIHN0cmluZyBhZnRlciBhIHNwYWNlIChhdHRyaWJ1dGUtbmFtZSBwb3NpdGlvbiBlbmRpbmcpLlxuICpcbiAqIFNlZSBhdHRyaWJ1dGVzIGluIHRoZSBIVE1MIHNwZWM6XG4gKiBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvc3ludGF4Lmh0bWwjZWxlbWVudHMtYXR0cmlidXRlc1xuICpcbiAqIFwiIFxcdFxcblxcZlxcclwiIGFyZSBIVE1MIHNwYWNlIGNoYXJhY3RlcnM6XG4gKiBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYXNjaWktd2hpdGVzcGFjZVxuICpcbiAqIFNvIGFuIGF0dHJpYnV0ZSBpczpcbiAqICAqIFRoZSBuYW1lOiBhbnkgY2hhcmFjdGVyIGV4Y2VwdCBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyLCAoXCIpLCAoJyksIFwiPlwiLFxuICogICAgXCI9XCIsIG9yIFwiL1wiLiBOb3RlOiB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBIVE1MIHNwZWMgd2hpY2ggYWxzbyBleGNsdWRlcyBjb250cm9sIGNoYXJhY3RlcnMuXG4gKiAgKiBGb2xsb3dlZCBieSB6ZXJvIG9yIG1vcmUgc3BhY2UgY2hhcmFjdGVyc1xuICogICogRm9sbG93ZWQgYnkgXCI9XCJcbiAqICAqIEZvbGxvd2VkIGJ5IHplcm8gb3IgbW9yZSBzcGFjZSBjaGFyYWN0ZXJzXG4gKiAgKiBGb2xsb3dlZCBieTpcbiAqICAgICogQW55IGNoYXJhY3RlciBleGNlcHQgc3BhY2UsICgnKSwgKFwiKSwgXCI8XCIsIFwiPlwiLCBcIj1cIiwgKGApLCBvclxuICogICAgKiAoXCIpIHRoZW4gYW55IG5vbi0oXCIpLCBvclxuICogICAgKiAoJykgdGhlbiBhbnkgbm9uLSgnKVxuICovXG5jb25zdCB0YWdFbmRSZWdleCA9IG5ldyBSZWdFeHAoYD58JHtTUEFDRV9DSEFSfSg/Oigke05BTUVfQ0hBUn0rKSgke1NQQUNFX0NIQVJ9Kj0ke1NQQUNFX0NIQVJ9Kig/OiR7QVRUUl9WQUxVRV9DSEFSfXwoXCJ8Jyl8KSl8JClgLCAnZycpO1xuY29uc3QgRU5USVJFX01BVENIID0gMDtcbmNvbnN0IEFUVFJJQlVURV9OQU1FID0gMTtcbmNvbnN0IFNQQUNFU19BTkRfRVFVQUxTID0gMjtcbmNvbnN0IFFVT1RFX0NIQVIgPSAzO1xuY29uc3Qgc2luZ2xlUXVvdGVBdHRyRW5kUmVnZXggPSAvJy9nO1xuY29uc3QgZG91YmxlUXVvdGVBdHRyRW5kUmVnZXggPSAvXCIvZztcbi8qKlxuICogTWF0Y2hlcyB0aGUgcmF3IHRleHQgZWxlbWVudHMuXG4gKlxuICogQ29tbWVudHMgYXJlIG5vdCBwYXJzZWQgd2l0aGluIHJhdyB0ZXh0IGVsZW1lbnRzLCBzbyB3ZSBuZWVkIHRvIHNlYXJjaCB0aGVpclxuICogdGV4dCBjb250ZW50IGZvciBtYXJrZXIgc3RyaW5ncy5cbiAqL1xuY29uc3QgcmF3VGV4dEVsZW1lbnQgPSAvXig/OnNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZSkkL2k7XG4vKiogVGVtcGxhdGVSZXN1bHQgdHlwZXMgKi9cbmNvbnN0IEhUTUxfUkVTVUxUID0gMTtcbmNvbnN0IFNWR19SRVNVTFQgPSAyO1xuLy8gVGVtcGxhdGVQYXJ0IHR5cGVzXG4vLyBJTVBPUlRBTlQ6IHRoZXNlIG11c3QgbWF0Y2ggdGhlIHZhbHVlcyBpbiBQYXJ0VHlwZVxuY29uc3QgQVRUUklCVVRFX1BBUlQgPSAxO1xuY29uc3QgQ0hJTERfUEFSVCA9IDI7XG5jb25zdCBQUk9QRVJUWV9QQVJUID0gMztcbmNvbnN0IEJPT0xFQU5fQVRUUklCVVRFX1BBUlQgPSA0O1xuY29uc3QgRVZFTlRfUEFSVCA9IDU7XG5jb25zdCBFTEVNRU5UX1BBUlQgPSA2O1xuY29uc3QgQ09NTUVOVF9QQVJUID0gNztcbi8qKlxuICogR2VuZXJhdGVzIGEgdGVtcGxhdGUgbGl0ZXJhbCB0YWcgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgVGVtcGxhdGVSZXN1bHQgd2l0aFxuICogdGhlIGdpdmVuIHJlc3VsdCB0eXBlLlxuICovXG5jb25zdCB0YWcgPSAodHlwZSkgPT4gKHN0cmluZ3MsIC4uLnZhbHVlcykgPT4ge1xuICAgIC8vIFdhcm4gYWdhaW5zdCB0ZW1wbGF0ZXMgb2N0YWwgZXNjYXBlIHNlcXVlbmNlc1xuICAgIC8vIFdlIGRvIHRoaXMgaGVyZSByYXRoZXIgdGhhbiBpbiByZW5kZXIgc28gdGhhdCB0aGUgd2FybmluZyBpcyBjbG9zZXIgdG8gdGhlXG4gICAgLy8gdGVtcGxhdGUgZGVmaW5pdGlvbi5cbiAgICBpZiAoREVWX01PREUgJiYgc3RyaW5ncy5zb21lKChzKSA9PiBzID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignU29tZSB0ZW1wbGF0ZSBzdHJpbmdzIGFyZSB1bmRlZmluZWQuXFxuJyArXG4gICAgICAgICAgICAnVGhpcyBpcyBwcm9iYWJseSBjYXVzZWQgYnkgaWxsZWdhbCBvY3RhbCBlc2NhcGUgc2VxdWVuY2VzLicpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICAvLyBUaGlzIHByb3BlcnR5IG5lZWRzIHRvIHJlbWFpbiB1bm1pbmlmaWVkLlxuICAgICAgICBbJ18kbGl0VHlwZSQnXTogdHlwZSxcbiAgICAgICAgc3RyaW5ncyxcbiAgICAgICAgdmFsdWVzLFxuICAgIH07XG59O1xuLyoqXG4gKiBJbnRlcnByZXRzIGEgdGVtcGxhdGUgbGl0ZXJhbCBhcyBhbiBIVE1MIHRlbXBsYXRlIHRoYXQgY2FuIGVmZmljaWVudGx5XG4gKiByZW5kZXIgdG8gYW5kIHVwZGF0ZSBhIGNvbnRhaW5lci5cbiAqXG4gKiBgYGB0c1xuICogY29uc3QgaGVhZGVyID0gKHRpdGxlOiBzdHJpbmcpID0+IGh0bWxgPGgxPiR7dGl0bGV9PC9oMT5gO1xuICogYGBgXG4gKlxuICogVGhlIGBodG1sYCB0YWcgcmV0dXJucyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBET00gdG8gcmVuZGVyIGFzIGEgdmFsdWUuIEl0IGlzXG4gKiBsYXp5LCBtZWFuaW5nIG5vIHdvcmsgaXMgZG9uZSB1bnRpbCB0aGUgdGVtcGxhdGUgaXMgcmVuZGVyZWQuIFdoZW4gcmVuZGVyaW5nLFxuICogaWYgYSB0ZW1wbGF0ZSBjb21lcyBmcm9tIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgYSBwcmV2aW91c2x5IHJlbmRlcmVkIHJlc3VsdCxcbiAqIGl0J3MgZWZmaWNpZW50bHkgdXBkYXRlZCBpbnN0ZWFkIG9mIHJlcGxhY2VkLlxuICovXG5leHBvcnQgY29uc3QgaHRtbCA9IHRhZyhIVE1MX1JFU1VMVCk7XG4vKipcbiAqIEludGVycHJldHMgYSB0ZW1wbGF0ZSBsaXRlcmFsIGFzIGFuIFNWRyBmcmFnbWVudCB0aGF0IGNhbiBlZmZpY2llbnRseVxuICogcmVuZGVyIHRvIGFuZCB1cGRhdGUgYSBjb250YWluZXIuXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHJlY3QgPSBzdmdgPHJlY3Qgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCI+PC9yZWN0PmA7XG4gKlxuICogY29uc3QgbXlJbWFnZSA9IGh0bWxgXG4gKiAgIDxzdmcgdmlld0JveD1cIjAgMCAxMCAxMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAqICAgICAke3JlY3R9XG4gKiAgIDwvc3ZnPmA7XG4gKiBgYGBcbiAqXG4gKiBUaGUgYHN2Z2AgKnRhZyBmdW5jdGlvbiogc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgU1ZHIGZyYWdtZW50cywgb3IgZWxlbWVudHNcbiAqIHRoYXQgd291bGQgYmUgY29udGFpbmVkICoqaW5zaWRlKiogYW4gYDxzdmc+YCBIVE1MIGVsZW1lbnQuIEEgY29tbW9uIGVycm9yIGlzXG4gKiBwbGFjaW5nIGFuIGA8c3ZnPmAgKmVsZW1lbnQqIGluIGEgdGVtcGxhdGUgdGFnZ2VkIHdpdGggdGhlIGBzdmdgIHRhZ1xuICogZnVuY3Rpb24uIFRoZSBgPHN2Zz5gIGVsZW1lbnQgaXMgYW4gSFRNTCBlbGVtZW50IGFuZCBzaG91bGQgYmUgdXNlZCB3aXRoaW4gYVxuICogdGVtcGxhdGUgdGFnZ2VkIHdpdGggdGhlIHtAbGlua2NvZGUgaHRtbH0gdGFnIGZ1bmN0aW9uLlxuICpcbiAqIEluIExpdEVsZW1lbnQgdXNhZ2UsIGl0J3MgaW52YWxpZCB0byByZXR1cm4gYW4gU1ZHIGZyYWdtZW50IGZyb20gdGhlXG4gKiBgcmVuZGVyKClgIG1ldGhvZCwgYXMgdGhlIFNWRyBmcmFnbWVudCB3aWxsIGJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGVsZW1lbnQnc1xuICogc2hhZG93IHJvb3QgYW5kIHRodXMgY2Fubm90IGJlIHVzZWQgd2l0aGluIGFuIGA8c3ZnPmAgSFRNTCBlbGVtZW50LlxuICovXG5leHBvcnQgY29uc3Qgc3ZnID0gdGFnKFNWR19SRVNVTFQpO1xuLyoqXG4gKiBBIHNlbnRpbmVsIHZhbHVlIHRoYXQgc2lnbmFscyB0aGF0IGEgdmFsdWUgd2FzIGhhbmRsZWQgYnkgYSBkaXJlY3RpdmUgYW5kXG4gKiBzaG91bGQgbm90IGJlIHdyaXR0ZW4gdG8gdGhlIERPTS5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vQ2hhbmdlID0gU3ltYm9sLmZvcignbGl0LW5vQ2hhbmdlJyk7XG4vKipcbiAqIEEgc2VudGluZWwgdmFsdWUgdGhhdCBzaWduYWxzIGEgQ2hpbGRQYXJ0IHRvIGZ1bGx5IGNsZWFyIGl0cyBjb250ZW50LlxuICpcbiAqIGBgYHRzXG4gKiBjb25zdCBidXR0b24gPSBodG1sYCR7XG4gKiAgdXNlci5pc0FkbWluXG4gKiAgICA/IGh0bWxgPGJ1dHRvbj5ERUxFVEU8L2J1dHRvbj5gXG4gKiAgICA6IG5vdGhpbmdcbiAqIH1gO1xuICogYGBgXG4gKlxuICogUHJlZmVyIHVzaW5nIGBub3RoaW5nYCBvdmVyIG90aGVyIGZhbHN5IHZhbHVlcyBhcyBpdCBwcm92aWRlcyBhIGNvbnNpc3RlbnRcbiAqIGJlaGF2aW9yIGJldHdlZW4gdmFyaW91cyBleHByZXNzaW9uIGJpbmRpbmcgY29udGV4dHMuXG4gKlxuICogSW4gY2hpbGQgZXhwcmVzc2lvbnMsIGB1bmRlZmluZWRgLCBgbnVsbGAsIGAnJ2AsIGFuZCBgbm90aGluZ2AgYWxsIGJlaGF2ZSB0aGVcbiAqIHNhbWUgYW5kIHJlbmRlciBubyBub2Rlcy4gSW4gYXR0cmlidXRlIGV4cHJlc3Npb25zLCBgbm90aGluZ2AgX3JlbW92ZXNfIHRoZVxuICogYXR0cmlidXRlLCB3aGlsZSBgdW5kZWZpbmVkYCBhbmQgYG51bGxgIHdpbGwgcmVuZGVyIGFuIGVtcHR5IHN0cmluZy4gSW5cbiAqIHByb3BlcnR5IGV4cHJlc3Npb25zIGBub3RoaW5nYCBiZWNvbWVzIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgY29uc3Qgbm90aGluZyA9IFN5bWJvbC5mb3IoJ2xpdC1ub3RoaW5nJyk7XG4vKipcbiAqIFRoZSBjYWNoZSBvZiBwcmVwYXJlZCB0ZW1wbGF0ZXMsIGtleWVkIGJ5IHRoZSB0YWdnZWQgVGVtcGxhdGVTdHJpbmdzQXJyYXlcbiAqIGFuZCBfbm90XyBhY2NvdW50aW5nIGZvciB0aGUgc3BlY2lmaWMgdGVtcGxhdGUgdGFnIHVzZWQuIFRoaXMgbWVhbnMgdGhhdFxuICogdGVtcGxhdGUgdGFncyBjYW5ub3QgYmUgZHluYW1pYyAtIHRoZSBtdXN0IHN0YXRpY2FsbHkgYmUgb25lIG9mIGh0bWwsIHN2ZyxcbiAqIG9yIGF0dHIuIFRoaXMgcmVzdHJpY3Rpb24gc2ltcGxpZmllcyB0aGUgY2FjaGUgbG9va3VwLCB3aGljaCBpcyBvbiB0aGUgaG90XG4gKiBwYXRoIGZvciByZW5kZXJpbmcuXG4gKi9cbmNvbnN0IHRlbXBsYXRlQ2FjaGUgPSBuZXcgV2Vha01hcCgpO1xuY29uc3Qgd2Fsa2VyID0gZC5jcmVhdGVUcmVlV2Fsa2VyKGQsIDEyOSAvKiBOb2RlRmlsdGVyLlNIT1dfe0VMRU1FTlR8Q09NTUVOVH0gKi8sIG51bGwsIGZhbHNlKTtcbmxldCBzYW5pdGl6ZXJGYWN0b3J5SW50ZXJuYWwgPSBub29wU2FuaXRpemVyO1xuZnVuY3Rpb24gdHJ1c3RGcm9tVGVtcGxhdGVTdHJpbmcodHNhLCBzdHJpbmdGcm9tVFNBKSB7XG4gICAgLy8gQSBzZWN1cml0eSBjaGVjayB0byBwcmV2ZW50IHNwb29maW5nIG9mIExpdCB0ZW1wbGF0ZSByZXN1bHRzLlxuICAgIC8vIEluIHRoZSBmdXR1cmUsIHdlIG1heSBiZSBhYmxlIHRvIHJlcGxhY2UgdGhpcyB3aXRoIEFycmF5LmlzVGVtcGxhdGVPYmplY3QsXG4gICAgLy8gdGhvdWdoIHdlIG1pZ2h0IG5lZWQgdG8gbWFrZSB0aGF0IGNoZWNrIGluc2lkZSBvZiB0aGUgaHRtbCBhbmQgc3ZnXG4gICAgLy8gZnVuY3Rpb25zLCBiZWNhdXNlIHByZWNvbXBpbGVkIHRlbXBsYXRlcyBkb24ndCBjb21lIGluIGFzXG4gICAgLy8gVGVtcGxhdGVTdHJpbmdBcnJheSBvYmplY3RzLlxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0c2EpIHx8ICF0c2EuaGFzT3duUHJvcGVydHkoJ3JhdycpKSB7XG4gICAgICAgIGxldCBtZXNzYWdlID0gJ2ludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheSc7XG4gICAgICAgIGlmIChERVZfTU9ERSkge1xuICAgICAgICAgICAgbWVzc2FnZSA9IGBcbiAgICAgICAgICBJbnRlcm5hbCBFcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUgc3RyaW5ncyB0byBiZSBhbiBhcnJheVxuICAgICAgICAgIHdpdGggYSAncmF3JyBmaWVsZC4gRmFraW5nIGEgdGVtcGxhdGUgc3RyaW5ncyBhcnJheSBieVxuICAgICAgICAgIGNhbGxpbmcgaHRtbCBvciBzdmcgbGlrZSBhbiBvcmRpbmFyeSBmdW5jdGlvbiBpcyBlZmZlY3RpdmVseVxuICAgICAgICAgIHRoZSBzYW1lIGFzIGNhbGxpbmcgdW5zYWZlSHRtbCBhbmQgY2FuIGxlYWQgdG8gbWFqb3Igc2VjdXJpdHlcbiAgICAgICAgICBpc3N1ZXMsIGUuZy4gb3BlbmluZyB5b3VyIGNvZGUgdXAgdG8gWFNTIGF0dGFja3MuXG4gICAgICAgICAgSWYgeW91J3JlIHVzaW5nIHRoZSBodG1sIG9yIHN2ZyB0YWdnZWQgdGVtcGxhdGUgZnVuY3Rpb25zIG5vcm1hbGx5XG4gICAgICAgICAgYW5kIHN0aWxsIHNlZWluZyB0aGlzIGVycm9yLCBwbGVhc2UgZmlsZSBhIGJ1ZyBhdFxuICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9saXQvbGl0L2lzc3Vlcy9uZXc/dGVtcGxhdGU9YnVnX3JlcG9ydC5tZFxuICAgICAgICAgIGFuZCBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IHlvdXIgYnVpbGQgdG9vbGluZywgaWYgYW55LlxuICAgICAgICBgXG4gICAgICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXG4gKi9nLCAnXFxuJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gcG9saWN5ICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBwb2xpY3kuY3JlYXRlSFRNTChzdHJpbmdGcm9tVFNBKVxuICAgICAgICA6IHN0cmluZ0Zyb21UU0E7XG59XG4vKipcbiAqIFJldHVybnMgYW4gSFRNTCBzdHJpbmcgZm9yIHRoZSBnaXZlbiBUZW1wbGF0ZVN0cmluZ3NBcnJheSBhbmQgcmVzdWx0IHR5cGVcbiAqIChIVE1MIG9yIFNWRyksIGFsb25nIHdpdGggdGhlIGNhc2Utc2Vuc2l0aXZlIGJvdW5kIGF0dHJpYnV0ZSBuYW1lcyBpblxuICogdGVtcGxhdGUgb3JkZXIuIFRoZSBIVE1MIGNvbnRhaW5zIGNvbW1lbnQgbWFya2VycyBkZW5vdGluZyB0aGUgYENoaWxkUGFydGBzXG4gKiBhbmQgc3VmZml4ZXMgb24gYm91bmQgYXR0cmlidXRlcyBkZW5vdGluZyB0aGUgYEF0dHJpYnV0ZVBhcnRzYC5cbiAqXG4gKiBAcGFyYW0gc3RyaW5ncyB0ZW1wbGF0ZSBzdHJpbmdzIGFycmF5XG4gKiBAcGFyYW0gdHlwZSBIVE1MIG9yIFNWR1xuICogQHJldHVybiBBcnJheSBjb250YWluaW5nIGBbaHRtbCwgYXR0ck5hbWVzXWAgKGFycmF5IHJldHVybmVkIGZvciB0ZXJzZW5lc3MsXG4gKiAgICAgdG8gYXZvaWQgb2JqZWN0IGZpZWxkcyBzaW5jZSB0aGlzIGNvZGUgaXMgc2hhcmVkIHdpdGggbm9uLW1pbmlmaWVkIFNTUlxuICogICAgIGNvZGUpXG4gKi9cbmNvbnN0IGdldFRlbXBsYXRlSHRtbCA9IChzdHJpbmdzLCB0eXBlKSA9PiB7XG4gICAgLy8gSW5zZXJ0IG1ha2VycyBpbnRvIHRoZSB0ZW1wbGF0ZSBIVE1MIHRvIHJlcHJlc2VudCB0aGUgcG9zaXRpb24gb2ZcbiAgICAvLyBiaW5kaW5ncy4gVGhlIGZvbGxvd2luZyBjb2RlIHNjYW5zIHRoZSB0ZW1wbGF0ZSBzdHJpbmdzIHRvIGRldGVybWluZSB0aGVcbiAgICAvLyBzeW50YWN0aWMgcG9zaXRpb24gb2YgdGhlIGJpbmRpbmdzLiBUaGV5IGNhbiBiZSBpbiB0ZXh0IHBvc2l0aW9uLCB3aGVyZVxuICAgIC8vIHdlIGluc2VydCBhbiBIVE1MIGNvbW1lbnQsIGF0dHJpYnV0ZSB2YWx1ZSBwb3NpdGlvbiwgd2hlcmUgd2UgaW5zZXJ0IGFcbiAgICAvLyBzZW50aW5lbCBzdHJpbmcgYW5kIHJlLXdyaXRlIHRoZSBhdHRyaWJ1dGUgbmFtZSwgb3IgaW5zaWRlIGEgdGFnIHdoZXJlXG4gICAgLy8gd2UgaW5zZXJ0IHRoZSBzZW50aW5lbCBzdHJpbmcuXG4gICAgY29uc3QgbCA9IHN0cmluZ3MubGVuZ3RoIC0gMTtcbiAgICAvLyBTdG9yZXMgdGhlIGNhc2Utc2Vuc2l0aXZlIGJvdW5kIGF0dHJpYnV0ZSBuYW1lcyBpbiB0aGUgb3JkZXIgb2YgdGhlaXJcbiAgICAvLyBwYXJ0cy4gRWxlbWVudFBhcnRzIGFyZSBhbHNvIHJlZmxlY3RlZCBpbiB0aGlzIGFycmF5IGFzIHVuZGVmaW5lZFxuICAgIC8vIHJhdGhlciB0aGFuIGEgc3RyaW5nLCB0byBkaXNhbWJpZ3VhdGUgZnJvbSBhdHRyaWJ1dGUgYmluZGluZ3MuXG4gICAgY29uc3QgYXR0ck5hbWVzID0gW107XG4gICAgbGV0IGh0bWwgPSB0eXBlID09PSBTVkdfUkVTVUxUID8gJzxzdmc+JyA6ICcnO1xuICAgIC8vIFdoZW4gd2UncmUgaW5zaWRlIGEgcmF3IHRleHQgdGFnIChub3QgaXQncyB0ZXh0IGNvbnRlbnQpLCB0aGUgcmVnZXhcbiAgICAvLyB3aWxsIHN0aWxsIGJlIHRhZ1JlZ2V4IHNvIHdlIGNhbiBmaW5kIGF0dHJpYnV0ZXMsIGJ1dCB3aWxsIHN3aXRjaCB0b1xuICAgIC8vIHRoaXMgcmVnZXggd2hlbiB0aGUgdGFnIGVuZHMuXG4gICAgbGV0IHJhd1RleHRFbmRSZWdleDtcbiAgICAvLyBUaGUgY3VycmVudCBwYXJzaW5nIHN0YXRlLCByZXByZXNlbnRlZCBhcyBhIHJlZmVyZW5jZSB0byBvbmUgb2YgdGhlXG4gICAgLy8gcmVnZXhlc1xuICAgIGxldCByZWdleCA9IHRleHRFbmRSZWdleDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICBjb25zdCBzID0gc3RyaW5nc1tpXTtcbiAgICAgICAgLy8gVGhlIGluZGV4IG9mIHRoZSBlbmQgb2YgdGhlIGxhc3QgYXR0cmlidXRlIG5hbWUuIFdoZW4gdGhpcyBpc1xuICAgICAgICAvLyBwb3NpdGl2ZSBhdCBlbmQgb2YgYSBzdHJpbmcsIGl0IG1lYW5zIHdlJ3JlIGluIGFuIGF0dHJpYnV0ZSB2YWx1ZVxuICAgICAgICAvLyBwb3NpdGlvbiBhbmQgbmVlZCB0byByZXdyaXRlIHRoZSBhdHRyaWJ1dGUgbmFtZS5cbiAgICAgICAgLy8gV2UgYWxzbyB1c2UgYSBzcGVjaWFsIHZhbHVlIG9mIC0yIHRvIGluZGljYXRlIHRoYXQgd2UgZW5jb3VudGVyZWRcbiAgICAgICAgLy8gdGhlIGVuZCBvZiBhIHN0cmluZyBpbiBhdHRyaWJ1dGUgbmFtZSBwb3NpdGlvbi5cbiAgICAgICAgbGV0IGF0dHJOYW1lRW5kSW5kZXggPSAtMTtcbiAgICAgICAgbGV0IGF0dHJOYW1lO1xuICAgICAgICBsZXQgbGFzdEluZGV4ID0gMDtcbiAgICAgICAgbGV0IG1hdGNoO1xuICAgICAgICAvLyBUaGUgY29uZGl0aW9ucyBpbiB0aGlzIGxvb3AgaGFuZGxlIHRoZSBjdXJyZW50IHBhcnNlIHN0YXRlLCBhbmQgdGhlXG4gICAgICAgIC8vIGFzc2lnbm1lbnRzIHRvIHRoZSBgcmVnZXhgIHZhcmlhYmxlIGFyZSB0aGUgc3RhdGUgdHJhbnNpdGlvbnMuXG4gICAgICAgIHdoaWxlIChsYXN0SW5kZXggPCBzLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIHN0YXJ0IHNlYXJjaGluZyBmcm9tIHdoZXJlIHdlIHByZXZpb3VzbHkgbGVmdCBvZmZcbiAgICAgICAgICAgIHJlZ2V4Lmxhc3RJbmRleCA9IGxhc3RJbmRleDtcbiAgICAgICAgICAgIG1hdGNoID0gcmVnZXguZXhlYyhzKTtcbiAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFzdEluZGV4ID0gcmVnZXgubGFzdEluZGV4O1xuICAgICAgICAgICAgaWYgKHJlZ2V4ID09PSB0ZXh0RW5kUmVnZXgpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hbQ09NTUVOVF9TVEFSVF0gPT09ICchLS0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2V4ID0gY29tbWVudEVuZFJlZ2V4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChtYXRjaFtDT01NRU5UX1NUQVJUXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIHN0YXJ0ZWQgYSB3ZWlyZCBjb21tZW50LCBsaWtlIDwve1xuICAgICAgICAgICAgICAgICAgICByZWdleCA9IGNvbW1lbnQyRW5kUmVnZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoW1RBR19OQU1FXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyYXdUZXh0RWxlbWVudC50ZXN0KG1hdGNoW1RBR19OQU1FXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlY29yZCBpZiB3ZSBlbmNvdW50ZXIgYSByYXctdGV4dCBlbGVtZW50LiBXZSdsbCBzd2l0Y2ggdG9cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgcmVnZXggYXQgdGhlIGVuZCBvZiB0aGUgdGFnLlxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3VGV4dEVuZFJlZ2V4ID0gbmV3IFJlZ0V4cChgPC8ke21hdGNoW1RBR19OQU1FXX1gLCAnZycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlZ2V4ID0gdGFnRW5kUmVnZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoW0RZTkFNSUNfVEFHX05BTUVdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKERFVl9NT0RFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JpbmRpbmdzIGluIHRhZyBuYW1lcyBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlIHVzZSBzdGF0aWMgdGVtcGxhdGVzIGluc3RlYWQuICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZWUgaHR0cHM6Ly9saXQuZGV2L2RvY3MvdGVtcGxhdGVzL2V4cHJlc3Npb25zLyNzdGF0aWMtZXhwcmVzc2lvbnMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZWdleCA9IHRhZ0VuZFJlZ2V4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHJlZ2V4ID09PSB0YWdFbmRSZWdleCkge1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaFtFTlRJUkVfTUFUQ0hdID09PSAnPicpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRW5kIG9mIGEgdGFnLiBJZiB3ZSBoYWQgc3RhcnRlZCBhIHJhdy10ZXh0IGVsZW1lbnQsIHVzZSB0aGF0XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlZ2V4XG4gICAgICAgICAgICAgICAgICAgIHJlZ2V4ID0gcmF3VGV4dEVuZFJlZ2V4ICE9PSBudWxsICYmIHJhd1RleHRFbmRSZWdleCAhPT0gdm9pZCAwID8gcmF3VGV4dEVuZFJlZ2V4IDogdGV4dEVuZFJlZ2V4O1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBtYXkgYmUgZW5kaW5nIGFuIHVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZSwgc28gbWFrZSBzdXJlIHdlXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsZWFyIGFueSBwZW5kaW5nIGF0dHJOYW1lRW5kSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgYXR0ck5hbWVFbmRJbmRleCA9IC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChtYXRjaFtBVFRSSUJVVEVfTkFNRV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBBdHRyaWJ1dGUgbmFtZSBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICBhdHRyTmFtZUVuZEluZGV4ID0gLTI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhdHRyTmFtZUVuZEluZGV4ID0gcmVnZXgubGFzdEluZGV4IC0gbWF0Y2hbU1BBQ0VTX0FORF9FUVVBTFNdLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYXR0ck5hbWUgPSBtYXRjaFtBVFRSSUJVVEVfTkFNRV07XG4gICAgICAgICAgICAgICAgICAgIHJlZ2V4ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoW1FVT1RFX0NIQVJdID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRhZ0VuZFJlZ2V4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXRjaFtRVU9URV9DSEFSXSA9PT0gJ1wiJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGRvdWJsZVF1b3RlQXR0ckVuZFJlZ2V4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogc2luZ2xlUXVvdGVBdHRyRW5kUmVnZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocmVnZXggPT09IGRvdWJsZVF1b3RlQXR0ckVuZFJlZ2V4IHx8XG4gICAgICAgICAgICAgICAgcmVnZXggPT09IHNpbmdsZVF1b3RlQXR0ckVuZFJlZ2V4KSB7XG4gICAgICAgICAgICAgICAgcmVnZXggPSB0YWdFbmRSZWdleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHJlZ2V4ID09PSBjb21tZW50RW5kUmVnZXggfHwgcmVnZXggPT09IGNvbW1lbnQyRW5kUmVnZXgpIHtcbiAgICAgICAgICAgICAgICByZWdleCA9IHRleHRFbmRSZWdleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE5vdCBvbmUgb2YgdGhlIGZpdmUgc3RhdGUgcmVnZXhlcywgc28gaXQgbXVzdCBiZSB0aGUgZHluYW1pY2FsbHlcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGVkIHJhdyB0ZXh0IHJlZ2V4IGFuZCB3ZSdyZSBhdCB0aGUgY2xvc2Ugb2YgdGhhdCBlbGVtZW50LlxuICAgICAgICAgICAgICAgIHJlZ2V4ID0gdGFnRW5kUmVnZXg7XG4gICAgICAgICAgICAgICAgcmF3VGV4dEVuZFJlZ2V4ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChERVZfTU9ERSkge1xuICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIGF0dHJOYW1lRW5kSW5kZXgsIHdoaWNoIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZFxuICAgICAgICAgICAgLy8gcmV3cml0ZSB0aGUgYXR0cmlidXRlIG5hbWUsIGFzc2VydCB0aGF0IHdlJ3JlIGluIGEgdmFsaWQgYXR0cmlidXRlXG4gICAgICAgICAgICAvLyBwb3NpdGlvbiAtIGVpdGhlciBpbiBhIHRhZywgb3IgYSBxdW90ZWQgYXR0cmlidXRlIHZhbHVlLlxuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoYXR0ck5hbWVFbmRJbmRleCA9PT0gLTEgfHxcbiAgICAgICAgICAgICAgICByZWdleCA9PT0gdGFnRW5kUmVnZXggfHxcbiAgICAgICAgICAgICAgICByZWdleCA9PT0gc2luZ2xlUXVvdGVBdHRyRW5kUmVnZXggfHxcbiAgICAgICAgICAgICAgICByZWdleCA9PT0gZG91YmxlUXVvdGVBdHRyRW5kUmVnZXgsICd1bmV4cGVjdGVkIHBhcnNlIHN0YXRlIEInKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBoYXZlIGZvdXIgY2FzZXM6XG4gICAgICAgIC8vICAxLiBXZSdyZSBpbiB0ZXh0IHBvc2l0aW9uLCBhbmQgbm90IGluIGEgcmF3IHRleHQgZWxlbWVudFxuICAgICAgICAvLyAgICAgKHJlZ2V4ID09PSB0ZXh0RW5kUmVnZXgpOiBpbnNlcnQgYSBjb21tZW50IG1hcmtlci5cbiAgICAgICAgLy8gIDIuIFdlIGhhdmUgYSBub24tbmVnYXRpdmUgYXR0ck5hbWVFbmRJbmRleCB3aGljaCBtZWFucyB3ZSBuZWVkIHRvXG4gICAgICAgIC8vICAgICByZXdyaXRlIHRoZSBhdHRyaWJ1dGUgbmFtZSB0byBhZGQgYSBib3VuZCBhdHRyaWJ1dGUgc3VmZml4LlxuICAgICAgICAvLyAgMy4gV2UncmUgYXQgdGhlIG5vbi1maXJzdCBiaW5kaW5nIGluIGEgbXVsdGktYmluZGluZyBhdHRyaWJ1dGUsIHVzZSBhXG4gICAgICAgIC8vICAgICBwbGFpbiBtYXJrZXIuXG4gICAgICAgIC8vICA0LiBXZSdyZSBzb21ld2hlcmUgZWxzZSBpbnNpZGUgdGhlIHRhZy4gSWYgd2UncmUgaW4gYXR0cmlidXRlIG5hbWVcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uIChhdHRyTmFtZUVuZEluZGV4ID09PSAtMiksIGFkZCBhIHNlcXVlbnRpYWwgc3VmZml4IHRvXG4gICAgICAgIC8vICAgICBnZW5lcmF0ZSBhIHVuaXF1ZSBhdHRyaWJ1dGUgbmFtZS5cbiAgICAgICAgLy8gRGV0ZWN0IGEgYmluZGluZyBuZXh0IHRvIHNlbGYtY2xvc2luZyB0YWcgZW5kIGFuZCBpbnNlcnQgYSBzcGFjZSB0b1xuICAgICAgICAvLyBzZXBhcmF0ZSB0aGUgbWFya2VyIGZyb20gdGhlIHRhZyBlbmQ6XG4gICAgICAgIGNvbnN0IGVuZCA9IHJlZ2V4ID09PSB0YWdFbmRSZWdleCAmJiBzdHJpbmdzW2kgKyAxXS5zdGFydHNXaXRoKCcvPicpID8gJyAnIDogJyc7XG4gICAgICAgIGh0bWwgKz1cbiAgICAgICAgICAgIHJlZ2V4ID09PSB0ZXh0RW5kUmVnZXhcbiAgICAgICAgICAgICAgICA/IHMgKyBub2RlTWFya2VyXG4gICAgICAgICAgICAgICAgOiBhdHRyTmFtZUVuZEluZGV4ID49IDBcbiAgICAgICAgICAgICAgICAgICAgPyAoYXR0ck5hbWVzLnB1c2goYXR0ck5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcy5zbGljZSgwLCBhdHRyTmFtZUVuZEluZGV4KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRBdHRyaWJ1dGVTdWZmaXggK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMuc2xpY2UoYXR0ck5hbWVFbmRJbmRleCkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlciArXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRcbiAgICAgICAgICAgICAgICAgICAgOiBzICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlciArXG4gICAgICAgICAgICAgICAgICAgICAgICAoYXR0ck5hbWVFbmRJbmRleCA9PT0gLTIgPyAoYXR0ck5hbWVzLnB1c2godW5kZWZpbmVkKSwgaSkgOiBlbmQpO1xuICAgIH1cbiAgICBjb25zdCBodG1sUmVzdWx0ID0gaHRtbCArIChzdHJpbmdzW2xdIHx8ICc8Pz4nKSArICh0eXBlID09PSBTVkdfUkVTVUxUID8gJzwvc3ZnPicgOiAnJyk7XG4gICAgLy8gUmV0dXJuZWQgYXMgYW4gYXJyYXkgZm9yIHRlcnNlbmVzc1xuICAgIHJldHVybiBbdHJ1c3RGcm9tVGVtcGxhdGVTdHJpbmcoc3RyaW5ncywgaHRtbFJlc3VsdCksIGF0dHJOYW1lc107XG59O1xuY2xhc3MgVGVtcGxhdGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgeyBzdHJpbmdzLCBbJ18kbGl0VHlwZSQnXTogdHlwZSB9LCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGFydHMgPSBbXTtcbiAgICAgICAgbGV0IG5vZGU7XG4gICAgICAgIGxldCBub2RlSW5kZXggPSAwO1xuICAgICAgICBsZXQgYXR0ck5hbWVJbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IHBhcnRDb3VudCA9IHN0cmluZ3MubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgcGFydHMgPSB0aGlzLnBhcnRzO1xuICAgICAgICAvLyBDcmVhdGUgdGVtcGxhdGUgZWxlbWVudFxuICAgICAgICBjb25zdCBbaHRtbCwgYXR0ck5hbWVzXSA9IGdldFRlbXBsYXRlSHRtbChzdHJpbmdzLCB0eXBlKTtcbiAgICAgICAgdGhpcy5lbCA9IFRlbXBsYXRlLmNyZWF0ZUVsZW1lbnQoaHRtbCwgb3B0aW9ucyk7XG4gICAgICAgIHdhbGtlci5jdXJyZW50Tm9kZSA9IHRoaXMuZWwuY29udGVudDtcbiAgICAgICAgLy8gUmVwYXJlbnQgU1ZHIG5vZGVzIGludG8gdGVtcGxhdGUgcm9vdFxuICAgICAgICBpZiAodHlwZSA9PT0gU1ZHX1JFU1VMVCkge1xuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuZWwuY29udGVudDtcbiAgICAgICAgICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSBjb250ZW50LmZpcnN0Q2hpbGQ7XG4gICAgICAgICAgICBzdmdFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICAgICAgY29udGVudC5hcHBlbmQoLi4uc3ZnRWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXYWxrIHRoZSB0ZW1wbGF0ZSB0byBmaW5kIGJpbmRpbmcgbWFya2VycyBhbmQgY3JlYXRlIFRlbXBsYXRlUGFydHNcbiAgICAgICAgd2hpbGUgKChub2RlID0gd2Fsa2VyLm5leHROb2RlKCkpICE9PSBudWxsICYmIHBhcnRzLmxlbmd0aCA8IHBhcnRDb3VudCkge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBpZiAoREVWX01PREUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gbm9kZS5sb2NhbE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdhcm4gaWYgYHRleHRhcmVhYCBpbmNsdWRlcyBhbiBleHByZXNzaW9uIGFuZCB0aHJvdyBpZiBgdGVtcGxhdGVgXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvZXMgc2luY2UgdGhlc2UgYXJlIG5vdCBzdXBwb3J0ZWQuIFdlIGRvIHRoaXMgYnkgY2hlY2tpbmdcbiAgICAgICAgICAgICAgICAgICAgLy8gaW5uZXJIVE1MIGZvciBhbnl0aGluZyB0aGF0IGxvb2tzIGxpa2UgYSBtYXJrZXIuIFRoaXMgY2F0Y2hlc1xuICAgICAgICAgICAgICAgICAgICAvLyBjYXNlcyBsaWtlIGJpbmRpbmdzIGluIHRleHRhcmVhIHRoZXJlIG1hcmtlcnMgdHVybiBpbnRvIHRleHQgbm9kZXMuXG4gICAgICAgICAgICAgICAgICAgIGlmICgvXig/OnRleHRhcmVhfHRlbXBsYXRlKSQvaS50ZXN0KHRhZykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuaW5uZXJIVE1MLmluY2x1ZGVzKG1hcmtlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG0gPSBgRXhwcmVzc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgaW5zaWRlIFxcYCR7dGFnfVxcYCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZWxlbWVudHMuIFNlZSBodHRwczovL2xpdC5kZXYvbXNnL2V4cHJlc3Npb24taW4tJHt0YWd9IGZvciBtb3JlIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBpbmZvcm1hdGlvbi5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZVdhcm5pbmcoJycsIG0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFRPRE8gKGp1c3RpbmZhZ25hbmkpOiBmb3IgYXR0ZW1wdGVkIGR5bmFtaWMgdGFnIG5hbWVzLCB3ZSBkb24ndFxuICAgICAgICAgICAgICAgIC8vIGluY3JlbWVudCB0aGUgYmluZGluZ0luZGV4LCBhbmQgaXQnbGwgYmUgb2ZmIGJ5IDEgaW4gdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAvLyBhbmQgb2ZmIGJ5IHR3byBhZnRlciBpdC5cbiAgICAgICAgICAgICAgICBpZiAobm9kZS5oYXNBdHRyaWJ1dGVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2UgZGVmZXIgcmVtb3ZpbmcgYm91bmQgYXR0cmlidXRlcyBiZWNhdXNlIG9uIElFIHdlIG1pZ2h0IG5vdCBiZVxuICAgICAgICAgICAgICAgICAgICAvLyBpdGVyYXRpbmcgYXR0cmlidXRlcyBpbiB0aGVpciB0ZW1wbGF0ZSBvcmRlciwgYW5kIHdvdWxkIHNvbWV0aW1lc1xuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgYW4gYXR0cmlidXRlIHRoYXQgd2Ugc3RpbGwgbmVlZCB0byBjcmVhdGUgYSBwYXJ0IGZvci5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXR0cnNUb1JlbW92ZSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5hbWUgb2Ygbm9kZS5nZXRBdHRyaWJ1dGVOYW1lcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBgbmFtZWAgaXMgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB3ZSdyZSBpdGVyYXRpbmcgb3ZlciwgYnV0IG5vdFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gX25lY2Vzc2FyaWx5XyB0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHdlIHdpbGwgY3JlYXRlIGEgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yLiBUaGV5IGNhbiBiZSBkaWZmZXJlbnQgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBpdGVyYXRlIG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhdHRyaWJ1dGVzIGluIHNvdXJjZSBvcmRlci4gSW4gdGhhdCBjYXNlIHRoZSBhdHRyTmFtZXMgYXJyYXlcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRhaW5zIHRoZSBhdHRyaWJ1dGUgbmFtZSB3ZSdsbCBwcm9jZXNzIG5leHQuIFdlIG9ubHkgbmVlZCB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGF0dHJpYnV0ZSBuYW1lIGhlcmUgdG8ga25vdyBpZiB3ZSBzaG91bGQgcHJvY2VzcyBhIGJvdW5kIGF0dHJpYnV0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb24gdGhpcyBlbGVtZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUuZW5kc1dpdGgoYm91bmRBdHRyaWJ1dGVTdWZmaXgpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZS5zdGFydHNXaXRoKG1hcmtlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWFsTmFtZSA9IGF0dHJOYW1lc1thdHRyTmFtZUluZGV4KytdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzVG9SZW1vdmUucHVzaChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVhbE5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMb3dlcmNhc2UgZm9yIGNhc2Utc2Vuc2l0aXZlIFNWRyBhdHRyaWJ1dGVzIGxpa2Ugdmlld0JveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKHJlYWxOYW1lLnRvTG93ZXJDYXNlKCkgKyBib3VuZEF0dHJpYnV0ZVN1ZmZpeCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRpY3MgPSB2YWx1ZS5zcGxpdChtYXJrZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtID0gLyhbLj9AXSk/KC4qKS8uZXhlYyhyZWFsTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVRUUklCVVRFX1BBUlQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogbm9kZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogbVsyXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ3M6IHN0YXRpY3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdG9yOiBtWzFdID09PSAnLidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFByb3BlcnR5UGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbVsxXSA9PT0gJz8nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gQm9vbGVhbkF0dHJpYnV0ZVBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtWzFdID09PSAnQCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gRXZlbnRQYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEF0dHJpYnV0ZVBhcnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBFTEVNRU5UX1BBUlQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogbm9kZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIGF0dHJzVG9SZW1vdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFRPRE8gKGp1c3RpbmZhZ25hbmkpOiBiZW5jaG1hcmsgdGhlIHJlZ2V4IGFnYWluc3QgdGVzdGluZyBmb3IgZWFjaFxuICAgICAgICAgICAgICAgIC8vIG9mIHRoZSAzIHJhdyB0ZXh0IGVsZW1lbnQgbmFtZXMuXG4gICAgICAgICAgICAgICAgaWYgKHJhd1RleHRFbGVtZW50LnRlc3Qobm9kZS50YWdOYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBGb3IgcmF3IHRleHQgZWxlbWVudHMgd2UgbmVlZCB0byBzcGxpdCB0aGUgdGV4dCBjb250ZW50IG9uXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmtlcnMsIGNyZWF0ZSBhIFRleHQgbm9kZSBmb3IgZWFjaCBzZWdtZW50LCBhbmQgY3JlYXRlXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgVGVtcGxhdGVQYXJ0IGZvciBlYWNoIG1hcmtlci5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyaW5ncyA9IG5vZGUudGV4dENvbnRlbnQuc3BsaXQobWFya2VyKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gc3RyaW5ncy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IHRydXN0ZWRUeXBlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdHJ1c3RlZFR5cGVzLmVtcHR5U2NyaXB0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYXRlIGEgbmV3IHRleHQgbm9kZSBmb3IgZWFjaCBsaXRlcmFsIHNlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZXNlIG5vZGVzIGFyZSBhbHNvIHVzZWQgYXMgdGhlIG1hcmtlcnMgZm9yIG5vZGUgcGFydHNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IHVzZSBlbXB0eSB0ZXh0IG5vZGVzIGFzIG1hcmtlcnMgYmVjYXVzZSB0aGV5J3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBub3JtYWxpemVkIHdoZW4gY2xvbmluZyBpbiBJRSAoY291bGQgc2ltcGxpZnkgd2hlblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSUUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZClcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGFzdEluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLmFwcGVuZChzdHJpbmdzW2ldLCBjcmVhdGVNYXJrZXIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2FsayBwYXN0IHRoZSBtYXJrZXIgbm9kZSB3ZSBqdXN0IGFkZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Fsa2VyLm5leHROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6IENISUxEX1BBUlQsIGluZGV4OiArK25vZGVJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGUgYmVjYXVzZSB0aGlzIG1hcmtlciBpcyBhZGRlZCBhZnRlciB0aGUgd2Fsa2VyJ3MgY3VycmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm9kZSwgaXQgd2lsbCBiZSB3YWxrZWQgdG8gaW4gdGhlIG91dGVyIGxvb3AgKGFuZCBpZ25vcmVkKSwgc29cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gYWRqdXN0IG5vZGVJbmRleCBoZXJlXG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLmFwcGVuZChzdHJpbmdzW2xhc3RJbmRleF0sIGNyZWF0ZU1hcmtlcigpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG5vZGUubm9kZVR5cGUgPT09IDgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbm9kZS5kYXRhO1xuICAgICAgICAgICAgICAgIGlmIChkYXRhID09PSBtYXJrZXJNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHsgdHlwZTogQ0hJTERfUEFSVCwgaW5kZXg6IG5vZGVJbmRleCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpID0gLTE7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlICgoaSA9IG5vZGUuZGF0YS5pbmRleE9mKG1hcmtlciwgaSArIDEpKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbW1lbnQgbm9kZSBoYXMgYSBiaW5kaW5nIG1hcmtlciBpbnNpZGUsIG1ha2UgYW4gaW5hY3RpdmUgcGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGJpbmRpbmcgd29uJ3Qgd29yaywgYnV0IHN1YnNlcXVlbnQgYmluZGluZ3Mgd2lsbFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6IENPTU1FTlRfUEFSVCwgaW5kZXg6IG5vZGVJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgbWF0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gbWFya2VyLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlSW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBjb3VsZCBzZXQgd2Fsa2VyLmN1cnJlbnROb2RlIHRvIGFub3RoZXIgbm9kZSBoZXJlIHRvIHByZXZlbnQgYSBtZW1vcnlcbiAgICAgICAgLy8gbGVhaywgYnV0IGV2ZXJ5IHRpbWUgd2UgcHJlcGFyZSBhIHRlbXBsYXRlLCB3ZSBpbW1lZGlhdGVseSByZW5kZXIgaXRcbiAgICAgICAgLy8gYW5kIHJlLXVzZSB0aGUgd2Fsa2VyIGluIG5ldyBUZW1wbGF0ZUluc3RhbmNlLl9jbG9uZSgpLlxuICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAga2luZDogJ3RlbXBsYXRlIHByZXAnLFxuICAgICAgICAgICAgdGVtcGxhdGU6IHRoaXMsXG4gICAgICAgICAgICBjbG9uYWJsZVRlbXBsYXRlOiB0aGlzLmVsLFxuICAgICAgICAgICAgcGFydHM6IHRoaXMucGFydHMsXG4gICAgICAgICAgICBzdHJpbmdzLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gT3ZlcnJpZGRlbiB2aWEgYGxpdEh0bWxQb2x5ZmlsbFN1cHBvcnRgIHRvIHByb3ZpZGUgcGxhdGZvcm0gc3VwcG9ydC5cbiAgICAvKiogQG5vY29sbGFwc2UgKi9cbiAgICBzdGF0aWMgY3JlYXRlRWxlbWVudChodG1sLCBfb3B0aW9ucykge1xuICAgICAgICBjb25zdCBlbCA9IGQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcbiAgICAgICAgZWwuaW5uZXJIVE1MID0gaHRtbDtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHJlc29sdmVEaXJlY3RpdmUocGFydCwgdmFsdWUsIHBhcmVudCA9IHBhcnQsIGF0dHJpYnV0ZUluZGV4KSB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgdmFyIF9kO1xuICAgIC8vIEJhaWwgZWFybHkgaWYgdGhlIHZhbHVlIGlzIGV4cGxpY2l0bHkgbm9DaGFuZ2UuIE5vdGUsIHRoaXMgbWVhbnMgYW55XG4gICAgLy8gbmVzdGVkIGRpcmVjdGl2ZSBpcyBzdGlsbCBhdHRhY2hlZCBhbmQgaXMgbm90IHJ1bi5cbiAgICBpZiAodmFsdWUgPT09IG5vQ2hhbmdlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgbGV0IGN1cnJlbnREaXJlY3RpdmUgPSBhdHRyaWJ1dGVJbmRleCAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gKF9hID0gcGFyZW50Ll9fZGlyZWN0aXZlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW2F0dHJpYnV0ZUluZGV4XVxuICAgICAgICA6IHBhcmVudC5fX2RpcmVjdGl2ZTtcbiAgICBjb25zdCBuZXh0RGlyZWN0aXZlQ29uc3RydWN0b3IgPSBpc1ByaW1pdGl2ZSh2YWx1ZSlcbiAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgOiAvLyBUaGlzIHByb3BlcnR5IG5lZWRzIHRvIHJlbWFpbiB1bm1pbmlmaWVkLlxuICAgICAgICAgICAgdmFsdWVbJ18kbGl0RGlyZWN0aXZlJCddO1xuICAgIGlmICgoY3VycmVudERpcmVjdGl2ZSA9PT0gbnVsbCB8fCBjdXJyZW50RGlyZWN0aXZlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdXJyZW50RGlyZWN0aXZlLmNvbnN0cnVjdG9yKSAhPT0gbmV4dERpcmVjdGl2ZUNvbnN0cnVjdG9yKSB7XG4gICAgICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgICAgIChfYiA9IGN1cnJlbnREaXJlY3RpdmUgPT09IG51bGwgfHwgY3VycmVudERpcmVjdGl2ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3VycmVudERpcmVjdGl2ZVsnXyRub3RpZnlEaXJlY3RpdmVDb25uZWN0aW9uQ2hhbmdlZCddKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChjdXJyZW50RGlyZWN0aXZlLCBmYWxzZSk7XG4gICAgICAgIGlmIChuZXh0RGlyZWN0aXZlQ29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY3VycmVudERpcmVjdGl2ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnREaXJlY3RpdmUgPSBuZXcgbmV4dERpcmVjdGl2ZUNvbnN0cnVjdG9yKHBhcnQpO1xuICAgICAgICAgICAgY3VycmVudERpcmVjdGl2ZS5fJGluaXRpYWxpemUocGFydCwgcGFyZW50LCBhdHRyaWJ1dGVJbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF0dHJpYnV0ZUluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICgoX2MgPSAoX2QgPSBwYXJlbnQpLl9fZGlyZWN0aXZlcykgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKF9kLl9fZGlyZWN0aXZlcyA9IFtdKSlbYXR0cmlidXRlSW5kZXhdID1cbiAgICAgICAgICAgICAgICBjdXJyZW50RGlyZWN0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50Ll9fZGlyZWN0aXZlID0gY3VycmVudERpcmVjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoY3VycmVudERpcmVjdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbHVlID0gcmVzb2x2ZURpcmVjdGl2ZShwYXJ0LCBjdXJyZW50RGlyZWN0aXZlLl8kcmVzb2x2ZShwYXJ0LCB2YWx1ZS52YWx1ZXMpLCBjdXJyZW50RGlyZWN0aXZlLCBhdHRyaWJ1dGVJbmRleCk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn1cbi8qKlxuICogQW4gdXBkYXRlYWJsZSBpbnN0YW5jZSBvZiBhIFRlbXBsYXRlLiBIb2xkcyByZWZlcmVuY2VzIHRvIHRoZSBQYXJ0cyB1c2VkIHRvXG4gKiB1cGRhdGUgdGhlIHRlbXBsYXRlIGluc3RhbmNlLlxuICovXG5jbGFzcyBUZW1wbGF0ZUluc3RhbmNlIHtcbiAgICBjb25zdHJ1Y3Rvcih0ZW1wbGF0ZSwgcGFyZW50KSB7XG4gICAgICAgIHRoaXMuXyRwYXJ0cyA9IFtdO1xuICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgIHRoaXMuXyRkaXNjb25uZWN0YWJsZUNoaWxkcmVuID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl8kdGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgdGhpcy5fJHBhcmVudCA9IHBhcmVudDtcbiAgICB9XG4gICAgLy8gQ2FsbGVkIGJ5IENoaWxkUGFydCBwYXJlbnROb2RlIGdldHRlclxuICAgIGdldCBwYXJlbnROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fJHBhcmVudC5wYXJlbnROb2RlO1xuICAgIH1cbiAgICAvLyBTZWUgY29tbWVudCBpbiBEaXNjb25uZWN0YWJsZSBpbnRlcmZhY2UgZm9yIHdoeSB0aGlzIGlzIGEgZ2V0dGVyXG4gICAgZ2V0IF8kaXNDb25uZWN0ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl8kcGFyZW50Ll8kaXNDb25uZWN0ZWQ7XG4gICAgfVxuICAgIC8vIFRoaXMgbWV0aG9kIGlzIHNlcGFyYXRlIGZyb20gdGhlIGNvbnN0cnVjdG9yIGJlY2F1c2Ugd2UgbmVlZCB0byByZXR1cm4gYVxuICAgIC8vIERvY3VtZW50RnJhZ21lbnQgYW5kIHdlIGRvbid0IHdhbnQgdG8gaG9sZCBvbnRvIGl0IHdpdGggYW4gaW5zdGFuY2UgZmllbGQuXG4gICAgX2Nsb25lKG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCB7IGVsOiB7IGNvbnRlbnQgfSwgcGFydHM6IHBhcnRzLCB9ID0gdGhpcy5fJHRlbXBsYXRlO1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9ICgoX2EgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuY3JlYXRpb25TY29wZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZCkuaW1wb3J0Tm9kZShjb250ZW50LCB0cnVlKTtcbiAgICAgICAgd2Fsa2VyLmN1cnJlbnROb2RlID0gZnJhZ21lbnQ7XG4gICAgICAgIGxldCBub2RlID0gd2Fsa2VyLm5leHROb2RlKCk7XG4gICAgICAgIGxldCBub2RlSW5kZXggPSAwO1xuICAgICAgICBsZXQgcGFydEluZGV4ID0gMDtcbiAgICAgICAgbGV0IHRlbXBsYXRlUGFydCA9IHBhcnRzWzBdO1xuICAgICAgICB3aGlsZSAodGVtcGxhdGVQYXJ0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChub2RlSW5kZXggPT09IHRlbXBsYXRlUGFydC5pbmRleCkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJ0O1xuICAgICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZVBhcnQudHlwZSA9PT0gQ0hJTERfUEFSVCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gbmV3IENoaWxkUGFydChub2RlLCBub2RlLm5leHRTaWJsaW5nLCB0aGlzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodGVtcGxhdGVQYXJ0LnR5cGUgPT09IEFUVFJJQlVURV9QQVJUKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnQgPSBuZXcgdGVtcGxhdGVQYXJ0LmN0b3Iobm9kZSwgdGVtcGxhdGVQYXJ0Lm5hbWUsIHRlbXBsYXRlUGFydC5zdHJpbmdzLCB0aGlzLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodGVtcGxhdGVQYXJ0LnR5cGUgPT09IEVMRU1FTlRfUEFSVCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gbmV3IEVsZW1lbnRQYXJ0KG5vZGUsIHRoaXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl8kcGFydHMucHVzaChwYXJ0KTtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcnQgPSBwYXJ0c1srK3BhcnRJbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobm9kZUluZGV4ICE9PSAodGVtcGxhdGVQYXJ0ID09PSBudWxsIHx8IHRlbXBsYXRlUGFydCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGVtcGxhdGVQYXJ0LmluZGV4KSkge1xuICAgICAgICAgICAgICAgIG5vZGUgPSB3YWxrZXIubmV4dE5vZGUoKTtcbiAgICAgICAgICAgICAgICBub2RlSW5kZXgrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBuZWVkIHRvIHNldCB0aGUgY3VycmVudE5vZGUgYXdheSBmcm9tIHRoZSBjbG9uZWQgdHJlZSBzbyB0aGF0IHdlXG4gICAgICAgIC8vIGRvbid0IGhvbGQgb250byB0aGUgdHJlZSBldmVuIGlmIHRoZSB0cmVlIGlzIGRldGFjaGVkIGFuZCBzaG91bGQgYmVcbiAgICAgICAgLy8gZnJlZWQuXG4gICAgICAgIHdhbGtlci5jdXJyZW50Tm9kZSA9IGQ7XG4gICAgICAgIHJldHVybiBmcmFnbWVudDtcbiAgICB9XG4gICAgX3VwZGF0ZSh2YWx1ZXMpIHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgdGhpcy5fJHBhcnRzKSB7XG4gICAgICAgICAgICBpZiAocGFydCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZGVidWdMb2dFdmVudCA9PT0gbnVsbCB8fCBkZWJ1Z0xvZ0V2ZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZWJ1Z0xvZ0V2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogJ3NldCBwYXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgcGFydCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlc1tpXSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVJbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZUluc3RhbmNlOiB0aGlzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChwYXJ0LnN0cmluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0Ll8kc2V0VmFsdWUodmFsdWVzLCBwYXJ0LCBpKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIG51bWJlciBvZiB2YWx1ZXMgdGhlIHBhcnQgY29uc3VtZXMgaXMgcGFydC5zdHJpbmdzLmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgLy8gc2luY2UgdmFsdWVzIGFyZSBpbiBiZXR3ZWVuIHRlbXBsYXRlIHNwYW5zLiBXZSBpbmNyZW1lbnQgaSBieSAxXG4gICAgICAgICAgICAgICAgICAgIC8vIGxhdGVyIGluIHRoZSBsb29wLCBzbyBpbmNyZW1lbnQgaXQgYnkgcGFydC5zdHJpbmdzLmxlbmd0aCAtIDIgaGVyZVxuICAgICAgICAgICAgICAgICAgICBpICs9IHBhcnQuc3RyaW5ncy5sZW5ndGggLSAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydC5fJHNldFZhbHVlKHZhbHVlc1tpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgfVxufVxuY2xhc3MgQ2hpbGRQYXJ0IHtcbiAgICBjb25zdHJ1Y3RvcihzdGFydE5vZGUsIGVuZE5vZGUsIHBhcmVudCwgb3B0aW9ucykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMudHlwZSA9IENISUxEX1BBUlQ7XG4gICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IG5vdGhpbmc7XG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgZmllbGRzIHdpbGwgYmUgcGF0Y2hlZCBvbnRvIENoaWxkUGFydHMgd2hlbiByZXF1aXJlZCBieVxuICAgICAgICAvLyBBc3luY0RpcmVjdGl2ZVxuICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgIHRoaXMuXyRkaXNjb25uZWN0YWJsZUNoaWxkcmVuID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl8kc3RhcnROb2RlID0gc3RhcnROb2RlO1xuICAgICAgICB0aGlzLl8kZW5kTm9kZSA9IGVuZE5vZGU7XG4gICAgICAgIHRoaXMuXyRwYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIC8vIE5vdGUgX19pc0Nvbm5lY3RlZCBpcyBvbmx5IGV2ZXIgYWNjZXNzZWQgb24gUm9vdFBhcnRzIChpLmUuIHdoZW4gdGhlcmUgaXNcbiAgICAgICAgLy8gbm8gXyRwYXJlbnQpOyB0aGUgdmFsdWUgb24gYSBub24tcm9vdC1wYXJ0IGlzIFwiZG9uJ3QgY2FyZVwiLCBidXQgY2hlY2tpbmdcbiAgICAgICAgLy8gZm9yIHBhcmVudCB3b3VsZCBiZSBtb3JlIGNvZGVcbiAgICAgICAgdGhpcy5fX2lzQ29ubmVjdGVkID0gKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmlzQ29ubmVjdGVkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0cnVlO1xuICAgICAgICBpZiAoRU5BQkxFX0VYVFJBX1NFQ1VSSVRZX0hPT0tTKSB7XG4gICAgICAgICAgICAvLyBFeHBsaWNpdGx5IGluaXRpYWxpemUgZm9yIGNvbnNpc3RlbnQgY2xhc3Mgc2hhcGUuXG4gICAgICAgICAgICB0aGlzLl90ZXh0U2FuaXRpemVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFNlZSBjb21tZW50IGluIERpc2Nvbm5lY3RhYmxlIGludGVyZmFjZSBmb3Igd2h5IHRoaXMgaXMgYSBnZXR0ZXJcbiAgICBnZXQgXyRpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgLy8gQ2hpbGRQYXJ0cyB0aGF0IGFyZSBub3QgYXQgdGhlIHJvb3Qgc2hvdWxkIGFsd2F5cyBiZSBjcmVhdGVkIHdpdGggYVxuICAgICAgICAvLyBwYXJlbnQ7IG9ubHkgUm9vdENoaWxkTm9kZSdzIHdvbid0LCBzbyB0aGV5IHJldHVybiB0aGUgbG9jYWwgaXNDb25uZWN0ZWRcbiAgICAgICAgLy8gc3RhdGVcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMuXyRwYXJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5fJGlzQ29ubmVjdGVkKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiB0aGlzLl9faXNDb25uZWN0ZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSBwYXJlbnQgbm9kZSBpbnRvIHdoaWNoIHRoZSBwYXJ0IHJlbmRlcnMgaXRzIGNvbnRlbnQuXG4gICAgICpcbiAgICAgKiBBIENoaWxkUGFydCdzIGNvbnRlbnQgY29uc2lzdHMgb2YgYSByYW5nZSBvZiBhZGphY2VudCBjaGlsZCBub2RlcyBvZlxuICAgICAqIGAucGFyZW50Tm9kZWAsIHBvc3NpYmx5IGJvcmRlcmVkIGJ5ICdtYXJrZXIgbm9kZXMnIChgLnN0YXJ0Tm9kZWAgYW5kXG4gICAgICogYC5lbmROb2RlYCkuXG4gICAgICpcbiAgICAgKiAtIElmIGJvdGggYC5zdGFydE5vZGVgIGFuZCBgLmVuZE5vZGVgIGFyZSBub24tbnVsbCwgdGhlbiB0aGUgcGFydCdzIGNvbnRlbnRcbiAgICAgKiBjb25zaXN0cyBvZiBhbGwgc2libGluZ3MgYmV0d2VlbiBgLnN0YXJ0Tm9kZWAgYW5kIGAuZW5kTm9kZWAsIGV4Y2x1c2l2ZWx5LlxuICAgICAqXG4gICAgICogLSBJZiBgLnN0YXJ0Tm9kZWAgaXMgbm9uLW51bGwgYnV0IGAuZW5kTm9kZWAgaXMgbnVsbCwgdGhlbiB0aGUgcGFydCdzXG4gICAgICogY29udGVudCBjb25zaXN0cyBvZiBhbGwgc2libGluZ3MgZm9sbG93aW5nIGAuc3RhcnROb2RlYCwgdXAgdG8gYW5kXG4gICAgICogaW5jbHVkaW5nIHRoZSBsYXN0IGNoaWxkIG9mIGAucGFyZW50Tm9kZWAuIElmIGAuZW5kTm9kZWAgaXMgbm9uLW51bGwsIHRoZW5cbiAgICAgKiBgLnN0YXJ0Tm9kZWAgd2lsbCBhbHdheXMgYmUgbm9uLW51bGwuXG4gICAgICpcbiAgICAgKiAtIElmIGJvdGggYC5lbmROb2RlYCBhbmQgYC5zdGFydE5vZGVgIGFyZSBudWxsLCB0aGVuIHRoZSBwYXJ0J3MgY29udGVudFxuICAgICAqIGNvbnNpc3RzIG9mIGFsbCBjaGlsZCBub2RlcyBvZiBgLnBhcmVudE5vZGVgLlxuICAgICAqL1xuICAgIGdldCBwYXJlbnROb2RlKCkge1xuICAgICAgICBsZXQgcGFyZW50Tm9kZSA9IHdyYXAodGhpcy5fJHN0YXJ0Tm9kZSkucGFyZW50Tm9kZTtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5fJHBhcmVudDtcbiAgICAgICAgaWYgKHBhcmVudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAocGFyZW50Tm9kZSA9PT0gbnVsbCB8fCBwYXJlbnROb2RlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJlbnROb2RlLm5vZGVUeXBlKSA9PT0gMTEgLyogTm9kZS5ET0NVTUVOVF9GUkFHTUVOVCAqLykge1xuICAgICAgICAgICAgLy8gSWYgdGhlIHBhcmVudE5vZGUgaXMgYSBEb2N1bWVudEZyYWdtZW50LCBpdCBtYXkgYmUgYmVjYXVzZSB0aGUgRE9NIGlzXG4gICAgICAgICAgICAvLyBzdGlsbCBpbiB0aGUgY2xvbmVkIGZyYWdtZW50IGR1cmluZyBpbml0aWFsIHJlbmRlcjsgaWYgc28sIGdldCB0aGUgcmVhbFxuICAgICAgICAgICAgLy8gcGFyZW50Tm9kZSB0aGUgcGFydCB3aWxsIGJlIGNvbW1pdHRlZCBpbnRvIGJ5IGFza2luZyB0aGUgcGFyZW50LlxuICAgICAgICAgICAgcGFyZW50Tm9kZSA9IHBhcmVudC5wYXJlbnROb2RlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJlbnROb2RlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgcGFydCdzIGxlYWRpbmcgbWFya2VyIG5vZGUsIGlmIGFueS4gU2VlIGAucGFyZW50Tm9kZWAgZm9yIG1vcmVcbiAgICAgKiBpbmZvcm1hdGlvbi5cbiAgICAgKi9cbiAgICBnZXQgc3RhcnROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fJHN0YXJ0Tm9kZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIHBhcnQncyB0cmFpbGluZyBtYXJrZXIgbm9kZSwgaWYgYW55LiBTZWUgYC5wYXJlbnROb2RlYCBmb3IgbW9yZVxuICAgICAqIGluZm9ybWF0aW9uLlxuICAgICAqL1xuICAgIGdldCBlbmROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fJGVuZE5vZGU7XG4gICAgfVxuICAgIF8kc2V0VmFsdWUodmFsdWUsIGRpcmVjdGl2ZVBhcmVudCA9IHRoaXMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoREVWX01PREUgJiYgdGhpcy5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoaXMgXFxgQ2hpbGRQYXJ0XFxgIGhhcyBubyBcXGBwYXJlbnROb2RlXFxgIGFuZCB0aGVyZWZvcmUgY2Fubm90IGFjY2VwdCBhIHZhbHVlLiBUaGlzIGxpa2VseSBtZWFucyB0aGUgZWxlbWVudCBjb250YWluaW5nIHRoZSBwYXJ0IHdhcyBtYW5pcHVsYXRlZCBpbiBhbiB1bnN1cHBvcnRlZCB3YXkgb3V0c2lkZSBvZiBMaXQncyBjb250cm9sIHN1Y2ggdGhhdCB0aGUgcGFydCdzIG1hcmtlciBub2RlcyB3ZXJlIGVqZWN0ZWQgZnJvbSBET00uIEZvciBleGFtcGxlLCBzZXR0aW5nIHRoZSBlbGVtZW50J3MgXFxgaW5uZXJIVE1MXFxgIG9yIFxcYHRleHRDb250ZW50XFxgIGNhbiBkbyB0aGlzLmApO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlID0gcmVzb2x2ZURpcmVjdGl2ZSh0aGlzLCB2YWx1ZSwgZGlyZWN0aXZlUGFyZW50KTtcbiAgICAgICAgaWYgKGlzUHJpbWl0aXZlKHZhbHVlKSkge1xuICAgICAgICAgICAgLy8gTm9uLXJlbmRlcmluZyBjaGlsZCB2YWx1ZXMuIEl0J3MgaW1wb3J0YW50IHRoYXQgdGhlc2UgZG8gbm90IHJlbmRlclxuICAgICAgICAgICAgLy8gZW1wdHkgdGV4dCBub2RlcyB0byBhdm9pZCBpc3N1ZXMgd2l0aCBwcmV2ZW50aW5nIGRlZmF1bHQgPHNsb3Q+XG4gICAgICAgICAgICAvLyBmYWxsYmFjayBjb250ZW50LlxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBub3RoaW5nIHx8IHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuXyRjb21taXR0ZWRWYWx1ZSAhPT0gbm90aGluZykge1xuICAgICAgICAgICAgICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogJ2NvbW1pdCBub3RoaW5nIHRvIGNoaWxkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLl8kc3RhcnROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiB0aGlzLl8kZW5kTm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudDogdGhpcy5fJHBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuXyRjbGVhcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl8kY29tbWl0dGVkVmFsdWUgPSBub3RoaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodmFsdWUgIT09IHRoaXMuXyRjb21taXR0ZWRWYWx1ZSAmJiB2YWx1ZSAhPT0gbm9DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21taXRUZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWVbJ18kbGl0VHlwZSQnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21taXRUZW1wbGF0ZVJlc3VsdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWUubm9kZVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKERFVl9NT0RFICYmICgoX2EgPSB0aGlzLm9wdGlvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5ob3N0KSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21taXRUZXh0KGBbcHJvYmFibGUgbWlzdGFrZTogcmVuZGVyZWQgYSB0ZW1wbGF0ZSdzIGhvc3QgaW4gaXRzZWxmIGAgK1xuICAgICAgICAgICAgICAgICAgICBgKGNvbW1vbmx5IGNhdXNlZCBieSB3cml0aW5nIFxcJHt0aGlzfSBpbiBhIHRlbXBsYXRlXWApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgQXR0ZW1wdGVkIHRvIHJlbmRlciB0aGUgdGVtcGxhdGUgaG9zdGAsIHZhbHVlLCBgaW5zaWRlIGl0c2VsZi4gVGhpcyBpcyBhbG1vc3QgYWx3YXlzIGEgbWlzdGFrZSwgYW5kIGluIGRldiBtb2RlIGAsIGB3ZSByZW5kZXIgc29tZSB3YXJuaW5nIHRleHQuIEluIHByb2R1Y3Rpb24gaG93ZXZlciwgd2UnbGwgYCwgYHJlbmRlciBpdCwgd2hpY2ggd2lsbCB1c3VhbGx5IHJlc3VsdCBpbiBhbiBlcnJvciwgYW5kIHNvbWV0aW1lcyBgLCBgaW4gdGhlIGVsZW1lbnQgZGlzYXBwZWFyaW5nIGZyb20gdGhlIERPTS5gKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jb21taXROb2RlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0l0ZXJhYmxlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fY29tbWl0SXRlcmFibGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gRmFsbGJhY2ssIHdpbGwgcmVuZGVyIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICAgICAgICAgIHRoaXMuX2NvbW1pdFRleHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9pbnNlcnQobm9kZSkge1xuICAgICAgICByZXR1cm4gd3JhcCh3cmFwKHRoaXMuXyRzdGFydE5vZGUpLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShub2RlLCB0aGlzLl8kZW5kTm9kZSk7XG4gICAgfVxuICAgIF9jb21taXROb2RlKHZhbHVlKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKHRoaXMuXyRjb21taXR0ZWRWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuXyRjbGVhcigpO1xuICAgICAgICAgICAgaWYgKEVOQUJMRV9FWFRSQV9TRUNVUklUWV9IT09LUyAmJlxuICAgICAgICAgICAgICAgIHNhbml0aXplckZhY3RvcnlJbnRlcm5hbCAhPT0gbm9vcFNhbml0aXplcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGVOYW1lID0gKF9hID0gdGhpcy5fJHN0YXJ0Tm9kZS5wYXJlbnROb2RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZU5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudE5vZGVOYW1lID09PSAnU1RZTEUnIHx8IHBhcmVudE5vZGVOYW1lID09PSAnU0NSSVBUJykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9ICdGb3JiaWRkZW4nO1xuICAgICAgICAgICAgICAgICAgICBpZiAoREVWX01PREUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlTmFtZSA9PT0gJ1NUWUxFJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTGl0IGRvZXMgbm90IHN1cHBvcnQgYmluZGluZyBpbnNpZGUgc3R5bGUgbm9kZXMuIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFRoaXMgaXMgYSBzZWN1cml0eSByaXNrLCBhcyBzdHlsZSBpbmplY3Rpb24gYXR0YWNrcyBjYW4gYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXhmaWx0cmF0ZSBkYXRhIGFuZCBzcG9vZiBVSXMuIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYENvbnNpZGVyIGluc3RlYWQgdXNpbmcgY3NzXFxgLi4uXFxgIGxpdGVyYWxzIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHRvIGNvbXBvc2Ugc3R5bGVzLCBhbmQgbWFrZSBkbyBkeW5hbWljIHN0eWxpbmcgd2l0aCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjc3MgY3VzdG9tIHByb3BlcnRpZXMsIDo6cGFydHMsIDxzbG90PnMsIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFuZCBieSBtdXRhdGluZyB0aGUgRE9NIHJhdGhlciB0aGFuIHN0eWxlc2hlZXRzLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYExpdCBkb2VzIG5vdCBzdXBwb3J0IGJpbmRpbmcgaW5zaWRlIHNjcmlwdCBub2Rlcy4gYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgVGhpcyBpcyBhIHNlY3VyaXR5IHJpc2ssIGFzIGl0IGNvdWxkIGFsbG93IGFyYml0cmFyeSBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2RlIGV4ZWN1dGlvbi5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdjb21taXQgbm9kZScsXG4gICAgICAgICAgICAgICAgc3RhcnQ6IHRoaXMuXyRzdGFydE5vZGUsXG4gICAgICAgICAgICAgICAgcGFyZW50OiB0aGlzLl8kcGFyZW50LFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IHRoaXMuX2luc2VydCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2NvbW1pdFRleHQodmFsdWUpIHtcbiAgICAgICAgLy8gSWYgdGhlIGNvbW1pdHRlZCB2YWx1ZSBpcyBhIHByaW1pdGl2ZSBpdCBtZWFucyB3ZSBjYWxsZWQgX2NvbW1pdFRleHQgb25cbiAgICAgICAgLy8gdGhlIHByZXZpb3VzIHJlbmRlciwgYW5kIHdlIGtub3cgdGhhdCB0aGlzLl8kc3RhcnROb2RlLm5leHRTaWJsaW5nIGlzIGFcbiAgICAgICAgLy8gVGV4dCBub2RlLiBXZSBjYW4gbm93IGp1c3QgcmVwbGFjZSB0aGUgdGV4dCBjb250ZW50ICguZGF0YSkgb2YgdGhlIG5vZGUuXG4gICAgICAgIGlmICh0aGlzLl8kY29tbWl0dGVkVmFsdWUgIT09IG5vdGhpbmcgJiZcbiAgICAgICAgICAgIGlzUHJpbWl0aXZlKHRoaXMuXyRjb21taXR0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB3cmFwKHRoaXMuXyRzdGFydE5vZGUpLm5leHRTaWJsaW5nO1xuICAgICAgICAgICAgaWYgKEVOQUJMRV9FWFRSQV9TRUNVUklUWV9IT09LUykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZXh0U2FuaXRpemVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dFNhbml0aXplciA9IGNyZWF0ZVNhbml0aXplcihub2RlLCAnZGF0YScsICdwcm9wZXJ0eScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX3RleHRTYW5pdGl6ZXIodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVidWdMb2dFdmVudCA9PT0gbnVsbCB8fCBkZWJ1Z0xvZ0V2ZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZWJ1Z0xvZ0V2ZW50KHtcbiAgICAgICAgICAgICAgICBraW5kOiAnY29tbWl0IHRleHQnLFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBub2RlLmRhdGEgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChFTkFCTEVfRVhUUkFfU0VDVVJJVFlfSE9PS1MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IGQuY3JlYXRlVGV4dE5vZGUoJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbW1pdE5vZGUodGV4dE5vZGUpO1xuICAgICAgICAgICAgICAgIC8vIFdoZW4gc2V0dGluZyB0ZXh0IGNvbnRlbnQsIGZvciBzZWN1cml0eSBwdXJwb3NlcyBpdCBtYXR0ZXJzIGEgbG90XG4gICAgICAgICAgICAgICAgLy8gd2hhdCB0aGUgcGFyZW50IGlzLiBGb3IgZXhhbXBsZSwgPHN0eWxlPiBhbmQgPHNjcmlwdD4gbmVlZCB0byBiZVxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZWQgd2l0aCBjYXJlLCB3aGlsZSA8c3Bhbj4gZG9lcyBub3QuIFNvIGZpcnN0IHdlIG5lZWQgdG8gcHV0IGFcbiAgICAgICAgICAgICAgICAvLyB0ZXh0IG5vZGUgaW50byB0aGUgZG9jdW1lbnQsIHRoZW4gd2UgY2FuIHNhbml0aXplIGl0cyBjb250ZW50LlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZXh0U2FuaXRpemVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dFNhbml0aXplciA9IGNyZWF0ZVNhbml0aXplcih0ZXh0Tm9kZSwgJ2RhdGEnLCAncHJvcGVydHknKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLl90ZXh0U2FuaXRpemVyKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICBraW5kOiAnY29tbWl0IHRleHQnLFxuICAgICAgICAgICAgICAgICAgICBub2RlOiB0ZXh0Tm9kZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5kYXRhID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21taXROb2RlKGQuY3JlYXRlVGV4dE5vZGUodmFsdWUpKTtcbiAgICAgICAgICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICBraW5kOiAnY29tbWl0IHRleHQnLFxuICAgICAgICAgICAgICAgICAgICBub2RlOiB3cmFwKHRoaXMuXyRzdGFydE5vZGUpLm5leHRTaWJsaW5nLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBfY29tbWl0VGVtcGxhdGVSZXN1bHQocmVzdWx0KSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gVGhpcyBwcm9wZXJ0eSBuZWVkcyB0byByZW1haW4gdW5taW5pZmllZC5cbiAgICAgICAgY29uc3QgeyB2YWx1ZXMsIFsnXyRsaXRUeXBlJCddOiB0eXBlIH0gPSByZXN1bHQ7XG4gICAgICAgIC8vIElmICRsaXRUeXBlJCBpcyBhIG51bWJlciwgcmVzdWx0IGlzIGEgcGxhaW4gVGVtcGxhdGVSZXN1bHQgYW5kIHdlIGdldFxuICAgICAgICAvLyB0aGUgdGVtcGxhdGUgZnJvbSB0aGUgdGVtcGxhdGUgY2FjaGUuIElmIG5vdCwgcmVzdWx0IGlzIGFcbiAgICAgICAgLy8gQ29tcGlsZWRUZW1wbGF0ZVJlc3VsdCBhbmQgXyRsaXRUeXBlJCBpcyBhIENvbXBpbGVkVGVtcGxhdGUgYW5kIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gY3JlYXRlIHRoZSA8dGVtcGxhdGU+IGVsZW1lbnQgdGhlIGZpcnN0IHRpbWUgd2Ugc2VlIGl0LlxuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHR5cGVvZiB0eXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyB0aGlzLl8kZ2V0VGVtcGxhdGUocmVzdWx0KVxuICAgICAgICAgICAgOiAodHlwZS5lbCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgKHR5cGUuZWwgPSBUZW1wbGF0ZS5jcmVhdGVFbGVtZW50KHRydXN0RnJvbVRlbXBsYXRlU3RyaW5nKHR5cGUuaCwgdHlwZS5oWzBdKSwgdGhpcy5vcHRpb25zKSksXG4gICAgICAgICAgICAgICAgdHlwZSk7XG4gICAgICAgIGlmICgoKF9hID0gdGhpcy5fJGNvbW1pdHRlZFZhbHVlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuXyR0ZW1wbGF0ZSkgPT09IHRlbXBsYXRlKSB7XG4gICAgICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAgICAgIGtpbmQ6ICd0ZW1wbGF0ZSB1cGRhdGluZycsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgaW5zdGFuY2U6IHRoaXMuXyRjb21taXR0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJ0czogdGhpcy5fJGNvbW1pdHRlZFZhbHVlLl8kcGFydHMsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fJGNvbW1pdHRlZFZhbHVlLl91cGRhdGUodmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFRlbXBsYXRlSW5zdGFuY2UodGVtcGxhdGUsIHRoaXMpO1xuICAgICAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBpbnN0YW5jZS5fY2xvbmUodGhpcy5vcHRpb25zKTtcbiAgICAgICAgICAgIGRlYnVnTG9nRXZlbnQgPT09IG51bGwgfHwgZGVidWdMb2dFdmVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGVidWdMb2dFdmVudCh7XG4gICAgICAgICAgICAgICAga2luZDogJ3RlbXBsYXRlIGluc3RhbnRpYXRlZCcsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgaW5zdGFuY2UsXG4gICAgICAgICAgICAgICAgcGFydHM6IGluc3RhbmNlLl8kcGFydHMsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIGZyYWdtZW50LFxuICAgICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaW5zdGFuY2UuX3VwZGF0ZSh2YWx1ZXMpO1xuICAgICAgICAgICAgZGVidWdMb2dFdmVudCA9PT0gbnVsbCB8fCBkZWJ1Z0xvZ0V2ZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZWJ1Z0xvZ0V2ZW50KHtcbiAgICAgICAgICAgICAgICBraW5kOiAndGVtcGxhdGUgaW5zdGFudGlhdGVkIGFuZCB1cGRhdGVkJyxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZSxcbiAgICAgICAgICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgICAgICAgICBwYXJ0czogaW5zdGFuY2UuXyRwYXJ0cyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZnJhZ21lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9jb21taXROb2RlKGZyYWdtZW50KTtcbiAgICAgICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IGluc3RhbmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE92ZXJyaWRkZW4gdmlhIGBsaXRIdG1sUG9seWZpbGxTdXBwb3J0YCB0byBwcm92aWRlIHBsYXRmb3JtIHN1cHBvcnQuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF8kZ2V0VGVtcGxhdGUocmVzdWx0KSB7XG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9IHRlbXBsYXRlQ2FjaGUuZ2V0KHJlc3VsdC5zdHJpbmdzKTtcbiAgICAgICAgaWYgKHRlbXBsYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRlbXBsYXRlQ2FjaGUuc2V0KHJlc3VsdC5zdHJpbmdzLCAodGVtcGxhdGUgPSBuZXcgVGVtcGxhdGUocmVzdWx0KSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZTtcbiAgICB9XG4gICAgX2NvbW1pdEl0ZXJhYmxlKHZhbHVlKSB7XG4gICAgICAgIC8vIEZvciBhbiBJdGVyYWJsZSwgd2UgY3JlYXRlIGEgbmV3IEluc3RhbmNlUGFydCBwZXIgaXRlbSwgdGhlbiBzZXQgaXRzXG4gICAgICAgIC8vIHZhbHVlIHRvIHRoZSBpdGVtLiBUaGlzIGlzIGEgbGl0dGxlIGJpdCBvZiBvdmVyaGVhZCBmb3IgZXZlcnkgaXRlbSBpblxuICAgICAgICAvLyBhbiBJdGVyYWJsZSwgYnV0IGl0IGxldHMgdXMgcmVjdXJzZSBlYXNpbHkgYW5kIGVmZmljaWVudGx5IHVwZGF0ZSBBcnJheXNcbiAgICAgICAgLy8gb2YgVGVtcGxhdGVSZXN1bHRzIHRoYXQgd2lsbCBiZSBjb21tb25seSByZXR1cm5lZCBmcm9tIGV4cHJlc3Npb25zIGxpa2U6XG4gICAgICAgIC8vIGFycmF5Lm1hcCgoaSkgPT4gaHRtbGAke2l9YCksIGJ5IHJldXNpbmcgZXhpc3RpbmcgVGVtcGxhdGVJbnN0YW5jZXMuXG4gICAgICAgIC8vIElmIHZhbHVlIGlzIGFuIGFycmF5LCB0aGVuIHRoZSBwcmV2aW91cyByZW5kZXIgd2FzIG9mIGFuXG4gICAgICAgIC8vIGl0ZXJhYmxlIGFuZCB2YWx1ZSB3aWxsIGNvbnRhaW4gdGhlIENoaWxkUGFydHMgZnJvbSB0aGUgcHJldmlvdXNcbiAgICAgICAgLy8gcmVuZGVyLiBJZiB2YWx1ZSBpcyBub3QgYW4gYXJyYXksIGNsZWFyIHRoaXMgcGFydCBhbmQgbWFrZSBhIG5ld1xuICAgICAgICAvLyBhcnJheSBmb3IgQ2hpbGRQYXJ0cy5cbiAgICAgICAgaWYgKCFpc0FycmF5KHRoaXMuXyRjb21taXR0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fJGNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTGV0cyB1cyBrZWVwIHRyYWNrIG9mIGhvdyBtYW55IGl0ZW1zIHdlIHN0YW1wZWQgc28gd2UgY2FuIGNsZWFyIGxlZnRvdmVyXG4gICAgICAgIC8vIGl0ZW1zIGZyb20gYSBwcmV2aW91cyByZW5kZXJcbiAgICAgICAgY29uc3QgaXRlbVBhcnRzID0gdGhpcy5fJGNvbW1pdHRlZFZhbHVlO1xuICAgICAgICBsZXQgcGFydEluZGV4ID0gMDtcbiAgICAgICAgbGV0IGl0ZW1QYXJ0O1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChwYXJ0SW5kZXggPT09IGl0ZW1QYXJ0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBubyBleGlzdGluZyBwYXJ0LCBjcmVhdGUgYSBuZXcgb25lXG4gICAgICAgICAgICAgICAgLy8gVE9ETyAoanVzdGluZmFnbmFuaSk6IHRlc3QgcGVyZiBpbXBhY3Qgb2YgYWx3YXlzIGNyZWF0aW5nIHR3byBwYXJ0c1xuICAgICAgICAgICAgICAgIC8vIGluc3RlYWQgb2Ygc2hhcmluZyBwYXJ0cyBiZXR3ZWVuIG5vZGVzXG4gICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2xpdC9saXQvaXNzdWVzLzEyNjZcbiAgICAgICAgICAgICAgICBpdGVtUGFydHMucHVzaCgoaXRlbVBhcnQgPSBuZXcgQ2hpbGRQYXJ0KHRoaXMuX2luc2VydChjcmVhdGVNYXJrZXIoKSksIHRoaXMuX2luc2VydChjcmVhdGVNYXJrZXIoKSksIHRoaXMsIHRoaXMub3B0aW9ucykpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFJldXNlIGFuIGV4aXN0aW5nIHBhcnRcbiAgICAgICAgICAgICAgICBpdGVtUGFydCA9IGl0ZW1QYXJ0c1twYXJ0SW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbVBhcnQuXyRzZXRWYWx1ZShpdGVtKTtcbiAgICAgICAgICAgIHBhcnRJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0SW5kZXggPCBpdGVtUGFydHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBpdGVtUGFydHMgYWx3YXlzIGhhdmUgZW5kIG5vZGVzXG4gICAgICAgICAgICB0aGlzLl8kY2xlYXIoaXRlbVBhcnQgJiYgd3JhcChpdGVtUGFydC5fJGVuZE5vZGUpLm5leHRTaWJsaW5nLCBwYXJ0SW5kZXgpO1xuICAgICAgICAgICAgLy8gVHJ1bmNhdGUgdGhlIHBhcnRzIGFycmF5IHNvIF92YWx1ZSByZWZsZWN0cyB0aGUgY3VycmVudCBzdGF0ZVxuICAgICAgICAgICAgaXRlbVBhcnRzLmxlbmd0aCA9IHBhcnRJbmRleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRoZSBub2RlcyBjb250YWluZWQgd2l0aGluIHRoaXMgUGFydCBmcm9tIHRoZSBET00uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RhcnQgU3RhcnQgbm9kZSB0byBjbGVhciBmcm9tLCBmb3IgY2xlYXJpbmcgYSBzdWJzZXQgb2YgdGhlIHBhcnQnc1xuICAgICAqICAgICBET00gKHVzZWQgd2hlbiB0cnVuY2F0aW5nIGl0ZXJhYmxlcylcbiAgICAgKiBAcGFyYW0gZnJvbSAgV2hlbiBgc3RhcnRgIGlzIHNwZWNpZmllZCwgdGhlIGluZGV4IHdpdGhpbiB0aGUgaXRlcmFibGUgZnJvbVxuICAgICAqICAgICB3aGljaCBDaGlsZFBhcnRzIGFyZSBiZWluZyByZW1vdmVkLCB1c2VkIGZvciBkaXNjb25uZWN0aW5nIGRpcmVjdGl2ZXMgaW5cbiAgICAgKiAgICAgdGhvc2UgUGFydHMuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBfJGNsZWFyKHN0YXJ0ID0gd3JhcCh0aGlzLl8kc3RhcnROb2RlKS5uZXh0U2libGluZywgZnJvbSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIChfYSA9IHRoaXMuXyRub3RpZnlDb25uZWN0aW9uQ2hhbmdlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcywgZmFsc2UsIHRydWUsIGZyb20pO1xuICAgICAgICB3aGlsZSAoc3RhcnQgJiYgc3RhcnQgIT09IHRoaXMuXyRlbmROb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBuID0gd3JhcChzdGFydCkubmV4dFNpYmxpbmc7XG4gICAgICAgICAgICB3cmFwKHN0YXJ0KS5yZW1vdmUoKTtcbiAgICAgICAgICAgIHN0YXJ0ID0gbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBSb290UGFydCdzIGBpc0Nvbm5lY3RlZGAuIE5vdGUgdGhhdCB0aGlzIG1ldG9kXG4gICAgICogc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIGBSb290UGFydGBzICh0aGUgYENoaWxkUGFydGAgcmV0dXJuZWQgZnJvbSBhXG4gICAgICogdG9wLWxldmVsIGByZW5kZXIoKWAgY2FsbCkuIEl0IGhhcyBubyBlZmZlY3Qgb24gbm9uLXJvb3QgQ2hpbGRQYXJ0cy5cbiAgICAgKiBAcGFyYW0gaXNDb25uZWN0ZWQgV2hldGhlciB0byBzZXRcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXRDb25uZWN0ZWQoaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAodGhpcy5fJHBhcmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9faXNDb25uZWN0ZWQgPSBpc0Nvbm5lY3RlZDtcbiAgICAgICAgICAgIChfYSA9IHRoaXMuXyRub3RpZnlDb25uZWN0aW9uQ2hhbmdlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcywgaXNDb25uZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKERFVl9NT0RFKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3BhcnQuc2V0Q29ubmVjdGVkKCkgbWF5IG9ubHkgYmUgY2FsbGVkIG9uIGEgJyArXG4gICAgICAgICAgICAgICAgJ1Jvb3RQYXJ0IHJldHVybmVkIGZyb20gcmVuZGVyKCkuJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5jbGFzcyBBdHRyaWJ1dGVQYXJ0IHtcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50LCBuYW1lLCBzdHJpbmdzLCBwYXJlbnQsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy50eXBlID0gQVRUUklCVVRFX1BBUlQ7XG4gICAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgICAgdGhpcy5fJGNvbW1pdHRlZFZhbHVlID0gbm90aGluZztcbiAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICB0aGlzLl8kZGlzY29ubmVjdGFibGVDaGlsZHJlbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5fJHBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgaWYgKHN0cmluZ3MubGVuZ3RoID4gMiB8fCBzdHJpbmdzWzBdICE9PSAnJyB8fCBzdHJpbmdzWzFdICE9PSAnJykge1xuICAgICAgICAgICAgdGhpcy5fJGNvbW1pdHRlZFZhbHVlID0gbmV3IEFycmF5KHN0cmluZ3MubGVuZ3RoIC0gMSkuZmlsbChuZXcgU3RyaW5nKCkpO1xuICAgICAgICAgICAgdGhpcy5zdHJpbmdzID0gc3RyaW5ncztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IG5vdGhpbmc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEVOQUJMRV9FWFRSQV9TRUNVUklUWV9IT09LUykge1xuICAgICAgICAgICAgdGhpcy5fc2FuaXRpemVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB0YWdOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50LnRhZ05hbWU7XG4gICAgfVxuICAgIC8vIFNlZSBjb21tZW50IGluIERpc2Nvbm5lY3RhYmxlIGludGVyZmFjZSBmb3Igd2h5IHRoaXMgaXMgYSBnZXR0ZXJcbiAgICBnZXQgXyRpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuXyRwYXJlbnQuXyRpc0Nvbm5lY3RlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhpcyBwYXJ0IGJ5IHJlc29sdmluZyB0aGUgdmFsdWUgZnJvbSBwb3NzaWJseSBtdWx0aXBsZVxuICAgICAqIHZhbHVlcyBhbmQgc3RhdGljIHN0cmluZ3MgYW5kIGNvbW1pdHRpbmcgaXQgdG8gdGhlIERPTS5cbiAgICAgKiBJZiB0aGlzIHBhcnQgaXMgc2luZ2xlLXZhbHVlZCwgYHRoaXMuX3N0cmluZ3NgIHdpbGwgYmUgdW5kZWZpbmVkLCBhbmQgdGhlXG4gICAgICogbWV0aG9kIHdpbGwgYmUgY2FsbGVkIHdpdGggYSBzaW5nbGUgdmFsdWUgYXJndW1lbnQuIElmIHRoaXMgcGFydCBpc1xuICAgICAqIG11bHRpLXZhbHVlLCBgdGhpcy5fc3RyaW5nc2Agd2lsbCBiZSBkZWZpbmVkLCBhbmQgdGhlIG1ldGhvZCBpcyBjYWxsZWRcbiAgICAgKiB3aXRoIHRoZSB2YWx1ZSBhcnJheSBvZiB0aGUgcGFydCdzIG93bmluZyBUZW1wbGF0ZUluc3RhbmNlLCBhbmQgYW4gb2Zmc2V0XG4gICAgICogaW50byB0aGUgdmFsdWUgYXJyYXkgZnJvbSB3aGljaCB0aGUgdmFsdWVzIHNob3VsZCBiZSByZWFkLlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIG92ZXJsb2FkZWQgdGhpcyB3YXkgdG8gZWxpbWluYXRlIHNob3J0LWxpdmVkIGFycmF5IHNsaWNlc1xuICAgICAqIG9mIHRoZSB0ZW1wbGF0ZSBpbnN0YW5jZSB2YWx1ZXMsIGFuZCBhbGxvdyBhIGZhc3QtcGF0aCBmb3Igc2luZ2xlLXZhbHVlZFxuICAgICAqIHBhcnRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBwYXJ0IHZhbHVlLCBvciBhbiBhcnJheSBvZiB2YWx1ZXMgZm9yIG11bHRpLXZhbHVlZCBwYXJ0c1xuICAgICAqIEBwYXJhbSB2YWx1ZUluZGV4IHRoZSBpbmRleCB0byBzdGFydCByZWFkaW5nIHZhbHVlcyBmcm9tLiBgdW5kZWZpbmVkYCBmb3JcbiAgICAgKiAgIHNpbmdsZS12YWx1ZWQgcGFydHNcbiAgICAgKiBAcGFyYW0gbm9Db21taXQgY2F1c2VzIHRoZSBwYXJ0IHRvIG5vdCBjb21taXQgaXRzIHZhbHVlIHRvIHRoZSBET00uIFVzZWRcbiAgICAgKiAgIGluIGh5ZHJhdGlvbiB0byBwcmltZSBhdHRyaWJ1dGUgcGFydHMgd2l0aCB0aGVpciBmaXJzdC1yZW5kZXJlZCB2YWx1ZSxcbiAgICAgKiAgIGJ1dCBub3Qgc2V0IHRoZSBhdHRyaWJ1dGUsIGFuZCBpbiBTU1IgdG8gbm8tb3AgdGhlIERPTSBvcGVyYXRpb24gYW5kXG4gICAgICogICBjYXB0dXJlIHRoZSB2YWx1ZSBmb3Igc2VyaWFsaXphdGlvbi5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIF8kc2V0VmFsdWUodmFsdWUsIGRpcmVjdGl2ZVBhcmVudCA9IHRoaXMsIHZhbHVlSW5kZXgsIG5vQ29tbWl0KSB7XG4gICAgICAgIGNvbnN0IHN0cmluZ3MgPSB0aGlzLnN0cmluZ3M7XG4gICAgICAgIC8vIFdoZXRoZXIgYW55IG9mIHRoZSB2YWx1ZXMgaGFzIGNoYW5nZWQsIGZvciBkaXJ0eS1jaGVja2luZ1xuICAgICAgICBsZXQgY2hhbmdlID0gZmFsc2U7XG4gICAgICAgIGlmIChzdHJpbmdzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIFNpbmdsZS12YWx1ZSBiaW5kaW5nIGNhc2VcbiAgICAgICAgICAgIHZhbHVlID0gcmVzb2x2ZURpcmVjdGl2ZSh0aGlzLCB2YWx1ZSwgZGlyZWN0aXZlUGFyZW50LCAwKTtcbiAgICAgICAgICAgIGNoYW5nZSA9XG4gICAgICAgICAgICAgICAgIWlzUHJpbWl0aXZlKHZhbHVlKSB8fFxuICAgICAgICAgICAgICAgICAgICAodmFsdWUgIT09IHRoaXMuXyRjb21taXR0ZWRWYWx1ZSAmJiB2YWx1ZSAhPT0gbm9DaGFuZ2UpO1xuICAgICAgICAgICAgaWYgKGNoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gSW50ZXJwb2xhdGlvbiBjYXNlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZTtcbiAgICAgICAgICAgIHZhbHVlID0gc3RyaW5nc1swXTtcbiAgICAgICAgICAgIGxldCBpLCB2O1xuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHN0cmluZ3MubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdiA9IHJlc29sdmVEaXJlY3RpdmUodGhpcywgdmFsdWVzW3ZhbHVlSW5kZXggKyBpXSwgZGlyZWN0aXZlUGFyZW50LCBpKTtcbiAgICAgICAgICAgICAgICBpZiAodiA9PT0gbm9DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXItcHJvdmlkZWQgdmFsdWUgaXMgYG5vQ2hhbmdlYCwgdXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICB2ID0gdGhpcy5fJGNvbW1pdHRlZFZhbHVlW2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjaGFuZ2UgfHwgKGNoYW5nZSA9ICFpc1ByaW1pdGl2ZSh2KSB8fCB2ICE9PSB0aGlzLl8kY29tbWl0dGVkVmFsdWVbaV0pO1xuICAgICAgICAgICAgICAgIGlmICh2ID09PSBub3RoaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gbm90aGluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodmFsdWUgIT09IG5vdGhpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgKz0gKHYgIT09IG51bGwgJiYgdiAhPT0gdm9pZCAwID8gdiA6ICcnKSArIHN0cmluZ3NbaSArIDFdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBXZSBhbHdheXMgcmVjb3JkIGVhY2ggdmFsdWUsIGV2ZW4gaWYgb25lIGlzIGBub3RoaW5nYCwgZm9yIGZ1dHVyZVxuICAgICAgICAgICAgICAgIC8vIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICAgICAgICAgICAgdGhpcy5fJGNvbW1pdHRlZFZhbHVlW2ldID0gdjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlICYmICFub0NvbW1pdCkge1xuICAgICAgICAgICAgdGhpcy5fY29tbWl0VmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBfY29tbWl0VmFsdWUodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBub3RoaW5nKSB7XG4gICAgICAgICAgICB3cmFwKHRoaXMuZWxlbWVudCkucmVtb3ZlQXR0cmlidXRlKHRoaXMubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoRU5BQkxFX0VYVFJBX1NFQ1VSSVRZX0hPT0tTKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3Nhbml0aXplciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nhbml0aXplciA9IHNhbml0aXplckZhY3RvcnlJbnRlcm5hbCh0aGlzLmVsZW1lbnQsIHRoaXMubmFtZSwgJ2F0dHJpYnV0ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX3Nhbml0aXplcih2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwID8gdmFsdWUgOiAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdjb21taXQgYXR0cmlidXRlJyxcbiAgICAgICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnQsXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd3JhcCh0aGlzLmVsZW1lbnQpLnNldEF0dHJpYnV0ZSh0aGlzLm5hbWUsICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwID8gdmFsdWUgOiAnJykpO1xuICAgICAgICB9XG4gICAgfVxufVxuY2xhc3MgUHJvcGVydHlQYXJ0IGV4dGVuZHMgQXR0cmlidXRlUGFydCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMudHlwZSA9IFBST1BFUlRZX1BBUlQ7XG4gICAgfVxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBfY29tbWl0VmFsdWUodmFsdWUpIHtcbiAgICAgICAgaWYgKEVOQUJMRV9FWFRSQV9TRUNVUklUWV9IT09LUykge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3Nhbml0aXplciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2FuaXRpemVyID0gc2FuaXRpemVyRmFjdG9yeUludGVybmFsKHRoaXMuZWxlbWVudCwgdGhpcy5uYW1lLCAncHJvcGVydHknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fc2FuaXRpemVyKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAga2luZDogJ2NvbW1pdCBwcm9wZXJ0eScsXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnQsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHRoaXMuZWxlbWVudFt0aGlzLm5hbWVdID0gdmFsdWUgPT09IG5vdGhpbmcgPyB1bmRlZmluZWQgOiB2YWx1ZTtcbiAgICB9XG59XG4vLyBUZW1wb3Jhcnkgd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9jcmJ1Zy5jb20vOTkzMjY4XG4vLyBDdXJyZW50bHksIGFueSBhdHRyaWJ1dGUgc3RhcnRpbmcgd2l0aCBcIm9uXCIgaXMgY29uc2lkZXJlZCB0byBiZSBhXG4vLyBUcnVzdGVkU2NyaXB0IHNvdXJjZS4gU3VjaCBib29sZWFuIGF0dHJpYnV0ZXMgbXVzdCBiZSBzZXQgdG8gdGhlIGVxdWl2YWxlbnRcbi8vIHRydXN0ZWQgZW1wdHlTY3JpcHQgdmFsdWUuXG5jb25zdCBlbXB0eVN0cmluZ0ZvckJvb2xlYW5BdHRyaWJ1dGUgPSB0cnVzdGVkVHlwZXNcbiAgICA/IHRydXN0ZWRUeXBlcy5lbXB0eVNjcmlwdFxuICAgIDogJyc7XG5jbGFzcyBCb29sZWFuQXR0cmlidXRlUGFydCBleHRlbmRzIEF0dHJpYnV0ZVBhcnQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLnR5cGUgPSBCT09MRUFOX0FUVFJJQlVURV9QQVJUO1xuICAgIH1cbiAgICAvKiogQGludGVybmFsICovXG4gICAgX2NvbW1pdFZhbHVlKHZhbHVlKSB7XG4gICAgICAgIGRlYnVnTG9nRXZlbnQgPT09IG51bGwgfHwgZGVidWdMb2dFdmVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGVidWdMb2dFdmVudCh7XG4gICAgICAgICAgICBraW5kOiAnY29tbWl0IGJvb2xlYW4gYXR0cmlidXRlJyxcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudCxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiAhISh2YWx1ZSAmJiB2YWx1ZSAhPT0gbm90aGluZyksXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09IG5vdGhpbmcpIHtcbiAgICAgICAgICAgIHdyYXAodGhpcy5lbGVtZW50KS5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLCBlbXB0eVN0cmluZ0ZvckJvb2xlYW5BdHRyaWJ1dGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd3JhcCh0aGlzLmVsZW1lbnQpLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuY2xhc3MgRXZlbnRQYXJ0IGV4dGVuZHMgQXR0cmlidXRlUGFydCB7XG4gICAgY29uc3RydWN0b3IoZWxlbWVudCwgbmFtZSwgc3RyaW5ncywgcGFyZW50LCBvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIG5hbWUsIHN0cmluZ3MsIHBhcmVudCwgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMudHlwZSA9IEVWRU5UX1BBUlQ7XG4gICAgICAgIGlmIChERVZfTU9ERSAmJiB0aGlzLnN0cmluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBIFxcYDwke2VsZW1lbnQubG9jYWxOYW1lfT5cXGAgaGFzIGEgXFxgQCR7bmFtZX09Li4uXFxgIGxpc3RlbmVyIHdpdGggYCArXG4gICAgICAgICAgICAgICAgJ2ludmFsaWQgY29udGVudC4gRXZlbnQgbGlzdGVuZXJzIGluIHRlbXBsYXRlcyBtdXN0IGhhdmUgZXhhY3RseSAnICtcbiAgICAgICAgICAgICAgICAnb25lIGV4cHJlc3Npb24gYW5kIG5vIHN1cnJvdW5kaW5nIHRleHQuJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gRXZlbnRQYXJ0IGRvZXMgbm90IHVzZSB0aGUgYmFzZSBfJHNldFZhbHVlL19yZXNvbHZlVmFsdWUgaW1wbGVtZW50YXRpb25cbiAgICAvLyBzaW5jZSB0aGUgZGlydHkgY2hlY2tpbmcgaXMgbW9yZSBjb21wbGV4XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF8kc2V0VmFsdWUobmV3TGlzdGVuZXIsIGRpcmVjdGl2ZVBhcmVudCA9IHRoaXMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBuZXdMaXN0ZW5lciA9XG4gICAgICAgICAgICAoX2EgPSByZXNvbHZlRGlyZWN0aXZlKHRoaXMsIG5ld0xpc3RlbmVyLCBkaXJlY3RpdmVQYXJlbnQsIDApKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBub3RoaW5nO1xuICAgICAgICBpZiAobmV3TGlzdGVuZXIgPT09IG5vQ2hhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2xkTGlzdGVuZXIgPSB0aGlzLl8kY29tbWl0dGVkVmFsdWU7XG4gICAgICAgIC8vIElmIHRoZSBuZXcgdmFsdWUgaXMgbm90aGluZyBvciBhbnkgb3B0aW9ucyBjaGFuZ2Ugd2UgaGF2ZSB0byByZW1vdmUgdGhlXG4gICAgICAgIC8vIHBhcnQgYXMgYSBsaXN0ZW5lci5cbiAgICAgICAgY29uc3Qgc2hvdWxkUmVtb3ZlTGlzdGVuZXIgPSAobmV3TGlzdGVuZXIgPT09IG5vdGhpbmcgJiYgb2xkTGlzdGVuZXIgIT09IG5vdGhpbmcpIHx8XG4gICAgICAgICAgICBuZXdMaXN0ZW5lci5jYXB0dXJlICE9PVxuICAgICAgICAgICAgICAgIG9sZExpc3RlbmVyLmNhcHR1cmUgfHxcbiAgICAgICAgICAgIG5ld0xpc3RlbmVyLm9uY2UgIT09XG4gICAgICAgICAgICAgICAgb2xkTGlzdGVuZXIub25jZSB8fFxuICAgICAgICAgICAgbmV3TGlzdGVuZXIucGFzc2l2ZSAhPT1cbiAgICAgICAgICAgICAgICBvbGRMaXN0ZW5lci5wYXNzaXZlO1xuICAgICAgICAvLyBJZiB0aGUgbmV3IHZhbHVlIGlzIG5vdCBub3RoaW5nIGFuZCB3ZSByZW1vdmVkIHRoZSBsaXN0ZW5lciwgd2UgaGF2ZVxuICAgICAgICAvLyB0byBhZGQgdGhlIHBhcnQgYXMgYSBsaXN0ZW5lci5cbiAgICAgICAgY29uc3Qgc2hvdWxkQWRkTGlzdGVuZXIgPSBuZXdMaXN0ZW5lciAhPT0gbm90aGluZyAmJlxuICAgICAgICAgICAgKG9sZExpc3RlbmVyID09PSBub3RoaW5nIHx8IHNob3VsZFJlbW92ZUxpc3RlbmVyKTtcbiAgICAgICAgZGVidWdMb2dFdmVudCA9PT0gbnVsbCB8fCBkZWJ1Z0xvZ0V2ZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZWJ1Z0xvZ0V2ZW50KHtcbiAgICAgICAgICAgIGtpbmQ6ICdjb21taXQgZXZlbnQgbGlzdGVuZXInLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IG5ld0xpc3RlbmVyLFxuICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXI6IHNob3VsZFJlbW92ZUxpc3RlbmVyLFxuICAgICAgICAgICAgYWRkTGlzdGVuZXI6IHNob3VsZEFkZExpc3RlbmVyLFxuICAgICAgICAgICAgb2xkTGlzdGVuZXIsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSwgdGhpcywgb2xkTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRBZGRMaXN0ZW5lcikge1xuICAgICAgICAgICAgLy8gQmV3YXJlOiBJRTExIGFuZCBDaHJvbWUgNDEgZG9uJ3QgbGlrZSB1c2luZyB0aGUgbGlzdGVuZXIgYXMgdGhlXG4gICAgICAgICAgICAvLyBvcHRpb25zIG9iamVjdC4gRmlndXJlIG91dCBob3cgdG8gZGVhbCB3LyB0aGlzIGluIElFMTEgLSBtYXliZVxuICAgICAgICAgICAgLy8gcGF0Y2ggYWRkRXZlbnRMaXN0ZW5lcj9cbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSwgdGhpcywgbmV3TGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9IG5ld0xpc3RlbmVyO1xuICAgIH1cbiAgICBoYW5kbGVFdmVudChldmVudCkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuXyRjb21taXR0ZWRWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fJGNvbW1pdHRlZFZhbHVlLmNhbGwoKF9iID0gKF9hID0gdGhpcy5vcHRpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaG9zdCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5lbGVtZW50LCBldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl8kY29tbWl0dGVkVmFsdWUuaGFuZGxlRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuY2xhc3MgRWxlbWVudFBhcnQge1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIHBhcmVudCwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICB0aGlzLnR5cGUgPSBFTEVNRU5UX1BBUlQ7XG4gICAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgICAgdGhpcy5fJGRpc2Nvbm5lY3RhYmxlQ2hpbGRyZW4gPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuXyRwYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuICAgIC8vIFNlZSBjb21tZW50IGluIERpc2Nvbm5lY3RhYmxlIGludGVyZmFjZSBmb3Igd2h5IHRoaXMgaXMgYSBnZXR0ZXJcbiAgICBnZXQgXyRpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuXyRwYXJlbnQuXyRpc0Nvbm5lY3RlZDtcbiAgICB9XG4gICAgXyRzZXRWYWx1ZSh2YWx1ZSkge1xuICAgICAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICAgICAga2luZDogJ2NvbW1pdCB0byBlbGVtZW50IGJpbmRpbmcnLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICByZXNvbHZlRGlyZWN0aXZlKHRoaXMsIHZhbHVlKTtcbiAgICB9XG59XG4vKipcbiAqIEVORCBVU0VSUyBTSE9VTEQgTk9UIFJFTFkgT04gVEhJUyBPQkpFQ1QuXG4gKlxuICogUHJpdmF0ZSBleHBvcnRzIGZvciB1c2UgYnkgb3RoZXIgTGl0IHBhY2thZ2VzLCBub3QgaW50ZW5kZWQgZm9yIHVzZSBieVxuICogZXh0ZXJuYWwgdXNlcnMuXG4gKlxuICogV2UgY3VycmVudGx5IGRvIG5vdCBtYWtlIGEgbWFuZ2xlZCByb2xsdXAgYnVpbGQgb2YgdGhlIGxpdC1zc3IgY29kZS4gSW4gb3JkZXJcbiAqIHRvIGtlZXAgYSBudW1iZXIgb2YgKG90aGVyd2lzZSBwcml2YXRlKSB0b3AtbGV2ZWwgZXhwb3J0cyAgbWFuZ2xlZCBpbiB0aGVcbiAqIGNsaWVudCBzaWRlIGNvZGUsIHdlIGV4cG9ydCBhIF8kTEggb2JqZWN0IGNvbnRhaW5pbmcgdGhvc2UgbWVtYmVycyAob3JcbiAqIGhlbHBlciBtZXRob2RzIGZvciBhY2Nlc3NpbmcgcHJpdmF0ZSBmaWVsZHMgb2YgdGhvc2UgbWVtYmVycyksIGFuZCB0aGVuXG4gKiByZS1leHBvcnQgdGhlbSBmb3IgdXNlIGluIGxpdC1zc3IuIFRoaXMga2VlcHMgbGl0LXNzciBhZ25vc3RpYyB0byB3aGV0aGVyIHRoZVxuICogY2xpZW50LXNpZGUgY29kZSBpcyBiZWluZyB1c2VkIGluIGBkZXZgIG1vZGUgb3IgYHByb2RgIG1vZGUuXG4gKlxuICogVGhpcyBoYXMgYSB1bmlxdWUgbmFtZSwgdG8gZGlzYW1iaWd1YXRlIGl0IGZyb20gcHJpdmF0ZSBleHBvcnRzIGluXG4gKiBsaXQtZWxlbWVudCwgd2hpY2ggcmUtZXhwb3J0cyBhbGwgb2YgbGl0LWh0bWwuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IF8kTEggPSB7XG4gICAgLy8gVXNlZCBpbiBsaXQtc3NyXG4gICAgX2JvdW5kQXR0cmlidXRlU3VmZml4OiBib3VuZEF0dHJpYnV0ZVN1ZmZpeCxcbiAgICBfbWFya2VyOiBtYXJrZXIsXG4gICAgX21hcmtlck1hdGNoOiBtYXJrZXJNYXRjaCxcbiAgICBfSFRNTF9SRVNVTFQ6IEhUTUxfUkVTVUxULFxuICAgIF9nZXRUZW1wbGF0ZUh0bWw6IGdldFRlbXBsYXRlSHRtbCxcbiAgICAvLyBVc2VkIGluIHRlc3RzIGFuZCBwcml2YXRlLXNzci1zdXBwb3J0XG4gICAgX1RlbXBsYXRlSW5zdGFuY2U6IFRlbXBsYXRlSW5zdGFuY2UsXG4gICAgX2lzSXRlcmFibGU6IGlzSXRlcmFibGUsXG4gICAgX3Jlc29sdmVEaXJlY3RpdmU6IHJlc29sdmVEaXJlY3RpdmUsXG4gICAgX0NoaWxkUGFydDogQ2hpbGRQYXJ0LFxuICAgIF9BdHRyaWJ1dGVQYXJ0OiBBdHRyaWJ1dGVQYXJ0LFxuICAgIF9Cb29sZWFuQXR0cmlidXRlUGFydDogQm9vbGVhbkF0dHJpYnV0ZVBhcnQsXG4gICAgX0V2ZW50UGFydDogRXZlbnRQYXJ0LFxuICAgIF9Qcm9wZXJ0eVBhcnQ6IFByb3BlcnR5UGFydCxcbiAgICBfRWxlbWVudFBhcnQ6IEVsZW1lbnRQYXJ0LFxufTtcbi8vIEFwcGx5IHBvbHlmaWxscyBpZiBhdmFpbGFibGVcbmNvbnN0IHBvbHlmaWxsU3VwcG9ydCA9IERFVl9NT0RFXG4gICAgPyBnbG9iYWwubGl0SHRtbFBvbHlmaWxsU3VwcG9ydERldk1vZGVcbiAgICA6IGdsb2JhbC5saXRIdG1sUG9seWZpbGxTdXBwb3J0O1xucG9seWZpbGxTdXBwb3J0ID09PSBudWxsIHx8IHBvbHlmaWxsU3VwcG9ydCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcG9seWZpbGxTdXBwb3J0KFRlbXBsYXRlLCBDaGlsZFBhcnQpO1xuLy8gSU1QT1JUQU5UOiBkbyBub3QgY2hhbmdlIHRoZSBwcm9wZXJ0eSBuYW1lIG9yIHRoZSBhc3NpZ25tZW50IGV4cHJlc3Npb24uXG4vLyBUaGlzIGxpbmUgd2lsbCBiZSB1c2VkIGluIHJlZ2V4ZXMgdG8gc2VhcmNoIGZvciBsaXQtaHRtbCB1c2FnZS5cbigoX2QgPSBnbG9iYWwubGl0SHRtbFZlcnNpb25zKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAoZ2xvYmFsLmxpdEh0bWxWZXJzaW9ucyA9IFtdKSkucHVzaCgnMi44LjAnKTtcbmlmIChERVZfTU9ERSAmJiBnbG9iYWwubGl0SHRtbFZlcnNpb25zLmxlbmd0aCA+IDEpIHtcbiAgICBpc3N1ZVdhcm5pbmcoJ211bHRpcGxlLXZlcnNpb25zJywgYE11bHRpcGxlIHZlcnNpb25zIG9mIExpdCBsb2FkZWQuIGAgK1xuICAgICAgICBgTG9hZGluZyBtdWx0aXBsZSB2ZXJzaW9ucyBpcyBub3QgcmVjb21tZW5kZWQuYCk7XG59XG4vKipcbiAqIFJlbmRlcnMgYSB2YWx1ZSwgdXN1YWxseSBhIGxpdC1odG1sIFRlbXBsYXRlUmVzdWx0LCB0byB0aGUgY29udGFpbmVyLlxuICpcbiAqIFRoaXMgZXhhbXBsZSByZW5kZXJzIHRoZSB0ZXh0IFwiSGVsbG8sIFpvZSFcIiBpbnNpZGUgYSBwYXJhZ3JhcGggdGFnLCBhcHBlbmRpbmdcbiAqIGl0IHRvIHRoZSBjb250YWluZXIgYGRvY3VtZW50LmJvZHlgLlxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQge2h0bWwsIHJlbmRlcn0gZnJvbSAnbGl0JztcbiAqXG4gKiBjb25zdCBuYW1lID0gXCJab2VcIjtcbiAqIHJlbmRlcihodG1sYDxwPkhlbGxvLCAke25hbWV9ITwvcD5gLCBkb2N1bWVudC5ib2R5KTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB2YWx1ZSBBbnkgW3JlbmRlcmFibGVcbiAqICAgdmFsdWVdKGh0dHBzOi8vbGl0LmRldi9kb2NzL3RlbXBsYXRlcy9leHByZXNzaW9ucy8jY2hpbGQtZXhwcmVzc2lvbnMpLFxuICogICB0eXBpY2FsbHkgYSB7QGxpbmtjb2RlIFRlbXBsYXRlUmVzdWx0fSBjcmVhdGVkIGJ5IGV2YWx1YXRpbmcgYSB0ZW1wbGF0ZSB0YWdcbiAqICAgbGlrZSB7QGxpbmtjb2RlIGh0bWx9IG9yIHtAbGlua2NvZGUgc3ZnfS5cbiAqIEBwYXJhbSBjb250YWluZXIgQSBET00gY29udGFpbmVyIHRvIHJlbmRlciB0by4gVGhlIGZpcnN0IHJlbmRlciB3aWxsIGFwcGVuZFxuICogICB0aGUgcmVuZGVyZWQgdmFsdWUgdG8gdGhlIGNvbnRhaW5lciwgYW5kIHN1YnNlcXVlbnQgcmVuZGVycyB3aWxsXG4gKiAgIGVmZmljaWVudGx5IHVwZGF0ZSB0aGUgcmVuZGVyZWQgdmFsdWUgaWYgdGhlIHNhbWUgcmVzdWx0IHR5cGUgd2FzXG4gKiAgIHByZXZpb3VzbHkgcmVuZGVyZWQgdGhlcmUuXG4gKiBAcGFyYW0gb3B0aW9ucyBTZWUge0BsaW5rY29kZSBSZW5kZXJPcHRpb25zfSBmb3Igb3B0aW9ucyBkb2N1bWVudGF0aW9uLlxuICogQHNlZVxuICoge0BsaW5rIGh0dHBzOi8vbGl0LmRldi9kb2NzL2xpYnJhcmllcy9zdGFuZGFsb25lLXRlbXBsYXRlcy8jcmVuZGVyaW5nLWxpdC1odG1sLXRlbXBsYXRlc3wgUmVuZGVyaW5nIExpdCBIVE1MIFRlbXBsYXRlc31cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbmRlciA9ICh2YWx1ZSwgY29udGFpbmVyLCBvcHRpb25zKSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBpZiAoREVWX01PREUgJiYgY29udGFpbmVyID09IG51bGwpIHtcbiAgICAgICAgLy8gR2l2ZSBhIGNsZWFyZXIgZXJyb3IgbWVzc2FnZSB0aGFuXG4gICAgICAgIC8vICAgICBVbmNhdWdodCBUeXBlRXJyb3I6IENhbm5vdCByZWFkIHByb3BlcnRpZXMgb2YgbnVsbCAocmVhZGluZ1xuICAgICAgICAvLyAgICAgJ18kbGl0UGFydCQnKVxuICAgICAgICAvLyB3aGljaCByZWFkcyBsaWtlIGFuIGludGVybmFsIExpdCBlcnJvci5cbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIGNvbnRhaW5lciB0byByZW5kZXIgaW50byBtYXkgbm90IGJlICR7Y29udGFpbmVyfWApO1xuICAgIH1cbiAgICBjb25zdCByZW5kZXJJZCA9IERFVl9NT0RFID8gZGVidWdMb2dSZW5kZXJJZCsrIDogMDtcbiAgICBjb25zdCBwYXJ0T3duZXJOb2RlID0gKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLnJlbmRlckJlZm9yZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29udGFpbmVyO1xuICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBsZXQgcGFydCA9IHBhcnRPd25lck5vZGVbJ18kbGl0UGFydCQnXTtcbiAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICBraW5kOiAnYmVnaW4gcmVuZGVyJyxcbiAgICAgICAgaWQ6IHJlbmRlcklkLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgY29udGFpbmVyLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBwYXJ0LFxuICAgIH0pO1xuICAgIGlmIChwYXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgZW5kTm9kZSA9IChfYiA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5yZW5kZXJCZWZvcmUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IG51bGw7XG4gICAgICAgIC8vIFRoaXMgcHJvcGVydHkgbmVlZHMgdG8gcmVtYWluIHVubWluaWZpZWQuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHBhcnRPd25lck5vZGVbJ18kbGl0UGFydCQnXSA9IHBhcnQgPSBuZXcgQ2hpbGRQYXJ0KGNvbnRhaW5lci5pbnNlcnRCZWZvcmUoY3JlYXRlTWFya2VyKCksIGVuZE5vZGUpLCBlbmROb2RlLCB1bmRlZmluZWQsIG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IHt9KTtcbiAgICB9XG4gICAgcGFydC5fJHNldFZhbHVlKHZhbHVlKTtcbiAgICBkZWJ1Z0xvZ0V2ZW50ID09PSBudWxsIHx8IGRlYnVnTG9nRXZlbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRlYnVnTG9nRXZlbnQoe1xuICAgICAgICBraW5kOiAnZW5kIHJlbmRlcicsXG4gICAgICAgIGlkOiByZW5kZXJJZCxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgcGFydCxcbiAgICB9KTtcbiAgICByZXR1cm4gcGFydDtcbn07XG5pZiAoRU5BQkxFX0VYVFJBX1NFQ1VSSVRZX0hPT0tTKSB7XG4gICAgcmVuZGVyLnNldFNhbml0aXplciA9IHNldFNhbml0aXplcjtcbiAgICByZW5kZXIuY3JlYXRlU2FuaXRpemVyID0gY3JlYXRlU2FuaXRpemVyO1xuICAgIGlmIChERVZfTU9ERSkge1xuICAgICAgICByZW5kZXIuX3Rlc3RPbmx5Q2xlYXJTYW5pdGl6ZXJGYWN0b3J5RG9Ob3RDYWxsT3JFbHNlID1cbiAgICAgICAgICAgIF90ZXN0T25seUNsZWFyU2FuaXRpemVyRmFjdG9yeURvTm90Q2FsbE9yRWxzZTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saXQtaHRtbC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lit-html/development/lit-html.js\n")); - -/***/ }), - -/***/ "./node_modules/lit/decorators.js": -/*!****************************************!*\ - !*** ./node_modules/lit/decorators.js ***! - \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lit_reactive_element_decorators_custom_element_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lit/reactive-element/decorators/custom-element.js */ \"./node_modules/@lit/reactive-element/development/decorators/custom-element.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_custom_element_js__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_custom_element_js__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_property_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lit/reactive-element/decorators/property.js */ \"./node_modules/@lit/reactive-element/development/decorators/property.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_property_js__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_property_js__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_state_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lit/reactive-element/decorators/state.js */ \"./node_modules/@lit/reactive-element/development/decorators/state.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_state_js__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_state_js__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_event_options_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lit/reactive-element/decorators/event-options.js */ \"./node_modules/@lit/reactive-element/development/decorators/event-options.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_event_options_js__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_event_options_js__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_query_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lit/reactive-element/decorators/query.js */ \"./node_modules/@lit/reactive-element/development/decorators/query.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_query_js__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_query_js__WEBPACK_IMPORTED_MODULE_4__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_query_all_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lit/reactive-element/decorators/query-all.js */ \"./node_modules/@lit/reactive-element/development/decorators/query-all.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_query_all_js__WEBPACK_IMPORTED_MODULE_5__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_query_all_js__WEBPACK_IMPORTED_MODULE_5__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_query_async_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lit/reactive-element/decorators/query-async.js */ \"./node_modules/@lit/reactive-element/development/decorators/query-async.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_query_async_js__WEBPACK_IMPORTED_MODULE_6__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_query_async_js__WEBPACK_IMPORTED_MODULE_6__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_query_assigned_elements_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lit/reactive-element/decorators/query-assigned-elements.js */ \"./node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_query_assigned_elements_js__WEBPACK_IMPORTED_MODULE_7__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_query_assigned_elements_js__WEBPACK_IMPORTED_MODULE_7__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _lit_reactive_element_decorators_query_assigned_nodes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @lit/reactive-element/decorators/query-assigned-nodes.js */ \"./node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lit_reactive_element_decorators_query_assigned_nodes_js__WEBPACK_IMPORTED_MODULE_8__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _lit_reactive_element_decorators_query_assigned_nodes_js__WEBPACK_IMPORTED_MODULE_8__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=decorators.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0L2RlY29yYXRvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUE4aUI7QUFDOWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9saXQvZGVjb3JhdG9ycy5qcz9hNmIzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9jdXN0b20tZWxlbWVudC5qc1wiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9wcm9wZXJ0eS5qc1wiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9zdGF0ZS5qc1wiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9ldmVudC1vcHRpb25zLmpzXCI7ZXhwb3J0KmZyb21cIkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LmpzXCI7ZXhwb3J0KmZyb21cIkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFsbC5qc1wiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3luYy5qc1wiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3NpZ25lZC1lbGVtZW50cy5qc1wiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3NpZ25lZC1ub2Rlcy5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVjb3JhdG9ycy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lit/decorators.js\n")); - -/***/ }), - -/***/ "./node_modules/lit/directives/class-map.js": -/*!**************************************************!*\ - !*** ./node_modules/lit/directives/class-map.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lit_html_directives_class_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lit-html/directives/class-map.js */ \"./node_modules/lit-html/development/directives/class-map.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in lit_html_directives_class_map_js__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return lit_html_directives_class_map_js__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=class-map.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThDO0FBQzlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9saXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAuanM/NDRkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQqZnJvbVwibGl0LWh0bWwvZGlyZWN0aXZlcy9jbGFzcy1tYXAuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNsYXNzLW1hcC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lit/directives/class-map.js\n")); - -/***/ }), - -/***/ "./node_modules/lit/directives/if-defined.js": -/*!***************************************************!*\ - !*** ./node_modules/lit/directives/if-defined.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lit_html_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lit-html/directives/if-defined.js */ \"./node_modules/lit-html/development/directives/if-defined.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in lit_html_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return lit_html_directives_if_defined_js__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=if-defined.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUErQztBQUMvQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZC5qcz9kOGY1Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCpmcm9tXCJsaXQtaHRtbC9kaXJlY3RpdmVzL2lmLWRlZmluZWQuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlmLWRlZmluZWQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lit/directives/if-defined.js\n")); - -/***/ }), - -/***/ "./node_modules/lit/index.js": -/*!***********************************!*\ - !*** ./node_modules/lit/index.js ***! - \***********************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lit/reactive-element */ \"./node_modules/@lit/reactive-element/development/reactive-element.js\");\n/* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lit-html */ \"./node_modules/lit-html/development/lit-html.js\");\n/* harmony import */ var lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lit-element/lit-element.js */ \"./node_modules/lit-element/development/lit-element.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var lit_html_is_server_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lit-html/is-server.js */ \"./node_modules/lit-html/development/is-server.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in lit_html_is_server_js__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return lit_html_is_server_js__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGl0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQTBIO0FBQzFIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9saXQvaW5kZXguanM/MzFmNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnRcIkBsaXQvcmVhY3RpdmUtZWxlbWVudFwiO2ltcG9ydFwibGl0LWh0bWxcIjtleHBvcnQqZnJvbVwibGl0LWVsZW1lbnQvbGl0LWVsZW1lbnQuanNcIjtleHBvcnQqZnJvbVwibGl0LWh0bWwvaXMtc2VydmVyLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lit/index.js\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/node_modules_walletconnect_modal_dist_index_js.js b/.next/static/chunks/node_modules_walletconnect_modal_dist_index_js.js deleted file mode 100644 index 3277c45..0000000 --- a/.next/static/chunks/node_modules_walletconnect_modal_dist_index_js.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_walletconnect_modal_dist_index_js"],{ - -/***/ "./node_modules/proxy-compare/dist/index.modern.js": -/*!*********************************************************!*\ - !*** ./node_modules/proxy-compare/dist/index.modern.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ affectedToPathList: function() { return /* binding */ w; },\n/* harmony export */ createProxy: function() { return /* binding */ a; },\n/* harmony export */ getUntracked: function() { return /* binding */ y; },\n/* harmony export */ isChanged: function() { return /* binding */ p; },\n/* harmony export */ markToTrack: function() { return /* binding */ h; },\n/* harmony export */ replaceNewProxy: function() { return /* binding */ O; },\n/* harmony export */ trackMemo: function() { return /* binding */ g; }\n/* harmony export */ });\nconst e=Symbol(),t=Symbol(),r=\"a\",n=\"w\";let o=(e,t)=>new Proxy(e,t);const s=Object.getPrototypeOf,c=new WeakMap,l=e=>e&&(c.has(e)?c.get(e):s(e)===Object.prototype||s(e)===Array.prototype),f=e=>\"object\"==typeof e&&null!==e,i=e=>{if(Array.isArray(e))return Array.from(e);const t=Object.getOwnPropertyDescriptors(e);return Object.values(t).forEach(e=>{e.configurable=!0}),Object.create(s(e),t)},u=e=>e[t]||e,a=(s,c,f,p)=>{if(!l(s))return s;let g=p&&p.get(s);if(!g){const e=u(s);g=(e=>Object.values(Object.getOwnPropertyDescriptors(e)).some(e=>!e.configurable&&!e.writable))(e)?[e,i(e)]:[e],null==p||p.set(s,g)}const[y,h]=g;let w=f&&f.get(y);return w&&w[1].f===!!h||(w=((o,s)=>{const c={f:s};let l=!1;const f=(e,t)=>{if(!l){let s=c[r].get(o);if(s||(s={},c[r].set(o,s)),e===n)s[n]=!0;else{let r=s[e];r||(r=new Set,s[e]=r),r.add(t)}}},i={get:(e,n)=>n===t?o:(f(\"k\",n),a(Reflect.get(e,n),c[r],c.c,c.t)),has:(t,n)=>n===e?(l=!0,c[r].delete(o),!0):(f(\"h\",n),Reflect.has(t,n)),getOwnPropertyDescriptor:(e,t)=>(f(\"o\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(f(n),Reflect.ownKeys(e))};return s&&(i.set=i.deleteProperty=()=>!1),[i,c]})(y,!!h),w[1].p=o(h||y,w[0]),f&&f.set(y,w)),w[1][r]=c,w[1].c=f,w[1].t=p,w[1].p},p=(e,t,r,o)=>{if(Object.is(e,t))return!1;if(!f(e)||!f(t))return!0;const s=r.get(u(e));if(!s)return!0;if(o){const r=o.get(e);if(r&&r.n===t)return r.g;o.set(e,{n:t,g:!1})}let c=null;try{for(const r of s.h||[])if(c=Reflect.has(e,r)!==Reflect.has(t,r),c)return c;if(!0===s[n]){if(c=((e,t)=>{const r=Reflect.ownKeys(e),n=Reflect.ownKeys(t);return r.length!==n.length||r.some((e,t)=>e!==n[t])})(e,t),c)return c}else for(const r of s.o||[])if(c=!!Reflect.getOwnPropertyDescriptor(e,r)!=!!Reflect.getOwnPropertyDescriptor(t,r),c)return c;for(const n of s.k||[])if(c=p(e[n],t[n],r,o),c)return c;return null===c&&(c=!0),c}finally{o&&o.set(e,{n:t,g:c})}},g=t=>!!l(t)&&e in t,y=e=>l(e)&&e[t]||null,h=(e,t=!0)=>{c.set(e,t)},w=(e,t,r)=>{const o=[],s=new WeakSet,c=(e,l)=>{if(s.has(e))return;f(e)&&s.add(e);const i=f(e)&&t.get(u(e));if(i){var a,p;if(null==(a=i.h)||a.forEach(e=>{const t=`:has(${String(e)})`;o.push(l?[...l,t]:[t])}),!0===i[n]){const e=\":ownKeys\";o.push(l?[...l,e]:[e])}else{var g;null==(g=i.o)||g.forEach(e=>{const t=`:hasOwn(${String(e)})`;o.push(l?[...l,t]:[t])})}null==(p=i.k)||p.forEach(t=>{r&&!(\"value\"in(Object.getOwnPropertyDescriptor(e,t)||{}))||c(e[t],l?[...l,t]:[t])})}else l&&o.push(l)};return c(e),o},O=e=>{o=e};\n//# sourceMappingURL=index.modern.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJveHktY29tcGFyZS9kaXN0L2luZGV4Lm1vZGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsd0NBQXdDLDRCQUE0QixnS0FBZ0sseUNBQXlDLDRDQUE0QyxvQ0FBb0Msa0JBQWtCLHdCQUF3Qiw0QkFBNEIsa0JBQWtCLGtCQUFrQixPQUFPLGFBQWEsb0lBQW9JLGFBQWEsa0JBQWtCLG9DQUFvQyxTQUFTLEtBQUssU0FBUyxnQkFBZ0IsT0FBTyxrQkFBa0IsV0FBVyw4QkFBOEIsS0FBSyxXQUFXLGlDQUFpQyxJQUFJLDRQQUE0UCxnREFBZ0QsK0VBQStFLGVBQWUsMkJBQTJCLHlCQUF5QixvQkFBb0IsZUFBZSxNQUFNLGlCQUFpQix5QkFBeUIsU0FBUyxTQUFTLEVBQUUsV0FBVyxJQUFJLDJFQUEyRSxjQUFjLGNBQWMsZ0RBQWdELG9EQUFvRCxrQkFBa0IsNkhBQTZILHdEQUF3RCwwQkFBMEIsUUFBUSxZQUFZLFFBQVEsR0FBRyx3REFBd0QsV0FBVyxhQUFhLG1DQUFtQyxtQkFBbUIsZUFBZSwwQkFBMEIsTUFBTSxRQUFRLGdDQUFnQyxnQkFBZ0IsVUFBVSxHQUFHLHVCQUF1QixhQUFhLG1CQUFtQix1QkFBdUIsS0FBSyxNQUFNLDZCQUE2QixtQkFBbUIsVUFBVSxHQUFHLHVCQUF1QixFQUFFLDZCQUE2Qix1REFBdUQsMkJBQTJCLEVBQUUsbUJBQW1CLGNBQWMsT0FBTyxLQUE0STtBQUM3Z0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3Byb3h5LWNvbXBhcmUvZGlzdC9pbmRleC5tb2Rlcm4uanM/YTdjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlPVN5bWJvbCgpLHQ9U3ltYm9sKCkscj1cImFcIixuPVwid1wiO2xldCBvPShlLHQpPT5uZXcgUHJveHkoZSx0KTtjb25zdCBzPU9iamVjdC5nZXRQcm90b3R5cGVPZixjPW5ldyBXZWFrTWFwLGw9ZT0+ZSYmKGMuaGFzKGUpP2MuZ2V0KGUpOnMoZSk9PT1PYmplY3QucHJvdG90eXBlfHxzKGUpPT09QXJyYXkucHJvdG90eXBlKSxmPWU9Plwib2JqZWN0XCI9PXR5cGVvZiBlJiZudWxsIT09ZSxpPWU9PntpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBBcnJheS5mcm9tKGUpO2NvbnN0IHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSk7cmV0dXJuIE9iamVjdC52YWx1ZXModCkuZm9yRWFjaChlPT57ZS5jb25maWd1cmFibGU9ITB9KSxPYmplY3QuY3JlYXRlKHMoZSksdCl9LHU9ZT0+ZVt0XXx8ZSxhPShzLGMsZixwKT0+e2lmKCFsKHMpKXJldHVybiBzO2xldCBnPXAmJnAuZ2V0KHMpO2lmKCFnKXtjb25zdCBlPXUocyk7Zz0oZT0+T2JqZWN0LnZhbHVlcyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhlKSkuc29tZShlPT4hZS5jb25maWd1cmFibGUmJiFlLndyaXRhYmxlKSkoZSk/W2UsaShlKV06W2VdLG51bGw9PXB8fHAuc2V0KHMsZyl9Y29uc3RbeSxoXT1nO2xldCB3PWYmJmYuZ2V0KHkpO3JldHVybiB3JiZ3WzFdLmY9PT0hIWh8fCh3PSgobyxzKT0+e2NvbnN0IGM9e2Y6c307bGV0IGw9ITE7Y29uc3QgZj0oZSx0KT0+e2lmKCFsKXtsZXQgcz1jW3JdLmdldChvKTtpZihzfHwocz17fSxjW3JdLnNldChvLHMpKSxlPT09bilzW25dPSEwO2Vsc2V7bGV0IHI9c1tlXTtyfHwocj1uZXcgU2V0LHNbZV09ciksci5hZGQodCl9fX0saT17Z2V0OihlLG4pPT5uPT09dD9vOihmKFwia1wiLG4pLGEoUmVmbGVjdC5nZXQoZSxuKSxjW3JdLGMuYyxjLnQpKSxoYXM6KHQsbik9Pm49PT1lPyhsPSEwLGNbcl0uZGVsZXRlKG8pLCEwKTooZihcImhcIixuKSxSZWZsZWN0Lmhhcyh0LG4pKSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6KGUsdCk9PihmKFwib1wiLHQpLFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkpLG93bktleXM6ZT0+KGYobiksUmVmbGVjdC5vd25LZXlzKGUpKX07cmV0dXJuIHMmJihpLnNldD1pLmRlbGV0ZVByb3BlcnR5PSgpPT4hMSksW2ksY119KSh5LCEhaCksd1sxXS5wPW8oaHx8eSx3WzBdKSxmJiZmLnNldCh5LHcpKSx3WzFdW3JdPWMsd1sxXS5jPWYsd1sxXS50PXAsd1sxXS5wfSxwPShlLHQscixvKT0+e2lmKE9iamVjdC5pcyhlLHQpKXJldHVybiExO2lmKCFmKGUpfHwhZih0KSlyZXR1cm4hMDtjb25zdCBzPXIuZ2V0KHUoZSkpO2lmKCFzKXJldHVybiEwO2lmKG8pe2NvbnN0IHI9by5nZXQoZSk7aWYociYmci5uPT09dClyZXR1cm4gci5nO28uc2V0KGUse246dCxnOiExfSl9bGV0IGM9bnVsbDt0cnl7Zm9yKGNvbnN0IHIgb2Ygcy5ofHxbXSlpZihjPVJlZmxlY3QuaGFzKGUscikhPT1SZWZsZWN0Lmhhcyh0LHIpLGMpcmV0dXJuIGM7aWYoITA9PT1zW25dKXtpZihjPSgoZSx0KT0+e2NvbnN0IHI9UmVmbGVjdC5vd25LZXlzKGUpLG49UmVmbGVjdC5vd25LZXlzKHQpO3JldHVybiByLmxlbmd0aCE9PW4ubGVuZ3RofHxyLnNvbWUoKGUsdCk9PmUhPT1uW3RdKX0pKGUsdCksYylyZXR1cm4gY31lbHNlIGZvcihjb25zdCByIG9mIHMub3x8W10paWYoYz0hIVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUscikhPSEhUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxyKSxjKXJldHVybiBjO2Zvcihjb25zdCBuIG9mIHMua3x8W10paWYoYz1wKGVbbl0sdFtuXSxyLG8pLGMpcmV0dXJuIGM7cmV0dXJuIG51bGw9PT1jJiYoYz0hMCksY31maW5hbGx5e28mJm8uc2V0KGUse246dCxnOmN9KX19LGc9dD0+ISFsKHQpJiZlIGluIHQseT1lPT5sKGUpJiZlW3RdfHxudWxsLGg9KGUsdD0hMCk9PntjLnNldChlLHQpfSx3PShlLHQscik9Pntjb25zdCBvPVtdLHM9bmV3IFdlYWtTZXQsYz0oZSxsKT0+e2lmKHMuaGFzKGUpKXJldHVybjtmKGUpJiZzLmFkZChlKTtjb25zdCBpPWYoZSkmJnQuZ2V0KHUoZSkpO2lmKGkpe3ZhciBhLHA7aWYobnVsbD09KGE9aS5oKXx8YS5mb3JFYWNoKGU9Pntjb25zdCB0PWA6aGFzKCR7U3RyaW5nKGUpfSlgO28ucHVzaChsP1suLi5sLHRdOlt0XSl9KSwhMD09PWlbbl0pe2NvbnN0IGU9XCI6b3duS2V5c1wiO28ucHVzaChsP1suLi5sLGVdOltlXSl9ZWxzZXt2YXIgZztudWxsPT0oZz1pLm8pfHxnLmZvckVhY2goZT0+e2NvbnN0IHQ9YDpoYXNPd24oJHtTdHJpbmcoZSl9KWA7by5wdXNoKGw/Wy4uLmwsdF06W3RdKX0pfW51bGw9PShwPWkuayl8fHAuZm9yRWFjaCh0PT57ciYmIShcInZhbHVlXCJpbihPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCl8fHt9KSl8fGMoZVt0XSxsP1suLi5sLHRdOlt0XSl9KX1lbHNlIGwmJm8ucHVzaChsKX07cmV0dXJuIGMoZSksb30sTz1lPT57bz1lfTtleHBvcnR7dyBhcyBhZmZlY3RlZFRvUGF0aExpc3QsYSBhcyBjcmVhdGVQcm94eSx5IGFzIGdldFVudHJhY2tlZCxwIGFzIGlzQ2hhbmdlZCxoIGFzIG1hcmtUb1RyYWNrLE8gYXMgcmVwbGFjZU5ld1Byb3h5LGcgYXMgdHJhY2tNZW1vfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1vZGVybi5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/proxy-compare/dist/index.modern.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/modal-core/dist/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/@walletconnect/modal-core/dist/index.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigCtrl: function() { return /* binding */ y; },\n/* harmony export */ CoreUtil: function() { return /* binding */ a; },\n/* harmony export */ EventsCtrl: function() { return /* binding */ R; },\n/* harmony export */ ExplorerCtrl: function() { return /* binding */ te; },\n/* harmony export */ ModalCtrl: function() { return /* binding */ se; },\n/* harmony export */ OptionsCtrl: function() { return /* binding */ p; },\n/* harmony export */ RouterCtrl: function() { return /* binding */ T; },\n/* harmony export */ ThemeCtrl: function() { return /* binding */ ne; },\n/* harmony export */ ToastCtrl: function() { return /* binding */ oe; }\n/* harmony export */ });\n/* harmony import */ var valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! valtio/vanilla */ \"./node_modules/valtio/esm/vanilla.mjs\");\nconst o=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({history:[\"ConnectWallet\"],view:\"ConnectWallet\",data:void 0}),T={state:o,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(o,()=>e(o))},push(e,t){e!==o.view&&(o.view=e,t&&(o.data=t),o.history.push(e))},reset(e){o.view=e,o.history=[e]},replace(e){o.history.length>1&&(o.history[o.history.length-1]=e,o.view=e)},goBack(){if(o.history.length>1){o.history.pop();const[e]=o.history.slice(-1);o.view=e}},setData(e){o.data=e}},a={WALLETCONNECT_DEEPLINK_CHOICE:\"WALLETCONNECT_DEEPLINK_CHOICE\",WCM_VERSION:\"WCM_VERSION\",RECOMMENDED_WALLET_AMOUNT:9,isMobile(){return typeof window<\"u\"?Boolean(window.matchMedia(\"(pointer:coarse)\").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},isAndroid(){return a.isMobile()&&navigator.userAgent.toLowerCase().includes(\"android\")},isIos(){const e=navigator.userAgent.toLowerCase();return a.isMobile()&&(e.includes(\"iphone\")||e.includes(\"ipad\"))},isHttpUrl(e){return e.startsWith(\"http://\")||e.startsWith(\"https://\")},isArray(e){return Array.isArray(e)&&e.length>0},formatNativeUrl(e,t,s){if(a.isHttpUrl(e))return this.formatUniversalUrl(e,t,s);let n=e;n.includes(\"://\")||(n=e.replaceAll(\"/\",\"\").replaceAll(\":\",\"\"),n=`${n}://`),n.endsWith(\"/\")||(n=`${n}/`),this.setWalletConnectDeepLink(n,s);const i=encodeURIComponent(t);return`${n}wc?uri=${i}`},formatUniversalUrl(e,t,s){if(!a.isHttpUrl(e))return this.formatNativeUrl(e,t,s);let n=e;n.endsWith(\"/\")||(n=`${n}/`),this.setWalletConnectDeepLink(n,s);const i=encodeURIComponent(t);return`${n}wc?uri=${i}`},async wait(e){return new Promise(t=>{setTimeout(t,e)})},openHref(e,t){window.open(e,t,\"noreferrer noopener\")},setWalletConnectDeepLink(e,t){try{localStorage.setItem(a.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info(\"Unable to set WalletConnect deep link\")}},setWalletConnectAndroidDeepLink(e){try{const[t]=e.split(\"?\");localStorage.setItem(a.WALLETCONNECT_DEEPLINK_CHOICE,JSON.stringify({href:t,name:\"Android\"}))}catch{console.info(\"Unable to set WalletConnect android deep link\")}},removeWalletConnectDeepLink(){try{localStorage.removeItem(a.WALLETCONNECT_DEEPLINK_CHOICE)}catch{console.info(\"Unable to remove WalletConnect deep link\")}},setModalVersionInStorage(){try{typeof localStorage<\"u\"&&localStorage.setItem(a.WCM_VERSION,\"2.6.1\")}catch{console.info(\"Unable to set Web3Modal version in storage\")}},getWalletRouterData(){var e;const t=(e=T.state.data)==null?void 0:e.Wallet;if(!t)throw new Error('Missing \"Wallet\" view data');return t}},_=typeof location<\"u\"&&(location.hostname.includes(\"localhost\")||location.protocol.includes(\"https\")),r=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({enabled:_,userSessionId:\"\",events:[],connectedWalletId:void 0}),R={state:r,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(r.events,()=>e((0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.snapshot)(r.events[r.events.length-1])))},initialize(){r.enabled&&typeof(crypto==null?void 0:crypto.randomUUID)<\"u\"&&(r.userSessionId=crypto.randomUUID())},setConnectedWalletId(e){r.connectedWalletId=e},click(e){if(r.enabled){const t={type:\"CLICK\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}},track(e){if(r.enabled){const t={type:\"TRACK\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}},view(e){if(r.enabled){const t={type:\"VIEW\",name:e.name,userSessionId:r.userSessionId,timestamp:Date.now(),data:e};r.events.push(t)}}},c=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({chains:void 0,walletConnectUri:void 0,isAuth:!1,isCustomDesktop:!1,isCustomMobile:!1,isDataLoaded:!1,isUiLoaded:!1}),p={state:c,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(c,()=>e(c))},setChains(e){c.chains=e},setWalletConnectUri(e){c.walletConnectUri=e},setIsCustomDesktop(e){c.isCustomDesktop=e},setIsCustomMobile(e){c.isCustomMobile=e},setIsDataLoaded(e){c.isDataLoaded=e},setIsUiLoaded(e){c.isUiLoaded=e},setIsAuth(e){c.isAuth=e}},W=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({projectId:\"\",mobileWallets:void 0,desktopWallets:void 0,walletImages:void 0,chains:void 0,enableAuthMode:!1,enableExplorer:!0,explorerExcludedWalletIds:void 0,explorerRecommendedWalletIds:void 0,termsOfServiceUrl:void 0,privacyPolicyUrl:void 0}),y={state:W,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(W,()=>e(W))},setConfig(e){var t,s;R.initialize(),p.setChains(e.chains),p.setIsAuth(Boolean(e.enableAuthMode)),p.setIsCustomMobile(Boolean((t=e.mobileWallets)==null?void 0:t.length)),p.setIsCustomDesktop(Boolean((s=e.desktopWallets)==null?void 0:s.length)),a.setModalVersionInStorage(),Object.assign(W,e)}};var V=Object.defineProperty,D=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,M=(e,t,s)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,K=(e,t)=>{for(var s in t||(t={}))H.call(t,s)&&M(e,s,t[s]);if(D)for(var s of D(t))B.call(t,s)&&M(e,s,t[s]);return e};const L=\"https://explorer-api.walletconnect.com\",E=\"wcm\",O=\"js-2.6.1\";async function w(e,t){const s=K({sdkType:E,sdkVersion:O},t),n=new URL(e,L);return n.searchParams.append(\"projectId\",y.state.projectId),Object.entries(s).forEach(([i,l])=>{l&&n.searchParams.append(i,String(l))}),(await fetch(n)).json()}const m={async getDesktopListings(e){return w(\"/w3m/v1/getDesktopListings\",e)},async getMobileListings(e){return w(\"/w3m/v1/getMobileListings\",e)},async getInjectedListings(e){return w(\"/w3m/v1/getInjectedListings\",e)},async getAllListings(e){return w(\"/w3m/v1/getAllListings\",e)},getWalletImageUrl(e){return`${L}/w3m/v1/getWalletImage/${e}?projectId=${y.state.projectId}&sdkType=${E}&sdkVersion=${O}`},getAssetImageUrl(e){return`${L}/w3m/v1/getAssetImage/${e}?projectId=${y.state.projectId}&sdkType=${E}&sdkVersion=${O}`}};var z=Object.defineProperty,j=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,k=(e,t,s)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,F=(e,t)=>{for(var s in t||(t={}))J.call(t,s)&&k(e,s,t[s]);if(j)for(var s of j(t))q.call(t,s)&&k(e,s,t[s]);return e};const N=a.isMobile(),d=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({wallets:{listings:[],total:0,page:1},search:{listings:[],total:0,page:1},recomendedWallets:[]}),te={state:d,async getRecomendedWallets(){const{explorerRecommendedWalletIds:e,explorerExcludedWalletIds:t}=y.state;if(e===\"NONE\"||t===\"ALL\"&&!e)return d.recomendedWallets;if(a.isArray(e)){const s={recommendedIds:e.join(\",\")},{listings:n}=await m.getAllListings(s),i=Object.values(n);i.sort((l,v)=>{const b=e.indexOf(l.id),f=e.indexOf(v.id);return b-f}),d.recomendedWallets=i}else{const{chains:s,isAuth:n}=p.state,i=s?.join(\",\"),l=a.isArray(t),v={page:1,sdks:n?\"auth_v1\":void 0,entries:a.RECOMMENDED_WALLET_AMOUNT,chains:i,version:2,excludedIds:l?t.join(\",\"):void 0},{listings:b}=N?await m.getMobileListings(v):await m.getDesktopListings(v);d.recomendedWallets=Object.values(b)}return d.recomendedWallets},async getWallets(e){const t=F({},e),{explorerRecommendedWalletIds:s,explorerExcludedWalletIds:n}=y.state,{recomendedWallets:i}=d;if(n===\"ALL\")return d.wallets;i.length?t.excludedIds=i.map(x=>x.id).join(\",\"):a.isArray(s)&&(t.excludedIds=s.join(\",\")),a.isArray(n)&&(t.excludedIds=[t.excludedIds,n].filter(Boolean).join(\",\")),p.state.isAuth&&(t.sdks=\"auth_v1\");const{page:l,search:v}=e,{listings:b,total:f}=N?await m.getMobileListings(t):await m.getDesktopListings(t),A=Object.values(b),U=v?\"search\":\"wallets\";return d[U]={listings:[...d[U].listings,...A],total:f,page:l??1},{listings:A,total:f}},getWalletImageUrl(e){return m.getWalletImageUrl(e)},getAssetImageUrl(e){return m.getAssetImageUrl(e)},resetSearch(){d.search={listings:[],total:0,page:1}}},I=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({open:!1}),se={state:I,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(I,()=>e(I))},async open(e){return new Promise(t=>{const{isUiLoaded:s,isDataLoaded:n}=p.state;if(a.removeWalletConnectDeepLink(),p.setWalletConnectUri(e?.uri),p.setChains(e?.chains),T.reset(\"ConnectWallet\"),s&&n)I.open=!0,t();else{const i=setInterval(()=>{const l=p.state;l.isUiLoaded&&l.isDataLoaded&&(clearInterval(i),I.open=!0,t())},200)}})},close(){I.open=!1}};var G=Object.defineProperty,$=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,S=(e,t,s)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Y=(e,t)=>{for(var s in t||(t={}))Q.call(t,s)&&S(e,s,t[s]);if($)for(var s of $(t))X.call(t,s)&&S(e,s,t[s]);return e};function Z(){return typeof matchMedia<\"u\"&&matchMedia(\"(prefers-color-scheme: dark)\").matches}const C=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({themeMode:Z()?\"dark\":\"light\"}),ne={state:C,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(C,()=>e(C))},setThemeConfig(e){const{themeMode:t,themeVariables:s}=e;t&&(C.themeMode=t),s&&(C.themeVariables=Y({},s))}},g=(0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.proxy)({open:!1,message:\"\",variant:\"success\"}),oe={state:g,subscribe(e){return (0,valtio_vanilla__WEBPACK_IMPORTED_MODULE_0__.subscribe)(g,()=>e(g))},openToast(e,t){g.open=!0,g.message=e,g.variant=t},closeToast(){g.open=!1}};\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbW9kYWwtY29yZS9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBb0UsUUFBUSxxREFBQyxFQUFFLDJEQUEyRCxLQUFLLHFCQUFxQixPQUFPLHlEQUFDLGFBQWEsV0FBVyx1REFBdUQsVUFBVSx1QkFBdUIsWUFBWSwrREFBK0QsVUFBVSx1QkFBdUIsZ0JBQWdCLDZCQUE2QixVQUFVLFlBQVksVUFBVSxJQUFJLCtIQUErSCxzS0FBc0ssYUFBYSwyRUFBMkUsU0FBUywwQ0FBMEMsZ0VBQWdFLGNBQWMseURBQXlELFlBQVksb0NBQW9DLHdCQUF3Qix3REFBd0QsUUFBUSxtRUFBbUUsRUFBRSw2QkFBNkIsRUFBRSx1Q0FBdUMsOEJBQThCLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSwyQkFBMkIsc0RBQXNELFFBQVEsdUJBQXVCLEVBQUUsdUNBQXVDLDhCQUE4QixTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsZUFBZSx1QkFBdUIsZ0JBQWdCLEVBQUUsZUFBZSx1Q0FBdUMsK0JBQStCLElBQUkscUVBQXFFLGNBQWMsR0FBRyxNQUFNLHVEQUF1RCxvQ0FBb0MsSUFBSSxzQkFBc0IscUVBQXFFLHNCQUFzQixHQUFHLE1BQU0sK0RBQStELCtCQUErQixJQUFJLHlEQUF5RCxNQUFNLDBEQUEwRCw0QkFBNEIsSUFBSSxxRUFBcUUsTUFBTSw0REFBNEQsdUJBQXVCLE1BQU0sK0NBQStDLG9EQUFvRCxVQUFVLHlHQUF5RyxxREFBQyxFQUFFLDhEQUE4RCxLQUFLLHFCQUFxQixPQUFPLHlEQUFDLGdCQUFnQix3REFBQyxnQ0FBZ0MsY0FBYyxvR0FBb0cseUJBQXlCLHNCQUFzQixVQUFVLGNBQWMsU0FBUyxvRkFBb0Ysa0JBQWtCLFVBQVUsY0FBYyxTQUFTLG9GQUFvRixrQkFBa0IsU0FBUyxjQUFjLFNBQVMsbUZBQW1GLG1CQUFtQixHQUFHLHFEQUFDLEVBQUUsbUhBQW1ILEtBQUsscUJBQXFCLE9BQU8seURBQUMsYUFBYSxjQUFjLFdBQVcsd0JBQXdCLHFCQUFxQix1QkFBdUIsb0JBQW9CLHNCQUFzQixtQkFBbUIsb0JBQW9CLGlCQUFpQixrQkFBa0IsZUFBZSxjQUFjLFlBQVksR0FBRyxxREFBQyxFQUFFLG9QQUFvUCxLQUFLLHFCQUFxQixPQUFPLHlEQUFDLGFBQWEsY0FBYyxRQUFRLGdSQUFnUiw4SkFBOEosa0RBQWtELG1CQUFtQixxQkFBcUIsMkJBQTJCLGdEQUFnRCxVQUFVLHNFQUFzRSxzQkFBc0IsV0FBVyx1QkFBdUIsbUJBQW1CLGdHQUFnRyxzQ0FBc0MsMEJBQTBCLFNBQVMsNEJBQTRCLHlDQUF5Qyw0QkFBNEIsd0NBQXdDLDhCQUE4QiwwQ0FBMEMseUJBQXlCLHFDQUFxQyxzQkFBc0IsU0FBUyxFQUFFLHlCQUF5QixFQUFFLGFBQWEsa0JBQWtCLFdBQVcsRUFBRSxjQUFjLEVBQUUsRUFBRSxxQkFBcUIsU0FBUyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsa0JBQWtCLFdBQVcsRUFBRSxjQUFjLEVBQUUsSUFBSSw4SkFBOEosa0RBQWtELG1CQUFtQixxQkFBcUIsMkJBQTJCLGdEQUFnRCxVQUFVLHVCQUF1QixxREFBQyxFQUFFLFNBQVMsMkJBQTJCLFNBQVMsMkJBQTJCLHNCQUFzQixNQUFNLHFDQUFxQyxNQUFNLDJEQUEyRCxTQUFTLHdEQUF3RCxpQkFBaUIsU0FBUywyQkFBMkIsRUFBRSxXQUFXLDhDQUE4QyxlQUFlLDBDQUEwQyxXQUFXLHdCQUF3QixLQUFLLE1BQU0sa0JBQWtCLDBDQUEwQyx1SEFBdUgsRUFBRSxXQUFXLDhEQUE4RCxxQ0FBcUMsMkJBQTJCLHFCQUFxQixZQUFZLEtBQUssMkRBQTJELFVBQVUsb0JBQW9CLEdBQUcsOEJBQThCLHVNQUF1TSxNQUFNLGdCQUFnQixJQUFJLG1CQUFtQix3R0FBd0csYUFBYSxtREFBbUQsRUFBRSxvQkFBb0Isc0JBQXNCLDhCQUE4QixxQkFBcUIsNkJBQTZCLGVBQWUsVUFBVSw2QkFBNkIsR0FBRyxxREFBQyxFQUFFLFFBQVEsTUFBTSxxQkFBcUIsT0FBTyx5REFBQyxhQUFhLGVBQWUsdUJBQXVCLE1BQU0sNEJBQTRCLFNBQVMsb0lBQW9JLEtBQUsseUJBQXlCLGdCQUFnQiwrREFBK0QsT0FBTyxFQUFFLFNBQVMsWUFBWSw4SkFBOEosa0RBQWtELG1CQUFtQixxQkFBcUIsMkJBQTJCLGdEQUFnRCxVQUFVLGFBQWEsaUZBQWlGLFFBQVEscURBQUMsRUFBRSw2QkFBNkIsTUFBTSxxQkFBcUIsT0FBTyx5REFBQyxhQUFhLG1CQUFtQixNQUFNLDZCQUE2QixHQUFHLDRDQUE0QyxNQUFNLEdBQUcscURBQUMsRUFBRSxxQ0FBcUMsTUFBTSxxQkFBcUIsT0FBTyx5REFBQyxhQUFhLGdCQUFnQixrQ0FBa0MsY0FBYyxZQUFzSztBQUN6bVIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L21vZGFsLWNvcmUvZGlzdC9pbmRleC5qcz8wZDFkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtwcm94eSBhcyB1LHN1YnNjcmliZSBhcyBoLHNuYXBzaG90IGFzIFB9ZnJvbVwidmFsdGlvL3ZhbmlsbGFcIjtjb25zdCBvPXUoe2hpc3Rvcnk6W1wiQ29ubmVjdFdhbGxldFwiXSx2aWV3OlwiQ29ubmVjdFdhbGxldFwiLGRhdGE6dm9pZCAwfSksVD17c3RhdGU6byxzdWJzY3JpYmUoZSl7cmV0dXJuIGgobywoKT0+ZShvKSl9LHB1c2goZSx0KXtlIT09by52aWV3JiYoby52aWV3PWUsdCYmKG8uZGF0YT10KSxvLmhpc3RvcnkucHVzaChlKSl9LHJlc2V0KGUpe28udmlldz1lLG8uaGlzdG9yeT1bZV19LHJlcGxhY2UoZSl7by5oaXN0b3J5Lmxlbmd0aD4xJiYoby5oaXN0b3J5W28uaGlzdG9yeS5sZW5ndGgtMV09ZSxvLnZpZXc9ZSl9LGdvQmFjaygpe2lmKG8uaGlzdG9yeS5sZW5ndGg+MSl7by5oaXN0b3J5LnBvcCgpO2NvbnN0W2VdPW8uaGlzdG9yeS5zbGljZSgtMSk7by52aWV3PWV9fSxzZXREYXRhKGUpe28uZGF0YT1lfX0sYT17V0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0U6XCJXQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRVwiLFdDTV9WRVJTSU9OOlwiV0NNX1ZFUlNJT05cIixSRUNPTU1FTkRFRF9XQUxMRVRfQU1PVU5UOjksaXNNb2JpbGUoKXtyZXR1cm4gdHlwZW9mIHdpbmRvdzxcInVcIj9Cb29sZWFuKHdpbmRvdy5tYXRjaE1lZGlhKFwiKHBvaW50ZXI6Y29hcnNlKVwiKS5tYXRjaGVzfHwvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8T3BlcmEgTWluaS91LnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpOiExfSxpc0FuZHJvaWQoKXtyZXR1cm4gYS5pc01vYmlsZSgpJiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJhbmRyb2lkXCIpfSxpc0lvcygpe2NvbnN0IGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO3JldHVybiBhLmlzTW9iaWxlKCkmJihlLmluY2x1ZGVzKFwiaXBob25lXCIpfHxlLmluY2x1ZGVzKFwiaXBhZFwiKSl9LGlzSHR0cFVybChlKXtyZXR1cm4gZS5zdGFydHNXaXRoKFwiaHR0cDovL1wiKXx8ZS5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIil9LGlzQXJyYXkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjB9LGZvcm1hdE5hdGl2ZVVybChlLHQscyl7aWYoYS5pc0h0dHBVcmwoZSkpcmV0dXJuIHRoaXMuZm9ybWF0VW5pdmVyc2FsVXJsKGUsdCxzKTtsZXQgbj1lO24uaW5jbHVkZXMoXCI6Ly9cIil8fChuPWUucmVwbGFjZUFsbChcIi9cIixcIlwiKS5yZXBsYWNlQWxsKFwiOlwiLFwiXCIpLG49YCR7bn06Ly9gKSxuLmVuZHNXaXRoKFwiL1wiKXx8KG49YCR7bn0vYCksdGhpcy5zZXRXYWxsZXRDb25uZWN0RGVlcExpbmsobixzKTtjb25zdCBpPWVuY29kZVVSSUNvbXBvbmVudCh0KTtyZXR1cm5gJHtufXdjP3VyaT0ke2l9YH0sZm9ybWF0VW5pdmVyc2FsVXJsKGUsdCxzKXtpZighYS5pc0h0dHBVcmwoZSkpcmV0dXJuIHRoaXMuZm9ybWF0TmF0aXZlVXJsKGUsdCxzKTtsZXQgbj1lO24uZW5kc1dpdGgoXCIvXCIpfHwobj1gJHtufS9gKSx0aGlzLnNldFdhbGxldENvbm5lY3REZWVwTGluayhuLHMpO2NvbnN0IGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQpO3JldHVybmAke259d2M/dXJpPSR7aX1gfSxhc3luYyB3YWl0KGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57c2V0VGltZW91dCh0LGUpfSl9LG9wZW5IcmVmKGUsdCl7d2luZG93Lm9wZW4oZSx0LFwibm9yZWZlcnJlciBub29wZW5lclwiKX0sc2V0V2FsbGV0Q29ubmVjdERlZXBMaW5rKGUsdCl7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKGEuV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UsSlNPTi5zdHJpbmdpZnkoe2hyZWY6ZSxuYW1lOnR9KSl9Y2F0Y2h7Y29uc29sZS5pbmZvKFwiVW5hYmxlIHRvIHNldCBXYWxsZXRDb25uZWN0IGRlZXAgbGlua1wiKX19LHNldFdhbGxldENvbm5lY3RBbmRyb2lkRGVlcExpbmsoZSl7dHJ5e2NvbnN0W3RdPWUuc3BsaXQoXCI/XCIpO2xvY2FsU3RvcmFnZS5zZXRJdGVtKGEuV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UsSlNPTi5zdHJpbmdpZnkoe2hyZWY6dCxuYW1lOlwiQW5kcm9pZFwifSkpfWNhdGNoe2NvbnNvbGUuaW5mbyhcIlVuYWJsZSB0byBzZXQgV2FsbGV0Q29ubmVjdCBhbmRyb2lkIGRlZXAgbGlua1wiKX19LHJlbW92ZVdhbGxldENvbm5lY3REZWVwTGluaygpe3RyeXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShhLldBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFKX1jYXRjaHtjb25zb2xlLmluZm8oXCJVbmFibGUgdG8gcmVtb3ZlIFdhbGxldENvbm5lY3QgZGVlcCBsaW5rXCIpfX0sc2V0TW9kYWxWZXJzaW9uSW5TdG9yYWdlKCl7dHJ5e3R5cGVvZiBsb2NhbFN0b3JhZ2U8XCJ1XCImJmxvY2FsU3RvcmFnZS5zZXRJdGVtKGEuV0NNX1ZFUlNJT04sXCIyLjYuMVwiKX1jYXRjaHtjb25zb2xlLmluZm8oXCJVbmFibGUgdG8gc2V0IFdlYjNNb2RhbCB2ZXJzaW9uIGluIHN0b3JhZ2VcIil9fSxnZXRXYWxsZXRSb3V0ZXJEYXRhKCl7dmFyIGU7Y29uc3QgdD0oZT1ULnN0YXRlLmRhdGEpPT1udWxsP3ZvaWQgMDplLldhbGxldDtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgXCJXYWxsZXRcIiB2aWV3IGRhdGEnKTtyZXR1cm4gdH19LF89dHlwZW9mIGxvY2F0aW9uPFwidVwiJiYobG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoXCJsb2NhbGhvc3RcIil8fGxvY2F0aW9uLnByb3RvY29sLmluY2x1ZGVzKFwiaHR0cHNcIikpLHI9dSh7ZW5hYmxlZDpfLHVzZXJTZXNzaW9uSWQ6XCJcIixldmVudHM6W10sY29ubmVjdGVkV2FsbGV0SWQ6dm9pZCAwfSksUj17c3RhdGU6cixzdWJzY3JpYmUoZSl7cmV0dXJuIGgoci5ldmVudHMsKCk9PmUoUChyLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV0pKSl9LGluaXRpYWxpemUoKXtyLmVuYWJsZWQmJnR5cGVvZihjcnlwdG89PW51bGw/dm9pZCAwOmNyeXB0by5yYW5kb21VVUlEKTxcInVcIiYmKHIudXNlclNlc3Npb25JZD1jcnlwdG8ucmFuZG9tVVVJRCgpKX0sc2V0Q29ubmVjdGVkV2FsbGV0SWQoZSl7ci5jb25uZWN0ZWRXYWxsZXRJZD1lfSxjbGljayhlKXtpZihyLmVuYWJsZWQpe2NvbnN0IHQ9e3R5cGU6XCJDTElDS1wiLG5hbWU6ZS5uYW1lLHVzZXJTZXNzaW9uSWQ6ci51c2VyU2Vzc2lvbklkLHRpbWVzdGFtcDpEYXRlLm5vdygpLGRhdGE6ZX07ci5ldmVudHMucHVzaCh0KX19LHRyYWNrKGUpe2lmKHIuZW5hYmxlZCl7Y29uc3QgdD17dHlwZTpcIlRSQUNLXCIsbmFtZTplLm5hbWUsdXNlclNlc3Npb25JZDpyLnVzZXJTZXNzaW9uSWQsdGltZXN0YW1wOkRhdGUubm93KCksZGF0YTplfTtyLmV2ZW50cy5wdXNoKHQpfX0sdmlldyhlKXtpZihyLmVuYWJsZWQpe2NvbnN0IHQ9e3R5cGU6XCJWSUVXXCIsbmFtZTplLm5hbWUsdXNlclNlc3Npb25JZDpyLnVzZXJTZXNzaW9uSWQsdGltZXN0YW1wOkRhdGUubm93KCksZGF0YTplfTtyLmV2ZW50cy5wdXNoKHQpfX19LGM9dSh7Y2hhaW5zOnZvaWQgMCx3YWxsZXRDb25uZWN0VXJpOnZvaWQgMCxpc0F1dGg6ITEsaXNDdXN0b21EZXNrdG9wOiExLGlzQ3VzdG9tTW9iaWxlOiExLGlzRGF0YUxvYWRlZDohMSxpc1VpTG9hZGVkOiExfSkscD17c3RhdGU6YyxzdWJzY3JpYmUoZSl7cmV0dXJuIGgoYywoKT0+ZShjKSl9LHNldENoYWlucyhlKXtjLmNoYWlucz1lfSxzZXRXYWxsZXRDb25uZWN0VXJpKGUpe2Mud2FsbGV0Q29ubmVjdFVyaT1lfSxzZXRJc0N1c3RvbURlc2t0b3AoZSl7Yy5pc0N1c3RvbURlc2t0b3A9ZX0sc2V0SXNDdXN0b21Nb2JpbGUoZSl7Yy5pc0N1c3RvbU1vYmlsZT1lfSxzZXRJc0RhdGFMb2FkZWQoZSl7Yy5pc0RhdGFMb2FkZWQ9ZX0sc2V0SXNVaUxvYWRlZChlKXtjLmlzVWlMb2FkZWQ9ZX0sc2V0SXNBdXRoKGUpe2MuaXNBdXRoPWV9fSxXPXUoe3Byb2plY3RJZDpcIlwiLG1vYmlsZVdhbGxldHM6dm9pZCAwLGRlc2t0b3BXYWxsZXRzOnZvaWQgMCx3YWxsZXRJbWFnZXM6dm9pZCAwLGNoYWluczp2b2lkIDAsZW5hYmxlQXV0aE1vZGU6ITEsZW5hYmxlRXhwbG9yZXI6ITAsZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczp2b2lkIDAsZXhwbG9yZXJSZWNvbW1lbmRlZFdhbGxldElkczp2b2lkIDAsdGVybXNPZlNlcnZpY2VVcmw6dm9pZCAwLHByaXZhY3lQb2xpY3lVcmw6dm9pZCAwfSkseT17c3RhdGU6VyxzdWJzY3JpYmUoZSl7cmV0dXJuIGgoVywoKT0+ZShXKSl9LHNldENvbmZpZyhlKXt2YXIgdCxzO1IuaW5pdGlhbGl6ZSgpLHAuc2V0Q2hhaW5zKGUuY2hhaW5zKSxwLnNldElzQXV0aChCb29sZWFuKGUuZW5hYmxlQXV0aE1vZGUpKSxwLnNldElzQ3VzdG9tTW9iaWxlKEJvb2xlYW4oKHQ9ZS5tb2JpbGVXYWxsZXRzKT09bnVsbD92b2lkIDA6dC5sZW5ndGgpKSxwLnNldElzQ3VzdG9tRGVza3RvcChCb29sZWFuKChzPWUuZGVza3RvcFdhbGxldHMpPT1udWxsP3ZvaWQgMDpzLmxlbmd0aCkpLGEuc2V0TW9kYWxWZXJzaW9uSW5TdG9yYWdlKCksT2JqZWN0LmFzc2lnbihXLGUpfX07dmFyIFY9T2JqZWN0LmRlZmluZVByb3BlcnR5LEQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxIPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksQj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLE09KGUsdCxzKT0+dCBpbiBlP1YoZSx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpzfSk6ZVt0XT1zLEs9KGUsdCk9Pntmb3IodmFyIHMgaW4gdHx8KHQ9e30pKUguY2FsbCh0LHMpJiZNKGUscyx0W3NdKTtpZihEKWZvcih2YXIgcyBvZiBEKHQpKUIuY2FsbCh0LHMpJiZNKGUscyx0W3NdKTtyZXR1cm4gZX07Y29uc3QgTD1cImh0dHBzOi8vZXhwbG9yZXItYXBpLndhbGxldGNvbm5lY3QuY29tXCIsRT1cIndjbVwiLE89XCJqcy0yLjYuMVwiO2FzeW5jIGZ1bmN0aW9uIHcoZSx0KXtjb25zdCBzPUsoe3Nka1R5cGU6RSxzZGtWZXJzaW9uOk99LHQpLG49bmV3IFVSTChlLEwpO3JldHVybiBuLnNlYXJjaFBhcmFtcy5hcHBlbmQoXCJwcm9qZWN0SWRcIix5LnN0YXRlLnByb2plY3RJZCksT2JqZWN0LmVudHJpZXMocykuZm9yRWFjaCgoW2ksbF0pPT57bCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKGksU3RyaW5nKGwpKX0pLChhd2FpdCBmZXRjaChuKSkuanNvbigpfWNvbnN0IG09e2FzeW5jIGdldERlc2t0b3BMaXN0aW5ncyhlKXtyZXR1cm4gdyhcIi93M20vdjEvZ2V0RGVza3RvcExpc3RpbmdzXCIsZSl9LGFzeW5jIGdldE1vYmlsZUxpc3RpbmdzKGUpe3JldHVybiB3KFwiL3czbS92MS9nZXRNb2JpbGVMaXN0aW5nc1wiLGUpfSxhc3luYyBnZXRJbmplY3RlZExpc3RpbmdzKGUpe3JldHVybiB3KFwiL3czbS92MS9nZXRJbmplY3RlZExpc3RpbmdzXCIsZSl9LGFzeW5jIGdldEFsbExpc3RpbmdzKGUpe3JldHVybiB3KFwiL3czbS92MS9nZXRBbGxMaXN0aW5nc1wiLGUpfSxnZXRXYWxsZXRJbWFnZVVybChlKXtyZXR1cm5gJHtMfS93M20vdjEvZ2V0V2FsbGV0SW1hZ2UvJHtlfT9wcm9qZWN0SWQ9JHt5LnN0YXRlLnByb2plY3RJZH0mc2RrVHlwZT0ke0V9JnNka1ZlcnNpb249JHtPfWB9LGdldEFzc2V0SW1hZ2VVcmwoZSl7cmV0dXJuYCR7TH0vdzNtL3YxL2dldEFzc2V0SW1hZ2UvJHtlfT9wcm9qZWN0SWQ9JHt5LnN0YXRlLnByb2plY3RJZH0mc2RrVHlwZT0ke0V9JnNka1ZlcnNpb249JHtPfWB9fTt2YXIgej1PYmplY3QuZGVmaW5lUHJvcGVydHksaj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEo9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxxPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsaz0oZSx0LHMpPT50IGluIGU/eihlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnN9KTplW3RdPXMsRj0oZSx0KT0+e2Zvcih2YXIgcyBpbiB0fHwodD17fSkpSi5jYWxsKHQscykmJmsoZSxzLHRbc10pO2lmKGopZm9yKHZhciBzIG9mIGoodCkpcS5jYWxsKHQscykmJmsoZSxzLHRbc10pO3JldHVybiBlfTtjb25zdCBOPWEuaXNNb2JpbGUoKSxkPXUoe3dhbGxldHM6e2xpc3RpbmdzOltdLHRvdGFsOjAscGFnZToxfSxzZWFyY2g6e2xpc3RpbmdzOltdLHRvdGFsOjAscGFnZToxfSxyZWNvbWVuZGVkV2FsbGV0czpbXX0pLHRlPXtzdGF0ZTpkLGFzeW5jIGdldFJlY29tZW5kZWRXYWxsZXRzKCl7Y29uc3R7ZXhwbG9yZXJSZWNvbW1lbmRlZFdhbGxldElkczplLGV4cGxvcmVyRXhjbHVkZWRXYWxsZXRJZHM6dH09eS5zdGF0ZTtpZihlPT09XCJOT05FXCJ8fHQ9PT1cIkFMTFwiJiYhZSlyZXR1cm4gZC5yZWNvbWVuZGVkV2FsbGV0cztpZihhLmlzQXJyYXkoZSkpe2NvbnN0IHM9e3JlY29tbWVuZGVkSWRzOmUuam9pbihcIixcIil9LHtsaXN0aW5nczpufT1hd2FpdCBtLmdldEFsbExpc3RpbmdzKHMpLGk9T2JqZWN0LnZhbHVlcyhuKTtpLnNvcnQoKGwsdik9Pntjb25zdCBiPWUuaW5kZXhPZihsLmlkKSxmPWUuaW5kZXhPZih2LmlkKTtyZXR1cm4gYi1mfSksZC5yZWNvbWVuZGVkV2FsbGV0cz1pfWVsc2V7Y29uc3R7Y2hhaW5zOnMsaXNBdXRoOm59PXAuc3RhdGUsaT1zPy5qb2luKFwiLFwiKSxsPWEuaXNBcnJheSh0KSx2PXtwYWdlOjEsc2RrczpuP1wiYXV0aF92MVwiOnZvaWQgMCxlbnRyaWVzOmEuUkVDT01NRU5ERURfV0FMTEVUX0FNT1VOVCxjaGFpbnM6aSx2ZXJzaW9uOjIsZXhjbHVkZWRJZHM6bD90LmpvaW4oXCIsXCIpOnZvaWQgMH0se2xpc3RpbmdzOmJ9PU4/YXdhaXQgbS5nZXRNb2JpbGVMaXN0aW5ncyh2KTphd2FpdCBtLmdldERlc2t0b3BMaXN0aW5ncyh2KTtkLnJlY29tZW5kZWRXYWxsZXRzPU9iamVjdC52YWx1ZXMoYil9cmV0dXJuIGQucmVjb21lbmRlZFdhbGxldHN9LGFzeW5jIGdldFdhbGxldHMoZSl7Y29uc3QgdD1GKHt9LGUpLHtleHBsb3JlclJlY29tbWVuZGVkV2FsbGV0SWRzOnMsZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczpufT15LnN0YXRlLHtyZWNvbWVuZGVkV2FsbGV0czppfT1kO2lmKG49PT1cIkFMTFwiKXJldHVybiBkLndhbGxldHM7aS5sZW5ndGg/dC5leGNsdWRlZElkcz1pLm1hcCh4PT54LmlkKS5qb2luKFwiLFwiKTphLmlzQXJyYXkocykmJih0LmV4Y2x1ZGVkSWRzPXMuam9pbihcIixcIikpLGEuaXNBcnJheShuKSYmKHQuZXhjbHVkZWRJZHM9W3QuZXhjbHVkZWRJZHMsbl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIsXCIpKSxwLnN0YXRlLmlzQXV0aCYmKHQuc2Rrcz1cImF1dGhfdjFcIik7Y29uc3R7cGFnZTpsLHNlYXJjaDp2fT1lLHtsaXN0aW5nczpiLHRvdGFsOmZ9PU4/YXdhaXQgbS5nZXRNb2JpbGVMaXN0aW5ncyh0KTphd2FpdCBtLmdldERlc2t0b3BMaXN0aW5ncyh0KSxBPU9iamVjdC52YWx1ZXMoYiksVT12P1wic2VhcmNoXCI6XCJ3YWxsZXRzXCI7cmV0dXJuIGRbVV09e2xpc3RpbmdzOlsuLi5kW1VdLmxpc3RpbmdzLC4uLkFdLHRvdGFsOmYscGFnZTpsPz8xfSx7bGlzdGluZ3M6QSx0b3RhbDpmfX0sZ2V0V2FsbGV0SW1hZ2VVcmwoZSl7cmV0dXJuIG0uZ2V0V2FsbGV0SW1hZ2VVcmwoZSl9LGdldEFzc2V0SW1hZ2VVcmwoZSl7cmV0dXJuIG0uZ2V0QXNzZXRJbWFnZVVybChlKX0scmVzZXRTZWFyY2goKXtkLnNlYXJjaD17bGlzdGluZ3M6W10sdG90YWw6MCxwYWdlOjF9fX0sST11KHtvcGVuOiExfSksc2U9e3N0YXRlOkksc3Vic2NyaWJlKGUpe3JldHVybiBoKEksKCk9PmUoSSkpfSxhc3luYyBvcGVuKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57Y29uc3R7aXNVaUxvYWRlZDpzLGlzRGF0YUxvYWRlZDpufT1wLnN0YXRlO2lmKGEucmVtb3ZlV2FsbGV0Q29ubmVjdERlZXBMaW5rKCkscC5zZXRXYWxsZXRDb25uZWN0VXJpKGU/LnVyaSkscC5zZXRDaGFpbnMoZT8uY2hhaW5zKSxULnJlc2V0KFwiQ29ubmVjdFdhbGxldFwiKSxzJiZuKUkub3Blbj0hMCx0KCk7ZWxzZXtjb25zdCBpPXNldEludGVydmFsKCgpPT57Y29uc3QgbD1wLnN0YXRlO2wuaXNVaUxvYWRlZCYmbC5pc0RhdGFMb2FkZWQmJihjbGVhckludGVydmFsKGkpLEkub3Blbj0hMCx0KCkpfSwyMDApfX0pfSxjbG9zZSgpe0kub3Blbj0hMX19O3ZhciBHPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSwkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsUT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxTPShlLHQscyk9PnQgaW4gZT9HKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6c30pOmVbdF09cyxZPShlLHQpPT57Zm9yKHZhciBzIGluIHR8fCh0PXt9KSlRLmNhbGwodCxzKSYmUyhlLHMsdFtzXSk7aWYoJClmb3IodmFyIHMgb2YgJCh0KSlYLmNhbGwodCxzKSYmUyhlLHMsdFtzXSk7cmV0dXJuIGV9O2Z1bmN0aW9uIFooKXtyZXR1cm4gdHlwZW9mIG1hdGNoTWVkaWE8XCJ1XCImJm1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpLm1hdGNoZXN9Y29uc3QgQz11KHt0aGVtZU1vZGU6WigpP1wiZGFya1wiOlwibGlnaHRcIn0pLG5lPXtzdGF0ZTpDLHN1YnNjcmliZShlKXtyZXR1cm4gaChDLCgpPT5lKEMpKX0sc2V0VGhlbWVDb25maWcoZSl7Y29uc3R7dGhlbWVNb2RlOnQsdGhlbWVWYXJpYWJsZXM6c309ZTt0JiYoQy50aGVtZU1vZGU9dCkscyYmKEMudGhlbWVWYXJpYWJsZXM9WSh7fSxzKSl9fSxnPXUoe29wZW46ITEsbWVzc2FnZTpcIlwiLHZhcmlhbnQ6XCJzdWNjZXNzXCJ9KSxvZT17c3RhdGU6ZyxzdWJzY3JpYmUoZSl7cmV0dXJuIGgoZywoKT0+ZShnKSl9LG9wZW5Ub2FzdChlLHQpe2cub3Blbj0hMCxnLm1lc3NhZ2U9ZSxnLnZhcmlhbnQ9dH0sY2xvc2VUb2FzdCgpe2cub3Blbj0hMX19O2V4cG9ydHt5IGFzIENvbmZpZ0N0cmwsYSBhcyBDb3JlVXRpbCxSIGFzIEV2ZW50c0N0cmwsdGUgYXMgRXhwbG9yZXJDdHJsLHNlIGFzIE1vZGFsQ3RybCxwIGFzIE9wdGlvbnNDdHJsLFQgYXMgUm91dGVyQ3RybCxuZSBhcyBUaGVtZUN0cmwsb2UgYXMgVG9hc3RDdHJsfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/modal-core/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/modal/dist/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/@walletconnect/modal/dist/index.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectModal: function() { return /* binding */ d; }\n/* harmony export */ });\n/* harmony import */ var _walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/modal-core */ \"./node_modules/@walletconnect/modal-core/dist/index.js\");\nclass d{constructor(e){this.openModal=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.ModalCtrl.open,this.closeModal=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.ModalCtrl.close,this.subscribeModal=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.ModalCtrl.subscribe,this.setTheme=_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.ThemeCtrl.setThemeConfig,_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.ThemeCtrl.setThemeConfig(e),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.ConfigCtrl.setConfig(e),this.initUi()}async initUi(){if(typeof window<\"u\"){await __webpack_require__.e(/*! import() */ \"node_modules_walletconnect_modal-ui_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @walletconnect/modal-ui */ \"./node_modules/@walletconnect/modal-ui/dist/index.js\"));const e=document.createElement(\"wcm-modal\");document.body.insertAdjacentElement(\"beforeend\",e),_walletconnect_modal_core__WEBPACK_IMPORTED_MODULE_0__.OptionsCtrl.setIsUiLoaded(!0)}}}\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvbW9kYWwvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFzRyxRQUFRLGVBQWUsZUFBZSxnRUFBQyxzQkFBc0IsZ0VBQUMsMkJBQTJCLGdFQUFDLHlCQUF5QixnRUFBQyxnQkFBZ0IsZ0VBQUMsbUJBQW1CLGlFQUFDLDRCQUE0QixlQUFlLHNCQUFzQixNQUFNLHFPQUFpQyxDQUFDLDRDQUE0QyxtREFBbUQsa0VBQUMscUJBQXFEO0FBQzdmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9tb2RhbC9kaXN0L2luZGV4LmpzP2VkZmMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e01vZGFsQ3RybCBhcyB0LFRoZW1lQ3RybCBhcyBvLENvbmZpZ0N0cmwgYXMgaSxPcHRpb25zQ3RybCBhcyBufWZyb21cIkB3YWxsZXRjb25uZWN0L21vZGFsLWNvcmVcIjtjbGFzcyBke2NvbnN0cnVjdG9yKGUpe3RoaXMub3Blbk1vZGFsPXQub3Blbix0aGlzLmNsb3NlTW9kYWw9dC5jbG9zZSx0aGlzLnN1YnNjcmliZU1vZGFsPXQuc3Vic2NyaWJlLHRoaXMuc2V0VGhlbWU9by5zZXRUaGVtZUNvbmZpZyxvLnNldFRoZW1lQ29uZmlnKGUpLGkuc2V0Q29uZmlnKGUpLHRoaXMuaW5pdFVpKCl9YXN5bmMgaW5pdFVpKCl7aWYodHlwZW9mIHdpbmRvdzxcInVcIil7YXdhaXQgaW1wb3J0KFwiQHdhbGxldGNvbm5lY3QvbW9kYWwtdWlcIik7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwid2NtLW1vZGFsXCIpO2RvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsZSksbi5zZXRJc1VpTG9hZGVkKCEwKX19fWV4cG9ydHtkIGFzIFdhbGxldENvbm5lY3RNb2RhbH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/modal/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/valtio/esm/vanilla.mjs": -/*!*********************************************!*\ - !*** ./node_modules/valtio/esm/vanilla.mjs ***! - \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getVersion: function() { return /* binding */ getVersion; },\n/* harmony export */ proxy: function() { return /* binding */ proxy; },\n/* harmony export */ ref: function() { return /* binding */ ref; },\n/* harmony export */ snapshot: function() { return /* binding */ snapshot; },\n/* harmony export */ subscribe: function() { return /* binding */ subscribe; },\n/* harmony export */ unstable_buildProxyFunction: function() { return /* binding */ unstable_buildProxyFunction; }\n/* harmony export */ });\n/* harmony import */ var proxy_compare__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! proxy-compare */ \"./node_modules/proxy-compare/dist/index.modern.js\");\n\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer), shouldTrapDefineProperty = (desc) => desc.configurable && desc.enumerable && desc.writable, defaultHandlePromise = (promise) => {\n switch (promise.status) {\n case \"fulfilled\":\n return promise.value;\n case \"rejected\":\n throw promise.reason;\n default:\n throw promise;\n }\n}, snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version, handlePromise = defaultHandlePromise) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n (0,proxy_compare__WEBPACK_IMPORTED_MODULE_0__.markToTrack)(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const desc = {\n value,\n enumerable: true,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n (0,proxy_compare__WEBPACK_IMPORTED_MODULE_0__.markToTrack)(value, false);\n } else if (value instanceof Promise) {\n delete desc.value;\n desc.get = () => handlePromise(value);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshot(\n target2,\n ensureVersion(),\n handlePromise\n );\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if (( false ? 0 : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if (( false ? 0 : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const trapSet = (hasPrevValue, prevValue, prop, value, setValue) => {\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = (0,proxy_compare__WEBPACK_IMPORTED_MODULE_0__.getUntracked)(value) || value;\n }\n let nextValue = value;\n if (value instanceof Promise) {\n value.then((v) => {\n value.status = \"fulfilled\";\n value.value = v;\n notifyUpdate([\"resolve\", [prop], v]);\n }).catch((e) => {\n value.status = \"rejected\";\n value.reason = e;\n notifyUpdate([\"reject\", [prop], e]);\n });\n } else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxyFunction(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n setValue(nextValue);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n };\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n trapSet(hasPrevValue, prevValue, prop, value, (nextValue) => {\n Reflect.set(target, prop, nextValue, receiver);\n });\n return true;\n },\n defineProperty(target, prop, desc) {\n if (shouldTrapDefineProperty(desc)) {\n const prevDesc = Reflect.getOwnPropertyDescriptor(target, prop);\n if (!prevDesc || shouldTrapDefineProperty(prevDesc)) {\n trapSet(\n !!prevDesc && \"value\" in prevDesc,\n prevDesc == null ? void 0 : prevDesc.value,\n prop,\n desc.value,\n (nextValue) => {\n Reflect.defineProperty(target, prop, {\n ...desc,\n value: nextValue\n });\n }\n );\n return true;\n }\n }\n return Reflect.defineProperty(target, prop, desc);\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [\n baseObject,\n ensureVersion,\n createSnapshot,\n addListener\n ];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n initialObject,\n key\n );\n if (\"value\" in desc) {\n proxyObject[key] = initialObject[key];\n delete desc.value;\n delete desc.writable;\n }\n Object.defineProperty(baseObject, key, desc);\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n shouldTrapDefineProperty,\n defaultHandlePromise,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nconst [defaultProxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return defaultProxyFunction(initialObject);\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if (( false ? 0 : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject, handlePromise) {\n const proxyState = proxyStateMap.get(proxyObject);\n if (( false ? 0 : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion(), handlePromise);\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nconst unstable_buildProxyFunction = buildProxyFunction;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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L19OX0UvLi9ub2RlX21vZHVsZXMvdmFsdGlvL2VzbS92YW5pbGxhLm1qcz9mZDAyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtUb1RyYWNrLCBnZXRVbnRyYWNrZWQgfSBmcm9tICdwcm94eS1jb21wYXJlJztcblxuY29uc3QgaXNPYmplY3QgPSAoeCkgPT4gdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgeCAhPT0gbnVsbDtcbmNvbnN0IHByb3h5U3RhdGVNYXAgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtNYXAoKTtcbmNvbnN0IHJlZlNldCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgV2Vha1NldCgpO1xuY29uc3QgYnVpbGRQcm94eUZ1bmN0aW9uID0gKG9iamVjdElzID0gT2JqZWN0LmlzLCBuZXdQcm94eSA9ICh0YXJnZXQsIGhhbmRsZXIpID0+IG5ldyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpLCBjYW5Qcm94eSA9ICh4KSA9PiBpc09iamVjdCh4KSAmJiAhcmVmU2V0Lmhhcyh4KSAmJiAoQXJyYXkuaXNBcnJheSh4KSB8fCAhKFN5bWJvbC5pdGVyYXRvciBpbiB4KSkgJiYgISh4IGluc3RhbmNlb2YgV2Vha01hcCkgJiYgISh4IGluc3RhbmNlb2YgV2Vha1NldCkgJiYgISh4IGluc3RhbmNlb2YgRXJyb3IpICYmICEoeCBpbnN0YW5jZW9mIE51bWJlcikgJiYgISh4IGluc3RhbmNlb2YgRGF0ZSkgJiYgISh4IGluc3RhbmNlb2YgU3RyaW5nKSAmJiAhKHggaW5zdGFuY2VvZiBSZWdFeHApICYmICEoeCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSwgc2hvdWxkVHJhcERlZmluZVByb3BlcnR5ID0gKGRlc2MpID0+IGRlc2MuY29uZmlndXJhYmxlICYmIGRlc2MuZW51bWVyYWJsZSAmJiBkZXNjLndyaXRhYmxlLCBkZWZhdWx0SGFuZGxlUHJvbWlzZSA9IChwcm9taXNlKSA9PiB7XG4gIHN3aXRjaCAocHJvbWlzZS5zdGF0dXMpIHtcbiAgICBjYXNlIFwiZnVsZmlsbGVkXCI6XG4gICAgICByZXR1cm4gcHJvbWlzZS52YWx1ZTtcbiAgICBjYXNlIFwicmVqZWN0ZWRcIjpcbiAgICAgIHRocm93IHByb21pc2UucmVhc29uO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBwcm9taXNlO1xuICB9XG59LCBzbmFwQ2FjaGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtNYXAoKSwgY3JlYXRlU25hcHNob3QgPSAodGFyZ2V0LCB2ZXJzaW9uLCBoYW5kbGVQcm9taXNlID0gZGVmYXVsdEhhbmRsZVByb21pc2UpID0+IHtcbiAgY29uc3QgY2FjaGUgPSBzbmFwQ2FjaGUuZ2V0KHRhcmdldCk7XG4gIGlmICgoY2FjaGUgPT0gbnVsbCA/IHZvaWQgMCA6IGNhY2hlWzBdKSA9PT0gdmVyc2lvbikge1xuICAgIHJldHVybiBjYWNoZVsxXTtcbiAgfVxuICBjb25zdCBzbmFwID0gQXJyYXkuaXNBcnJheSh0YXJnZXQpID8gW10gOiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0YXJnZXQpKTtcbiAgbWFya1RvVHJhY2soc25hcCwgdHJ1ZSk7XG4gIHNuYXBDYWNoZS5zZXQodGFyZ2V0LCBbdmVyc2lvbiwgc25hcF0pO1xuICBSZWZsZWN0Lm93bktleXModGFyZ2V0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzbmFwLCBrZXkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBrZXkpO1xuICAgIGNvbnN0IGRlc2MgPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsIHRvIGF2b2lkIGNvcHlpbmcgd2l0aCBwcm94eS1jb21wYXJlLlxuICAgICAgLy8gSXQncyBzdGlsbCBub24td3JpdGFibGUsIHNvIGl0IGF2b2lkcyBhc3NpZ25pbmcgYSB2YWx1ZS5cbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH07XG4gICAgaWYgKHJlZlNldC5oYXModmFsdWUpKSB7XG4gICAgICBtYXJrVG9UcmFjayh2YWx1ZSwgZmFsc2UpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICBkZWxldGUgZGVzYy52YWx1ZTtcbiAgICAgIGRlc2MuZ2V0ID0gKCkgPT4gaGFuZGxlUHJvbWlzZSh2YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChwcm94eVN0YXRlTWFwLmhhcyh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IFt0YXJnZXQyLCBlbnN1cmVWZXJzaW9uXSA9IHByb3h5U3RhdGVNYXAuZ2V0KFxuICAgICAgICB2YWx1ZVxuICAgICAgKTtcbiAgICAgIGRlc2MudmFsdWUgPSBjcmVhdGVTbmFwc2hvdChcbiAgICAgICAgdGFyZ2V0MixcbiAgICAgICAgZW5zdXJlVmVyc2lvbigpLFxuICAgICAgICBoYW5kbGVQcm9taXNlXG4gICAgICApO1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc25hcCwga2V5LCBkZXNjKTtcbiAgfSk7XG4gIHJldHVybiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc25hcCk7XG59LCBwcm94eUNhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrTWFwKCksIHZlcnNpb25Ib2xkZXIgPSBbMSwgMV0sIHByb3h5RnVuY3Rpb24gPSAoaW5pdGlhbE9iamVjdCkgPT4ge1xuICBpZiAoIWlzT2JqZWN0KGluaXRpYWxPYmplY3QpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwib2JqZWN0IHJlcXVpcmVkXCIpO1xuICB9XG4gIGNvbnN0IGZvdW5kID0gcHJveHlDYWNoZS5nZXQoaW5pdGlhbE9iamVjdCk7XG4gIGlmIChmb3VuZCkge1xuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuICBsZXQgdmVyc2lvbiA9IHZlcnNpb25Ib2xkZXJbMF07XG4gIGNvbnN0IGxpc3RlbmVycyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIGNvbnN0IG5vdGlmeVVwZGF0ZSA9IChvcCwgbmV4dFZlcnNpb24gPSArK3ZlcnNpb25Ib2xkZXJbMF0pID0+IHtcbiAgICBpZiAodmVyc2lvbiAhPT0gbmV4dFZlcnNpb24pIHtcbiAgICAgIHZlcnNpb24gPSBuZXh0VmVyc2lvbjtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIob3AsIG5leHRWZXJzaW9uKSk7XG4gICAgfVxuICB9O1xuICBsZXQgY2hlY2tWZXJzaW9uID0gdmVyc2lvbkhvbGRlclsxXTtcbiAgY29uc3QgZW5zdXJlVmVyc2lvbiA9IChuZXh0Q2hlY2tWZXJzaW9uID0gKyt2ZXJzaW9uSG9sZGVyWzFdKSA9PiB7XG4gICAgaWYgKGNoZWNrVmVyc2lvbiAhPT0gbmV4dENoZWNrVmVyc2lvbiAmJiAhbGlzdGVuZXJzLnNpemUpIHtcbiAgICAgIGNoZWNrVmVyc2lvbiA9IG5leHRDaGVja1ZlcnNpb247XG4gICAgICBwcm9wUHJveHlTdGF0ZXMuZm9yRWFjaCgoW3Byb3BQcm94eVN0YXRlXSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wVmVyc2lvbiA9IHByb3BQcm94eVN0YXRlWzFdKG5leHRDaGVja1ZlcnNpb24pO1xuICAgICAgICBpZiAocHJvcFZlcnNpb24gPiB2ZXJzaW9uKSB7XG4gICAgICAgICAgdmVyc2lvbiA9IHByb3BWZXJzaW9uO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHZlcnNpb247XG4gIH07XG4gIGNvbnN0IGNyZWF0ZVByb3BMaXN0ZW5lciA9IChwcm9wKSA9PiAob3AsIG5leHRWZXJzaW9uKSA9PiB7XG4gICAgY29uc3QgbmV3T3AgPSBbLi4ub3BdO1xuICAgIG5ld09wWzFdID0gW3Byb3AsIC4uLm5ld09wWzFdXTtcbiAgICBub3RpZnlVcGRhdGUobmV3T3AsIG5leHRWZXJzaW9uKTtcbiAgfTtcbiAgY29uc3QgcHJvcFByb3h5U3RhdGVzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgY29uc3QgYWRkUHJvcExpc3RlbmVyID0gKHByb3AsIHByb3BQcm94eVN0YXRlKSA9PiB7XG4gICAgaWYgKChpbXBvcnQubWV0YS5lbnYgPyBpbXBvcnQubWV0YS5lbnYuTU9ERSA6IHZvaWQgMCkgIT09IFwicHJvZHVjdGlvblwiICYmIHByb3BQcm94eVN0YXRlcy5oYXMocHJvcCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInByb3AgbGlzdGVuZXIgYWxyZWFkeSBleGlzdHNcIik7XG4gICAgfVxuICAgIGlmIChsaXN0ZW5lcnMuc2l6ZSkge1xuICAgICAgY29uc3QgcmVtb3ZlID0gcHJvcFByb3h5U3RhdGVbM10oY3JlYXRlUHJvcExpc3RlbmVyKHByb3ApKTtcbiAgICAgIHByb3BQcm94eVN0YXRlcy5zZXQocHJvcCwgW3Byb3BQcm94eVN0YXRlLCByZW1vdmVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJvcFByb3h5U3RhdGVzLnNldChwcm9wLCBbcHJvcFByb3h5U3RhdGVdKTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IHJlbW92ZVByb3BMaXN0ZW5lciA9IChwcm9wKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGVudHJ5ID0gcHJvcFByb3h5U3RhdGVzLmdldChwcm9wKTtcbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIHByb3BQcm94eVN0YXRlcy5kZWxldGUocHJvcCk7XG4gICAgICAoX2EgPSBlbnRyeVsxXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwoZW50cnkpO1xuICAgIH1cbiAgfTtcbiAgY29uc3QgYWRkTGlzdGVuZXIgPSAobGlzdGVuZXIpID0+IHtcbiAgICBsaXN0ZW5lcnMuYWRkKGxpc3RlbmVyKTtcbiAgICBpZiAobGlzdGVuZXJzLnNpemUgPT09IDEpIHtcbiAgICAgIHByb3BQcm94eVN0YXRlcy5mb3JFYWNoKChbcHJvcFByb3h5U3RhdGUsIHByZXZSZW1vdmVdLCBwcm9wKSA9PiB7XG4gICAgICAgIGlmICgoaW1wb3J0Lm1ldGEuZW52ID8gaW1wb3J0Lm1ldGEuZW52Lk1PREUgOiB2b2lkIDApICE9PSBcInByb2R1Y3Rpb25cIiAmJiBwcmV2UmVtb3ZlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmVtb3ZlIGFscmVhZHkgZXhpc3RzXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlbW92ZSA9IHByb3BQcm94eVN0YXRlWzNdKGNyZWF0ZVByb3BMaXN0ZW5lcihwcm9wKSk7XG4gICAgICAgIHByb3BQcm94eVN0YXRlcy5zZXQocHJvcCwgW3Byb3BQcm94eVN0YXRlLCByZW1vdmVdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCByZW1vdmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAgIGxpc3RlbmVycy5kZWxldGUobGlzdGVuZXIpO1xuICAgICAgaWYgKGxpc3RlbmVycy5zaXplID09PSAwKSB7XG4gICAgICAgIHByb3BQcm94eVN0YXRlcy5mb3JFYWNoKChbcHJvcFByb3h5U3RhdGUsIHJlbW92ZV0sIHByb3ApID0+IHtcbiAgICAgICAgICBpZiAocmVtb3ZlKSB7XG4gICAgICAgICAgICByZW1vdmUoKTtcbiAgICAgICAgICAgIHByb3BQcm94eVN0YXRlcy5zZXQocHJvcCwgW3Byb3BQcm94eVN0YXRlXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiByZW1vdmVMaXN0ZW5lcjtcbiAgfTtcbiAgY29uc3QgYmFzZU9iamVjdCA9IEFycmF5LmlzQXJyYXkoaW5pdGlhbE9iamVjdCkgPyBbXSA6IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKGluaXRpYWxPYmplY3QpKTtcbiAgY29uc3QgdHJhcFNldCA9IChoYXNQcmV2VmFsdWUsIHByZXZWYWx1ZSwgcHJvcCwgdmFsdWUsIHNldFZhbHVlKSA9PiB7XG4gICAgaWYgKGhhc1ByZXZWYWx1ZSAmJiAob2JqZWN0SXMocHJldlZhbHVlLCB2YWx1ZSkgfHwgcHJveHlDYWNoZS5oYXModmFsdWUpICYmIG9iamVjdElzKHByZXZWYWx1ZSwgcHJveHlDYWNoZS5nZXQodmFsdWUpKSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmVtb3ZlUHJvcExpc3RlbmVyKHByb3ApO1xuICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gZ2V0VW50cmFja2VkKHZhbHVlKSB8fCB2YWx1ZTtcbiAgICB9XG4gICAgbGV0IG5leHRWYWx1ZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHZhbHVlLnRoZW4oKHYpID0+IHtcbiAgICAgICAgdmFsdWUuc3RhdHVzID0gXCJmdWxmaWxsZWRcIjtcbiAgICAgICAgdmFsdWUudmFsdWUgPSB2O1xuICAgICAgICBub3RpZnlVcGRhdGUoW1wicmVzb2x2ZVwiLCBbcHJvcF0sIHZdKTtcbiAgICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIHZhbHVlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgdmFsdWUucmVhc29uID0gZTtcbiAgICAgICAgbm90aWZ5VXBkYXRlKFtcInJlamVjdFwiLCBbcHJvcF0sIGVdKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXByb3h5U3RhdGVNYXAuaGFzKHZhbHVlKSAmJiBjYW5Qcm94eSh2YWx1ZSkpIHtcbiAgICAgICAgbmV4dFZhbHVlID0gcHJveHlGdW5jdGlvbih2YWx1ZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBjaGlsZFByb3h5U3RhdGUgPSAhcmVmU2V0LmhhcyhuZXh0VmFsdWUpICYmIHByb3h5U3RhdGVNYXAuZ2V0KG5leHRWYWx1ZSk7XG4gICAgICBpZiAoY2hpbGRQcm94eVN0YXRlKSB7XG4gICAgICAgIGFkZFByb3BMaXN0ZW5lcihwcm9wLCBjaGlsZFByb3h5U3RhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBzZXRWYWx1ZShuZXh0VmFsdWUpO1xuICAgIG5vdGlmeVVwZGF0ZShbXCJzZXRcIiwgW3Byb3BdLCB2YWx1ZSwgcHJldlZhbHVlXSk7XG4gIH07XG4gIGNvbnN0IGhhbmRsZXIgPSB7XG4gICAgZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKSB7XG4gICAgICBjb25zdCBwcmV2VmFsdWUgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3ApO1xuICAgICAgcmVtb3ZlUHJvcExpc3RlbmVyKHByb3ApO1xuICAgICAgY29uc3QgZGVsZXRlZCA9IFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKTtcbiAgICAgIGlmIChkZWxldGVkKSB7XG4gICAgICAgIG5vdGlmeVVwZGF0ZShbXCJkZWxldGVcIiwgW3Byb3BdLCBwcmV2VmFsdWVdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWxldGVkO1xuICAgIH0sXG4gICAgc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKSB7XG4gICAgICBjb25zdCBoYXNQcmV2VmFsdWUgPSBSZWZsZWN0Lmhhcyh0YXJnZXQsIHByb3ApO1xuICAgICAgY29uc3QgcHJldlZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICB0cmFwU2V0KGhhc1ByZXZWYWx1ZSwgcHJldlZhbHVlLCBwcm9wLCB2YWx1ZSwgKG5leHRWYWx1ZSkgPT4ge1xuICAgICAgICBSZWZsZWN0LnNldCh0YXJnZXQsIHByb3AsIG5leHRWYWx1ZSwgcmVjZWl2ZXIpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcCwgZGVzYykge1xuICAgICAgaWYgKHNob3VsZFRyYXBEZWZpbmVQcm9wZXJ0eShkZXNjKSkge1xuICAgICAgICBjb25zdCBwcmV2RGVzYyA9IFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcHJvcCk7XG4gICAgICAgIGlmICghcHJldkRlc2MgfHwgc2hvdWxkVHJhcERlZmluZVByb3BlcnR5KHByZXZEZXNjKSkge1xuICAgICAgICAgIHRyYXBTZXQoXG4gICAgICAgICAgICAhIXByZXZEZXNjICYmIFwidmFsdWVcIiBpbiBwcmV2RGVzYyxcbiAgICAgICAgICAgIHByZXZEZXNjID09IG51bGwgPyB2b2lkIDAgOiBwcmV2RGVzYy52YWx1ZSxcbiAgICAgICAgICAgIHByb3AsXG4gICAgICAgICAgICBkZXNjLnZhbHVlLFxuICAgICAgICAgICAgKG5leHRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcCwge1xuICAgICAgICAgICAgICAgIC4uLmRlc2MsXG4gICAgICAgICAgICAgICAgdmFsdWU6IG5leHRWYWx1ZVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3AsIGRlc2MpO1xuICAgIH1cbiAgfTtcbiAgY29uc3QgcHJveHlPYmplY3QgPSBuZXdQcm94eShiYXNlT2JqZWN0LCBoYW5kbGVyKTtcbiAgcHJveHlDYWNoZS5zZXQoaW5pdGlhbE9iamVjdCwgcHJveHlPYmplY3QpO1xuICBjb25zdCBwcm94eVN0YXRlID0gW1xuICAgIGJhc2VPYmplY3QsXG4gICAgZW5zdXJlVmVyc2lvbixcbiAgICBjcmVhdGVTbmFwc2hvdCxcbiAgICBhZGRMaXN0ZW5lclxuICBdO1xuICBwcm94eVN0YXRlTWFwLnNldChwcm94eU9iamVjdCwgcHJveHlTdGF0ZSk7XG4gIFJlZmxlY3Qub3duS2V5cyhpbml0aWFsT2JqZWN0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgIGluaXRpYWxPYmplY3QsXG4gICAgICBrZXlcbiAgICApO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzYykge1xuICAgICAgcHJveHlPYmplY3Rba2V5XSA9IGluaXRpYWxPYmplY3Rba2V5XTtcbiAgICAgIGRlbGV0ZSBkZXNjLnZhbHVlO1xuICAgICAgZGVsZXRlIGRlc2Mud3JpdGFibGU7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlT2JqZWN0LCBrZXksIGRlc2MpO1xuICB9KTtcbiAgcmV0dXJuIHByb3h5T2JqZWN0O1xufSkgPT4gW1xuICAvLyBwdWJsaWMgZnVuY3Rpb25zXG4gIHByb3h5RnVuY3Rpb24sXG4gIC8vIHNoYXJlZCBzdGF0ZVxuICBwcm94eVN0YXRlTWFwLFxuICByZWZTZXQsXG4gIC8vIGludGVybmFsIHRoaW5nc1xuICBvYmplY3RJcyxcbiAgbmV3UHJveHksXG4gIGNhblByb3h5LFxuICBzaG91bGRUcmFwRGVmaW5lUHJvcGVydHksXG4gIGRlZmF1bHRIYW5kbGVQcm9taXNlLFxuICBzbmFwQ2FjaGUsXG4gIGNyZWF0ZVNuYXBzaG90LFxuICBwcm94eUNhY2hlLFxuICB2ZXJzaW9uSG9sZGVyXG5dO1xuY29uc3QgW2RlZmF1bHRQcm94eUZ1bmN0aW9uXSA9IGJ1aWxkUHJveHlGdW5jdGlvbigpO1xuZnVuY3Rpb24gcHJveHkoaW5pdGlhbE9iamVjdCA9IHt9KSB7XG4gIHJldHVybiBkZWZhdWx0UHJveHlGdW5jdGlvbihpbml0aWFsT2JqZWN0KTtcbn1cbmZ1bmN0aW9uIGdldFZlcnNpb24ocHJveHlPYmplY3QpIHtcbiAgY29uc3QgcHJveHlTdGF0ZSA9IHByb3h5U3RhdGVNYXAuZ2V0KHByb3h5T2JqZWN0KTtcbiAgcmV0dXJuIHByb3h5U3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IHByb3h5U3RhdGVbMV0oKTtcbn1cbmZ1bmN0aW9uIHN1YnNjcmliZShwcm94eU9iamVjdCwgY2FsbGJhY2ssIG5vdGlmeUluU3luYykge1xuICBjb25zdCBwcm94eVN0YXRlID0gcHJveHlTdGF0ZU1hcC5nZXQocHJveHlPYmplY3QpO1xuICBpZiAoKGltcG9ydC5tZXRhLmVudiA/IGltcG9ydC5tZXRhLmVudi5NT0RFIDogdm9pZCAwKSAhPT0gXCJwcm9kdWN0aW9uXCIgJiYgIXByb3h5U3RhdGUpIHtcbiAgICBjb25zb2xlLndhcm4oXCJQbGVhc2UgdXNlIHByb3h5IG9iamVjdFwiKTtcbiAgfVxuICBsZXQgcHJvbWlzZTtcbiAgY29uc3Qgb3BzID0gW107XG4gIGNvbnN0IGFkZExpc3RlbmVyID0gcHJveHlTdGF0ZVszXTtcbiAgbGV0IGlzTGlzdGVuZXJBY3RpdmUgPSBmYWxzZTtcbiAgY29uc3QgbGlzdGVuZXIgPSAob3ApID0+IHtcbiAgICBvcHMucHVzaChvcCk7XG4gICAgaWYgKG5vdGlmeUluU3luYykge1xuICAgICAgY2FsbGJhY2sob3BzLnNwbGljZSgwKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghcHJvbWlzZSkge1xuICAgICAgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICBwcm9taXNlID0gdm9pZCAwO1xuICAgICAgICBpZiAoaXNMaXN0ZW5lckFjdGl2ZSkge1xuICAgICAgICAgIGNhbGxiYWNrKG9wcy5zcGxpY2UoMCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IHJlbW92ZUxpc3RlbmVyID0gYWRkTGlzdGVuZXIobGlzdGVuZXIpO1xuICBpc0xpc3RlbmVyQWN0aXZlID0gdHJ1ZTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpc0xpc3RlbmVyQWN0aXZlID0gZmFsc2U7XG4gICAgcmVtb3ZlTGlzdGVuZXIoKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIHNuYXBzaG90KHByb3h5T2JqZWN0LCBoYW5kbGVQcm9taXNlKSB7XG4gIGNvbnN0IHByb3h5U3RhdGUgPSBwcm94eVN0YXRlTWFwLmdldChwcm94eU9iamVjdCk7XG4gIGlmICgoaW1wb3J0Lm1ldGEuZW52ID8gaW1wb3J0Lm1ldGEuZW52Lk1PREUgOiB2b2lkIDApICE9PSBcInByb2R1Y3Rpb25cIiAmJiAhcHJveHlTdGF0ZSkge1xuICAgIGNvbnNvbGUud2FybihcIlBsZWFzZSB1c2UgcHJveHkgb2JqZWN0XCIpO1xuICB9XG4gIGNvbnN0IFt0YXJnZXQsIGVuc3VyZVZlcnNpb24sIGNyZWF0ZVNuYXBzaG90XSA9IHByb3h5U3RhdGU7XG4gIHJldHVybiBjcmVhdGVTbmFwc2hvdCh0YXJnZXQsIGVuc3VyZVZlcnNpb24oKSwgaGFuZGxlUHJvbWlzZSk7XG59XG5mdW5jdGlvbiByZWYob2JqKSB7XG4gIHJlZlNldC5hZGQob2JqKTtcbiAgcmV0dXJuIG9iajtcbn1cbmNvbnN0IHVuc3RhYmxlX2J1aWxkUHJveHlGdW5jdGlvbiA9IGJ1aWxkUHJveHlGdW5jdGlvbjtcblxuZXhwb3J0IHsgZ2V0VmVyc2lvbiwgcHJveHksIHJlZiwgc25hcHNob3QsIHN1YnNjcmliZSwgdW5zdGFibGVfYnVpbGRQcm94eUZ1bmN0aW9uIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/valtio/esm/vanilla.mjs\n")); - -/***/ }) - -}]); \ No newline at end of file diff --git a/.next/static/chunks/pages/_app.js b/.next/static/chunks/pages/_app.js deleted file mode 100644 index c512f67..0000000 --- a/.next/static/chunks/pages/_app.js +++ /dev/null @@ -1,8751 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_app"],{ - -/***/ "./node_modules/@noble/curves/abstract/utils.js": -/*!******************************************************!*\ - !*** ./node_modules/@noble/curves/abstract/utils.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateObject = exports.createHmacDrbg = exports.bitMask = exports.bitSet = exports.bitGet = exports.bitLen = exports.utf8ToBytes = exports.equalBytes = exports.concatBytes = exports.ensureBytes = exports.numberToVarBytesBE = exports.numberToBytesLE = exports.numberToBytesBE = exports.bytesToNumberLE = exports.bytesToNumberBE = exports.hexToBytes = exports.hexToNumber = exports.numberToHexUnpadded = exports.bytesToHex = void 0;\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst u8a = (a) => a instanceof Uint8Array;\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\nfunction bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\nfunction numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nexports.numberToHexUnpadded = numberToHexUnpadded;\nfunction hexToNumber(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // Big Endian\n return BigInt(hex === '' ? '0' : `0x${hex}`);\n}\nexports.hexToNumber = hexToNumber;\n// Caching slows it down 2-3x\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n if (hex.length % 2)\n throw new Error('hex string is invalid: unpadded ' + hex.length);\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\nexports.hexToBytes = hexToBytes;\n// Big Endian\nfunction bytesToNumberBE(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nexports.bytesToNumberBE = bytesToNumberBE;\nfunction bytesToNumberLE(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));\n}\nexports.bytesToNumberLE = bytesToNumberLE;\nconst numberToBytesBE = (n, len) => hexToBytes(n.toString(16).padStart(len * 2, '0'));\nexports.numberToBytesBE = numberToBytesBE;\nconst numberToBytesLE = (n, len) => (0, exports.numberToBytesBE)(n, len).reverse();\nexports.numberToBytesLE = numberToBytesLE;\n// Returns variable number bytes (minimal bigint encoding?)\nconst numberToVarBytesBE = (n) => hexToBytes(numberToHexUnpadded(n));\nexports.numberToVarBytesBE = numberToVarBytesBE;\nfunction ensureBytes(title, hex, expectedLength) {\n let res;\n if (typeof hex === 'string') {\n try {\n res = hexToBytes(hex);\n }\n catch (e) {\n throw new Error(`${title} must be valid hex string, got \"${hex}\". Cause: ${e}`);\n }\n }\n else if (u8a(hex)) {\n // Uint8Array.from() instead of hash.slice() because node.js Buffer\n // is instance of Uint8Array, and its slice() creates **mutable** copy\n res = Uint8Array.from(hex);\n }\n else {\n throw new Error(`${title} must be hex string or Uint8Array`);\n }\n const len = res.length;\n if (typeof expectedLength === 'number' && len !== expectedLength)\n throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`);\n return res;\n}\nexports.ensureBytes = ensureBytes;\n// Copies several Uint8Arrays into one.\nfunction concatBytes(...arrs) {\n const r = new Uint8Array(arrs.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrs.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\nexports.concatBytes = concatBytes;\nfunction equalBytes(b1, b2) {\n // We don't care about timing attacks here\n if (b1.length !== b2.length)\n return false;\n for (let i = 0; i < b1.length; i++)\n if (b1[i] !== b2[i])\n return false;\n return true;\n}\nexports.equalBytes = equalBytes;\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nexports.utf8ToBytes = utf8ToBytes;\n// Bit operations\n// Amount of bits inside bigint (Same as n.toString(2).length)\nfunction bitLen(n) {\n let len;\n for (len = 0; n > _0n; n >>= _1n, len += 1)\n ;\n return len;\n}\nexports.bitLen = bitLen;\n// Gets single bit at position. NOTE: first bit position is 0 (same as arrays)\n// Same as !!+Array.from(n.toString(2)).reverse()[pos]\nconst bitGet = (n, pos) => (n >> BigInt(pos)) & _1n;\nexports.bitGet = bitGet;\n// Sets single bit at position\nconst bitSet = (n, pos, value) => n | ((value ? _1n : _0n) << BigInt(pos));\nexports.bitSet = bitSet;\n// Return mask for N bits (Same as BigInt(`0b${Array(i).fill('1').join('')}`))\n// Not using ** operator with bigints for old engines.\nconst bitMask = (n) => (_2n << BigInt(n - 1)) - _1n;\nexports.bitMask = bitMask;\n// DRBG\nconst u8n = (data) => new Uint8Array(data); // creates Uint8Array\nconst u8fr = (arr) => Uint8Array.from(arr); // another shortcut\n/**\n * Minimal HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n * @returns function that will call DRBG until 2nd arg returns something meaningful\n * @example\n * const drbg = createHmacDRBG<Key>(32, 32, hmac);\n * drbg(seed, bytesToKey); // bytesToKey must return Key or undefined\n */\nfunction createHmacDrbg(hashLen, qByteLen, hmacFn) {\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n if (typeof hmacFn !== 'function')\n throw new Error('hmacFn must be a function');\n // Step B, Step C: set hashLen to 8*ceil(hlen/8)\n let v = u8n(hashLen); // Minimal non-full-spec HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n let k = u8n(hashLen); // Steps B and C of RFC6979 3.2: set hashLen, in our case always same\n let i = 0; // Iterations counter, will throw when over 1000\n const reset = () => {\n v.fill(1);\n k.fill(0);\n i = 0;\n };\n const h = (...b) => hmacFn(k, v, ...b); // hmac(k)(v, ...values)\n const reseed = (seed = u8n()) => {\n // HMAC-DRBG reseed() function. Steps D-G\n k = h(u8fr([0x00]), seed); // k = hmac(k || v || 0x00 || seed)\n v = h(); // v = hmac(k || v)\n if (seed.length === 0)\n return;\n k = h(u8fr([0x01]), seed); // k = hmac(k || v || 0x01 || seed)\n v = h(); // v = hmac(k || v)\n };\n const gen = () => {\n // HMAC-DRBG generate() function\n if (i++ >= 1000)\n throw new Error('drbg: tried 1000 values');\n let len = 0;\n const out = [];\n while (len < qByteLen) {\n v = h();\n const sl = v.slice();\n out.push(sl);\n len += v.length;\n }\n return concatBytes(...out);\n };\n const genUntil = (seed, pred) => {\n reset();\n reseed(seed); // Steps D-G\n let res = undefined; // Step H: grind until k is in [1..n-1]\n while (!(res = pred(gen())))\n reseed();\n reset();\n return res;\n };\n return genUntil;\n}\nexports.createHmacDrbg = createHmacDrbg;\n// Validating curves and fields\nconst validatorFns = {\n bigint: (val) => typeof val === 'bigint',\n function: (val) => typeof val === 'function',\n boolean: (val) => typeof val === 'boolean',\n string: (val) => typeof val === 'string',\n isSafeInteger: (val) => Number.isSafeInteger(val),\n array: (val) => Array.isArray(val),\n field: (val, object) => object.Fp.isValid(val),\n hash: (val) => typeof val === 'function' && Number.isSafeInteger(val.outputLen),\n};\n// type Record<K extends string | number | symbol, T> = { [P in K]: T; }\nfunction validateObject(object, validators, optValidators = {}) {\n const checkField = (fieldName, type, isOptional) => {\n const checkVal = validatorFns[type];\n if (typeof checkVal !== 'function')\n throw new Error(`Invalid validator \"${type}\", expected function`);\n const val = object[fieldName];\n if (isOptional && val === undefined)\n return;\n if (!checkVal(val, object)) {\n throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`);\n }\n };\n for (const [fieldName, type] of Object.entries(validators))\n checkField(fieldName, type, false);\n for (const [fieldName, type] of Object.entries(optValidators))\n checkField(fieldName, type, true);\n return object;\n}\nexports.validateObject = validateObject;\n// validate type tests\n// const o: { a: number; b: number; c: number } = { a: 1, b: 5, c: 6 };\n// const z0 = validateObject(o, { a: 'isSafeInteger' }, { c: 'bigint' }); // Ok!\n// // Should fail type-check\n// const z1 = validateObject(o, { a: 'tmp' }, { c: 'zz' });\n// const z2 = validateObject(o, { a: 'isSafeInteger' }, { c: 'zz' });\n// const z3 = validateObject(o, { test: 'boolean', z: 'bug' });\n// const z4 = validateObject(o, { a: 'boolean', z: 'bug' });\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9hYnN0cmFjdC91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0IsR0FBRyxzQkFBc0IsR0FBRyxlQUFlLEdBQUcsY0FBYyxHQUFHLGNBQWMsR0FBRyxjQUFjLEdBQUcsbUJBQW1CLEdBQUcsa0JBQWtCLEdBQUcsbUJBQW1CLEdBQUcsbUJBQW1CLEdBQUcsMEJBQTBCLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLEdBQUcsa0JBQWtCLEdBQUcsbUJBQW1CLEdBQUcsMkJBQTJCLEdBQUcsa0JBQWtCO0FBQzlhO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsYUFBYTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0NBQWdDLElBQUk7QUFDcEM7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsSUFBSTtBQUM5QztBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixPQUFPLGlDQUFpQyxJQUFJLFlBQVksRUFBRTtBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLE9BQU87QUFDbEM7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLE9BQU8sV0FBVyxnQkFBZ0IsYUFBYSxJQUFJO0FBQzlFO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixlQUFlO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQSw0REFBNEQsV0FBVztBQUN2RTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsK0NBQStDLDRCQUE0QjtBQUMzRTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0EsNENBQTRDO0FBQzVDLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0Qiw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRCw4REFBOEQ7QUFDOUQ7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELEtBQUs7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsa0JBQWtCLEdBQUcsS0FBSyxHQUFHLFdBQVcsY0FBYyxLQUFLO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQSxjQUFjLFdBQVcsV0FBVyxZQUFZLElBQUk7QUFDcEQsa0NBQWtDLG9CQUFvQixJQUFJLGFBQWEsR0FBRztBQUMxRTtBQUNBLGtDQUFrQyxVQUFVLElBQUksU0FBUztBQUN6RCxrQ0FBa0Msb0JBQW9CLElBQUksU0FBUztBQUNuRSxrQ0FBa0MsMkJBQTJCO0FBQzdELGtDQUFrQyx3QkFBd0I7QUFDMUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9jdXJ2ZXMvYWJzdHJhY3QvdXRpbHMuanM/YzdkMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudmFsaWRhdGVPYmplY3QgPSBleHBvcnRzLmNyZWF0ZUhtYWNEcmJnID0gZXhwb3J0cy5iaXRNYXNrID0gZXhwb3J0cy5iaXRTZXQgPSBleHBvcnRzLmJpdEdldCA9IGV4cG9ydHMuYml0TGVuID0gZXhwb3J0cy51dGY4VG9CeXRlcyA9IGV4cG9ydHMuZXF1YWxCeXRlcyA9IGV4cG9ydHMuY29uY2F0Qnl0ZXMgPSBleHBvcnRzLmVuc3VyZUJ5dGVzID0gZXhwb3J0cy5udW1iZXJUb1ZhckJ5dGVzQkUgPSBleHBvcnRzLm51bWJlclRvQnl0ZXNMRSA9IGV4cG9ydHMubnVtYmVyVG9CeXRlc0JFID0gZXhwb3J0cy5ieXRlc1RvTnVtYmVyTEUgPSBleHBvcnRzLmJ5dGVzVG9OdW1iZXJCRSA9IGV4cG9ydHMuaGV4VG9CeXRlcyA9IGV4cG9ydHMuaGV4VG9OdW1iZXIgPSBleHBvcnRzLm51bWJlclRvSGV4VW5wYWRkZWQgPSBleHBvcnRzLmJ5dGVzVG9IZXggPSB2b2lkIDA7XG4vKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovXG5jb25zdCBfMG4gPSBCaWdJbnQoMCk7XG5jb25zdCBfMW4gPSBCaWdJbnQoMSk7XG5jb25zdCBfMm4gPSBCaWdJbnQoMik7XG5jb25zdCB1OGEgPSAoYSkgPT4gYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk7XG5jb25zdCBoZXhlcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDI1NiB9LCAodiwgaSkgPT4gaS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSk7XG5mdW5jdGlvbiBieXRlc1RvSGV4KGJ5dGVzKSB7XG4gICAgaWYgKCF1OGEoYnl0ZXMpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VpbnQ4QXJyYXkgZXhwZWN0ZWQnKTtcbiAgICAvLyBwcmUtY2FjaGluZyBpbXByb3ZlcyB0aGUgc3BlZWQgNnhcbiAgICBsZXQgaGV4ID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBoZXggKz0gaGV4ZXNbYnl0ZXNbaV1dO1xuICAgIH1cbiAgICByZXR1cm4gaGV4O1xufVxuZXhwb3J0cy5ieXRlc1RvSGV4ID0gYnl0ZXNUb0hleDtcbmZ1bmN0aW9uIG51bWJlclRvSGV4VW5wYWRkZWQobnVtKSB7XG4gICAgY29uc3QgaGV4ID0gbnVtLnRvU3RyaW5nKDE2KTtcbiAgICByZXR1cm4gaGV4Lmxlbmd0aCAmIDEgPyBgMCR7aGV4fWAgOiBoZXg7XG59XG5leHBvcnRzLm51bWJlclRvSGV4VW5wYWRkZWQgPSBudW1iZXJUb0hleFVucGFkZGVkO1xuZnVuY3Rpb24gaGV4VG9OdW1iZXIoaGV4KSB7XG4gICAgaWYgKHR5cGVvZiBoZXggIT09ICdzdHJpbmcnKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCAnICsgdHlwZW9mIGhleCk7XG4gICAgLy8gQmlnIEVuZGlhblxuICAgIHJldHVybiBCaWdJbnQoaGV4ID09PSAnJyA/ICcwJyA6IGAweCR7aGV4fWApO1xufVxuZXhwb3J0cy5oZXhUb051bWJlciA9IGhleFRvTnVtYmVyO1xuLy8gQ2FjaGluZyBzbG93cyBpdCBkb3duIDItM3hcbmZ1bmN0aW9uIGhleFRvQnl0ZXMoaGV4KSB7XG4gICAgaWYgKHR5cGVvZiBoZXggIT09ICdzdHJpbmcnKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hleCBzdHJpbmcgZXhwZWN0ZWQsIGdvdCAnICsgdHlwZW9mIGhleCk7XG4gICAgaWYgKGhleC5sZW5ndGggJSAyKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hleCBzdHJpbmcgaXMgaW52YWxpZDogdW5wYWRkZWQgJyArIGhleC5sZW5ndGgpO1xuICAgIGNvbnN0IGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoaGV4Lmxlbmd0aCAvIDIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaiA9IGkgKiAyO1xuICAgICAgICBjb25zdCBoZXhCeXRlID0gaGV4LnNsaWNlKGosIGogKyAyKTtcbiAgICAgICAgY29uc3QgYnl0ZSA9IE51bWJlci5wYXJzZUludChoZXhCeXRlLCAxNik7XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4oYnl0ZSkgfHwgYnl0ZSA8IDApXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYnl0ZSBzZXF1ZW5jZScpO1xuICAgICAgICBhcnJheVtpXSA9IGJ5dGU7XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbn1cbmV4cG9ydHMuaGV4VG9CeXRlcyA9IGhleFRvQnl0ZXM7XG4vLyBCaWcgRW5kaWFuXG5mdW5jdGlvbiBieXRlc1RvTnVtYmVyQkUoYnl0ZXMpIHtcbiAgICByZXR1cm4gaGV4VG9OdW1iZXIoYnl0ZXNUb0hleChieXRlcykpO1xufVxuZXhwb3J0cy5ieXRlc1RvTnVtYmVyQkUgPSBieXRlc1RvTnVtYmVyQkU7XG5mdW5jdGlvbiBieXRlc1RvTnVtYmVyTEUoYnl0ZXMpIHtcbiAgICBpZiAoIXU4YShieXRlcykpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVWludDhBcnJheSBleHBlY3RlZCcpO1xuICAgIHJldHVybiBoZXhUb051bWJlcihieXRlc1RvSGV4KFVpbnQ4QXJyYXkuZnJvbShieXRlcykucmV2ZXJzZSgpKSk7XG59XG5leHBvcnRzLmJ5dGVzVG9OdW1iZXJMRSA9IGJ5dGVzVG9OdW1iZXJMRTtcbmNvbnN0IG51bWJlclRvQnl0ZXNCRSA9IChuLCBsZW4pID0+IGhleFRvQnl0ZXMobi50b1N0cmluZygxNikucGFkU3RhcnQobGVuICogMiwgJzAnKSk7XG5leHBvcnRzLm51bWJlclRvQnl0ZXNCRSA9IG51bWJlclRvQnl0ZXNCRTtcbmNvbnN0IG51bWJlclRvQnl0ZXNMRSA9IChuLCBsZW4pID0+ICgwLCBleHBvcnRzLm51bWJlclRvQnl0ZXNCRSkobiwgbGVuKS5yZXZlcnNlKCk7XG5leHBvcnRzLm51bWJlclRvQnl0ZXNMRSA9IG51bWJlclRvQnl0ZXNMRTtcbi8vIFJldHVybnMgdmFyaWFibGUgbnVtYmVyIGJ5dGVzIChtaW5pbWFsIGJpZ2ludCBlbmNvZGluZz8pXG5jb25zdCBudW1iZXJUb1ZhckJ5dGVzQkUgPSAobikgPT4gaGV4VG9CeXRlcyhudW1iZXJUb0hleFVucGFkZGVkKG4pKTtcbmV4cG9ydHMubnVtYmVyVG9WYXJCeXRlc0JFID0gbnVtYmVyVG9WYXJCeXRlc0JFO1xuZnVuY3Rpb24gZW5zdXJlQnl0ZXModGl0bGUsIGhleCwgZXhwZWN0ZWRMZW5ndGgpIHtcbiAgICBsZXQgcmVzO1xuICAgIGlmICh0eXBlb2YgaGV4ID09PSAnc3RyaW5nJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzID0gaGV4VG9CeXRlcyhoZXgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGl0bGV9IG11c3QgYmUgdmFsaWQgaGV4IHN0cmluZywgZ290IFwiJHtoZXh9XCIuIENhdXNlOiAke2V9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAodThhKGhleCkpIHtcbiAgICAgICAgLy8gVWludDhBcnJheS5mcm9tKCkgaW5zdGVhZCBvZiBoYXNoLnNsaWNlKCkgYmVjYXVzZSBub2RlLmpzIEJ1ZmZlclxuICAgICAgICAvLyBpcyBpbnN0YW5jZSBvZiBVaW50OEFycmF5LCBhbmQgaXRzIHNsaWNlKCkgY3JlYXRlcyAqKm11dGFibGUqKiBjb3B5XG4gICAgICAgIHJlcyA9IFVpbnQ4QXJyYXkuZnJvbShoZXgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RpdGxlfSBtdXN0IGJlIGhleCBzdHJpbmcgb3IgVWludDhBcnJheWApO1xuICAgIH1cbiAgICBjb25zdCBsZW4gPSByZXMubGVuZ3RoO1xuICAgIGlmICh0eXBlb2YgZXhwZWN0ZWRMZW5ndGggPT09ICdudW1iZXInICYmIGxlbiAhPT0gZXhwZWN0ZWRMZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aXRsZX0gZXhwZWN0ZWQgJHtleHBlY3RlZExlbmd0aH0gYnl0ZXMsIGdvdCAke2xlbn1gKTtcbiAgICByZXR1cm4gcmVzO1xufVxuZXhwb3J0cy5lbnN1cmVCeXRlcyA9IGVuc3VyZUJ5dGVzO1xuLy8gQ29waWVzIHNldmVyYWwgVWludDhBcnJheXMgaW50byBvbmUuXG5mdW5jdGlvbiBjb25jYXRCeXRlcyguLi5hcnJzKSB7XG4gICAgY29uc3QgciA9IG5ldyBVaW50OEFycmF5KGFycnMucmVkdWNlKChzdW0sIGEpID0+IHN1bSArIGEubGVuZ3RoLCAwKSk7XG4gICAgbGV0IHBhZCA9IDA7IC8vIHdhbGsgdGhyb3VnaCBlYWNoIGl0ZW0sIGVuc3VyZSB0aGV5IGhhdmUgcHJvcGVyIHR5cGVcbiAgICBhcnJzLmZvckVhY2goKGEpID0+IHtcbiAgICAgICAgaWYgKCF1OGEoYSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VpbnQ4QXJyYXkgZXhwZWN0ZWQnKTtcbiAgICAgICAgci5zZXQoYSwgcGFkKTtcbiAgICAgICAgcGFkICs9IGEubGVuZ3RoO1xuICAgIH0pO1xuICAgIHJldHVybiByO1xufVxuZXhwb3J0cy5jb25jYXRCeXRlcyA9IGNvbmNhdEJ5dGVzO1xuZnVuY3Rpb24gZXF1YWxCeXRlcyhiMSwgYjIpIHtcbiAgICAvLyBXZSBkb24ndCBjYXJlIGFib3V0IHRpbWluZyBhdHRhY2tzIGhlcmVcbiAgICBpZiAoYjEubGVuZ3RoICE9PSBiMi5sZW5ndGgpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGIxLmxlbmd0aDsgaSsrKVxuICAgICAgICBpZiAoYjFbaV0gIT09IGIyW2ldKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xufVxuZXhwb3J0cy5lcXVhbEJ5dGVzID0gZXF1YWxCeXRlcztcbmZ1bmN0aW9uIHV0ZjhUb0J5dGVzKHN0cikge1xuICAgIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHV0ZjhUb0J5dGVzIGV4cGVjdGVkIHN0cmluZywgZ290ICR7dHlwZW9mIHN0cn1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShzdHIpO1xufVxuZXhwb3J0cy51dGY4VG9CeXRlcyA9IHV0ZjhUb0J5dGVzO1xuLy8gQml0IG9wZXJhdGlvbnNcbi8vIEFtb3VudCBvZiBiaXRzIGluc2lkZSBiaWdpbnQgKFNhbWUgYXMgbi50b1N0cmluZygyKS5sZW5ndGgpXG5mdW5jdGlvbiBiaXRMZW4obikge1xuICAgIGxldCBsZW47XG4gICAgZm9yIChsZW4gPSAwOyBuID4gXzBuOyBuID4+PSBfMW4sIGxlbiArPSAxKVxuICAgICAgICA7XG4gICAgcmV0dXJuIGxlbjtcbn1cbmV4cG9ydHMuYml0TGVuID0gYml0TGVuO1xuLy8gR2V0cyBzaW5nbGUgYml0IGF0IHBvc2l0aW9uLiBOT1RFOiBmaXJzdCBiaXQgcG9zaXRpb24gaXMgMCAoc2FtZSBhcyBhcnJheXMpXG4vLyBTYW1lIGFzICEhK0FycmF5LmZyb20obi50b1N0cmluZygyKSkucmV2ZXJzZSgpW3Bvc11cbmNvbnN0IGJpdEdldCA9IChuLCBwb3MpID0+IChuID4+IEJpZ0ludChwb3MpKSAmIF8xbjtcbmV4cG9ydHMuYml0R2V0ID0gYml0R2V0O1xuLy8gU2V0cyBzaW5nbGUgYml0IGF0IHBvc2l0aW9uXG5jb25zdCBiaXRTZXQgPSAobiwgcG9zLCB2YWx1ZSkgPT4gbiB8ICgodmFsdWUgPyBfMW4gOiBfMG4pIDw8IEJpZ0ludChwb3MpKTtcbmV4cG9ydHMuYml0U2V0ID0gYml0U2V0O1xuLy8gUmV0dXJuIG1hc2sgZm9yIE4gYml0cyAoU2FtZSBhcyBCaWdJbnQoYDBiJHtBcnJheShpKS5maWxsKCcxJykuam9pbignJyl9YCkpXG4vLyBOb3QgdXNpbmcgKiogb3BlcmF0b3Igd2l0aCBiaWdpbnRzIGZvciBvbGQgZW5naW5lcy5cbmNvbnN0IGJpdE1hc2sgPSAobikgPT4gKF8ybiA8PCBCaWdJbnQobiAtIDEpKSAtIF8xbjtcbmV4cG9ydHMuYml0TWFzayA9IGJpdE1hc2s7XG4vLyBEUkJHXG5jb25zdCB1OG4gPSAoZGF0YSkgPT4gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7IC8vIGNyZWF0ZXMgVWludDhBcnJheVxuY29uc3QgdThmciA9IChhcnIpID0+IFVpbnQ4QXJyYXkuZnJvbShhcnIpOyAvLyBhbm90aGVyIHNob3J0Y3V0XG4vKipcbiAqIE1pbmltYWwgSE1BQy1EUkJHIGZyb20gTklTVCA4MDAtOTAgZm9yIFJGQzY5Nzkgc2lncy5cbiAqIEByZXR1cm5zIGZ1bmN0aW9uIHRoYXQgd2lsbCBjYWxsIERSQkcgdW50aWwgMm5kIGFyZyByZXR1cm5zIHNvbWV0aGluZyBtZWFuaW5nZnVsXG4gKiBAZXhhbXBsZVxuICogICBjb25zdCBkcmJnID0gY3JlYXRlSG1hY0RSQkc8S2V5PigzMiwgMzIsIGhtYWMpO1xuICogICBkcmJnKHNlZWQsIGJ5dGVzVG9LZXkpOyAvLyBieXRlc1RvS2V5IG11c3QgcmV0dXJuIEtleSBvciB1bmRlZmluZWRcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSG1hY0RyYmcoaGFzaExlbiwgcUJ5dGVMZW4sIGhtYWNGbikge1xuICAgIGlmICh0eXBlb2YgaGFzaExlbiAhPT0gJ251bWJlcicgfHwgaGFzaExlbiA8IDIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGFzaExlbiBtdXN0IGJlIGEgbnVtYmVyJyk7XG4gICAgaWYgKHR5cGVvZiBxQnl0ZUxlbiAhPT0gJ251bWJlcicgfHwgcUJ5dGVMZW4gPCAyKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3FCeXRlTGVuIG11c3QgYmUgYSBudW1iZXInKTtcbiAgICBpZiAodHlwZW9mIGhtYWNGbiAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdobWFjRm4gbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XG4gICAgLy8gU3RlcCBCLCBTdGVwIEM6IHNldCBoYXNoTGVuIHRvIDgqY2VpbChobGVuLzgpXG4gICAgbGV0IHYgPSB1OG4oaGFzaExlbik7IC8vIE1pbmltYWwgbm9uLWZ1bGwtc3BlYyBITUFDLURSQkcgZnJvbSBOSVNUIDgwMC05MCBmb3IgUkZDNjk3OSBzaWdzLlxuICAgIGxldCBrID0gdThuKGhhc2hMZW4pOyAvLyBTdGVwcyBCIGFuZCBDIG9mIFJGQzY5NzkgMy4yOiBzZXQgaGFzaExlbiwgaW4gb3VyIGNhc2UgYWx3YXlzIHNhbWVcbiAgICBsZXQgaSA9IDA7IC8vIEl0ZXJhdGlvbnMgY291bnRlciwgd2lsbCB0aHJvdyB3aGVuIG92ZXIgMTAwMFxuICAgIGNvbnN0IHJlc2V0ID0gKCkgPT4ge1xuICAgICAgICB2LmZpbGwoMSk7XG4gICAgICAgIGsuZmlsbCgwKTtcbiAgICAgICAgaSA9IDA7XG4gICAgfTtcbiAgICBjb25zdCBoID0gKC4uLmIpID0+IGhtYWNGbihrLCB2LCAuLi5iKTsgLy8gaG1hYyhrKSh2LCAuLi52YWx1ZXMpXG4gICAgY29uc3QgcmVzZWVkID0gKHNlZWQgPSB1OG4oKSkgPT4ge1xuICAgICAgICAvLyBITUFDLURSQkcgcmVzZWVkKCkgZnVuY3Rpb24uIFN0ZXBzIEQtR1xuICAgICAgICBrID0gaCh1OGZyKFsweDAwXSksIHNlZWQpOyAvLyBrID0gaG1hYyhrIHx8IHYgfHwgMHgwMCB8fCBzZWVkKVxuICAgICAgICB2ID0gaCgpOyAvLyB2ID0gaG1hYyhrIHx8IHYpXG4gICAgICAgIGlmIChzZWVkLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgayA9IGgodThmcihbMHgwMV0pLCBzZWVkKTsgLy8gayA9IGhtYWMoayB8fCB2IHx8IDB4MDEgfHwgc2VlZClcbiAgICAgICAgdiA9IGgoKTsgLy8gdiA9IGhtYWMoayB8fCB2KVxuICAgIH07XG4gICAgY29uc3QgZ2VuID0gKCkgPT4ge1xuICAgICAgICAvLyBITUFDLURSQkcgZ2VuZXJhdGUoKSBmdW5jdGlvblxuICAgICAgICBpZiAoaSsrID49IDEwMDApXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RyYmc6IHRyaWVkIDEwMDAgdmFsdWVzJyk7XG4gICAgICAgIGxldCBsZW4gPSAwO1xuICAgICAgICBjb25zdCBvdXQgPSBbXTtcbiAgICAgICAgd2hpbGUgKGxlbiA8IHFCeXRlTGVuKSB7XG4gICAgICAgICAgICB2ID0gaCgpO1xuICAgICAgICAgICAgY29uc3Qgc2wgPSB2LnNsaWNlKCk7XG4gICAgICAgICAgICBvdXQucHVzaChzbCk7XG4gICAgICAgICAgICBsZW4gKz0gdi5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbmNhdEJ5dGVzKC4uLm91dCk7XG4gICAgfTtcbiAgICBjb25zdCBnZW5VbnRpbCA9IChzZWVkLCBwcmVkKSA9PiB7XG4gICAgICAgIHJlc2V0KCk7XG4gICAgICAgIHJlc2VlZChzZWVkKTsgLy8gU3RlcHMgRC1HXG4gICAgICAgIGxldCByZXMgPSB1bmRlZmluZWQ7IC8vIFN0ZXAgSDogZ3JpbmQgdW50aWwgayBpcyBpbiBbMS4ubi0xXVxuICAgICAgICB3aGlsZSAoIShyZXMgPSBwcmVkKGdlbigpKSkpXG4gICAgICAgICAgICByZXNlZWQoKTtcbiAgICAgICAgcmVzZXQoKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIHJldHVybiBnZW5VbnRpbDtcbn1cbmV4cG9ydHMuY3JlYXRlSG1hY0RyYmcgPSBjcmVhdGVIbWFjRHJiZztcbi8vIFZhbGlkYXRpbmcgY3VydmVzIGFuZCBmaWVsZHNcbmNvbnN0IHZhbGlkYXRvckZucyA9IHtcbiAgICBiaWdpbnQ6ICh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdiaWdpbnQnLFxuICAgIGZ1bmN0aW9uOiAodmFsKSA9PiB0eXBlb2YgdmFsID09PSAnZnVuY3Rpb24nLFxuICAgIGJvb2xlYW46ICh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdib29sZWFuJyxcbiAgICBzdHJpbmc6ICh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnLFxuICAgIGlzU2FmZUludGVnZXI6ICh2YWwpID0+IE51bWJlci5pc1NhZmVJbnRlZ2VyKHZhbCksXG4gICAgYXJyYXk6ICh2YWwpID0+IEFycmF5LmlzQXJyYXkodmFsKSxcbiAgICBmaWVsZDogKHZhbCwgb2JqZWN0KSA9PiBvYmplY3QuRnAuaXNWYWxpZCh2YWwpLFxuICAgIGhhc2g6ICh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicgJiYgTnVtYmVyLmlzU2FmZUludGVnZXIodmFsLm91dHB1dExlbiksXG59O1xuLy8gdHlwZSBSZWNvcmQ8SyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgVD4gPSB7IFtQIGluIEtdOiBUOyB9XG5mdW5jdGlvbiB2YWxpZGF0ZU9iamVjdChvYmplY3QsIHZhbGlkYXRvcnMsIG9wdFZhbGlkYXRvcnMgPSB7fSkge1xuICAgIGNvbnN0IGNoZWNrRmllbGQgPSAoZmllbGROYW1lLCB0eXBlLCBpc09wdGlvbmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoZWNrVmFsID0gdmFsaWRhdG9yRm5zW3R5cGVdO1xuICAgICAgICBpZiAodHlwZW9mIGNoZWNrVmFsICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHZhbGlkYXRvciBcIiR7dHlwZX1cIiwgZXhwZWN0ZWQgZnVuY3Rpb25gKTtcbiAgICAgICAgY29uc3QgdmFsID0gb2JqZWN0W2ZpZWxkTmFtZV07XG4gICAgICAgIGlmIChpc09wdGlvbmFsICYmIHZhbCA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoIWNoZWNrVmFsKHZhbCwgb2JqZWN0KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcmFtICR7U3RyaW5nKGZpZWxkTmFtZSl9PSR7dmFsfSAoJHt0eXBlb2YgdmFsfSksIGV4cGVjdGVkICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9yIChjb25zdCBbZmllbGROYW1lLCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyh2YWxpZGF0b3JzKSlcbiAgICAgICAgY2hlY2tGaWVsZChmaWVsZE5hbWUsIHR5cGUsIGZhbHNlKTtcbiAgICBmb3IgKGNvbnN0IFtmaWVsZE5hbWUsIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKG9wdFZhbGlkYXRvcnMpKVxuICAgICAgICBjaGVja0ZpZWxkKGZpZWxkTmFtZSwgdHlwZSwgdHJ1ZSk7XG4gICAgcmV0dXJuIG9iamVjdDtcbn1cbmV4cG9ydHMudmFsaWRhdGVPYmplY3QgPSB2YWxpZGF0ZU9iamVjdDtcbi8vIHZhbGlkYXRlIHR5cGUgdGVzdHNcbi8vIGNvbnN0IG86IHsgYTogbnVtYmVyOyBiOiBudW1iZXI7IGM6IG51bWJlciB9ID0geyBhOiAxLCBiOiA1LCBjOiA2IH07XG4vLyBjb25zdCB6MCA9IHZhbGlkYXRlT2JqZWN0KG8sIHsgYTogJ2lzU2FmZUludGVnZXInIH0sIHsgYzogJ2JpZ2ludCcgfSk7IC8vIE9rIVxuLy8gLy8gU2hvdWxkIGZhaWwgdHlwZS1jaGVja1xuLy8gY29uc3QgejEgPSB2YWxpZGF0ZU9iamVjdChvLCB7IGE6ICd0bXAnIH0sIHsgYzogJ3p6JyB9KTtcbi8vIGNvbnN0IHoyID0gdmFsaWRhdGVPYmplY3QobywgeyBhOiAnaXNTYWZlSW50ZWdlcicgfSwgeyBjOiAnenonIH0pO1xuLy8gY29uc3QgejMgPSB2YWxpZGF0ZU9iamVjdChvLCB7IHRlc3Q6ICdib29sZWFuJywgejogJ2J1ZycgfSk7XG4vLyBjb25zdCB6NCA9IHZhbGlkYXRlT2JqZWN0KG8sIHsgYTogJ2Jvb2xlYW4nLCB6OiAnYnVnJyB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/abstract/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/_assert.js": -/*!***********************************************!*\ - !*** ./node_modules/@noble/hashes/_assert.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;\nfunction number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexports.number = number;\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexports.bool = bool;\nfunction bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexports.bytes = bytes;\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexports.hash = hash;\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexports.exists = exists;\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexports.output = output;\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\nexports[\"default\"] = assert;\n//# sourceMappingURL=_assert.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9fYXNzZXJ0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGNBQWMsR0FBRyxjQUFjLEdBQUcsWUFBWSxHQUFHLGFBQWEsR0FBRyxZQUFZLEdBQUcsY0FBYztBQUM5RjtBQUNBO0FBQ0EsbURBQW1ELEVBQUU7QUFDckQ7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLGlEQUFpRCxFQUFFO0FBQ25EO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELFFBQVEsa0JBQWtCLFNBQVM7QUFDaEc7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlGQUFpRixJQUFJO0FBQ3JGO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9oYXNoZXMvX2Fzc2VydC5qcz81OGVlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5vdXRwdXQgPSBleHBvcnRzLmV4aXN0cyA9IGV4cG9ydHMuaGFzaCA9IGV4cG9ydHMuYnl0ZXMgPSBleHBvcnRzLmJvb2wgPSBleHBvcnRzLm51bWJlciA9IHZvaWQgMDtcbmZ1bmN0aW9uIG51bWJlcihuKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihuKSB8fCBuIDwgMClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXcm9uZyBwb3NpdGl2ZSBpbnRlZ2VyOiAke259YCk7XG59XG5leHBvcnRzLm51bWJlciA9IG51bWJlcjtcbmZ1bmN0aW9uIGJvb2woYikge1xuICAgIGlmICh0eXBlb2YgYiAhPT0gJ2Jvb2xlYW4nKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGJvb2xlYW4sIG5vdCAke2J9YCk7XG59XG5leHBvcnRzLmJvb2wgPSBib29sO1xuZnVuY3Rpb24gYnl0ZXMoYiwgLi4ubGVuZ3Rocykge1xuICAgIGlmICghKGIgaW5zdGFuY2VvZiBVaW50OEFycmF5KSlcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgVWludDhBcnJheScpO1xuICAgIGlmIChsZW5ndGhzLmxlbmd0aCA+IDAgJiYgIWxlbmd0aHMuaW5jbHVkZXMoYi5sZW5ndGgpKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBVaW50OEFycmF5IG9mIGxlbmd0aCAke2xlbmd0aHN9LCBub3Qgb2YgbGVuZ3RoPSR7Yi5sZW5ndGh9YCk7XG59XG5leHBvcnRzLmJ5dGVzID0gYnl0ZXM7XG5mdW5jdGlvbiBoYXNoKGhhc2gpIHtcbiAgICBpZiAodHlwZW9mIGhhc2ggIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGhhc2guY3JlYXRlICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hhc2ggc2hvdWxkIGJlIHdyYXBwZWQgYnkgdXRpbHMud3JhcENvbnN0cnVjdG9yJyk7XG4gICAgbnVtYmVyKGhhc2gub3V0cHV0TGVuKTtcbiAgICBudW1iZXIoaGFzaC5ibG9ja0xlbik7XG59XG5leHBvcnRzLmhhc2ggPSBoYXNoO1xuZnVuY3Rpb24gZXhpc3RzKGluc3RhbmNlLCBjaGVja0ZpbmlzaGVkID0gdHJ1ZSkge1xuICAgIGlmIChpbnN0YW5jZS5kZXN0cm95ZWQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSGFzaCBpbnN0YW5jZSBoYXMgYmVlbiBkZXN0cm95ZWQnKTtcbiAgICBpZiAoY2hlY2tGaW5pc2hlZCAmJiBpbnN0YW5jZS5maW5pc2hlZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIYXNoI2RpZ2VzdCgpIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkJyk7XG59XG5leHBvcnRzLmV4aXN0cyA9IGV4aXN0cztcbmZ1bmN0aW9uIG91dHB1dChvdXQsIGluc3RhbmNlKSB7XG4gICAgYnl0ZXMob3V0KTtcbiAgICBjb25zdCBtaW4gPSBpbnN0YW5jZS5vdXRwdXRMZW47XG4gICAgaWYgKG91dC5sZW5ndGggPCBtaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBkaWdlc3RJbnRvKCkgZXhwZWN0cyBvdXRwdXQgYnVmZmVyIG9mIGxlbmd0aCBhdCBsZWFzdCAke21pbn1gKTtcbiAgICB9XG59XG5leHBvcnRzLm91dHB1dCA9IG91dHB1dDtcbmNvbnN0IGFzc2VydCA9IHtcbiAgICBudW1iZXIsXG4gICAgYm9vbCxcbiAgICBieXRlcyxcbiAgICBoYXNoLFxuICAgIGV4aXN0cyxcbiAgICBvdXRwdXQsXG59O1xuZXhwb3J0cy5kZWZhdWx0ID0gYXNzZXJ0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X2Fzc2VydC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/_assert.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/_u64.js": -/*!********************************************!*\ - !*** ./node_modules/@noble/hashes/_u64.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.add = exports.toBig = exports.split = exports.fromBig = void 0;\nconst U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nexports.fromBig = fromBig;\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nexports.split = split;\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\nexports.toBig = toBig;\n// for Shift in [0, 32)\nconst shrSH = (h, l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h, l) => l;\nconst rotr32L = (h, l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\nexports.add = add;\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig: exports.toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexports[\"default\"] = u64;\n//# sourceMappingURL=_u64.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9fdTY0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELFdBQVcsR0FBRyxhQUFhLEdBQUcsYUFBYSxHQUFHLGVBQWU7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGdCQUFnQjtBQUNwQyxnQkFBZ0IsT0FBTztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9fdTY0LmpzP2QyNzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmFkZCA9IGV4cG9ydHMudG9CaWcgPSBleHBvcnRzLnNwbGl0ID0gZXhwb3J0cy5mcm9tQmlnID0gdm9pZCAwO1xuY29uc3QgVTMyX01BU0s2NCA9IEJpZ0ludCgyICoqIDMyIC0gMSk7XG5jb25zdCBfMzJuID0gQmlnSW50KDMyKTtcbi8vIFdlIGFyZSBub3QgdXNpbmcgQmlnVWludDY0QXJyYXksIGJlY2F1c2UgdGhleSBhcmUgZXh0cmVtZWx5IHNsb3cgYXMgcGVyIDIwMjJcbmZ1bmN0aW9uIGZyb21CaWcobiwgbGUgPSBmYWxzZSkge1xuICAgIGlmIChsZSlcbiAgICAgICAgcmV0dXJuIHsgaDogTnVtYmVyKG4gJiBVMzJfTUFTSzY0KSwgbDogTnVtYmVyKChuID4+IF8zMm4pICYgVTMyX01BU0s2NCkgfTtcbiAgICByZXR1cm4geyBoOiBOdW1iZXIoKG4gPj4gXzMybikgJiBVMzJfTUFTSzY0KSB8IDAsIGw6IE51bWJlcihuICYgVTMyX01BU0s2NCkgfCAwIH07XG59XG5leHBvcnRzLmZyb21CaWcgPSBmcm9tQmlnO1xuZnVuY3Rpb24gc3BsaXQobHN0LCBsZSA9IGZhbHNlKSB7XG4gICAgbGV0IEFoID0gbmV3IFVpbnQzMkFycmF5KGxzdC5sZW5ndGgpO1xuICAgIGxldCBBbCA9IG5ldyBVaW50MzJBcnJheShsc3QubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB7IGgsIGwgfSA9IGZyb21CaWcobHN0W2ldLCBsZSk7XG4gICAgICAgIFtBaFtpXSwgQWxbaV1dID0gW2gsIGxdO1xuICAgIH1cbiAgICByZXR1cm4gW0FoLCBBbF07XG59XG5leHBvcnRzLnNwbGl0ID0gc3BsaXQ7XG5jb25zdCB0b0JpZyA9IChoLCBsKSA9PiAoQmlnSW50KGggPj4+IDApIDw8IF8zMm4pIHwgQmlnSW50KGwgPj4+IDApO1xuZXhwb3J0cy50b0JpZyA9IHRvQmlnO1xuLy8gZm9yIFNoaWZ0IGluIFswLCAzMilcbmNvbnN0IHNoclNIID0gKGgsIGwsIHMpID0+IGggPj4+IHM7XG5jb25zdCBzaHJTTCA9IChoLCBsLCBzKSA9PiAoaCA8PCAoMzIgLSBzKSkgfCAobCA+Pj4gcyk7XG4vLyBSaWdodCByb3RhdGUgZm9yIFNoaWZ0IGluIFsxLCAzMilcbmNvbnN0IHJvdHJTSCA9IChoLCBsLCBzKSA9PiAoaCA+Pj4gcykgfCAobCA8PCAoMzIgLSBzKSk7XG5jb25zdCByb3RyU0wgPSAoaCwgbCwgcykgPT4gKGggPDwgKDMyIC0gcykpIHwgKGwgPj4+IHMpO1xuLy8gUmlnaHQgcm90YXRlIGZvciBTaGlmdCBpbiAoMzIsIDY0KSwgTk9URTogMzIgaXMgc3BlY2lhbCBjYXNlLlxuY29uc3Qgcm90ckJIID0gKGgsIGwsIHMpID0+IChoIDw8ICg2NCAtIHMpKSB8IChsID4+PiAocyAtIDMyKSk7XG5jb25zdCByb3RyQkwgPSAoaCwgbCwgcykgPT4gKGggPj4+IChzIC0gMzIpKSB8IChsIDw8ICg2NCAtIHMpKTtcbi8vIFJpZ2h0IHJvdGF0ZSBmb3Igc2hpZnQ9PT0zMiAoanVzdCBzd2FwcyBsJmgpXG5jb25zdCByb3RyMzJIID0gKGgsIGwpID0+IGw7XG5jb25zdCByb3RyMzJMID0gKGgsIGwpID0+IGg7XG4vLyBMZWZ0IHJvdGF0ZSBmb3IgU2hpZnQgaW4gWzEsIDMyKVxuY29uc3Qgcm90bFNIID0gKGgsIGwsIHMpID0+IChoIDw8IHMpIHwgKGwgPj4+ICgzMiAtIHMpKTtcbmNvbnN0IHJvdGxTTCA9IChoLCBsLCBzKSA9PiAobCA8PCBzKSB8IChoID4+PiAoMzIgLSBzKSk7XG4vLyBMZWZ0IHJvdGF0ZSBmb3IgU2hpZnQgaW4gKDMyLCA2NCksIE5PVEU6IDMyIGlzIHNwZWNpYWwgY2FzZS5cbmNvbnN0IHJvdGxCSCA9IChoLCBsLCBzKSA9PiAobCA8PCAocyAtIDMyKSkgfCAoaCA+Pj4gKDY0IC0gcykpO1xuY29uc3Qgcm90bEJMID0gKGgsIGwsIHMpID0+IChoIDw8IChzIC0gMzIpKSB8IChsID4+PiAoNjQgLSBzKSk7XG4vLyBKUyB1c2VzIDMyLWJpdCBzaWduZWQgaW50ZWdlcnMgZm9yIGJpdHdpc2Ugb3BlcmF0aW9ucyB3aGljaCBtZWFucyB3ZSBjYW5ub3Rcbi8vIHNpbXBsZSB0YWtlIGNhcnJ5IG91dCBvZiBsb3cgYml0IHN1bSBieSBzaGlmdCwgd2UgbmVlZCB0byB1c2UgZGl2aXNpb24uXG4vLyBSZW1vdmluZyBcImV4cG9ydFwiIGhhcyA1JSBwZXJmIHBlbmFsdHkgLV8tXG5mdW5jdGlvbiBhZGQoQWgsIEFsLCBCaCwgQmwpIHtcbiAgICBjb25zdCBsID0gKEFsID4+PiAwKSArIChCbCA+Pj4gMCk7XG4gICAgcmV0dXJuIHsgaDogKEFoICsgQmggKyAoKGwgLyAyICoqIDMyKSB8IDApKSB8IDAsIGw6IGwgfCAwIH07XG59XG5leHBvcnRzLmFkZCA9IGFkZDtcbi8vIEFkZGl0aW9uIHdpdGggbW9yZSB0aGFuIDIgZWxlbWVudHNcbmNvbnN0IGFkZDNMID0gKEFsLCBCbCwgQ2wpID0+IChBbCA+Pj4gMCkgKyAoQmwgPj4+IDApICsgKENsID4+PiAwKTtcbmNvbnN0IGFkZDNIID0gKGxvdywgQWgsIEJoLCBDaCkgPT4gKEFoICsgQmggKyBDaCArICgobG93IC8gMiAqKiAzMikgfCAwKSkgfCAwO1xuY29uc3QgYWRkNEwgPSAoQWwsIEJsLCBDbCwgRGwpID0+IChBbCA+Pj4gMCkgKyAoQmwgPj4+IDApICsgKENsID4+PiAwKSArIChEbCA+Pj4gMCk7XG5jb25zdCBhZGQ0SCA9IChsb3csIEFoLCBCaCwgQ2gsIERoKSA9PiAoQWggKyBCaCArIENoICsgRGggKyAoKGxvdyAvIDIgKiogMzIpIHwgMCkpIHwgMDtcbmNvbnN0IGFkZDVMID0gKEFsLCBCbCwgQ2wsIERsLCBFbCkgPT4gKEFsID4+PiAwKSArIChCbCA+Pj4gMCkgKyAoQ2wgPj4+IDApICsgKERsID4+PiAwKSArIChFbCA+Pj4gMCk7XG5jb25zdCBhZGQ1SCA9IChsb3csIEFoLCBCaCwgQ2gsIERoLCBFaCkgPT4gKEFoICsgQmggKyBDaCArIERoICsgRWggKyAoKGxvdyAvIDIgKiogMzIpIHwgMCkpIHwgMDtcbi8vIHByZXR0aWVyLWlnbm9yZVxuY29uc3QgdTY0ID0ge1xuICAgIGZyb21CaWcsIHNwbGl0LCB0b0JpZzogZXhwb3J0cy50b0JpZyxcbiAgICBzaHJTSCwgc2hyU0wsXG4gICAgcm90clNILCByb3RyU0wsIHJvdHJCSCwgcm90ckJMLFxuICAgIHJvdHIzMkgsIHJvdHIzMkwsXG4gICAgcm90bFNILCByb3RsU0wsIHJvdGxCSCwgcm90bEJMLFxuICAgIGFkZCwgYWRkM0wsIGFkZDNILCBhZGQ0TCwgYWRkNEgsIGFkZDVILCBhZGQ1TCxcbn07XG5leHBvcnRzLmRlZmF1bHQgPSB1NjQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1fdTY0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/_u64.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/crypto.js": -/*!**********************************************!*\ - !*** ./node_modules/@noble/hashes/crypto.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.crypto = void 0;\nexports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9jcnlwdG8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsY0FBYztBQUNkLGNBQWM7QUFDZCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9jcnlwdG8uanM/ZWVkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY3J5cHRvID0gdm9pZCAwO1xuZXhwb3J0cy5jcnlwdG8gPSB0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcgJiYgJ2NyeXB0bycgaW4gZ2xvYmFsVGhpcyA/IGdsb2JhbFRoaXMuY3J5cHRvIDogdW5kZWZpbmVkO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3J5cHRvLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/crypto.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/sha3.js": -/*!********************************************!*\ - !*** ./node_modules/@noble/hashes/sha3.js ***! - \********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;\nconst _assert_js_1 = __webpack_require__(/*! ./_assert.js */ \"./node_modules/@noble/hashes/_assert.js\");\nconst _u64_js_1 = __webpack_require__(/*! ./_u64.js */ \"./node_modules/@noble/hashes/_u64.js\");\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/hashes/utils.js\");\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _7n = BigInt(7);\nconst _256n = BigInt(256);\nconst _0x71n = BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = _u64_js_1.default.split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBH(h, l, s) : _u64_js_1.default.rotlSH(h, l, s);\nconst rotlL = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBL(h, l, s) : _u64_js_1.default.rotlSL(h, l, s);\n// Same as keccakf1600, but allows to skip some rounds\nfunction keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexports.keccakP = keccakP;\nclass Keccak extends utils_js_1.Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n _assert_js_1.default.number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = (0, utils_js_1.u32)(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n _assert_js_1.default.exists(this);\n const { blockLen, state } = this;\n data = (0, utils_js_1.toBytes)(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n _assert_js_1.default.exists(this, false);\n _assert_js_1.default.bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n _assert_js_1.default.number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n _assert_js_1.default.output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nexports.Keccak = Keccak;\nconst gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));\nexports.sha3_224 = gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexports.sha3_256 = gen(0x06, 136, 256 / 8);\nexports.sha3_384 = gen(0x06, 104, 384 / 8);\nexports.sha3_512 = gen(0x06, 72, 512 / 8);\nexports.keccak_224 = gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexports.keccak_256 = gen(0x01, 136, 256 / 8);\nexports.keccak_384 = gen(0x01, 104, 384 / 8);\nexports.keccak_512 = gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexports.shake128 = genShake(0x1f, 168, 128 / 8);\nexports.shake256 = genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9zaGEzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGNBQWMsR0FBRyxlQUFlO0FBQ3RPLHFCQUFxQixtQkFBTyxDQUFDLDZEQUFjO0FBQzNDLGtCQUFrQixtQkFBTyxDQUFDLHVEQUFXO0FBQ3JDLG1CQUFtQixtQkFBTyxDQUFDLHlEQUFZO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsWUFBWTtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixPQUFPO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsWUFBWTtBQUM5QztBQUNBLHdCQUF3QixRQUFRO0FBQ2hDO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLFFBQVE7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsUUFBUTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixRQUFRO0FBQ2hDLDRCQUE0QixRQUFRO0FBQ3BDO0FBQ0EsNEJBQTRCLFFBQVE7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixrQkFBa0I7QUFDbEM7QUFDQTtBQUNBLDBCQUEwQixVQUFVO0FBQ3BDO0FBQ0EsNEJBQTRCLFVBQVU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsK0JBQStCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixXQUFXO0FBQzNCLDRDQUE0QyxVQUFVO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaURBQWlEO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIsZ0JBQWdCO0FBQ2hCLGdCQUFnQjtBQUNoQixrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEIsa0JBQWtCO0FBQ2xCLGtCQUFrQjtBQUNsQixvR0FBb0c7QUFDcEcsZ0JBQWdCO0FBQ2hCLGdCQUFnQjtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9zaGEzLmpzPzA3OTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNoYWtlMjU2ID0gZXhwb3J0cy5zaGFrZTEyOCA9IGV4cG9ydHMua2VjY2FrXzUxMiA9IGV4cG9ydHMua2VjY2FrXzM4NCA9IGV4cG9ydHMua2VjY2FrXzI1NiA9IGV4cG9ydHMua2VjY2FrXzIyNCA9IGV4cG9ydHMuc2hhM181MTIgPSBleHBvcnRzLnNoYTNfMzg0ID0gZXhwb3J0cy5zaGEzXzI1NiA9IGV4cG9ydHMuc2hhM18yMjQgPSBleHBvcnRzLktlY2NhayA9IGV4cG9ydHMua2VjY2FrUCA9IHZvaWQgMDtcbmNvbnN0IF9hc3NlcnRfanNfMSA9IHJlcXVpcmUoXCIuL19hc3NlcnQuanNcIik7XG5jb25zdCBfdTY0X2pzXzEgPSByZXF1aXJlKFwiLi9fdTY0LmpzXCIpO1xuY29uc3QgdXRpbHNfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzLmpzXCIpO1xuLy8gVmFyaW91cyBwZXIgcm91bmQgY29uc3RhbnRzIGNhbGN1bGF0aW9uc1xuY29uc3QgW1NIQTNfUEksIFNIQTNfUk9UTCwgX1NIQTNfSU9UQV0gPSBbW10sIFtdLCBbXV07XG5jb25zdCBfMG4gPSBCaWdJbnQoMCk7XG5jb25zdCBfMW4gPSBCaWdJbnQoMSk7XG5jb25zdCBfMm4gPSBCaWdJbnQoMik7XG5jb25zdCBfN24gPSBCaWdJbnQoNyk7XG5jb25zdCBfMjU2biA9IEJpZ0ludCgyNTYpO1xuY29uc3QgXzB4NzFuID0gQmlnSW50KDB4NzEpO1xuZm9yIChsZXQgcm91bmQgPSAwLCBSID0gXzFuLCB4ID0gMSwgeSA9IDA7IHJvdW5kIDwgMjQ7IHJvdW5kKyspIHtcbiAgICAvLyBQaVxuICAgIFt4LCB5XSA9IFt5LCAoMiAqIHggKyAzICogeSkgJSA1XTtcbiAgICBTSEEzX1BJLnB1c2goMiAqICg1ICogeSArIHgpKTtcbiAgICAvLyBSb3RhdGlvbmFsXG4gICAgU0hBM19ST1RMLnB1c2goKCgocm91bmQgKyAxKSAqIChyb3VuZCArIDIpKSAvIDIpICUgNjQpO1xuICAgIC8vIElvdGFcbiAgICBsZXQgdCA9IF8wbjtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IDc7IGorKykge1xuICAgICAgICBSID0gKChSIDw8IF8xbikgXiAoKFIgPj4gXzduKSAqIF8weDcxbikpICUgXzI1Nm47XG4gICAgICAgIGlmIChSICYgXzJuKVxuICAgICAgICAgICAgdCBePSBfMW4gPDwgKChfMW4gPDwgQmlnSW50KGopKSAtIF8xbik7XG4gICAgfVxuICAgIF9TSEEzX0lPVEEucHVzaCh0KTtcbn1cbmNvbnN0IFtTSEEzX0lPVEFfSCwgU0hBM19JT1RBX0xdID0gX3U2NF9qc18xLmRlZmF1bHQuc3BsaXQoX1NIQTNfSU9UQSwgdHJ1ZSk7XG4vLyBMZWZ0IHJvdGF0aW9uICh3aXRob3V0IDAsIDMyLCA2NClcbmNvbnN0IHJvdGxIID0gKGgsIGwsIHMpID0+IHMgPiAzMiA/IF91NjRfanNfMS5kZWZhdWx0LnJvdGxCSChoLCBsLCBzKSA6IF91NjRfanNfMS5kZWZhdWx0LnJvdGxTSChoLCBsLCBzKTtcbmNvbnN0IHJvdGxMID0gKGgsIGwsIHMpID0+IHMgPiAzMiA/IF91NjRfanNfMS5kZWZhdWx0LnJvdGxCTChoLCBsLCBzKSA6IF91NjRfanNfMS5kZWZhdWx0LnJvdGxTTChoLCBsLCBzKTtcbi8vIFNhbWUgYXMga2VjY2FrZjE2MDAsIGJ1dCBhbGxvd3MgdG8gc2tpcCBzb21lIHJvdW5kc1xuZnVuY3Rpb24ga2VjY2FrUChzLCByb3VuZHMgPSAyNCkge1xuICAgIGNvbnN0IEIgPSBuZXcgVWludDMyQXJyYXkoNSAqIDIpO1xuICAgIC8vIE5PVEU6IGFsbCBpbmRpY2VzIGFyZSB4MiBzaW5jZSB3ZSBzdG9yZSBzdGF0ZSBhcyB1MzIgaW5zdGVhZCBvZiB1NjQgKGJpZ2ludHMgdG8gc2xvdyBpbiBqcylcbiAgICBmb3IgKGxldCByb3VuZCA9IDI0IC0gcm91bmRzOyByb3VuZCA8IDI0OyByb3VuZCsrKSB7XG4gICAgICAgIC8vIFRoZXRhIM64XG4gICAgICAgIGZvciAobGV0IHggPSAwOyB4IDwgMTA7IHgrKylcbiAgICAgICAgICAgIEJbeF0gPSBzW3hdIF4gc1t4ICsgMTBdIF4gc1t4ICsgMjBdIF4gc1t4ICsgMzBdIF4gc1t4ICsgNDBdO1xuICAgICAgICBmb3IgKGxldCB4ID0gMDsgeCA8IDEwOyB4ICs9IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkeDEgPSAoeCArIDgpICUgMTA7XG4gICAgICAgICAgICBjb25zdCBpZHgwID0gKHggKyAyKSAlIDEwO1xuICAgICAgICAgICAgY29uc3QgQjAgPSBCW2lkeDBdO1xuICAgICAgICAgICAgY29uc3QgQjEgPSBCW2lkeDAgKyAxXTtcbiAgICAgICAgICAgIGNvbnN0IFRoID0gcm90bEgoQjAsIEIxLCAxKSBeIEJbaWR4MV07XG4gICAgICAgICAgICBjb25zdCBUbCA9IHJvdGxMKEIwLCBCMSwgMSkgXiBCW2lkeDEgKyAxXTtcbiAgICAgICAgICAgIGZvciAobGV0IHkgPSAwOyB5IDwgNTA7IHkgKz0gMTApIHtcbiAgICAgICAgICAgICAgICBzW3ggKyB5XSBePSBUaDtcbiAgICAgICAgICAgICAgICBzW3ggKyB5ICsgMV0gXj0gVGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmhvICjPgSkgYW5kIFBpICjPgClcbiAgICAgICAgbGV0IGN1ckggPSBzWzJdO1xuICAgICAgICBsZXQgY3VyTCA9IHNbM107XG4gICAgICAgIGZvciAobGV0IHQgPSAwOyB0IDwgMjQ7IHQrKykge1xuICAgICAgICAgICAgY29uc3Qgc2hpZnQgPSBTSEEzX1JPVExbdF07XG4gICAgICAgICAgICBjb25zdCBUaCA9IHJvdGxIKGN1ckgsIGN1ckwsIHNoaWZ0KTtcbiAgICAgICAgICAgIGNvbnN0IFRsID0gcm90bEwoY3VySCwgY3VyTCwgc2hpZnQpO1xuICAgICAgICAgICAgY29uc3QgUEkgPSBTSEEzX1BJW3RdO1xuICAgICAgICAgICAgY3VySCA9IHNbUEldO1xuICAgICAgICAgICAgY3VyTCA9IHNbUEkgKyAxXTtcbiAgICAgICAgICAgIHNbUEldID0gVGg7XG4gICAgICAgICAgICBzW1BJICsgMV0gPSBUbDtcbiAgICAgICAgfVxuICAgICAgICAvLyBDaGkgKM+HKVxuICAgICAgICBmb3IgKGxldCB5ID0gMDsgeSA8IDUwOyB5ICs9IDEwKSB7XG4gICAgICAgICAgICBmb3IgKGxldCB4ID0gMDsgeCA8IDEwOyB4KyspXG4gICAgICAgICAgICAgICAgQlt4XSA9IHNbeSArIHhdO1xuICAgICAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCAxMDsgeCsrKVxuICAgICAgICAgICAgICAgIHNbeSArIHhdIF49IH5CWyh4ICsgMikgJSAxMF0gJiBCWyh4ICsgNCkgJSAxMF07XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW90YSAozrkpXG4gICAgICAgIHNbMF0gXj0gU0hBM19JT1RBX0hbcm91bmRdO1xuICAgICAgICBzWzFdIF49IFNIQTNfSU9UQV9MW3JvdW5kXTtcbiAgICB9XG4gICAgQi5maWxsKDApO1xufVxuZXhwb3J0cy5rZWNjYWtQID0ga2VjY2FrUDtcbmNsYXNzIEtlY2NhayBleHRlbmRzIHV0aWxzX2pzXzEuSGFzaCB7XG4gICAgLy8gTk9URTogd2UgYWNjZXB0IGFyZ3VtZW50cyBpbiBieXRlcyBpbnN0ZWFkIG9mIGJpdHMgaGVyZS5cbiAgICBjb25zdHJ1Y3RvcihibG9ja0xlbiwgc3VmZml4LCBvdXRwdXRMZW4sIGVuYWJsZVhPRiA9IGZhbHNlLCByb3VuZHMgPSAyNCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmJsb2NrTGVuID0gYmxvY2tMZW47XG4gICAgICAgIHRoaXMuc3VmZml4ID0gc3VmZml4O1xuICAgICAgICB0aGlzLm91dHB1dExlbiA9IG91dHB1dExlbjtcbiAgICAgICAgdGhpcy5lbmFibGVYT0YgPSBlbmFibGVYT0Y7XG4gICAgICAgIHRoaXMucm91bmRzID0gcm91bmRzO1xuICAgICAgICB0aGlzLnBvcyA9IDA7XG4gICAgICAgIHRoaXMucG9zT3V0ID0gMDtcbiAgICAgICAgdGhpcy5maW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlO1xuICAgICAgICAvLyBDYW4gYmUgcGFzc2VkIGZyb20gdXNlciBhcyBka0xlblxuICAgICAgICBfYXNzZXJ0X2pzXzEuZGVmYXVsdC5udW1iZXIob3V0cHV0TGVuKTtcbiAgICAgICAgLy8gMTYwMCA9IDV4NSBtYXRyaXggb2YgNjRiaXQuICAxNjAwIGJpdHMgPT09IDIwMCBieXRlc1xuICAgICAgICBpZiAoMCA+PSB0aGlzLmJsb2NrTGVuIHx8IHRoaXMuYmxvY2tMZW4gPj0gMjAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaGEzIHN1cHBvcnRzIG9ubHkga2VjY2FrLWYxNjAwIGZ1bmN0aW9uJyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBuZXcgVWludDhBcnJheSgyMDApO1xuICAgICAgICB0aGlzLnN0YXRlMzIgPSAoMCwgdXRpbHNfanNfMS51MzIpKHRoaXMuc3RhdGUpO1xuICAgIH1cbiAgICBrZWNjYWsoKSB7XG4gICAgICAgIGtlY2Nha1AodGhpcy5zdGF0ZTMyLCB0aGlzLnJvdW5kcyk7XG4gICAgICAgIHRoaXMucG9zT3V0ID0gMDtcbiAgICAgICAgdGhpcy5wb3MgPSAwO1xuICAgIH1cbiAgICB1cGRhdGUoZGF0YSkge1xuICAgICAgICBfYXNzZXJ0X2pzXzEuZGVmYXVsdC5leGlzdHModGhpcyk7XG4gICAgICAgIGNvbnN0IHsgYmxvY2tMZW4sIHN0YXRlIH0gPSB0aGlzO1xuICAgICAgICBkYXRhID0gKDAsIHV0aWxzX2pzXzEudG9CeXRlcykoZGF0YSk7XG4gICAgICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBwb3MgPSAwOyBwb3MgPCBsZW47KSB7XG4gICAgICAgICAgICBjb25zdCB0YWtlID0gTWF0aC5taW4oYmxvY2tMZW4gLSB0aGlzLnBvcywgbGVuIC0gcG9zKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFrZTsgaSsrKVxuICAgICAgICAgICAgICAgIHN0YXRlW3RoaXMucG9zKytdIF49IGRhdGFbcG9zKytdO1xuICAgICAgICAgICAgaWYgKHRoaXMucG9zID09PSBibG9ja0xlbilcbiAgICAgICAgICAgICAgICB0aGlzLmtlY2NhaygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBmaW5pc2goKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbmlzaGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBzdGF0ZSwgc3VmZml4LCBwb3MsIGJsb2NrTGVuIH0gPSB0aGlzO1xuICAgICAgICAvLyBEbyB0aGUgcGFkZGluZ1xuICAgICAgICBzdGF0ZVtwb3NdIF49IHN1ZmZpeDtcbiAgICAgICAgaWYgKChzdWZmaXggJiAweDgwKSAhPT0gMCAmJiBwb3MgPT09IGJsb2NrTGVuIC0gMSlcbiAgICAgICAgICAgIHRoaXMua2VjY2FrKCk7XG4gICAgICAgIHN0YXRlW2Jsb2NrTGVuIC0gMV0gXj0gMHg4MDtcbiAgICAgICAgdGhpcy5rZWNjYWsoKTtcbiAgICB9XG4gICAgd3JpdGVJbnRvKG91dCkge1xuICAgICAgICBfYXNzZXJ0X2pzXzEuZGVmYXVsdC5leGlzdHModGhpcywgZmFsc2UpO1xuICAgICAgICBfYXNzZXJ0X2pzXzEuZGVmYXVsdC5ieXRlcyhvdXQpO1xuICAgICAgICB0aGlzLmZpbmlzaCgpO1xuICAgICAgICBjb25zdCBidWZmZXJPdXQgPSB0aGlzLnN0YXRlO1xuICAgICAgICBjb25zdCB7IGJsb2NrTGVuIH0gPSB0aGlzO1xuICAgICAgICBmb3IgKGxldCBwb3MgPSAwLCBsZW4gPSBvdXQubGVuZ3RoOyBwb3MgPCBsZW47KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wb3NPdXQgPj0gYmxvY2tMZW4pXG4gICAgICAgICAgICAgICAgdGhpcy5rZWNjYWsoKTtcbiAgICAgICAgICAgIGNvbnN0IHRha2UgPSBNYXRoLm1pbihibG9ja0xlbiAtIHRoaXMucG9zT3V0LCBsZW4gLSBwb3MpO1xuICAgICAgICAgICAgb3V0LnNldChidWZmZXJPdXQuc3ViYXJyYXkodGhpcy5wb3NPdXQsIHRoaXMucG9zT3V0ICsgdGFrZSksIHBvcyk7XG4gICAgICAgICAgICB0aGlzLnBvc091dCArPSB0YWtlO1xuICAgICAgICAgICAgcG9zICs9IHRha2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9XG4gICAgeG9mSW50byhvdXQpIHtcbiAgICAgICAgLy8gU2hhMy9LZWNjYWsgdXNhZ2Ugd2l0aCBYT0YgaXMgcHJvYmFibHkgbWlzdGFrZSwgb25seSBTSEFLRSBpbnN0YW5jZXMgY2FuIGRvIFhPRlxuICAgICAgICBpZiAoIXRoaXMuZW5hYmxlWE9GKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdYT0YgaXMgbm90IHBvc3NpYmxlIGZvciB0aGlzIGluc3RhbmNlJyk7XG4gICAgICAgIHJldHVybiB0aGlzLndyaXRlSW50byhvdXQpO1xuICAgIH1cbiAgICB4b2YoYnl0ZXMpIHtcbiAgICAgICAgX2Fzc2VydF9qc18xLmRlZmF1bHQubnVtYmVyKGJ5dGVzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMueG9mSW50byhuZXcgVWludDhBcnJheShieXRlcykpO1xuICAgIH1cbiAgICBkaWdlc3RJbnRvKG91dCkge1xuICAgICAgICBfYXNzZXJ0X2pzXzEuZGVmYXVsdC5vdXRwdXQob3V0LCB0aGlzKTtcbiAgICAgICAgaWYgKHRoaXMuZmluaXNoZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RpZ2VzdCgpIHdhcyBhbHJlYWR5IGNhbGxlZCcpO1xuICAgICAgICB0aGlzLndyaXRlSW50byhvdXQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9XG4gICAgZGlnZXN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaWdlc3RJbnRvKG5ldyBVaW50OEFycmF5KHRoaXMub3V0cHV0TGVuKSk7XG4gICAgfVxuICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdGF0ZS5maWxsKDApO1xuICAgIH1cbiAgICBfY2xvbmVJbnRvKHRvKSB7XG4gICAgICAgIGNvbnN0IHsgYmxvY2tMZW4sIHN1ZmZpeCwgb3V0cHV0TGVuLCByb3VuZHMsIGVuYWJsZVhPRiB9ID0gdGhpcztcbiAgICAgICAgdG8gfHwgKHRvID0gbmV3IEtlY2NhayhibG9ja0xlbiwgc3VmZml4LCBvdXRwdXRMZW4sIGVuYWJsZVhPRiwgcm91bmRzKSk7XG4gICAgICAgIHRvLnN0YXRlMzIuc2V0KHRoaXMuc3RhdGUzMik7XG4gICAgICAgIHRvLnBvcyA9IHRoaXMucG9zO1xuICAgICAgICB0by5wb3NPdXQgPSB0aGlzLnBvc091dDtcbiAgICAgICAgdG8uZmluaXNoZWQgPSB0aGlzLmZpbmlzaGVkO1xuICAgICAgICB0by5yb3VuZHMgPSByb3VuZHM7XG4gICAgICAgIC8vIFN1ZmZpeCBjYW4gY2hhbmdlIGluIGNTSEFLRVxuICAgICAgICB0by5zdWZmaXggPSBzdWZmaXg7XG4gICAgICAgIHRvLm91dHB1dExlbiA9IG91dHB1dExlbjtcbiAgICAgICAgdG8uZW5hYmxlWE9GID0gZW5hYmxlWE9GO1xuICAgICAgICB0by5kZXN0cm95ZWQgPSB0aGlzLmRlc3Ryb3llZDtcbiAgICAgICAgcmV0dXJuIHRvO1xuICAgIH1cbn1cbmV4cG9ydHMuS2VjY2FrID0gS2VjY2FrO1xuY29uc3QgZ2VuID0gKHN1ZmZpeCwgYmxvY2tMZW4sIG91dHB1dExlbikgPT4gKDAsIHV0aWxzX2pzXzEud3JhcENvbnN0cnVjdG9yKSgoKSA9PiBuZXcgS2VjY2FrKGJsb2NrTGVuLCBzdWZmaXgsIG91dHB1dExlbikpO1xuZXhwb3J0cy5zaGEzXzIyNCA9IGdlbigweDA2LCAxNDQsIDIyNCAvIDgpO1xuLyoqXG4gKiBTSEEzLTI1NiBoYXNoIGZ1bmN0aW9uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIHRoYXQgd291bGQgYmUgaGFzaGVkXG4gKi9cbmV4cG9ydHMuc2hhM18yNTYgPSBnZW4oMHgwNiwgMTM2LCAyNTYgLyA4KTtcbmV4cG9ydHMuc2hhM18zODQgPSBnZW4oMHgwNiwgMTA0LCAzODQgLyA4KTtcbmV4cG9ydHMuc2hhM181MTIgPSBnZW4oMHgwNiwgNzIsIDUxMiAvIDgpO1xuZXhwb3J0cy5rZWNjYWtfMjI0ID0gZ2VuKDB4MDEsIDE0NCwgMjI0IC8gOCk7XG4vKipcbiAqIGtlY2Nhay0yNTYgaGFzaCBmdW5jdGlvbi4gRGlmZmVyZW50IGZyb20gU0hBMy0yNTYuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIHRoYXQgd291bGQgYmUgaGFzaGVkXG4gKi9cbmV4cG9ydHMua2VjY2FrXzI1NiA9IGdlbigweDAxLCAxMzYsIDI1NiAvIDgpO1xuZXhwb3J0cy5rZWNjYWtfMzg0ID0gZ2VuKDB4MDEsIDEwNCwgMzg0IC8gOCk7XG5leHBvcnRzLmtlY2Nha181MTIgPSBnZW4oMHgwMSwgNzIsIDUxMiAvIDgpO1xuY29uc3QgZ2VuU2hha2UgPSAoc3VmZml4LCBibG9ja0xlbiwgb3V0cHV0TGVuKSA9PiAoMCwgdXRpbHNfanNfMS53cmFwQ29uc3RydWN0b3JXaXRoT3B0cykoKG9wdHMgPSB7fSkgPT4gbmV3IEtlY2NhayhibG9ja0xlbiwgc3VmZml4LCBvcHRzLmRrTGVuID09PSB1bmRlZmluZWQgPyBvdXRwdXRMZW4gOiBvcHRzLmRrTGVuLCB0cnVlKSk7XG5leHBvcnRzLnNoYWtlMTI4ID0gZ2VuU2hha2UoMHgxZiwgMTY4LCAxMjggLyA4KTtcbmV4cG9ydHMuc2hha2UyNTYgPSBnZW5TaGFrZSgweDFmLCAxMzYsIDI1NiAvIDgpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2hhMy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/sha3.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/utils.js": -/*!*********************************************!*\ - !*** ./node_modules/@noble/hashes/utils.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;\n// We use `globalThis.crypto`, but node.js versions earlier than v19 don't\n// declare it in global scope. For node.js, package.json#exports field mapping\n// rewrites import from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nconst crypto_1 = __webpack_require__(/*! @noble/hashes/crypto */ \"./node_modules/@noble/hashes/crypto.js\");\n// Cast array to different type\nconst u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.u8 = u8;\nconst u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\nexports.u32 = u32;\n// Cast array to view\nconst createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.createView = createView;\n// The rotate right (circular right shift) operation for uint32\nconst rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\nexports.rotr = rotr;\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!exports.isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef])) // 'deadbeef'\n */\nfunction bytesToHex(uint8a) {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\n/**\n * @example hexToBytes('deadbeef') // Uint8Array.from([0xde, 0xad, 0xbe, 0xef])\n */\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\nexports.hexToBytes = hexToBytes;\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nconst nextTick = async () => { };\nexports.nextTick = nextTick;\n// Returns control to thread each 'tick' ms to avoid blocking\nasync function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await (0, exports.nextTick)();\n ts += diff;\n }\n}\nexports.asyncLoop = asyncLoop;\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nexports.utf8ToBytes = utf8ToBytes;\nfunction toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\nexports.toBytes = toBytes;\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nfunction concatBytes(...arrays) {\n if (!arrays.every((a) => a instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\nexports.concatBytes = concatBytes;\n// For runtime check if class implements interface\nclass Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nexports.Hash = Hash;\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nfunction checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexports.checkOpts = checkOpts;\nfunction wrapConstructor(hashConstructor) {\n const hashC = (message) => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\nexports.wrapConstructor = wrapConstructor;\nfunction wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapConstructorWithOpts = wrapConstructorWithOpts;\n/**\n * Secure PRNG. Uses `globalThis.crypto` or node.js crypto module.\n */\nfunction randomBytes(bytesLength = 32) {\n if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === 'function') {\n return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\nexports.randomBytes = randomBytes;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQixHQUFHLCtCQUErQixHQUFHLHVCQUF1QixHQUFHLGlCQUFpQixHQUFHLFlBQVksR0FBRyxtQkFBbUIsR0FBRyxlQUFlLEdBQUcsbUJBQW1CLEdBQUcsaUJBQWlCLEdBQUcsZ0JBQWdCLEdBQUcsa0JBQWtCLEdBQUcsa0JBQWtCLEdBQUcsWUFBWSxHQUFHLFlBQVksR0FBRyxrQkFBa0IsR0FBRyxXQUFXLEdBQUcsVUFBVTtBQUMvVTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLG1CQUFPLENBQUMsb0VBQXNCO0FBQy9DO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLDJCQUEyQixhQUFhO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFdBQVc7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxnRUFBZ0UsV0FBVztBQUMzRTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0UsWUFBWTtBQUNsRjtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Abm9ibGUvaGFzaGVzL3V0aWxzLmpzPzU1MTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKiEgbm9ibGUtaGFzaGVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnJhbmRvbUJ5dGVzID0gZXhwb3J0cy53cmFwQ29uc3RydWN0b3JXaXRoT3B0cyA9IGV4cG9ydHMud3JhcENvbnN0cnVjdG9yID0gZXhwb3J0cy5jaGVja09wdHMgPSBleHBvcnRzLkhhc2ggPSBleHBvcnRzLmNvbmNhdEJ5dGVzID0gZXhwb3J0cy50b0J5dGVzID0gZXhwb3J0cy51dGY4VG9CeXRlcyA9IGV4cG9ydHMuYXN5bmNMb29wID0gZXhwb3J0cy5uZXh0VGljayA9IGV4cG9ydHMuaGV4VG9CeXRlcyA9IGV4cG9ydHMuYnl0ZXNUb0hleCA9IGV4cG9ydHMuaXNMRSA9IGV4cG9ydHMucm90ciA9IGV4cG9ydHMuY3JlYXRlVmlldyA9IGV4cG9ydHMudTMyID0gZXhwb3J0cy51OCA9IHZvaWQgMDtcbi8vIFdlIHVzZSBgZ2xvYmFsVGhpcy5jcnlwdG9gLCBidXQgbm9kZS5qcyB2ZXJzaW9ucyBlYXJsaWVyIHRoYW4gdjE5IGRvbid0XG4vLyBkZWNsYXJlIGl0IGluIGdsb2JhbCBzY29wZS4gRm9yIG5vZGUuanMsIHBhY2thZ2UuanNvbiNleHBvcnRzIGZpZWxkIG1hcHBpbmdcbi8vIHJld3JpdGVzIGltcG9ydCBmcm9tIGBjcnlwdG9gIHRvIGBjcnlwdG9Ob2RlYCwgd2hpY2ggaW1wb3J0cyBuYXRpdmUgbW9kdWxlLlxuLy8gTWFrZXMgdGhlIHV0aWxzIHVuLWltcG9ydGFibGUgaW4gYnJvd3NlcnMgd2l0aG91dCBhIGJ1bmRsZXIuXG4vLyBPbmNlIG5vZGUuanMgMTggaXMgZGVwcmVjYXRlZCwgd2UgY2FuIGp1c3QgZHJvcCB0aGUgaW1wb3J0LlxuY29uc3QgY3J5cHRvXzEgPSByZXF1aXJlKFwiQG5vYmxlL2hhc2hlcy9jcnlwdG9cIik7XG4vLyBDYXN0IGFycmF5IHRvIGRpZmZlcmVudCB0eXBlXG5jb25zdCB1OCA9IChhcnIpID0+IG5ldyBVaW50OEFycmF5KGFyci5idWZmZXIsIGFyci5ieXRlT2Zmc2V0LCBhcnIuYnl0ZUxlbmd0aCk7XG5leHBvcnRzLnU4ID0gdTg7XG5jb25zdCB1MzIgPSAoYXJyKSA9PiBuZXcgVWludDMyQXJyYXkoYXJyLmJ1ZmZlciwgYXJyLmJ5dGVPZmZzZXQsIE1hdGguZmxvb3IoYXJyLmJ5dGVMZW5ndGggLyA0KSk7XG5leHBvcnRzLnUzMiA9IHUzMjtcbi8vIENhc3QgYXJyYXkgdG8gdmlld1xuY29uc3QgY3JlYXRlVmlldyA9IChhcnIpID0+IG5ldyBEYXRhVmlldyhhcnIuYnVmZmVyLCBhcnIuYnl0ZU9mZnNldCwgYXJyLmJ5dGVMZW5ndGgpO1xuZXhwb3J0cy5jcmVhdGVWaWV3ID0gY3JlYXRlVmlldztcbi8vIFRoZSByb3RhdGUgcmlnaHQgKGNpcmN1bGFyIHJpZ2h0IHNoaWZ0KSBvcGVyYXRpb24gZm9yIHVpbnQzMlxuY29uc3Qgcm90ciA9ICh3b3JkLCBzaGlmdCkgPT4gKHdvcmQgPDwgKDMyIC0gc2hpZnQpKSB8ICh3b3JkID4+PiBzaGlmdCk7XG5leHBvcnRzLnJvdHIgPSByb3RyO1xuLy8gYmlnLWVuZGlhbiBoYXJkd2FyZSBpcyByYXJlLiBKdXN0IGluIGNhc2Ugc29tZW9uZSBzdGlsbCBkZWNpZGVzIHRvIHJ1biBoYXNoZXM6XG4vLyBlYXJseS10aHJvdyBhbiBlcnJvciBiZWNhdXNlIHdlIGRvbid0IHN1cHBvcnQgQkUgeWV0LlxuZXhwb3J0cy5pc0xFID0gbmV3IFVpbnQ4QXJyYXkobmV3IFVpbnQzMkFycmF5KFsweDExMjIzMzQ0XSkuYnVmZmVyKVswXSA9PT0gMHg0NDtcbmlmICghZXhwb3J0cy5pc0xFKVxuICAgIHRocm93IG5ldyBFcnJvcignTm9uIGxpdHRsZS1lbmRpYW4gaGFyZHdhcmUgaXMgbm90IHN1cHBvcnRlZCcpO1xuY29uc3QgaGV4ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNTYgfSwgKHYsIGkpID0+IGkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJykpO1xuLyoqXG4gKiBAZXhhbXBsZSBieXRlc1RvSGV4KFVpbnQ4QXJyYXkuZnJvbShbMHhkZSwgMHhhZCwgMHhiZSwgMHhlZl0pKSAvLyAnZGVhZGJlZWYnXG4gKi9cbmZ1bmN0aW9uIGJ5dGVzVG9IZXgodWludDhhKSB7XG4gICAgLy8gcHJlLWNhY2hpbmcgaW1wcm92ZXMgdGhlIHNwZWVkIDZ4XG4gICAgaWYgKCEodWludDhhIGluc3RhbmNlb2YgVWludDhBcnJheSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVWludDhBcnJheSBleHBlY3RlZCcpO1xuICAgIGxldCBoZXggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHVpbnQ4YS5sZW5ndGg7IGkrKykge1xuICAgICAgICBoZXggKz0gaGV4ZXNbdWludDhhW2ldXTtcbiAgICB9XG4gICAgcmV0dXJuIGhleDtcbn1cbmV4cG9ydHMuYnl0ZXNUb0hleCA9IGJ5dGVzVG9IZXg7XG4vKipcbiAqIEBleGFtcGxlIGhleFRvQnl0ZXMoJ2RlYWRiZWVmJykgLy8gVWludDhBcnJheS5mcm9tKFsweGRlLCAweGFkLCAweGJlLCAweGVmXSlcbiAqL1xuZnVuY3Rpb24gaGV4VG9CeXRlcyhoZXgpIHtcbiAgICBpZiAodHlwZW9mIGhleCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaGV4VG9CeXRlczogZXhwZWN0ZWQgc3RyaW5nLCBnb3QgJyArIHR5cGVvZiBoZXgpO1xuICAgIH1cbiAgICBpZiAoaGV4Lmxlbmd0aCAlIDIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGV4VG9CeXRlczogcmVjZWl2ZWQgaW52YWxpZCB1bnBhZGRlZCBoZXgnKTtcbiAgICBjb25zdCBhcnJheSA9IG5ldyBVaW50OEFycmF5KGhleC5sZW5ndGggLyAyKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGogPSBpICogMjtcbiAgICAgICAgY29uc3QgaGV4Qnl0ZSA9IGhleC5zbGljZShqLCBqICsgMik7XG4gICAgICAgIGNvbnN0IGJ5dGUgPSBOdW1iZXIucGFyc2VJbnQoaGV4Qnl0ZSwgMTYpO1xuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKGJ5dGUpIHx8IGJ5dGUgPCAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJ5dGUgc2VxdWVuY2UnKTtcbiAgICAgICAgYXJyYXlbaV0gPSBieXRlO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG59XG5leHBvcnRzLmhleFRvQnl0ZXMgPSBoZXhUb0J5dGVzO1xuLy8gVGhlcmUgaXMgbm8gc2V0SW1tZWRpYXRlIGluIGJyb3dzZXIgYW5kIHNldFRpbWVvdXQgaXMgc2xvdy5cbi8vIGNhbGwgb2YgYXN5bmMgZm4gd2lsbCByZXR1cm4gUHJvbWlzZSwgd2hpY2ggd2lsbCBiZSBmdWxsZmlsZWQgb25seSBvblxuLy8gbmV4dCBzY2hlZHVsZXIgcXVldWUgcHJvY2Vzc2luZyBzdGVwIGFuZCB0aGlzIGlzIGV4YWN0bHkgd2hhdCB3ZSBuZWVkLlxuY29uc3QgbmV4dFRpY2sgPSBhc3luYyAoKSA9PiB7IH07XG5leHBvcnRzLm5leHRUaWNrID0gbmV4dFRpY2s7XG4vLyBSZXR1cm5zIGNvbnRyb2wgdG8gdGhyZWFkIGVhY2ggJ3RpY2snIG1zIHRvIGF2b2lkIGJsb2NraW5nXG5hc3luYyBmdW5jdGlvbiBhc3luY0xvb3AoaXRlcnMsIHRpY2ssIGNiKSB7XG4gICAgbGV0IHRzID0gRGF0ZS5ub3coKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspIHtcbiAgICAgICAgY2IoaSk7XG4gICAgICAgIC8vIERhdGUubm93KCkgaXMgbm90IG1vbm90b25pYywgc28gaW4gY2FzZSBpZiBjbG9jayBnb2VzIGJhY2t3YXJkcyB3ZSByZXR1cm4gcmV0dXJuIGNvbnRyb2wgdG9vXG4gICAgICAgIGNvbnN0IGRpZmYgPSBEYXRlLm5vdygpIC0gdHM7XG4gICAgICAgIGlmIChkaWZmID49IDAgJiYgZGlmZiA8IHRpY2spXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgYXdhaXQgKDAsIGV4cG9ydHMubmV4dFRpY2spKCk7XG4gICAgICAgIHRzICs9IGRpZmY7XG4gICAgfVxufVxuZXhwb3J0cy5hc3luY0xvb3AgPSBhc3luY0xvb3A7XG5mdW5jdGlvbiB1dGY4VG9CeXRlcyhzdHIpIHtcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgdXRmOFRvQnl0ZXMgZXhwZWN0ZWQgc3RyaW5nLCBnb3QgJHt0eXBlb2Ygc3RyfWApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHN0cik7XG59XG5leHBvcnRzLnV0ZjhUb0J5dGVzID0gdXRmOFRvQnl0ZXM7XG5mdW5jdGlvbiB0b0J5dGVzKGRhdGEpIHtcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICBkYXRhID0gdXRmOFRvQnl0ZXMoZGF0YSk7XG4gICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBpbnB1dCB0eXBlIGlzIFVpbnQ4QXJyYXkgKGdvdCAke3R5cGVvZiBkYXRhfSlgKTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmV4cG9ydHMudG9CeXRlcyA9IHRvQnl0ZXM7XG4vKipcbiAqIENvbmNhdHMgVWludDhBcnJheS1zIGludG8gb25lOyBsaWtlIGBCdWZmZXIuY29uY2F0KFtidWYxLCBidWYyXSlgXG4gKiBAZXhhbXBsZSBjb25jYXRCeXRlcyhidWYxLCBidWYyKVxuICovXG5mdW5jdGlvbiBjb25jYXRCeXRlcyguLi5hcnJheXMpIHtcbiAgICBpZiAoIWFycmF5cy5ldmVyeSgoYSkgPT4gYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VpbnQ4QXJyYXkgbGlzdCBleHBlY3RlZCcpO1xuICAgIGlmIChhcnJheXMubGVuZ3RoID09PSAxKVxuICAgICAgICByZXR1cm4gYXJyYXlzWzBdO1xuICAgIGNvbnN0IGxlbmd0aCA9IGFycmF5cy5yZWR1Y2UoKGEsIGFycikgPT4gYSArIGFyci5sZW5ndGgsIDApO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KGxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDAsIHBhZCA9IDA7IGkgPCBhcnJheXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgYXJyID0gYXJyYXlzW2ldO1xuICAgICAgICByZXN1bHQuc2V0KGFyciwgcGFkKTtcbiAgICAgICAgcGFkICs9IGFyci5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnRzLmNvbmNhdEJ5dGVzID0gY29uY2F0Qnl0ZXM7XG4vLyBGb3IgcnVudGltZSBjaGVjayBpZiBjbGFzcyBpbXBsZW1lbnRzIGludGVyZmFjZVxuY2xhc3MgSGFzaCB7XG4gICAgLy8gU2FmZSB2ZXJzaW9uIHRoYXQgY2xvbmVzIGludGVybmFsIHN0YXRlXG4gICAgY2xvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbG9uZUludG8oKTtcbiAgICB9XG59XG5leHBvcnRzLkhhc2ggPSBIYXNoO1xuLy8gQ2hlY2sgaWYgb2JqZWN0IGRvZW5zJ3QgaGF2ZSBjdXN0b20gY29uc3RydWN0b3IgKGxpa2UgVWludDhBcnJheS9BcnJheSlcbmNvbnN0IGlzUGxhaW5PYmplY3QgPSAob2JqKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBPYmplY3Q7XG5mdW5jdGlvbiBjaGVja09wdHMoZGVmYXVsdHMsIG9wdHMpIHtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkICYmICh0eXBlb2Ygb3B0cyAhPT0gJ29iamVjdCcgfHwgIWlzUGxhaW5PYmplY3Qob3B0cykpKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb25zIHNob3VsZCBiZSBvYmplY3Qgb3IgdW5kZWZpbmVkJyk7XG4gICAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbihkZWZhdWx0cywgb3B0cyk7XG4gICAgcmV0dXJuIG1lcmdlZDtcbn1cbmV4cG9ydHMuY2hlY2tPcHRzID0gY2hlY2tPcHRzO1xuZnVuY3Rpb24gd3JhcENvbnN0cnVjdG9yKGhhc2hDb25zdHJ1Y3Rvcikge1xuICAgIGNvbnN0IGhhc2hDID0gKG1lc3NhZ2UpID0+IGhhc2hDb25zdHJ1Y3RvcigpLnVwZGF0ZSh0b0J5dGVzKG1lc3NhZ2UpKS5kaWdlc3QoKTtcbiAgICBjb25zdCB0bXAgPSBoYXNoQ29uc3RydWN0b3IoKTtcbiAgICBoYXNoQy5vdXRwdXRMZW4gPSB0bXAub3V0cHV0TGVuO1xuICAgIGhhc2hDLmJsb2NrTGVuID0gdG1wLmJsb2NrTGVuO1xuICAgIGhhc2hDLmNyZWF0ZSA9ICgpID0+IGhhc2hDb25zdHJ1Y3RvcigpO1xuICAgIHJldHVybiBoYXNoQztcbn1cbmV4cG9ydHMud3JhcENvbnN0cnVjdG9yID0gd3JhcENvbnN0cnVjdG9yO1xuZnVuY3Rpb24gd3JhcENvbnN0cnVjdG9yV2l0aE9wdHMoaGFzaENvbnMpIHtcbiAgICBjb25zdCBoYXNoQyA9IChtc2csIG9wdHMpID0+IGhhc2hDb25zKG9wdHMpLnVwZGF0ZSh0b0J5dGVzKG1zZykpLmRpZ2VzdCgpO1xuICAgIGNvbnN0IHRtcCA9IGhhc2hDb25zKHt9KTtcbiAgICBoYXNoQy5vdXRwdXRMZW4gPSB0bXAub3V0cHV0TGVuO1xuICAgIGhhc2hDLmJsb2NrTGVuID0gdG1wLmJsb2NrTGVuO1xuICAgIGhhc2hDLmNyZWF0ZSA9IChvcHRzKSA9PiBoYXNoQ29ucyhvcHRzKTtcbiAgICByZXR1cm4gaGFzaEM7XG59XG5leHBvcnRzLndyYXBDb25zdHJ1Y3RvcldpdGhPcHRzID0gd3JhcENvbnN0cnVjdG9yV2l0aE9wdHM7XG4vKipcbiAqIFNlY3VyZSBQUk5HLiBVc2VzIGBnbG9iYWxUaGlzLmNyeXB0b2Agb3Igbm9kZS5qcyBjcnlwdG8gbW9kdWxlLlxuICovXG5mdW5jdGlvbiByYW5kb21CeXRlcyhieXRlc0xlbmd0aCA9IDMyKSB7XG4gICAgaWYgKGNyeXB0b18xLmNyeXB0byAmJiB0eXBlb2YgY3J5cHRvXzEuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY3J5cHRvXzEuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShieXRlc0xlbmd0aCkpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NyeXB0by5nZXRSYW5kb21WYWx1ZXMgbXVzdCBiZSBkZWZpbmVkJyk7XG59XG5leHBvcnRzLnJhbmRvbUJ5dGVzID0gcmFuZG9tQnl0ZXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/clsx/dist/clsx.m.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/clsx/dist/clsx.m.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* export default binding */ __WEBPACK_DEFAULT_EXPORT__; }\n/* harmony export */ });\nfunction toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvY2xzeC9kaXN0L2Nsc3gubS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsYUFBYSxnQkFBZ0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDZCQUFlLHNDQUFZO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm0uanM/NDkyZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiB0b1ZhbChtaXgpIHtcblx0dmFyIGssIHksIHN0cj0nJztcblxuXHRpZiAodHlwZW9mIG1peCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG1peCA9PT0gJ251bWJlcicpIHtcblx0XHRzdHIgKz0gbWl4O1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBtaXggPT09ICdvYmplY3QnKSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkobWl4KSkge1xuXHRcdFx0Zm9yIChrPTA7IGsgPCBtaXgubGVuZ3RoOyBrKyspIHtcblx0XHRcdFx0aWYgKG1peFtrXSkge1xuXHRcdFx0XHRcdGlmICh5ID0gdG9WYWwobWl4W2tdKSkge1xuXHRcdFx0XHRcdFx0c3RyICYmIChzdHIgKz0gJyAnKTtcblx0XHRcdFx0XHRcdHN0ciArPSB5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRmb3IgKGsgaW4gbWl4KSB7XG5cdFx0XHRcdGlmIChtaXhba10pIHtcblx0XHRcdFx0XHRzdHIgJiYgKHN0ciArPSAnICcpO1xuXHRcdFx0XHRcdHN0ciArPSBrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0cjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCkge1xuXHR2YXIgaT0wLCB0bXAsIHgsIHN0cj0nJztcblx0d2hpbGUgKGkgPCBhcmd1bWVudHMubGVuZ3RoKSB7XG5cdFx0aWYgKHRtcCA9IGFyZ3VtZW50c1tpKytdKSB7XG5cdFx0XHRpZiAoeCA9IHRvVmFsKHRtcCkpIHtcblx0XHRcdFx0c3RyICYmIChzdHIgKz0gJyAnKTtcblx0XHRcdFx0c3RyICs9IHhcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIHN0cjtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/clsx/dist/clsx.m.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/browser.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/browser.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("\nconst canPromise = __webpack_require__(/*! ./can-promise */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/can-promise.js\")\n\nconst QRCode = __webpack_require__(/*! ./core/qrcode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/qrcode.js\")\nconst CanvasRenderer = __webpack_require__(/*! ./renderer/canvas */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/canvas.js\")\nconst SvgRenderer = __webpack_require__(/*! ./renderer/svg-tag.js */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/svg-tag.js\")\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQyxtR0FBZTs7QUFFMUMsZUFBZSxtQkFBTyxDQUFDLG1HQUFlO0FBQ3RDLHVCQUF1QixtQkFBTyxDQUFDLDJHQUFtQjtBQUNsRCxvQkFBb0IsbUJBQU8sQ0FBQyxnSEFBdUI7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsaUJBQWlCOztBQUVqQjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvYnJvd3Nlci5qcz8wMjIyIl0sInNvdXJjZXNDb250ZW50IjpbIlxuY29uc3QgY2FuUHJvbWlzZSA9IHJlcXVpcmUoJy4vY2FuLXByb21pc2UnKVxuXG5jb25zdCBRUkNvZGUgPSByZXF1aXJlKCcuL2NvcmUvcXJjb2RlJylcbmNvbnN0IENhbnZhc1JlbmRlcmVyID0gcmVxdWlyZSgnLi9yZW5kZXJlci9jYW52YXMnKVxuY29uc3QgU3ZnUmVuZGVyZXIgPSByZXF1aXJlKCcuL3JlbmRlcmVyL3N2Zy10YWcuanMnKVxuXG5mdW5jdGlvbiByZW5kZXJDYW52YXMgKHJlbmRlckZ1bmMsIGNhbnZhcywgdGV4dCwgb3B0cywgY2IpIHtcbiAgY29uc3QgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKVxuICBjb25zdCBhcmdzTnVtID0gYXJncy5sZW5ndGhcbiAgY29uc3QgaXNMYXN0QXJnQ2IgPSB0eXBlb2YgYXJnc1thcmdzTnVtIC0gMV0gPT09ICdmdW5jdGlvbidcblxuICBpZiAoIWlzTGFzdEFyZ0NiICYmICFjYW5Qcm9taXNlKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQnKVxuICB9XG5cbiAgaWYgKGlzTGFzdEFyZ0NiKSB7XG4gICAgaWYgKGFyZ3NOdW0gPCAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvbyBmZXcgYXJndW1lbnRzIHByb3ZpZGVkJylcbiAgICB9XG5cbiAgICBpZiAoYXJnc051bSA9PT0gMikge1xuICAgICAgY2IgPSB0ZXh0XG4gICAgICB0ZXh0ID0gY2FudmFzXG4gICAgICBjYW52YXMgPSBvcHRzID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmIChhcmdzTnVtID09PSAzKSB7XG4gICAgICBpZiAoY2FudmFzLmdldENvbnRleHQgJiYgdHlwZW9mIGNiID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjYiA9IG9wdHNcbiAgICAgICAgb3B0cyA9IHVuZGVmaW5lZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2IgPSBvcHRzXG4gICAgICAgIG9wdHMgPSB0ZXh0XG4gICAgICAgIHRleHQgPSBjYW52YXNcbiAgICAgICAgY2FudmFzID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChhcmdzTnVtIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCcpXG4gICAgfVxuXG4gICAgaWYgKGFyZ3NOdW0gPT09IDEpIHtcbiAgICAgIHRleHQgPSBjYW52YXNcbiAgICAgIGNhbnZhcyA9IG9wdHMgPSB1bmRlZmluZWRcbiAgICB9IGVsc2UgaWYgKGFyZ3NOdW0gPT09IDIgJiYgIWNhbnZhcy5nZXRDb250ZXh0KSB7XG4gICAgICBvcHRzID0gdGV4dFxuICAgICAgdGV4dCA9IGNhbnZhc1xuICAgICAgY2FudmFzID0gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBRUkNvZGUuY3JlYXRlKHRleHQsIG9wdHMpXG4gICAgICAgIHJlc29sdmUocmVuZGVyRnVuYyhkYXRhLCBjYW52YXMsIG9wdHMpKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gUVJDb2RlLmNyZWF0ZSh0ZXh0LCBvcHRzKVxuICAgIGNiKG51bGwsIHJlbmRlckZ1bmMoZGF0YSwgY2FudmFzLCBvcHRzKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNiKGUpXG4gIH1cbn1cblxuZXhwb3J0cy5jcmVhdGUgPSBRUkNvZGUuY3JlYXRlXG5leHBvcnRzLnRvQ2FudmFzID0gcmVuZGVyQ2FudmFzLmJpbmQobnVsbCwgQ2FudmFzUmVuZGVyZXIucmVuZGVyKVxuZXhwb3J0cy50b0RhdGFVUkwgPSByZW5kZXJDYW52YXMuYmluZChudWxsLCBDYW52YXNSZW5kZXJlci5yZW5kZXJUb0RhdGFVUkwpXG5cbi8vIG9ubHkgc3ZnIGZvciBub3cuXG5leHBvcnRzLnRvU3RyaW5nID0gcmVuZGVyQ2FudmFzLmJpbmQobnVsbCwgZnVuY3Rpb24gKGRhdGEsIF8sIG9wdHMpIHtcbiAgcmV0dXJuIFN2Z1JlbmRlcmVyLnJlbmRlcihkYXRhLCBvcHRzKVxufSlcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/can-promise.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/can-promise.js ***! - \************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jYW4tcHJvbWlzZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2Nhbi1wcm9taXNlLmpzPzhmNDQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gY2FuLXByb21pc2UgaGFzIGEgY3Jhc2ggaW4gc29tZSB2ZXJzaW9ucyBvZiByZWFjdCBuYXRpdmUgdGhhdCBkb250IGhhdmVcbi8vIHN0YW5kYXJkIGdsb2JhbCBvYmplY3RzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc29sZGFpci9ub2RlLXFyY29kZS9pc3N1ZXMvMTU3XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHlwZW9mIFByb21pc2UgPT09ICdmdW5jdGlvbicgJiYgUHJvbWlzZS5wcm90b3R5cGUgJiYgUHJvbWlzZS5wcm90b3R5cGUudGhlblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/can-promise.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alignment-pattern.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alignment-pattern.js ***! - \***********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = (__webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\").getSymbolSize)\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FsaWdubWVudC1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsaUlBQWdDOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHVCQUF1QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsZUFBZTtBQUNqQyxvQkFBb0IsZUFBZTtBQUNuQztBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FsaWdubWVudC1wYXR0ZXJuLmpzPzc2NTgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbGlnbm1lbnQgcGF0dGVybiBhcmUgZml4ZWQgcmVmZXJlbmNlIHBhdHRlcm4gaW4gZGVmaW5lZCBwb3NpdGlvbnNcbiAqIGluIGEgbWF0cml4IHN5bWJvbG9neSwgd2hpY2ggZW5hYmxlcyB0aGUgZGVjb2RlIHNvZnR3YXJlIHRvIHJlLXN5bmNocm9uaXNlXG4gKiB0aGUgY29vcmRpbmF0ZSBtYXBwaW5nIG9mIHRoZSBpbWFnZSBtb2R1bGVzIGluIHRoZSBldmVudCBvZiBtb2RlcmF0ZSBhbW91bnRzXG4gKiBvZiBkaXN0b3J0aW9uIG9mIHRoZSBpbWFnZS5cbiAqXG4gKiBBbGlnbm1lbnQgcGF0dGVybnMgYXJlIHByZXNlbnQgb25seSBpbiBRUiBDb2RlIHN5bWJvbHMgb2YgdmVyc2lvbiAyIG9yIGxhcmdlclxuICogYW5kIHRoZWlyIG51bWJlciBkZXBlbmRzIG9uIHRoZSBzeW1ib2wgdmVyc2lvbi5cbiAqL1xuXG5jb25zdCBnZXRTeW1ib2xTaXplID0gcmVxdWlyZSgnLi91dGlscycpLmdldFN5bWJvbFNpemVcblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIHJvdy9jb2x1bW4gY29vcmRpbmF0ZXMgb2YgdGhlIGNlbnRlciBtb2R1bGUgb2YgZWFjaCBhbGlnbm1lbnQgcGF0dGVyblxuICogZm9yIHRoZSBzcGVjaWZpZWQgUVIgQ29kZSB2ZXJzaW9uLlxuICpcbiAqIFRoZSBhbGlnbm1lbnQgcGF0dGVybnMgYXJlIHBvc2l0aW9uZWQgc3ltbWV0cmljYWxseSBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgZGlhZ29uYWxcbiAqIHJ1bm5pbmcgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBzeW1ib2wgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuXG4gKlxuICogU2luY2UgcG9zaXRpb25zIGFyZSBzaW1tZXRyaWNhbCBvbmx5IGhhbGYgb2YgdGhlIGNvb3JkaW5hdGVzIGFyZSByZXR1cm5lZC5cbiAqIEVhY2ggaXRlbSBvZiB0aGUgYXJyYXkgd2lsbCByZXByZXNlbnQgaW4gdHVybiB0aGUgeCBhbmQgeSBjb29yZGluYXRlLlxuICogQHNlZSB7QGxpbmsgZ2V0UG9zaXRpb25zfVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBjb29yZGluYXRlXG4gKi9cbmV4cG9ydHMuZ2V0Um93Q29sQ29vcmRzID0gZnVuY3Rpb24gZ2V0Um93Q29sQ29vcmRzICh2ZXJzaW9uKSB7XG4gIGlmICh2ZXJzaW9uID09PSAxKSByZXR1cm4gW11cblxuICBjb25zdCBwb3NDb3VudCA9IE1hdGguZmxvb3IodmVyc2lvbiAvIDcpICsgMlxuICBjb25zdCBzaXplID0gZ2V0U3ltYm9sU2l6ZSh2ZXJzaW9uKVxuICBjb25zdCBpbnRlcnZhbHMgPSBzaXplID09PSAxNDUgPyAyNiA6IE1hdGguY2VpbCgoc2l6ZSAtIDEzKSAvICgyICogcG9zQ291bnQgLSAyKSkgKiAyXG4gIGNvbnN0IHBvc2l0aW9ucyA9IFtzaXplIC0gN10gLy8gTGFzdCBjb29yZCBpcyBhbHdheXMgKHNpemUgLSA3KVxuXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgcG9zQ291bnQgLSAxOyBpKyspIHtcbiAgICBwb3NpdGlvbnNbaV0gPSBwb3NpdGlvbnNbaSAtIDFdIC0gaW50ZXJ2YWxzXG4gIH1cblxuICBwb3NpdGlvbnMucHVzaCg2KSAvLyBGaXJzdCBjb29yZCBpcyBhbHdheXMgNlxuXG4gIHJldHVybiBwb3NpdGlvbnMucmV2ZXJzZSgpXG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbnMgb2YgZWFjaCBhbGlnbm1lbnQgcGF0dGVybi5cbiAqIEVhY2ggYXJyYXkncyBlbGVtZW50IHJlcHJlc2VudCB0aGUgY2VudGVyIHBvaW50IG9mIHRoZSBwYXR0ZXJuIGFzICh4LCB5KSBjb29yZGluYXRlc1xuICpcbiAqIENvb3JkaW5hdGVzIGFyZSBjYWxjdWxhdGVkIGV4cGFuZGluZyB0aGUgcm93L2NvbHVtbiBjb29yZGluYXRlcyByZXR1cm5lZCBieSB7QGxpbmsgZ2V0Um93Q29sQ29vcmRzfVxuICogYW5kIGZpbHRlcmluZyBvdXQgdGhlIGl0ZW1zIHRoYXQgb3ZlcmxhcHMgd2l0aCBmaW5kZXIgcGF0dGVyblxuICpcbiAqIEBleGFtcGxlXG4gKiBGb3IgYSBWZXJzaW9uIDcgc3ltYm9sIHtAbGluayBnZXRSb3dDb2xDb29yZHN9IHJldHVybnMgdmFsdWVzIDYsIDIyIGFuZCAzOC5cbiAqIFRoZSBhbGlnbm1lbnQgcGF0dGVybnMsIHRoZXJlZm9yZSwgYXJlIHRvIGJlIGNlbnRlcmVkIG9uIChyb3csIGNvbHVtbilcbiAqIHBvc2l0aW9ucyAoNiwyMiksICgyMiw2KSwgKDIyLDIyKSwgKDIyLDM4KSwgKDM4LDIyKSwgKDM4LDM4KS5cbiAqIE5vdGUgdGhhdCB0aGUgY29vcmRpbmF0ZXMgKDYsNiksICg2LDM4KSwgKDM4LDYpIGFyZSBvY2N1cGllZCBieSBmaW5kZXIgcGF0dGVybnNcbiAqIGFuZCBhcmUgbm90IHRoZXJlZm9yZSB1c2VkIGZvciBhbGlnbm1lbnQgcGF0dGVybnMuXG4gKlxuICogbGV0IHBvcyA9IGdldFBvc2l0aW9ucyg3KVxuICogLy8gW1s2LDIyXSwgWzIyLDZdLCBbMjIsMjJdLCBbMjIsMzhdLCBbMzgsMjJdLCBbMzgsMzhdXVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBjb29yZGluYXRlc1xuICovXG5leHBvcnRzLmdldFBvc2l0aW9ucyA9IGZ1bmN0aW9uIGdldFBvc2l0aW9ucyAodmVyc2lvbikge1xuICBjb25zdCBjb29yZHMgPSBbXVxuICBjb25zdCBwb3MgPSBleHBvcnRzLmdldFJvd0NvbENvb3Jkcyh2ZXJzaW9uKVxuICBjb25zdCBwb3NMZW5ndGggPSBwb3MubGVuZ3RoXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3NMZW5ndGg7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcG9zTGVuZ3RoOyBqKyspIHtcbiAgICAgIC8vIFNraXAgaWYgcG9zaXRpb24gaXMgb2NjdXBpZWQgYnkgZmluZGVyIHBhdHRlcm5zXG4gICAgICBpZiAoKGkgPT09IDAgJiYgaiA9PT0gMCkgfHwgLy8gdG9wLWxlZnRcbiAgICAgICAgICAoaSA9PT0gMCAmJiBqID09PSBwb3NMZW5ndGggLSAxKSB8fCAvLyBib3R0b20tbGVmdFxuICAgICAgICAgIChpID09PSBwb3NMZW5ndGggLSAxICYmIGogPT09IDApKSB7IC8vIHRvcC1yaWdodFxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb29yZHMucHVzaChbcG9zW2ldLCBwb3Nbal1dKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb29yZHNcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alignment-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alphanumeric-data.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alphanumeric-data.js ***! - \***********************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2FscGhhbnVtZXJpYy1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQywwRkFBUTs7QUFFN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsY0FBYywyQkFBMkI7QUFDekM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9hbHBoYW51bWVyaWMtZGF0YS5qcz8yMDJlIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuXG4vKipcbiAqIEFycmF5IG9mIGNoYXJhY3RlcnMgYXZhaWxhYmxlIGluIGFscGhhbnVtZXJpYyBtb2RlXG4gKlxuICogQXMgcGVyIFFSIENvZGUgc3BlY2lmaWNhdGlvbiwgdG8gZWFjaCBjaGFyYWN0ZXJcbiAqIGlzIGFzc2lnbmVkIGEgdmFsdWUgZnJvbSAwIHRvIDQ0IHdoaWNoIGluIHRoaXMgY2FzZSBjb2luY2lkZXNcbiAqIHdpdGggdGhlIGFycmF5IGluZGV4XG4gKlxuICogQHR5cGUge0FycmF5fVxuICovXG5jb25zdCBBTFBIQV9OVU1fQ0hBUlMgPSBbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JyxcbiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLFxuICAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsXG4gICcgJywgJyQnLCAnJScsICcqJywgJysnLCAnLScsICcuJywgJy8nLCAnOidcbl1cblxuZnVuY3Rpb24gQWxwaGFudW1lcmljRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLkFMUEhBTlVNRVJJQ1xuICB0aGlzLmRhdGEgPSBkYXRhXG59XG5cbkFscGhhbnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gMTEgKiBNYXRoLmZsb29yKGxlbmd0aCAvIDIpICsgNiAqIChsZW5ndGggJSAyKVxufVxuXG5BbHBoYW51bWVyaWNEYXRhLnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiBnZXRMZW5ndGggKCkge1xuICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aFxufVxuXG5BbHBoYW51bWVyaWNEYXRhLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAoKSB7XG4gIHJldHVybiBBbHBoYW51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuQWxwaGFudW1lcmljRGF0YS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiB3cml0ZSAoYml0QnVmZmVyKSB7XG4gIGxldCBpXG5cbiAgLy8gSW5wdXQgZGF0YSBjaGFyYWN0ZXJzIGFyZSBkaXZpZGVkIGludG8gZ3JvdXBzIG9mIHR3byBjaGFyYWN0ZXJzXG4gIC8vIGFuZCBlbmNvZGVkIGFzIDExLWJpdCBiaW5hcnkgY29kZXMuXG4gIGZvciAoaSA9IDA7IGkgKyAyIDw9IHRoaXMuZGF0YS5sZW5ndGg7IGkgKz0gMikge1xuICAgIC8vIFRoZSBjaGFyYWN0ZXIgdmFsdWUgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyBtdWx0aXBsaWVkIGJ5IDQ1XG4gICAgbGV0IHZhbHVlID0gQUxQSEFfTlVNX0NIQVJTLmluZGV4T2YodGhpcy5kYXRhW2ldKSAqIDQ1XG5cbiAgICAvLyBUaGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBzZWNvbmQgZGlnaXQgaXMgYWRkZWQgdG8gdGhlIHByb2R1Y3RcbiAgICB2YWx1ZSArPSBBTFBIQV9OVU1fQ0hBUlMuaW5kZXhPZih0aGlzLmRhdGFbaSArIDFdKVxuXG4gICAgLy8gVGhlIHN1bSBpcyB0aGVuIHN0b3JlZCBhcyAxMS1iaXQgYmluYXJ5IG51bWJlclxuICAgIGJpdEJ1ZmZlci5wdXQodmFsdWUsIDExKVxuICB9XG5cbiAgLy8gSWYgdGhlIG51bWJlciBvZiBpbnB1dCBkYXRhIGNoYXJhY3RlcnMgaXMgbm90IGEgbXVsdGlwbGUgb2YgdHdvLFxuICAvLyB0aGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBmaW5hbCBjaGFyYWN0ZXIgaXMgZW5jb2RlZCBhcyBhIDYtYml0IGJpbmFyeSBudW1iZXIuXG4gIGlmICh0aGlzLmRhdGEubGVuZ3RoICUgMikge1xuICAgIGJpdEJ1ZmZlci5wdXQoQUxQSEFfTlVNX0NIQVJTLmluZGV4T2YodGhpcy5kYXRhW2ldKSwgNilcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEFscGhhbnVtZXJpY0RhdGFcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alphanumeric-data.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-buffer.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-buffer.js ***! - \****************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1idWZmZXIuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1idWZmZXIuanM/MWNiYyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBCaXRCdWZmZXIgKCkge1xuICB0aGlzLmJ1ZmZlciA9IFtdXG4gIHRoaXMubGVuZ3RoID0gMFxufVxuXG5CaXRCdWZmZXIucHJvdG90eXBlID0ge1xuXG4gIGdldDogZnVuY3Rpb24gKGluZGV4KSB7XG4gICAgY29uc3QgYnVmSW5kZXggPSBNYXRoLmZsb29yKGluZGV4IC8gOClcbiAgICByZXR1cm4gKCh0aGlzLmJ1ZmZlcltidWZJbmRleF0gPj4+ICg3IC0gaW5kZXggJSA4KSkgJiAxKSA9PT0gMVxuICB9LFxuXG4gIHB1dDogZnVuY3Rpb24gKG51bSwgbGVuZ3RoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5wdXRCaXQoKChudW0gPj4+IChsZW5ndGggLSBpIC0gMSkpICYgMSkgPT09IDEpXG4gICAgfVxuICB9LFxuXG4gIGdldExlbmd0aEluQml0czogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmxlbmd0aFxuICB9LFxuXG4gIHB1dEJpdDogZnVuY3Rpb24gKGJpdCkge1xuICAgIGNvbnN0IGJ1ZkluZGV4ID0gTWF0aC5mbG9vcih0aGlzLmxlbmd0aCAvIDgpXG4gICAgaWYgKHRoaXMuYnVmZmVyLmxlbmd0aCA8PSBidWZJbmRleCkge1xuICAgICAgdGhpcy5idWZmZXIucHVzaCgwKVxuICAgIH1cblxuICAgIGlmIChiaXQpIHtcbiAgICAgIHRoaXMuYnVmZmVyW2J1ZkluZGV4XSB8PSAoMHg4MCA+Pj4gKHRoaXMubGVuZ3RoICUgOCkpXG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGgrK1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQml0QnVmZmVyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-buffer.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-matrix.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-matrix.js ***! - \****************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2JpdC1tYXRyaXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLFNBQVM7QUFDckIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsVUFBVTtBQUNyQixZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9iaXQtbWF0cml4LmpzP2Y0YTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIZWxwZXIgY2xhc3MgdG8gaGFuZGxlIFFSIENvZGUgc3ltYm9sIG1vZHVsZXNcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gc2l6ZSBTeW1ib2wgc2l6ZVxuICovXG5mdW5jdGlvbiBCaXRNYXRyaXggKHNpemUpIHtcbiAgaWYgKCFzaXplIHx8IHNpemUgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCaXRNYXRyaXggc2l6ZSBtdXN0IGJlIGRlZmluZWQgYW5kIGdyZWF0ZXIgdGhhbiAwJylcbiAgfVxuXG4gIHRoaXMuc2l6ZSA9IHNpemVcbiAgdGhpcy5kYXRhID0gbmV3IFVpbnQ4QXJyYXkoc2l6ZSAqIHNpemUpXG4gIHRoaXMucmVzZXJ2ZWRCaXQgPSBuZXcgVWludDhBcnJheShzaXplICogc2l6ZSlcbn1cblxuLyoqXG4gKiBTZXQgYml0IHZhbHVlIGF0IHNwZWNpZmllZCBsb2NhdGlvblxuICogSWYgcmVzZXJ2ZWQgZmxhZyBpcyBzZXQsIHRoaXMgYml0IHdpbGwgYmUgaWdub3JlZCBkdXJpbmcgbWFza2luZyBwcm9jZXNzXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9ICByb3dcbiAqIEBwYXJhbSB7TnVtYmVyfSAgY29sXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHZhbHVlXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHJlc2VydmVkXG4gKi9cbkJpdE1hdHJpeC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHJvdywgY29sLCB2YWx1ZSwgcmVzZXJ2ZWQpIHtcbiAgY29uc3QgaW5kZXggPSByb3cgKiB0aGlzLnNpemUgKyBjb2xcbiAgdGhpcy5kYXRhW2luZGV4XSA9IHZhbHVlXG4gIGlmIChyZXNlcnZlZCkgdGhpcy5yZXNlcnZlZEJpdFtpbmRleF0gPSB0cnVlXG59XG5cbi8qKlxuICogUmV0dXJucyBiaXQgdmFsdWUgYXQgc3BlY2lmaWVkIGxvY2F0aW9uXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgcm93XG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICBjb2xcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKi9cbkJpdE1hdHJpeC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKHJvdywgY29sKSB7XG4gIHJldHVybiB0aGlzLmRhdGFbcm93ICogdGhpcy5zaXplICsgY29sXVxufVxuXG4vKipcbiAqIEFwcGxpZXMgeG9yIG9wZXJhdG9yIGF0IHNwZWNpZmllZCBsb2NhdGlvblxuICogKHVzZWQgZHVyaW5nIG1hc2tpbmcgcHJvY2VzcylcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gIHJvd1xuICogQHBhcmFtIHtOdW1iZXJ9ICBjb2xcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gdmFsdWVcbiAqL1xuQml0TWF0cml4LnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiAocm93LCBjb2wsIHZhbHVlKSB7XG4gIHRoaXMuZGF0YVtyb3cgKiB0aGlzLnNpemUgKyBjb2xdIF49IHZhbHVlXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYml0IGF0IHNwZWNpZmllZCBsb2NhdGlvbiBpcyByZXNlcnZlZFxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSAgIHJvd1xuICogQHBhcmFtIHtOdW1iZXJ9ICAgY29sXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5CaXRNYXRyaXgucHJvdG90eXBlLmlzUmVzZXJ2ZWQgPSBmdW5jdGlvbiAocm93LCBjb2wpIHtcbiAgcmV0dXJuIHRoaXMucmVzZXJ2ZWRCaXRbcm93ICogdGhpcy5zaXplICsgY29sXVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJpdE1hdHJpeFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-matrix.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/byte-data.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/byte-data.js ***! - \***************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const encodeUtf8 = __webpack_require__(/*! encode-utf8 */ \"./node_modules/encode-utf8/index.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n this.data = new Uint8Array(encodeUtf8(data))\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2J5dGUtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUIsbUJBQU8sQ0FBQyx3REFBYTtBQUN4QyxhQUFhLG1CQUFPLENBQUMsMEZBQVE7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvYnl0ZS1kYXRhLmpzPzU5MmMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZW5jb2RlVXRmOCA9IHJlcXVpcmUoJ2VuY29kZS11dGY4JylcbmNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuXG5mdW5jdGlvbiBCeXRlRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLkJZVEVcbiAgdGhpcy5kYXRhID0gbmV3IFVpbnQ4QXJyYXkoZW5jb2RlVXRmOChkYXRhKSlcbn1cblxuQnl0ZURhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gbGVuZ3RoICogOFxufVxuXG5CeXRlRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuQnl0ZURhdGEucHJvdG90eXBlLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoICgpIHtcbiAgcmV0dXJuIEJ5dGVEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuQnl0ZURhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGJpdEJ1ZmZlcikge1xuICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuZGF0YS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBiaXRCdWZmZXIucHV0KHRoaXMuZGF0YVtpXSwgOClcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJ5dGVEYXRhXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/byte-data.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-code.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-code.js ***! - \***************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-level.js\")\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQyw4SEFBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksUUFBUTtBQUNwQixZQUFZLDZCQUE2QjtBQUN6QztBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvZXJyb3ItY29ycmVjdGlvbi1jb2RlLmpzPzdhZmUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRUNMZXZlbCA9IHJlcXVpcmUoJy4vZXJyb3ItY29ycmVjdGlvbi1sZXZlbCcpXHJcblxyXG5jb25zdCBFQ19CTE9DS1NfVEFCTEUgPSBbXHJcbi8vIEwgIE0gIFEgIEhcclxuICAxLCAxLCAxLCAxLFxyXG4gIDEsIDEsIDEsIDEsXHJcbiAgMSwgMSwgMiwgMixcclxuICAxLCAyLCAyLCA0LFxyXG4gIDEsIDIsIDQsIDQsXHJcbiAgMiwgNCwgNCwgNCxcclxuICAyLCA0LCA2LCA1LFxyXG4gIDIsIDQsIDYsIDYsXHJcbiAgMiwgNSwgOCwgOCxcclxuICA0LCA1LCA4LCA4LFxyXG4gIDQsIDUsIDgsIDExLFxyXG4gIDQsIDgsIDEwLCAxMSxcclxuICA0LCA5LCAxMiwgMTYsXHJcbiAgNCwgOSwgMTYsIDE2LFxyXG4gIDYsIDEwLCAxMiwgMTgsXHJcbiAgNiwgMTAsIDE3LCAxNixcclxuICA2LCAxMSwgMTYsIDE5LFxyXG4gIDYsIDEzLCAxOCwgMjEsXHJcbiAgNywgMTQsIDIxLCAyNSxcclxuICA4LCAxNiwgMjAsIDI1LFxyXG4gIDgsIDE3LCAyMywgMjUsXHJcbiAgOSwgMTcsIDIzLCAzNCxcclxuICA5LCAxOCwgMjUsIDMwLFxyXG4gIDEwLCAyMCwgMjcsIDMyLFxyXG4gIDEyLCAyMSwgMjksIDM1LFxyXG4gIDEyLCAyMywgMzQsIDM3LFxyXG4gIDEyLCAyNSwgMzQsIDQwLFxyXG4gIDEzLCAyNiwgMzUsIDQyLFxyXG4gIDE0LCAyOCwgMzgsIDQ1LFxyXG4gIDE1LCAyOSwgNDAsIDQ4LFxyXG4gIDE2LCAzMSwgNDMsIDUxLFxyXG4gIDE3LCAzMywgNDUsIDU0LFxyXG4gIDE4LCAzNSwgNDgsIDU3LFxyXG4gIDE5LCAzNywgNTEsIDYwLFxyXG4gIDE5LCAzOCwgNTMsIDYzLFxyXG4gIDIwLCA0MCwgNTYsIDY2LFxyXG4gIDIxLCA0MywgNTksIDcwLFxyXG4gIDIyLCA0NSwgNjIsIDc0LFxyXG4gIDI0LCA0NywgNjUsIDc3LFxyXG4gIDI1LCA0OSwgNjgsIDgxXHJcbl1cclxuXHJcbmNvbnN0IEVDX0NPREVXT1JEU19UQUJMRSA9IFtcclxuLy8gTCAgTSAgUSAgSFxyXG4gIDcsIDEwLCAxMywgMTcsXHJcbiAgMTAsIDE2LCAyMiwgMjgsXHJcbiAgMTUsIDI2LCAzNiwgNDQsXHJcbiAgMjAsIDM2LCA1MiwgNjQsXHJcbiAgMjYsIDQ4LCA3MiwgODgsXHJcbiAgMzYsIDY0LCA5NiwgMTEyLFxyXG4gIDQwLCA3MiwgMTA4LCAxMzAsXHJcbiAgNDgsIDg4LCAxMzIsIDE1NixcclxuICA2MCwgMTEwLCAxNjAsIDE5MixcclxuICA3MiwgMTMwLCAxOTIsIDIyNCxcclxuICA4MCwgMTUwLCAyMjQsIDI2NCxcclxuICA5NiwgMTc2LCAyNjAsIDMwOCxcclxuICAxMDQsIDE5OCwgMjg4LCAzNTIsXHJcbiAgMTIwLCAyMTYsIDMyMCwgMzg0LFxyXG4gIDEzMiwgMjQwLCAzNjAsIDQzMixcclxuICAxNDQsIDI4MCwgNDA4LCA0ODAsXHJcbiAgMTY4LCAzMDgsIDQ0OCwgNTMyLFxyXG4gIDE4MCwgMzM4LCA1MDQsIDU4OCxcclxuICAxOTYsIDM2NCwgNTQ2LCA2NTAsXHJcbiAgMjI0LCA0MTYsIDYwMCwgNzAwLFxyXG4gIDIyNCwgNDQyLCA2NDQsIDc1MCxcclxuICAyNTIsIDQ3NiwgNjkwLCA4MTYsXHJcbiAgMjcwLCA1MDQsIDc1MCwgOTAwLFxyXG4gIDMwMCwgNTYwLCA4MTAsIDk2MCxcclxuICAzMTIsIDU4OCwgODcwLCAxMDUwLFxyXG4gIDMzNiwgNjQ0LCA5NTIsIDExMTAsXHJcbiAgMzYwLCA3MDAsIDEwMjAsIDEyMDAsXHJcbiAgMzkwLCA3MjgsIDEwNTAsIDEyNjAsXHJcbiAgNDIwLCA3ODQsIDExNDAsIDEzNTAsXHJcbiAgNDUwLCA4MTIsIDEyMDAsIDE0NDAsXHJcbiAgNDgwLCA4NjgsIDEyOTAsIDE1MzAsXHJcbiAgNTEwLCA5MjQsIDEzNTAsIDE2MjAsXHJcbiAgNTQwLCA5ODAsIDE0NDAsIDE3MTAsXHJcbiAgNTcwLCAxMDM2LCAxNTMwLCAxODAwLFxyXG4gIDU3MCwgMTA2NCwgMTU5MCwgMTg5MCxcclxuICA2MDAsIDExMjAsIDE2ODAsIDE5ODAsXHJcbiAgNjMwLCAxMjA0LCAxNzcwLCAyMTAwLFxyXG4gIDY2MCwgMTI2MCwgMTg2MCwgMjIyMCxcclxuICA3MjAsIDEzMTYsIDE5NTAsIDIzMTAsXHJcbiAgNzUwLCAxMzcyLCAyMDQwLCAyNDMwXHJcbl1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgY29ycmVjdGlvbiBibG9jayB0aGF0IHRoZSBRUiBDb2RlIHNob3VsZCBjb250YWluXHJcbiAqIGZvciB0aGUgc3BlY2lmaWVkIHZlcnNpb24gYW5kIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWwuXHJcbiAqXHJcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgIE51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGJsb2Nrc1xyXG4gKi9cclxuZXhwb3J0cy5nZXRCbG9ja3NDb3VudCA9IGZ1bmN0aW9uIGdldEJsb2Nrc0NvdW50ICh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCkge1xyXG4gIHN3aXRjaCAoZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcclxuICAgIGNhc2UgRUNMZXZlbC5MOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMF1cclxuICAgIGNhc2UgRUNMZXZlbC5NOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMV1cclxuICAgIGNhc2UgRUNMZXZlbC5ROlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgMl1cclxuICAgIGNhc2UgRUNMZXZlbC5IOlxyXG4gICAgICByZXR1cm4gRUNfQkxPQ0tTX1RBQkxFWyh2ZXJzaW9uIC0gMSkgKiA0ICsgM11cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgdG8gdXNlIGZvciB0aGUgc3BlY2lmaWVkXHJcbiAqIHZlcnNpb24gYW5kIGVycm9yIGNvcnJlY3Rpb24gbGV2ZWwuXHJcbiAqXHJcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXHJcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxyXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgIE51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkc1xyXG4gKi9cclxuZXhwb3J0cy5nZXRUb3RhbENvZGV3b3Jkc0NvdW50ID0gZnVuY3Rpb24gZ2V0VG90YWxDb2Rld29yZHNDb3VudCAodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcclxuICBzd2l0Y2ggKGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XHJcbiAgICBjYXNlIEVDTGV2ZWwuTDpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDBdXHJcbiAgICBjYXNlIEVDTGV2ZWwuTTpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDFdXHJcbiAgICBjYXNlIEVDTGV2ZWwuUTpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDJdXHJcbiAgICBjYXNlIEVDTGV2ZWwuSDpcclxuICAgICAgcmV0dXJuIEVDX0NPREVXT1JEU19UQUJMRVsodmVyc2lvbiAtIDEpICogNCArIDNdXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-code.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-level.js": -/*!****************************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-level.js ***! - \****************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwuanMiLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLO0FBQ2QsU0FBUyxLQUFLOztBQUVkO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7O0FBRUEsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwuanM/ZDQxNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzLkwgPSB7IGJpdDogMSB9XG5leHBvcnRzLk0gPSB7IGJpdDogMCB9XG5leHBvcnRzLlEgPSB7IGJpdDogMyB9XG5leHBvcnRzLkggPSB7IGJpdDogMiB9XG5cbmZ1bmN0aW9uIGZyb21TdHJpbmcgKHN0cmluZykge1xuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmFtIGlzIG5vdCBhIHN0cmluZycpXG4gIH1cblxuICBjb25zdCBsY1N0ciA9IHN0cmluZy50b0xvd2VyQ2FzZSgpXG5cbiAgc3dpdGNoIChsY1N0cikge1xuICAgIGNhc2UgJ2wnOlxuICAgIGNhc2UgJ2xvdyc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5MXG5cbiAgICBjYXNlICdtJzpcbiAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgcmV0dXJuIGV4cG9ydHMuTVxuXG4gICAgY2FzZSAncSc6XG4gICAgY2FzZSAncXVhcnRpbGUnOlxuICAgICAgcmV0dXJuIGV4cG9ydHMuUVxuXG4gICAgY2FzZSAnaCc6XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5IXG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIEVDIExldmVsOiAnICsgc3RyaW5nKVxuICB9XG59XG5cbmV4cG9ydHMuaXNWYWxpZCA9IGZ1bmN0aW9uIGlzVmFsaWQgKGxldmVsKSB7XG4gIHJldHVybiBsZXZlbCAmJiB0eXBlb2YgbGV2ZWwuYml0ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGxldmVsLmJpdCA+PSAwICYmIGxldmVsLmJpdCA8IDRcbn1cblxuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh2YWx1ZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-level.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/finder-pattern.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/finder-pattern.js ***! - \********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const getSymbolSize = (__webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\").getSymbolSize)\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2ZpbmRlci1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQixpSUFBZ0M7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSxvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvZmluZGVyLXBhdHRlcm4uanM/MGQ4NSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRTeW1ib2xTaXplID0gcmVxdWlyZSgnLi91dGlscycpLmdldFN5bWJvbFNpemVcbmNvbnN0IEZJTkRFUl9QQVRURVJOX1NJWkUgPSA3XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBwb3NpdGlvbnMgb2YgZWFjaCBmaW5kZXIgcGF0dGVybi5cbiAqIEVhY2ggYXJyYXkncyBlbGVtZW50IHJlcHJlc2VudCB0aGUgdG9wLWxlZnQgcG9pbnQgb2YgdGhlIHBhdHRlcm4gYXMgKHgsIHkpIGNvb3JkaW5hdGVzXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7QXJyYXl9ICAgICAgICAgIEFycmF5IG9mIGNvb3JkaW5hdGVzXG4gKi9cbmV4cG9ydHMuZ2V0UG9zaXRpb25zID0gZnVuY3Rpb24gZ2V0UG9zaXRpb25zICh2ZXJzaW9uKSB7XG4gIGNvbnN0IHNpemUgPSBnZXRTeW1ib2xTaXplKHZlcnNpb24pXG5cbiAgcmV0dXJuIFtcbiAgICAvLyB0b3AtbGVmdFxuICAgIFswLCAwXSxcbiAgICAvLyB0b3AtcmlnaHRcbiAgICBbc2l6ZSAtIEZJTkRFUl9QQVRURVJOX1NJWkUsIDBdLFxuICAgIC8vIGJvdHRvbS1sZWZ0XG4gICAgWzAsIHNpemUgLSBGSU5ERVJfUEFUVEVSTl9TSVpFXVxuICBdXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/finder-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/format-info.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/format-info.js ***! - \*****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\")\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Zvcm1hdC1pbmZvLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyw0RkFBUzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSw2QkFBNkI7QUFDekM7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2Zvcm1hdC1pbmZvLmpzPzkxNjYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxuY29uc3QgRzE1ID0gKDEgPDwgMTApIHwgKDEgPDwgOCkgfCAoMSA8PCA1KSB8ICgxIDw8IDQpIHwgKDEgPDwgMikgfCAoMSA8PCAxKSB8ICgxIDw8IDApXG5jb25zdCBHMTVfTUFTSyA9ICgxIDw8IDE0KSB8ICgxIDw8IDEyKSB8ICgxIDw8IDEwKSB8ICgxIDw8IDQpIHwgKDEgPDwgMSlcbmNvbnN0IEcxNV9CQ0ggPSBVdGlscy5nZXRCQ0hEaWdpdChHMTUpXG5cbi8qKlxuICogUmV0dXJucyBmb3JtYXQgaW5mb3JtYXRpb24gd2l0aCByZWxhdGl2ZSBlcnJvciBjb3JyZWN0aW9uIGJpdHNcbiAqXG4gKiBUaGUgZm9ybWF0IGluZm9ybWF0aW9uIGlzIGEgMTUtYml0IHNlcXVlbmNlIGNvbnRhaW5pbmcgNSBkYXRhIGJpdHMsXG4gKiB3aXRoIDEwIGVycm9yIGNvcnJlY3Rpb24gYml0cyBjYWxjdWxhdGVkIHVzaW5nIHRoZSAoMTUsIDUpIEJDSCBjb2RlLlxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICogQHBhcmFtICB7TnVtYmVyfSBtYXNrICAgICAgICAgICAgICAgICBNYXNrIHBhdHRlcm5cbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBmb3JtYXQgaW5mb3JtYXRpb24gYml0c1xuICovXG5leHBvcnRzLmdldEVuY29kZWRCaXRzID0gZnVuY3Rpb24gZ2V0RW5jb2RlZEJpdHMgKGVycm9yQ29ycmVjdGlvbkxldmVsLCBtYXNrKSB7XG4gIGNvbnN0IGRhdGEgPSAoKGVycm9yQ29ycmVjdGlvbkxldmVsLmJpdCA8PCAzKSB8IG1hc2spXG4gIGxldCBkID0gZGF0YSA8PCAxMFxuXG4gIHdoaWxlIChVdGlscy5nZXRCQ0hEaWdpdChkKSAtIEcxNV9CQ0ggPj0gMCkge1xuICAgIGQgXj0gKEcxNSA8PCAoVXRpbHMuZ2V0QkNIRGlnaXQoZCkgLSBHMTVfQkNIKSlcbiAgfVxuXG4gIC8vIHhvciBmaW5hbCBkYXRhIHdpdGggbWFzayBwYXR0ZXJuIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0XG4gIC8vIG5vIGNvbWJpbmF0aW9uIG9mIEVycm9yIENvcnJlY3Rpb24gTGV2ZWwgYW5kIGRhdGEgbWFzayBwYXR0ZXJuXG4gIC8vIHdpbGwgcmVzdWx0IGluIGFuIGFsbC16ZXJvIGRhdGEgc3RyaW5nXG4gIHJldHVybiAoKGRhdGEgPDwgMTApIHwgZCkgXiBHMTVfTUFTS1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/format-info.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/galois-field.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/galois-field.js ***! - \******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2dhbG9pcy1maWVsZC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsQ0FBQztBQUNEO0FBQ0Esa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsb0JBQW9CLFNBQVM7QUFDN0I7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVk7QUFDWjtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWTtBQUNaO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0EsV0FBVztBQUNYO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS9nYWxvaXMtZmllbGQuanM/MTk5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBFWFBfVEFCTEUgPSBuZXcgVWludDhBcnJheSg1MTIpXG5jb25zdCBMT0dfVEFCTEUgPSBuZXcgVWludDhBcnJheSgyNTYpXG4vKipcbiAqIFByZWNvbXB1dGUgdGhlIGxvZyBhbmQgYW50aS1sb2cgdGFibGVzIGZvciBmYXN0ZXIgY29tcHV0YXRpb24gbGF0ZXJcbiAqXG4gKiBGb3IgZWFjaCBwb3NzaWJsZSB2YWx1ZSBpbiB0aGUgZ2Fsb2lzIGZpZWxkIDJeOCwgd2Ugd2lsbCBwcmUtY29tcHV0ZVxuICogdGhlIGxvZ2FyaXRobSBhbmQgYW50aS1sb2dhcml0aG0gKGV4cG9uZW50aWFsKSBvZiB0aGlzIHZhbHVlXG4gKlxuICogcmVmIHtAbGluayBodHRwczovL2VuLndpa2l2ZXJzaXR5Lm9yZy93aWtpL1JlZWQlRTIlODAlOTNTb2xvbW9uX2NvZGVzX2Zvcl9jb2RlcnMjSW50cm9kdWN0aW9uX3RvX21hdGhlbWF0aWNhbF9maWVsZHN9XG4gKi9cbjsoZnVuY3Rpb24gaW5pdFRhYmxlcyAoKSB7XG4gIGxldCB4ID0gMVxuICBmb3IgKGxldCBpID0gMDsgaSA8IDI1NTsgaSsrKSB7XG4gICAgRVhQX1RBQkxFW2ldID0geFxuICAgIExPR19UQUJMRVt4XSA9IGlcblxuICAgIHggPDw9IDEgLy8gbXVsdGlwbHkgYnkgMlxuXG4gICAgLy8gVGhlIFFSIGNvZGUgc3BlY2lmaWNhdGlvbiBzYXlzIHRvIHVzZSBieXRlLXdpc2UgbW9kdWxvIDEwMDAxMTEwMSBhcml0aG1ldGljLlxuICAgIC8vIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGEgbnVtYmVyIGlzIDI1NiBvciBsYXJnZXIsIGl0IHNob3VsZCBiZSBYT1JlZCB3aXRoIDB4MTFELlxuICAgIGlmICh4ICYgMHgxMDApIHsgLy8gc2ltaWxhciB0byB4ID49IDI1NiwgYnV0IGEgbG90IGZhc3RlciAoYmVjYXVzZSAweDEwMCA9PSAyNTYpXG4gICAgICB4IF49IDB4MTFEXG4gICAgfVxuICB9XG5cbiAgLy8gT3B0aW1pemF0aW9uOiBkb3VibGUgdGhlIHNpemUgb2YgdGhlIGFudGktbG9nIHRhYmxlIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBtb2QgMjU1IHRvXG4gIC8vIHN0YXkgaW5zaWRlIHRoZSBib3VuZHMgKGJlY2F1c2Ugd2Ugd2lsbCBtYWlubHkgdXNlIHRoaXMgdGFibGUgZm9yIHRoZSBtdWx0aXBsaWNhdGlvbiBvZlxuICAvLyB0d28gR0YgbnVtYmVycywgbm8gbW9yZSkuXG4gIC8vIEBzZWUge0BsaW5rIG11bH1cbiAgZm9yIChsZXQgaSA9IDI1NTsgaSA8IDUxMjsgaSsrKSB7XG4gICAgRVhQX1RBQkxFW2ldID0gRVhQX1RBQkxFW2kgLSAyNTVdXG4gIH1cbn0oKSlcblxuLyoqXG4gKiBSZXR1cm5zIGxvZyB2YWx1ZSBvZiBuIGluc2lkZSBHYWxvaXMgRmllbGRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IG5cbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuZXhwb3J0cy5sb2cgPSBmdW5jdGlvbiBsb2cgKG4pIHtcbiAgaWYgKG4gPCAxKSB0aHJvdyBuZXcgRXJyb3IoJ2xvZygnICsgbiArICcpJylcbiAgcmV0dXJuIExPR19UQUJMRVtuXVxufVxuXG4vKipcbiAqIFJldHVybnMgYW50aS1sb2cgdmFsdWUgb2YgbiBpbnNpZGUgR2Fsb2lzIEZpZWxkXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBuXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbmV4cG9ydHMuZXhwID0gZnVuY3Rpb24gZXhwIChuKSB7XG4gIHJldHVybiBFWFBfVEFCTEVbbl1cbn1cblxuLyoqXG4gKiBNdWx0aXBsaWVzIHR3byBudW1iZXIgaW5zaWRlIEdhbG9pcyBGaWVsZFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0geFxuICogQHBhcmFtICB7TnVtYmVyfSB5XG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbmV4cG9ydHMubXVsID0gZnVuY3Rpb24gbXVsICh4LCB5KSB7XG4gIGlmICh4ID09PSAwIHx8IHkgPT09IDApIHJldHVybiAwXG5cbiAgLy8gc2hvdWxkIGJlIEVYUF9UQUJMRVsoTE9HX1RBQkxFW3hdICsgTE9HX1RBQkxFW3ldKSAlIDI1NV0gaWYgRVhQX1RBQkxFIHdhc24ndCBvdmVyc2l6ZWRcbiAgLy8gQHNlZSB7QGxpbmsgaW5pdFRhYmxlc31cbiAgcmV0dXJuIEVYUF9UQUJMRVtMT0dfVEFCTEVbeF0gKyBMT0dfVEFCTEVbeV1dXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/galois-field.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/kanji-data.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/kanji-data.js ***! - \****************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\nconst Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\")\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2thbmppLWRhdGEuanMiLCJtYXBwaW5ncyI6IkFBQUEsYUFBYSxtQkFBTyxDQUFDLDBGQUFRO0FBQzdCLGNBQWMsbUJBQU8sQ0FBQyw0RkFBUzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHNCQUFzQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL2thbmppLWRhdGEuanM/ZWViMyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNb2RlID0gcmVxdWlyZSgnLi9tb2RlJylcbmNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmZ1bmN0aW9uIEthbmppRGF0YSAoZGF0YSkge1xuICB0aGlzLm1vZGUgPSBNb2RlLktBTkpJXG4gIHRoaXMuZGF0YSA9IGRhdGFcbn1cblxuS2FuamlEYXRhLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoIChsZW5ndGgpIHtcbiAgcmV0dXJuIGxlbmd0aCAqIDEzXG59XG5cbkthbmppRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuS2FuamlEYXRhLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoID0gZnVuY3Rpb24gZ2V0Qml0c0xlbmd0aCAoKSB7XG4gIHJldHVybiBLYW5qaURhdGEuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKVxufVxuXG5LYW5qaURhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGJpdEJ1ZmZlcikge1xuICBsZXQgaVxuXG4gIC8vIEluIHRoZSBTaGlmdCBKSVMgc3lzdGVtLCBLYW5qaSBjaGFyYWN0ZXJzIGFyZSByZXByZXNlbnRlZCBieSBhIHR3byBieXRlIGNvbWJpbmF0aW9uLlxuICAvLyBUaGVzZSBieXRlIHZhbHVlcyBhcmUgc2hpZnRlZCBmcm9tIHRoZSBKSVMgWCAwMjA4IHZhbHVlcy5cbiAgLy8gSklTIFggMDIwOCBnaXZlcyBkZXRhaWxzIG9mIHRoZSBzaGlmdCBjb2RlZCByZXByZXNlbnRhdGlvbi5cbiAgZm9yIChpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7IGkrKykge1xuICAgIGxldCB2YWx1ZSA9IFV0aWxzLnRvU0pJUyh0aGlzLmRhdGFbaV0pXG5cbiAgICAvLyBGb3IgY2hhcmFjdGVycyB3aXRoIFNoaWZ0IEpJUyB2YWx1ZXMgZnJvbSAweDgxNDAgdG8gMHg5RkZDOlxuICAgIGlmICh2YWx1ZSA+PSAweDgxNDAgJiYgdmFsdWUgPD0gMHg5RkZDKSB7XG4gICAgICAvLyBTdWJ0cmFjdCAweDgxNDAgZnJvbSBTaGlmdCBKSVMgdmFsdWVcbiAgICAgIHZhbHVlIC09IDB4ODE0MFxuXG4gICAgLy8gRm9yIGNoYXJhY3RlcnMgd2l0aCBTaGlmdCBKSVMgdmFsdWVzIGZyb20gMHhFMDQwIHRvIDB4RUJCRlxuICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMHhFMDQwICYmIHZhbHVlIDw9IDB4RUJCRikge1xuICAgICAgLy8gU3VidHJhY3QgMHhDMTQwIGZyb20gU2hpZnQgSklTIHZhbHVlXG4gICAgICB2YWx1ZSAtPSAweEMxNDBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSW52YWxpZCBTSklTIGNoYXJhY3RlcjogJyArIHRoaXMuZGF0YVtpXSArICdcXG4nICtcbiAgICAgICAgJ01ha2Ugc3VyZSB5b3VyIGNoYXJzZXQgaXMgVVRGLTgnKVxuICAgIH1cblxuICAgIC8vIE11bHRpcGx5IG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiByZXN1bHQgYnkgMHhDMFxuICAgIC8vIGFuZCBhZGQgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSB0byBwcm9kdWN0XG4gICAgdmFsdWUgPSAoKCh2YWx1ZSA+Pj4gOCkgJiAweGZmKSAqIDB4QzApICsgKHZhbHVlICYgMHhmZilcblxuICAgIC8vIENvbnZlcnQgcmVzdWx0IHRvIGEgMTMtYml0IGJpbmFyeSBzdHJpbmdcbiAgICBiaXRCdWZmZXIucHV0KHZhbHVlLCAxMylcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEthbmppRGF0YVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/kanji-data.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mask-pattern.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mask-pattern.js ***! - \******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21hc2stcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLGlCQUFpQjtBQUM3QjtBQUNBLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksNEJBQTRCO0FBQ3hDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7O0FBRUEsc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLHNCQUFzQixnQkFBZ0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0Esc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCOztBQUVwQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVztBQUN2QixZQUFZLFdBQVc7QUFDdkI7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUEsb0JBQW9CLFlBQVk7QUFDaEMsc0JBQXNCLFlBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFdBQVc7QUFDdkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvbWFzay1wYXR0ZXJuLmpzPzk2Y2QiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEYXRhIG1hc2sgcGF0dGVybiByZWZlcmVuY2VcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuUGF0dGVybnMgPSB7XG4gIFBBVFRFUk4wMDA6IDAsXG4gIFBBVFRFUk4wMDE6IDEsXG4gIFBBVFRFUk4wMTA6IDIsXG4gIFBBVFRFUk4wMTE6IDMsXG4gIFBBVFRFUk4xMDA6IDQsXG4gIFBBVFRFUk4xMDE6IDUsXG4gIFBBVFRFUk4xMTA6IDYsXG4gIFBBVFRFUk4xMTE6IDdcbn1cblxuLyoqXG4gKiBXZWlnaHRlZCBwZW5hbHR5IHNjb3JlcyBmb3IgdGhlIHVuZGVzaXJhYmxlIGZlYXR1cmVzXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5jb25zdCBQZW5hbHR5U2NvcmVzID0ge1xuICBOMTogMyxcbiAgTjI6IDMsXG4gIE4zOiA0MCxcbiAgTjQ6IDEwXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgbWFzayBwYXR0ZXJuIHZhbHVlIGlzIHZhbGlkXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgbWFzayAgICBNYXNrIHBhdHRlcm5cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgdHJ1ZSBpZiB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydHMuaXNWYWxpZCA9IGZ1bmN0aW9uIGlzVmFsaWQgKG1hc2spIHtcbiAgcmV0dXJuIG1hc2sgIT0gbnVsbCAmJiBtYXNrICE9PSAnJyAmJiAhaXNOYU4obWFzaykgJiYgbWFzayA+PSAwICYmIG1hc2sgPD0gN1xufVxuXG4vKipcbiAqIFJldHVybnMgbWFzayBwYXR0ZXJuIGZyb20gYSB2YWx1ZS5cbiAqIElmIHZhbHVlIGlzIG5vdCB2YWxpZCwgcmV0dXJucyB1bmRlZmluZWRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ8U3RyaW5nfSB2YWx1ZSAgICAgICAgTWFzayBwYXR0ZXJuIHZhbHVlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgICAgVmFsaWQgbWFzayBwYXR0ZXJuIG9yIHVuZGVmaW5lZFxuICovXG5leHBvcnRzLmZyb20gPSBmdW5jdGlvbiBmcm9tICh2YWx1ZSkge1xuICByZXR1cm4gZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSA/IHBhcnNlSW50KHZhbHVlLCAxMCkgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4qIEZpbmQgYWRqYWNlbnQgbW9kdWxlcyBpbiByb3cvY29sdW1uIHdpdGggdGhlIHNhbWUgY29sb3JcbiogYW5kIGFzc2lnbiBhIHBlbmFsdHkgdmFsdWUuXG4qXG4qIFBvaW50czogTjEgKyBpXG4qIGkgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgbnVtYmVyIG9mIGFkamFjZW50IG1vZHVsZXMgb2YgdGhlIHNhbWUgY29sb3IgZXhjZWVkcyA1XG4qL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjEgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjEgKGRhdGEpIHtcbiAgY29uc3Qgc2l6ZSA9IGRhdGEuc2l6ZVxuICBsZXQgcG9pbnRzID0gMFxuICBsZXQgc2FtZUNvdW50Q29sID0gMFxuICBsZXQgc2FtZUNvdW50Um93ID0gMFxuICBsZXQgbGFzdENvbCA9IG51bGxcbiAgbGV0IGxhc3RSb3cgPSBudWxsXG5cbiAgZm9yIChsZXQgcm93ID0gMDsgcm93IDwgc2l6ZTsgcm93KyspIHtcbiAgICBzYW1lQ291bnRDb2wgPSBzYW1lQ291bnRSb3cgPSAwXG4gICAgbGFzdENvbCA9IGxhc3RSb3cgPSBudWxsXG5cbiAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBzaXplOyBjb2wrKykge1xuICAgICAgbGV0IG1vZHVsZSA9IGRhdGEuZ2V0KHJvdywgY29sKVxuICAgICAgaWYgKG1vZHVsZSA9PT0gbGFzdENvbCkge1xuICAgICAgICBzYW1lQ291bnRDb2wrK1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNhbWVDb3VudENvbCA+PSA1KSBwb2ludHMgKz0gUGVuYWx0eVNjb3Jlcy5OMSArIChzYW1lQ291bnRDb2wgLSA1KVxuICAgICAgICBsYXN0Q29sID0gbW9kdWxlXG4gICAgICAgIHNhbWVDb3VudENvbCA9IDFcbiAgICAgIH1cblxuICAgICAgbW9kdWxlID0gZGF0YS5nZXQoY29sLCByb3cpXG4gICAgICBpZiAobW9kdWxlID09PSBsYXN0Um93KSB7XG4gICAgICAgIHNhbWVDb3VudFJvdysrXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoc2FtZUNvdW50Um93ID49IDUpIHBvaW50cyArPSBQZW5hbHR5U2NvcmVzLk4xICsgKHNhbWVDb3VudFJvdyAtIDUpXG4gICAgICAgIGxhc3RSb3cgPSBtb2R1bGVcbiAgICAgICAgc2FtZUNvdW50Um93ID0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzYW1lQ291bnRDb2wgPj0gNSkgcG9pbnRzICs9IFBlbmFsdHlTY29yZXMuTjEgKyAoc2FtZUNvdW50Q29sIC0gNSlcbiAgICBpZiAoc2FtZUNvdW50Um93ID49IDUpIHBvaW50cyArPSBQZW5hbHR5U2NvcmVzLk4xICsgKHNhbWVDb3VudFJvdyAtIDUpXG4gIH1cblxuICByZXR1cm4gcG9pbnRzXG59XG5cbi8qKlxuICogRmluZCAyeDIgYmxvY2tzIHdpdGggdGhlIHNhbWUgY29sb3IgYW5kIGFzc2lnbiBhIHBlbmFsdHkgdmFsdWVcbiAqXG4gKiBQb2ludHM6IE4yICogKG0gLSAxKSAqIChuIC0gMSlcbiAqL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjIgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjIgKGRhdGEpIHtcbiAgY29uc3Qgc2l6ZSA9IGRhdGEuc2l6ZVxuICBsZXQgcG9pbnRzID0gMFxuXG4gIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHNpemUgLSAxOyByb3crKykge1xuICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHNpemUgLSAxOyBjb2wrKykge1xuICAgICAgY29uc3QgbGFzdCA9IGRhdGEuZ2V0KHJvdywgY29sKSArXG4gICAgICAgIGRhdGEuZ2V0KHJvdywgY29sICsgMSkgK1xuICAgICAgICBkYXRhLmdldChyb3cgKyAxLCBjb2wpICtcbiAgICAgICAgZGF0YS5nZXQocm93ICsgMSwgY29sICsgMSlcblxuICAgICAgaWYgKGxhc3QgPT09IDQgfHwgbGFzdCA9PT0gMCkgcG9pbnRzKytcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9pbnRzICogUGVuYWx0eVNjb3Jlcy5OMlxufVxuXG4vKipcbiAqIEZpbmQgMToxOjM6MToxIHJhdGlvIChkYXJrOmxpZ2h0OmRhcms6bGlnaHQ6ZGFyaykgcGF0dGVybiBpbiByb3cvY29sdW1uLFxuICogcHJlY2VkZWQgb3IgZm9sbG93ZWQgYnkgbGlnaHQgYXJlYSA0IG1vZHVsZXMgd2lkZVxuICpcbiAqIFBvaW50czogTjMgKiBudW1iZXIgb2YgcGF0dGVybiBmb3VuZFxuICovXG5leHBvcnRzLmdldFBlbmFsdHlOMyA9IGZ1bmN0aW9uIGdldFBlbmFsdHlOMyAoZGF0YSkge1xuICBjb25zdCBzaXplID0gZGF0YS5zaXplXG4gIGxldCBwb2ludHMgPSAwXG4gIGxldCBiaXRzQ29sID0gMFxuICBsZXQgYml0c1JvdyA9IDBcblxuICBmb3IgKGxldCByb3cgPSAwOyByb3cgPCBzaXplOyByb3crKykge1xuICAgIGJpdHNDb2wgPSBiaXRzUm93ID0gMFxuICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHNpemU7IGNvbCsrKSB7XG4gICAgICBiaXRzQ29sID0gKChiaXRzQ29sIDw8IDEpICYgMHg3RkYpIHwgZGF0YS5nZXQocm93LCBjb2wpXG4gICAgICBpZiAoY29sID49IDEwICYmIChiaXRzQ29sID09PSAweDVEMCB8fCBiaXRzQ29sID09PSAweDA1RCkpIHBvaW50cysrXG5cbiAgICAgIGJpdHNSb3cgPSAoKGJpdHNSb3cgPDwgMSkgJiAweDdGRikgfCBkYXRhLmdldChjb2wsIHJvdylcbiAgICAgIGlmIChjb2wgPj0gMTAgJiYgKGJpdHNSb3cgPT09IDB4NUQwIHx8IGJpdHNSb3cgPT09IDB4MDVEKSkgcG9pbnRzKytcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9pbnRzICogUGVuYWx0eVNjb3Jlcy5OM1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBwcm9wb3J0aW9uIG9mIGRhcmsgbW9kdWxlcyBpbiBlbnRpcmUgc3ltYm9sXG4gKlxuICogUG9pbnRzOiBONCAqIGtcbiAqXG4gKiBrIGlzIHRoZSByYXRpbmcgb2YgdGhlIGRldmlhdGlvbiBvZiB0aGUgcHJvcG9ydGlvbiBvZiBkYXJrIG1vZHVsZXNcbiAqIGluIHRoZSBzeW1ib2wgZnJvbSA1MCUgaW4gc3RlcHMgb2YgNSVcbiAqL1xuZXhwb3J0cy5nZXRQZW5hbHR5TjQgPSBmdW5jdGlvbiBnZXRQZW5hbHR5TjQgKGRhdGEpIHtcbiAgbGV0IGRhcmtDb3VudCA9IDBcbiAgY29uc3QgbW9kdWxlc0NvdW50ID0gZGF0YS5kYXRhLmxlbmd0aFxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbW9kdWxlc0NvdW50OyBpKyspIGRhcmtDb3VudCArPSBkYXRhLmRhdGFbaV1cblxuICBjb25zdCBrID0gTWF0aC5hYnMoTWF0aC5jZWlsKChkYXJrQ291bnQgKiAxMDAgLyBtb2R1bGVzQ291bnQpIC8gNSkgLSAxMClcblxuICByZXR1cm4gayAqIFBlbmFsdHlTY29yZXMuTjRcbn1cblxuLyoqXG4gKiBSZXR1cm4gbWFzayB2YWx1ZSBhdCBnaXZlbiBwb3NpdGlvblxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gbWFza1BhdHRlcm4gUGF0dGVybiByZWZlcmVuY2UgdmFsdWVcbiAqIEBwYXJhbSAge051bWJlcn0gaSAgICAgICAgICAgUm93XG4gKiBAcGFyYW0gIHtOdW1iZXJ9IGogICAgICAgICAgIENvbHVtblxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICBNYXNrIHZhbHVlXG4gKi9cbmZ1bmN0aW9uIGdldE1hc2tBdCAobWFza1BhdHRlcm4sIGksIGopIHtcbiAgc3dpdGNoIChtYXNrUGF0dGVybikge1xuICAgIGNhc2UgZXhwb3J0cy5QYXR0ZXJucy5QQVRURVJOMDAwOiByZXR1cm4gKGkgKyBqKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjAwMTogcmV0dXJuIGkgJSAyID09PSAwXG4gICAgY2FzZSBleHBvcnRzLlBhdHRlcm5zLlBBVFRFUk4wMTA6IHJldHVybiBqICUgMyA9PT0gMFxuICAgIGNhc2UgZXhwb3J0cy5QYXR0ZXJucy5QQVRURVJOMDExOiByZXR1cm4gKGkgKyBqKSAlIDMgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjEwMDogcmV0dXJuIChNYXRoLmZsb29yKGkgLyAyKSArIE1hdGguZmxvb3IoaiAvIDMpKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjEwMTogcmV0dXJuIChpICogaikgJSAyICsgKGkgKiBqKSAlIDMgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjExMDogcmV0dXJuICgoaSAqIGopICUgMiArIChpICogaikgJSAzKSAlIDIgPT09IDBcbiAgICBjYXNlIGV4cG9ydHMuUGF0dGVybnMuUEFUVEVSTjExMTogcmV0dXJuICgoaSAqIGopICUgMyArIChpICsgaikgJSAyKSAlIDIgPT09IDBcblxuICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcignYmFkIG1hc2tQYXR0ZXJuOicgKyBtYXNrUGF0dGVybilcbiAgfVxufVxuXG4vKipcbiAqIEFwcGx5IGEgbWFzayBwYXR0ZXJuIHRvIGEgQml0TWF0cml4XG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgICBwYXR0ZXJuIFBhdHRlcm4gcmVmZXJlbmNlIG51bWJlclxuICogQHBhcmFtICB7Qml0TWF0cml4fSBkYXRhICAgIEJpdE1hdHJpeCBkYXRhXG4gKi9cbmV4cG9ydHMuYXBwbHlNYXNrID0gZnVuY3Rpb24gYXBwbHlNYXNrIChwYXR0ZXJuLCBkYXRhKSB7XG4gIGNvbnN0IHNpemUgPSBkYXRhLnNpemVcblxuICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBzaXplOyBjb2wrKykge1xuICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHNpemU7IHJvdysrKSB7XG4gICAgICBpZiAoZGF0YS5pc1Jlc2VydmVkKHJvdywgY29sKSkgY29udGludWVcbiAgICAgIGRhdGEueG9yKHJvdywgY29sLCBnZXRNYXNrQXQocGF0dGVybiwgcm93LCBjb2wpKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGJlc3QgbWFzayBwYXR0ZXJuIGZvciBkYXRhXG4gKlxuICogQHBhcmFtICB7Qml0TWF0cml4fSBkYXRhXG4gKiBAcmV0dXJuIHtOdW1iZXJ9IE1hc2sgcGF0dGVybiByZWZlcmVuY2UgbnVtYmVyXG4gKi9cbmV4cG9ydHMuZ2V0QmVzdE1hc2sgPSBmdW5jdGlvbiBnZXRCZXN0TWFzayAoZGF0YSwgc2V0dXBGb3JtYXRGdW5jKSB7XG4gIGNvbnN0IG51bVBhdHRlcm5zID0gT2JqZWN0LmtleXMoZXhwb3J0cy5QYXR0ZXJucykubGVuZ3RoXG4gIGxldCBiZXN0UGF0dGVybiA9IDBcbiAgbGV0IGxvd2VyUGVuYWx0eSA9IEluZmluaXR5XG5cbiAgZm9yIChsZXQgcCA9IDA7IHAgPCBudW1QYXR0ZXJuczsgcCsrKSB7XG4gICAgc2V0dXBGb3JtYXRGdW5jKHApXG4gICAgZXhwb3J0cy5hcHBseU1hc2socCwgZGF0YSlcblxuICAgIC8vIENhbGN1bGF0ZSBwZW5hbHR5XG4gICAgY29uc3QgcGVuYWx0eSA9XG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMShkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMihkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlOMyhkYXRhKSArXG4gICAgICBleHBvcnRzLmdldFBlbmFsdHlONChkYXRhKVxuXG4gICAgLy8gVW5kbyBwcmV2aW91c2x5IGFwcGxpZWQgbWFza1xuICAgIGV4cG9ydHMuYXBwbHlNYXNrKHAsIGRhdGEpXG5cbiAgICBpZiAocGVuYWx0eSA8IGxvd2VyUGVuYWx0eSkge1xuICAgICAgbG93ZXJQZW5hbHR5ID0gcGVuYWx0eVxuICAgICAgYmVzdFBhdHRlcm4gPSBwXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJlc3RQYXR0ZXJuXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mask-pattern.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const VersionCheck = __webpack_require__(/*! ./version-check */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version-check.js\")\nconst Regex = __webpack_require__(/*! ./regex */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/regex.js\")\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21vZGUuanMiLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCLG1CQUFPLENBQUMsNEdBQWlCO0FBQzlDLGNBQWMsbUJBQU8sQ0FBQyw0RkFBUzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSw2QkFBNkI7QUFDN0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQixhQUFhLFNBQVM7QUFDdEI7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEI7QUFDQSxlQUFlO0FBQ2Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFFBQVE7QUFDckIsYUFBYSxlQUFlO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGFBQWE7QUFDekIsWUFBWSxhQUFhO0FBQ3pCLFlBQVksMEJBQTBCO0FBQ3RDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL21vZGUuanM/MzY4YyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBWZXJzaW9uQ2hlY2sgPSByZXF1aXJlKCcuL3ZlcnNpb24tY2hlY2snKVxuY29uc3QgUmVnZXggPSByZXF1aXJlKCcuL3JlZ2V4JylcblxuLyoqXG4gKiBOdW1lcmljIG1vZGUgZW5jb2RlcyBkYXRhIGZyb20gdGhlIGRlY2ltYWwgZGlnaXQgc2V0ICgwIC0gOSlcbiAqIChieXRlIHZhbHVlcyAzMEhFWCB0byAzOUhFWCkuXG4gKiBOb3JtYWxseSwgMyBkYXRhIGNoYXJhY3RlcnMgYXJlIHJlcHJlc2VudGVkIGJ5IDEwIGJpdHMuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0cy5OVU1FUklDID0ge1xuICBpZDogJ051bWVyaWMnLFxuICBiaXQ6IDEgPDwgMCxcbiAgY2NCaXRzOiBbMTAsIDEyLCAxNF1cbn1cblxuLyoqXG4gKiBBbHBoYW51bWVyaWMgbW9kZSBlbmNvZGVzIGRhdGEgZnJvbSBhIHNldCBvZiA0NSBjaGFyYWN0ZXJzLFxuICogaS5lLiAxMCBudW1lcmljIGRpZ2l0cyAoMCAtIDkpLFxuICogICAgICAyNiBhbHBoYWJldGljIGNoYXJhY3RlcnMgKEEgLSBaKSxcbiAqICAgYW5kIDkgc3ltYm9scyAoU1AsICQsICUsICosICssIC0sIC4sIC8sIDopLlxuICogTm9ybWFsbHksIHR3byBpbnB1dCBjaGFyYWN0ZXJzIGFyZSByZXByZXNlbnRlZCBieSAxMSBiaXRzLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuQUxQSEFOVU1FUklDID0ge1xuICBpZDogJ0FscGhhbnVtZXJpYycsXG4gIGJpdDogMSA8PCAxLFxuICBjY0JpdHM6IFs5LCAxMSwgMTNdXG59XG5cbi8qKlxuICogSW4gYnl0ZSBtb2RlLCBkYXRhIGlzIGVuY29kZWQgYXQgOCBiaXRzIHBlciBjaGFyYWN0ZXIuXG4gKlxuICogQHR5cGUge09iamVjdH1cbiAqL1xuZXhwb3J0cy5CWVRFID0ge1xuICBpZDogJ0J5dGUnLFxuICBiaXQ6IDEgPDwgMixcbiAgY2NCaXRzOiBbOCwgMTYsIDE2XVxufVxuXG4vKipcbiAqIFRoZSBLYW5qaSBtb2RlIGVmZmljaWVudGx5IGVuY29kZXMgS2FuamkgY2hhcmFjdGVycyBpbiBhY2NvcmRhbmNlIHdpdGhcbiAqIHRoZSBTaGlmdCBKSVMgc3lzdGVtIGJhc2VkIG9uIEpJUyBYIDAyMDguXG4gKiBUaGUgU2hpZnQgSklTIHZhbHVlcyBhcmUgc2hpZnRlZCBmcm9tIHRoZSBKSVMgWCAwMjA4IHZhbHVlcy5cbiAqIEpJUyBYIDAyMDggZ2l2ZXMgZGV0YWlscyBvZiB0aGUgc2hpZnQgY29kZWQgcmVwcmVzZW50YXRpb24uXG4gKiBFYWNoIHR3by1ieXRlIGNoYXJhY3RlciB2YWx1ZSBpcyBjb21wYWN0ZWQgdG8gYSAxMy1iaXQgYmluYXJ5IGNvZGV3b3JkLlxuICpcbiAqIEB0eXBlIHtPYmplY3R9XG4gKi9cbmV4cG9ydHMuS0FOSkkgPSB7XG4gIGlkOiAnS2FuamknLFxuICBiaXQ6IDEgPDwgMyxcbiAgY2NCaXRzOiBbOCwgMTAsIDEyXVxufVxuXG4vKipcbiAqIE1peGVkIG1vZGUgd2lsbCBjb250YWluIGEgc2VxdWVuY2VzIG9mIGRhdGEgaW4gYSBjb21iaW5hdGlvbiBvZiBhbnkgb2ZcbiAqIHRoZSBtb2RlcyBkZXNjcmliZWQgYWJvdmVcbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5leHBvcnRzLk1JWEVEID0ge1xuICBiaXQ6IC0xXG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRvIHN0b3JlIHRoZSBkYXRhIGxlbmd0aFxuICogYWNjb3JkaW5nIHRvIFFSIENvZGUgc3BlY2lmaWNhdGlvbnMuXG4gKlxuICogQHBhcmFtICB7TW9kZX0gICBtb2RlICAgIERhdGEgbW9kZVxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIE51bWJlciBvZiBiaXRzXG4gKi9cbmV4cG9ydHMuZ2V0Q2hhckNvdW50SW5kaWNhdG9yID0gZnVuY3Rpb24gZ2V0Q2hhckNvdW50SW5kaWNhdG9yIChtb2RlLCB2ZXJzaW9uKSB7XG4gIGlmICghbW9kZS5jY0JpdHMpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RlOiAnICsgbW9kZSlcblxuICBpZiAoIVZlcnNpb25DaGVjay5pc1ZhbGlkKHZlcnNpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb246ICcgKyB2ZXJzaW9uKVxuICB9XG5cbiAgaWYgKHZlcnNpb24gPj0gMSAmJiB2ZXJzaW9uIDwgMTApIHJldHVybiBtb2RlLmNjQml0c1swXVxuICBlbHNlIGlmICh2ZXJzaW9uIDwgMjcpIHJldHVybiBtb2RlLmNjQml0c1sxXVxuICByZXR1cm4gbW9kZS5jY0JpdHNbMl1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtb3N0IGVmZmljaWVudCBtb2RlIHRvIHN0b3JlIHRoZSBzcGVjaWZpZWQgZGF0YVxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YVN0ciBJbnB1dCBkYXRhIHN0cmluZ1xuICogQHJldHVybiB7TW9kZX0gICAgICAgICAgIEJlc3QgbW9kZVxuICovXG5leHBvcnRzLmdldEJlc3RNb2RlRm9yRGF0YSA9IGZ1bmN0aW9uIGdldEJlc3RNb2RlRm9yRGF0YSAoZGF0YVN0cikge1xuICBpZiAoUmVnZXgudGVzdE51bWVyaWMoZGF0YVN0cikpIHJldHVybiBleHBvcnRzLk5VTUVSSUNcbiAgZWxzZSBpZiAoUmVnZXgudGVzdEFscGhhbnVtZXJpYyhkYXRhU3RyKSkgcmV0dXJuIGV4cG9ydHMuQUxQSEFOVU1FUklDXG4gIGVsc2UgaWYgKFJlZ2V4LnRlc3RLYW5qaShkYXRhU3RyKSkgcmV0dXJuIGV4cG9ydHMuS0FOSklcbiAgZWxzZSByZXR1cm4gZXhwb3J0cy5CWVRFXG59XG5cbi8qKlxuICogUmV0dXJuIG1vZGUgbmFtZSBhcyBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge01vZGV9IG1vZGUgTW9kZSBvYmplY3RcbiAqIEByZXR1cm5zIHtTdHJpbmd9ICBNb2RlIG5hbWVcbiAqL1xuZXhwb3J0cy50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChtb2RlKSB7XG4gIGlmIChtb2RlICYmIG1vZGUuaWQpIHJldHVybiBtb2RlLmlkXG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RlJylcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBwYXJhbSBpcyBhIHZhbGlkIG1vZGUgb2JqZWN0XG4gKlxuICogQHBhcmFtICAge01vZGV9ICAgIG1vZGUgTW9kZSBvYmplY3RcbiAqIEByZXR1cm5zIHtCb29sZWFufSBUcnVlIGlmIHZhbGlkIG1vZGUsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnRzLmlzVmFsaWQgPSBmdW5jdGlvbiBpc1ZhbGlkIChtb2RlKSB7XG4gIHJldHVybiBtb2RlICYmIG1vZGUuYml0ICYmIG1vZGUuY2NCaXRzXG59XG5cbi8qKlxuICogR2V0IG1vZGUgb2JqZWN0IGZyb20gaXRzIG5hbWVcbiAqXG4gKiBAcGFyYW0gICB7U3RyaW5nfSBzdHJpbmcgTW9kZSBuYW1lXG4gKiBAcmV0dXJucyB7TW9kZX0gICAgICAgICAgTW9kZSBvYmplY3RcbiAqL1xuZnVuY3Rpb24gZnJvbVN0cmluZyAoc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignUGFyYW0gaXMgbm90IGEgc3RyaW5nJylcbiAgfVxuXG4gIGNvbnN0IGxjU3RyID0gc3RyaW5nLnRvTG93ZXJDYXNlKClcblxuICBzd2l0Y2ggKGxjU3RyKSB7XG4gICAgY2FzZSAnbnVtZXJpYyc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5OVU1FUklDXG4gICAgY2FzZSAnYWxwaGFudW1lcmljJzpcbiAgICAgIHJldHVybiBleHBvcnRzLkFMUEhBTlVNRVJJQ1xuICAgIGNhc2UgJ2thbmppJzpcbiAgICAgIHJldHVybiBleHBvcnRzLktBTkpJXG4gICAgY2FzZSAnYnl0ZSc6XG4gICAgICByZXR1cm4gZXhwb3J0cy5CWVRFXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBtb2RlOiAnICsgc3RyaW5nKVxuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBtb2RlIGZyb20gYSB2YWx1ZS5cbiAqIElmIHZhbHVlIGlzIG5vdCBhIHZhbGlkIG1vZGUsIHJldHVybnMgZGVmYXVsdFZhbHVlXG4gKlxuICogQHBhcmFtICB7TW9kZXxTdHJpbmd9IHZhbHVlICAgICAgICBFbmNvZGluZyBtb2RlXG4gKiBAcGFyYW0gIHtNb2RlfSAgICAgICAgZGVmYXVsdFZhbHVlIEZhbGxiYWNrIHZhbHVlXG4gKiBAcmV0dXJuIHtNb2RlfSAgICAgICAgICAgICAgICAgICAgIEVuY29kaW5nIG1vZGVcbiAqL1xuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoZXhwb3J0cy5pc1ZhbGlkKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh2YWx1ZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/numeric-data.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/numeric-data.js ***! - \******************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL251bWVyaWMtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxhQUFhLG1CQUFPLENBQUMsMEZBQVE7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsMkJBQTJCO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvbnVtZXJpYy1kYXRhLmpzPzIwYmUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTW9kZSA9IHJlcXVpcmUoJy4vbW9kZScpXG5cbmZ1bmN0aW9uIE51bWVyaWNEYXRhIChkYXRhKSB7XG4gIHRoaXMubW9kZSA9IE1vZGUuTlVNRVJJQ1xuICB0aGlzLmRhdGEgPSBkYXRhLnRvU3RyaW5nKClcbn1cblxuTnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aCA9IGZ1bmN0aW9uIGdldEJpdHNMZW5ndGggKGxlbmd0aCkge1xuICByZXR1cm4gMTAgKiBNYXRoLmZsb29yKGxlbmd0aCAvIDMpICsgKChsZW5ndGggJSAzKSA/ICgobGVuZ3RoICUgMykgKiAzICsgMSkgOiAwKVxufVxuXG5OdW1lcmljRGF0YS5wcm90b3R5cGUuZ2V0TGVuZ3RoID0gZnVuY3Rpb24gZ2V0TGVuZ3RoICgpIHtcbiAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGhcbn1cblxuTnVtZXJpY0RhdGEucHJvdG90eXBlLmdldEJpdHNMZW5ndGggPSBmdW5jdGlvbiBnZXRCaXRzTGVuZ3RoICgpIHtcbiAgcmV0dXJuIE51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aClcbn1cblxuTnVtZXJpY0RhdGEucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKGJpdEJ1ZmZlcikge1xuICBsZXQgaSwgZ3JvdXAsIHZhbHVlXG5cbiAgLy8gVGhlIGlucHV0IGRhdGEgc3RyaW5nIGlzIGRpdmlkZWQgaW50byBncm91cHMgb2YgdGhyZWUgZGlnaXRzLFxuICAvLyBhbmQgZWFjaCBncm91cCBpcyBjb252ZXJ0ZWQgdG8gaXRzIDEwLWJpdCBiaW5hcnkgZXF1aXZhbGVudC5cbiAgZm9yIChpID0gMDsgaSArIDMgPD0gdGhpcy5kYXRhLmxlbmd0aDsgaSArPSAzKSB7XG4gICAgZ3JvdXAgPSB0aGlzLmRhdGEuc3Vic3RyKGksIDMpXG4gICAgdmFsdWUgPSBwYXJzZUludChncm91cCwgMTApXG5cbiAgICBiaXRCdWZmZXIucHV0KHZhbHVlLCAxMClcbiAgfVxuXG4gIC8vIElmIHRoZSBudW1iZXIgb2YgaW5wdXQgZGlnaXRzIGlzIG5vdCBhbiBleGFjdCBtdWx0aXBsZSBvZiB0aHJlZSxcbiAgLy8gdGhlIGZpbmFsIG9uZSBvciB0d28gZGlnaXRzIGFyZSBjb252ZXJ0ZWQgdG8gNCBvciA3IGJpdHMgcmVzcGVjdGl2ZWx5LlxuICBjb25zdCByZW1haW5pbmdOdW0gPSB0aGlzLmRhdGEubGVuZ3RoIC0gaVxuICBpZiAocmVtYWluaW5nTnVtID4gMCkge1xuICAgIGdyb3VwID0gdGhpcy5kYXRhLnN1YnN0cihpKVxuICAgIHZhbHVlID0gcGFyc2VJbnQoZ3JvdXAsIDEwKVxuXG4gICAgYml0QnVmZmVyLnB1dCh2YWx1ZSwgcmVtYWluaW5nTnVtICogMyArIDEpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBOdW1lcmljRGF0YVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/numeric-data.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/polynomial.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/polynomial.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const GF = __webpack_require__(/*! ./galois-field */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/galois-field.js\")\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3BvbHlub21pYWwuanMiLCJtYXBwaW5ncyI6IkFBQUEsV0FBVyxtQkFBTyxDQUFDLDBHQUFnQjs7QUFFbkM7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksWUFBWTtBQUN4QixZQUFZLGVBQWU7QUFDM0I7QUFDQSxXQUFXO0FBQ1g7O0FBRUEsa0JBQWtCLGVBQWU7QUFDakMsb0JBQW9CLGVBQWU7QUFDbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksWUFBWTtBQUN4QixZQUFZLHFCQUFxQjtBQUNqQztBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBOztBQUVBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxlQUFlO0FBQzNCO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0Esa0JBQWtCLFlBQVk7QUFDOUI7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvcG9seW5vbWlhbC5qcz9hZGQ4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEdGID0gcmVxdWlyZSgnLi9nYWxvaXMtZmllbGQnKVxuXG4vKipcbiAqIE11bHRpcGxpZXMgdHdvIHBvbHlub21pYWxzIGluc2lkZSBHYWxvaXMgRmllbGRcbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBwMSBQb2x5bm9taWFsXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBwMiBQb2x5bm9taWFsXG4gKiBAcmV0dXJuIHtVaW50OEFycmF5fSAgICBQcm9kdWN0IG9mIHAxIGFuZCBwMlxuICovXG5leHBvcnRzLm11bCA9IGZ1bmN0aW9uIG11bCAocDEsIHAyKSB7XG4gIGNvbnN0IGNvZWZmID0gbmV3IFVpbnQ4QXJyYXkocDEubGVuZ3RoICsgcDIubGVuZ3RoIC0gMSlcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHAxLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBwMi5sZW5ndGg7IGorKykge1xuICAgICAgY29lZmZbaSArIGpdIF49IEdGLm11bChwMVtpXSwgcDJbal0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvZWZmXG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSByZW1haW5kZXIgb2YgcG9seW5vbWlhbHMgZGl2aXNpb25cbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkaXZpZGVudCBQb2x5bm9taWFsXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkaXZpc29yICBQb2x5bm9taWFsXG4gKiBAcmV0dXJuIHtVaW50OEFycmF5fSAgICAgICAgICBSZW1haW5kZXJcbiAqL1xuZXhwb3J0cy5tb2QgPSBmdW5jdGlvbiBtb2QgKGRpdmlkZW50LCBkaXZpc29yKSB7XG4gIGxldCByZXN1bHQgPSBuZXcgVWludDhBcnJheShkaXZpZGVudClcblxuICB3aGlsZSAoKHJlc3VsdC5sZW5ndGggLSBkaXZpc29yLmxlbmd0aCkgPj0gMCkge1xuICAgIGNvbnN0IGNvZWZmID0gcmVzdWx0WzBdXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpdmlzb3IubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdFtpXSBePSBHRi5tdWwoZGl2aXNvcltpXSwgY29lZmYpXG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIGFsbCB6ZXJvcyBmcm9tIGJ1ZmZlciBoZWFkXG4gICAgbGV0IG9mZnNldCA9IDBcbiAgICB3aGlsZSAob2Zmc2V0IDwgcmVzdWx0Lmxlbmd0aCAmJiByZXN1bHRbb2Zmc2V0XSA9PT0gMCkgb2Zmc2V0KytcbiAgICByZXN1bHQgPSByZXN1bHQuc2xpY2Uob2Zmc2V0KVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGFuIGlycmVkdWNpYmxlIGdlbmVyYXRvciBwb2x5bm9taWFsIG9mIHNwZWNpZmllZCBkZWdyZWVcbiAqICh1c2VkIGJ5IFJlZWQtU29sb21vbiBlbmNvZGVyKVxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gZGVncmVlIERlZ3JlZSBvZiB0aGUgZ2VuZXJhdG9yIHBvbHlub21pYWxcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgIEJ1ZmZlciBjb250YWluaW5nIHBvbHlub21pYWwgY29lZmZpY2llbnRzXG4gKi9cbmV4cG9ydHMuZ2VuZXJhdGVFQ1BvbHlub21pYWwgPSBmdW5jdGlvbiBnZW5lcmF0ZUVDUG9seW5vbWlhbCAoZGVncmVlKSB7XG4gIGxldCBwb2x5ID0gbmV3IFVpbnQ4QXJyYXkoWzFdKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlZ3JlZTsgaSsrKSB7XG4gICAgcG9seSA9IGV4cG9ydHMubXVsKHBvbHksIG5ldyBVaW50OEFycmF5KFsxLCBHRi5leHAoaSldKSlcbiAgfVxuXG4gIHJldHVybiBwb2x5XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/polynomial.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/qrcode.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/qrcode.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\")\nconst ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-level.js\")\nconst BitBuffer = __webpack_require__(/*! ./bit-buffer */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-buffer.js\")\nconst BitMatrix = __webpack_require__(/*! ./bit-matrix */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/bit-matrix.js\")\nconst AlignmentPattern = __webpack_require__(/*! ./alignment-pattern */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alignment-pattern.js\")\nconst FinderPattern = __webpack_require__(/*! ./finder-pattern */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/finder-pattern.js\")\nconst MaskPattern = __webpack_require__(/*! ./mask-pattern */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mask-pattern.js\")\nconst ECCode = __webpack_require__(/*! ./error-correction-code */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-code.js\")\nconst ReedSolomonEncoder = __webpack_require__(/*! ./reed-solomon-encoder */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/reed-solomon-encoder.js\")\nconst Version = __webpack_require__(/*! ./version */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version.js\")\nconst FormatInfo = __webpack_require__(/*! ./format-info */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/format-info.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\nconst Segments = __webpack_require__(/*! ./segments */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/segments.js\")\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3FyY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFPLENBQUMsNEZBQVM7QUFDL0IsZ0JBQWdCLG1CQUFPLENBQUMsOEhBQTBCO0FBQ2xELGtCQUFrQixtQkFBTyxDQUFDLHNHQUFjO0FBQ3hDLGtCQUFrQixtQkFBTyxDQUFDLHNHQUFjO0FBQ3hDLHlCQUF5QixtQkFBTyxDQUFDLG9IQUFxQjtBQUN0RCxzQkFBc0IsbUJBQU8sQ0FBQyw4R0FBa0I7QUFDaEQsb0JBQW9CLG1CQUFPLENBQUMsMEdBQWdCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyw0SEFBeUI7QUFDaEQsMkJBQTJCLG1CQUFPLENBQUMsMEhBQXdCO0FBQzNELGdCQUFnQixtQkFBTyxDQUFDLGdHQUFXO0FBQ25DLG1CQUFtQixtQkFBTyxDQUFDLHdHQUFlO0FBQzFDLGFBQWEsbUJBQU8sQ0FBQywwRkFBUTtBQUM3QixpQkFBaUIsbUJBQU8sQ0FBQyxrR0FBWTs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7O0FBRUEscUJBQXFCLFFBQVE7QUFDN0I7O0FBRUEsdUJBQXVCLFFBQVE7QUFDL0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7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QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnRUFBZ0U7QUFDaEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0IsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvcXJjb2RlLmpzPzY3OGMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgVXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcbmNvbnN0IEVDTGV2ZWwgPSByZXF1aXJlKCcuL2Vycm9yLWNvcnJlY3Rpb24tbGV2ZWwnKVxuY29uc3QgQml0QnVmZmVyID0gcmVxdWlyZSgnLi9iaXQtYnVmZmVyJylcbmNvbnN0IEJpdE1hdHJpeCA9IHJlcXVpcmUoJy4vYml0LW1hdHJpeCcpXG5jb25zdCBBbGlnbm1lbnRQYXR0ZXJuID0gcmVxdWlyZSgnLi9hbGlnbm1lbnQtcGF0dGVybicpXG5jb25zdCBGaW5kZXJQYXR0ZXJuID0gcmVxdWlyZSgnLi9maW5kZXItcGF0dGVybicpXG5jb25zdCBNYXNrUGF0dGVybiA9IHJlcXVpcmUoJy4vbWFzay1wYXR0ZXJuJylcbmNvbnN0IEVDQ29kZSA9IHJlcXVpcmUoJy4vZXJyb3ItY29ycmVjdGlvbi1jb2RlJylcbmNvbnN0IFJlZWRTb2xvbW9uRW5jb2RlciA9IHJlcXVpcmUoJy4vcmVlZC1zb2xvbW9uLWVuY29kZXInKVxuY29uc3QgVmVyc2lvbiA9IHJlcXVpcmUoJy4vdmVyc2lvbicpXG5jb25zdCBGb3JtYXRJbmZvID0gcmVxdWlyZSgnLi9mb3JtYXQtaW5mbycpXG5jb25zdCBNb2RlID0gcmVxdWlyZSgnLi9tb2RlJylcbmNvbnN0IFNlZ21lbnRzID0gcmVxdWlyZSgnLi9zZWdtZW50cycpXG5cbi8qKlxuICogUVJDb2RlIGZvciBKYXZhU2NyaXB0XG4gKlxuICogbW9kaWZpZWQgYnkgUnlhbiBEYXkgZm9yIG5vZGVqcyBzdXBwb3J0XG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEgUnlhbiBEYXlcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6XG4gKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gKlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFFSQ29kZSBmb3IgSmF2YVNjcmlwdFxuLy9cbi8vIENvcHlyaWdodCAoYykgMjAwOSBLYXp1aGlrbyBBcmFzZVxuLy9cbi8vIFVSTDogaHR0cDovL3d3dy5kLXByb2plY3QuY29tL1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZTpcbi8vICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbi8vXG4vLyBUaGUgd29yZCBcIlFSIENvZGVcIiBpcyByZWdpc3RlcmVkIHRyYWRlbWFyayBvZlxuLy8gREVOU08gV0FWRSBJTkNPUlBPUkFURURcbi8vICAgaHR0cDovL3d3dy5kZW5zby13YXZlLmNvbS9xcmNvZGUvZmFxcGF0ZW50LWUuaHRtbFxuLy9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiAqIEFkZCBmaW5kZXIgcGF0dGVybnMgYml0cyB0byBtYXRyaXhcbiAqXG4gKiBAcGFyYW0gIHtCaXRNYXRyaXh9IG1hdHJpeCAgTW9kdWxlcyBtYXRyaXhcbiAqIEBwYXJhbSAge051bWJlcn0gICAgdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqL1xuZnVuY3Rpb24gc2V0dXBGaW5kZXJQYXR0ZXJuIChtYXRyaXgsIHZlcnNpb24pIHtcbiAgY29uc3Qgc2l6ZSA9IG1hdHJpeC5zaXplXG4gIGNvbnN0IHBvcyA9IEZpbmRlclBhdHRlcm4uZ2V0UG9zaXRpb25zKHZlcnNpb24pXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3MubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByb3cgPSBwb3NbaV1bMF1cbiAgICBjb25zdCBjb2wgPSBwb3NbaV1bMV1cblxuICAgIGZvciAobGV0IHIgPSAtMTsgciA8PSA3OyByKyspIHtcbiAgICAgIGlmIChyb3cgKyByIDw9IC0xIHx8IHNpemUgPD0gcm93ICsgcikgY29udGludWVcblxuICAgICAgZm9yIChsZXQgYyA9IC0xOyBjIDw9IDc7IGMrKykge1xuICAgICAgICBpZiAoY29sICsgYyA8PSAtMSB8fCBzaXplIDw9IGNvbCArIGMpIGNvbnRpbnVlXG5cbiAgICAgICAgaWYgKChyID49IDAgJiYgciA8PSA2ICYmIChjID09PSAwIHx8IGMgPT09IDYpKSB8fFxuICAgICAgICAgIChjID49IDAgJiYgYyA8PSA2ICYmIChyID09PSAwIHx8IHIgPT09IDYpKSB8fFxuICAgICAgICAgIChyID49IDIgJiYgciA8PSA0ICYmIGMgPj0gMiAmJiBjIDw9IDQpKSB7XG4gICAgICAgICAgbWF0cml4LnNldChyb3cgKyByLCBjb2wgKyBjLCB0cnVlLCB0cnVlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hdHJpeC5zZXQocm93ICsgciwgY29sICsgYywgZmFsc2UsIHRydWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgdGltaW5nIHBhdHRlcm4gYml0cyB0byBtYXRyaXhcbiAqXG4gKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSB7QGxpbmsgc2V0dXBBbGlnbm1lbnRQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4IE1vZHVsZXMgbWF0cml4XG4gKi9cbmZ1bmN0aW9uIHNldHVwVGltaW5nUGF0dGVybiAobWF0cml4KSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuXG4gIGZvciAobGV0IHIgPSA4OyByIDwgc2l6ZSAtIDg7IHIrKykge1xuICAgIGNvbnN0IHZhbHVlID0gciAlIDIgPT09IDBcbiAgICBtYXRyaXguc2V0KHIsIDYsIHZhbHVlLCB0cnVlKVxuICAgIG1hdHJpeC5zZXQoNiwgciwgdmFsdWUsIHRydWUpXG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgYWxpZ25tZW50IHBhdHRlcm5zIGJpdHMgdG8gbWF0cml4XG4gKlxuICogTm90ZTogdGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBhZnRlciB7QGxpbmsgc2V0dXBUaW1pbmdQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4ICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7TnVtYmVyfSAgICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICovXG5mdW5jdGlvbiBzZXR1cEFsaWdubWVudFBhdHRlcm4gKG1hdHJpeCwgdmVyc2lvbikge1xuICBjb25zdCBwb3MgPSBBbGlnbm1lbnRQYXR0ZXJuLmdldFBvc2l0aW9ucyh2ZXJzaW9uKVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcG9zLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgcm93ID0gcG9zW2ldWzBdXG4gICAgY29uc3QgY29sID0gcG9zW2ldWzFdXG5cbiAgICBmb3IgKGxldCByID0gLTI7IHIgPD0gMjsgcisrKSB7XG4gICAgICBmb3IgKGxldCBjID0gLTI7IGMgPD0gMjsgYysrKSB7XG4gICAgICAgIGlmIChyID09PSAtMiB8fCByID09PSAyIHx8IGMgPT09IC0yIHx8IGMgPT09IDIgfHxcbiAgICAgICAgICAociA9PT0gMCAmJiBjID09PSAwKSkge1xuICAgICAgICAgIG1hdHJpeC5zZXQocm93ICsgciwgY29sICsgYywgdHJ1ZSwgdHJ1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXRyaXguc2V0KHJvdyArIHIsIGNvbCArIGMsIGZhbHNlLCB0cnVlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWRkIHZlcnNpb24gaW5mbyBiaXRzIHRvIG1hdHJpeFxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gbWF0cml4ICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7TnVtYmVyfSAgICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICovXG5mdW5jdGlvbiBzZXR1cFZlcnNpb25JbmZvIChtYXRyaXgsIHZlcnNpb24pIHtcbiAgY29uc3Qgc2l6ZSA9IG1hdHJpeC5zaXplXG4gIGNvbnN0IGJpdHMgPSBWZXJzaW9uLmdldEVuY29kZWRCaXRzKHZlcnNpb24pXG4gIGxldCByb3csIGNvbCwgbW9kXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCAxODsgaSsrKSB7XG4gICAgcm93ID0gTWF0aC5mbG9vcihpIC8gMylcbiAgICBjb2wgPSBpICUgMyArIHNpemUgLSA4IC0gM1xuICAgIG1vZCA9ICgoYml0cyA+PiBpKSAmIDEpID09PSAxXG5cbiAgICBtYXRyaXguc2V0KHJvdywgY29sLCBtb2QsIHRydWUpXG4gICAgbWF0cml4LnNldChjb2wsIHJvdywgbW9kLCB0cnVlKVxuICB9XG59XG5cbi8qKlxuICogQWRkIGZvcm1hdCBpbmZvIGJpdHMgdG8gbWF0cml4XG4gKlxuICogQHBhcmFtICB7Qml0TWF0cml4fSBtYXRyaXggICAgICAgICAgICAgICBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7RXJyb3JDb3JyZWN0aW9uTGV2ZWx9ICAgIGVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICAgbWFza1BhdHRlcm4gICAgICAgICAgTWFzayBwYXR0ZXJuIHJlZmVyZW5jZSB2YWx1ZVxuICovXG5mdW5jdGlvbiBzZXR1cEZvcm1hdEluZm8gKG1hdHJpeCwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1hc2tQYXR0ZXJuKSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuICBjb25zdCBiaXRzID0gRm9ybWF0SW5mby5nZXRFbmNvZGVkQml0cyhlcnJvckNvcnJlY3Rpb25MZXZlbCwgbWFza1BhdHRlcm4pXG4gIGxldCBpLCBtb2RcblxuICBmb3IgKGkgPSAwOyBpIDwgMTU7IGkrKykge1xuICAgIG1vZCA9ICgoYml0cyA+PiBpKSAmIDEpID09PSAxXG5cbiAgICAvLyB2ZXJ0aWNhbFxuICAgIGlmIChpIDwgNikge1xuICAgICAgbWF0cml4LnNldChpLCA4LCBtb2QsIHRydWUpXG4gICAgfSBlbHNlIGlmIChpIDwgOCkge1xuICAgICAgbWF0cml4LnNldChpICsgMSwgOCwgbW9kLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBtYXRyaXguc2V0KHNpemUgLSAxNSArIGksIDgsIG1vZCwgdHJ1ZSlcbiAgICB9XG5cbiAgICAvLyBob3Jpem9udGFsXG4gICAgaWYgKGkgPCA4KSB7XG4gICAgICBtYXRyaXguc2V0KDgsIHNpemUgLSBpIC0gMSwgbW9kLCB0cnVlKVxuICAgIH0gZWxzZSBpZiAoaSA8IDkpIHtcbiAgICAgIG1hdHJpeC5zZXQoOCwgMTUgLSBpIC0gMSArIDEsIG1vZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgbWF0cml4LnNldCg4LCAxNSAtIGkgLSAxLCBtb2QsIHRydWUpXG4gICAgfVxuICB9XG5cbiAgLy8gZml4ZWQgbW9kdWxlXG4gIG1hdHJpeC5zZXQoc2l6ZSAtIDgsIDgsIDEsIHRydWUpXG59XG5cbi8qKlxuICogQWRkIGVuY29kZWQgZGF0YSBiaXRzIHRvIG1hdHJpeFxuICpcbiAqIEBwYXJhbSAge0JpdE1hdHJpeH0gIG1hdHJpeCBNb2R1bGVzIG1hdHJpeFxuICogQHBhcmFtICB7VWludDhBcnJheX0gZGF0YSAgIERhdGEgY29kZXdvcmRzXG4gKi9cbmZ1bmN0aW9uIHNldHVwRGF0YSAobWF0cml4LCBkYXRhKSB7XG4gIGNvbnN0IHNpemUgPSBtYXRyaXguc2l6ZVxuICBsZXQgaW5jID0gLTFcbiAgbGV0IHJvdyA9IHNpemUgLSAxXG4gIGxldCBiaXRJbmRleCA9IDdcbiAgbGV0IGJ5dGVJbmRleCA9IDBcblxuICBmb3IgKGxldCBjb2wgPSBzaXplIC0gMTsgY29sID4gMDsgY29sIC09IDIpIHtcbiAgICBpZiAoY29sID09PSA2KSBjb2wtLVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgMjsgYysrKSB7XG4gICAgICAgIGlmICghbWF0cml4LmlzUmVzZXJ2ZWQocm93LCBjb2wgLSBjKSkge1xuICAgICAgICAgIGxldCBkYXJrID0gZmFsc2VcblxuICAgICAgICAgIGlmIChieXRlSW5kZXggPCBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZGFyayA9ICgoKGRhdGFbYnl0ZUluZGV4XSA+Pj4gYml0SW5kZXgpICYgMSkgPT09IDEpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWF0cml4LnNldChyb3csIGNvbCAtIGMsIGRhcmspXG4gICAgICAgICAgYml0SW5kZXgtLVxuXG4gICAgICAgICAgaWYgKGJpdEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgYnl0ZUluZGV4KytcbiAgICAgICAgICAgIGJpdEluZGV4ID0gN1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByb3cgKz0gaW5jXG5cbiAgICAgIGlmIChyb3cgPCAwIHx8IHNpemUgPD0gcm93KSB7XG4gICAgICAgIHJvdyAtPSBpbmNcbiAgICAgICAgaW5jID0gLWluY1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZSBlbmNvZGVkIGNvZGV3b3JkcyBmcm9tIGRhdGEgaW5wdXRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcGFyYW0gIHtFcnJvckNvcnJlY3Rpb25MZXZlbH0gICBlcnJvckNvcnJlY3Rpb25MZXZlbCBFcnJvciBjb3JyZWN0aW9uIGxldmVsXG4gKiBAcGFyYW0gIHtCeXRlRGF0YX0gZGF0YSAgICAgICAgICAgICAgICAgRGF0YSBpbnB1dFxuICogQHJldHVybiB7VWludDhBcnJheX0gICAgICAgICAgICAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIGVuY29kZWQgY29kZXdvcmRzXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURhdGEgKHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsLCBzZWdtZW50cykge1xuICAvLyBQcmVwYXJlIGRhdGEgYnVmZmVyXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBCaXRCdWZmZXIoKVxuXG4gIHNlZ21lbnRzLmZvckVhY2goZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAvLyBwcmVmaXggZGF0YSB3aXRoIG1vZGUgaW5kaWNhdG9yICg0IGJpdHMpXG4gICAgYnVmZmVyLnB1dChkYXRhLm1vZGUuYml0LCA0KVxuXG4gICAgLy8gUHJlZml4IGRhdGEgd2l0aCBjaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yLlxuICAgIC8vIFRoZSBjaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yIGlzIGEgc3RyaW5nIG9mIGJpdHMgdGhhdCByZXByZXNlbnRzIHRoZVxuICAgIC8vIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIGJlaW5nIGVuY29kZWQuXG4gICAgLy8gVGhlIGNoYXJhY3RlciBjb3VudCBpbmRpY2F0b3IgbXVzdCBiZSBwbGFjZWQgYWZ0ZXIgdGhlIG1vZGUgaW5kaWNhdG9yXG4gICAgLy8gYW5kIG11c3QgYmUgYSBjZXJ0YWluIG51bWJlciBvZiBiaXRzIGxvbmcsIGRlcGVuZGluZyBvbiB0aGUgUVIgdmVyc2lvblxuICAgIC8vIGFuZCBkYXRhIG1vZGVcbiAgICAvLyBAc2VlIHtAbGluayBNb2RlLmdldENoYXJDb3VudEluZGljYXRvcn0uXG4gICAgYnVmZmVyLnB1dChkYXRhLmdldExlbmd0aCgpLCBNb2RlLmdldENoYXJDb3VudEluZGljYXRvcihkYXRhLm1vZGUsIHZlcnNpb24pKVxuXG4gICAgLy8gYWRkIGJpbmFyeSBkYXRhIHNlcXVlbmNlIHRvIGJ1ZmZlclxuICAgIGRhdGEud3JpdGUoYnVmZmVyKVxuICB9KVxuXG4gIC8vIENhbGN1bGF0ZSByZXF1aXJlZCBudW1iZXIgb2YgYml0c1xuICBjb25zdCB0b3RhbENvZGV3b3JkcyA9IFV0aWxzLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHZlcnNpb24pXG4gIGNvbnN0IGVjVG90YWxDb2Rld29yZHMgPSBFQ0NvZGUuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcbiAgY29uc3QgZGF0YVRvdGFsQ29kZXdvcmRzQml0cyA9ICh0b3RhbENvZGV3b3JkcyAtIGVjVG90YWxDb2Rld29yZHMpICogOFxuXG4gIC8vIEFkZCBhIHRlcm1pbmF0b3IuXG4gIC8vIElmIHRoZSBiaXQgc3RyaW5nIGlzIHNob3J0ZXIgdGhhbiB0aGUgdG90YWwgbnVtYmVyIG9mIHJlcXVpcmVkIGJpdHMsXG4gIC8vIGEgdGVybWluYXRvciBvZiB1cCB0byBmb3VyIDBzIG11c3QgYmUgYWRkZWQgdG8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHN0cmluZy5cbiAgLy8gSWYgdGhlIGJpdCBzdHJpbmcgaXMgbW9yZSB0aGFuIGZvdXIgYml0cyBzaG9ydGVyIHRoYW4gdGhlIHJlcXVpcmVkIG51bWJlciBvZiBiaXRzLFxuICAvLyBhZGQgZm91ciAwcyB0byB0aGUgZW5kLlxuICBpZiAoYnVmZmVyLmdldExlbmd0aEluQml0cygpICsgNCA8PSBkYXRhVG90YWxDb2Rld29yZHNCaXRzKSB7XG4gICAgYnVmZmVyLnB1dCgwLCA0KVxuICB9XG5cbiAgLy8gSWYgdGhlIGJpdCBzdHJpbmcgaXMgZmV3ZXIgdGhhbiBmb3VyIGJpdHMgc2hvcnRlciwgYWRkIG9ubHkgdGhlIG51bWJlciBvZiAwcyB0aGF0XG4gIC8vIGFyZSBuZWVkZWQgdG8gcmVhY2ggdGhlIHJlcXVpcmVkIG51bWJlciBvZiBiaXRzLlxuXG4gIC8vIEFmdGVyIGFkZGluZyB0aGUgdGVybWluYXRvciwgaWYgdGhlIG51bWJlciBvZiBiaXRzIGluIHRoZSBzdHJpbmcgaXMgbm90IGEgbXVsdGlwbGUgb2YgOCxcbiAgLy8gcGFkIHRoZSBzdHJpbmcgb24gdGhlIHJpZ2h0IHdpdGggMHMgdG8gbWFrZSB0aGUgc3RyaW5nJ3MgbGVuZ3RoIGEgbXVsdGlwbGUgb2YgOC5cbiAgd2hpbGUgKGJ1ZmZlci5nZXRMZW5ndGhJbkJpdHMoKSAlIDggIT09IDApIHtcbiAgICBidWZmZXIucHV0Qml0KDApXG4gIH1cblxuICAvLyBBZGQgcGFkIGJ5dGVzIGlmIHRoZSBzdHJpbmcgaXMgc3RpbGwgc2hvcnRlciB0aGFuIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVxdWlyZWQgYml0cy5cbiAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgdG8gZmlsbCB0aGUgZGF0YSBjYXBhY2l0eSBvZiB0aGUgc3ltYm9sIGNvcnJlc3BvbmRpbmcgdG9cbiAgLy8gdGhlIFZlcnNpb24gYW5kIEVycm9yIENvcnJlY3Rpb24gTGV2ZWwgYnkgYWRkaW5nIHRoZSBQYWQgQ29kZXdvcmRzIDExMTAxMTAwICgweEVDKVxuICAvLyBhbmQgMDAwMTAwMDEgKDB4MTEpIGFsdGVybmF0ZWx5LlxuICBjb25zdCByZW1haW5pbmdCeXRlID0gKGRhdGFUb3RhbENvZGV3b3Jkc0JpdHMgLSBidWZmZXIuZ2V0TGVuZ3RoSW5CaXRzKCkpIC8gOFxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbWFpbmluZ0J5dGU7IGkrKykge1xuICAgIGJ1ZmZlci5wdXQoaSAlIDIgPyAweDExIDogMHhFQywgOClcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVDb2Rld29yZHMoYnVmZmVyLCB2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcbn1cblxuLyoqXG4gKiBFbmNvZGUgaW5wdXQgZGF0YSB3aXRoIFJlZWQtU29sb21vbiBhbmQgcmV0dXJuIGNvZGV3b3JkcyB3aXRoXG4gKiByZWxhdGl2ZSBlcnJvciBjb3JyZWN0aW9uIGJpdHNcbiAqXG4gKiBAcGFyYW0gIHtCaXRCdWZmZXJ9IGJpdEJ1ZmZlciAgICAgICAgICAgIERhdGEgdG8gZW5jb2RlXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgIHZlcnNpb24gICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvblxuICogQHBhcmFtICB7RXJyb3JDb3JyZWN0aW9uTGV2ZWx9IGVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBjb2Rld29yZHNcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ29kZXdvcmRzIChiaXRCdWZmZXIsIHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XG4gIC8vIFRvdGFsIGNvZGV3b3JkcyBmb3IgdGhpcyBRUiBjb2RlIHZlcnNpb24gKERhdGEgKyBFcnJvciBjb3JyZWN0aW9uKVxuICBjb25zdCB0b3RhbENvZGV3b3JkcyA9IFV0aWxzLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHZlcnNpb24pXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGVycm9yIGNvcnJlY3Rpb24gY29kZXdvcmRzXG4gIGNvbnN0IGVjVG90YWxDb2Rld29yZHMgPSBFQ0NvZGUuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbClcblxuICAvLyBUb3RhbCBudW1iZXIgb2YgZGF0YSBjb2Rld29yZHNcbiAgY29uc3QgZGF0YVRvdGFsQ29kZXdvcmRzID0gdG90YWxDb2Rld29yZHMgLSBlY1RvdGFsQ29kZXdvcmRzXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGJsb2Nrc1xuICBjb25zdCBlY1RvdGFsQmxvY2tzID0gRUNDb2RlLmdldEJsb2Nrc0NvdW50KHZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsKVxuXG4gIC8vIENhbGN1bGF0ZSBob3cgbWFueSBibG9ja3MgZWFjaCBncm91cCBzaG91bGQgY29udGFpblxuICBjb25zdCBibG9ja3NJbkdyb3VwMiA9IHRvdGFsQ29kZXdvcmRzICUgZWNUb3RhbEJsb2Nrc1xuICBjb25zdCBibG9ja3NJbkdyb3VwMSA9IGVjVG90YWxCbG9ja3MgLSBibG9ja3NJbkdyb3VwMlxuXG4gIGNvbnN0IHRvdGFsQ29kZXdvcmRzSW5Hcm91cDEgPSBNYXRoLmZsb29yKHRvdGFsQ29kZXdvcmRzIC8gZWNUb3RhbEJsb2NrcylcblxuICBjb25zdCBkYXRhQ29kZXdvcmRzSW5Hcm91cDEgPSBNYXRoLmZsb29yKGRhdGFUb3RhbENvZGV3b3JkcyAvIGVjVG90YWxCbG9ja3MpXG4gIGNvbnN0IGRhdGFDb2Rld29yZHNJbkdyb3VwMiA9IGRhdGFDb2Rld29yZHNJbkdyb3VwMSArIDFcblxuICAvLyBOdW1iZXIgb2YgRUMgY29kZXdvcmRzIGlzIHRoZSBzYW1lIGZvciBib3RoIGdyb3Vwc1xuICBjb25zdCBlY0NvdW50ID0gdG90YWxDb2Rld29yZHNJbkdyb3VwMSAtIGRhdGFDb2Rld29yZHNJbkdyb3VwMVxuXG4gIC8vIEluaXRpYWxpemUgYSBSZWVkLVNvbG9tb24gZW5jb2RlciB3aXRoIGEgZ2VuZXJhdG9yIHBvbHlub21pYWwgb2YgZGVncmVlIGVjQ291bnRcbiAgY29uc3QgcnMgPSBuZXcgUmVlZFNvbG9tb25FbmNvZGVyKGVjQ291bnQpXG5cbiAgbGV0IG9mZnNldCA9IDBcbiAgY29uc3QgZGNEYXRhID0gbmV3IEFycmF5KGVjVG90YWxCbG9ja3MpXG4gIGNvbnN0IGVjRGF0YSA9IG5ldyBBcnJheShlY1RvdGFsQmxvY2tzKVxuICBsZXQgbWF4RGF0YVNpemUgPSAwXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJpdEJ1ZmZlci5idWZmZXIpXG5cbiAgLy8gRGl2aWRlIHRoZSBidWZmZXIgaW50byB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGJsb2Nrc1xuICBmb3IgKGxldCBiID0gMDsgYiA8IGVjVG90YWxCbG9ja3M7IGIrKykge1xuICAgIGNvbnN0IGRhdGFTaXplID0gYiA8IGJsb2Nrc0luR3JvdXAxID8gZGF0YUNvZGV3b3Jkc0luR3JvdXAxIDogZGF0YUNvZGV3b3Jkc0luR3JvdXAyXG5cbiAgICAvLyBleHRyYWN0IGEgYmxvY2sgb2YgZGF0YSBmcm9tIGJ1ZmZlclxuICAgIGRjRGF0YVtiXSA9IGJ1ZmZlci5zbGljZShvZmZzZXQsIG9mZnNldCArIGRhdGFTaXplKVxuXG4gICAgLy8gQ2FsY3VsYXRlIEVDIGNvZGV3b3JkcyBmb3IgdGhpcyBkYXRhIGJsb2NrXG4gICAgZWNEYXRhW2JdID0gcnMuZW5jb2RlKGRjRGF0YVtiXSlcblxuICAgIG9mZnNldCArPSBkYXRhU2l6ZVxuICAgIG1heERhdGFTaXplID0gTWF0aC5tYXgobWF4RGF0YVNpemUsIGRhdGFTaXplKVxuICB9XG5cbiAgLy8gQ3JlYXRlIGZpbmFsIGRhdGFcbiAgLy8gSW50ZXJsZWF2ZSB0aGUgZGF0YSBhbmQgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgZnJvbSBlYWNoIGJsb2NrXG4gIGNvbnN0IGRhdGEgPSBuZXcgVWludDhBcnJheSh0b3RhbENvZGV3b3JkcylcbiAgbGV0IGluZGV4ID0gMFxuICBsZXQgaSwgclxuXG4gIC8vIEFkZCBkYXRhIGNvZGV3b3Jkc1xuICBmb3IgKGkgPSAwOyBpIDwgbWF4RGF0YVNpemU7IGkrKykge1xuICAgIGZvciAociA9IDA7IHIgPCBlY1RvdGFsQmxvY2tzOyByKyspIHtcbiAgICAgIGlmIChpIDwgZGNEYXRhW3JdLmxlbmd0aCkge1xuICAgICAgICBkYXRhW2luZGV4KytdID0gZGNEYXRhW3JdW2ldXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwZWQgRUMgY29kZXdvcmRzXG4gIGZvciAoaSA9IDA7IGkgPCBlY0NvdW50OyBpKyspIHtcbiAgICBmb3IgKHIgPSAwOyByIDwgZWNUb3RhbEJsb2NrczsgcisrKSB7XG4gICAgICBkYXRhW2luZGV4KytdID0gZWNEYXRhW3JdW2ldXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGFcbn1cblxuLyoqXG4gKiBCdWlsZCBRUiBDb2RlIHN5bWJvbFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YSAgICAgICAgICAgICAgICAgSW5wdXQgc3RyaW5nXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvblxuICogQHBhcmFtICB7RXJyb3JDb3JyZXRpb25MZXZlbH0gZXJyb3JDb3JyZWN0aW9uTGV2ZWwgRXJyb3IgbGV2ZWxcbiAqIEBwYXJhbSAge01hc2tQYXR0ZXJufSBtYXNrUGF0dGVybiAgICAgTWFzayBwYXR0ZXJuXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICAgICAgICAgICAgIE9iamVjdCBjb250YWluaW5nIHN5bWJvbCBkYXRhXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVN5bWJvbCAoZGF0YSwgdmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1hc2tQYXR0ZXJuKSB7XG4gIGxldCBzZWdtZW50c1xuXG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgc2VnbWVudHMgPSBTZWdtZW50cy5mcm9tQXJyYXkoZGF0YSlcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICBsZXQgZXN0aW1hdGVkVmVyc2lvbiA9IHZlcnNpb25cblxuICAgIGlmICghZXN0aW1hdGVkVmVyc2lvbikge1xuICAgICAgY29uc3QgcmF3U2VnbWVudHMgPSBTZWdtZW50cy5yYXdTcGxpdChkYXRhKVxuXG4gICAgICAvLyBFc3RpbWF0ZSBiZXN0IHZlcnNpb24gdGhhdCBjYW4gY29udGFpbiByYXcgc3BsaXR0ZWQgc2VnbWVudHNcbiAgICAgIGVzdGltYXRlZFZlcnNpb24gPSBWZXJzaW9uLmdldEJlc3RWZXJzaW9uRm9yRGF0YShyYXdTZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG4gICAgfVxuXG4gICAgLy8gQnVpbGQgb3B0aW1pemVkIHNlZ21lbnRzXG4gICAgLy8gSWYgZXN0aW1hdGVkIHZlcnNpb24gaXMgdW5kZWZpbmVkLCB0cnkgd2l0aCB0aGUgaGlnaGVzdCB2ZXJzaW9uXG4gICAgc2VnbWVudHMgPSBTZWdtZW50cy5mcm9tU3RyaW5nKGRhdGEsIGVzdGltYXRlZFZlcnNpb24gfHwgNDApXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKVxuICB9XG5cbiAgLy8gR2V0IHRoZSBtaW4gdmVyc2lvbiB0aGF0IGNhbiBjb250YWluIGRhdGFcbiAgY29uc3QgYmVzdFZlcnNpb24gPSBWZXJzaW9uLmdldEJlc3RWZXJzaW9uRm9yRGF0YShzZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG5cbiAgLy8gSWYgbm8gdmVyc2lvbiBpcyBmb3VuZCwgZGF0YSBjYW5ub3QgYmUgc3RvcmVkXG4gIGlmICghYmVzdFZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhbW91bnQgb2YgZGF0YSBpcyB0b28gYmlnIHRvIGJlIHN0b3JlZCBpbiBhIFFSIENvZGUnKVxuICB9XG5cbiAgLy8gSWYgbm90IHNwZWNpZmllZCwgdXNlIG1pbiB2ZXJzaW9uIGFzIGRlZmF1bHRcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgdmVyc2lvbiA9IGJlc3RWZXJzaW9uXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNwZWNpZmllZCB2ZXJzaW9uIGNhbiBjb250YWluIHRoZSBkYXRhXG4gIH0gZWxzZSBpZiAodmVyc2lvbiA8IGJlc3RWZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcXG4nICtcbiAgICAgICdUaGUgY2hvc2VuIFFSIENvZGUgdmVyc2lvbiBjYW5ub3QgY29udGFpbiB0aGlzIGFtb3VudCBvZiBkYXRhLlxcbicgK1xuICAgICAgJ01pbmltdW0gdmVyc2lvbiByZXF1aXJlZCB0byBzdG9yZSBjdXJyZW50IGRhdGEgaXM6ICcgKyBiZXN0VmVyc2lvbiArICcuXFxuJ1xuICAgIClcbiAgfVxuXG4gIGNvbnN0IGRhdGFCaXRzID0gY3JlYXRlRGF0YSh2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgc2VnbWVudHMpXG5cbiAgLy8gQWxsb2NhdGUgbWF0cml4IGJ1ZmZlclxuICBjb25zdCBtb2R1bGVDb3VudCA9IFV0aWxzLmdldFN5bWJvbFNpemUodmVyc2lvbilcbiAgY29uc3QgbW9kdWxlcyA9IG5ldyBCaXRNYXRyaXgobW9kdWxlQ291bnQpXG5cbiAgLy8gQWRkIGZ1bmN0aW9uIG1vZHVsZXNcbiAgc2V0dXBGaW5kZXJQYXR0ZXJuKG1vZHVsZXMsIHZlcnNpb24pXG4gIHNldHVwVGltaW5nUGF0dGVybihtb2R1bGVzKVxuICBzZXR1cEFsaWdubWVudFBhdHRlcm4obW9kdWxlcywgdmVyc2lvbilcblxuICAvLyBBZGQgdGVtcG9yYXJ5IGR1bW15IGJpdHMgZm9yIGZvcm1hdCBpbmZvIGp1c3QgdG8gc2V0IHRoZW0gYXMgcmVzZXJ2ZWQuXG4gIC8vIFRoaXMgaXMgbmVlZGVkIHRvIHByZXZlbnQgdGhlc2UgYml0cyBmcm9tIGJlaW5nIG1hc2tlZCBieSB7QGxpbmsgTWFza1BhdHRlcm4uYXBwbHlNYXNrfVxuICAvLyBzaW5jZSB0aGUgbWFza2luZyBvcGVyYXRpb24gbXVzdCBiZSBwZXJmb3JtZWQgb25seSBvbiB0aGUgZW5jb2RpbmcgcmVnaW9uLlxuICAvLyBUaGVzZSBibG9ja3Mgd2lsbCBiZSByZXBsYWNlZCB3aXRoIGNvcnJlY3QgdmFsdWVzIGxhdGVyIGluIGNvZGUuXG4gIHNldHVwRm9ybWF0SW5mbyhtb2R1bGVzLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgMClcblxuICBpZiAodmVyc2lvbiA+PSA3KSB7XG4gICAgc2V0dXBWZXJzaW9uSW5mbyhtb2R1bGVzLCB2ZXJzaW9uKVxuICB9XG5cbiAgLy8gQWRkIGRhdGEgY29kZXdvcmRzXG4gIHNldHVwRGF0YShtb2R1bGVzLCBkYXRhQml0cylcblxuICBpZiAoaXNOYU4obWFza1BhdHRlcm4pKSB7XG4gICAgLy8gRmluZCBiZXN0IG1hc2sgcGF0dGVyblxuICAgIG1hc2tQYXR0ZXJuID0gTWFza1BhdHRlcm4uZ2V0QmVzdE1hc2sobW9kdWxlcyxcbiAgICAgIHNldHVwRm9ybWF0SW5mby5iaW5kKG51bGwsIG1vZHVsZXMsIGVycm9yQ29ycmVjdGlvbkxldmVsKSlcbiAgfVxuXG4gIC8vIEFwcGx5IG1hc2sgcGF0dGVyblxuICBNYXNrUGF0dGVybi5hcHBseU1hc2sobWFza1BhdHRlcm4sIG1vZHVsZXMpXG5cbiAgLy8gUmVwbGFjZSBmb3JtYXQgaW5mbyBiaXRzIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAgc2V0dXBGb3JtYXRJbmZvKG1vZHVsZXMsIGVycm9yQ29ycmVjdGlvbkxldmVsLCBtYXNrUGF0dGVybilcblxuICByZXR1cm4ge1xuICAgIG1vZHVsZXM6IG1vZHVsZXMsXG4gICAgdmVyc2lvbjogdmVyc2lvbixcbiAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogZXJyb3JDb3JyZWN0aW9uTGV2ZWwsXG4gICAgbWFza1BhdHRlcm46IG1hc2tQYXR0ZXJuLFxuICAgIHNlZ21lbnRzOiBzZWdtZW50c1xuICB9XG59XG5cbi8qKlxuICogUVIgQ29kZVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nIHwgQXJyYXl9IGRhdGEgICAgICAgICAgICAgICAgIElucHV0IGRhdGFcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0ge051bWJlcn0gb3B0aW9ucy52ZXJzaW9uICAgICAgICAgICAgICBRUiBDb2RlIHZlcnNpb25cbiAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLmVycm9yQ29ycmVjdGlvbkxldmVsIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudG9TSklTRnVuYyAgICAgICAgIEhlbHBlciBmdW5jIHRvIGNvbnZlcnQgdXRmOCB0byBzamlzXG4gKi9cbmV4cG9ydHMuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlIChkYXRhLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3VuZGVmaW5lZCcgfHwgZGF0YSA9PT0gJycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGlucHV0IHRleHQnKVxuICB9XG5cbiAgbGV0IGVycm9yQ29ycmVjdGlvbkxldmVsID0gRUNMZXZlbC5NXG4gIGxldCB2ZXJzaW9uXG4gIGxldCBtYXNrXG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIFVzZSBoaWdoZXIgZXJyb3IgY29ycmVjdGlvbiBsZXZlbCBhcyBkZWZhdWx0XG4gICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWwgPSBFQ0xldmVsLmZyb20ob3B0aW9ucy5lcnJvckNvcnJlY3Rpb25MZXZlbCwgRUNMZXZlbC5NKVxuICAgIHZlcnNpb24gPSBWZXJzaW9uLmZyb20ob3B0aW9ucy52ZXJzaW9uKVxuICAgIG1hc2sgPSBNYXNrUGF0dGVybi5mcm9tKG9wdGlvbnMubWFza1BhdHRlcm4pXG5cbiAgICBpZiAob3B0aW9ucy50b1NKSVNGdW5jKSB7XG4gICAgICBVdGlscy5zZXRUb1NKSVNGdW5jdGlvbihvcHRpb25zLnRvU0pJU0Z1bmMpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVN5bWJvbChkYXRhLCB2ZXJzaW9uLCBlcnJvckNvcnJlY3Rpb25MZXZlbCwgbWFzaylcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/qrcode.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/reed-solomon-encoder.js": -/*!**************************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/reed-solomon-encoder.js ***! - \**************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Polynomial = __webpack_require__(/*! ./polynomial */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/polynomial.js\")\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZWQtc29sb21vbi1lbmNvZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQixtQkFBTyxDQUFDLHNHQUFjOztBQUV6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZWQtc29sb21vbi1lbmNvZGVyLmpzP2M0YmQiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUG9seW5vbWlhbCA9IHJlcXVpcmUoJy4vcG9seW5vbWlhbCcpXG5cbmZ1bmN0aW9uIFJlZWRTb2xvbW9uRW5jb2RlciAoZGVncmVlKSB7XG4gIHRoaXMuZ2VuUG9seSA9IHVuZGVmaW5lZFxuICB0aGlzLmRlZ3JlZSA9IGRlZ3JlZVxuXG4gIGlmICh0aGlzLmRlZ3JlZSkgdGhpcy5pbml0aWFsaXplKHRoaXMuZGVncmVlKVxufVxuXG4vKipcbiAqIEluaXRpYWxpemUgdGhlIGVuY29kZXIuXG4gKiBUaGUgaW5wdXQgcGFyYW0gc2hvdWxkIGNvcnJlc3BvbmQgdG8gdGhlIG51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkcy5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IGRlZ3JlZVxuICovXG5SZWVkU29sb21vbkVuY29kZXIucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbiBpbml0aWFsaXplIChkZWdyZWUpIHtcbiAgLy8gY3JlYXRlIGFuIGlycmVkdWNpYmxlIGdlbmVyYXRvciBwb2x5bm9taWFsXG4gIHRoaXMuZGVncmVlID0gZGVncmVlXG4gIHRoaXMuZ2VuUG9seSA9IFBvbHlub21pYWwuZ2VuZXJhdGVFQ1BvbHlub21pYWwodGhpcy5kZWdyZWUpXG59XG5cbi8qKlxuICogRW5jb2RlcyBhIGNodW5rIG9mIGRhdGFcbiAqXG4gKiBAcGFyYW0gIHtVaW50OEFycmF5fSBkYXRhIEJ1ZmZlciBjb250YWluaW5nIGlucHV0IGRhdGFcbiAqIEByZXR1cm4ge1VpbnQ4QXJyYXl9ICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBkYXRhXG4gKi9cblJlZWRTb2xvbW9uRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24gZW5jb2RlIChkYXRhKSB7XG4gIGlmICghdGhpcy5nZW5Qb2x5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFbmNvZGVyIG5vdCBpbml0aWFsaXplZCcpXG4gIH1cblxuICAvLyBDYWxjdWxhdGUgRUMgZm9yIHRoaXMgZGF0YSBibG9ja1xuICAvLyBleHRlbmRzIGRhdGEgc2l6ZSB0byBkYXRhK2dlblBvbHkgc2l6ZVxuICBjb25zdCBwYWRkZWREYXRhID0gbmV3IFVpbnQ4QXJyYXkoZGF0YS5sZW5ndGggKyB0aGlzLmRlZ3JlZSlcbiAgcGFkZGVkRGF0YS5zZXQoZGF0YSlcblxuICAvLyBUaGUgZXJyb3IgY29ycmVjdGlvbiBjb2Rld29yZHMgYXJlIHRoZSByZW1haW5kZXIgYWZ0ZXIgZGl2aWRpbmcgdGhlIGRhdGEgY29kZXdvcmRzXG4gIC8vIGJ5IGEgZ2VuZXJhdG9yIHBvbHlub21pYWxcbiAgY29uc3QgcmVtYWluZGVyID0gUG9seW5vbWlhbC5tb2QocGFkZGVkRGF0YSwgdGhpcy5nZW5Qb2x5KVxuXG4gIC8vIHJldHVybiBFQyBkYXRhIGJsb2NrcyAobGFzdCBuIGJ5dGUsIHdoZXJlIG4gaXMgdGhlIGRlZ3JlZSBvZiBnZW5Qb2x5KVxuICAvLyBJZiBjb2VmZmljaWVudHMgbnVtYmVyIGluIHJlbWFpbmRlciBhcmUgbGVzcyB0aGFuIGdlblBvbHkgZGVncmVlLFxuICAvLyBwYWQgd2l0aCAwcyB0byB0aGUgbGVmdCB0byByZWFjaCB0aGUgbmVlZGVkIG51bWJlciBvZiBjb2VmZmljaWVudHNcbiAgY29uc3Qgc3RhcnQgPSB0aGlzLmRlZ3JlZSAtIHJlbWFpbmRlci5sZW5ndGhcbiAgaWYgKHN0YXJ0ID4gMCkge1xuICAgIGNvbnN0IGJ1ZmYgPSBuZXcgVWludDhBcnJheSh0aGlzLmRlZ3JlZSlcbiAgICBidWZmLnNldChyZW1haW5kZXIsIHN0YXJ0KVxuXG4gICAgcmV0dXJuIGJ1ZmZcbiAgfVxuXG4gIHJldHVybiByZW1haW5kZXJcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSZWVkU29sb21vbkVuY29kZXJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/reed-solomon-encoder.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/regex.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/regex.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGFBQWE7QUFDYixrQkFBa0I7QUFDbEIsWUFBWTtBQUNaLGVBQWU7QUFDZixvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQSxtQkFBbUI7QUFDbkI7QUFDQTs7QUFFQSx3QkFBd0I7QUFDeEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3JlZ2V4LmpzPzdjNGQiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbnVtZXJpYyA9ICdbMC05XSsnXG5jb25zdCBhbHBoYW51bWVyaWMgPSAnW0EtWiAkJSorXFxcXC0uLzpdKydcbmxldCBrYW5qaSA9ICcoPzpbdTMwMDAtdTMwM0ZdfFt1MzA0MC11MzA5Rl18W3UzMEEwLXUzMEZGXXwnICtcbiAgJ1t1RkYwMC11RkZFRl18W3U0RTAwLXU5RkFGXXxbdTI2MDUtdTI2MDZdfFt1MjE5MC11MjE5NV18dTIwM0J8JyArXG4gICdbdTIwMTB1MjAxNXUyMDE4dTIwMTl1MjAyNXUyMDI2dTIwMUN1MjAxRHUyMjI1dTIyNjBdfCcgK1xuICAnW3UwMzkxLXUwNDUxXXxbdTAwQTd1MDBBOHUwMEIxdTAwQjR1MDBEN3UwMEY3XSkrJ1xua2FuamkgPSBrYW5qaS5yZXBsYWNlKC91L2csICdcXFxcdScpXG5cbmNvbnN0IGJ5dGUgPSAnKD86KD8hW0EtWjAtOSAkJSorXFxcXC0uLzpdfCcgKyBrYW5qaSArICcpKD86LnxbXFxyXFxuXSkpKydcblxuZXhwb3J0cy5LQU5KSSA9IG5ldyBSZWdFeHAoa2FuamksICdnJylcbmV4cG9ydHMuQllURV9LQU5KSSA9IG5ldyBSZWdFeHAoJ1teQS1aMC05ICQlKitcXFxcLS4vOl0rJywgJ2cnKVxuZXhwb3J0cy5CWVRFID0gbmV3IFJlZ0V4cChieXRlLCAnZycpXG5leHBvcnRzLk5VTUVSSUMgPSBuZXcgUmVnRXhwKG51bWVyaWMsICdnJylcbmV4cG9ydHMuQUxQSEFOVU1FUklDID0gbmV3IFJlZ0V4cChhbHBoYW51bWVyaWMsICdnJylcblxuY29uc3QgVEVTVF9LQU5KSSA9IG5ldyBSZWdFeHAoJ14nICsga2FuamkgKyAnJCcpXG5jb25zdCBURVNUX05VTUVSSUMgPSBuZXcgUmVnRXhwKCdeJyArIG51bWVyaWMgKyAnJCcpXG5jb25zdCBURVNUX0FMUEhBTlVNRVJJQyA9IG5ldyBSZWdFeHAoJ15bQS1aMC05ICQlKitcXFxcLS4vOl0rJCcpXG5cbmV4cG9ydHMudGVzdEthbmppID0gZnVuY3Rpb24gdGVzdEthbmppIChzdHIpIHtcbiAgcmV0dXJuIFRFU1RfS0FOSkkudGVzdChzdHIpXG59XG5cbmV4cG9ydHMudGVzdE51bWVyaWMgPSBmdW5jdGlvbiB0ZXN0TnVtZXJpYyAoc3RyKSB7XG4gIHJldHVybiBURVNUX05VTUVSSUMudGVzdChzdHIpXG59XG5cbmV4cG9ydHMudGVzdEFscGhhbnVtZXJpYyA9IGZ1bmN0aW9uIHRlc3RBbHBoYW51bWVyaWMgKHN0cikge1xuICByZXR1cm4gVEVTVF9BTFBIQU5VTUVSSUMudGVzdChzdHIpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/segments.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/segments.js ***! - \**************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\nconst NumericData = __webpack_require__(/*! ./numeric-data */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/numeric-data.js\")\nconst AlphanumericData = __webpack_require__(/*! ./alphanumeric-data */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/alphanumeric-data.js\")\nconst ByteData = __webpack_require__(/*! ./byte-data */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/byte-data.js\")\nconst KanjiData = __webpack_require__(/*! ./kanji-data */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/kanji-data.js\")\nconst Regex = __webpack_require__(/*! ./regex */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/regex.js\")\nconst Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\")\nconst dijkstra = __webpack_require__(/*! dijkstrajs */ \"./node_modules/dijkstrajs/dijkstra.js\")\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3NlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQywwRkFBUTtBQUM3QixvQkFBb0IsbUJBQU8sQ0FBQywwR0FBZ0I7QUFDNUMseUJBQXlCLG1CQUFPLENBQUMsb0hBQXFCO0FBQ3RELGlCQUFpQixtQkFBTyxDQUFDLG9HQUFhO0FBQ3RDLGtCQUFrQixtQkFBTyxDQUFDLHNHQUFjO0FBQ3hDLGNBQWMsbUJBQU8sQ0FBQyw0RkFBUztBQUMvQixjQUFjLG1CQUFPLENBQUMsNEZBQVM7QUFDL0IsaUJBQWlCLG1CQUFPLENBQUMseURBQVk7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFlBQVk7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksYUFBYTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksTUFBTTtBQUNsQixZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxPQUFPO0FBQ25CLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkIsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBNkQ7QUFDekUsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE9BQU87QUFDbkIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDO0FBQ0E7O0FBRUEsb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBLHNCQUFzQix3QkFBd0I7QUFDOUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQix3QkFBd0I7QUFDMUM7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxlQUFlO0FBQzNCLFlBQVkseUJBQXlCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksT0FBTztBQUNuQixZQUFZLGFBQWE7QUFDekI7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixxQkFBcUI7QUFDdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksYUFBYTtBQUN6QjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3NlZ21lbnRzLmpzPzNjYTkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTW9kZSA9IHJlcXVpcmUoJy4vbW9kZScpXG5jb25zdCBOdW1lcmljRGF0YSA9IHJlcXVpcmUoJy4vbnVtZXJpYy1kYXRhJylcbmNvbnN0IEFscGhhbnVtZXJpY0RhdGEgPSByZXF1aXJlKCcuL2FscGhhbnVtZXJpYy1kYXRhJylcbmNvbnN0IEJ5dGVEYXRhID0gcmVxdWlyZSgnLi9ieXRlLWRhdGEnKVxuY29uc3QgS2FuamlEYXRhID0gcmVxdWlyZSgnLi9rYW5qaS1kYXRhJylcbmNvbnN0IFJlZ2V4ID0gcmVxdWlyZSgnLi9yZWdleCcpXG5jb25zdCBVdGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuY29uc3QgZGlqa3N0cmEgPSByZXF1aXJlKCdkaWprc3RyYWpzJylcblxuLyoqXG4gKiBSZXR1cm5zIFVURjggYnl0ZSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHN0ciBJbnB1dCBzdHJpbmdcbiAqIEByZXR1cm4ge051bWJlcn0gICAgIE51bWJlciBvZiBieXRlXG4gKi9cbmZ1bmN0aW9uIGdldFN0cmluZ0J5dGVMZW5ndGggKHN0cikge1xuICByZXR1cm4gdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikpLmxlbmd0aFxufVxuXG4vKipcbiAqIEdldCBhIGxpc3Qgb2Ygc2VnbWVudHMgb2YgdGhlIHNwZWNpZmllZCBtb2RlXG4gKiBmcm9tIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7TW9kZX0gICBtb2RlIFNlZ21lbnQgbW9kZVxuICogQHBhcmFtICB7U3RyaW5nfSBzdHIgIFN0cmluZyB0byBwcm9jZXNzXG4gKiBAcmV0dXJuIHtBcnJheX0gICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBnZXRTZWdtZW50cyAocmVnZXgsIG1vZGUsIHN0cikge1xuICBjb25zdCBzZWdtZW50cyA9IFtdXG4gIGxldCByZXN1bHRcblxuICB3aGlsZSAoKHJlc3VsdCA9IHJlZ2V4LmV4ZWMoc3RyKSkgIT09IG51bGwpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIGRhdGE6IHJlc3VsdFswXSxcbiAgICAgIGluZGV4OiByZXN1bHQuaW5kZXgsXG4gICAgICBtb2RlOiBtb2RlLFxuICAgICAgbGVuZ3RoOiByZXN1bHRbMF0ubGVuZ3RoXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50c1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgc2VyaWVzIG9mIHNlZ21lbnRzIHdpdGggdGhlIGFwcHJvcHJpYXRlXG4gKiBtb2RlcyBmcm9tIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSBkYXRhU3RyIElucHV0IHN0cmluZ1xuICogQHJldHVybiB7QXJyYXl9ICAgICAgICAgIEFycmF5IG9mIG9iamVjdCB3aXRoIHNlZ21lbnRzIGRhdGFcbiAqL1xuZnVuY3Rpb24gZ2V0U2VnbWVudHNGcm9tU3RyaW5nIChkYXRhU3RyKSB7XG4gIGNvbnN0IG51bVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5OVU1FUklDLCBNb2RlLk5VTUVSSUMsIGRhdGFTdHIpXG4gIGNvbnN0IGFscGhhTnVtU2VncyA9IGdldFNlZ21lbnRzKFJlZ2V4LkFMUEhBTlVNRVJJQywgTW9kZS5BTFBIQU5VTUVSSUMsIGRhdGFTdHIpXG4gIGxldCBieXRlU2Vnc1xuICBsZXQga2FuamlTZWdzXG5cbiAgaWYgKFV0aWxzLmlzS2FuamlNb2RlRW5hYmxlZCgpKSB7XG4gICAgYnl0ZVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5CWVRFLCBNb2RlLkJZVEUsIGRhdGFTdHIpXG4gICAga2FuamlTZWdzID0gZ2V0U2VnbWVudHMoUmVnZXguS0FOSkksIE1vZGUuS0FOSkksIGRhdGFTdHIpXG4gIH0gZWxzZSB7XG4gICAgYnl0ZVNlZ3MgPSBnZXRTZWdtZW50cyhSZWdleC5CWVRFX0tBTkpJLCBNb2RlLkJZVEUsIGRhdGFTdHIpXG4gICAga2FuamlTZWdzID0gW11cbiAgfVxuXG4gIGNvbnN0IHNlZ3MgPSBudW1TZWdzLmNvbmNhdChhbHBoYU51bVNlZ3MsIGJ5dGVTZWdzLCBrYW5qaVNlZ3MpXG5cbiAgcmV0dXJuIHNlZ3NcbiAgICAuc29ydChmdW5jdGlvbiAoczEsIHMyKSB7XG4gICAgICByZXR1cm4gczEuaW5kZXggLSBzMi5pbmRleFxuICAgIH0pXG4gICAgLm1hcChmdW5jdGlvbiAob2JqKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiBvYmouZGF0YSxcbiAgICAgICAgbW9kZTogb2JqLm1vZGUsXG4gICAgICAgIGxlbmd0aDogb2JqLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG59XG5cbi8qKlxuICogUmV0dXJucyBob3cgbWFueSBiaXRzIGFyZSBuZWVkZWQgdG8gZW5jb2RlIGEgc3RyaW5nIG9mXG4gKiBzcGVjaWZpZWQgbGVuZ3RoIHdpdGggdGhlIHNwZWNpZmllZCBtb2RlXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBsZW5ndGggU3RyaW5nIGxlbmd0aFxuICogQHBhcmFtICB7TW9kZX0gbW9kZSAgICAgU2VnbWVudCBtb2RlXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICBCaXQgbGVuZ3RoXG4gKi9cbmZ1bmN0aW9uIGdldFNlZ21lbnRCaXRzTGVuZ3RoIChsZW5ndGgsIG1vZGUpIHtcbiAgc3dpdGNoIChtb2RlKSB7XG4gICAgY2FzZSBNb2RlLk5VTUVSSUM6XG4gICAgICByZXR1cm4gTnVtZXJpY0RhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgIHJldHVybiBBbHBoYW51bWVyaWNEYXRhLmdldEJpdHNMZW5ndGgobGVuZ3RoKVxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBLYW5qaURhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gICAgY2FzZSBNb2RlLkJZVEU6XG4gICAgICByZXR1cm4gQnl0ZURhdGEuZ2V0Qml0c0xlbmd0aChsZW5ndGgpXG4gIH1cbn1cblxuLyoqXG4gKiBNZXJnZXMgYWRqYWNlbnQgc2VnbWVudHMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBtb2RlXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IHNlZ3MgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICogQHJldHVybiB7QXJyYXl9ICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBtZXJnZVNlZ21lbnRzIChzZWdzKSB7XG4gIHJldHVybiBzZWdzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBjdXJyKSB7XG4gICAgY29uc3QgcHJldlNlZyA9IGFjYy5sZW5ndGggLSAxID49IDAgPyBhY2NbYWNjLmxlbmd0aCAtIDFdIDogbnVsbFxuICAgIGlmIChwcmV2U2VnICYmIHByZXZTZWcubW9kZSA9PT0gY3Vyci5tb2RlKSB7XG4gICAgICBhY2NbYWNjLmxlbmd0aCAtIDFdLmRhdGEgKz0gY3Vyci5kYXRhXG4gICAgICByZXR1cm4gYWNjXG4gICAgfVxuXG4gICAgYWNjLnB1c2goY3VycilcbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGxpc3Qgb2YgYWxsIHBvc3NpYmxlIG5vZGVzIGNvbWJpbmF0aW9uIHdoaWNoXG4gKiB3aWxsIGJlIHVzZWQgdG8gYnVpbGQgYSBzZWdtZW50cyBncmFwaC5cbiAqXG4gKiBOb2RlcyBhcmUgZGl2aWRlZCBieSBncm91cHMuIEVhY2ggZ3JvdXAgd2lsbCBjb250YWluIGEgbGlzdCBvZiBhbGwgdGhlIG1vZGVzXG4gKiBpbiB3aGljaCBpcyBwb3NzaWJsZSB0byBlbmNvZGUgdGhlIGdpdmVuIHRleHQuXG4gKlxuICogRm9yIGV4YW1wbGUgdGhlIHRleHQgJzEyMzQ1JyBjYW4gYmUgZW5jb2RlZCBhcyBOdW1lcmljLCBBbHBoYW51bWVyaWMgb3IgQnl0ZS5cbiAqIFRoZSBncm91cCBmb3IgJzEyMzQ1JyB3aWxsIGNvbnRhaW4gdGhlbiAzIG9iamVjdHMsIG9uZSBmb3IgZWFjaFxuICogcG9zc2libGUgZW5jb2RpbmcgbW9kZS5cbiAqXG4gKiBFYWNoIG5vZGUgcmVwcmVzZW50cyBhIHBvc3NpYmxlIHNlZ21lbnQuXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IHNlZ3MgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICogQHJldHVybiB7QXJyYXl9ICAgICAgQXJyYXkgb2Ygb2JqZWN0IHdpdGggc2VnbWVudHMgZGF0YVxuICovXG5mdW5jdGlvbiBidWlsZE5vZGVzIChzZWdzKSB7XG4gIGNvbnN0IG5vZGVzID0gW11cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgc2VnID0gc2Vnc1tpXVxuXG4gICAgc3dpdGNoIChzZWcubW9kZSkge1xuICAgICAgY2FzZSBNb2RlLk5VTUVSSUM6XG4gICAgICAgIG5vZGVzLnB1c2goW3NlZyxcbiAgICAgICAgICB7IGRhdGE6IHNlZy5kYXRhLCBtb2RlOiBNb2RlLkFMUEhBTlVNRVJJQywgbGVuZ3RoOiBzZWcubGVuZ3RoIH0sXG4gICAgICAgICAgeyBkYXRhOiBzZWcuZGF0YSwgbW9kZTogTW9kZS5CWVRFLCBsZW5ndGg6IHNlZy5sZW5ndGggfVxuICAgICAgICBdKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgICAgbm9kZXMucHVzaChbc2VnLFxuICAgICAgICAgIHsgZGF0YTogc2VnLmRhdGEsIG1vZGU6IE1vZGUuQllURSwgbGVuZ3RoOiBzZWcubGVuZ3RoIH1cbiAgICAgICAgXSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgICAgbm9kZXMucHVzaChbc2VnLFxuICAgICAgICAgIHsgZGF0YTogc2VnLmRhdGEsIG1vZGU6IE1vZGUuQllURSwgbGVuZ3RoOiBnZXRTdHJpbmdCeXRlTGVuZ3RoKHNlZy5kYXRhKSB9XG4gICAgICAgIF0pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIE1vZGUuQllURTpcbiAgICAgICAgbm9kZXMucHVzaChbXG4gICAgICAgICAgeyBkYXRhOiBzZWcuZGF0YSwgbW9kZTogTW9kZS5CWVRFLCBsZW5ndGg6IGdldFN0cmluZ0J5dGVMZW5ndGgoc2VnLmRhdGEpIH1cbiAgICAgICAgXSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZXNcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBncmFwaCBmcm9tIGEgbGlzdCBvZiBub2Rlcy5cbiAqIEFsbCBzZWdtZW50cyBpbiBlYWNoIG5vZGUgZ3JvdXAgd2lsbCBiZSBjb25uZWN0ZWQgd2l0aCBhbGwgdGhlIHNlZ21lbnRzIG9mXG4gKiB0aGUgbmV4dCBncm91cCBhbmQgc28gb24uXG4gKlxuICogQXQgZWFjaCBjb25uZWN0aW9uIHdpbGwgYmUgYXNzaWduZWQgYSB3ZWlnaHQgZGVwZW5kaW5nIG9uIHRoZVxuICogc2VnbWVudCdzIGJ5dGUgbGVuZ3RoLlxuICpcbiAqIEBwYXJhbSAge0FycmF5fSBub2RlcyAgICBBcnJheSBvZiBvYmplY3Qgd2l0aCBzZWdtZW50cyBkYXRhXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgR3JhcGggb2YgYWxsIHBvc3NpYmxlIHNlZ21lbnRzXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkR3JhcGggKG5vZGVzLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IHRhYmxlID0ge31cbiAgY29uc3QgZ3JhcGggPSB7IHN0YXJ0OiB7fSB9XG4gIGxldCBwcmV2Tm9kZUlkcyA9IFsnc3RhcnQnXVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBub2RlR3JvdXAgPSBub2Rlc1tpXVxuICAgIGNvbnN0IGN1cnJlbnROb2RlSWRzID0gW11cblxuICAgIGZvciAobGV0IGogPSAwOyBqIDwgbm9kZUdyb3VwLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBub2RlID0gbm9kZUdyb3VwW2pdXG4gICAgICBjb25zdCBrZXkgPSAnJyArIGkgKyBqXG5cbiAgICAgIGN1cnJlbnROb2RlSWRzLnB1c2goa2V5KVxuICAgICAgdGFibGVba2V5XSA9IHsgbm9kZTogbm9kZSwgbGFzdENvdW50OiAwIH1cbiAgICAgIGdyYXBoW2tleV0gPSB7fVxuXG4gICAgICBmb3IgKGxldCBuID0gMDsgbiA8IHByZXZOb2RlSWRzLmxlbmd0aDsgbisrKSB7XG4gICAgICAgIGNvbnN0IHByZXZOb2RlSWQgPSBwcmV2Tm9kZUlkc1tuXVxuXG4gICAgICAgIGlmICh0YWJsZVtwcmV2Tm9kZUlkXSAmJiB0YWJsZVtwcmV2Tm9kZUlkXS5ub2RlLm1vZGUgPT09IG5vZGUubW9kZSkge1xuICAgICAgICAgIGdyYXBoW3ByZXZOb2RlSWRdW2tleV0gPVxuICAgICAgICAgICAgZ2V0U2VnbWVudEJpdHNMZW5ndGgodGFibGVbcHJldk5vZGVJZF0ubGFzdENvdW50ICsgbm9kZS5sZW5ndGgsIG5vZGUubW9kZSkgLVxuICAgICAgICAgICAgZ2V0U2VnbWVudEJpdHNMZW5ndGgodGFibGVbcHJldk5vZGVJZF0ubGFzdENvdW50LCBub2RlLm1vZGUpXG5cbiAgICAgICAgICB0YWJsZVtwcmV2Tm9kZUlkXS5sYXN0Q291bnQgKz0gbm9kZS5sZW5ndGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGFibGVbcHJldk5vZGVJZF0pIHRhYmxlW3ByZXZOb2RlSWRdLmxhc3RDb3VudCA9IG5vZGUubGVuZ3RoXG5cbiAgICAgICAgICBncmFwaFtwcmV2Tm9kZUlkXVtrZXldID0gZ2V0U2VnbWVudEJpdHNMZW5ndGgobm9kZS5sZW5ndGgsIG5vZGUubW9kZSkgK1xuICAgICAgICAgICAgNCArIE1vZGUuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKG5vZGUubW9kZSwgdmVyc2lvbikgLy8gc3dpdGNoIGNvc3RcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHByZXZOb2RlSWRzID0gY3VycmVudE5vZGVJZHNcbiAgfVxuXG4gIGZvciAobGV0IG4gPSAwOyBuIDwgcHJldk5vZGVJZHMubGVuZ3RoOyBuKyspIHtcbiAgICBncmFwaFtwcmV2Tm9kZUlkc1tuXV0uZW5kID0gMFxuICB9XG5cbiAgcmV0dXJuIHsgbWFwOiBncmFwaCwgdGFibGU6IHRhYmxlIH1cbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBzZWdtZW50IGZyb20gYSBzcGVjaWZpZWQgZGF0YSBhbmQgbW9kZS5cbiAqIElmIGEgbW9kZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgbW9yZSBzdWl0YWJsZSB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSBkYXRhICAgICAgICAgICAgIElucHV0IGRhdGFcbiAqIEBwYXJhbSAge01vZGUgfCBTdHJpbmd9IG1vZGVzSGludCBEYXRhIG1vZGVcbiAqIEByZXR1cm4ge1NlZ21lbnR9ICAgICAgICAgICAgICAgICBTZWdtZW50XG4gKi9cbmZ1bmN0aW9uIGJ1aWxkU2luZ2xlU2VnbWVudCAoZGF0YSwgbW9kZXNIaW50KSB7XG4gIGxldCBtb2RlXG4gIGNvbnN0IGJlc3RNb2RlID0gTW9kZS5nZXRCZXN0TW9kZUZvckRhdGEoZGF0YSlcblxuICBtb2RlID0gTW9kZS5mcm9tKG1vZGVzSGludCwgYmVzdE1vZGUpXG5cbiAgLy8gTWFrZSBzdXJlIGRhdGEgY2FuIGJlIGVuY29kZWRcbiAgaWYgKG1vZGUgIT09IE1vZGUuQllURSAmJiBtb2RlLmJpdCA8IGJlc3RNb2RlLmJpdCkge1xuICAgIHRocm93IG5ldyBFcnJvcignXCInICsgZGF0YSArICdcIicgK1xuICAgICAgJyBjYW5ub3QgYmUgZW5jb2RlZCB3aXRoIG1vZGUgJyArIE1vZGUudG9TdHJpbmcobW9kZSkgK1xuICAgICAgJy5cXG4gU3VnZ2VzdGVkIG1vZGUgaXM6ICcgKyBNb2RlLnRvU3RyaW5nKGJlc3RNb2RlKSlcbiAgfVxuXG4gIC8vIFVzZSBNb2RlLkJZVEUgaWYgS2Fuamkgc3VwcG9ydCBpcyBkaXNhYmxlZFxuICBpZiAobW9kZSA9PT0gTW9kZS5LQU5KSSAmJiAhVXRpbHMuaXNLYW5qaU1vZGVFbmFibGVkKCkpIHtcbiAgICBtb2RlID0gTW9kZS5CWVRFXG4gIH1cblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIE1vZGUuTlVNRVJJQzpcbiAgICAgIHJldHVybiBuZXcgTnVtZXJpY0RhdGEoZGF0YSlcblxuICAgIGNhc2UgTW9kZS5BTFBIQU5VTUVSSUM6XG4gICAgICByZXR1cm4gbmV3IEFscGhhbnVtZXJpY0RhdGEoZGF0YSlcblxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBuZXcgS2FuamlEYXRhKGRhdGEpXG5cbiAgICBjYXNlIE1vZGUuQllURTpcbiAgICAgIHJldHVybiBuZXcgQnl0ZURhdGEoZGF0YSlcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGxpc3Qgb2Ygc2VnbWVudHMgZnJvbSBhbiBhcnJheS5cbiAqIEFycmF5IGNhbiBjb250YWluIFN0cmluZ3Mgb3IgT2JqZWN0cyB3aXRoIHNlZ21lbnQncyBpbmZvLlxuICpcbiAqIEZvciBlYWNoIGl0ZW0gd2hpY2ggaXMgYSBzdHJpbmcsIHdpbGwgYmUgZ2VuZXJhdGVkIGEgc2VnbWVudCB3aXRoIHRoZSBnaXZlblxuICogc3RyaW5nIGFuZCB0aGUgbW9yZSBhcHByb3ByaWF0ZSBlbmNvZGluZyBtb2RlLlxuICpcbiAqIEZvciBlYWNoIGl0ZW0gd2hpY2ggaXMgYW4gb2JqZWN0LCB3aWxsIGJlIGdlbmVyYXRlZCBhIHNlZ21lbnQgd2l0aCB0aGUgZ2l2ZW5cbiAqIGRhdGEgYW5kIG1vZGUuXG4gKiBPYmplY3RzIG11c3QgY29udGFpbiBhdCBsZWFzdCB0aGUgcHJvcGVydHkgXCJkYXRhXCIuXG4gKiBJZiBwcm9wZXJ0eSBcIm1vZGVcIiBpcyBub3QgcHJlc2VudCwgdGhlIG1vcmUgc3VpdGFibGUgbW9kZSB3aWxsIGJlIHVzZWQuXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IGFycmF5IEFycmF5IG9mIG9iamVjdHMgd2l0aCBzZWdtZW50cyBkYXRhXG4gKiBAcmV0dXJuIHtBcnJheX0gICAgICAgQXJyYXkgb2YgU2VnbWVudHNcbiAqL1xuZXhwb3J0cy5mcm9tQXJyYXkgPSBmdW5jdGlvbiBmcm9tQXJyYXkgKGFycmF5KSB7XG4gIHJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgc2VnKSB7XG4gICAgaWYgKHR5cGVvZiBzZWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhY2MucHVzaChidWlsZFNpbmdsZVNlZ21lbnQoc2VnLCBudWxsKSlcbiAgICB9IGVsc2UgaWYgKHNlZy5kYXRhKSB7XG4gICAgICBhY2MucHVzaChidWlsZFNpbmdsZVNlZ21lbnQoc2VnLmRhdGEsIHNlZy5tb2RlKSlcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIFtdKVxufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBvcHRpbWl6ZWQgc2VxdWVuY2Ugb2Ygc2VnbWVudHMgZnJvbSBhIHN0cmluZyxcbiAqIHdoaWNoIHdpbGwgcHJvZHVjZSB0aGUgc2hvcnRlc3QgcG9zc2libGUgYml0c3RyZWFtLlxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gZGF0YSAgICBJbnB1dCBzdHJpbmdcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICBBcnJheSBvZiBzZWdtZW50c1xuICovXG5leHBvcnRzLmZyb21TdHJpbmcgPSBmdW5jdGlvbiBmcm9tU3RyaW5nIChkYXRhLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IHNlZ3MgPSBnZXRTZWdtZW50c0Zyb21TdHJpbmcoZGF0YSwgVXRpbHMuaXNLYW5qaU1vZGVFbmFibGVkKCkpXG5cbiAgY29uc3Qgbm9kZXMgPSBidWlsZE5vZGVzKHNlZ3MpXG4gIGNvbnN0IGdyYXBoID0gYnVpbGRHcmFwaChub2RlcywgdmVyc2lvbilcbiAgY29uc3QgcGF0aCA9IGRpamtzdHJhLmZpbmRfcGF0aChncmFwaC5tYXAsICdzdGFydCcsICdlbmQnKVxuXG4gIGNvbnN0IG9wdGltaXplZFNlZ3MgPSBbXVxuICBmb3IgKGxldCBpID0gMTsgaSA8IHBhdGgubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgb3B0aW1pemVkU2Vncy5wdXNoKGdyYXBoLnRhYmxlW3BhdGhbaV1dLm5vZGUpXG4gIH1cblxuICByZXR1cm4gZXhwb3J0cy5mcm9tQXJyYXkobWVyZ2VTZWdtZW50cyhvcHRpbWl6ZWRTZWdzKSlcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBzdHJpbmcgaW4gdmFyaW91cyBzZWdtZW50cyB3aXRoIHRoZSBtb2RlcyB3aGljaFxuICogYmVzdCByZXByZXNlbnQgdGhlaXIgY29udGVudC5cbiAqIFRoZSBwcm9kdWNlZCBzZWdtZW50cyBhcmUgZmFyIGZyb20gYmVpbmcgb3B0aW1pemVkLlxuICogVGhlIG91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCB0byBlc3RpbWF0ZSBhIFFSIENvZGUgdmVyc2lvblxuICogd2hpY2ggbWF5IGNvbnRhaW4gdGhlIGRhdGEuXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfSBkYXRhIElucHV0IHN0cmluZ1xuICogQHJldHVybiB7QXJyYXl9ICAgICAgIEFycmF5IG9mIHNlZ21lbnRzXG4gKi9cbmV4cG9ydHMucmF3U3BsaXQgPSBmdW5jdGlvbiByYXdTcGxpdCAoZGF0YSkge1xuICByZXR1cm4gZXhwb3J0cy5mcm9tQXJyYXkoXG4gICAgZ2V0U2VnbWVudHNGcm9tU3RyaW5nKGRhdGEsIFV0aWxzLmlzS2FuamlNb2RlRW5hYmxlZCgpKVxuICApXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/segments.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBLCtCQUErQjtBQUMvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLGFBQWE7QUFDekI7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUEsY0FBYztBQUNkO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS91dGlscy5qcz9mOTcyIl0sInNvdXJjZXNDb250ZW50IjpbImxldCB0b1NKSVNGdW5jdGlvblxuY29uc3QgQ09ERVdPUkRTX0NPVU5UID0gW1xuICAwLCAvLyBOb3QgdXNlZFxuICAyNiwgNDQsIDcwLCAxMDAsIDEzNCwgMTcyLCAxOTYsIDI0MiwgMjkyLCAzNDYsXG4gIDQwNCwgNDY2LCA1MzIsIDU4MSwgNjU1LCA3MzMsIDgxNSwgOTAxLCA5OTEsIDEwODUsXG4gIDExNTYsIDEyNTgsIDEzNjQsIDE0NzQsIDE1ODgsIDE3MDYsIDE4MjgsIDE5MjEsIDIwNTEsIDIxODUsXG4gIDIzMjMsIDI0NjUsIDI2MTEsIDI3NjEsIDI4NzYsIDMwMzQsIDMxOTYsIDMzNjIsIDM1MzIsIDM3MDZcbl1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBRUiBDb2RlIHNpemUgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvblxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiBRUiBDb2RlIHZlcnNpb25cbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICBzaXplIG9mIFFSIGNvZGVcbiAqL1xuZXhwb3J0cy5nZXRTeW1ib2xTaXplID0gZnVuY3Rpb24gZ2V0U3ltYm9sU2l6ZSAodmVyc2lvbikge1xuICBpZiAoIXZlcnNpb24pIHRocm93IG5ldyBFcnJvcignXCJ2ZXJzaW9uXCIgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkJylcbiAgaWYgKHZlcnNpb24gPCAxIHx8IHZlcnNpb24gPiA0MCkgdGhyb3cgbmV3IEVycm9yKCdcInZlcnNpb25cIiBzaG91bGQgYmUgaW4gcmFuZ2UgZnJvbSAxIHRvIDQwJylcbiAgcmV0dXJuIHZlcnNpb24gKiA0ICsgMTdcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgY29kZXdvcmRzIHVzZWQgdG8gc3RvcmUgZGF0YSBhbmQgRUMgaW5mb3JtYXRpb24uXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIERhdGEgbGVuZ3RoIGluIGJpdHNcbiAqL1xuZXhwb3J0cy5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyA9IGZ1bmN0aW9uIGdldFN5bWJvbFRvdGFsQ29kZXdvcmRzICh2ZXJzaW9uKSB7XG4gIHJldHVybiBDT0RFV09SRFNfQ09VTlRbdmVyc2lvbl1cbn1cblxuLyoqXG4gKiBFbmNvZGUgZGF0YSB3aXRoIEJvc2UtQ2hhdWRodXJpLUhvY3F1ZW5naGVtXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSBkYXRhIFZhbHVlIHRvIGVuY29kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgIEVuY29kZWQgdmFsdWVcbiAqL1xuZXhwb3J0cy5nZXRCQ0hEaWdpdCA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIGxldCBkaWdpdCA9IDBcblxuICB3aGlsZSAoZGF0YSAhPT0gMCkge1xuICAgIGRpZ2l0KytcbiAgICBkYXRhID4+Pj0gMVxuICB9XG5cbiAgcmV0dXJuIGRpZ2l0XG59XG5cbmV4cG9ydHMuc2V0VG9TSklTRnVuY3Rpb24gPSBmdW5jdGlvbiBzZXRUb1NKSVNGdW5jdGlvbiAoZikge1xuICBpZiAodHlwZW9mIGYgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1widG9TSklTRnVuY1wiIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uLicpXG4gIH1cblxuICB0b1NKSVNGdW5jdGlvbiA9IGZcbn1cblxuZXhwb3J0cy5pc0thbmppTW9kZUVuYWJsZWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0eXBlb2YgdG9TSklTRnVuY3Rpb24gIT09ICd1bmRlZmluZWQnXG59XG5cbmV4cG9ydHMudG9TSklTID0gZnVuY3Rpb24gdG9TSklTIChrYW5qaSkge1xuICByZXR1cm4gdG9TSklTRnVuY3Rpb24oa2FuamkpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version-check.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version-check.js ***! - \*******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3ZlcnNpb24tY2hlY2suanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxTQUFTO0FBQ3JCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0EsZUFBZTtBQUNmO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvY29yZS92ZXJzaW9uLWNoZWNrLmpzPzlmZTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDaGVjayBpZiBRUiBDb2RlIHZlcnNpb24gaXMgdmFsaWRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICB2ZXJzaW9uIFFSIENvZGUgdmVyc2lvblxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICB0cnVlIGlmIHZhbGlkIHZlcnNpb24sIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnRzLmlzVmFsaWQgPSBmdW5jdGlvbiBpc1ZhbGlkICh2ZXJzaW9uKSB7XG4gIHJldHVybiAhaXNOYU4odmVyc2lvbikgJiYgdmVyc2lvbiA+PSAxICYmIHZlcnNpb24gPD0gNDBcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version-check.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/utils.js\")\nconst ECCode = __webpack_require__(/*! ./error-correction-code */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-code.js\")\nconst ECLevel = __webpack_require__(/*! ./error-correction-level */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/error-correction-level.js\")\nconst Mode = __webpack_require__(/*! ./mode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/mode.js\")\nconst VersionCheck = __webpack_require__(/*! ./version-check */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version-check.js\")\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9jb3JlL3ZlcnNpb24uanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLDRGQUFTO0FBQy9CLGVBQWUsbUJBQU8sQ0FBQyw0SEFBeUI7QUFDaEQsZ0JBQWdCLG1CQUFPLENBQUMsOEhBQTBCO0FBQ2xELGFBQWEsbUJBQU8sQ0FBQywwRkFBUTtBQUM3QixxQkFBcUIsbUJBQU8sQ0FBQyw0R0FBaUI7O0FBRTlDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxlQUFlO0FBQzNCLFlBQVksZUFBZTtBQUMzQixZQUFZLDRCQUE0QjtBQUN4QztBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksU0FBUztBQUNyQixZQUFZLFFBQVE7QUFDcEIsWUFBWSxNQUFNO0FBQ2xCLFlBQVksaUNBQWlDO0FBQzdDO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L25vZGVfbW9kdWxlcy9xcmNvZGUvbGliL2NvcmUvdmVyc2lvbi5qcz9iMDQwIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5jb25zdCBFQ0NvZGUgPSByZXF1aXJlKCcuL2Vycm9yLWNvcnJlY3Rpb24tY29kZScpXG5jb25zdCBFQ0xldmVsID0gcmVxdWlyZSgnLi9lcnJvci1jb3JyZWN0aW9uLWxldmVsJylcbmNvbnN0IE1vZGUgPSByZXF1aXJlKCcuL21vZGUnKVxuY29uc3QgVmVyc2lvbkNoZWNrID0gcmVxdWlyZSgnLi92ZXJzaW9uLWNoZWNrJylcblxuLy8gR2VuZXJhdG9yIHBvbHlub21pYWwgdXNlZCB0byBlbmNvZGUgdmVyc2lvbiBpbmZvcm1hdGlvblxuY29uc3QgRzE4ID0gKDEgPDwgMTIpIHwgKDEgPDwgMTEpIHwgKDEgPDwgMTApIHwgKDEgPDwgOSkgfCAoMSA8PCA4KSB8ICgxIDw8IDUpIHwgKDEgPDwgMikgfCAoMSA8PCAwKVxuY29uc3QgRzE4X0JDSCA9IFV0aWxzLmdldEJDSERpZ2l0KEcxOClcblxuZnVuY3Rpb24gZ2V0QmVzdFZlcnNpb25Gb3JEYXRhTGVuZ3RoIChtb2RlLCBsZW5ndGgsIGVycm9yQ29ycmVjdGlvbkxldmVsKSB7XG4gIGZvciAobGV0IGN1cnJlbnRWZXJzaW9uID0gMTsgY3VycmVudFZlcnNpb24gPD0gNDA7IGN1cnJlbnRWZXJzaW9uKyspIHtcbiAgICBpZiAobGVuZ3RoIDw9IGV4cG9ydHMuZ2V0Q2FwYWNpdHkoY3VycmVudFZlcnNpb24sIGVycm9yQ29ycmVjdGlvbkxldmVsLCBtb2RlKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRWZXJzaW9uXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBnZXRSZXNlcnZlZEJpdHNDb3VudCAobW9kZSwgdmVyc2lvbikge1xuICAvLyBDaGFyYWN0ZXIgY291bnQgaW5kaWNhdG9yICsgbW9kZSBpbmRpY2F0b3IgYml0c1xuICByZXR1cm4gTW9kZS5nZXRDaGFyQ291bnRJbmRpY2F0b3IobW9kZSwgdmVyc2lvbikgKyA0XG59XG5cbmZ1bmN0aW9uIGdldFRvdGFsQml0c0Zyb21EYXRhQXJyYXkgKHNlZ21lbnRzLCB2ZXJzaW9uKSB7XG4gIGxldCB0b3RhbEJpdHMgPSAwXG5cbiAgc2VnbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZGF0YSkge1xuICAgIGNvbnN0IHJlc2VydmVkQml0cyA9IGdldFJlc2VydmVkQml0c0NvdW50KGRhdGEubW9kZSwgdmVyc2lvbilcbiAgICB0b3RhbEJpdHMgKz0gcmVzZXJ2ZWRCaXRzICsgZGF0YS5nZXRCaXRzTGVuZ3RoKClcbiAgfSlcblxuICByZXR1cm4gdG90YWxCaXRzXG59XG5cbmZ1bmN0aW9uIGdldEJlc3RWZXJzaW9uRm9yTWl4ZWREYXRhIChzZWdtZW50cywgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpIHtcbiAgZm9yIChsZXQgY3VycmVudFZlcnNpb24gPSAxOyBjdXJyZW50VmVyc2lvbiA8PSA0MDsgY3VycmVudFZlcnNpb24rKykge1xuICAgIGNvbnN0IGxlbmd0aCA9IGdldFRvdGFsQml0c0Zyb21EYXRhQXJyYXkoc2VnbWVudHMsIGN1cnJlbnRWZXJzaW9uKVxuICAgIGlmIChsZW5ndGggPD0gZXhwb3J0cy5nZXRDYXBhY2l0eShjdXJyZW50VmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIE1vZGUuTUlYRUQpKSB7XG4gICAgICByZXR1cm4gY3VycmVudFZlcnNpb25cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogUmV0dXJucyB2ZXJzaW9uIG51bWJlciBmcm9tIGEgdmFsdWUuXG4gKiBJZiB2YWx1ZSBpcyBub3QgYSB2YWxpZCB2ZXJzaW9uLCByZXR1cm5zIGRlZmF1bHRWYWx1ZVxuICpcbiAqIEBwYXJhbSAge051bWJlcnxTdHJpbmd9IHZhbHVlICAgICAgICBRUiBDb2RlIHZlcnNpb25cbiAqIEBwYXJhbSAge051bWJlcn0gICAgICAgIGRlZmF1bHRWYWx1ZSBGYWxsYmFjayB2YWx1ZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgIFFSIENvZGUgdmVyc2lvbiBudW1iZXJcbiAqL1xuZXhwb3J0cy5mcm9tID0gZnVuY3Rpb24gZnJvbSAodmFsdWUsIGRlZmF1bHRWYWx1ZSkge1xuICBpZiAoVmVyc2lvbkNoZWNrLmlzVmFsaWQodmFsdWUpKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMClcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0VmFsdWVcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGhvdyBtdWNoIGRhdGEgY2FuIGJlIHN0b3JlZCB3aXRoIHRoZSBzcGVjaWZpZWQgUVIgY29kZSB2ZXJzaW9uXG4gKiBhbmQgZXJyb3IgY29ycmVjdGlvbiBsZXZlbFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gdmVyc2lvbiAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uICgxLTQwKVxuICogQHBhcmFtICB7TnVtYmVyfSBlcnJvckNvcnJlY3Rpb25MZXZlbCBFcnJvciBjb3JyZWN0aW9uIGxldmVsXG4gKiBAcGFyYW0gIHtNb2RlfSAgIG1vZGUgICAgICAgICAgICAgICAgIERhdGEgbW9kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgICBRdWFudGl0eSBvZiBzdG9yYWJsZSBkYXRhXG4gKi9cbmV4cG9ydHMuZ2V0Q2FwYWNpdHkgPSBmdW5jdGlvbiBnZXRDYXBhY2l0eSAodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsIG1vZGUpIHtcbiAgaWYgKCFWZXJzaW9uQ2hlY2suaXNWYWxpZCh2ZXJzaW9uKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBRUiBDb2RlIHZlcnNpb24nKVxuICB9XG5cbiAgLy8gVXNlIEJ5dGUgbW9kZSBhcyBkZWZhdWx0XG4gIGlmICh0eXBlb2YgbW9kZSA9PT0gJ3VuZGVmaW5lZCcpIG1vZGUgPSBNb2RlLkJZVEVcblxuICAvLyBUb3RhbCBjb2Rld29yZHMgZm9yIHRoaXMgUVIgY29kZSB2ZXJzaW9uIChEYXRhICsgRXJyb3IgY29ycmVjdGlvbilcbiAgY29uc3QgdG90YWxDb2Rld29yZHMgPSBVdGlscy5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcyh2ZXJzaW9uKVxuXG4gIC8vIFRvdGFsIG51bWJlciBvZiBlcnJvciBjb3JyZWN0aW9uIGNvZGV3b3Jkc1xuICBjb25zdCBlY1RvdGFsQ29kZXdvcmRzID0gRUNDb2RlLmdldFRvdGFsQ29kZXdvcmRzQ291bnQodmVyc2lvbiwgZXJyb3JDb3JyZWN0aW9uTGV2ZWwpXG5cbiAgLy8gVG90YWwgbnVtYmVyIG9mIGRhdGEgY29kZXdvcmRzXG4gIGNvbnN0IGRhdGFUb3RhbENvZGV3b3Jkc0JpdHMgPSAodG90YWxDb2Rld29yZHMgLSBlY1RvdGFsQ29kZXdvcmRzKSAqIDhcblxuICBpZiAobW9kZSA9PT0gTW9kZS5NSVhFRCkgcmV0dXJuIGRhdGFUb3RhbENvZGV3b3Jkc0JpdHNcblxuICBjb25zdCB1c2FibGVCaXRzID0gZGF0YVRvdGFsQ29kZXdvcmRzQml0cyAtIGdldFJlc2VydmVkQml0c0NvdW50KG1vZGUsIHZlcnNpb24pXG5cbiAgLy8gUmV0dXJuIG1heCBudW1iZXIgb2Ygc3RvcmFibGUgY29kZXdvcmRzXG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgTW9kZS5OVU1FUklDOlxuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKHVzYWJsZUJpdHMgLyAxMCkgKiAzKVxuXG4gICAgY2FzZSBNb2RlLkFMUEhBTlVNRVJJQzpcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKCh1c2FibGVCaXRzIC8gMTEpICogMilcblxuICAgIGNhc2UgTW9kZS5LQU5KSTpcbiAgICAgIHJldHVybiBNYXRoLmZsb29yKHVzYWJsZUJpdHMgLyAxMylcblxuICAgIGNhc2UgTW9kZS5CWVRFOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcih1c2FibGVCaXRzIC8gOClcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG1pbmltdW0gdmVyc2lvbiBuZWVkZWQgdG8gY29udGFpbiB0aGUgYW1vdW50IG9mIGRhdGFcbiAqXG4gKiBAcGFyYW0gIHtTZWdtZW50fSBkYXRhICAgICAgICAgICAgICAgICAgICBTZWdtZW50IG9mIGRhdGFcbiAqIEBwYXJhbSAge051bWJlcn0gW2Vycm9yQ29ycmVjdGlvbkxldmVsPUhdIEVycm9yIGNvcnJlY3Rpb24gbGV2ZWxcbiAqIEBwYXJhbSAge01vZGV9IG1vZGUgICAgICAgICAgICAgICAgICAgICAgIERhdGEgbW9kZVxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICAgICAgICAgUVIgQ29kZSB2ZXJzaW9uXG4gKi9cbmV4cG9ydHMuZ2V0QmVzdFZlcnNpb25Gb3JEYXRhID0gZnVuY3Rpb24gZ2V0QmVzdFZlcnNpb25Gb3JEYXRhIChkYXRhLCBlcnJvckNvcnJlY3Rpb25MZXZlbCkge1xuICBsZXQgc2VnXG5cbiAgY29uc3QgZWNsID0gRUNMZXZlbC5mcm9tKGVycm9yQ29ycmVjdGlvbkxldmVsLCBFQ0xldmVsLk0pXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gZ2V0QmVzdFZlcnNpb25Gb3JNaXhlZERhdGEoZGF0YSwgZWNsKVxuICAgIH1cblxuICAgIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDFcbiAgICB9XG5cbiAgICBzZWcgPSBkYXRhWzBdXG4gIH0gZWxzZSB7XG4gICAgc2VnID0gZGF0YVxuICB9XG5cbiAgcmV0dXJuIGdldEJlc3RWZXJzaW9uRm9yRGF0YUxlbmd0aChzZWcubW9kZSwgc2VnLmdldExlbmd0aCgpLCBlY2wpXG59XG5cbi8qKlxuICogUmV0dXJucyB2ZXJzaW9uIGluZm9ybWF0aW9uIHdpdGggcmVsYXRpdmUgZXJyb3IgY29ycmVjdGlvbiBiaXRzXG4gKlxuICogVGhlIHZlcnNpb24gaW5mb3JtYXRpb24gaXMgaW5jbHVkZWQgaW4gUVIgQ29kZSBzeW1ib2xzIG9mIHZlcnNpb24gNyBvciBsYXJnZXIuXG4gKiBJdCBjb25zaXN0cyBvZiBhbiAxOC1iaXQgc2VxdWVuY2UgY29udGFpbmluZyA2IGRhdGEgYml0cyxcbiAqIHdpdGggMTIgZXJyb3IgY29ycmVjdGlvbiBiaXRzIGNhbGN1bGF0ZWQgdXNpbmcgdGhlICgxOCwgNikgR29sYXkgY29kZS5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHZlcnNpb24gUVIgQ29kZSB2ZXJzaW9uXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgRW5jb2RlZCB2ZXJzaW9uIGluZm8gYml0c1xuICovXG5leHBvcnRzLmdldEVuY29kZWRCaXRzID0gZnVuY3Rpb24gZ2V0RW5jb2RlZEJpdHMgKHZlcnNpb24pIHtcbiAgaWYgKCFWZXJzaW9uQ2hlY2suaXNWYWxpZCh2ZXJzaW9uKSB8fCB2ZXJzaW9uIDwgNykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBRUiBDb2RlIHZlcnNpb24nKVxuICB9XG5cbiAgbGV0IGQgPSB2ZXJzaW9uIDw8IDEyXG5cbiAgd2hpbGUgKFV0aWxzLmdldEJDSERpZ2l0KGQpIC0gRzE4X0JDSCA+PSAwKSB7XG4gICAgZCBePSAoRzE4IDw8IChVdGlscy5nZXRCQ0hEaWdpdChkKSAtIEcxOF9CQ0gpKVxuICB9XG5cbiAgcmV0dXJuICh2ZXJzaW9uIDw8IDEyKSB8IGRcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/core/version.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/canvas.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/canvas.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/utils.js\")\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9jYW52YXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBTyxDQUFDLGdHQUFTOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9jYW52YXMuanM/MTk2NyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBVdGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuXG5mdW5jdGlvbiBjbGVhckNhbnZhcyAoY3R4LCBjYW52YXMsIHNpemUpIHtcbiAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpXG5cbiAgaWYgKCFjYW52YXMuc3R5bGUpIGNhbnZhcy5zdHlsZSA9IHt9XG4gIGNhbnZhcy5oZWlnaHQgPSBzaXplXG4gIGNhbnZhcy53aWR0aCA9IHNpemVcbiAgY2FudmFzLnN0eWxlLmhlaWdodCA9IHNpemUgKyAncHgnXG4gIGNhbnZhcy5zdHlsZS53aWR0aCA9IHNpemUgKyAncHgnXG59XG5cbmZ1bmN0aW9uIGdldENhbnZhc0VsZW1lbnQgKCkge1xuICB0cnkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQnKVxuICB9XG59XG5cbmV4cG9ydHMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyIChxckRhdGEsIGNhbnZhcywgb3B0aW9ucykge1xuICBsZXQgb3B0cyA9IG9wdGlvbnNcbiAgbGV0IGNhbnZhc0VsID0gY2FudmFzXG5cbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJyAmJiAoIWNhbnZhcyB8fCAhY2FudmFzLmdldENvbnRleHQpKSB7XG4gICAgb3B0cyA9IGNhbnZhc1xuICAgIGNhbnZhcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKCFjYW52YXMpIHtcbiAgICBjYW52YXNFbCA9IGdldENhbnZhc0VsZW1lbnQoKVxuICB9XG5cbiAgb3B0cyA9IFV0aWxzLmdldE9wdGlvbnMob3B0cylcbiAgY29uc3Qgc2l6ZSA9IFV0aWxzLmdldEltYWdlV2lkdGgocXJEYXRhLm1vZHVsZXMuc2l6ZSwgb3B0cylcblxuICBjb25zdCBjdHggPSBjYW52YXNFbC5nZXRDb250ZXh0KCcyZCcpXG4gIGNvbnN0IGltYWdlID0gY3R4LmNyZWF0ZUltYWdlRGF0YShzaXplLCBzaXplKVxuICBVdGlscy5xclRvSW1hZ2VEYXRhKGltYWdlLmRhdGEsIHFyRGF0YSwgb3B0cylcblxuICBjbGVhckNhbnZhcyhjdHgsIGNhbnZhc0VsLCBzaXplKVxuICBjdHgucHV0SW1hZ2VEYXRhKGltYWdlLCAwLCAwKVxuXG4gIHJldHVybiBjYW52YXNFbFxufVxuXG5leHBvcnRzLnJlbmRlclRvRGF0YVVSTCA9IGZ1bmN0aW9uIHJlbmRlclRvRGF0YVVSTCAocXJEYXRhLCBjYW52YXMsIG9wdGlvbnMpIHtcbiAgbGV0IG9wdHMgPSBvcHRpb25zXG5cbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJyAmJiAoIWNhbnZhcyB8fCAhY2FudmFzLmdldENvbnRleHQpKSB7XG4gICAgb3B0cyA9IGNhbnZhc1xuICAgIGNhbnZhcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKCFvcHRzKSBvcHRzID0ge31cblxuICBjb25zdCBjYW52YXNFbCA9IGV4cG9ydHMucmVuZGVyKHFyRGF0YSwgY2FudmFzLCBvcHRzKVxuXG4gIGNvbnN0IHR5cGUgPSBvcHRzLnR5cGUgfHwgJ2ltYWdlL3BuZydcbiAgY29uc3QgcmVuZGVyZXJPcHRzID0gb3B0cy5yZW5kZXJlck9wdHMgfHwge31cblxuICByZXR1cm4gY2FudmFzRWwudG9EYXRhVVJMKHR5cGUsIHJlbmRlcmVyT3B0cy5xdWFsaXR5KVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/canvas.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/svg-tag.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/svg-tag.js ***! - \*****************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("const Utils = __webpack_require__(/*! ./utils */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/utils.js\")\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci9zdmctdGFnLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyxnR0FBUzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGlCQUFpQjtBQUNuQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvbm9kZV9tb2R1bGVzL3FyY29kZS9saWIvcmVuZGVyZXIvc3ZnLXRhZy5qcz8zNTNlIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmZ1bmN0aW9uIGdldENvbG9yQXR0cmliIChjb2xvciwgYXR0cmliKSB7XG4gIGNvbnN0IGFscGhhID0gY29sb3IuYSAvIDI1NVxuICBjb25zdCBzdHIgPSBhdHRyaWIgKyAnPVwiJyArIGNvbG9yLmhleCArICdcIidcblxuICByZXR1cm4gYWxwaGEgPCAxXG4gICAgPyBzdHIgKyAnICcgKyBhdHRyaWIgKyAnLW9wYWNpdHk9XCInICsgYWxwaGEudG9GaXhlZCgyKS5zbGljZSgxKSArICdcIidcbiAgICA6IHN0clxufVxuXG5mdW5jdGlvbiBzdmdDbWQgKGNtZCwgeCwgeSkge1xuICBsZXQgc3RyID0gY21kICsgeFxuICBpZiAodHlwZW9mIHkgIT09ICd1bmRlZmluZWQnKSBzdHIgKz0gJyAnICsgeVxuXG4gIHJldHVybiBzdHJcbn1cblxuZnVuY3Rpb24gcXJUb1BhdGggKGRhdGEsIHNpemUsIG1hcmdpbikge1xuICBsZXQgcGF0aCA9ICcnXG4gIGxldCBtb3ZlQnkgPSAwXG4gIGxldCBuZXdSb3cgPSBmYWxzZVxuICBsZXQgbGluZUxlbmd0aCA9IDBcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjb2wgPSBNYXRoLmZsb29yKGkgJSBzaXplKVxuICAgIGNvbnN0IHJvdyA9IE1hdGguZmxvb3IoaSAvIHNpemUpXG5cbiAgICBpZiAoIWNvbCAmJiAhbmV3Um93KSBuZXdSb3cgPSB0cnVlXG5cbiAgICBpZiAoZGF0YVtpXSkge1xuICAgICAgbGluZUxlbmd0aCsrXG5cbiAgICAgIGlmICghKGkgPiAwICYmIGNvbCA+IDAgJiYgZGF0YVtpIC0gMV0pKSB7XG4gICAgICAgIHBhdGggKz0gbmV3Um93XG4gICAgICAgICAgPyBzdmdDbWQoJ00nLCBjb2wgKyBtYXJnaW4sIDAuNSArIHJvdyArIG1hcmdpbilcbiAgICAgICAgICA6IHN2Z0NtZCgnbScsIG1vdmVCeSwgMClcblxuICAgICAgICBtb3ZlQnkgPSAwXG4gICAgICAgIG5ld1JvdyA9IGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGlmICghKGNvbCArIDEgPCBzaXplICYmIGRhdGFbaSArIDFdKSkge1xuICAgICAgICBwYXRoICs9IHN2Z0NtZCgnaCcsIGxpbmVMZW5ndGgpXG4gICAgICAgIGxpbmVMZW5ndGggPSAwXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vdmVCeSsrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhdGhcbn1cblxuZXhwb3J0cy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIgKHFyRGF0YSwgb3B0aW9ucywgY2IpIHtcbiAgY29uc3Qgb3B0cyA9IFV0aWxzLmdldE9wdGlvbnMob3B0aW9ucylcbiAgY29uc3Qgc2l6ZSA9IHFyRGF0YS5tb2R1bGVzLnNpemVcbiAgY29uc3QgZGF0YSA9IHFyRGF0YS5tb2R1bGVzLmRhdGFcbiAgY29uc3QgcXJjb2Rlc2l6ZSA9IHNpemUgKyBvcHRzLm1hcmdpbiAqIDJcblxuICBjb25zdCBiZyA9ICFvcHRzLmNvbG9yLmxpZ2h0LmFcbiAgICA/ICcnXG4gICAgOiAnPHBhdGggJyArIGdldENvbG9yQXR0cmliKG9wdHMuY29sb3IubGlnaHQsICdmaWxsJykgK1xuICAgICAgJyBkPVwiTTAgMGgnICsgcXJjb2Rlc2l6ZSArICd2JyArIHFyY29kZXNpemUgKyAnSDB6XCIvPidcblxuICBjb25zdCBwYXRoID1cbiAgICAnPHBhdGggJyArIGdldENvbG9yQXR0cmliKG9wdHMuY29sb3IuZGFyaywgJ3N0cm9rZScpICtcbiAgICAnIGQ9XCInICsgcXJUb1BhdGgoZGF0YSwgc2l6ZSwgb3B0cy5tYXJnaW4pICsgJ1wiLz4nXG5cbiAgY29uc3Qgdmlld0JveCA9ICd2aWV3Qm94PVwiJyArICcwIDAgJyArIHFyY29kZXNpemUgKyAnICcgKyBxcmNvZGVzaXplICsgJ1wiJ1xuXG4gIGNvbnN0IHdpZHRoID0gIW9wdHMud2lkdGggPyAnJyA6ICd3aWR0aD1cIicgKyBvcHRzLndpZHRoICsgJ1wiIGhlaWdodD1cIicgKyBvcHRzLndpZHRoICsgJ1wiICdcblxuICBjb25zdCBzdmdUYWcgPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgJyArIHdpZHRoICsgdmlld0JveCArICcgc2hhcGUtcmVuZGVyaW5nPVwiY3Jpc3BFZGdlc1wiPicgKyBiZyArIHBhdGggKyAnPC9zdmc+XFxuJ1xuXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYihudWxsLCBzdmdUYWcpXG4gIH1cblxuICByZXR1cm4gc3ZnVGFnXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/svg-tag.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/utils.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/utils.js ***! - \***************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQjtBQUNsQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQixnQkFBZ0I7QUFDbEMsb0JBQW9CLGdCQUFnQjtBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9ub2RlX21vZHVsZXMvcXJjb2RlL2xpYi9yZW5kZXJlci91dGlscy5qcz8wYWM2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGhleDJyZ2JhIChoZXgpIHtcbiAgaWYgKHR5cGVvZiBoZXggPT09ICdudW1iZXInKSB7XG4gICAgaGV4ID0gaGV4LnRvU3RyaW5nKClcbiAgfVxuXG4gIGlmICh0eXBlb2YgaGV4ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZycpXG4gIH1cblxuICBsZXQgaGV4Q29kZSA9IGhleC5zbGljZSgpLnJlcGxhY2UoJyMnLCAnJykuc3BsaXQoJycpXG4gIGlmIChoZXhDb2RlLmxlbmd0aCA8IDMgfHwgaGV4Q29kZS5sZW5ndGggPT09IDUgfHwgaGV4Q29kZS5sZW5ndGggPiA4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjogJyArIGhleClcbiAgfVxuXG4gIC8vIENvbnZlcnQgZnJvbSBzaG9ydCB0byBsb25nIGZvcm0gKGZmZiAtPiBmZmZmZmYpXG4gIGlmIChoZXhDb2RlLmxlbmd0aCA9PT0gMyB8fCBoZXhDb2RlLmxlbmd0aCA9PT0gNCkge1xuICAgIGhleENvZGUgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBoZXhDb2RlLm1hcChmdW5jdGlvbiAoYykge1xuICAgICAgcmV0dXJuIFtjLCBjXVxuICAgIH0pKVxuICB9XG5cbiAgLy8gQWRkIGRlZmF1bHQgYWxwaGEgdmFsdWVcbiAgaWYgKGhleENvZGUubGVuZ3RoID09PSA2KSBoZXhDb2RlLnB1c2goJ0YnLCAnRicpXG5cbiAgY29uc3QgaGV4VmFsdWUgPSBwYXJzZUludChoZXhDb2RlLmpvaW4oJycpLCAxNilcblxuICByZXR1cm4ge1xuICAgIHI6IChoZXhWYWx1ZSA+PiAyNCkgJiAyNTUsXG4gICAgZzogKGhleFZhbHVlID4+IDE2KSAmIDI1NSxcbiAgICBiOiAoaGV4VmFsdWUgPj4gOCkgJiAyNTUsXG4gICAgYTogaGV4VmFsdWUgJiAyNTUsXG4gICAgaGV4OiAnIycgKyBoZXhDb2RlLnNsaWNlKDAsIDYpLmpvaW4oJycpXG4gIH1cbn1cblxuZXhwb3J0cy5nZXRPcHRpb25zID0gZnVuY3Rpb24gZ2V0T3B0aW9ucyAob3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fVxuICBpZiAoIW9wdGlvbnMuY29sb3IpIG9wdGlvbnMuY29sb3IgPSB7fVxuXG4gIGNvbnN0IG1hcmdpbiA9IHR5cGVvZiBvcHRpb25zLm1hcmdpbiA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICBvcHRpb25zLm1hcmdpbiA9PT0gbnVsbCB8fFxuICAgIG9wdGlvbnMubWFyZ2luIDwgMFxuICAgID8gNFxuICAgIDogb3B0aW9ucy5tYXJnaW5cblxuICBjb25zdCB3aWR0aCA9IG9wdGlvbnMud2lkdGggJiYgb3B0aW9ucy53aWR0aCA+PSAyMSA/IG9wdGlvbnMud2lkdGggOiB1bmRlZmluZWRcbiAgY29uc3Qgc2NhbGUgPSBvcHRpb25zLnNjYWxlIHx8IDRcblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBzY2FsZTogd2lkdGggPyA0IDogc2NhbGUsXG4gICAgbWFyZ2luOiBtYXJnaW4sXG4gICAgY29sb3I6IHtcbiAgICAgIGRhcms6IGhleDJyZ2JhKG9wdGlvbnMuY29sb3IuZGFyayB8fCAnIzAwMDAwMGZmJyksXG4gICAgICBsaWdodDogaGV4MnJnYmEob3B0aW9ucy5jb2xvci5saWdodCB8fCAnI2ZmZmZmZmZmJylcbiAgICB9LFxuICAgIHR5cGU6IG9wdGlvbnMudHlwZSxcbiAgICByZW5kZXJlck9wdHM6IG9wdGlvbnMucmVuZGVyZXJPcHRzIHx8IHt9XG4gIH1cbn1cblxuZXhwb3J0cy5nZXRTY2FsZSA9IGZ1bmN0aW9uIGdldFNjYWxlIChxclNpemUsIG9wdHMpIHtcbiAgcmV0dXJuIG9wdHMud2lkdGggJiYgb3B0cy53aWR0aCA+PSBxclNpemUgKyBvcHRzLm1hcmdpbiAqIDJcbiAgICA/IG9wdHMud2lkdGggLyAocXJTaXplICsgb3B0cy5tYXJnaW4gKiAyKVxuICAgIDogb3B0cy5zY2FsZVxufVxuXG5leHBvcnRzLmdldEltYWdlV2lkdGggPSBmdW5jdGlvbiBnZXRJbWFnZVdpZHRoIChxclNpemUsIG9wdHMpIHtcbiAgY29uc3Qgc2NhbGUgPSBleHBvcnRzLmdldFNjYWxlKHFyU2l6ZSwgb3B0cylcbiAgcmV0dXJuIE1hdGguZmxvb3IoKHFyU2l6ZSArIG9wdHMubWFyZ2luICogMikgKiBzY2FsZSlcbn1cblxuZXhwb3J0cy5xclRvSW1hZ2VEYXRhID0gZnVuY3Rpb24gcXJUb0ltYWdlRGF0YSAoaW1nRGF0YSwgcXIsIG9wdHMpIHtcbiAgY29uc3Qgc2l6ZSA9IHFyLm1vZHVsZXMuc2l6ZVxuICBjb25zdCBkYXRhID0gcXIubW9kdWxlcy5kYXRhXG4gIGNvbnN0IHNjYWxlID0gZXhwb3J0cy5nZXRTY2FsZShzaXplLCBvcHRzKVxuICBjb25zdCBzeW1ib2xTaXplID0gTWF0aC5mbG9vcigoc2l6ZSArIG9wdHMubWFyZ2luICogMikgKiBzY2FsZSlcbiAgY29uc3Qgc2NhbGVkTWFyZ2luID0gb3B0cy5tYXJnaW4gKiBzY2FsZVxuICBjb25zdCBwYWxldHRlID0gW29wdHMuY29sb3IubGlnaHQsIG9wdHMuY29sb3IuZGFya11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN5bWJvbFNpemU7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgc3ltYm9sU2l6ZTsgaisrKSB7XG4gICAgICBsZXQgcG9zRHN0ID0gKGkgKiBzeW1ib2xTaXplICsgaikgKiA0XG4gICAgICBsZXQgcHhDb2xvciA9IG9wdHMuY29sb3IubGlnaHRcblxuICAgICAgaWYgKGkgPj0gc2NhbGVkTWFyZ2luICYmIGogPj0gc2NhbGVkTWFyZ2luICYmXG4gICAgICAgIGkgPCBzeW1ib2xTaXplIC0gc2NhbGVkTWFyZ2luICYmIGogPCBzeW1ib2xTaXplIC0gc2NhbGVkTWFyZ2luKSB7XG4gICAgICAgIGNvbnN0IGlTcmMgPSBNYXRoLmZsb29yKChpIC0gc2NhbGVkTWFyZ2luKSAvIHNjYWxlKVxuICAgICAgICBjb25zdCBqU3JjID0gTWF0aC5mbG9vcigoaiAtIHNjYWxlZE1hcmdpbikgLyBzY2FsZSlcbiAgICAgICAgcHhDb2xvciA9IHBhbGV0dGVbZGF0YVtpU3JjICogc2l6ZSArIGpTcmNdID8gMSA6IDBdXG4gICAgICB9XG5cbiAgICAgIGltZ0RhdGFbcG9zRHN0KytdID0gcHhDb2xvci5yXG4gICAgICBpbWdEYXRhW3Bvc0RzdCsrXSA9IHB4Q29sb3IuZ1xuICAgICAgaW1nRGF0YVtwb3NEc3QrK10gPSBweENvbG9yLmJcbiAgICAgIGltZ0RhdGFbcG9zRHN0XSA9IHB4Q29sb3IuYVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/renderer/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-provider/dist/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-provider/dist/index.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SafeAppProvider = void 0;\nvar provider_1 = __webpack_require__(/*! ./provider */ \"./node_modules/@safe-global/safe-apps-provider/dist/provider.js\");\nObject.defineProperty(exports, \"SafeAppProvider\", ({ enumerable: true, get: function () { return provider_1.SafeAppProvider; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1wcm92aWRlci9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2QixpQkFBaUIsbUJBQU8sQ0FBQyxtRkFBWTtBQUNyQyxtREFBa0QsRUFBRSxxQ0FBcUMsc0NBQXNDLEVBQUM7QUFDaEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWFwcHMtcHJvdmlkZXIvZGlzdC9pbmRleC5qcz9mMTEzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5TYWZlQXBwUHJvdmlkZXIgPSB2b2lkIDA7XG52YXIgcHJvdmlkZXJfMSA9IHJlcXVpcmUoXCIuL3Byb3ZpZGVyXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiU2FmZUFwcFByb3ZpZGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBwcm92aWRlcl8xLlNhZmVBcHBQcm92aWRlcjsgfSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-provider/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-provider/dist/provider.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-provider/dist/provider.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SafeAppProvider = void 0;\nconst events_1 = __webpack_require__(/*! events */ \"./node_modules/events/events.js\");\nconst utils_1 = __webpack_require__(/*! ./utils */ \"./node_modules/@safe-global/safe-apps-provider/dist/utils.js\");\n// The API is based on Ethereum JavaScript API Provider Standard. Link: https://eips.ethereum.org/EIPS/eip-1193\nclass SafeAppProvider extends events_1.EventEmitter {\n constructor(safe, sdk) {\n super();\n this.submittedTxs = new Map();\n this.safe = safe;\n this.sdk = sdk;\n }\n async connect() {\n this.emit('connect', { chainId: this.chainId });\n return;\n }\n async disconnect() {\n return;\n }\n get chainId() {\n return this.safe.chainId;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async request(request) {\n const { method, params = [] } = request;\n switch (method) {\n case 'eth_accounts':\n return [this.safe.safeAddress];\n case 'net_version':\n case 'eth_chainId':\n return `0x${this.chainId.toString(16)}`;\n case 'personal_sign': {\n const [message, address] = params;\n if (this.safe.safeAddress.toLowerCase() !== address.toLowerCase()) {\n throw new Error('The address or message hash is invalid');\n }\n const response = await this.sdk.txs.signMessage(message);\n const signature = 'signature' in response ? response.signature : undefined;\n return signature || '0x';\n }\n case 'eth_sign': {\n const [address, messageHash] = params;\n if (this.safe.safeAddress.toLowerCase() !== address.toLowerCase() || !messageHash.startsWith('0x')) {\n throw new Error('The address or message hash is invalid');\n }\n const response = await this.sdk.txs.signMessage(messageHash);\n const signature = 'signature' in response ? response.signature : undefined;\n return signature || '0x';\n }\n case 'eth_signTypedData':\n case 'eth_signTypedData_v4': {\n const [address, typedData] = params;\n const parsedTypedData = typeof typedData === 'string' ? JSON.parse(typedData) : typedData;\n if (this.safe.safeAddress.toLowerCase() !== address.toLowerCase()) {\n throw new Error('The address is invalid');\n }\n const response = await this.sdk.txs.signTypedMessage(parsedTypedData);\n const signature = 'signature' in response ? response.signature : undefined;\n return signature || '0x';\n }\n case 'eth_sendTransaction':\n const tx = Object.assign({ value: '0', data: '0x' }, params[0]);\n // Some ethereum libraries might pass the gas as a hex-encoded string\n // We need to convert it to a number because the SDK expects a number and our backend only supports\n // Decimal numbers\n if (typeof tx.gas === 'string' && tx.gas.startsWith('0x')) {\n tx.gas = parseInt(tx.gas, 16);\n }\n const resp = await this.sdk.txs.send({\n txs: [tx],\n params: { safeTxGas: tx.gas },\n });\n // Store fake transaction\n this.submittedTxs.set(resp.safeTxHash, {\n from: this.safe.safeAddress,\n hash: resp.safeTxHash,\n gas: 0,\n gasPrice: '0x00',\n nonce: 0,\n input: tx.data,\n value: tx.value,\n to: tx.to,\n blockHash: null,\n blockNumber: null,\n transactionIndex: null,\n });\n return resp.safeTxHash;\n case 'eth_blockNumber':\n const block = await this.sdk.eth.getBlockByNumber(['latest']);\n return block.number;\n case 'eth_getBalance':\n return this.sdk.eth.getBalance([(0, utils_1.getLowerCase)(params[0]), params[1]]);\n case 'eth_getCode':\n return this.sdk.eth.getCode([(0, utils_1.getLowerCase)(params[0]), params[1]]);\n case 'eth_getTransactionCount':\n return this.sdk.eth.getTransactionCount([(0, utils_1.getLowerCase)(params[0]), params[1]]);\n case 'eth_getStorageAt':\n return this.sdk.eth.getStorageAt([(0, utils_1.getLowerCase)(params[0]), params[1], params[2]]);\n case 'eth_getBlockByNumber':\n return this.sdk.eth.getBlockByNumber([params[0], params[1]]);\n case 'eth_getBlockByHash':\n return this.sdk.eth.getBlockByHash([params[0], params[1]]);\n case 'eth_getTransactionByHash':\n let txHash = params[0];\n try {\n const resp = await this.sdk.txs.getBySafeTxHash(txHash);\n txHash = resp.txHash || txHash;\n }\n catch (e) { }\n // Use fake transaction if we don't have a real tx hash\n if (this.submittedTxs.has(txHash)) {\n return this.submittedTxs.get(txHash);\n }\n return this.sdk.eth.getTransactionByHash([txHash]).then((tx) => {\n // We set the tx hash to the one requested, as some provider assert this\n if (tx) {\n tx.hash = params[0];\n }\n return tx;\n });\n case 'eth_getTransactionReceipt': {\n let txHash = params[0];\n try {\n const resp = await this.sdk.txs.getBySafeTxHash(txHash);\n txHash = resp.txHash || txHash;\n }\n catch (e) { }\n return this.sdk.eth.getTransactionReceipt([txHash]).then((tx) => {\n // We set the tx hash to the one requested, as some provider assert this\n if (tx) {\n tx.transactionHash = params[0];\n }\n return tx;\n });\n }\n case 'eth_estimateGas': {\n return this.sdk.eth.getEstimateGas(params[0]);\n }\n case 'eth_call': {\n return this.sdk.eth.call([params[0], params[1]]);\n }\n case 'eth_getLogs':\n return this.sdk.eth.getPastLogs([params[0]]);\n case 'eth_gasPrice':\n return this.sdk.eth.getGasPrice();\n case 'wallet_getPermissions':\n return this.sdk.wallet.getPermissions();\n case 'wallet_requestPermissions':\n return this.sdk.wallet.requestPermissions(params[0]);\n case 'safe_setSettings':\n return this.sdk.eth.setSafeSettings([params[0]]);\n default:\n throw Error(`\"${request.method}\" not implemented`);\n }\n }\n // this method is needed for ethers v4\n // https://github.com/ethers-io/ethers.js/blob/427e16826eb15d52d25c4f01027f8db22b74b76c/src.ts/providers/web3-provider.ts#L41-L55\n send(request, callback) {\n if (!request)\n callback('Undefined request');\n this.request(request)\n .then((result) => callback(null, { jsonrpc: '2.0', id: request.id, result }))\n .catch((error) => callback(error, null));\n }\n}\nexports.SafeAppProvider = SafeAppProvider;\n//# sourceMappingURL=provider.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1wcm92aWRlci9kaXN0L3Byb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2QixpQkFBaUIsbUJBQU8sQ0FBQywrQ0FBUTtBQUNqQyxnQkFBZ0IsbUJBQU8sQ0FBQyw2RUFBUztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsdUJBQXVCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHNCQUFzQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDBCQUEwQjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsd0JBQXdCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsbUJBQW1CO0FBQ2pELGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGVBQWU7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQyx3Q0FBd0M7QUFDdkY7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXByb3ZpZGVyL2Rpc3QvcHJvdmlkZXIuanM/ZDE3MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU2FmZUFwcFByb3ZpZGVyID0gdm9pZCAwO1xuY29uc3QgZXZlbnRzXzEgPSByZXF1aXJlKFwiZXZlbnRzXCIpO1xuY29uc3QgdXRpbHNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuLy8gVGhlIEFQSSBpcyBiYXNlZCBvbiBFdGhlcmV1bSBKYXZhU2NyaXB0IEFQSSBQcm92aWRlciBTdGFuZGFyZC4gTGluazogaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTkzXG5jbGFzcyBTYWZlQXBwUHJvdmlkZXIgZXh0ZW5kcyBldmVudHNfMS5FdmVudEVtaXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHNhZmUsIHNkaykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZFR4cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5zYWZlID0gc2FmZTtcbiAgICAgICAgdGhpcy5zZGsgPSBzZGs7XG4gICAgfVxuICAgIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgICAgIHRoaXMuZW1pdCgnY29ubmVjdCcsIHsgY2hhaW5JZDogdGhpcy5jaGFpbklkIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGFzeW5jIGRpc2Nvbm5lY3QoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZ2V0IGNoYWluSWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmUuY2hhaW5JZDtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBhc3luYyByZXF1ZXN0KHJlcXVlc3QpIHtcbiAgICAgICAgY29uc3QgeyBtZXRob2QsIHBhcmFtcyA9IFtdIH0gPSByZXF1ZXN0O1xuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgICAgY2FzZSAnZXRoX2FjY291bnRzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW3RoaXMuc2FmZS5zYWZlQWRkcmVzc107XG4gICAgICAgICAgICBjYXNlICduZXRfdmVyc2lvbic6XG4gICAgICAgICAgICBjYXNlICdldGhfY2hhaW5JZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAweCR7dGhpcy5jaGFpbklkLnRvU3RyaW5nKDE2KX1gO1xuICAgICAgICAgICAgY2FzZSAncGVyc29uYWxfc2lnbic6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBbbWVzc2FnZSwgYWRkcmVzc10gPSBwYXJhbXM7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2FmZS5zYWZlQWRkcmVzcy50b0xvd2VyQ2FzZSgpICE9PSBhZGRyZXNzLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYWRkcmVzcyBvciBtZXNzYWdlIGhhc2ggaXMgaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2RrLnR4cy5zaWduTWVzc2FnZShtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzaWduYXR1cmUgPSAnc2lnbmF0dXJlJyBpbiByZXNwb25zZSA/IHJlc3BvbnNlLnNpZ25hdHVyZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2lnbmF0dXJlIHx8ICcweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdldGhfc2lnbic6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBbYWRkcmVzcywgbWVzc2FnZUhhc2hdID0gcGFyYW1zO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNhZmUuc2FmZUFkZHJlc3MudG9Mb3dlckNhc2UoKSAhPT0gYWRkcmVzcy50b0xvd2VyQ2FzZSgpIHx8ICFtZXNzYWdlSGFzaC5zdGFydHNXaXRoKCcweCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFkZHJlc3Mgb3IgbWVzc2FnZSBoYXNoIGlzIGludmFsaWQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNkay50eHMuc2lnbk1lc3NhZ2UobWVzc2FnZUhhc2gpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNpZ25hdHVyZSA9ICdzaWduYXR1cmUnIGluIHJlc3BvbnNlID8gcmVzcG9uc2Uuc2lnbmF0dXJlIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHJldHVybiBzaWduYXR1cmUgfHwgJzB4JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2V0aF9zaWduVHlwZWREYXRhJzpcbiAgICAgICAgICAgIGNhc2UgJ2V0aF9zaWduVHlwZWREYXRhX3Y0Jzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IFthZGRyZXNzLCB0eXBlZERhdGFdID0gcGFyYW1zO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZFR5cGVkRGF0YSA9IHR5cGVvZiB0eXBlZERhdGEgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZSh0eXBlZERhdGEpIDogdHlwZWREYXRhO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNhZmUuc2FmZUFkZHJlc3MudG9Mb3dlckNhc2UoKSAhPT0gYWRkcmVzcy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFkZHJlc3MgaXMgaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2RrLnR4cy5zaWduVHlwZWRNZXNzYWdlKHBhcnNlZFR5cGVkRGF0YSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2lnbmF0dXJlID0gJ3NpZ25hdHVyZScgaW4gcmVzcG9uc2UgPyByZXNwb25zZS5zaWduYXR1cmUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ25hdHVyZSB8fCAnMHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZXRoX3NlbmRUcmFuc2FjdGlvbic6XG4gICAgICAgICAgICAgICAgY29uc3QgdHggPSBPYmplY3QuYXNzaWduKHsgdmFsdWU6ICcwJywgZGF0YTogJzB4JyB9LCBwYXJhbXNbMF0pO1xuICAgICAgICAgICAgICAgIC8vIFNvbWUgZXRoZXJldW0gbGlicmFyaWVzIG1pZ2h0IHBhc3MgdGhlIGdhcyBhcyBhIGhleC1lbmNvZGVkIHN0cmluZ1xuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gY29udmVydCBpdCB0byBhIG51bWJlciBiZWNhdXNlIHRoZSBTREsgZXhwZWN0cyBhIG51bWJlciBhbmQgb3VyIGJhY2tlbmQgb25seSBzdXBwb3J0c1xuICAgICAgICAgICAgICAgIC8vIERlY2ltYWwgbnVtYmVyc1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdHguZ2FzID09PSAnc3RyaW5nJyAmJiB0eC5nYXMuc3RhcnRzV2l0aCgnMHgnKSkge1xuICAgICAgICAgICAgICAgICAgICB0eC5nYXMgPSBwYXJzZUludCh0eC5nYXMsIDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHRoaXMuc2RrLnR4cy5zZW5kKHtcbiAgICAgICAgICAgICAgICAgICAgdHhzOiBbdHhdLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgc2FmZVR4R2FzOiB0eC5nYXMgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyBTdG9yZSBmYWtlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWRUeHMuc2V0KHJlc3Auc2FmZVR4SGFzaCwge1xuICAgICAgICAgICAgICAgICAgICBmcm9tOiB0aGlzLnNhZmUuc2FmZUFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgIGhhc2g6IHJlc3Auc2FmZVR4SGFzaCxcbiAgICAgICAgICAgICAgICAgICAgZ2FzOiAwLFxuICAgICAgICAgICAgICAgICAgICBnYXNQcmljZTogJzB4MDAnLFxuICAgICAgICAgICAgICAgICAgICBub25jZTogMCxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHR4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0eC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdG86IHR4LnRvLFxuICAgICAgICAgICAgICAgICAgICBibG9ja0hhc2g6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrTnVtYmVyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkluZGV4OiBudWxsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwLnNhZmVUeEhhc2g7XG4gICAgICAgICAgICBjYXNlICdldGhfYmxvY2tOdW1iZXInOlxuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgdGhpcy5zZGsuZXRoLmdldEJsb2NrQnlOdW1iZXIoWydsYXRlc3QnXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrLm51bWJlcjtcbiAgICAgICAgICAgIGNhc2UgJ2V0aF9nZXRCYWxhbmNlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZGsuZXRoLmdldEJhbGFuY2UoWygwLCB1dGlsc18xLmdldExvd2VyQ2FzZSkocGFyYW1zWzBdKSwgcGFyYW1zWzFdXSk7XG4gICAgICAgICAgICBjYXNlICdldGhfZ2V0Q29kZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2RrLmV0aC5nZXRDb2RlKFsoMCwgdXRpbHNfMS5nZXRMb3dlckNhc2UpKHBhcmFtc1swXSksIHBhcmFtc1sxXV0pO1xuICAgICAgICAgICAgY2FzZSAnZXRoX2dldFRyYW5zYWN0aW9uQ291bnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNkay5ldGguZ2V0VHJhbnNhY3Rpb25Db3VudChbKDAsIHV0aWxzXzEuZ2V0TG93ZXJDYXNlKShwYXJhbXNbMF0pLCBwYXJhbXNbMV1dKTtcbiAgICAgICAgICAgIGNhc2UgJ2V0aF9nZXRTdG9yYWdlQXQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNkay5ldGguZ2V0U3RvcmFnZUF0KFsoMCwgdXRpbHNfMS5nZXRMb3dlckNhc2UpKHBhcmFtc1swXSksIHBhcmFtc1sxXSwgcGFyYW1zWzJdXSk7XG4gICAgICAgICAgICBjYXNlICdldGhfZ2V0QmxvY2tCeU51bWJlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2RrLmV0aC5nZXRCbG9ja0J5TnVtYmVyKFtwYXJhbXNbMF0sIHBhcmFtc1sxXV0pO1xuICAgICAgICAgICAgY2FzZSAnZXRoX2dldEJsb2NrQnlIYXNoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZGsuZXRoLmdldEJsb2NrQnlIYXNoKFtwYXJhbXNbMF0sIHBhcmFtc1sxXV0pO1xuICAgICAgICAgICAgY2FzZSAnZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoJzpcbiAgICAgICAgICAgICAgICBsZXQgdHhIYXNoID0gcGFyYW1zWzBdO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCB0aGlzLnNkay50eHMuZ2V0QnlTYWZlVHhIYXNoKHR4SGFzaCk7XG4gICAgICAgICAgICAgICAgICAgIHR4SGFzaCA9IHJlc3AudHhIYXNoIHx8IHR4SGFzaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHsgfVxuICAgICAgICAgICAgICAgIC8vIFVzZSBmYWtlIHRyYW5zYWN0aW9uIGlmIHdlIGRvbid0IGhhdmUgYSByZWFsIHR4IGhhc2hcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdWJtaXR0ZWRUeHMuaGFzKHR4SGFzaCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VibWl0dGVkVHhzLmdldCh0eEhhc2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZGsuZXRoLmdldFRyYW5zYWN0aW9uQnlIYXNoKFt0eEhhc2hdKS50aGVuKCh0eCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBzZXQgdGhlIHR4IGhhc2ggdG8gdGhlIG9uZSByZXF1ZXN0ZWQsIGFzIHNvbWUgcHJvdmlkZXIgYXNzZXJ0IHRoaXNcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eC5oYXNoID0gcGFyYW1zWzBdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0eDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNhc2UgJ2V0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQnOiB7XG4gICAgICAgICAgICAgICAgbGV0IHR4SGFzaCA9IHBhcmFtc1swXTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgdGhpcy5zZGsudHhzLmdldEJ5U2FmZVR4SGFzaCh0eEhhc2gpO1xuICAgICAgICAgICAgICAgICAgICB0eEhhc2ggPSByZXNwLnR4SGFzaCB8fCB0eEhhc2g7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7IH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZGsuZXRoLmdldFRyYW5zYWN0aW9uUmVjZWlwdChbdHhIYXNoXSkudGhlbigodHgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2Ugc2V0IHRoZSB0eCBoYXNoIHRvIHRoZSBvbmUgcmVxdWVzdGVkLCBhcyBzb21lIHByb3ZpZGVyIGFzc2VydCB0aGlzXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHgudHJhbnNhY3Rpb25IYXNoID0gcGFyYW1zWzBdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0eDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2V0aF9lc3RpbWF0ZUdhcyc6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZGsuZXRoLmdldEVzdGltYXRlR2FzKHBhcmFtc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdldGhfY2FsbCc6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZGsuZXRoLmNhbGwoW3BhcmFtc1swXSwgcGFyYW1zWzFdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdldGhfZ2V0TG9ncyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2RrLmV0aC5nZXRQYXN0TG9ncyhbcGFyYW1zWzBdXSk7XG4gICAgICAgICAgICBjYXNlICdldGhfZ2FzUHJpY2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNkay5ldGguZ2V0R2FzUHJpY2UoKTtcbiAgICAgICAgICAgIGNhc2UgJ3dhbGxldF9nZXRQZXJtaXNzaW9ucyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2RrLndhbGxldC5nZXRQZXJtaXNzaW9ucygpO1xuICAgICAgICAgICAgY2FzZSAnd2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9ucyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2RrLndhbGxldC5yZXF1ZXN0UGVybWlzc2lvbnMocGFyYW1zWzBdKTtcbiAgICAgICAgICAgIGNhc2UgJ3NhZmVfc2V0U2V0dGluZ3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNkay5ldGguc2V0U2FmZVNldHRpbmdzKFtwYXJhbXNbMF1dKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFwiJHtyZXF1ZXN0Lm1ldGhvZH1cIiBub3QgaW1wbGVtZW50ZWRgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB0aGlzIG1ldGhvZCBpcyBuZWVkZWQgZm9yIGV0aGVycyB2NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcnMtaW8vZXRoZXJzLmpzL2Jsb2IvNDI3ZTE2ODI2ZWIxNWQ1MmQyNWM0ZjAxMDI3ZjhkYjIyYjc0Yjc2Yy9zcmMudHMvcHJvdmlkZXJzL3dlYjMtcHJvdmlkZXIudHMjTDQxLUw1NVxuICAgIHNlbmQocmVxdWVzdCwgY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKCFyZXF1ZXN0KVxuICAgICAgICAgICAgY2FsbGJhY2soJ1VuZGVmaW5lZCByZXF1ZXN0Jyk7XG4gICAgICAgIHRoaXMucmVxdWVzdChyZXF1ZXN0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4gY2FsbGJhY2sobnVsbCwgeyBqc29ucnBjOiAnMi4wJywgaWQ6IHJlcXVlc3QuaWQsIHJlc3VsdCB9KSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGNhbGxiYWNrKGVycm9yLCBudWxsKSk7XG4gICAgfVxufVxuZXhwb3J0cy5TYWZlQXBwUHJvdmlkZXIgPSBTYWZlQXBwUHJvdmlkZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm92aWRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-provider/dist/provider.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-provider/dist/utils.js": -/*!********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-provider/dist/utils.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getLowerCase = void 0;\nfunction getLowerCase(value) {\n if (value) {\n return value.toLowerCase();\n }\n return value;\n}\nexports.getLowerCase = getLowerCase;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1wcm92aWRlci9kaXN0L3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWFwcHMtcHJvdmlkZXIvZGlzdC91dGlscy5qcz8zODBkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRMb3dlckNhc2UgPSB2b2lkIDA7XG5mdW5jdGlvbiBnZXRMb3dlckNhc2UodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn1cbmV4cG9ydHMuZ2V0TG93ZXJDYXNlID0gZ2V0TG93ZXJDYXNlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-provider/dist/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/index.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst messageFormatter_1 = __webpack_require__(/*! ./messageFormatter */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/messageFormatter.js\");\nclass PostMessageCommunicator {\n constructor(allowedOrigins = null, debugMode = false) {\n this.allowedOrigins = null;\n this.callbacks = new Map();\n this.debugMode = false;\n this.isServer = typeof window === 'undefined';\n this.isValidMessage = ({ origin, data, source }) => {\n const emptyOrMalformed = !data;\n const sentFromParentEl = !this.isServer && source === window.parent;\n const majorVersionNumber = typeof data.version !== 'undefined' && parseInt(data.version.split('.')[0]);\n const allowedSDKVersion = majorVersionNumber >= 1;\n let validOrigin = true;\n if (Array.isArray(this.allowedOrigins)) {\n validOrigin = this.allowedOrigins.find((regExp) => regExp.test(origin)) !== undefined;\n }\n return !emptyOrMalformed && sentFromParentEl && allowedSDKVersion && validOrigin;\n };\n this.logIncomingMessage = (msg) => {\n console.info(`Safe Apps SDK v1: A message was received from origin ${msg.origin}. `, msg.data);\n };\n this.onParentMessage = (msg) => {\n if (this.isValidMessage(msg)) {\n this.debugMode && this.logIncomingMessage(msg);\n this.handleIncomingMessage(msg.data);\n }\n };\n this.handleIncomingMessage = (payload) => {\n const { id } = payload;\n const cb = this.callbacks.get(id);\n if (cb) {\n cb(payload);\n this.callbacks.delete(id);\n }\n };\n this.send = (method, params) => {\n const request = messageFormatter_1.MessageFormatter.makeRequest(method, params);\n if (this.isServer) {\n throw new Error(\"Window doesn't exist\");\n }\n window.parent.postMessage(request, '*');\n return new Promise((resolve, reject) => {\n this.callbacks.set(request.id, (response) => {\n if (!response.success) {\n reject(new Error(response.error));\n return;\n }\n resolve(response);\n });\n });\n };\n this.allowedOrigins = allowedOrigins;\n this.debugMode = debugMode;\n if (!this.isServer) {\n window.addEventListener('message', this.onParentMessage);\n }\n }\n}\nexports[\"default\"] = PostMessageCommunicator;\n__exportStar(__webpack_require__(/*! ./methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvY29tbXVuaWNhdGlvbi9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxvQ0FBb0M7QUFDbkQ7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkIsbUJBQU8sQ0FBQyxnSEFBb0I7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLHNCQUFzQjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUZBQWlGLFdBQVc7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixLQUFLO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWU7QUFDZixhQUFhLG1CQUFPLENBQUMsOEZBQVc7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWFwcHMtc2RrL2Rpc3Qvc3JjL2NvbW11bmljYXRpb24vaW5kZXguanM/Y2E5OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2NyZWF0ZUJpbmRpbmcgPSAodGhpcyAmJiB0aGlzLl9fY3JlYXRlQmluZGluZykgfHwgKE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xuICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcbiAgICBpZiAoIWRlc2MgfHwgKFwiZ2V0XCIgaW4gZGVzYyA/ICFtLl9fZXNNb2R1bGUgOiBkZXNjLndyaXRhYmxlIHx8IGRlc2MuY29uZmlndXJhYmxlKSkge1xuICAgICAgZGVzYyA9IHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcbiAgICBvW2syXSA9IG1ba107XG59KSk7XG52YXIgX19leHBvcnRTdGFyID0gKHRoaXMgJiYgdGhpcy5fX2V4cG9ydFN0YXIpIHx8IGZ1bmN0aW9uKG0sIGV4cG9ydHMpIHtcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGV4cG9ydHMsIHApKSBfX2NyZWF0ZUJpbmRpbmcoZXhwb3J0cywgbSwgcCk7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgbWVzc2FnZUZvcm1hdHRlcl8xID0gcmVxdWlyZShcIi4vbWVzc2FnZUZvcm1hdHRlclwiKTtcbmNsYXNzIFBvc3RNZXNzYWdlQ29tbXVuaWNhdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihhbGxvd2VkT3JpZ2lucyA9IG51bGwsIGRlYnVnTW9kZSA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuYWxsb3dlZE9yaWdpbnMgPSBudWxsO1xuICAgICAgICB0aGlzLmNhbGxiYWNrcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5kZWJ1Z01vZGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1NlcnZlciA9IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnO1xuICAgICAgICB0aGlzLmlzVmFsaWRNZXNzYWdlID0gKHsgb3JpZ2luLCBkYXRhLCBzb3VyY2UgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZW1wdHlPck1hbGZvcm1lZCA9ICFkYXRhO1xuICAgICAgICAgICAgY29uc3Qgc2VudEZyb21QYXJlbnRFbCA9ICF0aGlzLmlzU2VydmVyICYmIHNvdXJjZSA9PT0gd2luZG93LnBhcmVudDtcbiAgICAgICAgICAgIGNvbnN0IG1ham9yVmVyc2lvbk51bWJlciA9IHR5cGVvZiBkYXRhLnZlcnNpb24gIT09ICd1bmRlZmluZWQnICYmIHBhcnNlSW50KGRhdGEudmVyc2lvbi5zcGxpdCgnLicpWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ZWRTREtWZXJzaW9uID0gbWFqb3JWZXJzaW9uTnVtYmVyID49IDE7XG4gICAgICAgICAgICBsZXQgdmFsaWRPcmlnaW4gPSB0cnVlO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5hbGxvd2VkT3JpZ2lucykpIHtcbiAgICAgICAgICAgICAgICB2YWxpZE9yaWdpbiA9IHRoaXMuYWxsb3dlZE9yaWdpbnMuZmluZCgocmVnRXhwKSA9PiByZWdFeHAudGVzdChvcmlnaW4pKSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICFlbXB0eU9yTWFsZm9ybWVkICYmIHNlbnRGcm9tUGFyZW50RWwgJiYgYWxsb3dlZFNES1ZlcnNpb24gJiYgdmFsaWRPcmlnaW47XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubG9nSW5jb21pbmdNZXNzYWdlID0gKG1zZykgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKGBTYWZlIEFwcHMgU0RLIHYxOiBBIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIGZyb20gb3JpZ2luICR7bXNnLm9yaWdpbn0uIGAsIG1zZy5kYXRhKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5vblBhcmVudE1lc3NhZ2UgPSAobXNnKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkTWVzc2FnZShtc2cpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z01vZGUgJiYgdGhpcy5sb2dJbmNvbWluZ01lc3NhZ2UobXNnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUluY29taW5nTWVzc2FnZShtc2cuZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlID0gKHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaWQgfSA9IHBheWxvYWQ7XG4gICAgICAgICAgICBjb25zdCBjYiA9IHRoaXMuY2FsbGJhY2tzLmdldChpZCk7XG4gICAgICAgICAgICBpZiAoY2IpIHtcbiAgICAgICAgICAgICAgICBjYihwYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrcy5kZWxldGUoaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNlbmQgPSAobWV0aG9kLCBwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBtZXNzYWdlRm9ybWF0dGVyXzEuTWVzc2FnZUZvcm1hdHRlci5tYWtlUmVxdWVzdChtZXRob2QsIHBhcmFtcyk7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NlcnZlcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIldpbmRvdyBkb2Vzbid0IGV4aXN0XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShyZXF1ZXN0LCAnKicpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrcy5zZXQocmVxdWVzdC5pZCwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYWxsb3dlZE9yaWdpbnMgPSBhbGxvd2VkT3JpZ2lucztcbiAgICAgICAgdGhpcy5kZWJ1Z01vZGUgPSBkZWJ1Z01vZGU7XG4gICAgICAgIGlmICghdGhpcy5pc1NlcnZlcikge1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLm9uUGFyZW50TWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnRzLmRlZmF1bHQgPSBQb3N0TWVzc2FnZUNvbW11bmljYXRvcjtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9tZXRob2RzXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/messageFormatter.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/messageFormatter.js ***! - \********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageFormatter = void 0;\nconst utils_1 = __webpack_require__(/*! ../utils */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/utils.js\");\nconst utils_2 = __webpack_require__(/*! ./utils */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/utils.js\");\nclass MessageFormatter {\n}\nexports.MessageFormatter = MessageFormatter;\nMessageFormatter.makeRequest = (method, params) => {\n const id = (0, utils_2.generateRequestId)();\n return {\n id,\n method,\n params,\n env: {\n sdkVersion: (0, utils_1.getSDKVersion)(),\n },\n };\n};\nMessageFormatter.makeResponse = (id, data, version) => ({\n id,\n success: true,\n version,\n data,\n});\nMessageFormatter.makeErrorResponse = (id, error, version) => ({\n id,\n success: false,\n error,\n version,\n});\n//# sourceMappingURL=messageFormatter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvY29tbXVuaWNhdGlvbi9tZXNzYWdlRm9ybWF0dGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QixnQkFBZ0IsbUJBQU8sQ0FBQyw2RUFBVTtBQUNsQyxnQkFBZ0IsbUJBQU8sQ0FBQywwRkFBUztBQUNqQztBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvY29tbXVuaWNhdGlvbi9tZXNzYWdlRm9ybWF0dGVyLmpzPzk0ZjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLk1lc3NhZ2VGb3JtYXR0ZXIgPSB2b2lkIDA7XG5jb25zdCB1dGlsc18xID0gcmVxdWlyZShcIi4uL3V0aWxzXCIpO1xuY29uc3QgdXRpbHNfMiA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuY2xhc3MgTWVzc2FnZUZvcm1hdHRlciB7XG59XG5leHBvcnRzLk1lc3NhZ2VGb3JtYXR0ZXIgPSBNZXNzYWdlRm9ybWF0dGVyO1xuTWVzc2FnZUZvcm1hdHRlci5tYWtlUmVxdWVzdCA9IChtZXRob2QsIHBhcmFtcykgPT4ge1xuICAgIGNvbnN0IGlkID0gKDAsIHV0aWxzXzIuZ2VuZXJhdGVSZXF1ZXN0SWQpKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQsXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIHNka1ZlcnNpb246ICgwLCB1dGlsc18xLmdldFNES1ZlcnNpb24pKCksXG4gICAgICAgIH0sXG4gICAgfTtcbn07XG5NZXNzYWdlRm9ybWF0dGVyLm1ha2VSZXNwb25zZSA9IChpZCwgZGF0YSwgdmVyc2lvbikgPT4gKHtcbiAgICBpZCxcbiAgICBzdWNjZXNzOiB0cnVlLFxuICAgIHZlcnNpb24sXG4gICAgZGF0YSxcbn0pO1xuTWVzc2FnZUZvcm1hdHRlci5tYWtlRXJyb3JSZXNwb25zZSA9IChpZCwgZXJyb3IsIHZlcnNpb24pID0+ICh7XG4gICAgaWQsXG4gICAgc3VjY2VzczogZmFsc2UsXG4gICAgZXJyb3IsXG4gICAgdmVyc2lvbixcbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZUZvcm1hdHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/messageFormatter.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RestrictedMethods = exports.Methods = void 0;\nvar Methods;\n(function (Methods) {\n Methods[\"sendTransactions\"] = \"sendTransactions\";\n Methods[\"rpcCall\"] = \"rpcCall\";\n Methods[\"getChainInfo\"] = \"getChainInfo\";\n Methods[\"getSafeInfo\"] = \"getSafeInfo\";\n Methods[\"getTxBySafeTxHash\"] = \"getTxBySafeTxHash\";\n Methods[\"getSafeBalances\"] = \"getSafeBalances\";\n Methods[\"signMessage\"] = \"signMessage\";\n Methods[\"signTypedMessage\"] = \"signTypedMessage\";\n Methods[\"getEnvironmentInfo\"] = \"getEnvironmentInfo\";\n Methods[\"getOffChainSignature\"] = \"getOffChainSignature\";\n Methods[\"requestAddressBook\"] = \"requestAddressBook\";\n Methods[\"wallet_getPermissions\"] = \"wallet_getPermissions\";\n Methods[\"wallet_requestPermissions\"] = \"wallet_requestPermissions\";\n})(Methods = exports.Methods || (exports.Methods = {}));\nvar RestrictedMethods;\n(function (RestrictedMethods) {\n RestrictedMethods[\"requestAddressBook\"] = \"requestAddressBook\";\n})(RestrictedMethods = exports.RestrictedMethods || (exports.RestrictedMethods = {}));\n//# sourceMappingURL=methods.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvY29tbXVuaWNhdGlvbi9tZXRob2RzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHlCQUF5QixHQUFHLGVBQWU7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxnQ0FBZ0MsZUFBZSxLQUFLO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLENBQUMsb0RBQW9ELHlCQUF5QixLQUFLO0FBQ25GIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy9jb21tdW5pY2F0aW9uL21ldGhvZHMuanM/MmQzMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUmVzdHJpY3RlZE1ldGhvZHMgPSBleHBvcnRzLk1ldGhvZHMgPSB2b2lkIDA7XG52YXIgTWV0aG9kcztcbihmdW5jdGlvbiAoTWV0aG9kcykge1xuICAgIE1ldGhvZHNbXCJzZW5kVHJhbnNhY3Rpb25zXCJdID0gXCJzZW5kVHJhbnNhY3Rpb25zXCI7XG4gICAgTWV0aG9kc1tcInJwY0NhbGxcIl0gPSBcInJwY0NhbGxcIjtcbiAgICBNZXRob2RzW1wiZ2V0Q2hhaW5JbmZvXCJdID0gXCJnZXRDaGFpbkluZm9cIjtcbiAgICBNZXRob2RzW1wiZ2V0U2FmZUluZm9cIl0gPSBcImdldFNhZmVJbmZvXCI7XG4gICAgTWV0aG9kc1tcImdldFR4QnlTYWZlVHhIYXNoXCJdID0gXCJnZXRUeEJ5U2FmZVR4SGFzaFwiO1xuICAgIE1ldGhvZHNbXCJnZXRTYWZlQmFsYW5jZXNcIl0gPSBcImdldFNhZmVCYWxhbmNlc1wiO1xuICAgIE1ldGhvZHNbXCJzaWduTWVzc2FnZVwiXSA9IFwic2lnbk1lc3NhZ2VcIjtcbiAgICBNZXRob2RzW1wic2lnblR5cGVkTWVzc2FnZVwiXSA9IFwic2lnblR5cGVkTWVzc2FnZVwiO1xuICAgIE1ldGhvZHNbXCJnZXRFbnZpcm9ubWVudEluZm9cIl0gPSBcImdldEVudmlyb25tZW50SW5mb1wiO1xuICAgIE1ldGhvZHNbXCJnZXRPZmZDaGFpblNpZ25hdHVyZVwiXSA9IFwiZ2V0T2ZmQ2hhaW5TaWduYXR1cmVcIjtcbiAgICBNZXRob2RzW1wicmVxdWVzdEFkZHJlc3NCb29rXCJdID0gXCJyZXF1ZXN0QWRkcmVzc0Jvb2tcIjtcbiAgICBNZXRob2RzW1wid2FsbGV0X2dldFBlcm1pc3Npb25zXCJdID0gXCJ3YWxsZXRfZ2V0UGVybWlzc2lvbnNcIjtcbiAgICBNZXRob2RzW1wid2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9uc1wiXSA9IFwid2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9uc1wiO1xufSkoTWV0aG9kcyA9IGV4cG9ydHMuTWV0aG9kcyB8fCAoZXhwb3J0cy5NZXRob2RzID0ge30pKTtcbnZhciBSZXN0cmljdGVkTWV0aG9kcztcbihmdW5jdGlvbiAoUmVzdHJpY3RlZE1ldGhvZHMpIHtcbiAgICBSZXN0cmljdGVkTWV0aG9kc1tcInJlcXVlc3RBZGRyZXNzQm9va1wiXSA9IFwicmVxdWVzdEFkZHJlc3NCb29rXCI7XG59KShSZXN0cmljdGVkTWV0aG9kcyA9IGV4cG9ydHMuUmVzdHJpY3RlZE1ldGhvZHMgfHwgKGV4cG9ydHMuUmVzdHJpY3RlZE1ldGhvZHMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWV0aG9kcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/utils.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/utils.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.generateRequestId = void 0;\n// i.e. 0-255 -> '00'-'ff'\nconst dec2hex = (dec) => dec.toString(16).padStart(2, '0');\nconst generateId = (len) => {\n const arr = new Uint8Array((len || 40) / 2);\n window.crypto.getRandomValues(arr);\n return Array.from(arr, dec2hex).join('');\n};\nconst generateRequestId = () => {\n if (typeof window !== 'undefined') {\n return generateId(10);\n }\n return new Date().getTime().toString(36);\n};\nexports.generateRequestId = generateRequestId;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvY29tbXVuaWNhdGlvbi91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWFwcHMtc2RrL2Rpc3Qvc3JjL2NvbW11bmljYXRpb24vdXRpbHMuanM/OWQ2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2VuZXJhdGVSZXF1ZXN0SWQgPSB2b2lkIDA7XG4vLyBpLmUuIDAtMjU1IC0+ICcwMCctJ2ZmJ1xuY29uc3QgZGVjMmhleCA9IChkZWMpID0+IGRlYy50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKTtcbmNvbnN0IGdlbmVyYXRlSWQgPSAobGVuKSA9PiB7XG4gICAgY29uc3QgYXJyID0gbmV3IFVpbnQ4QXJyYXkoKGxlbiB8fCA0MCkgLyAyKTtcbiAgICB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnIpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGFyciwgZGVjMmhleCkuam9pbignJyk7XG59O1xuY29uc3QgZ2VuZXJhdGVSZXF1ZXN0SWQgPSAoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBnZW5lcmF0ZUlkKDEwKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpLnRvU3RyaW5nKDM2KTtcbn07XG5leHBvcnRzLmdlbmVyYXRlUmVxdWVzdElkID0gZ2VuZXJhdGVSZXF1ZXN0SWQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/decorators/requirePermissions.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/decorators/requirePermissions.js ***! - \*******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst wallet_1 = __webpack_require__(/*! ../wallet */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/wallet/index.js\");\nconst permissions_1 = __webpack_require__(/*! ../types/permissions */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/permissions.js\");\nconst hasPermission = (required, permissions) => permissions.some((permission) => permission.parentCapability === required);\nconst requirePermission = () => (_, propertyKey, descriptor) => {\n const originalMethod = descriptor.value;\n descriptor.value = async function () {\n // @ts-expect-error accessing private property from decorator. 'this' context is the class instance\n const wallet = new wallet_1.Wallet(this.communicator);\n let currentPermissions = await wallet.getPermissions();\n if (!hasPermission(propertyKey, currentPermissions)) {\n currentPermissions = await wallet.requestPermissions([{ [propertyKey]: {} }]);\n }\n if (!hasPermission(propertyKey, currentPermissions)) {\n throw new permissions_1.PermissionsError('Permissions rejected', permissions_1.PERMISSIONS_REQUEST_REJECTED);\n }\n return originalMethod.apply(this);\n };\n return descriptor;\n};\nexports[\"default\"] = requirePermission;\n//# sourceMappingURL=requirePermissions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvZGVjb3JhdG9ycy9yZXF1aXJlUGVybWlzc2lvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCLG1CQUFPLENBQUMscUZBQVc7QUFDcEMsc0JBQXNCLG1CQUFPLENBQUMscUdBQXNCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0UsbUJBQW1CO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy9kZWNvcmF0b3JzL3JlcXVpcmVQZXJtaXNzaW9ucy5qcz8wMTdjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3Qgd2FsbGV0XzEgPSByZXF1aXJlKFwiLi4vd2FsbGV0XCIpO1xuY29uc3QgcGVybWlzc2lvbnNfMSA9IHJlcXVpcmUoXCIuLi90eXBlcy9wZXJtaXNzaW9uc1wiKTtcbmNvbnN0IGhhc1Blcm1pc3Npb24gPSAocmVxdWlyZWQsIHBlcm1pc3Npb25zKSA9PiBwZXJtaXNzaW9ucy5zb21lKChwZXJtaXNzaW9uKSA9PiBwZXJtaXNzaW9uLnBhcmVudENhcGFiaWxpdHkgPT09IHJlcXVpcmVkKTtcbmNvbnN0IHJlcXVpcmVQZXJtaXNzaW9uID0gKCkgPT4gKF8sIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYWNjZXNzaW5nIHByaXZhdGUgcHJvcGVydHkgZnJvbSBkZWNvcmF0b3IuICd0aGlzJyBjb250ZXh0IGlzIHRoZSBjbGFzcyBpbnN0YW5jZVxuICAgICAgICBjb25zdCB3YWxsZXQgPSBuZXcgd2FsbGV0XzEuV2FsbGV0KHRoaXMuY29tbXVuaWNhdG9yKTtcbiAgICAgICAgbGV0IGN1cnJlbnRQZXJtaXNzaW9ucyA9IGF3YWl0IHdhbGxldC5nZXRQZXJtaXNzaW9ucygpO1xuICAgICAgICBpZiAoIWhhc1Blcm1pc3Npb24ocHJvcGVydHlLZXksIGN1cnJlbnRQZXJtaXNzaW9ucykpIHtcbiAgICAgICAgICAgIGN1cnJlbnRQZXJtaXNzaW9ucyA9IGF3YWl0IHdhbGxldC5yZXF1ZXN0UGVybWlzc2lvbnMoW3sgW3Byb3BlcnR5S2V5XToge30gfV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaGFzUGVybWlzc2lvbihwcm9wZXJ0eUtleSwgY3VycmVudFBlcm1pc3Npb25zKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IHBlcm1pc3Npb25zXzEuUGVybWlzc2lvbnNFcnJvcignUGVybWlzc2lvbnMgcmVqZWN0ZWQnLCBwZXJtaXNzaW9uc18xLlBFUk1JU1NJT05TX1JFUVVFU1RfUkVKRUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzKTtcbiAgICB9O1xuICAgIHJldHVybiBkZXNjcmlwdG9yO1xufTtcbmV4cG9ydHMuZGVmYXVsdCA9IHJlcXVpcmVQZXJtaXNzaW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWlyZVBlcm1pc3Npb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/decorators/requirePermissions.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/constants.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/constants.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RPC_CALLS = void 0;\nexports.RPC_CALLS = {\n eth_call: 'eth_call',\n eth_gasPrice: 'eth_gasPrice',\n eth_getLogs: 'eth_getLogs',\n eth_getBalance: 'eth_getBalance',\n eth_getCode: 'eth_getCode',\n eth_getBlockByHash: 'eth_getBlockByHash',\n eth_getBlockByNumber: 'eth_getBlockByNumber',\n eth_getStorageAt: 'eth_getStorageAt',\n eth_getTransactionByHash: 'eth_getTransactionByHash',\n eth_getTransactionReceipt: 'eth_getTransactionReceipt',\n eth_getTransactionCount: 'eth_getTransactionCount',\n eth_estimateGas: 'eth_estimateGas',\n safe_setSettings: 'safe_setSettings',\n};\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvZXRoL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvZXRoL2NvbnN0YW50cy5qcz9hZTYzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5SUENfQ0FMTFMgPSB2b2lkIDA7XG5leHBvcnRzLlJQQ19DQUxMUyA9IHtcbiAgICBldGhfY2FsbDogJ2V0aF9jYWxsJyxcbiAgICBldGhfZ2FzUHJpY2U6ICdldGhfZ2FzUHJpY2UnLFxuICAgIGV0aF9nZXRMb2dzOiAnZXRoX2dldExvZ3MnLFxuICAgIGV0aF9nZXRCYWxhbmNlOiAnZXRoX2dldEJhbGFuY2UnLFxuICAgIGV0aF9nZXRDb2RlOiAnZXRoX2dldENvZGUnLFxuICAgIGV0aF9nZXRCbG9ja0J5SGFzaDogJ2V0aF9nZXRCbG9ja0J5SGFzaCcsXG4gICAgZXRoX2dldEJsb2NrQnlOdW1iZXI6ICdldGhfZ2V0QmxvY2tCeU51bWJlcicsXG4gICAgZXRoX2dldFN0b3JhZ2VBdDogJ2V0aF9nZXRTdG9yYWdlQXQnLFxuICAgIGV0aF9nZXRUcmFuc2FjdGlvbkJ5SGFzaDogJ2V0aF9nZXRUcmFuc2FjdGlvbkJ5SGFzaCcsXG4gICAgZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdDogJ2V0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQnLFxuICAgIGV0aF9nZXRUcmFuc2FjdGlvbkNvdW50OiAnZXRoX2dldFRyYW5zYWN0aW9uQ291bnQnLFxuICAgIGV0aF9lc3RpbWF0ZUdhczogJ2V0aF9lc3RpbWF0ZUdhcycsXG4gICAgc2FmZV9zZXRTZXR0aW5nczogJ3NhZmVfc2V0U2V0dGluZ3MnLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Eth = void 0;\nconst constants_1 = __webpack_require__(/*! ../eth/constants */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/constants.js\");\nconst methods_1 = __webpack_require__(/*! ../communication/methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\");\nconst inputFormatters = {\n defaultBlockParam: (arg = 'latest') => arg,\n returnFullTxObjectParam: (arg = false) => arg,\n blockNumberToHex: (arg) => Number.isInteger(arg) ? `0x${arg.toString(16)}` : arg,\n};\nclass Eth {\n constructor(communicator) {\n this.communicator = communicator;\n this.call = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_call,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getBalance = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getBalance,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getCode = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getCode,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getStorageAt = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getStorageAt,\n formatters: [null, inputFormatters.blockNumberToHex, inputFormatters.defaultBlockParam],\n });\n this.getPastLogs = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getLogs,\n });\n this.getBlockByHash = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getBlockByHash,\n formatters: [null, inputFormatters.returnFullTxObjectParam],\n });\n this.getBlockByNumber = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getBlockByNumber,\n formatters: [inputFormatters.blockNumberToHex, inputFormatters.returnFullTxObjectParam],\n });\n this.getTransactionByHash = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getTransactionByHash,\n });\n this.getTransactionReceipt = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getTransactionReceipt,\n });\n this.getTransactionCount = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_getTransactionCount,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getGasPrice = this.buildRequest({\n call: constants_1.RPC_CALLS.eth_gasPrice,\n });\n this.getEstimateGas = (transaction) => this.buildRequest({\n call: constants_1.RPC_CALLS.eth_estimateGas,\n })([transaction]);\n this.setSafeSettings = this.buildRequest({\n call: constants_1.RPC_CALLS.safe_setSettings,\n });\n }\n buildRequest(args) {\n const { call, formatters } = args;\n return async (params) => {\n if (formatters && Array.isArray(params)) {\n formatters.forEach((formatter, i) => {\n if (formatter) {\n params[i] = formatter(params[i]);\n }\n });\n }\n const payload = {\n call,\n params: params || [],\n };\n const response = await this.communicator.send(methods_1.Methods.rpcCall, payload);\n return response.data;\n };\n }\n}\nexports.Eth = Eth;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvZXRoL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELFdBQVc7QUFDWCxvQkFBb0IsbUJBQU8sQ0FBQyw2RkFBa0I7QUFDOUMsa0JBQWtCLG1CQUFPLENBQUMsNkdBQTBCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLDREQUE0RCxpQkFBaUI7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLGdCQUFnQixtQkFBbUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy9ldGgvaW5kZXguanM/NmMzMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuRXRoID0gdm9pZCAwO1xuY29uc3QgY29uc3RhbnRzXzEgPSByZXF1aXJlKFwiLi4vZXRoL2NvbnN0YW50c1wiKTtcbmNvbnN0IG1ldGhvZHNfMSA9IHJlcXVpcmUoXCIuLi9jb21tdW5pY2F0aW9uL21ldGhvZHNcIik7XG5jb25zdCBpbnB1dEZvcm1hdHRlcnMgPSB7XG4gICAgZGVmYXVsdEJsb2NrUGFyYW06IChhcmcgPSAnbGF0ZXN0JykgPT4gYXJnLFxuICAgIHJldHVybkZ1bGxUeE9iamVjdFBhcmFtOiAoYXJnID0gZmFsc2UpID0+IGFyZyxcbiAgICBibG9ja051bWJlclRvSGV4OiAoYXJnKSA9PiBOdW1iZXIuaXNJbnRlZ2VyKGFyZykgPyBgMHgke2FyZy50b1N0cmluZygxNil9YCA6IGFyZyxcbn07XG5jbGFzcyBFdGgge1xuICAgIGNvbnN0cnVjdG9yKGNvbW11bmljYXRvcikge1xuICAgICAgICB0aGlzLmNvbW11bmljYXRvciA9IGNvbW11bmljYXRvcjtcbiAgICAgICAgdGhpcy5jYWxsID0gdGhpcy5idWlsZFJlcXVlc3Qoe1xuICAgICAgICAgICAgY2FsbDogY29uc3RhbnRzXzEuUlBDX0NBTExTLmV0aF9jYWxsLFxuICAgICAgICAgICAgZm9ybWF0dGVyczogW251bGwsIGlucHV0Rm9ybWF0dGVycy5kZWZhdWx0QmxvY2tQYXJhbV0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldEJhbGFuY2UgPSB0aGlzLmJ1aWxkUmVxdWVzdCh7XG4gICAgICAgICAgICBjYWxsOiBjb25zdGFudHNfMS5SUENfQ0FMTFMuZXRoX2dldEJhbGFuY2UsXG4gICAgICAgICAgICBmb3JtYXR0ZXJzOiBbbnVsbCwgaW5wdXRGb3JtYXR0ZXJzLmRlZmF1bHRCbG9ja1BhcmFtXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0Q29kZSA9IHRoaXMuYnVpbGRSZXF1ZXN0KHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5ldGhfZ2V0Q29kZSxcbiAgICAgICAgICAgIGZvcm1hdHRlcnM6IFtudWxsLCBpbnB1dEZvcm1hdHRlcnMuZGVmYXVsdEJsb2NrUGFyYW1dLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRTdG9yYWdlQXQgPSB0aGlzLmJ1aWxkUmVxdWVzdCh7XG4gICAgICAgICAgICBjYWxsOiBjb25zdGFudHNfMS5SUENfQ0FMTFMuZXRoX2dldFN0b3JhZ2VBdCxcbiAgICAgICAgICAgIGZvcm1hdHRlcnM6IFtudWxsLCBpbnB1dEZvcm1hdHRlcnMuYmxvY2tOdW1iZXJUb0hleCwgaW5wdXRGb3JtYXR0ZXJzLmRlZmF1bHRCbG9ja1BhcmFtXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0UGFzdExvZ3MgPSB0aGlzLmJ1aWxkUmVxdWVzdCh7XG4gICAgICAgICAgICBjYWxsOiBjb25zdGFudHNfMS5SUENfQ0FMTFMuZXRoX2dldExvZ3MsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldEJsb2NrQnlIYXNoID0gdGhpcy5idWlsZFJlcXVlc3Qoe1xuICAgICAgICAgICAgY2FsbDogY29uc3RhbnRzXzEuUlBDX0NBTExTLmV0aF9nZXRCbG9ja0J5SGFzaCxcbiAgICAgICAgICAgIGZvcm1hdHRlcnM6IFtudWxsLCBpbnB1dEZvcm1hdHRlcnMucmV0dXJuRnVsbFR4T2JqZWN0UGFyYW1dLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRCbG9ja0J5TnVtYmVyID0gdGhpcy5idWlsZFJlcXVlc3Qoe1xuICAgICAgICAgICAgY2FsbDogY29uc3RhbnRzXzEuUlBDX0NBTExTLmV0aF9nZXRCbG9ja0J5TnVtYmVyLFxuICAgICAgICAgICAgZm9ybWF0dGVyczogW2lucHV0Rm9ybWF0dGVycy5ibG9ja051bWJlclRvSGV4LCBpbnB1dEZvcm1hdHRlcnMucmV0dXJuRnVsbFR4T2JqZWN0UGFyYW1dLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRUcmFuc2FjdGlvbkJ5SGFzaCA9IHRoaXMuYnVpbGRSZXF1ZXN0KHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5ldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2gsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldFRyYW5zYWN0aW9uUmVjZWlwdCA9IHRoaXMuYnVpbGRSZXF1ZXN0KHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5ldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRUcmFuc2FjdGlvbkNvdW50ID0gdGhpcy5idWlsZFJlcXVlc3Qoe1xuICAgICAgICAgICAgY2FsbDogY29uc3RhbnRzXzEuUlBDX0NBTExTLmV0aF9nZXRUcmFuc2FjdGlvbkNvdW50LFxuICAgICAgICAgICAgZm9ybWF0dGVyczogW251bGwsIGlucHV0Rm9ybWF0dGVycy5kZWZhdWx0QmxvY2tQYXJhbV0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldEdhc1ByaWNlID0gdGhpcy5idWlsZFJlcXVlc3Qoe1xuICAgICAgICAgICAgY2FsbDogY29uc3RhbnRzXzEuUlBDX0NBTExTLmV0aF9nYXNQcmljZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0RXN0aW1hdGVHYXMgPSAodHJhbnNhY3Rpb24pID0+IHRoaXMuYnVpbGRSZXF1ZXN0KHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5ldGhfZXN0aW1hdGVHYXMsXG4gICAgICAgIH0pKFt0cmFuc2FjdGlvbl0pO1xuICAgICAgICB0aGlzLnNldFNhZmVTZXR0aW5ncyA9IHRoaXMuYnVpbGRSZXF1ZXN0KHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5zYWZlX3NldFNldHRpbmdzLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYnVpbGRSZXF1ZXN0KGFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjYWxsLCBmb3JtYXR0ZXJzIH0gPSBhcmdzO1xuICAgICAgICByZXR1cm4gYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgaWYgKGZvcm1hdHRlcnMgJiYgQXJyYXkuaXNBcnJheShwYXJhbXMpKSB7XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVycy5mb3JFYWNoKChmb3JtYXR0ZXIsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1hdHRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zW2ldID0gZm9ybWF0dGVyKHBhcmFtc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAgICAgY2FsbCxcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyB8fCBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMucnBjQ2FsbCwgcGF5bG9hZCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLkV0aCA9IEV0aDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/index.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getSDKVersion = void 0;\nconst sdk_1 = __importDefault(__webpack_require__(/*! ./sdk */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/sdk.js\"));\nexports[\"default\"] = sdk_1.default;\n__exportStar(__webpack_require__(/*! ./sdk */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/sdk.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/index.js\"), exports);\n__exportStar(__webpack_require__(/*! ./communication/methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./communication/messageFormatter */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/messageFormatter.js\"), exports);\nvar utils_1 = __webpack_require__(/*! ./utils */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/utils.js\");\nObject.defineProperty(exports, \"getSDKVersion\", ({ enumerable: true, get: function () { return utils_1.getSDKVersion; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsb0NBQW9DO0FBQ25EO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckIsOEJBQThCLG1CQUFPLENBQUMsd0VBQU87QUFDN0Msa0JBQWU7QUFDZixhQUFhLG1CQUFPLENBQUMsd0VBQU87QUFDNUIsYUFBYSxtQkFBTyxDQUFDLGtGQUFTO0FBQzlCLGFBQWEsbUJBQU8sQ0FBQyw0R0FBeUI7QUFDOUMsYUFBYSxtQkFBTyxDQUFDLDhIQUFrQztBQUN2RCxjQUFjLG1CQUFPLENBQUMsNEVBQVM7QUFDL0IsaURBQWdELEVBQUUscUNBQXFDLGlDQUFpQyxFQUFDO0FBQ3pIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy9pbmRleC5qcz85NjY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fY3JlYXRlQmluZGluZyA9ICh0aGlzICYmIHRoaXMuX19jcmVhdGVCaW5kaW5nKSB8fCAoT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xuICAgIGlmICghZGVzYyB8fCAoXCJnZXRcIiBpbiBkZXNjID8gIW0uX19lc01vZHVsZSA6IGRlc2Mud3JpdGFibGUgfHwgZGVzYy5jb25maWd1cmFibGUpKSB7XG4gICAgICBkZXNjID0geyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbVtrXTsgfSB9O1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIGRlc2MpO1xufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xuICAgIG9bazJdID0gbVtrXTtcbn0pKTtcbnZhciBfX2V4cG9ydFN0YXIgPSAodGhpcyAmJiB0aGlzLl9fZXhwb3J0U3RhcikgfHwgZnVuY3Rpb24obSwgZXhwb3J0cykge1xuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXhwb3J0cywgcCkpIF9fY3JlYXRlQmluZGluZyhleHBvcnRzLCBtLCBwKTtcbn07XG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFNES1ZlcnNpb24gPSB2b2lkIDA7XG5jb25zdCBzZGtfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi9zZGtcIikpO1xuZXhwb3J0cy5kZWZhdWx0ID0gc2RrXzEuZGVmYXVsdDtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9zZGtcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3R5cGVzXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9jb21tdW5pY2F0aW9uL21ldGhvZHNcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2NvbW11bmljYXRpb24vbWVzc2FnZUZvcm1hdHRlclwiKSwgZXhwb3J0cyk7XG52YXIgdXRpbHNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0U0RLVmVyc2lvblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdXRpbHNfMS5nZXRTREtWZXJzaW9uOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/index.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Safe = void 0;\nconst viem_1 = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/cjs/index.js\");\nconst signatures_1 = __webpack_require__(/*! ./signatures */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/signatures.js\");\nconst methods_1 = __webpack_require__(/*! ../communication/methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\");\nconst constants_1 = __webpack_require__(/*! ../eth/constants */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/constants.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/index.js\");\nconst requirePermissions_1 = __importDefault(__webpack_require__(/*! ../decorators/requirePermissions */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/decorators/requirePermissions.js\"));\nclass Safe {\n constructor(communicator) {\n this.communicator = communicator;\n }\n async getChainInfo() {\n const response = await this.communicator.send(methods_1.Methods.getChainInfo, undefined);\n return response.data;\n }\n async getInfo() {\n const response = await this.communicator.send(methods_1.Methods.getSafeInfo, undefined);\n return response.data;\n }\n // There is a possibility that this method will change because we may add pagination to the endpoint\n async experimental_getBalances({ currency = 'usd' } = {}) {\n const response = await this.communicator.send(methods_1.Methods.getSafeBalances, {\n currency,\n });\n return response.data;\n }\n async check1271Signature(messageHash, signature = '0x') {\n const safeInfo = await this.getInfo();\n const encodedIsValidSignatureCall = (0, viem_1.encodeFunctionData)({\n abi: [\n {\n constant: false,\n inputs: [\n {\n name: '_dataHash',\n type: 'bytes32',\n },\n {\n name: '_signature',\n type: 'bytes',\n },\n ],\n name: 'isValidSignature',\n outputs: [\n {\n name: '',\n type: 'bytes4',\n },\n ],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n ],\n functionName: 'isValidSignature',\n args: [messageHash, signature],\n });\n const payload = {\n call: constants_1.RPC_CALLS.eth_call,\n params: [\n {\n to: safeInfo.safeAddress,\n data: encodedIsValidSignatureCall,\n },\n 'latest',\n ],\n };\n try {\n const response = await this.communicator.send(methods_1.Methods.rpcCall, payload);\n return response.data.slice(0, 10).toLowerCase() === signatures_1.MAGIC_VALUE;\n }\n catch (err) {\n return false;\n }\n }\n async check1271SignatureBytes(messageHash, signature = '0x') {\n const safeInfo = await this.getInfo();\n const encodedIsValidSignatureCall = (0, viem_1.encodeFunctionData)({\n abi: [\n {\n constant: false,\n inputs: [\n {\n name: '_data',\n type: 'bytes',\n },\n {\n name: '_signature',\n type: 'bytes',\n },\n ],\n name: 'isValidSignature',\n outputs: [\n {\n name: '',\n type: 'bytes4',\n },\n ],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n ],\n functionName: 'isValidSignature',\n args: [messageHash, signature],\n });\n const payload = {\n call: constants_1.RPC_CALLS.eth_call,\n params: [\n {\n to: safeInfo.safeAddress,\n data: encodedIsValidSignatureCall,\n },\n 'latest',\n ],\n };\n try {\n const response = await this.communicator.send(methods_1.Methods.rpcCall, payload);\n return response.data.slice(0, 10).toLowerCase() === signatures_1.MAGIC_VALUE_BYTES;\n }\n catch (err) {\n return false;\n }\n }\n calculateMessageHash(message) {\n return (0, viem_1.hashMessage)(message);\n }\n calculateTypedMessageHash(typedMessage) {\n const chainId = typeof typedMessage.domain.chainId === 'object'\n ? typedMessage.domain.chainId.toNumber()\n : Number(typedMessage.domain.chainId);\n let primaryType = typedMessage.primaryType;\n if (!primaryType) {\n const fields = Object.values(typedMessage.types);\n // We try to infer primaryType (simplified ether's version)\n const primaryTypes = Object.keys(typedMessage.types).filter((typeName) => fields.every((dataTypes) => dataTypes.every(({ type }) => type.replace('[', '').replace(']', '') !== typeName)));\n if (primaryTypes.length === 0 || primaryTypes.length > 1)\n throw new Error('Please specify primaryType');\n primaryType = primaryTypes[0];\n }\n return (0, viem_1.hashTypedData)({\n message: typedMessage.message,\n domain: Object.assign(Object.assign({}, typedMessage.domain), { chainId, verifyingContract: typedMessage.domain.verifyingContract, salt: typedMessage.domain.salt }),\n types: typedMessage.types,\n primaryType,\n });\n }\n async getOffChainSignature(messageHash) {\n const response = await this.communicator.send(methods_1.Methods.getOffChainSignature, messageHash);\n return response.data;\n }\n async isMessageSigned(message, signature = '0x') {\n let check;\n if (typeof message === 'string') {\n check = async () => {\n const messageHash = this.calculateMessageHash(message);\n const messageHashSigned = await this.isMessageHashSigned(messageHash, signature);\n return messageHashSigned;\n };\n }\n if ((0, types_1.isObjectEIP712TypedData)(message)) {\n check = async () => {\n const messageHash = this.calculateTypedMessageHash(message);\n const messageHashSigned = await this.isMessageHashSigned(messageHash, signature);\n return messageHashSigned;\n };\n }\n if (check) {\n const isValid = await check();\n return isValid;\n }\n throw new Error('Invalid message type');\n }\n async isMessageHashSigned(messageHash, signature = '0x') {\n const checks = [this.check1271Signature.bind(this), this.check1271SignatureBytes.bind(this)];\n for (const check of checks) {\n const isValid = await check(messageHash, signature);\n if (isValid) {\n return true;\n }\n }\n return false;\n }\n async getEnvironmentInfo() {\n const response = await this.communicator.send(methods_1.Methods.getEnvironmentInfo, undefined);\n return response.data;\n }\n async requestAddressBook() {\n const response = await this.communicator.send(methods_1.Methods.requestAddressBook, undefined);\n return response.data;\n }\n}\n__decorate([\n (0, requirePermissions_1.default)()\n], Safe.prototype, \"requestAddressBook\", null);\nexports.Safe = Safe;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvc2FmZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxRQUFRO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxZQUFZO0FBQ1osZUFBZSxtQkFBTyxDQUFDLG1EQUFNO0FBQzdCLHFCQUFxQixtQkFBTyxDQUFDLDJGQUFjO0FBQzNDLGtCQUFrQixtQkFBTyxDQUFDLDZHQUEwQjtBQUNwRCxvQkFBb0IsbUJBQU8sQ0FBQyw2RkFBa0I7QUFDOUMsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVU7QUFDbEMsNkNBQTZDLG1CQUFPLENBQUMsNkhBQWtDO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLG1CQUFtQixJQUFJO0FBQzVEO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUlBQXFJLE1BQU07QUFDM0k7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELDBCQUEwQixtR0FBbUc7QUFDL0s7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvc2FmZS9pbmRleC5qcz8yMTU1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5TYWZlID0gdm9pZCAwO1xuY29uc3QgdmllbV8xID0gcmVxdWlyZShcInZpZW1cIik7XG5jb25zdCBzaWduYXR1cmVzXzEgPSByZXF1aXJlKFwiLi9zaWduYXR1cmVzXCIpO1xuY29uc3QgbWV0aG9kc18xID0gcmVxdWlyZShcIi4uL2NvbW11bmljYXRpb24vbWV0aG9kc1wiKTtcbmNvbnN0IGNvbnN0YW50c18xID0gcmVxdWlyZShcIi4uL2V0aC9jb25zdGFudHNcIik7XG5jb25zdCB0eXBlc18xID0gcmVxdWlyZShcIi4uL3R5cGVzXCIpO1xuY29uc3QgcmVxdWlyZVBlcm1pc3Npb25zXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4uL2RlY29yYXRvcnMvcmVxdWlyZVBlcm1pc3Npb25zXCIpKTtcbmNsYXNzIFNhZmUge1xuICAgIGNvbnN0cnVjdG9yKGNvbW11bmljYXRvcikge1xuICAgICAgICB0aGlzLmNvbW11bmljYXRvciA9IGNvbW11bmljYXRvcjtcbiAgICB9XG4gICAgYXN5bmMgZ2V0Q2hhaW5JbmZvKCkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMuZ2V0Q2hhaW5JbmZvLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0SW5mbygpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbW11bmljYXRvci5zZW5kKG1ldGhvZHNfMS5NZXRob2RzLmdldFNhZmVJbmZvLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgLy8gVGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoaXMgbWV0aG9kIHdpbGwgY2hhbmdlIGJlY2F1c2Ugd2UgbWF5IGFkZCBwYWdpbmF0aW9uIHRvIHRoZSBlbmRwb2ludFxuICAgIGFzeW5jIGV4cGVyaW1lbnRhbF9nZXRCYWxhbmNlcyh7IGN1cnJlbmN5ID0gJ3VzZCcgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jb21tdW5pY2F0b3Iuc2VuZChtZXRob2RzXzEuTWV0aG9kcy5nZXRTYWZlQmFsYW5jZXMsIHtcbiAgICAgICAgICAgIGN1cnJlbmN5LFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuICAgIGFzeW5jIGNoZWNrMTI3MVNpZ25hdHVyZShtZXNzYWdlSGFzaCwgc2lnbmF0dXJlID0gJzB4Jykge1xuICAgICAgICBjb25zdCBzYWZlSW5mbyA9IGF3YWl0IHRoaXMuZ2V0SW5mbygpO1xuICAgICAgICBjb25zdCBlbmNvZGVkSXNWYWxpZFNpZ25hdHVyZUNhbGwgPSAoMCwgdmllbV8xLmVuY29kZUZ1bmN0aW9uRGF0YSkoe1xuICAgICAgICAgICAgYWJpOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25zdGFudDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdfZGF0YUhhc2gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlczMyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ19zaWduYXR1cmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNWYWxpZFNpZ25hdHVyZScsXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnl0ZXM0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHBheWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICdub25wYXlhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ2lzVmFsaWRTaWduYXR1cmUnLFxuICAgICAgICAgICAgYXJnczogW21lc3NhZ2VIYXNoLCBzaWduYXR1cmVdLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5ldGhfY2FsbCxcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdG86IHNhZmVJbmZvLnNhZmVBZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBlbmNvZGVkSXNWYWxpZFNpZ25hdHVyZUNhbGwsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAnbGF0ZXN0JyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMucnBjQ2FsbCwgcGF5bG9hZCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5zbGljZSgwLCAxMCkudG9Mb3dlckNhc2UoKSA9PT0gc2lnbmF0dXJlc18xLk1BR0lDX1ZBTFVFO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBjaGVjazEyNzFTaWduYXR1cmVCeXRlcyhtZXNzYWdlSGFzaCwgc2lnbmF0dXJlID0gJzB4Jykge1xuICAgICAgICBjb25zdCBzYWZlSW5mbyA9IGF3YWl0IHRoaXMuZ2V0SW5mbygpO1xuICAgICAgICBjb25zdCBlbmNvZGVkSXNWYWxpZFNpZ25hdHVyZUNhbGwgPSAoMCwgdmllbV8xLmVuY29kZUZ1bmN0aW9uRGF0YSkoe1xuICAgICAgICAgICAgYWJpOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25zdGFudDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdfZGF0YScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J5dGVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ19zaWduYXR1cmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNWYWxpZFNpZ25hdHVyZScsXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnl0ZXM0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHBheWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICdub25wYXlhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ2lzVmFsaWRTaWduYXR1cmUnLFxuICAgICAgICAgICAgYXJnczogW21lc3NhZ2VIYXNoLCBzaWduYXR1cmVdLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgIGNhbGw6IGNvbnN0YW50c18xLlJQQ19DQUxMUy5ldGhfY2FsbCxcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdG86IHNhZmVJbmZvLnNhZmVBZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBlbmNvZGVkSXNWYWxpZFNpZ25hdHVyZUNhbGwsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAnbGF0ZXN0JyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMucnBjQ2FsbCwgcGF5bG9hZCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5zbGljZSgwLCAxMCkudG9Mb3dlckNhc2UoKSA9PT0gc2lnbmF0dXJlc18xLk1BR0lDX1ZBTFVFX0JZVEVTO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYWxjdWxhdGVNZXNzYWdlSGFzaChtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiAoMCwgdmllbV8xLmhhc2hNZXNzYWdlKShtZXNzYWdlKTtcbiAgICB9XG4gICAgY2FsY3VsYXRlVHlwZWRNZXNzYWdlSGFzaCh0eXBlZE1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgY2hhaW5JZCA9IHR5cGVvZiB0eXBlZE1lc3NhZ2UuZG9tYWluLmNoYWluSWQgPT09ICdvYmplY3QnXG4gICAgICAgICAgICA/IHR5cGVkTWVzc2FnZS5kb21haW4uY2hhaW5JZC50b051bWJlcigpXG4gICAgICAgICAgICA6IE51bWJlcih0eXBlZE1lc3NhZ2UuZG9tYWluLmNoYWluSWQpO1xuICAgICAgICBsZXQgcHJpbWFyeVR5cGUgPSB0eXBlZE1lc3NhZ2UucHJpbWFyeVR5cGU7XG4gICAgICAgIGlmICghcHJpbWFyeVR5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC52YWx1ZXModHlwZWRNZXNzYWdlLnR5cGVzKTtcbiAgICAgICAgICAgIC8vIFdlIHRyeSB0byBpbmZlciBwcmltYXJ5VHlwZSAoc2ltcGxpZmllZCBldGhlcidzIHZlcnNpb24pXG4gICAgICAgICAgICBjb25zdCBwcmltYXJ5VHlwZXMgPSBPYmplY3Qua2V5cyh0eXBlZE1lc3NhZ2UudHlwZXMpLmZpbHRlcigodHlwZU5hbWUpID0+IGZpZWxkcy5ldmVyeSgoZGF0YVR5cGVzKSA9PiBkYXRhVHlwZXMuZXZlcnkoKHsgdHlwZSB9KSA9PiB0eXBlLnJlcGxhY2UoJ1snLCAnJykucmVwbGFjZSgnXScsICcnKSAhPT0gdHlwZU5hbWUpKSk7XG4gICAgICAgICAgICBpZiAocHJpbWFyeVR5cGVzLmxlbmd0aCA9PT0gMCB8fCBwcmltYXJ5VHlwZXMubGVuZ3RoID4gMSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBzcGVjaWZ5IHByaW1hcnlUeXBlJyk7XG4gICAgICAgICAgICBwcmltYXJ5VHlwZSA9IHByaW1hcnlUeXBlc1swXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKDAsIHZpZW1fMS5oYXNoVHlwZWREYXRhKSh7XG4gICAgICAgICAgICBtZXNzYWdlOiB0eXBlZE1lc3NhZ2UubWVzc2FnZSxcbiAgICAgICAgICAgIGRvbWFpbjogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0eXBlZE1lc3NhZ2UuZG9tYWluKSwgeyBjaGFpbklkLCB2ZXJpZnlpbmdDb250cmFjdDogdHlwZWRNZXNzYWdlLmRvbWFpbi52ZXJpZnlpbmdDb250cmFjdCwgc2FsdDogdHlwZWRNZXNzYWdlLmRvbWFpbi5zYWx0IH0pLFxuICAgICAgICAgICAgdHlwZXM6IHR5cGVkTWVzc2FnZS50eXBlcyxcbiAgICAgICAgICAgIHByaW1hcnlUeXBlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0T2ZmQ2hhaW5TaWduYXR1cmUobWVzc2FnZUhhc2gpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbW11bmljYXRvci5zZW5kKG1ldGhvZHNfMS5NZXRob2RzLmdldE9mZkNoYWluU2lnbmF0dXJlLCBtZXNzYWdlSGFzaCk7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cbiAgICBhc3luYyBpc01lc3NhZ2VTaWduZWQobWVzc2FnZSwgc2lnbmF0dXJlID0gJzB4Jykge1xuICAgICAgICBsZXQgY2hlY2s7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNoZWNrID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VIYXNoID0gdGhpcy5jYWxjdWxhdGVNZXNzYWdlSGFzaChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlSGFzaFNpZ25lZCA9IGF3YWl0IHRoaXMuaXNNZXNzYWdlSGFzaFNpZ25lZChtZXNzYWdlSGFzaCwgc2lnbmF0dXJlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZUhhc2hTaWduZWQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICgoMCwgdHlwZXNfMS5pc09iamVjdEVJUDcxMlR5cGVkRGF0YSkobWVzc2FnZSkpIHtcbiAgICAgICAgICAgIGNoZWNrID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VIYXNoID0gdGhpcy5jYWxjdWxhdGVUeXBlZE1lc3NhZ2VIYXNoKG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VIYXNoU2lnbmVkID0gYXdhaXQgdGhpcy5pc01lc3NhZ2VIYXNoU2lnbmVkKG1lc3NhZ2VIYXNoLCBzaWduYXR1cmUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBtZXNzYWdlSGFzaFNpZ25lZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoZWNrKSB7XG4gICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgY2hlY2soKTtcbiAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtZXNzYWdlIHR5cGUnKTtcbiAgICB9XG4gICAgYXN5bmMgaXNNZXNzYWdlSGFzaFNpZ25lZChtZXNzYWdlSGFzaCwgc2lnbmF0dXJlID0gJzB4Jykge1xuICAgICAgICBjb25zdCBjaGVja3MgPSBbdGhpcy5jaGVjazEyNzFTaWduYXR1cmUuYmluZCh0aGlzKSwgdGhpcy5jaGVjazEyNzFTaWduYXR1cmVCeXRlcy5iaW5kKHRoaXMpXTtcbiAgICAgICAgZm9yIChjb25zdCBjaGVjayBvZiBjaGVja3MpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCBjaGVjayhtZXNzYWdlSGFzaCwgc2lnbmF0dXJlKTtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBhc3luYyBnZXRFbnZpcm9ubWVudEluZm8oKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jb21tdW5pY2F0b3Iuc2VuZChtZXRob2RzXzEuTWV0aG9kcy5nZXRFbnZpcm9ubWVudEluZm8sIHVuZGVmaW5lZCk7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cbiAgICBhc3luYyByZXF1ZXN0QWRkcmVzc0Jvb2soKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jb21tdW5pY2F0b3Iuc2VuZChtZXRob2RzXzEuTWV0aG9kcy5yZXF1ZXN0QWRkcmVzc0Jvb2ssIHVuZGVmaW5lZCk7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cbn1cbl9fZGVjb3JhdGUoW1xuICAgICgwLCByZXF1aXJlUGVybWlzc2lvbnNfMS5kZWZhdWx0KSgpXG5dLCBTYWZlLnByb3RvdHlwZSwgXCJyZXF1ZXN0QWRkcmVzc0Jvb2tcIiwgbnVsbCk7XG5leHBvcnRzLlNhZmUgPSBTYWZlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/signatures.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/signatures.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MAGIC_VALUE_BYTES = exports.MAGIC_VALUE = void 0;\nconst MAGIC_VALUE = '0x1626ba7e';\nexports.MAGIC_VALUE = MAGIC_VALUE;\nconst MAGIC_VALUE_BYTES = '0x20c13b0b';\nexports.MAGIC_VALUE_BYTES = MAGIC_VALUE_BYTES;\n//# sourceMappingURL=signatures.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvc2FmZS9zaWduYXR1cmVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHlCQUF5QixHQUFHLG1CQUFtQjtBQUMvQztBQUNBLG1CQUFtQjtBQUNuQjtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvc2FmZS9zaWduYXR1cmVzLmpzPzdmNzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLk1BR0lDX1ZBTFVFX0JZVEVTID0gZXhwb3J0cy5NQUdJQ19WQUxVRSA9IHZvaWQgMDtcbmNvbnN0IE1BR0lDX1ZBTFVFID0gJzB4MTYyNmJhN2UnO1xuZXhwb3J0cy5NQUdJQ19WQUxVRSA9IE1BR0lDX1ZBTFVFO1xuY29uc3QgTUFHSUNfVkFMVUVfQllURVMgPSAnMHgyMGMxM2IwYic7XG5leHBvcnRzLk1BR0lDX1ZBTFVFX0JZVEVTID0gTUFHSUNfVkFMVUVfQllURVM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaWduYXR1cmVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/signatures.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/sdk.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/sdk.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst communication_1 = __importDefault(__webpack_require__(/*! ./communication */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/index.js\"));\nconst txs_1 = __webpack_require__(/*! ./txs */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/txs/index.js\");\nconst eth_1 = __webpack_require__(/*! ./eth */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/eth/index.js\");\nconst safe_1 = __webpack_require__(/*! ./safe */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/safe/index.js\");\nconst wallet_1 = __webpack_require__(/*! ./wallet */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/wallet/index.js\");\nclass SafeAppsSDK {\n constructor(opts = {}) {\n const { allowedDomains = null, debug = false } = opts;\n this.communicator = new communication_1.default(allowedDomains, debug);\n this.eth = new eth_1.Eth(this.communicator);\n this.txs = new txs_1.TXs(this.communicator);\n this.safe = new safe_1.Safe(this.communicator);\n this.wallet = new wallet_1.Wallet(this.communicator);\n }\n}\nexports[\"default\"] = SafeAppsSDK;\n//# sourceMappingURL=sdk.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvc2RrLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0NBQXdDLG1CQUFPLENBQUMsa0dBQWlCO0FBQ2pFLGNBQWMsbUJBQU8sQ0FBQyw4RUFBTztBQUM3QixjQUFjLG1CQUFPLENBQUMsOEVBQU87QUFDN0IsZUFBZSxtQkFBTyxDQUFDLGdGQUFRO0FBQy9CLGlCQUFpQixtQkFBTyxDQUFDLG9GQUFVO0FBQ25DO0FBQ0EseUJBQXlCO0FBQ3pCLGdCQUFnQix1Q0FBdUM7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy9zZGsuanM/MWNiNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IGNvbW11bmljYXRpb25fMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi9jb21tdW5pY2F0aW9uXCIpKTtcbmNvbnN0IHR4c18xID0gcmVxdWlyZShcIi4vdHhzXCIpO1xuY29uc3QgZXRoXzEgPSByZXF1aXJlKFwiLi9ldGhcIik7XG5jb25zdCBzYWZlXzEgPSByZXF1aXJlKFwiLi9zYWZlXCIpO1xuY29uc3Qgd2FsbGV0XzEgPSByZXF1aXJlKFwiLi93YWxsZXRcIik7XG5jbGFzcyBTYWZlQXBwc1NESyB7XG4gICAgY29uc3RydWN0b3Iob3B0cyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHsgYWxsb3dlZERvbWFpbnMgPSBudWxsLCBkZWJ1ZyA9IGZhbHNlIH0gPSBvcHRzO1xuICAgICAgICB0aGlzLmNvbW11bmljYXRvciA9IG5ldyBjb21tdW5pY2F0aW9uXzEuZGVmYXVsdChhbGxvd2VkRG9tYWlucywgZGVidWcpO1xuICAgICAgICB0aGlzLmV0aCA9IG5ldyBldGhfMS5FdGgodGhpcy5jb21tdW5pY2F0b3IpO1xuICAgICAgICB0aGlzLnR4cyA9IG5ldyB0eHNfMS5UWHModGhpcy5jb21tdW5pY2F0b3IpO1xuICAgICAgICB0aGlzLnNhZmUgPSBuZXcgc2FmZV8xLlNhZmUodGhpcy5jb21tdW5pY2F0b3IpO1xuICAgICAgICB0aGlzLndhbGxldCA9IG5ldyB3YWxsZXRfMS5XYWxsZXQodGhpcy5jb21tdW5pY2F0b3IpO1xuICAgIH1cbn1cbmV4cG9ydHMuZGVmYXVsdCA9IFNhZmVBcHBzU0RLO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2RrLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/sdk.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/txs/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/txs/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TXs = void 0;\nconst methods_1 = __webpack_require__(/*! ../communication/methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/index.js\");\nclass TXs {\n constructor(communicator) {\n this.communicator = communicator;\n }\n async getBySafeTxHash(safeTxHash) {\n if (!safeTxHash) {\n throw new Error('Invalid safeTxHash');\n }\n const response = await this.communicator.send(methods_1.Methods.getTxBySafeTxHash, { safeTxHash });\n return response.data;\n }\n async signMessage(message) {\n const messagePayload = {\n message,\n };\n const response = await this.communicator.send(methods_1.Methods.signMessage, messagePayload);\n return response.data;\n }\n async signTypedMessage(typedData) {\n if (!(0, types_1.isObjectEIP712TypedData)(typedData)) {\n throw new Error('Invalid typed data');\n }\n const response = await this.communicator.send(methods_1.Methods.signTypedMessage, { typedData });\n return response.data;\n }\n async send({ txs, params }) {\n if (!txs || !txs.length) {\n throw new Error('No transactions were passed');\n }\n const messagePayload = {\n txs,\n params,\n };\n const response = await this.communicator.send(methods_1.Methods.sendTransactions, messagePayload);\n return response.data;\n }\n}\nexports.TXs = TXs;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHhzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELFdBQVc7QUFDWCxrQkFBa0IsbUJBQU8sQ0FBQyw2R0FBMEI7QUFDcEQsZ0JBQWdCLG1CQUFPLENBQUMsbUZBQVU7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RixZQUFZO0FBQ3pHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGLFdBQVc7QUFDdkc7QUFDQTtBQUNBLGlCQUFpQixhQUFhO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWFwcHMtc2RrL2Rpc3Qvc3JjL3R4cy9pbmRleC5qcz83MGQyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UWHMgPSB2b2lkIDA7XG5jb25zdCBtZXRob2RzXzEgPSByZXF1aXJlKFwiLi4vY29tbXVuaWNhdGlvbi9tZXRob2RzXCIpO1xuY29uc3QgdHlwZXNfMSA9IHJlcXVpcmUoXCIuLi90eXBlc1wiKTtcbmNsYXNzIFRYcyB7XG4gICAgY29uc3RydWN0b3IoY29tbXVuaWNhdG9yKSB7XG4gICAgICAgIHRoaXMuY29tbXVuaWNhdG9yID0gY29tbXVuaWNhdG9yO1xuICAgIH1cbiAgICBhc3luYyBnZXRCeVNhZmVUeEhhc2goc2FmZVR4SGFzaCkge1xuICAgICAgICBpZiAoIXNhZmVUeEhhc2gpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzYWZlVHhIYXNoJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbW11bmljYXRvci5zZW5kKG1ldGhvZHNfMS5NZXRob2RzLmdldFR4QnlTYWZlVHhIYXNoLCB7IHNhZmVUeEhhc2ggfSk7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cbiAgICBhc3luYyBzaWduTWVzc2FnZShtZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VQYXlsb2FkID0ge1xuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNvbW11bmljYXRvci5zZW5kKG1ldGhvZHNfMS5NZXRob2RzLnNpZ25NZXNzYWdlLCBtZXNzYWdlUGF5bG9hZCk7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH1cbiAgICBhc3luYyBzaWduVHlwZWRNZXNzYWdlKHR5cGVkRGF0YSkge1xuICAgICAgICBpZiAoISgwLCB0eXBlc18xLmlzT2JqZWN0RUlQNzEyVHlwZWREYXRhKSh0eXBlZERhdGEpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZWQgZGF0YScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jb21tdW5pY2F0b3Iuc2VuZChtZXRob2RzXzEuTWV0aG9kcy5zaWduVHlwZWRNZXNzYWdlLCB7IHR5cGVkRGF0YSB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuICAgIGFzeW5jIHNlbmQoeyB0eHMsIHBhcmFtcyB9KSB7XG4gICAgICAgIGlmICghdHhzIHx8ICF0eHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRyYW5zYWN0aW9ucyB3ZXJlIHBhc3NlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VQYXlsb2FkID0ge1xuICAgICAgICAgICAgdHhzLFxuICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMuc2VuZFRyYW5zYWN0aW9ucywgbWVzc2FnZVBheWxvYWQpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG59XG5leHBvcnRzLlRYcyA9IFRYcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/txs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/types/gateway.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/types/gateway.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TransferDirection = exports.TransactionStatus = exports.TokenType = exports.Operation = void 0;\nvar safe_gateway_typescript_sdk_1 = __webpack_require__(/*! @safe-global/safe-gateway-typescript-sdk */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/index.js\");\nObject.defineProperty(exports, \"Operation\", ({ enumerable: true, get: function () { return safe_gateway_typescript_sdk_1.Operation; } }));\nObject.defineProperty(exports, \"TokenType\", ({ enumerable: true, get: function () { return safe_gateway_typescript_sdk_1.TokenType; } }));\nObject.defineProperty(exports, \"TransactionStatus\", ({ enumerable: true, get: function () { return safe_gateway_typescript_sdk_1.TransactionStatus; } }));\nObject.defineProperty(exports, \"TransferDirection\", ({ enumerable: true, get: function () { return safe_gateway_typescript_sdk_1.TransferDirection; } }));\n//# sourceMappingURL=gateway.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvZ2F0ZXdheS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5QkFBeUIsR0FBRyx5QkFBeUIsR0FBRyxpQkFBaUIsR0FBRyxpQkFBaUI7QUFDN0Ysb0NBQW9DLG1CQUFPLENBQUMsdUhBQTBDO0FBQ3RGLDZDQUE0QyxFQUFFLHFDQUFxQyxtREFBbUQsRUFBQztBQUN2SSw2Q0FBNEMsRUFBRSxxQ0FBcUMsbURBQW1ELEVBQUM7QUFDdkkscURBQW9ELEVBQUUscUNBQXFDLDJEQUEyRCxFQUFDO0FBQ3ZKLHFEQUFvRCxFQUFFLHFDQUFxQywyREFBMkQsRUFBQztBQUN2SiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvZ2F0ZXdheS5qcz9jZmUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UcmFuc2ZlckRpcmVjdGlvbiA9IGV4cG9ydHMuVHJhbnNhY3Rpb25TdGF0dXMgPSBleHBvcnRzLlRva2VuVHlwZSA9IGV4cG9ydHMuT3BlcmF0aW9uID0gdm9pZCAwO1xudmFyIHNhZmVfZ2F0ZXdheV90eXBlc2NyaXB0X3Nka18xID0gcmVxdWlyZShcIkBzYWZlLWdsb2JhbC9zYWZlLWdhdGV3YXktdHlwZXNjcmlwdC1zZGtcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJPcGVyYXRpb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNhZmVfZ2F0ZXdheV90eXBlc2NyaXB0X3Nka18xLk9wZXJhdGlvbjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRva2VuVHlwZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2FmZV9nYXRld2F5X3R5cGVzY3JpcHRfc2RrXzEuVG9rZW5UeXBlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVHJhbnNhY3Rpb25TdGF0dXNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNhZmVfZ2F0ZXdheV90eXBlc2NyaXB0X3Nka18xLlRyYW5zYWN0aW9uU3RhdHVzOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVHJhbnNmZXJEaXJlY3Rpb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNhZmVfZ2F0ZXdheV90eXBlc2NyaXB0X3Nka18xLlRyYW5zZmVyRGlyZWN0aW9uOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2F0ZXdheS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/types/gateway.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/types/index.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/types/index.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./sdk */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/sdk.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rpc */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/rpc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/gateway.js\"), exports);\n__exportStar(__webpack_require__(/*! ./messaging */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/messaging.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsb0NBQW9DO0FBQ25EO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsYUFBYSxtQkFBTyxDQUFDLDhFQUFPO0FBQzVCLGFBQWEsbUJBQU8sQ0FBQyw4RUFBTztBQUM1QixhQUFhLG1CQUFPLENBQUMsc0ZBQVc7QUFDaEMsYUFBYSxtQkFBTyxDQUFDLDBGQUFhO0FBQ2xDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy90eXBlcy9pbmRleC5qcz80OTRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fY3JlYXRlQmluZGluZyA9ICh0aGlzICYmIHRoaXMuX19jcmVhdGVCaW5kaW5nKSB8fCAoT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xuICAgIGlmICghZGVzYyB8fCAoXCJnZXRcIiBpbiBkZXNjID8gIW0uX19lc01vZHVsZSA6IGRlc2Mud3JpdGFibGUgfHwgZGVzYy5jb25maWd1cmFibGUpKSB7XG4gICAgICBkZXNjID0geyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbVtrXTsgfSB9O1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIGRlc2MpO1xufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xuICAgIG9bazJdID0gbVtrXTtcbn0pKTtcbnZhciBfX2V4cG9ydFN0YXIgPSAodGhpcyAmJiB0aGlzLl9fZXhwb3J0U3RhcikgfHwgZnVuY3Rpb24obSwgZXhwb3J0cykge1xuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXhwb3J0cywgcCkpIF9fY3JlYXRlQmluZGluZyhleHBvcnRzLCBtLCBwKTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vc2RrXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi9ycGNcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2dhdGV3YXlcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL21lc3NhZ2luZ1wiKSwgZXhwb3J0cyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/types/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/types/messaging.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/types/messaging.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst methods_1 = __webpack_require__(/*! ../communication/methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\");\n//# sourceMappingURL=messaging.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvbWVzc2FnaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQixtQkFBTyxDQUFDLDZHQUEwQjtBQUNwRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvbWVzc2FnaW5nLmpzP2NjODAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCBtZXRob2RzXzEgPSByZXF1aXJlKFwiLi4vY29tbXVuaWNhdGlvbi9tZXRob2RzXCIpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnaW5nLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/types/messaging.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/types/permissions.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/types/permissions.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PermissionsError = exports.PERMISSIONS_REQUEST_REJECTED = void 0;\nexports.PERMISSIONS_REQUEST_REJECTED = 4001;\nclass PermissionsError extends Error {\n constructor(message, code, data) {\n super(message);\n this.code = code;\n this.data = data;\n // Should adjust prototype manually because how TS handles the type extension compilation\n // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, PermissionsError.prototype);\n }\n}\nexports.PermissionsError = PermissionsError;\n//# sourceMappingURL=permissions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvcGVybWlzc2lvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCLEdBQUcsb0NBQW9DO0FBQy9ELG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvcGVybWlzc2lvbnMuanM/ZWE2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUGVybWlzc2lvbnNFcnJvciA9IGV4cG9ydHMuUEVSTUlTU0lPTlNfUkVRVUVTVF9SRUpFQ1RFRCA9IHZvaWQgMDtcbmV4cG9ydHMuUEVSTUlTU0lPTlNfUkVRVUVTVF9SRUpFQ1RFRCA9IDQwMDE7XG5jbGFzcyBQZXJtaXNzaW9uc0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UsIGNvZGUsIGRhdGEpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIC8vIFNob3VsZCBhZGp1c3QgcHJvdG90eXBlIG1hbnVhbGx5IGJlY2F1c2UgaG93IFRTIGhhbmRsZXMgdGhlIHR5cGUgZXh0ZW5zaW9uIGNvbXBpbGF0aW9uXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC93aWtpL0JyZWFraW5nLUNoYW5nZXMjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrXG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBQZXJtaXNzaW9uc0Vycm9yLnByb3RvdHlwZSk7XG4gICAgfVxufVxuZXhwb3J0cy5QZXJtaXNzaW9uc0Vycm9yID0gUGVybWlzc2lvbnNFcnJvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlcm1pc3Npb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/types/permissions.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/types/rpc.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/types/rpc.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=rpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvcnBjLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy90eXBlcy9ycGMuanM/YjhjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJwYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/types/rpc.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/types/sdk.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/types/sdk.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isObjectEIP712TypedData = void 0;\nconst isObjectEIP712TypedData = (obj) => {\n return typeof obj === 'object' && obj != null && 'domain' in obj && 'types' in obj && 'message' in obj;\n};\nexports.isObjectEIP712TypedData = isObjectEIP712TypedData;\n//# sourceMappingURL=sdk.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdHlwZXMvc2RrLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWFwcHMtc2RrL2Rpc3Qvc3JjL3R5cGVzL3Nkay5qcz9lNjJmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc09iamVjdEVJUDcxMlR5cGVkRGF0YSA9IHZvaWQgMDtcbmNvbnN0IGlzT2JqZWN0RUlQNzEyVHlwZWREYXRhID0gKG9iaikgPT4ge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBvYmogIT0gbnVsbCAmJiAnZG9tYWluJyBpbiBvYmogJiYgJ3R5cGVzJyBpbiBvYmogJiYgJ21lc3NhZ2UnIGluIG9iajtcbn07XG5leHBvcnRzLmlzT2JqZWN0RUlQNzEyVHlwZWREYXRhID0gaXNPYmplY3RFSVA3MTJUeXBlZERhdGE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZGsuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/types/sdk.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/utils.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/utils.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getSDKVersion = void 0;\nconst package_json_1 = __importDefault(__webpack_require__(/*! ../package.json */ \"./node_modules/@safe-global/safe-apps-sdk/dist/package.json\"));\nconst getSDKVersion = () => {\n // Strip out version tags like `beta.0` in `1.0.0-beta.0`\n return package_json_1.default.version.split('-')[0];\n};\nexports.getSDKVersion = getSDKVersion;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckIsdUNBQXVDLG1CQUFPLENBQUMsb0ZBQWlCO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1hcHBzLXNkay9kaXN0L3NyYy91dGlscy5qcz9kODA0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRTREtWZXJzaW9uID0gdm9pZCAwO1xuY29uc3QgcGFja2FnZV9qc29uXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4uL3BhY2thZ2UuanNvblwiKSk7XG5jb25zdCBnZXRTREtWZXJzaW9uID0gKCkgPT4ge1xuICAgIC8vIFN0cmlwIG91dCB2ZXJzaW9uIHRhZ3MgbGlrZSBgYmV0YS4wYCBpbiBgMS4wLjAtYmV0YS4wYFxuICAgIHJldHVybiBwYWNrYWdlX2pzb25fMS5kZWZhdWx0LnZlcnNpb24uc3BsaXQoJy0nKVswXTtcbn07XG5leHBvcnRzLmdldFNES1ZlcnNpb24gPSBnZXRTREtWZXJzaW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/src/wallet/index.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/src/wallet/index.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Wallet = void 0;\nconst methods_1 = __webpack_require__(/*! ../communication/methods */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/communication/methods.js\");\nconst permissions_1 = __webpack_require__(/*! ../types/permissions */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/types/permissions.js\");\nclass Wallet {\n constructor(communicator) {\n this.communicator = communicator;\n }\n async getPermissions() {\n const response = await this.communicator.send(methods_1.Methods.wallet_getPermissions, undefined);\n return response.data;\n }\n async requestPermissions(permissions) {\n if (!this.isPermissionRequestValid(permissions)) {\n throw new permissions_1.PermissionsError('Permissions request is invalid', permissions_1.PERMISSIONS_REQUEST_REJECTED);\n }\n try {\n const response = await this.communicator.send(methods_1.Methods.wallet_requestPermissions, permissions);\n return response.data;\n }\n catch (_a) {\n throw new permissions_1.PermissionsError('Permissions rejected', permissions_1.PERMISSIONS_REQUEST_REJECTED);\n }\n }\n isPermissionRequestValid(permissions) {\n return permissions.every((pr) => {\n if (typeof pr === 'object') {\n return Object.keys(pr).every((method) => {\n if (Object.values(methods_1.RestrictedMethods).includes(method)) {\n return true;\n }\n return false;\n });\n }\n return false;\n });\n }\n}\nexports.Wallet = Wallet;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvd2FsbGV0L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGNBQWM7QUFDZCxrQkFBa0IsbUJBQU8sQ0FBQyw2R0FBMEI7QUFDcEQsc0JBQXNCLG1CQUFPLENBQUMscUdBQXNCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLGNBQWM7QUFDZCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGsvZGlzdC9zcmMvd2FsbGV0L2luZGV4LmpzP2IzZGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLldhbGxldCA9IHZvaWQgMDtcbmNvbnN0IG1ldGhvZHNfMSA9IHJlcXVpcmUoXCIuLi9jb21tdW5pY2F0aW9uL21ldGhvZHNcIik7XG5jb25zdCBwZXJtaXNzaW9uc18xID0gcmVxdWlyZShcIi4uL3R5cGVzL3Blcm1pc3Npb25zXCIpO1xuY2xhc3MgV2FsbGV0IHtcbiAgICBjb25zdHJ1Y3Rvcihjb21tdW5pY2F0b3IpIHtcbiAgICAgICAgdGhpcy5jb21tdW5pY2F0b3IgPSBjb21tdW5pY2F0b3I7XG4gICAgfVxuICAgIGFzeW5jIGdldFBlcm1pc3Npb25zKCkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMud2FsbGV0X2dldFBlcm1pc3Npb25zLCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgYXN5bmMgcmVxdWVzdFBlcm1pc3Npb25zKHBlcm1pc3Npb25zKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1Blcm1pc3Npb25SZXF1ZXN0VmFsaWQocGVybWlzc2lvbnMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgcGVybWlzc2lvbnNfMS5QZXJtaXNzaW9uc0Vycm9yKCdQZXJtaXNzaW9ucyByZXF1ZXN0IGlzIGludmFsaWQnLCBwZXJtaXNzaW9uc18xLlBFUk1JU1NJT05TX1JFUVVFU1RfUkVKRUNURUQpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29tbXVuaWNhdG9yLnNlbmQobWV0aG9kc18xLk1ldGhvZHMud2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9ucywgcGVybWlzc2lvbnMpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF9hKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgcGVybWlzc2lvbnNfMS5QZXJtaXNzaW9uc0Vycm9yKCdQZXJtaXNzaW9ucyByZWplY3RlZCcsIHBlcm1pc3Npb25zXzEuUEVSTUlTU0lPTlNfUkVRVUVTVF9SRUpFQ1RFRCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaXNQZXJtaXNzaW9uUmVxdWVzdFZhbGlkKHBlcm1pc3Npb25zKSB7XG4gICAgICAgIHJldHVybiBwZXJtaXNzaW9ucy5ldmVyeSgocHIpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHIgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHByKS5ldmVyeSgobWV0aG9kKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3QudmFsdWVzKG1ldGhvZHNfMS5SZXN0cmljdGVkTWV0aG9kcykuaW5jbHVkZXMobWV0aG9kKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLldhbGxldCA9IFdhbGxldDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-apps-sdk/dist/src/wallet/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/config.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/config.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DEFAULT_BASE_URL = void 0;\nexports.DEFAULT_BASE_URL = 'https://safe-client.safe.global';\n//# sourceMappingURL=config.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L2NvbmZpZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1nYXRld2F5LXR5cGVzY3JpcHQtc2RrL2Rpc3QvY29uZmlnLmpzPzFjNjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkRFRkFVTFRfQkFTRV9VUkwgPSB2b2lkIDA7XG5leHBvcnRzLkRFRkFVTFRfQkFTRV9VUkwgPSAnaHR0cHM6Ly9zYWZlLWNsaWVudC5zYWZlLmdsb2JhbCc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25maWcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/config.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/endpoint.js": -/*!********************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/endpoint.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEndpoint = exports.postEndpoint = void 0;\nconst utils_1 = __webpack_require__(/*! ./utils */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/utils.js\");\nfunction makeUrl(baseUrl, path, pathParams, query) {\n const pathname = (0, utils_1.insertParams)(path, pathParams);\n const search = (0, utils_1.stringifyQuery)(query);\n return `${baseUrl}${pathname}${search}`;\n}\nfunction postEndpoint(baseUrl, path, params) {\n const url = makeUrl(baseUrl, path, params === null || params === void 0 ? void 0 : params.path, params === null || params === void 0 ? void 0 : params.query);\n return (0, utils_1.fetchData)(url, params === null || params === void 0 ? void 0 : params.body);\n}\nexports.postEndpoint = postEndpoint;\nfunction getEndpoint(baseUrl, path, params, rawUrl) {\n if (rawUrl) {\n return (0, utils_1.fetchData)(rawUrl);\n }\n const url = makeUrl(baseUrl, path, params === null || params === void 0 ? void 0 : params.path, params === null || params === void 0 ? void 0 : params.query);\n return (0, utils_1.fetchData)(url);\n}\nexports.getEndpoint = getEndpoint;\n//# sourceMappingURL=endpoint.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L2VuZHBvaW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQixHQUFHLG9CQUFvQjtBQUMxQyxnQkFBZ0IsbUJBQU8sQ0FBQyxzRkFBUztBQUNqQztBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1nYXRld2F5LXR5cGVzY3JpcHQtc2RrL2Rpc3QvZW5kcG9pbnQuanM/NGUyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0RW5kcG9pbnQgPSBleHBvcnRzLnBvc3RFbmRwb2ludCA9IHZvaWQgMDtcbmNvbnN0IHV0aWxzXzEgPSByZXF1aXJlKFwiLi91dGlsc1wiKTtcbmZ1bmN0aW9uIG1ha2VVcmwoYmFzZVVybCwgcGF0aCwgcGF0aFBhcmFtcywgcXVlcnkpIHtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCB1dGlsc18xLmluc2VydFBhcmFtcykocGF0aCwgcGF0aFBhcmFtcyk7XG4gICAgY29uc3Qgc2VhcmNoID0gKDAsIHV0aWxzXzEuc3RyaW5naWZ5UXVlcnkpKHF1ZXJ5KTtcbiAgICByZXR1cm4gYCR7YmFzZVVybH0ke3BhdGhuYW1lfSR7c2VhcmNofWA7XG59XG5mdW5jdGlvbiBwb3N0RW5kcG9pbnQoYmFzZVVybCwgcGF0aCwgcGFyYW1zKSB7XG4gICAgY29uc3QgdXJsID0gbWFrZVVybChiYXNlVXJsLCBwYXRoLCBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMucGF0aCwgcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLnF1ZXJ5KTtcbiAgICByZXR1cm4gKDAsIHV0aWxzXzEuZmV0Y2hEYXRhKSh1cmwsIHBhcmFtcyA9PT0gbnVsbCB8fCBwYXJhbXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmFtcy5ib2R5KTtcbn1cbmV4cG9ydHMucG9zdEVuZHBvaW50ID0gcG9zdEVuZHBvaW50O1xuZnVuY3Rpb24gZ2V0RW5kcG9pbnQoYmFzZVVybCwgcGF0aCwgcGFyYW1zLCByYXdVcmwpIHtcbiAgICBpZiAocmF3VXJsKSB7XG4gICAgICAgIHJldHVybiAoMCwgdXRpbHNfMS5mZXRjaERhdGEpKHJhd1VybCk7XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IG1ha2VVcmwoYmFzZVVybCwgcGF0aCwgcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLnBhdGgsIHBhcmFtcyA9PT0gbnVsbCB8fCBwYXJhbXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmFtcy5xdWVyeSk7XG4gICAgcmV0dXJuICgwLCB1dGlsc18xLmZldGNoRGF0YSkodXJsKTtcbn1cbmV4cG9ydHMuZ2V0RW5kcG9pbnQgPSBnZXRFbmRwb2ludDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuZHBvaW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/endpoint.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/index.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getDelegates = exports.confirmSafeMessage = exports.proposeSafeMessage = exports.getSafeMessage = exports.getSafeMessages = exports.getDecodedData = exports.getMasterCopies = exports.getSafeApps = exports.getChainConfig = exports.getChainsConfig = exports.proposeTransaction = exports.postSafeGasEstimation = exports.getTransactionDetails = exports.getTransactionQueue = exports.getTransactionHistory = exports.getCollectiblesPage = exports.getCollectibles = exports.getOwnedSafes = exports.getFiatCurrencies = exports.getBalances = exports.getMultisigTransactions = exports.getModuleTransactions = exports.getIncomingTransfers = exports.getSafeInfo = exports.setBaseUrl = void 0;\nconst endpoint_1 = __webpack_require__(/*! ./endpoint */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/endpoint.js\");\nconst config_1 = __webpack_require__(/*! ./config */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/config.js\");\n__exportStar(__webpack_require__(/*! ./types/safe-info */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-info.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/safe-apps */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-apps.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/transactions */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/transactions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/chains */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/chains.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/common */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/common.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/master-copies */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/master-copies.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/decoded-data */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/decoded-data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types/safe-messages */ \"./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-messages.js\"), exports);\n// Can be set externally to a different CGW host\nlet baseUrl = config_1.DEFAULT_BASE_URL;\n/**\n * Set the base CGW URL\n */\nconst setBaseUrl = (url) => {\n baseUrl = url;\n};\nexports.setBaseUrl = setBaseUrl;\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Get basic information about a Safe. E.g. owners, modules, version etc\n */\nfunction getSafeInfo(chainId, address) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{address}', { path: { chainId, address } });\n}\nexports.getSafeInfo = getSafeInfo;\n/**\n * Get filterable list of incoming transactions\n */\nfunction getIncomingTransfers(chainId, address, query, pageUrl) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{address}/incoming-transfers/', {\n path: { chainId, address },\n query,\n }, pageUrl);\n}\nexports.getIncomingTransfers = getIncomingTransfers;\n/**\n * Get filterable list of module transactions\n */\nfunction getModuleTransactions(chainId, address, query, pageUrl) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{address}/module-transactions/', {\n path: { chainId, address },\n query,\n }, pageUrl);\n}\nexports.getModuleTransactions = getModuleTransactions;\n/**\n * Get filterable list of multisig transactions\n */\nfunction getMultisigTransactions(chainId, address, query, pageUrl) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{address}/multisig-transactions/', {\n path: { chainId, address },\n query,\n }, pageUrl);\n}\nexports.getMultisigTransactions = getMultisigTransactions;\n/**\n * Get the total balance and all assets stored in a Safe\n */\nfunction getBalances(chainId, address, currency = 'usd', query = {}) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{address}/balances/{currency}', {\n path: { chainId, address, currency },\n query,\n });\n}\nexports.getBalances = getBalances;\n/**\n * Get a list of supported fiat currencies (e.g. USD, EUR etc)\n */\nfunction getFiatCurrencies() {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/balances/supported-fiat-codes');\n}\nexports.getFiatCurrencies = getFiatCurrencies;\n/**\n * Get the addresses of all Safes belonging to an owner\n */\nfunction getOwnedSafes(chainId, address) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/owners/{address}/safes', { path: { chainId, address } });\n}\nexports.getOwnedSafes = getOwnedSafes;\n/**\n * Get NFTs stored in a Safe\n */\nfunction getCollectibles(chainId, address, query = {}) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{address}/collectibles', {\n path: { chainId, address },\n query,\n });\n}\nexports.getCollectibles = getCollectibles;\n/**\n * Get NFTs stored in a Safe\n */\nfunction getCollectiblesPage(chainId, address, query = {}, pageUrl) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v2/chains/{chainId}/safes/{address}/collectibles', { path: { chainId, address }, query }, pageUrl);\n}\nexports.getCollectiblesPage = getCollectiblesPage;\n/**\n * Get a list of past Safe transactions\n */\nfunction getTransactionHistory(chainId, address, pageUrl) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{safe_address}/transactions/history', { path: { chainId, safe_address: address }, query: {} }, pageUrl);\n}\nexports.getTransactionHistory = getTransactionHistory;\n/**\n * Get the list of pending transactions\n */\nfunction getTransactionQueue(chainId, address, pageUrl, trusted) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{safe_address}/transactions/queued', { path: { chainId, safe_address: address }, query: { trusted } }, pageUrl);\n}\nexports.getTransactionQueue = getTransactionQueue;\n/**\n * Get the details of an individual transaction by its id\n */\nfunction getTransactionDetails(chainId, transactionId) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/transactions/{transactionId}', {\n path: { chainId, transactionId },\n });\n}\nexports.getTransactionDetails = getTransactionDetails;\n/**\n * Request a gas estimate & recommmended tx nonce for a created transaction\n */\nfunction postSafeGasEstimation(chainId, address, body) {\n return (0, endpoint_1.postEndpoint)(baseUrl, '/v2/chains/{chainId}/safes/{safe_address}/multisig-transactions/estimations', {\n path: { chainId, safe_address: address },\n body,\n });\n}\nexports.postSafeGasEstimation = postSafeGasEstimation;\n/**\n * Propose a new transaction for other owners to sign/execute\n */\nfunction proposeTransaction(chainId, address, body) {\n return (0, endpoint_1.postEndpoint)(baseUrl, '/v1/chains/{chainId}/transactions/{safe_address}/propose', {\n path: { chainId, safe_address: address },\n body,\n });\n}\nexports.proposeTransaction = proposeTransaction;\n/**\n * Returns all defined chain configs\n */\nfunction getChainsConfig(query) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains', {\n query,\n });\n}\nexports.getChainsConfig = getChainsConfig;\n/**\n * Returns a chain config\n */\nfunction getChainConfig(chainId) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}', {\n path: { chainId: chainId },\n });\n}\nexports.getChainConfig = getChainConfig;\n/**\n * Returns Safe Apps List\n */\nfunction getSafeApps(chainId, query = {}) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safe-apps', {\n path: { chainId: chainId },\n query,\n });\n}\nexports.getSafeApps = getSafeApps;\n/**\n * Returns list of Master Copies\n */\nfunction getMasterCopies(chainId) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/about/master-copies', {\n path: { chainId: chainId },\n });\n}\nexports.getMasterCopies = getMasterCopies;\n/**\n * Returns decoded data\n */\nfunction getDecodedData(chainId, encodedData, to) {\n return (0, endpoint_1.postEndpoint)(baseUrl, '/v1/chains/{chainId}/data-decoder', {\n path: { chainId: chainId },\n body: { data: encodedData, to },\n });\n}\nexports.getDecodedData = getDecodedData;\n/**\n * Returns list of `SafeMessage`s\n */\nfunction getSafeMessages(chainId, address, pageUrl) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{safe_address}/messages', { path: { chainId, safe_address: address }, query: {} }, pageUrl);\n}\nexports.getSafeMessages = getSafeMessages;\n/**\n * Returns a `SafeMessage`\n */\nfunction getSafeMessage(chainId, messageHash) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/messages/{message_hash}', {\n path: { chainId, message_hash: messageHash },\n });\n}\nexports.getSafeMessage = getSafeMessage;\n/**\n * Propose a new `SafeMessage` for other owners to sign\n */\nfunction proposeSafeMessage(chainId, address, body) {\n return (0, endpoint_1.postEndpoint)(baseUrl, '/v1/chains/{chainId}/safes/{safe_address}/messages', {\n path: { chainId, safe_address: address },\n body,\n });\n}\nexports.proposeSafeMessage = proposeSafeMessage;\n/**\n * Add a confirmation to a `SafeMessage`\n */\nfunction confirmSafeMessage(chainId, messageHash, body) {\n return (0, endpoint_1.postEndpoint)(baseUrl, '/v1/chains/{chainId}/messages/{message_hash}/signatures', {\n path: { chainId, message_hash: messageHash },\n body,\n });\n}\nexports.confirmSafeMessage = confirmSafeMessage;\n/**\n * Returns a list of delegates\n */\nfunction getDelegates(chainId, query = {}) {\n return (0, endpoint_1.getEndpoint)(baseUrl, '/v1/chains/{chainId}/delegates', {\n path: { chainId },\n query,\n });\n}\nexports.getDelegates = getDelegates;\n/* eslint-enable @typescript-eslint/explicit-module-boundary-types */\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG9DQUFvQztBQUNuRDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQixHQUFHLDBCQUEwQixHQUFHLDBCQUEwQixHQUFHLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLG1CQUFtQixHQUFHLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLDBCQUEwQixHQUFHLDZCQUE2QixHQUFHLDZCQUE2QixHQUFHLDJCQUEyQixHQUFHLDZCQUE2QixHQUFHLDJCQUEyQixHQUFHLHVCQUF1QixHQUFHLHFCQUFxQixHQUFHLHlCQUF5QixHQUFHLG1CQUFtQixHQUFHLCtCQUErQixHQUFHLDZCQUE2QixHQUFHLDRCQUE0QixHQUFHLG1CQUFtQixHQUFHLGtCQUFrQjtBQUN0cUIsbUJBQW1CLG1CQUFPLENBQUMsNEZBQVk7QUFDdkMsaUJBQWlCLG1CQUFPLENBQUMsd0ZBQVU7QUFDbkMsYUFBYSxtQkFBTyxDQUFDLDBHQUFtQjtBQUN4QyxhQUFhLG1CQUFPLENBQUMsMEdBQW1CO0FBQ3hDLGFBQWEsbUJBQU8sQ0FBQyxnSEFBc0I7QUFDM0MsYUFBYSxtQkFBTyxDQUFDLG9HQUFnQjtBQUNyQyxhQUFhLG1CQUFPLENBQUMsb0dBQWdCO0FBQ3JDLGFBQWEsbUJBQU8sQ0FBQyxrSEFBdUI7QUFDNUMsYUFBYSxtQkFBTyxDQUFDLGdIQUFzQjtBQUMzQyxhQUFhLG1CQUFPLENBQUMsa0hBQXVCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFD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QyxhQUFhO0FBQzdKO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELFFBQVEsV0FBVyxhQUFhO0FBQzdGLGdCQUFnQixvQ0FBb0M7QUFDcEQsS0FBSztBQUNMO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOERBQThELFFBQVEsUUFBUSxhQUFhO0FBQzNGLGdCQUFnQixnQ0FBZ0M7QUFDaEQ7QUFDQSxLQUFLO0FBQ0w7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4REFBOEQsUUFBUSxXQUFXLGFBQWE7QUFDOUYsZ0JBQWdCLG9DQUFvQztBQUNwRDtBQUNBLEtBQUs7QUFDTDtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekMsNkRBQTZELFFBQVE7QUFDckUsZ0JBQWdCLFNBQVM7QUFDekI7QUFDQSxLQUFLO0FBQ0w7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L2luZGV4LmpzPzA3OTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19jcmVhdGVCaW5kaW5nID0gKHRoaXMgJiYgdGhpcy5fX2NyZWF0ZUJpbmRpbmcpIHx8IChPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcbiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobSwgayk7XG4gICAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcbiAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBrMiwgZGVzYyk7XG59KSA6IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gICAgb1trMl0gPSBtW2tdO1xufSkpO1xudmFyIF9fZXhwb3J0U3RhciA9ICh0aGlzICYmIHRoaXMuX19leHBvcnRTdGFyKSB8fCBmdW5jdGlvbihtLCBleHBvcnRzKSB7XG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChleHBvcnRzLCBwKSkgX19jcmVhdGVCaW5kaW5nKGV4cG9ydHMsIG0sIHApO1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0RGVsZWdhdGVzID0gZXhwb3J0cy5jb25maXJtU2FmZU1lc3NhZ2UgPSBleHBvcnRzLnByb3Bvc2VTYWZlTWVzc2FnZSA9IGV4cG9ydHMuZ2V0U2FmZU1lc3NhZ2UgPSBleHBvcnRzLmdldFNhZmVNZXNzYWdlcyA9IGV4cG9ydHMuZ2V0RGVjb2RlZERhdGEgPSBleHBvcnRzLmdldE1hc3RlckNvcGllcyA9IGV4cG9ydHMuZ2V0U2FmZUFwcHMgPSBleHBvcnRzLmdldENoYWluQ29uZmlnID0gZXhwb3J0cy5nZXRDaGFpbnNDb25maWcgPSBleHBvcnRzLnByb3Bvc2VUcmFuc2FjdGlvbiA9IGV4cG9ydHMucG9zdFNhZmVHYXNFc3RpbWF0aW9uID0gZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkRldGFpbHMgPSBleHBvcnRzLmdldFRyYW5zYWN0aW9uUXVldWUgPSBleHBvcnRzLmdldFRyYW5zYWN0aW9uSGlzdG9yeSA9IGV4cG9ydHMuZ2V0Q29sbGVjdGlibGVzUGFnZSA9IGV4cG9ydHMuZ2V0Q29sbGVjdGlibGVzID0gZXhwb3J0cy5nZXRPd25lZFNhZmVzID0gZXhwb3J0cy5nZXRGaWF0Q3VycmVuY2llcyA9IGV4cG9ydHMuZ2V0QmFsYW5jZXMgPSBleHBvcnRzLmdldE11bHRpc2lnVHJhbnNhY3Rpb25zID0gZXhwb3J0cy5nZXRNb2R1bGVUcmFuc2FjdGlvbnMgPSBleHBvcnRzLmdldEluY29taW5nVHJhbnNmZXJzID0gZXhwb3J0cy5nZXRTYWZlSW5mbyA9IGV4cG9ydHMuc2V0QmFzZVVybCA9IHZvaWQgMDtcbmNvbnN0IGVuZHBvaW50XzEgPSByZXF1aXJlKFwiLi9lbmRwb2ludFwiKTtcbmNvbnN0IGNvbmZpZ18xID0gcmVxdWlyZShcIi4vY29uZmlnXCIpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3R5cGVzL3NhZmUtaW5mb1wiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vdHlwZXMvc2FmZS1hcHBzXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi90eXBlcy90cmFuc2FjdGlvbnNcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3R5cGVzL2NoYWluc1wiKSwgZXhwb3J0cyk7XG5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vdHlwZXMvY29tbW9uXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi90eXBlcy9tYXN0ZXItY29waWVzXCIpLCBleHBvcnRzKTtcbl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi90eXBlcy9kZWNvZGVkLWRhdGFcIiksIGV4cG9ydHMpO1xuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3R5cGVzL3NhZmUtbWVzc2FnZXNcIiksIGV4cG9ydHMpO1xuLy8gQ2FuIGJlIHNldCBleHRlcm5hbGx5IHRvIGEgZGlmZmVyZW50IENHVyBob3N0XG5sZXQgYmFzZVVybCA9IGNvbmZpZ18xLkRFRkFVTFRfQkFTRV9VUkw7XG4vKipcbiAqIFNldCB0aGUgYmFzZSBDR1cgVVJMXG4gKi9cbmNvbnN0IHNldEJhc2VVcmwgPSAodXJsKSA9PiB7XG4gICAgYmFzZVVybCA9IHVybDtcbn07XG5leHBvcnRzLnNldEJhc2VVcmwgPSBzZXRCYXNlVXJsO1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlcyAqL1xuLyoqXG4gKiBHZXQgYmFzaWMgaW5mb3JtYXRpb24gYWJvdXQgYSBTYWZlLiBFLmcuIG93bmVycywgbW9kdWxlcywgdmVyc2lvbiBldGNcbiAqL1xuZnVuY3Rpb24gZ2V0U2FmZUluZm8oY2hhaW5JZCwgYWRkcmVzcykge1xuICAgIHJldHVybiAoMCwgZW5kcG9pbnRfMS5nZXRFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMve2NoYWluSWR9L3NhZmVzL3thZGRyZXNzfScsIHsgcGF0aDogeyBjaGFpbklkLCBhZGRyZXNzIH0gfSk7XG59XG5leHBvcnRzLmdldFNhZmVJbmZvID0gZ2V0U2FmZUluZm87XG4vKipcbiAqIEdldCBmaWx0ZXJhYmxlIGxpc3Qgb2YgaW5jb21pbmcgdHJhbnNhY3Rpb25zXG4gKi9cbmZ1bmN0aW9uIGdldEluY29taW5nVHJhbnNmZXJzKGNoYWluSWQsIGFkZHJlc3MsIHF1ZXJ5LCBwYWdlVXJsKSB7XG4gICAgcmV0dXJuICgwLCBlbmRwb2ludF8xLmdldEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vc2FmZXMve2FkZHJlc3N9L2luY29taW5nLXRyYW5zZmVycy8nLCB7XG4gICAgICAgIHBhdGg6IHsgY2hhaW5JZCwgYWRkcmVzcyB9LFxuICAgICAgICBxdWVyeSxcbiAgICB9LCBwYWdlVXJsKTtcbn1cbmV4cG9ydHMuZ2V0SW5jb21pbmdUcmFuc2ZlcnMgPSBnZXRJbmNvbWluZ1RyYW5zZmVycztcbi8qKlxuICogR2V0IGZpbHRlcmFibGUgbGlzdCBvZiBtb2R1bGUgdHJhbnNhY3Rpb25zXG4gKi9cbmZ1bmN0aW9uIGdldE1vZHVsZVRyYW5zYWN0aW9ucyhjaGFpbklkLCBhZGRyZXNzLCBxdWVyeSwgcGFnZVVybCkge1xuICAgIHJldHVybiAoMCwgZW5kcG9pbnRfMS5nZXRFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMve2NoYWluSWR9L3NhZmVzL3thZGRyZXNzfS9tb2R1bGUtdHJhbnNhY3Rpb25zLycsIHtcbiAgICAgICAgcGF0aDogeyBjaGFpbklkLCBhZGRyZXNzIH0sXG4gICAgICAgIHF1ZXJ5LFxuICAgIH0sIHBhZ2VVcmwpO1xufVxuZXhwb3J0cy5nZXRNb2R1bGVUcmFuc2FjdGlvbnMgPSBnZXRNb2R1bGVUcmFuc2FjdGlvbnM7XG4vKipcbiAqIEdldCBmaWx0ZXJhYmxlIGxpc3Qgb2YgbXVsdGlzaWcgdHJhbnNhY3Rpb25zXG4gKi9cbmZ1bmN0aW9uIGdldE11bHRpc2lnVHJhbnNhY3Rpb25zKGNoYWluSWQsIGFkZHJlc3MsIHF1ZXJ5LCBwYWdlVXJsKSB7XG4gICAgcmV0dXJuICgwLCBlbmRwb2ludF8xLmdldEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vc2FmZXMve2FkZHJlc3N9L211bHRpc2lnLXRyYW5zYWN0aW9ucy8nLCB7XG4gICAgICAgIHBhdGg6IHsgY2hhaW5JZCwgYWRkcmVzcyB9LFxuICAgICAgICBxdWVyeSxcbiAgICB9LCBwYWdlVXJsKTtcbn1cbmV4cG9ydHMuZ2V0TXVsdGlzaWdUcmFuc2FjdGlvbnMgPSBnZXRNdWx0aXNpZ1RyYW5zYWN0aW9ucztcbi8qKlxuICogR2V0IHRoZSB0b3RhbCBiYWxhbmNlIGFuZCBhbGwgYXNzZXRzIHN0b3JlZCBpbiBhIFNhZmVcbiAqL1xuZnVuY3Rpb24gZ2V0QmFsYW5jZXMoY2hhaW5JZCwgYWRkcmVzcywgY3VycmVuY3kgPSAndXNkJywgcXVlcnkgPSB7fSkge1xuICAgIHJldHVybiAoMCwgZW5kcG9pbnRfMS5nZXRFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMve2NoYWluSWR9L3NhZmVzL3thZGRyZXNzfS9iYWxhbmNlcy97Y3VycmVuY3l9Jywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQsIGFkZHJlc3MsIGN1cnJlbmN5IH0sXG4gICAgICAgIHF1ZXJ5LFxuICAgIH0pO1xufVxuZXhwb3J0cy5nZXRCYWxhbmNlcyA9IGdldEJhbGFuY2VzO1xuLyoqXG4gKiBHZXQgYSBsaXN0IG9mIHN1cHBvcnRlZCBmaWF0IGN1cnJlbmNpZXMgKGUuZy4gVVNELCBFVVIgZXRjKVxuICovXG5mdW5jdGlvbiBnZXRGaWF0Q3VycmVuY2llcygpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvYmFsYW5jZXMvc3VwcG9ydGVkLWZpYXQtY29kZXMnKTtcbn1cbmV4cG9ydHMuZ2V0RmlhdEN1cnJlbmNpZXMgPSBnZXRGaWF0Q3VycmVuY2llcztcbi8qKlxuICogR2V0IHRoZSBhZGRyZXNzZXMgb2YgYWxsIFNhZmVzIGJlbG9uZ2luZyB0byBhbiBvd25lclxuICovXG5mdW5jdGlvbiBnZXRPd25lZFNhZmVzKGNoYWluSWQsIGFkZHJlc3MpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvY2hhaW5zL3tjaGFpbklkfS9vd25lcnMve2FkZHJlc3N9L3NhZmVzJywgeyBwYXRoOiB7IGNoYWluSWQsIGFkZHJlc3MgfSB9KTtcbn1cbmV4cG9ydHMuZ2V0T3duZWRTYWZlcyA9IGdldE93bmVkU2FmZXM7XG4vKipcbiAqIEdldCBORlRzIHN0b3JlZCBpbiBhIFNhZmVcbiAqL1xuZnVuY3Rpb24gZ2V0Q29sbGVjdGlibGVzKGNoYWluSWQsIGFkZHJlc3MsIHF1ZXJ5ID0ge30pIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvY2hhaW5zL3tjaGFpbklkfS9zYWZlcy97YWRkcmVzc30vY29sbGVjdGlibGVzJywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQsIGFkZHJlc3MgfSxcbiAgICAgICAgcXVlcnksXG4gICAgfSk7XG59XG5leHBvcnRzLmdldENvbGxlY3RpYmxlcyA9IGdldENvbGxlY3RpYmxlcztcbi8qKlxuICogR2V0IE5GVHMgc3RvcmVkIGluIGEgU2FmZVxuICovXG5mdW5jdGlvbiBnZXRDb2xsZWN0aWJsZXNQYWdlKGNoYWluSWQsIGFkZHJlc3MsIHF1ZXJ5ID0ge30sIHBhZ2VVcmwpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjIvY2hhaW5zL3tjaGFpbklkfS9zYWZlcy97YWRkcmVzc30vY29sbGVjdGlibGVzJywgeyBwYXRoOiB7IGNoYWluSWQsIGFkZHJlc3MgfSwgcXVlcnkgfSwgcGFnZVVybCk7XG59XG5leHBvcnRzLmdldENvbGxlY3RpYmxlc1BhZ2UgPSBnZXRDb2xsZWN0aWJsZXNQYWdlO1xuLyoqXG4gKiBHZXQgYSBsaXN0IG9mIHBhc3QgU2FmZSB0cmFuc2FjdGlvbnNcbiAqL1xuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25IaXN0b3J5KGNoYWluSWQsIGFkZHJlc3MsIHBhZ2VVcmwpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvY2hhaW5zL3tjaGFpbklkfS9zYWZlcy97c2FmZV9hZGRyZXNzfS90cmFuc2FjdGlvbnMvaGlzdG9yeScsIHsgcGF0aDogeyBjaGFpbklkLCBzYWZlX2FkZHJlc3M6IGFkZHJlc3MgfSwgcXVlcnk6IHt9IH0sIHBhZ2VVcmwpO1xufVxuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkhpc3RvcnkgPSBnZXRUcmFuc2FjdGlvbkhpc3Rvcnk7XG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBwZW5kaW5nIHRyYW5zYWN0aW9uc1xuICovXG5mdW5jdGlvbiBnZXRUcmFuc2FjdGlvblF1ZXVlKGNoYWluSWQsIGFkZHJlc3MsIHBhZ2VVcmwsIHRydXN0ZWQpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvY2hhaW5zL3tjaGFpbklkfS9zYWZlcy97c2FmZV9hZGRyZXNzfS90cmFuc2FjdGlvbnMvcXVldWVkJywgeyBwYXRoOiB7IGNoYWluSWQsIHNhZmVfYWRkcmVzczogYWRkcmVzcyB9LCBxdWVyeTogeyB0cnVzdGVkIH0gfSwgcGFnZVVybCk7XG59XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uUXVldWUgPSBnZXRUcmFuc2FjdGlvblF1ZXVlO1xuLyoqXG4gKiBHZXQgdGhlIGRldGFpbHMgb2YgYW4gaW5kaXZpZHVhbCB0cmFuc2FjdGlvbiBieSBpdHMgaWRcbiAqL1xuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25EZXRhaWxzKGNoYWluSWQsIHRyYW5zYWN0aW9uSWQpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvY2hhaW5zL3tjaGFpbklkfS90cmFuc2FjdGlvbnMve3RyYW5zYWN0aW9uSWR9Jywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQsIHRyYW5zYWN0aW9uSWQgfSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZ2V0VHJhbnNhY3Rpb25EZXRhaWxzID0gZ2V0VHJhbnNhY3Rpb25EZXRhaWxzO1xuLyoqXG4gKiBSZXF1ZXN0IGEgZ2FzIGVzdGltYXRlICYgcmVjb21tbWVuZGVkIHR4IG5vbmNlIGZvciBhIGNyZWF0ZWQgdHJhbnNhY3Rpb25cbiAqL1xuZnVuY3Rpb24gcG9zdFNhZmVHYXNFc3RpbWF0aW9uKGNoYWluSWQsIGFkZHJlc3MsIGJvZHkpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEucG9zdEVuZHBvaW50KShiYXNlVXJsLCAnL3YyL2NoYWlucy97Y2hhaW5JZH0vc2FmZXMve3NhZmVfYWRkcmVzc30vbXVsdGlzaWctdHJhbnNhY3Rpb25zL2VzdGltYXRpb25zJywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQsIHNhZmVfYWRkcmVzczogYWRkcmVzcyB9LFxuICAgICAgICBib2R5LFxuICAgIH0pO1xufVxuZXhwb3J0cy5wb3N0U2FmZUdhc0VzdGltYXRpb24gPSBwb3N0U2FmZUdhc0VzdGltYXRpb247XG4vKipcbiAqIFByb3Bvc2UgYSBuZXcgdHJhbnNhY3Rpb24gZm9yIG90aGVyIG93bmVycyB0byBzaWduL2V4ZWN1dGVcbiAqL1xuZnVuY3Rpb24gcHJvcG9zZVRyYW5zYWN0aW9uKGNoYWluSWQsIGFkZHJlc3MsIGJvZHkpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEucG9zdEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vdHJhbnNhY3Rpb25zL3tzYWZlX2FkZHJlc3N9L3Byb3Bvc2UnLCB7XG4gICAgICAgIHBhdGg6IHsgY2hhaW5JZCwgc2FmZV9hZGRyZXNzOiBhZGRyZXNzIH0sXG4gICAgICAgIGJvZHksXG4gICAgfSk7XG59XG5leHBvcnRzLnByb3Bvc2VUcmFuc2FjdGlvbiA9IHByb3Bvc2VUcmFuc2FjdGlvbjtcbi8qKlxuICogUmV0dXJucyBhbGwgZGVmaW5lZCBjaGFpbiBjb25maWdzXG4gKi9cbmZ1bmN0aW9uIGdldENoYWluc0NvbmZpZyhxdWVyeSkge1xuICAgIHJldHVybiAoMCwgZW5kcG9pbnRfMS5nZXRFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMnLCB7XG4gICAgICAgIHF1ZXJ5LFxuICAgIH0pO1xufVxuZXhwb3J0cy5nZXRDaGFpbnNDb25maWcgPSBnZXRDaGFpbnNDb25maWc7XG4vKipcbiAqIFJldHVybnMgYSBjaGFpbiBjb25maWdcbiAqL1xuZnVuY3Rpb24gZ2V0Q2hhaW5Db25maWcoY2hhaW5JZCkge1xuICAgIHJldHVybiAoMCwgZW5kcG9pbnRfMS5nZXRFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMve2NoYWluSWR9Jywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQ6IGNoYWluSWQgfSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZ2V0Q2hhaW5Db25maWcgPSBnZXRDaGFpbkNvbmZpZztcbi8qKlxuICogUmV0dXJucyBTYWZlIEFwcHMgTGlzdFxuICovXG5mdW5jdGlvbiBnZXRTYWZlQXBwcyhjaGFpbklkLCBxdWVyeSA9IHt9KSB7XG4gICAgcmV0dXJuICgwLCBlbmRwb2ludF8xLmdldEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vc2FmZS1hcHBzJywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQ6IGNoYWluSWQgfSxcbiAgICAgICAgcXVlcnksXG4gICAgfSk7XG59XG5leHBvcnRzLmdldFNhZmVBcHBzID0gZ2V0U2FmZUFwcHM7XG4vKipcbiAqIFJldHVybnMgbGlzdCBvZiBNYXN0ZXIgQ29waWVzXG4gKi9cbmZ1bmN0aW9uIGdldE1hc3RlckNvcGllcyhjaGFpbklkKSB7XG4gICAgcmV0dXJuICgwLCBlbmRwb2ludF8xLmdldEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vYWJvdXQvbWFzdGVyLWNvcGllcycsIHtcbiAgICAgICAgcGF0aDogeyBjaGFpbklkOiBjaGFpbklkIH0sXG4gICAgfSk7XG59XG5leHBvcnRzLmdldE1hc3RlckNvcGllcyA9IGdldE1hc3RlckNvcGllcztcbi8qKlxuICogUmV0dXJucyBkZWNvZGVkIGRhdGFcbiAqL1xuZnVuY3Rpb24gZ2V0RGVjb2RlZERhdGEoY2hhaW5JZCwgZW5jb2RlZERhdGEsIHRvKSB7XG4gICAgcmV0dXJuICgwLCBlbmRwb2ludF8xLnBvc3RFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMve2NoYWluSWR9L2RhdGEtZGVjb2RlcicsIHtcbiAgICAgICAgcGF0aDogeyBjaGFpbklkOiBjaGFpbklkIH0sXG4gICAgICAgIGJvZHk6IHsgZGF0YTogZW5jb2RlZERhdGEsIHRvIH0sXG4gICAgfSk7XG59XG5leHBvcnRzLmdldERlY29kZWREYXRhID0gZ2V0RGVjb2RlZERhdGE7XG4vKipcbiAqIFJldHVybnMgbGlzdCBvZiBgU2FmZU1lc3NhZ2Vgc1xuICovXG5mdW5jdGlvbiBnZXRTYWZlTWVzc2FnZXMoY2hhaW5JZCwgYWRkcmVzcywgcGFnZVVybCkge1xuICAgIHJldHVybiAoMCwgZW5kcG9pbnRfMS5nZXRFbmRwb2ludCkoYmFzZVVybCwgJy92MS9jaGFpbnMve2NoYWluSWR9L3NhZmVzL3tzYWZlX2FkZHJlc3N9L21lc3NhZ2VzJywgeyBwYXRoOiB7IGNoYWluSWQsIHNhZmVfYWRkcmVzczogYWRkcmVzcyB9LCBxdWVyeToge30gfSwgcGFnZVVybCk7XG59XG5leHBvcnRzLmdldFNhZmVNZXNzYWdlcyA9IGdldFNhZmVNZXNzYWdlcztcbi8qKlxuICogUmV0dXJucyBhIGBTYWZlTWVzc2FnZWBcbiAqL1xuZnVuY3Rpb24gZ2V0U2FmZU1lc3NhZ2UoY2hhaW5JZCwgbWVzc2FnZUhhc2gpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEuZ2V0RW5kcG9pbnQpKGJhc2VVcmwsICcvdjEvY2hhaW5zL3tjaGFpbklkfS9tZXNzYWdlcy97bWVzc2FnZV9oYXNofScsIHtcbiAgICAgICAgcGF0aDogeyBjaGFpbklkLCBtZXNzYWdlX2hhc2g6IG1lc3NhZ2VIYXNoIH0sXG4gICAgfSk7XG59XG5leHBvcnRzLmdldFNhZmVNZXNzYWdlID0gZ2V0U2FmZU1lc3NhZ2U7XG4vKipcbiAqIFByb3Bvc2UgYSBuZXcgYFNhZmVNZXNzYWdlYCBmb3Igb3RoZXIgb3duZXJzIHRvIHNpZ25cbiAqL1xuZnVuY3Rpb24gcHJvcG9zZVNhZmVNZXNzYWdlKGNoYWluSWQsIGFkZHJlc3MsIGJvZHkpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEucG9zdEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vc2FmZXMve3NhZmVfYWRkcmVzc30vbWVzc2FnZXMnLCB7XG4gICAgICAgIHBhdGg6IHsgY2hhaW5JZCwgc2FmZV9hZGRyZXNzOiBhZGRyZXNzIH0sXG4gICAgICAgIGJvZHksXG4gICAgfSk7XG59XG5leHBvcnRzLnByb3Bvc2VTYWZlTWVzc2FnZSA9IHByb3Bvc2VTYWZlTWVzc2FnZTtcbi8qKlxuICogQWRkIGEgY29uZmlybWF0aW9uIHRvIGEgYFNhZmVNZXNzYWdlYFxuICovXG5mdW5jdGlvbiBjb25maXJtU2FmZU1lc3NhZ2UoY2hhaW5JZCwgbWVzc2FnZUhhc2gsIGJvZHkpIHtcbiAgICByZXR1cm4gKDAsIGVuZHBvaW50XzEucG9zdEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vbWVzc2FnZXMve21lc3NhZ2VfaGFzaH0vc2lnbmF0dXJlcycsIHtcbiAgICAgICAgcGF0aDogeyBjaGFpbklkLCBtZXNzYWdlX2hhc2g6IG1lc3NhZ2VIYXNoIH0sXG4gICAgICAgIGJvZHksXG4gICAgfSk7XG59XG5leHBvcnRzLmNvbmZpcm1TYWZlTWVzc2FnZSA9IGNvbmZpcm1TYWZlTWVzc2FnZTtcbi8qKlxuICogUmV0dXJucyBhIGxpc3Qgb2YgZGVsZWdhdGVzXG4gKi9cbmZ1bmN0aW9uIGdldERlbGVnYXRlcyhjaGFpbklkLCBxdWVyeSA9IHt9KSB7XG4gICAgcmV0dXJuICgwLCBlbmRwb2ludF8xLmdldEVuZHBvaW50KShiYXNlVXJsLCAnL3YxL2NoYWlucy97Y2hhaW5JZH0vZGVsZWdhdGVzJywge1xuICAgICAgICBwYXRoOiB7IGNoYWluSWQgfSxcbiAgICAgICAgcXVlcnksXG4gICAgfSk7XG59XG5leHBvcnRzLmdldERlbGVnYXRlcyA9IGdldERlbGVnYXRlcztcbi8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlcyAqL1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/chains.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/chains.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FEATURES = exports.GAS_PRICE_TYPE = exports.RPC_AUTHENTICATION = void 0;\nvar RPC_AUTHENTICATION;\n(function (RPC_AUTHENTICATION) {\n RPC_AUTHENTICATION[\"API_KEY_PATH\"] = \"API_KEY_PATH\";\n RPC_AUTHENTICATION[\"NO_AUTHENTICATION\"] = \"NO_AUTHENTICATION\";\n RPC_AUTHENTICATION[\"UNKNOWN\"] = \"UNKNOWN\";\n})(RPC_AUTHENTICATION = exports.RPC_AUTHENTICATION || (exports.RPC_AUTHENTICATION = {}));\nvar GAS_PRICE_TYPE;\n(function (GAS_PRICE_TYPE) {\n GAS_PRICE_TYPE[\"ORACLE\"] = \"ORACLE\";\n GAS_PRICE_TYPE[\"FIXED\"] = \"FIXED\";\n GAS_PRICE_TYPE[\"UNKNOWN\"] = \"UNKNOWN\";\n})(GAS_PRICE_TYPE = exports.GAS_PRICE_TYPE || (exports.GAS_PRICE_TYPE = {}));\nvar FEATURES;\n(function (FEATURES) {\n FEATURES[\"ERC721\"] = \"ERC721\";\n FEATURES[\"SAFE_APPS\"] = \"SAFE_APPS\";\n FEATURES[\"CONTRACT_INTERACTION\"] = \"CONTRACT_INTERACTION\";\n FEATURES[\"DOMAIN_LOOKUP\"] = \"DOMAIN_LOOKUP\";\n FEATURES[\"SPENDING_LIMIT\"] = \"SPENDING_LIMIT\";\n FEATURES[\"EIP1559\"] = \"EIP1559\";\n FEATURES[\"SAFE_TX_GAS_OPTIONAL\"] = \"SAFE_TX_GAS_OPTIONAL\";\n FEATURES[\"TX_SIMULATION\"] = \"TX_SIMULATION\";\n FEATURES[\"EIP1271\"] = \"EIP1271\";\n})(FEATURES = exports.FEATURES || (exports.FEATURES = {}));\n//# sourceMappingURL=chains.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL2NoYWlucy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsR0FBRyxzQkFBc0IsR0FBRywwQkFBMEI7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsc0RBQXNELDBCQUEwQixLQUFLO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLDhDQUE4QyxzQkFBc0IsS0FBSztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxrQ0FBa0MsZ0JBQWdCLEtBQUs7QUFDeEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWdhdGV3YXktdHlwZXNjcmlwdC1zZGsvZGlzdC90eXBlcy9jaGFpbnMuanM/MTgzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuRkVBVFVSRVMgPSBleHBvcnRzLkdBU19QUklDRV9UWVBFID0gZXhwb3J0cy5SUENfQVVUSEVOVElDQVRJT04gPSB2b2lkIDA7XG52YXIgUlBDX0FVVEhFTlRJQ0FUSU9OO1xuKGZ1bmN0aW9uIChSUENfQVVUSEVOVElDQVRJT04pIHtcbiAgICBSUENfQVVUSEVOVElDQVRJT05bXCJBUElfS0VZX1BBVEhcIl0gPSBcIkFQSV9LRVlfUEFUSFwiO1xuICAgIFJQQ19BVVRIRU5USUNBVElPTltcIk5PX0FVVEhFTlRJQ0FUSU9OXCJdID0gXCJOT19BVVRIRU5USUNBVElPTlwiO1xuICAgIFJQQ19BVVRIRU5USUNBVElPTltcIlVOS05PV05cIl0gPSBcIlVOS05PV05cIjtcbn0pKFJQQ19BVVRIRU5USUNBVElPTiA9IGV4cG9ydHMuUlBDX0FVVEhFTlRJQ0FUSU9OIHx8IChleHBvcnRzLlJQQ19BVVRIRU5USUNBVElPTiA9IHt9KSk7XG52YXIgR0FTX1BSSUNFX1RZUEU7XG4oZnVuY3Rpb24gKEdBU19QUklDRV9UWVBFKSB7XG4gICAgR0FTX1BSSUNFX1RZUEVbXCJPUkFDTEVcIl0gPSBcIk9SQUNMRVwiO1xuICAgIEdBU19QUklDRV9UWVBFW1wiRklYRURcIl0gPSBcIkZJWEVEXCI7XG4gICAgR0FTX1BSSUNFX1RZUEVbXCJVTktOT1dOXCJdID0gXCJVTktOT1dOXCI7XG59KShHQVNfUFJJQ0VfVFlQRSA9IGV4cG9ydHMuR0FTX1BSSUNFX1RZUEUgfHwgKGV4cG9ydHMuR0FTX1BSSUNFX1RZUEUgPSB7fSkpO1xudmFyIEZFQVRVUkVTO1xuKGZ1bmN0aW9uIChGRUFUVVJFUykge1xuICAgIEZFQVRVUkVTW1wiRVJDNzIxXCJdID0gXCJFUkM3MjFcIjtcbiAgICBGRUFUVVJFU1tcIlNBRkVfQVBQU1wiXSA9IFwiU0FGRV9BUFBTXCI7XG4gICAgRkVBVFVSRVNbXCJDT05UUkFDVF9JTlRFUkFDVElPTlwiXSA9IFwiQ09OVFJBQ1RfSU5URVJBQ1RJT05cIjtcbiAgICBGRUFUVVJFU1tcIkRPTUFJTl9MT09LVVBcIl0gPSBcIkRPTUFJTl9MT09LVVBcIjtcbiAgICBGRUFUVVJFU1tcIlNQRU5ESU5HX0xJTUlUXCJdID0gXCJTUEVORElOR19MSU1JVFwiO1xuICAgIEZFQVRVUkVTW1wiRUlQMTU1OVwiXSA9IFwiRUlQMTU1OVwiO1xuICAgIEZFQVRVUkVTW1wiU0FGRV9UWF9HQVNfT1BUSU9OQUxcIl0gPSBcIlNBRkVfVFhfR0FTX09QVElPTkFMXCI7XG4gICAgRkVBVFVSRVNbXCJUWF9TSU1VTEFUSU9OXCJdID0gXCJUWF9TSU1VTEFUSU9OXCI7XG4gICAgRkVBVFVSRVNbXCJFSVAxMjcxXCJdID0gXCJFSVAxMjcxXCI7XG59KShGRUFUVVJFUyA9IGV4cG9ydHMuRkVBVFVSRVMgfHwgKGV4cG9ydHMuRkVBVFVSRVMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2hhaW5zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/chains.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/common.js": -/*!************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/common.js ***! - \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TokenType = void 0;\nvar TokenType;\n(function (TokenType) {\n TokenType[\"ERC20\"] = \"ERC20\";\n TokenType[\"ERC721\"] = \"ERC721\";\n TokenType[\"NATIVE_TOKEN\"] = \"NATIVE_TOKEN\";\n})(TokenType = exports.TokenType || (exports.TokenType = {}));\n//# sourceMappingURL=common.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL2NvbW1vbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsb0NBQW9DLGlCQUFpQixLQUFLO0FBQzNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1nYXRld2F5LXR5cGVzY3JpcHQtc2RrL2Rpc3QvdHlwZXMvY29tbW9uLmpzP2FhYzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlRva2VuVHlwZSA9IHZvaWQgMDtcbnZhciBUb2tlblR5cGU7XG4oZnVuY3Rpb24gKFRva2VuVHlwZSkge1xuICAgIFRva2VuVHlwZVtcIkVSQzIwXCJdID0gXCJFUkMyMFwiO1xuICAgIFRva2VuVHlwZVtcIkVSQzcyMVwiXSA9IFwiRVJDNzIxXCI7XG4gICAgVG9rZW5UeXBlW1wiTkFUSVZFX1RPS0VOXCJdID0gXCJOQVRJVkVfVE9LRU5cIjtcbn0pKFRva2VuVHlwZSA9IGV4cG9ydHMuVG9rZW5UeXBlIHx8IChleHBvcnRzLlRva2VuVHlwZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb21tb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/common.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/decoded-data.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/decoded-data.js ***! - \******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=decoded-data.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL2RlY29kZWQtZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL2RlY29kZWQtZGF0YS5qcz8wZDBjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVjb2RlZC1kYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/decoded-data.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/master-copies.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/master-copies.js ***! - \*******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=master-copies.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL21hc3Rlci1jb3BpZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWdhdGV3YXktdHlwZXNjcmlwdC1zZGsvZGlzdC90eXBlcy9tYXN0ZXItY29waWVzLmpzP2I0NmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tYXN0ZXItY29waWVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/master-copies.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-apps.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-apps.js ***! - \***************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SafeAppSocialPlatforms = exports.SafeAppFeatures = exports.SafeAppAccessPolicyTypes = void 0;\nvar SafeAppAccessPolicyTypes;\n(function (SafeAppAccessPolicyTypes) {\n SafeAppAccessPolicyTypes[\"NoRestrictions\"] = \"NO_RESTRICTIONS\";\n SafeAppAccessPolicyTypes[\"DomainAllowlist\"] = \"DOMAIN_ALLOWLIST\";\n})(SafeAppAccessPolicyTypes = exports.SafeAppAccessPolicyTypes || (exports.SafeAppAccessPolicyTypes = {}));\nvar SafeAppFeatures;\n(function (SafeAppFeatures) {\n SafeAppFeatures[\"BATCHED_TRANSACTIONS\"] = \"BATCHED_TRANSACTIONS\";\n})(SafeAppFeatures = exports.SafeAppFeatures || (exports.SafeAppFeatures = {}));\nvar SafeAppSocialPlatforms;\n(function (SafeAppSocialPlatforms) {\n SafeAppSocialPlatforms[\"TWITTER\"] = \"TWITTER\";\n SafeAppSocialPlatforms[\"GITHUB\"] = \"GITHUB\";\n SafeAppSocialPlatforms[\"DISCORD\"] = \"DISCORD\";\n})(SafeAppSocialPlatforms = exports.SafeAppSocialPlatforms || (exports.SafeAppSocialPlatforms = {}));\n//# sourceMappingURL=safe-apps.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL3NhZmUtYXBwcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw4QkFBOEIsR0FBRyx1QkFBdUIsR0FBRyxnQ0FBZ0M7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtFQUFrRSxnQ0FBZ0MsS0FBSztBQUN4RztBQUNBO0FBQ0E7QUFDQSxDQUFDLGdEQUFnRCx1QkFBdUIsS0FBSztBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4REFBOEQsOEJBQThCLEtBQUs7QUFDbEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWdhdGV3YXktdHlwZXNjcmlwdC1zZGsvZGlzdC90eXBlcy9zYWZlLWFwcHMuanM/ZTk3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU2FmZUFwcFNvY2lhbFBsYXRmb3JtcyA9IGV4cG9ydHMuU2FmZUFwcEZlYXR1cmVzID0gZXhwb3J0cy5TYWZlQXBwQWNjZXNzUG9saWN5VHlwZXMgPSB2b2lkIDA7XG52YXIgU2FmZUFwcEFjY2Vzc1BvbGljeVR5cGVzO1xuKGZ1bmN0aW9uIChTYWZlQXBwQWNjZXNzUG9saWN5VHlwZXMpIHtcbiAgICBTYWZlQXBwQWNjZXNzUG9saWN5VHlwZXNbXCJOb1Jlc3RyaWN0aW9uc1wiXSA9IFwiTk9fUkVTVFJJQ1RJT05TXCI7XG4gICAgU2FmZUFwcEFjY2Vzc1BvbGljeVR5cGVzW1wiRG9tYWluQWxsb3dsaXN0XCJdID0gXCJET01BSU5fQUxMT1dMSVNUXCI7XG59KShTYWZlQXBwQWNjZXNzUG9saWN5VHlwZXMgPSBleHBvcnRzLlNhZmVBcHBBY2Nlc3NQb2xpY3lUeXBlcyB8fCAoZXhwb3J0cy5TYWZlQXBwQWNjZXNzUG9saWN5VHlwZXMgPSB7fSkpO1xudmFyIFNhZmVBcHBGZWF0dXJlcztcbihmdW5jdGlvbiAoU2FmZUFwcEZlYXR1cmVzKSB7XG4gICAgU2FmZUFwcEZlYXR1cmVzW1wiQkFUQ0hFRF9UUkFOU0FDVElPTlNcIl0gPSBcIkJBVENIRURfVFJBTlNBQ1RJT05TXCI7XG59KShTYWZlQXBwRmVhdHVyZXMgPSBleHBvcnRzLlNhZmVBcHBGZWF0dXJlcyB8fCAoZXhwb3J0cy5TYWZlQXBwRmVhdHVyZXMgPSB7fSkpO1xudmFyIFNhZmVBcHBTb2NpYWxQbGF0Zm9ybXM7XG4oZnVuY3Rpb24gKFNhZmVBcHBTb2NpYWxQbGF0Zm9ybXMpIHtcbiAgICBTYWZlQXBwU29jaWFsUGxhdGZvcm1zW1wiVFdJVFRFUlwiXSA9IFwiVFdJVFRFUlwiO1xuICAgIFNhZmVBcHBTb2NpYWxQbGF0Zm9ybXNbXCJHSVRIVUJcIl0gPSBcIkdJVEhVQlwiO1xuICAgIFNhZmVBcHBTb2NpYWxQbGF0Zm9ybXNbXCJESVNDT1JEXCJdID0gXCJESVNDT1JEXCI7XG59KShTYWZlQXBwU29jaWFsUGxhdGZvcm1zID0gZXhwb3J0cy5TYWZlQXBwU29jaWFsUGxhdGZvcm1zIHx8IChleHBvcnRzLlNhZmVBcHBTb2NpYWxQbGF0Zm9ybXMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2FmZS1hcHBzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-apps.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-info.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-info.js ***! - \***************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImplementationVersionState = void 0;\nvar ImplementationVersionState;\n(function (ImplementationVersionState) {\n ImplementationVersionState[\"UP_TO_DATE\"] = \"UP_TO_DATE\";\n ImplementationVersionState[\"OUTDATED\"] = \"OUTDATED\";\n ImplementationVersionState[\"UNKNOWN\"] = \"UNKNOWN\";\n})(ImplementationVersionState = exports.ImplementationVersionState || (exports.ImplementationVersionState = {}));\n//# sourceMappingURL=safe-info.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL3NhZmUtaW5mby5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsc0VBQXNFLGtDQUFrQyxLQUFLO0FBQzlHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1nYXRld2F5LXR5cGVzY3JpcHQtc2RrL2Rpc3QvdHlwZXMvc2FmZS1pbmZvLmpzPzg3YzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkltcGxlbWVudGF0aW9uVmVyc2lvblN0YXRlID0gdm9pZCAwO1xudmFyIEltcGxlbWVudGF0aW9uVmVyc2lvblN0YXRlO1xuKGZ1bmN0aW9uIChJbXBsZW1lbnRhdGlvblZlcnNpb25TdGF0ZSkge1xuICAgIEltcGxlbWVudGF0aW9uVmVyc2lvblN0YXRlW1wiVVBfVE9fREFURVwiXSA9IFwiVVBfVE9fREFURVwiO1xuICAgIEltcGxlbWVudGF0aW9uVmVyc2lvblN0YXRlW1wiT1VUREFURURcIl0gPSBcIk9VVERBVEVEXCI7XG4gICAgSW1wbGVtZW50YXRpb25WZXJzaW9uU3RhdGVbXCJVTktOT1dOXCJdID0gXCJVTktOT1dOXCI7XG59KShJbXBsZW1lbnRhdGlvblZlcnNpb25TdGF0ZSA9IGV4cG9ydHMuSW1wbGVtZW50YXRpb25WZXJzaW9uU3RhdGUgfHwgKGV4cG9ydHMuSW1wbGVtZW50YXRpb25WZXJzaW9uU3RhdGUgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2FmZS1pbmZvLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-info.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-messages.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-messages.js ***! - \*******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SafeMessageStatus = exports.SafeMessageListItemType = void 0;\nvar SafeMessageListItemType;\n(function (SafeMessageListItemType) {\n SafeMessageListItemType[\"DATE_LABEL\"] = \"DATE_LABEL\";\n SafeMessageListItemType[\"MESSAGE\"] = \"MESSAGE\";\n})(SafeMessageListItemType = exports.SafeMessageListItemType || (exports.SafeMessageListItemType = {}));\nvar SafeMessageStatus;\n(function (SafeMessageStatus) {\n SafeMessageStatus[\"NEEDS_CONFIRMATION\"] = \"NEEDS_CONFIRMATION\";\n SafeMessageStatus[\"CONFIRMED\"] = \"CONFIRMED\";\n})(SafeMessageStatus = exports.SafeMessageStatus || (exports.SafeMessageStatus = {}));\n//# sourceMappingURL=safe-messages.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL3NhZmUtbWVzc2FnZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCLEdBQUcsK0JBQStCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxnRUFBZ0UsK0JBQStCLEtBQUs7QUFDckc7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLG9EQUFvRCx5QkFBeUIsS0FBSztBQUNuRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL3NhZmUtbWVzc2FnZXMuanM/OGM3NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU2FmZU1lc3NhZ2VTdGF0dXMgPSBleHBvcnRzLlNhZmVNZXNzYWdlTGlzdEl0ZW1UeXBlID0gdm9pZCAwO1xudmFyIFNhZmVNZXNzYWdlTGlzdEl0ZW1UeXBlO1xuKGZ1bmN0aW9uIChTYWZlTWVzc2FnZUxpc3RJdGVtVHlwZSkge1xuICAgIFNhZmVNZXNzYWdlTGlzdEl0ZW1UeXBlW1wiREFURV9MQUJFTFwiXSA9IFwiREFURV9MQUJFTFwiO1xuICAgIFNhZmVNZXNzYWdlTGlzdEl0ZW1UeXBlW1wiTUVTU0FHRVwiXSA9IFwiTUVTU0FHRVwiO1xufSkoU2FmZU1lc3NhZ2VMaXN0SXRlbVR5cGUgPSBleHBvcnRzLlNhZmVNZXNzYWdlTGlzdEl0ZW1UeXBlIHx8IChleHBvcnRzLlNhZmVNZXNzYWdlTGlzdEl0ZW1UeXBlID0ge30pKTtcbnZhciBTYWZlTWVzc2FnZVN0YXR1cztcbihmdW5jdGlvbiAoU2FmZU1lc3NhZ2VTdGF0dXMpIHtcbiAgICBTYWZlTWVzc2FnZVN0YXR1c1tcIk5FRURTX0NPTkZJUk1BVElPTlwiXSA9IFwiTkVFRFNfQ09ORklSTUFUSU9OXCI7XG4gICAgU2FmZU1lc3NhZ2VTdGF0dXNbXCJDT05GSVJNRURcIl0gPSBcIkNPTkZJUk1FRFwiO1xufSkoU2FmZU1lc3NhZ2VTdGF0dXMgPSBleHBvcnRzLlNhZmVNZXNzYWdlU3RhdHVzIHx8IChleHBvcnRzLlNhZmVNZXNzYWdlU3RhdHVzID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNhZmUtbWVzc2FnZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/safe-messages.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/transactions.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/transactions.js ***! - \******************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LabelValue = exports.DetailedExecutionInfoType = exports.TransactionListItemType = exports.ConflictType = exports.TransactionInfoType = exports.SettingsInfoType = exports.TransactionTokenType = exports.TransferDirection = exports.TransactionStatus = exports.Operation = void 0;\nvar Operation;\n(function (Operation) {\n Operation[Operation[\"CALL\"] = 0] = \"CALL\";\n Operation[Operation[\"DELEGATE\"] = 1] = \"DELEGATE\";\n})(Operation = exports.Operation || (exports.Operation = {}));\nvar TransactionStatus;\n(function (TransactionStatus) {\n TransactionStatus[\"AWAITING_CONFIRMATIONS\"] = \"AWAITING_CONFIRMATIONS\";\n TransactionStatus[\"AWAITING_EXECUTION\"] = \"AWAITING_EXECUTION\";\n TransactionStatus[\"CANCELLED\"] = \"CANCELLED\";\n TransactionStatus[\"FAILED\"] = \"FAILED\";\n TransactionStatus[\"SUCCESS\"] = \"SUCCESS\";\n})(TransactionStatus = exports.TransactionStatus || (exports.TransactionStatus = {}));\nvar TransferDirection;\n(function (TransferDirection) {\n TransferDirection[\"INCOMING\"] = \"INCOMING\";\n TransferDirection[\"OUTGOING\"] = \"OUTGOING\";\n TransferDirection[\"UNKNOWN\"] = \"UNKNOWN\";\n})(TransferDirection = exports.TransferDirection || (exports.TransferDirection = {}));\n// https://safe.global/safe-client-gateway/docs/routes/transactions/models/enum.TransferInfo.html\nvar TransactionTokenType;\n(function (TransactionTokenType) {\n TransactionTokenType[\"ERC20\"] = \"ERC20\";\n TransactionTokenType[\"ERC721\"] = \"ERC721\";\n TransactionTokenType[\"NATIVE_COIN\"] = \"NATIVE_COIN\";\n})(TransactionTokenType = exports.TransactionTokenType || (exports.TransactionTokenType = {}));\nvar SettingsInfoType;\n(function (SettingsInfoType) {\n SettingsInfoType[\"SET_FALLBACK_HANDLER\"] = \"SET_FALLBACK_HANDLER\";\n SettingsInfoType[\"ADD_OWNER\"] = \"ADD_OWNER\";\n SettingsInfoType[\"REMOVE_OWNER\"] = \"REMOVE_OWNER\";\n SettingsInfoType[\"SWAP_OWNER\"] = \"SWAP_OWNER\";\n SettingsInfoType[\"CHANGE_THRESHOLD\"] = \"CHANGE_THRESHOLD\";\n SettingsInfoType[\"CHANGE_IMPLEMENTATION\"] = \"CHANGE_IMPLEMENTATION\";\n SettingsInfoType[\"ENABLE_MODULE\"] = \"ENABLE_MODULE\";\n SettingsInfoType[\"DISABLE_MODULE\"] = \"DISABLE_MODULE\";\n SettingsInfoType[\"SET_GUARD\"] = \"SET_GUARD\";\n SettingsInfoType[\"DELETE_GUARD\"] = \"DELETE_GUARD\";\n})(SettingsInfoType = exports.SettingsInfoType || (exports.SettingsInfoType = {}));\n// https://safe.global/safe-client-gateway/docs/routes/transactions/models/enum.TransactionInfo.html\nvar TransactionInfoType;\n(function (TransactionInfoType) {\n TransactionInfoType[\"TRANSFER\"] = \"Transfer\";\n TransactionInfoType[\"SETTINGS_CHANGE\"] = \"SettingsChange\";\n TransactionInfoType[\"CUSTOM\"] = \"Custom\";\n TransactionInfoType[\"CREATION\"] = \"Creation\";\n})(TransactionInfoType = exports.TransactionInfoType || (exports.TransactionInfoType = {}));\n// https://safe.global/safe-client-gateway/docs/routes/transactions/models/summary/enum.ConflictType.html\nvar ConflictType;\n(function (ConflictType) {\n ConflictType[\"NONE\"] = \"None\";\n ConflictType[\"HAS_NEXT\"] = \"HasNext\";\n ConflictType[\"END\"] = \"End\";\n})(ConflictType = exports.ConflictType || (exports.ConflictType = {}));\n// https://safe.global/safe-client-gateway/docs/routes/transactions/models/summary/enum.TransactionListItem.html\nvar TransactionListItemType;\n(function (TransactionListItemType) {\n TransactionListItemType[\"TRANSACTION\"] = \"TRANSACTION\";\n TransactionListItemType[\"LABEL\"] = \"LABEL\";\n TransactionListItemType[\"CONFLICT_HEADER\"] = \"CONFLICT_HEADER\";\n TransactionListItemType[\"DATE_LABEL\"] = \"DATE_LABEL\";\n})(TransactionListItemType = exports.TransactionListItemType || (exports.TransactionListItemType = {}));\n// https://safe.global/safe-client-gateway/docs/routes/transactions/models/details/enum.DetailedExecutionInfo.html\nvar DetailedExecutionInfoType;\n(function (DetailedExecutionInfoType) {\n DetailedExecutionInfoType[\"MULTISIG\"] = \"MULTISIG\";\n DetailedExecutionInfoType[\"MODULE\"] = \"MODULE\";\n})(DetailedExecutionInfoType = exports.DetailedExecutionInfoType || (exports.DetailedExecutionInfoType = {}));\n/**\n * @see https://gnosis.github.io/safe-client-gateway/docs/routes/transactions/models/summary/enum.Label.html\n */\nvar LabelValue;\n(function (LabelValue) {\n LabelValue[\"Queued\"] = \"Queued\";\n LabelValue[\"Next\"] = \"Next\";\n})(LabelValue = exports.LabelValue || (exports.LabelValue = {}));\n//# sourceMappingURL=transactions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3R5cGVzL3RyYW5zYWN0aW9ucy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0IsR0FBRyxpQ0FBaUMsR0FBRywrQkFBK0IsR0FBRyxvQkFBb0IsR0FBRywyQkFBMkIsR0FBRyx3QkFBd0IsR0FBRyw0QkFBNEIsR0FBRyx5QkFBeUIsR0FBRyx5QkFBeUIsR0FBRyxpQkFBaUI7QUFDblI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLG9DQUFvQyxpQkFBaUIsS0FBSztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsb0RBQW9ELHlCQUF5QixLQUFLO0FBQ25GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLG9EQUFvRCx5QkFBeUIsS0FBSztBQUNuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLDBEQUEwRCw0QkFBNEIsS0FBSztBQUM1RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLGtEQUFrRCx3QkFBd0IsS0FBSztBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsd0RBQXdELDJCQUEyQixLQUFLO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsMENBQTBDLG9CQUFvQixLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxnRUFBZ0UsK0JBQStCLEtBQUs7QUFDckc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsb0VBQW9FLGlDQUFpQyxLQUFLO0FBQzNHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxzQ0FBc0Msa0JBQWtCLEtBQUs7QUFDOUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzYWZlLWdsb2JhbC9zYWZlLWdhdGV3YXktdHlwZXNjcmlwdC1zZGsvZGlzdC90eXBlcy90cmFuc2FjdGlvbnMuanM/ZGQ2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuTGFiZWxWYWx1ZSA9IGV4cG9ydHMuRGV0YWlsZWRFeGVjdXRpb25JbmZvVHlwZSA9IGV4cG9ydHMuVHJhbnNhY3Rpb25MaXN0SXRlbVR5cGUgPSBleHBvcnRzLkNvbmZsaWN0VHlwZSA9IGV4cG9ydHMuVHJhbnNhY3Rpb25JbmZvVHlwZSA9IGV4cG9ydHMuU2V0dGluZ3NJbmZvVHlwZSA9IGV4cG9ydHMuVHJhbnNhY3Rpb25Ub2tlblR5cGUgPSBleHBvcnRzLlRyYW5zZmVyRGlyZWN0aW9uID0gZXhwb3J0cy5UcmFuc2FjdGlvblN0YXR1cyA9IGV4cG9ydHMuT3BlcmF0aW9uID0gdm9pZCAwO1xudmFyIE9wZXJhdGlvbjtcbihmdW5jdGlvbiAoT3BlcmF0aW9uKSB7XG4gICAgT3BlcmF0aW9uW09wZXJhdGlvbltcIkNBTExcIl0gPSAwXSA9IFwiQ0FMTFwiO1xuICAgIE9wZXJhdGlvbltPcGVyYXRpb25bXCJERUxFR0FURVwiXSA9IDFdID0gXCJERUxFR0FURVwiO1xufSkoT3BlcmF0aW9uID0gZXhwb3J0cy5PcGVyYXRpb24gfHwgKGV4cG9ydHMuT3BlcmF0aW9uID0ge30pKTtcbnZhciBUcmFuc2FjdGlvblN0YXR1cztcbihmdW5jdGlvbiAoVHJhbnNhY3Rpb25TdGF0dXMpIHtcbiAgICBUcmFuc2FjdGlvblN0YXR1c1tcIkFXQUlUSU5HX0NPTkZJUk1BVElPTlNcIl0gPSBcIkFXQUlUSU5HX0NPTkZJUk1BVElPTlNcIjtcbiAgICBUcmFuc2FjdGlvblN0YXR1c1tcIkFXQUlUSU5HX0VYRUNVVElPTlwiXSA9IFwiQVdBSVRJTkdfRVhFQ1VUSU9OXCI7XG4gICAgVHJhbnNhY3Rpb25TdGF0dXNbXCJDQU5DRUxMRURcIl0gPSBcIkNBTkNFTExFRFwiO1xuICAgIFRyYW5zYWN0aW9uU3RhdHVzW1wiRkFJTEVEXCJdID0gXCJGQUlMRURcIjtcbiAgICBUcmFuc2FjdGlvblN0YXR1c1tcIlNVQ0NFU1NcIl0gPSBcIlNVQ0NFU1NcIjtcbn0pKFRyYW5zYWN0aW9uU3RhdHVzID0gZXhwb3J0cy5UcmFuc2FjdGlvblN0YXR1cyB8fCAoZXhwb3J0cy5UcmFuc2FjdGlvblN0YXR1cyA9IHt9KSk7XG52YXIgVHJhbnNmZXJEaXJlY3Rpb247XG4oZnVuY3Rpb24gKFRyYW5zZmVyRGlyZWN0aW9uKSB7XG4gICAgVHJhbnNmZXJEaXJlY3Rpb25bXCJJTkNPTUlOR1wiXSA9IFwiSU5DT01JTkdcIjtcbiAgICBUcmFuc2ZlckRpcmVjdGlvbltcIk9VVEdPSU5HXCJdID0gXCJPVVRHT0lOR1wiO1xuICAgIFRyYW5zZmVyRGlyZWN0aW9uW1wiVU5LTk9XTlwiXSA9IFwiVU5LTk9XTlwiO1xufSkoVHJhbnNmZXJEaXJlY3Rpb24gPSBleHBvcnRzLlRyYW5zZmVyRGlyZWN0aW9uIHx8IChleHBvcnRzLlRyYW5zZmVyRGlyZWN0aW9uID0ge30pKTtcbi8vIGh0dHBzOi8vc2FmZS5nbG9iYWwvc2FmZS1jbGllbnQtZ2F0ZXdheS9kb2NzL3JvdXRlcy90cmFuc2FjdGlvbnMvbW9kZWxzL2VudW0uVHJhbnNmZXJJbmZvLmh0bWxcbnZhciBUcmFuc2FjdGlvblRva2VuVHlwZTtcbihmdW5jdGlvbiAoVHJhbnNhY3Rpb25Ub2tlblR5cGUpIHtcbiAgICBUcmFuc2FjdGlvblRva2VuVHlwZVtcIkVSQzIwXCJdID0gXCJFUkMyMFwiO1xuICAgIFRyYW5zYWN0aW9uVG9rZW5UeXBlW1wiRVJDNzIxXCJdID0gXCJFUkM3MjFcIjtcbiAgICBUcmFuc2FjdGlvblRva2VuVHlwZVtcIk5BVElWRV9DT0lOXCJdID0gXCJOQVRJVkVfQ09JTlwiO1xufSkoVHJhbnNhY3Rpb25Ub2tlblR5cGUgPSBleHBvcnRzLlRyYW5zYWN0aW9uVG9rZW5UeXBlIHx8IChleHBvcnRzLlRyYW5zYWN0aW9uVG9rZW5UeXBlID0ge30pKTtcbnZhciBTZXR0aW5nc0luZm9UeXBlO1xuKGZ1bmN0aW9uIChTZXR0aW5nc0luZm9UeXBlKSB7XG4gICAgU2V0dGluZ3NJbmZvVHlwZVtcIlNFVF9GQUxMQkFDS19IQU5ETEVSXCJdID0gXCJTRVRfRkFMTEJBQ0tfSEFORExFUlwiO1xuICAgIFNldHRpbmdzSW5mb1R5cGVbXCJBRERfT1dORVJcIl0gPSBcIkFERF9PV05FUlwiO1xuICAgIFNldHRpbmdzSW5mb1R5cGVbXCJSRU1PVkVfT1dORVJcIl0gPSBcIlJFTU9WRV9PV05FUlwiO1xuICAgIFNldHRpbmdzSW5mb1R5cGVbXCJTV0FQX09XTkVSXCJdID0gXCJTV0FQX09XTkVSXCI7XG4gICAgU2V0dGluZ3NJbmZvVHlwZVtcIkNIQU5HRV9USFJFU0hPTERcIl0gPSBcIkNIQU5HRV9USFJFU0hPTERcIjtcbiAgICBTZXR0aW5nc0luZm9UeXBlW1wiQ0hBTkdFX0lNUExFTUVOVEFUSU9OXCJdID0gXCJDSEFOR0VfSU1QTEVNRU5UQVRJT05cIjtcbiAgICBTZXR0aW5nc0luZm9UeXBlW1wiRU5BQkxFX01PRFVMRVwiXSA9IFwiRU5BQkxFX01PRFVMRVwiO1xuICAgIFNldHRpbmdzSW5mb1R5cGVbXCJESVNBQkxFX01PRFVMRVwiXSA9IFwiRElTQUJMRV9NT0RVTEVcIjtcbiAgICBTZXR0aW5nc0luZm9UeXBlW1wiU0VUX0dVQVJEXCJdID0gXCJTRVRfR1VBUkRcIjtcbiAgICBTZXR0aW5nc0luZm9UeXBlW1wiREVMRVRFX0dVQVJEXCJdID0gXCJERUxFVEVfR1VBUkRcIjtcbn0pKFNldHRpbmdzSW5mb1R5cGUgPSBleHBvcnRzLlNldHRpbmdzSW5mb1R5cGUgfHwgKGV4cG9ydHMuU2V0dGluZ3NJbmZvVHlwZSA9IHt9KSk7XG4vLyBodHRwczovL3NhZmUuZ2xvYmFsL3NhZmUtY2xpZW50LWdhdGV3YXkvZG9jcy9yb3V0ZXMvdHJhbnNhY3Rpb25zL21vZGVscy9lbnVtLlRyYW5zYWN0aW9uSW5mby5odG1sXG52YXIgVHJhbnNhY3Rpb25JbmZvVHlwZTtcbihmdW5jdGlvbiAoVHJhbnNhY3Rpb25JbmZvVHlwZSkge1xuICAgIFRyYW5zYWN0aW9uSW5mb1R5cGVbXCJUUkFOU0ZFUlwiXSA9IFwiVHJhbnNmZXJcIjtcbiAgICBUcmFuc2FjdGlvbkluZm9UeXBlW1wiU0VUVElOR1NfQ0hBTkdFXCJdID0gXCJTZXR0aW5nc0NoYW5nZVwiO1xuICAgIFRyYW5zYWN0aW9uSW5mb1R5cGVbXCJDVVNUT01cIl0gPSBcIkN1c3RvbVwiO1xuICAgIFRyYW5zYWN0aW9uSW5mb1R5cGVbXCJDUkVBVElPTlwiXSA9IFwiQ3JlYXRpb25cIjtcbn0pKFRyYW5zYWN0aW9uSW5mb1R5cGUgPSBleHBvcnRzLlRyYW5zYWN0aW9uSW5mb1R5cGUgfHwgKGV4cG9ydHMuVHJhbnNhY3Rpb25JbmZvVHlwZSA9IHt9KSk7XG4vLyBodHRwczovL3NhZmUuZ2xvYmFsL3NhZmUtY2xpZW50LWdhdGV3YXkvZG9jcy9yb3V0ZXMvdHJhbnNhY3Rpb25zL21vZGVscy9zdW1tYXJ5L2VudW0uQ29uZmxpY3RUeXBlLmh0bWxcbnZhciBDb25mbGljdFR5cGU7XG4oZnVuY3Rpb24gKENvbmZsaWN0VHlwZSkge1xuICAgIENvbmZsaWN0VHlwZVtcIk5PTkVcIl0gPSBcIk5vbmVcIjtcbiAgICBDb25mbGljdFR5cGVbXCJIQVNfTkVYVFwiXSA9IFwiSGFzTmV4dFwiO1xuICAgIENvbmZsaWN0VHlwZVtcIkVORFwiXSA9IFwiRW5kXCI7XG59KShDb25mbGljdFR5cGUgPSBleHBvcnRzLkNvbmZsaWN0VHlwZSB8fCAoZXhwb3J0cy5Db25mbGljdFR5cGUgPSB7fSkpO1xuLy8gaHR0cHM6Ly9zYWZlLmdsb2JhbC9zYWZlLWNsaWVudC1nYXRld2F5L2RvY3Mvcm91dGVzL3RyYW5zYWN0aW9ucy9tb2RlbHMvc3VtbWFyeS9lbnVtLlRyYW5zYWN0aW9uTGlzdEl0ZW0uaHRtbFxudmFyIFRyYW5zYWN0aW9uTGlzdEl0ZW1UeXBlO1xuKGZ1bmN0aW9uIChUcmFuc2FjdGlvbkxpc3RJdGVtVHlwZSkge1xuICAgIFRyYW5zYWN0aW9uTGlzdEl0ZW1UeXBlW1wiVFJBTlNBQ1RJT05cIl0gPSBcIlRSQU5TQUNUSU9OXCI7XG4gICAgVHJhbnNhY3Rpb25MaXN0SXRlbVR5cGVbXCJMQUJFTFwiXSA9IFwiTEFCRUxcIjtcbiAgICBUcmFuc2FjdGlvbkxpc3RJdGVtVHlwZVtcIkNPTkZMSUNUX0hFQURFUlwiXSA9IFwiQ09ORkxJQ1RfSEVBREVSXCI7XG4gICAgVHJhbnNhY3Rpb25MaXN0SXRlbVR5cGVbXCJEQVRFX0xBQkVMXCJdID0gXCJEQVRFX0xBQkVMXCI7XG59KShUcmFuc2FjdGlvbkxpc3RJdGVtVHlwZSA9IGV4cG9ydHMuVHJhbnNhY3Rpb25MaXN0SXRlbVR5cGUgfHwgKGV4cG9ydHMuVHJhbnNhY3Rpb25MaXN0SXRlbVR5cGUgPSB7fSkpO1xuLy8gaHR0cHM6Ly9zYWZlLmdsb2JhbC9zYWZlLWNsaWVudC1nYXRld2F5L2RvY3Mvcm91dGVzL3RyYW5zYWN0aW9ucy9tb2RlbHMvZGV0YWlscy9lbnVtLkRldGFpbGVkRXhlY3V0aW9uSW5mby5odG1sXG52YXIgRGV0YWlsZWRFeGVjdXRpb25JbmZvVHlwZTtcbihmdW5jdGlvbiAoRGV0YWlsZWRFeGVjdXRpb25JbmZvVHlwZSkge1xuICAgIERldGFpbGVkRXhlY3V0aW9uSW5mb1R5cGVbXCJNVUxUSVNJR1wiXSA9IFwiTVVMVElTSUdcIjtcbiAgICBEZXRhaWxlZEV4ZWN1dGlvbkluZm9UeXBlW1wiTU9EVUxFXCJdID0gXCJNT0RVTEVcIjtcbn0pKERldGFpbGVkRXhlY3V0aW9uSW5mb1R5cGUgPSBleHBvcnRzLkRldGFpbGVkRXhlY3V0aW9uSW5mb1R5cGUgfHwgKGV4cG9ydHMuRGV0YWlsZWRFeGVjdXRpb25JbmZvVHlwZSA9IHt9KSk7XG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9nbm9zaXMuZ2l0aHViLmlvL3NhZmUtY2xpZW50LWdhdGV3YXkvZG9jcy9yb3V0ZXMvdHJhbnNhY3Rpb25zL21vZGVscy9zdW1tYXJ5L2VudW0uTGFiZWwuaHRtbFxuICovXG52YXIgTGFiZWxWYWx1ZTtcbihmdW5jdGlvbiAoTGFiZWxWYWx1ZSkge1xuICAgIExhYmVsVmFsdWVbXCJRdWV1ZWRcIl0gPSBcIlF1ZXVlZFwiO1xuICAgIExhYmVsVmFsdWVbXCJOZXh0XCJdID0gXCJOZXh0XCI7XG59KShMYWJlbFZhbHVlID0gZXhwb3J0cy5MYWJlbFZhbHVlIHx8IChleHBvcnRzLkxhYmVsVmFsdWUgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHJhbnNhY3Rpb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/transactions.js\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/utils.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/utils.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.fetchData = exports.stringifyQuery = exports.insertParams = void 0;\nconst cross_fetch_1 = __importDefault(__webpack_require__(/*! cross-fetch */ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\"));\nconst isErrorResponse = (data) => {\n const isObject = typeof data === 'object' && data !== null;\n return isObject && 'code' in data && 'message' in data;\n};\nfunction replaceParam(str, key, value) {\n return str.replace(new RegExp(`\\\\{${key}\\\\}`, 'g'), value);\n}\nfunction insertParams(template, params) {\n return params\n ? Object.keys(params).reduce((result, key) => {\n return replaceParam(result, key, String(params[key]));\n }, template)\n : template;\n}\nexports.insertParams = insertParams;\nfunction stringifyQuery(query) {\n if (!query) {\n return '';\n }\n const searchParams = new URLSearchParams();\n Object.keys(query).forEach((key) => {\n if (query[key] != null) {\n searchParams.append(key, String(query[key]));\n }\n });\n const searchString = searchParams.toString();\n return searchString ? `?${searchString}` : '';\n}\nexports.stringifyQuery = stringifyQuery;\nfunction fetchData(url, body) {\n return __awaiter(this, void 0, void 0, function* () {\n let options;\n if (body != null) {\n options = {\n method: 'POST',\n body: typeof body === 'string' ? body : JSON.stringify(body),\n headers: { 'Content-Type': 'application/json' },\n };\n }\n const resp = yield (0, cross_fetch_1.default)(url, options);\n let json;\n try {\n json = yield resp.json();\n }\n catch (_a) {\n if (resp.headers && resp.headers.get('content-length') !== '0') {\n throw new Error(`Invalid response content: ${resp.statusText}`);\n }\n }\n if (!resp.ok) {\n const errTxt = isErrorResponse(json) ? `${json.code}: ${json.message}` : resp.statusText;\n throw new Error(errTxt);\n }\n return json;\n });\n}\nexports.fetchData = fetchData;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHNhZmUtZ2xvYmFsL3NhZmUtZ2F0ZXdheS10eXBlc2NyaXB0LXNkay9kaXN0L3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw0QkFBNEIsK0RBQStELGlCQUFpQjtBQUM1RztBQUNBLG9DQUFvQyxNQUFNLCtCQUErQixZQUFZO0FBQ3JGLG1DQUFtQyxNQUFNLG1DQUFtQyxZQUFZO0FBQ3hGLGdDQUFnQztBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlCQUFpQixHQUFHLHNCQUFzQixHQUFHLG9CQUFvQjtBQUNqRSxzQ0FBc0MsbUJBQU8sQ0FBQyx3RUFBYTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLEVBQUUsSUFBSSxHQUFHO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSw4QkFBOEIsYUFBYTtBQUMzQztBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixvQ0FBb0M7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGdCQUFnQjtBQUM3RTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsVUFBVSxJQUFJLGFBQWE7QUFDakY7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac2FmZS1nbG9iYWwvc2FmZS1nYXRld2F5LXR5cGVzY3JpcHQtc2RrL2Rpc3QvdXRpbHMuanM/YzA0YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5mZXRjaERhdGEgPSBleHBvcnRzLnN0cmluZ2lmeVF1ZXJ5ID0gZXhwb3J0cy5pbnNlcnRQYXJhbXMgPSB2b2lkIDA7XG5jb25zdCBjcm9zc19mZXRjaF8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJjcm9zcy1mZXRjaFwiKSk7XG5jb25zdCBpc0Vycm9yUmVzcG9uc2UgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IGlzT2JqZWN0ID0gdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmIGRhdGEgIT09IG51bGw7XG4gICAgcmV0dXJuIGlzT2JqZWN0ICYmICdjb2RlJyBpbiBkYXRhICYmICdtZXNzYWdlJyBpbiBkYXRhO1xufTtcbmZ1bmN0aW9uIHJlcGxhY2VQYXJhbShzdHIsIGtleSwgdmFsdWUpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UobmV3IFJlZ0V4cChgXFxcXHske2tleX1cXFxcfWAsICdnJyksIHZhbHVlKTtcbn1cbmZ1bmN0aW9uIGluc2VydFBhcmFtcyh0ZW1wbGF0ZSwgcGFyYW1zKSB7XG4gICAgcmV0dXJuIHBhcmFtc1xuICAgICAgICA/IE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJlcGxhY2VQYXJhbShyZXN1bHQsIGtleSwgU3RyaW5nKHBhcmFtc1trZXldKSk7XG4gICAgICAgIH0sIHRlbXBsYXRlKVxuICAgICAgICA6IHRlbXBsYXRlO1xufVxuZXhwb3J0cy5pbnNlcnRQYXJhbXMgPSBpbnNlcnRQYXJhbXM7XG5mdW5jdGlvbiBzdHJpbmdpZnlRdWVyeShxdWVyeSkge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgT2JqZWN0LmtleXMocXVlcnkpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBpZiAocXVlcnlba2V5XSAhPSBudWxsKSB7XG4gICAgICAgICAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgU3RyaW5nKHF1ZXJ5W2tleV0pKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHNlYXJjaFN0cmluZyA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xuICAgIHJldHVybiBzZWFyY2hTdHJpbmcgPyBgPyR7c2VhcmNoU3RyaW5nfWAgOiAnJztcbn1cbmV4cG9ydHMuc3RyaW5naWZ5UXVlcnkgPSBzdHJpbmdpZnlRdWVyeTtcbmZ1bmN0aW9uIGZldGNoRGF0YSh1cmwsIGJvZHkpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBsZXQgb3B0aW9ucztcbiAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCkge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICBib2R5OiB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycgPyBib2R5IDogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3AgPSB5aWVsZCAoMCwgY3Jvc3NfZmV0Y2hfMS5kZWZhdWx0KSh1cmwsIG9wdGlvbnMpO1xuICAgICAgICBsZXQganNvbjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGpzb24gPSB5aWVsZCByZXNwLmpzb24oKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIGlmIChyZXNwLmhlYWRlcnMgJiYgcmVzcC5oZWFkZXJzLmdldCgnY29udGVudC1sZW5ndGgnKSAhPT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc3BvbnNlIGNvbnRlbnQ6ICR7cmVzcC5zdGF0dXNUZXh0fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzcC5vaykge1xuICAgICAgICAgICAgY29uc3QgZXJyVHh0ID0gaXNFcnJvclJlc3BvbnNlKGpzb24pID8gYCR7anNvbi5jb2RlfTogJHtqc29uLm1lc3NhZ2V9YCA6IHJlc3Auc3RhdHVzVGV4dDtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJUeHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqc29uO1xuICAgIH0pO1xufVxuZXhwb3J0cy5mZXRjaERhdGEgPSBmZXRjaERhdGE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@safe-global/safe-gateway-typescript-sdk/dist/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/binary/lib/binary.js": -/*!******************************************************!*\ - !*** ./node_modules/@stablelib/binary/lib/binary.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nvar int_1 = __webpack_require__(/*! @stablelib/int */ \"./node_modules/@stablelib/int/lib/int.js\");\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\nexports.readInt16BE = readInt16BE;\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\nexports.readUint16BE = readUint16BE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\nexports.readInt16LE = readInt16LE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\nexports.readUint16LE = readUint16LE;\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 */\nfunction writeUint16BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexports.writeUint16BE = writeUint16BE;\nexports.writeInt16BE = writeUint16BE;\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 */\nfunction writeUint16LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexports.writeUint16LE = writeUint16LE;\nexports.writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\nexports.readInt32BE = readInt32BE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\nexports.readUint32BE = readUint32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\nexports.readInt32LE = readInt32LE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\nexports.readUint32LE = readUint32LE;\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 */\nfunction writeUint32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\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}\nexports.writeUint32BE = writeUint32BE;\nexports.writeInt32BE = writeUint32BE;\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 */\nfunction writeUint32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\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}\nexports.writeUint32LE = writeUint32LE;\nexports.writeInt32LE = writeUint32LE;\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 */\nfunction readInt64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readInt32BE(array, offset);\n var lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64BE = readInt64BE;\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 */\nfunction readUint64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readUint32BE(array, offset);\n var lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64BE = readUint64BE;\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 */\nfunction readInt64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readInt32LE(array, offset);\n var hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64LE = readInt64LE;\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 */\nfunction readUint64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readUint32LE(array, offset);\n var hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64LE = readUint64LE;\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 */\nfunction writeUint64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64BE = writeUint64BE;\nexports.writeInt64BE = writeUint64BE;\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 */\nfunction writeUint64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64LE = writeUint64LE;\nexports.writeInt64LE = writeUint64LE;\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 */\nfunction readUintBE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\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 var result = 0;\n var mul = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintBE = readUintBE;\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 */\nfunction readUintLE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\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 var result = 0;\n var mul = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintLE = readUintLE;\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 */\nfunction writeUintBE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\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 (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n var div = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintBE = writeUintBE;\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 */\nfunction writeUintLE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\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 (!int_1.isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n var div = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintLE = writeUintLE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\nexports.readFloat32BE = readFloat32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\nexports.readFloat32LE = readFloat32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\nexports.readFloat64BE = readFloat64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nfunction readFloat64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\nexports.readFloat64LE = readFloat64LE;\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 */\nfunction writeFloat32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\nexports.writeFloat32BE = writeFloat32BE;\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 */\nfunction writeFloat32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\nexports.writeFloat32LE = writeFloat32LE;\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 */\nfunction writeFloat64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\nexports.writeFloat64BE = writeFloat64BE;\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 */\nfunction writeFloat64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\nexports.writeFloat64LE = writeFloat64LE;\n//# sourceMappingURL=binary.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9iaW5hcnkvbGliL2JpbmFyeS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsWUFBWSxtQkFBTyxDQUFDLGdFQUFnQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtB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LDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQiw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9iaW5hcnkvbGliL2JpbmFyeS5qcz9iNWI1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyoqXG4gKiBQYWNrYWdlIGJpbmFyeSBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyBudW1iZXJzIGluIGJ5dGUgYXJyYXlzLlxuICovXG52YXIgaW50XzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9pbnRcIik7XG4vLyBUT0RPKGRjaGVzdCk6IGFkZCBhc3NlcnRzIGZvciBjb3JyZWN0IHZhbHVlIHJhbmdlcyBhbmQgYXJyYXkgb2Zmc2V0cy5cbi8qKlxuICogUmVhZHMgMiBieXRlcyBmcm9tIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldCBhcyBiaWctZW5kaWFuXG4gKiBzaWduZWQgMTYtYml0IGludGVnZXIgYW5kIHJldHVybnMgaXQuXG4gKi9cbmZ1bmN0aW9uIHJlYWRJbnQxNkJFKGFycmF5LCBvZmZzZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIHJldHVybiAoKChhcnJheVtvZmZzZXQgKyAwXSA8PCA4KSB8IGFycmF5W29mZnNldCArIDFdKSA8PCAxNikgPj4gMTY7XG59XG5leHBvcnRzLnJlYWRJbnQxNkJFID0gcmVhZEludDE2QkU7XG4vKipcbiAqIFJlYWRzIDIgYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgYmlnLWVuZGlhblxuICogdW5zaWduZWQgMTYtYml0IGludGVnZXIgYW5kIHJldHVybnMgaXQuXG4gKi9cbmZ1bmN0aW9uIHJlYWRVaW50MTZCRShhcnJheSwgb2Zmc2V0KSB7XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICByZXR1cm4gKChhcnJheVtvZmZzZXQgKyAwXSA8PCA4KSB8IGFycmF5W29mZnNldCArIDFdKSA+Pj4gMDtcbn1cbmV4cG9ydHMucmVhZFVpbnQxNkJFID0gcmVhZFVpbnQxNkJFO1xuLyoqXG4gKiBSZWFkcyAyIGJ5dGVzIGZyb20gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0IGFzIGxpdHRsZS1lbmRpYW5cbiAqIHNpZ25lZCAxNi1iaXQgaW50ZWdlciBhbmQgcmV0dXJucyBpdC5cbiAqL1xuZnVuY3Rpb24gcmVhZEludDE2TEUoYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgcmV0dXJuICgoKGFycmF5W29mZnNldCArIDFdIDw8IDgpIHwgYXJyYXlbb2Zmc2V0XSkgPDwgMTYpID4+IDE2O1xufVxuZXhwb3J0cy5yZWFkSW50MTZMRSA9IHJlYWRJbnQxNkxFO1xuLyoqXG4gKiBSZWFkcyAyIGJ5dGVzIGZyb20gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0IGFzIGxpdHRsZS1lbmRpYW5cbiAqIHVuc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICovXG5mdW5jdGlvbiByZWFkVWludDE2TEUoYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgcmV0dXJuICgoYXJyYXlbb2Zmc2V0ICsgMV0gPDwgOCkgfCBhcnJheVtvZmZzZXRdKSA+Pj4gMDtcbn1cbmV4cG9ydHMucmVhZFVpbnQxNkxFID0gcmVhZFVpbnQxNkxFO1xuLyoqXG4gKiBXcml0ZXMgMi1ieXRlIGJpZy1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgMTYtYml0IHVuc2lnbmVkXG4gKiB2YWx1ZSB0byBieXRlIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBJZiBieXRlIGFycmF5IGlzIG5vdCBnaXZlbiwgY3JlYXRlcyBhIG5ldyAyLWJ5dGUgb25lLlxuICpcbiAqIFJldHVybnMgdGhlIG91dHB1dCBieXRlIGFycmF5LlxuICovXG5mdW5jdGlvbiB3cml0ZVVpbnQxNkJFKHZhbHVlLCBvdXQsIG9mZnNldCkge1xuICAgIGlmIChvdXQgPT09IHZvaWQgMCkgeyBvdXQgPSBuZXcgVWludDhBcnJheSgyKTsgfVxuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgb3V0W29mZnNldCArIDBdID0gdmFsdWUgPj4+IDg7XG4gICAgb3V0W29mZnNldCArIDFdID0gdmFsdWUgPj4+IDA7XG4gICAgcmV0dXJuIG91dDtcbn1cbmV4cG9ydHMud3JpdGVVaW50MTZCRSA9IHdyaXRlVWludDE2QkU7XG5leHBvcnRzLndyaXRlSW50MTZCRSA9IHdyaXRlVWludDE2QkU7XG4vKipcbiAqIFdyaXRlcyAyLWJ5dGUgbGl0dGxlLWVuZGlhbiByZXByZXNlbnRhdGlvbiBvZiAxNi1iaXQgdW5zaWduZWRcbiAqIHZhbHVlIHRvIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBJZiBieXRlIGFycmF5IGlzIG5vdCBnaXZlbiwgY3JlYXRlcyBhIG5ldyAyLWJ5dGUgb25lLlxuICpcbiAqIFJldHVybnMgdGhlIG91dHB1dCBieXRlIGFycmF5LlxuICovXG5mdW5jdGlvbiB3cml0ZVVpbnQxNkxFKHZhbHVlLCBvdXQsIG9mZnNldCkge1xuICAgIGlmIChvdXQgPT09IHZvaWQgMCkgeyBvdXQgPSBuZXcgVWludDhBcnJheSgyKTsgfVxuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgb3V0W29mZnNldCArIDBdID0gdmFsdWUgPj4+IDA7XG4gICAgb3V0W29mZnNldCArIDFdID0gdmFsdWUgPj4+IDg7XG4gICAgcmV0dXJuIG91dDtcbn1cbmV4cG9ydHMud3JpdGVVaW50MTZMRSA9IHdyaXRlVWludDE2TEU7XG5leHBvcnRzLndyaXRlSW50MTZMRSA9IHdyaXRlVWludDE2TEU7XG4vKipcbiAqIFJlYWRzIDQgYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgYmlnLWVuZGlhblxuICogc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICovXG5mdW5jdGlvbiByZWFkSW50MzJCRShhcnJheSwgb2Zmc2V0KSB7XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICByZXR1cm4gKGFycmF5W29mZnNldF0gPDwgMjQpIHxcbiAgICAgICAgKGFycmF5W29mZnNldCArIDFdIDw8IDE2KSB8XG4gICAgICAgIChhcnJheVtvZmZzZXQgKyAyXSA8PCA4KSB8XG4gICAgICAgIGFycmF5W29mZnNldCArIDNdO1xufVxuZXhwb3J0cy5yZWFkSW50MzJCRSA9IHJlYWRJbnQzMkJFO1xuLyoqXG4gKiBSZWFkcyA0IGJ5dGVzIGZyb20gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0IGFzIGJpZy1lbmRpYW5cbiAqIHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICovXG5mdW5jdGlvbiByZWFkVWludDMyQkUoYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgcmV0dXJuICgoYXJyYXlbb2Zmc2V0XSA8PCAyNCkgfFxuICAgICAgICAoYXJyYXlbb2Zmc2V0ICsgMV0gPDwgMTYpIHxcbiAgICAgICAgKGFycmF5W29mZnNldCArIDJdIDw8IDgpIHxcbiAgICAgICAgYXJyYXlbb2Zmc2V0ICsgM10pID4+PiAwO1xufVxuZXhwb3J0cy5yZWFkVWludDMyQkUgPSByZWFkVWludDMyQkU7XG4vKipcbiAqIFJlYWRzIDQgYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgbGl0dGxlLWVuZGlhblxuICogc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICovXG5mdW5jdGlvbiByZWFkSW50MzJMRShhcnJheSwgb2Zmc2V0KSB7XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICByZXR1cm4gKGFycmF5W29mZnNldCArIDNdIDw8IDI0KSB8XG4gICAgICAgIChhcnJheVtvZmZzZXQgKyAyXSA8PCAxNikgfFxuICAgICAgICAoYXJyYXlbb2Zmc2V0ICsgMV0gPDwgOCkgfFxuICAgICAgICBhcnJheVtvZmZzZXRdO1xufVxuZXhwb3J0cy5yZWFkSW50MzJMRSA9IHJlYWRJbnQzMkxFO1xuLyoqXG4gKiBSZWFkcyA0IGJ5dGVzIGZyb20gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0IGFzIGxpdHRsZS1lbmRpYW5cbiAqIHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICovXG5mdW5jdGlvbiByZWFkVWludDMyTEUoYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgcmV0dXJuICgoYXJyYXlbb2Zmc2V0ICsgM10gPDwgMjQpIHxcbiAgICAgICAgKGFycmF5W29mZnNldCArIDJdIDw8IDE2KSB8XG4gICAgICAgIChhcnJheVtvZmZzZXQgKyAxXSA8PCA4KSB8XG4gICAgICAgIGFycmF5W29mZnNldF0pID4+PiAwO1xufVxuZXhwb3J0cy5yZWFkVWludDMyTEUgPSByZWFkVWludDMyTEU7XG4vKipcbiAqIFdyaXRlcyA0LWJ5dGUgYmlnLWVuZGlhbiByZXByZXNlbnRhdGlvbiBvZiAzMi1iaXQgdW5zaWduZWRcbiAqIHZhbHVlIHRvIGJ5dGUgYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0LlxuICpcbiAqIElmIGJ5dGUgYXJyYXkgaXMgbm90IGdpdmVuLCBjcmVhdGVzIGEgbmV3IDQtYnl0ZSBvbmUuXG4gKlxuICogUmV0dXJucyB0aGUgb3V0cHV0IGJ5dGUgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHdyaXRlVWludDMyQkUodmFsdWUsIG91dCwgb2Zmc2V0KSB7XG4gICAgaWYgKG91dCA9PT0gdm9pZCAwKSB7IG91dCA9IG5ldyBVaW50OEFycmF5KDQpOyB9XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICBvdXRbb2Zmc2V0ICsgMF0gPSB2YWx1ZSA+Pj4gMjQ7XG4gICAgb3V0W29mZnNldCArIDFdID0gdmFsdWUgPj4+IDE2O1xuICAgIG91dFtvZmZzZXQgKyAyXSA9IHZhbHVlID4+PiA4O1xuICAgIG91dFtvZmZzZXQgKyAzXSA9IHZhbHVlID4+PiAwO1xuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlVWludDMyQkUgPSB3cml0ZVVpbnQzMkJFO1xuZXhwb3J0cy53cml0ZUludDMyQkUgPSB3cml0ZVVpbnQzMkJFO1xuLyoqXG4gKiBXcml0ZXMgNC1ieXRlIGxpdHRsZS1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgMzItYml0IHVuc2lnbmVkXG4gKiB2YWx1ZSB0byBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQuXG4gKlxuICogSWYgYnl0ZSBhcnJheSBpcyBub3QgZ2l2ZW4sIGNyZWF0ZXMgYSBuZXcgNC1ieXRlIG9uZS5cbiAqXG4gKiBSZXR1cm5zIHRoZSBvdXRwdXQgYnl0ZSBhcnJheS5cbiAqL1xuZnVuY3Rpb24gd3JpdGVVaW50MzJMRSh2YWx1ZSwgb3V0LCBvZmZzZXQpIHtcbiAgICBpZiAob3V0ID09PSB2b2lkIDApIHsgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoNCk7IH1cbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIG91dFtvZmZzZXQgKyAwXSA9IHZhbHVlID4+PiAwO1xuICAgIG91dFtvZmZzZXQgKyAxXSA9IHZhbHVlID4+PiA4O1xuICAgIG91dFtvZmZzZXQgKyAyXSA9IHZhbHVlID4+PiAxNjtcbiAgICBvdXRbb2Zmc2V0ICsgM10gPSB2YWx1ZSA+Pj4gMjQ7XG4gICAgcmV0dXJuIG91dDtcbn1cbmV4cG9ydHMud3JpdGVVaW50MzJMRSA9IHdyaXRlVWludDMyTEU7XG5leHBvcnRzLndyaXRlSW50MzJMRSA9IHdyaXRlVWludDMyTEU7XG4vKipcbiAqIFJlYWRzIDggYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgYmlnLWVuZGlhblxuICogc2lnbmVkIDY0LWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICpcbiAqIElNUE9SVEFOVDogZHVlIHRvIEphdmFTY3JpcHQgbGltaXRhdGlvbiwgc3VwcG9ydHMgZXhhY3RcbiAqIG51bWJlcnMgaW4gcmFuZ2UgLTkwMDcxOTkyNTQ3NDA5OTEgdG8gOTAwNzE5OTI1NDc0MDk5MS5cbiAqIElmIHRoZSBudW1iZXIgc3RvcmVkIGluIHRoZSBieXRlIGFycmF5IGlzIG91dHNpZGUgdGhpcyByYW5nZSxcbiAqIHRoZSByZXN1bHQgaXMgbm90IGV4YWN0LlxuICovXG5mdW5jdGlvbiByZWFkSW50NjRCRShhcnJheSwgb2Zmc2V0KSB7XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICB2YXIgaGkgPSByZWFkSW50MzJCRShhcnJheSwgb2Zmc2V0KTtcbiAgICB2YXIgbG8gPSByZWFkSW50MzJCRShhcnJheSwgb2Zmc2V0ICsgNCk7XG4gICAgcmV0dXJuIGhpICogMHgxMDAwMDAwMDAgKyBsbyAtICgobG8gPj4gMzEpICogMHgxMDAwMDAwMDApO1xufVxuZXhwb3J0cy5yZWFkSW50NjRCRSA9IHJlYWRJbnQ2NEJFO1xuLyoqXG4gKiBSZWFkcyA4IGJ5dGVzIGZyb20gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0IGFzIGJpZy1lbmRpYW5cbiAqIHVuc2lnbmVkIDY0LWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICpcbiAqIElNUE9SVEFOVDogZHVlIHRvIEphdmFTY3JpcHQgbGltaXRhdGlvbiwgc3VwcG9ydHMgdmFsdWVzIHVwIHRvIDJeNTMtMS5cbiAqL1xuZnVuY3Rpb24gcmVhZFVpbnQ2NEJFKGFycmF5LCBvZmZzZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIHZhciBoaSA9IHJlYWRVaW50MzJCRShhcnJheSwgb2Zmc2V0KTtcbiAgICB2YXIgbG8gPSByZWFkVWludDMyQkUoYXJyYXksIG9mZnNldCArIDQpO1xuICAgIHJldHVybiBoaSAqIDB4MTAwMDAwMDAwICsgbG87XG59XG5leHBvcnRzLnJlYWRVaW50NjRCRSA9IHJlYWRVaW50NjRCRTtcbi8qKlxuICogUmVhZHMgOCBieXRlcyBmcm9tIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldCBhcyBsaXR0bGUtZW5kaWFuXG4gKiBzaWduZWQgNjQtYml0IGludGVnZXIgYW5kIHJldHVybnMgaXQuXG4gKlxuICogSU1QT1JUQU5UOiBkdWUgdG8gSmF2YVNjcmlwdCBsaW1pdGF0aW9uLCBzdXBwb3J0cyBleGFjdFxuICogbnVtYmVycyBpbiByYW5nZSAtOTAwNzE5OTI1NDc0MDk5MSB0byA5MDA3MTk5MjU0NzQwOTkxLlxuICogSWYgdGhlIG51bWJlciBzdG9yZWQgaW4gdGhlIGJ5dGUgYXJyYXkgaXMgb3V0c2lkZSB0aGlzIHJhbmdlLFxuICogdGhlIHJlc3VsdCBpcyBub3QgZXhhY3QuXG4gKi9cbmZ1bmN0aW9uIHJlYWRJbnQ2NExFKGFycmF5LCBvZmZzZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIHZhciBsbyA9IHJlYWRJbnQzMkxFKGFycmF5LCBvZmZzZXQpO1xuICAgIHZhciBoaSA9IHJlYWRJbnQzMkxFKGFycmF5LCBvZmZzZXQgKyA0KTtcbiAgICByZXR1cm4gaGkgKiAweDEwMDAwMDAwMCArIGxvIC0gKChsbyA+PiAzMSkgKiAweDEwMDAwMDAwMCk7XG59XG5leHBvcnRzLnJlYWRJbnQ2NExFID0gcmVhZEludDY0TEU7XG4vKipcbiAqIFJlYWRzIDggYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgbGl0dGxlLWVuZGlhblxuICogdW5zaWduZWQgNjQtYml0IGludGVnZXIgYW5kIHJldHVybnMgaXQuXG4gKlxuICogSU1QT1JUQU5UOiBkdWUgdG8gSmF2YVNjcmlwdCBsaW1pdGF0aW9uLCBzdXBwb3J0cyB2YWx1ZXMgdXAgdG8gMl41My0xLlxuICovXG5mdW5jdGlvbiByZWFkVWludDY0TEUoYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgdmFyIGxvID0gcmVhZFVpbnQzMkxFKGFycmF5LCBvZmZzZXQpO1xuICAgIHZhciBoaSA9IHJlYWRVaW50MzJMRShhcnJheSwgb2Zmc2V0ICsgNCk7XG4gICAgcmV0dXJuIGhpICogMHgxMDAwMDAwMDAgKyBsbztcbn1cbmV4cG9ydHMucmVhZFVpbnQ2NExFID0gcmVhZFVpbnQ2NExFO1xuLyoqXG4gKiBXcml0ZXMgOC1ieXRlIGJpZy1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgNjQtYml0IHVuc2lnbmVkXG4gKiB2YWx1ZSB0byBieXRlIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBEdWUgdG8gSmF2YVNjcmlwdCBsaW1pdGF0aW9uLCBzdXBwb3J0cyB2YWx1ZXMgdXAgdG8gMl41My0xLlxuICpcbiAqIElmIGJ5dGUgYXJyYXkgaXMgbm90IGdpdmVuLCBjcmVhdGVzIGEgbmV3IDgtYnl0ZSBvbmUuXG4gKlxuICogUmV0dXJucyB0aGUgb3V0cHV0IGJ5dGUgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHdyaXRlVWludDY0QkUodmFsdWUsIG91dCwgb2Zmc2V0KSB7XG4gICAgaWYgKG91dCA9PT0gdm9pZCAwKSB7IG91dCA9IG5ldyBVaW50OEFycmF5KDgpOyB9XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICB3cml0ZVVpbnQzMkJFKHZhbHVlIC8gMHgxMDAwMDAwMDAgPj4+IDAsIG91dCwgb2Zmc2V0KTtcbiAgICB3cml0ZVVpbnQzMkJFKHZhbHVlID4+PiAwLCBvdXQsIG9mZnNldCArIDQpO1xuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlVWludDY0QkUgPSB3cml0ZVVpbnQ2NEJFO1xuZXhwb3J0cy53cml0ZUludDY0QkUgPSB3cml0ZVVpbnQ2NEJFO1xuLyoqXG4gKiBXcml0ZXMgOC1ieXRlIGxpdHRsZS1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgNjQtYml0IHVuc2lnbmVkXG4gKiB2YWx1ZSB0byBieXRlIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBEdWUgdG8gSmF2YVNjcmlwdCBsaW1pdGF0aW9uLCBzdXBwb3J0cyB2YWx1ZXMgdXAgdG8gMl41My0xLlxuICpcbiAqIElmIGJ5dGUgYXJyYXkgaXMgbm90IGdpdmVuLCBjcmVhdGVzIGEgbmV3IDgtYnl0ZSBvbmUuXG4gKlxuICogUmV0dXJucyB0aGUgb3V0cHV0IGJ5dGUgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHdyaXRlVWludDY0TEUodmFsdWUsIG91dCwgb2Zmc2V0KSB7XG4gICAgaWYgKG91dCA9PT0gdm9pZCAwKSB7IG91dCA9IG5ldyBVaW50OEFycmF5KDgpOyB9XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICB3cml0ZVVpbnQzMkxFKHZhbHVlID4+PiAwLCBvdXQsIG9mZnNldCk7XG4gICAgd3JpdGVVaW50MzJMRSh2YWx1ZSAvIDB4MTAwMDAwMDAwID4+PiAwLCBvdXQsIG9mZnNldCArIDQpO1xuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlVWludDY0TEUgPSB3cml0ZVVpbnQ2NExFO1xuZXhwb3J0cy53cml0ZUludDY0TEUgPSB3cml0ZVVpbnQ2NExFO1xuLyoqXG4gKiBSZWFkcyBieXRlcyBmcm9tIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldCBhcyBiaWctZW5kaWFuXG4gKiB1bnNpZ25lZCBiaXRMZW4tYml0IGludGVnZXIgYW5kIHJldHVybnMgaXQuXG4gKlxuICogU3VwcG9ydHMgYml0IGxlbmd0aHMgZGl2aXNpYmxlIGJ5IDgsIHVwIHRvIDQ4LlxuICovXG5mdW5jdGlvbiByZWFkVWludEJFKGJpdExlbmd0aCwgYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgLy8gVE9ETyhkY2hlc3QpOiBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgYml0TGVuZ3RocyBub24tZGl2aXNpYmxlIGJ5IDhcbiAgICBpZiAoYml0TGVuZ3RoICUgOCAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZWFkVWludEJFIHN1cHBvcnRzIG9ubHkgYml0TGVuZ3RocyBkaXZpc2libGUgYnkgOFwiKTtcbiAgICB9XG4gICAgaWYgKGJpdExlbmd0aCAvIDggPiBhcnJheS5sZW5ndGggLSBvZmZzZXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmVhZFVpbnRCRTogYXJyYXkgaXMgdG9vIHNob3J0IGZvciB0aGUgZ2l2ZW4gYml0TGVuZ3RoXCIpO1xuICAgIH1cbiAgICB2YXIgcmVzdWx0ID0gMDtcbiAgICB2YXIgbXVsID0gMTtcbiAgICBmb3IgKHZhciBpID0gYml0TGVuZ3RoIC8gOCArIG9mZnNldCAtIDE7IGkgPj0gb2Zmc2V0OyBpLS0pIHtcbiAgICAgICAgcmVzdWx0ICs9IGFycmF5W2ldICogbXVsO1xuICAgICAgICBtdWwgKj0gMjU2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0cy5yZWFkVWludEJFID0gcmVhZFVpbnRCRTtcbi8qKlxuICogUmVhZHMgYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgbGl0dGxlLWVuZGlhblxuICogdW5zaWduZWQgYml0TGVuLWJpdCBpbnRlZ2VyIGFuZCByZXR1cm5zIGl0LlxuICpcbiAqIFN1cHBvcnRzIGJpdCBsZW5ndGhzIGRpdmlzaWJsZSBieSA4LCB1cCB0byA0OC5cbiAqL1xuZnVuY3Rpb24gcmVhZFVpbnRMRShiaXRMZW5ndGgsIGFycmF5LCBvZmZzZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIC8vIFRPRE8oZGNoZXN0KTogaW1wbGVtZW50IHN1cHBvcnQgZm9yIGJpdExlbmd0aHMgbm9uLWRpdmlzaWJsZSBieSA4XG4gICAgaWYgKGJpdExlbmd0aCAlIDggIT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmVhZFVpbnRMRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDhcIik7XG4gICAgfVxuICAgIGlmIChiaXRMZW5ndGggLyA4ID4gYXJyYXkubGVuZ3RoIC0gb2Zmc2V0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInJlYWRVaW50TEU6IGFycmF5IGlzIHRvbyBzaG9ydCBmb3IgdGhlIGdpdmVuIGJpdExlbmd0aFwiKTtcbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IDA7XG4gICAgdmFyIG11bCA9IDE7XG4gICAgZm9yICh2YXIgaSA9IG9mZnNldDsgaSA8IG9mZnNldCArIGJpdExlbmd0aCAvIDg7IGkrKykge1xuICAgICAgICByZXN1bHQgKz0gYXJyYXlbaV0gKiBtdWw7XG4gICAgICAgIG11bCAqPSAyNTY7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnRzLnJlYWRVaW50TEUgPSByZWFkVWludExFO1xuLyoqXG4gKiBXcml0ZXMgYSBiaWctZW5kaWFuIHJlcHJlc2VudGF0aW9uIG9mIGJpdExlbi1iaXQgdW5zaWduZWRcbiAqIHZhbHVlIHRvIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBTdXBwb3J0cyBiaXQgbGVuZ3RocyBkaXZpc2libGUgYnkgOCwgdXAgdG8gNDguXG4gKlxuICogSWYgYnl0ZSBhcnJheSBpcyBub3QgZ2l2ZW4sIGNyZWF0ZXMgYSBuZXcgb25lLlxuICpcbiAqIFJldHVybnMgdGhlIG91dHB1dCBieXRlIGFycmF5LlxuICovXG5mdW5jdGlvbiB3cml0ZVVpbnRCRShiaXRMZW5ndGgsIHZhbHVlLCBvdXQsIG9mZnNldCkge1xuICAgIGlmIChvdXQgPT09IHZvaWQgMCkgeyBvdXQgPSBuZXcgVWludDhBcnJheShiaXRMZW5ndGggLyA4KTsgfVxuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgLy8gVE9ETyhkY2hlc3QpOiBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgYml0TGVuZ3RocyBub24tZGl2aXNpYmxlIGJ5IDhcbiAgICBpZiAoYml0TGVuZ3RoICUgOCAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ3cml0ZVVpbnRCRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDhcIik7XG4gICAgfVxuICAgIGlmICghaW50XzEuaXNTYWZlSW50ZWdlcih2YWx1ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwid3JpdGVVaW50QkUgdmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyXCIpO1xuICAgIH1cbiAgICB2YXIgZGl2ID0gMTtcbiAgICBmb3IgKHZhciBpID0gYml0TGVuZ3RoIC8gOCArIG9mZnNldCAtIDE7IGkgPj0gb2Zmc2V0OyBpLS0pIHtcbiAgICAgICAgb3V0W2ldID0gKHZhbHVlIC8gZGl2KSAmIDB4ZmY7XG4gICAgICAgIGRpdiAqPSAyNTY7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlVWludEJFID0gd3JpdGVVaW50QkU7XG4vKipcbiAqIFdyaXRlcyBhIGxpdHRsZS1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgYml0TGVuLWJpdCB1bnNpZ25lZFxuICogdmFsdWUgdG8gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0LlxuICpcbiAqIFN1cHBvcnRzIGJpdCBsZW5ndGhzIGRpdmlzaWJsZSBieSA4LCB1cCB0byA0OC5cbiAqXG4gKiBJZiBieXRlIGFycmF5IGlzIG5vdCBnaXZlbiwgY3JlYXRlcyBhIG5ldyBvbmUuXG4gKlxuICogUmV0dXJucyB0aGUgb3V0cHV0IGJ5dGUgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHdyaXRlVWludExFKGJpdExlbmd0aCwgdmFsdWUsIG91dCwgb2Zmc2V0KSB7XG4gICAgaWYgKG91dCA9PT0gdm9pZCAwKSB7IG91dCA9IG5ldyBVaW50OEFycmF5KGJpdExlbmd0aCAvIDgpOyB9XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICAvLyBUT0RPKGRjaGVzdCk6IGltcGxlbWVudCBzdXBwb3J0IGZvciBiaXRMZW5ndGhzIG5vbi1kaXZpc2libGUgYnkgOFxuICAgIGlmIChiaXRMZW5ndGggJSA4ICE9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIndyaXRlVWludExFIHN1cHBvcnRzIG9ubHkgYml0TGVuZ3RocyBkaXZpc2libGUgYnkgOFwiKTtcbiAgICB9XG4gICAgaWYgKCFpbnRfMS5pc1NhZmVJbnRlZ2VyKHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ3cml0ZVVpbnRMRSB2YWx1ZSBtdXN0IGJlIGFuIGludGVnZXJcIik7XG4gICAgfVxuICAgIHZhciBkaXYgPSAxO1xuICAgIGZvciAodmFyIGkgPSBvZmZzZXQ7IGkgPCBvZmZzZXQgKyBiaXRMZW5ndGggLyA4OyBpKyspIHtcbiAgICAgICAgb3V0W2ldID0gKHZhbHVlIC8gZGl2KSAmIDB4ZmY7XG4gICAgICAgIGRpdiAqPSAyNTY7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlVWludExFID0gd3JpdGVVaW50TEU7XG4vKipcbiAqIFJlYWRzIDQgYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgYmlnLWVuZGlhblxuICogMzItYml0IGZsb2F0aW5nLXBvaW50IG51bWJlciBhbmQgcmV0dXJucyBpdC5cbiAqL1xuZnVuY3Rpb24gcmVhZEZsb2F0MzJCRShhcnJheSwgb2Zmc2V0KSB7XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhhcnJheS5idWZmZXIsIGFycmF5LmJ5dGVPZmZzZXQsIGFycmF5LmJ5dGVMZW5ndGgpO1xuICAgIHJldHVybiB2aWV3LmdldEZsb2F0MzIob2Zmc2V0KTtcbn1cbmV4cG9ydHMucmVhZEZsb2F0MzJCRSA9IHJlYWRGbG9hdDMyQkU7XG4vKipcbiAqIFJlYWRzIDQgYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgbGl0dGxlLWVuZGlhblxuICogMzItYml0IGZsb2F0aW5nLXBvaW50IG51bWJlciBhbmQgcmV0dXJucyBpdC5cbiAqL1xuZnVuY3Rpb24gcmVhZEZsb2F0MzJMRShhcnJheSwgb2Zmc2V0KSB7XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhhcnJheS5idWZmZXIsIGFycmF5LmJ5dGVPZmZzZXQsIGFycmF5LmJ5dGVMZW5ndGgpO1xuICAgIHJldHVybiB2aWV3LmdldEZsb2F0MzIob2Zmc2V0LCB0cnVlKTtcbn1cbmV4cG9ydHMucmVhZEZsb2F0MzJMRSA9IHJlYWRGbG9hdDMyTEU7XG4vKipcbiAqIFJlYWRzIDggYnl0ZXMgZnJvbSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQgYXMgYmlnLWVuZGlhblxuICogNjQtYml0IGZsb2F0aW5nLXBvaW50IG51bWJlciAoXCJkb3VibGVcIikgYW5kIHJldHVybnMgaXQuXG4gKi9cbmZ1bmN0aW9uIHJlYWRGbG9hdDY0QkUoYXJyYXksIG9mZnNldCkge1xuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgdmFyIHZpZXcgPSBuZXcgRGF0YVZpZXcoYXJyYXkuYnVmZmVyLCBhcnJheS5ieXRlT2Zmc2V0LCBhcnJheS5ieXRlTGVuZ3RoKTtcbiAgICByZXR1cm4gdmlldy5nZXRGbG9hdDY0KG9mZnNldCk7XG59XG5leHBvcnRzLnJlYWRGbG9hdDY0QkUgPSByZWFkRmxvYXQ2NEJFO1xuLyoqXG4gKiBSZWFkcyA4IGJ5dGVzIGZyb20gYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0IGFzIGxpdHRsZS1lbmRpYW5cbiAqIDY0LWJpdCBmbG9hdGluZy1wb2ludCBudW1iZXIgKFwiZG91YmxlXCIpIGFuZCByZXR1cm5zIGl0LlxuICovXG5mdW5jdGlvbiByZWFkRmxvYXQ2NExFKGFycmF5LCBvZmZzZXQpIHtcbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIHZhciB2aWV3ID0gbmV3IERhdGFWaWV3KGFycmF5LmJ1ZmZlciwgYXJyYXkuYnl0ZU9mZnNldCwgYXJyYXkuYnl0ZUxlbmd0aCk7XG4gICAgcmV0dXJuIHZpZXcuZ2V0RmxvYXQ2NChvZmZzZXQsIHRydWUpO1xufVxuZXhwb3J0cy5yZWFkRmxvYXQ2NExFID0gcmVhZEZsb2F0NjRMRTtcbi8qKlxuICogV3JpdGVzIDQtYnl0ZSBiaWctZW5kaWFuIGZsb2F0aW5nLXBvaW50IHJlcHJlc2VudGF0aW9uIG9mIHZhbHVlXG4gKiB0byBieXRlIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBJZiBieXRlIGFycmF5IGlzIG5vdCBnaXZlbiwgY3JlYXRlcyBhIG5ldyA0LWJ5dGUgb25lLlxuICpcbiAqIFJldHVybnMgdGhlIG91dHB1dCBieXRlIGFycmF5LlxuICovXG5mdW5jdGlvbiB3cml0ZUZsb2F0MzJCRSh2YWx1ZSwgb3V0LCBvZmZzZXQpIHtcbiAgICBpZiAob3V0ID09PSB2b2lkIDApIHsgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoNCk7IH1cbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIHZhciB2aWV3ID0gbmV3IERhdGFWaWV3KG91dC5idWZmZXIsIG91dC5ieXRlT2Zmc2V0LCBvdXQuYnl0ZUxlbmd0aCk7XG4gICAgdmlldy5zZXRGbG9hdDMyKG9mZnNldCwgdmFsdWUpO1xuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlRmxvYXQzMkJFID0gd3JpdGVGbG9hdDMyQkU7XG4vKipcbiAqIFdyaXRlcyA0LWJ5dGUgbGl0dGxlLWVuZGlhbiBmbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlvbiBvZiB2YWx1ZVxuICogdG8gYnl0ZSBhcnJheSBzdGFydGluZyBhdCBvZmZzZXQuXG4gKlxuICogSWYgYnl0ZSBhcnJheSBpcyBub3QgZ2l2ZW4sIGNyZWF0ZXMgYSBuZXcgNC1ieXRlIG9uZS5cbiAqXG4gKiBSZXR1cm5zIHRoZSBvdXRwdXQgYnl0ZSBhcnJheS5cbiAqL1xuZnVuY3Rpb24gd3JpdGVGbG9hdDMyTEUodmFsdWUsIG91dCwgb2Zmc2V0KSB7XG4gICAgaWYgKG91dCA9PT0gdm9pZCAwKSB7IG91dCA9IG5ldyBVaW50OEFycmF5KDQpOyB9XG4gICAgaWYgKG9mZnNldCA9PT0gdm9pZCAwKSB7IG9mZnNldCA9IDA7IH1cbiAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhvdXQuYnVmZmVyLCBvdXQuYnl0ZU9mZnNldCwgb3V0LmJ5dGVMZW5ndGgpO1xuICAgIHZpZXcuc2V0RmxvYXQzMihvZmZzZXQsIHZhbHVlLCB0cnVlKTtcbiAgICByZXR1cm4gb3V0O1xufVxuZXhwb3J0cy53cml0ZUZsb2F0MzJMRSA9IHdyaXRlRmxvYXQzMkxFO1xuLyoqXG4gKiBXcml0ZXMgOC1ieXRlIGJpZy1lbmRpYW4gZmxvYXRpbmctcG9pbnQgcmVwcmVzZW50YXRpb24gb2YgdmFsdWVcbiAqIHRvIGJ5dGUgYXJyYXkgc3RhcnRpbmcgYXQgb2Zmc2V0LlxuICpcbiAqIElmIGJ5dGUgYXJyYXkgaXMgbm90IGdpdmVuLCBjcmVhdGVzIGEgbmV3IDgtYnl0ZSBvbmUuXG4gKlxuICogUmV0dXJucyB0aGUgb3V0cHV0IGJ5dGUgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHdyaXRlRmxvYXQ2NEJFKHZhbHVlLCBvdXQsIG9mZnNldCkge1xuICAgIGlmIChvdXQgPT09IHZvaWQgMCkgeyBvdXQgPSBuZXcgVWludDhBcnJheSg4KTsgfVxuICAgIGlmIChvZmZzZXQgPT09IHZvaWQgMCkgeyBvZmZzZXQgPSAwOyB9XG4gICAgdmFyIHZpZXcgPSBuZXcgRGF0YVZpZXcob3V0LmJ1ZmZlciwgb3V0LmJ5dGVPZmZzZXQsIG91dC5ieXRlTGVuZ3RoKTtcbiAgICB2aWV3LnNldEZsb2F0NjQob2Zmc2V0LCB2YWx1ZSk7XG4gICAgcmV0dXJuIG91dDtcbn1cbmV4cG9ydHMud3JpdGVGbG9hdDY0QkUgPSB3cml0ZUZsb2F0NjRCRTtcbi8qKlxuICogV3JpdGVzIDgtYnl0ZSBsaXR0bGUtZW5kaWFuIGZsb2F0aW5nLXBvaW50IHJlcHJlc2VudGF0aW9uIG9mIHZhbHVlXG4gKiB0byBieXRlIGFycmF5IHN0YXJ0aW5nIGF0IG9mZnNldC5cbiAqXG4gKiBJZiBieXRlIGFycmF5IGlzIG5vdCBnaXZlbiwgY3JlYXRlcyBhIG5ldyA4LWJ5dGUgb25lLlxuICpcbiAqIFJldHVybnMgdGhlIG91dHB1dCBieXRlIGFycmF5LlxuICovXG5mdW5jdGlvbiB3cml0ZUZsb2F0NjRMRSh2YWx1ZSwgb3V0LCBvZmZzZXQpIHtcbiAgICBpZiAob3V0ID09PSB2b2lkIDApIHsgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoOCk7IH1cbiAgICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHsgb2Zmc2V0ID0gMDsgfVxuICAgIHZhciB2aWV3ID0gbmV3IERhdGFWaWV3KG91dC5idWZmZXIsIG91dC5ieXRlT2Zmc2V0LCBvdXQuYnl0ZUxlbmd0aCk7XG4gICAgdmlldy5zZXRGbG9hdDY0KG9mZnNldCwgdmFsdWUsIHRydWUpO1xuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLndyaXRlRmxvYXQ2NExFID0gd3JpdGVGbG9hdDY0TEU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1iaW5hcnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/binary/lib/binary.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/chacha/lib/chacha.js": -/*!******************************************************!*\ - !*** ./node_modules/@stablelib/chacha/lib/chacha.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Package chacha implements ChaCha stream cipher.\n */\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ \"./node_modules/@stablelib/binary/lib/binary.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\n// Number of ChaCha rounds (ChaCha20).\nvar ROUNDS = 20;\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, input, key) {\n var j0 = 0x61707865; // \"expa\" -- ChaCha's \"sigma\" constant\n var j1 = 0x3320646E; // \"nd 3\" for 32-byte keys\n var j2 = 0x79622D32; // \"2-by\"\n var j3 = 0x6B206574; // \"te k\"\n var j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n var j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n var j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n var j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n var x0 = j0;\n var x1 = j1;\n var x2 = j2;\n var x3 = j3;\n var x4 = j4;\n var x5 = j5;\n var x6 = j6;\n var x7 = j7;\n var x8 = j8;\n var x9 = j9;\n var x10 = j10;\n var x11 = j11;\n var x12 = j12;\n var x13 = j13;\n var x14 = j14;\n var x15 = j15;\n for (var i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n binary_1.writeUint32LE(x0 + j0 | 0, out, 0);\n binary_1.writeUint32LE(x1 + j1 | 0, out, 4);\n binary_1.writeUint32LE(x2 + j2 | 0, out, 8);\n binary_1.writeUint32LE(x3 + j3 | 0, out, 12);\n binary_1.writeUint32LE(x4 + j4 | 0, out, 16);\n binary_1.writeUint32LE(x5 + j5 | 0, out, 20);\n binary_1.writeUint32LE(x6 + j6 | 0, out, 24);\n binary_1.writeUint32LE(x7 + j7 | 0, out, 28);\n binary_1.writeUint32LE(x8 + j8 | 0, out, 32);\n binary_1.writeUint32LE(x9 + j9 | 0, out, 36);\n binary_1.writeUint32LE(x10 + j10 | 0, out, 40);\n binary_1.writeUint32LE(x11 + j11 | 0, out, 44);\n binary_1.writeUint32LE(x12 + j12 | 0, out, 48);\n binary_1.writeUint32LE(x13 + j13 | 0, out, 52);\n binary_1.writeUint32LE(x14 + j14 | 0, out, 56);\n binary_1.writeUint32LE(x15 + j15 | 0, out, 60);\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 */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\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 if (dst.length < src.length) {\n throw new Error(\"ChaCha: destination is shorter than source\");\n }\n var nc;\n var counterLength;\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 }\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 // Allocate temporary space for ChaCha block.\n var block = new Uint8Array(64);\n for (var i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n // XOR block bytes with src into dst.\n for (var j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n // Cleanup temporary space.\n wipe_1.wipe(block);\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe_1.wipe(nc);\n }\n return dst;\n}\nexports.streamXOR = streamXOR;\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 */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\nfunction incrementCounter(counter, pos, len) {\n var 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//# sourceMappingURL=chacha.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9jaGFjaGEvbGliL2NoYWNoYS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLHlFQUFtQjtBQUMxQyxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsWUFBWTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixnQkFBZ0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDhCQUE4QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL2NoYWNoYS9saWIvY2hhY2hhLmpzPzM5YWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKEMpIDIwMTYgRG1pdHJ5IENoZXN0bnlraFxuLy8gTUlUIExpY2Vuc2UuIFNlZSBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKipcbiAqIFBhY2thZ2UgY2hhY2hhIGltcGxlbWVudHMgQ2hhQ2hhIHN0cmVhbSBjaXBoZXIuXG4gKi9cbnZhciBiaW5hcnlfMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL2JpbmFyeVwiKTtcbnZhciB3aXBlXzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi93aXBlXCIpO1xuLy8gTnVtYmVyIG9mIENoYUNoYSByb3VuZHMgKENoYUNoYTIwKS5cbnZhciBST1VORFMgPSAyMDtcbi8vIEFwcGxpZXMgdGhlIENoYUNoYSBjb3JlIGZ1bmN0aW9uIHRvIDE2LWJ5dGUgaW5wdXQsXG4vLyAzMi1ieXRlIGtleSBrZXksIGFuZCBwdXRzIHRoZSByZXN1bHQgaW50byA2NC1ieXRlIGFycmF5IG91dC5cbmZ1bmN0aW9uIGNvcmUob3V0LCBpbnB1dCwga2V5KSB7XG4gICAgdmFyIGowID0gMHg2MTcwNzg2NTsgLy8gXCJleHBhXCIgIC0tIENoYUNoYSdzIFwic2lnbWFcIiBjb25zdGFudFxuICAgIHZhciBqMSA9IDB4MzMyMDY0NkU7IC8vIFwibmQgM1wiICAgICBmb3IgMzItYnl0ZSBrZXlzXG4gICAgdmFyIGoyID0gMHg3OTYyMkQzMjsgLy8gXCIyLWJ5XCJcbiAgICB2YXIgajMgPSAweDZCMjA2NTc0OyAvLyBcInRlIGtcIlxuICAgIHZhciBqNCA9IChrZXlbM10gPDwgMjQpIHwgKGtleVsyXSA8PCAxNikgfCAoa2V5WzFdIDw8IDgpIHwga2V5WzBdO1xuICAgIHZhciBqNSA9IChrZXlbN10gPDwgMjQpIHwgKGtleVs2XSA8PCAxNikgfCAoa2V5WzVdIDw8IDgpIHwga2V5WzRdO1xuICAgIHZhciBqNiA9IChrZXlbMTFdIDw8IDI0KSB8IChrZXlbMTBdIDw8IDE2KSB8IChrZXlbOV0gPDwgOCkgfCBrZXlbOF07XG4gICAgdmFyIGo3ID0gKGtleVsxNV0gPDwgMjQpIHwgKGtleVsxNF0gPDwgMTYpIHwgKGtleVsxM10gPDwgOCkgfCBrZXlbMTJdO1xuICAgIHZhciBqOCA9IChrZXlbMTldIDw8IDI0KSB8IChrZXlbMThdIDw8IDE2KSB8IChrZXlbMTddIDw8IDgpIHwga2V5WzE2XTtcbiAgICB2YXIgajkgPSAoa2V5WzIzXSA8PCAyNCkgfCAoa2V5WzIyXSA8PCAxNikgfCAoa2V5WzIxXSA8PCA4KSB8IGtleVsyMF07XG4gICAgdmFyIGoxMCA9IChrZXlbMjddIDw8IDI0KSB8IChrZXlbMjZdIDw8IDE2KSB8IChrZXlbMjVdIDw8IDgpIHwga2V5WzI0XTtcbiAgICB2YXIgajExID0gKGtleVszMV0gPDwgMjQpIHwgKGtleVszMF0gPDwgMTYpIHwgKGtleVsyOV0gPDwgOCkgfCBrZXlbMjhdO1xuICAgIHZhciBqMTIgPSAoaW5wdXRbM10gPDwgMjQpIHwgKGlucHV0WzJdIDw8IDE2KSB8IChpbnB1dFsxXSA8PCA4KSB8IGlucHV0WzBdO1xuICAgIHZhciBqMTMgPSAoaW5wdXRbN10gPDwgMjQpIHwgKGlucHV0WzZdIDw8IDE2KSB8IChpbnB1dFs1XSA8PCA4KSB8IGlucHV0WzRdO1xuICAgIHZhciBqMTQgPSAoaW5wdXRbMTFdIDw8IDI0KSB8IChpbnB1dFsxMF0gPDwgMTYpIHwgKGlucHV0WzldIDw8IDgpIHwgaW5wdXRbOF07XG4gICAgdmFyIGoxNSA9IChpbnB1dFsxNV0gPDwgMjQpIHwgKGlucHV0WzE0XSA8PCAxNikgfCAoaW5wdXRbMTNdIDw8IDgpIHwgaW5wdXRbMTJdO1xuICAgIHZhciB4MCA9IGowO1xuICAgIHZhciB4MSA9IGoxO1xuICAgIHZhciB4MiA9IGoyO1xuICAgIHZhciB4MyA9IGozO1xuICAgIHZhciB4NCA9IGo0O1xuICAgIHZhciB4NSA9IGo1O1xuICAgIHZhciB4NiA9IGo2O1xuICAgIHZhciB4NyA9IGo3O1xuICAgIHZhciB4OCA9IGo4O1xuICAgIHZhciB4OSA9IGo5O1xuICAgIHZhciB4MTAgPSBqMTA7XG4gICAgdmFyIHgxMSA9IGoxMTtcbiAgICB2YXIgeDEyID0gajEyO1xuICAgIHZhciB4MTMgPSBqMTM7XG4gICAgdmFyIHgxNCA9IGoxNDtcbiAgICB2YXIgeDE1ID0gajE1O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgUk9VTkRTOyBpICs9IDIpIHtcbiAgICAgICAgeDAgPSB4MCArIHg0IHwgMDtcbiAgICAgICAgeDEyIF49IHgwO1xuICAgICAgICB4MTIgPSB4MTIgPj4+ICgzMiAtIDE2KSB8IHgxMiA8PCAxNjtcbiAgICAgICAgeDggPSB4OCArIHgxMiB8IDA7XG4gICAgICAgIHg0IF49IHg4O1xuICAgICAgICB4NCA9IHg0ID4+PiAoMzIgLSAxMikgfCB4NCA8PCAxMjtcbiAgICAgICAgeDEgPSB4MSArIHg1IHwgMDtcbiAgICAgICAgeDEzIF49IHgxO1xuICAgICAgICB4MTMgPSB4MTMgPj4+ICgzMiAtIDE2KSB8IHgxMyA8PCAxNjtcbiAgICAgICAgeDkgPSB4OSArIHgxMyB8IDA7XG4gICAgICAgIHg1IF49IHg5O1xuICAgICAgICB4NSA9IHg1ID4+PiAoMzIgLSAxMikgfCB4NSA8PCAxMjtcbiAgICAgICAgeDIgPSB4MiArIHg2IHwgMDtcbiAgICAgICAgeDE0IF49IHgyO1xuICAgICAgICB4MTQgPSB4MTQgPj4+ICgzMiAtIDE2KSB8IHgxNCA8PCAxNjtcbiAgICAgICAgeDEwID0geDEwICsgeDE0IHwgMDtcbiAgICAgICAgeDYgXj0geDEwO1xuICAgICAgICB4NiA9IHg2ID4+PiAoMzIgLSAxMikgfCB4NiA8PCAxMjtcbiAgICAgICAgeDMgPSB4MyArIHg3IHwgMDtcbiAgICAgICAgeDE1IF49IHgzO1xuICAgICAgICB4MTUgPSB4MTUgPj4+ICgzMiAtIDE2KSB8IHgxNSA8PCAxNjtcbiAgICAgICAgeDExID0geDExICsgeDE1IHwgMDtcbiAgICAgICAgeDcgXj0geDExO1xuICAgICAgICB4NyA9IHg3ID4+PiAoMzIgLSAxMikgfCB4NyA8PCAxMjtcbiAgICAgICAgeDIgPSB4MiArIHg2IHwgMDtcbiAgICAgICAgeDE0IF49IHgyO1xuICAgICAgICB4MTQgPSB4MTQgPj4+ICgzMiAtIDgpIHwgeDE0IDw8IDg7XG4gICAgICAgIHgxMCA9IHgxMCArIHgxNCB8IDA7XG4gICAgICAgIHg2IF49IHgxMDtcbiAgICAgICAgeDYgPSB4NiA+Pj4gKDMyIC0gNykgfCB4NiA8PCA3O1xuICAgICAgICB4MyA9IHgzICsgeDcgfCAwO1xuICAgICAgICB4MTUgXj0geDM7XG4gICAgICAgIHgxNSA9IHgxNSA+Pj4gKDMyIC0gOCkgfCB4MTUgPDwgODtcbiAgICAgICAgeDExID0geDExICsgeDE1IHwgMDtcbiAgICAgICAgeDcgXj0geDExO1xuICAgICAgICB4NyA9IHg3ID4+PiAoMzIgLSA3KSB8IHg3IDw8IDc7XG4gICAgICAgIHgxID0geDEgKyB4NSB8IDA7XG4gICAgICAgIHgxMyBePSB4MTtcbiAgICAgICAgeDEzID0geDEzID4+PiAoMzIgLSA4KSB8IHgxMyA8PCA4O1xuICAgICAgICB4OSA9IHg5ICsgeDEzIHwgMDtcbiAgICAgICAgeDUgXj0geDk7XG4gICAgICAgIHg1ID0geDUgPj4+ICgzMiAtIDcpIHwgeDUgPDwgNztcbiAgICAgICAgeDAgPSB4MCArIHg0IHwgMDtcbiAgICAgICAgeDEyIF49IHgwO1xuICAgICAgICB4MTIgPSB4MTIgPj4+ICgzMiAtIDgpIHwgeDEyIDw8IDg7XG4gICAgICAgIHg4ID0geDggKyB4MTIgfCAwO1xuICAgICAgICB4NCBePSB4ODtcbiAgICAgICAgeDQgPSB4NCA+Pj4gKDMyIC0gNykgfCB4NCA8PCA3O1xuICAgICAgICB4MCA9IHgwICsgeDUgfCAwO1xuICAgICAgICB4MTUgXj0geDA7XG4gICAgICAgIHgxNSA9IHgxNSA+Pj4gKDMyIC0gMTYpIHwgeDE1IDw8IDE2O1xuICAgICAgICB4MTAgPSB4MTAgKyB4MTUgfCAwO1xuICAgICAgICB4NSBePSB4MTA7XG4gICAgICAgIHg1ID0geDUgPj4+ICgzMiAtIDEyKSB8IHg1IDw8IDEyO1xuICAgICAgICB4MSA9IHgxICsgeDYgfCAwO1xuICAgICAgICB4MTIgXj0geDE7XG4gICAgICAgIHgxMiA9IHgxMiA+Pj4gKDMyIC0gMTYpIHwgeDEyIDw8IDE2O1xuICAgICAgICB4MTEgPSB4MTEgKyB4MTIgfCAwO1xuICAgICAgICB4NiBePSB4MTE7XG4gICAgICAgIHg2ID0geDYgPj4+ICgzMiAtIDEyKSB8IHg2IDw8IDEyO1xuICAgICAgICB4MiA9IHgyICsgeDcgfCAwO1xuICAgICAgICB4MTMgXj0geDI7XG4gICAgICAgIHgxMyA9IHgxMyA+Pj4gKDMyIC0gMTYpIHwgeDEzIDw8IDE2O1xuICAgICAgICB4OCA9IHg4ICsgeDEzIHwgMDtcbiAgICAgICAgeDcgXj0geDg7XG4gICAgICAgIHg3ID0geDcgPj4+ICgzMiAtIDEyKSB8IHg3IDw8IDEyO1xuICAgICAgICB4MyA9IHgzICsgeDQgfCAwO1xuICAgICAgICB4MTQgXj0geDM7XG4gICAgICAgIHgxNCA9IHgxNCA+Pj4gKDMyIC0gMTYpIHwgeDE0IDw8IDE2O1xuICAgICAgICB4OSA9IHg5ICsgeDE0IHwgMDtcbiAgICAgICAgeDQgXj0geDk7XG4gICAgICAgIHg0ID0geDQgPj4+ICgzMiAtIDEyKSB8IHg0IDw8IDEyO1xuICAgICAgICB4MiA9IHgyICsgeDcgfCAwO1xuICAgICAgICB4MTMgXj0geDI7XG4gICAgICAgIHgxMyA9IHgxMyA+Pj4gKDMyIC0gOCkgfCB4MTMgPDwgODtcbiAgICAgICAgeDggPSB4OCArIHgxMyB8IDA7XG4gICAgICAgIHg3IF49IHg4O1xuICAgICAgICB4NyA9IHg3ID4+PiAoMzIgLSA3KSB8IHg3IDw8IDc7XG4gICAgICAgIHgzID0geDMgKyB4NCB8IDA7XG4gICAgICAgIHgxNCBePSB4MztcbiAgICAgICAgeDE0ID0geDE0ID4+PiAoMzIgLSA4KSB8IHgxNCA8PCA4O1xuICAgICAgICB4OSA9IHg5ICsgeDE0IHwgMDtcbiAgICAgICAgeDQgXj0geDk7XG4gICAgICAgIHg0ID0geDQgPj4+ICgzMiAtIDcpIHwgeDQgPDwgNztcbiAgICAgICAgeDEgPSB4MSArIHg2IHwgMDtcbiAgICAgICAgeDEyIF49IHgxO1xuICAgICAgICB4MTIgPSB4MTIgPj4+ICgzMiAtIDgpIHwgeDEyIDw8IDg7XG4gICAgICAgIHgxMSA9IHgxMSArIHgxMiB8IDA7XG4gICAgICAgIHg2IF49IHgxMTtcbiAgICAgICAgeDYgPSB4NiA+Pj4gKDMyIC0gNykgfCB4NiA8PCA3O1xuICAgICAgICB4MCA9IHgwICsgeDUgfCAwO1xuICAgICAgICB4MTUgXj0geDA7XG4gICAgICAgIHgxNSA9IHgxNSA+Pj4gKDMyIC0gOCkgfCB4MTUgPDwgODtcbiAgICAgICAgeDEwID0geDEwICsgeDE1IHwgMDtcbiAgICAgICAgeDUgXj0geDEwO1xuICAgICAgICB4NSA9IHg1ID4+PiAoMzIgLSA3KSB8IHg1IDw8IDc7XG4gICAgfVxuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDAgKyBqMCB8IDAsIG91dCwgMCk7XG4gICAgYmluYXJ5XzEud3JpdGVVaW50MzJMRSh4MSArIGoxIHwgMCwgb3V0LCA0KTtcbiAgICBiaW5hcnlfMS53cml0ZVVpbnQzMkxFKHgyICsgajIgfCAwLCBvdXQsIDgpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDMgKyBqMyB8IDAsIG91dCwgMTIpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDQgKyBqNCB8IDAsIG91dCwgMTYpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDUgKyBqNSB8IDAsIG91dCwgMjApO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDYgKyBqNiB8IDAsIG91dCwgMjQpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDcgKyBqNyB8IDAsIG91dCwgMjgpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDggKyBqOCB8IDAsIG91dCwgMzIpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDkgKyBqOSB8IDAsIG91dCwgMzYpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDEwICsgajEwIHwgMCwgb3V0LCA0MCk7XG4gICAgYmluYXJ5XzEud3JpdGVVaW50MzJMRSh4MTEgKyBqMTEgfCAwLCBvdXQsIDQ0KTtcbiAgICBiaW5hcnlfMS53cml0ZVVpbnQzMkxFKHgxMiArIGoxMiB8IDAsIG91dCwgNDgpO1xuICAgIGJpbmFyeV8xLndyaXRlVWludDMyTEUoeDEzICsgajEzIHwgMCwgb3V0LCA1Mik7XG4gICAgYmluYXJ5XzEud3JpdGVVaW50MzJMRSh4MTQgKyBqMTQgfCAwLCBvdXQsIDU2KTtcbiAgICBiaW5hcnlfMS53cml0ZVVpbnQzMkxFKHgxNSArIGoxNSB8IDAsIG91dCwgNjApO1xufVxuLyoqXG4gKiBFbmNyeXB0IHNyYyB3aXRoIENoYUNoYTIwIHN0cmVhbSBnZW5lcmF0ZWQgZm9yIHRoZSBnaXZlbiAzMi1ieXRlIGtleSBhbmRcbiAqIDgtYnl0ZSAoYXMgaW4gb3JpZ2luYWwgaW1wbGVtZW50YXRpb24pIG9yIDEyLWJ5dGUgKGFzIGluIFJGQzc1MzkpIG5vbmNlIGFuZFxuICogd3JpdGUgdGhlIHJlc3VsdCBpbnRvIGRzdCBhbmQgcmV0dXJuIGl0LlxuICpcbiAqIGRzdCBhbmQgc3JjIG1heSBiZSB0aGUgc2FtZSwgYnV0IG90aGVyd2lzZSBtdXN0IG5vdCBvdmVybGFwLlxuICpcbiAqIElmIG5vbmNlIGlzIDEyIGJ5dGVzLCB1c2VycyBzaG91bGQgbm90IGVuY3J5cHQgbW9yZSB0aGFuIDI1NiBHaUIgd2l0aCB0aGVcbiAqIHNhbWUga2V5IGFuZCBub25jZSwgb3RoZXJ3aXNlIHRoZSBzdHJlYW0gd2lsbCByZXBlYXQuIFRoZSBmdW5jdGlvbiB3aWxsXG4gKiB0aHJvdyBlcnJvciBpZiBjb3VudGVyIG92ZXJmbG93cyB0byBwcmV2ZW50IHRoaXMuXG4gKlxuICogSWYgbm9uY2UgaXMgOCBieXRlcywgdGhlIG91dHB1dCBpcyBwcmFjdGljYWxseSB1bmxpbWl0ZWQgKDJeNzAgYnl0ZXMsIHdoaWNoXG4gKiBpcyBtb3JlIHRoYW4gYSBtaWxsaW9uIHBldGFieXRlcykuIEhvd2V2ZXIsIGl0IGlzIG5vdCByZWNvbW1lbmRlZCB0b1xuICogZ2VuZXJhdGUgOC1ieXRlIG5vbmNlcyByYW5kb21seSwgYXMgdGhlIGNoYW5jZSBvZiBjb2xsaXNpb24gaXMgaGlnaC5cbiAqXG4gKiBOZXZlciB1c2UgdGhlIHNhbWUga2V5IGFuZCBub25jZSB0byBlbmNyeXB0IG1vcmUgdGhhbiBvbmUgbWVzc2FnZS5cbiAqXG4gKiBJZiBub25jZUlucGxhY2VDb3VudGVyTGVuZ3RoIGlzIG5vdCAwLCB0aGUgbm9uY2UgaXMgYXNzdW1lZCB0byBiZSBhIDE2LWJ5dGVcbiAqIGFycmF5IHdpdGggc3RyZWFtIGNvdW50ZXIgaW4gZmlyc3Qgbm9uY2VJbnBsYWNlQ291bnRlckxlbmd0aCBieXRlcyBhbmQgbm9uY2VcbiAqIGluIHRoZSBsYXN0IHJlbWFpbmluZyBieXRlcy4gVGhlIGNvdW50ZXIgd2lsbCBiZSBpbmNyZW1lbnRlZCBpbnBsYWNlIGZvclxuICogZWFjaCBDaGFDaGEgYmxvY2suIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGVuY3J5cHQgb25lIHN0cmVhbSBvZiBkYXRhXG4gKiBpbiBjaHVua3MuXG4gKi9cbmZ1bmN0aW9uIHN0cmVhbVhPUihrZXksIG5vbmNlLCBzcmMsIGRzdCwgbm9uY2VJbnBsYWNlQ291bnRlckxlbmd0aCkge1xuICAgIGlmIChub25jZUlucGxhY2VDb3VudGVyTGVuZ3RoID09PSB2b2lkIDApIHsgbm9uY2VJbnBsYWNlQ291bnRlckxlbmd0aCA9IDA7IH1cbiAgICAvLyBXZSBvbmx5IHN1cHBvcnQgMjU2LWJpdCBrZXlzLlxuICAgIGlmIChrZXkubGVuZ3RoICE9PSAzMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDaGFDaGE6IGtleSBzaXplIG11c3QgYmUgMzIgYnl0ZXNcIik7XG4gICAgfVxuICAgIGlmIChkc3QubGVuZ3RoIDwgc3JjLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDaGFDaGE6IGRlc3RpbmF0aW9uIGlzIHNob3J0ZXIgdGhhbiBzb3VyY2VcIik7XG4gICAgfVxuICAgIHZhciBuYztcbiAgICB2YXIgY291bnRlckxlbmd0aDtcbiAgICBpZiAobm9uY2VJbnBsYWNlQ291bnRlckxlbmd0aCA9PT0gMCkge1xuICAgICAgICBpZiAobm9uY2UubGVuZ3RoICE9PSA4ICYmIG5vbmNlLmxlbmd0aCAhPT0gMTIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNoYUNoYSBub25jZSBtdXN0IGJlIDggb3IgMTIgYnl0ZXNcIik7XG4gICAgICAgIH1cbiAgICAgICAgbmMgPSBuZXcgVWludDhBcnJheSgxNik7XG4gICAgICAgIC8vIEZpcnN0IGNvdW50ZXJMZW5ndGggYnl0ZXMgb2YgbmMgYXJlIGNvdW50ZXIsIHN0YXJ0aW5nIHdpdGggemVyby5cbiAgICAgICAgY291bnRlckxlbmd0aCA9IG5jLmxlbmd0aCAtIG5vbmNlLmxlbmd0aDtcbiAgICAgICAgLy8gTGFzdCBieXRlcyBvZiBuYyBhZnRlciBjb3VudGVyTGVuZ3RoIGFyZSBub25jZSwgc2V0IHRoZW0uXG4gICAgICAgIG5jLnNldChub25jZSwgY291bnRlckxlbmd0aCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpZiAobm9uY2UubGVuZ3RoICE9PSAxNikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2hhQ2hhIG5vbmNlIHdpdGggY291bnRlciBtdXN0IGJlIDE2IGJ5dGVzXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgd2lsbCB1cGRhdGUgcGFzc2VkIG5vbmNlIHdpdGggY291bnRlciBpbnBsYWNlLlxuICAgICAgICBuYyA9IG5vbmNlO1xuICAgICAgICBjb3VudGVyTGVuZ3RoID0gbm9uY2VJbnBsYWNlQ291bnRlckxlbmd0aDtcbiAgICB9XG4gICAgLy8gQWxsb2NhdGUgdGVtcG9yYXJ5IHNwYWNlIGZvciBDaGFDaGEgYmxvY2suXG4gICAgdmFyIGJsb2NrID0gbmV3IFVpbnQ4QXJyYXkoNjQpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3JjLmxlbmd0aDsgaSArPSA2NCkge1xuICAgICAgICAvLyBHZW5lcmF0ZSBhIGJsb2NrLlxuICAgICAgICBjb3JlKGJsb2NrLCBuYywga2V5KTtcbiAgICAgICAgLy8gWE9SIGJsb2NrIGJ5dGVzIHdpdGggc3JjIGludG8gZHN0LlxuICAgICAgICBmb3IgKHZhciBqID0gaTsgaiA8IGkgKyA2NCAmJiBqIDwgc3JjLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBkc3Rbal0gPSBzcmNbal0gXiBibG9ja1tqIC0gaV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW5jcmVtZW50IGNvdW50ZXIuXG4gICAgICAgIGluY3JlbWVudENvdW50ZXIobmMsIDAsIGNvdW50ZXJMZW5ndGgpO1xuICAgIH1cbiAgICAvLyBDbGVhbnVwIHRlbXBvcmFyeSBzcGFjZS5cbiAgICB3aXBlXzEud2lwZShibG9jayk7XG4gICAgaWYgKG5vbmNlSW5wbGFjZUNvdW50ZXJMZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gQ2xlYW51cCBjb3VudGVyLlxuICAgICAgICB3aXBlXzEud2lwZShuYyk7XG4gICAgfVxuICAgIHJldHVybiBkc3Q7XG59XG5leHBvcnRzLnN0cmVhbVhPUiA9IHN0cmVhbVhPUjtcbi8qKlxuICogR2VuZXJhdGUgQ2hhQ2hhMjAgc3RyZWFtIGZvciB0aGUgZ2l2ZW4gMzItYnl0ZSBrZXkgYW5kIDgtYnl0ZSBvciAxMi1ieXRlXG4gKiBub25jZSBhbmQgd3JpdGUgaXQgaW50byBkc3QgYW5kIHJldHVybiBpdC5cbiAqXG4gKiBOZXZlciB1c2UgdGhlIHNhbWUga2V5IGFuZCBub25jZSB0byBnZW5lcmF0ZSBtb3JlIHRoYW4gb25lIHN0cmVhbS5cbiAqXG4gKiBJZiBub25jZUlucGxhY2VDb3VudGVyTGVuZ3RoIGlzIG5vdCAwLCBpdCBiZWhhdmVzIHRoZSBzYW1lIHdpdGggcmVzcGVjdCB0b1xuICogdGhlIG5vbmNlIGFzIGRlc2NyaWJlZCBpbiB0aGUgc3RyZWFtWE9SIGRvY3VtZW50YXRpb24uXG4gKlxuICogc3RyZWFtIGlzIGxpa2Ugc3RyZWFtWE9SIHdpdGggYWxsLXplcm8gc3JjLlxuICovXG5mdW5jdGlvbiBzdHJlYW0oa2V5LCBub25jZSwgZHN0LCBub25jZUlucGxhY2VDb3VudGVyTGVuZ3RoKSB7XG4gICAgaWYgKG5vbmNlSW5wbGFjZUNvdW50ZXJMZW5ndGggPT09IHZvaWQgMCkgeyBub25jZUlucGxhY2VDb3VudGVyTGVuZ3RoID0gMDsgfVxuICAgIHdpcGVfMS53aXBlKGRzdCk7XG4gICAgcmV0dXJuIHN0cmVhbVhPUihrZXksIG5vbmNlLCBkc3QsIGRzdCwgbm9uY2VJbnBsYWNlQ291bnRlckxlbmd0aCk7XG59XG5leHBvcnRzLnN0cmVhbSA9IHN0cmVhbTtcbmZ1bmN0aW9uIGluY3JlbWVudENvdW50ZXIoY291bnRlciwgcG9zLCBsZW4pIHtcbiAgICB2YXIgY2FycnkgPSAxO1xuICAgIHdoaWxlIChsZW4tLSkge1xuICAgICAgICBjYXJyeSA9IGNhcnJ5ICsgKGNvdW50ZXJbcG9zXSAmIDB4ZmYpIHwgMDtcbiAgICAgICAgY291bnRlcltwb3NdID0gY2FycnkgJiAweGZmO1xuICAgICAgICBjYXJyeSA+Pj49IDg7XG4gICAgICAgIHBvcysrO1xuICAgIH1cbiAgICBpZiAoY2FycnkgPiAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNoYUNoYTogY291bnRlciBvdmVyZmxvd1wiKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jaGFjaGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/chacha/lib/chacha.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar chacha_1 = __webpack_require__(/*! @stablelib/chacha */ \"./node_modules/@stablelib/chacha/lib/chacha.js\");\nvar poly1305_1 = __webpack_require__(/*! @stablelib/poly1305 */ \"./node_modules/@stablelib/poly1305/lib/poly1305.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ \"./node_modules/@stablelib/binary/lib/binary.js\");\nvar constant_time_1 = __webpack_require__(/*! @stablelib/constant-time */ \"./node_modules/@stablelib/constant-time/lib/constant-time.js\");\nexports.KEY_LENGTH = 32;\nexports.NONCE_LENGTH = 12;\nexports.TAG_LENGTH = 16;\nvar ZEROS = new Uint8Array(16);\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nvar ChaCha20Poly1305 = /** @class */ (function () {\n /**\n * Creates a new instance with the given 32-byte key.\n */\n function ChaCha20Poly1305(key) {\n this.nonceLength = exports.NONCE_LENGTH;\n this.tagLength = exports.TAG_LENGTH;\n if (key.length !== exports.KEY_LENGTH) {\n throw new Error(\"ChaCha20Poly1305 needs 32-byte key\");\n }\n // Copy key.\n this._key = new Uint8Array(key);\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 ChaCha20Poly1305.prototype.seal = function (nonce, plaintext, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\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 var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Allocate space for sealed ciphertext.\n var resultLength = plaintext.length + this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Encrypt plaintext.\n chacha_1.streamXOR(this._key, counter, plaintext, result, 4);\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), authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\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 ChaCha20Poly1305.prototype.open = function (nonce, sealed, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\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 // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\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 var calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey, sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n // Constant-time compare tags and return null if they differ.\n if (!constant_time_1.equal(calculatedTag, sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n // Allocate space for decrypted plaintext.\n var resultLength = sealed.length - this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Decrypt.\n chacha_1.streamXOR(this._key, counter, sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n ChaCha20Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._key);\n return this;\n };\n ChaCha20Poly1305.prototype._authenticate = function (tagOut, authKey, ciphertext, associatedData) {\n // Initialize Poly1305 with authKey.\n var h = new poly1305_1.Poly1305(authKey);\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 // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n var length = new Uint8Array(8);\n if (associatedData) {\n binary_1.writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n // Authenticate length of ciphertext.\n binary_1.writeUint64LE(ciphertext.length, length);\n h.update(length);\n // Get tag and copy it into tagOut.\n var tag = h.digest();\n for (var i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n // Cleanup.\n h.clean();\n wipe_1.wipe(tag);\n wipe_1.wipe(length);\n };\n return ChaCha20Poly1305;\n}());\nexports.ChaCha20Poly1305 = ChaCha20Poly1305;\n//# sourceMappingURL=chacha20poly1305.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9jaGFjaGEyMHBvbHkxMzA1L2xpYi9jaGFjaGEyMHBvbHkxMzA1LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxlQUFlLG1CQUFPLENBQUMseUVBQW1CO0FBQzFDLGlCQUFpQixtQkFBTyxDQUFDLCtFQUFxQjtBQUM5QyxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDLGVBQWUsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDMUMsc0JBQXNCLG1CQUFPLENBQUMsOEZBQTBCO0FBQ3hELGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx3QkFBd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzdGFibGVsaWIvY2hhY2hhMjBwb2x5MTMwNS9saWIvY2hhY2hhMjBwb2x5MTMwNS5qcz8wMjdlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNoYWNoYV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvY2hhY2hhXCIpO1xudmFyIHBvbHkxMzA1XzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9wb2x5MTMwNVwiKTtcbnZhciB3aXBlXzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi93aXBlXCIpO1xudmFyIGJpbmFyeV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvYmluYXJ5XCIpO1xudmFyIGNvbnN0YW50X3RpbWVfMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL2NvbnN0YW50LXRpbWVcIik7XG5leHBvcnRzLktFWV9MRU5HVEggPSAzMjtcbmV4cG9ydHMuTk9OQ0VfTEVOR1RIID0gMTI7XG5leHBvcnRzLlRBR19MRU5HVEggPSAxNjtcbnZhciBaRVJPUyA9IG5ldyBVaW50OEFycmF5KDE2KTtcbi8qKlxuICogQ2hhQ2hhMjAtUG9seTEzMDUgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhLlxuICpcbiAqIERlZmluZWQgaW4gUkZDNzUzOS5cbiAqL1xudmFyIENoYUNoYTIwUG9seTEzMDUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSB3aXRoIHRoZSBnaXZlbiAzMi1ieXRlIGtleS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBDaGFDaGEyMFBvbHkxMzA1KGtleSkge1xuICAgICAgICB0aGlzLm5vbmNlTGVuZ3RoID0gZXhwb3J0cy5OT05DRV9MRU5HVEg7XG4gICAgICAgIHRoaXMudGFnTGVuZ3RoID0gZXhwb3J0cy5UQUdfTEVOR1RIO1xuICAgICAgICBpZiAoa2V5Lmxlbmd0aCAhPT0gZXhwb3J0cy5LRVlfTEVOR1RIKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDaGFDaGEyMFBvbHkxMzA1IG5lZWRzIDMyLWJ5dGUga2V5XCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIENvcHkga2V5LlxuICAgICAgICB0aGlzLl9rZXkgPSBuZXcgVWludDhBcnJheShrZXkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbmNyeXB0cyBhbmQgYXV0aGVudGljYXRlcyBwbGFpbnRleHQsIGF1dGhlbnRpY2F0ZXMgYXNzb2NpYXRlZCBkYXRhLFxuICAgICAqIGFuZCByZXR1cm5zIHNlYWxlZCBjaXBoZXJ0ZXh0LCB3aGljaCBpbmNsdWRlcyBhdXRoZW50aWNhdGlvbiB0YWcuXG4gICAgICpcbiAgICAgKiBSRkM3NTM5IHNwZWNpZmllcyAxMiBieXRlcyBmb3Igbm9uY2UuIEl0IG1heSBiZSB0aGlzIDEyLWJ5dGUgbm9uY2VcbiAgICAgKiAoXCJJVlwiKSwgb3IgZnVsbCAxNi1ieXRlIGNvdW50ZXIgKGNhbGxlZCBcIjMyLWJpdCBmaXhlZC1jb21tb24gcGFydFwiKVxuICAgICAqIGFuZCBub25jZS5cbiAgICAgKlxuICAgICAqIElmIGRzdCBpcyBnaXZlbiAoaXQgbXVzdCBiZSB0aGUgc2l6ZSBvZiBwbGFpbnRleHQgKyB0aGUgc2l6ZSBvZiB0YWdcbiAgICAgKiBsZW5ndGgpIHRoZSByZXN1bHQgd2lsbCBiZSBwdXQgaW50byBpdC4gRHN0IGFuZCBwbGFpbnRleHQgbXVzdCBub3RcbiAgICAgKiBvdmVybGFwLlxuICAgICAqL1xuICAgIENoYUNoYTIwUG9seTEzMDUucHJvdG90eXBlLnNlYWwgPSBmdW5jdGlvbiAobm9uY2UsIHBsYWludGV4dCwgYXNzb2NpYXRlZERhdGEsIGRzdCkge1xuICAgICAgICBpZiAobm9uY2UubGVuZ3RoID4gMTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNoYUNoYTIwUG9seTEzMDU6IGluY29ycmVjdCBub25jZSBsZW5ndGhcIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWxsb2NhdGUgc3BhY2UgZm9yIGNvdW50ZXIsIGFuZCBzZXQgbm9uY2UgYXMgbGFzdCBieXRlcyBvZiBpdC5cbiAgICAgICAgdmFyIGNvdW50ZXIgPSBuZXcgVWludDhBcnJheSgxNik7XG4gICAgICAgIGNvdW50ZXIuc2V0KG5vbmNlLCBjb3VudGVyLmxlbmd0aCAtIG5vbmNlLmxlbmd0aCk7XG4gICAgICAgIC8vIEdlbmVyYXRlIGF1dGhlbnRpY2F0aW9uIGtleSBieSB0YWtpbmcgZmlyc3QgMzItYnl0ZXMgb2Ygc3RyZWFtLlxuICAgICAgICAvLyBXZSBwYXNzIGZ1bGwgY291bnRlciwgd2hpY2ggaGFzIDEyLWJ5dGUgbm9uY2UgYW5kIDQtYnl0ZSBibG9jayBjb3VudGVyLFxuICAgICAgICAvLyBhbmQgaXQgd2lsbCBnZXQgaW5jcmVtZW50ZWQgYWZ0ZXIgZ2VuZXJhdGluZyB0aGUgYmxvY2ssIHdoaWNoIGlzXG4gICAgICAgIC8vIGV4YWN0bHkgd2hhdCB3ZSBuZWVkOiB3ZSBvbmx5IHVzZSB0aGUgZmlyc3QgMzIgYnl0ZXMgb2YgNjQtYnl0ZVxuICAgICAgICAvLyBDaGFDaGEgYmxvY2sgYW5kIGRpc2NhcmQgdGhlIG5leHQgMzIgYnl0ZXMuXG4gICAgICAgIHZhciBhdXRoS2V5ID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuICAgICAgICBjaGFjaGFfMS5zdHJlYW0odGhpcy5fa2V5LCBjb3VudGVyLCBhdXRoS2V5LCA0KTtcbiAgICAgICAgLy8gQWxsb2NhdGUgc3BhY2UgZm9yIHNlYWxlZCBjaXBoZXJ0ZXh0LlxuICAgICAgICB2YXIgcmVzdWx0TGVuZ3RoID0gcGxhaW50ZXh0Lmxlbmd0aCArIHRoaXMudGFnTGVuZ3RoO1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICBpZiAoZHN0KSB7XG4gICAgICAgICAgICBpZiAoZHN0Lmxlbmd0aCAhPT0gcmVzdWx0TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2hhQ2hhMjBQb2x5MTMwNTogaW5jb3JyZWN0IGRlc3RpbmF0aW9uIGxlbmd0aFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdCA9IGRzdDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KHJlc3VsdExlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRW5jcnlwdCBwbGFpbnRleHQuXG4gICAgICAgIGNoYWNoYV8xLnN0cmVhbVhPUih0aGlzLl9rZXksIGNvdW50ZXIsIHBsYWludGV4dCwgcmVzdWx0LCA0KTtcbiAgICAgICAgLy8gQXV0aGVudGljYXRlLlxuICAgICAgICAvLyBYWFg6IGNhbiBcInNpbXBsaWZ5XCIgaGVyZTogcGFzcyBmdWxsIHJlc3VsdCAod2hpY2ggaXMgYWxyZWFkeSBwYWRkZWRcbiAgICAgICAgLy8gZHVlIHRvIHplcm9lcyBwcmVwYXJlZCBmb3IgdGFnKSwgYW5kIGNpcGhlcnRleHQgbGVuZ3RoIGluc3RlYWQgb2ZcbiAgICAgICAgLy8gc3ViYXJyYXkgb2YgcmVzdWx0LlxuICAgICAgICB0aGlzLl9hdXRoZW50aWNhdGUocmVzdWx0LnN1YmFycmF5KHJlc3VsdC5sZW5ndGggLSB0aGlzLnRhZ0xlbmd0aCwgcmVzdWx0Lmxlbmd0aCksIGF1dGhLZXksIHJlc3VsdC5zdWJhcnJheSgwLCByZXN1bHQubGVuZ3RoIC0gdGhpcy50YWdMZW5ndGgpLCBhc3NvY2lhdGVkRGF0YSk7XG4gICAgICAgIC8vIENsZWFudXAuXG4gICAgICAgIHdpcGVfMS53aXBlKGNvdW50ZXIpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQXV0aGVudGljYXRlcyBzZWFsZWQgY2lwaGVydGV4dCAod2hpY2ggaW5jbHVkZXMgYXV0aGVudGljYXRpb24gdGFnKSBhbmRcbiAgICAgKiBhc3NvY2lhdGVkIGRhdGEsIGRlY3J5cHRzIGNpcGhlcnRleHQgYW5kIHJldHVybnMgZGVjcnlwdGVkIHBsYWludGV4dC5cbiAgICAgKlxuICAgICAqIFJGQzc1Mzkgc3BlY2lmaWVzIDEyIGJ5dGVzIGZvciBub25jZS4gSXQgbWF5IGJlIHRoaXMgMTItYnl0ZSBub25jZVxuICAgICAqIChcIklWXCIpLCBvciBmdWxsIDE2LWJ5dGUgY291bnRlciAoY2FsbGVkIFwiMzItYml0IGZpeGVkLWNvbW1vbiBwYXJ0XCIpXG4gICAgICogYW5kIG5vbmNlLlxuICAgICAqXG4gICAgICogSWYgYXV0aGVudGljYXRpb24gZmFpbHMsIGl0IHJldHVybnMgbnVsbC5cbiAgICAgKlxuICAgICAqIElmIGRzdCBpcyBnaXZlbiAoaXQgbXVzdCBiZSBvZiBjaXBoZXJ0ZXh0IGxlbmd0aCBtaW51cyB0YWcgbGVuZ3RoKSxcbiAgICAgKiB0aGUgcmVzdWx0IHdpbGwgYmUgcHV0IGludG8gaXQuIERzdCBhbmQgcGxhaW50ZXh0IG11c3Qgbm90IG92ZXJsYXAuXG4gICAgICovXG4gICAgQ2hhQ2hhMjBQb2x5MTMwNS5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uIChub25jZSwgc2VhbGVkLCBhc3NvY2lhdGVkRGF0YSwgZHN0KSB7XG4gICAgICAgIGlmIChub25jZS5sZW5ndGggPiAxNikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2hhQ2hhMjBQb2x5MTMwNTogaW5jb3JyZWN0IG5vbmNlIGxlbmd0aFwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTZWFsZWQgY2lwaGVydGV4dCBzaG91bGQgYXQgbGVhc3QgY29udGFpbiB0YWcuXG4gICAgICAgIGlmIChzZWFsZWQubGVuZ3RoIDwgdGhpcy50YWdMZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIFRPRE8oZGNoZXN0KTogc2hvdWxkIHdlIHRocm93IGhlcmUgaW5zdGVhZD9cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIC8vIEFsbG9jYXRlIHNwYWNlIGZvciBjb3VudGVyLCBhbmQgc2V0IG5vbmNlIGFzIGxhc3QgYnl0ZXMgb2YgaXQuXG4gICAgICAgIHZhciBjb3VudGVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpO1xuICAgICAgICBjb3VudGVyLnNldChub25jZSwgY291bnRlci5sZW5ndGggLSBub25jZS5sZW5ndGgpO1xuICAgICAgICAvLyBHZW5lcmF0ZSBhdXRoZW50aWNhdGlvbiBrZXkgYnkgdGFraW5nIGZpcnN0IDMyLWJ5dGVzIG9mIHN0cmVhbS5cbiAgICAgICAgdmFyIGF1dGhLZXkgPSBuZXcgVWludDhBcnJheSgzMik7XG4gICAgICAgIGNoYWNoYV8xLnN0cmVhbSh0aGlzLl9rZXksIGNvdW50ZXIsIGF1dGhLZXksIDQpO1xuICAgICAgICAvLyBBdXRoZW50aWNhdGUuXG4gICAgICAgIC8vIFhYWDogY2FuIHNpbXBsaWZ5IGFuZCBhdm9pZCBhbGxvY2F0aW9uOiBzaW5jZSBhdXRoZW50aWNhdGUoKVxuICAgICAgICAvLyBhbHJlYWR5IGFsbG9jYXRlcyB0YWcgKGZyb20gUG9seTEzMDUuZGlnZXN0KCksIGl0IGNhbiByZXR1cm4pXG4gICAgICAgIC8vIGl0IGluc3RlYWQgb2YgY29weWluZyB0byBjYWxjdWxhdGVkVGFnLiBCdXQgdGhlbiBpbiBzZWFsKClcbiAgICAgICAgLy8gd2UnbGwgbmVlZCB0byBjb3B5IGl0LlxuICAgICAgICB2YXIgY2FsY3VsYXRlZFRhZyA9IG5ldyBVaW50OEFycmF5KHRoaXMudGFnTGVuZ3RoKTtcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRlKGNhbGN1bGF0ZWRUYWcsIGF1dGhLZXksIHNlYWxlZC5zdWJhcnJheSgwLCBzZWFsZWQubGVuZ3RoIC0gdGhpcy50YWdMZW5ndGgpLCBhc3NvY2lhdGVkRGF0YSk7XG4gICAgICAgIC8vIENvbnN0YW50LXRpbWUgY29tcGFyZSB0YWdzIGFuZCByZXR1cm4gbnVsbCBpZiB0aGV5IGRpZmZlci5cbiAgICAgICAgaWYgKCFjb25zdGFudF90aW1lXzEuZXF1YWwoY2FsY3VsYXRlZFRhZywgc2VhbGVkLnN1YmFycmF5KHNlYWxlZC5sZW5ndGggLSB0aGlzLnRhZ0xlbmd0aCwgc2VhbGVkLmxlbmd0aCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICAvLyBBbGxvY2F0ZSBzcGFjZSBmb3IgZGVjcnlwdGVkIHBsYWludGV4dC5cbiAgICAgICAgdmFyIHJlc3VsdExlbmd0aCA9IHNlYWxlZC5sZW5ndGggLSB0aGlzLnRhZ0xlbmd0aDtcbiAgICAgICAgdmFyIHJlc3VsdDtcbiAgICAgICAgaWYgKGRzdCkge1xuICAgICAgICAgICAgaWYgKGRzdC5sZW5ndGggIT09IHJlc3VsdExlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNoYUNoYTIwUG9seTEzMDU6IGluY29ycmVjdCBkZXN0aW5hdGlvbiBsZW5ndGhcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHQgPSBkc3Q7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSBuZXcgVWludDhBcnJheShyZXN1bHRMZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIERlY3J5cHQuXG4gICAgICAgIGNoYWNoYV8xLnN0cmVhbVhPUih0aGlzLl9rZXksIGNvdW50ZXIsIHNlYWxlZC5zdWJhcnJheSgwLCBzZWFsZWQubGVuZ3RoIC0gdGhpcy50YWdMZW5ndGgpLCByZXN1bHQsIDQpO1xuICAgICAgICAvLyBDbGVhbnVwLlxuICAgICAgICB3aXBlXzEud2lwZShjb3VudGVyKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIENoYUNoYTIwUG9seTEzMDUucHJvdG90eXBlLmNsZWFuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB3aXBlXzEud2lwZSh0aGlzLl9rZXkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENoYUNoYTIwUG9seTEzMDUucHJvdG90eXBlLl9hdXRoZW50aWNhdGUgPSBmdW5jdGlvbiAodGFnT3V0LCBhdXRoS2V5LCBjaXBoZXJ0ZXh0LCBhc3NvY2lhdGVkRGF0YSkge1xuICAgICAgICAvLyBJbml0aWFsaXplIFBvbHkxMzA1IHdpdGggYXV0aEtleS5cbiAgICAgICAgdmFyIGggPSBuZXcgcG9seTEzMDVfMS5Qb2x5MTMwNShhdXRoS2V5KTtcbiAgICAgICAgLy8gQXV0aGVudGljYXRlIHBhZGRlZCBhc3NvY2lhdGVkIGRhdGEuXG4gICAgICAgIGlmIChhc3NvY2lhdGVkRGF0YSkge1xuICAgICAgICAgICAgaC51cGRhdGUoYXNzb2NpYXRlZERhdGEpO1xuICAgICAgICAgICAgaWYgKGFzc29jaWF0ZWREYXRhLmxlbmd0aCAlIDE2ID4gMCkge1xuICAgICAgICAgICAgICAgIGgudXBkYXRlKFpFUk9TLnN1YmFycmF5KGFzc29jaWF0ZWREYXRhLmxlbmd0aCAlIDE2KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQXV0aGVudGljYXRlIHBhZGRlZCBjaXBoZXJ0ZXh0LlxuICAgICAgICBoLnVwZGF0ZShjaXBoZXJ0ZXh0KTtcbiAgICAgICAgaWYgKGNpcGhlcnRleHQubGVuZ3RoICUgMTYgPiAwKSB7XG4gICAgICAgICAgICBoLnVwZGF0ZShaRVJPUy5zdWJhcnJheShjaXBoZXJ0ZXh0Lmxlbmd0aCAlIDE2KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQXV0aGVudGljYXRlIGxlbmd0aCBvZiBhc3NvY2lhdGVkIGRhdGEuXG4gICAgICAgIC8vIFhYWDogY2FuIGF2b2lkIGFsbG9jYXRpb24gaGVyZT9cbiAgICAgICAgdmFyIGxlbmd0aCA9IG5ldyBVaW50OEFycmF5KDgpO1xuICAgICAgICBpZiAoYXNzb2NpYXRlZERhdGEpIHtcbiAgICAgICAgICAgIGJpbmFyeV8xLndyaXRlVWludDY0TEUoYXNzb2NpYXRlZERhdGEubGVuZ3RoLCBsZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGgudXBkYXRlKGxlbmd0aCk7XG4gICAgICAgIC8vIEF1dGhlbnRpY2F0ZSBsZW5ndGggb2YgY2lwaGVydGV4dC5cbiAgICAgICAgYmluYXJ5XzEud3JpdGVVaW50NjRMRShjaXBoZXJ0ZXh0Lmxlbmd0aCwgbGVuZ3RoKTtcbiAgICAgICAgaC51cGRhdGUobGVuZ3RoKTtcbiAgICAgICAgLy8gR2V0IHRhZyBhbmQgY29weSBpdCBpbnRvIHRhZ091dC5cbiAgICAgICAgdmFyIHRhZyA9IGguZGlnZXN0KCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFnLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0YWdPdXRbaV0gPSB0YWdbaV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2xlYW51cC5cbiAgICAgICAgaC5jbGVhbigpO1xuICAgICAgICB3aXBlXzEud2lwZSh0YWcpO1xuICAgICAgICB3aXBlXzEud2lwZShsZW5ndGgpO1xuICAgIH07XG4gICAgcmV0dXJuIENoYUNoYTIwUG9seTEzMDU7XG59KCkpO1xuZXhwb3J0cy5DaGFDaGEyMFBvbHkxMzA1ID0gQ2hhQ2hhMjBQb2x5MTMwNTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNoYWNoYTIwcG9seTEzMDUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/constant-time/lib/constant-time.js": -/*!********************************************************************!*\ - !*** ./node_modules/@stablelib/constant-time/lib/constant-time.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\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 * 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 */\nfunction select(subject, resultIfOne, resultIfZero) {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\nexports.select = select;\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 */\nfunction lessOrEqual(a, b) {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\nexports.lessOrEqual = lessOrEqual;\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 */\nfunction compare(a, b) {\n if (a.length !== b.length) {\n return 0;\n }\n var result = 0;\n for (var i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\nexports.compare = compare;\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 */\nfunction equal(a, b) {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\nexports.equal = equal;\n//# sourceMappingURL=constant-time.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9jb25zdGFudC10aW1lL2xpYi9jb25zdGFudC10aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsY0FBYztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9jb25zdGFudC10aW1lL2xpYi9jb25zdGFudC10aW1lLmpzPzZkYjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKEMpIDIwMTYgRG1pdHJ5IENoZXN0bnlraFxuLy8gTUlUIExpY2Vuc2UuIFNlZSBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKipcbiAqIFBhY2thZ2UgY29uc3RhbnQtdGltZSBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIHBlcmZvcm1pbmcgYWxnb3JpdGhtaWNhbGx5IGNvbnN0YW50LXRpbWUgb3BlcmF0aW9ucy5cbiAqL1xuLyoqXG4gKiBOT1RFISBEdWUgdG8gdGhlIGluYWJpbGl0eSB0byBndWFyYW50ZWUgcmVhbCBjb25zdGFudCB0aW1lIGV2YWx1YXRpb24gb2ZcbiAqIGFueXRoaW5nIGluIEphdmFTY3JpcHQgVk0sIHRoaXMgaXMgbW9kdWxlIGlzIHRoZSBiZXN0IGVmZm9ydC5cbiAqL1xuLyoqXG4gKiBSZXR1cm5zIHJlc3VsdElmT25lIGlmIHN1YmplY3QgaXMgMSwgb3IgcmVzdWx0SWZaZXJvIGlmIHN1YmplY3QgaXMgMC5cbiAqXG4gKiBTdXBwb3J0cyBvbmx5IDMyLWJpdCBpbnRlZ2Vycywgc28gcmVzdWx0SWZPbmUgb3IgcmVzdWx0SWZaZXJvIGFyZSBub3RcbiAqIGludGVnZXJzLCB0aGV5J2xsIGJlIGNvbnZlcnRlZCB0byB0aGVtIHdpdGggYml0d2lzZSBvcGVyYXRpb25zLlxuICovXG5mdW5jdGlvbiBzZWxlY3Qoc3ViamVjdCwgcmVzdWx0SWZPbmUsIHJlc3VsdElmWmVybykge1xuICAgIHJldHVybiAofihzdWJqZWN0IC0gMSkgJiByZXN1bHRJZk9uZSkgfCAoKHN1YmplY3QgLSAxKSAmIHJlc3VsdElmWmVybyk7XG59XG5leHBvcnRzLnNlbGVjdCA9IHNlbGVjdDtcbi8qKlxuICogUmV0dXJucyAxIGlmIGEgPD0gYiwgb3IgMCBpZiBub3QuXG4gKiBBcmd1bWVudHMgbXVzdCBiZSBwb3NpdGl2ZSAzMi1iaXQgaW50ZWdlcnMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDJeMzEgLSAxLlxuICovXG5mdW5jdGlvbiBsZXNzT3JFcXVhbChhLCBiKSB7XG4gICAgcmV0dXJuICgoKGEgfCAwKSAtIChiIHwgMCkgLSAxKSA+Pj4gMzEpICYgMTtcbn1cbmV4cG9ydHMubGVzc09yRXF1YWwgPSBsZXNzT3JFcXVhbDtcbi8qKlxuICogUmV0dXJucyAxIGlmIGEgYW5kIGIgYXJlIG9mIGVxdWFsIGxlbmd0aCBhbmQgdGhlaXIgY29udGVudHNcbiAqIGFyZSBlcXVhbCwgb3IgMCBvdGhlcndpc2UuXG4gKlxuICogTm90ZSB0aGF0IHVubGlrZSBpbiBlcXVhbCgpLCB6ZXJvLWxlbmd0aCBpbnB1dHMgYXJlIGNvbnNpZGVyZWRcbiAqIHRoZSBzYW1lLCBzbyB0aGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIDEuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmUoYSwgYikge1xuICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHZhciByZXN1bHQgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgfD0gYVtpXSBeIGJbaV07XG4gICAgfVxuICAgIHJldHVybiAoMSAmICgocmVzdWx0IC0gMSkgPj4+IDgpKTtcbn1cbmV4cG9ydHMuY29tcGFyZSA9IGNvbXBhcmU7XG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiBhIGFuZCBiIGFyZSBvZiBlcXVhbCBub24temVybyBsZW5ndGgsXG4gKiBhbmQgdGhlaXIgY29udGVudHMgYXJlIGVxdWFsLCBvciBmYWxzZSBvdGhlcndpc2UuXG4gKlxuICogTm90ZSB0aGF0IHVubGlrZSBpbiBjb21wYXJlKCkgemVyby1sZW5ndGggaW5wdXRzIGFyZSBjb25zaWRlcmVkXG4gKiBfbm90XyBlcXVhbCwgc28gdGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBmYWxzZS5cbiAqL1xuZnVuY3Rpb24gZXF1YWwoYSwgYikge1xuICAgIGlmIChhLmxlbmd0aCA9PT0gMCB8fCBiLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBjb21wYXJlKGEsIGIpICE9PSAwO1xufVxuZXhwb3J0cy5lcXVhbCA9IGVxdWFsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnQtdGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/constant-time/lib/constant-time.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/hash/lib/hash.js": -/*!**************************************************!*\ - !*** ./node_modules/@stablelib/hash/lib/hash.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction isSerializableHash(h) {\n return (typeof h.saveState !== \"undefined\" &&\n typeof h.restoreState !== \"undefined\" &&\n typeof h.cleanSavedState !== \"undefined\");\n}\nexports.isSerializableHash = isSerializableHash;\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n//# sourceMappingURL=hash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9oYXNoL2xpYi9oYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9oYXNoL2xpYi9oYXNoLmpzPzZiMmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKEMpIDIwMTYgRG1pdHJ5IENoZXN0bnlraFxuLy8gTUlUIExpY2Vuc2UuIFNlZSBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5mdW5jdGlvbiBpc1NlcmlhbGl6YWJsZUhhc2goaCkge1xuICAgIHJldHVybiAodHlwZW9mIGguc2F2ZVN0YXRlICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgIHR5cGVvZiBoLnJlc3RvcmVTdGF0ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgICAgICB0eXBlb2YgaC5jbGVhblNhdmVkU3RhdGUgIT09IFwidW5kZWZpbmVkXCIpO1xufVxuZXhwb3J0cy5pc1NlcmlhbGl6YWJsZUhhc2ggPSBpc1NlcmlhbGl6YWJsZUhhc2g7XG4vLyBUT0RPKGRjaGVzdCk6IGZpZ3VyZSBvdXQgdGhlIHN0YW5kYXJkaXplZCBpbnRlcmZhY2UgZm9yIFhPRiBzdWNoIGFzXG4vLyBTSEFLRSBhbmQgQkxBS0UyWC5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhc2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/hash/lib/hash.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/hkdf/lib/hkdf.js": -/*!**************************************************!*\ - !*** ./node_modules/@stablelib/hkdf/lib/hkdf.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar hmac_1 = __webpack_require__(/*! @stablelib/hmac */ \"./node_modules/@stablelib/hmac/lib/hmac.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\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 */\nvar HKDF = /** @class */ (function () {\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 function HKDF(hash, key, salt, info) {\n if (salt === void 0) { salt = new Uint8Array(0); }\n this._counter = new Uint8Array(1); // starts with zero\n this._hash = hash;\n this._info = info;\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac_1.hmac(this._hash, salt, key);\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new hmac_1.HMAC(hash, okm);\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n // Fill buffer with new block of HKDF-Extract output.\n HKDF.prototype._fillBuffer = function () {\n // Increment counter.\n this._counter[0]++;\n var ctr = this._counter[0];\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\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 // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n // Hash in the counter.\n this._hmac.update(this._counter);\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n // Reset buffer position.\n this._bufpos = 0;\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 HKDF.prototype.expand = function (length) {\n var out = new Uint8Array(length);\n for (var 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 HKDF.prototype.clean = function () {\n this._hmac.clean();\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._counter);\n this._bufpos = 0;\n };\n return HKDF;\n}());\nexports.HKDF = HKDF;\n// TODO(dchest): maybe implement deriveKey?\n//# sourceMappingURL=hkdf.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9oa2RmL2xpYi9oa2RmLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDLGFBQWEsbUJBQU8sQ0FBQyxtRUFBaUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0JBQWdCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsWUFBWTtBQUNaO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzdGFibGVsaWIvaGtkZi9saWIvaGtkZi5qcz9lMzZiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGhtYWNfMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL2htYWNcIik7XG52YXIgd2lwZV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvd2lwZVwiKTtcbi8qKlxuICogSE1BQy1iYXNlZCBFeHRyYWN0LWFuZC1FeHBhbmQgS2V5IERlcml2YXRpb24gRnVuY3Rpb24uXG4gKlxuICogSW1wbGVtZW50cyBIS0RGIGZyb20gUkZDNTg2OS5cbiAqXG4gKiBFeHBhbmRzIHRoZSBnaXZlbiBtYXN0ZXIga2V5IHdpdGggc2FsdCBhbmQgaW5mbyBpbnRvXG4gKiBhIGxpbWl0ZWQgc3RyZWFtIG9mIGtleSBtYXRlcmlhbC5cbiAqL1xudmFyIEhLREYgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IEhLREYgaW5zdGFuY2UgZm9yIHRoZSBnaXZlbiBoYXNoIGZ1bmN0aW9uXG4gICAgICogd2l0aCB0aGUgbWFzdGVyIGtleSwgb3B0aW9uYWwgc2FsdCwgYW5kIGluZm8uXG4gICAgICpcbiAgICAgKiAtIE1hc3RlciBrZXkgaXMgYSBoaWdoLWVudHJvcHkgc2VjcmV0IGtleSAobm90IGEgcGFzc3dvcmQpLlxuICAgICAqIC0gU2FsdCBpcyBhIG5vbi1zZWNyZXQgcmFuZG9tIHZhbHVlLlxuICAgICAqIC0gSW5mbyBpcyBhcHBsaWNhdGlvbi0gYW5kL29yIGNvbnRleHQtc3BlY2lmaWMgaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gSEtERihoYXNoLCBrZXksIHNhbHQsIGluZm8pIHtcbiAgICAgICAgaWYgKHNhbHQgPT09IHZvaWQgMCkgeyBzYWx0ID0gbmV3IFVpbnQ4QXJyYXkoMCk7IH1cbiAgICAgICAgdGhpcy5fY291bnRlciA9IG5ldyBVaW50OEFycmF5KDEpOyAvLyBzdGFydHMgd2l0aCB6ZXJvXG4gICAgICAgIHRoaXMuX2hhc2ggPSBoYXNoO1xuICAgICAgICB0aGlzLl9pbmZvID0gaW5mbztcbiAgICAgICAgLy8gSEtERi1FeHRyYWN0IHVzZXMgc2FsdCBhcyBITUFDIGtleSwgYW5kIGtleSBhcyBkYXRhLlxuICAgICAgICB2YXIgb2ttID0gaG1hY18xLmhtYWModGhpcy5faGFzaCwgc2FsdCwga2V5KTtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBITUFDIGZvciBleHBhbmRpbmcgd2l0aCBleHRyYWN0ZWQga2V5LlxuICAgICAgICB0aGlzLl9obWFjID0gbmV3IGhtYWNfMS5ITUFDKGhhc2gsIG9rbSk7XG4gICAgICAgIC8vIEFsbG9jYXRlIGJ1ZmZlci5cbiAgICAgICAgdGhpcy5fYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5faG1hYy5kaWdlc3RMZW5ndGgpO1xuICAgICAgICB0aGlzLl9idWZwb3MgPSB0aGlzLl9idWZmZXIubGVuZ3RoO1xuICAgIH1cbiAgICAvLyBGaWxsIGJ1ZmZlciB3aXRoIG5ldyBibG9jayBvZiBIS0RGLUV4dHJhY3Qgb3V0cHV0LlxuICAgIEhLREYucHJvdG90eXBlLl9maWxsQnVmZmVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBJbmNyZW1lbnQgY291bnRlci5cbiAgICAgICAgdGhpcy5fY291bnRlclswXSsrO1xuICAgICAgICB2YXIgY3RyID0gdGhpcy5fY291bnRlclswXTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgY291bnRlciBvdmVyZmxvd2VkLlxuICAgICAgICBpZiAoY3RyID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJoa2RmOiBjYW5ub3QgZXhwYW5kIG1vcmVcIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUHJlcGFyZSBITUFDIGluc3RhbmNlIGZvciBuZXcgZGF0YSB3aXRoIG9sZCBrZXkuXG4gICAgICAgIHRoaXMuX2htYWMucmVzZXQoKTtcbiAgICAgICAgLy8gSGFzaCBpbiBwcmV2aW91cyBvdXRwdXQgaWYgaXQgd2FzIGdlbmVyYXRlZFxuICAgICAgICAvLyAoaS5lLiBjb3VudGVyIGlzIGdyZWF0ZXIgdGhhbiAxKS5cbiAgICAgICAgaWYgKGN0ciA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2J1ZmZlcik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSGFzaCBpbiBpbmZvIGlmIGl0IGV4aXN0cy5cbiAgICAgICAgaWYgKHRoaXMuX2luZm8pIHtcbiAgICAgICAgICAgIHRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2luZm8pO1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhc2ggaW4gdGhlIGNvdW50ZXIuXG4gICAgICAgIHRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2NvdW50ZXIpO1xuICAgICAgICAvLyBPdXRwdXQgcmVzdWx0IHRvIGJ1ZmZlciBhbmQgY2xlYW4gSE1BQyBpbnN0YW5jZS5cbiAgICAgICAgdGhpcy5faG1hYy5maW5pc2godGhpcy5fYnVmZmVyKTtcbiAgICAgICAgLy8gUmVzZXQgYnVmZmVyIHBvc2l0aW9uLlxuICAgICAgICB0aGlzLl9idWZwb3MgPSAwO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRXhwYW5kIHJldHVybnMgbmV4dCBrZXkgbWF0ZXJpYWwgb2YgdGhlIGdpdmVuIGxlbmd0aC5cbiAgICAgKlxuICAgICAqIEl0IHRocm93cyBpZiBleHBhbnNpb24gbGltaXQgaXMgcmVhY2hlZCAod2hpY2ggaXNcbiAgICAgKiAyNTQgZGlnZXN0cyBvZiB0aGUgdW5kZXJseWluZyBITUFDIGZ1bmN0aW9uKS5cbiAgICAgKi9cbiAgICBIS0RGLnByb3RvdHlwZS5leHBhbmQgPSBmdW5jdGlvbiAobGVuZ3RoKSB7XG4gICAgICAgIHZhciBvdXQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2J1ZnBvcyA9PT0gdGhpcy5fYnVmZmVyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGxCdWZmZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dFtpXSA9IHRoaXMuX2J1ZmZlclt0aGlzLl9idWZwb3MrK107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuICAgIEhLREYucHJvdG90eXBlLmNsZWFuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLl9obWFjLmNsZWFuKCk7XG4gICAgICAgIHdpcGVfMS53aXBlKHRoaXMuX2J1ZmZlcik7XG4gICAgICAgIHdpcGVfMS53aXBlKHRoaXMuX2NvdW50ZXIpO1xuICAgICAgICB0aGlzLl9idWZwb3MgPSAwO1xuICAgIH07XG4gICAgcmV0dXJuIEhLREY7XG59KCkpO1xuZXhwb3J0cy5IS0RGID0gSEtERjtcbi8vIFRPRE8oZGNoZXN0KTogbWF5YmUgaW1wbGVtZW50IGRlcml2ZUtleT9cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhrZGYuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/hkdf/lib/hkdf.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/hmac/lib/hmac.js": -/*!**************************************************!*\ - !*** ./node_modules/@stablelib/hmac/lib/hmac.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Package hmac implements HMAC algorithm.\n */\nvar hash_1 = __webpack_require__(/*! @stablelib/hash */ \"./node_modules/@stablelib/hash/lib/hash.js\");\nvar constant_time_1 = __webpack_require__(/*! @stablelib/constant-time */ \"./node_modules/@stablelib/constant-time/lib/constant-time.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nvar HMAC = /** @class */ (function () {\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n function HMAC(hash, key) {\n this._finished = false; // true if HMAC was finalized\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\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 // Pad temporary stores a key (or its hash) padded with zeroes.\n var pad = new Uint8Array(this.blockSize);\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 }\n else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n // To make inner hash key, xor byte 0x36 into pad.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\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 (var 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 // 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 (hash_1.isSerializableHash(this._inner) && hash_1.isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n // Clean pad.\n wipe_1.wipe(pad);\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 HMAC.prototype.reset = function () {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.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 * Cleans HMAC state.\n */\n HMAC.prototype.clean = function () {\n if (hash_1.isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (hash_1.isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n };\n /**\n * Updates state with provided data.\n */\n HMAC.prototype.update = function (data) {\n this._inner.update(data);\n return this;\n };\n /**\n * Finalizes HMAC and puts the result in out.\n */\n HMAC.prototype.finish = function (out) {\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 // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\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 return this;\n };\n /**\n * Returns the computed message authentication code.\n */\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n HMAC.prototype.saveState = function () {\n if (!hash_1.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 HMAC.prototype.restoreState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.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 HMAC.prototype.cleanSavedState = function (savedState) {\n if (!hash_1.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 return HMAC;\n}());\nexports.HMAC = HMAC;\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nfunction hmac(hash, key, data) {\n var h = new HMAC(hash, key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\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 */\nexports.equal = constant_time_1.equal;\n//# sourceMappingURL=hmac.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9obWFjL2xpYi9obWFjLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RDtBQUNBO0FBQ0E7QUFDQSxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDLHNCQUFzQixtQkFBTyxDQUFDLDhGQUEwQjtBQUN4RCxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdCQUFnQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL2htYWMvbGliL2htYWMuanM/MWU1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoQykgMjAxNiBEbWl0cnkgQ2hlc3RueWtoXG4vLyBNSVQgTGljZW5zZS4gU2VlIExJQ0VOU0UgZmlsZSBmb3IgZGV0YWlscy5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qKlxuICogUGFja2FnZSBobWFjIGltcGxlbWVudHMgSE1BQyBhbGdvcml0aG0uXG4gKi9cbnZhciBoYXNoXzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9oYXNoXCIpO1xudmFyIGNvbnN0YW50X3RpbWVfMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL2NvbnN0YW50LXRpbWVcIik7XG52YXIgd2lwZV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvd2lwZVwiKTtcbi8qKlxuICogIEhNQUMgaW1wbGVtZW50cyBoYXNoLWJhc2VkIG1lc3NhZ2UgYXV0aGVudGljYXRpb24gYWxnb3JpdGhtLlxuICovXG52YXIgSE1BQyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IEhNQUMgd2l0aCB0aGUgZ2l2ZW4gSGFzaCBhbmQgc2VjcmV0IGtleS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBITUFDKGhhc2gsIGtleSkge1xuICAgICAgICB0aGlzLl9maW5pc2hlZCA9IGZhbHNlOyAvLyB0cnVlIGlmIEhNQUMgd2FzIGZpbmFsaXplZFxuICAgICAgICAvLyBJbml0aWFsaXplIGlubmVyIGFuZCBvdXRlciBoYXNoZXMuXG4gICAgICAgIHRoaXMuX2lubmVyID0gbmV3IGhhc2goKTtcbiAgICAgICAgdGhpcy5fb3V0ZXIgPSBuZXcgaGFzaCgpO1xuICAgICAgICAvLyBTZXQgYmxvY2sgYW5kIGRpZ2VzdCBzaXplcyBmb3IgdGhpcyBITUFDXG4gICAgICAgIC8vIGluc3RhbmNlIHRvIHZhbHVlcyBmcm9tIHRoZSBoYXNoLlxuICAgICAgICB0aGlzLmJsb2NrU2l6ZSA9IHRoaXMuX291dGVyLmJsb2NrU2l6ZTtcbiAgICAgICAgdGhpcy5kaWdlc3RMZW5ndGggPSB0aGlzLl9vdXRlci5kaWdlc3RMZW5ndGg7XG4gICAgICAgIC8vIFBhZCB0ZW1wb3Jhcnkgc3RvcmVzIGEga2V5IChvciBpdHMgaGFzaCkgcGFkZGVkIHdpdGggemVyb2VzLlxuICAgICAgICB2YXIgcGFkID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5ibG9ja1NpemUpO1xuICAgICAgICBpZiAoa2V5Lmxlbmd0aCA+IHRoaXMuYmxvY2tTaXplKSB7XG4gICAgICAgICAgICAvLyBJZiBrZXkgaXMgYmlnZ2VyIHRoYW4gaGFzaCBibG9jayBzaXplLCBpdCBtdXN0IGJlXG4gICAgICAgICAgICAvLyBoYXNoZWQgYW5kIHRoaXMgaGFzaCBpcyB1c2VkIGFzIGEga2V5IGluc3RlYWQuXG4gICAgICAgICAgICB0aGlzLl9pbm5lci51cGRhdGUoa2V5KS5maW5pc2gocGFkKS5jbGVhbigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBjb3B5IHRoZSBrZXkgaW50byBwYWQuXG4gICAgICAgICAgICBwYWQuc2V0KGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm93IHR3byBkaWZmZXJlbnQga2V5cyBhcmUgZGVyaXZlZCBmcm9tIHBhZGRlZCBrZXlcbiAgICAgICAgLy8gYnkgeG9yaW5nIGEgZGlmZmVyZW50IGJ5dGUgdmFsdWUgdG8gZWFjaC5cbiAgICAgICAgLy8gVG8gbWFrZSBpbm5lciBoYXNoIGtleSwgeG9yIGJ5dGUgMHgzNiBpbnRvIHBhZC5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHBhZFtpXSBePSAweDM2O1xuICAgICAgICB9XG4gICAgICAgIC8vIFVwZGF0ZSBpbm5lciBoYXNoIHdpdGggdGhlIHJlc3VsdC5cbiAgICAgICAgdGhpcy5faW5uZXIudXBkYXRlKHBhZCk7XG4gICAgICAgIC8vIFRvIG1ha2Ugb3V0ZXIgaGFzaCBrZXksIHhvciBieXRlIDB4NWMgaW50byBwYWQuXG4gICAgICAgIC8vIEJ1dCBzaW5jZSB3ZSBhbHJlYWR5IHhvcmVkIDB4MzYgdGhlcmUsIHdlIG11c3RcbiAgICAgICAgLy8gZmlyc3QgdW5kbyB0aGlzIGJ5IHhvcmluZyBpdCBhZ2Fpbi5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHBhZFtpXSBePSAweDM2IF4gMHg1YztcbiAgICAgICAgfVxuICAgICAgICAvLyBVcGRhdGUgb3V0ZXIgaGFzaCB3aXRoIHRoZSByZXN1bHQuXG4gICAgICAgIHRoaXMuX291dGVyLnVwZGF0ZShwYWQpO1xuICAgICAgICAvLyBTYXZlIHN0YXRlcyBvZiBib3RoIGhhc2hlcywgc28gdGhhdCB3ZSBjYW4gcXVpY2tseSByZXN0b3JlXG4gICAgICAgIC8vIHRoZW0gbGF0ZXIgaW4gcmVzZXQoKSB3aXRob3V0IHRoZSBuZWVkIHRvIHJlbWVtYmVyIHRoZSBhY3R1YWxcbiAgICAgICAgLy8ga2V5IGFuZCBwZXJmb3JtIHRoaXMgaW5pdGlhbGl6YXRpb24gYWdhaW4uXG4gICAgICAgIGlmIChoYXNoXzEuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX2lubmVyKSAmJiBoYXNoXzEuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX291dGVyKSkge1xuICAgICAgICAgICAgdGhpcy5faW5uZXJLZXllZFN0YXRlID0gdGhpcy5faW5uZXIuc2F2ZVN0YXRlKCk7XG4gICAgICAgICAgICB0aGlzLl9vdXRlcktleWVkU3RhdGUgPSB0aGlzLl9vdXRlci5zYXZlU3RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDbGVhbiBwYWQuXG4gICAgICAgIHdpcGVfMS53aXBlKHBhZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgSE1BQyBzdGF0ZSB0byB0aGUgc3RhdGUgaW5pdGlhbGl6ZWQgd2l0aCBrZXlcbiAgICAgKiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHJ1biBITUFDIG92ZXIgdGhlIG90aGVyIGRhdGEgd2l0aCB0aGUgc2FtZVxuICAgICAqIGtleSB3aXRob3V0IGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlLlxuICAgICAqL1xuICAgIEhNQUMucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIWhhc2hfMS5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpIHx8ICFoYXNoXzEuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX291dGVyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaG1hYzogY2FuJ3QgcmVzZXQoKSBiZWNhdXNlIGhhc2ggZG9lc24ndCBpbXBsZW1lbnQgcmVzdG9yZVN0YXRlKClcIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVzdG9yZSBrZXllZCBzdGF0ZXMgb2YgaW5uZXIgYW5kIG91dGVyIGhhc2hlcy5cbiAgICAgICAgdGhpcy5faW5uZXIucmVzdG9yZVN0YXRlKHRoaXMuX2lubmVyS2V5ZWRTdGF0ZSk7XG4gICAgICAgIHRoaXMuX291dGVyLnJlc3RvcmVTdGF0ZSh0aGlzLl9vdXRlcktleWVkU3RhdGUpO1xuICAgICAgICB0aGlzLl9maW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENsZWFucyBITUFDIHN0YXRlLlxuICAgICAqL1xuICAgIEhNQUMucHJvdG90eXBlLmNsZWFuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoaGFzaF8xLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9pbm5lcikpIHtcbiAgICAgICAgICAgIHRoaXMuX2lubmVyLmNsZWFuU2F2ZWRTdGF0ZSh0aGlzLl9pbm5lcktleWVkU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNoXzEuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX291dGVyKSkge1xuICAgICAgICAgICAgdGhpcy5fb3V0ZXIuY2xlYW5TYXZlZFN0YXRlKHRoaXMuX291dGVyS2V5ZWRTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5uZXIuY2xlYW4oKTtcbiAgICAgICAgdGhpcy5fb3V0ZXIuY2xlYW4oKTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgc3RhdGUgd2l0aCBwcm92aWRlZCBkYXRhLlxuICAgICAqL1xuICAgIEhNQUMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHRoaXMuX2lubmVyLnVwZGF0ZShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBGaW5hbGl6ZXMgSE1BQyBhbmQgcHV0cyB0aGUgcmVzdWx0IGluIG91dC5cbiAgICAgKi9cbiAgICBITUFDLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbiAob3V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9maW5pc2hlZCkge1xuICAgICAgICAgICAgLy8gSWYgSE1BQyB3YXMgZmluYWxpemVkLCBvdXRlciBoYXNoIGlzIGFsc28gZmluYWxpemVkLFxuICAgICAgICAgICAgLy8gc28gaXQgcHJvZHVjZXMgdGhlIHNhbWUgZGlnZXN0IGl0IHByb2R1Y2VkIHdoZW4gaXRcbiAgICAgICAgICAgIC8vIHdhcyBmaW5hbGl6ZWQuXG4gICAgICAgICAgICB0aGlzLl9vdXRlci5maW5pc2gob3V0KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZpbmFsaXplIGlubmVyIGhhc2ggYW5kIHN0b3JlIHRoZSByZXN1bHQgdGVtcG9yYXJpbHkuXG4gICAgICAgIHRoaXMuX2lubmVyLmZpbmlzaChvdXQpO1xuICAgICAgICAvLyBVcGRhdGUgb3V0ZXIgaGFzaCB3aXRoIGRpZ2VzdCBvZiBpbm5lciBoYXNoIGFuZCBhbmQgZmluYWxpemUgaXQuXG4gICAgICAgIHRoaXMuX291dGVyLnVwZGF0ZShvdXQuc3ViYXJyYXkoMCwgdGhpcy5kaWdlc3RMZW5ndGgpKS5maW5pc2gob3V0KTtcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGNvbXB1dGVkIG1lc3NhZ2UgYXV0aGVudGljYXRpb24gY29kZS5cbiAgICAgKi9cbiAgICBITUFDLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBvdXQgPSBuZXcgVWludDhBcnJheSh0aGlzLmRpZ2VzdExlbmd0aCk7XG4gICAgICAgIHRoaXMuZmluaXNoKG91dCk7XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBTYXZlcyBITUFDIHN0YXRlLlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgbmVlZGVkIGZvciBQQktERjIgb3B0aW1pemF0aW9uLlxuICAgICAqL1xuICAgIEhNQUMucHJvdG90eXBlLnNhdmVTdGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFoYXNoXzEuaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX2lubmVyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaG1hYzogY2FuJ3Qgc2F2ZVN0YXRlKCkgYmVjYXVzZSBoYXNoIGRvZXNuJ3QgaW1wbGVtZW50IGl0XCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9pbm5lci5zYXZlU3RhdGUoKTtcbiAgICB9O1xuICAgIEhNQUMucHJvdG90eXBlLnJlc3RvcmVTdGF0ZSA9IGZ1bmN0aW9uIChzYXZlZFN0YXRlKSB7XG4gICAgICAgIGlmICghaGFzaF8xLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9pbm5lcikgfHwgIWhhc2hfMS5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5fb3V0ZXIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJobWFjOiBjYW4ndCByZXN0b3JlU3RhdGUoKSBiZWNhdXNlIGhhc2ggZG9lc24ndCBpbXBsZW1lbnQgaXRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5uZXIucmVzdG9yZVN0YXRlKHNhdmVkU3RhdGUpO1xuICAgICAgICB0aGlzLl9vdXRlci5yZXN0b3JlU3RhdGUodGhpcy5fb3V0ZXJLZXllZFN0YXRlKTtcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBITUFDLnByb3RvdHlwZS5jbGVhblNhdmVkU3RhdGUgPSBmdW5jdGlvbiAoc2F2ZWRTdGF0ZSkge1xuICAgICAgICBpZiAoIWhhc2hfMS5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJobWFjOiBjYW4ndCBjbGVhblNhdmVkU3RhdGUoKSBiZWNhdXNlIGhhc2ggZG9lc24ndCBpbXBsZW1lbnQgaXRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5uZXIuY2xlYW5TYXZlZFN0YXRlKHNhdmVkU3RhdGUpO1xuICAgIH07XG4gICAgcmV0dXJuIEhNQUM7XG59KCkpO1xuZXhwb3J0cy5ITUFDID0gSE1BQztcbi8qKlxuICogUmV0dXJucyBITUFDIHVzaW5nIHRoZSBnaXZlbiBoYXNoIGNvbnN0cnVjdG9yIGZvciB0aGUga2V5IG92ZXIgZGF0YS5cbiAqL1xuZnVuY3Rpb24gaG1hYyhoYXNoLCBrZXksIGRhdGEpIHtcbiAgICB2YXIgaCA9IG5ldyBITUFDKGhhc2gsIGtleSk7XG4gICAgaC51cGRhdGUoZGF0YSk7XG4gICAgdmFyIGRpZ2VzdCA9IGguZGlnZXN0KCk7XG4gICAgaC5jbGVhbigpO1xuICAgIHJldHVybiBkaWdlc3Q7XG59XG5leHBvcnRzLmhtYWMgPSBobWFjO1xuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdHdvIEhNQUMgZGlnZXN0cyBhcmUgZXF1YWwuXG4gKiBVc2VzIGNvbnN0YW50LXRpbWUgY29tcGFyaXNvbiB0byBhdm9pZCBsZWFraW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqICAgIGNvbnN0IHJlY2VpdmVkRGlnZXN0ID0gLi4uXG4gKiAgICBjb25zdCByZWFsRGlnZXN0ID0gaG1hYyhTSEEyNTYsIGtleSwgZGF0YSk7XG4gKiAgICBpZiAoIWVxdWFsKHJlY2VpdmVkRGlnZXN0LCByZWFsRGlnZXN0KSkge1xuICogICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF1dGhlbnRpY2F0aW9uIGVycm9yXCIpO1xuICogICAgfVxuICovXG5leHBvcnRzLmVxdWFsID0gY29uc3RhbnRfdGltZV8xLmVxdWFsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG1hYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/hmac/lib/hmac.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/int/lib/int.js": -/*!************************************************!*\ - !*** ./node_modules/@stablelib/int/lib/int.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Package int provides helper functions for integerss.\n */\n// Shim using 16-bit pieces.\nfunction imulShim(a, b) {\n var ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexports.mul = Math.imul || imulShim;\n/** 32-bit integer addition. */\nfunction add(a, b) {\n return (a + b) | 0;\n}\nexports.add = add;\n/** 32-bit integer subtraction. */\nfunction sub(a, b) {\n return (a - b) | 0;\n}\nexports.sub = sub;\n/** 32-bit integer left rotation */\nfunction rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\nexports.rotl = rotl;\n/** 32-bit integer left rotation */\nfunction rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\nexports.rotr = rotr;\nfunction isIntegerShim(n) {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexports.isInteger = Number.isInteger || isIntegerShim;\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexports.MAX_SAFE_INTEGER = 9007199254740991;\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 */\nexports.isSafeInteger = function (n) {\n return exports.isInteger(n) && (n >= -exports.MAX_SAFE_INTEGER && n <= exports.MAX_SAFE_INTEGER);\n};\n//# sourceMappingURL=int.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9pbnQvbGliL2ludC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9pbnQvbGliL2ludC5qcz9iNGY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyoqXG4gKiBQYWNrYWdlIGludCBwcm92aWRlcyBoZWxwZXIgZnVuY3Rpb25zIGZvciBpbnRlZ2Vyc3MuXG4gKi9cbi8vIFNoaW0gdXNpbmcgMTYtYml0IHBpZWNlcy5cbmZ1bmN0aW9uIGltdWxTaGltKGEsIGIpIHtcbiAgICB2YXIgYWggPSAoYSA+Pj4gMTYpICYgMHhmZmZmLCBhbCA9IGEgJiAweGZmZmY7XG4gICAgdmFyIGJoID0gKGIgPj4+IDE2KSAmIDB4ZmZmZiwgYmwgPSBiICYgMHhmZmZmO1xuICAgIHJldHVybiAoKGFsICogYmwpICsgKCgoYWggKiBibCArIGFsICogYmgpIDw8IDE2KSA+Pj4gMCkgfCAwKTtcbn1cbi8qKiAzMi1iaXQgaW50ZWdlciBtdWx0aXBsaWNhdGlvbi4gICovXG4vLyBVc2Ugc3lzdGVtIE1hdGguaW11bCBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2Ugb3VyIHNoaW0uXG5leHBvcnRzLm11bCA9IE1hdGguaW11bCB8fCBpbXVsU2hpbTtcbi8qKiAzMi1iaXQgaW50ZWdlciBhZGRpdGlvbi4gICovXG5mdW5jdGlvbiBhZGQoYSwgYikge1xuICAgIHJldHVybiAoYSArIGIpIHwgMDtcbn1cbmV4cG9ydHMuYWRkID0gYWRkO1xuLyoqICAzMi1iaXQgaW50ZWdlciBzdWJ0cmFjdGlvbi4gICovXG5mdW5jdGlvbiBzdWIoYSwgYikge1xuICAgIHJldHVybiAoYSAtIGIpIHwgMDtcbn1cbmV4cG9ydHMuc3ViID0gc3ViO1xuLyoqIDMyLWJpdCBpbnRlZ2VyIGxlZnQgcm90YXRpb24gKi9cbmZ1bmN0aW9uIHJvdGwoeCwgbikge1xuICAgIHJldHVybiB4IDw8IG4gfCB4ID4+PiAoMzIgLSBuKTtcbn1cbmV4cG9ydHMucm90bCA9IHJvdGw7XG4vKiogMzItYml0IGludGVnZXIgbGVmdCByb3RhdGlvbiAqL1xuZnVuY3Rpb24gcm90cih4LCBuKSB7XG4gICAgcmV0dXJuIHggPDwgKDMyIC0gbikgfCB4ID4+PiBuO1xufVxuZXhwb3J0cy5yb3RyID0gcm90cjtcbmZ1bmN0aW9uIGlzSW50ZWdlclNoaW0obikge1xuICAgIHJldHVybiB0eXBlb2YgbiA9PT0gXCJudW1iZXJcIiAmJiBpc0Zpbml0ZShuKSAmJiBNYXRoLmZsb29yKG4pID09PSBuO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGFuIGludGVnZXIgbnVtYmVyLlxuICpcbiAqIEluIEVTMjAxNSwgTnVtYmVyLmlzSW50ZWdlci5cbiAqL1xuZXhwb3J0cy5pc0ludGVnZXIgPSBOdW1iZXIuaXNJbnRlZ2VyIHx8IGlzSW50ZWdlclNoaW07XG4vKipcbiAqICBNYXRoLnBvdygyLCA1MykgLSAxXG4gKlxuICogIEluIEVTMjAxNSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUi5cbiAqL1xuZXhwb3J0cy5NQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIHNhZmUgaW50ZWdlciBudW1iZXJcbiAqICgtTUlOX1NBRkVfSU5URUdFUiA8IG51bWJlciA8PSBNQVhfU0FGRV9JTlRFR0VSKVxuICpcbiAqIEluIEVTMjAxNSwgTnVtYmVyLmlzU2FmZUludGVnZXIuXG4gKi9cbmV4cG9ydHMuaXNTYWZlSW50ZWdlciA9IGZ1bmN0aW9uIChuKSB7XG4gICAgcmV0dXJuIGV4cG9ydHMuaXNJbnRlZ2VyKG4pICYmIChuID49IC1leHBvcnRzLk1BWF9TQUZFX0lOVEVHRVIgJiYgbiA8PSBleHBvcnRzLk1BWF9TQUZFX0lOVEVHRVIpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/int/lib/int.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/poly1305/lib/poly1305.js": -/*!**********************************************************!*\ - !*** ./node_modules/@stablelib/poly1305/lib/poly1305.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\nvar constant_time_1 = __webpack_require__(/*! @stablelib/constant-time */ \"./node_modules/@stablelib/constant-time/lib/constant-time.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nexports.DIGEST_LENGTH = 16;\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\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 */\nvar Poly1305 = /** @class */ (function () {\n function Poly1305(key) {\n this.digestLength = exports.DIGEST_LENGTH;\n this._buffer = new Uint8Array(16);\n this._r = new Uint16Array(10);\n this._h = new Uint16Array(10);\n this._pad = new Uint16Array(8);\n this._leftover = 0;\n this._fin = 0;\n this._finished = false;\n var t0 = key[0] | key[1] << 8;\n this._r[0] = (t0) & 0x1fff;\n var t1 = key[2] | key[3] << 8;\n this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = key[4] | key[5] << 8;\n this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n var t3 = key[6] | key[7] << 8;\n this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = key[8] | key[9] << 8;\n this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n var t5 = key[10] | key[11] << 8;\n this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = key[12] | key[13] << 8;\n this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n var t7 = key[14] | key[15] << 8;\n this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\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 Poly1305.prototype._blocks = function (m, mpos, bytes) {\n var hibit = this._fin ? 0 : 1 << 11;\n var h0 = this._h[0], h1 = this._h[1], h2 = this._h[2], h3 = this._h[3], h4 = this._h[4], h5 = this._h[5], h6 = this._h[6], h7 = this._h[7], h8 = this._h[8], h9 = this._h[9];\n var r0 = this._r[0], r1 = this._r[1], r2 = this._r[2], r3 = this._r[3], r4 = this._r[4], r5 = this._r[5], r6 = this._r[6], r7 = this._r[7], r8 = this._r[8], r9 = this._r[9];\n while (bytes >= 16) {\n var t0 = m[mpos + 0] | m[mpos + 1] << 8;\n h0 += (t0) & 0x1fff;\n var t1 = m[mpos + 2] | m[mpos + 3] << 8;\n h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = m[mpos + 4] | m[mpos + 5] << 8;\n h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n var t3 = m[mpos + 6] | m[mpos + 7] << 8;\n h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = m[mpos + 8] | m[mpos + 9] << 8;\n h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n var t5 = m[mpos + 10] | m[mpos + 11] << 8;\n h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = m[mpos + 12] | m[mpos + 13] << 8;\n h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n var t7 = m[mpos + 14] | m[mpos + 15] << 8;\n h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n var c = 0;\n var 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);\n 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);\n d0 &= 0x1fff;\n var 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);\n 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);\n d1 &= 0x1fff;\n var 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);\n 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);\n d2 &= 0x1fff;\n var 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);\n 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);\n d3 &= 0x1fff;\n var 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);\n 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);\n d4 &= 0x1fff;\n var 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);\n 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);\n d5 &= 0x1fff;\n var 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);\n 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);\n d6 &= 0x1fff;\n var 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);\n 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);\n d7 &= 0x1fff;\n var 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);\n 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);\n d8 &= 0x1fff;\n var 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);\n 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);\n d9 &= 0x1fff;\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\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 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 Poly1305.prototype.finish = function (mac, macpos) {\n if (macpos === void 0) { macpos = 0; }\n var g = new Uint16Array(10);\n var c;\n var mask;\n var f;\n var i;\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 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 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 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 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 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 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 this._finished = true;\n return this;\n };\n Poly1305.prototype.update = function (m) {\n var mpos = 0;\n var bytes = m.length;\n var want;\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (var 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 if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (var i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n return this;\n };\n Poly1305.prototype.digest = function () {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished — others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n var mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n };\n Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._r);\n wipe_1.wipe(this._h);\n wipe_1.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 return Poly1305;\n}());\nexports.Poly1305 = Poly1305;\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 */\nfunction oneTimeAuth(key, data) {\n var h = new Poly1305(key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.oneTimeAuth = oneTimeAuth;\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nfunction equal(a, b) {\n if (a.length !== exports.DIGEST_LENGTH || b.length !== exports.DIGEST_LENGTH) {\n return false;\n }\n return constant_time_1.equal(a, b);\n}\nexports.equal = equal;\n//# sourceMappingURL=poly1305.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9wb2x5MTMwNS9saWIvcG9seTEzMDUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLDhGQUEwQjtBQUN4RCxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFFBQVE7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLE9BQU87QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsV0FBVztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL3BvbHkxMzA1L2xpYi9wb2x5MTMwNS5qcz8zNDAzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyoqXG4gKiBQYWNrYWdlIHBvbHkxMzA1IGltcGxlbWVudHMgUG9seTEzMDUgb25lLXRpbWUgbWVzc2FnZSBhdXRoZW50aWNhdGlvbiBhbGdvcml0aG0uXG4gKi9cbnZhciBjb25zdGFudF90aW1lXzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9jb25zdGFudC10aW1lXCIpO1xudmFyIHdpcGVfMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL3dpcGVcIik7XG5leHBvcnRzLkRJR0VTVF9MRU5HVEggPSAxNjtcbi8vIFBvcnQgb2YgQW5kcmV3IE1vb24ncyBQb2x5MTMwNS1kb25uYS0xNi4gUHVibGljIGRvbWFpbi5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9vZHliZXJyeS9wb2x5MTMwNS1kb25uYVxuLyoqXG4gKiBQb2x5MTMwNSBjb21wdXRlcyAxNi1ieXRlIGF1dGhlbnRpY2F0b3Igb2YgbWVzc2FnZSB1c2luZ1xuICogYSBvbmUtdGltZSAzMi1ieXRlIGtleS5cbiAqXG4gKiBJbXBvcnRhbnQ6IGtleSBzaG91bGQgYmUgdXNlZCBmb3Igb25seSBvbmUgbWVzc2FnZSxcbiAqIGl0IHNob3VsZCBuZXZlciByZXBlYXQuXG4gKi9cbnZhciBQb2x5MTMwNSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBQb2x5MTMwNShrZXkpIHtcbiAgICAgICAgdGhpcy5kaWdlc3RMZW5ndGggPSBleHBvcnRzLkRJR0VTVF9MRU5HVEg7XG4gICAgICAgIHRoaXMuX2J1ZmZlciA9IG5ldyBVaW50OEFycmF5KDE2KTtcbiAgICAgICAgdGhpcy5fciA9IG5ldyBVaW50MTZBcnJheSgxMCk7XG4gICAgICAgIHRoaXMuX2ggPSBuZXcgVWludDE2QXJyYXkoMTApO1xuICAgICAgICB0aGlzLl9wYWQgPSBuZXcgVWludDE2QXJyYXkoOCk7XG4gICAgICAgIHRoaXMuX2xlZnRvdmVyID0gMDtcbiAgICAgICAgdGhpcy5fZmluID0gMDtcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgdmFyIHQwID0ga2V5WzBdIHwga2V5WzFdIDw8IDg7XG4gICAgICAgIHRoaXMuX3JbMF0gPSAodDApICYgMHgxZmZmO1xuICAgICAgICB2YXIgdDEgPSBrZXlbMl0gfCBrZXlbM10gPDwgODtcbiAgICAgICAgdGhpcy5fclsxXSA9ICgodDAgPj4+IDEzKSB8ICh0MSA8PCAzKSkgJiAweDFmZmY7XG4gICAgICAgIHZhciB0MiA9IGtleVs0XSB8IGtleVs1XSA8PCA4O1xuICAgICAgICB0aGlzLl9yWzJdID0gKCh0MSA+Pj4gMTApIHwgKHQyIDw8IDYpKSAmIDB4MWYwMztcbiAgICAgICAgdmFyIHQzID0ga2V5WzZdIHwga2V5WzddIDw8IDg7XG4gICAgICAgIHRoaXMuX3JbM10gPSAoKHQyID4+PiA3KSB8ICh0MyA8PCA5KSkgJiAweDFmZmY7XG4gICAgICAgIHZhciB0NCA9IGtleVs4XSB8IGtleVs5XSA8PCA4O1xuICAgICAgICB0aGlzLl9yWzRdID0gKCh0MyA+Pj4gNCkgfCAodDQgPDwgMTIpKSAmIDB4MDBmZjtcbiAgICAgICAgdGhpcy5fcls1XSA9ICgodDQgPj4+IDEpKSAmIDB4MWZmZTtcbiAgICAgICAgdmFyIHQ1ID0ga2V5WzEwXSB8IGtleVsxMV0gPDwgODtcbiAgICAgICAgdGhpcy5fcls2XSA9ICgodDQgPj4+IDE0KSB8ICh0NSA8PCAyKSkgJiAweDFmZmY7XG4gICAgICAgIHZhciB0NiA9IGtleVsxMl0gfCBrZXlbMTNdIDw8IDg7XG4gICAgICAgIHRoaXMuX3JbN10gPSAoKHQ1ID4+PiAxMSkgfCAodDYgPDwgNSkpICYgMHgxZjgxO1xuICAgICAgICB2YXIgdDcgPSBrZXlbMTRdIHwga2V5WzE1XSA8PCA4O1xuICAgICAgICB0aGlzLl9yWzhdID0gKCh0NiA+Pj4gOCkgfCAodDcgPDwgOCkpICYgMHgxZmZmO1xuICAgICAgICB0aGlzLl9yWzldID0gKCh0NyA+Pj4gNSkpICYgMHgwMDdmO1xuICAgICAgICB0aGlzLl9wYWRbMF0gPSBrZXlbMTZdIHwga2V5WzE3XSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbMV0gPSBrZXlbMThdIHwga2V5WzE5XSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbMl0gPSBrZXlbMjBdIHwga2V5WzIxXSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbM10gPSBrZXlbMjJdIHwga2V5WzIzXSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbNF0gPSBrZXlbMjRdIHwga2V5WzI1XSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbNV0gPSBrZXlbMjZdIHwga2V5WzI3XSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbNl0gPSBrZXlbMjhdIHwga2V5WzI5XSA8PCA4O1xuICAgICAgICB0aGlzLl9wYWRbN10gPSBrZXlbMzBdIHwga2V5WzMxXSA8PCA4O1xuICAgIH1cbiAgICBQb2x5MTMwNS5wcm90b3R5cGUuX2Jsb2NrcyA9IGZ1bmN0aW9uIChtLCBtcG9zLCBieXRlcykge1xuICAgICAgICB2YXIgaGliaXQgPSB0aGlzLl9maW4gPyAwIDogMSA8PCAxMTtcbiAgICAgICAgdmFyIGgwID0gdGhpcy5faFswXSwgaDEgPSB0aGlzLl9oWzFdLCBoMiA9IHRoaXMuX2hbMl0sIGgzID0gdGhpcy5faFszXSwgaDQgPSB0aGlzLl9oWzRdLCBoNSA9IHRoaXMuX2hbNV0sIGg2ID0gdGhpcy5faFs2XSwgaDcgPSB0aGlzLl9oWzddLCBoOCA9IHRoaXMuX2hbOF0sIGg5ID0gdGhpcy5faFs5XTtcbiAgICAgICAgdmFyIHIwID0gdGhpcy5fclswXSwgcjEgPSB0aGlzLl9yWzFdLCByMiA9IHRoaXMuX3JbMl0sIHIzID0gdGhpcy5fclszXSwgcjQgPSB0aGlzLl9yWzRdLCByNSA9IHRoaXMuX3JbNV0sIHI2ID0gdGhpcy5fcls2XSwgcjcgPSB0aGlzLl9yWzddLCByOCA9IHRoaXMuX3JbOF0sIHI5ID0gdGhpcy5fcls5XTtcbiAgICAgICAgd2hpbGUgKGJ5dGVzID49IDE2KSB7XG4gICAgICAgICAgICB2YXIgdDAgPSBtW21wb3MgKyAwXSB8IG1bbXBvcyArIDFdIDw8IDg7XG4gICAgICAgICAgICBoMCArPSAodDApICYgMHgxZmZmO1xuICAgICAgICAgICAgdmFyIHQxID0gbVttcG9zICsgMl0gfCBtW21wb3MgKyAzXSA8PCA4O1xuICAgICAgICAgICAgaDEgKz0gKCh0MCA+Pj4gMTMpIHwgKHQxIDw8IDMpKSAmIDB4MWZmZjtcbiAgICAgICAgICAgIHZhciB0MiA9IG1bbXBvcyArIDRdIHwgbVttcG9zICsgNV0gPDwgODtcbiAgICAgICAgICAgIGgyICs9ICgodDEgPj4+IDEwKSB8ICh0MiA8PCA2KSkgJiAweDFmZmY7XG4gICAgICAgICAgICB2YXIgdDMgPSBtW21wb3MgKyA2XSB8IG1bbXBvcyArIDddIDw8IDg7XG4gICAgICAgICAgICBoMyArPSAoKHQyID4+PiA3KSB8ICh0MyA8PCA5KSkgJiAweDFmZmY7XG4gICAgICAgICAgICB2YXIgdDQgPSBtW21wb3MgKyA4XSB8IG1bbXBvcyArIDldIDw8IDg7XG4gICAgICAgICAgICBoNCArPSAoKHQzID4+PiA0KSB8ICh0NCA8PCAxMikpICYgMHgxZmZmO1xuICAgICAgICAgICAgaDUgKz0gKCh0NCA+Pj4gMSkpICYgMHgxZmZmO1xuICAgICAgICAgICAgdmFyIHQ1ID0gbVttcG9zICsgMTBdIHwgbVttcG9zICsgMTFdIDw8IDg7XG4gICAgICAgICAgICBoNiArPSAoKHQ0ID4+PiAxNCkgfCAodDUgPDwgMikpICYgMHgxZmZmO1xuICAgICAgICAgICAgdmFyIHQ2ID0gbVttcG9zICsgMTJdIHwgbVttcG9zICsgMTNdIDw8IDg7XG4gICAgICAgICAgICBoNyArPSAoKHQ1ID4+PiAxMSkgfCAodDYgPDwgNSkpICYgMHgxZmZmO1xuICAgICAgICAgICAgdmFyIHQ3ID0gbVttcG9zICsgMTRdIHwgbVttcG9zICsgMTVdIDw8IDg7XG4gICAgICAgICAgICBoOCArPSAoKHQ2ID4+PiA4KSB8ICh0NyA8PCA4KSkgJiAweDFmZmY7XG4gICAgICAgICAgICBoOSArPSAoKHQ3ID4+PiA1KSkgfCBoaWJpdDtcbiAgICAgICAgICAgIHZhciBjID0gMDtcbiAgICAgICAgICAgIHZhciBkMCA9IGM7XG4gICAgICAgICAgICBkMCArPSBoMCAqIHIwO1xuICAgICAgICAgICAgZDAgKz0gaDEgKiAoNSAqIHI5KTtcbiAgICAgICAgICAgIGQwICs9IGgyICogKDUgKiByOCk7XG4gICAgICAgICAgICBkMCArPSBoMyAqICg1ICogcjcpO1xuICAgICAgICAgICAgZDAgKz0gaDQgKiAoNSAqIHI2KTtcbiAgICAgICAgICAgIGMgPSAoZDAgPj4+IDEzKTtcbiAgICAgICAgICAgIGQwICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQwICs9IGg1ICogKDUgKiByNSk7XG4gICAgICAgICAgICBkMCArPSBoNiAqICg1ICogcjQpO1xuICAgICAgICAgICAgZDAgKz0gaDcgKiAoNSAqIHIzKTtcbiAgICAgICAgICAgIGQwICs9IGg4ICogKDUgKiByMik7XG4gICAgICAgICAgICBkMCArPSBoOSAqICg1ICogcjEpO1xuICAgICAgICAgICAgYyArPSAoZDAgPj4+IDEzKTtcbiAgICAgICAgICAgIGQwICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkMSA9IGM7XG4gICAgICAgICAgICBkMSArPSBoMCAqIHIxO1xuICAgICAgICAgICAgZDEgKz0gaDEgKiByMDtcbiAgICAgICAgICAgIGQxICs9IGgyICogKDUgKiByOSk7XG4gICAgICAgICAgICBkMSArPSBoMyAqICg1ICogcjgpO1xuICAgICAgICAgICAgZDEgKz0gaDQgKiAoNSAqIHI3KTtcbiAgICAgICAgICAgIGMgPSAoZDEgPj4+IDEzKTtcbiAgICAgICAgICAgIGQxICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQxICs9IGg1ICogKDUgKiByNik7XG4gICAgICAgICAgICBkMSArPSBoNiAqICg1ICogcjUpO1xuICAgICAgICAgICAgZDEgKz0gaDcgKiAoNSAqIHI0KTtcbiAgICAgICAgICAgIGQxICs9IGg4ICogKDUgKiByMyk7XG4gICAgICAgICAgICBkMSArPSBoOSAqICg1ICogcjIpO1xuICAgICAgICAgICAgYyArPSAoZDEgPj4+IDEzKTtcbiAgICAgICAgICAgIGQxICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkMiA9IGM7XG4gICAgICAgICAgICBkMiArPSBoMCAqIHIyO1xuICAgICAgICAgICAgZDIgKz0gaDEgKiByMTtcbiAgICAgICAgICAgIGQyICs9IGgyICogcjA7XG4gICAgICAgICAgICBkMiArPSBoMyAqICg1ICogcjkpO1xuICAgICAgICAgICAgZDIgKz0gaDQgKiAoNSAqIHI4KTtcbiAgICAgICAgICAgIGMgPSAoZDIgPj4+IDEzKTtcbiAgICAgICAgICAgIGQyICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQyICs9IGg1ICogKDUgKiByNyk7XG4gICAgICAgICAgICBkMiArPSBoNiAqICg1ICogcjYpO1xuICAgICAgICAgICAgZDIgKz0gaDcgKiAoNSAqIHI1KTtcbiAgICAgICAgICAgIGQyICs9IGg4ICogKDUgKiByNCk7XG4gICAgICAgICAgICBkMiArPSBoOSAqICg1ICogcjMpO1xuICAgICAgICAgICAgYyArPSAoZDIgPj4+IDEzKTtcbiAgICAgICAgICAgIGQyICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkMyA9IGM7XG4gICAgICAgICAgICBkMyArPSBoMCAqIHIzO1xuICAgICAgICAgICAgZDMgKz0gaDEgKiByMjtcbiAgICAgICAgICAgIGQzICs9IGgyICogcjE7XG4gICAgICAgICAgICBkMyArPSBoMyAqIHIwO1xuICAgICAgICAgICAgZDMgKz0gaDQgKiAoNSAqIHI5KTtcbiAgICAgICAgICAgIGMgPSAoZDMgPj4+IDEzKTtcbiAgICAgICAgICAgIGQzICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQzICs9IGg1ICogKDUgKiByOCk7XG4gICAgICAgICAgICBkMyArPSBoNiAqICg1ICogcjcpO1xuICAgICAgICAgICAgZDMgKz0gaDcgKiAoNSAqIHI2KTtcbiAgICAgICAgICAgIGQzICs9IGg4ICogKDUgKiByNSk7XG4gICAgICAgICAgICBkMyArPSBoOSAqICg1ICogcjQpO1xuICAgICAgICAgICAgYyArPSAoZDMgPj4+IDEzKTtcbiAgICAgICAgICAgIGQzICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkNCA9IGM7XG4gICAgICAgICAgICBkNCArPSBoMCAqIHI0O1xuICAgICAgICAgICAgZDQgKz0gaDEgKiByMztcbiAgICAgICAgICAgIGQ0ICs9IGgyICogcjI7XG4gICAgICAgICAgICBkNCArPSBoMyAqIHIxO1xuICAgICAgICAgICAgZDQgKz0gaDQgKiByMDtcbiAgICAgICAgICAgIGMgPSAoZDQgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ0ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQ0ICs9IGg1ICogKDUgKiByOSk7XG4gICAgICAgICAgICBkNCArPSBoNiAqICg1ICogcjgpO1xuICAgICAgICAgICAgZDQgKz0gaDcgKiAoNSAqIHI3KTtcbiAgICAgICAgICAgIGQ0ICs9IGg4ICogKDUgKiByNik7XG4gICAgICAgICAgICBkNCArPSBoOSAqICg1ICogcjUpO1xuICAgICAgICAgICAgYyArPSAoZDQgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ0ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkNSA9IGM7XG4gICAgICAgICAgICBkNSArPSBoMCAqIHI1O1xuICAgICAgICAgICAgZDUgKz0gaDEgKiByNDtcbiAgICAgICAgICAgIGQ1ICs9IGgyICogcjM7XG4gICAgICAgICAgICBkNSArPSBoMyAqIHIyO1xuICAgICAgICAgICAgZDUgKz0gaDQgKiByMTtcbiAgICAgICAgICAgIGMgPSAoZDUgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ1ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQ1ICs9IGg1ICogcjA7XG4gICAgICAgICAgICBkNSArPSBoNiAqICg1ICogcjkpO1xuICAgICAgICAgICAgZDUgKz0gaDcgKiAoNSAqIHI4KTtcbiAgICAgICAgICAgIGQ1ICs9IGg4ICogKDUgKiByNyk7XG4gICAgICAgICAgICBkNSArPSBoOSAqICg1ICogcjYpO1xuICAgICAgICAgICAgYyArPSAoZDUgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ1ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkNiA9IGM7XG4gICAgICAgICAgICBkNiArPSBoMCAqIHI2O1xuICAgICAgICAgICAgZDYgKz0gaDEgKiByNTtcbiAgICAgICAgICAgIGQ2ICs9IGgyICogcjQ7XG4gICAgICAgICAgICBkNiArPSBoMyAqIHIzO1xuICAgICAgICAgICAgZDYgKz0gaDQgKiByMjtcbiAgICAgICAgICAgIGMgPSAoZDYgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ2ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQ2ICs9IGg1ICogcjE7XG4gICAgICAgICAgICBkNiArPSBoNiAqIHIwO1xuICAgICAgICAgICAgZDYgKz0gaDcgKiAoNSAqIHI5KTtcbiAgICAgICAgICAgIGQ2ICs9IGg4ICogKDUgKiByOCk7XG4gICAgICAgICAgICBkNiArPSBoOSAqICg1ICogcjcpO1xuICAgICAgICAgICAgYyArPSAoZDYgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ2ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkNyA9IGM7XG4gICAgICAgICAgICBkNyArPSBoMCAqIHI3O1xuICAgICAgICAgICAgZDcgKz0gaDEgKiByNjtcbiAgICAgICAgICAgIGQ3ICs9IGgyICogcjU7XG4gICAgICAgICAgICBkNyArPSBoMyAqIHI0O1xuICAgICAgICAgICAgZDcgKz0gaDQgKiByMztcbiAgICAgICAgICAgIGMgPSAoZDcgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ3ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQ3ICs9IGg1ICogcjI7XG4gICAgICAgICAgICBkNyArPSBoNiAqIHIxO1xuICAgICAgICAgICAgZDcgKz0gaDcgKiByMDtcbiAgICAgICAgICAgIGQ3ICs9IGg4ICogKDUgKiByOSk7XG4gICAgICAgICAgICBkNyArPSBoOSAqICg1ICogcjgpO1xuICAgICAgICAgICAgYyArPSAoZDcgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ3ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkOCA9IGM7XG4gICAgICAgICAgICBkOCArPSBoMCAqIHI4O1xuICAgICAgICAgICAgZDggKz0gaDEgKiByNztcbiAgICAgICAgICAgIGQ4ICs9IGgyICogcjY7XG4gICAgICAgICAgICBkOCArPSBoMyAqIHI1O1xuICAgICAgICAgICAgZDggKz0gaDQgKiByNDtcbiAgICAgICAgICAgIGMgPSAoZDggPj4+IDEzKTtcbiAgICAgICAgICAgIGQ4ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQ4ICs9IGg1ICogcjM7XG4gICAgICAgICAgICBkOCArPSBoNiAqIHIyO1xuICAgICAgICAgICAgZDggKz0gaDcgKiByMTtcbiAgICAgICAgICAgIGQ4ICs9IGg4ICogcjA7XG4gICAgICAgICAgICBkOCArPSBoOSAqICg1ICogcjkpO1xuICAgICAgICAgICAgYyArPSAoZDggPj4+IDEzKTtcbiAgICAgICAgICAgIGQ4ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIHZhciBkOSA9IGM7XG4gICAgICAgICAgICBkOSArPSBoMCAqIHI5O1xuICAgICAgICAgICAgZDkgKz0gaDEgKiByODtcbiAgICAgICAgICAgIGQ5ICs9IGgyICogcjc7XG4gICAgICAgICAgICBkOSArPSBoMyAqIHI2O1xuICAgICAgICAgICAgZDkgKz0gaDQgKiByNTtcbiAgICAgICAgICAgIGMgPSAoZDkgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ5ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGQ5ICs9IGg1ICogcjQ7XG4gICAgICAgICAgICBkOSArPSBoNiAqIHIzO1xuICAgICAgICAgICAgZDkgKz0gaDcgKiByMjtcbiAgICAgICAgICAgIGQ5ICs9IGg4ICogcjE7XG4gICAgICAgICAgICBkOSArPSBoOSAqIHIwO1xuICAgICAgICAgICAgYyArPSAoZDkgPj4+IDEzKTtcbiAgICAgICAgICAgIGQ5ICY9IDB4MWZmZjtcbiAgICAgICAgICAgIGMgPSAoKChjIDw8IDIpICsgYykpIHwgMDtcbiAgICAgICAgICAgIGMgPSAoYyArIGQwKSB8IDA7XG4gICAgICAgICAgICBkMCA9IGMgJiAweDFmZmY7XG4gICAgICAgICAgICBjID0gKGMgPj4+IDEzKTtcbiAgICAgICAgICAgIGQxICs9IGM7XG4gICAgICAgICAgICBoMCA9IGQwO1xuICAgICAgICAgICAgaDEgPSBkMTtcbiAgICAgICAgICAgIGgyID0gZDI7XG4gICAgICAgICAgICBoMyA9IGQzO1xuICAgICAgICAgICAgaDQgPSBkNDtcbiAgICAgICAgICAgIGg1ID0gZDU7XG4gICAgICAgICAgICBoNiA9IGQ2O1xuICAgICAgICAgICAgaDcgPSBkNztcbiAgICAgICAgICAgIGg4ID0gZDg7XG4gICAgICAgICAgICBoOSA9IGQ5O1xuICAgICAgICAgICAgbXBvcyArPSAxNjtcbiAgICAgICAgICAgIGJ5dGVzIC09IDE2O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hbMF0gPSBoMDtcbiAgICAgICAgdGhpcy5faFsxXSA9IGgxO1xuICAgICAgICB0aGlzLl9oWzJdID0gaDI7XG4gICAgICAgIHRoaXMuX2hbM10gPSBoMztcbiAgICAgICAgdGhpcy5faFs0XSA9IGg0O1xuICAgICAgICB0aGlzLl9oWzVdID0gaDU7XG4gICAgICAgIHRoaXMuX2hbNl0gPSBoNjtcbiAgICAgICAgdGhpcy5faFs3XSA9IGg3O1xuICAgICAgICB0aGlzLl9oWzhdID0gaDg7XG4gICAgICAgIHRoaXMuX2hbOV0gPSBoOTtcbiAgICB9O1xuICAgIFBvbHkxMzA1LnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbiAobWFjLCBtYWNwb3MpIHtcbiAgICAgICAgaWYgKG1hY3BvcyA9PT0gdm9pZCAwKSB7IG1hY3BvcyA9IDA7IH1cbiAgICAgICAgdmFyIGcgPSBuZXcgVWludDE2QXJyYXkoMTApO1xuICAgICAgICB2YXIgYztcbiAgICAgICAgdmFyIG1hc2s7XG4gICAgICAgIHZhciBmO1xuICAgICAgICB2YXIgaTtcbiAgICAgICAgaWYgKHRoaXMuX2xlZnRvdmVyKSB7XG4gICAgICAgICAgICBpID0gdGhpcy5fbGVmdG92ZXI7XG4gICAgICAgICAgICB0aGlzLl9idWZmZXJbaSsrXSA9IDE7XG4gICAgICAgICAgICBmb3IgKDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9idWZmZXJbaV0gPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fZmluID0gMTtcbiAgICAgICAgICAgIHRoaXMuX2Jsb2Nrcyh0aGlzLl9idWZmZXIsIDAsIDE2KTtcbiAgICAgICAgfVxuICAgICAgICBjID0gdGhpcy5faFsxXSA+Pj4gMTM7XG4gICAgICAgIHRoaXMuX2hbMV0gJj0gMHgxZmZmO1xuICAgICAgICBmb3IgKGkgPSAyOyBpIDwgMTA7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5faFtpXSArPSBjO1xuICAgICAgICAgICAgYyA9IHRoaXMuX2hbaV0gPj4+IDEzO1xuICAgICAgICAgICAgdGhpcy5faFtpXSAmPSAweDFmZmY7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faFswXSArPSAoYyAqIDUpO1xuICAgICAgICBjID0gdGhpcy5faFswXSA+Pj4gMTM7XG4gICAgICAgIHRoaXMuX2hbMF0gJj0gMHgxZmZmO1xuICAgICAgICB0aGlzLl9oWzFdICs9IGM7XG4gICAgICAgIGMgPSB0aGlzLl9oWzFdID4+PiAxMztcbiAgICAgICAgdGhpcy5faFsxXSAmPSAweDFmZmY7XG4gICAgICAgIHRoaXMuX2hbMl0gKz0gYztcbiAgICAgICAgZ1swXSA9IHRoaXMuX2hbMF0gKyA1O1xuICAgICAgICBjID0gZ1swXSA+Pj4gMTM7XG4gICAgICAgIGdbMF0gJj0gMHgxZmZmO1xuICAgICAgICBmb3IgKGkgPSAxOyBpIDwgMTA7IGkrKykge1xuICAgICAgICAgICAgZ1tpXSA9IHRoaXMuX2hbaV0gKyBjO1xuICAgICAgICAgICAgYyA9IGdbaV0gPj4+IDEzO1xuICAgICAgICAgICAgZ1tpXSAmPSAweDFmZmY7XG4gICAgICAgIH1cbiAgICAgICAgZ1s5XSAtPSAoMSA8PCAxMyk7XG4gICAgICAgIG1hc2sgPSAoYyBeIDEpIC0gMTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDEwOyBpKyspIHtcbiAgICAgICAgICAgIGdbaV0gJj0gbWFzaztcbiAgICAgICAgfVxuICAgICAgICBtYXNrID0gfm1hc2s7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLl9oW2ldID0gKHRoaXMuX2hbaV0gJiBtYXNrKSB8IGdbaV07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faFswXSA9ICgodGhpcy5faFswXSkgfCAodGhpcy5faFsxXSA8PCAxMykpICYgMHhmZmZmO1xuICAgICAgICB0aGlzLl9oWzFdID0gKCh0aGlzLl9oWzFdID4+PiAzKSB8ICh0aGlzLl9oWzJdIDw8IDEwKSkgJiAweGZmZmY7XG4gICAgICAgIHRoaXMuX2hbMl0gPSAoKHRoaXMuX2hbMl0gPj4+IDYpIHwgKHRoaXMuX2hbM10gPDwgNykpICYgMHhmZmZmO1xuICAgICAgICB0aGlzLl9oWzNdID0gKCh0aGlzLl9oWzNdID4+PiA5KSB8ICh0aGlzLl9oWzRdIDw8IDQpKSAmIDB4ZmZmZjtcbiAgICAgICAgdGhpcy5faFs0XSA9ICgodGhpcy5faFs0XSA+Pj4gMTIpIHwgKHRoaXMuX2hbNV0gPDwgMSkgfCAodGhpcy5faFs2XSA8PCAxNCkpICYgMHhmZmZmO1xuICAgICAgICB0aGlzLl9oWzVdID0gKCh0aGlzLl9oWzZdID4+PiAyKSB8ICh0aGlzLl9oWzddIDw8IDExKSkgJiAweGZmZmY7XG4gICAgICAgIHRoaXMuX2hbNl0gPSAoKHRoaXMuX2hbN10gPj4+IDUpIHwgKHRoaXMuX2hbOF0gPDwgOCkpICYgMHhmZmZmO1xuICAgICAgICB0aGlzLl9oWzddID0gKCh0aGlzLl9oWzhdID4+PiA4KSB8ICh0aGlzLl9oWzldIDw8IDUpKSAmIDB4ZmZmZjtcbiAgICAgICAgZiA9IHRoaXMuX2hbMF0gKyB0aGlzLl9wYWRbMF07XG4gICAgICAgIHRoaXMuX2hbMF0gPSBmICYgMHhmZmZmO1xuICAgICAgICBmb3IgKGkgPSAxOyBpIDwgODsgaSsrKSB7XG4gICAgICAgICAgICBmID0gKCgodGhpcy5faFtpXSArIHRoaXMuX3BhZFtpXSkgfCAwKSArIChmID4+PiAxNikpIHwgMDtcbiAgICAgICAgICAgIHRoaXMuX2hbaV0gPSBmICYgMHhmZmZmO1xuICAgICAgICB9XG4gICAgICAgIG1hY1ttYWNwb3MgKyAwXSA9IHRoaXMuX2hbMF0gPj4+IDA7XG4gICAgICAgIG1hY1ttYWNwb3MgKyAxXSA9IHRoaXMuX2hbMF0gPj4+IDg7XG4gICAgICAgIG1hY1ttYWNwb3MgKyAyXSA9IHRoaXMuX2hbMV0gPj4+IDA7XG4gICAgICAgIG1hY1ttYWNwb3MgKyAzXSA9IHRoaXMuX2hbMV0gPj4+IDg7XG4gICAgICAgIG1hY1ttYWNwb3MgKyA0XSA9IHRoaXMuX2hbMl0gPj4+IDA7XG4gICAgICAgIG1hY1ttYWNwb3MgKyA1XSA9IHRoaXMuX2hbMl0gPj4+IDg7XG4gICAgICAgIG1hY1ttYWNwb3MgKyA2XSA9IHRoaXMuX2hbM10gPj4+IDA7XG4gICAgICAgIG1hY1ttYWNwb3MgKyA3XSA9IHRoaXMuX2hbM10gPj4+IDg7XG4gICAgICAgIG1hY1ttYWNwb3MgKyA4XSA9IHRoaXMuX2hbNF0gPj4+IDA7XG4gICAgICAgIG1hY1ttYWNwb3MgKyA5XSA9IHRoaXMuX2hbNF0gPj4+IDg7XG4gICAgICAgIG1hY1ttYWNwb3MgKyAxMF0gPSB0aGlzLl9oWzVdID4+PiAwO1xuICAgICAgICBtYWNbbWFjcG9zICsgMTFdID0gdGhpcy5faFs1XSA+Pj4gODtcbiAgICAgICAgbWFjW21hY3BvcyArIDEyXSA9IHRoaXMuX2hbNl0gPj4+IDA7XG4gICAgICAgIG1hY1ttYWNwb3MgKyAxM10gPSB0aGlzLl9oWzZdID4+PiA4O1xuICAgICAgICBtYWNbbWFjcG9zICsgMTRdID0gdGhpcy5faFs3XSA+Pj4gMDtcbiAgICAgICAgbWFjW21hY3BvcyArIDE1XSA9IHRoaXMuX2hbN10gPj4+IDg7XG4gICAgICAgIHRoaXMuX2ZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBQb2x5MTMwNS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKG0pIHtcbiAgICAgICAgdmFyIG1wb3MgPSAwO1xuICAgICAgICB2YXIgYnl0ZXMgPSBtLmxlbmd0aDtcbiAgICAgICAgdmFyIHdhbnQ7XG4gICAgICAgIGlmICh0aGlzLl9sZWZ0b3Zlcikge1xuICAgICAgICAgICAgd2FudCA9ICgxNiAtIHRoaXMuX2xlZnRvdmVyKTtcbiAgICAgICAgICAgIGlmICh3YW50ID4gYnl0ZXMpIHtcbiAgICAgICAgICAgICAgICB3YW50ID0gYnl0ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdhbnQ7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2J1ZmZlclt0aGlzLl9sZWZ0b3ZlciArIGldID0gbVttcG9zICsgaV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBieXRlcyAtPSB3YW50O1xuICAgICAgICAgICAgbXBvcyArPSB3YW50O1xuICAgICAgICAgICAgdGhpcy5fbGVmdG92ZXIgKz0gd2FudDtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sZWZ0b3ZlciA8IDE2KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9ibG9ja3ModGhpcy5fYnVmZmVyLCAwLCAxNik7XG4gICAgICAgICAgICB0aGlzLl9sZWZ0b3ZlciA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJ5dGVzID49IDE2KSB7XG4gICAgICAgICAgICB3YW50ID0gYnl0ZXMgLSAoYnl0ZXMgJSAxNik7XG4gICAgICAgICAgICB0aGlzLl9ibG9ja3MobSwgbXBvcywgd2FudCk7XG4gICAgICAgICAgICBtcG9zICs9IHdhbnQ7XG4gICAgICAgICAgICBieXRlcyAtPSB3YW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChieXRlcykge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYnVmZmVyW3RoaXMuX2xlZnRvdmVyICsgaV0gPSBtW21wb3MgKyBpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2xlZnRvdmVyICs9IGJ5dGVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgUG9seTEzMDUucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gVE9ETyhkY2hlc3QpOiBpdCBiZWhhdmVzIGRpZmZlcmVudGx5IHRoYW4gb3RoZXIgaGFzaGVzL0hNQUMsXG4gICAgICAgIC8vIGJlY2F1c2UgaXQgdGhyb3dzIHdoZW4gZmluaXNoZWQg4oCUIG90aGVycyBqdXN0IHJldHVybiBzYXZlZCByZXN1bHQuXG4gICAgICAgIGlmICh0aGlzLl9maW5pc2hlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUG9seTEzMDUgd2FzIGZpbmlzaGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBtYWMgPSBuZXcgVWludDhBcnJheSgxNik7XG4gICAgICAgIHRoaXMuZmluaXNoKG1hYyk7XG4gICAgICAgIHJldHVybiBtYWM7XG4gICAgfTtcbiAgICBQb2x5MTMwNS5wcm90b3R5cGUuY2xlYW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpcGVfMS53aXBlKHRoaXMuX2J1ZmZlcik7XG4gICAgICAgIHdpcGVfMS53aXBlKHRoaXMuX3IpO1xuICAgICAgICB3aXBlXzEud2lwZSh0aGlzLl9oKTtcbiAgICAgICAgd2lwZV8xLndpcGUodGhpcy5fcGFkKTtcbiAgICAgICAgdGhpcy5fbGVmdG92ZXIgPSAwO1xuICAgICAgICB0aGlzLl9maW4gPSAwO1xuICAgICAgICB0aGlzLl9maW5pc2hlZCA9IHRydWU7IC8vIG1hcmsgYXMgZmluaXNoZWQgZXZlbiBpZiBub3RcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICByZXR1cm4gUG9seTEzMDU7XG59KCkpO1xuZXhwb3J0cy5Qb2x5MTMwNSA9IFBvbHkxMzA1O1xuLyoqXG4gKiBSZXR1cm5zIDE2LWJ5dGUgYXV0aGVudGljYXRvciBvZiBkYXRhIHVzaW5nIGEgb25lLXRpbWUgMzItYnl0ZSBrZXkuXG4gKlxuICogSW1wb3J0YW50OiBrZXkgc2hvdWxkIGJlIHVzZWQgZm9yIG9ubHkgb25lIG1lc3NhZ2UsIGl0IHNob3VsZCBuZXZlciByZXBlYXQuXG4gKi9cbmZ1bmN0aW9uIG9uZVRpbWVBdXRoKGtleSwgZGF0YSkge1xuICAgIHZhciBoID0gbmV3IFBvbHkxMzA1KGtleSk7XG4gICAgaC51cGRhdGUoZGF0YSk7XG4gICAgdmFyIGRpZ2VzdCA9IGguZGlnZXN0KCk7XG4gICAgaC5jbGVhbigpO1xuICAgIHJldHVybiBkaWdlc3Q7XG59XG5leHBvcnRzLm9uZVRpbWVBdXRoID0gb25lVGltZUF1dGg7XG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0d28gYXV0aGVudGljYXRvcnMgYXJlIDE2LWJ5dGUgbG9uZyBhbmQgZXF1YWwuXG4gKiBVc2VzIGNvbnRhbnQtdGltZSBjb21wYXJpc29uIHRvIGF2b2lkIGxlYWtpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuICovXG5mdW5jdGlvbiBlcXVhbChhLCBiKSB7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBleHBvcnRzLkRJR0VTVF9MRU5HVEggfHwgYi5sZW5ndGggIT09IGV4cG9ydHMuRElHRVNUX0xFTkdUSCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBjb25zdGFudF90aW1lXzEuZXF1YWwoYSwgYik7XG59XG5leHBvcnRzLmVxdWFsID0gZXF1YWw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wb2x5MTMwNS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/poly1305/lib/poly1305.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/random/lib/random.js": -/*!******************************************************!*\ - !*** ./node_modules/@stablelib/random/lib/random.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.randomStringForEntropy = exports.randomString = exports.randomUint32 = exports.randomBytes = exports.defaultRandomSource = void 0;\nconst system_1 = __webpack_require__(/*! ./source/system */ \"./node_modules/@stablelib/random/lib/source/system.js\");\nconst binary_1 = __webpack_require__(/*! @stablelib/binary */ \"./node_modules/@stablelib/binary/lib/binary.js\");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nexports.defaultRandomSource = new system_1.SystemRandomSource();\nfunction randomBytes(length, prng = exports.defaultRandomSource) {\n return prng.randomBytes(length);\n}\nexports.randomBytes = randomBytes;\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nfunction randomUint32(prng = exports.defaultRandomSource) {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\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 = (0, binary_1.readUint32LE)(buf);\n // Clean the buffer.\n (0, wipe_1.wipe)(buf);\n return result;\n}\nexports.randomUint32 = randomUint32;\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\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 */\nfunction randomString(length, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\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 (0, wipe_1.wipe)(buf);\n }\n return out;\n}\nexports.randomString = randomString;\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 */\nfunction randomStringForEntropy(bits, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\nexports.randomStringForEntropy = randomStringForEntropy;\n//# sourceMappingURL=random.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9yYW5kb20vbGliL3JhbmRvbS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsOEJBQThCLEdBQUcsb0JBQW9CLEdBQUcsb0JBQW9CLEdBQUcsbUJBQW1CLEdBQUcsMkJBQTJCO0FBQ2hJLGlCQUFpQixtQkFBTyxDQUFDLDhFQUFpQjtBQUMxQyxpQkFBaUIsbUJBQU8sQ0FBQyx5RUFBbUI7QUFDNUMsZUFBZSxtQkFBTyxDQUFDLG1FQUFpQjtBQUN4QywyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qiw4QkFBOEI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzdGFibGVsaWIvcmFuZG9tL2xpYi9yYW5kb20uanM/ODM1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIENvcHlyaWdodCAoQykgMjAxNiBEbWl0cnkgQ2hlc3RueWtoXG4vLyBNSVQgTGljZW5zZS4gU2VlIExJQ0VOU0UgZmlsZSBmb3IgZGV0YWlscy5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucmFuZG9tU3RyaW5nRm9yRW50cm9weSA9IGV4cG9ydHMucmFuZG9tU3RyaW5nID0gZXhwb3J0cy5yYW5kb21VaW50MzIgPSBleHBvcnRzLnJhbmRvbUJ5dGVzID0gZXhwb3J0cy5kZWZhdWx0UmFuZG9tU291cmNlID0gdm9pZCAwO1xuY29uc3Qgc3lzdGVtXzEgPSByZXF1aXJlKFwiLi9zb3VyY2Uvc3lzdGVtXCIpO1xuY29uc3QgYmluYXJ5XzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9iaW5hcnlcIik7XG5jb25zdCB3aXBlXzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi93aXBlXCIpO1xuZXhwb3J0cy5kZWZhdWx0UmFuZG9tU291cmNlID0gbmV3IHN5c3RlbV8xLlN5c3RlbVJhbmRvbVNvdXJjZSgpO1xuZnVuY3Rpb24gcmFuZG9tQnl0ZXMobGVuZ3RoLCBwcm5nID0gZXhwb3J0cy5kZWZhdWx0UmFuZG9tU291cmNlKSB7XG4gICAgcmV0dXJuIHBybmcucmFuZG9tQnl0ZXMobGVuZ3RoKTtcbn1cbmV4cG9ydHMucmFuZG9tQnl0ZXMgPSByYW5kb21CeXRlcztcbi8qKlxuICogUmV0dXJucyBhIHVuaWZvcm1seSByYW5kb20gdW5zaWduZWQgMzItYml0IGludGVnZXIuXG4gKi9cbmZ1bmN0aW9uIHJhbmRvbVVpbnQzMihwcm5nID0gZXhwb3J0cy5kZWZhdWx0UmFuZG9tU291cmNlKSB7XG4gICAgLy8gR2VuZXJhdGUgNC1ieXRlIHJhbmRvbSBidWZmZXIuXG4gICAgY29uc3QgYnVmID0gcmFuZG9tQnl0ZXMoNCwgcHJuZyk7XG4gICAgLy8gQ29udmVydCBieXRlcyBmcm9tIGJ1ZmZlciBpbnRvIGEgMzItYml0IGludGVnZXIuXG4gICAgLy8gSXQncyBub3QgaW1wb3J0YW50IHdoaWNoIGJ5dGUgb3JkZXIgdG8gdXNlLCBzaW5jZVxuICAgIC8vIHRoZSByZXN1bHQgaXMgcmFuZG9tLlxuICAgIGNvbnN0IHJlc3VsdCA9ICgwLCBiaW5hcnlfMS5yZWFkVWludDMyTEUpKGJ1Zik7XG4gICAgLy8gQ2xlYW4gdGhlIGJ1ZmZlci5cbiAgICAoMCwgd2lwZV8xLndpcGUpKGJ1Zik7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydHMucmFuZG9tVWludDMyID0gcmFuZG9tVWludDMyO1xuLyoqIDYyIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGZvciBkZWZhdWx0IGNoYXJzZXQgb2YgcmFuZG9tU3RyaW5nKCkgKi9cbmNvbnN0IEFMUEhBTlVNRVJJQyA9IFwiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpcIjtcbi8qKlxuICogUmV0dXJucyBhIHVuaWZvcm0gcmFuZG9tIHN0cmluZyBvZiB0aGUgZ2l2ZW4gbGVuZ3RoXG4gKiB3aXRoIGNoYXJhY3RlcnMgZnJvbSB0aGUgZ2l2ZW4gY2hhcnNldC5cbiAqXG4gKiBDaGFyc2V0IG11c3Qgbm90IGhhdmUgbW9yZSB0aGFuIDI1NiBjaGFyYWN0ZXJzLlxuICpcbiAqIERlZmF1bHQgY2hhcnNldCBnZW5lcmF0ZXMgY2FzZS1zZW5zaXRpdmUgYWxwaGFudW1lcmljXG4gKiBzdHJpbmdzICgwLTksIEEtWiwgYS16KS5cbiAqL1xuZnVuY3Rpb24gcmFuZG9tU3RyaW5nKGxlbmd0aCwgY2hhcnNldCA9IEFMUEhBTlVNRVJJQywgcHJuZyA9IGV4cG9ydHMuZGVmYXVsdFJhbmRvbVNvdXJjZSkge1xuICAgIGlmIChjaGFyc2V0Lmxlbmd0aCA8IDIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmFuZG9tU3RyaW5nIGNoYXJzZXQgaXMgdG9vIHNob3J0XCIpO1xuICAgIH1cbiAgICBpZiAoY2hhcnNldC5sZW5ndGggPiAyNTYpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmFuZG9tU3RyaW5nIGNoYXJzZXQgaXMgdG9vIGxvbmdcIik7XG4gICAgfVxuICAgIGxldCBvdXQgPSAnJztcbiAgICBjb25zdCBjaGFyc0xlbiA9IGNoYXJzZXQubGVuZ3RoO1xuICAgIGNvbnN0IG1heEJ5dGUgPSAyNTYgLSAoMjU2ICUgY2hhcnNMZW4pO1xuICAgIHdoaWxlIChsZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGJ1ZiA9IHJhbmRvbUJ5dGVzKE1hdGguY2VpbChsZW5ndGggKiAyNTYgLyBtYXhCeXRlKSwgcHJuZyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aCAmJiBsZW5ndGggPiAwOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUJ5dGUgPSBidWZbaV07XG4gICAgICAgICAgICBpZiAocmFuZG9tQnl0ZSA8IG1heEJ5dGUpIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gY2hhcnNldC5jaGFyQXQocmFuZG9tQnl0ZSAlIGNoYXJzTGVuKTtcbiAgICAgICAgICAgICAgICBsZW5ndGgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAoMCwgd2lwZV8xLndpcGUpKGJ1Zik7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG59XG5leHBvcnRzLnJhbmRvbVN0cmluZyA9IHJhbmRvbVN0cmluZztcbi8qKlxuICogUmV0dXJucyB1bmlmb3JtIHJhbmRvbSBzdHJpbmcgY29udGFpbmluZyBhdCBsZWFzdCB0aGUgZ2l2ZW5cbiAqIG51bWJlciBvZiBiaXRzIG9mIGVudHJvcHkuXG4gKlxuICogRm9yIGV4YW1wbGUsIHJhbmRvbVN0cmluZ0ZvckVudHJvcHkoMTI4KSB3aWxsIHJldHVybiBhIDIyLWNoYXJhY3RlclxuICogYWxwaGFudW1lcmljIHN0cmluZywgd2hpbGUgcmFuZG9tU3RyaW5nRm9yRW50cm9weSgxMjgsIFwiMDEyMzQ1Njc4OVwiKVxuICogd2lsbCByZXR1cm4gYSAzOS1jaGFyYWN0ZXIgbnVtZXJpYyBzdHJpbmcsIGJvdGggd2lsbCBjb250YWluIGF0XG4gKiBsZWFzdCAxMjggYml0cyBvZiBlbnRyb3B5LlxuICpcbiAqIERlZmF1bHQgY2hhcnNldCBnZW5lcmF0ZXMgY2FzZS1zZW5zaXRpdmUgYWxwaGFudW1lcmljXG4gKiBzdHJpbmdzICgwLTksIEEtWiwgYS16KS5cbiAqL1xuZnVuY3Rpb24gcmFuZG9tU3RyaW5nRm9yRW50cm9weShiaXRzLCBjaGFyc2V0ID0gQUxQSEFOVU1FUklDLCBwcm5nID0gZXhwb3J0cy5kZWZhdWx0UmFuZG9tU291cmNlKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gTWF0aC5jZWlsKGJpdHMgLyAoTWF0aC5sb2coY2hhcnNldC5sZW5ndGgpIC8gTWF0aC5MTjIpKTtcbiAgICByZXR1cm4gcmFuZG9tU3RyaW5nKGxlbmd0aCwgY2hhcnNldCwgcHJuZyk7XG59XG5leHBvcnRzLnJhbmRvbVN0cmluZ0ZvckVudHJvcHkgPSByYW5kb21TdHJpbmdGb3JFbnRyb3B5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmFuZG9tLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/random/lib/random.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/random/lib/source/browser.js": -/*!**************************************************************!*\ - !*** ./node_modules/@stablelib/random/lib/source/browser.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BrowserRandomSource = void 0;\nconst QUOTA = 65536;\nclass BrowserRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || self.msCrypto) // IE11 has msCrypto\n : null;\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n randomBytes(length) {\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}\nexports.BrowserRandomSource = BrowserRandomSource;\n//# sourceMappingURL=browser.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9yYW5kb20vbGliL3NvdXJjZS9icm93c2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0JBQWdCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzdGFibGVsaWIvcmFuZG9tL2xpYi9zb3VyY2UvYnJvd3Nlci5qcz9iMmJjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Ccm93c2VyUmFuZG9tU291cmNlID0gdm9pZCAwO1xuY29uc3QgUVVPVEEgPSA2NTUzNjtcbmNsYXNzIEJyb3dzZXJSYW5kb21Tb3VyY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmlzQXZhaWxhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNJbnN0YW50aWF0ZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgYnJvd3NlckNyeXB0byA9IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyAoc2VsZi5jcnlwdG8gfHwgc2VsZi5tc0NyeXB0bykgLy8gSUUxMSBoYXMgbXNDcnlwdG9cbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgaWYgKGJyb3dzZXJDcnlwdG8gJiYgYnJvd3NlckNyeXB0by5nZXRSYW5kb21WYWx1ZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fY3J5cHRvID0gYnJvd3NlckNyeXB0bztcbiAgICAgICAgICAgIHRoaXMuaXNBdmFpbGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc0luc3RhbnRpYXRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmFuZG9tQnl0ZXMobGVuZ3RoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0F2YWlsYWJsZSB8fCAhdGhpcy5fY3J5cHRvKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJCcm93c2VyIHJhbmRvbSBieXRlIGdlbmVyYXRvciBpcyBub3QgYXZhaWxhYmxlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvdXQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dC5sZW5ndGg7IGkgKz0gUVVPVEEpIHtcbiAgICAgICAgICAgIHRoaXMuX2NyeXB0by5nZXRSYW5kb21WYWx1ZXMob3V0LnN1YmFycmF5KGksIGkgKyBNYXRoLm1pbihvdXQubGVuZ3RoIC0gaSwgUVVPVEEpKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9XG59XG5leHBvcnRzLkJyb3dzZXJSYW5kb21Tb3VyY2UgPSBCcm93c2VyUmFuZG9tU291cmNlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnJvd3Nlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/random/lib/source/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/random/lib/source/node.js": -/*!***********************************************************!*\ - !*** ./node_modules/@stablelib/random/lib/source/node.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NodeRandomSource = void 0;\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nclass NodeRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n if (true) {\n const nodeCrypto = __webpack_require__(/*! crypto */ \"?4908\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\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 // Allocate output array.\n const out = new Uint8Array(length);\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n // Cleanup.\n (0, wipe_1.wipe)(buffer);\n return out;\n }\n}\nexports.NodeRandomSource = NodeRandomSource;\n//# sourceMappingURL=node.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9yYW5kb20vbGliL3NvdXJjZS9ub2RlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsZUFBZSxtQkFBTyxDQUFDLG1FQUFpQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBOEI7QUFDMUMsK0JBQStCLG1CQUFPLENBQUMscUJBQVE7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BzdGFibGVsaWIvcmFuZG9tL2xpYi9zb3VyY2Uvbm9kZS5qcz9iNDI2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Ob2RlUmFuZG9tU291cmNlID0gdm9pZCAwO1xuY29uc3Qgd2lwZV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvd2lwZVwiKTtcbmNsYXNzIE5vZGVSYW5kb21Tb3VyY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmlzQXZhaWxhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNJbnN0YW50aWF0ZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXF1aXJlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlQ3J5cHRvID0gcmVxdWlyZShcImNyeXB0b1wiKTtcbiAgICAgICAgICAgIGlmIChub2RlQ3J5cHRvICYmIG5vZGVDcnlwdG8ucmFuZG9tQnl0ZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcnlwdG8gPSBub2RlQ3J5cHRvO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNBdmFpbGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbnN0YW50aWF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJhbmRvbUJ5dGVzKGxlbmd0aCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNBdmFpbGFibGUgfHwgIXRoaXMuX2NyeXB0bykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm9kZS5qcyByYW5kb20gYnl0ZSBnZW5lcmF0b3IgaXMgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gR2V0IHJhbmRvbSBieXRlcyAocmVzdWx0IGlzIEJ1ZmZlcikuXG4gICAgICAgIGxldCBidWZmZXIgPSB0aGlzLl9jcnlwdG8ucmFuZG9tQnl0ZXMobGVuZ3RoKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGdvdCB0aGUgbGVuZ3RoIHRoYXQgd2UgcmVxdWVzdGVkLlxuICAgICAgICBpZiAoYnVmZmVyLmxlbmd0aCAhPT0gbGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb2RlUmFuZG9tU291cmNlOiBnb3QgZmV3ZXIgYnl0ZXMgdGhhbiByZXF1ZXN0ZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWxsb2NhdGUgb3V0cHV0IGFycmF5LlxuICAgICAgICBjb25zdCBvdXQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuICAgICAgICAvLyBDb3B5IGJ5dGVzIGZyb20gYnVmZmVyIHRvIG91dHB1dC5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIG91dFtpXSA9IGJ1ZmZlcltpXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDbGVhbnVwLlxuICAgICAgICAoMCwgd2lwZV8xLndpcGUpKGJ1ZmZlcik7XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxufVxuZXhwb3J0cy5Ob2RlUmFuZG9tU291cmNlID0gTm9kZVJhbmRvbVNvdXJjZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vZGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/random/lib/source/node.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/random/lib/source/system.js": -/*!*************************************************************!*\ - !*** ./node_modules/@stablelib/random/lib/source/system.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SystemRandomSource = void 0;\nconst browser_1 = __webpack_require__(/*! ./browser */ \"./node_modules/@stablelib/random/lib/source/browser.js\");\nconst node_1 = __webpack_require__(/*! ./node */ \"./node_modules/@stablelib/random/lib/source/node.js\");\nclass SystemRandomSource {\n constructor() {\n this.isAvailable = false;\n this.name = \"\";\n // Try browser.\n this._source = new browser_1.BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n // If no browser source, try Node.\n this._source = new node_1.NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n // No sources, we're out of options.\n }\n randomBytes(length) {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\nexports.SystemRandomSource = SystemRandomSource;\n//# sourceMappingURL=system.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9yYW5kb20vbGliL3NvdXJjZS9zeXN0ZW0uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQjtBQUMxQixrQkFBa0IsbUJBQU8sQ0FBQyx5RUFBVztBQUNyQyxlQUFlLG1CQUFPLENBQUMsbUVBQVE7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL3JhbmRvbS9saWIvc291cmNlL3N5c3RlbS5qcz8xODkwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5TeXN0ZW1SYW5kb21Tb3VyY2UgPSB2b2lkIDA7XG5jb25zdCBicm93c2VyXzEgPSByZXF1aXJlKFwiLi9icm93c2VyXCIpO1xuY29uc3Qgbm9kZV8xID0gcmVxdWlyZShcIi4vbm9kZVwiKTtcbmNsYXNzIFN5c3RlbVJhbmRvbVNvdXJjZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaXNBdmFpbGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJcIjtcbiAgICAgICAgLy8gVHJ5IGJyb3dzZXIuXG4gICAgICAgIHRoaXMuX3NvdXJjZSA9IG5ldyBicm93c2VyXzEuQnJvd3NlclJhbmRvbVNvdXJjZSgpO1xuICAgICAgICBpZiAodGhpcy5fc291cmNlLmlzQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmlzQXZhaWxhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IFwiQnJvd3NlclwiO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIG5vIGJyb3dzZXIgc291cmNlLCB0cnkgTm9kZS5cbiAgICAgICAgdGhpcy5fc291cmNlID0gbmV3IG5vZGVfMS5Ob2RlUmFuZG9tU291cmNlKCk7XG4gICAgICAgIGlmICh0aGlzLl9zb3VyY2UuaXNBdmFpbGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNBdmFpbGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gXCJOb2RlXCI7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm8gc291cmNlcywgd2UncmUgb3V0IG9mIG9wdGlvbnMuXG4gICAgfVxuICAgIHJhbmRvbUJ5dGVzKGxlbmd0aCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNBdmFpbGFibGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlN5c3RlbSByYW5kb20gYnl0ZSBnZW5lcmF0b3IgaXMgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZS5yYW5kb21CeXRlcyhsZW5ndGgpO1xuICAgIH1cbn1cbmV4cG9ydHMuU3lzdGVtUmFuZG9tU291cmNlID0gU3lzdGVtUmFuZG9tU291cmNlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3lzdGVtLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/random/lib/source/system.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/sha256/lib/sha256.js": -/*!******************************************************!*\ - !*** ./node_modules/@stablelib/sha256/lib/sha256.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ \"./node_modules/@stablelib/binary/lib/binary.js\");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nexports.DIGEST_LENGTH = 32;\nexports.BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nvar SHA256 = /** @class */ (function () {\n function SHA256() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._state = new Int32Array(8); // hash state\n this._temp = new Int32Array(64); // temporary state\n this._buffer = new Uint8Array(128); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA256.prototype._initState = function () {\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 * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA256.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA256.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._temp);\n this.reset();\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 SHA256.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var 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 * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA256.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 4; i++) {\n binary_1.writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA256.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\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 SHA256.prototype.saveState = function () {\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 * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n SHA256.prototype.restoreState = function (savedState) {\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 * Cleans state returned by saveState().\n */\n SHA256.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA256;\n}());\nexports.SHA256 = SHA256;\n// Constants\nvar 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]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n var a = v[0];\n var b = v[1];\n var c = v[2];\n var d = v[3];\n var e = v[4];\n var f = v[5];\n var g = v[6];\n var h = v[7];\n for (var i = 0; i < 16; i++) {\n var j = pos + i * 4;\n w[i] = binary_1.readUint32BE(p, j);\n }\n for (var i = 16; i < 64; i++) {\n var u = w[i - 2];\n var t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n var t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (var i = 0; i < 64; i++) {\n var 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 var 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 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 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 pos += 64;\n len -= 64;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA256();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha256.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi9zaGEyNTYvbGliL3NoYTI1Ni5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZUFBZSxtQkFBTyxDQUFDLHlFQUFtQjtBQUMxQyxhQUFhLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3RDLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekMseUNBQXlDO0FBQ3pDLDRDQUE0QztBQUM1QyxnQ0FBZ0M7QUFDaEMsK0JBQStCO0FBQy9CLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLG1CQUFtQjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwyQkFBMkI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixRQUFRO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixRQUFRO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixRQUFRO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ac3RhYmxlbGliL3NoYTI1Ni9saWIvc2hhMjU2LmpzPzE1MGUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKEMpIDIwMTYgRG1pdHJ5IENoZXN0bnlraFxuLy8gTUlUIExpY2Vuc2UuIFNlZSBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgYmluYXJ5XzEgPSByZXF1aXJlKFwiQHN0YWJsZWxpYi9iaW5hcnlcIik7XG52YXIgd2lwZV8xID0gcmVxdWlyZShcIkBzdGFibGVsaWIvd2lwZVwiKTtcbmV4cG9ydHMuRElHRVNUX0xFTkdUSCA9IDMyO1xuZXhwb3J0cy5CTE9DS19TSVpFID0gNjQ7XG4vKipcbiAqIFNIQTItMjU2IGNyeXB0b2dyYXBoaWMgaGFzaCBhbGdvcml0aG0uXG4gKi9cbnZhciBTSEEyNTYgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU0hBMjU2KCkge1xuICAgICAgICAvKiogTGVuZ3RoIG9mIGhhc2ggb3V0cHV0ICovXG4gICAgICAgIHRoaXMuZGlnZXN0TGVuZ3RoID0gZXhwb3J0cy5ESUdFU1RfTEVOR1RIO1xuICAgICAgICAvKiogQmxvY2sgc2l6ZSAqL1xuICAgICAgICB0aGlzLmJsb2NrU2l6ZSA9IGV4cG9ydHMuQkxPQ0tfU0laRTtcbiAgICAgICAgLy8gTm90ZTogSW50MzJBcnJheSBpcyB1c2VkIGluc3RlYWQgb2YgVWludDMyQXJyYXkgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuXG4gICAgICAgIHRoaXMuX3N0YXRlID0gbmV3IEludDMyQXJyYXkoOCk7IC8vIGhhc2ggc3RhdGVcbiAgICAgICAgdGhpcy5fdGVtcCA9IG5ldyBJbnQzMkFycmF5KDY0KTsgLy8gdGVtcG9yYXJ5IHN0YXRlXG4gICAgICAgIHRoaXMuX2J1ZmZlciA9IG5ldyBVaW50OEFycmF5KDEyOCk7IC8vIGJ1ZmZlciBmb3IgZGF0YSB0byBoYXNoXG4gICAgICAgIHRoaXMuX2J1ZmZlckxlbmd0aCA9IDA7IC8vIG51bWJlciBvZiBieXRlcyBpbiBidWZmZXJcbiAgICAgICAgdGhpcy5fYnl0ZXNIYXNoZWQgPSAwOyAvLyBudW1iZXIgb2YgdG90YWwgYnl0ZXMgaGFzaGVkXG4gICAgICAgIHRoaXMuX2ZpbmlzaGVkID0gZmFsc2U7IC8vIGluZGljYXRlcyB3aGV0aGVyIHRoZSBoYXNoIHdhcyBmaW5hbGl6ZWRcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgICBTSEEyNTYucHJvdG90eXBlLl9pbml0U3RhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlWzBdID0gMHg2YTA5ZTY2NztcbiAgICAgICAgdGhpcy5fc3RhdGVbMV0gPSAweGJiNjdhZTg1O1xuICAgICAgICB0aGlzLl9zdGF0ZVsyXSA9IDB4M2M2ZWYzNzI7XG4gICAgICAgIHRoaXMuX3N0YXRlWzNdID0gMHhhNTRmZjUzYTtcbiAgICAgICAgdGhpcy5fc3RhdGVbNF0gPSAweDUxMGU1MjdmO1xuICAgICAgICB0aGlzLl9zdGF0ZVs1XSA9IDB4OWIwNTY4OGM7XG4gICAgICAgIHRoaXMuX3N0YXRlWzZdID0gMHgxZjgzZDlhYjtcbiAgICAgICAgdGhpcy5fc3RhdGVbN10gPSAweDViZTBjZDE5O1xuICAgIH07XG4gICAgLyoqXG4gICAgICogUmVzZXRzIGhhc2ggc3RhdGUgbWFraW5nIGl0IHBvc3NpYmxlXG4gICAgICogdG8gcmUtdXNlIHRoaXMgaW5zdGFuY2UgdG8gaGFzaCBvdGhlciBkYXRhLlxuICAgICAqL1xuICAgIFNIQTI1Ni5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2luaXRTdGF0ZSgpO1xuICAgICAgICB0aGlzLl9idWZmZXJMZW5ndGggPSAwO1xuICAgICAgICB0aGlzLl9ieXRlc0hhc2hlZCA9IDA7XG4gICAgICAgIHRoaXMuX2ZpbmlzaGVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQ2xlYW5zIGludGVybmFsIGJ1ZmZlcnMgYW5kIHJlc2V0cyBoYXNoIHN0YXRlLlxuICAgICAqL1xuICAgIFNIQTI1Ni5wcm90b3R5cGUuY2xlYW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpcGVfMS53aXBlKHRoaXMuX2J1ZmZlcik7XG4gICAgICAgIHdpcGVfMS53aXBlKHRoaXMuX3RlbXApO1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGhhc2ggc3RhdGUgd2l0aCB0aGUgZ2l2ZW4gZGF0YS5cbiAgICAgKlxuICAgICAqIFRocm93cyBlcnJvciB3aGVuIHRyeWluZyB0byB1cGRhdGUgYWxyZWFkeSBmaW5hbGl6ZWQgaGFzaDpcbiAgICAgKiBpbnN0YW5jZSBtdXN0IGJlIHJlc2V0IHRvIHVwZGF0ZSBpdCBhZ2Fpbi5cbiAgICAgKi9cbiAgICBTSEEyNTYucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhLCBkYXRhTGVuZ3RoKSB7XG4gICAgICAgIGlmIChkYXRhTGVuZ3RoID09PSB2b2lkIDApIHsgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoOyB9XG4gICAgICAgIGlmICh0aGlzLl9maW5pc2hlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU0hBMjU2OiBjYW4ndCB1cGRhdGUgYmVjYXVzZSBoYXNoIHdhcyBmaW5pc2hlZC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRhdGFQb3MgPSAwO1xuICAgICAgICB0aGlzLl9ieXRlc0hhc2hlZCArPSBkYXRhTGVuZ3RoO1xuICAgICAgICBpZiAodGhpcy5fYnVmZmVyTGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgd2hpbGUgKHRoaXMuX2J1ZmZlckxlbmd0aCA8IHRoaXMuYmxvY2tTaXplICYmIGRhdGFMZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYnVmZmVyW3RoaXMuX2J1ZmZlckxlbmd0aCsrXSA9IGRhdGFbZGF0YVBvcysrXTtcbiAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoLS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fYnVmZmVyTGVuZ3RoID09PSB0aGlzLmJsb2NrU2l6ZSkge1xuICAgICAgICAgICAgICAgIGhhc2hCbG9ja3ModGhpcy5fdGVtcCwgdGhpcy5fc3RhdGUsIHRoaXMuX2J1ZmZlciwgMCwgdGhpcy5ibG9ja1NpemUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2J1ZmZlckxlbmd0aCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGFMZW5ndGggPj0gdGhpcy5ibG9ja1NpemUpIHtcbiAgICAgICAgICAgIGRhdGFQb3MgPSBoYXNoQmxvY2tzKHRoaXMuX3RlbXAsIHRoaXMuX3N0YXRlLCBkYXRhLCBkYXRhUG9zLCBkYXRhTGVuZ3RoKTtcbiAgICAgICAgICAgIGRhdGFMZW5ndGggJT0gdGhpcy5ibG9ja1NpemU7XG4gICAgICAgIH1cbiAgICAgICAgd2hpbGUgKGRhdGFMZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9idWZmZXJbdGhpcy5fYnVmZmVyTGVuZ3RoKytdID0gZGF0YVtkYXRhUG9zKytdO1xuICAgICAgICAgICAgZGF0YUxlbmd0aC0tO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRmluYWxpemVzIGhhc2ggc3RhdGUgYW5kIHB1dHMgaGFzaCBpbnRvIG91dC5cbiAgICAgKiBJZiBoYXNoIHdhcyBhbHJlYWR5IGZpbmFsaXplZCwgcHV0cyB0aGUgc2FtZSB2YWx1ZS5cbiAgICAgKi9cbiAgICBTSEEyNTYucHJvdG90eXBlLmZpbmlzaCA9IGZ1bmN0aW9uIChvdXQpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9maW5pc2hlZCkge1xuICAgICAgICAgICAgdmFyIGJ5dGVzSGFzaGVkID0gdGhpcy5fYnl0ZXNIYXNoZWQ7XG4gICAgICAgICAgICB2YXIgbGVmdCA9IHRoaXMuX2J1ZmZlckxlbmd0aDtcbiAgICAgICAgICAgIHZhciBiaXRMZW5IaSA9IChieXRlc0hhc2hlZCAvIDB4MjAwMDAwMDApIHwgMDtcbiAgICAgICAgICAgIHZhciBiaXRMZW5MbyA9IGJ5dGVzSGFzaGVkIDw8IDM7XG4gICAgICAgICAgICB2YXIgcGFkTGVuZ3RoID0gKGJ5dGVzSGFzaGVkICUgNjQgPCA1NikgPyA2NCA6IDEyODtcbiAgICAgICAgICAgIHRoaXMuX2J1ZmZlcltsZWZ0XSA9IDB4ODA7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gbGVmdCArIDE7IGkgPCBwYWRMZW5ndGggLSA4OyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9idWZmZXJbaV0gPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYmluYXJ5XzEud3JpdGVVaW50MzJCRShiaXRMZW5IaSwgdGhpcy5fYnVmZmVyLCBwYWRMZW5ndGggLSA4KTtcbiAgICAgICAgICAgIGJpbmFyeV8xLndyaXRlVWludDMyQkUoYml0TGVuTG8sIHRoaXMuX2J1ZmZlciwgcGFkTGVuZ3RoIC0gNCk7XG4gICAgICAgICAgICBoYXNoQmxvY2tzKHRoaXMuX3RlbXAsIHRoaXMuX3N0YXRlLCB0aGlzLl9idWZmZXIsIDAsIHBhZExlbmd0aCk7XG4gICAgICAgICAgICB0aGlzLl9maW5pc2hlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmRpZ2VzdExlbmd0aCAvIDQ7IGkrKykge1xuICAgICAgICAgICAgYmluYXJ5XzEud3JpdGVVaW50MzJCRSh0aGlzLl9zdGF0ZVtpXSwgb3V0LCBpICogNCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmaW5hbCBoYXNoIGRpZ2VzdC5cbiAgICAgKi9cbiAgICBTSEEyNTYucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG91dCA9IG5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5maW5pc2gob3V0KTtcbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHVzZWZ1bCBmb3IgSE1BQy9QQktERjIgb3B0aW1pemF0aW9uLlxuICAgICAqIFJldHVybnMgaGFzaCBzdGF0ZSB0byBiZSB1c2VkIHdpdGggcmVzdG9yZVN0YXRlKCkuXG4gICAgICogT25seSBjaGFpbiB2YWx1ZSBpcyBzYXZlZCwgbm90IGJ1ZmZlcnMgb3Igb3RoZXJcbiAgICAgKiBzdGF0ZSB2YXJpYWJsZXMuXG4gICAgICovXG4gICAgU0hBMjU2LnByb3RvdHlwZS5zYXZlU3RhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9maW5pc2hlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU0hBMjU2OiBjYW5ub3Qgc2F2ZSBmaW5pc2hlZCBzdGF0ZVwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhdGU6IG5ldyBJbnQzMkFycmF5KHRoaXMuX3N0YXRlKSxcbiAgICAgICAgICAgIGJ1ZmZlcjogdGhpcy5fYnVmZmVyTGVuZ3RoID4gMCA/IG5ldyBVaW50OEFycmF5KHRoaXMuX2J1ZmZlcikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBidWZmZXJMZW5ndGg6IHRoaXMuX2J1ZmZlckxlbmd0aCxcbiAgICAgICAgICAgIGJ5dGVzSGFzaGVkOiB0aGlzLl9ieXRlc0hhc2hlZFxuICAgICAgICB9O1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdXNlZnVsIGZvciBITUFDL1BCS0RGMiBvcHRpbWl6YXRpb24uXG4gICAgICogUmVzdG9yZXMgc3RhdGUgc2F2ZWQgYnkgc2F2ZVN0YXRlKCkgYW5kIHNldHMgYnl0ZXNIYXNoZWRcbiAgICAgKiB0byB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAgICovXG4gICAgU0hBMjU2LnByb3RvdHlwZS5yZXN0b3JlU3RhdGUgPSBmdW5jdGlvbiAoc2F2ZWRTdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZS5zZXQoc2F2ZWRTdGF0ZS5zdGF0ZSk7XG4gICAgICAgIHRoaXMuX2J1ZmZlckxlbmd0aCA9IHNhdmVkU3RhdGUuYnVmZmVyTGVuZ3RoO1xuICAgICAgICBpZiAoc2F2ZWRTdGF0ZS5idWZmZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2J1ZmZlci5zZXQoc2F2ZWRTdGF0ZS5idWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2J5dGVzSGFzaGVkID0gc2F2ZWRTdGF0ZS5ieXRlc0hhc2hlZDtcbiAgICAgICAgdGhpcy5fZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBDbGVhbnMgc3RhdGUgcmV0dXJuZWQgYnkgc2F2ZVN0YXRlKCkuXG4gICAgICovXG4gICAgU0hBMjU2LnByb3RvdHlwZS5jbGVhblNhdmVkU3RhdGUgPSBmdW5jdGlvbiAoc2F2ZWRTdGF0ZSkge1xuICAgICAgICB3aXBlXzEud2lwZShzYXZlZFN0YXRlLnN0YXRlKTtcbiAgICAgICAgaWYgKHNhdmVkU3RhdGUuYnVmZmVyKSB7XG4gICAgICAgICAgICB3aXBlXzEud2lwZShzYXZlZFN0YXRlLmJ1ZmZlcik7XG4gICAgICAgIH1cbiAgICAgICAgc2F2ZWRTdGF0ZS5idWZmZXJMZW5ndGggPSAwO1xuICAgICAgICBzYXZlZFN0YXRlLmJ5dGVzSGFzaGVkID0gMDtcbiAgICB9O1xuICAgIHJldHVybiBTSEEyNTY7XG59KCkpO1xuZXhwb3J0cy5TSEEyNTYgPSBTSEEyNTY7XG4vLyBDb25zdGFudHNcbnZhciBLID0gbmV3IEludDMyQXJyYXkoW1xuICAgIDB4NDI4YTJmOTgsIDB4NzEzNzQ0OTEsIDB4YjVjMGZiY2YsIDB4ZTliNWRiYTUsIDB4Mzk1NmMyNWIsXG4gICAgMHg1OWYxMTFmMSwgMHg5MjNmODJhNCwgMHhhYjFjNWVkNSwgMHhkODA3YWE5OCwgMHgxMjgzNWIwMSxcbiAgICAweDI0MzE4NWJlLCAweDU1MGM3ZGMzLCAweDcyYmU1ZDc0LCAweDgwZGViMWZlLCAweDliZGMwNmE3LFxuICAgIDB4YzE5YmYxNzQsIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsXG4gICAgMHgyZGU5MmM2ZiwgMHg0YTc0ODRhYSwgMHg1Y2IwYTlkYywgMHg3NmY5ODhkYSwgMHg5ODNlNTE1MixcbiAgICAweGE4MzFjNjZkLCAweGIwMDMyN2M4LCAweGJmNTk3ZmM3LCAweGM2ZTAwYmYzLCAweGQ1YTc5MTQ3LFxuICAgIDB4MDZjYTYzNTEsIDB4MTQyOTI5NjcsIDB4MjdiNzBhODUsIDB4MmUxYjIxMzgsIDB4NGQyYzZkZmMsXG4gICAgMHg1MzM4MGQxMywgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSxcbiAgICAweGEyYmZlOGExLCAweGE4MWE2NjRiLCAweGMyNGI4YjcwLCAweGM3NmM1MWEzLCAweGQxOTJlODE5LFxuICAgIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsIDB4MTlhNGMxMTYsIDB4MWUzNzZjMDgsXG4gICAgMHgyNzQ4Nzc0YywgMHgzNGIwYmNiNSwgMHgzOTFjMGNiMywgMHg0ZWQ4YWE0YSwgMHg1YjljY2E0ZixcbiAgICAweDY4MmU2ZmYzLCAweDc0OGY4MmVlLCAweDc4YTU2MzZmLCAweDg0Yzg3ODE0LCAweDhjYzcwMjA4LFxuICAgIDB4OTBiZWZmZmEsIDB4YTQ1MDZjZWIsIDB4YmVmOWEzZjcsIDB4YzY3MTc4ZjJcbl0pO1xuZnVuY3Rpb24gaGFzaEJsb2Nrcyh3LCB2LCBwLCBwb3MsIGxlbikge1xuICAgIHdoaWxlIChsZW4gPj0gNjQpIHtcbiAgICAgICAgdmFyIGEgPSB2WzBdO1xuICAgICAgICB2YXIgYiA9IHZbMV07XG4gICAgICAgIHZhciBjID0gdlsyXTtcbiAgICAgICAgdmFyIGQgPSB2WzNdO1xuICAgICAgICB2YXIgZSA9IHZbNF07XG4gICAgICAgIHZhciBmID0gdls1XTtcbiAgICAgICAgdmFyIGcgPSB2WzZdO1xuICAgICAgICB2YXIgaCA9IHZbN107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICAgICAgdmFyIGogPSBwb3MgKyBpICogNDtcbiAgICAgICAgICAgIHdbaV0gPSBiaW5hcnlfMS5yZWFkVWludDMyQkUocCwgaik7XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDE2OyBpIDwgNjQ7IGkrKykge1xuICAgICAgICAgICAgdmFyIHUgPSB3W2kgLSAyXTtcbiAgICAgICAgICAgIHZhciB0MSA9ICh1ID4+PiAxNyB8IHUgPDwgKDMyIC0gMTcpKSBeICh1ID4+PiAxOSB8IHUgPDwgKDMyIC0gMTkpKSBeICh1ID4+PiAxMCk7XG4gICAgICAgICAgICB1ID0gd1tpIC0gMTVdO1xuICAgICAgICAgICAgdmFyIHQyID0gKHUgPj4+IDcgfCB1IDw8ICgzMiAtIDcpKSBeICh1ID4+PiAxOCB8IHUgPDwgKDMyIC0gMTgpKSBeICh1ID4+PiAzKTtcbiAgICAgICAgICAgIHdbaV0gPSAodDEgKyB3W2kgLSA3XSB8IDApICsgKHQyICsgd1tpIC0gMTZdIHwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA2NDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgdDEgPSAoKCgoKGUgPj4+IDYgfCBlIDw8ICgzMiAtIDYpKSBeIChlID4+PiAxMSB8IGUgPDwgKDMyIC0gMTEpKSBeXG4gICAgICAgICAgICAgICAgKGUgPj4+IDI1IHwgZSA8PCAoMzIgLSAyNSkpKSArICgoZSAmIGYpIF4gKH5lICYgZykpKSB8IDApICtcbiAgICAgICAgICAgICAgICAoKGggKyAoKEtbaV0gKyB3W2ldKSB8IDApKSB8IDApKSB8IDA7XG4gICAgICAgICAgICB2YXIgdDIgPSAoKChhID4+PiAyIHwgYSA8PCAoMzIgLSAyKSkgXiAoYSA+Pj4gMTMgfCBhIDw8ICgzMiAtIDEzKSkgXlxuICAgICAgICAgICAgICAgIChhID4+PiAyMiB8IGEgPDwgKDMyIC0gMjIpKSkgKyAoKGEgJiBiKSBeIChhICYgYykgXiAoYiAmIGMpKSkgfCAwO1xuICAgICAgICAgICAgaCA9IGc7XG4gICAgICAgICAgICBnID0gZjtcbiAgICAgICAgICAgIGYgPSBlO1xuICAgICAgICAgICAgZSA9IChkICsgdDEpIHwgMDtcbiAgICAgICAgICAgIGQgPSBjO1xuICAgICAgICAgICAgYyA9IGI7XG4gICAgICAgICAgICBiID0gYTtcbiAgICAgICAgICAgIGEgPSAodDEgKyB0MikgfCAwO1xuICAgICAgICB9XG4gICAgICAgIHZbMF0gKz0gYTtcbiAgICAgICAgdlsxXSArPSBiO1xuICAgICAgICB2WzJdICs9IGM7XG4gICAgICAgIHZbM10gKz0gZDtcbiAgICAgICAgdls0XSArPSBlO1xuICAgICAgICB2WzVdICs9IGY7XG4gICAgICAgIHZbNl0gKz0gZztcbiAgICAgICAgdls3XSArPSBoO1xuICAgICAgICBwb3MgKz0gNjQ7XG4gICAgICAgIGxlbiAtPSA2NDtcbiAgICB9XG4gICAgcmV0dXJuIHBvcztcbn1cbmZ1bmN0aW9uIGhhc2goZGF0YSkge1xuICAgIHZhciBoID0gbmV3IFNIQTI1NigpO1xuICAgIGgudXBkYXRlKGRhdGEpO1xuICAgIHZhciBkaWdlc3QgPSBoLmRpZ2VzdCgpO1xuICAgIGguY2xlYW4oKTtcbiAgICByZXR1cm4gZGlnZXN0O1xufVxuZXhwb3J0cy5oYXNoID0gaGFzaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNoYTI1Ni5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/sha256/lib/sha256.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/wipe/lib/wipe.js": -/*!**************************************************!*\ - !*** ./node_modules/@stablelib/wipe/lib/wipe.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\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 */\nfunction wipe(array) {\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 (var i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\nexports.wipe = wipe;\n//# sourceMappingURL=wipe.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi93aXBlL2xpYi93aXBlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi93aXBlL2xpYi93aXBlLmpzP2ZhNDEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vLyBDb3B5cmlnaHQgKEMpIDIwMTYgRG1pdHJ5IENoZXN0bnlraFxuLy8gTUlUIExpY2Vuc2UuIFNlZSBMSUNFTlNFIGZpbGUgZm9yIGRldGFpbHMuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKipcbiAqIFNldHMgYWxsIHZhbHVlcyBpbiB0aGUgZ2l2ZW4gYXJyYXkgdG8gemVybyBhbmQgcmV0dXJucyBpdC5cbiAqXG4gKiBUaGUgZmFjdCB0aGF0IGl0IHNldHMgYnl0ZXMgdG8gemVybyBjYW4gYmUgcmVsaWVkIG9uLlxuICpcbiAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoaXMgZnVuY3Rpb24gbWFrZXMgZGF0YSBkaXNhcHBlYXIgZnJvbSBtZW1vcnksXG4gKiBhcyBydW50aW1lIGltcGxlbWVudGF0aW9uIGNhbiwgZm9yIGV4YW1wbGUsIGhhdmUgY29weWluZyBnYXJiYWdlIGNvbGxlY3RvclxuICogdGhhdCB3aWxsIG1ha2UgY29waWVzIG9mIHNlbnNpdGl2ZSBkYXRhIGJlZm9yZSB3ZSB3aXBlIGl0LiBPciB0aGF0IGFuXG4gKiBvcGVyYXRpbmcgc3lzdGVtIHdpbGwgd3JpdGUgb3VyIGRhdGEgdG8gc3dhcCBvciBzbGVlcCBpbWFnZS4gQW5vdGhlciB0aGluZ1xuICogaXMgdGhhdCBhbiBvcHRpbWl6aW5nIGNvbXBpbGVyIGNhbiByZW1vdmUgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiBvciBtYWtlIGl0XG4gKiBuby1vcC4gVGhlcmUncyBub3RoaW5nIHdlIGNhbiBkbyB3aXRoIGl0LCBzbyB3ZSBqdXN0IGRvIG91ciBiZXN0IGFuZCBob3BlXG4gKiB0aGF0IGV2ZXJ5dGhpbmcgd2lsbCBiZSBva2F5IGFuZCBnb29kIHdpbGwgdHJpdW1waCBvdmVyIGV2aWwuXG4gKi9cbmZ1bmN0aW9uIHdpcGUoYXJyYXkpIHtcbiAgICAvLyBSaWdodCBub3cgaXQncyBzaW1pbGFyIHRvIGFycmF5LmZpbGwoMCkuIElmIGl0IHR1cm5zXG4gICAgLy8gb3V0IHRoYXQgcnVudGltZXMgb3B0aW1pemUgdGhpcyBjYWxsIGF3YXksIG1heWJlXG4gICAgLy8gd2UgY2FuIHRyeSBzb21ldGhpbmcgZWxzZS5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGFycmF5W2ldID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xufVxuZXhwb3J0cy53aXBlID0gd2lwZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpcGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/wipe/lib/wipe.js\n")); - -/***/ }), - -/***/ "./node_modules/@stablelib/x25519/lib/x25519.js": -/*!******************************************************!*\ - !*** ./node_modules/@stablelib/x25519/lib/x25519.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sharedKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.scalarMultBase = exports.scalarMult = exports.SHARED_KEY_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = void 0;\n/**\n * Package x25519 implements X25519 key agreement.\n */\nconst random_1 = __webpack_require__(/*! @stablelib/random */ \"./node_modules/@stablelib/random/lib/random.js\");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ \"./node_modules/@stablelib/wipe/lib/wipe.js\");\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 32;\nexports.SHARED_KEY_LENGTH = 32;\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) {\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// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst _121665 = gf([0xdb41, 1]);\nfunction car25519(o) {\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}\nfunction sel25519(p, q, b) {\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}\nfunction pack25519(o, n) {\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}\nfunction unpack25519(o, n) {\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}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\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 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 // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\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}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, inp) {\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}\nfunction scalarMult(n, p) {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\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 unpack25519(x, p);\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n a[0] = d[0] = 1;\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}\nexports.scalarMult = scalarMult;\nfunction scalarMultBase(n) {\n return scalarMult(n, _9);\n}\nexports.scalarMultBase = scalarMultBase;\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\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 */\nfunction sharedKey(mySecretKey, theirPublicKey, rejectZero = false) {\n if (mySecretKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n const result = scalarMult(mySecretKey, theirPublicKey);\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 return result;\n}\nexports.sharedKey = sharedKey;\n//# sourceMappingURL=x25519.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi94MjU1MTkvbGliL3gyNTUxOS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCLEdBQUcsdUJBQXVCLEdBQUcsK0JBQStCLEdBQUcsc0JBQXNCLEdBQUcsa0JBQWtCLEdBQUcseUJBQXlCLEdBQUcseUJBQXlCLEdBQUcseUJBQXlCO0FBQy9NO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixtQkFBTyxDQUFDLHlFQUFtQjtBQUM1QyxlQUFlLG1CQUFPLENBQUMsbUVBQWlCO0FBQ3hDLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQkFBaUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixPQUFPO0FBQzNCO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0Esc0JBQXNCLFFBQVE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixRQUFRO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0EsZ0RBQWdELDJCQUEyQjtBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixtQkFBbUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHN0YWJsZWxpYi94MjU1MTkvbGliL3gyNTUxOS5qcz9iODQ4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuLy8gQ29weXJpZ2h0IChDKSAyMDE2IERtaXRyeSBDaGVzdG55a2hcbi8vIE1JVCBMaWNlbnNlLiBTZWUgTElDRU5TRSBmaWxlIGZvciBkZXRhaWxzLlxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zaGFyZWRLZXkgPSBleHBvcnRzLmdlbmVyYXRlS2V5UGFpciA9IGV4cG9ydHMuZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQgPSBleHBvcnRzLnNjYWxhck11bHRCYXNlID0gZXhwb3J0cy5zY2FsYXJNdWx0ID0gZXhwb3J0cy5TSEFSRURfS0VZX0xFTkdUSCA9IGV4cG9ydHMuU0VDUkVUX0tFWV9MRU5HVEggPSBleHBvcnRzLlBVQkxJQ19LRVlfTEVOR1RIID0gdm9pZCAwO1xuLyoqXG4gKiBQYWNrYWdlIHgyNTUxOSBpbXBsZW1lbnRzIFgyNTUxOSBrZXkgYWdyZWVtZW50LlxuICovXG5jb25zdCByYW5kb21fMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL3JhbmRvbVwiKTtcbmNvbnN0IHdpcGVfMSA9IHJlcXVpcmUoXCJAc3RhYmxlbGliL3dpcGVcIik7XG5leHBvcnRzLlBVQkxJQ19LRVlfTEVOR1RIID0gMzI7XG5leHBvcnRzLlNFQ1JFVF9LRVlfTEVOR1RIID0gMzI7XG5leHBvcnRzLlNIQVJFRF9LRVlfTEVOR1RIID0gMzI7XG4vLyBSZXR1cm5zIG5ldyB6ZXJvLWZpbGxlZCAxNi1lbGVtZW50IEdGIChGbG9hdDY0QXJyYXkpLlxuLy8gSWYgcGFzc2VkIGFuIGFycmF5IG9mIG51bWJlcnMsIHByZWZpbGxzIHRoZSByZXR1cm5lZFxuLy8gYXJyYXkgd2l0aCB0aGVtLlxuLy9cbi8vIFdlIHVzZSBGbG9hdDY0QXJyYXksIGJlY2F1c2Ugd2UgbmVlZCA0OC1iaXQgbnVtYmVyc1xuLy8gZm9yIHRoaXMgaW1wbGVtZW50YXRpb24uXG5mdW5jdGlvbiBnZihpbml0KSB7XG4gICAgY29uc3QgciA9IG5ldyBGbG9hdDY0QXJyYXkoMTYpO1xuICAgIGlmIChpbml0KSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5pdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcltpXSA9IGluaXRbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHI7XG59XG4vLyBCYXNlIHBvaW50LlxuY29uc3QgXzkgPSBuZXcgVWludDhBcnJheSgzMik7XG5fOVswXSA9IDk7XG5jb25zdCBfMTIxNjY1ID0gZ2YoWzB4ZGI0MSwgMV0pO1xuZnVuY3Rpb24gY2FyMjU1MTkobykge1xuICAgIGxldCBjID0gMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgbGV0IHYgPSBvW2ldICsgYyArIDY1NTM1O1xuICAgICAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgICAgICBvW2ldID0gdiAtIGMgKiA2NTUzNjtcbiAgICB9XG4gICAgb1swXSArPSBjIC0gMSArIDM3ICogKGMgLSAxKTtcbn1cbmZ1bmN0aW9uIHNlbDI1NTE5KHAsIHEsIGIpIHtcbiAgICBjb25zdCBjID0gfihiIC0gMSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHQgPSBjICYgKHBbaV0gXiBxW2ldKTtcbiAgICAgICAgcFtpXSBePSB0O1xuICAgICAgICBxW2ldIF49IHQ7XG4gICAgfVxufVxuZnVuY3Rpb24gcGFjazI1NTE5KG8sIG4pIHtcbiAgICBjb25zdCBtID0gZ2YoKTtcbiAgICBjb25zdCB0ID0gZ2YoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgdFtpXSA9IG5baV07XG4gICAgfVxuICAgIGNhcjI1NTE5KHQpO1xuICAgIGNhcjI1NTE5KHQpO1xuICAgIGNhcjI1NTE5KHQpO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgMjsgaisrKSB7XG4gICAgICAgIG1bMF0gPSB0WzBdIC0gMHhmZmVkO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IDE1OyBpKyspIHtcbiAgICAgICAgICAgIG1baV0gPSB0W2ldIC0gMHhmZmZmIC0gKChtW2kgLSAxXSA+PiAxNikgJiAxKTtcbiAgICAgICAgICAgIG1baSAtIDFdICY9IDB4ZmZmZjtcbiAgICAgICAgfVxuICAgICAgICBtWzE1XSA9IHRbMTVdIC0gMHg3ZmZmIC0gKChtWzE0XSA+PiAxNikgJiAxKTtcbiAgICAgICAgY29uc3QgYiA9IChtWzE1XSA+PiAxNikgJiAxO1xuICAgICAgICBtWzE0XSAmPSAweGZmZmY7XG4gICAgICAgIHNlbDI1NTE5KHQsIG0sIDEgLSBiKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIG9bMiAqIGldID0gdFtpXSAmIDB4ZmY7XG4gICAgICAgIG9bMiAqIGkgKyAxXSA9IHRbaV0gPj4gODtcbiAgICB9XG59XG5mdW5jdGlvbiB1bnBhY2syNTUxOShvLCBuKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIG9baV0gPSBuWzIgKiBpXSArIChuWzIgKiBpICsgMV0gPDwgOCk7XG4gICAgfVxuICAgIG9bMTVdICY9IDB4N2ZmZjtcbn1cbmZ1bmN0aW9uIGFkZChvLCBhLCBiKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIG9baV0gPSBhW2ldICsgYltpXTtcbiAgICB9XG59XG5mdW5jdGlvbiBzdWIobywgYSwgYikge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICBvW2ldID0gYVtpXSAtIGJbaV07XG4gICAgfVxufVxuZnVuY3Rpb24gbXVsKG8sIGEsIGIpIHtcbiAgICBsZXQgdiwgYywgdDAgPSAwLCB0MSA9IDAsIHQyID0gMCwgdDMgPSAwLCB0NCA9IDAsIHQ1ID0gMCwgdDYgPSAwLCB0NyA9IDAsIHQ4ID0gMCwgdDkgPSAwLCB0MTAgPSAwLCB0MTEgPSAwLCB0MTIgPSAwLCB0MTMgPSAwLCB0MTQgPSAwLCB0MTUgPSAwLCB0MTYgPSAwLCB0MTcgPSAwLCB0MTggPSAwLCB0MTkgPSAwLCB0MjAgPSAwLCB0MjEgPSAwLCB0MjIgPSAwLCB0MjMgPSAwLCB0MjQgPSAwLCB0MjUgPSAwLCB0MjYgPSAwLCB0MjcgPSAwLCB0MjggPSAwLCB0MjkgPSAwLCB0MzAgPSAwLCBiMCA9IGJbMF0sIGIxID0gYlsxXSwgYjIgPSBiWzJdLCBiMyA9IGJbM10sIGI0ID0gYls0XSwgYjUgPSBiWzVdLCBiNiA9IGJbNl0sIGI3ID0gYls3XSwgYjggPSBiWzhdLCBiOSA9IGJbOV0sIGIxMCA9IGJbMTBdLCBiMTEgPSBiWzExXSwgYjEyID0gYlsxMl0sIGIxMyA9IGJbMTNdLCBiMTQgPSBiWzE0XSwgYjE1ID0gYlsxNV07XG4gICAgdiA9IGFbMF07XG4gICAgdDAgKz0gdiAqIGIwO1xuICAgIHQxICs9IHYgKiBiMTtcbiAgICB0MiArPSB2ICogYjI7XG4gICAgdDMgKz0gdiAqIGIzO1xuICAgIHQ0ICs9IHYgKiBiNDtcbiAgICB0NSArPSB2ICogYjU7XG4gICAgdDYgKz0gdiAqIGI2O1xuICAgIHQ3ICs9IHYgKiBiNztcbiAgICB0OCArPSB2ICogYjg7XG4gICAgdDkgKz0gdiAqIGI5O1xuICAgIHQxMCArPSB2ICogYjEwO1xuICAgIHQxMSArPSB2ICogYjExO1xuICAgIHQxMiArPSB2ICogYjEyO1xuICAgIHQxMyArPSB2ICogYjEzO1xuICAgIHQxNCArPSB2ICogYjE0O1xuICAgIHQxNSArPSB2ICogYjE1O1xuICAgIHYgPSBhWzFdO1xuICAgIHQxICs9IHYgKiBiMDtcbiAgICB0MiArPSB2ICogYjE7XG4gICAgdDMgKz0gdiAqIGIyO1xuICAgIHQ0ICs9IHYgKiBiMztcbiAgICB0NSArPSB2ICogYjQ7XG4gICAgdDYgKz0gdiAqIGI1O1xuICAgIHQ3ICs9IHYgKiBiNjtcbiAgICB0OCArPSB2ICogYjc7XG4gICAgdDkgKz0gdiAqIGI4O1xuICAgIHQxMCArPSB2ICogYjk7XG4gICAgdDExICs9IHYgKiBiMTA7XG4gICAgdDEyICs9IHYgKiBiMTE7XG4gICAgdDEzICs9IHYgKiBiMTI7XG4gICAgdDE0ICs9IHYgKiBiMTM7XG4gICAgdDE1ICs9IHYgKiBiMTQ7XG4gICAgdDE2ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbMl07XG4gICAgdDIgKz0gdiAqIGIwO1xuICAgIHQzICs9IHYgKiBiMTtcbiAgICB0NCArPSB2ICogYjI7XG4gICAgdDUgKz0gdiAqIGIzO1xuICAgIHQ2ICs9IHYgKiBiNDtcbiAgICB0NyArPSB2ICogYjU7XG4gICAgdDggKz0gdiAqIGI2O1xuICAgIHQ5ICs9IHYgKiBiNztcbiAgICB0MTAgKz0gdiAqIGI4O1xuICAgIHQxMSArPSB2ICogYjk7XG4gICAgdDEyICs9IHYgKiBiMTA7XG4gICAgdDEzICs9IHYgKiBiMTE7XG4gICAgdDE0ICs9IHYgKiBiMTI7XG4gICAgdDE1ICs9IHYgKiBiMTM7XG4gICAgdDE2ICs9IHYgKiBiMTQ7XG4gICAgdDE3ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbM107XG4gICAgdDMgKz0gdiAqIGIwO1xuICAgIHQ0ICs9IHYgKiBiMTtcbiAgICB0NSArPSB2ICogYjI7XG4gICAgdDYgKz0gdiAqIGIzO1xuICAgIHQ3ICs9IHYgKiBiNDtcbiAgICB0OCArPSB2ICogYjU7XG4gICAgdDkgKz0gdiAqIGI2O1xuICAgIHQxMCArPSB2ICogYjc7XG4gICAgdDExICs9IHYgKiBiODtcbiAgICB0MTIgKz0gdiAqIGI5O1xuICAgIHQxMyArPSB2ICogYjEwO1xuICAgIHQxNCArPSB2ICogYjExO1xuICAgIHQxNSArPSB2ICogYjEyO1xuICAgIHQxNiArPSB2ICogYjEzO1xuICAgIHQxNyArPSB2ICogYjE0O1xuICAgIHQxOCArPSB2ICogYjE1O1xuICAgIHYgPSBhWzRdO1xuICAgIHQ0ICs9IHYgKiBiMDtcbiAgICB0NSArPSB2ICogYjE7XG4gICAgdDYgKz0gdiAqIGIyO1xuICAgIHQ3ICs9IHYgKiBiMztcbiAgICB0OCArPSB2ICogYjQ7XG4gICAgdDkgKz0gdiAqIGI1O1xuICAgIHQxMCArPSB2ICogYjY7XG4gICAgdDExICs9IHYgKiBiNztcbiAgICB0MTIgKz0gdiAqIGI4O1xuICAgIHQxMyArPSB2ICogYjk7XG4gICAgdDE0ICs9IHYgKiBiMTA7XG4gICAgdDE1ICs9IHYgKiBiMTE7XG4gICAgdDE2ICs9IHYgKiBiMTI7XG4gICAgdDE3ICs9IHYgKiBiMTM7XG4gICAgdDE4ICs9IHYgKiBiMTQ7XG4gICAgdDE5ICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbNV07XG4gICAgdDUgKz0gdiAqIGIwO1xuICAgIHQ2ICs9IHYgKiBiMTtcbiAgICB0NyArPSB2ICogYjI7XG4gICAgdDggKz0gdiAqIGIzO1xuICAgIHQ5ICs9IHYgKiBiNDtcbiAgICB0MTAgKz0gdiAqIGI1O1xuICAgIHQxMSArPSB2ICogYjY7XG4gICAgdDEyICs9IHYgKiBiNztcbiAgICB0MTMgKz0gdiAqIGI4O1xuICAgIHQxNCArPSB2ICogYjk7XG4gICAgdDE1ICs9IHYgKiBiMTA7XG4gICAgdDE2ICs9IHYgKiBiMTE7XG4gICAgdDE3ICs9IHYgKiBiMTI7XG4gICAgdDE4ICs9IHYgKiBiMTM7XG4gICAgdDE5ICs9IHYgKiBiMTQ7XG4gICAgdDIwICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbNl07XG4gICAgdDYgKz0gdiAqIGIwO1xuICAgIHQ3ICs9IHYgKiBiMTtcbiAgICB0OCArPSB2ICogYjI7XG4gICAgdDkgKz0gdiAqIGIzO1xuICAgIHQxMCArPSB2ICogYjQ7XG4gICAgdDExICs9IHYgKiBiNTtcbiAgICB0MTIgKz0gdiAqIGI2O1xuICAgIHQxMyArPSB2ICogYjc7XG4gICAgdDE0ICs9IHYgKiBiODtcbiAgICB0MTUgKz0gdiAqIGI5O1xuICAgIHQxNiArPSB2ICogYjEwO1xuICAgIHQxNyArPSB2ICogYjExO1xuICAgIHQxOCArPSB2ICogYjEyO1xuICAgIHQxOSArPSB2ICogYjEzO1xuICAgIHQyMCArPSB2ICogYjE0O1xuICAgIHQyMSArPSB2ICogYjE1O1xuICAgIHYgPSBhWzddO1xuICAgIHQ3ICs9IHYgKiBiMDtcbiAgICB0OCArPSB2ICogYjE7XG4gICAgdDkgKz0gdiAqIGIyO1xuICAgIHQxMCArPSB2ICogYjM7XG4gICAgdDExICs9IHYgKiBiNDtcbiAgICB0MTIgKz0gdiAqIGI1O1xuICAgIHQxMyArPSB2ICogYjY7XG4gICAgdDE0ICs9IHYgKiBiNztcbiAgICB0MTUgKz0gdiAqIGI4O1xuICAgIHQxNiArPSB2ICogYjk7XG4gICAgdDE3ICs9IHYgKiBiMTA7XG4gICAgdDE4ICs9IHYgKiBiMTE7XG4gICAgdDE5ICs9IHYgKiBiMTI7XG4gICAgdDIwICs9IHYgKiBiMTM7XG4gICAgdDIxICs9IHYgKiBiMTQ7XG4gICAgdDIyICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbOF07XG4gICAgdDggKz0gdiAqIGIwO1xuICAgIHQ5ICs9IHYgKiBiMTtcbiAgICB0MTAgKz0gdiAqIGIyO1xuICAgIHQxMSArPSB2ICogYjM7XG4gICAgdDEyICs9IHYgKiBiNDtcbiAgICB0MTMgKz0gdiAqIGI1O1xuICAgIHQxNCArPSB2ICogYjY7XG4gICAgdDE1ICs9IHYgKiBiNztcbiAgICB0MTYgKz0gdiAqIGI4O1xuICAgIHQxNyArPSB2ICogYjk7XG4gICAgdDE4ICs9IHYgKiBiMTA7XG4gICAgdDE5ICs9IHYgKiBiMTE7XG4gICAgdDIwICs9IHYgKiBiMTI7XG4gICAgdDIxICs9IHYgKiBiMTM7XG4gICAgdDIyICs9IHYgKiBiMTQ7XG4gICAgdDIzICs9IHYgKiBiMTU7XG4gICAgdiA9IGFbOV07XG4gICAgdDkgKz0gdiAqIGIwO1xuICAgIHQxMCArPSB2ICogYjE7XG4gICAgdDExICs9IHYgKiBiMjtcbiAgICB0MTIgKz0gdiAqIGIzO1xuICAgIHQxMyArPSB2ICogYjQ7XG4gICAgdDE0ICs9IHYgKiBiNTtcbiAgICB0MTUgKz0gdiAqIGI2O1xuICAgIHQxNiArPSB2ICogYjc7XG4gICAgdDE3ICs9IHYgKiBiODtcbiAgICB0MTggKz0gdiAqIGI5O1xuICAgIHQxOSArPSB2ICogYjEwO1xuICAgIHQyMCArPSB2ICogYjExO1xuICAgIHQyMSArPSB2ICogYjEyO1xuICAgIHQyMiArPSB2ICogYjEzO1xuICAgIHQyMyArPSB2ICogYjE0O1xuICAgIHQyNCArPSB2ICogYjE1O1xuICAgIHYgPSBhWzEwXTtcbiAgICB0MTAgKz0gdiAqIGIwO1xuICAgIHQxMSArPSB2ICogYjE7XG4gICAgdDEyICs9IHYgKiBiMjtcbiAgICB0MTMgKz0gdiAqIGIzO1xuICAgIHQxNCArPSB2ICogYjQ7XG4gICAgdDE1ICs9IHYgKiBiNTtcbiAgICB0MTYgKz0gdiAqIGI2O1xuICAgIHQxNyArPSB2ICogYjc7XG4gICAgdDE4ICs9IHYgKiBiODtcbiAgICB0MTkgKz0gdiAqIGI5O1xuICAgIHQyMCArPSB2ICogYjEwO1xuICAgIHQyMSArPSB2ICogYjExO1xuICAgIHQyMiArPSB2ICogYjEyO1xuICAgIHQyMyArPSB2ICogYjEzO1xuICAgIHQyNCArPSB2ICogYjE0O1xuICAgIHQyNSArPSB2ICogYjE1O1xuICAgIHYgPSBhWzExXTtcbiAgICB0MTEgKz0gdiAqIGIwO1xuICAgIHQxMiArPSB2ICogYjE7XG4gICAgdDEzICs9IHYgKiBiMjtcbiAgICB0MTQgKz0gdiAqIGIzO1xuICAgIHQxNSArPSB2ICogYjQ7XG4gICAgdDE2ICs9IHYgKiBiNTtcbiAgICB0MTcgKz0gdiAqIGI2O1xuICAgIHQxOCArPSB2ICogYjc7XG4gICAgdDE5ICs9IHYgKiBiODtcbiAgICB0MjAgKz0gdiAqIGI5O1xuICAgIHQyMSArPSB2ICogYjEwO1xuICAgIHQyMiArPSB2ICogYjExO1xuICAgIHQyMyArPSB2ICogYjEyO1xuICAgIHQyNCArPSB2ICogYjEzO1xuICAgIHQyNSArPSB2ICogYjE0O1xuICAgIHQyNiArPSB2ICogYjE1O1xuICAgIHYgPSBhWzEyXTtcbiAgICB0MTIgKz0gdiAqIGIwO1xuICAgIHQxMyArPSB2ICogYjE7XG4gICAgdDE0ICs9IHYgKiBiMjtcbiAgICB0MTUgKz0gdiAqIGIzO1xuICAgIHQxNiArPSB2ICogYjQ7XG4gICAgdDE3ICs9IHYgKiBiNTtcbiAgICB0MTggKz0gdiAqIGI2O1xuICAgIHQxOSArPSB2ICogYjc7XG4gICAgdDIwICs9IHYgKiBiODtcbiAgICB0MjEgKz0gdiAqIGI5O1xuICAgIHQyMiArPSB2ICogYjEwO1xuICAgIHQyMyArPSB2ICogYjExO1xuICAgIHQyNCArPSB2ICogYjEyO1xuICAgIHQyNSArPSB2ICogYjEzO1xuICAgIHQyNiArPSB2ICogYjE0O1xuICAgIHQyNyArPSB2ICogYjE1O1xuICAgIHYgPSBhWzEzXTtcbiAgICB0MTMgKz0gdiAqIGIwO1xuICAgIHQxNCArPSB2ICogYjE7XG4gICAgdDE1ICs9IHYgKiBiMjtcbiAgICB0MTYgKz0gdiAqIGIzO1xuICAgIHQxNyArPSB2ICogYjQ7XG4gICAgdDE4ICs9IHYgKiBiNTtcbiAgICB0MTkgKz0gdiAqIGI2O1xuICAgIHQyMCArPSB2ICogYjc7XG4gICAgdDIxICs9IHYgKiBiODtcbiAgICB0MjIgKz0gdiAqIGI5O1xuICAgIHQyMyArPSB2ICogYjEwO1xuICAgIHQyNCArPSB2ICogYjExO1xuICAgIHQyNSArPSB2ICogYjEyO1xuICAgIHQyNiArPSB2ICogYjEzO1xuICAgIHQyNyArPSB2ICogYjE0O1xuICAgIHQyOCArPSB2ICogYjE1O1xuICAgIHYgPSBhWzE0XTtcbiAgICB0MTQgKz0gdiAqIGIwO1xuICAgIHQxNSArPSB2ICogYjE7XG4gICAgdDE2ICs9IHYgKiBiMjtcbiAgICB0MTcgKz0gdiAqIGIzO1xuICAgIHQxOCArPSB2ICogYjQ7XG4gICAgdDE5ICs9IHYgKiBiNTtcbiAgICB0MjAgKz0gdiAqIGI2O1xuICAgIHQyMSArPSB2ICogYjc7XG4gICAgdDIyICs9IHYgKiBiODtcbiAgICB0MjMgKz0gdiAqIGI5O1xuICAgIHQyNCArPSB2ICogYjEwO1xuICAgIHQyNSArPSB2ICogYjExO1xuICAgIHQyNiArPSB2ICogYjEyO1xuICAgIHQyNyArPSB2ICogYjEzO1xuICAgIHQyOCArPSB2ICogYjE0O1xuICAgIHQyOSArPSB2ICogYjE1O1xuICAgIHYgPSBhWzE1XTtcbiAgICB0MTUgKz0gdiAqIGIwO1xuICAgIHQxNiArPSB2ICogYjE7XG4gICAgdDE3ICs9IHYgKiBiMjtcbiAgICB0MTggKz0gdiAqIGIzO1xuICAgIHQxOSArPSB2ICogYjQ7XG4gICAgdDIwICs9IHYgKiBiNTtcbiAgICB0MjEgKz0gdiAqIGI2O1xuICAgIHQyMiArPSB2ICogYjc7XG4gICAgdDIzICs9IHYgKiBiODtcbiAgICB0MjQgKz0gdiAqIGI5O1xuICAgIHQyNSArPSB2ICogYjEwO1xuICAgIHQyNiArPSB2ICogYjExO1xuICAgIHQyNyArPSB2ICogYjEyO1xuICAgIHQyOCArPSB2ICogYjEzO1xuICAgIHQyOSArPSB2ICogYjE0O1xuICAgIHQzMCArPSB2ICogYjE1O1xuICAgIHQwICs9IDM4ICogdDE2O1xuICAgIHQxICs9IDM4ICogdDE3O1xuICAgIHQyICs9IDM4ICogdDE4O1xuICAgIHQzICs9IDM4ICogdDE5O1xuICAgIHQ0ICs9IDM4ICogdDIwO1xuICAgIHQ1ICs9IDM4ICogdDIxO1xuICAgIHQ2ICs9IDM4ICogdDIyO1xuICAgIHQ3ICs9IDM4ICogdDIzO1xuICAgIHQ4ICs9IDM4ICogdDI0O1xuICAgIHQ5ICs9IDM4ICogdDI1O1xuICAgIHQxMCArPSAzOCAqIHQyNjtcbiAgICB0MTEgKz0gMzggKiB0Mjc7XG4gICAgdDEyICs9IDM4ICogdDI4O1xuICAgIHQxMyArPSAzOCAqIHQyOTtcbiAgICB0MTQgKz0gMzggKiB0MzA7XG4gICAgLy8gdDE1IGxlZnQgYXMgaXNcbiAgICAvLyBmaXJzdCBjYXJcbiAgICBjID0gMTtcbiAgICB2ID0gdDAgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MCA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MiArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQyID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDMgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MyA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ0ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDQgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0NSArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ1ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDYgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0NiA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ3ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDcgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0OCArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ4ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDkgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0OSA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxMCArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxMCA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxMSArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxMSA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxMiArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxMiA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxMyArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxMyA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxNCArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxNCA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQxNSArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQxNSA9IHYgLSBjICogNjU1MzY7XG4gICAgdDAgKz0gYyAtIDEgKyAzNyAqIChjIC0gMSk7XG4gICAgLy8gc2Vjb25kIGNhclxuICAgIGMgPSAxO1xuICAgIHYgPSB0MCArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQwID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0MSA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQyICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDIgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0MyArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQzID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDQgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0NCA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ1ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDUgPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0NiArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ2ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDcgKyBjICsgNjU1MzU7XG4gICAgYyA9IE1hdGguZmxvb3IodiAvIDY1NTM2KTtcbiAgICB0NyA9IHYgLSBjICogNjU1MzY7XG4gICAgdiA9IHQ4ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDggPSB2IC0gYyAqIDY1NTM2O1xuICAgIHYgPSB0OSArIGMgKyA2NTUzNTtcbiAgICBjID0gTWF0aC5mbG9vcih2IC8gNjU1MzYpO1xuICAgIHQ5ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEwICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEwID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDExICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDExID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEyICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEyID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDEzICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDEzID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDE0ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDE0ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB2ID0gdDE1ICsgYyArIDY1NTM1O1xuICAgIGMgPSBNYXRoLmZsb29yKHYgLyA2NTUzNik7XG4gICAgdDE1ID0gdiAtIGMgKiA2NTUzNjtcbiAgICB0MCArPSBjIC0gMSArIDM3ICogKGMgLSAxKTtcbiAgICBvWzBdID0gdDA7XG4gICAgb1sxXSA9IHQxO1xuICAgIG9bMl0gPSB0MjtcbiAgICBvWzNdID0gdDM7XG4gICAgb1s0XSA9IHQ0O1xuICAgIG9bNV0gPSB0NTtcbiAgICBvWzZdID0gdDY7XG4gICAgb1s3XSA9IHQ3O1xuICAgIG9bOF0gPSB0ODtcbiAgICBvWzldID0gdDk7XG4gICAgb1sxMF0gPSB0MTA7XG4gICAgb1sxMV0gPSB0MTE7XG4gICAgb1sxMl0gPSB0MTI7XG4gICAgb1sxM10gPSB0MTM7XG4gICAgb1sxNF0gPSB0MTQ7XG4gICAgb1sxNV0gPSB0MTU7XG59XG5mdW5jdGlvbiBzcXVhcmUobywgYSkge1xuICAgIG11bChvLCBhLCBhKTtcbn1cbmZ1bmN0aW9uIGludjI1NTE5KG8sIGlucCkge1xuICAgIGNvbnN0IGMgPSBnZigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICBjW2ldID0gaW5wW2ldO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMjUzOyBpID49IDA7IGktLSkge1xuICAgICAgICBzcXVhcmUoYywgYyk7XG4gICAgICAgIGlmIChpICE9PSAyICYmIGkgIT09IDQpIHtcbiAgICAgICAgICAgIG11bChjLCBjLCBpbnApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICBvW2ldID0gY1tpXTtcbiAgICB9XG59XG5mdW5jdGlvbiBzY2FsYXJNdWx0KG4sIHApIHtcbiAgICBjb25zdCB6ID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuICAgIGNvbnN0IHggPSBuZXcgRmxvYXQ2NEFycmF5KDgwKTtcbiAgICBjb25zdCBhID0gZ2YoKSwgYiA9IGdmKCksIGMgPSBnZigpLCBkID0gZ2YoKSwgZSA9IGdmKCksIGYgPSBnZigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzE7IGkrKykge1xuICAgICAgICB6W2ldID0gbltpXTtcbiAgICB9XG4gICAgelszMV0gPSAoblszMV0gJiAxMjcpIHwgNjQ7XG4gICAgelswXSAmPSAyNDg7XG4gICAgdW5wYWNrMjU1MTkoeCwgcCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgIGJbaV0gPSB4W2ldO1xuICAgIH1cbiAgICBhWzBdID0gZFswXSA9IDE7XG4gICAgZm9yIChsZXQgaSA9IDI1NDsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgY29uc3QgciA9ICh6W2kgPj4+IDNdID4+PiAoaSAmIDcpKSAmIDE7XG4gICAgICAgIHNlbDI1NTE5KGEsIGIsIHIpO1xuICAgICAgICBzZWwyNTUxOShjLCBkLCByKTtcbiAgICAgICAgYWRkKGUsIGEsIGMpO1xuICAgICAgICBzdWIoYSwgYSwgYyk7XG4gICAgICAgIGFkZChjLCBiLCBkKTtcbiAgICAgICAgc3ViKGIsIGIsIGQpO1xuICAgICAgICBzcXVhcmUoZCwgZSk7XG4gICAgICAgIHNxdWFyZShmLCBhKTtcbiAgICAgICAgbXVsKGEsIGMsIGEpO1xuICAgICAgICBtdWwoYywgYiwgZSk7XG4gICAgICAgIGFkZChlLCBhLCBjKTtcbiAgICAgICAgc3ViKGEsIGEsIGMpO1xuICAgICAgICBzcXVhcmUoYiwgYSk7XG4gICAgICAgIHN1YihjLCBkLCBmKTtcbiAgICAgICAgbXVsKGEsIGMsIF8xMjE2NjUpO1xuICAgICAgICBhZGQoYSwgYSwgZCk7XG4gICAgICAgIG11bChjLCBjLCBhKTtcbiAgICAgICAgbXVsKGEsIGQsIGYpO1xuICAgICAgICBtdWwoZCwgYiwgeCk7XG4gICAgICAgIHNxdWFyZShiLCBlKTtcbiAgICAgICAgc2VsMjU1MTkoYSwgYiwgcik7XG4gICAgICAgIHNlbDI1NTE5KGMsIGQsIHIpO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgeFtpICsgMTZdID0gYVtpXTtcbiAgICAgICAgeFtpICsgMzJdID0gY1tpXTtcbiAgICAgICAgeFtpICsgNDhdID0gYltpXTtcbiAgICAgICAgeFtpICsgNjRdID0gZFtpXTtcbiAgICB9XG4gICAgY29uc3QgeDMyID0geC5zdWJhcnJheSgzMik7XG4gICAgY29uc3QgeDE2ID0geC5zdWJhcnJheSgxNik7XG4gICAgaW52MjU1MTkoeDMyLCB4MzIpO1xuICAgIG11bCh4MTYsIHgxNiwgeDMyKTtcbiAgICBjb25zdCBxID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuICAgIHBhY2syNTUxOShxLCB4MTYpO1xuICAgIHJldHVybiBxO1xufVxuZXhwb3J0cy5zY2FsYXJNdWx0ID0gc2NhbGFyTXVsdDtcbmZ1bmN0aW9uIHNjYWxhck11bHRCYXNlKG4pIHtcbiAgICByZXR1cm4gc2NhbGFyTXVsdChuLCBfOSk7XG59XG5leHBvcnRzLnNjYWxhck11bHRCYXNlID0gc2NhbGFyTXVsdEJhc2U7XG5mdW5jdGlvbiBnZW5lcmF0ZUtleVBhaXJGcm9tU2VlZChzZWVkKSB7XG4gICAgaWYgKHNlZWQubGVuZ3RoICE9PSBleHBvcnRzLlNFQ1JFVF9LRVlfTEVOR1RIKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgeDI1NTE5OiBzZWVkIG11c3QgYmUgJHtleHBvcnRzLlNFQ1JFVF9LRVlfTEVOR1RIfSBieXRlc2ApO1xuICAgIH1cbiAgICBjb25zdCBzZWNyZXRLZXkgPSBuZXcgVWludDhBcnJheShzZWVkKTtcbiAgICBjb25zdCBwdWJsaWNLZXkgPSBzY2FsYXJNdWx0QmFzZShzZWNyZXRLZXkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHB1YmxpY0tleSxcbiAgICAgICAgc2VjcmV0S2V5XG4gICAgfTtcbn1cbmV4cG9ydHMuZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQgPSBnZW5lcmF0ZUtleVBhaXJGcm9tU2VlZDtcbmZ1bmN0aW9uIGdlbmVyYXRlS2V5UGFpcihwcm5nKSB7XG4gICAgY29uc3Qgc2VlZCA9ICgwLCByYW5kb21fMS5yYW5kb21CeXRlcykoMzIsIHBybmcpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGdlbmVyYXRlS2V5UGFpckZyb21TZWVkKHNlZWQpO1xuICAgICgwLCB3aXBlXzEud2lwZSkoc2VlZCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydHMuZ2VuZXJhdGVLZXlQYWlyID0gZ2VuZXJhdGVLZXlQYWlyO1xuLyoqXG4gKiBSZXR1cm5zIGEgc2hhcmVkIGtleSBiZXR3ZWVuIG91ciBzZWNyZXQga2V5IGFuZCBhIHBlZXIncyBwdWJsaWMga2V5LlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgZ2l2ZW4ga2V5cyBhcmUgb2Ygd3JvbmcgbGVuZ3RoLlxuICpcbiAqIElmIHJlamVjdFplcm8gaXMgdHJ1ZSB0aHJvd3MgaWYgdGhlIGNhbGN1bGF0ZWQgc2hhcmVkIGtleSBpcyBhbGwtemVyby5cbiAqIEZyb20gUkZDIDc3NDg6XG4gKlxuICogPiBQcm90b2NvbCBkZXNpZ25lcnMgdXNpbmcgRGlmZmllLUhlbGxtYW4gb3ZlciB0aGUgY3VydmVzIGRlZmluZWQgaW5cbiAqID4gdGhpcyBkb2N1bWVudCBtdXN0IG5vdCBhc3N1bWUgXCJjb250cmlidXRvcnkgYmVoYXZpb3JcIi4gIFNwZWNpYWxseSxcbiAqID4gY29udHJpYnV0b3J5IGJlaGF2aW9yIG1lYW5zIHRoYXQgYm90aCBwYXJ0aWVzJyBwcml2YXRlIGtleXNcbiAqID4gY29udHJpYnV0ZSB0byB0aGUgcmVzdWx0aW5nIHNoYXJlZCBrZXkuICBTaW5jZSBjdXJ2ZTI1NTE5IGFuZFxuICogPiBjdXJ2ZTQ0OCBoYXZlIGNvZmFjdG9ycyBvZiA4IGFuZCA0IChyZXNwZWN0aXZlbHkpLCBhbiBpbnB1dCBwb2ludCBvZlxuICogPiBzbWFsbCBvcmRlciB3aWxsIGVsaW1pbmF0ZSBhbnkgY29udHJpYnV0aW9uIGZyb20gdGhlIG90aGVyIHBhcnR5J3NcbiAqID4gcHJpdmF0ZSBrZXkuICBUaGlzIHNpdHVhdGlvbiBjYW4gYmUgZGV0ZWN0ZWQgYnkgY2hlY2tpbmcgZm9yIHRoZSBhbGwtXG4gKiA+IHplcm8gb3V0cHV0LCB3aGljaCBpbXBsZW1lbnRhdGlvbnMgTUFZIGRvLCBhcyBzcGVjaWZpZWQgaW4gU2VjdGlvbiA2LlxuICogPiBIb3dldmVyLCBhIGxhcmdlIG51bWJlciBvZiBleGlzdGluZyBpbXBsZW1lbnRhdGlvbnMgZG8gbm90IGRvIHRoaXMuXG4gKlxuICogSU1QT1JUQU5UOiB0aGUgcmV0dXJuZWQga2V5IGlzIGEgcmF3IHJlc3VsdCBvZiBzY2FsYXIgbXVsdGlwbGljYXRpb24uXG4gKiBUbyB1c2UgaXQgYXMgYSBrZXkgbWF0ZXJpYWwsIGhhc2ggaXQgd2l0aCBhIGNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gc2hhcmVkS2V5KG15U2VjcmV0S2V5LCB0aGVpclB1YmxpY0tleSwgcmVqZWN0WmVybyA9IGZhbHNlKSB7XG4gICAgaWYgKG15U2VjcmV0S2V5Lmxlbmd0aCAhPT0gZXhwb3J0cy5QVUJMSUNfS0VZX0xFTkdUSCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJYMjU1MTk6IGluY29ycmVjdCBzZWNyZXQga2V5IGxlbmd0aFwiKTtcbiAgICB9XG4gICAgaWYgKHRoZWlyUHVibGljS2V5Lmxlbmd0aCAhPT0gZXhwb3J0cy5QVUJMSUNfS0VZX0xFTkdUSCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJYMjU1MTk6IGluY29ycmVjdCBwdWJsaWMga2V5IGxlbmd0aFwiKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gc2NhbGFyTXVsdChteVNlY3JldEtleSwgdGhlaXJQdWJsaWNLZXkpO1xuICAgIGlmIChyZWplY3RaZXJvKSB7XG4gICAgICAgIGxldCB6ZXJvcyA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB6ZXJvcyB8PSByZXN1bHRbaV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHplcm9zID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJYMjU1MTk6IGludmFsaWQgc2hhcmVkIGtleVwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0cy5zaGFyZWRLZXkgPSBzaGFyZWRLZXk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD14MjU1MTkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@stablelib/x25519/lib/x25519.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/css/functionSerializer/dist/vanilla-extract-css-functionSerializer.browser.esm.js": -/*!*************************************************************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/css/functionSerializer/dist/vanilla-extract-css-functionSerializer.browser.esm.js ***! - \*************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addFunctionSerializer: function() { return /* binding */ addFunctionSerializer; }\n/* harmony export */ });\nfunction addFunctionSerializer(target, recipe) {\n // TODO: Update to \"__function_serializer__\" in future.\n // __recipe__ is the backwards compatible name\n Object.defineProperty(target, '__recipe__', {\n value: recipe,\n writable: false\n });\n return target;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9jc3MvZnVuY3Rpb25TZXJpYWxpemVyL2Rpc3QvdmFuaWxsYS1leHRyYWN0LWNzcy1mdW5jdGlvblNlcmlhbGl6ZXIuYnJvd3Nlci5lc20uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVpQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9jc3MvZnVuY3Rpb25TZXJpYWxpemVyL2Rpc3QvdmFuaWxsYS1leHRyYWN0LWNzcy1mdW5jdGlvblNlcmlhbGl6ZXIuYnJvd3Nlci5lc20uanM/MDk0ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBhZGRGdW5jdGlvblNlcmlhbGl6ZXIodGFyZ2V0LCByZWNpcGUpIHtcbiAgLy8gVE9ETzogVXBkYXRlIHRvIFwiX19mdW5jdGlvbl9zZXJpYWxpemVyX19cIiBpbiBmdXR1cmUuXG4gIC8vIF9fcmVjaXBlX18gaXMgdGhlIGJhY2t3YXJkcyBjb21wYXRpYmxlIG5hbWVcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgJ19fcmVjaXBlX18nLCB7XG4gICAgdmFsdWU6IHJlY2lwZSxcbiAgICB3cml0YWJsZTogZmFsc2VcbiAgfSk7XG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmV4cG9ydCB7IGFkZEZ1bmN0aW9uU2VyaWFsaXplciB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/css/functionSerializer/dist/vanilla-extract-css-functionSerializer.browser.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/css/recipe/dist/vanilla-extract-css-recipe.browser.esm.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/css/recipe/dist/vanilla-extract-css-recipe.browser.esm.js ***! - \*************************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addRecipe: function() { return /* binding */ addRecipe; }\n/* harmony export */ });\n/* harmony import */ var _functionSerializer_dist_vanilla_extract_css_functionSerializer_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../functionSerializer/dist/vanilla-extract-css-functionSerializer.browser.esm.js */ \"./node_modules/@vanilla-extract/css/functionSerializer/dist/vanilla-extract-css-functionSerializer.browser.esm.js\");\n\n\n/**\n * @deprecated Use 'addFunctionSerializer' from '@vanilla-extract/css/functionSerializer'\n */\n\nvar addRecipe = _functionSerializer_dist_vanilla_extract_css_functionSerializer_browser_esm_js__WEBPACK_IMPORTED_MODULE_0__.addFunctionSerializer;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9jc3MvcmVjaXBlL2Rpc3QvdmFuaWxsYS1leHRyYWN0LWNzcy1yZWNpcGUuYnJvd3Nlci5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNEg7O0FBRTVIO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0IsaUlBQXFCOztBQUVoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9jc3MvcmVjaXBlL2Rpc3QvdmFuaWxsYS1leHRyYWN0LWNzcy1yZWNpcGUuYnJvd3Nlci5lc20uanM/ZjRjOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRGdW5jdGlvblNlcmlhbGl6ZXIgfSBmcm9tICcuLi8uLi9mdW5jdGlvblNlcmlhbGl6ZXIvZGlzdC92YW5pbGxhLWV4dHJhY3QtY3NzLWZ1bmN0aW9uU2VyaWFsaXplci5icm93c2VyLmVzbS5qcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlICdhZGRGdW5jdGlvblNlcmlhbGl6ZXInIGZyb20gJ0B2YW5pbGxhLWV4dHJhY3QvY3NzL2Z1bmN0aW9uU2VyaWFsaXplcidcbiAqL1xuXG52YXIgYWRkUmVjaXBlID0gYWRkRnVuY3Rpb25TZXJpYWxpemVyO1xuXG5leHBvcnQgeyBhZGRSZWNpcGUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/css/recipe/dist/vanilla-extract-css-recipe.browser.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assignInlineVars: function() { return /* binding */ assignInlineVars; },\n/* harmony export */ setElementVars: function() { return /* binding */ setElementVars; }\n/* harmony export */ });\n/* harmony import */ var _vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vanilla-extract/private */ \"./node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js\");\n\n\nfunction assignInlineVars(varsOrContract, tokens) {\n var styles = {};\n\n if (typeof tokens === 'object') {\n var _contract = varsOrContract;\n (0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.walkObject)(tokens, (value, path) => {\n var varName = (0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.get)(_contract, path);\n styles[(0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.getVarName)(varName)] = String(value);\n });\n } else {\n var _vars = varsOrContract;\n\n for (var varName in _vars) {\n styles[(0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.getVarName)(varName)] = _vars[varName];\n }\n }\n\n Object.defineProperty(styles, 'toString', {\n value: function value() {\n return Object.keys(this).map(key => \"\".concat(key, \":\").concat(this[key])).join(';');\n },\n writable: false\n });\n return styles;\n}\n\nfunction setVar(element, variable, value) {\n element.style.setProperty((0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.getVarName)(variable), value);\n}\n\nfunction setElementVars(element, varsOrContract, tokens) {\n if (typeof tokens === 'object') {\n var _contract = varsOrContract;\n (0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.walkObject)(tokens, (value, path) => {\n setVar(element, (0,_vanilla_extract_private__WEBPACK_IMPORTED_MODULE_0__.get)(_contract, path), String(value));\n });\n } else {\n var _vars = varsOrContract;\n\n for (var varName in _vars) {\n setVar(element, varName, _vars[varName]);\n }\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9keW5hbWljL2Rpc3QvdmFuaWxsYS1leHRyYWN0LWR5bmFtaWMuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF1RTs7QUFFdkU7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSSxvRUFBVTtBQUNkLG9CQUFvQiw2REFBRztBQUN2QixhQUFhLG9FQUFVO0FBQ3ZCLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQSxhQUFhLG9FQUFVO0FBQ3ZCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdGQUF3RjtBQUN4RixLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBLDRCQUE0QixvRUFBVTtBQUN0Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLG9FQUFVO0FBQ2Qsc0JBQXNCLDZEQUFHO0FBQ3pCLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B2YW5pbGxhLWV4dHJhY3QvZHluYW1pYy9kaXN0L3ZhbmlsbGEtZXh0cmFjdC1keW5hbWljLmVzbS5qcz9hYzZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdhbGtPYmplY3QsIGdldCwgZ2V0VmFyTmFtZSB9IGZyb20gJ0B2YW5pbGxhLWV4dHJhY3QvcHJpdmF0ZSc7XG5cbmZ1bmN0aW9uIGFzc2lnbklubGluZVZhcnModmFyc09yQ29udHJhY3QsIHRva2Vucykge1xuICB2YXIgc3R5bGVzID0ge307XG5cbiAgaWYgKHR5cGVvZiB0b2tlbnMgPT09ICdvYmplY3QnKSB7XG4gICAgdmFyIF9jb250cmFjdCA9IHZhcnNPckNvbnRyYWN0O1xuICAgIHdhbGtPYmplY3QodG9rZW5zLCAodmFsdWUsIHBhdGgpID0+IHtcbiAgICAgIHZhciB2YXJOYW1lID0gZ2V0KF9jb250cmFjdCwgcGF0aCk7XG4gICAgICBzdHlsZXNbZ2V0VmFyTmFtZSh2YXJOYW1lKV0gPSBTdHJpbmcodmFsdWUpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHZhciBfdmFycyA9IHZhcnNPckNvbnRyYWN0O1xuXG4gICAgZm9yICh2YXIgdmFyTmFtZSBpbiBfdmFycykge1xuICAgICAgc3R5bGVzW2dldFZhck5hbWUodmFyTmFtZSldID0gX3ZhcnNbdmFyTmFtZV07XG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgJ3RvU3RyaW5nJywge1xuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSgpIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzKS5tYXAoa2V5ID0+IFwiXCIuY29uY2F0KGtleSwgXCI6XCIpLmNvbmNhdCh0aGlzW2tleV0pKS5qb2luKCc7Jyk7XG4gICAgfSxcbiAgICB3cml0YWJsZTogZmFsc2VcbiAgfSk7XG4gIHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIHNldFZhcihlbGVtZW50LCB2YXJpYWJsZSwgdmFsdWUpIHtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShnZXRWYXJOYW1lKHZhcmlhYmxlKSwgdmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzZXRFbGVtZW50VmFycyhlbGVtZW50LCB2YXJzT3JDb250cmFjdCwgdG9rZW5zKSB7XG4gIGlmICh0eXBlb2YgdG9rZW5zID09PSAnb2JqZWN0Jykge1xuICAgIHZhciBfY29udHJhY3QgPSB2YXJzT3JDb250cmFjdDtcbiAgICB3YWxrT2JqZWN0KHRva2VucywgKHZhbHVlLCBwYXRoKSA9PiB7XG4gICAgICBzZXRWYXIoZWxlbWVudCwgZ2V0KF9jb250cmFjdCwgcGF0aCksIFN0cmluZyh2YWx1ZSkpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHZhciBfdmFycyA9IHZhcnNPckNvbnRyYWN0O1xuXG4gICAgZm9yICh2YXIgdmFyTmFtZSBpbiBfdmFycykge1xuICAgICAgc2V0VmFyKGVsZW1lbnQsIHZhck5hbWUsIF92YXJzW3Zhck5hbWVdKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgYXNzaWduSW5saW5lVmFycywgc2V0RWxlbWVudFZhcnMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ get: function() { return /* binding */ get; },\n/* harmony export */ getVarName: function() { return /* binding */ getVarName; },\n/* harmony export */ walkObject: function() { return /* binding */ walkObject; }\n/* harmony export */ });\nfunction getVarName(variable) {\n var matches = variable.match(/^var\\((.*)\\)$/);\n\n if (matches) {\n return matches[1];\n }\n\n return variable;\n}\n\nfunction get(obj, path) {\n var result = obj;\n\n for (var key of path) {\n if (!(key in result)) {\n throw new Error(\"Path \".concat(path.join(' -> '), \" does not exist in object\"));\n }\n\n result = result[key];\n }\n\n return result;\n}\n\nfunction walkObject(obj, fn) {\n var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var clone = obj.constructor();\n\n for (var key in obj) {\n var _value = obj[key];\n var currentPath = [...path, key];\n\n if (typeof _value === 'string' || typeof _value === 'number' || _value == null) {\n clone[key] = fn(_value, currentPath);\n } else if (typeof _value === 'object' && !Array.isArray(_value)) {\n clone[key] = walkObject(_value, fn, currentPath);\n } else {\n console.warn(\"Skipping invalid key \\\"\".concat(currentPath.join('.'), \"\\\". Should be a string, number, null or object. Received: \\\"\").concat(Array.isArray(_value) ? 'Array' : typeof _value, \"\\\"\"));\n }\n }\n\n return clone;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9wcml2YXRlL2Rpc3QvdmFuaWxsYS1leHRyYWN0LXByaXZhdGUuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUV1QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9wcml2YXRlL2Rpc3QvdmFuaWxsYS1leHRyYWN0LXByaXZhdGUuZXNtLmpzPzBhMjciXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gZ2V0VmFyTmFtZSh2YXJpYWJsZSkge1xuICB2YXIgbWF0Y2hlcyA9IHZhcmlhYmxlLm1hdGNoKC9edmFyXFwoKC4qKVxcKSQvKTtcblxuICBpZiAobWF0Y2hlcykge1xuICAgIHJldHVybiBtYXRjaGVzWzFdO1xuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiBnZXQob2JqLCBwYXRoKSB7XG4gIHZhciByZXN1bHQgPSBvYmo7XG5cbiAgZm9yICh2YXIga2V5IG9mIHBhdGgpIHtcbiAgICBpZiAoIShrZXkgaW4gcmVzdWx0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGF0aCBcIi5jb25jYXQocGF0aC5qb2luKCcgLT4gJyksIFwiIGRvZXMgbm90IGV4aXN0IGluIG9iamVjdFwiKSk7XG4gICAgfVxuXG4gICAgcmVzdWx0ID0gcmVzdWx0W2tleV07XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB3YWxrT2JqZWN0KG9iaiwgZm4pIHtcbiAgdmFyIHBhdGggPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IFtdO1xuICB2YXIgY2xvbmUgPSBvYmouY29uc3RydWN0b3IoKTtcblxuICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgdmFyIF92YWx1ZSA9IG9ialtrZXldO1xuICAgIHZhciBjdXJyZW50UGF0aCA9IFsuLi5wYXRoLCBrZXldO1xuXG4gICAgaWYgKHR5cGVvZiBfdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBfdmFsdWUgPT09ICdudW1iZXInIHx8IF92YWx1ZSA9PSBudWxsKSB7XG4gICAgICBjbG9uZVtrZXldID0gZm4oX3ZhbHVlLCBjdXJyZW50UGF0aCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgX3ZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShfdmFsdWUpKSB7XG4gICAgICBjbG9uZVtrZXldID0gd2Fsa09iamVjdChfdmFsdWUsIGZuLCBjdXJyZW50UGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihcIlNraXBwaW5nIGludmFsaWQga2V5IFxcXCJcIi5jb25jYXQoY3VycmVudFBhdGguam9pbignLicpLCBcIlxcXCIuIFNob3VsZCBiZSBhIHN0cmluZywgbnVtYmVyLCBudWxsIG9yIG9iamVjdC4gUmVjZWl2ZWQ6IFxcXCJcIikuY29uY2F0KEFycmF5LmlzQXJyYXkoX3ZhbHVlKSA/ICdBcnJheScgOiB0eXBlb2YgX3ZhbHVlLCBcIlxcXCJcIikpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjbG9uZTtcbn1cblxuZXhwb3J0IHsgZ2V0LCBnZXRWYXJOYW1lLCB3YWxrT2JqZWN0IH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/sprinkles/createRuntimeSprinkles/dist/vanilla-extract-sprinkles-createRuntimeSprinkles.esm.js": -/*!*************************************************************************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/sprinkles/createRuntimeSprinkles/dist/vanilla-extract-sprinkles-createRuntimeSprinkles.esm.js ***! - \*************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createAtomsFn: function() { return /* binding */ createAtomsFn; },\n/* harmony export */ createSprinkles: function() { return /* binding */ createSprinkles; }\n/* harmony export */ });\n/* harmony import */ var _dist_createSprinkles_c150330f_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dist/createSprinkles-c150330f.esm.js */ \"./node_modules/@vanilla-extract/sprinkles/dist/createSprinkles-c150330f.esm.js\");\n\n\nvar composeStyles = classList => classList;\n\nvar createSprinkles = function createSprinkles() {\n return (0,_dist_createSprinkles_c150330f_esm_js__WEBPACK_IMPORTED_MODULE_0__.c)(composeStyles)(...arguments);\n};\n/** @deprecated - Use `createSprinkles` */\n\nvar createAtomsFn = createSprinkles;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9zcHJpbmtsZXMvY3JlYXRlUnVudGltZVNwcmlua2xlcy9kaXN0L3ZhbmlsbGEtZXh0cmFjdC1zcHJpbmtsZXMtY3JlYXRlUnVudGltZVNwcmlua2xlcy5lc20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW9GOztBQUVwRjs7QUFFQTtBQUNBLFNBQVMsd0VBQWlCO0FBQzFCO0FBQ0E7O0FBRUE7O0FBRTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdmFuaWxsYS1leHRyYWN0L3Nwcmlua2xlcy9jcmVhdGVSdW50aW1lU3ByaW5rbGVzL2Rpc3QvdmFuaWxsYS1leHRyYWN0LXNwcmlua2xlcy1jcmVhdGVSdW50aW1lU3ByaW5rbGVzLmVzbS5qcz9lYjEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGMgYXMgY3JlYXRlU3ByaW5rbGVzJDEgfSBmcm9tICcuLi8uLi9kaXN0L2NyZWF0ZVNwcmlua2xlcy1jMTUwMzMwZi5lc20uanMnO1xuXG52YXIgY29tcG9zZVN0eWxlcyA9IGNsYXNzTGlzdCA9PiBjbGFzc0xpc3Q7XG5cbnZhciBjcmVhdGVTcHJpbmtsZXMgPSBmdW5jdGlvbiBjcmVhdGVTcHJpbmtsZXMoKSB7XG4gIHJldHVybiBjcmVhdGVTcHJpbmtsZXMkMShjb21wb3NlU3R5bGVzKSguLi5hcmd1bWVudHMpO1xufTtcbi8qKiBAZGVwcmVjYXRlZCAtIFVzZSBgY3JlYXRlU3ByaW5rbGVzYCAqL1xuXG52YXIgY3JlYXRlQXRvbXNGbiA9IGNyZWF0ZVNwcmlua2xlcztcblxuZXhwb3J0IHsgY3JlYXRlQXRvbXNGbiwgY3JlYXRlU3ByaW5rbGVzIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/sprinkles/createRuntimeSprinkles/dist/vanilla-extract-sprinkles-createRuntimeSprinkles.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/sprinkles/createUtils/dist/vanilla-extract-sprinkles-createUtils.esm.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/sprinkles/createUtils/dist/vanilla-extract-sprinkles-createUtils.esm.js ***! - \***************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createMapValueFn: function() { return /* binding */ createMapValueFn; },\n/* harmony export */ createNormalizeValueFn: function() { return /* binding */ createNormalizeValueFn; }\n/* harmony export */ });\n/* harmony import */ var _vanilla_extract_css_recipe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vanilla-extract/css/recipe */ \"./node_modules/@vanilla-extract/css/recipe/dist/vanilla-extract-css-recipe.browser.esm.js\");\n\n\nfunction createNormalizeValueFn(properties) {\n var {\n conditions\n } = properties;\n\n if (!conditions) {\n throw new Error('Styles have no conditions');\n }\n\n function normalizeValue(value) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n if (!conditions.defaultCondition) {\n throw new Error('No default condition');\n }\n\n return {\n [conditions.defaultCondition]: value\n };\n }\n\n if (Array.isArray(value)) {\n if (!('responsiveArray' in conditions)) {\n throw new Error('Responsive arrays are not supported');\n }\n\n var returnValue = {};\n\n for (var index in conditions.responsiveArray) {\n if (value[index] != null) {\n returnValue[conditions.responsiveArray[index]] = value[index];\n }\n }\n\n return returnValue;\n }\n\n return value;\n }\n\n return (0,_vanilla_extract_css_recipe__WEBPACK_IMPORTED_MODULE_0__.addRecipe)(normalizeValue, {\n importPath: '@vanilla-extract/sprinkles/createUtils',\n importName: 'createNormalizeValueFn',\n args: [{\n conditions: properties.conditions\n }]\n });\n}\nfunction createMapValueFn(properties) {\n var {\n conditions\n } = properties;\n\n if (!conditions) {\n throw new Error('Styles have no conditions');\n }\n\n var normalizeValue = createNormalizeValueFn(properties);\n\n function mapValue(value, mapFn) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n if (!conditions.defaultCondition) {\n throw new Error('No default condition');\n }\n\n return mapFn(value, conditions.defaultCondition);\n }\n\n var normalizedObject = Array.isArray(value) ? normalizeValue(value) : value;\n var mappedObject = {};\n\n for (var _key in normalizedObject) {\n if (normalizedObject[_key] != null) {\n mappedObject[_key] = mapFn(normalizedObject[_key], _key);\n }\n }\n\n return mappedObject;\n }\n\n return (0,_vanilla_extract_css_recipe__WEBPACK_IMPORTED_MODULE_0__.addRecipe)(mapValue, {\n importPath: '@vanilla-extract/sprinkles/createUtils',\n importName: 'createMapValueFn',\n args: [{\n conditions: properties.conditions\n }]\n });\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9zcHJpbmtsZXMvY3JlYXRlVXRpbHMvZGlzdC92YW5pbGxhLWV4dHJhY3Qtc3ByaW5rbGVzLWNyZWF0ZVV0aWxzLmVzbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0Q7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsU0FBUyxzRUFBUztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsU0FBUyxzRUFBUztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRW9EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdmFuaWxsYS1leHRyYWN0L3Nwcmlua2xlcy9jcmVhdGVVdGlscy9kaXN0L3ZhbmlsbGEtZXh0cmFjdC1zcHJpbmtsZXMtY3JlYXRlVXRpbHMuZXNtLmpzPzgwMDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkUmVjaXBlIH0gZnJvbSAnQHZhbmlsbGEtZXh0cmFjdC9jc3MvcmVjaXBlJztcblxuZnVuY3Rpb24gY3JlYXRlTm9ybWFsaXplVmFsdWVGbihwcm9wZXJ0aWVzKSB7XG4gIHZhciB7XG4gICAgY29uZGl0aW9uc1xuICB9ID0gcHJvcGVydGllcztcblxuICBpZiAoIWNvbmRpdGlvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0eWxlcyBoYXZlIG5vIGNvbmRpdGlvbnMnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG5vcm1hbGl6ZVZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgaWYgKCFjb25kaXRpb25zLmRlZmF1bHRDb25kaXRpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBkZWZhdWx0IGNvbmRpdGlvbicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBbY29uZGl0aW9ucy5kZWZhdWx0Q29uZGl0aW9uXTogdmFsdWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICBpZiAoISgncmVzcG9uc2l2ZUFycmF5JyBpbiBjb25kaXRpb25zKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jlc3BvbnNpdmUgYXJyYXlzIGFyZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciByZXR1cm5WYWx1ZSA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBpbmRleCBpbiBjb25kaXRpb25zLnJlc3BvbnNpdmVBcnJheSkge1xuICAgICAgICBpZiAodmFsdWVbaW5kZXhdICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm5WYWx1ZVtjb25kaXRpb25zLnJlc3BvbnNpdmVBcnJheVtpbmRleF1dID0gdmFsdWVbaW5kZXhdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXR1cm5WYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gYWRkUmVjaXBlKG5vcm1hbGl6ZVZhbHVlLCB7XG4gICAgaW1wb3J0UGF0aDogJ0B2YW5pbGxhLWV4dHJhY3Qvc3ByaW5rbGVzL2NyZWF0ZVV0aWxzJyxcbiAgICBpbXBvcnROYW1lOiAnY3JlYXRlTm9ybWFsaXplVmFsdWVGbicsXG4gICAgYXJnczogW3tcbiAgICAgIGNvbmRpdGlvbnM6IHByb3BlcnRpZXMuY29uZGl0aW9uc1xuICAgIH1dXG4gIH0pO1xufVxuZnVuY3Rpb24gY3JlYXRlTWFwVmFsdWVGbihwcm9wZXJ0aWVzKSB7XG4gIHZhciB7XG4gICAgY29uZGl0aW9uc1xuICB9ID0gcHJvcGVydGllcztcblxuICBpZiAoIWNvbmRpdGlvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0eWxlcyBoYXZlIG5vIGNvbmRpdGlvbnMnKTtcbiAgfVxuXG4gIHZhciBub3JtYWxpemVWYWx1ZSA9IGNyZWF0ZU5vcm1hbGl6ZVZhbHVlRm4ocHJvcGVydGllcyk7XG5cbiAgZnVuY3Rpb24gbWFwVmFsdWUodmFsdWUsIG1hcEZuKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgaWYgKCFjb25kaXRpb25zLmRlZmF1bHRDb25kaXRpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBkZWZhdWx0IGNvbmRpdGlvbicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFwRm4odmFsdWUsIGNvbmRpdGlvbnMuZGVmYXVsdENvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRPYmplY3QgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IG5vcm1hbGl6ZVZhbHVlKHZhbHVlKSA6IHZhbHVlO1xuICAgIHZhciBtYXBwZWRPYmplY3QgPSB7fTtcblxuICAgIGZvciAodmFyIF9rZXkgaW4gbm9ybWFsaXplZE9iamVjdCkge1xuICAgICAgaWYgKG5vcm1hbGl6ZWRPYmplY3RbX2tleV0gIT0gbnVsbCkge1xuICAgICAgICBtYXBwZWRPYmplY3RbX2tleV0gPSBtYXBGbihub3JtYWxpemVkT2JqZWN0W19rZXldLCBfa2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGVkT2JqZWN0O1xuICB9XG5cbiAgcmV0dXJuIGFkZFJlY2lwZShtYXBWYWx1ZSwge1xuICAgIGltcG9ydFBhdGg6ICdAdmFuaWxsYS1leHRyYWN0L3Nwcmlua2xlcy9jcmVhdGVVdGlscycsXG4gICAgaW1wb3J0TmFtZTogJ2NyZWF0ZU1hcFZhbHVlRm4nLFxuICAgIGFyZ3M6IFt7XG4gICAgICBjb25kaXRpb25zOiBwcm9wZXJ0aWVzLmNvbmRpdGlvbnNcbiAgICB9XVxuICB9KTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlTWFwVmFsdWVGbiwgY3JlYXRlTm9ybWFsaXplVmFsdWVGbiB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/sprinkles/createUtils/dist/vanilla-extract-sprinkles-createUtils.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@vanilla-extract/sprinkles/dist/createSprinkles-c150330f.esm.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/@vanilla-extract/sprinkles/dist/createSprinkles-c150330f.esm.js ***! - \**************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ c: function() { return /* binding */ createSprinkles; }\n/* harmony export */ });\nfunction _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}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar createSprinkles = composeStyles => function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var sprinklesStyles = Object.assign({}, ...args.map(a => a.styles));\n var sprinklesKeys = Object.keys(sprinklesStyles);\n var shorthandNames = sprinklesKeys.filter(property => 'mappings' in sprinklesStyles[property]);\n\n var sprinklesFn = props => {\n var classNames = [];\n var shorthands = {};\n\n var nonShorthands = _objectSpread2({}, props);\n\n var hasShorthands = false;\n\n for (var shorthand of shorthandNames) {\n var value = props[shorthand];\n\n if (value != null) {\n var sprinkle = sprinklesStyles[shorthand];\n hasShorthands = true;\n\n for (var propMapping of sprinkle.mappings) {\n shorthands[propMapping] = value;\n\n if (nonShorthands[propMapping] == null) {\n delete nonShorthands[propMapping];\n }\n }\n }\n }\n\n var finalProps = hasShorthands ? _objectSpread2(_objectSpread2({}, shorthands), nonShorthands) : props;\n\n for (var prop in finalProps) {\n var propValue = finalProps[prop];\n var _sprinkle = sprinklesStyles[prop];\n\n try {\n if (_sprinkle.mappings) {\n // Skip shorthands\n continue;\n }\n\n if (typeof propValue === 'string' || typeof propValue === 'number') {\n if (true) {\n if (!_sprinkle.values[propValue].defaultClass) {\n throw new Error();\n }\n }\n\n classNames.push(_sprinkle.values[propValue].defaultClass);\n } else if (Array.isArray(propValue)) {\n for (var responsiveIndex = 0; responsiveIndex < propValue.length; responsiveIndex++) {\n var responsiveValue = propValue[responsiveIndex];\n\n if (responsiveValue != null) {\n var conditionName = _sprinkle.responsiveArray[responsiveIndex];\n\n if (true) {\n if (!_sprinkle.values[responsiveValue].conditions[conditionName]) {\n throw new Error();\n }\n }\n\n classNames.push(_sprinkle.values[responsiveValue].conditions[conditionName]);\n }\n }\n } else {\n for (var _conditionName in propValue) {\n // Conditional style\n var _value = propValue[_conditionName];\n\n if (_value != null) {\n if (true) {\n if (!_sprinkle.values[_value].conditions[_conditionName]) {\n throw new Error();\n }\n }\n\n classNames.push(_sprinkle.values[_value].conditions[_conditionName]);\n }\n }\n }\n } catch (e) {\n if (true) {\n (function () {\n class SprinklesError extends Error {\n constructor(message) {\n super(message);\n this.name = 'SprinklesError';\n }\n\n }\n\n var format = v => typeof v === 'string' ? \"\\\"\".concat(v, \"\\\"\") : v;\n\n var invalidPropValue = (prop, value, possibleValues) => {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" has no value \").concat(format(value), \". Possible values are \").concat(Object.keys(possibleValues).map(format).join(', ')));\n };\n\n if (!_sprinkle) {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" is not a valid sprinkle\"));\n }\n\n if (typeof propValue === 'string' || typeof propValue === 'number') {\n if (!(propValue in _sprinkle.values)) {\n invalidPropValue(prop, propValue, _sprinkle.values);\n }\n\n if (!_sprinkle.values[propValue].defaultClass) {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" has no default condition. You must specify which conditions to target explicitly. Possible options are \").concat(Object.keys(_sprinkle.values[propValue].conditions).map(format).join(', ')));\n }\n }\n\n if (typeof propValue === 'object') {\n if (!('conditions' in _sprinkle.values[Object.keys(_sprinkle.values)[0]])) {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" is not a conditional property\"));\n }\n\n if (Array.isArray(propValue)) {\n if (!('responsiveArray' in _sprinkle)) {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" does not support responsive arrays\"));\n }\n\n var breakpointCount = _sprinkle.responsiveArray.length;\n\n if (breakpointCount < propValue.length) {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" only supports up to \").concat(breakpointCount, \" breakpoints. You passed \").concat(propValue.length));\n }\n\n for (var _responsiveValue of propValue) {\n if (!_sprinkle.values[_responsiveValue]) {\n invalidPropValue(prop, _responsiveValue, _sprinkle.values);\n }\n }\n } else {\n for (var _conditionName2 in propValue) {\n var _value2 = propValue[_conditionName2];\n\n if (_value2 != null) {\n if (!_sprinkle.values[_value2]) {\n invalidPropValue(prop, _value2, _sprinkle.values);\n }\n\n if (!_sprinkle.values[_value2].conditions[_conditionName2]) {\n throw new SprinklesError(\"\\\"\".concat(prop, \"\\\" has no condition named \").concat(format(_conditionName2), \". Possible values are \").concat(Object.keys(_sprinkle.values[_value2].conditions).map(format).join(', ')));\n }\n }\n }\n }\n }\n })();\n }\n\n throw e;\n }\n }\n\n return composeStyles(classNames.join(' '));\n };\n\n return Object.assign(sprinklesFn, {\n properties: new Set(sprinklesKeys)\n });\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHZhbmlsbGEtZXh0cmFjdC9zcHJpbmtsZXMvZGlzdC9jcmVhdGVTcHJpbmtsZXMtYzE1MDMzMGYuZXNtLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLHNCQUFzQjtBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esc0VBQXNFLGFBQWE7QUFDbkY7QUFDQTs7QUFFQSx3Q0FBd0M7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEseUNBQXlDOztBQUV6Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxRUFBcUU7O0FBRXJFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYyxJQUFxQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVix3Q0FBd0Msb0NBQW9DO0FBQzVFOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLElBQXFDO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0IsSUFBcUM7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1IsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdmFuaWxsYS1leHRyYWN0L3Nwcmlua2xlcy9kaXN0L2NyZWF0ZVNwcmlua2xlcy1jMTUwMzMwZi5lc20uanM/NzFlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuXG4gICAgaWYgKGVudW1lcmFibGVPbmx5KSB7XG4gICAgICBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcblxuICAgIGlmIChpICUgMikge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxudmFyIGNyZWF0ZVNwcmlua2xlcyA9IGNvbXBvc2VTdHlsZXMgPT4gZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgdmFyIHNwcmlua2xlc1N0eWxlcyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLmFyZ3MubWFwKGEgPT4gYS5zdHlsZXMpKTtcbiAgdmFyIHNwcmlua2xlc0tleXMgPSBPYmplY3Qua2V5cyhzcHJpbmtsZXNTdHlsZXMpO1xuICB2YXIgc2hvcnRoYW5kTmFtZXMgPSBzcHJpbmtsZXNLZXlzLmZpbHRlcihwcm9wZXJ0eSA9PiAnbWFwcGluZ3MnIGluIHNwcmlua2xlc1N0eWxlc1twcm9wZXJ0eV0pO1xuXG4gIHZhciBzcHJpbmtsZXNGbiA9IHByb3BzID0+IHtcbiAgICB2YXIgY2xhc3NOYW1lcyA9IFtdO1xuICAgIHZhciBzaG9ydGhhbmRzID0ge307XG5cbiAgICB2YXIgbm9uU2hvcnRoYW5kcyA9IF9vYmplY3RTcHJlYWQyKHt9LCBwcm9wcyk7XG5cbiAgICB2YXIgaGFzU2hvcnRoYW5kcyA9IGZhbHNlO1xuXG4gICAgZm9yICh2YXIgc2hvcnRoYW5kIG9mIHNob3J0aGFuZE5hbWVzKSB7XG4gICAgICB2YXIgdmFsdWUgPSBwcm9wc1tzaG9ydGhhbmRdO1xuXG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICB2YXIgc3ByaW5rbGUgPSBzcHJpbmtsZXNTdHlsZXNbc2hvcnRoYW5kXTtcbiAgICAgICAgaGFzU2hvcnRoYW5kcyA9IHRydWU7XG5cbiAgICAgICAgZm9yICh2YXIgcHJvcE1hcHBpbmcgb2Ygc3ByaW5rbGUubWFwcGluZ3MpIHtcbiAgICAgICAgICBzaG9ydGhhbmRzW3Byb3BNYXBwaW5nXSA9IHZhbHVlO1xuXG4gICAgICAgICAgaWYgKG5vblNob3J0aGFuZHNbcHJvcE1hcHBpbmddID09IG51bGwpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBub25TaG9ydGhhbmRzW3Byb3BNYXBwaW5nXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZmluYWxQcm9wcyA9IGhhc1Nob3J0aGFuZHMgPyBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgc2hvcnRoYW5kcyksIG5vblNob3J0aGFuZHMpIDogcHJvcHM7XG5cbiAgICBmb3IgKHZhciBwcm9wIGluIGZpbmFsUHJvcHMpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBmaW5hbFByb3BzW3Byb3BdO1xuICAgICAgdmFyIF9zcHJpbmtsZSA9IHNwcmlua2xlc1N0eWxlc1twcm9wXTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKF9zcHJpbmtsZS5tYXBwaW5ncykge1xuICAgICAgICAgIC8vIFNraXAgc2hvcnRoYW5kc1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwcm9wVmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmICghX3Nwcmlua2xlLnZhbHVlc1twcm9wVmFsdWVdLmRlZmF1bHRDbGFzcykge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjbGFzc05hbWVzLnB1c2goX3Nwcmlua2xlLnZhbHVlc1twcm9wVmFsdWVdLmRlZmF1bHRDbGFzcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwcm9wVmFsdWUpKSB7XG4gICAgICAgICAgZm9yICh2YXIgcmVzcG9uc2l2ZUluZGV4ID0gMDsgcmVzcG9uc2l2ZUluZGV4IDwgcHJvcFZhbHVlLmxlbmd0aDsgcmVzcG9uc2l2ZUluZGV4KyspIHtcbiAgICAgICAgICAgIHZhciByZXNwb25zaXZlVmFsdWUgPSBwcm9wVmFsdWVbcmVzcG9uc2l2ZUluZGV4XTtcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNpdmVWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgIHZhciBjb25kaXRpb25OYW1lID0gX3Nwcmlua2xlLnJlc3BvbnNpdmVBcnJheVtyZXNwb25zaXZlSW5kZXhdO1xuXG4gICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFfc3ByaW5rbGUudmFsdWVzW3Jlc3BvbnNpdmVWYWx1ZV0uY29uZGl0aW9uc1tjb25kaXRpb25OYW1lXSkge1xuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKF9zcHJpbmtsZS52YWx1ZXNbcmVzcG9uc2l2ZVZhbHVlXS5jb25kaXRpb25zW2NvbmRpdGlvbk5hbWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yICh2YXIgX2NvbmRpdGlvbk5hbWUgaW4gcHJvcFZhbHVlKSB7XG4gICAgICAgICAgICAvLyBDb25kaXRpb25hbCBzdHlsZVxuICAgICAgICAgICAgdmFyIF92YWx1ZSA9IHByb3BWYWx1ZVtfY29uZGl0aW9uTmFtZV07XG5cbiAgICAgICAgICAgIGlmIChfdmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIGlmICghX3Nwcmlua2xlLnZhbHVlc1tfdmFsdWVdLmNvbmRpdGlvbnNbX2NvbmRpdGlvbk5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goX3Nwcmlua2xlLnZhbHVlc1tfdmFsdWVdLmNvbmRpdGlvbnNbX2NvbmRpdGlvbk5hbWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY2xhc3MgU3ByaW5rbGVzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5hbWUgPSAnU3ByaW5rbGVzRXJyb3InO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGZvcm1hdCA9IHYgPT4gdHlwZW9mIHYgPT09ICdzdHJpbmcnID8gXCJcXFwiXCIuY29uY2F0KHYsIFwiXFxcIlwiKSA6IHY7XG5cbiAgICAgICAgICAgIHZhciBpbnZhbGlkUHJvcFZhbHVlID0gKHByb3AsIHZhbHVlLCBwb3NzaWJsZVZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ByaW5rbGVzRXJyb3IoXCJcXFwiXCIuY29uY2F0KHByb3AsIFwiXFxcIiBoYXMgbm8gdmFsdWUgXCIpLmNvbmNhdChmb3JtYXQodmFsdWUpLCBcIi4gUG9zc2libGUgdmFsdWVzIGFyZSBcIikuY29uY2F0KE9iamVjdC5rZXlzKHBvc3NpYmxlVmFsdWVzKS5tYXAoZm9ybWF0KS5qb2luKCcsICcpKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAoIV9zcHJpbmtsZSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ByaW5rbGVzRXJyb3IoXCJcXFwiXCIuY29uY2F0KHByb3AsIFwiXFxcIiBpcyBub3QgYSB2YWxpZCBzcHJpbmtsZVwiKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcFZhbHVlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgcHJvcFZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICBpZiAoIShwcm9wVmFsdWUgaW4gX3Nwcmlua2xlLnZhbHVlcykpIHtcbiAgICAgICAgICAgICAgICBpbnZhbGlkUHJvcFZhbHVlKHByb3AsIHByb3BWYWx1ZSwgX3Nwcmlua2xlLnZhbHVlcyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoIV9zcHJpbmtsZS52YWx1ZXNbcHJvcFZhbHVlXS5kZWZhdWx0Q2xhc3MpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ByaW5rbGVzRXJyb3IoXCJcXFwiXCIuY29uY2F0KHByb3AsIFwiXFxcIiBoYXMgbm8gZGVmYXVsdCBjb25kaXRpb24uIFlvdSBtdXN0IHNwZWNpZnkgd2hpY2ggY29uZGl0aW9ucyB0byB0YXJnZXQgZXhwbGljaXRseS4gUG9zc2libGUgb3B0aW9ucyBhcmUgXCIpLmNvbmNhdChPYmplY3Qua2V5cyhfc3ByaW5rbGUudmFsdWVzW3Byb3BWYWx1ZV0uY29uZGl0aW9ucykubWFwKGZvcm1hdCkuam9pbignLCAnKSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcFZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICBpZiAoISgnY29uZGl0aW9ucycgaW4gX3Nwcmlua2xlLnZhbHVlc1tPYmplY3Qua2V5cyhfc3ByaW5rbGUudmFsdWVzKVswXV0pKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNwcmlua2xlc0Vycm9yKFwiXFxcIlwiLmNvbmNhdChwcm9wLCBcIlxcXCIgaXMgbm90IGEgY29uZGl0aW9uYWwgcHJvcGVydHlcIikpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGlmICghKCdyZXNwb25zaXZlQXJyYXknIGluIF9zcHJpbmtsZSkpIHtcbiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTcHJpbmtsZXNFcnJvcihcIlxcXCJcIi5jb25jYXQocHJvcCwgXCJcXFwiIGRvZXMgbm90IHN1cHBvcnQgcmVzcG9uc2l2ZSBhcnJheXNcIikpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBicmVha3BvaW50Q291bnQgPSBfc3ByaW5rbGUucmVzcG9uc2l2ZUFycmF5Lmxlbmd0aDtcblxuICAgICAgICAgICAgICAgIGlmIChicmVha3BvaW50Q291bnQgPCBwcm9wVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ByaW5rbGVzRXJyb3IoXCJcXFwiXCIuY29uY2F0KHByb3AsIFwiXFxcIiBvbmx5IHN1cHBvcnRzIHVwIHRvIFwiKS5jb25jYXQoYnJlYWtwb2ludENvdW50LCBcIiBicmVha3BvaW50cy4gWW91IHBhc3NlZCBcIikuY29uY2F0KHByb3BWYWx1ZS5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBmb3IgKHZhciBfcmVzcG9uc2l2ZVZhbHVlIG9mIHByb3BWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKCFfc3ByaW5rbGUudmFsdWVzW19yZXNwb25zaXZlVmFsdWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGludmFsaWRQcm9wVmFsdWUocHJvcCwgX3Jlc3BvbnNpdmVWYWx1ZSwgX3Nwcmlua2xlLnZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIF9jb25kaXRpb25OYW1lMiBpbiBwcm9wVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBfdmFsdWUyID0gcHJvcFZhbHVlW19jb25kaXRpb25OYW1lMl07XG5cbiAgICAgICAgICAgICAgICAgIGlmIChfdmFsdWUyICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFfc3ByaW5rbGUudmFsdWVzW192YWx1ZTJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaW52YWxpZFByb3BWYWx1ZShwcm9wLCBfdmFsdWUyLCBfc3ByaW5rbGUudmFsdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghX3Nwcmlua2xlLnZhbHVlc1tfdmFsdWUyXS5jb25kaXRpb25zW19jb25kaXRpb25OYW1lMl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ByaW5rbGVzRXJyb3IoXCJcXFwiXCIuY29uY2F0KHByb3AsIFwiXFxcIiBoYXMgbm8gY29uZGl0aW9uIG5hbWVkIFwiKS5jb25jYXQoZm9ybWF0KF9jb25kaXRpb25OYW1lMiksIFwiLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIFwiKS5jb25jYXQoT2JqZWN0LmtleXMoX3Nwcmlua2xlLnZhbHVlc1tfdmFsdWUyXS5jb25kaXRpb25zKS5tYXAoZm9ybWF0KS5qb2luKCcsICcpKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9zZVN0eWxlcyhjbGFzc05hbWVzLmpvaW4oJyAnKSk7XG4gIH07XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3ByaW5rbGVzRm4sIHtcbiAgICBwcm9wZXJ0aWVzOiBuZXcgU2V0KHNwcmlua2xlc0tleXMpXG4gIH0pO1xufTtcblxuZXhwb3J0IHsgY3JlYXRlU3ByaW5rbGVzIGFzIGMgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@vanilla-extract/sprinkles/dist/createSprinkles-c150330f.esm.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-api/dist/esm/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-api/dist/esm/index.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/relay-api/dist/esm/types.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _types__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _parsers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parsers */ \"./node_modules/@walletconnect/relay-api/dist/esm/parsers.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _parsers__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _parsers__WEBPACK_IMPORTED_MODULE_1__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonrpc */ \"./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _jsonrpc__WEBPACK_IMPORTED_MODULE_2__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _jsonrpc__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validators */ \"./node_modules/@walletconnect/relay-api/dist/esm/validators.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _validators__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _validators__WEBPACK_IMPORTED_MODULE_3__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF3QjtBQUNFO0FBQ0E7QUFDRztBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL2luZGV4LmpzPzA5ZjUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2pzb25ycGNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRvcnNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-api/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RELAY_JSONRPC: function() { return /* binding */ RELAY_JSONRPC; }\n/* harmony export */ });\nconst RELAY_JSONRPC = {\n waku: {\n publish: \"waku_publish\",\n batchPublish: \"waku_batchPublish\",\n subscribe: \"waku_subscribe\",\n batchSubscribe: \"waku_batchSubscribe\",\n subscription: \"waku_subscription\",\n unsubscribe: \"waku_unsubscribe\",\n batchUnsubscribe: \"waku_batchUnsubscribe\",\n },\n irn: {\n publish: \"irn_publish\",\n batchPublish: \"irn_batchPublish\",\n subscribe: \"irn_subscribe\",\n batchSubscribe: \"irn_batchSubscribe\",\n subscription: \"irn_subscription\",\n unsubscribe: \"irn_unsubscribe\",\n batchUnsubscribe: \"irn_batchUnsubscribe\",\n },\n iridium: {\n publish: \"iridium_publish\",\n batchPublish: \"iridium_batchPublish\",\n subscribe: \"iridium_subscribe\",\n batchSubscribe: \"iridium_batchSubscribe\",\n subscription: \"iridium_subscription\",\n unsubscribe: \"iridium_unsubscribe\",\n batchUnsubscribe: \"iridium_batchUnsubscribe\",\n },\n};\n//# sourceMappingURL=jsonrpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL2pzb25ycGMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL2pzb25ycGMuanM/N2U2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUkVMQVlfSlNPTlJQQyA9IHtcbiAgICB3YWt1OiB7XG4gICAgICAgIHB1Ymxpc2g6IFwid2FrdV9wdWJsaXNoXCIsXG4gICAgICAgIGJhdGNoUHVibGlzaDogXCJ3YWt1X2JhdGNoUHVibGlzaFwiLFxuICAgICAgICBzdWJzY3JpYmU6IFwid2FrdV9zdWJzY3JpYmVcIixcbiAgICAgICAgYmF0Y2hTdWJzY3JpYmU6IFwid2FrdV9iYXRjaFN1YnNjcmliZVwiLFxuICAgICAgICBzdWJzY3JpcHRpb246IFwid2FrdV9zdWJzY3JpcHRpb25cIixcbiAgICAgICAgdW5zdWJzY3JpYmU6IFwid2FrdV91bnN1YnNjcmliZVwiLFxuICAgICAgICBiYXRjaFVuc3Vic2NyaWJlOiBcIndha3VfYmF0Y2hVbnN1YnNjcmliZVwiLFxuICAgIH0sXG4gICAgaXJuOiB7XG4gICAgICAgIHB1Ymxpc2g6IFwiaXJuX3B1Ymxpc2hcIixcbiAgICAgICAgYmF0Y2hQdWJsaXNoOiBcImlybl9iYXRjaFB1Ymxpc2hcIixcbiAgICAgICAgc3Vic2NyaWJlOiBcImlybl9zdWJzY3JpYmVcIixcbiAgICAgICAgYmF0Y2hTdWJzY3JpYmU6IFwiaXJuX2JhdGNoU3Vic2NyaWJlXCIsXG4gICAgICAgIHN1YnNjcmlwdGlvbjogXCJpcm5fc3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHVuc3Vic2NyaWJlOiBcImlybl91bnN1YnNjcmliZVwiLFxuICAgICAgICBiYXRjaFVuc3Vic2NyaWJlOiBcImlybl9iYXRjaFVuc3Vic2NyaWJlXCIsXG4gICAgfSxcbiAgICBpcmlkaXVtOiB7XG4gICAgICAgIHB1Ymxpc2g6IFwiaXJpZGl1bV9wdWJsaXNoXCIsXG4gICAgICAgIGJhdGNoUHVibGlzaDogXCJpcmlkaXVtX2JhdGNoUHVibGlzaFwiLFxuICAgICAgICBzdWJzY3JpYmU6IFwiaXJpZGl1bV9zdWJzY3JpYmVcIixcbiAgICAgICAgYmF0Y2hTdWJzY3JpYmU6IFwiaXJpZGl1bV9iYXRjaFN1YnNjcmliZVwiLFxuICAgICAgICBzdWJzY3JpcHRpb246IFwiaXJpZGl1bV9zdWJzY3JpcHRpb25cIixcbiAgICAgICAgdW5zdWJzY3JpYmU6IFwiaXJpZGl1bV91bnN1YnNjcmliZVwiLFxuICAgICAgICBiYXRjaFVuc3Vic2NyaWJlOiBcImlyaWRpdW1fYmF0Y2hVbnN1YnNjcmliZVwiLFxuICAgIH0sXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9anNvbnJwYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-api/dist/esm/misc.js": -/*!****************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-api/dist/esm/misc.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertType: function() { return /* binding */ assertType; },\n/* harmony export */ checkParams: function() { return /* binding */ checkParams; },\n/* harmony export */ hasExactParamsLength: function() { return /* binding */ hasExactParamsLength; },\n/* harmony export */ hasRequiredParams: function() { return /* binding */ hasRequiredParams; },\n/* harmony export */ hasRequiredParamsLength: function() { return /* binding */ hasRequiredParamsLength; },\n/* harmony export */ methodEndsWith: function() { return /* binding */ methodEndsWith; }\n/* harmony export */ });\nfunction assertType(obj, key, type = \"string\") {\n if (!obj[key] || typeof obj[key] !== type) {\n throw new Error(`Missing or invalid \"${key}\" param`);\n }\n}\nfunction hasRequiredParams(params, required) {\n let matches = true;\n required.forEach(key => {\n const exists = key in params;\n if (!exists) {\n matches = false;\n }\n });\n return matches;\n}\nfunction hasExactParamsLength(params, length) {\n return Array.isArray(params)\n ? params.length === length\n : Object.keys(params).length === length;\n}\nfunction hasRequiredParamsLength(params, minLength) {\n return Array.isArray(params)\n ? params.length >= minLength\n : Object.keys(params).length >= minLength;\n}\nfunction checkParams(params, required, optional) {\n const exact = !optional.length;\n const matchesLength = exact\n ? hasExactParamsLength(params, required.length)\n : hasRequiredParamsLength(params, required.length);\n if (!matchesLength)\n return false;\n return hasRequiredParams(params, required);\n}\nfunction methodEndsWith(method, expected, separator = \"_\") {\n const split = method.split(separator);\n return (split[split.length - 1].trim().toLowerCase() ===\n expected.trim().toLowerCase());\n}\n//# sourceMappingURL=misc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL21pc2MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU87QUFDUDtBQUNBLCtDQUErQyxJQUFJO0FBQ25EO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3JlbGF5LWFwaS9kaXN0L2VzbS9taXNjLmpzPzI5Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFR5cGUob2JqLCBrZXksIHR5cGUgPSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKCFvYmpba2V5XSB8fCB0eXBlb2Ygb2JqW2tleV0gIT09IHR5cGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIG9yIGludmFsaWQgXCIke2tleX1cIiBwYXJhbWApO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBoYXNSZXF1aXJlZFBhcmFtcyhwYXJhbXMsIHJlcXVpcmVkKSB7XG4gICAgbGV0IG1hdGNoZXMgPSB0cnVlO1xuICAgIHJlcXVpcmVkLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RzID0ga2V5IGluIHBhcmFtcztcbiAgICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgICAgIG1hdGNoZXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBtYXRjaGVzO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhc0V4YWN0UGFyYW1zTGVuZ3RoKHBhcmFtcywgbGVuZ3RoKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGFyYW1zKVxuICAgICAgICA/IHBhcmFtcy5sZW5ndGggPT09IGxlbmd0aFxuICAgICAgICA6IE9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoID09PSBsZW5ndGg7XG59XG5leHBvcnQgZnVuY3Rpb24gaGFzUmVxdWlyZWRQYXJhbXNMZW5ndGgocGFyYW1zLCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShwYXJhbXMpXG4gICAgICAgID8gcGFyYW1zLmxlbmd0aCA+PSBtaW5MZW5ndGhcbiAgICAgICAgOiBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA+PSBtaW5MZW5ndGg7XG59XG5leHBvcnQgZnVuY3Rpb24gY2hlY2tQYXJhbXMocGFyYW1zLCByZXF1aXJlZCwgb3B0aW9uYWwpIHtcbiAgICBjb25zdCBleGFjdCA9ICFvcHRpb25hbC5sZW5ndGg7XG4gICAgY29uc3QgbWF0Y2hlc0xlbmd0aCA9IGV4YWN0XG4gICAgICAgID8gaGFzRXhhY3RQYXJhbXNMZW5ndGgocGFyYW1zLCByZXF1aXJlZC5sZW5ndGgpXG4gICAgICAgIDogaGFzUmVxdWlyZWRQYXJhbXNMZW5ndGgocGFyYW1zLCByZXF1aXJlZC5sZW5ndGgpO1xuICAgIGlmICghbWF0Y2hlc0xlbmd0aClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBoYXNSZXF1aXJlZFBhcmFtcyhwYXJhbXMsIHJlcXVpcmVkKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtZXRob2RFbmRzV2l0aChtZXRob2QsIGV4cGVjdGVkLCBzZXBhcmF0b3IgPSBcIl9cIikge1xuICAgIGNvbnN0IHNwbGl0ID0gbWV0aG9kLnNwbGl0KHNlcGFyYXRvcik7XG4gICAgcmV0dXJuIChzcGxpdFtzcGxpdC5sZW5ndGggLSAxXS50cmltKCkudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgZXhwZWN0ZWQudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWlzYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-api/dist/esm/misc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-api/dist/esm/parsers.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-api/dist/esm/parsers.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parsePublishRequest: function() { return /* binding */ parsePublishRequest; },\n/* harmony export */ parseSubscribeRequest: function() { return /* binding */ parseSubscribeRequest; },\n/* harmony export */ parseSubscriptionRequest: function() { return /* binding */ parseSubscriptionRequest; },\n/* harmony export */ parseUnsubscribeRequest: function() { return /* binding */ parseUnsubscribeRequest; }\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/relay-api/dist/esm/misc.js\");\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validators */ \"./node_modules/@walletconnect/relay-api/dist/esm/validators.js\");\n\n\nfunction parseSubscribeRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscribeMethod)(request.method)) {\n throw new Error(\"JSON-RPC Request has invalid subscribe method\");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscribeParams)(request.params)) {\n throw new Error(\"JSON-RPC Request has invalid subscribe params\");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"topic\");\n return params;\n}\nfunction parsePublishRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isPublishMethod)(request.method)) {\n throw new Error(\"JSON-RPC Request has invalid publish method\");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isPublishParams)(request.params)) {\n throw new Error(\"JSON-RPC Request has invalid publish params\");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"topic\");\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"message\");\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"ttl\", \"number\");\n return params;\n}\nfunction parseUnsubscribeRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isUnsubscribeMethod)(request.method)) {\n throw new Error(\"JSON-RPC Request has invalid unsubscribe method\");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isUnsubscribeParams)(request.params)) {\n throw new Error(\"JSON-RPC Request has invalid unsubscribe params\");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"id\");\n return params;\n}\nfunction parseSubscriptionRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscriptionMethod)(request.method)) {\n throw new Error(\"JSON-RPC Request has invalid subscription method\");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscriptionParams)(request.params)) {\n throw new Error(\"JSON-RPC Request has invalid subscription params\");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"id\");\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, \"data\");\n return params;\n}\n//# sourceMappingURL=parsers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL3BhcnNlcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9DO0FBQ3lKO0FBQ3RMO0FBQ1AsU0FBUyw4REFBaUI7QUFDMUI7QUFDQTtBQUNBLFNBQVMsOERBQWlCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLElBQUksaURBQVU7QUFDZDtBQUNBO0FBQ087QUFDUCxTQUFTLDREQUFlO0FBQ3hCO0FBQ0E7QUFDQSxTQUFTLDREQUFlO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLElBQUksaURBQVU7QUFDZCxJQUFJLGlEQUFVO0FBQ2QsSUFBSSxpREFBVTtBQUNkO0FBQ0E7QUFDTztBQUNQLFNBQVMsZ0VBQW1CO0FBQzVCO0FBQ0E7QUFDQSxTQUFTLGdFQUFtQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxJQUFJLGlEQUFVO0FBQ2Q7QUFDQTtBQUNPO0FBQ1AsU0FBUyxpRUFBb0I7QUFDN0I7QUFDQTtBQUNBLFNBQVMsaUVBQW9CO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLElBQUksaURBQVU7QUFDZCxJQUFJLGlEQUFVO0FBQ2Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9yZWxheS1hcGkvZGlzdC9lc20vcGFyc2Vycy5qcz8xNjc3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydFR5cGUgfSBmcm9tIFwiLi9taXNjXCI7XG5pbXBvcnQgeyBpc1B1Ymxpc2hNZXRob2QsIGlzUHVibGlzaFBhcmFtcywgaXNTdWJzY3JpYmVNZXRob2QsIGlzU3Vic2NyaWJlUGFyYW1zLCBpc1N1YnNjcmlwdGlvbk1ldGhvZCwgaXNTdWJzY3JpcHRpb25QYXJhbXMsIGlzVW5zdWJzY3JpYmVNZXRob2QsIGlzVW5zdWJzY3JpYmVQYXJhbXMsIH0gZnJvbSBcIi4vdmFsaWRhdG9yc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3Vic2NyaWJlUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgaWYgKCFpc1N1YnNjcmliZU1ldGhvZChyZXF1ZXN0Lm1ldGhvZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSlNPTi1SUEMgUmVxdWVzdCBoYXMgaW52YWxpZCBzdWJzY3JpYmUgbWV0aG9kXCIpO1xuICAgIH1cbiAgICBpZiAoIWlzU3Vic2NyaWJlUGFyYW1zKHJlcXVlc3QucGFyYW1zKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJKU09OLVJQQyBSZXF1ZXN0IGhhcyBpbnZhbGlkIHN1YnNjcmliZSBwYXJhbXNcIik7XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IHJlcXVlc3QucGFyYW1zO1xuICAgIGFzc2VydFR5cGUocGFyYW1zLCBcInRvcGljXCIpO1xuICAgIHJldHVybiBwYXJhbXM7XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQdWJsaXNoUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgaWYgKCFpc1B1Ymxpc2hNZXRob2QocmVxdWVzdC5tZXRob2QpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkpTT04tUlBDIFJlcXVlc3QgaGFzIGludmFsaWQgcHVibGlzaCBtZXRob2RcIik7XG4gICAgfVxuICAgIGlmICghaXNQdWJsaXNoUGFyYW1zKHJlcXVlc3QucGFyYW1zKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJKU09OLVJQQyBSZXF1ZXN0IGhhcyBpbnZhbGlkIHB1Ymxpc2ggcGFyYW1zXCIpO1xuICAgIH1cbiAgICBjb25zdCBwYXJhbXMgPSByZXF1ZXN0LnBhcmFtcztcbiAgICBhc3NlcnRUeXBlKHBhcmFtcywgXCJ0b3BpY1wiKTtcbiAgICBhc3NlcnRUeXBlKHBhcmFtcywgXCJtZXNzYWdlXCIpO1xuICAgIGFzc2VydFR5cGUocGFyYW1zLCBcInR0bFwiLCBcIm51bWJlclwiKTtcbiAgICByZXR1cm4gcGFyYW1zO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVW5zdWJzY3JpYmVSZXF1ZXN0KHJlcXVlc3QpIHtcbiAgICBpZiAoIWlzVW5zdWJzY3JpYmVNZXRob2QocmVxdWVzdC5tZXRob2QpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkpTT04tUlBDIFJlcXVlc3QgaGFzIGludmFsaWQgdW5zdWJzY3JpYmUgbWV0aG9kXCIpO1xuICAgIH1cbiAgICBpZiAoIWlzVW5zdWJzY3JpYmVQYXJhbXMocmVxdWVzdC5wYXJhbXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkpTT04tUlBDIFJlcXVlc3QgaGFzIGludmFsaWQgdW5zdWJzY3JpYmUgcGFyYW1zXCIpO1xuICAgIH1cbiAgICBjb25zdCBwYXJhbXMgPSByZXF1ZXN0LnBhcmFtcztcbiAgICBhc3NlcnRUeXBlKHBhcmFtcywgXCJpZFwiKTtcbiAgICByZXR1cm4gcGFyYW1zO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3Vic2NyaXB0aW9uUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgaWYgKCFpc1N1YnNjcmlwdGlvbk1ldGhvZChyZXF1ZXN0Lm1ldGhvZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSlNPTi1SUEMgUmVxdWVzdCBoYXMgaW52YWxpZCBzdWJzY3JpcHRpb24gbWV0aG9kXCIpO1xuICAgIH1cbiAgICBpZiAoIWlzU3Vic2NyaXB0aW9uUGFyYW1zKHJlcXVlc3QucGFyYW1zKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJKU09OLVJQQyBSZXF1ZXN0IGhhcyBpbnZhbGlkIHN1YnNjcmlwdGlvbiBwYXJhbXNcIik7XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IHJlcXVlc3QucGFyYW1zO1xuICAgIGFzc2VydFR5cGUocGFyYW1zLCBcImlkXCIpO1xuICAgIGFzc2VydFR5cGUocGFyYW1zLCBcImRhdGFcIik7XG4gICAgcmV0dXJuIHBhcmFtcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-api/dist/esm/parsers.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-api/dist/esm/types.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-api/dist/esm/types.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL3R5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC9yZWxheS1hcGkvZGlzdC9lc20vdHlwZXMuanM/M2NlOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyMgc291cmNlTWFwcGluZ1VSTD10eXBlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-api/dist/esm/types.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/relay-api/dist/esm/validators.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/relay-api/dist/esm/validators.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isPublishMethod: function() { return /* binding */ isPublishMethod; },\n/* harmony export */ isPublishParams: function() { return /* binding */ isPublishParams; },\n/* harmony export */ isPublishRequest: function() { return /* binding */ isPublishRequest; },\n/* harmony export */ isSubscribeMethod: function() { return /* binding */ isSubscribeMethod; },\n/* harmony export */ isSubscribeParams: function() { return /* binding */ isSubscribeParams; },\n/* harmony export */ isSubscribeRequest: function() { return /* binding */ isSubscribeRequest; },\n/* harmony export */ isSubscriptionMethod: function() { return /* binding */ isSubscriptionMethod; },\n/* harmony export */ isSubscriptionParams: function() { return /* binding */ isSubscriptionParams; },\n/* harmony export */ isSubscriptionRequest: function() { return /* binding */ isSubscriptionRequest; },\n/* harmony export */ isUnsubscribeMethod: function() { return /* binding */ isUnsubscribeMethod; },\n/* harmony export */ isUnsubscribeParams: function() { return /* binding */ isUnsubscribeParams; },\n/* harmony export */ isUnsubscribeRequest: function() { return /* binding */ isUnsubscribeRequest; }\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/relay-api/dist/esm/misc.js\");\n\nfunction isSubscribeRequest(request) {\n return isSubscribeMethod(request.method) && isSubscribeParams(request.params);\n}\nfunction isSubscribeMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, \"subscribe\");\n}\nfunction isSubscribeParams(params) {\n const required = [\"topic\"];\n const optional = [];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\nfunction isPublishRequest(request) {\n return isPublishMethod(request.method) && isPublishParams(request.params);\n}\nfunction isPublishMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, \"publish\");\n}\nfunction isPublishParams(params) {\n const required = [\"message\", \"topic\", \"ttl\"];\n const optional = [\"prompt\", \"tag\"];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\nfunction isUnsubscribeRequest(request) {\n return (isUnsubscribeMethod(request.method) && isUnsubscribeParams(request.params));\n}\nfunction isUnsubscribeMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, \"unsubscribe\");\n}\nfunction isUnsubscribeParams(params) {\n const required = [\"id\", \"topic\"];\n const optional = [];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\nfunction isSubscriptionRequest(request) {\n return (isSubscriptionMethod(request.method) && isSubscriptionParams(request.params));\n}\nfunction isSubscriptionMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, \"subscription\");\n}\nfunction isSubscriptionParams(params) {\n const required = [\"id\", \"data\"];\n const optional = [];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\n//# sourceMappingURL=validators.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvcmVsYXktYXBpL2Rpc3QvZXNtL3ZhbGlkYXRvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFxRDtBQUM5QztBQUNQO0FBQ0E7QUFDTztBQUNQLFdBQVcscURBQWM7QUFDekI7QUFDTztBQUNQO0FBQ0E7QUFDQSxXQUFXLGtEQUFXO0FBQ3RCO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxXQUFXLHFEQUFjO0FBQ3pCO0FBQ087QUFDUDtBQUNBO0FBQ0EsV0FBVyxrREFBVztBQUN0QjtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsV0FBVyxxREFBYztBQUN6QjtBQUNPO0FBQ1A7QUFDQTtBQUNBLFdBQVcsa0RBQVc7QUFDdEI7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQLFdBQVcscURBQWM7QUFDekI7QUFDTztBQUNQO0FBQ0E7QUFDQSxXQUFXLGtEQUFXO0FBQ3RCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3JlbGF5LWFwaS9kaXN0L2VzbS92YWxpZGF0b3JzLmpzP2UxNGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hlY2tQYXJhbXMsIG1ldGhvZEVuZHNXaXRoIH0gZnJvbSBcIi4vbWlzY1wiO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3Vic2NyaWJlUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgcmV0dXJuIGlzU3Vic2NyaWJlTWV0aG9kKHJlcXVlc3QubWV0aG9kKSAmJiBpc1N1YnNjcmliZVBhcmFtcyhyZXF1ZXN0LnBhcmFtcyk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdWJzY3JpYmVNZXRob2QobWV0aG9kKSB7XG4gICAgcmV0dXJuIG1ldGhvZEVuZHNXaXRoKG1ldGhvZCwgXCJzdWJzY3JpYmVcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdWJzY3JpYmVQYXJhbXMocGFyYW1zKSB7XG4gICAgY29uc3QgcmVxdWlyZWQgPSBbXCJ0b3BpY1wiXTtcbiAgICBjb25zdCBvcHRpb25hbCA9IFtdO1xuICAgIHJldHVybiBjaGVja1BhcmFtcyhwYXJhbXMsIHJlcXVpcmVkLCBvcHRpb25hbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNQdWJsaXNoUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgcmV0dXJuIGlzUHVibGlzaE1ldGhvZChyZXF1ZXN0Lm1ldGhvZCkgJiYgaXNQdWJsaXNoUGFyYW1zKHJlcXVlc3QucGFyYW1zKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1B1Ymxpc2hNZXRob2QobWV0aG9kKSB7XG4gICAgcmV0dXJuIG1ldGhvZEVuZHNXaXRoKG1ldGhvZCwgXCJwdWJsaXNoXCIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUHVibGlzaFBhcmFtcyhwYXJhbXMpIHtcbiAgICBjb25zdCByZXF1aXJlZCA9IFtcIm1lc3NhZ2VcIiwgXCJ0b3BpY1wiLCBcInR0bFwiXTtcbiAgICBjb25zdCBvcHRpb25hbCA9IFtcInByb21wdFwiLCBcInRhZ1wiXTtcbiAgICByZXR1cm4gY2hlY2tQYXJhbXMocGFyYW1zLCByZXF1aXJlZCwgb3B0aW9uYWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5zdWJzY3JpYmVSZXF1ZXN0KHJlcXVlc3QpIHtcbiAgICByZXR1cm4gKGlzVW5zdWJzY3JpYmVNZXRob2QocmVxdWVzdC5tZXRob2QpICYmIGlzVW5zdWJzY3JpYmVQYXJhbXMocmVxdWVzdC5wYXJhbXMpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1Vuc3Vic2NyaWJlTWV0aG9kKG1ldGhvZCkge1xuICAgIHJldHVybiBtZXRob2RFbmRzV2l0aChtZXRob2QsIFwidW5zdWJzY3JpYmVcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNVbnN1YnNjcmliZVBhcmFtcyhwYXJhbXMpIHtcbiAgICBjb25zdCByZXF1aXJlZCA9IFtcImlkXCIsIFwidG9waWNcIl07XG4gICAgY29uc3Qgb3B0aW9uYWwgPSBbXTtcbiAgICByZXR1cm4gY2hlY2tQYXJhbXMocGFyYW1zLCByZXF1aXJlZCwgb3B0aW9uYWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU3Vic2NyaXB0aW9uUmVxdWVzdChyZXF1ZXN0KSB7XG4gICAgcmV0dXJuIChpc1N1YnNjcmlwdGlvbk1ldGhvZChyZXF1ZXN0Lm1ldGhvZCkgJiYgaXNTdWJzY3JpcHRpb25QYXJhbXMocmVxdWVzdC5wYXJhbXMpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N1YnNjcmlwdGlvbk1ldGhvZChtZXRob2QpIHtcbiAgICByZXR1cm4gbWV0aG9kRW5kc1dpdGgobWV0aG9kLCBcInN1YnNjcmlwdGlvblwiKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N1YnNjcmlwdGlvblBhcmFtcyhwYXJhbXMpIHtcbiAgICBjb25zdCByZXF1aXJlZCA9IFtcImlkXCIsIFwiZGF0YVwiXTtcbiAgICBjb25zdCBvcHRpb25hbCA9IFtdO1xuICAgIHJldHVybiBjaGVja1BhcmFtcyhwYXJhbXMsIHJlcXVpcmVkLCBvcHRpb25hbCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD12YWxpZGF0b3JzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/relay-api/dist/esm/validators.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/constants/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/constants/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./misc */ \"./node_modules/@walletconnect/time/dist/cjs/constants/misc.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./time */ \"./node_modules/@walletconnect/time/dist/cjs/constants/time.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy9jb25zdGFudHMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0JBQWdCLG1CQUFPLENBQUMsaUZBQU87QUFDL0IscUJBQXFCLG1CQUFPLENBQUMsNkVBQVE7QUFDckMscUJBQXFCLG1CQUFPLENBQUMsNkVBQVE7QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3RpbWUvZGlzdC9janMvY29uc3RhbnRzL2luZGV4LmpzPzJlZTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudHNsaWJfMS5fX2V4cG9ydFN0YXIocmVxdWlyZShcIi4vbWlzY1wiKSwgZXhwb3J0cyk7XG50c2xpYl8xLl9fZXhwb3J0U3RhcihyZXF1aXJlKFwiLi90aW1lXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/constants/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/constants/misc.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/constants/misc.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy9jb25zdGFudHMvbWlzYy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0IsR0FBRyxtQkFBbUI7QUFDMUMsbUJBQW1CO0FBQ25CLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy9jb25zdGFudHMvbWlzYy5qcz9iNDM2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5PTkVfVEhPVVNBTkQgPSBleHBvcnRzLk9ORV9IVU5EUkVEID0gdm9pZCAwO1xuZXhwb3J0cy5PTkVfSFVORFJFRCA9IDEwMDtcbmV4cG9ydHMuT05FX1RIT1VTQU5EID0gMTAwMDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pc2MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/constants/misc.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/constants/time.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/constants/time.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy9jb25zdGFudHMvdGltZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsR0FBRyxrQkFBa0IsR0FBRyxtQkFBbUIsR0FBRyxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FBRyxtQkFBbUIsR0FBRyxrQkFBa0IsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0IsR0FBRyxlQUFlLEdBQUcseUJBQXlCLEdBQUcsb0JBQW9CLEdBQUcsaUJBQWlCLEdBQUcsbUJBQW1CLEdBQUcsZ0JBQWdCLEdBQUcscUJBQXFCLEdBQUcsc0JBQXNCLEdBQUcsbUJBQW1CLEdBQUcsb0JBQW9CLEdBQUcsa0JBQWtCLEdBQUcscUJBQXFCLEdBQUcsc0JBQXNCLEdBQUcsbUJBQW1CLEdBQUcsb0JBQW9CLEdBQUcsa0JBQWtCO0FBQzloQixrQkFBa0I7QUFDbEIsb0JBQW9CO0FBQ3BCLG1CQUFtQjtBQUNuQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIsbUJBQW1CO0FBQ25CLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsZ0JBQWdCO0FBQ2hCLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsb0JBQW9CO0FBQ3BCLHlCQUF5QjtBQUN6QixlQUFlO0FBQ2Ysa0JBQWtCO0FBQ2xCLGlCQUFpQjtBQUNqQixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLGdCQUFnQjtBQUNoQixpQkFBaUI7QUFDakIsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixnQkFBZ0I7QUFDaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3RpbWUvZGlzdC9janMvY29uc3RhbnRzL3RpbWUuanM/ZGRkMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuT05FX1lFQVIgPSBleHBvcnRzLkZPVVJfV0VFS1MgPSBleHBvcnRzLlRIUkVFX1dFRUtTID0gZXhwb3J0cy5UV09fV0VFS1MgPSBleHBvcnRzLk9ORV9XRUVLID0gZXhwb3J0cy5USElSVFlfREFZUyA9IGV4cG9ydHMuU0VWRU5fREFZUyA9IGV4cG9ydHMuRklWRV9EQVlTID0gZXhwb3J0cy5USFJFRV9EQVlTID0gZXhwb3J0cy5PTkVfREFZID0gZXhwb3J0cy5UV0VOVFlfRk9VUl9IT1VSUyA9IGV4cG9ydHMuVFdFTFZFX0hPVVJTID0gZXhwb3J0cy5TSVhfSE9VUlMgPSBleHBvcnRzLlRIUkVFX0hPVVJTID0gZXhwb3J0cy5PTkVfSE9VUiA9IGV4cG9ydHMuU0lYVFlfTUlOVVRFUyA9IGV4cG9ydHMuVEhJUlRZX01JTlVURVMgPSBleHBvcnRzLlRFTl9NSU5VVEVTID0gZXhwb3J0cy5GSVZFX01JTlVURVMgPSBleHBvcnRzLk9ORV9NSU5VVEUgPSBleHBvcnRzLlNJWFRZX1NFQ09ORFMgPSBleHBvcnRzLlRISVJUWV9TRUNPTkRTID0gZXhwb3J0cy5URU5fU0VDT05EUyA9IGV4cG9ydHMuRklWRV9TRUNPTkRTID0gZXhwb3J0cy5PTkVfU0VDT05EID0gdm9pZCAwO1xuZXhwb3J0cy5PTkVfU0VDT05EID0gMTtcbmV4cG9ydHMuRklWRV9TRUNPTkRTID0gNTtcbmV4cG9ydHMuVEVOX1NFQ09ORFMgPSAxMDtcbmV4cG9ydHMuVEhJUlRZX1NFQ09ORFMgPSAzMDtcbmV4cG9ydHMuU0lYVFlfU0VDT05EUyA9IDYwO1xuZXhwb3J0cy5PTkVfTUlOVVRFID0gZXhwb3J0cy5TSVhUWV9TRUNPTkRTO1xuZXhwb3J0cy5GSVZFX01JTlVURVMgPSBleHBvcnRzLk9ORV9NSU5VVEUgKiA1O1xuZXhwb3J0cy5URU5fTUlOVVRFUyA9IGV4cG9ydHMuT05FX01JTlVURSAqIDEwO1xuZXhwb3J0cy5USElSVFlfTUlOVVRFUyA9IGV4cG9ydHMuT05FX01JTlVURSAqIDMwO1xuZXhwb3J0cy5TSVhUWV9NSU5VVEVTID0gZXhwb3J0cy5PTkVfTUlOVVRFICogNjA7XG5leHBvcnRzLk9ORV9IT1VSID0gZXhwb3J0cy5TSVhUWV9NSU5VVEVTO1xuZXhwb3J0cy5USFJFRV9IT1VSUyA9IGV4cG9ydHMuT05FX0hPVVIgKiAzO1xuZXhwb3J0cy5TSVhfSE9VUlMgPSBleHBvcnRzLk9ORV9IT1VSICogNjtcbmV4cG9ydHMuVFdFTFZFX0hPVVJTID0gZXhwb3J0cy5PTkVfSE9VUiAqIDEyO1xuZXhwb3J0cy5UV0VOVFlfRk9VUl9IT1VSUyA9IGV4cG9ydHMuT05FX0hPVVIgKiAyNDtcbmV4cG9ydHMuT05FX0RBWSA9IGV4cG9ydHMuVFdFTlRZX0ZPVVJfSE9VUlM7XG5leHBvcnRzLlRIUkVFX0RBWVMgPSBleHBvcnRzLk9ORV9EQVkgKiAzO1xuZXhwb3J0cy5GSVZFX0RBWVMgPSBleHBvcnRzLk9ORV9EQVkgKiA1O1xuZXhwb3J0cy5TRVZFTl9EQVlTID0gZXhwb3J0cy5PTkVfREFZICogNztcbmV4cG9ydHMuVEhJUlRZX0RBWVMgPSBleHBvcnRzLk9ORV9EQVkgKiAzMDtcbmV4cG9ydHMuT05FX1dFRUsgPSBleHBvcnRzLlNFVkVOX0RBWVM7XG5leHBvcnRzLlRXT19XRUVLUyA9IGV4cG9ydHMuT05FX1dFRUsgKiAyO1xuZXhwb3J0cy5USFJFRV9XRUVLUyA9IGV4cG9ydHMuT05FX1dFRUsgKiAzO1xuZXhwb3J0cy5GT1VSX1dFRUtTID0gZXhwb3J0cy5PTkVfV0VFSyAqIDQ7XG5leHBvcnRzLk9ORV9ZRUFSID0gZXhwb3J0cy5PTkVfREFZICogMzY1O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/constants/time.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/index.js": -/*!************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/index.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./utils */ \"./node_modules/@walletconnect/time/dist/cjs/utils/index.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./watch */ \"./node_modules/@walletconnect/time/dist/cjs/watch.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./types */ \"./node_modules/@walletconnect/time/dist/cjs/types/index.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./constants */ \"./node_modules/@walletconnect/time/dist/cjs/constants/index.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsbUJBQU8sQ0FBQyxpRkFBTztBQUMvQixxQkFBcUIsbUJBQU8sQ0FBQywyRUFBUztBQUN0QyxxQkFBcUIsbUJBQU8sQ0FBQyxxRUFBUztBQUN0QyxxQkFBcUIsbUJBQU8sQ0FBQywyRUFBUztBQUN0QyxxQkFBcUIsbUJBQU8sQ0FBQyxtRkFBYTtBQUMxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy9pbmRleC5qcz8yOWI0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3V0aWxzXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3dhdGNoXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3R5cGVzXCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2NvbnN0YW50c1wiKSwgZXhwb3J0cyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/types/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/types/index.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./watch */ \"./node_modules/@walletconnect/time/dist/cjs/types/watch.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy90eXBlcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsbUJBQU8sQ0FBQyxpRkFBTztBQUMvQixxQkFBcUIsbUJBQU8sQ0FBQywyRUFBUztBQUN0QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy90eXBlcy9pbmRleC5qcz8zNjI1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL3dhdGNoXCIpLCBleHBvcnRzKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/types/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/types/watch.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/types/watch.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy90eXBlcy93YXRjaC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxjQUFjO0FBQ2Q7QUFDQTtBQUNBLGNBQWM7QUFDZCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy90eXBlcy93YXRjaC5qcz80YmNkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5JV2F0Y2ggPSB2b2lkIDA7XG5jbGFzcyBJV2F0Y2gge1xufVxuZXhwb3J0cy5JV2F0Y2ggPSBJV2F0Y2g7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXRjaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/types/watch.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/utils/convert.js": -/*!********************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/utils/convert.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = __webpack_require__(/*! ../constants */ \"./node_modules/@walletconnect/time/dist/cjs/constants/index.js\");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy91dGlscy9jb252ZXJ0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QixHQUFHLHFCQUFxQjtBQUMvQyxvQkFBb0IsbUJBQU8sQ0FBQyxvRkFBYztBQUMxQztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC90aW1lL2Rpc3QvY2pzL3V0aWxzL2NvbnZlcnQuanM/OTkxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZnJvbU1pbGlzZWNvbmRzID0gZXhwb3J0cy50b01pbGlzZWNvbmRzID0gdm9pZCAwO1xuY29uc3QgY29uc3RhbnRzXzEgPSByZXF1aXJlKFwiLi4vY29uc3RhbnRzXCIpO1xuZnVuY3Rpb24gdG9NaWxpc2Vjb25kcyhzZWNvbmRzKSB7XG4gICAgcmV0dXJuIHNlY29uZHMgKiBjb25zdGFudHNfMS5PTkVfVEhPVVNBTkQ7XG59XG5leHBvcnRzLnRvTWlsaXNlY29uZHMgPSB0b01pbGlzZWNvbmRzO1xuZnVuY3Rpb24gZnJvbU1pbGlzZWNvbmRzKG1pbGlzZWNvbmRzKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IobWlsaXNlY29uZHMgLyBjb25zdGFudHNfMS5PTkVfVEhPVVNBTkQpO1xufVxuZXhwb3J0cy5mcm9tTWlsaXNlY29uZHMgPSBmcm9tTWlsaXNlY29uZHM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb252ZXJ0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/utils/convert.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/utils/delay.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/utils/delay.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy91dGlscy9kZWxheS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0EsYUFBYTtBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC90aW1lL2Rpc3QvY2pzL3V0aWxzL2RlbGF5LmpzPzliOTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlbGF5ID0gdm9pZCAwO1xuZnVuY3Rpb24gZGVsYXkodGltZW91dCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICB9KTtcbn1cbmV4cG9ydHMuZGVsYXkgPSBkZWxheTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlbGF5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/utils/delay.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/utils/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/utils/index.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js\");\ntslib_1.__exportStar(__webpack_require__(/*! ./delay */ \"./node_modules/@walletconnect/time/dist/cjs/utils/delay.js\"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./convert */ \"./node_modules/@walletconnect/time/dist/cjs/utils/convert.js\"), exports);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy91dGlscy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsbUJBQU8sQ0FBQyxpRkFBTztBQUMvQixxQkFBcUIsbUJBQU8sQ0FBQywyRUFBUztBQUN0QyxxQkFBcUIsbUJBQU8sQ0FBQywrRUFBVztBQUN4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy91dGlscy9pbmRleC5qcz9iN2NjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2RlbGF5XCIpLCBleHBvcnRzKTtcbnRzbGliXzEuX19leHBvcnRTdGFyKHJlcXVpcmUoXCIuL2NvbnZlcnRcIiksIGV4cG9ydHMpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/dist/cjs/watch.js": -/*!************************************************************!*\ - !*** ./node_modules/@walletconnect/time/dist/cjs/watch.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== \"undefined\") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === \"undefined\") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports[\"default\"] = Watch;\n//# sourceMappingURL=watch.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy93YXRjaC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFLE1BQU07QUFDdEU7QUFDQSxxQ0FBcUMscUJBQXFCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFLE1BQU07QUFDdEU7QUFDQTtBQUNBLHFDQUFxQyxxQ0FBcUM7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsTUFBTTtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2Isa0JBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9kaXN0L2Nqcy93YXRjaC5qcz8yZGM0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5XYXRjaCA9IHZvaWQgMDtcbmNsYXNzIFdhdGNoIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy50aW1lc3RhbXBzID0gbmV3IE1hcCgpO1xuICAgIH1cbiAgICBzdGFydChsYWJlbCkge1xuICAgICAgICBpZiAodGhpcy50aW1lc3RhbXBzLmhhcyhsYWJlbCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgV2F0Y2ggYWxyZWFkeSBzdGFydGVkIGZvciBsYWJlbDogJHtsYWJlbH1gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRpbWVzdGFtcHMuc2V0KGxhYmVsLCB7IHN0YXJ0ZWQ6IERhdGUubm93KCkgfSk7XG4gICAgfVxuICAgIHN0b3AobGFiZWwpIHtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5nZXQobGFiZWwpO1xuICAgICAgICBpZiAodHlwZW9mIHRpbWVzdGFtcC5lbGFwc2VkICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdhdGNoIGFscmVhZHkgc3RvcHBlZCBmb3IgbGFiZWw6ICR7bGFiZWx9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWxhcHNlZCA9IERhdGUubm93KCkgLSB0aW1lc3RhbXAuc3RhcnRlZDtcbiAgICAgICAgdGhpcy50aW1lc3RhbXBzLnNldChsYWJlbCwgeyBzdGFydGVkOiB0aW1lc3RhbXAuc3RhcnRlZCwgZWxhcHNlZCB9KTtcbiAgICB9XG4gICAgZ2V0KGxhYmVsKSB7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IHRoaXMudGltZXN0YW1wcy5nZXQobGFiZWwpO1xuICAgICAgICBpZiAodHlwZW9mIHRpbWVzdGFtcCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB0aW1lc3RhbXAgZm91bmQgZm9yIGxhYmVsOiAke2xhYmVsfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XG4gICAgfVxuICAgIGVsYXBzZWQobGFiZWwpIHtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5nZXQobGFiZWwpO1xuICAgICAgICBjb25zdCBlbGFwc2VkID0gdGltZXN0YW1wLmVsYXBzZWQgfHwgRGF0ZS5ub3coKSAtIHRpbWVzdGFtcC5zdGFydGVkO1xuICAgICAgICByZXR1cm4gZWxhcHNlZDtcbiAgICB9XG59XG5leHBvcnRzLldhdGNoID0gV2F0Y2g7XG5leHBvcnRzLmRlZmF1bHQgPSBXYXRjaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhdGNoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/dist/cjs/watch.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\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\nfunction __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\nvar __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\nfunction __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\nfunction __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\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __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\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __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\nfunction __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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdGltZS9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0Isc0NBQXNDLGtCQUFrQjtBQUNuRiwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsY0FBYztBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSw2Q0FBNkMsUUFBUTtBQUNyRDtBQUNBO0FBQ0E7QUFDTztBQUNQLG9DQUFvQztBQUNwQztBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQLDRCQUE0QiwrREFBK0QsaUJBQWlCO0FBQzVHO0FBQ0Esb0NBQW9DLE1BQU0sK0JBQStCLFlBQVk7QUFDckYsbUNBQW1DLE1BQU0sbUNBQW1DLFlBQVk7QUFDeEYsZ0NBQWdDO0FBQ2hDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDTztBQUNQLGNBQWMsNkJBQTZCLDBCQUEwQixjQUFjLHFCQUFxQjtBQUN4RyxpQkFBaUIsb0RBQW9ELHFFQUFxRSxjQUFjO0FBQ3hKLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDLG1DQUFtQyxTQUFTO0FBQzVDLG1DQUFtQyxXQUFXLFVBQVU7QUFDeEQsMENBQTBDLGNBQWM7QUFDeEQ7QUFDQSw4R0FBOEcsT0FBTztBQUNySCxpRkFBaUYsaUJBQWlCO0FBQ2xHLHlEQUF5RCxnQkFBZ0IsUUFBUTtBQUNqRiwrQ0FBK0MsZ0JBQWdCLGdCQUFnQjtBQUMvRTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0EsVUFBVSxZQUFZLGFBQWEsU0FBUyxVQUFVO0FBQ3RELG9DQUFvQyxTQUFTO0FBQzdDO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsTUFBTTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNkJBQTZCLHNCQUFzQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1Asa0RBQWtELFFBQVE7QUFDMUQseUNBQXlDLFFBQVE7QUFDakQseURBQXlELFFBQVE7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLGlCQUFpQix1RkFBdUYsY0FBYztBQUN0SCx1QkFBdUIsZ0NBQWdDLHFDQUFxQywyQ0FBMkM7QUFDdkksNEJBQTRCLE1BQU0saUJBQWlCLFlBQVk7QUFDL0QsdUJBQXVCO0FBQ3ZCLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0IsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDTztBQUNQO0FBQ0EsaUJBQWlCLDZDQUE2QyxVQUFVLHNEQUFzRCxjQUFjO0FBQzVJLDBCQUEwQiw2QkFBNkIsb0JBQW9CLGdEQUFnRCxrQkFBa0I7QUFDN0k7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDJHQUEyRyx1RkFBdUYsY0FBYztBQUNoTix1QkFBdUIsOEJBQThCLGdEQUFnRCx3REFBd0Q7QUFDN0osNkNBQTZDLHNDQUFzQyxVQUFVLG1CQUFtQixJQUFJO0FBQ3BIO0FBQ0E7QUFDTztBQUNQLGlDQUFpQyx1Q0FBdUMsWUFBWSxLQUFLLE9BQU87QUFDaEc7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC90aW1lL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanM/NjUzYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jcmVhdGVCaW5kaW5nKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIGV4cG9ydHMpIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFleHBvcnRzLmhhc093blByb3BlcnR5KHApKSBleHBvcnRzW3BdID0gbVtwXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByaXZhdGVNYXAuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHByaXZhdGVNYXAsIHZhbHVlKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZU1hcC5zZXQocmVjZWl2ZXIsIHZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/utils/dist/index.es.js": -/*!************************************************************!*\ - !*** ./node_modules/@walletconnect/utils/dist/index.es.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BASE10: function() { return /* binding */ B; },\n/* harmony export */ BASE16: function() { return /* binding */ p; },\n/* harmony export */ BASE64: function() { return /* binding */ L; },\n/* harmony export */ COLON: function() { return /* binding */ Ln; },\n/* harmony export */ DEFAULT_DEPTH: function() { return /* binding */ X; },\n/* harmony export */ EMPTY_SPACE: function() { return /* binding */ F; },\n/* harmony export */ ENV_MAP: function() { return /* binding */ b; },\n/* harmony export */ ONE_THOUSAND: function() { return /* binding */ xn; },\n/* harmony export */ REACT_NATIVE_PRODUCT: function() { return /* binding */ Ae; },\n/* harmony export */ RELAYER_DEFAULT_PROTOCOL: function() { return /* binding */ xe; },\n/* harmony export */ SDK_TYPE: function() { return /* binding */ _e; },\n/* harmony export */ SLASH: function() { return /* binding */ Ue; },\n/* harmony export */ TYPE_0: function() { return /* binding */ Y; },\n/* harmony export */ TYPE_1: function() { return /* binding */ U; },\n/* harmony export */ UTF8: function() { return /* binding */ x; },\n/* harmony export */ appendToQueryString: function() { return /* binding */ Ce; },\n/* harmony export */ assertType: function() { return /* binding */ Wn; },\n/* harmony export */ buildApprovedNamespaces: function() { return /* binding */ It; },\n/* harmony export */ calcExpiry: function() { return /* binding */ ot; },\n/* harmony export */ capitalize: function() { return /* binding */ Zn; },\n/* harmony export */ capitalizeWord: function() { return /* binding */ Le; },\n/* harmony export */ createDelayedPromise: function() { return /* binding */ Xn; },\n/* harmony export */ createExpiringPromise: function() { return /* binding */ et; },\n/* harmony export */ decodeTypeByte: function() { return /* binding */ $; },\n/* harmony export */ decrypt: function() { return /* binding */ Cn; },\n/* harmony export */ deriveSymKey: function() { return /* binding */ Un; },\n/* harmony export */ deserialize: function() { return /* binding */ Z; },\n/* harmony export */ encodeTypeByte: function() { return /* binding */ Se; },\n/* harmony export */ encrypt: function() { return /* binding */ jn; },\n/* harmony export */ engineEvent: function() { return /* binding */ it; },\n/* harmony export */ enumify: function() { return /* binding */ Qn; },\n/* harmony export */ formatAccountId: function() { return /* binding */ he; },\n/* harmony export */ formatAccountWithChain: function() { return /* binding */ bn; },\n/* harmony export */ formatChainId: function() { return /* binding */ ye; },\n/* harmony export */ formatExpirerTarget: function() { return /* binding */ ne; },\n/* harmony export */ formatIdTarget: function() { return /* binding */ tt; },\n/* harmony export */ formatMessage: function() { return /* binding */ Tn; },\n/* harmony export */ formatMessageContext: function() { return /* binding */ zn; },\n/* harmony export */ formatRelayParams: function() { return /* binding */ We; },\n/* harmony export */ formatRelayRpcUrl: function() { return /* binding */ qn; },\n/* harmony export */ formatTopicTarget: function() { return /* binding */ nt; },\n/* harmony export */ formatUA: function() { return /* binding */ ke; },\n/* harmony export */ formatUri: function() { return /* binding */ yt; },\n/* harmony export */ generateKeyPair: function() { return /* binding */ Rn; },\n/* harmony export */ generateRandomBytes32: function() { return /* binding */ An; },\n/* harmony export */ getAccountsChains: function() { return /* binding */ R; },\n/* harmony export */ getAccountsFromNamespaces: function() { return /* binding */ On; },\n/* harmony export */ getAddressFromAccount: function() { return /* binding */ Ee; },\n/* harmony export */ getAddressesFromAccounts: function() { return /* binding */ Nn; },\n/* harmony export */ getAppMetadata: function() { return /* binding */ Fn; },\n/* harmony export */ getChainFromAccount: function() { return /* binding */ ve; },\n/* harmony export */ getChainsFromAccounts: function() { return /* binding */ ge; },\n/* harmony export */ getChainsFromNamespace: function() { return /* binding */ M; },\n/* harmony export */ getChainsFromNamespaces: function() { return /* binding */ Sn; },\n/* harmony export */ getChainsFromRequiredNamespaces: function() { return /* binding */ In; },\n/* harmony export */ getDidAddress: function() { return /* binding */ Ne; },\n/* harmony export */ getDidAddressSegments: function() { return /* binding */ K; },\n/* harmony export */ getDidChainId: function() { return /* binding */ be; },\n/* harmony export */ getEnvironment: function() { return /* binding */ j; },\n/* harmony export */ getHttpUrl: function() { return /* binding */ Gn; },\n/* harmony export */ getInternalError: function() { return /* binding */ N; },\n/* harmony export */ getJavascriptID: function() { return /* binding */ Ve; },\n/* harmony export */ getJavascriptOS: function() { return /* binding */ De; },\n/* harmony export */ getLastItems: function() { return /* binding */ Ke; },\n/* harmony export */ getNamespacedDidChainId: function() { return /* binding */ Pn; },\n/* harmony export */ getNamespacesChains: function() { return /* binding */ Ye; },\n/* harmony export */ getNamespacesEventsForChainId: function() { return /* binding */ Qe; },\n/* harmony export */ getNamespacesMethodsForChainId: function() { return /* binding */ Je; },\n/* harmony export */ getRelayClientMetadata: function() { return /* binding */ Hn; },\n/* harmony export */ getRelayProtocolApi: function() { return /* binding */ ut; },\n/* harmony export */ getRelayProtocolName: function() { return /* binding */ at; },\n/* harmony export */ getRequiredNamespacesFromNamespaces: function() { return /* binding */ St; },\n/* harmony export */ getSdkError: function() { return /* binding */ A; },\n/* harmony export */ getUniqueValues: function() { return /* binding */ z; },\n/* harmony export */ handleDeeplinkRedirect: function() { return /* binding */ ct; },\n/* harmony export */ hasOverlap: function() { return /* binding */ O; },\n/* harmony export */ hashKey: function() { return /* binding */ _n; },\n/* harmony export */ hashMessage: function() { return /* binding */ $n; },\n/* harmony export */ isBrowser: function() { return /* binding */ je; },\n/* harmony export */ isCaipNamespace: function() { return /* binding */ te; },\n/* harmony export */ isConformingNamespaces: function() { return /* binding */ an; },\n/* harmony export */ isExpired: function() { return /* binding */ st; },\n/* harmony export */ isNode: function() { return /* binding */ ee; },\n/* harmony export */ isProposalStruct: function() { return /* binding */ At; },\n/* harmony export */ isReactNative: function() { return /* binding */ $e; },\n/* harmony export */ isSessionCompatible: function() { return /* binding */ wt; },\n/* harmony export */ isSessionStruct: function() { return /* binding */ Ut; },\n/* harmony export */ isTypeOneEnvelope: function() { return /* binding */ Vn; },\n/* harmony export */ isUndefined: function() { return /* binding */ I; },\n/* harmony export */ isValidAccountId: function() { return /* binding */ Xe; },\n/* harmony export */ isValidAccounts: function() { return /* binding */ tn; },\n/* harmony export */ isValidActions: function() { return /* binding */ on; },\n/* harmony export */ isValidArray: function() { return /* binding */ C; },\n/* harmony export */ isValidChainId: function() { return /* binding */ D; },\n/* harmony export */ isValidChains: function() { return /* binding */ en; },\n/* harmony export */ isValidController: function() { return /* binding */ _t; },\n/* harmony export */ isValidErrorReason: function() { return /* binding */ Vt; },\n/* harmony export */ isValidEvent: function() { return /* binding */ Kt; },\n/* harmony export */ isValidId: function() { return /* binding */ Ct; },\n/* harmony export */ isValidNamespaceAccounts: function() { return /* binding */ rn; },\n/* harmony export */ isValidNamespaceActions: function() { return /* binding */ se; },\n/* harmony export */ isValidNamespaceChains: function() { return /* binding */ nn; },\n/* harmony export */ isValidNamespaceMethodsOrEvents: function() { return /* binding */ oe; },\n/* harmony export */ isValidNamespaces: function() { return /* binding */ sn; },\n/* harmony export */ isValidNamespacesChainId: function() { return /* binding */ Lt; },\n/* harmony export */ isValidNamespacesEvent: function() { return /* binding */ Ft; },\n/* harmony export */ isValidNamespacesRequest: function() { return /* binding */ xt; },\n/* harmony export */ isValidNumber: function() { return /* binding */ q; },\n/* harmony export */ isValidObject: function() { return /* binding */ H; },\n/* harmony export */ isValidParams: function() { return /* binding */ Dt; },\n/* harmony export */ isValidRelay: function() { return /* binding */ cn; },\n/* harmony export */ isValidRelays: function() { return /* binding */ jt; },\n/* harmony export */ isValidRequest: function() { return /* binding */ kt; },\n/* harmony export */ isValidRequestExpiry: function() { return /* binding */ Gt; },\n/* harmony export */ isValidRequiredNamespaces: function() { return /* binding */ $t; },\n/* harmony export */ isValidResponse: function() { return /* binding */ Mt; },\n/* harmony export */ isValidString: function() { return /* binding */ y; },\n/* harmony export */ isValidUrl: function() { return /* binding */ Rt; },\n/* harmony export */ mapEntries: function() { return /* binding */ Jn; },\n/* harmony export */ mapToObj: function() { return /* binding */ Bn; },\n/* harmony export */ mergeArrays: function() { return /* binding */ S; },\n/* harmony export */ normalizeNamespaces: function() { return /* binding */ re; },\n/* harmony export */ objToMap: function() { return /* binding */ Yn; },\n/* harmony export */ parseAccountId: function() { return /* binding */ W; },\n/* harmony export */ parseChainId: function() { return /* binding */ me; },\n/* harmony export */ parseContextNames: function() { return /* binding */ Me; },\n/* harmony export */ parseExpirerTarget: function() { return /* binding */ rt; },\n/* harmony export */ parseNamespaceKey: function() { return /* binding */ Ze; },\n/* harmony export */ parseRelayParams: function() { return /* binding */ qe; },\n/* harmony export */ parseTopic: function() { return /* binding */ Ge; },\n/* harmony export */ parseUri: function() { return /* binding */ mt; },\n/* harmony export */ serialize: function() { return /* binding */ Ie; },\n/* harmony export */ validateDecoding: function() { return /* binding */ Dn; },\n/* harmony export */ validateEncoding: function() { return /* binding */ Pe; }\n/* harmony export */ });\n/* harmony import */ var _stablelib_chacha20poly1305__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @stablelib/chacha20poly1305 */ \"./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js\");\n/* harmony import */ var _stablelib_hkdf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @stablelib/hkdf */ \"./node_modules/@stablelib/hkdf/lib/hkdf.js\");\n/* harmony import */ var _stablelib_random__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @stablelib/random */ \"./node_modules/@stablelib/random/lib/random.js\");\n/* harmony import */ var _stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @stablelib/sha256 */ \"./node_modules/@stablelib/sha256/lib/sha256.js\");\n/* harmony import */ var _stablelib_x25519__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @stablelib/x25519 */ \"./node_modules/@stablelib/x25519/lib/x25519.js\");\n/* harmony import */ var uint8arrays__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uint8arrays */ \"./node_modules/uint8arrays/esm/src/index.js\");\n/* harmony import */ var detect_browser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! detect-browser */ \"./node_modules/detect-browser/es/index.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @walletconnect/time */ \"./node_modules/@walletconnect/time/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @walletconnect/window-getters */ \"./node_modules/@walletconnect/window-getters/dist/cjs/index.js\");\n/* harmony import */ var _walletconnect_window_metadata__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @walletconnect/window-metadata */ \"./node_modules/@walletconnect/window-metadata/dist/cjs/index.js\");\n/* harmony import */ var query_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! query-string */ \"./node_modules/@walletconnect/utils/node_modules/query-string/index.js\");\n/* harmony import */ var _walletconnect_relay_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @walletconnect/relay-api */ \"./node_modules/@walletconnect/relay-api/dist/esm/index.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nconst k=\":\";function me(e){const[n,t]=e.split(k);return{namespace:n,reference:t}}function ye(e){const{namespace:n,reference:t}=e;return[n,t].join(k)}function W(e){const[n,t,r]=e.split(k);return{namespace:n,reference:t,address:r}}function he(e){const{namespace:n,reference:t,address:r}=e;return[n,t,r].join(k)}function z(e,n){const t=[];return e.forEach(r=>{const o=n(r);t.includes(o)||t.push(o)}),t}function Ee(e){const{address:n}=W(e);return n}function ve(e){const{namespace:n,reference:t}=W(e);return ye({namespace:n,reference:t})}function bn(e,n){const{namespace:t,reference:r}=me(n);return he({namespace:t,reference:r,address:e})}function Nn(e){return z(e,Ee)}function ge(e){return z(e,ve)}function On(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...o.accounts)}),t}function Sn(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...ge(o.accounts))}),t}function In(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...M(r,o))}),t}function M(e,n){return e.includes(\":\")?[e]:n.chains||[]}const K=e=>e?.split(\":\"),be=e=>{const n=e&&K(e);if(n)return n[3]},Pn=e=>{const n=e&&K(e);if(n)return n[2]+\":\"+n[3]},Ne=e=>{const n=e&&K(e);if(n)return n.pop()},Tn=(e,n)=>{const t=`${e.domain} wants you to sign in with your Ethereum account:`,r=Ne(n),o=e.statement,s=`URI: ${e.aud}`,i=`Version: ${e.version}`,d=`Chain ID: ${be(n)}`,l=`Nonce: ${e.nonce}`,c=`Issued At: ${e.iat}`,u=e.resources&&e.resources.length>0?`Resources:\n${e.resources.map(a=>`- ${a}`).join(`\n`)}`:void 0;return[t,r,\"\",o,\"\",s,i,d,l,c,u].filter(a=>a!=null).join(`\n`)},B=\"base10\",p=\"base16\",L=\"base64pad\",x=\"utf8\",Y=0,U=1,wn=0,Oe=1,J=12,Q=32;function Rn(){const e=_stablelib_x25519__WEBPACK_IMPORTED_MODULE_4__.generateKeyPair();return{privateKey:(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e.secretKey,p),publicKey:(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e.publicKey,p)}}function An(){const e=(0,_stablelib_random__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(Q);return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e,p)}function Un(e,n){const t=_stablelib_x25519__WEBPACK_IMPORTED_MODULE_4__.sharedKey((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,p),(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(n,p)),r=new _stablelib_hkdf__WEBPACK_IMPORTED_MODULE_1__.HKDF(_stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__.SHA256,t).expand(Q);return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(r,p)}function _n(e){const n=(0,_stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__.hash)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,p));return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(n,p)}function $n(e){const n=(0,_stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__.hash)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,x));return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(n,p)}function Se(e){return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(`${e}`,B)}function $(e){return Number((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e,B))}function jn(e){const n=Se(typeof e.type<\"u\"?e.type:Y);if($(n)===U&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const t=typeof e.senderPublicKey<\"u\"?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.senderPublicKey,p):void 0,r=typeof e.iv<\"u\"?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.iv,p):(0,_stablelib_random__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(J),o=new _stablelib_chacha20poly1305__WEBPACK_IMPORTED_MODULE_0__.ChaCha20Poly1305((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.symKey,p)).seal(r,(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.message,x));return Ie({type:n,sealed:o,iv:r,senderPublicKey:t})}function Cn(e){const n=new _stablelib_chacha20poly1305__WEBPACK_IMPORTED_MODULE_0__.ChaCha20Poly1305((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.symKey,p)),{sealed:t,iv:r}=Z(e.encoded),o=n.open(r,t);if(o===null)throw new Error(\"Failed to decrypt\");return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(o,x)}function Ie(e){if($(e.type)===U){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.concat)([e.type,e.senderPublicKey,e.iv,e.sealed]),L)}return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.concat)([e.type,e.iv,e.sealed]),L)}function Z(e){const n=(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,L),t=n.slice(wn,Oe),r=Oe;if($(t)===U){const d=r+Q,l=d+J,c=n.slice(r,d),u=n.slice(d,l),a=n.slice(l);return{type:t,sealed:a,iv:u,senderPublicKey:c}}const o=r+J,s=n.slice(r,o),i=n.slice(o);return{type:t,sealed:i,iv:s}}function Dn(e,n){const t=Z(e);return Pe({type:$(t.type),senderPublicKey:typeof t.senderPublicKey<\"u\"?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(t.senderPublicKey,p):void 0,receiverPublicKey:n?.receiverPublicKey})}function Pe(e){const n=e?.type||Y;if(n===U){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:n,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function Vn(e){return e.type===U&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}var kn=Object.defineProperty,Te=Object.getOwnPropertySymbols,Mn=Object.prototype.hasOwnProperty,Kn=Object.prototype.propertyIsEnumerable,we=(e,n,t)=>n in e?kn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Re=(e,n)=>{for(var t in n||(n={}))Mn.call(n,t)&&we(e,t,n[t]);if(Te)for(var t of Te(n))Kn.call(n,t)&&we(e,t,n[t]);return e};const Ae=\"ReactNative\",b={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},F=\" \",Ln=\":\",Ue=\"/\",X=2,xn=1e3,_e=\"js\";function ee(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function $e(){return!(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getDocument)()&&!!(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getNavigator)()&&navigator.product===Ae}function je(){return!ee()&&!!(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getNavigator)()}function j(){return $e()?b.reactNative:ee()?b.node:je()?b.browser:b.unknown}function Ce(e,n){let t=query_string__WEBPACK_IMPORTED_MODULE_9__.parse(e);return t=Re(Re({},t),n),e=query_string__WEBPACK_IMPORTED_MODULE_9__.stringify(t),e}function Fn(){return (0,_walletconnect_window_metadata__WEBPACK_IMPORTED_MODULE_8__.getWindowMetadata)()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Hn(e,n){var t;const r=j(),o={protocol:e,version:n,env:r};return r===\"browser\"&&(o.host=((t=(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getLocation)())==null?void 0:t.host)||\"unknown\"),o}function De(){if(j()===b.reactNative&&typeof __webpack_require__.g<\"u\"&&typeof(__webpack_require__.g==null?void 0:__webpack_require__.g.Platform)<\"u\"){const{OS:t,Version:r}=__webpack_require__.g.Platform;return[t,r].join(\"-\")}const e=(0,detect_browser__WEBPACK_IMPORTED_MODULE_11__.detect)();if(e===null)return\"unknown\";const n=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[n,e.name,e.version].join(\"-\"):[n,e.version].join(\"-\")}function Ve(){var e;const n=j();return n===b.browser?[n,((e=(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getLocation)())==null?void 0:e.host)||\"unknown\"].join(\":\"):n}function ke(e,n,t){const r=De(),o=Ve();return[[e,n].join(\"-\"),[_e,t].join(\"-\"),r,o].join(\"/\")}function qn({protocol:e,version:n,relayUrl:t,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i}){const d=t.split(\"?\"),l=ke(e,n,r),c={auth:o,ua:l,projectId:s,useOnCloseEvent:i||void 0},u=Ce(d[1]||\"\",c);return d[0]+\"?\"+u}function Gn(e){let n=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const t=typeof n<\"u\"?e.split(\"://\")[1]:e;return n=n===\"wss\"?\"https\":\"http\",[n,t].join(\"://\")}function Wn(e,n,t){if(!e[n]||typeof e[n]!==t)throw new Error(`Missing or invalid \"${n}\" param`)}function Me(e,n=X){return Ke(e.split(Ue),n)}function zn(e){return Me(e).join(F)}function O(e,n){return e.filter(t=>n.includes(t)).length===e.length}function Ke(e,n=X){return e.slice(Math.max(e.length-n,0))}function Bn(e){return Object.fromEntries(e.entries())}function Yn(e){return new Map(Object.entries(e))}function Jn(e,n){const t={};return Object.keys(e).forEach(r=>{t[r]=n(e[r])}),t}const Qn=e=>e;function Le(e){return e.trim().replace(/^\\w/,n=>n.toUpperCase())}function Zn(e){return e.split(F).map(n=>Le(n)).join(F)}function Xn(e=_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.FIVE_MINUTES,n){const t=(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.toMiliseconds)(e||_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.FIVE_MINUTES);let r,o,s;return{resolve:i=>{s&&r&&(clearTimeout(s),r(i))},reject:i=>{s&&o&&(clearTimeout(s),o(i))},done:()=>new Promise((i,d)=>{s=setTimeout(()=>{d(new Error(n))},t),r=i,o=d})}}function et(e,n,t){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(t)),n);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function ne(e,n){if(typeof n==\"string\"&&n.startsWith(`${e}:`))return n;if(e.toLowerCase()===\"topic\"){if(typeof n!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${n}`}else if(e.toLowerCase()===\"id\"){if(typeof n!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${n}`}throw new Error(`Unknown expirer target type: ${e}`)}function nt(e){return ne(\"topic\",e)}function tt(e){return ne(\"id\",e)}function rt(e){const[n,t]=e.split(\":\"),r={id:void 0,topic:void 0};if(n===\"topic\"&&typeof t==\"string\")r.topic=t;else if(n===\"id\"&&Number.isInteger(Number(t)))r.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${n}:${t}`);return r}function ot(e,n){return (0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.fromMiliseconds)((n||Date.now())+(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.toMiliseconds)(e))}function st(e){return Date.now()>=(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.toMiliseconds)(e)}function it(e,n){return`${e}${n?`:${n}`:\"\"}`}function S(e=[],n=[]){return[...new Set([...e,...n])]}async function ct({id:e,topic:n,wcDeepLink:t}){try{if(!t)return;const r=typeof t==\"string\"?JSON.parse(t):t;let o=r?.href;if(typeof o!=\"string\")return;o.endsWith(\"/\")&&(o=o.slice(0,-1));const s=`${o}/wc?requestId=${e}&sessionTopic=${n}`,i=j();i===b.browser?s.startsWith(\"https://\")?window.open(s,\"_blank\",\"noreferrer noopener\"):window.open(s,\"_self\",\"noreferrer noopener\"):i===b.reactNative&&typeof(__webpack_require__.g==null?void 0:__webpack_require__.g.Linking)<\"u\"&&await __webpack_require__.g.Linking.openURL(s)}catch(r){console.error(r)}}const xe=\"irn\";function at(e){return e?.relay||{protocol:xe}}function ut(e){const n=_walletconnect_relay_api__WEBPACK_IMPORTED_MODULE_10__.RELAY_JSONRPC[e];if(typeof n>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return n}var dt=Object.defineProperty,Fe=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,He=(e,n,t)=>n in e?dt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,pt=(e,n)=>{for(var t in n||(n={}))lt.call(n,t)&&He(e,t,n[t]);if(Fe)for(var t of Fe(n))ft.call(n,t)&&He(e,t,n[t]);return e};function qe(e,n=\"-\"){const t={},r=\"relay\"+n;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];t[s]=i}}),t}function mt(e){const n=e.indexOf(\":\"),t=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,n),o=e.substring(n+1,t).split(\"@\"),s=typeof t<\"u\"?e.substring(t):\"\",i=query_string__WEBPACK_IMPORTED_MODULE_9__.parse(s);return{protocol:r,topic:Ge(o[0]),version:parseInt(o[1],10),symKey:i.symKey,relay:qe(i)}}function Ge(e){return e.startsWith(\"//\")?e.substring(2):e}function We(e,n=\"-\"){const t=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=t+n+o;e[o]&&(r[s]=e[o])}),r}function yt(e){return`${e.protocol}:${e.topic}@${e.version}?`+query_string__WEBPACK_IMPORTED_MODULE_9__.stringify(pt({symKey:e.symKey},We(e.relay)))}var ht=Object.defineProperty,Et=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,ze=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,bt=Object.prototype.propertyIsEnumerable,Be=(e,n,t)=>n in e?ht(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Nt=(e,n)=>{for(var t in n||(n={}))gt.call(n,t)&&Be(e,t,n[t]);if(ze)for(var t of ze(n))bt.call(n,t)&&Be(e,t,n[t]);return e},Ot=(e,n)=>Et(e,vt(n));function R(e){const n=[];return e.forEach(t=>{const[r,o]=t.split(\":\");n.push(`${r}:${o}`)}),n}function Ye(e){const n=[];return Object.values(e).forEach(t=>{n.push(...R(t.accounts))}),n}function Je(e,n){const t=[];return Object.values(e).forEach(r=>{R(r.accounts).includes(n)&&t.push(...r.methods)}),t}function Qe(e,n){const t=[];return Object.values(e).forEach(r=>{R(r.accounts).includes(n)&&t.push(...r.events)}),t}function St(e,n){const t=sn(e,n);if(t)throw new Error(t.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function It(e){const{proposal:{requiredNamespaces:n,optionalNamespaces:t={}},supportedNamespaces:r}=e,o=re(n),s=re(t),i={};Object.keys(r).forEach(c=>{const u=r[c].chains,a=r[c].methods,g=r[c].events,P=r[c].accounts;u.forEach(m=>{if(!P.some(f=>f.includes(m)))throw new Error(`No accounts provided for chain ${m} in namespace ${c}`)}),i[c]={chains:u,methods:a,events:g,accounts:P}});const d=an(n,i,\"approve()\");if(d)throw new Error(d.message);const l={};return!Object.keys(n).length&&!Object.keys(t).length?i:(Object.keys(o).forEach(c=>{const u=r[c].chains.filter(m=>{var f,h;return(h=(f=o[c])==null?void 0:f.chains)==null?void 0:h.includes(m)}),a=r[c].methods.filter(m=>{var f,h;return(h=(f=o[c])==null?void 0:f.methods)==null?void 0:h.includes(m)}),g=r[c].events.filter(m=>{var f,h;return(h=(f=o[c])==null?void 0:f.events)==null?void 0:h.includes(m)}),P=u.map(m=>r[c].accounts.filter(f=>f.includes(`${m}:`))).flat();l[c]={chains:u,methods:a,events:g,accounts:P}}),Object.keys(s).forEach(c=>{var u,a,g,P,m,f;if(!r[c])return;const h=(a=(u=s[c])==null?void 0:u.chains)==null?void 0:a.filter(T=>r[c].chains.includes(T)),dn=r[c].methods.filter(T=>{var w,_;return(_=(w=s[c])==null?void 0:w.methods)==null?void 0:_.includes(T)}),ln=r[c].events.filter(T=>{var w,_;return(_=(w=s[c])==null?void 0:w.events)==null?void 0:_.includes(T)}),fn=h?.map(T=>r[c].accounts.filter(w=>w.includes(`${T}:`))).flat();l[c]={chains:S((g=l[c])==null?void 0:g.chains,h),methods:S((P=l[c])==null?void 0:P.methods,dn),events:S((m=l[c])==null?void 0:m.events,ln),accounts:S((f=l[c])==null?void 0:f.accounts,fn)}}),l)}function te(e){return e.includes(\":\")}function Ze(e){return te(e)?e.split(\":\")[0]:e}function re(e){var n,t,r;const o={};if(!H(e))return o;for(const[s,i]of Object.entries(e)){const d=te(s)?[s]:i.chains,l=i.methods||[],c=i.events||[],u=Ze(s);o[u]=Ot(Nt({},o[u]),{chains:S(d,(n=o[u])==null?void 0:n.chains),methods:S(l,(t=o[u])==null?void 0:t.methods),events:S(c,(r=o[u])==null?void 0:r.events)})}return o}const Pt={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},Tt={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function N(e,n){const{message:t,code:r}=Tt[e];return{message:n?`${t} ${n}`:t,code:r}}function A(e,n){const{message:t,code:r}=Pt[e];return{message:n?`${t} ${n}`:t,code:r}}function C(e,n){return Array.isArray(e)?typeof n<\"u\"&&e.length?e.every(n):!0:!1}function H(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function I(e){return typeof e>\"u\"}function y(e,n){return n&&I(e)?!0:typeof e==\"string\"&&!!e.trim().length}function q(e,n){return n&&I(e)?!0:typeof e==\"number\"&&!isNaN(e)}function wt(e,n){const{requiredNamespaces:t}=n,r=Object.keys(e.namespaces),o=Object.keys(t);let s=!0;return O(o,r)?(r.forEach(i=>{const{accounts:d,methods:l,events:c}=e.namespaces[i],u=R(d),a=t[i];(!O(M(i,a),u)||!O(a.methods,l)||!O(a.events,c))&&(s=!1)}),s):!1}function D(e){return y(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function Xe(e){if(y(e,!1)&&e.includes(\":\")){const n=e.split(\":\");if(n.length===3){const t=n[0]+\":\"+n[1];return!!n[2]&&D(t)}}return!1}function Rt(e){if(y(e,!1))try{return typeof new URL(e)<\"u\"}catch{return!1}return!1}function At(e){var n;return(n=e?.proposer)==null?void 0:n.publicKey}function Ut(e){return e?.topic}function _t(e,n){let t=null;return y(e?.publicKey,!1)||(t=N(\"MISSING_OR_INVALID\",`${n} controller public key should be a string`)),t}function oe(e){let n=!0;return C(e)?e.length&&(n=e.every(t=>y(t,!1))):n=!1,n}function en(e,n,t){let r=null;return C(n)&&n.length?n.forEach(o=>{r||D(o)||(r=A(\"UNSUPPORTED_CHAINS\",`${t}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):D(e)||(r=A(\"UNSUPPORTED_CHAINS\",`${t}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),r}function nn(e,n,t){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=en(o,M(o,s),`${n} ${t}`);i&&(r=i)}),r}function tn(e,n){let t=null;return C(e)?e.forEach(r=>{t||Xe(r)||(t=A(\"UNSUPPORTED_ACCOUNTS\",`${n}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):t=A(\"UNSUPPORTED_ACCOUNTS\",`${n}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),t}function rn(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=tn(r?.accounts,`${n} namespace`);o&&(t=o)}),t}function on(e,n){let t=null;return oe(e?.methods)?oe(e?.events)||(t=A(\"UNSUPPORTED_EVENTS\",`${n}, events should be an array of strings or empty array for no events`)):t=A(\"UNSUPPORTED_METHODS\",`${n}, methods should be an array of strings or empty array for no methods`),t}function se(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=on(r,`${n}, namespace`);o&&(t=o)}),t}function $t(e,n,t){let r=null;if(e&&H(e)){const o=se(e,n);o&&(r=o);const s=nn(e,n,t);s&&(r=s)}else r=N(\"MISSING_OR_INVALID\",`${n}, ${t} should be an object with data`);return r}function sn(e,n){let t=null;if(e&&H(e)){const r=se(e,n);r&&(t=r);const o=rn(e,n);o&&(t=o)}else t=N(\"MISSING_OR_INVALID\",`${n}, namespaces should be an object with data`);return t}function cn(e){return y(e.protocol,!0)}function jt(e,n){let t=!1;return n&&!e?t=!0:e&&C(e)&&e.length&&e.forEach(r=>{t=cn(r)}),t}function Ct(e){return typeof e==\"number\"}function Dt(e){return typeof e<\"u\"&&typeof e!==null}function Vt(e){return!(!e||typeof e!=\"object\"||!e.code||!q(e.code,!1)||!e.message||!y(e.message,!1))}function kt(e){return!(I(e)||!y(e.method,!1))}function Mt(e){return!(I(e)||I(e.result)&&I(e.error)||!q(e.id,!1)||!y(e.jsonrpc,!1))}function Kt(e){return!(I(e)||!y(e.name,!1))}function Lt(e,n){return!(!D(n)||!Ye(e).includes(n))}function xt(e,n,t){return y(t,!1)?Je(e,n).includes(t):!1}function Ft(e,n,t){return y(t,!1)?Qe(e,n).includes(t):!1}function an(e,n,t){let r=null;const o=Ht(e),s=qt(n),i=Object.keys(o),d=Object.keys(s),l=un(Object.keys(e)),c=un(Object.keys(n)),u=l.filter(a=>!c.includes(a));return u.length&&(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces keys don't satisfy requiredNamespaces.\n Required: ${u.toString()}\n Received: ${Object.keys(n).toString()}`)),O(i,d)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${d.toString()}`)),Object.keys(n).forEach(a=>{if(!a.includes(\":\")||r)return;const g=R(n[a].accounts);g.includes(a)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces accounts don't satisfy namespace accounts for ${a}\n Required: ${a}\n Approved: ${g.toString()}`))}),i.forEach(a=>{r||(O(o[a].methods,s[a].methods)?O(o[a].events,s[a].events)||(r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces events don't satisfy namespace events for ${a}`)):r=N(\"NON_CONFORMING_NAMESPACES\",`${t} namespaces methods don't satisfy namespace methods for ${a}`))}),r}function Ht(e){const n={};return Object.keys(e).forEach(t=>{var r;t.includes(\":\")?n[t]=e[t]:(r=e[t].chains)==null||r.forEach(o=>{n[o]={methods:e[t].methods,events:e[t].events}})}),n}function un(e){return[...new Set(e.map(n=>n.includes(\":\")?n.split(\":\")[0]:n))]}function qt(e){const n={};return Object.keys(e).forEach(t=>{if(t.includes(\":\"))n[t]=e[t];else{const r=R(e[t].accounts);r?.forEach(o=>{n[o]={accounts:e[t].accounts.filter(s=>s.includes(`${o}:`)),methods:e[t].methods,events:e[t].events}})}}),n}function Gt(e,n){return q(e,!1)&&e<=n.max&&e>=n.min}\n//# sourceMappingURL=index.es.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdXRpbHMvZGlzdC9pbmRleC5lcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQThyQixZQUFZLGVBQWUsc0JBQXNCLE9BQU8seUJBQXlCLGVBQWUsTUFBTSx3QkFBd0IsR0FBRyxvQkFBb0IsY0FBYyx3QkFBd0IsT0FBTyxtQ0FBbUMsZUFBZSxNQUFNLGtDQUFrQyxHQUFHLHNCQUFzQixnQkFBZ0IsV0FBVyxxQkFBcUIsYUFBYSx5QkFBeUIsSUFBSSxlQUFlLE1BQU0sVUFBVSxNQUFNLFNBQVMsZUFBZSxNQUFNLHdCQUF3QixNQUFNLFdBQVcsd0JBQXdCLEVBQUUsaUJBQWlCLE1BQU0sd0JBQXdCLE9BQU8sV0FBVyxrQ0FBa0MsRUFBRSxlQUFlLGVBQWUsZUFBZSxlQUFlLG9CQUFvQixXQUFXLGtDQUFrQyxtQ0FBbUMsYUFBYSxzQkFBc0IsSUFBSSxvQkFBb0IsV0FBVyxrQ0FBa0MsbUNBQW1DLGFBQWEsMEJBQTBCLElBQUksb0JBQW9CLFdBQVcsa0NBQWtDLG1DQUFtQyxhQUFhLGtCQUFrQixJQUFJLGdCQUFnQix3Q0FBd0MsZ0NBQWdDLGdCQUFnQixpQkFBaUIsUUFBUSxnQkFBZ0IsMEJBQTBCLFFBQVEsZ0JBQWdCLG9CQUFvQixZQUFZLFdBQVcsVUFBVSxrRkFBa0YsTUFBTSxnQkFBZ0IsVUFBVSxpQkFBaUIsTUFBTSxjQUFjLFFBQVEsa0JBQWtCLE1BQU07QUFDcHNFLEVBQUUsd0JBQXdCLEVBQUU7QUFDNUIsR0FBRyxTQUFTO0FBQ1osR0FBRywwRUFBMEUsY0FBYyxRQUFRLDhEQUFrQixHQUFHLE9BQU8sV0FBVyxxREFBQywwQkFBMEIscURBQUMs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RCxHQUFHO0FBQ2pwZ0Isa0JBQWtCO0FBQ2xCLGtCQUFrQiwwQkFBMEIsZ0RBQWdELEdBQUc7QUFDL0Ysa0JBQWtCO0FBQ2xCLGtCQUFrQixhQUFhLCtCQUErQiw4QkFBOEIseUJBQXlCLG1EQUFtRCxHQUFHLDJEQUEyRDtBQUN0TyxvQkFBb0I7QUFDcEIsb0JBQW9CLGFBQWEsSUFBSSxnQkFBZ0IsaUdBQWlHLEdBQUcsdURBQXVELEVBQUUsdUNBQXVDLEdBQUcseURBQXlELEVBQUUsSUFBSSxJQUFJLGVBQWUsV0FBVyxrQ0FBa0MsTUFBTSwrREFBK0QsTUFBTSx5Q0FBeUMsRUFBRSxJQUFJLGVBQWUsZ0VBQWdFLGVBQWUsV0FBVyxrQ0FBa0MsNkJBQTZCLEtBQUsseUJBQXlCLGVBQWUsTUFBTSwrQ0FBK0MsRUFBRSw4Q0FBOEMsR0FBRyxJQUFJLGlCQUFpQixtQ0FBKzZGO0FBQ3R2SCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdXRpbHMvZGlzdC9pbmRleC5lcy5qcz82MDg4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtDaGFDaGEyMFBvbHkxMzA1IGFzIGllfWZyb21cIkBzdGFibGVsaWIvY2hhY2hhMjBwb2x5MTMwNVwiO2ltcG9ydHtIS0RGIGFzIHBufWZyb21cIkBzdGFibGVsaWIvaGtkZlwiO2ltcG9ydHtyYW5kb21CeXRlcyBhcyBjZX1mcm9tXCJAc3RhYmxlbGliL3JhbmRvbVwiO2ltcG9ydHtTSEEyNTYgYXMgbW4saGFzaCBhcyBhZX1mcm9tXCJAc3RhYmxlbGliL3NoYTI1NlwiO2ltcG9ydCphcyB1ZSBmcm9tXCJAc3RhYmxlbGliL3gyNTUxOVwiO2ltcG9ydHt0b1N0cmluZyBhcyBFLGZyb21TdHJpbmcgYXMgdixjb25jYXQgYXMgZGV9ZnJvbVwidWludDhhcnJheXNcIjtpbXBvcnR7ZGV0ZWN0IGFzIHlufWZyb21cImRldGVjdC1icm93c2VyXCI7aW1wb3J0e3RvTWlsaXNlY29uZHMgYXMgRyxGSVZFX01JTlVURVMgYXMgbGUsZnJvbU1pbGlzZWNvbmRzIGFzIGhufWZyb21cIkB3YWxsZXRjb25uZWN0L3RpbWVcIjtpbXBvcnR7Z2V0RG9jdW1lbnQgYXMgRW4sZ2V0TmF2aWdhdG9yIGFzIGZlLGdldExvY2F0aW9uIGFzIHBlfWZyb21cIkB3YWxsZXRjb25uZWN0L3dpbmRvdy1nZXR0ZXJzXCI7aW1wb3J0e2dldFdpbmRvd01ldGFkYXRhIGFzIHZufWZyb21cIkB3YWxsZXRjb25uZWN0L3dpbmRvdy1tZXRhZGF0YVwiO2ltcG9ydCphcyBWIGZyb21cInF1ZXJ5LXN0cmluZ1wiO2ltcG9ydHtSRUxBWV9KU09OUlBDIGFzIGdufWZyb21cIkB3YWxsZXRjb25uZWN0L3JlbGF5LWFwaVwiO2NvbnN0IGs9XCI6XCI7ZnVuY3Rpb24gbWUoZSl7Y29uc3Rbbix0XT1lLnNwbGl0KGspO3JldHVybntuYW1lc3BhY2U6bixyZWZlcmVuY2U6dH19ZnVuY3Rpb24geWUoZSl7Y29uc3R7bmFtZXNwYWNlOm4scmVmZXJlbmNlOnR9PWU7cmV0dXJuW24sdF0uam9pbihrKX1mdW5jdGlvbiBXKGUpe2NvbnN0W24sdCxyXT1lLnNwbGl0KGspO3JldHVybntuYW1lc3BhY2U6bixyZWZlcmVuY2U6dCxhZGRyZXNzOnJ9fWZ1bmN0aW9uIGhlKGUpe2NvbnN0e25hbWVzcGFjZTpuLHJlZmVyZW5jZTp0LGFkZHJlc3M6cn09ZTtyZXR1cm5bbix0LHJdLmpvaW4oayl9ZnVuY3Rpb24geihlLG4pe2NvbnN0IHQ9W107cmV0dXJuIGUuZm9yRWFjaChyPT57Y29uc3Qgbz1uKHIpO3QuaW5jbHVkZXMobyl8fHQucHVzaChvKX0pLHR9ZnVuY3Rpb24gRWUoZSl7Y29uc3R7YWRkcmVzczpufT1XKGUpO3JldHVybiBufWZ1bmN0aW9uIHZlKGUpe2NvbnN0e25hbWVzcGFjZTpuLHJlZmVyZW5jZTp0fT1XKGUpO3JldHVybiB5ZSh7bmFtZXNwYWNlOm4scmVmZXJlbmNlOnR9KX1mdW5jdGlvbiBibihlLG4pe2NvbnN0e25hbWVzcGFjZTp0LHJlZmVyZW5jZTpyfT1tZShuKTtyZXR1cm4gaGUoe25hbWVzcGFjZTp0LHJlZmVyZW5jZTpyLGFkZHJlc3M6ZX0pfWZ1bmN0aW9uIE5uKGUpe3JldHVybiB6KGUsRWUpfWZ1bmN0aW9uIGdlKGUpe3JldHVybiB6KGUsdmUpfWZ1bmN0aW9uIE9uKGUsbj1bXSl7Y29uc3QgdD1bXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57aWYobi5sZW5ndGgmJiFuLmluY2x1ZGVzKHIpKXJldHVybjtjb25zdCBvPWVbcl07dC5wdXNoKC4uLm8uYWNjb3VudHMpfSksdH1mdW5jdGlvbiBTbihlLG49W10pe2NvbnN0IHQ9W107cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gocj0+e2lmKG4ubGVuZ3RoJiYhbi5pbmNsdWRlcyhyKSlyZXR1cm47Y29uc3Qgbz1lW3JdO3QucHVzaCguLi5nZShvLmFjY291bnRzKSl9KSx0fWZ1bmN0aW9uIEluKGUsbj1bXSl7Y29uc3QgdD1bXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57aWYobi5sZW5ndGgmJiFuLmluY2x1ZGVzKHIpKXJldHVybjtjb25zdCBvPWVbcl07dC5wdXNoKC4uLk0ocixvKSl9KSx0fWZ1bmN0aW9uIE0oZSxuKXtyZXR1cm4gZS5pbmNsdWRlcyhcIjpcIik/W2VdOm4uY2hhaW5zfHxbXX1jb25zdCBLPWU9PmU/LnNwbGl0KFwiOlwiKSxiZT1lPT57Y29uc3Qgbj1lJiZLKGUpO2lmKG4pcmV0dXJuIG5bM119LFBuPWU9Pntjb25zdCBuPWUmJksoZSk7aWYobilyZXR1cm4gblsyXStcIjpcIituWzNdfSxOZT1lPT57Y29uc3Qgbj1lJiZLKGUpO2lmKG4pcmV0dXJuIG4ucG9wKCl9LFRuPShlLG4pPT57Y29uc3QgdD1gJHtlLmRvbWFpbn0gd2FudHMgeW91IHRvIHNpZ24gaW4gd2l0aCB5b3VyIEV0aGVyZXVtIGFjY291bnQ6YCxyPU5lKG4pLG89ZS5zdGF0ZW1lbnQscz1gVVJJOiAke2UuYXVkfWAsaT1gVmVyc2lvbjogJHtlLnZlcnNpb259YCxkPWBDaGFpbiBJRDogJHtiZShuKX1gLGw9YE5vbmNlOiAke2Uubm9uY2V9YCxjPWBJc3N1ZWQgQXQ6ICR7ZS5pYXR9YCx1PWUucmVzb3VyY2VzJiZlLnJlc291cmNlcy5sZW5ndGg+MD9gUmVzb3VyY2VzOlxuJHtlLnJlc291cmNlcy5tYXAoYT0+YC0gJHthfWApLmpvaW4oYFxuYCl9YDp2b2lkIDA7cmV0dXJuW3QscixcIlwiLG8sXCJcIixzLGksZCxsLGMsdV0uZmlsdGVyKGE9PmEhPW51bGwpLmpvaW4oYFxuYCl9LEI9XCJiYXNlMTBcIixwPVwiYmFzZTE2XCIsTD1cImJhc2U2NHBhZFwiLHg9XCJ1dGY4XCIsWT0wLFU9MSx3bj0wLE9lPTEsSj0xMixRPTMyO2Z1bmN0aW9uIFJuKCl7Y29uc3QgZT11ZS5nZW5lcmF0ZUtleVBhaXIoKTtyZXR1cm57cHJpdmF0ZUtleTpFKGUuc2VjcmV0S2V5LHApLHB1YmxpY0tleTpFKGUucHVibGljS2V5LHApfX1mdW5jdGlvbiBBbigpe2NvbnN0IGU9Y2UoUSk7cmV0dXJuIEUoZSxwKX1mdW5jdGlvbiBVbihlLG4pe2NvbnN0IHQ9dWUuc2hhcmVkS2V5KHYoZSxwKSx2KG4scCkpLHI9bmV3IHBuKG1uLHQpLmV4cGFuZChRKTtyZXR1cm4gRShyLHApfWZ1bmN0aW9uIF9uKGUpe2NvbnN0IG49YWUodihlLHApKTtyZXR1cm4gRShuLHApfWZ1bmN0aW9uICRuKGUpe2NvbnN0IG49YWUodihlLHgpKTtyZXR1cm4gRShuLHApfWZ1bmN0aW9uIFNlKGUpe3JldHVybiB2KGAke2V9YCxCKX1mdW5jdGlvbiAkKGUpe3JldHVybiBOdW1iZXIoRShlLEIpKX1mdW5jdGlvbiBqbihlKXtjb25zdCBuPVNlKHR5cGVvZiBlLnR5cGU8XCJ1XCI/ZS50eXBlOlkpO2lmKCQobik9PT1VJiZ0eXBlb2YgZS5zZW5kZXJQdWJsaWNLZXk+XCJ1XCIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBzZW5kZXIgcHVibGljIGtleSBmb3IgdHlwZSAxIGVudmVsb3BlXCIpO2NvbnN0IHQ9dHlwZW9mIGUuc2VuZGVyUHVibGljS2V5PFwidVwiP3YoZS5zZW5kZXJQdWJsaWNLZXkscCk6dm9pZCAwLHI9dHlwZW9mIGUuaXY8XCJ1XCI/dihlLml2LHApOmNlKEopLG89bmV3IGllKHYoZS5zeW1LZXkscCkpLnNlYWwocix2KGUubWVzc2FnZSx4KSk7cmV0dXJuIEllKHt0eXBlOm4sc2VhbGVkOm8saXY6cixzZW5kZXJQdWJsaWNLZXk6dH0pfWZ1bmN0aW9uIENuKGUpe2NvbnN0IG49bmV3IGllKHYoZS5zeW1LZXkscCkpLHtzZWFsZWQ6dCxpdjpyfT1aKGUuZW5jb2RlZCksbz1uLm9wZW4ocix0KTtpZihvPT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZGVjcnlwdFwiKTtyZXR1cm4gRShvLHgpfWZ1bmN0aW9uIEllKGUpe2lmKCQoZS50eXBlKT09PVUpe2lmKHR5cGVvZiBlLnNlbmRlclB1YmxpY0tleT5cInVcIil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHNlbmRlciBwdWJsaWMga2V5IGZvciB0eXBlIDEgZW52ZWxvcGVcIik7cmV0dXJuIEUoZGUoW2UudHlwZSxlLnNlbmRlclB1YmxpY0tleSxlLml2LGUuc2VhbGVkXSksTCl9cmV0dXJuIEUoZGUoW2UudHlwZSxlLml2LGUuc2VhbGVkXSksTCl9ZnVuY3Rpb24gWihlKXtjb25zdCBuPXYoZSxMKSx0PW4uc2xpY2Uod24sT2UpLHI9T2U7aWYoJCh0KT09PVUpe2NvbnN0IGQ9citRLGw9ZCtKLGM9bi5zbGljZShyLGQpLHU9bi5zbGljZShkLGwpLGE9bi5zbGljZShsKTtyZXR1cm57dHlwZTp0LHNlYWxlZDphLGl2OnUsc2VuZGVyUHVibGljS2V5OmN9fWNvbnN0IG89citKLHM9bi5zbGljZShyLG8pLGk9bi5zbGljZShvKTtyZXR1cm57dHlwZTp0LHNlYWxlZDppLGl2OnN9fWZ1bmN0aW9uIERuKGUsbil7Y29uc3QgdD1aKGUpO3JldHVybiBQZSh7dHlwZTokKHQudHlwZSksc2VuZGVyUHVibGljS2V5OnR5cGVvZiB0LnNlbmRlclB1YmxpY0tleTxcInVcIj9FKHQuc2VuZGVyUHVibGljS2V5LHApOnZvaWQgMCxyZWNlaXZlclB1YmxpY0tleTpuPy5yZWNlaXZlclB1YmxpY0tleX0pfWZ1bmN0aW9uIFBlKGUpe2NvbnN0IG49ZT8udHlwZXx8WTtpZihuPT09VSl7aWYodHlwZW9mIGU/LnNlbmRlclB1YmxpY0tleT5cInVcIil0aHJvdyBuZXcgRXJyb3IoXCJtaXNzaW5nIHNlbmRlciBwdWJsaWMga2V5XCIpO2lmKHR5cGVvZiBlPy5yZWNlaXZlclB1YmxpY0tleT5cInVcIil0aHJvdyBuZXcgRXJyb3IoXCJtaXNzaW5nIHJlY2VpdmVyIHB1YmxpYyBrZXlcIil9cmV0dXJue3R5cGU6bixzZW5kZXJQdWJsaWNLZXk6ZT8uc2VuZGVyUHVibGljS2V5LHJlY2VpdmVyUHVibGljS2V5OmU/LnJlY2VpdmVyUHVibGljS2V5fX1mdW5jdGlvbiBWbihlKXtyZXR1cm4gZS50eXBlPT09VSYmdHlwZW9mIGUuc2VuZGVyUHVibGljS2V5PT1cInN0cmluZ1wiJiZ0eXBlb2YgZS5yZWNlaXZlclB1YmxpY0tleT09XCJzdHJpbmdcIn12YXIga249T2JqZWN0LmRlZmluZVByb3BlcnR5LFRlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsTW49T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxLbj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLHdlPShlLG4sdCk9Pm4gaW4gZT9rbihlLG4se2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnR9KTplW25dPXQsUmU9KGUsbik9Pntmb3IodmFyIHQgaW4gbnx8KG49e30pKU1uLmNhbGwobix0KSYmd2UoZSx0LG5bdF0pO2lmKFRlKWZvcih2YXIgdCBvZiBUZShuKSlLbi5jYWxsKG4sdCkmJndlKGUsdCxuW3RdKTtyZXR1cm4gZX07Y29uc3QgQWU9XCJSZWFjdE5hdGl2ZVwiLGI9e3JlYWN0TmF0aXZlOlwicmVhY3QtbmF0aXZlXCIsbm9kZTpcIm5vZGVcIixicm93c2VyOlwiYnJvd3NlclwiLHVua25vd246XCJ1bmtub3duXCJ9LEY9XCIgXCIsTG49XCI6XCIsVWU9XCIvXCIsWD0yLHhuPTFlMyxfZT1cImpzXCI7ZnVuY3Rpb24gZWUoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8XCJ1XCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zPFwidVwiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlPFwidVwifWZ1bmN0aW9uICRlKCl7cmV0dXJuIUVuKCkmJiEhZmUoKSYmbmF2aWdhdG9yLnByb2R1Y3Q9PT1BZX1mdW5jdGlvbiBqZSgpe3JldHVybiFlZSgpJiYhIWZlKCl9ZnVuY3Rpb24gaigpe3JldHVybiAkZSgpP2IucmVhY3ROYXRpdmU6ZWUoKT9iLm5vZGU6amUoKT9iLmJyb3dzZXI6Yi51bmtub3dufWZ1bmN0aW9uIENlKGUsbil7bGV0IHQ9Vi5wYXJzZShlKTtyZXR1cm4gdD1SZShSZSh7fSx0KSxuKSxlPVYuc3RyaW5naWZ5KHQpLGV9ZnVuY3Rpb24gRm4oKXtyZXR1cm4gdm4oKXx8e25hbWU6XCJcIixkZXNjcmlwdGlvbjpcIlwiLHVybDpcIlwiLGljb25zOltcIlwiXX19ZnVuY3Rpb24gSG4oZSxuKXt2YXIgdDtjb25zdCByPWooKSxvPXtwcm90b2NvbDplLHZlcnNpb246bixlbnY6cn07cmV0dXJuIHI9PT1cImJyb3dzZXJcIiYmKG8uaG9zdD0oKHQ9cGUoKSk9PW51bGw/dm9pZCAwOnQuaG9zdCl8fFwidW5rbm93blwiKSxvfWZ1bmN0aW9uIERlKCl7aWYoaigpPT09Yi5yZWFjdE5hdGl2ZSYmdHlwZW9mIGdsb2JhbDxcInVcIiYmdHlwZW9mKGdsb2JhbD09bnVsbD92b2lkIDA6Z2xvYmFsLlBsYXRmb3JtKTxcInVcIil7Y29uc3R7T1M6dCxWZXJzaW9uOnJ9PWdsb2JhbC5QbGF0Zm9ybTtyZXR1cm5bdCxyXS5qb2luKFwiLVwiKX1jb25zdCBlPXluKCk7aWYoZT09PW51bGwpcmV0dXJuXCJ1bmtub3duXCI7Y29uc3Qgbj1lLm9zP2Uub3MucmVwbGFjZShcIiBcIixcIlwiKS50b0xvd2VyQ2FzZSgpOlwidW5rbm93blwiO3JldHVybiBlLnR5cGU9PT1cImJyb3dzZXJcIj9bbixlLm5hbWUsZS52ZXJzaW9uXS5qb2luKFwiLVwiKTpbbixlLnZlcnNpb25dLmpvaW4oXCItXCIpfWZ1bmN0aW9uIFZlKCl7dmFyIGU7Y29uc3Qgbj1qKCk7cmV0dXJuIG49PT1iLmJyb3dzZXI/W24sKChlPXBlKCkpPT1udWxsP3ZvaWQgMDplLmhvc3QpfHxcInVua25vd25cIl0uam9pbihcIjpcIik6bn1mdW5jdGlvbiBrZShlLG4sdCl7Y29uc3Qgcj1EZSgpLG89VmUoKTtyZXR1cm5bW2Usbl0uam9pbihcIi1cIiksW19lLHRdLmpvaW4oXCItXCIpLHIsb10uam9pbihcIi9cIil9ZnVuY3Rpb24gcW4oe3Byb3RvY29sOmUsdmVyc2lvbjpuLHJlbGF5VXJsOnQsc2RrVmVyc2lvbjpyLGF1dGg6byxwcm9qZWN0SWQ6cyx1c2VPbkNsb3NlRXZlbnQ6aX0pe2NvbnN0IGQ9dC5zcGxpdChcIj9cIiksbD1rZShlLG4sciksYz17YXV0aDpvLHVhOmwscHJvamVjdElkOnMsdXNlT25DbG9zZUV2ZW50Oml8fHZvaWQgMH0sdT1DZShkWzFdfHxcIlwiLGMpO3JldHVybiBkWzBdK1wiP1wiK3V9ZnVuY3Rpb24gR24oZSl7bGV0IG49KGUubWF0Y2goL15bXjpdKyg/PTpcXC9cXC8pL2dpKXx8W10pWzBdO2NvbnN0IHQ9dHlwZW9mIG48XCJ1XCI/ZS5zcGxpdChcIjovL1wiKVsxXTplO3JldHVybiBuPW49PT1cIndzc1wiP1wiaHR0cHNcIjpcImh0dHBcIixbbix0XS5qb2luKFwiOi8vXCIpfWZ1bmN0aW9uIFduKGUsbix0KXtpZighZVtuXXx8dHlwZW9mIGVbbl0hPT10KXRocm93IG5ldyBFcnJvcihgTWlzc2luZyBvciBpbnZhbGlkIFwiJHtufVwiIHBhcmFtYCl9ZnVuY3Rpb24gTWUoZSxuPVgpe3JldHVybiBLZShlLnNwbGl0KFVlKSxuKX1mdW5jdGlvbiB6bihlKXtyZXR1cm4gTWUoZSkuam9pbihGKX1mdW5jdGlvbiBPKGUsbil7cmV0dXJuIGUuZmlsdGVyKHQ9Pm4uaW5jbHVkZXModCkpLmxlbmd0aD09PWUubGVuZ3RofWZ1bmN0aW9uIEtlKGUsbj1YKXtyZXR1cm4gZS5zbGljZShNYXRoLm1heChlLmxlbmd0aC1uLDApKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKGUuZW50cmllcygpKX1mdW5jdGlvbiBZbihlKXtyZXR1cm4gbmV3IE1hcChPYmplY3QuZW50cmllcyhlKSl9ZnVuY3Rpb24gSm4oZSxuKXtjb25zdCB0PXt9O3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKHI9Pnt0W3JdPW4oZVtyXSl9KSx0fWNvbnN0IFFuPWU9PmU7ZnVuY3Rpb24gTGUoZSl7cmV0dXJuIGUudHJpbSgpLnJlcGxhY2UoL15cXHcvLG49Pm4udG9VcHBlckNhc2UoKSl9ZnVuY3Rpb24gWm4oZSl7cmV0dXJuIGUuc3BsaXQoRikubWFwKG49PkxlKG4pKS5qb2luKEYpfWZ1bmN0aW9uIFhuKGU9bGUsbil7Y29uc3QgdD1HKGV8fGxlKTtsZXQgcixvLHM7cmV0dXJue3Jlc29sdmU6aT0+e3MmJnImJihjbGVhclRpbWVvdXQocykscihpKSl9LHJlamVjdDppPT57cyYmbyYmKGNsZWFyVGltZW91dChzKSxvKGkpKX0sZG9uZTooKT0+bmV3IFByb21pc2UoKGksZCk9PntzPXNldFRpbWVvdXQoKCk9PntkKG5ldyBFcnJvcihuKSl9LHQpLHI9aSxvPWR9KX19ZnVuY3Rpb24gZXQoZSxuLHQpe3JldHVybiBuZXcgUHJvbWlzZShhc3luYyhyLG8pPT57Y29uc3Qgcz1zZXRUaW1lb3V0KCgpPT5vKG5ldyBFcnJvcih0KSksbik7dHJ5e2NvbnN0IGk9YXdhaXQgZTtyKGkpfWNhdGNoKGkpe28oaSl9Y2xlYXJUaW1lb3V0KHMpfSl9ZnVuY3Rpb24gbmUoZSxuKXtpZih0eXBlb2Ygbj09XCJzdHJpbmdcIiYmbi5zdGFydHNXaXRoKGAke2V9OmApKXJldHVybiBuO2lmKGUudG9Mb3dlckNhc2UoKT09PVwidG9waWNcIil7aWYodHlwZW9mIG4hPVwic3RyaW5nXCIpdGhyb3cgbmV3IEVycm9yKCdWYWx1ZSBtdXN0IGJlIFwic3RyaW5nXCIgZm9yIGV4cGlyZXIgdGFyZ2V0IHR5cGU6IHRvcGljJyk7cmV0dXJuYHRvcGljOiR7bn1gfWVsc2UgaWYoZS50b0xvd2VyQ2FzZSgpPT09XCJpZFwiKXtpZih0eXBlb2YgbiE9XCJudW1iZXJcIil0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIG11c3QgYmUgXCJudW1iZXJcIiBmb3IgZXhwaXJlciB0YXJnZXQgdHlwZTogaWQnKTtyZXR1cm5gaWQ6JHtufWB9dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGV4cGlyZXIgdGFyZ2V0IHR5cGU6ICR7ZX1gKX1mdW5jdGlvbiBudChlKXtyZXR1cm4gbmUoXCJ0b3BpY1wiLGUpfWZ1bmN0aW9uIHR0KGUpe3JldHVybiBuZShcImlkXCIsZSl9ZnVuY3Rpb24gcnQoZSl7Y29uc3Rbbix0XT1lLnNwbGl0KFwiOlwiKSxyPXtpZDp2b2lkIDAsdG9waWM6dm9pZCAwfTtpZihuPT09XCJ0b3BpY1wiJiZ0eXBlb2YgdD09XCJzdHJpbmdcIilyLnRvcGljPXQ7ZWxzZSBpZihuPT09XCJpZFwiJiZOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcih0KSkpci5pZD1OdW1iZXIodCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFyZ2V0LCBleHBlY3RlZCBpZDpudW1iZXIgb3IgdG9waWM6c3RyaW5nLCBnb3QgJHtufToke3R9YCk7cmV0dXJuIHJ9ZnVuY3Rpb24gb3QoZSxuKXtyZXR1cm4gaG4oKG58fERhdGUubm93KCkpK0coZSkpfWZ1bmN0aW9uIHN0KGUpe3JldHVybiBEYXRlLm5vdygpPj1HKGUpfWZ1bmN0aW9uIGl0KGUsbil7cmV0dXJuYCR7ZX0ke24/YDoke259YDpcIlwifWB9ZnVuY3Rpb24gUyhlPVtdLG49W10pe3JldHVyblsuLi5uZXcgU2V0KFsuLi5lLC4uLm5dKV19YXN5bmMgZnVuY3Rpb24gY3Qoe2lkOmUsdG9waWM6bix3Y0RlZXBMaW5rOnR9KXt0cnl7aWYoIXQpcmV0dXJuO2NvbnN0IHI9dHlwZW9mIHQ9PVwic3RyaW5nXCI/SlNPTi5wYXJzZSh0KTp0O2xldCBvPXI/LmhyZWY7aWYodHlwZW9mIG8hPVwic3RyaW5nXCIpcmV0dXJuO28uZW5kc1dpdGgoXCIvXCIpJiYobz1vLnNsaWNlKDAsLTEpKTtjb25zdCBzPWAke299L3djP3JlcXVlc3RJZD0ke2V9JnNlc3Npb25Ub3BpYz0ke259YCxpPWooKTtpPT09Yi5icm93c2VyP3Muc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpP3dpbmRvdy5vcGVuKHMsXCJfYmxhbmtcIixcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIik6d2luZG93Lm9wZW4ocyxcIl9zZWxmXCIsXCJub3JlZmVycmVyIG5vb3BlbmVyXCIpOmk9PT1iLnJlYWN0TmF0aXZlJiZ0eXBlb2YoZ2xvYmFsPT1udWxsP3ZvaWQgMDpnbG9iYWwuTGlua2luZyk8XCJ1XCImJmF3YWl0IGdsb2JhbC5MaW5raW5nLm9wZW5VUkwocyl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcihyKX19Y29uc3QgeGU9XCJpcm5cIjtmdW5jdGlvbiBhdChlKXtyZXR1cm4gZT8ucmVsYXl8fHtwcm90b2NvbDp4ZX19ZnVuY3Rpb24gdXQoZSl7Y29uc3Qgbj1nbltlXTtpZih0eXBlb2Ygbj5cInVcIil0aHJvdyBuZXcgRXJyb3IoYFJlbGF5IFByb3RvY29sIG5vdCBzdXBwb3J0ZWQ6ICR7ZX1gKTtyZXR1cm4gbn12YXIgZHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LEZlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxmdD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLEhlPShlLG4sdCk9Pm4gaW4gZT9kdChlLG4se2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnR9KTplW25dPXQscHQ9KGUsbik9Pntmb3IodmFyIHQgaW4gbnx8KG49e30pKWx0LmNhbGwobix0KSYmSGUoZSx0LG5bdF0pO2lmKEZlKWZvcih2YXIgdCBvZiBGZShuKSlmdC5jYWxsKG4sdCkmJkhlKGUsdCxuW3RdKTtyZXR1cm4gZX07ZnVuY3Rpb24gcWUoZSxuPVwiLVwiKXtjb25zdCB0PXt9LHI9XCJyZWxheVwiK247cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobz0+e2lmKG8uc3RhcnRzV2l0aChyKSl7Y29uc3Qgcz1vLnJlcGxhY2UocixcIlwiKSxpPWVbb107dFtzXT1pfX0pLHR9ZnVuY3Rpb24gbXQoZSl7Y29uc3Qgbj1lLmluZGV4T2YoXCI6XCIpLHQ9ZS5pbmRleE9mKFwiP1wiKSE9PS0xP2UuaW5kZXhPZihcIj9cIik6dm9pZCAwLHI9ZS5zdWJzdHJpbmcoMCxuKSxvPWUuc3Vic3RyaW5nKG4rMSx0KS5zcGxpdChcIkBcIikscz10eXBlb2YgdDxcInVcIj9lLnN1YnN0cmluZyh0KTpcIlwiLGk9Vi5wYXJzZShzKTtyZXR1cm57cHJvdG9jb2w6cix0b3BpYzpHZShvWzBdKSx2ZXJzaW9uOnBhcnNlSW50KG9bMV0sMTApLHN5bUtleTppLnN5bUtleSxyZWxheTpxZShpKX19ZnVuY3Rpb24gR2UoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aChcIi8vXCIpP2Uuc3Vic3RyaW5nKDIpOmV9ZnVuY3Rpb24gV2UoZSxuPVwiLVwiKXtjb25zdCB0PVwicmVsYXlcIixyPXt9O3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKG89Pntjb25zdCBzPXQrbitvO2Vbb10mJihyW3NdPWVbb10pfSkscn1mdW5jdGlvbiB5dChlKXtyZXR1cm5gJHtlLnByb3RvY29sfToke2UudG9waWN9QCR7ZS52ZXJzaW9ufT9gK1Yuc3RyaW5naWZ5KHB0KHtzeW1LZXk6ZS5zeW1LZXl9LFdlKGUucmVsYXkpKSl9dmFyIGh0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxFdD1PYmplY3QuZGVmaW5lUHJvcGVydGllcyx2dD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyx6ZT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLGd0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYnQ9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxCZT0oZSxuLHQpPT5uIGluIGU/aHQoZSxuLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6ZVtuXT10LE50PShlLG4pPT57Zm9yKHZhciB0IGluIG58fChuPXt9KSlndC5jYWxsKG4sdCkmJkJlKGUsdCxuW3RdKTtpZih6ZSlmb3IodmFyIHQgb2YgemUobikpYnQuY2FsbChuLHQpJiZCZShlLHQsblt0XSk7cmV0dXJuIGV9LE90PShlLG4pPT5FdChlLHZ0KG4pKTtmdW5jdGlvbiBSKGUpe2NvbnN0IG49W107cmV0dXJuIGUuZm9yRWFjaCh0PT57Y29uc3RbcixvXT10LnNwbGl0KFwiOlwiKTtuLnB1c2goYCR7cn06JHtvfWApfSksbn1mdW5jdGlvbiBZZShlKXtjb25zdCBuPVtdO3JldHVybiBPYmplY3QudmFsdWVzKGUpLmZvckVhY2godD0+e24ucHVzaCguLi5SKHQuYWNjb3VudHMpKX0pLG59ZnVuY3Rpb24gSmUoZSxuKXtjb25zdCB0PVtdO3JldHVybiBPYmplY3QudmFsdWVzKGUpLmZvckVhY2gocj0+e1Ioci5hY2NvdW50cykuaW5jbHVkZXMobikmJnQucHVzaCguLi5yLm1ldGhvZHMpfSksdH1mdW5jdGlvbiBRZShlLG4pe2NvbnN0IHQ9W107cmV0dXJuIE9iamVjdC52YWx1ZXMoZSkuZm9yRWFjaChyPT57UihyLmFjY291bnRzKS5pbmNsdWRlcyhuKSYmdC5wdXNoKC4uLnIuZXZlbnRzKX0pLHR9ZnVuY3Rpb24gU3QoZSxuKXtjb25zdCB0PXNuKGUsbik7aWYodCl0aHJvdyBuZXcgRXJyb3IodC5tZXNzYWdlKTtjb25zdCByPXt9O2Zvcihjb25zdFtvLHNdb2YgT2JqZWN0LmVudHJpZXMoZSkpcltvXT17bWV0aG9kczpzLm1ldGhvZHMsZXZlbnRzOnMuZXZlbnRzLGNoYWluczpzLmFjY291bnRzLm1hcChpPT5gJHtpLnNwbGl0KFwiOlwiKVswXX06JHtpLnNwbGl0KFwiOlwiKVsxXX1gKX07cmV0dXJuIHJ9ZnVuY3Rpb24gSXQoZSl7Y29uc3R7cHJvcG9zYWw6e3JlcXVpcmVkTmFtZXNwYWNlczpuLG9wdGlvbmFsTmFtZXNwYWNlczp0PXt9fSxzdXBwb3J0ZWROYW1lc3BhY2VzOnJ9PWUsbz1yZShuKSxzPXJlKHQpLGk9e307T2JqZWN0LmtleXMocikuZm9yRWFjaChjPT57Y29uc3QgdT1yW2NdLmNoYWlucyxhPXJbY10ubWV0aG9kcyxnPXJbY10uZXZlbnRzLFA9cltjXS5hY2NvdW50czt1LmZvckVhY2gobT0+e2lmKCFQLnNvbWUoZj0+Zi5pbmNsdWRlcyhtKSkpdGhyb3cgbmV3IEVycm9yKGBObyBhY2NvdW50cyBwcm92aWRlZCBmb3IgY2hhaW4gJHttfSBpbiBuYW1lc3BhY2UgJHtjfWApfSksaVtjXT17Y2hhaW5zOnUsbWV0aG9kczphLGV2ZW50czpnLGFjY291bnRzOlB9fSk7Y29uc3QgZD1hbihuLGksXCJhcHByb3ZlKClcIik7aWYoZCl0aHJvdyBuZXcgRXJyb3IoZC5tZXNzYWdlKTtjb25zdCBsPXt9O3JldHVybiFPYmplY3Qua2V5cyhuKS5sZW5ndGgmJiFPYmplY3Qua2V5cyh0KS5sZW5ndGg/aTooT2JqZWN0LmtleXMobykuZm9yRWFjaChjPT57Y29uc3QgdT1yW2NdLmNoYWlucy5maWx0ZXIobT0+e3ZhciBmLGg7cmV0dXJuKGg9KGY9b1tjXSk9PW51bGw/dm9pZCAwOmYuY2hhaW5zKT09bnVsbD92b2lkIDA6aC5pbmNsdWRlcyhtKX0pLGE9cltjXS5tZXRob2RzLmZpbHRlcihtPT57dmFyIGYsaDtyZXR1cm4oaD0oZj1vW2NdKT09bnVsbD92b2lkIDA6Zi5tZXRob2RzKT09bnVsbD92b2lkIDA6aC5pbmNsdWRlcyhtKX0pLGc9cltjXS5ldmVudHMuZmlsdGVyKG09Pnt2YXIgZixoO3JldHVybihoPShmPW9bY10pPT1udWxsP3ZvaWQgMDpmLmV2ZW50cyk9PW51bGw/dm9pZCAwOmguaW5jbHVkZXMobSl9KSxQPXUubWFwKG09PnJbY10uYWNjb3VudHMuZmlsdGVyKGY9PmYuaW5jbHVkZXMoYCR7bX06YCkpKS5mbGF0KCk7bFtjXT17Y2hhaW5zOnUsbWV0aG9kczphLGV2ZW50czpnLGFjY291bnRzOlB9fSksT2JqZWN0LmtleXMocykuZm9yRWFjaChjPT57dmFyIHUsYSxnLFAsbSxmO2lmKCFyW2NdKXJldHVybjtjb25zdCBoPShhPSh1PXNbY10pPT1udWxsP3ZvaWQgMDp1LmNoYWlucyk9PW51bGw/dm9pZCAwOmEuZmlsdGVyKFQ9PnJbY10uY2hhaW5zLmluY2x1ZGVzKFQpKSxkbj1yW2NdLm1ldGhvZHMuZmlsdGVyKFQ9Pnt2YXIgdyxfO3JldHVybihfPSh3PXNbY10pPT1udWxsP3ZvaWQgMDp3Lm1ldGhvZHMpPT1udWxsP3ZvaWQgMDpfLmluY2x1ZGVzKFQpfSksbG49cltjXS5ldmVudHMuZmlsdGVyKFQ9Pnt2YXIgdyxfO3JldHVybihfPSh3PXNbY10pPT1udWxsP3ZvaWQgMDp3LmV2ZW50cyk9PW51bGw/dm9pZCAwOl8uaW5jbHVkZXMoVCl9KSxmbj1oPy5tYXAoVD0+cltjXS5hY2NvdW50cy5maWx0ZXIodz0+dy5pbmNsdWRlcyhgJHtUfTpgKSkpLmZsYXQoKTtsW2NdPXtjaGFpbnM6UygoZz1sW2NdKT09bnVsbD92b2lkIDA6Zy5jaGFpbnMsaCksbWV0aG9kczpTKChQPWxbY10pPT1udWxsP3ZvaWQgMDpQLm1ldGhvZHMsZG4pLGV2ZW50czpTKChtPWxbY10pPT1udWxsP3ZvaWQgMDptLmV2ZW50cyxsbiksYWNjb3VudHM6UygoZj1sW2NdKT09bnVsbD92b2lkIDA6Zi5hY2NvdW50cyxmbil9fSksbCl9ZnVuY3Rpb24gdGUoZSl7cmV0dXJuIGUuaW5jbHVkZXMoXCI6XCIpfWZ1bmN0aW9uIFplKGUpe3JldHVybiB0ZShlKT9lLnNwbGl0KFwiOlwiKVswXTplfWZ1bmN0aW9uIHJlKGUpe3ZhciBuLHQscjtjb25zdCBvPXt9O2lmKCFIKGUpKXJldHVybiBvO2Zvcihjb25zdFtzLGldb2YgT2JqZWN0LmVudHJpZXMoZSkpe2NvbnN0IGQ9dGUocyk/W3NdOmkuY2hhaW5zLGw9aS5tZXRob2RzfHxbXSxjPWkuZXZlbnRzfHxbXSx1PVplKHMpO29bdV09T3QoTnQoe30sb1t1XSkse2NoYWluczpTKGQsKG49b1t1XSk9PW51bGw/dm9pZCAwOm4uY2hhaW5zKSxtZXRob2RzOlMobCwodD1vW3VdKT09bnVsbD92b2lkIDA6dC5tZXRob2RzKSxldmVudHM6UyhjLChyPW9bdV0pPT1udWxsP3ZvaWQgMDpyLmV2ZW50cyl9KX1yZXR1cm4gb31jb25zdCBQdD17SU5WQUxJRF9NRVRIT0Q6e21lc3NhZ2U6XCJJbnZhbGlkIG1ldGhvZC5cIixjb2RlOjEwMDF9LElOVkFMSURfRVZFTlQ6e21lc3NhZ2U6XCJJbnZhbGlkIGV2ZW50LlwiLGNvZGU6MTAwMn0sSU5WQUxJRF9VUERBVEVfUkVRVUVTVDp7bWVzc2FnZTpcIkludmFsaWQgdXBkYXRlIHJlcXVlc3QuXCIsY29kZToxMDAzfSxJTlZBTElEX0VYVEVORF9SRVFVRVNUOnttZXNzYWdlOlwiSW52YWxpZCBleHRlbmQgcmVxdWVzdC5cIixjb2RlOjEwMDR9LElOVkFMSURfU0VTU0lPTl9TRVRUTEVfUkVRVUVTVDp7bWVzc2FnZTpcIkludmFsaWQgc2Vzc2lvbiBzZXR0bGUgcmVxdWVzdC5cIixjb2RlOjEwMDV9LFVOQVVUSE9SSVpFRF9NRVRIT0Q6e21lc3NhZ2U6XCJVbmF1dGhvcml6ZWQgbWV0aG9kLlwiLGNvZGU6MzAwMX0sVU5BVVRIT1JJWkVEX0VWRU5UOnttZXNzYWdlOlwiVW5hdXRob3JpemVkIGV2ZW50LlwiLGNvZGU6MzAwMn0sVU5BVVRIT1JJWkVEX1VQREFURV9SRVFVRVNUOnttZXNzYWdlOlwiVW5hdXRob3JpemVkIHVwZGF0ZSByZXF1ZXN0LlwiLGNvZGU6MzAwM30sVU5BVVRIT1JJWkVEX0VYVEVORF9SRVFVRVNUOnttZXNzYWdlOlwiVW5hdXRob3JpemVkIGV4dGVuZCByZXF1ZXN0LlwiLGNvZGU6MzAwNH0sVVNFUl9SRUpFQ1RFRDp7bWVzc2FnZTpcIlVzZXIgcmVqZWN0ZWQuXCIsY29kZTo1ZTN9LFVTRVJfUkVKRUNURURfQ0hBSU5TOnttZXNzYWdlOlwiVXNlciByZWplY3RlZCBjaGFpbnMuXCIsY29kZTo1MDAxfSxVU0VSX1JFSkVDVEVEX01FVEhPRFM6e21lc3NhZ2U6XCJVc2VyIHJlamVjdGVkIG1ldGhvZHMuXCIsY29kZTo1MDAyfSxVU0VSX1JFSkVDVEVEX0VWRU5UUzp7bWVzc2FnZTpcIlVzZXIgcmVqZWN0ZWQgZXZlbnRzLlwiLGNvZGU6NTAwM30sVU5TVVBQT1JURURfQ0hBSU5TOnttZXNzYWdlOlwiVW5zdXBwb3J0ZWQgY2hhaW5zLlwiLGNvZGU6NTEwMH0sVU5TVVBQT1JURURfTUVUSE9EUzp7bWVzc2FnZTpcIlVuc3VwcG9ydGVkIG1ldGhvZHMuXCIsY29kZTo1MTAxfSxVTlNVUFBPUlRFRF9FVkVOVFM6e21lc3NhZ2U6XCJVbnN1cHBvcnRlZCBldmVudHMuXCIsY29kZTo1MTAyfSxVTlNVUFBPUlRFRF9BQ0NPVU5UUzp7bWVzc2FnZTpcIlVuc3VwcG9ydGVkIGFjY291bnRzLlwiLGNvZGU6NTEwM30sVU5TVVBQT1JURURfTkFNRVNQQUNFX0tFWTp7bWVzc2FnZTpcIlVuc3VwcG9ydGVkIG5hbWVzcGFjZSBrZXkuXCIsY29kZTo1MTA0fSxVU0VSX0RJU0NPTk5FQ1RFRDp7bWVzc2FnZTpcIlVzZXIgZGlzY29ubmVjdGVkLlwiLGNvZGU6NmUzfSxTRVNTSU9OX1NFVFRMRU1FTlRfRkFJTEVEOnttZXNzYWdlOlwiU2Vzc2lvbiBzZXR0bGVtZW50IGZhaWxlZC5cIixjb2RlOjdlM30sV0NfTUVUSE9EX1VOU1VQUE9SVEVEOnttZXNzYWdlOlwiVW5zdXBwb3J0ZWQgd2NfIG1ldGhvZC5cIixjb2RlOjEwMDAxfX0sVHQ9e05PVF9JTklUSUFMSVpFRDp7bWVzc2FnZTpcIk5vdCBpbml0aWFsaXplZC5cIixjb2RlOjF9LE5PX01BVENISU5HX0tFWTp7bWVzc2FnZTpcIk5vIG1hdGNoaW5nIGtleS5cIixjb2RlOjJ9LFJFU1RPUkVfV0lMTF9PVkVSUklERTp7bWVzc2FnZTpcIlJlc3RvcmUgd2lsbCBvdmVycmlkZS5cIixjb2RlOjN9LFJFU1VCU0NSSUJFRDp7bWVzc2FnZTpcIlJlc3Vic2NyaWJlZC5cIixjb2RlOjR9LE1JU1NJTkdfT1JfSU5WQUxJRDp7bWVzc2FnZTpcIk1pc3Npbmcgb3IgaW52YWxpZC5cIixjb2RlOjV9LEVYUElSRUQ6e21lc3NhZ2U6XCJFeHBpcmVkLlwiLGNvZGU6Nn0sVU5LTk9XTl9UWVBFOnttZXNzYWdlOlwiVW5rbm93biB0eXBlLlwiLGNvZGU6N30sTUlTTUFUQ0hFRF9UT1BJQzp7bWVzc2FnZTpcIk1pc21hdGNoZWQgdG9waWMuXCIsY29kZTo4fSxOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTOnttZXNzYWdlOlwiTm9uIGNvbmZvcm1pbmcgbmFtZXNwYWNlcy5cIixjb2RlOjl9fTtmdW5jdGlvbiBOKGUsbil7Y29uc3R7bWVzc2FnZTp0LGNvZGU6cn09VHRbZV07cmV0dXJue21lc3NhZ2U6bj9gJHt0fSAke259YDp0LGNvZGU6cn19ZnVuY3Rpb24gQShlLG4pe2NvbnN0e21lc3NhZ2U6dCxjb2RlOnJ9PVB0W2VdO3JldHVybnttZXNzYWdlOm4/YCR7dH0gJHtufWA6dCxjb2RlOnJ9fWZ1bmN0aW9uIEMoZSxuKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT90eXBlb2YgbjxcInVcIiYmZS5sZW5ndGg/ZS5ldmVyeShuKTohMDohMX1mdW5jdGlvbiBIKGUpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1PYmplY3QucHJvdG90eXBlJiZPYmplY3Qua2V5cyhlKS5sZW5ndGh9ZnVuY3Rpb24gSShlKXtyZXR1cm4gdHlwZW9mIGU+XCJ1XCJ9ZnVuY3Rpb24geShlLG4pe3JldHVybiBuJiZJKGUpPyEwOnR5cGVvZiBlPT1cInN0cmluZ1wiJiYhIWUudHJpbSgpLmxlbmd0aH1mdW5jdGlvbiBxKGUsbil7cmV0dXJuIG4mJkkoZSk/ITA6dHlwZW9mIGU9PVwibnVtYmVyXCImJiFpc05hTihlKX1mdW5jdGlvbiB3dChlLG4pe2NvbnN0e3JlcXVpcmVkTmFtZXNwYWNlczp0fT1uLHI9T2JqZWN0LmtleXMoZS5uYW1lc3BhY2VzKSxvPU9iamVjdC5rZXlzKHQpO2xldCBzPSEwO3JldHVybiBPKG8scik/KHIuZm9yRWFjaChpPT57Y29uc3R7YWNjb3VudHM6ZCxtZXRob2RzOmwsZXZlbnRzOmN9PWUubmFtZXNwYWNlc1tpXSx1PVIoZCksYT10W2ldOyghTyhNKGksYSksdSl8fCFPKGEubWV0aG9kcyxsKXx8IU8oYS5ldmVudHMsYykpJiYocz0hMSl9KSxzKTohMX1mdW5jdGlvbiBEKGUpe3JldHVybiB5KGUsITEpJiZlLmluY2x1ZGVzKFwiOlwiKT9lLnNwbGl0KFwiOlwiKS5sZW5ndGg9PT0yOiExfWZ1bmN0aW9uIFhlKGUpe2lmKHkoZSwhMSkmJmUuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCBuPWUuc3BsaXQoXCI6XCIpO2lmKG4ubGVuZ3RoPT09Myl7Y29uc3QgdD1uWzBdK1wiOlwiK25bMV07cmV0dXJuISFuWzJdJiZEKHQpfX1yZXR1cm4hMX1mdW5jdGlvbiBSdChlKXtpZih5KGUsITEpKXRyeXtyZXR1cm4gdHlwZW9mIG5ldyBVUkwoZSk8XCJ1XCJ9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuITF9ZnVuY3Rpb24gQXQoZSl7dmFyIG47cmV0dXJuKG49ZT8ucHJvcG9zZXIpPT1udWxsP3ZvaWQgMDpuLnB1YmxpY0tleX1mdW5jdGlvbiBVdChlKXtyZXR1cm4gZT8udG9waWN9ZnVuY3Rpb24gX3QoZSxuKXtsZXQgdD1udWxsO3JldHVybiB5KGU/LnB1YmxpY0tleSwhMSl8fCh0PU4oXCJNSVNTSU5HX09SX0lOVkFMSURcIixgJHtufSBjb250cm9sbGVyIHB1YmxpYyBrZXkgc2hvdWxkIGJlIGEgc3RyaW5nYCkpLHR9ZnVuY3Rpb24gb2UoZSl7bGV0IG49ITA7cmV0dXJuIEMoZSk/ZS5sZW5ndGgmJihuPWUuZXZlcnkodD0+eSh0LCExKSkpOm49ITEsbn1mdW5jdGlvbiBlbihlLG4sdCl7bGV0IHI9bnVsbDtyZXR1cm4gQyhuKSYmbi5sZW5ndGg/bi5mb3JFYWNoKG89PntyfHxEKG8pfHwocj1BKFwiVU5TVVBQT1JURURfQ0hBSU5TXCIsYCR7dH0sIGNoYWluICR7b30gc2hvdWxkIGJlIGEgc3RyaW5nIGFuZCBjb25mb3JtIHRvIFwibmFtZXNwYWNlOmNoYWluSWRcIiBmb3JtYXRgKSl9KTpEKGUpfHwocj1BKFwiVU5TVVBQT1JURURfQ0hBSU5TXCIsYCR7dH0sIGNoYWlucyBtdXN0IGJlIGRlZmluZWQgYXMgXCJuYW1lc3BhY2U6Y2hhaW5JZFwiIGUuZy4gXCJlaXAxNTU6MVwiOiB7Li4ufSBpbiB0aGUgbmFtZXNwYWNlIGtleSBPUiBhcyBhbiBhcnJheSBvZiBDQUlQLTIgY2hhaW5JZHMgZS5nLiBlaXAxNTU6IHsgY2hhaW5zOiBbXCJlaXAxNTU6MVwiLCBcImVpcDE1NTo1XCJdIH1gKSkscn1mdW5jdGlvbiBubihlLG4sdCl7bGV0IHI9bnVsbDtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW28sc10pPT57aWYocilyZXR1cm47Y29uc3QgaT1lbihvLE0obyxzKSxgJHtufSAke3R9YCk7aSYmKHI9aSl9KSxyfWZ1bmN0aW9uIHRuKGUsbil7bGV0IHQ9bnVsbDtyZXR1cm4gQyhlKT9lLmZvckVhY2gocj0+e3R8fFhlKHIpfHwodD1BKFwiVU5TVVBQT1JURURfQUNDT1VOVFNcIixgJHtufSwgYWNjb3VudCAke3J9IHNob3VsZCBiZSBhIHN0cmluZyBhbmQgY29uZm9ybSB0byBcIm5hbWVzcGFjZTpjaGFpbklkOmFkZHJlc3NcIiBmb3JtYXRgKSl9KTp0PUEoXCJVTlNVUFBPUlRFRF9BQ0NPVU5UU1wiLGAke259LCBhY2NvdW50cyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyBjb25mb3JtaW5nIHRvIFwibmFtZXNwYWNlOmNoYWluSWQ6YWRkcmVzc1wiIGZvcm1hdGApLHR9ZnVuY3Rpb24gcm4oZSxuKXtsZXQgdD1udWxsO3JldHVybiBPYmplY3QudmFsdWVzKGUpLmZvckVhY2gocj0+e2lmKHQpcmV0dXJuO2NvbnN0IG89dG4ocj8uYWNjb3VudHMsYCR7bn0gbmFtZXNwYWNlYCk7byYmKHQ9byl9KSx0fWZ1bmN0aW9uIG9uKGUsbil7bGV0IHQ9bnVsbDtyZXR1cm4gb2UoZT8ubWV0aG9kcyk/b2UoZT8uZXZlbnRzKXx8KHQ9QShcIlVOU1VQUE9SVEVEX0VWRU5UU1wiLGAke259LCBldmVudHMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgZW1wdHkgYXJyYXkgZm9yIG5vIGV2ZW50c2ApKTp0PUEoXCJVTlNVUFBPUlRFRF9NRVRIT0RTXCIsYCR7bn0sIG1ldGhvZHMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgZW1wdHkgYXJyYXkgZm9yIG5vIG1ldGhvZHNgKSx0fWZ1bmN0aW9uIHNlKGUsbil7bGV0IHQ9bnVsbDtyZXR1cm4gT2JqZWN0LnZhbHVlcyhlKS5mb3JFYWNoKHI9PntpZih0KXJldHVybjtjb25zdCBvPW9uKHIsYCR7bn0sIG5hbWVzcGFjZWApO28mJih0PW8pfSksdH1mdW5jdGlvbiAkdChlLG4sdCl7bGV0IHI9bnVsbDtpZihlJiZIKGUpKXtjb25zdCBvPXNlKGUsbik7byYmKHI9byk7Y29uc3Qgcz1ubihlLG4sdCk7cyYmKHI9cyl9ZWxzZSByPU4oXCJNSVNTSU5HX09SX0lOVkFMSURcIixgJHtufSwgJHt0fSBzaG91bGQgYmUgYW4gb2JqZWN0IHdpdGggZGF0YWApO3JldHVybiByfWZ1bmN0aW9uIHNuKGUsbil7bGV0IHQ9bnVsbDtpZihlJiZIKGUpKXtjb25zdCByPXNlKGUsbik7ciYmKHQ9cik7Y29uc3Qgbz1ybihlLG4pO28mJih0PW8pfWVsc2UgdD1OKFwiTUlTU0lOR19PUl9JTlZBTElEXCIsYCR7bn0sIG5hbWVzcGFjZXMgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoIGRhdGFgKTtyZXR1cm4gdH1mdW5jdGlvbiBjbihlKXtyZXR1cm4geShlLnByb3RvY29sLCEwKX1mdW5jdGlvbiBqdChlLG4pe2xldCB0PSExO3JldHVybiBuJiYhZT90PSEwOmUmJkMoZSkmJmUubGVuZ3RoJiZlLmZvckVhY2gocj0+e3Q9Y24ocil9KSx0fWZ1bmN0aW9uIEN0KGUpe3JldHVybiB0eXBlb2YgZT09XCJudW1iZXJcIn1mdW5jdGlvbiBEdChlKXtyZXR1cm4gdHlwZW9mIGU8XCJ1XCImJnR5cGVvZiBlIT09bnVsbH1mdW5jdGlvbiBWdChlKXtyZXR1cm4hKCFlfHx0eXBlb2YgZSE9XCJvYmplY3RcInx8IWUuY29kZXx8IXEoZS5jb2RlLCExKXx8IWUubWVzc2FnZXx8IXkoZS5tZXNzYWdlLCExKSl9ZnVuY3Rpb24ga3QoZSl7cmV0dXJuIShJKGUpfHwheShlLm1ldGhvZCwhMSkpfWZ1bmN0aW9uIE10KGUpe3JldHVybiEoSShlKXx8SShlLnJlc3VsdCkmJkkoZS5lcnJvcil8fCFxKGUuaWQsITEpfHwheShlLmpzb25ycGMsITEpKX1mdW5jdGlvbiBLdChlKXtyZXR1cm4hKEkoZSl8fCF5KGUubmFtZSwhMSkpfWZ1bmN0aW9uIEx0KGUsbil7cmV0dXJuISghRChuKXx8IVllKGUpLmluY2x1ZGVzKG4pKX1mdW5jdGlvbiB4dChlLG4sdCl7cmV0dXJuIHkodCwhMSk/SmUoZSxuKS5pbmNsdWRlcyh0KTohMX1mdW5jdGlvbiBGdChlLG4sdCl7cmV0dXJuIHkodCwhMSk/UWUoZSxuKS5pbmNsdWRlcyh0KTohMX1mdW5jdGlvbiBhbihlLG4sdCl7bGV0IHI9bnVsbDtjb25zdCBvPUh0KGUpLHM9cXQobiksaT1PYmplY3Qua2V5cyhvKSxkPU9iamVjdC5rZXlzKHMpLGw9dW4oT2JqZWN0LmtleXMoZSkpLGM9dW4oT2JqZWN0LmtleXMobikpLHU9bC5maWx0ZXIoYT0+IWMuaW5jbHVkZXMoYSkpO3JldHVybiB1Lmxlbmd0aCYmKHI9TihcIk5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVNcIixgJHt0fSBuYW1lc3BhY2VzIGtleXMgZG9uJ3Qgc2F0aXNmeSByZXF1aXJlZE5hbWVzcGFjZXMuXG4gICAgICBSZXF1aXJlZDogJHt1LnRvU3RyaW5nKCl9XG4gICAgICBSZWNlaXZlZDogJHtPYmplY3Qua2V5cyhuKS50b1N0cmluZygpfWApKSxPKGksZCl8fChyPU4oXCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTXCIsYCR7dH0gbmFtZXNwYWNlcyBjaGFpbnMgZG9uJ3Qgc2F0aXNmeSByZXF1aXJlZCBuYW1lc3BhY2VzLlxuICAgICAgUmVxdWlyZWQ6ICR7aS50b1N0cmluZygpfVxuICAgICAgQXBwcm92ZWQ6ICR7ZC50b1N0cmluZygpfWApKSxPYmplY3Qua2V5cyhuKS5mb3JFYWNoKGE9PntpZighYS5pbmNsdWRlcyhcIjpcIil8fHIpcmV0dXJuO2NvbnN0IGc9UihuW2FdLmFjY291bnRzKTtnLmluY2x1ZGVzKGEpfHwocj1OKFwiTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFU1wiLGAke3R9IG5hbWVzcGFjZXMgYWNjb3VudHMgZG9uJ3Qgc2F0aXNmeSBuYW1lc3BhY2UgYWNjb3VudHMgZm9yICR7YX1cbiAgICAgICAgUmVxdWlyZWQ6ICR7YX1cbiAgICAgICAgQXBwcm92ZWQ6ICR7Zy50b1N0cmluZygpfWApKX0pLGkuZm9yRWFjaChhPT57cnx8KE8ob1thXS5tZXRob2RzLHNbYV0ubWV0aG9kcyk/TyhvW2FdLmV2ZW50cyxzW2FdLmV2ZW50cyl8fChyPU4oXCJOT05fQ09ORk9STUlOR19OQU1FU1BBQ0VTXCIsYCR7dH0gbmFtZXNwYWNlcyBldmVudHMgZG9uJ3Qgc2F0aXNmeSBuYW1lc3BhY2UgZXZlbnRzIGZvciAke2F9YCkpOnI9TihcIk5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVNcIixgJHt0fSBuYW1lc3BhY2VzIG1ldGhvZHMgZG9uJ3Qgc2F0aXNmeSBuYW1lc3BhY2UgbWV0aG9kcyBmb3IgJHthfWApKX0pLHJ9ZnVuY3Rpb24gSHQoZSl7Y29uc3Qgbj17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57dmFyIHI7dC5pbmNsdWRlcyhcIjpcIik/blt0XT1lW3RdOihyPWVbdF0uY2hhaW5zKT09bnVsbHx8ci5mb3JFYWNoKG89PntuW29dPXttZXRob2RzOmVbdF0ubWV0aG9kcyxldmVudHM6ZVt0XS5ldmVudHN9fSl9KSxufWZ1bmN0aW9uIHVuKGUpe3JldHVyblsuLi5uZXcgU2V0KGUubWFwKG49Pm4uaW5jbHVkZXMoXCI6XCIpP24uc3BsaXQoXCI6XCIpWzBdOm4pKV19ZnVuY3Rpb24gcXQoZSl7Y29uc3Qgbj17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57aWYodC5pbmNsdWRlcyhcIjpcIikpblt0XT1lW3RdO2Vsc2V7Y29uc3Qgcj1SKGVbdF0uYWNjb3VudHMpO3I/LmZvckVhY2gobz0+e25bb109e2FjY291bnRzOmVbdF0uYWNjb3VudHMuZmlsdGVyKHM9PnMuaW5jbHVkZXMoYCR7b306YCkpLG1ldGhvZHM6ZVt0XS5tZXRob2RzLGV2ZW50czplW3RdLmV2ZW50c319KX19KSxufWZ1bmN0aW9uIEd0KGUsbil7cmV0dXJuIHEoZSwhMSkmJmU8PW4ubWF4JiZlPj1uLm1pbn1leHBvcnR7QiBhcyBCQVNFMTAscCBhcyBCQVNFMTYsTCBhcyBCQVNFNjQsTG4gYXMgQ09MT04sWCBhcyBERUZBVUxUX0RFUFRILEYgYXMgRU1QVFlfU1BBQ0UsYiBhcyBFTlZfTUFQLHhuIGFzIE9ORV9USE9VU0FORCxBZSBhcyBSRUFDVF9OQVRJVkVfUFJPRFVDVCx4ZSBhcyBSRUxBWUVSX0RFRkFVTFRfUFJPVE9DT0wsX2UgYXMgU0RLX1RZUEUsVWUgYXMgU0xBU0gsWSBhcyBUWVBFXzAsVSBhcyBUWVBFXzEseCBhcyBVVEY4LENlIGFzIGFwcGVuZFRvUXVlcnlTdHJpbmcsV24gYXMgYXNzZXJ0VHlwZSxJdCBhcyBidWlsZEFwcHJvdmVkTmFtZXNwYWNlcyxvdCBhcyBjYWxjRXhwaXJ5LFpuIGFzIGNhcGl0YWxpemUsTGUgYXMgY2FwaXRhbGl6ZVdvcmQsWG4gYXMgY3JlYXRlRGVsYXllZFByb21pc2UsZXQgYXMgY3JlYXRlRXhwaXJpbmdQcm9taXNlLCQgYXMgZGVjb2RlVHlwZUJ5dGUsQ24gYXMgZGVjcnlwdCxVbiBhcyBkZXJpdmVTeW1LZXksWiBhcyBkZXNlcmlhbGl6ZSxTZSBhcyBlbmNvZGVUeXBlQnl0ZSxqbiBhcyBlbmNyeXB0LGl0IGFzIGVuZ2luZUV2ZW50LFFuIGFzIGVudW1pZnksaGUgYXMgZm9ybWF0QWNjb3VudElkLGJuIGFzIGZvcm1hdEFjY291bnRXaXRoQ2hhaW4seWUgYXMgZm9ybWF0Q2hhaW5JZCxuZSBhcyBmb3JtYXRFeHBpcmVyVGFyZ2V0LHR0IGFzIGZvcm1hdElkVGFyZ2V0LFRuIGFzIGZvcm1hdE1lc3NhZ2Usem4gYXMgZm9ybWF0TWVzc2FnZUNvbnRleHQsV2UgYXMgZm9ybWF0UmVsYXlQYXJhbXMscW4gYXMgZm9ybWF0UmVsYXlScGNVcmwsbnQgYXMgZm9ybWF0VG9waWNUYXJnZXQsa2UgYXMgZm9ybWF0VUEseXQgYXMgZm9ybWF0VXJpLFJuIGFzIGdlbmVyYXRlS2V5UGFpcixBbiBhcyBnZW5lcmF0ZVJhbmRvbUJ5dGVzMzIsUiBhcyBnZXRBY2NvdW50c0NoYWlucyxPbiBhcyBnZXRBY2NvdW50c0Zyb21OYW1lc3BhY2VzLEVlIGFzIGdldEFkZHJlc3NGcm9tQWNjb3VudCxObiBhcyBnZXRBZGRyZXNzZXNGcm9tQWNjb3VudHMsRm4gYXMgZ2V0QXBwTWV0YWRhdGEsdmUgYXMgZ2V0Q2hhaW5Gcm9tQWNjb3VudCxnZSBhcyBnZXRDaGFpbnNGcm9tQWNjb3VudHMsTSBhcyBnZXRDaGFpbnNGcm9tTmFtZXNwYWNlLFNuIGFzIGdldENoYWluc0Zyb21OYW1lc3BhY2VzLEluIGFzIGdldENoYWluc0Zyb21SZXF1aXJlZE5hbWVzcGFjZXMsTmUgYXMgZ2V0RGlkQWRkcmVzcyxLIGFzIGdldERpZEFkZHJlc3NTZWdtZW50cyxiZSBhcyBnZXREaWRDaGFpbklkLGogYXMgZ2V0RW52aXJvbm1lbnQsR24gYXMgZ2V0SHR0cFVybCxOIGFzIGdldEludGVybmFsRXJyb3IsVmUgYXMgZ2V0SmF2YXNjcmlwdElELERlIGFzIGdldEphdmFzY3JpcHRPUyxLZSBhcyBnZXRMYXN0SXRlbXMsUG4gYXMgZ2V0TmFtZXNwYWNlZERpZENoYWluSWQsWWUgYXMgZ2V0TmFtZXNwYWNlc0NoYWlucyxRZSBhcyBnZXROYW1lc3BhY2VzRXZlbnRzRm9yQ2hhaW5JZCxKZSBhcyBnZXROYW1lc3BhY2VzTWV0aG9kc0ZvckNoYWluSWQsSG4gYXMgZ2V0UmVsYXlDbGllbnRNZXRhZGF0YSx1dCBhcyBnZXRSZWxheVByb3RvY29sQXBpLGF0IGFzIGdldFJlbGF5UHJvdG9jb2xOYW1lLFN0IGFzIGdldFJlcXVpcmVkTmFtZXNwYWNlc0Zyb21OYW1lc3BhY2VzLEEgYXMgZ2V0U2RrRXJyb3IseiBhcyBnZXRVbmlxdWVWYWx1ZXMsY3QgYXMgaGFuZGxlRGVlcGxpbmtSZWRpcmVjdCxPIGFzIGhhc092ZXJsYXAsX24gYXMgaGFzaEtleSwkbiBhcyBoYXNoTWVzc2FnZSxqZSBhcyBpc0Jyb3dzZXIsdGUgYXMgaXNDYWlwTmFtZXNwYWNlLGFuIGFzIGlzQ29uZm9ybWluZ05hbWVzcGFjZXMsc3QgYXMgaXNFeHBpcmVkLGVlIGFzIGlzTm9kZSxBdCBhcyBpc1Byb3Bvc2FsU3RydWN0LCRlIGFzIGlzUmVhY3ROYXRpdmUsd3QgYXMgaXNTZXNzaW9uQ29tcGF0aWJsZSxVdCBhcyBpc1Nlc3Npb25TdHJ1Y3QsVm4gYXMgaXNUeXBlT25lRW52ZWxvcGUsSSBhcyBpc1VuZGVmaW5lZCxYZSBhcyBpc1ZhbGlkQWNjb3VudElkLHRuIGFzIGlzVmFsaWRBY2NvdW50cyxvbiBhcyBpc1ZhbGlkQWN0aW9ucyxDIGFzIGlzVmFsaWRBcnJheSxEIGFzIGlzVmFsaWRDaGFpbklkLGVuIGFzIGlzVmFsaWRDaGFpbnMsX3QgYXMgaXNWYWxpZENvbnRyb2xsZXIsVnQgYXMgaXNWYWxpZEVycm9yUmVhc29uLEt0IGFzIGlzVmFsaWRFdmVudCxDdCBhcyBpc1ZhbGlkSWQscm4gYXMgaXNWYWxpZE5hbWVzcGFjZUFjY291bnRzLHNlIGFzIGlzVmFsaWROYW1lc3BhY2VBY3Rpb25zLG5uIGFzIGlzVmFsaWROYW1lc3BhY2VDaGFpbnMsb2UgYXMgaXNWYWxpZE5hbWVzcGFjZU1ldGhvZHNPckV2ZW50cyxzbiBhcyBpc1ZhbGlkTmFtZXNwYWNlcyxMdCBhcyBpc1ZhbGlkTmFtZXNwYWNlc0NoYWluSWQsRnQgYXMgaXNWYWxpZE5hbWVzcGFjZXNFdmVudCx4dCBhcyBpc1ZhbGlkTmFtZXNwYWNlc1JlcXVlc3QscSBhcyBpc1ZhbGlkTnVtYmVyLEggYXMgaXNWYWxpZE9iamVjdCxEdCBhcyBpc1ZhbGlkUGFyYW1zLGNuIGFzIGlzVmFsaWRSZWxheSxqdCBhcyBpc1ZhbGlkUmVsYXlzLGt0IGFzIGlzVmFsaWRSZXF1ZXN0LEd0IGFzIGlzVmFsaWRSZXF1ZXN0RXhwaXJ5LCR0IGFzIGlzVmFsaWRSZXF1aXJlZE5hbWVzcGFjZXMsTXQgYXMgaXNWYWxpZFJlc3BvbnNlLHkgYXMgaXNWYWxpZFN0cmluZyxSdCBhcyBpc1ZhbGlkVXJsLEpuIGFzIG1hcEVudHJpZXMsQm4gYXMgbWFwVG9PYmosUyBhcyBtZXJnZUFycmF5cyxyZSBhcyBub3JtYWxpemVOYW1lc3BhY2VzLFluIGFzIG9ialRvTWFwLFcgYXMgcGFyc2VBY2NvdW50SWQsbWUgYXMgcGFyc2VDaGFpbklkLE1lIGFzIHBhcnNlQ29udGV4dE5hbWVzLHJ0IGFzIHBhcnNlRXhwaXJlclRhcmdldCxaZSBhcyBwYXJzZU5hbWVzcGFjZUtleSxxZSBhcyBwYXJzZVJlbGF5UGFyYW1zLEdlIGFzIHBhcnNlVG9waWMsbXQgYXMgcGFyc2VVcmksSWUgYXMgc2VyaWFsaXplLERuIGFzIHZhbGlkYXRlRGVjb2RpbmcsUGUgYXMgdmFsaWRhdGVFbmNvZGluZ307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5lcy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/utils/dist/index.es.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/utils/node_modules/query-string/index.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@walletconnect/utils/node_modules/query-string/index.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nconst strictUriEncode = __webpack_require__(/*! strict-uri-encode */ \"./node_modules/strict-uri-encode/index.js\");\nconst decodeComponent = __webpack_require__(/*! decode-uri-component */ \"./node_modules/decode-uri-component/index.js\");\nconst splitOnFirst = __webpack_require__(/*! split-on-first */ \"./node_modules/split-on-first/index.js\");\nconst filterObject = __webpack_require__(/*! filter-obj */ \"./node_modules/filter-obj/index.js\");\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdXRpbHMvbm9kZV9tb2R1bGVzL3F1ZXJ5LXN0cmluZy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHdCQUF3QixtQkFBTyxDQUFDLG9FQUFtQjtBQUNuRCx3QkFBd0IsbUJBQU8sQ0FBQywwRUFBc0I7QUFDdEQscUJBQXFCLG1CQUFPLENBQUMsOERBQWdCO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLHNEQUFZOztBQUV6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOztBQUVBLGVBQWU7QUFDZixhQUFhOztBQUViLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOztBQUVBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCx3REFBd0QsMkNBQTJDO0FBQ25HO0FBQ0E7O0FBRUEsb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EseURBQXlELFlBQVk7O0FBRXJFO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQSxhQUFhLDJHQUEyRztBQUN4SDs7QUFFQSxXQUFXLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSztBQUNwQzs7QUFFQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRixRQUFRLGdDQUFnQztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3QvdXRpbHMvbm9kZV9tb2R1bGVzL3F1ZXJ5LXN0cmluZy9pbmRleC5qcz8wNzQ3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmNvbnN0IHN0cmljdFVyaUVuY29kZSA9IHJlcXVpcmUoJ3N0cmljdC11cmktZW5jb2RlJyk7XG5jb25zdCBkZWNvZGVDb21wb25lbnQgPSByZXF1aXJlKCdkZWNvZGUtdXJpLWNvbXBvbmVudCcpO1xuY29uc3Qgc3BsaXRPbkZpcnN0ID0gcmVxdWlyZSgnc3BsaXQtb24tZmlyc3QnKTtcbmNvbnN0IGZpbHRlck9iamVjdCA9IHJlcXVpcmUoJ2ZpbHRlci1vYmonKTtcblxuY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSB2YWx1ZSA9PiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuXG5jb25zdCBlbmNvZGVGcmFnbWVudElkZW50aWZpZXIgPSBTeW1ib2woJ2VuY29kZUZyYWdtZW50SWRlbnRpZmllcicpO1xuXG5mdW5jdGlvbiBlbmNvZGVyRm9yQXJyYXlGb3JtYXQob3B0aW9ucykge1xuXHRzd2l0Y2ggKG9wdGlvbnMuYXJyYXlGb3JtYXQpIHtcblx0XHRjYXNlICdpbmRleCc6XG5cdFx0XHRyZXR1cm4ga2V5ID0+IChyZXN1bHQsIHZhbHVlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGluZGV4ID0gcmVzdWx0Lmxlbmd0aDtcblxuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0dmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuXHRcdFx0XHRcdChvcHRpb25zLnNraXBOdWxsICYmIHZhbHVlID09PSBudWxsKSB8fFxuXHRcdFx0XHRcdChvcHRpb25zLnNraXBFbXB0eVN0cmluZyAmJiB2YWx1ZSA9PT0gJycpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAodmFsdWUgPT09IG51bGwpIHtcblx0XHRcdFx0XHRyZXR1cm4gWy4uLnJlc3VsdCwgW2VuY29kZShrZXksIG9wdGlvbnMpLCAnWycsIGluZGV4LCAnXSddLmpvaW4oJycpXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHRcdFtlbmNvZGUoa2V5LCBvcHRpb25zKSwgJ1snLCBlbmNvZGUoaW5kZXgsIG9wdGlvbnMpLCAnXT0nLCBlbmNvZGUodmFsdWUsIG9wdGlvbnMpXS5qb2luKCcnKVxuXHRcdFx0XHRdO1xuXHRcdFx0fTtcblxuXHRcdGNhc2UgJ2JyYWNrZXQnOlxuXHRcdFx0cmV0dXJuIGtleSA9PiAocmVzdWx0LCB2YWx1ZSkgPT4ge1xuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0dmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuXHRcdFx0XHRcdChvcHRpb25zLnNraXBOdWxsICYmIHZhbHVlID09PSBudWxsKSB8fFxuXHRcdFx0XHRcdChvcHRpb25zLnNraXBFbXB0eVN0cmluZyAmJiB2YWx1ZSA9PT0gJycpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAodmFsdWUgPT09IG51bGwpIHtcblx0XHRcdFx0XHRyZXR1cm4gWy4uLnJlc3VsdCwgW2VuY29kZShrZXksIG9wdGlvbnMpLCAnW10nXS5qb2luKCcnKV07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gWy4uLnJlc3VsdCwgW2VuY29kZShrZXksIG9wdGlvbnMpLCAnW109JywgZW5jb2RlKHZhbHVlLCBvcHRpb25zKV0uam9pbignJyldO1xuXHRcdFx0fTtcblxuXHRcdGNhc2UgJ2NvbG9uLWxpc3Qtc2VwYXJhdG9yJzpcblx0XHRcdHJldHVybiBrZXkgPT4gKHJlc3VsdCwgdmFsdWUpID0+IHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdHZhbHVlID09PSB1bmRlZmluZWQgfHxcblx0XHRcdFx0XHQob3B0aW9ucy5za2lwTnVsbCAmJiB2YWx1ZSA9PT0gbnVsbCkgfHxcblx0XHRcdFx0XHQob3B0aW9ucy5za2lwRW1wdHlTdHJpbmcgJiYgdmFsdWUgPT09ICcnKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFsuLi5yZXN1bHQsIFtlbmNvZGUoa2V5LCBvcHRpb25zKSwgJzpsaXN0PSddLmpvaW4oJycpXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbLi4ucmVzdWx0LCBbZW5jb2RlKGtleSwgb3B0aW9ucyksICc6bGlzdD0nLCBlbmNvZGUodmFsdWUsIG9wdGlvbnMpXS5qb2luKCcnKV07XG5cdFx0XHR9O1xuXG5cdFx0Y2FzZSAnY29tbWEnOlxuXHRcdGNhc2UgJ3NlcGFyYXRvcic6XG5cdFx0Y2FzZSAnYnJhY2tldC1zZXBhcmF0b3InOiB7XG5cdFx0XHRjb25zdCBrZXlWYWx1ZVNlcCA9IG9wdGlvbnMuYXJyYXlGb3JtYXQgPT09ICdicmFja2V0LXNlcGFyYXRvcicgP1xuXHRcdFx0XHQnW109JyA6XG5cdFx0XHRcdCc9JztcblxuXHRcdFx0cmV0dXJuIGtleSA9PiAocmVzdWx0LCB2YWx1ZSkgPT4ge1xuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0dmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuXHRcdFx0XHRcdChvcHRpb25zLnNraXBOdWxsICYmIHZhbHVlID09PSBudWxsKSB8fFxuXHRcdFx0XHRcdChvcHRpb25zLnNraXBFbXB0eVN0cmluZyAmJiB2YWx1ZSA9PT0gJycpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBUcmFuc2xhdGUgbnVsbCB0byBhbiBlbXB0eSBzdHJpbmcgc28gdGhhdCBpdCBkb2Vzbid0IHNlcmlhbGl6ZSBhcyAnbnVsbCdcblx0XHRcdFx0dmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCA/ICcnIDogdmFsdWU7XG5cblx0XHRcdFx0aWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW1tlbmNvZGUoa2V5LCBvcHRpb25zKSwga2V5VmFsdWVTZXAsIGVuY29kZSh2YWx1ZSwgb3B0aW9ucyldLmpvaW4oJycpXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbW3Jlc3VsdCwgZW5jb2RlKHZhbHVlLCBvcHRpb25zKV0uam9pbihvcHRpb25zLmFycmF5Rm9ybWF0U2VwYXJhdG9yKV07XG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdGRlZmF1bHQ6XG5cdFx0XHRyZXR1cm4ga2V5ID0+IChyZXN1bHQsIHZhbHVlKSA9PiB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHR2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0XHRcdFx0KG9wdGlvbnMuc2tpcE51bGwgJiYgdmFsdWUgPT09IG51bGwpIHx8XG5cdFx0XHRcdFx0KG9wdGlvbnMuc2tpcEVtcHR5U3RyaW5nICYmIHZhbHVlID09PSAnJylcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0XHRcdHJldHVybiBbLi4ucmVzdWx0LCBlbmNvZGUoa2V5LCBvcHRpb25zKV07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gWy4uLnJlc3VsdCwgW2VuY29kZShrZXksIG9wdGlvbnMpLCAnPScsIGVuY29kZSh2YWx1ZSwgb3B0aW9ucyldLmpvaW4oJycpXTtcblx0XHRcdH07XG5cdH1cbn1cblxuZnVuY3Rpb24gcGFyc2VyRm9yQXJyYXlGb3JtYXQob3B0aW9ucykge1xuXHRsZXQgcmVzdWx0O1xuXG5cdHN3aXRjaCAob3B0aW9ucy5hcnJheUZvcm1hdCkge1xuXHRcdGNhc2UgJ2luZGV4Jzpcblx0XHRcdHJldHVybiAoa2V5LCB2YWx1ZSwgYWNjdW11bGF0b3IpID0+IHtcblx0XHRcdFx0cmVzdWx0ID0gL1xcWyhcXGQqKVxcXSQvLmV4ZWMoa2V5KTtcblxuXHRcdFx0XHRrZXkgPSBrZXkucmVwbGFjZSgvXFxbXFxkKlxcXSQvLCAnJyk7XG5cblx0XHRcdFx0aWYgKCFyZXN1bHQpIHtcblx0XHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gdmFsdWU7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGFjY3VtdWxhdG9yW2tleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSB7fTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGFjY3VtdWxhdG9yW2tleV1bcmVzdWx0WzFdXSA9IHZhbHVlO1xuXHRcdFx0fTtcblxuXHRcdGNhc2UgJ2JyYWNrZXQnOlxuXHRcdFx0cmV0dXJuIChrZXksIHZhbHVlLCBhY2N1bXVsYXRvcikgPT4ge1xuXHRcdFx0XHRyZXN1bHQgPSAvKFxcW1xcXSkkLy5leGVjKGtleSk7XG5cdFx0XHRcdGtleSA9IGtleS5yZXBsYWNlKC9cXFtcXF0kLywgJycpO1xuXG5cdFx0XHRcdGlmICghcmVzdWx0KSB7XG5cdFx0XHRcdFx0YWNjdW11bGF0b3Jba2V5XSA9IHZhbHVlO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChhY2N1bXVsYXRvcltrZXldID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gW3ZhbHVlXTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gW10uY29uY2F0KGFjY3VtdWxhdG9yW2tleV0sIHZhbHVlKTtcblx0XHRcdH07XG5cblx0XHRjYXNlICdjb2xvbi1saXN0LXNlcGFyYXRvcic6XG5cdFx0XHRyZXR1cm4gKGtleSwgdmFsdWUsIGFjY3VtdWxhdG9yKSA9PiB7XG5cdFx0XHRcdHJlc3VsdCA9IC8oOmxpc3QpJC8uZXhlYyhrZXkpO1xuXHRcdFx0XHRrZXkgPSBrZXkucmVwbGFjZSgvOmxpc3QkLywgJycpO1xuXG5cdFx0XHRcdGlmICghcmVzdWx0KSB7XG5cdFx0XHRcdFx0YWNjdW11bGF0b3Jba2V5XSA9IHZhbHVlO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChhY2N1bXVsYXRvcltrZXldID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gW3ZhbHVlXTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gW10uY29uY2F0KGFjY3VtdWxhdG9yW2tleV0sIHZhbHVlKTtcblx0XHRcdH07XG5cblx0XHRjYXNlICdjb21tYSc6XG5cdFx0Y2FzZSAnc2VwYXJhdG9yJzpcblx0XHRcdHJldHVybiAoa2V5LCB2YWx1ZSwgYWNjdW11bGF0b3IpID0+IHtcblx0XHRcdFx0Y29uc3QgaXNBcnJheSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5jbHVkZXMob3B0aW9ucy5hcnJheUZvcm1hdFNlcGFyYXRvcik7XG5cdFx0XHRcdGNvbnN0IGlzRW5jb2RlZEFycmF5ID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWlzQXJyYXkgJiYgZGVjb2RlKHZhbHVlLCBvcHRpb25zKS5pbmNsdWRlcyhvcHRpb25zLmFycmF5Rm9ybWF0U2VwYXJhdG9yKSk7XG5cdFx0XHRcdHZhbHVlID0gaXNFbmNvZGVkQXJyYXkgPyBkZWNvZGUodmFsdWUsIG9wdGlvbnMpIDogdmFsdWU7XG5cdFx0XHRcdGNvbnN0IG5ld1ZhbHVlID0gaXNBcnJheSB8fCBpc0VuY29kZWRBcnJheSA/IHZhbHVlLnNwbGl0KG9wdGlvbnMuYXJyYXlGb3JtYXRTZXBhcmF0b3IpLm1hcChpdGVtID0+IGRlY29kZShpdGVtLCBvcHRpb25zKSkgOiB2YWx1ZSA9PT0gbnVsbCA/IHZhbHVlIDogZGVjb2RlKHZhbHVlLCBvcHRpb25zKTtcblx0XHRcdFx0YWNjdW11bGF0b3Jba2V5XSA9IG5ld1ZhbHVlO1xuXHRcdFx0fTtcblxuXHRcdGNhc2UgJ2JyYWNrZXQtc2VwYXJhdG9yJzpcblx0XHRcdHJldHVybiAoa2V5LCB2YWx1ZSwgYWNjdW11bGF0b3IpID0+IHtcblx0XHRcdFx0Y29uc3QgaXNBcnJheSA9IC8oXFxbXFxdKSQvLnRlc3Qoa2V5KTtcblx0XHRcdFx0a2V5ID0ga2V5LnJlcGxhY2UoL1xcW1xcXSQvLCAnJyk7XG5cblx0XHRcdFx0aWYgKCFpc0FycmF5KSB7XG5cdFx0XHRcdFx0YWNjdW11bGF0b3Jba2V5XSA9IHZhbHVlID8gZGVjb2RlKHZhbHVlLCBvcHRpb25zKSA6IHZhbHVlO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IGFycmF5VmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCA/XG5cdFx0XHRcdFx0W10gOlxuXHRcdFx0XHRcdHZhbHVlLnNwbGl0KG9wdGlvbnMuYXJyYXlGb3JtYXRTZXBhcmF0b3IpLm1hcChpdGVtID0+IGRlY29kZShpdGVtLCBvcHRpb25zKSk7XG5cblx0XHRcdFx0aWYgKGFjY3VtdWxhdG9yW2tleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSBhcnJheVZhbHVlO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSBbXS5jb25jYXQoYWNjdW11bGF0b3Jba2V5XSwgYXJyYXlWYWx1ZSk7XG5cdFx0XHR9O1xuXG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiAoa2V5LCB2YWx1ZSwgYWNjdW11bGF0b3IpID0+IHtcblx0XHRcdFx0aWYgKGFjY3VtdWxhdG9yW2tleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGFjY3VtdWxhdG9yW2tleV0gPSB2YWx1ZTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhY2N1bXVsYXRvcltrZXldID0gW10uY29uY2F0KGFjY3VtdWxhdG9yW2tleV0sIHZhbHVlKTtcblx0XHRcdH07XG5cdH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBcnJheUZvcm1hdFNlcGFyYXRvcih2YWx1ZSkge1xuXHRpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCB2YWx1ZS5sZW5ndGggIT09IDEpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdhcnJheUZvcm1hdFNlcGFyYXRvciBtdXN0IGJlIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nJyk7XG5cdH1cbn1cblxuZnVuY3Rpb24gZW5jb2RlKHZhbHVlLCBvcHRpb25zKSB7XG5cdGlmIChvcHRpb25zLmVuY29kZSkge1xuXHRcdHJldHVybiBvcHRpb25zLnN0cmljdCA/IHN0cmljdFVyaUVuY29kZSh2YWx1ZSkgOiBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuXHR9XG5cblx0cmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBkZWNvZGUodmFsdWUsIG9wdGlvbnMpIHtcblx0aWYgKG9wdGlvbnMuZGVjb2RlKSB7XG5cdFx0cmV0dXJuIGRlY29kZUNvbXBvbmVudCh2YWx1ZSk7XG5cdH1cblxuXHRyZXR1cm4gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIGtleXNTb3J0ZXIoaW5wdXQpIHtcblx0aWYgKEFycmF5LmlzQXJyYXkoaW5wdXQpKSB7XG5cdFx0cmV0dXJuIGlucHV0LnNvcnQoKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgaW5wdXQgPT09ICdvYmplY3QnKSB7XG5cdFx0cmV0dXJuIGtleXNTb3J0ZXIoT2JqZWN0LmtleXMoaW5wdXQpKVxuXHRcdFx0LnNvcnQoKGEsIGIpID0+IE51bWJlcihhKSAtIE51bWJlcihiKSlcblx0XHRcdC5tYXAoa2V5ID0+IGlucHV0W2tleV0pO1xuXHR9XG5cblx0cmV0dXJuIGlucHV0O1xufVxuXG5mdW5jdGlvbiByZW1vdmVIYXNoKGlucHV0KSB7XG5cdGNvbnN0IGhhc2hTdGFydCA9IGlucHV0LmluZGV4T2YoJyMnKTtcblx0aWYgKGhhc2hTdGFydCAhPT0gLTEpIHtcblx0XHRpbnB1dCA9IGlucHV0LnNsaWNlKDAsIGhhc2hTdGFydCk7XG5cdH1cblxuXHRyZXR1cm4gaW5wdXQ7XG59XG5cbmZ1bmN0aW9uIGdldEhhc2godXJsKSB7XG5cdGxldCBoYXNoID0gJyc7XG5cdGNvbnN0IGhhc2hTdGFydCA9IHVybC5pbmRleE9mKCcjJyk7XG5cdGlmIChoYXNoU3RhcnQgIT09IC0xKSB7XG5cdFx0aGFzaCA9IHVybC5zbGljZShoYXNoU3RhcnQpO1xuXHR9XG5cblx0cmV0dXJuIGhhc2g7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3QoaW5wdXQpIHtcblx0aW5wdXQgPSByZW1vdmVIYXNoKGlucHV0KTtcblx0Y29uc3QgcXVlcnlTdGFydCA9IGlucHV0LmluZGV4T2YoJz8nKTtcblx0aWYgKHF1ZXJ5U3RhcnQgPT09IC0xKSB7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0cmV0dXJuIGlucHV0LnNsaWNlKHF1ZXJ5U3RhcnQgKyAxKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VWYWx1ZSh2YWx1ZSwgb3B0aW9ucykge1xuXHRpZiAob3B0aW9ucy5wYXJzZU51bWJlcnMgJiYgIU51bWJlci5pc05hTihOdW1iZXIodmFsdWUpKSAmJiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgIT09ICcnKSkge1xuXHRcdHZhbHVlID0gTnVtYmVyKHZhbHVlKTtcblx0fSBlbHNlIGlmIChvcHRpb25zLnBhcnNlQm9vbGVhbnMgJiYgdmFsdWUgIT09IG51bGwgJiYgKHZhbHVlLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyB8fCB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSkge1xuXHRcdHZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xuXHR9XG5cblx0cmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBwYXJzZShxdWVyeSwgb3B0aW9ucykge1xuXHRvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7XG5cdFx0ZGVjb2RlOiB0cnVlLFxuXHRcdHNvcnQ6IHRydWUsXG5cdFx0YXJyYXlGb3JtYXQ6ICdub25lJyxcblx0XHRhcnJheUZvcm1hdFNlcGFyYXRvcjogJywnLFxuXHRcdHBhcnNlTnVtYmVyczogZmFsc2UsXG5cdFx0cGFyc2VCb29sZWFuczogZmFsc2Vcblx0fSwgb3B0aW9ucyk7XG5cblx0dmFsaWRhdGVBcnJheUZvcm1hdFNlcGFyYXRvcihvcHRpb25zLmFycmF5Rm9ybWF0U2VwYXJhdG9yKTtcblxuXHRjb25zdCBmb3JtYXR0ZXIgPSBwYXJzZXJGb3JBcnJheUZvcm1hdChvcHRpb25zKTtcblxuXHQvLyBDcmVhdGUgYW4gb2JqZWN0IHdpdGggbm8gcHJvdG90eXBlXG5cdGNvbnN0IHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cblx0aWYgKHR5cGVvZiBxdWVyeSAhPT0gJ3N0cmluZycpIHtcblx0XHRyZXR1cm4gcmV0O1xuXHR9XG5cblx0cXVlcnkgPSBxdWVyeS50cmltKCkucmVwbGFjZSgvXls/IyZdLywgJycpO1xuXG5cdGlmICghcXVlcnkpIHtcblx0XHRyZXR1cm4gcmV0O1xuXHR9XG5cblx0Zm9yIChjb25zdCBwYXJhbSBvZiBxdWVyeS5zcGxpdCgnJicpKSB7XG5cdFx0aWYgKHBhcmFtID09PSAnJykge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0bGV0IFtrZXksIHZhbHVlXSA9IHNwbGl0T25GaXJzdChvcHRpb25zLmRlY29kZSA/IHBhcmFtLnJlcGxhY2UoL1xcKy9nLCAnICcpIDogcGFyYW0sICc9Jyk7XG5cblx0XHQvLyBNaXNzaW5nIGA9YCBzaG91bGQgYmUgYG51bGxgOlxuXHRcdC8vIGh0dHA6Ly93My5vcmcvVFIvMjAxMi9XRC11cmwtMjAxMjA1MjQvI2NvbGxlY3QtdXJsLXBhcmFtZXRlcnNcblx0XHR2YWx1ZSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyBudWxsIDogWydjb21tYScsICdzZXBhcmF0b3InLCAnYnJhY2tldC1zZXBhcmF0b3InXS5pbmNsdWRlcyhvcHRpb25zLmFycmF5Rm9ybWF0KSA/IHZhbHVlIDogZGVjb2RlKHZhbHVlLCBvcHRpb25zKTtcblx0XHRmb3JtYXR0ZXIoZGVjb2RlKGtleSwgb3B0aW9ucyksIHZhbHVlLCByZXQpO1xuXHR9XG5cblx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmV0KSkge1xuXHRcdGNvbnN0IHZhbHVlID0gcmV0W2tleV07XG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHtcblx0XHRcdGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcblx0XHRcdFx0dmFsdWVba10gPSBwYXJzZVZhbHVlKHZhbHVlW2tdLCBvcHRpb25zKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0W2tleV0gPSBwYXJzZVZhbHVlKHZhbHVlLCBvcHRpb25zKTtcblx0XHR9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zb3J0ID09PSBmYWxzZSkge1xuXHRcdHJldHVybiByZXQ7XG5cdH1cblxuXHRyZXR1cm4gKG9wdGlvbnMuc29ydCA9PT0gdHJ1ZSA/IE9iamVjdC5rZXlzKHJldCkuc29ydCgpIDogT2JqZWN0LmtleXMocmV0KS5zb3J0KG9wdGlvbnMuc29ydCkpLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcblx0XHRjb25zdCB2YWx1ZSA9IHJldFtrZXldO1xuXHRcdGlmIChCb29sZWFuKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0Ly8gU29ydCBvYmplY3Qga2V5cywgbm90IHZhbHVlc1xuXHRcdFx0cmVzdWx0W2tleV0gPSBrZXlzU29ydGVyKHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVzdWx0W2tleV0gPSB2YWx1ZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LCBPYmplY3QuY3JlYXRlKG51bGwpKTtcbn1cblxuZXhwb3J0cy5leHRyYWN0ID0gZXh0cmFjdDtcbmV4cG9ydHMucGFyc2UgPSBwYXJzZTtcblxuZXhwb3J0cy5zdHJpbmdpZnkgPSAob2JqZWN0LCBvcHRpb25zKSA9PiB7XG5cdGlmICghb2JqZWN0KSB7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0b3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdGVuY29kZTogdHJ1ZSxcblx0XHRzdHJpY3Q6IHRydWUsXG5cdFx0YXJyYXlGb3JtYXQ6ICdub25lJyxcblx0XHRhcnJheUZvcm1hdFNlcGFyYXRvcjogJywnXG5cdH0sIG9wdGlvbnMpO1xuXG5cdHZhbGlkYXRlQXJyYXlGb3JtYXRTZXBhcmF0b3Iob3B0aW9ucy5hcnJheUZvcm1hdFNlcGFyYXRvcik7XG5cblx0Y29uc3Qgc2hvdWxkRmlsdGVyID0ga2V5ID0+IChcblx0XHQob3B0aW9ucy5za2lwTnVsbCAmJiBpc051bGxPclVuZGVmaW5lZChvYmplY3Rba2V5XSkpIHx8XG5cdFx0KG9wdGlvbnMuc2tpcEVtcHR5U3RyaW5nICYmIG9iamVjdFtrZXldID09PSAnJylcblx0KTtcblxuXHRjb25zdCBmb3JtYXR0ZXIgPSBlbmNvZGVyRm9yQXJyYXlGb3JtYXQob3B0aW9ucyk7XG5cblx0Y29uc3Qgb2JqZWN0Q29weSA9IHt9O1xuXG5cdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkpIHtcblx0XHRpZiAoIXNob3VsZEZpbHRlcihrZXkpKSB7XG5cdFx0XHRvYmplY3RDb3B5W2tleV0gPSBvYmplY3Rba2V5XTtcblx0XHR9XG5cdH1cblxuXHRjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0Q29weSk7XG5cblx0aWYgKG9wdGlvbnMuc29ydCAhPT0gZmFsc2UpIHtcblx0XHRrZXlzLnNvcnQob3B0aW9ucy5zb3J0KTtcblx0fVxuXG5cdHJldHVybiBrZXlzLm1hcChrZXkgPT4ge1xuXHRcdGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG5cblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblxuXHRcdGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIGVuY29kZShrZXksIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0aWYgKHZhbHVlLmxlbmd0aCA9PT0gMCAmJiBvcHRpb25zLmFycmF5Rm9ybWF0ID09PSAnYnJhY2tldC1zZXBhcmF0b3InKSB7XG5cdFx0XHRcdHJldHVybiBlbmNvZGUoa2V5LCBvcHRpb25zKSArICdbXSc7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB2YWx1ZVxuXHRcdFx0XHQucmVkdWNlKGZvcm1hdHRlcihrZXkpLCBbXSlcblx0XHRcdFx0LmpvaW4oJyYnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZW5jb2RlKGtleSwgb3B0aW9ucykgKyAnPScgKyBlbmNvZGUodmFsdWUsIG9wdGlvbnMpO1xuXHR9KS5maWx0ZXIoeCA9PiB4Lmxlbmd0aCA+IDApLmpvaW4oJyYnKTtcbn07XG5cbmV4cG9ydHMucGFyc2VVcmwgPSAodXJsLCBvcHRpb25zKSA9PiB7XG5cdG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHtcblx0XHRkZWNvZGU6IHRydWVcblx0fSwgb3B0aW9ucyk7XG5cblx0Y29uc3QgW3VybF8sIGhhc2hdID0gc3BsaXRPbkZpcnN0KHVybCwgJyMnKTtcblxuXHRyZXR1cm4gT2JqZWN0LmFzc2lnbihcblx0XHR7XG5cdFx0XHR1cmw6IHVybF8uc3BsaXQoJz8nKVswXSB8fCAnJyxcblx0XHRcdHF1ZXJ5OiBwYXJzZShleHRyYWN0KHVybCksIG9wdGlvbnMpXG5cdFx0fSxcblx0XHRvcHRpb25zICYmIG9wdGlvbnMucGFyc2VGcmFnbWVudElkZW50aWZpZXIgJiYgaGFzaCA/IHtmcmFnbWVudElkZW50aWZpZXI6IGRlY29kZShoYXNoLCBvcHRpb25zKX0gOiB7fVxuXHQpO1xufTtcblxuZXhwb3J0cy5zdHJpbmdpZnlVcmwgPSAob2JqZWN0LCBvcHRpb25zKSA9PiB7XG5cdG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHtcblx0XHRlbmNvZGU6IHRydWUsXG5cdFx0c3RyaWN0OiB0cnVlLFxuXHRcdFtlbmNvZGVGcmFnbWVudElkZW50aWZpZXJdOiB0cnVlXG5cdH0sIG9wdGlvbnMpO1xuXG5cdGNvbnN0IHVybCA9IHJlbW92ZUhhc2gob2JqZWN0LnVybCkuc3BsaXQoJz8nKVswXSB8fCAnJztcblx0Y29uc3QgcXVlcnlGcm9tVXJsID0gZXhwb3J0cy5leHRyYWN0KG9iamVjdC51cmwpO1xuXHRjb25zdCBwYXJzZWRRdWVyeUZyb21VcmwgPSBleHBvcnRzLnBhcnNlKHF1ZXJ5RnJvbVVybCwge3NvcnQ6IGZhbHNlfSk7XG5cblx0Y29uc3QgcXVlcnkgPSBPYmplY3QuYXNzaWduKHBhcnNlZFF1ZXJ5RnJvbVVybCwgb2JqZWN0LnF1ZXJ5KTtcblx0bGV0IHF1ZXJ5U3RyaW5nID0gZXhwb3J0cy5zdHJpbmdpZnkocXVlcnksIG9wdGlvbnMpO1xuXHRpZiAocXVlcnlTdHJpbmcpIHtcblx0XHRxdWVyeVN0cmluZyA9IGA/JHtxdWVyeVN0cmluZ31gO1xuXHR9XG5cblx0bGV0IGhhc2ggPSBnZXRIYXNoKG9iamVjdC51cmwpO1xuXHRpZiAob2JqZWN0LmZyYWdtZW50SWRlbnRpZmllcikge1xuXHRcdGhhc2ggPSBgIyR7b3B0aW9uc1tlbmNvZGVGcmFnbWVudElkZW50aWZpZXJdID8gZW5jb2RlKG9iamVjdC5mcmFnbWVudElkZW50aWZpZXIsIG9wdGlvbnMpIDogb2JqZWN0LmZyYWdtZW50SWRlbnRpZmllcn1gO1xuXHR9XG5cblx0cmV0dXJuIGAke3VybH0ke3F1ZXJ5U3RyaW5nfSR7aGFzaH1gO1xufTtcblxuZXhwb3J0cy5waWNrID0gKGlucHV0LCBmaWx0ZXIsIG9wdGlvbnMpID0+IHtcblx0b3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdHBhcnNlRnJhZ21lbnRJZGVudGlmaWVyOiB0cnVlLFxuXHRcdFtlbmNvZGVGcmFnbWVudElkZW50aWZpZXJdOiBmYWxzZVxuXHR9LCBvcHRpb25zKTtcblxuXHRjb25zdCB7dXJsLCBxdWVyeSwgZnJhZ21lbnRJZGVudGlmaWVyfSA9IGV4cG9ydHMucGFyc2VVcmwoaW5wdXQsIG9wdGlvbnMpO1xuXHRyZXR1cm4gZXhwb3J0cy5zdHJpbmdpZnlVcmwoe1xuXHRcdHVybCxcblx0XHRxdWVyeTogZmlsdGVyT2JqZWN0KHF1ZXJ5LCBmaWx0ZXIpLFxuXHRcdGZyYWdtZW50SWRlbnRpZmllclxuXHR9LCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydHMuZXhjbHVkZSA9IChpbnB1dCwgZmlsdGVyLCBvcHRpb25zKSA9PiB7XG5cdGNvbnN0IGV4Y2x1c2lvbkZpbHRlciA9IEFycmF5LmlzQXJyYXkoZmlsdGVyKSA/IGtleSA9PiAhZmlsdGVyLmluY2x1ZGVzKGtleSkgOiAoa2V5LCB2YWx1ZSkgPT4gIWZpbHRlcihrZXksIHZhbHVlKTtcblxuXHRyZXR1cm4gZXhwb3J0cy5waWNrKGlucHV0LCBleGNsdXNpb25GaWx0ZXIsIG9wdGlvbnMpO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/utils/node_modules/query-string/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/window-getters/dist/cjs/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@walletconnect/window-getters/dist/cjs/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qvd2luZG93LWdldHRlcnMvZGlzdC9janMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsdUJBQXVCLEdBQUcsOEJBQThCLEdBQUcsaUJBQWlCLEdBQUcsd0JBQXdCLEdBQUcsbUJBQW1CLEdBQUcsMEJBQTBCLEdBQUcsb0JBQW9CLEdBQUcsMkJBQTJCLEdBQUcsbUJBQW1CLEdBQUcsMEJBQTBCLEdBQUcsNEJBQTRCLEdBQUcscUJBQXFCO0FBQ3pUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixNQUFNO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWxsZXRjb25uZWN0L3dpbmRvdy1nZXR0ZXJzL2Rpc3QvY2pzL2luZGV4LmpzPzdiMjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldExvY2FsU3RvcmFnZSA9IGV4cG9ydHMuZ2V0TG9jYWxTdG9yYWdlT3JUaHJvdyA9IGV4cG9ydHMuZ2V0Q3J5cHRvID0gZXhwb3J0cy5nZXRDcnlwdG9PclRocm93ID0gZXhwb3J0cy5nZXRMb2NhdGlvbiA9IGV4cG9ydHMuZ2V0TG9jYXRpb25PclRocm93ID0gZXhwb3J0cy5nZXROYXZpZ2F0b3IgPSBleHBvcnRzLmdldE5hdmlnYXRvck9yVGhyb3cgPSBleHBvcnRzLmdldERvY3VtZW50ID0gZXhwb3J0cy5nZXREb2N1bWVudE9yVGhyb3cgPSBleHBvcnRzLmdldEZyb21XaW5kb3dPclRocm93ID0gZXhwb3J0cy5nZXRGcm9tV2luZG93ID0gdm9pZCAwO1xuZnVuY3Rpb24gZ2V0RnJvbVdpbmRvdyhuYW1lKSB7XG4gICAgbGV0IHJlcyA9IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygd2luZG93W25hbWVdICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJlcyA9IHdpbmRvd1tuYW1lXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMuZ2V0RnJvbVdpbmRvdyA9IGdldEZyb21XaW5kb3c7XG5mdW5jdGlvbiBnZXRGcm9tV2luZG93T3JUaHJvdyhuYW1lKSB7XG4gICAgY29uc3QgcmVzID0gZ2V0RnJvbVdpbmRvdyhuYW1lKTtcbiAgICBpZiAoIXJlcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gaXMgbm90IGRlZmluZWQgaW4gV2luZG93YCk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5leHBvcnRzLmdldEZyb21XaW5kb3dPclRocm93ID0gZ2V0RnJvbVdpbmRvd09yVGhyb3c7XG5mdW5jdGlvbiBnZXREb2N1bWVudE9yVGhyb3coKSB7XG4gICAgcmV0dXJuIGdldEZyb21XaW5kb3dPclRocm93KFwiZG9jdW1lbnRcIik7XG59XG5leHBvcnRzLmdldERvY3VtZW50T3JUaHJvdyA9IGdldERvY3VtZW50T3JUaHJvdztcbmZ1bmN0aW9uIGdldERvY3VtZW50KCkge1xuICAgIHJldHVybiBnZXRGcm9tV2luZG93KFwiZG9jdW1lbnRcIik7XG59XG5leHBvcnRzLmdldERvY3VtZW50ID0gZ2V0RG9jdW1lbnQ7XG5mdW5jdGlvbiBnZXROYXZpZ2F0b3JPclRocm93KCkge1xuICAgIHJldHVybiBnZXRGcm9tV2luZG93T3JUaHJvdyhcIm5hdmlnYXRvclwiKTtcbn1cbmV4cG9ydHMuZ2V0TmF2aWdhdG9yT3JUaHJvdyA9IGdldE5hdmlnYXRvck9yVGhyb3c7XG5mdW5jdGlvbiBnZXROYXZpZ2F0b3IoKSB7XG4gICAgcmV0dXJuIGdldEZyb21XaW5kb3coXCJuYXZpZ2F0b3JcIik7XG59XG5leHBvcnRzLmdldE5hdmlnYXRvciA9IGdldE5hdmlnYXRvcjtcbmZ1bmN0aW9uIGdldExvY2F0aW9uT3JUaHJvdygpIHtcbiAgICByZXR1cm4gZ2V0RnJvbVdpbmRvd09yVGhyb3coXCJsb2NhdGlvblwiKTtcbn1cbmV4cG9ydHMuZ2V0TG9jYXRpb25PclRocm93ID0gZ2V0TG9jYXRpb25PclRocm93O1xuZnVuY3Rpb24gZ2V0TG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIGdldEZyb21XaW5kb3coXCJsb2NhdGlvblwiKTtcbn1cbmV4cG9ydHMuZ2V0TG9jYXRpb24gPSBnZXRMb2NhdGlvbjtcbmZ1bmN0aW9uIGdldENyeXB0b09yVGhyb3coKSB7XG4gICAgcmV0dXJuIGdldEZyb21XaW5kb3dPclRocm93KFwiY3J5cHRvXCIpO1xufVxuZXhwb3J0cy5nZXRDcnlwdG9PclRocm93ID0gZ2V0Q3J5cHRvT3JUaHJvdztcbmZ1bmN0aW9uIGdldENyeXB0bygpIHtcbiAgICByZXR1cm4gZ2V0RnJvbVdpbmRvdyhcImNyeXB0b1wiKTtcbn1cbmV4cG9ydHMuZ2V0Q3J5cHRvID0gZ2V0Q3J5cHRvO1xuZnVuY3Rpb24gZ2V0TG9jYWxTdG9yYWdlT3JUaHJvdygpIHtcbiAgICByZXR1cm4gZ2V0RnJvbVdpbmRvd09yVGhyb3coXCJsb2NhbFN0b3JhZ2VcIik7XG59XG5leHBvcnRzLmdldExvY2FsU3RvcmFnZU9yVGhyb3cgPSBnZXRMb2NhbFN0b3JhZ2VPclRocm93O1xuZnVuY3Rpb24gZ2V0TG9jYWxTdG9yYWdlKCkge1xuICAgIHJldHVybiBnZXRGcm9tV2luZG93KFwibG9jYWxTdG9yYWdlXCIpO1xufVxuZXhwb3J0cy5nZXRMb2NhbFN0b3JhZ2UgPSBnZXRMb2NhbFN0b3JhZ2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/window-getters/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@walletconnect/window-metadata/dist/cjs/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@walletconnect/window-metadata/dist/cjs/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = __webpack_require__(/*! @walletconnect/window-getters */ \"./node_modules/@walletconnect/window-getters/dist/cjs/index.js\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhbGxldGNvbm5lY3Qvd2luZG93LW1ldGFkYXRhL2Rpc3QvY2pzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHlCQUF5QjtBQUN6Qix5QkFBeUIsbUJBQU8sQ0FBQyxxR0FBK0I7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isa0JBQWtCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixxQkFBcUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FsbGV0Y29ubmVjdC93aW5kb3ctbWV0YWRhdGEvZGlzdC9janMvaW5kZXguanM/MTY4NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0V2luZG93TWV0YWRhdGEgPSB2b2lkIDA7XG5jb25zdCB3aW5kb3dfZ2V0dGVyc18xID0gcmVxdWlyZShcIkB3YWxsZXRjb25uZWN0L3dpbmRvdy1nZXR0ZXJzXCIpO1xuZnVuY3Rpb24gZ2V0V2luZG93TWV0YWRhdGEoKSB7XG4gICAgbGV0IGRvYztcbiAgICBsZXQgbG9jO1xuICAgIHRyeSB7XG4gICAgICAgIGRvYyA9IHdpbmRvd19nZXR0ZXJzXzEuZ2V0RG9jdW1lbnRPclRocm93KCk7XG4gICAgICAgIGxvYyA9IHdpbmRvd19nZXR0ZXJzXzEuZ2V0TG9jYXRpb25PclRocm93KCk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRJY29ucygpIHtcbiAgICAgICAgY29uc3QgbGlua3MgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJsaW5rXCIpO1xuICAgICAgICBjb25zdCBpY29ucyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5rID0gbGlua3NbaV07XG4gICAgICAgICAgICBjb25zdCByZWwgPSBsaW5rLmdldEF0dHJpYnV0ZShcInJlbFwiKTtcbiAgICAgICAgICAgIGlmIChyZWwpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImljb25cIikgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBocmVmID0gbGluay5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaHJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhyZWYudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwiaHR0cHM6XCIpID09PSAtMSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWYudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwiaHR0cDpcIikgPT09IC0xICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZi5pbmRleE9mKFwiLy9cIikgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYWJzb2x1dGVIcmVmID0gbG9jLnByb3RvY29sICsgXCIvL1wiICsgbG9jLmhvc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhyZWYuaW5kZXhPZihcIi9cIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGVIcmVmICs9IGhyZWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gbG9jLnBhdGhuYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluYWxQYXRoID0gcGF0aC5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGVIcmVmICs9IGZpbmFsUGF0aCArIFwiL1wiICsgaHJlZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbnMucHVzaChhYnNvbHV0ZUhyZWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaHJlZi5pbmRleE9mKFwiLy9cIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVVybCA9IGxvYy5wcm90b2NvbCArIGhyZWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbnMucHVzaChhYnNvbHV0ZVVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29ucy5wdXNoKGhyZWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpY29ucztcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0V2luZG93TWV0YWRhdGFPZkFueSguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUYWdzID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwibWV0YVwiKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZXRhVGFncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdGFnID0gbWV0YVRhZ3NbaV07XG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gW1wiaXRlbXByb3BcIiwgXCJwcm9wZXJ0eVwiLCBcIm5hbWVcIl1cbiAgICAgICAgICAgICAgICAubWFwKCh0YXJnZXQpID0+IHRhZy5nZXRBdHRyaWJ1dGUodGFyZ2V0KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGF0dHIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3MuaW5jbHVkZXMoYXR0cik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMubGVuZ3RoICYmIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gdGFnLmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIik7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXROYW1lKCkge1xuICAgICAgICBsZXQgbmFtZSA9IGdldFdpbmRvd01ldGFkYXRhT2ZBbnkoXCJuYW1lXCIsIFwib2c6c2l0ZV9uYW1lXCIsIFwib2c6dGl0bGVcIiwgXCJ0d2l0dGVyOnRpdGxlXCIpO1xuICAgICAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgICAgIG5hbWUgPSBkb2MudGl0bGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldERlc2NyaXB0aW9uKCkge1xuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGdldFdpbmRvd01ldGFkYXRhT2ZBbnkoXCJkZXNjcmlwdGlvblwiLCBcIm9nOmRlc2NyaXB0aW9uXCIsIFwidHdpdHRlcjpkZXNjcmlwdGlvblwiLCBcImtleXdvcmRzXCIpO1xuICAgICAgICByZXR1cm4gZGVzY3JpcHRpb247XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPSBnZXROYW1lKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBnZXREZXNjcmlwdGlvbigpO1xuICAgIGNvbnN0IHVybCA9IGxvYy5vcmlnaW47XG4gICAgY29uc3QgaWNvbnMgPSBnZXRJY29ucygpO1xuICAgIGNvbnN0IG1ldGEgPSB7XG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICB1cmwsXG4gICAgICAgIGljb25zLFxuICAgICAgICBuYW1lLFxuICAgIH07XG4gICAgcmV0dXJuIG1ldGE7XG59XG5leHBvcnRzLmdldFdpbmRvd01ldGFkYXRhID0gZ2V0V2luZG93TWV0YWRhdGE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@walletconnect/window-metadata/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/cross-fetch/dist/browser-ponyfill.js": -/*!***********************************************************!*\ - !*** ./node_modules/cross-fetch/dist/browser-ponyfill.js ***! - \***********************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval(__webpack_require__.ts("var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports[\"default\"] = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3Jvc3MtZmV0Y2gvZGlzdC9icm93c2VyLXBvbnlmaWxsLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RCxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1YsOEVBQThFO0FBQzlFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7QUFDUjtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhCQUE4QixxQkFBcUI7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSx1Q0FBdUMsMEJBQTBCO0FBQ2pFO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrQkFBK0IsMEJBQTBCLGVBQWU7QUFDeEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlEQUFpRCxhQUFhOztBQUU5RDs7QUFFQSxDQUFDLElBQUk7QUFDTCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBLGtCQUFlO0FBQ2YsYUFBYSxtQ0FBbUMsT0FBTztBQUN2RCxlQUFlO0FBQ2YsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvY3Jvc3MtZmV0Y2gvZGlzdC9icm93c2VyLXBvbnlmaWxsLmpzP2ViZGMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGdsb2JhbCA9IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzO1xudmFyIF9fc2VsZl9fID0gKGZ1bmN0aW9uICgpIHtcbmZ1bmN0aW9uIEYoKSB7XG50aGlzLmZldGNoID0gZmFsc2U7XG50aGlzLkRPTUV4Y2VwdGlvbiA9IGdsb2JhbC5ET01FeGNlcHRpb25cbn1cbkYucHJvdG90eXBlID0gZ2xvYmFsO1xucmV0dXJuIG5ldyBGKCk7XG59KSgpO1xuKGZ1bmN0aW9uKHNlbGYpIHtcblxudmFyIGlycmVsZXZhbnQgPSAoZnVuY3Rpb24gKGV4cG9ydHMpIHtcblxuICB2YXIgc3VwcG9ydCA9IHtcbiAgICBzZWFyY2hQYXJhbXM6ICdVUkxTZWFyY2hQYXJhbXMnIGluIHNlbGYsXG4gICAgaXRlcmFibGU6ICdTeW1ib2wnIGluIHNlbGYgJiYgJ2l0ZXJhdG9yJyBpbiBTeW1ib2wsXG4gICAgYmxvYjpcbiAgICAgICdGaWxlUmVhZGVyJyBpbiBzZWxmICYmXG4gICAgICAnQmxvYicgaW4gc2VsZiAmJlxuICAgICAgKGZ1bmN0aW9uKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIG5ldyBCbG9iKCk7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9KSgpLFxuICAgIGZvcm1EYXRhOiAnRm9ybURhdGEnIGluIHNlbGYsXG4gICAgYXJyYXlCdWZmZXI6ICdBcnJheUJ1ZmZlcicgaW4gc2VsZlxuICB9O1xuXG4gIGZ1bmN0aW9uIGlzRGF0YVZpZXcob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBEYXRhVmlldy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopXG4gIH1cblxuICBpZiAoc3VwcG9ydC5hcnJheUJ1ZmZlcikge1xuICAgIHZhciB2aWV3Q2xhc3NlcyA9IFtcbiAgICAgICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgICAgJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgICAgJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICAgICdbb2JqZWN0IEludDE2QXJyYXldJyxcbiAgICAgICdbb2JqZWN0IFVpbnQxNkFycmF5XScsXG4gICAgICAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgICAnW29iamVjdCBVaW50MzJBcnJheV0nLFxuICAgICAgJ1tvYmplY3QgRmxvYXQzMkFycmF5XScsXG4gICAgICAnW29iamVjdCBGbG9hdDY0QXJyYXldJ1xuICAgIF07XG5cbiAgICB2YXIgaXNBcnJheUJ1ZmZlclZpZXcgPVxuICAgICAgQXJyYXlCdWZmZXIuaXNWaWV3IHx8XG4gICAgICBmdW5jdGlvbihvYmopIHtcbiAgICAgICAgcmV0dXJuIG9iaiAmJiB2aWV3Q2xhc3Nlcy5pbmRleE9mKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKSA+IC0xXG4gICAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gbm9ybWFsaXplTmFtZShuYW1lKSB7XG4gICAgaWYgKHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgbmFtZSA9IFN0cmluZyhuYW1lKTtcbiAgICB9XG4gICAgaWYgKC9bXmEtejAtOVxcLSMkJSYnKisuXl9gfH5dL2kudGVzdChuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBjaGFyYWN0ZXIgaW4gaGVhZGVyIGZpZWxkIG5hbWUnKVxuICAgIH1cbiAgICByZXR1cm4gbmFtZS50b0xvd2VyQ2FzZSgpXG4gIH1cblxuICBmdW5jdGlvbiBub3JtYWxpemVWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgLy8gQnVpbGQgYSBkZXN0cnVjdGl2ZSBpdGVyYXRvciBmb3IgdGhlIHZhbHVlIGxpc3RcbiAgZnVuY3Rpb24gaXRlcmF0b3JGb3IoaXRlbXMpIHtcbiAgICB2YXIgaXRlcmF0b3IgPSB7XG4gICAgICBuZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gaXRlbXMuc2hpZnQoKTtcbiAgICAgICAgcmV0dXJuIHtkb25lOiB2YWx1ZSA9PT0gdW5kZWZpbmVkLCB2YWx1ZTogdmFsdWV9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChzdXBwb3J0Lml0ZXJhYmxlKSB7XG4gICAgICBpdGVyYXRvcltTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRvclxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlcmF0b3JcbiAgfVxuXG4gIGZ1bmN0aW9uIEhlYWRlcnMoaGVhZGVycykge1xuICAgIHRoaXMubWFwID0ge307XG5cbiAgICBpZiAoaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnMpIHtcbiAgICAgIGhlYWRlcnMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgbmFtZSkge1xuICAgICAgICB0aGlzLmFwcGVuZChuYW1lLCB2YWx1ZSk7XG4gICAgICB9LCB0aGlzKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoaGVhZGVycykpIHtcbiAgICAgIGhlYWRlcnMuZm9yRWFjaChmdW5jdGlvbihoZWFkZXIpIHtcbiAgICAgICAgdGhpcy5hcHBlbmQoaGVhZGVyWzBdLCBoZWFkZXJbMV0pO1xuICAgICAgfSwgdGhpcyk7XG4gICAgfSBlbHNlIGlmIChoZWFkZXJzKSB7XG4gICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhoZWFkZXJzKS5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgdGhpcy5hcHBlbmQobmFtZSwgaGVhZGVyc1tuYW1lXSk7XG4gICAgICB9LCB0aGlzKTtcbiAgICB9XG4gIH1cblxuICBIZWFkZXJzLnByb3RvdHlwZS5hcHBlbmQgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSkge1xuICAgIG5hbWUgPSBub3JtYWxpemVOYW1lKG5hbWUpO1xuICAgIHZhbHVlID0gbm9ybWFsaXplVmFsdWUodmFsdWUpO1xuICAgIHZhciBvbGRWYWx1ZSA9IHRoaXMubWFwW25hbWVdO1xuICAgIHRoaXMubWFwW25hbWVdID0gb2xkVmFsdWUgPyBvbGRWYWx1ZSArICcsICcgKyB2YWx1ZSA6IHZhbHVlO1xuICB9O1xuXG4gIEhlYWRlcnMucHJvdG90eXBlWydkZWxldGUnXSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5tYXBbbm9ybWFsaXplTmFtZShuYW1lKV07XG4gIH07XG5cbiAgSGVhZGVycy5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24obmFtZSkge1xuICAgIG5hbWUgPSBub3JtYWxpemVOYW1lKG5hbWUpO1xuICAgIHJldHVybiB0aGlzLmhhcyhuYW1lKSA/IHRoaXMubWFwW25hbWVdIDogbnVsbFxuICB9O1xuXG4gIEhlYWRlcnMucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5tYXAuaGFzT3duUHJvcGVydHkobm9ybWFsaXplTmFtZShuYW1lKSlcbiAgfTtcblxuICBIZWFkZXJzLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSkge1xuICAgIHRoaXMubWFwW25vcm1hbGl6ZU5hbWUobmFtZSldID0gbm9ybWFsaXplVmFsdWUodmFsdWUpO1xuICB9O1xuXG4gIEhlYWRlcnMucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbihjYWxsYmFjaywgdGhpc0FyZykge1xuICAgIGZvciAodmFyIG5hbWUgaW4gdGhpcy5tYXApIHtcbiAgICAgIGlmICh0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXNBcmcsIHRoaXMubWFwW25hbWVdLCBuYW1lLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgSGVhZGVycy5wcm90b3R5cGUua2V5cyA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBpdGVtcyA9IFtdO1xuICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgbmFtZSkge1xuICAgICAgaXRlbXMucHVzaChuYW1lKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaXRlcmF0b3JGb3IoaXRlbXMpXG4gIH07XG5cbiAgSGVhZGVycy5wcm90b3R5cGUudmFsdWVzID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGl0ZW1zID0gW107XG4gICAgdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICBpdGVtcy5wdXNoKHZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaXRlcmF0b3JGb3IoaXRlbXMpXG4gIH07XG5cbiAgSGVhZGVycy5wcm90b3R5cGUuZW50cmllcyA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBpdGVtcyA9IFtdO1xuICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgbmFtZSkge1xuICAgICAgaXRlbXMucHVzaChbbmFtZSwgdmFsdWVdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaXRlcmF0b3JGb3IoaXRlbXMpXG4gIH07XG5cbiAgaWYgKHN1cHBvcnQuaXRlcmFibGUpIHtcbiAgICBIZWFkZXJzLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gSGVhZGVycy5wcm90b3R5cGUuZW50cmllcztcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbnN1bWVkKGJvZHkpIHtcbiAgICBpZiAoYm9keS5ib2R5VXNlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBUeXBlRXJyb3IoJ0FscmVhZHkgcmVhZCcpKVxuICAgIH1cbiAgICBib2R5LmJvZHlVc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbGVSZWFkZXJSZWFkeShyZWFkZXIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmVqZWN0KHJlYWRlci5lcnJvcik7XG4gICAgICB9O1xuICAgIH0pXG4gIH1cblxuICBmdW5jdGlvbiByZWFkQmxvYkFzQXJyYXlCdWZmZXIoYmxvYikge1xuICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHZhciBwcm9taXNlID0gZmlsZVJlYWRlclJlYWR5KHJlYWRlcik7XG4gICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuICAgIHJldHVybiBwcm9taXNlXG4gIH1cblxuICBmdW5jdGlvbiByZWFkQmxvYkFzVGV4dChibG9iKSB7XG4gICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgdmFyIHByb21pc2UgPSBmaWxlUmVhZGVyUmVhZHkocmVhZGVyKTtcbiAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcbiAgICByZXR1cm4gcHJvbWlzZVxuICB9XG5cbiAgZnVuY3Rpb24gcmVhZEFycmF5QnVmZmVyQXNUZXh0KGJ1Zikge1xuICAgIHZhciB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmKTtcbiAgICB2YXIgY2hhcnMgPSBuZXcgQXJyYXkodmlldy5sZW5ndGgpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2aWV3Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGFyc1tpXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUodmlld1tpXSk7XG4gICAgfVxuICAgIHJldHVybiBjaGFycy5qb2luKCcnKVxuICB9XG5cbiAgZnVuY3Rpb24gYnVmZmVyQ2xvbmUoYnVmKSB7XG4gICAgaWYgKGJ1Zi5zbGljZSkge1xuICAgICAgcmV0dXJuIGJ1Zi5zbGljZSgwKVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1Zi5ieXRlTGVuZ3RoKTtcbiAgICAgIHZpZXcuc2V0KG5ldyBVaW50OEFycmF5KGJ1ZikpO1xuICAgICAgcmV0dXJuIHZpZXcuYnVmZmVyXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gQm9keSgpIHtcbiAgICB0aGlzLmJvZHlVc2VkID0gZmFsc2U7XG5cbiAgICB0aGlzLl9pbml0Qm9keSA9IGZ1bmN0aW9uKGJvZHkpIHtcbiAgICAgIHRoaXMuX2JvZHlJbml0ID0gYm9keTtcbiAgICAgIGlmICghYm9keSkge1xuICAgICAgICB0aGlzLl9ib2R5VGV4dCA9ICcnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fYm9keVRleHQgPSBib2R5O1xuICAgICAgfSBlbHNlIGlmIChzdXBwb3J0LmJsb2IgJiYgQmxvYi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihib2R5KSkge1xuICAgICAgICB0aGlzLl9ib2R5QmxvYiA9IGJvZHk7XG4gICAgICB9IGVsc2UgaWYgKHN1cHBvcnQuZm9ybURhdGEgJiYgRm9ybURhdGEucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoYm9keSkpIHtcbiAgICAgICAgdGhpcy5fYm9keUZvcm1EYXRhID0gYm9keTtcbiAgICAgIH0gZWxzZSBpZiAoc3VwcG9ydC5zZWFyY2hQYXJhbXMgJiYgVVJMU2VhcmNoUGFyYW1zLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGJvZHkpKSB7XG4gICAgICAgIHRoaXMuX2JvZHlUZXh0ID0gYm9keS50b1N0cmluZygpO1xuICAgICAgfSBlbHNlIGlmIChzdXBwb3J0LmFycmF5QnVmZmVyICYmIHN1cHBvcnQuYmxvYiAmJiBpc0RhdGFWaWV3KGJvZHkpKSB7XG4gICAgICAgIHRoaXMuX2JvZHlBcnJheUJ1ZmZlciA9IGJ1ZmZlckNsb25lKGJvZHkuYnVmZmVyKTtcbiAgICAgICAgLy8gSUUgMTAtMTEgY2FuJ3QgaGFuZGxlIGEgRGF0YVZpZXcgYm9keS5cbiAgICAgICAgdGhpcy5fYm9keUluaXQgPSBuZXcgQmxvYihbdGhpcy5fYm9keUFycmF5QnVmZmVyXSk7XG4gICAgICB9IGVsc2UgaWYgKHN1cHBvcnQuYXJyYXlCdWZmZXIgJiYgKEFycmF5QnVmZmVyLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGJvZHkpIHx8IGlzQXJyYXlCdWZmZXJWaWV3KGJvZHkpKSkge1xuICAgICAgICB0aGlzLl9ib2R5QXJyYXlCdWZmZXIgPSBidWZmZXJDbG9uZShib2R5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2JvZHlUZXh0ID0gYm9keSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChib2R5KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSkge1xuICAgICAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhpcy5oZWFkZXJzLnNldCgnY29udGVudC10eXBlJywgJ3RleHQvcGxhaW47Y2hhcnNldD1VVEYtOCcpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2JvZHlCbG9iICYmIHRoaXMuX2JvZHlCbG9iLnR5cGUpIHtcbiAgICAgICAgICB0aGlzLmhlYWRlcnMuc2V0KCdjb250ZW50LXR5cGUnLCB0aGlzLl9ib2R5QmxvYi50eXBlKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdXBwb3J0LnNlYXJjaFBhcmFtcyAmJiBVUkxTZWFyY2hQYXJhbXMucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoYm9keSkpIHtcbiAgICAgICAgICB0aGlzLmhlYWRlcnMuc2V0KCdjb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9VVRGLTgnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc3VwcG9ydC5ibG9iKSB7XG4gICAgICB0aGlzLmJsb2IgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHJlamVjdGVkID0gY29uc3VtZWQodGhpcyk7XG4gICAgICAgIGlmIChyZWplY3RlZCkge1xuICAgICAgICAgIHJldHVybiByZWplY3RlZFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2JvZHlCbG9iKSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5QmxvYilcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFt0aGlzLl9ib2R5QXJyYXlCdWZmZXJdKSlcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9ib2R5Rm9ybURhdGEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgYmxvYicpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keVRleHRdKSlcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdGhpcy5hcnJheUJ1ZmZlciA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fYm9keUFycmF5QnVmZmVyKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnN1bWVkKHRoaXMpIHx8IFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYmxvYigpLnRoZW4ocmVhZEJsb2JBc0FycmF5QnVmZmVyKVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMudGV4dCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJlamVjdGVkID0gY29uc3VtZWQodGhpcyk7XG4gICAgICBpZiAocmVqZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdGVkXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9ib2R5QmxvYikge1xuICAgICAgICByZXR1cm4gcmVhZEJsb2JBc1RleHQodGhpcy5fYm9keUJsb2IpXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcikge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlYWRBcnJheUJ1ZmZlckFzVGV4dCh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpKVxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9ib2R5Rm9ybURhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgcmVhZCBGb3JtRGF0YSBib2R5IGFzIHRleHQnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5VGV4dClcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHN1cHBvcnQuZm9ybURhdGEpIHtcbiAgICAgIHRoaXMuZm9ybURhdGEgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oZGVjb2RlKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmpzb24gPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLnRleHQoKS50aGVuKEpTT04ucGFyc2UpXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvLyBIVFRQIG1ldGhvZHMgd2hvc2UgY2FwaXRhbGl6YXRpb24gc2hvdWxkIGJlIG5vcm1hbGl6ZWRcbiAgdmFyIG1ldGhvZHMgPSBbJ0RFTEVURScsICdHRVQnLCAnSEVBRCcsICdPUFRJT05TJywgJ1BPU1QnLCAnUFVUJ107XG5cbiAgZnVuY3Rpb24gbm9ybWFsaXplTWV0aG9kKG1ldGhvZCkge1xuICAgIHZhciB1cGNhc2VkID0gbWV0aG9kLnRvVXBwZXJDYXNlKCk7XG4gICAgcmV0dXJuIG1ldGhvZHMuaW5kZXhPZih1cGNhc2VkKSA+IC0xID8gdXBjYXNlZCA6IG1ldGhvZFxuICB9XG5cbiAgZnVuY3Rpb24gUmVxdWVzdChpbnB1dCwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIHZhciBib2R5ID0gb3B0aW9ucy5ib2R5O1xuXG4gICAgaWYgKGlucHV0IGluc3RhbmNlb2YgUmVxdWVzdCkge1xuICAgICAgaWYgKGlucHV0LmJvZHlVc2VkKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FscmVhZHkgcmVhZCcpXG4gICAgICB9XG4gICAgICB0aGlzLnVybCA9IGlucHV0LnVybDtcbiAgICAgIHRoaXMuY3JlZGVudGlhbHMgPSBpbnB1dC5jcmVkZW50aWFscztcbiAgICAgIGlmICghb3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgICAgIHRoaXMuaGVhZGVycyA9IG5ldyBIZWFkZXJzKGlucHV0LmhlYWRlcnMpO1xuICAgICAgfVxuICAgICAgdGhpcy5tZXRob2QgPSBpbnB1dC5tZXRob2Q7XG4gICAgICB0aGlzLm1vZGUgPSBpbnB1dC5tb2RlO1xuICAgICAgdGhpcy5zaWduYWwgPSBpbnB1dC5zaWduYWw7XG4gICAgICBpZiAoIWJvZHkgJiYgaW5wdXQuX2JvZHlJbml0ICE9IG51bGwpIHtcbiAgICAgICAgYm9keSA9IGlucHV0Ll9ib2R5SW5pdDtcbiAgICAgICAgaW5wdXQuYm9keVVzZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVybCA9IFN0cmluZyhpbnB1dCk7XG4gICAgfVxuXG4gICAgdGhpcy5jcmVkZW50aWFscyA9IG9wdGlvbnMuY3JlZGVudGlhbHMgfHwgdGhpcy5jcmVkZW50aWFscyB8fCAnc2FtZS1vcmlnaW4nO1xuICAgIGlmIChvcHRpb25zLmhlYWRlcnMgfHwgIXRoaXMuaGVhZGVycykge1xuICAgICAgdGhpcy5oZWFkZXJzID0gbmV3IEhlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcbiAgICB9XG4gICAgdGhpcy5tZXRob2QgPSBub3JtYWxpemVNZXRob2Qob3B0aW9ucy5tZXRob2QgfHwgdGhpcy5tZXRob2QgfHwgJ0dFVCcpO1xuICAgIHRoaXMubW9kZSA9IG9wdGlvbnMubW9kZSB8fCB0aGlzLm1vZGUgfHwgbnVsbDtcbiAgICB0aGlzLnNpZ25hbCA9IG9wdGlvbnMuc2lnbmFsIHx8IHRoaXMuc2lnbmFsO1xuICAgIHRoaXMucmVmZXJyZXIgPSBudWxsO1xuXG4gICAgaWYgKCh0aGlzLm1ldGhvZCA9PT0gJ0dFVCcgfHwgdGhpcy5tZXRob2QgPT09ICdIRUFEJykgJiYgYm9keSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQm9keSBub3QgYWxsb3dlZCBmb3IgR0VUIG9yIEhFQUQgcmVxdWVzdHMnKVxuICAgIH1cbiAgICB0aGlzLl9pbml0Qm9keShib2R5KTtcbiAgfVxuXG4gIFJlcXVlc3QucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIG5ldyBSZXF1ZXN0KHRoaXMsIHtib2R5OiB0aGlzLl9ib2R5SW5pdH0pXG4gIH07XG5cbiAgZnVuY3Rpb24gZGVjb2RlKGJvZHkpIHtcbiAgICB2YXIgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGJvZHlcbiAgICAgIC50cmltKClcbiAgICAgIC5zcGxpdCgnJicpXG4gICAgICAuZm9yRWFjaChmdW5jdGlvbihieXRlcykge1xuICAgICAgICBpZiAoYnl0ZXMpIHtcbiAgICAgICAgICB2YXIgc3BsaXQgPSBieXRlcy5zcGxpdCgnPScpO1xuICAgICAgICAgIHZhciBuYW1lID0gc3BsaXQuc2hpZnQoKS5yZXBsYWNlKC9cXCsvZywgJyAnKTtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBzcGxpdC5qb2luKCc9JykucmVwbGFjZSgvXFwrL2csICcgJyk7XG4gICAgICAgICAgZm9ybS5hcHBlbmQoZGVjb2RlVVJJQ29tcG9uZW50KG5hbWUpLCBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIGZvcm1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlSGVhZGVycyhyYXdIZWFkZXJzKSB7XG4gICAgdmFyIGhlYWRlcnMgPSBuZXcgSGVhZGVycygpO1xuICAgIC8vIFJlcGxhY2UgaW5zdGFuY2VzIG9mIFxcclxcbiBhbmQgXFxuIGZvbGxvd2VkIGJ5IGF0IGxlYXN0IG9uZSBzcGFjZSBvciBob3Jpem9udGFsIHRhYiB3aXRoIGEgc3BhY2VcbiAgICAvLyBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMCNzZWN0aW9uLTMuMlxuICAgIHZhciBwcmVQcm9jZXNzZWRIZWFkZXJzID0gcmF3SGVhZGVycy5yZXBsYWNlKC9cXHI/XFxuW1xcdCBdKy9nLCAnICcpO1xuICAgIHByZVByb2Nlc3NlZEhlYWRlcnMuc3BsaXQoL1xccj9cXG4vKS5mb3JFYWNoKGZ1bmN0aW9uKGxpbmUpIHtcbiAgICAgIHZhciBwYXJ0cyA9IGxpbmUuc3BsaXQoJzonKTtcbiAgICAgIHZhciBrZXkgPSBwYXJ0cy5zaGlmdCgpLnRyaW0oKTtcbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gcGFydHMuam9pbignOicpLnRyaW0oKTtcbiAgICAgICAgaGVhZGVycy5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGhlYWRlcnNcbiAgfVxuXG4gIEJvZHkuY2FsbChSZXF1ZXN0LnByb3RvdHlwZSk7XG5cbiAgZnVuY3Rpb24gUmVzcG9uc2UoYm9keUluaXQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICB9XG5cbiAgICB0aGlzLnR5cGUgPSAnZGVmYXVsdCc7XG4gICAgdGhpcy5zdGF0dXMgPSBvcHRpb25zLnN0YXR1cyA9PT0gdW5kZWZpbmVkID8gMjAwIDogb3B0aW9ucy5zdGF0dXM7XG4gICAgdGhpcy5vayA9IHRoaXMuc3RhdHVzID49IDIwMCAmJiB0aGlzLnN0YXR1cyA8IDMwMDtcbiAgICB0aGlzLnN0YXR1c1RleHQgPSAnc3RhdHVzVGV4dCcgaW4gb3B0aW9ucyA/IG9wdGlvbnMuc3RhdHVzVGV4dCA6ICdPSyc7XG4gICAgdGhpcy5oZWFkZXJzID0gbmV3IEhlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcbiAgICB0aGlzLnVybCA9IG9wdGlvbnMudXJsIHx8ICcnO1xuICAgIHRoaXMuX2luaXRCb2R5KGJvZHlJbml0KTtcbiAgfVxuXG4gIEJvZHkuY2FsbChSZXNwb25zZS5wcm90b3R5cGUpO1xuXG4gIFJlc3BvbnNlLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBuZXcgUmVzcG9uc2UodGhpcy5fYm9keUluaXQsIHtcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICBzdGF0dXNUZXh0OiB0aGlzLnN0YXR1c1RleHQsXG4gICAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh0aGlzLmhlYWRlcnMpLFxuICAgICAgdXJsOiB0aGlzLnVybFxuICAgIH0pXG4gIH07XG5cbiAgUmVzcG9uc2UuZXJyb3IgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UobnVsbCwge3N0YXR1czogMCwgc3RhdHVzVGV4dDogJyd9KTtcbiAgICByZXNwb25zZS50eXBlID0gJ2Vycm9yJztcbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfTtcblxuICB2YXIgcmVkaXJlY3RTdGF0dXNlcyA9IFszMDEsIDMwMiwgMzAzLCAzMDcsIDMwOF07XG5cbiAgUmVzcG9uc2UucmVkaXJlY3QgPSBmdW5jdGlvbih1cmwsIHN0YXR1cykge1xuICAgIGlmIChyZWRpcmVjdFN0YXR1c2VzLmluZGV4T2Yoc3RhdHVzKSA9PT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbnZhbGlkIHN0YXR1cyBjb2RlJylcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFJlc3BvbnNlKG51bGwsIHtzdGF0dXM6IHN0YXR1cywgaGVhZGVyczoge2xvY2F0aW9uOiB1cmx9fSlcbiAgfTtcblxuICBleHBvcnRzLkRPTUV4Y2VwdGlvbiA9IHNlbGYuRE9NRXhjZXB0aW9uO1xuICB0cnkge1xuICAgIG5ldyBleHBvcnRzLkRPTUV4Y2VwdGlvbigpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBleHBvcnRzLkRPTUV4Y2VwdGlvbiA9IGZ1bmN0aW9uKG1lc3NhZ2UsIG5hbWUpIHtcbiAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgdmFyIGVycm9yID0gRXJyb3IobWVzc2FnZSk7XG4gICAgICB0aGlzLnN0YWNrID0gZXJyb3Iuc3RhY2s7XG4gICAgfTtcbiAgICBleHBvcnRzLkRPTUV4Y2VwdGlvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7XG4gICAgZXhwb3J0cy5ET01FeGNlcHRpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZXhwb3J0cy5ET01FeGNlcHRpb247XG4gIH1cblxuICBmdW5jdGlvbiBmZXRjaChpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFJlcXVlc3QoaW5wdXQsIGluaXQpO1xuXG4gICAgICBpZiAocmVxdWVzdC5zaWduYWwgJiYgcmVxdWVzdC5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBleHBvcnRzLkRPTUV4Y2VwdGlvbignQWJvcnRlZCcsICdBYm9ydEVycm9yJykpXG4gICAgICB9XG5cbiAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgICAgZnVuY3Rpb24gYWJvcnRYaHIoKSB7XG4gICAgICAgIHhoci5hYm9ydCgpO1xuICAgICAgfVxuXG4gICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICAgIHN0YXR1czogeGhyLnN0YXR1cyxcbiAgICAgICAgICBzdGF0dXNUZXh0OiB4aHIuc3RhdHVzVGV4dCxcbiAgICAgICAgICBoZWFkZXJzOiBwYXJzZUhlYWRlcnMoeGhyLmdldEFsbFJlc3BvbnNlSGVhZGVycygpIHx8ICcnKVxuICAgICAgICB9O1xuICAgICAgICBvcHRpb25zLnVybCA9ICdyZXNwb25zZVVSTCcgaW4geGhyID8geGhyLnJlc3BvbnNlVVJMIDogb3B0aW9ucy5oZWFkZXJzLmdldCgnWC1SZXF1ZXN0LVVSTCcpO1xuICAgICAgICB2YXIgYm9keSA9ICdyZXNwb25zZScgaW4geGhyID8geGhyLnJlc3BvbnNlIDogeGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgcmVzb2x2ZShuZXcgUmVzcG9uc2UoYm9keSwgb3B0aW9ucykpO1xuICAgICAgfTtcblxuICAgICAgeGhyLm9uZXJyb3IgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBUeXBlRXJyb3IoJ05ldHdvcmsgcmVxdWVzdCBmYWlsZWQnKSk7XG4gICAgICB9O1xuXG4gICAgICB4aHIub250aW1lb3V0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJlamVjdChuZXcgVHlwZUVycm9yKCdOZXR3b3JrIHJlcXVlc3QgZmFpbGVkJykpO1xuICAgICAgfTtcblxuICAgICAgeGhyLm9uYWJvcnQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBleHBvcnRzLkRPTUV4Y2VwdGlvbignQWJvcnRlZCcsICdBYm9ydEVycm9yJykpO1xuICAgICAgfTtcblxuICAgICAgeGhyLm9wZW4ocmVxdWVzdC5tZXRob2QsIHJlcXVlc3QudXJsLCB0cnVlKTtcblxuICAgICAgaWYgKHJlcXVlc3QuY3JlZGVudGlhbHMgPT09ICdpbmNsdWRlJykge1xuICAgICAgICB4aHIud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAocmVxdWVzdC5jcmVkZW50aWFscyA9PT0gJ29taXQnKSB7XG4gICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCdyZXNwb25zZVR5cGUnIGluIHhociAmJiBzdXBwb3J0LmJsb2IpIHtcbiAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdibG9iJztcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5oZWFkZXJzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIobmFtZSwgdmFsdWUpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXF1ZXN0LnNpZ25hbCkge1xuICAgICAgICByZXF1ZXN0LnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGFib3J0WGhyKTtcblxuICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgLy8gRE9ORSAoc3VjY2VzcyBvciBmYWlsdXJlKVxuICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gNCkge1xuICAgICAgICAgICAgcmVxdWVzdC5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBhYm9ydFhocik7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB4aHIuc2VuZCh0eXBlb2YgcmVxdWVzdC5fYm9keUluaXQgPT09ICd1bmRlZmluZWQnID8gbnVsbCA6IHJlcXVlc3QuX2JvZHlJbml0KTtcbiAgICB9KVxuICB9XG5cbiAgZmV0Y2gucG9seWZpbGwgPSB0cnVlO1xuXG4gIGlmICghc2VsZi5mZXRjaCkge1xuICAgIHNlbGYuZmV0Y2ggPSBmZXRjaDtcbiAgICBzZWxmLkhlYWRlcnMgPSBIZWFkZXJzO1xuICAgIHNlbGYuUmVxdWVzdCA9IFJlcXVlc3Q7XG4gICAgc2VsZi5SZXNwb25zZSA9IFJlc3BvbnNlO1xuICB9XG5cbiAgZXhwb3J0cy5IZWFkZXJzID0gSGVhZGVycztcbiAgZXhwb3J0cy5SZXF1ZXN0ID0gUmVxdWVzdDtcbiAgZXhwb3J0cy5SZXNwb25zZSA9IFJlc3BvbnNlO1xuICBleHBvcnRzLmZldGNoID0gZmV0Y2g7XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICByZXR1cm4gZXhwb3J0cztcblxufSkoe30pO1xufSkoX19zZWxmX18pO1xuX19zZWxmX18uZmV0Y2gucG9ueWZpbGwgPSB0cnVlO1xuLy8gUmVtb3ZlIFwicG9seWZpbGxcIiBwcm9wZXJ0eSBhZGRlZCBieSB3aGF0d2ctZmV0Y2hcbmRlbGV0ZSBfX3NlbGZfXy5mZXRjaC5wb2x5ZmlsbDtcbi8vIENob29zZSBiZXR3ZWVuIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiAoZ2xvYmFsKSBvciBjdXN0b20gaW1wbGVtZW50YXRpb24gKF9fc2VsZl9fKVxuLy8gdmFyIGN0eCA9IGdsb2JhbC5mZXRjaCA/IGdsb2JhbCA6IF9fc2VsZl9fO1xudmFyIGN0eCA9IF9fc2VsZl9fOyAvLyB0aGlzIGxpbmUgZGlzYWJsZSBzZXJ2aWNlIHdvcmtlciBzdXBwb3J0IHRlbXBvcmFyaWx5XG5leHBvcnRzID0gY3R4LmZldGNoIC8vIFRvIGVuYWJsZTogaW1wb3J0IGZldGNoIGZyb20gJ2Nyb3NzLWZldGNoJ1xuZXhwb3J0cy5kZWZhdWx0ID0gY3R4LmZldGNoIC8vIEZvciBUeXBlU2NyaXB0IGNvbnN1bWVycyB3aXRob3V0IGVzTW9kdWxlSW50ZXJvcC5cbmV4cG9ydHMuZmV0Y2ggPSBjdHguZmV0Y2ggLy8gVG8gZW5hYmxlOiBpbXBvcnQge2ZldGNofSBmcm9tICdjcm9zcy1mZXRjaCdcbmV4cG9ydHMuSGVhZGVycyA9IGN0eC5IZWFkZXJzXG5leHBvcnRzLlJlcXVlc3QgPSBjdHguUmVxdWVzdFxuZXhwb3J0cy5SZXNwb25zZSA9IGN0eC5SZXNwb25zZVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/cross-fetch/dist/browser-ponyfill.js\n")); - -/***/ }), - -/***/ "./node_modules/decode-uri-component/index.js": -/*!****************************************************!*\ - !*** ./node_modules/decode-uri-component/index.js ***! - \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGVjb2RlLXVyaS1jb21wb25lbnQvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSxrQkFBa0IsbUJBQW1CO0FBQ3JDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQSxpQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9kZWNvZGUtdXJpLWNvbXBvbmVudC9pbmRleC5qcz9hZjBkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciB0b2tlbiA9ICclW2EtZjAtOV17Mn0nO1xudmFyIHNpbmdsZU1hdGNoZXIgPSBuZXcgUmVnRXhwKCcoJyArIHRva2VuICsgJyl8KFteJV0rPyknLCAnZ2knKTtcbnZhciBtdWx0aU1hdGNoZXIgPSBuZXcgUmVnRXhwKCcoJyArIHRva2VuICsgJykrJywgJ2dpJyk7XG5cbmZ1bmN0aW9uIGRlY29kZUNvbXBvbmVudHMoY29tcG9uZW50cywgc3BsaXQpIHtcblx0dHJ5IHtcblx0XHQvLyBUcnkgdG8gZGVjb2RlIHRoZSBlbnRpcmUgc3RyaW5nIGZpcnN0XG5cdFx0cmV0dXJuIFtkZWNvZGVVUklDb21wb25lbnQoY29tcG9uZW50cy5qb2luKCcnKSldO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHQvLyBEbyBub3RoaW5nXG5cdH1cblxuXHRpZiAoY29tcG9uZW50cy5sZW5ndGggPT09IDEpIHtcblx0XHRyZXR1cm4gY29tcG9uZW50cztcblx0fVxuXG5cdHNwbGl0ID0gc3BsaXQgfHwgMTtcblxuXHQvLyBTcGxpdCB0aGUgYXJyYXkgaW4gMiBwYXJ0c1xuXHR2YXIgbGVmdCA9IGNvbXBvbmVudHMuc2xpY2UoMCwgc3BsaXQpO1xuXHR2YXIgcmlnaHQgPSBjb21wb25lbnRzLnNsaWNlKHNwbGl0KTtcblxuXHRyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5jYWxsKFtdLCBkZWNvZGVDb21wb25lbnRzKGxlZnQpLCBkZWNvZGVDb21wb25lbnRzKHJpZ2h0KSk7XG59XG5cbmZ1bmN0aW9uIGRlY29kZShpbnB1dCkge1xuXHR0cnkge1xuXHRcdHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoaW5wdXQpO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHR2YXIgdG9rZW5zID0gaW5wdXQubWF0Y2goc2luZ2xlTWF0Y2hlcikgfHwgW107XG5cblx0XHRmb3IgKHZhciBpID0gMTsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuXHRcdFx0aW5wdXQgPSBkZWNvZGVDb21wb25lbnRzKHRva2VucywgaSkuam9pbignJyk7XG5cblx0XHRcdHRva2VucyA9IGlucHV0Lm1hdGNoKHNpbmdsZU1hdGNoZXIpIHx8IFtdO1xuXHRcdH1cblxuXHRcdHJldHVybiBpbnB1dDtcblx0fVxufVxuXG5mdW5jdGlvbiBjdXN0b21EZWNvZGVVUklDb21wb25lbnQoaW5wdXQpIHtcblx0Ly8gS2VlcCB0cmFjayBvZiBhbGwgdGhlIHJlcGxhY2VtZW50cyBhbmQgcHJlZmlsbCB0aGUgbWFwIHdpdGggdGhlIGBCT01gXG5cdHZhciByZXBsYWNlTWFwID0ge1xuXHRcdCclRkUlRkYnOiAnXFx1RkZGRFxcdUZGRkQnLFxuXHRcdCclRkYlRkUnOiAnXFx1RkZGRFxcdUZGRkQnXG5cdH07XG5cblx0dmFyIG1hdGNoID0gbXVsdGlNYXRjaGVyLmV4ZWMoaW5wdXQpO1xuXHR3aGlsZSAobWF0Y2gpIHtcblx0XHR0cnkge1xuXHRcdFx0Ly8gRGVjb2RlIGFzIGJpZyBjaHVua3MgYXMgcG9zc2libGVcblx0XHRcdHJlcGxhY2VNYXBbbWF0Y2hbMF1dID0gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzBdKTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHZhciByZXN1bHQgPSBkZWNvZGUobWF0Y2hbMF0pO1xuXG5cdFx0XHRpZiAocmVzdWx0ICE9PSBtYXRjaFswXSkge1xuXHRcdFx0XHRyZXBsYWNlTWFwW21hdGNoWzBdXSA9IHJlc3VsdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRtYXRjaCA9IG11bHRpTWF0Y2hlci5leGVjKGlucHV0KTtcblx0fVxuXG5cdC8vIEFkZCBgJUMyYCBhdCB0aGUgZW5kIG9mIHRoZSBtYXAgdG8gbWFrZSBzdXJlIGl0IGRvZXMgbm90IHJlcGxhY2UgdGhlIGNvbWJpbmF0b3IgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZVxuXHRyZXBsYWNlTWFwWyclQzInXSA9ICdcXHVGRkZEJztcblxuXHR2YXIgZW50cmllcyA9IE9iamVjdC5rZXlzKHJlcGxhY2VNYXApO1xuXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7IGkrKykge1xuXHRcdC8vIFJlcGxhY2UgYWxsIGRlY29kZWQgY29tcG9uZW50c1xuXHRcdHZhciBrZXkgPSBlbnRyaWVzW2ldO1xuXHRcdGlucHV0ID0gaW5wdXQucmVwbGFjZShuZXcgUmVnRXhwKGtleSwgJ2cnKSwgcmVwbGFjZU1hcFtrZXldKTtcblx0fVxuXG5cdHJldHVybiBpbnB1dDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZW5jb2RlZFVSSSkge1xuXHRpZiAodHlwZW9mIGVuY29kZWRVUkkgIT09ICdzdHJpbmcnKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgYGVuY29kZWRVUklgIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGdvdCBgJyArIHR5cGVvZiBlbmNvZGVkVVJJICsgJ2AnKTtcblx0fVxuXG5cdHRyeSB7XG5cdFx0ZW5jb2RlZFVSSSA9IGVuY29kZWRVUkkucmVwbGFjZSgvXFwrL2csICcgJyk7XG5cblx0XHQvLyBUcnkgdGhlIGJ1aWx0IGluIGRlY29kZXIgZmlyc3Rcblx0XHRyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVuY29kZWRVUkkpO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHQvLyBGYWxsYmFjayB0byBhIG1vcmUgYWR2YW5jZWQgZGVjb2RlclxuXHRcdHJldHVybiBjdXN0b21EZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZFVSSSk7XG5cdH1cbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/decode-uri-component/index.js\n")); - -/***/ }), - -/***/ "./node_modules/detect-browser/es/index.js": -/*!*************************************************!*\ - !*** ./node_modules/detect-browser/es/index.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BotInfo: function() { return /* binding */ BotInfo; },\n/* harmony export */ BrowserInfo: function() { return /* binding */ BrowserInfo; },\n/* harmony export */ NodeInfo: function() { return /* binding */ NodeInfo; },\n/* harmony export */ ReactNativeInfo: function() { return /* binding */ ReactNativeInfo; },\n/* harmony export */ SearchBotDeviceInfo: function() { return /* binding */ SearchBotDeviceInfo; },\n/* harmony export */ browserName: function() { return /* binding */ browserName; },\n/* harmony export */ detect: function() { return /* binding */ detect; },\n/* harmony export */ detectOS: function() { return /* binding */ detectOS; },\n/* harmony export */ getNodeVersion: function() { return /* binding */ getNodeVersion; },\n/* harmony export */ parseUserAgent: function() { return /* binding */ parseUserAgent; }\n/* harmony export */ });\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\nvar __spreadArray = (undefined && undefined.__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}());\n\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}());\n\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}());\n\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}());\n\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}());\n\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];\nfunction 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}\nfunction browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nfunction 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}\nfunction 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}\nfunction 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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGV0ZWN0LWJyb3dzZXIvZXMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQkFBcUIsU0FBSSxJQUFJLFNBQUk7QUFDakMsNkVBQTZFLE9BQU87QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNzQjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLE9BQU87QUFDekI7QUFDQTtBQUNBLENBQUM7QUFDbUI7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUM4QjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDa0I7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDMEI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsNENBQTRDO0FBQ3pGO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCwwREFBMEQsWUFBWTtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCx3QkFBd0IsT0FBTyxvQkFBb0IsT0FBTztBQUMxRCxpQ0FBaUMsT0FBTztBQUN4QztBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsWUFBWTtBQUNqQztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZGV0ZWN0LWJyb3dzZXIvZXMvaW5kZXguanM/ZWYwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19zcHJlYWRBcnJheSA9ICh0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheSkgfHwgZnVuY3Rpb24gKHRvLCBmcm9tLCBwYWNrKSB7XG4gICAgaWYgKHBhY2sgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgaSA9IDAsIGwgPSBmcm9tLmxlbmd0aCwgYXI7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcbiAgICAgICAgICAgIGFyW2ldID0gZnJvbVtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG8uY29uY2F0KGFyIHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20pKTtcbn07XG52YXIgQnJvd3NlckluZm8gPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQnJvd3NlckluZm8obmFtZSwgdmVyc2lvbiwgb3MpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgdGhpcy5vcyA9IG9zO1xuICAgICAgICB0aGlzLnR5cGUgPSAnYnJvd3Nlcic7XG4gICAgfVxuICAgIHJldHVybiBCcm93c2VySW5mbztcbn0oKSk7XG5leHBvcnQgeyBCcm93c2VySW5mbyB9O1xudmFyIE5vZGVJbmZvID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE5vZGVJbmZvKHZlcnNpb24pIHtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgdGhpcy50eXBlID0gJ25vZGUnO1xuICAgICAgICB0aGlzLm5hbWUgPSAnbm9kZSc7XG4gICAgICAgIHRoaXMub3MgPSBwcm9jZXNzLnBsYXRmb3JtO1xuICAgIH1cbiAgICByZXR1cm4gTm9kZUluZm87XG59KCkpO1xuZXhwb3J0IHsgTm9kZUluZm8gfTtcbnZhciBTZWFyY2hCb3REZXZpY2VJbmZvID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNlYXJjaEJvdERldmljZUluZm8obmFtZSwgdmVyc2lvbiwgb3MsIGJvdCkge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICB0aGlzLm9zID0gb3M7XG4gICAgICAgIHRoaXMuYm90ID0gYm90O1xuICAgICAgICB0aGlzLnR5cGUgPSAnYm90LWRldmljZSc7XG4gICAgfVxuICAgIHJldHVybiBTZWFyY2hCb3REZXZpY2VJbmZvO1xufSgpKTtcbmV4cG9ydCB7IFNlYXJjaEJvdERldmljZUluZm8gfTtcbnZhciBCb3RJbmZvID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEJvdEluZm8oKSB7XG4gICAgICAgIHRoaXMudHlwZSA9ICdib3QnO1xuICAgICAgICB0aGlzLmJvdCA9IHRydWU7IC8vIE5PVEU6IGRlcHJlY2F0ZWQgdGVzdCBuYW1lIGluc3RlYWRcbiAgICAgICAgdGhpcy5uYW1lID0gJ2JvdCc7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IG51bGw7XG4gICAgICAgIHRoaXMub3MgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gQm90SW5mbztcbn0oKSk7XG5leHBvcnQgeyBCb3RJbmZvIH07XG52YXIgUmVhY3ROYXRpdmVJbmZvID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFJlYWN0TmF0aXZlSW5mbygpIHtcbiAgICAgICAgdGhpcy50eXBlID0gJ3JlYWN0LW5hdGl2ZSc7XG4gICAgICAgIHRoaXMubmFtZSA9ICdyZWFjdC1uYXRpdmUnO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSBudWxsO1xuICAgICAgICB0aGlzLm9zID0gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIFJlYWN0TmF0aXZlSW5mbztcbn0oKSk7XG5leHBvcnQgeyBSZWFjdE5hdGl2ZUluZm8gfTtcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbnZhciBTRUFSQ0hCT1hfVUFfUkVHRVggPSAvYWxleGF8Ym90fGNyYXdsKGVyfGluZyl8ZmFjZWJvb2tleHRlcm5hbGhpdHxmZWVkYnVybmVyfGdvb2dsZSB3ZWIgcHJldmlld3xuYWdpb3N8cG9zdHJhbmt8cGluZ2RvbXxzbHVycHxzcGlkZXJ8eWFob28hfHlhbmRleC87XG52YXIgU0VBUkNIQk9UX09TX1JFR0VYID0gLyhudWhrfGN1cmx8R29vZ2xlYm90fFlhbW15Ym90fE9wZW5ib3R8U2x1cnB8TVNOQm90fEFza1xcIEplZXZlc1xcL1Rlb21hfGlhX2FyY2hpdmVyKS87XG52YXIgUkVRVUlSRURfVkVSU0lPTl9QQVJUUyA9IDM7XG52YXIgdXNlckFnZW50UnVsZXMgPSBbXG4gICAgWydhb2wnLCAvQU9MU2hpZWxkXFwvKFswLTlcXC5fXSspL10sXG4gICAgWydlZGdlJywgL0VkZ2VcXC8oWzAtOVxcLl9dKykvXSxcbiAgICBbJ2VkZ2UtaW9zJywgL0VkZ2lPU1xcLyhbMC05XFwuX10rKS9dLFxuICAgIFsneWFuZGV4YnJvd3NlcicsIC9ZYUJyb3dzZXJcXC8oWzAtOVxcLl9dKykvXSxcbiAgICBbJ2tha2FvdGFsaycsIC9LQUtBT1RBTEtcXHMoWzAtOVxcLl0rKS9dLFxuICAgIFsnc2Ftc3VuZycsIC9TYW1zdW5nQnJvd3NlclxcLyhbMC05XFwuXSspL10sXG4gICAgWydzaWxrJywgL1xcYlNpbGtcXC8oWzAtOS5fLV0rKVxcYi9dLFxuICAgIFsnbWl1aScsIC9NaXVpQnJvd3NlclxcLyhbMC05XFwuXSspJC9dLFxuICAgIFsnYmVha2VyJywgL0JlYWtlckJyb3dzZXJcXC8oWzAtOVxcLl0rKS9dLFxuICAgIFsnZWRnZS1jaHJvbWl1bScsIC9FZGdBP1xcLyhbMC05XFwuXSspL10sXG4gICAgW1xuICAgICAgICAnY2hyb21pdW0td2VidmlldycsXG4gICAgICAgIC8oPyFDaHJvbS4qT1BSKXd2XFwpLipDaHJvbSg/OmV8aXVtKVxcLyhbMC05XFwuXSspKDo/XFxzfCQpLyxcbiAgICBdLFxuICAgIFsnY2hyb21lJywgLyg/IUNocm9tLipPUFIpQ2hyb20oPzplfGl1bSlcXC8oWzAtOVxcLl0rKSg6P1xcc3wkKS9dLFxuICAgIFsncGhhbnRvbWpzJywgL1BoYW50b21KU1xcLyhbMC05XFwuXSspKDo/XFxzfCQpL10sXG4gICAgWydjcmlvcycsIC9DcmlPU1xcLyhbMC05XFwuXSspKDo/XFxzfCQpL10sXG4gICAgWydmaXJlZm94JywgL0ZpcmVmb3hcXC8oWzAtOVxcLl0rKSg/Olxcc3wkKS9dLFxuICAgIFsnZnhpb3MnLCAvRnhpT1NcXC8oWzAtOVxcLl0rKS9dLFxuICAgIFsnb3BlcmEtbWluaScsIC9PcGVyYSBNaW5pLipWZXJzaW9uXFwvKFswLTlcXC5dKykvXSxcbiAgICBbJ29wZXJhJywgL09wZXJhXFwvKFswLTlcXC5dKykoPzpcXHN8JCkvXSxcbiAgICBbJ29wZXJhJywgL09QUlxcLyhbMC05XFwuXSspKDo/XFxzfCQpL10sXG4gICAgWydwaWUnLCAvXk1pY3Jvc29mdCBQb2NrZXQgSW50ZXJuZXQgRXhwbG9yZXJcXC8oXFxkK1xcLlxcZCspJC9dLFxuICAgIFsncGllJywgL15Nb3ppbGxhXFwvXFxkXFwuXFxkK1xcc1xcKGNvbXBhdGlibGU7XFxzKD86TVNQP0lFfE1TSW50ZXJuZXQgRXhwbG9yZXIpIChcXGQrXFwuXFxkKyk7LipXaW5kb3dzIENFLipcXCkkL10sXG4gICAgWyduZXRmcm9udCcsIC9eTW96aWxsYVxcL1xcZFxcLlxcZCsuKk5ldEZyb250XFwvKFxcZC5cXGQpL10sXG4gICAgWydpZScsIC9UcmlkZW50XFwvN1xcLjAuKnJ2XFw6KFswLTlcXC5dKykuKlxcKS4qR2Vja28kL10sXG4gICAgWydpZScsIC9NU0lFXFxzKFswLTlcXC5dKyk7LipUcmlkZW50XFwvWzQtN10uMC9dLFxuICAgIFsnaWUnLCAvTVNJRVxccyg3XFwuMCkvXSxcbiAgICBbJ2JiMTAnLCAvQkIxMDtcXHNUb3VjaC4qVmVyc2lvblxcLyhbMC05XFwuXSspL10sXG4gICAgWydhbmRyb2lkJywgL0FuZHJvaWRcXHMoWzAtOVxcLl0rKS9dLFxuICAgIFsnaW9zJywgL1ZlcnNpb25cXC8oWzAtOVxcLl9dKykuKk1vYmlsZS4qU2FmYXJpLiovXSxcbiAgICBbJ3NhZmFyaScsIC9WZXJzaW9uXFwvKFswLTlcXC5fXSspLipTYWZhcmkvXSxcbiAgICBbJ2ZhY2Vib29rJywgL0ZCW0FTXVZcXC8oWzAtOVxcLl0rKS9dLFxuICAgIFsnaW5zdGFncmFtJywgL0luc3RhZ3JhbVxccyhbMC05XFwuXSspL10sXG4gICAgWydpb3Mtd2VidmlldycsIC9BcHBsZVdlYktpdFxcLyhbMC05XFwuXSspLipNb2JpbGUvXSxcbiAgICBbJ2lvcy13ZWJ2aWV3JywgL0FwcGxlV2ViS2l0XFwvKFswLTlcXC5dKykuKkdlY2tvXFwpJC9dLFxuICAgIFsnY3VybCcsIC9eY3VybFxcLyhbMC05XFwuXSspJC9dLFxuICAgIFsnc2VhcmNoYm90JywgU0VBUkNIQk9YX1VBX1JFR0VYXSxcbl07XG52YXIgb3BlcmF0aW5nU3lzdGVtUnVsZXMgPSBbXG4gICAgWydpT1MnLCAvaVAoaG9uZXxvZHxhZCkvXSxcbiAgICBbJ0FuZHJvaWQgT1MnLCAvQW5kcm9pZC9dLFxuICAgIFsnQmxhY2tCZXJyeSBPUycsIC9CbGFja0JlcnJ5fEJCMTAvXSxcbiAgICBbJ1dpbmRvd3MgTW9iaWxlJywgL0lFTW9iaWxlL10sXG4gICAgWydBbWF6b24gT1MnLCAvS2luZGxlL10sXG4gICAgWydXaW5kb3dzIDMuMTEnLCAvV2luMTYvXSxcbiAgICBbJ1dpbmRvd3MgOTUnLCAvKFdpbmRvd3MgOTUpfChXaW45NSl8KFdpbmRvd3NfOTUpL10sXG4gICAgWydXaW5kb3dzIDk4JywgLyhXaW5kb3dzIDk4KXwoV2luOTgpL10sXG4gICAgWydXaW5kb3dzIDIwMDAnLCAvKFdpbmRvd3MgTlQgNS4wKXwoV2luZG93cyAyMDAwKS9dLFxuICAgIFsnV2luZG93cyBYUCcsIC8oV2luZG93cyBOVCA1LjEpfChXaW5kb3dzIFhQKS9dLFxuICAgIFsnV2luZG93cyBTZXJ2ZXIgMjAwMycsIC8oV2luZG93cyBOVCA1LjIpL10sXG4gICAgWydXaW5kb3dzIFZpc3RhJywgLyhXaW5kb3dzIE5UIDYuMCkvXSxcbiAgICBbJ1dpbmRvd3MgNycsIC8oV2luZG93cyBOVCA2LjEpL10sXG4gICAgWydXaW5kb3dzIDgnLCAvKFdpbmRvd3MgTlQgNi4yKS9dLFxuICAgIFsnV2luZG93cyA4LjEnLCAvKFdpbmRvd3MgTlQgNi4zKS9dLFxuICAgIFsnV2luZG93cyAxMCcsIC8oV2luZG93cyBOVCAxMC4wKS9dLFxuICAgIFsnV2luZG93cyBNRScsIC9XaW5kb3dzIE1FL10sXG4gICAgWydXaW5kb3dzIENFJywgL1dpbmRvd3MgQ0V8V2luQ0V8TWljcm9zb2Z0IFBvY2tldCBJbnRlcm5ldCBFeHBsb3Jlci9dLFxuICAgIFsnT3BlbiBCU0QnLCAvT3BlbkJTRC9dLFxuICAgIFsnU3VuIE9TJywgL1N1bk9TL10sXG4gICAgWydDaHJvbWUgT1MnLCAvQ3JPUy9dLFxuICAgIFsnTGludXgnLCAvKExpbnV4KXwoWDExKS9dLFxuICAgIFsnTWFjIE9TJywgLyhNYWNfUG93ZXJQQyl8KE1hY2ludG9zaCkvXSxcbiAgICBbJ1FOWCcsIC9RTlgvXSxcbiAgICBbJ0JlT1MnLCAvQmVPUy9dLFxuICAgIFsnT1MvMicsIC9PU1xcLzIvXSxcbl07XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0KHVzZXJBZ2VudCkge1xuICAgIGlmICghIXVzZXJBZ2VudCkge1xuICAgICAgICByZXR1cm4gcGFyc2VVc2VyQWdlbnQodXNlckFnZW50KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgbmF2aWdhdG9yLnByb2R1Y3QgPT09ICdSZWFjdE5hdGl2ZScpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWFjdE5hdGl2ZUluZm8oKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVVzZXJBZ2VudChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldE5vZGVWZXJzaW9uKCk7XG59XG5mdW5jdGlvbiBtYXRjaFVzZXJBZ2VudCh1YSkge1xuICAgIC8vIG9wdGVkIGZvciB1c2luZyByZWR1Y2UgaGVyZSByYXRoZXIgdGhhbiBBcnJheSNmaXJzdCB3aXRoIGEgcmVnZXgudGVzdCBjYWxsXG4gICAgLy8gdGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB1c2luZyB0aGUgcmVkdWNlIHdlIG9ubHkgcGVyZm9ybSB0aGUgcmVnZXhcbiAgICAvLyBleGVjdXRpb24gb25jZSByYXRoZXIgdGhhbiBvbmNlIGZvciB0aGUgdGVzdCBhbmQgZm9yIHRoZSBleGVjIGFnYWluIGJlbG93XG4gICAgLy8gcHJvYmFibHkgc29tZXRoaW5nIHRoYXQgbmVlZHMgdG8gYmUgYmVuY2htYXJrZWQgdGhvdWdoXG4gICAgcmV0dXJuICh1YSAhPT0gJycgJiZcbiAgICAgICAgdXNlckFnZW50UnVsZXMucmVkdWNlKGZ1bmN0aW9uIChtYXRjaGVkLCBfYSkge1xuICAgICAgICAgICAgdmFyIGJyb3dzZXIgPSBfYVswXSwgcmVnZXggPSBfYVsxXTtcbiAgICAgICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdWFNYXRjaCA9IHJlZ2V4LmV4ZWModWEpO1xuICAgICAgICAgICAgcmV0dXJuICEhdWFNYXRjaCAmJiBbYnJvd3NlciwgdWFNYXRjaF07XG4gICAgICAgIH0sIGZhbHNlKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYnJvd3Nlck5hbWUodWEpIHtcbiAgICB2YXIgZGF0YSA9IG1hdGNoVXNlckFnZW50KHVhKTtcbiAgICByZXR1cm4gZGF0YSA/IGRhdGFbMF0gOiBudWxsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVXNlckFnZW50KHVhKSB7XG4gICAgdmFyIG1hdGNoZWRSdWxlID0gbWF0Y2hVc2VyQWdlbnQodWEpO1xuICAgIGlmICghbWF0Y2hlZFJ1bGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhciBuYW1lID0gbWF0Y2hlZFJ1bGVbMF0sIG1hdGNoID0gbWF0Y2hlZFJ1bGVbMV07XG4gICAgaWYgKG5hbWUgPT09ICdzZWFyY2hib3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgQm90SW5mbygpO1xuICAgIH1cbiAgICAvLyBEbyBub3QgdXNlIFJlZ0V4cCBmb3Igc3BsaXQgb3BlcmF0aW9uIGFzIHNvbWUgYnJvd3NlciBkbyBub3Qgc3VwcG9ydCBpdCAoU2VlOiBodHRwOi8vYmxvZy5zdGV2ZW5sZXZpdGhhbi5jb20vYXJjaGl2ZXMvY3Jvc3MtYnJvd3Nlci1zcGxpdClcbiAgICB2YXIgdmVyc2lvblBhcnRzID0gbWF0Y2hbMV0gJiYgbWF0Y2hbMV0uc3BsaXQoJy4nKS5qb2luKCdfJykuc3BsaXQoJ18nKS5zbGljZSgwLCAzKTtcbiAgICBpZiAodmVyc2lvblBhcnRzKSB7XG4gICAgICAgIGlmICh2ZXJzaW9uUGFydHMubGVuZ3RoIDwgUkVRVUlSRURfVkVSU0lPTl9QQVJUUykge1xuICAgICAgICAgICAgdmVyc2lvblBhcnRzID0gX19zcHJlYWRBcnJheShfX3NwcmVhZEFycmF5KFtdLCB2ZXJzaW9uUGFydHMsIHRydWUpLCBjcmVhdGVWZXJzaW9uUGFydHMoUkVRVUlSRURfVkVSU0lPTl9QQVJUUyAtIHZlcnNpb25QYXJ0cy5sZW5ndGgpLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmVyc2lvblBhcnRzID0gW107XG4gICAgfVxuICAgIHZhciB2ZXJzaW9uID0gdmVyc2lvblBhcnRzLmpvaW4oJy4nKTtcbiAgICB2YXIgb3MgPSBkZXRlY3RPUyh1YSk7XG4gICAgdmFyIHNlYXJjaEJvdE1hdGNoID0gU0VBUkNIQk9UX09TX1JFR0VYLmV4ZWModWEpO1xuICAgIGlmIChzZWFyY2hCb3RNYXRjaCAmJiBzZWFyY2hCb3RNYXRjaFsxXSkge1xuICAgICAgICByZXR1cm4gbmV3IFNlYXJjaEJvdERldmljZUluZm8obmFtZSwgdmVyc2lvbiwgb3MsIHNlYXJjaEJvdE1hdGNoWzFdKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBCcm93c2VySW5mbyhuYW1lLCB2ZXJzaW9uLCBvcyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0T1ModWEpIHtcbiAgICBmb3IgKHZhciBpaSA9IDAsIGNvdW50ID0gb3BlcmF0aW5nU3lzdGVtUnVsZXMubGVuZ3RoOyBpaSA8IGNvdW50OyBpaSsrKSB7XG4gICAgICAgIHZhciBfYSA9IG9wZXJhdGluZ1N5c3RlbVJ1bGVzW2lpXSwgb3MgPSBfYVswXSwgcmVnZXggPSBfYVsxXTtcbiAgICAgICAgdmFyIG1hdGNoID0gcmVnZXguZXhlYyh1YSk7XG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIG9zO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVWZXJzaW9uKCkge1xuICAgIHZhciBpc05vZGUgPSB0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy52ZXJzaW9uO1xuICAgIHJldHVybiBpc05vZGUgPyBuZXcgTm9kZUluZm8ocHJvY2Vzcy52ZXJzaW9uLnNsaWNlKDEpKSA6IG51bGw7XG59XG5mdW5jdGlvbiBjcmVhdGVWZXJzaW9uUGFydHMoY291bnQpIHtcbiAgICB2YXIgb3V0cHV0ID0gW107XG4gICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGNvdW50OyBpaSsrKSB7XG4gICAgICAgIG91dHB1dC5wdXNoKCcwJyk7XG4gICAgfVxuICAgIHJldHVybiBvdXRwdXQ7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/detect-browser/es/index.js\n")); - -/***/ }), - -/***/ "./node_modules/detect-node-es/esm/browser.js": -/*!****************************************************!*\ - !*** ./node_modules/detect-node-es/esm/browser.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isNode: function() { return /* binding */ isNode; }\n/* harmony export */ });\nconst isNode = false;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGV0ZWN0LW5vZGUtZXMvZXNtL2Jyb3dzZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9kZXRlY3Qtbm9kZS1lcy9lc20vYnJvd3Nlci5qcz9hNzFjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpc05vZGUgPSBmYWxzZTtcblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/detect-node-es/esm/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/dijkstrajs/dijkstra.js": -/*!*********************************************!*\ - !*** ./node_modules/dijkstrajs/dijkstra.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin <self@wyattbaldwin.com>\n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (true) {\n module.exports = dijkstra;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlqa3N0cmFqcy9kaWprc3RyYS5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdFQUFnRTtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsSUFBSSxJQUE2QjtBQUNqQztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9kaWprc3RyYWpzL2RpamtzdHJhLmpzP2RiYzgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDcmVhdGVkIDIwMDgtMDgtMTkuXG4gKlxuICogRGlqa3N0cmEgcGF0aC1maW5kaW5nIGZ1bmN0aW9ucy4gQWRhcHRlZCBmcm9tIHRoZSBEaWprc3RhciBQeXRob24gcHJvamVjdC5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDhcbiAqICAgV3lhdHQgQmFsZHdpbiA8c2VsZkB3eWF0dGJhbGR3aW4uY29tPlxuICogICBBbGwgcmlnaHRzIHJlc2VydmVkXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICpcbiAqICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbnZhciBkaWprc3RyYSA9IHtcbiAgc2luZ2xlX3NvdXJjZV9zaG9ydGVzdF9wYXRoczogZnVuY3Rpb24oZ3JhcGgsIHMsIGQpIHtcbiAgICAvLyBQcmVkZWNlc3NvciBtYXAgZm9yIGVhY2ggbm9kZSB0aGF0IGhhcyBiZWVuIGVuY291bnRlcmVkLlxuICAgIC8vIG5vZGUgSUQgPT4gcHJlZGVjZXNzb3Igbm9kZSBJRFxuICAgIHZhciBwcmVkZWNlc3NvcnMgPSB7fTtcblxuICAgIC8vIENvc3RzIG9mIHNob3J0ZXN0IHBhdGhzIGZyb20gcyB0byBhbGwgbm9kZXMgZW5jb3VudGVyZWQuXG4gICAgLy8gbm9kZSBJRCA9PiBjb3N0XG4gICAgdmFyIGNvc3RzID0ge307XG4gICAgY29zdHNbc10gPSAwO1xuXG4gICAgLy8gQ29zdHMgb2Ygc2hvcnRlc3QgcGF0aHMgZnJvbSBzIHRvIGFsbCBub2RlcyBlbmNvdW50ZXJlZDsgZGlmZmVycyBmcm9tXG4gICAgLy8gYGNvc3RzYCBpbiB0aGF0IGl0IHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIHRoZSBub2RlIHRoYXQgY3VycmVudGx5IGhhc1xuICAgIC8vIHRoZSBrbm93biBzaG9ydGVzdCBwYXRoIGZyb20gcy5cbiAgICAvLyBYWFg6IERvIHdlIGFjdHVhbGx5IG5lZWQgYm90aCBgY29zdHNgIGFuZCBgb3BlbmA/XG4gICAgdmFyIG9wZW4gPSBkaWprc3RyYS5Qcmlvcml0eVF1ZXVlLm1ha2UoKTtcbiAgICBvcGVuLnB1c2gocywgMCk7XG5cbiAgICB2YXIgY2xvc2VzdCxcbiAgICAgICAgdSwgdixcbiAgICAgICAgY29zdF9vZl9zX3RvX3UsXG4gICAgICAgIGFkamFjZW50X25vZGVzLFxuICAgICAgICBjb3N0X29mX2UsXG4gICAgICAgIGNvc3Rfb2Zfc190b191X3BsdXNfY29zdF9vZl9lLFxuICAgICAgICBjb3N0X29mX3NfdG9fdixcbiAgICAgICAgZmlyc3RfdmlzaXQ7XG4gICAgd2hpbGUgKCFvcGVuLmVtcHR5KCkpIHtcbiAgICAgIC8vIEluIHRoZSBub2RlcyByZW1haW5pbmcgaW4gZ3JhcGggdGhhdCBoYXZlIGEga25vd24gY29zdCBmcm9tIHMsXG4gICAgICAvLyBmaW5kIHRoZSBub2RlLCB1LCB0aGF0IGN1cnJlbnRseSBoYXMgdGhlIHNob3J0ZXN0IHBhdGggZnJvbSBzLlxuICAgICAgY2xvc2VzdCA9IG9wZW4ucG9wKCk7XG4gICAgICB1ID0gY2xvc2VzdC52YWx1ZTtcbiAgICAgIGNvc3Rfb2Zfc190b191ID0gY2xvc2VzdC5jb3N0O1xuXG4gICAgICAvLyBHZXQgbm9kZXMgYWRqYWNlbnQgdG8gdS4uLlxuICAgICAgYWRqYWNlbnRfbm9kZXMgPSBncmFwaFt1XSB8fCB7fTtcblxuICAgICAgLy8gLi4uYW5kIGV4cGxvcmUgdGhlIGVkZ2VzIHRoYXQgY29ubmVjdCB1IHRvIHRob3NlIG5vZGVzLCB1cGRhdGluZ1xuICAgICAgLy8gdGhlIGNvc3Qgb2YgdGhlIHNob3J0ZXN0IHBhdGhzIHRvIGFueSBvciBhbGwgb2YgdGhvc2Ugbm9kZXMgYXNcbiAgICAgIC8vIG5lY2Vzc2FyeS4gdiBpcyB0aGUgbm9kZSBhY3Jvc3MgdGhlIGN1cnJlbnQgZWRnZSBmcm9tIHUuXG4gICAgICBmb3IgKHYgaW4gYWRqYWNlbnRfbm9kZXMpIHtcbiAgICAgICAgaWYgKGFkamFjZW50X25vZGVzLmhhc093blByb3BlcnR5KHYpKSB7XG4gICAgICAgICAgLy8gR2V0IHRoZSBjb3N0IG9mIHRoZSBlZGdlIHJ1bm5pbmcgZnJvbSB1IHRvIHYuXG4gICAgICAgICAgY29zdF9vZl9lID0gYWRqYWNlbnRfbm9kZXNbdl07XG5cbiAgICAgICAgICAvLyBDb3N0IG9mIHMgdG8gdSBwbHVzIHRoZSBjb3N0IG9mIHUgdG8gdiBhY3Jvc3MgZS0tdGhpcyBpcyAqYSpcbiAgICAgICAgICAvLyBjb3N0IGZyb20gcyB0byB2IHRoYXQgbWF5IG9yIG1heSBub3QgYmUgbGVzcyB0aGFuIHRoZSBjdXJyZW50XG4gICAgICAgICAgLy8ga25vd24gY29zdCB0byB2LlxuICAgICAgICAgIGNvc3Rfb2Zfc190b191X3BsdXNfY29zdF9vZl9lID0gY29zdF9vZl9zX3RvX3UgKyBjb3N0X29mX2U7XG5cbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IHZpc2l0ZWQgdiB5ZXQgT1IgaWYgdGhlIGN1cnJlbnQga25vd24gY29zdCBmcm9tIHMgdG9cbiAgICAgICAgICAvLyB2IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbmV3IGNvc3Qgd2UganVzdCBmb3VuZCAoY29zdCBvZiBzIHRvIHUgcGx1c1xuICAgICAgICAgIC8vIGNvc3Qgb2YgdSB0byB2IGFjcm9zcyBlKSwgdXBkYXRlIHYncyBjb3N0IGluIHRoZSBjb3N0IGxpc3QgYW5kXG4gICAgICAgICAgLy8gdXBkYXRlIHYncyBwcmVkZWNlc3NvciBpbiB0aGUgcHJlZGVjZXNzb3IgbGlzdCAoaXQncyBub3cgdSkuXG4gICAgICAgICAgY29zdF9vZl9zX3RvX3YgPSBjb3N0c1t2XTtcbiAgICAgICAgICBmaXJzdF92aXNpdCA9ICh0eXBlb2YgY29zdHNbdl0gPT09ICd1bmRlZmluZWQnKTtcbiAgICAgICAgICBpZiAoZmlyc3RfdmlzaXQgfHwgY29zdF9vZl9zX3RvX3YgPiBjb3N0X29mX3NfdG9fdV9wbHVzX2Nvc3Rfb2ZfZSkge1xuICAgICAgICAgICAgY29zdHNbdl0gPSBjb3N0X29mX3NfdG9fdV9wbHVzX2Nvc3Rfb2ZfZTtcbiAgICAgICAgICAgIG9wZW4ucHVzaCh2LCBjb3N0X29mX3NfdG9fdV9wbHVzX2Nvc3Rfb2ZfZSk7XG4gICAgICAgICAgICBwcmVkZWNlc3NvcnNbdl0gPSB1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGNvc3RzW2RdID09PSAndW5kZWZpbmVkJykge1xuICAgICAgdmFyIG1zZyA9IFsnQ291bGQgbm90IGZpbmQgYSBwYXRoIGZyb20gJywgcywgJyB0byAnLCBkLCAnLiddLmpvaW4oJycpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByZWRlY2Vzc29ycztcbiAgfSxcblxuICBleHRyYWN0X3Nob3J0ZXN0X3BhdGhfZnJvbV9wcmVkZWNlc3Nvcl9saXN0OiBmdW5jdGlvbihwcmVkZWNlc3NvcnMsIGQpIHtcbiAgICB2YXIgbm9kZXMgPSBbXTtcbiAgICB2YXIgdSA9IGQ7XG4gICAgdmFyIHByZWRlY2Vzc29yO1xuICAgIHdoaWxlICh1KSB7XG4gICAgICBub2Rlcy5wdXNoKHUpO1xuICAgICAgcHJlZGVjZXNzb3IgPSBwcmVkZWNlc3NvcnNbdV07XG4gICAgICB1ID0gcHJlZGVjZXNzb3JzW3VdO1xuICAgIH1cbiAgICBub2Rlcy5yZXZlcnNlKCk7XG4gICAgcmV0dXJuIG5vZGVzO1xuICB9LFxuXG4gIGZpbmRfcGF0aDogZnVuY3Rpb24oZ3JhcGgsIHMsIGQpIHtcbiAgICB2YXIgcHJlZGVjZXNzb3JzID0gZGlqa3N0cmEuc2luZ2xlX3NvdXJjZV9zaG9ydGVzdF9wYXRocyhncmFwaCwgcywgZCk7XG4gICAgcmV0dXJuIGRpamtzdHJhLmV4dHJhY3Rfc2hvcnRlc3RfcGF0aF9mcm9tX3ByZWRlY2Vzc29yX2xpc3QoXG4gICAgICBwcmVkZWNlc3NvcnMsIGQpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBBIHZlcnkgbmFpdmUgcHJpb3JpdHkgcXVldWUgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICBQcmlvcml0eVF1ZXVlOiB7XG4gICAgbWFrZTogZnVuY3Rpb24gKG9wdHMpIHtcbiAgICAgIHZhciBUID0gZGlqa3N0cmEuUHJpb3JpdHlRdWV1ZSxcbiAgICAgICAgICB0ID0ge30sXG4gICAgICAgICAga2V5O1xuICAgICAgb3B0cyA9IG9wdHMgfHwge307XG4gICAgICBmb3IgKGtleSBpbiBUKSB7XG4gICAgICAgIGlmIChULmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICB0W2tleV0gPSBUW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHQucXVldWUgPSBbXTtcbiAgICAgIHQuc29ydGVyID0gb3B0cy5zb3J0ZXIgfHwgVC5kZWZhdWx0X3NvcnRlcjtcbiAgICAgIHJldHVybiB0O1xuICAgIH0sXG5cbiAgICBkZWZhdWx0X3NvcnRlcjogZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBhLmNvc3QgLSBiLmNvc3Q7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEFkZCBhIG5ldyBpdGVtIHRvIHRoZSBxdWV1ZSBhbmQgZW5zdXJlIHRoZSBoaWdoZXN0IHByaW9yaXR5IGVsZW1lbnRcbiAgICAgKiBpcyBhdCB0aGUgZnJvbnQgb2YgdGhlIHF1ZXVlLlxuICAgICAqL1xuICAgIHB1c2g6IGZ1bmN0aW9uICh2YWx1ZSwgY29zdCkge1xuICAgICAgdmFyIGl0ZW0gPSB7dmFsdWU6IHZhbHVlLCBjb3N0OiBjb3N0fTtcbiAgICAgIHRoaXMucXVldWUucHVzaChpdGVtKTtcbiAgICAgIHRoaXMucXVldWUuc29ydCh0aGlzLnNvcnRlcik7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgaGlnaGVzdCBwcmlvcml0eSBlbGVtZW50IGluIHRoZSBxdWV1ZS5cbiAgICAgKi9cbiAgICBwb3A6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXVlLnNoaWZ0KCk7XG4gICAgfSxcblxuICAgIGVtcHR5OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdGhpcy5xdWV1ZS5sZW5ndGggPT09IDA7XG4gICAgfVxuICB9XG59O1xuXG5cbi8vIG5vZGUuanMgbW9kdWxlIGV4cG9ydHNcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IGRpamtzdHJhO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/dijkstrajs/dijkstra.js\n")); - -/***/ }), - -/***/ "./node_modules/encode-utf8/index.js": -/*!*******************************************!*\ - !*** ./node_modules/encode-utf8/index.js ***! - \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW5jb2RlLXV0ZjgvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQVk7O0FBRVo7QUFDQTtBQUNBOztBQUVBLHNCQUFzQixjQUFjO0FBQ3BDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2VuY29kZS11dGY4L2luZGV4LmpzPzlkODAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZW5jb2RlVXRmOCAoaW5wdXQpIHtcbiAgdmFyIHJlc3VsdCA9IFtdXG4gIHZhciBzaXplID0gaW5wdXQubGVuZ3RoXG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHNpemU7IGluZGV4KyspIHtcbiAgICB2YXIgcG9pbnQgPSBpbnB1dC5jaGFyQ29kZUF0KGluZGV4KVxuXG4gICAgaWYgKHBvaW50ID49IDB4RDgwMCAmJiBwb2ludCA8PSAweERCRkYgJiYgc2l6ZSA+IGluZGV4ICsgMSkge1xuICAgICAgdmFyIHNlY29uZCA9IGlucHV0LmNoYXJDb2RlQXQoaW5kZXggKyAxKVxuXG4gICAgICBpZiAoc2Vjb25kID49IDB4REMwMCAmJiBzZWNvbmQgPD0gMHhERkZGKSB7XG4gICAgICAgIC8vIGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWVuY29kaW5nI3N1cnJvZ2F0ZS1mb3JtdWxhZVxuICAgICAgICBwb2ludCA9IChwb2ludCAtIDB4RDgwMCkgKiAweDQwMCArIHNlY29uZCAtIDB4REMwMCArIDB4MTAwMDBcbiAgICAgICAgaW5kZXggKz0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVTLUFTQ0lJXG4gICAgaWYgKHBvaW50IDwgMHg4MCkge1xuICAgICAgcmVzdWx0LnB1c2gocG9pbnQpXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIDItYnl0ZSBVVEYtOFxuICAgIGlmIChwb2ludCA8IDB4ODAwKSB7XG4gICAgICByZXN1bHQucHVzaCgocG9pbnQgPj4gNikgfCAxOTIpXG4gICAgICByZXN1bHQucHVzaCgocG9pbnQgJiA2MykgfCAxMjgpXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIDMtYnl0ZSBVVEYtOFxuICAgIGlmIChwb2ludCA8IDB4RDgwMCB8fCAocG9pbnQgPj0gMHhFMDAwICYmIHBvaW50IDwgMHgxMDAwMCkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKChwb2ludCA+PiAxMikgfCAyMjQpXG4gICAgICByZXN1bHQucHVzaCgoKHBvaW50ID4+IDYpICYgNjMpIHwgMTI4KVxuICAgICAgcmVzdWx0LnB1c2goKHBvaW50ICYgNjMpIHwgMTI4KVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICAvLyA0LWJ5dGUgVVRGLThcbiAgICBpZiAocG9pbnQgPj0gMHgxMDAwMCAmJiBwb2ludCA8PSAweDEwRkZGRikge1xuICAgICAgcmVzdWx0LnB1c2goKHBvaW50ID4+IDE4KSB8IDI0MClcbiAgICAgIHJlc3VsdC5wdXNoKCgocG9pbnQgPj4gMTIpICYgNjMpIHwgMTI4KVxuICAgICAgcmVzdWx0LnB1c2goKChwb2ludCA+PiA2KSAmIDYzKSB8IDEyOClcbiAgICAgIHJlc3VsdC5wdXNoKChwb2ludCAmIDYzKSB8IDEyOClcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gSW52YWxpZCBjaGFyYWN0ZXJcbiAgICByZXN1bHQucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICB9XG5cbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJlc3VsdCkuYnVmZmVyXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/encode-utf8/index.js\n")); - -/***/ }), - -/***/ "./node_modules/eventemitter3/index.js": -/*!*********************************************!*\ - !*** ./node_modules/eventemitter3/index.js ***! - \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\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 (true) {\n module.exports = EventEmitter;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXZlbnRlbWl0dGVyMy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxTQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsaUJBQWlCO0FBQzVCLFdBQVcsVUFBVTtBQUNyQixXQUFXLEdBQUc7QUFDZCxXQUFXLFNBQVM7QUFDcEIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsY0FBYztBQUN6QixXQUFXLGlCQUFpQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMERBQTBELE9BQU87QUFDakU7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMENBQTBDLFNBQVM7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBLGdCQUFnQixZQUFZO0FBQzVCOztBQUVBO0FBQ0EsNERBQTREO0FBQzVELGdFQUFnRTtBQUNoRSxvRUFBb0U7QUFDcEUsd0VBQXdFO0FBQ3hFO0FBQ0EsMkRBQTJELFNBQVM7QUFDcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCLFdBQVcsVUFBVTtBQUNyQixXQUFXLEdBQUc7QUFDZCxhQUFhLGNBQWM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGlCQUFpQjtBQUM1QixXQUFXLFVBQVU7QUFDckIsV0FBVyxHQUFHO0FBQ2QsYUFBYSxjQUFjO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxpQkFBaUI7QUFDNUIsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsR0FBRztBQUNkLFdBQVcsU0FBUztBQUNwQixhQUFhLGNBQWM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDREQUE0RCxZQUFZO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxpQkFBaUI7QUFDNUIsYUFBYSxjQUFjO0FBQzNCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBNkI7QUFDakM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvZXZlbnRlbWl0dGVyMy9pbmRleC5qcz80YzNmIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHlcbiAgLCBwcmVmaXggPSAnfic7XG5cbi8qKlxuICogQ29uc3RydWN0b3IgdG8gY3JlYXRlIGEgc3RvcmFnZSBmb3Igb3VyIGBFRWAgb2JqZWN0cy5cbiAqIEFuIGBFdmVudHNgIGluc3RhbmNlIGlzIGEgcGxhaW4gb2JqZWN0IHdob3NlIHByb3BlcnRpZXMgYXJlIGV2ZW50IG5hbWVzLlxuICpcbiAqIEBjb25zdHJ1Y3RvclxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gRXZlbnRzKCkge31cblxuLy9cbi8vIFdlIHRyeSB0byBub3QgaW5oZXJpdCBmcm9tIGBPYmplY3QucHJvdG90eXBlYC4gSW4gc29tZSBlbmdpbmVzIGNyZWF0aW5nIGFuXG4vLyBpbnN0YW5jZSBpbiB0aGlzIHdheSBpcyBmYXN0ZXIgdGhhbiBjYWxsaW5nIGBPYmplY3QuY3JlYXRlKG51bGwpYCBkaXJlY3RseS5cbi8vIElmIGBPYmplY3QuY3JlYXRlKG51bGwpYCBpcyBub3Qgc3VwcG9ydGVkIHdlIHByZWZpeCB0aGUgZXZlbnQgbmFtZXMgd2l0aCBhXG4vLyBjaGFyYWN0ZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGJ1aWx0LWluIG9iamVjdCBwcm9wZXJ0aWVzIGFyZSBub3Rcbi8vIG92ZXJyaWRkZW4gb3IgdXNlZCBhcyBhbiBhdHRhY2sgdmVjdG9yLlxuLy9cbmlmIChPYmplY3QuY3JlYXRlKSB7XG4gIEV2ZW50cy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gIC8vXG4gIC8vIFRoaXMgaGFjayBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgYF9fcHJvdG9fX2AgcHJvcGVydHkgaXMgc3RpbGwgaW5oZXJpdGVkIGluXG4gIC8vIHNvbWUgb2xkIGJyb3dzZXJzIGxpa2UgQW5kcm9pZCA0LCBpUGhvbmUgNS4xLCBPcGVyYSAxMSBhbmQgU2FmYXJpIDUuXG4gIC8vXG4gIGlmICghbmV3IEV2ZW50cygpLl9fcHJvdG9fXykgcHJlZml4ID0gZmFsc2U7XG59XG5cbi8qKlxuICogUmVwcmVzZW50YXRpb24gb2YgYSBzaW5nbGUgZXZlbnQgbGlzdGVuZXIuXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGxpc3RlbmVyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsqfSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIGludm9rZSB0aGUgbGlzdGVuZXIgd2l0aC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29uY2U9ZmFsc2VdIFNwZWNpZnkgaWYgdGhlIGxpc3RlbmVyIGlzIGEgb25lLXRpbWUgbGlzdGVuZXIuXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIEVFKGZuLCBjb250ZXh0LCBvbmNlKSB7XG4gIHRoaXMuZm4gPSBmbjtcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgdGhpcy5vbmNlID0gb25jZSB8fCBmYWxzZTtcbn1cblxuLyoqXG4gKiBBZGQgYSBsaXN0ZW5lciBmb3IgYSBnaXZlbiBldmVudC5cbiAqXG4gKiBAcGFyYW0ge0V2ZW50RW1pdHRlcn0gZW1pdHRlciBSZWZlcmVuY2UgdG8gdGhlIGBFdmVudEVtaXR0ZXJgIGluc3RhbmNlLlxuICogQHBhcmFtIHsoU3RyaW5nfFN5bWJvbCl9IGV2ZW50IFRoZSBldmVudCBuYW1lLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGxpc3RlbmVyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsqfSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIGludm9rZSB0aGUgbGlzdGVuZXIgd2l0aC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gb25jZSBTcGVjaWZ5IGlmIHRoZSBsaXN0ZW5lciBpcyBhIG9uZS10aW1lIGxpc3RlbmVyLlxuICogQHJldHVybnMge0V2ZW50RW1pdHRlcn1cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGFkZExpc3RlbmVyKGVtaXR0ZXIsIGV2ZW50LCBmbiwgY29udGV4dCwgb25jZSkge1xuICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIGxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbicpO1xuICB9XG5cbiAgdmFyIGxpc3RlbmVyID0gbmV3IEVFKGZuLCBjb250ZXh0IHx8IGVtaXR0ZXIsIG9uY2UpXG4gICAgLCBldnQgPSBwcmVmaXggPyBwcmVmaXggKyBldmVudCA6IGV2ZW50O1xuXG4gIGlmICghZW1pdHRlci5fZXZlbnRzW2V2dF0pIGVtaXR0ZXIuX2V2ZW50c1tldnRdID0gbGlzdGVuZXIsIGVtaXR0ZXIuX2V2ZW50c0NvdW50Kys7XG4gIGVsc2UgaWYgKCFlbWl0dGVyLl9ldmVudHNbZXZ0XS5mbikgZW1pdHRlci5fZXZlbnRzW2V2dF0ucHVzaChsaXN0ZW5lcik7XG4gIGVsc2UgZW1pdHRlci5fZXZlbnRzW2V2dF0gPSBbZW1pdHRlci5fZXZlbnRzW2V2dF0sIGxpc3RlbmVyXTtcblxuICByZXR1cm4gZW1pdHRlcjtcbn1cblxuLyoqXG4gKiBDbGVhciBldmVudCBieSBuYW1lLlxuICpcbiAqIEBwYXJhbSB7RXZlbnRFbWl0dGVyfSBlbWl0dGVyIFJlZmVyZW5jZSB0byB0aGUgYEV2ZW50RW1pdHRlcmAgaW5zdGFuY2UuXG4gKiBAcGFyYW0geyhTdHJpbmd8U3ltYm9sKX0gZXZ0IFRoZSBFdmVudCBuYW1lLlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gY2xlYXJFdmVudChlbWl0dGVyLCBldnQpIHtcbiAgaWYgKC0tZW1pdHRlci5fZXZlbnRzQ291bnQgPT09IDApIGVtaXR0ZXIuX2V2ZW50cyA9IG5ldyBFdmVudHMoKTtcbiAgZWxzZSBkZWxldGUgZW1pdHRlci5fZXZlbnRzW2V2dF07XG59XG5cbi8qKlxuICogTWluaW1hbCBgRXZlbnRFbWl0dGVyYCBpbnRlcmZhY2UgdGhhdCBpcyBtb2xkZWQgYWdhaW5zdCB0aGUgTm9kZS5qc1xuICogYEV2ZW50RW1pdHRlcmAgaW50ZXJmYWNlLlxuICpcbiAqIEBjb25zdHJ1Y3RvclxuICogQHB1YmxpY1xuICovXG5mdW5jdGlvbiBFdmVudEVtaXR0ZXIoKSB7XG4gIHRoaXMuX2V2ZW50cyA9IG5ldyBFdmVudHMoKTtcbiAgdGhpcy5fZXZlbnRzQ291bnQgPSAwO1xufVxuXG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBsaXN0aW5nIHRoZSBldmVudHMgZm9yIHdoaWNoIHRoZSBlbWl0dGVyIGhhcyByZWdpc3RlcmVkXG4gKiBsaXN0ZW5lcnMuXG4gKlxuICogQHJldHVybnMge0FycmF5fVxuICogQHB1YmxpY1xuICovXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmV2ZW50TmFtZXMgPSBmdW5jdGlvbiBldmVudE5hbWVzKCkge1xuICB2YXIgbmFtZXMgPSBbXVxuICAgICwgZXZlbnRzXG4gICAgLCBuYW1lO1xuXG4gIGlmICh0aGlzLl9ldmVudHNDb3VudCA9PT0gMCkgcmV0dXJuIG5hbWVzO1xuXG4gIGZvciAobmFtZSBpbiAoZXZlbnRzID0gdGhpcy5fZXZlbnRzKSkge1xuICAgIGlmIChoYXMuY2FsbChldmVudHMsIG5hbWUpKSBuYW1lcy5wdXNoKHByZWZpeCA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lKTtcbiAgfVxuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgcmV0dXJuIG5hbWVzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGV2ZW50cykpO1xuICB9XG5cbiAgcmV0dXJuIG5hbWVzO1xufTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGxpc3RlbmVycyByZWdpc3RlcmVkIGZvciBhIGdpdmVuIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7KFN0cmluZ3xTeW1ib2wpfSBldmVudCBUaGUgZXZlbnQgbmFtZS5cbiAqIEByZXR1cm5zIHtBcnJheX0gVGhlIHJlZ2lzdGVyZWQgbGlzdGVuZXJzLlxuICogQHB1YmxpY1xuICovXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIGxpc3RlbmVycyhldmVudCkge1xuICB2YXIgZXZ0ID0gcHJlZml4ID8gcHJlZml4ICsgZXZlbnQgOiBldmVudFxuICAgICwgaGFuZGxlcnMgPSB0aGlzLl9ldmVudHNbZXZ0XTtcblxuICBpZiAoIWhhbmRsZXJzKSByZXR1cm4gW107XG4gIGlmIChoYW5kbGVycy5mbikgcmV0dXJuIFtoYW5kbGVycy5mbl07XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBoYW5kbGVycy5sZW5ndGgsIGVlID0gbmV3IEFycmF5KGwpOyBpIDwgbDsgaSsrKSB7XG4gICAgZWVbaV0gPSBoYW5kbGVyc1tpXS5mbjtcbiAgfVxuXG4gIHJldHVybiBlZTtcbn07XG5cbi8qKlxuICogUmV0dXJuIHRoZSBudW1iZXIgb2YgbGlzdGVuZXJzIGxpc3RlbmluZyB0byBhIGdpdmVuIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7KFN0cmluZ3xTeW1ib2wpfSBldmVudCBUaGUgZXZlbnQgbmFtZS5cbiAqIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBudW1iZXIgb2YgbGlzdGVuZXJzLlxuICogQHB1YmxpY1xuICovXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiBsaXN0ZW5lckNvdW50KGV2ZW50KSB7XG4gIHZhciBldnQgPSBwcmVmaXggPyBwcmVmaXggKyBldmVudCA6IGV2ZW50XG4gICAgLCBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHNbZXZ0XTtcblxuICBpZiAoIWxpc3RlbmVycykgcmV0dXJuIDA7XG4gIGlmIChsaXN0ZW5lcnMuZm4pIHJldHVybiAxO1xuICByZXR1cm4gbGlzdGVuZXJzLmxlbmd0aDtcbn07XG5cbi8qKlxuICogQ2FsbHMgZWFjaCBvZiB0aGUgbGlzdGVuZXJzIHJlZ2lzdGVyZWQgZm9yIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogQHBhcmFtIHsoU3RyaW5nfFN5bWJvbCl9IGV2ZW50IFRoZSBldmVudCBuYW1lLlxuICogQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgZXZlbnQgaGFkIGxpc3RlbmVycywgZWxzZSBgZmFsc2VgLlxuICogQHB1YmxpY1xuICovXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmVtaXQgPSBmdW5jdGlvbiBlbWl0KGV2ZW50LCBhMSwgYTIsIGEzLCBhNCwgYTUpIHtcbiAgdmFyIGV2dCA9IHByZWZpeCA/IHByZWZpeCArIGV2ZW50IDogZXZlbnQ7XG5cbiAgaWYgKCF0aGlzLl9ldmVudHNbZXZ0XSkgcmV0dXJuIGZhbHNlO1xuXG4gIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHNbZXZ0XVxuICAgICwgbGVuID0gYXJndW1lbnRzLmxlbmd0aFxuICAgICwgYXJnc1xuICAgICwgaTtcblxuICBpZiAobGlzdGVuZXJzLmZuKSB7XG4gICAgaWYgKGxpc3RlbmVycy5vbmNlKSB0aGlzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcnMuZm4sIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cbiAgICBzd2l0Y2ggKGxlbikge1xuICAgICAgY2FzZSAxOiByZXR1cm4gbGlzdGVuZXJzLmZuLmNhbGwobGlzdGVuZXJzLmNvbnRleHQpLCB0cnVlO1xuICAgICAgY2FzZSAyOiByZXR1cm4gbGlzdGVuZXJzLmZuLmNhbGwobGlzdGVuZXJzLmNvbnRleHQsIGExKSwgdHJ1ZTtcbiAgICAgIGNhc2UgMzogcmV0dXJuIGxpc3RlbmVycy5mbi5jYWxsKGxpc3RlbmVycy5jb250ZXh0LCBhMSwgYTIpLCB0cnVlO1xuICAgICAgY2FzZSA0OiByZXR1cm4gbGlzdGVuZXJzLmZuLmNhbGwobGlzdGVuZXJzLmNvbnRleHQsIGExLCBhMiwgYTMpLCB0cnVlO1xuICAgICAgY2FzZSA1OiByZXR1cm4gbGlzdGVuZXJzLmZuLmNhbGwobGlzdGVuZXJzLmNvbnRleHQsIGExLCBhMiwgYTMsIGE0KSwgdHJ1ZTtcbiAgICAgIGNhc2UgNjogcmV0dXJuIGxpc3RlbmVycy5mbi5jYWxsKGxpc3RlbmVycy5jb250ZXh0LCBhMSwgYTIsIGEzLCBhNCwgYTUpLCB0cnVlO1xuICAgIH1cblxuICAgIGZvciAoaSA9IDEsIGFyZ3MgPSBuZXcgQXJyYXkobGVuIC0xKTsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICB9XG5cbiAgICBsaXN0ZW5lcnMuZm4uYXBwbHkobGlzdGVuZXJzLmNvbnRleHQsIGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBsZW5ndGggPSBsaXN0ZW5lcnMubGVuZ3RoXG4gICAgICAsIGo7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChsaXN0ZW5lcnNbaV0ub25jZSkgdGhpcy5yZW1vdmVMaXN0ZW5lcihldmVudCwgbGlzdGVuZXJzW2ldLmZuLCB1bmRlZmluZWQsIHRydWUpO1xuXG4gICAgICBzd2l0Y2ggKGxlbikge1xuICAgICAgICBjYXNlIDE6IGxpc3RlbmVyc1tpXS5mbi5jYWxsKGxpc3RlbmVyc1tpXS5jb250ZXh0KTsgYnJlYWs7XG4gICAgICAgIGNhc2UgMjogbGlzdGVuZXJzW2ldLmZuLmNhbGwobGlzdGVuZXJzW2ldLmNvbnRleHQsIGExKTsgYnJlYWs7XG4gICAgICAgIGNhc2UgMzogbGlzdGVuZXJzW2ldLmZuLmNhbGwobGlzdGVuZXJzW2ldLmNvbnRleHQsIGExLCBhMik7IGJyZWFrO1xuICAgICAgICBjYXNlIDQ6IGxpc3RlbmVyc1tpXS5mbi5jYWxsKGxpc3RlbmVyc1tpXS5jb250ZXh0LCBhMSwgYTIsIGEzKTsgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaWYgKCFhcmdzKSBmb3IgKGogPSAxLCBhcmdzID0gbmV3IEFycmF5KGxlbiAtMSk7IGogPCBsZW47IGorKykge1xuICAgICAgICAgICAgYXJnc1tqIC0gMV0gPSBhcmd1bWVudHNbal07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGlzdGVuZXJzW2ldLmZuLmFwcGx5KGxpc3RlbmVyc1tpXS5jb250ZXh0LCBhcmdzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogQWRkIGEgbGlzdGVuZXIgZm9yIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogQHBhcmFtIHsoU3RyaW5nfFN5bWJvbCl9IGV2ZW50IFRoZSBldmVudCBuYW1lLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGxpc3RlbmVyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsqfSBbY29udGV4dD10aGlzXSBUaGUgY29udGV4dCB0byBpbnZva2UgdGhlIGxpc3RlbmVyIHdpdGguXG4gKiBAcmV0dXJucyB7RXZlbnRFbWl0dGVyfSBgdGhpc2AuXG4gKiBAcHVibGljXG4gKi9cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBmdW5jdGlvbiBvbihldmVudCwgZm4sIGNvbnRleHQpIHtcbiAgcmV0dXJuIGFkZExpc3RlbmVyKHRoaXMsIGV2ZW50LCBmbiwgY29udGV4dCwgZmFsc2UpO1xufTtcblxuLyoqXG4gKiBBZGQgYSBvbmUtdGltZSBsaXN0ZW5lciBmb3IgYSBnaXZlbiBldmVudC5cbiAqXG4gKiBAcGFyYW0geyhTdHJpbmd8U3ltYm9sKX0gZXZlbnQgVGhlIGV2ZW50IG5hbWUuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgbGlzdGVuZXIgZnVuY3Rpb24uXG4gKiBAcGFyYW0geyp9IFtjb250ZXh0PXRoaXNdIFRoZSBjb250ZXh0IHRvIGludm9rZSB0aGUgbGlzdGVuZXIgd2l0aC5cbiAqIEByZXR1cm5zIHtFdmVudEVtaXR0ZXJ9IGB0aGlzYC5cbiAqIEBwdWJsaWNcbiAqL1xuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24gb25jZShldmVudCwgZm4sIGNvbnRleHQpIHtcbiAgcmV0dXJuIGFkZExpc3RlbmVyKHRoaXMsIGV2ZW50LCBmbiwgY29udGV4dCwgdHJ1ZSk7XG59O1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbGlzdGVuZXJzIG9mIGEgZ2l2ZW4gZXZlbnQuXG4gKlxuICogQHBhcmFtIHsoU3RyaW5nfFN5bWJvbCl9IGV2ZW50IFRoZSBldmVudCBuYW1lLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gT25seSByZW1vdmUgdGhlIGxpc3RlbmVycyB0aGF0IG1hdGNoIHRoaXMgZnVuY3Rpb24uXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgT25seSByZW1vdmUgdGhlIGxpc3RlbmVycyB0aGF0IGhhdmUgdGhpcyBjb250ZXh0LlxuICogQHBhcmFtIHtCb29sZWFufSBvbmNlIE9ubHkgcmVtb3ZlIG9uZS10aW1lIGxpc3RlbmVycy5cbiAqIEByZXR1cm5zIHtFdmVudEVtaXR0ZXJ9IGB0aGlzYC5cbiAqIEBwdWJsaWNcbiAqL1xuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9IGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKGV2ZW50LCBmbiwgY29udGV4dCwgb25jZSkge1xuICB2YXIgZXZ0ID0gcHJlZml4ID8gcHJlZml4ICsgZXZlbnQgOiBldmVudDtcblxuICBpZiAoIXRoaXMuX2V2ZW50c1tldnRdKSByZXR1cm4gdGhpcztcbiAgaWYgKCFmbikge1xuICAgIGNsZWFyRXZlbnQodGhpcywgZXZ0KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHNbZXZ0XTtcblxuICBpZiAobGlzdGVuZXJzLmZuKSB7XG4gICAgaWYgKFxuICAgICAgbGlzdGVuZXJzLmZuID09PSBmbiAmJlxuICAgICAgKCFvbmNlIHx8IGxpc3RlbmVycy5vbmNlKSAmJlxuICAgICAgKCFjb250ZXh0IHx8IGxpc3RlbmVycy5jb250ZXh0ID09PSBjb250ZXh0KVxuICAgICkge1xuICAgICAgY2xlYXJFdmVudCh0aGlzLCBldnQpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMCwgZXZlbnRzID0gW10sIGxlbmd0aCA9IGxpc3RlbmVycy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgaWYgKFxuICAgICAgICBsaXN0ZW5lcnNbaV0uZm4gIT09IGZuIHx8XG4gICAgICAgIChvbmNlICYmICFsaXN0ZW5lcnNbaV0ub25jZSkgfHxcbiAgICAgICAgKGNvbnRleHQgJiYgbGlzdGVuZXJzW2ldLmNvbnRleHQgIT09IGNvbnRleHQpXG4gICAgICApIHtcbiAgICAgICAgZXZlbnRzLnB1c2gobGlzdGVuZXJzW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFJlc2V0IHRoZSBhcnJheSwgb3IgcmVtb3ZlIGl0IGNvbXBsZXRlbHkgaWYgd2UgaGF2ZSBubyBtb3JlIGxpc3RlbmVycy5cbiAgICAvL1xuICAgIGlmIChldmVudHMubGVuZ3RoKSB0aGlzLl9ldmVudHNbZXZ0XSA9IGV2ZW50cy5sZW5ndGggPT09IDEgPyBldmVudHNbMF0gOiBldmVudHM7XG4gICAgZWxzZSBjbGVhckV2ZW50KHRoaXMsIGV2dCk7XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogUmVtb3ZlIGFsbCBsaXN0ZW5lcnMsIG9yIHRob3NlIG9mIHRoZSBzcGVjaWZpZWQgZXZlbnQuXG4gKlxuICogQHBhcmFtIHsoU3RyaW5nfFN5bWJvbCl9IFtldmVudF0gVGhlIGV2ZW50IG5hbWUuXG4gKiBAcmV0dXJucyB7RXZlbnRFbWl0dGVyfSBgdGhpc2AuXG4gKiBAcHVibGljXG4gKi9cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID0gZnVuY3Rpb24gcmVtb3ZlQWxsTGlzdGVuZXJzKGV2ZW50KSB7XG4gIHZhciBldnQ7XG5cbiAgaWYgKGV2ZW50KSB7XG4gICAgZXZ0ID0gcHJlZml4ID8gcHJlZml4ICsgZXZlbnQgOiBldmVudDtcbiAgICBpZiAodGhpcy5fZXZlbnRzW2V2dF0pIGNsZWFyRXZlbnQodGhpcywgZXZ0KTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLl9ldmVudHMgPSBuZXcgRXZlbnRzKCk7XG4gICAgdGhpcy5fZXZlbnRzQ291bnQgPSAwO1xuICB9XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vL1xuLy8gQWxpYXMgbWV0aG9kcyBuYW1lcyBiZWNhdXNlIHBlb3BsZSByb2xsIGxpa2UgdGhhdC5cbi8vXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLm9mZiA9IEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI7XG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyID0gRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbjtcblxuLy9cbi8vIEV4cG9zZSB0aGUgcHJlZml4LlxuLy9cbkV2ZW50RW1pdHRlci5wcmVmaXhlZCA9IHByZWZpeDtcblxuLy9cbi8vIEFsbG93IGBFdmVudEVtaXR0ZXJgIHRvIGJlIGltcG9ydGVkIGFzIG1vZHVsZSBuYW1lc3BhY2UuXG4vL1xuRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlciA9IEV2ZW50RW1pdHRlcjtcblxuLy9cbi8vIEV4cG9zZSB0aGUgbW9kdWxlLlxuLy9cbmlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIG1vZHVsZSkge1xuICBtb2R1bGUuZXhwb3J0cyA9IEV2ZW50RW1pdHRlcjtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/eventemitter3/index.js\n")); - -/***/ }), - -/***/ "./node_modules/events/events.js": -/*!***************************************!*\ - !*** ./node_modules/events/events.js ***! - \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("// 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\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjs7QUFFbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0Isc0JBQXNCO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLG9CQUFvQixTQUFTO0FBQzdCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUEsa0NBQWtDLFFBQVE7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSx1Q0FBdUMsUUFBUTtBQUMvQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0JBQWtCLE9BQU87QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUyx5QkFBeUI7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsOERBQThELFlBQVk7QUFDMUU7QUFDQSw4REFBOEQsWUFBWTtBQUMxRTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLFlBQVk7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzP2I5MTQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFIgPSB0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgPyBSZWZsZWN0IDogbnVsbFxudmFyIFJlZmxlY3RBcHBseSA9IFIgJiYgdHlwZW9mIFIuYXBwbHkgPT09ICdmdW5jdGlvbidcbiAgPyBSLmFwcGx5XG4gIDogZnVuY3Rpb24gUmVmbGVjdEFwcGx5KHRhcmdldCwgcmVjZWl2ZXIsIGFyZ3MpIHtcbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodGFyZ2V0LCByZWNlaXZlciwgYXJncyk7XG4gIH1cblxudmFyIFJlZmxlY3RPd25LZXlzXG5pZiAoUiAmJiB0eXBlb2YgUi5vd25LZXlzID09PSAnZnVuY3Rpb24nKSB7XG4gIFJlZmxlY3RPd25LZXlzID0gUi5vd25LZXlzXG59IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KVxuICAgICAgLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkpO1xuICB9O1xufSBlbHNlIHtcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKHdhcm5pbmcpIHtcbiAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS53YXJuKSBjb25zb2xlLndhcm4od2FybmluZyk7XG59XG5cbnZhciBOdW1iZXJJc05hTiA9IE51bWJlci5pc05hTiB8fCBmdW5jdGlvbiBOdW1iZXJJc05hTih2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBFdmVudEVtaXR0ZXIoKSB7XG4gIEV2ZW50RW1pdHRlci5pbml0LmNhbGwodGhpcyk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IEV2ZW50RW1pdHRlcjtcbm1vZHVsZS5leHBvcnRzLm9uY2UgPSBvbmNlO1xuXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjEwLnhcbkV2ZW50RW1pdHRlci5FdmVudEVtaXR0ZXIgPSBFdmVudEVtaXR0ZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50cyA9IHVuZGVmaW5lZDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50c0NvdW50ID0gMDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHVuZGVmaW5lZDtcblxuLy8gQnkgZGVmYXVsdCBFdmVudEVtaXR0ZXJzIHdpbGwgcHJpbnQgYSB3YXJuaW5nIGlmIG1vcmUgdGhhbiAxMCBsaXN0ZW5lcnMgYXJlXG4vLyBhZGRlZCB0byBpdC4gVGhpcyBpcyBhIHVzZWZ1bCBkZWZhdWx0IHdoaWNoIGhlbHBzIGZpbmRpbmcgbWVtb3J5IGxlYWtzLlxudmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnMgPSAxMDtcblxuZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcikge1xuICBpZiAodHlwZW9mIGxpc3RlbmVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBsaXN0ZW5lcik7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEV2ZW50RW1pdHRlciwgJ2RlZmF1bHRNYXhMaXN0ZW5lcnMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24oYXJnKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcgIT09ICdudW1iZXInIHx8IGFyZyA8IDAgfHwgTnVtYmVySXNOYU4oYXJnKSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnICsgYXJnICsgJy4nKTtcbiAgICB9XG4gICAgZGVmYXVsdE1heExpc3RlbmVycyA9IGFyZztcbiAgfVxufSk7XG5cbkV2ZW50RW1pdHRlci5pbml0ID0gZnVuY3Rpb24oKSB7XG5cbiAgaWYgKHRoaXMuX2V2ZW50cyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB0aGlzLl9ldmVudHMgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSB7XG4gICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB0aGlzLl9ldmVudHNDb3VudCA9IDA7XG4gIH1cblxuICB0aGlzLl9tYXhMaXN0ZW5lcnMgPSB0aGlzLl9tYXhMaXN0ZW5lcnMgfHwgdW5kZWZpbmVkO1xufTtcblxuLy8gT2J2aW91c2x5IG5vdCBhbGwgRW1pdHRlcnMgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gMTAuIFRoaXMgZnVuY3Rpb24gYWxsb3dzXG4vLyB0aGF0IHRvIGJlIGluY3JlYXNlZC4gU2V0IHRvIHplcm8gZm9yIHVubGltaXRlZC5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gc2V0TWF4TGlzdGVuZXJzKG4pIHtcbiAgaWYgKHR5cGVvZiBuICE9PSAnbnVtYmVyJyB8fCBuIDwgMCB8fCBOdW1iZXJJc05hTihuKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJyArIG4gKyAnLicpO1xuICB9XG4gIHRoaXMuX21heExpc3RlbmVycyA9IG47XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gX2dldE1heExpc3RlbmVycyh0aGF0KSB7XG4gIGlmICh0aGF0Ll9tYXhMaXN0ZW5lcnMgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gRXZlbnRFbWl0dGVyLmRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIHJldHVybiB0aGF0Ll9tYXhMaXN0ZW5lcnM7XG59XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gZ2V0TWF4TGlzdGVuZXJzKCkge1xuICByZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIGVtaXQodHlwZSkge1xuICB2YXIgYXJncyA9IFtdO1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgYXJncy5wdXNoKGFyZ3VtZW50c1tpXSk7XG4gIHZhciBkb0Vycm9yID0gKHR5cGUgPT09ICdlcnJvcicpO1xuXG4gIHZhciBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gIGlmIChldmVudHMgIT09IHVuZGVmaW5lZClcbiAgICBkb0Vycm9yID0gKGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQpO1xuICBlbHNlIGlmICghZG9FcnJvcilcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gSWYgdGhlcmUgaXMgbm8gJ2Vycm9yJyBldmVudCBsaXN0ZW5lciB0aGVuIHRocm93LlxuICBpZiAoZG9FcnJvcikge1xuICAgIHZhciBlcjtcbiAgICBpZiAoYXJncy5sZW5ndGggPiAwKVxuICAgICAgZXIgPSBhcmdzWzBdO1xuICAgIGlmIChlciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAvLyBOb3RlOiBUaGUgY29tbWVudHMgb24gdGhlIGB0aHJvd2AgbGluZXMgYXJlIGludGVudGlvbmFsLCB0aGV5IHNob3dcbiAgICAgIC8vIHVwIGluIE5vZGUncyBvdXRwdXQgaWYgdGhpcyByZXN1bHRzIGluIGFuIHVuaGFuZGxlZCBleGNlcHRpb24uXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkICdlcnJvcicgZXZlbnRcbiAgICB9XG4gICAgLy8gQXQgbGVhc3QgZ2l2ZSBzb21lIGtpbmQgb2YgY29udGV4dCB0byB0aGUgdXNlclxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1VuaGFuZGxlZCBlcnJvci4nICsgKGVyID8gJyAoJyArIGVyLm1lc3NhZ2UgKyAnKScgOiAnJykpO1xuICAgIGVyci5jb250ZXh0ID0gZXI7XG4gICAgdGhyb3cgZXJyOyAvLyBVbmhhbmRsZWQgJ2Vycm9yJyBldmVudFxuICB9XG5cbiAgdmFyIGhhbmRsZXIgPSBldmVudHNbdHlwZV07XG5cbiAgaWYgKGhhbmRsZXIgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgUmVmbGVjdEFwcGx5KGhhbmRsZXIsIHRoaXMsIGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBsZW4gPSBoYW5kbGVyLmxlbmd0aDtcbiAgICB2YXIgbGlzdGVuZXJzID0gYXJyYXlDbG9uZShoYW5kbGVyLCBsZW4pO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICBSZWZsZWN0QXBwbHkobGlzdGVuZXJzW2ldLCB0aGlzLCBhcmdzKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKHRhcmdldCwgdHlwZSwgbGlzdGVuZXIsIHByZXBlbmQpIHtcbiAgdmFyIG07XG4gIHZhciBldmVudHM7XG4gIHZhciBleGlzdGluZztcblxuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcbiAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHRhcmdldC5fZXZlbnRzQ291bnQgPSAwO1xuICB9IGVsc2Uge1xuICAgIC8vIFRvIGF2b2lkIHJlY3Vyc2lvbiBpbiB0aGUgY2FzZSB0aGF0IHR5cGUgPT09IFwibmV3TGlzdGVuZXJcIiEgQmVmb3JlXG4gICAgLy8gYWRkaW5nIGl0IHRvIHRoZSBsaXN0ZW5lcnMsIGZpcnN0IGVtaXQgXCJuZXdMaXN0ZW5lclwiLlxuICAgIGlmIChldmVudHMubmV3TGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFyZ2V0LmVtaXQoJ25ld0xpc3RlbmVyJywgdHlwZSxcbiAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyID8gbGlzdGVuZXIubGlzdGVuZXIgOiBsaXN0ZW5lcik7XG5cbiAgICAgIC8vIFJlLWFzc2lnbiBgZXZlbnRzYCBiZWNhdXNlIGEgbmV3TGlzdGVuZXIgaGFuZGxlciBjb3VsZCBoYXZlIGNhdXNlZCB0aGVcbiAgICAgIC8vIHRoaXMuX2V2ZW50cyB0byBiZSBhc3NpZ25lZCB0byBhIG5ldyBvYmplY3RcbiAgICAgIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzO1xuICAgIH1cbiAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXTtcbiAgfVxuXG4gIGlmIChleGlzdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gT3B0aW1pemUgdGhlIGNhc2Ugb2Ygb25lIGxpc3RlbmVyLiBEb24ndCBuZWVkIHRoZSBleHRyYSBhcnJheSBvYmplY3QuXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV0gPSBsaXN0ZW5lcjtcbiAgICArK3RhcmdldC5fZXZlbnRzQ291bnQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gQWRkaW5nIHRoZSBzZWNvbmQgZWxlbWVudCwgbmVlZCB0byBjaGFuZ2UgdG8gYXJyYXkuXG4gICAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXSA9XG4gICAgICAgIHByZXBlbmQgPyBbbGlzdGVuZXIsIGV4aXN0aW5nXSA6IFtleGlzdGluZywgbGlzdGVuZXJdO1xuICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBnb3QgYW4gYXJyYXksIGp1c3QgYXBwZW5kLlxuICAgIH0gZWxzZSBpZiAocHJlcGVuZCkge1xuICAgICAgZXhpc3RpbmcudW5zaGlmdChsaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4aXN0aW5nLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBsaXN0ZW5lciBsZWFrXG4gICAgbSA9IF9nZXRNYXhMaXN0ZW5lcnModGFyZ2V0KTtcbiAgICBpZiAobSA+IDAgJiYgZXhpc3RpbmcubGVuZ3RoID4gbSAmJiAhZXhpc3Rpbmcud2FybmVkKSB7XG4gICAgICBleGlzdGluZy53YXJuZWQgPSB0cnVlO1xuICAgICAgLy8gTm8gZXJyb3IgY29kZSBmb3IgdGhpcyBzaW5jZSBpdCBpcyBhIFdhcm5pbmdcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgdmFyIHcgPSBuZXcgRXJyb3IoJ1Bvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLmxlbmd0aCArICcgJyArIFN0cmluZyh0eXBlKSArICcgbGlzdGVuZXJzICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jcmVhc2UgbGltaXQnKTtcbiAgICAgIHcubmFtZSA9ICdNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmcnO1xuICAgICAgdy5lbWl0dGVyID0gdGFyZ2V0O1xuICAgICAgdy50eXBlID0gdHlwZTtcbiAgICAgIHcuY291bnQgPSBleGlzdGluZy5sZW5ndGg7XG4gICAgICBQcm9jZXNzRW1pdFdhcm5pbmcodyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IGZ1bmN0aW9uIGFkZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gIHJldHVybiBfYWRkTGlzdGVuZXIodGhpcywgdHlwZSwgbGlzdGVuZXIsIGZhbHNlKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyO1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gICAgICByZXR1cm4gX2FkZExpc3RlbmVyKHRoaXMsIHR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcbiAgICB9O1xuXG5mdW5jdGlvbiBvbmNlV3JhcHBlcigpIHtcbiAgaWYgKCF0aGlzLmZpcmVkKSB7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLCB0aGlzLndyYXBGbik7XG4gICAgdGhpcy5maXJlZCA9IHRydWU7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCwgYXJndW1lbnRzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfb25jZVdyYXAodGFyZ2V0LCB0eXBlLCBsaXN0ZW5lcikge1xuICB2YXIgc3RhdGUgPSB7IGZpcmVkOiBmYWxzZSwgd3JhcEZuOiB1bmRlZmluZWQsIHRhcmdldDogdGFyZ2V0LCB0eXBlOiB0eXBlLCBsaXN0ZW5lcjogbGlzdGVuZXIgfTtcbiAgdmFyIHdyYXBwZWQgPSBvbmNlV3JhcHBlci5iaW5kKHN0YXRlKTtcbiAgd3JhcHBlZC5saXN0ZW5lciA9IGxpc3RlbmVyO1xuICBzdGF0ZS53cmFwRm4gPSB3cmFwcGVkO1xuICByZXR1cm4gd3JhcHBlZDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24gb25jZSh0eXBlLCBsaXN0ZW5lcikge1xuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcbiAgdGhpcy5vbih0eXBlLCBfb25jZVdyYXAodGhpcywgdHlwZSwgbGlzdGVuZXIpKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXIgPVxuICAgIGZ1bmN0aW9uIHByZXBlbmRPbmNlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xuICAgICAgdGhpcy5wcmVwZW5kTGlzdGVuZXIodHlwZSwgX29uY2VXcmFwKHRoaXMsIHR5cGUsIGxpc3RlbmVyKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG4vLyBFbWl0cyBhICdyZW1vdmVMaXN0ZW5lcicgZXZlbnQgaWYgYW5kIG9ubHkgaWYgdGhlIGxpc3RlbmVyIHdhcyByZW1vdmVkLlxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIHZhciBsaXN0LCBldmVudHMsIHBvc2l0aW9uLCBpLCBvcmlnaW5hbExpc3RlbmVyO1xuXG4gICAgICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xuICAgICAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gdGhpcztcblxuICAgICAgbGlzdCA9IGV2ZW50c1t0eXBlXTtcbiAgICAgIGlmIChsaXN0ID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICBpZiAobGlzdCA9PT0gbGlzdGVuZXIgfHwgbGlzdC5saXN0ZW5lciA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXG4gICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIGV2ZW50c1t0eXBlXTtcbiAgICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyKVxuICAgICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIGxpc3QubGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBsaXN0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHBvc2l0aW9uID0gLTE7XG5cbiAgICAgICAgZm9yIChpID0gbGlzdC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIGlmIChsaXN0W2ldID09PSBsaXN0ZW5lciB8fCBsaXN0W2ldLmxpc3RlbmVyID09PSBsaXN0ZW5lcikge1xuICAgICAgICAgICAgb3JpZ2luYWxMaXN0ZW5lciA9IGxpc3RbaV0ubGlzdGVuZXI7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocG9zaXRpb24gPCAwKVxuICAgICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMClcbiAgICAgICAgICBsaXN0LnNoaWZ0KCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHNwbGljZU9uZShsaXN0LCBwb3NpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPT09IDEpXG4gICAgICAgICAgZXZlbnRzW3R5cGVdID0gbGlzdFswXTtcblxuICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIG9yaWdpbmFsTGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLm9mZiA9IEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cbiAgICBmdW5jdGlvbiByZW1vdmVBbGxMaXN0ZW5lcnModHlwZSkge1xuICAgICAgdmFyIGxpc3RlbmVycywgZXZlbnRzLCBpO1xuXG4gICAgICBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gICAgICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAvLyBub3QgbGlzdGVuaW5nIGZvciByZW1vdmVMaXN0ZW5lciwgbm8gbmVlZCB0byBlbWl0XG4gICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNbdHlwZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmICgtLXRoaXMuX2V2ZW50c0NvdW50ID09PSAwKVxuICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBkZWxldGUgZXZlbnRzW3R5cGVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICAvLyBlbWl0IHJlbW92ZUxpc3RlbmVyIGZvciBhbGwgbGlzdGVuZXJzIG9uIGFsbCBldmVudHNcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcbiAgICAgICAgdmFyIGtleTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgIGlmIChrZXkgPT09ICdyZW1vdmVMaXN0ZW5lcicpIGNvbnRpbnVlO1xuICAgICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ3JlbW92ZUxpc3RlbmVyJyk7XG4gICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIGxpc3RlbmVycyA9IGV2ZW50c1t0eXBlXTtcblxuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lcnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnMpO1xuICAgICAgfSBlbHNlIGlmIChsaXN0ZW5lcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBMSUZPIG9yZGVyXG4gICAgICAgIGZvciAoaSA9IGxpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXJzW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5mdW5jdGlvbiBfbGlzdGVuZXJzKHRhcmdldCwgdHlwZSwgdW53cmFwKSB7XG4gIHZhciBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgcmV0dXJuIFtdO1xuXG4gIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xuICBpZiAoZXZsaXN0ZW5lciA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybiBbXTtcblxuICBpZiAodHlwZW9mIGV2bGlzdGVuZXIgPT09ICdmdW5jdGlvbicpXG4gICAgcmV0dXJuIHVud3JhcCA/IFtldmxpc3RlbmVyLmxpc3RlbmVyIHx8IGV2bGlzdGVuZXJdIDogW2V2bGlzdGVuZXJdO1xuXG4gIHJldHVybiB1bndyYXAgP1xuICAgIHVud3JhcExpc3RlbmVycyhldmxpc3RlbmVyKSA6IGFycmF5Q2xvbmUoZXZsaXN0ZW5lciwgZXZsaXN0ZW5lci5sZW5ndGgpO1xufVxuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIGxpc3RlbmVycyh0eXBlKSB7XG4gIHJldHVybiBfbGlzdGVuZXJzKHRoaXMsIHR5cGUsIHRydWUpO1xufTtcblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnMgPSBmdW5jdGlvbiByYXdMaXN0ZW5lcnModHlwZSkge1xuICByZXR1cm4gX2xpc3RlbmVycyh0aGlzLCB0eXBlLCBmYWxzZSk7XG59O1xuXG5FdmVudEVtaXR0ZXIubGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUpIHtcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLmxpc3RlbmVyQ291bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsaXN0ZW5lckNvdW50LmNhbGwoZW1pdHRlciwgdHlwZSk7XG4gIH1cbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IGxpc3RlbmVyQ291bnQ7XG5mdW5jdGlvbiBsaXN0ZW5lckNvdW50KHR5cGUpIHtcbiAgdmFyIGV2ZW50cyA9IHRoaXMuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgZXZsaXN0ZW5lciA9IGV2ZW50c1t0eXBlXTtcblxuICAgIGlmICh0eXBlb2YgZXZsaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmIChldmxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBldmxpc3RlbmVyLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzID0gZnVuY3Rpb24gZXZlbnROYW1lcygpIHtcbiAgcmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50ID4gMCA/IFJlZmxlY3RPd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcbn07XG5cbmZ1bmN0aW9uIGFycmF5Q2xvbmUoYXJyLCBuKSB7XG4gIHZhciBjb3B5ID0gbmV3IEFycmF5KG4pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSlcbiAgICBjb3B5W2ldID0gYXJyW2ldO1xuICByZXR1cm4gY29weTtcbn1cblxuZnVuY3Rpb24gc3BsaWNlT25lKGxpc3QsIGluZGV4KSB7XG4gIGZvciAoOyBpbmRleCArIDEgPCBsaXN0Lmxlbmd0aDsgaW5kZXgrKylcbiAgICBsaXN0W2luZGV4XSA9IGxpc3RbaW5kZXggKyAxXTtcbiAgbGlzdC5wb3AoKTtcbn1cblxuZnVuY3Rpb24gdW53cmFwTGlzdGVuZXJzKGFycikge1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGFyci5sZW5ndGgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHJldC5sZW5ndGg7ICsraSkge1xuICAgIHJldFtpXSA9IGFycltpXS5saXN0ZW5lciB8fCBhcnJbaV07XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb25jZShlbWl0dGVyLCBuYW1lKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgZnVuY3Rpb24gZXJyb3JMaXN0ZW5lcihlcnIpIHtcbiAgICAgIGVtaXR0ZXIucmVtb3ZlTGlzdGVuZXIobmFtZSwgcmVzb2x2ZXIpO1xuICAgICAgcmVqZWN0KGVycik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVzb2x2ZXIoKSB7XG4gICAgICBpZiAodHlwZW9mIGVtaXR0ZXIucmVtb3ZlTGlzdGVuZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZW1pdHRlci5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBlcnJvckxpc3RlbmVyKTtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgICB9O1xuXG4gICAgZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGVtaXR0ZXIsIG5hbWUsIHJlc29sdmVyLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgaWYgKG5hbWUgIT09ICdlcnJvcicpIHtcbiAgICAgIGFkZEVycm9ySGFuZGxlcklmRXZlbnRFbWl0dGVyKGVtaXR0ZXIsIGVycm9yTGlzdGVuZXIsIHsgb25jZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlbWl0dGVyLCBoYW5kbGVyLCBmbGFncykge1xuICBpZiAodHlwZW9mIGVtaXR0ZXIub24gPT09ICdmdW5jdGlvbicpIHtcbiAgICBldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZW1pdHRlciwgJ2Vycm9yJywgaGFuZGxlciwgZmxhZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGV2ZW50VGFyZ2V0QWdub3N0aWNBZGRMaXN0ZW5lcihlbWl0dGVyLCBuYW1lLCBsaXN0ZW5lciwgZmxhZ3MpIHtcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLm9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKGZsYWdzLm9uY2UpIHtcbiAgICAgIGVtaXR0ZXIub25jZShuYW1lLCBsaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVtaXR0ZXIub24obmFtZSwgbGlzdGVuZXIpO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgZW1pdHRlci5hZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gRXZlbnRUYXJnZXQgZG9lcyBub3QgaGF2ZSBgZXJyb3JgIGV2ZW50IHNlbWFudGljcyBsaWtlIE5vZGVcbiAgICAvLyBFdmVudEVtaXR0ZXJzLCB3ZSBkbyBub3QgbGlzdGVuIGZvciBgZXJyb3JgIGV2ZW50cyBoZXJlLlxuICAgIGVtaXR0ZXIuYWRkRXZlbnRMaXN0ZW5lcihuYW1lLCBmdW5jdGlvbiB3cmFwTGlzdGVuZXIoYXJnKSB7XG4gICAgICAvLyBJRSBkb2VzIG5vdCBoYXZlIGJ1aWx0aW4gYHsgb25jZTogdHJ1ZSB9YCBzdXBwb3J0IHNvIHdlXG4gICAgICAvLyBoYXZlIHRvIGRvIGl0IG1hbnVhbGx5LlxuICAgICAgaWYgKGZsYWdzLm9uY2UpIHtcbiAgICAgICAgZW1pdHRlci5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIHdyYXBMaXN0ZW5lcik7XG4gICAgICB9XG4gICAgICBsaXN0ZW5lcihhcmcpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImVtaXR0ZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRXZlbnRFbWl0dGVyLiBSZWNlaXZlZCB0eXBlICcgKyB0eXBlb2YgZW1pdHRlcik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/events/events.js\n")); - -/***/ }), - -/***/ "./node_modules/filter-obj/index.js": -/*!******************************************!*\ - !*** ./node_modules/filter-obj/index.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZmlsdGVyLW9iai9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixpQkFBaUI7QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9maWx0ZXItb2JqL2luZGV4LmpzP2VmZTIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqLCBwcmVkaWNhdGUpIHtcblx0dmFyIHJldCA9IHt9O1xuXHR2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG5cdHZhciBpc0FyciA9IEFycmF5LmlzQXJyYXkocHJlZGljYXRlKTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIga2V5ID0ga2V5c1tpXTtcblx0XHR2YXIgdmFsID0gb2JqW2tleV07XG5cblx0XHRpZiAoaXNBcnIgPyBwcmVkaWNhdGUuaW5kZXhPZihrZXkpICE9PSAtMSA6IHByZWRpY2F0ZShrZXksIHZhbCwgb2JqKSkge1xuXHRcdFx0cmV0W2tleV0gPSB2YWw7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHJldDtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/filter-obj/index.js\n")); - -/***/ }), - -/***/ "./node_modules/get-nonce/dist/es2015/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/get-nonce/dist/es2015/index.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getNonce: function() { return /* binding */ getNonce; },\n/* harmony export */ setNonce: function() { return /* binding */ setNonce; }\n/* harmony export */ });\nvar currentNonce;\nvar setNonce = function (nonce) {\n currentNonce = nonce;\n};\nvar getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (true) {\n return __webpack_require__.nc;\n }\n return undefined;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZ2V0LW5vbmNlL2Rpc3QvZXMyMDE1L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBd0M7QUFDaEQsZUFBZSxzQkFBaUI7QUFDaEM7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9nZXQtbm9uY2UvZGlzdC9lczIwMTUvaW5kZXguanM/OGM1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY3VycmVudE5vbmNlO1xuZXhwb3J0IHZhciBzZXROb25jZSA9IGZ1bmN0aW9uIChub25jZSkge1xuICAgIGN1cnJlbnROb25jZSA9IG5vbmNlO1xufTtcbmV4cG9ydCB2YXIgZ2V0Tm9uY2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGN1cnJlbnROb25jZSkge1xuICAgICAgICByZXR1cm4gY3VycmVudE5vbmNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gX193ZWJwYWNrX25vbmNlX187XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/get-nonce/dist/es2015/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/polyfills/process.js": -/*!***********************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/process.js ***! - \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = __webpack_require__.g.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = __webpack_require__.g.process) == null ? void 0 : _global_process1.env) === \"object\" ? __webpack_require__.g.process : __webpack_require__(/*! ../../compiled/process */ \"./node_modules/next/dist/compiled/process/browser.js\");\n\n//# sourceMappingURL=process.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9wcm9jZXNzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSxxQ0FBcUMscUJBQU0saUZBQWlGLHFCQUFNLGtFQUFrRSxxQkFBTSxXQUFXLG1CQUFPLENBQUMsb0ZBQXdCOztBQUVyUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9wcm9jZXNzLmpzP2NhNjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX2dsb2JhbF9wcm9jZXNzLCBfZ2xvYmFsX3Byb2Nlc3MxO1xubW9kdWxlLmV4cG9ydHMgPSAoKF9nbG9iYWxfcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzKSA9PSBudWxsID8gdm9pZCAwIDogX2dsb2JhbF9wcm9jZXNzLmVudikgJiYgdHlwZW9mICgoX2dsb2JhbF9wcm9jZXNzMSA9IGdsb2JhbC5wcm9jZXNzKSA9PSBudWxsID8gdm9pZCAwIDogX2dsb2JhbF9wcm9jZXNzMS5lbnYpID09PSBcIm9iamVjdFwiID8gZ2xvYmFsLnByb2Nlc3MgOiByZXF1aXJlKFwiLi4vLi4vY29tcGlsZWQvcHJvY2Vzc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvY2Vzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/polyfills/process.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \******************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* vanilla-extract-css-ns:src/css/reset.css.ts.vanilla.css?source=Lmlla2JjYzAgewogIGJvcmRlcjogMDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGZvbnQtc2l6ZTogMTAwJTsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlla2JjYzEgewogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLmlla2JjYzIgewogIHF1b3Rlczogbm9uZTsKfQouaWVrYmNjMjpiZWZvcmUsIC5pZWtiY2MyOmFmdGVyIHsKICBjb250ZW50OiAnJzsKfQouaWVrYmNjMyB7CiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICBib3JkZXItc3BhY2luZzogMDsKfQouaWVrYmNjNCB7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQouaWVrYmNjNSB7CiAgb3V0bGluZTogbm9uZTsKfQouaWVrYmNjNTo6cGxhY2Vob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmlla2JjYzYgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiBpbmhlcml0Owp9Ci5pZWtiY2M3OmRpc2FibGVkIHsKICBvcGFjaXR5OiAxOwp9Ci5pZWtiY2M3OjotbXMtZXhwYW5kIHsKICBkaXNwbGF5OiBub25lOwp9Ci5pZWtiY2M4OjotbXMtY2xlYXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmlla2JjYzg6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKfQouaWVrYmNjOSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouaWVrYmNjYSB7CiAgY29sb3I6IGluaGVyaXQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9 */\\n[data-rk] .iekbcc0 {\\n border: 0;\\n box-sizing: border-box;\\n font-size: 100%;\\n line-height: normal;\\n margin: 0;\\n padding: 0;\\n text-align: left;\\n vertical-align: baseline;\\n -webkit-tap-highlight-color: transparent;\\n}\\n[data-rk] .iekbcc1 {\\n list-style: none;\\n}\\n[data-rk] .iekbcc2 {\\n quotes: none;\\n}\\n[data-rk] .iekbcc2:before,\\n[data-rk] .iekbcc2:after {\\n content: \\\"\\\";\\n}\\n[data-rk] .iekbcc3 {\\n border-collapse: collapse;\\n border-spacing: 0;\\n}\\n[data-rk] .iekbcc4 {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n[data-rk] .iekbcc5 {\\n outline: none;\\n}\\n[data-rk] .iekbcc5::-moz-placeholder {\\n opacity: 1;\\n}\\n[data-rk] .iekbcc5::placeholder {\\n opacity: 1;\\n}\\n[data-rk] .iekbcc6 {\\n background-color: transparent;\\n color: inherit;\\n}\\n[data-rk] .iekbcc7:disabled {\\n opacity: 1;\\n}\\n[data-rk] .iekbcc7::-ms-expand {\\n display: none;\\n}\\n[data-rk] .iekbcc8::-ms-clear {\\n display: none;\\n}\\n[data-rk] .iekbcc8::-webkit-search-cancel-button {\\n -webkit-appearance: none;\\n}\\n[data-rk] .iekbcc9 {\\n background: none;\\n cursor: pointer;\\n text-align: left;\\n}\\n[data-rk] .iekbcca {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n/* vanilla-extract-css-ns:src/css/sprinkles.css.ts.vanilla.css?source=#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 */\\n[data-rk] .ju367v0 {\\n align-items: flex-start;\\n}\\n[data-rk] .ju367v2 {\\n align-items: flex-end;\\n}\\n[data-rk] .ju367v4 {\\n align-items: center;\\n}\\n[data-rk] .ju367v6 {\\n display: none;\\n}\\n[data-rk] .ju367v8 {\\n display: block;\\n}\\n[data-rk] .ju367va {\\n display: flex;\\n}\\n[data-rk] .ju367vc {\\n display: inline;\\n}\\n[data-rk] .ju367ve {\\n align-self: flex-start;\\n}\\n[data-rk] .ju367vf {\\n align-self: flex-end;\\n}\\n[data-rk] .ju367vg {\\n align-self: center;\\n}\\n[data-rk] .ju367vh {\\n background-size: cover;\\n}\\n[data-rk] .ju367vi {\\n border-radius: 1px;\\n}\\n[data-rk] .ju367vj {\\n border-radius: 6px;\\n}\\n[data-rk] .ju367vk {\\n border-radius: 10px;\\n}\\n[data-rk] .ju367vl {\\n border-radius: 13px;\\n}\\n[data-rk] .ju367vm {\\n border-radius: var(--rk-radii-actionButton);\\n}\\n[data-rk] .ju367vn {\\n border-radius: var(--rk-radii-connectButton);\\n}\\n[data-rk] .ju367vo {\\n border-radius: var(--rk-radii-menuButton);\\n}\\n[data-rk] .ju367vp {\\n border-radius: var(--rk-radii-modal);\\n}\\n[data-rk] .ju367vq {\\n border-radius: var(--rk-radii-modalMobile);\\n}\\n[data-rk] .ju367vr {\\n border-radius: 25%;\\n}\\n[data-rk] .ju367vs {\\n border-radius: 9999px;\\n}\\n[data-rk] .ju367vt {\\n border-style: solid;\\n}\\n[data-rk] .ju367vu {\\n border-width: 0px;\\n}\\n[data-rk] .ju367vv {\\n border-width: 1px;\\n}\\n[data-rk] .ju367vw {\\n border-width: 2px;\\n}\\n[data-rk] .ju367vx {\\n border-width: 4px;\\n}\\n[data-rk] .ju367vy {\\n cursor: pointer;\\n}\\n[data-rk] .ju367vz {\\n flex-direction: row;\\n}\\n[data-rk] .ju367v10 {\\n flex-direction: column;\\n}\\n[data-rk] .ju367v11 {\\n font-family: var(--rk-fonts-body);\\n}\\n[data-rk] .ju367v12 {\\n font-size: 12px;\\n line-height: 18px;\\n}\\n[data-rk] .ju367v13 {\\n font-size: 13px;\\n line-height: 18px;\\n}\\n[data-rk] .ju367v14 {\\n font-size: 14px;\\n line-height: 18px;\\n}\\n[data-rk] .ju367v15 {\\n font-size: 16px;\\n line-height: 20px;\\n}\\n[data-rk] .ju367v16 {\\n font-size: 18px;\\n line-height: 24px;\\n}\\n[data-rk] .ju367v17 {\\n font-size: 20px;\\n line-height: 24px;\\n}\\n[data-rk] .ju367v18 {\\n font-size: 23px;\\n line-height: 29px;\\n}\\n[data-rk] .ju367v19 {\\n font-weight: 400;\\n}\\n[data-rk] .ju367v1a {\\n font-weight: 500;\\n}\\n[data-rk] .ju367v1b {\\n font-weight: 600;\\n}\\n[data-rk] .ju367v1c {\\n font-weight: 700;\\n}\\n[data-rk] .ju367v1d {\\n font-weight: 800;\\n}\\n[data-rk] .ju367v1e {\\n gap: 0;\\n}\\n[data-rk] .ju367v1f {\\n gap: 1px;\\n}\\n[data-rk] .ju367v1g {\\n gap: 2px;\\n}\\n[data-rk] .ju367v1h {\\n gap: 3px;\\n}\\n[data-rk] .ju367v1i {\\n gap: 4px;\\n}\\n[data-rk] .ju367v1j {\\n gap: 5px;\\n}\\n[data-rk] .ju367v1k {\\n gap: 6px;\\n}\\n[data-rk] .ju367v1l {\\n gap: 8px;\\n}\\n[data-rk] .ju367v1m {\\n gap: 10px;\\n}\\n[data-rk] .ju367v1n {\\n gap: 12px;\\n}\\n[data-rk] .ju367v1o {\\n gap: 14px;\\n}\\n[data-rk] .ju367v1p {\\n gap: 16px;\\n}\\n[data-rk] .ju367v1q {\\n gap: 18px;\\n}\\n[data-rk] .ju367v1r {\\n gap: 20px;\\n}\\n[data-rk] .ju367v1s {\\n gap: 24px;\\n}\\n[data-rk] .ju367v1t {\\n gap: 28px;\\n}\\n[data-rk] .ju367v1u {\\n gap: 32px;\\n}\\n[data-rk] .ju367v1v {\\n gap: 36px;\\n}\\n[data-rk] .ju367v1w {\\n gap: 44px;\\n}\\n[data-rk] .ju367v1x {\\n gap: 64px;\\n}\\n[data-rk] .ju367v1y {\\n gap: -1px;\\n}\\n[data-rk] .ju367v1z {\\n height: 1px;\\n}\\n[data-rk] .ju367v20 {\\n height: 2px;\\n}\\n[data-rk] .ju367v21 {\\n height: 4px;\\n}\\n[data-rk] .ju367v22 {\\n height: 8px;\\n}\\n[data-rk] .ju367v23 {\\n height: 12px;\\n}\\n[data-rk] .ju367v24 {\\n height: 20px;\\n}\\n[data-rk] .ju367v25 {\\n height: 24px;\\n}\\n[data-rk] .ju367v26 {\\n height: 28px;\\n}\\n[data-rk] .ju367v27 {\\n height: 30px;\\n}\\n[data-rk] .ju367v28 {\\n height: 32px;\\n}\\n[data-rk] .ju367v29 {\\n height: 34px;\\n}\\n[data-rk] .ju367v2a {\\n height: 36px;\\n}\\n[data-rk] .ju367v2b {\\n height: 40px;\\n}\\n[data-rk] .ju367v2c {\\n height: 44px;\\n}\\n[data-rk] .ju367v2d {\\n height: 48px;\\n}\\n[data-rk] .ju367v2e {\\n height: 54px;\\n}\\n[data-rk] .ju367v2f {\\n height: 60px;\\n}\\n[data-rk] .ju367v2g {\\n height: 200px;\\n}\\n[data-rk] .ju367v2h {\\n height: 100%;\\n}\\n[data-rk] .ju367v2i {\\n height: -moz-max-content;\\n height: max-content;\\n}\\n[data-rk] .ju367v2j {\\n justify-content: flex-start;\\n}\\n[data-rk] .ju367v2k {\\n justify-content: flex-end;\\n}\\n[data-rk] .ju367v2l {\\n justify-content: center;\\n}\\n[data-rk] .ju367v2m {\\n justify-content: space-between;\\n}\\n[data-rk] .ju367v2n {\\n justify-content: space-around;\\n}\\n[data-rk] .ju367v2o {\\n text-align: left;\\n}\\n[data-rk] .ju367v2p {\\n text-align: center;\\n}\\n[data-rk] .ju367v2q {\\n text-align: inherit;\\n}\\n[data-rk] .ju367v2r {\\n margin-bottom: 0;\\n}\\n[data-rk] .ju367v2s {\\n margin-bottom: 1px;\\n}\\n[data-rk] .ju367v2t {\\n margin-bottom: 2px;\\n}\\n[data-rk] .ju367v2u {\\n margin-bottom: 3px;\\n}\\n[data-rk] .ju367v2v {\\n margin-bottom: 4px;\\n}\\n[data-rk] .ju367v2w {\\n margin-bottom: 5px;\\n}\\n[data-rk] .ju367v2x {\\n margin-bottom: 6px;\\n}\\n[data-rk] .ju367v2y {\\n margin-bottom: 8px;\\n}\\n[data-rk] .ju367v2z {\\n margin-bottom: 10px;\\n}\\n[data-rk] .ju367v30 {\\n margin-bottom: 12px;\\n}\\n[data-rk] .ju367v31 {\\n margin-bottom: 14px;\\n}\\n[data-rk] .ju367v32 {\\n margin-bottom: 16px;\\n}\\n[data-rk] .ju367v33 {\\n margin-bottom: 18px;\\n}\\n[data-rk] .ju367v34 {\\n margin-bottom: 20px;\\n}\\n[data-rk] .ju367v35 {\\n margin-bottom: 24px;\\n}\\n[data-rk] .ju367v36 {\\n margin-bottom: 28px;\\n}\\n[data-rk] .ju367v37 {\\n margin-bottom: 32px;\\n}\\n[data-rk] .ju367v38 {\\n margin-bottom: 36px;\\n}\\n[data-rk] .ju367v39 {\\n margin-bottom: 44px;\\n}\\n[data-rk] .ju367v3a {\\n margin-bottom: 64px;\\n}\\n[data-rk] .ju367v3b {\\n margin-bottom: -1px;\\n}\\n[data-rk] .ju367v3c {\\n margin-left: 0;\\n}\\n[data-rk] .ju367v3d {\\n margin-left: 1px;\\n}\\n[data-rk] .ju367v3e {\\n margin-left: 2px;\\n}\\n[data-rk] .ju367v3f {\\n margin-left: 3px;\\n}\\n[data-rk] .ju367v3g {\\n margin-left: 4px;\\n}\\n[data-rk] .ju367v3h {\\n margin-left: 5px;\\n}\\n[data-rk] .ju367v3i {\\n margin-left: 6px;\\n}\\n[data-rk] .ju367v3j {\\n margin-left: 8px;\\n}\\n[data-rk] .ju367v3k {\\n margin-left: 10px;\\n}\\n[data-rk] .ju367v3l {\\n margin-left: 12px;\\n}\\n[data-rk] .ju367v3m {\\n margin-left: 14px;\\n}\\n[data-rk] .ju367v3n {\\n margin-left: 16px;\\n}\\n[data-rk] .ju367v3o {\\n margin-left: 18px;\\n}\\n[data-rk] .ju367v3p {\\n margin-left: 20px;\\n}\\n[data-rk] .ju367v3q {\\n margin-left: 24px;\\n}\\n[data-rk] .ju367v3r {\\n margin-left: 28px;\\n}\\n[data-rk] .ju367v3s {\\n margin-left: 32px;\\n}\\n[data-rk] .ju367v3t {\\n margin-left: 36px;\\n}\\n[data-rk] .ju367v3u {\\n margin-left: 44px;\\n}\\n[data-rk] .ju367v3v {\\n margin-left: 64px;\\n}\\n[data-rk] .ju367v3w {\\n margin-left: -1px;\\n}\\n[data-rk] .ju367v3x {\\n margin-right: 0;\\n}\\n[data-rk] .ju367v3y {\\n margin-right: 1px;\\n}\\n[data-rk] .ju367v3z {\\n margin-right: 2px;\\n}\\n[data-rk] .ju367v40 {\\n margin-right: 3px;\\n}\\n[data-rk] .ju367v41 {\\n margin-right: 4px;\\n}\\n[data-rk] .ju367v42 {\\n margin-right: 5px;\\n}\\n[data-rk] .ju367v43 {\\n margin-right: 6px;\\n}\\n[data-rk] .ju367v44 {\\n margin-right: 8px;\\n}\\n[data-rk] .ju367v45 {\\n margin-right: 10px;\\n}\\n[data-rk] .ju367v46 {\\n margin-right: 12px;\\n}\\n[data-rk] .ju367v47 {\\n margin-right: 14px;\\n}\\n[data-rk] .ju367v48 {\\n margin-right: 16px;\\n}\\n[data-rk] .ju367v49 {\\n margin-right: 18px;\\n}\\n[data-rk] .ju367v4a {\\n margin-right: 20px;\\n}\\n[data-rk] .ju367v4b {\\n margin-right: 24px;\\n}\\n[data-rk] .ju367v4c {\\n margin-right: 28px;\\n}\\n[data-rk] .ju367v4d {\\n margin-right: 32px;\\n}\\n[data-rk] .ju367v4e {\\n margin-right: 36px;\\n}\\n[data-rk] .ju367v4f {\\n margin-right: 44px;\\n}\\n[data-rk] .ju367v4g {\\n margin-right: 64px;\\n}\\n[data-rk] .ju367v4h {\\n margin-right: -1px;\\n}\\n[data-rk] .ju367v4i {\\n margin-top: 0;\\n}\\n[data-rk] .ju367v4j {\\n margin-top: 1px;\\n}\\n[data-rk] .ju367v4k {\\n margin-top: 2px;\\n}\\n[data-rk] .ju367v4l {\\n margin-top: 3px;\\n}\\n[data-rk] .ju367v4m {\\n margin-top: 4px;\\n}\\n[data-rk] .ju367v4n {\\n margin-top: 5px;\\n}\\n[data-rk] .ju367v4o {\\n margin-top: 6px;\\n}\\n[data-rk] .ju367v4p {\\n margin-top: 8px;\\n}\\n[data-rk] .ju367v4q {\\n margin-top: 10px;\\n}\\n[data-rk] .ju367v4r {\\n margin-top: 12px;\\n}\\n[data-rk] .ju367v4s {\\n margin-top: 14px;\\n}\\n[data-rk] .ju367v4t {\\n margin-top: 16px;\\n}\\n[data-rk] .ju367v4u {\\n margin-top: 18px;\\n}\\n[data-rk] .ju367v4v {\\n margin-top: 20px;\\n}\\n[data-rk] .ju367v4w {\\n margin-top: 24px;\\n}\\n[data-rk] .ju367v4x {\\n margin-top: 28px;\\n}\\n[data-rk] .ju367v4y {\\n margin-top: 32px;\\n}\\n[data-rk] .ju367v4z {\\n margin-top: 36px;\\n}\\n[data-rk] .ju367v50 {\\n margin-top: 44px;\\n}\\n[data-rk] .ju367v51 {\\n margin-top: 64px;\\n}\\n[data-rk] .ju367v52 {\\n margin-top: -1px;\\n}\\n[data-rk] .ju367v53 {\\n max-width: 1px;\\n}\\n[data-rk] .ju367v54 {\\n max-width: 2px;\\n}\\n[data-rk] .ju367v55 {\\n max-width: 4px;\\n}\\n[data-rk] .ju367v56 {\\n max-width: 8px;\\n}\\n[data-rk] .ju367v57 {\\n max-width: 12px;\\n}\\n[data-rk] .ju367v58 {\\n max-width: 20px;\\n}\\n[data-rk] .ju367v59 {\\n max-width: 24px;\\n}\\n[data-rk] .ju367v5a {\\n max-width: 28px;\\n}\\n[data-rk] .ju367v5b {\\n max-width: 30px;\\n}\\n[data-rk] .ju367v5c {\\n max-width: 32px;\\n}\\n[data-rk] .ju367v5d {\\n max-width: 34px;\\n}\\n[data-rk] .ju367v5e {\\n max-width: 36px;\\n}\\n[data-rk] .ju367v5f {\\n max-width: 40px;\\n}\\n[data-rk] .ju367v5g {\\n max-width: 44px;\\n}\\n[data-rk] .ju367v5h {\\n max-width: 48px;\\n}\\n[data-rk] .ju367v5i {\\n max-width: 54px;\\n}\\n[data-rk] .ju367v5j {\\n max-width: 60px;\\n}\\n[data-rk] .ju367v5k {\\n max-width: 200px;\\n}\\n[data-rk] .ju367v5l {\\n max-width: 100%;\\n}\\n[data-rk] .ju367v5m {\\n max-width: -moz-max-content;\\n max-width: max-content;\\n}\\n[data-rk] .ju367v5n {\\n min-width: 1px;\\n}\\n[data-rk] .ju367v5o {\\n min-width: 2px;\\n}\\n[data-rk] .ju367v5p {\\n min-width: 4px;\\n}\\n[data-rk] .ju367v5q {\\n min-width: 8px;\\n}\\n[data-rk] .ju367v5r {\\n min-width: 12px;\\n}\\n[data-rk] .ju367v5s {\\n min-width: 20px;\\n}\\n[data-rk] .ju367v5t {\\n min-width: 24px;\\n}\\n[data-rk] .ju367v5u {\\n min-width: 28px;\\n}\\n[data-rk] .ju367v5v {\\n min-width: 30px;\\n}\\n[data-rk] .ju367v5w {\\n min-width: 32px;\\n}\\n[data-rk] .ju367v5x {\\n min-width: 34px;\\n}\\n[data-rk] .ju367v5y {\\n min-width: 36px;\\n}\\n[data-rk] .ju367v5z {\\n min-width: 40px;\\n}\\n[data-rk] .ju367v60 {\\n min-width: 44px;\\n}\\n[data-rk] .ju367v61 {\\n min-width: 48px;\\n}\\n[data-rk] .ju367v62 {\\n min-width: 54px;\\n}\\n[data-rk] .ju367v63 {\\n min-width: 60px;\\n}\\n[data-rk] .ju367v64 {\\n min-width: 200px;\\n}\\n[data-rk] .ju367v65 {\\n min-width: 100%;\\n}\\n[data-rk] .ju367v66 {\\n min-width: -moz-max-content;\\n min-width: max-content;\\n}\\n[data-rk] .ju367v67 {\\n overflow: hidden;\\n}\\n[data-rk] .ju367v68 {\\n padding-bottom: 0;\\n}\\n[data-rk] .ju367v69 {\\n padding-bottom: 1px;\\n}\\n[data-rk] .ju367v6a {\\n padding-bottom: 2px;\\n}\\n[data-rk] .ju367v6b {\\n padding-bottom: 3px;\\n}\\n[data-rk] .ju367v6c {\\n padding-bottom: 4px;\\n}\\n[data-rk] .ju367v6d {\\n padding-bottom: 5px;\\n}\\n[data-rk] .ju367v6e {\\n padding-bottom: 6px;\\n}\\n[data-rk] .ju367v6f {\\n padding-bottom: 8px;\\n}\\n[data-rk] .ju367v6g {\\n padding-bottom: 10px;\\n}\\n[data-rk] .ju367v6h {\\n padding-bottom: 12px;\\n}\\n[data-rk] .ju367v6i {\\n padding-bottom: 14px;\\n}\\n[data-rk] .ju367v6j {\\n padding-bottom: 16px;\\n}\\n[data-rk] .ju367v6k {\\n padding-bottom: 18px;\\n}\\n[data-rk] .ju367v6l {\\n padding-bottom: 20px;\\n}\\n[data-rk] .ju367v6m {\\n padding-bottom: 24px;\\n}\\n[data-rk] .ju367v6n {\\n padding-bottom: 28px;\\n}\\n[data-rk] .ju367v6o {\\n padding-bottom: 32px;\\n}\\n[data-rk] .ju367v6p {\\n padding-bottom: 36px;\\n}\\n[data-rk] .ju367v6q {\\n padding-bottom: 44px;\\n}\\n[data-rk] .ju367v6r {\\n padding-bottom: 64px;\\n}\\n[data-rk] .ju367v6s {\\n padding-bottom: -1px;\\n}\\n[data-rk] .ju367v6t {\\n padding-left: 0;\\n}\\n[data-rk] .ju367v6u {\\n padding-left: 1px;\\n}\\n[data-rk] .ju367v6v {\\n padding-left: 2px;\\n}\\n[data-rk] .ju367v6w {\\n padding-left: 3px;\\n}\\n[data-rk] .ju367v6x {\\n padding-left: 4px;\\n}\\n[data-rk] .ju367v6y {\\n padding-left: 5px;\\n}\\n[data-rk] .ju367v6z {\\n padding-left: 6px;\\n}\\n[data-rk] .ju367v70 {\\n padding-left: 8px;\\n}\\n[data-rk] .ju367v71 {\\n padding-left: 10px;\\n}\\n[data-rk] .ju367v72 {\\n padding-left: 12px;\\n}\\n[data-rk] .ju367v73 {\\n padding-left: 14px;\\n}\\n[data-rk] .ju367v74 {\\n padding-left: 16px;\\n}\\n[data-rk] .ju367v75 {\\n padding-left: 18px;\\n}\\n[data-rk] .ju367v76 {\\n padding-left: 20px;\\n}\\n[data-rk] .ju367v77 {\\n padding-left: 24px;\\n}\\n[data-rk] .ju367v78 {\\n padding-left: 28px;\\n}\\n[data-rk] .ju367v79 {\\n padding-left: 32px;\\n}\\n[data-rk] .ju367v7a {\\n padding-left: 36px;\\n}\\n[data-rk] .ju367v7b {\\n padding-left: 44px;\\n}\\n[data-rk] .ju367v7c {\\n padding-left: 64px;\\n}\\n[data-rk] .ju367v7d {\\n padding-left: -1px;\\n}\\n[data-rk] .ju367v7e {\\n padding-right: 0;\\n}\\n[data-rk] .ju367v7f {\\n padding-right: 1px;\\n}\\n[data-rk] .ju367v7g {\\n padding-right: 2px;\\n}\\n[data-rk] .ju367v7h {\\n padding-right: 3px;\\n}\\n[data-rk] .ju367v7i {\\n padding-right: 4px;\\n}\\n[data-rk] .ju367v7j {\\n padding-right: 5px;\\n}\\n[data-rk] .ju367v7k {\\n padding-right: 6px;\\n}\\n[data-rk] .ju367v7l {\\n padding-right: 8px;\\n}\\n[data-rk] .ju367v7m {\\n padding-right: 10px;\\n}\\n[data-rk] .ju367v7n {\\n padding-right: 12px;\\n}\\n[data-rk] .ju367v7o {\\n padding-right: 14px;\\n}\\n[data-rk] .ju367v7p {\\n padding-right: 16px;\\n}\\n[data-rk] .ju367v7q {\\n padding-right: 18px;\\n}\\n[data-rk] .ju367v7r {\\n padding-right: 20px;\\n}\\n[data-rk] .ju367v7s {\\n padding-right: 24px;\\n}\\n[data-rk] .ju367v7t {\\n padding-right: 28px;\\n}\\n[data-rk] .ju367v7u {\\n padding-right: 32px;\\n}\\n[data-rk] .ju367v7v {\\n padding-right: 36px;\\n}\\n[data-rk] .ju367v7w {\\n padding-right: 44px;\\n}\\n[data-rk] .ju367v7x {\\n padding-right: 64px;\\n}\\n[data-rk] .ju367v7y {\\n padding-right: -1px;\\n}\\n[data-rk] .ju367v7z {\\n padding-top: 0;\\n}\\n[data-rk] .ju367v80 {\\n padding-top: 1px;\\n}\\n[data-rk] .ju367v81 {\\n padding-top: 2px;\\n}\\n[data-rk] .ju367v82 {\\n padding-top: 3px;\\n}\\n[data-rk] .ju367v83 {\\n padding-top: 4px;\\n}\\n[data-rk] .ju367v84 {\\n padding-top: 5px;\\n}\\n[data-rk] .ju367v85 {\\n padding-top: 6px;\\n}\\n[data-rk] .ju367v86 {\\n padding-top: 8px;\\n}\\n[data-rk] .ju367v87 {\\n padding-top: 10px;\\n}\\n[data-rk] .ju367v88 {\\n padding-top: 12px;\\n}\\n[data-rk] .ju367v89 {\\n padding-top: 14px;\\n}\\n[data-rk] .ju367v8a {\\n padding-top: 16px;\\n}\\n[data-rk] .ju367v8b {\\n padding-top: 18px;\\n}\\n[data-rk] .ju367v8c {\\n padding-top: 20px;\\n}\\n[data-rk] .ju367v8d {\\n padding-top: 24px;\\n}\\n[data-rk] .ju367v8e {\\n padding-top: 28px;\\n}\\n[data-rk] .ju367v8f {\\n padding-top: 32px;\\n}\\n[data-rk] .ju367v8g {\\n padding-top: 36px;\\n}\\n[data-rk] .ju367v8h {\\n padding-top: 44px;\\n}\\n[data-rk] .ju367v8i {\\n padding-top: 64px;\\n}\\n[data-rk] .ju367v8j {\\n padding-top: -1px;\\n}\\n[data-rk] .ju367v8k {\\n position: absolute;\\n}\\n[data-rk] .ju367v8l {\\n position: fixed;\\n}\\n[data-rk] .ju367v8m {\\n position: relative;\\n}\\n[data-rk] .ju367v8n {\\n right: 0;\\n}\\n[data-rk] .ju367v8o {\\n transition: 0.125s ease;\\n}\\n[data-rk] .ju367v8p {\\n transition: transform 0.125s ease;\\n}\\n[data-rk] .ju367v8q {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n}\\n[data-rk] .ju367v8r {\\n width: 1px;\\n}\\n[data-rk] .ju367v8s {\\n width: 2px;\\n}\\n[data-rk] .ju367v8t {\\n width: 4px;\\n}\\n[data-rk] .ju367v8u {\\n width: 8px;\\n}\\n[data-rk] .ju367v8v {\\n width: 12px;\\n}\\n[data-rk] .ju367v8w {\\n width: 20px;\\n}\\n[data-rk] .ju367v8x {\\n width: 24px;\\n}\\n[data-rk] .ju367v8y {\\n width: 28px;\\n}\\n[data-rk] .ju367v8z {\\n width: 30px;\\n}\\n[data-rk] .ju367v90 {\\n width: 32px;\\n}\\n[data-rk] .ju367v91 {\\n width: 34px;\\n}\\n[data-rk] .ju367v92 {\\n width: 36px;\\n}\\n[data-rk] .ju367v93 {\\n width: 40px;\\n}\\n[data-rk] .ju367v94 {\\n width: 44px;\\n}\\n[data-rk] .ju367v95 {\\n width: 48px;\\n}\\n[data-rk] .ju367v96 {\\n width: 54px;\\n}\\n[data-rk] .ju367v97 {\\n width: 60px;\\n}\\n[data-rk] .ju367v98 {\\n width: 200px;\\n}\\n[data-rk] .ju367v99 {\\n width: 100%;\\n}\\n[data-rk] .ju367v9a {\\n width: -moz-max-content;\\n width: max-content;\\n}\\n[data-rk] .ju367v9b {\\n -webkit-backdrop-filter: var(--rk-blurs-modalOverlay);\\n backdrop-filter: var(--rk-blurs-modalOverlay);\\n}\\n[data-rk] .ju367v9c {\\n background: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367v9d:hover {\\n background: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367v9e:active {\\n background: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367v9f {\\n background: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367v9g:hover {\\n background: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367v9h:active {\\n background: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367v9i {\\n background: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367v9j:hover {\\n background: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367v9k:active {\\n background: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367v9l {\\n background: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367v9m:hover {\\n background: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367v9n:active {\\n background: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367v9o {\\n background: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367v9p:hover {\\n background: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367v9q:active {\\n background: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367v9r {\\n background: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367v9s:hover {\\n background: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367v9t:active {\\n background: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367v9u {\\n background: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367v9v:hover {\\n background: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367v9w:active {\\n background: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367v9x {\\n background: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367v9y:hover {\\n background: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367v9z:active {\\n background: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367va0 {\\n background: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367va1:hover {\\n background: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367va2:active {\\n background: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367va3 {\\n background: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367va4:hover {\\n background: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367va5:active {\\n background: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367va6 {\\n background: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367va7:hover {\\n background: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367va8:active {\\n background: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367va9 {\\n background: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vaa:hover {\\n background: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vab:active {\\n background: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vac {\\n background: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vad:hover {\\n background: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vae:active {\\n background: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vaf {\\n background: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vag:hover {\\n background: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vah:active {\\n background: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vai {\\n background: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vaj:hover {\\n background: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vak:active {\\n background: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367val {\\n background: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vam:hover {\\n background: var(--rk-colors-error);\\n}\\n[data-rk] .ju367van:active {\\n background: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vao {\\n background: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vap:hover {\\n background: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vaq:active {\\n background: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367var {\\n background: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vas:hover {\\n background: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vat:active {\\n background: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vau {\\n background: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vav:hover {\\n background: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vaw:active {\\n background: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vax {\\n background: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vay:hover {\\n background: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vaz:active {\\n background: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vb0 {\\n background: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vb1:hover {\\n background: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vb2:active {\\n background: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vb3 {\\n background: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vb4:hover {\\n background: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vb5:active {\\n background: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vb6 {\\n background: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vb7:hover {\\n background: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vb8:active {\\n background: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vb9 {\\n background: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vba:hover {\\n background: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vbb:active {\\n background: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vbc {\\n background: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vbd:hover {\\n background: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vbe:active {\\n background: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vbf {\\n background: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vbg:hover {\\n background: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vbh:active {\\n background: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vbi {\\n background: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vbj:hover {\\n background: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vbk:active {\\n background: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vbl {\\n background: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vbm:hover {\\n background: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vbn:active {\\n background: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vbo {\\n background: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vbp:hover {\\n background: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vbq:active {\\n background: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vbr {\\n background: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vbs:hover {\\n background: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vbt:active {\\n background: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vbu {\\n border-color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vbv:hover {\\n border-color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vbw:active {\\n border-color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vbx {\\n border-color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vby:hover {\\n border-color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vbz:active {\\n border-color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vc0 {\\n border-color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vc1:hover {\\n border-color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vc2:active {\\n border-color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vc3 {\\n border-color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vc4:hover {\\n border-color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vc5:active {\\n border-color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vc6 {\\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vc7:hover {\\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vc8:active {\\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vc9 {\\n border-color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vca:hover {\\n border-color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vcb:active {\\n border-color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vcc {\\n border-color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vcd:hover {\\n border-color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vce:active {\\n border-color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vcf {\\n border-color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vcg:hover {\\n border-color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vch:active {\\n border-color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vci {\\n border-color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vcj:hover {\\n border-color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vck:active {\\n border-color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vcl {\\n border-color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vcm:hover {\\n border-color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vcn:active {\\n border-color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vco {\\n border-color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vcp:hover {\\n border-color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vcq:active {\\n border-color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vcr {\\n border-color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vcs:hover {\\n border-color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vct:active {\\n border-color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vcu {\\n border-color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vcv:hover {\\n border-color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vcw:active {\\n border-color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vcx {\\n border-color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vcy:hover {\\n border-color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vcz:active {\\n border-color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vd0 {\\n border-color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vd1:hover {\\n border-color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vd2:active {\\n border-color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vd3 {\\n border-color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vd4:hover {\\n border-color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vd5:active {\\n border-color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vd6 {\\n border-color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vd7:hover {\\n border-color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vd8:active {\\n border-color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vd9 {\\n border-color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vda:hover {\\n border-color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vdb:active {\\n border-color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vdc {\\n border-color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vdd:hover {\\n border-color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vde:active {\\n border-color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vdf {\\n border-color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vdg:hover {\\n border-color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vdh:active {\\n border-color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vdi {\\n border-color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vdj:hover {\\n border-color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vdk:active {\\n border-color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vdl {\\n border-color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vdm:hover {\\n border-color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vdn:active {\\n border-color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vdo {\\n border-color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vdp:hover {\\n border-color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vdq:active {\\n border-color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vdr {\\n border-color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vds:hover {\\n border-color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vdt:active {\\n border-color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vdu {\\n border-color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vdv:hover {\\n border-color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vdw:active {\\n border-color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vdx {\\n border-color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vdy:hover {\\n border-color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vdz:active {\\n border-color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367ve0 {\\n border-color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367ve1:hover {\\n border-color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367ve2:active {\\n border-color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367ve3 {\\n border-color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367ve4:hover {\\n border-color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367ve5:active {\\n border-color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367ve6 {\\n border-color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367ve7:hover {\\n border-color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367ve8:active {\\n border-color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367ve9 {\\n border-color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vea:hover {\\n border-color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367veb:active {\\n border-color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vec {\\n box-shadow: var(--rk-shadows-connectButton);\\n}\\n[data-rk] .ju367ved:hover {\\n box-shadow: var(--rk-shadows-connectButton);\\n}\\n[data-rk] .ju367vee:active {\\n box-shadow: var(--rk-shadows-connectButton);\\n}\\n[data-rk] .ju367vef {\\n box-shadow: var(--rk-shadows-dialog);\\n}\\n[data-rk] .ju367veg:hover {\\n box-shadow: var(--rk-shadows-dialog);\\n}\\n[data-rk] .ju367veh:active {\\n box-shadow: var(--rk-shadows-dialog);\\n}\\n[data-rk] .ju367vei {\\n box-shadow: var(--rk-shadows-profileDetailsAction);\\n}\\n[data-rk] .ju367vej:hover {\\n box-shadow: var(--rk-shadows-profileDetailsAction);\\n}\\n[data-rk] .ju367vek:active {\\n box-shadow: var(--rk-shadows-profileDetailsAction);\\n}\\n[data-rk] .ju367vel {\\n box-shadow: var(--rk-shadows-selectedOption);\\n}\\n[data-rk] .ju367vem:hover {\\n box-shadow: var(--rk-shadows-selectedOption);\\n}\\n[data-rk] .ju367ven:active {\\n box-shadow: var(--rk-shadows-selectedOption);\\n}\\n[data-rk] .ju367veo {\\n box-shadow: var(--rk-shadows-selectedWallet);\\n}\\n[data-rk] .ju367vep:hover {\\n box-shadow: var(--rk-shadows-selectedWallet);\\n}\\n[data-rk] .ju367veq:active {\\n box-shadow: var(--rk-shadows-selectedWallet);\\n}\\n[data-rk] .ju367ver {\\n box-shadow: var(--rk-shadows-walletLogo);\\n}\\n[data-rk] .ju367ves:hover {\\n box-shadow: var(--rk-shadows-walletLogo);\\n}\\n[data-rk] .ju367vet:active {\\n box-shadow: var(--rk-shadows-walletLogo);\\n}\\n[data-rk] .ju367veu {\\n color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vev:hover {\\n color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vew:active {\\n color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vex {\\n color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vey:hover {\\n color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vez:active {\\n color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vf0 {\\n color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vf1:hover {\\n color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vf2:active {\\n color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vf3 {\\n color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vf4:hover {\\n color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vf5:active {\\n color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vf6 {\\n color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vf7:hover {\\n color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vf8:active {\\n color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vf9 {\\n color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vfa:hover {\\n color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vfb:active {\\n color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vfc {\\n color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vfd:hover {\\n color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vfe:active {\\n color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vff {\\n color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vfg:hover {\\n color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vfh:active {\\n color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vfi {\\n color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vfj:hover {\\n color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vfk:active {\\n color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vfl {\\n color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vfm:hover {\\n color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vfn:active {\\n color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vfo {\\n color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vfp:hover {\\n color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vfq:active {\\n color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vfr {\\n color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vfs:hover {\\n color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vft:active {\\n color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vfu {\\n color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vfv:hover {\\n color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vfw:active {\\n color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vfx {\\n color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vfy:hover {\\n color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vfz:active {\\n color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vg0 {\\n color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vg1:hover {\\n color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vg2:active {\\n color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vg3 {\\n color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vg4:hover {\\n color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vg5:active {\\n color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vg6 {\\n color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vg7:hover {\\n color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vg8:active {\\n color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vg9 {\\n color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vga:hover {\\n color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vgb:active {\\n color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vgc {\\n color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vgd:hover {\\n color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vge:active {\\n color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vgf {\\n color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vgg:hover {\\n color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vgh:active {\\n color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vgi {\\n color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vgj:hover {\\n color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vgk:active {\\n color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vgl {\\n color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vgm:hover {\\n color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vgn:active {\\n color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vgo {\\n color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vgp:hover {\\n color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vgq:active {\\n color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vgr {\\n color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vgs:hover {\\n color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vgt:active {\\n color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vgu {\\n color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vgv:hover {\\n color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vgw:active {\\n color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vgx {\\n color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vgy:hover {\\n color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vgz:active {\\n color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vh0 {\\n color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vh1:hover {\\n color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vh2:active {\\n color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vh3 {\\n color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vh4:hover {\\n color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vh5:active {\\n color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vh6 {\\n color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vh7:hover {\\n color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vh8:active {\\n color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vh9 {\\n color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vha:hover {\\n color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vhb:active {\\n color: var(--rk-colors-standby);\\n}\\n@media screen and (min-width: 768px) {\\n [data-rk] .ju367v1 {\\n align-items: flex-start;\\n }\\n [data-rk] .ju367v3 {\\n align-items: flex-end;\\n }\\n [data-rk] .ju367v5 {\\n align-items: center;\\n }\\n [data-rk] .ju367v7 {\\n display: none;\\n }\\n [data-rk] .ju367v9 {\\n display: block;\\n }\\n [data-rk] .ju367vb {\\n display: flex;\\n }\\n [data-rk] .ju367vd {\\n display: inline;\\n }\\n}\\n\\n/* vanilla-extract-css-ns:src/css/touchableStyles.css.ts.vanilla.css?source=Ll8xMmNibzhpMywuXzEyY2JvOGkzOjphZnRlciB7CiAgLS1fMTJjYm84aTA6IDE7CiAgLS1fMTJjYm84aTE6IDE7Cn0KLl8xMmNibzhpMzpob3ZlciB7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTApKTsKfQouXzEyY2JvOGkzOmFjdGl2ZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTEpKTsKfQouXzEyY2JvOGkzOmFjdGl2ZTo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGJvdHRvbTogLTFweDsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAtMXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogLTFweDsKICB0b3A6IC0xcHg7CiAgdHJhbnNmb3JtOiBzY2FsZShjYWxjKCgxIC8gdmFyKC0tXzEyY2JvOGkxKSkgKiB2YXIoLS1fMTJjYm84aTApKSk7Cn0KLl8xMmNibzhpNCwuXzEyY2JvOGk0OjphZnRlciB7CiAgLS1fMTJjYm84aTA6IDEuMDI1Owp9Ci5fMTJjYm84aTUsLl8xMmNibzhpNTo6YWZ0ZXIgewogIC0tXzEyY2JvOGkwOiAxLjE7Cn0KLl8xMmNibzhpNiwuXzEyY2JvOGk2OjphZnRlciB7CiAgLS1fMTJjYm84aTE6IDAuOTU7Cn0KLl8xMmNibzhpNywuXzEyY2JvOGk3OjphZnRlciB7CiAgLS1fMTJjYm84aTE6IDAuOTsKfQ== */\\n[data-rk] ._12cbo8i3,\\n[data-rk] ._12cbo8i3::after {\\n --_12cbo8i0: 1;\\n --_12cbo8i1: 1;\\n}\\n[data-rk] ._12cbo8i3:hover {\\n transform: scale(var(--_12cbo8i0));\\n}\\n[data-rk] ._12cbo8i3:active {\\n transform: scale(var(--_12cbo8i1));\\n}\\n[data-rk] ._12cbo8i3:active::after {\\n content: \\\"\\\";\\n bottom: -1px;\\n display: block;\\n left: -1px;\\n position: absolute;\\n right: -1px;\\n top: -1px;\\n transform: scale(calc((1 / var(--_12cbo8i1)) * var(--_12cbo8i0)));\\n}\\n[data-rk] ._12cbo8i4,\\n[data-rk] ._12cbo8i4::after {\\n --_12cbo8i0: 1.025;\\n}\\n[data-rk] ._12cbo8i5,\\n[data-rk] ._12cbo8i5::after {\\n --_12cbo8i0: 1.1;\\n}\\n[data-rk] ._12cbo8i6,\\n[data-rk] ._12cbo8i6::after {\\n --_12cbo8i1: 0.95;\\n}\\n[data-rk] ._12cbo8i7,\\n[data-rk] ._12cbo8i7::after {\\n --_12cbo8i1: 0.9;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/Icons/Icons.css.ts.vanilla.css?source=QGtleWZyYW1lcyBfMWx1dWxlNDEgewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9Ci5fMWx1dWxlNDIgewogIGFuaW1hdGlvbjogXzFsdXVsZTQxIDNzIGluZmluaXRlIGxpbmVhcjsKfQouXzFsdXVsZTQzIHsKICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDE4MGRlZyBhdCA1MCUgNTAlLCByZ2JhKDcyLCAxNDYsIDI1NCwgMCkgMGRlZywgY3VycmVudENvbG9yIDI4Mi4wNGRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDMxOS44NmRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDM2MGRlZyk7CiAgaGVpZ2h0OiAyMXB4OwogIHdpZHRoOiAyMXB4Owp9 */\\n@keyframes _1luule41 {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n[data-rk] ._1luule42 {\\n animation: _1luule41 3s infinite linear;\\n}\\n[data-rk] ._1luule43 {\\n background: conic-gradient(from 180deg at 50% 50%, rgba(72, 146, 254, 0) 0deg, currentColor 282.04deg, rgba(72, 146, 254, 0) 319.86deg, rgba(72, 146, 254, 0) 360deg);\\n height: 21px;\\n width: 21px;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/Dialog/Dialog.css.ts.vanilla.css?source=QGtleWZyYW1lcyBfOXBtNGtpMCB7CiAgMCUgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9Cn0KQGtleWZyYW1lcyBfOXBtNGtpMSB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQouXzlwbTRraTMgewogIGFuaW1hdGlvbjogXzlwbTRraTEgMTUwbXMgZWFzZTsKICBib3R0b206IC0yMDBweDsKICBsZWZ0OiAtMjAwcHg7CiAgcGFkZGluZzogMjAwcHg7CiAgcmlnaHQ6IC0yMDBweDsKICB0b3A6IC0yMDBweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgei1pbmRleDogMjE0NzQ4MzY0NjsKfQouXzlwbTRraTUgewogIGFuaW1hdGlvbjogXzlwbTRraTAgMzUwbXMgY3ViaWMtYmV6aWVyKC4xNSwxLjE1LDAuNiwxLjAwKSwgXzlwbTRraTEgMTUwbXMgZWFzZTsKICBtYXgtd2lkdGg6IDEwMHZ3Owp9 */\\n@keyframes _9pm4ki0 {\\n 0% {\\n transform: translateY(100%);\\n }\\n 100% {\\n transform: translateY(0);\\n }\\n}\\n@keyframes _9pm4ki1 {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n[data-rk] ._9pm4ki3 {\\n animation: _9pm4ki1 150ms ease;\\n bottom: -200px;\\n left: -200px;\\n padding: 200px;\\n right: -200px;\\n top: -200px;\\n transform: translateZ(0);\\n z-index: 2147483646;\\n}\\n[data-rk] ._9pm4ki5 {\\n animation: _9pm4ki0 350ms cubic-bezier(.15, 1.15, 0.6, 1.00), _9pm4ki1 150ms ease;\\n max-width: 100vw;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/Dialog/DialogContent.css.ts.vanilla.css?source=Ll8xY2tqcG9rMSB7CiAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgbWF4LXdpZHRoOiAxMDB2dzsKICB3aWR0aDogMzYwcHg7Cn0KLl8xY2tqcG9rMiB7CiAgd2lkdGg6IDEwMHZ3Owp9Ci5fMWNranBvazMgewogIHdpZHRoOiA3NjhweDsKfQouXzFja2pwb2s0IHsKICBtaW4td2lkdGg6IDM2OHB4OwogIHdpZHRoOiAzNjhweDsKfQouXzFja2pwb2s2IHsKICBib3JkZXItd2lkdGg6IDBweDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHdpZHRoOiAxMDB2dzsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5fMWNranBvazEgewogICAgd2lkdGg6IDM2MHB4OwogIH0KICAuXzFja2pwb2syIHsKICAgIHdpZHRoOiA0ODBweDsKICB9CiAgLl8xY2tqcG9rMyB7CiAgICB3aWR0aDogNzIwcHg7CiAgfQogIC5fMWNranBvazQgewogICAgbWluLXdpZHRoOiAzNjhweDsKICAgIHdpZHRoOiAzNjhweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuXzFja2pwb2s3IHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIG1hcmdpbi10b3A6IC0yMDBweDsKICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDsKICAgIHRvcDogMjAwcHg7CiAgfQp9 */\\n[data-rk] ._1ckjpok1 {\\n box-sizing: content-box;\\n max-width: 100vw;\\n width: 360px;\\n}\\n[data-rk] ._1ckjpok2 {\\n width: 100vw;\\n}\\n[data-rk] ._1ckjpok3 {\\n width: 768px;\\n}\\n[data-rk] ._1ckjpok4 {\\n min-width: 368px;\\n width: 368px;\\n}\\n[data-rk] ._1ckjpok6 {\\n border-width: 0px;\\n box-sizing: border-box;\\n width: 100vw;\\n}\\n@media screen and (min-width: 768px) {\\n [data-rk] ._1ckjpok1 {\\n width: 360px;\\n }\\n [data-rk] ._1ckjpok2 {\\n width: 480px;\\n }\\n [data-rk] ._1ckjpok3 {\\n width: 720px;\\n }\\n [data-rk] ._1ckjpok4 {\\n min-width: 368px;\\n width: 368px;\\n }\\n}\\n@media screen and (max-width: 767px) {\\n [data-rk] ._1ckjpok7 {\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 0;\\n margin-top: -200px;\\n padding-bottom: 200px;\\n top: 200px;\\n }\\n}\\n\\n/* vanilla-extract-css-ns:src/components/MenuButton/MenuButton.css.ts.vanilla.css?source=LnY5aG9yYjA6aG92ZXIgewogIGJhY2tncm91bmQ6IHVuc2V0Owp9 */\\n[data-rk] .v9horb0:hover {\\n background: unset;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/ModalSelection/ModalSelection.css.ts.vanilla.css?source=Lmc1a2wwbDAgewogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0= */\\n[data-rk] .g5kl0l0 {\\n border-color: transparent;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/ConnectOptions/DesktopOptions.css.ts.vanilla.css?source=Ll8xdnd0MGNnMCB7CiAgYmFja2dyb3VuZDogd2hpdGU7Cn0KLl8xdnd0MGNnMiB7CiAgbWF4LWhlaWdodDogNDU0cHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKfQouXzF2d3QwY2czIHsKICBtaW4td2lkdGg6IDI0NnB4Owp9Ci5fMXZ3dDBjZzQgewogIG1pbi13aWR0aDogMTAwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5fMXZ3dDBjZzMgewogICAgbWluLXdpZHRoOiAyODdweDsKICB9Cn0= */\\n[data-rk] ._1vwt0cg0 {\\n background: white;\\n}\\n[data-rk] ._1vwt0cg2 {\\n max-height: 454px;\\n overflow-y: auto;\\n}\\n[data-rk] ._1vwt0cg3 {\\n min-width: 246px;\\n}\\n[data-rk] ._1vwt0cg4 {\\n min-width: 100%;\\n}\\n@media screen and (min-width: 768px) {\\n [data-rk] ._1vwt0cg3 {\\n min-width: 287px;\\n }\\n}\\n\\n/* vanilla-extract-css-ns:src/components/ConnectOptions/MobileOptions.css.ts.vanilla.css?source=Ll8xYW0xNDQxMCB7CiAgb3ZlcmZsb3c6IGF1dG87CiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouXzFhbTE0NDEwOjotd2Via2l0LXNjcm9sbGJhciB7CiAgZGlzcGxheTogbm9uZTsKfQ== */\\n[data-rk] ._1am14410 {\\n overflow: auto;\\n scrollbar-width: none;\\n transform: translateZ(0);\\n}\\n[data-rk] ._1am14410::-webkit-scrollbar {\\n display: none;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://node_modules/@rainbow-me/rainbowkit/dist/index.css\"],\"names\":[],\"mappings\":\"AAAA,gtCAAgtC;AAChtC;EACE,SAAS;EACT,sBAAsB;EACtB,eAAe;EACf,mBAAmB;EACnB,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,wBAAwB;EACxB,wCAAwC;AAC1C;AACA;EACE,gBAAgB;AAClB;AACA;EACE,YAAY;AACd;AACA;;EAEE,WAAW;AACb;AACA;EACE,yBAAyB;EACzB,iBAAiB;AACnB;AACA;EACE,wBAAwB;EACxB,qBAAqB;EACrB,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,6BAA6B;EAC7B,cAAc;AAChB;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;AACf;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA,q9JAAq9J;AACr9J;EACE,uBAAuB;AACzB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;AACjB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,oCAAoC;AACtC;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,kBAAkB;AACpB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;AACjB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,iCAAiC;AACnC;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,MAAM;AACR;AACA;EACE,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,SAAS;AACX;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,uBAAuB;AACzB;AACA;EACE,8BAA8B;AAChC;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;EACE,2BAA2B;EAC3B,sBAAsB;AACxB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;EACE,2BAA2B;EAC3B,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,QAAQ;AACV;AACA;EACE,uBAAuB;AACzB;AACA;EACE,iCAAiC;AACnC;AACA;EACE,yBAAyB;EACzB,sBAAsB;EACtB,iBAAiB;AACnB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;EACE,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,qDAAqD;EACrD,6CAA6C;AAC/C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,qDAAqD;AACvD;AACA;EACE,qDAAqD;AACvD;AACA;EACE,qDAAqD;AACvD;AACA;EACE,4DAA4D;AAC9D;AACA;EACE,4DAA4D;AAC9D;AACA;EACE,4DAA4D;AAC9D;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,sDAAsD;AACxD;AACA;EACE,sDAAsD;AACxD;AACA;EACE,sDAAsD;AACxD;AACA;EACE,kCAAkC;AACpC;AACA;EACE,kCAAkC;AACpC;AACA;EACE,kCAAkC;AACpC;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,sCAAsC;AACxC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,uDAAuD;AACzD;AACA;EACE,uDAAuD;AACzD;AACA;EACE,uDAAuD;AACzD;AACA;EACE,8DAA8D;AAChE;AACA;EACE,8DAA8D;AAChE;AACA;EACE,8DAA8D;AAChE;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,sDAAsD;AACxD;AACA;EACE,sDAAsD;AACxD;AACA;EACE,sDAAsD;AACxD;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,qDAAqD;AACvD;AACA;EACE,qDAAqD;AACvD;AACA;EACE,qDAAqD;AACvD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,2DAA2D;AAC7D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,mDAAmD;AACrD;AACA;EACE,sCAAsC;AACxC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,kDAAkD;AACpD;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,mCAAmC;AACrC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,uDAAuD;AACzD;AACA;EACE,uDAAuD;AACzD;AACA;EACE,uDAAuD;AACzD;AACA;EACE,mCAAmC;AACrC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,oDAAoD;AACtD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,iDAAiD;AACnD;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,qCAAqC;AACvC;AACA;EACE,qCAAqC;AACvC;AACA;EACE,qCAAqC;AACvC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,qCAAqC;AACvC;AACA;EACE,qCAAqC;AACvC;AACA;EACE,qCAAqC;AACvC;AACA;EACE,uCAAuC;AACzC;AACA;EACE,uCAAuC;AACzC;AACA;EACE,uCAAuC;AACzC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,mCAAmC;AACrC;AACA;EACE,iCAAiC;AACnC;AACA;EACE,iCAAiC;AACnC;AACA;EACE,iCAAiC;AACnC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oCAAoC;AACtC;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,qCAAqC;AACvC;AACA;EACE,qCAAqC;AACvC;AACA;EACE,qCAAqC;AACvC;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,+BAA+B;AACjC;AACA;EACE,+BAA+B;AACjC;AACA;EACE,+BAA+B;AACjC;AACA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,aAAa;EACf;EACA;IACE,cAAc;EAChB;EACA;IACE,aAAa;EACf;EACA;IACE,eAAe;EACjB;AACF;;AAEA,k4BAAk4B;AACl4B;;EAEE,cAAc;EACd,cAAc;AAChB;AACA;EACE,kCAAkC;AACpC;AACA;EACE,kCAAkC;AACpC;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;EACd,UAAU;EACV,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,iEAAiE;AACnE;AACA;;EAEE,kBAAkB;AACpB;AACA;;EAEE,gBAAgB;AAClB;AACA;;EAEE,iBAAiB;AACnB;AACA;;EAEE,gBAAgB;AAClB;;AAEA,6kBAA6kB;AAC7kB;EACE;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;AACF;AACA;EACE,uCAAuC;AACzC;AACA;EACE,qKAAqK;EACrK,YAAY;EACZ,WAAW;AACb;;AAEA,+tBAA+tB;AAC/tB;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,wBAAwB;EAC1B;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE,8BAA8B;EAC9B,cAAc;EACd,YAAY;EACZ,cAAc;EACd,aAAa;EACb,WAAW;EACX,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,iFAAiF;EACjF,gBAAgB;AAClB;;AAEA,89BAA89B;AAC99B;EACE,uBAAuB;EACvB,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,iBAAiB;EACjB,sBAAsB;EACtB,YAAY;AACd;AACA;EACE;IACE,YAAY;EACd;EACA;IACE,YAAY;EACd;EACA;IACE,YAAY;EACd;EACA;IACE,gBAAgB;IAChB,YAAY;EACd;AACF;AACA;EACE;IACE,4BAA4B;IAC5B,6BAA6B;IAC7B,kBAAkB;IAClB,qBAAqB;IACrB,UAAU;EACZ;AACF;;AAEA,+IAA+I;AAC/I;EACE,iBAAiB;AACnB;;AAEA,2JAA2J;AAC3J;EACE,yBAAyB;AAC3B;;AAEA,uaAAua;AACva;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;AACA;EACE;IACE,gBAAgB;EAClB;AACF;;AAEA,0RAA0R;AAC1R;EACE,cAAc;EACd,qBAAqB;EACrB,wBAAwB;AAC1B;AACA;EACE,aAAa;AACf\",\"sourcesContent\":[\"/* vanilla-extract-css-ns:src/css/reset.css.ts.vanilla.css?source=Lmlla2JjYzAgewogIGJvcmRlcjogMDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGZvbnQtc2l6ZTogMTAwJTsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlla2JjYzEgewogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLmlla2JjYzIgewogIHF1b3Rlczogbm9uZTsKfQouaWVrYmNjMjpiZWZvcmUsIC5pZWtiY2MyOmFmdGVyIHsKICBjb250ZW50OiAnJzsKfQouaWVrYmNjMyB7CiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICBib3JkZXItc3BhY2luZzogMDsKfQouaWVrYmNjNCB7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQouaWVrYmNjNSB7CiAgb3V0bGluZTogbm9uZTsKfQouaWVrYmNjNTo6cGxhY2Vob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmlla2JjYzYgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiBpbmhlcml0Owp9Ci5pZWtiY2M3OmRpc2FibGVkIHsKICBvcGFjaXR5OiAxOwp9Ci5pZWtiY2M3OjotbXMtZXhwYW5kIHsKICBkaXNwbGF5OiBub25lOwp9Ci5pZWtiY2M4OjotbXMtY2xlYXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmlla2JjYzg6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKfQouaWVrYmNjOSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouaWVrYmNjYSB7CiAgY29sb3I6IGluaGVyaXQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9 */\\n[data-rk] .iekbcc0 {\\n border: 0;\\n box-sizing: border-box;\\n font-size: 100%;\\n line-height: normal;\\n margin: 0;\\n padding: 0;\\n text-align: left;\\n vertical-align: baseline;\\n -webkit-tap-highlight-color: transparent;\\n}\\n[data-rk] .iekbcc1 {\\n list-style: none;\\n}\\n[data-rk] .iekbcc2 {\\n quotes: none;\\n}\\n[data-rk] .iekbcc2:before,\\n[data-rk] .iekbcc2:after {\\n content: \\\"\\\";\\n}\\n[data-rk] .iekbcc3 {\\n border-collapse: collapse;\\n border-spacing: 0;\\n}\\n[data-rk] .iekbcc4 {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n[data-rk] .iekbcc5 {\\n outline: none;\\n}\\n[data-rk] .iekbcc5::-moz-placeholder {\\n opacity: 1;\\n}\\n[data-rk] .iekbcc5::placeholder {\\n opacity: 1;\\n}\\n[data-rk] .iekbcc6 {\\n background-color: transparent;\\n color: inherit;\\n}\\n[data-rk] .iekbcc7:disabled {\\n opacity: 1;\\n}\\n[data-rk] .iekbcc7::-ms-expand {\\n display: none;\\n}\\n[data-rk] .iekbcc8::-ms-clear {\\n display: none;\\n}\\n[data-rk] .iekbcc8::-webkit-search-cancel-button {\\n -webkit-appearance: none;\\n}\\n[data-rk] .iekbcc9 {\\n background: none;\\n cursor: pointer;\\n text-align: left;\\n}\\n[data-rk] .iekbcca {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n/* vanilla-extract-css-ns:src/css/sprinkles.css.ts.vanilla.css?source=#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 */\\n[data-rk] .ju367v0 {\\n align-items: flex-start;\\n}\\n[data-rk] .ju367v2 {\\n align-items: flex-end;\\n}\\n[data-rk] .ju367v4 {\\n align-items: center;\\n}\\n[data-rk] .ju367v6 {\\n display: none;\\n}\\n[data-rk] .ju367v8 {\\n display: block;\\n}\\n[data-rk] .ju367va {\\n display: flex;\\n}\\n[data-rk] .ju367vc {\\n display: inline;\\n}\\n[data-rk] .ju367ve {\\n align-self: flex-start;\\n}\\n[data-rk] .ju367vf {\\n align-self: flex-end;\\n}\\n[data-rk] .ju367vg {\\n align-self: center;\\n}\\n[data-rk] .ju367vh {\\n background-size: cover;\\n}\\n[data-rk] .ju367vi {\\n border-radius: 1px;\\n}\\n[data-rk] .ju367vj {\\n border-radius: 6px;\\n}\\n[data-rk] .ju367vk {\\n border-radius: 10px;\\n}\\n[data-rk] .ju367vl {\\n border-radius: 13px;\\n}\\n[data-rk] .ju367vm {\\n border-radius: var(--rk-radii-actionButton);\\n}\\n[data-rk] .ju367vn {\\n border-radius: var(--rk-radii-connectButton);\\n}\\n[data-rk] .ju367vo {\\n border-radius: var(--rk-radii-menuButton);\\n}\\n[data-rk] .ju367vp {\\n border-radius: var(--rk-radii-modal);\\n}\\n[data-rk] .ju367vq {\\n border-radius: var(--rk-radii-modalMobile);\\n}\\n[data-rk] .ju367vr {\\n border-radius: 25%;\\n}\\n[data-rk] .ju367vs {\\n border-radius: 9999px;\\n}\\n[data-rk] .ju367vt {\\n border-style: solid;\\n}\\n[data-rk] .ju367vu {\\n border-width: 0px;\\n}\\n[data-rk] .ju367vv {\\n border-width: 1px;\\n}\\n[data-rk] .ju367vw {\\n border-width: 2px;\\n}\\n[data-rk] .ju367vx {\\n border-width: 4px;\\n}\\n[data-rk] .ju367vy {\\n cursor: pointer;\\n}\\n[data-rk] .ju367vz {\\n flex-direction: row;\\n}\\n[data-rk] .ju367v10 {\\n flex-direction: column;\\n}\\n[data-rk] .ju367v11 {\\n font-family: var(--rk-fonts-body);\\n}\\n[data-rk] .ju367v12 {\\n font-size: 12px;\\n line-height: 18px;\\n}\\n[data-rk] .ju367v13 {\\n font-size: 13px;\\n line-height: 18px;\\n}\\n[data-rk] .ju367v14 {\\n font-size: 14px;\\n line-height: 18px;\\n}\\n[data-rk] .ju367v15 {\\n font-size: 16px;\\n line-height: 20px;\\n}\\n[data-rk] .ju367v16 {\\n font-size: 18px;\\n line-height: 24px;\\n}\\n[data-rk] .ju367v17 {\\n font-size: 20px;\\n line-height: 24px;\\n}\\n[data-rk] .ju367v18 {\\n font-size: 23px;\\n line-height: 29px;\\n}\\n[data-rk] .ju367v19 {\\n font-weight: 400;\\n}\\n[data-rk] .ju367v1a {\\n font-weight: 500;\\n}\\n[data-rk] .ju367v1b {\\n font-weight: 600;\\n}\\n[data-rk] .ju367v1c {\\n font-weight: 700;\\n}\\n[data-rk] .ju367v1d {\\n font-weight: 800;\\n}\\n[data-rk] .ju367v1e {\\n gap: 0;\\n}\\n[data-rk] .ju367v1f {\\n gap: 1px;\\n}\\n[data-rk] .ju367v1g {\\n gap: 2px;\\n}\\n[data-rk] .ju367v1h {\\n gap: 3px;\\n}\\n[data-rk] .ju367v1i {\\n gap: 4px;\\n}\\n[data-rk] .ju367v1j {\\n gap: 5px;\\n}\\n[data-rk] .ju367v1k {\\n gap: 6px;\\n}\\n[data-rk] .ju367v1l {\\n gap: 8px;\\n}\\n[data-rk] .ju367v1m {\\n gap: 10px;\\n}\\n[data-rk] .ju367v1n {\\n gap: 12px;\\n}\\n[data-rk] .ju367v1o {\\n gap: 14px;\\n}\\n[data-rk] .ju367v1p {\\n gap: 16px;\\n}\\n[data-rk] .ju367v1q {\\n gap: 18px;\\n}\\n[data-rk] .ju367v1r {\\n gap: 20px;\\n}\\n[data-rk] .ju367v1s {\\n gap: 24px;\\n}\\n[data-rk] .ju367v1t {\\n gap: 28px;\\n}\\n[data-rk] .ju367v1u {\\n gap: 32px;\\n}\\n[data-rk] .ju367v1v {\\n gap: 36px;\\n}\\n[data-rk] .ju367v1w {\\n gap: 44px;\\n}\\n[data-rk] .ju367v1x {\\n gap: 64px;\\n}\\n[data-rk] .ju367v1y {\\n gap: -1px;\\n}\\n[data-rk] .ju367v1z {\\n height: 1px;\\n}\\n[data-rk] .ju367v20 {\\n height: 2px;\\n}\\n[data-rk] .ju367v21 {\\n height: 4px;\\n}\\n[data-rk] .ju367v22 {\\n height: 8px;\\n}\\n[data-rk] .ju367v23 {\\n height: 12px;\\n}\\n[data-rk] .ju367v24 {\\n height: 20px;\\n}\\n[data-rk] .ju367v25 {\\n height: 24px;\\n}\\n[data-rk] .ju367v26 {\\n height: 28px;\\n}\\n[data-rk] .ju367v27 {\\n height: 30px;\\n}\\n[data-rk] .ju367v28 {\\n height: 32px;\\n}\\n[data-rk] .ju367v29 {\\n height: 34px;\\n}\\n[data-rk] .ju367v2a {\\n height: 36px;\\n}\\n[data-rk] .ju367v2b {\\n height: 40px;\\n}\\n[data-rk] .ju367v2c {\\n height: 44px;\\n}\\n[data-rk] .ju367v2d {\\n height: 48px;\\n}\\n[data-rk] .ju367v2e {\\n height: 54px;\\n}\\n[data-rk] .ju367v2f {\\n height: 60px;\\n}\\n[data-rk] .ju367v2g {\\n height: 200px;\\n}\\n[data-rk] .ju367v2h {\\n height: 100%;\\n}\\n[data-rk] .ju367v2i {\\n height: -moz-max-content;\\n height: max-content;\\n}\\n[data-rk] .ju367v2j {\\n justify-content: flex-start;\\n}\\n[data-rk] .ju367v2k {\\n justify-content: flex-end;\\n}\\n[data-rk] .ju367v2l {\\n justify-content: center;\\n}\\n[data-rk] .ju367v2m {\\n justify-content: space-between;\\n}\\n[data-rk] .ju367v2n {\\n justify-content: space-around;\\n}\\n[data-rk] .ju367v2o {\\n text-align: left;\\n}\\n[data-rk] .ju367v2p {\\n text-align: center;\\n}\\n[data-rk] .ju367v2q {\\n text-align: inherit;\\n}\\n[data-rk] .ju367v2r {\\n margin-bottom: 0;\\n}\\n[data-rk] .ju367v2s {\\n margin-bottom: 1px;\\n}\\n[data-rk] .ju367v2t {\\n margin-bottom: 2px;\\n}\\n[data-rk] .ju367v2u {\\n margin-bottom: 3px;\\n}\\n[data-rk] .ju367v2v {\\n margin-bottom: 4px;\\n}\\n[data-rk] .ju367v2w {\\n margin-bottom: 5px;\\n}\\n[data-rk] .ju367v2x {\\n margin-bottom: 6px;\\n}\\n[data-rk] .ju367v2y {\\n margin-bottom: 8px;\\n}\\n[data-rk] .ju367v2z {\\n margin-bottom: 10px;\\n}\\n[data-rk] .ju367v30 {\\n margin-bottom: 12px;\\n}\\n[data-rk] .ju367v31 {\\n margin-bottom: 14px;\\n}\\n[data-rk] .ju367v32 {\\n margin-bottom: 16px;\\n}\\n[data-rk] .ju367v33 {\\n margin-bottom: 18px;\\n}\\n[data-rk] .ju367v34 {\\n margin-bottom: 20px;\\n}\\n[data-rk] .ju367v35 {\\n margin-bottom: 24px;\\n}\\n[data-rk] .ju367v36 {\\n margin-bottom: 28px;\\n}\\n[data-rk] .ju367v37 {\\n margin-bottom: 32px;\\n}\\n[data-rk] .ju367v38 {\\n margin-bottom: 36px;\\n}\\n[data-rk] .ju367v39 {\\n margin-bottom: 44px;\\n}\\n[data-rk] .ju367v3a {\\n margin-bottom: 64px;\\n}\\n[data-rk] .ju367v3b {\\n margin-bottom: -1px;\\n}\\n[data-rk] .ju367v3c {\\n margin-left: 0;\\n}\\n[data-rk] .ju367v3d {\\n margin-left: 1px;\\n}\\n[data-rk] .ju367v3e {\\n margin-left: 2px;\\n}\\n[data-rk] .ju367v3f {\\n margin-left: 3px;\\n}\\n[data-rk] .ju367v3g {\\n margin-left: 4px;\\n}\\n[data-rk] .ju367v3h {\\n margin-left: 5px;\\n}\\n[data-rk] .ju367v3i {\\n margin-left: 6px;\\n}\\n[data-rk] .ju367v3j {\\n margin-left: 8px;\\n}\\n[data-rk] .ju367v3k {\\n margin-left: 10px;\\n}\\n[data-rk] .ju367v3l {\\n margin-left: 12px;\\n}\\n[data-rk] .ju367v3m {\\n margin-left: 14px;\\n}\\n[data-rk] .ju367v3n {\\n margin-left: 16px;\\n}\\n[data-rk] .ju367v3o {\\n margin-left: 18px;\\n}\\n[data-rk] .ju367v3p {\\n margin-left: 20px;\\n}\\n[data-rk] .ju367v3q {\\n margin-left: 24px;\\n}\\n[data-rk] .ju367v3r {\\n margin-left: 28px;\\n}\\n[data-rk] .ju367v3s {\\n margin-left: 32px;\\n}\\n[data-rk] .ju367v3t {\\n margin-left: 36px;\\n}\\n[data-rk] .ju367v3u {\\n margin-left: 44px;\\n}\\n[data-rk] .ju367v3v {\\n margin-left: 64px;\\n}\\n[data-rk] .ju367v3w {\\n margin-left: -1px;\\n}\\n[data-rk] .ju367v3x {\\n margin-right: 0;\\n}\\n[data-rk] .ju367v3y {\\n margin-right: 1px;\\n}\\n[data-rk] .ju367v3z {\\n margin-right: 2px;\\n}\\n[data-rk] .ju367v40 {\\n margin-right: 3px;\\n}\\n[data-rk] .ju367v41 {\\n margin-right: 4px;\\n}\\n[data-rk] .ju367v42 {\\n margin-right: 5px;\\n}\\n[data-rk] .ju367v43 {\\n margin-right: 6px;\\n}\\n[data-rk] .ju367v44 {\\n margin-right: 8px;\\n}\\n[data-rk] .ju367v45 {\\n margin-right: 10px;\\n}\\n[data-rk] .ju367v46 {\\n margin-right: 12px;\\n}\\n[data-rk] .ju367v47 {\\n margin-right: 14px;\\n}\\n[data-rk] .ju367v48 {\\n margin-right: 16px;\\n}\\n[data-rk] .ju367v49 {\\n margin-right: 18px;\\n}\\n[data-rk] .ju367v4a {\\n margin-right: 20px;\\n}\\n[data-rk] .ju367v4b {\\n margin-right: 24px;\\n}\\n[data-rk] .ju367v4c {\\n margin-right: 28px;\\n}\\n[data-rk] .ju367v4d {\\n margin-right: 32px;\\n}\\n[data-rk] .ju367v4e {\\n margin-right: 36px;\\n}\\n[data-rk] .ju367v4f {\\n margin-right: 44px;\\n}\\n[data-rk] .ju367v4g {\\n margin-right: 64px;\\n}\\n[data-rk] .ju367v4h {\\n margin-right: -1px;\\n}\\n[data-rk] .ju367v4i {\\n margin-top: 0;\\n}\\n[data-rk] .ju367v4j {\\n margin-top: 1px;\\n}\\n[data-rk] .ju367v4k {\\n margin-top: 2px;\\n}\\n[data-rk] .ju367v4l {\\n margin-top: 3px;\\n}\\n[data-rk] .ju367v4m {\\n margin-top: 4px;\\n}\\n[data-rk] .ju367v4n {\\n margin-top: 5px;\\n}\\n[data-rk] .ju367v4o {\\n margin-top: 6px;\\n}\\n[data-rk] .ju367v4p {\\n margin-top: 8px;\\n}\\n[data-rk] .ju367v4q {\\n margin-top: 10px;\\n}\\n[data-rk] .ju367v4r {\\n margin-top: 12px;\\n}\\n[data-rk] .ju367v4s {\\n margin-top: 14px;\\n}\\n[data-rk] .ju367v4t {\\n margin-top: 16px;\\n}\\n[data-rk] .ju367v4u {\\n margin-top: 18px;\\n}\\n[data-rk] .ju367v4v {\\n margin-top: 20px;\\n}\\n[data-rk] .ju367v4w {\\n margin-top: 24px;\\n}\\n[data-rk] .ju367v4x {\\n margin-top: 28px;\\n}\\n[data-rk] .ju367v4y {\\n margin-top: 32px;\\n}\\n[data-rk] .ju367v4z {\\n margin-top: 36px;\\n}\\n[data-rk] .ju367v50 {\\n margin-top: 44px;\\n}\\n[data-rk] .ju367v51 {\\n margin-top: 64px;\\n}\\n[data-rk] .ju367v52 {\\n margin-top: -1px;\\n}\\n[data-rk] .ju367v53 {\\n max-width: 1px;\\n}\\n[data-rk] .ju367v54 {\\n max-width: 2px;\\n}\\n[data-rk] .ju367v55 {\\n max-width: 4px;\\n}\\n[data-rk] .ju367v56 {\\n max-width: 8px;\\n}\\n[data-rk] .ju367v57 {\\n max-width: 12px;\\n}\\n[data-rk] .ju367v58 {\\n max-width: 20px;\\n}\\n[data-rk] .ju367v59 {\\n max-width: 24px;\\n}\\n[data-rk] .ju367v5a {\\n max-width: 28px;\\n}\\n[data-rk] .ju367v5b {\\n max-width: 30px;\\n}\\n[data-rk] .ju367v5c {\\n max-width: 32px;\\n}\\n[data-rk] .ju367v5d {\\n max-width: 34px;\\n}\\n[data-rk] .ju367v5e {\\n max-width: 36px;\\n}\\n[data-rk] .ju367v5f {\\n max-width: 40px;\\n}\\n[data-rk] .ju367v5g {\\n max-width: 44px;\\n}\\n[data-rk] .ju367v5h {\\n max-width: 48px;\\n}\\n[data-rk] .ju367v5i {\\n max-width: 54px;\\n}\\n[data-rk] .ju367v5j {\\n max-width: 60px;\\n}\\n[data-rk] .ju367v5k {\\n max-width: 200px;\\n}\\n[data-rk] .ju367v5l {\\n max-width: 100%;\\n}\\n[data-rk] .ju367v5m {\\n max-width: -moz-max-content;\\n max-width: max-content;\\n}\\n[data-rk] .ju367v5n {\\n min-width: 1px;\\n}\\n[data-rk] .ju367v5o {\\n min-width: 2px;\\n}\\n[data-rk] .ju367v5p {\\n min-width: 4px;\\n}\\n[data-rk] .ju367v5q {\\n min-width: 8px;\\n}\\n[data-rk] .ju367v5r {\\n min-width: 12px;\\n}\\n[data-rk] .ju367v5s {\\n min-width: 20px;\\n}\\n[data-rk] .ju367v5t {\\n min-width: 24px;\\n}\\n[data-rk] .ju367v5u {\\n min-width: 28px;\\n}\\n[data-rk] .ju367v5v {\\n min-width: 30px;\\n}\\n[data-rk] .ju367v5w {\\n min-width: 32px;\\n}\\n[data-rk] .ju367v5x {\\n min-width: 34px;\\n}\\n[data-rk] .ju367v5y {\\n min-width: 36px;\\n}\\n[data-rk] .ju367v5z {\\n min-width: 40px;\\n}\\n[data-rk] .ju367v60 {\\n min-width: 44px;\\n}\\n[data-rk] .ju367v61 {\\n min-width: 48px;\\n}\\n[data-rk] .ju367v62 {\\n min-width: 54px;\\n}\\n[data-rk] .ju367v63 {\\n min-width: 60px;\\n}\\n[data-rk] .ju367v64 {\\n min-width: 200px;\\n}\\n[data-rk] .ju367v65 {\\n min-width: 100%;\\n}\\n[data-rk] .ju367v66 {\\n min-width: -moz-max-content;\\n min-width: max-content;\\n}\\n[data-rk] .ju367v67 {\\n overflow: hidden;\\n}\\n[data-rk] .ju367v68 {\\n padding-bottom: 0;\\n}\\n[data-rk] .ju367v69 {\\n padding-bottom: 1px;\\n}\\n[data-rk] .ju367v6a {\\n padding-bottom: 2px;\\n}\\n[data-rk] .ju367v6b {\\n padding-bottom: 3px;\\n}\\n[data-rk] .ju367v6c {\\n padding-bottom: 4px;\\n}\\n[data-rk] .ju367v6d {\\n padding-bottom: 5px;\\n}\\n[data-rk] .ju367v6e {\\n padding-bottom: 6px;\\n}\\n[data-rk] .ju367v6f {\\n padding-bottom: 8px;\\n}\\n[data-rk] .ju367v6g {\\n padding-bottom: 10px;\\n}\\n[data-rk] .ju367v6h {\\n padding-bottom: 12px;\\n}\\n[data-rk] .ju367v6i {\\n padding-bottom: 14px;\\n}\\n[data-rk] .ju367v6j {\\n padding-bottom: 16px;\\n}\\n[data-rk] .ju367v6k {\\n padding-bottom: 18px;\\n}\\n[data-rk] .ju367v6l {\\n padding-bottom: 20px;\\n}\\n[data-rk] .ju367v6m {\\n padding-bottom: 24px;\\n}\\n[data-rk] .ju367v6n {\\n padding-bottom: 28px;\\n}\\n[data-rk] .ju367v6o {\\n padding-bottom: 32px;\\n}\\n[data-rk] .ju367v6p {\\n padding-bottom: 36px;\\n}\\n[data-rk] .ju367v6q {\\n padding-bottom: 44px;\\n}\\n[data-rk] .ju367v6r {\\n padding-bottom: 64px;\\n}\\n[data-rk] .ju367v6s {\\n padding-bottom: -1px;\\n}\\n[data-rk] .ju367v6t {\\n padding-left: 0;\\n}\\n[data-rk] .ju367v6u {\\n padding-left: 1px;\\n}\\n[data-rk] .ju367v6v {\\n padding-left: 2px;\\n}\\n[data-rk] .ju367v6w {\\n padding-left: 3px;\\n}\\n[data-rk] .ju367v6x {\\n padding-left: 4px;\\n}\\n[data-rk] .ju367v6y {\\n padding-left: 5px;\\n}\\n[data-rk] .ju367v6z {\\n padding-left: 6px;\\n}\\n[data-rk] .ju367v70 {\\n padding-left: 8px;\\n}\\n[data-rk] .ju367v71 {\\n padding-left: 10px;\\n}\\n[data-rk] .ju367v72 {\\n padding-left: 12px;\\n}\\n[data-rk] .ju367v73 {\\n padding-left: 14px;\\n}\\n[data-rk] .ju367v74 {\\n padding-left: 16px;\\n}\\n[data-rk] .ju367v75 {\\n padding-left: 18px;\\n}\\n[data-rk] .ju367v76 {\\n padding-left: 20px;\\n}\\n[data-rk] .ju367v77 {\\n padding-left: 24px;\\n}\\n[data-rk] .ju367v78 {\\n padding-left: 28px;\\n}\\n[data-rk] .ju367v79 {\\n padding-left: 32px;\\n}\\n[data-rk] .ju367v7a {\\n padding-left: 36px;\\n}\\n[data-rk] .ju367v7b {\\n padding-left: 44px;\\n}\\n[data-rk] .ju367v7c {\\n padding-left: 64px;\\n}\\n[data-rk] .ju367v7d {\\n padding-left: -1px;\\n}\\n[data-rk] .ju367v7e {\\n padding-right: 0;\\n}\\n[data-rk] .ju367v7f {\\n padding-right: 1px;\\n}\\n[data-rk] .ju367v7g {\\n padding-right: 2px;\\n}\\n[data-rk] .ju367v7h {\\n padding-right: 3px;\\n}\\n[data-rk] .ju367v7i {\\n padding-right: 4px;\\n}\\n[data-rk] .ju367v7j {\\n padding-right: 5px;\\n}\\n[data-rk] .ju367v7k {\\n padding-right: 6px;\\n}\\n[data-rk] .ju367v7l {\\n padding-right: 8px;\\n}\\n[data-rk] .ju367v7m {\\n padding-right: 10px;\\n}\\n[data-rk] .ju367v7n {\\n padding-right: 12px;\\n}\\n[data-rk] .ju367v7o {\\n padding-right: 14px;\\n}\\n[data-rk] .ju367v7p {\\n padding-right: 16px;\\n}\\n[data-rk] .ju367v7q {\\n padding-right: 18px;\\n}\\n[data-rk] .ju367v7r {\\n padding-right: 20px;\\n}\\n[data-rk] .ju367v7s {\\n padding-right: 24px;\\n}\\n[data-rk] .ju367v7t {\\n padding-right: 28px;\\n}\\n[data-rk] .ju367v7u {\\n padding-right: 32px;\\n}\\n[data-rk] .ju367v7v {\\n padding-right: 36px;\\n}\\n[data-rk] .ju367v7w {\\n padding-right: 44px;\\n}\\n[data-rk] .ju367v7x {\\n padding-right: 64px;\\n}\\n[data-rk] .ju367v7y {\\n padding-right: -1px;\\n}\\n[data-rk] .ju367v7z {\\n padding-top: 0;\\n}\\n[data-rk] .ju367v80 {\\n padding-top: 1px;\\n}\\n[data-rk] .ju367v81 {\\n padding-top: 2px;\\n}\\n[data-rk] .ju367v82 {\\n padding-top: 3px;\\n}\\n[data-rk] .ju367v83 {\\n padding-top: 4px;\\n}\\n[data-rk] .ju367v84 {\\n padding-top: 5px;\\n}\\n[data-rk] .ju367v85 {\\n padding-top: 6px;\\n}\\n[data-rk] .ju367v86 {\\n padding-top: 8px;\\n}\\n[data-rk] .ju367v87 {\\n padding-top: 10px;\\n}\\n[data-rk] .ju367v88 {\\n padding-top: 12px;\\n}\\n[data-rk] .ju367v89 {\\n padding-top: 14px;\\n}\\n[data-rk] .ju367v8a {\\n padding-top: 16px;\\n}\\n[data-rk] .ju367v8b {\\n padding-top: 18px;\\n}\\n[data-rk] .ju367v8c {\\n padding-top: 20px;\\n}\\n[data-rk] .ju367v8d {\\n padding-top: 24px;\\n}\\n[data-rk] .ju367v8e {\\n padding-top: 28px;\\n}\\n[data-rk] .ju367v8f {\\n padding-top: 32px;\\n}\\n[data-rk] .ju367v8g {\\n padding-top: 36px;\\n}\\n[data-rk] .ju367v8h {\\n padding-top: 44px;\\n}\\n[data-rk] .ju367v8i {\\n padding-top: 64px;\\n}\\n[data-rk] .ju367v8j {\\n padding-top: -1px;\\n}\\n[data-rk] .ju367v8k {\\n position: absolute;\\n}\\n[data-rk] .ju367v8l {\\n position: fixed;\\n}\\n[data-rk] .ju367v8m {\\n position: relative;\\n}\\n[data-rk] .ju367v8n {\\n right: 0;\\n}\\n[data-rk] .ju367v8o {\\n transition: 0.125s ease;\\n}\\n[data-rk] .ju367v8p {\\n transition: transform 0.125s ease;\\n}\\n[data-rk] .ju367v8q {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n}\\n[data-rk] .ju367v8r {\\n width: 1px;\\n}\\n[data-rk] .ju367v8s {\\n width: 2px;\\n}\\n[data-rk] .ju367v8t {\\n width: 4px;\\n}\\n[data-rk] .ju367v8u {\\n width: 8px;\\n}\\n[data-rk] .ju367v8v {\\n width: 12px;\\n}\\n[data-rk] .ju367v8w {\\n width: 20px;\\n}\\n[data-rk] .ju367v8x {\\n width: 24px;\\n}\\n[data-rk] .ju367v8y {\\n width: 28px;\\n}\\n[data-rk] .ju367v8z {\\n width: 30px;\\n}\\n[data-rk] .ju367v90 {\\n width: 32px;\\n}\\n[data-rk] .ju367v91 {\\n width: 34px;\\n}\\n[data-rk] .ju367v92 {\\n width: 36px;\\n}\\n[data-rk] .ju367v93 {\\n width: 40px;\\n}\\n[data-rk] .ju367v94 {\\n width: 44px;\\n}\\n[data-rk] .ju367v95 {\\n width: 48px;\\n}\\n[data-rk] .ju367v96 {\\n width: 54px;\\n}\\n[data-rk] .ju367v97 {\\n width: 60px;\\n}\\n[data-rk] .ju367v98 {\\n width: 200px;\\n}\\n[data-rk] .ju367v99 {\\n width: 100%;\\n}\\n[data-rk] .ju367v9a {\\n width: -moz-max-content;\\n width: max-content;\\n}\\n[data-rk] .ju367v9b {\\n -webkit-backdrop-filter: var(--rk-blurs-modalOverlay);\\n backdrop-filter: var(--rk-blurs-modalOverlay);\\n}\\n[data-rk] .ju367v9c {\\n background: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367v9d:hover {\\n background: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367v9e:active {\\n background: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367v9f {\\n background: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367v9g:hover {\\n background: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367v9h:active {\\n background: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367v9i {\\n background: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367v9j:hover {\\n background: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367v9k:active {\\n background: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367v9l {\\n background: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367v9m:hover {\\n background: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367v9n:active {\\n background: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367v9o {\\n background: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367v9p:hover {\\n background: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367v9q:active {\\n background: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367v9r {\\n background: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367v9s:hover {\\n background: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367v9t:active {\\n background: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367v9u {\\n background: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367v9v:hover {\\n background: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367v9w:active {\\n background: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367v9x {\\n background: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367v9y:hover {\\n background: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367v9z:active {\\n background: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367va0 {\\n background: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367va1:hover {\\n background: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367va2:active {\\n background: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367va3 {\\n background: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367va4:hover {\\n background: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367va5:active {\\n background: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367va6 {\\n background: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367va7:hover {\\n background: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367va8:active {\\n background: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367va9 {\\n background: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vaa:hover {\\n background: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vab:active {\\n background: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vac {\\n background: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vad:hover {\\n background: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vae:active {\\n background: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vaf {\\n background: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vag:hover {\\n background: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vah:active {\\n background: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vai {\\n background: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vaj:hover {\\n background: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vak:active {\\n background: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367val {\\n background: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vam:hover {\\n background: var(--rk-colors-error);\\n}\\n[data-rk] .ju367van:active {\\n background: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vao {\\n background: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vap:hover {\\n background: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vaq:active {\\n background: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367var {\\n background: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vas:hover {\\n background: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vat:active {\\n background: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vau {\\n background: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vav:hover {\\n background: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vaw:active {\\n background: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vax {\\n background: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vay:hover {\\n background: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vaz:active {\\n background: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vb0 {\\n background: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vb1:hover {\\n background: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vb2:active {\\n background: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vb3 {\\n background: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vb4:hover {\\n background: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vb5:active {\\n background: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vb6 {\\n background: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vb7:hover {\\n background: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vb8:active {\\n background: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vb9 {\\n background: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vba:hover {\\n background: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vbb:active {\\n background: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vbc {\\n background: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vbd:hover {\\n background: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vbe:active {\\n background: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vbf {\\n background: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vbg:hover {\\n background: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vbh:active {\\n background: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vbi {\\n background: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vbj:hover {\\n background: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vbk:active {\\n background: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vbl {\\n background: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vbm:hover {\\n background: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vbn:active {\\n background: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vbo {\\n background: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vbp:hover {\\n background: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vbq:active {\\n background: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vbr {\\n background: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vbs:hover {\\n background: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vbt:active {\\n background: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vbu {\\n border-color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vbv:hover {\\n border-color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vbw:active {\\n border-color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vbx {\\n border-color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vby:hover {\\n border-color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vbz:active {\\n border-color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vc0 {\\n border-color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vc1:hover {\\n border-color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vc2:active {\\n border-color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vc3 {\\n border-color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vc4:hover {\\n border-color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vc5:active {\\n border-color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vc6 {\\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vc7:hover {\\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vc8:active {\\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vc9 {\\n border-color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vca:hover {\\n border-color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vcb:active {\\n border-color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vcc {\\n border-color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vcd:hover {\\n border-color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vce:active {\\n border-color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vcf {\\n border-color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vcg:hover {\\n border-color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vch:active {\\n border-color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vci {\\n border-color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vcj:hover {\\n border-color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vck:active {\\n border-color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vcl {\\n border-color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vcm:hover {\\n border-color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vcn:active {\\n border-color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vco {\\n border-color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vcp:hover {\\n border-color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vcq:active {\\n border-color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vcr {\\n border-color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vcs:hover {\\n border-color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vct:active {\\n border-color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vcu {\\n border-color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vcv:hover {\\n border-color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vcw:active {\\n border-color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vcx {\\n border-color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vcy:hover {\\n border-color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vcz:active {\\n border-color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vd0 {\\n border-color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vd1:hover {\\n border-color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vd2:active {\\n border-color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vd3 {\\n border-color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vd4:hover {\\n border-color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vd5:active {\\n border-color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vd6 {\\n border-color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vd7:hover {\\n border-color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vd8:active {\\n border-color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vd9 {\\n border-color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vda:hover {\\n border-color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vdb:active {\\n border-color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vdc {\\n border-color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vdd:hover {\\n border-color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vde:active {\\n border-color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vdf {\\n border-color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vdg:hover {\\n border-color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vdh:active {\\n border-color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vdi {\\n border-color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vdj:hover {\\n border-color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vdk:active {\\n border-color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vdl {\\n border-color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vdm:hover {\\n border-color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vdn:active {\\n border-color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vdo {\\n border-color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vdp:hover {\\n border-color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vdq:active {\\n border-color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vdr {\\n border-color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vds:hover {\\n border-color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vdt:active {\\n border-color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vdu {\\n border-color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vdv:hover {\\n border-color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vdw:active {\\n border-color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vdx {\\n border-color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vdy:hover {\\n border-color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vdz:active {\\n border-color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367ve0 {\\n border-color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367ve1:hover {\\n border-color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367ve2:active {\\n border-color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367ve3 {\\n border-color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367ve4:hover {\\n border-color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367ve5:active {\\n border-color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367ve6 {\\n border-color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367ve7:hover {\\n border-color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367ve8:active {\\n border-color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367ve9 {\\n border-color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vea:hover {\\n border-color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367veb:active {\\n border-color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vec {\\n box-shadow: var(--rk-shadows-connectButton);\\n}\\n[data-rk] .ju367ved:hover {\\n box-shadow: var(--rk-shadows-connectButton);\\n}\\n[data-rk] .ju367vee:active {\\n box-shadow: var(--rk-shadows-connectButton);\\n}\\n[data-rk] .ju367vef {\\n box-shadow: var(--rk-shadows-dialog);\\n}\\n[data-rk] .ju367veg:hover {\\n box-shadow: var(--rk-shadows-dialog);\\n}\\n[data-rk] .ju367veh:active {\\n box-shadow: var(--rk-shadows-dialog);\\n}\\n[data-rk] .ju367vei {\\n box-shadow: var(--rk-shadows-profileDetailsAction);\\n}\\n[data-rk] .ju367vej:hover {\\n box-shadow: var(--rk-shadows-profileDetailsAction);\\n}\\n[data-rk] .ju367vek:active {\\n box-shadow: var(--rk-shadows-profileDetailsAction);\\n}\\n[data-rk] .ju367vel {\\n box-shadow: var(--rk-shadows-selectedOption);\\n}\\n[data-rk] .ju367vem:hover {\\n box-shadow: var(--rk-shadows-selectedOption);\\n}\\n[data-rk] .ju367ven:active {\\n box-shadow: var(--rk-shadows-selectedOption);\\n}\\n[data-rk] .ju367veo {\\n box-shadow: var(--rk-shadows-selectedWallet);\\n}\\n[data-rk] .ju367vep:hover {\\n box-shadow: var(--rk-shadows-selectedWallet);\\n}\\n[data-rk] .ju367veq:active {\\n box-shadow: var(--rk-shadows-selectedWallet);\\n}\\n[data-rk] .ju367ver {\\n box-shadow: var(--rk-shadows-walletLogo);\\n}\\n[data-rk] .ju367ves:hover {\\n box-shadow: var(--rk-shadows-walletLogo);\\n}\\n[data-rk] .ju367vet:active {\\n box-shadow: var(--rk-shadows-walletLogo);\\n}\\n[data-rk] .ju367veu {\\n color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vev:hover {\\n color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vew:active {\\n color: var(--rk-colors-accentColor);\\n}\\n[data-rk] .ju367vex {\\n color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vey:hover {\\n color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vez:active {\\n color: var(--rk-colors-accentColorForeground);\\n}\\n[data-rk] .ju367vf0 {\\n color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vf1:hover {\\n color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vf2:active {\\n color: var(--rk-colors-actionButtonBorder);\\n}\\n[data-rk] .ju367vf3 {\\n color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vf4:hover {\\n color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vf5:active {\\n color: var(--rk-colors-actionButtonBorderMobile);\\n}\\n[data-rk] .ju367vf6 {\\n color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vf7:hover {\\n color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vf8:active {\\n color: var(--rk-colors-actionButtonSecondaryBackground);\\n}\\n[data-rk] .ju367vf9 {\\n color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vfa:hover {\\n color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vfb:active {\\n color: var(--rk-colors-closeButton);\\n}\\n[data-rk] .ju367vfc {\\n color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vfd:hover {\\n color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vfe:active {\\n color: var(--rk-colors-closeButtonBackground);\\n}\\n[data-rk] .ju367vff {\\n color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vfg:hover {\\n color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vfh:active {\\n color: var(--rk-colors-connectButtonBackground);\\n}\\n[data-rk] .ju367vfi {\\n color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vfj:hover {\\n color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vfk:active {\\n color: var(--rk-colors-connectButtonBackgroundError);\\n}\\n[data-rk] .ju367vfl {\\n color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vfm:hover {\\n color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vfn:active {\\n color: var(--rk-colors-connectButtonInnerBackground);\\n}\\n[data-rk] .ju367vfo {\\n color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vfp:hover {\\n color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vfq:active {\\n color: var(--rk-colors-connectButtonText);\\n}\\n[data-rk] .ju367vfr {\\n color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vfs:hover {\\n color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vft:active {\\n color: var(--rk-colors-connectButtonTextError);\\n}\\n[data-rk] .ju367vfu {\\n color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vfv:hover {\\n color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vfw:active {\\n color: var(--rk-colors-connectionIndicator);\\n}\\n[data-rk] .ju367vfx {\\n color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vfy:hover {\\n color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vfz:active {\\n color: var(--rk-colors-downloadBottomCardBackground);\\n}\\n[data-rk] .ju367vg0 {\\n color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vg1:hover {\\n color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vg2:active {\\n color: var(--rk-colors-downloadTopCardBackground);\\n}\\n[data-rk] .ju367vg3 {\\n color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vg4:hover {\\n color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vg5:active {\\n color: var(--rk-colors-error);\\n}\\n[data-rk] .ju367vg6 {\\n color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vg7:hover {\\n color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vg8:active {\\n color: var(--rk-colors-generalBorder);\\n}\\n[data-rk] .ju367vg9 {\\n color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vga:hover {\\n color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vgb:active {\\n color: var(--rk-colors-generalBorderDim);\\n}\\n[data-rk] .ju367vgc {\\n color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vgd:hover {\\n color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vge:active {\\n color: var(--rk-colors-menuItemBackground);\\n}\\n[data-rk] .ju367vgf {\\n color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vgg:hover {\\n color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vgh:active {\\n color: var(--rk-colors-modalBackdrop);\\n}\\n[data-rk] .ju367vgi {\\n color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vgj:hover {\\n color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vgk:active {\\n color: var(--rk-colors-modalBackground);\\n}\\n[data-rk] .ju367vgl {\\n color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vgm:hover {\\n color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vgn:active {\\n color: var(--rk-colors-modalBorder);\\n}\\n[data-rk] .ju367vgo {\\n color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vgp:hover {\\n color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vgq:active {\\n color: var(--rk-colors-modalText);\\n}\\n[data-rk] .ju367vgr {\\n color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vgs:hover {\\n color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vgt:active {\\n color: var(--rk-colors-modalTextDim);\\n}\\n[data-rk] .ju367vgu {\\n color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vgv:hover {\\n color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vgw:active {\\n color: var(--rk-colors-modalTextSecondary);\\n}\\n[data-rk] .ju367vgx {\\n color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vgy:hover {\\n color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vgz:active {\\n color: var(--rk-colors-profileAction);\\n}\\n[data-rk] .ju367vh0 {\\n color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vh1:hover {\\n color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vh2:active {\\n color: var(--rk-colors-profileActionHover);\\n}\\n[data-rk] .ju367vh3 {\\n color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vh4:hover {\\n color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vh5:active {\\n color: var(--rk-colors-profileForeground);\\n}\\n[data-rk] .ju367vh6 {\\n color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vh7:hover {\\n color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vh8:active {\\n color: var(--rk-colors-selectedOptionBorder);\\n}\\n[data-rk] .ju367vh9 {\\n color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vha:hover {\\n color: var(--rk-colors-standby);\\n}\\n[data-rk] .ju367vhb:active {\\n color: var(--rk-colors-standby);\\n}\\n@media screen and (min-width: 768px) {\\n [data-rk] .ju367v1 {\\n align-items: flex-start;\\n }\\n [data-rk] .ju367v3 {\\n align-items: flex-end;\\n }\\n [data-rk] .ju367v5 {\\n align-items: center;\\n }\\n [data-rk] .ju367v7 {\\n display: none;\\n }\\n [data-rk] .ju367v9 {\\n display: block;\\n }\\n [data-rk] .ju367vb {\\n display: flex;\\n }\\n [data-rk] .ju367vd {\\n display: inline;\\n }\\n}\\n\\n/* vanilla-extract-css-ns:src/css/touchableStyles.css.ts.vanilla.css?source=Ll8xMmNibzhpMywuXzEyY2JvOGkzOjphZnRlciB7CiAgLS1fMTJjYm84aTA6IDE7CiAgLS1fMTJjYm84aTE6IDE7Cn0KLl8xMmNibzhpMzpob3ZlciB7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTApKTsKfQouXzEyY2JvOGkzOmFjdGl2ZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTEpKTsKfQouXzEyY2JvOGkzOmFjdGl2ZTo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGJvdHRvbTogLTFweDsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAtMXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogLTFweDsKICB0b3A6IC0xcHg7CiAgdHJhbnNmb3JtOiBzY2FsZShjYWxjKCgxIC8gdmFyKC0tXzEyY2JvOGkxKSkgKiB2YXIoLS1fMTJjYm84aTApKSk7Cn0KLl8xMmNibzhpNCwuXzEyY2JvOGk0OjphZnRlciB7CiAgLS1fMTJjYm84aTA6IDEuMDI1Owp9Ci5fMTJjYm84aTUsLl8xMmNibzhpNTo6YWZ0ZXIgewogIC0tXzEyY2JvOGkwOiAxLjE7Cn0KLl8xMmNibzhpNiwuXzEyY2JvOGk2OjphZnRlciB7CiAgLS1fMTJjYm84aTE6IDAuOTU7Cn0KLl8xMmNibzhpNywuXzEyY2JvOGk3OjphZnRlciB7CiAgLS1fMTJjYm84aTE6IDAuOTsKfQ== */\\n[data-rk] ._12cbo8i3,\\n[data-rk] ._12cbo8i3::after {\\n --_12cbo8i0: 1;\\n --_12cbo8i1: 1;\\n}\\n[data-rk] ._12cbo8i3:hover {\\n transform: scale(var(--_12cbo8i0));\\n}\\n[data-rk] ._12cbo8i3:active {\\n transform: scale(var(--_12cbo8i1));\\n}\\n[data-rk] ._12cbo8i3:active::after {\\n content: \\\"\\\";\\n bottom: -1px;\\n display: block;\\n left: -1px;\\n position: absolute;\\n right: -1px;\\n top: -1px;\\n transform: scale(calc((1 / var(--_12cbo8i1)) * var(--_12cbo8i0)));\\n}\\n[data-rk] ._12cbo8i4,\\n[data-rk] ._12cbo8i4::after {\\n --_12cbo8i0: 1.025;\\n}\\n[data-rk] ._12cbo8i5,\\n[data-rk] ._12cbo8i5::after {\\n --_12cbo8i0: 1.1;\\n}\\n[data-rk] ._12cbo8i6,\\n[data-rk] ._12cbo8i6::after {\\n --_12cbo8i1: 0.95;\\n}\\n[data-rk] ._12cbo8i7,\\n[data-rk] ._12cbo8i7::after {\\n --_12cbo8i1: 0.9;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/Icons/Icons.css.ts.vanilla.css?source=QGtleWZyYW1lcyBfMWx1dWxlNDEgewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9Ci5fMWx1dWxlNDIgewogIGFuaW1hdGlvbjogXzFsdXVsZTQxIDNzIGluZmluaXRlIGxpbmVhcjsKfQouXzFsdXVsZTQzIHsKICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDE4MGRlZyBhdCA1MCUgNTAlLCByZ2JhKDcyLCAxNDYsIDI1NCwgMCkgMGRlZywgY3VycmVudENvbG9yIDI4Mi4wNGRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDMxOS44NmRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDM2MGRlZyk7CiAgaGVpZ2h0OiAyMXB4OwogIHdpZHRoOiAyMXB4Owp9 */\\n@keyframes _1luule41 {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n[data-rk] ._1luule42 {\\n animation: _1luule41 3s infinite linear;\\n}\\n[data-rk] ._1luule43 {\\n background: conic-gradient(from 180deg at 50% 50%, rgba(72, 146, 254, 0) 0deg, currentColor 282.04deg, rgba(72, 146, 254, 0) 319.86deg, rgba(72, 146, 254, 0) 360deg);\\n height: 21px;\\n width: 21px;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/Dialog/Dialog.css.ts.vanilla.css?source=QGtleWZyYW1lcyBfOXBtNGtpMCB7CiAgMCUgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9Cn0KQGtleWZyYW1lcyBfOXBtNGtpMSB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQouXzlwbTRraTMgewogIGFuaW1hdGlvbjogXzlwbTRraTEgMTUwbXMgZWFzZTsKICBib3R0b206IC0yMDBweDsKICBsZWZ0OiAtMjAwcHg7CiAgcGFkZGluZzogMjAwcHg7CiAgcmlnaHQ6IC0yMDBweDsKICB0b3A6IC0yMDBweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgei1pbmRleDogMjE0NzQ4MzY0NjsKfQouXzlwbTRraTUgewogIGFuaW1hdGlvbjogXzlwbTRraTAgMzUwbXMgY3ViaWMtYmV6aWVyKC4xNSwxLjE1LDAuNiwxLjAwKSwgXzlwbTRraTEgMTUwbXMgZWFzZTsKICBtYXgtd2lkdGg6IDEwMHZ3Owp9 */\\n@keyframes _9pm4ki0 {\\n 0% {\\n transform: translateY(100%);\\n }\\n 100% {\\n transform: translateY(0);\\n }\\n}\\n@keyframes _9pm4ki1 {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n[data-rk] ._9pm4ki3 {\\n animation: _9pm4ki1 150ms ease;\\n bottom: -200px;\\n left: -200px;\\n padding: 200px;\\n right: -200px;\\n top: -200px;\\n transform: translateZ(0);\\n z-index: 2147483646;\\n}\\n[data-rk] ._9pm4ki5 {\\n animation: _9pm4ki0 350ms cubic-bezier(.15, 1.15, 0.6, 1.00), _9pm4ki1 150ms ease;\\n max-width: 100vw;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/Dialog/DialogContent.css.ts.vanilla.css?source=Ll8xY2tqcG9rMSB7CiAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgbWF4LXdpZHRoOiAxMDB2dzsKICB3aWR0aDogMzYwcHg7Cn0KLl8xY2tqcG9rMiB7CiAgd2lkdGg6IDEwMHZ3Owp9Ci5fMWNranBvazMgewogIHdpZHRoOiA3NjhweDsKfQouXzFja2pwb2s0IHsKICBtaW4td2lkdGg6IDM2OHB4OwogIHdpZHRoOiAzNjhweDsKfQouXzFja2pwb2s2IHsKICBib3JkZXItd2lkdGg6IDBweDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHdpZHRoOiAxMDB2dzsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5fMWNranBvazEgewogICAgd2lkdGg6IDM2MHB4OwogIH0KICAuXzFja2pwb2syIHsKICAgIHdpZHRoOiA0ODBweDsKICB9CiAgLl8xY2tqcG9rMyB7CiAgICB3aWR0aDogNzIwcHg7CiAgfQogIC5fMWNranBvazQgewogICAgbWluLXdpZHRoOiAzNjhweDsKICAgIHdpZHRoOiAzNjhweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuXzFja2pwb2s3IHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIG1hcmdpbi10b3A6IC0yMDBweDsKICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDsKICAgIHRvcDogMjAwcHg7CiAgfQp9 */\\n[data-rk] ._1ckjpok1 {\\n box-sizing: content-box;\\n max-width: 100vw;\\n width: 360px;\\n}\\n[data-rk] ._1ckjpok2 {\\n width: 100vw;\\n}\\n[data-rk] ._1ckjpok3 {\\n width: 768px;\\n}\\n[data-rk] ._1ckjpok4 {\\n min-width: 368px;\\n width: 368px;\\n}\\n[data-rk] ._1ckjpok6 {\\n border-width: 0px;\\n box-sizing: border-box;\\n width: 100vw;\\n}\\n@media screen and (min-width: 768px) {\\n [data-rk] ._1ckjpok1 {\\n width: 360px;\\n }\\n [data-rk] ._1ckjpok2 {\\n width: 480px;\\n }\\n [data-rk] ._1ckjpok3 {\\n width: 720px;\\n }\\n [data-rk] ._1ckjpok4 {\\n min-width: 368px;\\n width: 368px;\\n }\\n}\\n@media screen and (max-width: 767px) {\\n [data-rk] ._1ckjpok7 {\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 0;\\n margin-top: -200px;\\n padding-bottom: 200px;\\n top: 200px;\\n }\\n}\\n\\n/* vanilla-extract-css-ns:src/components/MenuButton/MenuButton.css.ts.vanilla.css?source=LnY5aG9yYjA6aG92ZXIgewogIGJhY2tncm91bmQ6IHVuc2V0Owp9 */\\n[data-rk] .v9horb0:hover {\\n background: unset;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/ModalSelection/ModalSelection.css.ts.vanilla.css?source=Lmc1a2wwbDAgewogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0= */\\n[data-rk] .g5kl0l0 {\\n border-color: transparent;\\n}\\n\\n/* vanilla-extract-css-ns:src/components/ConnectOptions/DesktopOptions.css.ts.vanilla.css?source=Ll8xdnd0MGNnMCB7CiAgYmFja2dyb3VuZDogd2hpdGU7Cn0KLl8xdnd0MGNnMiB7CiAgbWF4LWhlaWdodDogNDU0cHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKfQouXzF2d3QwY2czIHsKICBtaW4td2lkdGg6IDI0NnB4Owp9Ci5fMXZ3dDBjZzQgewogIG1pbi13aWR0aDogMTAwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5fMXZ3dDBjZzMgewogICAgbWluLXdpZHRoOiAyODdweDsKICB9Cn0= */\\n[data-rk] ._1vwt0cg0 {\\n background: white;\\n}\\n[data-rk] ._1vwt0cg2 {\\n max-height: 454px;\\n overflow-y: auto;\\n}\\n[data-rk] ._1vwt0cg3 {\\n min-width: 246px;\\n}\\n[data-rk] ._1vwt0cg4 {\\n min-width: 100%;\\n}\\n@media screen and (min-width: 768px) {\\n [data-rk] ._1vwt0cg3 {\\n min-width: 287px;\\n }\\n}\\n\\n/* vanilla-extract-css-ns:src/components/ConnectOptions/MobileOptions.css.ts.vanilla.css?source=Ll8xYW0xNDQxMCB7CiAgb3ZlcmZsb3c6IGF1dG87CiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouXzFhbTE0NDEwOjotd2Via2l0LXNjcm9sbGJhciB7CiAgZGlzcGxheTogbm9uZTsKfQ== */\\n[data-rk] ._1am14410 {\\n overflow: auto;\\n scrollbar-width: none;\\n transform: translateZ(0);\\n}\\n[data-rk] ._1am14410::-webkit-scrollbar {\\n display: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxMV0udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzExXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2luZGV4LmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNpSDtBQUNqSCw4QkFBOEIscUdBQTJCO0FBQ3pEO0FBQ0EsaXhDQUFpeEMsY0FBYywyQkFBMkIsb0JBQW9CLHdCQUF3QixjQUFjLGVBQWUscUJBQXFCLDZCQUE2Qiw2Q0FBNkMsR0FBRyxzQkFBc0IscUJBQXFCLEdBQUcsc0JBQXNCLGlCQUFpQixHQUFHLHdEQUF3RCxrQkFBa0IsR0FBRyxzQkFBc0IsOEJBQThCLHNCQUFzQixHQUFHLHNCQUFzQiw2QkFBNkIsMEJBQTBCLHFCQUFxQixHQUFHLHNCQUFzQixrQkFBa0IsR0FBRyx3Q0FBd0MsZUFBZSxHQUFHLG1DQUFtQyxlQUFlLEdBQUcsc0JBQXNCLGtDQUFrQyxtQkFBbUIsR0FBRywrQkFBK0IsZUFBZSxHQUFHLGtDQUFrQyxrQkFBa0IsR0FBRyxpQ0FBaUMsa0JBQWtCLEdBQUcsb0RBQW9ELDZCQUE2QixHQUFHLHNCQUFzQixxQkFBcUIsb0JBQW9CLHFCQUFxQixHQUFHLHNCQUFzQixtQkFBbUIsMEJBQTBCLEdBQUcsZy9KQUFnL0osNEJBQTRCLEdBQUcsc0JBQXNCLDBCQUEwQixHQUFHLHNCQUFzQix3QkFBd0IsR0FBRyxzQkFBc0Isa0JBQWtCLEdBQUcsc0JBQXNCLG1CQUFtQixHQUFHLHNCQUFzQixrQkFBa0IsR0FBRyxzQkFBc0Isb0JBQW9CLEdBQUcsc0JBQXNCLDJCQUEy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QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLGtCQUFrQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixtQkFBbUIsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixnQ0FBZ0MsMkJBQTJCLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixtQkFBbUIsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixnQ0FBZ0MsMkJBQTJCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1QixtQkFBbUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIs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TUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssVUFBVSxZQUFZLE1BQU0sS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssVUFBVSxZQUFZLE1BQU0sS0FBSyxVQUFVLFlBQVksTUFBTSxLQUFLLFVBQVUsWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssWUFBWSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxVQUFVLEtBQUssS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxZQUFZLGFBQWEsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFlBQVksYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssVUFBVSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFlBQVksYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUs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LHVCQUF1QixzQ0FBc0MsR0FBRyx1QkFBdUIsb0JBQW9CLHNCQUFzQixHQUFHLHVCQUF1QixvQkFBb0Isc0JBQXNCLEdBQUcsdUJBQXVCLG9CQUFvQixzQkFBc0IsR0FBRyx1QkFBdUIsb0JBQW9CLHNCQUFzQixHQUFHLHVCQUF1QixvQkFBb0Isc0JBQXNCLEdBQUcsdUJBQXVCLG9CQUFvQixzQkFBc0IsR0FBRyx1QkFBdUIsb0JBQW9CLHNCQUFzQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLFdBQVcsR0FBRyx1QkFBdUIsYUFBYSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsdUJBQXVCLGFBQWEsR0FBRyx1QkFBdUIsYUFBYSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsdUJBQXVCLGFBQWEsR0FBRyx1QkFBdUIsYUFBYSxHQUFHLHVCQUF1QixjQUFjLEdBQUcsdUJBQXVCLGNBQWMsR0FBRyx1QkFBdUIsY0FBYyxHQUFHLHVCQUF1QixjQUFjLEdBQUcsdUJBQXVCLGNBQWMsR0FBRyx1QkFBdUIsY0FBYyxHQUFHLHVCQUF1QixjQUFjLEdBQUcsdUJBQXVCLGNBQWMsR0FBRyx1QkFBdUIsY0FBYyxHQUFHLHVCQUF1QixjQUFjLEdBQUcsdUJBQXVCLGNBQWMsR0FBRyx1QkFBdUIsY0FBYyxHQUFHLHVCQUF1QixjQUFjLEdBQUcsdUJBQXVCLGdCQUFnQixHQUFHLHVCQUF1QixnQkFBZ0IsR0FBRyx1QkFBdUIsZ0JBQWdCLEdBQUcsdUJBQXVCLGdCQUFnQixHQUFHLHVCQUF1QixpQkFBaUIsR0FBRyx1QkFBdUIsaUJBQWlCLEdBQUcsdUJBQXVCLGlCQUFpQixHQUFHLHVCQUF1QixpQkFBaUIsR0FBRyx1QkFBdUIsaUJBQWlCLEdBQUcsdUJBQXVCLGlCQUFpQixHQUFHLHVCQUF1QixpQkFBaUIsR0FBRyx1QkFBdUIsaUJBQWlCLEdBQUcsdUJBQXVCLGlCQUFpQixHQUFHLHVCQUF1QixpQkFBaUIsR0FBRyx1QkFBdUIsaUJBQWlCLEdBQUcsdUJBQXVCLGlCQUFpQixHQUFHLHVCQUF1QixpQkFBaUIsR0FBRyx1QkFBdUIsa0JBQWtCLEdBQUcsdUJBQXVCLGlCQUFpQixHQUFHLHVCQUF1Qiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLGdDQUFnQyxHQUFHLHVCQUF1Qiw4QkFBOEIsR0FBRyx1QkFBdUIsNEJBQTRCLEdBQUcsdUJBQXVCLG1DQUFtQyxHQUFHLHVCQUF1QixrQ0FBa0MsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsa0JBQWtCLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixtQkFBbUIsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLGdDQUFnQywyQkFBMkIsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixtQkFBbUIsR0FBRyx1QkFBdUIsbUJBQW1CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIsb0JBQW9CLEdBQUcsdUJBQXVCLGdDQUFnQywyQkFBMkIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLHlCQUF5QixHQUFHLHVCQUF1Qix5QkFBeUIsR0FBRyx1QkFBdUIseUJBQXlCLEdBQUcsdUJBQXVCLG9CQUFvQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLHdCQUF3QixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsdUJBQXVCLG1CQUFtQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIscUJBQXFCLEdBQUcsdUJBQXVCLHFCQUFxQixHQUFHLHVCQUF1QixxQkFBcUIsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHNCQUFzQixHQUFHLHVCQUF1QixzQkFBc0IsR0FBRyx1QkFBdUIsc0JBQXNCLEdBQUcsdUJBQXVCLHVCQUF1QixHQUFHLHVCQUF1QixvQkFBb0IsR0FBRyx1QkFBdUIsdUJBQXVCLEdBQUcsdUJBQXVCLGFBQWEsR0FBRyx1QkFBdUIsNEJBQTRCLEdBQUcsdUJBQXVCLHNDQUFzQyxHQUFHLHVCQUF1Qiw4QkFBOEIsMkJBQTJCLHNCQUFzQixHQUFHLHVCQUF1QixlQUFlLEdBQUcsdUJBQXVCLGVBQWUsR0FBRyx1QkFBdUIsZUFBZSxHQUFHLHVCQUF1QixlQUFlLEdBQUcsdUJBQXVCLGdC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QkFBdUIsUUFBUSxpQkFBaUIsS0FBSyxVQUFVLGlCQUFpQixLQUFLLEdBQUcsdUJBQXVCLG1DQUFtQyxtQkFBbUIsaUJBQWlCLG1CQUFtQixrQkFBa0IsZ0JBQWdCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsc0ZBQXNGLHFCQUFxQixHQUFHLDIvQkFBMi9CLDRCQUE0QixxQkFBcUIsaUJBQWlCLEdBQUcsd0JBQXdCLGlCQUFpQixHQUFHLHdCQUF3QixpQkFBaUIsR0FBRyx3QkFBd0IscUJBQXFCLGlCQUFpQixHQUFHLHdCQUF3QixzQkFBc0IsMkJBQTJCLGlCQUFpQixHQUFHLHdDQUF3QywwQkFBMEIsbUJBQW1CLEtBQUssMEJBQTBCLG1CQUFtQixLQUFLLDBCQUEwQixtQkFBbUIsS0FBSywwQkFBMEIsdUJBQXVCLG1CQUFtQixLQUFLLEdBQUcsd0NBQXdDLDBCQUEwQixtQ0FBbUMsb0NBQW9DLHlCQUF5Qiw0QkFBNEIsaUJBQWlCLEtBQUssR0FBRyxnTEFBZ0wsc0JBQXNCLEdBQUcsc0xBQXNMLDhCQUE4QixHQUFHLG9jQUFvYyxzQkFBc0IsR0FBRyx3QkFBd0Isc0JBQXNCLHFCQUFxQixHQUFHLHdCQUF3QixxQkFBcUIsR0FBRyx3QkFBd0Isb0JBQW9CLEdBQUcsd0NBQXdDLDBCQUEwQix1QkFBdUIsS0FBSyxHQUFHLHVUQUF1VCxtQkFBbUIsMEJBQTBCLDZCQUE2QixHQUFHLDJDQUEyQyxrQkFBa0IsR0FBRyxxQkFBcUI7QUFDaHQxSDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvaW5kZXguY3NzPzQ5MTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLyogdmFuaWxsYS1leHRyYWN0LWNzcy1uczpzcmMvY3NzL3Jlc2V0LmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9TG1sbGEySmpZekFnZXdvZ0lHSnZjbVJsY2pvZ01Ec0tJQ0JpYjNndGMybDZhVzVuT2lCaWIzSmtaWEl0WW05NE93b2dJR1p2Ym5RdGMybDZaVG9nTVRBd0pUc0tJQ0JzYVc1bExXaGxhV2RvZERvZ2JtOXliV0ZzT3dvZ0lHMWhjbWRwYmpvZ01Ec0tJQ0J3WVdSa2FXNW5PaUF3T3dvZ0lIUmxlSFF0WVd4cFoyNDZJR3hsWm5RN0NpQWdkbVZ5ZEdsallXd3RZV3hwWjI0NklHSmhjMlZzYVc1bE93b2dJQzEzWldKcmFYUXRkR0Z3TFdocFoyaHNhV2RvZEMxamIyeHZjam9nZEhKaGJuTndZWEpsYm5RN0NuMEtMbWxsYTJKall6RWdld29nSUd4cGMzUXRjM1I1YkdVNklHNXZibVU3Q24wS0xtbGxhMkpqWXpJZ2V3b2dJSEYxYjNSbGN6b2dibTl1WlRzS2ZRb3VhV1ZyWW1Oak1qcGlaV1p2Y21Vc0lDNXBaV3RpWTJNeU9tRm1kR1Z5SUhzS0lDQmpiMjUwWlc1ME9pQW5KenNLZlFvdWFXVnJZbU5qTXlCN0NpQWdZbTl5WkdWeUxXTnZiR3hoY0hObE9pQmpiMnhzWVhCelpUc0tJQ0JpYjNKa1pYSXRjM0JoWTJsdVp6b2dNRHNLZlFvdWFXVnJZbU5qTkNCN0NpQWdZWEJ3WldGeVlXNWpaVG9nYm05dVpUc0tmUW91YVdWclltTmpOU0I3Q2lBZ2IzVjBiR2x1WlRvZ2JtOXVaVHNLZlFvdWFXVnJZbU5qTlRvNmNHeGhZMlZvYjJ4a1pYSWdld29nSUc5d1lXTnBkSGs2SURFN0NuMEtMbWxsYTJKall6WWdld29nSUdKaFkydG5jbTkxYm1RdFkyOXNiM0k2SUhSeVlXNXpjR0Z5Wlc1ME93b2dJR052Ykc5eU9pQnBibWhsY21sME93cDlDaTVwWld0aVkyTTNPbVJwYzJGaWJHVmtJSHNLSUNCdmNHRmphWFI1T2lBeE93cDlDaTVwWld0aVkyTTNPam90YlhNdFpYaHdZVzVrSUhzS0lDQmthWE53YkdGNU9pQnViMjVsT3dwOUNpNXBaV3RpWTJNNE9qb3RiWE10WTJ4bFlYSWdld29nSUdScGMzQnNZWGs2SUc1dmJtVTdDbjBLTG1sbGEySmpZemc2T2kxM1pXSnJhWFF0YzJWaGNtTm9MV05oYm1ObGJDMWlkWFIwYjI0Z2V3b2dJQzEzWldKcmFYUXRZWEJ3WldGeVlXNWpaVG9nYm05dVpUc0tmUW91YVdWclltTmpPU0I3Q2lBZ1ltRmphMmR5YjNWdVpEb2dibTl1WlRzS0lDQmpkWEp6YjNJNklIQnZhVzUwWlhJN0NpQWdkR1Y0ZEMxaGJHbG5iam9nYkdWbWREc0tmUW91YVdWclltTmpZU0I3Q2lBZ1kyOXNiM0k2SUdsdWFHVnlhWFE3Q2lBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCdWIyNWxPd3A5ICovXFxuW2RhdGEtcmtdIC5pZWtiY2MwIHtcXG4gIGJvcmRlcjogMDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBmb250LXNpemU6IDEwMCU7XFxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5bZGF0YS1ya10gLmlla2JjYzEge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2MyIHtcXG4gIHF1b3Rlczogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2MyOmJlZm9yZSxcXG5bZGF0YS1ya10gLmlla2JjYzI6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjMyB7XFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjNCB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICBhcHBlYXJhbmNlOiBub25lO1xcbn1cXG5bZGF0YS1ya10gLmlla2JjYzUge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M1OjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjNTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M2IHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjNzpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5bZGF0YS1ya10gLmlla2JjYzc6Oi1tcy1leHBhbmQge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M4OjotbXMtY2xlYXIge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M4Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M5IHtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5bZGF0YS1ya10gLmlla2JjY2Ege1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbi8qIHZhbmlsbGEtZXh0cmFjdC1jc3MtbnM6c3JjL2Nzcy9zcHJpbmtsZXMuY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT0jSDRzSUFBQUFBQUFBRTZWZHk1TGp4aEc4Nnl0NGNZUjBvSUlFQ1JBY1greVY3TEFpN1BEQml2QVp4SXNZZ2dBSEFJZmtPUFR2NW1NZXFLenE3Z0pXcHhVcks3dXl1OUJNb0xITG41K1BpMkQxT3B2ODc0ZkpKQ3FMdkpvV1hicHZueVpabVo2bmJSYzEzWjkvK09PSG54ODR6NEJMcTZTSFduSlVuRlpkMnZRd3dSMlRGTzJoakM1UGs2cXUwbDQwcE5GTldjZTdYamlpNFZzSnZXaE1vMFZWRm9RODdaWFhwbVZtMEpySk1DbzFaeUNtZEh1SGJLSjRsemYxc1VxbWJmR1dYbkgxSzRFVkQxamRKR2t6YmFLa09GNm5iWDdvQzN1V0lBR0I3RVNXR2NHVUltWkJNSHNKOHhvMVAwNm56ZTcrUVRHTjRxNm9xMi9IcnF1cm4zcTVsU0kzcnFzcWpUdWVYQ3VTOTJsMTVKa0hUV2FkUkdVLzZVV2I5Szk2VTVScFA3V1JVajMvVHoxSUswSFcxLy9JWEhkOVZOdGR5bXQzdEhWWjlQdnMyTWVjaXFUYlBrM29xcjRLQ05vK0p3SGhFY1JaUUN3SjRuSkh4TWVtclp1bnlhRXVvTm5mN3ZIN2haSVVUWHJ2a0tkSlU1OTZtUGxNQk1WMWVkeFhmZHo4Z2F1cmJwcEYrNks4OUpibTltazczZFRKcGI4bWMrOHI1WEdaemU4S0o1UGJIakRkcGtXKzdhNGZoa1RVZk1HeUZvcXNKY3RhS3JKOGxoVUlXUjVkM0huQXNrSXBpeTdXZklWWkQxcEhWc2l5cE5ud2FCUFAxMTlacDNmSWNqYnJJeUtPOENsaXd4RUJSY1Fjc2FLSWhDTkNpbmpzLzNsMHVGNUMvYyt6cjgvcGhUUFB2eUwwZ3BsdnZ5SjBBNTBYWHhHWTMrZXZpRThqdTY4STNkYm41VmNFK21uZnF4cWFwdXFGb082NkY0THlEcjBRVlBIU0MwRVpUVytLb0l5MkY0S3h1bDRJQ0krOW1ZWGlYM3NocVBEVW0zVVk2OXliWEFoZHZrSlRXUHJIaHZaNU1aT2dOeU5CV3FVM0owRTZvdWVSSUpYdUxlaVl3THVrZzlMSjlud2FoV0VER29WeFZ5UzZBT2FRUnFHcU5ZM0N1QkdOMGtYek5uU21ZTnlZUm9FNW9WRlFsSktvRDdrWmlRWXdiZzd6RE9FdFhhVFpyUC9GN3hVa3VvL09OOGZUWGExaEgvVFlDSjZQYlZka2x3K0F5WG52TEdEcVNiMVNoakpuNnUxbFlIdUk0blM2U2J0VG12YS9rTDNLaG8vdTdyWVBmMnd5WFhydXBuZUgvRFFwMDR5SU9qQUVML0tGWVlwcW16WUZJWHBzUC91b3lZdnE2Z3F1M25CUGQzZXZsUkJ3UFhjU0JocjlLR0hvM3UrOVNoaG92cE9Fb2Q4SDNsbkN3TVZ6a1RCd0dieUoybWxETDJZaWlLcGZ6RVVRbGJid1JCQ3RlN0VRUWJUd3hWSmNFQ2pjRjBGUVV5Q0NZTGlWdUxZd0JhRUlBblZyc1FPZ3BraGNYZ0J0SkJCOFN5M2lQdWgya2RIbVh5UThEZ3dwUjREdWpDTm8yeTl5amdBeFc0NmdMYjhvT0FLbTlwa2pZQmwzZ2xyb21WS0FnTjY5QUFFNWxRQ0JhbXNCQXVVZWhLbUhjbDhFQ05UU0NCQVlxQlZXRUVSM0FnUVVIWVZWaGxwZWhVVUV5SWxEc0tuSjd0Yzh2a2xKVjE4RUFIQzhDUkFxZVRrVElMU3hsM01CUXZVc1BRRkNXM3U1RUNCMGJwZExBVUlYY2VsTG9tbTdMQU1KQTdKWEVnWkVoUklHU2w1TEdLZzVrbFlCYXQ1SUdLZ25sakF3VmlJdEoyaFBKUXpveXFRMWgzcHlhVVVCc3hVdzBPbExzdWwxTmR5WUxwOVpHUEozREFDQ1N3YUFEdDh6QU1pb0dBQzZ1MllBbU5BREE4REt2WENaMENNTlI0RFFsaU5BU01jUlVPaVJJNkRTVno3ZlVPbUpJNkNPTTBmQUtCZSthS0QyalNPb0ZuL0cxNVhXNGMvNXVnSENZd2pvWC85alp6dkxEeDc5SmNhcER0L0hPRlFRWUp6T2xMOWk0OE1BSVN1QXJwZS9aZ0FvSVdJQXFHR0RBTGgvOW1NR2dDSVRCb0FhVWdhQTFjN1lQRUlOT1FQQUVGc0dBSmtGQXVDbTJuOUdBTnhYK3p1K0ZvQW8yWExTdTJ0L2p3RDVCdHQvMzdTdWJTdjNaWTF4V0pFRHhrSHJDOFpoc2hvMlBnelFzZ0pnS2pvR2dCS09EQUExdkNJQSsvTEVBRkRrbVFHZ2hnc0RRRisrc1hta05RUXpCcUJEQkhNR29ESUREd0hRbDhFQ0FkQ1h3Wkt2QlNCOHRweTBMNE1BQVhKZkJvLzk2bllBbUpYMTZXbXlMWktFUEdrSkhodldJVXFTb3NyRkJ4ckJXb1RRRGc4aUVVUVhPTmlJSU9vUWdsZ0V3U1FuSW9nNmhTQVZRYlJsZ2t3RXdhTG44aFRBc20xbEZFeENJYU5BNExPTWd1SjNNZ3FxTCtXMWdlcjNNZ3JxcW1RVWpGakxDdzB6Y1pCUm9QRkY3Z2VvcTVIWEdsQ3RpQUtYRVhRRXhaOXlCRWNCQUJ5dkFnVGtud1FJWEF0bkFRS1NMZ0lFcm9NM0FVSW5lVFVUSUhSTlYzTkpOTzJobFNkaHFPelZRc0pRVWF1bGhJR1NmUWtETlFmU0trRE5Ld2tEOVlRU0JzWmFTOHNKMmlNSkE3bzIwcHBEUGJHMG9vQkpCQXgwK29ydWtNS2pqMVVtSVlBbGx6Q2dmQ3RoYUxldkNna0RxcDRsRE8zMzFVN0N3Q3lYRWdaV2RDOXFoL2FwUkJDb3IwVVFTRHVJSUtqN1JRUkI0WTI0SUZCNEs0S2dwazRFd1hCSGNXMWhDbDVGRUtnN2lSMEFOWjNGNVFYUVJRSmgrOU9Oa1QwUENXYzhUaG5DT1VkUTNhSEhFYlR0d3dWSFVESGhraU5veTRjK1I5Q3BEUU9Pb01zWXJnUzF0R2ZDVUlDQTNyVUFBVG1SQUlGcU53SUV5bzJGcVlkeUV3RUN0YVFDQkFiS2hCVUUwYmtBQVVWYllaV2hsa0pZUklBOGN3ZzBkZmkrKzlWdDhYamRLZHEwZFhuc3lGdVBKV0N5NHB6MlQxVERQUUNhdEl5NjRwV1FQSFkrNFVzamZEK1BiYUxxSTMvMjg5eTczb1NtVVVzb0RneDQvM05XTjN0VHltTURQTGEzVjlqU01vMDcvazduWS9zVDc4VER0aCtEVmV6Nk1aajRZejhHRGZKS3hnUFNFeGtRR3ZSTWdqRGtoUVJoekxkK0VPNjAxek1TcEFXdDV5Ukl4MXg3SkVoYmVMMGc4d05qTGtrUWFIMFNwRkxXUVQ4SWQ5UHJWVDhJZDlMcmtNNHRSTmRrV2VnZDlEcnFCK1c3NS9WakU3cTlVSnMwOVdHYUZXV1hOcjFYQXpmbHNXa2ZiMjMrKzNxTFhVYmtGY0YxL0puK2VCKzNseG5YWlgxTmplTGJXd2kvM1A2SFpDWlAyOXM5KytqODlPbjJ5dXo3KzhkakNMSWhtWCt2bS9RQkl4ejVjQkVHcHUwSU9RYXFRc0h4OWJMeHQvc0xxb1RnV2EzS1NyUFRTN0x5bENNSStCdkc2LzFvVlFKWk5WNmJ3RllQb3ZsUGVyMk9rNmk1ZlB0TUlHeUhFVUpkbkM5ajlMcEkzU1hHWmQybS9PMzBkYXVVYU1ydnRISk1CTWNobVFiNXI4TkZHSmhPSStRWXFNNXVqdjdmTmpDd1hMVFNGRnh2YW5GdXNtZzJsdVZ2VFVPL1A2TDU5Mm5raE41M0N1V01pMkZVdjEzLzNCZ21iamxHclkzUUg2WFd4aGdNby9vOVBYY2tmelZHSW1NSlIrbGlOT3ZoK1h6OW83R0tPTlZtdEN6TzVUYU43eVRGYmNHVElvNDZZTkNhUnhlUDJrUzZpTnhtTXFsUFZWbEh5YmY3QS9sZm9pWXh0TEhXVTZvSjFkWlN6ZWgybUI5VXY5Y0hDNC9XYU9yWTFINVRSK2UyblNucmJLM0g1SmxxUThsVDNlNHhUNis3WmxSeWJ4MXB2YUtaUWUwTXpSUURoLysxMkpOMHJSbTBrcWdkb1pYRmJRdHZmOTN5dHk3ZEc1cE82d2tkTkdwRDZPQnh1OEg3azRGdjc0OFBTSzdXQTVvWjFNN1BTTEZ4KzczUFhDNS9vN1Y0Tmc2MXE3T1J1STNjSTV0ZFd4dXRielBscTIyYWljRHR5dTZaYUlBMldqY21aNnRkbUp6dWRsK2ZlYkFGYkxTZXkwaWdkbHBHQnJlLytrejl2RVVuQkZwNzVhQlJ1eXNIajl0Y0habzZLOHIwcjNlSFJuSzFic3JNb0xaUFpncTNYeUs1LzdoVlRBaTBSc2xCbzNaSURoNjNOWG9ua0o5UWJyUTJ5YzZpdGt4MkdyZDllcHpCcE1tL0QvZG5XM3lQMDdvb0o1SGFURG1aRk1WMFVaVnM2SldtdFZKU3J0cEJTY25rbjJTNDQ5UVA4amZFTTQxaW9IWnBGTVY1V0s2aEZ5OWpwQmk0M2thSmtzbmltWXJGOWhnL25nL1FaaVh5aGdpek1pMUdVZkFIK1BIeU83UUpkUDczS0JUNGdvRkVqZ2YzOFdxVVhCZHJPRTYxaTNhdDRETTg1bzhqdFZBVHcwWXZ5a1FSRDhzMVRFTXlSb3FCS3gwbHlrQ1dhVmpjai9ialhDOVF3YllkSUZGQlY0em5ZYzlQNCtmdlZjb3BkOTh0bDNPV1E4a3NEL2ZqL1RqTk5zcHFwR1liWnoyVURHODk0OE00b1l6blphUTZSalNxRk40TjdYaGRuS3o3RG5HY1RXTStIUWNBc2Q2RXVwZ0dtRkVYbGNhVWFoLzZ4M3B2cXFZY1lGRzFuSW5HcWFvT0FCSzlZZFh4RGZDdE9rS05mV1hIQlluZXEvTGNBY2FVSjJ0Y3FQR1FJTkY3VGpQSEFJZHBKdEg0U2RzaFFhSTNsVmFhQWM3U3lxT3hsL1pqZ2tUdkxSMUVBNHlsZzBuaktvM0hCb25lUzVvNUJqaElNNG5HTjFvT0RoSzlWYlN4REhDSE5ocU5JVFFjSXlSNi8yZGlHR0QzVEJRYWR5Y2VLQ1I2VnlmbkQzQnpNc0dnb1hHTDBIczNJOFVBeDJiazBQZzArMUZDb3JkcERxSUJMczNCcERGcHhxT0ZSTy9LekJ3RGJKaVJKTlg0THZ1eFFxbzNYQTZpQVU3THdhU3hXTmJqaFZSdnQrdzhBNnlYblVoancxekhDNm5lalRtcEJwZ3lKNWZHbXduSEQ2bmVra25aQTV5WWxQNWh3TTdUZGhzbHQzL0M0RFByOFFIY3hKSmthcjFHVVlEcEdzV1J1Wk9USWlycm5HVGwydUtGM0syNmFpRzVjR2U5WDBTL3BsMVVsSzJ3NFQxcmkzY3k3ZFJTbkZTbG00TmVSQ1I3cjVWazRhalVZaXdrdFQ3N3YxRlpwc1RycEllaE1nU09sOEV5QkJKRkNhZDcxai9ydkNhWnJWYUNJYjlUbDI4Z2VIZ3R3eTVtT0FSTisrNXFZQ3J4VXdOeno4b2t3eGZpWlZEVkJwSzNZZlhMTE5uTW5tNDd6TXptR2hsV0JrK2x3VXF4R0piTHp5cXo1UmdaQW84L1NveEFGR2daSEFlUjJXcVlNaGRkT0ZDZ2kyOXRJektjVFdhUlc1TXBkYU9vMzVRYks1TU1VcE5CVlJ0STBtSDFHMWd5YTdyN1pESExGVm9VTkZ1TkdnVlBNWUtBbmNoa3o2TkZjYTdkZUdXY3JGU3pXRTRKcy8xQWVUYXVhcWc4RzFtdFpzRUhUTmxob0NaRzhESlVDR01ZTmpoZjNIYUVCTTdTamRIQmFhd0d6SEh3bHltTW1JdENZOGhjSEZaanBqM1J5eFQrVE0ybHNXbGFzdHpxMWxSSGVMbkN0T21JTk41TngyUzFjT3hVTDFmNE5aNmtNV2M4eStyRWpBZDJ1Y0ozbVpNMUxzdWNiZlZVdGxPNVhHR3NyUGthZDJVbHNGb3MrK0ZicnZCWERnYU51WEpRV0oyVjhjUXRWL2dwYzdMR1JabXpyZDdKY3JDV0sreVNMVjNqa0d6NVZsTmtPRXZMRlI3SWxLcXhQS1pjcThNUmo4NXloYk9SRXpXT1JzN1VEWWFYck1LL0dITTFyc1dZYlBVcTl1T3ZYR0ZWSEF3YXArS2dzQm9WNDVsWHJuQW01bVNORlRGbWI2M2V3MzZvdFZXWURnZUR4bTA0S0t3MnczcUN0VlZZRGp1QnhuN1lHYXhXeEhWTXRWVTRFaWVIeHBnNFNheitSRGlyMmlwc2laU21jU1A5dkwvczA2U0lKbTNjcEdrMXVYNCsrYkgzRDRHdmd2QncvdW5POVQ3QTQ5OTdzL3pvOG1UeXh4ZDZZVVRmZi91TllIMEorL0c3YWdTNWVrZkN6ekFUekJveDd6L0dURUFiQkQxK2twbGdFc1I4L0REekRmWEgvd0cydC9HcmlYb0FBQT09ICovXFxuW2RhdGEtcmtdIC5qdTM2N3YwIHtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djIge1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djQge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2IHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YyB7XFxuICBkaXNwbGF5OiBpbmxpbmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZSB7XFxuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmYge1xcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZyB7XFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aCB7XFxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmkge1xcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmoge1xcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmsge1xcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2bSB7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1hY3Rpb25CdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dm4ge1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmstcmFkaWktY29ubmVjdEJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2byB7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1tZW51QnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZwIHtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJrLXJhZGlpLW1vZGFsKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZxIHtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJrLXJhZGlpLW1vZGFsTW9iaWxlKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZyIHtcXG4gIGJvcmRlci1yYWRpdXM6IDI1JTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZzIHtcXG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z0IHtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2dSB7XFxuICBib3JkZXItd2lkdGg6IDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z2IHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dncge1xcbiAgYm9yZGVyLXdpZHRoOiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2eCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z5IHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z6IHtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTAge1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxMSB7XFxuICBmb250LWZhbWlseTogdmFyKC0tcmstZm9udHMtYm9keSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTIge1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTMge1xcbiAgZm9udC1zaXplOiAxM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTQge1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTUge1xcbiAgZm9udC1zaXplOiAxNnB4O1xcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTYge1xcbiAgZm9udC1zaXplOiAxOHB4O1xcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTcge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTgge1xcbiAgZm9udC1zaXplOiAyM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTkge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxYSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFiIHtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MWMge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFlIHtcXG4gIGdhcDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxZiB7XFxuICBnYXA6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxZyB7XFxuICBnYXA6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxaCB7XFxuICBnYXA6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxaSB7XFxuICBnYXA6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxaiB7XFxuICBnYXA6IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxayB7XFxuICBnYXA6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxbCB7XFxuICBnYXA6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxbSB7XFxuICBnYXA6IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MW4ge1xcbiAgZ2FwOiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFvIHtcXG4gIGdhcDogMTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxcCB7XFxuICBnYXA6IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXEge1xcbiAgZ2FwOiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFyIHtcXG4gIGdhcDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxcyB7XFxuICBnYXA6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXQge1xcbiAgZ2FwOiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djF1IHtcXG4gIGdhcDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxdiB7XFxuICBnYXA6IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXcge1xcbiAgZ2FwOiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djF4IHtcXG4gIGdhcDogNjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxeSB7XFxuICBnYXA6IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXoge1xcbiAgaGVpZ2h0OiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjAge1xcbiAgaGVpZ2h0OiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjEge1xcbiAgaGVpZ2h0OiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjIge1xcbiAgaGVpZ2h0OiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjMge1xcbiAgaGVpZ2h0OiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djI0IHtcXG4gIGhlaWdodDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyNSB7XFxuICBoZWlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjYge1xcbiAgaGVpZ2h0OiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djI3IHtcXG4gIGhlaWdodDogMzBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyOCB7XFxuICBoZWlnaHQ6IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mjkge1xcbiAgaGVpZ2h0OiAzNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJhIHtcXG4gIGhlaWdodDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyYiB7XFxuICBoZWlnaHQ6IDQwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MmMge1xcbiAgaGVpZ2h0OiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJkIHtcXG4gIGhlaWdodDogNDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyZSB7XFxuICBoZWlnaHQ6IDU0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MmYge1xcbiAgaGVpZ2h0OiA2MHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJnIHtcXG4gIGhlaWdodDogMjAwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mmgge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJpIHtcXG4gIGhlaWdodDogLW1vei1tYXgtY29udGVudDtcXG4gIGhlaWdodDogbWF4LWNvbnRlbnQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mmoge1xcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJrIHtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mmwge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mm0ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJuIHtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJvIHtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MnAge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJxIHtcXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MnIge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YycyB7XFxuICBtYXJnaW4tYm90dG9tOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MnQge1xcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJ1IHtcXG4gIG1hcmdpbi1ib3R0b206IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YydiB7XFxuICBtYXJnaW4tYm90dG9tOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mncge1xcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJ4IHtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyeSB7XFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mnoge1xcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzMCB7XFxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djMxIHtcXG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MzIge1xcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzMyB7XFxuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djM0IHtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MzUge1xcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzNiB7XFxuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djM3IHtcXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mzgge1xcbiAgbWFyZ2luLWJvdHRvbTogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzOSB7XFxuICBtYXJnaW4tYm90dG9tOiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNhIHtcXG4gIG1hcmdpbi1ib3R0b206IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2M2Ige1xcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzYyB7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzZCB7XFxuICBtYXJnaW4tbGVmdDogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNlIHtcXG4gIG1hcmdpbi1sZWZ0OiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2M2Yge1xcbiAgbWFyZ2luLWxlZnQ6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzZyB7XFxuICBtYXJnaW4tbGVmdDogNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNoIHtcXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2M2kge1xcbiAgbWFyZ2luLWxlZnQ6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzaiB7XFxuICBtYXJnaW4tbGVmdDogOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNrIHtcXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNsIHtcXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNtIHtcXG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNuIHtcXG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNvIHtcXG4gIG1hcmdpbi1sZWZ0OiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNwIHtcXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNxIHtcXG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNyIHtcXG4gIG1hcmdpbi1sZWZ0OiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNzIHtcXG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN0IHtcXG4gIG1hcmdpbi1sZWZ0OiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN1IHtcXG4gIG1hcmdpbi1sZWZ0OiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN2IHtcXG4gIG1hcmdpbi1sZWZ0OiA2NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN3IHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN4IHtcXG4gIG1hcmdpbi1yaWdodDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzeSB7XFxuICBtYXJnaW4tcmlnaHQ6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzeiB7XFxuICBtYXJnaW4tcmlnaHQ6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MCB7XFxuICBtYXJnaW4tcmlnaHQ6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MSB7XFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MiB7XFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MyB7XFxuICBtYXJnaW4tcmlnaHQ6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0NCB7XFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0NSB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NDYge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djQ3IHtcXG4gIG1hcmdpbi1yaWdodDogMTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0OCB7XFxuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NDkge1xcbiAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRhIHtcXG4gIG1hcmdpbi1yaWdodDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0YiB7XFxuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGMge1xcbiAgbWFyZ2luLXJpZ2h0OiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRkIHtcXG4gIG1hcmdpbi1yaWdodDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0ZSB7XFxuICBtYXJnaW4tcmlnaHQ6IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGYge1xcbiAgbWFyZ2luLXJpZ2h0OiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRnIHtcXG4gIG1hcmdpbi1yaWdodDogNjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0aCB7XFxuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGkge1xcbiAgbWFyZ2luLXRvcDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0aiB7XFxuICBtYXJnaW4tdG9wOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGsge1xcbiAgbWFyZ2luLXRvcDogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRsIHtcXG4gIG1hcmdpbi10b3A6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0bSB7XFxuICBtYXJnaW4tdG9wOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NG4ge1xcbiAgbWFyZ2luLXRvcDogNXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRvIHtcXG4gIG1hcmdpbi10b3A6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0cCB7XFxuICBtYXJnaW4tdG9wOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHEge1xcbiAgbWFyZ2luLXRvcDogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0ciB7XFxuICBtYXJnaW4tdG9wOiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRzIHtcXG4gIG1hcmdpbi10b3A6IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHQge1xcbiAgbWFyZ2luLXRvcDogMTZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0dSB7XFxuICBtYXJnaW4tdG9wOiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djR2IHtcXG4gIG1hcmdpbi10b3A6IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHcge1xcbiAgbWFyZ2luLXRvcDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0eCB7XFxuICBtYXJnaW4tdG9wOiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djR5IHtcXG4gIG1hcmdpbi10b3A6IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHoge1xcbiAgbWFyZ2luLXRvcDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1MCB7XFxuICBtYXJnaW4tdG9wOiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djUxIHtcXG4gIG1hcmdpbi10b3A6IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NTIge1xcbiAgbWFyZ2luLXRvcDogLTFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1MyB7XFxuICBtYXgtd2lkdGg6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NCB7XFxuICBtYXgtd2lkdGg6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NSB7XFxuICBtYXgtd2lkdGg6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NiB7XFxuICBtYXgtd2lkdGg6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NyB7XFxuICBtYXgtd2lkdGg6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NTgge1xcbiAgbWF4LXdpZHRoOiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djU5IHtcXG4gIG1heC13aWR0aDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1YSB7XFxuICBtYXgtd2lkdGg6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWIge1xcbiAgbWF4LXdpZHRoOiAzMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djVjIHtcXG4gIG1heC13aWR0aDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1ZCB7XFxuICBtYXgtd2lkdGg6IDM0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWUge1xcbiAgbWF4LXdpZHRoOiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djVmIHtcXG4gIG1heC13aWR0aDogNDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1ZyB7XFxuICBtYXgtd2lkdGg6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWgge1xcbiAgbWF4LXdpZHRoOiA0OHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djVpIHtcXG4gIG1heC13aWR0aDogNTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1aiB7XFxuICBtYXgtd2lkdGg6IDYwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWsge1xcbiAgbWF4LXdpZHRoOiAyMDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1bCB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NW0ge1xcbiAgbWF4LXdpZHRoOiAtbW96LW1heC1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1biB7XFxuICBtaW4td2lkdGg6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1byB7XFxuICBtaW4td2lkdGg6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1cCB7XFxuICBtaW4td2lkdGg6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1cSB7XFxuICBtaW4td2lkdGg6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1ciB7XFxuICBtaW4td2lkdGg6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NXMge1xcbiAgbWluLXdpZHRoOiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djV0IHtcXG4gIG1pbi13aWR0aDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1dSB7XFxuICBtaW4td2lkdGg6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NXYge1xcbiAgbWluLXdpZHRoOiAzMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djV3IHtcXG4gIG1pbi13aWR0aDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1eCB7XFxuICBtaW4td2lkdGg6IDM0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NXkge1xcbiAgbWluLXdpZHRoOiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djV6IHtcXG4gIG1pbi13aWR0aDogNDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2MCB7XFxuICBtaW4td2lkdGg6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NjEge1xcbiAgbWluLXdpZHRoOiA0OHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djYyIHtcXG4gIG1pbi13aWR0aDogNTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2MyB7XFxuICBtaW4td2lkdGg6IDYwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NjQge1xcbiAgbWluLXdpZHRoOiAyMDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2NSB7XFxuICBtaW4td2lkdGg6IDEwMCU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NjYge1xcbiAgbWluLXdpZHRoOiAtbW96LW1heC1jb250ZW50O1xcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2NyB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djY4IHtcXG4gIHBhZGRpbmctYm90dG9tOiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djY5IHtcXG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NmEge1xcbiAgcGFkZGluZy1ib3R0b206IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2YiB7XFxuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZjIHtcXG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NmQge1xcbiAgcGFkZGluZy1ib3R0b206IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2ZSB7XFxuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZmIHtcXG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmcge1xcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmgge1xcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmkge1xcbiAgcGFkZGluZy1ib3R0b206IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmoge1xcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmsge1xcbiAgcGFkZGluZy1ib3R0b206IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmwge1xcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nm0ge1xcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nm4ge1xcbiAgcGFkZGluZy1ib3R0b206IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nm8ge1xcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnAge1xcbiAgcGFkZGluZy1ib3R0b206IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnEge1xcbiAgcGFkZGluZy1ib3R0b206IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnIge1xcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnMge1xcbiAgcGFkZGluZy1ib3R0b206IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnQge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ1IHtcXG4gIHBhZGRpbmctbGVmdDogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ2IHtcXG4gIHBhZGRpbmctbGVmdDogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ3IHtcXG4gIHBhZGRpbmctbGVmdDogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ4IHtcXG4gIHBhZGRpbmctbGVmdDogNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ5IHtcXG4gIHBhZGRpbmctbGVmdDogNXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ6IHtcXG4gIHBhZGRpbmctbGVmdDogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djcwIHtcXG4gIHBhZGRpbmctbGVmdDogOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djcxIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3MiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NzMge1xcbiAgcGFkZGluZy1sZWZ0OiAxNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djc0IHtcXG4gIHBhZGRpbmctbGVmdDogMTZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3NSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NzYge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djc3IHtcXG4gIHBhZGRpbmctbGVmdDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3OCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdhIHtcXG4gIHBhZGRpbmctbGVmdDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3YiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N2Mge1xcbiAgcGFkZGluZy1sZWZ0OiA2NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdkIHtcXG4gIHBhZGRpbmctbGVmdDogLTFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3ZSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdmIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3ZyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N2gge1xcbiAgcGFkZGluZy1yaWdodDogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdpIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3aiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N2sge1xcbiAgcGFkZGluZy1yaWdodDogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdsIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3bSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djduIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N28ge1xcbiAgcGFkZGluZy1yaWdodDogMTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3cCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N3Ige1xcbiAgcGFkZGluZy1yaWdodDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3cyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djd0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N3Uge1xcbiAgcGFkZGluZy1yaWdodDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3diB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djd3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N3gge1xcbiAgcGFkZGluZy1yaWdodDogNjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3eSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAtMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djd6IHtcXG4gIHBhZGRpbmctdG9wOiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djgwIHtcXG4gIHBhZGRpbmctdG9wOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODEge1xcbiAgcGFkZGluZy10b3A6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4MiB7XFxuICBwYWRkaW5nLXRvcDogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djgzIHtcXG4gIHBhZGRpbmctdG9wOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODQge1xcbiAgcGFkZGluZy10b3A6IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4NSB7XFxuICBwYWRkaW5nLXRvcDogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djg2IHtcXG4gIHBhZGRpbmctdG9wOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODcge1xcbiAgcGFkZGluZy10b3A6IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODgge1xcbiAgcGFkZGluZy10b3A6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODkge1xcbiAgcGFkZGluZy10b3A6IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGEge1xcbiAgcGFkZGluZy10b3A6IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGIge1xcbiAgcGFkZGluZy10b3A6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGMge1xcbiAgcGFkZGluZy10b3A6IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGQge1xcbiAgcGFkZGluZy10b3A6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGUge1xcbiAgcGFkZGluZy10b3A6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGYge1xcbiAgcGFkZGluZy10b3A6IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGcge1xcbiAgcGFkZGluZy10b3A6IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGgge1xcbiAgcGFkZGluZy10b3A6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGkge1xcbiAgcGFkZGluZy10b3A6IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGoge1xcbiAgcGFkZGluZy10b3A6IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGsge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djhsIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4bSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OG4ge1xcbiAgcmlnaHQ6IDA7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OG8ge1xcbiAgdHJhbnNpdGlvbjogMC4xMjVzIGVhc2U7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OHAge1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBlYXNlO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djhxIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OHIge1xcbiAgd2lkdGg6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4cyB7XFxuICB3aWR0aDogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djh0IHtcXG4gIHdpZHRoOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OHUge1xcbiAgd2lkdGg6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4diB7XFxuICB3aWR0aDogMTJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4dyB7XFxuICB3aWR0aDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4eCB7XFxuICB3aWR0aDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4eSB7XFxuICB3aWR0aDogMjhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4eiB7XFxuICB3aWR0aDogMzBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MCB7XFxuICB3aWR0aDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MSB7XFxuICB3aWR0aDogMzRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MiB7XFxuICB3aWR0aDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MyB7XFxuICB3aWR0aDogNDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NCB7XFxuICB3aWR0aDogNDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NSB7XFxuICB3aWR0aDogNDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NiB7XFxuICB3aWR0aDogNTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NyB7XFxuICB3aWR0aDogNjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5OCB7XFxuICB3aWR0aDogMjAwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OTkge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWEge1xcbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XFxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWIge1xcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IHZhcigtLXJrLWJsdXJzLW1vZGFsT3ZlcmxheSk7XFxuICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLXJrLWJsdXJzLW1vZGFsT3ZlcmxheSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ZDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djllOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlmIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlnOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djloOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5aSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ajpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5azphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWwge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OW06aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OW46YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlvIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5cDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXE6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlzOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXQ6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXY6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXc6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djl4IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXk6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ejphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhMCB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YTE6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmEyOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YTMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmE0OmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhNTphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmE2IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YTc6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhODphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhOSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWE6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFiOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFkOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0aW9uSW5kaWNhdG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhZTphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFmIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhZzpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRCb3R0b21DYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWg6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhaSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWo6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFrOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWwge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhbTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFuOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFvIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhcDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXE6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXM6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXJEaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmF0OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXY6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXc6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmF4IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZheTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZHJvcCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXo6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiMCB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiMTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiMjphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YjMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiNDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI1OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI2IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI3OmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI4OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiOSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiYTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiYjphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YmMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YmQ6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YmU6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJmIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiZzpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Ymg6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiaSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Ziajpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiazphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Ymwge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZibTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJuOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJvIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YnA6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZicTphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YnM6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXN0YW5kYnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJ0OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YnUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJ2OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZidzphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJ4IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Ynk6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiejphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjMCB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmMxOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YzI6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YzMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjNDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM1OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM2IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM3OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM4OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjOSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2E6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNiOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2Mge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjZDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNlOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNmIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjZzpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2g6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjaSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zjajpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjazphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2wge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y206aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y246YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNvIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjcDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3E6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zjczpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjdDphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3Uge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3Y6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3c6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmN4IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmN5OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmN6OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkMCB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkMTpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkMjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZDMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ0OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkNTphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ2IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ3OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ4OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkOSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyRGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkYTpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyRGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkYjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZGMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbWVudUl0ZW1CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkZDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRlOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRmIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRnOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRoOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkaSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRqOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZGs6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZGwge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRtOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkbjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRvIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZHA6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkcTphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHREaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRzOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZHQ6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZHUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0U2Vjb25kYXJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zkdjpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR3OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR4IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR5OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR6OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlMCB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uSG92ZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmUxOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZTI6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZTMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmU0OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlNTphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmU2IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlNzpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZTg6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlOSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zdGFuZGJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlYTpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zdGFuZGJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlYjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZWMge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1jb25uZWN0QnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlZDpob3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWNvbm5lY3RCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVlOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWNvbm5lY3RCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVmIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3MtZGlhbG9nKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlZzpob3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWRpYWxvZyk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZWg6YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3MtZGlhbG9nKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlaSB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXByb2ZpbGVEZXRhaWxzQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zlajpob3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXByb2ZpbGVEZXRhaWxzQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlazphY3RpdmUge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1wcm9maWxlRGV0YWlsc0FjdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZWwge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1zZWxlY3RlZE9wdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZW06aG92ZXIge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1zZWxlY3RlZE9wdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZW46YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRPcHRpb24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVvIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVwOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVxOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXNlbGVjdGVkV2FsbGV0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXdhbGxldExvZ28pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVzOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtd2FsbGV0TG9nbyk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXQ6YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtd2FsbGV0TG9nbyk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXY6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXc6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmV4IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZleTpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXo6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmMCB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZjE6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmYyOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZjMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmY0OmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmNTphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmY2IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zjc6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmODphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmOSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmYTpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmYjphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZmMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZkOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmZTphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZmIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZnOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZoOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmaSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZqOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zms6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zmwge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmbTpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZuOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZvIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZwOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZxOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZzOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZnQ6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZnUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0aW9uSW5kaWNhdG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zmdjpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZ3OmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZ4IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRCb3R0b21DYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Znk6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmejphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnMCB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmcxOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzI6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1lcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzQ6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1lcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzU6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmc2IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zzc6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnODphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnOSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXJEaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdhOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2I6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2Mge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdkOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbWVudUl0ZW1CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnZTphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdmIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZHJvcCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2c6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnaDphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnaSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2o6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdrOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2wge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z206aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z246YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdvIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZncDpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3E6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3M6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHREaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmd0OmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3Uge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmd2OmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0U2Vjb25kYXJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZndzphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmd4IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3k6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnejphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZoMCB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDE6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uSG92ZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmgyOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDQ6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDU6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmg2IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc2VsZWN0ZWRPcHRpb25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmg3OmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc2VsZWN0ZWRPcHRpb25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmg4OmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZoOSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXN0YW5kYnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmhhOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aGI6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICBbZGF0YS1ya10gLmp1MzY3djEge1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIH1cXG4gIFtkYXRhLXJrXSAuanUzNjd2MyB7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcXG4gIH1cXG4gIFtkYXRhLXJrXSAuanUzNjd2NSB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxuICBbZGF0YS1ya10gLmp1MzY3djcge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgW2RhdGEtcmtdIC5qdTM2N3Y5IHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuICBbZGF0YS1ya10gLmp1MzY3dmIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcbiAgW2RhdGEtcmtdIC5qdTM2N3ZkIHtcXG4gICAgZGlzcGxheTogaW5saW5lO1xcbiAgfVxcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jc3MvdG91Y2hhYmxlU3R5bGVzLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9TGw4eE1tTmliemhwTXl3dVh6RXlZMkp2T0drek9qcGhablJsY2lCN0NpQWdMUzFmTVRKalltODRhVEE2SURFN0NpQWdMUzFmTVRKalltODRhVEU2SURFN0NuMEtMbDh4TW1OaWJ6aHBNenBvYjNabGNpQjdDaUFnZEhKaGJuTm1iM0p0T2lCelkyRnNaU2gyWVhJb0xTMWZNVEpqWW04NGFUQXBLVHNLZlFvdVh6RXlZMkp2T0drek9tRmpkR2wyWlNCN0NpQWdkSEpoYm5ObWIzSnRPaUJ6WTJGc1pTaDJZWElvTFMxZk1USmpZbTg0YVRFcEtUc0tmUW91WHpFeVkySnZPR2t6T21GamRHbDJaVG82WVdaMFpYSWdld29nSUdOdmJuUmxiblE2SUNJaU93b2dJR0p2ZEhSdmJUb2dMVEZ3ZURzS0lDQmthWE53YkdGNU9pQmliRzlqYXpzS0lDQnNaV1owT2lBdE1YQjRPd29nSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzS0lDQnlhV2RvZERvZ0xURndlRHNLSUNCMGIzQTZJQzB4Y0hnN0NpQWdkSEpoYm5ObWIzSnRPaUJ6WTJGc1pTaGpZV3hqS0NneElDOGdkbUZ5S0MwdFh6RXlZMkp2T0dreEtTa2dLaUIyWVhJb0xTMWZNVEpqWW04NGFUQXBLU2s3Q24wS0xsOHhNbU5pYnpocE5Dd3VYekV5WTJKdk9HazBPanBoWm5SbGNpQjdDaUFnTFMxZk1USmpZbTg0YVRBNklERXVNREkxT3dwOUNpNWZNVEpqWW04NGFUVXNMbDh4TW1OaWJ6aHBOVG82WVdaMFpYSWdld29nSUMwdFh6RXlZMkp2T0drd09pQXhMakU3Q24wS0xsOHhNbU5pYnpocE5pd3VYekV5WTJKdk9HazJPanBoWm5SbGNpQjdDaUFnTFMxZk1USmpZbTg0YVRFNklEQXVPVFU3Q24wS0xsOHhNbU5pYnpocE55d3VYekV5WTJKdk9HazNPanBoWm5SbGNpQjdDaUFnTFMxZk1USmpZbTg0YVRFNklEQXVPVHNLZlE9PSAqL1xcbltkYXRhLXJrXSAuXzEyY2JvOGkzLFxcbltkYXRhLXJrXSAuXzEyY2JvOGkzOjphZnRlciB7XFxuICAtLV8xMmNibzhpMDogMTtcXG4gIC0tXzEyY2JvOGkxOiAxO1xcbn1cXG5bZGF0YS1ya10gLl8xMmNibzhpMzpob3ZlciB7XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLV8xMmNibzhpMCkpO1xcbn1cXG5bZGF0YS1ya10gLl8xMmNibzhpMzphY3RpdmUge1xcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTEpKTtcXG59XFxuW2RhdGEtcmtdIC5fMTJjYm84aTM6YWN0aXZlOjphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvdHRvbTogLTFweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbGVmdDogLTFweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAtMXB4O1xcbiAgdG9wOiAtMXB4O1xcbiAgdHJhbnNmb3JtOiBzY2FsZShjYWxjKCgxIC8gdmFyKC0tXzEyY2JvOGkxKSkgKiB2YXIoLS1fMTJjYm84aTApKSk7XFxufVxcbltkYXRhLXJrXSAuXzEyY2JvOGk0LFxcbltkYXRhLXJrXSAuXzEyY2JvOGk0OjphZnRlciB7XFxuICAtLV8xMmNibzhpMDogMS4wMjU7XFxufVxcbltkYXRhLXJrXSAuXzEyY2JvOGk1LFxcbltkYXRhLXJrXSAuXzEyY2JvOGk1OjphZnRlciB7XFxuICAtLV8xMmNibzhpMDogMS4xO1xcbn1cXG5bZGF0YS1ya10gLl8xMmNibzhpNixcXG5bZGF0YS1ya10gLl8xMmNibzhpNjo6YWZ0ZXIge1xcbiAgLS1fMTJjYm84aTE6IDAuOTU7XFxufVxcbltkYXRhLXJrXSAuXzEyY2JvOGk3LFxcbltkYXRhLXJrXSAuXzEyY2JvOGk3OjphZnRlciB7XFxuICAtLV8xMmNibzhpMTogMC45O1xcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL0ljb25zL0ljb25zLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9UUd0bGVXWnlZVzFsY3lCZk1XeDFkV3hsTkRFZ2V3b2dJREFsSUhzS0lDQWdJSFJ5WVc1elptOXliVG9nY205MFlYUmxLREJrWldjcE93b2dJSDBLSUNBeE1EQWxJSHNLSUNBZ0lIUnlZVzV6Wm05eWJUb2djbTkwWVhSbEtETTJNR1JsWnlrN0NpQWdmUXA5Q2k1Zk1XeDFkV3hsTkRJZ2V3b2dJR0Z1YVcxaGRHbHZiam9nWHpGc2RYVnNaVFF4SUROeklHbHVabWx1YVhSbElHeHBibVZoY2pzS2ZRb3VYekZzZFhWc1pUUXpJSHNLSUNCaVlXTnJaM0p2ZFc1a09pQmpiMjVwWXkxbmNtRmthV1Z1ZENobWNtOXRJREU0TUdSbFp5QmhkQ0ExTUNVZ05UQWxMQ0J5WjJKaEtEY3lMQ0F4TkRZc0lESTFOQ3dnTUNrZ01HUmxaeXdnWTNWeWNtVnVkRU52Ykc5eUlESTRNaTR3TkdSbFp5d2djbWRpWVNnM01pd2dNVFEyTENBeU5UUXNJREFwSURNeE9TNDRObVJsWnl3Z2NtZGlZU2czTWl3Z01UUTJMQ0F5TlRRc0lEQXBJRE0yTUdSbFp5azdDaUFnYUdWcFoyaDBPaUF5TVhCNE93b2dJSGRwWkhSb09pQXlNWEI0T3dwOSAqL1xcbkBrZXlmcmFtZXMgXzFsdXVsZTQxIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuW2RhdGEtcmtdIC5fMWx1dWxlNDIge1xcbiAgYW5pbWF0aW9uOiBfMWx1dWxlNDEgM3MgaW5maW5pdGUgbGluZWFyO1xcbn1cXG5bZGF0YS1ya10gLl8xbHV1bGU0MyB7XFxuICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDE4MGRlZyBhdCA1MCUgNTAlLCByZ2JhKDcyLCAxNDYsIDI1NCwgMCkgMGRlZywgY3VycmVudENvbG9yIDI4Mi4wNGRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDMxOS44NmRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDM2MGRlZyk7XFxuICBoZWlnaHQ6IDIxcHg7XFxuICB3aWR0aDogMjFweDtcXG59XFxuXFxuLyogdmFuaWxsYS1leHRyYWN0LWNzcy1uczpzcmMvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9UUd0bGVXWnlZVzFsY3lCZk9YQnROR3RwTUNCN0NpQWdNQ1VnZXdvZ0lDQWdkSEpoYm5ObWIzSnRPaUIwY21GdWMyeGhkR1ZaS0RFd01DVXBPd29nSUgwS0lDQXhNREFsSUhzS0lDQWdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV1Nnd0tUc0tJQ0I5Q24wS1FHdGxlV1p5WVcxbGN5QmZPWEJ0Tkd0cE1TQjdDaUFnTUNVZ2V3b2dJQ0FnYjNCaFkybDBlVG9nTURzS0lDQjlDaUFnTVRBd0pTQjdDaUFnSUNCdmNHRmphWFI1T2lBeE93b2dJSDBLZlFvdVh6bHdiVFJyYVRNZ2V3b2dJR0Z1YVcxaGRHbHZiam9nWHpsd2JUUnJhVEVnTVRVd2JYTWdaV0Z6WlRzS0lDQmliM1IwYjIwNklDMHlNREJ3ZURzS0lDQnNaV1owT2lBdE1qQXdjSGc3Q2lBZ2NHRmtaR2x1WnpvZ01qQXdjSGc3Q2lBZ2NtbG5hSFE2SUMweU1EQndlRHNLSUNCMGIzQTZJQzB5TURCd2VEc0tJQ0IwY21GdWMyWnZjbTA2SUhSeVlXNXpiR0YwWlZvb01DazdDaUFnZWkxcGJtUmxlRG9nTWpFME56UTRNelkwTmpzS2ZRb3VYemx3YlRScmFUVWdld29nSUdGdWFXMWhkR2x2YmpvZ1h6bHdiVFJyYVRBZ016VXdiWE1nWTNWaWFXTXRZbVY2YVdWeUtDNHhOU3d4TGpFMUxEQXVOaXd4TGpBd0tTd2dYemx3YlRScmFURWdNVFV3YlhNZ1pXRnpaVHNLSUNCdFlYZ3RkMmxrZEdnNklERXdNSFozT3dwOSAqL1xcbkBrZXlmcmFtZXMgXzlwbTRraTAge1xcbiAgMCUge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIF85cG00a2kxIHtcXG4gIDAlIHtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbn1cXG5bZGF0YS1ya10gLl85cG00a2kzIHtcXG4gIGFuaW1hdGlvbjogXzlwbTRraTEgMTUwbXMgZWFzZTtcXG4gIGJvdHRvbTogLTIwMHB4O1xcbiAgbGVmdDogLTIwMHB4O1xcbiAgcGFkZGluZzogMjAwcHg7XFxuICByaWdodDogLTIwMHB4O1xcbiAgdG9wOiAtMjAwcHg7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XFxuICB6LWluZGV4OiAyMTQ3NDgzNjQ2O1xcbn1cXG5bZGF0YS1ya10gLl85cG00a2k1IHtcXG4gIGFuaW1hdGlvbjogXzlwbTRraTAgMzUwbXMgY3ViaWMtYmV6aWVyKC4xNSwgMS4xNSwgMC42LCAxLjAwKSwgXzlwbTRraTEgMTUwbXMgZWFzZTtcXG4gIG1heC13aWR0aDogMTAwdnc7XFxufVxcblxcbi8qIHZhbmlsbGEtZXh0cmFjdC1jc3MtbnM6c3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT1MbDh4WTJ0cWNHOXJNU0I3Q2lBZ1ltOTRMWE5wZW1sdVp6b2dZMjl1ZEdWdWRDMWliM2c3Q2lBZ2JXRjRMWGRwWkhSb09pQXhNREIyZHpzS0lDQjNhV1IwYURvZ016WXdjSGc3Q24wS0xsOHhZMnRxY0c5ck1pQjdDaUFnZDJsa2RHZzZJREV3TUhaM093cDlDaTVmTVdOcmFuQnZhek1nZXdvZ0lIZHBaSFJvT2lBM05qaHdlRHNLZlFvdVh6RmphMnB3YjJzMElIc0tJQ0J0YVc0dGQybGtkR2c2SURNMk9IQjRPd29nSUhkcFpIUm9PaUF6Tmpod2VEc0tmUW91WHpGamEycHdiMnMySUhzS0lDQmliM0prWlhJdGQybGtkR2c2SURCd2VEc0tJQ0JpYjNndGMybDZhVzVuT2lCaWIzSmtaWEl0WW05NE93b2dJSGRwWkhSb09pQXhNREIyZHpzS2ZRcEFiV1ZrYVdFZ2MyTnlaV1Z1SUdGdVpDQW9iV2x1TFhkcFpIUm9PaUEzTmpod2VDa2dld29nSUM1Zk1XTnJhbkJ2YXpFZ2V3b2dJQ0FnZDJsa2RHZzZJRE0yTUhCNE93b2dJSDBLSUNBdVh6RmphMnB3YjJzeUlIc0tJQ0FnSUhkcFpIUm9PaUEwT0RCd2VEc0tJQ0I5Q2lBZ0xsOHhZMnRxY0c5ck15QjdDaUFnSUNCM2FXUjBhRG9nTnpJd2NIZzdDaUFnZlFvZ0lDNWZNV05yYW5CdmF6UWdld29nSUNBZ2JXbHVMWGRwWkhSb09pQXpOamh3ZURzS0lDQWdJSGRwWkhSb09pQXpOamh3ZURzS0lDQjlDbjBLUUcxbFpHbGhJSE5qY21WbGJpQmhibVFnS0cxaGVDMTNhV1IwYURvZ056WTNjSGdwSUhzS0lDQXVYekZqYTJwd2IyczNJSHNLSUNBZ0lHSnZjbVJsY2kxaWIzUjBiMjB0YkdWbWRDMXlZV1JwZFhNNklEQTdDaUFnSUNCaWIzSmtaWEl0WW05MGRHOXRMWEpwWjJoMExYSmhaR2wxY3pvZ01Ec0tJQ0FnSUcxaGNtZHBiaTEwYjNBNklDMHlNREJ3ZURzS0lDQWdJSEJoWkdScGJtY3RZbTkwZEc5dE9pQXlNREJ3ZURzS0lDQWdJSFJ2Y0RvZ01qQXdjSGc3Q2lBZ2ZRcDkgKi9cXG5bZGF0YS1ya10gLl8xY2tqcG9rMSB7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gIG1heC13aWR0aDogMTAwdnc7XFxuICB3aWR0aDogMzYwcHg7XFxufVxcbltkYXRhLXJrXSAuXzFja2pwb2syIHtcXG4gIHdpZHRoOiAxMDB2dztcXG59XFxuW2RhdGEtcmtdIC5fMWNranBvazMge1xcbiAgd2lkdGg6IDc2OHB4O1xcbn1cXG5bZGF0YS1ya10gLl8xY2tqcG9rNCB7XFxuICBtaW4td2lkdGg6IDM2OHB4O1xcbiAgd2lkdGg6IDM2OHB4O1xcbn1cXG5bZGF0YS1ya10gLl8xY2tqcG9rNiB7XFxuICBib3JkZXItd2lkdGg6IDBweDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICB3aWR0aDogMTAwdnc7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICBbZGF0YS1ya10gLl8xY2tqcG9rMSB7XFxuICAgIHdpZHRoOiAzNjBweDtcXG4gIH1cXG4gIFtkYXRhLXJrXSAuXzFja2pwb2syIHtcXG4gICAgd2lkdGg6IDQ4MHB4O1xcbiAgfVxcbiAgW2RhdGEtcmtdIC5fMWNranBvazMge1xcbiAgICB3aWR0aDogNzIwcHg7XFxuICB9XFxuICBbZGF0YS1ya10gLl8xY2tqcG9rNCB7XFxuICAgIG1pbi13aWR0aDogMzY4cHg7XFxuICAgIHdpZHRoOiAzNjhweDtcXG4gIH1cXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcXG4gIFtkYXRhLXJrXSAuXzFja2pwb2s3IHtcXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgIG1hcmdpbi10b3A6IC0yMDBweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xcbiAgICB0b3A6IDIwMHB4O1xcbiAgfVxcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL01lbnVCdXR0b24vTWVudUJ1dHRvbi5jc3MudHMudmFuaWxsYS5jc3M/c291cmNlPUxuWTVhRzl5WWpBNmFHOTJaWElnZXdvZ0lHSmhZMnRuY205MWJtUTZJSFZ1YzJWME93cDkgKi9cXG5bZGF0YS1ya10gLnY5aG9yYjA6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdW5zZXQ7XFxufVxcblxcbi8qIHZhbmlsbGEtZXh0cmFjdC1jc3MtbnM6c3JjL2NvbXBvbmVudHMvTW9kYWxTZWxlY3Rpb24vTW9kYWxTZWxlY3Rpb24uY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT1MbWMxYTJ3d2JEQWdld29nSUdKdmNtUmxjaTFqYjJ4dmNqb2dkSEpoYm5Od1lYSmxiblE3Q24wPSAqL1xcbltkYXRhLXJrXSAuZzVrbDBsMCB7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL0Rlc2t0b3BPcHRpb25zLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9TGw4eGRuZDBNR05uTUNCN0NpQWdZbUZqYTJkeWIzVnVaRG9nZDJocGRHVTdDbjBLTGw4eGRuZDBNR05uTWlCN0NpQWdiV0Y0TFdobGFXZG9kRG9nTkRVMGNIZzdDaUFnYjNabGNtWnNiM2N0ZVRvZ1lYVjBienNLZlFvdVh6RjJkM1F3WTJjeklIc0tJQ0J0YVc0dGQybGtkR2c2SURJME5uQjRPd3A5Q2k1Zk1YWjNkREJqWnpRZ2V3b2dJRzFwYmkxM2FXUjBhRG9nTVRBd0pUc0tmUXBBYldWa2FXRWdjMk55WldWdUlHRnVaQ0FvYldsdUxYZHBaSFJvT2lBM05qaHdlQ2tnZXdvZ0lDNWZNWFozZERCalp6TWdld29nSUNBZ2JXbHVMWGRwWkhSb09pQXlPRGR3ZURzS0lDQjlDbjA9ICovXFxuW2RhdGEtcmtdIC5fMXZ3dDBjZzAge1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxufVxcbltkYXRhLXJrXSAuXzF2d3QwY2cyIHtcXG4gIG1heC1oZWlnaHQ6IDQ1NHB4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG59XFxuW2RhdGEtcmtdIC5fMXZ3dDBjZzMge1xcbiAgbWluLXdpZHRoOiAyNDZweDtcXG59XFxuW2RhdGEtcmtdIC5fMXZ3dDBjZzQge1xcbiAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgW2RhdGEtcmtdIC5fMXZ3dDBjZzMge1xcbiAgICBtaW4td2lkdGg6IDI4N3B4O1xcbiAgfVxcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL01vYmlsZU9wdGlvbnMuY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT1MbDh4WVcweE5EUXhNQ0I3Q2lBZ2IzWmxjbVpzYjNjNklHRjFkRzg3Q2lBZ2MyTnliMnhzWW1GeUxYZHBaSFJvT2lCdWIyNWxPd29nSUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdpZ3dLVHNLZlFvdVh6RmhiVEUwTkRFd09qb3RkMlZpYTJsMExYTmpjbTlzYkdKaGNpQjdDaUFnWkdsemNHeGhlVG9nYm05dVpUc0tmUT09ICovXFxuW2RhdGEtcmtdIC5fMWFtMTQ0MTAge1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XFxufVxcbltkYXRhLXJrXSAuXzFhbTE0NDEwOjotd2Via2l0LXNjcm9sbGJhciB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9pbmRleC5jc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ3RDQUFndEM7QUFDaHRDO0VBQ0UsU0FBUztFQUNULHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLHdCQUF3QjtFQUN4Qix3Q0FBd0M7QUFDMUM7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsWUFBWTtBQUNkO0FBQ0E7O0VBRUUsV0FBVztBQUNiO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSx3QkFBd0I7RUFDeEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsYUFBYTtBQUNmO0FBQ0E7RUFDRSxVQUFVO0FBQ1o7QUFDQTtFQUNFLFVBQVU7QUFDWjtBQUNBO0VBQ0UsNkJBQTZCO0VBQzdCLGNBQWM7QUFDaEI7QUFDQTtFQUNFLFVBQVU7QUFDWjtBQUNBO0VBQ0UsYUFBYTtBQUNmO0FBQ0E7RUFDRSxhQUFhO0FBQ2Y7QUFDQTtFQUNFLHdCQUF3QjtBQUMxQjtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLGNBQWM7RUFDZCxxQkFBcUI7QUFDdkI7O0FBRUEscTlKQUFx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RSxpQkFBaUI7QUFDbkI7O0FBRUEsMkpBQTJKO0FBQzNKO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBLHVhQUF1YTtBQUN2YTtFQUNFLGlCQUFpQjtBQUNuQjtBQUNBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSxlQUFlO0FBQ2pCO0FBQ0E7RUFDRTtJQUNFLGdCQUFnQjtFQUNsQjtBQUNGOztBQUVBLDBSQUEwUjtBQUMxUjtFQUNFLGNBQWM7RUFDZCxxQkFBcUI7RUFDckIsd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSxhQUFhO0FBQ2ZcIixcInNvdXJjZXNDb250ZW50XCI6W1wiLyogdmFuaWxsYS1leHRyYWN0LWNzcy1uczpzcmMvY3NzL3Jlc2V0LmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9TG1sbGEySmpZekFnZXdvZ0lHSnZjbVJsY2pvZ01Ec0tJQ0JpYjNndGMybDZhVzVuT2lCaWIzSmtaWEl0WW05NE93b2dJR1p2Ym5RdGMybDZaVG9nTVRBd0pUc0tJQ0JzYVc1bExXaGxhV2RvZERvZ2JtOXliV0ZzT3dvZ0lHMWhjbWRwYmpvZ01Ec0tJQ0J3WVdSa2FXNW5PaUF3T3dvZ0lIUmxlSFF0WVd4cFoyNDZJR3hsWm5RN0NpQWdkbVZ5ZEdsallXd3RZV3hwWjI0NklHSmhjMlZzYVc1bE93b2dJQzEzWldKcmFYUXRkR0Z3TFdocFoyaHNhV2RvZEMxamIyeHZjam9nZEhKaGJuTndZWEpsYm5RN0NuMEtMbWxsYTJKall6RWdld29nSUd4cGMzUXRjM1I1YkdVNklHNXZibVU3Q24wS0xtbGxhMkpqWXpJZ2V3b2dJSEYxYjNSbGN6b2dibTl1WlRzS2ZRb3VhV1ZyWW1Oak1qcGlaV1p2Y21Vc0lDNXBaV3RpWTJNeU9tRm1kR1Z5SUhzS0lDQmpiMjUwWlc1ME9pQW5KenNLZlFvdWFXVnJZbU5qTXlCN0NpQWdZbTl5WkdWeUxXTnZiR3hoY0hObE9pQmpiMnhzWVhCelpUc0tJQ0JpYjNKa1pYSXRjM0JoWTJsdVp6b2dNRHNLZlFvdWFXVnJZbU5qTkNCN0NpQWdZWEJ3WldGeVlXNWpaVG9nYm05dVpUc0tmUW91YVdWclltTmpOU0I3Q2lBZ2IzVjBiR2x1WlRvZ2JtOXVaVHNLZlFvdWFXVnJZbU5qTlRvNmNHeGhZMlZvYjJ4a1pYSWdld29nSUc5d1lXTnBkSGs2SURFN0NuMEtMbWxsYTJKall6WWdld29nSUdKaFkydG5jbTkxYm1RdFkyOXNiM0k2SUhSeVlXNXpjR0Z5Wlc1ME93b2dJR052Ykc5eU9pQnBibWhsY21sME93cDlDaTVwWld0aVkyTTNPbVJwYzJGaWJHVmtJSHNLSUNCdmNHRmphWFI1T2lBeE93cDlDaTVwWld0aVkyTTNPam90YlhNdFpYaHdZVzVrSUhzS0lDQmthWE53YkdGNU9pQnViMjVsT3dwOUNpNXBaV3RpWTJNNE9qb3RiWE10WTJ4bFlYSWdld29nSUdScGMzQnNZWGs2SUc1dmJtVTdDbjBLTG1sbGEySmpZemc2T2kxM1pXSnJhWFF0YzJWaGNtTm9MV05oYm1ObGJDMWlkWFIwYjI0Z2V3b2dJQzEzWldKcmFYUXRZWEJ3WldGeVlXNWpaVG9nYm05dVpUc0tmUW91YVdWclltTmpPU0I3Q2lBZ1ltRmphMmR5YjNWdVpEb2dibTl1WlRzS0lDQmpkWEp6YjNJNklIQnZhVzUwWlhJN0NpQWdkR1Y0ZEMxaGJHbG5iam9nYkdWbWREc0tmUW91YVdWclltTmpZU0I3Q2lBZ1kyOXNiM0k2SUdsdWFHVnlhWFE3Q2lBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCdWIyNWxPd3A5ICovXFxuW2RhdGEtcmtdIC5pZWtiY2MwIHtcXG4gIGJvcmRlcjogMDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBmb250LXNpemU6IDEwMCU7XFxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5bZGF0YS1ya10gLmlla2JjYzEge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2MyIHtcXG4gIHF1b3Rlczogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2MyOmJlZm9yZSxcXG5bZGF0YS1ya10gLmlla2JjYzI6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjMyB7XFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjNCB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICBhcHBlYXJhbmNlOiBub25lO1xcbn1cXG5bZGF0YS1ya10gLmlla2JjYzUge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M1OjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjNTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M2IHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbltkYXRhLXJrXSAuaWVrYmNjNzpkaXNhYmxlZCB7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG5bZGF0YS1ya10gLmlla2JjYzc6Oi1tcy1leHBhbmQge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M4OjotbXMtY2xlYXIge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M4Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuW2RhdGEtcmtdIC5pZWtiY2M5IHtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG5bZGF0YS1ya10gLmlla2JjY2Ege1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbi8qIHZhbmlsbGEtZXh0cmFjdC1jc3MtbnM6c3JjL2Nzcy9zcHJpbmtsZXMuY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT0jSDRzSUFBQUFBQUFBRTZWZHk1TGp4aEc4Nnl0NGNZUjBvSUlFQ1JBY1greVY3TEFpN1BEQml2QVp4SXNZZ2dBSEFJZmtPUFR2NW1NZXFLenE3Z0pXcHhVcks3dXl1OUJNb0xITG41K1BpMkQxT3B2ODc0ZkpKQ3FMdkpvV1hicHZueVpabVo2bmJSYzEzWjkvK09PSG54ODR6NEJMcTZTSFduSlVuRlpkMnZRd3dSMlRGTzJoakM1UGs2cXUwbDQwcE5GTldjZTdYamlpNFZzSnZXaE1vMFZWRm9RODdaWFhwbVZtMEpySk1DbzFaeUNtZEh1SGJLSjRsemYxc1VxbWJmR1dYbkgxSzRFVkQxamRKR2t6YmFLa09GNm5iWDdvQzN1V0lBR0I3RVNXR2NHVUltWkJNSHNKOHhvMVAwNm56ZTcrUVRHTjRxNm9xMi9IcnF1cm4zcTVsU0kzcnFzcWpUdWVYQ3VTOTJsMTVKa0hUV2FkUkdVLzZVV2I5Szk2VTVScFA3V1JVajMvVHoxSUswSFcxLy9JWEhkOVZOdGR5bXQzdEhWWjlQdnMyTWVjaXFUYlBrM29xcjRLQ05vK0p3SGhFY1JaUUN3SjRuSkh4TWVtclp1bnlhRXVvTm5mN3ZIN2haSVVUWHJ2a0tkSlU1OTZtUGxNQk1WMWVkeFhmZHo4Z2F1cmJwcEYrNks4OUpibTltazczZFRKcGI4bWMrOHI1WEdaemU4S0o1UGJIakRkcGtXKzdhNGZoa1RVZk1HeUZvcXNKY3RhS3JKOGxoVUlXUjVkM0huQXNrSXBpeTdXZklWWkQxcEhWc2l5cE5ud2FCUFAxMTlacDNmSWNqYnJJeUtPOENsaXd4RUJSY1Fjc2FLSWhDTkNpbmpzLzNsMHVGNUMvYyt6cjgvcGhUUFB2eUwwZ3BsdnZ5SjBBNTBYWHhHWTMrZXZpRThqdTY4STNkYm41VmNFK21uZnF4cWFwdXFGb082NkY0THlEcjBRVlBIU0MwRVpUVytLb0l5MkY0S3h1bDRJQ0krOW1ZWGlYM3NocVBEVW0zVVk2OXliWEFoZHZrSlRXUHJIaHZaNU1aT2dOeU5CV3FVM0owRTZvdWVSSUpYdUxlaVl3THVrZzlMSjlud2FoV0VER29WeFZ5UzZBT2FRUnFHcU5ZM0N1QkdOMGtYek5uU21ZTnlZUm9FNW9WRlFsSktvRDdrWmlRWXdiZzd6RE9FdFhhVFpyUC9GN3hVa3VvL09OOGZUWGExaEgvVFlDSjZQYlZka2x3K0F5WG52TEdEcVNiMVNoakpuNnUxbFlIdUk0blM2U2J0VG12YS9rTDNLaG8vdTdyWVBmMnd5WFhydXBuZUgvRFFwMDR5SU9qQUVML0tGWVlwcW16WUZJWHBzUC91b3lZdnE2Z3F1M25CUGQzZXZsUkJ3UFhjU0JocjlLR0hvM3UrOVNoaG92cE9Fb2Q4SDNsbkN3TVZ6a1RCd0dieUoybWxETDJZaWlLcGZ6RVVRbGJid1JCQ3RlN0VRUWJUd3hWSmNFQ2pjRjBGUVV5Q0NZTGlWdUxZd0JhRUlBblZyc1FPZ3BraGNYZ0J0SkJCOFN5M2lQdWgya2RIbVh5UThEZ3dwUjREdWpDTm8yeTl5amdBeFc0NmdMYjhvT0FLbTlwa2pZQmwzZ2xyb21WS0FnTjY5QUFFNWxRQ0JhbXNCQXVVZWhLbUhjbDhFQ05UU0NCQVlxQlZXRUVSM0FnUVVIWVZWaGxwZWhVVUV5SWxEc0tuSjd0Yzh2a2xKVjE4RUFIQzhDUkFxZVRrVElMU3hsM01CUXZVc1BRRkNXM3U1RUNCMGJwZExBVUlYY2VsTG9tbTdMQU1KQTdKWEVnWkVoUklHU2w1TEdLZzVrbFlCYXQ1SUdLZ25sakF3VmlJdEoyaFBKUXpveXFRMWgzcHlhVVVCc3hVdzBPbExzdWwxTmR5WUxwOVpHUEozREFDQ1N3YUFEdDh6QU1pb0dBQzZ1MllBbU5BREE4REt2WENaMENNTlI0RFFsaU5BU01jUlVPaVJJNkRTVno3ZlVPbUpJNkNPTTBmQUtCZSthS0QyalNPb0ZuL0cxNVhXNGMvNXVnSENZd2pvWC85alp6dkxEeDc5SmNhcER0L0hPRlFRWUp6T2xMOWk0OE1BSVN1QXJwZS9aZ0FvSVdJQXFHR0RBTGgvOW1NR2dDSVRCb0FhVWdhQTFjN1lQRUlOT1FQQUVGc0dBSmtGQXVDbTJuOUdBTnhYK3p1K0ZvQW8yWExTdTJ0L2p3RDVCdHQvMzdTdWJTdjNaWTF4V0pFRHhrSHJDOFpoc2hvMlBnelFzZ0pnS2pvR2dCS09EQUExdkNJQSsvTEVBRkRrbVFHZ2hnc0RRRisrc1hta05RUXpCcUJEQkhNR29ESUREd0hRbDhFQ0FkQ1h3Wkt2QlNCOHRweTBMNE1BQVhKZkJvLzk2bllBbUpYMTZXbXlMWktFUEdrSkhodldJVXFTb3NyRkJ4ckJXb1RRRGc4aUVVUVhPTmlJSU9vUWdsZ0V3U1FuSW9nNmhTQVZRYlJsZ2t3RXdhTG44aFRBc20xbEZFeENJYU5BNExPTWd1SjNNZ3FxTCtXMWdlcjNNZ3JxcW1RVWpGakxDdzB6Y1pCUm9QRkY3Z2VvcTVIWEdsQ3RpQUtYRVhRRXhaOXlCRWNCQUJ5dkFnVGtud1FJWEF0bkFRS1NMZ0lFcm9NM0FVSW5lVFVUSUhSTlYzTkpOTzJobFNkaHFPelZRc0pRVWF1bGhJR1NmUWtETlFmU0trRE5Ld2tEOVlRU0JzWmFTOHNKMmlNSkE3bzIwcHBEUGJHMG9vQkpCQXgwK29ydWtNS2pqMVVtSVlBbGx6Q2dmQ3RoYUxldkNna0RxcDRsRE8zMzFVN0N3Q3lYRWdaV2RDOXFoL2FwUkJDb3IwVVFTRHVJSUtqN1JRUkI0WTI0SUZCNEs0S2dwazRFd1hCSGNXMWhDbDVGRUtnN2lSMEFOWjNGNVFYUVJRSmgrOU9Oa1QwUENXYzhUaG5DT1VkUTNhSEhFYlR0d3dWSFVESGhraU5veTRjK1I5Q3BEUU9Pb01zWXJnUzF0R2ZDVUlDQTNyVUFBVG1SQUlGcU53SUV5bzJGcVlkeUV3RUN0YVFDQkFiS2hCVUUwYmtBQVVWYllaV2hsa0pZUklBOGN3ZzBkZmkrKzlWdDhYamRLZHEwZFhuc3lGdVBKV0N5NHB6MlQxVERQUUNhdEl5NjRwV1FQSFkrNFVzamZEK1BiYUxxSTMvMjg5eTczb1NtVVVzb0RneDQvM05XTjN0VHltTURQTGEzVjlqU01vMDcvazduWS9zVDc4VER0aCtEVmV6Nk1aajRZejhHRGZKS3hnUFNFeGtRR3ZSTWdqRGtoUVJoekxkK0VPNjAxek1TcEFXdDV5Ukl4MXg3SkVoYmVMMGc4d05qTGtrUWFIMFNwRkxXUVQ4SWQ5UHJWVDhJZDlMcmtNNHRSTmRrV2VnZDlEcnFCK1c3NS9WakU3cTlVSnMwOVdHYUZXV1hOcjFYQXpmbHNXa2ZiMjMrKzNxTFhVYmtGY0YxL0puK2VCKzNseG5YWlgxTmplTGJXd2kvM1A2SFpDWlAyOXM5KytqODlPbjJ5dXo3KzhkakNMSWhtWCt2bS9RQkl4ejVjQkVHcHUwSU9RYXFRc0h4OWJMeHQvc0xxb1RnV2EzS1NyUFRTN0x5bENNSStCdkc2LzFvVlFKWk5WNmJ3RllQb3ZsUGVyMk9rNmk1ZlB0TUlHeUhFVUpkbkM5ajlMcEkzU1hHWmQybS9PMzBkYXVVYU1ydnRISk1CTWNobVFiNXI4TkZHSmhPSStRWXFNNXVqdjdmTmpDd1hMVFNGRnh2YW5GdXNtZzJsdVZ2VFVPL1A2TDU5Mm5raE41M0N1V01pMkZVdjEzLzNCZ21iamxHclkzUUg2WFd4aGdNby9vOVBYY2tmelZHSW1NSlIrbGlOT3ZoK1h6OW83R0tPTlZtdEN6TzVUYU43eVRGYmNHVElvNDZZTkNhUnhlUDJrUzZpTnhtTXFsUFZWbEh5YmY3QS9sZm9pWXh0TEhXVTZvSjFkWlN6ZWgybUI5VXY5Y0hDNC9XYU9yWTFINVRSK2UyblNucmJLM0g1SmxxUThsVDNlNHhUNis3WmxSeWJ4MXB2YUtaUWUwTXpSUURoLysxMkpOMHJSbTBrcWdkb1pYRmJRdHZmOTN5dHk3ZEc1cE82d2tkTkdwRDZPQnh1OEg3azRGdjc0OFBTSzdXQTVvWjFNN1BTTEZ4KzczUFhDNS9vN1Y0Tmc2MXE3T1J1STNjSTV0ZFd4dXRielBscTIyYWljRHR5dTZaYUlBMldqY21aNnRkbUp6dWRsK2ZlYkFGYkxTZXkwaWdkbHBHQnJlLytrejl2RVVuQkZwNzVhQlJ1eXNIajl0Y0habzZLOHIwcjNlSFJuSzFic3JNb0xaUFpncTNYeUs1LzdoVlRBaTBSc2xCbzNaSURoNjNOWG9ua0o5UWJyUTJ5YzZpdGt4MkdyZDllcHpCcE1tL0QvZG5XM3lQMDdvb0o1SGFURG1aRk1WMFVaVnM2SldtdFZKU3J0cEJTY25rbjJTNDQ5UVA4amZFTTQxaW9IWnBGTVY1V0s2aEZ5OWpwQmk0M2thSmtzbmltWXJGOWhnL25nL1FaaVh5aGdpek1pMUdVZkFIK1BIeU83UUpkUDczS0JUNGdvRkVqZ2YzOFdxVVhCZHJPRTYxaTNhdDRETTg1bzhqdFZBVHcwWXZ5a1FSRDhzMVRFTXlSb3FCS3gwbHlrQ1dhVmpjai9ialhDOVF3YllkSUZGQlY0em5ZYzlQNCtmdlZjb3BkOTh0bDNPV1E4a3NEL2ZqL1RqTk5zcHFwR1liWnoyVURHODk0OE00b1l6blphUTZSalNxRk40TjdYaGRuS3o3RG5HY1RXTStIUWNBc2Q2RXVwZ0dtRkVYbGNhVWFoLzZ4M3B2cXFZY1lGRzFuSW5HcWFvT0FCSzlZZFh4RGZDdE9rS05mV1hIQlluZXEvTGNBY2FVSjJ0Y3FQR1FJTkY3VGpQSEFJZHBKdEg0U2RzaFFhSTNsVmFhQWM3U3lxT3hsL1pqZ2tUdkxSMUVBNHlsZzBuaktvM0hCb25lUzVvNUJqaElNNG5HTjFvT0RoSzlWYlN4REhDSE5ocU5JVFFjSXlSNi8yZGlHR0QzVEJRYWR5Y2VLQ1I2VnlmbkQzQnpNc0dnb1hHTDBIczNJOFVBeDJiazBQZzArMUZDb3JkcERxSUJMczNCcERGcHhxT0ZSTy9LekJ3RGJKaVJKTlg0THZ1eFFxbzNYQTZpQVU3THdhU3hXTmJqaFZSdnQrdzhBNnlYblVoancxekhDNm5lalRtcEJwZ3lKNWZHbXduSEQ2bmVra25aQTV5WWxQNWh3TTdUZGhzbHQzL0M0RFByOFFIY3hKSmthcjFHVVlEcEdzV1J1Wk9USWlycm5HVGwydUtGM0syNmFpRzVjR2U5WDBTL3BsMVVsSzJ3NFQxcmkzY3k3ZFJTbkZTbG00TmVSQ1I3cjVWazRhalVZaXdrdFQ3N3YxRlpwc1RycEllaE1nU09sOEV5QkJKRkNhZDcxai9ydkNhWnJWYUNJYjlUbDI4Z2VIZ3R3eTVtT0FSTisrNXFZQ3J4VXdOeno4b2t3eGZpWlZEVkJwSzNZZlhMTE5uTW5tNDd6TXptR2hsV0JrK2x3VXF4R0piTHp5cXo1UmdaQW84L1NveEFGR2daSEFlUjJXcVlNaGRkT0ZDZ2kyOXRJektjVFdhUlc1TXBkYU9vMzVRYks1TU1VcE5CVlJ0STBtSDFHMWd5YTdyN1pESExGVm9VTkZ1TkdnVlBNWUtBbmNoa3o2TkZjYTdkZUdXY3JGU3pXRTRKcy8xQWVUYXVhcWc4RzFtdFpzRUhUTmxob0NaRzhESlVDR01ZTmpoZjNIYUVCTTdTamRIQmFhd0d6SEh3bHltTW1JdENZOGhjSEZaanBqM1J5eFQrVE0ybHNXbGFzdHpxMWxSSGVMbkN0T21JTk41TngyUzFjT3hVTDFmNE5aNmtNV2M4eStyRWpBZDJ1Y0ozbVpNMUxzdWNiZlZVdGxPNVhHR3NyUGthZDJVbHNGb3MrK0ZicnZCWERnYU51WEpRV0oyVjhjUXRWL2dwYzdMR1JabXpyZDdKY3JDV0sreVNMVjNqa0d6NVZsTmtPRXZMRlI3SWxLcXhQS1pjcThNUmo4NXloYk9SRXpXT1JzN1VEWWFYck1LL0dITTFyc1dZYlBVcTl1T3ZYR0ZWSEF3YXArS2dzQm9WNDVsWHJuQW01bVNORlRGbWI2M2V3MzZvdFZXWURnZUR4bTA0S0t3MnczcUN0VlZZRGp1QnhuN1lHYXhXeEhWTXRWVTRFaWVIeHBnNFNheitSRGlyMmlwc2laU21jU1A5dkwvczA2U0lKbTNjcEdrMXVYNCsrYkgzRDRHdmd2QncvdW5POVQ3QTQ5OTdzL3pvOG1UeXh4ZDZZVVRmZi91TllIMEorL0c3YWdTNWVrZkN6ekFUekJveDd6L0dURUFiQkQxK2twbGdFc1I4L0REekRmWEgvd0cydC9HcmlYb0FBQT09ICovXFxuW2RhdGEtcmtdIC5qdTM2N3YwIHtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djIge1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djQge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2IHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YyB7XFxuICBkaXNwbGF5OiBpbmxpbmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZSB7XFxuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmYge1xcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZyB7XFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aCB7XFxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmkge1xcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmoge1xcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmsge1xcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEzcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2bSB7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1hY3Rpb25CdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dm4ge1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmstcmFkaWktY29ubmVjdEJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2byB7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1tZW51QnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZwIHtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJrLXJhZGlpLW1vZGFsKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZxIHtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJrLXJhZGlpLW1vZGFsTW9iaWxlKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZyIHtcXG4gIGJvcmRlci1yYWRpdXM6IDI1JTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZzIHtcXG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z0IHtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2dSB7XFxuICBib3JkZXItd2lkdGg6IDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z2IHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dncge1xcbiAgYm9yZGVyLXdpZHRoOiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2eCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z5IHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Z6IHtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTAge1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxMSB7XFxuICBmb250LWZhbWlseTogdmFyKC0tcmstZm9udHMtYm9keSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTIge1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTMge1xcbiAgZm9udC1zaXplOiAxM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTQge1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTUge1xcbiAgZm9udC1zaXplOiAxNnB4O1xcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTYge1xcbiAgZm9udC1zaXplOiAxOHB4O1xcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTcge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTgge1xcbiAgZm9udC1zaXplOiAyM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MTkge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxYSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFiIHtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MWMge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFlIHtcXG4gIGdhcDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxZiB7XFxuICBnYXA6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxZyB7XFxuICBnYXA6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxaCB7XFxuICBnYXA6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxaSB7XFxuICBnYXA6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxaiB7XFxuICBnYXA6IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxayB7XFxuICBnYXA6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxbCB7XFxuICBnYXA6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxbSB7XFxuICBnYXA6IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MW4ge1xcbiAgZ2FwOiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFvIHtcXG4gIGdhcDogMTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxcCB7XFxuICBnYXA6IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXEge1xcbiAgZ2FwOiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djFyIHtcXG4gIGdhcDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxcyB7XFxuICBnYXA6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXQge1xcbiAgZ2FwOiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djF1IHtcXG4gIGdhcDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxdiB7XFxuICBnYXA6IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXcge1xcbiAgZ2FwOiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djF4IHtcXG4gIGdhcDogNjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YxeSB7XFxuICBnYXA6IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MXoge1xcbiAgaGVpZ2h0OiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjAge1xcbiAgaGVpZ2h0OiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjEge1xcbiAgaGVpZ2h0OiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjIge1xcbiAgaGVpZ2h0OiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjMge1xcbiAgaGVpZ2h0OiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djI0IHtcXG4gIGhlaWdodDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyNSB7XFxuICBoZWlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MjYge1xcbiAgaGVpZ2h0OiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djI3IHtcXG4gIGhlaWdodDogMzBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyOCB7XFxuICBoZWlnaHQ6IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mjkge1xcbiAgaGVpZ2h0OiAzNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJhIHtcXG4gIGhlaWdodDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyYiB7XFxuICBoZWlnaHQ6IDQwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MmMge1xcbiAgaGVpZ2h0OiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJkIHtcXG4gIGhlaWdodDogNDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyZSB7XFxuICBoZWlnaHQ6IDU0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MmYge1xcbiAgaGVpZ2h0OiA2MHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJnIHtcXG4gIGhlaWdodDogMjAwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mmgge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJpIHtcXG4gIGhlaWdodDogLW1vei1tYXgtY29udGVudDtcXG4gIGhlaWdodDogbWF4LWNvbnRlbnQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mmoge1xcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJrIHtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mmwge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mm0ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJuIHtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJvIHtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MnAge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJxIHtcXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MnIge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YycyB7XFxuICBtYXJnaW4tYm90dG9tOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MnQge1xcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJ1IHtcXG4gIG1hcmdpbi1ib3R0b206IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YydiB7XFxuICBtYXJnaW4tYm90dG9tOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mncge1xcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djJ4IHtcXG4gIG1hcmdpbi1ib3R0b206IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YyeSB7XFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mnoge1xcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzMCB7XFxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djMxIHtcXG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MzIge1xcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzMyB7XFxuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djM0IHtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2MzUge1xcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzNiB7XFxuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djM3IHtcXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Mzgge1xcbiAgbWFyZ2luLWJvdHRvbTogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzOSB7XFxuICBtYXJnaW4tYm90dG9tOiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNhIHtcXG4gIG1hcmdpbi1ib3R0b206IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2M2Ige1xcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzYyB7XFxuICBtYXJnaW4tbGVmdDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzZCB7XFxuICBtYXJnaW4tbGVmdDogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNlIHtcXG4gIG1hcmdpbi1sZWZ0OiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2M2Yge1xcbiAgbWFyZ2luLWxlZnQ6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzZyB7XFxuICBtYXJnaW4tbGVmdDogNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNoIHtcXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2M2kge1xcbiAgbWFyZ2luLWxlZnQ6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzaiB7XFxuICBtYXJnaW4tbGVmdDogOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNrIHtcXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNsIHtcXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNtIHtcXG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNuIHtcXG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNvIHtcXG4gIG1hcmdpbi1sZWZ0OiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNwIHtcXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNxIHtcXG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNyIHtcXG4gIG1hcmdpbi1sZWZ0OiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djNzIHtcXG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN0IHtcXG4gIG1hcmdpbi1sZWZ0OiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN1IHtcXG4gIG1hcmdpbi1sZWZ0OiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN2IHtcXG4gIG1hcmdpbi1sZWZ0OiA2NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN3IHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djN4IHtcXG4gIG1hcmdpbi1yaWdodDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzeSB7XFxuICBtYXJnaW4tcmlnaHQ6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3YzeiB7XFxuICBtYXJnaW4tcmlnaHQ6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MCB7XFxuICBtYXJnaW4tcmlnaHQ6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MSB7XFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MiB7XFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0MyB7XFxuICBtYXJnaW4tcmlnaHQ6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0NCB7XFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0NSB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NDYge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djQ3IHtcXG4gIG1hcmdpbi1yaWdodDogMTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0OCB7XFxuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NDkge1xcbiAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRhIHtcXG4gIG1hcmdpbi1yaWdodDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0YiB7XFxuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGMge1xcbiAgbWFyZ2luLXJpZ2h0OiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRkIHtcXG4gIG1hcmdpbi1yaWdodDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0ZSB7XFxuICBtYXJnaW4tcmlnaHQ6IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGYge1xcbiAgbWFyZ2luLXJpZ2h0OiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRnIHtcXG4gIG1hcmdpbi1yaWdodDogNjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0aCB7XFxuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGkge1xcbiAgbWFyZ2luLXRvcDogMDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0aiB7XFxuICBtYXJnaW4tdG9wOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NGsge1xcbiAgbWFyZ2luLXRvcDogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRsIHtcXG4gIG1hcmdpbi10b3A6IDNweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0bSB7XFxuICBtYXJnaW4tdG9wOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NG4ge1xcbiAgbWFyZ2luLXRvcDogNXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRvIHtcXG4gIG1hcmdpbi10b3A6IDZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0cCB7XFxuICBtYXJnaW4tdG9wOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHEge1xcbiAgbWFyZ2luLXRvcDogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0ciB7XFxuICBtYXJnaW4tdG9wOiAxMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djRzIHtcXG4gIG1hcmdpbi10b3A6IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHQge1xcbiAgbWFyZ2luLXRvcDogMTZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0dSB7XFxuICBtYXJnaW4tdG9wOiAxOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djR2IHtcXG4gIG1hcmdpbi10b3A6IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHcge1xcbiAgbWFyZ2luLXRvcDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y0eCB7XFxuICBtYXJnaW4tdG9wOiAyOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djR5IHtcXG4gIG1hcmdpbi10b3A6IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NHoge1xcbiAgbWFyZ2luLXRvcDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1MCB7XFxuICBtYXJnaW4tdG9wOiA0NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djUxIHtcXG4gIG1hcmdpbi10b3A6IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NTIge1xcbiAgbWFyZ2luLXRvcDogLTFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1MyB7XFxuICBtYXgtd2lkdGg6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NCB7XFxuICBtYXgtd2lkdGg6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NSB7XFxuICBtYXgtd2lkdGg6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NiB7XFxuICBtYXgtd2lkdGg6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1NyB7XFxuICBtYXgtd2lkdGg6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NTgge1xcbiAgbWF4LXdpZHRoOiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djU5IHtcXG4gIG1heC13aWR0aDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1YSB7XFxuICBtYXgtd2lkdGg6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWIge1xcbiAgbWF4LXdpZHRoOiAzMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djVjIHtcXG4gIG1heC13aWR0aDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1ZCB7XFxuICBtYXgtd2lkdGg6IDM0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWUge1xcbiAgbWF4LXdpZHRoOiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djVmIHtcXG4gIG1heC13aWR0aDogNDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1ZyB7XFxuICBtYXgtd2lkdGg6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWgge1xcbiAgbWF4LXdpZHRoOiA0OHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djVpIHtcXG4gIG1heC13aWR0aDogNTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1aiB7XFxuICBtYXgtd2lkdGg6IDYwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NWsge1xcbiAgbWF4LXdpZHRoOiAyMDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1bCB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NW0ge1xcbiAgbWF4LXdpZHRoOiAtbW96LW1heC1jb250ZW50O1xcbiAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1biB7XFxuICBtaW4td2lkdGg6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1byB7XFxuICBtaW4td2lkdGg6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1cCB7XFxuICBtaW4td2lkdGg6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1cSB7XFxuICBtaW4td2lkdGg6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1ciB7XFxuICBtaW4td2lkdGg6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NXMge1xcbiAgbWluLXdpZHRoOiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djV0IHtcXG4gIG1pbi13aWR0aDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1dSB7XFxuICBtaW4td2lkdGg6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NXYge1xcbiAgbWluLXdpZHRoOiAzMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djV3IHtcXG4gIG1pbi13aWR0aDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y1eCB7XFxuICBtaW4td2lkdGg6IDM0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NXkge1xcbiAgbWluLXdpZHRoOiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djV6IHtcXG4gIG1pbi13aWR0aDogNDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2MCB7XFxuICBtaW4td2lkdGg6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NjEge1xcbiAgbWluLXdpZHRoOiA0OHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djYyIHtcXG4gIG1pbi13aWR0aDogNTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2MyB7XFxuICBtaW4td2lkdGg6IDYwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NjQge1xcbiAgbWluLXdpZHRoOiAyMDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2NSB7XFxuICBtaW4td2lkdGg6IDEwMCU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NjYge1xcbiAgbWluLXdpZHRoOiAtbW96LW1heC1jb250ZW50O1xcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2NyB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djY4IHtcXG4gIHBhZGRpbmctYm90dG9tOiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djY5IHtcXG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NmEge1xcbiAgcGFkZGluZy1ib3R0b206IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2YiB7XFxuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZjIHtcXG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NmQge1xcbiAgcGFkZGluZy1ib3R0b206IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y2ZSB7XFxuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZmIHtcXG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmcge1xcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmgge1xcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmkge1xcbiAgcGFkZGluZy1ib3R0b206IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmoge1xcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmsge1xcbiAgcGFkZGluZy1ib3R0b206IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nmwge1xcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nm0ge1xcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nm4ge1xcbiAgcGFkZGluZy1ib3R0b206IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nm8ge1xcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnAge1xcbiAgcGFkZGluZy1ib3R0b206IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnEge1xcbiAgcGFkZGluZy1ib3R0b206IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnIge1xcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnMge1xcbiAgcGFkZGluZy1ib3R0b206IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NnQge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ1IHtcXG4gIHBhZGRpbmctbGVmdDogMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ2IHtcXG4gIHBhZGRpbmctbGVmdDogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ3IHtcXG4gIHBhZGRpbmctbGVmdDogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ4IHtcXG4gIHBhZGRpbmctbGVmdDogNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ5IHtcXG4gIHBhZGRpbmctbGVmdDogNXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djZ6IHtcXG4gIHBhZGRpbmctbGVmdDogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djcwIHtcXG4gIHBhZGRpbmctbGVmdDogOHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djcxIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3MiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NzMge1xcbiAgcGFkZGluZy1sZWZ0OiAxNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djc0IHtcXG4gIHBhZGRpbmctbGVmdDogMTZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3NSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2NzYge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djc3IHtcXG4gIHBhZGRpbmctbGVmdDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3OCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Nzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdhIHtcXG4gIHBhZGRpbmctbGVmdDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3YiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N2Mge1xcbiAgcGFkZGluZy1sZWZ0OiA2NHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdkIHtcXG4gIHBhZGRpbmctbGVmdDogLTFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3ZSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdmIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3ZyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N2gge1xcbiAgcGFkZGluZy1yaWdodDogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdpIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3aiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N2sge1xcbiAgcGFkZGluZy1yaWdodDogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdsIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3bSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djduIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N28ge1xcbiAgcGFkZGluZy1yaWdodDogMTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3cCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djdxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N3Ige1xcbiAgcGFkZGluZy1yaWdodDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3cyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djd0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N3Uge1xcbiAgcGFkZGluZy1yaWdodDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3diB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djd3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2N3gge1xcbiAgcGFkZGluZy1yaWdodDogNjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y3eSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAtMXB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djd6IHtcXG4gIHBhZGRpbmctdG9wOiAwO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djgwIHtcXG4gIHBhZGRpbmctdG9wOiAxcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODEge1xcbiAgcGFkZGluZy10b3A6IDJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4MiB7XFxuICBwYWRkaW5nLXRvcDogM3B4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djgzIHtcXG4gIHBhZGRpbmctdG9wOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODQge1xcbiAgcGFkZGluZy10b3A6IDVweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4NSB7XFxuICBwYWRkaW5nLXRvcDogNnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djg2IHtcXG4gIHBhZGRpbmctdG9wOiA4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODcge1xcbiAgcGFkZGluZy10b3A6IDEwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODgge1xcbiAgcGFkZGluZy10b3A6IDEycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ODkge1xcbiAgcGFkZGluZy10b3A6IDE0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGEge1xcbiAgcGFkZGluZy10b3A6IDE2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGIge1xcbiAgcGFkZGluZy10b3A6IDE4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGMge1xcbiAgcGFkZGluZy10b3A6IDIwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGQge1xcbiAgcGFkZGluZy10b3A6IDI0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGUge1xcbiAgcGFkZGluZy10b3A6IDI4cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGYge1xcbiAgcGFkZGluZy10b3A6IDMycHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGcge1xcbiAgcGFkZGluZy10b3A6IDM2cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGgge1xcbiAgcGFkZGluZy10b3A6IDQ0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGkge1xcbiAgcGFkZGluZy10b3A6IDY0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGoge1xcbiAgcGFkZGluZy10b3A6IC0xcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OGsge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djhsIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4bSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OG4ge1xcbiAgcmlnaHQ6IDA7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OG8ge1xcbiAgdHJhbnNpdGlvbjogMC4xMjVzIGVhc2U7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OHAge1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBlYXNlO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djhxIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OHIge1xcbiAgd2lkdGg6IDFweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4cyB7XFxuICB3aWR0aDogMnB4O1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djh0IHtcXG4gIHdpZHRoOiA0cHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OHUge1xcbiAgd2lkdGg6IDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4diB7XFxuICB3aWR0aDogMTJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4dyB7XFxuICB3aWR0aDogMjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4eCB7XFxuICB3aWR0aDogMjRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4eSB7XFxuICB3aWR0aDogMjhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y4eiB7XFxuICB3aWR0aDogMzBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MCB7XFxuICB3aWR0aDogMzJweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MSB7XFxuICB3aWR0aDogMzRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MiB7XFxuICB3aWR0aDogMzZweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5MyB7XFxuICB3aWR0aDogNDBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NCB7XFxuICB3aWR0aDogNDRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NSB7XFxuICB3aWR0aDogNDhweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NiB7XFxuICB3aWR0aDogNTRweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5NyB7XFxuICB3aWR0aDogNjBweDtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5OCB7XFxuICB3aWR0aDogMjAwcHg7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OTkge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWEge1xcbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XFxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWIge1xcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IHZhcigtLXJrLWJsdXJzLW1vZGFsT3ZlcmxheSk7XFxuICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLXJrLWJsdXJzLW1vZGFsT3ZlcmxheSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ZDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djllOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlmIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlnOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djloOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5aSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ajpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5azphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OWwge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OW06aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OW46YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlvIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5cDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXE6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djlzOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXQ6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXY6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXc6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3djl4IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2OXk6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Y5ejphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhMCB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YTE6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmEyOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YTMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmE0OmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhNTphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmE2IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YTc6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhODphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhOSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWE6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFiOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFkOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0aW9uSW5kaWNhdG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhZTphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFmIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhZzpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRCb3R0b21DYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWg6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhaSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWo6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFrOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YWwge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhbTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFuOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmFvIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhcDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXE6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZhciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXM6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXJEaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmF0OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXY6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXc6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmF4IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZheTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZHJvcCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YXo6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiMCB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiMTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiMjphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YjMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiNDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI1OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI2IHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI3OmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmI4OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiOSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiYTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiYjphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YmMge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YmQ6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YmU6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJmIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiZzpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Ymg6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiaSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Ziajpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiazphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Ymwge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZibTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJuOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJvIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YnA6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZicTphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiciB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YnM6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXN0YW5kYnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJ0OmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YnUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJ2OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZidzphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmJ4IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Ynk6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZiejphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjMCB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmMxOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YzI6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2YzMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjNDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM1OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM2IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM3OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmM4OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjOSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2E6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNiOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2Mge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjZDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNlOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNmIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjZzpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2g6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjaSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zjajpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjazphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y2wge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y206aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y246YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmNvIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjcDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3E6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zjczpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZjdDphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3Uge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3Y6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Y3c6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmN4IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmN5OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmN6OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkMCB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkMTpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkMjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZDMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ0OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWVycm9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkNTphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ2IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ3OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmQ4OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkOSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyRGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkYTpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyRGltKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkYjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZGMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbWVudUl0ZW1CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkZDpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRlOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRmIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRnOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRoOmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkaSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRqOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZGs6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZGwge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRtOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkbjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRvIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZHA6aG92ZXIge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkcTphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZkciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHREaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmRzOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZHQ6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZHUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0U2Vjb25kYXJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zkdjpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR3OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR4IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR5OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmR6OmFjdGl2ZSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlMCB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uSG92ZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmUxOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZTI6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZTMge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmU0OmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlNTphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmU2IHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlNzpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZTg6YWN0aXZlIHtcXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlOSB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zdGFuZGJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlYTpob3ZlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zdGFuZGJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlYjphY3RpdmUge1xcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZWMge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1jb25uZWN0QnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlZDpob3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWNvbm5lY3RCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVlOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWNvbm5lY3RCdXR0b24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVmIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3MtZGlhbG9nKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlZzpob3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWRpYWxvZyk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZWg6YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3MtZGlhbG9nKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlaSB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXByb2ZpbGVEZXRhaWxzQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zlajpob3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXByb2ZpbGVEZXRhaWxzQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlazphY3RpdmUge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1wcm9maWxlRGV0YWlsc0FjdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZWwge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1zZWxlY3RlZE9wdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZW06aG92ZXIge1xcbiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1zZWxlY3RlZE9wdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZW46YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRPcHRpb24pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVvIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVwOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVxOmFjdGl2ZSB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXNlbGVjdGVkV2FsbGV0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZlciB7XFxuICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXdhbGxldExvZ28pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmVzOmhvdmVyIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtd2FsbGV0TG9nbyk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXQ6YWN0aXZlIHtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtd2FsbGV0TG9nbyk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXY6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXc6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmV4IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZleTpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZXo6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmMCB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZjE6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmYyOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZjMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmY0OmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmNTphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmY2IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zjc6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmODphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmOSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmYTpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmYjphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZmMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZkOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmZTphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZmIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZnOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZoOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmaSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZqOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zms6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zmwge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmbTpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZuOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZvIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZwOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZxOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZzOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZnQ6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZnUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0aW9uSW5kaWNhdG9yKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3Zmdjpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZ3OmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmZ4IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRCb3R0b21DYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Znk6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZmejphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1kb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnMCB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmcxOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzI6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1lcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzQ6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1lcnJvcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2ZzU6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmc2IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Zzc6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnODphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnOSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXJEaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdhOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2I6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2Mge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdkOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbWVudUl0ZW1CYWNrZ3JvdW5kKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnZTphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdmIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZHJvcCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2c6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnaDphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnaSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2o6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdrOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z2wge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z206aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJvcmRlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z246YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmdvIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZncDpob3ZlciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3E6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnciB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3M6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHREaW0pO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmd0OmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3Uge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmd2OmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0U2Vjb25kYXJ5KTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZndzphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmd4IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2Z3k6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZnejphY3RpdmUge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZoMCB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDE6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uSG92ZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmgyOmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDMge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDQ6aG92ZXIge1xcbiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlRm9yZWdyb3VuZCk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aDU6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmg2IHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc2VsZWN0ZWRPcHRpb25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmg3OmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc2VsZWN0ZWRPcHRpb25Cb3JkZXIpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmg4OmFjdGl2ZSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTtcXG59XFxuW2RhdGEtcmtdIC5qdTM2N3ZoOSB7XFxuICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXN0YW5kYnkpO1xcbn1cXG5bZGF0YS1ya10gLmp1MzY3dmhhOmhvdmVyIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbltkYXRhLXJrXSAuanUzNjd2aGI6YWN0aXZlIHtcXG4gIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICBbZGF0YS1ya10gLmp1MzY3djEge1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIH1cXG4gIFtkYXRhLXJrXSAuanUzNjd2MyB7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcXG4gIH1cXG4gIFtkYXRhLXJrXSAuanUzNjd2NSB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxuICBbZGF0YS1ya10gLmp1MzY3djcge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbiAgW2RhdGEtcmtdIC5qdTM2N3Y5IHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuICBbZGF0YS1ya10gLmp1MzY3dmIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcbiAgW2RhdGEtcmtdIC5qdTM2N3ZkIHtcXG4gICAgZGlzcGxheTogaW5saW5lO1xcbiAgfVxcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jc3MvdG91Y2hhYmxlU3R5bGVzLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9TGw4eE1tTmliemhwTXl3dVh6RXlZMkp2T0drek9qcGhablJsY2lCN0NpQWdMUzFmTVRKalltODRhVEE2SURFN0NpQWdMUzFmTVRKalltODRhVEU2SURFN0NuMEtMbDh4TW1OaWJ6aHBNenBvYjNabGNpQjdDaUFnZEhKaGJuTm1iM0p0T2lCelkyRnNaU2gyWVhJb0xTMWZNVEpqWW04NGFUQXBLVHNLZlFvdVh6RXlZMkp2T0drek9tRmpkR2wyWlNCN0NpQWdkSEpoYm5ObWIzSnRPaUJ6WTJGc1pTaDJZWElvTFMxZk1USmpZbTg0YVRFcEtUc0tmUW91WHpFeVkySnZPR2t6T21GamRHbDJaVG82WVdaMFpYSWdld29nSUdOdmJuUmxiblE2SUNJaU93b2dJR0p2ZEhSdmJUb2dMVEZ3ZURzS0lDQmthWE53YkdGNU9pQmliRzlqYXpzS0lDQnNaV1owT2lBdE1YQjRPd29nSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzS0lDQnlhV2RvZERvZ0xURndlRHNLSUNCMGIzQTZJQzB4Y0hnN0NpQWdkSEpoYm5ObWIzSnRPaUJ6WTJGc1pTaGpZV3hqS0NneElDOGdkbUZ5S0MwdFh6RXlZMkp2T0dreEtTa2dLaUIyWVhJb0xTMWZNVEpqWW04NGFUQXBLU2s3Q24wS0xsOHhNbU5pYnpocE5Dd3VYekV5WTJKdk9HazBPanBoWm5SbGNpQjdDaUFnTFMxZk1USmpZbTg0YVRBNklERXVNREkxT3dwOUNpNWZNVEpqWW04NGFUVXNMbDh4TW1OaWJ6aHBOVG82WVdaMFpYSWdld29nSUMwdFh6RXlZMkp2T0drd09pQXhMakU3Q24wS0xsOHhNbU5pYnpocE5pd3VYekV5WTJKdk9HazJPanBoWm5SbGNpQjdDaUFnTFMxZk1USmpZbTg0YVRFNklEQXVPVFU3Q24wS0xsOHhNbU5pYnpocE55d3VYekV5WTJKdk9HazNPanBoWm5SbGNpQjdDaUFnTFMxZk1USmpZbTg0YVRFNklEQXVPVHNLZlE9PSAqL1xcbltkYXRhLXJrXSAuXzEyY2JvOGkzLFxcbltkYXRhLXJrXSAuXzEyY2JvOGkzOjphZnRlciB7XFxuICAtLV8xMmNibzhpMDogMTtcXG4gIC0tXzEyY2JvOGkxOiAxO1xcbn1cXG5bZGF0YS1ya10gLl8xMmNibzhpMzpob3ZlciB7XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLV8xMmNibzhpMCkpO1xcbn1cXG5bZGF0YS1ya10gLl8xMmNibzhpMzphY3RpdmUge1xcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTEpKTtcXG59XFxuW2RhdGEtcmtdIC5fMTJjYm84aTM6YWN0aXZlOjphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvdHRvbTogLTFweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbGVmdDogLTFweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAtMXB4O1xcbiAgdG9wOiAtMXB4O1xcbiAgdHJhbnNmb3JtOiBzY2FsZShjYWxjKCgxIC8gdmFyKC0tXzEyY2JvOGkxKSkgKiB2YXIoLS1fMTJjYm84aTApKSk7XFxufVxcbltkYXRhLXJrXSAuXzEyY2JvOGk0LFxcbltkYXRhLXJrXSAuXzEyY2JvOGk0OjphZnRlciB7XFxuICAtLV8xMmNibzhpMDogMS4wMjU7XFxufVxcbltkYXRhLXJrXSAuXzEyY2JvOGk1LFxcbltkYXRhLXJrXSAuXzEyY2JvOGk1OjphZnRlciB7XFxuICAtLV8xMmNibzhpMDogMS4xO1xcbn1cXG5bZGF0YS1ya10gLl8xMmNibzhpNixcXG5bZGF0YS1ya10gLl8xMmNibzhpNjo6YWZ0ZXIge1xcbiAgLS1fMTJjYm84aTE6IDAuOTU7XFxufVxcbltkYXRhLXJrXSAuXzEyY2JvOGk3LFxcbltkYXRhLXJrXSAuXzEyY2JvOGk3OjphZnRlciB7XFxuICAtLV8xMmNibzhpMTogMC45O1xcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL0ljb25zL0ljb25zLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9UUd0bGVXWnlZVzFsY3lCZk1XeDFkV3hsTkRFZ2V3b2dJREFsSUhzS0lDQWdJSFJ5WVc1elptOXliVG9nY205MFlYUmxLREJrWldjcE93b2dJSDBLSUNBeE1EQWxJSHNLSUNBZ0lIUnlZVzV6Wm05eWJUb2djbTkwWVhSbEtETTJNR1JsWnlrN0NpQWdmUXA5Q2k1Zk1XeDFkV3hsTkRJZ2V3b2dJR0Z1YVcxaGRHbHZiam9nWHpGc2RYVnNaVFF4SUROeklHbHVabWx1YVhSbElHeHBibVZoY2pzS2ZRb3VYekZzZFhWc1pUUXpJSHNLSUNCaVlXTnJaM0p2ZFc1a09pQmpiMjVwWXkxbmNtRmthV1Z1ZENobWNtOXRJREU0TUdSbFp5QmhkQ0ExTUNVZ05UQWxMQ0J5WjJKaEtEY3lMQ0F4TkRZc0lESTFOQ3dnTUNrZ01HUmxaeXdnWTNWeWNtVnVkRU52Ykc5eUlESTRNaTR3TkdSbFp5d2djbWRpWVNnM01pd2dNVFEyTENBeU5UUXNJREFwSURNeE9TNDRObVJsWnl3Z2NtZGlZU2czTWl3Z01UUTJMQ0F5TlRRc0lEQXBJRE0yTUdSbFp5azdDaUFnYUdWcFoyaDBPaUF5TVhCNE93b2dJSGRwWkhSb09pQXlNWEI0T3dwOSAqL1xcbkBrZXlmcmFtZXMgXzFsdXVsZTQxIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gIH1cXG59XFxuW2RhdGEtcmtdIC5fMWx1dWxlNDIge1xcbiAgYW5pbWF0aW9uOiBfMWx1dWxlNDEgM3MgaW5maW5pdGUgbGluZWFyO1xcbn1cXG5bZGF0YS1ya10gLl8xbHV1bGU0MyB7XFxuICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDE4MGRlZyBhdCA1MCUgNTAlLCByZ2JhKDcyLCAxNDYsIDI1NCwgMCkgMGRlZywgY3VycmVudENvbG9yIDI4Mi4wNGRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDMxOS44NmRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDM2MGRlZyk7XFxuICBoZWlnaHQ6IDIxcHg7XFxuICB3aWR0aDogMjFweDtcXG59XFxuXFxuLyogdmFuaWxsYS1leHRyYWN0LWNzcy1uczpzcmMvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9UUd0bGVXWnlZVzFsY3lCZk9YQnROR3RwTUNCN0NpQWdNQ1VnZXdvZ0lDQWdkSEpoYm5ObWIzSnRPaUIwY21GdWMyeGhkR1ZaS0RFd01DVXBPd29nSUgwS0lDQXhNREFsSUhzS0lDQWdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV1Nnd0tUc0tJQ0I5Q24wS1FHdGxlV1p5WVcxbGN5QmZPWEJ0Tkd0cE1TQjdDaUFnTUNVZ2V3b2dJQ0FnYjNCaFkybDBlVG9nTURzS0lDQjlDaUFnTVRBd0pTQjdDaUFnSUNCdmNHRmphWFI1T2lBeE93b2dJSDBLZlFvdVh6bHdiVFJyYVRNZ2V3b2dJR0Z1YVcxaGRHbHZiam9nWHpsd2JUUnJhVEVnTVRVd2JYTWdaV0Z6WlRzS0lDQmliM1IwYjIwNklDMHlNREJ3ZURzS0lDQnNaV1owT2lBdE1qQXdjSGc3Q2lBZ2NHRmtaR2x1WnpvZ01qQXdjSGc3Q2lBZ2NtbG5hSFE2SUMweU1EQndlRHNLSUNCMGIzQTZJQzB5TURCd2VEc0tJQ0IwY21GdWMyWnZjbTA2SUhSeVlXNXpiR0YwWlZvb01DazdDaUFnZWkxcGJtUmxlRG9nTWpFME56UTRNelkwTmpzS2ZRb3VYemx3YlRScmFUVWdld29nSUdGdWFXMWhkR2x2YmpvZ1h6bHdiVFJyYVRBZ016VXdiWE1nWTNWaWFXTXRZbVY2YVdWeUtDNHhOU3d4TGpFMUxEQXVOaXd4TGpBd0tTd2dYemx3YlRScmFURWdNVFV3YlhNZ1pXRnpaVHNLSUNCdFlYZ3RkMmxrZEdnNklERXdNSFozT3dwOSAqL1xcbkBrZXlmcmFtZXMgXzlwbTRraTAge1xcbiAgMCUge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIF85cG00a2kxIHtcXG4gIDAlIHtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbn1cXG5bZGF0YS1ya10gLl85cG00a2kzIHtcXG4gIGFuaW1hdGlvbjogXzlwbTRraTEgMTUwbXMgZWFzZTtcXG4gIGJvdHRvbTogLTIwMHB4O1xcbiAgbGVmdDogLTIwMHB4O1xcbiAgcGFkZGluZzogMjAwcHg7XFxuICByaWdodDogLTIwMHB4O1xcbiAgdG9wOiAtMjAwcHg7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XFxuICB6LWluZGV4OiAyMTQ3NDgzNjQ2O1xcbn1cXG5bZGF0YS1ya10gLl85cG00a2k1IHtcXG4gIGFuaW1hdGlvbjogXzlwbTRraTAgMzUwbXMgY3ViaWMtYmV6aWVyKC4xNSwgMS4xNSwgMC42LCAxLjAwKSwgXzlwbTRraTEgMTUwbXMgZWFzZTtcXG4gIG1heC13aWR0aDogMTAwdnc7XFxufVxcblxcbi8qIHZhbmlsbGEtZXh0cmFjdC1jc3MtbnM6c3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT1MbDh4WTJ0cWNHOXJNU0I3Q2lBZ1ltOTRMWE5wZW1sdVp6b2dZMjl1ZEdWdWRDMWliM2c3Q2lBZ2JXRjRMWGRwWkhSb09pQXhNREIyZHpzS0lDQjNhV1IwYURvZ016WXdjSGc3Q24wS0xsOHhZMnRxY0c5ck1pQjdDaUFnZDJsa2RHZzZJREV3TUhaM093cDlDaTVmTVdOcmFuQnZhek1nZXdvZ0lIZHBaSFJvT2lBM05qaHdlRHNLZlFvdVh6RmphMnB3YjJzMElIc0tJQ0J0YVc0dGQybGtkR2c2SURNMk9IQjRPd29nSUhkcFpIUm9PaUF6Tmpod2VEc0tmUW91WHpGamEycHdiMnMySUhzS0lDQmliM0prWlhJdGQybGtkR2c2SURCd2VEc0tJQ0JpYjNndGMybDZhVzVuT2lCaWIzSmtaWEl0WW05NE93b2dJSGRwWkhSb09pQXhNREIyZHpzS2ZRcEFiV1ZrYVdFZ2MyTnlaV1Z1SUdGdVpDQW9iV2x1TFhkcFpIUm9PaUEzTmpod2VDa2dld29nSUM1Zk1XTnJhbkJ2YXpFZ2V3b2dJQ0FnZDJsa2RHZzZJRE0yTUhCNE93b2dJSDBLSUNBdVh6RmphMnB3YjJzeUlIc0tJQ0FnSUhkcFpIUm9PaUEwT0RCd2VEc0tJQ0I5Q2lBZ0xsOHhZMnRxY0c5ck15QjdDaUFnSUNCM2FXUjBhRG9nTnpJd2NIZzdDaUFnZlFvZ0lDNWZNV05yYW5CdmF6UWdld29nSUNBZ2JXbHVMWGRwWkhSb09pQXpOamh3ZURzS0lDQWdJSGRwWkhSb09pQXpOamh3ZURzS0lDQjlDbjBLUUcxbFpHbGhJSE5qY21WbGJpQmhibVFnS0cxaGVDMTNhV1IwYURvZ056WTNjSGdwSUhzS0lDQXVYekZqYTJwd2IyczNJSHNLSUNBZ0lHSnZjbVJsY2kxaWIzUjBiMjB0YkdWbWRDMXlZV1JwZFhNNklEQTdDaUFnSUNCaWIzSmtaWEl0WW05MGRHOXRMWEpwWjJoMExYSmhaR2wxY3pvZ01Ec0tJQ0FnSUcxaGNtZHBiaTEwYjNBNklDMHlNREJ3ZURzS0lDQWdJSEJoWkdScGJtY3RZbTkwZEc5dE9pQXlNREJ3ZURzS0lDQWdJSFJ2Y0RvZ01qQXdjSGc3Q2lBZ2ZRcDkgKi9cXG5bZGF0YS1ya10gLl8xY2tqcG9rMSB7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gIG1heC13aWR0aDogMTAwdnc7XFxuICB3aWR0aDogMzYwcHg7XFxufVxcbltkYXRhLXJrXSAuXzFja2pwb2syIHtcXG4gIHdpZHRoOiAxMDB2dztcXG59XFxuW2RhdGEtcmtdIC5fMWNranBvazMge1xcbiAgd2lkdGg6IDc2OHB4O1xcbn1cXG5bZGF0YS1ya10gLl8xY2tqcG9rNCB7XFxuICBtaW4td2lkdGg6IDM2OHB4O1xcbiAgd2lkdGg6IDM2OHB4O1xcbn1cXG5bZGF0YS1ya10gLl8xY2tqcG9rNiB7XFxuICBib3JkZXItd2lkdGg6IDBweDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICB3aWR0aDogMTAwdnc7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICBbZGF0YS1ya10gLl8xY2tqcG9rMSB7XFxuICAgIHdpZHRoOiAzNjBweDtcXG4gIH1cXG4gIFtkYXRhLXJrXSAuXzFja2pwb2syIHtcXG4gICAgd2lkdGg6IDQ4MHB4O1xcbiAgfVxcbiAgW2RhdGEtcmtdIC5fMWNranBvazMge1xcbiAgICB3aWR0aDogNzIwcHg7XFxuICB9XFxuICBbZGF0YS1ya10gLl8xY2tqcG9rNCB7XFxuICAgIG1pbi13aWR0aDogMzY4cHg7XFxuICAgIHdpZHRoOiAzNjhweDtcXG4gIH1cXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcXG4gIFtkYXRhLXJrXSAuXzFja2pwb2s3IHtcXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XFxuICAgIG1hcmdpbi10b3A6IC0yMDBweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xcbiAgICB0b3A6IDIwMHB4O1xcbiAgfVxcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL01lbnVCdXR0b24vTWVudUJ1dHRvbi5jc3MudHMudmFuaWxsYS5jc3M/c291cmNlPUxuWTVhRzl5WWpBNmFHOTJaWElnZXdvZ0lHSmhZMnRuY205MWJtUTZJSFZ1YzJWME93cDkgKi9cXG5bZGF0YS1ya10gLnY5aG9yYjA6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogdW5zZXQ7XFxufVxcblxcbi8qIHZhbmlsbGEtZXh0cmFjdC1jc3MtbnM6c3JjL2NvbXBvbmVudHMvTW9kYWxTZWxlY3Rpb24vTW9kYWxTZWxlY3Rpb24uY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT1MbWMxYTJ3d2JEQWdld29nSUdKdmNtUmxjaTFqYjJ4dmNqb2dkSEpoYm5Od1lYSmxiblE3Q24wPSAqL1xcbltkYXRhLXJrXSAuZzVrbDBsMCB7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL0Rlc2t0b3BPcHRpb25zLmNzcy50cy52YW5pbGxhLmNzcz9zb3VyY2U9TGw4eGRuZDBNR05uTUNCN0NpQWdZbUZqYTJkeWIzVnVaRG9nZDJocGRHVTdDbjBLTGw4eGRuZDBNR05uTWlCN0NpQWdiV0Y0TFdobGFXZG9kRG9nTkRVMGNIZzdDaUFnYjNabGNtWnNiM2N0ZVRvZ1lYVjBienNLZlFvdVh6RjJkM1F3WTJjeklIc0tJQ0J0YVc0dGQybGtkR2c2SURJME5uQjRPd3A5Q2k1Zk1YWjNkREJqWnpRZ2V3b2dJRzFwYmkxM2FXUjBhRG9nTVRBd0pUc0tmUXBBYldWa2FXRWdjMk55WldWdUlHRnVaQ0FvYldsdUxYZHBaSFJvT2lBM05qaHdlQ2tnZXdvZ0lDNWZNWFozZERCalp6TWdld29nSUNBZ2JXbHVMWGRwWkhSb09pQXlPRGR3ZURzS0lDQjlDbjA9ICovXFxuW2RhdGEtcmtdIC5fMXZ3dDBjZzAge1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxufVxcbltkYXRhLXJrXSAuXzF2d3QwY2cyIHtcXG4gIG1heC1oZWlnaHQ6IDQ1NHB4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG59XFxuW2RhdGEtcmtdIC5fMXZ3dDBjZzMge1xcbiAgbWluLXdpZHRoOiAyNDZweDtcXG59XFxuW2RhdGEtcmtdIC5fMXZ3dDBjZzQge1xcbiAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgW2RhdGEtcmtdIC5fMXZ3dDBjZzMge1xcbiAgICBtaW4td2lkdGg6IDI4N3B4O1xcbiAgfVxcbn1cXG5cXG4vKiB2YW5pbGxhLWV4dHJhY3QtY3NzLW5zOnNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL01vYmlsZU9wdGlvbnMuY3NzLnRzLnZhbmlsbGEuY3NzP3NvdXJjZT1MbDh4WVcweE5EUXhNQ0I3Q2lBZ2IzWmxjbVpzYjNjNklHRjFkRzg3Q2lBZ2MyTnliMnhzWW1GeUxYZHBaSFJvT2lCdWIyNWxPd29nSUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdpZ3dLVHNLZlFvdVh6RmhiVEUwTkRFd09qb3RkMlZpYTJsMExYTmpjbTlzYkdKaGNpQjdDaUFnWkdsemNHeGhlVG9nYm05dVpUc0tmUT09ICovXFxuW2RhdGEtcmtdIC5fMWFtMTQ0MTAge1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XFxufVxcbltkYXRhLXJrXSAuXzFhbTE0NDEwOjotd2Via2l0LXNjcm9sbGJhciB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./node_modules/@rainbow-me/rainbowkit/dist/index.css\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid #00f900;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:max-w-full {\\n max-width: 100%;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid #00f900;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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T0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sYUFBYSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLE1BQU0sYUFBYSxXQUFXLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLE1BQU0sVUFBVSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1B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dUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRyxnRkFBZ0YsdUJBQXVCLDBCQUEwQixHQUFHLGlDQUFpQyxrQkFBa0IsdUJBQXVCLHFDQUFxQyxjQUFjLHlCQUF5QixHQUFHLGlDQUFpQyxnQkFBZ0IsWUFBWSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxHQUFHLHVCQUF1QixhQUFhLFlBQVksR0FBRywwQkFBMEI7QUFDN3c0QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmdyaWQtY29scy0xIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGY5MDA7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG59XFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNDphZnRlciB7XFxuICByaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG59XFxuLnN0eWxlNTpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWdyYXktMTAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1ncmF5LTgwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpiZy1ncmF5LTcwMDpob3ZlciB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmdyaWQge1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOm1heC13LWZ1bGwge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7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O0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSww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QUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwZjkwMDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js": -/*!************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js ***! - \************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/ // css base code, injected by the css-loader\n// eslint-disable-next-line func-names\n\nmodule.exports = function(useSourceMap) {\n var list = [] // return the list of modules as css string\n ;\n list.toString = function toString() {\n return this.map(function(item) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var content = cssWithMappingToString(item, useSourceMap);\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n return content;\n }).join(\"\");\n } // import a list of modules into the list\n ;\n // eslint-disable-next-line func-names\n // @ts-expect-error TODO: fix type\n list.i = function(modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [\n [\n null,\n modules,\n \"\"\n ]\n ];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for(var i = 0; i < this.length; i++){\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for(var _i = 0; _i < modules.length; _i++){\n var item = [].concat(modules[_i]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n list.push(item);\n }\n };\n return list;\n};\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || \"\" // eslint-disable-next-line prefer-destructuring\n ;\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (useSourceMap && typeof btoa === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function(source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [\n content\n ].concat(sourceURLs).concat([\n sourceMapping\n ]).join(\"\\n\");\n }\n return [\n content\n ].join(\"\\n\");\n} // Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}\n\n//# sourceMappingURL=api.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELHFCQUFxQjtBQUN6RTtBQUNBO0FBQ0EsU0FBUztBQUNULE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixpQkFBaUI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IscUJBQXFCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxjQUFjO0FBQ3JFO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanM/Y2E0ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qLyAvLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3NzLWxvYWRlclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcblwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih1c2VTb3VyY2VNYXApIHtcbiAgICB2YXIgbGlzdCA9IFtdIC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcbiAgICA7XG4gICAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7XG4gICAgICAgICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgIH0pLmpvaW4oXCJcIik7XG4gICAgfSAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAgIDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogZml4IHR5cGVcbiAgICBsaXN0LmkgPSBmdW5jdGlvbihtb2R1bGVzLCBtZWRpYVF1ZXJ5LCBkZWR1cGUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgIG1vZHVsZXMgPSBbXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICBtb2R1bGVzLFxuICAgICAgICAgICAgICAgICAgICBcIlwiXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuICAgICAgICBpZiAoZGVkdXBlKSB7XG4gICAgICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG4gICAgICAgICAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcbiAgICAgICAgICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvcih2YXIgX2kgPSAwOyBfaSA8IG1vZHVsZXMubGVuZ3RoOyBfaSsrKXtcbiAgICAgICAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2ldKTtcbiAgICAgICAgICAgIGlmIChkZWR1cGUgJiYgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVsyXSA9IG1lZGlhUXVlcnk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVsyXSA9IFwiXCIuY29uY2F0KG1lZGlhUXVlcnksIFwiIGFuZCBcIikuY29uY2F0KGl0ZW1bMl0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpc3QucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGxpc3Q7XG59O1xuZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApIHtcbiAgICB2YXIgY29udGVudCA9IGl0ZW1bMV0gfHwgXCJcIiAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICA7XG4gICAgdmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuICAgIGlmICghY3NzTWFwcGluZykge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG4gICAgaWYgKHVzZVNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgICAgdmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG4gICAgICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbihzb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBcIi8qIyBzb3VyY2VVUkw9XCIuY29uY2F0KGNzc01hcHBpbmcuc291cmNlUm9vdCB8fCBcIlwiKS5jb25jYXQoc291cmNlLCBcIiAqL1wiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBjb250ZW50XG4gICAgICAgIF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbXG4gICAgICAgICAgICBzb3VyY2VNYXBwaW5nXG4gICAgICAgIF0pLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICAgIGNvbnRlbnRcbiAgICBdLmpvaW4oXCJcXG5cIik7XG59IC8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcbmZ1bmN0aW9uIHRvQ29tbWVudChzb3VyY2VNYXApIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKTtcbiAgICB2YXIgZGF0YSA9IFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXCIuY29uY2F0KGJhc2U2NCk7XG4gICAgcmV0dXJuIFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBpLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_app&page=%2F_app!": -/*!*******************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_app&page=%2F_app! ***! - \*******************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return __webpack_require__(/*! private-next-pages/_app */ \"./pages/_app.tsx\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfYXBwJnBhZ2U9JTJGX2FwcCEiLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxpREFBeUI7QUFDaEQ7QUFDQTtBQUNBLE9BQU8sSUFBVTtBQUNqQixNQUFNLFVBQVU7QUFDaEI7QUFDQSxPQUFPO0FBQ1A7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvPzY3ODIiXSwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgKHdpbmRvdy5fX05FWFRfUCA9IHdpbmRvdy5fX05FWFRfUCB8fCBbXSkucHVzaChbXG4gICAgICBcIi9fYXBwXCIsXG4gICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlKFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19hcHBcIik7XG4gICAgICB9XG4gICAgXSk7XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93Ll9fTkVYVF9QLnB1c2goW1wiL19hcHBcIl0pXG4gICAgICB9KTtcbiAgICB9XG4gICJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_app&page=%2F_app!\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.css": -/*!************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.css ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var api = __webpack_require__(/*! !../../../next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js\");\n var content = __webpack_require__(/*! !!../../../next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!../../../next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./index.css */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = function(element) {\n // By default, style-loader injects CSS into the bottom\n // of <head>. This causes ordering problems between dev\n // and prod. To fix this, we render a <noscript> tag as\n // an anchor for the styles to be placed before. These\n // styles will be applied _before_ <style jsx global>.\n // These elements should always exist. If they do not,\n // this code should fail.\n var anchorElement = document.querySelector(\"#__next_css__DO_NOT_USE__\");\n var parentNode = anchorElement.parentNode// Normally <head>\n ;\n // Each style tag should be placed right before our\n // anchor. By inserting before and not after, we do not\n // need to track the last inserted element.\n parentNode.insertBefore(element, anchorElement);\n };\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\nif (true) {\n if (!content.locals || module.hot.invalidate) {\n var isEqualLocals = function isEqualLocals(a, b, isNamedExport) {\n if (!a && b || a && !b) {\n return false;\n }\n let p;\n for(p in a){\n if (isNamedExport && p === \"default\") {\n continue;\n }\n if (a[p] !== b[p]) {\n return false;\n }\n }\n for(p in b){\n if (isNamedExport && p === \"default\") {\n continue;\n }\n if (!a[p]) {\n return false;\n }\n }\n return true;\n};\n var oldLocals = content.locals;\n\n module.hot.accept(\n /*! !!../../../next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!../../../next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./index.css */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./node_modules/@rainbow-me/rainbowkit/dist/index.css\",\n function () {\n content = __webpack_require__(/*! !!../../../next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!../../../next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./index.css */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[11].use[2]!./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\n if (!isEqualLocals(oldLocals, content.locals)) {\n module.hot.invalidate();\n\n return;\n }\n\n oldLocals = content.locals;\n\n update(content);\n }\n )\n }\n\n module.hot.dispose(function() {\n update();\n });\n}\n\nmodule.exports = content.locals || {};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2luZGV4LmNzcyIsIm1hcHBpbmdzIjoiQUFBQSxVQUFVLG1CQUFPLENBQUMsNk1BQWlHO0FBQ25ILDBCQUEwQixtQkFBTyxDQUFDLDJmQUFpTzs7QUFFblE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBLElBQUksSUFBVTtBQUNkLHlCQUF5QixVQUFVO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJLGlCQUFpQjtBQUNyQixNQUFNLDJmQUFpTztBQUN2TztBQUNBLGtCQUFrQixtQkFBTyxDQUFDLDJmQUFpTzs7QUFFM1A7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCLFVBQVU7O0FBRTFCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsRUFBRSxVQUFVO0FBQ1o7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9pbmRleC5jc3M/NGVlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgYXBpID0gcmVxdWlyZShcIiEuLi8uLi8uLi9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtc3R5bGUtbG9hZGVyL3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCIpO1xuICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzExXS51c2VbMV0hLi4vLi4vLi4vbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3J1bGVTZXRbMV0ucnVsZXNbMV0ub25lT2ZbMTFdLnVzZVsyXSEuL2luZGV4LmNzc1wiKTtcblxuICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuX19lc01vZHVsZSA/IGNvbnRlbnQuZGVmYXVsdCA6IGNvbnRlbnQ7XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuICAgICAgICAgICAgfVxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCwgc3R5bGUtbG9hZGVyIGluamVjdHMgQ1NTIGludG8gdGhlIGJvdHRvbVxuICAgICAgICAgICAgICAgICAgICAvLyBvZiA8aGVhZD4uIFRoaXMgY2F1c2VzIG9yZGVyaW5nIHByb2JsZW1zIGJldHdlZW4gZGV2XG4gICAgICAgICAgICAgICAgICAgIC8vIGFuZCBwcm9kLiBUbyBmaXggdGhpcywgd2UgcmVuZGVyIGEgPG5vc2NyaXB0PiB0YWcgYXNcbiAgICAgICAgICAgICAgICAgICAgLy8gYW4gYW5jaG9yIGZvciB0aGUgc3R5bGVzIHRvIGJlIHBsYWNlZCBiZWZvcmUuIFRoZXNlXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlcyB3aWxsIGJlIGFwcGxpZWQgX2JlZm9yZV8gPHN0eWxlIGpzeCBnbG9iYWw+LlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGVzZSBlbGVtZW50cyBzaG91bGQgYWx3YXlzIGV4aXN0LiBJZiB0aGV5IGRvIG5vdCxcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBjb2RlIHNob3VsZCBmYWlsLlxuICAgICAgICAgICAgICAgICAgICB2YXIgYW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjX19uZXh0X2Nzc19fRE9fTk9UX1VTRV9fXCIpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGFuY2hvckVsZW1lbnQucGFyZW50Tm9kZS8vIE5vcm1hbGx5IDxoZWFkPlxuICAgICAgICAgICAgICAgICAgICA7XG4gICAgICAgICAgICAgICAgICAgIC8vIEVhY2ggc3R5bGUgdGFnIHNob3VsZCBiZSBwbGFjZWQgcmlnaHQgYmVmb3JlIG91clxuICAgICAgICAgICAgICAgICAgICAvLyBhbmNob3IuIEJ5IGluc2VydGluZyBiZWZvcmUgYW5kIG5vdCBhZnRlciwgd2UgZG8gbm90XG4gICAgICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gdHJhY2sgdGhlIGxhc3QgaW5zZXJ0ZWQgZWxlbWVudC5cbiAgICAgICAgICAgICAgICAgICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZWxlbWVudCwgYW5jaG9yRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfTtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuaWYgKG1vZHVsZS5ob3QpIHtcbiAgaWYgKCFjb250ZW50LmxvY2FscyB8fCBtb2R1bGUuaG90LmludmFsaWRhdGUpIHtcbiAgICB2YXIgaXNFcXVhbExvY2FscyA9IGZ1bmN0aW9uIGlzRXF1YWxMb2NhbHMoYSwgYiwgaXNOYW1lZEV4cG9ydCkge1xuICAgIGlmICghYSAmJiBiIHx8IGEgJiYgIWIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgcDtcbiAgICBmb3IocCBpbiBhKXtcbiAgICAgICAgaWYgKGlzTmFtZWRFeHBvcnQgJiYgcCA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhW3BdICE9PSBiW3BdKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yKHAgaW4gYil7XG4gICAgICAgIGlmIChpc05hbWVkRXhwb3J0ICYmIHAgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFbcF0pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG4gICAgdmFyIG9sZExvY2FscyA9IGNvbnRlbnQubG9jYWxzO1xuXG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXG4gICAgICBcIiEhLi4vLi4vLi4vbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxMV0udXNlWzFdIS4uLy4uLy4uL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzExXS51c2VbMl0hLi9pbmRleC5jc3NcIixcbiAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3J1bGVTZXRbMV0ucnVsZXNbMV0ub25lT2ZbMTFdLnVzZVsxXSEuLi8uLi8uLi9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxMV0udXNlWzJdIS4vaW5kZXguY3NzXCIpO1xuXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50Ll9fZXNNb2R1bGUgPyBjb250ZW50LmRlZmF1bHQgOiBjb250ZW50O1xuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoIWlzRXF1YWxMb2NhbHMob2xkTG9jYWxzLCBjb250ZW50LmxvY2FscykpIHtcbiAgICAgICAgICAgICAgICBtb2R1bGUuaG90LmludmFsaWRhdGUoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIG9sZExvY2FscyA9IGNvbnRlbnQubG9jYWxzO1xuXG4gICAgICAgICAgICAgIHVwZGF0ZShjb250ZW50KTtcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzIHx8IHt9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/index.css\n")); - -/***/ }), - -/***/ "./styles/globals.css": -/*!****************************!*\ - !*** ./styles/globals.css ***! - \****************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var api = __webpack_require__(/*! !../node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js\");\n var content = __webpack_require__(/*! !!../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./globals.css */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = function(element) {\n // By default, style-loader injects CSS into the bottom\n // of <head>. This causes ordering problems between dev\n // and prod. To fix this, we render a <noscript> tag as\n // an anchor for the styles to be placed before. These\n // styles will be applied _before_ <style jsx global>.\n // These elements should always exist. If they do not,\n // this code should fail.\n var anchorElement = document.querySelector(\"#__next_css__DO_NOT_USE__\");\n var parentNode = anchorElement.parentNode// Normally <head>\n ;\n // Each style tag should be placed right before our\n // anchor. By inserting before and not after, we do not\n // need to track the last inserted element.\n parentNode.insertBefore(element, anchorElement);\n };\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\nif (true) {\n if (!content.locals || module.hot.invalidate) {\n var isEqualLocals = function isEqualLocals(a, b, isNamedExport) {\n if (!a && b || a && !b) {\n return false;\n }\n let p;\n for(p in a){\n if (isNamedExport && p === \"default\") {\n continue;\n }\n if (a[p] !== b[p]) {\n return false;\n }\n }\n for(p in b){\n if (isNamedExport && p === \"default\") {\n continue;\n }\n if (!a[p]) {\n return false;\n }\n }\n return true;\n};\n var oldLocals = content.locals;\n\n module.hot.accept(\n /*! !!../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./globals.css */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\",\n function () {\n content = __webpack_require__(/*! !!../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./globals.css */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\n if (!isEqualLocals(oldLocals, content.locals)) {\n module.hot.invalidate();\n\n return;\n }\n\n oldLocals = content.locals;\n\n update(content);\n }\n )\n }\n\n module.hot.dispose(function() {\n update();\n });\n}\n\nmodule.exports = content.locals || {};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxtQkFBTyxDQUFDLG9OQUF3RztBQUMxSCwwQkFBMEIsbUJBQU8sQ0FBQywyZUFBaVA7O0FBRW5SOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQSxJQUFJLElBQVU7QUFDZCx5QkFBeUIsVUFBVTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSSxpQkFBaUI7QUFDckIsTUFBTSwyZUFBaVA7QUFDdlA7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQywyZUFBaVA7O0FBRTNROztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQixVQUFVOztBQUUxQjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEVBQUUsVUFBVTtBQUNaO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz80MmE4Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBhcGkgPSByZXF1aXJlKFwiIS4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtc3R5bGUtbG9hZGVyL3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCIpO1xuICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzJdIS4vZ2xvYmFscy5jc3NcIik7XG5cbiAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50Ll9fZXNNb2R1bGUgPyBjb250ZW50LmRlZmF1bHQgOiBjb250ZW50O1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcbiAgICAgICAgICAgIH1cblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBmdW5jdGlvbihlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQsIHN0eWxlLWxvYWRlciBpbmplY3RzIENTUyBpbnRvIHRoZSBib3R0b21cbiAgICAgICAgICAgICAgICAgICAgLy8gb2YgPGhlYWQ+LiBUaGlzIGNhdXNlcyBvcmRlcmluZyBwcm9ibGVtcyBiZXR3ZWVuIGRldlxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgcHJvZC4gVG8gZml4IHRoaXMsIHdlIHJlbmRlciBhIDxub3NjcmlwdD4gdGFnIGFzXG4gICAgICAgICAgICAgICAgICAgIC8vIGFuIGFuY2hvciBmb3IgdGhlIHN0eWxlcyB0byBiZSBwbGFjZWQgYmVmb3JlLiBUaGVzZVxuICAgICAgICAgICAgICAgICAgICAvLyBzdHlsZXMgd2lsbCBiZSBhcHBsaWVkIF9iZWZvcmVfIDxzdHlsZSBqc3ggZ2xvYmFsPi5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlc2UgZWxlbWVudHMgc2hvdWxkIGFsd2F5cyBleGlzdC4gSWYgdGhleSBkbyBub3QsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgY29kZSBzaG91bGQgZmFpbC5cbiAgICAgICAgICAgICAgICAgICAgdmFyIGFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI19fbmV4dF9jc3NfX0RPX05PVF9VU0VfX1wiKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhcmVudE5vZGUgPSBhbmNob3JFbGVtZW50LnBhcmVudE5vZGUvLyBOb3JtYWxseSA8aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgICAgICAvLyBFYWNoIHN0eWxlIHRhZyBzaG91bGQgYmUgcGxhY2VkIHJpZ2h0IGJlZm9yZSBvdXJcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5jaG9yLiBCeSBpbnNlcnRpbmcgYmVmb3JlIGFuZCBub3QgYWZ0ZXIsIHdlIGRvIG5vdFxuICAgICAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIHRyYWNrIHRoZSBsYXN0IGluc2VydGVkIGVsZW1lbnQuXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIGFuY2hvckVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH07XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cbmlmIChtb2R1bGUuaG90KSB7XG4gIGlmICghY29udGVudC5sb2NhbHMgfHwgbW9kdWxlLmhvdC5pbnZhbGlkYXRlKSB7XG4gICAgdmFyIGlzRXF1YWxMb2NhbHMgPSBmdW5jdGlvbiBpc0VxdWFsTG9jYWxzKGEsIGIsIGlzTmFtZWRFeHBvcnQpIHtcbiAgICBpZiAoIWEgJiYgYiB8fCBhICYmICFiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgbGV0IHA7XG4gICAgZm9yKHAgaW4gYSl7XG4gICAgICAgIGlmIChpc05hbWVkRXhwb3J0ICYmIHAgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYVtwXSAhPT0gYltwXSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvcihwIGluIGIpe1xuICAgICAgICBpZiAoaXNOYW1lZEV4cG9ydCAmJiBwID09PSBcImRlZmF1bHRcIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhW3BdKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuICAgIHZhciBvbGRMb2NhbHMgPSBjb250ZW50LmxvY2FscztcblxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFxuICAgICAgXCIhIS4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMV0hLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9nbG9iYWxzLmNzc1wiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3J1bGVTZXRbMV0ucnVsZXNbMV0ub25lT2ZbMTNdLnVzZVsxXSEuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3J1bGVTZXRbMV0ucnVsZXNbMV0ub25lT2ZbMTNdLnVzZVsyXSEuL2dsb2JhbHMuY3NzXCIpO1xuXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50Ll9fZXNNb2R1bGUgPyBjb250ZW50LmRlZmF1bHQgOiBjb250ZW50O1xuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoIWlzRXF1YWxMb2NhbHMob2xkTG9jYWxzLCBjb250ZW50LmxvY2FscykpIHtcbiAgICAgICAgICAgICAgICBtb2R1bGUuaG90LmludmFsaWRhdGUoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIG9sZExvY2FscyA9IGNvbnRlbnQubG9jYWxzO1xuXG4gICAgICAgICAgICAgIHVwZGF0ZShjb250ZW50KTtcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzIHx8IHt9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./styles/globals.css\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js ***! - \************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nconst isOldIE = function isOldIE() {\n let memo;\n return function memorize() {\n if (typeof memo === \"undefined\") {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n return memo;\n };\n}();\nconst getTargetElement = function() {\n const memo = {};\n return function memorize(target) {\n if (typeof memo[target] === \"undefined\") {\n let styleTarget = document.querySelector(target);\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n };\n}();\nconst stylesInDom = [];\nfunction getIndexByIdentifier(identifier) {\n let result = -1;\n for(let i = 0; i < stylesInDom.length; i++){\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n const idCountMap = {};\n const identifiers = [];\n for(let i = 0; i < list.length; i++){\n const item = list[i];\n const id = options.base ? item[0] + options.base : item[0];\n const count = idCountMap[id] || 0;\n const identifier = id + \" \" + count.toString();\n idCountMap[id] = count + 1;\n const index = getIndexByIdentifier(identifier);\n const obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n updater: addStyle(obj, options),\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction insertStyleElement(options) {\n const style = document.createElement(\"style\");\n const attributes = options.attributes || {};\n if (typeof attributes.nonce === \"undefined\") {\n const nonce = // eslint-disable-next-line no-undef\n true ? __webpack_require__.nc : 0;\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n Object.keys(attributes).forEach(function(key) {\n style.setAttribute(key, attributes[key]);\n });\n if (typeof options.insert === \"function\") {\n options.insert(style);\n } else {\n const target = getTargetElement(options.insert || \"head\");\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n }\n return style;\n}\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */ const replaceText = function replaceText() {\n const textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\nfunction applyToSingletonTag(style, index, remove, obj) {\n const css = remove ? \"\" : obj.media ? \"@media \" + obj.media + \" {\" + obj.css + \"}\" : obj.css;\n // For old IE\n /* istanbul ignore if */ if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n const cssNode = document.createTextNode(css);\n const childNodes = style.childNodes;\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\nfunction applyToTag(style, _options, obj) {\n let css = obj.css;\n const media = obj.media;\n const sourceMap = obj.sourceMap;\n if (media) {\n style.setAttribute(\"media\", media);\n } else {\n style.removeAttribute(\"media\");\n }\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n }\n // For old IE\n /* istanbul ignore if */ if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while(style.firstChild){\n style.removeChild(style.firstChild);\n }\n style.appendChild(document.createTextNode(css));\n }\n}\nlet singleton = null;\nlet singletonCounter = 0;\nfunction addStyle(obj, options) {\n let style;\n let update;\n let remove;\n if (options.singleton) {\n const styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n remove = function() {\n removeStyleElement(style);\n };\n }\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\nmodule.exports = function(list, options) {\n options = options || {};\n // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n if (!options.singleton && typeof options.singleton !== \"boolean\") {\n options.singleton = isOldIE();\n }\n list = list || [];\n let lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n if (Object.prototype.toString.call(newList) !== \"[object Array]\") {\n return;\n }\n for(let i = 0; i < lastIdentifiers.length; i++){\n const identifier = lastIdentifiers[i];\n const index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n const newLastIdentifiers = modulesToDom(newList, options);\n for(let i = 0; i < lastIdentifiers.length; i++){\n const identifier = lastIdentifiers[i];\n const index = getIndexByIdentifier(identifier);\n if (stylesInDom[index].references === 0) {\n stylesInDom[index].updater();\n stylesInDom.splice(index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceMappingURL=injectStylesIntoStyleTag.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LXN0eWxlLWxvYWRlci9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsd0JBQXdCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXdDLEdBQUcsc0JBQWlCLEdBQUcsQ0FBSTtBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxxRUFBcUUsZ0JBQWdCO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSw2REFBNkQ7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNEJBQTRCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNEJBQTRCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtc3R5bGUtbG9hZGVyL3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzPzI2ZWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5jb25zdCBpc09sZElFID0gZnVuY3Rpb24gaXNPbGRJRSgpIHtcbiAgICBsZXQgbWVtbztcbiAgICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWVtbyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgLy8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3NcbiAgICAgICAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcbiAgICAgICAgICAgIC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcbiAgICAgICAgICAgIC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuICAgICAgICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG4gICAgICAgICAgICBtZW1vID0gQm9vbGVhbih3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1lbW87XG4gICAgfTtcbn0oKTtcbmNvbnN0IGdldFRhcmdldEVsZW1lbnQgPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBtZW1vID0ge307XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG1lbW9yaXplKHRhcmdldCkge1xuICAgICAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgbGV0IHN0eWxlVGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpO1xuICAgICAgICAgICAgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcbiAgICAgICAgICAgIGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAgICAgICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuICAgICAgICAgICAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgICAgICAgICAgICAgc3R5bGVUYXJnZXQgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtZW1vW3RhcmdldF07XG4gICAgfTtcbn0oKTtcbmNvbnN0IHN0eWxlc0luRG9tID0gW107XG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gICAgbGV0IHJlc3VsdCA9IC0xO1xuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzdHlsZXNJbkRvbS5sZW5ndGg7IGkrKyl7XG4gICAgICAgIGlmIChzdHlsZXNJbkRvbVtpXS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gICAgY29uc3QgaWRDb3VudE1hcCA9IHt9O1xuICAgIGNvbnN0IGlkZW50aWZpZXJzID0gW107XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspe1xuICAgICAgICBjb25zdCBpdGVtID0gbGlzdFtpXTtcbiAgICAgICAgY29uc3QgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcbiAgICAgICAgY29uc3QgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xuICAgICAgICBjb25zdCBpZGVudGlmaWVyID0gaWQgKyBcIiBcIiArIGNvdW50LnRvU3RyaW5nKCk7XG4gICAgICAgIGlkQ291bnRNYXBbaWRdID0gY291bnQgKyAxO1xuICAgICAgICBjb25zdCBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICBjc3M6IGl0ZW1bMV0sXG4gICAgICAgICAgICBtZWRpYTogaXRlbVsyXSxcbiAgICAgICAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxuICAgICAgICB9O1xuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcysrO1xuICAgICAgICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnVwZGF0ZXIob2JqKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0eWxlc0luRG9tLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICAgICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlczogMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWRlbnRpZmllcnMucHVzaChpZGVudGlmaWVyKTtcbiAgICB9XG4gICAgcmV0dXJuIGlkZW50aWZpZXJzO1xufVxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcbiAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gb3B0aW9ucy5hdHRyaWJ1dGVzIHx8IHt9O1xuICAgIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBjb25zdCBub25jZSA9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgICAgICB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09IFwidW5kZWZpbmVkXCIgPyBfX3dlYnBhY2tfbm9uY2VfXyA6IG51bGw7XG4gICAgICAgIGlmIChub25jZSkge1xuICAgICAgICAgICAgYXR0cmlidXRlcy5ub25jZSA9IG5vbmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIHN0eWxlLnNldEF0dHJpYnV0ZShrZXksIGF0dHJpYnV0ZXNba2V5XSk7XG4gICAgfSk7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0IHx8IFwiaGVhZFwiKTtcbiAgICAgICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0eWxlO1xufVxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKSB7XG4gICAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gICAgaWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqLyBjb25zdCByZXBsYWNlVGV4dCA9IGZ1bmN0aW9uIHJlcGxhY2VUZXh0KCkge1xuICAgIGNvbnN0IHRleHRTdG9yZSA9IFtdO1xuICAgIHJldHVybiBmdW5jdGlvbiByZXBsYWNlKGluZGV4LCByZXBsYWNlbWVudCkge1xuICAgICAgICB0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG4gICAgICAgIHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCJcXG5cIik7XG4gICAgfTtcbn0oKTtcbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICAgIGNvbnN0IGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmoubWVkaWEgPyBcIkBtZWRpYSBcIiArIG9iai5tZWRpYSArIFwiIHtcIiArIG9iai5jc3MgKyBcIn1cIiA6IG9iai5jc3M7XG4gICAgLy8gRm9yIG9sZCBJRVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi8gaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICAgICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBzdHlsZS5jaGlsZE5vZGVzO1xuICAgICAgICBpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHtcbiAgICAgICAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGFwcGx5VG9UYWcoc3R5bGUsIF9vcHRpb25zLCBvYmopIHtcbiAgICBsZXQgY3NzID0gb2JqLmNzcztcbiAgICBjb25zdCBtZWRpYSA9IG9iai5tZWRpYTtcbiAgICBjb25zdCBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuICAgIGlmIChtZWRpYSkge1xuICAgICAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoXCJtZWRpYVwiLCBtZWRpYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc3R5bGUucmVtb3ZlQXR0cmlidXRlKFwibWVkaWFcIik7XG4gICAgfVxuICAgIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgY3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIiArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSkgKyBcIiAqL1wiO1xuICAgIH1cbiAgICAvLyBGb3Igb2xkIElFXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqLyBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgICAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgd2hpbGUoc3R5bGUuZmlyc3RDaGlsZCl7XG4gICAgICAgICAgICBzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgICB9XG59XG5sZXQgc2luZ2xldG9uID0gbnVsbDtcbmxldCBzaW5nbGV0b25Db3VudGVyID0gMDtcbmZ1bmN0aW9uIGFkZFN0eWxlKG9iaiwgb3B0aW9ucykge1xuICAgIGxldCBzdHlsZTtcbiAgICBsZXQgdXBkYXRlO1xuICAgIGxldCByZW1vdmU7XG4gICAgaWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG4gICAgICAgIHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuICAgICAgICB1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcbiAgICAgICAgcmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBzdHlsZSA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgICAgICAgdXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcbiAgICAgICAgcmVtb3ZlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICB1cGRhdGUob2JqKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUobmV3T2JqKSB7XG4gICAgICAgIGlmIChuZXdPYmopIHtcbiAgICAgICAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGRhdGUob2JqID0gbmV3T2JqKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuICAgIC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2VcbiAgICBpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG4gICAgfVxuICAgIGxpc3QgPSBsaXN0IHx8IFtdO1xuICAgIGxldCBsYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XG4gICAgICAgIG5ld0xpc3QgPSBuZXdMaXN0IHx8IFtdO1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0xpc3QpICE9PSBcIltvYmplY3QgQXJyYXldXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIGNvbnN0IGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMtLTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdMYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obmV3TGlzdCwgb3B0aW9ucyk7XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgY29uc3QgaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tpXTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgICAgICAgICBpZiAoc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMgPT09IDApIHtcbiAgICAgICAgICAgICAgICBzdHlsZXNJbkRvbVtpbmRleF0udXBkYXRlcigpO1xuICAgICAgICAgICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGFzdElkZW50aWZpZXJzID0gbmV3TGFzdElkZW50aWZpZXJzO1xuICAgIH07XG59O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js\n")); - -/***/ }), - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! wagmi */ \"./node_modules/wagmi/dist/index.js\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi/chains */ \"./node_modules/wagmi/dist/chains.js\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/providers/public */ \"./node_modules/wagmi/dist/providers/public.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp(param) {\n let { Component, pageProps } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_3__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n_c = MyApp;\n/* harmony default export */ __webpack_exports__[\"default\"] = (MyApp);\nvar _c;\n$RefreshReg$(_c, \"MyApp\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ1k7QUFNWDtBQUVtQztBQVM3QztBQUNrQztBQUV4RCxNQUFNLEVBQUVjLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxxQkFBcUIsRUFBRSxHQUFHYixzREFBZUEsQ0FDckU7SUFDRUssaURBQU9BO0lBQ1BFLGlEQUFPQTtJQUNQRCxrREFBUUE7SUFDUkgsa0RBQVFBO0lBQ1JLLDhDQUFJQTtJQUNKSixnREFBTUE7SUFDTkssaURBQU9BO09BQ0hLLE9BQU9BLENBQUNDLEdBQUcsQ0FBQ0MsMkJBQTJCLEtBQUssU0FBUztRQUFDWixnREFBTUE7S0FBQyxHQUFHLEVBQUU7Q0FDdkUsRUFDRDtJQUFDTSxzRUFBY0E7Q0FBRztBQUdwQixNQUFNLEVBQUVPLFVBQVUsRUFBRSxHQUFHcEIseUVBQWlCQSxDQUFDO0lBQ3ZDcUIsU0FBUztJQUNUQyxXQUFXO0lBQ1hSO0FBQ0Y7QUFFQSxNQUFNUyxjQUFjbkIsbURBQVlBLENBQUM7SUFDL0JvQixhQUFhO0lBQ2JKO0lBQ0FMO0lBQ0FDO0FBQ0Y7QUFFQSxTQUFTUyxNQUFNLEtBQWtDO1FBQWxDLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFZLEdBQWxDO0lBQ2IscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0tBdEJTRjtBQXdCVCwrREFBZUEsS0FBS0EsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/process/browser.js": -/*!************************************************************!*\ - !*** ./node_modules/next/dist/compiled/process/browser.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsWUFBWSxPQUFPLGdCQUFnQixtQkFBbUIsTUFBTSxNQUFNLDRCQUE0QixtREFBbUQsK0JBQStCLHFEQUFxRCxZQUFZLElBQUksbUNBQW1DLGFBQWEsS0FBSyxvQkFBb0IsU0FBUyxtQkFBbUIsSUFBSSxxQ0FBcUMsZUFBZSxLQUFLLHVCQUF1QixTQUFTLHVCQUF1QixJQUFJLHVCQUF1QixtQkFBbUIsdUJBQXVCLDJDQUEyQyxhQUFhLHVCQUF1QixJQUFJLGNBQWMsU0FBUyxJQUFJLHdCQUF3QixTQUFTLDBCQUEwQiw0QkFBNEIscUJBQXFCLHVCQUF1QixnREFBZ0QsZUFBZSx1QkFBdUIsSUFBSSxZQUFZLFNBQVMsSUFBSSxzQkFBc0IsU0FBUyx3QkFBd0IsU0FBUyxZQUFZLE1BQU0sU0FBUywyQkFBMkIsV0FBVyxPQUFPLFFBQVEsYUFBYSxjQUFjLEtBQUssS0FBSyxhQUFhLGNBQWMsc0JBQXNCLE1BQU0sT0FBTyxrQ0FBa0MsT0FBTyxlQUFlLFNBQVMsSUFBSSxLQUFLLGFBQWEsTUFBTSxZQUFZLEtBQUssV0FBVyxPQUFPLFFBQVEsbUJBQW1CLHVCQUF1QixvQ0FBb0MsdUJBQXVCLFlBQVksbUJBQW1CLEtBQUsscUJBQXFCLHNCQUFzQixxQkFBcUIseUJBQXlCLG1CQUFtQixXQUFXLGFBQWEsOEJBQThCLGlDQUFpQyxrQkFBa0IsZUFBZSxTQUFTLFVBQVUsYUFBYSxjQUFjLGlCQUFpQixVQUFVLG1CQUFtQixZQUFZLFdBQVcsc0JBQXNCLDBCQUEwQixZQUFZLHVCQUF1QiwyQkFBMkIsd0JBQXdCLFVBQVUsc0JBQXNCLHFEQUFxRCxpQkFBaUIsV0FBVyxvQkFBb0IsbURBQW1ELG1CQUFtQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9wcm9jZXNzL2Jyb3dzZXIuanM/MWIxZCJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXt2YXIgZT17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0PWUuZXhwb3J0cz17fTt2YXIgcjt2YXIgbjtmdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCl7dGhyb3cgbmV3IEVycm9yKFwic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZFwiKX1mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0KCl7dGhyb3cgbmV3IEVycm9yKFwiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfShmdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygc2V0VGltZW91dD09PVwiZnVuY3Rpb25cIil7cj1zZXRUaW1lb3V0fWVsc2V7cj1kZWZhdWx0U2V0VGltb3V0fX1jYXRjaChlKXtyPWRlZmF1bHRTZXRUaW1vdXR9dHJ5e2lmKHR5cGVvZiBjbGVhclRpbWVvdXQ9PT1cImZ1bmN0aW9uXCIpe249Y2xlYXJUaW1lb3V0fWVsc2V7bj1kZWZhdWx0Q2xlYXJUaW1lb3V0fX1jYXRjaChlKXtuPWRlZmF1bHRDbGVhclRpbWVvdXR9fSkoKTtmdW5jdGlvbiBydW5UaW1lb3V0KGUpe2lmKHI9PT1zZXRUaW1lb3V0KXtyZXR1cm4gc2V0VGltZW91dChlLDApfWlmKChyPT09ZGVmYXVsdFNldFRpbW91dHx8IXIpJiZzZXRUaW1lb3V0KXtyPXNldFRpbWVvdXQ7cmV0dXJuIHNldFRpbWVvdXQoZSwwKX10cnl7cmV0dXJuIHIoZSwwKX1jYXRjaCh0KXt0cnl7cmV0dXJuIHIuY2FsbChudWxsLGUsMCl9Y2F0Y2godCl7cmV0dXJuIHIuY2FsbCh0aGlzLGUsMCl9fX1mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQoZSl7aWYobj09PWNsZWFyVGltZW91dCl7cmV0dXJuIGNsZWFyVGltZW91dChlKX1pZigobj09PWRlZmF1bHRDbGVhclRpbWVvdXR8fCFuKSYmY2xlYXJUaW1lb3V0KXtuPWNsZWFyVGltZW91dDtyZXR1cm4gY2xlYXJUaW1lb3V0KGUpfXRyeXtyZXR1cm4gbihlKX1jYXRjaCh0KXt0cnl7cmV0dXJuIG4uY2FsbChudWxsLGUpfWNhdGNoKHQpe3JldHVybiBuLmNhbGwodGhpcyxlKX19fXZhciBpPVtdO3ZhciBvPWZhbHNlO3ZhciB1O3ZhciBhPS0xO2Z1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpe2lmKCFvfHwhdSl7cmV0dXJufW89ZmFsc2U7aWYodS5sZW5ndGgpe2k9dS5jb25jYXQoaSl9ZWxzZXthPS0xfWlmKGkubGVuZ3RoKXtkcmFpblF1ZXVlKCl9fWZ1bmN0aW9uIGRyYWluUXVldWUoKXtpZihvKXtyZXR1cm59dmFyIGU9cnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO289dHJ1ZTt2YXIgdD1pLmxlbmd0aDt3aGlsZSh0KXt1PWk7aT1bXTt3aGlsZSgrK2E8dCl7aWYodSl7dVthXS5ydW4oKX19YT0tMTt0PWkubGVuZ3RofXU9bnVsbDtvPWZhbHNlO3J1bkNsZWFyVGltZW91dChlKX10Lm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSl7Zm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dFtyLTFdPWFyZ3VtZW50c1tyXX19aS5wdXNoKG5ldyBJdGVtKGUsdCkpO2lmKGkubGVuZ3RoPT09MSYmIW8pe3J1blRpbWVvdXQoZHJhaW5RdWV1ZSl9fTtmdW5jdGlvbiBJdGVtKGUsdCl7dGhpcy5mdW49ZTt0aGlzLmFycmF5PXR9SXRlbS5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX07dC50aXRsZT1cImJyb3dzZXJcIjt0LmJyb3dzZXI9dHJ1ZTt0LmVudj17fTt0LmFyZ3Y9W107dC52ZXJzaW9uPVwiXCI7dC52ZXJzaW9ucz17fTtmdW5jdGlvbiBub29wKCl7fXQub249bm9vcDt0LmFkZExpc3RlbmVyPW5vb3A7dC5vbmNlPW5vb3A7dC5vZmY9bm9vcDt0LnJlbW92ZUxpc3RlbmVyPW5vb3A7dC5yZW1vdmVBbGxMaXN0ZW5lcnM9bm9vcDt0LmVtaXQ9bm9vcDt0LnByZXBlbmRMaXN0ZW5lcj1ub29wO3QucHJlcGVuZE9uY2VMaXN0ZW5lcj1ub29wO3QubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfTt0LmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWRcIil9O3QuY3dkPWZ1bmN0aW9uKCl7cmV0dXJuXCIvXCJ9O3QuY2hkaXI9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkXCIpfTt0LnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fX07dmFyIHQ9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhyKXt2YXIgbj10W3JdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIGk9dFtyXT17ZXhwb3J0czp7fX07dmFyIG89dHJ1ZTt0cnl7ZVtyXShpLGkuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtvPWZhbHNlfWZpbmFsbHl7aWYobylkZWxldGUgdFtyXX1yZXR1cm4gaS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgcj1fX25jY3dwY2tfcmVxdWlyZV9fKDIyOSk7bW9kdWxlLmV4cG9ydHM9cn0pKCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/process/browser.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/component.js": -/*!***********************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/component.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScrollBar: function() { return /* binding */ RemoveScrollBar; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_style_singleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-style-singleton */ \"./node_modules/react-style-singleton/dist/es2015/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./node_modules/react-remove-scroll-bar/dist/es2015/utils.js\");\n\n\n\n\nvar Style = (0,react_style_singleton__WEBPACK_IMPORTED_MODULE_1__.styleSingleton)();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.zeroRightClassName, \" .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.fullWidthClassName, \" .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body {\\n \").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nvar RemoveScrollBar = function (props) {\n var noRelative = props.noRelative, noImportant = props.noImportant, _a = props.gapMode, gapMode = _a === void 0 ? 'margin' : _a;\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of <Style\n */\n var gap = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(function () { return (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getGapWidth)(gapMode); }, [gapMode]);\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC1iYXIvZGlzdC9lczIwMTUvY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUErQjtBQUN3QjtBQUM2RDtBQUM5RTtBQUN0QyxZQUFZLHFFQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUIsMEJBQTBCLDZEQUFxQixLQUFLLDZDQUE2Qyw4REFBOEQsS0FBSyxVQUFVLDhDQUE4QyxtQ0FBbUM7QUFDL1AsbUVBQW1FO0FBQ25FO0FBQ0Esb0RBQW9ELHNDQUFzQywwQ0FBMEMsb0JBQW9CLG1CQUFtQiw4REFBOEQ7QUFDek8sMEZBQTBGO0FBQzFGO0FBQ0E7QUFDQSx5QkFBeUIsbUJBQW1CLDBEQUFrQixLQUFLLHVEQUF1RCxLQUFLLG1CQUFtQiwwREFBa0IsS0FBSyw4REFBOEQsS0FBSyxtQkFBbUIsMERBQWtCLGVBQWUsMERBQWtCLEtBQUssc0NBQXNDLEtBQUssbUJBQW1CLDBEQUFrQixlQUFlLDBEQUFrQixLQUFLLDZDQUE2QyxLQUFLLGNBQWMsZ0JBQWdCLDhEQUFzQix3QkFBd0IsS0FBSztBQUNoakI7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsMENBQWEsZUFBZSxPQUFPLG1EQUFXLFlBQVk7QUFDeEUsV0FBVyxnREFBbUIsVUFBVSxnRkFBZ0Y7QUFDeEgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwtYmFyL2Rpc3QvZXMyMDE1L2NvbXBvbmVudC5qcz9hZjEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlU2luZ2xldG9uIH0gZnJvbSAncmVhY3Qtc3R5bGUtc2luZ2xldG9uJztcbmltcG9ydCB7IGZ1bGxXaWR0aENsYXNzTmFtZSwgemVyb1JpZ2h0Q2xhc3NOYW1lLCBub1Njcm9sbGJhcnNDbGFzc05hbWUsIHJlbW92ZWRCYXJTaXplVmFyaWFibGUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRHYXBXaWR0aCB9IGZyb20gJy4vdXRpbHMnO1xudmFyIFN0eWxlID0gc3R5bGVTaW5nbGV0b24oKTtcbi8vIGltcG9ydGFudCB0aXAgLSBvbmNlIHdlIG1lYXN1cmUgc2Nyb2xsQmFyIHdpZHRoIGFuZCByZW1vdmUgdGhlbVxuLy8gd2UgY291bGQgbm90IHJlcGVhdCB0aGlzIG9wZXJhdGlvblxuLy8gdGh1cyB3ZSBhcmUgdXNpbmcgc3R5bGUtc2luZ2xldG9uIC0gb25seSB0aGUgZmlyc3QgXCJ5ZXQgY29ycmVjdFwiIHN0eWxlIHdpbGwgYmUgYXBwbGllZC5cbnZhciBnZXRTdHlsZXMgPSBmdW5jdGlvbiAoX2EsIGFsbG93UmVsYXRpdmUsIGdhcE1vZGUsIGltcG9ydGFudCkge1xuICAgIHZhciBsZWZ0ID0gX2EubGVmdCwgdG9wID0gX2EudG9wLCByaWdodCA9IF9hLnJpZ2h0LCBnYXAgPSBfYS5nYXA7XG4gICAgaWYgKGdhcE1vZGUgPT09IHZvaWQgMCkgeyBnYXBNb2RlID0gJ21hcmdpbic7IH1cbiAgICByZXR1cm4gXCJcXG4gIC5cIi5jb25jYXQobm9TY3JvbGxiYXJzQ2xhc3NOYW1lLCBcIiB7XFxuICAgb3ZlcmZsb3c6IGhpZGRlbiBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XFxuICAgcGFkZGluZy1yaWdodDogXCIpLmNvbmNhdChnYXAsIFwicHggXCIpLmNvbmNhdChpbXBvcnRhbnQsIFwiO1xcbiAgfVxcbiAgYm9keSB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW4gXCIpLmNvbmNhdChpbXBvcnRhbnQsIFwiO1xcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xcbiAgICBcIikuY29uY2F0KFtcbiAgICAgICAgYWxsb3dSZWxhdGl2ZSAmJiBcInBvc2l0aW9uOiByZWxhdGl2ZSBcIi5jb25jYXQoaW1wb3J0YW50LCBcIjtcIiksXG4gICAgICAgIGdhcE1vZGUgPT09ICdtYXJnaW4nICYmXG4gICAgICAgICAgICBcIlxcbiAgICBwYWRkaW5nLWxlZnQ6IFwiLmNvbmNhdChsZWZ0LCBcInB4O1xcbiAgICBwYWRkaW5nLXRvcDogXCIpLmNvbmNhdCh0b3AsIFwicHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IFwiKS5jb25jYXQocmlnaHQsIFwicHg7XFxuICAgIG1hcmdpbi1sZWZ0OjA7XFxuICAgIG1hcmdpbi10b3A6MDtcXG4gICAgbWFyZ2luLXJpZ2h0OiBcIikuY29uY2F0KGdhcCwgXCJweCBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XFxuICAgIFwiKSxcbiAgICAgICAgZ2FwTW9kZSA9PT0gJ3BhZGRpbmcnICYmIFwicGFkZGluZy1yaWdodDogXCIuY29uY2F0KGdhcCwgXCJweCBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XCIpLFxuICAgIF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignJyksIFwiXFxuICB9XFxuICBcXG4gIC5cIikuY29uY2F0KHplcm9SaWdodENsYXNzTmFtZSwgXCIge1xcbiAgICByaWdodDogXCIpLmNvbmNhdChnYXAsIFwicHggXCIpLmNvbmNhdChpbXBvcnRhbnQsIFwiO1xcbiAgfVxcbiAgXFxuICAuXCIpLmNvbmNhdChmdWxsV2lkdGhDbGFzc05hbWUsIFwiIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiBcIikuY29uY2F0KGdhcCwgXCJweCBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XFxuICB9XFxuICBcXG4gIC5cIikuY29uY2F0KHplcm9SaWdodENsYXNzTmFtZSwgXCIgLlwiKS5jb25jYXQoemVyb1JpZ2h0Q2xhc3NOYW1lLCBcIiB7XFxuICAgIHJpZ2h0OiAwIFwiKS5jb25jYXQoaW1wb3J0YW50LCBcIjtcXG4gIH1cXG4gIFxcbiAgLlwiKS5jb25jYXQoZnVsbFdpZHRoQ2xhc3NOYW1lLCBcIiAuXCIpLmNvbmNhdChmdWxsV2lkdGhDbGFzc05hbWUsIFwiIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwIFwiKS5jb25jYXQoaW1wb3J0YW50LCBcIjtcXG4gIH1cXG4gIFxcbiAgYm9keSB7XFxuICAgIFwiKS5jb25jYXQocmVtb3ZlZEJhclNpemVWYXJpYWJsZSwgXCI6IFwiKS5jb25jYXQoZ2FwLCBcInB4O1xcbiAgfVxcblwiKTtcbn07XG4vKipcbiAqIFJlbW92ZXMgcGFnZSBzY3JvbGxiYXIgYW5kIGJsb2NrcyBwYWdlIHNjcm9sbCB3aGVuIG1vdW50ZWRcbiAqL1xuZXhwb3J0IHZhciBSZW1vdmVTY3JvbGxCYXIgPSBmdW5jdGlvbiAocHJvcHMpIHtcbiAgICB2YXIgbm9SZWxhdGl2ZSA9IHByb3BzLm5vUmVsYXRpdmUsIG5vSW1wb3J0YW50ID0gcHJvcHMubm9JbXBvcnRhbnQsIF9hID0gcHJvcHMuZ2FwTW9kZSwgZ2FwTW9kZSA9IF9hID09PSB2b2lkIDAgPyAnbWFyZ2luJyA6IF9hO1xuICAgIC8qXG4gICAgIGdhcCB3aWxsIGJlIG1lYXN1cmVkIG9uIGV2ZXJ5IGNvbXBvbmVudCBtb3VudFxuICAgICBob3dldmVyIGl0IHdpbGwgYmUgdXNlZCBvbmx5IGJ5IHRoZSBcImZpcnN0XCIgaW52b2NhdGlvblxuICAgICBkdWUgdG8gc2luZ2xldG9uIG5hdHVyZSBvZiA8U3R5bGVcbiAgICAgKi9cbiAgICB2YXIgZ2FwID0gUmVhY3QudXNlTWVtbyhmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRHYXBXaWR0aChnYXBNb2RlKTsgfSwgW2dhcE1vZGVdKTtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZSwgeyBzdHlsZXM6IGdldFN0eWxlcyhnYXAsICFub1JlbGF0aXZlLCBnYXBNb2RlLCAhbm9JbXBvcnRhbnQgPyAnIWltcG9ydGFudCcgOiAnJykgfSk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll-bar/dist/es2015/component.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/constants.js": -/*!***********************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/constants.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fullWidthClassName: function() { return /* binding */ fullWidthClassName; },\n/* harmony export */ noScrollbarsClassName: function() { return /* binding */ noScrollbarsClassName; },\n/* harmony export */ removedBarSizeVariable: function() { return /* binding */ removedBarSizeVariable; },\n/* harmony export */ zeroRightClassName: function() { return /* binding */ zeroRightClassName; }\n/* harmony export */ });\nvar zeroRightClassName = 'right-scroll-bar-position';\nvar fullWidthClassName = 'width-before-scroll-bar';\nvar noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nvar removedBarSizeVariable = '--removed-body-scroll-bar-size';\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC1iYXIvZGlzdC9lczIwMTUvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTztBQUNBO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsLWJhci9kaXN0L2VzMjAxNS9jb25zdGFudHMuanM/NWUzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIHplcm9SaWdodENsYXNzTmFtZSA9ICdyaWdodC1zY3JvbGwtYmFyLXBvc2l0aW9uJztcbmV4cG9ydCB2YXIgZnVsbFdpZHRoQ2xhc3NOYW1lID0gJ3dpZHRoLWJlZm9yZS1zY3JvbGwtYmFyJztcbmV4cG9ydCB2YXIgbm9TY3JvbGxiYXJzQ2xhc3NOYW1lID0gJ3dpdGgtc2Nyb2xsLWJhcnMtaGlkZGVuJztcbi8qKlxuICogTmFtZSBvZiBhIENTUyB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBhbW91bnQgb2YgXCJoaWRkZW5cIiBzY3JvbGxiYXJcbiAqICEgbWlnaHQgYmUgdW5kZWZpbmVkICEgdXNlIHdpbGwgZmFsbGJhY2shXG4gKi9cbmV4cG9ydCB2YXIgcmVtb3ZlZEJhclNpemVWYXJpYWJsZSA9ICctLXJlbW92ZWQtYm9keS1zY3JvbGwtYmFyLXNpemUnO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/index.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScrollBar: function() { return /* reexport safe */ _component__WEBPACK_IMPORTED_MODULE_0__.RemoveScrollBar; },\n/* harmony export */ fullWidthClassName: function() { return /* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.fullWidthClassName; },\n/* harmony export */ getGapWidth: function() { return /* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_2__.getGapWidth; },\n/* harmony export */ noScrollbarsClassName: function() { return /* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.noScrollbarsClassName; },\n/* harmony export */ removedBarSizeVariable: function() { return /* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.removedBarSizeVariable; },\n/* harmony export */ zeroRightClassName: function() { return /* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.zeroRightClassName; }\n/* harmony export */ });\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component */ \"./node_modules/react-remove-scroll-bar/dist/es2015/component.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./node_modules/react-remove-scroll-bar/dist/es2015/utils.js\");\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC1iYXIvZGlzdC9lczIwMTUvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQThDO0FBQ3NFO0FBQzlFO0FBQzBGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsLWJhci9kaXN0L2VzMjAxNS9pbmRleC5qcz9kY2I0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92ZVNjcm9sbEJhciB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IHplcm9SaWdodENsYXNzTmFtZSwgZnVsbFdpZHRoQ2xhc3NOYW1lLCBub1Njcm9sbGJhcnNDbGFzc05hbWUsIHJlbW92ZWRCYXJTaXplVmFyaWFibGUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRHYXBXaWR0aCB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgUmVtb3ZlU2Nyb2xsQmFyLCB6ZXJvUmlnaHRDbGFzc05hbWUsIGZ1bGxXaWR0aENsYXNzTmFtZSwgbm9TY3JvbGxiYXJzQ2xhc3NOYW1lLCByZW1vdmVkQmFyU2l6ZVZhcmlhYmxlLCBnZXRHYXBXaWR0aCwgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll-bar/dist/es2015/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/utils.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/utils.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getGapWidth: function() { return /* binding */ getGapWidth; },\n/* harmony export */ zeroGap: function() { return /* binding */ zeroGap; }\n/* harmony export */ });\nvar zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nvar getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC1iYXIvZGlzdC9lczIwMTUvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC1iYXIvZGlzdC9lczIwMTUvdXRpbHMuanM/NzY1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIHplcm9HYXAgPSB7XG4gICAgbGVmdDogMCxcbiAgICB0b3A6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgZ2FwOiAwLFxufTtcbnZhciBwYXJzZSA9IGZ1bmN0aW9uICh4KSB7IHJldHVybiBwYXJzZUludCh4IHx8ICcnLCAxMCkgfHwgMDsgfTtcbnZhciBnZXRPZmZzZXQgPSBmdW5jdGlvbiAoZ2FwTW9kZSkge1xuICAgIHZhciBjcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpO1xuICAgIHZhciBsZWZ0ID0gY3NbZ2FwTW9kZSA9PT0gJ3BhZGRpbmcnID8gJ3BhZGRpbmdMZWZ0JyA6ICdtYXJnaW5MZWZ0J107XG4gICAgdmFyIHRvcCA9IGNzW2dhcE1vZGUgPT09ICdwYWRkaW5nJyA/ICdwYWRkaW5nVG9wJyA6ICdtYXJnaW5Ub3AnXTtcbiAgICB2YXIgcmlnaHQgPSBjc1tnYXBNb2RlID09PSAncGFkZGluZycgPyAncGFkZGluZ1JpZ2h0JyA6ICdtYXJnaW5SaWdodCddO1xuICAgIHJldHVybiBbcGFyc2UobGVmdCksIHBhcnNlKHRvcCksIHBhcnNlKHJpZ2h0KV07XG59O1xuZXhwb3J0IHZhciBnZXRHYXBXaWR0aCA9IGZ1bmN0aW9uIChnYXBNb2RlKSB7XG4gICAgaWYgKGdhcE1vZGUgPT09IHZvaWQgMCkgeyBnYXBNb2RlID0gJ21hcmdpbic7IH1cbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIHplcm9HYXA7XG4gICAgfVxuICAgIHZhciBvZmZzZXRzID0gZ2V0T2Zmc2V0KGdhcE1vZGUpO1xuICAgIHZhciBkb2N1bWVudFdpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIHZhciB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIHJldHVybiB7XG4gICAgICAgIGxlZnQ6IG9mZnNldHNbMF0sXG4gICAgICAgIHRvcDogb2Zmc2V0c1sxXSxcbiAgICAgICAgcmlnaHQ6IG9mZnNldHNbMl0sXG4gICAgICAgIGdhcDogTWF0aC5tYXgoMCwgd2luZG93V2lkdGggLSBkb2N1bWVudFdpZHRoICsgb2Zmc2V0c1syXSAtIG9mZnNldHNbMF0pLFxuICAgIH07XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll-bar/dist/es2015/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/Combination.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/Combination.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UI */ \"./node_modules/react-remove-scroll/dist/es2015/UI.js\");\n/* harmony import */ var _sidecar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sidecar */ \"./node_modules/react-remove-scroll/dist/es2015/sidecar.js\");\n\n\n\n\nvar ReactRemoveScroll = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_UI__WEBPACK_IMPORTED_MODULE_2__.RemoveScroll, (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, props, { ref: ref, sideCar: _sidecar__WEBPACK_IMPORTED_MODULE_1__[\"default\"] }))); });\nReactRemoveScroll.classNames = _UI__WEBPACK_IMPORTED_MODULE_2__.RemoveScroll.classNames;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ReactRemoveScroll);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9Db21iaW5hdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBaUM7QUFDRjtBQUNLO0FBQ0o7QUFDaEMsd0JBQXdCLDZDQUFnQix5QkFBeUIsUUFBUSxnREFBbUIsQ0FBQyw2Q0FBWSxFQUFFLCtDQUFRLEdBQUcsV0FBVyxtQkFBbUIsZ0RBQU8sRUFBRSxNQUFNO0FBQ25LLCtCQUErQiw2Q0FBWTtBQUMzQywrREFBZSxpQkFBaUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9Db21iaW5hdGlvbi5qcz85NTZmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSZW1vdmVTY3JvbGwgfSBmcm9tICcuL1VJJztcbmltcG9ydCBTaWRlQ2FyIGZyb20gJy4vc2lkZWNhcic7XG52YXIgUmVhY3RSZW1vdmVTY3JvbGwgPSBSZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7IHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZW1vdmVTY3JvbGwsIF9fYXNzaWduKHt9LCBwcm9wcywgeyByZWY6IHJlZiwgc2lkZUNhcjogU2lkZUNhciB9KSkpOyB9KTtcblJlYWN0UmVtb3ZlU2Nyb2xsLmNsYXNzTmFtZXMgPSBSZW1vdmVTY3JvbGwuY2xhc3NOYW1lcztcbmV4cG9ydCBkZWZhdWx0IFJlYWN0UmVtb3ZlU2Nyb2xsO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/Combination.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/SideEffect.js": -/*!********************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/SideEffect.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScrollSideCar: function() { return /* binding */ RemoveScrollSideCar; },\n/* harmony export */ getDeltaXY: function() { return /* binding */ getDeltaXY; },\n/* harmony export */ getTouchXY: function() { return /* binding */ getTouchXY; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_remove_scroll_bar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-remove-scroll-bar */ \"./node_modules/react-remove-scroll-bar/dist/es2015/index.js\");\n/* harmony import */ var react_style_singleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-style-singleton */ \"./node_modules/react-style-singleton/dist/es2015/index.js\");\n/* harmony import */ var _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./aggresiveCapture */ \"./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js\");\n/* harmony import */ var _handleScroll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./handleScroll */ \"./node_modules/react-remove-scroll/dist/es2015/handleScroll.js\");\n\n\n\n\n\n\nvar getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nvar getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nfunction RemoveScrollSideCar(props) {\n var shouldPreventQueue = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n var touchStartRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([0, 0]);\n var activeAxis = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n var id = react__WEBPACK_IMPORTED_MODULE_0__.useState(idCounter++)[0];\n var Style = react__WEBPACK_IMPORTED_MODULE_0__.useState(function () { return (0,react_style_singleton__WEBPACK_IMPORTED_MODULE_2__.styleSingleton)(); })[0];\n var lastProps = react__WEBPACK_IMPORTED_MODULE_0__.useRef(props);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__spreadArray)([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = (0,_handleScroll__WEBPACK_IMPORTED_MODULE_4__.locationCouldBeScrolled)(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = (0,_handleScroll__WEBPACK_IMPORTED_MODULE_4__.locationCouldBeScrolled)(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return (0,_handleScroll__WEBPACK_IMPORTED_MODULE_4__.handleScroll)(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n event.preventDefault();\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n event.preventDefault();\n }\n }\n }, []);\n var shouldCancel = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.addEventListener('touchmove', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n inert ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_remove_scroll_bar__WEBPACK_IMPORTED_MODULE_1__.RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9TaWRlRWZmZWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBc0M7QUFDUDtBQUMyQjtBQUNIO0FBQ1A7QUFDdUI7QUFDaEU7QUFDUDtBQUNBO0FBQ08sb0NBQW9DO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQyxvQ0FBb0MsaURBQWlELHNCQUFzQiwwQ0FBMEMscUJBQXFCO0FBQzFLO0FBQ0E7QUFDTztBQUNQLDZCQUE2Qix5Q0FBWTtBQUN6Qyx3QkFBd0IseUNBQVk7QUFDcEMscUJBQXFCLHlDQUFZO0FBQ2pDLGFBQWEsMkNBQWM7QUFDM0IsZ0JBQWdCLDJDQUFjLGVBQWUsT0FBTyxxRUFBYyxLQUFLO0FBQ3ZFLG9CQUFvQix5Q0FBWTtBQUNoQyxJQUFJLDRDQUFlO0FBQ25CO0FBQ0EsS0FBSztBQUNMLElBQUksNENBQWU7QUFDbkI7QUFDQTtBQUNBLDBCQUEwQixvREFBYTtBQUN2Qyw0Q0FBNEMsNkRBQTZEO0FBQ3pHO0FBQ0E7QUFDQSxnREFBZ0QsZ0VBQWdFO0FBQ2hIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCw0QkFBNEIsOENBQWlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsc0VBQXVCO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsc0VBQXVCO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsMkRBQVk7QUFDM0IsS0FBSztBQUNMLHdCQUF3Qiw4Q0FBaUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkVBQTJFLDRGQUE0RjtBQUN2SztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxxQ0FBcUM7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCx1QkFBdUIsOENBQWlCO0FBQ3hDLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0EsMEZBQTBGLHFCQUFxQjtBQUMvRyxTQUFTO0FBQ1QsS0FBSztBQUNMLDJCQUEyQiw4Q0FBaUI7QUFDNUM7QUFDQTtBQUNBLEtBQUs7QUFDTCxzQkFBc0IsOENBQWlCO0FBQ3ZDO0FBQ0EsS0FBSztBQUNMLDBCQUEwQiw4Q0FBaUI7QUFDM0M7QUFDQSxLQUFLO0FBQ0wsSUFBSSw0Q0FBZTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULDBEQUEwRCx5REFBVTtBQUNwRSw4REFBOEQseURBQVU7QUFDeEUsa0VBQWtFLHlEQUFVO0FBQzVFO0FBQ0EsMkRBQTJELHdCQUF3QjtBQUNuRixpRUFBaUUseURBQVU7QUFDM0UscUVBQXFFLHlEQUFVO0FBQy9FLHlFQUF5RSx5REFBVTtBQUNuRjtBQUNBLEtBQUs7QUFDTDtBQUNBLFlBQVksZ0RBQW1CLENBQUMsMkNBQWM7QUFDOUMsZ0JBQWdCLGdEQUFtQixVQUFVLDJCQUEyQjtBQUN4RSwwQkFBMEIsZ0RBQW1CLENBQUMsb0VBQWUsSUFBSSxtQkFBbUI7QUFDcEYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvU2lkZUVmZmVjdC5qcz9lZDg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fc3ByZWFkQXJyYXkgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlbW92ZVNjcm9sbEJhciB9IGZyb20gJ3JlYWN0LXJlbW92ZS1zY3JvbGwtYmFyJztcbmltcG9ydCB7IHN0eWxlU2luZ2xldG9uIH0gZnJvbSAncmVhY3Qtc3R5bGUtc2luZ2xldG9uJztcbmltcG9ydCB7IG5vblBhc3NpdmUgfSBmcm9tICcuL2FnZ3Jlc2l2ZUNhcHR1cmUnO1xuaW1wb3J0IHsgaGFuZGxlU2Nyb2xsLCBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZCB9IGZyb20gJy4vaGFuZGxlU2Nyb2xsJztcbmV4cG9ydCB2YXIgZ2V0VG91Y2hYWSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnY2hhbmdlZFRvdWNoZXMnIGluIGV2ZW50ID8gW2V2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFgsIGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFldIDogWzAsIDBdO1xufTtcbmV4cG9ydCB2YXIgZ2V0RGVsdGFYWSA9IGZ1bmN0aW9uIChldmVudCkgeyByZXR1cm4gW2V2ZW50LmRlbHRhWCwgZXZlbnQuZGVsdGFZXTsgfTtcbnZhciBleHRyYWN0UmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgIHJldHVybiByZWYgJiYgJ2N1cnJlbnQnIGluIHJlZiA/IHJlZi5jdXJyZW50IDogcmVmO1xufTtcbnZhciBkZWx0YUNvbXBhcmUgPSBmdW5jdGlvbiAoeCwgeSkgeyByZXR1cm4geFswXSA9PT0geVswXSAmJiB4WzFdID09PSB5WzFdOyB9O1xudmFyIGdlbmVyYXRlU3R5bGUgPSBmdW5jdGlvbiAoaWQpIHsgcmV0dXJuIFwiXFxuICAuYmxvY2staW50ZXJhY3Rpdml0eS1cIi5jb25jYXQoaWQsIFwiIHtwb2ludGVyLWV2ZW50czogbm9uZTt9XFxuICAuYWxsb3ctaW50ZXJhY3Rpdml0eS1cIikuY29uY2F0KGlkLCBcIiB7cG9pbnRlci1ldmVudHM6IGFsbDt9XFxuXCIpOyB9O1xudmFyIGlkQ291bnRlciA9IDA7XG52YXIgbG9ja1N0YWNrID0gW107XG5leHBvcnQgZnVuY3Rpb24gUmVtb3ZlU2Nyb2xsU2lkZUNhcihwcm9wcykge1xuICAgIHZhciBzaG91bGRQcmV2ZW50UXVldWUgPSBSZWFjdC51c2VSZWYoW10pO1xuICAgIHZhciB0b3VjaFN0YXJ0UmVmID0gUmVhY3QudXNlUmVmKFswLCAwXSk7XG4gICAgdmFyIGFjdGl2ZUF4aXMgPSBSZWFjdC51c2VSZWYoKTtcbiAgICB2YXIgaWQgPSBSZWFjdC51c2VTdGF0ZShpZENvdW50ZXIrKylbMF07XG4gICAgdmFyIFN0eWxlID0gUmVhY3QudXNlU3RhdGUoZnVuY3Rpb24gKCkgeyByZXR1cm4gc3R5bGVTaW5nbGV0b24oKTsgfSlbMF07XG4gICAgdmFyIGxhc3RQcm9wcyA9IFJlYWN0LnVzZVJlZihwcm9wcyk7XG4gICAgUmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGFzdFByb3BzLmN1cnJlbnQgPSBwcm9wcztcbiAgICB9LCBbcHJvcHNdKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAocHJvcHMuaW5lcnQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChcImJsb2NrLWludGVyYWN0aXZpdHktXCIuY29uY2F0KGlkKSk7XG4gICAgICAgICAgICB2YXIgYWxsb3dfMSA9IF9fc3ByZWFkQXJyYXkoW3Byb3BzLmxvY2tSZWYuY3VycmVudF0sIChwcm9wcy5zaGFyZHMgfHwgW10pLm1hcChleHRyYWN0UmVmKSwgdHJ1ZSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgYWxsb3dfMS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gZWwuY2xhc3NMaXN0LmFkZChcImFsbG93LWludGVyYWN0aXZpdHktXCIuY29uY2F0KGlkKSk7IH0pO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJibG9jay1pbnRlcmFjdGl2aXR5LVwiLmNvbmNhdChpZCkpO1xuICAgICAgICAgICAgICAgIGFsbG93XzEuZm9yRWFjaChmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJhbGxvdy1pbnRlcmFjdGl2aXR5LVwiLmNvbmNhdChpZCkpOyB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH0sIFtwcm9wcy5pbmVydCwgcHJvcHMubG9ja1JlZi5jdXJyZW50LCBwcm9wcy5zaGFyZHNdKTtcbiAgICB2YXIgc2hvdWxkQ2FuY2VsRXZlbnQgPSBSZWFjdC51c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQsIHBhcmVudCkge1xuICAgICAgICBpZiAoJ3RvdWNoZXMnIGluIGV2ZW50ICYmIGV2ZW50LnRvdWNoZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4gIWxhc3RQcm9wcy5jdXJyZW50LmFsbG93UGluY2hab29tO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0b3VjaCA9IGdldFRvdWNoWFkoZXZlbnQpO1xuICAgICAgICB2YXIgdG91Y2hTdGFydCA9IHRvdWNoU3RhcnRSZWYuY3VycmVudDtcbiAgICAgICAgdmFyIGRlbHRhWCA9ICdkZWx0YVgnIGluIGV2ZW50ID8gZXZlbnQuZGVsdGFYIDogdG91Y2hTdGFydFswXSAtIHRvdWNoWzBdO1xuICAgICAgICB2YXIgZGVsdGFZID0gJ2RlbHRhWScgaW4gZXZlbnQgPyBldmVudC5kZWx0YVkgOiB0b3VjaFN0YXJ0WzFdIC0gdG91Y2hbMV07XG4gICAgICAgIHZhciBjdXJyZW50QXhpcztcbiAgICAgICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgdmFyIG1vdmVEaXJlY3Rpb24gPSBNYXRoLmFicyhkZWx0YVgpID4gTWF0aC5hYnMoZGVsdGFZKSA/ICdoJyA6ICd2JztcbiAgICAgICAgLy8gYWxsb3cgaG9yaXpvbnRhbCB0b3VjaCBtb3ZlIG9uIFJhbmdlIGlucHV0cy4gVGhleSB3aWxsIG5vdCBjYXVzZSBhbnkgc2Nyb2xsXG4gICAgICAgIGlmICgndG91Y2hlcycgaW4gZXZlbnQgJiYgbW92ZURpcmVjdGlvbiA9PT0gJ2gnICYmIHRhcmdldC50eXBlID09PSAncmFuZ2UnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNhbkJlU2Nyb2xsZWRJbk1haW5EaXJlY3Rpb24gPSBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZChtb3ZlRGlyZWN0aW9uLCB0YXJnZXQpO1xuICAgICAgICBpZiAoIWNhbkJlU2Nyb2xsZWRJbk1haW5EaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYW5CZVNjcm9sbGVkSW5NYWluRGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjdXJyZW50QXhpcyA9IG1vdmVEaXJlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50QXhpcyA9IG1vdmVEaXJlY3Rpb24gPT09ICd2JyA/ICdoJyA6ICd2JztcbiAgICAgICAgICAgIGNhbkJlU2Nyb2xsZWRJbk1haW5EaXJlY3Rpb24gPSBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZChtb3ZlRGlyZWN0aW9uLCB0YXJnZXQpO1xuICAgICAgICAgICAgLy8gb3RoZXIgYXhpcyBtaWdodCBiZSBub3Qgc2Nyb2xsYWJsZVxuICAgICAgICB9XG4gICAgICAgIGlmICghY2FuQmVTY3JvbGxlZEluTWFpbkRpcmVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYWN0aXZlQXhpcy5jdXJyZW50ICYmICdjaGFuZ2VkVG91Y2hlcycgaW4gZXZlbnQgJiYgKGRlbHRhWCB8fCBkZWx0YVkpKSB7XG4gICAgICAgICAgICBhY3RpdmVBeGlzLmN1cnJlbnQgPSBjdXJyZW50QXhpcztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWN1cnJlbnRBeGlzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2FuY2VsaW5nQXhpcyA9IGFjdGl2ZUF4aXMuY3VycmVudCB8fCBjdXJyZW50QXhpcztcbiAgICAgICAgcmV0dXJuIGhhbmRsZVNjcm9sbChjYW5jZWxpbmdBeGlzLCBwYXJlbnQsIGV2ZW50LCBjYW5jZWxpbmdBeGlzID09PSAnaCcgPyBkZWx0YVggOiBkZWx0YVksIHRydWUpO1xuICAgIH0sIFtdKTtcbiAgICB2YXIgc2hvdWxkUHJldmVudCA9IFJlYWN0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uIChfZXZlbnQpIHtcbiAgICAgICAgdmFyIGV2ZW50ID0gX2V2ZW50O1xuICAgICAgICBpZiAoIWxvY2tTdGFjay5sZW5ndGggfHwgbG9ja1N0YWNrW2xvY2tTdGFjay5sZW5ndGggLSAxXSAhPT0gU3R5bGUpIHtcbiAgICAgICAgICAgIC8vIG5vdCB0aGUgbGFzdCBhY3RpdmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGVsdGEgPSAnZGVsdGFZJyBpbiBldmVudCA/IGdldERlbHRhWFkoZXZlbnQpIDogZ2V0VG91Y2hYWShldmVudCk7XG4gICAgICAgIHZhciBzb3VyY2VFdmVudCA9IHNob3VsZFByZXZlbnRRdWV1ZS5jdXJyZW50LmZpbHRlcihmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5uYW1lID09PSBldmVudC50eXBlICYmIGUudGFyZ2V0ID09PSBldmVudC50YXJnZXQgJiYgZGVsdGFDb21wYXJlKGUuZGVsdGEsIGRlbHRhKTsgfSlbMF07XG4gICAgICAgIC8vIHNlbGYgZXZlbnQsIGFuZCBzaG91bGQgYmUgY2FuY2VsZWRcbiAgICAgICAgaWYgKHNvdXJjZUV2ZW50ICYmIHNvdXJjZUV2ZW50LnNob3VsZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBvdXRzaWRlIG9yIHNoYXJkIGV2ZW50XG4gICAgICAgIGlmICghc291cmNlRXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBzaGFyZE5vZGVzID0gKGxhc3RQcm9wcy5jdXJyZW50LnNoYXJkcyB8fCBbXSlcbiAgICAgICAgICAgICAgICAubWFwKGV4dHJhY3RSZWYpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKG5vZGUpIHsgcmV0dXJuIG5vZGUuY29udGFpbnMoZXZlbnQudGFyZ2V0KTsgfSk7XG4gICAgICAgICAgICB2YXIgc2hvdWxkU3RvcCA9IHNoYXJkTm9kZXMubGVuZ3RoID4gMCA/IHNob3VsZENhbmNlbEV2ZW50KGV2ZW50LCBzaGFyZE5vZGVzWzBdKSA6ICFsYXN0UHJvcHMuY3VycmVudC5ub0lzb2xhdGlvbjtcbiAgICAgICAgICAgIGlmIChzaG91bGRTdG9wKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICB2YXIgc2hvdWxkQ2FuY2VsID0gUmVhY3QudXNlQ2FsbGJhY2soZnVuY3Rpb24gKG5hbWUsIGRlbHRhLCB0YXJnZXQsIHNob3VsZCkge1xuICAgICAgICB2YXIgZXZlbnQgPSB7IG5hbWU6IG5hbWUsIGRlbHRhOiBkZWx0YSwgdGFyZ2V0OiB0YXJnZXQsIHNob3VsZDogc2hvdWxkIH07XG4gICAgICAgIHNob3VsZFByZXZlbnRRdWV1ZS5jdXJyZW50LnB1c2goZXZlbnQpO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNob3VsZFByZXZlbnRRdWV1ZS5jdXJyZW50ID0gc2hvdWxkUHJldmVudFF1ZXVlLmN1cnJlbnQuZmlsdGVyKGZ1bmN0aW9uIChlKSB7IHJldHVybiBlICE9PSBldmVudDsgfSk7XG4gICAgICAgIH0sIDEpO1xuICAgIH0sIFtdKTtcbiAgICB2YXIgc2Nyb2xsVG91Y2hTdGFydCA9IFJlYWN0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICB0b3VjaFN0YXJ0UmVmLmN1cnJlbnQgPSBnZXRUb3VjaFhZKGV2ZW50KTtcbiAgICAgICAgYWN0aXZlQXhpcy5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgIH0sIFtdKTtcbiAgICB2YXIgc2Nyb2xsV2hlZWwgPSBSZWFjdC51c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgc2hvdWxkQ2FuY2VsKGV2ZW50LnR5cGUsIGdldERlbHRhWFkoZXZlbnQpLCBldmVudC50YXJnZXQsIHNob3VsZENhbmNlbEV2ZW50KGV2ZW50LCBwcm9wcy5sb2NrUmVmLmN1cnJlbnQpKTtcbiAgICB9LCBbXSk7XG4gICAgdmFyIHNjcm9sbFRvdWNoTW92ZSA9IFJlYWN0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBzaG91bGRDYW5jZWwoZXZlbnQudHlwZSwgZ2V0VG91Y2hYWShldmVudCksIGV2ZW50LnRhcmdldCwgc2hvdWxkQ2FuY2VsRXZlbnQoZXZlbnQsIHByb3BzLmxvY2tSZWYuY3VycmVudCkpO1xuICAgIH0sIFtdKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBsb2NrU3RhY2sucHVzaChTdHlsZSk7XG4gICAgICAgIHByb3BzLnNldENhbGxiYWNrcyh7XG4gICAgICAgICAgICBvblNjcm9sbENhcHR1cmU6IHNjcm9sbFdoZWVsLFxuICAgICAgICAgICAgb25XaGVlbENhcHR1cmU6IHNjcm9sbFdoZWVsLFxuICAgICAgICAgICAgb25Ub3VjaE1vdmVDYXB0dXJlOiBzY3JvbGxUb3VjaE1vdmUsXG4gICAgICAgIH0pO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIHNob3VsZFByZXZlbnQsIG5vblBhc3NpdmUpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBzaG91bGRQcmV2ZW50LCBub25QYXNzaXZlKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHNjcm9sbFRvdWNoU3RhcnQsIG5vblBhc3NpdmUpO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgbG9ja1N0YWNrID0gbG9ja1N0YWNrLmZpbHRlcihmdW5jdGlvbiAoaW5zdCkgeyByZXR1cm4gaW5zdCAhPT0gU3R5bGU7IH0pO1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBzaG91bGRQcmV2ZW50LCBub25QYXNzaXZlKTtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHNob3VsZFByZXZlbnQsIG5vblBhc3NpdmUpO1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHNjcm9sbFRvdWNoU3RhcnQsIG5vblBhc3NpdmUpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICB2YXIgcmVtb3ZlU2Nyb2xsQmFyID0gcHJvcHMucmVtb3ZlU2Nyb2xsQmFyLCBpbmVydCA9IHByb3BzLmluZXJ0O1xuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcbiAgICAgICAgaW5lcnQgPyBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlLCB7IHN0eWxlczogZ2VuZXJhdGVTdHlsZShpZCkgfSkgOiBudWxsLFxuICAgICAgICByZW1vdmVTY3JvbGxCYXIgPyBSZWFjdC5jcmVhdGVFbGVtZW50KFJlbW92ZVNjcm9sbEJhciwgeyBnYXBNb2RlOiBcIm1hcmdpblwiIH0pIDogbnVsbCkpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/SideEffect.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/UI.js": -/*!************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/UI.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScroll: function() { return /* binding */ RemoveScroll; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_remove_scroll_bar_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-remove-scroll-bar/constants */ \"./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\");\n/* harmony import */ var use_callback_ref__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! use-callback-ref */ \"./node_modules/use-callback-ref/dist/es2015/index.js\");\n/* harmony import */ var _medium__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./medium */ \"./node_modules/react-remove-scroll/dist/es2015/medium.js\");\n\n\n\n\n\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, parentRef) {\n var ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n var _a = react__WEBPACK_IMPORTED_MODULE_0__.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__rest)(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n var SideCar = sideCar;\n var containerRef = (0,use_callback_ref__WEBPACK_IMPORTED_MODULE_3__.useMergeRefs)([ref, parentRef]);\n var containerProps = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, rest), callbacks);\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n enabled && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(SideCar, { sideCar: _medium__WEBPACK_IMPORTED_MODULE_4__.effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n forwardProps ? (react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(react__WEBPACK_IMPORTED_MODULE_0__.Children.only(children), (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, containerProps), { ref: containerRef }))) : (react__WEBPACK_IMPORTED_MODULE_0__.createElement(Container, (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: react_remove_scroll_bar_constants__WEBPACK_IMPORTED_MODULE_1__.fullWidthClassName,\n zeroRight: react_remove_scroll_bar_constants__WEBPACK_IMPORTED_MODULE_1__.zeroRightClassName,\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9VSS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXlDO0FBQ1Y7QUFDNEQ7QUFDM0M7QUFDWDtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkNBQWdCO0FBQ25DLGNBQWMseUNBQVk7QUFDMUIsYUFBYSwyQ0FBYztBQUMzQjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsZ1hBQWdYLDZDQUFNO0FBQ3RYO0FBQ0EsdUJBQXVCLDhEQUFZO0FBQ25DLHlCQUF5QiwrQ0FBUSxDQUFDLCtDQUFRLEdBQUc7QUFDN0MsWUFBWSxnREFBbUIsQ0FBQywyQ0FBYztBQUM5QyxvQkFBb0IsZ0RBQW1CLFlBQVksU0FBUyw4Q0FBUyx3S0FBd0s7QUFDN08sd0JBQXdCLCtDQUFrQixDQUFDLDJDQUFjLGlCQUFpQiwrQ0FBUSxDQUFDLCtDQUFRLEdBQUcscUJBQXFCLG1CQUFtQixPQUFPLGdEQUFtQixZQUFZLCtDQUFRLEdBQUcsb0JBQW9CLHlDQUF5QztBQUNwUCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpRkFBa0I7QUFDakMsZUFBZSxpRkFBa0I7QUFDakM7QUFDd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvVUkuanM/YTNhMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19yZXN0IH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBmdWxsV2lkdGhDbGFzc05hbWUsIHplcm9SaWdodENsYXNzTmFtZSB9IGZyb20gJ3JlYWN0LXJlbW92ZS1zY3JvbGwtYmFyL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VNZXJnZVJlZnMgfSBmcm9tICd1c2UtY2FsbGJhY2stcmVmJztcbmltcG9ydCB7IGVmZmVjdENhciB9IGZyb20gJy4vbWVkaXVtJztcbnZhciBub3RoaW5nID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybjtcbn07XG4vKipcbiAqIFJlbW92ZXMgc2Nyb2xsYmFyIGZyb20gdGhlIHBhZ2UgYW5kIGNvbnRhaW4gdGhlIHNjcm9sbCB3aXRoaW4gdGhlIExvY2tcbiAqL1xudmFyIFJlbW92ZVNjcm9sbCA9IFJlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gKHByb3BzLCBwYXJlbnRSZWYpIHtcbiAgICB2YXIgcmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICAgIHZhciBfYSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICAgICAgb25TY3JvbGxDYXB0dXJlOiBub3RoaW5nLFxuICAgICAgICBvbldoZWVsQ2FwdHVyZTogbm90aGluZyxcbiAgICAgICAgb25Ub3VjaE1vdmVDYXB0dXJlOiBub3RoaW5nLFxuICAgIH0pLCBjYWxsYmFja3MgPSBfYVswXSwgc2V0Q2FsbGJhY2tzID0gX2FbMV07XG4gICAgdmFyIGZvcndhcmRQcm9wcyA9IHByb3BzLmZvcndhcmRQcm9wcywgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbiwgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lLCByZW1vdmVTY3JvbGxCYXIgPSBwcm9wcy5yZW1vdmVTY3JvbGxCYXIsIGVuYWJsZWQgPSBwcm9wcy5lbmFibGVkLCBzaGFyZHMgPSBwcm9wcy5zaGFyZHMsIHNpZGVDYXIgPSBwcm9wcy5zaWRlQ2FyLCBub0lzb2xhdGlvbiA9IHByb3BzLm5vSXNvbGF0aW9uLCBpbmVydCA9IHByb3BzLmluZXJ0LCBhbGxvd1BpbmNoWm9vbSA9IHByb3BzLmFsbG93UGluY2hab29tLCBfYiA9IHByb3BzLmFzLCBDb250YWluZXIgPSBfYiA9PT0gdm9pZCAwID8gJ2RpdicgOiBfYiwgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiZm9yd2FyZFByb3BzXCIsIFwiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJyZW1vdmVTY3JvbGxCYXJcIiwgXCJlbmFibGVkXCIsIFwic2hhcmRzXCIsIFwic2lkZUNhclwiLCBcIm5vSXNvbGF0aW9uXCIsIFwiaW5lcnRcIiwgXCJhbGxvd1BpbmNoWm9vbVwiLCBcImFzXCJdKTtcbiAgICB2YXIgU2lkZUNhciA9IHNpZGVDYXI7XG4gICAgdmFyIGNvbnRhaW5lclJlZiA9IHVzZU1lcmdlUmVmcyhbcmVmLCBwYXJlbnRSZWZdKTtcbiAgICB2YXIgY29udGFpbmVyUHJvcHMgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVzdCksIGNhbGxiYWNrcyk7XG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxuICAgICAgICBlbmFibGVkICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFNpZGVDYXIsIHsgc2lkZUNhcjogZWZmZWN0Q2FyLCByZW1vdmVTY3JvbGxCYXI6IHJlbW92ZVNjcm9sbEJhciwgc2hhcmRzOiBzaGFyZHMsIG5vSXNvbGF0aW9uOiBub0lzb2xhdGlvbiwgaW5lcnQ6IGluZXJ0LCBzZXRDYWxsYmFja3M6IHNldENhbGxiYWNrcywgYWxsb3dQaW5jaFpvb206ICEhYWxsb3dQaW5jaFpvb20sIGxvY2tSZWY6IHJlZiB9KSksXG4gICAgICAgIGZvcndhcmRQcm9wcyA/IChSZWFjdC5jbG9uZUVsZW1lbnQoUmVhY3QuQ2hpbGRyZW4ub25seShjaGlsZHJlbiksIF9fYXNzaWduKF9fYXNzaWduKHt9LCBjb250YWluZXJQcm9wcyksIHsgcmVmOiBjb250YWluZXJSZWYgfSkpKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KENvbnRhaW5lciwgX19hc3NpZ24oe30sIGNvbnRhaW5lclByb3BzLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCByZWY6IGNvbnRhaW5lclJlZiB9KSwgY2hpbGRyZW4pKSkpO1xufSk7XG5SZW1vdmVTY3JvbGwuZGVmYXVsdFByb3BzID0ge1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgcmVtb3ZlU2Nyb2xsQmFyOiB0cnVlLFxuICAgIGluZXJ0OiBmYWxzZSxcbn07XG5SZW1vdmVTY3JvbGwuY2xhc3NOYW1lcyA9IHtcbiAgICBmdWxsV2lkdGg6IGZ1bGxXaWR0aENsYXNzTmFtZSxcbiAgICB6ZXJvUmlnaHQ6IHplcm9SaWdodENsYXNzTmFtZSxcbn07XG5leHBvcnQgeyBSZW1vdmVTY3JvbGwgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/UI.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js": -/*!**************************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ nonPassive: function() { return /* binding */ nonPassive; }\n/* harmony export */ });\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nvar nonPassive = passiveSupported ? { passive: false } : false;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9hZ2dyZXNpdmVDYXB0dXJlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxzQ0FBc0MsaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsL2Rpc3QvZXMyMDE1L2FnZ3Jlc2l2ZUNhcHR1cmUuanM/N2I4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcGFzc2l2ZVN1cHBvcnRlZCA9IGZhbHNlO1xuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdwYXNzaXZlJywge1xuICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcGFzc2l2ZVN1cHBvcnRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0ZXN0Jywgb3B0aW9ucywgb3B0aW9ucyk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgcGFzc2l2ZVN1cHBvcnRlZCA9IGZhbHNlO1xuICAgIH1cbn1cbmV4cG9ydCB2YXIgbm9uUGFzc2l2ZSA9IHBhc3NpdmVTdXBwb3J0ZWQgPyB7IHBhc3NpdmU6IGZhbHNlIH0gOiBmYWxzZTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/handleScroll.js": -/*!**********************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/handleScroll.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ handleScroll: function() { return /* binding */ handleScroll; },\n/* harmony export */ locationCouldBeScrolled: function() { return /* binding */ locationCouldBeScrolled; }\n/* harmony export */ });\nvar elementCouldBeVScrolled = function (node) {\n var styles = window.getComputedStyle(node);\n return (styles.overflowY !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowY === 'visible') // scrollable\n );\n};\nvar elementCouldBeHScrolled = function (node) {\n var styles = window.getComputedStyle(node);\n return (styles.overflowX !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowX === 'visible') // scrollable\n );\n};\nvar locationCouldBeScrolled = function (axis, node) {\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n if (s > d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== document.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nvar handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9oYW5kbGVTY3JvbGwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvaGFuZGxlU2Nyb2xsLmpzPzEwZjUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGVsZW1lbnRDb3VsZEJlVlNjcm9sbGVkID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgICB2YXIgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSk7XG4gICAgcmV0dXJuIChzdHlsZXMub3ZlcmZsb3dZICE9PSAnaGlkZGVuJyAmJiAvLyBub3Qtbm90LXNjcm9sbGFibGVcbiAgICAgICAgIShzdHlsZXMub3ZlcmZsb3dZID09PSBzdHlsZXMub3ZlcmZsb3dYICYmIHN0eWxlcy5vdmVyZmxvd1kgPT09ICd2aXNpYmxlJykgLy8gc2Nyb2xsYWJsZVxuICAgICk7XG59O1xudmFyIGVsZW1lbnRDb3VsZEJlSFNjcm9sbGVkID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgICB2YXIgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSk7XG4gICAgcmV0dXJuIChzdHlsZXMub3ZlcmZsb3dYICE9PSAnaGlkZGVuJyAmJiAvLyBub3Qtbm90LXNjcm9sbGFibGVcbiAgICAgICAgIShzdHlsZXMub3ZlcmZsb3dZID09PSBzdHlsZXMub3ZlcmZsb3dYICYmIHN0eWxlcy5vdmVyZmxvd1ggPT09ICd2aXNpYmxlJykgLy8gc2Nyb2xsYWJsZVxuICAgICk7XG59O1xuZXhwb3J0IHZhciBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZCA9IGZ1bmN0aW9uIChheGlzLCBub2RlKSB7XG4gICAgdmFyIGN1cnJlbnQgPSBub2RlO1xuICAgIGRvIHtcbiAgICAgICAgLy8gU2tpcCBvdmVyIHNoYWRvdyByb290XG4gICAgICAgIGlmICh0eXBlb2YgU2hhZG93Um9vdCAhPT0gJ3VuZGVmaW5lZCcgJiYgY3VycmVudCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpIHtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lmhvc3Q7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlzU2Nyb2xsYWJsZSA9IGVsZW1lbnRDb3VsZEJlU2Nyb2xsZWQoYXhpcywgY3VycmVudCk7XG4gICAgICAgIGlmIChpc1Njcm9sbGFibGUpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IGdldFNjcm9sbFZhcmlhYmxlcyhheGlzLCBjdXJyZW50KSwgcyA9IF9hWzFdLCBkID0gX2FbMl07XG4gICAgICAgICAgICBpZiAocyA+IGQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5wYXJlbnROb2RlO1xuICAgIH0gd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gZG9jdW1lbnQuYm9keSk7XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbnZhciBnZXRWU2Nyb2xsVmFyaWFibGVzID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHNjcm9sbFRvcCA9IF9hLnNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0ID0gX2Euc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgPSBfYS5jbGllbnRIZWlnaHQ7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICBzY3JvbGxIZWlnaHQsXG4gICAgICAgIGNsaWVudEhlaWdodCxcbiAgICBdO1xufTtcbnZhciBnZXRIU2Nyb2xsVmFyaWFibGVzID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHNjcm9sbExlZnQgPSBfYS5zY3JvbGxMZWZ0LCBzY3JvbGxXaWR0aCA9IF9hLnNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCA9IF9hLmNsaWVudFdpZHRoO1xuICAgIHJldHVybiBbXG4gICAgICAgIHNjcm9sbExlZnQsXG4gICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICBjbGllbnRXaWR0aCxcbiAgICBdO1xufTtcbnZhciBlbGVtZW50Q291bGRCZVNjcm9sbGVkID0gZnVuY3Rpb24gKGF4aXMsIG5vZGUpIHtcbiAgICByZXR1cm4gYXhpcyA9PT0gJ3YnID8gZWxlbWVudENvdWxkQmVWU2Nyb2xsZWQobm9kZSkgOiBlbGVtZW50Q291bGRCZUhTY3JvbGxlZChub2RlKTtcbn07XG52YXIgZ2V0U2Nyb2xsVmFyaWFibGVzID0gZnVuY3Rpb24gKGF4aXMsIG5vZGUpIHtcbiAgICByZXR1cm4gYXhpcyA9PT0gJ3YnID8gZ2V0VlNjcm9sbFZhcmlhYmxlcyhub2RlKSA6IGdldEhTY3JvbGxWYXJpYWJsZXMobm9kZSk7XG59O1xudmFyIGdldERpcmVjdGlvbkZhY3RvciA9IGZ1bmN0aW9uIChheGlzLCBkaXJlY3Rpb24pIHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgZWxlbWVudCdzIGRpcmVjdGlvbiBpcyBydGwgKHJpZ2h0LXRvLWxlZnQpLCB0aGVuIHNjcm9sbExlZnQgaXMgMCB3aGVuIHRoZSBzY3JvbGxiYXIgaXMgYXQgaXRzIHJpZ2h0bW9zdCBwb3NpdGlvbixcbiAgICAgKiBhbmQgdGhlbiBpbmNyZWFzaW5nbHkgbmVnYXRpdmUgYXMgeW91IHNjcm9sbCB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQuXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9zY3JvbGxMZWZ0XG4gICAgICovXG4gICAgcmV0dXJuIGF4aXMgPT09ICdoJyAmJiBkaXJlY3Rpb24gPT09ICdydGwnID8gLTEgOiAxO1xufTtcbmV4cG9ydCB2YXIgaGFuZGxlU2Nyb2xsID0gZnVuY3Rpb24gKGF4aXMsIGVuZFRhcmdldCwgZXZlbnQsIHNvdXJjZURlbHRhLCBub092ZXJzY3JvbGwpIHtcbiAgICB2YXIgZGlyZWN0aW9uRmFjdG9yID0gZ2V0RGlyZWN0aW9uRmFjdG9yKGF4aXMsIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVuZFRhcmdldCkuZGlyZWN0aW9uKTtcbiAgICB2YXIgZGVsdGEgPSBkaXJlY3Rpb25GYWN0b3IgKiBzb3VyY2VEZWx0YTtcbiAgICAvLyBmaW5kIHNjcm9sbGFibGUgdGFyZ2V0XG4gICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICB2YXIgdGFyZ2V0SW5Mb2NrID0gZW5kVGFyZ2V0LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgdmFyIHNob3VsZENhbmNlbFNjcm9sbCA9IGZhbHNlO1xuICAgIHZhciBpc0RlbHRhUG9zaXRpdmUgPSBkZWx0YSA+IDA7XG4gICAgdmFyIGF2YWlsYWJsZVNjcm9sbCA9IDA7XG4gICAgdmFyIGF2YWlsYWJsZVNjcm9sbFRvcCA9IDA7XG4gICAgZG8ge1xuICAgICAgICB2YXIgX2EgPSBnZXRTY3JvbGxWYXJpYWJsZXMoYXhpcywgdGFyZ2V0KSwgcG9zaXRpb24gPSBfYVswXSwgc2Nyb2xsXzEgPSBfYVsxXSwgY2FwYWNpdHkgPSBfYVsyXTtcbiAgICAgICAgdmFyIGVsZW1lbnRTY3JvbGwgPSBzY3JvbGxfMSAtIGNhcGFjaXR5IC0gZGlyZWN0aW9uRmFjdG9yICogcG9zaXRpb247XG4gICAgICAgIGlmIChwb3NpdGlvbiB8fCBlbGVtZW50U2Nyb2xsKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudENvdWxkQmVTY3JvbGxlZChheGlzLCB0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlU2Nyb2xsICs9IGVsZW1lbnRTY3JvbGw7XG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlU2Nyb2xsVG9wICs9IHBvc2l0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlO1xuICAgIH0gd2hpbGUgKFxuICAgIC8vIHBvcnRhbGVkIGNvbnRlbnRcbiAgICAoIXRhcmdldEluTG9jayAmJiB0YXJnZXQgIT09IGRvY3VtZW50LmJvZHkpIHx8XG4gICAgICAgIC8vIHNlbGYgY29udGVudFxuICAgICAgICAodGFyZ2V0SW5Mb2NrICYmIChlbmRUYXJnZXQuY29udGFpbnModGFyZ2V0KSB8fCBlbmRUYXJnZXQgPT09IHRhcmdldCkpKTtcbiAgICBpZiAoaXNEZWx0YVBvc2l0aXZlICYmICgobm9PdmVyc2Nyb2xsICYmIGF2YWlsYWJsZVNjcm9sbCA9PT0gMCkgfHwgKCFub092ZXJzY3JvbGwgJiYgZGVsdGEgPiBhdmFpbGFibGVTY3JvbGwpKSkge1xuICAgICAgICBzaG91bGRDYW5jZWxTY3JvbGwgPSB0cnVlO1xuICAgIH1cbiAgICBlbHNlIGlmICghaXNEZWx0YVBvc2l0aXZlICYmXG4gICAgICAgICgobm9PdmVyc2Nyb2xsICYmIGF2YWlsYWJsZVNjcm9sbFRvcCA9PT0gMCkgfHwgKCFub092ZXJzY3JvbGwgJiYgLWRlbHRhID4gYXZhaWxhYmxlU2Nyb2xsVG9wKSkpIHtcbiAgICAgICAgc2hvdWxkQ2FuY2VsU2Nyb2xsID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHNob3VsZENhbmNlbFNjcm9sbDtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/handleScroll.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/index.js": -/*!***************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/index.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScroll: function() { return /* reexport safe */ _Combination__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; }\n/* harmony export */ });\n/* harmony import */ var _Combination__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Combination */ \"./node_modules/react-remove-scroll/dist/es2015/Combination.js\");\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUF5QztBQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9pbmRleC5qcz9kZTI1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZW1vdmVTY3JvbGwgZnJvbSAnLi9Db21iaW5hdGlvbic7XG5leHBvcnQgeyBSZW1vdmVTY3JvbGwgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/medium.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/medium.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ effectCar: function() { return /* binding */ effectCar; }\n/* harmony export */ });\n/* harmony import */ var use_sidecar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sidecar */ \"./node_modules/use-sidecar/dist/es2015/index.js\");\n\nvar effectCar = (0,use_sidecar__WEBPACK_IMPORTED_MODULE_0__.createSidecarMedium)();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9tZWRpdW0uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBa0Q7QUFDM0MsZ0JBQWdCLGdFQUFtQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9tZWRpdW0uanM/Njg3NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTaWRlY2FyTWVkaXVtIH0gZnJvbSAndXNlLXNpZGVjYXInO1xuZXhwb3J0IHZhciBlZmZlY3RDYXIgPSBjcmVhdGVTaWRlY2FyTWVkaXVtKCk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/medium.js\n")); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/sidecar.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/sidecar.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var use_sidecar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sidecar */ \"./node_modules/use-sidecar/dist/es2015/index.js\");\n/* harmony import */ var _SideEffect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SideEffect */ \"./node_modules/react-remove-scroll/dist/es2015/SideEffect.js\");\n/* harmony import */ var _medium__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./medium */ \"./node_modules/react-remove-scroll/dist/es2015/medium.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((0,use_sidecar__WEBPACK_IMPORTED_MODULE_0__.exportSidecar)(_medium__WEBPACK_IMPORTED_MODULE_1__.effectCar, _SideEffect__WEBPACK_IMPORTED_MODULE_2__.RemoveScrollSideCar));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9zaWRlY2FyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBNEM7QUFDTztBQUNkO0FBQ3JDLCtEQUFlLDBEQUFhLENBQUMsOENBQVMsRUFBRSw0REFBbUIsQ0FBQyxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsL2Rpc3QvZXMyMDE1L3NpZGVjYXIuanM/ODc3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleHBvcnRTaWRlY2FyIH0gZnJvbSAndXNlLXNpZGVjYXInO1xuaW1wb3J0IHsgUmVtb3ZlU2Nyb2xsU2lkZUNhciB9IGZyb20gJy4vU2lkZUVmZmVjdCc7XG5pbXBvcnQgeyBlZmZlY3RDYXIgfSBmcm9tICcuL21lZGl1bSc7XG5leHBvcnQgZGVmYXVsdCBleHBvcnRTaWRlY2FyKGVmZmVjdENhciwgUmVtb3ZlU2Nyb2xsU2lkZUNhcik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-remove-scroll/dist/es2015/sidecar.js\n")); - -/***/ }), - -/***/ "./node_modules/react-style-singleton/dist/es2015/component.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react-style-singleton/dist/es2015/component.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ styleSingleton: function() { return /* binding */ styleSingleton; }\n/* harmony export */ });\n/* harmony import */ var _hook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hook */ \"./node_modules/react-style-singleton/dist/es2015/hook.js\");\n\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nvar styleSingleton = function () {\n var useStyle = (0,_hook__WEBPACK_IMPORTED_MODULE_0__.styleHookSingleton)();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc3R5bGUtc2luZ2xldG9uL2Rpc3QvZXMyMDE1L2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLG1CQUFtQix5REFBa0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXN0eWxlLXNpbmdsZXRvbi9kaXN0L2VzMjAxNS9jb21wb25lbnQuanM/NWQyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHlsZUhvb2tTaW5nbGV0b24gfSBmcm9tICcuL2hvb2snO1xuLyoqXG4gKiBjcmVhdGUgYSBDb21wb25lbnQgdG8gYWRkIHN0eWxlcyBvbiBkZW1hbmRcbiAqIC0gc3R5bGVzIGFyZSBhZGRlZCB3aGVuIGZpcnN0IGluc3RhbmNlIGlzIG1vdW50ZWRcbiAqIC0gc3R5bGVzIGFyZSByZW1vdmVkIHdoZW4gdGhlIGxhc3QgaW5zdGFuY2UgaXMgdW5tb3VudGVkXG4gKiAtIGNoYW5naW5nIHN0eWxlcyBpbiBydW50aW1lIGRvZXMgbm90aGluZyB1bmxlc3MgZHluYW1pYyBpcyBzZXQuIEJ1dCB3aXRoIG11bHRpcGxlIGNvbXBvbmVudHMgdGhhdCBjYW4gbGVhZCB0byB0aGUgdW5kZWZpbmVkIGJlaGF2aW9yXG4gKi9cbmV4cG9ydCB2YXIgc3R5bGVTaW5nbGV0b24gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHVzZVN0eWxlID0gc3R5bGVIb29rU2luZ2xldG9uKCk7XG4gICAgdmFyIFNoZWV0ID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHZhciBzdHlsZXMgPSBfYS5zdHlsZXMsIGR5bmFtaWMgPSBfYS5keW5hbWljO1xuICAgICAgICB1c2VTdHlsZShzdHlsZXMsIGR5bmFtaWMpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiBTaGVldDtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-style-singleton/dist/es2015/component.js\n")); - -/***/ }), - -/***/ "./node_modules/react-style-singleton/dist/es2015/hook.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-style-singleton/dist/es2015/hook.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ styleHookSingleton: function() { return /* binding */ styleHookSingleton; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _singleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./singleton */ \"./node_modules/react-style-singleton/dist/es2015/singleton.js\");\n\n\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nvar styleHookSingleton = function () {\n var sheet = (0,_singleton__WEBPACK_IMPORTED_MODULE_1__.stylesheetSingleton)();\n return function (styles, isDynamic) {\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc3R5bGUtc2luZ2xldG9uL2Rpc3QvZXMyMDE1L2hvb2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUErQjtBQUNtQjtBQUNsRDtBQUNBO0FBQ0EsU0FBUyxzQkFBc0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ087QUFDUCxnQkFBZ0IsK0RBQW1CO0FBQ25DO0FBQ0EsUUFBUSw0Q0FBZTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zdHlsZS1zaW5nbGV0b24vZGlzdC9lczIwMTUvaG9vay5qcz8zNjA1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlc2hlZXRTaW5nbGV0b24gfSBmcm9tICcuL3NpbmdsZXRvbic7XG4vKipcbiAqIGNyZWF0ZXMgYSBob29rIHRvIGNvbnRyb2wgc3R5bGUgc2luZ2xldG9uXG4gKiBAc2VlIHtAbGluayBzdHlsZVNpbmdsZXRvbn0gZm9yIGEgc2FmZXIgY29tcG9uZW50IHZlcnNpb25cbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHVzZVN0eWxlID0gc3R5bGVIb29rU2luZ2xldG9uKCk7XG4gKiAvLy9cbiAqIHVzZVN0eWxlKCdib2R5IHsgb3ZlcmZsb3c6IGhpZGRlbn0nKTtcbiAqL1xuZXhwb3J0IHZhciBzdHlsZUhvb2tTaW5nbGV0b24gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNoZWV0ID0gc3R5bGVzaGVldFNpbmdsZXRvbigpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoc3R5bGVzLCBpc0R5bmFtaWMpIHtcbiAgICAgICAgUmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNoZWV0LmFkZChzdHlsZXMpO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBzaGVldC5yZW1vdmUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sIFtzdHlsZXMgJiYgaXNEeW5hbWljXSk7XG4gICAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-style-singleton/dist/es2015/hook.js\n")); - -/***/ }), - -/***/ "./node_modules/react-style-singleton/dist/es2015/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-style-singleton/dist/es2015/index.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ styleHookSingleton: function() { return /* reexport safe */ _hook__WEBPACK_IMPORTED_MODULE_2__.styleHookSingleton; },\n/* harmony export */ styleSingleton: function() { return /* reexport safe */ _component__WEBPACK_IMPORTED_MODULE_0__.styleSingleton; },\n/* harmony export */ stylesheetSingleton: function() { return /* reexport safe */ _singleton__WEBPACK_IMPORTED_MODULE_1__.stylesheetSingleton; }\n/* harmony export */ });\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component */ \"./node_modules/react-style-singleton/dist/es2015/component.js\");\n/* harmony import */ var _singleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./singleton */ \"./node_modules/react-style-singleton/dist/es2015/singleton.js\");\n/* harmony import */ var _hook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hook */ \"./node_modules/react-style-singleton/dist/es2015/hook.js\");\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc3R5bGUtc2luZ2xldG9uL2Rpc3QvZXMyMDE1L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE2QztBQUNLO0FBQ04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXN0eWxlLXNpbmdsZXRvbi9kaXN0L2VzMjAxNS9pbmRleC5qcz8wZGFjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHN0eWxlU2luZ2xldG9uIH0gZnJvbSAnLi9jb21wb25lbnQnO1xuZXhwb3J0IHsgc3R5bGVzaGVldFNpbmdsZXRvbiB9IGZyb20gJy4vc2luZ2xldG9uJztcbmV4cG9ydCB7IHN0eWxlSG9va1NpbmdsZXRvbiB9IGZyb20gJy4vaG9vayc7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-style-singleton/dist/es2015/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react-style-singleton/dist/es2015/singleton.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react-style-singleton/dist/es2015/singleton.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ stylesheetSingleton: function() { return /* binding */ stylesheetSingleton; }\n/* harmony export */ });\n/* harmony import */ var get_nonce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! get-nonce */ \"./node_modules/get-nonce/dist/es2015/index.js\");\n\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = (0,get_nonce__WEBPACK_IMPORTED_MODULE_0__.getNonce)();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nvar stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc3R5bGUtc2luZ2xldG9uL2Rpc3QvZXMyMDE1L3NpbmdsZXRvbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1EQUFRO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zdHlsZS1zaW5nbGV0b24vZGlzdC9lczIwMTUvc2luZ2xldG9uLmpzPzljMzMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Tm9uY2UgfSBmcm9tICdnZXQtbm9uY2UnO1xuZnVuY3Rpb24gbWFrZVN0eWxlVGFnKCkge1xuICAgIGlmICghZG9jdW1lbnQpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHZhciB0YWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIHRhZy50eXBlID0gJ3RleHQvY3NzJztcbiAgICB2YXIgbm9uY2UgPSBnZXROb25jZSgpO1xuICAgIGlmIChub25jZSkge1xuICAgICAgICB0YWcuc2V0QXR0cmlidXRlKCdub25jZScsIG5vbmNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhZztcbn1cbmZ1bmN0aW9uIGluamVjdFN0eWxlcyh0YWcsIGNzcykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodGFnLnN0eWxlU2hlZXQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0YWcuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGluc2VydFN0eWxlVGFnKHRhZykge1xuICAgIHZhciBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQodGFnKTtcbn1cbmV4cG9ydCB2YXIgc3R5bGVzaGVldFNpbmdsZXRvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgY291bnRlciA9IDA7XG4gICAgdmFyIHN0eWxlc2hlZXQgPSBudWxsO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFkZDogZnVuY3Rpb24gKHN0eWxlKSB7XG4gICAgICAgICAgICBpZiAoY291bnRlciA9PSAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKChzdHlsZXNoZWV0ID0gbWFrZVN0eWxlVGFnKCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGluamVjdFN0eWxlcyhzdHlsZXNoZWV0LCBzdHlsZSk7XG4gICAgICAgICAgICAgICAgICAgIGluc2VydFN0eWxlVGFnKHN0eWxlc2hlZXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvdW50ZXIrKztcbiAgICAgICAgfSxcbiAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb3VudGVyLS07XG4gICAgICAgICAgICBpZiAoIWNvdW50ZXIgJiYgc3R5bGVzaGVldCkge1xuICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQucGFyZW50Tm9kZSAmJiBzdHlsZXNoZWV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVzaGVldCk7XG4gICAgICAgICAgICAgICAgc3R5bGVzaGVldCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-style-singleton/dist/es2015/singleton.js\n")); - -/***/ }), - -/***/ "./node_modules/react/cjs/react-jsx-dev-runtime.development.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react/cjs/react-jsx-dev-runtime.development.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n\nvar jsxDEV$1 = jsxWithValidation ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV$1;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyw0Q0FBTzs7QUFFM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQSxxQ0FBcUM7O0FBRXJDLGdDQUFnQztBQUNoQztBQUNBOztBQUVBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNB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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2QsV0FBVyxlQUFlO0FBQzFCLFdBQVcsR0FBRztBQUNkLFdBQVcsR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHO0FBQ1I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkI7O0FBRUE7QUFDQTtBQUNBLGtCQUFrQjs7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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUEsZ0JBQWdCO0FBQ2hCLGNBQWM7QUFDZCxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/MTdlMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG4vLyBzdHVmZi4gSW50ZW5kZWQgdG8gZW5hYmxlIFJlYWN0IGNvcmUgbWVtYmVycyB0byBtb3JlIGVhc2lseSBkZWJ1ZyBzY2hlZHVsaW5nXG4vLyBpc3N1ZXMgaW4gREVWIGJ1aWxkcy5cblxudmFyIGVuYWJsZURlYnVnVHJhY2luZyA9IGZhbHNlOyAvLyBUcmFjayB3aGljaCBGaWJlcihzKSBzY2hlZHVsZSByZW5kZXIgd29yay5cblxudmFyIFJFQUNUX01PRFVMRV9SRUZFUkVOQ0U7XG5cbntcbiAgUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm1vZHVsZS5yZWZlcmVuY2UnKTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBUaGlzIG5lZWRzIHRvIGluY2x1ZGUgYWxsIHBvc3NpYmxlIG1vZHVsZSByZWZlcmVuY2Ugb2JqZWN0XG4gICAgLy8gdHlwZXMgc3VwcG9ydGVkIGJ5IGFueSBGbGlnaHQgY29uZmlndXJhdGlvbiBhbnl3aGVyZSBzaW5jZVxuICAgIC8vIHdlIGRvbid0IGtub3cgd2hpY2ggRmxpZ2h0IGJ1aWxkIHRoaXMgd2lsbCBlbmQgdXAgYmVpbmcgdXNlZFxuICAgIC8vIHdpdGguXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTU9EVUxFX1JFRkVSRU5DRSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0V3JhcHBlZE5hbWUob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XG4gIHZhciBkaXNwbGF5TmFtZSA9IG91dGVyVHlwZS5kaXNwbGF5TmFtZTtcblxuICBpZiAoZGlzcGxheU5hbWUpIHtcbiAgICByZXR1cm4gZGlzcGxheU5hbWU7XG4gIH1cblxuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xuICByZXR1cm4gZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXCIoXCIgKyBmdW5jdGlvbk5hbWUgKyBcIilcIiA6IHdyYXBwZXJOYW1lO1xufSAvLyBLZWVwIGluIHN5bmMgd2l0aCByZWFjdC1yZWNvbmNpbGVyL2dldENvbXBvbmVudE5hbWVGcm9tRmliZXJcblxuXG5mdW5jdGlvbiBnZXRDb250ZXh0TmFtZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8ICdDb250ZXh0Jztcbn0gLy8gTm90ZSB0aGF0IHRoZSByZWNvbmNpbGVyIHBhY2thZ2Ugc2hvdWxkIGdlbmVyYWxseSBwcmVmZXIgdG8gdXNlIGdldENvbXBvbmVudE5hbWVGcm9tRmliZXIoKSBpbnN0ZWFkLlxuXG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB7XG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICAvLyBIb3N0IHJvb3QsIHRleHQgbm9kZSBvciBqdXN0IGludmFsaWQgdHlwZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiAnUHJvZmlsZXInO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICB2YXIgY29udGV4dCA9IHR5cGU7XG4gICAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZShjb250ZXh0KSArICcuQ29uc3VtZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgIHZhciBwcm92aWRlciA9IHR5cGU7XG4gICAgICAgIHJldHVybiBnZXRDb250ZXh0TmFtZShwcm92aWRlci5fY29udGV4dCkgKyAnLlByb3ZpZGVyJztcblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8vIEhlbHBlcnMgdG8gcGF0Y2ggY29uc29sZS5sb2dzIHRvIGF2b2lkIGxvZ2dpbmcgZHVyaW5nIHNpZGUtZWZmZWN0IGZyZWVcbi8vIHJlcGxheWluZyBvbiByZW5kZXIgZnVuY3Rpb24uIFRoaXMgY3VycmVudGx5IG9ubHkgcGF0Y2hlcyB0aGUgb2JqZWN0XG4vLyBsYXppbHkgd2hpY2ggd29uJ3QgY292ZXIgaWYgdGhlIGxvZyBmdW5jdGlvbiB3YXMgZXh0cmFjdGVkIGVhZ2VybHkuXG4vLyBXZSBjb3VsZCBhbHNvIGVhZ2VybHkgcGF0Y2ggdGhlIG1ldGhvZC5cbnZhciBkaXNhYmxlZERlcHRoID0gMDtcbnZhciBwcmV2TG9nO1xudmFyIHByZXZJbmZvO1xudmFyIHByZXZXYXJuO1xudmFyIHByZXZFcnJvcjtcbnZhciBwcmV2R3JvdXA7XG52YXIgcHJldkdyb3VwQ29sbGFwc2VkO1xudmFyIHByZXZHcm91cEVuZDtcblxuZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuXG5kaXNhYmxlZExvZy5fX3JlYWN0RGlzYWJsZWRMb2cgPSB0cnVlO1xuZnVuY3Rpb24gZGlzYWJsZUxvZ3MoKSB7XG4gIHtcbiAgICBpZiAoZGlzYWJsZWREZXB0aCA9PT0gMCkge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nICovXG4gICAgICBwcmV2TG9nID0gY29uc29sZS5sb2c7XG4gICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgIHByZXZXYXJuID0gY29uc29sZS53YXJuO1xuICAgICAgcHJldkVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICBwcmV2R3JvdXBDb2xsYXBzZWQgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkO1xuICAgICAgcHJldkdyb3VwRW5kID0gY29uc29sZS5ncm91cEVuZDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xOTA5OVxuXG4gICAgICB2YXIgcHJvcHMgPSB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGRpc2FibGVkTG9nLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfTsgLy8gJEZsb3dGaXhNZSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lIEZsb3cgdGhpbmtzIGNvbnNvbGUgaXMgaW1tdXRhYmxlLlxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb25zb2xlLCB7XG4gICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2TG9nXG4gICAgICAgIH0pLFxuICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZJbmZvXG4gICAgICAgIH0pLFxuICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZXYXJuXG4gICAgICAgIH0pLFxuICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2RXJyb3JcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwQ29sbGFwc2VkXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBFbmRcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmcgKi9cbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWREZXB0aCA8IDApIHtcbiAgICAgIGVycm9yKCdkaXNhYmxlZERlcHRoIGZlbGwgYmVsb3cgemVyby4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyO1xudmFyIHByZWZpeDtcbmZ1bmN0aW9uIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKG5hbWUsIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZShmbiwgY29uc3RydWN0KSB7XG4gIC8vIElmIHNvbWV0aGluZyBhc2tlZCBmb3IgYSBzdGFjayBpbnNpZGUgYSBmYWtlIHJlbmRlciwgaXQgc2hvdWxkIGdldCBpZ25vcmVkLlxuICBpZiAoICFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRyb2w7XG4gIHJlZW50cnkgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZSA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlOyAvLyAkRmxvd0ZpeE1lIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIFRoaXMgc2hvdWxkIHRocm93LlxuICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBzaG91bGQgYmUgc2V0dGluZyB0aGUgcHJvcHMgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAgdmFyIEZha2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZha2UucHJvdG90eXBlLCAncHJvcHMnLCB7XG4gICAgICAgIHNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQgd29uJ3QgdGhyb3cgaW4gYSBub24tc3RyaWN0IG1vZGUgZnVuY3Rpb24uXG4gICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAvLyBmcmFtZXMgYWRkZWQgYnkgdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICB0cnkge1xuICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIGNvbnRyb2wgPSB4O1xuICAgICAgICB9XG5cbiAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBjb250cm9sID0geDtcbiAgICAgIH1cblxuICAgICAgZm4oKTtcbiAgICB9XG4gIH0gY2F0Y2ggKHNhbXBsZSkge1xuICAgIC8vIFRoaXMgaXMgaW5saW5lZCBtYW51YWxseSBiZWNhdXNlIGNsb3N1cmUgZG9lc24ndCBkbyBpdCBmb3IgdXMuXG4gICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUaGlzIGV4dHJhY3RzIHRoZSBmaXJzdCBmcmFtZSBmcm9tIHRoZSBzYW1wbGUgdGhhdCBpc24ndCBhbHNvIGluIHRoZSBjb250cm9sLlxuICAgICAgLy8gU2tpcHBpbmcgb25lIGZyYW1lIHRoYXQgd2UgYXNzdW1lIGlzIHRoZSBmcmFtZSB0aGF0IGNhbGxzIHRoZSB0d28uXG4gICAgICB2YXIgc2FtcGxlTGluZXMgPSBzYW1wbGUuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIGNvbnRyb2xMaW5lcyA9IGNvbnRyb2wuc3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgdmFyIGMgPSBjb250cm9sTGluZXMubGVuZ3RoIC0gMTtcblxuICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAvLyBXZSBleHBlY3QgYXQgbGVhc3Qgb25lIHN0YWNrIGZyYW1lIHRvIGJlIHNoYXJlZC5cbiAgICAgICAgLy8gVHlwaWNhbGx5IHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBtb3N0IG9uZS4gSG93ZXZlciwgc3RhY2sgZnJhbWVzIG1heSBiZVxuICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAvLyBlYXJsaWVyIHRoYW4gdGhlIG90aGVyLiBXZSBhc3N1bWUgdGhhdCB0aGUgc2FtcGxlIGlzIGxvbmdlciBvciB0aGUgc2FtZVxuICAgICAgICAvLyBhbmQgdGhlcmUgZm9yIGN1dCBvZmYgZWFybGllci4gU28gd2Ugc2hvdWxkIGZpbmQgdGhlIHJvb3QgbW9zdCBmcmFtZSBpblxuICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgYy0tO1xuICAgICAgfVxuXG4gICAgICBmb3IgKDsgcyA+PSAxICYmIGMgPj0gMDsgcy0tLCBjLS0pIHtcbiAgICAgICAgLy8gTmV4dCB3ZSBmaW5kIHRoZSBmaXJzdCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSB3aGljaCBzaG91bGQgYmUgdGhlXG4gICAgICAgIC8vIGZyYW1lIHRoYXQgY2FsbGVkIG91ciBzYW1wbGUgZnVuY3Rpb24gYW5kIHRoZSBjb250cm9sLlxuICAgICAgICBpZiAoc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIEluIFY4LCB0aGUgZmlyc3QgbGluZSBpcyBkZXNjcmliaW5nIHRoZSBtZXNzYWdlIGJ1dCBvdGhlciBWTXMgZG9uJ3QuXG4gICAgICAgICAgLy8gSWYgd2UncmUgYWJvdXQgdG8gcmV0dXJuIHRoZSBmaXJzdCBsaW5lLCBhbmQgdGhlIGNvbnRyb2wgaXMgYWxzbyBvbiB0aGUgc2FtZVxuICAgICAgICAgIC8vIGxpbmUsIHRoYXQncyBhIHByZXR0eSBnb29kIGluZGljYXRvciB0aGF0IG91ciBzYW1wbGUgdGhyZXcgYXQgc2FtZSBsaW5lIGFzXG4gICAgICAgICAgLy8gdGhlIGNvbnRyb2wuIEkuZS4gYmVmb3JlIHdlIGVudGVyZWQgdGhlIHNhbXBsZSBmcmFtZS4gU28gd2UgaWdub3JlIHRoaXMgcmVzdWx0LlxuICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB5b3UgcGFzc2VkIGEgY2xhc3MgdG8gZnVuY3Rpb24gY29tcG9uZW50LCBvciBub24tZnVuY3Rpb24uXG4gICAgICAgICAgaWYgKHMgIT09IDEgfHwgYyAhPT0gMSkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICBzLS07XG4gICAgICAgICAgICAgIGMtLTsgLy8gV2UgbWF5IHN0aWxsIGhhdmUgc2ltaWxhciBpbnRlcm1lZGlhdGUgZnJhbWVzIGZyb20gdGhlIGNvbnN0cnVjdCBjYWxsLlxuICAgICAgICAgICAgICAvLyBUaGUgbmV4dCBvbmUgdGhhdCBpc24ndCB0aGUgc2FtZSBzaG91bGQgYmUgb3VyIG1hdGNoIHRob3VnaC5cblxuICAgICAgICAgICAgICBpZiAoYyA8IDAgfHwgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgICAgICAgIC8vIFY4IGFkZHMgYSBcIm5ld1wiIHByZWZpeCBmb3IgbmF0aXZlIGNsYXNzZXMuIExldCdzIHJlbW92ZSBpdCB0byBtYWtlIGl0IHByZXR0aWVyLlxuICAgICAgICAgICAgICAgIHZhciBfZnJhbWUgPSAnXFxuJyArIHNhbXBsZUxpbmVzW3NdLnJlcGxhY2UoJyBhdCBuZXcgJywgJyBhdCAnKTsgLy8gSWYgb3VyIGNvbXBvbmVudCBmcmFtZSBpcyBsYWJlbGVkIFwiPGFub255bW91cz5cIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBoYXZlIGEgdXNlci1wcm92aWRlZCBcImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgICAvLyBzcGxpY2UgaXQgaW4gdG8gbWFrZSB0aGUgc3RhY2sgbW9yZSByZWFkYWJsZS5cblxuXG4gICAgICAgICAgICAgICAgaWYgKGZuLmRpc3BsYXlOYW1lICYmIF9mcmFtZS5pbmNsdWRlcygnPGFub255bW91cz4nKSkge1xuICAgICAgICAgICAgICAgICAgX2ZyYW1lID0gX2ZyYW1lLnJlcGxhY2UoJzxhbm9ueW1vdXM+JywgZm4uZGlzcGxheU5hbWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIF9mcmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAvLyBSZXR1cm4gdGhlIGxpbmUgd2UgZm91bmQuXG5cblxuICAgICAgICAgICAgICAgIHJldHVybiBfZnJhbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gd2hpbGUgKHMgPj0gMSAmJiBjID49IDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHJlZW50cnkgPSBmYWxzZTtcblxuICAgIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZpb3VzRGlzcGF0Y2hlcjtcbiAgICAgIHJlZW5hYmxlTG9ncygpO1xuICAgIH1cblxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gcHJldmlvdXNQcmVwYXJlU3RhY2tUcmFjZTtcbiAgfSAvLyBGYWxsYmFjayB0byBqdXN0IHVzaW5nIHRoZSBuYW1lIGlmIHdlIGNvdWxkbid0IG1ha2UgaXQgdGhyb3cuXG5cblxuICB2YXIgbmFtZSA9IGZuID8gZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSA6ICcnO1xuICB2YXIgc3ludGhldGljRnJhbWUgPSBuYW1lID8gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSkgOiAnJztcblxuICB7XG4gICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50RnJhbWVDYWNoZS5zZXQoZm4sIHN5bnRoZXRpY0ZyYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3ludGhldGljRnJhbWU7XG59XG5mdW5jdGlvbiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUoZm4sIHNvdXJjZSwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIHNvdXJjZSwgb3duZXJGbikge1xuXG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB7XG4gICAgICByZXR1cm4gZGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZSh0eXBlLCBzaG91bGRDb25zdHJ1Y3QodHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUodHlwZSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlJyk7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZSgnU3VzcGVuc2VMaXN0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBkZXNjcmliZUZ1bmN0aW9uQ29tcG9uZW50RnJhbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgLy8gTWVtbyBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUsIHNvdXJjZSwgb3duZXJGbik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIGxhenlDb21wb25lbnQgPSB0eXBlO1xuICAgICAgICAgIHZhciBwYXlsb2FkID0gbGF6eUNvbXBvbmVudC5fcGF5bG9hZDtcbiAgICAgICAgICB2YXIgaW5pdCA9IGxhenlDb21wb25lbnQuX2luaXQ7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTGF6eSBtYXkgY29udGFpbiBhbnkgY29tcG9uZW50IHR5cGUgc28gd2UgcmVjdXJzaXZlbHkgcmVzb2x2ZSBpdC5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYoaW5pdChwYXlsb2FkKSwgc291cmNlLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgIHZhciBzdGFjayA9IGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihlbGVtZW50LnR5cGUsIGVsZW1lbnQuX3NvdXJjZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGVsZW1lbnQpIHtcbiAge1xuICAgIC8vICRGbG93Rml4TWUgVGhpcyBpcyBva2F5IGJ1dCBGbG93IGRvZXNuJ3Qga25vdyBpdC5cbiAgICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKGhhc093blByb3BlcnR5KTtcblxuICAgIGZvciAodmFyIHR5cGVTcGVjTmFtZSBpbiB0eXBlU3BlY3MpIHtcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XG4gICAgICAgIHZhciBlcnJvciQxID0gdm9pZCAwOyAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhbiBpbnZhcmlhbnQgdGhhdCBnZXRzIGNhdWdodC4gSXQncyB0aGUgc2FtZVxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvcHJvZC1lcnJvci1jb2Rlc1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSArICdgLicgKyAnVGhpcyBvZnRlbiBoYXBwZW5zIGJlY2F1c2Ugb2YgdHlwb3Mgc3VjaCBhcyBgUHJvcFR5cGVzLmZ1bmN0aW9uYCBpbnN0ZWFkIG9mIGBQcm9wVHlwZXMuZnVuY2AuJyk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlcnJvciQxID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnKTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciQxID0gZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSAmJiAhKGVycm9yJDEgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCclczogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICVzJyArICcgYCVzYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgKyAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJXMuICcgKyAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgKyAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLicsIGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJywgbG9jYXRpb24sIHR5cGVTcGVjTmFtZSwgdHlwZW9mIGVycm9yJDEpO1xuXG4gICAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3IkMSBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IkMS5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvciQxLm1lc3NhZ2VdID0gdHJ1ZTtcbiAgICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICAgIGVycm9yKCdGYWlsZWQgJXMgdHlwZTogJXMnLCBsb2NhdGlvbiwgZXJyb3IkMS5tZXNzYWdlKTtcblxuICAgICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59IC8vICRGbG93Rml4TWUgb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5cblxuZnVuY3Rpb24gd2lsbENvZXJjaW9uVGhyb3codmFsdWUpIHtcbiAge1xuICAgIHRyeSB7XG4gICAgICB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgLy8gSWYgeW91IGVuZGVkIHVwIGhlcmUgYnkgZm9sbG93aW5nIGFuIGV4Y2VwdGlvbiBjYWxsIHN0YWNrLCBoZXJlJ3Mgd2hhdCdzXG4gIC8vIGhhcHBlbmVkOiB5b3Ugc3VwcGxpZWQgYW4gb2JqZWN0IG9yIHN5bWJvbCB2YWx1ZSB0byBSZWFjdCAoYXMgYSBwcm9wLCBrZXksXG4gIC8vIERPTSBhdHRyaWJ1dGUsIENTUyBwcm9wZXJ0eSwgc3RyaW5nIHJlZiwgZXRjLikgYW5kIHdoZW4gUmVhY3QgdHJpZWQgdG9cbiAgLy8gY29lcmNlIGl0IHRvIGEgc3RyaW5nIHVzaW5nIGAnJyArIHZhbHVlYCwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uXG4gIC8vXG4gIC8vIFRoZSBtb3N0IGNvbW1vbiB0eXBlcyB0aGF0IHdpbGwgY2F1c2UgdGhpcyBleGNlcHRpb24gYXJlIGBTeW1ib2xgIGluc3RhbmNlc1xuICAvLyBhbmQgVGVtcG9yYWwgb2JqZWN0cyBsaWtlIGBUZW1wb3JhbC5JbnN0YW50YC4gQnV0IGFueSBvYmplY3QgdGhhdCBoYXMgYVxuICAvLyBgdmFsdWVPZmAgb3IgYFtTeW1ib2wudG9QcmltaXRpdmVdYCBtZXRob2QgdGhhdCB0aHJvd3Mgd2lsbCBhbHNvIGNhdXNlIHRoaXNcbiAgLy8gZXhjZXB0aW9uLiAoTGlicmFyeSBhdXRob3JzIGRvIHRoaXMgdG8gcHJldmVudCB1c2VycyBmcm9tIHVzaW5nIGJ1aWx0LWluXG4gIC8vIG51bWVyaWMgb3BlcmF0b3JzIGxpa2UgYCtgIG9yIGNvbXBhcmlzb24gb3BlcmF0b3JzIGxpa2UgYD49YCBiZWNhdXNlIGN1c3RvbVxuICAvLyBtZXRob2RzIGFyZSBuZWVkZWQgdG8gcGVyZm9ybSBhY2N1cmF0ZSBhcml0aG1ldGljIG9yIGNvbXBhcmlzb24uKVxuICAvL1xuICAvLyBUbyBmaXggdGhlIHByb2JsZW0sIGNvZXJjZSB0aGlzIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmcgYmVmb3JlXG4gIC8vIHBhc3NpbmcgaXQgdG8gUmVhY3QuIFRoZSBtb3N0IHJlbGlhYmxlIHdheSBpcyB1c3VhbGx5IGBTdHJpbmcodmFsdWUpYC5cbiAgLy9cbiAgLy8gVG8gZmluZCB3aGljaCB2YWx1ZSBpcyB0aHJvd2luZywgY2hlY2sgdGhlIGJyb3dzZXIgb3IgZGVidWdnZXIgY29uc29sZS5cbiAgLy8gQmVmb3JlIHRoaXMgZXhjZXB0aW9uIHdhcyB0aHJvd24sIHRoZXJlIHNob3VsZCBiZSBgY29uc29sZS5lcnJvcmAgb3V0cHV0XG4gIC8vIHRoYXQgc2hvd3MgdGhlIHR5cGUgKFN5bWJvbCwgVGVtcG9yYWwuUGxhaW5EYXRlLCBldGMuKSB0aGF0IGNhdXNlZCB0aGVcbiAgLy8gcHJvYmxlbSBhbmQgaG93IHRoYXQgdHlwZSB3YXMgdXNlZDoga2V5LCBhdHJyaWJ1dGUsIGlucHV0IHZhbHVlIHByb3AsIGV0Yy5cbiAgLy8gSW4gbW9zdCBjYXNlcywgdGhpcyBjb25zb2xlIG91dHB1dCBhbHNvIHNob3dzIHRoZSBjb21wb25lbnQgYW5kIGl0c1xuICAvLyBhbmNlc3RvciBjb21wb25lbnRzIHdoZXJlIHRoZSBleGNlcHRpb24gaGFwcGVuZWQuXG4gIC8vXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAge1xuICAgIGlmICh3aWxsQ29lcmNpb25UaHJvdyh2YWx1ZSkpIHtcbiAgICAgIGVycm9yKCdUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuJyArICcgVGhpcyB2YWx1ZSBtdXN0IGJlIGNvZXJjZWQgdG8gYSBzdHJpbmcgYmVmb3JlIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSRVNFUlZFRF9QUk9QUyA9IHtcbiAga2V5OiB0cnVlLFxuICByZWY6IHRydWUsXG4gIF9fc2VsZjogdHJ1ZSxcbiAgX19zb3VyY2U6IHRydWVcbn07XG52YXIgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd247XG52YXIgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd247XG52YXIgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN0cmluZ1JlZkNhbm5vdEJlQXV0b0NvbnZlcnRlZChjb25maWcsIHNlbGYpIHtcbiAge1xuICAgIGlmICh0eXBlb2YgY29uZmlnLnJlZiA9PT0gJ3N0cmluZycgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCAmJiBzZWxmICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQuc3RhdGVOb2RlICE9PSBzZWxmKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgZXJyb3IoJ0NvbXBvbmVudCBcIiVzXCIgY29udGFpbnMgdGhlIHN0cmluZyByZWYgXCIlc1wiLiAnICsgJ1N1cHBvcnQgZm9yIHN0cmluZyByZWZzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiAnICsgJ1RoaXMgY2FzZSBjYW5ub3QgYmUgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gYW4gYXJyb3cgZnVuY3Rpb24uICcgKyAnV2UgYXNrIHlvdSB0byBtYW51YWxseSBmaXggdGhpcyBjYXNlIGJ5IHVzaW5nIHVzZVJlZigpIG9yIGNyZWF0ZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vcmVhY3Rqcy5vcmcvbGluay9zdHJpY3QtbW9kZS1zdHJpbmctcmVmJywgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSksIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAge1xuICAgIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3BlY2lhbC1wcm9wcyknLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHdhcm5BYm91dEFjY2Vzc2luZ0tleS5pc1JlYWN0V2FybmluZyA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAna2V5Jywge1xuICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAge1xuICAgIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGByZWZgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3BlY2lhbC1wcm9wcyknLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHdhcm5BYm91dEFjY2Vzc2luZ1JlZi5pc1JlYWN0V2FybmluZyA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG52YXIgUmVhY3RFbGVtZW50ID0gZnVuY3Rpb24gKHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgZWxlbWVudCA9IHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICB0eXBlOiB0eXBlLFxuICAgIGtleToga2V5LFxuICAgIHJlZjogcmVmLFxuICAgIHByb3BzOiBwcm9wcyxcbiAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgIF9vd25lcjogb3duZXJcbiAgfTtcblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NlbGYnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc2VsZlxuICAgIH0pOyAvLyBUd28gZWxlbWVudHMgY3JlYXRlZCBpbiB0d28gZGlmZmVyZW50IHBsYWNlcyBzaG91bGQgYmUgY29uc2lkZXJlZFxuICAgIC8vIGVxdWFsIGZvciB0ZXN0aW5nIHB1cnBvc2VzIGFuZCB0aGVyZWZvcmUgd2UgaGlkZSBpdCBmcm9tIGVudW1lcmF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNvdXJjZVxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYodHlwZSwgY29uZmlnLCBtYXliZUtleSwgc291cmNlLCBzZWxmKSB7XG4gIHtcbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAgcmVmID0gY29uZmlnLnJlZjtcbiAgICAgIHdhcm5JZlN0cmluZ1JlZkNhbm5vdEJlQXV0b0NvbnZlcnRlZChjb25maWcsIHNlbGYpO1xuICAgIH0gLy8gUmVtYWluaW5nIHByb3BlcnRpZXMgYXJlIGFkZGVkIHRvIGEgbmV3IHByb3BzIG9iamVjdFxuXG5cbiAgICBmb3IgKHByb3BOYW1lIGluIGNvbmZpZykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBwcm9wTmFtZSkgJiYgIVJFU0VSVkVEX1BST1BTLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkge1xuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH0gLy8gUmVzb2x2ZSBkZWZhdWx0IHByb3BzXG5cblxuICAgIGlmICh0eXBlICYmIHR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICB2YXIgZGVmYXVsdFByb3BzID0gdHlwZS5kZWZhdWx0UHJvcHM7XG5cbiAgICAgIGZvciAocHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGRlZmF1bHRQcm9wc1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoa2V5IHx8IHJlZikge1xuICAgICAgdmFyIGRpc3BsYXlOYW1lID0gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgPyB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCAnVW5rbm93bicgOiB0eXBlO1xuXG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQsIHByb3BzKTtcbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50JDEoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgZWxlbWVudC5fc291cmNlLCBvd25lciA/IG93bmVyLnR5cGUgOiBudWxsKTtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5zZXRFeHRyYVN0YWNrRnJhbWUoc3RhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd247XG5cbntcbiAgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd24gPSBmYWxzZTtcbn1cbi8qKlxuICogVmVyaWZpZXMgdGhlIG9iamVjdCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjaXN2YWxpZGVsZW1lbnRcbiAqIEBwYXJhbSB7P29iamVjdH0gb2JqZWN0XG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGBvYmplY3RgIGlzIGEgUmVhY3RFbGVtZW50LlxuICogQGZpbmFsXG4gKi9cblxuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICB7XG4gICAgaWYgKFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50LnR5cGUpO1xuXG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtKHNvdXJjZSkge1xuICB7XG4gICAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgZmlsZU5hbWUgPSBzb3VyY2UuZmlsZU5hbWUucmVwbGFjZSgvXi4qW1xcXFxcXC9dLywgJycpO1xuICAgICAgdmFyIGxpbmVOdW1iZXIgPSBzb3VyY2UubGluZU51bWJlcjtcbiAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcbiAqIG9iamVjdCBrZXlzIGFyZSBub3QgdmFsaWQuIFRoaXMgYWxsb3dzIHVzIHRvIGtlZXAgdHJhY2sgb2YgY2hpbGRyZW4gYmV0d2VlblxuICogdXBkYXRlcy5cbiAqL1xuXG5cbnZhciBvd25lckhhc0tleVVzZVdhcm5pbmcgPSB7fTtcblxuZnVuY3Rpb24gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICB2YXIgaW5mbyA9IGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpO1xuXG4gICAgaWYgKCFpbmZvKSB7XG4gICAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgICAgaWYgKHBhcmVudE5hbWUpIHtcbiAgICAgICAgaW5mbyA9IFwiXFxuXFxuQ2hlY2sgdGhlIHRvcC1sZXZlbCByZW5kZXIgY2FsbCB1c2luZyA8XCIgKyBwYXJlbnROYW1lICsgXCI+LlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpbmZvO1xuICB9XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAoIWVsZW1lbnQuX3N0b3JlIHx8IGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCB8fCBlbGVtZW50LmtleSAhPSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcbiAgICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgICBpZiAob3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dID0gdHJ1ZTsgLy8gVXN1YWxseSB0aGUgY3VycmVudCBvd25lciBpcyB0aGUgb2ZmZW5kZXIsIGJ1dCBpZiBpdCBhY2NlcHRzIGNoaWxkcmVuIGFzIGFcbiAgICAvLyBwcm9wZXJ0eSwgaXQgbWF5IGJlIHRoZSBjcmVhdG9yIG9mIHRoZSBjaGlsZCB0aGF0J3MgcmVzcG9uc2libGUgZm9yXG4gICAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gICAgdmFyIGNoaWxkT3duZXIgPSAnJztcblxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuX293bmVyICYmIGVsZW1lbnQuX293bmVyICE9PSBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQpIHtcbiAgICAgIC8vIEdpdmUgdGhlIGNvbXBvbmVudCB0aGF0IG9yaWdpbmFsbHkgY3JlYXRlZCB0aGlzIGNoaWxkLlxuICAgICAgY2hpbGRPd25lciA9IFwiIEl0IHdhcyBwYXNzZWQgYSBjaGlsZCBmcm9tIFwiICsgZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGVsZW1lbnQuX293bmVyLnR5cGUpICsgXCIuXCI7XG4gICAgfVxuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShudWxsKTtcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyYXkobm9kZSkpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZS5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChjaGlsZCkpIHtcbiAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KGNoaWxkLCBwYXJlbnRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNWYWxpZEVsZW1lbnQobm9kZSkpIHtcbiAgICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgICBpZiAobm9kZS5fc3RvcmUpIHtcbiAgICAgICAgbm9kZS5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUpIHtcbiAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihub2RlKTtcblxuICAgICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIEVudHJ5IGl0ZXJhdG9ycyB1c2VkIHRvIHByb3ZpZGUgaW1wbGljaXQga2V5cyxcbiAgICAgICAgLy8gYnV0IG5vdyB3ZSBwcmludCBhIHNlcGFyYXRlIHdhcm5pbmcgZm9yIHRoZW0gbGF0ZXIuXG4gICAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwobm9kZSk7XG4gICAgICAgICAgdmFyIHN0ZXA7XG5cbiAgICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoc3RlcC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVFeHBsaWNpdEtleShzdGVwLnZhbHVlLCBwYXJlbnRUeXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYW4gZWxlbWVudCwgdmFsaWRhdGUgdGhhdCBpdHMgcHJvcHMgZm9sbG93IHRoZSBwcm9wVHlwZXMgZGVmaW5pdGlvbixcbiAqIHByb3ZpZGVkIGJ5IHRoZSB0eXBlLlxuICpcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBlbGVtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KSB7XG4gIHtcbiAgICB2YXIgdHlwZSA9IGVsZW1lbnQudHlwZTtcblxuICAgIGlmICh0eXBlID09PSBudWxsIHx8IHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcHJvcFR5cGVzO1xuXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBOb3RlOiBNZW1vIG9ubHkgY2hlY2tzIG91dGVyIHByb3BzIGhlcmUuXG4gICAgLy8gSW5uZXIgcHJvcHMgYXJlIGNoZWNrZWQgaW4gdGhlIHJlY29uY2lsZXIuXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSkge1xuICAgICAgcHJvcFR5cGVzID0gdHlwZS5wcm9wVHlwZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJvcFR5cGVzKSB7XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGluc2lkZSB0byBhdm9pZCB0cmlnZ2VyaW5nIGxhenkgaW5pdGlhbGl6ZXJzOlxuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICBjaGVja1Byb3BUeXBlcyhwcm9wVHlwZXMsIGVsZW1lbnQucHJvcHMsICdwcm9wJywgbmFtZSwgZWxlbWVudCk7XG4gICAgfSBlbHNlIGlmICh0eXBlLlByb3BUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bikge1xuICAgICAgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd24gPSB0cnVlOyAvLyBJbnRlbnRpb25hbGx5IGluc2lkZSB0byBhdm9pZCB0cmlnZ2VyaW5nIGxhenkgaW5pdGlhbGl6ZXJzOlxuXG4gICAgICB2YXIgX25hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG5cbiAgICAgIGVycm9yKCdDb21wb25lbnQgJXMgZGVjbGFyZWQgYFByb3BUeXBlc2AgaW5zdGVhZCBvZiBgcHJvcFR5cGVzYC4gRGlkIHlvdSBtaXNzcGVsbCB0aGUgcHJvcGVydHkgYXNzaWdubWVudD8nLCBfbmFtZSB8fCAnVW5rbm93bicpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdHlwZS5nZXREZWZhdWx0UHJvcHMgPT09ICdmdW5jdGlvbicgJiYgIXR5cGUuZ2V0RGVmYXVsdFByb3BzLmlzUmVhY3RDbGFzc0FwcHJvdmVkKSB7XG4gICAgICBlcnJvcignZ2V0RGVmYXVsdFByb3BzIGlzIG9ubHkgdXNlZCBvbiBjbGFzc2ljIFJlYWN0LmNyZWF0ZUNsYXNzICcgKyAnZGVmaW5pdGlvbnMuIFVzZSBhIHN0YXRpYyBwcm9wZXJ0eSBuYW1lZCBgZGVmYXVsdFByb3BzYCBpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIGZyYWdtZW50LCB2YWxpZGF0ZSB0aGF0IGl0IGNhbiBvbmx5IGJlIHByb3ZpZGVkIHdpdGggZnJhZ21lbnQgcHJvcHNcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBmcmFnbWVudFxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVGcmFnbWVudFByb3BzKGZyYWdtZW50KSB7XG4gIHtcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGZyYWdtZW50LnByb3BzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IGtleXNbaV07XG5cbiAgICAgIGlmIChrZXkgIT09ICdjaGlsZHJlbicgJiYga2V5ICE9PSAna2V5Jykge1xuICAgICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShudWxsKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZyYWdtZW50LnJlZiAhPT0gbnVsbCkge1xuICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQkMShmcmFnbWVudCk7XG5cbiAgICAgIGVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBgcmVmYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLicpO1xuXG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCQxKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBqc3hXaXRoVmFsaWRhdGlvbih0eXBlLCBwcm9wcywga2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgLy8gc3VjY2VlZCBhbmQgdGhlcmUgd2lsbCBsaWtlbHkgYmUgZXJyb3JzIGluIHJlbmRlci5cblxuICAgIGlmICghdmFsaWRUeXBlKSB7XG4gICAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKHR5cGUpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBpbmZvICs9ICcgWW91IGxpa2VseSBmb3Jnb3QgdG8gZXhwb3J0IHlvdXIgY29tcG9uZW50IGZyb20gdGhlIGZpbGUgJyArIFwiaXQncyBkZWZpbmVkIGluLCBvciB5b3UgbWlnaHQgaGF2ZSBtaXhlZCB1cCBkZWZhdWx0IGFuZCBuYW1lZCBpbXBvcnRzLlwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgc291cmNlSW5mbyA9IGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtKHNvdXJjZSk7XG5cbiAgICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICAgIGluZm8gKz0gc291cmNlSW5mbztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciB0eXBlU3RyaW5nO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICB0eXBlU3RyaW5nID0gJ251bGwnO1xuICAgICAgfSBlbHNlIGlmIChpc0FycmF5KHR5cGUpKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgICAgfSBlbHNlIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSBcIjxcIiArIChnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCAnVW5rbm93bicpICsgXCIgLz5cIjtcbiAgICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVvZiB0eXBlO1xuICAgICAgfVxuXG4gICAgICBlcnJvcignUmVhY3QuanN4OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xuICAgIH1cblxuICAgIHZhciBlbGVtZW50ID0ganN4REVWKHR5cGUsIHByb3BzLCBrZXksIHNvdXJjZSwgc2VsZik7IC8vIFRoZSByZXN1bHQgY2FuIGJlIG51bGxpc2ggaWYgYSBtb2NrIG9yIGEgY3VzdG9tIGZ1bmN0aW9uIGlzIHVzZWQuXG4gICAgLy8gVE9ETzogRHJvcCB0aGlzIHdoZW4gdGhlc2UgYXJlIG5vIGxvbmdlciBhbGxvd2VkIGFzIHRoZSB0eXBlIGFyZ3VtZW50LlxuXG4gICAgaWYgKGVsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfSAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgIC8vIGRvZXNuJ3QgZXhwZWN0IGEgbm9uLXN0cmluZy9mdW5jdGlvbiB0eXBlIGFuZCBjYW4gdGhyb3cgY29uZnVzaW5nIGVycm9ycy5cbiAgICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXG4gICAgLy8gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlIHR5cGUgaXNcbiAgICAvLyBmaXhlZCwgdGhlIGtleSB3YXJuaW5ncyB3aWxsIGFwcGVhci4pXG5cblxuICAgIGlmICh2YWxpZFR5cGUpIHtcbiAgICAgIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuO1xuXG4gICAgICBpZiAoY2hpbGRyZW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoaXNTdGF0aWNDaGlsZHJlbikge1xuICAgICAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbltpXSwgdHlwZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICAgICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvcignUmVhY3QuanN4OiBTdGF0aWMgY2hpbGRyZW4gc2hvdWxkIGFsd2F5cyBiZSBhbiBhcnJheS4gJyArICdZb3UgYXJlIGxpa2VseSBleHBsaWNpdGx5IGNhbGxpbmcgUmVhY3QuanN4cyBvciBSZWFjdC5qc3hERVYuICcgKyAnVXNlIHRoZSBCYWJlbCB0cmFuc2Zvcm0gaW5zdGVhZC4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW4sIHR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRhdGVQcm9wVHlwZXMoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbn0gLy8gVGhlc2UgdHdvIGZ1bmN0aW9ucyBleGlzdCB0byBzdGlsbCBnZXQgY2hpbGQgd2FybmluZ3MgaW4gZGV2XG5cbnZhciBqc3hERVYkMSA9ICBqc3hXaXRoVmFsaWRhdGlvbiA7XG5cbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5qc3hERVYgPSBqc3hERVYkMTtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react-jsx-dev-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react/jsx-dev-runtime.js": -/*!***********************************************!*\ - !*** ./node_modules/react/jsx-dev-runtime.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"./node_modules/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSx1SkFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2pzeC1kZXYtcnVudGltZS5qcz81Nzc3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1qc3gtZGV2LXJ1bnRpbWUucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react/jsx-dev-runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/split-on-first/index.js": -/*!**********************************************!*\ - !*** ./node_modules/split-on-first/index.js ***! - \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\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//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3BsaXQtb24tZmlyc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zcGxpdC1vbi1maXJzdC9pbmRleC5qcz85NDUxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSAoc3RyaW5nLCBzZXBhcmF0b3IpID0+IHtcblx0aWYgKCEodHlwZW9mIHN0cmluZyA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHNlcGFyYXRvciA9PT0gJ3N0cmluZycpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgdGhlIGFyZ3VtZW50cyB0byBiZSBvZiB0eXBlIGBzdHJpbmdgJyk7XG5cdH1cblxuXHRpZiAoc2VwYXJhdG9yID09PSAnJykge1xuXHRcdHJldHVybiBbc3RyaW5nXTtcblx0fVxuXG5cdGNvbnN0IHNlcGFyYXRvckluZGV4ID0gc3RyaW5nLmluZGV4T2Yoc2VwYXJhdG9yKTtcblxuXHRpZiAoc2VwYXJhdG9ySW5kZXggPT09IC0xKSB7XG5cdFx0cmV0dXJuIFtzdHJpbmddO1xuXHR9XG5cblx0cmV0dXJuIFtcblx0XHRzdHJpbmcuc2xpY2UoMCwgc2VwYXJhdG9ySW5kZXgpLFxuXHRcdHN0cmluZy5zbGljZShzZXBhcmF0b3JJbmRleCArIHNlcGFyYXRvci5sZW5ndGgpXG5cdF07XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/split-on-first/index.js\n")); - -/***/ }), - -/***/ "./node_modules/strict-uri-encode/index.js": -/*!*************************************************!*\ - !*** ./node_modules/strict-uri-encode/index.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3RyaWN0LXVyaS1lbmNvZGUvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw2RUFBNkUsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9zdHJpY3QtdXJpLWVuY29kZS9pbmRleC5qcz8yNWM4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gc3RyID0+IGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoL1shJygpKl0vZywgeCA9PiBgJSR7eC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfWApO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/strict-uri-encode/index.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/assignRef.js": -/*!****************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/assignRef.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assignRef: function() { return /* binding */ assignRef; }\n/* harmony export */ });\n/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nfunction assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9hc3NpZ25SZWYuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9hc3NpZ25SZWYuanM/MGE0MiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFzc2lnbnMgYSB2YWx1ZSBmb3IgYSBnaXZlbiByZWYsIG5vIG1hdHRlciBvZiB0aGUgcmVmIGZvcm1hdFxuICogQHBhcmFtIHtSZWZPYmplY3R9IHJlZiAtIGEgY2FsbGJhY2sgZnVuY3Rpb24gb3IgcmVmIG9iamVjdFxuICogQHBhcmFtIHZhbHVlIC0gYSBuZXcgdmFsdWVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90aGVLYXNoZXkvdXNlLWNhbGxiYWNrLXJlZiNhc3NpZ25yZWZcbiAqIEBleGFtcGxlXG4gKiBjb25zdCByZWZPYmplY3QgPSB1c2VSZWYoKTtcbiAqIGNvbnN0IHJlZkZuID0gKHJlZikgPT4gey4uLi59XG4gKlxuICogYXNzaWduUmVmKHJlZk9iamVjdCwgXCJyZWZWYWx1ZVwiKTtcbiAqIGFzc2lnblJlZihyZWZGbiwgXCJyZWZWYWx1ZVwiKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnblJlZihyZWYsIHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmVmKHZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAocmVmKSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiByZWY7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/assignRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/createRef.js": -/*!****************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/createRef.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createCallbackRef: function() { return /* binding */ createCallbackRef; }\n/* harmony export */ });\n/**\n * creates a Ref object with on change callback\n * @param callback\n * @returns {RefObject}\n *\n * @see {@link useCallbackRef}\n * @see https://reactjs.org/docs/refs-and-the-dom.html#creating-refs\n */\nfunction createCallbackRef(callback) {\n var current = null;\n return {\n get current() {\n return current;\n },\n set current(value) {\n var last = current;\n if (last !== value) {\n current = value;\n callback(value, last);\n }\n },\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9jcmVhdGVSZWYuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9jcmVhdGVSZWYuanM/MTA1OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGNyZWF0ZXMgYSBSZWYgb2JqZWN0IHdpdGggb24gY2hhbmdlIGNhbGxiYWNrXG4gKiBAcGFyYW0gY2FsbGJhY2tcbiAqIEByZXR1cm5zIHtSZWZPYmplY3R9XG4gKlxuICogQHNlZSB7QGxpbmsgdXNlQ2FsbGJhY2tSZWZ9XG4gKiBAc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWZzLWFuZC10aGUtZG9tLmh0bWwjY3JlYXRpbmctcmVmc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2FsbGJhY2tSZWYoY2FsbGJhY2spIHtcbiAgICB2YXIgY3VycmVudCA9IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0IGN1cnJlbnQoKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0IGN1cnJlbnQodmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBsYXN0ID0gY3VycmVudDtcbiAgICAgICAgICAgIGlmIChsYXN0ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayh2YWx1ZSwgbGFzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/createRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/index.js": -/*!************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/index.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assignRef: function() { return /* reexport safe */ _assignRef__WEBPACK_IMPORTED_MODULE_0__.assignRef; },\n/* harmony export */ createCallbackRef: function() { return /* reexport safe */ _createRef__WEBPACK_IMPORTED_MODULE_2__.createCallbackRef; },\n/* harmony export */ mergeRefs: function() { return /* reexport safe */ _mergeRef__WEBPACK_IMPORTED_MODULE_3__.mergeRefs; },\n/* harmony export */ refToCallback: function() { return /* reexport safe */ _refToCallback__WEBPACK_IMPORTED_MODULE_7__.refToCallback; },\n/* harmony export */ transformRef: function() { return /* reexport safe */ _transformRef__WEBPACK_IMPORTED_MODULE_6__.transformRef; },\n/* harmony export */ useCallbackRef: function() { return /* reexport safe */ _useRef__WEBPACK_IMPORTED_MODULE_1__.useCallbackRef; },\n/* harmony export */ useMergeRefs: function() { return /* reexport safe */ _useMergeRef__WEBPACK_IMPORTED_MODULE_4__.useMergeRefs; },\n/* harmony export */ useRefToCallback: function() { return /* reexport safe */ _refToCallback__WEBPACK_IMPORTED_MODULE_7__.useRefToCallback; },\n/* harmony export */ useTransformRef: function() { return /* reexport safe */ _useTransformRef__WEBPACK_IMPORTED_MODULE_5__.useTransformRef; }\n/* harmony export */ });\n/* harmony import */ var _assignRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assignRef */ \"./node_modules/use-callback-ref/dist/es2015/assignRef.js\");\n/* harmony import */ var _useRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useRef */ \"./node_modules/use-callback-ref/dist/es2015/useRef.js\");\n/* harmony import */ var _createRef__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRef */ \"./node_modules/use-callback-ref/dist/es2015/createRef.js\");\n/* harmony import */ var _mergeRef__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mergeRef */ \"./node_modules/use-callback-ref/dist/es2015/mergeRef.js\");\n/* harmony import */ var _useMergeRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useMergeRef */ \"./node_modules/use-callback-ref/dist/es2015/useMergeRef.js\");\n/* harmony import */ var _useTransformRef__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useTransformRef */ \"./node_modules/use-callback-ref/dist/es2015/useTransformRef.js\");\n/* harmony import */ var _transformRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./transformRef */ \"./node_modules/use-callback-ref/dist/es2015/transformRef.js\");\n/* harmony import */ var _refToCallback__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./refToCallback */ \"./node_modules/use-callback-ref/dist/es2015/refToCallback.js\");\n\n// callback ref\n\n\n// merge ref\n\n\n// transform ref\n\n\n// refToCallback\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF3QztBQUN4QztBQUMwQztBQUNNO0FBQ2hEO0FBQ3VDO0FBQ007QUFDN0M7QUFDb0Q7QUFDTjtBQUM5QztBQUNrRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9pbmRleC5qcz9mY2YyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGFzc2lnblJlZiB9IGZyb20gJy4vYXNzaWduUmVmJztcbi8vIGNhbGxiYWNrIHJlZlxuZXhwb3J0IHsgdXNlQ2FsbGJhY2tSZWYgfSBmcm9tICcuL3VzZVJlZic7XG5leHBvcnQgeyBjcmVhdGVDYWxsYmFja1JlZiB9IGZyb20gJy4vY3JlYXRlUmVmJztcbi8vIG1lcmdlIHJlZlxuZXhwb3J0IHsgbWVyZ2VSZWZzIH0gZnJvbSAnLi9tZXJnZVJlZic7XG5leHBvcnQgeyB1c2VNZXJnZVJlZnMgfSBmcm9tICcuL3VzZU1lcmdlUmVmJztcbi8vIHRyYW5zZm9ybSByZWZcbmV4cG9ydCB7IHVzZVRyYW5zZm9ybVJlZiB9IGZyb20gJy4vdXNlVHJhbnNmb3JtUmVmJztcbmV4cG9ydCB7IHRyYW5zZm9ybVJlZiB9IGZyb20gJy4vdHJhbnNmb3JtUmVmJztcbi8vIHJlZlRvQ2FsbGJhY2tcbmV4cG9ydCB7IHJlZlRvQ2FsbGJhY2ssIHVzZVJlZlRvQ2FsbGJhY2sgfSBmcm9tICcuL3JlZlRvQ2FsbGJhY2snO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/index.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/mergeRef.js": -/*!***************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/mergeRef.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mergeRefs: function() { return /* binding */ mergeRefs; }\n/* harmony export */ });\n/* harmony import */ var _assignRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignRef */ \"./node_modules/use-callback-ref/dist/es2015/assignRef.js\");\n/* harmony import */ var _createRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createRef */ \"./node_modules/use-callback-ref/dist/es2015/createRef.js\");\n\n\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link useMergeRefs} to be used in ReactComponents\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = mergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nfunction mergeRefs(refs) {\n return (0,_createRef__WEBPACK_IMPORTED_MODULE_0__.createCallbackRef)(function (newValue) { return refs.forEach(function (ref) { return (0,_assignRef__WEBPACK_IMPORTED_MODULE_1__.assignRef)(ref, newValue); }); });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9tZXJnZVJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0M7QUFDUTtBQUNoRDtBQUNBO0FBQ0EsV0FBVyxlQUFlO0FBQzFCLGFBQWEsa0JBQWtCLDhDQUE4QztBQUM3RTtBQUNBLFNBQVMsb0JBQW9CO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QyxzQkFBc0IsT0FBTztBQUM3QjtBQUNBO0FBQ087QUFDUCxXQUFXLDZEQUFpQix1QkFBdUIscUNBQXFDLE9BQU8scURBQVMsa0JBQWtCLElBQUk7QUFDOUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VzZS1jYWxsYmFjay1yZWYvZGlzdC9lczIwMTUvbWVyZ2VSZWYuanM/MGQwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NpZ25SZWYgfSBmcm9tICcuL2Fzc2lnblJlZic7XG5pbXBvcnQgeyBjcmVhdGVDYWxsYmFja1JlZiB9IGZyb20gJy4vY3JlYXRlUmVmJztcbi8qKlxuICogTWVyZ2VzIHR3byBvciBtb3JlIHJlZnMgdG9nZXRoZXIgcHJvdmlkaW5nIGEgc2luZ2xlIGludGVyZmFjZSB0byBzZXQgdGhlaXIgdmFsdWVcbiAqIEBwYXJhbSB7UmVmT2JqZWN0fFJlZn0gcmVmc1xuICogQHJldHVybnMge011dGFibGVSZWZPYmplY3R9IC0gYSBuZXcgcmVmLCB3aGljaCB0cmFuc2xhdGVzIGFsbCBjaGFuZ2VzIHRvIHtyZWZzfVxuICpcbiAqIEBzZWUge0BsaW5rIHVzZU1lcmdlUmVmc30gdG8gYmUgdXNlZCBpbiBSZWFjdENvbXBvbmVudHNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBDb21wb25lbnQgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gKiAgIGNvbnN0IG93blJlZiA9IHVzZVJlZigpO1xuICogICBjb25zdCBkb21SZWYgPSBtZXJnZVJlZnMoW3JlZiwgb3duUmVmXSk7IC8vIPCfkYggbWVyZ2UgdG9nZXRoZXJcbiAqICAgcmV0dXJuIDxkaXYgcmVmPXtkb21SZWZ9Pi4uLjwvZGl2PlxuICogfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VSZWZzKHJlZnMpIHtcbiAgICByZXR1cm4gY3JlYXRlQ2FsbGJhY2tSZWYoZnVuY3Rpb24gKG5ld1ZhbHVlKSB7IHJldHVybiByZWZzLmZvckVhY2goZnVuY3Rpb24gKHJlZikgeyByZXR1cm4gYXNzaWduUmVmKHJlZiwgbmV3VmFsdWUpOyB9KTsgfSk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/mergeRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/refToCallback.js": -/*!********************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/refToCallback.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ refToCallback: function() { return /* binding */ refToCallback; },\n/* harmony export */ useRefToCallback: function() { return /* binding */ useRefToCallback; }\n/* harmony export */ });\n/**\n * Unmemoized version of {@link useRefToCallback}\n * @see {@link useRefToCallback}\n * @param ref\n */\nfunction refToCallback(ref) {\n return function (newValue) {\n if (typeof ref === 'function') {\n ref(newValue);\n }\n else if (ref) {\n ref.current = newValue;\n }\n };\n}\nvar nullCallback = function () { return null; };\n// lets maintain a weak ref to, well, ref :)\n// not using `kashe` to keep this package small\nvar weakMem = new WeakMap();\nvar weakMemoize = function (ref) {\n var usedRef = ref || nullCallback;\n var storedRef = weakMem.get(usedRef);\n if (storedRef) {\n return storedRef;\n }\n var cb = refToCallback(usedRef);\n weakMem.set(usedRef, cb);\n return cb;\n};\n/**\n * Transforms a given `ref` into `callback`.\n *\n * To transform `callback` into ref use {@link useCallbackRef|useCallbackRef(undefined, callback)}\n *\n * @param {ReactRef} ref\n * @returns {Function}\n *\n * @see https://github.com/theKashey/use-callback-ref#reftocallback\n *\n * @example\n * const ref = useRef(0);\n * const setRef = useRefToCallback(ref);\n * 👉 setRef(10);\n * ✅ ref.current === 10\n */\nfunction useRefToCallback(ref) {\n return weakMemoize(ref);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS9yZWZUb0NhbGxiYWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSwwQkFBMEI7QUFDMUIsU0FBUztBQUNUO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBLFdBQVcsVUFBVTtBQUNyQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2UtY2FsbGJhY2stcmVmL2Rpc3QvZXMyMDE1L3JlZlRvQ2FsbGJhY2suanM/OWZmZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVubWVtb2l6ZWQgdmVyc2lvbiBvZiB7QGxpbmsgdXNlUmVmVG9DYWxsYmFja31cbiAqIEBzZWUge0BsaW5rIHVzZVJlZlRvQ2FsbGJhY2t9XG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWZUb0NhbGxiYWNrKHJlZikge1xuICAgIHJldHVybiBmdW5jdGlvbiAobmV3VmFsdWUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJlZihuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5ld1ZhbHVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbnZhciBudWxsQ2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBudWxsOyB9O1xuLy8gbGV0cyBtYWludGFpbiBhIHdlYWsgcmVmIHRvLCB3ZWxsLCByZWYgOilcbi8vIG5vdCB1c2luZyBga2FzaGVgIHRvIGtlZXAgdGhpcyBwYWNrYWdlIHNtYWxsXG52YXIgd2Vha01lbSA9IG5ldyBXZWFrTWFwKCk7XG52YXIgd2Vha01lbW9pemUgPSBmdW5jdGlvbiAocmVmKSB7XG4gICAgdmFyIHVzZWRSZWYgPSByZWYgfHwgbnVsbENhbGxiYWNrO1xuICAgIHZhciBzdG9yZWRSZWYgPSB3ZWFrTWVtLmdldCh1c2VkUmVmKTtcbiAgICBpZiAoc3RvcmVkUmVmKSB7XG4gICAgICAgIHJldHVybiBzdG9yZWRSZWY7XG4gICAgfVxuICAgIHZhciBjYiA9IHJlZlRvQ2FsbGJhY2sodXNlZFJlZik7XG4gICAgd2Vha01lbS5zZXQodXNlZFJlZiwgY2IpO1xuICAgIHJldHVybiBjYjtcbn07XG4vKipcbiAqIFRyYW5zZm9ybXMgYSBnaXZlbiBgcmVmYCBpbnRvIGBjYWxsYmFja2AuXG4gKlxuICogVG8gdHJhbnNmb3JtIGBjYWxsYmFja2AgaW50byByZWYgdXNlIHtAbGluayB1c2VDYWxsYmFja1JlZnx1c2VDYWxsYmFja1JlZih1bmRlZmluZWQsIGNhbGxiYWNrKX1cbiAqXG4gKiBAcGFyYW0ge1JlYWN0UmVmfSByZWZcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn1cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90aGVLYXNoZXkvdXNlLWNhbGxiYWNrLXJlZiNyZWZ0b2NhbGxiYWNrXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHJlZiA9IHVzZVJlZigwKTtcbiAqIGNvbnN0IHNldFJlZiA9IHVzZVJlZlRvQ2FsbGJhY2socmVmKTtcbiAqIPCfkYkgc2V0UmVmKDEwKTtcbiAqIOKchSByZWYuY3VycmVudCA9PT0gMTBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlZlRvQ2FsbGJhY2socmVmKSB7XG4gICAgcmV0dXJuIHdlYWtNZW1vaXplKHJlZik7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/refToCallback.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/transformRef.js": -/*!*******************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/transformRef.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ transformRef: function() { return /* binding */ transformRef; }\n/* harmony export */ });\n/* harmony import */ var _assignRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignRef */ \"./node_modules/use-callback-ref/dist/es2015/assignRef.js\");\n/* harmony import */ var _createRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createRef */ \"./node_modules/use-callback-ref/dist/es2015/createRef.js\");\n\n\n/**\n * Transforms one ref to another\n * @example\n * ```tsx\n * const ResizableWithRef = forwardRef((props, ref) =>\n * <Resizable {...props} ref={transformRef(ref, i => i ? i.resizable : null)}/>\n * );\n * ```\n */\nfunction transformRef(ref, transformer) {\n return (0,_createRef__WEBPACK_IMPORTED_MODULE_0__.createCallbackRef)(function (value) { return (0,_assignRef__WEBPACK_IMPORTED_MODULE_1__.assignRef)(ref, transformer(value)); });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS90cmFuc2Zvcm1SZWYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXdDO0FBQ1E7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixVQUFVLEtBQUssK0NBQStDO0FBQy9FO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsV0FBVyw2REFBaUIsb0JBQW9CLE9BQU8scURBQVMsNEJBQTRCO0FBQzVGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2UtY2FsbGJhY2stcmVmL2Rpc3QvZXMyMDE1L3RyYW5zZm9ybVJlZi5qcz83ZGM4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2lnblJlZiB9IGZyb20gJy4vYXNzaWduUmVmJztcbmltcG9ydCB7IGNyZWF0ZUNhbGxiYWNrUmVmIH0gZnJvbSAnLi9jcmVhdGVSZWYnO1xuLyoqXG4gKiBUcmFuc2Zvcm1zIG9uZSByZWYgdG8gYW5vdGhlclxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgUmVzaXphYmxlV2l0aFJlZiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+XG4gKiAgIDxSZXNpemFibGUgey4uLnByb3BzfSByZWY9e3RyYW5zZm9ybVJlZihyZWYsIGkgPT4gaSA/IGkucmVzaXphYmxlIDogbnVsbCl9Lz5cbiAqICk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVJlZihyZWYsIHRyYW5zZm9ybWVyKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNhbGxiYWNrUmVmKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gYXNzaWduUmVmKHJlZiwgdHJhbnNmb3JtZXIodmFsdWUpKTsgfSk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/transformRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/useMergeRef.js": -/*!******************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/useMergeRef.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useMergeRefs: function() { return /* binding */ useMergeRefs; }\n/* harmony export */ });\n/* harmony import */ var _assignRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignRef */ \"./node_modules/use-callback-ref/dist/es2015/assignRef.js\");\n/* harmony import */ var _useRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useRef */ \"./node_modules/use-callback-ref/dist/es2015/useRef.js\");\n\n\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nfunction useMergeRefs(refs, defaultValue) {\n return (0,_useRef__WEBPACK_IMPORTED_MODULE_0__.useCallbackRef)(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return (0,_assignRef__WEBPACK_IMPORTED_MODULE_1__.assignRef)(ref, newValue); }); });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS91c2VNZXJnZVJlZi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0M7QUFDRTtBQUMxQztBQUNBO0FBQ0EsV0FBVyxlQUFlO0FBQzFCLGFBQWEsa0JBQWtCLDhDQUE4QztBQUM3RTtBQUNBLFNBQVMsaUJBQWlCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pELHNCQUFzQixPQUFPO0FBQzdCO0FBQ0E7QUFDTztBQUNQLFdBQVcsdURBQWMsNkNBQTZDLHFDQUFxQyxPQUFPLHFEQUFTLGtCQUFrQixJQUFJO0FBQ2pKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2UtY2FsbGJhY2stcmVmL2Rpc3QvZXMyMDE1L3VzZU1lcmdlUmVmLmpzPzlmNTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzaWduUmVmIH0gZnJvbSAnLi9hc3NpZ25SZWYnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYgfSBmcm9tICcuL3VzZVJlZic7XG4vKipcbiAqIE1lcmdlcyB0d28gb3IgbW9yZSByZWZzIHRvZ2V0aGVyIHByb3ZpZGluZyBhIHNpbmdsZSBpbnRlcmZhY2UgdG8gc2V0IHRoZWlyIHZhbHVlXG4gKiBAcGFyYW0ge1JlZk9iamVjdHxSZWZ9IHJlZnNcbiAqIEByZXR1cm5zIHtNdXRhYmxlUmVmT2JqZWN0fSAtIGEgbmV3IHJlZiwgd2hpY2ggdHJhbnNsYXRlcyBhbGwgY2hhbmdlcyB0byB7cmVmc31cbiAqXG4gKiBAc2VlIHtAbGluayBtZXJnZVJlZnN9IGEgdmVyc2lvbiB3aXRob3V0IGJ1aXQtaW4gbWVtb2l6YXRpb25cbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS91c2UtY2FsbGJhY2stcmVmI3VzZW1lcmdlcmVmc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IENvbXBvbmVudCA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAqICAgY29uc3Qgb3duUmVmID0gdXNlUmVmKCk7XG4gKiAgIGNvbnN0IGRvbVJlZiA9IHVzZU1lcmdlUmVmcyhbcmVmLCBvd25SZWZdKTsgLy8g8J+RiCBtZXJnZSB0b2dldGhlclxuICogICByZXR1cm4gPGRpdiByZWY9e2RvbVJlZn0+Li4uPC9kaXY+XG4gKiB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNZXJnZVJlZnMocmVmcywgZGVmYXVsdFZhbHVlKSB7XG4gICAgcmV0dXJuIHVzZUNhbGxiYWNrUmVmKGRlZmF1bHRWYWx1ZSB8fCBudWxsLCBmdW5jdGlvbiAobmV3VmFsdWUpIHsgcmV0dXJuIHJlZnMuZm9yRWFjaChmdW5jdGlvbiAocmVmKSB7IHJldHVybiBhc3NpZ25SZWYocmVmLCBuZXdWYWx1ZSk7IH0pOyB9KTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/useMergeRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/useRef.js": -/*!*************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/useRef.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useCallbackRef: function() { return /* binding */ useCallbackRef; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nfunction useCallbackRef(initialValue, callback) {\n var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS91c2VSZWYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLFdBQVcsVUFBVTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ087QUFDUCxjQUFjLCtDQUFRLGVBQWU7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUssSUFBSTtBQUNUO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2UtY2FsbGJhY2stcmVmL2Rpc3QvZXMyMDE1L3VzZVJlZi5qcz8zODlkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBjcmVhdGVzIGEgTXV0YWJsZVJlZiB3aXRoIHJlZiBjaGFuZ2UgY2FsbGJhY2tcbiAqIEBwYXJhbSBpbml0aWFsVmFsdWUgLSBpbml0aWFsIHJlZiB2YWx1ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgLSBhIGNhbGxiYWNrIHRvIHJ1biB3aGVuIHZhbHVlIGNoYW5nZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcmVmID0gdXNlQ2FsbGJhY2tSZWYoMCwgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gY29uc29sZS5sb2cob2xkVmFsdWUsICctPicsIG5ld1ZhbHVlKTtcbiAqIHJlZi5jdXJyZW50ID0gMTtcbiAqIC8vIHByaW50cyAwIC0+IDFcbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9ob29rcy1yZWZlcmVuY2UuaHRtbCN1c2VyZWZcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS91c2UtY2FsbGJhY2stcmVmI3VzZWNhbGxiYWNrcmVmLS0tdG8tcmVwbGFjZS1yZWFjdHVzZXJlZlxuICogQHJldHVybnMge011dGFibGVSZWZPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDYWxsYmFja1JlZihpbml0aWFsVmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHJlZiA9IHVzZVN0YXRlKGZ1bmN0aW9uICgpIHsgcmV0dXJuICh7XG4gICAgICAgIC8vIHZhbHVlXG4gICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgIC8vIGxhc3QgY2FsbGJhY2tcbiAgICAgICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgICAgICAvLyBcIm1lbW9pemVkXCIgcHVibGljIGludGVyZmFjZVxuICAgICAgICBmYWNhZGU6IHtcbiAgICAgICAgICAgIGdldCBjdXJyZW50KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWYudmFsdWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0IGN1cnJlbnQodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YXIgbGFzdCA9IHJlZi52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAobGFzdCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5jYWxsYmFjayh2YWx1ZSwgbGFzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9KTsgfSlbMF07XG4gICAgLy8gdXBkYXRlIGNhbGxiYWNrXG4gICAgcmVmLmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgcmV0dXJuIHJlZi5mYWNhZGU7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/useRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-callback-ref/dist/es2015/useTransformRef.js": -/*!**********************************************************************!*\ - !*** ./node_modules/use-callback-ref/dist/es2015/useTransformRef.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useTransformRef: function() { return /* binding */ useTransformRef; }\n/* harmony export */ });\n/* harmony import */ var _assignRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assignRef */ \"./node_modules/use-callback-ref/dist/es2015/assignRef.js\");\n/* harmony import */ var _useRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useRef */ \"./node_modules/use-callback-ref/dist/es2015/useRef.js\");\n\n\n/**\n * Create a _lense_ on Ref, making it possible to transform ref value\n * @param {ReactRef} ref\n * @param {Function} transformer. 👉 Ref would be __NOT updated__ on `transformer` update.\n * @returns {RefObject}\n *\n * @see https://github.com/theKashey/use-callback-ref#usetransformref-to-replace-reactuseimperativehandle\n * @example\n *\n * const ResizableWithRef = forwardRef((props, ref) =>\n * <Resizable {...props} ref={useTransformRef(ref, i => i ? i.resizable : null)}/>\n * );\n */\nfunction useTransformRef(ref, transformer) {\n return (0,_useRef__WEBPACK_IMPORTED_MODULE_0__.useCallbackRef)(null, function (value) { return (0,_assignRef__WEBPACK_IMPORTED_MODULE_1__.assignRef)(ref, transformer(value)); });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS91c2VUcmFuc2Zvcm1SZWYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXdDO0FBQ0U7QUFDMUM7QUFDQTtBQUNBLFdBQVcsVUFBVTtBQUNyQixXQUFXLFVBQVU7QUFDckIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsVUFBVSxLQUFLLGtEQUFrRDtBQUNqRjtBQUNBO0FBQ087QUFDUCxXQUFXLHVEQUFjLDBCQUEwQixPQUFPLHFEQUFTLDRCQUE0QjtBQUMvRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXNlLWNhbGxiYWNrLXJlZi9kaXN0L2VzMjAxNS91c2VUcmFuc2Zvcm1SZWYuanM/NWYxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NpZ25SZWYgfSBmcm9tICcuL2Fzc2lnblJlZic7XG5pbXBvcnQgeyB1c2VDYWxsYmFja1JlZiB9IGZyb20gJy4vdXNlUmVmJztcbi8qKlxuICogQ3JlYXRlIGEgX2xlbnNlXyBvbiBSZWYsIG1ha2luZyBpdCBwb3NzaWJsZSB0byB0cmFuc2Zvcm0gcmVmIHZhbHVlXG4gKiBAcGFyYW0ge1JlYWN0UmVmfSByZWZcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybWVyLiDwn5GJIFJlZiB3b3VsZCBiZSBfX05PVCB1cGRhdGVkX18gb24gYHRyYW5zZm9ybWVyYCB1cGRhdGUuXG4gKiBAcmV0dXJucyB7UmVmT2JqZWN0fVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS91c2UtY2FsbGJhY2stcmVmI3VzZXRyYW5zZm9ybXJlZi10by1yZXBsYWNlLXJlYWN0dXNlaW1wZXJhdGl2ZWhhbmRsZVxuICogQGV4YW1wbGVcbiAqXG4gKiBjb25zdCBSZXNpemFibGVXaXRoUmVmID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT5cbiAqICA8UmVzaXphYmxlIHsuLi5wcm9wc30gcmVmPXt1c2VUcmFuc2Zvcm1SZWYocmVmLCBpID0+IGkgPyBpLnJlc2l6YWJsZSA6IG51bGwpfS8+XG4gKiApO1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVHJhbnNmb3JtUmVmKHJlZiwgdHJhbnNmb3JtZXIpIHtcbiAgICByZXR1cm4gdXNlQ2FsbGJhY2tSZWYobnVsbCwgZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBhc3NpZ25SZWYocmVmLCB0cmFuc2Zvcm1lcih2YWx1ZSkpOyB9KTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-callback-ref/dist/es2015/useTransformRef.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/config.js": -/*!********************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/config.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: function() { return /* binding */ config; },\n/* harmony export */ setConfig: function() { return /* binding */ setConfig; }\n/* harmony export */ });\nvar config = {\n onError: function (e) { return console.error(e); },\n};\nvar setConfig = function (conf) {\n Object.assign(config, conf);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvY29uZmlnLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUCw0QkFBNEIsMEJBQTBCO0FBQ3REO0FBQ087QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc2lkZWNhci9kaXN0L2VzMjAxNS9jb25maWcuanM/YzFmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIGNvbmZpZyA9IHtcbiAgICBvbkVycm9yOiBmdW5jdGlvbiAoZSkgeyByZXR1cm4gY29uc29sZS5lcnJvcihlKTsgfSxcbn07XG5leHBvcnQgdmFyIHNldENvbmZpZyA9IGZ1bmN0aW9uIChjb25mKSB7XG4gICAgT2JqZWN0LmFzc2lnbihjb25maWcsIGNvbmYpO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/config.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/env.js": -/*!*****************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/env.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: function() { return /* binding */ env; }\n/* harmony export */ });\n/* harmony import */ var detect_node_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! detect-node-es */ \"./node_modules/detect-node-es/esm/browser.js\");\n\nvar env = {\n isNode: detect_node_es__WEBPACK_IMPORTED_MODULE_0__.isNode,\n forceCache: false,\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvZW52LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXdDO0FBQ2pDO0FBQ1AsWUFBWSxrREFBTTtBQUNsQjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc2lkZWNhci9kaXN0L2VzMjAxNS9lbnYuanM/YzllZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc05vZGUgfSBmcm9tICdkZXRlY3Qtbm9kZS1lcyc7XG5leHBvcnQgdmFyIGVudiA9IHtcbiAgICBpc05vZGU6IGlzTm9kZSxcbiAgICBmb3JjZUNhY2hlOiBmYWxzZSxcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/env.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/exports.js": -/*!*********************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/exports.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ exportSidecar: function() { return /* binding */ exportSidecar; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__rest)(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Target, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({}, rest));\n};\nSideCar.isSideCarExport = true;\nfunction exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvZXhwb3J0cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXlDO0FBQ1Y7QUFDL0I7QUFDQSxxQ0FBcUMsNkNBQU07QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdEQUFtQixTQUFTLCtDQUFRLEdBQUc7QUFDbEQ7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc2lkZWNhci9kaXN0L2VzMjAxNS9leHBvcnRzLmpzPzdkMGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xudmFyIFNpZGVDYXIgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgc2lkZUNhciA9IF9hLnNpZGVDYXIsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInNpZGVDYXJcIl0pO1xuICAgIGlmICghc2lkZUNhcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NpZGVjYXI6IHBsZWFzZSBwcm92aWRlIGBzaWRlQ2FyYCBwcm9wZXJ0eSB0byBpbXBvcnQgdGhlIHJpZ2h0IGNhcicpO1xuICAgIH1cbiAgICB2YXIgVGFyZ2V0ID0gc2lkZUNhci5yZWFkKCk7XG4gICAgaWYgKCFUYXJnZXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWRlY2FyIG1lZGl1bSBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFyZ2V0LCBfX2Fzc2lnbih7fSwgcmVzdCkpO1xufTtcblNpZGVDYXIuaXNTaWRlQ2FyRXhwb3J0ID0gdHJ1ZTtcbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRTaWRlY2FyKG1lZGl1bSwgZXhwb3J0ZWQpIHtcbiAgICBtZWRpdW0udXNlTWVkaXVtKGV4cG9ydGVkKTtcbiAgICByZXR1cm4gU2lkZUNhcjtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/exports.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/hoc.js": -/*!*****************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/hoc.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sidecar: function() { return /* binding */ sidecar; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hook */ \"./node_modules/use-sidecar/dist/es2015/hook.js\");\n\n\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction sidecar(importer, errorComponent) {\n var ErrorCase = function () { return errorComponent; };\n return function Sidecar(props) {\n var _a = (0,_hook__WEBPACK_IMPORTED_MODULE_1__.useSidecar)(importer, props.sideCar), Car = _a[0], error = _a[1];\n if (error && errorComponent) {\n return ErrorCase;\n }\n // @ts-expect-error type shenanigans\n return Car ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(Car, (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, props)) : null;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvaG9jLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWlDO0FBQ0Y7QUFDSztBQUNwQztBQUNPO0FBQ1Asa0NBQWtDO0FBQ2xDO0FBQ0EsaUJBQWlCLGlEQUFVO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGdEQUFtQixNQUFNLCtDQUFRLEdBQUc7QUFDekQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvaG9jLmpzP2QxZmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24gfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVNpZGVjYXIgfSBmcm9tICcuL2hvb2snO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbmV4cG9ydCBmdW5jdGlvbiBzaWRlY2FyKGltcG9ydGVyLCBlcnJvckNvbXBvbmVudCkge1xuICAgIHZhciBFcnJvckNhc2UgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBlcnJvckNvbXBvbmVudDsgfTtcbiAgICByZXR1cm4gZnVuY3Rpb24gU2lkZWNhcihwcm9wcykge1xuICAgICAgICB2YXIgX2EgPSB1c2VTaWRlY2FyKGltcG9ydGVyLCBwcm9wcy5zaWRlQ2FyKSwgQ2FyID0gX2FbMF0sIGVycm9yID0gX2FbMV07XG4gICAgICAgIGlmIChlcnJvciAmJiBlcnJvckNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIEVycm9yQ2FzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHR5cGUgc2hlbmFuaWdhbnNcbiAgICAgICAgcmV0dXJuIENhciA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2FyLCBfX2Fzc2lnbih7fSwgcHJvcHMpKSA6IG51bGw7XG4gICAgfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/hoc.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/hook.js": -/*!******************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/hook.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSidecar: function() { return /* binding */ useSidecar; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./env */ \"./node_modules/use-sidecar/dist/es2015/env.js\");\n\n\nvar cache = new WeakMap();\nvar NO_OPTIONS = {};\nfunction useSidecar(importer, effect) {\n var options = (effect && effect.options) || NO_OPTIONS;\n if (_env__WEBPACK_IMPORTED_MODULE_1__.env.isNode && !options.ssr) {\n return [null, null];\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useRealSidecar(importer, effect);\n}\nfunction useRealSidecar(importer, effect) {\n var options = (effect && effect.options) || NO_OPTIONS;\n var couldUseCache = _env__WEBPACK_IMPORTED_MODULE_1__.env.forceCache || (_env__WEBPACK_IMPORTED_MODULE_1__.env.isNode && !!options.ssr) || !options.async;\n var _a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(couldUseCache ? function () { return cache.get(importer); } : undefined), Car = _a[0], setCar = _a[1];\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), error = _b[0], setError = _b[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (!Car) {\n importer().then(function (car) {\n var resolved = effect ? effect.read() : car.default || car;\n if (!resolved) {\n console.error('Sidecar error: with importer', importer);\n var error_1;\n if (effect) {\n console.error('Sidecar error: with medium', effect);\n error_1 = new Error('Sidecar medium was not found');\n }\n else {\n error_1 = new Error('Sidecar was not found in exports');\n }\n setError(function () { return error_1; });\n throw error_1;\n }\n cache.set(importer, resolved);\n setCar(function () { return resolved; });\n }, function (e) { return setError(function () { return e; }); });\n }\n }, []);\n return [Car, error];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvaG9vay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ2hCO0FBQzVCO0FBQ0E7QUFDTztBQUNQO0FBQ0EsUUFBUSxxQ0FBRztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFDQUFHLGdCQUFnQixxQ0FBRztBQUM5QyxhQUFhLCtDQUFRLCtCQUErQiw4QkFBOEI7QUFDbEYsYUFBYSwrQ0FBUTtBQUNyQixJQUFJLGdEQUFTO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsaUJBQWlCO0FBQzVEO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxrQkFBa0I7QUFDdkQsYUFBYSxpQkFBaUIsOEJBQThCLFdBQVcsSUFBSTtBQUMzRTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc2lkZWNhci9kaXN0L2VzMjAxNS9ob29rLmpzPzgyY2QiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGVudiB9IGZyb20gJy4vZW52JztcbnZhciBjYWNoZSA9IG5ldyBXZWFrTWFwKCk7XG52YXIgTk9fT1BUSU9OUyA9IHt9O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVNpZGVjYXIoaW1wb3J0ZXIsIGVmZmVjdCkge1xuICAgIHZhciBvcHRpb25zID0gKGVmZmVjdCAmJiBlZmZlY3Qub3B0aW9ucykgfHwgTk9fT1BUSU9OUztcbiAgICBpZiAoZW52LmlzTm9kZSAmJiAhb3B0aW9ucy5zc3IpIHtcbiAgICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgcmV0dXJuIHVzZVJlYWxTaWRlY2FyKGltcG9ydGVyLCBlZmZlY3QpO1xufVxuZnVuY3Rpb24gdXNlUmVhbFNpZGVjYXIoaW1wb3J0ZXIsIGVmZmVjdCkge1xuICAgIHZhciBvcHRpb25zID0gKGVmZmVjdCAmJiBlZmZlY3Qub3B0aW9ucykgfHwgTk9fT1BUSU9OUztcbiAgICB2YXIgY291bGRVc2VDYWNoZSA9IGVudi5mb3JjZUNhY2hlIHx8IChlbnYuaXNOb2RlICYmICEhb3B0aW9ucy5zc3IpIHx8ICFvcHRpb25zLmFzeW5jO1xuICAgIHZhciBfYSA9IHVzZVN0YXRlKGNvdWxkVXNlQ2FjaGUgPyBmdW5jdGlvbiAoKSB7IHJldHVybiBjYWNoZS5nZXQoaW1wb3J0ZXIpOyB9IDogdW5kZWZpbmVkKSwgQ2FyID0gX2FbMF0sIHNldENhciA9IF9hWzFdO1xuICAgIHZhciBfYiA9IHVzZVN0YXRlKG51bGwpLCBlcnJvciA9IF9iWzBdLCBzZXRFcnJvciA9IF9iWzFdO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghQ2FyKSB7XG4gICAgICAgICAgICBpbXBvcnRlcigpLnRoZW4oZnVuY3Rpb24gKGNhcikge1xuICAgICAgICAgICAgICAgIHZhciByZXNvbHZlZCA9IGVmZmVjdCA/IGVmZmVjdC5yZWFkKCkgOiBjYXIuZGVmYXVsdCB8fCBjYXI7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdTaWRlY2FyIGVycm9yOiB3aXRoIGltcG9ydGVyJywgaW1wb3J0ZXIpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXJyb3JfMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVmZmVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignU2lkZWNhciBlcnJvcjogd2l0aCBtZWRpdW0nLCBlZmZlY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfMSA9IG5ldyBFcnJvcignU2lkZWNhciBtZWRpdW0gd2FzIG5vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfMSA9IG5ldyBFcnJvcignU2lkZWNhciB3YXMgbm90IGZvdW5kIGluIGV4cG9ydHMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcihmdW5jdGlvbiAoKSB7IHJldHVybiBlcnJvcl8xOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3JfMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FjaGUuc2V0KGltcG9ydGVyLCByZXNvbHZlZCk7XG4gICAgICAgICAgICAgICAgc2V0Q2FyKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmVkOyB9KTtcbiAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChlKSB7IHJldHVybiBzZXRFcnJvcihmdW5jdGlvbiAoKSB7IHJldHVybiBlOyB9KTsgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtDYXIsIGVycm9yXTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/hook.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/index.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createMedium: function() { return /* reexport safe */ _medium__WEBPACK_IMPORTED_MODULE_3__.createMedium; },\n/* harmony export */ createSidecarMedium: function() { return /* reexport safe */ _medium__WEBPACK_IMPORTED_MODULE_3__.createSidecarMedium; },\n/* harmony export */ exportSidecar: function() { return /* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_5__.exportSidecar; },\n/* harmony export */ renderCar: function() { return /* reexport safe */ _renderProp__WEBPACK_IMPORTED_MODULE_4__.renderCar; },\n/* harmony export */ setConfig: function() { return /* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_2__.setConfig; },\n/* harmony export */ sidecar: function() { return /* reexport safe */ _hoc__WEBPACK_IMPORTED_MODULE_0__.sidecar; },\n/* harmony export */ useSidecar: function() { return /* reexport safe */ _hook__WEBPACK_IMPORTED_MODULE_1__.useSidecar; }\n/* harmony export */ });\n/* harmony import */ var _hoc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hoc */ \"./node_modules/use-sidecar/dist/es2015/hoc.js\");\n/* harmony import */ var _hook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hook */ \"./node_modules/use-sidecar/dist/es2015/hook.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./config */ \"./node_modules/use-sidecar/dist/es2015/config.js\");\n/* harmony import */ var _medium__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./medium */ \"./node_modules/use-sidecar/dist/es2015/medium.js\");\n/* harmony import */ var _renderProp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./renderProp */ \"./node_modules/use-sidecar/dist/es2015/renderProp.js\");\n/* harmony import */ var _exports__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./exports */ \"./node_modules/use-sidecar/dist/es2015/exports.js\");\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFnQztBQUNJO0FBQ0M7QUFDd0I7QUFDcEI7QUFDQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvaW5kZXguanM/ZDAxNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBzaWRlY2FyIH0gZnJvbSAnLi9ob2MnO1xuZXhwb3J0IHsgdXNlU2lkZWNhciB9IGZyb20gJy4vaG9vayc7XG5leHBvcnQgeyBzZXRDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgeyBjcmVhdGVNZWRpdW0sIGNyZWF0ZVNpZGVjYXJNZWRpdW0gfSBmcm9tICcuL21lZGl1bSc7XG5leHBvcnQgeyByZW5kZXJDYXIgfSBmcm9tICcuL3JlbmRlclByb3AnO1xuZXhwb3J0IHsgZXhwb3J0U2lkZWNhciB9IGZyb20gJy4vZXhwb3J0cyc7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/index.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/medium.js": -/*!********************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/medium.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createMedium: function() { return /* binding */ createMedium; },\n/* harmony export */ createSidecarMedium: function() { return /* binding */ createSidecarMedium; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nfunction createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({ async: true, ssr: false }, options);\n return medium;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvbWVkaXVtLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0RBQXNELG9CQUFvQjtBQUMxRTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGVBQWU7QUFDcEQsc0NBQXNDLGdCQUFnQjtBQUN0RDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsOEJBQThCO0FBQzlCO0FBQ0EscUJBQXFCLCtDQUFRLEdBQUcseUJBQXlCO0FBQ3pEO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VzZS1zaWRlY2FyL2Rpc3QvZXMyMDE1L21lZGl1bS5qcz9kOWVjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG5mdW5jdGlvbiBJdG9JKGEpIHtcbiAgICByZXR1cm4gYTtcbn1cbmZ1bmN0aW9uIGlubmVyQ3JlYXRlTWVkaXVtKGRlZmF1bHRzLCBtaWRkbGV3YXJlKSB7XG4gICAgaWYgKG1pZGRsZXdhcmUgPT09IHZvaWQgMCkgeyBtaWRkbGV3YXJlID0gSXRvSTsgfVxuICAgIHZhciBidWZmZXIgPSBbXTtcbiAgICB2YXIgYXNzaWduZWQgPSBmYWxzZTtcbiAgICB2YXIgbWVkaXVtID0ge1xuICAgICAgICByZWFkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoYXNzaWduZWQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NpZGVjYXI6IGNvdWxkIG5vdCBgcmVhZGAgZnJvbSBhbiBgYXNzaWduZWRgIG1lZGl1bS4gYHJlYWRgIGNvdWxkIGJlIHVzZWQgb25seSB3aXRoIGB1c2VNZWRpdW1gLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYnVmZmVyW2J1ZmZlci5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0cztcbiAgICAgICAgfSxcbiAgICAgICAgdXNlTWVkaXVtOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgdmFyIGl0ZW0gPSBtaWRkbGV3YXJlKGRhdGEsIGFzc2lnbmVkKTtcbiAgICAgICAgICAgIGJ1ZmZlci5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBidWZmZXIgPSBidWZmZXIuZmlsdGVyKGZ1bmN0aW9uICh4KSB7IHJldHVybiB4ICE9PSBpdGVtOyB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIGFzc2lnblN5bmNNZWRpdW06IGZ1bmN0aW9uIChjYikge1xuICAgICAgICAgICAgYXNzaWduZWQgPSB0cnVlO1xuICAgICAgICAgICAgd2hpbGUgKGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB2YXIgY2JzID0gYnVmZmVyO1xuICAgICAgICAgICAgICAgIGJ1ZmZlciA9IFtdO1xuICAgICAgICAgICAgICAgIGNicy5mb3JFYWNoKGNiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ1ZmZlciA9IHtcbiAgICAgICAgICAgICAgICBwdXNoOiBmdW5jdGlvbiAoeCkgeyByZXR1cm4gY2IoeCk7IH0sXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBmdW5jdGlvbiAoKSB7IHJldHVybiBidWZmZXI7IH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBhc3NpZ25NZWRpdW06IGZ1bmN0aW9uIChjYikge1xuICAgICAgICAgICAgYXNzaWduZWQgPSB0cnVlO1xuICAgICAgICAgICAgdmFyIHBlbmRpbmdRdWV1ZSA9IFtdO1xuICAgICAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB2YXIgY2JzID0gYnVmZmVyO1xuICAgICAgICAgICAgICAgIGJ1ZmZlciA9IFtdO1xuICAgICAgICAgICAgICAgIGNicy5mb3JFYWNoKGNiKTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nUXVldWUgPSBidWZmZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZXhlY3V0ZVF1ZXVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBjYnMgPSBwZW5kaW5nUXVldWU7XG4gICAgICAgICAgICAgICAgcGVuZGluZ1F1ZXVlID0gW107XG4gICAgICAgICAgICAgICAgY2JzLmZvckVhY2goY2IpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHZhciBjeWNsZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZXhlY3V0ZVF1ZXVlKTsgfTtcbiAgICAgICAgICAgIGN5Y2xlKCk7XG4gICAgICAgICAgICBidWZmZXIgPSB7XG4gICAgICAgICAgICAgICAgcHVzaDogZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ1F1ZXVlLnB1c2goeCk7XG4gICAgICAgICAgICAgICAgICAgIGN5Y2xlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZ1bmN0aW9uIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGVuZGluZ1F1ZXVlID0gcGVuZGluZ1F1ZXVlLmZpbHRlcihmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIG1lZGl1bTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNZWRpdW0oZGVmYXVsdHMsIG1pZGRsZXdhcmUpIHtcbiAgICBpZiAobWlkZGxld2FyZSA9PT0gdm9pZCAwKSB7IG1pZGRsZXdhcmUgPSBJdG9JOyB9XG4gICAgcmV0dXJuIGlubmVyQ3JlYXRlTWVkaXVtKGRlZmF1bHRzLCBtaWRkbGV3YXJlKTtcbn1cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2lkZWNhck1lZGl1bShvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgeyBvcHRpb25zID0ge307IH1cbiAgICB2YXIgbWVkaXVtID0gaW5uZXJDcmVhdGVNZWRpdW0obnVsbCk7XG4gICAgbWVkaXVtLm9wdGlvbnMgPSBfX2Fzc2lnbih7IGFzeW5jOiB0cnVlLCBzc3I6IGZhbHNlIH0sIG9wdGlvbnMpO1xuICAgIHJldHVybiBtZWRpdW07XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/medium.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sidecar/dist/es2015/renderProp.js": -/*!************************************************************!*\ - !*** ./node_modules/use-sidecar/dist/es2015/renderProp.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderCar: function() { return /* binding */ renderCar; }\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\n\nfunction renderCar(WrappedComponent, defaults) {\n function State(_a) {\n var stateRef = _a.stateRef, props = _a.props;\n var renderTarget = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function SideTarget() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(function () {\n stateRef.current(args);\n });\n return null;\n }, []);\n // @ts-ignore\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(WrappedComponent, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({}, props, { children: renderTarget }));\n }\n var Children = react__WEBPACK_IMPORTED_MODULE_0__.memo(function (_a) {\n var stateRef = _a.stateRef, defaultState = _a.defaultState, children = _a.children;\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(defaultState.current), state = _b[0], setState = _b[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n stateRef.current = setState;\n }, []);\n return children.apply(void 0, state);\n }, function () { return true; });\n return function Combiner(props) {\n var defaultState = react__WEBPACK_IMPORTED_MODULE_0__.useRef(defaults(props));\n var ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(function (state) { return (defaultState.current = state); });\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(State, { stateRef: ref, props: props }),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(Children, { stateRef: ref, defaultState: defaultState, children: props.children })));\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXNpZGVjYXIvZGlzdC9lczIwMTUvcmVuZGVyUHJvcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWlDO0FBQ0Y7QUFDMkM7QUFDbkU7QUFDUDtBQUNBO0FBQ0EsMkJBQTJCLGtEQUFXO0FBQ3RDO0FBQ0EsNkJBQTZCLHVCQUF1QjtBQUNwRDtBQUNBO0FBQ0EsWUFBWSxzREFBZTtBQUMzQjtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBLGVBQWUsZ0RBQW1CLG1CQUFtQiwrQ0FBUSxHQUFHLFdBQVcsd0JBQXdCO0FBQ25HO0FBQ0EsbUJBQW1CLHVDQUFVO0FBQzdCO0FBQ0EsaUJBQWlCLCtDQUFRO0FBQ3pCLFFBQVEsZ0RBQVM7QUFDakI7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLLGdCQUFnQixjQUFjO0FBQ25DO0FBQ0EsMkJBQTJCLHlDQUFZO0FBQ3ZDLGtCQUFrQix5Q0FBWSxvQkFBb0Isd0NBQXdDO0FBQzFGLGdCQUFnQixnREFBbUIsQ0FBQywyQ0FBYztBQUNsRCxZQUFZLGdEQUFtQixVQUFVLDZCQUE2QjtBQUN0RSxZQUFZLGdEQUFtQixhQUFhLHFFQUFxRTtBQUNqSDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc2lkZWNhci9kaXN0L2VzMjAxNS9yZW5kZXJQcm9wLmpzP2ZjODciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24gfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQ2FyKFdyYXBwZWRDb21wb25lbnQsIGRlZmF1bHRzKSB7XG4gICAgZnVuY3Rpb24gU3RhdGUoX2EpIHtcbiAgICAgICAgdmFyIHN0YXRlUmVmID0gX2Euc3RhdGVSZWYsIHByb3BzID0gX2EucHJvcHM7XG4gICAgICAgIHZhciByZW5kZXJUYXJnZXQgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiBTaWRlVGFyZ2V0KCkge1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZVJlZi5jdXJyZW50KGFyZ3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSwgW10pO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFdyYXBwZWRDb21wb25lbnQsIF9fYXNzaWduKHt9LCBwcm9wcywgeyBjaGlsZHJlbjogcmVuZGVyVGFyZ2V0IH0pKTtcbiAgICB9XG4gICAgdmFyIENoaWxkcmVuID0gUmVhY3QubWVtbyhmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgdmFyIHN0YXRlUmVmID0gX2Euc3RhdGVSZWYsIGRlZmF1bHRTdGF0ZSA9IF9hLmRlZmF1bHRTdGF0ZSwgY2hpbGRyZW4gPSBfYS5jaGlsZHJlbjtcbiAgICAgICAgdmFyIF9iID0gdXNlU3RhdGUoZGVmYXVsdFN0YXRlLmN1cnJlbnQpLCBzdGF0ZSA9IF9iWzBdLCBzZXRTdGF0ZSA9IF9iWzFdO1xuICAgICAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc3RhdGVSZWYuY3VycmVudCA9IHNldFN0YXRlO1xuICAgICAgICB9LCBbXSk7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbi5hcHBseSh2b2lkIDAsIHN0YXRlKTtcbiAgICB9LCBmdW5jdGlvbiAoKSB7IHJldHVybiB0cnVlOyB9KTtcbiAgICByZXR1cm4gZnVuY3Rpb24gQ29tYmluZXIocHJvcHMpIHtcbiAgICAgICAgdmFyIGRlZmF1bHRTdGF0ZSA9IFJlYWN0LnVzZVJlZihkZWZhdWx0cyhwcm9wcykpO1xuICAgICAgICB2YXIgcmVmID0gUmVhY3QudXNlUmVmKGZ1bmN0aW9uIChzdGF0ZSkgeyByZXR1cm4gKGRlZmF1bHRTdGF0ZS5jdXJyZW50ID0gc3RhdGUpOyB9KTtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdGF0ZSwgeyBzdGF0ZVJlZjogcmVmLCBwcm9wczogcHJvcHMgfSksXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoaWxkcmVuLCB7IHN0YXRlUmVmOiByZWYsIGRlZmF1bHRTdGF0ZTogZGVmYXVsdFN0YXRlLCBjaGlsZHJlbjogcHJvcHMuY2hpbGRyZW4gfSkpKTtcbiAgICB9O1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/use-sidecar/dist/es2015/renderProp.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js ***! - \**********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvY2pzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlLXNoaW0uZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLElBQUksSUFBcUM7QUFDekM7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtQkFBTyxDQUFDLDRDQUFPOztBQUVyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpR0FBaUcsZUFBZTtBQUNoSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxLQUFLO0FBQ3JEOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPOzs7QUFHUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS9janMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUtc2hpbS5kZXZlbG9wbWVudC5qcz8zZTlhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHVzZS1zeW5jLWV4dGVybmFsLXN0b3JlLXNoaW0uZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vKipcbiAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL09iamVjdC9pc1xuICovXG5mdW5jdGlvbiBpcyh4LCB5KSB7XG4gIHJldHVybiB4ID09PSB5ICYmICh4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSkgfHwgeCAhPT0geCAmJiB5ICE9PSB5IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gIDtcbn1cblxudmFyIG9iamVjdElzID0gdHlwZW9mIE9iamVjdC5pcyA9PT0gJ2Z1bmN0aW9uJyA/IE9iamVjdC5pcyA6IGlzO1xuXG4vLyBkaXNwYXRjaCBmb3IgQ29tbW9uSlMgaW50ZXJvcCBuYW1lZCBpbXBvcnRzLlxuXG52YXIgdXNlU3RhdGUgPSBSZWFjdC51c2VTdGF0ZSxcbiAgICB1c2VFZmZlY3QgPSBSZWFjdC51c2VFZmZlY3QsXG4gICAgdXNlTGF5b3V0RWZmZWN0ID0gUmVhY3QudXNlTGF5b3V0RWZmZWN0LFxuICAgIHVzZURlYnVnVmFsdWUgPSBSZWFjdC51c2VEZWJ1Z1ZhbHVlO1xudmFyIGRpZFdhcm5PbGQxOEFscGhhID0gZmFsc2U7XG52YXIgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSBmYWxzZTsgLy8gRGlzY2xhaW1lcjogVGhpcyBzaGltIGJyZWFrcyBtYW55IG9mIHRoZSBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3Ncbi8vIGJlY2F1c2Ugb2YgYSB2ZXJ5IHBhcnRpY3VsYXIgc2V0IG9mIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGFzc3VtcHRpb25zXG4vLyAtLSBjaGFuZ2UgYW55IG9uZSBvZiB0aGVtIGFuZCBpdCB3aWxsIGJyZWFrLiBUaGUgbW9zdCBpbXBvcnRhbnQgYXNzdW1wdGlvblxuLy8gaXMgdGhhdCB1cGRhdGVzIGFyZSBhbHdheXMgc3luY2hyb25vdXMsIGJlY2F1c2UgY29uY3VycmVudCByZW5kZXJpbmcgaXNcbi8vIG9ubHkgYXZhaWxhYmxlIGluIHZlcnNpb25zIG9mIFJlYWN0IHRoYXQgYWxzbyBoYXZlIGEgYnVpbHQtaW5cbi8vIHVzZVN5bmNFeHRlcm5hbFN0b3JlIEFQSS4gQW5kIHdlIG9ubHkgdXNlIHRoaXMgc2hpbSB3aGVuIHRoZSBidWlsdC1pbiBBUElcbi8vIGRvZXMgbm90IGV4aXN0LlxuLy9cbi8vIERvIG5vdCBhc3N1bWUgdGhhdCB0aGUgY2xldmVyIGhhY2tzIHVzZWQgYnkgdGhpcyBob29rIGFsc28gd29yayBpbiBnZW5lcmFsLlxuLy8gVGhlIHBvaW50IG9mIHRoaXMgc2hpbSBpcyB0byByZXBsYWNlIHRoZSBuZWVkIGZvciBoYWNrcyBieSBvdGhlciBsaWJyYXJpZXMuXG5cbmZ1bmN0aW9uIHVzZVN5bmNFeHRlcm5hbFN0b3JlKHN1YnNjcmliZSwgZ2V0U25hcHNob3QsIC8vIE5vdGU6IFRoZSBzaGltIGRvZXMgbm90IHVzZSBnZXRTZXJ2ZXJTbmFwc2hvdCwgYmVjYXVzZSBwcmUtMTggdmVyc2lvbnMgb2Zcbi8vIFJlYWN0IGRvIG5vdCBleHBvc2UgYSB3YXkgdG8gY2hlY2sgaWYgd2UncmUgaHlkcmF0aW5nLiBTbyB1c2VycyBvZiB0aGUgc2hpbVxuLy8gd2lsbCBuZWVkIHRvIHRyYWNrIHRoYXQgdGhlbXNlbHZlcyBhbmQgcmV0dXJuIHRoZSBjb3JyZWN0IHZhbHVlXG4vLyBmcm9tIGBnZXRTbmFwc2hvdGAuXG5nZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICB7XG4gICAgaWYgKCFkaWRXYXJuT2xkMThBbHBoYSkge1xuICAgICAgaWYgKFJlYWN0LnN0YXJ0VHJhbnNpdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpZFdhcm5PbGQxOEFscGhhID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignWW91IGFyZSB1c2luZyBhbiBvdXRkYXRlZCwgcHJlLXJlbGVhc2UgYWxwaGEgb2YgUmVhY3QgMTggdGhhdCAnICsgJ2RvZXMgbm90IHN1cHBvcnQgdXNlU3luY0V4dGVybmFsU3RvcmUuIFRoZSAnICsgJ3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlIHNoaW0gd2lsbCBub3Qgd29yayBjb3JyZWN0bHkuIFVwZ3JhZGUgJyArICd0byBhIG5ld2VyIHByZS1yZWxlYXNlLicpO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBSZWFkIHRoZSBjdXJyZW50IHNuYXBzaG90IGZyb20gdGhlIHN0b3JlIG9uIGV2ZXJ5IHJlbmRlci4gQWdhaW4sIHRoaXNcbiAgLy8gYnJlYWtzIHRoZSBydWxlcyBvZiBSZWFjdCwgYW5kIG9ubHkgd29ya3MgaGVyZSBiZWNhdXNlIG9mIHNwZWNpZmljXG4gIC8vIGltcGxlbWVudGF0aW9uIGRldGFpbHMsIG1vc3QgaW1wb3J0YW50bHkgdGhhdCB1cGRhdGVzIGFyZVxuICAvLyBhbHdheXMgc3luY2hyb25vdXMuXG5cblxuICB2YXIgdmFsdWUgPSBnZXRTbmFwc2hvdCgpO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm5VbmNhY2hlZEdldFNuYXBzaG90KSB7XG4gICAgICB2YXIgY2FjaGVkVmFsdWUgPSBnZXRTbmFwc2hvdCgpO1xuXG4gICAgICBpZiAoIW9iamVjdElzKHZhbHVlLCBjYWNoZWRWYWx1ZSkpIHtcbiAgICAgICAgZXJyb3IoJ1RoZSByZXN1bHQgb2YgZ2V0U25hcHNob3Qgc2hvdWxkIGJlIGNhY2hlZCB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wJyk7XG5cbiAgICAgICAgZGlkV2FyblVuY2FjaGVkR2V0U25hcHNob3QgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBCZWNhdXNlIHVwZGF0ZXMgYXJlIHN5bmNocm9ub3VzLCB3ZSBkb24ndCBxdWV1ZSB0aGVtLiBJbnN0ZWFkIHdlIGZvcmNlIGFcbiAgLy8gcmUtcmVuZGVyIHdoZW5ldmVyIHRoZSBzdWJzY3JpYmVkIHN0YXRlIGNoYW5nZXMgYnkgdXBkYXRpbmcgYW4gc29tZVxuICAvLyBhcmJpdHJhcnkgdXNlU3RhdGUgaG9vay4gVGhlbiwgZHVyaW5nIHJlbmRlciwgd2UgY2FsbCBnZXRTbmFwc2hvdCB0byByZWFkXG4gIC8vIHRoZSBjdXJyZW50IHZhbHVlLlxuICAvL1xuICAvLyBCZWNhdXNlIHdlIGRvbid0IGFjdHVhbGx5IHVzZSB0aGUgc3RhdGUgcmV0dXJuZWQgYnkgdGhlIHVzZVN0YXRlIGhvb2ssIHdlXG4gIC8vIGNhbiBzYXZlIGEgYml0IG9mIG1lbW9yeSBieSBzdG9yaW5nIG90aGVyIHN0dWZmIGluIHRoYXQgc2xvdC5cbiAgLy9cbiAgLy8gVG8gaW1wbGVtZW50IHRoZSBlYXJseSBiYWlsb3V0LCB3ZSBuZWVkIHRvIHRyYWNrIHNvbWUgdGhpbmdzIG9uIGEgbXV0YWJsZVxuICAvLyBvYmplY3QuIFVzdWFsbHksIHdlIHdvdWxkIHB1dCB0aGF0IGluIGEgdXNlUmVmIGhvb2ssIGJ1dCB3ZSBjYW4gc3Rhc2ggaXQgaW5cbiAgLy8gb3VyIHVzZVN0YXRlIGhvb2sgaW5zdGVhZC5cbiAgLy9cbiAgLy8gVG8gZm9yY2UgYSByZS1yZW5kZXIsIHdlIGNhbGwgZm9yY2VVcGRhdGUoe2luc3R9KS4gVGhhdCB3b3JrcyBiZWNhdXNlIHRoZVxuICAvLyBuZXcgb2JqZWN0IGFsd2F5cyBmYWlscyBhbiBlcXVhbGl0eSBjaGVjay5cblxuXG4gIHZhciBfdXNlU3RhdGUgPSB1c2VTdGF0ZSh7XG4gICAgaW5zdDoge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90XG4gICAgfVxuICB9KSxcbiAgICAgIGluc3QgPSBfdXNlU3RhdGVbMF0uaW5zdCxcbiAgICAgIGZvcmNlVXBkYXRlID0gX3VzZVN0YXRlWzFdOyAvLyBUcmFjayB0aGUgbGF0ZXN0IGdldFNuYXBzaG90IGZ1bmN0aW9uIHdpdGggYSByZWYuIFRoaXMgbmVlZHMgdG8gYmUgdXBkYXRlZFxuICAvLyBpbiB0aGUgbGF5b3V0IHBoYXNlIHNvIHdlIGNhbiBhY2Nlc3MgaXQgZHVyaW5nIHRoZSB0ZWFyaW5nIGNoZWNrIHRoYXRcbiAgLy8gaGFwcGVucyBvbiBzdWJzY3JpYmUuXG5cblxuICB1c2VMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGluc3QudmFsdWUgPSB2YWx1ZTtcbiAgICBpbnN0LmdldFNuYXBzaG90ID0gZ2V0U25hcHNob3Q7IC8vIFdoZW5ldmVyIGdldFNuYXBzaG90IG9yIHN1YnNjcmliZSBjaGFuZ2VzLCB3ZSBuZWVkIHRvIGNoZWNrIGluIHRoZVxuICAgIC8vIGNvbW1pdCBwaGFzZSBpZiB0aGVyZSB3YXMgYW4gaW50ZXJsZWF2ZWQgbXV0YXRpb24uIEluIGNvbmN1cnJlbnQgbW9kZVxuICAgIC8vIHRoaXMgY2FuIGhhcHBlbiBhbGwgdGhlIHRpbWUsIGJ1dCBldmVuIGluIHN5bmNocm9ub3VzIG1vZGUsIGFuIGVhcmxpZXJcbiAgICAvLyBlZmZlY3QgbWF5IGhhdmUgbXV0YXRlZCB0aGUgc3RvcmUuXG5cbiAgICBpZiAoY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSkge1xuICAgICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgICBmb3JjZVVwZGF0ZSh7XG4gICAgICAgIGluc3Q6IGluc3RcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3N1YnNjcmliZSwgdmFsdWUsIGdldFNuYXBzaG90XSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgLy8gQ2hlY2sgZm9yIGNoYW5nZXMgcmlnaHQgYmVmb3JlIHN1YnNjcmliaW5nLiBTdWJzZXF1ZW50IGNoYW5nZXMgd2lsbCBiZVxuICAgIC8vIGRldGVjdGVkIGluIHRoZSBzdWJzY3JpcHRpb24gaGFuZGxlci5cbiAgICBpZiAoY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSkge1xuICAgICAgLy8gRm9yY2UgYSByZS1yZW5kZXIuXG4gICAgICBmb3JjZVVwZGF0ZSh7XG4gICAgICAgIGluc3Q6IGluc3RcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBoYW5kbGVTdG9yZUNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFRPRE86IEJlY2F1c2UgdGhlcmUgaXMgbm8gY3Jvc3MtcmVuZGVyZXIgQVBJIGZvciBiYXRjaGluZyB1cGRhdGVzLCBpdCdzXG4gICAgICAvLyB1cCB0byB0aGUgY29uc3VtZXIgb2YgdGhpcyBsaWJyYXJ5IHRvIHdyYXAgdGhlaXIgc3Vic2NyaXB0aW9uIGV2ZW50XG4gICAgICAvLyB3aXRoIHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzLiBTaG91bGQgd2UgdHJ5IHRvIGRldGVjdCB3aGVuIHRoaXMgaXNuJ3RcbiAgICAgIC8vIHRoZSBjYXNlIGFuZCBwcmludCBhIHdhcm5pbmcgaW4gZGV2ZWxvcG1lbnQ/XG4gICAgICAvLyBUaGUgc3RvcmUgY2hhbmdlZC4gQ2hlY2sgaWYgdGhlIHNuYXBzaG90IGNoYW5nZWQgc2luY2UgdGhlIGxhc3QgdGltZSB3ZVxuICAgICAgLy8gcmVhZCBmcm9tIHRoZSBzdG9yZS5cbiAgICAgIGlmIChjaGVja0lmU25hcHNob3RDaGFuZ2VkKGluc3QpKSB7XG4gICAgICAgIC8vIEZvcmNlIGEgcmUtcmVuZGVyLlxuICAgICAgICBmb3JjZVVwZGF0ZSh7XG4gICAgICAgICAgaW5zdDogaW5zdFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9OyAvLyBTdWJzY3JpYmUgdG8gdGhlIHN0b3JlIGFuZCByZXR1cm4gYSBjbGVhbi11cCBmdW5jdGlvbi5cblxuXG4gICAgcmV0dXJuIHN1YnNjcmliZShoYW5kbGVTdG9yZUNoYW5nZSk7XG4gIH0sIFtzdWJzY3JpYmVdKTtcbiAgdXNlRGVidWdWYWx1ZSh2YWx1ZSk7XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2hlY2tJZlNuYXBzaG90Q2hhbmdlZChpbnN0KSB7XG4gIHZhciBsYXRlc3RHZXRTbmFwc2hvdCA9IGluc3QuZ2V0U25hcHNob3Q7XG4gIHZhciBwcmV2VmFsdWUgPSBpbnN0LnZhbHVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG4gICAgcmV0dXJuICFvYmplY3RJcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXNlU3luY0V4dGVybmFsU3RvcmUkMShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCkge1xuICAvLyBOb3RlOiBUaGUgc2hpbSBkb2VzIG5vdCB1c2UgZ2V0U2VydmVyU25hcHNob3QsIGJlY2F1c2UgcHJlLTE4IHZlcnNpb25zIG9mXG4gIC8vIFJlYWN0IGRvIG5vdCBleHBvc2UgYSB3YXkgdG8gY2hlY2sgaWYgd2UncmUgaHlkcmF0aW5nLiBTbyB1c2VycyBvZiB0aGUgc2hpbVxuICAvLyB3aWxsIG5lZWQgdG8gdHJhY2sgdGhhdCB0aGVtc2VsdmVzIGFuZCByZXR1cm4gdGhlIGNvcnJlY3QgdmFsdWVcbiAgLy8gZnJvbSBgZ2V0U25hcHNob3RgLlxuICByZXR1cm4gZ2V0U25hcHNob3QoKTtcbn1cblxudmFyIGNhblVzZURPTSA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcpO1xuXG52YXIgaXNTZXJ2ZXJFbnZpcm9ubWVudCA9ICFjYW5Vc2VET007XG5cbnZhciBzaGltID0gaXNTZXJ2ZXJFbnZpcm9ubWVudCA/IHVzZVN5bmNFeHRlcm5hbFN0b3JlJDEgOiB1c2VTeW5jRXh0ZXJuYWxTdG9yZTtcbnZhciB1c2VTeW5jRXh0ZXJuYWxTdG9yZSQyID0gUmVhY3QudXNlU3luY0V4dGVybmFsU3RvcmUgIT09IHVuZGVmaW5lZCA/IFJlYWN0LnVzZVN5bmNFeHRlcm5hbFN0b3JlIDogc2hpbTtcblxuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlJDI7XG4gICAgICAgICAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xuaWYgKFxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJyAmJlxuICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0b3AobmV3IEVycm9yKCkpO1xufVxuICAgICAgICBcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js ***! - \************************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar shim = __webpack_require__(/*! use-sync-external-store/shim */ \"./node_modules/use-sync-external-store/shim/index.js\");\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\nvar useSyncExternalStore = shim.useSyncExternalStore;\n\n// for CommonJS interop.\n\nvar useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue; // Same as useSyncExternalStore, but supports selector and isEqual arguments.\n\nfunction useSyncExternalStoreWithSelector(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {\n // Use this to track the rendered snapshot.\n var instRef = useRef(null);\n var inst;\n\n if (instRef.current === null) {\n inst = {\n hasValue: false,\n value: null\n };\n instRef.current = inst;\n } else {\n inst = instRef.current;\n }\n\n var _useMemo = useMemo(function () {\n // Track the memoized state using closure variables that are local to this\n // memoized instance of a getSnapshot function. Intentionally not using a\n // useRef hook, because that state would be shared across all concurrent\n // copies of the hook/component.\n var hasMemo = false;\n var memoizedSnapshot;\n var memoizedSelection;\n\n var memoizedSelector = function (nextSnapshot) {\n if (!hasMemo) {\n // The first time the hook is called, there is no memoized result.\n hasMemo = true;\n memoizedSnapshot = nextSnapshot;\n\n var _nextSelection = selector(nextSnapshot);\n\n if (isEqual !== undefined) {\n // Even if the selector has changed, the currently rendered selection\n // may be equal to the new selection. We should attempt to reuse the\n // current value if possible, to preserve downstream memoizations.\n if (inst.hasValue) {\n var currentSelection = inst.value;\n\n if (isEqual(currentSelection, _nextSelection)) {\n memoizedSelection = currentSelection;\n return currentSelection;\n }\n }\n }\n\n memoizedSelection = _nextSelection;\n return _nextSelection;\n } // We may be able to reuse the previous invocation's result.\n\n\n // We may be able to reuse the previous invocation's result.\n var prevSnapshot = memoizedSnapshot;\n var prevSelection = memoizedSelection;\n\n if (objectIs(prevSnapshot, nextSnapshot)) {\n // The snapshot is the same as last time. Reuse the previous selection.\n return prevSelection;\n } // The snapshot has changed, so we need to compute a new selection.\n\n\n // The snapshot has changed, so we need to compute a new selection.\n var nextSelection = selector(nextSnapshot); // If a custom isEqual function is provided, use that to check if the data\n // has changed. If it hasn't, return the previous selection. That signals\n // to React that the selections are conceptually equal, and we can bail\n // out of rendering.\n\n // If a custom isEqual function is provided, use that to check if the data\n // has changed. If it hasn't, return the previous selection. That signals\n // to React that the selections are conceptually equal, and we can bail\n // out of rendering.\n if (isEqual !== undefined && isEqual(prevSelection, nextSelection)) {\n return prevSelection;\n }\n\n memoizedSnapshot = nextSnapshot;\n memoizedSelection = nextSelection;\n return nextSelection;\n }; // Assigning this to a constant so that Flow knows it can't change.\n\n\n // Assigning this to a constant so that Flow knows it can't change.\n var maybeGetServerSnapshot = getServerSnapshot === undefined ? null : getServerSnapshot;\n\n var getSnapshotWithSelector = function () {\n return memoizedSelector(getSnapshot());\n };\n\n var getServerSnapshotWithSelector = maybeGetServerSnapshot === null ? undefined : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n };\n return [getSnapshotWithSelector, getServerSnapshotWithSelector];\n }, [getSnapshot, getServerSnapshot, selector, isEqual]),\n getSelection = _useMemo[0],\n getServerSelection = _useMemo[1];\n\n var value = useSyncExternalStore(subscribe, getSelection, getServerSelection);\n useEffect(function () {\n inst.hasValue = true;\n inst.value = value;\n }, [value]);\n useDebugValue(value);\n return value;\n}\n\nexports.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvY2pzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlLXNoaW0vd2l0aC1zZWxlY3Rvci5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLG1CQUFPLENBQUMsNENBQU87QUFDckMsV0FBVyxtQkFBTyxDQUFDLDBGQUE4Qjs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7O0FBR1I7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS1zaGltL3dpdGgtc2VsZWN0b3IuZGV2ZWxvcG1lbnQuanM/NzVhMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiB1c2Utc3luYy1leHRlcm5hbC1zdG9yZS1zaGltL3dpdGgtc2VsZWN0b3IuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuXG4gICAgICAgICAgJ3VzZSBzdHJpY3QnO1xuXG4vKiBnbG9iYWwgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICovXG5pZiAoXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0ID09PVxuICAgICdmdW5jdGlvbidcbikge1xuICBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18ucmVnaXN0ZXJJbnRlcm5hbE1vZHVsZVN0YXJ0KG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgICB2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIHNoaW0gPSByZXF1aXJlKCd1c2Utc3luYy1leHRlcm5hbC1zdG9yZS9zaGltJyk7XG5cbi8qKlxuICogaW5saW5lZCBPYmplY3QuaXMgcG9seWZpbGwgdG8gYXZvaWQgcmVxdWlyaW5nIGNvbnN1bWVycyBzaGlwIHRoZWlyIG93blxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2lzXG4gKi9cbmZ1bmN0aW9uIGlzKHgsIHkpIHtcbiAgcmV0dXJuIHggPT09IHkgJiYgKHggIT09IDAgfHwgMSAvIHggPT09IDEgLyB5KSB8fCB4ICE9PSB4ICYmIHkgIT09IHkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgO1xufVxuXG52YXIgb2JqZWN0SXMgPSB0eXBlb2YgT2JqZWN0LmlzID09PSAnZnVuY3Rpb24nID8gT2JqZWN0LmlzIDogaXM7XG5cbnZhciB1c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHNoaW0udXNlU3luY0V4dGVybmFsU3RvcmU7XG5cbi8vIGZvciBDb21tb25KUyBpbnRlcm9wLlxuXG52YXIgdXNlUmVmID0gUmVhY3QudXNlUmVmLFxuICAgIHVzZUVmZmVjdCA9IFJlYWN0LnVzZUVmZmVjdCxcbiAgICB1c2VNZW1vID0gUmVhY3QudXNlTWVtbyxcbiAgICB1c2VEZWJ1Z1ZhbHVlID0gUmVhY3QudXNlRGVidWdWYWx1ZTsgLy8gU2FtZSBhcyB1c2VTeW5jRXh0ZXJuYWxTdG9yZSwgYnV0IHN1cHBvcnRzIHNlbGVjdG9yIGFuZCBpc0VxdWFsIGFyZ3VtZW50cy5cblxuZnVuY3Rpb24gdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3Ioc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgZ2V0U2VydmVyU25hcHNob3QsIHNlbGVjdG9yLCBpc0VxdWFsKSB7XG4gIC8vIFVzZSB0aGlzIHRvIHRyYWNrIHRoZSByZW5kZXJlZCBzbmFwc2hvdC5cbiAgdmFyIGluc3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBpbnN0O1xuXG4gIGlmIChpbnN0UmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICBpbnN0ID0ge1xuICAgICAgaGFzVmFsdWU6IGZhbHNlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9O1xuICAgIGluc3RSZWYuY3VycmVudCA9IGluc3Q7XG4gIH0gZWxzZSB7XG4gICAgaW5zdCA9IGluc3RSZWYuY3VycmVudDtcbiAgfVxuXG4gIHZhciBfdXNlTWVtbyA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIC8vIFRyYWNrIHRoZSBtZW1vaXplZCBzdGF0ZSB1c2luZyBjbG9zdXJlIHZhcmlhYmxlcyB0aGF0IGFyZSBsb2NhbCB0byB0aGlzXG4gICAgLy8gbWVtb2l6ZWQgaW5zdGFuY2Ugb2YgYSBnZXRTbmFwc2hvdCBmdW5jdGlvbi4gSW50ZW50aW9uYWxseSBub3QgdXNpbmcgYVxuICAgIC8vIHVzZVJlZiBob29rLCBiZWNhdXNlIHRoYXQgc3RhdGUgd291bGQgYmUgc2hhcmVkIGFjcm9zcyBhbGwgY29uY3VycmVudFxuICAgIC8vIGNvcGllcyBvZiB0aGUgaG9vay9jb21wb25lbnQuXG4gICAgdmFyIGhhc01lbW8gPSBmYWxzZTtcbiAgICB2YXIgbWVtb2l6ZWRTbmFwc2hvdDtcbiAgICB2YXIgbWVtb2l6ZWRTZWxlY3Rpb247XG5cbiAgICB2YXIgbWVtb2l6ZWRTZWxlY3RvciA9IGZ1bmN0aW9uIChuZXh0U25hcHNob3QpIHtcbiAgICAgIGlmICghaGFzTWVtbykge1xuICAgICAgICAvLyBUaGUgZmlyc3QgdGltZSB0aGUgaG9vayBpcyBjYWxsZWQsIHRoZXJlIGlzIG5vIG1lbW9pemVkIHJlc3VsdC5cbiAgICAgICAgaGFzTWVtbyA9IHRydWU7XG4gICAgICAgIG1lbW9pemVkU25hcHNob3QgPSBuZXh0U25hcHNob3Q7XG5cbiAgICAgICAgdmFyIF9uZXh0U2VsZWN0aW9uID0gc2VsZWN0b3IobmV4dFNuYXBzaG90KTtcblxuICAgICAgICBpZiAoaXNFcXVhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gRXZlbiBpZiB0aGUgc2VsZWN0b3IgaGFzIGNoYW5nZWQsIHRoZSBjdXJyZW50bHkgcmVuZGVyZWQgc2VsZWN0aW9uXG4gICAgICAgICAgLy8gbWF5IGJlIGVxdWFsIHRvIHRoZSBuZXcgc2VsZWN0aW9uLiBXZSBzaG91bGQgYXR0ZW1wdCB0byByZXVzZSB0aGVcbiAgICAgICAgICAvLyBjdXJyZW50IHZhbHVlIGlmIHBvc3NpYmxlLCB0byBwcmVzZXJ2ZSBkb3duc3RyZWFtIG1lbW9pemF0aW9ucy5cbiAgICAgICAgICBpZiAoaW5zdC5oYXNWYWx1ZSkge1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRTZWxlY3Rpb24gPSBpbnN0LnZhbHVlO1xuXG4gICAgICAgICAgICBpZiAoaXNFcXVhbChjdXJyZW50U2VsZWN0aW9uLCBfbmV4dFNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgbWVtb2l6ZWRTZWxlY3Rpb24gPSBjdXJyZW50U2VsZWN0aW9uO1xuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFNlbGVjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBtZW1vaXplZFNlbGVjdGlvbiA9IF9uZXh0U2VsZWN0aW9uO1xuICAgICAgICByZXR1cm4gX25leHRTZWxlY3Rpb247XG4gICAgICB9IC8vIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIHRoZSBwcmV2aW91cyBpbnZvY2F0aW9uJ3MgcmVzdWx0LlxuXG5cbiAgICAgIC8vIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIHRoZSBwcmV2aW91cyBpbnZvY2F0aW9uJ3MgcmVzdWx0LlxuICAgICAgdmFyIHByZXZTbmFwc2hvdCA9IG1lbW9pemVkU25hcHNob3Q7XG4gICAgICB2YXIgcHJldlNlbGVjdGlvbiA9IG1lbW9pemVkU2VsZWN0aW9uO1xuXG4gICAgICBpZiAob2JqZWN0SXMocHJldlNuYXBzaG90LCBuZXh0U25hcHNob3QpKSB7XG4gICAgICAgIC8vIFRoZSBzbmFwc2hvdCBpcyB0aGUgc2FtZSBhcyBsYXN0IHRpbWUuIFJldXNlIHRoZSBwcmV2aW91cyBzZWxlY3Rpb24uXG4gICAgICAgIHJldHVybiBwcmV2U2VsZWN0aW9uO1xuICAgICAgfSAvLyBUaGUgc25hcHNob3QgaGFzIGNoYW5nZWQsIHNvIHdlIG5lZWQgdG8gY29tcHV0ZSBhIG5ldyBzZWxlY3Rpb24uXG5cblxuICAgICAgLy8gVGhlIHNuYXBzaG90IGhhcyBjaGFuZ2VkLCBzbyB3ZSBuZWVkIHRvIGNvbXB1dGUgYSBuZXcgc2VsZWN0aW9uLlxuICAgICAgdmFyIG5leHRTZWxlY3Rpb24gPSBzZWxlY3RvcihuZXh0U25hcHNob3QpOyAvLyBJZiBhIGN1c3RvbSBpc0VxdWFsIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCB1c2UgdGhhdCB0byBjaGVjayBpZiB0aGUgZGF0YVxuICAgICAgLy8gaGFzIGNoYW5nZWQuIElmIGl0IGhhc24ndCwgcmV0dXJuIHRoZSBwcmV2aW91cyBzZWxlY3Rpb24uIFRoYXQgc2lnbmFsc1xuICAgICAgLy8gdG8gUmVhY3QgdGhhdCB0aGUgc2VsZWN0aW9ucyBhcmUgY29uY2VwdHVhbGx5IGVxdWFsLCBhbmQgd2UgY2FuIGJhaWxcbiAgICAgIC8vIG91dCBvZiByZW5kZXJpbmcuXG5cbiAgICAgIC8vIElmIGEgY3VzdG9tIGlzRXF1YWwgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIHVzZSB0aGF0IHRvIGNoZWNrIGlmIHRoZSBkYXRhXG4gICAgICAvLyBoYXMgY2hhbmdlZC4gSWYgaXQgaGFzbid0LCByZXR1cm4gdGhlIHByZXZpb3VzIHNlbGVjdGlvbi4gVGhhdCBzaWduYWxzXG4gICAgICAvLyB0byBSZWFjdCB0aGF0IHRoZSBzZWxlY3Rpb25zIGFyZSBjb25jZXB0dWFsbHkgZXF1YWwsIGFuZCB3ZSBjYW4gYmFpbFxuICAgICAgLy8gb3V0IG9mIHJlbmRlcmluZy5cbiAgICAgIGlmIChpc0VxdWFsICE9PSB1bmRlZmluZWQgJiYgaXNFcXVhbChwcmV2U2VsZWN0aW9uLCBuZXh0U2VsZWN0aW9uKSkge1xuICAgICAgICByZXR1cm4gcHJldlNlbGVjdGlvbjtcbiAgICAgIH1cblxuICAgICAgbWVtb2l6ZWRTbmFwc2hvdCA9IG5leHRTbmFwc2hvdDtcbiAgICAgIG1lbW9pemVkU2VsZWN0aW9uID0gbmV4dFNlbGVjdGlvbjtcbiAgICAgIHJldHVybiBuZXh0U2VsZWN0aW9uO1xuICAgIH07IC8vIEFzc2lnbmluZyB0aGlzIHRvIGEgY29uc3RhbnQgc28gdGhhdCBGbG93IGtub3dzIGl0IGNhbid0IGNoYW5nZS5cblxuXG4gICAgLy8gQXNzaWduaW5nIHRoaXMgdG8gYSBjb25zdGFudCBzbyB0aGF0IEZsb3cga25vd3MgaXQgY2FuJ3QgY2hhbmdlLlxuICAgIHZhciBtYXliZUdldFNlcnZlclNuYXBzaG90ID0gZ2V0U2VydmVyU25hcHNob3QgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBnZXRTZXJ2ZXJTbmFwc2hvdDtcblxuICAgIHZhciBnZXRTbmFwc2hvdFdpdGhTZWxlY3RvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBtZW1vaXplZFNlbGVjdG9yKGdldFNuYXBzaG90KCkpO1xuICAgIH07XG5cbiAgICB2YXIgZ2V0U2VydmVyU25hcHNob3RXaXRoU2VsZWN0b3IgPSBtYXliZUdldFNlcnZlclNuYXBzaG90ID09PSBudWxsID8gdW5kZWZpbmVkIDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIG1lbW9pemVkU2VsZWN0b3IobWF5YmVHZXRTZXJ2ZXJTbmFwc2hvdCgpKTtcbiAgICB9O1xuICAgIHJldHVybiBbZ2V0U25hcHNob3RXaXRoU2VsZWN0b3IsIGdldFNlcnZlclNuYXBzaG90V2l0aFNlbGVjdG9yXTtcbiAgfSwgW2dldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCwgc2VsZWN0b3IsIGlzRXF1YWxdKSxcbiAgICAgIGdldFNlbGVjdGlvbiA9IF91c2VNZW1vWzBdLFxuICAgICAgZ2V0U2VydmVyU2VsZWN0aW9uID0gX3VzZU1lbW9bMV07XG5cbiAgdmFyIHZhbHVlID0gdXNlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTZWxlY3Rpb24sIGdldFNlcnZlclNlbGVjdGlvbik7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaW5zdC5oYXNWYWx1ZSA9IHRydWU7XG4gICAgaW5zdC52YWx1ZSA9IHZhbHVlO1xuICB9LCBbdmFsdWVdKTtcbiAgdXNlRGVidWdWYWx1ZSh2YWx1ZSk7XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0cy51c2VTeW5jRXh0ZXJuYWxTdG9yZVdpdGhTZWxlY3RvciA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFNlbGVjdG9yO1xuICAgICAgICAgIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbmlmIChcbiAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5yZWdpc3RlckludGVybmFsTW9kdWxlU3RvcCA9PT1cbiAgICAnZnVuY3Rpb24nXG4pIHtcbiAgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLnJlZ2lzdGVySW50ZXJuYWxNb2R1bGVTdG9wKG5ldyBFcnJvcigpKTtcbn1cbiAgICAgICAgXG4gIH0pKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sync-external-store/shim/index.js": -/*!************************************************************!*\ - !*** ./node_modules/use-sync-external-store/shim/index.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ../cjs/use-sync-external-store-shim.development.js */ \"./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc2hpbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUMsQ0FBQztBQUNGLEVBQUUsd0xBQThFO0FBQ2hGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS9zaGltL2luZGV4LmpzPzJlODciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS1zaGltLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS1zaGltLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/use-sync-external-store/shim/index.js\n")); - -/***/ }), - -/***/ "./node_modules/use-sync-external-store/shim/with-selector.js": -/*!********************************************************************!*\ - !*** ./node_modules/use-sync-external-store/shim/with-selector.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ../cjs/use-sync-external-store-shim/with-selector.development.js */ \"./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc2hpbS93aXRoLXNlbGVjdG9yLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSxvTkFBNEY7QUFDOUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlL3NoaW0vd2l0aC1zZWxlY3Rvci5qcz9lMzNiIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi9janMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUtc2hpbS93aXRoLXNlbGVjdG9yLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uL2Nqcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS1zaGltL3dpdGgtc2VsZWN0b3IuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/use-sync-external-store/shim/with-selector.js\n")); - -/***/ }), - -/***/ "?4908": -/*!************************!*\ - !*** crypto (ignored) ***! - \************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { - -/* (ignored) */ - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/errors.js": -/*!*************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/errors.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BaseError = void 0;\nconst version_js_1 = __webpack_require__(/*! ./version.js */ \"./node_modules/abitype/dist/cjs/version.js\");\nclass BaseError extends Error {\n constructor(shortMessage, args = {}) {\n const details = args.cause instanceof BaseError\n ? args.cause.details\n : args.cause?.message\n ? args.cause.message\n : args.details;\n const docsPath = args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n const message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsPath ? [`Docs: https://abitype.dev${docsPath}`] : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: abitype@${version_js_1.version}`,\n ].join('\\n');\n super(message);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiTypeError'\n });\n if (args.cause)\n this.cause = args.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.shortMessage = shortMessage;\n }\n}\nexports.BaseError = BaseError;\n//# sourceMappingURL=errors.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9lcnJvcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCO0FBQ2pCLHFCQUFxQixtQkFBTyxDQUFDLGdFQUFjO0FBQzNDO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCxTQUFTO0FBQ2pFLHVDQUF1QyxRQUFRO0FBQy9DLGdDQUFnQyxxQkFBcUI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvY2pzL2Vycm9ycy5qcz9jNDBmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5CYXNlRXJyb3IgPSB2b2lkIDA7XG5jb25zdCB2ZXJzaW9uX2pzXzEgPSByZXF1aXJlKFwiLi92ZXJzaW9uLmpzXCIpO1xuY2xhc3MgQmFzZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHNob3J0TWVzc2FnZSwgYXJncyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBhcmdzLmNhdXNlIGluc3RhbmNlb2YgQmFzZUVycm9yXG4gICAgICAgICAgICA/IGFyZ3MuY2F1c2UuZGV0YWlsc1xuICAgICAgICAgICAgOiBhcmdzLmNhdXNlPy5tZXNzYWdlXG4gICAgICAgICAgICAgICAgPyBhcmdzLmNhdXNlLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICA6IGFyZ3MuZGV0YWlscztcbiAgICAgICAgY29uc3QgZG9jc1BhdGggPSBhcmdzLmNhdXNlIGluc3RhbmNlb2YgQmFzZUVycm9yXG4gICAgICAgICAgICA/IGFyZ3MuY2F1c2UuZG9jc1BhdGggfHwgYXJncy5kb2NzUGF0aFxuICAgICAgICAgICAgOiBhcmdzLmRvY3NQYXRoO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gW1xuICAgICAgICAgICAgc2hvcnRNZXNzYWdlIHx8ICdBbiBlcnJvciBvY2N1cnJlZC4nLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAuLi4oYXJncy5tZXRhTWVzc2FnZXMgPyBbLi4uYXJncy5tZXRhTWVzc2FnZXMsICcnXSA6IFtdKSxcbiAgICAgICAgICAgIC4uLihkb2NzUGF0aCA/IFtgRG9jczogaHR0cHM6Ly9hYml0eXBlLmRldiR7ZG9jc1BhdGh9YF0gOiBbXSksXG4gICAgICAgICAgICAuLi4oZGV0YWlscyA/IFtgRGV0YWlsczogJHtkZXRhaWxzfWBdIDogW10pLFxuICAgICAgICAgICAgYFZlcnNpb246IGFiaXR5cGVAJHt2ZXJzaW9uX2pzXzEudmVyc2lvbn1gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpO1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZGV0YWlsc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkb2NzUGF0aFwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJtZXRhTWVzc2FnZXNcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic2hvcnRNZXNzYWdlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlUeXBlRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoYXJncy5jYXVzZSlcbiAgICAgICAgICAgIHRoaXMuY2F1c2UgPSBhcmdzLmNhdXNlO1xuICAgICAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmRvY3NQYXRoID0gZG9jc1BhdGg7XG4gICAgICAgIHRoaXMubWV0YU1lc3NhZ2VzID0gYXJncy5tZXRhTWVzc2FnZXM7XG4gICAgICAgIHRoaXMuc2hvcnRNZXNzYWdlID0gc2hvcnRNZXNzYWdlO1xuICAgIH1cbn1cbmV4cG9ydHMuQmFzZUVycm9yID0gQmFzZUVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3JzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/errors.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/errors/abiItem.js": -/*!************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/errors/abiItem.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownSolidityTypeError = exports.UnknownTypeError = exports.InvalidAbiItemError = void 0;\nconst errors_js_1 = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/cjs/errors.js\");\nclass InvalidAbiItemError extends errors_js_1.BaseError {\n constructor({ signature }) {\n super('Failed to parse ABI item.', {\n details: `parseAbiItem(${JSON.stringify(signature, null, 2)})`,\n docsPath: '/api/human.html#parseabiitem-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiItemError'\n });\n }\n}\nexports.InvalidAbiItemError = InvalidAbiItemError;\nclass UnknownTypeError extends errors_js_1.BaseError {\n constructor({ type }) {\n super('Unknown type.', {\n metaMessages: [\n `Type \"${type}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownTypeError'\n });\n }\n}\nexports.UnknownTypeError = UnknownTypeError;\nclass UnknownSolidityTypeError extends errors_js_1.BaseError {\n constructor({ type }) {\n super('Unknown type.', {\n metaMessages: [`Type \"${type}\" is not a valid ABI type.`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownSolidityTypeError'\n });\n }\n}\nexports.UnknownSolidityTypeError = UnknownSolidityTypeError;\n//# sourceMappingURL=abiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvYWJpSXRlbS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQ0FBZ0MsR0FBRyx3QkFBd0IsR0FBRywyQkFBMkI7QUFDekYsb0JBQW9CLG1CQUFPLENBQUMsa0VBQWlCO0FBQzdDO0FBQ0Esa0JBQWtCLFdBQVc7QUFDN0I7QUFDQSxxQ0FBcUMsbUNBQW1DO0FBQ3hFO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLGtCQUFrQixNQUFNO0FBQ3hCO0FBQ0E7QUFDQSx5QkFBeUIsS0FBSztBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQSxrQkFBa0IsTUFBTTtBQUN4QjtBQUNBLG9DQUFvQyxLQUFLO0FBQ3pDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvaHVtYW4tcmVhZGFibGUvZXJyb3JzL2FiaUl0ZW0uanM/M2EyNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVW5rbm93blNvbGlkaXR5VHlwZUVycm9yID0gZXhwb3J0cy5Vbmtub3duVHlwZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpSXRlbUVycm9yID0gdm9pZCAwO1xuY29uc3QgZXJyb3JzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzLmpzXCIpO1xuY2xhc3MgSW52YWxpZEFiaUl0ZW1FcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBzaWduYXR1cmUgfSkge1xuICAgICAgICBzdXBlcignRmFpbGVkIHRvIHBhcnNlIEFCSSBpdGVtLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IGBwYXJzZUFiaUl0ZW0oJHtKU09OLnN0cmluZ2lmeShzaWduYXR1cmUsIG51bGwsIDIpfSlgLFxuICAgICAgICAgICAgZG9jc1BhdGg6ICcvYXBpL2h1bWFuLmh0bWwjcGFyc2VhYmlpdGVtLTEnLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBYmlJdGVtRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZEFiaUl0ZW1FcnJvciA9IEludmFsaWRBYmlJdGVtRXJyb3I7XG5jbGFzcyBVbmtub3duVHlwZUVycm9yIGV4dGVuZHMgZXJyb3JzX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHR5cGUgfSkge1xuICAgICAgICBzdXBlcignVW5rbm93biB0eXBlLicsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIGBUeXBlIFwiJHt0eXBlfVwiIGlzIG5vdCBhIHZhbGlkIEFCSSB0eXBlLiBQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gaW5jbHVkZSBhIHN0cnVjdCBzaWduYXR1cmU/YCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5rbm93blR5cGVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5Vbmtub3duVHlwZUVycm9yID0gVW5rbm93blR5cGVFcnJvcjtcbmNsYXNzIFVua25vd25Tb2xpZGl0eVR5cGVFcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyB0eXBlIH0pIHtcbiAgICAgICAgc3VwZXIoJ1Vua25vd24gdHlwZS4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtgVHlwZSBcIiR7dHlwZX1cIiBpcyBub3QgYSB2YWxpZCBBQkkgdHlwZS5gXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdVbmtub3duU29saWRpdHlUeXBlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuVW5rbm93blNvbGlkaXR5VHlwZUVycm9yID0gVW5rbm93blNvbGlkaXR5VHlwZUVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWJpSXRlbS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/errors/abiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/errors/abiParameter.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/errors/abiParameter.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InvalidAbiTypeParameterError = exports.InvalidFunctionModifierError = exports.InvalidModifierError = exports.SolidityProtectedKeywordError = exports.InvalidParameterError = exports.InvalidAbiParametersError = exports.InvalidAbiParameterError = void 0;\nconst errors_js_1 = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/cjs/errors.js\");\nclass InvalidAbiParameterError extends errors_js_1.BaseError {\n constructor({ param }) {\n super('Failed to parse ABI parameter.', {\n details: `parseAbiParameter(${JSON.stringify(param, null, 2)})`,\n docsPath: '/api/human.html#parseabiparameter-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiParameterError'\n });\n }\n}\nexports.InvalidAbiParameterError = InvalidAbiParameterError;\nclass InvalidAbiParametersError extends errors_js_1.BaseError {\n constructor({ params }) {\n super('Failed to parse ABI parameters.', {\n details: `parseAbiParameters(${JSON.stringify(params, null, 2)})`,\n docsPath: '/api/human.html#parseabiparameters-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiParametersError'\n });\n }\n}\nexports.InvalidAbiParametersError = InvalidAbiParametersError;\nclass InvalidParameterError extends errors_js_1.BaseError {\n constructor({ param }) {\n super('Invalid ABI parameter.', {\n details: param,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParameterError'\n });\n }\n}\nexports.InvalidParameterError = InvalidParameterError;\nclass SolidityProtectedKeywordError extends errors_js_1.BaseError {\n constructor({ param, name }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `\"${name}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SolidityProtectedKeywordError'\n });\n }\n}\nexports.SolidityProtectedKeywordError = SolidityProtectedKeywordError;\nclass InvalidModifierError extends errors_js_1.BaseError {\n constructor({ param, type, modifier, }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `Modifier \"${modifier}\" not allowed${type ? ` in \"${type}\" type` : ''}.`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidModifierError'\n });\n }\n}\nexports.InvalidModifierError = InvalidModifierError;\nclass InvalidFunctionModifierError extends errors_js_1.BaseError {\n constructor({ param, type, modifier, }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `Modifier \"${modifier}\" not allowed${type ? ` in \"${type}\" type` : ''}.`,\n `Data location can only be specified for array, struct, or mapping types, but \"${modifier}\" was given.`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidFunctionModifierError'\n });\n }\n}\nexports.InvalidFunctionModifierError = InvalidFunctionModifierError;\nclass InvalidAbiTypeParameterError extends errors_js_1.BaseError {\n constructor({ abiParameter, }) {\n super('Invalid ABI parameter.', {\n details: JSON.stringify(abiParameter, null, 2),\n metaMessages: ['ABI parameter type is invalid.'],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiTypeParameterError'\n });\n }\n}\nexports.InvalidAbiTypeParameterError = InvalidAbiTypeParameterError;\n//# sourceMappingURL=abiParameter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvYWJpUGFyYW1ldGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9DQUFvQyxHQUFHLG9DQUFvQyxHQUFHLDRCQUE0QixHQUFHLHFDQUFxQyxHQUFHLDZCQUE2QixHQUFHLGlDQUFpQyxHQUFHLGdDQUFnQztBQUN6UCxvQkFBb0IsbUJBQU8sQ0FBQyxrRUFBaUI7QUFDN0M7QUFDQSxrQkFBa0IsT0FBTztBQUN6QjtBQUNBLDBDQUEwQywrQkFBK0I7QUFDekU7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQSwyQ0FBMkMsZ0NBQWdDO0FBQzNFO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBLGtCQUFrQixPQUFPO0FBQ3pCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0Esa0JBQWtCLGFBQWE7QUFDL0I7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLEtBQUs7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0Esa0JBQWtCLHdCQUF3QjtBQUMxQztBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsU0FBUyxlQUFlLGVBQWUsS0FBSyxhQUFhO0FBQ3RGO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBLGtCQUFrQix3QkFBd0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZSxlQUFlLEtBQUssYUFBYTtBQUN0RixpR0FBaUcsU0FBUztBQUMxRztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQSxrQkFBa0IsZUFBZTtBQUNqQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvY2pzL2h1bWFuLXJlYWRhYmxlL2Vycm9ycy9hYmlQYXJhbWV0ZXIuanM/YmFhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZE1vZGlmaWVyRXJyb3IgPSBleHBvcnRzLlNvbGlkaXR5UHJvdGVjdGVkS2V5d29yZEVycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyYW1ldGVyRXJyb3IgPSBleHBvcnRzLkludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3IgPSBleHBvcnRzLkludmFsaWRBYmlQYXJhbWV0ZXJFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGVycm9yc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy5qc1wiKTtcbmNsYXNzIEludmFsaWRBYmlQYXJhbWV0ZXJFcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJhbSB9KSB7XG4gICAgICAgIHN1cGVyKCdGYWlsZWQgdG8gcGFyc2UgQUJJIHBhcmFtZXRlci4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBgcGFyc2VBYmlQYXJhbWV0ZXIoJHtKU09OLnN0cmluZ2lmeShwYXJhbSwgbnVsbCwgMil9KWAsXG4gICAgICAgICAgICBkb2NzUGF0aDogJy9hcGkvaHVtYW4uaHRtbCNwYXJzZWFiaXBhcmFtZXRlci0xJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yID0gSW52YWxpZEFiaVBhcmFtZXRlckVycm9yO1xuY2xhc3MgSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJhbXMgfSkge1xuICAgICAgICBzdXBlcignRmFpbGVkIHRvIHBhcnNlIEFCSSBwYXJhbWV0ZXJzLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IGBwYXJzZUFiaVBhcmFtZXRlcnMoJHtKU09OLnN0cmluZ2lmeShwYXJhbXMsIG51bGwsIDIpfSlgLFxuICAgICAgICAgICAgZG9jc1BhdGg6ICcvYXBpL2h1bWFuLmh0bWwjcGFyc2VhYmlwYXJhbWV0ZXJzLTEnLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciA9IEludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3I7XG5jbGFzcyBJbnZhbGlkUGFyYW1ldGVyRXJyb3IgZXh0ZW5kcyBlcnJvcnNfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgcGFyYW0gfSkge1xuICAgICAgICBzdXBlcignSW52YWxpZCBBQkkgcGFyYW1ldGVyLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IHBhcmFtLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRQYXJhbWV0ZXJFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkUGFyYW1ldGVyRXJyb3IgPSBJbnZhbGlkUGFyYW1ldGVyRXJyb3I7XG5jbGFzcyBTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJhbSwgbmFtZSB9KSB7XG4gICAgICAgIHN1cGVyKCdJbnZhbGlkIEFCSSBwYXJhbWV0ZXIuJywge1xuICAgICAgICAgICAgZGV0YWlsczogcGFyYW0sXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgXCIke25hbWV9XCIgaXMgYSBwcm90ZWN0ZWQgU29saWRpdHkga2V5d29yZC4gTW9yZSBpbmZvOiBodHRwczovL2RvY3Muc29saWRpdHlsYW5nLm9yZy9lbi9sYXRlc3QvY2hlYXRzaGVldC5odG1sYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3IgPSBTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvcjtcbmNsYXNzIEludmFsaWRNb2RpZmllckVycm9yIGV4dGVuZHMgZXJyb3JzX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHBhcmFtLCB0eXBlLCBtb2RpZmllciwgfSkge1xuICAgICAgICBzdXBlcignSW52YWxpZCBBQkkgcGFyYW1ldGVyLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IHBhcmFtLFxuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgYE1vZGlmaWVyIFwiJHttb2RpZmllcn1cIiBub3QgYWxsb3dlZCR7dHlwZSA/IGAgaW4gXCIke3R5cGV9XCIgdHlwZWAgOiAnJ30uYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZE1vZGlmaWVyRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZE1vZGlmaWVyRXJyb3IgPSBJbnZhbGlkTW9kaWZpZXJFcnJvcjtcbmNsYXNzIEludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3IgZXh0ZW5kcyBlcnJvcnNfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgcGFyYW0sIHR5cGUsIG1vZGlmaWVyLCB9KSB7XG4gICAgICAgIHN1cGVyKCdJbnZhbGlkIEFCSSBwYXJhbWV0ZXIuJywge1xuICAgICAgICAgICAgZGV0YWlsczogcGFyYW0sXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgTW9kaWZpZXIgXCIke21vZGlmaWVyfVwiIG5vdCBhbGxvd2VkJHt0eXBlID8gYCBpbiBcIiR7dHlwZX1cIiB0eXBlYCA6ICcnfS5gLFxuICAgICAgICAgICAgICAgIGBEYXRhIGxvY2F0aW9uIGNhbiBvbmx5IGJlIHNwZWNpZmllZCBmb3IgYXJyYXksIHN0cnVjdCwgb3IgbWFwcGluZyB0eXBlcywgYnV0IFwiJHttb2RpZmllcn1cIiB3YXMgZ2l2ZW4uYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yID0gSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvcjtcbmNsYXNzIEludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3IgZXh0ZW5kcyBlcnJvcnNfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYWJpUGFyYW1ldGVyLCB9KSB7XG4gICAgICAgIHN1cGVyKCdJbnZhbGlkIEFCSSBwYXJhbWV0ZXIuJywge1xuICAgICAgICAgICAgZGV0YWlsczogSlNPTi5zdHJpbmdpZnkoYWJpUGFyYW1ldGVyLCBudWxsLCAyKSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogWydBQkkgcGFyYW1ldGVyIHR5cGUgaXMgaW52YWxpZC4nXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3IgPSBJbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWJpUGFyYW1ldGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/errors/abiParameter.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/errors/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/errors/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CircularReferenceError = exports.InvalidParenthesisError = exports.UnknownSignatureError = exports.InvalidSignatureError = exports.InvalidStructSignatureError = exports.InvalidAbiParameterError = exports.InvalidAbiParametersError = exports.InvalidParameterError = exports.SolidityProtectedKeywordError = exports.InvalidModifierError = exports.InvalidFunctionModifierError = exports.InvalidAbiTypeParameterError = exports.UnknownSolidityTypeError = exports.InvalidAbiItemError = exports.UnknownTypeError = void 0;\nvar abiItem_js_1 = __webpack_require__(/*! ./abiItem.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/abiItem.js\");\nObject.defineProperty(exports, \"UnknownTypeError\", ({ enumerable: true, get: function () { return abiItem_js_1.UnknownTypeError; } }));\nObject.defineProperty(exports, \"InvalidAbiItemError\", ({ enumerable: true, get: function () { return abiItem_js_1.InvalidAbiItemError; } }));\nObject.defineProperty(exports, \"UnknownSolidityTypeError\", ({ enumerable: true, get: function () { return abiItem_js_1.UnknownSolidityTypeError; } }));\nvar abiParameter_js_1 = __webpack_require__(/*! ./abiParameter.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/abiParameter.js\");\nObject.defineProperty(exports, \"InvalidAbiTypeParameterError\", ({ enumerable: true, get: function () { return abiParameter_js_1.InvalidAbiTypeParameterError; } }));\nObject.defineProperty(exports, \"InvalidFunctionModifierError\", ({ enumerable: true, get: function () { return abiParameter_js_1.InvalidFunctionModifierError; } }));\nObject.defineProperty(exports, \"InvalidModifierError\", ({ enumerable: true, get: function () { return abiParameter_js_1.InvalidModifierError; } }));\nObject.defineProperty(exports, \"SolidityProtectedKeywordError\", ({ enumerable: true, get: function () { return abiParameter_js_1.SolidityProtectedKeywordError; } }));\nObject.defineProperty(exports, \"InvalidParameterError\", ({ enumerable: true, get: function () { return abiParameter_js_1.InvalidParameterError; } }));\nObject.defineProperty(exports, \"InvalidAbiParametersError\", ({ enumerable: true, get: function () { return abiParameter_js_1.InvalidAbiParametersError; } }));\nObject.defineProperty(exports, \"InvalidAbiParameterError\", ({ enumerable: true, get: function () { return abiParameter_js_1.InvalidAbiParameterError; } }));\nvar signature_js_1 = __webpack_require__(/*! ./signature.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/signature.js\");\nObject.defineProperty(exports, \"InvalidStructSignatureError\", ({ enumerable: true, get: function () { return signature_js_1.InvalidStructSignatureError; } }));\nObject.defineProperty(exports, \"InvalidSignatureError\", ({ enumerable: true, get: function () { return signature_js_1.InvalidSignatureError; } }));\nObject.defineProperty(exports, \"UnknownSignatureError\", ({ enumerable: true, get: function () { return signature_js_1.UnknownSignatureError; } }));\nvar splitParameters_js_1 = __webpack_require__(/*! ./splitParameters.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/splitParameters.js\");\nObject.defineProperty(exports, \"InvalidParenthesisError\", ({ enumerable: true, get: function () { return splitParameters_js_1.InvalidParenthesisError; } }));\nvar struct_js_1 = __webpack_require__(/*! ./struct.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/struct.js\");\nObject.defineProperty(exports, \"CircularReferenceError\", ({ enumerable: true, get: function () { return struct_js_1.CircularReferenceError; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsOEJBQThCLEdBQUcsK0JBQStCLEdBQUcsNkJBQTZCLEdBQUcsNkJBQTZCLEdBQUcsbUNBQW1DLEdBQUcsZ0NBQWdDLEdBQUcsaUNBQWlDLEdBQUcsNkJBQTZCLEdBQUcscUNBQXFDLEdBQUcsNEJBQTRCLEdBQUcsb0NBQW9DLEdBQUcsb0NBQW9DLEdBQUcsZ0NBQWdDLEdBQUcsMkJBQTJCLEdBQUcsd0JBQXdCO0FBQzlmLG1CQUFtQixtQkFBTyxDQUFDLHNGQUFjO0FBQ3pDLG9EQUFtRCxFQUFFLHFDQUFxQyx5Q0FBeUMsRUFBQztBQUNwSSx1REFBc0QsRUFBRSxxQ0FBcUMsNENBQTRDLEVBQUM7QUFDMUksNERBQTJELEVBQUUscUNBQXFDLGlEQUFpRCxFQUFDO0FBQ3BKLHdCQUF3QixtQkFBTyxDQUFDLGdHQUFtQjtBQUNuRCxnRUFBK0QsRUFBRSxxQ0FBcUMsMERBQTBELEVBQUM7QUFDakssZ0VBQStELEVBQUUscUNBQXFDLDBEQUEwRCxFQUFDO0FBQ2pLLHdEQUF1RCxFQUFFLHFDQUFxQyxrREFBa0QsRUFBQztBQUNqSixpRUFBZ0UsRUFBRSxxQ0FBcUMsMkRBQTJELEVBQUM7QUFDbksseURBQXdELEVBQUUscUNBQXFDLG1EQUFtRCxFQUFDO0FBQ25KLDZEQUE0RCxFQUFFLHFDQUFxQyx1REFBdUQsRUFBQztBQUMzSiw0REFBMkQsRUFBRSxxQ0FBcUMsc0RBQXNELEVBQUM7QUFDekoscUJBQXFCLG1CQUFPLENBQUMsMEZBQWdCO0FBQzdDLCtEQUE4RCxFQUFFLHFDQUFxQyxzREFBc0QsRUFBQztBQUM1Six5REFBd0QsRUFBRSxxQ0FBcUMsZ0RBQWdELEVBQUM7QUFDaEoseURBQXdELEVBQUUscUNBQXFDLGdEQUFnRCxFQUFDO0FBQ2hKLDJCQUEyQixtQkFBTyxDQUFDLHNHQUFzQjtBQUN6RCwyREFBMEQsRUFBRSxxQ0FBcUMsd0RBQXdELEVBQUM7QUFDMUosa0JBQWtCLG1CQUFPLENBQUMsb0ZBQWE7QUFDdkMsMERBQXlELEVBQUUscUNBQXFDLDhDQUE4QyxFQUFDO0FBQy9JIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvY2pzL2h1bWFuLXJlYWRhYmxlL2Vycm9ycy9pbmRleC5qcz9hYWNiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5DaXJjdWxhclJlZmVyZW5jZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyZW50aGVzaXNFcnJvciA9IGV4cG9ydHMuVW5rbm93blNpZ25hdHVyZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkU2lnbmF0dXJlRXJyb3IgPSBleHBvcnRzLkludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpUGFyYW1ldGVyc0Vycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyYW1ldGVyRXJyb3IgPSBleHBvcnRzLlNvbGlkaXR5UHJvdGVjdGVkS2V5d29yZEVycm9yID0gZXhwb3J0cy5JbnZhbGlkTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvciA9IGV4cG9ydHMuVW5rbm93blNvbGlkaXR5VHlwZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpSXRlbUVycm9yID0gZXhwb3J0cy5Vbmtub3duVHlwZUVycm9yID0gdm9pZCAwO1xudmFyIGFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2FiaUl0ZW0uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVbmtub3duVHlwZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlJdGVtX2pzXzEuVW5rbm93blR5cGVFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRBYmlJdGVtRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaUl0ZW1fanNfMS5JbnZhbGlkQWJpSXRlbUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVW5rbm93blNvbGlkaXR5VHlwZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlJdGVtX2pzXzEuVW5rbm93blNvbGlkaXR5VHlwZUVycm9yOyB9IH0pO1xudmFyIGFiaVBhcmFtZXRlcl9qc18xID0gcmVxdWlyZShcIi4vYWJpUGFyYW1ldGVyLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpUGFyYW1ldGVyX2pzXzEuSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaVBhcmFtZXRlcl9qc18xLkludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkTW9kaWZpZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpUGFyYW1ldGVyX2pzXzEuSW52YWxpZE1vZGlmaWVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpUGFyYW1ldGVyX2pzXzEuU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkUGFyYW1ldGVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaVBhcmFtZXRlcl9qc18xLkludmFsaWRQYXJhbWV0ZXJFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaVBhcmFtZXRlcl9qc18xLkludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaVBhcmFtZXRlcl9qc18xLkludmFsaWRBYmlQYXJhbWV0ZXJFcnJvcjsgfSB9KTtcbnZhciBzaWduYXR1cmVfanNfMSA9IHJlcXVpcmUoXCIuL3NpZ25hdHVyZS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2lnbmF0dXJlX2pzXzEuSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFNpZ25hdHVyZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzaWduYXR1cmVfanNfMS5JbnZhbGlkU2lnbmF0dXJlRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVbmtub3duU2lnbmF0dXJlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNpZ25hdHVyZV9qc18xLlVua25vd25TaWduYXR1cmVFcnJvcjsgfSB9KTtcbnZhciBzcGxpdFBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL3NwbGl0UGFyYW1ldGVycy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRQYXJlbnRoZXNpc0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzcGxpdFBhcmFtZXRlcnNfanNfMS5JbnZhbGlkUGFyZW50aGVzaXNFcnJvcjsgfSB9KTtcbnZhciBzdHJ1Y3RfanNfMSA9IHJlcXVpcmUoXCIuL3N0cnVjdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNpcmN1bGFyUmVmZXJlbmNlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHN0cnVjdF9qc18xLkNpcmN1bGFyUmVmZXJlbmNlRXJyb3I7IH0gfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/errors/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/errors/signature.js": -/*!**************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/errors/signature.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InvalidStructSignatureError = exports.UnknownSignatureError = exports.InvalidSignatureError = void 0;\nconst errors_js_1 = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/cjs/errors.js\");\nclass InvalidSignatureError extends errors_js_1.BaseError {\n constructor({ signature, type, }) {\n super(`Invalid ${type} signature.`, {\n details: signature,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSignatureError'\n });\n }\n}\nexports.InvalidSignatureError = InvalidSignatureError;\nclass UnknownSignatureError extends errors_js_1.BaseError {\n constructor({ signature }) {\n super('Unknown signature.', {\n details: signature,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownSignatureError'\n });\n }\n}\nexports.UnknownSignatureError = UnknownSignatureError;\nclass InvalidStructSignatureError extends errors_js_1.BaseError {\n constructor({ signature }) {\n super('Invalid struct signature.', {\n details: signature,\n metaMessages: ['No properties exist.'],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidStructSignatureError'\n });\n }\n}\nexports.InvalidStructSignatureError = InvalidStructSignatureError;\n//# sourceMappingURL=signature.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc2lnbmF0dXJlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1DQUFtQyxHQUFHLDZCQUE2QixHQUFHLDZCQUE2QjtBQUNuRyxvQkFBb0IsbUJBQU8sQ0FBQyxrRUFBaUI7QUFDN0M7QUFDQSxrQkFBa0Isa0JBQWtCO0FBQ3BDLHlCQUF5QixNQUFNO0FBQy9CO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLGtCQUFrQixXQUFXO0FBQzdCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0Esa0JBQWtCLFdBQVc7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc2lnbmF0dXJlLmpzP2Q1NmMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvciA9IGV4cG9ydHMuVW5rbm93blNpZ25hdHVyZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkU2lnbmF0dXJlRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBlcnJvcnNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMuanNcIik7XG5jbGFzcyBJbnZhbGlkU2lnbmF0dXJlRXJyb3IgZXh0ZW5kcyBlcnJvcnNfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2lnbmF0dXJlLCB0eXBlLCB9KSB7XG4gICAgICAgIHN1cGVyKGBJbnZhbGlkICR7dHlwZX0gc2lnbmF0dXJlLmAsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IHNpZ25hdHVyZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkU2lnbmF0dXJlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZFNpZ25hdHVyZUVycm9yID0gSW52YWxpZFNpZ25hdHVyZUVycm9yO1xuY2xhc3MgVW5rbm93blNpZ25hdHVyZUVycm9yIGV4dGVuZHMgZXJyb3JzX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHNpZ25hdHVyZSB9KSB7XG4gICAgICAgIHN1cGVyKCdVbmtub3duIHNpZ25hdHVyZS4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBzaWduYXR1cmUsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5rbm93blNpZ25hdHVyZUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLlVua25vd25TaWduYXR1cmVFcnJvciA9IFVua25vd25TaWduYXR1cmVFcnJvcjtcbmNsYXNzIEludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBzaWduYXR1cmUgfSkge1xuICAgICAgICBzdXBlcignSW52YWxpZCBzdHJ1Y3Qgc2lnbmF0dXJlLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IHNpZ25hdHVyZSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogWydObyBwcm9wZXJ0aWVzIGV4aXN0LiddLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3IgPSBJbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaWduYXR1cmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/errors/signature.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/errors/splitParameters.js": -/*!********************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/errors/splitParameters.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InvalidParenthesisError = void 0;\nconst errors_js_1 = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/cjs/errors.js\");\nclass InvalidParenthesisError extends errors_js_1.BaseError {\n constructor({ current, depth }) {\n super('Unbalanced parentheses.', {\n metaMessages: [\n `\"${current.trim()}\" has too many ${depth > 0 ? 'opening' : 'closing'} parentheses.`,\n ],\n details: `Depth \"${depth}\"`,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParenthesisError'\n });\n }\n}\nexports.InvalidParenthesisError = InvalidParenthesisError;\n//# sourceMappingURL=splitParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc3BsaXRQYXJhbWV0ZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELCtCQUErQjtBQUMvQixvQkFBb0IsbUJBQU8sQ0FBQyxrRUFBaUI7QUFDN0M7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxpQkFBaUIsbUNBQW1DO0FBQ3ZGO0FBQ0EsK0JBQStCLE1BQU07QUFDckMsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLCtCQUErQjtBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc3BsaXRQYXJhbWV0ZXJzLmpzP2M1ODciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkludmFsaWRQYXJlbnRoZXNpc0Vycm9yID0gdm9pZCAwO1xuY29uc3QgZXJyb3JzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzLmpzXCIpO1xuY2xhc3MgSW52YWxpZFBhcmVudGhlc2lzRXJyb3IgZXh0ZW5kcyBlcnJvcnNfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY3VycmVudCwgZGVwdGggfSkge1xuICAgICAgICBzdXBlcignVW5iYWxhbmNlZCBwYXJlbnRoZXNlcy4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgXCIke2N1cnJlbnQudHJpbSgpfVwiIGhhcyB0b28gbWFueSAke2RlcHRoID4gMCA/ICdvcGVuaW5nJyA6ICdjbG9zaW5nJ30gcGFyZW50aGVzZXMuYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBkZXRhaWxzOiBgRGVwdGggXCIke2RlcHRofVwiYCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkUGFyZW50aGVzaXNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkUGFyZW50aGVzaXNFcnJvciA9IEludmFsaWRQYXJlbnRoZXNpc0Vycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3BsaXRQYXJhbWV0ZXJzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/errors/splitParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/errors/struct.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/errors/struct.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CircularReferenceError = void 0;\nconst errors_js_1 = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/cjs/errors.js\");\nclass CircularReferenceError extends errors_js_1.BaseError {\n constructor({ type }) {\n super('Circular reference detected.', {\n metaMessages: [`Struct \"${type}\" is a circular reference.`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'CircularReferenceError'\n });\n }\n}\nexports.CircularReferenceError = CircularReferenceError;\n//# sourceMappingURL=struct.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc3RydWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDhCQUE4QjtBQUM5QixvQkFBb0IsbUJBQU8sQ0FBQyxrRUFBaUI7QUFDN0M7QUFDQSxrQkFBa0IsTUFBTTtBQUN4QjtBQUNBLHNDQUFzQyxLQUFLO0FBQzNDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvaHVtYW4tcmVhZGFibGUvZXJyb3JzL3N0cnVjdC5qcz8yNzUxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5DaXJjdWxhclJlZmVyZW5jZUVycm9yID0gdm9pZCAwO1xuY29uc3QgZXJyb3JzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzLmpzXCIpO1xuY2xhc3MgQ2lyY3VsYXJSZWZlcmVuY2VFcnJvciBleHRlbmRzIGVycm9yc19qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyB0eXBlIH0pIHtcbiAgICAgICAgc3VwZXIoJ0NpcmN1bGFyIHJlZmVyZW5jZSBkZXRlY3RlZC4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtgU3RydWN0IFwiJHt0eXBlfVwiIGlzIGEgY2lyY3VsYXIgcmVmZXJlbmNlLmBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0NpcmN1bGFyUmVmZXJlbmNlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQ2lyY3VsYXJSZWZlcmVuY2VFcnJvciA9IENpcmN1bGFyUmVmZXJlbmNlRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHJ1Y3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/errors/struct.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/index.js": -/*!***************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/index.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAbiParameters = exports.parseAbiParameter = exports.parseAbiItem = exports.parseAbi = exports.UnknownTypeError = exports.InvalidAbiItemError = exports.InvalidAbiTypeParameterError = exports.InvalidFunctionModifierError = exports.InvalidModifierError = exports.SolidityProtectedKeywordError = exports.InvalidParameterError = exports.InvalidAbiParametersError = exports.InvalidAbiParameterError = exports.InvalidStructSignatureError = exports.InvalidSignatureError = exports.UnknownSignatureError = exports.InvalidParenthesisError = exports.CircularReferenceError = void 0;\nvar index_js_1 = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nObject.defineProperty(exports, \"CircularReferenceError\", ({ enumerable: true, get: function () { return index_js_1.CircularReferenceError; } }));\nObject.defineProperty(exports, \"InvalidParenthesisError\", ({ enumerable: true, get: function () { return index_js_1.InvalidParenthesisError; } }));\nObject.defineProperty(exports, \"UnknownSignatureError\", ({ enumerable: true, get: function () { return index_js_1.UnknownSignatureError; } }));\nObject.defineProperty(exports, \"InvalidSignatureError\", ({ enumerable: true, get: function () { return index_js_1.InvalidSignatureError; } }));\nObject.defineProperty(exports, \"InvalidStructSignatureError\", ({ enumerable: true, get: function () { return index_js_1.InvalidStructSignatureError; } }));\nObject.defineProperty(exports, \"InvalidAbiParameterError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiParameterError; } }));\nObject.defineProperty(exports, \"InvalidAbiParametersError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiParametersError; } }));\nObject.defineProperty(exports, \"InvalidParameterError\", ({ enumerable: true, get: function () { return index_js_1.InvalidParameterError; } }));\nObject.defineProperty(exports, \"SolidityProtectedKeywordError\", ({ enumerable: true, get: function () { return index_js_1.SolidityProtectedKeywordError; } }));\nObject.defineProperty(exports, \"InvalidModifierError\", ({ enumerable: true, get: function () { return index_js_1.InvalidModifierError; } }));\nObject.defineProperty(exports, \"InvalidFunctionModifierError\", ({ enumerable: true, get: function () { return index_js_1.InvalidFunctionModifierError; } }));\nObject.defineProperty(exports, \"InvalidAbiTypeParameterError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiTypeParameterError; } }));\nObject.defineProperty(exports, \"InvalidAbiItemError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiItemError; } }));\nObject.defineProperty(exports, \"UnknownTypeError\", ({ enumerable: true, get: function () { return index_js_1.UnknownTypeError; } }));\nvar parseAbi_js_1 = __webpack_require__(/*! ./parseAbi.js */ \"./node_modules/abitype/dist/cjs/human-readable/parseAbi.js\");\nObject.defineProperty(exports, \"parseAbi\", ({ enumerable: true, get: function () { return parseAbi_js_1.parseAbi; } }));\nvar parseAbiItem_js_1 = __webpack_require__(/*! ./parseAbiItem.js */ \"./node_modules/abitype/dist/cjs/human-readable/parseAbiItem.js\");\nObject.defineProperty(exports, \"parseAbiItem\", ({ enumerable: true, get: function () { return parseAbiItem_js_1.parseAbiItem; } }));\nvar parseAbiParameter_js_1 = __webpack_require__(/*! ./parseAbiParameter.js */ \"./node_modules/abitype/dist/cjs/human-readable/parseAbiParameter.js\");\nObject.defineProperty(exports, \"parseAbiParameter\", ({ enumerable: true, get: function () { return parseAbiParameter_js_1.parseAbiParameter; } }));\nvar parseAbiParameters_js_1 = __webpack_require__(/*! ./parseAbiParameters.js */ \"./node_modules/abitype/dist/cjs/human-readable/parseAbiParameters.js\");\nObject.defineProperty(exports, \"parseAbiParameters\", ({ enumerable: true, get: function () { return parseAbiParameters_js_1.parseAbiParameters; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQkFBMEIsR0FBRyx5QkFBeUIsR0FBRyxvQkFBb0IsR0FBRyxnQkFBZ0IsR0FBRyx3QkFBd0IsR0FBRywyQkFBMkIsR0FBRyxvQ0FBb0MsR0FBRyxvQ0FBb0MsR0FBRyw0QkFBNEIsR0FBRyxxQ0FBcUMsR0FBRyw2QkFBNkIsR0FBRyxpQ0FBaUMsR0FBRyxnQ0FBZ0MsR0FBRyxtQ0FBbUMsR0FBRyw2QkFBNkIsR0FBRyw2QkFBNkIsR0FBRywrQkFBK0IsR0FBRyw4QkFBOEI7QUFDOWpCLGlCQUFpQixtQkFBTyxDQUFDLHlGQUFtQjtBQUM1QywwREFBeUQsRUFBRSxxQ0FBcUMsNkNBQTZDLEVBQUM7QUFDOUksMkRBQTBELEVBQUUscUNBQXFDLDhDQUE4QyxFQUFDO0FBQ2hKLHlEQUF3RCxFQUFFLHFDQUFxQyw0Q0FBNEMsRUFBQztBQUM1SSx5REFBd0QsRUFBRSxxQ0FBcUMsNENBQTRDLEVBQUM7QUFDNUksK0RBQThELEVBQUUscUNBQXFDLGtEQUFrRCxFQUFDO0FBQ3hKLDREQUEyRCxFQUFFLHFDQUFxQywrQ0FBK0MsRUFBQztBQUNsSiw2REFBNEQsRUFBRSxxQ0FBcUMsZ0RBQWdELEVBQUM7QUFDcEoseURBQXdELEVBQUUscUNBQXFDLDRDQUE0QyxFQUFDO0FBQzVJLGlFQUFnRSxFQUFFLHFDQUFxQyxvREFBb0QsRUFBQztBQUM1Six3REFBdUQsRUFBRSxxQ0FBcUMsMkNBQTJDLEVBQUM7QUFDMUksZ0VBQStELEVBQUUscUNBQXFDLG1EQUFtRCxFQUFDO0FBQzFKLGdFQUErRCxFQUFFLHFDQUFxQyxtREFBbUQsRUFBQztBQUMxSix1REFBc0QsRUFBRSxxQ0FBcUMsMENBQTBDLEVBQUM7QUFDeEksb0RBQW1ELEVBQUUscUNBQXFDLHVDQUF1QyxFQUFDO0FBQ2xJLG9CQUFvQixtQkFBTyxDQUFDLGlGQUFlO0FBQzNDLDRDQUEyQyxFQUFFLHFDQUFxQyxrQ0FBa0MsRUFBQztBQUNySCx3QkFBd0IsbUJBQU8sQ0FBQyx5RkFBbUI7QUFDbkQsZ0RBQStDLEVBQUUscUNBQXFDLDBDQUEwQyxFQUFDO0FBQ2pJLDZCQUE2QixtQkFBTyxDQUFDLG1HQUF3QjtBQUM3RCxxREFBb0QsRUFBRSxxQ0FBcUMsb0RBQW9ELEVBQUM7QUFDaEosOEJBQThCLG1CQUFPLENBQUMscUdBQXlCO0FBQy9ELHNEQUFxRCxFQUFFLHFDQUFxQyxzREFBc0QsRUFBQztBQUNuSiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9pbmRleC5qcz9lOGY4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wYXJzZUFiaVBhcmFtZXRlcnMgPSBleHBvcnRzLnBhcnNlQWJpUGFyYW1ldGVyID0gZXhwb3J0cy5wYXJzZUFiaUl0ZW0gPSBleHBvcnRzLnBhcnNlQWJpID0gZXhwb3J0cy5Vbmtub3duVHlwZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpSXRlbUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5JbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yID0gZXhwb3J0cy5JbnZhbGlkTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3IgPSBleHBvcnRzLkludmFsaWRQYXJhbWV0ZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5JbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3IgPSBleHBvcnRzLkludmFsaWRTaWduYXR1cmVFcnJvciA9IGV4cG9ydHMuVW5rbm93blNpZ25hdHVyZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyZW50aGVzaXNFcnJvciA9IGV4cG9ydHMuQ2lyY3VsYXJSZWZlcmVuY2VFcnJvciA9IHZvaWQgMDtcbnZhciBpbmRleF9qc18xID0gcmVxdWlyZShcIi4vZXJyb3JzL2luZGV4LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ2lyY3VsYXJSZWZlcmVuY2VFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5DaXJjdWxhclJlZmVyZW5jZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFBhcmVudGhlc2lzRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuSW52YWxpZFBhcmVudGhlc2lzRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVbmtub3duU2lnbmF0dXJlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuVW5rbm93blNpZ25hdHVyZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFNpZ25hdHVyZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRTaWduYXR1cmVFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkQWJpUGFyYW1ldGVyc0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFBhcmFtZXRlckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRQYXJhbWV0ZXJFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlNvbGlkaXR5UHJvdGVjdGVkS2V5d29yZEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLlNvbGlkaXR5UHJvdGVjdGVkS2V5d29yZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZE1vZGlmaWVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuSW52YWxpZE1vZGlmaWVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWJpSXRlbUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRBYmlJdGVtRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVbmtub3duVHlwZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLlVua25vd25UeXBlRXJyb3I7IH0gfSk7XG52YXIgcGFyc2VBYmlfanNfMSA9IHJlcXVpcmUoXCIuL3BhcnNlQWJpLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VBYmlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlQWJpX2pzXzEucGFyc2VBYmk7IH0gfSk7XG52YXIgcGFyc2VBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi9wYXJzZUFiaUl0ZW0uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZUFiaUl0ZW1cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlQWJpSXRlbV9qc18xLnBhcnNlQWJpSXRlbTsgfSB9KTtcbnZhciBwYXJzZUFiaVBhcmFtZXRlcl9qc18xID0gcmVxdWlyZShcIi4vcGFyc2VBYmlQYXJhbWV0ZXIuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZUFiaVBhcmFtZXRlclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VBYmlQYXJhbWV0ZXJfanNfMS5wYXJzZUFiaVBhcmFtZXRlcjsgfSB9KTtcbnZhciBwYXJzZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL3BhcnNlQWJpUGFyYW1ldGVycy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpUGFyYW1ldGVyc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VBYmlQYXJhbWV0ZXJzX2pzXzEucGFyc2VBYmlQYXJhbWV0ZXJzOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/parseAbi.js": -/*!******************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/parseAbi.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAbi = void 0;\nconst index_js_1 = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/index.js\");\nfunction parseAbi(signatures) {\n const structs = (0, index_js_1.parseStructs)(signatures);\n const abi = [];\n const length = signatures.length;\n for (let i = 0; i < length; i++) {\n const signature = signatures[i];\n if ((0, index_js_1.isStructSignature)(signature))\n continue;\n abi.push((0, index_js_1.parseSignature)(signature, structs));\n }\n return abi;\n}\nexports.parseAbi = parseAbi;\n//# sourceMappingURL=parseAbi.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0I7QUFDaEIsbUJBQW1CLG1CQUFPLENBQUMsMkZBQW9CO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFlBQVk7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvaHVtYW4tcmVhZGFibGUvcGFyc2VBYmkuanM/MWI1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2VBYmkgPSB2b2lkIDA7XG5jb25zdCBpbmRleF9qc18xID0gcmVxdWlyZShcIi4vcnVudGltZS9pbmRleC5qc1wiKTtcbmZ1bmN0aW9uIHBhcnNlQWJpKHNpZ25hdHVyZXMpIHtcbiAgICBjb25zdCBzdHJ1Y3RzID0gKDAsIGluZGV4X2pzXzEucGFyc2VTdHJ1Y3RzKShzaWduYXR1cmVzKTtcbiAgICBjb25zdCBhYmkgPSBbXTtcbiAgICBjb25zdCBsZW5ndGggPSBzaWduYXR1cmVzLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IHNpZ25hdHVyZXNbaV07XG4gICAgICAgIGlmICgoMCwgaW5kZXhfanNfMS5pc1N0cnVjdFNpZ25hdHVyZSkoc2lnbmF0dXJlKSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBhYmkucHVzaCgoMCwgaW5kZXhfanNfMS5wYXJzZVNpZ25hdHVyZSkoc2lnbmF0dXJlLCBzdHJ1Y3RzKSk7XG4gICAgfVxuICAgIHJldHVybiBhYmk7XG59XG5leHBvcnRzLnBhcnNlQWJpID0gcGFyc2VBYmk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZUFiaS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/parseAbi.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/parseAbiItem.js": -/*!**********************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/parseAbiItem.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAbiItem = void 0;\nconst index_js_1 = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst index_js_2 = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/index.js\");\nfunction parseAbiItem(signature) {\n let abiItem;\n if (typeof signature === 'string')\n abiItem = (0, index_js_2.parseSignature)(signature);\n else {\n const structs = (0, index_js_2.parseStructs)(signature);\n const length = signature.length;\n for (let i = 0; i < length; i++) {\n const signature_ = signature[i];\n if ((0, index_js_2.isStructSignature)(signature_))\n continue;\n abiItem = (0, index_js_2.parseSignature)(signature_, structs);\n break;\n }\n }\n if (!abiItem)\n throw new index_js_1.InvalidAbiItemError({ signature });\n return abiItem;\n}\nexports.parseAbiItem = parseAbiItem;\n//# sourceMappingURL=parseAbiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaUl0ZW0uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCLG1CQUFtQixtQkFBTyxDQUFDLHlGQUFtQjtBQUM5QyxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBb0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsWUFBWTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELFdBQVc7QUFDOUQ7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaUl0ZW0uanM/ZDEwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2VBYmlJdGVtID0gdm9pZCAwO1xuY29uc3QgaW5kZXhfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9pbmRleC5qc1wiKTtcbmNvbnN0IGluZGV4X2pzXzIgPSByZXF1aXJlKFwiLi9ydW50aW1lL2luZGV4LmpzXCIpO1xuZnVuY3Rpb24gcGFyc2VBYmlJdGVtKHNpZ25hdHVyZSkge1xuICAgIGxldCBhYmlJdGVtO1xuICAgIGlmICh0eXBlb2Ygc2lnbmF0dXJlID09PSAnc3RyaW5nJylcbiAgICAgICAgYWJpSXRlbSA9ICgwLCBpbmRleF9qc18yLnBhcnNlU2lnbmF0dXJlKShzaWduYXR1cmUpO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBzdHJ1Y3RzID0gKDAsIGluZGV4X2pzXzIucGFyc2VTdHJ1Y3RzKShzaWduYXR1cmUpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBzaWduYXR1cmUubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzaWduYXR1cmVfID0gc2lnbmF0dXJlW2ldO1xuICAgICAgICAgICAgaWYgKCgwLCBpbmRleF9qc18yLmlzU3RydWN0U2lnbmF0dXJlKShzaWduYXR1cmVfKSlcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGFiaUl0ZW0gPSAoMCwgaW5kZXhfanNfMi5wYXJzZVNpZ25hdHVyZSkoc2lnbmF0dXJlXywgc3RydWN0cyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWFiaUl0ZW0pXG4gICAgICAgIHRocm93IG5ldyBpbmRleF9qc18xLkludmFsaWRBYmlJdGVtRXJyb3IoeyBzaWduYXR1cmUgfSk7XG4gICAgcmV0dXJuIGFiaUl0ZW07XG59XG5leHBvcnRzLnBhcnNlQWJpSXRlbSA9IHBhcnNlQWJpSXRlbTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWJpSXRlbS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/parseAbiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/parseAbiParameter.js": -/*!***************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/parseAbiParameter.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAbiParameter = void 0;\nconst index_js_1 = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst index_js_2 = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/index.js\");\nfunction parseAbiParameter(param) {\n let abiParameter;\n if (typeof param === 'string')\n abiParameter = (0, index_js_2.parseAbiParameter)(param, {\n modifiers: index_js_2.modifiers,\n });\n else {\n const structs = (0, index_js_2.parseStructs)(param);\n const length = param.length;\n for (let i = 0; i < length; i++) {\n const signature = param[i];\n if ((0, index_js_2.isStructSignature)(signature))\n continue;\n abiParameter = (0, index_js_2.parseAbiParameter)(signature, { modifiers: index_js_2.modifiers, structs });\n break;\n }\n }\n if (!abiParameter)\n throw new index_js_1.InvalidAbiParameterError({ param });\n return abiParameter;\n}\nexports.parseAbiParameter = parseAbiParameter;\n//# sourceMappingURL=parseAbiParameter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaVBhcmFtZXRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5QkFBeUI7QUFDekIsbUJBQW1CLG1CQUFPLENBQUMseUZBQW1CO0FBQzlDLG1CQUFtQixtQkFBTyxDQUFDLDJGQUFvQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRSwwQ0FBMEM7QUFDcEg7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsT0FBTztBQUMvRDtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvY2pzL2h1bWFuLXJlYWRhYmxlL3BhcnNlQWJpUGFyYW1ldGVyLmpzP2YwMzAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnBhcnNlQWJpUGFyYW1ldGVyID0gdm9pZCAwO1xuY29uc3QgaW5kZXhfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9pbmRleC5qc1wiKTtcbmNvbnN0IGluZGV4X2pzXzIgPSByZXF1aXJlKFwiLi9ydW50aW1lL2luZGV4LmpzXCIpO1xuZnVuY3Rpb24gcGFyc2VBYmlQYXJhbWV0ZXIocGFyYW0pIHtcbiAgICBsZXQgYWJpUGFyYW1ldGVyO1xuICAgIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKVxuICAgICAgICBhYmlQYXJhbWV0ZXIgPSAoMCwgaW5kZXhfanNfMi5wYXJzZUFiaVBhcmFtZXRlcikocGFyYW0sIHtcbiAgICAgICAgICAgIG1vZGlmaWVyczogaW5kZXhfanNfMi5tb2RpZmllcnMsXG4gICAgICAgIH0pO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBzdHJ1Y3RzID0gKDAsIGluZGV4X2pzXzIucGFyc2VTdHJ1Y3RzKShwYXJhbSk7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2lnbmF0dXJlID0gcGFyYW1baV07XG4gICAgICAgICAgICBpZiAoKDAsIGluZGV4X2pzXzIuaXNTdHJ1Y3RTaWduYXR1cmUpKHNpZ25hdHVyZSkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBhYmlQYXJhbWV0ZXIgPSAoMCwgaW5kZXhfanNfMi5wYXJzZUFiaVBhcmFtZXRlcikoc2lnbmF0dXJlLCB7IG1vZGlmaWVyczogaW5kZXhfanNfMi5tb2RpZmllcnMsIHN0cnVjdHMgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWFiaVBhcmFtZXRlcilcbiAgICAgICAgdGhyb3cgbmV3IGluZGV4X2pzXzEuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yKHsgcGFyYW0gfSk7XG4gICAgcmV0dXJuIGFiaVBhcmFtZXRlcjtcbn1cbmV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXIgPSBwYXJzZUFiaVBhcmFtZXRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWJpUGFyYW1ldGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/parseAbiParameter.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/parseAbiParameters.js": -/*!****************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/parseAbiParameters.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAbiParameters = void 0;\nconst index_js_1 = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst index_js_2 = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/index.js\");\nfunction parseAbiParameters(params) {\n const abiParameters = [];\n if (typeof params === 'string') {\n const parameters = (0, index_js_2.splitParameters)(params);\n const length = parameters.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push((0, index_js_2.parseAbiParameter)(parameters[i], { modifiers: index_js_2.modifiers }));\n }\n }\n else {\n const structs = (0, index_js_2.parseStructs)(params);\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const signature = params[i];\n if ((0, index_js_2.isStructSignature)(signature))\n continue;\n const parameters = (0, index_js_2.splitParameters)(signature);\n const length = parameters.length;\n for (let k = 0; k < length; k++) {\n abiParameters.push((0, index_js_2.parseAbiParameter)(parameters[k], { modifiers: index_js_2.modifiers, structs }));\n }\n }\n }\n if (abiParameters.length === 0)\n throw new index_js_1.InvalidAbiParametersError({ params });\n return abiParameters;\n}\nexports.parseAbiParameters = parseAbiParameters;\n//# sourceMappingURL=parseAbiParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaVBhcmFtZXRlcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMEJBQTBCO0FBQzFCLG1CQUFtQixtQkFBTyxDQUFDLHlGQUFtQjtBQUM5QyxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBb0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLGtGQUFrRixpQ0FBaUM7QUFDbkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsWUFBWTtBQUN4QyxzRkFBc0YsMENBQTBDO0FBQ2hJO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELFFBQVE7QUFDakU7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaVBhcmFtZXRlcnMuanM/NzMyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXJzID0gdm9pZCAwO1xuY29uc3QgaW5kZXhfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9pbmRleC5qc1wiKTtcbmNvbnN0IGluZGV4X2pzXzIgPSByZXF1aXJlKFwiLi9ydW50aW1lL2luZGV4LmpzXCIpO1xuZnVuY3Rpb24gcGFyc2VBYmlQYXJhbWV0ZXJzKHBhcmFtcykge1xuICAgIGNvbnN0IGFiaVBhcmFtZXRlcnMgPSBbXTtcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9ICgwLCBpbmRleF9qc18yLnNwbGl0UGFyYW1ldGVycykocGFyYW1zKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyYW1ldGVycy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFiaVBhcmFtZXRlcnMucHVzaCgoMCwgaW5kZXhfanNfMi5wYXJzZUFiaVBhcmFtZXRlcikocGFyYW1ldGVyc1tpXSwgeyBtb2RpZmllcnM6IGluZGV4X2pzXzIubW9kaWZpZXJzIH0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RydWN0cyA9ICgwLCBpbmRleF9qc18yLnBhcnNlU3RydWN0cykocGFyYW1zKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyYW1zLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2lnbmF0dXJlID0gcGFyYW1zW2ldO1xuICAgICAgICAgICAgaWYgKCgwLCBpbmRleF9qc18yLmlzU3RydWN0U2lnbmF0dXJlKShzaWduYXR1cmUpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9ICgwLCBpbmRleF9qc18yLnNwbGl0UGFyYW1ldGVycykoc2lnbmF0dXJlKTtcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtZXRlcnMubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBsZW5ndGg7IGsrKykge1xuICAgICAgICAgICAgICAgIGFiaVBhcmFtZXRlcnMucHVzaCgoMCwgaW5kZXhfanNfMi5wYXJzZUFiaVBhcmFtZXRlcikocGFyYW1ldGVyc1trXSwgeyBtb2RpZmllcnM6IGluZGV4X2pzXzIubW9kaWZpZXJzLCBzdHJ1Y3RzIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWJpUGFyYW1ldGVycy5sZW5ndGggPT09IDApXG4gICAgICAgIHRocm93IG5ldyBpbmRleF9qc18xLkludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3IoeyBwYXJhbXMgfSk7XG4gICAgcmV0dXJuIGFiaVBhcmFtZXRlcnM7XG59XG5leHBvcnRzLnBhcnNlQWJpUGFyYW1ldGVycyA9IHBhcnNlQWJpUGFyYW1ldGVycztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWJpUGFyYW1ldGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/parseAbiParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/runtime/cache.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/runtime/cache.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parameterCache = exports.getParameterCacheKey = void 0;\nfunction getParameterCacheKey(param, type) {\n if (type)\n return `${type}:${param}`;\n return param;\n}\nexports.getParameterCacheKey = getParameterCacheKey;\nexports.parameterCache = new Map([\n ['address', { type: 'address' }],\n ['bool', { type: 'bool' }],\n ['bytes', { type: 'bytes' }],\n ['bytes32', { type: 'bytes32' }],\n ['int', { type: 'int256' }],\n ['int256', { type: 'int256' }],\n ['string', { type: 'string' }],\n ['uint', { type: 'uint256' }],\n ['uint8', { type: 'uint8' }],\n ['uint16', { type: 'uint16' }],\n ['uint24', { type: 'uint24' }],\n ['uint32', { type: 'uint32' }],\n ['uint64', { type: 'uint64' }],\n ['uint96', { type: 'uint96' }],\n ['uint112', { type: 'uint112' }],\n ['uint160', { type: 'uint160' }],\n ['uint192', { type: 'uint192' }],\n ['uint256', { type: 'uint256' }],\n ['address owner', { type: 'address', name: 'owner' }],\n ['address to', { type: 'address', name: 'to' }],\n ['bool approved', { type: 'bool', name: 'approved' }],\n ['bytes _data', { type: 'bytes', name: '_data' }],\n ['bytes data', { type: 'bytes', name: 'data' }],\n ['bytes signature', { type: 'bytes', name: 'signature' }],\n ['bytes32 hash', { type: 'bytes32', name: 'hash' }],\n ['bytes32 r', { type: 'bytes32', name: 'r' }],\n ['bytes32 root', { type: 'bytes32', name: 'root' }],\n ['bytes32 s', { type: 'bytes32', name: 's' }],\n ['string name', { type: 'string', name: 'name' }],\n ['string symbol', { type: 'string', name: 'symbol' }],\n ['string tokenURI', { type: 'string', name: 'tokenURI' }],\n ['uint tokenId', { type: 'uint256', name: 'tokenId' }],\n ['uint8 v', { type: 'uint8', name: 'v' }],\n ['uint256 balance', { type: 'uint256', name: 'balance' }],\n ['uint256 tokenId', { type: 'uint256', name: 'tokenId' }],\n ['uint256 value', { type: 'uint256', name: 'value' }],\n [\n 'event:address indexed from',\n { type: 'address', name: 'from', indexed: true },\n ],\n ['event:address indexed to', { type: 'address', name: 'to', indexed: true }],\n [\n 'event:uint indexed tokenId',\n { type: 'uint256', name: 'tokenId', indexed: true },\n ],\n [\n 'event:uint256 indexed tokenId',\n { type: 'uint256', name: 'tokenId', indexed: true },\n ],\n]);\n//# sourceMappingURL=cache.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL2NhY2hlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQixHQUFHLDRCQUE0QjtBQUNyRDtBQUNBO0FBQ0Esa0JBQWtCLEtBQUssR0FBRyxNQUFNO0FBQ2hDO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUIsc0JBQXNCO0FBQ3RCLGtCQUFrQixpQkFBaUI7QUFDbkMsZUFBZSxjQUFjO0FBQzdCLGdCQUFnQixlQUFlO0FBQy9CLGtCQUFrQixpQkFBaUI7QUFDbkMsY0FBYyxnQkFBZ0I7QUFDOUIsaUJBQWlCLGdCQUFnQjtBQUNqQyxpQkFBaUIsZ0JBQWdCO0FBQ2pDLGVBQWUsaUJBQWlCO0FBQ2hDLGdCQUFnQixlQUFlO0FBQy9CLGlCQUFpQixnQkFBZ0I7QUFDakMsaUJBQWlCLGdCQUFnQjtBQUNqQyxpQkFBaUIsZ0JBQWdCO0FBQ2pDLGlCQUFpQixnQkFBZ0I7QUFDakMsaUJBQWlCLGdCQUFnQjtBQUNqQyxrQkFBa0IsaUJBQWlCO0FBQ25DLGtCQUFrQixpQkFBaUI7QUFDbkMsa0JBQWtCLGlCQUFpQjtBQUNuQyxrQkFBa0IsaUJBQWlCO0FBQ25DLHdCQUF3QixnQ0FBZ0M7QUFDeEQscUJBQXFCLDZCQUE2QjtBQUNsRCx3QkFBd0IsZ0NBQWdDO0FBQ3hELHNCQUFzQiw4QkFBOEI7QUFDcEQscUJBQXFCLDZCQUE2QjtBQUNsRCwwQkFBMEIsa0NBQWtDO0FBQzVELHVCQUF1QiwrQkFBK0I7QUFDdEQsb0JBQW9CLDRCQUE0QjtBQUNoRCx1QkFBdUIsK0JBQStCO0FBQ3RELG9CQUFvQiw0QkFBNEI7QUFDaEQsc0JBQXNCLDhCQUE4QjtBQUNwRCx3QkFBd0IsZ0NBQWdDO0FBQ3hELDBCQUEwQixrQ0FBa0M7QUFDNUQsdUJBQXVCLGtDQUFrQztBQUN6RCxrQkFBa0IsMEJBQTBCO0FBQzVDLDBCQUEwQixrQ0FBa0M7QUFDNUQsMEJBQTBCLGtDQUFrQztBQUM1RCx3QkFBd0IsZ0NBQWdDO0FBQ3hEO0FBQ0E7QUFDQSxVQUFVLDhDQUE4QztBQUN4RDtBQUNBLG1DQUFtQyw0Q0FBNEM7QUFDL0U7QUFDQTtBQUNBLFVBQVUsaURBQWlEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaURBQWlEO0FBQzNEO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL2NhY2hlLmpzPzdjOWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnBhcmFtZXRlckNhY2hlID0gZXhwb3J0cy5nZXRQYXJhbWV0ZXJDYWNoZUtleSA9IHZvaWQgMDtcbmZ1bmN0aW9uIGdldFBhcmFtZXRlckNhY2hlS2V5KHBhcmFtLCB0eXBlKSB7XG4gICAgaWYgKHR5cGUpXG4gICAgICAgIHJldHVybiBgJHt0eXBlfToke3BhcmFtfWA7XG4gICAgcmV0dXJuIHBhcmFtO1xufVxuZXhwb3J0cy5nZXRQYXJhbWV0ZXJDYWNoZUtleSA9IGdldFBhcmFtZXRlckNhY2hlS2V5O1xuZXhwb3J0cy5wYXJhbWV0ZXJDYWNoZSA9IG5ldyBNYXAoW1xuICAgIFsnYWRkcmVzcycsIHsgdHlwZTogJ2FkZHJlc3MnIH1dLFxuICAgIFsnYm9vbCcsIHsgdHlwZTogJ2Jvb2wnIH1dLFxuICAgIFsnYnl0ZXMnLCB7IHR5cGU6ICdieXRlcycgfV0sXG4gICAgWydieXRlczMyJywgeyB0eXBlOiAnYnl0ZXMzMicgfV0sXG4gICAgWydpbnQnLCB7IHR5cGU6ICdpbnQyNTYnIH1dLFxuICAgIFsnaW50MjU2JywgeyB0eXBlOiAnaW50MjU2JyB9XSxcbiAgICBbJ3N0cmluZycsIHsgdHlwZTogJ3N0cmluZycgfV0sXG4gICAgWyd1aW50JywgeyB0eXBlOiAndWludDI1NicgfV0sXG4gICAgWyd1aW50OCcsIHsgdHlwZTogJ3VpbnQ4JyB9XSxcbiAgICBbJ3VpbnQxNicsIHsgdHlwZTogJ3VpbnQxNicgfV0sXG4gICAgWyd1aW50MjQnLCB7IHR5cGU6ICd1aW50MjQnIH1dLFxuICAgIFsndWludDMyJywgeyB0eXBlOiAndWludDMyJyB9XSxcbiAgICBbJ3VpbnQ2NCcsIHsgdHlwZTogJ3VpbnQ2NCcgfV0sXG4gICAgWyd1aW50OTYnLCB7IHR5cGU6ICd1aW50OTYnIH1dLFxuICAgIFsndWludDExMicsIHsgdHlwZTogJ3VpbnQxMTInIH1dLFxuICAgIFsndWludDE2MCcsIHsgdHlwZTogJ3VpbnQxNjAnIH1dLFxuICAgIFsndWludDE5MicsIHsgdHlwZTogJ3VpbnQxOTInIH1dLFxuICAgIFsndWludDI1NicsIHsgdHlwZTogJ3VpbnQyNTYnIH1dLFxuICAgIFsnYWRkcmVzcyBvd25lcicsIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAnb3duZXInIH1dLFxuICAgIFsnYWRkcmVzcyB0bycsIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAndG8nIH1dLFxuICAgIFsnYm9vbCBhcHByb3ZlZCcsIHsgdHlwZTogJ2Jvb2wnLCBuYW1lOiAnYXBwcm92ZWQnIH1dLFxuICAgIFsnYnl0ZXMgX2RhdGEnLCB7IHR5cGU6ICdieXRlcycsIG5hbWU6ICdfZGF0YScgfV0sXG4gICAgWydieXRlcyBkYXRhJywgeyB0eXBlOiAnYnl0ZXMnLCBuYW1lOiAnZGF0YScgfV0sXG4gICAgWydieXRlcyBzaWduYXR1cmUnLCB7IHR5cGU6ICdieXRlcycsIG5hbWU6ICdzaWduYXR1cmUnIH1dLFxuICAgIFsnYnl0ZXMzMiBoYXNoJywgeyB0eXBlOiAnYnl0ZXMzMicsIG5hbWU6ICdoYXNoJyB9XSxcbiAgICBbJ2J5dGVzMzIgcicsIHsgdHlwZTogJ2J5dGVzMzInLCBuYW1lOiAncicgfV0sXG4gICAgWydieXRlczMyIHJvb3QnLCB7IHR5cGU6ICdieXRlczMyJywgbmFtZTogJ3Jvb3QnIH1dLFxuICAgIFsnYnl0ZXMzMiBzJywgeyB0eXBlOiAnYnl0ZXMzMicsIG5hbWU6ICdzJyB9XSxcbiAgICBbJ3N0cmluZyBuYW1lJywgeyB0eXBlOiAnc3RyaW5nJywgbmFtZTogJ25hbWUnIH1dLFxuICAgIFsnc3RyaW5nIHN5bWJvbCcsIHsgdHlwZTogJ3N0cmluZycsIG5hbWU6ICdzeW1ib2wnIH1dLFxuICAgIFsnc3RyaW5nIHRva2VuVVJJJywgeyB0eXBlOiAnc3RyaW5nJywgbmFtZTogJ3Rva2VuVVJJJyB9XSxcbiAgICBbJ3VpbnQgdG9rZW5JZCcsIHsgdHlwZTogJ3VpbnQyNTYnLCBuYW1lOiAndG9rZW5JZCcgfV0sXG4gICAgWyd1aW50OCB2JywgeyB0eXBlOiAndWludDgnLCBuYW1lOiAndicgfV0sXG4gICAgWyd1aW50MjU2IGJhbGFuY2UnLCB7IHR5cGU6ICd1aW50MjU2JywgbmFtZTogJ2JhbGFuY2UnIH1dLFxuICAgIFsndWludDI1NiB0b2tlbklkJywgeyB0eXBlOiAndWludDI1NicsIG5hbWU6ICd0b2tlbklkJyB9XSxcbiAgICBbJ3VpbnQyNTYgdmFsdWUnLCB7IHR5cGU6ICd1aW50MjU2JywgbmFtZTogJ3ZhbHVlJyB9XSxcbiAgICBbXG4gICAgICAgICdldmVudDphZGRyZXNzIGluZGV4ZWQgZnJvbScsXG4gICAgICAgIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAnZnJvbScsIGluZGV4ZWQ6IHRydWUgfSxcbiAgICBdLFxuICAgIFsnZXZlbnQ6YWRkcmVzcyBpbmRleGVkIHRvJywgeyB0eXBlOiAnYWRkcmVzcycsIG5hbWU6ICd0bycsIGluZGV4ZWQ6IHRydWUgfV0sXG4gICAgW1xuICAgICAgICAnZXZlbnQ6dWludCBpbmRleGVkIHRva2VuSWQnLFxuICAgICAgICB7IHR5cGU6ICd1aW50MjU2JywgbmFtZTogJ3Rva2VuSWQnLCBpbmRleGVkOiB0cnVlIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdldmVudDp1aW50MjU2IGluZGV4ZWQgdG9rZW5JZCcsXG4gICAgICAgIHsgdHlwZTogJ3VpbnQyNTYnLCBuYW1lOiAndG9rZW5JZCcsIGluZGV4ZWQ6IHRydWUgfSxcbiAgICBdLFxuXSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jYWNoZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/runtime/cache.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/runtime/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/runtime/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.splitParameters = exports.parseSignature = exports.parseAbiParameter = exports.parseStructs = exports.modifiers = exports.isStructSignature = exports.functionModifiers = exports.eventModifiers = void 0;\nvar signatures_js_1 = __webpack_require__(/*! ./signatures.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/signatures.js\");\nObject.defineProperty(exports, \"eventModifiers\", ({ enumerable: true, get: function () { return signatures_js_1.eventModifiers; } }));\nObject.defineProperty(exports, \"functionModifiers\", ({ enumerable: true, get: function () { return signatures_js_1.functionModifiers; } }));\nObject.defineProperty(exports, \"isStructSignature\", ({ enumerable: true, get: function () { return signatures_js_1.isStructSignature; } }));\nObject.defineProperty(exports, \"modifiers\", ({ enumerable: true, get: function () { return signatures_js_1.modifiers; } }));\nvar structs_js_1 = __webpack_require__(/*! ./structs.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/structs.js\");\nObject.defineProperty(exports, \"parseStructs\", ({ enumerable: true, get: function () { return structs_js_1.parseStructs; } }));\nvar utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/utils.js\");\nObject.defineProperty(exports, \"parseAbiParameter\", ({ enumerable: true, get: function () { return utils_js_1.parseAbiParameter; } }));\nObject.defineProperty(exports, \"parseSignature\", ({ enumerable: true, get: function () { return utils_js_1.parseSignature; } }));\nObject.defineProperty(exports, \"splitParameters\", ({ enumerable: true, get: function () { return utils_js_1.splitParameters; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QixHQUFHLHNCQUFzQixHQUFHLHlCQUF5QixHQUFHLG9CQUFvQixHQUFHLGlCQUFpQixHQUFHLHlCQUF5QixHQUFHLHlCQUF5QixHQUFHLHNCQUFzQjtBQUN4TSxzQkFBc0IsbUJBQU8sQ0FBQyw2RkFBaUI7QUFDL0Msa0RBQWlELEVBQUUscUNBQXFDLDBDQUEwQyxFQUFDO0FBQ25JLHFEQUFvRCxFQUFFLHFDQUFxQyw2Q0FBNkMsRUFBQztBQUN6SSxxREFBb0QsRUFBRSxxQ0FBcUMsNkNBQTZDLEVBQUM7QUFDekksNkNBQTRDLEVBQUUscUNBQXFDLHFDQUFxQyxFQUFDO0FBQ3pILG1CQUFtQixtQkFBTyxDQUFDLHVGQUFjO0FBQ3pDLGdEQUErQyxFQUFFLHFDQUFxQyxxQ0FBcUMsRUFBQztBQUM1SCxpQkFBaUIsbUJBQU8sQ0FBQyxtRkFBWTtBQUNyQyxxREFBb0QsRUFBRSxxQ0FBcUMsd0NBQXdDLEVBQUM7QUFDcEksa0RBQWlELEVBQUUscUNBQXFDLHFDQUFxQyxFQUFDO0FBQzlILG1EQUFrRCxFQUFFLHFDQUFxQyxzQ0FBc0MsRUFBQztBQUNoSSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL2luZGV4LmpzP2FjYTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNwbGl0UGFyYW1ldGVycyA9IGV4cG9ydHMucGFyc2VTaWduYXR1cmUgPSBleHBvcnRzLnBhcnNlQWJpUGFyYW1ldGVyID0gZXhwb3J0cy5wYXJzZVN0cnVjdHMgPSBleHBvcnRzLm1vZGlmaWVycyA9IGV4cG9ydHMuaXNTdHJ1Y3RTaWduYXR1cmUgPSBleHBvcnRzLmZ1bmN0aW9uTW9kaWZpZXJzID0gZXhwb3J0cy5ldmVudE1vZGlmaWVycyA9IHZvaWQgMDtcbnZhciBzaWduYXR1cmVzX2pzXzEgPSByZXF1aXJlKFwiLi9zaWduYXR1cmVzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZXZlbnRNb2RpZmllcnNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNpZ25hdHVyZXNfanNfMS5ldmVudE1vZGlmaWVyczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZ1bmN0aW9uTW9kaWZpZXJzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzaWduYXR1cmVzX2pzXzEuZnVuY3Rpb25Nb2RpZmllcnM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc1N0cnVjdFNpZ25hdHVyZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2lnbmF0dXJlc19qc18xLmlzU3RydWN0U2lnbmF0dXJlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibW9kaWZpZXJzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzaWduYXR1cmVzX2pzXzEubW9kaWZpZXJzOyB9IH0pO1xudmFyIHN0cnVjdHNfanNfMSA9IHJlcXVpcmUoXCIuL3N0cnVjdHMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZVN0cnVjdHNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHN0cnVjdHNfanNfMS5wYXJzZVN0cnVjdHM7IH0gfSk7XG52YXIgdXRpbHNfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VBYmlQYXJhbWV0ZXJcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHV0aWxzX2pzXzEucGFyc2VBYmlQYXJhbWV0ZXI7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZVNpZ25hdHVyZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdXRpbHNfanNfMS5wYXJzZVNpZ25hdHVyZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNwbGl0UGFyYW1ldGVyc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdXRpbHNfanNfMS5zcGxpdFBhcmFtZXRlcnM7IH0gfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/runtime/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/runtime/signatures.js": -/*!****************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/runtime/signatures.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.functionModifiers = exports.eventModifiers = exports.modifiers = exports.isReceiveSignature = exports.isFallbackSignature = exports.execConstructorSignature = exports.isConstructorSignature = exports.execStructSignature = exports.isStructSignature = exports.execFunctionSignature = exports.isFunctionSignature = exports.execEventSignature = exports.isEventSignature = exports.execErrorSignature = exports.isErrorSignature = void 0;\nconst regex_js_1 = __webpack_require__(/*! ../../regex.js */ \"./node_modules/abitype/dist/cjs/regex.js\");\nconst errorSignatureRegex = /^error (?<name>[a-zA-Z0-9_]+)\\((?<parameters>.*?)\\)$/;\nfunction isErrorSignature(signature) {\n return errorSignatureRegex.test(signature);\n}\nexports.isErrorSignature = isErrorSignature;\nfunction execErrorSignature(signature) {\n return (0, regex_js_1.execTyped)(errorSignatureRegex, signature);\n}\nexports.execErrorSignature = execErrorSignature;\nconst eventSignatureRegex = /^event (?<name>[a-zA-Z0-9_]+)\\((?<parameters>.*?)\\)$/;\nfunction isEventSignature(signature) {\n return eventSignatureRegex.test(signature);\n}\nexports.isEventSignature = isEventSignature;\nfunction execEventSignature(signature) {\n return (0, regex_js_1.execTyped)(eventSignatureRegex, signature);\n}\nexports.execEventSignature = execEventSignature;\nconst functionSignatureRegex = /^function (?<name>[a-zA-Z0-9_]+)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/;\nfunction isFunctionSignature(signature) {\n return functionSignatureRegex.test(signature);\n}\nexports.isFunctionSignature = isFunctionSignature;\nfunction execFunctionSignature(signature) {\n return (0, regex_js_1.execTyped)(functionSignatureRegex, signature);\n}\nexports.execFunctionSignature = execFunctionSignature;\nconst structSignatureRegex = /^struct (?<name>[a-zA-Z0-9_]+) \\{(?<properties>.*?)\\}$/;\nfunction isStructSignature(signature) {\n return structSignatureRegex.test(signature);\n}\nexports.isStructSignature = isStructSignature;\nfunction execStructSignature(signature) {\n return (0, regex_js_1.execTyped)(structSignatureRegex, signature);\n}\nexports.execStructSignature = execStructSignature;\nconst constructorSignatureRegex = /^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/;\nfunction isConstructorSignature(signature) {\n return constructorSignatureRegex.test(signature);\n}\nexports.isConstructorSignature = isConstructorSignature;\nfunction execConstructorSignature(signature) {\n return (0, regex_js_1.execTyped)(constructorSignatureRegex, signature);\n}\nexports.execConstructorSignature = execConstructorSignature;\nconst fallbackSignatureRegex = /^fallback\\(\\)$/;\nfunction isFallbackSignature(signature) {\n return fallbackSignatureRegex.test(signature);\n}\nexports.isFallbackSignature = isFallbackSignature;\nconst receiveSignatureRegex = /^receive\\(\\) external payable$/;\nfunction isReceiveSignature(signature) {\n return receiveSignatureRegex.test(signature);\n}\nexports.isReceiveSignature = isReceiveSignature;\nexports.modifiers = new Set([\n 'memory',\n 'indexed',\n 'storage',\n 'calldata',\n]);\nexports.eventModifiers = new Set(['indexed']);\nexports.functionModifiers = new Set([\n 'calldata',\n 'memory',\n 'storage',\n]);\n//# sourceMappingURL=signatures.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL3NpZ25hdHVyZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCLEdBQUcsc0JBQXNCLEdBQUcsaUJBQWlCLEdBQUcsMEJBQTBCLEdBQUcsMkJBQTJCLEdBQUcsZ0NBQWdDLEdBQUcsOEJBQThCLEdBQUcsMkJBQTJCLEdBQUcseUJBQXlCLEdBQUcsNkJBQTZCLEdBQUcsMkJBQTJCLEdBQUcsMEJBQTBCLEdBQUcsd0JBQXdCLEdBQUcsMEJBQTBCLEdBQUcsd0JBQXdCO0FBQzdhLG1CQUFtQixtQkFBTyxDQUFDLGdFQUFnQjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCLG1IQUFtSCxFQUFFLHVEQUF1RCxFQUFFO0FBQzlLO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IsK0RBQStELG9CQUFvQjtBQUNuRjtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLHFHQUFxRyxFQUFFO0FBQ3ZHO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvaHVtYW4tcmVhZGFibGUvcnVudGltZS9zaWduYXR1cmVzLmpzPzQyYjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmZ1bmN0aW9uTW9kaWZpZXJzID0gZXhwb3J0cy5ldmVudE1vZGlmaWVycyA9IGV4cG9ydHMubW9kaWZpZXJzID0gZXhwb3J0cy5pc1JlY2VpdmVTaWduYXR1cmUgPSBleHBvcnRzLmlzRmFsbGJhY2tTaWduYXR1cmUgPSBleHBvcnRzLmV4ZWNDb25zdHJ1Y3RvclNpZ25hdHVyZSA9IGV4cG9ydHMuaXNDb25zdHJ1Y3RvclNpZ25hdHVyZSA9IGV4cG9ydHMuZXhlY1N0cnVjdFNpZ25hdHVyZSA9IGV4cG9ydHMuaXNTdHJ1Y3RTaWduYXR1cmUgPSBleHBvcnRzLmV4ZWNGdW5jdGlvblNpZ25hdHVyZSA9IGV4cG9ydHMuaXNGdW5jdGlvblNpZ25hdHVyZSA9IGV4cG9ydHMuZXhlY0V2ZW50U2lnbmF0dXJlID0gZXhwb3J0cy5pc0V2ZW50U2lnbmF0dXJlID0gZXhwb3J0cy5leGVjRXJyb3JTaWduYXR1cmUgPSBleHBvcnRzLmlzRXJyb3JTaWduYXR1cmUgPSB2b2lkIDA7XG5jb25zdCByZWdleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3JlZ2V4LmpzXCIpO1xuY29uc3QgZXJyb3JTaWduYXR1cmVSZWdleCA9IC9eZXJyb3IgKD88bmFtZT5bYS16QS1aMC05X10rKVxcKCg/PHBhcmFtZXRlcnM+Lio/KVxcKSQvO1xuZnVuY3Rpb24gaXNFcnJvclNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gZXJyb3JTaWduYXR1cmVSZWdleC50ZXN0KHNpZ25hdHVyZSk7XG59XG5leHBvcnRzLmlzRXJyb3JTaWduYXR1cmUgPSBpc0Vycm9yU2lnbmF0dXJlO1xuZnVuY3Rpb24gZXhlY0Vycm9yU2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiAoMCwgcmVnZXhfanNfMS5leGVjVHlwZWQpKGVycm9yU2lnbmF0dXJlUmVnZXgsIHNpZ25hdHVyZSk7XG59XG5leHBvcnRzLmV4ZWNFcnJvclNpZ25hdHVyZSA9IGV4ZWNFcnJvclNpZ25hdHVyZTtcbmNvbnN0IGV2ZW50U2lnbmF0dXJlUmVnZXggPSAvXmV2ZW50ICg/PG5hbWU+W2EtekEtWjAtOV9dKylcXCgoPzxwYXJhbWV0ZXJzPi4qPylcXCkkLztcbmZ1bmN0aW9uIGlzRXZlbnRTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIGV2ZW50U2lnbmF0dXJlUmVnZXgudGVzdChzaWduYXR1cmUpO1xufVxuZXhwb3J0cy5pc0V2ZW50U2lnbmF0dXJlID0gaXNFdmVudFNpZ25hdHVyZTtcbmZ1bmN0aW9uIGV4ZWNFdmVudFNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gKDAsIHJlZ2V4X2pzXzEuZXhlY1R5cGVkKShldmVudFNpZ25hdHVyZVJlZ2V4LCBzaWduYXR1cmUpO1xufVxuZXhwb3J0cy5leGVjRXZlbnRTaWduYXR1cmUgPSBleGVjRXZlbnRTaWduYXR1cmU7XG5jb25zdCBmdW5jdGlvblNpZ25hdHVyZVJlZ2V4ID0gL15mdW5jdGlvbiAoPzxuYW1lPlthLXpBLVowLTlfXSspXFwoKD88cGFyYW1ldGVycz4uKj8pXFwpKD86ICg/PHNjb3BlPmV4dGVybmFsfHB1YmxpY3sxfSkpPyg/OiAoPzxzdGF0ZU11dGFiaWxpdHk+cHVyZXx2aWV3fG5vbnBheWFibGV8cGF5YWJsZXsxfSkpPyg/OiByZXR1cm5zXFxzP1xcKCg/PHJldHVybnM+Lio/KVxcKSk/JC87XG5mdW5jdGlvbiBpc0Z1bmN0aW9uU2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiBmdW5jdGlvblNpZ25hdHVyZVJlZ2V4LnRlc3Qoc2lnbmF0dXJlKTtcbn1cbmV4cG9ydHMuaXNGdW5jdGlvblNpZ25hdHVyZSA9IGlzRnVuY3Rpb25TaWduYXR1cmU7XG5mdW5jdGlvbiBleGVjRnVuY3Rpb25TaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuICgwLCByZWdleF9qc18xLmV4ZWNUeXBlZCkoZnVuY3Rpb25TaWduYXR1cmVSZWdleCwgc2lnbmF0dXJlKTtcbn1cbmV4cG9ydHMuZXhlY0Z1bmN0aW9uU2lnbmF0dXJlID0gZXhlY0Z1bmN0aW9uU2lnbmF0dXJlO1xuY29uc3Qgc3RydWN0U2lnbmF0dXJlUmVnZXggPSAvXnN0cnVjdCAoPzxuYW1lPlthLXpBLVowLTlfXSspIFxceyg/PHByb3BlcnRpZXM+Lio/KVxcfSQvO1xuZnVuY3Rpb24gaXNTdHJ1Y3RTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIHN0cnVjdFNpZ25hdHVyZVJlZ2V4LnRlc3Qoc2lnbmF0dXJlKTtcbn1cbmV4cG9ydHMuaXNTdHJ1Y3RTaWduYXR1cmUgPSBpc1N0cnVjdFNpZ25hdHVyZTtcbmZ1bmN0aW9uIGV4ZWNTdHJ1Y3RTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuICgwLCByZWdleF9qc18xLmV4ZWNUeXBlZCkoc3RydWN0U2lnbmF0dXJlUmVnZXgsIHNpZ25hdHVyZSk7XG59XG5leHBvcnRzLmV4ZWNTdHJ1Y3RTaWduYXR1cmUgPSBleGVjU3RydWN0U2lnbmF0dXJlO1xuY29uc3QgY29uc3RydWN0b3JTaWduYXR1cmVSZWdleCA9IC9eY29uc3RydWN0b3JcXCgoPzxwYXJhbWV0ZXJzPi4qPylcXCkoPzpcXHMoPzxzdGF0ZU11dGFiaWxpdHk+cGF5YWJsZXsxfSkpPyQvO1xuZnVuY3Rpb24gaXNDb25zdHJ1Y3RvclNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gY29uc3RydWN0b3JTaWduYXR1cmVSZWdleC50ZXN0KHNpZ25hdHVyZSk7XG59XG5leHBvcnRzLmlzQ29uc3RydWN0b3JTaWduYXR1cmUgPSBpc0NvbnN0cnVjdG9yU2lnbmF0dXJlO1xuZnVuY3Rpb24gZXhlY0NvbnN0cnVjdG9yU2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiAoMCwgcmVnZXhfanNfMS5leGVjVHlwZWQpKGNvbnN0cnVjdG9yU2lnbmF0dXJlUmVnZXgsIHNpZ25hdHVyZSk7XG59XG5leHBvcnRzLmV4ZWNDb25zdHJ1Y3RvclNpZ25hdHVyZSA9IGV4ZWNDb25zdHJ1Y3RvclNpZ25hdHVyZTtcbmNvbnN0IGZhbGxiYWNrU2lnbmF0dXJlUmVnZXggPSAvXmZhbGxiYWNrXFwoXFwpJC87XG5mdW5jdGlvbiBpc0ZhbGxiYWNrU2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiBmYWxsYmFja1NpZ25hdHVyZVJlZ2V4LnRlc3Qoc2lnbmF0dXJlKTtcbn1cbmV4cG9ydHMuaXNGYWxsYmFja1NpZ25hdHVyZSA9IGlzRmFsbGJhY2tTaWduYXR1cmU7XG5jb25zdCByZWNlaXZlU2lnbmF0dXJlUmVnZXggPSAvXnJlY2VpdmVcXChcXCkgZXh0ZXJuYWwgcGF5YWJsZSQvO1xuZnVuY3Rpb24gaXNSZWNlaXZlU2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiByZWNlaXZlU2lnbmF0dXJlUmVnZXgudGVzdChzaWduYXR1cmUpO1xufVxuZXhwb3J0cy5pc1JlY2VpdmVTaWduYXR1cmUgPSBpc1JlY2VpdmVTaWduYXR1cmU7XG5leHBvcnRzLm1vZGlmaWVycyA9IG5ldyBTZXQoW1xuICAgICdtZW1vcnknLFxuICAgICdpbmRleGVkJyxcbiAgICAnc3RvcmFnZScsXG4gICAgJ2NhbGxkYXRhJyxcbl0pO1xuZXhwb3J0cy5ldmVudE1vZGlmaWVycyA9IG5ldyBTZXQoWydpbmRleGVkJ10pO1xuZXhwb3J0cy5mdW5jdGlvbk1vZGlmaWVycyA9IG5ldyBTZXQoW1xuICAgICdjYWxsZGF0YScsXG4gICAgJ21lbW9yeScsXG4gICAgJ3N0b3JhZ2UnLFxuXSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaWduYXR1cmVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/runtime/signatures.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/runtime/structs.js": -/*!*************************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/runtime/structs.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseStructs = void 0;\nconst regex_js_1 = __webpack_require__(/*! ../../regex.js */ \"./node_modules/abitype/dist/cjs/regex.js\");\nconst index_js_1 = __webpack_require__(/*! ../errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst index_js_2 = __webpack_require__(/*! ../errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst signatures_js_1 = __webpack_require__(/*! ./signatures.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/signatures.js\");\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/utils.js\");\nfunction parseStructs(signatures) {\n const shallowStructs = {};\n const signaturesLength = signatures.length;\n for (let i = 0; i < signaturesLength; i++) {\n const signature = signatures[i];\n if (!(0, signatures_js_1.isStructSignature)(signature))\n continue;\n const match = (0, signatures_js_1.execStructSignature)(signature);\n if (!match)\n throw new index_js_2.InvalidSignatureError({ signature, type: 'struct' });\n const properties = match.properties.split(';');\n const components = [];\n const propertiesLength = properties.length;\n for (let k = 0; k < propertiesLength; k++) {\n const property = properties[k];\n const trimmed = property.trim();\n if (!trimmed)\n continue;\n const abiParameter = (0, utils_js_1.parseAbiParameter)(trimmed, {\n type: 'struct',\n });\n components.push(abiParameter);\n }\n if (!components.length)\n throw new index_js_2.InvalidStructSignatureError({ signature });\n shallowStructs[match.name] = components;\n }\n const resolvedStructs = {};\n const entries = Object.entries(shallowStructs);\n const entriesLength = entries.length;\n for (let i = 0; i < entriesLength; i++) {\n const [name, parameters] = entries[i];\n resolvedStructs[name] = resolveStructs(parameters, shallowStructs);\n }\n return resolvedStructs;\n}\nexports.parseStructs = parseStructs;\nconst typeWithoutTupleRegex = /^(?<type>[a-zA-Z0-9_]+?)(?<array>(?:\\[\\d*?\\])+?)?$/;\nfunction resolveStructs(abiParameters, structs, ancestors = new Set()) {\n const components = [];\n const length = abiParameters.length;\n for (let i = 0; i < length; i++) {\n const abiParameter = abiParameters[i];\n const isTuple = regex_js_1.isTupleRegex.test(abiParameter.type);\n if (isTuple)\n components.push(abiParameter);\n else {\n const match = (0, regex_js_1.execTyped)(typeWithoutTupleRegex, abiParameter.type);\n if (!match?.type)\n throw new index_js_2.InvalidAbiTypeParameterError({ abiParameter });\n const { array, type } = match;\n if (type in structs) {\n if (ancestors.has(type))\n throw new index_js_2.CircularReferenceError({ type });\n components.push({\n ...abiParameter,\n type: `tuple${array ?? ''}`,\n components: resolveStructs(structs[type] ?? [], structs, new Set([...ancestors, type])),\n });\n }\n else {\n if ((0, utils_js_1.isSolidityType)(type))\n components.push(abiParameter);\n else\n throw new index_js_1.UnknownTypeError({ type });\n }\n }\n }\n return components;\n}\n//# sourceMappingURL=structs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL3N0cnVjdHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCLG1CQUFtQixtQkFBTyxDQUFDLGdFQUFnQjtBQUMzQyxtQkFBbUIsbUJBQU8sQ0FBQywwRkFBb0I7QUFDL0MsbUJBQW1CLG1CQUFPLENBQUMsMEZBQW9CO0FBQy9DLHdCQUF3QixtQkFBTyxDQUFDLDZGQUFpQjtBQUNqRCxtQkFBbUIsbUJBQU8sQ0FBQyxtRkFBWTtBQUN2QztBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isc0JBQXNCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsMkJBQTJCO0FBQ3BGLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0Esd0JBQXdCLHNCQUFzQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsK0RBQStELFdBQVc7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0VBQW9FLGNBQWM7QUFDbEYsb0JBQW9CLGNBQWM7QUFDbEM7QUFDQTtBQUNBLGtFQUFrRSxNQUFNO0FBQ3hFO0FBQ0E7QUFDQSxrQ0FBa0MsWUFBWTtBQUM5QztBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELE1BQU07QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvY2pzL2h1bWFuLXJlYWRhYmxlL3J1bnRpbWUvc3RydWN0cy5qcz9mMjVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wYXJzZVN0cnVjdHMgPSB2b2lkIDA7XG5jb25zdCByZWdleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3JlZ2V4LmpzXCIpO1xuY29uc3QgaW5kZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnMvaW5kZXguanNcIik7XG5jb25zdCBpbmRleF9qc18yID0gcmVxdWlyZShcIi4uL2Vycm9ycy9pbmRleC5qc1wiKTtcbmNvbnN0IHNpZ25hdHVyZXNfanNfMSA9IHJlcXVpcmUoXCIuL3NpZ25hdHVyZXMuanNcIik7XG5jb25zdCB1dGlsc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMuanNcIik7XG5mdW5jdGlvbiBwYXJzZVN0cnVjdHMoc2lnbmF0dXJlcykge1xuICAgIGNvbnN0IHNoYWxsb3dTdHJ1Y3RzID0ge307XG4gICAgY29uc3Qgc2lnbmF0dXJlc0xlbmd0aCA9IHNpZ25hdHVyZXMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2lnbmF0dXJlc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IHNpZ25hdHVyZXNbaV07XG4gICAgICAgIGlmICghKDAsIHNpZ25hdHVyZXNfanNfMS5pc1N0cnVjdFNpZ25hdHVyZSkoc2lnbmF0dXJlKSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBtYXRjaCA9ICgwLCBzaWduYXR1cmVzX2pzXzEuZXhlY1N0cnVjdFNpZ25hdHVyZSkoc2lnbmF0dXJlKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHRocm93IG5ldyBpbmRleF9qc18yLkludmFsaWRTaWduYXR1cmVFcnJvcih7IHNpZ25hdHVyZSwgdHlwZTogJ3N0cnVjdCcgfSk7XG4gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBtYXRjaC5wcm9wZXJ0aWVzLnNwbGl0KCc7Jyk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBbXTtcbiAgICAgICAgY29uc3QgcHJvcGVydGllc0xlbmd0aCA9IHByb3BlcnRpZXMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IHByb3BlcnRpZXNMZW5ndGg7IGsrKykge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2tdO1xuICAgICAgICAgICAgY29uc3QgdHJpbW1lZCA9IHByb3BlcnR5LnRyaW0oKTtcbiAgICAgICAgICAgIGlmICghdHJpbW1lZClcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGNvbnN0IGFiaVBhcmFtZXRlciA9ICgwLCB1dGlsc19qc18xLnBhcnNlQWJpUGFyYW1ldGVyKSh0cmltbWVkLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cnVjdCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChhYmlQYXJhbWV0ZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY29tcG9uZW50cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMi5JbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUgfSk7XG4gICAgICAgIHNoYWxsb3dTdHJ1Y3RzW21hdGNoLm5hbWVdID0gY29tcG9uZW50cztcbiAgICB9XG4gICAgY29uc3QgcmVzb2x2ZWRTdHJ1Y3RzID0ge307XG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHNoYWxsb3dTdHJ1Y3RzKTtcbiAgICBjb25zdCBlbnRyaWVzTGVuZ3RoID0gZW50cmllcy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbnRyaWVzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgW25hbWUsIHBhcmFtZXRlcnNdID0gZW50cmllc1tpXTtcbiAgICAgICAgcmVzb2x2ZWRTdHJ1Y3RzW25hbWVdID0gcmVzb2x2ZVN0cnVjdHMocGFyYW1ldGVycywgc2hhbGxvd1N0cnVjdHMpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZWRTdHJ1Y3RzO1xufVxuZXhwb3J0cy5wYXJzZVN0cnVjdHMgPSBwYXJzZVN0cnVjdHM7XG5jb25zdCB0eXBlV2l0aG91dFR1cGxlUmVnZXggPSAvXig/PHR5cGU+W2EtekEtWjAtOV9dKz8pKD88YXJyYXk+KD86XFxbXFxkKj9cXF0pKz8pPyQvO1xuZnVuY3Rpb24gcmVzb2x2ZVN0cnVjdHMoYWJpUGFyYW1ldGVycywgc3RydWN0cywgYW5jZXN0b3JzID0gbmV3IFNldCgpKSB7XG4gICAgY29uc3QgY29tcG9uZW50cyA9IFtdO1xuICAgIGNvbnN0IGxlbmd0aCA9IGFiaVBhcmFtZXRlcnMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVyID0gYWJpUGFyYW1ldGVyc1tpXTtcbiAgICAgICAgY29uc3QgaXNUdXBsZSA9IHJlZ2V4X2pzXzEuaXNUdXBsZVJlZ2V4LnRlc3QoYWJpUGFyYW1ldGVyLnR5cGUpO1xuICAgICAgICBpZiAoaXNUdXBsZSlcbiAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChhYmlQYXJhbWV0ZXIpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gKDAsIHJlZ2V4X2pzXzEuZXhlY1R5cGVkKSh0eXBlV2l0aG91dFR1cGxlUmVnZXgsIGFiaVBhcmFtZXRlci50eXBlKTtcbiAgICAgICAgICAgIGlmICghbWF0Y2g/LnR5cGUpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGluZGV4X2pzXzIuSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvcih7IGFiaVBhcmFtZXRlciB9KTtcbiAgICAgICAgICAgIGNvbnN0IHsgYXJyYXksIHR5cGUgfSA9IG1hdGNoO1xuICAgICAgICAgICAgaWYgKHR5cGUgaW4gc3RydWN0cykge1xuICAgICAgICAgICAgICAgIGlmIChhbmNlc3RvcnMuaGFzKHR5cGUpKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMi5DaXJjdWxhclJlZmVyZW5jZUVycm9yKHsgdHlwZSB9KTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5hYmlQYXJhbWV0ZXIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGB0dXBsZSR7YXJyYXkgPz8gJyd9YCxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czogcmVzb2x2ZVN0cnVjdHMoc3RydWN0c1t0eXBlXSA/PyBbXSwgc3RydWN0cywgbmV3IFNldChbLi4uYW5jZXN0b3JzLCB0eXBlXSkpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCgwLCB1dGlsc19qc18xLmlzU29saWRpdHlUeXBlKSh0eXBlKSlcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGFiaVBhcmFtZXRlcik7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5Vbmtub3duVHlwZUVycm9yKHsgdHlwZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29tcG9uZW50cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0cnVjdHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/runtime/structs.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/human-readable/runtime/utils.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/human-readable/runtime/utils.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isValidDataLocation = exports.isSolidityKeyword = exports.isSolidityType = exports.splitParameters = exports.parseAbiParameter = exports.parseSignature = void 0;\nconst regex_js_1 = __webpack_require__(/*! ../../regex.js */ \"./node_modules/abitype/dist/cjs/regex.js\");\nconst index_js_1 = __webpack_require__(/*! ../errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst index_js_2 = __webpack_require__(/*! ../errors/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/errors/index.js\");\nconst cache_js_1 = __webpack_require__(/*! ./cache.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/cache.js\");\nconst signatures_js_1 = __webpack_require__(/*! ./signatures.js */ \"./node_modules/abitype/dist/cjs/human-readable/runtime/signatures.js\");\nfunction parseSignature(signature, structs = {}) {\n if ((0, signatures_js_1.isFunctionSignature)(signature)) {\n const match = (0, signatures_js_1.execFunctionSignature)(signature);\n if (!match)\n throw new index_js_1.InvalidSignatureError({ signature, type: 'function' });\n const inputParams = splitParameters(match.parameters);\n const inputs = [];\n const inputLength = inputParams.length;\n for (let i = 0; i < inputLength; i++) {\n inputs.push(parseAbiParameter(inputParams[i], {\n modifiers: signatures_js_1.functionModifiers,\n structs,\n type: 'function',\n }));\n }\n const outputs = [];\n if (match.returns) {\n const outputParams = splitParameters(match.returns);\n const outputLength = outputParams.length;\n for (let i = 0; i < outputLength; i++) {\n outputs.push(parseAbiParameter(outputParams[i], {\n modifiers: signatures_js_1.functionModifiers,\n structs,\n type: 'function',\n }));\n }\n }\n return {\n name: match.name,\n type: 'function',\n stateMutability: match.stateMutability ?? 'nonpayable',\n inputs,\n outputs,\n };\n }\n if ((0, signatures_js_1.isEventSignature)(signature)) {\n const match = (0, signatures_js_1.execEventSignature)(signature);\n if (!match)\n throw new index_js_1.InvalidSignatureError({ signature, type: 'event' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], {\n modifiers: signatures_js_1.eventModifiers,\n structs,\n type: 'event',\n }));\n }\n return { name: match.name, type: 'event', inputs: abiParameters };\n }\n if ((0, signatures_js_1.isErrorSignature)(signature)) {\n const match = (0, signatures_js_1.execErrorSignature)(signature);\n if (!match)\n throw new index_js_1.InvalidSignatureError({ signature, type: 'error' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], { structs, type: 'error' }));\n }\n return { name: match.name, type: 'error', inputs: abiParameters };\n }\n if ((0, signatures_js_1.isConstructorSignature)(signature)) {\n const match = (0, signatures_js_1.execConstructorSignature)(signature);\n if (!match)\n throw new index_js_1.InvalidSignatureError({ signature, type: 'constructor' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], { structs, type: 'constructor' }));\n }\n return {\n type: 'constructor',\n stateMutability: match.stateMutability ?? 'nonpayable',\n inputs: abiParameters,\n };\n }\n if ((0, signatures_js_1.isFallbackSignature)(signature))\n return { type: 'fallback' };\n if ((0, signatures_js_1.isReceiveSignature)(signature))\n return {\n type: 'receive',\n stateMutability: 'payable',\n };\n throw new index_js_1.UnknownSignatureError({ signature });\n}\nexports.parseSignature = parseSignature;\nconst abiParameterWithoutTupleRegex = /^(?<type>[a-zA-Z0-9_]+?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z0-9_]+))?$/;\nconst abiParameterWithTupleRegex = /^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z0-9_]+))?$/;\nconst dynamicIntegerRegex = /^u?int$/;\nfunction parseAbiParameter(param, options) {\n const parameterCacheKey = (0, cache_js_1.getParameterCacheKey)(param, options?.type);\n if (cache_js_1.parameterCache.has(parameterCacheKey))\n return cache_js_1.parameterCache.get(parameterCacheKey);\n const isTuple = regex_js_1.isTupleRegex.test(param);\n const match = (0, regex_js_1.execTyped)(isTuple ? abiParameterWithTupleRegex : abiParameterWithoutTupleRegex, param);\n if (!match)\n throw new index_js_1.InvalidParameterError({ param });\n if (match.name && isSolidityKeyword(match.name))\n throw new index_js_1.SolidityProtectedKeywordError({ param, name: match.name });\n const name = match.name ? { name: match.name } : {};\n const indexed = match.modifier === 'indexed' ? { indexed: true } : {};\n const structs = options?.structs ?? {};\n let type;\n let components = {};\n if (isTuple) {\n type = 'tuple';\n const params = splitParameters(match.type);\n const components_ = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n components_.push(parseAbiParameter(params[i], { structs }));\n }\n components = { components: components_ };\n }\n else if (match.type in structs) {\n type = 'tuple';\n components = { components: structs[match.type] };\n }\n else if (dynamicIntegerRegex.test(match.type)) {\n type = `${match.type}256`;\n }\n else {\n type = match.type;\n if (!(options?.type === 'struct') && !isSolidityType(type))\n throw new index_js_1.UnknownSolidityTypeError({ type });\n }\n if (match.modifier) {\n if (!options?.modifiers?.has?.(match.modifier))\n throw new index_js_1.InvalidModifierError({\n param,\n type: options?.type,\n modifier: match.modifier,\n });\n if (signatures_js_1.functionModifiers.has(match.modifier) &&\n !isValidDataLocation(type, !!match.array))\n throw new index_js_1.InvalidFunctionModifierError({\n param,\n type: options?.type,\n modifier: match.modifier,\n });\n }\n const abiParameter = {\n type: `${type}${match.array ?? ''}`,\n ...name,\n ...indexed,\n ...components,\n };\n cache_js_1.parameterCache.set(parameterCacheKey, abiParameter);\n return abiParameter;\n}\nexports.parseAbiParameter = parseAbiParameter;\nfunction splitParameters(params, result = [], current = '', depth = 0) {\n if (params === '') {\n if (current === '')\n return result;\n if (depth !== 0)\n throw new index_js_2.InvalidParenthesisError({ current, depth });\n result.push(current.trim());\n return result;\n }\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const char = params[i];\n const tail = params.slice(i + 1);\n switch (char) {\n case ',':\n return depth === 0\n ? splitParameters(tail, [...result, current.trim()])\n : splitParameters(tail, result, `${current}${char}`, depth);\n case '(':\n return splitParameters(tail, result, `${current}${char}`, depth + 1);\n case ')':\n return splitParameters(tail, result, `${current}${char}`, depth - 1);\n default:\n return splitParameters(tail, result, `${current}${char}`, depth);\n }\n }\n return [];\n}\nexports.splitParameters = splitParameters;\nfunction isSolidityType(type) {\n return (type === 'address' ||\n type === 'bool' ||\n type === 'function' ||\n type === 'string' ||\n regex_js_1.bytesRegex.test(type) ||\n regex_js_1.integerRegex.test(type));\n}\nexports.isSolidityType = isSolidityType;\nconst protectedKeywordsRegex = /^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;\nfunction isSolidityKeyword(name) {\n return (name === 'address' ||\n name === 'bool' ||\n name === 'function' ||\n name === 'string' ||\n name === 'tuple' ||\n regex_js_1.bytesRegex.test(name) ||\n regex_js_1.integerRegex.test(name) ||\n protectedKeywordsRegex.test(name));\n}\nexports.isSolidityKeyword = isSolidityKeyword;\nfunction isValidDataLocation(type, isArray) {\n return isArray || type === 'bytes' || type === 'string' || type === 'tuple';\n}\nexports.isValidDataLocation = isValidDataLocation;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9odW1hbi1yZWFkYWJsZS9ydW50aW1lL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQixHQUFHLHlCQUF5QixHQUFHLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLHlCQUF5QixHQUFHLHNCQUFzQjtBQUMvSixtQkFBbUIsbUJBQU8sQ0FBQyxnRUFBZ0I7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsMEZBQW9CO0FBQy9DLG1CQUFtQixtQkFBTyxDQUFDLDBGQUFvQjtBQUMvQyxtQkFBbUIsbUJBQU8sQ0FBQyxtRkFBWTtBQUN2Qyx3QkFBd0IsbUJBQU8sQ0FBQyw2RkFBaUI7QUFDakQsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCw2QkFBNkI7QUFDdEY7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGlCQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGtCQUFrQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCwwQkFBMEI7QUFDbkY7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsMEJBQTBCO0FBQ25GO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLDhEQUE4RCx3QkFBd0I7QUFDdEY7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsZ0NBQWdDO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLDhEQUE4RCw4QkFBOEI7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELFdBQVc7QUFDNUQ7QUFDQSxzQkFBc0I7QUFDdEIseUlBQXlJLEVBQUU7QUFDM0ksK0hBQStILEVBQUU7QUFDakk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxPQUFPO0FBQzVEO0FBQ0EsNkRBQTZELHlCQUF5QjtBQUN0RixnQ0FBZ0MsbUJBQW1CO0FBQ25ELHFEQUFxRCxnQkFBZ0I7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLDREQUE0RCxTQUFTO0FBQ3JFO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0Esa0JBQWtCLFdBQVc7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQsTUFBTTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGlCQUFpQixLQUFLLEVBQUUsa0JBQWtCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsZ0JBQWdCO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFlBQVk7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELFFBQVEsRUFBRSxLQUFLO0FBQ3RFO0FBQ0Esd0RBQXdELFFBQVEsRUFBRSxLQUFLO0FBQ3ZFO0FBQ0Esd0RBQXdELFFBQVEsRUFBRSxLQUFLO0FBQ3ZFO0FBQ0Esd0RBQXdELFFBQVEsRUFBRSxLQUFLO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvaHVtYW4tcmVhZGFibGUvcnVudGltZS91dGlscy5qcz83YjE5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc1ZhbGlkRGF0YUxvY2F0aW9uID0gZXhwb3J0cy5pc1NvbGlkaXR5S2V5d29yZCA9IGV4cG9ydHMuaXNTb2xpZGl0eVR5cGUgPSBleHBvcnRzLnNwbGl0UGFyYW1ldGVycyA9IGV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXIgPSBleHBvcnRzLnBhcnNlU2lnbmF0dXJlID0gdm9pZCAwO1xuY29uc3QgcmVnZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9yZWdleC5qc1wiKTtcbmNvbnN0IGluZGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZXJyb3JzL2luZGV4LmpzXCIpO1xuY29uc3QgaW5kZXhfanNfMiA9IHJlcXVpcmUoXCIuLi9lcnJvcnMvaW5kZXguanNcIik7XG5jb25zdCBjYWNoZV9qc18xID0gcmVxdWlyZShcIi4vY2FjaGUuanNcIik7XG5jb25zdCBzaWduYXR1cmVzX2pzXzEgPSByZXF1aXJlKFwiLi9zaWduYXR1cmVzLmpzXCIpO1xuZnVuY3Rpb24gcGFyc2VTaWduYXR1cmUoc2lnbmF0dXJlLCBzdHJ1Y3RzID0ge30pIHtcbiAgICBpZiAoKDAsIHNpZ25hdHVyZXNfanNfMS5pc0Z1bmN0aW9uU2lnbmF0dXJlKShzaWduYXR1cmUpKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gKDAsIHNpZ25hdHVyZXNfanNfMS5leGVjRnVuY3Rpb25TaWduYXR1cmUpKHNpZ25hdHVyZSk7XG4gICAgICAgIGlmICghbWF0Y2gpXG4gICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5JbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdmdW5jdGlvbicgfSk7XG4gICAgICAgIGNvbnN0IGlucHV0UGFyYW1zID0gc3BsaXRQYXJhbWV0ZXJzKG1hdGNoLnBhcmFtZXRlcnMpO1xuICAgICAgICBjb25zdCBpbnB1dHMgPSBbXTtcbiAgICAgICAgY29uc3QgaW5wdXRMZW5ndGggPSBpbnB1dFBhcmFtcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaW5wdXRzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIoaW5wdXRQYXJhbXNbaV0sIHtcbiAgICAgICAgICAgICAgICBtb2RpZmllcnM6IHNpZ25hdHVyZXNfanNfMS5mdW5jdGlvbk1vZGlmaWVycyxcbiAgICAgICAgICAgICAgICBzdHJ1Y3RzLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdmdW5jdGlvbicsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3V0cHV0cyA9IFtdO1xuICAgICAgICBpZiAobWF0Y2gucmV0dXJucykge1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0UGFyYW1zID0gc3BsaXRQYXJhbWV0ZXJzKG1hdGNoLnJldHVybnMpO1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0TGVuZ3RoID0gb3V0cHV0UGFyYW1zLmxlbmd0aDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3V0cHV0TGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBvdXRwdXRzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIob3V0cHV0UGFyYW1zW2ldLCB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczogc2lnbmF0dXJlc19qc18xLmZ1bmN0aW9uTW9kaWZpZXJzLFxuICAgICAgICAgICAgICAgICAgICBzdHJ1Y3RzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogbWF0Y2gubmFtZSxcbiAgICAgICAgICAgIHR5cGU6ICdmdW5jdGlvbicsXG4gICAgICAgICAgICBzdGF0ZU11dGFiaWxpdHk6IG1hdGNoLnN0YXRlTXV0YWJpbGl0eSA/PyAnbm9ucGF5YWJsZScsXG4gICAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgICBvdXRwdXRzLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoKDAsIHNpZ25hdHVyZXNfanNfMS5pc0V2ZW50U2lnbmF0dXJlKShzaWduYXR1cmUpKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gKDAsIHNpZ25hdHVyZXNfanNfMS5leGVjRXZlbnRTaWduYXR1cmUpKHNpZ25hdHVyZSk7XG4gICAgICAgIGlmICghbWF0Y2gpXG4gICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5JbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdldmVudCcgfSk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHNwbGl0UGFyYW1ldGVycyhtYXRjaC5wYXJhbWV0ZXJzKTtcbiAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVycyA9IFtdO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXJhbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhYmlQYXJhbWV0ZXJzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIocGFyYW1zW2ldLCB7XG4gICAgICAgICAgICAgICAgbW9kaWZpZXJzOiBzaWduYXR1cmVzX2pzXzEuZXZlbnRNb2RpZmllcnMsXG4gICAgICAgICAgICAgICAgc3RydWN0cyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnZXZlbnQnLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IG5hbWU6IG1hdGNoLm5hbWUsIHR5cGU6ICdldmVudCcsIGlucHV0czogYWJpUGFyYW1ldGVycyB9O1xuICAgIH1cbiAgICBpZiAoKDAsIHNpZ25hdHVyZXNfanNfMS5pc0Vycm9yU2lnbmF0dXJlKShzaWduYXR1cmUpKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gKDAsIHNpZ25hdHVyZXNfanNfMS5leGVjRXJyb3JTaWduYXR1cmUpKHNpZ25hdHVyZSk7XG4gICAgICAgIGlmICghbWF0Y2gpXG4gICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5JbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdlcnJvcicgfSk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHNwbGl0UGFyYW1ldGVycyhtYXRjaC5wYXJhbWV0ZXJzKTtcbiAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVycyA9IFtdO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXJhbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhYmlQYXJhbWV0ZXJzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIocGFyYW1zW2ldLCB7IHN0cnVjdHMsIHR5cGU6ICdlcnJvcicgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IG5hbWU6IG1hdGNoLm5hbWUsIHR5cGU6ICdlcnJvcicsIGlucHV0czogYWJpUGFyYW1ldGVycyB9O1xuICAgIH1cbiAgICBpZiAoKDAsIHNpZ25hdHVyZXNfanNfMS5pc0NvbnN0cnVjdG9yU2lnbmF0dXJlKShzaWduYXR1cmUpKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gKDAsIHNpZ25hdHVyZXNfanNfMS5leGVjQ29uc3RydWN0b3JTaWduYXR1cmUpKHNpZ25hdHVyZSk7XG4gICAgICAgIGlmICghbWF0Y2gpXG4gICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5JbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdjb25zdHJ1Y3RvcicgfSk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHNwbGl0UGFyYW1ldGVycyhtYXRjaC5wYXJhbWV0ZXJzKTtcbiAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVycyA9IFtdO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXJhbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhYmlQYXJhbWV0ZXJzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIocGFyYW1zW2ldLCB7IHN0cnVjdHMsIHR5cGU6ICdjb25zdHJ1Y3RvcicgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnY29uc3RydWN0b3InLFxuICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiBtYXRjaC5zdGF0ZU11dGFiaWxpdHkgPz8gJ25vbnBheWFibGUnLFxuICAgICAgICAgICAgaW5wdXRzOiBhYmlQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoKDAsIHNpZ25hdHVyZXNfanNfMS5pc0ZhbGxiYWNrU2lnbmF0dXJlKShzaWduYXR1cmUpKVxuICAgICAgICByZXR1cm4geyB0eXBlOiAnZmFsbGJhY2snIH07XG4gICAgaWYgKCgwLCBzaWduYXR1cmVzX2pzXzEuaXNSZWNlaXZlU2lnbmF0dXJlKShzaWduYXR1cmUpKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ3JlY2VpdmUnLFxuICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAncGF5YWJsZScsXG4gICAgICAgIH07XG4gICAgdGhyb3cgbmV3IGluZGV4X2pzXzEuVW5rbm93blNpZ25hdHVyZUVycm9yKHsgc2lnbmF0dXJlIH0pO1xufVxuZXhwb3J0cy5wYXJzZVNpZ25hdHVyZSA9IHBhcnNlU2lnbmF0dXJlO1xuY29uc3QgYWJpUGFyYW1ldGVyV2l0aG91dFR1cGxlUmVnZXggPSAvXig/PHR5cGU+W2EtekEtWjAtOV9dKz8pKD88YXJyYXk+KD86XFxbXFxkKj9cXF0pKz8pPyg/Olxccyg/PG1vZGlmaWVyPmNhbGxkYXRhfGluZGV4ZWR8bWVtb3J5fHN0b3JhZ2V7MX0pKT8oPzpcXHMoPzxuYW1lPlthLXpBLVowLTlfXSspKT8kLztcbmNvbnN0IGFiaVBhcmFtZXRlcldpdGhUdXBsZVJlZ2V4ID0gL15cXCgoPzx0eXBlPi4rPylcXCkoPzxhcnJheT4oPzpcXFtcXGQqP1xcXSkrPyk/KD86XFxzKD88bW9kaWZpZXI+Y2FsbGRhdGF8aW5kZXhlZHxtZW1vcnl8c3RvcmFnZXsxfSkpPyg/Olxccyg/PG5hbWU+W2EtekEtWjAtOV9dKykpPyQvO1xuY29uc3QgZHluYW1pY0ludGVnZXJSZWdleCA9IC9edT9pbnQkLztcbmZ1bmN0aW9uIHBhcnNlQWJpUGFyYW1ldGVyKHBhcmFtLCBvcHRpb25zKSB7XG4gICAgY29uc3QgcGFyYW1ldGVyQ2FjaGVLZXkgPSAoMCwgY2FjaGVfanNfMS5nZXRQYXJhbWV0ZXJDYWNoZUtleSkocGFyYW0sIG9wdGlvbnM/LnR5cGUpO1xuICAgIGlmIChjYWNoZV9qc18xLnBhcmFtZXRlckNhY2hlLmhhcyhwYXJhbWV0ZXJDYWNoZUtleSkpXG4gICAgICAgIHJldHVybiBjYWNoZV9qc18xLnBhcmFtZXRlckNhY2hlLmdldChwYXJhbWV0ZXJDYWNoZUtleSk7XG4gICAgY29uc3QgaXNUdXBsZSA9IHJlZ2V4X2pzXzEuaXNUdXBsZVJlZ2V4LnRlc3QocGFyYW0pO1xuICAgIGNvbnN0IG1hdGNoID0gKDAsIHJlZ2V4X2pzXzEuZXhlY1R5cGVkKShpc1R1cGxlID8gYWJpUGFyYW1ldGVyV2l0aFR1cGxlUmVnZXggOiBhYmlQYXJhbWV0ZXJXaXRob3V0VHVwbGVSZWdleCwgcGFyYW0pO1xuICAgIGlmICghbWF0Y2gpXG4gICAgICAgIHRocm93IG5ldyBpbmRleF9qc18xLkludmFsaWRQYXJhbWV0ZXJFcnJvcih7IHBhcmFtIH0pO1xuICAgIGlmIChtYXRjaC5uYW1lICYmIGlzU29saWRpdHlLZXl3b3JkKG1hdGNoLm5hbWUpKVxuICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5Tb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvcih7IHBhcmFtLCBuYW1lOiBtYXRjaC5uYW1lIH0pO1xuICAgIGNvbnN0IG5hbWUgPSBtYXRjaC5uYW1lID8geyBuYW1lOiBtYXRjaC5uYW1lIH0gOiB7fTtcbiAgICBjb25zdCBpbmRleGVkID0gbWF0Y2gubW9kaWZpZXIgPT09ICdpbmRleGVkJyA/IHsgaW5kZXhlZDogdHJ1ZSB9IDoge307XG4gICAgY29uc3Qgc3RydWN0cyA9IG9wdGlvbnM/LnN0cnVjdHMgPz8ge307XG4gICAgbGV0IHR5cGU7XG4gICAgbGV0IGNvbXBvbmVudHMgPSB7fTtcbiAgICBpZiAoaXNUdXBsZSkge1xuICAgICAgICB0eXBlID0gJ3R1cGxlJztcbiAgICAgICAgY29uc3QgcGFyYW1zID0gc3BsaXRQYXJhbWV0ZXJzKG1hdGNoLnR5cGUpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRzXyA9IFtdO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXJhbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb21wb25lbnRzXy5wdXNoKHBhcnNlQWJpUGFyYW1ldGVyKHBhcmFtc1tpXSwgeyBzdHJ1Y3RzIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBjb21wb25lbnRzID0geyBjb21wb25lbnRzOiBjb21wb25lbnRzXyB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChtYXRjaC50eXBlIGluIHN0cnVjdHMpIHtcbiAgICAgICAgdHlwZSA9ICd0dXBsZSc7XG4gICAgICAgIGNvbXBvbmVudHMgPSB7IGNvbXBvbmVudHM6IHN0cnVjdHNbbWF0Y2gudHlwZV0gfTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHluYW1pY0ludGVnZXJSZWdleC50ZXN0KG1hdGNoLnR5cGUpKSB7XG4gICAgICAgIHR5cGUgPSBgJHttYXRjaC50eXBlfTI1NmA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0eXBlID0gbWF0Y2gudHlwZTtcbiAgICAgICAgaWYgKCEob3B0aW9ucz8udHlwZSA9PT0gJ3N0cnVjdCcpICYmICFpc1NvbGlkaXR5VHlwZSh0eXBlKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBpbmRleF9qc18xLlVua25vd25Tb2xpZGl0eVR5cGVFcnJvcih7IHR5cGUgfSk7XG4gICAgfVxuICAgIGlmIChtYXRjaC5tb2RpZmllcikge1xuICAgICAgICBpZiAoIW9wdGlvbnM/Lm1vZGlmaWVycz8uaGFzPy4obWF0Y2gubW9kaWZpZXIpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGluZGV4X2pzXzEuSW52YWxpZE1vZGlmaWVyRXJyb3Ioe1xuICAgICAgICAgICAgICAgIHBhcmFtLFxuICAgICAgICAgICAgICAgIHR5cGU6IG9wdGlvbnM/LnR5cGUsXG4gICAgICAgICAgICAgICAgbW9kaWZpZXI6IG1hdGNoLm1vZGlmaWVyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIGlmIChzaWduYXR1cmVzX2pzXzEuZnVuY3Rpb25Nb2RpZmllcnMuaGFzKG1hdGNoLm1vZGlmaWVyKSAmJlxuICAgICAgICAgICAgIWlzVmFsaWREYXRhTG9jYXRpb24odHlwZSwgISFtYXRjaC5hcnJheSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgaW5kZXhfanNfMS5JbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yKHtcbiAgICAgICAgICAgICAgICBwYXJhbSxcbiAgICAgICAgICAgICAgICB0eXBlOiBvcHRpb25zPy50eXBlLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyOiBtYXRjaC5tb2RpZmllcixcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBhYmlQYXJhbWV0ZXIgPSB7XG4gICAgICAgIHR5cGU6IGAke3R5cGV9JHttYXRjaC5hcnJheSA/PyAnJ31gLFxuICAgICAgICAuLi5uYW1lLFxuICAgICAgICAuLi5pbmRleGVkLFxuICAgICAgICAuLi5jb21wb25lbnRzLFxuICAgIH07XG4gICAgY2FjaGVfanNfMS5wYXJhbWV0ZXJDYWNoZS5zZXQocGFyYW1ldGVyQ2FjaGVLZXksIGFiaVBhcmFtZXRlcik7XG4gICAgcmV0dXJuIGFiaVBhcmFtZXRlcjtcbn1cbmV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXIgPSBwYXJzZUFiaVBhcmFtZXRlcjtcbmZ1bmN0aW9uIHNwbGl0UGFyYW1ldGVycyhwYXJhbXMsIHJlc3VsdCA9IFtdLCBjdXJyZW50ID0gJycsIGRlcHRoID0gMCkge1xuICAgIGlmIChwYXJhbXMgPT09ICcnKSB7XG4gICAgICAgIGlmIChjdXJyZW50ID09PSAnJylcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIGlmIChkZXB0aCAhPT0gMClcbiAgICAgICAgICAgIHRocm93IG5ldyBpbmRleF9qc18yLkludmFsaWRQYXJlbnRoZXNpc0Vycm9yKHsgY3VycmVudCwgZGVwdGggfSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgY29uc3QgbGVuZ3RoID0gcGFyYW1zLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoYXIgPSBwYXJhbXNbaV07XG4gICAgICAgIGNvbnN0IHRhaWwgPSBwYXJhbXMuc2xpY2UoaSArIDEpO1xuICAgICAgICBzd2l0Y2ggKGNoYXIpIHtcbiAgICAgICAgICAgIGNhc2UgJywnOlxuICAgICAgICAgICAgICAgIHJldHVybiBkZXB0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICA/IHNwbGl0UGFyYW1ldGVycyh0YWlsLCBbLi4ucmVzdWx0LCBjdXJyZW50LnRyaW0oKV0pXG4gICAgICAgICAgICAgICAgICAgIDogc3BsaXRQYXJhbWV0ZXJzKHRhaWwsIHJlc3VsdCwgYCR7Y3VycmVudH0ke2NoYXJ9YCwgZGVwdGgpO1xuICAgICAgICAgICAgY2FzZSAnKCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNwbGl0UGFyYW1ldGVycyh0YWlsLCByZXN1bHQsIGAke2N1cnJlbnR9JHtjaGFyfWAsIGRlcHRoICsgMSk7XG4gICAgICAgICAgICBjYXNlICcpJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3BsaXRQYXJhbWV0ZXJzKHRhaWwsIHJlc3VsdCwgYCR7Y3VycmVudH0ke2NoYXJ9YCwgZGVwdGggLSAxKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNwbGl0UGFyYW1ldGVycyh0YWlsLCByZXN1bHQsIGAke2N1cnJlbnR9JHtjaGFyfWAsIGRlcHRoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW107XG59XG5leHBvcnRzLnNwbGl0UGFyYW1ldGVycyA9IHNwbGl0UGFyYW1ldGVycztcbmZ1bmN0aW9uIGlzU29saWRpdHlUeXBlKHR5cGUpIHtcbiAgICByZXR1cm4gKHR5cGUgPT09ICdhZGRyZXNzJyB8fFxuICAgICAgICB0eXBlID09PSAnYm9vbCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICB0eXBlID09PSAnc3RyaW5nJyB8fFxuICAgICAgICByZWdleF9qc18xLmJ5dGVzUmVnZXgudGVzdCh0eXBlKSB8fFxuICAgICAgICByZWdleF9qc18xLmludGVnZXJSZWdleC50ZXN0KHR5cGUpKTtcbn1cbmV4cG9ydHMuaXNTb2xpZGl0eVR5cGUgPSBpc1NvbGlkaXR5VHlwZTtcbmNvbnN0IHByb3RlY3RlZEtleXdvcmRzUmVnZXggPSAvXig/OmFmdGVyfGFsaWFzfGFub255bW91c3xhcHBseXxhdXRvfGJ5dGV8Y2FsbGRhdGF8Y2FzZXxjYXRjaHxjb25zdGFudHxjb3B5b2Z8ZGVmYXVsdHxkZWZpbmVkfGVycm9yfGV2ZW50fGV4dGVybmFsfGZhbHNlfGZpbmFsfGZ1bmN0aW9ufGltbXV0YWJsZXxpbXBsZW1lbnRzfGlufGluZGV4ZWR8aW5saW5lfGludGVybmFsfGxldHxtYXBwaW5nfG1hdGNofG1lbW9yeXxtdXRhYmxlfG51bGx8b2Z8b3ZlcnJpZGV8cGFydGlhbHxwcml2YXRlfHByb21pc2V8cHVibGljfHB1cmV8cmVmZXJlbmNlfHJlbG9jYXRhYmxlfHJldHVybnxyZXR1cm5zfHNpemVvZnxzdGF0aWN8c3RvcmFnZXxzdHJ1Y3R8c3VwZXJ8c3VwcG9ydHN8c3dpdGNofHRoaXN8dHJ1ZXx0cnl8dHlwZWRlZnx0eXBlb2Z8dmFyfHZpZXd8dmlydHVhbCkkLztcbmZ1bmN0aW9uIGlzU29saWRpdHlLZXl3b3JkKG5hbWUpIHtcbiAgICByZXR1cm4gKG5hbWUgPT09ICdhZGRyZXNzJyB8fFxuICAgICAgICBuYW1lID09PSAnYm9vbCcgfHxcbiAgICAgICAgbmFtZSA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICBuYW1lID09PSAnc3RyaW5nJyB8fFxuICAgICAgICBuYW1lID09PSAndHVwbGUnIHx8XG4gICAgICAgIHJlZ2V4X2pzXzEuYnl0ZXNSZWdleC50ZXN0KG5hbWUpIHx8XG4gICAgICAgIHJlZ2V4X2pzXzEuaW50ZWdlclJlZ2V4LnRlc3QobmFtZSkgfHxcbiAgICAgICAgcHJvdGVjdGVkS2V5d29yZHNSZWdleC50ZXN0KG5hbWUpKTtcbn1cbmV4cG9ydHMuaXNTb2xpZGl0eUtleXdvcmQgPSBpc1NvbGlkaXR5S2V5d29yZDtcbmZ1bmN0aW9uIGlzVmFsaWREYXRhTG9jYXRpb24odHlwZSwgaXNBcnJheSkge1xuICAgIHJldHVybiBpc0FycmF5IHx8IHR5cGUgPT09ICdieXRlcycgfHwgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZSA9PT0gJ3R1cGxlJztcbn1cbmV4cG9ydHMuaXNWYWxpZERhdGFMb2NhdGlvbiA9IGlzVmFsaWREYXRhTG9jYXRpb247XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/human-readable/runtime/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/index.js": -/*!************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/index.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownTypeError = exports.InvalidAbiItemError = exports.InvalidAbiTypeParameterError = exports.InvalidFunctionModifierError = exports.InvalidModifierError = exports.SolidityProtectedKeywordError = exports.InvalidParameterError = exports.InvalidAbiParametersError = exports.InvalidAbiParameterError = exports.InvalidStructSignatureError = exports.InvalidSignatureError = exports.UnknownSignatureError = exports.InvalidParenthesisError = exports.CircularReferenceError = exports.parseAbiParameters = exports.parseAbiParameter = exports.parseAbiItem = exports.parseAbi = exports.narrow = exports.BaseError = void 0;\nvar errors_js_1 = __webpack_require__(/*! ./errors.js */ \"./node_modules/abitype/dist/cjs/errors.js\");\nObject.defineProperty(exports, \"BaseError\", ({ enumerable: true, get: function () { return errors_js_1.BaseError; } }));\nvar narrow_js_1 = __webpack_require__(/*! ./narrow.js */ \"./node_modules/abitype/dist/cjs/narrow.js\");\nObject.defineProperty(exports, \"narrow\", ({ enumerable: true, get: function () { return narrow_js_1.narrow; } }));\nvar index_js_1 = __webpack_require__(/*! ./human-readable/index.js */ \"./node_modules/abitype/dist/cjs/human-readable/index.js\");\nObject.defineProperty(exports, \"parseAbi\", ({ enumerable: true, get: function () { return index_js_1.parseAbi; } }));\nObject.defineProperty(exports, \"parseAbiItem\", ({ enumerable: true, get: function () { return index_js_1.parseAbiItem; } }));\nObject.defineProperty(exports, \"parseAbiParameter\", ({ enumerable: true, get: function () { return index_js_1.parseAbiParameter; } }));\nObject.defineProperty(exports, \"parseAbiParameters\", ({ enumerable: true, get: function () { return index_js_1.parseAbiParameters; } }));\nObject.defineProperty(exports, \"CircularReferenceError\", ({ enumerable: true, get: function () { return index_js_1.CircularReferenceError; } }));\nObject.defineProperty(exports, \"InvalidParenthesisError\", ({ enumerable: true, get: function () { return index_js_1.InvalidParenthesisError; } }));\nObject.defineProperty(exports, \"UnknownSignatureError\", ({ enumerable: true, get: function () { return index_js_1.UnknownSignatureError; } }));\nObject.defineProperty(exports, \"InvalidSignatureError\", ({ enumerable: true, get: function () { return index_js_1.InvalidSignatureError; } }));\nObject.defineProperty(exports, \"InvalidStructSignatureError\", ({ enumerable: true, get: function () { return index_js_1.InvalidStructSignatureError; } }));\nObject.defineProperty(exports, \"InvalidAbiParameterError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiParameterError; } }));\nObject.defineProperty(exports, \"InvalidAbiParametersError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiParametersError; } }));\nObject.defineProperty(exports, \"InvalidParameterError\", ({ enumerable: true, get: function () { return index_js_1.InvalidParameterError; } }));\nObject.defineProperty(exports, \"SolidityProtectedKeywordError\", ({ enumerable: true, get: function () { return index_js_1.SolidityProtectedKeywordError; } }));\nObject.defineProperty(exports, \"InvalidModifierError\", ({ enumerable: true, get: function () { return index_js_1.InvalidModifierError; } }));\nObject.defineProperty(exports, \"InvalidFunctionModifierError\", ({ enumerable: true, get: function () { return index_js_1.InvalidFunctionModifierError; } }));\nObject.defineProperty(exports, \"InvalidAbiTypeParameterError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiTypeParameterError; } }));\nObject.defineProperty(exports, \"InvalidAbiItemError\", ({ enumerable: true, get: function () { return index_js_1.InvalidAbiItemError; } }));\nObject.defineProperty(exports, \"UnknownTypeError\", ({ enumerable: true, get: function () { return index_js_1.UnknownTypeError; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0IsR0FBRywyQkFBMkIsR0FBRyxvQ0FBb0MsR0FBRyxvQ0FBb0MsR0FBRyw0QkFBNEIsR0FBRyxxQ0FBcUMsR0FBRyw2QkFBNkIsR0FBRyxpQ0FBaUMsR0FBRyxnQ0FBZ0MsR0FBRyxtQ0FBbUMsR0FBRyw2QkFBNkIsR0FBRyw2QkFBNkIsR0FBRywrQkFBK0IsR0FBRyw4QkFBOEIsR0FBRywwQkFBMEIsR0FBRyx5QkFBeUIsR0FBRyxvQkFBb0IsR0FBRyxnQkFBZ0IsR0FBRyxjQUFjLEdBQUcsaUJBQWlCO0FBQ25tQixrQkFBa0IsbUJBQU8sQ0FBQyw4REFBYTtBQUN2Qyw2Q0FBNEMsRUFBRSxxQ0FBcUMsaUNBQWlDLEVBQUM7QUFDckgsa0JBQWtCLG1CQUFPLENBQUMsOERBQWE7QUFDdkMsMENBQXlDLEVBQUUscUNBQXFDLDhCQUE4QixFQUFDO0FBQy9HLGlCQUFpQixtQkFBTyxDQUFDLDBGQUEyQjtBQUNwRCw0Q0FBMkMsRUFBRSxxQ0FBcUMsK0JBQStCLEVBQUM7QUFDbEgsZ0RBQStDLEVBQUUscUNBQXFDLG1DQUFtQyxFQUFDO0FBQzFILHFEQUFvRCxFQUFFLHFDQUFxQyx3Q0FBd0MsRUFBQztBQUNwSSxzREFBcUQsRUFBRSxxQ0FBcUMseUNBQXlDLEVBQUM7QUFDdEksMERBQXlELEVBQUUscUNBQXFDLDZDQUE2QyxFQUFDO0FBQzlJLDJEQUEwRCxFQUFFLHFDQUFxQyw4Q0FBOEMsRUFBQztBQUNoSix5REFBd0QsRUFBRSxxQ0FBcUMsNENBQTRDLEVBQUM7QUFDNUkseURBQXdELEVBQUUscUNBQXFDLDRDQUE0QyxFQUFDO0FBQzVJLCtEQUE4RCxFQUFFLHFDQUFxQyxrREFBa0QsRUFBQztBQUN4Siw0REFBMkQsRUFBRSxxQ0FBcUMsK0NBQStDLEVBQUM7QUFDbEosNkRBQTRELEVBQUUscUNBQXFDLGdEQUFnRCxFQUFDO0FBQ3BKLHlEQUF3RCxFQUFFLHFDQUFxQyw0Q0FBNEMsRUFBQztBQUM1SSxpRUFBZ0UsRUFBRSxxQ0FBcUMsb0RBQW9ELEVBQUM7QUFDNUosd0RBQXVELEVBQUUscUNBQXFDLDJDQUEyQyxFQUFDO0FBQzFJLGdFQUErRCxFQUFFLHFDQUFxQyxtREFBbUQsRUFBQztBQUMxSixnRUFBK0QsRUFBRSxxQ0FBcUMsbURBQW1ELEVBQUM7QUFDMUosdURBQXNELEVBQUUscUNBQXFDLDBDQUEwQyxFQUFDO0FBQ3hJLG9EQUFtRCxFQUFFLHFDQUFxQyx1Q0FBdUMsRUFBQztBQUNsSSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9pbmRleC5qcz8yMjJhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Vbmtub3duVHlwZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpSXRlbUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5JbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yID0gZXhwb3J0cy5JbnZhbGlkTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3IgPSBleHBvcnRzLkludmFsaWRQYXJhbWV0ZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5JbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3IgPSBleHBvcnRzLkludmFsaWRTaWduYXR1cmVFcnJvciA9IGV4cG9ydHMuVW5rbm93blNpZ25hdHVyZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyZW50aGVzaXNFcnJvciA9IGV4cG9ydHMuQ2lyY3VsYXJSZWZlcmVuY2VFcnJvciA9IGV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXJzID0gZXhwb3J0cy5wYXJzZUFiaVBhcmFtZXRlciA9IGV4cG9ydHMucGFyc2VBYmlJdGVtID0gZXhwb3J0cy5wYXJzZUFiaSA9IGV4cG9ydHMubmFycm93ID0gZXhwb3J0cy5CYXNlRXJyb3IgPSB2b2lkIDA7XG52YXIgZXJyb3JzX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJCYXNlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVycm9yc19qc18xLkJhc2VFcnJvcjsgfSB9KTtcbnZhciBuYXJyb3dfanNfMSA9IHJlcXVpcmUoXCIuL25hcnJvdy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5hcnJvd1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbmFycm93X2pzXzEubmFycm93OyB9IH0pO1xudmFyIGluZGV4X2pzXzEgPSByZXF1aXJlKFwiLi9odW1hbi1yZWFkYWJsZS9pbmRleC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLnBhcnNlQWJpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VBYmlJdGVtXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLnBhcnNlQWJpSXRlbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpUGFyYW1ldGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLnBhcnNlQWJpUGFyYW1ldGVyOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VBYmlQYXJhbWV0ZXJzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLnBhcnNlQWJpUGFyYW1ldGVyczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNpcmN1bGFyUmVmZXJlbmNlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuQ2lyY3VsYXJSZWZlcmVuY2VFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRQYXJlbnRoZXNpc0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRQYXJlbnRoZXNpc0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVW5rbm93blNpZ25hdHVyZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLlVua25vd25TaWduYXR1cmVFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRTaWduYXR1cmVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkU2lnbmF0dXJlRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaVBhcmFtZXRlckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRBYmlQYXJhbWV0ZXJFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGluZGV4X2pzXzEuSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRQYXJhbWV0ZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkUGFyYW1ldGVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5Tb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRNb2RpZmllckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpbmRleF9qc18xLkludmFsaWRNb2RpZmllckVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaUl0ZW1FcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5JbnZhbGlkQWJpSXRlbUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVW5rbm93blR5cGVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaW5kZXhfanNfMS5Vbmtub3duVHlwZUVycm9yOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/narrow.js": -/*!*************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/narrow.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.narrow = void 0;\nfunction narrow(value) {\n return value;\n}\nexports.narrow = narrow;\n//# sourceMappingURL=narrow.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9uYXJyb3cuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9uYXJyb3cuanM/YjNjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMubmFycm93ID0gdm9pZCAwO1xuZnVuY3Rpb24gbmFycm93KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuZXhwb3J0cy5uYXJyb3cgPSBuYXJyb3c7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1uYXJyb3cuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/narrow.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/regex.js": -/*!************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/regex.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isTupleRegex = exports.integerRegex = exports.bytesRegex = exports.execTyped = void 0;\nfunction execTyped(regex, string) {\n const match = regex.exec(string);\n return match?.groups;\n}\nexports.execTyped = execTyped;\nexports.bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;\nexports.integerRegex = /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;\nexports.isTupleRegex = /^\\(.+?\\).*?$/;\n//# sourceMappingURL=regex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy9yZWdleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0IsR0FBRyxvQkFBb0IsR0FBRyxrQkFBa0IsR0FBRyxpQkFBaUI7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvcmVnZXguanM/OWY4ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaXNUdXBsZVJlZ2V4ID0gZXhwb3J0cy5pbnRlZ2VyUmVnZXggPSBleHBvcnRzLmJ5dGVzUmVnZXggPSBleHBvcnRzLmV4ZWNUeXBlZCA9IHZvaWQgMDtcbmZ1bmN0aW9uIGV4ZWNUeXBlZChyZWdleCwgc3RyaW5nKSB7XG4gICAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKHN0cmluZyk7XG4gICAgcmV0dXJuIG1hdGNoPy5ncm91cHM7XG59XG5leHBvcnRzLmV4ZWNUeXBlZCA9IGV4ZWNUeXBlZDtcbmV4cG9ydHMuYnl0ZXNSZWdleCA9IC9eYnl0ZXMoWzEtOV18MVswLTldfDJbMC05XXwzWzAtMl0pPyQvO1xuZXhwb3J0cy5pbnRlZ2VyUmVnZXggPSAvXnU/aW50KDh8MTZ8MjR8MzJ8NDB8NDh8NTZ8NjR8NzJ8ODB8ODh8OTZ8MTA0fDExMnwxMjB8MTI4fDEzNnwxNDR8MTUyfDE2MHwxNjh8MTc2fDE4NHwxOTJ8MjAwfDIwOHwyMTZ8MjI0fDIzMnwyNDB8MjQ4fDI1Nik/JC87XG5leHBvcnRzLmlzVHVwbGVSZWdleCA9IC9eXFwoLis/XFwpLio/JC87XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWdleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/cjs/version.js": -/*!**************************************************!*\ - !*** ./node_modules/abitype/dist/cjs/version.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.version = void 0;\nexports.version = '0.8.7';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2Nqcy92ZXJzaW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGVBQWU7QUFDZixlQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9janMvdmVyc2lvbi5qcz9kZjYxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy52ZXJzaW9uID0gdm9pZCAwO1xuZXhwb3J0cy52ZXJzaW9uID0gJzAuOC43Jztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlcnNpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/cjs/version.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAccount = void 0;\nfunction parseAccount(account) {\n if (typeof account === 'string')\n return { address: account, type: 'json-rpc' };\n return account;\n}\nexports.parseAccount = parseAccount;\n//# sourceMappingURL=parseAccount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanM/MTk2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2VBY2NvdW50ID0gdm9pZCAwO1xuZnVuY3Rpb24gcGFyc2VBY2NvdW50KGFjY291bnQpIHtcbiAgICBpZiAodHlwZW9mIGFjY291bnQgPT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm4geyBhZGRyZXNzOiBhY2NvdW50LCB0eXBlOiAnanNvbi1ycGMnIH07XG4gICAgcmV0dXJuIGFjY291bnQ7XG59XG5leHBvcnRzLnBhcnNlQWNjb3VudCA9IHBhcnNlQWNjb3VudDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWNjb3VudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/accounts/utils/publicKeyToAddress.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/accounts/utils/publicKeyToAddress.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.publicKeyToAddress = void 0;\nconst getAddress_js_1 = __webpack_require__(/*! ../../utils/address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../../utils/hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nfunction publicKeyToAddress(publicKey) {\n const address = (0, keccak256_js_1.keccak256)(`0x${publicKey.substring(4)}`).substring(26);\n return (0, getAddress_js_1.checksumAddress)(`0x${address}`);\n}\nexports.publicKeyToAddress = publicKeyToAddress;\n//# sourceMappingURL=publicKeyToAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY2NvdW50cy91dGlscy9wdWJsaWNLZXlUb0FkZHJlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMEJBQTBCO0FBQzFCLHdCQUF3QixtQkFBTyxDQUFDLG1HQUFtQztBQUNuRSx1QkFBdUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDOUQ7QUFDQSx1REFBdUQsdUJBQXVCO0FBQzlFLHFEQUFxRCxRQUFRO0FBQzdEO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjY291bnRzL3V0aWxzL3B1YmxpY0tleVRvQWRkcmVzcy5qcz9kMDg1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wdWJsaWNLZXlUb0FkZHJlc3MgPSB2b2lkIDA7XG5jb25zdCBnZXRBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvYWRkcmVzcy9nZXRBZGRyZXNzLmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvaGFzaC9rZWNjYWsyNTYuanNcIik7XG5mdW5jdGlvbiBwdWJsaWNLZXlUb0FkZHJlc3MocHVibGljS2V5KSB7XG4gICAgY29uc3QgYWRkcmVzcyA9ICgwLCBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTYpKGAweCR7cHVibGljS2V5LnN1YnN0cmluZyg0KX1gKS5zdWJzdHJpbmcoMjYpO1xuICAgIHJldHVybiAoMCwgZ2V0QWRkcmVzc19qc18xLmNoZWNrc3VtQWRkcmVzcykoYDB4JHthZGRyZXNzfWApO1xufVxuZXhwb3J0cy5wdWJsaWNLZXlUb0FkZHJlc3MgPSBwdWJsaWNLZXlUb0FkZHJlc3M7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdWJsaWNLZXlUb0FkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/accounts/utils/publicKeyToAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/ens/getEnsAddress.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/ens/getEnsAddress.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEnsAddress = void 0;\nconst abis_js_1 = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/cjs/constants/abis.js\");\nconst contract_js_1 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst decodeFunctionResult_js_1 = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst trim_js_1 = __webpack_require__(/*! ../../utils/data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst namehash_js_1 = __webpack_require__(/*! ../../utils/ens/namehash.js */ \"./node_modules/viem/dist/cjs/utils/ens/namehash.js\");\nconst packetToBytes_js_1 = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js\");\nconst readContract_js_1 = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nasync function getEnsAddress(client, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0, chain_js_1.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n try {\n const res = await (0, readContract_js_1.readContract)(client, {\n address: universalResolverAddress,\n abi: abis_js_1.universalResolverAbi,\n functionName: 'resolve',\n args: [\n (0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name)),\n (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi: abis_js_1.singleAddressResolverAbi,\n functionName: 'addr',\n args: [(0, namehash_js_1.namehash)(name)],\n }),\n ],\n blockNumber,\n blockTag,\n });\n if (res[0] === '0x')\n return null;\n const address = (0, decodeFunctionResult_js_1.decodeFunctionResult)({\n abi: abis_js_1.singleAddressResolverAbi,\n functionName: 'addr',\n data: res[0],\n });\n return (0, trim_js_1.trim)(address) === '0x00' ? null : address;\n }\n catch (err) {\n if (err instanceof contract_js_1.ContractFunctionExecutionError) {\n const reason = err.cause?.reason;\n if (reason?.includes('Wildcard on non-extended resolvers is not supported'))\n return null;\n }\n throw err;\n }\n}\nexports.getEnsAddress = getEnsAddress;\n//# sourceMappingURL=getEnsAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNBZGRyZXNzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQixrQkFBa0IsbUJBQU8sQ0FBQywrRUFBeUI7QUFDbkQsc0JBQXNCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3hELGtDQUFrQyxtQkFBTyxDQUFDLCtHQUF5QztBQUNuRixnQ0FBZ0MsbUJBQU8sQ0FBQywyR0FBdUM7QUFDL0UsbUJBQW1CLG1CQUFPLENBQUMseUVBQXNCO0FBQ2pELGtCQUFrQixtQkFBTyxDQUFDLGlGQUEwQjtBQUNwRCxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsc0JBQXNCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzNELDJCQUEyQixtQkFBTyxDQUFDLGlHQUFrQztBQUNyRSwwQkFBMEIsbUJBQU8sQ0FBQyw4RkFBMkI7QUFDN0QsdUNBQXVDLG1GQUFtRjtBQUMxSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9lbnMvZ2V0RW5zQWRkcmVzcy5qcz82ODExIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRFbnNBZGRyZXNzID0gdm9pZCAwO1xuY29uc3QgYWJpc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy9hYmlzLmpzXCIpO1xuY29uc3QgY29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvY29udHJhY3QuanNcIik7XG5jb25zdCBkZWNvZGVGdW5jdGlvblJlc3VsdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qc1wiKTtcbmNvbnN0IGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9lbmNvZGVGdW5jdGlvbkRhdGEuanNcIik7XG5jb25zdCBjaGFpbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2NoYWluLmpzXCIpO1xuY29uc3QgdHJpbV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2RhdGEvdHJpbS5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBuYW1laGFzaF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Vucy9uYW1laGFzaC5qc1wiKTtcbmNvbnN0IHBhY2tldFRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbnMvcGFja2V0VG9CeXRlcy5qc1wiKTtcbmNvbnN0IHJlYWRDb250cmFjdF9qc18xID0gcmVxdWlyZShcIi4uL3B1YmxpYy9yZWFkQ29udHJhY3QuanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRFbnNBZGRyZXNzKGNsaWVudCwgeyBibG9ja051bWJlciwgYmxvY2tUYWcsIG5hbWUsIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzczogdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzXywgfSkge1xuICAgIGxldCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgPSB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3NfO1xuICAgIGlmICghdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzKSB7XG4gICAgICAgIGlmICghY2xpZW50LmNoYWluKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjbGllbnQgY2hhaW4gbm90IGNvbmZpZ3VyZWQuIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyBpcyByZXF1aXJlZC4nKTtcbiAgICAgICAgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzID0gKDAsIGNoYWluX2pzXzEuZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3MpKHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgY2hhaW46IGNsaWVudC5jaGFpbixcbiAgICAgICAgICAgIGNvbnRyYWN0OiAnZW5zVW5pdmVyc2FsUmVzb2x2ZXInLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgKDAsIHJlYWRDb250cmFjdF9qc18xLnJlYWRDb250cmFjdCkoY2xpZW50LCB7XG4gICAgICAgICAgICBhZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MsXG4gICAgICAgICAgICBhYmk6IGFiaXNfanNfMS51bml2ZXJzYWxSZXNvbHZlckFiaSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3Jlc29sdmUnLFxuICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgICgwLCB0b0hleF9qc18xLnRvSGV4KSgoMCwgcGFja2V0VG9CeXRlc19qc18xLnBhY2tldFRvQnl0ZXMpKG5hbWUpKSxcbiAgICAgICAgICAgICAgICAoMCwgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEuZW5jb2RlRnVuY3Rpb25EYXRhKSh7XG4gICAgICAgICAgICAgICAgICAgIGFiaTogYWJpc19qc18xLnNpbmdsZUFkZHJlc3NSZXNvbHZlckFiaSxcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiAnYWRkcicsXG4gICAgICAgICAgICAgICAgICAgIGFyZ3M6IFsoMCwgbmFtZWhhc2hfanNfMS5uYW1laGFzaCkobmFtZSldLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocmVzWzBdID09PSAnMHgnKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IGFkZHJlc3MgPSAoMCwgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5kZWNvZGVGdW5jdGlvblJlc3VsdCkoe1xuICAgICAgICAgICAgYWJpOiBhYmlzX2pzXzEuc2luZ2xlQWRkcmVzc1Jlc29sdmVyQWJpLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiAnYWRkcicsXG4gICAgICAgICAgICBkYXRhOiByZXNbMF0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKDAsIHRyaW1fanNfMS50cmltKShhZGRyZXNzKSA9PT0gJzB4MDAnID8gbnVsbCA6IGFkZHJlc3M7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIGNvbnRyYWN0X2pzXzEuQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCByZWFzb24gPSBlcnIuY2F1c2U/LnJlYXNvbjtcbiAgICAgICAgICAgIGlmIChyZWFzb24/LmluY2x1ZGVzKCdXaWxkY2FyZCBvbiBub24tZXh0ZW5kZWQgcmVzb2x2ZXJzIGlzIG5vdCBzdXBwb3J0ZWQnKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfVxufVxuZXhwb3J0cy5nZXRFbnNBZGRyZXNzID0gZ2V0RW5zQWRkcmVzcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVuc0FkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/ens/getEnsAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/ens/getEnsAvatar.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/ens/getEnsAvatar.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEnsAvatar = void 0;\nconst parseAvatarRecord_js_1 = __webpack_require__(/*! ../../utils/ens/avatar/parseAvatarRecord.js */ \"./node_modules/viem/dist/cjs/utils/ens/avatar/parseAvatarRecord.js\");\nconst getEnsText_js_1 = __webpack_require__(/*! ./getEnsText.js */ \"./node_modules/viem/dist/cjs/actions/ens/getEnsText.js\");\nasync function getEnsAvatar(client, { blockNumber, blockTag, gatewayUrls, name, universalResolverAddress, }) {\n const record = await (0, getEnsText_js_1.getEnsText)(client, {\n blockNumber,\n blockTag,\n key: 'avatar',\n name,\n universalResolverAddress,\n });\n if (!record)\n return null;\n try {\n return await (0, parseAvatarRecord_js_1.parseAvatarRecord)(client, { record, gatewayUrls });\n }\n catch {\n return null;\n }\n}\nexports.getEnsAvatar = getEnsAvatar;\n//# sourceMappingURL=getEnsAvatar.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNBdmF0YXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCLCtCQUErQixtQkFBTyxDQUFDLHVIQUE2QztBQUNwRix3QkFBd0IsbUJBQU8sQ0FBQywrRUFBaUI7QUFDakQsc0NBQXNDLHFFQUFxRTtBQUMzRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsNkVBQTZFLHFCQUFxQjtBQUNsRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvZW5zL2dldEVuc0F2YXRhci5qcz9mYTljIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRFbnNBdmF0YXIgPSB2b2lkIDA7XG5jb25zdCBwYXJzZUF2YXRhclJlY29yZF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Vucy9hdmF0YXIvcGFyc2VBdmF0YXJSZWNvcmQuanNcIik7XG5jb25zdCBnZXRFbnNUZXh0X2pzXzEgPSByZXF1aXJlKFwiLi9nZXRFbnNUZXh0LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0RW5zQXZhdGFyKGNsaWVudCwgeyBibG9ja051bWJlciwgYmxvY2tUYWcsIGdhdGV3YXlVcmxzLCBuYW1lLCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MsIH0pIHtcbiAgICBjb25zdCByZWNvcmQgPSBhd2FpdCAoMCwgZ2V0RW5zVGV4dF9qc18xLmdldEVuc1RleHQpKGNsaWVudCwge1xuICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgIGtleTogJ2F2YXRhcicsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyxcbiAgICB9KTtcbiAgICBpZiAoIXJlY29yZClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0ICgwLCBwYXJzZUF2YXRhclJlY29yZF9qc18xLnBhcnNlQXZhdGFyUmVjb3JkKShjbGllbnQsIHsgcmVjb3JkLCBnYXRld2F5VXJscyB9KTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5leHBvcnRzLmdldEVuc0F2YXRhciA9IGdldEVuc0F2YXRhcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVuc0F2YXRhci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/ens/getEnsAvatar.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/ens/getEnsName.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/ens/getEnsName.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEnsName = void 0;\nconst solidity_js_1 = __webpack_require__(/*! ../../constants/solidity.js */ \"./node_modules/viem/dist/cjs/constants/solidity.js\");\nconst contract_js_1 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst packetToBytes_js_1 = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js\");\nconst readContract_js_1 = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nasync function getEnsName(client, { address, blockNumber, blockTag, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0, chain_js_1.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;\n try {\n const res = await (0, readContract_js_1.readContract)(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'reverse',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ type: 'bytes', name: 'reverseName' }],\n outputs: [\n { type: 'string', name: 'resolvedName' },\n { type: 'address', name: 'resolvedAddress' },\n { type: 'address', name: 'reverseResolver' },\n { type: 'address', name: 'resolver' },\n ],\n },\n ],\n functionName: 'reverse',\n args: [(0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(reverseNode))],\n blockNumber,\n blockTag,\n });\n return res[0];\n }\n catch (error) {\n if (error instanceof contract_js_1.ContractFunctionExecutionError &&\n error.cause.reason === solidity_js_1.panicReasons[50])\n return null;\n throw error;\n }\n}\nexports.getEnsName = getEnsName;\n//# sourceMappingURL=getEnsName.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNOYW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQixzQkFBc0IsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDM0Qsc0JBQXNCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3hELG1CQUFtQixtQkFBTyxDQUFDLHlFQUFzQjtBQUNqRCxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsMkJBQTJCLG1CQUFPLENBQUMsaUdBQWtDO0FBQ3JFLDBCQUEwQixtQkFBTyxDQUFDLDhGQUEyQjtBQUM3RCxvQ0FBb0Msc0ZBQXNGO0FBQzFIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSwyQkFBMkIsbUNBQW1DO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0Isb0NBQW9DO0FBQ25FO0FBQ0EsMEJBQTBCLHNDQUFzQztBQUNoRSwwQkFBMEIsMENBQTBDO0FBQ3BFLDBCQUEwQiwwQ0FBMEM7QUFDcEUsMEJBQTBCLG1DQUFtQztBQUM3RDtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNOYW1lLmpzPzkzODkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEVuc05hbWUgPSB2b2lkIDA7XG5jb25zdCBzb2xpZGl0eV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy9zb2xpZGl0eS5qc1wiKTtcbmNvbnN0IGNvbnRyYWN0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2NvbnRyYWN0LmpzXCIpO1xuY29uc3QgY2hhaW5fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9jaGFpbi5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBwYWNrZXRUb0J5dGVzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5zL3BhY2tldFRvQnl0ZXMuanNcIik7XG5jb25zdCByZWFkQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi9wdWJsaWMvcmVhZENvbnRyYWN0LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0RW5zTmFtZShjbGllbnQsIHsgYWRkcmVzcywgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3M6IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc18sIH0pIHtcbiAgICBsZXQgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzID0gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzXztcbiAgICBpZiAoIXVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcykge1xuICAgICAgICBpZiAoIWNsaWVudC5jaGFpbilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2xpZW50IGNoYWluIG5vdCBjb25maWd1cmVkLiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9ICgwLCBjaGFpbl9qc18xLmdldENoYWluQ29udHJhY3RBZGRyZXNzKSh7XG4gICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgIGNoYWluOiBjbGllbnQuY2hhaW4sXG4gICAgICAgICAgICBjb250cmFjdDogJ2Vuc1VuaXZlcnNhbFJlc29sdmVyJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHJldmVyc2VOb2RlID0gYCR7YWRkcmVzcy50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZygyKX0uYWRkci5yZXZlcnNlYDtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCAoMCwgcmVhZENvbnRyYWN0X2pzXzEucmVhZENvbnRyYWN0KShjbGllbnQsIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyxcbiAgICAgICAgICAgIGFiaTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3JldmVyc2UnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICd2aWV3JyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiBbeyB0eXBlOiAnYnl0ZXMnLCBuYW1lOiAncmV2ZXJzZU5hbWUnIH1dLFxuICAgICAgICAgICAgICAgICAgICBvdXRwdXRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdzdHJpbmcnLCBuYW1lOiAncmVzb2x2ZWROYW1lJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnYWRkcmVzcycsIG5hbWU6ICdyZXNvbHZlZEFkZHJlc3MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdhZGRyZXNzJywgbmFtZTogJ3JldmVyc2VSZXNvbHZlcicgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAncmVzb2x2ZXInIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWU6ICdyZXZlcnNlJyxcbiAgICAgICAgICAgIGFyZ3M6IFsoMCwgdG9IZXhfanNfMS50b0hleCkoKDAsIHBhY2tldFRvQnl0ZXNfanNfMS5wYWNrZXRUb0J5dGVzKShyZXZlcnNlTm9kZSkpXSxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzWzBdO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgY29udHJhY3RfanNfMS5Db250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3IgJiZcbiAgICAgICAgICAgIGVycm9yLmNhdXNlLnJlYXNvbiA9PT0gc29saWRpdHlfanNfMS5wYW5pY1JlYXNvbnNbNTBdKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cbmV4cG9ydHMuZ2V0RW5zTmFtZSA9IGdldEVuc05hbWU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRFbnNOYW1lLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/ens/getEnsName.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/ens/getEnsResolver.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/ens/getEnsResolver.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEnsResolver = void 0;\nconst chain_js_1 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst packetToBytes_js_1 = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js\");\nconst readContract_js_1 = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nasync function getEnsResolver(client, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0, chain_js_1.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const [resolverAddress] = await (0, readContract_js_1.readContract)(client, {\n address: universalResolverAddress,\n abi: [\n {\n inputs: [{ type: 'bytes' }],\n name: 'findResolver',\n outputs: [{ type: 'address' }, { type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n ],\n functionName: 'findResolver',\n args: [(0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name))],\n blockNumber,\n blockTag,\n });\n return resolverAddress;\n}\nexports.getEnsResolver = getEnsResolver;\n//# sourceMappingURL=getEnsResolver.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNSZXNvbHZlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0I7QUFDdEIsbUJBQW1CLG1CQUFPLENBQUMseUVBQXNCO0FBQ2pELG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCwyQkFBMkIsbUJBQU8sQ0FBQyxpR0FBa0M7QUFDckUsMEJBQTBCLG1CQUFPLENBQUMsOEZBQTJCO0FBQzdELHdDQUF3QyxtRkFBbUY7QUFDM0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLGVBQWU7QUFDMUM7QUFDQSw0QkFBNEIsaUJBQWlCLElBQUksaUJBQWlCO0FBQ2xFO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvZW5zL2dldEVuc1Jlc29sdmVyLmpzP2QzMzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEVuc1Jlc29sdmVyID0gdm9pZCAwO1xuY29uc3QgY2hhaW5fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9jaGFpbi5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBwYWNrZXRUb0J5dGVzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5zL3BhY2tldFRvQnl0ZXMuanNcIik7XG5jb25zdCByZWFkQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi9wdWJsaWMvcmVhZENvbnRyYWN0LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0RW5zUmVzb2x2ZXIoY2xpZW50LCB7IGJsb2NrTnVtYmVyLCBibG9ja1RhZywgbmFtZSwgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3NfLCB9KSB7XG4gICAgbGV0IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc187XG4gICAgaWYgKCF1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MpIHtcbiAgICAgICAgaWYgKCFjbGllbnQuY2hhaW4pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsaWVudCBjaGFpbiBub3QgY29uZmlndXJlZC4gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzIGlzIHJlcXVpcmVkLicpO1xuICAgICAgICB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgPSAoMCwgY2hhaW5fanNfMS5nZXRDaGFpbkNvbnRyYWN0QWRkcmVzcykoe1xuICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICBjaGFpbjogY2xpZW50LmNoYWluLFxuICAgICAgICAgICAgY29udHJhY3Q6ICdlbnNVbml2ZXJzYWxSZXNvbHZlcicsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBbcmVzb2x2ZXJBZGRyZXNzXSA9IGF3YWl0ICgwLCByZWFkQ29udHJhY3RfanNfMS5yZWFkQ29udHJhY3QpKGNsaWVudCwge1xuICAgICAgICBhZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MsXG4gICAgICAgIGFiaTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlucHV0czogW3sgdHlwZTogJ2J5dGVzJyB9XSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnZmluZFJlc29sdmVyJyxcbiAgICAgICAgICAgICAgICBvdXRwdXRzOiBbeyB0eXBlOiAnYWRkcmVzcycgfSwgeyB0eXBlOiAnYnl0ZXMzMicgfV0sXG4gICAgICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogJ2ZpbmRSZXNvbHZlcicsXG4gICAgICAgIGFyZ3M6IFsoMCwgdG9IZXhfanNfMS50b0hleCkoKDAsIHBhY2tldFRvQnl0ZXNfanNfMS5wYWNrZXRUb0J5dGVzKShuYW1lKSldLFxuICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgYmxvY2tUYWcsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc29sdmVyQWRkcmVzcztcbn1cbmV4cG9ydHMuZ2V0RW5zUmVzb2x2ZXIgPSBnZXRFbnNSZXNvbHZlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVuc1Jlc29sdmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/ens/getEnsResolver.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/ens/getEnsText.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/ens/getEnsText.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEnsText = void 0;\nconst abis_js_1 = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/cjs/constants/abis.js\");\nconst decodeFunctionResult_js_1 = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst namehash_js_1 = __webpack_require__(/*! ../../utils/ens/namehash.js */ \"./node_modules/viem/dist/cjs/utils/ens/namehash.js\");\nconst packetToBytes_js_1 = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js\");\nconst readContract_js_1 = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nasync function getEnsText(client, { blockNumber, blockTag, name, key, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0, chain_js_1.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const res = await (0, readContract_js_1.readContract)(client, {\n address: universalResolverAddress,\n abi: abis_js_1.universalResolverAbi,\n functionName: 'resolve',\n args: [\n (0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name)),\n (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi: abis_js_1.textResolverAbi,\n functionName: 'text',\n args: [(0, namehash_js_1.namehash)(name), key],\n }),\n ],\n blockNumber,\n blockTag,\n });\n if (res[0] === '0x')\n return null;\n const record = (0, decodeFunctionResult_js_1.decodeFunctionResult)({\n abi: abis_js_1.textResolverAbi,\n functionName: 'text',\n data: res[0],\n });\n return record === '' ? null : record;\n}\nexports.getEnsText = getEnsText;\n//# sourceMappingURL=getEnsText.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNUZXh0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQixrQkFBa0IsbUJBQU8sQ0FBQywrRUFBeUI7QUFDbkQsa0NBQWtDLG1CQUFPLENBQUMsK0dBQXlDO0FBQ25GLGdDQUFnQyxtQkFBTyxDQUFDLDJHQUF1QztBQUMvRSxtQkFBbUIsbUJBQU8sQ0FBQyx5RUFBc0I7QUFDakQsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELHNCQUFzQixtQkFBTyxDQUFDLHVGQUE2QjtBQUMzRCwyQkFBMkIsbUJBQU8sQ0FBQyxpR0FBa0M7QUFDckUsMEJBQTBCLG1CQUFPLENBQUMsOEZBQTJCO0FBQzdELG9DQUFvQyx3RkFBd0Y7QUFDNUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2Vucy9nZXRFbnNUZXh0LmpzP2IxMDYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEVuc1RleHQgPSB2b2lkIDA7XG5jb25zdCBhYmlzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vY29uc3RhbnRzL2FiaXMuanNcIik7XG5jb25zdCBkZWNvZGVGdW5jdGlvblJlc3VsdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qc1wiKTtcbmNvbnN0IGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9lbmNvZGVGdW5jdGlvbkRhdGEuanNcIik7XG5jb25zdCBjaGFpbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2NoYWluLmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmNvbnN0IG5hbWVoYXNoX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5zL25hbWVoYXNoLmpzXCIpO1xuY29uc3QgcGFja2V0VG9CeXRlc19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Vucy9wYWNrZXRUb0J5dGVzLmpzXCIpO1xuY29uc3QgcmVhZENvbnRyYWN0X2pzXzEgPSByZXF1aXJlKFwiLi4vcHVibGljL3JlYWRDb250cmFjdC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGdldEVuc1RleHQoY2xpZW50LCB7IGJsb2NrTnVtYmVyLCBibG9ja1RhZywgbmFtZSwga2V5LCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3M6IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc18sIH0pIHtcbiAgICBsZXQgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzID0gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzXztcbiAgICBpZiAoIXVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcykge1xuICAgICAgICBpZiAoIWNsaWVudC5jaGFpbilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2xpZW50IGNoYWluIG5vdCBjb25maWd1cmVkLiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9ICgwLCBjaGFpbl9qc18xLmdldENoYWluQ29udHJhY3RBZGRyZXNzKSh7XG4gICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgIGNoYWluOiBjbGllbnQuY2hhaW4sXG4gICAgICAgICAgICBjb250cmFjdDogJ2Vuc1VuaXZlcnNhbFJlc29sdmVyJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0ICgwLCByZWFkQ29udHJhY3RfanNfMS5yZWFkQ29udHJhY3QpKGNsaWVudCwge1xuICAgICAgICBhZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MsXG4gICAgICAgIGFiaTogYWJpc19qc18xLnVuaXZlcnNhbFJlc29sdmVyQWJpLFxuICAgICAgICBmdW5jdGlvbk5hbWU6ICdyZXNvbHZlJyxcbiAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgKDAsIHRvSGV4X2pzXzEudG9IZXgpKCgwLCBwYWNrZXRUb0J5dGVzX2pzXzEucGFja2V0VG9CeXRlcykobmFtZSkpLFxuICAgICAgICAgICAgKDAsIGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xLmVuY29kZUZ1bmN0aW9uRGF0YSkoe1xuICAgICAgICAgICAgICAgIGFiaTogYWJpc19qc18xLnRleHRSZXNvbHZlckFiaSxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBhcmdzOiBbKDAsIG5hbWVoYXNoX2pzXzEubmFtZWhhc2gpKG5hbWUpLCBrZXldLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICBibG9ja1RhZyxcbiAgICB9KTtcbiAgICBpZiAocmVzWzBdID09PSAnMHgnKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCByZWNvcmQgPSAoMCwgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5kZWNvZGVGdW5jdGlvblJlc3VsdCkoe1xuICAgICAgICBhYmk6IGFiaXNfanNfMS50ZXh0UmVzb2x2ZXJBYmksXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogJ3RleHQnLFxuICAgICAgICBkYXRhOiByZXNbMF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlY29yZCA9PT0gJycgPyBudWxsIDogcmVjb3JkO1xufVxuZXhwb3J0cy5nZXRFbnNUZXh0ID0gZ2V0RW5zVGV4dDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVuc1RleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/ens/getEnsText.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/getContract.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/getContract.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEventParameters = exports.getFunctionParameters = exports.getContract = void 0;\nconst createContractEventFilter_js_1 = __webpack_require__(/*! ./public/createContractEventFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createContractEventFilter.js\");\nconst estimateContractGas_js_1 = __webpack_require__(/*! ./public/estimateContractGas.js */ \"./node_modules/viem/dist/cjs/actions/public/estimateContractGas.js\");\nconst readContract_js_1 = __webpack_require__(/*! ./public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nconst simulateContract_js_1 = __webpack_require__(/*! ./public/simulateContract.js */ \"./node_modules/viem/dist/cjs/actions/public/simulateContract.js\");\nconst watchContractEvent_js_1 = __webpack_require__(/*! ./public/watchContractEvent.js */ \"./node_modules/viem/dist/cjs/actions/public/watchContractEvent.js\");\nconst writeContract_js_1 = __webpack_require__(/*! ./wallet/writeContract.js */ \"./node_modules/viem/dist/cjs/actions/wallet/writeContract.js\");\nfunction getContract({ abi, address, publicClient, walletClient, }) {\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return (0, readContract_js_1.readContract)(publicClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return (0, simulateContract_js_1.simulateContract)(publicClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return (0, createContractEventFilter_js_1.createContractEventFilter)(publicClient, {\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return (0, watchContractEvent_js_1.watchContractEvent)(publicClient, {\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return (0, writeContract_js_1.writeContract)(walletClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return (0, estimateContractGas_js_1.estimateContractGas)(client, {\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\nexports.getContract = getContract;\nfunction getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\nexports.getFunctionParameters = getFunctionParameters;\nfunction getEventParameters(values, abiEvent) {\n let hasArgs = false;\n if (Array.isArray(values[0]))\n hasArgs = true;\n else if (values.length === 1) {\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\nexports.getEventParameters = getEventParameters;\n//# sourceMappingURL=getContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2dldENvbnRyYWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQixHQUFHLDZCQUE2QixHQUFHLG1CQUFtQjtBQUNoRix1Q0FBdUMsbUJBQU8sQ0FBQyx1SEFBdUM7QUFDdEYsaUNBQWlDLG1CQUFPLENBQUMsMkdBQWlDO0FBQzFFLDBCQUEwQixtQkFBTyxDQUFDLDZGQUEwQjtBQUM1RCw4QkFBOEIsbUJBQU8sQ0FBQyxxR0FBOEI7QUFDcEUsZ0NBQWdDLG1CQUFPLENBQUMseUdBQWdDO0FBQ3hFLDJCQUEyQixtQkFBTyxDQUFDLCtGQUEyQjtBQUM5RCx1QkFBdUIsMkNBQTJDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBLGdDQUFnQyxnQkFBZ0I7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2IsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxnQkFBZ0I7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0EsZ0NBQWdDLGdCQUFnQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBO0FBQ0EsZ0NBQWdDLGdCQUFnQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLDBCQUEwQjtBQUMxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL2dldENvbnRyYWN0LmpzP2IxMTYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEV2ZW50UGFyYW1ldGVycyA9IGV4cG9ydHMuZ2V0RnVuY3Rpb25QYXJhbWV0ZXJzID0gZXhwb3J0cy5nZXRDb250cmFjdCA9IHZvaWQgMDtcbmNvbnN0IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL3B1YmxpYy9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzXCIpO1xuY29uc3QgZXN0aW1hdGVDb250cmFjdEdhc19qc18xID0gcmVxdWlyZShcIi4vcHVibGljL2VzdGltYXRlQ29udHJhY3RHYXMuanNcIik7XG5jb25zdCByZWFkQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuL3B1YmxpYy9yZWFkQ29udHJhY3QuanNcIik7XG5jb25zdCBzaW11bGF0ZUNvbnRyYWN0X2pzXzEgPSByZXF1aXJlKFwiLi9wdWJsaWMvc2ltdWxhdGVDb250cmFjdC5qc1wiKTtcbmNvbnN0IHdhdGNoQ29udHJhY3RFdmVudF9qc18xID0gcmVxdWlyZShcIi4vcHVibGljL3dhdGNoQ29udHJhY3RFdmVudC5qc1wiKTtcbmNvbnN0IHdyaXRlQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuL3dhbGxldC93cml0ZUNvbnRyYWN0LmpzXCIpO1xuZnVuY3Rpb24gZ2V0Q29udHJhY3QoeyBhYmksIGFkZHJlc3MsIHB1YmxpY0NsaWVudCwgd2FsbGV0Q2xpZW50LCB9KSB7XG4gICAgY29uc3QgaGFzUHVibGljQ2xpZW50ID0gcHVibGljQ2xpZW50ICE9PSB1bmRlZmluZWQgJiYgcHVibGljQ2xpZW50ICE9PSBudWxsO1xuICAgIGNvbnN0IGhhc1dhbGxldENsaWVudCA9IHdhbGxldENsaWVudCAhPT0gdW5kZWZpbmVkICYmIHdhbGxldENsaWVudCAhPT0gbnVsbDtcbiAgICBjb25zdCBjb250cmFjdCA9IHt9O1xuICAgIGxldCBoYXNSZWFkRnVuY3Rpb24gPSBmYWxzZTtcbiAgICBsZXQgaGFzV3JpdGVGdW5jdGlvbiA9IGZhbHNlO1xuICAgIGxldCBoYXNFdmVudCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBhYmkpIHtcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIGlmIChpdGVtLnN0YXRlTXV0YWJpbGl0eSA9PT0gJ3ZpZXcnIHx8IGl0ZW0uc3RhdGVNdXRhYmlsaXR5ID09PSAncHVyZScpXG4gICAgICAgICAgICAgICAgaGFzUmVhZEZ1bmN0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBoYXNXcml0ZUZ1bmN0aW9uID0gdHJ1ZTtcbiAgICAgICAgZWxzZSBpZiAoaXRlbS50eXBlID09PSAnZXZlbnQnKVxuICAgICAgICAgICAgaGFzRXZlbnQgPSB0cnVlO1xuICAgICAgICBpZiAoaGFzUmVhZEZ1bmN0aW9uICYmIGhhc1dyaXRlRnVuY3Rpb24gJiYgaGFzRXZlbnQpXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGhhc1B1YmxpY0NsaWVudCkge1xuICAgICAgICBpZiAoaGFzUmVhZEZ1bmN0aW9uKVxuICAgICAgICAgICAgY29udHJhY3QucmVhZCA9IG5ldyBQcm94eSh7fSwge1xuICAgICAgICAgICAgICAgIGdldChfLCBmdW5jdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGdldEZ1bmN0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCwgcmVhZENvbnRyYWN0X2pzXzEucmVhZENvbnRyYWN0KShwdWJsaWNDbGllbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBpZiAoaGFzV3JpdGVGdW5jdGlvbilcbiAgICAgICAgICAgIGNvbnRyYWN0LnNpbXVsYXRlID0gbmV3IFByb3h5KHt9LCB7XG4gICAgICAgICAgICAgICAgZ2V0KF8sIGZ1bmN0aW9uTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKC4uLnBhcmFtZXRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgYXJncywgb3B0aW9ucyB9ID0gZ2V0RnVuY3Rpb25QYXJhbWV0ZXJzKHBhcmFtZXRlcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwLCBzaW11bGF0ZUNvbnRyYWN0X2pzXzEuc2ltdWxhdGVDb250cmFjdCkocHVibGljQ2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgaWYgKGhhc0V2ZW50KSB7XG4gICAgICAgICAgICBjb250cmFjdC5jcmVhdGVFdmVudEZpbHRlciA9IG5ldyBQcm94eSh7fSwge1xuICAgICAgICAgICAgICAgIGdldChfLCBldmVudE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhYmlFdmVudCA9IGFiaS5maW5kKCh4KSA9PiB4LnR5cGUgPT09ICdldmVudCcgJiYgeC5uYW1lID09PSBldmVudE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBhcmdzLCBvcHRpb25zIH0gPSBnZXRFdmVudFBhcmFtZXRlcnMocGFyYW1ldGVycywgYWJpRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwLCBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyX2pzXzEuY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlcikocHVibGljQ2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnRyYWN0LndhdGNoRXZlbnQgPSBuZXcgUHJveHkoe30sIHtcbiAgICAgICAgICAgICAgICBnZXQoXywgZXZlbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoLi4ucGFyYW1ldGVycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWJpRXZlbnQgPSBhYmkuZmluZCgoeCkgPT4geC50eXBlID09PSAnZXZlbnQnICYmIHgubmFtZSA9PT0gZXZlbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgYXJncywgb3B0aW9ucyB9ID0gZ2V0RXZlbnRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMsIGFiaUV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCwgd2F0Y2hDb250cmFjdEV2ZW50X2pzXzEud2F0Y2hDb250cmFjdEV2ZW50KShwdWJsaWNDbGllbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChoYXNXYWxsZXRDbGllbnQpIHtcbiAgICAgICAgaWYgKGhhc1dyaXRlRnVuY3Rpb24pXG4gICAgICAgICAgICBjb250cmFjdC53cml0ZSA9IG5ldyBQcm94eSh7fSwge1xuICAgICAgICAgICAgICAgIGdldChfLCBmdW5jdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGdldEZ1bmN0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCwgd3JpdGVDb250cmFjdF9qc18xLndyaXRlQ29udHJhY3QpKHdhbGxldENsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChoYXNQdWJsaWNDbGllbnQgfHwgaGFzV2FsbGV0Q2xpZW50KVxuICAgICAgICBpZiAoaGFzV3JpdGVGdW5jdGlvbilcbiAgICAgICAgICAgIGNvbnRyYWN0LmVzdGltYXRlR2FzID0gbmV3IFByb3h5KHt9LCB7XG4gICAgICAgICAgICAgICAgZ2V0KF8sIGZ1bmN0aW9uTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKC4uLnBhcmFtZXRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgYXJncywgb3B0aW9ucyB9ID0gZ2V0RnVuY3Rpb25QYXJhbWV0ZXJzKHBhcmFtZXRlcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gKHB1YmxpY0NsaWVudCA/PyB3YWxsZXRDbGllbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwLCBlc3RpbWF0ZUNvbnRyYWN0R2FzX2pzXzEuZXN0aW1hdGVDb250cmFjdEdhcykoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50OiBvcHRpb25zLmFjY291bnQgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FsbGV0Q2xpZW50LmFjY291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgY29udHJhY3QuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgY29udHJhY3QuYWJpID0gYWJpO1xuICAgIHJldHVybiBjb250cmFjdDtcbn1cbmV4cG9ydHMuZ2V0Q29udHJhY3QgPSBnZXRDb250cmFjdDtcbmZ1bmN0aW9uIGdldEZ1bmN0aW9uUGFyYW1ldGVycyh2YWx1ZXMpIHtcbiAgICBjb25zdCBoYXNBcmdzID0gdmFsdWVzLmxlbmd0aCAmJiBBcnJheS5pc0FycmF5KHZhbHVlc1swXSk7XG4gICAgY29uc3QgYXJncyA9IGhhc0FyZ3MgPyB2YWx1ZXNbMF0gOiBbXTtcbiAgICBjb25zdCBvcHRpb25zID0gKGhhc0FyZ3MgPyB2YWx1ZXNbMV0gOiB2YWx1ZXNbMF0pID8/IHt9O1xuICAgIHJldHVybiB7IGFyZ3MsIG9wdGlvbnMgfTtcbn1cbmV4cG9ydHMuZ2V0RnVuY3Rpb25QYXJhbWV0ZXJzID0gZ2V0RnVuY3Rpb25QYXJhbWV0ZXJzO1xuZnVuY3Rpb24gZ2V0RXZlbnRQYXJhbWV0ZXJzKHZhbHVlcywgYWJpRXZlbnQpIHtcbiAgICBsZXQgaGFzQXJncyA9IGZhbHNlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlc1swXSkpXG4gICAgICAgIGhhc0FyZ3MgPSB0cnVlO1xuICAgIGVsc2UgaWYgKHZhbHVlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgaGFzQXJncyA9IGFiaUV2ZW50LmlucHV0cy5zb21lKCh4KSA9PiB4LmluZGV4ZWQpO1xuICAgIH1cbiAgICBlbHNlIGlmICh2YWx1ZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGhhc0FyZ3MgPSB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBhcmdzID0gaGFzQXJncyA/IHZhbHVlc1swXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBvcHRpb25zID0gKGhhc0FyZ3MgPyB2YWx1ZXNbMV0gOiB2YWx1ZXNbMF0pID8/IHt9O1xuICAgIHJldHVybiB7IGFyZ3MsIG9wdGlvbnMgfTtcbn1cbmV4cG9ydHMuZ2V0RXZlbnRQYXJhbWV0ZXJzID0gZ2V0RXZlbnRQYXJhbWV0ZXJzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Q29udHJhY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/getContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/call.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/call.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getRevertErrorData = exports.call = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst abis_js_1 = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/cjs/constants/abis.js\");\nconst contract_js_1 = __webpack_require__(/*! ../../constants/contract.js */ \"./node_modules/viem/dist/cjs/constants/contract.js\");\nconst base_js_1 = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../errors/chain.js */ \"./node_modules/viem/dist/cjs/errors/chain.js\");\nconst contract_js_2 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst decodeFunctionResult_js_1 = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst chain_js_2 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst getCallError_js_1 = __webpack_require__(/*! ../../utils/errors/getCallError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getCallError.js\");\nconst extract_js_1 = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/cjs/utils/formatters/extract.js\");\nconst transactionRequest_js_1 = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\");\nconst createBatchScheduler_js_1 = __webpack_require__(/*! ../../utils/promise/createBatchScheduler.js */ \"./node_modules/viem/dist/cjs/utils/promise/createBatchScheduler.js\");\nconst assertRequest_js_1 = __webpack_require__(/*! ../../utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\");\nasync function call(client, args) {\n const { account: account_, batch = Boolean(client.batch?.multicall), blockNumber, blockTag = 'latest', accessList, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;\n try {\n (0, assertRequest_js_1.assertRequest)(args);\n const blockNumberHex = blockNumber ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const format = client.chain?.formatters?.transactionRequest?.format ||\n transactionRequest_js_1.formatTransactionRequest;\n const request = format({\n ...(0, extract_js_1.extract)(rest, { format }),\n from: account?.address,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n if (batch && shouldPerformMulticall({ request })) {\n try {\n return await scheduleMulticall(client, {\n ...request,\n blockNumber,\n blockTag,\n });\n }\n catch (err) {\n if (!(err instanceof chain_js_1.ClientChainNotConfiguredError) &&\n !(err instanceof chain_js_1.ChainDoesNotSupportContract))\n throw err;\n }\n }\n const response = await client.request({\n method: 'eth_call',\n params: block\n ? [request, block]\n : [request],\n });\n if (response === '0x')\n return { data: undefined };\n return { data: response };\n }\n catch (err) {\n const data = getRevertErrorData(err);\n const { offchainLookup, offchainLookupSignature } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ../../utils/ccip.js */ \"./node_modules/viem/dist/cjs/utils/ccip.js\"));\n if (data?.slice(0, 10) === offchainLookupSignature && to) {\n return { data: await offchainLookup(client, { data, to }) };\n }\n throw (0, getCallError_js_1.getCallError)(err, {\n ...args,\n account,\n chain: client.chain,\n });\n }\n}\nexports.call = call;\nfunction shouldPerformMulticall({ request }) {\n const { data, to, ...request_ } = request;\n if (!data)\n return false;\n if (data.startsWith(contract_js_1.aggregate3Signature))\n return false;\n if (!to)\n return false;\n if (Object.values(request_).filter((x) => typeof x !== 'undefined').length > 0)\n return false;\n return true;\n}\nasync function scheduleMulticall(client, args) {\n const { batchSize = 1024, wait = 0 } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};\n const { blockNumber, blockTag = 'latest', data, multicallAddress: multicallAddress_, to, } = args;\n let multicallAddress = multicallAddress_;\n if (!multicallAddress) {\n if (!client.chain)\n throw new chain_js_1.ClientChainNotConfiguredError();\n multicallAddress = (0, chain_js_2.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'multicall3',\n });\n }\n const blockNumberHex = blockNumber ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({\n id: `${client.uid}.${block}`,\n wait,\n shouldSplitBatch(args) {\n const size = args.reduce((size, { data }) => size + (data.length - 2), 0);\n return size > batchSize * 2;\n },\n fn: async (requests) => {\n const calls = requests.map((request) => ({\n allowFailure: true,\n callData: request.data,\n target: request.to,\n }));\n const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi: abis_js_1.multicall3Abi,\n args: [calls],\n functionName: 'aggregate3',\n });\n const data = await client.request({\n method: 'eth_call',\n params: [\n {\n data: calldata,\n to: multicallAddress,\n },\n block,\n ],\n });\n return (0, decodeFunctionResult_js_1.decodeFunctionResult)({\n abi: abis_js_1.multicall3Abi,\n args: [calls],\n functionName: 'aggregate3',\n data: data || '0x',\n });\n },\n });\n const [{ returnData, success }] = await schedule({ data, to });\n if (!success)\n throw new contract_js_2.RawContractError({ data: returnData });\n if (returnData === '0x')\n return { data: undefined };\n return { data: returnData };\n}\nfunction getRevertErrorData(err) {\n if (!(err instanceof base_js_1.BaseError))\n return undefined;\n const error = err.walk();\n return typeof error.data === 'object' ? error.data.data : error.data;\n}\nexports.getRevertErrorData = getRevertErrorData;\n//# sourceMappingURL=call.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9jYWxsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQixHQUFHLFlBQVk7QUFDekMsMEJBQTBCLG1CQUFPLENBQUMseUdBQXNDO0FBQ3hFLGtCQUFrQixtQkFBTyxDQUFDLCtFQUF5QjtBQUNuRCxzQkFBc0IsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDM0Qsa0JBQWtCLG1CQUFPLENBQUMseUVBQXNCO0FBQ2hELG1CQUFtQixtQkFBTyxDQUFDLDJFQUF1QjtBQUNsRCxzQkFBc0IsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDeEQsa0NBQWtDLG1CQUFPLENBQUMsK0dBQXlDO0FBQ25GLGdDQUFnQyxtQkFBTyxDQUFDLDJHQUF1QztBQUMvRSxtQkFBbUIsbUJBQU8sQ0FBQyx5RUFBc0I7QUFDakQsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELDBCQUEwQixtQkFBTyxDQUFDLHFHQUFvQztBQUN0RSxxQkFBcUIsbUJBQU8sQ0FBQyxtR0FBbUM7QUFDaEUsZ0NBQWdDLG1CQUFPLENBQUMseUhBQThDO0FBQ3RGLGtDQUFrQyxtQkFBTyxDQUFDLHVIQUE2QztBQUN2RiwyQkFBMkIsbUJBQU8sQ0FBQyxpSEFBMEM7QUFDN0U7QUFDQSxZQUFZLGdNQUFnTTtBQUM1TTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELFFBQVE7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsOENBQThDLFNBQVM7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwwQ0FBMEMsUUFBUSw2SkFBNkI7QUFDL0Y7QUFDQSxxQkFBcUIscUNBQXFDLFVBQVU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsWUFBWTtBQUNaLGtDQUFrQyxTQUFTO0FBQzNDLFlBQVksd0JBQXdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZCQUE2QjtBQUN6QyxZQUFZLG1GQUFtRjtBQUMvRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVztBQUN2QixlQUFlLFdBQVcsR0FBRyxNQUFNO0FBQ25DO0FBQ0E7QUFDQSw4Q0FBOEMsTUFBTTtBQUNwRDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUs7QUFDTCxhQUFhLHFCQUFxQixxQkFBcUIsVUFBVTtBQUNqRTtBQUNBLG1EQUFtRCxrQkFBa0I7QUFDckU7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2NhbGwuanM/NmI3ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0UmV2ZXJ0RXJyb3JEYXRhID0gZXhwb3J0cy5jYWxsID0gdm9pZCAwO1xuY29uc3QgcGFyc2VBY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzXCIpO1xuY29uc3QgYWJpc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy9hYmlzLmpzXCIpO1xuY29uc3QgY29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9jb25zdGFudHMvY29udHJhY3QuanNcIik7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2Jhc2UuanNcIik7XG5jb25zdCBjaGFpbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9jaGFpbi5qc1wiKTtcbmNvbnN0IGNvbnRyYWN0X2pzXzIgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2NvbnRyYWN0LmpzXCIpO1xuY29uc3QgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanNcIik7XG5jb25zdCBlbmNvZGVGdW5jdGlvbkRhdGFfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzXCIpO1xuY29uc3QgY2hhaW5fanNfMiA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9jaGFpbi5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBnZXRDYWxsRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lcnJvcnMvZ2V0Q2FsbEVycm9yLmpzXCIpO1xuY29uc3QgZXh0cmFjdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvZXh0cmFjdC5qc1wiKTtcbmNvbnN0IHRyYW5zYWN0aW9uUmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZXF1ZXN0LmpzXCIpO1xuY29uc3QgY3JlYXRlQmF0Y2hTY2hlZHVsZXJfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9wcm9taXNlL2NyZWF0ZUJhdGNoU2NoZWR1bGVyLmpzXCIpO1xuY29uc3QgYXNzZXJ0UmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3RyYW5zYWN0aW9uL2Fzc2VydFJlcXVlc3QuanNcIik7XG5hc3luYyBmdW5jdGlvbiBjYWxsKGNsaWVudCwgYXJncykge1xuICAgIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudF8sIGJhdGNoID0gQm9vbGVhbihjbGllbnQuYmF0Y2g/Lm11bHRpY2FsbCksIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnLCBhY2Nlc3NMaXN0LCBkYXRhLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgdG8sIHZhbHVlLCAuLi5yZXN0IH0gPSBhcmdzO1xuICAgIGNvbnN0IGFjY291bnQgPSBhY2NvdW50XyA/ICgwLCBwYXJzZUFjY291bnRfanNfMS5wYXJzZUFjY291bnQpKGFjY291bnRfKSA6IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgICAoMCwgYXNzZXJ0UmVxdWVzdF9qc18xLmFzc2VydFJlcXVlc3QpKGFyZ3MpO1xuICAgICAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyID8gKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGJsb2NrTnVtYmVyKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYmxvY2sgPSBibG9ja051bWJlckhleCB8fCBibG9ja1RhZztcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gY2xpZW50LmNoYWluPy5mb3JtYXR0ZXJzPy50cmFuc2FjdGlvblJlcXVlc3Q/LmZvcm1hdCB8fFxuICAgICAgICAgICAgdHJhbnNhY3Rpb25SZXF1ZXN0X2pzXzEuZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0O1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gZm9ybWF0KHtcbiAgICAgICAgICAgIC4uLigwLCBleHRyYWN0X2pzXzEuZXh0cmFjdCkocmVzdCwgeyBmb3JtYXQgfSksXG4gICAgICAgICAgICBmcm9tOiBhY2NvdW50Py5hZGRyZXNzLFxuICAgICAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGJhdGNoICYmIHNob3VsZFBlcmZvcm1NdWx0aWNhbGwoeyByZXF1ZXN0IH0pKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZU11bHRpY2FsbChjbGllbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrVGFnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmICghKGVyciBpbnN0YW5jZW9mIGNoYWluX2pzXzEuQ2xpZW50Q2hhaW5Ob3RDb25maWd1cmVkRXJyb3IpICYmXG4gICAgICAgICAgICAgICAgICAgICEoZXJyIGluc3RhbmNlb2YgY2hhaW5fanNfMS5DaGFpbkRvZXNOb3RTdXBwb3J0Q29udHJhY3QpKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfY2FsbCcsXG4gICAgICAgICAgICBwYXJhbXM6IGJsb2NrXG4gICAgICAgICAgICAgICAgPyBbcmVxdWVzdCwgYmxvY2tdXG4gICAgICAgICAgICAgICAgOiBbcmVxdWVzdF0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocmVzcG9uc2UgPT09ICcweCcpXG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiB1bmRlZmluZWQgfTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogcmVzcG9uc2UgfTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zdCBkYXRhID0gZ2V0UmV2ZXJ0RXJyb3JEYXRhKGVycik7XG4gICAgICAgIGNvbnN0IHsgb2ZmY2hhaW5Mb29rdXAsIG9mZmNoYWluTG9va3VwU2lnbmF0dXJlIH0gPSBhd2FpdCBpbXBvcnQoJy4uLy4uL3V0aWxzL2NjaXAuanMnKTtcbiAgICAgICAgaWYgKGRhdGE/LnNsaWNlKDAsIDEwKSA9PT0gb2ZmY2hhaW5Mb29rdXBTaWduYXR1cmUgJiYgdG8pIHtcbiAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IG9mZmNoYWluTG9va3VwKGNsaWVudCwgeyBkYXRhLCB0byB9KSB9O1xuICAgICAgICB9XG4gICAgICAgIHRocm93ICgwLCBnZXRDYWxsRXJyb3JfanNfMS5nZXRDYWxsRXJyb3IpKGVyciwge1xuICAgICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICAgIGFjY291bnQsXG4gICAgICAgICAgICBjaGFpbjogY2xpZW50LmNoYWluLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLmNhbGwgPSBjYWxsO1xuZnVuY3Rpb24gc2hvdWxkUGVyZm9ybU11bHRpY2FsbCh7IHJlcXVlc3QgfSkge1xuICAgIGNvbnN0IHsgZGF0YSwgdG8sIC4uLnJlcXVlc3RfIH0gPSByZXF1ZXN0O1xuICAgIGlmICghZGF0YSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChkYXRhLnN0YXJ0c1dpdGgoY29udHJhY3RfanNfMS5hZ2dyZWdhdGUzU2lnbmF0dXJlKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghdG8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhyZXF1ZXN0XykuZmlsdGVyKCh4KSA9PiB0eXBlb2YgeCAhPT0gJ3VuZGVmaW5lZCcpLmxlbmd0aCA+IDApXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHNjaGVkdWxlTXVsdGljYWxsKGNsaWVudCwgYXJncykge1xuICAgIGNvbnN0IHsgYmF0Y2hTaXplID0gMTAyNCwgd2FpdCA9IDAgfSA9IHR5cGVvZiBjbGllbnQuYmF0Y2g/Lm11bHRpY2FsbCA9PT0gJ29iamVjdCcgPyBjbGllbnQuYmF0Y2gubXVsdGljYWxsIDoge307XG4gICAgY29uc3QgeyBibG9ja051bWJlciwgYmxvY2tUYWcgPSAnbGF0ZXN0JywgZGF0YSwgbXVsdGljYWxsQWRkcmVzczogbXVsdGljYWxsQWRkcmVzc18sIHRvLCB9ID0gYXJncztcbiAgICBsZXQgbXVsdGljYWxsQWRkcmVzcyA9IG11bHRpY2FsbEFkZHJlc3NfO1xuICAgIGlmICghbXVsdGljYWxsQWRkcmVzcykge1xuICAgICAgICBpZiAoIWNsaWVudC5jaGFpbilcbiAgICAgICAgICAgIHRocm93IG5ldyBjaGFpbl9qc18xLkNsaWVudENoYWluTm90Q29uZmlndXJlZEVycm9yKCk7XG4gICAgICAgIG11bHRpY2FsbEFkZHJlc3MgPSAoMCwgY2hhaW5fanNfMi5nZXRDaGFpbkNvbnRyYWN0QWRkcmVzcykoe1xuICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICBjaGFpbjogY2xpZW50LmNoYWluLFxuICAgICAgICAgICAgY29udHJhY3Q6ICdtdWx0aWNhbGwzJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGJsb2NrTnVtYmVySGV4ID0gYmxvY2tOdW1iZXIgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGJsb2NrID0gYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWc7XG4gICAgY29uc3QgeyBzY2hlZHVsZSB9ID0gKDAsIGNyZWF0ZUJhdGNoU2NoZWR1bGVyX2pzXzEuY3JlYXRlQmF0Y2hTY2hlZHVsZXIpKHtcbiAgICAgICAgaWQ6IGAke2NsaWVudC51aWR9LiR7YmxvY2t9YCxcbiAgICAgICAgd2FpdCxcbiAgICAgICAgc2hvdWxkU3BsaXRCYXRjaChhcmdzKSB7XG4gICAgICAgICAgICBjb25zdCBzaXplID0gYXJncy5yZWR1Y2UoKHNpemUsIHsgZGF0YSB9KSA9PiBzaXplICsgKGRhdGEubGVuZ3RoIC0gMiksIDApO1xuICAgICAgICAgICAgcmV0dXJuIHNpemUgPiBiYXRjaFNpemUgKiAyO1xuICAgICAgICB9LFxuICAgICAgICBmbjogYXN5bmMgKHJlcXVlc3RzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYWxscyA9IHJlcXVlc3RzLm1hcCgocmVxdWVzdCkgPT4gKHtcbiAgICAgICAgICAgICAgICBhbGxvd0ZhaWx1cmU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2FsbERhdGE6IHJlcXVlc3QuZGF0YSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHJlcXVlc3QudG8sXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBjb25zdCBjYWxsZGF0YSA9ICgwLCBlbmNvZGVGdW5jdGlvbkRhdGFfanNfMS5lbmNvZGVGdW5jdGlvbkRhdGEpKHtcbiAgICAgICAgICAgICAgICBhYmk6IGFiaXNfanNfMS5tdWx0aWNhbGwzQWJpLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFtjYWxsc10sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiAnYWdncmVnYXRlMycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2NhbGwnLFxuICAgICAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBjYWxsZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiBtdWx0aWNhbGxBZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGRlY29kZUZ1bmN0aW9uUmVzdWx0X2pzXzEuZGVjb2RlRnVuY3Rpb25SZXN1bHQpKHtcbiAgICAgICAgICAgICAgICBhYmk6IGFiaXNfanNfMS5tdWx0aWNhbGwzQWJpLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFtjYWxsc10sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiAnYWdncmVnYXRlMycsXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSB8fCAnMHgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgW3sgcmV0dXJuRGF0YSwgc3VjY2VzcyB9XSA9IGF3YWl0IHNjaGVkdWxlKHsgZGF0YSwgdG8gfSk7XG4gICAgaWYgKCFzdWNjZXNzKVxuICAgICAgICB0aHJvdyBuZXcgY29udHJhY3RfanNfMi5SYXdDb250cmFjdEVycm9yKHsgZGF0YTogcmV0dXJuRGF0YSB9KTtcbiAgICBpZiAocmV0dXJuRGF0YSA9PT0gJzB4JylcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogdW5kZWZpbmVkIH07XG4gICAgcmV0dXJuIHsgZGF0YTogcmV0dXJuRGF0YSB9O1xufVxuZnVuY3Rpb24gZ2V0UmV2ZXJ0RXJyb3JEYXRhKGVycikge1xuICAgIGlmICghKGVyciBpbnN0YW5jZW9mIGJhc2VfanNfMS5CYXNlRXJyb3IpKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGVycm9yID0gZXJyLndhbGsoKTtcbiAgICByZXR1cm4gdHlwZW9mIGVycm9yLmRhdGEgPT09ICdvYmplY3QnID8gZXJyb3IuZGF0YS5kYXRhIDogZXJyb3IuZGF0YTtcbn1cbmV4cG9ydHMuZ2V0UmV2ZXJ0RXJyb3JEYXRhID0gZ2V0UmV2ZXJ0RXJyb3JEYXRhO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2FsbC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/call.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/createBlockFilter.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/createBlockFilter.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createBlockFilter = void 0;\nconst createFilterRequestScope_js_1 = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js\");\nasync function createBlockFilter(client) {\n const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {\n method: 'eth_newBlockFilter',\n });\n const id = await client.request({\n method: 'eth_newBlockFilter',\n });\n return { id, request: getRequest(id), type: 'block' };\n}\nexports.createBlockFilter = createBlockFilter;\n//# sourceMappingURL=createBlockFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVCbG9ja0ZpbHRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5QkFBeUI7QUFDekIsc0NBQXNDLG1CQUFPLENBQUMsK0hBQWlEO0FBQy9GO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMLGFBQWE7QUFDYjtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVCbG9ja0ZpbHRlci5qcz84NWRmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVCbG9ja0ZpbHRlciA9IHZvaWQgMDtcbmNvbnN0IGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2ZpbHRlcnMvY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQmxvY2tGaWx0ZXIoY2xpZW50KSB7XG4gICAgY29uc3QgZ2V0UmVxdWVzdCA9ICgwLCBjcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGVfanNfMS5jcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUpKGNsaWVudCwge1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3QmxvY2tGaWx0ZXInLFxuICAgIH0pO1xuICAgIGNvbnN0IGlkID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3QmxvY2tGaWx0ZXInLFxuICAgIH0pO1xuICAgIHJldHVybiB7IGlkLCByZXF1ZXN0OiBnZXRSZXF1ZXN0KGlkKSwgdHlwZTogJ2Jsb2NrJyB9O1xufVxuZXhwb3J0cy5jcmVhdGVCbG9ja0ZpbHRlciA9IGNyZWF0ZUJsb2NrRmlsdGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlQmxvY2tGaWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/createBlockFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/createContractEventFilter.js": -/*!********************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/createContractEventFilter.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createContractEventFilter = void 0;\nconst encodeEventTopics_js_1 = __webpack_require__(/*! ../../utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst createFilterRequestScope_js_1 = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js\");\nasync function createContractEventFilter(client, { address, abi, args, eventName, fromBlock, strict, toBlock, }) {\n const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {\n method: 'eth_newFilter',\n });\n const topics = eventName\n ? (0, encodeEventTopics_js_1.encodeEventTopics)({\n abi,\n args,\n eventName,\n })\n : undefined;\n const id = await client.request({\n method: 'eth_newFilter',\n params: [\n {\n address,\n fromBlock: typeof fromBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(toBlock) : toBlock,\n topics,\n },\n ],\n });\n return {\n abi,\n args,\n eventName,\n id,\n request: getRequest(id),\n strict,\n type: 'event',\n };\n}\nexports.createContractEventFilter = createContractEventFilter;\n//# sourceMappingURL=createContractEventFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlDQUFpQztBQUNqQywrQkFBK0IsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDN0UsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELHNDQUFzQyxtQkFBTyxDQUFDLCtIQUFpRDtBQUMvRixtREFBbUQsNERBQTREO0FBQy9HO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlci5qcz9lMmRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyID0gdm9pZCAwO1xuY29uc3QgZW5jb2RlRXZlbnRUb3BpY3NfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZW5jb2RlRXZlbnRUb3BpY3MuanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuY29uc3QgY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZmlsdGVycy9jcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUuanNcIik7XG5hc3luYyBmdW5jdGlvbiBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyKGNsaWVudCwgeyBhZGRyZXNzLCBhYmksIGFyZ3MsIGV2ZW50TmFtZSwgZnJvbUJsb2NrLCBzdHJpY3QsIHRvQmxvY2ssIH0pIHtcbiAgICBjb25zdCBnZXRSZXF1ZXN0ID0gKDAsIGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZV9qc18xLmNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZSkoY2xpZW50LCB7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9uZXdGaWx0ZXInLFxuICAgIH0pO1xuICAgIGNvbnN0IHRvcGljcyA9IGV2ZW50TmFtZVxuICAgICAgICA/ICgwLCBlbmNvZGVFdmVudFRvcGljc19qc18xLmVuY29kZUV2ZW50VG9waWNzKSh7XG4gICAgICAgICAgICBhYmksXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgZXZlbnROYW1lLFxuICAgICAgICB9KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBpZCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX25ld0ZpbHRlcicsXG4gICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbUJsb2NrOiB0eXBlb2YgZnJvbUJsb2NrID09PSAnYmlnaW50JyA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShmcm9tQmxvY2spIDogZnJvbUJsb2NrLFxuICAgICAgICAgICAgICAgIHRvQmxvY2s6IHR5cGVvZiB0b0Jsb2NrID09PSAnYmlnaW50JyA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KSh0b0Jsb2NrKSA6IHRvQmxvY2ssXG4gICAgICAgICAgICAgICAgdG9waWNzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgaWQsXG4gICAgICAgIHJlcXVlc3Q6IGdldFJlcXVlc3QoaWQpLFxuICAgICAgICBzdHJpY3QsXG4gICAgICAgIHR5cGU6ICdldmVudCcsXG4gICAgfTtcbn1cbmV4cG9ydHMuY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlciA9IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/createContractEventFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/createEventFilter.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/createEventFilter.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createEventFilter = void 0;\nconst encodeEventTopics_js_1 = __webpack_require__(/*! ../../utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst createFilterRequestScope_js_1 = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js\");\nasync function createEventFilter(client, { address, args, event, fromBlock, strict, toBlock, } = {}) {\n const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {\n method: 'eth_newFilter',\n });\n let topics = [];\n if (event)\n topics = (0, encodeEventTopics_js_1.encodeEventTopics)({\n abi: [event],\n eventName: event.name,\n args,\n });\n const id = await client.request({\n method: 'eth_newFilter',\n params: [\n {\n address,\n fromBlock: typeof fromBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(toBlock) : toBlock,\n ...(topics.length ? { topics } : {}),\n },\n ],\n });\n return {\n abi: event ? [event] : undefined,\n args,\n eventName: event ? event.name : undefined,\n id,\n request: getRequest(id),\n strict,\n type: 'event',\n };\n}\nexports.createEventFilter = createEventFilter;\n//# sourceMappingURL=createEventFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVFdmVudEZpbHRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5QkFBeUI7QUFDekIsK0JBQStCLG1CQUFPLENBQUMseUdBQXNDO0FBQzdFLG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCxzQ0FBc0MsbUJBQU8sQ0FBQywrSEFBaUQ7QUFDL0YsMkNBQTJDLG9EQUFvRCxJQUFJO0FBQ25HO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLFNBQVMsSUFBSTtBQUNuRCxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvY3JlYXRlRXZlbnRGaWx0ZXIuanM/OWUyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY3JlYXRlRXZlbnRGaWx0ZXIgPSB2b2lkIDA7XG5jb25zdCBlbmNvZGVFdmVudFRvcGljc19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9lbmNvZGVFdmVudFRvcGljcy5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBjcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGVfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9maWx0ZXJzL2NyZWF0ZUZpbHRlclJlcXVlc3RTY29wZS5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUV2ZW50RmlsdGVyKGNsaWVudCwgeyBhZGRyZXNzLCBhcmdzLCBldmVudCwgZnJvbUJsb2NrLCBzdHJpY3QsIHRvQmxvY2ssIH0gPSB7fSkge1xuICAgIGNvbnN0IGdldFJlcXVlc3QgPSAoMCwgY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlX2pzXzEuY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlKShjbGllbnQsIHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX25ld0ZpbHRlcicsXG4gICAgfSk7XG4gICAgbGV0IHRvcGljcyA9IFtdO1xuICAgIGlmIChldmVudClcbiAgICAgICAgdG9waWNzID0gKDAsIGVuY29kZUV2ZW50VG9waWNzX2pzXzEuZW5jb2RlRXZlbnRUb3BpY3MpKHtcbiAgICAgICAgICAgIGFiaTogW2V2ZW50XSxcbiAgICAgICAgICAgIGV2ZW50TmFtZTogZXZlbnQubmFtZSxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGlkID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3RmlsdGVyJyxcbiAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBmcm9tQmxvY2s6IHR5cGVvZiBmcm9tQmxvY2sgPT09ICdiaWdpbnQnID8gKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGZyb21CbG9jaykgOiBmcm9tQmxvY2ssXG4gICAgICAgICAgICAgICAgdG9CbG9jazogdHlwZW9mIHRvQmxvY2sgPT09ICdiaWdpbnQnID8gKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKHRvQmxvY2spIDogdG9CbG9jayxcbiAgICAgICAgICAgICAgICAuLi4odG9waWNzLmxlbmd0aCA/IHsgdG9waWNzIH0gOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFiaTogZXZlbnQgPyBbZXZlbnRdIDogdW5kZWZpbmVkLFxuICAgICAgICBhcmdzLFxuICAgICAgICBldmVudE5hbWU6IGV2ZW50ID8gZXZlbnQubmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaWQsXG4gICAgICAgIHJlcXVlc3Q6IGdldFJlcXVlc3QoaWQpLFxuICAgICAgICBzdHJpY3QsXG4gICAgICAgIHR5cGU6ICdldmVudCcsXG4gICAgfTtcbn1cbmV4cG9ydHMuY3JlYXRlRXZlbnRGaWx0ZXIgPSBjcmVhdGVFdmVudEZpbHRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZUV2ZW50RmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/createEventFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/createPendingTransactionFilter.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/createPendingTransactionFilter.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createPendingTransactionFilter = void 0;\nconst createFilterRequestScope_js_1 = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js\");\nasync function createPendingTransactionFilter(client) {\n const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {\n method: 'eth_newPendingTransactionFilter',\n });\n const id = await client.request({\n method: 'eth_newPendingTransactionFilter',\n });\n return { id, request: getRequest(id), type: 'transaction' };\n}\nexports.createPendingTransactionFilter = createPendingTransactionFilter;\n//# sourceMappingURL=createPendingTransactionFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0NBQXNDO0FBQ3RDLHNDQUFzQyxtQkFBTyxDQUFDLCtIQUFpRDtBQUMvRjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTCxhQUFhO0FBQ2I7QUFDQSxzQ0FBc0M7QUFDdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyLmpzPzc2ZDEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlciA9IHZvaWQgMDtcbmNvbnN0IGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2ZpbHRlcnMvY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyKGNsaWVudCkge1xuICAgIGNvbnN0IGdldFJlcXVlc3QgPSAoMCwgY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlX2pzXzEuY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlKShjbGllbnQsIHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX25ld1BlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcicsXG4gICAgfSk7XG4gICAgY29uc3QgaWQgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXInLFxuICAgIH0pO1xuICAgIHJldHVybiB7IGlkLCByZXF1ZXN0OiBnZXRSZXF1ZXN0KGlkKSwgdHlwZTogJ3RyYW5zYWN0aW9uJyB9O1xufVxuZXhwb3J0cy5jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIgPSBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/createPendingTransactionFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/estimateContractGas.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/estimateContractGas.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.estimateContractGas = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst getContractError_js_1 = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getContractError.js\");\nconst estimateGas_js_1 = __webpack_require__(/*! ./estimateGas.js */ \"./node_modules/viem/dist/cjs/actions/public/estimateGas.js\");\nasync function estimateContractGas(client, { abi, address, args, functionName, ...request }) {\n const data = (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n try {\n const gas = await (0, estimateGas_js_1.estimateGas)(client, {\n data,\n to: address,\n ...request,\n });\n return gas;\n }\n catch (err) {\n const account = request.account ? (0, parseAccount_js_1.parseAccount)(request.account) : undefined;\n throw (0, getContractError_js_1.getContractError)(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/simulateContract',\n functionName,\n sender: account?.address,\n });\n }\n}\nexports.estimateContractGas = estimateContractGas;\n//# sourceMappingURL=estimateContractGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQiwwQkFBMEIsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDeEUsZ0NBQWdDLG1CQUFPLENBQUMsMkdBQXVDO0FBQy9FLDhCQUE4QixtQkFBTyxDQUFDLDZHQUF3QztBQUM5RSx5QkFBeUIsbUJBQU8sQ0FBQyxvRkFBa0I7QUFDbkQsNkNBQTZDLDhDQUE4QztBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzPzEyYWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmVzdGltYXRlQ29udHJhY3RHYXMgPSB2b2lkIDA7XG5jb25zdCBwYXJzZUFjY291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanNcIik7XG5jb25zdCBlbmNvZGVGdW5jdGlvbkRhdGFfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzXCIpO1xuY29uc3QgZ2V0Q29udHJhY3RFcnJvcl9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Vycm9ycy9nZXRDb250cmFjdEVycm9yLmpzXCIpO1xuY29uc3QgZXN0aW1hdGVHYXNfanNfMSA9IHJlcXVpcmUoXCIuL2VzdGltYXRlR2FzLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZXN0aW1hdGVDb250cmFjdEdhcyhjbGllbnQsIHsgYWJpLCBhZGRyZXNzLCBhcmdzLCBmdW5jdGlvbk5hbWUsIC4uLnJlcXVlc3QgfSkge1xuICAgIGNvbnN0IGRhdGEgPSAoMCwgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEuZW5jb2RlRnVuY3Rpb25EYXRhKSh7XG4gICAgICAgIGFiaSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgIH0pO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGdhcyA9IGF3YWl0ICgwLCBlc3RpbWF0ZUdhc19qc18xLmVzdGltYXRlR2FzKShjbGllbnQsIHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICB0bzogYWRkcmVzcyxcbiAgICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZ2FzO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGFjY291bnQgPSByZXF1ZXN0LmFjY291bnQgPyAoMCwgcGFyc2VBY2NvdW50X2pzXzEucGFyc2VBY2NvdW50KShyZXF1ZXN0LmFjY291bnQpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aHJvdyAoMCwgZ2V0Q29udHJhY3RFcnJvcl9qc18xLmdldENvbnRyYWN0RXJyb3IpKGVyciwge1xuICAgICAgICAgICAgYWJpOiBhYmksXG4gICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3Qvc2ltdWxhdGVDb250cmFjdCcsXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBzZW5kZXI6IGFjY291bnQ/LmFkZHJlc3MsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuZXN0aW1hdGVDb250cmFjdEdhcyA9IGVzdGltYXRlQ29udHJhY3RHYXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/estimateContractGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/estimateGas.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/estimateGas.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.estimateGas = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst account_js_1 = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/cjs/errors/account.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst getEstimateGasError_js_1 = __webpack_require__(/*! ../../utils/errors/getEstimateGasError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getEstimateGasError.js\");\nconst extract_js_1 = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/cjs/utils/formatters/extract.js\");\nconst transactionRequest_js_1 = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\");\nconst assertRequest_js_1 = __webpack_require__(/*! ../../utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\");\nconst prepareRequest_js_1 = __webpack_require__(/*! ../../utils/transaction/prepareRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js\");\nasync function estimateGas(client, args) {\n const account_ = args.account ?? client.account;\n if (!account_)\n throw new account_js_1.AccountNotFoundError({\n docsPath: '/docs/actions/public/estimateGas',\n });\n const account = (0, parseAccount_js_1.parseAccount)(account_);\n try {\n const { accessList, blockNumber, blockTag, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = account.type === 'local' ? await (0, prepareRequest_js_1.prepareRequest)(client, args) : args;\n const blockNumberHex = blockNumber ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n (0, assertRequest_js_1.assertRequest)(args);\n const format = client.chain?.formatters?.transactionRequest?.format ||\n transactionRequest_js_1.formatTransactionRequest;\n const request = format({\n ...(0, extract_js_1.extract)(rest, { format }),\n from: account.address,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n const balance = await client.request({\n method: 'eth_estimateGas',\n params: block ? [request, block] : [request],\n });\n return BigInt(balance);\n }\n catch (err) {\n throw (0, getEstimateGasError_js_1.getEstimateGasError)(err, {\n ...args,\n account,\n chain: client.chain,\n });\n }\n}\nexports.estimateGas = estimateGas;\n//# sourceMappingURL=estimateGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUdhcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsMEJBQTBCLG1CQUFPLENBQUMseUdBQXNDO0FBQ3hFLHFCQUFxQixtQkFBTyxDQUFDLCtFQUF5QjtBQUN0RCxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsaUNBQWlDLG1CQUFPLENBQUMsbUhBQTJDO0FBQ3BGLHFCQUFxQixtQkFBTyxDQUFDLG1HQUFtQztBQUNoRSxnQ0FBZ0MsbUJBQU8sQ0FBQyx5SEFBOEM7QUFDdEYsMkJBQTJCLG1CQUFPLENBQUMsaUhBQTBDO0FBQzdFLDRCQUE0QixtQkFBTyxDQUFDLG1IQUEyQztBQUMvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQkFBZ0Isd0hBQXdIO0FBQ3hJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxRQUFRO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2VzdGltYXRlR2FzLmpzP2UwZWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmVzdGltYXRlR2FzID0gdm9pZCAwO1xuY29uc3QgcGFyc2VBY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzXCIpO1xuY29uc3QgYWNjb3VudF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hY2NvdW50LmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmNvbnN0IGdldEVzdGltYXRlR2FzRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lcnJvcnMvZ2V0RXN0aW1hdGVHYXNFcnJvci5qc1wiKTtcbmNvbnN0IGV4dHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanNcIik7XG5jb25zdCB0cmFuc2FjdGlvblJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qc1wiKTtcbmNvbnN0IGFzc2VydFJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRSZXF1ZXN0LmpzXCIpO1xuY29uc3QgcHJlcGFyZVJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy90cmFuc2FjdGlvbi9wcmVwYXJlUmVxdWVzdC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGVzdGltYXRlR2FzKGNsaWVudCwgYXJncykge1xuICAgIGNvbnN0IGFjY291bnRfID0gYXJncy5hY2NvdW50ID8/IGNsaWVudC5hY2NvdW50O1xuICAgIGlmICghYWNjb3VudF8pXG4gICAgICAgIHRocm93IG5ldyBhY2NvdW50X2pzXzEuQWNjb3VudE5vdEZvdW5kRXJyb3Ioe1xuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUdhcycsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGFjY291bnQgPSAoMCwgcGFyc2VBY2NvdW50X2pzXzEucGFyc2VBY2NvdW50KShhY2NvdW50Xyk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBhY2Nlc3NMaXN0LCBibG9ja051bWJlciwgYmxvY2tUYWcsIGRhdGEsIGdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIG5vbmNlLCB0bywgdmFsdWUsIC4uLnJlc3QgfSA9IGFjY291bnQudHlwZSA9PT0gJ2xvY2FsJyA/IGF3YWl0ICgwLCBwcmVwYXJlUmVxdWVzdF9qc18xLnByZXBhcmVSZXF1ZXN0KShjbGllbnQsIGFyZ3MpIDogYXJncztcbiAgICAgICAgY29uc3QgYmxvY2tOdW1iZXJIZXggPSBibG9ja051bWJlciA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGJsb2NrID0gYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWc7XG4gICAgICAgICgwLCBhc3NlcnRSZXF1ZXN0X2pzXzEuYXNzZXJ0UmVxdWVzdCkoYXJncyk7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGNsaWVudC5jaGFpbj8uZm9ybWF0dGVycz8udHJhbnNhY3Rpb25SZXF1ZXN0Py5mb3JtYXQgfHxcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uUmVxdWVzdF9qc18xLmZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdDtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGZvcm1hdCh7XG4gICAgICAgICAgICAuLi4oMCwgZXh0cmFjdF9qc18xLmV4dHJhY3QpKHJlc3QsIHsgZm9ybWF0IH0pLFxuICAgICAgICAgICAgZnJvbTogYWNjb3VudC5hZGRyZXNzLFxuICAgICAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V0aF9lc3RpbWF0ZUdhcycsXG4gICAgICAgICAgICBwYXJhbXM6IGJsb2NrID8gW3JlcXVlc3QsIGJsb2NrXSA6IFtyZXF1ZXN0XSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBCaWdJbnQoYmFsYW5jZSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgKDAsIGdldEVzdGltYXRlR2FzRXJyb3JfanNfMS5nZXRFc3RpbWF0ZUdhc0Vycm9yKShlcnIsIHtcbiAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICBhY2NvdW50LFxuICAgICAgICAgICAgY2hhaW46IGNsaWVudC5jaGFpbixcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5lc3RpbWF0ZUdhcyA9IGVzdGltYXRlR2FzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXN0aW1hdGVHYXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/estimateGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getBalance.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getBalance.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getBalance = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function getBalance(client, { address, blockNumber, blockTag = 'latest' }) {\n const blockNumberHex = blockNumber ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const balance = await client.request({\n method: 'eth_getBalance',\n params: [address, blockNumberHex || blockTag],\n });\n return BigInt(balance);\n}\nexports.getBalance = getBalance;\n//# sourceMappingURL=getBalance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCYWxhbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQixtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsb0NBQW9DLDJDQUEyQztBQUMvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2dldEJhbGFuY2UuanM/ODI3NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0QmFsYW5jZSA9IHZvaWQgMDtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRCYWxhbmNlKGNsaWVudCwgeyBhZGRyZXNzLCBibG9ja051bWJlciwgYmxvY2tUYWcgPSAnbGF0ZXN0JyB9KSB7XG4gICAgY29uc3QgYmxvY2tOdW1iZXJIZXggPSBibG9ja051bWJlciA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2dldEJhbGFuY2UnLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBibG9ja051bWJlckhleCB8fCBibG9ja1RhZ10sXG4gICAgfSk7XG4gICAgcmV0dXJuIEJpZ0ludChiYWxhbmNlKTtcbn1cbmV4cG9ydHMuZ2V0QmFsYW5jZSA9IGdldEJhbGFuY2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRCYWxhbmNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getBalance.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getBlock.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getBlock.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getBlock = void 0;\nconst block_js_1 = __webpack_require__(/*! ../../errors/block.js */ \"./node_modules/viem/dist/cjs/errors/block.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst block_js_2 = __webpack_require__(/*! ../../utils/formatters/block.js */ \"./node_modules/viem/dist/cjs/utils/formatters/block.js\");\nasync function getBlock(client, { blockHash, blockNumber, blockTag = 'latest', includeTransactions = false, } = {}) {\n const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n let block = null;\n if (blockHash) {\n block = await client.request({\n method: 'eth_getBlockByHash',\n params: [blockHash, includeTransactions],\n });\n }\n else {\n block = await client.request({\n method: 'eth_getBlockByNumber',\n params: [blockNumberHex || blockTag, includeTransactions],\n });\n }\n if (!block)\n throw new block_js_1.BlockNotFoundError({ blockHash, blockNumber });\n const format = client.chain?.formatters?.block?.format || block_js_2.formatBlock;\n return format(block);\n}\nexports.getBlock = getBlock;\n//# sourceMappingURL=getBlock.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9jay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0I7QUFDaEIsbUJBQW1CLG1CQUFPLENBQUMsMkVBQXVCO0FBQ2xELG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCxtQkFBbUIsbUJBQU8sQ0FBQywrRkFBaUM7QUFDNUQsa0NBQWtDLDRFQUE0RSxJQUFJO0FBQ2xIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxrREFBa0Qsd0JBQXdCO0FBQzFFO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9jay5qcz9kNTIzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRCbG9jayA9IHZvaWQgMDtcbmNvbnN0IGJsb2NrX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2Jsb2NrLmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmNvbnN0IGJsb2NrX2pzXzIgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9ibG9jay5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGdldEJsb2NrKGNsaWVudCwgeyBibG9ja0hhc2gsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnLCBpbmNsdWRlVHJhbnNhY3Rpb25zID0gZmFsc2UsIH0gPSB7fSkge1xuICAgIGNvbnN0IGJsb2NrTnVtYmVySGV4ID0gYmxvY2tOdW1iZXIgIT09IHVuZGVmaW5lZCA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGJsb2NrID0gbnVsbDtcbiAgICBpZiAoYmxvY2tIYXNoKSB7XG4gICAgICAgIGJsb2NrID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldEJsb2NrQnlIYXNoJyxcbiAgICAgICAgICAgIHBhcmFtczogW2Jsb2NrSGFzaCwgaW5jbHVkZVRyYW5zYWN0aW9uc10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgYmxvY2sgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0QmxvY2tCeU51bWJlcicsXG4gICAgICAgICAgICBwYXJhbXM6IFtibG9ja051bWJlckhleCB8fCBibG9ja1RhZywgaW5jbHVkZVRyYW5zYWN0aW9uc10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoIWJsb2NrKVxuICAgICAgICB0aHJvdyBuZXcgYmxvY2tfanNfMS5CbG9ja05vdEZvdW5kRXJyb3IoeyBibG9ja0hhc2gsIGJsb2NrTnVtYmVyIH0pO1xuICAgIGNvbnN0IGZvcm1hdCA9IGNsaWVudC5jaGFpbj8uZm9ybWF0dGVycz8uYmxvY2s/LmZvcm1hdCB8fCBibG9ja19qc18yLmZvcm1hdEJsb2NrO1xuICAgIHJldHVybiBmb3JtYXQoYmxvY2spO1xufVxuZXhwb3J0cy5nZXRCbG9jayA9IGdldEJsb2NrO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0QmxvY2suanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getBlock.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getBlockNumber = exports.getBlockNumberCache = void 0;\nconst withCache_js_1 = __webpack_require__(/*! ../../utils/promise/withCache.js */ \"./node_modules/viem/dist/cjs/utils/promise/withCache.js\");\nconst cacheKey = (id) => `blockNumber.${id}`;\nfunction getBlockNumberCache(id) {\n return (0, withCache_js_1.getCache)(cacheKey(id));\n}\nexports.getBlockNumberCache = getBlockNumberCache;\nasync function getBlockNumber(client, { maxAge = client.pollingInterval } = {}) {\n const blockNumberHex = await (0, withCache_js_1.withCache)(() => client.request({\n method: 'eth_blockNumber',\n }), { cacheKey: cacheKey(client.uid), maxAge });\n return BigInt(blockNumberHex);\n}\nexports.getBlockNumber = getBlockNumber;\n//# sourceMappingURL=getBlockNumber.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja051bWJlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0IsR0FBRywyQkFBMkI7QUFDcEQsdUJBQXVCLG1CQUFPLENBQUMsaUdBQWtDO0FBQ2pFLHdDQUF3QyxHQUFHO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQix3Q0FBd0Msa0NBQWtDLElBQUk7QUFDOUU7QUFDQTtBQUNBLEtBQUssS0FBSyx3Q0FBd0M7QUFDbEQ7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja051bWJlci5qcz8wMjdmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRCbG9ja051bWJlciA9IGV4cG9ydHMuZ2V0QmxvY2tOdW1iZXJDYWNoZSA9IHZvaWQgMDtcbmNvbnN0IHdpdGhDYWNoZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3Byb21pc2Uvd2l0aENhY2hlLmpzXCIpO1xuY29uc3QgY2FjaGVLZXkgPSAoaWQpID0+IGBibG9ja051bWJlci4ke2lkfWA7XG5mdW5jdGlvbiBnZXRCbG9ja051bWJlckNhY2hlKGlkKSB7XG4gICAgcmV0dXJuICgwLCB3aXRoQ2FjaGVfanNfMS5nZXRDYWNoZSkoY2FjaGVLZXkoaWQpKTtcbn1cbmV4cG9ydHMuZ2V0QmxvY2tOdW1iZXJDYWNoZSA9IGdldEJsb2NrTnVtYmVyQ2FjaGU7XG5hc3luYyBmdW5jdGlvbiBnZXRCbG9ja051bWJlcihjbGllbnQsIHsgbWF4QWdlID0gY2xpZW50LnBvbGxpbmdJbnRlcnZhbCB9ID0ge30pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGF3YWl0ICgwLCB3aXRoQ2FjaGVfanNfMS53aXRoQ2FjaGUpKCgpID0+IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2Jsb2NrTnVtYmVyJyxcbiAgICB9KSwgeyBjYWNoZUtleTogY2FjaGVLZXkoY2xpZW50LnVpZCksIG1heEFnZSB9KTtcbiAgICByZXR1cm4gQmlnSW50KGJsb2NrTnVtYmVySGV4KTtcbn1cbmV4cG9ydHMuZ2V0QmxvY2tOdW1iZXIgPSBnZXRCbG9ja051bWJlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEJsb2NrTnVtYmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getBlockTransactionCount.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getBlockTransactionCount.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getBlockTransactionCount = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function getBlockTransactionCount(client, { blockHash, blockNumber, blockTag = 'latest', } = {}) {\n const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n let count;\n if (blockHash) {\n count = await client.request({\n method: 'eth_getBlockTransactionCountByHash',\n params: [blockHash],\n });\n }\n else {\n count = await client.request({\n method: 'eth_getBlockTransactionCountByNumber',\n params: [blockNumberHex || blockTag],\n });\n }\n return (0, fromHex_js_1.hexToNumber)(count);\n}\nexports.getBlockTransactionCount = getBlockTransactionCount;\n//# sourceMappingURL=getBlockTransactionCount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0NBQWdDO0FBQ2hDLHFCQUFxQixtQkFBTyxDQUFDLCtGQUFpQztBQUM5RCxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsa0RBQWtELCtDQUErQyxJQUFJO0FBQ3JHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQuanM/MWZiNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50ID0gdm9pZCAwO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50KGNsaWVudCwgeyBibG9ja0hhc2gsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnLCB9ID0ge30pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGxldCBjb3VudDtcbiAgICBpZiAoYmxvY2tIYXNoKSB7XG4gICAgICAgIGNvdW50ID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCcsXG4gICAgICAgICAgICBwYXJhbXM6IFtibG9ja0hhc2hdLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvdW50ID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5TnVtYmVyJyxcbiAgICAgICAgICAgIHBhcmFtczogW2Jsb2NrTnVtYmVySGV4IHx8IGJsb2NrVGFnXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKShjb3VudCk7XG59XG5leHBvcnRzLmdldEJsb2NrVHJhbnNhY3Rpb25Db3VudCA9IGdldEJsb2NrVHJhbnNhY3Rpb25Db3VudDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEJsb2NrVHJhbnNhY3Rpb25Db3VudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getBlockTransactionCount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getBytecode.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getBytecode.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getBytecode = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function getBytecode(client, { address, blockNumber, blockTag = 'latest' }) {\n const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const hex = await client.request({\n method: 'eth_getCode',\n params: [address, blockNumberHex || blockTag],\n });\n if (hex === '0x')\n return undefined;\n return hex;\n}\nexports.getBytecode = getBytecode;\n//# sourceMappingURL=getBytecode.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRCeXRlY29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELHFDQUFxQywyQ0FBMkM7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvZ2V0Qnl0ZWNvZGUuanM/MDJmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0Qnl0ZWNvZGUgPSB2b2lkIDA7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0Qnl0ZWNvZGUoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnIH0pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGhleCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2dldENvZGUnLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBibG9ja051bWJlckhleCB8fCBibG9ja1RhZ10sXG4gICAgfSk7XG4gICAgaWYgKGhleCA9PT0gJzB4JylcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gaGV4O1xufVxuZXhwb3J0cy5nZXRCeXRlY29kZSA9IGdldEJ5dGVjb2RlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Qnl0ZWNvZGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getBytecode.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getChainId.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getChainId.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getChainId = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nasync function getChainId(client) {\n const chainIdHex = await client.request({\n method: 'eth_chainId',\n });\n return (0, fromHex_js_1.hexToNumber)(chainIdHex);\n}\nexports.getChainId = getChainId;\n//# sourceMappingURL=getChainId.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRDaGFpbklkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQixxQkFBcUIsbUJBQU8sQ0FBQywrRkFBaUM7QUFDOUQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvZ2V0Q2hhaW5JZC5qcz8wMGJkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRDaGFpbklkID0gdm9pZCAwO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRDaGFpbklkKGNsaWVudCkge1xuICAgIGNvbnN0IGNoYWluSWRIZXggPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9jaGFpbklkJyxcbiAgICB9KTtcbiAgICByZXR1cm4gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikoY2hhaW5JZEhleCk7XG59XG5leHBvcnRzLmdldENoYWluSWQgPSBnZXRDaGFpbklkO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Q2hhaW5JZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getChainId.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getFeeHistory.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getFeeHistory.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getFeeHistory = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst feeHistory_js_1 = __webpack_require__(/*! ../../utils/formatters/feeHistory.js */ \"./node_modules/viem/dist/cjs/utils/formatters/feeHistory.js\");\nasync function getFeeHistory(client, { blockCount, blockNumber, blockTag = 'latest', rewardPercentiles, }) {\n const blockNumberHex = blockNumber ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const feeHistory = await client.request({\n method: 'eth_feeHistory',\n params: [\n (0, toHex_js_1.numberToHex)(blockCount),\n blockNumberHex || blockTag,\n rewardPercentiles,\n ],\n });\n return (0, feeHistory_js_1.formatFeeHistory)(feeHistory);\n}\nexports.getFeeHistory = getFeeHistory;\n//# sourceMappingURL=getFeeHistory.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRGZWVIaXN0b3J5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQixtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsd0JBQXdCLG1CQUFPLENBQUMseUdBQXNDO0FBQ3RFLHVDQUF1QyxrRUFBa0U7QUFDekc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2dldEZlZUhpc3RvcnkuanM/ODE4YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0RmVlSGlzdG9yeSA9IHZvaWQgMDtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBmZWVIaXN0b3J5X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9mZWVIaXN0b3J5LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0RmVlSGlzdG9yeShjbGllbnQsIHsgYmxvY2tDb3VudCwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnID0gJ2xhdGVzdCcsIHJld2FyZFBlcmNlbnRpbGVzLCB9KSB7XG4gICAgY29uc3QgYmxvY2tOdW1iZXJIZXggPSBibG9ja051bWJlciA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmVlSGlzdG9yeSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2ZlZUhpc3RvcnknLFxuICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShibG9ja0NvdW50KSxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVySGV4IHx8IGJsb2NrVGFnLFxuICAgICAgICAgICAgcmV3YXJkUGVyY2VudGlsZXMsXG4gICAgICAgIF0sXG4gICAgfSk7XG4gICAgcmV0dXJuICgwLCBmZWVIaXN0b3J5X2pzXzEuZm9ybWF0RmVlSGlzdG9yeSkoZmVlSGlzdG9yeSk7XG59XG5leHBvcnRzLmdldEZlZUhpc3RvcnkgPSBnZXRGZWVIaXN0b3J5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RmVlSGlzdG9yeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getFeeHistory.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getFilterChanges = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst decodeEventLog_js_1 = __webpack_require__(/*! ../../utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js\");\nconst log_js_1 = __webpack_require__(/*! ../../utils/formatters/log.js */ \"./node_modules/viem/dist/cjs/utils/formatters/log.js\");\nasync function getFilterChanges(_client, { filter, }) {\n const strict = 'strict' in filter && filter.strict;\n const logs = await filter.request({\n method: 'eth_getFilterChanges',\n params: [filter.id],\n });\n return logs\n .map((log) => {\n if (typeof log === 'string')\n return log;\n try {\n const { eventName, args } = 'abi' in filter && filter.abi\n ? (0, decodeEventLog_js_1.decodeEventLog)({\n abi: filter.abi,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return (0, log_js_1.formatLog)(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof abi_js_1.DecodeLogDataMismatch ||\n err instanceof abi_js_1.DecodeLogTopicsMismatch) {\n if ('strict' in filter && filter.strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n return (0, log_js_1.formatLog)(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\nexports.getFilterChanges = getFilterChanges;\n//# sourceMappingURL=getFilterChanges.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QixpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsNEJBQTRCLG1CQUFPLENBQUMsbUdBQW1DO0FBQ3ZFLGlCQUFpQixtQkFBTyxDQUFDLDJGQUErQjtBQUN4RCwyQ0FBMkMsU0FBUztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrREFBa0QsaUJBQWlCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QseUJBQXlCLGFBQWE7QUFDeEY7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmpzPzhiNDAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEZpbHRlckNoYW5nZXMgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgZGVjb2RlRXZlbnRMb2dfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanNcIik7XG5jb25zdCBsb2dfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2xvZy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGdldEZpbHRlckNoYW5nZXMoX2NsaWVudCwgeyBmaWx0ZXIsIH0pIHtcbiAgICBjb25zdCBzdHJpY3QgPSAnc3RyaWN0JyBpbiBmaWx0ZXIgJiYgZmlsdGVyLnN0cmljdDtcbiAgICBjb25zdCBsb2dzID0gYXdhaXQgZmlsdGVyLnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2V0RmlsdGVyQ2hhbmdlcycsXG4gICAgICAgIHBhcmFtczogW2ZpbHRlci5pZF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGxvZ3NcbiAgICAgICAgLm1hcCgobG9nKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgbG9nID09PSAnc3RyaW5nJylcbiAgICAgICAgICAgIHJldHVybiBsb2c7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50TmFtZSwgYXJncyB9ID0gJ2FiaScgaW4gZmlsdGVyICYmIGZpbHRlci5hYmlcbiAgICAgICAgICAgICAgICA/ICgwLCBkZWNvZGVFdmVudExvZ19qc18xLmRlY29kZUV2ZW50TG9nKSh7XG4gICAgICAgICAgICAgICAgICAgIGFiaTogZmlsdGVyLmFiaSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogbG9nLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHRvcGljczogbG9nLnRvcGljcyxcbiAgICAgICAgICAgICAgICAgICAgc3RyaWN0LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB7IGV2ZW50TmFtZTogdW5kZWZpbmVkLCBhcmdzOiB1bmRlZmluZWQgfTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbG9nX2pzXzEuZm9ybWF0TG9nKShsb2csIHsgYXJncywgZXZlbnROYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxldCBldmVudE5hbWU7XG4gICAgICAgICAgICBsZXQgaXNVbm5hbWVkO1xuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIGFiaV9qc18xLkRlY29kZUxvZ0RhdGFNaXNtYXRjaCB8fFxuICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIGFiaV9qc18xLkRlY29kZUxvZ1RvcGljc01pc21hdGNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCdzdHJpY3QnIGluIGZpbHRlciAmJiBmaWx0ZXIuc3RyaWN0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lID0gZXJyLmFiaUl0ZW0ubmFtZTtcbiAgICAgICAgICAgICAgICBpc1VubmFtZWQgPSBlcnIuYWJpSXRlbS5pbnB1dHM/LnNvbWUoKHgpID0+ICEoJ25hbWUnIGluIHggJiYgeC5uYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxvZ19qc18xLmZvcm1hdExvZykobG9nLCB7IGFyZ3M6IGlzVW5uYW1lZCA/IFtdIDoge30sIGV2ZW50TmFtZSB9KTtcbiAgICAgICAgfVxuICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG59XG5leHBvcnRzLmdldEZpbHRlckNoYW5nZXMgPSBnZXRGaWx0ZXJDaGFuZ2VzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RmlsdGVyQ2hhbmdlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getFilterLogs.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getFilterLogs.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getFilterLogs = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst decodeEventLog_js_1 = __webpack_require__(/*! ../../utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js\");\nconst log_js_1 = __webpack_require__(/*! ../../utils/formatters/log.js */ \"./node_modules/viem/dist/cjs/utils/formatters/log.js\");\nasync function getFilterLogs(_client, { filter }) {\n const strict = filter.strict ?? false;\n const logs = await filter.request({\n method: 'eth_getFilterLogs',\n params: [filter.id],\n });\n return logs\n .map((log) => {\n try {\n const { eventName, args } = 'abi' in filter && filter.abi\n ? (0, decodeEventLog_js_1.decodeEventLog)({\n abi: filter.abi,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return (0, log_js_1.formatLog)(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof abi_js_1.DecodeLogDataMismatch ||\n err instanceof abi_js_1.DecodeLogTopicsMismatch) {\n if ('strict' in filter && filter.strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n return (0, log_js_1.formatLog)(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\nexports.getFilterLogs = getFilterLogs;\n//# sourceMappingURL=getFilterLogs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJMb2dzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQixpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsNEJBQTRCLG1CQUFPLENBQUMsbUdBQW1DO0FBQ3ZFLGlCQUFpQixtQkFBTyxDQUFDLDJGQUErQjtBQUN4RCx3Q0FBd0MsUUFBUTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsb0JBQW9CO0FBQ3BCLGtEQUFrRCxpQkFBaUI7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCx5QkFBeUIsYUFBYTtBQUN4RjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2dldEZpbHRlckxvZ3MuanM/Njk1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0RmlsdGVyTG9ncyA9IHZvaWQgMDtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBkZWNvZGVFdmVudExvZ19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9kZWNvZGVFdmVudExvZy5qc1wiKTtcbmNvbnN0IGxvZ19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvbG9nLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0RmlsdGVyTG9ncyhfY2xpZW50LCB7IGZpbHRlciB9KSB7XG4gICAgY29uc3Qgc3RyaWN0ID0gZmlsdGVyLnN0cmljdCA/PyBmYWxzZTtcbiAgICBjb25zdCBsb2dzID0gYXdhaXQgZmlsdGVyLnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2V0RmlsdGVyTG9ncycsXG4gICAgICAgIHBhcmFtczogW2ZpbHRlci5pZF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGxvZ3NcbiAgICAgICAgLm1hcCgobG9nKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50TmFtZSwgYXJncyB9ID0gJ2FiaScgaW4gZmlsdGVyICYmIGZpbHRlci5hYmlcbiAgICAgICAgICAgICAgICA/ICgwLCBkZWNvZGVFdmVudExvZ19qc18xLmRlY29kZUV2ZW50TG9nKSh7XG4gICAgICAgICAgICAgICAgICAgIGFiaTogZmlsdGVyLmFiaSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogbG9nLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHRvcGljczogbG9nLnRvcGljcyxcbiAgICAgICAgICAgICAgICAgICAgc3RyaWN0LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB7IGV2ZW50TmFtZTogdW5kZWZpbmVkLCBhcmdzOiB1bmRlZmluZWQgfTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbG9nX2pzXzEuZm9ybWF0TG9nKShsb2csIHsgYXJncywgZXZlbnROYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxldCBldmVudE5hbWU7XG4gICAgICAgICAgICBsZXQgaXNVbm5hbWVkO1xuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIGFiaV9qc18xLkRlY29kZUxvZ0RhdGFNaXNtYXRjaCB8fFxuICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIGFiaV9qc18xLkRlY29kZUxvZ1RvcGljc01pc21hdGNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCdzdHJpY3QnIGluIGZpbHRlciAmJiBmaWx0ZXIuc3RyaWN0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lID0gZXJyLmFiaUl0ZW0ubmFtZTtcbiAgICAgICAgICAgICAgICBpc1VubmFtZWQgPSBlcnIuYWJpSXRlbS5pbnB1dHM/LnNvbWUoKHgpID0+ICEoJ25hbWUnIGluIHggJiYgeC5uYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxvZ19qc18xLmZvcm1hdExvZykobG9nLCB7IGFyZ3M6IGlzVW5uYW1lZCA/IFtdIDoge30sIGV2ZW50TmFtZSB9KTtcbiAgICAgICAgfVxuICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG59XG5leHBvcnRzLmdldEZpbHRlckxvZ3MgPSBnZXRGaWx0ZXJMb2dzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RmlsdGVyTG9ncy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getFilterLogs.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getGasPrice.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getGasPrice.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getGasPrice = void 0;\nasync function getGasPrice(client) {\n const gasPrice = await client.request({\n method: 'eth_gasPrice',\n });\n return BigInt(gasPrice);\n}\nexports.getGasPrice = getGasPrice;\n//# sourceMappingURL=getGasPrice.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRHYXNQcmljZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvZ2V0R2FzUHJpY2UuanM/ZDg0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0R2FzUHJpY2UgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBnZXRHYXNQcmljZShjbGllbnQpIHtcbiAgICBjb25zdCBnYXNQcmljZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2dhc1ByaWNlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gQmlnSW50KGdhc1ByaWNlKTtcbn1cbmV4cG9ydHMuZ2V0R2FzUHJpY2UgPSBnZXRHYXNQcmljZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEdhc1ByaWNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getGasPrice.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getLogs.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getLogs.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getLogs = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst decodeEventLog_js_1 = __webpack_require__(/*! ../../utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js\");\nconst encodeEventTopics_js_1 = __webpack_require__(/*! ../../utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst log_js_1 = __webpack_require__(/*! ../../utils/formatters/log.js */ \"./node_modules/viem/dist/cjs/utils/formatters/log.js\");\nasync function getLogs(client, { address, blockHash, fromBlock, toBlock, event, args, strict: strict_, } = {}) {\n const strict = strict_ ?? false;\n let topics = [];\n if (event)\n topics = (0, encodeEventTopics_js_1.encodeEventTopics)({\n abi: [event],\n eventName: event.name,\n args,\n });\n let logs;\n if (blockHash) {\n logs = await client.request({\n method: 'eth_getLogs',\n params: [{ address, topics, blockHash }],\n });\n }\n else {\n logs = await client.request({\n method: 'eth_getLogs',\n params: [\n {\n address,\n topics,\n fromBlock: typeof fromBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(toBlock) : toBlock,\n },\n ],\n });\n }\n return logs\n .map((log) => {\n try {\n const { eventName, args } = event\n ? (0, decodeEventLog_js_1.decodeEventLog)({\n abi: [event],\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return (0, log_js_1.formatLog)(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof abi_js_1.DecodeLogDataMismatch ||\n err instanceof abi_js_1.DecodeLogTopicsMismatch) {\n if (strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n return (0, log_js_1.formatLog)(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\nexports.getLogs = getLogs;\n//# sourceMappingURL=getLogs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRMb2dzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGVBQWU7QUFDZixpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsNEJBQTRCLG1CQUFPLENBQUMsbUdBQW1DO0FBQ3ZFLCtCQUErQixtQkFBTyxDQUFDLHlHQUFzQztBQUM3RSxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsaUJBQWlCLG1CQUFPLENBQUMsMkZBQStCO0FBQ3hELGlDQUFpQyx3RUFBd0UsSUFBSTtBQUM3RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw0QkFBNEI7QUFDbkQsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLG9CQUFvQjtBQUNwQixrREFBa0QsaUJBQWlCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QseUJBQXlCLGFBQWE7QUFDeEY7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGVBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRMb2dzLmpzP2MwMjgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldExvZ3MgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgZGVjb2RlRXZlbnRMb2dfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanNcIik7XG5jb25zdCBlbmNvZGVFdmVudFRvcGljc19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9lbmNvZGVFdmVudFRvcGljcy5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBsb2dfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2xvZy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGdldExvZ3MoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrSGFzaCwgZnJvbUJsb2NrLCB0b0Jsb2NrLCBldmVudCwgYXJncywgc3RyaWN0OiBzdHJpY3RfLCB9ID0ge30pIHtcbiAgICBjb25zdCBzdHJpY3QgPSBzdHJpY3RfID8/IGZhbHNlO1xuICAgIGxldCB0b3BpY3MgPSBbXTtcbiAgICBpZiAoZXZlbnQpXG4gICAgICAgIHRvcGljcyA9ICgwLCBlbmNvZGVFdmVudFRvcGljc19qc18xLmVuY29kZUV2ZW50VG9waWNzKSh7XG4gICAgICAgICAgICBhYmk6IFtldmVudF0sXG4gICAgICAgICAgICBldmVudE5hbWU6IGV2ZW50Lm5hbWUsXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICB9KTtcbiAgICBsZXQgbG9ncztcbiAgICBpZiAoYmxvY2tIYXNoKSB7XG4gICAgICAgIGxvZ3MgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0TG9ncycsXG4gICAgICAgICAgICBwYXJhbXM6IFt7IGFkZHJlc3MsIHRvcGljcywgYmxvY2tIYXNoIH1dLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxvZ3MgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0TG9ncycsXG4gICAgICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgIHRvcGljcyxcbiAgICAgICAgICAgICAgICAgICAgZnJvbUJsb2NrOiB0eXBlb2YgZnJvbUJsb2NrID09PSAnYmlnaW50JyA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShmcm9tQmxvY2spIDogZnJvbUJsb2NrLFxuICAgICAgICAgICAgICAgICAgICB0b0Jsb2NrOiB0eXBlb2YgdG9CbG9jayA9PT0gJ2JpZ2ludCcgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodG9CbG9jaykgOiB0b0Jsb2NrLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGxvZ3NcbiAgICAgICAgLm1hcCgobG9nKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50TmFtZSwgYXJncyB9ID0gZXZlbnRcbiAgICAgICAgICAgICAgICA/ICgwLCBkZWNvZGVFdmVudExvZ19qc18xLmRlY29kZUV2ZW50TG9nKSh7XG4gICAgICAgICAgICAgICAgICAgIGFiaTogW2V2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogbG9nLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHRvcGljczogbG9nLnRvcGljcyxcbiAgICAgICAgICAgICAgICAgICAgc3RyaWN0LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB7IGV2ZW50TmFtZTogdW5kZWZpbmVkLCBhcmdzOiB1bmRlZmluZWQgfTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbG9nX2pzXzEuZm9ybWF0TG9nKShsb2csIHsgYXJncywgZXZlbnROYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxldCBldmVudE5hbWU7XG4gICAgICAgICAgICBsZXQgaXNVbm5hbWVkO1xuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIGFiaV9qc18xLkRlY29kZUxvZ0RhdGFNaXNtYXRjaCB8fFxuICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIGFiaV9qc18xLkRlY29kZUxvZ1RvcGljc01pc21hdGNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHN0cmljdClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGV2ZW50TmFtZSA9IGVyci5hYmlJdGVtLm5hbWU7XG4gICAgICAgICAgICAgICAgaXNVbm5hbWVkID0gZXJyLmFiaUl0ZW0uaW5wdXRzPy5zb21lKCh4KSA9PiAhKCduYW1lJyBpbiB4ICYmIHgubmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsb2dfanNfMS5mb3JtYXRMb2cpKGxvZywgeyBhcmdzOiBpc1VubmFtZWQgPyBbXSA6IHt9LCBldmVudE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICB9KVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuZXhwb3J0cy5nZXRMb2dzID0gZ2V0TG9ncztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldExvZ3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getLogs.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getStorageAt.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getStorageAt.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getStorageAt = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function getStorageAt(client, { address, blockNumber, blockTag = 'latest', slot }) {\n const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n const data = await client.request({\n method: 'eth_getStorageAt',\n params: [address, slot, blockNumberHex || blockTag],\n });\n return data;\n}\nexports.getStorageAt = getStorageAt;\n//# sourceMappingURL=getStorageAt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRTdG9yYWdlQXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCLG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCxzQ0FBc0MsaURBQWlEO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvZ2V0U3RvcmFnZUF0LmpzPzBkMzMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFN0b3JhZ2VBdCA9IHZvaWQgMDtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRTdG9yYWdlQXQoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnLCBzbG90IH0pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9nZXRTdG9yYWdlQXQnLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBzbG90LCBibG9ja051bWJlckhleCB8fCBibG9ja1RhZ10sXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG59XG5leHBvcnRzLmdldFN0b3JhZ2VBdCA9IGdldFN0b3JhZ2VBdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFN0b3JhZ2VBdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getStorageAt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getTransaction.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getTransaction.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTransaction = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst transaction_js_2 = __webpack_require__(/*! ../../utils/formatters/transaction.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transaction.js\");\nasync function getTransaction(client, { blockHash, blockNumber, blockTag = 'latest', hash, index, }) {\n const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;\n let transaction = null;\n if (hash) {\n transaction = await client.request({\n method: 'eth_getTransactionByHash',\n params: [hash],\n });\n }\n else if (blockHash) {\n transaction = await client.request({\n method: 'eth_getTransactionByBlockHashAndIndex',\n params: [blockHash, (0, toHex_js_1.numberToHex)(index)],\n });\n }\n else if (blockNumberHex || blockTag) {\n transaction = await client.request({\n method: 'eth_getTransactionByBlockNumberAndIndex',\n params: [blockNumberHex || blockTag, (0, toHex_js_1.numberToHex)(index)],\n });\n }\n if (!transaction)\n throw new transaction_js_1.TransactionNotFoundError({\n blockHash,\n blockNumber,\n blockTag,\n hash,\n index,\n });\n const format = client.chain?.formatters?.transaction?.format || transaction_js_2.formatTransaction;\n return format(transaction);\n}\nexports.getTransaction = getTransaction;\n//# sourceMappingURL=getTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0I7QUFDdEIseUJBQXlCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzlELG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCx5QkFBeUIsbUJBQU8sQ0FBQywyR0FBdUM7QUFDeEUsd0NBQXdDLDJEQUEyRDtBQUNuRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uLmpzPzIzMDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uID0gdm9pZCAwO1xuY29uc3QgdHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvdHJhbnNhY3Rpb24uanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuY29uc3QgdHJhbnNhY3Rpb25fanNfMiA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb24oY2xpZW50LCB7IGJsb2NrSGFzaCwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnID0gJ2xhdGVzdCcsIGhhc2gsIGluZGV4LCB9KSB7XG4gICAgY29uc3QgYmxvY2tOdW1iZXJIZXggPSBibG9ja051bWJlciAhPT0gdW5kZWZpbmVkID8gKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGJsb2NrTnVtYmVyKSA6IHVuZGVmaW5lZDtcbiAgICBsZXQgdHJhbnNhY3Rpb24gPSBudWxsO1xuICAgIGlmIChoYXNoKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoJyxcbiAgICAgICAgICAgIHBhcmFtczogW2hhc2hdLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYmxvY2tIYXNoKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCcsXG4gICAgICAgICAgICBwYXJhbXM6IFtibG9ja0hhc2gsICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShpbmRleCldLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWcpIHtcbiAgICAgICAgdHJhbnNhY3Rpb24gPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXgnLFxuICAgICAgICAgICAgcGFyYW1zOiBbYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWcsICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShpbmRleCldLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKCF0cmFuc2FjdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IHRyYW5zYWN0aW9uX2pzXzEuVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yKHtcbiAgICAgICAgICAgIGJsb2NrSGFzaCxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgICAgICBoYXNoLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGZvcm1hdCA9IGNsaWVudC5jaGFpbj8uZm9ybWF0dGVycz8udHJhbnNhY3Rpb24/LmZvcm1hdCB8fCB0cmFuc2FjdGlvbl9qc18yLmZvcm1hdFRyYW5zYWN0aW9uO1xuICAgIHJldHVybiBmb3JtYXQodHJhbnNhY3Rpb24pO1xufVxuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbiA9IGdldFRyYW5zYWN0aW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0VHJhbnNhY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getTransactionConfirmations.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getTransactionConfirmations.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTransactionConfirmations = void 0;\nconst getBlockNumber_js_1 = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js\");\nconst getTransaction_js_1 = __webpack_require__(/*! ./getTransaction.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransaction.js\");\nasync function getTransactionConfirmations(client, { hash, transactionReceipt }) {\n const [blockNumber, transaction] = await Promise.all([\n (0, getBlockNumber_js_1.getBlockNumber)(client),\n hash ? (0, getTransaction_js_1.getTransaction)(client, { hash }) : undefined,\n ]);\n const transactionBlockNumber = transactionReceipt?.blockNumber || transaction?.blockNumber;\n if (!transactionBlockNumber)\n return 0n;\n return blockNumber - transactionBlockNumber + 1n;\n}\nexports.getTransactionConfirmations = getTransactionConfirmations;\n//# sourceMappingURL=getTransactionConfirmations.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUNBQW1DO0FBQ25DLDRCQUE0QixtQkFBTyxDQUFDLDBGQUFxQjtBQUN6RCw0QkFBNEIsbUJBQU8sQ0FBQywwRkFBcUI7QUFDekQscURBQXFELDBCQUEwQjtBQUMvRTtBQUNBO0FBQ0EsaUVBQWlFLE1BQU07QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uQ29uZmlybWF0aW9ucy5qcz9hMDZlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMgPSB2b2lkIDA7XG5jb25zdCBnZXRCbG9ja051bWJlcl9qc18xID0gcmVxdWlyZShcIi4vZ2V0QmxvY2tOdW1iZXIuanNcIik7XG5jb25zdCBnZXRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vZ2V0VHJhbnNhY3Rpb24uanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMoY2xpZW50LCB7IGhhc2gsIHRyYW5zYWN0aW9uUmVjZWlwdCB9KSB7XG4gICAgY29uc3QgW2Jsb2NrTnVtYmVyLCB0cmFuc2FjdGlvbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICgwLCBnZXRCbG9ja051bWJlcl9qc18xLmdldEJsb2NrTnVtYmVyKShjbGllbnQpLFxuICAgICAgICBoYXNoID8gKDAsIGdldFRyYW5zYWN0aW9uX2pzXzEuZ2V0VHJhbnNhY3Rpb24pKGNsaWVudCwgeyBoYXNoIH0pIDogdW5kZWZpbmVkLFxuICAgIF0pO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uQmxvY2tOdW1iZXIgPSB0cmFuc2FjdGlvblJlY2VpcHQ/LmJsb2NrTnVtYmVyIHx8IHRyYW5zYWN0aW9uPy5ibG9ja051bWJlcjtcbiAgICBpZiAoIXRyYW5zYWN0aW9uQmxvY2tOdW1iZXIpXG4gICAgICAgIHJldHVybiAwbjtcbiAgICByZXR1cm4gYmxvY2tOdW1iZXIgLSB0cmFuc2FjdGlvbkJsb2NrTnVtYmVyICsgMW47XG59XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uQ29uZmlybWF0aW9ucyA9IGdldFRyYW5zYWN0aW9uQ29uZmlybWF0aW9ucztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uQ29uZmlybWF0aW9ucy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getTransactionConfirmations.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getTransactionCount.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getTransactionCount.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTransactionCount = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function getTransactionCount(client, { address, blockTag = 'latest', blockNumber }) {\n const count = await client.request({\n method: 'eth_getTransactionCount',\n params: [address, blockNumber ? (0, toHex_js_1.numberToHex)(blockNumber) : blockTag],\n });\n return (0, fromHex_js_1.hexToNumber)(count);\n}\nexports.getTransactionCount = getTransactionCount;\n//# sourceMappingURL=getTransactionCount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbkNvdW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQixxQkFBcUIsbUJBQU8sQ0FBQywrRkFBaUM7QUFDOUQsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELDZDQUE2QywyQ0FBMkM7QUFDeEY7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db3VudC5qcz81Yzg0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkNvdW50ID0gdm9pZCAwO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25Db3VudChjbGllbnQsIHsgYWRkcmVzcywgYmxvY2tUYWcgPSAnbGF0ZXN0JywgYmxvY2tOdW1iZXIgfSkge1xuICAgIGNvbnN0IGNvdW50ID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCcsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3MsIGJsb2NrTnVtYmVyID8gKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGJsb2NrTnVtYmVyKSA6IGJsb2NrVGFnXSxcbiAgICB9KTtcbiAgICByZXR1cm4gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikoY291bnQpO1xufVxuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkNvdW50ID0gZ2V0VHJhbnNhY3Rpb25Db3VudDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uQ291bnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getTransactionCount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/getTransactionReceipt.js": -/*!****************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/getTransactionReceipt.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTransactionReceipt = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst transactionReceipt_js_1 = __webpack_require__(/*! ../../utils/formatters/transactionReceipt.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionReceipt.js\");\nasync function getTransactionReceipt(client, { hash }) {\n const receipt = await client.request({\n method: 'eth_getTransactionReceipt',\n params: [hash],\n });\n if (!receipt)\n throw new transaction_js_1.TransactionReceiptNotFoundError({ hash });\n const format = client.chain?.formatters?.transactionReceipt?.format ||\n transactionReceipt_js_1.formatTransactionReceipt;\n return format(receipt);\n}\nexports.getTransactionReceipt = getTransactionReceipt;\n//# sourceMappingURL=getTransactionReceipt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvblJlY2VpcHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNkJBQTZCO0FBQzdCLHlCQUF5QixtQkFBTyxDQUFDLHVGQUE2QjtBQUM5RCxnQ0FBZ0MsbUJBQU8sQ0FBQyx5SEFBOEM7QUFDdEYsK0NBQStDLE1BQU07QUFDckQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EscUVBQXFFLE1BQU07QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25SZWNlaXB0LmpzP2M0NWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uUmVjZWlwdCA9IHZvaWQgMDtcbmNvbnN0IHRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzXCIpO1xuY29uc3QgdHJhbnNhY3Rpb25SZWNlaXB0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlY2VpcHQuanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvblJlY2VpcHQoY2xpZW50LCB7IGhhc2ggfSkge1xuICAgIGNvbnN0IHJlY2VpcHQgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQnLFxuICAgICAgICBwYXJhbXM6IFtoYXNoXSxcbiAgICB9KTtcbiAgICBpZiAoIXJlY2VpcHQpXG4gICAgICAgIHRocm93IG5ldyB0cmFuc2FjdGlvbl9qc18xLlRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3IoeyBoYXNoIH0pO1xuICAgIGNvbnN0IGZvcm1hdCA9IGNsaWVudC5jaGFpbj8uZm9ybWF0dGVycz8udHJhbnNhY3Rpb25SZWNlaXB0Py5mb3JtYXQgfHxcbiAgICAgICAgdHJhbnNhY3Rpb25SZWNlaXB0X2pzXzEuZm9ybWF0VHJhbnNhY3Rpb25SZWNlaXB0O1xuICAgIHJldHVybiBmb3JtYXQocmVjZWlwdCk7XG59XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uUmVjZWlwdCA9IGdldFRyYW5zYWN0aW9uUmVjZWlwdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uUmVjZWlwdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/getTransactionReceipt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/multicall.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/multicall.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.multicall = void 0;\nconst abis_js_1 = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/cjs/constants/abis.js\");\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst contract_js_1 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst decodeFunctionResult_js_1 = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst getContractError_js_1 = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getContractError.js\");\nconst readContract_js_1 = __webpack_require__(/*! ./readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nasync function multicall(client, args) {\n const { allowFailure = true, batchSize: batchSize_, blockNumber, blockTag, contracts: contracts_, multicallAddress: multicallAddress_, } = args;\n const batchSize = batchSize_ ??\n ((typeof client.batch?.multicall === 'object' &&\n client.batch.multicall.batchSize) ||\n 1024);\n const contracts = contracts_;\n let multicallAddress = multicallAddress_;\n if (!multicallAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. multicallAddress is required.');\n multicallAddress = (0, chain_js_1.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'multicall3',\n });\n }\n const chunkedCalls = [[]];\n let currentChunk = 0;\n let currentChunkSize = 0;\n for (let i = 0; i < contracts.length; i++) {\n const { abi, address, args, functionName } = contracts[i];\n try {\n const callData = (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n currentChunkSize += callData.length;\n if (batchSize > 0 && currentChunkSize > batchSize) {\n currentChunk++;\n currentChunkSize = (callData.length - 2) / 2;\n chunkedCalls[currentChunk] = [];\n }\n chunkedCalls[currentChunk] = [\n ...chunkedCalls[currentChunk],\n {\n allowFailure: true,\n callData,\n target: address,\n },\n ];\n }\n catch (err) {\n const error = (0, getContractError_js_1.getContractError)(err, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/multicall',\n functionName,\n });\n if (!allowFailure)\n throw error;\n chunkedCalls[currentChunk] = [\n ...chunkedCalls[currentChunk],\n {\n allowFailure: true,\n callData: '0x',\n target: address,\n },\n ];\n }\n }\n const results = await Promise.all(chunkedCalls.map((calls) => (0, readContract_js_1.readContract)(client, {\n abi: abis_js_1.multicall3Abi,\n address: multicallAddress,\n args: [calls],\n blockNumber,\n blockTag,\n functionName: 'aggregate3',\n })));\n return results.flat().map(({ returnData, success }, i) => {\n const calls = chunkedCalls.flat();\n const { callData } = calls[i];\n const { abi, address, functionName, args } = contracts[i];\n try {\n if (callData === '0x')\n throw new abi_js_1.AbiDecodingZeroDataError();\n if (!success)\n throw new contract_js_1.RawContractError({ data: returnData });\n const result = (0, decodeFunctionResult_js_1.decodeFunctionResult)({\n abi,\n data: returnData,\n functionName: functionName,\n });\n return allowFailure ? { result, status: 'success' } : result;\n }\n catch (err) {\n const error = (0, getContractError_js_1.getContractError)(err, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/multicall',\n functionName,\n });\n if (!allowFailure)\n throw error;\n return { error, result: undefined, status: 'failure' };\n }\n });\n}\nexports.multicall = multicall;\n//# sourceMappingURL=multicall.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9tdWx0aWNhbGwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCO0FBQ2pCLGtCQUFrQixtQkFBTyxDQUFDLCtFQUF5QjtBQUNuRCxpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsc0JBQXNCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3hELGtDQUFrQyxtQkFBTyxDQUFDLCtHQUF5QztBQUNuRixnQ0FBZ0MsbUJBQU8sQ0FBQywyR0FBdUM7QUFDL0UsbUJBQW1CLG1CQUFPLENBQUMseUVBQXNCO0FBQ2pELDhCQUE4QixtQkFBTyxDQUFDLDZHQUF3QztBQUM5RSwwQkFBMEIsbUJBQU8sQ0FBQyxzRkFBbUI7QUFDckQ7QUFDQSxZQUFZLGlJQUFpSTtBQUM3STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUMsZ0JBQWdCLG1DQUFtQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxpQ0FBaUMscUJBQXFCO0FBQ3REO0FBQ0EsZ0JBQWdCLFdBQVc7QUFDM0IsZ0JBQWdCLG1DQUFtQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxrQkFBa0I7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2Isb0NBQW9DLDRCQUE0QjtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvbXVsdGljYWxsLmpzPzcwNDAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLm11bHRpY2FsbCA9IHZvaWQgMDtcbmNvbnN0IGFiaXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9jb25zdGFudHMvYWJpcy5qc1wiKTtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBjb250cmFjdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9jb250cmFjdC5qc1wiKTtcbmNvbnN0IGRlY29kZUZ1bmN0aW9uUmVzdWx0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uUmVzdWx0LmpzXCIpO1xuY29uc3QgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qc1wiKTtcbmNvbnN0IGNoYWluX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvY2hhaW4uanNcIik7XG5jb25zdCBnZXRDb250cmFjdEVycm9yX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZXJyb3JzL2dldENvbnRyYWN0RXJyb3IuanNcIik7XG5jb25zdCByZWFkQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuL3JlYWRDb250cmFjdC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIG11bHRpY2FsbChjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGFsbG93RmFpbHVyZSA9IHRydWUsIGJhdGNoU2l6ZTogYmF0Y2hTaXplXywgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBjb250cmFjdHM6IGNvbnRyYWN0c18sIG11bHRpY2FsbEFkZHJlc3M6IG11bHRpY2FsbEFkZHJlc3NfLCB9ID0gYXJncztcbiAgICBjb25zdCBiYXRjaFNpemUgPSBiYXRjaFNpemVfID8/XG4gICAgICAgICgodHlwZW9mIGNsaWVudC5iYXRjaD8ubXVsdGljYWxsID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgY2xpZW50LmJhdGNoLm11bHRpY2FsbC5iYXRjaFNpemUpIHx8XG4gICAgICAgICAgICAxMDI0KTtcbiAgICBjb25zdCBjb250cmFjdHMgPSBjb250cmFjdHNfO1xuICAgIGxldCBtdWx0aWNhbGxBZGRyZXNzID0gbXVsdGljYWxsQWRkcmVzc187XG4gICAgaWYgKCFtdWx0aWNhbGxBZGRyZXNzKSB7XG4gICAgICAgIGlmICghY2xpZW50LmNoYWluKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjbGllbnQgY2hhaW4gbm90IGNvbmZpZ3VyZWQuIG11bHRpY2FsbEFkZHJlc3MgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIG11bHRpY2FsbEFkZHJlc3MgPSAoMCwgY2hhaW5fanNfMS5nZXRDaGFpbkNvbnRyYWN0QWRkcmVzcykoe1xuICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICBjaGFpbjogY2xpZW50LmNoYWluLFxuICAgICAgICAgICAgY29udHJhY3Q6ICdtdWx0aWNhbGwzJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGNodW5rZWRDYWxscyA9IFtbXV07XG4gICAgbGV0IGN1cnJlbnRDaHVuayA9IDA7XG4gICAgbGV0IGN1cnJlbnRDaHVua1NpemUgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29udHJhY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHsgYWJpLCBhZGRyZXNzLCBhcmdzLCBmdW5jdGlvbk5hbWUgfSA9IGNvbnRyYWN0c1tpXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxEYXRhID0gKDAsIGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xLmVuY29kZUZ1bmN0aW9uRGF0YSkoe1xuICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY3VycmVudENodW5rU2l6ZSArPSBjYWxsRGF0YS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoYmF0Y2hTaXplID4gMCAmJiBjdXJyZW50Q2h1bmtTaXplID4gYmF0Y2hTaXplKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudENodW5rKys7XG4gICAgICAgICAgICAgICAgY3VycmVudENodW5rU2l6ZSA9IChjYWxsRGF0YS5sZW5ndGggLSAyKSAvIDI7XG4gICAgICAgICAgICAgICAgY2h1bmtlZENhbGxzW2N1cnJlbnRDaHVua10gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNodW5rZWRDYWxsc1tjdXJyZW50Q2h1bmtdID0gW1xuICAgICAgICAgICAgICAgIC4uLmNodW5rZWRDYWxsc1tjdXJyZW50Q2h1bmtdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGYWlsdXJlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjYWxsRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBhZGRyZXNzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yID0gKDAsIGdldENvbnRyYWN0RXJyb3JfanNfMS5nZXRDb250cmFjdEVycm9yKShlcnIsIHtcbiAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvbXVsdGljYWxsJyxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghYWxsb3dGYWlsdXJlKVxuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgY2h1bmtlZENhbGxzW2N1cnJlbnRDaHVua10gPSBbXG4gICAgICAgICAgICAgICAgLi4uY2h1bmtlZENhbGxzW2N1cnJlbnRDaHVua10sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZhaWx1cmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNhbGxEYXRhOiAnMHgnLFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGNodW5rZWRDYWxscy5tYXAoKGNhbGxzKSA9PiAoMCwgcmVhZENvbnRyYWN0X2pzXzEucmVhZENvbnRyYWN0KShjbGllbnQsIHtcbiAgICAgICAgYWJpOiBhYmlzX2pzXzEubXVsdGljYWxsM0FiaSxcbiAgICAgICAgYWRkcmVzczogbXVsdGljYWxsQWRkcmVzcyxcbiAgICAgICAgYXJnczogW2NhbGxzXSxcbiAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgIGJsb2NrVGFnLFxuICAgICAgICBmdW5jdGlvbk5hbWU6ICdhZ2dyZWdhdGUzJyxcbiAgICB9KSkpO1xuICAgIHJldHVybiByZXN1bHRzLmZsYXQoKS5tYXAoKHsgcmV0dXJuRGF0YSwgc3VjY2VzcyB9LCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbGxzID0gY2h1bmtlZENhbGxzLmZsYXQoKTtcbiAgICAgICAgY29uc3QgeyBjYWxsRGF0YSB9ID0gY2FsbHNbaV07XG4gICAgICAgIGNvbnN0IHsgYWJpLCBhZGRyZXNzLCBmdW5jdGlvbk5hbWUsIGFyZ3MgfSA9IGNvbnRyYWN0c1tpXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChjYWxsRGF0YSA9PT0gJzB4JylcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yKCk7XG4gICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGNvbnRyYWN0X2pzXzEuUmF3Q29udHJhY3RFcnJvcih7IGRhdGE6IHJldHVybkRhdGEgfSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSAoMCwgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5kZWNvZGVGdW5jdGlvblJlc3VsdCkoe1xuICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICBkYXRhOiByZXR1cm5EYXRhLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYWxsb3dGYWlsdXJlID8geyByZXN1bHQsIHN0YXR1czogJ3N1Y2Nlc3MnIH0gOiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSAoMCwgZ2V0Q29udHJhY3RFcnJvcl9qc18xLmdldENvbnRyYWN0RXJyb3IpKGVyciwge1xuICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9tdWx0aWNhbGwnLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFhbGxvd0ZhaWx1cmUpXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICByZXR1cm4geyBlcnJvciwgcmVzdWx0OiB1bmRlZmluZWQsIHN0YXR1czogJ2ZhaWx1cmUnIH07XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmV4cG9ydHMubXVsdGljYWxsID0gbXVsdGljYWxsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bXVsdGljYWxsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/multicall.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/readContract.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/readContract.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.readContract = void 0;\nconst decodeFunctionResult_js_1 = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst getContractError_js_1 = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getContractError.js\");\nconst call_js_1 = __webpack_require__(/*! ./call.js */ \"./node_modules/viem/dist/cjs/actions/public/call.js\");\nasync function readContract(client, { abi, address, args, functionName, ...callRequest }) {\n const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await (0, call_js_1.call)(client, {\n data: calldata,\n to: address,\n ...callRequest,\n });\n return (0, decodeFunctionResult_js_1.decodeFunctionResult)({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n }\n catch (err) {\n throw (0, getContractError_js_1.getContractError)(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/readContract',\n functionName,\n });\n }\n}\nexports.readContract = readContract;\n//# sourceMappingURL=readContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9yZWFkQ29udHJhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCLGtDQUFrQyxtQkFBTyxDQUFDLCtHQUF5QztBQUNuRixnQ0FBZ0MsbUJBQU8sQ0FBQywyR0FBdUM7QUFDL0UsOEJBQThCLG1CQUFPLENBQUMsNkdBQXdDO0FBQzlFLGtCQUFrQixtQkFBTyxDQUFDLHNFQUFXO0FBQ3JDLHNDQUFzQyxrREFBa0Q7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxnQkFBZ0IsT0FBTztBQUN2QjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvcmVhZENvbnRyYWN0LmpzPzQ0ZGMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnJlYWRDb250cmFjdCA9IHZvaWQgMDtcbmNvbnN0IGRlY29kZUZ1bmN0aW9uUmVzdWx0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uUmVzdWx0LmpzXCIpO1xuY29uc3QgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qc1wiKTtcbmNvbnN0IGdldENvbnRyYWN0RXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qc1wiKTtcbmNvbnN0IGNhbGxfanNfMSA9IHJlcXVpcmUoXCIuL2NhbGwuanNcIik7XG5hc3luYyBmdW5jdGlvbiByZWFkQ29udHJhY3QoY2xpZW50LCB7IGFiaSwgYWRkcmVzcywgYXJncywgZnVuY3Rpb25OYW1lLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3QgY2FsbGRhdGEgPSAoMCwgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEuZW5jb2RlRnVuY3Rpb25EYXRhKSh7XG4gICAgICAgIGFiaSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgIH0pO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgKDAsIGNhbGxfanNfMS5jYWxsKShjbGllbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IGNhbGxkYXRhLFxuICAgICAgICAgICAgdG86IGFkZHJlc3MsXG4gICAgICAgICAgICAuLi5jYWxsUmVxdWVzdCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAoMCwgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5kZWNvZGVGdW5jdGlvblJlc3VsdCkoe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIGRhdGE6IGRhdGEgfHwgJzB4JyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgKDAsIGdldENvbnRyYWN0RXJyb3JfanNfMS5nZXRDb250cmFjdEVycm9yKShlcnIsIHtcbiAgICAgICAgICAgIGFiaTogYWJpLFxuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L3JlYWRDb250cmFjdCcsXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMucmVhZENvbnRyYWN0ID0gcmVhZENvbnRyYWN0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhZENvbnRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/readContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/simulateContract.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/simulateContract.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.simulateContract = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst decodeFunctionResult_js_1 = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst getContractError_js_1 = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getContractError.js\");\nconst call_js_1 = __webpack_require__(/*! ./call.js */ \"./node_modules/viem/dist/cjs/actions/public/call.js\");\nasync function simulateContract(client, { abi, address, args, dataSuffix, functionName, ...callRequest }) {\n const account = callRequest.account\n ? (0, parseAccount_js_1.parseAccount)(callRequest.account)\n : undefined;\n const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await (0, call_js_1.call)(client, {\n batch: false,\n data: `${calldata}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...callRequest,\n });\n const result = (0, decodeFunctionResult_js_1.decodeFunctionResult)({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n return {\n result,\n request: {\n abi,\n address,\n args,\n functionName,\n ...callRequest,\n },\n };\n }\n catch (err) {\n throw (0, getContractError_js_1.getContractError)(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/simulateContract',\n functionName,\n sender: account?.address,\n });\n }\n}\nexports.simulateContract = simulateContract;\n//# sourceMappingURL=simulateContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9zaW11bGF0ZUNvbnRyYWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QiwwQkFBMEIsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDeEUsa0NBQWtDLG1CQUFPLENBQUMsK0dBQXlDO0FBQ25GLGdDQUFnQyxtQkFBTyxDQUFDLDJHQUF1QztBQUMvRSw4QkFBOEIsbUJBQU8sQ0FBQyw2R0FBd0M7QUFDOUUsa0JBQWtCLG1CQUFPLENBQUMsc0VBQVc7QUFDckMsMENBQTBDLDhEQUE4RDtBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGdCQUFnQixPQUFPO0FBQ3ZCO0FBQ0EscUJBQXFCLFNBQVMsRUFBRSwrQ0FBK0M7QUFDL0U7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy9zaW11bGF0ZUNvbnRyYWN0LmpzPzNiNTUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNpbXVsYXRlQ29udHJhY3QgPSB2b2lkIDA7XG5jb25zdCBwYXJzZUFjY291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanNcIik7XG5jb25zdCBkZWNvZGVGdW5jdGlvblJlc3VsdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qc1wiKTtcbmNvbnN0IGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FiaS9lbmNvZGVGdW5jdGlvbkRhdGEuanNcIik7XG5jb25zdCBnZXRDb250cmFjdEVycm9yX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZXJyb3JzL2dldENvbnRyYWN0RXJyb3IuanNcIik7XG5jb25zdCBjYWxsX2pzXzEgPSByZXF1aXJlKFwiLi9jYWxsLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gc2ltdWxhdGVDb250cmFjdChjbGllbnQsIHsgYWJpLCBhZGRyZXNzLCBhcmdzLCBkYXRhU3VmZml4LCBmdW5jdGlvbk5hbWUsIC4uLmNhbGxSZXF1ZXN0IH0pIHtcbiAgICBjb25zdCBhY2NvdW50ID0gY2FsbFJlcXVlc3QuYWNjb3VudFxuICAgICAgICA/ICgwLCBwYXJzZUFjY291bnRfanNfMS5wYXJzZUFjY291bnQpKGNhbGxSZXF1ZXN0LmFjY291bnQpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNhbGxkYXRhID0gKDAsIGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xLmVuY29kZUZ1bmN0aW9uRGF0YSkoe1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICB9KTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0ICgwLCBjYWxsX2pzXzEuY2FsbCkoY2xpZW50LCB7XG4gICAgICAgICAgICBiYXRjaDogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiBgJHtjYWxsZGF0YX0ke2RhdGFTdWZmaXggPyBkYXRhU3VmZml4LnJlcGxhY2UoJzB4JywgJycpIDogJyd9YCxcbiAgICAgICAgICAgIHRvOiBhZGRyZXNzLFxuICAgICAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSAoMCwgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5kZWNvZGVGdW5jdGlvblJlc3VsdCkoe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIGRhdGE6IGRhdGEgfHwgJzB4JyxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICByZXF1ZXN0OiB7XG4gICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93ICgwLCBnZXRDb250cmFjdEVycm9yX2pzXzEuZ2V0Q29udHJhY3RFcnJvcikoZXJyLCB7XG4gICAgICAgICAgICBhYmk6IGFiaSxcbiAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9zaW11bGF0ZUNvbnRyYWN0JyxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIHNlbmRlcjogYWNjb3VudD8uYWRkcmVzcyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5zaW11bGF0ZUNvbnRyYWN0ID0gc2ltdWxhdGVDb250cmFjdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpbXVsYXRlQ29udHJhY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/simulateContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.uninstallFilter = void 0;\nasync function uninstallFilter(_client, { filter }) {\n return filter.request({\n method: 'eth_uninstallFilter',\n params: [filter.id],\n });\n}\nexports.uninstallFilter = uninstallFilter;\n//# sourceMappingURL=uninstallFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy91bmluc3RhbGxGaWx0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsdUJBQXVCO0FBQ3ZCLDBDQUEwQyxRQUFRO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHVCQUF1QjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy91bmluc3RhbGxGaWx0ZXIuanM/MmY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudW5pbnN0YWxsRmlsdGVyID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gdW5pbnN0YWxsRmlsdGVyKF9jbGllbnQsIHsgZmlsdGVyIH0pIHtcbiAgICByZXR1cm4gZmlsdGVyLnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfdW5pbnN0YWxsRmlsdGVyJyxcbiAgICAgICAgcGFyYW1zOiBbZmlsdGVyLmlkXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMudW5pbnN0YWxsRmlsdGVyID0gdW5pbnN0YWxsRmlsdGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dW5pbnN0YWxsRmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/verifyHash.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/verifyHash.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.verifyHash = void 0;\nconst abis_js_1 = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/cjs/constants/abis.js\");\nconst contracts_js_1 = __webpack_require__(/*! ../../constants/contracts.js */ \"./node_modules/viem/dist/cjs/constants/contracts.js\");\nconst contract_js_1 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst isBytesEqual_js_1 = __webpack_require__(/*! ../../utils/data/isBytesEqual.js */ \"./node_modules/viem/dist/cjs/utils/data/isBytesEqual.js\");\nconst index_js_1 = __webpack_require__(/*! ../../utils/index.js */ \"./node_modules/viem/dist/cjs/utils/index.js\");\nconst call_js_1 = __webpack_require__(/*! ./call.js */ \"./node_modules/viem/dist/cjs/actions/public/call.js\");\nasync function verifyHash(client, { address, hash, signature, ...callRequest }) {\n const signatureHex = (0, index_js_1.isHex)(signature) ? signature : (0, index_js_1.toHex)(signature);\n try {\n const { data } = await (0, call_js_1.call)(client, {\n data: (0, index_js_1.encodeDeployData)({\n abi: abis_js_1.universalSignatureValidatorAbi,\n args: [address, hash, signatureHex],\n bytecode: contracts_js_1.universalSignatureValidatorByteCode,\n }),\n ...callRequest,\n });\n return (0, isBytesEqual_js_1.isBytesEqual)(data ?? '0x0', '0x1');\n }\n catch (error) {\n if (error instanceof contract_js_1.CallExecutionError) {\n return false;\n }\n throw error;\n }\n}\nexports.verifyHash = verifyHash;\n//# sourceMappingURL=verifyHash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy92ZXJpZnlIYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQixrQkFBa0IsbUJBQU8sQ0FBQywrRUFBeUI7QUFDbkQsdUJBQXVCLG1CQUFPLENBQUMseUZBQThCO0FBQzdELHNCQUFzQixtQkFBTyxDQUFDLGlGQUEwQjtBQUN4RCwwQkFBMEIsbUJBQU8sQ0FBQyxpR0FBa0M7QUFDcEUsbUJBQW1CLG1CQUFPLENBQUMseUVBQXNCO0FBQ2pELGtCQUFrQixtQkFBTyxDQUFDLHNFQUFXO0FBQ3JDLG9DQUFvQywwQ0FBMEM7QUFDOUU7QUFDQTtBQUNBLGdCQUFnQixPQUFPO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy92ZXJpZnlIYXNoLmpzPzI0MDIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnZlcmlmeUhhc2ggPSB2b2lkIDA7XG5jb25zdCBhYmlzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vY29uc3RhbnRzL2FiaXMuanNcIik7XG5jb25zdCBjb250cmFjdHNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9jb25zdGFudHMvY29udHJhY3RzLmpzXCIpO1xuY29uc3QgY29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvY29udHJhY3QuanNcIik7XG5jb25zdCBpc0J5dGVzRXF1YWxfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9kYXRhL2lzQnl0ZXNFcXVhbC5qc1wiKTtcbmNvbnN0IGluZGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvaW5kZXguanNcIik7XG5jb25zdCBjYWxsX2pzXzEgPSByZXF1aXJlKFwiLi9jYWxsLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gdmVyaWZ5SGFzaChjbGllbnQsIHsgYWRkcmVzcywgaGFzaCwgc2lnbmF0dXJlLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlSGV4ID0gKDAsIGluZGV4X2pzXzEuaXNIZXgpKHNpZ25hdHVyZSkgPyBzaWduYXR1cmUgOiAoMCwgaW5kZXhfanNfMS50b0hleCkoc2lnbmF0dXJlKTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0ICgwLCBjYWxsX2pzXzEuY2FsbCkoY2xpZW50LCB7XG4gICAgICAgICAgICBkYXRhOiAoMCwgaW5kZXhfanNfMS5lbmNvZGVEZXBsb3lEYXRhKSh7XG4gICAgICAgICAgICAgICAgYWJpOiBhYmlzX2pzXzEudW5pdmVyc2FsU2lnbmF0dXJlVmFsaWRhdG9yQWJpLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFthZGRyZXNzLCBoYXNoLCBzaWduYXR1cmVIZXhdLFxuICAgICAgICAgICAgICAgIGJ5dGVjb2RlOiBjb250cmFjdHNfanNfMS51bml2ZXJzYWxTaWduYXR1cmVWYWxpZGF0b3JCeXRlQ29kZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKDAsIGlzQnl0ZXNFcXVhbF9qc18xLmlzQnl0ZXNFcXVhbCkoZGF0YSA/PyAnMHgwJywgJzB4MScpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgY29udHJhY3RfanNfMS5DYWxsRXhlY3V0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG5leHBvcnRzLnZlcmlmeUhhc2ggPSB2ZXJpZnlIYXNoO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyaWZ5SGFzaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/verifyHash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/verifyMessage.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/verifyMessage.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.verifyMessage = void 0;\nconst index_js_1 = __webpack_require__(/*! ../../utils/index.js */ \"./node_modules/viem/dist/cjs/utils/index.js\");\nconst verifyHash_js_1 = __webpack_require__(/*! ./verifyHash.js */ \"./node_modules/viem/dist/cjs/actions/public/verifyHash.js\");\nasync function verifyMessage(client, { address, message, signature, ...callRequest }) {\n const hash = (0, index_js_1.hashMessage)(message);\n return (0, verifyHash_js_1.verifyHash)(client, {\n address,\n hash,\n signature,\n ...callRequest,\n });\n}\nexports.verifyMessage = verifyMessage;\n//# sourceMappingURL=verifyMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy92ZXJpZnlNZXNzYWdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQixtQkFBbUIsbUJBQU8sQ0FBQyx5RUFBc0I7QUFDakQsd0JBQXdCLG1CQUFPLENBQUMsa0ZBQWlCO0FBQ2pELHVDQUF1Qyw2Q0FBNkM7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvcHVibGljL3ZlcmlmeU1lc3NhZ2UuanM/M2RmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudmVyaWZ5TWVzc2FnZSA9IHZvaWQgMDtcbmNvbnN0IGluZGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvaW5kZXguanNcIik7XG5jb25zdCB2ZXJpZnlIYXNoX2pzXzEgPSByZXF1aXJlKFwiLi92ZXJpZnlIYXNoLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gdmVyaWZ5TWVzc2FnZShjbGllbnQsIHsgYWRkcmVzcywgbWVzc2FnZSwgc2lnbmF0dXJlLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3QgaGFzaCA9ICgwLCBpbmRleF9qc18xLmhhc2hNZXNzYWdlKShtZXNzYWdlKTtcbiAgICByZXR1cm4gKDAsIHZlcmlmeUhhc2hfanNfMS52ZXJpZnlIYXNoKShjbGllbnQsIHtcbiAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgaGFzaCxcbiAgICAgICAgc2lnbmF0dXJlLFxuICAgICAgICAuLi5jYWxsUmVxdWVzdCxcbiAgICB9KTtcbn1cbmV4cG9ydHMudmVyaWZ5TWVzc2FnZSA9IHZlcmlmeU1lc3NhZ2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJpZnlNZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/verifyMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/verifyTypedData.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/verifyTypedData.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.verifyTypedData = void 0;\nconst index_js_1 = __webpack_require__(/*! ../../utils/index.js */ \"./node_modules/viem/dist/cjs/utils/index.js\");\nconst verifyHash_js_1 = __webpack_require__(/*! ./verifyHash.js */ \"./node_modules/viem/dist/cjs/actions/public/verifyHash.js\");\nasync function verifyTypedData(client, { address, signature, message, primaryType, types, domain, ...callRequest }) {\n const hash = (0, index_js_1.hashTypedData)({ message, primaryType, types, domain });\n return (0, verifyHash_js_1.verifyHash)(client, {\n address,\n hash,\n signature,\n ...callRequest,\n });\n}\nexports.verifyTypedData = verifyTypedData;\n//# sourceMappingURL=verifyTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy92ZXJpZnlUeXBlZERhdGEuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsdUJBQXVCO0FBQ3ZCLG1CQUFtQixtQkFBTyxDQUFDLHlFQUFzQjtBQUNqRCx3QkFBd0IsbUJBQU8sQ0FBQyxrRkFBaUI7QUFDakQseUNBQXlDLHlFQUF5RTtBQUNsSCxpREFBaUQscUNBQXFDO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSx1QkFBdUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvdmVyaWZ5VHlwZWREYXRhLmpzPzY1YjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnZlcmlmeVR5cGVkRGF0YSA9IHZvaWQgMDtcbmNvbnN0IGluZGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvaW5kZXguanNcIik7XG5jb25zdCB2ZXJpZnlIYXNoX2pzXzEgPSByZXF1aXJlKFwiLi92ZXJpZnlIYXNoLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gdmVyaWZ5VHlwZWREYXRhKGNsaWVudCwgeyBhZGRyZXNzLCBzaWduYXR1cmUsIG1lc3NhZ2UsIHByaW1hcnlUeXBlLCB0eXBlcywgZG9tYWluLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3QgaGFzaCA9ICgwLCBpbmRleF9qc18xLmhhc2hUeXBlZERhdGEpKHsgbWVzc2FnZSwgcHJpbWFyeVR5cGUsIHR5cGVzLCBkb21haW4gfSk7XG4gICAgcmV0dXJuICgwLCB2ZXJpZnlIYXNoX2pzXzEudmVyaWZ5SGFzaCkoY2xpZW50LCB7XG4gICAgICAgIGFkZHJlc3MsXG4gICAgICAgIGhhc2gsXG4gICAgICAgIHNpZ25hdHVyZSxcbiAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgfSk7XG59XG5leHBvcnRzLnZlcmlmeVR5cGVkRGF0YSA9IHZlcmlmeVR5cGVkRGF0YTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlcmlmeVR5cGVkRGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/verifyTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/waitForTransactionReceipt.js": -/*!********************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/waitForTransactionReceipt.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.waitForTransactionReceipt = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst observe_js_1 = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/cjs/utils/observe.js\");\nconst withRetry_js_1 = __webpack_require__(/*! ../../utils/promise/withRetry.js */ \"./node_modules/viem/dist/cjs/utils/promise/withRetry.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst getBlock_js_1 = __webpack_require__(/*! ./getBlock.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlock.js\");\nconst getTransaction_js_1 = __webpack_require__(/*! ./getTransaction.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransaction.js\");\nconst getTransactionReceipt_js_1 = __webpack_require__(/*! ./getTransactionReceipt.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransactionReceipt.js\");\nconst watchBlockNumber_js_1 = __webpack_require__(/*! ./watchBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/watchBlockNumber.js\");\nasync function waitForTransactionReceipt(client, { confirmations = 1, hash, onReplaced, pollingInterval = client.pollingInterval, timeout, }) {\n const observerId = (0, stringify_js_1.stringify)(['waitForTransactionReceipt', client.uid, hash]);\n let transaction;\n let replacedTransaction;\n let receipt;\n let retrying = false;\n return new Promise((resolve, reject) => {\n if (timeout)\n setTimeout(() => reject(new transaction_js_1.WaitForTransactionReceiptTimeoutError({ hash })), timeout);\n const _unobserve = (0, observe_js_1.observe)(observerId, { onReplaced, resolve, reject }, (emit) => {\n const unwatch = (0, watchBlockNumber_js_1.watchBlockNumber)(client, {\n emitMissed: true,\n emitOnBegin: true,\n poll: true,\n pollingInterval,\n async onBlockNumber(blockNumber_) {\n if (retrying)\n return;\n let blockNumber = blockNumber_;\n const done = async (fn) => {\n unwatch();\n fn();\n _unobserve();\n };\n try {\n if (receipt) {\n if (blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n done(() => emit.resolve(receipt));\n return;\n }\n if (!transaction) {\n retrying = true;\n await (0, withRetry_js_1.withRetry)(async () => {\n transaction = await (0, getTransaction_js_1.getTransaction)(client, { hash });\n if (transaction.blockNumber)\n blockNumber = transaction.blockNumber;\n }, {\n delay: ({ count }) => ~~(1 << count) * 200,\n retryCount: 6,\n });\n retrying = false;\n }\n receipt = await (0, getTransactionReceipt_js_1.getTransactionReceipt)(client, { hash });\n if (confirmations > 0 &&\n blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n done(() => emit.resolve(receipt));\n }\n catch (err) {\n if (transaction &&\n (err instanceof transaction_js_1.TransactionNotFoundError ||\n err instanceof transaction_js_1.TransactionReceiptNotFoundError)) {\n replacedTransaction = transaction;\n const block = await (0, getBlock_js_1.getBlock)(client, {\n blockNumber,\n includeTransactions: true,\n });\n const replacementTransaction = block.transactions.find(({ from, nonce }) => from === replacedTransaction.from &&\n nonce === replacedTransaction.nonce);\n if (!replacementTransaction)\n return;\n receipt = await (0, getTransactionReceipt_js_1.getTransactionReceipt)(client, {\n hash: replacementTransaction.hash,\n });\n if (blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n let reason = 'replaced';\n if (replacementTransaction.to === replacedTransaction.to &&\n replacementTransaction.value === replacedTransaction.value) {\n reason = 'repriced';\n }\n else if (replacementTransaction.from === replacementTransaction.to &&\n replacementTransaction.value === 0n) {\n reason = 'cancelled';\n }\n done(() => {\n emit.onReplaced?.({\n reason,\n replacedTransaction: replacedTransaction,\n transaction: replacementTransaction,\n transactionReceipt: receipt,\n });\n emit.resolve(receipt);\n });\n }\n else {\n done(() => emit.reject(err));\n }\n }\n },\n });\n return unwatch;\n });\n });\n}\nexports.waitForTransactionReceipt = waitForTransactionReceipt;\n//# sourceMappingURL=waitForTransactionReceipt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlDQUFpQztBQUNqQyx5QkFBeUIsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDOUQscUJBQXFCLG1CQUFPLENBQUMsNkVBQXdCO0FBQ3JELHVCQUF1QixtQkFBTyxDQUFDLGlHQUFrQztBQUNqRSx1QkFBdUIsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDekQsc0JBQXNCLG1CQUFPLENBQUMsOEVBQWU7QUFDN0MsNEJBQTRCLG1CQUFPLENBQUMsMEZBQXFCO0FBQ3pELG1DQUFtQyxtQkFBTyxDQUFDLHdHQUE0QjtBQUN2RSw4QkFBOEIsbUJBQU8sQ0FBQyw4RkFBdUI7QUFDN0QsbURBQW1ELHlGQUF5RjtBQUM1STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxNQUFNO0FBQ3ZHLG1FQUFtRSw2QkFBNkI7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0dBQXNHLE1BQU07QUFDNUc7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QiwwQ0FBMEMsT0FBTztBQUNqRDtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0Esd0dBQXdHLE1BQU07QUFDOUc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0Isc0ZBQXNGLGFBQWE7QUFDbkc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBLGlDQUFpQztBQUNqQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0LmpzP2IwNjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLndhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQgPSB2b2lkIDA7XG5jb25zdCB0cmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qc1wiKTtcbmNvbnN0IG9ic2VydmVfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9vYnNlcnZlLmpzXCIpO1xuY29uc3Qgd2l0aFJldHJ5X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvcHJvbWlzZS93aXRoUmV0cnkuanNcIik7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9zdHJpbmdpZnkuanNcIik7XG5jb25zdCBnZXRCbG9ja19qc18xID0gcmVxdWlyZShcIi4vZ2V0QmxvY2suanNcIik7XG5jb25zdCBnZXRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vZ2V0VHJhbnNhY3Rpb24uanNcIik7XG5jb25zdCBnZXRUcmFuc2FjdGlvblJlY2VpcHRfanNfMSA9IHJlcXVpcmUoXCIuL2dldFRyYW5zYWN0aW9uUmVjZWlwdC5qc1wiKTtcbmNvbnN0IHdhdGNoQmxvY2tOdW1iZXJfanNfMSA9IHJlcXVpcmUoXCIuL3dhdGNoQmxvY2tOdW1iZXIuanNcIik7XG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0KGNsaWVudCwgeyBjb25maXJtYXRpb25zID0gMSwgaGFzaCwgb25SZXBsYWNlZCwgcG9sbGluZ0ludGVydmFsID0gY2xpZW50LnBvbGxpbmdJbnRlcnZhbCwgdGltZW91dCwgfSkge1xuICAgIGNvbnN0IG9ic2VydmVySWQgPSAoMCwgc3RyaW5naWZ5X2pzXzEuc3RyaW5naWZ5KShbJ3dhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQnLCBjbGllbnQudWlkLCBoYXNoXSk7XG4gICAgbGV0IHRyYW5zYWN0aW9uO1xuICAgIGxldCByZXBsYWNlZFRyYW5zYWN0aW9uO1xuICAgIGxldCByZWNlaXB0O1xuICAgIGxldCByZXRyeWluZyA9IGZhbHNlO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGlmICh0aW1lb3V0KVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QobmV3IHRyYW5zYWN0aW9uX2pzXzEuV2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdFRpbWVvdXRFcnJvcih7IGhhc2ggfSkpLCB0aW1lb3V0KTtcbiAgICAgICAgY29uc3QgX3Vub2JzZXJ2ZSA9ICgwLCBvYnNlcnZlX2pzXzEub2JzZXJ2ZSkob2JzZXJ2ZXJJZCwgeyBvblJlcGxhY2VkLCByZXNvbHZlLCByZWplY3QgfSwgKGVtaXQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVud2F0Y2ggPSAoMCwgd2F0Y2hCbG9ja051bWJlcl9qc18xLndhdGNoQmxvY2tOdW1iZXIpKGNsaWVudCwge1xuICAgICAgICAgICAgICAgIGVtaXRNaXNzZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZW1pdE9uQmVnaW46IHRydWUsXG4gICAgICAgICAgICAgICAgcG9sbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgICAgICAgICAgYXN5bmMgb25CbG9ja051bWJlcihibG9ja051bWJlcl8pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJldHJ5aW5nKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2tOdW1iZXIgPSBibG9ja051bWJlcl87XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvbmUgPSBhc3luYyAoZm4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVud2F0Y2goKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZuKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdW5vYnNlcnZlKCk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVjZWlwdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChibG9ja051bWJlciAtIHJlY2VpcHQuYmxvY2tOdW1iZXIgKyAxbiA8IGNvbmZpcm1hdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb25lKCgpID0+IGVtaXQucmVzb2x2ZShyZWNlaXB0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0cmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHJ5aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCAoMCwgd2l0aFJldHJ5X2pzXzEud2l0aFJldHJ5KShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uID0gYXdhaXQgKDAsIGdldFRyYW5zYWN0aW9uX2pzXzEuZ2V0VHJhbnNhY3Rpb24pKGNsaWVudCwgeyBoYXNoIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uYmxvY2tOdW1iZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja051bWJlciA9IHRyYW5zYWN0aW9uLmJsb2NrTnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6ICh7IGNvdW50IH0pID0+IH5+KDEgPDwgY291bnQpICogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyeUNvdW50OiA2LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHJ5aW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZWNlaXB0ID0gYXdhaXQgKDAsIGdldFRyYW5zYWN0aW9uUmVjZWlwdF9qc18xLmdldFRyYW5zYWN0aW9uUmVjZWlwdCkoY2xpZW50LCB7IGhhc2ggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlybWF0aW9ucyA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja051bWJlciAtIHJlY2VpcHQuYmxvY2tOdW1iZXIgKyAxbiA8IGNvbmZpcm1hdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgoKSA9PiBlbWl0LnJlc29sdmUocmVjZWlwdCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnIgaW5zdGFuY2VvZiB0cmFuc2FjdGlvbl9qc18xLlRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgaW5zdGFuY2VvZiB0cmFuc2FjdGlvbl9qc18xLlRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWRUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgKDAsIGdldEJsb2NrX2pzXzEuZ2V0QmxvY2spKGNsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZVRyYW5zYWN0aW9uczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXBsYWNlbWVudFRyYW5zYWN0aW9uID0gYmxvY2sudHJhbnNhY3Rpb25zLmZpbmQoKHsgZnJvbSwgbm9uY2UgfSkgPT4gZnJvbSA9PT0gcmVwbGFjZWRUcmFuc2FjdGlvbi5mcm9tICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmNlID09PSByZXBsYWNlZFRyYW5zYWN0aW9uLm5vbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlcGxhY2VtZW50VHJhbnNhY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXB0ID0gYXdhaXQgKDAsIGdldFRyYW5zYWN0aW9uUmVjZWlwdF9qc18xLmdldFRyYW5zYWN0aW9uUmVjZWlwdCkoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2g6IHJlcGxhY2VtZW50VHJhbnNhY3Rpb24uaGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2tOdW1iZXIgLSByZWNlaXB0LmJsb2NrTnVtYmVyICsgMW4gPCBjb25maXJtYXRpb25zKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlYXNvbiA9ICdyZXBsYWNlZCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50VHJhbnNhY3Rpb24udG8gPT09IHJlcGxhY2VkVHJhbnNhY3Rpb24udG8gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRUcmFuc2FjdGlvbi52YWx1ZSA9PT0gcmVwbGFjZWRUcmFuc2FjdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb24gPSAncmVwcmljZWQnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXBsYWNlbWVudFRyYW5zYWN0aW9uLmZyb20gPT09IHJlcGxhY2VtZW50VHJhbnNhY3Rpb24udG8gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRUcmFuc2FjdGlvbi52YWx1ZSA9PT0gMG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uID0gJ2NhbmNlbGxlZCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWl0Lm9uUmVwbGFjZWQ/Lih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZFRyYW5zYWN0aW9uOiByZXBsYWNlZFRyYW5zYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb246IHJlcGxhY2VtZW50VHJhbnNhY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblJlY2VpcHQ6IHJlY2VpcHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWl0LnJlc29sdmUocmVjZWlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb25lKCgpID0+IGVtaXQucmVqZWN0KGVycikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHVud2F0Y2g7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0cy53YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0ID0gd2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/waitForTransactionReceipt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/watchBlockNumber.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/watchBlockNumber.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.watchBlockNumber = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst observe_js_1 = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/cjs/utils/observe.js\");\nconst poll_js_1 = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/cjs/utils/poll.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst getBlockNumber_js_1 = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js\");\nfunction watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n let prevBlockNumber;\n const pollBlockNumber = () => {\n const observerId = (0, stringify_js_1.stringify)([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n pollingInterval,\n ]);\n return (0, observe_js_1.observe)(observerId, { onBlockNumber, onError }, (emit) => (0, poll_js_1.poll)(async () => {\n try {\n const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(client, { maxAge: 0 });\n if (prevBlockNumber) {\n if (blockNumber === prevBlockNumber)\n return;\n if (blockNumber - prevBlockNumber > 1 && emitMissed) {\n for (let i = prevBlockNumber + 1n; i < blockNumber; i++) {\n emit.onBlockNumber(i, prevBlockNumber);\n prevBlockNumber = i;\n }\n }\n }\n if (!prevBlockNumber || blockNumber > prevBlockNumber) {\n emit.onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlockNumber = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const blockNumber = (0, fromHex_js_1.hexToBigInt)(data.result?.number);\n onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollBlockNumber() : subscribeBlockNumber();\n}\nexports.watchBlockNumber = watchBlockNumber;\n//# sourceMappingURL=watchBlockNumber.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2NrTnVtYmVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QixxQkFBcUIsbUJBQU8sQ0FBQywrRkFBaUM7QUFDOUQscUJBQXFCLG1CQUFPLENBQUMsNkVBQXdCO0FBQ3JELGtCQUFrQixtQkFBTyxDQUFDLHVFQUFxQjtBQUMvQyx1QkFBdUIsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDekQsNEJBQTRCLG1CQUFPLENBQUMsMEZBQXFCO0FBQ3pELG9DQUFvQyx5SEFBeUg7QUFDN0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsd0JBQXdCO0FBQy9FO0FBQ0EsNEZBQTRGLFdBQVc7QUFDdkc7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsaUJBQWlCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDRCQUE0QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2NrTnVtYmVyLmpzPzdhMjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLndhdGNoQmxvY2tOdW1iZXIgPSB2b2lkIDA7XG5jb25zdCBmcm9tSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvZnJvbUhleC5qc1wiKTtcbmNvbnN0IG9ic2VydmVfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9vYnNlcnZlLmpzXCIpO1xuY29uc3QgcG9sbF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3BvbGwuanNcIik7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9zdHJpbmdpZnkuanNcIik7XG5jb25zdCBnZXRCbG9ja051bWJlcl9qc18xID0gcmVxdWlyZShcIi4vZ2V0QmxvY2tOdW1iZXIuanNcIik7XG5mdW5jdGlvbiB3YXRjaEJsb2NrTnVtYmVyKGNsaWVudCwgeyBlbWl0T25CZWdpbiA9IGZhbHNlLCBlbWl0TWlzc2VkID0gZmFsc2UsIG9uQmxvY2tOdW1iZXIsIG9uRXJyb3IsIHBvbGw6IHBvbGxfLCBwb2xsaW5nSW50ZXJ2YWwgPSBjbGllbnQucG9sbGluZ0ludGVydmFsLCB9KSB7XG4gICAgY29uc3QgZW5hYmxlUG9sbGluZyA9IHR5cGVvZiBwb2xsXyAhPT0gJ3VuZGVmaW5lZCcgPyBwb2xsXyA6IGNsaWVudC50cmFuc3BvcnQudHlwZSAhPT0gJ3dlYlNvY2tldCc7XG4gICAgbGV0IHByZXZCbG9ja051bWJlcjtcbiAgICBjb25zdCBwb2xsQmxvY2tOdW1iZXIgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9ic2VydmVySWQgPSAoMCwgc3RyaW5naWZ5X2pzXzEuc3RyaW5naWZ5KShbXG4gICAgICAgICAgICAnd2F0Y2hCbG9ja051bWJlcicsXG4gICAgICAgICAgICBjbGllbnQudWlkLFxuICAgICAgICAgICAgZW1pdE9uQmVnaW4sXG4gICAgICAgICAgICBlbWl0TWlzc2VkLFxuICAgICAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgICAgICBdKTtcbiAgICAgICAgcmV0dXJuICgwLCBvYnNlcnZlX2pzXzEub2JzZXJ2ZSkob2JzZXJ2ZXJJZCwgeyBvbkJsb2NrTnVtYmVyLCBvbkVycm9yIH0sIChlbWl0KSA9PiAoMCwgcG9sbF9qc18xLnBvbGwpKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2tOdW1iZXIgPSBhd2FpdCAoMCwgZ2V0QmxvY2tOdW1iZXJfanNfMS5nZXRCbG9ja051bWJlcikoY2xpZW50LCB7IG1heEFnZTogMCB9KTtcbiAgICAgICAgICAgICAgICBpZiAocHJldkJsb2NrTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9ja051bWJlciA9PT0gcHJldkJsb2NrTnVtYmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2tOdW1iZXIgLSBwcmV2QmxvY2tOdW1iZXIgPiAxICYmIGVtaXRNaXNzZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSBwcmV2QmxvY2tOdW1iZXIgKyAxbjsgaSA8IGJsb2NrTnVtYmVyOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWl0Lm9uQmxvY2tOdW1iZXIoaSwgcHJldkJsb2NrTnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2QmxvY2tOdW1iZXIgPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghcHJldkJsb2NrTnVtYmVyIHx8IGJsb2NrTnVtYmVyID4gcHJldkJsb2NrTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGVtaXQub25CbG9ja051bWJlcihibG9ja051bWJlciwgcHJldkJsb2NrTnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgcHJldkJsb2NrTnVtYmVyID0gYmxvY2tOdW1iZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGVtaXQub25FcnJvcj8uKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGVtaXRPbkJlZ2luLFxuICAgICAgICAgICAgaW50ZXJ2YWw6IHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgfSkpO1xuICAgIH07XG4gICAgY29uc3Qgc3Vic2NyaWJlQmxvY2tOdW1iZXIgPSAoKSA9PiB7XG4gICAgICAgIGxldCBhY3RpdmUgPSB0cnVlO1xuICAgICAgICBsZXQgdW5zdWJzY3JpYmUgPSAoKSA9PiAoYWN0aXZlID0gZmFsc2UpO1xuICAgICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHVuc3Vic2NyaWJlOiB1bnN1YnNjcmliZV8gfSA9IGF3YWl0IGNsaWVudC50cmFuc3BvcnQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBbJ25ld0hlYWRzJ10sXG4gICAgICAgICAgICAgICAgICAgIG9uRGF0YShkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja051bWJlciA9ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9CaWdJbnQpKGRhdGEucmVzdWx0Py5udW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb25CbG9ja051bWJlcihibG9ja051bWJlciwgcHJldkJsb2NrTnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZCbG9ja051bWJlciA9IGJsb2NrTnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPy4oZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlID0gdW5zdWJzY3JpYmVfO1xuICAgICAgICAgICAgICAgIGlmICghYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIG9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgICAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gICAgfTtcbiAgICByZXR1cm4gZW5hYmxlUG9sbGluZyA/IHBvbGxCbG9ja051bWJlcigpIDogc3Vic2NyaWJlQmxvY2tOdW1iZXIoKTtcbn1cbmV4cG9ydHMud2F0Y2hCbG9ja051bWJlciA9IHdhdGNoQmxvY2tOdW1iZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXRjaEJsb2NrTnVtYmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/watchBlockNumber.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/watchBlocks.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/watchBlocks.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.watchBlocks = void 0;\nconst block_js_1 = __webpack_require__(/*! ../../utils/formatters/block.js */ \"./node_modules/viem/dist/cjs/utils/formatters/block.js\");\nconst observe_js_1 = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/cjs/utils/observe.js\");\nconst poll_js_1 = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/cjs/utils/poll.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst getBlock_js_1 = __webpack_require__(/*! ./getBlock.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlock.js\");\nfunction watchBlocks(client, { blockTag = 'latest', emitMissed = false, emitOnBegin = false, onBlock, onError, includeTransactions = false, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n let prevBlock;\n const pollBlocks = () => {\n const observerId = (0, stringify_js_1.stringify)([\n 'watchBlocks',\n client.uid,\n emitMissed,\n emitOnBegin,\n includeTransactions,\n pollingInterval,\n ]);\n return (0, observe_js_1.observe)(observerId, { onBlock, onError }, (emit) => (0, poll_js_1.poll)(async () => {\n try {\n const block = await (0, getBlock_js_1.getBlock)(client, {\n blockTag,\n includeTransactions,\n });\n if (block.number && prevBlock?.number) {\n if (block.number === prevBlock.number)\n return;\n if (block.number - prevBlock.number > 1 && emitMissed) {\n for (let i = prevBlock?.number + 1n; i < block.number; i++) {\n const block = await (0, getBlock_js_1.getBlock)(client, {\n blockNumber: i,\n includeTransactions,\n });\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n }\n if (!prevBlock?.number ||\n (blockTag === 'pending' && !block?.number) ||\n (block.number && block.number > prevBlock.number)) {\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlocks = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const format = client.chain?.formatters?.block?.format || block_js_1.formatBlock;\n const block = format(data.result);\n onBlock(block, prevBlock);\n prevBlock = block;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollBlocks() : subscribeBlocks();\n}\nexports.watchBlocks = watchBlocks;\n//# sourceMappingURL=watchBlocks.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2Nrcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsbUJBQW1CLG1CQUFPLENBQUMsK0ZBQWlDO0FBQzVELHFCQUFxQixtQkFBTyxDQUFDLDZFQUF3QjtBQUNyRCxrQkFBa0IsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDL0MsdUJBQXVCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3pELHNCQUFzQixtQkFBTyxDQUFDLDhFQUFlO0FBQzdDLCtCQUErQixxS0FBcUs7QUFDcE07QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxrQkFBa0I7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsa0JBQWtCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsNEJBQTRCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvd2F0Y2hCbG9ja3MuanM/MzQyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2F0Y2hCbG9ja3MgPSB2b2lkIDA7XG5jb25zdCBibG9ja19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvYmxvY2suanNcIik7XG5jb25zdCBvYnNlcnZlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvb2JzZXJ2ZS5qc1wiKTtcbmNvbnN0IHBvbGxfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9wb2xsLmpzXCIpO1xuY29uc3Qgc3RyaW5naWZ5X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvc3RyaW5naWZ5LmpzXCIpO1xuY29uc3QgZ2V0QmxvY2tfanNfMSA9IHJlcXVpcmUoXCIuL2dldEJsb2NrLmpzXCIpO1xuZnVuY3Rpb24gd2F0Y2hCbG9ja3MoY2xpZW50LCB7IGJsb2NrVGFnID0gJ2xhdGVzdCcsIGVtaXRNaXNzZWQgPSBmYWxzZSwgZW1pdE9uQmVnaW4gPSBmYWxzZSwgb25CbG9jaywgb25FcnJvciwgaW5jbHVkZVRyYW5zYWN0aW9ucyA9IGZhbHNlLCBwb2xsOiBwb2xsXywgcG9sbGluZ0ludGVydmFsID0gY2xpZW50LnBvbGxpbmdJbnRlcnZhbCwgfSkge1xuICAgIGNvbnN0IGVuYWJsZVBvbGxpbmcgPSB0eXBlb2YgcG9sbF8gIT09ICd1bmRlZmluZWQnID8gcG9sbF8gOiBjbGllbnQudHJhbnNwb3J0LnR5cGUgIT09ICd3ZWJTb2NrZXQnO1xuICAgIGxldCBwcmV2QmxvY2s7XG4gICAgY29uc3QgcG9sbEJsb2NrcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXJJZCA9ICgwLCBzdHJpbmdpZnlfanNfMS5zdHJpbmdpZnkpKFtcbiAgICAgICAgICAgICd3YXRjaEJsb2NrcycsXG4gICAgICAgICAgICBjbGllbnQudWlkLFxuICAgICAgICAgICAgZW1pdE1pc3NlZCxcbiAgICAgICAgICAgIGVtaXRPbkJlZ2luLFxuICAgICAgICAgICAgaW5jbHVkZVRyYW5zYWN0aW9ucyxcbiAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgXSk7XG4gICAgICAgIHJldHVybiAoMCwgb2JzZXJ2ZV9qc18xLm9ic2VydmUpKG9ic2VydmVySWQsIHsgb25CbG9jaywgb25FcnJvciB9LCAoZW1pdCkgPT4gKDAsIHBvbGxfanNfMS5wb2xsKShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgKDAsIGdldEJsb2NrX2pzXzEuZ2V0QmxvY2spKGNsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICBibG9ja1RhZyxcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVkZVRyYW5zYWN0aW9ucyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoYmxvY2subnVtYmVyICYmIHByZXZCbG9jaz8ubnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9jay5udW1iZXIgPT09IHByZXZCbG9jay5udW1iZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9jay5udW1iZXIgLSBwcmV2QmxvY2subnVtYmVyID4gMSAmJiBlbWl0TWlzc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gcHJldkJsb2NrPy5udW1iZXIgKyAxbjsgaSA8IGJsb2NrLm51bWJlcjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBhd2FpdCAoMCwgZ2V0QmxvY2tfanNfMS5nZXRCbG9jaykoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrTnVtYmVyOiBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlVHJhbnNhY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQub25CbG9jayhibG9jaywgcHJldkJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2QmxvY2sgPSBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXByZXZCbG9jaz8ubnVtYmVyIHx8XG4gICAgICAgICAgICAgICAgICAgIChibG9ja1RhZyA9PT0gJ3BlbmRpbmcnICYmICFibG9jaz8ubnVtYmVyKSB8fFxuICAgICAgICAgICAgICAgICAgICAoYmxvY2subnVtYmVyICYmIGJsb2NrLm51bWJlciA+IHByZXZCbG9jay5udW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGVtaXQub25CbG9jayhibG9jaywgcHJldkJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgcHJldkJsb2NrID0gYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGVtaXQub25FcnJvcj8uKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGVtaXRPbkJlZ2luLFxuICAgICAgICAgICAgaW50ZXJ2YWw6IHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgfSkpO1xuICAgIH07XG4gICAgY29uc3Qgc3Vic2NyaWJlQmxvY2tzID0gKCkgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IHVuc3Vic2NyaWJlID0gKCkgPT4gKGFjdGl2ZSA9IGZhbHNlKTtcbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB1bnN1YnNjcmliZTogdW5zdWJzY3JpYmVfIH0gPSBhd2FpdCBjbGllbnQudHJhbnNwb3J0LnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogWyduZXdIZWFkcyddLFxuICAgICAgICAgICAgICAgICAgICBvbkRhdGEoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0ID0gY2xpZW50LmNoYWluPy5mb3JtYXR0ZXJzPy5ibG9jaz8uZm9ybWF0IHx8IGJsb2NrX2pzXzEuZm9ybWF0QmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZvcm1hdChkYXRhLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJsb2NrKGJsb2NrLCBwcmV2QmxvY2spO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldkJsb2NrID0gYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3I/LihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdW5zdWJzY3JpYmUgPSB1bnN1YnNjcmliZV87XG4gICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcj8uKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKCk7XG4gICAgICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgICB9O1xuICAgIHJldHVybiBlbmFibGVQb2xsaW5nID8gcG9sbEJsb2NrcygpIDogc3Vic2NyaWJlQmxvY2tzKCk7XG59XG5leHBvcnRzLndhdGNoQmxvY2tzID0gd2F0Y2hCbG9ja3M7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXRjaEJsb2Nrcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/watchBlocks.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/watchContractEvent.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/watchContractEvent.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.watchContractEvent = void 0;\nconst getAbiItem_js_1 = __webpack_require__(/*! ../../utils/abi/getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nconst observe_js_1 = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/cjs/utils/observe.js\");\nconst poll_js_1 = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/cjs/utils/poll.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst createContractEventFilter_js_1 = __webpack_require__(/*! ./createContractEventFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createContractEventFilter.js\");\nconst getBlockNumber_js_1 = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js\");\nconst getFilterChanges_js_1 = __webpack_require__(/*! ./getFilterChanges.js */ \"./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js\");\nconst getLogs_js_1 = __webpack_require__(/*! ./getLogs.js */ \"./node_modules/viem/dist/cjs/actions/public/getLogs.js\");\nconst uninstallFilter_js_1 = __webpack_require__(/*! ./uninstallFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js\");\nfunction watchContractEvent(client, { abi, address, args, batch = true, eventName, onError, onLogs, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const observerId = (0, stringify_js_1.stringify)([\n 'watchContractEvent',\n address,\n args,\n batch,\n client.uid,\n eventName,\n pollingInterval,\n ]);\n const strict = strict_ ?? false;\n return (0, observe_js_1.observe)(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n let filter;\n let initialized = false;\n const unwatch = (0, poll_js_1.poll)(async () => {\n if (!initialized) {\n try {\n filter = (await (0, createContractEventFilter_js_1.createContractEventFilter)(client, {\n abi,\n address,\n args,\n eventName,\n strict,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await (0, getFilterChanges_js_1.getFilterChanges)(client, { filter });\n }\n else {\n const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(client);\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await (0, getLogs_js_1.getLogs)(client, {\n address,\n args,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n event: (0, getAbiItem_js_1.getAbiItem)({\n abi,\n name: eventName,\n }),\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n logs.forEach((log) => emit.onLogs([log]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await (0, uninstallFilter_js_1.uninstallFilter)(client, { filter });\n unwatch();\n };\n });\n}\nexports.watchContractEvent = watchContractEvent;\n//# sourceMappingURL=watchContractEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaENvbnRyYWN0RXZlbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMEJBQTBCO0FBQzFCLHdCQUF3QixtQkFBTyxDQUFDLDJGQUErQjtBQUMvRCxxQkFBcUIsbUJBQU8sQ0FBQyw2RUFBd0I7QUFDckQsa0JBQWtCLG1CQUFPLENBQUMsdUVBQXFCO0FBQy9DLHVCQUF1QixtQkFBTyxDQUFDLGlGQUEwQjtBQUN6RCx1Q0FBdUMsbUJBQU8sQ0FBQyxnSEFBZ0M7QUFDL0UsNEJBQTRCLG1CQUFPLENBQUMsMEZBQXFCO0FBQ3pELDhCQUE4QixtQkFBTyxDQUFDLDhGQUF1QjtBQUM3RCxxQkFBcUIsbUJBQU8sQ0FBQyw0RUFBYztBQUMzQyw2QkFBNkIsbUJBQU8sQ0FBQyw0RkFBc0I7QUFDM0Qsc0NBQXNDLDBIQUEwSDtBQUNoSztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxpQkFBaUI7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RkFBdUYsUUFBUTtBQUMvRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDBFQUEwRSxRQUFRO0FBQ2xGO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy9wdWJsaWMvd2F0Y2hDb250cmFjdEV2ZW50LmpzP2QxNzMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLndhdGNoQ29udHJhY3RFdmVudCA9IHZvaWQgMDtcbmNvbnN0IGdldEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZ2V0QWJpSXRlbS5qc1wiKTtcbmNvbnN0IG9ic2VydmVfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9vYnNlcnZlLmpzXCIpO1xuY29uc3QgcG9sbF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3BvbGwuanNcIik7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9zdHJpbmdpZnkuanNcIik7XG5jb25zdCBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyX2pzXzEgPSByZXF1aXJlKFwiLi9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzXCIpO1xuY29uc3QgZ2V0QmxvY2tOdW1iZXJfanNfMSA9IHJlcXVpcmUoXCIuL2dldEJsb2NrTnVtYmVyLmpzXCIpO1xuY29uc3QgZ2V0RmlsdGVyQ2hhbmdlc19qc18xID0gcmVxdWlyZShcIi4vZ2V0RmlsdGVyQ2hhbmdlcy5qc1wiKTtcbmNvbnN0IGdldExvZ3NfanNfMSA9IHJlcXVpcmUoXCIuL2dldExvZ3MuanNcIik7XG5jb25zdCB1bmluc3RhbGxGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL3VuaW5zdGFsbEZpbHRlci5qc1wiKTtcbmZ1bmN0aW9uIHdhdGNoQ29udHJhY3RFdmVudChjbGllbnQsIHsgYWJpLCBhZGRyZXNzLCBhcmdzLCBiYXRjaCA9IHRydWUsIGV2ZW50TmFtZSwgb25FcnJvciwgb25Mb2dzLCBwb2xsaW5nSW50ZXJ2YWwgPSBjbGllbnQucG9sbGluZ0ludGVydmFsLCBzdHJpY3Q6IHN0cmljdF8sIH0pIHtcbiAgICBjb25zdCBvYnNlcnZlcklkID0gKDAsIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeSkoW1xuICAgICAgICAnd2F0Y2hDb250cmFjdEV2ZW50JyxcbiAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgYXJncyxcbiAgICAgICAgYmF0Y2gsXG4gICAgICAgIGNsaWVudC51aWQsXG4gICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgIF0pO1xuICAgIGNvbnN0IHN0cmljdCA9IHN0cmljdF8gPz8gZmFsc2U7XG4gICAgcmV0dXJuICgwLCBvYnNlcnZlX2pzXzEub2JzZXJ2ZSkob2JzZXJ2ZXJJZCwgeyBvbkxvZ3MsIG9uRXJyb3IgfSwgKGVtaXQpID0+IHtcbiAgICAgICAgbGV0IHByZXZpb3VzQmxvY2tOdW1iZXI7XG4gICAgICAgIGxldCBmaWx0ZXI7XG4gICAgICAgIGxldCBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCB1bndhdGNoID0gKDAsIHBvbGxfanNfMS5wb2xsKShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gKGF3YWl0ICgwLCBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyX2pzXzEuY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlcikoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdCxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCB7IH1cbiAgICAgICAgICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbG9ncztcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBhd2FpdCAoMCwgZ2V0RmlsdGVyQ2hhbmdlc19qc18xLmdldEZpbHRlckNoYW5nZXMpKGNsaWVudCwgeyBmaWx0ZXIgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja051bWJlciA9IGF3YWl0ICgwLCBnZXRCbG9ja051bWJlcl9qc18xLmdldEJsb2NrTnVtYmVyKShjbGllbnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNCbG9ja051bWJlciAmJiBwcmV2aW91c0Jsb2NrTnVtYmVyICE9PSBibG9ja051bWJlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9ncyA9IGF3YWl0ICgwLCBnZXRMb2dzX2pzXzEuZ2V0TG9ncykoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb21CbG9jazogcHJldmlvdXNCbG9ja051bWJlciArIDFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvQmxvY2s6IGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiAoMCwgZ2V0QWJpSXRlbV9qc18xLmdldEFiaUl0ZW0pKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0Jsb2NrTnVtYmVyID0gYmxvY2tOdW1iZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsb2dzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmIChiYXRjaClcbiAgICAgICAgICAgICAgICAgICAgZW1pdC5vbkxvZ3MobG9ncyk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBsb2dzLmZvckVhY2goKGxvZykgPT4gZW1pdC5vbkxvZ3MoW2xvZ10pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBlbWl0Lm9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgIGludGVydmFsOiBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlcilcbiAgICAgICAgICAgICAgICBhd2FpdCAoMCwgdW5pbnN0YWxsRmlsdGVyX2pzXzEudW5pbnN0YWxsRmlsdGVyKShjbGllbnQsIHsgZmlsdGVyIH0pO1xuICAgICAgICAgICAgdW53YXRjaCgpO1xuICAgICAgICB9O1xuICAgIH0pO1xufVxuZXhwb3J0cy53YXRjaENvbnRyYWN0RXZlbnQgPSB3YXRjaENvbnRyYWN0RXZlbnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXRjaENvbnRyYWN0RXZlbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/watchContractEvent.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/watchEvent.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/watchEvent.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.watchEvent = void 0;\nconst observe_js_1 = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/cjs/utils/observe.js\");\nconst poll_js_1 = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/cjs/utils/poll.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst createEventFilter_js_1 = __webpack_require__(/*! ./createEventFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createEventFilter.js\");\nconst getBlockNumber_js_1 = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js\");\nconst getFilterChanges_js_1 = __webpack_require__(/*! ./getFilterChanges.js */ \"./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js\");\nconst getLogs_js_1 = __webpack_require__(/*! ./getLogs.js */ \"./node_modules/viem/dist/cjs/actions/public/getLogs.js\");\nconst uninstallFilter_js_1 = __webpack_require__(/*! ./uninstallFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js\");\nfunction watchEvent(client, { address, args, batch = true, event, onError, onLogs, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const observerId = (0, stringify_js_1.stringify)([\n 'watchEvent',\n address,\n args,\n batch,\n client.uid,\n event,\n pollingInterval,\n ]);\n const strict = strict_ ?? false;\n return (0, observe_js_1.observe)(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n let filter;\n let initialized = false;\n const unwatch = (0, poll_js_1.poll)(async () => {\n if (!initialized) {\n try {\n filter = (await (0, createEventFilter_js_1.createEventFilter)(client, {\n address,\n args,\n event: event,\n strict,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await (0, getFilterChanges_js_1.getFilterChanges)(client, { filter });\n }\n else {\n const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(client);\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await (0, getLogs_js_1.getLogs)(client, {\n address,\n args,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n event: event,\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n logs.forEach((log) => emit.onLogs([log]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await (0, uninstallFilter_js_1.uninstallFilter)(client, { filter });\n unwatch();\n };\n });\n}\nexports.watchEvent = watchEvent;\n//# sourceMappingURL=watchEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaEV2ZW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQixxQkFBcUIsbUJBQU8sQ0FBQyw2RUFBd0I7QUFDckQsa0JBQWtCLG1CQUFPLENBQUMsdUVBQXFCO0FBQy9DLHVCQUF1QixtQkFBTyxDQUFDLGlGQUEwQjtBQUN6RCwrQkFBK0IsbUJBQU8sQ0FBQyxnR0FBd0I7QUFDL0QsNEJBQTRCLG1CQUFPLENBQUMsMEZBQXFCO0FBQ3pELDhCQUE4QixtQkFBTyxDQUFDLDhGQUF1QjtBQUM3RCxxQkFBcUIsbUJBQU8sQ0FBQyw0RUFBYztBQUMzQyw2QkFBNkIsbUJBQU8sQ0FBQyw0RkFBc0I7QUFDM0QsOEJBQThCLGlIQUFpSDtBQUMvSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxpQkFBaUI7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUZBQXVGLFFBQVE7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsMEVBQTBFLFFBQVE7QUFDbEY7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGtCQUFrQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaEV2ZW50LmpzPzY2MGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLndhdGNoRXZlbnQgPSB2b2lkIDA7XG5jb25zdCBvYnNlcnZlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvb2JzZXJ2ZS5qc1wiKTtcbmNvbnN0IHBvbGxfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9wb2xsLmpzXCIpO1xuY29uc3Qgc3RyaW5naWZ5X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvc3RyaW5naWZ5LmpzXCIpO1xuY29uc3QgY3JlYXRlRXZlbnRGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL2NyZWF0ZUV2ZW50RmlsdGVyLmpzXCIpO1xuY29uc3QgZ2V0QmxvY2tOdW1iZXJfanNfMSA9IHJlcXVpcmUoXCIuL2dldEJsb2NrTnVtYmVyLmpzXCIpO1xuY29uc3QgZ2V0RmlsdGVyQ2hhbmdlc19qc18xID0gcmVxdWlyZShcIi4vZ2V0RmlsdGVyQ2hhbmdlcy5qc1wiKTtcbmNvbnN0IGdldExvZ3NfanNfMSA9IHJlcXVpcmUoXCIuL2dldExvZ3MuanNcIik7XG5jb25zdCB1bmluc3RhbGxGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL3VuaW5zdGFsbEZpbHRlci5qc1wiKTtcbmZ1bmN0aW9uIHdhdGNoRXZlbnQoY2xpZW50LCB7IGFkZHJlc3MsIGFyZ3MsIGJhdGNoID0gdHJ1ZSwgZXZlbnQsIG9uRXJyb3IsIG9uTG9ncywgcG9sbGluZ0ludGVydmFsID0gY2xpZW50LnBvbGxpbmdJbnRlcnZhbCwgc3RyaWN0OiBzdHJpY3RfLCB9KSB7XG4gICAgY29uc3Qgb2JzZXJ2ZXJJZCA9ICgwLCBzdHJpbmdpZnlfanNfMS5zdHJpbmdpZnkpKFtcbiAgICAgICAgJ3dhdGNoRXZlbnQnLFxuICAgICAgICBhZGRyZXNzLFxuICAgICAgICBhcmdzLFxuICAgICAgICBiYXRjaCxcbiAgICAgICAgY2xpZW50LnVpZCxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICBdKTtcbiAgICBjb25zdCBzdHJpY3QgPSBzdHJpY3RfID8/IGZhbHNlO1xuICAgIHJldHVybiAoMCwgb2JzZXJ2ZV9qc18xLm9ic2VydmUpKG9ic2VydmVySWQsIHsgb25Mb2dzLCBvbkVycm9yIH0sIChlbWl0KSA9PiB7XG4gICAgICAgIGxldCBwcmV2aW91c0Jsb2NrTnVtYmVyO1xuICAgICAgICBsZXQgZmlsdGVyO1xuICAgICAgICBsZXQgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdW53YXRjaCA9ICgwLCBwb2xsX2pzXzEucG9sbCkoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlciA9IChhd2FpdCAoMCwgY3JlYXRlRXZlbnRGaWx0ZXJfanNfMS5jcmVhdGVFdmVudEZpbHRlcikoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdCxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCB7IH1cbiAgICAgICAgICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbG9ncztcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBhd2FpdCAoMCwgZ2V0RmlsdGVyQ2hhbmdlc19qc18xLmdldEZpbHRlckNoYW5nZXMpKGNsaWVudCwgeyBmaWx0ZXIgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja051bWJlciA9IGF3YWl0ICgwLCBnZXRCbG9ja051bWJlcl9qc18xLmdldEJsb2NrTnVtYmVyKShjbGllbnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNCbG9ja051bWJlciAmJiBwcmV2aW91c0Jsb2NrTnVtYmVyICE9PSBibG9ja051bWJlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9ncyA9IGF3YWl0ICgwLCBnZXRMb2dzX2pzXzEuZ2V0TG9ncykoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb21CbG9jazogcHJldmlvdXNCbG9ja051bWJlciArIDFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvQmxvY2s6IGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9ncyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQmxvY2tOdW1iZXIgPSBibG9ja051bWJlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxvZ3MubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKGJhdGNoKVxuICAgICAgICAgICAgICAgICAgICBlbWl0Lm9uTG9ncyhsb2dzKTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGxvZ3MuZm9yRWFjaCgobG9nKSA9PiBlbWl0Lm9uTG9ncyhbbG9nXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGVtaXQub25FcnJvcj8uKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGVtaXRPbkJlZ2luOiB0cnVlLFxuICAgICAgICAgICAgaW50ZXJ2YWw6IHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyKVxuICAgICAgICAgICAgICAgIGF3YWl0ICgwLCB1bmluc3RhbGxGaWx0ZXJfanNfMS51bmluc3RhbGxGaWx0ZXIpKGNsaWVudCwgeyBmaWx0ZXIgfSk7XG4gICAgICAgICAgICB1bndhdGNoKCk7XG4gICAgICAgIH07XG4gICAgfSk7XG59XG5leHBvcnRzLndhdGNoRXZlbnQgPSB3YXRjaEV2ZW50O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2F0Y2hFdmVudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/watchEvent.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/public/watchPendingTransactions.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/public/watchPendingTransactions.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.watchPendingTransactions = void 0;\nconst observe_js_1 = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/cjs/utils/observe.js\");\nconst poll_js_1 = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/cjs/utils/poll.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst createPendingTransactionFilter_js_1 = __webpack_require__(/*! ./createPendingTransactionFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createPendingTransactionFilter.js\");\nconst getFilterChanges_js_1 = __webpack_require__(/*! ./getFilterChanges.js */ \"./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js\");\nconst uninstallFilter_js_1 = __webpack_require__(/*! ./uninstallFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js\");\nfunction watchPendingTransactions(client, { batch = true, onError, onTransactions, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n const pollPendingTransactions = () => {\n const observerId = (0, stringify_js_1.stringify)([\n 'watchPendingTransactions',\n client.uid,\n batch,\n pollingInterval,\n ]);\n return (0, observe_js_1.observe)(observerId, { onTransactions, onError }, (emit) => {\n let filter;\n const unwatch = (0, poll_js_1.poll)(async () => {\n try {\n if (!filter) {\n try {\n filter = await (0, createPendingTransactionFilter_js_1.createPendingTransactionFilter)(client);\n return;\n }\n catch (err) {\n unwatch();\n throw err;\n }\n }\n const hashes = await (0, getFilterChanges_js_1.getFilterChanges)(client, { filter });\n if (hashes.length === 0)\n return;\n if (batch)\n emit.onTransactions(hashes);\n else\n hashes.forEach((hash) => emit.onTransactions([hash]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await (0, uninstallFilter_js_1.uninstallFilter)(client, { filter });\n unwatch();\n };\n });\n };\n const subscribePendingTransactions = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newPendingTransactions'],\n onData(data) {\n if (!active)\n return;\n const transaction = data.result;\n onTransactions([transaction]);\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling\n ? pollPendingTransactions()\n : subscribePendingTransactions();\n}\nexports.watchPendingTransactions = watchPendingTransactions;\n//# sourceMappingURL=watchPendingTransactions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0NBQWdDO0FBQ2hDLHFCQUFxQixtQkFBTyxDQUFDLDZFQUF3QjtBQUNyRCxrQkFBa0IsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDL0MsdUJBQXVCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3pELDRDQUE0QyxtQkFBTyxDQUFDLDBIQUFxQztBQUN6Riw4QkFBOEIsbUJBQU8sQ0FBQyw4RkFBdUI7QUFDN0QsNkJBQTZCLG1CQUFPLENBQUMsNEZBQXNCO0FBQzNELDRDQUE0QywrRkFBK0Y7QUFDM0k7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCx5QkFBeUI7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRkFBK0YsUUFBUTtBQUN2RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSw4RUFBOEUsUUFBUTtBQUN0RjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qiw0QkFBNEI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3B1YmxpYy93YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMuanM/MGVjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zID0gdm9pZCAwO1xuY29uc3Qgb2JzZXJ2ZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL29ic2VydmUuanNcIik7XG5jb25zdCBwb2xsX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvcG9sbC5qc1wiKTtcbmNvbnN0IHN0cmluZ2lmeV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3N0cmluZ2lmeS5qc1wiKTtcbmNvbnN0IGNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcl9qc18xID0gcmVxdWlyZShcIi4vY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyLmpzXCIpO1xuY29uc3QgZ2V0RmlsdGVyQ2hhbmdlc19qc18xID0gcmVxdWlyZShcIi4vZ2V0RmlsdGVyQ2hhbmdlcy5qc1wiKTtcbmNvbnN0IHVuaW5zdGFsbEZpbHRlcl9qc18xID0gcmVxdWlyZShcIi4vdW5pbnN0YWxsRmlsdGVyLmpzXCIpO1xuZnVuY3Rpb24gd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zKGNsaWVudCwgeyBiYXRjaCA9IHRydWUsIG9uRXJyb3IsIG9uVHJhbnNhY3Rpb25zLCBwb2xsOiBwb2xsXywgcG9sbGluZ0ludGVydmFsID0gY2xpZW50LnBvbGxpbmdJbnRlcnZhbCwgfSkge1xuICAgIGNvbnN0IGVuYWJsZVBvbGxpbmcgPSB0eXBlb2YgcG9sbF8gIT09ICd1bmRlZmluZWQnID8gcG9sbF8gOiBjbGllbnQudHJhbnNwb3J0LnR5cGUgIT09ICd3ZWJTb2NrZXQnO1xuICAgIGNvbnN0IHBvbGxQZW5kaW5nVHJhbnNhY3Rpb25zID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBvYnNlcnZlcklkID0gKDAsIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeSkoW1xuICAgICAgICAgICAgJ3dhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucycsXG4gICAgICAgICAgICBjbGllbnQudWlkLFxuICAgICAgICAgICAgYmF0Y2gsXG4gICAgICAgICAgICBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgIF0pO1xuICAgICAgICByZXR1cm4gKDAsIG9ic2VydmVfanNfMS5vYnNlcnZlKShvYnNlcnZlcklkLCB7IG9uVHJhbnNhY3Rpb25zLCBvbkVycm9yIH0sIChlbWl0KSA9PiB7XG4gICAgICAgICAgICBsZXQgZmlsdGVyO1xuICAgICAgICAgICAgY29uc3QgdW53YXRjaCA9ICgwLCBwb2xsX2pzXzEucG9sbCkoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciA9IGF3YWl0ICgwLCBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXJfanNfMS5jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIpKGNsaWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVud2F0Y2goKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGFzaGVzID0gYXdhaXQgKDAsIGdldEZpbHRlckNoYW5nZXNfanNfMS5nZXRGaWx0ZXJDaGFuZ2VzKShjbGllbnQsIHsgZmlsdGVyIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzaGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJhdGNoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZW1pdC5vblRyYW5zYWN0aW9ucyhoYXNoZXMpO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNoZXMuZm9yRWFjaCgoaGFzaCkgPT4gZW1pdC5vblRyYW5zYWN0aW9ucyhbaGFzaF0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBlbWl0Lm9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpbnRlcnZhbDogcG9sbGluZ0ludGVydmFsLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIpXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0ICgwLCB1bmluc3RhbGxGaWx0ZXJfanNfMS51bmluc3RhbGxGaWx0ZXIpKGNsaWVudCwgeyBmaWx0ZXIgfSk7XG4gICAgICAgICAgICAgICAgdW53YXRjaCgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBjb25zdCBzdWJzY3JpYmVQZW5kaW5nVHJhbnNhY3Rpb25zID0gKCkgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IHVuc3Vic2NyaWJlID0gKCkgPT4gKGFjdGl2ZSA9IGZhbHNlKTtcbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB1bnN1YnNjcmliZTogdW5zdWJzY3JpYmVfIH0gPSBhd2FpdCBjbGllbnQudHJhbnNwb3J0LnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogWyduZXdQZW5kaW5nVHJhbnNhY3Rpb25zJ10sXG4gICAgICAgICAgICAgICAgICAgIG9uRGF0YShkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgb25UcmFuc2FjdGlvbnMoW3RyYW5zYWN0aW9uXSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3I/LihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdW5zdWJzY3JpYmUgPSB1bnN1YnNjcmliZV87XG4gICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcj8uKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKCk7XG4gICAgICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgICB9O1xuICAgIHJldHVybiBlbmFibGVQb2xsaW5nXG4gICAgICAgID8gcG9sbFBlbmRpbmdUcmFuc2FjdGlvbnMoKVxuICAgICAgICA6IHN1YnNjcmliZVBlbmRpbmdUcmFuc2FjdGlvbnMoKTtcbn1cbmV4cG9ydHMud2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zID0gd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/public/watchPendingTransactions.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/dropTransaction.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/dropTransaction.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.dropTransaction = void 0;\nasync function dropTransaction(client, { hash }) {\n await client.request({\n method: `${client.mode}_dropTransaction`,\n params: [hash],\n });\n}\nexports.dropTransaction = dropTransaction;\n//# sourceMappingURL=dropTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvZHJvcFRyYW5zYWN0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2Qix5Q0FBeUMsTUFBTTtBQUMvQztBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EsdUJBQXVCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9kcm9wVHJhbnNhY3Rpb24uanM/NDMxMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZHJvcFRyYW5zYWN0aW9uID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gZHJvcFRyYW5zYWN0aW9uKGNsaWVudCwgeyBoYXNoIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X2Ryb3BUcmFuc2FjdGlvbmAsXG4gICAgICAgIHBhcmFtczogW2hhc2hdLFxuICAgIH0pO1xufVxuZXhwb3J0cy5kcm9wVHJhbnNhY3Rpb24gPSBkcm9wVHJhbnNhY3Rpb247XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kcm9wVHJhbnNhY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/dropTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/getAutomine.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/getAutomine.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getAutomine = void 0;\nasync function getAutomine(client) {\n if (client.mode === 'ganache')\n return await client.request({\n method: 'eth_mining',\n });\n return await client.request({\n method: `${client.mode}_getAutomine`,\n });\n}\nexports.getAutomine = getAutomine;\n//# sourceMappingURL=getAutomine.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvZ2V0QXV0b21pbmUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0IsS0FBSztBQUNMO0FBQ0EsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9nZXRBdXRvbWluZS5qcz9mOGIzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRBdXRvbWluZSA9IHZvaWQgMDtcbmFzeW5jIGZ1bmN0aW9uIGdldEF1dG9taW5lKGNsaWVudCkge1xuICAgIGlmIChjbGllbnQubW9kZSA9PT0gJ2dhbmFjaGUnKVxuICAgICAgICByZXR1cm4gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX21pbmluZycsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X2dldEF1dG9taW5lYCxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZ2V0QXV0b21pbmUgPSBnZXRBdXRvbWluZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEF1dG9taW5lLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/getAutomine.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/getTxpoolContent.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/getTxpoolContent.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTxpoolContent = void 0;\nasync function getTxpoolContent(client) {\n return await client.request({\n method: 'txpool_content',\n });\n}\nexports.getTxpoolContent = getTxpoolContent;\n//# sourceMappingURL=getTxpoolContent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sQ29udGVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9nZXRUeHBvb2xDb250ZW50LmpzPzY1YjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFR4cG9vbENvbnRlbnQgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBnZXRUeHBvb2xDb250ZW50KGNsaWVudCkge1xuICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3R4cG9vbF9jb250ZW50JyxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZ2V0VHhwb29sQ29udGVudCA9IGdldFR4cG9vbENvbnRlbnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRUeHBvb2xDb250ZW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/getTxpoolContent.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/getTxpoolStatus.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/getTxpoolStatus.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTxpoolStatus = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nasync function getTxpoolStatus(client) {\n const { pending, queued } = await client.request({\n method: 'txpool_status',\n });\n return {\n pending: (0, fromHex_js_1.hexToNumber)(pending),\n queued: (0, fromHex_js_1.hexToNumber)(queued),\n };\n}\nexports.getTxpoolStatus = getTxpoolStatus;\n//# sourceMappingURL=getTxpoolStatus.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sU3RhdHVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2QixxQkFBcUIsbUJBQU8sQ0FBQywrRkFBaUM7QUFDOUQ7QUFDQSxZQUFZLGtCQUFrQjtBQUM5QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9nZXRUeHBvb2xTdGF0dXMuanM/Y2Q2YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0VHhwb29sU3RhdHVzID0gdm9pZCAwO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5hc3luYyBmdW5jdGlvbiBnZXRUeHBvb2xTdGF0dXMoY2xpZW50KSB7XG4gICAgY29uc3QgeyBwZW5kaW5nLCBxdWV1ZWQgfSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAndHhwb29sX3N0YXR1cycsXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGVuZGluZzogKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikocGVuZGluZyksXG4gICAgICAgIHF1ZXVlZDogKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikocXVldWVkKSxcbiAgICB9O1xufVxuZXhwb3J0cy5nZXRUeHBvb2xTdGF0dXMgPSBnZXRUeHBvb2xTdGF0dXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRUeHBvb2xTdGF0dXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/getTxpoolStatus.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/impersonateAccount.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/impersonateAccount.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.impersonateAccount = void 0;\nasync function impersonateAccount(client, { address }) {\n await client.request({\n method: `${client.mode}_impersonateAccount`,\n params: [address],\n });\n}\nexports.impersonateAccount = impersonateAccount;\n//# sourceMappingURL=impersonateAccount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvaW1wZXJzb25hdGVBY2NvdW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQjtBQUMxQiw0Q0FBNEMsU0FBUztBQUNyRDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9pbXBlcnNvbmF0ZUFjY291bnQuanM/NTgzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaW1wZXJzb25hdGVBY2NvdW50ID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gaW1wZXJzb25hdGVBY2NvdW50KGNsaWVudCwgeyBhZGRyZXNzIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X2ltcGVyc29uYXRlQWNjb3VudGAsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3NdLFxuICAgIH0pO1xufVxuZXhwb3J0cy5pbXBlcnNvbmF0ZUFjY291bnQgPSBpbXBlcnNvbmF0ZUFjY291bnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbXBlcnNvbmF0ZUFjY291bnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/impersonateAccount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/increaseTime.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/increaseTime.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.increaseTime = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function increaseTime(client, { seconds }) {\n return await client.request({\n method: 'evm_increaseTime',\n params: [(0, toHex_js_1.numberToHex)(seconds)],\n });\n}\nexports.increaseTime = increaseTime;\n//# sourceMappingURL=increaseTime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvaW5jcmVhc2VUaW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQjtBQUNwQixtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsc0NBQXNDLFNBQVM7QUFDL0M7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9pbmNyZWFzZVRpbWUuanM/ZTM4ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaW5jcmVhc2VUaW1lID0gdm9pZCAwO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGluY3JlYXNlVGltZShjbGllbnQsIHsgc2Vjb25kcyB9KSB7XG4gICAgcmV0dXJuIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXZtX2luY3JlYXNlVGltZScsXG4gICAgICAgIHBhcmFtczogWygwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShzZWNvbmRzKV0sXG4gICAgfSk7XG59XG5leHBvcnRzLmluY3JlYXNlVGltZSA9IGluY3JlYXNlVGltZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluY3JlYXNlVGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/increaseTime.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/inspectTxpool.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/inspectTxpool.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.inspectTxpool = void 0;\nasync function inspectTxpool(client) {\n return await client.request({\n method: 'txpool_inspect',\n });\n}\nexports.inspectTxpool = inspectTxpool;\n//# sourceMappingURL=inspectTxpool.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvaW5zcGVjdFR4cG9vbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9pbnNwZWN0VHhwb29sLmpzPzNiMzYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmluc3BlY3RUeHBvb2wgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBpbnNwZWN0VHhwb29sKGNsaWVudCkge1xuICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3R4cG9vbF9pbnNwZWN0JyxcbiAgICB9KTtcbn1cbmV4cG9ydHMuaW5zcGVjdFR4cG9vbCA9IGluc3BlY3RUeHBvb2w7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnNwZWN0VHhwb29sLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/inspectTxpool.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/mine.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/mine.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.mine = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function mine(client, { blocks, interval }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_mine',\n params: [{ blocks: (0, toHex_js_1.numberToHex)(blocks) }],\n });\n else\n await client.request({\n method: `${client.mode}_mine`,\n params: [(0, toHex_js_1.numberToHex)(blocks), (0, toHex_js_1.numberToHex)(interval || 0)],\n });\n}\nexports.mine = mine;\n//# sourceMappingURL=mine.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvbWluZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxZQUFZO0FBQ1osbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELDhCQUE4QixrQkFBa0I7QUFDaEQ7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDZDQUE2QztBQUNwRSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHVCQUF1QixZQUFZO0FBQ25DO0FBQ0EsU0FBUztBQUNUO0FBQ0EsWUFBWTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9taW5lLmpzPzU5Y2EiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLm1pbmUgPSB2b2lkIDA7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gbWluZShjbGllbnQsIHsgYmxvY2tzLCBpbnRlcnZhbCB9KSB7XG4gICAgaWYgKGNsaWVudC5tb2RlID09PSAnZ2FuYWNoZScpXG4gICAgICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V2bV9taW5lJyxcbiAgICAgICAgICAgIHBhcmFtczogW3sgYmxvY2tzOiAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoYmxvY2tzKSB9XSxcbiAgICAgICAgfSk7XG4gICAgZWxzZVxuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9taW5lYCxcbiAgICAgICAgICAgIHBhcmFtczogWygwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShibG9ja3MpLCAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoaW50ZXJ2YWwgfHwgMCldLFxuICAgICAgICB9KTtcbn1cbmV4cG9ydHMubWluZSA9IG1pbmU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1taW5lLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/mine.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/removeBlockTimestampInterval.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/removeBlockTimestampInterval.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.removeBlockTimestampInterval = void 0;\nasync function removeBlockTimestampInterval(client) {\n await client.request({\n method: `${client.mode}_removeBlockTimestampInterval`,\n });\n}\nexports.removeBlockTimestampInterval = removeBlockTimestampInterval;\n//# sourceMappingURL=removeBlockTimestampInterval.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBLG1CQUFtQixZQUFZO0FBQy9CLEtBQUs7QUFDTDtBQUNBLG9DQUFvQztBQUNwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcz9jODMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbChjbGllbnQpIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3JlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWxgLFxuICAgIH0pO1xufVxuZXhwb3J0cy5yZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsID0gcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWwuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/removeBlockTimestampInterval.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/reset.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/reset.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.reset = void 0;\nasync function reset(client, { blockNumber, jsonRpcUrl } = {}) {\n await client.request({\n method: `${client.mode}_reset`,\n params: [{ forking: { blockNumber: Number(blockNumber), jsonRpcUrl } }],\n });\n}\nexports.reset = reset;\n//# sourceMappingURL=reset.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvcmVzZXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsYUFBYTtBQUNiLCtCQUErQiwwQkFBMEIsSUFBSTtBQUM3RDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CLG1CQUFtQixXQUFXLGdEQUFnRDtBQUM5RSxLQUFLO0FBQ0w7QUFDQSxhQUFhO0FBQ2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3Jlc2V0LmpzPzc3ZTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnJlc2V0ID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gcmVzZXQoY2xpZW50LCB7IGJsb2NrTnVtYmVyLCBqc29uUnBjVXJsIH0gPSB7fSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fcmVzZXRgLFxuICAgICAgICBwYXJhbXM6IFt7IGZvcmtpbmc6IHsgYmxvY2tOdW1iZXI6IE51bWJlcihibG9ja051bWJlciksIGpzb25ScGNVcmwgfSB9XSxcbiAgICB9KTtcbn1cbmV4cG9ydHMucmVzZXQgPSByZXNldDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlc2V0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/reset.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/revert.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/revert.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.revert = void 0;\nasync function revert(client, { id }) {\n await client.request({\n method: 'evm_revert',\n params: [id],\n });\n}\nexports.revert = revert;\n//# sourceMappingURL=revert.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3QvcmV2ZXJ0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGNBQWM7QUFDZCxnQ0FBZ0MsSUFBSTtBQUNwQztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxjQUFjO0FBQ2QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3JldmVydC5qcz8yNGYyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZXZlcnQgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiByZXZlcnQoY2xpZW50LCB7IGlkIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V2bV9yZXZlcnQnLFxuICAgICAgICBwYXJhbXM6IFtpZF0sXG4gICAgfSk7XG59XG5leHBvcnRzLnJldmVydCA9IHJldmVydDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJldmVydC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/revert.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/sendUnsignedTransaction.js": -/*!****************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/sendUnsignedTransaction.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sendUnsignedTransaction = void 0;\nconst extract_js_1 = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/cjs/utils/formatters/extract.js\");\nconst transactionRequest_js_1 = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\");\nasync function sendUnsignedTransaction(client, args) {\n const { accessList, data, from, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n const format = client.chain?.formatters?.transactionRequest?.format ||\n transactionRequest_js_1.formatTransactionRequest;\n const request = format({\n ...(0, extract_js_1.extract)(rest, { format }),\n accessList,\n data,\n from,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n const hash = await client.request({\n method: 'eth_sendUnsignedTransaction',\n params: [request],\n });\n return hash;\n}\nexports.sendUnsignedTransaction = sendUnsignedTransaction;\n//# sourceMappingURL=sendUnsignedTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsK0JBQStCO0FBQy9CLHFCQUFxQixtQkFBTyxDQUFDLG1HQUFtQztBQUNoRSxnQ0FBZ0MsbUJBQU8sQ0FBQyx5SEFBOEM7QUFDdEY7QUFDQSxZQUFZLHVHQUF1RztBQUNuSDtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsUUFBUTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLCtCQUErQjtBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24uanM/N2VmYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24gPSB2b2lkIDA7XG5jb25zdCBleHRyYWN0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9leHRyYWN0LmpzXCIpO1xuY29uc3QgdHJhbnNhY3Rpb25SZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlcXVlc3QuanNcIik7XG5hc3luYyBmdW5jdGlvbiBzZW5kVW5zaWduZWRUcmFuc2FjdGlvbihjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGFjY2Vzc0xpc3QsIGRhdGEsIGZyb20sIGdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIG5vbmNlLCB0bywgdmFsdWUsIC4uLnJlc3QgfSA9IGFyZ3M7XG4gICAgY29uc3QgZm9ybWF0ID0gY2xpZW50LmNoYWluPy5mb3JtYXR0ZXJzPy50cmFuc2FjdGlvblJlcXVlc3Q/LmZvcm1hdCB8fFxuICAgICAgICB0cmFuc2FjdGlvblJlcXVlc3RfanNfMS5mb3JtYXRUcmFuc2FjdGlvblJlcXVlc3Q7XG4gICAgY29uc3QgcmVxdWVzdCA9IGZvcm1hdCh7XG4gICAgICAgIC4uLigwLCBleHRyYWN0X2pzXzEuZXh0cmFjdCkocmVzdCwgeyBmb3JtYXQgfSksXG4gICAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGZyb20sXG4gICAgICAgIGdhcyxcbiAgICAgICAgZ2FzUHJpY2UsXG4gICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICAgIG5vbmNlLFxuICAgICAgICB0byxcbiAgICAgICAgdmFsdWUsXG4gICAgfSk7XG4gICAgY29uc3QgaGFzaCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX3NlbmRVbnNpZ25lZFRyYW5zYWN0aW9uJyxcbiAgICAgICAgcGFyYW1zOiBbcmVxdWVzdF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGhhc2g7XG59XG5leHBvcnRzLnNlbmRVbnNpZ25lZFRyYW5zYWN0aW9uID0gc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb247XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZW5kVW5zaWduZWRUcmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/sendUnsignedTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setAutomine.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setAutomine.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setAutomine = void 0;\nasync function setAutomine(client, enabled) {\n if (client.mode === 'ganache') {\n if (enabled)\n await client.request({ method: 'miner_start' });\n else\n await client.request({ method: 'miner_stop' });\n }\n else\n await client.request({\n method: 'evm_setAutomine',\n params: [enabled],\n });\n}\nexports.setAutomine = setAutomine;\n//# sourceMappingURL=setAutomine.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0QXV0b21pbmUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyx1QkFBdUI7QUFDMUQ7QUFDQSxtQ0FBbUMsc0JBQXNCO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3NldEF1dG9taW5lLmpzP2MxNmUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNldEF1dG9taW5lID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gc2V0QXV0b21pbmUoY2xpZW50LCBlbmFibGVkKSB7XG4gICAgaWYgKGNsaWVudC5tb2RlID09PSAnZ2FuYWNoZScpIHtcbiAgICAgICAgaWYgKGVuYWJsZWQpXG4gICAgICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7IG1ldGhvZDogJ21pbmVyX3N0YXJ0JyB9KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgYXdhaXQgY2xpZW50LnJlcXVlc3QoeyBtZXRob2Q6ICdtaW5lcl9zdG9wJyB9KTtcbiAgICB9XG4gICAgZWxzZVxuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldm1fc2V0QXV0b21pbmUnLFxuICAgICAgICAgICAgcGFyYW1zOiBbZW5hYmxlZF0sXG4gICAgICAgIH0pO1xufVxuZXhwb3J0cy5zZXRBdXRvbWluZSA9IHNldEF1dG9taW5lO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0QXV0b21pbmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setAutomine.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setBalance.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setBalance.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setBalance = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setBalance(client, { address, value }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_setAccountBalance',\n params: [address, (0, toHex_js_1.numberToHex)(value)],\n });\n else\n await client.request({\n method: `${client.mode}_setBalance`,\n params: [address, (0, toHex_js_1.numberToHex)(value)],\n });\n}\nexports.setBalance = setBalance;\n//# sourceMappingURL=setBalance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0QmFsYW5jZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0I7QUFDbEIsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELG9DQUFvQyxnQkFBZ0I7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHVCQUF1QixZQUFZO0FBQ25DO0FBQ0EsU0FBUztBQUNUO0FBQ0Esa0JBQWtCO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9zZXRCYWxhbmNlLmpzPzExY2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNldEJhbGFuY2UgPSB2b2lkIDA7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gc2V0QmFsYW5jZShjbGllbnQsIHsgYWRkcmVzcywgdmFsdWUgfSkge1xuICAgIGlmIChjbGllbnQubW9kZSA9PT0gJ2dhbmFjaGUnKVxuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldm1fc2V0QWNjb3VudEJhbGFuY2UnLFxuICAgICAgICAgICAgcGFyYW1zOiBbYWRkcmVzcywgKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKHZhbHVlKV0sXG4gICAgICAgIH0pO1xuICAgIGVsc2VcbiAgICAgICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0QmFsYW5jZWAsXG4gICAgICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodmFsdWUpXSxcbiAgICAgICAgfSk7XG59XG5leHBvcnRzLnNldEJhbGFuY2UgPSBzZXRCYWxhbmNlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0QmFsYW5jZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setBalance.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setBlockGasLimit.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setBlockGasLimit.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setBlockGasLimit = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setBlockGasLimit(client, { gasLimit }) {\n await client.request({\n method: 'evm_setBlockGasLimit',\n params: [(0, toHex_js_1.numberToHex)(gasLimit)],\n });\n}\nexports.setBlockGasLimit = setBlockGasLimit;\n//# sourceMappingURL=setBlockGasLimit.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tHYXNMaW1pdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELDBDQUEwQyxVQUFVO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tHYXNMaW1pdC5qcz85MTU2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zZXRCbG9ja0dhc0xpbWl0ID0gdm9pZCAwO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHNldEJsb2NrR2FzTGltaXQoY2xpZW50LCB7IGdhc0xpbWl0IH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V2bV9zZXRCbG9ja0dhc0xpbWl0JyxcbiAgICAgICAgcGFyYW1zOiBbKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGdhc0xpbWl0KV0sXG4gICAgfSk7XG59XG5leHBvcnRzLnNldEJsb2NrR2FzTGltaXQgPSBzZXRCbG9ja0dhc0xpbWl0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0QmxvY2tHYXNMaW1pdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setBlockGasLimit.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setBlockTimestampInterval.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setBlockTimestampInterval.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setBlockTimestampInterval = void 0;\nasync function setBlockTimestampInterval(client, { interval }) {\n await client.request({\n method: `${client.mode}_setBlockTimestampInterval`,\n params: [interval],\n });\n}\nexports.setBlockTimestampInterval = setBlockTimestampInterval;\n//# sourceMappingURL=setBlockTimestampInterval.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQ0FBaUM7QUFDakMsbURBQW1ELFVBQVU7QUFDN0Q7QUFDQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBLEtBQUs7QUFDTDtBQUNBLGlDQUFpQztBQUNqQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcz8xMWE4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zZXRCbG9ja1RpbWVzdGFtcEludGVydmFsID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbChjbGllbnQsIHsgaW50ZXJ2YWwgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbGAsXG4gICAgICAgIHBhcmFtczogW2ludGVydmFsXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbCA9IHNldEJsb2NrVGltZXN0YW1wSW50ZXJ2YWw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXRCbG9ja1RpbWVzdGFtcEludGVydmFsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setBlockTimestampInterval.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setCode.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setCode.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setCode = void 0;\nasync function setCode(client, { address, bytecode }) {\n await client.request({\n method: `${client.mode}_setCode`,\n params: [address, bytecode],\n });\n}\nexports.setCode = setCode;\n//# sourceMappingURL=setCode.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0Q29kZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxlQUFlO0FBQ2YsaUNBQWlDLG1CQUFtQjtBQUNwRDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZUFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9zZXRDb2RlLmpzPzFkYWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNldENvZGUgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBzZXRDb2RlKGNsaWVudCwgeyBhZGRyZXNzLCBieXRlY29kZSB9KSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9zZXRDb2RlYCxcbiAgICAgICAgcGFyYW1zOiBbYWRkcmVzcywgYnl0ZWNvZGVdLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zZXRDb2RlID0gc2V0Q29kZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldENvZGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setCode.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setCoinbase.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setCoinbase.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setCoinbase = void 0;\nasync function setCoinbase(client, { address }) {\n await client.request({\n method: `${client.mode}_setCoinbase`,\n params: [address],\n });\n}\nexports.setCoinbase = setCoinbase;\n//# sourceMappingURL=setCoinbase.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0Q29pbmJhc2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUJBQW1CO0FBQ25CLHFDQUFxQyxTQUFTO0FBQzlDO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0I7QUFDQSxLQUFLO0FBQ0w7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3NldENvaW5iYXNlLmpzP2FjZDEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNldENvaW5iYXNlID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gc2V0Q29pbmJhc2UoY2xpZW50LCB7IGFkZHJlc3MgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0Q29pbmJhc2VgLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuc2V0Q29pbmJhc2UgPSBzZXRDb2luYmFzZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldENvaW5iYXNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setCoinbase.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setIntervalMining.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setIntervalMining.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setIntervalMining = void 0;\nasync function setIntervalMining(client, { interval }) {\n await client.request({\n method: 'evm_setIntervalMining',\n params: [interval],\n });\n}\nexports.setIntervalMining = setIntervalMining;\n//# sourceMappingURL=setIntervalMining.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0SW50ZXJ2YWxNaW5pbmcuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCO0FBQ3pCLDJDQUEyQyxVQUFVO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0SW50ZXJ2YWxNaW5pbmcuanM/ZjBmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2V0SW50ZXJ2YWxNaW5pbmcgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBzZXRJbnRlcnZhbE1pbmluZyhjbGllbnQsIHsgaW50ZXJ2YWwgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXZtX3NldEludGVydmFsTWluaW5nJyxcbiAgICAgICAgcGFyYW1zOiBbaW50ZXJ2YWxdLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zZXRJbnRlcnZhbE1pbmluZyA9IHNldEludGVydmFsTWluaW5nO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0SW50ZXJ2YWxNaW5pbmcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setIntervalMining.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setLoggingEnabled.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setLoggingEnabled.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setLoggingEnabled = void 0;\nasync function setLoggingEnabled(client, enabled) {\n await client.request({\n method: `${client.mode}_setLoggingEnabled`,\n params: [enabled],\n });\n}\nexports.setLoggingEnabled = setLoggingEnabled;\n//# sourceMappingURL=setLoggingEnabled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0TG9nZ2luZ0VuYWJsZWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBLEtBQUs7QUFDTDtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0TG9nZ2luZ0VuYWJsZWQuanM/NjQ3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2V0TG9nZ2luZ0VuYWJsZWQgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBzZXRMb2dnaW5nRW5hYmxlZChjbGllbnQsIGVuYWJsZWQpIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldExvZ2dpbmdFbmFibGVkYCxcbiAgICAgICAgcGFyYW1zOiBbZW5hYmxlZF0sXG4gICAgfSk7XG59XG5leHBvcnRzLnNldExvZ2dpbmdFbmFibGVkID0gc2V0TG9nZ2luZ0VuYWJsZWQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXRMb2dnaW5nRW5hYmxlZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setLoggingEnabled.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setMinGasPrice.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setMinGasPrice.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setMinGasPrice = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setMinGasPrice(client, { gasPrice }) {\n await client.request({\n method: `${client.mode}_setMinGasPrice`,\n params: [(0, toHex_js_1.numberToHex)(gasPrice)],\n });\n}\nexports.setMinGasPrice = setMinGasPrice;\n//# sourceMappingURL=setMinGasPrice.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0TWluR2FzUHJpY2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCLG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCx3Q0FBd0MsVUFBVTtBQUNsRDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0Esc0JBQXNCO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9zZXRNaW5HYXNQcmljZS5qcz8zNWY0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zZXRNaW5HYXNQcmljZSA9IHZvaWQgMDtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5hc3luYyBmdW5jdGlvbiBzZXRNaW5HYXNQcmljZShjbGllbnQsIHsgZ2FzUHJpY2UgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0TWluR2FzUHJpY2VgLFxuICAgICAgICBwYXJhbXM6IFsoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoZ2FzUHJpY2UpXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuc2V0TWluR2FzUHJpY2UgPSBzZXRNaW5HYXNQcmljZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldE1pbkdhc1ByaWNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setMinGasPrice.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setNextBlockBaseFeePerGas = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {\n await client.request({\n method: `${client.mode}_setNextBlockBaseFeePerGas`,\n params: [(0, toHex_js_1.numberToHex)(baseFeePerGas)],\n });\n}\nexports.setNextBlockBaseFeePerGas = setNextBlockBaseFeePerGas;\n//# sourceMappingURL=setNextBlockBaseFeePerGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQ0FBaUM7QUFDakMsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELG1EQUFtRCxlQUFlO0FBQ2xFO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0I7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQ0FBaUM7QUFDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3NldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXMuanM/NzY3NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcyA9IHZvaWQgMDtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5hc3luYyBmdW5jdGlvbiBzZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzKGNsaWVudCwgeyBiYXNlRmVlUGVyR2FzIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXNgLFxuICAgICAgICBwYXJhbXM6IFsoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoYmFzZUZlZVBlckdhcyldLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzID0gc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setNextBlockTimestamp.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setNextBlockTimestamp.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setNextBlockTimestamp = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setNextBlockTimestamp(client, { timestamp }) {\n await client.request({\n method: 'evm_setNextBlockTimestamp',\n params: [(0, toHex_js_1.numberToHex)(timestamp)],\n });\n}\nexports.setNextBlockTimestamp = setNextBlockTimestamp;\n//# sourceMappingURL=setNextBlockTimestamp.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrVGltZXN0YW1wLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDZCQUE2QjtBQUM3QixtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsK0NBQStDLFdBQVc7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsNkJBQTZCO0FBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9zZXROZXh0QmxvY2tUaW1lc3RhbXAuanM/MWRlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2V0TmV4dEJsb2NrVGltZXN0YW1wID0gdm9pZCAwO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHNldE5leHRCbG9ja1RpbWVzdGFtcChjbGllbnQsIHsgdGltZXN0YW1wIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V2bV9zZXROZXh0QmxvY2tUaW1lc3RhbXAnLFxuICAgICAgICBwYXJhbXM6IFsoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodGltZXN0YW1wKV0sXG4gICAgfSk7XG59XG5leHBvcnRzLnNldE5leHRCbG9ja1RpbWVzdGFtcCA9IHNldE5leHRCbG9ja1RpbWVzdGFtcDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldE5leHRCbG9ja1RpbWVzdGFtcC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setNextBlockTimestamp.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setNonce.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setNonce.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setNonce = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setNonce(client, { address, nonce }) {\n await client.request({\n method: `${client.mode}_setNonce`,\n params: [address, (0, toHex_js_1.numberToHex)(nonce)],\n });\n}\nexports.setNonce = setNonce;\n//# sourceMappingURL=setNonce.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0Tm9uY2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0JBQWdCO0FBQ2hCLG1CQUFtQixtQkFBTyxDQUFDLDJGQUErQjtBQUMxRCxrQ0FBa0MsZ0JBQWdCO0FBQ2xEO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0I7QUFDQSxLQUFLO0FBQ0w7QUFDQSxnQkFBZ0I7QUFDaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3NldE5vbmNlLmpzPzM2ZTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNldE5vbmNlID0gdm9pZCAwO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHNldE5vbmNlKGNsaWVudCwgeyBhZGRyZXNzLCBub25jZSB9KSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9zZXROb25jZWAsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3MsICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShub25jZSldLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zZXROb25jZSA9IHNldE5vbmNlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0Tm9uY2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setNonce.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setRpcUrl.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setRpcUrl.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setRpcUrl = void 0;\nasync function setRpcUrl(client, jsonRpcUrl) {\n await client.request({\n method: `${client.mode}_setRpcUrl`,\n params: [jsonRpcUrl],\n });\n}\nexports.setRpcUrl = setRpcUrl;\n//# sourceMappingURL=setRpcUrl.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0UnBjVXJsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0I7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3NldFJwY1VybC5qcz9iM2VhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zZXRScGNVcmwgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBzZXRScGNVcmwoY2xpZW50LCBqc29uUnBjVXJsKSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9zZXRScGNVcmxgLFxuICAgICAgICBwYXJhbXM6IFtqc29uUnBjVXJsXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuc2V0UnBjVXJsID0gc2V0UnBjVXJsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0UnBjVXJsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setRpcUrl.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/setStorageAt.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/setStorageAt.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setStorageAt = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function setStorageAt(client, { address, index, value }) {\n await client.request({\n method: `${client.mode}_setStorageAt`,\n params: [\n address,\n typeof index === 'number' ? (0, toHex_js_1.numberToHex)(index) : index,\n value,\n ],\n });\n}\nexports.setStorageAt = setStorageAt;\n//# sourceMappingURL=setStorageAt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc2V0U3RvcmFnZUF0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQjtBQUNwQixtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQsc0NBQXNDLHVCQUF1QjtBQUM3RDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy90ZXN0L3NldFN0b3JhZ2VBdC5qcz9iNDcxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zZXRTdG9yYWdlQXQgPSB2b2lkIDA7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gc2V0U3RvcmFnZUF0KGNsaWVudCwgeyBhZGRyZXNzLCBpbmRleCwgdmFsdWUgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0U3RvcmFnZUF0YCxcbiAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgdHlwZW9mIGluZGV4ID09PSAnbnVtYmVyJyA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShpbmRleCkgOiBpbmRleCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICBdLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zZXRTdG9yYWdlQXQgPSBzZXRTdG9yYWdlQXQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXRTdG9yYWdlQXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/setStorageAt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/snapshot.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/snapshot.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.snapshot = void 0;\nasync function snapshot(client) {\n return await client.request({\n method: 'evm_snapshot',\n });\n}\nexports.snapshot = snapshot;\n//# sourceMappingURL=snapshot.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc25hcHNob3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGdCQUFnQjtBQUNoQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc25hcHNob3QuanM/ZTM3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc25hcHNob3QgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBzbmFwc2hvdChjbGllbnQpIHtcbiAgICByZXR1cm4gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldm1fc25hcHNob3QnLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zbmFwc2hvdCA9IHNuYXBzaG90O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c25hcHNob3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/snapshot.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/test/stopImpersonatingAccount.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/test/stopImpersonatingAccount.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.stopImpersonatingAccount = void 0;\nasync function stopImpersonatingAccount(client, { address }) {\n await client.request({\n method: `${client.mode}_stopImpersonatingAccount`,\n params: [address],\n });\n}\nexports.stopImpersonatingAccount = stopImpersonatingAccount;\n//# sourceMappingURL=stopImpersonatingAccount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3Rlc3Qvc3RvcEltcGVyc29uYXRpbmdBY2NvdW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQztBQUNoQyxrREFBa0QsU0FBUztBQUMzRDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZ0NBQWdDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvdGVzdC9zdG9wSW1wZXJzb25hdGluZ0FjY291bnQuanM/NWE1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc3RvcEltcGVyc29uYXRpbmdBY2NvdW50ID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gc3RvcEltcGVyc29uYXRpbmdBY2NvdW50KGNsaWVudCwgeyBhZGRyZXNzIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3N0b3BJbXBlcnNvbmF0aW5nQWNjb3VudGAsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3NdLFxuICAgIH0pO1xufVxuZXhwb3J0cy5zdG9wSW1wZXJzb25hdGluZ0FjY291bnQgPSBzdG9wSW1wZXJzb25hdGluZ0FjY291bnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdG9wSW1wZXJzb25hdGluZ0FjY291bnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/test/stopImpersonatingAccount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/addChain.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/addChain.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.addChain = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function addChain(client, { chain }) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain;\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: (0, toHex_js_1.numberToHex)(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n });\n}\nexports.addChain = addChain;\n//# sourceMappingURL=addChain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9hZGRDaGFpbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0I7QUFDaEIsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELGtDQUFrQyxPQUFPO0FBQ3pDLFlBQVksb0RBQW9EO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxLQUFLO0FBQ2hFO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZ0JBQWdCO0FBQ2hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvd2FsbGV0L2FkZENoYWluLmpzPzBlZjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmFkZENoYWluID0gdm9pZCAwO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGFkZENoYWluKGNsaWVudCwgeyBjaGFpbiB9KSB7XG4gICAgY29uc3QgeyBpZCwgbmFtZSwgbmF0aXZlQ3VycmVuY3ksIHJwY1VybHMsIGJsb2NrRXhwbG9yZXJzIH0gPSBjaGFpbjtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3dhbGxldF9hZGRFdGhlcmV1bUNoYWluJyxcbiAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2hhaW5JZDogKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGlkKSxcbiAgICAgICAgICAgICAgICBjaGFpbk5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgbmF0aXZlQ3VycmVuY3ksXG4gICAgICAgICAgICAgICAgcnBjVXJsczogcnBjVXJscy5kZWZhdWx0Lmh0dHAsXG4gICAgICAgICAgICAgICAgYmxvY2tFeHBsb3JlclVybHM6IGJsb2NrRXhwbG9yZXJzXG4gICAgICAgICAgICAgICAgICAgID8gT2JqZWN0LnZhbHVlcyhibG9ja0V4cGxvcmVycykubWFwKCh7IHVybCB9KSA9PiB1cmwpXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuYWRkQ2hhaW4gPSBhZGRDaGFpbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZENoYWluLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/addChain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/deployContract.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/deployContract.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.deployContract = void 0;\nconst encodeDeployData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeDeployData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeDeployData.js\");\nconst sendTransaction_js_1 = __webpack_require__(/*! ./sendTransaction.js */ \"./node_modules/viem/dist/cjs/actions/wallet/sendTransaction.js\");\nfunction deployContract(walletClient, { abi, args, bytecode, ...request }) {\n const calldata = (0, encodeDeployData_js_1.encodeDeployData)({\n abi,\n args,\n bytecode,\n });\n return (0, sendTransaction_js_1.sendTransaction)(walletClient, {\n ...request,\n data: calldata,\n });\n}\nexports.deployContract = deployContract;\n//# sourceMappingURL=deployContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9kZXBsb3lDb250cmFjdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0I7QUFDdEIsOEJBQThCLG1CQUFPLENBQUMsdUdBQXFDO0FBQzNFLDZCQUE2QixtQkFBTyxDQUFDLDRGQUFzQjtBQUMzRCx3Q0FBd0MsaUNBQWlDO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHNCQUFzQjtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9kZXBsb3lDb250cmFjdC5qcz8yODI4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZXBsb3lDb250cmFjdCA9IHZvaWQgMDtcbmNvbnN0IGVuY29kZURlcGxveURhdGFfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9hYmkvZW5jb2RlRGVwbG95RGF0YS5qc1wiKTtcbmNvbnN0IHNlbmRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vc2VuZFRyYW5zYWN0aW9uLmpzXCIpO1xuZnVuY3Rpb24gZGVwbG95Q29udHJhY3Qod2FsbGV0Q2xpZW50LCB7IGFiaSwgYXJncywgYnl0ZWNvZGUsIC4uLnJlcXVlc3QgfSkge1xuICAgIGNvbnN0IGNhbGxkYXRhID0gKDAsIGVuY29kZURlcGxveURhdGFfanNfMS5lbmNvZGVEZXBsb3lEYXRhKSh7XG4gICAgICAgIGFiaSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgYnl0ZWNvZGUsXG4gICAgfSk7XG4gICAgcmV0dXJuICgwLCBzZW5kVHJhbnNhY3Rpb25fanNfMS5zZW5kVHJhbnNhY3Rpb24pKHdhbGxldENsaWVudCwge1xuICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICBkYXRhOiBjYWxsZGF0YSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZGVwbG95Q29udHJhY3QgPSBkZXBsb3lDb250cmFjdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlcGxveUNvbnRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/deployContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/getAddresses.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/getAddresses.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getAddresses = void 0;\nconst getAddress_js_1 = __webpack_require__(/*! ../../utils/address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nasync function getAddresses(client) {\n const addresses = await client.request({ method: 'eth_accounts' });\n return addresses.map((address) => (0, getAddress_js_1.checksumAddress)(address));\n}\nexports.getAddresses = getAddresses;\n//# sourceMappingURL=getAddresses.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9nZXRBZGRyZXNzZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CO0FBQ3BCLHdCQUF3QixtQkFBTyxDQUFDLG1HQUFtQztBQUNuRTtBQUNBLDZDQUE2Qyx3QkFBd0I7QUFDckU7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9nZXRBZGRyZXNzZXMuanM/NmM4NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0QWRkcmVzc2VzID0gdm9pZCAwO1xuY29uc3QgZ2V0QWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FkZHJlc3MvZ2V0QWRkcmVzcy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIGdldEFkZHJlc3NlcyhjbGllbnQpIHtcbiAgICBjb25zdCBhZGRyZXNzZXMgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7IG1ldGhvZDogJ2V0aF9hY2NvdW50cycgfSk7XG4gICAgcmV0dXJuIGFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MpID0+ICgwLCBnZXRBZGRyZXNzX2pzXzEuY2hlY2tzdW1BZGRyZXNzKShhZGRyZXNzKSk7XG59XG5leHBvcnRzLmdldEFkZHJlc3NlcyA9IGdldEFkZHJlc3Nlcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEFkZHJlc3Nlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/getAddresses.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/getPermissions.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/getPermissions.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPermissions = void 0;\nasync function getPermissions(client) {\n const permissions = await client.request({ method: 'wallet_getPermissions' });\n return permissions;\n}\nexports.getPermissions = getPermissions;\n//# sourceMappingURL=getPermissions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9nZXRQZXJtaXNzaW9ucy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0I7QUFDdEI7QUFDQSwrQ0FBK0MsaUNBQWlDO0FBQ2hGO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy93YWxsZXQvZ2V0UGVybWlzc2lvbnMuanM/YWQ1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0UGVybWlzc2lvbnMgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiBnZXRQZXJtaXNzaW9ucyhjbGllbnQpIHtcbiAgICBjb25zdCBwZXJtaXNzaW9ucyA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHsgbWV0aG9kOiAnd2FsbGV0X2dldFBlcm1pc3Npb25zJyB9KTtcbiAgICByZXR1cm4gcGVybWlzc2lvbnM7XG59XG5leHBvcnRzLmdldFBlcm1pc3Npb25zID0gZ2V0UGVybWlzc2lvbnM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRQZXJtaXNzaW9ucy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/getPermissions.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/requestAddresses.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/requestAddresses.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.requestAddresses = void 0;\nconst getAddress_js_1 = __webpack_require__(/*! ../../utils/address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nasync function requestAddresses(client) {\n const addresses = await client.request({ method: 'eth_requestAccounts' });\n return addresses.map((address) => (0, getAddress_js_1.getAddress)(address));\n}\nexports.requestAddresses = requestAddresses;\n//# sourceMappingURL=requestAddresses.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9yZXF1ZXN0QWRkcmVzc2VzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4Qix3QkFBd0IsbUJBQU8sQ0FBQyxtR0FBbUM7QUFDbkU7QUFDQSw2Q0FBNkMsK0JBQStCO0FBQzVFO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy93YWxsZXQvcmVxdWVzdEFkZHJlc3Nlcy5qcz83YTIyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZXF1ZXN0QWRkcmVzc2VzID0gdm9pZCAwO1xuY29uc3QgZ2V0QWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2FkZHJlc3MvZ2V0QWRkcmVzcy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHJlcXVlc3RBZGRyZXNzZXMoY2xpZW50KSB7XG4gICAgY29uc3QgYWRkcmVzc2VzID0gYXdhaXQgY2xpZW50LnJlcXVlc3QoeyBtZXRob2Q6ICdldGhfcmVxdWVzdEFjY291bnRzJyB9KTtcbiAgICByZXR1cm4gYWRkcmVzc2VzLm1hcCgoYWRkcmVzcykgPT4gKDAsIGdldEFkZHJlc3NfanNfMS5nZXRBZGRyZXNzKShhZGRyZXNzKSk7XG59XG5leHBvcnRzLnJlcXVlc3RBZGRyZXNzZXMgPSByZXF1ZXN0QWRkcmVzc2VzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWVzdEFkZHJlc3Nlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/requestAddresses.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/requestPermissions.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/requestPermissions.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.requestPermissions = void 0;\nasync function requestPermissions(client, permissions) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n });\n}\nexports.requestPermissions = requestPermissions;\n//# sourceMappingURL=requestPermissions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9yZXF1ZXN0UGVybWlzc2lvbnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvd2FsbGV0L3JlcXVlc3RQZXJtaXNzaW9ucy5qcz81NjAwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZXF1ZXN0UGVybWlzc2lvbnMgPSB2b2lkIDA7XG5hc3luYyBmdW5jdGlvbiByZXF1ZXN0UGVybWlzc2lvbnMoY2xpZW50LCBwZXJtaXNzaW9ucykge1xuICAgIHJldHVybiBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3dhbGxldF9yZXF1ZXN0UGVybWlzc2lvbnMnLFxuICAgICAgICBwYXJhbXM6IFtwZXJtaXNzaW9uc10sXG4gICAgfSk7XG59XG5leHBvcnRzLnJlcXVlc3RQZXJtaXNzaW9ucyA9IHJlcXVlc3RQZXJtaXNzaW9ucztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3RQZXJtaXNzaW9ucy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/requestPermissions.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/sendTransaction.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/sendTransaction.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sendTransaction = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst account_js_1 = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/cjs/errors/account.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nconst getTransactionError_js_1 = __webpack_require__(/*! ../../utils/errors/getTransactionError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getTransactionError.js\");\nconst extract_js_1 = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/cjs/utils/formatters/extract.js\");\nconst transactionRequest_js_1 = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\");\nconst assertRequest_js_1 = __webpack_require__(/*! ../../utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\");\nconst prepareRequest_js_1 = __webpack_require__(/*! ../../utils/transaction/prepareRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js\");\nconst getChainId_js_1 = __webpack_require__(/*! ../public/getChainId.js */ \"./node_modules/viem/dist/cjs/actions/public/getChainId.js\");\nasync function sendTransaction(client, args) {\n const { account: account_ = client.account, chain = client.chain, accessList, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n if (!account_)\n throw new account_js_1.AccountNotFoundError({\n docsPath: '/docs/actions/wallet/sendTransaction',\n });\n const account = (0, parseAccount_js_1.parseAccount)(account_);\n try {\n (0, assertRequest_js_1.assertRequest)(args);\n let chainId;\n if (chain !== null) {\n chainId = await (0, getChainId_js_1.getChainId)(client);\n (0, chain_js_1.assertCurrentChain)({\n currentChainId: chainId,\n chain,\n });\n }\n if (account.type === 'local') {\n const request = await (0, prepareRequest_js_1.prepareRequest)(client, {\n account,\n accessList,\n chain,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n ...rest,\n });\n if (!chainId)\n chainId = await (0, getChainId_js_1.getChainId)(client);\n const serializer = chain?.serializers?.transaction;\n const signedRequest = (await account.signTransaction({\n ...request,\n chainId,\n }, { serializer }));\n return await client.request({\n method: 'eth_sendRawTransaction',\n params: [signedRequest],\n });\n }\n const format = chain?.formatters?.transactionRequest?.format || transactionRequest_js_1.formatTransactionRequest;\n const request = format({\n ...(0, extract_js_1.extract)(rest, { format }),\n accessList,\n data,\n from: account.address,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n return await client.request({\n method: 'eth_sendTransaction',\n params: [request],\n });\n }\n catch (err) {\n throw (0, getTransactionError_js_1.getTransactionError)(err, {\n ...args,\n account,\n chain: args.chain || undefined,\n });\n }\n}\nexports.sendTransaction = sendTransaction;\n//# sourceMappingURL=sendTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9zZW5kVHJhbnNhY3Rpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsdUJBQXVCO0FBQ3ZCLDBCQUEwQixtQkFBTyxDQUFDLHlHQUFzQztBQUN4RSxxQkFBcUIsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdEQsbUJBQW1CLG1CQUFPLENBQUMseUVBQXNCO0FBQ2pELGlDQUFpQyxtQkFBTyxDQUFDLG1IQUEyQztBQUNwRixxQkFBcUIsbUJBQU8sQ0FBQyxtR0FBbUM7QUFDaEUsZ0NBQWdDLG1CQUFPLENBQUMseUhBQThDO0FBQ3RGLDJCQUEyQixtQkFBTyxDQUFDLGlIQUEwQztBQUM3RSw0QkFBNEIsbUJBQU8sQ0FBQyxtSEFBMkM7QUFDL0Usd0JBQXdCLG1CQUFPLENBQUMsMEZBQXlCO0FBQ3pEO0FBQ0EsWUFBWSwySkFBMko7QUFDdks7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxJQUFJLFlBQVk7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxRQUFRO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9zZW5kVHJhbnNhY3Rpb24uanM/YjA3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2VuZFRyYW5zYWN0aW9uID0gdm9pZCAwO1xuY29uc3QgcGFyc2VBY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzXCIpO1xuY29uc3QgYWNjb3VudF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hY2NvdW50LmpzXCIpO1xuY29uc3QgY2hhaW5fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9jaGFpbi5qc1wiKTtcbmNvbnN0IGdldFRyYW5zYWN0aW9uRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9lcnJvcnMvZ2V0VHJhbnNhY3Rpb25FcnJvci5qc1wiKTtcbmNvbnN0IGV4dHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanNcIik7XG5jb25zdCB0cmFuc2FjdGlvblJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qc1wiKTtcbmNvbnN0IGFzc2VydFJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRSZXF1ZXN0LmpzXCIpO1xuY29uc3QgcHJlcGFyZVJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy90cmFuc2FjdGlvbi9wcmVwYXJlUmVxdWVzdC5qc1wiKTtcbmNvbnN0IGdldENoYWluSWRfanNfMSA9IHJlcXVpcmUoXCIuLi9wdWJsaWMvZ2V0Q2hhaW5JZC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHNlbmRUcmFuc2FjdGlvbihjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGFjY291bnQ6IGFjY291bnRfID0gY2xpZW50LmFjY291bnQsIGNoYWluID0gY2xpZW50LmNoYWluLCBhY2Nlc3NMaXN0LCBkYXRhLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgdG8sIHZhbHVlLCAuLi5yZXN0IH0gPSBhcmdzO1xuICAgIGlmICghYWNjb3VudF8pXG4gICAgICAgIHRocm93IG5ldyBhY2NvdW50X2pzXzEuQWNjb3VudE5vdEZvdW5kRXJyb3Ioe1xuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9hY3Rpb25zL3dhbGxldC9zZW5kVHJhbnNhY3Rpb24nLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBhY2NvdW50ID0gKDAsIHBhcnNlQWNjb3VudF9qc18xLnBhcnNlQWNjb3VudCkoYWNjb3VudF8pO1xuICAgIHRyeSB7XG4gICAgICAgICgwLCBhc3NlcnRSZXF1ZXN0X2pzXzEuYXNzZXJ0UmVxdWVzdCkoYXJncyk7XG4gICAgICAgIGxldCBjaGFpbklkO1xuICAgICAgICBpZiAoY2hhaW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoYWluSWQgPSBhd2FpdCAoMCwgZ2V0Q2hhaW5JZF9qc18xLmdldENoYWluSWQpKGNsaWVudCk7XG4gICAgICAgICAgICAoMCwgY2hhaW5fanNfMS5hc3NlcnRDdXJyZW50Q2hhaW4pKHtcbiAgICAgICAgICAgICAgICBjdXJyZW50Q2hhaW5JZDogY2hhaW5JZCxcbiAgICAgICAgICAgICAgICBjaGFpbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY2NvdW50LnR5cGUgPT09ICdsb2NhbCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCAoMCwgcHJlcGFyZVJlcXVlc3RfanNfMS5wcmVwYXJlUmVxdWVzdCkoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgYWNjb3VudCxcbiAgICAgICAgICAgICAgICBhY2Nlc3NMaXN0LFxuICAgICAgICAgICAgICAgIGNoYWluLFxuICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgZ2FzLFxuICAgICAgICAgICAgICAgIGdhc1ByaWNlLFxuICAgICAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgICAgICAgICAgICBub25jZSxcbiAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAuLi5yZXN0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIWNoYWluSWQpXG4gICAgICAgICAgICAgICAgY2hhaW5JZCA9IGF3YWl0ICgwLCBnZXRDaGFpbklkX2pzXzEuZ2V0Q2hhaW5JZCkoY2xpZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZXIgPSBjaGFpbj8uc2VyaWFsaXplcnM/LnRyYW5zYWN0aW9uO1xuICAgICAgICAgICAgY29uc3Qgc2lnbmVkUmVxdWVzdCA9IChhd2FpdCBhY2NvdW50LnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICAgICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICAgICAgICBjaGFpbklkLFxuICAgICAgICAgICAgfSwgeyBzZXJpYWxpemVyIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3NlbmRSYXdUcmFuc2FjdGlvbicsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBbc2lnbmVkUmVxdWVzdF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXQgPSBjaGFpbj8uZm9ybWF0dGVycz8udHJhbnNhY3Rpb25SZXF1ZXN0Py5mb3JtYXQgfHwgdHJhbnNhY3Rpb25SZXF1ZXN0X2pzXzEuZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0O1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gZm9ybWF0KHtcbiAgICAgICAgICAgIC4uLigwLCBleHRyYWN0X2pzXzEuZXh0cmFjdCkocmVzdCwgeyBmb3JtYXQgfSksXG4gICAgICAgICAgICBhY2Nlc3NMaXN0LFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGZyb206IGFjY291bnQuYWRkcmVzcyxcbiAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgIGdhc1ByaWNlLFxuICAgICAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICAgICAgICBub25jZSxcbiAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3NlbmRUcmFuc2FjdGlvbicsXG4gICAgICAgICAgICBwYXJhbXM6IFtyZXF1ZXN0XSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgKDAsIGdldFRyYW5zYWN0aW9uRXJyb3JfanNfMS5nZXRUcmFuc2FjdGlvbkVycm9yKShlcnIsIHtcbiAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICBhY2NvdW50LFxuICAgICAgICAgICAgY2hhaW46IGFyZ3MuY2hhaW4gfHwgdW5kZWZpbmVkLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLnNlbmRUcmFuc2FjdGlvbiA9IHNlbmRUcmFuc2FjdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlbmRUcmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/sendTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/signMessage.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/signMessage.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.signMessage = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst account_js_1 = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/cjs/errors/account.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function signMessage(client, { account: account_ = client.account, message, }) {\n if (!account_)\n throw new account_js_1.AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signMessage',\n });\n const account = (0, parseAccount_js_1.parseAccount)(account_);\n if (account.type === 'local')\n return account.signMessage({ message });\n const message_ = (() => {\n if (typeof message === 'string')\n return (0, toHex_js_1.stringToHex)(message);\n if (message.raw instanceof Uint8Array)\n return (0, toHex_js_1.toHex)(message.raw);\n return message.raw;\n })();\n return client.request({\n method: 'personal_sign',\n params: [message_, account.address],\n });\n}\nexports.signMessage = signMessage;\n//# sourceMappingURL=signMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9zaWduTWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsMEJBQTBCLG1CQUFPLENBQUMseUdBQXNDO0FBQ3hFLHFCQUFxQixtQkFBTyxDQUFDLCtFQUF5QjtBQUN0RCxtQkFBbUIsbUJBQU8sQ0FBQywyRkFBK0I7QUFDMUQscUNBQXFDLDhDQUE4QztBQUNuRjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHFDQUFxQyxTQUFTO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy93YWxsZXQvc2lnbk1lc3NhZ2UuanM/MjQzOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2lnbk1lc3NhZ2UgPSB2b2lkIDA7XG5jb25zdCBwYXJzZUFjY291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanNcIik7XG5jb25zdCBhY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FjY291bnQuanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gc2lnbk1lc3NhZ2UoY2xpZW50LCB7IGFjY291bnQ6IGFjY291bnRfID0gY2xpZW50LmFjY291bnQsIG1lc3NhZ2UsIH0pIHtcbiAgICBpZiAoIWFjY291bnRfKVxuICAgICAgICB0aHJvdyBuZXcgYWNjb3VudF9qc18xLkFjY291bnROb3RGb3VuZEVycm9yKHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvYWN0aW9ucy93YWxsZXQvc2lnbk1lc3NhZ2UnLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBhY2NvdW50ID0gKDAsIHBhcnNlQWNjb3VudF9qc18xLnBhcnNlQWNjb3VudCkoYWNjb3VudF8pO1xuICAgIGlmIChhY2NvdW50LnR5cGUgPT09ICdsb2NhbCcpXG4gICAgICAgIHJldHVybiBhY2NvdW50LnNpZ25NZXNzYWdlKHsgbWVzc2FnZSB9KTtcbiAgICBjb25zdCBtZXNzYWdlXyA9ICgoKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm4gKDAsIHRvSGV4X2pzXzEuc3RyaW5nVG9IZXgpKG1lc3NhZ2UpO1xuICAgICAgICBpZiAobWVzc2FnZS5yYXcgaW5zdGFuY2VvZiBVaW50OEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuICgwLCB0b0hleF9qc18xLnRvSGV4KShtZXNzYWdlLnJhdyk7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLnJhdztcbiAgICB9KSgpO1xuICAgIHJldHVybiBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3BlcnNvbmFsX3NpZ24nLFxuICAgICAgICBwYXJhbXM6IFttZXNzYWdlXywgYWNjb3VudC5hZGRyZXNzXSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuc2lnbk1lc3NhZ2UgPSBzaWduTWVzc2FnZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpZ25NZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/signMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/signTypedData.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/signTypedData.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.signTypedData = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst account_js_1 = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/cjs/errors/account.js\");\nconst isHex_js_1 = __webpack_require__(/*! ../../utils/data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst stringify_js_1 = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst typedData_js_1 = __webpack_require__(/*! ../../utils/typedData.js */ \"./node_modules/viem/dist/cjs/utils/typedData.js\");\nasync function signTypedData(client, { account: account_ = client.account, domain, message, primaryType, types: types_, }) {\n if (!account_)\n throw new account_js_1.AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTypedData',\n });\n const account = (0, parseAccount_js_1.parseAccount)(account_);\n const types = {\n EIP712Domain: [\n typeof domain?.name === 'string' && { name: 'name', type: 'string' },\n domain?.version && { name: 'version', type: 'string' },\n typeof domain?.chainId === 'number' && {\n name: 'chainId',\n type: 'uint256',\n },\n domain?.verifyingContract && {\n name: 'verifyingContract',\n type: 'address',\n },\n domain?.salt && { name: 'salt', type: 'bytes32' },\n ].filter(Boolean),\n ...types_,\n };\n (0, typedData_js_1.validateTypedData)({\n domain,\n message,\n primaryType,\n types,\n });\n if (account.type === 'local')\n return account.signTypedData({\n domain,\n primaryType,\n types,\n message,\n });\n const typedData = (0, stringify_js_1.stringify)({ domain: domain ?? {}, primaryType, types, message }, (_, value) => ((0, isHex_js_1.isHex)(value) ? value.toLowerCase() : value));\n return client.request({\n method: 'eth_signTypedData_v4',\n params: [account.address, typedData],\n });\n}\nexports.signTypedData = signTypedData;\n//# sourceMappingURL=signTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9zaWduVHlwZWREYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQiwwQkFBMEIsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDeEUscUJBQXFCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3RELG1CQUFtQixtQkFBTyxDQUFDLG1GQUEyQjtBQUN0RCx1QkFBdUIsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDekQsdUJBQXVCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3pELHVDQUF1QyxrRkFBa0Y7QUFDekg7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCw4QkFBOEI7QUFDaEYsaUNBQWlDLGlDQUFpQztBQUNsRTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLDhCQUE4QiwrQkFBK0I7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Qsc0RBQXNELG9CQUFvQiwrQkFBK0I7QUFDekc7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvd2FsbGV0L3NpZ25UeXBlZERhdGEuanM/Yzk2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2lnblR5cGVkRGF0YSA9IHZvaWQgMDtcbmNvbnN0IHBhcnNlQWNjb3VudF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qc1wiKTtcbmNvbnN0IGFjY291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWNjb3VudC5qc1wiKTtcbmNvbnN0IGlzSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvZGF0YS9pc0hleC5qc1wiKTtcbmNvbnN0IHN0cmluZ2lmeV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3N0cmluZ2lmeS5qc1wiKTtcbmNvbnN0IHR5cGVkRGF0YV9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3R5cGVkRGF0YS5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHNpZ25UeXBlZERhdGEoY2xpZW50LCB7IGFjY291bnQ6IGFjY291bnRfID0gY2xpZW50LmFjY291bnQsIGRvbWFpbiwgbWVzc2FnZSwgcHJpbWFyeVR5cGUsIHR5cGVzOiB0eXBlc18sIH0pIHtcbiAgICBpZiAoIWFjY291bnRfKVxuICAgICAgICB0aHJvdyBuZXcgYWNjb3VudF9qc18xLkFjY291bnROb3RGb3VuZEVycm9yKHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvYWN0aW9ucy93YWxsZXQvc2lnblR5cGVkRGF0YScsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGFjY291bnQgPSAoMCwgcGFyc2VBY2NvdW50X2pzXzEucGFyc2VBY2NvdW50KShhY2NvdW50Xyk7XG4gICAgY29uc3QgdHlwZXMgPSB7XG4gICAgICAgIEVJUDcxMkRvbWFpbjogW1xuICAgICAgICAgICAgdHlwZW9mIGRvbWFpbj8ubmFtZSA9PT0gJ3N0cmluZycgJiYgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgICBkb21haW4/LnZlcnNpb24gJiYgeyBuYW1lOiAndmVyc2lvbicsIHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgICB0eXBlb2YgZG9tYWluPy5jaGFpbklkID09PSAnbnVtYmVyJyAmJiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2NoYWluSWQnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd1aW50MjU2JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkb21haW4/LnZlcmlmeWluZ0NvbnRyYWN0ICYmIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmVyaWZ5aW5nQ29udHJhY3QnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdhZGRyZXNzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkb21haW4/LnNhbHQgJiYgeyBuYW1lOiAnc2FsdCcsIHR5cGU6ICdieXRlczMyJyB9LFxuICAgICAgICBdLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgLi4udHlwZXNfLFxuICAgIH07XG4gICAgKDAsIHR5cGVkRGF0YV9qc18xLnZhbGlkYXRlVHlwZWREYXRhKSh7XG4gICAgICAgIGRvbWFpbixcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgcHJpbWFyeVR5cGUsXG4gICAgICAgIHR5cGVzLFxuICAgIH0pO1xuICAgIGlmIChhY2NvdW50LnR5cGUgPT09ICdsb2NhbCcpXG4gICAgICAgIHJldHVybiBhY2NvdW50LnNpZ25UeXBlZERhdGEoe1xuICAgICAgICAgICAgZG9tYWluLFxuICAgICAgICAgICAgcHJpbWFyeVR5cGUsXG4gICAgICAgICAgICB0eXBlcyxcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IHR5cGVkRGF0YSA9ICgwLCBzdHJpbmdpZnlfanNfMS5zdHJpbmdpZnkpKHsgZG9tYWluOiBkb21haW4gPz8ge30sIHByaW1hcnlUeXBlLCB0eXBlcywgbWVzc2FnZSB9LCAoXywgdmFsdWUpID0+ICgoMCwgaXNIZXhfanNfMS5pc0hleCkodmFsdWUpID8gdmFsdWUudG9Mb3dlckNhc2UoKSA6IHZhbHVlKSk7XG4gICAgcmV0dXJuIGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX3NpZ25UeXBlZERhdGFfdjQnLFxuICAgICAgICBwYXJhbXM6IFthY2NvdW50LmFkZHJlc3MsIHR5cGVkRGF0YV0sXG4gICAgfSk7XG59XG5leHBvcnRzLnNpZ25UeXBlZERhdGEgPSBzaWduVHlwZWREYXRhO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2lnblR5cGVkRGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/signTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/switchChain.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/switchChain.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.switchChain = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function switchChain(client, { id }) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: (0, toHex_js_1.numberToHex)(id),\n },\n ],\n });\n}\nexports.switchChain = switchChain;\n//# sourceMappingURL=switchChain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC9zd2l0Y2hDaGFpbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsbUJBQW1CLG1CQUFPLENBQUMsMkZBQStCO0FBQzFELHFDQUFxQyxJQUFJO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy93YWxsZXQvc3dpdGNoQ2hhaW4uanM/NWU5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc3dpdGNoQ2hhaW4gPSB2b2lkIDA7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gc3dpdGNoQ2hhaW4oY2xpZW50LCB7IGlkIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3dhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluJyxcbiAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2hhaW5JZDogKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKGlkKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgfSk7XG59XG5leHBvcnRzLnN3aXRjaENoYWluID0gc3dpdGNoQ2hhaW47XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zd2l0Y2hDaGFpbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/switchChain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/watchAsset.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/watchAsset.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.watchAsset = void 0;\nasync function watchAsset(client, params) {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params,\n });\n return added;\n}\nexports.watchAsset = watchAsset;\n//# sourceMappingURL=watchAsset.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC93YXRjaEFzc2V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2FjdGlvbnMvd2FsbGV0L3dhdGNoQXNzZXQuanM/NWVmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2F0Y2hBc3NldCA9IHZvaWQgMDtcbmFzeW5jIGZ1bmN0aW9uIHdhdGNoQXNzZXQoY2xpZW50LCBwYXJhbXMpIHtcbiAgICBjb25zdCBhZGRlZCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnd2FsbGV0X3dhdGNoQXNzZXQnLFxuICAgICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGFkZGVkO1xufVxuZXhwb3J0cy53YXRjaEFzc2V0ID0gd2F0Y2hBc3NldDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhdGNoQXNzZXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/watchAsset.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/actions/wallet/writeContract.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/actions/wallet/writeContract.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.writeContract = void 0;\nconst encodeFunctionData_js_1 = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nconst sendTransaction_js_1 = __webpack_require__(/*! ./sendTransaction.js */ \"./node_modules/viem/dist/cjs/actions/wallet/sendTransaction.js\");\nasync function writeContract(client, { abi, address, args, dataSuffix, functionName, ...request }) {\n const data = (0, encodeFunctionData_js_1.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n const hash = await (0, sendTransaction_js_1.sendTransaction)(client, {\n data: `${data}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...request,\n });\n return hash;\n}\nexports.writeContract = writeContract;\n//# sourceMappingURL=writeContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9hY3Rpb25zL3dhbGxldC93cml0ZUNvbnRyYWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQixnQ0FBZ0MsbUJBQU8sQ0FBQywyR0FBdUM7QUFDL0UsNkJBQTZCLG1CQUFPLENBQUMsNEZBQXNCO0FBQzNELHVDQUF1QywwREFBMEQ7QUFDakc7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUIsS0FBSyxFQUFFLCtDQUErQztBQUN2RTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvYWN0aW9ucy93YWxsZXQvd3JpdGVDb250cmFjdC5qcz80N2YyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy53cml0ZUNvbnRyYWN0ID0gdm9pZCAwO1xuY29uc3QgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qc1wiKTtcbmNvbnN0IHNlbmRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vc2VuZFRyYW5zYWN0aW9uLmpzXCIpO1xuYXN5bmMgZnVuY3Rpb24gd3JpdGVDb250cmFjdChjbGllbnQsIHsgYWJpLCBhZGRyZXNzLCBhcmdzLCBkYXRhU3VmZml4LCBmdW5jdGlvbk5hbWUsIC4uLnJlcXVlc3QgfSkge1xuICAgIGNvbnN0IGRhdGEgPSAoMCwgZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEuZW5jb2RlRnVuY3Rpb25EYXRhKSh7XG4gICAgICAgIGFiaSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgIH0pO1xuICAgIGNvbnN0IGhhc2ggPSBhd2FpdCAoMCwgc2VuZFRyYW5zYWN0aW9uX2pzXzEuc2VuZFRyYW5zYWN0aW9uKShjbGllbnQsIHtcbiAgICAgICAgZGF0YTogYCR7ZGF0YX0ke2RhdGFTdWZmaXggPyBkYXRhU3VmZml4LnJlcGxhY2UoJzB4JywgJycpIDogJyd9YCxcbiAgICAgICAgdG86IGFkZHJlc3MsXG4gICAgICAgIC4uLnJlcXVlc3QsXG4gICAgfSk7XG4gICAgcmV0dXJuIGhhc2g7XG59XG5leHBvcnRzLndyaXRlQ29udHJhY3QgPSB3cml0ZUNvbnRyYWN0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d3JpdGVDb250cmFjdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/actions/wallet/writeContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/createClient.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/createClient.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createClient = void 0;\nconst uid_js_1 = __webpack_require__(/*! ../utils/uid.js */ \"./node_modules/viem/dist/cjs/utils/uid.js\");\nfunction createClient({ chain, key = 'base', name = 'Base Client', pollingInterval = 4000, transport, type = 'base', }) {\n const { config, request, value } = transport({ chain, pollingInterval });\n return {\n chain: chain,\n key,\n name,\n pollingInterval,\n request: request,\n transport: { ...config, ...value },\n type,\n uid: (0, uid_js_1.uid)(),\n };\n}\nexports.createClient = createClient;\n//# sourceMappingURL=createClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2NyZWF0ZUNsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0I7QUFDcEIsaUJBQWlCLG1CQUFPLENBQUMsa0VBQWlCO0FBQzFDLHdCQUF3Qiw4RkFBOEY7QUFDdEgsWUFBWSx5QkFBeUIsY0FBYyx3QkFBd0I7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHFCQUFxQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2NyZWF0ZUNsaWVudC5qcz8zNWE5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVDbGllbnQgPSB2b2lkIDA7XG5jb25zdCB1aWRfanNfMSA9IHJlcXVpcmUoXCIuLi91dGlscy91aWQuanNcIik7XG5mdW5jdGlvbiBjcmVhdGVDbGllbnQoeyBjaGFpbiwga2V5ID0gJ2Jhc2UnLCBuYW1lID0gJ0Jhc2UgQ2xpZW50JywgcG9sbGluZ0ludGVydmFsID0gNDAwMCwgdHJhbnNwb3J0LCB0eXBlID0gJ2Jhc2UnLCB9KSB7XG4gICAgY29uc3QgeyBjb25maWcsIHJlcXVlc3QsIHZhbHVlIH0gPSB0cmFuc3BvcnQoeyBjaGFpbiwgcG9sbGluZ0ludGVydmFsIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNoYWluOiBjaGFpbixcbiAgICAgICAga2V5LFxuICAgICAgICBuYW1lLFxuICAgICAgICBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgIHJlcXVlc3Q6IHJlcXVlc3QsXG4gICAgICAgIHRyYW5zcG9ydDogeyAuLi5jb25maWcsIC4uLnZhbHVlIH0sXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHVpZDogKDAsIHVpZF9qc18xLnVpZCkoKSxcbiAgICB9O1xufVxuZXhwb3J0cy5jcmVhdGVDbGllbnQgPSBjcmVhdGVDbGllbnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVDbGllbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/createClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/createPublicClient.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/createPublicClient.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createPublicClient = void 0;\nconst createClient_js_1 = __webpack_require__(/*! ./createClient.js */ \"./node_modules/viem/dist/cjs/clients/createClient.js\");\nconst public_js_1 = __webpack_require__(/*! ./decorators/public.js */ \"./node_modules/viem/dist/cjs/clients/decorators/public.js\");\nfunction createPublicClient({ batch, chain, key = 'public', name = 'Public Client', transport, pollingInterval, }) {\n const client = {\n batch,\n ...(0, createClient_js_1.createClient)({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'publicClient',\n }),\n };\n return {\n ...client,\n ...(0, public_js_1.publicActions)(client),\n };\n}\nexports.createPublicClient = createPublicClient;\n//# sourceMappingURL=createPublicClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2NyZWF0ZVB1YmxpY0NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQkFBMEI7QUFDMUIsMEJBQTBCLG1CQUFPLENBQUMsK0VBQW1CO0FBQ3JELG9CQUFvQixtQkFBTyxDQUFDLHlGQUF3QjtBQUNwRCw4QkFBOEIsbUZBQW1GO0FBQ2pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy9jcmVhdGVQdWJsaWNDbGllbnQuanM/MTgzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY3JlYXRlUHVibGljQ2xpZW50ID0gdm9pZCAwO1xuY29uc3QgY3JlYXRlQ2xpZW50X2pzXzEgPSByZXF1aXJlKFwiLi9jcmVhdGVDbGllbnQuanNcIik7XG5jb25zdCBwdWJsaWNfanNfMSA9IHJlcXVpcmUoXCIuL2RlY29yYXRvcnMvcHVibGljLmpzXCIpO1xuZnVuY3Rpb24gY3JlYXRlUHVibGljQ2xpZW50KHsgYmF0Y2gsIGNoYWluLCBrZXkgPSAncHVibGljJywgbmFtZSA9ICdQdWJsaWMgQ2xpZW50JywgdHJhbnNwb3J0LCBwb2xsaW5nSW50ZXJ2YWwsIH0pIHtcbiAgICBjb25zdCBjbGllbnQgPSB7XG4gICAgICAgIGJhdGNoLFxuICAgICAgICAuLi4oMCwgY3JlYXRlQ2xpZW50X2pzXzEuY3JlYXRlQ2xpZW50KSh7XG4gICAgICAgICAgICBjaGFpbixcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgICAgICB0cmFuc3BvcnQsXG4gICAgICAgICAgICB0eXBlOiAncHVibGljQ2xpZW50JyxcbiAgICAgICAgfSksXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5jbGllbnQsXG4gICAgICAgIC4uLigwLCBwdWJsaWNfanNfMS5wdWJsaWNBY3Rpb25zKShjbGllbnQpLFxuICAgIH07XG59XG5leHBvcnRzLmNyZWF0ZVB1YmxpY0NsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZVB1YmxpY0NsaWVudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/createPublicClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/createTestClient.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/createTestClient.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTestClient = void 0;\nconst createClient_js_1 = __webpack_require__(/*! ./createClient.js */ \"./node_modules/viem/dist/cjs/clients/createClient.js\");\nconst test_js_1 = __webpack_require__(/*! ./decorators/test.js */ \"./node_modules/viem/dist/cjs/clients/decorators/test.js\");\nfunction createTestClient({ chain, key = 'test', name = 'Test Client', mode, pollingInterval, transport, }) {\n const client = {\n ...(0, createClient_js_1.createClient)({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'testClient',\n }),\n mode,\n };\n return {\n ...client,\n ...(0, test_js_1.testActions)(client),\n };\n}\nexports.createTestClient = createTestClient;\n//# sourceMappingURL=createTestClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2NyZWF0ZVRlc3RDbGllbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCO0FBQ3hCLDBCQUEwQixtQkFBTyxDQUFDLCtFQUFtQjtBQUNyRCxrQkFBa0IsbUJBQU8sQ0FBQyxxRkFBc0I7QUFDaEQsNEJBQTRCLDhFQUE4RTtBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2NsaWVudHMvY3JlYXRlVGVzdENsaWVudC5qcz84ZDUxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVUZXN0Q2xpZW50ID0gdm9pZCAwO1xuY29uc3QgY3JlYXRlQ2xpZW50X2pzXzEgPSByZXF1aXJlKFwiLi9jcmVhdGVDbGllbnQuanNcIik7XG5jb25zdCB0ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi9kZWNvcmF0b3JzL3Rlc3QuanNcIik7XG5mdW5jdGlvbiBjcmVhdGVUZXN0Q2xpZW50KHsgY2hhaW4sIGtleSA9ICd0ZXN0JywgbmFtZSA9ICdUZXN0IENsaWVudCcsIG1vZGUsIHBvbGxpbmdJbnRlcnZhbCwgdHJhbnNwb3J0LCB9KSB7XG4gICAgY29uc3QgY2xpZW50ID0ge1xuICAgICAgICAuLi4oMCwgY3JlYXRlQ2xpZW50X2pzXzEuY3JlYXRlQ2xpZW50KSh7XG4gICAgICAgICAgICBjaGFpbixcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgICAgICB0cmFuc3BvcnQsXG4gICAgICAgICAgICB0eXBlOiAndGVzdENsaWVudCcsXG4gICAgICAgIH0pLFxuICAgICAgICBtb2RlLFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2xpZW50LFxuICAgICAgICAuLi4oMCwgdGVzdF9qc18xLnRlc3RBY3Rpb25zKShjbGllbnQpLFxuICAgIH07XG59XG5leHBvcnRzLmNyZWF0ZVRlc3RDbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlVGVzdENsaWVudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/createTestClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/createWalletClient.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/createWalletClient.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createWalletClient = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst createClient_js_1 = __webpack_require__(/*! ./createClient.js */ \"./node_modules/viem/dist/cjs/clients/createClient.js\");\nconst wallet_js_1 = __webpack_require__(/*! ./decorators/wallet.js */ \"./node_modules/viem/dist/cjs/clients/decorators/wallet.js\");\nfunction createWalletClient({ account, chain, transport, key = 'wallet', name = 'Wallet Client', pollingInterval, }) {\n const client = {\n ...(0, createClient_js_1.createClient)({\n chain,\n key,\n name,\n pollingInterval,\n transport: (opts) => transport({ ...opts, retryCount: 0 }),\n type: 'walletClient',\n }),\n account: account ? (0, parseAccount_js_1.parseAccount)(account) : undefined,\n };\n return {\n ...client,\n ...(0, wallet_js_1.walletActions)(client),\n };\n}\nexports.createWalletClient = createWalletClient;\n//# sourceMappingURL=createWalletClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2NyZWF0ZVdhbGxldENsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQkFBMEI7QUFDMUIsMEJBQTBCLG1CQUFPLENBQUMsc0dBQW1DO0FBQ3JFLDBCQUEwQixtQkFBTyxDQUFDLCtFQUFtQjtBQUNyRCxvQkFBb0IsbUJBQU8sQ0FBQyx5RkFBd0I7QUFDcEQsOEJBQThCLHFGQUFxRjtBQUNuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsd0JBQXdCO0FBQ3JFO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2NsaWVudHMvY3JlYXRlV2FsbGV0Q2xpZW50LmpzPzA1MTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZVdhbGxldENsaWVudCA9IHZvaWQgMDtcbmNvbnN0IHBhcnNlQWNjb3VudF9qc18xID0gcmVxdWlyZShcIi4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qc1wiKTtcbmNvbnN0IGNyZWF0ZUNsaWVudF9qc18xID0gcmVxdWlyZShcIi4vY3JlYXRlQ2xpZW50LmpzXCIpO1xuY29uc3Qgd2FsbGV0X2pzXzEgPSByZXF1aXJlKFwiLi9kZWNvcmF0b3JzL3dhbGxldC5qc1wiKTtcbmZ1bmN0aW9uIGNyZWF0ZVdhbGxldENsaWVudCh7IGFjY291bnQsIGNoYWluLCB0cmFuc3BvcnQsIGtleSA9ICd3YWxsZXQnLCBuYW1lID0gJ1dhbGxldCBDbGllbnQnLCBwb2xsaW5nSW50ZXJ2YWwsIH0pIHtcbiAgICBjb25zdCBjbGllbnQgPSB7XG4gICAgICAgIC4uLigwLCBjcmVhdGVDbGllbnRfanNfMS5jcmVhdGVDbGllbnQpKHtcbiAgICAgICAgICAgIGNoYWluLFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgICAgIHRyYW5zcG9ydDogKG9wdHMpID0+IHRyYW5zcG9ydCh7IC4uLm9wdHMsIHJldHJ5Q291bnQ6IDAgfSksXG4gICAgICAgICAgICB0eXBlOiAnd2FsbGV0Q2xpZW50JyxcbiAgICAgICAgfSksXG4gICAgICAgIGFjY291bnQ6IGFjY291bnQgPyAoMCwgcGFyc2VBY2NvdW50X2pzXzEucGFyc2VBY2NvdW50KShhY2NvdW50KSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNsaWVudCxcbiAgICAgICAgLi4uKDAsIHdhbGxldF9qc18xLndhbGxldEFjdGlvbnMpKGNsaWVudCksXG4gICAgfTtcbn1cbmV4cG9ydHMuY3JlYXRlV2FsbGV0Q2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlV2FsbGV0Q2xpZW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/createWalletClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/decorators/public.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/decorators/public.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.publicActions = void 0;\nconst getEnsAddress_js_1 = __webpack_require__(/*! ../../actions/ens/getEnsAddress.js */ \"./node_modules/viem/dist/cjs/actions/ens/getEnsAddress.js\");\nconst getEnsAvatar_js_1 = __webpack_require__(/*! ../../actions/ens/getEnsAvatar.js */ \"./node_modules/viem/dist/cjs/actions/ens/getEnsAvatar.js\");\nconst getEnsName_js_1 = __webpack_require__(/*! ../../actions/ens/getEnsName.js */ \"./node_modules/viem/dist/cjs/actions/ens/getEnsName.js\");\nconst getEnsResolver_js_1 = __webpack_require__(/*! ../../actions/ens/getEnsResolver.js */ \"./node_modules/viem/dist/cjs/actions/ens/getEnsResolver.js\");\nconst getEnsText_js_1 = __webpack_require__(/*! ../../actions/ens/getEnsText.js */ \"./node_modules/viem/dist/cjs/actions/ens/getEnsText.js\");\nconst call_js_1 = __webpack_require__(/*! ../../actions/public/call.js */ \"./node_modules/viem/dist/cjs/actions/public/call.js\");\nconst createBlockFilter_js_1 = __webpack_require__(/*! ../../actions/public/createBlockFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createBlockFilter.js\");\nconst createContractEventFilter_js_1 = __webpack_require__(/*! ../../actions/public/createContractEventFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createContractEventFilter.js\");\nconst createEventFilter_js_1 = __webpack_require__(/*! ../../actions/public/createEventFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createEventFilter.js\");\nconst createPendingTransactionFilter_js_1 = __webpack_require__(/*! ../../actions/public/createPendingTransactionFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/createPendingTransactionFilter.js\");\nconst estimateContractGas_js_1 = __webpack_require__(/*! ../../actions/public/estimateContractGas.js */ \"./node_modules/viem/dist/cjs/actions/public/estimateContractGas.js\");\nconst estimateGas_js_1 = __webpack_require__(/*! ../../actions/public/estimateGas.js */ \"./node_modules/viem/dist/cjs/actions/public/estimateGas.js\");\nconst getBalance_js_1 = __webpack_require__(/*! ../../actions/public/getBalance.js */ \"./node_modules/viem/dist/cjs/actions/public/getBalance.js\");\nconst getBlock_js_1 = __webpack_require__(/*! ../../actions/public/getBlock.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlock.js\");\nconst getBlockNumber_js_1 = __webpack_require__(/*! ../../actions/public/getBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlockNumber.js\");\nconst getBlockTransactionCount_js_1 = __webpack_require__(/*! ../../actions/public/getBlockTransactionCount.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlockTransactionCount.js\");\nconst getBytecode_js_1 = __webpack_require__(/*! ../../actions/public/getBytecode.js */ \"./node_modules/viem/dist/cjs/actions/public/getBytecode.js\");\nconst getChainId_js_1 = __webpack_require__(/*! ../../actions/public/getChainId.js */ \"./node_modules/viem/dist/cjs/actions/public/getChainId.js\");\nconst getFeeHistory_js_1 = __webpack_require__(/*! ../../actions/public/getFeeHistory.js */ \"./node_modules/viem/dist/cjs/actions/public/getFeeHistory.js\");\nconst getFilterChanges_js_1 = __webpack_require__(/*! ../../actions/public/getFilterChanges.js */ \"./node_modules/viem/dist/cjs/actions/public/getFilterChanges.js\");\nconst getFilterLogs_js_1 = __webpack_require__(/*! ../../actions/public/getFilterLogs.js */ \"./node_modules/viem/dist/cjs/actions/public/getFilterLogs.js\");\nconst getGasPrice_js_1 = __webpack_require__(/*! ../../actions/public/getGasPrice.js */ \"./node_modules/viem/dist/cjs/actions/public/getGasPrice.js\");\nconst getLogs_js_1 = __webpack_require__(/*! ../../actions/public/getLogs.js */ \"./node_modules/viem/dist/cjs/actions/public/getLogs.js\");\nconst getStorageAt_js_1 = __webpack_require__(/*! ../../actions/public/getStorageAt.js */ \"./node_modules/viem/dist/cjs/actions/public/getStorageAt.js\");\nconst getTransaction_js_1 = __webpack_require__(/*! ../../actions/public/getTransaction.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransaction.js\");\nconst getTransactionConfirmations_js_1 = __webpack_require__(/*! ../../actions/public/getTransactionConfirmations.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransactionConfirmations.js\");\nconst getTransactionCount_js_1 = __webpack_require__(/*! ../../actions/public/getTransactionCount.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransactionCount.js\");\nconst getTransactionReceipt_js_1 = __webpack_require__(/*! ../../actions/public/getTransactionReceipt.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransactionReceipt.js\");\nconst multicall_js_1 = __webpack_require__(/*! ../../actions/public/multicall.js */ \"./node_modules/viem/dist/cjs/actions/public/multicall.js\");\nconst readContract_js_1 = __webpack_require__(/*! ../../actions/public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nconst simulateContract_js_1 = __webpack_require__(/*! ../../actions/public/simulateContract.js */ \"./node_modules/viem/dist/cjs/actions/public/simulateContract.js\");\nconst uninstallFilter_js_1 = __webpack_require__(/*! ../../actions/public/uninstallFilter.js */ \"./node_modules/viem/dist/cjs/actions/public/uninstallFilter.js\");\nconst verifyMessage_js_1 = __webpack_require__(/*! ../../actions/public/verifyMessage.js */ \"./node_modules/viem/dist/cjs/actions/public/verifyMessage.js\");\nconst verifyTypedData_js_1 = __webpack_require__(/*! ../../actions/public/verifyTypedData.js */ \"./node_modules/viem/dist/cjs/actions/public/verifyTypedData.js\");\nconst waitForTransactionReceipt_js_1 = __webpack_require__(/*! ../../actions/public/waitForTransactionReceipt.js */ \"./node_modules/viem/dist/cjs/actions/public/waitForTransactionReceipt.js\");\nconst watchBlockNumber_js_1 = __webpack_require__(/*! ../../actions/public/watchBlockNumber.js */ \"./node_modules/viem/dist/cjs/actions/public/watchBlockNumber.js\");\nconst watchBlocks_js_1 = __webpack_require__(/*! ../../actions/public/watchBlocks.js */ \"./node_modules/viem/dist/cjs/actions/public/watchBlocks.js\");\nconst watchContractEvent_js_1 = __webpack_require__(/*! ../../actions/public/watchContractEvent.js */ \"./node_modules/viem/dist/cjs/actions/public/watchContractEvent.js\");\nconst watchEvent_js_1 = __webpack_require__(/*! ../../actions/public/watchEvent.js */ \"./node_modules/viem/dist/cjs/actions/public/watchEvent.js\");\nconst watchPendingTransactions_js_1 = __webpack_require__(/*! ../../actions/public/watchPendingTransactions.js */ \"./node_modules/viem/dist/cjs/actions/public/watchPendingTransactions.js\");\nconst publicActions = (client) => ({\n call: (args) => (0, call_js_1.call)(client, args),\n createBlockFilter: () => (0, createBlockFilter_js_1.createBlockFilter)(client),\n createContractEventFilter: (args) => (0, createContractEventFilter_js_1.createContractEventFilter)(client, args),\n createEventFilter: (args) => (0, createEventFilter_js_1.createEventFilter)(client, args),\n createPendingTransactionFilter: () => (0, createPendingTransactionFilter_js_1.createPendingTransactionFilter)(client),\n estimateContractGas: (args) => (0, estimateContractGas_js_1.estimateContractGas)(client, args),\n estimateGas: (args) => (0, estimateGas_js_1.estimateGas)(client, args),\n getBalance: (args) => (0, getBalance_js_1.getBalance)(client, args),\n getBlock: (args) => (0, getBlock_js_1.getBlock)(client, args),\n getBlockNumber: (args) => (0, getBlockNumber_js_1.getBlockNumber)(client, args),\n getBlockTransactionCount: (args) => (0, getBlockTransactionCount_js_1.getBlockTransactionCount)(client, args),\n getBytecode: (args) => (0, getBytecode_js_1.getBytecode)(client, args),\n getChainId: () => (0, getChainId_js_1.getChainId)(client),\n getEnsAddress: (args) => (0, getEnsAddress_js_1.getEnsAddress)(client, args),\n getEnsAvatar: (args) => (0, getEnsAvatar_js_1.getEnsAvatar)(client, args),\n getEnsName: (args) => (0, getEnsName_js_1.getEnsName)(client, args),\n getEnsResolver: (args) => (0, getEnsResolver_js_1.getEnsResolver)(client, args),\n getEnsText: (args) => (0, getEnsText_js_1.getEnsText)(client, args),\n getFeeHistory: (args) => (0, getFeeHistory_js_1.getFeeHistory)(client, args),\n getFilterChanges: (args) => (0, getFilterChanges_js_1.getFilterChanges)(client, args),\n getFilterLogs: (args) => (0, getFilterLogs_js_1.getFilterLogs)(client, args),\n getGasPrice: () => (0, getGasPrice_js_1.getGasPrice)(client),\n getLogs: (args) => (0, getLogs_js_1.getLogs)(client, args),\n getStorageAt: (args) => (0, getStorageAt_js_1.getStorageAt)(client, args),\n getTransaction: (args) => (0, getTransaction_js_1.getTransaction)(client, args),\n getTransactionConfirmations: (args) => (0, getTransactionConfirmations_js_1.getTransactionConfirmations)(client, args),\n getTransactionCount: (args) => (0, getTransactionCount_js_1.getTransactionCount)(client, args),\n getTransactionReceipt: (args) => (0, getTransactionReceipt_js_1.getTransactionReceipt)(client, args),\n multicall: (args) => (0, multicall_js_1.multicall)(client, args),\n readContract: (args) => (0, readContract_js_1.readContract)(client, args),\n simulateContract: (args) => (0, simulateContract_js_1.simulateContract)(client, args),\n verifyMessage: (args) => (0, verifyMessage_js_1.verifyMessage)(client, args),\n verifyTypedData: (args) => (0, verifyTypedData_js_1.verifyTypedData)(client, args),\n uninstallFilter: (args) => (0, uninstallFilter_js_1.uninstallFilter)(client, args),\n waitForTransactionReceipt: (args) => (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, args),\n watchBlocks: (args) => (0, watchBlocks_js_1.watchBlocks)(client, args),\n watchBlockNumber: (args) => (0, watchBlockNumber_js_1.watchBlockNumber)(client, args),\n watchContractEvent: (args) => (0, watchContractEvent_js_1.watchContractEvent)(client, args),\n watchEvent: (args) => (0, watchEvent_js_1.watchEvent)(client, args),\n watchPendingTransactions: (args) => (0, watchPendingTransactions_js_1.watchPendingTransactions)(client, args),\n});\nexports.publicActions = publicActions;\n//# sourceMappingURL=public.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2RlY29yYXRvcnMvcHVibGljLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQiwyQkFBMkIsbUJBQU8sQ0FBQyxxR0FBb0M7QUFDdkUsMEJBQTBCLG1CQUFPLENBQUMsbUdBQW1DO0FBQ3JFLHdCQUF3QixtQkFBTyxDQUFDLCtGQUFpQztBQUNqRSw0QkFBNEIsbUJBQU8sQ0FBQyx1R0FBcUM7QUFDekUsd0JBQXdCLG1CQUFPLENBQUMsK0ZBQWlDO0FBQ2pFLGtCQUFrQixtQkFBTyxDQUFDLHlGQUE4QjtBQUN4RCwrQkFBK0IsbUJBQU8sQ0FBQyxtSEFBMkM7QUFDbEYsdUNBQXVDLG1CQUFPLENBQUMsbUlBQW1EO0FBQ2xHLCtCQUErQixtQkFBTyxDQUFDLG1IQUEyQztBQUNsRiw0Q0FBNEMsbUJBQU8sQ0FBQyw2SUFBd0Q7QUFDNUcsaUNBQWlDLG1CQUFPLENBQUMsdUhBQTZDO0FBQ3RGLHlCQUF5QixtQkFBTyxDQUFDLHVHQUFxQztBQUN0RSx3QkFBd0IsbUJBQU8sQ0FBQyxxR0FBb0M7QUFDcEUsc0JBQXNCLG1CQUFPLENBQUMsaUdBQWtDO0FBQ2hFLDRCQUE0QixtQkFBTyxDQUFDLDZHQUF3QztBQUM1RSxzQ0FBc0MsbUJBQU8sQ0FBQyxpSUFBa0Q7QUFDaEcseUJBQXlCLG1CQUFPLENBQUMsdUdBQXFDO0FBQ3RFLHdCQUF3QixtQkFBTyxDQUFDLHFHQUFvQztBQUNwRSwyQkFBMkIsbUJBQU8sQ0FBQywyR0FBdUM7QUFDMUUsOEJBQThCLG1CQUFPLENBQUMsaUhBQTBDO0FBQ2hGLDJCQUEyQixtQkFBTyxDQUFDLDJHQUF1QztBQUMxRSx5QkFBeUIsbUJBQU8sQ0FBQyx1R0FBcUM7QUFDdEUscUJBQXFCLG1CQUFPLENBQUMsK0ZBQWlDO0FBQzlELDBCQUEwQixtQkFBTyxDQUFDLHlHQUFzQztBQUN4RSw0QkFBNEIsbUJBQU8sQ0FBQyw2R0FBd0M7QUFDNUUseUNBQXlDLG1CQUFPLENBQUMsdUlBQXFEO0FBQ3RHLGlDQUFpQyxtQkFBTyxDQUFDLHVIQUE2QztBQUN0RixtQ0FBbUMsbUJBQU8sQ0FBQywySEFBK0M7QUFDMUYsdUJBQXVCLG1CQUFPLENBQUMsbUdBQW1DO0FBQ2xFLDBCQUEwQixtQkFBTyxDQUFDLHlHQUFzQztBQUN4RSw4QkFBOEIsbUJBQU8sQ0FBQyxpSEFBMEM7QUFDaEYsNkJBQTZCLG1CQUFPLENBQUMsK0dBQXlDO0FBQzlFLDJCQUEyQixtQkFBTyxDQUFDLDJHQUF1QztBQUMxRSw2QkFBNkIsbUJBQU8sQ0FBQywrR0FBeUM7QUFDOUUsdUNBQXVDLG1CQUFPLENBQUMsbUlBQW1EO0FBQ2xHLDhCQUE4QixtQkFBTyxDQUFDLGlIQUEwQztBQUNoRix5QkFBeUIsbUJBQU8sQ0FBQyx1R0FBcUM7QUFDdEUsZ0NBQWdDLG1CQUFPLENBQUMscUhBQTRDO0FBQ3BGLHdCQUF3QixtQkFBTyxDQUFDLHFHQUFvQztBQUNwRSxzQ0FBc0MsbUJBQU8sQ0FBQyxpSUFBa0Q7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxxQkFBcUI7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy9kZWNvcmF0b3JzL3B1YmxpYy5qcz84ODkwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wdWJsaWNBY3Rpb25zID0gdm9pZCAwO1xuY29uc3QgZ2V0RW5zQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvZW5zL2dldEVuc0FkZHJlc3MuanNcIik7XG5jb25zdCBnZXRFbnNBdmF0YXJfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL2Vucy9nZXRFbnNBdmF0YXIuanNcIik7XG5jb25zdCBnZXRFbnNOYW1lX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9lbnMvZ2V0RW5zTmFtZS5qc1wiKTtcbmNvbnN0IGdldEVuc1Jlc29sdmVyX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9lbnMvZ2V0RW5zUmVzb2x2ZXIuanNcIik7XG5jb25zdCBnZXRFbnNUZXh0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9lbnMvZ2V0RW5zVGV4dC5qc1wiKTtcbmNvbnN0IGNhbGxfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9jYWxsLmpzXCIpO1xuY29uc3QgY3JlYXRlQmxvY2tGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9jcmVhdGVCbG9ja0ZpbHRlci5qc1wiKTtcbmNvbnN0IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzXCIpO1xuY29uc3QgY3JlYXRlRXZlbnRGaWx0ZXJfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9jcmVhdGVFdmVudEZpbHRlci5qc1wiKTtcbmNvbnN0IGNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2NyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlci5qc1wiKTtcbmNvbnN0IGVzdGltYXRlQ29udHJhY3RHYXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzXCIpO1xuY29uc3QgZXN0aW1hdGVHYXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUdhcy5qc1wiKTtcbmNvbnN0IGdldEJhbGFuY2VfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRCYWxhbmNlLmpzXCIpO1xuY29uc3QgZ2V0QmxvY2tfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRCbG9jay5qc1wiKTtcbmNvbnN0IGdldEJsb2NrTnVtYmVyX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0QmxvY2tOdW1iZXIuanNcIik7XG5jb25zdCBnZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQuanNcIik7XG5jb25zdCBnZXRCeXRlY29kZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldEJ5dGVjb2RlLmpzXCIpO1xuY29uc3QgZ2V0Q2hhaW5JZF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldENoYWluSWQuanNcIik7XG5jb25zdCBnZXRGZWVIaXN0b3J5X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0RmVlSGlzdG9yeS5qc1wiKTtcbmNvbnN0IGdldEZpbHRlckNoYW5nZXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmpzXCIpO1xuY29uc3QgZ2V0RmlsdGVyTG9nc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldEZpbHRlckxvZ3MuanNcIik7XG5jb25zdCBnZXRHYXNQcmljZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldEdhc1ByaWNlLmpzXCIpO1xuY29uc3QgZ2V0TG9nc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldExvZ3MuanNcIik7XG5jb25zdCBnZXRTdG9yYWdlQXRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRTdG9yYWdlQXQuanNcIik7XG5jb25zdCBnZXRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uLmpzXCIpO1xuY29uc3QgZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zLmpzXCIpO1xuY29uc3QgZ2V0VHJhbnNhY3Rpb25Db3VudF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uQ291bnQuanNcIik7XG5jb25zdCBnZXRUcmFuc2FjdGlvblJlY2VpcHRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvblJlY2VpcHQuanNcIik7XG5jb25zdCBtdWx0aWNhbGxfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9tdWx0aWNhbGwuanNcIik7XG5jb25zdCByZWFkQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9yZWFkQ29udHJhY3QuanNcIik7XG5jb25zdCBzaW11bGF0ZUNvbnRyYWN0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvc2ltdWxhdGVDb250cmFjdC5qc1wiKTtcbmNvbnN0IHVuaW5zdGFsbEZpbHRlcl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL3VuaW5zdGFsbEZpbHRlci5qc1wiKTtcbmNvbnN0IHZlcmlmeU1lc3NhZ2VfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy92ZXJpZnlNZXNzYWdlLmpzXCIpO1xuY29uc3QgdmVyaWZ5VHlwZWREYXRhX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvdmVyaWZ5VHlwZWREYXRhLmpzXCIpO1xuY29uc3Qgd2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL3dhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQuanNcIik7XG5jb25zdCB3YXRjaEJsb2NrTnVtYmVyX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvd2F0Y2hCbG9ja051bWJlci5qc1wiKTtcbmNvbnN0IHdhdGNoQmxvY2tzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvd2F0Y2hCbG9ja3MuanNcIik7XG5jb25zdCB3YXRjaENvbnRyYWN0RXZlbnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy93YXRjaENvbnRyYWN0RXZlbnQuanNcIik7XG5jb25zdCB3YXRjaEV2ZW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvd2F0Y2hFdmVudC5qc1wiKTtcbmNvbnN0IHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9uc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL3dhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucy5qc1wiKTtcbmNvbnN0IHB1YmxpY0FjdGlvbnMgPSAoY2xpZW50KSA9PiAoe1xuICAgIGNhbGw6IChhcmdzKSA9PiAoMCwgY2FsbF9qc18xLmNhbGwpKGNsaWVudCwgYXJncyksXG4gICAgY3JlYXRlQmxvY2tGaWx0ZXI6ICgpID0+ICgwLCBjcmVhdGVCbG9ja0ZpbHRlcl9qc18xLmNyZWF0ZUJsb2NrRmlsdGVyKShjbGllbnQpLFxuICAgIGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXI6IChhcmdzKSA9PiAoMCwgY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlcl9qc18xLmNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIpKGNsaWVudCwgYXJncyksXG4gICAgY3JlYXRlRXZlbnRGaWx0ZXI6IChhcmdzKSA9PiAoMCwgY3JlYXRlRXZlbnRGaWx0ZXJfanNfMS5jcmVhdGVFdmVudEZpbHRlcikoY2xpZW50LCBhcmdzKSxcbiAgICBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI6ICgpID0+ICgwLCBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXJfanNfMS5jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIpKGNsaWVudCksXG4gICAgZXN0aW1hdGVDb250cmFjdEdhczogKGFyZ3MpID0+ICgwLCBlc3RpbWF0ZUNvbnRyYWN0R2FzX2pzXzEuZXN0aW1hdGVDb250cmFjdEdhcykoY2xpZW50LCBhcmdzKSxcbiAgICBlc3RpbWF0ZUdhczogKGFyZ3MpID0+ICgwLCBlc3RpbWF0ZUdhc19qc18xLmVzdGltYXRlR2FzKShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEJhbGFuY2U6IChhcmdzKSA9PiAoMCwgZ2V0QmFsYW5jZV9qc18xLmdldEJhbGFuY2UpKGNsaWVudCwgYXJncyksXG4gICAgZ2V0QmxvY2s6IChhcmdzKSA9PiAoMCwgZ2V0QmxvY2tfanNfMS5nZXRCbG9jaykoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRCbG9ja051bWJlcjogKGFyZ3MpID0+ICgwLCBnZXRCbG9ja051bWJlcl9qc18xLmdldEJsb2NrTnVtYmVyKShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEJsb2NrVHJhbnNhY3Rpb25Db3VudDogKGFyZ3MpID0+ICgwLCBnZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRfanNfMS5nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQpKGNsaWVudCwgYXJncyksXG4gICAgZ2V0Qnl0ZWNvZGU6IChhcmdzKSA9PiAoMCwgZ2V0Qnl0ZWNvZGVfanNfMS5nZXRCeXRlY29kZSkoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRDaGFpbklkOiAoKSA9PiAoMCwgZ2V0Q2hhaW5JZF9qc18xLmdldENoYWluSWQpKGNsaWVudCksXG4gICAgZ2V0RW5zQWRkcmVzczogKGFyZ3MpID0+ICgwLCBnZXRFbnNBZGRyZXNzX2pzXzEuZ2V0RW5zQWRkcmVzcykoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRFbnNBdmF0YXI6IChhcmdzKSA9PiAoMCwgZ2V0RW5zQXZhdGFyX2pzXzEuZ2V0RW5zQXZhdGFyKShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEVuc05hbWU6IChhcmdzKSA9PiAoMCwgZ2V0RW5zTmFtZV9qc18xLmdldEVuc05hbWUpKGNsaWVudCwgYXJncyksXG4gICAgZ2V0RW5zUmVzb2x2ZXI6IChhcmdzKSA9PiAoMCwgZ2V0RW5zUmVzb2x2ZXJfanNfMS5nZXRFbnNSZXNvbHZlcikoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRFbnNUZXh0OiAoYXJncykgPT4gKDAsIGdldEVuc1RleHRfanNfMS5nZXRFbnNUZXh0KShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEZlZUhpc3Rvcnk6IChhcmdzKSA9PiAoMCwgZ2V0RmVlSGlzdG9yeV9qc18xLmdldEZlZUhpc3RvcnkpKGNsaWVudCwgYXJncyksXG4gICAgZ2V0RmlsdGVyQ2hhbmdlczogKGFyZ3MpID0+ICgwLCBnZXRGaWx0ZXJDaGFuZ2VzX2pzXzEuZ2V0RmlsdGVyQ2hhbmdlcykoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRGaWx0ZXJMb2dzOiAoYXJncykgPT4gKDAsIGdldEZpbHRlckxvZ3NfanNfMS5nZXRGaWx0ZXJMb2dzKShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEdhc1ByaWNlOiAoKSA9PiAoMCwgZ2V0R2FzUHJpY2VfanNfMS5nZXRHYXNQcmljZSkoY2xpZW50KSxcbiAgICBnZXRMb2dzOiAoYXJncykgPT4gKDAsIGdldExvZ3NfanNfMS5nZXRMb2dzKShjbGllbnQsIGFyZ3MpLFxuICAgIGdldFN0b3JhZ2VBdDogKGFyZ3MpID0+ICgwLCBnZXRTdG9yYWdlQXRfanNfMS5nZXRTdG9yYWdlQXQpKGNsaWVudCwgYXJncyksXG4gICAgZ2V0VHJhbnNhY3Rpb246IChhcmdzKSA9PiAoMCwgZ2V0VHJhbnNhY3Rpb25fanNfMS5nZXRUcmFuc2FjdGlvbikoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnM6IChhcmdzKSA9PiAoMCwgZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zX2pzXzEuZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zKShjbGllbnQsIGFyZ3MpLFxuICAgIGdldFRyYW5zYWN0aW9uQ291bnQ6IChhcmdzKSA9PiAoMCwgZ2V0VHJhbnNhY3Rpb25Db3VudF9qc18xLmdldFRyYW5zYWN0aW9uQ291bnQpKGNsaWVudCwgYXJncyksXG4gICAgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0OiAoYXJncykgPT4gKDAsIGdldFRyYW5zYWN0aW9uUmVjZWlwdF9qc18xLmdldFRyYW5zYWN0aW9uUmVjZWlwdCkoY2xpZW50LCBhcmdzKSxcbiAgICBtdWx0aWNhbGw6IChhcmdzKSA9PiAoMCwgbXVsdGljYWxsX2pzXzEubXVsdGljYWxsKShjbGllbnQsIGFyZ3MpLFxuICAgIHJlYWRDb250cmFjdDogKGFyZ3MpID0+ICgwLCByZWFkQ29udHJhY3RfanNfMS5yZWFkQ29udHJhY3QpKGNsaWVudCwgYXJncyksXG4gICAgc2ltdWxhdGVDb250cmFjdDogKGFyZ3MpID0+ICgwLCBzaW11bGF0ZUNvbnRyYWN0X2pzXzEuc2ltdWxhdGVDb250cmFjdCkoY2xpZW50LCBhcmdzKSxcbiAgICB2ZXJpZnlNZXNzYWdlOiAoYXJncykgPT4gKDAsIHZlcmlmeU1lc3NhZ2VfanNfMS52ZXJpZnlNZXNzYWdlKShjbGllbnQsIGFyZ3MpLFxuICAgIHZlcmlmeVR5cGVkRGF0YTogKGFyZ3MpID0+ICgwLCB2ZXJpZnlUeXBlZERhdGFfanNfMS52ZXJpZnlUeXBlZERhdGEpKGNsaWVudCwgYXJncyksXG4gICAgdW5pbnN0YWxsRmlsdGVyOiAoYXJncykgPT4gKDAsIHVuaW5zdGFsbEZpbHRlcl9qc18xLnVuaW5zdGFsbEZpbHRlcikoY2xpZW50LCBhcmdzKSxcbiAgICB3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0OiAoYXJncykgPT4gKDAsIHdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRfanNfMS53YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0KShjbGllbnQsIGFyZ3MpLFxuICAgIHdhdGNoQmxvY2tzOiAoYXJncykgPT4gKDAsIHdhdGNoQmxvY2tzX2pzXzEud2F0Y2hCbG9ja3MpKGNsaWVudCwgYXJncyksXG4gICAgd2F0Y2hCbG9ja051bWJlcjogKGFyZ3MpID0+ICgwLCB3YXRjaEJsb2NrTnVtYmVyX2pzXzEud2F0Y2hCbG9ja051bWJlcikoY2xpZW50LCBhcmdzKSxcbiAgICB3YXRjaENvbnRyYWN0RXZlbnQ6IChhcmdzKSA9PiAoMCwgd2F0Y2hDb250cmFjdEV2ZW50X2pzXzEud2F0Y2hDb250cmFjdEV2ZW50KShjbGllbnQsIGFyZ3MpLFxuICAgIHdhdGNoRXZlbnQ6IChhcmdzKSA9PiAoMCwgd2F0Y2hFdmVudF9qc18xLndhdGNoRXZlbnQpKGNsaWVudCwgYXJncyksXG4gICAgd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zOiAoYXJncykgPT4gKDAsIHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9uc19qc18xLndhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucykoY2xpZW50LCBhcmdzKSxcbn0pO1xuZXhwb3J0cy5wdWJsaWNBY3Rpb25zID0gcHVibGljQWN0aW9ucztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXB1YmxpYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/decorators/public.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/decorators/test.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/decorators/test.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.testActions = void 0;\nconst dropTransaction_js_1 = __webpack_require__(/*! ../../actions/test/dropTransaction.js */ \"./node_modules/viem/dist/cjs/actions/test/dropTransaction.js\");\nconst getAutomine_js_1 = __webpack_require__(/*! ../../actions/test/getAutomine.js */ \"./node_modules/viem/dist/cjs/actions/test/getAutomine.js\");\nconst getTxpoolContent_js_1 = __webpack_require__(/*! ../../actions/test/getTxpoolContent.js */ \"./node_modules/viem/dist/cjs/actions/test/getTxpoolContent.js\");\nconst getTxpoolStatus_js_1 = __webpack_require__(/*! ../../actions/test/getTxpoolStatus.js */ \"./node_modules/viem/dist/cjs/actions/test/getTxpoolStatus.js\");\nconst impersonateAccount_js_1 = __webpack_require__(/*! ../../actions/test/impersonateAccount.js */ \"./node_modules/viem/dist/cjs/actions/test/impersonateAccount.js\");\nconst increaseTime_js_1 = __webpack_require__(/*! ../../actions/test/increaseTime.js */ \"./node_modules/viem/dist/cjs/actions/test/increaseTime.js\");\nconst inspectTxpool_js_1 = __webpack_require__(/*! ../../actions/test/inspectTxpool.js */ \"./node_modules/viem/dist/cjs/actions/test/inspectTxpool.js\");\nconst mine_js_1 = __webpack_require__(/*! ../../actions/test/mine.js */ \"./node_modules/viem/dist/cjs/actions/test/mine.js\");\nconst removeBlockTimestampInterval_js_1 = __webpack_require__(/*! ../../actions/test/removeBlockTimestampInterval.js */ \"./node_modules/viem/dist/cjs/actions/test/removeBlockTimestampInterval.js\");\nconst reset_js_1 = __webpack_require__(/*! ../../actions/test/reset.js */ \"./node_modules/viem/dist/cjs/actions/test/reset.js\");\nconst revert_js_1 = __webpack_require__(/*! ../../actions/test/revert.js */ \"./node_modules/viem/dist/cjs/actions/test/revert.js\");\nconst sendUnsignedTransaction_js_1 = __webpack_require__(/*! ../../actions/test/sendUnsignedTransaction.js */ \"./node_modules/viem/dist/cjs/actions/test/sendUnsignedTransaction.js\");\nconst setAutomine_js_1 = __webpack_require__(/*! ../../actions/test/setAutomine.js */ \"./node_modules/viem/dist/cjs/actions/test/setAutomine.js\");\nconst setBalance_js_1 = __webpack_require__(/*! ../../actions/test/setBalance.js */ \"./node_modules/viem/dist/cjs/actions/test/setBalance.js\");\nconst setBlockGasLimit_js_1 = __webpack_require__(/*! ../../actions/test/setBlockGasLimit.js */ \"./node_modules/viem/dist/cjs/actions/test/setBlockGasLimit.js\");\nconst setBlockTimestampInterval_js_1 = __webpack_require__(/*! ../../actions/test/setBlockTimestampInterval.js */ \"./node_modules/viem/dist/cjs/actions/test/setBlockTimestampInterval.js\");\nconst setCode_js_1 = __webpack_require__(/*! ../../actions/test/setCode.js */ \"./node_modules/viem/dist/cjs/actions/test/setCode.js\");\nconst setCoinbase_js_1 = __webpack_require__(/*! ../../actions/test/setCoinbase.js */ \"./node_modules/viem/dist/cjs/actions/test/setCoinbase.js\");\nconst setIntervalMining_js_1 = __webpack_require__(/*! ../../actions/test/setIntervalMining.js */ \"./node_modules/viem/dist/cjs/actions/test/setIntervalMining.js\");\nconst setLoggingEnabled_js_1 = __webpack_require__(/*! ../../actions/test/setLoggingEnabled.js */ \"./node_modules/viem/dist/cjs/actions/test/setLoggingEnabled.js\");\nconst setMinGasPrice_js_1 = __webpack_require__(/*! ../../actions/test/setMinGasPrice.js */ \"./node_modules/viem/dist/cjs/actions/test/setMinGasPrice.js\");\nconst setNextBlockBaseFeePerGas_js_1 = __webpack_require__(/*! ../../actions/test/setNextBlockBaseFeePerGas.js */ \"./node_modules/viem/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js\");\nconst setNextBlockTimestamp_js_1 = __webpack_require__(/*! ../../actions/test/setNextBlockTimestamp.js */ \"./node_modules/viem/dist/cjs/actions/test/setNextBlockTimestamp.js\");\nconst setNonce_js_1 = __webpack_require__(/*! ../../actions/test/setNonce.js */ \"./node_modules/viem/dist/cjs/actions/test/setNonce.js\");\nconst setRpcUrl_js_1 = __webpack_require__(/*! ../../actions/test/setRpcUrl.js */ \"./node_modules/viem/dist/cjs/actions/test/setRpcUrl.js\");\nconst setStorageAt_js_1 = __webpack_require__(/*! ../../actions/test/setStorageAt.js */ \"./node_modules/viem/dist/cjs/actions/test/setStorageAt.js\");\nconst snapshot_js_1 = __webpack_require__(/*! ../../actions/test/snapshot.js */ \"./node_modules/viem/dist/cjs/actions/test/snapshot.js\");\nconst stopImpersonatingAccount_js_1 = __webpack_require__(/*! ../../actions/test/stopImpersonatingAccount.js */ \"./node_modules/viem/dist/cjs/actions/test/stopImpersonatingAccount.js\");\nfunction testActions(client) {\n return {\n dropTransaction: (args) => (0, dropTransaction_js_1.dropTransaction)(client, args),\n getAutomine: () => (0, getAutomine_js_1.getAutomine)(client),\n getTxpoolContent: () => (0, getTxpoolContent_js_1.getTxpoolContent)(client),\n getTxpoolStatus: () => (0, getTxpoolStatus_js_1.getTxpoolStatus)(client),\n impersonateAccount: (args) => (0, impersonateAccount_js_1.impersonateAccount)(client, args),\n increaseTime: (args) => (0, increaseTime_js_1.increaseTime)(client, args),\n inspectTxpool: () => (0, inspectTxpool_js_1.inspectTxpool)(client),\n mine: (args) => (0, mine_js_1.mine)(client, args),\n removeBlockTimestampInterval: () => (0, removeBlockTimestampInterval_js_1.removeBlockTimestampInterval)(client),\n reset: (args) => (0, reset_js_1.reset)(client, args),\n revert: (args) => (0, revert_js_1.revert)(client, args),\n sendUnsignedTransaction: (args) => (0, sendUnsignedTransaction_js_1.sendUnsignedTransaction)(client, args),\n setAutomine: (args) => (0, setAutomine_js_1.setAutomine)(client, args),\n setBalance: (args) => (0, setBalance_js_1.setBalance)(client, args),\n setBlockGasLimit: (args) => (0, setBlockGasLimit_js_1.setBlockGasLimit)(client, args),\n setBlockTimestampInterval: (args) => (0, setBlockTimestampInterval_js_1.setBlockTimestampInterval)(client, args),\n setCode: (args) => (0, setCode_js_1.setCode)(client, args),\n setCoinbase: (args) => (0, setCoinbase_js_1.setCoinbase)(client, args),\n setIntervalMining: (args) => (0, setIntervalMining_js_1.setIntervalMining)(client, args),\n setLoggingEnabled: (args) => (0, setLoggingEnabled_js_1.setLoggingEnabled)(client, args),\n setMinGasPrice: (args) => (0, setMinGasPrice_js_1.setMinGasPrice)(client, args),\n setNextBlockBaseFeePerGas: (args) => (0, setNextBlockBaseFeePerGas_js_1.setNextBlockBaseFeePerGas)(client, args),\n setNextBlockTimestamp: (args) => (0, setNextBlockTimestamp_js_1.setNextBlockTimestamp)(client, args),\n setNonce: (args) => (0, setNonce_js_1.setNonce)(client, args),\n setRpcUrl: (args) => (0, setRpcUrl_js_1.setRpcUrl)(client, args),\n setStorageAt: (args) => (0, setStorageAt_js_1.setStorageAt)(client, args),\n snapshot: () => (0, snapshot_js_1.snapshot)(client),\n stopImpersonatingAccount: (args) => (0, stopImpersonatingAccount_js_1.stopImpersonatingAccount)(client, args),\n };\n}\nexports.testActions = testActions;\n//# sourceMappingURL=test.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2RlY29yYXRvcnMvdGVzdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsNkJBQTZCLG1CQUFPLENBQUMsMkdBQXVDO0FBQzVFLHlCQUF5QixtQkFBTyxDQUFDLG1HQUFtQztBQUNwRSw4QkFBOEIsbUJBQU8sQ0FBQyw2R0FBd0M7QUFDOUUsNkJBQTZCLG1CQUFPLENBQUMsMkdBQXVDO0FBQzVFLGdDQUFnQyxtQkFBTyxDQUFDLGlIQUEwQztBQUNsRiwwQkFBMEIsbUJBQU8sQ0FBQyxxR0FBb0M7QUFDdEUsMkJBQTJCLG1CQUFPLENBQUMsdUdBQXFDO0FBQ3hFLGtCQUFrQixtQkFBTyxDQUFDLHFGQUE0QjtBQUN0RCwwQ0FBMEMsbUJBQU8sQ0FBQyxxSUFBb0Q7QUFDdEcsbUJBQW1CLG1CQUFPLENBQUMsdUZBQTZCO0FBQ3hELG9CQUFvQixtQkFBTyxDQUFDLHlGQUE4QjtBQUMxRCxxQ0FBcUMsbUJBQU8sQ0FBQywySEFBK0M7QUFDNUYseUJBQXlCLG1CQUFPLENBQUMsbUdBQW1DO0FBQ3BFLHdCQUF3QixtQkFBTyxDQUFDLGlHQUFrQztBQUNsRSw4QkFBOEIsbUJBQU8sQ0FBQyw2R0FBd0M7QUFDOUUsdUNBQXVDLG1CQUFPLENBQUMsK0hBQWlEO0FBQ2hHLHFCQUFxQixtQkFBTyxDQUFDLDJGQUErQjtBQUM1RCx5QkFBeUIsbUJBQU8sQ0FBQyxtR0FBbUM7QUFDcEUsK0JBQStCLG1CQUFPLENBQUMsK0dBQXlDO0FBQ2hGLCtCQUErQixtQkFBTyxDQUFDLCtHQUF5QztBQUNoRiw0QkFBNEIsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDMUUsdUNBQXVDLG1CQUFPLENBQUMsK0hBQWlEO0FBQ2hHLG1DQUFtQyxtQkFBTyxDQUFDLHVIQUE2QztBQUN4RixzQkFBc0IsbUJBQU8sQ0FBQyw2RkFBZ0M7QUFDOUQsdUJBQXVCLG1CQUFPLENBQUMsK0ZBQWlDO0FBQ2hFLDBCQUEwQixtQkFBTyxDQUFDLHFHQUFvQztBQUN0RSxzQkFBc0IsbUJBQU8sQ0FBQyw2RkFBZ0M7QUFDOUQsc0NBQXNDLG1CQUFPLENBQUMsNkhBQWdEO0FBQzlGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy9kZWNvcmF0b3JzL3Rlc3QuanM/MjRlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudGVzdEFjdGlvbnMgPSB2b2lkIDA7XG5jb25zdCBkcm9wVHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3QvZHJvcFRyYW5zYWN0aW9uLmpzXCIpO1xuY29uc3QgZ2V0QXV0b21pbmVfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3QvZ2V0QXV0b21pbmUuanNcIik7XG5jb25zdCBnZXRUeHBvb2xDb250ZW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L2dldFR4cG9vbENvbnRlbnQuanNcIik7XG5jb25zdCBnZXRUeHBvb2xTdGF0dXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sU3RhdHVzLmpzXCIpO1xuY29uc3QgaW1wZXJzb25hdGVBY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L2ltcGVyc29uYXRlQWNjb3VudC5qc1wiKTtcbmNvbnN0IGluY3JlYXNlVGltZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9pbmNyZWFzZVRpbWUuanNcIik7XG5jb25zdCBpbnNwZWN0VHhwb29sX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L2luc3BlY3RUeHBvb2wuanNcIik7XG5jb25zdCBtaW5lX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L21pbmUuanNcIik7XG5jb25zdCByZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3JlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWwuanNcIik7XG5jb25zdCByZXNldF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9yZXNldC5qc1wiKTtcbmNvbnN0IHJldmVydF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9yZXZlcnQuanNcIik7XG5jb25zdCBzZW5kVW5zaWduZWRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9zZW5kVW5zaWduZWRUcmFuc2FjdGlvbi5qc1wiKTtcbmNvbnN0IHNldEF1dG9taW5lX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3NldEF1dG9taW5lLmpzXCIpO1xuY29uc3Qgc2V0QmFsYW5jZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9zZXRCYWxhbmNlLmpzXCIpO1xuY29uc3Qgc2V0QmxvY2tHYXNMaW1pdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9zZXRCbG9ja0dhc0xpbWl0LmpzXCIpO1xuY29uc3Qgc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9zZXRCbG9ja1RpbWVzdGFtcEludGVydmFsLmpzXCIpO1xuY29uc3Qgc2V0Q29kZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9zZXRDb2RlLmpzXCIpO1xuY29uc3Qgc2V0Q29pbmJhc2VfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0Q29pbmJhc2UuanNcIik7XG5jb25zdCBzZXRJbnRlcnZhbE1pbmluZ19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvdGVzdC9zZXRJbnRlcnZhbE1pbmluZy5qc1wiKTtcbmNvbnN0IHNldExvZ2dpbmdFbmFibGVkX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3NldExvZ2dpbmdFbmFibGVkLmpzXCIpO1xuY29uc3Qgc2V0TWluR2FzUHJpY2VfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0TWluR2FzUHJpY2UuanNcIik7XG5jb25zdCBzZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3NldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXMuanNcIik7XG5jb25zdCBzZXROZXh0QmxvY2tUaW1lc3RhbXBfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrVGltZXN0YW1wLmpzXCIpO1xuY29uc3Qgc2V0Tm9uY2VfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0Tm9uY2UuanNcIik7XG5jb25zdCBzZXRScGNVcmxfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0UnBjVXJsLmpzXCIpO1xuY29uc3Qgc2V0U3RvcmFnZUF0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3NldFN0b3JhZ2VBdC5qc1wiKTtcbmNvbnN0IHNuYXBzaG90X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3NuYXBzaG90LmpzXCIpO1xuY29uc3Qgc3RvcEltcGVyc29uYXRpbmdBY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy90ZXN0L3N0b3BJbXBlcnNvbmF0aW5nQWNjb3VudC5qc1wiKTtcbmZ1bmN0aW9uIHRlc3RBY3Rpb25zKGNsaWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGRyb3BUcmFuc2FjdGlvbjogKGFyZ3MpID0+ICgwLCBkcm9wVHJhbnNhY3Rpb25fanNfMS5kcm9wVHJhbnNhY3Rpb24pKGNsaWVudCwgYXJncyksXG4gICAgICAgIGdldEF1dG9taW5lOiAoKSA9PiAoMCwgZ2V0QXV0b21pbmVfanNfMS5nZXRBdXRvbWluZSkoY2xpZW50KSxcbiAgICAgICAgZ2V0VHhwb29sQ29udGVudDogKCkgPT4gKDAsIGdldFR4cG9vbENvbnRlbnRfanNfMS5nZXRUeHBvb2xDb250ZW50KShjbGllbnQpLFxuICAgICAgICBnZXRUeHBvb2xTdGF0dXM6ICgpID0+ICgwLCBnZXRUeHBvb2xTdGF0dXNfanNfMS5nZXRUeHBvb2xTdGF0dXMpKGNsaWVudCksXG4gICAgICAgIGltcGVyc29uYXRlQWNjb3VudDogKGFyZ3MpID0+ICgwLCBpbXBlcnNvbmF0ZUFjY291bnRfanNfMS5pbXBlcnNvbmF0ZUFjY291bnQpKGNsaWVudCwgYXJncyksXG4gICAgICAgIGluY3JlYXNlVGltZTogKGFyZ3MpID0+ICgwLCBpbmNyZWFzZVRpbWVfanNfMS5pbmNyZWFzZVRpbWUpKGNsaWVudCwgYXJncyksXG4gICAgICAgIGluc3BlY3RUeHBvb2w6ICgpID0+ICgwLCBpbnNwZWN0VHhwb29sX2pzXzEuaW5zcGVjdFR4cG9vbCkoY2xpZW50KSxcbiAgICAgICAgbWluZTogKGFyZ3MpID0+ICgwLCBtaW5lX2pzXzEubWluZSkoY2xpZW50LCBhcmdzKSxcbiAgICAgICAgcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbDogKCkgPT4gKDAsIHJlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWxfanNfMS5yZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsKShjbGllbnQpLFxuICAgICAgICByZXNldDogKGFyZ3MpID0+ICgwLCByZXNldF9qc18xLnJlc2V0KShjbGllbnQsIGFyZ3MpLFxuICAgICAgICByZXZlcnQ6IChhcmdzKSA9PiAoMCwgcmV2ZXJ0X2pzXzEucmV2ZXJ0KShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZW5kVW5zaWduZWRUcmFuc2FjdGlvbjogKGFyZ3MpID0+ICgwLCBzZW5kVW5zaWduZWRUcmFuc2FjdGlvbl9qc18xLnNlbmRVbnNpZ25lZFRyYW5zYWN0aW9uKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRBdXRvbWluZTogKGFyZ3MpID0+ICgwLCBzZXRBdXRvbWluZV9qc18xLnNldEF1dG9taW5lKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRCYWxhbmNlOiAoYXJncykgPT4gKDAsIHNldEJhbGFuY2VfanNfMS5zZXRCYWxhbmNlKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRCbG9ja0dhc0xpbWl0OiAoYXJncykgPT4gKDAsIHNldEJsb2NrR2FzTGltaXRfanNfMS5zZXRCbG9ja0dhc0xpbWl0KShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRCbG9ja1RpbWVzdGFtcEludGVydmFsOiAoYXJncykgPT4gKDAsIHNldEJsb2NrVGltZXN0YW1wSW50ZXJ2YWxfanNfMS5zZXRCbG9ja1RpbWVzdGFtcEludGVydmFsKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRDb2RlOiAoYXJncykgPT4gKDAsIHNldENvZGVfanNfMS5zZXRDb2RlKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRDb2luYmFzZTogKGFyZ3MpID0+ICgwLCBzZXRDb2luYmFzZV9qc18xLnNldENvaW5iYXNlKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRJbnRlcnZhbE1pbmluZzogKGFyZ3MpID0+ICgwLCBzZXRJbnRlcnZhbE1pbmluZ19qc18xLnNldEludGVydmFsTWluaW5nKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRMb2dnaW5nRW5hYmxlZDogKGFyZ3MpID0+ICgwLCBzZXRMb2dnaW5nRW5hYmxlZF9qc18xLnNldExvZ2dpbmdFbmFibGVkKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRNaW5HYXNQcmljZTogKGFyZ3MpID0+ICgwLCBzZXRNaW5HYXNQcmljZV9qc18xLnNldE1pbkdhc1ByaWNlKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzOiAoYXJncykgPT4gKDAsIHNldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXNfanNfMS5zZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXROZXh0QmxvY2tUaW1lc3RhbXA6IChhcmdzKSA9PiAoMCwgc2V0TmV4dEJsb2NrVGltZXN0YW1wX2pzXzEuc2V0TmV4dEJsb2NrVGltZXN0YW1wKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXROb25jZTogKGFyZ3MpID0+ICgwLCBzZXROb25jZV9qc18xLnNldE5vbmNlKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRScGNVcmw6IChhcmdzKSA9PiAoMCwgc2V0UnBjVXJsX2pzXzEuc2V0UnBjVXJsKShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRTdG9yYWdlQXQ6IChhcmdzKSA9PiAoMCwgc2V0U3RvcmFnZUF0X2pzXzEuc2V0U3RvcmFnZUF0KShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzbmFwc2hvdDogKCkgPT4gKDAsIHNuYXBzaG90X2pzXzEuc25hcHNob3QpKGNsaWVudCksXG4gICAgICAgIHN0b3BJbXBlcnNvbmF0aW5nQWNjb3VudDogKGFyZ3MpID0+ICgwLCBzdG9wSW1wZXJzb25hdGluZ0FjY291bnRfanNfMS5zdG9wSW1wZXJzb25hdGluZ0FjY291bnQpKGNsaWVudCwgYXJncyksXG4gICAgfTtcbn1cbmV4cG9ydHMudGVzdEFjdGlvbnMgPSB0ZXN0QWN0aW9ucztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/decorators/test.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/decorators/wallet.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/decorators/wallet.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.walletActions = void 0;\nconst getChainId_js_1 = __webpack_require__(/*! ../../actions/public/getChainId.js */ \"./node_modules/viem/dist/cjs/actions/public/getChainId.js\");\nconst addChain_js_1 = __webpack_require__(/*! ../../actions/wallet/addChain.js */ \"./node_modules/viem/dist/cjs/actions/wallet/addChain.js\");\nconst deployContract_js_1 = __webpack_require__(/*! ../../actions/wallet/deployContract.js */ \"./node_modules/viem/dist/cjs/actions/wallet/deployContract.js\");\nconst getAddresses_js_1 = __webpack_require__(/*! ../../actions/wallet/getAddresses.js */ \"./node_modules/viem/dist/cjs/actions/wallet/getAddresses.js\");\nconst getPermissions_js_1 = __webpack_require__(/*! ../../actions/wallet/getPermissions.js */ \"./node_modules/viem/dist/cjs/actions/wallet/getPermissions.js\");\nconst requestAddresses_js_1 = __webpack_require__(/*! ../../actions/wallet/requestAddresses.js */ \"./node_modules/viem/dist/cjs/actions/wallet/requestAddresses.js\");\nconst requestPermissions_js_1 = __webpack_require__(/*! ../../actions/wallet/requestPermissions.js */ \"./node_modules/viem/dist/cjs/actions/wallet/requestPermissions.js\");\nconst sendTransaction_js_1 = __webpack_require__(/*! ../../actions/wallet/sendTransaction.js */ \"./node_modules/viem/dist/cjs/actions/wallet/sendTransaction.js\");\nconst signMessage_js_1 = __webpack_require__(/*! ../../actions/wallet/signMessage.js */ \"./node_modules/viem/dist/cjs/actions/wallet/signMessage.js\");\nconst signTypedData_js_1 = __webpack_require__(/*! ../../actions/wallet/signTypedData.js */ \"./node_modules/viem/dist/cjs/actions/wallet/signTypedData.js\");\nconst switchChain_js_1 = __webpack_require__(/*! ../../actions/wallet/switchChain.js */ \"./node_modules/viem/dist/cjs/actions/wallet/switchChain.js\");\nconst watchAsset_js_1 = __webpack_require__(/*! ../../actions/wallet/watchAsset.js */ \"./node_modules/viem/dist/cjs/actions/wallet/watchAsset.js\");\nconst writeContract_js_1 = __webpack_require__(/*! ../../actions/wallet/writeContract.js */ \"./node_modules/viem/dist/cjs/actions/wallet/writeContract.js\");\nconst walletActions = (client) => ({\n addChain: (args) => (0, addChain_js_1.addChain)(client, args),\n deployContract: (args) => (0, deployContract_js_1.deployContract)(client, args),\n getAddresses: () => (0, getAddresses_js_1.getAddresses)(client),\n getChainId: () => (0, getChainId_js_1.getChainId)(client),\n getPermissions: () => (0, getPermissions_js_1.getPermissions)(client),\n requestAddresses: () => (0, requestAddresses_js_1.requestAddresses)(client),\n requestPermissions: (args) => (0, requestPermissions_js_1.requestPermissions)(client, args),\n sendTransaction: (args) => (0, sendTransaction_js_1.sendTransaction)(client, args),\n signMessage: (args) => (0, signMessage_js_1.signMessage)(client, args),\n signTypedData: (args) => (0, signTypedData_js_1.signTypedData)(client, args),\n switchChain: (args) => (0, switchChain_js_1.switchChain)(client, args),\n watchAsset: (args) => (0, watchAsset_js_1.watchAsset)(client, args),\n writeContract: (args) => (0, writeContract_js_1.writeContract)(client, args),\n});\nexports.walletActions = walletActions;\n//# sourceMappingURL=wallet.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL2RlY29yYXRvcnMvd2FsbGV0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQix3QkFBd0IsbUJBQU8sQ0FBQyxxR0FBb0M7QUFDcEUsc0JBQXNCLG1CQUFPLENBQUMsaUdBQWtDO0FBQ2hFLDRCQUE0QixtQkFBTyxDQUFDLDZHQUF3QztBQUM1RSwwQkFBMEIsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDeEUsNEJBQTRCLG1CQUFPLENBQUMsNkdBQXdDO0FBQzVFLDhCQUE4QixtQkFBTyxDQUFDLGlIQUEwQztBQUNoRixnQ0FBZ0MsbUJBQU8sQ0FBQyxxSEFBNEM7QUFDcEYsNkJBQTZCLG1CQUFPLENBQUMsK0dBQXlDO0FBQzlFLHlCQUF5QixtQkFBTyxDQUFDLHVHQUFxQztBQUN0RSwyQkFBMkIsbUJBQU8sQ0FBQywyR0FBdUM7QUFDMUUseUJBQXlCLG1CQUFPLENBQUMsdUdBQXFDO0FBQ3RFLHdCQUF3QixtQkFBTyxDQUFDLHFHQUFvQztBQUNwRSwyQkFBMkIsbUJBQU8sQ0FBQywyR0FBdUM7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxxQkFBcUI7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy9kZWNvcmF0b3JzL3dhbGxldC5qcz85YzExIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy53YWxsZXRBY3Rpb25zID0gdm9pZCAwO1xuY29uc3QgZ2V0Q2hhaW5JZF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldENoYWluSWQuanNcIik7XG5jb25zdCBhZGRDaGFpbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvd2FsbGV0L2FkZENoYWluLmpzXCIpO1xuY29uc3QgZGVwbG95Q29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3dhbGxldC9kZXBsb3lDb250cmFjdC5qc1wiKTtcbmNvbnN0IGdldEFkZHJlc3Nlc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvd2FsbGV0L2dldEFkZHJlc3Nlcy5qc1wiKTtcbmNvbnN0IGdldFBlcm1pc3Npb25zX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy93YWxsZXQvZ2V0UGVybWlzc2lvbnMuanNcIik7XG5jb25zdCByZXF1ZXN0QWRkcmVzc2VzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy93YWxsZXQvcmVxdWVzdEFkZHJlc3Nlcy5qc1wiKTtcbmNvbnN0IHJlcXVlc3RQZXJtaXNzaW9uc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvd2FsbGV0L3JlcXVlc3RQZXJtaXNzaW9ucy5qc1wiKTtcbmNvbnN0IHNlbmRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvd2FsbGV0L3NlbmRUcmFuc2FjdGlvbi5qc1wiKTtcbmNvbnN0IHNpZ25NZXNzYWdlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy93YWxsZXQvc2lnbk1lc3NhZ2UuanNcIik7XG5jb25zdCBzaWduVHlwZWREYXRhX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy93YWxsZXQvc2lnblR5cGVkRGF0YS5qc1wiKTtcbmNvbnN0IHN3aXRjaENoYWluX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy93YWxsZXQvc3dpdGNoQ2hhaW4uanNcIik7XG5jb25zdCB3YXRjaEFzc2V0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy93YWxsZXQvd2F0Y2hBc3NldC5qc1wiKTtcbmNvbnN0IHdyaXRlQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3dhbGxldC93cml0ZUNvbnRyYWN0LmpzXCIpO1xuY29uc3Qgd2FsbGV0QWN0aW9ucyA9IChjbGllbnQpID0+ICh7XG4gICAgYWRkQ2hhaW46IChhcmdzKSA9PiAoMCwgYWRkQ2hhaW5fanNfMS5hZGRDaGFpbikoY2xpZW50LCBhcmdzKSxcbiAgICBkZXBsb3lDb250cmFjdDogKGFyZ3MpID0+ICgwLCBkZXBsb3lDb250cmFjdF9qc18xLmRlcGxveUNvbnRyYWN0KShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEFkZHJlc3NlczogKCkgPT4gKDAsIGdldEFkZHJlc3Nlc19qc18xLmdldEFkZHJlc3NlcykoY2xpZW50KSxcbiAgICBnZXRDaGFpbklkOiAoKSA9PiAoMCwgZ2V0Q2hhaW5JZF9qc18xLmdldENoYWluSWQpKGNsaWVudCksXG4gICAgZ2V0UGVybWlzc2lvbnM6ICgpID0+ICgwLCBnZXRQZXJtaXNzaW9uc19qc18xLmdldFBlcm1pc3Npb25zKShjbGllbnQpLFxuICAgIHJlcXVlc3RBZGRyZXNzZXM6ICgpID0+ICgwLCByZXF1ZXN0QWRkcmVzc2VzX2pzXzEucmVxdWVzdEFkZHJlc3NlcykoY2xpZW50KSxcbiAgICByZXF1ZXN0UGVybWlzc2lvbnM6IChhcmdzKSA9PiAoMCwgcmVxdWVzdFBlcm1pc3Npb25zX2pzXzEucmVxdWVzdFBlcm1pc3Npb25zKShjbGllbnQsIGFyZ3MpLFxuICAgIHNlbmRUcmFuc2FjdGlvbjogKGFyZ3MpID0+ICgwLCBzZW5kVHJhbnNhY3Rpb25fanNfMS5zZW5kVHJhbnNhY3Rpb24pKGNsaWVudCwgYXJncyksXG4gICAgc2lnbk1lc3NhZ2U6IChhcmdzKSA9PiAoMCwgc2lnbk1lc3NhZ2VfanNfMS5zaWduTWVzc2FnZSkoY2xpZW50LCBhcmdzKSxcbiAgICBzaWduVHlwZWREYXRhOiAoYXJncykgPT4gKDAsIHNpZ25UeXBlZERhdGFfanNfMS5zaWduVHlwZWREYXRhKShjbGllbnQsIGFyZ3MpLFxuICAgIHN3aXRjaENoYWluOiAoYXJncykgPT4gKDAsIHN3aXRjaENoYWluX2pzXzEuc3dpdGNoQ2hhaW4pKGNsaWVudCwgYXJncyksXG4gICAgd2F0Y2hBc3NldDogKGFyZ3MpID0+ICgwLCB3YXRjaEFzc2V0X2pzXzEud2F0Y2hBc3NldCkoY2xpZW50LCBhcmdzKSxcbiAgICB3cml0ZUNvbnRyYWN0OiAoYXJncykgPT4gKDAsIHdyaXRlQ29udHJhY3RfanNfMS53cml0ZUNvbnRyYWN0KShjbGllbnQsIGFyZ3MpLFxufSk7XG5leHBvcnRzLndhbGxldEFjdGlvbnMgPSB3YWxsZXRBY3Rpb25zO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FsbGV0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/decorators/wallet.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/transports/createTransport.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/transports/createTransport.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTransport = void 0;\nconst buildRequest_js_1 = __webpack_require__(/*! ../../utils/buildRequest.js */ \"./node_modules/viem/dist/cjs/utils/buildRequest.js\");\nfunction createTransport({ key, name, request, retryCount = 3, retryDelay = 150, timeout, type, }, value) {\n return {\n config: { key, name, request, retryCount, retryDelay, timeout, type },\n request: (0, buildRequest_js_1.buildRequest)(request, { retryCount, retryDelay }),\n value,\n };\n}\nexports.createTransport = createTransport;\n//# sourceMappingURL=createTransport.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL3RyYW5zcG9ydHMvY3JlYXRlVHJhbnNwb3J0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2QiwwQkFBMEIsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDL0QsMkJBQTJCLHNFQUFzRTtBQUNqRztBQUNBLGtCQUFrQiwyREFBMkQ7QUFDN0UsZ0VBQWdFLHdCQUF3QjtBQUN4RjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy90cmFuc3BvcnRzL2NyZWF0ZVRyYW5zcG9ydC5qcz83Y2FjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5jcmVhdGVUcmFuc3BvcnQgPSB2b2lkIDA7XG5jb25zdCBidWlsZFJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9idWlsZFJlcXVlc3QuanNcIik7XG5mdW5jdGlvbiBjcmVhdGVUcmFuc3BvcnQoeyBrZXksIG5hbWUsIHJlcXVlc3QsIHJldHJ5Q291bnQgPSAzLCByZXRyeURlbGF5ID0gMTUwLCB0aW1lb3V0LCB0eXBlLCB9LCB2YWx1ZSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGNvbmZpZzogeyBrZXksIG5hbWUsIHJlcXVlc3QsIHJldHJ5Q291bnQsIHJldHJ5RGVsYXksIHRpbWVvdXQsIHR5cGUgfSxcbiAgICAgICAgcmVxdWVzdDogKDAsIGJ1aWxkUmVxdWVzdF9qc18xLmJ1aWxkUmVxdWVzdCkocmVxdWVzdCwgeyByZXRyeUNvdW50LCByZXRyeURlbGF5IH0pLFxuICAgICAgICB2YWx1ZSxcbiAgICB9O1xufVxuZXhwb3J0cy5jcmVhdGVUcmFuc3BvcnQgPSBjcmVhdGVUcmFuc3BvcnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVUcmFuc3BvcnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/transports/createTransport.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/transports/custom.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/transports/custom.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.custom = void 0;\nconst createTransport_js_1 = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/cjs/clients/transports/createTransport.js\");\nfunction custom(provider, config = {}) {\n const { key = 'custom', name = 'Custom Provider', retryDelay } = config;\n return ({ retryCount: defaultRetryCount }) => (0, createTransport_js_1.createTransport)({\n key,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\nexports.custom = custom;\n//# sourceMappingURL=custom.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL3RyYW5zcG9ydHMvY3VzdG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGNBQWM7QUFDZCw2QkFBNkIsbUJBQU8sQ0FBQyxnR0FBc0I7QUFDM0QscUNBQXFDO0FBQ3JDLFlBQVksdURBQXVEO0FBQ25FLGNBQWMsK0JBQStCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGNBQWM7QUFDZCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL3RyYW5zcG9ydHMvY3VzdG9tLmpzP2IwZGEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmN1c3RvbSA9IHZvaWQgMDtcbmNvbnN0IGNyZWF0ZVRyYW5zcG9ydF9qc18xID0gcmVxdWlyZShcIi4vY3JlYXRlVHJhbnNwb3J0LmpzXCIpO1xuZnVuY3Rpb24gY3VzdG9tKHByb3ZpZGVyLCBjb25maWcgPSB7fSkge1xuICAgIGNvbnN0IHsga2V5ID0gJ2N1c3RvbScsIG5hbWUgPSAnQ3VzdG9tIFByb3ZpZGVyJywgcmV0cnlEZWxheSB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoeyByZXRyeUNvdW50OiBkZWZhdWx0UmV0cnlDb3VudCB9KSA9PiAoMCwgY3JlYXRlVHJhbnNwb3J0X2pzXzEuY3JlYXRlVHJhbnNwb3J0KSh7XG4gICAgICAgIGtleSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcmVxdWVzdDogcHJvdmlkZXIucmVxdWVzdC5iaW5kKHByb3ZpZGVyKSxcbiAgICAgICAgcmV0cnlDb3VudDogY29uZmlnLnJldHJ5Q291bnQgPz8gZGVmYXVsdFJldHJ5Q291bnQsXG4gICAgICAgIHJldHJ5RGVsYXksXG4gICAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgIH0pO1xufVxuZXhwb3J0cy5jdXN0b20gPSBjdXN0b207XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jdXN0b20uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/transports/custom.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/transports/fallback.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/transports/fallback.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.rankTransports = exports.fallback = void 0;\nconst buildRequest_js_1 = __webpack_require__(/*! ../../utils/buildRequest.js */ \"./node_modules/viem/dist/cjs/utils/buildRequest.js\");\nconst wait_js_1 = __webpack_require__(/*! ../../utils/wait.js */ \"./node_modules/viem/dist/cjs/utils/wait.js\");\nconst createTransport_js_1 = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/cjs/clients/transports/createTransport.js\");\nfunction fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, retryCount, retryDelay, } = config;\n return ({ chain, pollingInterval = 4000, timeout }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = (0, createTransport_js_1.createTransport)({\n key,\n name,\n async request({ method, params }) {\n const fetch = async (i = 0) => {\n const transport = transports[i]({ chain, retryCount: 0, timeout });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if ((0, buildRequest_js_1.isDeterministicError)(err))\n throw err;\n if (i === transports.length - 1)\n throw err;\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n };\n}\nexports.fallback = fallback;\nfunction rankTransports({ chain, interval = 4000, onTransports, sampleCount = 10, timeout = 1000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await transport_.request({ method: 'net_listening' });\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n onTransports(scores.map(([, i]) => transports[i]));\n await (0, wait_js_1.wait)(interval);\n rankTransports_();\n };\n rankTransports_();\n}\nexports.rankTransports = rankTransports;\n//# sourceMappingURL=fallback.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL3RyYW5zcG9ydHMvZmFsbGJhY2suanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCLEdBQUcsZ0JBQWdCO0FBQ3pDLDBCQUEwQixtQkFBTyxDQUFDLHVGQUE2QjtBQUMvRCxrQkFBa0IsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDL0MsNkJBQTZCLG1CQUFPLENBQUMsZ0dBQXNCO0FBQzNELDBDQUEwQztBQUMxQyxZQUFZLDZFQUE2RTtBQUN6RixjQUFjLHdDQUF3QztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGdCQUFnQjtBQUM1QztBQUNBLHNEQUFzRCwrQkFBK0I7QUFDckY7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG9EQUFvRCxzQkFBc0I7QUFDMUUsU0FBUztBQUNUO0FBQ0EscUVBQXFFO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIsMEJBQTBCLGdHQUFnRyxHQUFHO0FBQzdILFlBQVksaUVBQWlFO0FBQzdFO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQywrQkFBK0I7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMseUJBQXlCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EseUZBQXlGLFNBQVM7QUFDbEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2NsaWVudHMvdHJhbnNwb3J0cy9mYWxsYmFjay5qcz8yMTdhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yYW5rVHJhbnNwb3J0cyA9IGV4cG9ydHMuZmFsbGJhY2sgPSB2b2lkIDA7XG5jb25zdCBidWlsZFJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9idWlsZFJlcXVlc3QuanNcIik7XG5jb25zdCB3YWl0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvd2FpdC5qc1wiKTtcbmNvbnN0IGNyZWF0ZVRyYW5zcG9ydF9qc18xID0gcmVxdWlyZShcIi4vY3JlYXRlVHJhbnNwb3J0LmpzXCIpO1xuZnVuY3Rpb24gZmFsbGJhY2sodHJhbnNwb3J0c18sIGNvbmZpZyA9IHt9KSB7XG4gICAgY29uc3QgeyBrZXkgPSAnZmFsbGJhY2snLCBuYW1lID0gJ0ZhbGxiYWNrJywgcmFuayA9IGZhbHNlLCByZXRyeUNvdW50LCByZXRyeURlbGF5LCB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoeyBjaGFpbiwgcG9sbGluZ0ludGVydmFsID0gNDAwMCwgdGltZW91dCB9KSA9PiB7XG4gICAgICAgIGxldCB0cmFuc3BvcnRzID0gdHJhbnNwb3J0c187XG4gICAgICAgIGxldCBvblJlc3BvbnNlID0gKCkgPT4geyB9O1xuICAgICAgICBjb25zdCB0cmFuc3BvcnQgPSAoMCwgY3JlYXRlVHJhbnNwb3J0X2pzXzEuY3JlYXRlVHJhbnNwb3J0KSh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgYXN5bmMgcmVxdWVzdCh7IG1ldGhvZCwgcGFyYW1zIH0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmZXRjaCA9IGFzeW5jIChpID0gMCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc3BvcnQgPSB0cmFuc3BvcnRzW2ldKHsgY2hhaW4sIHJldHJ5Q291bnQ6IDAsIHRpbWVvdXQgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRyYW5zcG9ydC5yZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvblJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25SZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgwLCBidWlsZFJlcXVlc3RfanNfMS5pc0RldGVybWluaXN0aWNFcnJvcikoZXJyKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gdHJhbnNwb3J0cy5sZW5ndGggLSAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmZXRjaChpICsgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBmZXRjaCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldHJ5Q291bnQsXG4gICAgICAgICAgICByZXRyeURlbGF5LFxuICAgICAgICAgICAgdHlwZTogJ2ZhbGxiYWNrJyxcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgb25SZXNwb25zZTogKGZuKSA9PiAob25SZXNwb25zZSA9IGZuKSxcbiAgICAgICAgICAgIHRyYW5zcG9ydHM6IHRyYW5zcG9ydHMubWFwKChmbikgPT4gZm4oeyBjaGFpbiwgcmV0cnlDb3VudDogMCB9KSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocmFuaykge1xuICAgICAgICAgICAgY29uc3QgcmFua09wdGlvbnMgPSAodHlwZW9mIHJhbmsgPT09ICdvYmplY3QnID8gcmFuayA6IHt9KTtcbiAgICAgICAgICAgIHJhbmtUcmFuc3BvcnRzKHtcbiAgICAgICAgICAgICAgICBjaGFpbixcbiAgICAgICAgICAgICAgICBpbnRlcnZhbDogcmFua09wdGlvbnMuaW50ZXJ2YWwgPz8gcG9sbGluZ0ludGVydmFsLFxuICAgICAgICAgICAgICAgIG9uVHJhbnNwb3J0czogKHRyYW5zcG9ydHNfKSA9PiAodHJhbnNwb3J0cyA9IHRyYW5zcG9ydHNfKSxcbiAgICAgICAgICAgICAgICBzYW1wbGVDb3VudDogcmFua09wdGlvbnMuc2FtcGxlQ291bnQsXG4gICAgICAgICAgICAgICAgdGltZW91dDogcmFua09wdGlvbnMudGltZW91dCxcbiAgICAgICAgICAgICAgICB0cmFuc3BvcnRzLFxuICAgICAgICAgICAgICAgIHdlaWdodHM6IHJhbmtPcHRpb25zLndlaWdodHMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJhbnNwb3J0O1xuICAgIH07XG59XG5leHBvcnRzLmZhbGxiYWNrID0gZmFsbGJhY2s7XG5mdW5jdGlvbiByYW5rVHJhbnNwb3J0cyh7IGNoYWluLCBpbnRlcnZhbCA9IDQwMDAsIG9uVHJhbnNwb3J0cywgc2FtcGxlQ291bnQgPSAxMCwgdGltZW91dCA9IDEwMDAsIHRyYW5zcG9ydHMsIHdlaWdodHMgPSB7fSwgfSkge1xuICAgIGNvbnN0IHsgc3RhYmlsaXR5OiBzdGFiaWxpdHlXZWlnaHQgPSAwLjcsIGxhdGVuY3k6IGxhdGVuY3lXZWlnaHQgPSAwLjMgfSA9IHdlaWdodHM7XG4gICAgY29uc3Qgc2FtcGxlcyA9IFtdO1xuICAgIGNvbnN0IHJhbmtUcmFuc3BvcnRzXyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2FtcGxlID0gYXdhaXQgUHJvbWlzZS5hbGwodHJhbnNwb3J0cy5tYXAoYXN5bmMgKHRyYW5zcG9ydCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNwb3J0XyA9IHRyYW5zcG9ydCh7IGNoYWluLCByZXRyeUNvdW50OiAwLCB0aW1lb3V0IH0pO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgbGV0IGVuZDtcbiAgICAgICAgICAgIGxldCBzdWNjZXNzO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0cmFuc3BvcnRfLnJlcXVlc3QoeyBtZXRob2Q6ICduZXRfbGlzdGVuaW5nJyB9KTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGVuZCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsYXRlbmN5ID0gZW5kIC0gc3RhcnQ7XG4gICAgICAgICAgICByZXR1cm4geyBsYXRlbmN5LCBzdWNjZXNzIH07XG4gICAgICAgIH0pKTtcbiAgICAgICAgc2FtcGxlcy5wdXNoKHNhbXBsZSk7XG4gICAgICAgIGlmIChzYW1wbGVzLmxlbmd0aCA+IHNhbXBsZUNvdW50KVxuICAgICAgICAgICAgc2FtcGxlcy5zaGlmdCgpO1xuICAgICAgICBjb25zdCBtYXhMYXRlbmN5ID0gTWF0aC5tYXgoLi4uc2FtcGxlcy5tYXAoKHNhbXBsZSkgPT4gTWF0aC5tYXgoLi4uc2FtcGxlLm1hcCgoeyBsYXRlbmN5IH0pID0+IGxhdGVuY3kpKSkpO1xuICAgICAgICBjb25zdCBzY29yZXMgPSB0cmFuc3BvcnRzXG4gICAgICAgICAgICAubWFwKChfLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXRlbmNpZXMgPSBzYW1wbGVzLm1hcCgoc2FtcGxlKSA9PiBzYW1wbGVbaV0ubGF0ZW5jeSk7XG4gICAgICAgICAgICBjb25zdCBtZWFuTGF0ZW5jeSA9IGxhdGVuY2llcy5yZWR1Y2UoKGFjYywgbGF0ZW5jeSkgPT4gYWNjICsgbGF0ZW5jeSwgMCkgL1xuICAgICAgICAgICAgICAgIGxhdGVuY2llcy5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBsYXRlbmN5U2NvcmUgPSAxIC0gbWVhbkxhdGVuY3kgLyBtYXhMYXRlbmN5O1xuICAgICAgICAgICAgY29uc3Qgc3VjY2Vzc2VzID0gc2FtcGxlcy5tYXAoKHNhbXBsZSkgPT4gc2FtcGxlW2ldLnN1Y2Nlc3MpO1xuICAgICAgICAgICAgY29uc3Qgc3RhYmlsaXR5U2NvcmUgPSBzdWNjZXNzZXMucmVkdWNlKChhY2MsIHN1Y2Nlc3MpID0+IGFjYyArIHN1Y2Nlc3MsIDApIC9cbiAgICAgICAgICAgICAgICBzdWNjZXNzZXMubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHN0YWJpbGl0eVNjb3JlID09PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybiBbMCwgaV07XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGxhdGVuY3lXZWlnaHQgKiBsYXRlbmN5U2NvcmUgKyBzdGFiaWxpdHlXZWlnaHQgKiBzdGFiaWxpdHlTY29yZSxcbiAgICAgICAgICAgICAgICBpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiWzBdIC0gYVswXSk7XG4gICAgICAgIG9uVHJhbnNwb3J0cyhzY29yZXMubWFwKChbLCBpXSkgPT4gdHJhbnNwb3J0c1tpXSkpO1xuICAgICAgICBhd2FpdCAoMCwgd2FpdF9qc18xLndhaXQpKGludGVydmFsKTtcbiAgICAgICAgcmFua1RyYW5zcG9ydHNfKCk7XG4gICAgfTtcbiAgICByYW5rVHJhbnNwb3J0c18oKTtcbn1cbmV4cG9ydHMucmFua1RyYW5zcG9ydHMgPSByYW5rVHJhbnNwb3J0cztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZhbGxiYWNrLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/transports/fallback.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/transports/http.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/transports/http.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.http = void 0;\nconst request_js_1 = __webpack_require__(/*! ../../errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst transport_js_1 = __webpack_require__(/*! ../../errors/transport.js */ \"./node_modules/viem/dist/cjs/errors/transport.js\");\nconst createBatchScheduler_js_1 = __webpack_require__(/*! ../../utils/promise/createBatchScheduler.js */ \"./node_modules/viem/dist/cjs/utils/promise/createBatchScheduler.js\");\nconst rpc_js_1 = __webpack_require__(/*! ../../utils/rpc.js */ \"./node_modules/viem/dist/cjs/utils/rpc.js\");\nconst createTransport_js_1 = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/cjs/clients/transports/createTransport.js\");\nfunction http(url, config = {}) {\n const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', retryDelay, } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10000;\n const url_ = url || chain?.rpcUrls.default.http[0];\n if (!url_)\n throw new transport_js_1.UrlRequiredError();\n return (0, createTransport_js_1.createTransport)({\n key,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({\n id: `${url}`,\n wait,\n shouldSplitBatch(requests) {\n return requests.length > batchSize;\n },\n fn: (body) => rpc_js_1.rpc.http(url_, {\n body,\n fetchOptions,\n timeout,\n }),\n });\n const fn = async (body) => batch\n ? schedule(body)\n : [await rpc_js_1.rpc.http(url_, { body, fetchOptions, timeout })];\n const [{ error, result }] = await fn(body);\n if (error)\n throw new request_js_1.RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n }, {\n url,\n });\n };\n}\nexports.http = http;\n//# sourceMappingURL=http.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL3RyYW5zcG9ydHMvaHR0cC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxZQUFZO0FBQ1oscUJBQXFCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3RELHVCQUF1QixtQkFBTyxDQUFDLG1GQUEyQjtBQUMxRCxrQ0FBa0MsbUJBQU8sQ0FBQyx1SEFBNkM7QUFDdkYsaUJBQWlCLG1CQUFPLENBQUMscUVBQW9CO0FBQzdDLDZCQUE2QixtQkFBTyxDQUFDLGdHQUFzQjtBQUMzRCw4QkFBOEI7QUFDOUIsWUFBWSx5RUFBeUU7QUFDckYsY0FBYyxtREFBbUQ7QUFDakUsZ0JBQWdCLDZCQUE2QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGdCQUFnQjtBQUM1QywrQkFBK0I7QUFDL0Isd0JBQXdCLFdBQVc7QUFDbkMsMkJBQTJCLElBQUk7QUFDL0I7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsdURBQXVELDZCQUE2QjtBQUNwRix5QkFBeUIsZUFBZTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxZQUFZO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy90cmFuc3BvcnRzL2h0dHAuanM/ZjdmNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaHR0cCA9IHZvaWQgMDtcbmNvbnN0IHJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvcmVxdWVzdC5qc1wiKTtcbmNvbnN0IHRyYW5zcG9ydF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy90cmFuc3BvcnQuanNcIik7XG5jb25zdCBjcmVhdGVCYXRjaFNjaGVkdWxlcl9qc18xID0gcmVxdWlyZShcIi4uLy4uL3V0aWxzL3Byb21pc2UvY3JlYXRlQmF0Y2hTY2hlZHVsZXIuanNcIik7XG5jb25zdCBycGNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi91dGlscy9ycGMuanNcIik7XG5jb25zdCBjcmVhdGVUcmFuc3BvcnRfanNfMSA9IHJlcXVpcmUoXCIuL2NyZWF0ZVRyYW5zcG9ydC5qc1wiKTtcbmZ1bmN0aW9uIGh0dHAodXJsLCBjb25maWcgPSB7fSkge1xuICAgIGNvbnN0IHsgYmF0Y2gsIGZldGNoT3B0aW9ucywga2V5ID0gJ2h0dHAnLCBuYW1lID0gJ0hUVFAgSlNPTi1SUEMnLCByZXRyeURlbGF5LCB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoeyBjaGFpbiwgcmV0cnlDb3VudDogcmV0cnlDb3VudF8sIHRpbWVvdXQ6IHRpbWVvdXRfIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBiYXRjaFNpemUgPSAxMDAwLCB3YWl0ID0gMCB9ID0gdHlwZW9mIGJhdGNoID09PSAnb2JqZWN0JyA/IGJhdGNoIDoge307XG4gICAgICAgIGNvbnN0IHJldHJ5Q291bnQgPSBjb25maWcucmV0cnlDb3VudCA/PyByZXRyeUNvdW50XztcbiAgICAgICAgY29uc3QgdGltZW91dCA9IHRpbWVvdXRfID8/IGNvbmZpZy50aW1lb3V0ID8/IDEwMDAwO1xuICAgICAgICBjb25zdCB1cmxfID0gdXJsIHx8IGNoYWluPy5ycGNVcmxzLmRlZmF1bHQuaHR0cFswXTtcbiAgICAgICAgaWYgKCF1cmxfKVxuICAgICAgICAgICAgdGhyb3cgbmV3IHRyYW5zcG9ydF9qc18xLlVybFJlcXVpcmVkRXJyb3IoKTtcbiAgICAgICAgcmV0dXJuICgwLCBjcmVhdGVUcmFuc3BvcnRfanNfMS5jcmVhdGVUcmFuc3BvcnQpKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBhc3luYyByZXF1ZXN0KHsgbWV0aG9kLCBwYXJhbXMgfSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSB7IG1ldGhvZCwgcGFyYW1zIH07XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZSB9ID0gKDAsIGNyZWF0ZUJhdGNoU2NoZWR1bGVyX2pzXzEuY3JlYXRlQmF0Y2hTY2hlZHVsZXIpKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGAke3VybH1gLFxuICAgICAgICAgICAgICAgICAgICB3YWl0LFxuICAgICAgICAgICAgICAgICAgICBzaG91bGRTcGxpdEJhdGNoKHJlcXVlc3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdHMubGVuZ3RoID4gYmF0Y2hTaXplO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBmbjogKGJvZHkpID0+IHJwY19qc18xLnJwYy5odHRwKHVybF8sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAgICAgICAgICBmZXRjaE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBmbiA9IGFzeW5jIChib2R5KSA9PiBiYXRjaFxuICAgICAgICAgICAgICAgICAgICA/IHNjaGVkdWxlKGJvZHkpXG4gICAgICAgICAgICAgICAgICAgIDogW2F3YWl0IHJwY19qc18xLnJwYy5odHRwKHVybF8sIHsgYm9keSwgZmV0Y2hPcHRpb25zLCB0aW1lb3V0IH0pXTtcbiAgICAgICAgICAgICAgICBjb25zdCBbeyBlcnJvciwgcmVzdWx0IH1dID0gYXdhaXQgZm4oYm9keSk7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcmVxdWVzdF9qc18xLlJwY1JlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybF8sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmV0cnlDb3VudCxcbiAgICAgICAgICAgIHJldHJ5RGVsYXksXG4gICAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgICAgdHlwZTogJ2h0dHAnLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgICB1cmwsXG4gICAgICAgIH0pO1xuICAgIH07XG59XG5leHBvcnRzLmh0dHAgPSBodHRwO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHR0cC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/transports/http.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/clients/transports/webSocket.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/clients/transports/webSocket.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.webSocket = void 0;\nconst request_js_1 = __webpack_require__(/*! ../../errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst transport_js_1 = __webpack_require__(/*! ../../errors/transport.js */ \"./node_modules/viem/dist/cjs/errors/transport.js\");\nconst rpc_js_1 = __webpack_require__(/*! ../../utils/rpc.js */ \"./node_modules/viem/dist/cjs/utils/rpc.js\");\nconst createTransport_js_1 = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/cjs/clients/transports/createTransport.js\");\nfunction webSocket(url, config = {}) {\n const { key = 'webSocket', name = 'WebSocket JSON-RPC', retryDelay } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10000;\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0];\n if (!url_)\n throw new transport_js_1.UrlRequiredError();\n return (0, createTransport_js_1.createTransport)({\n key,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const socket = await (0, rpc_js_1.getSocket)(url_);\n const { error, result } = await rpc_js_1.rpc.webSocketAsync(socket, {\n body,\n timeout,\n });\n if (error)\n throw new request_js_1.RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'webSocket',\n }, {\n getSocket() {\n return (0, rpc_js_1.getSocket)(url_);\n },\n async subscribe({ params, onData, onError }) {\n const socket = await (0, rpc_js_1.getSocket)(url_);\n const { result: subscriptionId } = await new Promise((resolve, reject) => rpc_js_1.rpc.webSocket(socket, {\n body: {\n method: 'eth_subscribe',\n params,\n },\n onResponse(response) {\n if (response.error) {\n reject(response.error);\n onError?.(response.error);\n return;\n }\n if (typeof response.id === 'number') {\n resolve(response);\n return;\n }\n if (response.method !== 'eth_subscription')\n return;\n onData(response.params);\n },\n }));\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise((resolve) => rpc_js_1.rpc.webSocket(socket, {\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onResponse: resolve,\n }));\n },\n };\n },\n });\n };\n}\nexports.webSocket = webSocket;\n//# sourceMappingURL=webSocket.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jbGllbnRzL3RyYW5zcG9ydHMvd2ViU29ja2V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlCQUFpQjtBQUNqQixxQkFBcUIsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdEQsdUJBQXVCLG1CQUFPLENBQUMsbUZBQTJCO0FBQzFELGlCQUFpQixtQkFBTyxDQUFDLHFFQUFvQjtBQUM3Qyw2QkFBNkIsbUJBQU8sQ0FBQyxnR0FBc0I7QUFDM0QsbUNBQW1DO0FBQ25DLFlBQVksNkRBQTZEO0FBQ3pFLGNBQWMsbURBQW1EO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsZ0JBQWdCO0FBQzVDLCtCQUErQjtBQUMvQjtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsOEJBQThCLHlCQUF5QjtBQUN2RDtBQUNBLHdCQUF3Qix5QkFBeUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckI7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY2xpZW50cy90cmFuc3BvcnRzL3dlYlNvY2tldC5qcz8wNWI3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy53ZWJTb2NrZXQgPSB2b2lkIDA7XG5jb25zdCByZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL3JlcXVlc3QuanNcIik7XG5jb25zdCB0cmFuc3BvcnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvdHJhbnNwb3J0LmpzXCIpO1xuY29uc3QgcnBjX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHMvcnBjLmpzXCIpO1xuY29uc3QgY3JlYXRlVHJhbnNwb3J0X2pzXzEgPSByZXF1aXJlKFwiLi9jcmVhdGVUcmFuc3BvcnQuanNcIik7XG5mdW5jdGlvbiB3ZWJTb2NrZXQodXJsLCBjb25maWcgPSB7fSkge1xuICAgIGNvbnN0IHsga2V5ID0gJ3dlYlNvY2tldCcsIG5hbWUgPSAnV2ViU29ja2V0IEpTT04tUlBDJywgcmV0cnlEZWxheSB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoeyBjaGFpbiwgcmV0cnlDb3VudDogcmV0cnlDb3VudF8sIHRpbWVvdXQ6IHRpbWVvdXRfIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmV0cnlDb3VudCA9IGNvbmZpZy5yZXRyeUNvdW50ID8/IHJldHJ5Q291bnRfO1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gdGltZW91dF8gPz8gY29uZmlnLnRpbWVvdXQgPz8gMTAwMDA7XG4gICAgICAgIGNvbnN0IHVybF8gPSB1cmwgfHwgY2hhaW4/LnJwY1VybHMuZGVmYXVsdC53ZWJTb2NrZXQ/LlswXTtcbiAgICAgICAgaWYgKCF1cmxfKVxuICAgICAgICAgICAgdGhyb3cgbmV3IHRyYW5zcG9ydF9qc18xLlVybFJlcXVpcmVkRXJyb3IoKTtcbiAgICAgICAgcmV0dXJuICgwLCBjcmVhdGVUcmFuc3BvcnRfanNfMS5jcmVhdGVUcmFuc3BvcnQpKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBhc3luYyByZXF1ZXN0KHsgbWV0aG9kLCBwYXJhbXMgfSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSB7IG1ldGhvZCwgcGFyYW1zIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc29ja2V0ID0gYXdhaXQgKDAsIHJwY19qc18xLmdldFNvY2tldCkodXJsXyk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvciwgcmVzdWx0IH0gPSBhd2FpdCBycGNfanNfMS5ycGMud2ViU29ja2V0QXN5bmMoc29ja2V0LCB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcmVxdWVzdF9qc18xLlJwY1JlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybF8sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmV0cnlDb3VudCxcbiAgICAgICAgICAgIHJldHJ5RGVsYXksXG4gICAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgICAgdHlwZTogJ3dlYlNvY2tldCcsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGdldFNvY2tldCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIHJwY19qc18xLmdldFNvY2tldCkodXJsXyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgc3Vic2NyaWJlKHsgcGFyYW1zLCBvbkRhdGEsIG9uRXJyb3IgfSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvY2tldCA9IGF3YWl0ICgwLCBycGNfanNfMS5nZXRTb2NrZXQpKHVybF8pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVzdWx0OiBzdWJzY3JpcHRpb25JZCB9ID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gcnBjX2pzXzEucnBjLndlYlNvY2tldChzb2NrZXQsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3N1YnNjcmliZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcj8uKHJlc3BvbnNlLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmlkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5tZXRob2QgIT09ICdldGhfc3Vic2NyaXB0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkRhdGEocmVzcG9uc2UucGFyYW1zKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBycGNfanNfMS5ycGMud2ViU29ja2V0KHNvY2tldCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3Vuc3Vic2NyaWJlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBbc3Vic2NyaXB0aW9uSWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25SZXNwb25zZTogcmVzb2x2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbmV4cG9ydHMud2ViU29ja2V0ID0gd2ViU29ja2V0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2ViU29ja2V0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/clients/transports/webSocket.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/constants/abis.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/constants/abis.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.universalSignatureValidatorAbi = exports.smartAccountAbi = exports.singleAddressResolverAbi = exports.textResolverAbi = exports.universalResolverAbi = exports.multicall3Abi = void 0;\nexports.multicall3Abi = [\n {\n inputs: [\n {\n components: [\n {\n name: 'target',\n type: 'address',\n },\n {\n name: 'allowFailure',\n type: 'bool',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n ],\n name: 'calls',\n type: 'tuple[]',\n },\n ],\n name: 'aggregate3',\n outputs: [\n {\n components: [\n {\n name: 'success',\n type: 'bool',\n },\n {\n name: 'returnData',\n type: 'bytes',\n },\n ],\n name: 'returnData',\n type: 'tuple[]',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n];\nexports.universalResolverAbi = [\n {\n name: 'resolve',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [\n { name: '', type: 'bytes' },\n { name: 'address', type: 'address' },\n ],\n },\n];\nexports.textResolverAbi = [\n {\n name: 'text',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes32' },\n { name: 'key', type: 'string' },\n ],\n outputs: [{ name: '', type: 'string' }],\n },\n];\nexports.singleAddressResolverAbi = [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'name', type: 'bytes32' }],\n outputs: [{ name: '', type: 'address' }],\n },\n];\nexports.smartAccountAbi = [\n {\n name: 'isValidSignature',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'hash', type: 'bytes32' },\n { name: 'signature', type: 'bytes' },\n ],\n outputs: [{ name: '', type: 'bytes4' }],\n },\n];\nexports.universalSignatureValidatorAbi = [\n {\n inputs: [\n {\n internalType: 'address',\n name: '_signer',\n type: 'address',\n },\n {\n internalType: 'bytes32',\n name: '_hash',\n type: 'bytes32',\n },\n {\n internalType: 'bytes',\n name: '_signature',\n type: 'bytes',\n },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n];\n//# sourceMappingURL=abis.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvYWJpcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQ0FBc0MsR0FBRyx1QkFBdUIsR0FBRyxnQ0FBZ0MsR0FBRyx1QkFBdUIsR0FBRyw0QkFBNEIsR0FBRyxxQkFBcUI7QUFDcEwscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsNkJBQTZCO0FBQzNDLGNBQWMsNkJBQTZCO0FBQzNDO0FBQ0E7QUFDQSxjQUFjLHlCQUF5QjtBQUN2QyxjQUFjLGtDQUFrQztBQUNoRDtBQUNBLEtBQUs7QUFDTDtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYywrQkFBK0I7QUFDN0MsY0FBYyw2QkFBNkI7QUFDM0M7QUFDQSxvQkFBb0IsMEJBQTBCO0FBQzlDLEtBQUs7QUFDTDtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwrQkFBK0I7QUFDbEQsb0JBQW9CLDJCQUEyQjtBQUMvQyxLQUFLO0FBQ0w7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsK0JBQStCO0FBQzdDLGNBQWMsa0NBQWtDO0FBQ2hEO0FBQ0Esb0JBQW9CLDBCQUEwQjtBQUM5QyxLQUFLO0FBQ0w7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2NvbnN0YW50cy9hYmlzLmpzPzA4YTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnVuaXZlcnNhbFNpZ25hdHVyZVZhbGlkYXRvckFiaSA9IGV4cG9ydHMuc21hcnRBY2NvdW50QWJpID0gZXhwb3J0cy5zaW5nbGVBZGRyZXNzUmVzb2x2ZXJBYmkgPSBleHBvcnRzLnRleHRSZXNvbHZlckFiaSA9IGV4cG9ydHMudW5pdmVyc2FsUmVzb2x2ZXJBYmkgPSBleHBvcnRzLm11bHRpY2FsbDNBYmkgPSB2b2lkIDA7XG5leHBvcnRzLm11bHRpY2FsbDNBYmkgPSBbXG4gICAge1xuICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnYWxsb3dGYWlsdXJlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdib29sJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhbGxEYXRhJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnY2FsbHMnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0dXBsZVtdJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIG5hbWU6ICdhZ2dyZWdhdGUzJyxcbiAgICAgICAgb3V0cHV0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jvb2wnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmV0dXJuRGF0YScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnl0ZXMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgbmFtZTogJ3JldHVybkRhdGEnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0dXBsZVtdJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRlTXV0YWJpbGl0eTogJ3ZpZXcnLFxuICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgIH0sXG5dO1xuZXhwb3J0cy51bml2ZXJzYWxSZXNvbHZlckFiaSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICdyZXNvbHZlJyxcbiAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICdieXRlcycgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2RhdGEnLCB0eXBlOiAnYnl0ZXMnIH0sXG4gICAgICAgIF0sXG4gICAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogJycsIHR5cGU6ICdieXRlcycgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2FkZHJlc3MnLCB0eXBlOiAnYWRkcmVzcycgfSxcbiAgICAgICAgXSxcbiAgICB9LFxuXTtcbmV4cG9ydHMudGV4dFJlc29sdmVyQWJpID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ3RleHQnLFxuICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICd2aWV3JyxcbiAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ2J5dGVzMzInIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdrZXknLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRzOiBbeyBuYW1lOiAnJywgdHlwZTogJ3N0cmluZycgfV0sXG4gICAgfSxcbl07XG5leHBvcnRzLnNpbmdsZUFkZHJlc3NSZXNvbHZlckFiaSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICdhZGRyJyxcbiAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgIGlucHV0czogW3sgbmFtZTogJ25hbWUnLCB0eXBlOiAnYnl0ZXMzMicgfV0sXG4gICAgICAgIG91dHB1dHM6IFt7IG5hbWU6ICcnLCB0eXBlOiAnYWRkcmVzcycgfV0sXG4gICAgfSxcbl07XG5leHBvcnRzLnNtYXJ0QWNjb3VudEFiaSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICdpc1ZhbGlkU2lnbmF0dXJlJyxcbiAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgeyBuYW1lOiAnaGFzaCcsIHR5cGU6ICdieXRlczMyJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc2lnbmF0dXJlJywgdHlwZTogJ2J5dGVzJyB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRzOiBbeyBuYW1lOiAnJywgdHlwZTogJ2J5dGVzNCcgfV0sXG4gICAgfSxcbl07XG5leHBvcnRzLnVuaXZlcnNhbFNpZ25hdHVyZVZhbGlkYXRvckFiaSA9IFtcbiAgICB7XG4gICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGludGVybmFsVHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdfc2lnbmVyJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYWRkcmVzcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGludGVybmFsVHlwZTogJ2J5dGVzMzInLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdfaGFzaCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J5dGVzMzInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICAgICAgbmFtZTogJ19zaWduYXR1cmUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICdub25wYXlhYmxlJyxcbiAgICAgICAgdHlwZTogJ2NvbnN0cnVjdG9yJyxcbiAgICB9LFxuXTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFiaXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/constants/abis.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/constants/address.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/constants/address.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.zeroAddress = void 0;\nexports.zeroAddress = '0x0000000000000000000000000000000000000000';\n//# sourceMappingURL=address.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvYWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2NvbnN0YW50cy9hZGRyZXNzLmpzPzJkNTYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnplcm9BZGRyZXNzID0gdm9pZCAwO1xuZXhwb3J0cy56ZXJvQWRkcmVzcyA9ICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkcmVzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/constants/address.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/constants/contract.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/constants/contract.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.aggregate3Signature = void 0;\nexports.aggregate3Signature = '0x82ad56cb';\n//# sourceMappingURL=contract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvY29udHJhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvY29udHJhY3QuanM/MGM5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuYWdncmVnYXRlM1NpZ25hdHVyZSA9IHZvaWQgMDtcbmV4cG9ydHMuYWdncmVnYXRlM1NpZ25hdHVyZSA9ICcweDgyYWQ1NmNiJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/constants/contract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/constants/contracts.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/constants/contracts.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.universalSignatureValidatorByteCode = void 0;\nexports.universalSignatureValidatorByteCode = '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572';\n//# sourceMappingURL=contracts.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvY29udHJhY3RzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY29uc3RhbnRzL2NvbnRyYWN0cy5qcz8yNDY1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy51bml2ZXJzYWxTaWduYXR1cmVWYWxpZGF0b3JCeXRlQ29kZSA9IHZvaWQgMDtcbmV4cG9ydHMudW5pdmVyc2FsU2lnbmF0dXJlVmFsaWRhdG9yQnl0ZUNvZGUgPSAnMHg2MDgwNjA0MDUyMzQ4MDE1NjIwMDAwMTE1NzYwMDA4MGZkNWI1MDYwNDA1MTYyMDAwNzAwMzgwMzgwNjIwMDA3MDA4MzM5ODEwMTYwNDA4MTkwNTI2MjAwMDAzNDkxNjIwMDA1NmY1NjViNjAwMDYyMDAwMDQzODQ4NDg0NjIwMDAwNGY1NjViOTA1MDgwNjAwMDUyNjAwMTYwMWZmMzViNjAwMDgwODQ2MDAxNjAwMTYwYTAxYjAzMTY4MDNiODA2MDIwMDE2MDQwNTE5MDgxMDE2MDQwNTI4MTgxNTI2MDAwOTA4MDYwMjAwMTkwOTMzYzkwNTA3ZjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2MjAwMDBhNjg0NjIwMDA0NTE1NjViMDM2MjAwMDIxZjU3NjAwMDYwNjA4MDg1ODA2MDIwMDE5MDUxODEwMTkwNjIwMDAwYzc5MTkwNjIwMDA1Y2U1NjViODY1MTkyOTU1MDkwOTM1MDkxNTA2MDAwMDM2MjAwMDE5MjU3NjAwMDgzNjAwMTYwMDE2MGEwMWIwMzE2ODM2MDQwNTE2MjAwMDBmNTkxOTA2MjAwMDY0MzU2NWI2MDAwNjA0MDUxODA4MzAzODE2MDAwODY1YWYxOTE1MDUwM2Q4MDYwMDA4MTE0NjIwMDAxMzQ1NzYwNDA1MTkxNTA2MDFmMTk2MDNmM2QwMTE2ODIwMTYwNDA1MjNkODI1MjNkNjAwMDYwMjA4NDAxM2U2MjAwMDEzOTU2NWI2MDYwOTE1MDViNTA1MDkwNTA4MDYyMDAwMTkwNTc2MDQwNTE2MjQ2MWJjZDYwZTUxYjgxNTI2MDIwNjAwNDgyMDE1MjYwMWU2MDI0ODIwMTUyN2Y1MzY5Njc2ZTYxNzQ3NTcyNjU1NjYxNmM2OTY0NjE3NDZmNzIzYTIwNjQ2NTcwNmM2Zjc5NmQ2NTZlNzQwMDAwNjA0NDgyMDE1MjYwNjQwMTViNjA0MDUxODA5MTAzOTBmZDViNTA1YjYwNDA1MTYzMGIxMzVkM2Y2MGUxMWI4MDgyNTI5MDYwMDE2MDAxNjBhMDFiMDM4YTE2OTA2MzE2MjZiYTdlOTA2MjAwMDFjNDkwOGI5MDg2OTA2MDA0MDE2MjAwMDY2MTU2NWI2MDIwNjA0MDUxODA4MzAzODE4NjVhZmExNTgwMTU2MjAwMDFlMjU3M2Q2MDAwODAzZTNkNjAwMGZkNWI1MDUwNTA1MDYwNDA1MTNkNjAxZjE5NjAxZjgyMDExNjgyMDE4MDYwNDA1MjUwODEwMTkwNjIwMDAyMDg5MTkwNjIwMDA2OWQ1NjViNjAwMTYwMDE2MGUwMWIwMzE5MTYxNDk0NTA1MDUwNTA1MDYyMDAwNDRhNTY1YjgwNTExNTYyMDAwMmIxNTc2MDQwNTE2MzBiMTM1ZDNmNjBlMTFiODA4MjUyOTA2MDAxNjAwMTYwYTAxYjAzODcxNjkwNjMxNjI2YmE3ZTkwNjIwMDAyNTk5MDg4OTA4ODkwNjAwNDAxNjIwMDA2NjE1NjViNjAyMDYwNDA1MTgwODMwMzgxODY1YWZhMTU4MDE1NjIwMDAyNzc1NzNkNjAwMDgwM2UzZDYwMDBmZDViNTA1MDUwNTA2MDQwNTEzZDYwMWYxOTYwMWY4MjAxMTY4MjAxODA2MDQwNTI1MDgxMDE5MDYyMDAwMjlkOTE5MDYyMDAwNjlkNTY1YjYwMDE2MDAxNjBlMDFiMDMxOTE2MTQ5MTUwNTA2MjAwMDQ0YTU2NWI4MjUxNjA0MTE0NjIwMDAzMTk1NzYwNDA1MTYyNDYxYmNkNjBlNTFiODE1MjYwMjA2MDA0ODIwMTUyNjAzYTYwMjQ4MjAxNTI2MDAwODA1MTYwMjA2MjAwMDZlMDgzMzk4MTUxOTE1MjYwNDQ4MjAxNTI3ZjNhMjA2OTZlNzY2MTZjNjk2NDIwNzM2OTY3NmU2MTc0NzU3MjY1MjA2YzY1NmU2Nzc0NjgwMDAwMDAwMDAwMDA2MDY0ODIwMTUyNjA4NDAxNjIwMDAxODc1NjViNjIwMDAzMjM2MjAwMDQ2YjU2NWI1MDYwMjA4MzAxNTE2MDQwODA4NTAxNTE4NTUxODY5MzkyNjAwMDkxODU5MTkwODExMDYyMDAwMzRiNTc2MjAwMDM0YjYyMDAwNmM5NTY1YjAxNjAyMDAxNTE2MGY4MWM5MDUwNjAxYjgxMTQ4MDE1OTA2MjAwMDM2YjU3NTA4MDYwZmYxNjYwMWMxNDE1NWIxNTYyMDAwM2NmNTc2MDQwNTE2MjQ2MWJjZDYwZTUxYjgxNTI2MDIwNjAwNDgyMDE1MjYwM2I2MDI0ODIwMTUyNjAwMDgwNTE2MDIwNjIwMDA2ZTA4MzM5ODE1MTkxNTI2MDQ0ODIwMTUyN2YzYTIwNjk2ZTc2NjE2YzY5NjQyMDczNjk2NzZlNjE3NDc1NzI2NTIwNzYyMDc2NjE2Yzc1NjUwMDAwMDAwMDAwNjA2NDgyMDE1MjYwODQwMTYyMDAwMTg3NTY1YjYwNDA4MDUxNjAwMDgxNTI2MDIwODEwMTgwODM1MjhhOTA1MjYwZmY4MzE2OTE4MTAxOTE5MDkxNTI2MDYwODEwMTg0OTA1MjYwODA4MTAxODM5MDUyNjAwMTYwMDE2MGEwMWIwMzhhMTY5MDYwMDE5MDYwYTAwMTYwMjA2MDQwNTE2MDIwODEwMzkwODA4NDAzOTA4NTVhZmExNTgwMTU2MjAwMDQyZTU3M2Q2MDAwODAzZTNkNjAwMGZkNWI1MDUwNTA2MDIwNjA0MDUxMDM1MTYwMDE2MDAxNjBhMDFiMDMxNjE0OTU1MDUwNTA1MDUwNTA1YjkzOTI1MDUwNTA1NjViNjAwMDYwMjA4MjUxMTAxNTYyMDAwNDYzNTc2MDAwODBmZDViNTA4MDUxMDE1MTkwNTY1YjYwNDA1MTgwNjA2MDAxNjA0MDUyODA2MDAzOTA2MDIwODIwMjgwMzY4MzM3NTA5MTkyOTE1MDUwNTY1YjYwMDE2MDAxNjBhMDFiMDM4MTE2ODExNDYyMDAwNDlmNTc2MDAwODBmZDViNTA1NjViNjM0ZTQ4N2I3MTYwZTAxYjYwMDA1MjYwNDE2MDA0NTI2MDI0NjAwMGZkNWI2MDAwNWI4MzgxMTAxNTYyMDAwNGQ1NTc4MTgxMDE1MTgzODIwMTUyNjAyMDAxNjIwMDA0YmI1NjViNTA1MDYwMDA5MTAxNTI1NjViNjAwMDgyNjAxZjgzMDExMjYyMDAwNGYwNTc2MDAwODBmZDViODE1MTYwMDE2MDAxNjA0MDFiMDM4MDgyMTExNTYyMDAwNTBkNTc2MjAwMDUwZDYyMDAwNGEyNTY1YjYwNDA1MTYwMWY4MzAxNjAxZjE5OTA4MTE2NjAzZjAxMTY4MTAxOTA4MjgyMTE4MTgzMTAxNzE1NjIwMDA1Mzg1NzYyMDAwNTM4NjIwMDA0YTI1NjViODE2MDQwNTI4MzgxNTI4NjYwMjA4NTg4MDEwMTExMTU2MjAwMDU1MjU3NjAwMDgwZmQ1YjYyMDAwNTY1ODQ2MDIwODMwMTYwMjA4OTAxNjIwMDA0Yjg1NjViOTY5NTUwNTA1MDUwNTA1MDU2NWI2MDAwODA2MDAwNjA2MDg0ODYwMzEyMTU2MjAwMDU4NTU3NjAwMDgwZmQ1YjgzNTE2MjAwMDU5MjgxNjIwMDA0ODk1NjViNjAyMDg1MDE1MTYwNDA4NjAxNTE5MTk0NTA5MjUwNjAwMTYwMDE2MDQwMWIwMzgxMTExNTYyMDAwNWI2NTc2MDAwODBmZDViNjIwMDA1YzQ4NjgyODcwMTYyMDAwNGRlNTY1YjkxNTA1MDkyNTA5MjUwOTI1NjViNjAwMDgwNjAwMDYwNjA4NDg2MDMxMjE1NjIwMDA1ZTQ1NzYwMDA4MGZkNWI4MzUxNjIwMDA1ZjE4MTYyMDAwNDg5NTY1YjYwMjA4NTAxNTE5MDkzNTA2MDAxNjAwMTYwNDAxYjAzODA4MjExMTU2MjAwMDYwZjU3NjAwMDgwZmQ1YjYyMDAwNjFkODc4Mzg4MDE2MjAwMDRkZTU2NWI5MzUwNjA0MDg2MDE1MTkxNTA4MDgyMTExNTYyMDAwNjM0NTc2MDAwODBmZDViNTA2MjAwMDVjNDg2ODI4NzAxNjIwMDA0ZGU1NjViNjAwMDgyNTE2MjAwMDY1NzgxODQ2MDIwODcwMTYyMDAwNGI4NTY1YjkxOTA5MTAxOTI5MTUwNTA1NjViODI4MTUyNjA0MDYwMjA4MjAxNTI2MDAwODI1MTgwNjA0MDg0MDE1MjYyMDAwNjg4ODE2MDYwODUwMTYwMjA4NzAxNjIwMDA0Yjg1NjViNjAxZjAxNjAxZjE5MTY5MTkwOTEwMTYwNjAwMTkzOTI1MDUwNTA1NjViNjAwMDYwMjA4Mjg0MDMxMjE1NjIwMDA2YjA1NzYwMDA4MGZkNWI4MTUxNjAwMTYwMDE2MGUwMWIwMzE5ODExNjgxMTQ2MjAwMDQ0YTU3NjAwMDgwZmQ1YjYzNGU0ODdiNzE2MGUwMWI2MDAwNTI2MDMyNjAwNDUyNjAyNDYwMDBmZGZlNTM2OTY3NmU2MTc0NzU3MjY1NTY2MTZjNjk2NDYxNzQ2ZjcyMjM3MjY1NjM2Zjc2NjU3MjUzNjk2NzZlNjU3Mic7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb250cmFjdHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/constants/contracts.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/constants/solidity.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/constants/solidity.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.solidityPanic = exports.solidityError = exports.panicReasons = void 0;\nexports.panicReasons = {\n 1: 'An `assert` condition failed.',\n 17: 'Arithmic operation resulted in underflow or overflow.',\n 18: 'Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).',\n 33: 'Attempted to convert to an invalid type.',\n 34: 'Attempted to access a storage byte array that is incorrectly encoded.',\n 49: 'Performed `.pop()` on an empty array',\n 50: 'Array index is out of bounds.',\n 65: 'Allocated too much memory or created an array which is too large.',\n 81: 'Attempted to call a zero-initialized variable of internal function type.',\n};\nexports.solidityError = {\n inputs: [\n {\n name: 'message',\n type: 'string',\n },\n ],\n name: 'Error',\n type: 'error',\n};\nexports.solidityPanic = {\n inputs: [\n {\n name: 'reason',\n type: 'uint256',\n },\n ],\n name: 'Panic',\n type: 'error',\n};\n//# sourceMappingURL=solidity.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvc29saWRpdHkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QscUJBQXFCLEdBQUcscUJBQXFCLEdBQUcsb0JBQW9CO0FBQ3BFLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2NvbnN0YW50cy9zb2xpZGl0eS5qcz8zZDliIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zb2xpZGl0eVBhbmljID0gZXhwb3J0cy5zb2xpZGl0eUVycm9yID0gZXhwb3J0cy5wYW5pY1JlYXNvbnMgPSB2b2lkIDA7XG5leHBvcnRzLnBhbmljUmVhc29ucyA9IHtcbiAgICAxOiAnQW4gYGFzc2VydGAgY29uZGl0aW9uIGZhaWxlZC4nLFxuICAgIDE3OiAnQXJpdGhtaWMgb3BlcmF0aW9uIHJlc3VsdGVkIGluIHVuZGVyZmxvdyBvciBvdmVyZmxvdy4nLFxuICAgIDE4OiAnRGl2aXNpb24gb3IgbW9kdWxvIGJ5IHplcm8gKGUuZy4gYDUgLyAwYCBvciBgMjMgJSAwYCkuJyxcbiAgICAzMzogJ0F0dGVtcHRlZCB0byBjb252ZXJ0IHRvIGFuIGludmFsaWQgdHlwZS4nLFxuICAgIDM0OiAnQXR0ZW1wdGVkIHRvIGFjY2VzcyBhIHN0b3JhZ2UgYnl0ZSBhcnJheSB0aGF0IGlzIGluY29ycmVjdGx5IGVuY29kZWQuJyxcbiAgICA0OTogJ1BlcmZvcm1lZCBgLnBvcCgpYCBvbiBhbiBlbXB0eSBhcnJheScsXG4gICAgNTA6ICdBcnJheSBpbmRleCBpcyBvdXQgb2YgYm91bmRzLicsXG4gICAgNjU6ICdBbGxvY2F0ZWQgdG9vIG11Y2ggbWVtb3J5IG9yIGNyZWF0ZWQgYW4gYXJyYXkgd2hpY2ggaXMgdG9vIGxhcmdlLicsXG4gICAgODE6ICdBdHRlbXB0ZWQgdG8gY2FsbCBhIHplcm8taW5pdGlhbGl6ZWQgdmFyaWFibGUgb2YgaW50ZXJuYWwgZnVuY3Rpb24gdHlwZS4nLFxufTtcbmV4cG9ydHMuc29saWRpdHlFcnJvciA9IHtcbiAgICBpbnB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBuYW1lOiAnRXJyb3InLFxuICAgIHR5cGU6ICdlcnJvcicsXG59O1xuZXhwb3J0cy5zb2xpZGl0eVBhbmljID0ge1xuICAgIGlucHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncmVhc29uJyxcbiAgICAgICAgICAgIHR5cGU6ICd1aW50MjU2JyxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIG5hbWU6ICdQYW5pYycsXG4gICAgdHlwZTogJ2Vycm9yJyxcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zb2xpZGl0eS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/constants/solidity.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/constants/unit.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/constants/unit.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.weiUnits = exports.gweiUnits = exports.etherUnits = void 0;\nexports.etherUnits = {\n gwei: 9,\n wei: 18,\n};\nexports.gweiUnits = {\n ether: -9,\n wei: 9,\n};\nexports.weiUnits = {\n ether: -18,\n gwei: -9,\n};\n//# sourceMappingURL=unit.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9jb25zdGFudHMvdW5pdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0I7QUFDekQsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvY29uc3RhbnRzL3VuaXQuanM/NDgyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2VpVW5pdHMgPSBleHBvcnRzLmd3ZWlVbml0cyA9IGV4cG9ydHMuZXRoZXJVbml0cyA9IHZvaWQgMDtcbmV4cG9ydHMuZXRoZXJVbml0cyA9IHtcbiAgICBnd2VpOiA5LFxuICAgIHdlaTogMTgsXG59O1xuZXhwb3J0cy5nd2VpVW5pdHMgPSB7XG4gICAgZXRoZXI6IC05LFxuICAgIHdlaTogOSxcbn07XG5leHBvcnRzLndlaVVuaXRzID0ge1xuICAgIGV0aGVyOiAtMTgsXG4gICAgZ3dlaTogLTksXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dW5pdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/constants/unit.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/abi.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/abi.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnsupportedPackedAbiType = exports.InvalidDefinitionTypeError = exports.InvalidArrayError = exports.InvalidAbiDecodingTypeError = exports.InvalidAbiEncodingTypeError = exports.DecodeLogTopicsMismatch = exports.DecodeLogDataMismatch = exports.BytesSizeMismatchError = exports.AbiFunctionSignatureNotFoundError = exports.AbiFunctionOutputsNotFoundError = exports.AbiFunctionNotFoundError = exports.AbiEventNotFoundError = exports.AbiEventSignatureNotFoundError = exports.AbiEventSignatureEmptyTopicsError = exports.AbiErrorSignatureNotFoundError = exports.AbiErrorNotFoundError = exports.AbiErrorInputsNotFoundError = exports.AbiEncodingLengthMismatchError = exports.AbiEncodingBytesSizeMismatchError = exports.AbiEncodingArrayLengthMismatchError = exports.AbiDecodingZeroDataError = exports.AbiDecodingDataSizeTooSmallError = exports.AbiDecodingDataSizeInvalidError = exports.AbiConstructorParamsNotFoundError = exports.AbiConstructorNotFoundError = void 0;\nconst formatAbiItem_js_1 = __webpack_require__(/*! ../utils/abi/formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nconst size_js_1 = __webpack_require__(/*! ../utils/data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass AbiConstructorNotFoundError extends base_js_1.BaseError {\n constructor({ docsPath }) {\n super([\n 'A constructor was not found on the ABI.',\n 'Make sure you are using the correct ABI and that the constructor exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiConstructorNotFoundError'\n });\n }\n}\nexports.AbiConstructorNotFoundError = AbiConstructorNotFoundError;\nclass AbiConstructorParamsNotFoundError extends base_js_1.BaseError {\n constructor({ docsPath }) {\n super([\n 'Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.',\n 'Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiConstructorParamsNotFoundError'\n });\n }\n}\nexports.AbiConstructorParamsNotFoundError = AbiConstructorParamsNotFoundError;\nclass AbiDecodingDataSizeInvalidError extends base_js_1.BaseError {\n constructor({ data, size }) {\n super([\n `Data size of ${size} bytes is invalid.`,\n 'Size must be in increments of 32 bytes (size % 32 === 0).',\n ].join('\\n'), { metaMessages: [`Data: ${data} (${size} bytes)`] });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingDataSizeInvalidError'\n });\n }\n}\nexports.AbiDecodingDataSizeInvalidError = AbiDecodingDataSizeInvalidError;\nclass AbiDecodingDataSizeTooSmallError extends base_js_1.BaseError {\n constructor({ data, params, size, }) {\n super([`Data size of ${size} bytes is too small for given parameters.`].join('\\n'), {\n metaMessages: [\n `Params: (${(0, formatAbiItem_js_1.formatAbiParams)(params, { includeName: true })})`,\n `Data: ${data} (${size} bytes)`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingDataSizeTooSmallError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n this.params = params;\n this.size = size;\n }\n}\nexports.AbiDecodingDataSizeTooSmallError = AbiDecodingDataSizeTooSmallError;\nclass AbiDecodingZeroDataError extends base_js_1.BaseError {\n constructor() {\n super('Cannot decode zero data (\"0x\") with ABI parameters.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingZeroDataError'\n });\n }\n}\nexports.AbiDecodingZeroDataError = AbiDecodingZeroDataError;\nclass AbiEncodingArrayLengthMismatchError extends base_js_1.BaseError {\n constructor({ expectedLength, givenLength, type, }) {\n super([\n `ABI encoding array length mismatch for type ${type}.`,\n `Expected length: ${expectedLength}`,\n `Given length: ${givenLength}`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingArrayLengthMismatchError'\n });\n }\n}\nexports.AbiEncodingArrayLengthMismatchError = AbiEncodingArrayLengthMismatchError;\nclass AbiEncodingBytesSizeMismatchError extends base_js_1.BaseError {\n constructor({ expectedSize, value }) {\n super(`Size of bytes \"${value}\" (bytes${(0, size_js_1.size)(value)}) does not match expected size (bytes${expectedSize}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingBytesSizeMismatchError'\n });\n }\n}\nexports.AbiEncodingBytesSizeMismatchError = AbiEncodingBytesSizeMismatchError;\nclass AbiEncodingLengthMismatchError extends base_js_1.BaseError {\n constructor({ expectedLength, givenLength, }) {\n super([\n 'ABI encoding params/values length mismatch.',\n `Expected length (params): ${expectedLength}`,\n `Given length (values): ${givenLength}`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingLengthMismatchError'\n });\n }\n}\nexports.AbiEncodingLengthMismatchError = AbiEncodingLengthMismatchError;\nclass AbiErrorInputsNotFoundError extends base_js_1.BaseError {\n constructor(errorName, { docsPath }) {\n super([\n `Arguments (\\`args\\`) were provided to \"${errorName}\", but \"${errorName}\" on the ABI does not contain any parameters (\\`inputs\\`).`,\n 'Cannot encode error result without knowing what the parameter types are.',\n 'Make sure you are using the correct ABI and that the inputs exist on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorInputsNotFoundError'\n });\n }\n}\nexports.AbiErrorInputsNotFoundError = AbiErrorInputsNotFoundError;\nclass AbiErrorNotFoundError extends base_js_1.BaseError {\n constructor(errorName, { docsPath } = {}) {\n super([\n `Error ${errorName ? `\"${errorName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorNotFoundError'\n });\n }\n}\nexports.AbiErrorNotFoundError = AbiErrorNotFoundError;\nclass AbiErrorSignatureNotFoundError extends base_js_1.BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded error signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorSignatureNotFoundError'\n });\n }\n}\nexports.AbiErrorSignatureNotFoundError = AbiErrorSignatureNotFoundError;\nclass AbiEventSignatureEmptyTopicsError extends base_js_1.BaseError {\n constructor({ docsPath }) {\n super('Cannot extract event signature from empty topics.', {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventSignatureEmptyTopicsError'\n });\n }\n}\nexports.AbiEventSignatureEmptyTopicsError = AbiEventSignatureEmptyTopicsError;\nclass AbiEventSignatureNotFoundError extends base_js_1.BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded event signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the event exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventSignatureNotFoundError'\n });\n }\n}\nexports.AbiEventSignatureNotFoundError = AbiEventSignatureNotFoundError;\nclass AbiEventNotFoundError extends base_js_1.BaseError {\n constructor(eventName, { docsPath } = {}) {\n super([\n `Event ${eventName ? `\"${eventName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the event exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventNotFoundError'\n });\n }\n}\nexports.AbiEventNotFoundError = AbiEventNotFoundError;\nclass AbiFunctionNotFoundError extends base_js_1.BaseError {\n constructor(functionName, { docsPath } = {}) {\n super([\n `Function ${functionName ? `\"${functionName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the function exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionNotFoundError'\n });\n }\n}\nexports.AbiFunctionNotFoundError = AbiFunctionNotFoundError;\nclass AbiFunctionOutputsNotFoundError extends base_js_1.BaseError {\n constructor(functionName, { docsPath }) {\n super([\n `Function \"${functionName}\" does not contain any \\`outputs\\` on ABI.`,\n 'Cannot decode function result without knowing what the parameter types are.',\n 'Make sure you are using the correct ABI and that the function exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionOutputsNotFoundError'\n });\n }\n}\nexports.AbiFunctionOutputsNotFoundError = AbiFunctionOutputsNotFoundError;\nclass AbiFunctionSignatureNotFoundError extends base_js_1.BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded function signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the function exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionSignatureNotFoundError'\n });\n }\n}\nexports.AbiFunctionSignatureNotFoundError = AbiFunctionSignatureNotFoundError;\nclass BytesSizeMismatchError extends base_js_1.BaseError {\n constructor({ expectedSize, givenSize, }) {\n super(`Expected bytes${expectedSize}, got bytes${givenSize}.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BytesSizeMismatchError'\n });\n }\n}\nexports.BytesSizeMismatchError = BytesSizeMismatchError;\nclass DecodeLogDataMismatch extends base_js_1.BaseError {\n constructor({ abiItem, data, params, size, }) {\n super([\n `Data size of ${size} bytes is too small for non-indexed event parameters.`,\n ].join('\\n'), {\n metaMessages: [\n `Params: (${(0, formatAbiItem_js_1.formatAbiParams)(params, { includeName: true })})`,\n `Data: ${data} (${size} bytes)`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DecodeLogDataMismatch'\n });\n Object.defineProperty(this, \"abiItem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.abiItem = abiItem;\n this.data = data;\n this.params = params;\n this.size = size;\n }\n}\nexports.DecodeLogDataMismatch = DecodeLogDataMismatch;\nclass DecodeLogTopicsMismatch extends base_js_1.BaseError {\n constructor({ abiItem, param, }) {\n super([\n `Expected a topic for indexed event parameter${param.name ? ` \"${param.name}\"` : ''} on event \"${(0, formatAbiItem_js_1.formatAbiItem)(abiItem, { includeName: true })}\".`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DecodeLogTopicsMismatch'\n });\n Object.defineProperty(this, \"abiItem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.abiItem = abiItem;\n }\n}\nexports.DecodeLogTopicsMismatch = DecodeLogTopicsMismatch;\nclass InvalidAbiEncodingTypeError extends base_js_1.BaseError {\n constructor(type, { docsPath }) {\n super([\n `Type \"${type}\" is not a valid encoding type.`,\n 'Please provide a valid ABI type.',\n ].join('\\n'), { docsPath });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiEncodingType'\n });\n }\n}\nexports.InvalidAbiEncodingTypeError = InvalidAbiEncodingTypeError;\nclass InvalidAbiDecodingTypeError extends base_js_1.BaseError {\n constructor(type, { docsPath }) {\n super([\n `Type \"${type}\" is not a valid decoding type.`,\n 'Please provide a valid ABI type.',\n ].join('\\n'), { docsPath });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiDecodingType'\n });\n }\n}\nexports.InvalidAbiDecodingTypeError = InvalidAbiDecodingTypeError;\nclass InvalidArrayError extends base_js_1.BaseError {\n constructor(value) {\n super([`Value \"${value}\" is not a valid array.`].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidArrayError'\n });\n }\n}\nexports.InvalidArrayError = InvalidArrayError;\nclass InvalidDefinitionTypeError extends base_js_1.BaseError {\n constructor(type) {\n super([\n `\"${type}\" is not a valid definition type.`,\n 'Valid types: \"function\", \"event\", \"error\"',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidDefinitionTypeError'\n });\n }\n}\nexports.InvalidDefinitionTypeError = InvalidDefinitionTypeError;\nclass UnsupportedPackedAbiType extends base_js_1.BaseError {\n constructor(type) {\n super(`Type \"${type}\" is not supported for packed encoding.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnsupportedPackedAbiType'\n });\n }\n}\nexports.UnsupportedPackedAbiType = UnsupportedPackedAbiType;\n//# sourceMappingURL=abi.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvYWJpLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdDQUFnQyxHQUFHLGtDQUFrQyxHQUFHLHlCQUF5QixHQUFHLG1DQUFtQyxHQUFHLG1DQUFtQyxHQUFHLCtCQUErQixHQUFHLDZCQUE2QixHQUFHLDhCQUE4QixHQUFHLHlDQUF5QyxHQUFHLHVDQUF1QyxHQUFHLGdDQUFnQyxHQUFHLDZCQUE2QixHQUFHLHNDQUFzQyxHQUFHLHlDQUF5QyxHQUFHLHNDQUFzQyxHQUFHLDZCQUE2QixHQUFHLG1DQUFtQyxHQUFHLHNDQUFzQyxHQUFHLHlDQUF5QyxHQUFHLDJDQUEyQyxHQUFHLGdDQUFnQyxHQUFHLHdDQUF3QyxHQUFHLHVDQUF1QyxHQUFHLHlDQUF5QyxHQUFHLG1DQUFtQztBQUMxN0IsMkJBQTJCLG1CQUFPLENBQUMsOEZBQStCO0FBQ2xFLGtCQUFrQixtQkFBTyxDQUFDLDhFQUF1QjtBQUNqRCxrQkFBa0IsbUJBQU8sQ0FBQyw4REFBVztBQUNyQztBQUNBLGtCQUFrQixVQUFVO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0Esa0JBQWtCLFVBQVU7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQSxrQkFBa0IsWUFBWTtBQUM5QjtBQUNBLDRCQUE0QixNQUFNO0FBQ2xDO0FBQ0Esd0JBQXdCLHdCQUF3QixNQUFNLEdBQUcsTUFBTSxVQUFVO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBLGtCQUFr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QUFDQSxxQkFBcUIsS0FBSztBQUMxQjtBQUNBLHdCQUF3QixVQUFVO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBLHdCQUF3QixVQUFVO0FBQ2xDO0FBQ0EscUJBQXFCLEtBQUs7QUFDMUI7QUFDQSx3QkFBd0IsVUFBVTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLHlCQUF5QixNQUFNO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBSztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQSx1QkFBdUIsS0FBSztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2FiaS5qcz82MzM5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5VbnN1cHBvcnRlZFBhY2tlZEFiaVR5cGUgPSBleHBvcnRzLkludmFsaWREZWZpbml0aW9uVHlwZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQXJyYXlFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaURlY29kaW5nVHlwZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpRW5jb2RpbmdUeXBlRXJyb3IgPSBleHBvcnRzLkRlY29kZUxvZ1RvcGljc01pc21hdGNoID0gZXhwb3J0cy5EZWNvZGVMb2dEYXRhTWlzbWF0Y2ggPSBleHBvcnRzLkJ5dGVzU2l6ZU1pc21hdGNoRXJyb3IgPSBleHBvcnRzLkFiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpRnVuY3Rpb25PdXRwdXRzTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yID0gZXhwb3J0cy5BYmlFdmVudE5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLkFiaUV2ZW50U2lnbmF0dXJlTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yID0gZXhwb3J0cy5BYmlFcnJvclNpZ25hdHVyZU5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLkFiaUVycm9yTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpRXJyb3JJbnB1dHNOb3RGb3VuZEVycm9yID0gZXhwb3J0cy5BYmlFbmNvZGluZ0xlbmd0aE1pc21hdGNoRXJyb3IgPSBleHBvcnRzLkFiaUVuY29kaW5nQnl0ZXNTaXplTWlzbWF0Y2hFcnJvciA9IGV4cG9ydHMuQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3IgPSBleHBvcnRzLkFiaURlY29kaW5nWmVyb0RhdGFFcnJvciA9IGV4cG9ydHMuQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3IgPSBleHBvcnRzLkFiaURlY29kaW5nRGF0YVNpemVJbnZhbGlkRXJyb3IgPSBleHBvcnRzLkFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpQ29uc3RydWN0b3JOb3RGb3VuZEVycm9yID0gdm9pZCAwO1xuY29uc3QgZm9ybWF0QWJpSXRlbV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL2FiaS9mb3JtYXRBYmlJdGVtLmpzXCIpO1xuY29uc3Qgc2l6ZV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL2RhdGEvc2l6ZS5qc1wiKTtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBBYmlDb25zdHJ1Y3Rvck5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRvY3NQYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgJ0EgY29uc3RydWN0b3Igd2FzIG5vdCBmb3VuZCBvbiB0aGUgQUJJLicsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBjb25zdHJ1Y3RvciBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpQ29uc3RydWN0b3JOb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvciA9IEFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvcjtcbmNsYXNzIEFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZG9jc1BhdGggfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnQ29uc3RydWN0b3IgYXJndW1lbnRzIHdlcmUgcHJvdmlkZWQgKGBhcmdzYCksIGJ1dCBhIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMgKGBpbnB1dHNgKSB3ZXJlIG5vdCBmb3VuZCBvbiB0aGUgQUJJLicsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJLCBhbmQgdGhhdCB0aGUgYGlucHV0c2AgYXR0cmlidXRlIG9uIHRoZSBjb25zdHJ1Y3RvciBleGlzdHMuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpQ29uc3RydWN0b3JQYXJhbXNOb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvciA9IEFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvcjtcbmNsYXNzIEFiaURlY29kaW5nRGF0YVNpemVJbnZhbGlkRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRhdGEsIHNpemUgfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRGF0YSBzaXplIG9mICR7c2l6ZX0gYnl0ZXMgaXMgaW52YWxpZC5gLFxuICAgICAgICAgICAgJ1NpemUgbXVzdCBiZSBpbiBpbmNyZW1lbnRzIG9mIDMyIGJ5dGVzIChzaXplICUgMzIgPT09IDApLicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHsgbWV0YU1lc3NhZ2VzOiBbYERhdGE6ICR7ZGF0YX0gKCR7c2l6ZX0gYnl0ZXMpYF0gfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlEZWNvZGluZ0RhdGFTaXplSW52YWxpZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaURlY29kaW5nRGF0YVNpemVJbnZhbGlkRXJyb3IgPSBBYmlEZWNvZGluZ0RhdGFTaXplSW52YWxpZEVycm9yO1xuY2xhc3MgQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRhdGEsIHBhcmFtcywgc2l6ZSwgfSkge1xuICAgICAgICBzdXBlcihbYERhdGEgc2l6ZSBvZiAke3NpemV9IGJ5dGVzIGlzIHRvbyBzbWFsbCBmb3IgZ2l2ZW4gcGFyYW1ldGVycy5gXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgYFBhcmFtczogKCR7KDAsIGZvcm1hdEFiaUl0ZW1fanNfMS5mb3JtYXRBYmlQYXJhbXMpKHBhcmFtcywgeyBpbmNsdWRlTmFtZTogdHJ1ZSB9KX0pYCxcbiAgICAgICAgICAgICAgICBgRGF0YTogICAke2RhdGF9ICgke3NpemV9IGJ5dGVzKWAsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaURlY29kaW5nRGF0YVNpemVUb29TbWFsbEVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZGF0YVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJwYXJhbXNcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic2l6ZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICB9XG59XG5leHBvcnRzLkFiaURlY29kaW5nRGF0YVNpemVUb29TbWFsbEVycm9yID0gQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3I7XG5jbGFzcyBBYmlEZWNvZGluZ1plcm9EYXRhRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ0Nhbm5vdCBkZWNvZGUgemVybyBkYXRhIChcIjB4XCIpIHdpdGggQUJJIHBhcmFtZXRlcnMuJyk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlEZWNvZGluZ1plcm9EYXRhRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yID0gQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yO1xuY2xhc3MgQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGV4cGVjdGVkTGVuZ3RoLCBnaXZlbkxlbmd0aCwgdHlwZSwgfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgQUJJIGVuY29kaW5nIGFycmF5IGxlbmd0aCBtaXNtYXRjaCBmb3IgdHlwZSAke3R5cGV9LmAsXG4gICAgICAgICAgICBgRXhwZWN0ZWQgbGVuZ3RoOiAke2V4cGVjdGVkTGVuZ3RofWAsXG4gICAgICAgICAgICBgR2l2ZW4gbGVuZ3RoOiAke2dpdmVuTGVuZ3RofWAsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3IgPSBBYmlFbmNvZGluZ0FycmF5TGVuZ3RoTWlzbWF0Y2hFcnJvcjtcbmNsYXNzIEFiaUVuY29kaW5nQnl0ZXNTaXplTWlzbWF0Y2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZXhwZWN0ZWRTaXplLCB2YWx1ZSB9KSB7XG4gICAgICAgIHN1cGVyKGBTaXplIG9mIGJ5dGVzIFwiJHt2YWx1ZX1cIiAoYnl0ZXMkeygwLCBzaXplX2pzXzEuc2l6ZSkodmFsdWUpfSkgZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgc2l6ZSAoYnl0ZXMke2V4cGVjdGVkU2l6ZX0pLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRW5jb2RpbmdCeXRlc1NpemVNaXNtYXRjaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaUVuY29kaW5nQnl0ZXNTaXplTWlzbWF0Y2hFcnJvciA9IEFiaUVuY29kaW5nQnl0ZXNTaXplTWlzbWF0Y2hFcnJvcjtcbmNsYXNzIEFiaUVuY29kaW5nTGVuZ3RoTWlzbWF0Y2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZXhwZWN0ZWRMZW5ndGgsIGdpdmVuTGVuZ3RoLCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgICdBQkkgZW5jb2RpbmcgcGFyYW1zL3ZhbHVlcyBsZW5ndGggbWlzbWF0Y2guJyxcbiAgICAgICAgICAgIGBFeHBlY3RlZCBsZW5ndGggKHBhcmFtcyk6ICR7ZXhwZWN0ZWRMZW5ndGh9YCxcbiAgICAgICAgICAgIGBHaXZlbiBsZW5ndGggKHZhbHVlcyk6ICR7Z2l2ZW5MZW5ndGh9YCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlFbmNvZGluZ0xlbmd0aE1pc21hdGNoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yID0gQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yO1xuY2xhc3MgQWJpRXJyb3JJbnB1dHNOb3RGb3VuZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoZXJyb3JOYW1lLCB7IGRvY3NQYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYEFyZ3VtZW50cyAoXFxgYXJnc1xcYCkgd2VyZSBwcm92aWRlZCB0byBcIiR7ZXJyb3JOYW1lfVwiLCBidXQgXCIke2Vycm9yTmFtZX1cIiBvbiB0aGUgQUJJIGRvZXMgbm90IGNvbnRhaW4gYW55IHBhcmFtZXRlcnMgKFxcYGlucHV0c1xcYCkuYCxcbiAgICAgICAgICAgICdDYW5ub3QgZW5jb2RlIGVycm9yIHJlc3VsdCB3aXRob3V0IGtub3dpbmcgd2hhdCB0aGUgcGFyYW1ldGVyIHR5cGVzIGFyZS4nLFxuICAgICAgICAgICAgJ01ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIHRoZSBjb3JyZWN0IEFCSSBhbmQgdGhhdCB0aGUgaW5wdXRzIGV4aXN0IG9uIGl0LicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHtcbiAgICAgICAgICAgIGRvY3NQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaUVycm9ySW5wdXRzTm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5BYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3IgPSBBYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3I7XG5jbGFzcyBBYmlFcnJvck5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihlcnJvck5hbWUsIHsgZG9jc1BhdGggfSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFcnJvciAke2Vycm9yTmFtZSA/IGBcIiR7ZXJyb3JOYW1lfVwiIGAgOiAnJ31ub3QgZm91bmQgb24gQUJJLmAsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBlcnJvciBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRXJyb3JOb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaUVycm9yTm90Rm91bmRFcnJvciA9IEFiaUVycm9yTm90Rm91bmRFcnJvcjtcbmNsYXNzIEFiaUVycm9yU2lnbmF0dXJlTm90Rm91bmRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHNpZ25hdHVyZSwgeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFbmNvZGVkIGVycm9yIHNpZ25hdHVyZSBcIiR7c2lnbmF0dXJlfVwiIG5vdCBmb3VuZCBvbiBBQkkuYCxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkkgYW5kIHRoYXQgdGhlIGVycm9yIGV4aXN0cyBvbiBpdC4nLFxuICAgICAgICAgICAgYFlvdSBjYW4gbG9vayB1cCB0aGUgc2lnbmF0dXJlIGhlcmU6IGh0dHBzOi8vb3BlbmNoYWluLnh5ei9zaWduYXR1cmVzP3F1ZXJ5PSR7c2lnbmF0dXJlfS5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlFcnJvclNpZ25hdHVyZU5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQWJpRXJyb3JTaWduYXR1cmVOb3RGb3VuZEVycm9yID0gQWJpRXJyb3JTaWduYXR1cmVOb3RGb3VuZEVycm9yO1xuY2xhc3MgQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKCdDYW5ub3QgZXh0cmFjdCBldmVudCBzaWduYXR1cmUgZnJvbSBlbXB0eSB0b3BpY3MuJywge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaUV2ZW50U2lnbmF0dXJlRW1wdHlUb3BpY3NFcnJvciA9IEFiaUV2ZW50U2lnbmF0dXJlRW1wdHlUb3BpY3NFcnJvcjtcbmNsYXNzIEFiaUV2ZW50U2lnbmF0dXJlTm90Rm91bmRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHNpZ25hdHVyZSwgeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFbmNvZGVkIGV2ZW50IHNpZ25hdHVyZSBcIiR7c2lnbmF0dXJlfVwiIG5vdCBmb3VuZCBvbiBBQkkuYCxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkkgYW5kIHRoYXQgdGhlIGV2ZW50IGV4aXN0cyBvbiBpdC4nLFxuICAgICAgICAgICAgYFlvdSBjYW4gbG9vayB1cCB0aGUgc2lnbmF0dXJlIGhlcmU6IGh0dHBzOi8vb3BlbmNoYWluLnh5ei9zaWduYXR1cmVzP3F1ZXJ5PSR7c2lnbmF0dXJlfS5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlFdmVudFNpZ25hdHVyZU5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQWJpRXZlbnRTaWduYXR1cmVOb3RGb3VuZEVycm9yID0gQWJpRXZlbnRTaWduYXR1cmVOb3RGb3VuZEVycm9yO1xuY2xhc3MgQWJpRXZlbnROb3RGb3VuZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoZXZlbnROYW1lLCB7IGRvY3NQYXRoIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRXZlbnQgJHtldmVudE5hbWUgPyBgXCIke2V2ZW50TmFtZX1cIiBgIDogJyd9bm90IGZvdW5kIG9uIEFCSS5gLFxuICAgICAgICAgICAgJ01ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIHRoZSBjb3JyZWN0IEFCSSBhbmQgdGhhdCB0aGUgZXZlbnQgZXhpc3RzIG9uIGl0LicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHtcbiAgICAgICAgICAgIGRvY3NQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaUV2ZW50Tm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5BYmlFdmVudE5vdEZvdW5kRXJyb3IgPSBBYmlFdmVudE5vdEZvdW5kRXJyb3I7XG5jbGFzcyBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWUsIHsgZG9jc1BhdGggfSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBGdW5jdGlvbiAke2Z1bmN0aW9uTmFtZSA/IGBcIiR7ZnVuY3Rpb25OYW1lfVwiIGAgOiAnJ31ub3QgZm91bmQgb24gQUJJLmAsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBmdW5jdGlvbiBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFiaUZ1bmN0aW9uTm90Rm91bmRFcnJvciA9IEFiaUZ1bmN0aW9uTm90Rm91bmRFcnJvcjtcbmNsYXNzIEFiaUZ1bmN0aW9uT3V0cHV0c05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWUsIHsgZG9jc1BhdGggfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRnVuY3Rpb24gXCIke2Z1bmN0aW9uTmFtZX1cIiBkb2VzIG5vdCBjb250YWluIGFueSBcXGBvdXRwdXRzXFxgIG9uIEFCSS5gLFxuICAgICAgICAgICAgJ0Nhbm5vdCBkZWNvZGUgZnVuY3Rpb24gcmVzdWx0IHdpdGhvdXQga25vd2luZyB3aGF0IHRoZSBwYXJhbWV0ZXIgdHlwZXMgYXJlLicsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBmdW5jdGlvbiBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRnVuY3Rpb25PdXRwdXRzTm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5BYmlGdW5jdGlvbk91dHB1dHNOb3RGb3VuZEVycm9yID0gQWJpRnVuY3Rpb25PdXRwdXRzTm90Rm91bmRFcnJvcjtcbmNsYXNzIEFiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHNpZ25hdHVyZSwgeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFbmNvZGVkIGZ1bmN0aW9uIHNpZ25hdHVyZSBcIiR7c2lnbmF0dXJlfVwiIG5vdCBmb3VuZCBvbiBBQkkuYCxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkkgYW5kIHRoYXQgdGhlIGZ1bmN0aW9uIGV4aXN0cyBvbiBpdC4nLFxuICAgICAgICAgICAgYFlvdSBjYW4gbG9vayB1cCB0aGUgc2lnbmF0dXJlIGhlcmU6IGh0dHBzOi8vb3BlbmNoYWluLnh5ei9zaWduYXR1cmVzP3F1ZXJ5PSR7c2lnbmF0dXJlfS5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlGdW5jdGlvblNpZ25hdHVyZU5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQWJpRnVuY3Rpb25TaWduYXR1cmVOb3RGb3VuZEVycm9yID0gQWJpRnVuY3Rpb25TaWduYXR1cmVOb3RGb3VuZEVycm9yO1xuY2xhc3MgQnl0ZXNTaXplTWlzbWF0Y2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZXhwZWN0ZWRTaXplLCBnaXZlblNpemUsIH0pIHtcbiAgICAgICAgc3VwZXIoYEV4cGVjdGVkIGJ5dGVzJHtleHBlY3RlZFNpemV9LCBnb3QgYnl0ZXMke2dpdmVuU2l6ZX0uYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdCeXRlc1NpemVNaXNtYXRjaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkJ5dGVzU2l6ZU1pc21hdGNoRXJyb3IgPSBCeXRlc1NpemVNaXNtYXRjaEVycm9yO1xuY2xhc3MgRGVjb2RlTG9nRGF0YU1pc21hdGNoIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBhYmlJdGVtLCBkYXRhLCBwYXJhbXMsIHNpemUsIH0pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYERhdGEgc2l6ZSBvZiAke3NpemV9IGJ5dGVzIGlzIHRvbyBzbWFsbCBmb3Igbm9uLWluZGV4ZWQgZXZlbnQgcGFyYW1ldGVycy5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgUGFyYW1zOiAoJHsoMCwgZm9ybWF0QWJpSXRlbV9qc18xLmZvcm1hdEFiaVBhcmFtcykocGFyYW1zLCB7IGluY2x1ZGVOYW1lOiB0cnVlIH0pfSlgLFxuICAgICAgICAgICAgICAgIGBEYXRhOiAgICR7ZGF0YX0gKCR7c2l6ZX0gYnl0ZXMpYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnRGVjb2RlTG9nRGF0YU1pc21hdGNoJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYWJpSXRlbVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkYXRhXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBhcmFtc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJzaXplXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWJpSXRlbSA9IGFiaUl0ZW07XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgICAgICB0aGlzLnNpemUgPSBzaXplO1xuICAgIH1cbn1cbmV4cG9ydHMuRGVjb2RlTG9nRGF0YU1pc21hdGNoID0gRGVjb2RlTG9nRGF0YU1pc21hdGNoO1xuY2xhc3MgRGVjb2RlTG9nVG9waWNzTWlzbWF0Y2ggZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGFiaUl0ZW0sIHBhcmFtLCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFeHBlY3RlZCBhIHRvcGljIGZvciBpbmRleGVkIGV2ZW50IHBhcmFtZXRlciR7cGFyYW0ubmFtZSA/IGAgXCIke3BhcmFtLm5hbWV9XCJgIDogJyd9IG9uIGV2ZW50IFwiJHsoMCwgZm9ybWF0QWJpSXRlbV9qc18xLmZvcm1hdEFiaUl0ZW0pKGFiaUl0ZW0sIHsgaW5jbHVkZU5hbWU6IHRydWUgfSl9XCIuYCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdEZWNvZGVMb2dUb3BpY3NNaXNtYXRjaCdcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImFiaUl0ZW1cIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hYmlJdGVtID0gYWJpSXRlbTtcbiAgICB9XG59XG5leHBvcnRzLkRlY29kZUxvZ1RvcGljc01pc21hdGNoID0gRGVjb2RlTG9nVG9waWNzTWlzbWF0Y2g7XG5jbGFzcyBJbnZhbGlkQWJpRW5jb2RpbmdUeXBlRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCB7IGRvY3NQYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYFR5cGUgXCIke3R5cGV9XCIgaXMgbm90IGEgdmFsaWQgZW5jb2RpbmcgdHlwZS5gLFxuICAgICAgICAgICAgJ1BsZWFzZSBwcm92aWRlIGEgdmFsaWQgQUJJIHR5cGUuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwgeyBkb2NzUGF0aCB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBYmlFbmNvZGluZ1R5cGUnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZEFiaUVuY29kaW5nVHlwZUVycm9yID0gSW52YWxpZEFiaUVuY29kaW5nVHlwZUVycm9yO1xuY2xhc3MgSW52YWxpZEFiaURlY29kaW5nVHlwZUVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IodHlwZSwgeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBUeXBlIFwiJHt0eXBlfVwiIGlzIG5vdCBhIHZhbGlkIGRlY29kaW5nIHR5cGUuYCxcbiAgICAgICAgICAgICdQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIEFCSSB0eXBlLicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHsgZG9jc1BhdGggfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQWJpRGVjb2RpbmdUeXBlJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkludmFsaWRBYmlEZWNvZGluZ1R5cGVFcnJvciA9IEludmFsaWRBYmlEZWNvZGluZ1R5cGVFcnJvcjtcbmNsYXNzIEludmFsaWRBcnJheUVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgc3VwZXIoW2BWYWx1ZSBcIiR7dmFsdWV9XCIgaXMgbm90IGEgdmFsaWQgYXJyYXkuYF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEFycmF5RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZEFycmF5RXJyb3IgPSBJbnZhbGlkQXJyYXlFcnJvcjtcbmNsYXNzIEludmFsaWREZWZpbml0aW9uVHlwZUVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IodHlwZSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgXCIke3R5cGV9XCIgaXMgbm90IGEgdmFsaWQgZGVmaW5pdGlvbiB0eXBlLmAsXG4gICAgICAgICAgICAnVmFsaWQgdHlwZXM6IFwiZnVuY3Rpb25cIiwgXCJldmVudFwiLCBcImVycm9yXCInLFxuICAgICAgICBdLmpvaW4oJ1xcbicpKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWREZWZpbml0aW9uVHlwZUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkludmFsaWREZWZpbml0aW9uVHlwZUVycm9yID0gSW52YWxpZERlZmluaXRpb25UeXBlRXJyb3I7XG5jbGFzcyBVbnN1cHBvcnRlZFBhY2tlZEFiaVR5cGUgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlKSB7XG4gICAgICAgIHN1cGVyKGBUeXBlIFwiJHt0eXBlfVwiIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHBhY2tlZCBlbmNvZGluZy5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Vuc3VwcG9ydGVkUGFja2VkQWJpVHlwZSdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5VbnN1cHBvcnRlZFBhY2tlZEFiaVR5cGUgPSBVbnN1cHBvcnRlZFBhY2tlZEFiaVR5cGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hYmkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/abi.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/account.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/account.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AccountNotFoundError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass AccountNotFoundError extends base_js_1.BaseError {\n constructor({ docsPath } = {}) {\n super([\n 'Could not find an Account to execute with this Action.',\n 'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the WalletClient.',\n ].join('\\n'), {\n docsPath,\n docsSlug: 'account',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AccountNotFoundError'\n });\n }\n}\nexports.AccountNotFoundError = AccountNotFoundError;\n//# sourceMappingURL=account.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvYWNjb3VudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw0QkFBNEI7QUFDNUIsa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckM7QUFDQSxrQkFBa0IsV0FBVyxJQUFJO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2FjY291bnQuanM/ODlmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuQWNjb3VudE5vdEZvdW5kRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi9iYXNlLmpzXCIpO1xuY2xhc3MgQWNjb3VudE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRvY3NQYXRoIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgYW4gQWNjb3VudCB0byBleGVjdXRlIHdpdGggdGhpcyBBY3Rpb24uJyxcbiAgICAgICAgICAgICdQbGVhc2UgcHJvdmlkZSBhbiBBY2NvdW50IHdpdGggdGhlIGBhY2NvdW50YCBhcmd1bWVudCBvbiB0aGUgQWN0aW9uLCBvciBieSBzdXBwbHlpbmcgYW4gYGFjY291bnRgIHRvIHRoZSBXYWxsZXRDbGllbnQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgICAgICBkb2NzU2x1ZzogJ2FjY291bnQnLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FjY291bnROb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkFjY291bnROb3RGb3VuZEVycm9yID0gQWNjb3VudE5vdEZvdW5kRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hY2NvdW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/account.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/address.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/address.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InvalidAddressError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass InvalidAddressError extends base_js_1.BaseError {\n constructor({ address }) {\n super(`Address \"${address}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAddressError'\n });\n }\n}\nexports.InvalidAddressError = InvalidAddressError;\n//# sourceMappingURL=address.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvYWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkI7QUFDM0Isa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckM7QUFDQSxrQkFBa0IsU0FBUztBQUMzQiwwQkFBMEIsUUFBUTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2FkZHJlc3MuanM/NzNjYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuSW52YWxpZEFkZHJlc3NFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBJbnZhbGlkQWRkcmVzc0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBhZGRyZXNzIH0pIHtcbiAgICAgICAgc3VwZXIoYEFkZHJlc3MgXCIke2FkZHJlc3N9XCIgaXMgaW52YWxpZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBZGRyZXNzRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZEFkZHJlc3NFcnJvciA9IEludmFsaWRBZGRyZXNzRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGRyZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/address.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/base.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/base.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BaseError = void 0;\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/cjs/errors/utils.js\");\nclass BaseError extends Error {\n constructor(shortMessage, args = {}) {\n super();\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ViemError'\n });\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, utils_js_1.getVersion)()\n });\n const details = args.cause instanceof BaseError\n ? args.cause.details\n : args.cause?.message\n ? args.cause.message\n : args.details;\n const docsPath = args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n this.message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsPath\n ? [\n `Docs: https://viem.sh${docsPath}.html${args.docsSlug ? `#${args.docsSlug}` : ''}`,\n ]\n : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: ${this.version}`,\n ].join('\\n');\n if (args.cause)\n this.cause = args.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.shortMessage = shortMessage;\n }\n walk(fn) {\n return walk(this, fn);\n }\n}\nexports.BaseError = BaseError;\nfunction walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err.cause)\n return walk(err.cause, fn);\n return err;\n}\n//# sourceMappingURL=base.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvYmFzZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsbUJBQW1CLG1CQUFPLENBQUMsZ0VBQVk7QUFDdkM7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLFNBQVMsT0FBTyxvQkFBb0IsY0FBYyxPQUFPO0FBQ3JHO0FBQ0E7QUFDQSx1Q0FBdUMsUUFBUTtBQUMvQyx3QkFBd0IsYUFBYTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvYmFzZS5qcz84YTg0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5CYXNlRXJyb3IgPSB2b2lkIDA7XG5jb25zdCB1dGlsc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMuanNcIik7XG5jbGFzcyBCYXNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3Ioc2hvcnRNZXNzYWdlLCBhcmdzID0ge30pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZGV0YWlsc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkb2NzUGF0aFwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJtZXRhTWVzc2FnZXNcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic2hvcnRNZXNzYWdlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdWaWVtRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2ZXJzaW9uXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAoMCwgdXRpbHNfanNfMS5nZXRWZXJzaW9uKSgpXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXRhaWxzID0gYXJncy5jYXVzZSBpbnN0YW5jZW9mIEJhc2VFcnJvclxuICAgICAgICAgICAgPyBhcmdzLmNhdXNlLmRldGFpbHNcbiAgICAgICAgICAgIDogYXJncy5jYXVzZT8ubWVzc2FnZVxuICAgICAgICAgICAgICAgID8gYXJncy5jYXVzZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgOiBhcmdzLmRldGFpbHM7XG4gICAgICAgIGNvbnN0IGRvY3NQYXRoID0gYXJncy5jYXVzZSBpbnN0YW5jZW9mIEJhc2VFcnJvclxuICAgICAgICAgICAgPyBhcmdzLmNhdXNlLmRvY3NQYXRoIHx8IGFyZ3MuZG9jc1BhdGhcbiAgICAgICAgICAgIDogYXJncy5kb2NzUGF0aDtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gW1xuICAgICAgICAgICAgc2hvcnRNZXNzYWdlIHx8ICdBbiBlcnJvciBvY2N1cnJlZC4nLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAuLi4oYXJncy5tZXRhTWVzc2FnZXMgPyBbLi4uYXJncy5tZXRhTWVzc2FnZXMsICcnXSA6IFtdKSxcbiAgICAgICAgICAgIC4uLihkb2NzUGF0aFxuICAgICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgICBgRG9jczogaHR0cHM6Ly92aWVtLnNoJHtkb2NzUGF0aH0uaHRtbCR7YXJncy5kb2NzU2x1ZyA/IGAjJHthcmdzLmRvY3NTbHVnfWAgOiAnJ31gLFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAgIC4uLihkZXRhaWxzID8gW2BEZXRhaWxzOiAke2RldGFpbHN9YF0gOiBbXSksXG4gICAgICAgICAgICBgVmVyc2lvbjogJHt0aGlzLnZlcnNpb259YCxcbiAgICAgICAgXS5qb2luKCdcXG4nKTtcbiAgICAgICAgaWYgKGFyZ3MuY2F1c2UpXG4gICAgICAgICAgICB0aGlzLmNhdXNlID0gYXJncy5jYXVzZTtcbiAgICAgICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcbiAgICAgICAgdGhpcy5kb2NzUGF0aCA9IGRvY3NQYXRoO1xuICAgICAgICB0aGlzLm1ldGFNZXNzYWdlcyA9IGFyZ3MubWV0YU1lc3NhZ2VzO1xuICAgICAgICB0aGlzLnNob3J0TWVzc2FnZSA9IHNob3J0TWVzc2FnZTtcbiAgICB9XG4gICAgd2Fsayhmbikge1xuICAgICAgICByZXR1cm4gd2Fsayh0aGlzLCBmbik7XG4gICAgfVxufVxuZXhwb3J0cy5CYXNlRXJyb3IgPSBCYXNlRXJyb3I7XG5mdW5jdGlvbiB3YWxrKGVyciwgZm4pIHtcbiAgICBpZiAoZm4/LihlcnIpKVxuICAgICAgICByZXR1cm4gZXJyO1xuICAgIGlmIChlcnIuY2F1c2UpXG4gICAgICAgIHJldHVybiB3YWxrKGVyci5jYXVzZSwgZm4pO1xuICAgIHJldHVybiBlcnI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYXNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/base.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/block.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/block.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BlockNotFoundError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass BlockNotFoundError extends base_js_1.BaseError {\n constructor({ blockHash, blockNumber, }) {\n let identifier = 'Block';\n if (blockHash)\n identifier = `Block at hash \"${blockHash}\"`;\n if (blockNumber)\n identifier = `Block at number \"${blockNumber}\"`;\n super(`${identifier} could not be found.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BlockNotFoundError'\n });\n }\n}\nexports.BlockNotFoundError = BlockNotFoundError;\n//# sourceMappingURL=block.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvYmxvY2suanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMEJBQTBCO0FBQzFCLGtCQUFrQixtQkFBTyxDQUFDLDhEQUFXO0FBQ3JDO0FBQ0Esa0JBQWtCLHlCQUF5QjtBQUMzQztBQUNBO0FBQ0EsMkNBQTJDLFVBQVU7QUFDckQ7QUFDQSw2Q0FBNkMsWUFBWTtBQUN6RCxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2Jsb2NrLmpzP2FmMzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkJsb2NrTm90Rm91bmRFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBCbG9ja05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGJsb2NrSGFzaCwgYmxvY2tOdW1iZXIsIH0pIHtcbiAgICAgICAgbGV0IGlkZW50aWZpZXIgPSAnQmxvY2snO1xuICAgICAgICBpZiAoYmxvY2tIYXNoKVxuICAgICAgICAgICAgaWRlbnRpZmllciA9IGBCbG9jayBhdCBoYXNoIFwiJHtibG9ja0hhc2h9XCJgO1xuICAgICAgICBpZiAoYmxvY2tOdW1iZXIpXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gYEJsb2NrIGF0IG51bWJlciBcIiR7YmxvY2tOdW1iZXJ9XCJgO1xuICAgICAgICBzdXBlcihgJHtpZGVudGlmaWVyfSBjb3VsZCBub3QgYmUgZm91bmQuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdCbG9ja05vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQmxvY2tOb3RGb3VuZEVycm9yID0gQmxvY2tOb3RGb3VuZEVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmxvY2suanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/block.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/ccip.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/ccip.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OffchainLookupSenderMismatchError = exports.OffchainLookupResponseMalformedError = exports.OffchainLookupError = void 0;\nconst stringify_js_1 = __webpack_require__(/*! ../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/cjs/errors/utils.js\");\nclass OffchainLookupError extends base_js_1.BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${(0, utils_js_1.getUrl)(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupError'\n });\n }\n}\nexports.OffchainLookupError = OffchainLookupError;\nclass OffchainLookupResponseMalformedError extends base_js_1.BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${(0, utils_js_1.getUrl)(url)}`,\n `Response: ${(0, stringify_js_1.stringify)(result)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupResponseMalformedError'\n });\n }\n}\nexports.OffchainLookupResponseMalformedError = OffchainLookupResponseMalformedError;\nclass OffchainLookupSenderMismatchError extends base_js_1.BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupSenderMismatchError'\n });\n }\n}\nexports.OffchainLookupSenderMismatchError = OffchainLookupSenderMismatchError;\n//# sourceMappingURL=ccip.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvY2NpcC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5Q0FBeUMsR0FBRyw0Q0FBNEMsR0FBRywyQkFBMkI7QUFDdEgsdUJBQXVCLG1CQUFPLENBQUMsOEVBQXVCO0FBQ3RELGtCQUFrQixtQkFBTyxDQUFDLDhEQUFXO0FBQ3JDLG1CQUFtQixtQkFBTyxDQUFDLGdFQUFZO0FBQ3ZDO0FBQ0Esa0JBQWtCLHlEQUF5RDtBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsNEJBQTRCO0FBQzVFO0FBQ0EsNkJBQTZCLE9BQU87QUFDcEMsMkJBQTJCLEtBQUs7QUFDaEMsd0NBQXdDLGlCQUFpQjtBQUN6RCxpQ0FBaUMsVUFBVTtBQUMzQztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSxrQkFBa0IsYUFBYTtBQUMvQjtBQUNBO0FBQ0EsZ0NBQWdDLDRCQUE0QjtBQUM1RCw2QkFBNkIsc0NBQXNDO0FBQ25FO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBLGtCQUFrQixZQUFZO0FBQzlCO0FBQ0E7QUFDQSxxQ0FBcUMsR0FBRztBQUN4QyxrREFBa0QsT0FBTztBQUN6RDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2NjaXAuanM/YzU5ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuT2ZmY2hhaW5Mb29rdXBTZW5kZXJNaXNtYXRjaEVycm9yID0gZXhwb3J0cy5PZmZjaGFpbkxvb2t1cFJlc3BvbnNlTWFsZm9ybWVkRXJyb3IgPSBleHBvcnRzLk9mZmNoYWluTG9va3VwRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuLi91dGlscy9zdHJpbmdpZnkuanNcIik7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi9iYXNlLmpzXCIpO1xuY29uc3QgdXRpbHNfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzLmpzXCIpO1xuY2xhc3MgT2ZmY2hhaW5Mb29rdXBFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2FsbGJhY2tTZWxlY3RvciwgY2F1c2UsIGRhdGEsIGV4dHJhRGF0YSwgc2VuZGVyLCB1cmxzLCB9KSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLnNob3J0TWVzc2FnZSB8fFxuICAgICAgICAgICAgJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIGZvciBhbiBvZmZjaGFpbiByZXN1bHQuJywge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4oY2F1c2UubWV0YU1lc3NhZ2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgICBjYXVzZS5tZXRhTWVzc2FnZXM/Lmxlbmd0aCA/ICcnIDogW10sXG4gICAgICAgICAgICAgICAgJ09mZmNoYWluIEdhdGV3YXkgQ2FsbDonLFxuICAgICAgICAgICAgICAgIHVybHMgJiYgW1xuICAgICAgICAgICAgICAgICAgICAnICBHYXRld2F5IFVSTChzKTonLFxuICAgICAgICAgICAgICAgICAgICAuLi51cmxzLm1hcCgodXJsKSA9PiBgICAgICR7KDAsIHV0aWxzX2pzXzEuZ2V0VXJsKSh1cmwpfWApLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgYCAgU2VuZGVyOiAke3NlbmRlcn1gLFxuICAgICAgICAgICAgICAgIGAgIERhdGE6ICR7ZGF0YX1gLFxuICAgICAgICAgICAgICAgIGAgIENhbGxiYWNrIHNlbGVjdG9yOiAke2NhbGxiYWNrU2VsZWN0b3J9YCxcbiAgICAgICAgICAgICAgICBgICBFeHRyYSBkYXRhOiAke2V4dHJhRGF0YX1gLFxuICAgICAgICAgICAgXS5mbGF0KCksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnT2ZmY2hhaW5Mb29rdXBFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5PZmZjaGFpbkxvb2t1cEVycm9yID0gT2ZmY2hhaW5Mb29rdXBFcnJvcjtcbmNsYXNzIE9mZmNoYWluTG9va3VwUmVzcG9uc2VNYWxmb3JtZWRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgcmVzdWx0LCB1cmwgfSkge1xuICAgICAgICBzdXBlcignT2ZmY2hhaW4gZ2F0ZXdheSByZXNwb25zZSBpcyBtYWxmb3JtZWQuIFJlc3BvbnNlIGRhdGEgbXVzdCBiZSBhIGhleCB2YWx1ZS4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgR2F0ZXdheSBVUkw6ICR7KDAsIHV0aWxzX2pzXzEuZ2V0VXJsKSh1cmwpfWAsXG4gICAgICAgICAgICAgICAgYFJlc3BvbnNlOiAkeygwLCBzdHJpbmdpZnlfanNfMS5zdHJpbmdpZnkpKHJlc3VsdCl9YCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnT2ZmY2hhaW5Mb29rdXBSZXNwb25zZU1hbGZvcm1lZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLk9mZmNoYWluTG9va3VwUmVzcG9uc2VNYWxmb3JtZWRFcnJvciA9IE9mZmNoYWluTG9va3VwUmVzcG9uc2VNYWxmb3JtZWRFcnJvcjtcbmNsYXNzIE9mZmNoYWluTG9va3VwU2VuZGVyTWlzbWF0Y2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2VuZGVyLCB0byB9KSB7XG4gICAgICAgIHN1cGVyKCdSZXZlcnRlZCBzZW5kZXIgYWRkcmVzcyBkb2VzIG5vdCBtYXRjaCB0YXJnZXQgY29udHJhY3QgYWRkcmVzcyAoYHRvYCkuJywge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgYENvbnRyYWN0IGFkZHJlc3M6ICR7dG99YCxcbiAgICAgICAgICAgICAgICBgT2ZmY2hhaW5Mb29rdXAgc2VuZGVyIGFkZHJlc3M6ICR7c2VuZGVyfWAsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ09mZmNoYWluTG9va3VwU2VuZGVyTWlzbWF0Y2hFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5PZmZjaGFpbkxvb2t1cFNlbmRlck1pc21hdGNoRXJyb3IgPSBPZmZjaGFpbkxvb2t1cFNlbmRlck1pc21hdGNoRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jY2lwLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/ccip.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/chain.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/chain.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InvalidChainIdError = exports.ClientChainNotConfiguredError = exports.ChainNotFoundError = exports.ChainMismatchError = exports.ChainDoesNotSupportContract = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass ChainDoesNotSupportContract extends base_js_1.BaseError {\n constructor({ blockNumber, chain, contract, }) {\n super(`Chain \"${chain.name}\" does not support contract \"${contract.name}\".`, {\n metaMessages: [\n 'This could be due to any of the following:',\n ...(blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n ? [\n `- The contract \"${contract.name}\" was not deployed until block ${contract.blockCreated} (current block ${blockNumber}).`,\n ]\n : [\n `- The chain does not have the contract \"${contract.name}\" configured.`,\n ]),\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainDoesNotSupportContract'\n });\n }\n}\nexports.ChainDoesNotSupportContract = ChainDoesNotSupportContract;\nclass ChainMismatchError extends base_js_1.BaseError {\n constructor({ chain, currentChainId, }) {\n super(`The current chain of the wallet (id: ${currentChainId}) does not match the target chain for the transaction (id: ${chain.id} – ${chain.name}).`, {\n metaMessages: [\n `Current Chain ID: ${currentChainId}`,\n `Expected Chain ID: ${chain.id} – ${chain.name}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainMismatchError'\n });\n }\n}\nexports.ChainMismatchError = ChainMismatchError;\nclass ChainNotFoundError extends base_js_1.BaseError {\n constructor() {\n super([\n 'No chain was provided to the request.',\n 'Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainNotFoundError'\n });\n }\n}\nexports.ChainNotFoundError = ChainNotFoundError;\nclass ClientChainNotConfiguredError extends base_js_1.BaseError {\n constructor() {\n super('No chain was provided to the Client.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ClientChainNotConfiguredError'\n });\n }\n}\nexports.ClientChainNotConfiguredError = ClientChainNotConfiguredError;\nclass InvalidChainIdError extends base_js_1.BaseError {\n constructor({ chainId }) {\n super(`Chain ID \"${chainId}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidChainIdError'\n });\n }\n}\nexports.InvalidChainIdError = InvalidChainIdError;\n//# sourceMappingURL=chain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvY2hhaW4uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMkJBQTJCLEdBQUcscUNBQXFDLEdBQUcsMEJBQTBCLEdBQUcsMEJBQTBCLEdBQUcsbUNBQW1DO0FBQ25LLGtCQUFrQixtQkFBTyxDQUFDLDhEQUFXO0FBQ3JDO0FBQ0Esa0JBQWtCLCtCQUErQjtBQUNqRCx3QkFBd0IsV0FBVywrQkFBK0IsY0FBYztBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsY0FBYyxpQ0FBaUMsdUJBQXVCLGlCQUFpQixZQUFZO0FBQzlJO0FBQ0E7QUFDQSxtRUFBbUUsY0FBYztBQUNqRjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBLGtCQUFrQix3QkFBd0I7QUFDMUMsc0RBQXNELGVBQWUsNkRBQTZELFVBQVUsSUFBSSxXQUFXO0FBQzNKO0FBQ0Esc0NBQXNDLGVBQWU7QUFDckQsc0NBQXNDLFVBQVUsSUFBSSxXQUFXO0FBQy9EO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0Esa0JBQWtCLFNBQVM7QUFDM0IsMkJBQTJCLFFBQVE7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2Vycm9ycy9jaGFpbi5qcz82NTg1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5JbnZhbGlkQ2hhaW5JZEVycm9yID0gZXhwb3J0cy5DbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvciA9IGV4cG9ydHMuQ2hhaW5Ob3RGb3VuZEVycm9yID0gZXhwb3J0cy5DaGFpbk1pc21hdGNoRXJyb3IgPSBleHBvcnRzLkNoYWluRG9lc05vdFN1cHBvcnRDb250cmFjdCA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBDaGFpbkRvZXNOb3RTdXBwb3J0Q29udHJhY3QgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGJsb2NrTnVtYmVyLCBjaGFpbiwgY29udHJhY3QsIH0pIHtcbiAgICAgICAgc3VwZXIoYENoYWluIFwiJHtjaGFpbi5uYW1lfVwiIGRvZXMgbm90IHN1cHBvcnQgY29udHJhY3QgXCIke2NvbnRyYWN0Lm5hbWV9XCIuYCwge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgJ1RoaXMgY291bGQgYmUgZHVlIHRvIGFueSBvZiB0aGUgZm9sbG93aW5nOicsXG4gICAgICAgICAgICAgICAgLi4uKGJsb2NrTnVtYmVyICYmXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0LmJsb2NrQ3JlYXRlZCAmJlxuICAgICAgICAgICAgICAgICAgICBjb250cmFjdC5ibG9ja0NyZWF0ZWQgPiBibG9ja051bWJlclxuICAgICAgICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGAtIFRoZSBjb250cmFjdCBcIiR7Y29udHJhY3QubmFtZX1cIiB3YXMgbm90IGRlcGxveWVkIHVudGlsIGJsb2NrICR7Y29udHJhY3QuYmxvY2tDcmVhdGVkfSAoY3VycmVudCBibG9jayAke2Jsb2NrTnVtYmVyfSkuYCxcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGAtIFRoZSBjaGFpbiBkb2VzIG5vdCBoYXZlIHRoZSBjb250cmFjdCBcIiR7Y29udHJhY3QubmFtZX1cIiBjb25maWd1cmVkLmAsXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDaGFpbkRvZXNOb3RTdXBwb3J0Q29udHJhY3QnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0ID0gQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0O1xuY2xhc3MgQ2hhaW5NaXNtYXRjaEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjaGFpbiwgY3VycmVudENoYWluSWQsIH0pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBjdXJyZW50IGNoYWluIG9mIHRoZSB3YWxsZXQgKGlkOiAke2N1cnJlbnRDaGFpbklkfSkgZG9lcyBub3QgbWF0Y2ggdGhlIHRhcmdldCBjaGFpbiBmb3IgdGhlIHRyYW5zYWN0aW9uIChpZDogJHtjaGFpbi5pZH0g4oCTICR7Y2hhaW4ubmFtZX0pLmAsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIGBDdXJyZW50IENoYWluIElEOiAgJHtjdXJyZW50Q2hhaW5JZH1gLFxuICAgICAgICAgICAgICAgIGBFeHBlY3RlZCBDaGFpbiBJRDogJHtjaGFpbi5pZH0g4oCTICR7Y2hhaW4ubmFtZX1gLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDaGFpbk1pc21hdGNoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQ2hhaW5NaXNtYXRjaEVycm9yID0gQ2hhaW5NaXNtYXRjaEVycm9yO1xuY2xhc3MgQ2hhaW5Ob3RGb3VuZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgICdObyBjaGFpbiB3YXMgcHJvdmlkZWQgdG8gdGhlIHJlcXVlc3QuJyxcbiAgICAgICAgICAgICdQbGVhc2UgcHJvdmlkZSBhIGNoYWluIHdpdGggdGhlIGBjaGFpbmAgYXJndW1lbnQgb24gdGhlIEFjdGlvbiwgb3IgYnkgc3VwcGx5aW5nIGEgYGNoYWluYCB0byBXYWxsZXRDbGllbnQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDaGFpbk5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQ2hhaW5Ob3RGb3VuZEVycm9yID0gQ2hhaW5Ob3RGb3VuZEVycm9yO1xuY2xhc3MgQ2xpZW50Q2hhaW5Ob3RDb25maWd1cmVkRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ05vIGNoYWluIHdhcyBwcm92aWRlZCB0byB0aGUgQ2xpZW50LicpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ2xpZW50Q2hhaW5Ob3RDb25maWd1cmVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuQ2xpZW50Q2hhaW5Ob3RDb25maWd1cmVkRXJyb3IgPSBDbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvcjtcbmNsYXNzIEludmFsaWRDaGFpbklkRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNoYWluSWQgfSkge1xuICAgICAgICBzdXBlcihgQ2hhaW4gSUQgXCIke2NoYWluSWR9XCIgaXMgaW52YWxpZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRDaGFpbklkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZENoYWluSWRFcnJvciA9IEludmFsaWRDaGFpbklkRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jaGFpbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/chain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/contract.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/contract.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RawContractError = exports.ContractFunctionZeroDataError = exports.ContractFunctionRevertedError = exports.ContractFunctionExecutionError = exports.CallExecutionError = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst solidity_js_1 = __webpack_require__(/*! ../constants/solidity.js */ \"./node_modules/viem/dist/cjs/constants/solidity.js\");\nconst decodeErrorResult_js_1 = __webpack_require__(/*! ../utils/abi/decodeErrorResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ../utils/abi/formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nconst formatAbiItemWithArgs_js_1 = __webpack_require__(/*! ../utils/abi/formatAbiItemWithArgs.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItemWithArgs.js\");\nconst getAbiItem_js_1 = __webpack_require__(/*! ../utils/abi/getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nconst formatEther_js_1 = __webpack_require__(/*! ../utils/unit/formatEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatEther.js\");\nconst formatGwei_js_1 = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst transaction_js_1 = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/cjs/errors/utils.js\");\nclass CallExecutionError extends base_js_1.BaseError {\n constructor(cause, { account: account_, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;\n const prettyArgs = (0, transaction_js_1.prettyPrint)({\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${(0, formatEther_js_1.formatEther)(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${(0, formatGwei_js_1.formatGwei)(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${(0, formatGwei_js_1.formatGwei)(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${(0, formatGwei_js_1.formatGwei)(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Raw Call Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'CallExecutionError'\n });\n this.cause = cause;\n }\n}\nexports.CallExecutionError = CallExecutionError;\nclass ContractFunctionExecutionError extends base_js_1.BaseError {\n constructor(cause, { abi, args, contractAddress, docsPath, functionName, sender, }) {\n const abiItem = (0, getAbiItem_js_1.getAbiItem)({ abi, args, name: functionName });\n const formattedArgs = abiItem\n ? (0, formatAbiItemWithArgs_js_1.formatAbiItemWithArgs)({\n abiItem,\n args,\n includeFunctionName: false,\n includeName: false,\n })\n : undefined;\n const functionWithParams = abiItem\n ? (0, formatAbiItem_js_1.formatAbiItem)(abiItem, { includeName: true })\n : undefined;\n const prettyArgs = (0, transaction_js_1.prettyPrint)({\n address: contractAddress && (0, utils_js_1.getContractAddress)(contractAddress),\n function: functionWithParams,\n args: formattedArgs &&\n formattedArgs !== '()' &&\n `${[...Array(functionName?.length ?? 0).keys()]\n .map(() => ' ')\n .join('')}${formattedArgs}`,\n sender,\n });\n super(cause.shortMessage ||\n `An unknown error occurred while executing the contract function \"${functionName}\".`, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Contract Call:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"abi\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"args\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"contractAddress\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"formattedArgs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"functionName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"sender\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionExecutionError'\n });\n this.abi = abi;\n this.args = args;\n this.cause = cause;\n this.contractAddress = contractAddress;\n this.functionName = functionName;\n this.sender = sender;\n }\n}\nexports.ContractFunctionExecutionError = ContractFunctionExecutionError;\nclass ContractFunctionRevertedError extends base_js_1.BaseError {\n constructor({ abi, data, functionName, message, }) {\n let decodedData = undefined;\n let metaMessages;\n let reason;\n if (data && data !== '0x') {\n decodedData = (0, decodeErrorResult_js_1.decodeErrorResult)({ abi, data });\n const { abiItem, errorName, args: errorArgs } = decodedData;\n if (errorName === 'Error') {\n reason = errorArgs[0];\n }\n else if (errorName === 'Panic') {\n const [firstArg] = errorArgs;\n reason = solidity_js_1.panicReasons[firstArg];\n }\n else {\n const errorWithParams = abiItem\n ? (0, formatAbiItem_js_1.formatAbiItem)(abiItem, { includeName: true })\n : undefined;\n const formattedArgs = abiItem && errorArgs\n ? (0, formatAbiItemWithArgs_js_1.formatAbiItemWithArgs)({\n abiItem,\n args: errorArgs,\n includeFunctionName: false,\n includeName: false,\n })\n : undefined;\n metaMessages = [\n errorWithParams ? `Error: ${errorWithParams}` : '',\n formattedArgs && formattedArgs !== '()'\n ? ` ${[...Array(errorName?.length ?? 0).keys()]\n .map(() => ' ')\n .join('')}${formattedArgs}`\n : '',\n ];\n }\n }\n else if (message)\n reason = message;\n super(reason && reason !== 'execution reverted'\n ? [\n `The contract function \"${functionName}\" reverted with the following reason:`,\n reason,\n ].join('\\n')\n : `The contract function \"${functionName}\" reverted.`, {\n metaMessages,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionRevertedError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reason\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.reason = reason;\n this.data = decodedData;\n }\n}\nexports.ContractFunctionRevertedError = ContractFunctionRevertedError;\nclass ContractFunctionZeroDataError extends base_js_1.BaseError {\n constructor({ functionName }) {\n super(`The contract function \"${functionName}\" returned no data (\"0x\").`, {\n metaMessages: [\n 'This could be due to any of the following:',\n ` - The contract does not have the function \"${functionName}\",`,\n ' - The parameters passed to the contract function may be invalid, or',\n ' - The address is not a contract.',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionZeroDataError'\n });\n }\n}\nexports.ContractFunctionZeroDataError = ContractFunctionZeroDataError;\nclass RawContractError extends base_js_1.BaseError {\n constructor({ data, message, }) {\n super(message || '');\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 3\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RawContractError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n }\n}\nexports.RawContractError = RawContractError;\n//# sourceMappingURL=contract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvY29udHJhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCLEdBQUcscUNBQXFDLEdBQUcscUNBQXFDLEdBQUcsc0NBQXNDLEdBQUcsMEJBQTBCO0FBQzlLLDBCQUEwQixtQkFBTyxDQUFDLHNHQUFtQztBQUNyRSxzQkFBc0IsbUJBQU8sQ0FBQyxvRkFBMEI7QUFDeEQsK0JBQStCLG1CQUFPLENBQUMsc0dBQW1DO0FBQzFFLDJCQUEyQixtQkFBTyxDQUFDLDhGQUErQjtBQUNsRSxtQ0FBbUMsbUJBQU8sQ0FBQyw4R0FBdUM7QUFDbEYsd0JBQXdCLG1CQUFPLENBQUMsd0ZBQTRCO0FBQzVELHlCQUF5QixtQkFBTyxDQUFDLDRGQUE4QjtBQUMvRCx3QkFBd0IsbUJBQU8sQ0FBQywwRkFBNkI7QUFDN0Qsa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckMseUJBQXlCLG1CQUFPLENBQUMsNEVBQWtCO0FBQ25ELG1CQUFtQixtQkFBTyxDQUFDLGdFQUFZO0FBQ3ZDO0FBQ0EseUJBQXlCLGdIQUFnSDtBQUN6STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDBDQUEwQyxFQUFFLHNDQUFzQztBQUNyRztBQUNBO0FBQ0EsNERBQTRELDJDQUEyQztBQUN2RztBQUNBLG1CQUFtQiwrQ0FBK0M7QUFDbEU7QUFDQSxtQkFBbUIsdURBQXVEO0FBQzFFO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBLHlCQUF5Qiw2REFBNkQ7QUFDdEYsMERBQTBELCtCQUErQjtBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLCtEQUErRCxtQkFBbUI7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0EsOEJBQThCLEVBQUUsY0FBYztBQUM5QztBQUNBLFNBQVM7QUFDVDtBQUNBLGdGQUFnRixhQUFhO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0Esa0JBQWtCLG1DQUFtQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRSxXQUFXO0FBQ3JGLG9CQUFvQixzQ0FBc0M7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUVBQXVFLG1CQUFtQjtBQUMxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsZ0RBQWdELGdCQUFnQjtBQUNoRTtBQUNBLG9DQUFvQztBQUNwQztBQUNBLHNDQUFzQyxFQUFFLGNBQWM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxhQUFhO0FBQ3ZEO0FBQ0E7QUFDQSx3Q0FBd0MsYUFBYTtBQUNyRDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBLGtCQUFrQixjQUFjO0FBQ2hDLHdDQUF3QyxhQUFhO0FBQ3JEO0FBQ0E7QUFDQSxnRUFBZ0UsYUFBYTtBQUM3RTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvY29udHJhY3QuanM/ZTMzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUmF3Q29udHJhY3RFcnJvciA9IGV4cG9ydHMuQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3IgPSBleHBvcnRzLkNvbnRyYWN0RnVuY3Rpb25SZXZlcnRlZEVycm9yID0gZXhwb3J0cy5Db250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3IgPSBleHBvcnRzLkNhbGxFeGVjdXRpb25FcnJvciA9IHZvaWQgMDtcbmNvbnN0IHBhcnNlQWNjb3VudF9qc18xID0gcmVxdWlyZShcIi4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qc1wiKTtcbmNvbnN0IHNvbGlkaXR5X2pzXzEgPSByZXF1aXJlKFwiLi4vY29uc3RhbnRzL3NvbGlkaXR5LmpzXCIpO1xuY29uc3QgZGVjb2RlRXJyb3JSZXN1bHRfanNfMSA9IHJlcXVpcmUoXCIuLi91dGlscy9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanNcIik7XG5jb25zdCBmb3JtYXRBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi4vdXRpbHMvYWJpL2Zvcm1hdEFiaUl0ZW0uanNcIik7XG5jb25zdCBmb3JtYXRBYmlJdGVtV2l0aEFyZ3NfanNfMSA9IHJlcXVpcmUoXCIuLi91dGlscy9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzXCIpO1xuY29uc3QgZ2V0QWJpSXRlbV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL2FiaS9nZXRBYmlJdGVtLmpzXCIpO1xuY29uc3QgZm9ybWF0RXRoZXJfanNfMSA9IHJlcXVpcmUoXCIuLi91dGlscy91bml0L2Zvcm1hdEV0aGVyLmpzXCIpO1xuY29uc3QgZm9ybWF0R3dlaV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qc1wiKTtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jb25zdCB0cmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vdHJhbnNhY3Rpb24uanNcIik7XG5jb25zdCB1dGlsc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMuanNcIik7XG5jbGFzcyBDYWxsRXhlY3V0aW9uRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSwgeyBhY2NvdW50OiBhY2NvdW50XywgZG9jc1BhdGgsIGNoYWluLCBkYXRhLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgdG8sIHZhbHVlLCB9KSB7XG4gICAgICAgIGNvbnN0IGFjY291bnQgPSBhY2NvdW50XyA/ICgwLCBwYXJzZUFjY291bnRfanNfMS5wYXJzZUFjY291bnQpKGFjY291bnRfKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcHJldHR5QXJncyA9ICgwLCB0cmFuc2FjdGlvbl9qc18xLnByZXR0eVByaW50KSh7XG4gICAgICAgICAgICBmcm9tOiBhY2NvdW50Py5hZGRyZXNzLFxuICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgIGAkeygwLCBmb3JtYXRFdGhlcl9qc18xLmZvcm1hdEV0aGVyKSh2YWx1ZSl9ICR7Y2hhaW4/Lm5hdGl2ZUN1cnJlbmN5LnN5bWJvbCB8fCAnRVRIJ31gLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgIGdhc1ByaWNlOiB0eXBlb2YgZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnICYmIGAkeygwLCBmb3JtYXRHd2VpX2pzXzEuZm9ybWF0R3dlaSkoZ2FzUHJpY2UpfSBnd2VpYCxcbiAgICAgICAgICAgIG1heEZlZVBlckdhczogdHlwZW9mIG1heEZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heEZlZVBlckdhcyl9IGd3ZWlgLFxuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heFByaW9yaXR5RmVlUGVyR2FzKX0gZ3dlaWAsXG4gICAgICAgICAgICBub25jZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyKGNhdXNlLnNob3J0TWVzc2FnZSwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIC4uLihjYXVzZS5tZXRhTWVzc2FnZXMgPyBbLi4uY2F1c2UubWV0YU1lc3NhZ2VzLCAnICddIDogW10pLFxuICAgICAgICAgICAgICAgICdSYXcgQ2FsbCBBcmd1bWVudHM6JyxcbiAgICAgICAgICAgICAgICBwcmV0dHlBcmdzLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjYXVzZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ2FsbEV4ZWN1dGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXVzZSA9IGNhdXNlO1xuICAgIH1cbn1cbmV4cG9ydHMuQ2FsbEV4ZWN1dGlvbkVycm9yID0gQ2FsbEV4ZWN1dGlvbkVycm9yO1xuY2xhc3MgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UsIHsgYWJpLCBhcmdzLCBjb250cmFjdEFkZHJlc3MsIGRvY3NQYXRoLCBmdW5jdGlvbk5hbWUsIHNlbmRlciwgfSkge1xuICAgICAgICBjb25zdCBhYmlJdGVtID0gKDAsIGdldEFiaUl0ZW1fanNfMS5nZXRBYmlJdGVtKSh7IGFiaSwgYXJncywgbmFtZTogZnVuY3Rpb25OYW1lIH0pO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRBcmdzID0gYWJpSXRlbVxuICAgICAgICAgICAgPyAoMCwgZm9ybWF0QWJpSXRlbVdpdGhBcmdzX2pzXzEuZm9ybWF0QWJpSXRlbVdpdGhBcmdzKSh7XG4gICAgICAgICAgICAgICAgYWJpSXRlbSxcbiAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgIGluY2x1ZGVGdW5jdGlvbk5hbWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGluY2x1ZGVOYW1lOiBmYWxzZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZnVuY3Rpb25XaXRoUGFyYW1zID0gYWJpSXRlbVxuICAgICAgICAgICAgPyAoMCwgZm9ybWF0QWJpSXRlbV9qc18xLmZvcm1hdEFiaUl0ZW0pKGFiaUl0ZW0sIHsgaW5jbHVkZU5hbWU6IHRydWUgfSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmV0dHlBcmdzID0gKDAsIHRyYW5zYWN0aW9uX2pzXzEucHJldHR5UHJpbnQpKHtcbiAgICAgICAgICAgIGFkZHJlc3M6IGNvbnRyYWN0QWRkcmVzcyAmJiAoMCwgdXRpbHNfanNfMS5nZXRDb250cmFjdEFkZHJlc3MpKGNvbnRyYWN0QWRkcmVzcyksXG4gICAgICAgICAgICBmdW5jdGlvbjogZnVuY3Rpb25XaXRoUGFyYW1zLFxuICAgICAgICAgICAgYXJnczogZm9ybWF0dGVkQXJncyAmJlxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZEFyZ3MgIT09ICcoKScgJiZcbiAgICAgICAgICAgICAgICBgJHtbLi4uQXJyYXkoZnVuY3Rpb25OYW1lPy5sZW5ndGggPz8gMCkua2V5cygpXVxuICAgICAgICAgICAgICAgICAgICAubWFwKCgpID0+ICcgJylcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpfSR7Zm9ybWF0dGVkQXJnc31gLFxuICAgICAgICAgICAgc2VuZGVyLFxuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIoY2F1c2Uuc2hvcnRNZXNzYWdlIHx8XG4gICAgICAgICAgICBgQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhlIGNvbnRyYWN0IGZ1bmN0aW9uIFwiJHtmdW5jdGlvbk5hbWV9XCIuYCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIC4uLihjYXVzZS5tZXRhTWVzc2FnZXMgPyBbLi4uY2F1c2UubWV0YU1lc3NhZ2VzLCAnICddIDogW10pLFxuICAgICAgICAgICAgICAgICdDb250cmFjdCBDYWxsOicsXG4gICAgICAgICAgICAgICAgcHJldHR5QXJncyxcbiAgICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYWJpXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImFyZ3NcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY2F1c2VcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY29udHJhY3RBZGRyZXNzXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImZvcm1hdHRlZEFyZ3NcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZnVuY3Rpb25OYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNlbmRlclwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hYmkgPSBhYmk7XG4gICAgICAgIHRoaXMuYXJncyA9IGFyZ3M7XG4gICAgICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcbiAgICAgICAgdGhpcy5jb250cmFjdEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3M7XG4gICAgICAgIHRoaXMuZnVuY3Rpb25OYW1lID0gZnVuY3Rpb25OYW1lO1xuICAgICAgICB0aGlzLnNlbmRlciA9IHNlbmRlcjtcbiAgICB9XG59XG5leHBvcnRzLkNvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvciA9IENvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcjtcbmNsYXNzIENvbnRyYWN0RnVuY3Rpb25SZXZlcnRlZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBhYmksIGRhdGEsIGZ1bmN0aW9uTmFtZSwgbWVzc2FnZSwgfSkge1xuICAgICAgICBsZXQgZGVjb2RlZERhdGEgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBtZXRhTWVzc2FnZXM7XG4gICAgICAgIGxldCByZWFzb247XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEgIT09ICcweCcpIHtcbiAgICAgICAgICAgIGRlY29kZWREYXRhID0gKDAsIGRlY29kZUVycm9yUmVzdWx0X2pzXzEuZGVjb2RlRXJyb3JSZXN1bHQpKHsgYWJpLCBkYXRhIH0pO1xuICAgICAgICAgICAgY29uc3QgeyBhYmlJdGVtLCBlcnJvck5hbWUsIGFyZ3M6IGVycm9yQXJncyB9ID0gZGVjb2RlZERhdGE7XG4gICAgICAgICAgICBpZiAoZXJyb3JOYW1lID09PSAnRXJyb3InKSB7XG4gICAgICAgICAgICAgICAgcmVhc29uID0gZXJyb3JBcmdzWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3JOYW1lID09PSAnUGFuaWMnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2ZpcnN0QXJnXSA9IGVycm9yQXJncztcbiAgICAgICAgICAgICAgICByZWFzb24gPSBzb2xpZGl0eV9qc18xLnBhbmljUmVhc29uc1tmaXJzdEFyZ107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvcldpdGhQYXJhbXMgPSBhYmlJdGVtXG4gICAgICAgICAgICAgICAgICAgID8gKDAsIGZvcm1hdEFiaUl0ZW1fanNfMS5mb3JtYXRBYmlJdGVtKShhYmlJdGVtLCB7IGluY2x1ZGVOYW1lOiB0cnVlIH0pXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZEFyZ3MgPSBhYmlJdGVtICYmIGVycm9yQXJnc1xuICAgICAgICAgICAgICAgICAgICA/ICgwLCBmb3JtYXRBYmlJdGVtV2l0aEFyZ3NfanNfMS5mb3JtYXRBYmlJdGVtV2l0aEFyZ3MpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFiaUl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBlcnJvckFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlRnVuY3Rpb25OYW1lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVOYW1lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgbWV0YU1lc3NhZ2VzID0gW1xuICAgICAgICAgICAgICAgICAgICBlcnJvcldpdGhQYXJhbXMgPyBgRXJyb3I6ICR7ZXJyb3JXaXRoUGFyYW1zfWAgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkQXJncyAmJiBmb3JtYXR0ZWRBcmdzICE9PSAnKCknXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGAgICAgICAgJHtbLi4uQXJyYXkoZXJyb3JOYW1lPy5sZW5ndGggPz8gMCkua2V5cygpXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKCkgPT4gJyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCcnKX0ke2Zvcm1hdHRlZEFyZ3N9YFxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG1lc3NhZ2UpXG4gICAgICAgICAgICByZWFzb24gPSBtZXNzYWdlO1xuICAgICAgICBzdXBlcihyZWFzb24gJiYgcmVhc29uICE9PSAnZXhlY3V0aW9uIHJldmVydGVkJ1xuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgYFRoZSBjb250cmFjdCBmdW5jdGlvbiBcIiR7ZnVuY3Rpb25OYW1lfVwiIHJldmVydGVkIHdpdGggdGhlIGZvbGxvd2luZyByZWFzb246YCxcbiAgICAgICAgICAgICAgICByZWFzb24sXG4gICAgICAgICAgICBdLmpvaW4oJ1xcbicpXG4gICAgICAgICAgICA6IGBUaGUgY29udHJhY3QgZnVuY3Rpb24gXCIke2Z1bmN0aW9uTmFtZX1cIiByZXZlcnRlZC5gLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXMsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ29udHJhY3RGdW5jdGlvblJldmVydGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkYXRhXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInJlYXNvblwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlYXNvbiA9IHJlYXNvbjtcbiAgICAgICAgdGhpcy5kYXRhID0gZGVjb2RlZERhdGE7XG4gICAgfVxufVxuZXhwb3J0cy5Db250cmFjdEZ1bmN0aW9uUmV2ZXJ0ZWRFcnJvciA9IENvbnRyYWN0RnVuY3Rpb25SZXZlcnRlZEVycm9yO1xuY2xhc3MgQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGZ1bmN0aW9uTmFtZSB9KSB7XG4gICAgICAgIHN1cGVyKGBUaGUgY29udHJhY3QgZnVuY3Rpb24gXCIke2Z1bmN0aW9uTmFtZX1cIiByZXR1cm5lZCBubyBkYXRhIChcIjB4XCIpLmAsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgICdUaGlzIGNvdWxkIGJlIGR1ZSB0byBhbnkgb2YgdGhlIGZvbGxvd2luZzonLFxuICAgICAgICAgICAgICAgIGAgIC0gVGhlIGNvbnRyYWN0IGRvZXMgbm90IGhhdmUgdGhlIGZ1bmN0aW9uIFwiJHtmdW5jdGlvbk5hbWV9XCIsYCxcbiAgICAgICAgICAgICAgICAnICAtIFRoZSBwYXJhbWV0ZXJzIHBhc3NlZCB0byB0aGUgY29udHJhY3QgZnVuY3Rpb24gbWF5IGJlIGludmFsaWQsIG9yJyxcbiAgICAgICAgICAgICAgICAnICAtIFRoZSBhZGRyZXNzIGlzIG5vdCBhIGNvbnRyYWN0LicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0NvbnRyYWN0RnVuY3Rpb25aZXJvRGF0YUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkNvbnRyYWN0RnVuY3Rpb25aZXJvRGF0YUVycm9yID0gQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3I7XG5jbGFzcyBSYXdDb250cmFjdEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBkYXRhLCBtZXNzYWdlLCB9KSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UgfHwgJycpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjb2RlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAzXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnUmF3Q29udHJhY3RFcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImRhdGFcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG59XG5leHBvcnRzLlJhd0NvbnRyYWN0RXJyb3IgPSBSYXdDb250cmFjdEVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29udHJhY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/contract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/data.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/data.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SizeExceedsPaddingSizeError = exports.SliceOffsetOutOfBoundsError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass SliceOffsetOutOfBoundsError extends base_js_1.BaseError {\n constructor({ offset, position, size, }) {\n super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SliceOffsetOutOfBoundsError'\n });\n }\n}\nexports.SliceOffsetOutOfBoundsError = SliceOffsetOutOfBoundsError;\nclass SizeExceedsPaddingSizeError extends base_js_1.BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SizeExceedsPaddingSizeError'\n });\n }\n}\nexports.SizeExceedsPaddingSizeError = SizeExceedsPaddingSizeError;\n//# sourceMappingURL=data.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvZGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQ0FBbUMsR0FBRyxtQ0FBbUM7QUFDekUsa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckM7QUFDQSxrQkFBa0IseUJBQXlCO0FBQzNDLHVCQUF1Qiw4Q0FBOEMsYUFBYSxPQUFPLDRCQUE0QixLQUFLO0FBQzFIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBLGtCQUFrQix5QkFBeUI7QUFDM0MsaUJBQWlCLDZCQUE2QixFQUFFO0FBQ2hEO0FBQ0EsNEJBQTRCLFFBQVEsS0FBSywwQkFBMEIsV0FBVztBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2RhdGEuanM/NWY2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yID0gZXhwb3J0cy5TbGljZU9mZnNldE91dE9mQm91bmRzRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi9iYXNlLmpzXCIpO1xuY2xhc3MgU2xpY2VPZmZzZXRPdXRPZkJvdW5kc0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBvZmZzZXQsIHBvc2l0aW9uLCBzaXplLCB9KSB7XG4gICAgICAgIHN1cGVyKGBTbGljZSAke3Bvc2l0aW9uID09PSAnc3RhcnQnID8gJ3N0YXJ0aW5nJyA6ICdlbmRpbmcnfSBhdCBvZmZzZXQgXCIke29mZnNldH1cIiBpcyBvdXQtb2YtYm91bmRzIChzaXplOiAke3NpemV9KS5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1NsaWNlT2Zmc2V0T3V0T2ZCb3VuZHNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5TbGljZU9mZnNldE91dE9mQm91bmRzRXJyb3IgPSBTbGljZU9mZnNldE91dE9mQm91bmRzRXJyb3I7XG5jbGFzcyBTaXplRXhjZWVkc1BhZGRpbmdTaXplRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHNpemUsIHRhcmdldFNpemUsIHR5cGUsIH0pIHtcbiAgICAgICAgc3VwZXIoYCR7dHlwZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke3R5cGVcbiAgICAgICAgICAgIC5zbGljZSgxKVxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCl9IHNpemUgKCR7c2l6ZX0pIGV4Y2VlZHMgcGFkZGluZyBzaXplICgke3RhcmdldFNpemV9KS5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1NpemVFeGNlZWRzUGFkZGluZ1NpemVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5TaXplRXhjZWVkc1BhZGRpbmdTaXplRXJyb3IgPSBTaXplRXhjZWVkc1BhZGRpbmdTaXplRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/data.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/encoding.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/encoding.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SizeOverflowError = exports.OffsetOutOfBoundsError = exports.InvalidHexValueError = exports.InvalidHexBooleanError = exports.InvalidBytesBooleanError = exports.IntegerOutOfRangeError = exports.DataLengthTooShortError = exports.DataLengthTooLongError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass DataLengthTooLongError extends base_js_1.BaseError {\n constructor({ consumed, length }) {\n super(`Consumed bytes (${consumed}) is shorter than data length (${length - 1}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DataLengthTooLongError'\n });\n }\n}\nexports.DataLengthTooLongError = DataLengthTooLongError;\nclass DataLengthTooShortError extends base_js_1.BaseError {\n constructor({ length, dataLength }) {\n super(`Data length (${dataLength - 1}) is shorter than prefix length (${length - 1}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DataLengthTooShortError'\n });\n }\n}\nexports.DataLengthTooShortError = DataLengthTooShortError;\nclass IntegerOutOfRangeError extends base_js_1.BaseError {\n constructor({ max, min, signed, size, value, }) {\n super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntegerOutOfRangeError'\n });\n }\n}\nexports.IntegerOutOfRangeError = IntegerOutOfRangeError;\nclass InvalidBytesBooleanError extends base_js_1.BaseError {\n constructor(bytes) {\n super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidBytesBooleanError'\n });\n }\n}\nexports.InvalidBytesBooleanError = InvalidBytesBooleanError;\nclass InvalidHexBooleanError extends base_js_1.BaseError {\n constructor(hex) {\n super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidHexBooleanError'\n });\n }\n}\nexports.InvalidHexBooleanError = InvalidHexBooleanError;\nclass InvalidHexValueError extends base_js_1.BaseError {\n constructor(value) {\n super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidHexValueError'\n });\n }\n}\nexports.InvalidHexValueError = InvalidHexValueError;\nclass OffsetOutOfBoundsError extends base_js_1.BaseError {\n constructor({ nextOffset, offset }) {\n super(`Next offset (${nextOffset}) is greater than previous offset + consumed bytes (${offset})`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffsetOutOfBoundsError'\n });\n }\n}\nexports.OffsetOutOfBoundsError = OffsetOutOfBoundsError;\nclass SizeOverflowError extends base_js_1.BaseError {\n constructor({ givenSize, maxSize }) {\n super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SizeOverflowError'\n });\n }\n}\nexports.SizeOverflowError = SizeOverflowError;\n//# sourceMappingURL=encoding.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvZW5jb2RpbmcuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCLEdBQUcsOEJBQThCLEdBQUcsNEJBQTRCLEdBQUcsOEJBQThCLEdBQUcsZ0NBQWdDLEdBQUcsOEJBQThCLEdBQUcsK0JBQStCLEdBQUcsOEJBQThCO0FBQ2pRLGtCQUFrQixtQkFBTyxDQUFDLDhEQUFXO0FBQ3JDO0FBQ0Esa0JBQWtCLGtCQUFrQjtBQUNwQyxpQ0FBaUMsU0FBUyxpQ0FBaUMsV0FBVztBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQSxrQkFBa0Isb0JBQW9CO0FBQ3RDLDhCQUE4QixlQUFlLG1DQUFtQyxXQUFXO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBLGtCQUFrQixnQ0FBZ0M7QUFDbEQseUJBQXlCLE1BQU0sbUJBQW1CLFVBQVUsU0FBUyxPQUFPLGdDQUFnQyxPQUFPLGdCQUFnQixVQUFVLEtBQUssS0FBSyxJQUFJLGVBQWUsSUFBSSxHQUFHO0FBQ2pMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0EsOEJBQThCLE1BQU07QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQSw0QkFBNEIsSUFBSTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBLDRCQUE0QixNQUFNLHNCQUFzQixhQUFhO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBLGtCQUFrQixvQkFBb0I7QUFDdEMsOEJBQThCLFdBQVcsc0RBQXNELE9BQU87QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0Esa0JBQWtCLG9CQUFvQjtBQUN0QyxvQ0FBb0MsU0FBUyxxQkFBcUIsV0FBVztBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2VuY29kaW5nLmpzPzM1ZDMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlNpemVPdmVyZmxvd0Vycm9yID0gZXhwb3J0cy5PZmZzZXRPdXRPZkJvdW5kc0Vycm9yID0gZXhwb3J0cy5JbnZhbGlkSGV4VmFsdWVFcnJvciA9IGV4cG9ydHMuSW52YWxpZEhleEJvb2xlYW5FcnJvciA9IGV4cG9ydHMuSW52YWxpZEJ5dGVzQm9vbGVhbkVycm9yID0gZXhwb3J0cy5JbnRlZ2VyT3V0T2ZSYW5nZUVycm9yID0gZXhwb3J0cy5EYXRhTGVuZ3RoVG9vU2hvcnRFcnJvciA9IGV4cG9ydHMuRGF0YUxlbmd0aFRvb0xvbmdFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBEYXRhTGVuZ3RoVG9vTG9uZ0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjb25zdW1lZCwgbGVuZ3RoIH0pIHtcbiAgICAgICAgc3VwZXIoYENvbnN1bWVkIGJ5dGVzICgke2NvbnN1bWVkfSkgaXMgc2hvcnRlciB0aGFuIGRhdGEgbGVuZ3RoICgke2xlbmd0aCAtIDF9KS5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0RhdGFMZW5ndGhUb29Mb25nRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuRGF0YUxlbmd0aFRvb0xvbmdFcnJvciA9IERhdGFMZW5ndGhUb29Mb25nRXJyb3I7XG5jbGFzcyBEYXRhTGVuZ3RoVG9vU2hvcnRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgbGVuZ3RoLCBkYXRhTGVuZ3RoIH0pIHtcbiAgICAgICAgc3VwZXIoYERhdGEgbGVuZ3RoICgke2RhdGFMZW5ndGggLSAxfSkgaXMgc2hvcnRlciB0aGFuIHByZWZpeCBsZW5ndGggKCR7bGVuZ3RoIC0gMX0pLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3IgPSBEYXRhTGVuZ3RoVG9vU2hvcnRFcnJvcjtcbmNsYXNzIEludGVnZXJPdXRPZlJhbmdlRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IG1heCwgbWluLCBzaWduZWQsIHNpemUsIHZhbHVlLCB9KSB7XG4gICAgICAgIHN1cGVyKGBOdW1iZXIgXCIke3ZhbHVlfVwiIGlzIG5vdCBpbiBzYWZlICR7c2l6ZSA/IGAke3NpemUgKiA4fS1iaXQgJHtzaWduZWQgPyAnc2lnbmVkJyA6ICd1bnNpZ25lZCd9IGAgOiAnJ31pbnRlZ2VyIHJhbmdlICR7bWF4ID8gYCgke21pbn0gdG8gJHttYXh9KWAgOiBgKGFib3ZlICR7bWlufSlgfWApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW50ZWdlck91dE9mUmFuZ2VFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnRlZ2VyT3V0T2ZSYW5nZUVycm9yID0gSW50ZWdlck91dE9mUmFuZ2VFcnJvcjtcbmNsYXNzIEludmFsaWRCeXRlc0Jvb2xlYW5FcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGJ5dGVzKSB7XG4gICAgICAgIHN1cGVyKGBCeXRlcyB2YWx1ZSBcIiR7Ynl0ZXN9XCIgaXMgbm90IGEgdmFsaWQgYm9vbGVhbi4gVGhlIGJ5dGVzIGFycmF5IG11c3QgY29udGFpbiBhIHNpbmdsZSBieXRlIG9mIGVpdGhlciBhIDAgb3IgMSB2YWx1ZS5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRCeXRlc0Jvb2xlYW5FcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3IgPSBJbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3I7XG5jbGFzcyBJbnZhbGlkSGV4Qm9vbGVhbkVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoaGV4KSB7XG4gICAgICAgIHN1cGVyKGBIZXggdmFsdWUgXCIke2hleH1cIiBpcyBub3QgYSB2YWxpZCBib29sZWFuLiBUaGUgaGV4IHZhbHVlIG11c3QgYmUgXCIweDBcIiAoZmFsc2UpIG9yIFwiMHgxXCIgKHRydWUpLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEhleEJvb2xlYW5FcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkSGV4Qm9vbGVhbkVycm9yID0gSW52YWxpZEhleEJvb2xlYW5FcnJvcjtcbmNsYXNzIEludmFsaWRIZXhWYWx1ZUVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgc3VwZXIoYEhleCB2YWx1ZSBcIiR7dmFsdWV9XCIgaXMgYW4gb2RkIGxlbmd0aCAoJHt2YWx1ZS5sZW5ndGh9KS4gSXQgbXVzdCBiZSBhbiBldmVuIGxlbmd0aC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRIZXhWYWx1ZUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkludmFsaWRIZXhWYWx1ZUVycm9yID0gSW52YWxpZEhleFZhbHVlRXJyb3I7XG5jbGFzcyBPZmZzZXRPdXRPZkJvdW5kc0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBuZXh0T2Zmc2V0LCBvZmZzZXQgfSkge1xuICAgICAgICBzdXBlcihgTmV4dCBvZmZzZXQgKCR7bmV4dE9mZnNldH0pIGlzIGdyZWF0ZXIgdGhhbiBwcmV2aW91cyBvZmZzZXQgKyBjb25zdW1lZCBieXRlcyAoJHtvZmZzZXR9KWApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnT2Zmc2V0T3V0T2ZCb3VuZHNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5PZmZzZXRPdXRPZkJvdW5kc0Vycm9yID0gT2Zmc2V0T3V0T2ZCb3VuZHNFcnJvcjtcbmNsYXNzIFNpemVPdmVyZmxvd0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBnaXZlblNpemUsIG1heFNpemUgfSkge1xuICAgICAgICBzdXBlcihgU2l6ZSBjYW5ub3QgZXhjZWVkICR7bWF4U2l6ZX0gYnl0ZXMuIEdpdmVuIHNpemU6ICR7Z2l2ZW5TaXplfSBieXRlcy5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1NpemVPdmVyZmxvd0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLlNpemVPdmVyZmxvd0Vycm9yID0gU2l6ZU92ZXJmbG93RXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGluZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/encoding.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/ens.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/ens.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnsAvatarUnsupportedNamespaceError = exports.EnsAvatarUriResolutionError = exports.EnsAvatarInvalidNftUriError = exports.EnsAvatarInvalidMetadataError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass EnsAvatarInvalidMetadataError extends base_js_1.BaseError {\n constructor({ data }) {\n super('Unable to extract image from metadata. The metadata may be malformed or invalid.', {\n metaMessages: [\n '- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.',\n '',\n `Provided data: ${JSON.stringify(data)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidMetadataError'\n });\n }\n}\nexports.EnsAvatarInvalidMetadataError = EnsAvatarInvalidMetadataError;\nclass EnsAvatarInvalidNftUriError extends base_js_1.BaseError {\n constructor({ reason }) {\n super(`ENS NFT avatar URI is invalid. ${reason}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidNftUriError'\n });\n }\n}\nexports.EnsAvatarInvalidNftUriError = EnsAvatarInvalidNftUriError;\nclass EnsAvatarUriResolutionError extends base_js_1.BaseError {\n constructor({ uri }) {\n super(`Unable to resolve ENS avatar URI \"${uri}\". The URI may be malformed, invalid, or does not respond with a valid image.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUriResolutionError'\n });\n }\n}\nexports.EnsAvatarUriResolutionError = EnsAvatarUriResolutionError;\nclass EnsAvatarUnsupportedNamespaceError extends base_js_1.BaseError {\n constructor({ namespace }) {\n super(`ENS NFT avatar namespace \"${namespace}\" is not supported. Must be \"erc721\" or \"erc1155\".`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUnsupportedNamespaceError'\n });\n }\n}\nexports.EnsAvatarUnsupportedNamespaceError = EnsAvatarUnsupportedNamespaceError;\n//# sourceMappingURL=ens.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvZW5zLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBDQUEwQyxHQUFHLG1DQUFtQyxHQUFHLG1DQUFtQyxHQUFHLHFDQUFxQztBQUM5SixrQkFBa0IsbUJBQU8sQ0FBQyw4REFBVztBQUNyQztBQUNBLGtCQUFrQixNQUFNO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLHFCQUFxQjtBQUN2RDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQSxrQkFBa0IsUUFBUTtBQUMxQixnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQSxrQkFBa0IsS0FBSztBQUN2QixtREFBbUQsSUFBSTtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQSxrQkFBa0IsV0FBVztBQUM3QiwyQ0FBMkMsVUFBVTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwwQ0FBMEM7QUFDMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2Vucy5qcz85YTc3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5FbnNBdmF0YXJVbnN1cHBvcnRlZE5hbWVzcGFjZUVycm9yID0gZXhwb3J0cy5FbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3IgPSBleHBvcnRzLkVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvciA9IGV4cG9ydHMuRW5zQXZhdGFySW52YWxpZE1ldGFkYXRhRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi9iYXNlLmpzXCIpO1xuY2xhc3MgRW5zQXZhdGFySW52YWxpZE1ldGFkYXRhRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRhdGEgfSkge1xuICAgICAgICBzdXBlcignVW5hYmxlIHRvIGV4dHJhY3QgaW1hZ2UgZnJvbSBtZXRhZGF0YS4gVGhlIG1ldGFkYXRhIG1heSBiZSBtYWxmb3JtZWQgb3IgaW52YWxpZC4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAnLSBNZXRhZGF0YSBtdXN0IGJlIGEgSlNPTiBvYmplY3Qgd2l0aCBhdCBsZWFzdCBhbiBgaW1hZ2VgLCBgaW1hZ2VfdXJsYCBvciBgaW1hZ2VfZGF0YWAgcHJvcGVydHkuJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICBgUHJvdmlkZWQgZGF0YTogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdFbnNBdmF0YXJJbnZhbGlkTWV0YWRhdGFFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5FbnNBdmF0YXJJbnZhbGlkTWV0YWRhdGFFcnJvciA9IEVuc0F2YXRhckludmFsaWRNZXRhZGF0YUVycm9yO1xuY2xhc3MgRW5zQXZhdGFySW52YWxpZE5mdFVyaUVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyByZWFzb24gfSkge1xuICAgICAgICBzdXBlcihgRU5TIE5GVCBhdmF0YXIgVVJJIGlzIGludmFsaWQuICR7cmVhc29ufWApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnRW5zQXZhdGFySW52YWxpZE5mdFVyaUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvciA9IEVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvcjtcbmNsYXNzIEVuc0F2YXRhclVyaVJlc29sdXRpb25FcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgdXJpIH0pIHtcbiAgICAgICAgc3VwZXIoYFVuYWJsZSB0byByZXNvbHZlIEVOUyBhdmF0YXIgVVJJIFwiJHt1cml9XCIuIFRoZSBVUkkgbWF5IGJlIG1hbGZvcm1lZCwgaW52YWxpZCwgb3IgZG9lcyBub3QgcmVzcG9uZCB3aXRoIGEgdmFsaWQgaW1hZ2UuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdFbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yID0gRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yO1xuY2xhc3MgRW5zQXZhdGFyVW5zdXBwb3J0ZWROYW1lc3BhY2VFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgbmFtZXNwYWNlIH0pIHtcbiAgICAgICAgc3VwZXIoYEVOUyBORlQgYXZhdGFyIG5hbWVzcGFjZSBcIiR7bmFtZXNwYWNlfVwiIGlzIG5vdCBzdXBwb3J0ZWQuIE11c3QgYmUgXCJlcmM3MjFcIiBvciBcImVyYzExNTVcIi5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0Vuc0F2YXRhclVuc3VwcG9ydGVkTmFtZXNwYWNlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuRW5zQXZhdGFyVW5zdXBwb3J0ZWROYW1lc3BhY2VFcnJvciA9IEVuc0F2YXRhclVuc3VwcG9ydGVkTmFtZXNwYWNlRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/ens.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/estimateGas.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/estimateGas.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EstimateGasExecutionError = void 0;\nconst formatEther_js_1 = __webpack_require__(/*! ../utils/unit/formatEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatEther.js\");\nconst formatGwei_js_1 = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst transaction_js_1 = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nclass EstimateGasExecutionError extends base_js_1.BaseError {\n constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const prettyArgs = (0, transaction_js_1.prettyPrint)({\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${(0, formatEther_js_1.formatEther)(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${(0, formatGwei_js_1.formatGwei)(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${(0, formatGwei_js_1.formatGwei)(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${(0, formatGwei_js_1.formatGwei)(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Estimate Gas Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EstimateGasExecutionError'\n });\n this.cause = cause;\n }\n}\nexports.EstimateGasExecutionError = EstimateGasExecutionError;\n//# sourceMappingURL=estimateGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvZXN0aW1hdGVHYXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUNBQWlDO0FBQ2pDLHlCQUF5QixtQkFBTyxDQUFDLDRGQUE4QjtBQUMvRCx3QkFBd0IsbUJBQU8sQ0FBQywwRkFBNkI7QUFDN0Qsa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckMseUJBQXlCLG1CQUFPLENBQUMsNEVBQWtCO0FBQ25EO0FBQ0EseUJBQXlCLHNHQUFzRztBQUMvSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwwQ0FBMEMsRUFBRSxzQ0FBc0M7QUFDckc7QUFDQTtBQUNBLDREQUE0RCwyQ0FBMkM7QUFDdkc7QUFDQSxtQkFBbUIsK0NBQStDO0FBQ2xFO0FBQ0EsbUJBQW1CLHVEQUF1RDtBQUMxRTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL2VzdGltYXRlR2FzLmpzPzJkZWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkVzdGltYXRlR2FzRXhlY3V0aW9uRXJyb3IgPSB2b2lkIDA7XG5jb25zdCBmb3JtYXRFdGhlcl9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL3VuaXQvZm9ybWF0RXRoZXIuanNcIik7XG5jb25zdCBmb3JtYXRHd2VpX2pzXzEgPSByZXF1aXJlKFwiLi4vdXRpbHMvdW5pdC9mb3JtYXRHd2VpLmpzXCIpO1xuY29uc3QgYmFzZV9qc18xID0gcmVxdWlyZShcIi4vYmFzZS5qc1wiKTtcbmNvbnN0IHRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi90cmFuc2FjdGlvbi5qc1wiKTtcbmNsYXNzIEVzdGltYXRlR2FzRXhlY3V0aW9uRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSwgeyBhY2NvdW50LCBkb2NzUGF0aCwgY2hhaW4sIGRhdGEsIGdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIG5vbmNlLCB0bywgdmFsdWUsIH0pIHtcbiAgICAgICAgY29uc3QgcHJldHR5QXJncyA9ICgwLCB0cmFuc2FjdGlvbl9qc18xLnByZXR0eVByaW50KSh7XG4gICAgICAgICAgICBmcm9tOiBhY2NvdW50Py5hZGRyZXNzLFxuICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgIGAkeygwLCBmb3JtYXRFdGhlcl9qc18xLmZvcm1hdEV0aGVyKSh2YWx1ZSl9ICR7Y2hhaW4/Lm5hdGl2ZUN1cnJlbmN5LnN5bWJvbCB8fCAnRVRIJ31gLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgIGdhc1ByaWNlOiB0eXBlb2YgZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnICYmIGAkeygwLCBmb3JtYXRHd2VpX2pzXzEuZm9ybWF0R3dlaSkoZ2FzUHJpY2UpfSBnd2VpYCxcbiAgICAgICAgICAgIG1heEZlZVBlckdhczogdHlwZW9mIG1heEZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heEZlZVBlckdhcyl9IGd3ZWlgLFxuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heFByaW9yaXR5RmVlUGVyR2FzKX0gZ3dlaWAsXG4gICAgICAgICAgICBub25jZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyKGNhdXNlLnNob3J0TWVzc2FnZSwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIC4uLihjYXVzZS5tZXRhTWVzc2FnZXMgPyBbLi4uY2F1c2UubWV0YU1lc3NhZ2VzLCAnICddIDogW10pLFxuICAgICAgICAgICAgICAgICdFc3RpbWF0ZSBHYXMgQXJndW1lbnRzOicsXG4gICAgICAgICAgICAgICAgcHJldHR5QXJncyxcbiAgICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY2F1c2VcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0VzdGltYXRlR2FzRXhlY3V0aW9uRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhdXNlID0gY2F1c2U7XG4gICAgfVxufVxuZXhwb3J0cy5Fc3RpbWF0ZUdhc0V4ZWN1dGlvbkVycm9yID0gRXN0aW1hdGVHYXNFeGVjdXRpb25FcnJvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzdGltYXRlR2FzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/estimateGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/log.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/log.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FilterTypeNotSupportedError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass FilterTypeNotSupportedError extends base_js_1.BaseError {\n constructor(type) {\n super(`Filter type \"${type}\" is not supported.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FilterTypeNotSupportedError'\n });\n }\n}\nexports.FilterTypeNotSupportedError = FilterTypeNotSupportedError;\n//# sourceMappingURL=log.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvbG9nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1DQUFtQztBQUNuQyxrQkFBa0IsbUJBQU8sQ0FBQyw4REFBVztBQUNyQztBQUNBO0FBQ0EsOEJBQThCLEtBQUs7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2Vycm9ycy9sb2cuanM/ZmRjYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuRmlsdGVyVHlwZU5vdFN1cHBvcnRlZEVycm9yID0gdm9pZCAwO1xuY29uc3QgYmFzZV9qc18xID0gcmVxdWlyZShcIi4vYmFzZS5qc1wiKTtcbmNsYXNzIEZpbHRlclR5cGVOb3RTdXBwb3J0ZWRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICAgICAgc3VwZXIoYEZpbHRlciB0eXBlIFwiJHt0eXBlfVwiIGlzIG5vdCBzdXBwb3J0ZWQuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdGaWx0ZXJUeXBlTm90U3VwcG9ydGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuRmlsdGVyVHlwZU5vdFN1cHBvcnRlZEVycm9yID0gRmlsdGVyVHlwZU5vdFN1cHBvcnRlZEVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/log.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/node.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/node.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownNodeError = exports.TipAboveFeeCapError = exports.TransactionTypeNotSupportedError = exports.IntrinsicGasTooLowError = exports.IntrinsicGasTooHighError = exports.InsufficientFundsError = exports.NonceMaxValueError = exports.NonceTooLowError = exports.NonceTooHighError = exports.FeeCapTooLowError = exports.FeeCapTooHighError = exports.ExecutionRevertedError = void 0;\nconst formatGwei_js_1 = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass ExecutionRevertedError extends base_js_1.BaseError {\n constructor({ cause, message, } = {}) {\n const reason = message\n ?.replace('execution reverted: ', '')\n ?.replace('execution reverted', '');\n super(`Execution reverted ${reason ? `with reason: ${reason}` : 'for an unknown reason'}.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ExecutionRevertedError'\n });\n }\n}\nObject.defineProperty(ExecutionRevertedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 3\n});\nObject.defineProperty(ExecutionRevertedError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /execution reverted/\n});\nexports.ExecutionRevertedError = ExecutionRevertedError;\nclass FeeCapTooHighError extends base_js_1.BaseError {\n constructor({ cause, maxFeePerGas, } = {}) {\n super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${(0, formatGwei_js_1.formatGwei)(maxFeePerGas)} gwei` : ''}) cannot be higher than the maximum allowed value (2^256-1).`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeCapTooHigh'\n });\n }\n}\nObject.defineProperty(FeeCapTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/\n});\nexports.FeeCapTooHighError = FeeCapTooHighError;\nclass FeeCapTooLowError extends base_js_1.BaseError {\n constructor({ cause, maxFeePerGas, } = {}) {\n super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${(0, formatGwei_js_1.formatGwei)(maxFeePerGas)}` : ''} gwei) cannot be lower than the block base fee.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeCapTooLow'\n });\n }\n}\nObject.defineProperty(FeeCapTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/\n});\nexports.FeeCapTooLowError = FeeCapTooLowError;\nclass NonceTooHighError extends base_js_1.BaseError {\n constructor({ cause, nonce } = {}) {\n super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is higher than the next one expected.`, { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceTooHighError'\n });\n }\n}\nObject.defineProperty(NonceTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce too high/\n});\nexports.NonceTooHighError = NonceTooHighError;\nclass NonceTooLowError extends base_js_1.BaseError {\n constructor({ cause, nonce } = {}) {\n super([\n `Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is lower than the current nonce of the account.`,\n 'Try increasing the nonce or find the latest nonce with `getTransactionCount`.',\n ].join('\\n'), { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceTooLowError'\n });\n }\n}\nObject.defineProperty(NonceTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce too low|transaction already imported/\n});\nexports.NonceTooLowError = NonceTooLowError;\nclass NonceMaxValueError extends base_js_1.BaseError {\n constructor({ cause, nonce } = {}) {\n super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}exceeds the maximum allowed nonce.`, { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceMaxValueError'\n });\n }\n}\nObject.defineProperty(NonceMaxValueError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce has max value/\n});\nexports.NonceMaxValueError = NonceMaxValueError;\nclass InsufficientFundsError extends base_js_1.BaseError {\n constructor({ cause } = {}) {\n super([\n 'The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.',\n ].join('\\n'), {\n cause,\n metaMessages: [\n 'This error could arise when the account does not have enough funds to:',\n ' - pay for the total gas fee,',\n ' - pay for the value to send.',\n ' ',\n 'The cost of the transaction is calculated as `gas * gas fee + value`, where:',\n ' - `gas` is the amount of gas needed for transaction to execute,',\n ' - `gas fee` is the gas fee,',\n ' - `value` is the amount of ether to send to the recipient.',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InsufficientFundsError'\n });\n }\n}\nObject.defineProperty(InsufficientFundsError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /insufficient funds/\n});\nexports.InsufficientFundsError = InsufficientFundsError;\nclass IntrinsicGasTooHighError extends base_js_1.BaseError {\n constructor({ cause, gas } = {}) {\n super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction exceeds the limit allowed for the block.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntrinsicGasTooHighError'\n });\n }\n}\nObject.defineProperty(IntrinsicGasTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /intrinsic gas too high|gas limit reached/\n});\nexports.IntrinsicGasTooHighError = IntrinsicGasTooHighError;\nclass IntrinsicGasTooLowError extends base_js_1.BaseError {\n constructor({ cause, gas } = {}) {\n super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction is too low.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntrinsicGasTooLowError'\n });\n }\n}\nObject.defineProperty(IntrinsicGasTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /intrinsic gas too low/\n});\nexports.IntrinsicGasTooLowError = IntrinsicGasTooLowError;\nclass TransactionTypeNotSupportedError extends base_js_1.BaseError {\n constructor({ cause }) {\n super('The transaction type is not supported for this chain.', {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionTypeNotSupportedError'\n });\n }\n}\nObject.defineProperty(TransactionTypeNotSupportedError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /transaction type not valid/\n});\nexports.TransactionTypeNotSupportedError = TransactionTypeNotSupportedError;\nclass TipAboveFeeCapError extends base_js_1.BaseError {\n constructor({ cause, maxPriorityFeePerGas, maxFeePerGas, } = {}) {\n super([\n `The provided tip (\\`maxPriorityFeePerGas\\`${maxPriorityFeePerGas\n ? ` = ${(0, formatGwei_js_1.formatGwei)(maxPriorityFeePerGas)} gwei`\n : ''}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${(0, formatGwei_js_1.formatGwei)(maxFeePerGas)} gwei` : ''}).`,\n ].join('\\n'), {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TipAboveFeeCapError'\n });\n }\n}\nObject.defineProperty(TipAboveFeeCapError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max priority fee per gas higher than max fee per gas|tip higher than fee cap/\n});\nexports.TipAboveFeeCapError = TipAboveFeeCapError;\nclass UnknownNodeError extends base_js_1.BaseError {\n constructor({ cause }) {\n super(`An error occurred while executing: ${cause?.message}`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownNodeError'\n });\n }\n}\nexports.UnknownNodeError = UnknownNodeError;\n//# sourceMappingURL=node.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvbm9kZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0IsR0FBRywyQkFBMkIsR0FBRyx3Q0FBd0MsR0FBRywrQkFBK0IsR0FBRyxnQ0FBZ0MsR0FBRyw4QkFBOEIsR0FBRywwQkFBMEIsR0FBRyx3QkFBd0IsR0FBRyx5QkFBeUIsR0FBRyx5QkFBeUIsR0FBRywwQkFBMEIsR0FBRyw4QkFBOEI7QUFDclgsd0JBQXdCLG1CQUFPLENBQUMsMEZBQTZCO0FBQzdELGtCQUFrQixtQkFBTyxDQUFDLDhEQUFXO0FBQ3JDO0FBQ0Esa0JBQWtCLGtCQUFrQixJQUFJO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyx5QkFBeUIsT0FBTyw0QkFBNEI7QUFDaEc7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELDhCQUE4QjtBQUM5QjtBQUNBLGtCQUFrQix1QkFBdUIsSUFBSTtBQUM3Qyw4Q0FBOEMscUJBQXFCLCtDQUErQyxXQUFXO0FBQzdIO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsMEJBQTBCO0FBQzFCO0FBQ0Esa0JBQWtCLHVCQUF1QixJQUFJO0FBQzdDLDhDQUE4QyxxQkFBcUIsOENBQThDLFFBQVE7QUFDekg7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx5QkFBeUI7QUFDekI7QUFDQSxrQkFBa0IsZUFBZSxJQUFJO0FBQ3JDLG9EQUFvRCxZQUFZLE1BQU0sU0FBUywwQ0FBMEMsT0FBTztBQUNoSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHlCQUF5QjtBQUN6QjtBQUNBLGtCQUFrQixlQUFlLElBQUk7QUFDckM7QUFDQSxrREFBa0QsWUFBWSxNQUFNLFNBQVM7QUFDN0U7QUFDQSx3QkFBd0IsT0FBTztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHdCQUF3QjtBQUN4QjtBQUNBLGtCQUFrQixlQUFlLElBQUk7QUFDckMsb0RBQW9ELFlBQVksTUFBTSxTQUFTLHVDQUF1QyxPQUFPO0FBQzdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsMEJBQTBCO0FBQzFCO0FBQ0Esa0JBQWtCLFFBQVEsSUFBSTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsOEJBQThCO0FBQzlCO0FBQ0Esa0JBQWtCLGFBQWEsSUFBSTtBQUNuQyxtQ0FBbUMsVUFBVSxJQUFJLFNBQVM7QUFDMUQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxnQ0FBZ0M7QUFDaEM7QUFDQSxrQkFBa0IsYUFBYSxJQUFJO0FBQ25DLG1DQUFtQyxVQUFVLElBQUksU0FBUztBQUMxRDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELCtCQUErQjtBQUMvQjtBQUNBLGtCQUFrQixPQUFPO0FBQ3pCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx3Q0FBd0M7QUFDeEM7QUFDQSxrQkFBa0IsNkNBQTZDLElBQUk7QUFDbkU7QUFDQSx5REFBeUQ7QUFDekQsd0JBQXdCLHVEQUF1RDtBQUMvRSxxQkFBcUIsdURBQXVELHFCQUFxQiwrQ0FBK0MsV0FBVztBQUMzSjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsMkJBQTJCO0FBQzNCO0FBQ0Esa0JBQWtCLE9BQU87QUFDekIsb0RBQW9ELGVBQWU7QUFDbkU7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2Vycm9ycy9ub2RlLmpzP2MyM2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlVua25vd25Ob2RlRXJyb3IgPSBleHBvcnRzLlRpcEFib3ZlRmVlQ2FwRXJyb3IgPSBleHBvcnRzLlRyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yID0gZXhwb3J0cy5JbnRyaW5zaWNHYXNUb29Mb3dFcnJvciA9IGV4cG9ydHMuSW50cmluc2ljR2FzVG9vSGlnaEVycm9yID0gZXhwb3J0cy5JbnN1ZmZpY2llbnRGdW5kc0Vycm9yID0gZXhwb3J0cy5Ob25jZU1heFZhbHVlRXJyb3IgPSBleHBvcnRzLk5vbmNlVG9vTG93RXJyb3IgPSBleHBvcnRzLk5vbmNlVG9vSGlnaEVycm9yID0gZXhwb3J0cy5GZWVDYXBUb29Mb3dFcnJvciA9IGV4cG9ydHMuRmVlQ2FwVG9vSGlnaEVycm9yID0gZXhwb3J0cy5FeGVjdXRpb25SZXZlcnRlZEVycm9yID0gdm9pZCAwO1xuY29uc3QgZm9ybWF0R3dlaV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qc1wiKTtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBFeGVjdXRpb25SZXZlcnRlZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSwgbWVzc2FnZSwgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IG1lc3NhZ2VcbiAgICAgICAgICAgID8ucmVwbGFjZSgnZXhlY3V0aW9uIHJldmVydGVkOiAnLCAnJylcbiAgICAgICAgICAgID8ucmVwbGFjZSgnZXhlY3V0aW9uIHJldmVydGVkJywgJycpO1xuICAgICAgICBzdXBlcihgRXhlY3V0aW9uIHJldmVydGVkICR7cmVhc29uID8gYHdpdGggcmVhc29uOiAke3JlYXNvbn1gIDogJ2ZvciBhbiB1bmtub3duIHJlYXNvbid9LmAsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0V4ZWN1dGlvblJldmVydGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFeGVjdXRpb25SZXZlcnRlZEVycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAzXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFeGVjdXRpb25SZXZlcnRlZEVycm9yLCBcIm5vZGVNZXNzYWdlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogL2V4ZWN1dGlvbiByZXZlcnRlZC9cbn0pO1xuZXhwb3J0cy5FeGVjdXRpb25SZXZlcnRlZEVycm9yID0gRXhlY3V0aW9uUmV2ZXJ0ZWRFcnJvcjtcbmNsYXNzIEZlZUNhcFRvb0hpZ2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIG1heEZlZVBlckdhcywgfSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGBUaGUgZmVlIGNhcCAoXFxgbWF4RmVlUGVyR2FzXFxgJHttYXhGZWVQZXJHYXMgPyBgID0gJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heEZlZVBlckdhcyl9IGd3ZWlgIDogJyd9KSBjYW5ub3QgYmUgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZSAoMl4yNTYtMSkuYCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnRmVlQ2FwVG9vSGlnaCdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEZlZUNhcFRvb0hpZ2hFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9tYXggZmVlIHBlciBnYXMgaGlnaGVyIHRoYW4gMlxcXjI1Ni0xfGZlZSBjYXAgaGlnaGVyIHRoYW4gMlxcXjI1Ni0xL1xufSk7XG5leHBvcnRzLkZlZUNhcFRvb0hpZ2hFcnJvciA9IEZlZUNhcFRvb0hpZ2hFcnJvcjtcbmNsYXNzIEZlZUNhcFRvb0xvd0Vycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSwgbWF4RmVlUGVyR2FzLCB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBmZWUgY2FwIChcXGBtYXhGZWVQZXJHYXNcXGAke21heEZlZVBlckdhcyA/IGAgPSAkeygwLCBmb3JtYXRHd2VpX2pzXzEuZm9ybWF0R3dlaSkobWF4RmVlUGVyR2FzKX1gIDogJyd9IGd3ZWkpIGNhbm5vdCBiZSBsb3dlciB0aGFuIHRoZSBibG9jayBiYXNlIGZlZS5gLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdGZWVDYXBUb29Mb3cnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShGZWVDYXBUb29Mb3dFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9tYXggZmVlIHBlciBnYXMgbGVzcyB0aGFuIGJsb2NrIGJhc2UgZmVlfGZlZSBjYXAgbGVzcyB0aGFuIGJsb2NrIGJhc2UgZmVlfHRyYW5zYWN0aW9uIGlzIG91dGRhdGVkL1xufSk7XG5leHBvcnRzLkZlZUNhcFRvb0xvd0Vycm9yID0gRmVlQ2FwVG9vTG93RXJyb3I7XG5jbGFzcyBOb25jZVRvb0hpZ2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIG5vbmNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihgTm9uY2UgcHJvdmlkZWQgZm9yIHRoZSB0cmFuc2FjdGlvbiAke25vbmNlID8gYCgke25vbmNlfSkgYCA6ICcnfWlzIGhpZ2hlciB0aGFuIHRoZSBuZXh0IG9uZSBleHBlY3RlZC5gLCB7IGNhdXNlIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnTm9uY2VUb29IaWdoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb25jZVRvb0hpZ2hFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9ub25jZSB0b28gaGlnaC9cbn0pO1xuZXhwb3J0cy5Ob25jZVRvb0hpZ2hFcnJvciA9IE5vbmNlVG9vSGlnaEVycm9yO1xuY2xhc3MgTm9uY2VUb29Mb3dFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIG5vbmNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgTm9uY2UgcHJvdmlkZWQgZm9yIHRoZSB0cmFuc2FjdGlvbiAke25vbmNlID8gYCgke25vbmNlfSkgYCA6ICcnfWlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgbm9uY2Ugb2YgdGhlIGFjY291bnQuYCxcbiAgICAgICAgICAgICdUcnkgaW5jcmVhc2luZyB0aGUgbm9uY2Ugb3IgZmluZCB0aGUgbGF0ZXN0IG5vbmNlIHdpdGggYGdldFRyYW5zYWN0aW9uQ291bnRgLicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHsgY2F1c2UgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdOb25jZVRvb0xvd0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoTm9uY2VUb29Mb3dFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9ub25jZSB0b28gbG93fHRyYW5zYWN0aW9uIGFscmVhZHkgaW1wb3J0ZWQvXG59KTtcbmV4cG9ydHMuTm9uY2VUb29Mb3dFcnJvciA9IE5vbmNlVG9vTG93RXJyb3I7XG5jbGFzcyBOb25jZU1heFZhbHVlRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlLCBub25jZSB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoYE5vbmNlIHByb3ZpZGVkIGZvciB0aGUgdHJhbnNhY3Rpb24gJHtub25jZSA/IGAoJHtub25jZX0pIGAgOiAnJ31leGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgbm9uY2UuYCwgeyBjYXVzZSB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ05vbmNlTWF4VmFsdWVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KE5vbmNlTWF4VmFsdWVFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9ub25jZSBoYXMgbWF4IHZhbHVlL1xufSk7XG5leHBvcnRzLk5vbmNlTWF4VmFsdWVFcnJvciA9IE5vbmNlTWF4VmFsdWVFcnJvcjtcbmNsYXNzIEluc3VmZmljaWVudEZ1bmRzRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnVGhlIHRvdGFsIGNvc3QgKGdhcyAqIGdhcyBmZWUgKyB2YWx1ZSkgb2YgZXhlY3V0aW5nIHRoaXMgdHJhbnNhY3Rpb24gZXhjZWVkcyB0aGUgYmFsYW5jZSBvZiB0aGUgYWNjb3VudC4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgICdUaGlzIGVycm9yIGNvdWxkIGFyaXNlIHdoZW4gdGhlIGFjY291bnQgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMgdG86JyxcbiAgICAgICAgICAgICAgICAnIC0gcGF5IGZvciB0aGUgdG90YWwgZ2FzIGZlZSwnLFxuICAgICAgICAgICAgICAgICcgLSBwYXkgZm9yIHRoZSB2YWx1ZSB0byBzZW5kLicsXG4gICAgICAgICAgICAgICAgJyAnLFxuICAgICAgICAgICAgICAgICdUaGUgY29zdCBvZiB0aGUgdHJhbnNhY3Rpb24gaXMgY2FsY3VsYXRlZCBhcyBgZ2FzICogZ2FzIGZlZSArIHZhbHVlYCwgd2hlcmU6JyxcbiAgICAgICAgICAgICAgICAnIC0gYGdhc2AgaXMgdGhlIGFtb3VudCBvZiBnYXMgbmVlZGVkIGZvciB0cmFuc2FjdGlvbiB0byBleGVjdXRlLCcsXG4gICAgICAgICAgICAgICAgJyAtIGBnYXMgZmVlYCBpcyB0aGUgZ2FzIGZlZSwnLFxuICAgICAgICAgICAgICAgICcgLSBgdmFsdWVgIGlzIHRoZSBhbW91bnQgb2YgZXRoZXIgdG8gc2VuZCB0byB0aGUgcmVjaXBpZW50LicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0luc3VmZmljaWVudEZ1bmRzRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnN1ZmZpY2llbnRGdW5kc0Vycm9yLCBcIm5vZGVNZXNzYWdlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogL2luc3VmZmljaWVudCBmdW5kcy9cbn0pO1xuZXhwb3J0cy5JbnN1ZmZpY2llbnRGdW5kc0Vycm9yID0gSW5zdWZmaWNpZW50RnVuZHNFcnJvcjtcbmNsYXNzIEludHJpbnNpY0dhc1Rvb0hpZ2hFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIGdhcyB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBhbW91bnQgb2YgZ2FzICR7Z2FzID8gYCgke2dhc30pIGAgOiAnJ31wcm92aWRlZCBmb3IgdGhlIHRyYW5zYWN0aW9uIGV4Y2VlZHMgdGhlIGxpbWl0IGFsbG93ZWQgZm9yIHRoZSBibG9jay5gLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnRyaW5zaWNHYXNUb29IaWdoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnRyaW5zaWNHYXNUb29IaWdoRXJyb3IsIFwibm9kZU1lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAvaW50cmluc2ljIGdhcyB0b28gaGlnaHxnYXMgbGltaXQgcmVhY2hlZC9cbn0pO1xuZXhwb3J0cy5JbnRyaW5zaWNHYXNUb29IaWdoRXJyb3IgPSBJbnRyaW5zaWNHYXNUb29IaWdoRXJyb3I7XG5jbGFzcyBJbnRyaW5zaWNHYXNUb29Mb3dFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIGdhcyB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBhbW91bnQgb2YgZ2FzICR7Z2FzID8gYCgke2dhc30pIGAgOiAnJ31wcm92aWRlZCBmb3IgdGhlIHRyYW5zYWN0aW9uIGlzIHRvbyBsb3cuYCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW50cmluc2ljR2FzVG9vTG93RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnRyaW5zaWNHYXNUb29Mb3dFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9pbnRyaW5zaWMgZ2FzIHRvbyBsb3cvXG59KTtcbmV4cG9ydHMuSW50cmluc2ljR2FzVG9vTG93RXJyb3IgPSBJbnRyaW5zaWNHYXNUb29Mb3dFcnJvcjtcbmNsYXNzIFRyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSB9KSB7XG4gICAgICAgIHN1cGVyKCdUaGUgdHJhbnNhY3Rpb24gdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNoYWluLicsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1RyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3IsIFwibm9kZU1lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAvdHJhbnNhY3Rpb24gdHlwZSBub3QgdmFsaWQvXG59KTtcbmV4cG9ydHMuVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3IgPSBUcmFuc2FjdGlvblR5cGVOb3RTdXBwb3J0ZWRFcnJvcjtcbmNsYXNzIFRpcEFib3ZlRmVlQ2FwRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlLCBtYXhQcmlvcml0eUZlZVBlckdhcywgbWF4RmVlUGVyR2FzLCB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYFRoZSBwcm92aWRlZCB0aXAgKFxcYG1heFByaW9yaXR5RmVlUGVyR2FzXFxgJHttYXhQcmlvcml0eUZlZVBlckdhc1xuICAgICAgICAgICAgICAgID8gYCA9ICR7KDAsIGZvcm1hdEd3ZWlfanNfMS5mb3JtYXRHd2VpKShtYXhQcmlvcml0eUZlZVBlckdhcyl9IGd3ZWlgXG4gICAgICAgICAgICAgICAgOiAnJ30pIGNhbm5vdCBiZSBoaWdoZXIgdGhhbiB0aGUgZmVlIGNhcCAoXFxgbWF4RmVlUGVyR2FzXFxgJHttYXhGZWVQZXJHYXMgPyBgID0gJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heEZlZVBlckdhcyl9IGd3ZWlgIDogJyd9KS5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUaXBBYm92ZUZlZUNhcEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVGlwQWJvdmVGZWVDYXBFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9tYXggcHJpb3JpdHkgZmVlIHBlciBnYXMgaGlnaGVyIHRoYW4gbWF4IGZlZSBwZXIgZ2FzfHRpcCBoaWdoZXIgdGhhbiBmZWUgY2FwL1xufSk7XG5leHBvcnRzLlRpcEFib3ZlRmVlQ2FwRXJyb3IgPSBUaXBBYm92ZUZlZUNhcEVycm9yO1xuY2xhc3MgVW5rbm93bk5vZGVFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UgfSkge1xuICAgICAgICBzdXBlcihgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nOiAke2NhdXNlPy5tZXNzYWdlfWAsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Vua25vd25Ob2RlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuVW5rbm93bk5vZGVFcnJvciA9IFVua25vd25Ob2RlRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub2RlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/node.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/request.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/request.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TimeoutError = exports.RpcRequestError = exports.WebSocketRequestError = exports.HttpRequestError = void 0;\nconst stringify_js_1 = __webpack_require__(/*! ../utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/cjs/errors/utils.js\");\nclass HttpRequestError extends base_js_1.BaseError {\n constructor({ body, details, headers, status, url, }) {\n super('HTTP request failed.', {\n details,\n metaMessages: [\n status && `Status: ${status}`,\n `URL: ${(0, utils_js_1.getUrl)(url)}`,\n body && `Request body: ${(0, stringify_js_1.stringify)(body)}`,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'HttpRequestError'\n });\n Object.defineProperty(this, \"body\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"headers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.body = body;\n this.headers = headers;\n this.status = status;\n this.url = url;\n }\n}\nexports.HttpRequestError = HttpRequestError;\nclass WebSocketRequestError extends base_js_1.BaseError {\n constructor({ body, details, url, }) {\n super('WebSocket request failed.', {\n details,\n metaMessages: [`URL: ${(0, utils_js_1.getUrl)(url)}`, `Request body: ${(0, stringify_js_1.stringify)(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WebSocketRequestError'\n });\n }\n}\nexports.WebSocketRequestError = WebSocketRequestError;\nclass RpcRequestError extends base_js_1.BaseError {\n constructor({ body, error, url, }) {\n super('RPC Request failed.', {\n cause: error,\n details: error.message,\n metaMessages: [`URL: ${(0, utils_js_1.getUrl)(url)}`, `Request body: ${(0, stringify_js_1.stringify)(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RpcRequestError'\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.code = error.code;\n }\n}\nexports.RpcRequestError = RpcRequestError;\nclass TimeoutError extends base_js_1.BaseError {\n constructor({ body, url, }) {\n super('The request took too long to respond.', {\n details: 'The request timed out.',\n metaMessages: [`URL: ${(0, utils_js_1.getUrl)(url)}`, `Request body: ${(0, stringify_js_1.stringify)(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TimeoutError'\n });\n }\n}\nexports.TimeoutError = TimeoutError;\n//# sourceMappingURL=request.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvcmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0IsR0FBRyx1QkFBdUIsR0FBRyw2QkFBNkIsR0FBRyx3QkFBd0I7QUFDekcsdUJBQXVCLG1CQUFPLENBQUMsOEVBQXVCO0FBQ3RELGtCQUFrQixtQkFBTyxDQUFDLDhEQUFXO0FBQ3JDLG1CQUFtQixtQkFBTyxDQUFDLGdFQUFZO0FBQ3ZDO0FBQ0Esa0JBQWtCLHNDQUFzQztBQUN4RDtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsT0FBTztBQUM1Qyx3QkFBd0IsNEJBQTRCO0FBQ3BELHlDQUF5QyxvQ0FBb0M7QUFDN0U7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBLGtCQUFrQixxQkFBcUI7QUFDdkM7QUFDQTtBQUNBLG1DQUFtQyw0QkFBNEIsb0JBQW9CLG9DQUFvQztBQUN2SCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0Esa0JBQWtCLG1CQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsNEJBQTRCLG9CQUFvQixvQ0FBb0M7QUFDdkgsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSxrQkFBa0IsWUFBWTtBQUM5QjtBQUNBO0FBQ0EsbUNBQW1DLDRCQUE0QixvQkFBb0Isb0NBQW9DO0FBQ3ZILFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL3JlcXVlc3QuanM/MzMwMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVGltZW91dEVycm9yID0gZXhwb3J0cy5ScGNSZXF1ZXN0RXJyb3IgPSBleHBvcnRzLldlYlNvY2tldFJlcXVlc3RFcnJvciA9IGV4cG9ydHMuSHR0cFJlcXVlc3RFcnJvciA9IHZvaWQgMDtcbmNvbnN0IHN0cmluZ2lmeV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL3N0cmluZ2lmeS5qc1wiKTtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jb25zdCB1dGlsc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMuanNcIik7XG5jbGFzcyBIdHRwUmVxdWVzdEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBib2R5LCBkZXRhaWxzLCBoZWFkZXJzLCBzdGF0dXMsIHVybCwgfSkge1xuICAgICAgICBzdXBlcignSFRUUCByZXF1ZXN0IGZhaWxlZC4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzLFxuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgc3RhdHVzICYmIGBTdGF0dXM6ICR7c3RhdHVzfWAsXG4gICAgICAgICAgICAgICAgYFVSTDogJHsoMCwgdXRpbHNfanNfMS5nZXRVcmwpKHVybCl9YCxcbiAgICAgICAgICAgICAgICBib2R5ICYmIGBSZXF1ZXN0IGJvZHk6ICR7KDAsIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeSkoYm9keSl9YCxcbiAgICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0h0dHBSZXF1ZXN0RXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJib2R5XCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImhlYWRlcnNcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic3RhdHVzXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInVybFwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmJvZHkgPSBib2R5O1xuICAgICAgICB0aGlzLmhlYWRlcnMgPSBoZWFkZXJzO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcbiAgICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgfVxufVxuZXhwb3J0cy5IdHRwUmVxdWVzdEVycm9yID0gSHR0cFJlcXVlc3RFcnJvcjtcbmNsYXNzIFdlYlNvY2tldFJlcXVlc3RFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYm9keSwgZGV0YWlscywgdXJsLCB9KSB7XG4gICAgICAgIHN1cGVyKCdXZWJTb2NrZXQgcmVxdWVzdCBmYWlsZWQuJywge1xuICAgICAgICAgICAgZGV0YWlscyxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW2BVUkw6ICR7KDAsIHV0aWxzX2pzXzEuZ2V0VXJsKSh1cmwpfWAsIGBSZXF1ZXN0IGJvZHk6ICR7KDAsIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeSkoYm9keSl9YF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnV2ViU29ja2V0UmVxdWVzdEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLldlYlNvY2tldFJlcXVlc3RFcnJvciA9IFdlYlNvY2tldFJlcXVlc3RFcnJvcjtcbmNsYXNzIFJwY1JlcXVlc3RFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYm9keSwgZXJyb3IsIHVybCwgfSkge1xuICAgICAgICBzdXBlcignUlBDIFJlcXVlc3QgZmFpbGVkLicsIHtcbiAgICAgICAgICAgIGNhdXNlOiBlcnJvcixcbiAgICAgICAgICAgIGRldGFpbHM6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtgVVJMOiAkeygwLCB1dGlsc19qc18xLmdldFVybCkodXJsKX1gLCBgUmVxdWVzdCBib2R5OiAkeygwLCBzdHJpbmdpZnlfanNfMS5zdHJpbmdpZnkpKGJvZHkpfWBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1JwY1JlcXVlc3RFcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImNvZGVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2RlID0gZXJyb3IuY29kZTtcbiAgICB9XG59XG5leHBvcnRzLlJwY1JlcXVlc3RFcnJvciA9IFJwY1JlcXVlc3RFcnJvcjtcbmNsYXNzIFRpbWVvdXRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYm9keSwgdXJsLCB9KSB7XG4gICAgICAgIHN1cGVyKCdUaGUgcmVxdWVzdCB0b29rIHRvbyBsb25nIHRvIHJlc3BvbmQuJywge1xuICAgICAgICAgICAgZGV0YWlsczogJ1RoZSByZXF1ZXN0IHRpbWVkIG91dC4nLFxuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbYFVSTDogJHsoMCwgdXRpbHNfanNfMS5nZXRVcmwpKHVybCl9YCwgYFJlcXVlc3QgYm9keTogJHsoMCwgc3RyaW5naWZ5X2pzXzEuc3RyaW5naWZ5KShib2R5KX1gXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUaW1lb3V0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuVGltZW91dEVycm9yID0gVGltZW91dEVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWVzdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/request.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/rpc.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/rpc.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownRpcError = exports.SwitchChainError = exports.ChainDisconnectedError = exports.ProviderDisconnectedError = exports.UnsupportedProviderMethodError = exports.UnauthorizedProviderError = exports.UserRejectedRequestError = exports.JsonRpcVersionUnsupportedError = exports.LimitExceededRpcError = exports.MethodNotSupportedRpcError = exports.TransactionRejectedRpcError = exports.ResourceUnavailableRpcError = exports.ResourceNotFoundRpcError = exports.InvalidInputRpcError = exports.InternalRpcError = exports.InvalidParamsRpcError = exports.MethodNotFoundRpcError = exports.InvalidRequestRpcError = exports.ParseRpcError = exports.ProviderRpcError = exports.RpcError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst request_js_1 = __webpack_require__(/*! ./request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst unknownErrorCode = -1;\nclass RpcError extends base_js_1.BaseError {\n constructor(cause, { code, docsPath, metaMessages, shortMessage }) {\n super(shortMessage, {\n cause,\n docsPath,\n metaMessages: metaMessages || cause?.metaMessages,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RpcError'\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = cause.name;\n this.code = (cause instanceof request_js_1.RpcRequestError ? cause.code : code ?? unknownErrorCode);\n }\n}\nexports.RpcError = RpcError;\nclass ProviderRpcError extends RpcError {\n constructor(cause, options) {\n super(cause, options);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ProviderRpcError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = options.data;\n }\n}\nexports.ProviderRpcError = ProviderRpcError;\nclass ParseRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ParseRpcError.code,\n shortMessage: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ParseRpcError'\n });\n }\n}\nObject.defineProperty(ParseRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32700\n});\nexports.ParseRpcError = ParseRpcError;\nclass InvalidRequestRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidRequestRpcError.code,\n shortMessage: 'JSON is not a valid request object.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidRequestRpcError'\n });\n }\n}\nObject.defineProperty(InvalidRequestRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32600\n});\nexports.InvalidRequestRpcError = InvalidRequestRpcError;\nclass MethodNotFoundRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: MethodNotFoundRpcError.code,\n shortMessage: 'The method does not exist / is not available.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'MethodNotFoundRpcError'\n });\n }\n}\nObject.defineProperty(MethodNotFoundRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32601\n});\nexports.MethodNotFoundRpcError = MethodNotFoundRpcError;\nclass InvalidParamsRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidParamsRpcError.code,\n shortMessage: [\n 'Invalid parameters were provided to the RPC method.',\n 'Double check you have provided the correct parameters.',\n ].join('\\n'),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParamsRpcError'\n });\n }\n}\nObject.defineProperty(InvalidParamsRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32602\n});\nexports.InvalidParamsRpcError = InvalidParamsRpcError;\nclass InternalRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InternalRpcError.code,\n shortMessage: 'An internal error was received.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InternalRpcError'\n });\n }\n}\nObject.defineProperty(InternalRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32603\n});\nexports.InternalRpcError = InternalRpcError;\nclass InvalidInputRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidInputRpcError.code,\n shortMessage: [\n 'Missing or invalid parameters.',\n 'Double check you have provided the correct parameters.',\n ].join('\\n'),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidInputRpcError'\n });\n }\n}\nObject.defineProperty(InvalidInputRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32000\n});\nexports.InvalidInputRpcError = InvalidInputRpcError;\nclass ResourceNotFoundRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ResourceNotFoundRpcError.code,\n shortMessage: 'Requested resource not found.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ResourceNotFoundRpcError'\n });\n }\n}\nObject.defineProperty(ResourceNotFoundRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32001\n});\nexports.ResourceNotFoundRpcError = ResourceNotFoundRpcError;\nclass ResourceUnavailableRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ResourceUnavailableRpcError.code,\n shortMessage: 'Requested resource not available.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ResourceUnavailableRpcError'\n });\n }\n}\nObject.defineProperty(ResourceUnavailableRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32002\n});\nexports.ResourceUnavailableRpcError = ResourceUnavailableRpcError;\nclass TransactionRejectedRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: TransactionRejectedRpcError.code,\n shortMessage: 'Transaction creation failed.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionRejectedRpcError'\n });\n }\n}\nObject.defineProperty(TransactionRejectedRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32003\n});\nexports.TransactionRejectedRpcError = TransactionRejectedRpcError;\nclass MethodNotSupportedRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: MethodNotSupportedRpcError.code,\n shortMessage: 'Method is not implemented.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'MethodNotSupportedRpcError'\n });\n }\n}\nObject.defineProperty(MethodNotSupportedRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32004\n});\nexports.MethodNotSupportedRpcError = MethodNotSupportedRpcError;\nclass LimitExceededRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: LimitExceededRpcError.code,\n shortMessage: 'Request exceeds defined limit.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'LimitExceededRpcError'\n });\n }\n}\nObject.defineProperty(LimitExceededRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32005\n});\nexports.LimitExceededRpcError = LimitExceededRpcError;\nclass JsonRpcVersionUnsupportedError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: JsonRpcVersionUnsupportedError.code,\n shortMessage: 'Version of JSON-RPC protocol is not supported.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'JsonRpcVersionUnsupportedError'\n });\n }\n}\nObject.defineProperty(JsonRpcVersionUnsupportedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32006\n});\nexports.JsonRpcVersionUnsupportedError = JsonRpcVersionUnsupportedError;\nclass UserRejectedRequestError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UserRejectedRequestError.code,\n shortMessage: 'User rejected the request.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UserRejectedRequestError'\n });\n }\n}\nObject.defineProperty(UserRejectedRequestError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4001\n});\nexports.UserRejectedRequestError = UserRejectedRequestError;\nclass UnauthorizedProviderError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UnauthorizedProviderError.code,\n shortMessage: 'The requested method and/or account has not been authorized by the user.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnauthorizedProviderError'\n });\n }\n}\nObject.defineProperty(UnauthorizedProviderError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4100\n});\nexports.UnauthorizedProviderError = UnauthorizedProviderError;\nclass UnsupportedProviderMethodError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UnsupportedProviderMethodError.code,\n shortMessage: 'The Provider does not support the requested method.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnsupportedProviderMethodError'\n });\n }\n}\nObject.defineProperty(UnsupportedProviderMethodError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4200\n});\nexports.UnsupportedProviderMethodError = UnsupportedProviderMethodError;\nclass ProviderDisconnectedError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: ProviderDisconnectedError.code,\n shortMessage: 'The Provider is disconnected from all chains.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ProviderDisconnectedError'\n });\n }\n}\nObject.defineProperty(ProviderDisconnectedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4900\n});\nexports.ProviderDisconnectedError = ProviderDisconnectedError;\nclass ChainDisconnectedError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: ChainDisconnectedError.code,\n shortMessage: 'The Provider is not connected to the requested chain.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainDisconnectedError'\n });\n }\n}\nObject.defineProperty(ChainDisconnectedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4901\n});\nexports.ChainDisconnectedError = ChainDisconnectedError;\nclass SwitchChainError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: SwitchChainError.code,\n shortMessage: 'An error occurred when attempting to switch chain.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SwitchChainError'\n });\n }\n}\nObject.defineProperty(SwitchChainError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4902\n});\nexports.SwitchChainError = SwitchChainError;\nclass UnknownRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n shortMessage: 'An unknown RPC error occurred.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownRpcError'\n });\n }\n}\nexports.UnknownRpcError = UnknownRpcError;\n//# sourceMappingURL=rpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvcnBjLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QixHQUFHLHdCQUF3QixHQUFHLDhCQUE4QixHQUFHLGlDQUFpQyxHQUFHLHNDQUFzQyxHQUFHLGlDQUFpQyxHQUFHLGdDQUFnQyxHQUFHLHNDQUFzQyxHQUFHLDZCQUE2QixHQUFHLGtDQUFrQyxHQUFHLG1DQUFtQyxHQUFHLG1DQUFtQyxHQUFHLGdDQUFnQyxHQUFHLDRCQUE0QixHQUFHLHdCQUF3QixHQUFHLDZCQUE2QixHQUFHLDhCQUE4QixHQUFHLDhCQUE4QixHQUFHLHFCQUFxQixHQUFHLHdCQUF3QixHQUFHLGdCQUFnQjtBQUN0cUIsa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckMscUJBQXFCLG1CQUFPLENBQUMsb0VBQWM7QUFDM0M7QUFDQTtBQUNBLHlCQUF5Qiw0Q0FBNEM7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2Vycm9ycy9ycGMuanM/Nzc1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVW5rbm93blJwY0Vycm9yID0gZXhwb3J0cy5Td2l0Y2hDaGFpbkVycm9yID0gZXhwb3J0cy5DaGFpbkRpc2Nvbm5lY3RlZEVycm9yID0gZXhwb3J0cy5Qcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yID0gZXhwb3J0cy5VbnN1cHBvcnRlZFByb3ZpZGVyTWV0aG9kRXJyb3IgPSBleHBvcnRzLlVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IgPSBleHBvcnRzLlVzZXJSZWplY3RlZFJlcXVlc3RFcnJvciA9IGV4cG9ydHMuSnNvblJwY1ZlcnNpb25VbnN1cHBvcnRlZEVycm9yID0gZXhwb3J0cy5MaW1pdEV4Y2VlZGVkUnBjRXJyb3IgPSBleHBvcnRzLk1ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yID0gZXhwb3J0cy5UcmFuc2FjdGlvblJlamVjdGVkUnBjRXJyb3IgPSBleHBvcnRzLlJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvciA9IGV4cG9ydHMuUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yID0gZXhwb3J0cy5JbnZhbGlkSW5wdXRScGNFcnJvciA9IGV4cG9ydHMuSW50ZXJuYWxScGNFcnJvciA9IGV4cG9ydHMuSW52YWxpZFBhcmFtc1JwY0Vycm9yID0gZXhwb3J0cy5NZXRob2ROb3RGb3VuZFJwY0Vycm9yID0gZXhwb3J0cy5JbnZhbGlkUmVxdWVzdFJwY0Vycm9yID0gZXhwb3J0cy5QYXJzZVJwY0Vycm9yID0gZXhwb3J0cy5Qcm92aWRlclJwY0Vycm9yID0gZXhwb3J0cy5ScGNFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jb25zdCByZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi9yZXF1ZXN0LmpzXCIpO1xuY29uc3QgdW5rbm93bkVycm9yQ29kZSA9IC0xO1xuY2xhc3MgUnBjRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSwgeyBjb2RlLCBkb2NzUGF0aCwgbWV0YU1lc3NhZ2VzLCBzaG9ydE1lc3NhZ2UgfSkge1xuICAgICAgICBzdXBlcihzaG9ydE1lc3NhZ2UsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IG1ldGFNZXNzYWdlcyB8fCBjYXVzZT8ubWV0YU1lc3NhZ2VzLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1JwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY29kZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm5hbWUgPSBjYXVzZS5uYW1lO1xuICAgICAgICB0aGlzLmNvZGUgPSAoY2F1c2UgaW5zdGFuY2VvZiByZXF1ZXN0X2pzXzEuUnBjUmVxdWVzdEVycm9yID8gY2F1c2UuY29kZSA6IGNvZGUgPz8gdW5rbm93bkVycm9yQ29kZSk7XG4gICAgfVxufVxuZXhwb3J0cy5ScGNFcnJvciA9IFJwY0Vycm9yO1xuY2xhc3MgUHJvdmlkZXJScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSwgb3B0aW9ucykge1xuICAgICAgICBzdXBlcihjYXVzZSwgb3B0aW9ucyk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdQcm92aWRlclJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZGF0YVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gICAgfVxufVxuZXhwb3J0cy5Qcm92aWRlclJwY0Vycm9yID0gUHJvdmlkZXJScGNFcnJvcjtcbmNsYXNzIFBhcnNlUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFBhcnNlUnBjRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ0ludmFsaWQgSlNPTiB3YXMgcmVjZWl2ZWQgYnkgdGhlIHNlcnZlci4gQW4gZXJyb3Igb2NjdXJyZWQgb24gdGhlIHNlcnZlciB3aGlsZSBwYXJzaW5nIHRoZSBKU09OIHRleHQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdQYXJzZVJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUGFyc2VScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyNzAwXG59KTtcbmV4cG9ydHMuUGFyc2VScGNFcnJvciA9IFBhcnNlUnBjRXJyb3I7XG5jbGFzcyBJbnZhbGlkUmVxdWVzdFJwY0Vycm9yIGV4dGVuZHMgUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBJbnZhbGlkUmVxdWVzdFJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdKU09OIGlzIG5vdCBhIHZhbGlkIHJlcXVlc3Qgb2JqZWN0LicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZFJlcXVlc3RScGNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEludmFsaWRSZXF1ZXN0UnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjYwMFxufSk7XG5leHBvcnRzLkludmFsaWRSZXF1ZXN0UnBjRXJyb3IgPSBJbnZhbGlkUmVxdWVzdFJwY0Vycm9yO1xuY2xhc3MgTWV0aG9kTm90Rm91bmRScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogTWV0aG9kTm90Rm91bmRScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnVGhlIG1ldGhvZCBkb2VzIG5vdCBleGlzdCAvIGlzIG5vdCBhdmFpbGFibGUuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdNZXRob2ROb3RGb3VuZFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoTWV0aG9kTm90Rm91bmRScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyNjAxXG59KTtcbmV4cG9ydHMuTWV0aG9kTm90Rm91bmRScGNFcnJvciA9IE1ldGhvZE5vdEZvdW5kUnBjRXJyb3I7XG5jbGFzcyBJbnZhbGlkUGFyYW1zUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IEludmFsaWRQYXJhbXNScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiBbXG4gICAgICAgICAgICAgICAgJ0ludmFsaWQgcGFyYW1ldGVycyB3ZXJlIHByb3ZpZGVkIHRvIHRoZSBSUEMgbWV0aG9kLicsXG4gICAgICAgICAgICAgICAgJ0RvdWJsZSBjaGVjayB5b3UgaGF2ZSBwcm92aWRlZCB0aGUgY29ycmVjdCBwYXJhbWV0ZXJzLicsXG4gICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRQYXJhbXNScGNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEludmFsaWRQYXJhbXNScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyNjAyXG59KTtcbmV4cG9ydHMuSW52YWxpZFBhcmFtc1JwY0Vycm9yID0gSW52YWxpZFBhcmFtc1JwY0Vycm9yO1xuY2xhc3MgSW50ZXJuYWxScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogSW50ZXJuYWxScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnQW4gaW50ZXJuYWwgZXJyb3Igd2FzIHJlY2VpdmVkLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW50ZXJuYWxScGNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEludGVybmFsUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjYwM1xufSk7XG5leHBvcnRzLkludGVybmFsUnBjRXJyb3IgPSBJbnRlcm5hbFJwY0Vycm9yO1xuY2xhc3MgSW52YWxpZElucHV0UnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IEludmFsaWRJbnB1dFJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6IFtcbiAgICAgICAgICAgICAgICAnTWlzc2luZyBvciBpbnZhbGlkIHBhcmFtZXRlcnMuJyxcbiAgICAgICAgICAgICAgICAnRG91YmxlIGNoZWNrIHlvdSBoYXZlIHByb3ZpZGVkIHRoZSBjb3JyZWN0IHBhcmFtZXRlcnMuJyxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZElucHV0UnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnZhbGlkSW5wdXRScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyMDAwXG59KTtcbmV4cG9ydHMuSW52YWxpZElucHV0UnBjRXJyb3IgPSBJbnZhbGlkSW5wdXRScGNFcnJvcjtcbmNsYXNzIFJlc291cmNlTm90Rm91bmRScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdSZXF1ZXN0ZWQgcmVzb3VyY2Ugbm90IGZvdW5kLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAtMzIwMDFcbn0pO1xuZXhwb3J0cy5SZXNvdXJjZU5vdEZvdW5kUnBjRXJyb3IgPSBSZXNvdXJjZU5vdEZvdW5kUnBjRXJyb3I7XG5jbGFzcyBSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnUmVxdWVzdGVkIHJlc291cmNlIG5vdCBhdmFpbGFibGUuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwMlxufSk7XG5leHBvcnRzLlJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvciA9IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcjtcbmNsYXNzIFRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdUcmFuc2FjdGlvbiBjcmVhdGlvbiBmYWlsZWQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUcmFuc2FjdGlvblJlamVjdGVkUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShUcmFuc2FjdGlvblJlamVjdGVkUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwM1xufSk7XG5leHBvcnRzLlRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvciA9IFRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvcjtcbmNsYXNzIE1ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yIGV4dGVuZHMgUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBNZXRob2ROb3RTdXBwb3J0ZWRScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnTWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ01ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwNFxufSk7XG5leHBvcnRzLk1ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yID0gTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3I7XG5jbGFzcyBMaW1pdEV4Y2VlZGVkUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IExpbWl0RXhjZWVkZWRScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnUmVxdWVzdCBleGNlZWRzIGRlZmluZWQgbGltaXQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdMaW1pdEV4Y2VlZGVkUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShMaW1pdEV4Y2VlZGVkUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwNVxufSk7XG5leHBvcnRzLkxpbWl0RXhjZWVkZWRScGNFcnJvciA9IExpbWl0RXhjZWVkZWRScGNFcnJvcjtcbmNsYXNzIEpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogSnNvblJwY1ZlcnNpb25VbnN1cHBvcnRlZEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdWZXJzaW9uIG9mIEpTT04tUlBDIHByb3RvY29sIGlzIG5vdCBzdXBwb3J0ZWQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdKc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShKc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwNlxufSk7XG5leHBvcnRzLkpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvciA9IEpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvcjtcbmNsYXNzIFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvciBleHRlbmRzIFByb3ZpZGVyUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ1VzZXIgcmVqZWN0ZWQgdGhlIHJlcXVlc3QuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IDQwMDFcbn0pO1xuZXhwb3J0cy5Vc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IgPSBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3I7XG5jbGFzcyBVbmF1dGhvcml6ZWRQcm92aWRlckVycm9yIGV4dGVuZHMgUHJvdmlkZXJScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ1RoZSByZXF1ZXN0ZWQgbWV0aG9kIGFuZC9vciBhY2NvdW50IGhhcyBub3QgYmVlbiBhdXRob3JpemVkIGJ5IHRoZSB1c2VyLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5hdXRob3JpemVkUHJvdmlkZXJFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IDQxMDBcbn0pO1xuZXhwb3J0cy5VbmF1dGhvcml6ZWRQcm92aWRlckVycm9yID0gVW5hdXRob3JpemVkUHJvdmlkZXJFcnJvcjtcbmNsYXNzIFVuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvciBleHRlbmRzIFByb3ZpZGVyUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBVbnN1cHBvcnRlZFByb3ZpZGVyTWV0aG9kRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ1RoZSBQcm92aWRlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSByZXF1ZXN0ZWQgbWV0aG9kLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiA0MjAwXG59KTtcbmV4cG9ydHMuVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yID0gVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yO1xuY2xhc3MgUHJvdmlkZXJEaXNjb25uZWN0ZWRFcnJvciBleHRlbmRzIFByb3ZpZGVyUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBQcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdUaGUgUHJvdmlkZXIgaXMgZGlzY29ubmVjdGVkIGZyb20gYWxsIGNoYWlucy4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Byb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiA0OTAwXG59KTtcbmV4cG9ydHMuUHJvdmlkZXJEaXNjb25uZWN0ZWRFcnJvciA9IFByb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3I7XG5jbGFzcyBDaGFpbkRpc2Nvbm5lY3RlZEVycm9yIGV4dGVuZHMgUHJvdmlkZXJScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IENoYWluRGlzY29ubmVjdGVkRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ1RoZSBQcm92aWRlciBpcyBub3QgY29ubmVjdGVkIHRvIHRoZSByZXF1ZXN0ZWQgY2hhaW4uJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDaGFpbkRpc2Nvbm5lY3RlZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoQ2hhaW5EaXNjb25uZWN0ZWRFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogNDkwMVxufSk7XG5leHBvcnRzLkNoYWluRGlzY29ubmVjdGVkRXJyb3IgPSBDaGFpbkRpc2Nvbm5lY3RlZEVycm9yO1xuY2xhc3MgU3dpdGNoQ2hhaW5FcnJvciBleHRlbmRzIFByb3ZpZGVyUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBTd2l0Y2hDaGFpbkVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdBbiBlcnJvciBvY2N1cnJlZCB3aGVuIGF0dGVtcHRpbmcgdG8gc3dpdGNoIGNoYWluLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnU3dpdGNoQ2hhaW5FcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFN3aXRjaENoYWluRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IDQ5MDJcbn0pO1xuZXhwb3J0cy5Td2l0Y2hDaGFpbkVycm9yID0gU3dpdGNoQ2hhaW5FcnJvcjtcbmNsYXNzIFVua25vd25ScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnQW4gdW5rbm93biBSUEMgZXJyb3Igb2NjdXJyZWQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdVbmtub3duUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuVW5rbm93blJwY0Vycm9yID0gVW5rbm93blJwY0Vycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cnBjLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/rpc.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/transaction.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/transaction.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WaitForTransactionReceiptTimeoutError = exports.TransactionReceiptNotFoundError = exports.TransactionNotFoundError = exports.TransactionExecutionError = exports.InvalidStorageKeySizeError = exports.InvalidSerializedTransactionError = exports.InvalidSerializedTransactionTypeError = exports.InvalidSerializableTransactionError = exports.InvalidLegacyVError = exports.FeeConflictError = exports.prettyPrint = void 0;\nconst formatEther_js_1 = __webpack_require__(/*! ../utils/unit/formatEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatEther.js\");\nconst formatGwei_js_1 = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\");\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nfunction prettyPrint(args) {\n const entries = Object.entries(args)\n .map(([key, value]) => {\n if (value === undefined || value === false)\n return null;\n return [key, value];\n })\n .filter(Boolean);\n const maxLength = entries.reduce((acc, [key]) => Math.max(acc, key.length), 0);\n return entries\n .map(([key, value]) => ` ${`${key}:`.padEnd(maxLength + 1)} ${value}`)\n .join('\\n');\n}\nexports.prettyPrint = prettyPrint;\nclass FeeConflictError extends base_js_1.BaseError {\n constructor() {\n super([\n 'Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.',\n 'Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others.',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeConflictError'\n });\n }\n}\nexports.FeeConflictError = FeeConflictError;\nclass InvalidLegacyVError extends base_js_1.BaseError {\n constructor({ v }) {\n super(`Invalid \\`v\\` value \"${v}\". Expected 27 or 28.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidLegacyVError'\n });\n }\n}\nexports.InvalidLegacyVError = InvalidLegacyVError;\nclass InvalidSerializableTransactionError extends base_js_1.BaseError {\n constructor({ transaction }) {\n super('Cannot infer a transaction type from provided transaction.', {\n metaMessages: [\n 'Provided Transaction:',\n '{',\n prettyPrint(transaction),\n '}',\n '',\n 'To infer the type, either provide:',\n '- a `type` to the Transaction, or',\n '- an EIP-1559 Transaction with `maxFeePerGas`, or',\n '- an EIP-2930 Transaction with `gasPrice` & `accessList`, or',\n '- a Legacy Transaction with `gasPrice`',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializableTransactionError'\n });\n }\n}\nexports.InvalidSerializableTransactionError = InvalidSerializableTransactionError;\nclass InvalidSerializedTransactionTypeError extends base_js_1.BaseError {\n constructor({ serializedType }) {\n super(`Serialized transaction type \"${serializedType}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializedTransactionType'\n });\n Object.defineProperty(this, \"serializedType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.serializedType = serializedType;\n }\n}\nexports.InvalidSerializedTransactionTypeError = InvalidSerializedTransactionTypeError;\nclass InvalidSerializedTransactionError extends base_js_1.BaseError {\n constructor({ attributes, serializedTransaction, type, }) {\n const missing = Object.entries(attributes)\n .map(([key, value]) => (typeof value === 'undefined' ? key : undefined))\n .filter(Boolean);\n super(`Invalid serialized transaction of type \"${type}\" was provided.`, {\n metaMessages: [\n `Serialized Transaction: \"${serializedTransaction}\"`,\n missing.length > 0 ? `Missing Attributes: ${missing.join(', ')}` : '',\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializedTransactionError'\n });\n Object.defineProperty(this, \"serializedTransaction\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"type\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.serializedTransaction = serializedTransaction;\n this.type = type;\n }\n}\nexports.InvalidSerializedTransactionError = InvalidSerializedTransactionError;\nclass InvalidStorageKeySizeError extends base_js_1.BaseError {\n constructor({ storageKey }) {\n super(`Size for storage key \"${storageKey}\" is invalid. Expected 32 bytes. Got ${Math.floor((storageKey.length - 2) / 2)} bytes.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidStorageKeySizeError'\n });\n }\n}\nexports.InvalidStorageKeySizeError = InvalidStorageKeySizeError;\nclass TransactionExecutionError extends base_js_1.BaseError {\n constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const prettyArgs = prettyPrint({\n chain: chain && `${chain?.name} (id: ${chain?.id})`,\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${(0, formatEther_js_1.formatEther)(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${(0, formatGwei_js_1.formatGwei)(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${(0, formatGwei_js_1.formatGwei)(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${(0, formatGwei_js_1.formatGwei)(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Request Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionExecutionError'\n });\n this.cause = cause;\n }\n}\nexports.TransactionExecutionError = TransactionExecutionError;\nclass TransactionNotFoundError extends base_js_1.BaseError {\n constructor({ blockHash, blockNumber, blockTag, hash, index, }) {\n let identifier = 'Transaction';\n if (blockTag && index !== undefined)\n identifier = `Transaction at block time \"${blockTag}\" at index \"${index}\"`;\n if (blockHash && index !== undefined)\n identifier = `Transaction at block hash \"${blockHash}\" at index \"${index}\"`;\n if (blockNumber && index !== undefined)\n identifier = `Transaction at block number \"${blockNumber}\" at index \"${index}\"`;\n if (hash)\n identifier = `Transaction with hash \"${hash}\"`;\n super(`${identifier} could not be found.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionNotFoundError'\n });\n }\n}\nexports.TransactionNotFoundError = TransactionNotFoundError;\nclass TransactionReceiptNotFoundError extends base_js_1.BaseError {\n constructor({ hash }) {\n super(`Transaction receipt with hash \"${hash}\" could not be found. The Transaction may not be processed on a block yet.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionReceiptNotFoundError'\n });\n }\n}\nexports.TransactionReceiptNotFoundError = TransactionReceiptNotFoundError;\nclass WaitForTransactionReceiptTimeoutError extends base_js_1.BaseError {\n constructor({ hash }) {\n super(`Timed out while waiting for transaction with hash \"${hash}\" to be confirmed.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WaitForTransactionReceiptTimeoutError'\n });\n }\n}\nexports.WaitForTransactionReceiptTimeoutError = WaitForTransactionReceiptTimeoutError;\n//# sourceMappingURL=transaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvdHJhbnNhY3Rpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNkNBQTZDLEdBQUcsdUNBQXVDLEdBQUcsZ0NBQWdDLEdBQUcsaUNBQWlDLEdBQUcsa0NBQWtDLEdBQUcseUNBQXlDLEdBQUcsNkNBQTZDLEdBQUcsMkNBQTJDLEdBQUcsMkJBQTJCLEdBQUcsd0JBQXdCLEdBQUcsbUJBQW1CO0FBQzVaLHlCQUF5QixtQkFBTyxDQUFDLDRGQUE4QjtBQUMvRCx3QkFBd0IsbUJBQU8sQ0FBQywwRkFBNkI7QUFDN0Qsa0JBQWtCLG1CQUFPLENBQUMsOERBQVc7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxHQUFHLElBQUksMkJBQTJCLEVBQUUsTUFBTTtBQUM5RTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBLGtCQUFrQixHQUFHO0FBQ3JCLHNDQUFzQyxFQUFFO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLGtCQUFrQixhQUFhO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDLDhDQUE4QyxlQUFlO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSxrQkFBa0IsMENBQTBDO0FBQzVEO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxLQUFLO0FBQzlEO0FBQ0EsNENBQTRDLHNCQUFzQjtBQUNsRSw0REFBNEQsbUJBQW1CO0FBQy9FO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0Esa0JBQWtCLFlBQVk7QUFDOUIsdUNBQXVDLFdBQVcsdUNBQXVDLHlDQUF5QztBQUNsSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQSx5QkFBeUIsc0dBQXNHO0FBQy9IO0FBQ0EsK0JBQStCLGFBQWEsT0FBTyxVQUFVO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwwQ0FBMEMsRUFBRSxzQ0FBc0M7QUFDckc7QUFDQTtBQUNBLDREQUE0RCwyQ0FBMkM7QUFDdkc7QUFDQSxtQkFBbUIsK0NBQStDO0FBQ2xFO0FBQ0EsbUJBQW1CLHVEQUF1RDtBQUMxRTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSxrQkFBa0IsZ0RBQWdEO0FBQ2xFO0FBQ0E7QUFDQSx1REFBdUQsU0FBUyxjQUFjLE1BQU07QUFDcEY7QUFDQSx1REFBdUQsVUFBVSxjQUFjLE1BQU07QUFDckY7QUFDQSx5REFBeUQsWUFBWSxjQUFjLE1BQU07QUFDekY7QUFDQSxtREFBbUQsS0FBSztBQUN4RCxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQSxrQkFBa0IsTUFBTTtBQUN4QixnREFBZ0QsS0FBSztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQSxrQkFBa0IsTUFBTTtBQUN4QixvRUFBb0UsS0FBSztBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvZXJyb3JzL3RyYW5zYWN0aW9uLmpzPzI1ZTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLldhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRUaW1lb3V0RXJyb3IgPSBleHBvcnRzLlRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLlRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuVHJhbnNhY3Rpb25FeGVjdXRpb25FcnJvciA9IGV4cG9ydHMuSW52YWxpZFN0b3JhZ2VLZXlTaXplRXJyb3IgPSBleHBvcnRzLkludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25FcnJvciA9IGV4cG9ydHMuSW52YWxpZFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGVFcnJvciA9IGV4cG9ydHMuSW52YWxpZFNlcmlhbGl6YWJsZVRyYW5zYWN0aW9uRXJyb3IgPSBleHBvcnRzLkludmFsaWRMZWdhY3lWRXJyb3IgPSBleHBvcnRzLkZlZUNvbmZsaWN0RXJyb3IgPSBleHBvcnRzLnByZXR0eVByaW50ID0gdm9pZCAwO1xuY29uc3QgZm9ybWF0RXRoZXJfanNfMSA9IHJlcXVpcmUoXCIuLi91dGlscy91bml0L2Zvcm1hdEV0aGVyLmpzXCIpO1xuY29uc3QgZm9ybWF0R3dlaV9qc18xID0gcmVxdWlyZShcIi4uL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qc1wiKTtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5mdW5jdGlvbiBwcmV0dHlQcmludChhcmdzKSB7XG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGFyZ3MpXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gZmFsc2UpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIFtrZXksIHZhbHVlXTtcbiAgICB9KVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIGNvbnN0IG1heExlbmd0aCA9IGVudHJpZXMucmVkdWNlKChhY2MsIFtrZXldKSA9PiBNYXRoLm1heChhY2MsIGtleS5sZW5ndGgpLCAwKTtcbiAgICByZXR1cm4gZW50cmllc1xuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAgICR7YCR7a2V5fTpgLnBhZEVuZChtYXhMZW5ndGggKyAxKX0gICR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJ1xcbicpO1xufVxuZXhwb3J0cy5wcmV0dHlQcmludCA9IHByZXR0eVByaW50O1xuY2xhc3MgRmVlQ29uZmxpY3RFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnQ2Fubm90IHNwZWNpZnkgYm90aCBhIGBnYXNQcmljZWAgYW5kIGEgYG1heEZlZVBlckdhc2AvYG1heFByaW9yaXR5RmVlUGVyR2FzYC4nLFxuICAgICAgICAgICAgJ1VzZSBgbWF4RmVlUGVyR2FzYC9gbWF4UHJpb3JpdHlGZWVQZXJHYXNgIGZvciBFSVAtMTU1OSBjb21wYXRpYmxlIG5ldHdvcmtzLCBhbmQgYGdhc1ByaWNlYCBmb3Igb3RoZXJzLicsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnRmVlQ29uZmxpY3RFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5GZWVDb25mbGljdEVycm9yID0gRmVlQ29uZmxpY3RFcnJvcjtcbmNsYXNzIEludmFsaWRMZWdhY3lWRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHYgfSkge1xuICAgICAgICBzdXBlcihgSW52YWxpZCBcXGB2XFxgIHZhbHVlIFwiJHt2fVwiLiBFeHBlY3RlZCAyNyBvciAyOC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRMZWdhY3lWRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZExlZ2FjeVZFcnJvciA9IEludmFsaWRMZWdhY3lWRXJyb3I7XG5jbGFzcyBJbnZhbGlkU2VyaWFsaXphYmxlVHJhbnNhY3Rpb25FcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgdHJhbnNhY3Rpb24gfSkge1xuICAgICAgICBzdXBlcignQ2Fubm90IGluZmVyIGEgdHJhbnNhY3Rpb24gdHlwZSBmcm9tIHByb3ZpZGVkIHRyYW5zYWN0aW9uLicsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgICdQcm92aWRlZCBUcmFuc2FjdGlvbjonLFxuICAgICAgICAgICAgICAgICd7JyxcbiAgICAgICAgICAgICAgICBwcmV0dHlQcmludCh0cmFuc2FjdGlvbiksXG4gICAgICAgICAgICAgICAgJ30nLFxuICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgICdUbyBpbmZlciB0aGUgdHlwZSwgZWl0aGVyIHByb3ZpZGU6JyxcbiAgICAgICAgICAgICAgICAnLSBhIGB0eXBlYCB0byB0aGUgVHJhbnNhY3Rpb24sIG9yJyxcbiAgICAgICAgICAgICAgICAnLSBhbiBFSVAtMTU1OSBUcmFuc2FjdGlvbiB3aXRoIGBtYXhGZWVQZXJHYXNgLCBvcicsXG4gICAgICAgICAgICAgICAgJy0gYW4gRUlQLTI5MzAgVHJhbnNhY3Rpb24gd2l0aCBgZ2FzUHJpY2VgICYgYGFjY2Vzc0xpc3RgLCBvcicsXG4gICAgICAgICAgICAgICAgJy0gYSBMZWdhY3kgVHJhbnNhY3Rpb24gd2l0aCBgZ2FzUHJpY2VgJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZFNlcmlhbGl6YWJsZVRyYW5zYWN0aW9uRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZFNlcmlhbGl6YWJsZVRyYW5zYWN0aW9uRXJyb3IgPSBJbnZhbGlkU2VyaWFsaXphYmxlVHJhbnNhY3Rpb25FcnJvcjtcbmNsYXNzIEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHNlcmlhbGl6ZWRUeXBlIH0pIHtcbiAgICAgICAgc3VwZXIoYFNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24gdHlwZSBcIiR7c2VyaWFsaXplZFR5cGV9XCIgaXMgaW52YWxpZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic2VyaWFsaXplZFR5cGVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXJpYWxpemVkVHlwZSA9IHNlcmlhbGl6ZWRUeXBlO1xuICAgIH1cbn1cbmV4cG9ydHMuSW52YWxpZFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGVFcnJvciA9IEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlRXJyb3I7XG5jbGFzcyBJbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGF0dHJpYnV0ZXMsIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiwgdHlwZSwgfSkge1xuICAgICAgICBjb25zdCBtaXNzaW5nID0gT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcylcbiAgICAgICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyBrZXkgOiB1bmRlZmluZWQpKVxuICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgc3VwZXIoYEludmFsaWQgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBvZiB0eXBlIFwiJHt0eXBlfVwiIHdhcyBwcm92aWRlZC5gLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgU2VyaWFsaXplZCBUcmFuc2FjdGlvbjogXCIke3NlcmlhbGl6ZWRUcmFuc2FjdGlvbn1cImAsXG4gICAgICAgICAgICAgICAgbWlzc2luZy5sZW5ndGggPiAwID8gYE1pc3NpbmcgQXR0cmlidXRlczogJHttaXNzaW5nLmpvaW4oJywgJyl9YCA6ICcnLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic2VyaWFsaXplZFRyYW5zYWN0aW9uXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInR5cGVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBzZXJpYWxpemVkVHJhbnNhY3Rpb247XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxufVxuZXhwb3J0cy5JbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3IgPSBJbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3I7XG5jbGFzcyBJbnZhbGlkU3RvcmFnZUtleVNpemVFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc3RvcmFnZUtleSB9KSB7XG4gICAgICAgIHN1cGVyKGBTaXplIGZvciBzdG9yYWdlIGtleSBcIiR7c3RvcmFnZUtleX1cIiBpcyBpbnZhbGlkLiBFeHBlY3RlZCAzMiBieXRlcy4gR290ICR7TWF0aC5mbG9vcigoc3RvcmFnZUtleS5sZW5ndGggLSAyKSAvIDIpfSBieXRlcy5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRTdG9yYWdlS2V5U2l6ZUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLkludmFsaWRTdG9yYWdlS2V5U2l6ZUVycm9yID0gSW52YWxpZFN0b3JhZ2VLZXlTaXplRXJyb3I7XG5jbGFzcyBUcmFuc2FjdGlvbkV4ZWN1dGlvbkVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UsIHsgYWNjb3VudCwgZG9jc1BhdGgsIGNoYWluLCBkYXRhLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgdG8sIHZhbHVlLCB9KSB7XG4gICAgICAgIGNvbnN0IHByZXR0eUFyZ3MgPSBwcmV0dHlQcmludCh7XG4gICAgICAgICAgICBjaGFpbjogY2hhaW4gJiYgYCR7Y2hhaW4/Lm5hbWV9IChpZDogJHtjaGFpbj8uaWR9KWAsXG4gICAgICAgICAgICBmcm9tOiBhY2NvdW50Py5hZGRyZXNzLFxuICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgIGAkeygwLCBmb3JtYXRFdGhlcl9qc18xLmZvcm1hdEV0aGVyKSh2YWx1ZSl9ICR7Y2hhaW4/Lm5hdGl2ZUN1cnJlbmN5LnN5bWJvbCB8fCAnRVRIJ31gLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgIGdhc1ByaWNlOiB0eXBlb2YgZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnICYmIGAkeygwLCBmb3JtYXRHd2VpX2pzXzEuZm9ybWF0R3dlaSkoZ2FzUHJpY2UpfSBnd2VpYCxcbiAgICAgICAgICAgIG1heEZlZVBlckdhczogdHlwZW9mIG1heEZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heEZlZVBlckdhcyl9IGd3ZWlgLFxuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHsoMCwgZm9ybWF0R3dlaV9qc18xLmZvcm1hdEd3ZWkpKG1heFByaW9yaXR5RmVlUGVyR2FzKX0gZ3dlaWAsXG4gICAgICAgICAgICBub25jZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyKGNhdXNlLnNob3J0TWVzc2FnZSwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIC4uLihjYXVzZS5tZXRhTWVzc2FnZXMgPyBbLi4uY2F1c2UubWV0YU1lc3NhZ2VzLCAnICddIDogW10pLFxuICAgICAgICAgICAgICAgICdSZXF1ZXN0IEFyZ3VtZW50czonLFxuICAgICAgICAgICAgICAgIHByZXR0eUFyZ3MsXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImNhdXNlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUcmFuc2FjdGlvbkV4ZWN1dGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXVzZSA9IGNhdXNlO1xuICAgIH1cbn1cbmV4cG9ydHMuVHJhbnNhY3Rpb25FeGVjdXRpb25FcnJvciA9IFRyYW5zYWN0aW9uRXhlY3V0aW9uRXJyb3I7XG5jbGFzcyBUcmFuc2FjdGlvbk5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGJsb2NrSGFzaCwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBoYXNoLCBpbmRleCwgfSkge1xuICAgICAgICBsZXQgaWRlbnRpZmllciA9ICdUcmFuc2FjdGlvbic7XG4gICAgICAgIGlmIChibG9ja1RhZyAmJiBpbmRleCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgaWRlbnRpZmllciA9IGBUcmFuc2FjdGlvbiBhdCBibG9jayB0aW1lIFwiJHtibG9ja1RhZ31cIiBhdCBpbmRleCBcIiR7aW5kZXh9XCJgO1xuICAgICAgICBpZiAoYmxvY2tIYXNoICYmIGluZGV4ICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gYFRyYW5zYWN0aW9uIGF0IGJsb2NrIGhhc2ggXCIke2Jsb2NrSGFzaH1cIiBhdCBpbmRleCBcIiR7aW5kZXh9XCJgO1xuICAgICAgICBpZiAoYmxvY2tOdW1iZXIgJiYgaW5kZXggIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBgVHJhbnNhY3Rpb24gYXQgYmxvY2sgbnVtYmVyIFwiJHtibG9ja051bWJlcn1cIiBhdCBpbmRleCBcIiR7aW5kZXh9XCJgO1xuICAgICAgICBpZiAoaGFzaClcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBgVHJhbnNhY3Rpb24gd2l0aCBoYXNoIFwiJHtoYXNofVwiYDtcbiAgICAgICAgc3VwZXIoYCR7aWRlbnRpZmllcn0gY291bGQgbm90IGJlIGZvdW5kLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLlRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciA9IFRyYW5zYWN0aW9uTm90Rm91bmRFcnJvcjtcbmNsYXNzIFRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBiYXNlX2pzXzEuQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGhhc2ggfSkge1xuICAgICAgICBzdXBlcihgVHJhbnNhY3Rpb24gcmVjZWlwdCB3aXRoIGhhc2ggXCIke2hhc2h9XCIgY291bGQgbm90IGJlIGZvdW5kLiBUaGUgVHJhbnNhY3Rpb24gbWF5IG5vdCBiZSBwcm9jZXNzZWQgb24gYSBibG9jayB5ZXQuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUcmFuc2FjdGlvblJlY2VpcHROb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnRzLlRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3IgPSBUcmFuc2FjdGlvblJlY2VpcHROb3RGb3VuZEVycm9yO1xuY2xhc3MgV2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdFRpbWVvdXRFcnJvciBleHRlbmRzIGJhc2VfanNfMS5CYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgaGFzaCB9KSB7XG4gICAgICAgIHN1cGVyKGBUaW1lZCBvdXQgd2hpbGUgd2FpdGluZyBmb3IgdHJhbnNhY3Rpb24gd2l0aCBoYXNoIFwiJHtoYXNofVwiIHRvIGJlIGNvbmZpcm1lZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1dhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRUaW1lb3V0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuV2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdFRpbWVvdXRFcnJvciA9IFdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRUaW1lb3V0RXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/transaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/transport.js": -/*!********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/transport.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UrlRequiredError = void 0;\nconst base_js_1 = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nclass UrlRequiredError extends base_js_1.BaseError {\n constructor() {\n super('No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.', {\n docsPath: '/docs/clients/intro',\n });\n }\n}\nexports.UrlRequiredError = UrlRequiredError;\n//# sourceMappingURL=transport.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvdHJhbnNwb3J0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QixrQkFBa0IsbUJBQU8sQ0FBQyw4REFBVztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2Vycm9ycy90cmFuc3BvcnQuanM/YmVmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVXJsUmVxdWlyZWRFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuL2Jhc2UuanNcIik7XG5jbGFzcyBVcmxSZXF1aXJlZEVycm9yIGV4dGVuZHMgYmFzZV9qc18xLkJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdObyBVUkwgd2FzIHByb3ZpZGVkIHRvIHRoZSBUcmFuc3BvcnQuIFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgUlBDIFVSTCB0byB0aGUgVHJhbnNwb3J0LicsIHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY2xpZW50cy9pbnRybycsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuVXJsUmVxdWlyZWRFcnJvciA9IFVybFJlcXVpcmVkRXJyb3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmFuc3BvcnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/transport.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/utils.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getVersion = exports.getUrl = exports.getContractAddress = void 0;\nconst version_js_1 = __webpack_require__(/*! ./version.js */ \"./node_modules/viem/dist/cjs/errors/version.js\");\nconst getContractAddress = (address) => address;\nexports.getContractAddress = getContractAddress;\nconst getUrl = (url) => url;\nexports.getUrl = getUrl;\nconst getVersion = () => `viem@${version_js_1.version}`;\nexports.getVersion = getVersion;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCLEdBQUcsY0FBYyxHQUFHLDBCQUEwQjtBQUNoRSxxQkFBcUIsbUJBQU8sQ0FBQyxvRUFBYztBQUMzQztBQUNBLDBCQUEwQjtBQUMxQjtBQUNBLGNBQWM7QUFDZCxpQ0FBaUMscUJBQXFCO0FBQ3RELGtCQUFrQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvdXRpbHMuanM/MjM5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0VmVyc2lvbiA9IGV4cG9ydHMuZ2V0VXJsID0gZXhwb3J0cy5nZXRDb250cmFjdEFkZHJlc3MgPSB2b2lkIDA7XG5jb25zdCB2ZXJzaW9uX2pzXzEgPSByZXF1aXJlKFwiLi92ZXJzaW9uLmpzXCIpO1xuY29uc3QgZ2V0Q29udHJhY3RBZGRyZXNzID0gKGFkZHJlc3MpID0+IGFkZHJlc3M7XG5leHBvcnRzLmdldENvbnRyYWN0QWRkcmVzcyA9IGdldENvbnRyYWN0QWRkcmVzcztcbmNvbnN0IGdldFVybCA9ICh1cmwpID0+IHVybDtcbmV4cG9ydHMuZ2V0VXJsID0gZ2V0VXJsO1xuY29uc3QgZ2V0VmVyc2lvbiA9ICgpID0+IGB2aWVtQCR7dmVyc2lvbl9qc18xLnZlcnNpb259YDtcbmV4cG9ydHMuZ2V0VmVyc2lvbiA9IGdldFZlcnNpb247XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/errors/version.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/errors/version.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.version = void 0;\nexports.version = '1.1.7';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy9lcnJvcnMvdmVyc2lvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxlQUFlO0FBQ2YsZUFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL2Vycm9ycy92ZXJzaW9uLmpzPzdlOWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnZlcnNpb24gPSB2b2lkIDA7XG5leHBvcnRzLnZlcnNpb24gPSAnMS4xLjcnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyc2lvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/errors/version.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/index.js": -/*!*********************************************!*\ - !*** ./node_modules/viem/dist/cjs/index.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InvalidAbiDecodingTypeError = exports.DecodeLogTopicsMismatch = exports.AbiFunctionSignatureNotFoundError = exports.AbiFunctionOutputsNotFoundError = exports.AbiFunctionNotFoundError = exports.AbiEventSignatureNotFoundError = exports.AbiEventSignatureEmptyTopicsError = exports.AbiEventNotFoundError = exports.AbiErrorSignatureNotFoundError = exports.AbiErrorNotFoundError = exports.AbiErrorInputsNotFoundError = exports.AbiEncodingLengthMismatchError = exports.AbiEncodingArrayLengthMismatchError = exports.AbiDecodingZeroDataError = exports.AbiDecodingDataSizeInvalidError = exports.AbiConstructorParamsNotFoundError = exports.AbiConstructorNotFoundError = exports.zeroAddress = exports.weiUnits = exports.gweiUnits = exports.etherUnits = exports.multicall3Abi = exports.webSocket = exports.createWalletClient = exports.createTransport = exports.createTestClient = exports.createPublicClient = exports.http = exports.fallback = exports.custom = exports.createClient = exports.getContract = exports.parseAbiParameters = exports.parseAbiParameter = exports.parseAbiItem = exports.parseAbi = exports.UnknownSignatureError = exports.UnknownTypeError = exports.SolidityProtectedKeywordError = exports.InvalidStructSignatureError = exports.InvalidSignatureError = exports.InvalidParenthesisError = exports.InvalidParameterError = exports.InvalidModifierError = exports.InvalidFunctionModifierError = exports.InvalidAbiTypeParameterError = exports.InvalidAbiItemError = exports.InvalidAbiParametersError = exports.InvalidAbiParameterError = exports.CircularReferenceError = void 0;\nexports.NonceTooHighError = exports.NonceMaxValueError = exports.IntrinsicGasTooLowError = exports.IntrinsicGasTooHighError = exports.InsufficientFundsError = exports.FeeCapTooLowError = exports.FeeCapTooHighError = exports.ExecutionRevertedError = exports.EstimateGasExecutionError = exports.EnsAvatarUriResolutionError = exports.OffsetOutOfBoundsError = exports.InvalidHexValueError = exports.InvalidHexBooleanError = exports.InvalidBytesBooleanError = exports.DataLengthTooShortError = exports.DataLengthTooLongError = exports.InvalidChainIdError = exports.ClientChainNotConfiguredError = exports.ChainDoesNotSupportContract = exports.UserRejectedRequestError = exports.UnsupportedProviderMethodError = exports.UnknownRpcError = exports.UnauthorizedProviderError = exports.SwitchChainError = exports.TransactionRejectedRpcError = exports.RpcError = exports.ResourceUnavailableRpcError = exports.ResourceNotFoundRpcError = exports.ProviderRpcError = exports.ProviderDisconnectedError = exports.ParseRpcError = exports.MethodNotSupportedRpcError = exports.MethodNotFoundRpcError = exports.LimitExceededRpcError = exports.JsonRpcVersionUnsupportedError = exports.InvalidRequestRpcError = exports.InvalidParamsRpcError = exports.InvalidInputRpcError = exports.InternalRpcError = exports.ChainDisconnectedError = exports.RawContractError = exports.ContractFunctionZeroDataError = exports.ContractFunctionRevertedError = exports.ContractFunctionExecutionError = exports.CallExecutionError = exports.BlockNotFoundError = exports.BaseError = exports.InvalidDefinitionTypeError = exports.InvalidArrayError = exports.InvalidAbiEncodingTypeError = void 0;\nexports.recoverPublicKey = exports.recoverMessageAddress = exports.recoverAddress = exports.hashTypedData = exports.getTransactionType = exports.getSerializedTransactionType = exports.getCreateAddress = exports.getCreate2Address = exports.getContractAddress = exports.getAbiItem = exports.formatTransactionRequest = exports.defineTransactionRequest = exports.defineTransactionReceipt = exports.transactionType = exports.formatTransaction = exports.defineTransaction = exports.encodeFunctionResult = exports.encodeFunctionData = exports.encodeEventTopics = exports.encodeErrorResult = exports.encodeDeployData = exports.encodeAbiParameters = exports.decodeFunctionResult = exports.decodeFunctionData = exports.decodeEventLog = exports.decodeErrorResult = exports.decodeDeployData = exports.decodeAbiParameters = exports.formatLog = exports.formatBlock = exports.defineBlock = exports.namehash = exports.labelhash = exports.UrlRequiredError = exports.SizeExceedsPaddingSizeError = exports.WaitForTransactionReceiptTimeoutError = exports.TransactionReceiptNotFoundError = exports.TransactionNotFoundError = exports.TransactionExecutionError = exports.InvalidLegacyVError = exports.InvalidAddressError = exports.WebSocketRequestError = exports.TimeoutError = exports.RpcRequestError = exports.HttpRequestError = exports.FilterTypeNotSupportedError = exports.UnknownNodeError = exports.TransactionTypeNotSupportedError = exports.TipAboveFeeCapError = exports.NonceTooLowError = void 0;\nexports.isBytes = exports.isAddressEqual = exports.isAddress = exports.hashMessage = exports.getFunctionSelector = exports.getEventSelector = exports.getContractError = exports.getAddress = exports.fromRlp = exports.hexToString = exports.hexToNumber = exports.hexToBool = exports.hexToBigInt = exports.fromHex = exports.formatUnits = exports.formatGwei = exports.formatEther = exports.encodePacked = exports.defineChain = exports.assertCurrentChain = exports.concatHex = exports.concatBytes = exports.concat = exports.offchainLookupSignature = exports.offchainLookupAbiItem = exports.offchainLookup = exports.ccipFetch = exports.fromBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToBool = exports.bytesToBigint = exports.toHex = exports.stringToHex = exports.numberToHex = exports.bytesToHex = exports.boolToHex = exports.toBytes = exports.stringToBytes = exports.numberToBytes = exports.hexToBytes = exports.boolToBytes = exports.assertTransactionLegacy = exports.assertTransactionEIP2930 = exports.assertTransactionEIP1559 = exports.assertRequest = exports.verifyTypedData = exports.verifyMessage = exports.toRlp = exports.recoverTypedDataAddress = void 0;\nexports.validateTypedData = exports.trim = exports.stringify = exports.sliceHex = exports.sliceBytes = exports.slice = exports.size = exports.serializeTransaction = exports.serializeAccessList = exports.prepareRequest = exports.parseUnits = exports.parseTransaction = exports.parseGwei = exports.parseEther = exports.padHex = exports.padBytes = exports.pad = exports.keccak256 = exports.isHex = exports.isHash = void 0;\nvar abitype_1 = __webpack_require__(/*! abitype */ \"./node_modules/abitype/dist/cjs/index.js\");\nObject.defineProperty(exports, \"CircularReferenceError\", ({ enumerable: true, get: function () { return abitype_1.CircularReferenceError; } }));\nObject.defineProperty(exports, \"InvalidAbiParameterError\", ({ enumerable: true, get: function () { return abitype_1.InvalidAbiParameterError; } }));\nObject.defineProperty(exports, \"InvalidAbiParametersError\", ({ enumerable: true, get: function () { return abitype_1.InvalidAbiParametersError; } }));\nObject.defineProperty(exports, \"InvalidAbiItemError\", ({ enumerable: true, get: function () { return abitype_1.InvalidAbiItemError; } }));\nObject.defineProperty(exports, \"InvalidAbiTypeParameterError\", ({ enumerable: true, get: function () { return abitype_1.InvalidAbiTypeParameterError; } }));\nObject.defineProperty(exports, \"InvalidFunctionModifierError\", ({ enumerable: true, get: function () { return abitype_1.InvalidFunctionModifierError; } }));\nObject.defineProperty(exports, \"InvalidModifierError\", ({ enumerable: true, get: function () { return abitype_1.InvalidModifierError; } }));\nObject.defineProperty(exports, \"InvalidParameterError\", ({ enumerable: true, get: function () { return abitype_1.InvalidParameterError; } }));\nObject.defineProperty(exports, \"InvalidParenthesisError\", ({ enumerable: true, get: function () { return abitype_1.InvalidParenthesisError; } }));\nObject.defineProperty(exports, \"InvalidSignatureError\", ({ enumerable: true, get: function () { return abitype_1.InvalidSignatureError; } }));\nObject.defineProperty(exports, \"InvalidStructSignatureError\", ({ enumerable: true, get: function () { return abitype_1.InvalidStructSignatureError; } }));\nObject.defineProperty(exports, \"SolidityProtectedKeywordError\", ({ enumerable: true, get: function () { return abitype_1.SolidityProtectedKeywordError; } }));\nObject.defineProperty(exports, \"UnknownTypeError\", ({ enumerable: true, get: function () { return abitype_1.UnknownTypeError; } }));\nObject.defineProperty(exports, \"UnknownSignatureError\", ({ enumerable: true, get: function () { return abitype_1.UnknownSignatureError; } }));\nObject.defineProperty(exports, \"parseAbi\", ({ enumerable: true, get: function () { return abitype_1.parseAbi; } }));\nObject.defineProperty(exports, \"parseAbiItem\", ({ enumerable: true, get: function () { return abitype_1.parseAbiItem; } }));\nObject.defineProperty(exports, \"parseAbiParameter\", ({ enumerable: true, get: function () { return abitype_1.parseAbiParameter; } }));\nObject.defineProperty(exports, \"parseAbiParameters\", ({ enumerable: true, get: function () { return abitype_1.parseAbiParameters; } }));\nvar getContract_js_1 = __webpack_require__(/*! ./actions/getContract.js */ \"./node_modules/viem/dist/cjs/actions/getContract.js\");\nObject.defineProperty(exports, \"getContract\", ({ enumerable: true, get: function () { return getContract_js_1.getContract; } }));\nvar createClient_js_1 = __webpack_require__(/*! ./clients/createClient.js */ \"./node_modules/viem/dist/cjs/clients/createClient.js\");\nObject.defineProperty(exports, \"createClient\", ({ enumerable: true, get: function () { return createClient_js_1.createClient; } }));\nvar custom_js_1 = __webpack_require__(/*! ./clients/transports/custom.js */ \"./node_modules/viem/dist/cjs/clients/transports/custom.js\");\nObject.defineProperty(exports, \"custom\", ({ enumerable: true, get: function () { return custom_js_1.custom; } }));\nvar fallback_js_1 = __webpack_require__(/*! ./clients/transports/fallback.js */ \"./node_modules/viem/dist/cjs/clients/transports/fallback.js\");\nObject.defineProperty(exports, \"fallback\", ({ enumerable: true, get: function () { return fallback_js_1.fallback; } }));\nvar http_js_1 = __webpack_require__(/*! ./clients/transports/http.js */ \"./node_modules/viem/dist/cjs/clients/transports/http.js\");\nObject.defineProperty(exports, \"http\", ({ enumerable: true, get: function () { return http_js_1.http; } }));\nvar createPublicClient_js_1 = __webpack_require__(/*! ./clients/createPublicClient.js */ \"./node_modules/viem/dist/cjs/clients/createPublicClient.js\");\nObject.defineProperty(exports, \"createPublicClient\", ({ enumerable: true, get: function () { return createPublicClient_js_1.createPublicClient; } }));\nvar createTestClient_js_1 = __webpack_require__(/*! ./clients/createTestClient.js */ \"./node_modules/viem/dist/cjs/clients/createTestClient.js\");\nObject.defineProperty(exports, \"createTestClient\", ({ enumerable: true, get: function () { return createTestClient_js_1.createTestClient; } }));\nvar createTransport_js_1 = __webpack_require__(/*! ./clients/transports/createTransport.js */ \"./node_modules/viem/dist/cjs/clients/transports/createTransport.js\");\nObject.defineProperty(exports, \"createTransport\", ({ enumerable: true, get: function () { return createTransport_js_1.createTransport; } }));\nvar createWalletClient_js_1 = __webpack_require__(/*! ./clients/createWalletClient.js */ \"./node_modules/viem/dist/cjs/clients/createWalletClient.js\");\nObject.defineProperty(exports, \"createWalletClient\", ({ enumerable: true, get: function () { return createWalletClient_js_1.createWalletClient; } }));\nvar webSocket_js_1 = __webpack_require__(/*! ./clients/transports/webSocket.js */ \"./node_modules/viem/dist/cjs/clients/transports/webSocket.js\");\nObject.defineProperty(exports, \"webSocket\", ({ enumerable: true, get: function () { return webSocket_js_1.webSocket; } }));\nvar abis_js_1 = __webpack_require__(/*! ./constants/abis.js */ \"./node_modules/viem/dist/cjs/constants/abis.js\");\nObject.defineProperty(exports, \"multicall3Abi\", ({ enumerable: true, get: function () { return abis_js_1.multicall3Abi; } }));\nvar unit_js_1 = __webpack_require__(/*! ./constants/unit.js */ \"./node_modules/viem/dist/cjs/constants/unit.js\");\nObject.defineProperty(exports, \"etherUnits\", ({ enumerable: true, get: function () { return unit_js_1.etherUnits; } }));\nObject.defineProperty(exports, \"gweiUnits\", ({ enumerable: true, get: function () { return unit_js_1.gweiUnits; } }));\nObject.defineProperty(exports, \"weiUnits\", ({ enumerable: true, get: function () { return unit_js_1.weiUnits; } }));\nvar address_js_1 = __webpack_require__(/*! ./constants/address.js */ \"./node_modules/viem/dist/cjs/constants/address.js\");\nObject.defineProperty(exports, \"zeroAddress\", ({ enumerable: true, get: function () { return address_js_1.zeroAddress; } }));\nvar abi_js_1 = __webpack_require__(/*! ./errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nObject.defineProperty(exports, \"AbiConstructorNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiConstructorNotFoundError; } }));\nObject.defineProperty(exports, \"AbiConstructorParamsNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiConstructorParamsNotFoundError; } }));\nObject.defineProperty(exports, \"AbiDecodingDataSizeInvalidError\", ({ enumerable: true, get: function () { return abi_js_1.AbiDecodingDataSizeInvalidError; } }));\nObject.defineProperty(exports, \"AbiDecodingZeroDataError\", ({ enumerable: true, get: function () { return abi_js_1.AbiDecodingZeroDataError; } }));\nObject.defineProperty(exports, \"AbiEncodingArrayLengthMismatchError\", ({ enumerable: true, get: function () { return abi_js_1.AbiEncodingArrayLengthMismatchError; } }));\nObject.defineProperty(exports, \"AbiEncodingLengthMismatchError\", ({ enumerable: true, get: function () { return abi_js_1.AbiEncodingLengthMismatchError; } }));\nObject.defineProperty(exports, \"AbiErrorInputsNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiErrorInputsNotFoundError; } }));\nObject.defineProperty(exports, \"AbiErrorNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiErrorNotFoundError; } }));\nObject.defineProperty(exports, \"AbiErrorSignatureNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiErrorSignatureNotFoundError; } }));\nObject.defineProperty(exports, \"AbiEventNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiEventNotFoundError; } }));\nObject.defineProperty(exports, \"AbiEventSignatureEmptyTopicsError\", ({ enumerable: true, get: function () { return abi_js_1.AbiEventSignatureEmptyTopicsError; } }));\nObject.defineProperty(exports, \"AbiEventSignatureNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiEventSignatureNotFoundError; } }));\nObject.defineProperty(exports, \"AbiFunctionNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiFunctionNotFoundError; } }));\nObject.defineProperty(exports, \"AbiFunctionOutputsNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiFunctionOutputsNotFoundError; } }));\nObject.defineProperty(exports, \"AbiFunctionSignatureNotFoundError\", ({ enumerable: true, get: function () { return abi_js_1.AbiFunctionSignatureNotFoundError; } }));\nObject.defineProperty(exports, \"DecodeLogTopicsMismatch\", ({ enumerable: true, get: function () { return abi_js_1.DecodeLogTopicsMismatch; } }));\nObject.defineProperty(exports, \"InvalidAbiDecodingTypeError\", ({ enumerable: true, get: function () { return abi_js_1.InvalidAbiDecodingTypeError; } }));\nObject.defineProperty(exports, \"InvalidAbiEncodingTypeError\", ({ enumerable: true, get: function () { return abi_js_1.InvalidAbiEncodingTypeError; } }));\nObject.defineProperty(exports, \"InvalidArrayError\", ({ enumerable: true, get: function () { return abi_js_1.InvalidArrayError; } }));\nObject.defineProperty(exports, \"InvalidDefinitionTypeError\", ({ enumerable: true, get: function () { return abi_js_1.InvalidDefinitionTypeError; } }));\nvar base_js_1 = __webpack_require__(/*! ./errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nObject.defineProperty(exports, \"BaseError\", ({ enumerable: true, get: function () { return base_js_1.BaseError; } }));\nvar block_js_1 = __webpack_require__(/*! ./errors/block.js */ \"./node_modules/viem/dist/cjs/errors/block.js\");\nObject.defineProperty(exports, \"BlockNotFoundError\", ({ enumerable: true, get: function () { return block_js_1.BlockNotFoundError; } }));\nvar contract_js_1 = __webpack_require__(/*! ./errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nObject.defineProperty(exports, \"CallExecutionError\", ({ enumerable: true, get: function () { return contract_js_1.CallExecutionError; } }));\nObject.defineProperty(exports, \"ContractFunctionExecutionError\", ({ enumerable: true, get: function () { return contract_js_1.ContractFunctionExecutionError; } }));\nObject.defineProperty(exports, \"ContractFunctionRevertedError\", ({ enumerable: true, get: function () { return contract_js_1.ContractFunctionRevertedError; } }));\nObject.defineProperty(exports, \"ContractFunctionZeroDataError\", ({ enumerable: true, get: function () { return contract_js_1.ContractFunctionZeroDataError; } }));\nObject.defineProperty(exports, \"RawContractError\", ({ enumerable: true, get: function () { return contract_js_1.RawContractError; } }));\nvar rpc_js_1 = __webpack_require__(/*! ./errors/rpc.js */ \"./node_modules/viem/dist/cjs/errors/rpc.js\");\nObject.defineProperty(exports, \"ChainDisconnectedError\", ({ enumerable: true, get: function () { return rpc_js_1.ChainDisconnectedError; } }));\nObject.defineProperty(exports, \"InternalRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.InternalRpcError; } }));\nObject.defineProperty(exports, \"InvalidInputRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.InvalidInputRpcError; } }));\nObject.defineProperty(exports, \"InvalidParamsRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.InvalidParamsRpcError; } }));\nObject.defineProperty(exports, \"InvalidRequestRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.InvalidRequestRpcError; } }));\nObject.defineProperty(exports, \"JsonRpcVersionUnsupportedError\", ({ enumerable: true, get: function () { return rpc_js_1.JsonRpcVersionUnsupportedError; } }));\nObject.defineProperty(exports, \"LimitExceededRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.LimitExceededRpcError; } }));\nObject.defineProperty(exports, \"MethodNotFoundRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.MethodNotFoundRpcError; } }));\nObject.defineProperty(exports, \"MethodNotSupportedRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.MethodNotSupportedRpcError; } }));\nObject.defineProperty(exports, \"ParseRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.ParseRpcError; } }));\nObject.defineProperty(exports, \"ProviderDisconnectedError\", ({ enumerable: true, get: function () { return rpc_js_1.ProviderDisconnectedError; } }));\nObject.defineProperty(exports, \"ProviderRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.ProviderRpcError; } }));\nObject.defineProperty(exports, \"ResourceNotFoundRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.ResourceNotFoundRpcError; } }));\nObject.defineProperty(exports, \"ResourceUnavailableRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.ResourceUnavailableRpcError; } }));\nObject.defineProperty(exports, \"RpcError\", ({ enumerable: true, get: function () { return rpc_js_1.RpcError; } }));\nObject.defineProperty(exports, \"TransactionRejectedRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.TransactionRejectedRpcError; } }));\nObject.defineProperty(exports, \"SwitchChainError\", ({ enumerable: true, get: function () { return rpc_js_1.SwitchChainError; } }));\nObject.defineProperty(exports, \"UnauthorizedProviderError\", ({ enumerable: true, get: function () { return rpc_js_1.UnauthorizedProviderError; } }));\nObject.defineProperty(exports, \"UnknownRpcError\", ({ enumerable: true, get: function () { return rpc_js_1.UnknownRpcError; } }));\nObject.defineProperty(exports, \"UnsupportedProviderMethodError\", ({ enumerable: true, get: function () { return rpc_js_1.UnsupportedProviderMethodError; } }));\nObject.defineProperty(exports, \"UserRejectedRequestError\", ({ enumerable: true, get: function () { return rpc_js_1.UserRejectedRequestError; } }));\nvar chain_js_1 = __webpack_require__(/*! ./errors/chain.js */ \"./node_modules/viem/dist/cjs/errors/chain.js\");\nObject.defineProperty(exports, \"ChainDoesNotSupportContract\", ({ enumerable: true, get: function () { return chain_js_1.ChainDoesNotSupportContract; } }));\nObject.defineProperty(exports, \"ClientChainNotConfiguredError\", ({ enumerable: true, get: function () { return chain_js_1.ClientChainNotConfiguredError; } }));\nObject.defineProperty(exports, \"InvalidChainIdError\", ({ enumerable: true, get: function () { return chain_js_1.InvalidChainIdError; } }));\nvar encoding_js_1 = __webpack_require__(/*! ./errors/encoding.js */ \"./node_modules/viem/dist/cjs/errors/encoding.js\");\nObject.defineProperty(exports, \"DataLengthTooLongError\", ({ enumerable: true, get: function () { return encoding_js_1.DataLengthTooLongError; } }));\nObject.defineProperty(exports, \"DataLengthTooShortError\", ({ enumerable: true, get: function () { return encoding_js_1.DataLengthTooShortError; } }));\nObject.defineProperty(exports, \"InvalidBytesBooleanError\", ({ enumerable: true, get: function () { return encoding_js_1.InvalidBytesBooleanError; } }));\nObject.defineProperty(exports, \"InvalidHexBooleanError\", ({ enumerable: true, get: function () { return encoding_js_1.InvalidHexBooleanError; } }));\nObject.defineProperty(exports, \"InvalidHexValueError\", ({ enumerable: true, get: function () { return encoding_js_1.InvalidHexValueError; } }));\nObject.defineProperty(exports, \"OffsetOutOfBoundsError\", ({ enumerable: true, get: function () { return encoding_js_1.OffsetOutOfBoundsError; } }));\nvar ens_js_1 = __webpack_require__(/*! ./errors/ens.js */ \"./node_modules/viem/dist/cjs/errors/ens.js\");\nObject.defineProperty(exports, \"EnsAvatarUriResolutionError\", ({ enumerable: true, get: function () { return ens_js_1.EnsAvatarUriResolutionError; } }));\nvar estimateGas_js_1 = __webpack_require__(/*! ./errors/estimateGas.js */ \"./node_modules/viem/dist/cjs/errors/estimateGas.js\");\nObject.defineProperty(exports, \"EstimateGasExecutionError\", ({ enumerable: true, get: function () { return estimateGas_js_1.EstimateGasExecutionError; } }));\nvar node_js_1 = __webpack_require__(/*! ./errors/node.js */ \"./node_modules/viem/dist/cjs/errors/node.js\");\nObject.defineProperty(exports, \"ExecutionRevertedError\", ({ enumerable: true, get: function () { return node_js_1.ExecutionRevertedError; } }));\nObject.defineProperty(exports, \"FeeCapTooHighError\", ({ enumerable: true, get: function () { return node_js_1.FeeCapTooHighError; } }));\nObject.defineProperty(exports, \"FeeCapTooLowError\", ({ enumerable: true, get: function () { return node_js_1.FeeCapTooLowError; } }));\nObject.defineProperty(exports, \"InsufficientFundsError\", ({ enumerable: true, get: function () { return node_js_1.InsufficientFundsError; } }));\nObject.defineProperty(exports, \"IntrinsicGasTooHighError\", ({ enumerable: true, get: function () { return node_js_1.IntrinsicGasTooHighError; } }));\nObject.defineProperty(exports, \"IntrinsicGasTooLowError\", ({ enumerable: true, get: function () { return node_js_1.IntrinsicGasTooLowError; } }));\nObject.defineProperty(exports, \"NonceMaxValueError\", ({ enumerable: true, get: function () { return node_js_1.NonceMaxValueError; } }));\nObject.defineProperty(exports, \"NonceTooHighError\", ({ enumerable: true, get: function () { return node_js_1.NonceTooHighError; } }));\nObject.defineProperty(exports, \"NonceTooLowError\", ({ enumerable: true, get: function () { return node_js_1.NonceTooLowError; } }));\nObject.defineProperty(exports, \"TipAboveFeeCapError\", ({ enumerable: true, get: function () { return node_js_1.TipAboveFeeCapError; } }));\nObject.defineProperty(exports, \"TransactionTypeNotSupportedError\", ({ enumerable: true, get: function () { return node_js_1.TransactionTypeNotSupportedError; } }));\nObject.defineProperty(exports, \"UnknownNodeError\", ({ enumerable: true, get: function () { return node_js_1.UnknownNodeError; } }));\nvar log_js_1 = __webpack_require__(/*! ./errors/log.js */ \"./node_modules/viem/dist/cjs/errors/log.js\");\nObject.defineProperty(exports, \"FilterTypeNotSupportedError\", ({ enumerable: true, get: function () { return log_js_1.FilterTypeNotSupportedError; } }));\nvar request_js_1 = __webpack_require__(/*! ./errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nObject.defineProperty(exports, \"HttpRequestError\", ({ enumerable: true, get: function () { return request_js_1.HttpRequestError; } }));\nObject.defineProperty(exports, \"RpcRequestError\", ({ enumerable: true, get: function () { return request_js_1.RpcRequestError; } }));\nObject.defineProperty(exports, \"TimeoutError\", ({ enumerable: true, get: function () { return request_js_1.TimeoutError; } }));\nObject.defineProperty(exports, \"WebSocketRequestError\", ({ enumerable: true, get: function () { return request_js_1.WebSocketRequestError; } }));\nvar address_js_2 = __webpack_require__(/*! ./errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nObject.defineProperty(exports, \"InvalidAddressError\", ({ enumerable: true, get: function () { return address_js_2.InvalidAddressError; } }));\nvar transaction_js_1 = __webpack_require__(/*! ./errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nObject.defineProperty(exports, \"InvalidLegacyVError\", ({ enumerable: true, get: function () { return transaction_js_1.InvalidLegacyVError; } }));\nObject.defineProperty(exports, \"TransactionExecutionError\", ({ enumerable: true, get: function () { return transaction_js_1.TransactionExecutionError; } }));\nObject.defineProperty(exports, \"TransactionNotFoundError\", ({ enumerable: true, get: function () { return transaction_js_1.TransactionNotFoundError; } }));\nObject.defineProperty(exports, \"TransactionReceiptNotFoundError\", ({ enumerable: true, get: function () { return transaction_js_1.TransactionReceiptNotFoundError; } }));\nObject.defineProperty(exports, \"WaitForTransactionReceiptTimeoutError\", ({ enumerable: true, get: function () { return transaction_js_1.WaitForTransactionReceiptTimeoutError; } }));\nvar data_js_1 = __webpack_require__(/*! ./errors/data.js */ \"./node_modules/viem/dist/cjs/errors/data.js\");\nObject.defineProperty(exports, \"SizeExceedsPaddingSizeError\", ({ enumerable: true, get: function () { return data_js_1.SizeExceedsPaddingSizeError; } }));\nvar transport_js_1 = __webpack_require__(/*! ./errors/transport.js */ \"./node_modules/viem/dist/cjs/errors/transport.js\");\nObject.defineProperty(exports, \"UrlRequiredError\", ({ enumerable: true, get: function () { return transport_js_1.UrlRequiredError; } }));\nvar labelhash_js_1 = __webpack_require__(/*! ./utils/ens/labelhash.js */ \"./node_modules/viem/dist/cjs/utils/ens/labelhash.js\");\nObject.defineProperty(exports, \"labelhash\", ({ enumerable: true, get: function () { return labelhash_js_1.labelhash; } }));\nvar namehash_js_1 = __webpack_require__(/*! ./utils/ens/namehash.js */ \"./node_modules/viem/dist/cjs/utils/ens/namehash.js\");\nObject.defineProperty(exports, \"namehash\", ({ enumerable: true, get: function () { return namehash_js_1.namehash; } }));\nvar block_js_2 = __webpack_require__(/*! ./utils/formatters/block.js */ \"./node_modules/viem/dist/cjs/utils/formatters/block.js\");\nObject.defineProperty(exports, \"defineBlock\", ({ enumerable: true, get: function () { return block_js_2.defineBlock; } }));\nObject.defineProperty(exports, \"formatBlock\", ({ enumerable: true, get: function () { return block_js_2.formatBlock; } }));\nvar log_js_2 = __webpack_require__(/*! ./utils/formatters/log.js */ \"./node_modules/viem/dist/cjs/utils/formatters/log.js\");\nObject.defineProperty(exports, \"formatLog\", ({ enumerable: true, get: function () { return log_js_2.formatLog; } }));\nvar decodeAbiParameters_js_1 = __webpack_require__(/*! ./utils/abi/decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nObject.defineProperty(exports, \"decodeAbiParameters\", ({ enumerable: true, get: function () { return decodeAbiParameters_js_1.decodeAbiParameters; } }));\nvar decodeDeployData_js_1 = __webpack_require__(/*! ./utils/abi/decodeDeployData.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeDeployData.js\");\nObject.defineProperty(exports, \"decodeDeployData\", ({ enumerable: true, get: function () { return decodeDeployData_js_1.decodeDeployData; } }));\nvar decodeErrorResult_js_1 = __webpack_require__(/*! ./utils/abi/decodeErrorResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js\");\nObject.defineProperty(exports, \"decodeErrorResult\", ({ enumerable: true, get: function () { return decodeErrorResult_js_1.decodeErrorResult; } }));\nvar decodeEventLog_js_1 = __webpack_require__(/*! ./utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js\");\nObject.defineProperty(exports, \"decodeEventLog\", ({ enumerable: true, get: function () { return decodeEventLog_js_1.decodeEventLog; } }));\nvar decodeFunctionData_js_1 = __webpack_require__(/*! ./utils/abi/decodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionData.js\");\nObject.defineProperty(exports, \"decodeFunctionData\", ({ enumerable: true, get: function () { return decodeFunctionData_js_1.decodeFunctionData; } }));\nvar decodeFunctionResult_js_1 = __webpack_require__(/*! ./utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nObject.defineProperty(exports, \"decodeFunctionResult\", ({ enumerable: true, get: function () { return decodeFunctionResult_js_1.decodeFunctionResult; } }));\nvar encodeAbiParameters_js_1 = __webpack_require__(/*! ./utils/abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nObject.defineProperty(exports, \"encodeAbiParameters\", ({ enumerable: true, get: function () { return encodeAbiParameters_js_1.encodeAbiParameters; } }));\nvar encodeDeployData_js_1 = __webpack_require__(/*! ./utils/abi/encodeDeployData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeDeployData.js\");\nObject.defineProperty(exports, \"encodeDeployData\", ({ enumerable: true, get: function () { return encodeDeployData_js_1.encodeDeployData; } }));\nvar encodeErrorResult_js_1 = __webpack_require__(/*! ./utils/abi/encodeErrorResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeErrorResult.js\");\nObject.defineProperty(exports, \"encodeErrorResult\", ({ enumerable: true, get: function () { return encodeErrorResult_js_1.encodeErrorResult; } }));\nvar encodeEventTopics_js_1 = __webpack_require__(/*! ./utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js\");\nObject.defineProperty(exports, \"encodeEventTopics\", ({ enumerable: true, get: function () { return encodeEventTopics_js_1.encodeEventTopics; } }));\nvar encodeFunctionData_js_1 = __webpack_require__(/*! ./utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nObject.defineProperty(exports, \"encodeFunctionData\", ({ enumerable: true, get: function () { return encodeFunctionData_js_1.encodeFunctionData; } }));\nvar encodeFunctionResult_js_1 = __webpack_require__(/*! ./utils/abi/encodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionResult.js\");\nObject.defineProperty(exports, \"encodeFunctionResult\", ({ enumerable: true, get: function () { return encodeFunctionResult_js_1.encodeFunctionResult; } }));\nvar transaction_js_2 = __webpack_require__(/*! ./utils/formatters/transaction.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transaction.js\");\nObject.defineProperty(exports, \"defineTransaction\", ({ enumerable: true, get: function () { return transaction_js_2.defineTransaction; } }));\nObject.defineProperty(exports, \"formatTransaction\", ({ enumerable: true, get: function () { return transaction_js_2.formatTransaction; } }));\nObject.defineProperty(exports, \"transactionType\", ({ enumerable: true, get: function () { return transaction_js_2.transactionType; } }));\nvar transactionReceipt_js_1 = __webpack_require__(/*! ./utils/formatters/transactionReceipt.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionReceipt.js\");\nObject.defineProperty(exports, \"defineTransactionReceipt\", ({ enumerable: true, get: function () { return transactionReceipt_js_1.defineTransactionReceipt; } }));\nvar transactionRequest_js_1 = __webpack_require__(/*! ./utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\");\nObject.defineProperty(exports, \"defineTransactionRequest\", ({ enumerable: true, get: function () { return transactionRequest_js_1.defineTransactionRequest; } }));\nObject.defineProperty(exports, \"formatTransactionRequest\", ({ enumerable: true, get: function () { return transactionRequest_js_1.formatTransactionRequest; } }));\nvar getAbiItem_js_1 = __webpack_require__(/*! ./utils/abi/getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nObject.defineProperty(exports, \"getAbiItem\", ({ enumerable: true, get: function () { return getAbiItem_js_1.getAbiItem; } }));\nvar getContractAddress_js_1 = __webpack_require__(/*! ./utils/address/getContractAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getContractAddress.js\");\nObject.defineProperty(exports, \"getContractAddress\", ({ enumerable: true, get: function () { return getContractAddress_js_1.getContractAddress; } }));\nObject.defineProperty(exports, \"getCreate2Address\", ({ enumerable: true, get: function () { return getContractAddress_js_1.getCreate2Address; } }));\nObject.defineProperty(exports, \"getCreateAddress\", ({ enumerable: true, get: function () { return getContractAddress_js_1.getCreateAddress; } }));\nvar getSerializedTransactionType_js_1 = __webpack_require__(/*! ./utils/transaction/getSerializedTransactionType.js */ \"./node_modules/viem/dist/cjs/utils/transaction/getSerializedTransactionType.js\");\nObject.defineProperty(exports, \"getSerializedTransactionType\", ({ enumerable: true, get: function () { return getSerializedTransactionType_js_1.getSerializedTransactionType; } }));\nvar getTransactionType_js_1 = __webpack_require__(/*! ./utils/transaction/getTransactionType.js */ \"./node_modules/viem/dist/cjs/utils/transaction/getTransactionType.js\");\nObject.defineProperty(exports, \"getTransactionType\", ({ enumerable: true, get: function () { return getTransactionType_js_1.getTransactionType; } }));\nvar hashTypedData_js_1 = __webpack_require__(/*! ./utils/signature/hashTypedData.js */ \"./node_modules/viem/dist/cjs/utils/signature/hashTypedData.js\");\nObject.defineProperty(exports, \"hashTypedData\", ({ enumerable: true, get: function () { return hashTypedData_js_1.hashTypedData; } }));\nvar recoverAddress_js_1 = __webpack_require__(/*! ./utils/signature/recoverAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js\");\nObject.defineProperty(exports, \"recoverAddress\", ({ enumerable: true, get: function () { return recoverAddress_js_1.recoverAddress; } }));\nvar recoverMessageAddress_js_1 = __webpack_require__(/*! ./utils/signature/recoverMessageAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverMessageAddress.js\");\nObject.defineProperty(exports, \"recoverMessageAddress\", ({ enumerable: true, get: function () { return recoverMessageAddress_js_1.recoverMessageAddress; } }));\nvar recoverPublicKey_js_1 = __webpack_require__(/*! ./utils/signature/recoverPublicKey.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js\");\nObject.defineProperty(exports, \"recoverPublicKey\", ({ enumerable: true, get: function () { return recoverPublicKey_js_1.recoverPublicKey; } }));\nvar recoverTypedDataAddress_js_1 = __webpack_require__(/*! ./utils/signature/recoverTypedDataAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverTypedDataAddress.js\");\nObject.defineProperty(exports, \"recoverTypedDataAddress\", ({ enumerable: true, get: function () { return recoverTypedDataAddress_js_1.recoverTypedDataAddress; } }));\nvar toRlp_js_1 = __webpack_require__(/*! ./utils/encoding/toRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toRlp.js\");\nObject.defineProperty(exports, \"toRlp\", ({ enumerable: true, get: function () { return toRlp_js_1.toRlp; } }));\nvar verifyMessage_js_1 = __webpack_require__(/*! ./utils/signature/verifyMessage.js */ \"./node_modules/viem/dist/cjs/utils/signature/verifyMessage.js\");\nObject.defineProperty(exports, \"verifyMessage\", ({ enumerable: true, get: function () { return verifyMessage_js_1.verifyMessage; } }));\nvar verifyTypedData_js_1 = __webpack_require__(/*! ./utils/signature/verifyTypedData.js */ \"./node_modules/viem/dist/cjs/utils/signature/verifyTypedData.js\");\nObject.defineProperty(exports, \"verifyTypedData\", ({ enumerable: true, get: function () { return verifyTypedData_js_1.verifyTypedData; } }));\nvar assertRequest_js_1 = __webpack_require__(/*! ./utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\");\nObject.defineProperty(exports, \"assertRequest\", ({ enumerable: true, get: function () { return assertRequest_js_1.assertRequest; } }));\nvar assertTransaction_js_1 = __webpack_require__(/*! ./utils/transaction/assertTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js\");\nObject.defineProperty(exports, \"assertTransactionEIP1559\", ({ enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionEIP1559; } }));\nObject.defineProperty(exports, \"assertTransactionEIP2930\", ({ enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionEIP2930; } }));\nObject.defineProperty(exports, \"assertTransactionLegacy\", ({ enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionLegacy; } }));\nvar toBytes_js_1 = __webpack_require__(/*! ./utils/encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nObject.defineProperty(exports, \"boolToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.boolToBytes; } }));\nObject.defineProperty(exports, \"hexToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.hexToBytes; } }));\nObject.defineProperty(exports, \"numberToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.numberToBytes; } }));\nObject.defineProperty(exports, \"stringToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.stringToBytes; } }));\nObject.defineProperty(exports, \"toBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.toBytes; } }));\nvar toHex_js_1 = __webpack_require__(/*! ./utils/encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nObject.defineProperty(exports, \"boolToHex\", ({ enumerable: true, get: function () { return toHex_js_1.boolToHex; } }));\nObject.defineProperty(exports, \"bytesToHex\", ({ enumerable: true, get: function () { return toHex_js_1.bytesToHex; } }));\nObject.defineProperty(exports, \"numberToHex\", ({ enumerable: true, get: function () { return toHex_js_1.numberToHex; } }));\nObject.defineProperty(exports, \"stringToHex\", ({ enumerable: true, get: function () { return toHex_js_1.stringToHex; } }));\nObject.defineProperty(exports, \"toHex\", ({ enumerable: true, get: function () { return toHex_js_1.toHex; } }));\nvar fromBytes_js_1 = __webpack_require__(/*! ./utils/encoding/fromBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromBytes.js\");\nObject.defineProperty(exports, \"bytesToBigint\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToBigint; } }));\nObject.defineProperty(exports, \"bytesToBool\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToBool; } }));\nObject.defineProperty(exports, \"bytesToNumber\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToNumber; } }));\nObject.defineProperty(exports, \"bytesToString\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToString; } }));\nObject.defineProperty(exports, \"fromBytes\", ({ enumerable: true, get: function () { return fromBytes_js_1.fromBytes; } }));\nvar ccip_js_1 = __webpack_require__(/*! ./utils/ccip.js */ \"./node_modules/viem/dist/cjs/utils/ccip.js\");\nObject.defineProperty(exports, \"ccipFetch\", ({ enumerable: true, get: function () { return ccip_js_1.ccipFetch; } }));\nObject.defineProperty(exports, \"offchainLookup\", ({ enumerable: true, get: function () { return ccip_js_1.offchainLookup; } }));\nObject.defineProperty(exports, \"offchainLookupAbiItem\", ({ enumerable: true, get: function () { return ccip_js_1.offchainLookupAbiItem; } }));\nObject.defineProperty(exports, \"offchainLookupSignature\", ({ enumerable: true, get: function () { return ccip_js_1.offchainLookupSignature; } }));\nvar concat_js_1 = __webpack_require__(/*! ./utils/data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nObject.defineProperty(exports, \"concat\", ({ enumerable: true, get: function () { return concat_js_1.concat; } }));\nObject.defineProperty(exports, \"concatBytes\", ({ enumerable: true, get: function () { return concat_js_1.concatBytes; } }));\nObject.defineProperty(exports, \"concatHex\", ({ enumerable: true, get: function () { return concat_js_1.concatHex; } }));\nvar chain_js_2 = __webpack_require__(/*! ./utils/chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nObject.defineProperty(exports, \"assertCurrentChain\", ({ enumerable: true, get: function () { return chain_js_2.assertCurrentChain; } }));\nObject.defineProperty(exports, \"defineChain\", ({ enumerable: true, get: function () { return chain_js_2.defineChain; } }));\nvar encodePacked_js_1 = __webpack_require__(/*! ./utils/abi/encodePacked.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodePacked.js\");\nObject.defineProperty(exports, \"encodePacked\", ({ enumerable: true, get: function () { return encodePacked_js_1.encodePacked; } }));\nvar formatEther_js_1 = __webpack_require__(/*! ./utils/unit/formatEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatEther.js\");\nObject.defineProperty(exports, \"formatEther\", ({ enumerable: true, get: function () { return formatEther_js_1.formatEther; } }));\nvar formatGwei_js_1 = __webpack_require__(/*! ./utils/unit/formatGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\");\nObject.defineProperty(exports, \"formatGwei\", ({ enumerable: true, get: function () { return formatGwei_js_1.formatGwei; } }));\nvar formatUnits_js_1 = __webpack_require__(/*! ./utils/unit/formatUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatUnits.js\");\nObject.defineProperty(exports, \"formatUnits\", ({ enumerable: true, get: function () { return formatUnits_js_1.formatUnits; } }));\nvar fromHex_js_1 = __webpack_require__(/*! ./utils/encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nObject.defineProperty(exports, \"fromHex\", ({ enumerable: true, get: function () { return fromHex_js_1.fromHex; } }));\nObject.defineProperty(exports, \"hexToBigInt\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToBigInt; } }));\nObject.defineProperty(exports, \"hexToBool\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToBool; } }));\nObject.defineProperty(exports, \"hexToNumber\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToNumber; } }));\nObject.defineProperty(exports, \"hexToString\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToString; } }));\nvar fromRlp_js_1 = __webpack_require__(/*! ./utils/encoding/fromRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromRlp.js\");\nObject.defineProperty(exports, \"fromRlp\", ({ enumerable: true, get: function () { return fromRlp_js_1.fromRlp; } }));\nvar getAddress_js_1 = __webpack_require__(/*! ./utils/address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nObject.defineProperty(exports, \"getAddress\", ({ enumerable: true, get: function () { return getAddress_js_1.getAddress; } }));\nvar getContractError_js_1 = __webpack_require__(/*! ./utils/errors/getContractError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getContractError.js\");\nObject.defineProperty(exports, \"getContractError\", ({ enumerable: true, get: function () { return getContractError_js_1.getContractError; } }));\nvar getEventSelector_js_1 = __webpack_require__(/*! ./utils/hash/getEventSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js\");\nObject.defineProperty(exports, \"getEventSelector\", ({ enumerable: true, get: function () { return getEventSelector_js_1.getEventSelector; } }));\nvar getFunctionSelector_js_1 = __webpack_require__(/*! ./utils/hash/getFunctionSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\");\nObject.defineProperty(exports, \"getFunctionSelector\", ({ enumerable: true, get: function () { return getFunctionSelector_js_1.getFunctionSelector; } }));\nvar hashMessage_js_1 = __webpack_require__(/*! ./utils/signature/hashMessage.js */ \"./node_modules/viem/dist/cjs/utils/signature/hashMessage.js\");\nObject.defineProperty(exports, \"hashMessage\", ({ enumerable: true, get: function () { return hashMessage_js_1.hashMessage; } }));\nvar isAddress_js_1 = __webpack_require__(/*! ./utils/address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nObject.defineProperty(exports, \"isAddress\", ({ enumerable: true, get: function () { return isAddress_js_1.isAddress; } }));\nvar isAddressEqual_js_1 = __webpack_require__(/*! ./utils/address/isAddressEqual.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js\");\nObject.defineProperty(exports, \"isAddressEqual\", ({ enumerable: true, get: function () { return isAddressEqual_js_1.isAddressEqual; } }));\nvar isBytes_js_1 = __webpack_require__(/*! ./utils/data/isBytes.js */ \"./node_modules/viem/dist/cjs/utils/data/isBytes.js\");\nObject.defineProperty(exports, \"isBytes\", ({ enumerable: true, get: function () { return isBytes_js_1.isBytes; } }));\nvar isHash_js_1 = __webpack_require__(/*! ./utils/hash/isHash.js */ \"./node_modules/viem/dist/cjs/utils/hash/isHash.js\");\nObject.defineProperty(exports, \"isHash\", ({ enumerable: true, get: function () { return isHash_js_1.isHash; } }));\nvar isHex_js_1 = __webpack_require__(/*! ./utils/data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nObject.defineProperty(exports, \"isHex\", ({ enumerable: true, get: function () { return isHex_js_1.isHex; } }));\nvar keccak256_js_1 = __webpack_require__(/*! ./utils/hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nObject.defineProperty(exports, \"keccak256\", ({ enumerable: true, get: function () { return keccak256_js_1.keccak256; } }));\nvar pad_js_1 = __webpack_require__(/*! ./utils/data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nObject.defineProperty(exports, \"pad\", ({ enumerable: true, get: function () { return pad_js_1.pad; } }));\nObject.defineProperty(exports, \"padBytes\", ({ enumerable: true, get: function () { return pad_js_1.padBytes; } }));\nObject.defineProperty(exports, \"padHex\", ({ enumerable: true, get: function () { return pad_js_1.padHex; } }));\nvar parseEther_js_1 = __webpack_require__(/*! ./utils/unit/parseEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseEther.js\");\nObject.defineProperty(exports, \"parseEther\", ({ enumerable: true, get: function () { return parseEther_js_1.parseEther; } }));\nvar parseGwei_js_1 = __webpack_require__(/*! ./utils/unit/parseGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseGwei.js\");\nObject.defineProperty(exports, \"parseGwei\", ({ enumerable: true, get: function () { return parseGwei_js_1.parseGwei; } }));\nvar parseTransaction_js_1 = __webpack_require__(/*! ./utils/transaction/parseTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/parseTransaction.js\");\nObject.defineProperty(exports, \"parseTransaction\", ({ enumerable: true, get: function () { return parseTransaction_js_1.parseTransaction; } }));\nvar parseUnits_js_1 = __webpack_require__(/*! ./utils/unit/parseUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseUnits.js\");\nObject.defineProperty(exports, \"parseUnits\", ({ enumerable: true, get: function () { return parseUnits_js_1.parseUnits; } }));\nvar prepareRequest_js_1 = __webpack_require__(/*! ./utils/transaction/prepareRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js\");\nObject.defineProperty(exports, \"prepareRequest\", ({ enumerable: true, get: function () { return prepareRequest_js_1.prepareRequest; } }));\nvar serializeAccessList_js_1 = __webpack_require__(/*! ./utils/transaction/serializeAccessList.js */ \"./node_modules/viem/dist/cjs/utils/transaction/serializeAccessList.js\");\nObject.defineProperty(exports, \"serializeAccessList\", ({ enumerable: true, get: function () { return serializeAccessList_js_1.serializeAccessList; } }));\nvar serializeTransaction_js_1 = __webpack_require__(/*! ./utils/transaction/serializeTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/serializeTransaction.js\");\nObject.defineProperty(exports, \"serializeTransaction\", ({ enumerable: true, get: function () { return serializeTransaction_js_1.serializeTransaction; } }));\nvar size_js_1 = __webpack_require__(/*! ./utils/data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nObject.defineProperty(exports, \"size\", ({ enumerable: true, get: function () { return size_js_1.size; } }));\nvar slice_js_1 = __webpack_require__(/*! ./utils/data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nObject.defineProperty(exports, \"slice\", ({ enumerable: true, get: function () { return slice_js_1.slice; } }));\nObject.defineProperty(exports, \"sliceBytes\", ({ enumerable: true, get: function () { return slice_js_1.sliceBytes; } }));\nObject.defineProperty(exports, \"sliceHex\", ({ enumerable: true, get: function () { return slice_js_1.sliceHex; } }));\nvar stringify_js_1 = __webpack_require__(/*! ./utils/stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return stringify_js_1.stringify; } }));\nvar trim_js_1 = __webpack_require__(/*! ./utils/data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nObject.defineProperty(exports, \"trim\", ({ enumerable: true, get: function () { return trim_js_1.trim; } }));\nvar typedData_js_1 = __webpack_require__(/*! ./utils/typedData.js */ \"./node_modules/viem/dist/cjs/utils/typedData.js\");\nObject.defineProperty(exports, \"validateTypedData\", ({ enumerable: true, get: function () { return typedData_js_1.validateTypedData; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUM7QUFDekosZ0JBQWdCLG1CQUFPLENBQUMsNkVBQXNCO0FBQzlDLHdDQUF1QyxFQUFFLHFDQUFxQywwQkFBMEIsRUFBQztBQUN6RyxpQkFBaUIsbUJBQU8sQ0FBQywrRUFBdUI7QUFDaEQseUNBQXdDLEVBQUUscUNBQXFDLDRCQUE0QixFQUFDO0FBQzVHLDhDQUE2QyxFQUFFLHFDQUFxQyxpQ0FBaUMsRUFBQztBQUN0SCw0Q0FBMkMsRUFBRSxxQ0FBcUMsK0JBQStCLEVBQUM7QUFDbEgscUJBQXFCLG1CQUFPLENBQUMsNkVBQXNCO0FBQ25ELDZDQUE0QyxFQUFFLHFDQUFxQyxvQ0FBb0MsRUFBQztBQUN4SCxnQkFBZ0IsbUJBQU8sQ0FBQyw2RUFBc0I7QUFDOUMsd0NBQXVDLEVBQUUscUNBQXFDLDBCQUEwQixFQUFDO0FBQ3pHLHFCQUFxQixtQkFBTyxDQUFDLDZFQUFzQjtBQUNuRCxxREFBb0QsRUFBRSxxQ0FBcUMsNENBQTRDLEVBQUM7QUFDeEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvaW5kZXguanM/N2JmNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuSW52YWxpZEFiaURlY29kaW5nVHlwZUVycm9yID0gZXhwb3J0cy5EZWNvZGVMb2dUb3BpY3NNaXNtYXRjaCA9IGV4cG9ydHMuQWJpRnVuY3Rpb25TaWduYXR1cmVOb3RGb3VuZEVycm9yID0gZXhwb3J0cy5BYmlGdW5jdGlvbk91dHB1dHNOb3RGb3VuZEVycm9yID0gZXhwb3J0cy5BYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLkFiaUV2ZW50U2lnbmF0dXJlTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yID0gZXhwb3J0cy5BYmlFdmVudE5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLkFiaUVycm9yU2lnbmF0dXJlTm90Rm91bmRFcnJvciA9IGV4cG9ydHMuQWJpRXJyb3JOb3RGb3VuZEVycm9yID0gZXhwb3J0cy5BYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3IgPSBleHBvcnRzLkFiaUVuY29kaW5nTGVuZ3RoTWlzbWF0Y2hFcnJvciA9IGV4cG9ydHMuQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3IgPSBleHBvcnRzLkFiaURlY29kaW5nWmVyb0RhdGFFcnJvciA9IGV4cG9ydHMuQWJpRGVjb2RpbmdEYXRhU2l6ZUludmFsaWRFcnJvciA9IGV4cG9ydHMuQWJpQ29uc3RydWN0b3JQYXJhbXNOb3RGb3VuZEVycm9yID0gZXhwb3J0cy5BYmlDb25zdHJ1Y3Rvck5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLnplcm9BZGRyZXNzID0gZXhwb3J0cy53ZWlVbml0cyA9IGV4cG9ydHMuZ3dlaVVuaXRzID0gZXhwb3J0cy5ldGhlclVuaXRzID0gZXhwb3J0cy5tdWx0aWNhbGwzQWJpID0gZXhwb3J0cy53ZWJTb2NrZXQgPSBleHBvcnRzLmNyZWF0ZVdhbGxldENsaWVudCA9IGV4cG9ydHMuY3JlYXRlVHJhbnNwb3J0ID0gZXhwb3J0cy5jcmVhdGVUZXN0Q2xpZW50ID0gZXhwb3J0cy5jcmVhdGVQdWJsaWNDbGllbnQgPSBleHBvcnRzLmh0dHAgPSBleHBvcnRzLmZhbGxiYWNrID0gZXhwb3J0cy5jdXN0b20gPSBleHBvcnRzLmNyZWF0ZUNsaWVudCA9IGV4cG9ydHMuZ2V0Q29udHJhY3QgPSBleHBvcnRzLnBhcnNlQWJpUGFyYW1ldGVycyA9IGV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXIgPSBleHBvcnRzLnBhcnNlQWJpSXRlbSA9IGV4cG9ydHMucGFyc2VBYmkgPSBleHBvcnRzLlVua25vd25TaWduYXR1cmVFcnJvciA9IGV4cG9ydHMuVW5rbm93blR5cGVFcnJvciA9IGV4cG9ydHMuU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3IgPSBleHBvcnRzLkludmFsaWRTdHJ1Y3RTaWduYXR1cmVFcnJvciA9IGV4cG9ydHMuSW52YWxpZFNpZ25hdHVyZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyZW50aGVzaXNFcnJvciA9IGV4cG9ydHMuSW52YWxpZFBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5JbnZhbGlkTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaUl0ZW1FcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciA9IGV4cG9ydHMuSW52YWxpZEFiaVBhcmFtZXRlckVycm9yID0gZXhwb3J0cy5DaXJjdWxhclJlZmVyZW5jZUVycm9yID0gdm9pZCAwO1xuZXhwb3J0cy5Ob25jZVRvb0hpZ2hFcnJvciA9IGV4cG9ydHMuTm9uY2VNYXhWYWx1ZUVycm9yID0gZXhwb3J0cy5JbnRyaW5zaWNHYXNUb29Mb3dFcnJvciA9IGV4cG9ydHMuSW50cmluc2ljR2FzVG9vSGlnaEVycm9yID0gZXhwb3J0cy5JbnN1ZmZpY2llbnRGdW5kc0Vycm9yID0gZXhwb3J0cy5GZWVDYXBUb29Mb3dFcnJvciA9IGV4cG9ydHMuRmVlQ2FwVG9vSGlnaEVycm9yID0gZXhwb3J0cy5FeGVjdXRpb25SZXZlcnRlZEVycm9yID0gZXhwb3J0cy5Fc3RpbWF0ZUdhc0V4ZWN1dGlvbkVycm9yID0gZXhwb3J0cy5FbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3IgPSBleHBvcnRzLk9mZnNldE91dE9mQm91bmRzRXJyb3IgPSBleHBvcnRzLkludmFsaWRIZXhWYWx1ZUVycm9yID0gZXhwb3J0cy5JbnZhbGlkSGV4Qm9vbGVhbkVycm9yID0gZXhwb3J0cy5JbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3IgPSBleHBvcnRzLkRhdGFMZW5ndGhUb29TaG9ydEVycm9yID0gZXhwb3J0cy5EYXRhTGVuZ3RoVG9vTG9uZ0Vycm9yID0gZXhwb3J0cy5JbnZhbGlkQ2hhaW5JZEVycm9yID0gZXhwb3J0cy5DbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvciA9IGV4cG9ydHMuQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0ID0gZXhwb3J0cy5Vc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IgPSBleHBvcnRzLlVuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvciA9IGV4cG9ydHMuVW5rbm93blJwY0Vycm9yID0gZXhwb3J0cy5VbmF1dGhvcml6ZWRQcm92aWRlckVycm9yID0gZXhwb3J0cy5Td2l0Y2hDaGFpbkVycm9yID0gZXhwb3J0cy5UcmFuc2FjdGlvblJlamVjdGVkUnBjRXJyb3IgPSBleHBvcnRzLlJwY0Vycm9yID0gZXhwb3J0cy5SZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IgPSBleHBvcnRzLlJlc291cmNlTm90Rm91bmRScGNFcnJvciA9IGV4cG9ydHMuUHJvdmlkZXJScGNFcnJvciA9IGV4cG9ydHMuUHJvdmlkZXJEaXNjb25uZWN0ZWRFcnJvciA9IGV4cG9ydHMuUGFyc2VScGNFcnJvciA9IGV4cG9ydHMuTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3IgPSBleHBvcnRzLk1ldGhvZE5vdEZvdW5kUnBjRXJyb3IgPSBleHBvcnRzLkxpbWl0RXhjZWVkZWRScGNFcnJvciA9IGV4cG9ydHMuSnNvblJwY1ZlcnNpb25VbnN1cHBvcnRlZEVycm9yID0gZXhwb3J0cy5JbnZhbGlkUmVxdWVzdFJwY0Vycm9yID0gZXhwb3J0cy5JbnZhbGlkUGFyYW1zUnBjRXJyb3IgPSBleHBvcnRzLkludmFsaWRJbnB1dFJwY0Vycm9yID0gZXhwb3J0cy5JbnRlcm5hbFJwY0Vycm9yID0gZXhwb3J0cy5DaGFpbkRpc2Nvbm5lY3RlZEVycm9yID0gZXhwb3J0cy5SYXdDb250cmFjdEVycm9yID0gZXhwb3J0cy5Db250cmFjdEZ1bmN0aW9uWmVyb0RhdGFFcnJvciA9IGV4cG9ydHMuQ29udHJhY3RGdW5jdGlvblJldmVydGVkRXJyb3IgPSBleHBvcnRzLkNvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvciA9IGV4cG9ydHMuQ2FsbEV4ZWN1dGlvbkVycm9yID0gZXhwb3J0cy5CbG9ja05vdEZvdW5kRXJyb3IgPSBleHBvcnRzLkJhc2VFcnJvciA9IGV4cG9ydHMuSW52YWxpZERlZmluaXRpb25UeXBlRXJyb3IgPSBleHBvcnRzLkludmFsaWRBcnJheUVycm9yID0gZXhwb3J0cy5JbnZhbGlkQWJpRW5jb2RpbmdUeXBlRXJyb3IgPSB2b2lkIDA7XG5leHBvcnRzLnJlY292ZXJQdWJsaWNLZXkgPSBleHBvcnRzLnJlY292ZXJNZXNzYWdlQWRkcmVzcyA9IGV4cG9ydHMucmVjb3ZlckFkZHJlc3MgPSBleHBvcnRzLmhhc2hUeXBlZERhdGEgPSBleHBvcnRzLmdldFRyYW5zYWN0aW9uVHlwZSA9IGV4cG9ydHMuZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZSA9IGV4cG9ydHMuZ2V0Q3JlYXRlQWRkcmVzcyA9IGV4cG9ydHMuZ2V0Q3JlYXRlMkFkZHJlc3MgPSBleHBvcnRzLmdldENvbnRyYWN0QWRkcmVzcyA9IGV4cG9ydHMuZ2V0QWJpSXRlbSA9IGV4cG9ydHMuZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0ID0gZXhwb3J0cy5kZWZpbmVUcmFuc2FjdGlvblJlcXVlc3QgPSBleHBvcnRzLmRlZmluZVRyYW5zYWN0aW9uUmVjZWlwdCA9IGV4cG9ydHMudHJhbnNhY3Rpb25UeXBlID0gZXhwb3J0cy5mb3JtYXRUcmFuc2FjdGlvbiA9IGV4cG9ydHMuZGVmaW5lVHJhbnNhY3Rpb24gPSBleHBvcnRzLmVuY29kZUZ1bmN0aW9uUmVzdWx0ID0gZXhwb3J0cy5lbmNvZGVGdW5jdGlvbkRhdGEgPSBleHBvcnRzLmVuY29kZUV2ZW50VG9waWNzID0gZXhwb3J0cy5lbmNvZGVFcnJvclJlc3VsdCA9IGV4cG9ydHMuZW5jb2RlRGVwbG95RGF0YSA9IGV4cG9ydHMuZW5jb2RlQWJpUGFyYW1ldGVycyA9IGV4cG9ydHMuZGVjb2RlRnVuY3Rpb25SZXN1bHQgPSBleHBvcnRzLmRlY29kZUZ1bmN0aW9uRGF0YSA9IGV4cG9ydHMuZGVjb2RlRXZlbnRMb2cgPSBleHBvcnRzLmRlY29kZUVycm9yUmVzdWx0ID0gZXhwb3J0cy5kZWNvZGVEZXBsb3lEYXRhID0gZXhwb3J0cy5kZWNvZGVBYmlQYXJhbWV0ZXJzID0gZXhwb3J0cy5mb3JtYXRMb2cgPSBleHBvcnRzLmZvcm1hdEJsb2NrID0gZXhwb3J0cy5kZWZpbmVCbG9jayA9IGV4cG9ydHMubmFtZWhhc2ggPSBleHBvcnRzLmxhYmVsaGFzaCA9IGV4cG9ydHMuVXJsUmVxdWlyZWRFcnJvciA9IGV4cG9ydHMuU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yID0gZXhwb3J0cy5XYWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0VGltZW91dEVycm9yID0gZXhwb3J0cy5UcmFuc2FjdGlvblJlY2VpcHROb3RGb3VuZEVycm9yID0gZXhwb3J0cy5UcmFuc2FjdGlvbk5vdEZvdW5kRXJyb3IgPSBleHBvcnRzLlRyYW5zYWN0aW9uRXhlY3V0aW9uRXJyb3IgPSBleHBvcnRzLkludmFsaWRMZWdhY3lWRXJyb3IgPSBleHBvcnRzLkludmFsaWRBZGRyZXNzRXJyb3IgPSBleHBvcnRzLldlYlNvY2tldFJlcXVlc3RFcnJvciA9IGV4cG9ydHMuVGltZW91dEVycm9yID0gZXhwb3J0cy5ScGNSZXF1ZXN0RXJyb3IgPSBleHBvcnRzLkh0dHBSZXF1ZXN0RXJyb3IgPSBleHBvcnRzLkZpbHRlclR5cGVOb3RTdXBwb3J0ZWRFcnJvciA9IGV4cG9ydHMuVW5rbm93bk5vZGVFcnJvciA9IGV4cG9ydHMuVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3IgPSBleHBvcnRzLlRpcEFib3ZlRmVlQ2FwRXJyb3IgPSBleHBvcnRzLk5vbmNlVG9vTG93RXJyb3IgPSB2b2lkIDA7XG5leHBvcnRzLmlzQnl0ZXMgPSBleHBvcnRzLmlzQWRkcmVzc0VxdWFsID0gZXhwb3J0cy5pc0FkZHJlc3MgPSBleHBvcnRzLmhhc2hNZXNzYWdlID0gZXhwb3J0cy5nZXRGdW5jdGlvblNlbGVjdG9yID0gZXhwb3J0cy5nZXRFdmVudFNlbGVjdG9yID0gZXhwb3J0cy5nZXRDb250cmFjdEVycm9yID0gZXhwb3J0cy5nZXRBZGRyZXNzID0gZXhwb3J0cy5mcm9tUmxwID0gZXhwb3J0cy5oZXhUb1N0cmluZyA9IGV4cG9ydHMuaGV4VG9OdW1iZXIgPSBleHBvcnRzLmhleFRvQm9vbCA9IGV4cG9ydHMuaGV4VG9CaWdJbnQgPSBleHBvcnRzLmZyb21IZXggPSBleHBvcnRzLmZvcm1hdFVuaXRzID0gZXhwb3J0cy5mb3JtYXRHd2VpID0gZXhwb3J0cy5mb3JtYXRFdGhlciA9IGV4cG9ydHMuZW5jb2RlUGFja2VkID0gZXhwb3J0cy5kZWZpbmVDaGFpbiA9IGV4cG9ydHMuYXNzZXJ0Q3VycmVudENoYWluID0gZXhwb3J0cy5jb25jYXRIZXggPSBleHBvcnRzLmNvbmNhdEJ5dGVzID0gZXhwb3J0cy5jb25jYXQgPSBleHBvcnRzLm9mZmNoYWluTG9va3VwU2lnbmF0dXJlID0gZXhwb3J0cy5vZmZjaGFpbkxvb2t1cEFiaUl0ZW0gPSBleHBvcnRzLm9mZmNoYWluTG9va3VwID0gZXhwb3J0cy5jY2lwRmV0Y2ggPSBleHBvcnRzLmZyb21CeXRlcyA9IGV4cG9ydHMuYnl0ZXNUb1N0cmluZyA9IGV4cG9ydHMuYnl0ZXNUb051bWJlciA9IGV4cG9ydHMuYnl0ZXNUb0Jvb2wgPSBleHBvcnRzLmJ5dGVzVG9CaWdpbnQgPSBleHBvcnRzLnRvSGV4ID0gZXhwb3J0cy5zdHJpbmdUb0hleCA9IGV4cG9ydHMubnVtYmVyVG9IZXggPSBleHBvcnRzLmJ5dGVzVG9IZXggPSBleHBvcnRzLmJvb2xUb0hleCA9IGV4cG9ydHMudG9CeXRlcyA9IGV4cG9ydHMuc3RyaW5nVG9CeXRlcyA9IGV4cG9ydHMubnVtYmVyVG9CeXRlcyA9IGV4cG9ydHMuaGV4VG9CeXRlcyA9IGV4cG9ydHMuYm9vbFRvQnl0ZXMgPSBleHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uTGVnYWN5ID0gZXhwb3J0cy5hc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzAgPSBleHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSA9IGV4cG9ydHMuYXNzZXJ0UmVxdWVzdCA9IGV4cG9ydHMudmVyaWZ5VHlwZWREYXRhID0gZXhwb3J0cy52ZXJpZnlNZXNzYWdlID0gZXhwb3J0cy50b1JscCA9IGV4cG9ydHMucmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MgPSB2b2lkIDA7XG5leHBvcnRzLnZhbGlkYXRlVHlwZWREYXRhID0gZXhwb3J0cy50cmltID0gZXhwb3J0cy5zdHJpbmdpZnkgPSBleHBvcnRzLnNsaWNlSGV4ID0gZXhwb3J0cy5zbGljZUJ5dGVzID0gZXhwb3J0cy5zbGljZSA9IGV4cG9ydHMuc2l6ZSA9IGV4cG9ydHMuc2VyaWFsaXplVHJhbnNhY3Rpb24gPSBleHBvcnRzLnNlcmlhbGl6ZUFjY2Vzc0xpc3QgPSBleHBvcnRzLnByZXBhcmVSZXF1ZXN0ID0gZXhwb3J0cy5wYXJzZVVuaXRzID0gZXhwb3J0cy5wYXJzZVRyYW5zYWN0aW9uID0gZXhwb3J0cy5wYXJzZUd3ZWkgPSBleHBvcnRzLnBhcnNlRXRoZXIgPSBleHBvcnRzLnBhZEhleCA9IGV4cG9ydHMucGFkQnl0ZXMgPSBleHBvcnRzLnBhZCA9IGV4cG9ydHMua2VjY2FrMjU2ID0gZXhwb3J0cy5pc0hleCA9IGV4cG9ydHMuaXNIYXNoID0gdm9pZCAwO1xudmFyIGFiaXR5cGVfMSA9IHJlcXVpcmUoXCJhYml0eXBlXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ2lyY3VsYXJSZWZlcmVuY2VFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpdHlwZV8xLkNpcmN1bGFyUmVmZXJlbmNlRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5JbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWJpUGFyYW1ldGVyc0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEuSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRBYmlJdGVtRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5JbnZhbGlkQWJpSXRlbUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpdHlwZV8xLkludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEuSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRNb2RpZmllckVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEuSW52YWxpZE1vZGlmaWVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkUGFyYW1ldGVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5JbnZhbGlkUGFyYW1ldGVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkUGFyZW50aGVzaXNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpdHlwZV8xLkludmFsaWRQYXJlbnRoZXNpc0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFNpZ25hdHVyZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEuSW52YWxpZFNpZ25hdHVyZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEuSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5Tb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlVua25vd25UeXBlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5Vbmtub3duVHlwZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVW5rbm93blNpZ25hdHVyZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEuVW5rbm93blNpZ25hdHVyZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VBYmlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5wYXJzZUFiaTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpSXRlbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpdHlwZV8xLnBhcnNlQWJpSXRlbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpUGFyYW1ldGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEucGFyc2VBYmlQYXJhbWV0ZXI7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZUFiaVBhcmFtZXRlcnNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5wYXJzZUFiaVBhcmFtZXRlcnM7IH0gfSk7XG52YXIgZ2V0Q29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuL2FjdGlvbnMvZ2V0Q29udHJhY3QuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRDb250cmFjdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZ2V0Q29udHJhY3RfanNfMS5nZXRDb250cmFjdDsgfSB9KTtcbnZhciBjcmVhdGVDbGllbnRfanNfMSA9IHJlcXVpcmUoXCIuL2NsaWVudHMvY3JlYXRlQ2xpZW50LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlQ2xpZW50XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjcmVhdGVDbGllbnRfanNfMS5jcmVhdGVDbGllbnQ7IH0gfSk7XG52YXIgY3VzdG9tX2pzXzEgPSByZXF1aXJlKFwiLi9jbGllbnRzL3RyYW5zcG9ydHMvY3VzdG9tLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3VzdG9tXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjdXN0b21fanNfMS5jdXN0b207IH0gfSk7XG52YXIgZmFsbGJhY2tfanNfMSA9IHJlcXVpcmUoXCIuL2NsaWVudHMvdHJhbnNwb3J0cy9mYWxsYmFjay5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZhbGxiYWNrXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmYWxsYmFja19qc18xLmZhbGxiYWNrOyB9IH0pO1xudmFyIGh0dHBfanNfMSA9IHJlcXVpcmUoXCIuL2NsaWVudHMvdHJhbnNwb3J0cy9odHRwLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaHR0cFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaHR0cF9qc18xLmh0dHA7IH0gfSk7XG52YXIgY3JlYXRlUHVibGljQ2xpZW50X2pzXzEgPSByZXF1aXJlKFwiLi9jbGllbnRzL2NyZWF0ZVB1YmxpY0NsaWVudC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVB1YmxpY0NsaWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlUHVibGljQ2xpZW50X2pzXzEuY3JlYXRlUHVibGljQ2xpZW50OyB9IH0pO1xudmFyIGNyZWF0ZVRlc3RDbGllbnRfanNfMSA9IHJlcXVpcmUoXCIuL2NsaWVudHMvY3JlYXRlVGVzdENsaWVudC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVRlc3RDbGllbnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVRlc3RDbGllbnRfanNfMS5jcmVhdGVUZXN0Q2xpZW50OyB9IH0pO1xudmFyIGNyZWF0ZVRyYW5zcG9ydF9qc18xID0gcmVxdWlyZShcIi4vY2xpZW50cy90cmFuc3BvcnRzL2NyZWF0ZVRyYW5zcG9ydC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVRyYW5zcG9ydFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlVHJhbnNwb3J0X2pzXzEuY3JlYXRlVHJhbnNwb3J0OyB9IH0pO1xudmFyIGNyZWF0ZVdhbGxldENsaWVudF9qc18xID0gcmVxdWlyZShcIi4vY2xpZW50cy9jcmVhdGVXYWxsZXRDbGllbnQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVXYWxsZXRDbGllbnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVdhbGxldENsaWVudF9qc18xLmNyZWF0ZVdhbGxldENsaWVudDsgfSB9KTtcbnZhciB3ZWJTb2NrZXRfanNfMSA9IHJlcXVpcmUoXCIuL2NsaWVudHMvdHJhbnNwb3J0cy93ZWJTb2NrZXQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ3ZWJTb2NrZXRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdlYlNvY2tldF9qc18xLndlYlNvY2tldDsgfSB9KTtcbnZhciBhYmlzX2pzXzEgPSByZXF1aXJlKFwiLi9jb25zdGFudHMvYWJpcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm11bHRpY2FsbDNBYmlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXNfanNfMS5tdWx0aWNhbGwzQWJpOyB9IH0pO1xudmFyIHVuaXRfanNfMSA9IHJlcXVpcmUoXCIuL2NvbnN0YW50cy91bml0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZXRoZXJVbml0c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdW5pdF9qc18xLmV0aGVyVW5pdHM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnd2VpVW5pdHNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHVuaXRfanNfMS5nd2VpVW5pdHM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ3ZWlVbml0c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdW5pdF9qc18xLndlaVVuaXRzOyB9IH0pO1xudmFyIGFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL2NvbnN0YW50cy9hZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiemVyb0FkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFkZHJlc3NfanNfMS56ZXJvQWRkcmVzczsgfSB9KTtcbnZhciBhYmlfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9hYmkuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJBYmlDb25zdHJ1Y3Rvck5vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuQWJpQ29uc3RydWN0b3JQYXJhbXNOb3RGb3VuZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQWJpRGVjb2RpbmdEYXRhU2l6ZUludmFsaWRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuQWJpRGVjb2RpbmdEYXRhU2l6ZUludmFsaWRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFiaURlY29kaW5nWmVyb0RhdGFFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUVuY29kaW5nQXJyYXlMZW5ndGhNaXNtYXRjaEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlfanNfMS5BYmlFbmNvZGluZ0xlbmd0aE1pc21hdGNoRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJBYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUVycm9ySW5wdXRzTm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFiaUVycm9yTm90Rm91bmRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuQWJpRXJyb3JOb3RGb3VuZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQWJpRXJyb3JTaWduYXR1cmVOb3RGb3VuZEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlfanNfMS5BYmlFcnJvclNpZ25hdHVyZU5vdEZvdW5kRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJBYmlFdmVudE5vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUV2ZW50Tm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFiaUV2ZW50U2lnbmF0dXJlRW1wdHlUb3BpY3NFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQWJpRXZlbnRTaWduYXR1cmVOb3RGb3VuZEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlfanNfMS5BYmlFdmVudFNpZ25hdHVyZU5vdEZvdW5kRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUZ1bmN0aW9uTm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFiaUZ1bmN0aW9uT3V0cHV0c05vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUZ1bmN0aW9uT3V0cHV0c05vdEZvdW5kRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJBYmlGdW5jdGlvblNpZ25hdHVyZU5vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaV9qc18xLkFiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRlY29kZUxvZ1RvcGljc01pc21hdGNoXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlfanNfMS5EZWNvZGVMb2dUb3BpY3NNaXNtYXRjaDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRBYmlEZWNvZGluZ1R5cGVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuSW52YWxpZEFiaURlY29kaW5nVHlwZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEFiaUVuY29kaW5nVHlwZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYmlfanNfMS5JbnZhbGlkQWJpRW5jb2RpbmdUeXBlRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQXJyYXlFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuSW52YWxpZEFycmF5RXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkRGVmaW5pdGlvblR5cGVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpX2pzXzEuSW52YWxpZERlZmluaXRpb25UeXBlRXJyb3I7IH0gfSk7XG52YXIgYmFzZV9qc18xID0gcmVxdWlyZShcIi4vZXJyb3JzL2Jhc2UuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJCYXNlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGJhc2VfanNfMS5CYXNlRXJyb3I7IH0gfSk7XG52YXIgYmxvY2tfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9ibG9jay5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkJsb2NrTm90Rm91bmRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYmxvY2tfanNfMS5CbG9ja05vdEZvdW5kRXJyb3I7IH0gfSk7XG52YXIgY29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9jb250cmFjdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNhbGxFeGVjdXRpb25FcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY29udHJhY3RfanNfMS5DYWxsRXhlY3V0aW9uRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbnRyYWN0X2pzXzEuQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ29udHJhY3RGdW5jdGlvblJldmVydGVkRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbnRyYWN0X2pzXzEuQ29udHJhY3RGdW5jdGlvblJldmVydGVkRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb250cmFjdEZ1bmN0aW9uWmVyb0RhdGFFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY29udHJhY3RfanNfMS5Db250cmFjdEZ1bmN0aW9uWmVyb0RhdGFFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlJhd0NvbnRyYWN0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbnRyYWN0X2pzXzEuUmF3Q29udHJhY3RFcnJvcjsgfSB9KTtcbnZhciBycGNfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9ycGMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDaGFpbkRpc2Nvbm5lY3RlZEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5DaGFpbkRpc2Nvbm5lY3RlZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW50ZXJuYWxScGNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuSW50ZXJuYWxScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRJbnB1dFJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5JbnZhbGlkSW5wdXRScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRQYXJhbXNScGNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuSW52YWxpZFBhcmFtc1JwY0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZFJlcXVlc3RScGNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuSW52YWxpZFJlcXVlc3RScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuSnNvblJwY1ZlcnNpb25VbnN1cHBvcnRlZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTGltaXRFeGNlZWRlZFJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5MaW1pdEV4Y2VlZGVkUnBjRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJNZXRob2ROb3RGb3VuZFJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5NZXRob2ROb3RGb3VuZFJwY0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJwY19qc18xLk1ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUGFyc2VScGNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuUGFyc2VScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlByb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJwY19qc18xLlByb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJQcm92aWRlclJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5Qcm92aWRlclJwY0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5SZXNvdXJjZU5vdEZvdW5kUnBjRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJwY19qc18xLlJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlJwY0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5ScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiU3dpdGNoQ2hhaW5FcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuU3dpdGNoQ2hhaW5FcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJwY19qc18xLlVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVbmtub3duUnBjRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJwY19qc18xLlVua25vd25ScGNFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlVuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVXNlclJlamVjdGVkUmVxdWVzdEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5Vc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3I7IH0gfSk7XG52YXIgY2hhaW5fanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9jaGFpbi5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNoYWluRG9lc05vdFN1cHBvcnRDb250cmFjdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2hhaW5fanNfMS5DaGFpbkRvZXNOb3RTdXBwb3J0Q29udHJhY3Q7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2hhaW5fanNfMS5DbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkludmFsaWRDaGFpbklkRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNoYWluX2pzXzEuSW52YWxpZENoYWluSWRFcnJvcjsgfSB9KTtcbnZhciBlbmNvZGluZ19qc18xID0gcmVxdWlyZShcIi4vZXJyb3JzL2VuY29kaW5nLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGF0YUxlbmd0aFRvb0xvbmdFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RpbmdfanNfMS5EYXRhTGVuZ3RoVG9vTG9uZ0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kaW5nX2pzXzEuRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kaW5nX2pzXzEuSW52YWxpZEJ5dGVzQm9vbGVhbkVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEhleEJvb2xlYW5FcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RpbmdfanNfMS5JbnZhbGlkSGV4Qm9vbGVhbkVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZEhleFZhbHVlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kaW5nX2pzXzEuSW52YWxpZEhleFZhbHVlRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJPZmZzZXRPdXRPZkJvdW5kc0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlbmNvZGluZ19qc18xLk9mZnNldE91dE9mQm91bmRzRXJyb3I7IH0gfSk7XG52YXIgZW5zX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMvZW5zLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlbnNfanNfMS5FbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3I7IH0gfSk7XG52YXIgZXN0aW1hdGVHYXNfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9lc3RpbWF0ZUdhcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkVzdGltYXRlR2FzRXhlY3V0aW9uRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVzdGltYXRlR2FzX2pzXzEuRXN0aW1hdGVHYXNFeGVjdXRpb25FcnJvcjsgfSB9KTtcbnZhciBub2RlX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMvbm9kZS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkV4ZWN1dGlvblJldmVydGVkRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5FeGVjdXRpb25SZXZlcnRlZEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRmVlQ2FwVG9vSGlnaEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBub2RlX2pzXzEuRmVlQ2FwVG9vSGlnaEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRmVlQ2FwVG9vTG93RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5GZWVDYXBUb29Mb3dFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkluc3VmZmljaWVudEZ1bmRzRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5JbnN1ZmZpY2llbnRGdW5kc0Vycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW50cmluc2ljR2FzVG9vSGlnaEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBub2RlX2pzXzEuSW50cmluc2ljR2FzVG9vSGlnaEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW50cmluc2ljR2FzVG9vTG93RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5JbnRyaW5zaWNHYXNUb29Mb3dFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk5vbmNlTWF4VmFsdWVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbm9kZV9qc18xLk5vbmNlTWF4VmFsdWVFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk5vbmNlVG9vSGlnaEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBub2RlX2pzXzEuTm9uY2VUb29IaWdoRXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJOb25jZVRvb0xvd0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBub2RlX2pzXzEuTm9uY2VUb29Mb3dFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRpcEFib3ZlRmVlQ2FwRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5UaXBBYm92ZUZlZUNhcEVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5UcmFuc2FjdGlvblR5cGVOb3RTdXBwb3J0ZWRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlVua25vd25Ob2RlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5vZGVfanNfMS5Vbmtub3duTm9kZUVycm9yOyB9IH0pO1xudmFyIGxvZ19qc18xID0gcmVxdWlyZShcIi4vZXJyb3JzL2xvZy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkZpbHRlclR5cGVOb3RTdXBwb3J0ZWRFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbG9nX2pzXzEuRmlsdGVyVHlwZU5vdFN1cHBvcnRlZEVycm9yOyB9IH0pO1xudmFyIHJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9yZXF1ZXN0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSHR0cFJlcXVlc3RFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWVzdF9qc18xLkh0dHBSZXF1ZXN0RXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJScGNSZXF1ZXN0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVlc3RfanNfMS5ScGNSZXF1ZXN0RXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUaW1lb3V0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVlc3RfanNfMS5UaW1lb3V0RXJyb3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJXZWJTb2NrZXRSZXF1ZXN0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVlc3RfanNfMS5XZWJTb2NrZXRSZXF1ZXN0RXJyb3I7IH0gfSk7XG52YXIgYWRkcmVzc19qc18yID0gcmVxdWlyZShcIi4vZXJyb3JzL2FkZHJlc3MuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnZhbGlkQWRkcmVzc0Vycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhZGRyZXNzX2pzXzIuSW52YWxpZEFkZHJlc3NFcnJvcjsgfSB9KTtcbnZhciB0cmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW52YWxpZExlZ2FjeVZFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25fanNfMS5JbnZhbGlkTGVnYWN5VkVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVHJhbnNhY3Rpb25FeGVjdXRpb25FcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25fanNfMS5UcmFuc2FjdGlvbkV4ZWN1dGlvbkVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvbl9qc18xLlRyYW5zYWN0aW9uTm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRyYW5zYWN0aW9uX2pzXzEuVHJhbnNhY3Rpb25SZWNlaXB0Tm90Rm91bmRFcnJvcjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIldhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRUaW1lb3V0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRyYW5zYWN0aW9uX2pzXzEuV2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdFRpbWVvdXRFcnJvcjsgfSB9KTtcbnZhciBkYXRhX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMvZGF0YS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlNpemVFeGNlZWRzUGFkZGluZ1NpemVFcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGF0YV9qc18xLlNpemVFeGNlZWRzUGFkZGluZ1NpemVFcnJvcjsgfSB9KTtcbnZhciB0cmFuc3BvcnRfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy90cmFuc3BvcnQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJVcmxSZXF1aXJlZEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc3BvcnRfanNfMS5VcmxSZXF1aXJlZEVycm9yOyB9IH0pO1xudmFyIGxhYmVsaGFzaF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZW5zL2xhYmVsaGFzaC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImxhYmVsaGFzaFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbGFiZWxoYXNoX2pzXzEubGFiZWxoYXNoOyB9IH0pO1xudmFyIG5hbWVoYXNoX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9lbnMvbmFtZWhhc2guanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJuYW1laGFzaFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbmFtZWhhc2hfanNfMS5uYW1laGFzaDsgfSB9KTtcbnZhciBibG9ja19qc18yID0gcmVxdWlyZShcIi4vdXRpbHMvZm9ybWF0dGVycy9ibG9jay5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmluZUJsb2NrXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBibG9ja19qc18yLmRlZmluZUJsb2NrOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0QmxvY2tcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGJsb2NrX2pzXzIuZm9ybWF0QmxvY2s7IH0gfSk7XG52YXIgbG9nX2pzXzIgPSByZXF1aXJlKFwiLi91dGlscy9mb3JtYXR0ZXJzL2xvZy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdExvZ1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbG9nX2pzXzIuZm9ybWF0TG9nOyB9IH0pO1xudmFyIGRlY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FiaS9kZWNvZGVBYmlQYXJhbWV0ZXJzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVjb2RlQWJpUGFyYW1ldGVyc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVjb2RlQWJpUGFyYW1ldGVyc19qc18xLmRlY29kZUFiaVBhcmFtZXRlcnM7IH0gfSk7XG52YXIgZGVjb2RlRGVwbG95RGF0YV9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvYWJpL2RlY29kZURlcGxveURhdGEuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWNvZGVEZXBsb3lEYXRhXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBkZWNvZGVEZXBsb3lEYXRhX2pzXzEuZGVjb2RlRGVwbG95RGF0YTsgfSB9KTtcbnZhciBkZWNvZGVFcnJvclJlc3VsdF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvYWJpL2RlY29kZUVycm9yUmVzdWx0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVjb2RlRXJyb3JSZXN1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlY29kZUVycm9yUmVzdWx0X2pzXzEuZGVjb2RlRXJyb3JSZXN1bHQ7IH0gfSk7XG52YXIgZGVjb2RlRXZlbnRMb2dfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FiaS9kZWNvZGVFdmVudExvZy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlY29kZUV2ZW50TG9nXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBkZWNvZGVFdmVudExvZ19qc18xLmRlY29kZUV2ZW50TG9nOyB9IH0pO1xudmFyIGRlY29kZUZ1bmN0aW9uRGF0YV9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uRGF0YS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlY29kZUZ1bmN0aW9uRGF0YVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVjb2RlRnVuY3Rpb25EYXRhX2pzXzEuZGVjb2RlRnVuY3Rpb25EYXRhOyB9IH0pO1xudmFyIGRlY29kZUZ1bmN0aW9uUmVzdWx0X2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWNvZGVGdW5jdGlvblJlc3VsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5kZWNvZGVGdW5jdGlvblJlc3VsdDsgfSB9KTtcbnZhciBlbmNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9hYmkvZW5jb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVuY29kZUFiaVBhcmFtZXRlcnNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMS5lbmNvZGVBYmlQYXJhbWV0ZXJzOyB9IH0pO1xudmFyIGVuY29kZURlcGxveURhdGFfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FiaS9lbmNvZGVEZXBsb3lEYXRhLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5jb2RlRGVwbG95RGF0YVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RlRGVwbG95RGF0YV9qc18xLmVuY29kZURlcGxveURhdGE7IH0gfSk7XG52YXIgZW5jb2RlRXJyb3JSZXN1bHRfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FiaS9lbmNvZGVFcnJvclJlc3VsdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVuY29kZUVycm9yUmVzdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlbmNvZGVFcnJvclJlc3VsdF9qc18xLmVuY29kZUVycm9yUmVzdWx0OyB9IH0pO1xudmFyIGVuY29kZUV2ZW50VG9waWNzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9hYmkvZW5jb2RlRXZlbnRUb3BpY3MuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbmNvZGVFdmVudFRvcGljc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RlRXZlbnRUb3BpY3NfanNfMS5lbmNvZGVFdmVudFRvcGljczsgfSB9KTtcbnZhciBlbmNvZGVGdW5jdGlvbkRhdGFfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FiaS9lbmNvZGVGdW5jdGlvbkRhdGEuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbmNvZGVGdW5jdGlvbkRhdGFcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xLmVuY29kZUZ1bmN0aW9uRGF0YTsgfSB9KTtcbnZhciBlbmNvZGVGdW5jdGlvblJlc3VsdF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uUmVzdWx0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5jb2RlRnVuY3Rpb25SZXN1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kZUZ1bmN0aW9uUmVzdWx0X2pzXzEuZW5jb2RlRnVuY3Rpb25SZXN1bHQ7IH0gfSk7XG52YXIgdHJhbnNhY3Rpb25fanNfMiA9IHJlcXVpcmUoXCIuL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb24uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZpbmVUcmFuc2FjdGlvblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25fanNfMi5kZWZpbmVUcmFuc2FjdGlvbjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdFRyYW5zYWN0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvbl9qc18yLmZvcm1hdFRyYW5zYWN0aW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidHJhbnNhY3Rpb25UeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvbl9qc18yLnRyYW5zYWN0aW9uVHlwZTsgfSB9KTtcbnZhciB0cmFuc2FjdGlvblJlY2VpcHRfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZWNlaXB0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmaW5lVHJhbnNhY3Rpb25SZWNlaXB0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvblJlY2VpcHRfanNfMS5kZWZpbmVUcmFuc2FjdGlvblJlY2VpcHQ7IH0gfSk7XG52YXIgdHJhbnNhY3Rpb25SZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmluZVRyYW5zYWN0aW9uUmVxdWVzdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25SZXF1ZXN0X2pzXzEuZGVmaW5lVHJhbnNhY3Rpb25SZXF1ZXN0OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvblJlcXVlc3RfanNfMS5mb3JtYXRUcmFuc2FjdGlvblJlcXVlc3Q7IH0gfSk7XG52YXIgZ2V0QWJpSXRlbV9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvYWJpL2dldEFiaUl0ZW0uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRBYmlJdGVtXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRBYmlJdGVtX2pzXzEuZ2V0QWJpSXRlbTsgfSB9KTtcbnZhciBnZXRDb250cmFjdEFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FkZHJlc3MvZ2V0Q29udHJhY3RBZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Q29udHJhY3RBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRDb250cmFjdEFkZHJlc3NfanNfMS5nZXRDb250cmFjdEFkZHJlc3M7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRDcmVhdGUyQWRkcmVzc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZ2V0Q29udHJhY3RBZGRyZXNzX2pzXzEuZ2V0Q3JlYXRlMkFkZHJlc3M7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRDcmVhdGVBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRDb250cmFjdEFkZHJlc3NfanNfMS5nZXRDcmVhdGVBZGRyZXNzOyB9IH0pO1xudmFyIGdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGVfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3RyYW5zYWN0aW9uL2dldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlX2pzXzEuZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZTsgfSB9KTtcbnZhciBnZXRUcmFuc2FjdGlvblR5cGVfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3RyYW5zYWN0aW9uL2dldFRyYW5zYWN0aW9uVHlwZS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFRyYW5zYWN0aW9uVHlwZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZ2V0VHJhbnNhY3Rpb25UeXBlX2pzXzEuZ2V0VHJhbnNhY3Rpb25UeXBlOyB9IH0pO1xudmFyIGhhc2hUeXBlZERhdGFfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3NpZ25hdHVyZS9oYXNoVHlwZWREYXRhLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaGFzaFR5cGVkRGF0YVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaGFzaFR5cGVkRGF0YV9qc18xLmhhc2hUeXBlZERhdGE7IH0gfSk7XG52YXIgcmVjb3ZlckFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3NpZ25hdHVyZS9yZWNvdmVyQWRkcmVzcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlY292ZXJBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZWNvdmVyQWRkcmVzc19qc18xLnJlY292ZXJBZGRyZXNzOyB9IH0pO1xudmFyIHJlY292ZXJNZXNzYWdlQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvc2lnbmF0dXJlL3JlY292ZXJNZXNzYWdlQWRkcmVzcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlY292ZXJNZXNzYWdlQWRkcmVzc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVjb3Zlck1lc3NhZ2VBZGRyZXNzX2pzXzEucmVjb3Zlck1lc3NhZ2VBZGRyZXNzOyB9IH0pO1xudmFyIHJlY292ZXJQdWJsaWNLZXlfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3NpZ25hdHVyZS9yZWNvdmVyUHVibGljS2V5LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVjb3ZlclB1YmxpY0tleVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVjb3ZlclB1YmxpY0tleV9qc18xLnJlY292ZXJQdWJsaWNLZXk7IH0gfSk7XG52YXIgcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3NpZ25hdHVyZS9yZWNvdmVyVHlwZWREYXRhQWRkcmVzcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlY292ZXJUeXBlZERhdGFBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZWNvdmVyVHlwZWREYXRhQWRkcmVzc19qc18xLnJlY292ZXJUeXBlZERhdGFBZGRyZXNzOyB9IH0pO1xudmFyIHRvUmxwX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9lbmNvZGluZy90b1JscC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInRvUmxwXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b1JscF9qc18xLnRvUmxwOyB9IH0pO1xudmFyIHZlcmlmeU1lc3NhZ2VfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3NpZ25hdHVyZS92ZXJpZnlNZXNzYWdlLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidmVyaWZ5TWVzc2FnZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdmVyaWZ5TWVzc2FnZV9qc18xLnZlcmlmeU1lc3NhZ2U7IH0gfSk7XG52YXIgdmVyaWZ5VHlwZWREYXRhX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9zaWduYXR1cmUvdmVyaWZ5VHlwZWREYXRhLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidmVyaWZ5VHlwZWREYXRhXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB2ZXJpZnlUeXBlZERhdGFfanNfMS52ZXJpZnlUeXBlZERhdGE7IH0gfSk7XG52YXIgYXNzZXJ0UmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvdHJhbnNhY3Rpb24vYXNzZXJ0UmVxdWVzdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFzc2VydFJlcXVlc3RcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzc2VydFJlcXVlc3RfanNfMS5hc3NlcnRSZXF1ZXN0OyB9IH0pO1xudmFyIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRUcmFuc2FjdGlvbi5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYXNzZXJ0VHJhbnNhY3Rpb25fanNfMS5hc3NlcnRUcmFuc2FjdGlvbkVJUDE1NTk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzBcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEuYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3lcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEuYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3k7IH0gfSk7XG52YXIgdG9CeXRlc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZW5jb2RpbmcvdG9CeXRlcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImJvb2xUb0J5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0J5dGVzX2pzXzEuYm9vbFRvQnl0ZXM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoZXhUb0J5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0J5dGVzX2pzXzEuaGV4VG9CeXRlczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm51bWJlclRvQnl0ZXNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvQnl0ZXNfanNfMS5udW1iZXJUb0J5dGVzOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3RyaW5nVG9CeXRlc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9CeXRlc19qc18xLnN0cmluZ1RvQnl0ZXM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ0b0J5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0J5dGVzX2pzXzEudG9CeXRlczsgfSB9KTtcbnZhciB0b0hleF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJib29sVG9IZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvSGV4X2pzXzEuYm9vbFRvSGV4OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYnl0ZXNUb0hleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9IZXhfanNfMS5ieXRlc1RvSGV4OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibnVtYmVyVG9IZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvSGV4X2pzXzEubnVtYmVyVG9IZXg7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHJpbmdUb0hleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9IZXhfanNfMS5zdHJpbmdUb0hleDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInRvSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0hleF9qc18xLnRvSGV4OyB9IH0pO1xudmFyIGZyb21CeXRlc19qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZW5jb2RpbmcvZnJvbUJ5dGVzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYnl0ZXNUb0JpZ2ludFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUJ5dGVzX2pzXzEuYnl0ZXNUb0JpZ2ludDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImJ5dGVzVG9Cb29sXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tQnl0ZXNfanNfMS5ieXRlc1RvQm9vbDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImJ5dGVzVG9OdW1iZXJcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZyb21CeXRlc19qc18xLmJ5dGVzVG9OdW1iZXI7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJieXRlc1RvU3RyaW5nXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tQnl0ZXNfanNfMS5ieXRlc1RvU3RyaW5nOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZnJvbUJ5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tQnl0ZXNfanNfMS5mcm9tQnl0ZXM7IH0gfSk7XG52YXIgY2NpcF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvY2NpcC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNjaXBGZXRjaFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2NpcF9qc18xLmNjaXBGZXRjaDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm9mZmNoYWluTG9va3VwXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjY2lwX2pzXzEub2ZmY2hhaW5Mb29rdXA7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJvZmZjaGFpbkxvb2t1cEFiaUl0ZW1cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNjaXBfanNfMS5vZmZjaGFpbkxvb2t1cEFiaUl0ZW07IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJvZmZjaGFpbkxvb2t1cFNpZ25hdHVyZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2NpcF9qc18xLm9mZmNoYWluTG9va3VwU2lnbmF0dXJlOyB9IH0pO1xudmFyIGNvbmNhdF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZGF0YS9jb25jYXQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjb25jYXRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmNhdF9qc18xLmNvbmNhdDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNvbmNhdEJ5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjb25jYXRfanNfMS5jb25jYXRCeXRlczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNvbmNhdEhleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY29uY2F0X2pzXzEuY29uY2F0SGV4OyB9IH0pO1xudmFyIGNoYWluX2pzXzIgPSByZXF1aXJlKFwiLi91dGlscy9jaGFpbi5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFzc2VydEN1cnJlbnRDaGFpblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2hhaW5fanNfMi5hc3NlcnRDdXJyZW50Q2hhaW47IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZpbmVDaGFpblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2hhaW5fanNfMi5kZWZpbmVDaGFpbjsgfSB9KTtcbnZhciBlbmNvZGVQYWNrZWRfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FiaS9lbmNvZGVQYWNrZWQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbmNvZGVQYWNrZWRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kZVBhY2tlZF9qc18xLmVuY29kZVBhY2tlZDsgfSB9KTtcbnZhciBmb3JtYXRFdGhlcl9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvdW5pdC9mb3JtYXRFdGhlci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdEV0aGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXRFdGhlcl9qc18xLmZvcm1hdEV0aGVyOyB9IH0pO1xudmFyIGZvcm1hdEd3ZWlfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdEd3ZWlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdEd3ZWlfanNfMS5mb3JtYXRHd2VpOyB9IH0pO1xudmFyIGZvcm1hdFVuaXRzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy91bml0L2Zvcm1hdFVuaXRzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0VW5pdHNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdFVuaXRzX2pzXzEuZm9ybWF0VW5pdHM7IH0gfSk7XG52YXIgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZW5jb2RpbmcvZnJvbUhleC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZyb21IZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZyb21IZXhfanNfMS5mcm9tSGV4OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaGV4VG9CaWdJbnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZyb21IZXhfanNfMS5oZXhUb0JpZ0ludDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhleFRvQm9vbFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUhleF9qc18xLmhleFRvQm9vbDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhleFRvTnVtYmVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tSGV4X2pzXzEuaGV4VG9OdW1iZXI7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoZXhUb1N0cmluZ1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUhleF9qc18xLmhleFRvU3RyaW5nOyB9IH0pO1xudmFyIGZyb21SbHBfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2VuY29kaW5nL2Zyb21SbHAuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmcm9tUmxwXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tUmxwX2pzXzEuZnJvbVJscDsgfSB9KTtcbnZhciBnZXRBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9hZGRyZXNzL2dldEFkZHJlc3MuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRBZGRyZXNzX2pzXzEuZ2V0QWRkcmVzczsgfSB9KTtcbnZhciBnZXRDb250cmFjdEVycm9yX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldENvbnRyYWN0RXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldENvbnRyYWN0RXJyb3JfanNfMS5nZXRDb250cmFjdEVycm9yOyB9IH0pO1xudmFyIGdldEV2ZW50U2VsZWN0b3JfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2hhc2gvZ2V0RXZlbnRTZWxlY3Rvci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEV2ZW50U2VsZWN0b3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEV2ZW50U2VsZWN0b3JfanNfMS5nZXRFdmVudFNlbGVjdG9yOyB9IH0pO1xudmFyIGdldEZ1bmN0aW9uU2VsZWN0b3JfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2hhc2gvZ2V0RnVuY3Rpb25TZWxlY3Rvci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEZ1bmN0aW9uU2VsZWN0b3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEZ1bmN0aW9uU2VsZWN0b3JfanNfMS5nZXRGdW5jdGlvblNlbGVjdG9yOyB9IH0pO1xudmFyIGhhc2hNZXNzYWdlX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9zaWduYXR1cmUvaGFzaE1lc3NhZ2UuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYXNoTWVzc2FnZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaGFzaE1lc3NhZ2VfanNfMS5oYXNoTWVzc2FnZTsgfSB9KTtcbnZhciBpc0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FkZHJlc3MvaXNBZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpc0FkZHJlc3NfanNfMS5pc0FkZHJlc3M7IH0gfSk7XG52YXIgaXNBZGRyZXNzRXF1YWxfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2FkZHJlc3MvaXNBZGRyZXNzRXF1YWwuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0FkZHJlc3NFcXVhbFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaXNBZGRyZXNzRXF1YWxfanNfMS5pc0FkZHJlc3NFcXVhbDsgfSB9KTtcbnZhciBpc0J5dGVzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9kYXRhL2lzQnl0ZXMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0J5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpc0J5dGVzX2pzXzEuaXNCeXRlczsgfSB9KTtcbnZhciBpc0hhc2hfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2hhc2gvaXNIYXNoLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNIYXNoXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpc0hhc2hfanNfMS5pc0hhc2g7IH0gfSk7XG52YXIgaXNIZXhfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2RhdGEvaXNIZXguanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0hleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gaXNIZXhfanNfMS5pc0hleDsgfSB9KTtcbnZhciBrZWNjYWsyNTZfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2hhc2gva2VjY2FrMjU2LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwia2VjY2FrMjU2XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTY7IH0gfSk7XG52YXIgcGFkX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy9kYXRhL3BhZC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhZFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFkX2pzXzEucGFkOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFkQnl0ZXNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhZF9qc18xLnBhZEJ5dGVzOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFkSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBwYWRfanNfMS5wYWRIZXg7IH0gfSk7XG52YXIgcGFyc2VFdGhlcl9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvdW5pdC9wYXJzZUV0aGVyLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VFdGhlclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VFdGhlcl9qc18xLnBhcnNlRXRoZXI7IH0gfSk7XG52YXIgcGFyc2VHd2VpX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy91bml0L3BhcnNlR3dlaS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlR3dlaVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VHd2VpX2pzXzEucGFyc2VHd2VpOyB9IH0pO1xudmFyIHBhcnNlVHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3RyYW5zYWN0aW9uL3BhcnNlVHJhbnNhY3Rpb24uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZVRyYW5zYWN0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBwYXJzZVRyYW5zYWN0aW9uX2pzXzEucGFyc2VUcmFuc2FjdGlvbjsgfSB9KTtcbnZhciBwYXJzZVVuaXRzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy91bml0L3BhcnNlVW5pdHMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZVVuaXRzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBwYXJzZVVuaXRzX2pzXzEucGFyc2VVbml0czsgfSB9KTtcbnZhciBwcmVwYXJlUmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvdHJhbnNhY3Rpb24vcHJlcGFyZVJlcXVlc3QuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwcmVwYXJlUmVxdWVzdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJlcGFyZVJlcXVlc3RfanNfMS5wcmVwYXJlUmVxdWVzdDsgfSB9KTtcbnZhciBzZXJpYWxpemVBY2Nlc3NMaXN0X2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVBY2Nlc3NMaXN0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic2VyaWFsaXplQWNjZXNzTGlzdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2VyaWFsaXplQWNjZXNzTGlzdF9qc18xLnNlcmlhbGl6ZUFjY2Vzc0xpc3Q7IH0gfSk7XG52YXIgc2VyaWFsaXplVHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL3RyYW5zYWN0aW9uL3NlcmlhbGl6ZVRyYW5zYWN0aW9uLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic2VyaWFsaXplVHJhbnNhY3Rpb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNlcmlhbGl6ZVRyYW5zYWN0aW9uX2pzXzEuc2VyaWFsaXplVHJhbnNhY3Rpb247IH0gfSk7XG52YXIgc2l6ZV9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZGF0YS9zaXplLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic2l6ZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2l6ZV9qc18xLnNpemU7IH0gfSk7XG52YXIgc2xpY2VfanNfMSA9IHJlcXVpcmUoXCIuL3V0aWxzL2RhdGEvc2xpY2UuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzbGljZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2xpY2VfanNfMS5zbGljZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNsaWNlQnl0ZXNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNsaWNlX2pzXzEuc2xpY2VCeXRlczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNsaWNlSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzbGljZV9qc18xLnNsaWNlSGV4OyB9IH0pO1xudmFyIHN0cmluZ2lmeV9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvc3RyaW5naWZ5LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3RyaW5naWZ5XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzdHJpbmdpZnlfanNfMS5zdHJpbmdpZnk7IH0gfSk7XG52YXIgdHJpbV9qc18xID0gcmVxdWlyZShcIi4vdXRpbHMvZGF0YS90cmltLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidHJpbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJpbV9qc18xLnRyaW07IH0gfSk7XG52YXIgdHlwZWREYXRhX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy90eXBlZERhdGEuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ2YWxpZGF0ZVR5cGVkRGF0YVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZWREYXRhX2pzXzEudmFsaWRhdGVUeXBlZERhdGE7IH0gfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/index.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeAbiParameters = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst getAddress_js_1 = __webpack_require__(/*! ../address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nconst size_js_1 = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst trim_js_1 = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nfunction decodeAbiParameters(params, data) {\n if (data === '0x' && params.length > 0)\n throw new abi_js_1.AbiDecodingZeroDataError();\n if ((0, size_js_1.size)(data) && (0, size_js_1.size)(data) < 32)\n throw new abi_js_1.AbiDecodingDataSizeTooSmallError({\n data,\n params: params,\n size: (0, size_js_1.size)(data),\n });\n return decodeParams({\n data,\n params: params,\n });\n}\nexports.decodeAbiParameters = decodeAbiParameters;\nfunction decodeParams({ data, params, }) {\n const decodedValues = [];\n let position = 0;\n for (let i = 0; i < params.length; i++) {\n if (position >= (0, size_js_1.size)(data))\n throw new abi_js_1.AbiDecodingDataSizeTooSmallError({\n data,\n params,\n size: (0, size_js_1.size)(data),\n });\n const param = params[i];\n const { consumed, value } = decodeParam({ data, param, position });\n decodedValues.push(value);\n position += consumed;\n }\n return decodedValues;\n}\nfunction decodeParam({ data, param, position, }) {\n const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type);\n if (arrayComponents) {\n const [length, type] = arrayComponents;\n return decodeArray(data, {\n length,\n param: { ...param, type: type },\n position,\n });\n }\n if (param.type === 'tuple') {\n return decodeTuple(data, { param: param, position });\n }\n if (param.type === 'string') {\n return decodeString(data, { position });\n }\n if (param.type.startsWith('bytes')) {\n return decodeBytes(data, { param, position });\n }\n const value = (0, slice_js_1.slice)(data, position, position + 32, { strict: true });\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n return decodeNumber(value, { param });\n }\n if (param.type === 'address') {\n return decodeAddress(value);\n }\n if (param.type === 'bool') {\n return decodeBool(value);\n }\n throw new abi_js_1.InvalidAbiDecodingTypeError(param.type, {\n docsPath: '/docs/contract/decodeAbiParameters',\n });\n}\nfunction decodeAddress(value) {\n return { consumed: 32, value: (0, getAddress_js_1.checksumAddress)((0, slice_js_1.slice)(value, -20)) };\n}\nfunction decodeArray(data, { param, length, position, }) {\n if (!length) {\n const offset = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, position, position + 32, { strict: true }));\n const length = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, offset, offset + 32, { strict: true }));\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const decodedChild = decodeParam({\n data: (0, slice_js_1.slice)(data, offset + 32),\n param,\n position: consumed,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed: 32 };\n }\n if (hasDynamicChild(param)) {\n const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type);\n const dynamicChild = !arrayComponents?.[0];\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const offset = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, position, position + 32, { strict: true }));\n const decodedChild = decodeParam({\n data: (0, slice_js_1.slice)(data, offset),\n param,\n position: dynamicChild ? consumed : i * 32,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed: 32 };\n }\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const decodedChild = decodeParam({\n data,\n param,\n position: position + consumed,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed };\n}\nfunction decodeBool(value) {\n return { consumed: 32, value: (0, fromHex_js_1.hexToBool)(value) };\n}\nfunction decodeBytes(data, { param, position }) {\n const [_, size] = param.type.split('bytes');\n if (!size) {\n const offset = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, position, position + 32, { strict: true }));\n const length = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, offset, offset + 32, { strict: true }));\n if (length === 0)\n return { consumed: 32, value: '0x' };\n const value = (0, slice_js_1.slice)(data, offset + 32, offset + 32 + length, {\n strict: true,\n });\n return { consumed: 32, value };\n }\n const value = (0, slice_js_1.slice)(data, position, position + parseInt(size), {\n strict: true,\n });\n return { consumed: 32, value };\n}\nfunction decodeNumber(value, { param }) {\n const signed = param.type.startsWith('int');\n const size = parseInt(param.type.split('int')[1] || '256');\n return {\n consumed: 32,\n value: size > 48\n ? (0, fromHex_js_1.hexToBigInt)(value, { signed })\n : (0, fromHex_js_1.hexToNumber)(value, { signed }),\n };\n}\nfunction decodeString(data, { position }) {\n const offset = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, position, position + 32, { strict: true }));\n const length = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, offset, offset + 32, { strict: true }));\n if (length === 0)\n return { consumed: 32, value: '' };\n const value = (0, fromHex_js_1.hexToString)((0, trim_js_1.trim)((0, slice_js_1.slice)(data, offset + 32, offset + 32 + length, { strict: true })));\n return { consumed: 32, value };\n}\nfunction decodeTuple(data, { param, position }) {\n const hasUnnamedChild = param.components.length === 0 || param.components.some(({ name }) => !name);\n const value = hasUnnamedChild ? [] : {};\n let consumed = 0;\n if (hasDynamicChild(param)) {\n const offset = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(data, position, position + 32, { strict: true }));\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i];\n const decodedChild = decodeParam({\n data: (0, slice_js_1.slice)(data, offset),\n param: component,\n position: consumed,\n });\n consumed += decodedChild.consumed;\n value[hasUnnamedChild ? i : component?.name] = decodedChild.value;\n }\n return { consumed: 32, value };\n }\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i];\n const decodedChild = decodeParam({\n data,\n param: component,\n position: position + consumed,\n });\n consumed += decodedChild.consumed;\n value[hasUnnamedChild ? i : component?.name] = decodedChild.value;\n }\n return { consumed, value };\n}\nfunction hasDynamicChild(param) {\n const { type } = param;\n if (type === 'string')\n return true;\n if (type === 'bytes')\n return true;\n if (type.endsWith('[]'))\n return true;\n if (type === 'tuple')\n return param.components?.some(hasDynamicChild);\n const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type);\n if (arrayComponents &&\n hasDynamicChild({ ...param, type: arrayComponents[1] }))\n return true;\n return false;\n}\n//# sourceMappingURL=decodeAbiParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlQWJpUGFyYW1ldGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkI7QUFDM0IsaUJBQWlCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzlDLHdCQUF3QixtQkFBTyxDQUFDLDBGQUEwQjtBQUMxRCxrQkFBa0IsbUJBQU8sQ0FBQyx3RUFBaUI7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLGtCQUFrQixtQkFBTyxDQUFDLHdFQUFpQjtBQUMzQyxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQTBCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsMkJBQTJCO0FBQzNCLHdCQUF3QixlQUFlO0FBQ3ZDO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxnQkFBZ0Isa0JBQWtCLGdCQUFnQix1QkFBdUI7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qix3QkFBd0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixzQkFBc0I7QUFDM0M7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG1DQUFtQyx3QkFBd0I7QUFDM0Q7QUFDQTtBQUNBLG9DQUFvQyxVQUFVO0FBQzlDO0FBQ0E7QUFDQSxtQ0FBbUMsaUJBQWlCO0FBQ3BEO0FBQ0EseUVBQXlFLGNBQWM7QUFDdkY7QUFDQSxxQ0FBcUMsT0FBTztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLDZCQUE2QiwwQkFBMEI7QUFDdkQ7QUFDQSw0R0FBNEcsY0FBYztBQUMxSCx3R0FBd0csY0FBYztBQUN0SDtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLGdIQUFnSCxjQUFjO0FBQzlIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsWUFBWTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLDZCQUE2QixpQkFBaUI7QUFDOUM7QUFDQTtBQUNBLDRHQUE0RyxjQUFjO0FBQzFILHdHQUF3RyxjQUFjO0FBQ3RIO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxhQUFhO0FBQ2I7QUFDQSwrQkFBK0IsT0FBTztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFELFFBQVE7QUFDN0QscURBQXFELFFBQVE7QUFDN0Q7QUFDQTtBQUNBLDhCQUE4QixVQUFVO0FBQ3hDLHdHQUF3RyxjQUFjO0FBQ3RILG9HQUFvRyxjQUFjO0FBQ2xIO0FBQ0EsaUJBQWlCO0FBQ2pCLHFJQUFxSSxjQUFjO0FBQ25KLGFBQWE7QUFDYjtBQUNBLDZCQUE2QixpQkFBaUI7QUFDOUMsc0ZBQXNGLE1BQU07QUFDNUY7QUFDQTtBQUNBO0FBQ0EsNEdBQTRHLGNBQWM7QUFDMUgsd0JBQXdCLDZCQUE2QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixvQ0FBb0M7QUFDOUQ7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWJpL2RlY29kZUFiaVBhcmFtZXRlcnMuanM/NTc5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVjb2RlQWJpUGFyYW1ldGVycyA9IHZvaWQgMDtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBnZXRBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi4vYWRkcmVzcy9nZXRBZGRyZXNzLmpzXCIpO1xuY29uc3Qgc2l6ZV9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvc2l6ZS5qc1wiKTtcbmNvbnN0IHNsaWNlX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9zbGljZS5qc1wiKTtcbmNvbnN0IHRyaW1fanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL3RyaW0uanNcIik7XG5jb25zdCBmcm9tSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZW5jb2RpbmcvZnJvbUhleC5qc1wiKTtcbmNvbnN0IGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL2VuY29kZUFiaVBhcmFtZXRlcnMuanNcIik7XG5mdW5jdGlvbiBkZWNvZGVBYmlQYXJhbWV0ZXJzKHBhcmFtcywgZGF0YSkge1xuICAgIGlmIChkYXRhID09PSAnMHgnICYmIHBhcmFtcy5sZW5ndGggPiAwKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yKCk7XG4gICAgaWYgKCgwLCBzaXplX2pzXzEuc2l6ZSkoZGF0YSkgJiYgKDAsIHNpemVfanNfMS5zaXplKShkYXRhKSA8IDMyKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3Ioe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgICAgICAgc2l6ZTogKDAsIHNpemVfanNfMS5zaXplKShkYXRhKSxcbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIGRlY29kZVBhcmFtcyh7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgIH0pO1xufVxuZXhwb3J0cy5kZWNvZGVBYmlQYXJhbWV0ZXJzID0gZGVjb2RlQWJpUGFyYW1ldGVycztcbmZ1bmN0aW9uIGRlY29kZVBhcmFtcyh7IGRhdGEsIHBhcmFtcywgfSkge1xuICAgIGNvbnN0IGRlY29kZWRWYWx1ZXMgPSBbXTtcbiAgICBsZXQgcG9zaXRpb24gPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwb3NpdGlvbiA+PSAoMCwgc2l6ZV9qc18xLnNpemUpKGRhdGEpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaURlY29kaW5nRGF0YVNpemVUb29TbWFsbEVycm9yKHtcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICBzaXplOiAoMCwgc2l6ZV9qc18xLnNpemUpKGRhdGEpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gcGFyYW1zW2ldO1xuICAgICAgICBjb25zdCB7IGNvbnN1bWVkLCB2YWx1ZSB9ID0gZGVjb2RlUGFyYW0oeyBkYXRhLCBwYXJhbSwgcG9zaXRpb24gfSk7XG4gICAgICAgIGRlY29kZWRWYWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIHBvc2l0aW9uICs9IGNvbnN1bWVkO1xuICAgIH1cbiAgICByZXR1cm4gZGVjb2RlZFZhbHVlcztcbn1cbmZ1bmN0aW9uIGRlY29kZVBhcmFtKHsgZGF0YSwgcGFyYW0sIHBvc2l0aW9uLCB9KSB7XG4gICAgY29uc3QgYXJyYXlDb21wb25lbnRzID0gKDAsIGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMS5nZXRBcnJheUNvbXBvbmVudHMpKHBhcmFtLnR5cGUpO1xuICAgIGlmIChhcnJheUNvbXBvbmVudHMpIHtcbiAgICAgICAgY29uc3QgW2xlbmd0aCwgdHlwZV0gPSBhcnJheUNvbXBvbmVudHM7XG4gICAgICAgIHJldHVybiBkZWNvZGVBcnJheShkYXRhLCB7XG4gICAgICAgICAgICBsZW5ndGgsXG4gICAgICAgICAgICBwYXJhbTogeyAuLi5wYXJhbSwgdHlwZTogdHlwZSB9LFxuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ3R1cGxlJykge1xuICAgICAgICByZXR1cm4gZGVjb2RlVHVwbGUoZGF0YSwgeyBwYXJhbTogcGFyYW0sIHBvc2l0aW9uIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZVN0cmluZyhkYXRhLCB7IHBvc2l0aW9uIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZS5zdGFydHNXaXRoKCdieXRlcycpKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVCeXRlcyhkYXRhLCB7IHBhcmFtLCBwb3NpdGlvbiB9KTtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSAoMCwgc2xpY2VfanNfMS5zbGljZSkoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pO1xuICAgIGlmIChwYXJhbS50eXBlLnN0YXJ0c1dpdGgoJ3VpbnQnKSB8fCBwYXJhbS50eXBlLnN0YXJ0c1dpdGgoJ2ludCcpKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVOdW1iZXIodmFsdWUsIHsgcGFyYW0gfSk7XG4gICAgfVxuICAgIGlmIChwYXJhbS50eXBlID09PSAnYWRkcmVzcycpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZUFkZHJlc3ModmFsdWUpO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ2Jvb2wnKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVCb29sKHZhbHVlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IGFiaV9qc18xLkludmFsaWRBYmlEZWNvZGluZ1R5cGVFcnJvcihwYXJhbS50eXBlLCB7XG4gICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZGVjb2RlQWJpUGFyYW1ldGVycycsXG4gICAgfSk7XG59XG5mdW5jdGlvbiBkZWNvZGVBZGRyZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHsgY29uc3VtZWQ6IDMyLCB2YWx1ZTogKDAsIGdldEFkZHJlc3NfanNfMS5jaGVja3N1bUFkZHJlc3MpKCgwLCBzbGljZV9qc18xLnNsaWNlKSh2YWx1ZSwgLTIwKSkgfTtcbn1cbmZ1bmN0aW9uIGRlY29kZUFycmF5KGRhdGEsIHsgcGFyYW0sIGxlbmd0aCwgcG9zaXRpb24sIH0pIHtcbiAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKSgoMCwgc2xpY2VfanNfMS5zbGljZSkoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikoKDAsIHNsaWNlX2pzXzEuc2xpY2UpKGRhdGEsIG9mZnNldCwgb2Zmc2V0ICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICAgICAgbGV0IGNvbnN1bWVkID0gMDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZENoaWxkID0gZGVjb2RlUGFyYW0oe1xuICAgICAgICAgICAgICAgIGRhdGE6ICgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCBvZmZzZXQgKyAzMiksXG4gICAgICAgICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGNvbnN1bWVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdW1lZCArPSBkZWNvZGVkQ2hpbGQuY29uc3VtZWQ7XG4gICAgICAgICAgICB2YWx1ZS5wdXNoKGRlY29kZWRDaGlsZC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgdmFsdWUsIGNvbnN1bWVkOiAzMiB9O1xuICAgIH1cbiAgICBpZiAoaGFzRHluYW1pY0NoaWxkKHBhcmFtKSkge1xuICAgICAgICBjb25zdCBhcnJheUNvbXBvbmVudHMgPSAoMCwgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xLmdldEFycmF5Q29tcG9uZW50cykocGFyYW0udHlwZSk7XG4gICAgICAgIGNvbnN0IGR5bmFtaWNDaGlsZCA9ICFhcnJheUNvbXBvbmVudHM/LlswXTtcbiAgICAgICAgbGV0IGNvbnN1bWVkID0gMDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikoKDAsIHNsaWNlX2pzXzEuc2xpY2UpKGRhdGEsIHBvc2l0aW9uLCBwb3NpdGlvbiArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVkQ2hpbGQgPSBkZWNvZGVQYXJhbSh7XG4gICAgICAgICAgICAgICAgZGF0YTogKDAsIHNsaWNlX2pzXzEuc2xpY2UpKGRhdGEsIG9mZnNldCksXG4gICAgICAgICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGR5bmFtaWNDaGlsZCA/IGNvbnN1bWVkIDogaSAqIDMyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdW1lZCArPSBkZWNvZGVkQ2hpbGQuY29uc3VtZWQ7XG4gICAgICAgICAgICB2YWx1ZS5wdXNoKGRlY29kZWRDaGlsZC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgdmFsdWUsIGNvbnN1bWVkOiAzMiB9O1xuICAgIH1cbiAgICBsZXQgY29uc3VtZWQgPSAwO1xuICAgIGNvbnN0IHZhbHVlID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBkZWNvZGVkQ2hpbGQgPSBkZWNvZGVQYXJhbSh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24gKyBjb25zdW1lZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN1bWVkICs9IGRlY29kZWRDaGlsZC5jb25zdW1lZDtcbiAgICAgICAgdmFsdWUucHVzaChkZWNvZGVkQ2hpbGQudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZSwgY29uc3VtZWQgfTtcbn1cbmZ1bmN0aW9uIGRlY29kZUJvb2wodmFsdWUpIHtcbiAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlOiAoMCwgZnJvbUhleF9qc18xLmhleFRvQm9vbCkodmFsdWUpIH07XG59XG5mdW5jdGlvbiBkZWNvZGVCeXRlcyhkYXRhLCB7IHBhcmFtLCBwb3NpdGlvbiB9KSB7XG4gICAgY29uc3QgW18sIHNpemVdID0gcGFyYW0udHlwZS5zcGxpdCgnYnl0ZXMnKTtcbiAgICBpZiAoIXNpemUpIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikoKDAsIHNsaWNlX2pzXzEuc2xpY2UpKGRhdGEsIHBvc2l0aW9uLCBwb3NpdGlvbiArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9OdW1iZXIpKCgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCBvZmZzZXQsIG9mZnNldCArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgICAgIGlmIChsZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlOiAnMHgnIH07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gKDAsIHNsaWNlX2pzXzEuc2xpY2UpKGRhdGEsIG9mZnNldCArIDMyLCBvZmZzZXQgKyAzMiArIGxlbmd0aCwge1xuICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHsgY29uc3VtZWQ6IDMyLCB2YWx1ZSB9O1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9ICgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCBwb3NpdGlvbiwgcG9zaXRpb24gKyBwYXJzZUludChzaXplKSwge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsgY29uc3VtZWQ6IDMyLCB2YWx1ZSB9O1xufVxuZnVuY3Rpb24gZGVjb2RlTnVtYmVyKHZhbHVlLCB7IHBhcmFtIH0pIHtcbiAgICBjb25zdCBzaWduZWQgPSBwYXJhbS50eXBlLnN0YXJ0c1dpdGgoJ2ludCcpO1xuICAgIGNvbnN0IHNpemUgPSBwYXJzZUludChwYXJhbS50eXBlLnNwbGl0KCdpbnQnKVsxXSB8fCAnMjU2Jyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29uc3VtZWQ6IDMyLFxuICAgICAgICB2YWx1ZTogc2l6ZSA+IDQ4XG4gICAgICAgICAgICA/ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9CaWdJbnQpKHZhbHVlLCB7IHNpZ25lZCB9KVxuICAgICAgICAgICAgOiAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKSh2YWx1ZSwgeyBzaWduZWQgfSksXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGRlY29kZVN0cmluZyhkYXRhLCB7IHBvc2l0aW9uIH0pIHtcbiAgICBjb25zdCBvZmZzZXQgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKSgoMCwgc2xpY2VfanNfMS5zbGljZSkoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICBjb25zdCBsZW5ndGggPSAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKSgoMCwgc2xpY2VfanNfMS5zbGljZSkoZGF0YSwgb2Zmc2V0LCBvZmZzZXQgKyAzMiwgeyBzdHJpY3Q6IHRydWUgfSkpO1xuICAgIGlmIChsZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiB7IGNvbnN1bWVkOiAzMiwgdmFsdWU6ICcnIH07XG4gICAgY29uc3QgdmFsdWUgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvU3RyaW5nKSgoMCwgdHJpbV9qc18xLnRyaW0pKCgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCBvZmZzZXQgKyAzMiwgb2Zmc2V0ICsgMzIgKyBsZW5ndGgsIHsgc3RyaWN0OiB0cnVlIH0pKSk7XG4gICAgcmV0dXJuIHsgY29uc3VtZWQ6IDMyLCB2YWx1ZSB9O1xufVxuZnVuY3Rpb24gZGVjb2RlVHVwbGUoZGF0YSwgeyBwYXJhbSwgcG9zaXRpb24gfSkge1xuICAgIGNvbnN0IGhhc1VubmFtZWRDaGlsZCA9IHBhcmFtLmNvbXBvbmVudHMubGVuZ3RoID09PSAwIHx8IHBhcmFtLmNvbXBvbmVudHMuc29tZSgoeyBuYW1lIH0pID0+ICFuYW1lKTtcbiAgICBjb25zdCB2YWx1ZSA9IGhhc1VubmFtZWRDaGlsZCA/IFtdIDoge307XG4gICAgbGV0IGNvbnN1bWVkID0gMDtcbiAgICBpZiAoaGFzRHluYW1pY0NoaWxkKHBhcmFtKSkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKSgoMCwgc2xpY2VfanNfMS5zbGljZSkoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbS5jb21wb25lbnRzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBwYXJhbS5jb21wb25lbnRzW2ldO1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZENoaWxkID0gZGVjb2RlUGFyYW0oe1xuICAgICAgICAgICAgICAgIGRhdGE6ICgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCBvZmZzZXQpLFxuICAgICAgICAgICAgICAgIHBhcmFtOiBjb21wb25lbnQsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGNvbnN1bWVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdW1lZCArPSBkZWNvZGVkQ2hpbGQuY29uc3VtZWQ7XG4gICAgICAgICAgICB2YWx1ZVtoYXNVbm5hbWVkQ2hpbGQgPyBpIDogY29tcG9uZW50Py5uYW1lXSA9IGRlY29kZWRDaGlsZC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlIH07XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW0uY29tcG9uZW50cy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBwYXJhbS5jb21wb25lbnRzW2ldO1xuICAgICAgICBjb25zdCBkZWNvZGVkQ2hpbGQgPSBkZWNvZGVQYXJhbSh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyYW06IGNvbXBvbmVudCxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBwb3NpdGlvbiArIGNvbnN1bWVkLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3VtZWQgKz0gZGVjb2RlZENoaWxkLmNvbnN1bWVkO1xuICAgICAgICB2YWx1ZVtoYXNVbm5hbWVkQ2hpbGQgPyBpIDogY29tcG9uZW50Py5uYW1lXSA9IGRlY29kZWRDaGlsZC52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY29uc3VtZWQsIHZhbHVlIH07XG59XG5mdW5jdGlvbiBoYXNEeW5hbWljQ2hpbGQocGFyYW0pIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHBhcmFtO1xuICAgIGlmICh0eXBlID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKHR5cGUgPT09ICdieXRlcycpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICh0eXBlLmVuZHNXaXRoKCdbXScpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodHlwZSA9PT0gJ3R1cGxlJylcbiAgICAgICAgcmV0dXJuIHBhcmFtLmNvbXBvbmVudHM/LnNvbWUoaGFzRHluYW1pY0NoaWxkKTtcbiAgICBjb25zdCBhcnJheUNvbXBvbmVudHMgPSAoMCwgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xLmdldEFycmF5Q29tcG9uZW50cykocGFyYW0udHlwZSk7XG4gICAgaWYgKGFycmF5Q29tcG9uZW50cyAmJlxuICAgICAgICBoYXNEeW5hbWljQ2hpbGQoeyAuLi5wYXJhbSwgdHlwZTogYXJyYXlDb21wb25lbnRzWzFdIH0pKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWNvZGVBYmlQYXJhbWV0ZXJzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/decodeDeployData.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/decodeDeployData.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeDeployData = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst decodeAbiParameters_js_1 = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nconst docsPath = '/docs/contract/decodeDeployData';\nfunction decodeDeployData({ abi, bytecode, data, }) {\n if (data === bytecode)\n return { bytecode };\n const description = abi.find((x) => 'type' in x && x.type === 'constructor');\n if (!description)\n throw new abi_js_1.AbiConstructorNotFoundError({ docsPath });\n if (!('inputs' in description))\n throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });\n if (!description.inputs || description.inputs.length === 0)\n throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });\n const args = (0, decodeAbiParameters_js_1.decodeAbiParameters)(description.inputs, `0x${data.replace(bytecode, '')}`);\n return { args, bytecode };\n}\nexports.decodeDeployData = decodeDeployData;\n//# sourceMappingURL=decodeDeployData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRGVwbG95RGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsaUJBQWlCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzlDLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUEwQjtBQUNuRTtBQUNBLDRCQUE0QixzQkFBc0I7QUFDbEQ7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLHlEQUF5RCxVQUFVO0FBQ25FO0FBQ0EsK0RBQStELFVBQVU7QUFDekU7QUFDQSwrREFBK0QsVUFBVTtBQUN6RSw0RkFBNEYsMkJBQTJCO0FBQ3ZILGFBQWE7QUFDYjtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRGVwbG95RGF0YS5qcz85YTdiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWNvZGVEZXBsb3lEYXRhID0gdm9pZCAwO1xuY29uc3QgYWJpX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FiaS5qc1wiKTtcbmNvbnN0IGRlY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL2RlY29kZUFiaVBhcmFtZXRlcnMuanNcIik7XG5jb25zdCBkb2NzUGF0aCA9ICcvZG9jcy9jb250cmFjdC9kZWNvZGVEZXBsb3lEYXRhJztcbmZ1bmN0aW9uIGRlY29kZURlcGxveURhdGEoeyBhYmksIGJ5dGVjb2RlLCBkYXRhLCB9KSB7XG4gICAgaWYgKGRhdGEgPT09IGJ5dGVjb2RlKVxuICAgICAgICByZXR1cm4geyBieXRlY29kZSB9O1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYWJpLmZpbmQoKHgpID0+ICd0eXBlJyBpbiB4ICYmIHgudHlwZSA9PT0gJ2NvbnN0cnVjdG9yJyk7XG4gICAgaWYgKCFkZXNjcmlwdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvcih7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghKCdpbnB1dHMnIGluIGRlc2NyaXB0aW9uKSlcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvcih7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghZGVzY3JpcHRpb24uaW5wdXRzIHx8IGRlc2NyaXB0aW9uLmlucHV0cy5sZW5ndGggPT09IDApXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlDb25zdHJ1Y3RvclBhcmFtc05vdEZvdW5kRXJyb3IoeyBkb2NzUGF0aCB9KTtcbiAgICBjb25zdCBhcmdzID0gKDAsIGRlY29kZUFiaVBhcmFtZXRlcnNfanNfMS5kZWNvZGVBYmlQYXJhbWV0ZXJzKShkZXNjcmlwdGlvbi5pbnB1dHMsIGAweCR7ZGF0YS5yZXBsYWNlKGJ5dGVjb2RlLCAnJyl9YCk7XG4gICAgcmV0dXJuIHsgYXJncywgYnl0ZWNvZGUgfTtcbn1cbmV4cG9ydHMuZGVjb2RlRGVwbG95RGF0YSA9IGRlY29kZURlcGxveURhdGE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWNvZGVEZXBsb3lEYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/decodeDeployData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeErrorResult = void 0;\nconst solidity_js_1 = __webpack_require__(/*! ../../constants/solidity.js */ \"./node_modules/viem/dist/cjs/constants/solidity.js\");\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst getFunctionSelector_js_1 = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\");\nconst decodeAbiParameters_js_1 = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nfunction decodeErrorResult({ abi, data, }) {\n const signature = (0, slice_js_1.slice)(data, 0, 4);\n if (signature === '0x')\n throw new abi_js_1.AbiDecodingZeroDataError();\n const abi_ = [...(abi || []), solidity_js_1.solidityError, solidity_js_1.solidityPanic];\n const abiItem = abi_.find((x) => x.type === 'error' && signature === (0, getFunctionSelector_js_1.getFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(x)));\n if (!abiItem)\n throw new abi_js_1.AbiErrorSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeErrorResult',\n });\n return {\n abiItem,\n args: ('inputs' in abiItem && abiItem.inputs && abiItem.inputs.length > 0\n ? (0, decodeAbiParameters_js_1.decodeAbiParameters)(abiItem.inputs, (0, slice_js_1.slice)(data, 4))\n : undefined),\n errorName: abiItem.name,\n };\n}\nexports.decodeErrorResult = decodeErrorResult;\n//# sourceMappingURL=decodeErrorResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCO0FBQ3pCLHNCQUFzQixtQkFBTyxDQUFDLHVGQUE2QjtBQUMzRCxpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLGlDQUFpQyxtQkFBTyxDQUFDLHNHQUFnQztBQUN6RSxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBMEI7QUFDbkUsMkJBQTJCLG1CQUFPLENBQUMsbUZBQW9CO0FBQ3ZELDZCQUE2QixZQUFZO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanM/MDU0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVjb2RlRXJyb3JSZXN1bHQgPSB2b2lkIDA7XG5jb25zdCBzb2xpZGl0eV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy9zb2xpZGl0eS5qc1wiKTtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBzbGljZV9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvc2xpY2UuanNcIik7XG5jb25zdCBnZXRGdW5jdGlvblNlbGVjdG9yX2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9nZXRGdW5jdGlvblNlbGVjdG9yLmpzXCIpO1xuY29uc3QgZGVjb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4vZGVjb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbmNvbnN0IGZvcm1hdEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdEFiaUl0ZW0uanNcIik7XG5mdW5jdGlvbiBkZWNvZGVFcnJvclJlc3VsdCh7IGFiaSwgZGF0YSwgfSkge1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9ICgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCAwLCA0KTtcbiAgICBpZiAoc2lnbmF0dXJlID09PSAnMHgnKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yKCk7XG4gICAgY29uc3QgYWJpXyA9IFsuLi4oYWJpIHx8IFtdKSwgc29saWRpdHlfanNfMS5zb2xpZGl0eUVycm9yLCBzb2xpZGl0eV9qc18xLnNvbGlkaXR5UGFuaWNdO1xuICAgIGNvbnN0IGFiaUl0ZW0gPSBhYmlfLmZpbmQoKHgpID0+IHgudHlwZSA9PT0gJ2Vycm9yJyAmJiBzaWduYXR1cmUgPT09ICgwLCBnZXRGdW5jdGlvblNlbGVjdG9yX2pzXzEuZ2V0RnVuY3Rpb25TZWxlY3RvcikoKDAsIGZvcm1hdEFiaUl0ZW1fanNfMS5mb3JtYXRBYmlJdGVtKSh4KSkpO1xuICAgIGlmICghYWJpSXRlbSlcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUVycm9yU2lnbmF0dXJlTm90Rm91bmRFcnJvcihzaWduYXR1cmUsIHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZGVjb2RlRXJyb3JSZXN1bHQnLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhYmlJdGVtLFxuICAgICAgICBhcmdzOiAoJ2lucHV0cycgaW4gYWJpSXRlbSAmJiBhYmlJdGVtLmlucHV0cyAmJiBhYmlJdGVtLmlucHV0cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/ICgwLCBkZWNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZGVjb2RlQWJpUGFyYW1ldGVycykoYWJpSXRlbS5pbnB1dHMsICgwLCBzbGljZV9qc18xLnNsaWNlKShkYXRhLCA0KSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkKSxcbiAgICAgICAgZXJyb3JOYW1lOiBhYmlJdGVtLm5hbWUsXG4gICAgfTtcbn1cbmV4cG9ydHMuZGVjb2RlRXJyb3JSZXN1bHQgPSBkZWNvZGVFcnJvclJlc3VsdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlY29kZUVycm9yUmVzdWx0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeEventLog = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst getEventSelector_js_1 = __webpack_require__(/*! ../hash/getEventSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js\");\nconst decodeAbiParameters_js_1 = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nconst docsPath = '/docs/contract/decodeEventLog';\nfunction decodeEventLog({ abi, data, strict: strict_, topics, }) {\n const strict = strict_ ?? true;\n const [signature, ...argTopics] = topics;\n if (!signature)\n throw new abi_js_1.AbiEventSignatureEmptyTopicsError({\n docsPath,\n });\n const abiItem = abi.find((x) => x.type === 'event' &&\n signature === (0, getEventSelector_js_1.getEventSelector)((0, formatAbiItem_js_1.formatAbiItem)(x)));\n if (!(abiItem && 'name' in abiItem) || abiItem.type !== 'event')\n throw new abi_js_1.AbiEventSignatureNotFoundError(signature, {\n docsPath,\n });\n const { name, inputs } = abiItem;\n const isUnnamed = inputs?.some((x) => !('name' in x && x.name));\n let args = isUnnamed ? [] : {};\n const indexedInputs = inputs.filter((x) => 'indexed' in x && x.indexed);\n if (argTopics.length > 0) {\n for (let i = 0; i < indexedInputs.length; i++) {\n const param = indexedInputs[i];\n const topic = argTopics[i];\n if (!topic)\n throw new abi_js_1.DecodeLogTopicsMismatch({\n abiItem,\n param: param,\n });\n args[param.name || i] = decodeTopic({ param, value: topic });\n }\n }\n const nonIndexedInputs = inputs.filter((x) => !('indexed' in x && x.indexed));\n if (nonIndexedInputs.length > 0) {\n if (data && data !== '0x') {\n try {\n const decodedData = (0, decodeAbiParameters_js_1.decodeAbiParameters)(nonIndexedInputs, data);\n if (decodedData) {\n if (isUnnamed)\n args = [...args, ...decodedData];\n else {\n for (let i = 0; i < nonIndexedInputs.length; i++) {\n args[nonIndexedInputs[i].name] = decodedData[i];\n }\n }\n }\n }\n catch (err) {\n if (strict) {\n if (err instanceof abi_js_1.AbiDecodingDataSizeTooSmallError)\n throw new abi_js_1.DecodeLogDataMismatch({\n abiItem,\n data: err.data,\n params: err.params,\n size: err.size,\n });\n throw err;\n }\n }\n }\n else if (strict) {\n throw new abi_js_1.DecodeLogDataMismatch({\n abiItem,\n data: '0x',\n params: nonIndexedInputs,\n size: 0,\n });\n }\n }\n return {\n eventName: name,\n args: Object.values(args).length > 0 ? args : undefined,\n };\n}\nexports.decodeEventLog = decodeEventLog;\nfunction decodeTopic({ param, value }) {\n if (param.type === 'string' ||\n param.type === 'bytes' ||\n param.type === 'tuple' ||\n param.type.match(/^(.*)\\[(\\d+)?\\]$/))\n return value;\n const decodedArg = (0, decodeAbiParameters_js_1.decodeAbiParameters)([param], value) || [];\n return decodedArg[0];\n}\n//# sourceMappingURL=decodeEventLog.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCLGlCQUFpQixtQkFBTyxDQUFDLHVFQUFxQjtBQUM5Qyw4QkFBOEIsbUJBQU8sQ0FBQyxnR0FBNkI7QUFDbkUsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQTBCO0FBQ25FLDJCQUEyQixtQkFBTyxDQUFDLG1GQUFvQjtBQUN2RDtBQUNBLDBCQUEwQixxQ0FBcUM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULFlBQVksZUFBZTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwwQkFBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGtEQUFrRCxxQkFBcUI7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3Qyw2QkFBNkI7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIsdUJBQXVCLGNBQWM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2FiaS9kZWNvZGVFdmVudExvZy5qcz9hZTFlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWNvZGVFdmVudExvZyA9IHZvaWQgMDtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBnZXRFdmVudFNlbGVjdG9yX2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9nZXRFdmVudFNlbGVjdG9yLmpzXCIpO1xuY29uc3QgZGVjb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4vZGVjb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbmNvbnN0IGZvcm1hdEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdEFiaUl0ZW0uanNcIik7XG5jb25zdCBkb2NzUGF0aCA9ICcvZG9jcy9jb250cmFjdC9kZWNvZGVFdmVudExvZyc7XG5mdW5jdGlvbiBkZWNvZGVFdmVudExvZyh7IGFiaSwgZGF0YSwgc3RyaWN0OiBzdHJpY3RfLCB0b3BpY3MsIH0pIHtcbiAgICBjb25zdCBzdHJpY3QgPSBzdHJpY3RfID8/IHRydWU7XG4gICAgY29uc3QgW3NpZ25hdHVyZSwgLi4uYXJnVG9waWNzXSA9IHRvcGljcztcbiAgICBpZiAoIXNpZ25hdHVyZSlcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUV2ZW50U2lnbmF0dXJlRW1wdHlUb3BpY3NFcnJvcih7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgYWJpSXRlbSA9IGFiaS5maW5kKCh4KSA9PiB4LnR5cGUgPT09ICdldmVudCcgJiZcbiAgICAgICAgc2lnbmF0dXJlID09PSAoMCwgZ2V0RXZlbnRTZWxlY3Rvcl9qc18xLmdldEV2ZW50U2VsZWN0b3IpKCgwLCBmb3JtYXRBYmlJdGVtX2pzXzEuZm9ybWF0QWJpSXRlbSkoeCkpKTtcbiAgICBpZiAoIShhYmlJdGVtICYmICduYW1lJyBpbiBhYmlJdGVtKSB8fCBhYmlJdGVtLnR5cGUgIT09ICdldmVudCcpXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlFdmVudFNpZ25hdHVyZU5vdEZvdW5kRXJyb3Ioc2lnbmF0dXJlLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgeyBuYW1lLCBpbnB1dHMgfSA9IGFiaUl0ZW07XG4gICAgY29uc3QgaXNVbm5hbWVkID0gaW5wdXRzPy5zb21lKCh4KSA9PiAhKCduYW1lJyBpbiB4ICYmIHgubmFtZSkpO1xuICAgIGxldCBhcmdzID0gaXNVbm5hbWVkID8gW10gOiB7fTtcbiAgICBjb25zdCBpbmRleGVkSW5wdXRzID0gaW5wdXRzLmZpbHRlcigoeCkgPT4gJ2luZGV4ZWQnIGluIHggJiYgeC5pbmRleGVkKTtcbiAgICBpZiAoYXJnVG9waWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleGVkSW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbSA9IGluZGV4ZWRJbnB1dHNbaV07XG4gICAgICAgICAgICBjb25zdCB0b3BpYyA9IGFyZ1RvcGljc1tpXTtcbiAgICAgICAgICAgIGlmICghdG9waWMpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkRlY29kZUxvZ1RvcGljc01pc21hdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgYWJpSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW06IHBhcmFtLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXJnc1twYXJhbS5uYW1lIHx8IGldID0gZGVjb2RlVG9waWMoeyBwYXJhbSwgdmFsdWU6IHRvcGljIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5vbkluZGV4ZWRJbnB1dHMgPSBpbnB1dHMuZmlsdGVyKCh4KSA9PiAhKCdpbmRleGVkJyBpbiB4ICYmIHguaW5kZXhlZCkpO1xuICAgIGlmIChub25JbmRleGVkSW5wdXRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKGRhdGEgJiYgZGF0YSAhPT0gJzB4Jykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVkRGF0YSA9ICgwLCBkZWNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZGVjb2RlQWJpUGFyYW1ldGVycykobm9uSW5kZXhlZElucHV0cywgZGF0YSk7XG4gICAgICAgICAgICAgICAgaWYgKGRlY29kZWREYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1VubmFtZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gWy4uLmFyZ3MsIC4uLmRlY29kZWREYXRhXTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vbkluZGV4ZWRJbnB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzW25vbkluZGV4ZWRJbnB1dHNbaV0ubmFtZV0gPSBkZWNvZGVkRGF0YVtpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RyaWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBhYmlfanNfMS5BYmlEZWNvZGluZ0RhdGFTaXplVG9vU21hbGxFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5EZWNvZGVMb2dEYXRhTWlzbWF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFiaUl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZXJyLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBlcnIucGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGVyci5zaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RyaWN0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuRGVjb2RlTG9nRGF0YU1pc21hdGNoKHtcbiAgICAgICAgICAgICAgICBhYmlJdGVtLFxuICAgICAgICAgICAgICAgIGRhdGE6ICcweCcsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBub25JbmRleGVkSW5wdXRzLFxuICAgICAgICAgICAgICAgIHNpemU6IDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBldmVudE5hbWU6IG5hbWUsXG4gICAgICAgIGFyZ3M6IE9iamVjdC52YWx1ZXMoYXJncykubGVuZ3RoID4gMCA/IGFyZ3MgOiB1bmRlZmluZWQsXG4gICAgfTtcbn1cbmV4cG9ydHMuZGVjb2RlRXZlbnRMb2cgPSBkZWNvZGVFdmVudExvZztcbmZ1bmN0aW9uIGRlY29kZVRvcGljKHsgcGFyYW0sIHZhbHVlIH0pIHtcbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgcGFyYW0udHlwZSA9PT0gJ2J5dGVzJyB8fFxuICAgICAgICBwYXJhbS50eXBlID09PSAndHVwbGUnIHx8XG4gICAgICAgIHBhcmFtLnR5cGUubWF0Y2goL14oLiopXFxbKFxcZCspP1xcXSQvKSlcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIGNvbnN0IGRlY29kZWRBcmcgPSAoMCwgZGVjb2RlQWJpUGFyYW1ldGVyc19qc18xLmRlY29kZUFiaVBhcmFtZXRlcnMpKFtwYXJhbV0sIHZhbHVlKSB8fCBbXTtcbiAgICByZXR1cm4gZGVjb2RlZEFyZ1swXTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlY29kZUV2ZW50TG9nLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/decodeFunctionData.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/decodeFunctionData.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeFunctionData = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst getFunctionSelector_js_1 = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\");\nconst decodeAbiParameters_js_1 = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nfunction decodeFunctionData({ abi, data, }) {\n const signature = (0, slice_js_1.slice)(data, 0, 4);\n const description = abi.find((x) => x.type === 'function' &&\n signature === (0, getFunctionSelector_js_1.getFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(x)));\n if (!description)\n throw new abi_js_1.AbiFunctionSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeFunctionData',\n });\n return {\n functionName: description.name,\n args: ('inputs' in description &&\n description.inputs &&\n description.inputs.length > 0\n ? (0, decodeAbiParameters_js_1.decodeAbiParameters)(description.inputs, (0, slice_js_1.slice)(data, 4))\n : undefined),\n };\n}\nexports.decodeFunctionData = decodeFunctionData;\n//# sourceMappingURL=decodeFunctionData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25EYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQjtBQUMxQixpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLGlDQUFpQyxtQkFBTyxDQUFDLHNHQUFnQztBQUN6RSxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBMEI7QUFDbkUsMkJBQTJCLG1CQUFPLENBQUMsbUZBQW9CO0FBQ3ZELDhCQUE4QixZQUFZO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uRGF0YS5qcz9kMGRhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWNvZGVGdW5jdGlvbkRhdGEgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3Qgc2xpY2VfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL3NsaWNlLmpzXCIpO1xuY29uc3QgZ2V0RnVuY3Rpb25TZWxlY3Rvcl9qc18xID0gcmVxdWlyZShcIi4uL2hhc2gvZ2V0RnVuY3Rpb25TZWxlY3Rvci5qc1wiKTtcbmNvbnN0IGRlY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL2RlY29kZUFiaVBhcmFtZXRlcnMuanNcIik7XG5jb25zdCBmb3JtYXRBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi9mb3JtYXRBYmlJdGVtLmpzXCIpO1xuZnVuY3Rpb24gZGVjb2RlRnVuY3Rpb25EYXRhKHsgYWJpLCBkYXRhLCB9KSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gKDAsIHNsaWNlX2pzXzEuc2xpY2UpKGRhdGEsIDAsIDQpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYWJpLmZpbmQoKHgpID0+IHgudHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICBzaWduYXR1cmUgPT09ICgwLCBnZXRGdW5jdGlvblNlbGVjdG9yX2pzXzEuZ2V0RnVuY3Rpb25TZWxlY3RvcikoKDAsIGZvcm1hdEFiaUl0ZW1fanNfMS5mb3JtYXRBYmlJdGVtKSh4KSkpO1xuICAgIGlmICghZGVzY3JpcHRpb24pXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlGdW5jdGlvblNpZ25hdHVyZU5vdEZvdW5kRXJyb3Ioc2lnbmF0dXJlLCB7XG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L2RlY29kZUZ1bmN0aW9uRGF0YScsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZGVzY3JpcHRpb24ubmFtZSxcbiAgICAgICAgYXJnczogKCdpbnB1dHMnIGluIGRlc2NyaXB0aW9uICYmXG4gICAgICAgICAgICBkZXNjcmlwdGlvbi5pbnB1dHMgJiZcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLmlucHV0cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/ICgwLCBkZWNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZGVjb2RlQWJpUGFyYW1ldGVycykoZGVzY3JpcHRpb24uaW5wdXRzLCAoMCwgc2xpY2VfanNfMS5zbGljZSkoZGF0YSwgNCkpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCksXG4gICAgfTtcbn1cbmV4cG9ydHMuZGVjb2RlRnVuY3Rpb25EYXRhID0gZGVjb2RlRnVuY3Rpb25EYXRhO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVjb2RlRnVuY3Rpb25EYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/decodeFunctionData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeFunctionResult = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst decodeAbiParameters_js_1 = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nconst getAbiItem_js_1 = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nconst docsPath = '/docs/contract/decodeFunctionResult';\nfunction decodeFunctionResult({ abi, args, functionName, data, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = (0, getAbiItem_js_1.getAbiItem)({\n abi,\n args,\n name: functionName,\n });\n if (!abiItem)\n throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath });\n }\n if (abiItem.type !== 'function')\n throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath });\n if (!abiItem.outputs)\n throw new abi_js_1.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });\n const values = (0, decodeAbiParameters_js_1.decodeAbiParameters)(abiItem.outputs, data);\n if (values && values.length > 1)\n return values;\n if (values && values.length === 1)\n return values[0];\n return undefined;\n}\nexports.decodeFunctionResult = decodeFunctionResult;\n//# sourceMappingURL=decodeFunctionResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNEJBQTRCO0FBQzVCLGlCQUFpQixtQkFBTyxDQUFDLHVFQUFxQjtBQUM5QyxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBMEI7QUFDbkUsd0JBQXdCLG1CQUFPLENBQUMsNkVBQWlCO0FBQ2pEO0FBQ0EsZ0NBQWdDLGdDQUFnQztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSx3RUFBd0UsVUFBVTtBQUNsRjtBQUNBO0FBQ0EsaUVBQWlFLFVBQVU7QUFDM0U7QUFDQSwyRUFBMkUsVUFBVTtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanM/Zjc1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVjb2RlRnVuY3Rpb25SZXN1bHQgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgZGVjb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4vZGVjb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbmNvbnN0IGdldEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2dldEFiaUl0ZW0uanNcIik7XG5jb25zdCBkb2NzUGF0aCA9ICcvZG9jcy9jb250cmFjdC9kZWNvZGVGdW5jdGlvblJlc3VsdCc7XG5mdW5jdGlvbiBkZWNvZGVGdW5jdGlvblJlc3VsdCh7IGFiaSwgYXJncywgZnVuY3Rpb25OYW1lLCBkYXRhLCB9KSB7XG4gICAgbGV0IGFiaUl0ZW0gPSBhYmlbMF07XG4gICAgaWYgKGZ1bmN0aW9uTmFtZSkge1xuICAgICAgICBhYmlJdGVtID0gKDAsIGdldEFiaUl0ZW1fanNfMS5nZXRBYmlJdGVtKSh7XG4gICAgICAgICAgICBhYmksXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgbmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFhYmlJdGVtKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUZ1bmN0aW9uTm90Rm91bmRFcnJvcihmdW5jdGlvbk5hbWUsIHsgZG9jc1BhdGggfSk7XG4gICAgfVxuICAgIGlmIChhYmlJdGVtLnR5cGUgIT09ICdmdW5jdGlvbicpXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IodW5kZWZpbmVkLCB7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghYWJpSXRlbS5vdXRwdXRzKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRnVuY3Rpb25PdXRwdXRzTm90Rm91bmRFcnJvcihhYmlJdGVtLm5hbWUsIHsgZG9jc1BhdGggfSk7XG4gICAgY29uc3QgdmFsdWVzID0gKDAsIGRlY29kZUFiaVBhcmFtZXRlcnNfanNfMS5kZWNvZGVBYmlQYXJhbWV0ZXJzKShhYmlJdGVtLm91dHB1dHMsIGRhdGEpO1xuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA+IDEpXG4gICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID09PSAxKVxuICAgICAgICByZXR1cm4gdmFsdWVzWzBdO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5leHBvcnRzLmRlY29kZUZ1bmN0aW9uUmVzdWx0ID0gZGVjb2RlRnVuY3Rpb25SZXN1bHQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWNvZGVGdW5jdGlvblJlc3VsdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getArrayComponents = exports.encodeAbiParameters = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst pad_js_1 = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nconst size_js_1 = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nfunction encodeAbiParameters(params, values) {\n if (params.length !== values.length)\n throw new abi_js_1.AbiEncodingLengthMismatchError({\n expectedLength: params.length,\n givenLength: values.length,\n });\n const preparedParams = prepareParams({\n params: params,\n values,\n });\n const data = encodeParams(preparedParams);\n if (data.length === 0)\n return '0x';\n return data;\n}\nexports.encodeAbiParameters = encodeAbiParameters;\nfunction prepareParams({ params, values, }) {\n const preparedParams = [];\n for (let i = 0; i < params.length; i++) {\n preparedParams.push(prepareParam({ param: params[i], value: values[i] }));\n }\n return preparedParams;\n}\nfunction prepareParam({ param, value, }) {\n const arrayComponents = getArrayComponents(param.type);\n if (arrayComponents) {\n const [length, type] = arrayComponents;\n return encodeArray(value, { length, param: { ...param, type } });\n }\n if (param.type === 'tuple') {\n return encodeTuple(value, {\n param: param,\n });\n }\n if (param.type === 'address') {\n return encodeAddress(value);\n }\n if (param.type === 'bool') {\n return encodeBool(value);\n }\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n const signed = param.type.startsWith('int');\n return encodeNumber(value, { signed });\n }\n if (param.type.startsWith('bytes')) {\n return encodeBytes(value, { param });\n }\n if (param.type === 'string') {\n return encodeString(value);\n }\n throw new abi_js_1.InvalidAbiEncodingTypeError(param.type, {\n docsPath: '/docs/contract/encodeAbiParameters',\n });\n}\nfunction encodeParams(preparedParams) {\n let staticSize = 0;\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i];\n if (dynamic)\n staticSize += 32;\n else\n staticSize += (0, size_js_1.size)(encoded);\n }\n const staticParams = [];\n const dynamicParams = [];\n let dynamicSize = 0;\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i];\n if (dynamic) {\n staticParams.push((0, toHex_js_1.numberToHex)(staticSize + dynamicSize, { size: 32 }));\n dynamicParams.push(encoded);\n dynamicSize += (0, size_js_1.size)(encoded);\n }\n else {\n staticParams.push(encoded);\n }\n }\n return (0, concat_js_1.concat)([...staticParams, ...dynamicParams]);\n}\nfunction encodeAddress(value) {\n if (!(0, isAddress_js_1.isAddress)(value))\n throw new address_js_1.InvalidAddressError({ address: value });\n return { dynamic: false, encoded: (0, pad_js_1.padHex)(value.toLowerCase()) };\n}\nfunction encodeArray(value, { length, param, }) {\n const dynamic = length === null;\n if (!Array.isArray(value))\n throw new abi_js_1.InvalidArrayError(value);\n if (!dynamic && value.length !== length)\n throw new abi_js_1.AbiEncodingArrayLengthMismatchError({\n expectedLength: length,\n givenLength: value.length,\n type: `${param.type}[${length}]`,\n });\n let dynamicChild = false;\n const preparedParams = [];\n for (let i = 0; i < value.length; i++) {\n const preparedParam = prepareParam({ param, value: value[i] });\n if (preparedParam.dynamic)\n dynamicChild = true;\n preparedParams.push(preparedParam);\n }\n if (dynamic || dynamicChild) {\n const data = encodeParams(preparedParams);\n if (dynamic) {\n const length = (0, toHex_js_1.numberToHex)(preparedParams.length, { size: 32 });\n return {\n dynamic: true,\n encoded: preparedParams.length > 0 ? (0, concat_js_1.concat)([length, data]) : length,\n };\n }\n if (dynamicChild)\n return { dynamic: true, encoded: data };\n }\n return {\n dynamic: false,\n encoded: (0, concat_js_1.concat)(preparedParams.map(({ encoded }) => encoded)),\n };\n}\nfunction encodeBytes(value, { param }) {\n const [_, size_] = param.type.split('bytes');\n if (!size_) {\n const partsLength = Math.ceil((0, size_js_1.size)(value) / 32);\n const parts = [];\n for (let i = 0; i < partsLength; i++) {\n parts.push((0, pad_js_1.padHex)((0, slice_js_1.slice)(value, i * 32, (i + 1) * 32), {\n dir: 'right',\n }));\n }\n return {\n dynamic: true,\n encoded: (0, concat_js_1.concat)([\n (0, pad_js_1.padHex)((0, toHex_js_1.numberToHex)((0, size_js_1.size)(value), { size: 32 })),\n ...parts,\n ]),\n };\n }\n if ((0, size_js_1.size)(value) !== parseInt(size_))\n throw new abi_js_1.AbiEncodingBytesSizeMismatchError({\n expectedSize: parseInt(size_),\n value,\n });\n return { dynamic: false, encoded: (0, pad_js_1.padHex)(value, { dir: 'right' }) };\n}\nfunction encodeBool(value) {\n return { dynamic: false, encoded: (0, pad_js_1.padHex)((0, toHex_js_1.boolToHex)(value)) };\n}\nfunction encodeNumber(value, { signed }) {\n return {\n dynamic: false,\n encoded: (0, toHex_js_1.numberToHex)(value, {\n size: 32,\n signed,\n }),\n };\n}\nfunction encodeString(value) {\n const hexValue = (0, toHex_js_1.stringToHex)(value);\n const partsLength = Math.ceil((0, size_js_1.size)(hexValue) / 32);\n const parts = [];\n for (let i = 0; i < partsLength; i++) {\n parts.push((0, pad_js_1.padHex)((0, slice_js_1.slice)(hexValue, i * 32, (i + 1) * 32), {\n dir: 'right',\n }));\n }\n return {\n dynamic: true,\n encoded: (0, concat_js_1.concat)([\n (0, pad_js_1.padHex)((0, toHex_js_1.numberToHex)((0, size_js_1.size)(hexValue), { size: 32 })),\n ...parts,\n ]),\n };\n}\nfunction encodeTuple(value, { param }) {\n let dynamic = false;\n const preparedParams = [];\n for (let i = 0; i < param.components.length; i++) {\n const param_ = param.components[i];\n const index = Array.isArray(value) ? i : param_.name;\n const preparedParam = prepareParam({\n param: param_,\n value: value[index],\n });\n preparedParams.push(preparedParam);\n if (preparedParam.dynamic)\n dynamic = true;\n }\n return {\n dynamic,\n encoded: dynamic\n ? encodeParams(preparedParams)\n : (0, concat_js_1.concat)(preparedParams.map(({ encoded }) => encoded)),\n };\n}\nfunction getArrayComponents(type) {\n const matches = type.match(/^(.*)\\[(\\d+)?\\]$/);\n return matches\n ?\n [matches[2] ? Number(matches[2]) : null, matches[1]]\n : undefined;\n}\nexports.getArrayComponents = getArrayComponents;\n//# sourceMappingURL=encodeAbiParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlQWJpUGFyYW1ldGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwwQkFBMEIsR0FBRywyQkFBMkI7QUFDeEQsaUJBQWlCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzlDLHFCQUFxQixtQkFBTyxDQUFDLCtFQUF5QjtBQUN0RCx1QkFBdUIsbUJBQU8sQ0FBQyx3RkFBeUI7QUFDeEQsb0JBQW9CLG1CQUFPLENBQUMsNEVBQW1CO0FBQy9DLGlCQUFpQixtQkFBTyxDQUFDLHNFQUFnQjtBQUN6QyxrQkFBa0IsbUJBQU8sQ0FBQyx3RUFBaUI7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLG1CQUFtQixtQkFBTyxDQUFDLGtGQUFzQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCLHlCQUF5QixpQkFBaUI7QUFDMUM7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDLDJDQUEyQyxvQ0FBb0M7QUFDL0U7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGVBQWU7QUFDdkM7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLGlCQUFpQixrQkFBa0I7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLFFBQVE7QUFDN0M7QUFDQTtBQUNBLG9DQUFvQyxPQUFPO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DLGdCQUFnQixtQkFBbUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwyQkFBMkI7QUFDL0MsZ0JBQWdCLG1CQUFtQjtBQUNuQztBQUNBLHNGQUFzRixVQUFVO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsZ0JBQWdCO0FBQ3JFLGFBQWE7QUFDYjtBQUNBLDhCQUE4QixnQkFBZ0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsV0FBVyxHQUFHLE9BQU87QUFDMUMsU0FBUztBQUNUO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDLDZDQUE2Qyx3QkFBd0I7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0YsVUFBVTtBQUMxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsK0RBQStELFNBQVM7QUFDeEU7QUFDQTtBQUNBLDhCQUE4QixPQUFPO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGlCQUFpQjtBQUN6QztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0ZBQStGLFVBQVU7QUFDekc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxhQUFhLHVEQUF1RCxjQUFjO0FBQ2xGO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSwrQkFBK0IsUUFBUTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhGQUE4RixVQUFVO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLE9BQU87QUFDckM7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELFNBQVM7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2FiaS9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzP2U4OGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEFycmF5Q29tcG9uZW50cyA9IGV4cG9ydHMuZW5jb2RlQWJpUGFyYW1ldGVycyA9IHZvaWQgMDtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBhZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FkZHJlc3MuanNcIik7XG5jb25zdCBpc0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi9hZGRyZXNzL2lzQWRkcmVzcy5qc1wiKTtcbmNvbnN0IGNvbmNhdF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvY29uY2F0LmpzXCIpO1xuY29uc3QgcGFkX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9wYWQuanNcIik7XG5jb25zdCBzaXplX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9zaXplLmpzXCIpO1xuY29uc3Qgc2xpY2VfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL3NsaWNlLmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0hleC5qc1wiKTtcbmZ1bmN0aW9uIGVuY29kZUFiaVBhcmFtZXRlcnMocGFyYW1zLCB2YWx1ZXMpIHtcbiAgICBpZiAocGFyYW1zLmxlbmd0aCAhPT0gdmFsdWVzLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUVuY29kaW5nTGVuZ3RoTWlzbWF0Y2hFcnJvcih7XG4gICAgICAgICAgICBleHBlY3RlZExlbmd0aDogcGFyYW1zLmxlbmd0aCxcbiAgICAgICAgICAgIGdpdmVuTGVuZ3RoOiB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBwcmVwYXJlZFBhcmFtcyA9IHByZXBhcmVQYXJhbXMoe1xuICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgdmFsdWVzLFxuICAgIH0pO1xuICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVQYXJhbXMocHJlcGFyZWRQYXJhbXMpO1xuICAgIGlmIChkYXRhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuICcweCc7XG4gICAgcmV0dXJuIGRhdGE7XG59XG5leHBvcnRzLmVuY29kZUFiaVBhcmFtZXRlcnMgPSBlbmNvZGVBYmlQYXJhbWV0ZXJzO1xuZnVuY3Rpb24gcHJlcGFyZVBhcmFtcyh7IHBhcmFtcywgdmFsdWVzLCB9KSB7XG4gICAgY29uc3QgcHJlcGFyZWRQYXJhbXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBwcmVwYXJlZFBhcmFtcy5wdXNoKHByZXBhcmVQYXJhbSh7IHBhcmFtOiBwYXJhbXNbaV0sIHZhbHVlOiB2YWx1ZXNbaV0gfSkpO1xuICAgIH1cbiAgICByZXR1cm4gcHJlcGFyZWRQYXJhbXM7XG59XG5mdW5jdGlvbiBwcmVwYXJlUGFyYW0oeyBwYXJhbSwgdmFsdWUsIH0pIHtcbiAgICBjb25zdCBhcnJheUNvbXBvbmVudHMgPSBnZXRBcnJheUNvbXBvbmVudHMocGFyYW0udHlwZSk7XG4gICAgaWYgKGFycmF5Q29tcG9uZW50cykge1xuICAgICAgICBjb25zdCBbbGVuZ3RoLCB0eXBlXSA9IGFycmF5Q29tcG9uZW50cztcbiAgICAgICAgcmV0dXJuIGVuY29kZUFycmF5KHZhbHVlLCB7IGxlbmd0aCwgcGFyYW06IHsgLi4ucGFyYW0sIHR5cGUgfSB9KTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICd0dXBsZScpIHtcbiAgICAgICAgcmV0dXJuIGVuY29kZVR1cGxlKHZhbHVlLCB7XG4gICAgICAgICAgICBwYXJhbTogcGFyYW0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ2FkZHJlc3MnKSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVBZGRyZXNzKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICdib29sJykge1xuICAgICAgICByZXR1cm4gZW5jb2RlQm9vbCh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChwYXJhbS50eXBlLnN0YXJ0c1dpdGgoJ3VpbnQnKSB8fCBwYXJhbS50eXBlLnN0YXJ0c1dpdGgoJ2ludCcpKSB7XG4gICAgICAgIGNvbnN0IHNpZ25lZCA9IHBhcmFtLnR5cGUuc3RhcnRzV2l0aCgnaW50Jyk7XG4gICAgICAgIHJldHVybiBlbmNvZGVOdW1iZXIodmFsdWUsIHsgc2lnbmVkIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZS5zdGFydHNXaXRoKCdieXRlcycpKSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVCeXRlcyh2YWx1ZSwgeyBwYXJhbSB9KTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVTdHJpbmcodmFsdWUpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgYWJpX2pzXzEuSW52YWxpZEFiaUVuY29kaW5nVHlwZUVycm9yKHBhcmFtLnR5cGUsIHtcbiAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9lbmNvZGVBYmlQYXJhbWV0ZXJzJyxcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGVuY29kZVBhcmFtcyhwcmVwYXJlZFBhcmFtcykge1xuICAgIGxldCBzdGF0aWNTaXplID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXBhcmVkUGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pYywgZW5jb2RlZCB9ID0gcHJlcGFyZWRQYXJhbXNbaV07XG4gICAgICAgIGlmIChkeW5hbWljKVxuICAgICAgICAgICAgc3RhdGljU2l6ZSArPSAzMjtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgc3RhdGljU2l6ZSArPSAoMCwgc2l6ZV9qc18xLnNpemUpKGVuY29kZWQpO1xuICAgIH1cbiAgICBjb25zdCBzdGF0aWNQYXJhbXMgPSBbXTtcbiAgICBjb25zdCBkeW5hbWljUGFyYW1zID0gW107XG4gICAgbGV0IGR5bmFtaWNTaXplID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXBhcmVkUGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHsgZHluYW1pYywgZW5jb2RlZCB9ID0gcHJlcGFyZWRQYXJhbXNbaV07XG4gICAgICAgIGlmIChkeW5hbWljKSB7XG4gICAgICAgICAgICBzdGF0aWNQYXJhbXMucHVzaCgoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoc3RhdGljU2l6ZSArIGR5bmFtaWNTaXplLCB7IHNpemU6IDMyIH0pKTtcbiAgICAgICAgICAgIGR5bmFtaWNQYXJhbXMucHVzaChlbmNvZGVkKTtcbiAgICAgICAgICAgIGR5bmFtaWNTaXplICs9ICgwLCBzaXplX2pzXzEuc2l6ZSkoZW5jb2RlZCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzdGF0aWNQYXJhbXMucHVzaChlbmNvZGVkKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdCkoWy4uLnN0YXRpY1BhcmFtcywgLi4uZHluYW1pY1BhcmFtc10pO1xufVxuZnVuY3Rpb24gZW5jb2RlQWRkcmVzcyh2YWx1ZSkge1xuICAgIGlmICghKDAsIGlzQWRkcmVzc19qc18xLmlzQWRkcmVzcykodmFsdWUpKVxuICAgICAgICB0aHJvdyBuZXcgYWRkcmVzc19qc18xLkludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzOiB2YWx1ZSB9KTtcbiAgICByZXR1cm4geyBkeW5hbWljOiBmYWxzZSwgZW5jb2RlZDogKDAsIHBhZF9qc18xLnBhZEhleCkodmFsdWUudG9Mb3dlckNhc2UoKSkgfTtcbn1cbmZ1bmN0aW9uIGVuY29kZUFycmF5KHZhbHVlLCB7IGxlbmd0aCwgcGFyYW0sIH0pIHtcbiAgICBjb25zdCBkeW5hbWljID0gbGVuZ3RoID09PSBudWxsO1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5JbnZhbGlkQXJyYXlFcnJvcih2YWx1ZSk7XG4gICAgaWYgKCFkeW5hbWljICYmIHZhbHVlLmxlbmd0aCAhPT0gbGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3Ioe1xuICAgICAgICAgICAgZXhwZWN0ZWRMZW5ndGg6IGxlbmd0aCxcbiAgICAgICAgICAgIGdpdmVuTGVuZ3RoOiB2YWx1ZS5sZW5ndGgsXG4gICAgICAgICAgICB0eXBlOiBgJHtwYXJhbS50eXBlfVske2xlbmd0aH1dYCxcbiAgICAgICAgfSk7XG4gICAgbGV0IGR5bmFtaWNDaGlsZCA9IGZhbHNlO1xuICAgIGNvbnN0IHByZXBhcmVkUGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBwcmVwYXJlZFBhcmFtID0gcHJlcGFyZVBhcmFtKHsgcGFyYW0sIHZhbHVlOiB2YWx1ZVtpXSB9KTtcbiAgICAgICAgaWYgKHByZXBhcmVkUGFyYW0uZHluYW1pYylcbiAgICAgICAgICAgIGR5bmFtaWNDaGlsZCA9IHRydWU7XG4gICAgICAgIHByZXBhcmVkUGFyYW1zLnB1c2gocHJlcGFyZWRQYXJhbSk7XG4gICAgfVxuICAgIGlmIChkeW5hbWljIHx8IGR5bmFtaWNDaGlsZCkge1xuICAgICAgICBjb25zdCBkYXRhID0gZW5jb2RlUGFyYW1zKHByZXBhcmVkUGFyYW1zKTtcbiAgICAgICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KShwcmVwYXJlZFBhcmFtcy5sZW5ndGgsIHsgc2l6ZTogMzIgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGR5bmFtaWM6IHRydWUsXG4gICAgICAgICAgICAgICAgZW5jb2RlZDogcHJlcGFyZWRQYXJhbXMubGVuZ3RoID4gMCA/ICgwLCBjb25jYXRfanNfMS5jb25jYXQpKFtsZW5ndGgsIGRhdGFdKSA6IGxlbmd0aCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGR5bmFtaWNDaGlsZClcbiAgICAgICAgICAgIHJldHVybiB7IGR5bmFtaWM6IHRydWUsIGVuY29kZWQ6IGRhdGEgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZHluYW1pYzogZmFsc2UsXG4gICAgICAgIGVuY29kZWQ6ICgwLCBjb25jYXRfanNfMS5jb25jYXQpKHByZXBhcmVkUGFyYW1zLm1hcCgoeyBlbmNvZGVkIH0pID0+IGVuY29kZWQpKSxcbiAgICB9O1xufVxuZnVuY3Rpb24gZW5jb2RlQnl0ZXModmFsdWUsIHsgcGFyYW0gfSkge1xuICAgIGNvbnN0IFtfLCBzaXplX10gPSBwYXJhbS50eXBlLnNwbGl0KCdieXRlcycpO1xuICAgIGlmICghc2l6ZV8pIHtcbiAgICAgICAgY29uc3QgcGFydHNMZW5ndGggPSBNYXRoLmNlaWwoKDAsIHNpemVfanNfMS5zaXplKSh2YWx1ZSkgLyAzMik7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcGFydHMucHVzaCgoMCwgcGFkX2pzXzEucGFkSGV4KSgoMCwgc2xpY2VfanNfMS5zbGljZSkodmFsdWUsIGkgKiAzMiwgKGkgKyAxKSAqIDMyKSwge1xuICAgICAgICAgICAgICAgIGRpcjogJ3JpZ2h0JyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZHluYW1pYzogdHJ1ZSxcbiAgICAgICAgICAgIGVuY29kZWQ6ICgwLCBjb25jYXRfanNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICAoMCwgcGFkX2pzXzEucGFkSGV4KSgoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkoKDAsIHNpemVfanNfMS5zaXplKSh2YWx1ZSksIHsgc2l6ZTogMzIgfSkpLFxuICAgICAgICAgICAgICAgIC4uLnBhcnRzLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICgoMCwgc2l6ZV9qc18xLnNpemUpKHZhbHVlKSAhPT0gcGFyc2VJbnQoc2l6ZV8pKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRW5jb2RpbmdCeXRlc1NpemVNaXNtYXRjaEVycm9yKHtcbiAgICAgICAgICAgIGV4cGVjdGVkU2l6ZTogcGFyc2VJbnQoc2l6ZV8pLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiB7IGR5bmFtaWM6IGZhbHNlLCBlbmNvZGVkOiAoMCwgcGFkX2pzXzEucGFkSGV4KSh2YWx1ZSwgeyBkaXI6ICdyaWdodCcgfSkgfTtcbn1cbmZ1bmN0aW9uIGVuY29kZUJvb2wodmFsdWUpIHtcbiAgICByZXR1cm4geyBkeW5hbWljOiBmYWxzZSwgZW5jb2RlZDogKDAsIHBhZF9qc18xLnBhZEhleCkoKDAsIHRvSGV4X2pzXzEuYm9vbFRvSGV4KSh2YWx1ZSkpIH07XG59XG5mdW5jdGlvbiBlbmNvZGVOdW1iZXIodmFsdWUsIHsgc2lnbmVkIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBkeW5hbWljOiBmYWxzZSxcbiAgICAgICAgZW5jb2RlZDogKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKHZhbHVlLCB7XG4gICAgICAgICAgICBzaXplOiAzMixcbiAgICAgICAgICAgIHNpZ25lZCxcbiAgICAgICAgfSksXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGVuY29kZVN0cmluZyh2YWx1ZSkge1xuICAgIGNvbnN0IGhleFZhbHVlID0gKDAsIHRvSGV4X2pzXzEuc3RyaW5nVG9IZXgpKHZhbHVlKTtcbiAgICBjb25zdCBwYXJ0c0xlbmd0aCA9IE1hdGguY2VpbCgoMCwgc2l6ZV9qc18xLnNpemUpKGhleFZhbHVlKSAvIDMyKTtcbiAgICBjb25zdCBwYXJ0cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHNMZW5ndGg7IGkrKykge1xuICAgICAgICBwYXJ0cy5wdXNoKCgwLCBwYWRfanNfMS5wYWRIZXgpKCgwLCBzbGljZV9qc18xLnNsaWNlKShoZXhWYWx1ZSwgaSAqIDMyLCAoaSArIDEpICogMzIpLCB7XG4gICAgICAgICAgICBkaXI6ICdyaWdodCcsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZHluYW1pYzogdHJ1ZSxcbiAgICAgICAgZW5jb2RlZDogKDAsIGNvbmNhdF9qc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgKDAsIHBhZF9qc18xLnBhZEhleCkoKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKCgwLCBzaXplX2pzXzEuc2l6ZSkoaGV4VmFsdWUpLCB7IHNpemU6IDMyIH0pKSxcbiAgICAgICAgICAgIC4uLnBhcnRzLFxuICAgICAgICBdKSxcbiAgICB9O1xufVxuZnVuY3Rpb24gZW5jb2RlVHVwbGUodmFsdWUsIHsgcGFyYW0gfSkge1xuICAgIGxldCBkeW5hbWljID0gZmFsc2U7XG4gICAgY29uc3QgcHJlcGFyZWRQYXJhbXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmFtLmNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgcGFyYW1fID0gcGFyYW0uY29tcG9uZW50c1tpXTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IGkgOiBwYXJhbV8ubmFtZTtcbiAgICAgICAgY29uc3QgcHJlcGFyZWRQYXJhbSA9IHByZXBhcmVQYXJhbSh7XG4gICAgICAgICAgICBwYXJhbTogcGFyYW1fLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlW2luZGV4XSxcbiAgICAgICAgfSk7XG4gICAgICAgIHByZXBhcmVkUGFyYW1zLnB1c2gocHJlcGFyZWRQYXJhbSk7XG4gICAgICAgIGlmIChwcmVwYXJlZFBhcmFtLmR5bmFtaWMpXG4gICAgICAgICAgICBkeW5hbWljID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZHluYW1pYyxcbiAgICAgICAgZW5jb2RlZDogZHluYW1pY1xuICAgICAgICAgICAgPyBlbmNvZGVQYXJhbXMocHJlcGFyZWRQYXJhbXMpXG4gICAgICAgICAgICA6ICgwLCBjb25jYXRfanNfMS5jb25jYXQpKHByZXBhcmVkUGFyYW1zLm1hcCgoeyBlbmNvZGVkIH0pID0+IGVuY29kZWQpKSxcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0QXJyYXlDb21wb25lbnRzKHR5cGUpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdHlwZS5tYXRjaCgvXiguKilcXFsoXFxkKyk/XFxdJC8pO1xuICAgIHJldHVybiBtYXRjaGVzXG4gICAgICAgID9cbiAgICAgICAgICAgIFttYXRjaGVzWzJdID8gTnVtYmVyKG1hdGNoZXNbMl0pIDogbnVsbCwgbWF0Y2hlc1sxXV1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG59XG5leHBvcnRzLmdldEFycmF5Q29tcG9uZW50cyA9IGdldEFycmF5Q29tcG9uZW50cztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZUFiaVBhcmFtZXRlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodeDeployData.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodeDeployData.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodeDeployData = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst docsPath = '/docs/contract/encodeDeployData';\nfunction encodeDeployData({ abi, args, bytecode, }) {\n if (!args || args.length === 0)\n return bytecode;\n const description = abi.find((x) => 'type' in x && x.type === 'constructor');\n if (!description)\n throw new abi_js_1.AbiConstructorNotFoundError({ docsPath });\n if (!('inputs' in description))\n throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });\n if (!description.inputs || description.inputs.length === 0)\n throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });\n const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(description.inputs, args);\n return (0, concat_js_1.concatHex)([bytecode, data]);\n}\nexports.encodeDeployData = encodeDeployData;\n//# sourceMappingURL=encodeDeployData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRGVwbG95RGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsaUJBQWlCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzlDLG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQyxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBMEI7QUFDbkU7QUFDQSw0QkFBNEIsc0JBQXNCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELFVBQVU7QUFDbkU7QUFDQSwrREFBK0QsVUFBVTtBQUN6RTtBQUNBLCtEQUErRCxVQUFVO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRGVwbG95RGF0YS5qcz8xNjk3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5lbmNvZGVEZXBsb3lEYXRhID0gdm9pZCAwO1xuY29uc3QgYWJpX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FiaS5qc1wiKTtcbmNvbnN0IGNvbmNhdF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvY29uY2F0LmpzXCIpO1xuY29uc3QgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4vZW5jb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbmNvbnN0IGRvY3NQYXRoID0gJy9kb2NzL2NvbnRyYWN0L2VuY29kZURlcGxveURhdGEnO1xuZnVuY3Rpb24gZW5jb2RlRGVwbG95RGF0YSh7IGFiaSwgYXJncywgYnl0ZWNvZGUsIH0pIHtcbiAgICBpZiAoIWFyZ3MgfHwgYXJncy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBieXRlY29kZTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGFiaS5maW5kKCh4KSA9PiAndHlwZScgaW4geCAmJiB4LnR5cGUgPT09ICdjb25zdHJ1Y3RvcicpO1xuICAgIGlmICghZGVzY3JpcHRpb24pXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlDb25zdHJ1Y3Rvck5vdEZvdW5kRXJyb3IoeyBkb2NzUGF0aCB9KTtcbiAgICBpZiAoISgnaW5wdXRzJyBpbiBkZXNjcmlwdGlvbikpXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlDb25zdHJ1Y3RvclBhcmFtc05vdEZvdW5kRXJyb3IoeyBkb2NzUGF0aCB9KTtcbiAgICBpZiAoIWRlc2NyaXB0aW9uLmlucHV0cyB8fCBkZXNjcmlwdGlvbi5pbnB1dHMubGVuZ3RoID09PSAwKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpQ29uc3RydWN0b3JQYXJhbXNOb3RGb3VuZEVycm9yKHsgZG9jc1BhdGggfSk7XG4gICAgY29uc3QgZGF0YSA9ICgwLCBlbmNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZW5jb2RlQWJpUGFyYW1ldGVycykoZGVzY3JpcHRpb24uaW5wdXRzLCBhcmdzKTtcbiAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdEhleCkoW2J5dGVjb2RlLCBkYXRhXSk7XG59XG5leHBvcnRzLmVuY29kZURlcGxveURhdGEgPSBlbmNvZGVEZXBsb3lEYXRhO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RlRGVwbG95RGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodeDeployData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodeErrorResult.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodeErrorResult.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodeErrorResult = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst getFunctionSelector_js_1 = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nconst getAbiItem_js_1 = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nconst docsPath = '/docs/contract/encodeErrorResult';\nfunction encodeErrorResult({ abi, errorName, args }) {\n let abiItem = abi[0];\n if (errorName) {\n abiItem = (0, getAbiItem_js_1.getAbiItem)({\n abi,\n args,\n name: errorName,\n });\n if (!abiItem)\n throw new abi_js_1.AbiErrorNotFoundError(errorName, { docsPath });\n }\n if (abiItem.type !== 'error')\n throw new abi_js_1.AbiErrorNotFoundError(undefined, { docsPath });\n const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem);\n const signature = (0, getFunctionSelector_js_1.getFunctionSelector)(definition);\n let data = '0x';\n if (args && args.length > 0) {\n if (!abiItem.inputs)\n throw new abi_js_1.AbiErrorInputsNotFoundError(abiItem.name, { docsPath });\n data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.inputs, args);\n }\n return (0, concat_js_1.concatHex)([signature, data]);\n}\nexports.encodeErrorResult = encodeErrorResult;\n//# sourceMappingURL=encodeErrorResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRXJyb3JSZXN1bHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCO0FBQ3pCLGlCQUFpQixtQkFBTyxDQUFDLHVFQUFxQjtBQUM5QyxvQkFBb0IsbUJBQU8sQ0FBQyw0RUFBbUI7QUFDL0MsaUNBQWlDLG1CQUFPLENBQUMsc0dBQWdDO0FBQ3pFLGlDQUFpQyxtQkFBTyxDQUFDLCtGQUEwQjtBQUNuRSwyQkFBMkIsbUJBQU8sQ0FBQyxtRkFBb0I7QUFDdkQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQWlCO0FBQ2pEO0FBQ0EsNkJBQTZCLHNCQUFzQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxrRUFBa0UsVUFBVTtBQUM1RTtBQUNBO0FBQ0EsOERBQThELFVBQVU7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJFQUEyRSxVQUFVO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2FiaS9lbmNvZGVFcnJvclJlc3VsdC5qcz83Y2FmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5lbmNvZGVFcnJvclJlc3VsdCA9IHZvaWQgMDtcbmNvbnN0IGFiaV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hYmkuanNcIik7XG5jb25zdCBjb25jYXRfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL2NvbmNhdC5qc1wiKTtcbmNvbnN0IGdldEZ1bmN0aW9uU2VsZWN0b3JfanNfMSA9IHJlcXVpcmUoXCIuLi9oYXNoL2dldEZ1bmN0aW9uU2VsZWN0b3IuanNcIik7XG5jb25zdCBlbmNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEgPSByZXF1aXJlKFwiLi9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzXCIpO1xuY29uc3QgZm9ybWF0QWJpSXRlbV9qc18xID0gcmVxdWlyZShcIi4vZm9ybWF0QWJpSXRlbS5qc1wiKTtcbmNvbnN0IGdldEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2dldEFiaUl0ZW0uanNcIik7XG5jb25zdCBkb2NzUGF0aCA9ICcvZG9jcy9jb250cmFjdC9lbmNvZGVFcnJvclJlc3VsdCc7XG5mdW5jdGlvbiBlbmNvZGVFcnJvclJlc3VsdCh7IGFiaSwgZXJyb3JOYW1lLCBhcmdzIH0pIHtcbiAgICBsZXQgYWJpSXRlbSA9IGFiaVswXTtcbiAgICBpZiAoZXJyb3JOYW1lKSB7XG4gICAgICAgIGFiaUl0ZW0gPSAoMCwgZ2V0QWJpSXRlbV9qc18xLmdldEFiaUl0ZW0pKHtcbiAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBuYW1lOiBlcnJvck5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWFiaUl0ZW0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRXJyb3JOb3RGb3VuZEVycm9yKGVycm9yTmFtZSwgeyBkb2NzUGF0aCB9KTtcbiAgICB9XG4gICAgaWYgKGFiaUl0ZW0udHlwZSAhPT0gJ2Vycm9yJylcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUVycm9yTm90Rm91bmRFcnJvcih1bmRlZmluZWQsIHsgZG9jc1BhdGggfSk7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9ICgwLCBmb3JtYXRBYmlJdGVtX2pzXzEuZm9ybWF0QWJpSXRlbSkoYWJpSXRlbSk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gKDAsIGdldEZ1bmN0aW9uU2VsZWN0b3JfanNfMS5nZXRGdW5jdGlvblNlbGVjdG9yKShkZWZpbml0aW9uKTtcbiAgICBsZXQgZGF0YSA9ICcweCc7XG4gICAgaWYgKGFyZ3MgJiYgYXJncy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICghYWJpSXRlbS5pbnB1dHMpXG4gICAgICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRXJyb3JJbnB1dHNOb3RGb3VuZEVycm9yKGFiaUl0ZW0ubmFtZSwgeyBkb2NzUGF0aCB9KTtcbiAgICAgICAgZGF0YSA9ICgwLCBlbmNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZW5jb2RlQWJpUGFyYW1ldGVycykoYWJpSXRlbS5pbnB1dHMsIGFyZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdEhleCkoW3NpZ25hdHVyZSwgZGF0YV0pO1xufVxuZXhwb3J0cy5lbmNvZGVFcnJvclJlc3VsdCA9IGVuY29kZUVycm9yUmVzdWx0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RlRXJyb3JSZXN1bHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodeErrorResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodeEventTopics = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst log_js_1 = __webpack_require__(/*! ../../errors/log.js */ \"./node_modules/viem/dist/cjs/errors/log.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst getEventSelector_js_1 = __webpack_require__(/*! ../hash/getEventSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nconst getAbiItem_js_1 = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nfunction encodeEventTopics({ abi, eventName, args }) {\n let abiItem = abi[0];\n if (eventName) {\n abiItem = (0, getAbiItem_js_1.getAbiItem)({\n abi,\n args,\n name: eventName,\n });\n if (!abiItem)\n throw new abi_js_1.AbiEventNotFoundError(eventName, {\n docsPath: '/docs/contract/encodeEventTopics',\n });\n }\n if (abiItem.type !== 'event')\n throw new abi_js_1.AbiEventNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeEventTopics',\n });\n const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem);\n const signature = (0, getEventSelector_js_1.getEventSelector)(definition);\n let topics = [];\n if (args && 'inputs' in abiItem) {\n const indexedInputs = abiItem.inputs?.filter((param) => 'indexed' in param && param.indexed);\n const args_ = Array.isArray(args)\n ? args\n : Object.values(args).length > 0\n ? indexedInputs?.map((x) => args[x.name]) ?? []\n : [];\n if (args_.length > 0) {\n topics =\n indexedInputs?.map((param, i) => Array.isArray(args_[i])\n ? args_[i].map((_, j) => encodeArg({ param, value: args_[i][j] }))\n : args_[i]\n ? encodeArg({ param, value: args_[i] })\n : null) ?? [];\n }\n }\n return [signature, ...topics];\n}\nexports.encodeEventTopics = encodeEventTopics;\nfunction encodeArg({ param, value, }) {\n if (param.type === 'string' || param.type === 'bytes')\n return (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value));\n if (param.type === 'tuple' || param.type.match(/^(.*)\\[(\\d+)?\\]$/))\n throw new log_js_1.FilterTypeNotSupportedError(param.type);\n return (0, encodeAbiParameters_js_1.encodeAbiParameters)([param], [value]);\n}\n//# sourceMappingURL=encodeEventTopics.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRXZlbnRUb3BpY3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCO0FBQ3pCLGlCQUFpQixtQkFBTyxDQUFDLHVFQUFxQjtBQUM5QyxpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMscUJBQXFCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQ3JELDhCQUE4QixtQkFBTyxDQUFDLGdHQUE2QjtBQUNuRSx1QkFBdUIsbUJBQU8sQ0FBQyxrRkFBc0I7QUFDckQsaUNBQWlDLG1CQUFPLENBQUMsK0ZBQTBCO0FBQ25FLDJCQUEyQixtQkFBTyxDQUFDLG1GQUFvQjtBQUN2RCx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBaUI7QUFDakQsNkJBQTZCLHNCQUFzQjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELDJCQUEyQjtBQUNwRjtBQUNBLHNDQUFzQyx3QkFBd0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QixxQkFBcUIsZUFBZTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRXZlbnRUb3BpY3MuanM/M2RkYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZW5jb2RlRXZlbnRUb3BpY3MgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgbG9nX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2xvZy5qc1wiKTtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0J5dGVzLmpzXCIpO1xuY29uc3QgZ2V0RXZlbnRTZWxlY3Rvcl9qc18xID0gcmVxdWlyZShcIi4uL2hhc2gvZ2V0RXZlbnRTZWxlY3Rvci5qc1wiKTtcbmNvbnN0IGtlY2NhazI1Nl9qc18xID0gcmVxdWlyZShcIi4uL2hhc2gva2VjY2FrMjU2LmpzXCIpO1xuY29uc3QgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4vZW5jb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbmNvbnN0IGZvcm1hdEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdEFiaUl0ZW0uanNcIik7XG5jb25zdCBnZXRBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi9nZXRBYmlJdGVtLmpzXCIpO1xuZnVuY3Rpb24gZW5jb2RlRXZlbnRUb3BpY3MoeyBhYmksIGV2ZW50TmFtZSwgYXJncyB9KSB7XG4gICAgbGV0IGFiaUl0ZW0gPSBhYmlbMF07XG4gICAgaWYgKGV2ZW50TmFtZSkge1xuICAgICAgICBhYmlJdGVtID0gKDAsIGdldEFiaUl0ZW1fanNfMS5nZXRBYmlJdGVtKSh7XG4gICAgICAgICAgICBhYmksXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFhYmlJdGVtKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkFiaUV2ZW50Tm90Rm91bmRFcnJvcihldmVudE5hbWUsIHtcbiAgICAgICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L2VuY29kZUV2ZW50VG9waWNzJyxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoYWJpSXRlbS50eXBlICE9PSAnZXZlbnQnKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRXZlbnROb3RGb3VuZEVycm9yKHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9lbmNvZGVFdmVudFRvcGljcycsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGRlZmluaXRpb24gPSAoMCwgZm9ybWF0QWJpSXRlbV9qc18xLmZvcm1hdEFiaUl0ZW0pKGFiaUl0ZW0pO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9ICgwLCBnZXRFdmVudFNlbGVjdG9yX2pzXzEuZ2V0RXZlbnRTZWxlY3RvcikoZGVmaW5pdGlvbik7XG4gICAgbGV0IHRvcGljcyA9IFtdO1xuICAgIGlmIChhcmdzICYmICdpbnB1dHMnIGluIGFiaUl0ZW0pIHtcbiAgICAgICAgY29uc3QgaW5kZXhlZElucHV0cyA9IGFiaUl0ZW0uaW5wdXRzPy5maWx0ZXIoKHBhcmFtKSA9PiAnaW5kZXhlZCcgaW4gcGFyYW0gJiYgcGFyYW0uaW5kZXhlZCk7XG4gICAgICAgIGNvbnN0IGFyZ3NfID0gQXJyYXkuaXNBcnJheShhcmdzKVxuICAgICAgICAgICAgPyBhcmdzXG4gICAgICAgICAgICA6IE9iamVjdC52YWx1ZXMoYXJncykubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgID8gaW5kZXhlZElucHV0cz8ubWFwKCh4KSA9PiBhcmdzW3gubmFtZV0pID8/IFtdXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgaWYgKGFyZ3NfLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRvcGljcyA9XG4gICAgICAgICAgICAgICAgaW5kZXhlZElucHV0cz8ubWFwKChwYXJhbSwgaSkgPT4gQXJyYXkuaXNBcnJheShhcmdzX1tpXSlcbiAgICAgICAgICAgICAgICAgICAgPyBhcmdzX1tpXS5tYXAoKF8sIGopID0+IGVuY29kZUFyZyh7IHBhcmFtLCB2YWx1ZTogYXJnc19baV1bal0gfSkpXG4gICAgICAgICAgICAgICAgICAgIDogYXJnc19baV1cbiAgICAgICAgICAgICAgICAgICAgICAgID8gZW5jb2RlQXJnKHsgcGFyYW0sIHZhbHVlOiBhcmdzX1tpXSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsKSA/PyBbXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW3NpZ25hdHVyZSwgLi4udG9waWNzXTtcbn1cbmV4cG9ydHMuZW5jb2RlRXZlbnRUb3BpY3MgPSBlbmNvZGVFdmVudFRvcGljcztcbmZ1bmN0aW9uIGVuY29kZUFyZyh7IHBhcmFtLCB2YWx1ZSwgfSkge1xuICAgIGlmIChwYXJhbS50eXBlID09PSAnc3RyaW5nJyB8fCBwYXJhbS50eXBlID09PSAnYnl0ZXMnKVxuICAgICAgICByZXR1cm4gKDAsIGtlY2NhazI1Nl9qc18xLmtlY2NhazI1NikoKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKSh2YWx1ZSkpO1xuICAgIGlmIChwYXJhbS50eXBlID09PSAndHVwbGUnIHx8IHBhcmFtLnR5cGUubWF0Y2goL14oLiopXFxbKFxcZCspP1xcXSQvKSlcbiAgICAgICAgdGhyb3cgbmV3IGxvZ19qc18xLkZpbHRlclR5cGVOb3RTdXBwb3J0ZWRFcnJvcihwYXJhbS50eXBlKTtcbiAgICByZXR1cm4gKDAsIGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMS5lbmNvZGVBYmlQYXJhbWV0ZXJzKShbcGFyYW1dLCBbdmFsdWVdKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZUV2ZW50VG9waWNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodeFunctionData = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst getFunctionSelector_js_1 = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst formatAbiItem_js_1 = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nconst getAbiItem_js_1 = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nfunction encodeFunctionData({ abi, args, functionName, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = (0, getAbiItem_js_1.getAbiItem)({\n abi,\n args,\n name: functionName,\n });\n if (!abiItem)\n throw new abi_js_1.AbiFunctionNotFoundError(functionName, {\n docsPath: '/docs/contract/encodeFunctionData',\n });\n }\n if (abiItem.type !== 'function')\n throw new abi_js_1.AbiFunctionNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeFunctionData',\n });\n const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem);\n const signature = (0, getFunctionSelector_js_1.getFunctionSelector)(definition);\n const data = 'inputs' in abiItem && abiItem.inputs\n ? (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.inputs, (args ?? []))\n : undefined;\n return (0, concat_js_1.concatHex)([signature, data ?? '0x']);\n}\nexports.encodeFunctionData = encodeFunctionData;\n//# sourceMappingURL=encodeFunctionData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDBCQUEwQjtBQUMxQixpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMsb0JBQW9CLG1CQUFPLENBQUMsNEVBQW1CO0FBQy9DLGlDQUFpQyxtQkFBTyxDQUFDLHNHQUFnQztBQUN6RSxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBMEI7QUFDbkUsMkJBQTJCLG1CQUFPLENBQUMsbUZBQW9CO0FBQ3ZELHdCQUF3QixtQkFBTyxDQUFDLDZFQUFpQjtBQUNqRCw4QkFBOEIsMEJBQTBCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qcz82YmYwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5lbmNvZGVGdW5jdGlvbkRhdGEgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgY29uY2F0X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9jb25jYXQuanNcIik7XG5jb25zdCBnZXRGdW5jdGlvblNlbGVjdG9yX2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9nZXRGdW5jdGlvblNlbGVjdG9yLmpzXCIpO1xuY29uc3QgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4vZW5jb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbmNvbnN0IGZvcm1hdEFiaUl0ZW1fanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdEFiaUl0ZW0uanNcIik7XG5jb25zdCBnZXRBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi9nZXRBYmlJdGVtLmpzXCIpO1xuZnVuY3Rpb24gZW5jb2RlRnVuY3Rpb25EYXRhKHsgYWJpLCBhcmdzLCBmdW5jdGlvbk5hbWUsIH0pIHtcbiAgICBsZXQgYWJpSXRlbSA9IGFiaVswXTtcbiAgICBpZiAoZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgIGFiaUl0ZW0gPSAoMCwgZ2V0QWJpSXRlbV9qc18xLmdldEFiaUl0ZW0pKHtcbiAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBuYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWFiaUl0ZW0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yKGZ1bmN0aW9uTmFtZSwge1xuICAgICAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZW5jb2RlRnVuY3Rpb25EYXRhJyxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoYWJpSXRlbS50eXBlICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yKHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9lbmNvZGVGdW5jdGlvbkRhdGEnLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gKDAsIGZvcm1hdEFiaUl0ZW1fanNfMS5mb3JtYXRBYmlJdGVtKShhYmlJdGVtKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSAoMCwgZ2V0RnVuY3Rpb25TZWxlY3Rvcl9qc18xLmdldEZ1bmN0aW9uU2VsZWN0b3IpKGRlZmluaXRpb24pO1xuICAgIGNvbnN0IGRhdGEgPSAnaW5wdXRzJyBpbiBhYmlJdGVtICYmIGFiaUl0ZW0uaW5wdXRzXG4gICAgICAgID8gKDAsIGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMS5lbmNvZGVBYmlQYXJhbWV0ZXJzKShhYmlJdGVtLmlucHV0cywgKGFyZ3MgPz8gW10pKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdEhleCkoW3NpZ25hdHVyZSwgZGF0YSA/PyAnMHgnXSk7XG59XG5leHBvcnRzLmVuY29kZUZ1bmN0aW9uRGF0YSA9IGVuY29kZUZ1bmN0aW9uRGF0YTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZUZ1bmN0aW9uRGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodeFunctionResult.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodeFunctionResult.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodeFunctionResult = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst getAbiItem_js_1 = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nconst docsPath = '/docs/contract/encodeFunctionResult';\nfunction encodeFunctionResult({ abi, functionName, result, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = (0, getAbiItem_js_1.getAbiItem)({\n abi,\n name: functionName,\n });\n if (!abiItem)\n throw new abi_js_1.AbiFunctionNotFoundError(functionName, {\n docsPath: '/docs/contract/encodeFunctionResult',\n });\n }\n if (abiItem.type !== 'function')\n throw new abi_js_1.AbiFunctionNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeFunctionResult',\n });\n if (!abiItem.outputs)\n throw new abi_js_1.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });\n let values = Array.isArray(result) ? result : [result];\n if (abiItem.outputs.length === 0 && !values[0])\n values = [];\n return (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.outputs, values);\n}\nexports.encodeFunctionResult = encodeFunctionResult;\n//# sourceMappingURL=encodeFunctionResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25SZXN1bHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsNEJBQTRCO0FBQzVCLGlCQUFpQixtQkFBTyxDQUFDLHVFQUFxQjtBQUM5QyxpQ0FBaUMsbUJBQU8sQ0FBQywrRkFBMEI7QUFDbkUsd0JBQXdCLG1CQUFPLENBQUMsNkVBQWlCO0FBQ2pEO0FBQ0EsZ0NBQWdDLDRCQUE0QjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDJFQUEyRSxVQUFVO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uUmVzdWx0LmpzPzRmYTUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmVuY29kZUZ1bmN0aW9uUmVzdWx0ID0gdm9pZCAwO1xuY29uc3QgYWJpX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FiaS5qc1wiKTtcbmNvbnN0IGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL2VuY29kZUFiaVBhcmFtZXRlcnMuanNcIik7XG5jb25zdCBnZXRBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi9nZXRBYmlJdGVtLmpzXCIpO1xuY29uc3QgZG9jc1BhdGggPSAnL2RvY3MvY29udHJhY3QvZW5jb2RlRnVuY3Rpb25SZXN1bHQnO1xuZnVuY3Rpb24gZW5jb2RlRnVuY3Rpb25SZXN1bHQoeyBhYmksIGZ1bmN0aW9uTmFtZSwgcmVzdWx0LCB9KSB7XG4gICAgbGV0IGFiaUl0ZW0gPSBhYmlbMF07XG4gICAgaWYgKGZ1bmN0aW9uTmFtZSkge1xuICAgICAgICBhYmlJdGVtID0gKDAsIGdldEFiaUl0ZW1fanNfMS5nZXRBYmlJdGVtKSh7XG4gICAgICAgICAgICBhYmksXG4gICAgICAgICAgICBuYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWFiaUl0ZW0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yKGZ1bmN0aW9uTmFtZSwge1xuICAgICAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZW5jb2RlRnVuY3Rpb25SZXN1bHQnLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChhYmlJdGVtLnR5cGUgIT09ICdmdW5jdGlvbicpXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IodW5kZWZpbmVkLCB7XG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L2VuY29kZUZ1bmN0aW9uUmVzdWx0JyxcbiAgICAgICAgfSk7XG4gICAgaWYgKCFhYmlJdGVtLm91dHB1dHMpXG4gICAgICAgIHRocm93IG5ldyBhYmlfanNfMS5BYmlGdW5jdGlvbk91dHB1dHNOb3RGb3VuZEVycm9yKGFiaUl0ZW0ubmFtZSwgeyBkb2NzUGF0aCB9KTtcbiAgICBsZXQgdmFsdWVzID0gQXJyYXkuaXNBcnJheShyZXN1bHQpID8gcmVzdWx0IDogW3Jlc3VsdF07XG4gICAgaWYgKGFiaUl0ZW0ub3V0cHV0cy5sZW5ndGggPT09IDAgJiYgIXZhbHVlc1swXSlcbiAgICAgICAgdmFsdWVzID0gW107XG4gICAgcmV0dXJuICgwLCBlbmNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZW5jb2RlQWJpUGFyYW1ldGVycykoYWJpSXRlbS5vdXRwdXRzLCB2YWx1ZXMpO1xufVxuZXhwb3J0cy5lbmNvZGVGdW5jdGlvblJlc3VsdCA9IGVuY29kZUZ1bmN0aW9uUmVzdWx0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RlRnVuY3Rpb25SZXN1bHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodeFunctionResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/encodePacked.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/encodePacked.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodePacked = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst pad_js_1 = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst regex_js_1 = __webpack_require__(/*! ../regex.js */ \"./node_modules/viem/dist/cjs/utils/regex.js\");\nfunction encodePacked(types, values) {\n if (types.length !== values.length)\n throw new abi_js_1.AbiEncodingLengthMismatchError({\n expectedLength: types.length,\n givenLength: values.length,\n });\n const data = [];\n for (let i = 0; i < types.length; i++) {\n const type = types[i];\n const value = values[i];\n data.push(encode(type, value));\n }\n return (0, concat_js_1.concat)(data);\n}\nexports.encodePacked = encodePacked;\nfunction encode(type, value, isArray = false) {\n if (type === 'address') {\n const address = value;\n if (!(0, isAddress_js_1.isAddress)(address))\n throw new address_js_1.InvalidAddressError({ address });\n return (0, pad_js_1.pad)(address.toLowerCase(), {\n size: isArray ? 32 : null,\n });\n }\n if (type === 'string')\n return (0, toHex_js_1.stringToHex)(value);\n if (type === 'bytes')\n return value;\n if (type === 'bool')\n return (0, pad_js_1.pad)((0, toHex_js_1.boolToHex)(value), { size: isArray ? 32 : 1 });\n const intMatch = type.match(regex_js_1.integerRegex);\n if (intMatch) {\n const [_type, baseType, bits = '256'] = intMatch;\n const size = parseInt(bits) / 8;\n return (0, toHex_js_1.numberToHex)(value, {\n size: isArray ? 32 : size,\n signed: baseType === 'int',\n });\n }\n const bytesMatch = type.match(regex_js_1.bytesRegex);\n if (bytesMatch) {\n const [_type, size] = bytesMatch;\n if (parseInt(size) !== (value.length - 2) / 2)\n throw new abi_js_1.BytesSizeMismatchError({\n expectedSize: parseInt(size),\n givenSize: (value.length - 2) / 2,\n });\n return (0, pad_js_1.pad)(value, { dir: 'right', size: isArray ? 32 : null });\n }\n const arrayMatch = type.match(regex_js_1.arrayRegex);\n if (arrayMatch && Array.isArray(value)) {\n const [_type, childType] = arrayMatch;\n const data = [];\n for (let i = 0; i < value.length; i++) {\n data.push(encode(childType, value[i], true));\n }\n return (0, concat_js_1.concat)(data);\n }\n throw new abi_js_1.UnsupportedPackedAbiType(type);\n}\n//# sourceMappingURL=encodePacked.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZW5jb2RlUGFja2VkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQjtBQUNwQixpQkFBaUIsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDOUMscUJBQXFCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3RELHVCQUF1QixtQkFBTyxDQUFDLHdGQUF5QjtBQUN4RCxvQkFBb0IsbUJBQU8sQ0FBQyw0RUFBbUI7QUFDL0MsaUJBQWlCLG1CQUFPLENBQUMsc0VBQWdCO0FBQ3pDLG1CQUFtQixtQkFBTyxDQUFDLGtGQUFzQjtBQUNqRCxtQkFBbUIsbUJBQU8sQ0FBQyxnRUFBYTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsU0FBUztBQUNsRTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFFQUFxRSx3QkFBd0I7QUFDN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYiwwQ0FBMEMseUNBQXlDO0FBQ25GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isa0JBQWtCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2FiaS9lbmNvZGVQYWNrZWQuanM/YzQwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZW5jb2RlUGFja2VkID0gdm9pZCAwO1xuY29uc3QgYWJpX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FiaS5qc1wiKTtcbmNvbnN0IGFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWRkcmVzcy5qc1wiKTtcbmNvbnN0IGlzQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uL2FkZHJlc3MvaXNBZGRyZXNzLmpzXCIpO1xuY29uc3QgY29uY2F0X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9jb25jYXQuanNcIik7XG5jb25zdCBwYWRfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL3BhZC5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCByZWdleF9qc18xID0gcmVxdWlyZShcIi4uL3JlZ2V4LmpzXCIpO1xuZnVuY3Rpb24gZW5jb2RlUGFja2VkKHR5cGVzLCB2YWx1ZXMpIHtcbiAgICBpZiAodHlwZXMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgYWJpX2pzXzEuQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yKHtcbiAgICAgICAgICAgIGV4cGVjdGVkTGVuZ3RoOiB0eXBlcy5sZW5ndGgsXG4gICAgICAgICAgICBnaXZlbkxlbmd0aDogdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IHR5cGVzW2ldO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpXTtcbiAgICAgICAgZGF0YS5wdXNoKGVuY29kZSh0eXBlLCB2YWx1ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdCkoZGF0YSk7XG59XG5leHBvcnRzLmVuY29kZVBhY2tlZCA9IGVuY29kZVBhY2tlZDtcbmZ1bmN0aW9uIGVuY29kZSh0eXBlLCB2YWx1ZSwgaXNBcnJheSA9IGZhbHNlKSB7XG4gICAgaWYgKHR5cGUgPT09ICdhZGRyZXNzJykge1xuICAgICAgICBjb25zdCBhZGRyZXNzID0gdmFsdWU7XG4gICAgICAgIGlmICghKDAsIGlzQWRkcmVzc19qc18xLmlzQWRkcmVzcykoYWRkcmVzcykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgYWRkcmVzc19qc18xLkludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzIH0pO1xuICAgICAgICByZXR1cm4gKDAsIHBhZF9qc18xLnBhZCkoYWRkcmVzcy50b0xvd2VyQ2FzZSgpLCB7XG4gICAgICAgICAgICBzaXplOiBpc0FycmF5ID8gMzIgOiBudWxsLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm4gKDAsIHRvSGV4X2pzXzEuc3RyaW5nVG9IZXgpKHZhbHVlKTtcbiAgICBpZiAodHlwZSA9PT0gJ2J5dGVzJylcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIGlmICh0eXBlID09PSAnYm9vbCcpXG4gICAgICAgIHJldHVybiAoMCwgcGFkX2pzXzEucGFkKSgoMCwgdG9IZXhfanNfMS5ib29sVG9IZXgpKHZhbHVlKSwgeyBzaXplOiBpc0FycmF5ID8gMzIgOiAxIH0pO1xuICAgIGNvbnN0IGludE1hdGNoID0gdHlwZS5tYXRjaChyZWdleF9qc18xLmludGVnZXJSZWdleCk7XG4gICAgaWYgKGludE1hdGNoKSB7XG4gICAgICAgIGNvbnN0IFtfdHlwZSwgYmFzZVR5cGUsIGJpdHMgPSAnMjU2J10gPSBpbnRNYXRjaDtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHBhcnNlSW50KGJpdHMpIC8gODtcbiAgICAgICAgcmV0dXJuICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KSh2YWx1ZSwge1xuICAgICAgICAgICAgc2l6ZTogaXNBcnJheSA/IDMyIDogc2l6ZSxcbiAgICAgICAgICAgIHNpZ25lZDogYmFzZVR5cGUgPT09ICdpbnQnLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgYnl0ZXNNYXRjaCA9IHR5cGUubWF0Y2gocmVnZXhfanNfMS5ieXRlc1JlZ2V4KTtcbiAgICBpZiAoYnl0ZXNNYXRjaCkge1xuICAgICAgICBjb25zdCBbX3R5cGUsIHNpemVdID0gYnl0ZXNNYXRjaDtcbiAgICAgICAgaWYgKHBhcnNlSW50KHNpemUpICE9PSAodmFsdWUubGVuZ3RoIC0gMikgLyAyKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkJ5dGVzU2l6ZU1pc21hdGNoRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGV4cGVjdGVkU2l6ZTogcGFyc2VJbnQoc2l6ZSksXG4gICAgICAgICAgICAgICAgZ2l2ZW5TaXplOiAodmFsdWUubGVuZ3RoIC0gMikgLyAyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAoMCwgcGFkX2pzXzEucGFkKSh2YWx1ZSwgeyBkaXI6ICdyaWdodCcsIHNpemU6IGlzQXJyYXkgPyAzMiA6IG51bGwgfSk7XG4gICAgfVxuICAgIGNvbnN0IGFycmF5TWF0Y2ggPSB0eXBlLm1hdGNoKHJlZ2V4X2pzXzEuYXJyYXlSZWdleCk7XG4gICAgaWYgKGFycmF5TWF0Y2ggJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgW190eXBlLCBjaGlsZFR5cGVdID0gYXJyYXlNYXRjaDtcbiAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBkYXRhLnB1c2goZW5jb2RlKGNoaWxkVHlwZSwgdmFsdWVbaV0sIHRydWUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdCkoZGF0YSk7XG4gICAgfVxuICAgIHRocm93IG5ldyBhYmlfanNfMS5VbnN1cHBvcnRlZFBhY2tlZEFiaVR5cGUodHlwZSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVQYWNrZWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/encodePacked.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatAbiParams = exports.formatAbiItem = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nfunction formatAbiItem(abiItem, { includeName = false } = {}) {\n if (abiItem.type !== 'function' &&\n abiItem.type !== 'event' &&\n abiItem.type !== 'error')\n throw new abi_js_1.InvalidDefinitionTypeError(abiItem.type);\n return `${abiItem.name}(${formatAbiParams(abiItem.inputs, { includeName })})`;\n}\nexports.formatAbiItem = formatAbiItem;\nfunction formatAbiParams(params, { includeName = false } = {}) {\n if (!params)\n return '';\n return params\n .map((param) => formatAbiParam(param, { includeName }))\n .join(includeName ? ', ' : ',');\n}\nexports.formatAbiParams = formatAbiParams;\nfunction formatAbiParam(param, { includeName }) {\n if (param.type.startsWith('tuple')) {\n return `(${formatAbiParams(param.components, { includeName })})${param.type.slice('tuple'.length)}`;\n }\n return param.type + (includeName && param.name ? ` ${param.name}` : '');\n}\n//# sourceMappingURL=formatAbiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZm9ybWF0QWJpSXRlbS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx1QkFBdUIsR0FBRyxxQkFBcUI7QUFDL0MsaUJBQWlCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzlDLGtDQUFrQyxzQkFBc0IsSUFBSTtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsYUFBYSxHQUFHLGtDQUFrQyxhQUFhLEVBQUU7QUFDL0U7QUFDQSxxQkFBcUI7QUFDckIsbUNBQW1DLHNCQUFzQixJQUFJO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxhQUFhO0FBQzdEO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkIsaUNBQWlDLGFBQWE7QUFDOUM7QUFDQSxtQkFBbUIsb0NBQW9DLGFBQWEsRUFBRSxHQUFHLGlDQUFpQztBQUMxRztBQUNBLHlEQUF5RCxXQUFXO0FBQ3BFO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWJpL2Zvcm1hdEFiaUl0ZW0uanM/ZGI0NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZm9ybWF0QWJpUGFyYW1zID0gZXhwb3J0cy5mb3JtYXRBYmlJdGVtID0gdm9pZCAwO1xuY29uc3QgYWJpX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FiaS5qc1wiKTtcbmZ1bmN0aW9uIGZvcm1hdEFiaUl0ZW0oYWJpSXRlbSwgeyBpbmNsdWRlTmFtZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIGlmIChhYmlJdGVtLnR5cGUgIT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgYWJpSXRlbS50eXBlICE9PSAnZXZlbnQnICYmXG4gICAgICAgIGFiaUl0ZW0udHlwZSAhPT0gJ2Vycm9yJylcbiAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkludmFsaWREZWZpbml0aW9uVHlwZUVycm9yKGFiaUl0ZW0udHlwZSk7XG4gICAgcmV0dXJuIGAke2FiaUl0ZW0ubmFtZX0oJHtmb3JtYXRBYmlQYXJhbXMoYWJpSXRlbS5pbnB1dHMsIHsgaW5jbHVkZU5hbWUgfSl9KWA7XG59XG5leHBvcnRzLmZvcm1hdEFiaUl0ZW0gPSBmb3JtYXRBYmlJdGVtO1xuZnVuY3Rpb24gZm9ybWF0QWJpUGFyYW1zKHBhcmFtcywgeyBpbmNsdWRlTmFtZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIGlmICghcGFyYW1zKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgcmV0dXJuIHBhcmFtc1xuICAgICAgICAubWFwKChwYXJhbSkgPT4gZm9ybWF0QWJpUGFyYW0ocGFyYW0sIHsgaW5jbHVkZU5hbWUgfSkpXG4gICAgICAgIC5qb2luKGluY2x1ZGVOYW1lID8gJywgJyA6ICcsJyk7XG59XG5leHBvcnRzLmZvcm1hdEFiaVBhcmFtcyA9IGZvcm1hdEFiaVBhcmFtcztcbmZ1bmN0aW9uIGZvcm1hdEFiaVBhcmFtKHBhcmFtLCB7IGluY2x1ZGVOYW1lIH0pIHtcbiAgICBpZiAocGFyYW0udHlwZS5zdGFydHNXaXRoKCd0dXBsZScpKSB7XG4gICAgICAgIHJldHVybiBgKCR7Zm9ybWF0QWJpUGFyYW1zKHBhcmFtLmNvbXBvbmVudHMsIHsgaW5jbHVkZU5hbWUgfSl9KSR7cGFyYW0udHlwZS5zbGljZSgndHVwbGUnLmxlbmd0aCl9YDtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtLnR5cGUgKyAoaW5jbHVkZU5hbWUgJiYgcGFyYW0ubmFtZSA/IGAgJHtwYXJhbS5uYW1lfWAgOiAnJyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXRBYmlJdGVtLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/formatAbiItemWithArgs.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/formatAbiItemWithArgs.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatAbiItemWithArgs = void 0;\nconst stringify_js_1 = __webpack_require__(/*! ../stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nfunction formatAbiItemWithArgs({ abiItem, args, includeFunctionName = true, includeName = false, }) {\n if (!('name' in abiItem))\n return;\n if (!('inputs' in abiItem))\n return;\n if (!abiItem.inputs)\n return;\n return `${includeFunctionName ? abiItem.name : ''}(${abiItem.inputs\n .map((input, i) => `${includeName && input.name ? `${input.name}: ` : ''}${typeof args[i] === 'object' ? (0, stringify_js_1.stringify)(args[i]) : args[i]}`)\n .join(', ')})`;\n}\nexports.formatAbiItemWithArgs = formatAbiItemWithArgs;\n//# sourceMappingURL=formatAbiItemWithArgs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDZCQUE2QjtBQUM3Qix1QkFBdUIsbUJBQU8sQ0FBQyx3RUFBaUI7QUFDaEQsaUNBQWlDLGlFQUFpRTtBQUNsRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHdDQUF3QyxHQUFHO0FBQ3pELDhCQUE4QiwrQkFBK0IsV0FBVyxTQUFTLEVBQUUsK0VBQStFO0FBQ2xLLG9CQUFvQjtBQUNwQjtBQUNBLDZCQUE2QjtBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzPzc3ZWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmZvcm1hdEFiaUl0ZW1XaXRoQXJncyA9IHZvaWQgMDtcbmNvbnN0IHN0cmluZ2lmeV9qc18xID0gcmVxdWlyZShcIi4uL3N0cmluZ2lmeS5qc1wiKTtcbmZ1bmN0aW9uIGZvcm1hdEFiaUl0ZW1XaXRoQXJncyh7IGFiaUl0ZW0sIGFyZ3MsIGluY2x1ZGVGdW5jdGlvbk5hbWUgPSB0cnVlLCBpbmNsdWRlTmFtZSA9IGZhbHNlLCB9KSB7XG4gICAgaWYgKCEoJ25hbWUnIGluIGFiaUl0ZW0pKVxuICAgICAgICByZXR1cm47XG4gICAgaWYgKCEoJ2lucHV0cycgaW4gYWJpSXRlbSkpXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAoIWFiaUl0ZW0uaW5wdXRzKVxuICAgICAgICByZXR1cm47XG4gICAgcmV0dXJuIGAke2luY2x1ZGVGdW5jdGlvbk5hbWUgPyBhYmlJdGVtLm5hbWUgOiAnJ30oJHthYmlJdGVtLmlucHV0c1xuICAgICAgICAubWFwKChpbnB1dCwgaSkgPT4gYCR7aW5jbHVkZU5hbWUgJiYgaW5wdXQubmFtZSA/IGAke2lucHV0Lm5hbWV9OiBgIDogJyd9JHt0eXBlb2YgYXJnc1tpXSA9PT0gJ29iamVjdCcgPyAoMCwgc3RyaW5naWZ5X2pzXzEuc3RyaW5naWZ5KShhcmdzW2ldKSA6IGFyZ3NbaV19YClcbiAgICAgICAgLmpvaW4oJywgJyl9KWA7XG59XG5leHBvcnRzLmZvcm1hdEFiaUl0ZW1XaXRoQXJncyA9IGZvcm1hdEFiaUl0ZW1XaXRoQXJncztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdEFiaUl0ZW1XaXRoQXJncy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/formatAbiItemWithArgs.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isArgOfType = exports.getAbiItem = void 0;\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nfunction getAbiItem({ abi, args = [], name, }) {\n const abiItems = abi.filter((x) => 'name' in x && x.name === name);\n if (abiItems.length === 0)\n return undefined;\n if (abiItems.length === 1)\n return abiItems[0];\n for (const abiItem of abiItems) {\n if (!('inputs' in abiItem))\n continue;\n if (!args || args.length === 0) {\n if (!abiItem.inputs || abiItem.inputs.length === 0)\n return abiItem;\n continue;\n }\n if (!abiItem.inputs)\n continue;\n if (abiItem.inputs.length === 0)\n continue;\n if (abiItem.inputs.length !== args.length)\n continue;\n const matched = args.every((arg, index) => {\n const abiParameter = 'inputs' in abiItem && abiItem.inputs[index];\n if (!abiParameter)\n return false;\n return isArgOfType(arg, abiParameter);\n });\n if (matched)\n return abiItem;\n }\n return abiItems[0];\n}\nexports.getAbiItem = getAbiItem;\nfunction isArgOfType(arg, abiParameter) {\n const argType = typeof arg;\n const abiParameterType = abiParameter.type;\n switch (abiParameterType) {\n case 'address':\n return (0, isAddress_js_1.isAddress)(arg);\n case 'bool':\n return argType === 'boolean';\n case 'function':\n return argType === 'string';\n case 'string':\n return argType === 'string';\n default: {\n if (abiParameterType === 'tuple' && 'components' in abiParameter)\n return Object.values(abiParameter.components).every((component, index) => {\n return isArgOfType(Object.values(arg)[index], component);\n });\n if (/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(abiParameterType))\n return argType === 'number' || argType === 'bigint';\n if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType))\n return argType === 'string' || arg instanceof Uint8Array;\n if (/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(abiParameterType)) {\n return (Array.isArray(arg) &&\n arg.every((x) => isArgOfType(x, {\n ...abiParameter,\n type: abiParameterType.replace(/(\\[[0-9]{0,}\\])$/, ''),\n })));\n }\n return false;\n }\n }\n}\nexports.isArgOfType = isArgOfType;\n//# sourceMappingURL=getAbiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hYmkvZ2V0QWJpSXRlbS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUIsR0FBRyxrQkFBa0I7QUFDeEMsdUJBQXVCLG1CQUFPLENBQUMsd0ZBQXlCO0FBQ3hELHNCQUFzQix1QkFBdUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsSUFBSSxTQUFTLEdBQUc7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLEdBQUc7QUFDcEUscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWJpL2dldEFiaUl0ZW0uanM/MzQ0MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaXNBcmdPZlR5cGUgPSBleHBvcnRzLmdldEFiaUl0ZW0gPSB2b2lkIDA7XG5jb25zdCBpc0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi9hZGRyZXNzL2lzQWRkcmVzcy5qc1wiKTtcbmZ1bmN0aW9uIGdldEFiaUl0ZW0oeyBhYmksIGFyZ3MgPSBbXSwgbmFtZSwgfSkge1xuICAgIGNvbnN0IGFiaUl0ZW1zID0gYWJpLmZpbHRlcigoeCkgPT4gJ25hbWUnIGluIHggJiYgeC5uYW1lID09PSBuYW1lKTtcbiAgICBpZiAoYWJpSXRlbXMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChhYmlJdGVtcy5sZW5ndGggPT09IDEpXG4gICAgICAgIHJldHVybiBhYmlJdGVtc1swXTtcbiAgICBmb3IgKGNvbnN0IGFiaUl0ZW0gb2YgYWJpSXRlbXMpIHtcbiAgICAgICAgaWYgKCEoJ2lucHV0cycgaW4gYWJpSXRlbSkpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKCFhcmdzIHx8IGFyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBpZiAoIWFiaUl0ZW0uaW5wdXRzIHx8IGFiaUl0ZW0uaW5wdXRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICByZXR1cm4gYWJpSXRlbTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYWJpSXRlbS5pbnB1dHMpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGFiaUl0ZW0uaW5wdXRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBpZiAoYWJpSXRlbS5pbnB1dHMubGVuZ3RoICE9PSBhcmdzLmxlbmd0aClcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBtYXRjaGVkID0gYXJncy5ldmVyeSgoYXJnLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVyID0gJ2lucHV0cycgaW4gYWJpSXRlbSAmJiBhYmlJdGVtLmlucHV0c1tpbmRleF07XG4gICAgICAgICAgICBpZiAoIWFiaVBhcmFtZXRlcilcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gaXNBcmdPZlR5cGUoYXJnLCBhYmlQYXJhbWV0ZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG1hdGNoZWQpXG4gICAgICAgICAgICByZXR1cm4gYWJpSXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIGFiaUl0ZW1zWzBdO1xufVxuZXhwb3J0cy5nZXRBYmlJdGVtID0gZ2V0QWJpSXRlbTtcbmZ1bmN0aW9uIGlzQXJnT2ZUeXBlKGFyZywgYWJpUGFyYW1ldGVyKSB7XG4gICAgY29uc3QgYXJnVHlwZSA9IHR5cGVvZiBhcmc7XG4gICAgY29uc3QgYWJpUGFyYW1ldGVyVHlwZSA9IGFiaVBhcmFtZXRlci50eXBlO1xuICAgIHN3aXRjaCAoYWJpUGFyYW1ldGVyVHlwZSkge1xuICAgICAgICBjYXNlICdhZGRyZXNzJzpcbiAgICAgICAgICAgIHJldHVybiAoMCwgaXNBZGRyZXNzX2pzXzEuaXNBZGRyZXNzKShhcmcpO1xuICAgICAgICBjYXNlICdib29sJzpcbiAgICAgICAgICAgIHJldHVybiBhcmdUeXBlID09PSAnYm9vbGVhbic7XG4gICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgICAgIHJldHVybiBhcmdUeXBlID09PSAnc3RyaW5nJztcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIHJldHVybiBhcmdUeXBlID09PSAnc3RyaW5nJztcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKGFiaVBhcmFtZXRlclR5cGUgPT09ICd0dXBsZScgJiYgJ2NvbXBvbmVudHMnIGluIGFiaVBhcmFtZXRlcilcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhhYmlQYXJhbWV0ZXIuY29tcG9uZW50cykuZXZlcnkoKGNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQXJnT2ZUeXBlKE9iamVjdC52YWx1ZXMoYXJnKVtpbmRleF0sIGNvbXBvbmVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoL151P2ludCg4fDE2fDI0fDMyfDQwfDQ4fDU2fDY0fDcyfDgwfDg4fDk2fDEwNHwxMTJ8MTIwfDEyOHwxMzZ8MTQ0fDE1MnwxNjB8MTY4fDE3NnwxODR8MTkyfDIwMHwyMDh8MjE2fDIyNHwyMzJ8MjQwfDI0OHwyNTYpPyQvLnRlc3QoYWJpUGFyYW1ldGVyVHlwZSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFyZ1R5cGUgPT09ICdudW1iZXInIHx8IGFyZ1R5cGUgPT09ICdiaWdpbnQnO1xuICAgICAgICAgICAgaWYgKC9eYnl0ZXMoWzEtOV18MVswLTldfDJbMC05XXwzWzAtMl0pPyQvLnRlc3QoYWJpUGFyYW1ldGVyVHlwZSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFyZ1R5cGUgPT09ICdzdHJpbmcnIHx8IGFyZyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk7XG4gICAgICAgICAgICBpZiAoL1thLXpdK1sxLTldezAsM30oXFxbWzAtOV17MCx9XFxdKSskLy50ZXN0KGFiaVBhcmFtZXRlclR5cGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChBcnJheS5pc0FycmF5KGFyZykgJiZcbiAgICAgICAgICAgICAgICAgICAgYXJnLmV2ZXJ5KCh4KSA9PiBpc0FyZ09mVHlwZSh4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5hYmlQYXJhbWV0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhYmlQYXJhbWV0ZXJUeXBlLnJlcGxhY2UoLyhcXFtbMC05XXswLH1cXF0pJC8sICcnKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuaXNBcmdPZlR5cGUgPSBpc0FyZ09mVHlwZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEFiaUl0ZW0uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/address/getAddress.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/address/getAddress.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getAddress = exports.checksumAddress = void 0;\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ./isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nfunction checksumAddress(address_, chainId) {\n const hexAddress = chainId\n ? `${chainId}${address_.toLowerCase()}`\n : address_.substring(2).toLowerCase();\n const hash = (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(hexAddress), 'bytes');\n const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n for (let i = 0; i < 40; i += 2) {\n if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n address[i] = address[i].toUpperCase();\n }\n if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n address[i + 1] = address[i + 1].toUpperCase();\n }\n }\n return `0x${address.join('')}`;\n}\nexports.checksumAddress = checksumAddress;\nfunction getAddress(address, chainId) {\n if (!(0, isAddress_js_1.isAddress)(address))\n throw new address_js_1.InvalidAddressError({ address });\n return checksumAddress(address, chainId);\n}\nexports.getAddress = getAddress;\n//# sourceMappingURL=getAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hZGRyZXNzL2dldEFkZHJlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCLEdBQUcsdUJBQXVCO0FBQzVDLHFCQUFxQixtQkFBTyxDQUFDLCtFQUF5QjtBQUN0RCxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQsdUJBQXVCLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ3JELHVCQUF1QixtQkFBTyxDQUFDLCtFQUFnQjtBQUMvQztBQUNBO0FBQ0EsYUFBYSxRQUFRLEVBQUUsdUJBQXVCO0FBQzlDO0FBQ0E7QUFDQSx1REFBdUQsUUFBUTtBQUMvRCxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixpQkFBaUI7QUFDakM7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBLHFEQUFxRCxTQUFTO0FBQzlEO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWRkcmVzcy9nZXRBZGRyZXNzLmpzPzkzMjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldEFkZHJlc3MgPSBleHBvcnRzLmNoZWNrc3VtQWRkcmVzcyA9IHZvaWQgMDtcbmNvbnN0IGFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWRkcmVzcy5qc1wiKTtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0J5dGVzLmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9rZWNjYWsyNTYuanNcIik7XG5jb25zdCBpc0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL2lzQWRkcmVzcy5qc1wiKTtcbmZ1bmN0aW9uIGNoZWNrc3VtQWRkcmVzcyhhZGRyZXNzXywgY2hhaW5JZCkge1xuICAgIGNvbnN0IGhleEFkZHJlc3MgPSBjaGFpbklkXG4gICAgICAgID8gYCR7Y2hhaW5JZH0ke2FkZHJlc3NfLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgICA6IGFkZHJlc3NfLnN1YnN0cmluZygyKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGhhc2ggPSAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgdG9CeXRlc19qc18xLnN0cmluZ1RvQnl0ZXMpKGhleEFkZHJlc3MpLCAnYnl0ZXMnKTtcbiAgICBjb25zdCBhZGRyZXNzID0gKGNoYWluSWQgPyBoZXhBZGRyZXNzLnN1YnN0cmluZyhgJHtjaGFpbklkfTB4YC5sZW5ndGgpIDogaGV4QWRkcmVzcykuc3BsaXQoJycpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDA7IGkgKz0gMikge1xuICAgICAgICBpZiAoaGFzaFtpID4+IDFdID4+IDQgPj0gOCAmJiBhZGRyZXNzW2ldKSB7XG4gICAgICAgICAgICBhZGRyZXNzW2ldID0gYWRkcmVzc1tpXS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgoaGFzaFtpID4+IDFdICYgMHgwZikgPj0gOCAmJiBhZGRyZXNzW2kgKyAxXSkge1xuICAgICAgICAgICAgYWRkcmVzc1tpICsgMV0gPSBhZGRyZXNzW2kgKyAxXS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgMHgke2FkZHJlc3Muam9pbignJyl9YDtcbn1cbmV4cG9ydHMuY2hlY2tzdW1BZGRyZXNzID0gY2hlY2tzdW1BZGRyZXNzO1xuZnVuY3Rpb24gZ2V0QWRkcmVzcyhhZGRyZXNzLCBjaGFpbklkKSB7XG4gICAgaWYgKCEoMCwgaXNBZGRyZXNzX2pzXzEuaXNBZGRyZXNzKShhZGRyZXNzKSlcbiAgICAgICAgdGhyb3cgbmV3IGFkZHJlc3NfanNfMS5JbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzcyB9KTtcbiAgICByZXR1cm4gY2hlY2tzdW1BZGRyZXNzKGFkZHJlc3MsIGNoYWluSWQpO1xufVxuZXhwb3J0cy5nZXRBZGRyZXNzID0gZ2V0QWRkcmVzcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEFkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/address/getAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/address/getContractAddress.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/address/getContractAddress.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getCreate2Address = exports.getCreateAddress = exports.getContractAddress = void 0;\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst isBytes_js_1 = __webpack_require__(/*! ../data/isBytes.js */ \"./node_modules/viem/dist/cjs/utils/data/isBytes.js\");\nconst pad_js_1 = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst toRlp_js_1 = __webpack_require__(/*! ../encoding/toRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toRlp.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst getAddress_js_1 = __webpack_require__(/*! ./getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nfunction getContractAddress(opts) {\n if (opts.opcode === 'CREATE2')\n return getCreate2Address(opts);\n return getCreateAddress(opts);\n}\nexports.getContractAddress = getContractAddress;\nfunction getCreateAddress(opts) {\n const from = (0, toBytes_js_1.toBytes)((0, getAddress_js_1.getAddress)(opts.from));\n let nonce = (0, toBytes_js_1.toBytes)(opts.nonce);\n if (nonce[0] === 0)\n nonce = new Uint8Array([]);\n return (0, getAddress_js_1.getAddress)(`0x${(0, keccak256_js_1.keccak256)((0, toRlp_js_1.toRlp)([from, nonce], 'bytes')).slice(26)}`);\n}\nexports.getCreateAddress = getCreateAddress;\nfunction getCreate2Address(opts) {\n const from = (0, toBytes_js_1.toBytes)((0, getAddress_js_1.getAddress)(opts.from));\n const salt = (0, pad_js_1.pad)((0, isBytes_js_1.isBytes)(opts.salt) ? opts.salt : (0, toBytes_js_1.toBytes)(opts.salt), {\n size: 32,\n });\n const bytecodeHash = (0, toBytes_js_1.toBytes)((0, keccak256_js_1.keccak256)(((0, isBytes_js_1.isBytes)(opts.bytecode)\n ? opts.bytecode\n : (0, toBytes_js_1.toBytes)(opts.bytecode))));\n return (0, getAddress_js_1.getAddress)((0, slice_js_1.slice)((0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([(0, toBytes_js_1.toBytes)('0xff'), from, salt, bytecodeHash])), 12));\n}\nexports.getCreate2Address = getCreate2Address;\n//# sourceMappingURL=getContractAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hZGRyZXNzL2dldENvbnRyYWN0QWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx5QkFBeUIsR0FBRyx3QkFBd0IsR0FBRywwQkFBMEI7QUFDakYsb0JBQW9CLG1CQUFPLENBQUMsNEVBQW1CO0FBQy9DLHFCQUFxQixtQkFBTyxDQUFDLDhFQUFvQjtBQUNqRCxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDekMsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLHNGQUF3QjtBQUNyRCxtQkFBbUIsbUJBQU8sQ0FBQyxrRkFBc0I7QUFDakQsdUJBQXVCLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ3JELHdCQUF3QixtQkFBTyxDQUFDLGlGQUFpQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsdUZBQXVGO0FBQ3ZJO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWRkcmVzcy9nZXRDb250cmFjdEFkZHJlc3MuanM/ZmViMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0Q3JlYXRlMkFkZHJlc3MgPSBleHBvcnRzLmdldENyZWF0ZUFkZHJlc3MgPSBleHBvcnRzLmdldENvbnRyYWN0QWRkcmVzcyA9IHZvaWQgMDtcbmNvbnN0IGNvbmNhdF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvY29uY2F0LmpzXCIpO1xuY29uc3QgaXNCeXRlc19qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvaXNCeXRlcy5qc1wiKTtcbmNvbnN0IHBhZF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvcGFkLmpzXCIpO1xuY29uc3Qgc2xpY2VfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL3NsaWNlLmpzXCIpO1xuY29uc3QgdG9CeXRlc19qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL3RvQnl0ZXMuanNcIik7XG5jb25zdCB0b1JscF9qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL3RvUmxwLmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9rZWNjYWsyNTYuanNcIik7XG5jb25zdCBnZXRBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi9nZXRBZGRyZXNzLmpzXCIpO1xuZnVuY3Rpb24gZ2V0Q29udHJhY3RBZGRyZXNzKG9wdHMpIHtcbiAgICBpZiAob3B0cy5vcGNvZGUgPT09ICdDUkVBVEUyJylcbiAgICAgICAgcmV0dXJuIGdldENyZWF0ZTJBZGRyZXNzKG9wdHMpO1xuICAgIHJldHVybiBnZXRDcmVhdGVBZGRyZXNzKG9wdHMpO1xufVxuZXhwb3J0cy5nZXRDb250cmFjdEFkZHJlc3MgPSBnZXRDb250cmFjdEFkZHJlc3M7XG5mdW5jdGlvbiBnZXRDcmVhdGVBZGRyZXNzKG9wdHMpIHtcbiAgICBjb25zdCBmcm9tID0gKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKSgoMCwgZ2V0QWRkcmVzc19qc18xLmdldEFkZHJlc3MpKG9wdHMuZnJvbSkpO1xuICAgIGxldCBub25jZSA9ICgwLCB0b0J5dGVzX2pzXzEudG9CeXRlcykob3B0cy5ub25jZSk7XG4gICAgaWYgKG5vbmNlWzBdID09PSAwKVxuICAgICAgICBub25jZSA9IG5ldyBVaW50OEFycmF5KFtdKTtcbiAgICByZXR1cm4gKDAsIGdldEFkZHJlc3NfanNfMS5nZXRBZGRyZXNzKShgMHgkeygwLCBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTYpKCgwLCB0b1JscF9qc18xLnRvUmxwKShbZnJvbSwgbm9uY2VdLCAnYnl0ZXMnKSkuc2xpY2UoMjYpfWApO1xufVxuZXhwb3J0cy5nZXRDcmVhdGVBZGRyZXNzID0gZ2V0Q3JlYXRlQWRkcmVzcztcbmZ1bmN0aW9uIGdldENyZWF0ZTJBZGRyZXNzKG9wdHMpIHtcbiAgICBjb25zdCBmcm9tID0gKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKSgoMCwgZ2V0QWRkcmVzc19qc18xLmdldEFkZHJlc3MpKG9wdHMuZnJvbSkpO1xuICAgIGNvbnN0IHNhbHQgPSAoMCwgcGFkX2pzXzEucGFkKSgoMCwgaXNCeXRlc19qc18xLmlzQnl0ZXMpKG9wdHMuc2FsdCkgPyBvcHRzLnNhbHQgOiAoMCwgdG9CeXRlc19qc18xLnRvQnl0ZXMpKG9wdHMuc2FsdCksIHtcbiAgICAgICAgc2l6ZTogMzIsXG4gICAgfSk7XG4gICAgY29uc3QgYnl0ZWNvZGVIYXNoID0gKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKSgoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoKDAsIGlzQnl0ZXNfanNfMS5pc0J5dGVzKShvcHRzLmJ5dGVjb2RlKVxuICAgICAgICA/IG9wdHMuYnl0ZWNvZGVcbiAgICAgICAgOiAoMCwgdG9CeXRlc19qc18xLnRvQnl0ZXMpKG9wdHMuYnl0ZWNvZGUpKSkpO1xuICAgIHJldHVybiAoMCwgZ2V0QWRkcmVzc19qc18xLmdldEFkZHJlc3MpKCgwLCBzbGljZV9qc18xLnNsaWNlKSgoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgY29uY2F0X2pzXzEuY29uY2F0KShbKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKSgnMHhmZicpLCBmcm9tLCBzYWx0LCBieXRlY29kZUhhc2hdKSksIDEyKSk7XG59XG5leHBvcnRzLmdldENyZWF0ZTJBZGRyZXNzID0gZ2V0Q3JlYXRlMkFkZHJlc3M7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRDb250cmFjdEFkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/address/getContractAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/address/isAddress.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/address/isAddress.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isAddress = void 0;\nconst addressRegex = /^0x[a-fA-F0-9]{40}$/;\nfunction isAddress(address) {\n return addressRegex.test(address);\n}\nexports.isAddress = isAddress;\n//# sourceMappingURL=isAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hZGRyZXNzL2lzQWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIscUNBQXFDLEdBQUc7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2FkZHJlc3MvaXNBZGRyZXNzLmpzPzkwMWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmlzQWRkcmVzcyA9IHZvaWQgMDtcbmNvbnN0IGFkZHJlc3NSZWdleCA9IC9eMHhbYS1mQS1GMC05XXs0MH0kLztcbmZ1bmN0aW9uIGlzQWRkcmVzcyhhZGRyZXNzKSB7XG4gICAgcmV0dXJuIGFkZHJlc3NSZWdleC50ZXN0KGFkZHJlc3MpO1xufVxuZXhwb3J0cy5pc0FkZHJlc3MgPSBpc0FkZHJlc3M7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0FkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/address/isAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isAddressEqual = void 0;\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ./isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nfunction isAddressEqual(a, b) {\n if (!(0, isAddress_js_1.isAddress)(a))\n throw new address_js_1.InvalidAddressError({ address: a });\n if (!(0, isAddress_js_1.isAddress)(b))\n throw new address_js_1.InvalidAddressError({ address: b });\n return a.toLowerCase() === b.toLowerCase();\n}\nexports.isAddressEqual = isAddressEqual;\n//# sourceMappingURL=isAddressEqual.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9hZGRyZXNzL2lzQWRkcmVzc0VxdWFsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQjtBQUN0QixxQkFBcUIsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdEQsdUJBQXVCLG1CQUFPLENBQUMsK0VBQWdCO0FBQy9DO0FBQ0E7QUFDQSxxREFBcUQsWUFBWTtBQUNqRTtBQUNBLHFEQUFxRCxZQUFZO0FBQ2pFO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvYWRkcmVzcy9pc0FkZHJlc3NFcXVhbC5qcz8xOGFlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc0FkZHJlc3NFcXVhbCA9IHZvaWQgMDtcbmNvbnN0IGFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWRkcmVzcy5qc1wiKTtcbmNvbnN0IGlzQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4vaXNBZGRyZXNzLmpzXCIpO1xuZnVuY3Rpb24gaXNBZGRyZXNzRXF1YWwoYSwgYikge1xuICAgIGlmICghKDAsIGlzQWRkcmVzc19qc18xLmlzQWRkcmVzcykoYSkpXG4gICAgICAgIHRocm93IG5ldyBhZGRyZXNzX2pzXzEuSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3M6IGEgfSk7XG4gICAgaWYgKCEoMCwgaXNBZGRyZXNzX2pzXzEuaXNBZGRyZXNzKShiKSlcbiAgICAgICAgdGhyb3cgbmV3IGFkZHJlc3NfanNfMS5JbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogYiB9KTtcbiAgICByZXR1cm4gYS50b0xvd2VyQ2FzZSgpID09PSBiLnRvTG93ZXJDYXNlKCk7XG59XG5leHBvcnRzLmlzQWRkcmVzc0VxdWFsID0gaXNBZGRyZXNzRXF1YWw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0FkZHJlc3NFcXVhbC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/buildRequest.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/buildRequest.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.buildRequest = exports.isDeterministicError = void 0;\nconst base_js_1 = __webpack_require__(/*! ../errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst request_js_1 = __webpack_require__(/*! ../errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst rpc_js_1 = __webpack_require__(/*! ../errors/rpc.js */ \"./node_modules/viem/dist/cjs/errors/rpc.js\");\nconst withRetry_js_1 = __webpack_require__(/*! ./promise/withRetry.js */ \"./node_modules/viem/dist/cjs/utils/promise/withRetry.js\");\nconst isDeterministicError = (error) => {\n if ('code' in error)\n return (error.code !== -1 &&\n error.code !== -32004 &&\n error.code !== -32005 &&\n error.code !== -32042 &&\n error.code !== -32603);\n if (error instanceof request_js_1.HttpRequestError && error.status)\n return (error.status !== 403 &&\n error.status !== 408 &&\n error.status !== 413 &&\n error.status !== 429 &&\n error.status !== 500 &&\n error.status !== 502 &&\n error.status !== 503 &&\n error.status !== 504);\n return false;\n};\nexports.isDeterministicError = isDeterministicError;\nfunction buildRequest(request, { retryDelay = 150, retryCount = 3, } = {}) {\n return (async (args) => (0, withRetry_js_1.withRetry)(async () => {\n try {\n return await request(args);\n }\n catch (err_) {\n const err = err_;\n switch (err.code) {\n case rpc_js_1.ParseRpcError.code:\n throw new rpc_js_1.ParseRpcError(err);\n case rpc_js_1.InvalidRequestRpcError.code:\n throw new rpc_js_1.InvalidRequestRpcError(err);\n case rpc_js_1.MethodNotFoundRpcError.code:\n throw new rpc_js_1.MethodNotFoundRpcError(err);\n case rpc_js_1.InvalidParamsRpcError.code:\n throw new rpc_js_1.InvalidParamsRpcError(err);\n case rpc_js_1.InternalRpcError.code:\n throw new rpc_js_1.InternalRpcError(err);\n case rpc_js_1.InvalidInputRpcError.code:\n throw new rpc_js_1.InvalidInputRpcError(err);\n case rpc_js_1.ResourceNotFoundRpcError.code:\n throw new rpc_js_1.ResourceNotFoundRpcError(err);\n case rpc_js_1.ResourceUnavailableRpcError.code:\n throw new rpc_js_1.ResourceUnavailableRpcError(err);\n case rpc_js_1.TransactionRejectedRpcError.code:\n throw new rpc_js_1.TransactionRejectedRpcError(err);\n case rpc_js_1.MethodNotSupportedRpcError.code:\n throw new rpc_js_1.MethodNotSupportedRpcError(err);\n case rpc_js_1.LimitExceededRpcError.code:\n throw new rpc_js_1.LimitExceededRpcError(err);\n case rpc_js_1.JsonRpcVersionUnsupportedError.code:\n throw new rpc_js_1.JsonRpcVersionUnsupportedError(err);\n case rpc_js_1.UserRejectedRequestError.code:\n throw new rpc_js_1.UserRejectedRequestError(err);\n case rpc_js_1.UnauthorizedProviderError.code:\n throw new rpc_js_1.UnauthorizedProviderError(err);\n case rpc_js_1.UnsupportedProviderMethodError.code:\n throw new rpc_js_1.UnsupportedProviderMethodError(err);\n case rpc_js_1.ProviderDisconnectedError.code:\n throw new rpc_js_1.ProviderDisconnectedError(err);\n case rpc_js_1.ChainDisconnectedError.code:\n throw new rpc_js_1.ChainDisconnectedError(err);\n case rpc_js_1.SwitchChainError.code:\n throw new rpc_js_1.SwitchChainError(err);\n default:\n if (err_ instanceof base_js_1.BaseError)\n throw err_;\n throw new rpc_js_1.UnknownRpcError(err);\n }\n }\n }, {\n delay: ({ count, error }) => {\n if (error && error instanceof request_js_1.HttpRequestError) {\n const retryAfter = error?.headers?.get('Retry-After');\n if (retryAfter?.match(/\\d/))\n return parseInt(retryAfter) * 1000;\n }\n return ~~(1 << count) * retryDelay;\n },\n retryCount,\n shouldRetry: ({ error }) => !(0, exports.isDeterministicError)(error),\n }));\n}\nexports.buildRequest = buildRequest;\n//# sourceMappingURL=buildRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9idWlsZFJlcXVlc3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsb0JBQW9CLEdBQUcsNEJBQTRCO0FBQ25ELGtCQUFrQixtQkFBTyxDQUFDLHNFQUFtQjtBQUM3QyxxQkFBcUIsbUJBQU8sQ0FBQyw0RUFBc0I7QUFDbkQsaUJBQWlCLG1CQUFPLENBQUMsb0VBQWtCO0FBQzNDLHVCQUF1QixtQkFBTyxDQUFDLHVGQUF3QjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUIsaUNBQWlDLG9DQUFvQyxJQUFJO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGtCQUFrQixjQUFjO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLHdCQUF3QixPQUFPO0FBQy9CLEtBQUs7QUFDTDtBQUNBLG9CQUFvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9idWlsZFJlcXVlc3QuanM/Nzc4YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuYnVpbGRSZXF1ZXN0ID0gZXhwb3J0cy5pc0RldGVybWluaXN0aWNFcnJvciA9IHZvaWQgMDtcbmNvbnN0IGJhc2VfanNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnMvYmFzZS5qc1wiKTtcbmNvbnN0IHJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnMvcmVxdWVzdC5qc1wiKTtcbmNvbnN0IHJwY19qc18xID0gcmVxdWlyZShcIi4uL2Vycm9ycy9ycGMuanNcIik7XG5jb25zdCB3aXRoUmV0cnlfanNfMSA9IHJlcXVpcmUoXCIuL3Byb21pc2Uvd2l0aFJldHJ5LmpzXCIpO1xuY29uc3QgaXNEZXRlcm1pbmlzdGljRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICBpZiAoJ2NvZGUnIGluIGVycm9yKVxuICAgICAgICByZXR1cm4gKGVycm9yLmNvZGUgIT09IC0xICYmXG4gICAgICAgICAgICBlcnJvci5jb2RlICE9PSAtMzIwMDQgJiZcbiAgICAgICAgICAgIGVycm9yLmNvZGUgIT09IC0zMjAwNSAmJlxuICAgICAgICAgICAgZXJyb3IuY29kZSAhPT0gLTMyMDQyICYmXG4gICAgICAgICAgICBlcnJvci5jb2RlICE9PSAtMzI2MDMpO1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIHJlcXVlc3RfanNfMS5IdHRwUmVxdWVzdEVycm9yICYmIGVycm9yLnN0YXR1cylcbiAgICAgICAgcmV0dXJuIChlcnJvci5zdGF0dXMgIT09IDQwMyAmJlxuICAgICAgICAgICAgZXJyb3Iuc3RhdHVzICE9PSA0MDggJiZcbiAgICAgICAgICAgIGVycm9yLnN0YXR1cyAhPT0gNDEzICYmXG4gICAgICAgICAgICBlcnJvci5zdGF0dXMgIT09IDQyOSAmJlxuICAgICAgICAgICAgZXJyb3Iuc3RhdHVzICE9PSA1MDAgJiZcbiAgICAgICAgICAgIGVycm9yLnN0YXR1cyAhPT0gNTAyICYmXG4gICAgICAgICAgICBlcnJvci5zdGF0dXMgIT09IDUwMyAmJlxuICAgICAgICAgICAgZXJyb3Iuc3RhdHVzICE9PSA1MDQpO1xuICAgIHJldHVybiBmYWxzZTtcbn07XG5leHBvcnRzLmlzRGV0ZXJtaW5pc3RpY0Vycm9yID0gaXNEZXRlcm1pbmlzdGljRXJyb3I7XG5mdW5jdGlvbiBidWlsZFJlcXVlc3QocmVxdWVzdCwgeyByZXRyeURlbGF5ID0gMTUwLCByZXRyeUNvdW50ID0gMywgfSA9IHt9KSB7XG4gICAgcmV0dXJuIChhc3luYyAoYXJncykgPT4gKDAsIHdpdGhSZXRyeV9qc18xLndpdGhSZXRyeSkoYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHJlcXVlc3QoYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycl8pIHtcbiAgICAgICAgICAgIGNvbnN0IGVyciA9IGVycl87XG4gICAgICAgICAgICBzd2l0Y2ggKGVyci5jb2RlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5QYXJzZVJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5QYXJzZVJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5JbnZhbGlkUmVxdWVzdFJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5JbnZhbGlkUmVxdWVzdFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5NZXRob2ROb3RGb3VuZFJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5NZXRob2ROb3RGb3VuZFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5JbnZhbGlkUGFyYW1zUnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHJwY19qc18xLkludmFsaWRQYXJhbXNScGNFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGNhc2UgcnBjX2pzXzEuSW50ZXJuYWxScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcnBjX2pzXzEuSW50ZXJuYWxScGNFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGNhc2UgcnBjX2pzXzEuSW52YWxpZElucHV0UnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHJwY19qc18xLkludmFsaWRJbnB1dFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5SZXNvdXJjZU5vdEZvdW5kUnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHJwY19qc18xLlJlc291cmNlTm90Rm91bmRScGNFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGNhc2UgcnBjX2pzXzEuUmVzb3VyY2VVbmF2YWlsYWJsZVJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5SZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBjYXNlIHJwY19qc18xLlRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcnBjX2pzXzEuVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5NZXRob2ROb3RTdXBwb3J0ZWRScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcnBjX2pzXzEuTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBjYXNlIHJwY19qc18xLkxpbWl0RXhjZWVkZWRScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcnBjX2pzXzEuTGltaXRFeGNlZWRlZFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5Kc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHJwY19qc18xLkpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGNhc2UgcnBjX2pzXzEuVXNlclJlamVjdGVkUmVxdWVzdEVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5Vc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBjYXNlIHJwY19qc18xLlVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHJwY19qc18xLlVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBjYXNlIHJwY19qc18xLlVuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcnBjX2pzXzEuVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5Qcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5Qcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5DaGFpbkRpc2Nvbm5lY3RlZEVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5DaGFpbkRpc2Nvbm5lY3RlZEVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgY2FzZSBycGNfanNfMS5Td2l0Y2hDaGFpbkVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBycGNfanNfMS5Td2l0Y2hDaGFpbkVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycl8gaW5zdGFuY2VvZiBiYXNlX2pzXzEuQmFzZUVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyXztcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHJwY19qc18xLlVua25vd25ScGNFcnJvcihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwge1xuICAgICAgICBkZWxheTogKHsgY291bnQsIGVycm9yIH0pID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvciAmJiBlcnJvciBpbnN0YW5jZW9mIHJlcXVlc3RfanNfMS5IdHRwUmVxdWVzdEVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmV0cnlBZnRlciA9IGVycm9yPy5oZWFkZXJzPy5nZXQoJ1JldHJ5LUFmdGVyJyk7XG4gICAgICAgICAgICAgICAgaWYgKHJldHJ5QWZ0ZXI/Lm1hdGNoKC9cXGQvKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHJldHJ5QWZ0ZXIpICogMTAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB+figxIDw8IGNvdW50KSAqIHJldHJ5RGVsYXk7XG4gICAgICAgIH0sXG4gICAgICAgIHJldHJ5Q291bnQsXG4gICAgICAgIHNob3VsZFJldHJ5OiAoeyBlcnJvciB9KSA9PiAhKDAsIGV4cG9ydHMuaXNEZXRlcm1pbmlzdGljRXJyb3IpKGVycm9yKSxcbiAgICB9KSk7XG59XG5leHBvcnRzLmJ1aWxkUmVxdWVzdCA9IGJ1aWxkUmVxdWVzdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJ1aWxkUmVxdWVzdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/buildRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ccip.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ccip.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ccipFetch = exports.offchainLookup = exports.offchainLookupAbiItem = exports.offchainLookupSignature = void 0;\nconst call_js_1 = __webpack_require__(/*! ../actions/public/call.js */ \"./node_modules/viem/dist/cjs/actions/public/call.js\");\nconst ccip_js_1 = __webpack_require__(/*! ../errors/ccip.js */ \"./node_modules/viem/dist/cjs/errors/ccip.js\");\nconst request_js_1 = __webpack_require__(/*! ../errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst decodeErrorResult_js_1 = __webpack_require__(/*! ./abi/decodeErrorResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js\");\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ./abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst isAddressEqual_js_1 = __webpack_require__(/*! ./address/isAddressEqual.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js\");\nconst concat_js_1 = __webpack_require__(/*! ./data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst isHex_js_1 = __webpack_require__(/*! ./data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst stringify_js_1 = __webpack_require__(/*! ./stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nexports.offchainLookupSignature = '0x556f1830';\nexports.offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nasync function offchainLookup(client, { blockNumber, blockTag, data, to, }) {\n const { args } = (0, decodeErrorResult_js_1.decodeErrorResult)({\n data,\n abi: [exports.offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n try {\n if (!(0, isAddressEqual_js_1.isAddressEqual)(to, sender))\n throw new ccip_js_1.OffchainLookupSenderMismatchError({ sender, to });\n const result = await ccipFetch({ data: callData, sender, urls });\n const { data: data_ } = await (0, call_js_1.call)(client, {\n blockNumber,\n blockTag,\n data: (0, concat_js_1.concat)([\n callbackSelector,\n (0, encodeAbiParameters_js_1.encodeAbiParameters)([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n to,\n });\n return data_;\n }\n catch (err) {\n throw new ccip_js_1.OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexports.offchainLookup = offchainLookup;\nasync function ccipFetch({ data, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n const method = url.includes('{sender}') || url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n try {\n const response = await fetch(url.replace('{sender}', sender).replace('{data}', data), {\n body: JSON.stringify(body),\n method,\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new request_js_1.HttpRequestError({\n body,\n details: (0, stringify_js_1.stringify)(result.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!(0, isHex_js_1.isHex)(result)) {\n error = new ccip_js_1.OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n error = new request_js_1.HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\nexports.ccipFetch = ccipFetch;\n//# sourceMappingURL=ccip.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9jY2lwLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlCQUFpQixHQUFHLHNCQUFzQixHQUFHLDZCQUE2QixHQUFHLCtCQUErQjtBQUM1RyxrQkFBa0IsbUJBQU8sQ0FBQyxzRkFBMkI7QUFDckQsa0JBQWtCLG1CQUFPLENBQUMsc0VBQW1CO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLDRFQUFzQjtBQUNuRCwrQkFBK0IsbUJBQU8sQ0FBQywrRkFBNEI7QUFDbkUsaUNBQWlDLG1CQUFPLENBQUMsbUdBQThCO0FBQ3ZFLDRCQUE0QixtQkFBTyxDQUFDLGlHQUE2QjtBQUNqRSxvQkFBb0IsbUJBQU8sQ0FBQywyRUFBa0I7QUFDOUMsbUJBQW1CLG1CQUFPLENBQUMseUVBQWlCO0FBQzVDLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFnQjtBQUMvQywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHdDQUF3QyxrQ0FBa0M7QUFDMUUsWUFBWSxPQUFPO0FBQ25CO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esb0VBQW9FLFlBQVk7QUFDaEYseUNBQXlDLDhCQUE4QjtBQUN2RSxnQkFBZ0IsY0FBYztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFFQUFxRSxlQUFlLElBQUksZUFBZTtBQUN2RztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIsMkJBQTJCLHFCQUFxQjtBQUNoRDtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQSxzQ0FBc0MsT0FBTyxxQkFBcUIsS0FBSztBQUN2RSwyQ0FBMkMsZUFBZTtBQUMxRDtBQUNBLHVEQUF1RCxPQUFPLHFCQUFxQixLQUFLO0FBQ3hGO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2NjaXAuanM/YTRjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY2NpcEZldGNoID0gZXhwb3J0cy5vZmZjaGFpbkxvb2t1cCA9IGV4cG9ydHMub2ZmY2hhaW5Mb29rdXBBYmlJdGVtID0gZXhwb3J0cy5vZmZjaGFpbkxvb2t1cFNpZ25hdHVyZSA9IHZvaWQgMDtcbmNvbnN0IGNhbGxfanNfMSA9IHJlcXVpcmUoXCIuLi9hY3Rpb25zL3B1YmxpYy9jYWxsLmpzXCIpO1xuY29uc3QgY2NpcF9qc18xID0gcmVxdWlyZShcIi4uL2Vycm9ycy9jY2lwLmpzXCIpO1xuY29uc3QgcmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4uL2Vycm9ycy9yZXF1ZXN0LmpzXCIpO1xuY29uc3QgZGVjb2RlRXJyb3JSZXN1bHRfanNfMSA9IHJlcXVpcmUoXCIuL2FiaS9kZWNvZGVFcnJvclJlc3VsdC5qc1wiKTtcbmNvbnN0IGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL2FiaS9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzXCIpO1xuY29uc3QgaXNBZGRyZXNzRXF1YWxfanNfMSA9IHJlcXVpcmUoXCIuL2FkZHJlc3MvaXNBZGRyZXNzRXF1YWwuanNcIik7XG5jb25zdCBjb25jYXRfanNfMSA9IHJlcXVpcmUoXCIuL2RhdGEvY29uY2F0LmpzXCIpO1xuY29uc3QgaXNIZXhfanNfMSA9IHJlcXVpcmUoXCIuL2RhdGEvaXNIZXguanNcIik7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuL3N0cmluZ2lmeS5qc1wiKTtcbmV4cG9ydHMub2ZmY2hhaW5Mb29rdXBTaWduYXR1cmUgPSAnMHg1NTZmMTgzMCc7XG5leHBvcnRzLm9mZmNoYWluTG9va3VwQWJpSXRlbSA9IHtcbiAgICBuYW1lOiAnT2ZmY2hhaW5Mb29rdXAnLFxuICAgIHR5cGU6ICdlcnJvcicsXG4gICAgaW5wdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdzZW5kZXInLFxuICAgICAgICAgICAgdHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndXJscycsXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nW10nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnY2FsbERhdGEnLFxuICAgICAgICAgICAgdHlwZTogJ2J5dGVzJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NhbGxiYWNrRnVuY3Rpb24nLFxuICAgICAgICAgICAgdHlwZTogJ2J5dGVzNCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdleHRyYURhdGEnLFxuICAgICAgICAgICAgdHlwZTogJ2J5dGVzJyxcbiAgICAgICAgfSxcbiAgICBdLFxufTtcbmFzeW5jIGZ1bmN0aW9uIG9mZmNoYWluTG9va3VwKGNsaWVudCwgeyBibG9ja051bWJlciwgYmxvY2tUYWcsIGRhdGEsIHRvLCB9KSB7XG4gICAgY29uc3QgeyBhcmdzIH0gPSAoMCwgZGVjb2RlRXJyb3JSZXN1bHRfanNfMS5kZWNvZGVFcnJvclJlc3VsdCkoe1xuICAgICAgICBkYXRhLFxuICAgICAgICBhYmk6IFtleHBvcnRzLm9mZmNoYWluTG9va3VwQWJpSXRlbV0sXG4gICAgfSk7XG4gICAgY29uc3QgW3NlbmRlciwgdXJscywgY2FsbERhdGEsIGNhbGxiYWNrU2VsZWN0b3IsIGV4dHJhRGF0YV0gPSBhcmdzO1xuICAgIHRyeSB7XG4gICAgICAgIGlmICghKDAsIGlzQWRkcmVzc0VxdWFsX2pzXzEuaXNBZGRyZXNzRXF1YWwpKHRvLCBzZW5kZXIpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGNjaXBfanNfMS5PZmZjaGFpbkxvb2t1cFNlbmRlck1pc21hdGNoRXJyb3IoeyBzZW5kZXIsIHRvIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjY2lwRmV0Y2goeyBkYXRhOiBjYWxsRGF0YSwgc2VuZGVyLCB1cmxzIH0pO1xuICAgICAgICBjb25zdCB7IGRhdGE6IGRhdGFfIH0gPSBhd2FpdCAoMCwgY2FsbF9qc18xLmNhbGwpKGNsaWVudCwge1xuICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICBibG9ja1RhZyxcbiAgICAgICAgICAgIGRhdGE6ICgwLCBjb25jYXRfanNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBjYWxsYmFja1NlbGVjdG9yLFxuICAgICAgICAgICAgICAgICgwLCBlbmNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEuZW5jb2RlQWJpUGFyYW1ldGVycykoW3sgdHlwZTogJ2J5dGVzJyB9LCB7IHR5cGU6ICdieXRlcycgfV0sIFtyZXN1bHQsIGV4dHJhRGF0YV0pLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0byxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkYXRhXztcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgY2NpcF9qc18xLk9mZmNoYWluTG9va3VwRXJyb3Ioe1xuICAgICAgICAgICAgY2FsbGJhY2tTZWxlY3RvcixcbiAgICAgICAgICAgIGNhdXNlOiBlcnIsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZXh0cmFEYXRhLFxuICAgICAgICAgICAgc2VuZGVyLFxuICAgICAgICAgICAgdXJscyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5vZmZjaGFpbkxvb2t1cCA9IG9mZmNoYWluTG9va3VwO1xuYXN5bmMgZnVuY3Rpb24gY2NpcEZldGNoKHsgZGF0YSwgc2VuZGVyLCB1cmxzLCB9KSB7XG4gICAgbGV0IGVycm9yID0gbmV3IEVycm9yKCdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkLicpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdXJscy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB1cmwgPSB1cmxzW2ldO1xuICAgICAgICBjb25zdCBtZXRob2QgPSB1cmwuaW5jbHVkZXMoJ3tzZW5kZXJ9JykgfHwgdXJsLmluY2x1ZGVzKCd7ZGF0YX0nKSA/ICdHRVQnIDogJ1BPU1QnO1xuICAgICAgICBjb25zdCBib2R5ID0gbWV0aG9kID09PSAnUE9TVCcgPyB7IGRhdGEsIHNlbmRlciB9IDogdW5kZWZpbmVkO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwucmVwbGFjZSgne3NlbmRlcn0nLCBzZW5kZXIpLnJlcGxhY2UoJ3tkYXRhfScsIGRhdGEpLCB7XG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKT8uc3RhcnRzV2l0aCgnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkuZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCByZXNwb25zZS50ZXh0KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgICAgIGVycm9yID0gbmV3IHJlcXVlc3RfanNfMS5IdHRwUmVxdWVzdEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsczogKDAsIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeSkocmVzdWx0LmVycm9yKSB8fCByZXNwb25zZS5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXNwb25zZS5oZWFkZXJzLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCEoMCwgaXNIZXhfanNfMS5pc0hleCkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIGVycm9yID0gbmV3IGNjaXBfanNfMS5PZmZjaGFpbkxvb2t1cFJlc3BvbnNlTWFsZm9ybWVkRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgZXJyb3IgPSBuZXcgcmVxdWVzdF9qc18xLkh0dHBSZXF1ZXN0RXJyb3Ioe1xuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAgZGV0YWlsczogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG59XG5leHBvcnRzLmNjaXBGZXRjaCA9IGNjaXBGZXRjaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNjaXAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ccip.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/chain.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/chain.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getChainContractAddress = exports.defineChain = exports.assertCurrentChain = void 0;\nconst chain_js_1 = __webpack_require__(/*! ../errors/chain.js */ \"./node_modules/viem/dist/cjs/errors/chain.js\");\nfunction assertCurrentChain({ chain, currentChainId, }) {\n if (!chain)\n throw new chain_js_1.ChainNotFoundError();\n if (currentChainId !== chain.id)\n throw new chain_js_1.ChainMismatchError({ chain, currentChainId });\n}\nexports.assertCurrentChain = assertCurrentChain;\nfunction defineChain(chain, config) {\n return {\n ...chain,\n formatters: config?.formatters,\n serializers: config?.serializers,\n };\n}\nexports.defineChain = defineChain;\nfunction getChainContractAddress({ blockNumber, chain, contract: name, }) {\n const contract = chain?.contracts?.[name];\n if (!contract)\n throw new chain_js_1.ChainDoesNotSupportContract({\n chain,\n contract: { name },\n });\n if (blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber)\n throw new chain_js_1.ChainDoesNotSupportContract({\n blockNumber,\n chain,\n contract: {\n name,\n blockCreated: contract.blockCreated,\n },\n });\n return contract.address;\n}\nexports.getChainContractAddress = getChainContractAddress;\n//# sourceMappingURL=chain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9jaGFpbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwrQkFBK0IsR0FBRyxtQkFBbUIsR0FBRywwQkFBMEI7QUFDbEYsbUJBQW1CLG1CQUFPLENBQUMsd0VBQW9CO0FBQy9DLDhCQUE4Qix3QkFBd0I7QUFDdEQ7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELHVCQUF1QjtBQUN6RTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixtQ0FBbUMscUNBQXFDO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLE1BQU07QUFDOUIsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBLCtCQUErQjtBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9jaGFpbi5qcz8xZjNhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyA9IGV4cG9ydHMuZGVmaW5lQ2hhaW4gPSBleHBvcnRzLmFzc2VydEN1cnJlbnRDaGFpbiA9IHZvaWQgMDtcbmNvbnN0IGNoYWluX2pzXzEgPSByZXF1aXJlKFwiLi4vZXJyb3JzL2NoYWluLmpzXCIpO1xuZnVuY3Rpb24gYXNzZXJ0Q3VycmVudENoYWluKHsgY2hhaW4sIGN1cnJlbnRDaGFpbklkLCB9KSB7XG4gICAgaWYgKCFjaGFpbilcbiAgICAgICAgdGhyb3cgbmV3IGNoYWluX2pzXzEuQ2hhaW5Ob3RGb3VuZEVycm9yKCk7XG4gICAgaWYgKGN1cnJlbnRDaGFpbklkICE9PSBjaGFpbi5pZClcbiAgICAgICAgdGhyb3cgbmV3IGNoYWluX2pzXzEuQ2hhaW5NaXNtYXRjaEVycm9yKHsgY2hhaW4sIGN1cnJlbnRDaGFpbklkIH0pO1xufVxuZXhwb3J0cy5hc3NlcnRDdXJyZW50Q2hhaW4gPSBhc3NlcnRDdXJyZW50Q2hhaW47XG5mdW5jdGlvbiBkZWZpbmVDaGFpbihjaGFpbiwgY29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhaW4sXG4gICAgICAgIGZvcm1hdHRlcnM6IGNvbmZpZz8uZm9ybWF0dGVycyxcbiAgICAgICAgc2VyaWFsaXplcnM6IGNvbmZpZz8uc2VyaWFsaXplcnMsXG4gICAgfTtcbn1cbmV4cG9ydHMuZGVmaW5lQ2hhaW4gPSBkZWZpbmVDaGFpbjtcbmZ1bmN0aW9uIGdldENoYWluQ29udHJhY3RBZGRyZXNzKHsgYmxvY2tOdW1iZXIsIGNoYWluLCBjb250cmFjdDogbmFtZSwgfSkge1xuICAgIGNvbnN0IGNvbnRyYWN0ID0gY2hhaW4/LmNvbnRyYWN0cz8uW25hbWVdO1xuICAgIGlmICghY29udHJhY3QpXG4gICAgICAgIHRocm93IG5ldyBjaGFpbl9qc18xLkNoYWluRG9lc05vdFN1cHBvcnRDb250cmFjdCh7XG4gICAgICAgICAgICBjaGFpbixcbiAgICAgICAgICAgIGNvbnRyYWN0OiB7IG5hbWUgfSxcbiAgICAgICAgfSk7XG4gICAgaWYgKGJsb2NrTnVtYmVyICYmXG4gICAgICAgIGNvbnRyYWN0LmJsb2NrQ3JlYXRlZCAmJlxuICAgICAgICBjb250cmFjdC5ibG9ja0NyZWF0ZWQgPiBibG9ja051bWJlcilcbiAgICAgICAgdGhyb3cgbmV3IGNoYWluX2pzXzEuQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0KHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgY2hhaW4sXG4gICAgICAgICAgICBjb250cmFjdDoge1xuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tDcmVhdGVkOiBjb250cmFjdC5ibG9ja0NyZWF0ZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICByZXR1cm4gY29udHJhY3QuYWRkcmVzcztcbn1cbmV4cG9ydHMuZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3MgPSBnZXRDaGFpbkNvbnRyYWN0QWRkcmVzcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNoYWluLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/chain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/contract/extractFunctionParts.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/contract/extractFunctionParts.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.extractFunctionType = exports.extractFunctionParams = exports.extractFunctionName = exports.extractFunctionParts = void 0;\nconst paramsRegex = /((function|event)\\s)?(.*)(\\((.*)\\))/;\nfunction extractFunctionParts(def) {\n const parts = def.match(paramsRegex);\n const type = parts?.[2] || undefined;\n const name = parts?.[3];\n const params = parts?.[5] || undefined;\n return { type, name, params };\n}\nexports.extractFunctionParts = extractFunctionParts;\nfunction extractFunctionName(def) {\n return extractFunctionParts(def).name;\n}\nexports.extractFunctionName = extractFunctionName;\nfunction extractFunctionParams(def) {\n const params = extractFunctionParts(def).params;\n const splitParams = params?.split(',').map((x) => x.trim().split(' '));\n return splitParams?.map((param) => ({\n type: param[0],\n name: param[1] === 'indexed' ? param[2] : param[1],\n ...(param[1] === 'indexed' ? { indexed: true } : {}),\n }));\n}\nexports.extractFunctionParams = extractFunctionParams;\nfunction extractFunctionType(def) {\n return extractFunctionParts(def).type;\n}\nexports.extractFunctionType = extractFunctionType;\n//# sourceMappingURL=extractFunctionParts.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9jb250cmFjdC9leHRyYWN0RnVuY3Rpb25QYXJ0cy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkIsR0FBRyw2QkFBNkIsR0FBRywyQkFBMkIsR0FBRyw0QkFBNEI7QUFDeEg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsZ0JBQWdCLElBQUk7QUFDM0QsS0FBSztBQUNMO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9jb250cmFjdC9leHRyYWN0RnVuY3Rpb25QYXJ0cy5qcz8yNjQxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5leHRyYWN0RnVuY3Rpb25UeXBlID0gZXhwb3J0cy5leHRyYWN0RnVuY3Rpb25QYXJhbXMgPSBleHBvcnRzLmV4dHJhY3RGdW5jdGlvbk5hbWUgPSBleHBvcnRzLmV4dHJhY3RGdW5jdGlvblBhcnRzID0gdm9pZCAwO1xuY29uc3QgcGFyYW1zUmVnZXggPSAvKChmdW5jdGlvbnxldmVudClcXHMpPyguKikoXFwoKC4qKVxcKSkvO1xuZnVuY3Rpb24gZXh0cmFjdEZ1bmN0aW9uUGFydHMoZGVmKSB7XG4gICAgY29uc3QgcGFydHMgPSBkZWYubWF0Y2gocGFyYW1zUmVnZXgpO1xuICAgIGNvbnN0IHR5cGUgPSBwYXJ0cz8uWzJdIHx8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuYW1lID0gcGFydHM/LlszXTtcbiAgICBjb25zdCBwYXJhbXMgPSBwYXJ0cz8uWzVdIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4geyB0eXBlLCBuYW1lLCBwYXJhbXMgfTtcbn1cbmV4cG9ydHMuZXh0cmFjdEZ1bmN0aW9uUGFydHMgPSBleHRyYWN0RnVuY3Rpb25QYXJ0cztcbmZ1bmN0aW9uIGV4dHJhY3RGdW5jdGlvbk5hbWUoZGVmKSB7XG4gICAgcmV0dXJuIGV4dHJhY3RGdW5jdGlvblBhcnRzKGRlZikubmFtZTtcbn1cbmV4cG9ydHMuZXh0cmFjdEZ1bmN0aW9uTmFtZSA9IGV4dHJhY3RGdW5jdGlvbk5hbWU7XG5mdW5jdGlvbiBleHRyYWN0RnVuY3Rpb25QYXJhbXMoZGVmKSB7XG4gICAgY29uc3QgcGFyYW1zID0gZXh0cmFjdEZ1bmN0aW9uUGFydHMoZGVmKS5wYXJhbXM7XG4gICAgY29uc3Qgc3BsaXRQYXJhbXMgPSBwYXJhbXM/LnNwbGl0KCcsJykubWFwKCh4KSA9PiB4LnRyaW0oKS5zcGxpdCgnICcpKTtcbiAgICByZXR1cm4gc3BsaXRQYXJhbXM/Lm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgIHR5cGU6IHBhcmFtWzBdLFxuICAgICAgICBuYW1lOiBwYXJhbVsxXSA9PT0gJ2luZGV4ZWQnID8gcGFyYW1bMl0gOiBwYXJhbVsxXSxcbiAgICAgICAgLi4uKHBhcmFtWzFdID09PSAnaW5kZXhlZCcgPyB7IGluZGV4ZWQ6IHRydWUgfSA6IHt9KSxcbiAgICB9KSk7XG59XG5leHBvcnRzLmV4dHJhY3RGdW5jdGlvblBhcmFtcyA9IGV4dHJhY3RGdW5jdGlvblBhcmFtcztcbmZ1bmN0aW9uIGV4dHJhY3RGdW5jdGlvblR5cGUoZGVmKSB7XG4gICAgcmV0dXJuIGV4dHJhY3RGdW5jdGlvblBhcnRzKGRlZikudHlwZTtcbn1cbmV4cG9ydHMuZXh0cmFjdEZ1bmN0aW9uVHlwZSA9IGV4dHJhY3RGdW5jdGlvblR5cGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1leHRyYWN0RnVuY3Rpb25QYXJ0cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/contract/extractFunctionParts.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/concat.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/concat.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.concatHex = exports.concatBytes = exports.concat = void 0;\nfunction concat(values) {\n if (typeof values[0] === 'string')\n return concatHex(values);\n return concatBytes(values);\n}\nexports.concat = concat;\nfunction concatBytes(values) {\n let length = 0;\n for (const arr of values) {\n length += arr.length;\n }\n const result = new Uint8Array(length);\n let offset = 0;\n for (const arr of values) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\nexports.concatBytes = concatBytes;\nfunction concatHex(values) {\n return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`;\n}\nexports.concatHex = concatHex;\n//# sourceMappingURL=concat.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL2NvbmNhdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsR0FBRyxtQkFBbUIsR0FBRyxjQUFjO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQSxnQkFBZ0IseURBQXlEO0FBQ3pFO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2RhdGEvY29uY2F0LmpzPzk1NzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNvbmNhdEhleCA9IGV4cG9ydHMuY29uY2F0Qnl0ZXMgPSBleHBvcnRzLmNvbmNhdCA9IHZvaWQgMDtcbmZ1bmN0aW9uIGNvbmNhdCh2YWx1ZXMpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlc1swXSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiBjb25jYXRIZXgodmFsdWVzKTtcbiAgICByZXR1cm4gY29uY2F0Qnl0ZXModmFsdWVzKTtcbn1cbmV4cG9ydHMuY29uY2F0ID0gY29uY2F0O1xuZnVuY3Rpb24gY29uY2F0Qnl0ZXModmFsdWVzKSB7XG4gICAgbGV0IGxlbmd0aCA9IDA7XG4gICAgZm9yIChjb25zdCBhcnIgb2YgdmFsdWVzKSB7XG4gICAgICAgIGxlbmd0aCArPSBhcnIubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGZvciAoY29uc3QgYXJyIG9mIHZhbHVlcykge1xuICAgICAgICByZXN1bHQuc2V0KGFyciwgb2Zmc2V0KTtcbiAgICAgICAgb2Zmc2V0ICs9IGFyci5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnRzLmNvbmNhdEJ5dGVzID0gY29uY2F0Qnl0ZXM7XG5mdW5jdGlvbiBjb25jYXRIZXgodmFsdWVzKSB7XG4gICAgcmV0dXJuIGAweCR7dmFsdWVzLnJlZHVjZSgoYWNjLCB4KSA9PiBhY2MgKyB4LnJlcGxhY2UoJzB4JywgJycpLCAnJyl9YDtcbn1cbmV4cG9ydHMuY29uY2F0SGV4ID0gY29uY2F0SGV4O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uY2F0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/concat.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/isBytes.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/isBytes.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isBytes = void 0;\nfunction isBytes(value) {\n if (!value)\n return false;\n if (typeof value !== 'object')\n return false;\n if (!('BYTES_PER_ELEMENT' in value))\n return false;\n return (value.BYTES_PER_ELEMENT === 1 && value.constructor.name === 'Uint8Array');\n}\nexports.isBytes = isBytes;\n//# sourceMappingURL=isBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL2lzQnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL2lzQnl0ZXMuanM/ZWI0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaXNCeXRlcyA9IHZvaWQgMDtcbmZ1bmN0aW9uIGlzQnl0ZXModmFsdWUpIHtcbiAgICBpZiAoIXZhbHVlKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoISgnQllURVNfUEVSX0VMRU1FTlQnIGluIHZhbHVlKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAodmFsdWUuQllURVNfUEVSX0VMRU1FTlQgPT09IDEgJiYgdmFsdWUuY29uc3RydWN0b3IubmFtZSA9PT0gJ1VpbnQ4QXJyYXknKTtcbn1cbmV4cG9ydHMuaXNCeXRlcyA9IGlzQnl0ZXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0J5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/isBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/isBytesEqual.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/isBytesEqual.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isBytesEqual = void 0;\nconst index_js_1 = __webpack_require__(/*! ../../index.js */ \"./node_modules/viem/dist/cjs/index.js\");\nconst utils_1 = __webpack_require__(/*! @noble/curves/abstract/utils */ \"./node_modules/@noble/curves/abstract/utils.js\");\nfunction isBytesEqual(a_, b_) {\n const a = (0, index_js_1.isHex)(a_) ? (0, index_js_1.toBytes)(a_) : a_;\n const b = (0, index_js_1.isHex)(b_) ? (0, index_js_1.toBytes)(b_) : b_;\n return (0, utils_1.equalBytes)(a, b);\n}\nexports.isBytesEqual = isBytesEqual;\n//# sourceMappingURL=isBytesEqual.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL2lzQnl0ZXNFcXVhbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0I7QUFDcEIsbUJBQW1CLG1CQUFPLENBQUMsNkRBQWdCO0FBQzNDLGdCQUFnQixtQkFBTyxDQUFDLG9GQUE4QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2RhdGEvaXNCeXRlc0VxdWFsLmpzPzZmYzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmlzQnl0ZXNFcXVhbCA9IHZvaWQgMDtcbmNvbnN0IGluZGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vaW5kZXguanNcIik7XG5jb25zdCB1dGlsc18xID0gcmVxdWlyZShcIkBub2JsZS9jdXJ2ZXMvYWJzdHJhY3QvdXRpbHNcIik7XG5mdW5jdGlvbiBpc0J5dGVzRXF1YWwoYV8sIGJfKSB7XG4gICAgY29uc3QgYSA9ICgwLCBpbmRleF9qc18xLmlzSGV4KShhXykgPyAoMCwgaW5kZXhfanNfMS50b0J5dGVzKShhXykgOiBhXztcbiAgICBjb25zdCBiID0gKDAsIGluZGV4X2pzXzEuaXNIZXgpKGJfKSA/ICgwLCBpbmRleF9qc18xLnRvQnl0ZXMpKGJfKSA6IGJfO1xuICAgIHJldHVybiAoMCwgdXRpbHNfMS5lcXVhbEJ5dGVzKShhLCBiKTtcbn1cbmV4cG9ydHMuaXNCeXRlc0VxdWFsID0gaXNCeXRlc0VxdWFsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNCeXRlc0VxdWFsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/isBytesEqual.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/isHex.js": -/*!********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/isHex.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isHex = void 0;\nfunction isHex(value, { strict = true } = {}) {\n if (!value)\n return false;\n if (typeof value !== 'string')\n return false;\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\nexports.isHex = isHex;\n//# sourceMappingURL=isHex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL2lzSGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGFBQWE7QUFDYix3QkFBd0IsZ0JBQWdCLElBQUk7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2RhdGEvaXNIZXguanM/ZmZiMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaXNIZXggPSB2b2lkIDA7XG5mdW5jdGlvbiBpc0hleCh2YWx1ZSwgeyBzdHJpY3QgPSB0cnVlIH0gPSB7fSkge1xuICAgIGlmICghdmFsdWUpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBzdHJpY3QgPyAvXjB4WzAtOWEtZkEtRl0qJC8udGVzdCh2YWx1ZSkgOiB2YWx1ZS5zdGFydHNXaXRoKCcweCcpO1xufVxuZXhwb3J0cy5pc0hleCA9IGlzSGV4O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNIZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/isHex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/pad.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/pad.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.padBytes = exports.padHex = exports.pad = void 0;\nconst data_js_1 = __webpack_require__(/*! ../../errors/data.js */ \"./node_modules/viem/dist/cjs/errors/data.js\");\nfunction pad(hexOrBytes, { dir, size = 32 } = {}) {\n if (typeof hexOrBytes === 'string')\n return padHex(hexOrBytes, { dir, size });\n return padBytes(hexOrBytes, { dir, size });\n}\nexports.pad = pad;\nfunction padHex(hex_, { dir, size = 32 } = {}) {\n if (size === null)\n return hex_;\n const hex = hex_.replace('0x', '');\n if (hex.length > size * 2)\n throw new data_js_1.SizeExceedsPaddingSizeError({\n size: Math.ceil(hex.length / 2),\n targetSize: size,\n type: 'hex',\n });\n return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nexports.padHex = padHex;\nfunction padBytes(bytes, { dir, size = 32 } = {}) {\n if (size === null)\n return bytes;\n if (bytes.length > size)\n throw new data_js_1.SizeExceedsPaddingSizeError({\n size: bytes.length,\n targetSize: size,\n type: 'bytes',\n });\n const paddedBytes = new Uint8Array(size);\n for (let i = 0; i < size; i++) {\n const padEnd = dir === 'right';\n paddedBytes[padEnd ? i : size - i - 1] =\n bytes[padEnd ? i : bytes.length - i - 1];\n }\n return paddedBytes;\n}\nexports.padBytes = padBytes;\n//# sourceMappingURL=pad.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL3BhZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQkFBZ0IsR0FBRyxjQUFjLEdBQUcsV0FBVztBQUMvQyxrQkFBa0IsbUJBQU8sQ0FBQyx5RUFBc0I7QUFDaEQsMkJBQTJCLGlCQUFpQixJQUFJO0FBQ2hEO0FBQ0Esb0NBQW9DLFdBQVc7QUFDL0Msa0NBQWtDLFdBQVc7QUFDN0M7QUFDQSxXQUFXO0FBQ1gsd0JBQXdCLGlCQUFpQixJQUFJO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsZ0JBQWdCLDREQUE0RDtBQUM1RTtBQUNBLGNBQWM7QUFDZCwyQkFBMkIsaUJBQWlCLElBQUk7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxvQkFBb0IsVUFBVTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZGF0YS9wYWQuanM/ODg1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFkQnl0ZXMgPSBleHBvcnRzLnBhZEhleCA9IGV4cG9ydHMucGFkID0gdm9pZCAwO1xuY29uc3QgZGF0YV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9kYXRhLmpzXCIpO1xuZnVuY3Rpb24gcGFkKGhleE9yQnl0ZXMsIHsgZGlyLCBzaXplID0gMzIgfSA9IHt9KSB7XG4gICAgaWYgKHR5cGVvZiBoZXhPckJ5dGVzID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIHBhZEhleChoZXhPckJ5dGVzLCB7IGRpciwgc2l6ZSB9KTtcbiAgICByZXR1cm4gcGFkQnl0ZXMoaGV4T3JCeXRlcywgeyBkaXIsIHNpemUgfSk7XG59XG5leHBvcnRzLnBhZCA9IHBhZDtcbmZ1bmN0aW9uIHBhZEhleChoZXhfLCB7IGRpciwgc2l6ZSA9IDMyIH0gPSB7fSkge1xuICAgIGlmIChzaXplID09PSBudWxsKVxuICAgICAgICByZXR1cm4gaGV4XztcbiAgICBjb25zdCBoZXggPSBoZXhfLnJlcGxhY2UoJzB4JywgJycpO1xuICAgIGlmIChoZXgubGVuZ3RoID4gc2l6ZSAqIDIpXG4gICAgICAgIHRocm93IG5ldyBkYXRhX2pzXzEuU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yKHtcbiAgICAgICAgICAgIHNpemU6IE1hdGguY2VpbChoZXgubGVuZ3RoIC8gMiksXG4gICAgICAgICAgICB0YXJnZXRTaXplOiBzaXplLFxuICAgICAgICAgICAgdHlwZTogJ2hleCcsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiBgMHgke2hleFtkaXIgPT09ICdyaWdodCcgPyAncGFkRW5kJyA6ICdwYWRTdGFydCddKHNpemUgKiAyLCAnMCcpfWA7XG59XG5leHBvcnRzLnBhZEhleCA9IHBhZEhleDtcbmZ1bmN0aW9uIHBhZEJ5dGVzKGJ5dGVzLCB7IGRpciwgc2l6ZSA9IDMyIH0gPSB7fSkge1xuICAgIGlmIChzaXplID09PSBudWxsKVxuICAgICAgICByZXR1cm4gYnl0ZXM7XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA+IHNpemUpXG4gICAgICAgIHRocm93IG5ldyBkYXRhX2pzXzEuU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yKHtcbiAgICAgICAgICAgIHNpemU6IGJ5dGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHRhcmdldFNpemU6IHNpemUsXG4gICAgICAgICAgICB0eXBlOiAnYnl0ZXMnLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBwYWRkZWRCeXRlcyA9IG5ldyBVaW50OEFycmF5KHNpemUpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHBhZEVuZCA9IGRpciA9PT0gJ3JpZ2h0JztcbiAgICAgICAgcGFkZGVkQnl0ZXNbcGFkRW5kID8gaSA6IHNpemUgLSBpIC0gMV0gPVxuICAgICAgICAgICAgYnl0ZXNbcGFkRW5kID8gaSA6IGJ5dGVzLmxlbmd0aCAtIGkgLSAxXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhZGRlZEJ5dGVzO1xufVxuZXhwb3J0cy5wYWRCeXRlcyA9IHBhZEJ5dGVzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/pad.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/size.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/size.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.size = void 0;\nconst isHex_js_1 = __webpack_require__(/*! ./isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nfunction size(value) {\n if ((0, isHex_js_1.isHex)(value, { strict: false }))\n return Math.ceil((value.length - 2) / 2);\n return value.length;\n}\nexports.size = size;\n//# sourceMappingURL=size.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL3NpemUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsWUFBWTtBQUNaLG1CQUFtQixtQkFBTyxDQUFDLG9FQUFZO0FBQ3ZDO0FBQ0EsdUNBQXVDLGVBQWU7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2RhdGEvc2l6ZS5qcz84YjI0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zaXplID0gdm9pZCAwO1xuY29uc3QgaXNIZXhfanNfMSA9IHJlcXVpcmUoXCIuL2lzSGV4LmpzXCIpO1xuZnVuY3Rpb24gc2l6ZSh2YWx1ZSkge1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkodmFsdWUsIHsgc3RyaWN0OiBmYWxzZSB9KSlcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCgodmFsdWUubGVuZ3RoIC0gMikgLyAyKTtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xufVxuZXhwb3J0cy5zaXplID0gc2l6ZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpemUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/size.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/slice.js": -/*!********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/slice.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sliceHex = exports.sliceBytes = exports.slice = void 0;\nconst data_js_1 = __webpack_require__(/*! ../../errors/data.js */ \"./node_modules/viem/dist/cjs/errors/data.js\");\nconst isHex_js_1 = __webpack_require__(/*! ./isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst size_js_1 = __webpack_require__(/*! ./size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nfunction slice(value, start, end, { strict } = {}) {\n if ((0, isHex_js_1.isHex)(value, { strict: false }))\n return sliceHex(value, start, end, {\n strict,\n });\n return sliceBytes(value, start, end, {\n strict,\n });\n}\nexports.slice = slice;\nfunction assertStartOffset(value, start) {\n if (typeof start === 'number' && start > 0 && start > (0, size_js_1.size)(value) - 1)\n throw new data_js_1.SliceOffsetOutOfBoundsError({\n offset: start,\n position: 'start',\n size: (0, size_js_1.size)(value),\n });\n}\nfunction assertEndOffset(value, start, end) {\n if (typeof start === 'number' &&\n typeof end === 'number' &&\n (0, size_js_1.size)(value) !== end - start) {\n throw new data_js_1.SliceOffsetOutOfBoundsError({\n offset: end,\n position: 'end',\n size: (0, size_js_1.size)(value),\n });\n }\n}\nfunction sliceBytes(value_, start, end, { strict } = {}) {\n assertStartOffset(value_, start);\n const value = value_.slice(start, end);\n if (strict)\n assertEndOffset(value, start, end);\n return value;\n}\nexports.sliceBytes = sliceBytes;\nfunction sliceHex(value_, start, end, { strict } = {}) {\n assertStartOffset(value_, start);\n const value = `0x${value_\n .replace('0x', '')\n .slice((start ?? 0) * 2, (end ?? value_.length) * 2)}`;\n if (strict)\n assertEndOffset(value, start, end);\n return value;\n}\nexports.sliceHex = sliceHex;\n//# sourceMappingURL=slice.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL3NsaWNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLGFBQWE7QUFDckQsa0JBQWtCLG1CQUFPLENBQUMseUVBQXNCO0FBQ2hELG1CQUFtQixtQkFBTyxDQUFDLG9FQUFZO0FBQ3ZDLGtCQUFrQixtQkFBTyxDQUFDLGtFQUFXO0FBQ3JDLG9DQUFvQyxTQUFTLElBQUk7QUFDakQsdUNBQXVDLGVBQWU7QUFDdEQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDBDQUEwQyxTQUFTLElBQUk7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCLHdDQUF3QyxTQUFTLElBQUk7QUFDckQ7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSw2REFBNkQ7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZGF0YS9zbGljZS5qcz9lMDhhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zbGljZUhleCA9IGV4cG9ydHMuc2xpY2VCeXRlcyA9IGV4cG9ydHMuc2xpY2UgPSB2b2lkIDA7XG5jb25zdCBkYXRhX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2RhdGEuanNcIik7XG5jb25zdCBpc0hleF9qc18xID0gcmVxdWlyZShcIi4vaXNIZXguanNcIik7XG5jb25zdCBzaXplX2pzXzEgPSByZXF1aXJlKFwiLi9zaXplLmpzXCIpO1xuZnVuY3Rpb24gc2xpY2UodmFsdWUsIHN0YXJ0LCBlbmQsIHsgc3RyaWN0IH0gPSB7fSkge1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkodmFsdWUsIHsgc3RyaWN0OiBmYWxzZSB9KSlcbiAgICAgICAgcmV0dXJuIHNsaWNlSGV4KHZhbHVlLCBzdGFydCwgZW5kLCB7XG4gICAgICAgICAgICBzdHJpY3QsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiBzbGljZUJ5dGVzKHZhbHVlLCBzdGFydCwgZW5kLCB7XG4gICAgICAgIHN0cmljdCxcbiAgICB9KTtcbn1cbmV4cG9ydHMuc2xpY2UgPSBzbGljZTtcbmZ1bmN0aW9uIGFzc2VydFN0YXJ0T2Zmc2V0KHZhbHVlLCBzdGFydCkge1xuICAgIGlmICh0eXBlb2Ygc3RhcnQgPT09ICdudW1iZXInICYmIHN0YXJ0ID4gMCAmJiBzdGFydCA+ICgwLCBzaXplX2pzXzEuc2l6ZSkodmFsdWUpIC0gMSlcbiAgICAgICAgdGhyb3cgbmV3IGRhdGFfanNfMS5TbGljZU9mZnNldE91dE9mQm91bmRzRXJyb3Ioe1xuICAgICAgICAgICAgb2Zmc2V0OiBzdGFydCxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RhcnQnLFxuICAgICAgICAgICAgc2l6ZTogKDAsIHNpemVfanNfMS5zaXplKSh2YWx1ZSksXG4gICAgICAgIH0pO1xufVxuZnVuY3Rpb24gYXNzZXJ0RW5kT2Zmc2V0KHZhbHVlLCBzdGFydCwgZW5kKSB7XG4gICAgaWYgKHR5cGVvZiBzdGFydCA9PT0gJ251bWJlcicgJiZcbiAgICAgICAgdHlwZW9mIGVuZCA9PT0gJ251bWJlcicgJiZcbiAgICAgICAgKDAsIHNpemVfanNfMS5zaXplKSh2YWx1ZSkgIT09IGVuZCAtIHN0YXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBkYXRhX2pzXzEuU2xpY2VPZmZzZXRPdXRPZkJvdW5kc0Vycm9yKHtcbiAgICAgICAgICAgIG9mZnNldDogZW5kLFxuICAgICAgICAgICAgcG9zaXRpb246ICdlbmQnLFxuICAgICAgICAgICAgc2l6ZTogKDAsIHNpemVfanNfMS5zaXplKSh2YWx1ZSksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNsaWNlQnl0ZXModmFsdWVfLCBzdGFydCwgZW5kLCB7IHN0cmljdCB9ID0ge30pIHtcbiAgICBhc3NlcnRTdGFydE9mZnNldCh2YWx1ZV8sIHN0YXJ0KTtcbiAgICBjb25zdCB2YWx1ZSA9IHZhbHVlXy5zbGljZShzdGFydCwgZW5kKTtcbiAgICBpZiAoc3RyaWN0KVxuICAgICAgICBhc3NlcnRFbmRPZmZzZXQodmFsdWUsIHN0YXJ0LCBlbmQpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cbmV4cG9ydHMuc2xpY2VCeXRlcyA9IHNsaWNlQnl0ZXM7XG5mdW5jdGlvbiBzbGljZUhleCh2YWx1ZV8sIHN0YXJ0LCBlbmQsIHsgc3RyaWN0IH0gPSB7fSkge1xuICAgIGFzc2VydFN0YXJ0T2Zmc2V0KHZhbHVlXywgc3RhcnQpO1xuICAgIGNvbnN0IHZhbHVlID0gYDB4JHt2YWx1ZV9cbiAgICAgICAgLnJlcGxhY2UoJzB4JywgJycpXG4gICAgICAgIC5zbGljZSgoc3RhcnQgPz8gMCkgKiAyLCAoZW5kID8/IHZhbHVlXy5sZW5ndGgpICogMil9YDtcbiAgICBpZiAoc3RyaWN0KVxuICAgICAgICBhc3NlcnRFbmRPZmZzZXQodmFsdWUsIHN0YXJ0LCBlbmQpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cbmV4cG9ydHMuc2xpY2VIZXggPSBzbGljZUhleDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNsaWNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/slice.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/data/trim.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/data/trim.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.trim = void 0;\nfunction trim(hexOrBytes, { dir = 'left' } = {}) {\n let data = typeof hexOrBytes === 'string' ? hexOrBytes.replace('0x', '') : hexOrBytes;\n let sliceLength = 0;\n for (let i = 0; i < data.length - 1; i++) {\n if (data[dir === 'left' ? i : data.length - i - 1].toString() === '0')\n sliceLength++;\n else\n break;\n }\n data =\n dir === 'left'\n ? data.slice(sliceLength)\n : data.slice(0, data.length - sliceLength);\n if (typeof hexOrBytes === 'string') {\n if (data.length === 1 && dir === 'right')\n data = `${data}0`;\n return `0x${data.length % 2 === 1 ? `0${data}` : data}`;\n }\n return data;\n}\nexports.trim = trim;\n//# sourceMappingURL=trim.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL3RyaW0uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsWUFBWTtBQUNaLDRCQUE0QixlQUFlLElBQUk7QUFDL0M7QUFDQTtBQUNBLG9CQUFvQixxQkFBcUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixLQUFLO0FBQzNCLG9CQUFvQiw0QkFBNEIsS0FBSyxTQUFTO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9kYXRhL3RyaW0uanM/NTExNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudHJpbSA9IHZvaWQgMDtcbmZ1bmN0aW9uIHRyaW0oaGV4T3JCeXRlcywgeyBkaXIgPSAnbGVmdCcgfSA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSB0eXBlb2YgaGV4T3JCeXRlcyA9PT0gJ3N0cmluZycgPyBoZXhPckJ5dGVzLnJlcGxhY2UoJzB4JywgJycpIDogaGV4T3JCeXRlcztcbiAgICBsZXQgc2xpY2VMZW5ndGggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgaWYgKGRhdGFbZGlyID09PSAnbGVmdCcgPyBpIDogZGF0YS5sZW5ndGggLSBpIC0gMV0udG9TdHJpbmcoKSA9PT0gJzAnKVxuICAgICAgICAgICAgc2xpY2VMZW5ndGgrKztcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGRhdGEgPVxuICAgICAgICBkaXIgPT09ICdsZWZ0J1xuICAgICAgICAgICAgPyBkYXRhLnNsaWNlKHNsaWNlTGVuZ3RoKVxuICAgICAgICAgICAgOiBkYXRhLnNsaWNlKDAsIGRhdGEubGVuZ3RoIC0gc2xpY2VMZW5ndGgpO1xuICAgIGlmICh0eXBlb2YgaGV4T3JCeXRlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoID09PSAxICYmIGRpciA9PT0gJ3JpZ2h0JylcbiAgICAgICAgICAgIGRhdGEgPSBgJHtkYXRhfTBgO1xuICAgICAgICByZXR1cm4gYDB4JHtkYXRhLmxlbmd0aCAlIDIgPT09IDEgPyBgMCR7ZGF0YX1gIDogZGF0YX1gO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn1cbmV4cG9ydHMudHJpbSA9IHRyaW07XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmltLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/data/trim.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/encoding/fromBytes.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/encoding/fromBytes.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.bytesToString = exports.bytesToNumber = exports.bytesToBool = exports.bytesToBigint = exports.fromBytes = void 0;\nconst encoding_js_1 = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/cjs/errors/encoding.js\");\nconst trim_js_1 = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ./fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst toHex_js_1 = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nfunction fromBytes(bytes, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return bytesToNumber(bytes, opts);\n if (to === 'bigint')\n return bytesToBigint(bytes, opts);\n if (to === 'boolean')\n return bytesToBool(bytes, opts);\n if (to === 'string')\n return bytesToString(bytes, opts);\n return (0, toHex_js_1.bytesToHex)(bytes, opts);\n}\nexports.fromBytes = fromBytes;\nfunction bytesToBigint(bytes, opts = {}) {\n if (typeof opts.size !== 'undefined')\n (0, fromHex_js_1.assertSize)(bytes, { size: opts.size });\n const hex = (0, toHex_js_1.bytesToHex)(bytes, opts);\n return (0, fromHex_js_1.hexToBigInt)(hex);\n}\nexports.bytesToBigint = bytesToBigint;\nfunction bytesToBool(bytes_, opts = {}) {\n let bytes = bytes_;\n if (typeof opts.size !== 'undefined') {\n (0, fromHex_js_1.assertSize)(bytes, { size: opts.size });\n bytes = (0, trim_js_1.trim)(bytes);\n }\n if (bytes.length > 1 || bytes[0] > 1)\n throw new encoding_js_1.InvalidBytesBooleanError(bytes);\n return Boolean(bytes[0]);\n}\nexports.bytesToBool = bytesToBool;\nfunction bytesToNumber(bytes, opts = {}) {\n if (typeof opts.size !== 'undefined')\n (0, fromHex_js_1.assertSize)(bytes, { size: opts.size });\n const hex = (0, toHex_js_1.bytesToHex)(bytes, opts);\n return (0, fromHex_js_1.hexToNumber)(hex);\n}\nexports.bytesToNumber = bytesToNumber;\nfunction bytesToString(bytes_, opts = {}) {\n let bytes = bytes_;\n if (typeof opts.size !== 'undefined') {\n (0, fromHex_js_1.assertSize)(bytes, { size: opts.size });\n bytes = (0, trim_js_1.trim)(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\nexports.bytesToString = bytesToString;\n//# sourceMappingURL=fromBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy9mcm9tQnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QscUJBQXFCLEdBQUcscUJBQXFCLEdBQUcsbUJBQW1CLEdBQUcscUJBQXFCLEdBQUcsaUJBQWlCO0FBQy9HLHNCQUFzQixtQkFBTyxDQUFDLGlGQUEwQjtBQUN4RCxrQkFBa0IsbUJBQU8sQ0FBQyx3RUFBaUI7QUFDM0MscUJBQXFCLG1CQUFPLENBQUMsNEVBQWM7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsd0VBQVk7QUFDdkM7QUFDQSxrREFBa0QsZUFBZTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLHVDQUF1QztBQUN2QztBQUNBLDhDQUE4QyxpQkFBaUI7QUFDL0Q7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLHNDQUFzQztBQUN0QztBQUNBO0FBQ0EsOENBQThDLGlCQUFpQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIsdUNBQXVDO0FBQ3ZDO0FBQ0EsOENBQThDLGlCQUFpQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQSw4Q0FBOEMsaUJBQWlCO0FBQy9ELDZDQUE2QyxjQUFjO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy9mcm9tQnl0ZXMuanM/YmY4YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuYnl0ZXNUb1N0cmluZyA9IGV4cG9ydHMuYnl0ZXNUb051bWJlciA9IGV4cG9ydHMuYnl0ZXNUb0Jvb2wgPSBleHBvcnRzLmJ5dGVzVG9CaWdpbnQgPSBleHBvcnRzLmZyb21CeXRlcyA9IHZvaWQgMDtcbmNvbnN0IGVuY29kaW5nX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2VuY29kaW5nLmpzXCIpO1xuY29uc3QgdHJpbV9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvdHJpbS5qc1wiKTtcbmNvbnN0IGZyb21IZXhfanNfMSA9IHJlcXVpcmUoXCIuL2Zyb21IZXguanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4vdG9IZXguanNcIik7XG5mdW5jdGlvbiBmcm9tQnl0ZXMoYnl0ZXMsIHRvT3JPcHRzKSB7XG4gICAgY29uc3Qgb3B0cyA9IHR5cGVvZiB0b09yT3B0cyA9PT0gJ3N0cmluZycgPyB7IHRvOiB0b09yT3B0cyB9IDogdG9Pck9wdHM7XG4gICAgY29uc3QgdG8gPSBvcHRzLnRvO1xuICAgIGlmICh0byA9PT0gJ251bWJlcicpXG4gICAgICAgIHJldHVybiBieXRlc1RvTnVtYmVyKGJ5dGVzLCBvcHRzKTtcbiAgICBpZiAodG8gPT09ICdiaWdpbnQnKVxuICAgICAgICByZXR1cm4gYnl0ZXNUb0JpZ2ludChieXRlcywgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBieXRlc1RvQm9vbChieXRlcywgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIGJ5dGVzVG9TdHJpbmcoYnl0ZXMsIG9wdHMpO1xuICAgIHJldHVybiAoMCwgdG9IZXhfanNfMS5ieXRlc1RvSGV4KShieXRlcywgb3B0cyk7XG59XG5leHBvcnRzLmZyb21CeXRlcyA9IGZyb21CeXRlcztcbmZ1bmN0aW9uIGJ5dGVzVG9CaWdpbnQoYnl0ZXMsIG9wdHMgPSB7fSkge1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgKDAsIGZyb21IZXhfanNfMS5hc3NlcnRTaXplKShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgY29uc3QgaGV4ID0gKDAsIHRvSGV4X2pzXzEuYnl0ZXNUb0hleCkoYnl0ZXMsIG9wdHMpO1xuICAgIHJldHVybiAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KShoZXgpO1xufVxuZXhwb3J0cy5ieXRlc1RvQmlnaW50ID0gYnl0ZXNUb0JpZ2ludDtcbmZ1bmN0aW9uIGJ5dGVzVG9Cb29sKGJ5dGVzXywgb3B0cyA9IHt9KSB7XG4gICAgbGV0IGJ5dGVzID0gYnl0ZXNfO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAoMCwgZnJvbUhleF9qc18xLmFzc2VydFNpemUpKGJ5dGVzLCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgYnl0ZXMgPSAoMCwgdHJpbV9qc18xLnRyaW0pKGJ5dGVzKTtcbiAgICB9XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA+IDEgfHwgYnl0ZXNbMF0gPiAxKVxuICAgICAgICB0aHJvdyBuZXcgZW5jb2RpbmdfanNfMS5JbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3IoYnl0ZXMpO1xuICAgIHJldHVybiBCb29sZWFuKGJ5dGVzWzBdKTtcbn1cbmV4cG9ydHMuYnl0ZXNUb0Jvb2wgPSBieXRlc1RvQm9vbDtcbmZ1bmN0aW9uIGJ5dGVzVG9OdW1iZXIoYnl0ZXMsIG9wdHMgPSB7fSkge1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgKDAsIGZyb21IZXhfanNfMS5hc3NlcnRTaXplKShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgY29uc3QgaGV4ID0gKDAsIHRvSGV4X2pzXzEuYnl0ZXNUb0hleCkoYnl0ZXMsIG9wdHMpO1xuICAgIHJldHVybiAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKShoZXgpO1xufVxuZXhwb3J0cy5ieXRlc1RvTnVtYmVyID0gYnl0ZXNUb051bWJlcjtcbmZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoYnl0ZXNfLCBvcHRzID0ge30pIHtcbiAgICBsZXQgYnl0ZXMgPSBieXRlc187XG4gICAgaWYgKHR5cGVvZiBvcHRzLnNpemUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICgwLCBmcm9tSGV4X2pzXzEuYXNzZXJ0U2l6ZSkoYnl0ZXMsIHsgc2l6ZTogb3B0cy5zaXplIH0pO1xuICAgICAgICBieXRlcyA9ICgwLCB0cmltX2pzXzEudHJpbSkoYnl0ZXMsIHsgZGlyOiAncmlnaHQnIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGJ5dGVzKTtcbn1cbmV4cG9ydHMuYnl0ZXNUb1N0cmluZyA9IGJ5dGVzVG9TdHJpbmc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mcm9tQnl0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/encoding/fromBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/encoding/fromHex.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/encoding/fromHex.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hexToString = exports.hexToNumber = exports.hexToBool = exports.hexToBigInt = exports.fromHex = exports.assertSize = void 0;\nconst encoding_js_1 = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/cjs/errors/encoding.js\");\nconst size_js_1 = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nconst trim_js_1 = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ./toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nfunction assertSize(hexOrBytes, { size }) {\n if ((0, size_js_1.size)(hexOrBytes) > size)\n throw new encoding_js_1.SizeOverflowError({\n givenSize: (0, size_js_1.size)(hexOrBytes),\n maxSize: size,\n });\n}\nexports.assertSize = assertSize;\nfunction fromHex(hex, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return hexToNumber(hex, opts);\n if (to === 'bigint')\n return hexToBigInt(hex, opts);\n if (to === 'string')\n return hexToString(hex, opts);\n if (to === 'boolean')\n return hexToBool(hex, opts);\n return (0, toBytes_js_1.hexToBytes)(hex, opts);\n}\nexports.fromHex = fromHex;\nfunction hexToBigInt(hex, opts = {}) {\n const { signed } = opts;\n if (opts.size)\n assertSize(hex, { size: opts.size });\n const value = BigInt(hex);\n if (!signed)\n return value;\n const size = (hex.length - 2) / 2;\n const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n if (value <= max)\n return value;\n return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\nexports.hexToBigInt = hexToBigInt;\nfunction hexToBool(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = (0, trim_js_1.trim)(hex);\n }\n if ((0, trim_js_1.trim)(hex) === '0x00')\n return false;\n if ((0, trim_js_1.trim)(hex) === '0x01')\n return true;\n throw new encoding_js_1.InvalidHexBooleanError(hex);\n}\nexports.hexToBool = hexToBool;\nfunction hexToNumber(hex, opts = {}) {\n return Number(hexToBigInt(hex, opts));\n}\nexports.hexToNumber = hexToNumber;\nfunction hexToString(hex, opts = {}) {\n let bytes = (0, toBytes_js_1.hexToBytes)(hex);\n if (opts.size) {\n assertSize(bytes, { size: opts.size });\n bytes = (0, trim_js_1.trim)(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\nexports.hexToString = hexToString;\n//# sourceMappingURL=fromHex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQixHQUFHLG1CQUFtQixHQUFHLGlCQUFpQixHQUFHLG1CQUFtQixHQUFHLGVBQWUsR0FBRyxrQkFBa0I7QUFDMUgsc0JBQXNCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3hELGtCQUFrQixtQkFBTyxDQUFDLHdFQUFpQjtBQUMzQyxrQkFBa0IsbUJBQU8sQ0FBQyx3RUFBaUI7QUFDM0MscUJBQXFCLG1CQUFPLENBQUMsNEVBQWM7QUFDM0Msa0NBQWtDLE1BQU07QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQSxrREFBa0QsZUFBZTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLG1DQUFtQztBQUNuQyxZQUFZLFNBQVM7QUFDckI7QUFDQSwwQkFBMEIsaUJBQWlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLDRCQUE0QjtBQUMzRDtBQUNBLG1CQUFtQjtBQUNuQixrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBLDBCQUEwQixpQkFBaUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0MsNkNBQTZDLGNBQWM7QUFDM0Q7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanM/ODJjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaGV4VG9TdHJpbmcgPSBleHBvcnRzLmhleFRvTnVtYmVyID0gZXhwb3J0cy5oZXhUb0Jvb2wgPSBleHBvcnRzLmhleFRvQmlnSW50ID0gZXhwb3J0cy5mcm9tSGV4ID0gZXhwb3J0cy5hc3NlcnRTaXplID0gdm9pZCAwO1xuY29uc3QgZW5jb2RpbmdfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvZW5jb2RpbmcuanNcIik7XG5jb25zdCBzaXplX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9zaXplLmpzXCIpO1xuY29uc3QgdHJpbV9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvdHJpbS5qc1wiKTtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuL3RvQnl0ZXMuanNcIik7XG5mdW5jdGlvbiBhc3NlcnRTaXplKGhleE9yQnl0ZXMsIHsgc2l6ZSB9KSB7XG4gICAgaWYgKCgwLCBzaXplX2pzXzEuc2l6ZSkoaGV4T3JCeXRlcykgPiBzaXplKVxuICAgICAgICB0aHJvdyBuZXcgZW5jb2RpbmdfanNfMS5TaXplT3ZlcmZsb3dFcnJvcih7XG4gICAgICAgICAgICBnaXZlblNpemU6ICgwLCBzaXplX2pzXzEuc2l6ZSkoaGV4T3JCeXRlcyksXG4gICAgICAgICAgICBtYXhTaXplOiBzaXplLFxuICAgICAgICB9KTtcbn1cbmV4cG9ydHMuYXNzZXJ0U2l6ZSA9IGFzc2VydFNpemU7XG5mdW5jdGlvbiBmcm9tSGV4KGhleCwgdG9Pck9wdHMpIHtcbiAgICBjb25zdCBvcHRzID0gdHlwZW9mIHRvT3JPcHRzID09PSAnc3RyaW5nJyA/IHsgdG86IHRvT3JPcHRzIH0gOiB0b09yT3B0cztcbiAgICBjb25zdCB0byA9IG9wdHMudG87XG4gICAgaWYgKHRvID09PSAnbnVtYmVyJylcbiAgICAgICAgcmV0dXJuIGhleFRvTnVtYmVyKGhleCwgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIGhleFRvQmlnSW50KGhleCwgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIGhleFRvU3RyaW5nKGhleCwgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBoZXhUb0Jvb2woaGV4LCBvcHRzKTtcbiAgICByZXR1cm4gKDAsIHRvQnl0ZXNfanNfMS5oZXhUb0J5dGVzKShoZXgsIG9wdHMpO1xufVxuZXhwb3J0cy5mcm9tSGV4ID0gZnJvbUhleDtcbmZ1bmN0aW9uIGhleFRvQmlnSW50KGhleCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgeyBzaWduZWQgfSA9IG9wdHM7XG4gICAgaWYgKG9wdHMuc2l6ZSlcbiAgICAgICAgYXNzZXJ0U2l6ZShoZXgsIHsgc2l6ZTogb3B0cy5zaXplIH0pO1xuICAgIGNvbnN0IHZhbHVlID0gQmlnSW50KGhleCk7XG4gICAgaWYgKCFzaWduZWQpXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCBzaXplID0gKGhleC5sZW5ndGggLSAyKSAvIDI7XG4gICAgY29uc3QgbWF4ID0gKDFuIDw8IChCaWdJbnQoc2l6ZSkgKiA4biAtIDFuKSkgLSAxbjtcbiAgICBpZiAodmFsdWUgPD0gbWF4KVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgcmV0dXJuIHZhbHVlIC0gQmlnSW50KGAweCR7J2YnLnBhZFN0YXJ0KHNpemUgKiAyLCAnZicpfWApIC0gMW47XG59XG5leHBvcnRzLmhleFRvQmlnSW50ID0gaGV4VG9CaWdJbnQ7XG5mdW5jdGlvbiBoZXhUb0Jvb2woaGV4Xywgb3B0cyA9IHt9KSB7XG4gICAgbGV0IGhleCA9IGhleF87XG4gICAgaWYgKG9wdHMuc2l6ZSkge1xuICAgICAgICBhc3NlcnRTaXplKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIGhleCA9ICgwLCB0cmltX2pzXzEudHJpbSkoaGV4KTtcbiAgICB9XG4gICAgaWYgKCgwLCB0cmltX2pzXzEudHJpbSkoaGV4KSA9PT0gJzB4MDAnKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCgwLCB0cmltX2pzXzEudHJpbSkoaGV4KSA9PT0gJzB4MDEnKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB0aHJvdyBuZXcgZW5jb2RpbmdfanNfMS5JbnZhbGlkSGV4Qm9vbGVhbkVycm9yKGhleCk7XG59XG5leHBvcnRzLmhleFRvQm9vbCA9IGhleFRvQm9vbDtcbmZ1bmN0aW9uIGhleFRvTnVtYmVyKGhleCwgb3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIE51bWJlcihoZXhUb0JpZ0ludChoZXgsIG9wdHMpKTtcbn1cbmV4cG9ydHMuaGV4VG9OdW1iZXIgPSBoZXhUb051bWJlcjtcbmZ1bmN0aW9uIGhleFRvU3RyaW5nKGhleCwgb3B0cyA9IHt9KSB7XG4gICAgbGV0IGJ5dGVzID0gKDAsIHRvQnl0ZXNfanNfMS5oZXhUb0J5dGVzKShoZXgpO1xuICAgIGlmIChvcHRzLnNpemUpIHtcbiAgICAgICAgYXNzZXJ0U2l6ZShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIGJ5dGVzID0gKDAsIHRyaW1fanNfMS50cmltKShieXRlcywgeyBkaXI6ICdyaWdodCcgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYnl0ZXMpO1xufVxuZXhwb3J0cy5oZXhUb1N0cmluZyA9IGhleFRvU3RyaW5nO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZnJvbUhleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/encoding/fromRlp.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/encoding/fromRlp.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.fromRlp = void 0;\nconst encoding_js_1 = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/cjs/errors/encoding.js\");\nconst fromBytes_js_1 = __webpack_require__(/*! ./fromBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromBytes.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ./toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst toHex_js_1 = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nfunction fromRlp(value, to) {\n const bytes = parse(value);\n const [data, consumed] = rlpToBytes(bytes);\n if (consumed < bytes.length)\n throw new encoding_js_1.DataLengthTooLongError({\n consumed,\n length: bytes.length,\n });\n return format(data, to);\n}\nexports.fromRlp = fromRlp;\nfunction parse(value) {\n if (typeof value === 'string') {\n if (value.length > 3 && value.length % 2 !== 0)\n throw new encoding_js_1.InvalidHexValueError(value);\n return (0, toBytes_js_1.hexToBytes)(value);\n }\n return value;\n}\nfunction format(bytes, to) {\n if (Array.isArray(bytes))\n return bytes.map((b) => format(b, to));\n return (to === 'hex' ? (0, toHex_js_1.bytesToHex)(bytes) : bytes);\n}\nfunction rlpToBytes(bytes, offset = 0) {\n if (bytes.length === 0)\n return [new Uint8Array([]), 0];\n const prefix = bytes[offset];\n if (prefix <= 0x7f)\n return [new Uint8Array([bytes[offset]]), 1];\n if (prefix <= 0xb7) {\n const length = prefix - 0x80;\n const offset_ = offset + 1;\n if (offset_ + length > bytes.length)\n throw new encoding_js_1.DataLengthTooShortError({\n length: offset_ + length,\n dataLength: bytes.length,\n });\n return [bytes.slice(offset_, offset_ + length), 1 + length];\n }\n if (prefix <= 0xbf) {\n const lengthOfLength = prefix - 0xb7;\n const offset_ = offset + 1;\n const length = (0, fromBytes_js_1.bytesToNumber)(bytes.slice(offset_, offset_ + lengthOfLength));\n if (offset_ + lengthOfLength + length > bytes.length)\n throw new encoding_js_1.DataLengthTooShortError({\n length: lengthOfLength + length,\n dataLength: bytes.length - lengthOfLength,\n });\n return [\n bytes.slice(offset_ + lengthOfLength, offset_ + lengthOfLength + length),\n 1 + lengthOfLength + length,\n ];\n }\n let lengthOfLength = 0;\n let length = prefix - 0xc0;\n if (prefix > 0xf7) {\n lengthOfLength = prefix - 0xf7;\n length = (0, fromBytes_js_1.bytesToNumber)(bytes.slice(offset + 1, offset + 1 + lengthOfLength));\n }\n let nextOffset = offset + 1 + lengthOfLength;\n if (nextOffset > bytes.length)\n throw new encoding_js_1.DataLengthTooShortError({\n length: nextOffset,\n dataLength: bytes.length,\n });\n const consumed = 1 + lengthOfLength + length;\n const result = [];\n while (nextOffset < offset + consumed) {\n const decoded = rlpToBytes(bytes, nextOffset);\n result.push(decoded[0]);\n nextOffset += decoded[1];\n if (nextOffset > offset + consumed)\n throw new encoding_js_1.OffsetOutOfBoundsError({\n nextOffset: nextOffset,\n offset: offset + consumed,\n });\n }\n return [result, consumed];\n}\n//# sourceMappingURL=fromRlp.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy9mcm9tUmxwLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGVBQWU7QUFDZixzQkFBc0IsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDeEQsdUJBQXVCLG1CQUFPLENBQUMsZ0ZBQWdCO0FBQy9DLHFCQUFxQixtQkFBTyxDQUFDLDRFQUFjO0FBQzNDLG1CQUFtQixtQkFBTyxDQUFDLHdFQUFZO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy9mcm9tUmxwLmpzPzg1MDAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmZyb21SbHAgPSB2b2lkIDA7XG5jb25zdCBlbmNvZGluZ19qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9lbmNvZGluZy5qc1wiKTtcbmNvbnN0IGZyb21CeXRlc19qc18xID0gcmVxdWlyZShcIi4vZnJvbUJ5dGVzLmpzXCIpO1xuY29uc3QgdG9CeXRlc19qc18xID0gcmVxdWlyZShcIi4vdG9CeXRlcy5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi90b0hleC5qc1wiKTtcbmZ1bmN0aW9uIGZyb21SbHAodmFsdWUsIHRvKSB7XG4gICAgY29uc3QgYnl0ZXMgPSBwYXJzZSh2YWx1ZSk7XG4gICAgY29uc3QgW2RhdGEsIGNvbnN1bWVkXSA9IHJscFRvQnl0ZXMoYnl0ZXMpO1xuICAgIGlmIChjb25zdW1lZCA8IGJ5dGVzLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IGVuY29kaW5nX2pzXzEuRGF0YUxlbmd0aFRvb0xvbmdFcnJvcih7XG4gICAgICAgICAgICBjb25zdW1lZCxcbiAgICAgICAgICAgIGxlbmd0aDogYnl0ZXMubGVuZ3RoLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4gZm9ybWF0KGRhdGEsIHRvKTtcbn1cbmV4cG9ydHMuZnJvbVJscCA9IGZyb21SbHA7XG5mdW5jdGlvbiBwYXJzZSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPiAzICYmIHZhbHVlLmxlbmd0aCAlIDIgIT09IDApXG4gICAgICAgICAgICB0aHJvdyBuZXcgZW5jb2RpbmdfanNfMS5JbnZhbGlkSGV4VmFsdWVFcnJvcih2YWx1ZSk7XG4gICAgICAgIHJldHVybiAoMCwgdG9CeXRlc19qc18xLmhleFRvQnl0ZXMpKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuZnVuY3Rpb24gZm9ybWF0KGJ5dGVzLCB0bykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGJ5dGVzKSlcbiAgICAgICAgcmV0dXJuIGJ5dGVzLm1hcCgoYikgPT4gZm9ybWF0KGIsIHRvKSk7XG4gICAgcmV0dXJuICh0byA9PT0gJ2hleCcgPyAoMCwgdG9IZXhfanNfMS5ieXRlc1RvSGV4KShieXRlcykgOiBieXRlcyk7XG59XG5mdW5jdGlvbiBybHBUb0J5dGVzKGJ5dGVzLCBvZmZzZXQgPSAwKSB7XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIFtuZXcgVWludDhBcnJheShbXSksIDBdO1xuICAgIGNvbnN0IHByZWZpeCA9IGJ5dGVzW29mZnNldF07XG4gICAgaWYgKHByZWZpeCA8PSAweDdmKVxuICAgICAgICByZXR1cm4gW25ldyBVaW50OEFycmF5KFtieXRlc1tvZmZzZXRdXSksIDFdO1xuICAgIGlmIChwcmVmaXggPD0gMHhiNykge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwcmVmaXggLSAweDgwO1xuICAgICAgICBjb25zdCBvZmZzZXRfID0gb2Zmc2V0ICsgMTtcbiAgICAgICAgaWYgKG9mZnNldF8gKyBsZW5ndGggPiBieXRlcy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgZW5jb2RpbmdfanNfMS5EYXRhTGVuZ3RoVG9vU2hvcnRFcnJvcih7XG4gICAgICAgICAgICAgICAgbGVuZ3RoOiBvZmZzZXRfICsgbGVuZ3RoLFxuICAgICAgICAgICAgICAgIGRhdGFMZW5ndGg6IGJ5dGVzLmxlbmd0aCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gW2J5dGVzLnNsaWNlKG9mZnNldF8sIG9mZnNldF8gKyBsZW5ndGgpLCAxICsgbGVuZ3RoXTtcbiAgICB9XG4gICAgaWYgKHByZWZpeCA8PSAweGJmKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aE9mTGVuZ3RoID0gcHJlZml4IC0gMHhiNztcbiAgICAgICAgY29uc3Qgb2Zmc2V0XyA9IG9mZnNldCArIDE7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9ICgwLCBmcm9tQnl0ZXNfanNfMS5ieXRlc1RvTnVtYmVyKShieXRlcy5zbGljZShvZmZzZXRfLCBvZmZzZXRfICsgbGVuZ3RoT2ZMZW5ndGgpKTtcbiAgICAgICAgaWYgKG9mZnNldF8gKyBsZW5ndGhPZkxlbmd0aCArIGxlbmd0aCA+IGJ5dGVzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBlbmNvZGluZ19qc18xLkRhdGFMZW5ndGhUb29TaG9ydEVycm9yKHtcbiAgICAgICAgICAgICAgICBsZW5ndGg6IGxlbmd0aE9mTGVuZ3RoICsgbGVuZ3RoLFxuICAgICAgICAgICAgICAgIGRhdGFMZW5ndGg6IGJ5dGVzLmxlbmd0aCAtIGxlbmd0aE9mTGVuZ3RoLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBieXRlcy5zbGljZShvZmZzZXRfICsgbGVuZ3RoT2ZMZW5ndGgsIG9mZnNldF8gKyBsZW5ndGhPZkxlbmd0aCArIGxlbmd0aCksXG4gICAgICAgICAgICAxICsgbGVuZ3RoT2ZMZW5ndGggKyBsZW5ndGgsXG4gICAgICAgIF07XG4gICAgfVxuICAgIGxldCBsZW5ndGhPZkxlbmd0aCA9IDA7XG4gICAgbGV0IGxlbmd0aCA9IHByZWZpeCAtIDB4YzA7XG4gICAgaWYgKHByZWZpeCA+IDB4ZjcpIHtcbiAgICAgICAgbGVuZ3RoT2ZMZW5ndGggPSBwcmVmaXggLSAweGY3O1xuICAgICAgICBsZW5ndGggPSAoMCwgZnJvbUJ5dGVzX2pzXzEuYnl0ZXNUb051bWJlcikoYnl0ZXMuc2xpY2Uob2Zmc2V0ICsgMSwgb2Zmc2V0ICsgMSArIGxlbmd0aE9mTGVuZ3RoKSk7XG4gICAgfVxuICAgIGxldCBuZXh0T2Zmc2V0ID0gb2Zmc2V0ICsgMSArIGxlbmd0aE9mTGVuZ3RoO1xuICAgIGlmIChuZXh0T2Zmc2V0ID4gYnl0ZXMubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgZW5jb2RpbmdfanNfMS5EYXRhTGVuZ3RoVG9vU2hvcnRFcnJvcih7XG4gICAgICAgICAgICBsZW5ndGg6IG5leHRPZmZzZXQsXG4gICAgICAgICAgICBkYXRhTGVuZ3RoOiBieXRlcy5sZW5ndGgsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGNvbnN1bWVkID0gMSArIGxlbmd0aE9mTGVuZ3RoICsgbGVuZ3RoO1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIHdoaWxlIChuZXh0T2Zmc2V0IDwgb2Zmc2V0ICsgY29uc3VtZWQpIHtcbiAgICAgICAgY29uc3QgZGVjb2RlZCA9IHJscFRvQnl0ZXMoYnl0ZXMsIG5leHRPZmZzZXQpO1xuICAgICAgICByZXN1bHQucHVzaChkZWNvZGVkWzBdKTtcbiAgICAgICAgbmV4dE9mZnNldCArPSBkZWNvZGVkWzFdO1xuICAgICAgICBpZiAobmV4dE9mZnNldCA+IG9mZnNldCArIGNvbnN1bWVkKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGVuY29kaW5nX2pzXzEuT2Zmc2V0T3V0T2ZCb3VuZHNFcnJvcih7XG4gICAgICAgICAgICAgICAgbmV4dE9mZnNldDogbmV4dE9mZnNldCxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IG9mZnNldCArIGNvbnN1bWVkLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBbcmVzdWx0LCBjb25zdW1lZF07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mcm9tUmxwLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/encoding/fromRlp.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/encoding/toBytes.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/encoding/toBytes.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.stringToBytes = exports.numberToBytes = exports.hexToBytes = exports.boolToBytes = exports.toBytes = void 0;\nconst base_js_1 = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst isHex_js_1 = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst pad_js_1 = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ./fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst toHex_js_1 = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst encoder = new TextEncoder();\nfunction toBytes(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToBytes(value, opts);\n if (typeof value === 'boolean')\n return boolToBytes(value, opts);\n if ((0, isHex_js_1.isHex)(value))\n return hexToBytes(value, opts);\n return stringToBytes(value, opts);\n}\nexports.toBytes = toBytes;\nfunction boolToBytes(value, opts = {}) {\n const bytes = new Uint8Array(1);\n bytes[0] = Number(value);\n if (typeof opts.size === 'number') {\n (0, fromHex_js_1.assertSize)(bytes, { size: opts.size });\n return (0, pad_js_1.pad)(bytes, { size: opts.size });\n }\n return bytes;\n}\nexports.boolToBytes = boolToBytes;\nfunction hexToBytes(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n (0, fromHex_js_1.assertSize)(hex, { size: opts.size });\n hex = (0, pad_js_1.pad)(hex, { dir: 'right', size: opts.size });\n }\n let hexString = hex.slice(2);\n if (hexString.length % 2)\n hexString = `0${hexString}`;\n const bytes = new Uint8Array(hexString.length / 2);\n for (let index = 0; index < bytes.length; index++) {\n const start = index * 2;\n const hexByte = hexString.slice(start, start + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new base_js_1.BaseError(`Invalid byte sequence (\"${hexByte}\" in \"${hexString}\").`);\n bytes[index] = byte;\n }\n return bytes;\n}\nexports.hexToBytes = hexToBytes;\nfunction numberToBytes(value, opts) {\n const hex = (0, toHex_js_1.numberToHex)(value, opts);\n return hexToBytes(hex);\n}\nexports.numberToBytes = numberToBytes;\nfunction stringToBytes(value, opts = {}) {\n const bytes = encoder.encode(value);\n if (typeof opts.size === 'number') {\n (0, fromHex_js_1.assertSize)(bytes, { size: opts.size });\n return (0, pad_js_1.pad)(bytes, { dir: 'right', size: opts.size });\n }\n return bytes;\n}\nexports.stringToBytes = stringToBytes;\n//# sourceMappingURL=toBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy90b0J5dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQixHQUFHLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLG1CQUFtQixHQUFHLGVBQWU7QUFDMUcsa0JBQWtCLG1CQUFPLENBQUMseUVBQXNCO0FBQ2hELG1CQUFtQixtQkFBTyxDQUFDLDBFQUFrQjtBQUM3QyxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDekMscUJBQXFCLG1CQUFPLENBQUMsNEVBQWM7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsd0VBQVk7QUFDdkM7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZixxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0EsOENBQThDLGlCQUFpQjtBQUMvRCwwQ0FBMEMsaUJBQWlCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLDRDQUE0QyxpQkFBaUI7QUFDN0QsdUNBQXVDLCtCQUErQjtBQUN0RTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsVUFBVTtBQUNsQztBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUUsUUFBUSxRQUFRLFVBQVU7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQSw4Q0FBOEMsaUJBQWlCO0FBQy9ELDBDQUEwQywrQkFBK0I7QUFDekU7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2VuY29kaW5nL3RvQnl0ZXMuanM/ZWRiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc3RyaW5nVG9CeXRlcyA9IGV4cG9ydHMubnVtYmVyVG9CeXRlcyA9IGV4cG9ydHMuaGV4VG9CeXRlcyA9IGV4cG9ydHMuYm9vbFRvQnl0ZXMgPSBleHBvcnRzLnRvQnl0ZXMgPSB2b2lkIDA7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2Jhc2UuanNcIik7XG5jb25zdCBpc0hleF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvaXNIZXguanNcIik7XG5jb25zdCBwYWRfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL3BhZC5qc1wiKTtcbmNvbnN0IGZyb21IZXhfanNfMSA9IHJlcXVpcmUoXCIuL2Zyb21IZXguanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4vdG9IZXguanNcIik7XG5jb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG5mdW5jdGlvbiB0b0J5dGVzKHZhbHVlLCBvcHRzID0ge30pIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnKVxuICAgICAgICByZXR1cm4gbnVtYmVyVG9CeXRlcyh2YWx1ZSwgb3B0cyk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKVxuICAgICAgICByZXR1cm4gYm9vbFRvQnl0ZXModmFsdWUsIG9wdHMpO1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkodmFsdWUpKVxuICAgICAgICByZXR1cm4gaGV4VG9CeXRlcyh2YWx1ZSwgb3B0cyk7XG4gICAgcmV0dXJuIHN0cmluZ1RvQnl0ZXModmFsdWUsIG9wdHMpO1xufVxuZXhwb3J0cy50b0J5dGVzID0gdG9CeXRlcztcbmZ1bmN0aW9uIGJvb2xUb0J5dGVzKHZhbHVlLCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KDEpO1xuICAgIGJ5dGVzWzBdID0gTnVtYmVyKHZhbHVlKTtcbiAgICBpZiAodHlwZW9mIG9wdHMuc2l6ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgKDAsIGZyb21IZXhfanNfMS5hc3NlcnRTaXplKShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIHJldHVybiAoMCwgcGFkX2pzXzEucGFkKShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbn1cbmV4cG9ydHMuYm9vbFRvQnl0ZXMgPSBib29sVG9CeXRlcztcbmZ1bmN0aW9uIGhleFRvQnl0ZXMoaGV4Xywgb3B0cyA9IHt9KSB7XG4gICAgbGV0IGhleCA9IGhleF87XG4gICAgaWYgKG9wdHMuc2l6ZSkge1xuICAgICAgICAoMCwgZnJvbUhleF9qc18xLmFzc2VydFNpemUpKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIGhleCA9ICgwLCBwYWRfanNfMS5wYWQpKGhleCwgeyBkaXI6ICdyaWdodCcsIHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICB9XG4gICAgbGV0IGhleFN0cmluZyA9IGhleC5zbGljZSgyKTtcbiAgICBpZiAoaGV4U3RyaW5nLmxlbmd0aCAlIDIpXG4gICAgICAgIGhleFN0cmluZyA9IGAwJHtoZXhTdHJpbmd9YDtcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGhleFN0cmluZy5sZW5ndGggLyAyKTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYnl0ZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXggKiAyO1xuICAgICAgICBjb25zdCBoZXhCeXRlID0gaGV4U3RyaW5nLnNsaWNlKHN0YXJ0LCBzdGFydCArIDIpO1xuICAgICAgICBjb25zdCBieXRlID0gTnVtYmVyLnBhcnNlSW50KGhleEJ5dGUsIDE2KTtcbiAgICAgICAgaWYgKE51bWJlci5pc05hTihieXRlKSB8fCBieXRlIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBiYXNlX2pzXzEuQmFzZUVycm9yKGBJbnZhbGlkIGJ5dGUgc2VxdWVuY2UgKFwiJHtoZXhCeXRlfVwiIGluIFwiJHtoZXhTdHJpbmd9XCIpLmApO1xuICAgICAgICBieXRlc1tpbmRleF0gPSBieXRlO1xuICAgIH1cbiAgICByZXR1cm4gYnl0ZXM7XG59XG5leHBvcnRzLmhleFRvQnl0ZXMgPSBoZXhUb0J5dGVzO1xuZnVuY3Rpb24gbnVtYmVyVG9CeXRlcyh2YWx1ZSwgb3B0cykge1xuICAgIGNvbnN0IGhleCA9ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KSh2YWx1ZSwgb3B0cyk7XG4gICAgcmV0dXJuIGhleFRvQnl0ZXMoaGV4KTtcbn1cbmV4cG9ydHMubnVtYmVyVG9CeXRlcyA9IG51bWJlclRvQnl0ZXM7XG5mdW5jdGlvbiBzdHJpbmdUb0J5dGVzKHZhbHVlLCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBieXRlcyA9IGVuY29kZXIuZW5jb2RlKHZhbHVlKTtcbiAgICBpZiAodHlwZW9mIG9wdHMuc2l6ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgKDAsIGZyb21IZXhfanNfMS5hc3NlcnRTaXplKShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIHJldHVybiAoMCwgcGFkX2pzXzEucGFkKShieXRlcywgeyBkaXI6ICdyaWdodCcsIHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ5dGVzO1xufVxuZXhwb3J0cy5zdHJpbmdUb0J5dGVzID0gc3RyaW5nVG9CeXRlcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRvQnl0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/encoding/toHex.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/encoding/toHex.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.stringToHex = exports.numberToHex = exports.bytesToHex = exports.boolToHex = exports.toHex = void 0;\nconst encoding_js_1 = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/cjs/errors/encoding.js\");\nconst pad_js_1 = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ./fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst hexes = Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\nfunction toHex(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToHex(value, opts);\n if (typeof value === 'string') {\n return stringToHex(value, opts);\n }\n if (typeof value === 'boolean')\n return boolToHex(value, opts);\n return bytesToHex(value, opts);\n}\nexports.toHex = toHex;\nfunction boolToHex(value, opts = {}) {\n const hex = `0x${Number(value)}`;\n if (typeof opts.size === 'number') {\n (0, fromHex_js_1.assertSize)(hex, { size: opts.size });\n return (0, pad_js_1.pad)(hex, { size: opts.size });\n }\n return hex;\n}\nexports.boolToHex = boolToHex;\nfunction bytesToHex(value, opts = {}) {\n let hexString = '';\n for (let i = 0; i < value.length; i++) {\n hexString += hexes[value[i]];\n }\n const hex = `0x${hexString}`;\n if (typeof opts.size === 'number') {\n (0, fromHex_js_1.assertSize)(hex, { size: opts.size });\n return (0, pad_js_1.pad)(hex, { dir: 'right', size: opts.size });\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\nfunction numberToHex(value_, opts = {}) {\n const { signed, size } = opts;\n const value = BigInt(value_);\n let maxValue;\n if (size) {\n if (signed)\n maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n else\n maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n }\n else if (typeof value_ === 'number') {\n maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n }\n const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n if ((maxValue && value > maxValue) || value < minValue) {\n const suffix = typeof value_ === 'bigint' ? 'n' : '';\n throw new encoding_js_1.IntegerOutOfRangeError({\n max: maxValue ? `${maxValue}${suffix}` : undefined,\n min: `${minValue}${suffix}`,\n signed,\n size,\n value: `${value_}${suffix}`,\n });\n }\n const hex = `0x${(signed && value < 0\n ? (1n << BigInt(size * 8)) + BigInt(value)\n : value).toString(16)}`;\n if (size)\n return (0, pad_js_1.pad)(hex, { size });\n return hex;\n}\nexports.numberToHex = numberToHex;\nconst encoder = new TextEncoder();\nfunction stringToHex(value_, opts = {}) {\n const value = encoder.encode(value_);\n return bytesToHex(value, opts);\n}\nexports.stringToHex = stringToHex;\n//# sourceMappingURL=toHex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy90b0hleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUIsR0FBRyxtQkFBbUIsR0FBRyxrQkFBa0IsR0FBRyxpQkFBaUIsR0FBRyxhQUFhO0FBQ2xHLHNCQUFzQixtQkFBTyxDQUFDLGlGQUEwQjtBQUN4RCxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDekMscUJBQXFCLG1CQUFPLENBQUMsNEVBQWM7QUFDM0MsMkJBQTJCLGFBQWE7QUFDeEMsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixtQ0FBbUM7QUFDbkMscUJBQXFCLGNBQWM7QUFDbkM7QUFDQSw0Q0FBNEMsaUJBQWlCO0FBQzdELHdDQUF3QyxpQkFBaUI7QUFDekQ7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLG9DQUFvQztBQUNwQztBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBLHFCQUFxQixVQUFVO0FBQy9CO0FBQ0EsNENBQTRDLGlCQUFpQjtBQUM3RCx3Q0FBd0MsK0JBQStCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQixzQ0FBc0M7QUFDdEMsWUFBWSxlQUFlO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixTQUFTLEVBQUUsT0FBTztBQUNqRCxvQkFBb0IsU0FBUyxFQUFFLE9BQU87QUFDdEM7QUFDQTtBQUNBLHNCQUFzQixPQUFPLEVBQUUsT0FBTztBQUN0QyxTQUFTO0FBQ1Q7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQSx3Q0FBd0MsTUFBTTtBQUM5QztBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy90b0hleC5qcz8wN2QzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zdHJpbmdUb0hleCA9IGV4cG9ydHMubnVtYmVyVG9IZXggPSBleHBvcnRzLmJ5dGVzVG9IZXggPSBleHBvcnRzLmJvb2xUb0hleCA9IGV4cG9ydHMudG9IZXggPSB2b2lkIDA7XG5jb25zdCBlbmNvZGluZ19qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9lbmNvZGluZy5qc1wiKTtcbmNvbnN0IHBhZF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvcGFkLmpzXCIpO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4vZnJvbUhleC5qc1wiKTtcbmNvbnN0IGhleGVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjU2IH0sIChfdiwgaSkgPT4gaS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSk7XG5mdW5jdGlvbiB0b0hleCh2YWx1ZSwgb3B0cyA9IHt9KSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIG51bWJlclRvSGV4KHZhbHVlLCBvcHRzKTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gc3RyaW5nVG9IZXgodmFsdWUsIG9wdHMpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBib29sVG9IZXgodmFsdWUsIG9wdHMpO1xuICAgIHJldHVybiBieXRlc1RvSGV4KHZhbHVlLCBvcHRzKTtcbn1cbmV4cG9ydHMudG9IZXggPSB0b0hleDtcbmZ1bmN0aW9uIGJvb2xUb0hleCh2YWx1ZSwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgaGV4ID0gYDB4JHtOdW1iZXIodmFsdWUpfWA7XG4gICAgaWYgKHR5cGVvZiBvcHRzLnNpemUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICgwLCBmcm9tSGV4X2pzXzEuYXNzZXJ0U2l6ZSkoaGV4LCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgcmV0dXJuICgwLCBwYWRfanNfMS5wYWQpKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgfVxuICAgIHJldHVybiBoZXg7XG59XG5leHBvcnRzLmJvb2xUb0hleCA9IGJvb2xUb0hleDtcbmZ1bmN0aW9uIGJ5dGVzVG9IZXgodmFsdWUsIG9wdHMgPSB7fSkge1xuICAgIGxldCBoZXhTdHJpbmcgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGhleFN0cmluZyArPSBoZXhlc1t2YWx1ZVtpXV07XG4gICAgfVxuICAgIGNvbnN0IGhleCA9IGAweCR7aGV4U3RyaW5nfWA7XG4gICAgaWYgKHR5cGVvZiBvcHRzLnNpemUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICgwLCBmcm9tSGV4X2pzXzEuYXNzZXJ0U2l6ZSkoaGV4LCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgcmV0dXJuICgwLCBwYWRfanNfMS5wYWQpKGhleCwgeyBkaXI6ICdyaWdodCcsIHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhleDtcbn1cbmV4cG9ydHMuYnl0ZXNUb0hleCA9IGJ5dGVzVG9IZXg7XG5mdW5jdGlvbiBudW1iZXJUb0hleCh2YWx1ZV8sIG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IHsgc2lnbmVkLCBzaXplIH0gPSBvcHRzO1xuICAgIGNvbnN0IHZhbHVlID0gQmlnSW50KHZhbHVlXyk7XG4gICAgbGV0IG1heFZhbHVlO1xuICAgIGlmIChzaXplKSB7XG4gICAgICAgIGlmIChzaWduZWQpXG4gICAgICAgICAgICBtYXhWYWx1ZSA9ICgxbiA8PCAoQmlnSW50KHNpemUpICogOG4gLSAxbikpIC0gMW47XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIG1heFZhbHVlID0gMm4gKiogKEJpZ0ludChzaXplKSAqIDhuKSAtIDFuO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWVfID09PSAnbnVtYmVyJykge1xuICAgICAgICBtYXhWYWx1ZSA9IEJpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7XG4gICAgfVxuICAgIGNvbnN0IG1pblZhbHVlID0gdHlwZW9mIG1heFZhbHVlID09PSAnYmlnaW50JyAmJiBzaWduZWQgPyAtbWF4VmFsdWUgLSAxbiA6IDA7XG4gICAgaWYgKChtYXhWYWx1ZSAmJiB2YWx1ZSA+IG1heFZhbHVlKSB8fCB2YWx1ZSA8IG1pblZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHN1ZmZpeCA9IHR5cGVvZiB2YWx1ZV8gPT09ICdiaWdpbnQnID8gJ24nIDogJyc7XG4gICAgICAgIHRocm93IG5ldyBlbmNvZGluZ19qc18xLkludGVnZXJPdXRPZlJhbmdlRXJyb3Ioe1xuICAgICAgICAgICAgbWF4OiBtYXhWYWx1ZSA/IGAke21heFZhbHVlfSR7c3VmZml4fWAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBtaW46IGAke21pblZhbHVlfSR7c3VmZml4fWAsXG4gICAgICAgICAgICBzaWduZWQsXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgdmFsdWU6IGAke3ZhbHVlX30ke3N1ZmZpeH1gLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGV4ID0gYDB4JHsoc2lnbmVkICYmIHZhbHVlIDwgMFxuICAgICAgICA/ICgxbiA8PCBCaWdJbnQoc2l6ZSAqIDgpKSArIEJpZ0ludCh2YWx1ZSlcbiAgICAgICAgOiB2YWx1ZSkudG9TdHJpbmcoMTYpfWA7XG4gICAgaWYgKHNpemUpXG4gICAgICAgIHJldHVybiAoMCwgcGFkX2pzXzEucGFkKShoZXgsIHsgc2l6ZSB9KTtcbiAgICByZXR1cm4gaGV4O1xufVxuZXhwb3J0cy5udW1iZXJUb0hleCA9IG51bWJlclRvSGV4O1xuY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuZnVuY3Rpb24gc3RyaW5nVG9IZXgodmFsdWVfLCBvcHRzID0ge30pIHtcbiAgICBjb25zdCB2YWx1ZSA9IGVuY29kZXIuZW5jb2RlKHZhbHVlXyk7XG4gICAgcmV0dXJuIGJ5dGVzVG9IZXgodmFsdWUsIG9wdHMpO1xufVxuZXhwb3J0cy5zdHJpbmdUb0hleCA9IHN0cmluZ1RvSGV4O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9IZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/encoding/toHex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/encoding/toRlp.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/encoding/toRlp.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.bytesToRlp = exports.toRlp = void 0;\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ./toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst toHex_js_1 = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nfunction toRlp(hexOrBytes, to_) {\n const to = to_ || 'hex';\n return format(bytesToRlp(parse(hexOrBytes)), to);\n}\nexports.toRlp = toRlp;\nfunction parse(hexOrBytes) {\n if (Array.isArray(hexOrBytes))\n return hexOrBytes.map(parse);\n return typeof hexOrBytes === 'string' ? (0, toBytes_js_1.toBytes)(hexOrBytes) : hexOrBytes;\n}\nfunction format(bytes, type = 'bytes') {\n return type === 'hex' ? (0, toHex_js_1.bytesToHex)(bytes) : bytes;\n}\nfunction bytesToRlp(bytes) {\n if (Array.isArray(bytes)) {\n const encoded = (0, concat_js_1.concat)(bytes.map(bytesToRlp));\n return new Uint8Array([...encodeLength(encoded.length, 0xc0), ...encoded]);\n }\n if (bytes.length === 1 && bytes[0] < 0x80)\n return bytes;\n return new Uint8Array([...encodeLength(bytes.length, 0x80), ...bytes]);\n}\nexports.bytesToRlp = bytesToRlp;\nfunction encodeLength(length, offset) {\n if (length < 56)\n return [offset + length];\n return [(0, toBytes_js_1.toBytes)(length).length + offset + 55, ...(0, toBytes_js_1.toBytes)(length)];\n}\n//# sourceMappingURL=toRlp.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy90b1JscC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQkFBa0IsR0FBRyxhQUFhO0FBQ2xDLG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQyxxQkFBcUIsbUJBQU8sQ0FBQyw0RUFBYztBQUMzQyxtQkFBbUIsbUJBQU8sQ0FBQyx3RUFBWTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbmNvZGluZy90b1JscC5qcz8zODQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5ieXRlc1RvUmxwID0gZXhwb3J0cy50b1JscCA9IHZvaWQgMDtcbmNvbnN0IGNvbmNhdF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvY29uY2F0LmpzXCIpO1xuY29uc3QgdG9CeXRlc19qc18xID0gcmVxdWlyZShcIi4vdG9CeXRlcy5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi90b0hleC5qc1wiKTtcbmZ1bmN0aW9uIHRvUmxwKGhleE9yQnl0ZXMsIHRvXykge1xuICAgIGNvbnN0IHRvID0gdG9fIHx8ICdoZXgnO1xuICAgIHJldHVybiBmb3JtYXQoYnl0ZXNUb1JscChwYXJzZShoZXhPckJ5dGVzKSksIHRvKTtcbn1cbmV4cG9ydHMudG9SbHAgPSB0b1JscDtcbmZ1bmN0aW9uIHBhcnNlKGhleE9yQnl0ZXMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShoZXhPckJ5dGVzKSlcbiAgICAgICAgcmV0dXJuIGhleE9yQnl0ZXMubWFwKHBhcnNlKTtcbiAgICByZXR1cm4gdHlwZW9mIGhleE9yQnl0ZXMgPT09ICdzdHJpbmcnID8gKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKShoZXhPckJ5dGVzKSA6IGhleE9yQnl0ZXM7XG59XG5mdW5jdGlvbiBmb3JtYXQoYnl0ZXMsIHR5cGUgPSAnYnl0ZXMnKSB7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdoZXgnID8gKDAsIHRvSGV4X2pzXzEuYnl0ZXNUb0hleCkoYnl0ZXMpIDogYnl0ZXM7XG59XG5mdW5jdGlvbiBieXRlc1RvUmxwKGJ5dGVzKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYnl0ZXMpKSB7XG4gICAgICAgIGNvbnN0IGVuY29kZWQgPSAoMCwgY29uY2F0X2pzXzEuY29uY2F0KShieXRlcy5tYXAoYnl0ZXNUb1JscCkpO1xuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWy4uLmVuY29kZUxlbmd0aChlbmNvZGVkLmxlbmd0aCwgMHhjMCksIC4uLmVuY29kZWRdKTtcbiAgICB9XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA9PT0gMSAmJiBieXRlc1swXSA8IDB4ODApXG4gICAgICAgIHJldHVybiBieXRlcztcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWy4uLmVuY29kZUxlbmd0aChieXRlcy5sZW5ndGgsIDB4ODApLCAuLi5ieXRlc10pO1xufVxuZXhwb3J0cy5ieXRlc1RvUmxwID0gYnl0ZXNUb1JscDtcbmZ1bmN0aW9uIGVuY29kZUxlbmd0aChsZW5ndGgsIG9mZnNldCkge1xuICAgIGlmIChsZW5ndGggPCA1NilcbiAgICAgICAgcmV0dXJuIFtvZmZzZXQgKyBsZW5ndGhdO1xuICAgIHJldHVybiBbKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKShsZW5ndGgpLmxlbmd0aCArIG9mZnNldCArIDU1LCAuLi4oMCwgdG9CeXRlc19qc18xLnRvQnl0ZXMpKGxlbmd0aCldO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9SbHAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/encoding/toRlp.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/avatar/parseAvatarRecord.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/avatar/parseAvatarRecord.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseAvatarRecord = void 0;\nconst utils_js_1 = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/cjs/utils/ens/avatar/utils.js\");\nasync function parseAvatarRecord(client, { gatewayUrls, record, }) {\n if (/eip155:/i.test(record))\n return parseNftAvatarUri(client, { gatewayUrls, record });\n return (0, utils_js_1.parseAvatarUri)({ uri: record, gatewayUrls });\n}\nexports.parseAvatarRecord = parseAvatarRecord;\nasync function parseNftAvatarUri(client, { gatewayUrls, record, }) {\n const nft = (0, utils_js_1.parseNftUri)(record);\n const nftUri = await (0, utils_js_1.getNftTokenUri)(client, { nft });\n const { uri: resolvedNftUri, isOnChain, isEncoded, } = (0, utils_js_1.resolveAvatarUri)({ uri: nftUri, gatewayUrls });\n if (isOnChain &&\n (resolvedNftUri.includes('data:application/json;base64,') ||\n resolvedNftUri.startsWith('{'))) {\n const encodedJson = isEncoded\n ?\n atob(resolvedNftUri.replace('data:application/json;base64,', ''))\n :\n resolvedNftUri;\n const decoded = JSON.parse(encodedJson);\n return (0, utils_js_1.parseAvatarUri)({ uri: (0, utils_js_1.getJsonImage)(decoded), gatewayUrls });\n }\n let uriTokenId = nft.tokenID;\n if (nft.namespace === 'erc1155')\n uriTokenId = uriTokenId.replace('0x', '').padStart(64, '0');\n return (0, utils_js_1.getMetadataAvatarUri)({\n gatewayUrls,\n uri: resolvedNftUri.replace(/(?:0x)?{id}/, uriTokenId),\n });\n}\n//# sourceMappingURL=parseAvatarRecord.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvYXZhdGFyL3BhcnNlQXZhdGFyUmVjb3JkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHlCQUF5QjtBQUN6QixtQkFBbUIsbUJBQU8sQ0FBQywwRUFBWTtBQUN2QywyQ0FBMkMsc0JBQXNCO0FBQ2pFO0FBQ0EsMkNBQTJDLHFCQUFxQjtBQUNoRSw0Q0FBNEMsMEJBQTBCO0FBQ3RFO0FBQ0EseUJBQXlCO0FBQ3pCLDJDQUEyQyxzQkFBc0I7QUFDakU7QUFDQSxrRUFBa0UsS0FBSztBQUN2RSxZQUFZLDZDQUE2QyxxQ0FBcUMsMEJBQTBCO0FBQ3hIO0FBQ0Esd0RBQXdEO0FBQ3hELHdDQUF3QztBQUN4QztBQUNBO0FBQ0EsbUVBQW1FO0FBQ25FO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCx5REFBeUQ7QUFDekc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDLEdBQUc7QUFDaEQsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZW5zL2F2YXRhci9wYXJzZUF2YXRhclJlY29yZC5qcz83YWRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wYXJzZUF2YXRhclJlY29yZCA9IHZvaWQgMDtcbmNvbnN0IHV0aWxzX2pzXzEgPSByZXF1aXJlKFwiLi91dGlscy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHBhcnNlQXZhdGFyUmVjb3JkKGNsaWVudCwgeyBnYXRld2F5VXJscywgcmVjb3JkLCB9KSB7XG4gICAgaWYgKC9laXAxNTU6L2kudGVzdChyZWNvcmQpKVxuICAgICAgICByZXR1cm4gcGFyc2VOZnRBdmF0YXJVcmkoY2xpZW50LCB7IGdhdGV3YXlVcmxzLCByZWNvcmQgfSk7XG4gICAgcmV0dXJuICgwLCB1dGlsc19qc18xLnBhcnNlQXZhdGFyVXJpKSh7IHVyaTogcmVjb3JkLCBnYXRld2F5VXJscyB9KTtcbn1cbmV4cG9ydHMucGFyc2VBdmF0YXJSZWNvcmQgPSBwYXJzZUF2YXRhclJlY29yZDtcbmFzeW5jIGZ1bmN0aW9uIHBhcnNlTmZ0QXZhdGFyVXJpKGNsaWVudCwgeyBnYXRld2F5VXJscywgcmVjb3JkLCB9KSB7XG4gICAgY29uc3QgbmZ0ID0gKDAsIHV0aWxzX2pzXzEucGFyc2VOZnRVcmkpKHJlY29yZCk7XG4gICAgY29uc3QgbmZ0VXJpID0gYXdhaXQgKDAsIHV0aWxzX2pzXzEuZ2V0TmZ0VG9rZW5VcmkpKGNsaWVudCwgeyBuZnQgfSk7XG4gICAgY29uc3QgeyB1cmk6IHJlc29sdmVkTmZ0VXJpLCBpc09uQ2hhaW4sIGlzRW5jb2RlZCwgfSA9ICgwLCB1dGlsc19qc18xLnJlc29sdmVBdmF0YXJVcmkpKHsgdXJpOiBuZnRVcmksIGdhdGV3YXlVcmxzIH0pO1xuICAgIGlmIChpc09uQ2hhaW4gJiZcbiAgICAgICAgKHJlc29sdmVkTmZ0VXJpLmluY2x1ZGVzKCdkYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCcpIHx8XG4gICAgICAgICAgICByZXNvbHZlZE5mdFVyaS5zdGFydHNXaXRoKCd7JykpKSB7XG4gICAgICAgIGNvbnN0IGVuY29kZWRKc29uID0gaXNFbmNvZGVkXG4gICAgICAgICAgICA/XG4gICAgICAgICAgICAgICAgYXRvYihyZXNvbHZlZE5mdFVyaS5yZXBsYWNlKCdkYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCcsICcnKSlcbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICByZXNvbHZlZE5mdFVyaTtcbiAgICAgICAgY29uc3QgZGVjb2RlZCA9IEpTT04ucGFyc2UoZW5jb2RlZEpzb24pO1xuICAgICAgICByZXR1cm4gKDAsIHV0aWxzX2pzXzEucGFyc2VBdmF0YXJVcmkpKHsgdXJpOiAoMCwgdXRpbHNfanNfMS5nZXRKc29uSW1hZ2UpKGRlY29kZWQpLCBnYXRld2F5VXJscyB9KTtcbiAgICB9XG4gICAgbGV0IHVyaVRva2VuSWQgPSBuZnQudG9rZW5JRDtcbiAgICBpZiAobmZ0Lm5hbWVzcGFjZSA9PT0gJ2VyYzExNTUnKVxuICAgICAgICB1cmlUb2tlbklkID0gdXJpVG9rZW5JZC5yZXBsYWNlKCcweCcsICcnKS5wYWRTdGFydCg2NCwgJzAnKTtcbiAgICByZXR1cm4gKDAsIHV0aWxzX2pzXzEuZ2V0TWV0YWRhdGFBdmF0YXJVcmkpKHtcbiAgICAgICAgZ2F0ZXdheVVybHMsXG4gICAgICAgIHVyaTogcmVzb2x2ZWROZnRVcmkucmVwbGFjZSgvKD86MHgpP3tpZH0vLCB1cmlUb2tlbklkKSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQXZhdGFyUmVjb3JkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/avatar/parseAvatarRecord.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/avatar/utils.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/avatar/utils.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getNftTokenUri = exports.parseNftUri = exports.parseAvatarUri = exports.getMetadataAvatarUri = exports.getJsonImage = exports.resolveAvatarUri = exports.getGateway = exports.isImageUri = void 0;\nconst readContract_js_1 = __webpack_require__(/*! ../../../actions/public/readContract.js */ \"./node_modules/viem/dist/cjs/actions/public/readContract.js\");\nconst ens_js_1 = __webpack_require__(/*! ../../../errors/ens.js */ \"./node_modules/viem/dist/cjs/errors/ens.js\");\nconst networkRegex = /(?<protocol>https?:\\/\\/[^\\/]*|ipfs:\\/|ipns:\\/|ar:\\/)?(?<root>\\/)?(?<subpath>ipfs\\/|ipns\\/)?(?<target>[\\w\\-.]+)(?<subtarget>\\/.*)?/;\nconst ipfsHashRegex = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\\/(?<target>[\\w\\-.]+))?(?<subtarget>\\/.*)?$/;\nconst base64Regex = /^data:([a-zA-Z\\-/+]*);base64,([^\"].*)/;\nconst dataURIRegex = /^data:([a-zA-Z\\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;\nasync function isImageUri(uri) {\n try {\n const res = await fetch(uri, { method: 'HEAD' });\n if (res.status === 200) {\n const contentType = res.headers.get('content-type');\n return contentType?.startsWith('image/');\n }\n return false;\n }\n catch (error) {\n if (typeof error === 'object' && typeof error.response !== 'undefined') {\n return false;\n }\n if (!globalThis.hasOwnProperty('Image'))\n return false;\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n resolve(true);\n };\n img.onerror = () => {\n resolve(false);\n };\n img.src = uri;\n });\n }\n}\nexports.isImageUri = isImageUri;\nfunction getGateway(custom, defaultGateway) {\n if (!custom)\n return defaultGateway;\n if (custom.endsWith('/'))\n return custom.slice(0, -1);\n return custom;\n}\nexports.getGateway = getGateway;\nfunction resolveAvatarUri({ uri, gatewayUrls, }) {\n const isEncoded = base64Regex.test(uri);\n if (isEncoded)\n return { uri, isOnChain: true, isEncoded };\n const ipfsGateway = getGateway(gatewayUrls?.ipfs, 'https://ipfs.io');\n const arweaveGateway = getGateway(gatewayUrls?.arweave, 'https://arweave.net');\n const networkRegexMatch = uri.match(networkRegex);\n const { protocol, subpath, target, subtarget = '', } = networkRegexMatch?.groups || {};\n const isIPNS = protocol === 'ipns:/' || subpath === 'ipns/';\n const isIPFS = protocol === 'ipfs:/' || subpath === 'ipfs/' || ipfsHashRegex.test(uri);\n if (uri.startsWith('http') && !isIPNS && !isIPFS) {\n let replacedUri = uri;\n if (gatewayUrls?.arweave)\n replacedUri = uri.replace(/https:\\/\\/arweave.net/g, gatewayUrls?.arweave);\n return { uri: replacedUri, isOnChain: false, isEncoded: false };\n }\n if ((isIPNS || isIPFS) && target) {\n return {\n uri: `${ipfsGateway}/${isIPNS ? 'ipns' : 'ipfs'}/${target}${subtarget}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n else if (protocol === 'ar:/' && target) {\n return {\n uri: `${arweaveGateway}/${target}${subtarget || ''}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n let parsedUri = uri.replace(dataURIRegex, '');\n if (parsedUri.startsWith('<svg')) {\n parsedUri = `data:image/svg+xml;base64,${btoa(parsedUri)}`;\n }\n if (parsedUri.startsWith('data:') || parsedUri.startsWith('{')) {\n return {\n uri: parsedUri,\n isOnChain: true,\n isEncoded: false,\n };\n }\n throw new ens_js_1.EnsAvatarUriResolutionError({ uri });\n}\nexports.resolveAvatarUri = resolveAvatarUri;\nfunction getJsonImage(data) {\n if (typeof data !== 'object' ||\n (!('image' in data) && !('image_url' in data) && !('image_data' in data))) {\n throw new ens_js_1.EnsAvatarInvalidMetadataError({ data });\n }\n return data.image || data.image_url || data.image_data;\n}\nexports.getJsonImage = getJsonImage;\nasync function getMetadataAvatarUri({ gatewayUrls, uri, }) {\n try {\n const res = await fetch(uri).then((res) => res.json());\n const image = await parseAvatarUri({\n gatewayUrls,\n uri: getJsonImage(res),\n });\n return image;\n }\n catch {\n throw new ens_js_1.EnsAvatarUriResolutionError({ uri });\n }\n}\nexports.getMetadataAvatarUri = getMetadataAvatarUri;\nasync function parseAvatarUri({ gatewayUrls, uri, }) {\n const { uri: resolvedURI, isOnChain } = resolveAvatarUri({ uri, gatewayUrls });\n if (isOnChain)\n return resolvedURI;\n const isImage = await isImageUri(resolvedURI);\n if (isImage)\n return resolvedURI;\n throw new ens_js_1.EnsAvatarUriResolutionError({ uri });\n}\nexports.parseAvatarUri = parseAvatarUri;\nfunction parseNftUri(uri) {\n if (uri.startsWith('did:nft:')) {\n uri = uri.replace('did:nft:', '').replace(/_/g, '/');\n }\n const [reference, asset_namespace, tokenID] = uri.split('/');\n const [eip_namespace, chainID] = reference.split(':');\n const [erc_namespace, contractAddress] = asset_namespace.split(':');\n if (!eip_namespace || eip_namespace.toLowerCase() !== 'eip155')\n throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'Only EIP-155 supported' });\n if (!chainID)\n throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'Chain ID not found' });\n if (!contractAddress)\n throw new ens_js_1.EnsAvatarInvalidNftUriError({\n reason: 'Contract address not found',\n });\n if (!tokenID)\n throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'Token ID not found' });\n if (!erc_namespace)\n throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'ERC namespace not found' });\n return {\n chainID: parseInt(chainID),\n namespace: erc_namespace.toLowerCase(),\n contractAddress: contractAddress,\n tokenID,\n };\n}\nexports.parseNftUri = parseNftUri;\nasync function getNftTokenUri(client, { nft }) {\n if (nft.namespace === 'erc721') {\n return (0, readContract_js_1.readContract)(client, {\n address: nft.contractAddress,\n abi: [\n {\n name: 'tokenURI',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'tokenId', type: 'uint256' }],\n outputs: [{ name: '', type: 'string' }],\n },\n ],\n functionName: 'tokenURI',\n args: [BigInt(nft.tokenID)],\n });\n }\n if (nft.namespace === 'erc1155') {\n return (0, readContract_js_1.readContract)(client, {\n address: nft.contractAddress,\n abi: [\n {\n name: 'uri',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: '_id', type: 'uint256' }],\n outputs: [{ name: '', type: 'string' }],\n },\n ],\n functionName: 'uri',\n args: [BigInt(nft.tokenID)],\n });\n }\n throw new ens_js_1.EnsAvatarUnsupportedNamespaceError({ namespace: nft.namespace });\n}\nexports.getNftTokenUri = getNftTokenUri;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvYXZhdGFyL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHNCQUFzQixHQUFHLG1CQUFtQixHQUFHLHNCQUFzQixHQUFHLDRCQUE0QixHQUFHLG9CQUFvQixHQUFHLHdCQUF3QixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQjtBQUNoTSwwQkFBMEIsbUJBQU8sQ0FBQyw0R0FBeUM7QUFDM0UsaUJBQWlCLG1CQUFPLENBQUMsMEVBQXdCO0FBQ2pEO0FBQ0EsZ0RBQWdELElBQUksY0FBYyxJQUFJLFdBQVcsSUFBSSx1QkFBdUIsSUFBSSxXQUFXLElBQUk7QUFDL0gsMkNBQTJDO0FBQzNDLDhDQUE4QztBQUM5QztBQUNBO0FBQ0EsdUNBQXVDLGdCQUFnQjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQiw0QkFBNEIsbUJBQW1CO0FBQy9DO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2Q0FBNkM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixZQUFZLEdBQUcseUJBQXlCLEdBQUcsT0FBTyxFQUFFLFVBQVU7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGVBQWUsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxTQUFTLGdCQUFnQjtBQUNqRTtBQUNBLGdFQUFnRTtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsS0FBSztBQUMxRDtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsTUFBTTtBQUNqRTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIsc0NBQXNDLG1CQUFtQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxLQUFLO0FBQzlEO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUIsZ0NBQWdDLG1CQUFtQjtBQUNuRCxZQUFZLDhCQUE4QixxQkFBcUIsa0JBQWtCO0FBQ2pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsS0FBSztBQUMxRDtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELGtDQUFrQztBQUMzRjtBQUNBLHlEQUF5RCw4QkFBOEI7QUFDdkY7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EseURBQXlELDhCQUE4QjtBQUN2RjtBQUNBLHlEQUF5RCxtQ0FBbUM7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkIsd0NBQXdDLEtBQUs7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixrQ0FBa0M7QUFDakUsZ0NBQWdDLDBCQUEwQjtBQUMxRCxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw4QkFBOEI7QUFDN0QsZ0NBQWdDLDBCQUEwQjtBQUMxRCxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsNERBQTRELDBCQUEwQjtBQUN0RjtBQUNBLHNCQUFzQjtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvYXZhdGFyL3V0aWxzLmpzPzgyNGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldE5mdFRva2VuVXJpID0gZXhwb3J0cy5wYXJzZU5mdFVyaSA9IGV4cG9ydHMucGFyc2VBdmF0YXJVcmkgPSBleHBvcnRzLmdldE1ldGFkYXRhQXZhdGFyVXJpID0gZXhwb3J0cy5nZXRKc29uSW1hZ2UgPSBleHBvcnRzLnJlc29sdmVBdmF0YXJVcmkgPSBleHBvcnRzLmdldEdhdGV3YXkgPSBleHBvcnRzLmlzSW1hZ2VVcmkgPSB2b2lkIDA7XG5jb25zdCByZWFkQ29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi8uLi9hY3Rpb25zL3B1YmxpYy9yZWFkQ29udHJhY3QuanNcIik7XG5jb25zdCBlbnNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi8uLi9lcnJvcnMvZW5zLmpzXCIpO1xuY29uc3QgbmV0d29ya1JlZ2V4ID0gLyg/PHByb3RvY29sPmh0dHBzPzpcXC9cXC9bXlxcL10qfGlwZnM6XFwvfGlwbnM6XFwvfGFyOlxcLyk/KD88cm9vdD5cXC8pPyg/PHN1YnBhdGg+aXBmc1xcL3xpcG5zXFwvKT8oPzx0YXJnZXQ+W1xcd1xcLS5dKykoPzxzdWJ0YXJnZXQ+XFwvLiopPy87XG5jb25zdCBpcGZzSGFzaFJlZ2V4ID0gL14oUW1bMS05QS1ISi1OUC1aYS1rbS16XXs0NCx9fGJbQS1aYS16Mi03XXs1OCx9fEJbQS1aMi03XXs1OCx9fHpbMS05QS1ISi1OUC1aYS1rbS16XXs0OCx9fEZbMC05QS1GXXs1MCx9KShcXC8oPzx0YXJnZXQ+W1xcd1xcLS5dKykpPyg/PHN1YnRhcmdldD5cXC8uKik/JC87XG5jb25zdCBiYXNlNjRSZWdleCA9IC9eZGF0YTooW2EtekEtWlxcLS8rXSopO2Jhc2U2NCwoW15cIl0uKikvO1xuY29uc3QgZGF0YVVSSVJlZ2V4ID0gL15kYXRhOihbYS16QS1aXFwtLytdKik/KDtbYS16QS1aMC05XS4qPyk/KCwpLztcbmFzeW5jIGZ1bmN0aW9uIGlzSW1hZ2VVcmkodXJpKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJpLCB7IG1ldGhvZDogJ0hFQUQnIH0pO1xuICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IHJlcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmIHR5cGVvZiBlcnJvci5yZXNwb25zZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdsb2JhbFRoaXMuaGFzT3duUHJvcGVydHkoJ0ltYWdlJykpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaW1nLnNyYyA9IHVyaTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0cy5pc0ltYWdlVXJpID0gaXNJbWFnZVVyaTtcbmZ1bmN0aW9uIGdldEdhdGV3YXkoY3VzdG9tLCBkZWZhdWx0R2F0ZXdheSkge1xuICAgIGlmICghY3VzdG9tKVxuICAgICAgICByZXR1cm4gZGVmYXVsdEdhdGV3YXk7XG4gICAgaWYgKGN1c3RvbS5lbmRzV2l0aCgnLycpKVxuICAgICAgICByZXR1cm4gY3VzdG9tLnNsaWNlKDAsIC0xKTtcbiAgICByZXR1cm4gY3VzdG9tO1xufVxuZXhwb3J0cy5nZXRHYXRld2F5ID0gZ2V0R2F0ZXdheTtcbmZ1bmN0aW9uIHJlc29sdmVBdmF0YXJVcmkoeyB1cmksIGdhdGV3YXlVcmxzLCB9KSB7XG4gICAgY29uc3QgaXNFbmNvZGVkID0gYmFzZTY0UmVnZXgudGVzdCh1cmkpO1xuICAgIGlmIChpc0VuY29kZWQpXG4gICAgICAgIHJldHVybiB7IHVyaSwgaXNPbkNoYWluOiB0cnVlLCBpc0VuY29kZWQgfTtcbiAgICBjb25zdCBpcGZzR2F0ZXdheSA9IGdldEdhdGV3YXkoZ2F0ZXdheVVybHM/LmlwZnMsICdodHRwczovL2lwZnMuaW8nKTtcbiAgICBjb25zdCBhcndlYXZlR2F0ZXdheSA9IGdldEdhdGV3YXkoZ2F0ZXdheVVybHM/LmFyd2VhdmUsICdodHRwczovL2Fyd2VhdmUubmV0Jyk7XG4gICAgY29uc3QgbmV0d29ya1JlZ2V4TWF0Y2ggPSB1cmkubWF0Y2gobmV0d29ya1JlZ2V4KTtcbiAgICBjb25zdCB7IHByb3RvY29sLCBzdWJwYXRoLCB0YXJnZXQsIHN1YnRhcmdldCA9ICcnLCB9ID0gbmV0d29ya1JlZ2V4TWF0Y2g/Lmdyb3VwcyB8fCB7fTtcbiAgICBjb25zdCBpc0lQTlMgPSBwcm90b2NvbCA9PT0gJ2lwbnM6LycgfHwgc3VicGF0aCA9PT0gJ2lwbnMvJztcbiAgICBjb25zdCBpc0lQRlMgPSBwcm90b2NvbCA9PT0gJ2lwZnM6LycgfHwgc3VicGF0aCA9PT0gJ2lwZnMvJyB8fCBpcGZzSGFzaFJlZ2V4LnRlc3QodXJpKTtcbiAgICBpZiAodXJpLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJiAhaXNJUE5TICYmICFpc0lQRlMpIHtcbiAgICAgICAgbGV0IHJlcGxhY2VkVXJpID0gdXJpO1xuICAgICAgICBpZiAoZ2F0ZXdheVVybHM/LmFyd2VhdmUpXG4gICAgICAgICAgICByZXBsYWNlZFVyaSA9IHVyaS5yZXBsYWNlKC9odHRwczpcXC9cXC9hcndlYXZlLm5ldC9nLCBnYXRld2F5VXJscz8uYXJ3ZWF2ZSk7XG4gICAgICAgIHJldHVybiB7IHVyaTogcmVwbGFjZWRVcmksIGlzT25DaGFpbjogZmFsc2UsIGlzRW5jb2RlZDogZmFsc2UgfTtcbiAgICB9XG4gICAgaWYgKChpc0lQTlMgfHwgaXNJUEZTKSAmJiB0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHVyaTogYCR7aXBmc0dhdGV3YXl9LyR7aXNJUE5TID8gJ2lwbnMnIDogJ2lwZnMnfS8ke3RhcmdldH0ke3N1YnRhcmdldH1gLFxuICAgICAgICAgICAgaXNPbkNoYWluOiBmYWxzZSxcbiAgICAgICAgICAgIGlzRW5jb2RlZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKHByb3RvY29sID09PSAnYXI6LycgJiYgdGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cmk6IGAke2Fyd2VhdmVHYXRld2F5fS8ke3RhcmdldH0ke3N1YnRhcmdldCB8fCAnJ31gLFxuICAgICAgICAgICAgaXNPbkNoYWluOiBmYWxzZSxcbiAgICAgICAgICAgIGlzRW5jb2RlZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGxldCBwYXJzZWRVcmkgPSB1cmkucmVwbGFjZShkYXRhVVJJUmVnZXgsICcnKTtcbiAgICBpZiAocGFyc2VkVXJpLnN0YXJ0c1dpdGgoJzxzdmcnKSkge1xuICAgICAgICBwYXJzZWRVcmkgPSBgZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwke2J0b2EocGFyc2VkVXJpKX1gO1xuICAgIH1cbiAgICBpZiAocGFyc2VkVXJpLnN0YXJ0c1dpdGgoJ2RhdGE6JykgfHwgcGFyc2VkVXJpLnN0YXJ0c1dpdGgoJ3snKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdXJpOiBwYXJzZWRVcmksXG4gICAgICAgICAgICBpc09uQ2hhaW46IHRydWUsXG4gICAgICAgICAgICBpc0VuY29kZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgZW5zX2pzXzEuRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yKHsgdXJpIH0pO1xufVxuZXhwb3J0cy5yZXNvbHZlQXZhdGFyVXJpID0gcmVzb2x2ZUF2YXRhclVyaTtcbmZ1bmN0aW9uIGdldEpzb25JbWFnZShkYXRhKSB7XG4gICAgaWYgKHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JyB8fFxuICAgICAgICAoISgnaW1hZ2UnIGluIGRhdGEpICYmICEoJ2ltYWdlX3VybCcgaW4gZGF0YSkgJiYgISgnaW1hZ2VfZGF0YScgaW4gZGF0YSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBlbnNfanNfMS5FbnNBdmF0YXJJbnZhbGlkTWV0YWRhdGFFcnJvcih7IGRhdGEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLmltYWdlIHx8IGRhdGEuaW1hZ2VfdXJsIHx8IGRhdGEuaW1hZ2VfZGF0YTtcbn1cbmV4cG9ydHMuZ2V0SnNvbkltYWdlID0gZ2V0SnNvbkltYWdlO1xuYXN5bmMgZnVuY3Rpb24gZ2V0TWV0YWRhdGFBdmF0YXJVcmkoeyBnYXRld2F5VXJscywgdXJpLCB9KSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJpKS50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpO1xuICAgICAgICBjb25zdCBpbWFnZSA9IGF3YWl0IHBhcnNlQXZhdGFyVXJpKHtcbiAgICAgICAgICAgIGdhdGV3YXlVcmxzLFxuICAgICAgICAgICAgdXJpOiBnZXRKc29uSW1hZ2UocmVzKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBpbWFnZTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICB0aHJvdyBuZXcgZW5zX2pzXzEuRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yKHsgdXJpIH0pO1xuICAgIH1cbn1cbmV4cG9ydHMuZ2V0TWV0YWRhdGFBdmF0YXJVcmkgPSBnZXRNZXRhZGF0YUF2YXRhclVyaTtcbmFzeW5jIGZ1bmN0aW9uIHBhcnNlQXZhdGFyVXJpKHsgZ2F0ZXdheVVybHMsIHVyaSwgfSkge1xuICAgIGNvbnN0IHsgdXJpOiByZXNvbHZlZFVSSSwgaXNPbkNoYWluIH0gPSByZXNvbHZlQXZhdGFyVXJpKHsgdXJpLCBnYXRld2F5VXJscyB9KTtcbiAgICBpZiAoaXNPbkNoYWluKVxuICAgICAgICByZXR1cm4gcmVzb2x2ZWRVUkk7XG4gICAgY29uc3QgaXNJbWFnZSA9IGF3YWl0IGlzSW1hZ2VVcmkocmVzb2x2ZWRVUkkpO1xuICAgIGlmIChpc0ltYWdlKVxuICAgICAgICByZXR1cm4gcmVzb2x2ZWRVUkk7XG4gICAgdGhyb3cgbmV3IGVuc19qc18xLkVuc0F2YXRhclVyaVJlc29sdXRpb25FcnJvcih7IHVyaSB9KTtcbn1cbmV4cG9ydHMucGFyc2VBdmF0YXJVcmkgPSBwYXJzZUF2YXRhclVyaTtcbmZ1bmN0aW9uIHBhcnNlTmZ0VXJpKHVyaSkge1xuICAgIGlmICh1cmkuc3RhcnRzV2l0aCgnZGlkOm5mdDonKSkge1xuICAgICAgICB1cmkgPSB1cmkucmVwbGFjZSgnZGlkOm5mdDonLCAnJykucmVwbGFjZSgvXy9nLCAnLycpO1xuICAgIH1cbiAgICBjb25zdCBbcmVmZXJlbmNlLCBhc3NldF9uYW1lc3BhY2UsIHRva2VuSURdID0gdXJpLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgW2VpcF9uYW1lc3BhY2UsIGNoYWluSURdID0gcmVmZXJlbmNlLnNwbGl0KCc6Jyk7XG4gICAgY29uc3QgW2VyY19uYW1lc3BhY2UsIGNvbnRyYWN0QWRkcmVzc10gPSBhc3NldF9uYW1lc3BhY2Uuc3BsaXQoJzonKTtcbiAgICBpZiAoIWVpcF9uYW1lc3BhY2UgfHwgZWlwX25hbWVzcGFjZS50b0xvd2VyQ2FzZSgpICE9PSAnZWlwMTU1JylcbiAgICAgICAgdGhyb3cgbmV3IGVuc19qc18xLkVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvcih7IHJlYXNvbjogJ09ubHkgRUlQLTE1NSBzdXBwb3J0ZWQnIH0pO1xuICAgIGlmICghY2hhaW5JRClcbiAgICAgICAgdGhyb3cgbmV3IGVuc19qc18xLkVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvcih7IHJlYXNvbjogJ0NoYWluIElEIG5vdCBmb3VuZCcgfSk7XG4gICAgaWYgKCFjb250cmFjdEFkZHJlc3MpXG4gICAgICAgIHRocm93IG5ldyBlbnNfanNfMS5FbnNBdmF0YXJJbnZhbGlkTmZ0VXJpRXJyb3Ioe1xuICAgICAgICAgICAgcmVhc29uOiAnQ29udHJhY3QgYWRkcmVzcyBub3QgZm91bmQnLFxuICAgICAgICB9KTtcbiAgICBpZiAoIXRva2VuSUQpXG4gICAgICAgIHRocm93IG5ldyBlbnNfanNfMS5FbnNBdmF0YXJJbnZhbGlkTmZ0VXJpRXJyb3IoeyByZWFzb246ICdUb2tlbiBJRCBub3QgZm91bmQnIH0pO1xuICAgIGlmICghZXJjX25hbWVzcGFjZSlcbiAgICAgICAgdGhyb3cgbmV3IGVuc19qc18xLkVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvcih7IHJlYXNvbjogJ0VSQyBuYW1lc3BhY2Ugbm90IGZvdW5kJyB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBjaGFpbklEOiBwYXJzZUludChjaGFpbklEKSxcbiAgICAgICAgbmFtZXNwYWNlOiBlcmNfbmFtZXNwYWNlLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogY29udHJhY3RBZGRyZXNzLFxuICAgICAgICB0b2tlbklELFxuICAgIH07XG59XG5leHBvcnRzLnBhcnNlTmZ0VXJpID0gcGFyc2VOZnRVcmk7XG5hc3luYyBmdW5jdGlvbiBnZXROZnRUb2tlblVyaShjbGllbnQsIHsgbmZ0IH0pIHtcbiAgICBpZiAobmZ0Lm5hbWVzcGFjZSA9PT0gJ2VyYzcyMScpIHtcbiAgICAgICAgcmV0dXJuICgwLCByZWFkQ29udHJhY3RfanNfMS5yZWFkQ29udHJhY3QpKGNsaWVudCwge1xuICAgICAgICAgICAgYWRkcmVzczogbmZ0LmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgICAgIGFiaTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rva2VuVVJJJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0czogW3sgbmFtZTogJ3Rva2VuSWQnLCB0eXBlOiAndWludDI1NicgfV0sXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dHM6IFt7IG5hbWU6ICcnLCB0eXBlOiAnc3RyaW5nJyB9XSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3Rva2VuVVJJJyxcbiAgICAgICAgICAgIGFyZ3M6IFtCaWdJbnQobmZ0LnRva2VuSUQpXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChuZnQubmFtZXNwYWNlID09PSAnZXJjMTE1NScpIHtcbiAgICAgICAgcmV0dXJuICgwLCByZWFkQ29udHJhY3RfanNfMS5yZWFkQ29udHJhY3QpKGNsaWVudCwge1xuICAgICAgICAgICAgYWRkcmVzczogbmZ0LmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgICAgIGFiaTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VyaScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdmdW5jdGlvbicsXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlTXV0YWJpbGl0eTogJ3ZpZXcnLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IFt7IG5hbWU6ICdfaWQnLCB0eXBlOiAndWludDI1NicgfV0sXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dHM6IFt7IG5hbWU6ICcnLCB0eXBlOiAnc3RyaW5nJyB9XSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3VyaScsXG4gICAgICAgICAgICBhcmdzOiBbQmlnSW50KG5mdC50b2tlbklEKV0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgZW5zX2pzXzEuRW5zQXZhdGFyVW5zdXBwb3J0ZWROYW1lc3BhY2VFcnJvcih7IG5hbWVzcGFjZTogbmZ0Lm5hbWVzcGFjZSB9KTtcbn1cbmV4cG9ydHMuZ2V0TmZ0VG9rZW5VcmkgPSBnZXROZnRUb2tlblVyaTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/avatar/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/encodeLabelhash.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/encodeLabelhash.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodeLabelhash = void 0;\nfunction encodeLabelhash(hash) {\n return `[${hash.slice(2)}]`;\n}\nexports.encodeLabelhash = encodeLabelhash;\n//# sourceMappingURL=encodeLabelhash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvZW5jb2RlTGFiZWxoYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2QjtBQUNBLGVBQWUsY0FBYztBQUM3QjtBQUNBLHVCQUF1QjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvZW5jb2RlTGFiZWxoYXNoLmpzPzUyMTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmVuY29kZUxhYmVsaGFzaCA9IHZvaWQgMDtcbmZ1bmN0aW9uIGVuY29kZUxhYmVsaGFzaChoYXNoKSB7XG4gICAgcmV0dXJuIGBbJHtoYXNoLnNsaWNlKDIpfV1gO1xufVxuZXhwb3J0cy5lbmNvZGVMYWJlbGhhc2ggPSBlbmNvZGVMYWJlbGhhc2g7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVMYWJlbGhhc2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/encodeLabelhash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/encodedLabelToLabelhash.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/encodedLabelToLabelhash.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.encodedLabelToLabelhash = void 0;\nconst index_js_1 = __webpack_require__(/*! ../index.js */ \"./node_modules/viem/dist/cjs/utils/index.js\");\nfunction encodedLabelToLabelhash(label) {\n if (label.length !== 66)\n return null;\n if (label.indexOf('[') !== 0)\n return null;\n if (label.indexOf(']') !== 65)\n return null;\n const hash = `0x${label.slice(1, 65)}`;\n if (!(0, index_js_1.isHex)(hash))\n return null;\n return hash;\n}\nexports.encodedLabelToLabelhash = encodedLabelToLabelhash;\n//# sourceMappingURL=encodedLabelToLabelhash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvZW5jb2RlZExhYmVsVG9MYWJlbGhhc2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsK0JBQStCO0FBQy9CLG1CQUFtQixtQkFBTyxDQUFDLGdFQUFhO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLG1CQUFtQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvZW5jb2RlZExhYmVsVG9MYWJlbGhhc2guanM/ZWFmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZW5jb2RlZExhYmVsVG9MYWJlbGhhc2ggPSB2b2lkIDA7XG5jb25zdCBpbmRleF9qc18xID0gcmVxdWlyZShcIi4uL2luZGV4LmpzXCIpO1xuZnVuY3Rpb24gZW5jb2RlZExhYmVsVG9MYWJlbGhhc2gobGFiZWwpIHtcbiAgICBpZiAobGFiZWwubGVuZ3RoICE9PSA2NilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKGxhYmVsLmluZGV4T2YoJ1snKSAhPT0gMClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKGxhYmVsLmluZGV4T2YoJ10nKSAhPT0gNjUpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGhhc2ggPSBgMHgke2xhYmVsLnNsaWNlKDEsIDY1KX1gO1xuICAgIGlmICghKDAsIGluZGV4X2pzXzEuaXNIZXgpKGhhc2gpKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gaGFzaDtcbn1cbmV4cG9ydHMuZW5jb2RlZExhYmVsVG9MYWJlbGhhc2ggPSBlbmNvZGVkTGFiZWxUb0xhYmVsaGFzaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZWRMYWJlbFRvTGFiZWxoYXNoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/encodedLabelToLabelhash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/labelhash.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/labelhash.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.labelhash = void 0;\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst encodedLabelToLabelhash_js_1 = __webpack_require__(/*! ./encodedLabelToLabelhash.js */ \"./node_modules/viem/dist/cjs/utils/ens/encodedLabelToLabelhash.js\");\nfunction labelhash(label) {\n const result = new Uint8Array(32).fill(0);\n if (!label)\n return (0, toHex_js_1.bytesToHex)(result);\n return (0, encodedLabelToLabelhash_js_1.encodedLabelToLabelhash)(label) || (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(label));\n}\nexports.labelhash = labelhash;\n//# sourceMappingURL=labelhash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvbGFiZWxoYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGlCQUFpQjtBQUNqQixxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQsbUJBQW1CLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ2pELHVCQUF1QixtQkFBTyxDQUFDLGtGQUFzQjtBQUNyRCxxQ0FBcUMsbUJBQU8sQ0FBQyx1R0FBOEI7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2Vucy9sYWJlbGhhc2guanM/YzQ0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMubGFiZWxoYXNoID0gdm9pZCAwO1xuY29uc3QgdG9CeXRlc19qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL3RvQnl0ZXMuanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9rZWNjYWsyNTYuanNcIik7XG5jb25zdCBlbmNvZGVkTGFiZWxUb0xhYmVsaGFzaF9qc18xID0gcmVxdWlyZShcIi4vZW5jb2RlZExhYmVsVG9MYWJlbGhhc2guanNcIik7XG5mdW5jdGlvbiBsYWJlbGhhc2gobGFiZWwpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVWludDhBcnJheSgzMikuZmlsbCgwKTtcbiAgICBpZiAoIWxhYmVsKVxuICAgICAgICByZXR1cm4gKDAsIHRvSGV4X2pzXzEuYnl0ZXNUb0hleCkocmVzdWx0KTtcbiAgICByZXR1cm4gKDAsIGVuY29kZWRMYWJlbFRvTGFiZWxoYXNoX2pzXzEuZW5jb2RlZExhYmVsVG9MYWJlbGhhc2gpKGxhYmVsKSB8fCAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgdG9CeXRlc19qc18xLnN0cmluZ1RvQnl0ZXMpKGxhYmVsKSk7XG59XG5leHBvcnRzLmxhYmVsaGFzaCA9IGxhYmVsaGFzaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxhYmVsaGFzaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/labelhash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/namehash.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/namehash.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.namehash = void 0;\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst encodedLabelToLabelhash_js_1 = __webpack_require__(/*! ./encodedLabelToLabelhash.js */ \"./node_modules/viem/dist/cjs/utils/ens/encodedLabelToLabelhash.js\");\nfunction namehash(name) {\n let result = new Uint8Array(32).fill(0);\n if (!name)\n return (0, toHex_js_1.bytesToHex)(result);\n const labels = name.split('.');\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashFromEncodedLabel = (0, encodedLabelToLabelhash_js_1.encodedLabelToLabelhash)(labels[i]);\n const hashed = hashFromEncodedLabel\n ? (0, toBytes_js_1.toBytes)(hashFromEncodedLabel)\n : (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(labels[i]), 'bytes');\n result = (0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([result, hashed]), 'bytes');\n }\n return (0, toHex_js_1.bytesToHex)(result);\n}\nexports.namehash = namehash;\n//# sourceMappingURL=namehash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvbmFtZWhhc2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZ0JBQWdCO0FBQ2hCLG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQyxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQsbUJBQW1CLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ2pELHVCQUF1QixtQkFBTyxDQUFDLGtGQUFzQjtBQUNyRCxxQ0FBcUMsbUJBQU8sQ0FBQyx1R0FBOEI7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxRQUFRO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZW5zL25hbWVoYXNoLmpzP2U1NDUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLm5hbWVoYXNoID0gdm9pZCAwO1xuY29uc3QgY29uY2F0X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9jb25jYXQuanNcIik7XG5jb25zdCB0b0J5dGVzX2pzXzEgPSByZXF1aXJlKFwiLi4vZW5jb2RpbmcvdG9CeXRlcy5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBrZWNjYWsyNTZfanNfMSA9IHJlcXVpcmUoXCIuLi9oYXNoL2tlY2NhazI1Ni5qc1wiKTtcbmNvbnN0IGVuY29kZWRMYWJlbFRvTGFiZWxoYXNoX2pzXzEgPSByZXF1aXJlKFwiLi9lbmNvZGVkTGFiZWxUb0xhYmVsaGFzaC5qc1wiKTtcbmZ1bmN0aW9uIG5hbWVoYXNoKG5hbWUpIHtcbiAgICBsZXQgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoMzIpLmZpbGwoMCk7XG4gICAgaWYgKCFuYW1lKVxuICAgICAgICByZXR1cm4gKDAsIHRvSGV4X2pzXzEuYnl0ZXNUb0hleCkocmVzdWx0KTtcbiAgICBjb25zdCBsYWJlbHMgPSBuYW1lLnNwbGl0KCcuJyk7XG4gICAgZm9yIChsZXQgaSA9IGxhYmVscy5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgICBjb25zdCBoYXNoRnJvbUVuY29kZWRMYWJlbCA9ICgwLCBlbmNvZGVkTGFiZWxUb0xhYmVsaGFzaF9qc18xLmVuY29kZWRMYWJlbFRvTGFiZWxoYXNoKShsYWJlbHNbaV0pO1xuICAgICAgICBjb25zdCBoYXNoZWQgPSBoYXNoRnJvbUVuY29kZWRMYWJlbFxuICAgICAgICAgICAgPyAoMCwgdG9CeXRlc19qc18xLnRvQnl0ZXMpKGhhc2hGcm9tRW5jb2RlZExhYmVsKVxuICAgICAgICAgICAgOiAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgdG9CeXRlc19qc18xLnN0cmluZ1RvQnl0ZXMpKGxhYmVsc1tpXSksICdieXRlcycpO1xuICAgICAgICByZXN1bHQgPSAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgY29uY2F0X2pzXzEuY29uY2F0KShbcmVzdWx0LCBoYXNoZWRdKSwgJ2J5dGVzJyk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgdG9IZXhfanNfMS5ieXRlc1RvSGV4KShyZXN1bHQpO1xufVxuZXhwb3J0cy5uYW1laGFzaCA9IG5hbWVoYXNoO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmFtZWhhc2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/namehash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.packetToBytes = void 0;\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst encodeLabelhash_js_1 = __webpack_require__(/*! ./encodeLabelhash.js */ \"./node_modules/viem/dist/cjs/utils/ens/encodeLabelhash.js\");\nconst labelhash_js_1 = __webpack_require__(/*! ./labelhash.js */ \"./node_modules/viem/dist/cjs/utils/ens/labelhash.js\");\nfunction packetToBytes(packet) {\n const value = packet.replace(/^\\.|\\.$/gm, '');\n if (value.length === 0)\n return new Uint8Array(1);\n const bytes = new Uint8Array((0, toBytes_js_1.stringToBytes)(value).byteLength + 2);\n let offset = 0;\n const list = value.split('.');\n for (let i = 0; i < list.length; i++) {\n let encoded = (0, toBytes_js_1.stringToBytes)(list[i]);\n if (encoded.byteLength > 255)\n encoded = (0, toBytes_js_1.stringToBytes)((0, encodeLabelhash_js_1.encodeLabelhash)((0, labelhash_js_1.labelhash)(list[i])));\n bytes[offset] = encoded.length;\n bytes.set(encoded, offset + 1);\n offset += encoded.length + 1;\n }\n if (bytes.byteLength !== offset + 1)\n return bytes.slice(0, offset + 1);\n return bytes;\n}\nexports.packetToBytes = packetToBytes;\n//# sourceMappingURL=packetToBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lbnMvcGFja2V0VG9CeXRlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckIscUJBQXFCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQ3JELDZCQUE2QixtQkFBTyxDQUFDLHVGQUFzQjtBQUMzRCx1QkFBdUIsbUJBQU8sQ0FBQywyRUFBZ0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZW5zL3BhY2tldFRvQnl0ZXMuanM/ZDU1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFja2V0VG9CeXRlcyA9IHZvaWQgMDtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0J5dGVzLmpzXCIpO1xuY29uc3QgZW5jb2RlTGFiZWxoYXNoX2pzXzEgPSByZXF1aXJlKFwiLi9lbmNvZGVMYWJlbGhhc2guanNcIik7XG5jb25zdCBsYWJlbGhhc2hfanNfMSA9IHJlcXVpcmUoXCIuL2xhYmVsaGFzaC5qc1wiKTtcbmZ1bmN0aW9uIHBhY2tldFRvQnl0ZXMocGFja2V0KSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYWNrZXQucmVwbGFjZSgvXlxcLnxcXC4kL2dtLCAnJyk7XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KDEpO1xuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoKDAsIHRvQnl0ZXNfanNfMS5zdHJpbmdUb0J5dGVzKSh2YWx1ZSkuYnl0ZUxlbmd0aCArIDIpO1xuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGNvbnN0IGxpc3QgPSB2YWx1ZS5zcGxpdCgnLicpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgZW5jb2RlZCA9ICgwLCB0b0J5dGVzX2pzXzEuc3RyaW5nVG9CeXRlcykobGlzdFtpXSk7XG4gICAgICAgIGlmIChlbmNvZGVkLmJ5dGVMZW5ndGggPiAyNTUpXG4gICAgICAgICAgICBlbmNvZGVkID0gKDAsIHRvQnl0ZXNfanNfMS5zdHJpbmdUb0J5dGVzKSgoMCwgZW5jb2RlTGFiZWxoYXNoX2pzXzEuZW5jb2RlTGFiZWxoYXNoKSgoMCwgbGFiZWxoYXNoX2pzXzEubGFiZWxoYXNoKShsaXN0W2ldKSkpO1xuICAgICAgICBieXRlc1tvZmZzZXRdID0gZW5jb2RlZC5sZW5ndGg7XG4gICAgICAgIGJ5dGVzLnNldChlbmNvZGVkLCBvZmZzZXQgKyAxKTtcbiAgICAgICAgb2Zmc2V0ICs9IGVuY29kZWQubGVuZ3RoICsgMTtcbiAgICB9XG4gICAgaWYgKGJ5dGVzLmJ5dGVMZW5ndGggIT09IG9mZnNldCArIDEpXG4gICAgICAgIHJldHVybiBieXRlcy5zbGljZSgwLCBvZmZzZXQgKyAxKTtcbiAgICByZXR1cm4gYnl0ZXM7XG59XG5leHBvcnRzLnBhY2tldFRvQnl0ZXMgPSBwYWNrZXRUb0J5dGVzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFja2V0VG9CeXRlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/ens/packetToBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/errors/getCallError.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/errors/getCallError.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getCallError = void 0;\nconst contract_js_1 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst getNodeError_js_1 = __webpack_require__(/*! ./getNodeError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getNodeError.js\");\nfunction getCallError(err, { docsPath, ...args }) {\n let cause = err;\n if ((0, getNodeError_js_1.containsNodeError)(err))\n cause = (0, getNodeError_js_1.getNodeError)(err, args);\n return new contract_js_1.CallExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\nexports.getCallError = getCallError;\n//# sourceMappingURL=getCallError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0Q2FsbEVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQjtBQUNwQixzQkFBc0IsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDeEQsMEJBQTBCLG1CQUFPLENBQUMsb0ZBQW1CO0FBQ3JELDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2Vycm9ycy9nZXRDYWxsRXJyb3IuanM/NzU1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0Q2FsbEVycm9yID0gdm9pZCAwO1xuY29uc3QgY29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvY29udHJhY3QuanNcIik7XG5jb25zdCBnZXROb2RlRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuL2dldE5vZGVFcnJvci5qc1wiKTtcbmZ1bmN0aW9uIGdldENhbGxFcnJvcihlcnIsIHsgZG9jc1BhdGgsIC4uLmFyZ3MgfSkge1xuICAgIGxldCBjYXVzZSA9IGVycjtcbiAgICBpZiAoKDAsIGdldE5vZGVFcnJvcl9qc18xLmNvbnRhaW5zTm9kZUVycm9yKShlcnIpKVxuICAgICAgICBjYXVzZSA9ICgwLCBnZXROb2RlRXJyb3JfanNfMS5nZXROb2RlRXJyb3IpKGVyciwgYXJncyk7XG4gICAgcmV0dXJuIG5ldyBjb250cmFjdF9qc18xLkNhbGxFeGVjdXRpb25FcnJvcihjYXVzZSwge1xuICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgLi4uYXJncyxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZ2V0Q2FsbEVycm9yID0gZ2V0Q2FsbEVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Q2FsbEVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/errors/getCallError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/errors/getContractError.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/errors/getContractError.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getContractError = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst base_js_1 = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst contract_js_1 = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/cjs/errors/contract.js\");\nconst EXECUTION_REVERTED_ERROR_CODE = 3;\nfunction getContractError(err, { abi, address, args, docsPath, functionName, sender, }) {\n const { code, data, message, shortMessage } = (err instanceof contract_js_1.RawContractError\n ? err\n : err instanceof base_js_1.BaseError\n ? err.walk((err) => 'data' in err)\n : {});\n let cause = err;\n if (err instanceof abi_js_1.AbiDecodingZeroDataError) {\n cause = new contract_js_1.ContractFunctionZeroDataError({ functionName });\n }\n else if (code === EXECUTION_REVERTED_ERROR_CODE &&\n (data || message || shortMessage)) {\n cause = new contract_js_1.ContractFunctionRevertedError({\n abi,\n data: typeof data === 'object' ? data.data : data,\n functionName,\n message: shortMessage ?? message,\n });\n }\n return new contract_js_1.ContractFunctionExecutionError(cause, {\n abi,\n args,\n contractAddress: address,\n docsPath,\n functionName,\n sender,\n });\n}\nexports.getContractError = getContractError;\n//# sourceMappingURL=getContractError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsaUJBQWlCLG1CQUFPLENBQUMsdUVBQXFCO0FBQzlDLGtCQUFrQixtQkFBTyxDQUFDLHlFQUFzQjtBQUNoRCxzQkFBc0IsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDeEQ7QUFDQSxpQ0FBaUMscURBQXFEO0FBQ3RGLFlBQVksb0NBQW9DO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0Esa0VBQWtFLGNBQWM7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2Vycm9ycy9nZXRDb250cmFjdEVycm9yLmpzP2E3ODkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldENvbnRyYWN0RXJyb3IgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgYmFzZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9iYXNlLmpzXCIpO1xuY29uc3QgY29udHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvY29udHJhY3QuanNcIik7XG5jb25zdCBFWEVDVVRJT05fUkVWRVJURURfRVJST1JfQ09ERSA9IDM7XG5mdW5jdGlvbiBnZXRDb250cmFjdEVycm9yKGVyciwgeyBhYmksIGFkZHJlc3MsIGFyZ3MsIGRvY3NQYXRoLCBmdW5jdGlvbk5hbWUsIHNlbmRlciwgfSkge1xuICAgIGNvbnN0IHsgY29kZSwgZGF0YSwgbWVzc2FnZSwgc2hvcnRNZXNzYWdlIH0gPSAoZXJyIGluc3RhbmNlb2YgY29udHJhY3RfanNfMS5SYXdDb250cmFjdEVycm9yXG4gICAgICAgID8gZXJyXG4gICAgICAgIDogZXJyIGluc3RhbmNlb2YgYmFzZV9qc18xLkJhc2VFcnJvclxuICAgICAgICAgICAgPyBlcnIud2FsaygoZXJyKSA9PiAnZGF0YScgaW4gZXJyKVxuICAgICAgICAgICAgOiB7fSk7XG4gICAgbGV0IGNhdXNlID0gZXJyO1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBhYmlfanNfMS5BYmlEZWNvZGluZ1plcm9EYXRhRXJyb3IpIHtcbiAgICAgICAgY2F1c2UgPSBuZXcgY29udHJhY3RfanNfMS5Db250cmFjdEZ1bmN0aW9uWmVyb0RhdGFFcnJvcih7IGZ1bmN0aW9uTmFtZSB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY29kZSA9PT0gRVhFQ1VUSU9OX1JFVkVSVEVEX0VSUk9SX0NPREUgJiZcbiAgICAgICAgKGRhdGEgfHwgbWVzc2FnZSB8fCBzaG9ydE1lc3NhZ2UpKSB7XG4gICAgICAgIGNhdXNlID0gbmV3IGNvbnRyYWN0X2pzXzEuQ29udHJhY3RGdW5jdGlvblJldmVydGVkRXJyb3Ioe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgZGF0YTogdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnID8gZGF0YS5kYXRhIDogZGF0YSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHNob3J0TWVzc2FnZSA/PyBtZXNzYWdlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBjb250cmFjdF9qc18xLkNvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcihjYXVzZSwge1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgc2VuZGVyLFxuICAgIH0pO1xufVxuZXhwb3J0cy5nZXRDb250cmFjdEVycm9yID0gZ2V0Q29udHJhY3RFcnJvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldENvbnRyYWN0RXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/errors/getContractError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/errors/getEstimateGasError.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/errors/getEstimateGasError.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEstimateGasError = void 0;\nconst estimateGas_js_1 = __webpack_require__(/*! ../../errors/estimateGas.js */ \"./node_modules/viem/dist/cjs/errors/estimateGas.js\");\nconst getNodeError_js_1 = __webpack_require__(/*! ./getNodeError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getNodeError.js\");\nfunction getEstimateGasError(err, { docsPath, ...args }) {\n let cause = err;\n if ((0, getNodeError_js_1.containsNodeError)(err))\n cause = (0, getNodeError_js_1.getNodeError)(err, args);\n return new estimateGas_js_1.EstimateGasExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\nexports.getEstimateGasError = getEstimateGasError;\n//# sourceMappingURL=getEstimateGasError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0RXN0aW1hdGVHYXNFcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkI7QUFDM0IseUJBQXlCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzlELDBCQUEwQixtQkFBTyxDQUFDLG9GQUFtQjtBQUNyRCxvQ0FBb0MsbUJBQW1CO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLDJCQUEyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0RXN0aW1hdGVHYXNFcnJvci5qcz9lMDJhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRFc3RpbWF0ZUdhc0Vycm9yID0gdm9pZCAwO1xuY29uc3QgZXN0aW1hdGVHYXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvZXN0aW1hdGVHYXMuanNcIik7XG5jb25zdCBnZXROb2RlRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuL2dldE5vZGVFcnJvci5qc1wiKTtcbmZ1bmN0aW9uIGdldEVzdGltYXRlR2FzRXJyb3IoZXJyLCB7IGRvY3NQYXRoLCAuLi5hcmdzIH0pIHtcbiAgICBsZXQgY2F1c2UgPSBlcnI7XG4gICAgaWYgKCgwLCBnZXROb2RlRXJyb3JfanNfMS5jb250YWluc05vZGVFcnJvcikoZXJyKSlcbiAgICAgICAgY2F1c2UgPSAoMCwgZ2V0Tm9kZUVycm9yX2pzXzEuZ2V0Tm9kZUVycm9yKShlcnIsIGFyZ3MpO1xuICAgIHJldHVybiBuZXcgZXN0aW1hdGVHYXNfanNfMS5Fc3RpbWF0ZUdhc0V4ZWN1dGlvbkVycm9yKGNhdXNlLCB7XG4gICAgICAgIGRvY3NQYXRoLFxuICAgICAgICAuLi5hcmdzLFxuICAgIH0pO1xufVxuZXhwb3J0cy5nZXRFc3RpbWF0ZUdhc0Vycm9yID0gZ2V0RXN0aW1hdGVHYXNFcnJvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVzdGltYXRlR2FzRXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/errors/getEstimateGasError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/errors/getNodeError.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/errors/getNodeError.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getNodeError = exports.containsNodeError = void 0;\nconst node_js_1 = __webpack_require__(/*! ../../errors/node.js */ \"./node_modules/viem/dist/cjs/errors/node.js\");\nconst request_js_1 = __webpack_require__(/*! ../../errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst rpc_js_1 = __webpack_require__(/*! ../../errors/rpc.js */ \"./node_modules/viem/dist/cjs/errors/rpc.js\");\nfunction containsNodeError(err) {\n return (err instanceof rpc_js_1.TransactionRejectedRpcError ||\n err instanceof rpc_js_1.InvalidInputRpcError ||\n (err instanceof request_js_1.RpcRequestError && err.code === node_js_1.ExecutionRevertedError.code));\n}\nexports.containsNodeError = containsNodeError;\nfunction getNodeError(err, args) {\n const message = err.details.toLowerCase();\n if (node_js_1.FeeCapTooHighError.nodeMessage.test(message))\n return new node_js_1.FeeCapTooHighError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n });\n else if (node_js_1.FeeCapTooLowError.nodeMessage.test(message))\n return new node_js_1.FeeCapTooLowError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n });\n else if (node_js_1.NonceTooHighError.nodeMessage.test(message))\n return new node_js_1.NonceTooHighError({ cause: err, nonce: args?.nonce });\n else if (node_js_1.NonceTooLowError.nodeMessage.test(message))\n return new node_js_1.NonceTooLowError({ cause: err, nonce: args?.nonce });\n else if (node_js_1.NonceMaxValueError.nodeMessage.test(message))\n return new node_js_1.NonceMaxValueError({ cause: err, nonce: args?.nonce });\n else if (node_js_1.InsufficientFundsError.nodeMessage.test(message))\n return new node_js_1.InsufficientFundsError({ cause: err });\n else if (node_js_1.IntrinsicGasTooHighError.nodeMessage.test(message))\n return new node_js_1.IntrinsicGasTooHighError({ cause: err, gas: args?.gas });\n else if (node_js_1.IntrinsicGasTooLowError.nodeMessage.test(message))\n return new node_js_1.IntrinsicGasTooLowError({ cause: err, gas: args?.gas });\n else if (node_js_1.TransactionTypeNotSupportedError.nodeMessage.test(message))\n return new node_js_1.TransactionTypeNotSupportedError({ cause: err });\n else if (node_js_1.TipAboveFeeCapError.nodeMessage.test(message))\n return new node_js_1.TipAboveFeeCapError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n maxPriorityFeePerGas: args?.maxPriorityFeePerGas,\n });\n else if (message.match(node_js_1.ExecutionRevertedError.nodeMessage) ||\n ('code' in err.cause &&\n err.cause?.code === node_js_1.ExecutionRevertedError.code))\n return new node_js_1.ExecutionRevertedError({\n cause: err,\n message: err.cause.details || err.details,\n });\n return new node_js_1.UnknownNodeError({\n cause: err.cause.cause,\n });\n}\nexports.getNodeError = getNodeError;\n//# sourceMappingURL=getNodeError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0Tm9kZUVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9CQUFvQixHQUFHLHlCQUF5QjtBQUNoRCxrQkFBa0IsbUJBQU8sQ0FBQyx5RUFBc0I7QUFDaEQscUJBQXFCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3RELGlCQUFpQixtQkFBTyxDQUFDLHVFQUFxQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLGlEQUFpRCxnQ0FBZ0M7QUFDakY7QUFDQSxnREFBZ0QsZ0NBQWdDO0FBQ2hGO0FBQ0Esa0RBQWtELGdDQUFnQztBQUNsRjtBQUNBLHNEQUFzRCxZQUFZO0FBQ2xFO0FBQ0Esd0RBQXdELDRCQUE0QjtBQUNwRjtBQUNBLHVEQUF1RCw0QkFBNEI7QUFDbkY7QUFDQSxnRUFBZ0UsWUFBWTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esb0JBQW9CO0FBQ3BCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2Vycm9ycy9nZXROb2RlRXJyb3IuanM/MmNmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0Tm9kZUVycm9yID0gZXhwb3J0cy5jb250YWluc05vZGVFcnJvciA9IHZvaWQgMDtcbmNvbnN0IG5vZGVfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvbm9kZS5qc1wiKTtcbmNvbnN0IHJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvcmVxdWVzdC5qc1wiKTtcbmNvbnN0IHJwY19qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9ycGMuanNcIik7XG5mdW5jdGlvbiBjb250YWluc05vZGVFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gKGVyciBpbnN0YW5jZW9mIHJwY19qc18xLlRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvciB8fFxuICAgICAgICBlcnIgaW5zdGFuY2VvZiBycGNfanNfMS5JbnZhbGlkSW5wdXRScGNFcnJvciB8fFxuICAgICAgICAoZXJyIGluc3RhbmNlb2YgcmVxdWVzdF9qc18xLlJwY1JlcXVlc3RFcnJvciAmJiBlcnIuY29kZSA9PT0gbm9kZV9qc18xLkV4ZWN1dGlvblJldmVydGVkRXJyb3IuY29kZSkpO1xufVxuZXhwb3J0cy5jb250YWluc05vZGVFcnJvciA9IGNvbnRhaW5zTm9kZUVycm9yO1xuZnVuY3Rpb24gZ2V0Tm9kZUVycm9yKGVyciwgYXJncykge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIuZGV0YWlscy50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChub2RlX2pzXzEuRmVlQ2FwVG9vSGlnaEVycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgbm9kZV9qc18xLkZlZUNhcFRvb0hpZ2hFcnJvcih7XG4gICAgICAgICAgICBjYXVzZTogZXJyLFxuICAgICAgICAgICAgbWF4RmVlUGVyR2FzOiBhcmdzPy5tYXhGZWVQZXJHYXMsXG4gICAgICAgIH0pO1xuICAgIGVsc2UgaWYgKG5vZGVfanNfMS5GZWVDYXBUb29Mb3dFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IG5vZGVfanNfMS5GZWVDYXBUb29Mb3dFcnJvcih7XG4gICAgICAgICAgICBjYXVzZTogZXJyLFxuICAgICAgICAgICAgbWF4RmVlUGVyR2FzOiBhcmdzPy5tYXhGZWVQZXJHYXMsXG4gICAgICAgIH0pO1xuICAgIGVsc2UgaWYgKG5vZGVfanNfMS5Ob25jZVRvb0hpZ2hFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IG5vZGVfanNfMS5Ob25jZVRvb0hpZ2hFcnJvcih7IGNhdXNlOiBlcnIsIG5vbmNlOiBhcmdzPy5ub25jZSB9KTtcbiAgICBlbHNlIGlmIChub2RlX2pzXzEuTm9uY2VUb29Mb3dFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IG5vZGVfanNfMS5Ob25jZVRvb0xvd0Vycm9yKHsgY2F1c2U6IGVyciwgbm9uY2U6IGFyZ3M/Lm5vbmNlIH0pO1xuICAgIGVsc2UgaWYgKG5vZGVfanNfMS5Ob25jZU1heFZhbHVlRXJyb3Iubm9kZU1lc3NhZ2UudGVzdChtZXNzYWdlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBub2RlX2pzXzEuTm9uY2VNYXhWYWx1ZUVycm9yKHsgY2F1c2U6IGVyciwgbm9uY2U6IGFyZ3M/Lm5vbmNlIH0pO1xuICAgIGVsc2UgaWYgKG5vZGVfanNfMS5JbnN1ZmZpY2llbnRGdW5kc0Vycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgbm9kZV9qc18xLkluc3VmZmljaWVudEZ1bmRzRXJyb3IoeyBjYXVzZTogZXJyIH0pO1xuICAgIGVsc2UgaWYgKG5vZGVfanNfMS5JbnRyaW5zaWNHYXNUb29IaWdoRXJyb3Iubm9kZU1lc3NhZ2UudGVzdChtZXNzYWdlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBub2RlX2pzXzEuSW50cmluc2ljR2FzVG9vSGlnaEVycm9yKHsgY2F1c2U6IGVyciwgZ2FzOiBhcmdzPy5nYXMgfSk7XG4gICAgZWxzZSBpZiAobm9kZV9qc18xLkludHJpbnNpY0dhc1Rvb0xvd0Vycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgbm9kZV9qc18xLkludHJpbnNpY0dhc1Rvb0xvd0Vycm9yKHsgY2F1c2U6IGVyciwgZ2FzOiBhcmdzPy5nYXMgfSk7XG4gICAgZWxzZSBpZiAobm9kZV9qc18xLlRyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgbm9kZV9qc18xLlRyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yKHsgY2F1c2U6IGVyciB9KTtcbiAgICBlbHNlIGlmIChub2RlX2pzXzEuVGlwQWJvdmVGZWVDYXBFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IG5vZGVfanNfMS5UaXBBYm92ZUZlZUNhcEVycm9yKHtcbiAgICAgICAgICAgIGNhdXNlOiBlcnIsXG4gICAgICAgICAgICBtYXhGZWVQZXJHYXM6IGFyZ3M/Lm1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBhcmdzPy5tYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgICAgfSk7XG4gICAgZWxzZSBpZiAobWVzc2FnZS5tYXRjaChub2RlX2pzXzEuRXhlY3V0aW9uUmV2ZXJ0ZWRFcnJvci5ub2RlTWVzc2FnZSkgfHxcbiAgICAgICAgKCdjb2RlJyBpbiBlcnIuY2F1c2UgJiZcbiAgICAgICAgICAgIGVyci5jYXVzZT8uY29kZSA9PT0gbm9kZV9qc18xLkV4ZWN1dGlvblJldmVydGVkRXJyb3IuY29kZSkpXG4gICAgICAgIHJldHVybiBuZXcgbm9kZV9qc18xLkV4ZWN1dGlvblJldmVydGVkRXJyb3Ioe1xuICAgICAgICAgICAgY2F1c2U6IGVycixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVyci5jYXVzZS5kZXRhaWxzIHx8IGVyci5kZXRhaWxzLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4gbmV3IG5vZGVfanNfMS5Vbmtub3duTm9kZUVycm9yKHtcbiAgICAgICAgY2F1c2U6IGVyci5jYXVzZS5jYXVzZSxcbiAgICB9KTtcbn1cbmV4cG9ydHMuZ2V0Tm9kZUVycm9yID0gZ2V0Tm9kZUVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Tm9kZUVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/errors/getNodeError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/errors/getTransactionError.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/errors/getTransactionError.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTransactionError = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst getNodeError_js_1 = __webpack_require__(/*! ./getNodeError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getNodeError.js\");\nfunction getTransactionError(err, { docsPath, ...args }) {\n let cause = err;\n if ((0, getNodeError_js_1.containsNodeError)(err))\n cause = (0, getNodeError_js_1.getNodeError)(err, args);\n return new transaction_js_1.TransactionExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\nexports.getTransactionError = getTransactionError;\n//# sourceMappingURL=getTransactionError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0VHJhbnNhY3Rpb25FcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwyQkFBMkI7QUFDM0IseUJBQXlCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzlELDBCQUEwQixtQkFBTyxDQUFDLG9GQUFtQjtBQUNyRCxvQ0FBb0MsbUJBQW1CO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLDJCQUEyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9lcnJvcnMvZ2V0VHJhbnNhY3Rpb25FcnJvci5qcz8wYTQ1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkVycm9yID0gdm9pZCAwO1xuY29uc3QgdHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvdHJhbnNhY3Rpb24uanNcIik7XG5jb25zdCBnZXROb2RlRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuL2dldE5vZGVFcnJvci5qc1wiKTtcbmZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uRXJyb3IoZXJyLCB7IGRvY3NQYXRoLCAuLi5hcmdzIH0pIHtcbiAgICBsZXQgY2F1c2UgPSBlcnI7XG4gICAgaWYgKCgwLCBnZXROb2RlRXJyb3JfanNfMS5jb250YWluc05vZGVFcnJvcikoZXJyKSlcbiAgICAgICAgY2F1c2UgPSAoMCwgZ2V0Tm9kZUVycm9yX2pzXzEuZ2V0Tm9kZUVycm9yKShlcnIsIGFyZ3MpO1xuICAgIHJldHVybiBuZXcgdHJhbnNhY3Rpb25fanNfMS5UcmFuc2FjdGlvbkV4ZWN1dGlvbkVycm9yKGNhdXNlLCB7XG4gICAgICAgIGRvY3NQYXRoLFxuICAgICAgICAuLi5hcmdzLFxuICAgIH0pO1xufVxuZXhwb3J0cy5nZXRUcmFuc2FjdGlvbkVycm9yID0gZ2V0VHJhbnNhY3Rpb25FcnJvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uRXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/errors/getTransactionError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createFilterRequestScope = void 0;\nfunction createFilterRequestScope(client, { method }) {\n const requestMap = {};\n if (client.transport.type === 'fallback')\n client.transport.onResponse?.(({ method: method_, response: id, status, transport, }) => {\n if (status === 'success' && method === method_)\n requestMap[id] = transport.request;\n });\n return ((id) => requestMap[id] || client.request);\n}\nexports.createFilterRequestScope = createFilterRequestScope;\n//# sourceMappingURL=createFilterRequestScope.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9maWx0ZXJzL2NyZWF0ZUZpbHRlclJlcXVlc3RTY29wZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQ0FBZ0M7QUFDaEMsNENBQTRDLFFBQVE7QUFDcEQ7QUFDQTtBQUNBLHlDQUF5QyxtREFBbUQ7QUFDNUY7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2ZpbHRlcnMvY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzPzAxMWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZSA9IHZvaWQgMDtcbmZ1bmN0aW9uIGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZShjbGllbnQsIHsgbWV0aG9kIH0pIHtcbiAgICBjb25zdCByZXF1ZXN0TWFwID0ge307XG4gICAgaWYgKGNsaWVudC50cmFuc3BvcnQudHlwZSA9PT0gJ2ZhbGxiYWNrJylcbiAgICAgICAgY2xpZW50LnRyYW5zcG9ydC5vblJlc3BvbnNlPy4oKHsgbWV0aG9kOiBtZXRob2RfLCByZXNwb25zZTogaWQsIHN0YXR1cywgdHJhbnNwb3J0LCB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSAnc3VjY2VzcycgJiYgbWV0aG9kID09PSBtZXRob2RfKVxuICAgICAgICAgICAgICAgIHJlcXVlc3RNYXBbaWRdID0gdHJhbnNwb3J0LnJlcXVlc3Q7XG4gICAgICAgIH0pO1xuICAgIHJldHVybiAoKGlkKSA9PiByZXF1ZXN0TWFwW2lkXSB8fCBjbGllbnQucmVxdWVzdCk7XG59XG5leHBvcnRzLmNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZSA9IGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/filters/createFilterRequestScope.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/block.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/block.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.defineBlock = exports.formatBlock = void 0;\nconst formatter_js_1 = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/cjs/utils/formatters/formatter.js\");\nconst transaction_js_1 = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transaction.js\");\nfunction formatBlock(block) {\n const transactions = block.transactions?.map((transaction) => {\n if (typeof transaction === 'string')\n return transaction;\n return (0, transaction_js_1.formatTransaction)(transaction);\n });\n return {\n ...block,\n baseFeePerGas: block.baseFeePerGas ? BigInt(block.baseFeePerGas) : null,\n difficulty: block.difficulty ? BigInt(block.difficulty) : undefined,\n gasLimit: block.gasLimit ? BigInt(block.gasLimit) : undefined,\n gasUsed: block.gasUsed ? BigInt(block.gasUsed) : undefined,\n hash: block.hash ? block.hash : null,\n logsBloom: block.logsBloom ? block.logsBloom : null,\n nonce: block.nonce ? block.nonce : null,\n number: block.number ? BigInt(block.number) : null,\n size: block.size ? BigInt(block.size) : undefined,\n timestamp: block.timestamp ? BigInt(block.timestamp) : undefined,\n transactions,\n totalDifficulty: block.totalDifficulty\n ? BigInt(block.totalDifficulty)\n : null,\n };\n}\nexports.formatBlock = formatBlock;\nexports.defineBlock = (0, formatter_js_1.defineFormatter)('block', formatBlock);\n//# sourceMappingURL=block.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL2Jsb2NrLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQixHQUFHLG1CQUFtQjtBQUN6Qyx1QkFBdUIsbUJBQU8sQ0FBQyxrRkFBZ0I7QUFDL0MseUJBQXlCLG1CQUFPLENBQUMsc0ZBQWtCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL2Jsb2NrLmpzP2NlZGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlZmluZUJsb2NrID0gZXhwb3J0cy5mb3JtYXRCbG9jayA9IHZvaWQgMDtcbmNvbnN0IGZvcm1hdHRlcl9qc18xID0gcmVxdWlyZShcIi4vZm9ybWF0dGVyLmpzXCIpO1xuY29uc3QgdHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuL3RyYW5zYWN0aW9uLmpzXCIpO1xuZnVuY3Rpb24gZm9ybWF0QmxvY2soYmxvY2spIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBibG9jay50cmFuc2FjdGlvbnM/Lm1hcCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0cmFuc2FjdGlvbiA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgICAgIHJldHVybiAoMCwgdHJhbnNhY3Rpb25fanNfMS5mb3JtYXRUcmFuc2FjdGlvbikodHJhbnNhY3Rpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmJsb2NrLFxuICAgICAgICBiYXNlRmVlUGVyR2FzOiBibG9jay5iYXNlRmVlUGVyR2FzID8gQmlnSW50KGJsb2NrLmJhc2VGZWVQZXJHYXMpIDogbnVsbCxcbiAgICAgICAgZGlmZmljdWx0eTogYmxvY2suZGlmZmljdWx0eSA/IEJpZ0ludChibG9jay5kaWZmaWN1bHR5KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzTGltaXQ6IGJsb2NrLmdhc0xpbWl0ID8gQmlnSW50KGJsb2NrLmdhc0xpbWl0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzVXNlZDogYmxvY2suZ2FzVXNlZCA/IEJpZ0ludChibG9jay5nYXNVc2VkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaGFzaDogYmxvY2suaGFzaCA/IGJsb2NrLmhhc2ggOiBudWxsLFxuICAgICAgICBsb2dzQmxvb206IGJsb2NrLmxvZ3NCbG9vbSA/IGJsb2NrLmxvZ3NCbG9vbSA6IG51bGwsXG4gICAgICAgIG5vbmNlOiBibG9jay5ub25jZSA/IGJsb2NrLm5vbmNlIDogbnVsbCxcbiAgICAgICAgbnVtYmVyOiBibG9jay5udW1iZXIgPyBCaWdJbnQoYmxvY2subnVtYmVyKSA6IG51bGwsXG4gICAgICAgIHNpemU6IGJsb2NrLnNpemUgPyBCaWdJbnQoYmxvY2suc2l6ZSkgOiB1bmRlZmluZWQsXG4gICAgICAgIHRpbWVzdGFtcDogYmxvY2sudGltZXN0YW1wID8gQmlnSW50KGJsb2NrLnRpbWVzdGFtcCkgOiB1bmRlZmluZWQsXG4gICAgICAgIHRyYW5zYWN0aW9ucyxcbiAgICAgICAgdG90YWxEaWZmaWN1bHR5OiBibG9jay50b3RhbERpZmZpY3VsdHlcbiAgICAgICAgICAgID8gQmlnSW50KGJsb2NrLnRvdGFsRGlmZmljdWx0eSlcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICB9O1xufVxuZXhwb3J0cy5mb3JtYXRCbG9jayA9IGZvcm1hdEJsb2NrO1xuZXhwb3J0cy5kZWZpbmVCbG9jayA9ICgwLCBmb3JtYXR0ZXJfanNfMS5kZWZpbmVGb3JtYXR0ZXIpKCdibG9jaycsIGZvcm1hdEJsb2NrKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJsb2NrLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/block.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/extract.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/extract.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.extract = void 0;\nfunction extract(value, { format }) {\n if (!format)\n return {};\n const keys = Object.keys(format({}));\n return keys.reduce((data, key) => {\n if (value?.hasOwnProperty(key)) {\n ;\n data[key] = value[key];\n }\n return data;\n }, {});\n}\nexports.extract = extract;\n//# sourceMappingURL=extract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsZUFBZTtBQUNmLDBCQUEwQixRQUFRO0FBQ2xDO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxJQUFJO0FBQ1Q7QUFDQSxlQUFlO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZm9ybWF0dGVycy9leHRyYWN0LmpzPzE1ZGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmV4dHJhY3QgPSB2b2lkIDA7XG5mdW5jdGlvbiBleHRyYWN0KHZhbHVlLCB7IGZvcm1hdCB9KSB7XG4gICAgaWYgKCFmb3JtYXQpXG4gICAgICAgIHJldHVybiB7fTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZm9ybWF0KHt9KSk7XG4gICAgcmV0dXJuIGtleXMucmVkdWNlKChkYXRhLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlPy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBkYXRhW2tleV0gPSB2YWx1ZVtrZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH0sIHt9KTtcbn1cbmV4cG9ydHMuZXh0cmFjdCA9IGV4dHJhY3Q7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1leHRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/extract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/feeHistory.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/feeHistory.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatFeeHistory = void 0;\nfunction formatFeeHistory(feeHistory) {\n return {\n baseFeePerGas: feeHistory.baseFeePerGas.map((value) => BigInt(value)),\n gasUsedRatio: feeHistory.gasUsedRatio,\n oldestBlock: BigInt(feeHistory.oldestBlock),\n reward: feeHistory.reward?.map((reward) => reward.map((value) => BigInt(value))),\n };\n}\nexports.formatFeeHistory = formatFeeHistory;\n//# sourceMappingURL=feeHistory.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL2ZlZUhpc3RvcnkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZm9ybWF0dGVycy9mZWVIaXN0b3J5LmpzP2JiMmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmZvcm1hdEZlZUhpc3RvcnkgPSB2b2lkIDA7XG5mdW5jdGlvbiBmb3JtYXRGZWVIaXN0b3J5KGZlZUhpc3RvcnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBiYXNlRmVlUGVyR2FzOiBmZWVIaXN0b3J5LmJhc2VGZWVQZXJHYXMubWFwKCh2YWx1ZSkgPT4gQmlnSW50KHZhbHVlKSksXG4gICAgICAgIGdhc1VzZWRSYXRpbzogZmVlSGlzdG9yeS5nYXNVc2VkUmF0aW8sXG4gICAgICAgIG9sZGVzdEJsb2NrOiBCaWdJbnQoZmVlSGlzdG9yeS5vbGRlc3RCbG9jayksXG4gICAgICAgIHJld2FyZDogZmVlSGlzdG9yeS5yZXdhcmQ/Lm1hcCgocmV3YXJkKSA9PiByZXdhcmQubWFwKCh2YWx1ZSkgPT4gQmlnSW50KHZhbHVlKSkpLFxuICAgIH07XG59XG5leHBvcnRzLmZvcm1hdEZlZUhpc3RvcnkgPSBmb3JtYXRGZWVIaXN0b3J5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmVlSGlzdG9yeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/feeHistory.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/formatter.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/formatter.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.defineFormatter = void 0;\nfunction defineFormatter(type, format) {\n return ({ exclude, format: overrides, }) => {\n return {\n format: (args) => {\n const formatted = format(args);\n if (exclude) {\n for (const key of exclude) {\n delete formatted[key];\n }\n }\n return {\n ...formatted,\n ...overrides(args),\n };\n },\n type,\n };\n };\n}\nexports.defineFormatter = defineFormatter;\n//# sourceMappingURL=formatter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL2Zvcm1hdHRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx1QkFBdUI7QUFDdkI7QUFDQSxjQUFjLDZCQUE2QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvZm9ybWF0dGVycy9mb3JtYXR0ZXIuanM/NjVjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVmaW5lRm9ybWF0dGVyID0gdm9pZCAwO1xuZnVuY3Rpb24gZGVmaW5lRm9ybWF0dGVyKHR5cGUsIGZvcm1hdCkge1xuICAgIHJldHVybiAoeyBleGNsdWRlLCBmb3JtYXQ6IG92ZXJyaWRlcywgfSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZm9ybWF0OiAoYXJncykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdChhcmdzKTtcbiAgICAgICAgICAgICAgICBpZiAoZXhjbHVkZSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBleGNsdWRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZm9ybWF0dGVkW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZm9ybWF0dGVkLFxuICAgICAgICAgICAgICAgICAgICAuLi5vdmVycmlkZXMoYXJncyksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICB9O1xuICAgIH07XG59XG5leHBvcnRzLmRlZmluZUZvcm1hdHRlciA9IGRlZmluZUZvcm1hdHRlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/formatter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/log.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/log.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatLog = void 0;\nfunction formatLog(log, { args, eventName } = {}) {\n return {\n ...log,\n blockHash: log.blockHash ? log.blockHash : null,\n blockNumber: log.blockNumber ? BigInt(log.blockNumber) : null,\n logIndex: log.logIndex ? Number(log.logIndex) : null,\n transactionHash: log.transactionHash ? log.transactionHash : null,\n transactionIndex: log.transactionIndex\n ? Number(log.transactionIndex)\n : null,\n ...(eventName ? { args, eventName } : {}),\n };\n}\nexports.formatLog = formatLog;\n//# sourceMappingURL=log.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL2xvZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsMEJBQTBCLGtCQUFrQixJQUFJO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixrQkFBa0IsSUFBSTtBQUNoRDtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2Zvcm1hdHRlcnMvbG9nLmpzPzUwMGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmZvcm1hdExvZyA9IHZvaWQgMDtcbmZ1bmN0aW9uIGZvcm1hdExvZyhsb2csIHsgYXJncywgZXZlbnROYW1lIH0gPSB7fSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmxvZyxcbiAgICAgICAgYmxvY2tIYXNoOiBsb2cuYmxvY2tIYXNoID8gbG9nLmJsb2NrSGFzaCA6IG51bGwsXG4gICAgICAgIGJsb2NrTnVtYmVyOiBsb2cuYmxvY2tOdW1iZXIgPyBCaWdJbnQobG9nLmJsb2NrTnVtYmVyKSA6IG51bGwsXG4gICAgICAgIGxvZ0luZGV4OiBsb2cubG9nSW5kZXggPyBOdW1iZXIobG9nLmxvZ0luZGV4KSA6IG51bGwsXG4gICAgICAgIHRyYW5zYWN0aW9uSGFzaDogbG9nLnRyYW5zYWN0aW9uSGFzaCA/IGxvZy50cmFuc2FjdGlvbkhhc2ggOiBudWxsLFxuICAgICAgICB0cmFuc2FjdGlvbkluZGV4OiBsb2cudHJhbnNhY3Rpb25JbmRleFxuICAgICAgICAgICAgPyBOdW1iZXIobG9nLnRyYW5zYWN0aW9uSW5kZXgpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIC4uLihldmVudE5hbWUgPyB7IGFyZ3MsIGV2ZW50TmFtZSB9IDoge30pLFxuICAgIH07XG59XG5leHBvcnRzLmZvcm1hdExvZyA9IGZvcm1hdExvZztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/log.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/transaction.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/transaction.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.defineTransaction = exports.formatTransaction = exports.transactionType = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst formatter_js_1 = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/cjs/utils/formatters/formatter.js\");\nexports.transactionType = {\n '0x0': 'legacy',\n '0x1': 'eip2930',\n '0x2': 'eip1559',\n};\nfunction formatTransaction(transaction) {\n const transaction_ = {\n ...transaction,\n blockHash: transaction.blockHash ? transaction.blockHash : null,\n blockNumber: transaction.blockNumber\n ? BigInt(transaction.blockNumber)\n : null,\n chainId: transaction.chainId ? (0, fromHex_js_1.hexToNumber)(transaction.chainId) : undefined,\n gas: transaction.gas ? BigInt(transaction.gas) : undefined,\n gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined,\n maxFeePerGas: transaction.maxFeePerGas\n ? BigInt(transaction.maxFeePerGas)\n : undefined,\n maxPriorityFeePerGas: transaction.maxPriorityFeePerGas\n ? BigInt(transaction.maxPriorityFeePerGas)\n : undefined,\n nonce: transaction.nonce ? (0, fromHex_js_1.hexToNumber)(transaction.nonce) : undefined,\n to: transaction.to ? transaction.to : null,\n transactionIndex: transaction.transactionIndex\n ? Number(transaction.transactionIndex)\n : null,\n type: transaction.type ? exports.transactionType[transaction.type] : undefined,\n typeHex: transaction.type ? transaction.type : undefined,\n value: transaction.value ? BigInt(transaction.value) : undefined,\n v: transaction.v ? BigInt(transaction.v) : undefined,\n };\n if (transaction_.type === 'legacy') {\n delete transaction_['accessList'];\n delete transaction_['maxFeePerGas'];\n delete transaction_['maxPriorityFeePerGas'];\n }\n if (transaction_.type === 'eip2930') {\n delete transaction_['maxFeePerGas'];\n delete transaction_['maxPriorityFeePerGas'];\n }\n return transaction_;\n}\nexports.formatTransaction = formatTransaction;\nexports.defineTransaction = (0, formatter_js_1.defineFormatter)('transaction', formatTransaction);\n//# sourceMappingURL=transaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHlCQUF5QixHQUFHLHlCQUF5QixHQUFHLHVCQUF1QjtBQUMvRSxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQsdUJBQXVCLG1CQUFPLENBQUMsa0ZBQWdCO0FBQy9DLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uLmpzPzkwZTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlZmluZVRyYW5zYWN0aW9uID0gZXhwb3J0cy5mb3JtYXRUcmFuc2FjdGlvbiA9IGV4cG9ydHMudHJhbnNhY3Rpb25UeXBlID0gdm9pZCAwO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5jb25zdCBmb3JtYXR0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlci5qc1wiKTtcbmV4cG9ydHMudHJhbnNhY3Rpb25UeXBlID0ge1xuICAgICcweDAnOiAnbGVnYWN5JyxcbiAgICAnMHgxJzogJ2VpcDI5MzAnLFxuICAgICcweDInOiAnZWlwMTU1OScsXG59O1xuZnVuY3Rpb24gZm9ybWF0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbl8gPSB7XG4gICAgICAgIC4uLnRyYW5zYWN0aW9uLFxuICAgICAgICBibG9ja0hhc2g6IHRyYW5zYWN0aW9uLmJsb2NrSGFzaCA/IHRyYW5zYWN0aW9uLmJsb2NrSGFzaCA6IG51bGwsXG4gICAgICAgIGJsb2NrTnVtYmVyOiB0cmFuc2FjdGlvbi5ibG9ja051bWJlclxuICAgICAgICAgICAgPyBCaWdJbnQodHJhbnNhY3Rpb24uYmxvY2tOdW1iZXIpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGNoYWluSWQ6IHRyYW5zYWN0aW9uLmNoYWluSWQgPyAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKSh0cmFuc2FjdGlvbi5jaGFpbklkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzOiB0cmFuc2FjdGlvbi5nYXMgPyBCaWdJbnQodHJhbnNhY3Rpb24uZ2FzKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzUHJpY2U6IHRyYW5zYWN0aW9uLmdhc1ByaWNlID8gQmlnSW50KHRyYW5zYWN0aW9uLmdhc1ByaWNlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4RmVlUGVyR2FzOiB0cmFuc2FjdGlvbi5tYXhGZWVQZXJHYXNcbiAgICAgICAgICAgID8gQmlnSW50KHRyYW5zYWN0aW9uLm1heEZlZVBlckdhcylcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhczogdHJhbnNhY3Rpb24ubWF4UHJpb3JpdHlGZWVQZXJHYXNcbiAgICAgICAgICAgID8gQmlnSW50KHRyYW5zYWN0aW9uLm1heFByaW9yaXR5RmVlUGVyR2FzKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5vbmNlOiB0cmFuc2FjdGlvbi5ub25jZSA/ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9OdW1iZXIpKHRyYW5zYWN0aW9uLm5vbmNlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdG86IHRyYW5zYWN0aW9uLnRvID8gdHJhbnNhY3Rpb24udG8gOiBudWxsLFxuICAgICAgICB0cmFuc2FjdGlvbkluZGV4OiB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZGV4XG4gICAgICAgICAgICA/IE51bWJlcih0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZGV4KVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0eXBlOiB0cmFuc2FjdGlvbi50eXBlID8gZXhwb3J0cy50cmFuc2FjdGlvblR5cGVbdHJhbnNhY3Rpb24udHlwZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIHR5cGVIZXg6IHRyYW5zYWN0aW9uLnR5cGUgPyB0cmFuc2FjdGlvbi50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICB2YWx1ZTogdHJhbnNhY3Rpb24udmFsdWUgPyBCaWdJbnQodHJhbnNhY3Rpb24udmFsdWUpIDogdW5kZWZpbmVkLFxuICAgICAgICB2OiB0cmFuc2FjdGlvbi52ID8gQmlnSW50KHRyYW5zYWN0aW9uLnYpIDogdW5kZWZpbmVkLFxuICAgIH07XG4gICAgaWYgKHRyYW5zYWN0aW9uXy50eXBlID09PSAnbGVnYWN5Jykge1xuICAgICAgICBkZWxldGUgdHJhbnNhY3Rpb25fWydhY2Nlc3NMaXN0J107XG4gICAgICAgIGRlbGV0ZSB0cmFuc2FjdGlvbl9bJ21heEZlZVBlckdhcyddO1xuICAgICAgICBkZWxldGUgdHJhbnNhY3Rpb25fWydtYXhQcmlvcml0eUZlZVBlckdhcyddO1xuICAgIH1cbiAgICBpZiAodHJhbnNhY3Rpb25fLnR5cGUgPT09ICdlaXAyOTMwJykge1xuICAgICAgICBkZWxldGUgdHJhbnNhY3Rpb25fWydtYXhGZWVQZXJHYXMnXTtcbiAgICAgICAgZGVsZXRlIHRyYW5zYWN0aW9uX1snbWF4UHJpb3JpdHlGZWVQZXJHYXMnXTtcbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uXztcbn1cbmV4cG9ydHMuZm9ybWF0VHJhbnNhY3Rpb24gPSBmb3JtYXRUcmFuc2FjdGlvbjtcbmV4cG9ydHMuZGVmaW5lVHJhbnNhY3Rpb24gPSAoMCwgZm9ybWF0dGVyX2pzXzEuZGVmaW5lRm9ybWF0dGVyKSgndHJhbnNhY3Rpb24nLCBmb3JtYXRUcmFuc2FjdGlvbik7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/transaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/transactionReceipt.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/transactionReceipt.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.defineTransactionReceipt = exports.formatTransactionReceipt = void 0;\nconst fromHex_js_1 = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst formatter_js_1 = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/cjs/utils/formatters/formatter.js\");\nconst log_js_1 = __webpack_require__(/*! ./log.js */ \"./node_modules/viem/dist/cjs/utils/formatters/log.js\");\nconst transaction_js_1 = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transaction.js\");\nconst statuses = {\n '0x0': 'reverted',\n '0x1': 'success',\n};\nfunction formatTransactionReceipt(transactionReceipt) {\n return {\n ...transactionReceipt,\n blockNumber: transactionReceipt.blockNumber\n ? BigInt(transactionReceipt.blockNumber)\n : null,\n contractAddress: transactionReceipt.contractAddress\n ? transactionReceipt.contractAddress\n : null,\n cumulativeGasUsed: transactionReceipt.cumulativeGasUsed\n ? BigInt(transactionReceipt.cumulativeGasUsed)\n : null,\n effectiveGasPrice: transactionReceipt.effectiveGasPrice\n ? BigInt(transactionReceipt.effectiveGasPrice)\n : null,\n gasUsed: transactionReceipt.gasUsed\n ? BigInt(transactionReceipt.gasUsed)\n : null,\n logs: transactionReceipt.logs\n ? transactionReceipt.logs.map((log) => (0, log_js_1.formatLog)(log))\n : null,\n to: transactionReceipt.to ? transactionReceipt.to : null,\n transactionIndex: transactionReceipt.transactionIndex\n ? (0, fromHex_js_1.hexToNumber)(transactionReceipt.transactionIndex)\n : null,\n status: transactionReceipt.status\n ? statuses[transactionReceipt.status]\n : null,\n type: transactionReceipt.type\n ? transaction_js_1.transactionType[transactionReceipt.type] || transactionReceipt.type\n : null,\n };\n}\nexports.formatTransactionReceipt = formatTransactionReceipt;\nexports.defineTransactionReceipt = (0, formatter_js_1.defineFormatter)('transactionReceipt', formatTransactionReceipt);\n//# sourceMappingURL=transactionReceipt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVjZWlwdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQ0FBZ0MsR0FBRyxnQ0FBZ0M7QUFDbkUscUJBQXFCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQ3JELHVCQUF1QixtQkFBTyxDQUFDLGtGQUFnQjtBQUMvQyxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBVTtBQUNuQyx5QkFBeUIsbUJBQU8sQ0FBQyxzRkFBa0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMsZ0NBQWdDO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZWNlaXB0LmpzP2Q4OGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmRlZmluZVRyYW5zYWN0aW9uUmVjZWlwdCA9IGV4cG9ydHMuZm9ybWF0VHJhbnNhY3Rpb25SZWNlaXB0ID0gdm9pZCAwO1xuY29uc3QgZnJvbUhleF9qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5jb25zdCBmb3JtYXR0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlci5qc1wiKTtcbmNvbnN0IGxvZ19qc18xID0gcmVxdWlyZShcIi4vbG9nLmpzXCIpO1xuY29uc3QgdHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuL3RyYW5zYWN0aW9uLmpzXCIpO1xuY29uc3Qgc3RhdHVzZXMgPSB7XG4gICAgJzB4MCc6ICdyZXZlcnRlZCcsXG4gICAgJzB4MSc6ICdzdWNjZXNzJyxcbn07XG5mdW5jdGlvbiBmb3JtYXRUcmFuc2FjdGlvblJlY2VpcHQodHJhbnNhY3Rpb25SZWNlaXB0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4udHJhbnNhY3Rpb25SZWNlaXB0LFxuICAgICAgICBibG9ja051bWJlcjogdHJhbnNhY3Rpb25SZWNlaXB0LmJsb2NrTnVtYmVyXG4gICAgICAgICAgICA/IEJpZ0ludCh0cmFuc2FjdGlvblJlY2VpcHQuYmxvY2tOdW1iZXIpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogdHJhbnNhY3Rpb25SZWNlaXB0LmNvbnRyYWN0QWRkcmVzc1xuICAgICAgICAgICAgPyB0cmFuc2FjdGlvblJlY2VpcHQuY29udHJhY3RBZGRyZXNzXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGN1bXVsYXRpdmVHYXNVc2VkOiB0cmFuc2FjdGlvblJlY2VpcHQuY3VtdWxhdGl2ZUdhc1VzZWRcbiAgICAgICAgICAgID8gQmlnSW50KHRyYW5zYWN0aW9uUmVjZWlwdC5jdW11bGF0aXZlR2FzVXNlZClcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgZWZmZWN0aXZlR2FzUHJpY2U6IHRyYW5zYWN0aW9uUmVjZWlwdC5lZmZlY3RpdmVHYXNQcmljZVxuICAgICAgICAgICAgPyBCaWdJbnQodHJhbnNhY3Rpb25SZWNlaXB0LmVmZmVjdGl2ZUdhc1ByaWNlKVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICBnYXNVc2VkOiB0cmFuc2FjdGlvblJlY2VpcHQuZ2FzVXNlZFxuICAgICAgICAgICAgPyBCaWdJbnQodHJhbnNhY3Rpb25SZWNlaXB0Lmdhc1VzZWQpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGxvZ3M6IHRyYW5zYWN0aW9uUmVjZWlwdC5sb2dzXG4gICAgICAgICAgICA/IHRyYW5zYWN0aW9uUmVjZWlwdC5sb2dzLm1hcCgobG9nKSA9PiAoMCwgbG9nX2pzXzEuZm9ybWF0TG9nKShsb2cpKVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0bzogdHJhbnNhY3Rpb25SZWNlaXB0LnRvID8gdHJhbnNhY3Rpb25SZWNlaXB0LnRvIDogbnVsbCxcbiAgICAgICAgdHJhbnNhY3Rpb25JbmRleDogdHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uSW5kZXhcbiAgICAgICAgICAgID8gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikodHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uSW5kZXgpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIHN0YXR1czogdHJhbnNhY3Rpb25SZWNlaXB0LnN0YXR1c1xuICAgICAgICAgICAgPyBzdGF0dXNlc1t0cmFuc2FjdGlvblJlY2VpcHQuc3RhdHVzXVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0eXBlOiB0cmFuc2FjdGlvblJlY2VpcHQudHlwZVxuICAgICAgICAgICAgPyB0cmFuc2FjdGlvbl9qc18xLnRyYW5zYWN0aW9uVHlwZVt0cmFuc2FjdGlvblJlY2VpcHQudHlwZV0gfHwgdHJhbnNhY3Rpb25SZWNlaXB0LnR5cGVcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICB9O1xufVxuZXhwb3J0cy5mb3JtYXRUcmFuc2FjdGlvblJlY2VpcHQgPSBmb3JtYXRUcmFuc2FjdGlvblJlY2VpcHQ7XG5leHBvcnRzLmRlZmluZVRyYW5zYWN0aW9uUmVjZWlwdCA9ICgwLCBmb3JtYXR0ZXJfanNfMS5kZWZpbmVGb3JtYXR0ZXIpKCd0cmFuc2FjdGlvblJlY2VpcHQnLCBmb3JtYXRUcmFuc2FjdGlvblJlY2VpcHQpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHJhbnNhY3Rpb25SZWNlaXB0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/transactionReceipt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.defineTransactionRequest = exports.formatTransactionRequest = void 0;\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst formatter_js_1 = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/cjs/utils/formatters/formatter.js\");\nfunction formatTransactionRequest(transactionRequest) {\n return {\n ...transactionRequest,\n gas: typeof transactionRequest.gas !== 'undefined'\n ? (0, toHex_js_1.numberToHex)(transactionRequest.gas)\n : undefined,\n gasPrice: typeof transactionRequest.gasPrice !== 'undefined'\n ? (0, toHex_js_1.numberToHex)(transactionRequest.gasPrice)\n : undefined,\n maxFeePerGas: typeof transactionRequest.maxFeePerGas !== 'undefined'\n ? (0, toHex_js_1.numberToHex)(transactionRequest.maxFeePerGas)\n : undefined,\n maxPriorityFeePerGas: typeof transactionRequest.maxPriorityFeePerGas !== 'undefined'\n ? (0, toHex_js_1.numberToHex)(transactionRequest.maxPriorityFeePerGas)\n : undefined,\n nonce: typeof transactionRequest.nonce !== 'undefined'\n ? (0, toHex_js_1.numberToHex)(transactionRequest.nonce)\n : undefined,\n value: typeof transactionRequest.value !== 'undefined'\n ? (0, toHex_js_1.numberToHex)(transactionRequest.value)\n : undefined,\n };\n}\nexports.formatTransactionRequest = formatTransactionRequest;\nexports.defineTransactionRequest = (0, formatter_js_1.defineFormatter)('transactionRequest', formatTransactionRequest);\n//# sourceMappingURL=transactionRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxnQ0FBZ0MsR0FBRyxnQ0FBZ0M7QUFDbkUsbUJBQW1CLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ2pELHVCQUF1QixtQkFBTyxDQUFDLGtGQUFnQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qcz8wNmE4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZpbmVUcmFuc2FjdGlvblJlcXVlc3QgPSBleHBvcnRzLmZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdCA9IHZvaWQgMDtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZW5jb2RpbmcvdG9IZXguanNcIik7XG5jb25zdCBmb3JtYXR0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlci5qc1wiKTtcbmZ1bmN0aW9uIGZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdCh0cmFuc2FjdGlvblJlcXVlc3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi50cmFuc2FjdGlvblJlcXVlc3QsXG4gICAgICAgIGdhczogdHlwZW9mIHRyYW5zYWN0aW9uUmVxdWVzdC5nYXMgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KSh0cmFuc2FjdGlvblJlcXVlc3QuZ2FzKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGdhc1ByaWNlOiB0eXBlb2YgdHJhbnNhY3Rpb25SZXF1ZXN0Lmdhc1ByaWNlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodHJhbnNhY3Rpb25SZXF1ZXN0Lmdhc1ByaWNlKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG1heEZlZVBlckdhczogdHlwZW9mIHRyYW5zYWN0aW9uUmVxdWVzdC5tYXhGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/ICgwLCB0b0hleF9qc18xLm51bWJlclRvSGV4KSh0cmFuc2FjdGlvblJlcXVlc3QubWF4RmVlUGVyR2FzKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiB0eXBlb2YgdHJhbnNhY3Rpb25SZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodHJhbnNhY3Rpb25SZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5vbmNlOiB0eXBlb2YgdHJhbnNhY3Rpb25SZXF1ZXN0Lm5vbmNlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodHJhbnNhY3Rpb25SZXF1ZXN0Lm5vbmNlKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHZhbHVlOiB0eXBlb2YgdHJhbnNhY3Rpb25SZXF1ZXN0LnZhbHVlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyAoMCwgdG9IZXhfanNfMS5udW1iZXJUb0hleCkodHJhbnNhY3Rpb25SZXF1ZXN0LnZhbHVlKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfTtcbn1cbmV4cG9ydHMuZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0ID0gZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0O1xuZXhwb3J0cy5kZWZpbmVUcmFuc2FjdGlvblJlcXVlc3QgPSAoMCwgZm9ybWF0dGVyX2pzXzEuZGVmaW5lRm9ybWF0dGVyKSgndHJhbnNhY3Rpb25SZXF1ZXN0JywgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRyYW5zYWN0aW9uUmVxdWVzdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getEventSelector = void 0;\nconst hashFunction_js_1 = __webpack_require__(/*! ./hashFunction.js */ \"./node_modules/viem/dist/cjs/utils/hash/hashFunction.js\");\nconst getEventSelector = (event) => {\n if (typeof event === 'string')\n return (0, hashFunction_js_1.hashFunction)(event);\n return (0, hashFunction_js_1.hashAbiItem)(event);\n};\nexports.getEventSelector = getEventSelector;\n//# sourceMappingURL=getEventSelector.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2dldEV2ZW50U2VsZWN0b3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsd0JBQXdCO0FBQ3hCLDBCQUEwQixtQkFBTyxDQUFDLGtGQUFtQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2hhc2gvZ2V0RXZlbnRTZWxlY3Rvci5qcz80MGM2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRFdmVudFNlbGVjdG9yID0gdm9pZCAwO1xuY29uc3QgaGFzaEZ1bmN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi9oYXNoRnVuY3Rpb24uanNcIik7XG5jb25zdCBnZXRFdmVudFNlbGVjdG9yID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKHR5cGVvZiBldmVudCA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiAoMCwgaGFzaEZ1bmN0aW9uX2pzXzEuaGFzaEZ1bmN0aW9uKShldmVudCk7XG4gICAgcmV0dXJuICgwLCBoYXNoRnVuY3Rpb25fanNfMS5oYXNoQWJpSXRlbSkoZXZlbnQpO1xufTtcbmV4cG9ydHMuZ2V0RXZlbnRTZWxlY3RvciA9IGdldEV2ZW50U2VsZWN0b3I7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRFdmVudFNlbGVjdG9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getFunctionSelector = void 0;\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst hashFunction_js_1 = __webpack_require__(/*! ./hashFunction.js */ \"./node_modules/viem/dist/cjs/utils/hash/hashFunction.js\");\nconst getFunctionSelector = (fn) => {\n if (typeof fn === 'string')\n return (0, slice_js_1.slice)((0, hashFunction_js_1.hashFunction)(fn), 0, 4);\n return (0, slice_js_1.slice)((0, hashFunction_js_1.hashAbiItem)(fn), 0, 4);\n};\nexports.getFunctionSelector = getFunctionSelector;\n//# sourceMappingURL=getFunctionSelector.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2dldEZ1bmN0aW9uU2VsZWN0b3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMkJBQTJCO0FBQzNCLG1CQUFtQixtQkFBTyxDQUFDLDBFQUFrQjtBQUM3QywwQkFBMEIsbUJBQU8sQ0FBQyxrRkFBbUI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2dldEZ1bmN0aW9uU2VsZWN0b3IuanM/YWRjZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZ2V0RnVuY3Rpb25TZWxlY3RvciA9IHZvaWQgMDtcbmNvbnN0IHNsaWNlX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9zbGljZS5qc1wiKTtcbmNvbnN0IGhhc2hGdW5jdGlvbl9qc18xID0gcmVxdWlyZShcIi4vaGFzaEZ1bmN0aW9uLmpzXCIpO1xuY29uc3QgZ2V0RnVuY3Rpb25TZWxlY3RvciA9IChmbikgPT4ge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm4gKDAsIHNsaWNlX2pzXzEuc2xpY2UpKCgwLCBoYXNoRnVuY3Rpb25fanNfMS5oYXNoRnVuY3Rpb24pKGZuKSwgMCwgNCk7XG4gICAgcmV0dXJuICgwLCBzbGljZV9qc18xLnNsaWNlKSgoMCwgaGFzaEZ1bmN0aW9uX2pzXzEuaGFzaEFiaUl0ZW0pKGZuKSwgMCwgNCk7XG59O1xuZXhwb3J0cy5nZXRGdW5jdGlvblNlbGVjdG9yID0gZ2V0RnVuY3Rpb25TZWxlY3Rvcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEZ1bmN0aW9uU2VsZWN0b3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/hash/hashFunction.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/hash/hashFunction.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hashAbiItem = exports.hashFunction = void 0;\nconst extractFunctionParts_js_1 = __webpack_require__(/*! ../contract/extractFunctionParts.js */ \"./node_modules/viem/dist/cjs/utils/contract/extractFunctionParts.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ./keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst hash = (value) => (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value));\nfunction hashFunction(def) {\n const name = (0, extractFunctionParts_js_1.extractFunctionName)(def);\n const params = (0, extractFunctionParts_js_1.extractFunctionParams)(def) || [];\n return hash(`${name}(${params.map(({ type }) => type).join(',')})`);\n}\nexports.hashFunction = hashFunction;\nfunction hashAbiItem(def) {\n return hash(`${def.name}(${def.inputs.map(({ type }) => type).join(',')})`);\n}\nexports.hashAbiItem = hashAbiItem;\n//# sourceMappingURL=hashFunction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2hhc2hGdW5jdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxtQkFBbUIsR0FBRyxvQkFBb0I7QUFDMUMsa0NBQWtDLG1CQUFPLENBQUMsZ0hBQXFDO0FBQy9FLHFCQUFxQixtQkFBTyxDQUFDLHNGQUF3QjtBQUNyRCx1QkFBdUIsbUJBQU8sQ0FBQyw0RUFBZ0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsS0FBSyxHQUFHLGNBQWMsTUFBTSxxQkFBcUI7QUFDcEU7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQSxtQkFBbUIsU0FBUyxHQUFHLGtCQUFrQixNQUFNLHFCQUFxQjtBQUM1RTtBQUNBLG1CQUFtQjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2hhc2hGdW5jdGlvbi5qcz9iOGZkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5oYXNoQWJpSXRlbSA9IGV4cG9ydHMuaGFzaEZ1bmN0aW9uID0gdm9pZCAwO1xuY29uc3QgZXh0cmFjdEZ1bmN0aW9uUGFydHNfanNfMSA9IHJlcXVpcmUoXCIuLi9jb250cmFjdC9leHRyYWN0RnVuY3Rpb25QYXJ0cy5qc1wiKTtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0J5dGVzLmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi9rZWNjYWsyNTYuanNcIik7XG5jb25zdCBoYXNoID0gKHZhbHVlKSA9PiAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgdG9CeXRlc19qc18xLnRvQnl0ZXMpKHZhbHVlKSk7XG5mdW5jdGlvbiBoYXNoRnVuY3Rpb24oZGVmKSB7XG4gICAgY29uc3QgbmFtZSA9ICgwLCBleHRyYWN0RnVuY3Rpb25QYXJ0c19qc18xLmV4dHJhY3RGdW5jdGlvbk5hbWUpKGRlZik7XG4gICAgY29uc3QgcGFyYW1zID0gKDAsIGV4dHJhY3RGdW5jdGlvblBhcnRzX2pzXzEuZXh0cmFjdEZ1bmN0aW9uUGFyYW1zKShkZWYpIHx8IFtdO1xuICAgIHJldHVybiBoYXNoKGAke25hbWV9KCR7cGFyYW1zLm1hcCgoeyB0eXBlIH0pID0+IHR5cGUpLmpvaW4oJywnKX0pYCk7XG59XG5leHBvcnRzLmhhc2hGdW5jdGlvbiA9IGhhc2hGdW5jdGlvbjtcbmZ1bmN0aW9uIGhhc2hBYmlJdGVtKGRlZikge1xuICAgIHJldHVybiBoYXNoKGAke2RlZi5uYW1lfSgke2RlZi5pbnB1dHMubWFwKCh7IHR5cGUgfSkgPT4gdHlwZSkuam9pbignLCcpfSlgKTtcbn1cbmV4cG9ydHMuaGFzaEFiaUl0ZW0gPSBoYXNoQWJpSXRlbTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhc2hGdW5jdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/hash/hashFunction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/hash/isHash.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/hash/isHash.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isHash = void 0;\nconst isHex_js_1 = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst size_js_1 = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nfunction isHash(hash) {\n return (0, isHex_js_1.isHex)(hash) && (0, size_js_1.size)(hash) === 32;\n}\nexports.isHash = isHash;\n//# sourceMappingURL=isHash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2lzSGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxjQUFjO0FBQ2QsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLGtCQUFrQixtQkFBTyxDQUFDLHdFQUFpQjtBQUMzQztBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvaGFzaC9pc0hhc2guanM/Zjc5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaXNIYXNoID0gdm9pZCAwO1xuY29uc3QgaXNIZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL2lzSGV4LmpzXCIpO1xuY29uc3Qgc2l6ZV9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvc2l6ZS5qc1wiKTtcbmZ1bmN0aW9uIGlzSGFzaChoYXNoKSB7XG4gICAgcmV0dXJuICgwLCBpc0hleF9qc18xLmlzSGV4KShoYXNoKSAmJiAoMCwgc2l6ZV9qc18xLnNpemUpKGhhc2gpID09PSAzMjtcbn1cbmV4cG9ydHMuaXNIYXNoID0gaXNIYXNoO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNIYXNoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/hash/isHash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/hash/keccak256.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/hash/keccak256.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.keccak256 = void 0;\nconst sha3_1 = __webpack_require__(/*! @noble/hashes/sha3 */ \"./node_modules/@noble/hashes/sha3.js\");\nconst isHex_js_1 = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nfunction keccak256(value, to_) {\n const to = to_ || 'hex';\n const bytes = (0, sha3_1.keccak_256)((0, isHex_js_1.isHex)(value, { strict: false }) ? (0, toBytes_js_1.toBytes)(value) : value);\n if (to === 'bytes')\n return bytes;\n return (0, toHex_js_1.toHex)(bytes);\n}\nexports.keccak256 = keccak256;\n//# sourceMappingURL=keccak256.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9oYXNoL2tlY2NhazI1Ni5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsZUFBZSxtQkFBTyxDQUFDLGdFQUFvQjtBQUMzQyxtQkFBbUIsbUJBQU8sQ0FBQywwRUFBa0I7QUFDN0MscUJBQXFCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQ3JELG1CQUFtQixtQkFBTyxDQUFDLGtGQUFzQjtBQUNqRDtBQUNBO0FBQ0Esd0VBQXdFLGVBQWU7QUFDdkY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvaGFzaC9rZWNjYWsyNTYuanM/OTdlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMua2VjY2FrMjU2ID0gdm9pZCAwO1xuY29uc3Qgc2hhM18xID0gcmVxdWlyZShcIkBub2JsZS9oYXNoZXMvc2hhM1wiKTtcbmNvbnN0IGlzSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9pc0hleC5qc1wiKTtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0J5dGVzLmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0hleC5qc1wiKTtcbmZ1bmN0aW9uIGtlY2NhazI1Nih2YWx1ZSwgdG9fKSB7XG4gICAgY29uc3QgdG8gPSB0b18gfHwgJ2hleCc7XG4gICAgY29uc3QgYnl0ZXMgPSAoMCwgc2hhM18xLmtlY2Nha18yNTYpKCgwLCBpc0hleF9qc18xLmlzSGV4KSh2YWx1ZSwgeyBzdHJpY3Q6IGZhbHNlIH0pID8gKDAsIHRvQnl0ZXNfanNfMS50b0J5dGVzKSh2YWx1ZSkgOiB2YWx1ZSk7XG4gICAgaWYgKHRvID09PSAnYnl0ZXMnKVxuICAgICAgICByZXR1cm4gYnl0ZXM7XG4gICAgcmV0dXJuICgwLCB0b0hleF9qc18xLnRvSGV4KShieXRlcyk7XG59XG5leHBvcnRzLmtlY2NhazI1NiA9IGtlY2NhazI1Njtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWtlY2NhazI1Ni5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/hash/keccak256.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/index.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/index.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.concatHex = exports.concatBytes = exports.concat = exports.extractFunctionParts = exports.extractFunctionType = exports.extractFunctionParams = exports.extractFunctionName = exports.isAddressEqual = exports.isAddress = exports.getAddress = exports.getCreate2Address = exports.getCreateAddress = exports.getContractAddress = exports.publicKeyToAddress = exports.parseAccount = exports.formatAbiParams = exports.formatAbiItem = exports.formatAbiItemWithArgs = exports.encodePacked = exports.parseAbiParameters = exports.parseAbiParameter = exports.parseAbiItem = exports.parseAbi = exports.getAbiItem = exports.encodeFunctionResult = exports.encodeFunctionData = exports.encodeEventTopics = exports.encodeErrorResult = exports.encodeDeployData = exports.encodeAbiParameters = exports.decodeFunctionResult = exports.decodeFunctionData = exports.decodeEventLog = exports.decodeErrorResult = exports.decodeAbiParameters = exports.validateTypedData = exports.stringify = exports.rpc = exports.getSocket = exports.integerRegex = exports.bytesRegex = exports.arrayRegex = exports.getChainContractAddress = exports.defineChain = exports.assertCurrentChain = exports.offchainLookupSignature = exports.offchainLookupAbiItem = exports.offchainLookup = exports.ccipFetch = exports.buildRequest = void 0;\nexports.getEventSelector = exports.defineFormatter = exports.getTransactionError = exports.getEstimateGasError = exports.getContractError = exports.getCallError = exports.getNodeError = exports.containsNodeError = exports.fromRlp = exports.hexToString = exports.hexToNumber = exports.hexToBigInt = exports.hexToBool = exports.fromHex = exports.fromBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToBool = exports.bytesToBigint = exports.stringToHex = exports.numberToHex = exports.toHex = exports.bytesToHex = exports.boolToHex = exports.stringToBytes = exports.numberToBytes = exports.hexToBytes = exports.toBytes = exports.boolToBytes = exports.toRlp = exports.extract = exports.formatTransactionRequest = exports.defineTransactionRequest = exports.defineTransactionReceipt = exports.formatLog = exports.transactionType = exports.formatTransaction = exports.defineTransaction = exports.formatBlock = exports.defineBlock = exports.trim = exports.sliceHex = exports.sliceBytes = exports.slice = exports.size = exports.padHex = exports.padBytes = exports.pad = exports.isHex = exports.isBytes = void 0;\nexports.parseGwei = exports.parseEther = exports.parseUnits = exports.formatUnits = exports.formatGwei = exports.formatEther = exports.serializeAccessList = exports.serializeTransaction = exports.prepareRequest = exports.parseTransaction = exports.assertTransactionLegacy = exports.assertTransactionEIP2930 = exports.assertTransactionEIP1559 = exports.assertRequest = exports.getTransactionType = exports.getSerializedTransactionType = exports.hashMessage = exports.verifyTypedData = exports.verifyMessage = exports.recoverTypedDataAddress = exports.recoverPublicKey = exports.recoverMessageAddress = exports.recoverAddress = exports.hashTypedData = exports.keccak256 = exports.isHash = exports.getFunctionSelector = void 0;\nvar buildRequest_js_1 = __webpack_require__(/*! ./buildRequest.js */ \"./node_modules/viem/dist/cjs/utils/buildRequest.js\");\nObject.defineProperty(exports, \"buildRequest\", ({ enumerable: true, get: function () { return buildRequest_js_1.buildRequest; } }));\nvar ccip_js_1 = __webpack_require__(/*! ./ccip.js */ \"./node_modules/viem/dist/cjs/utils/ccip.js\");\nObject.defineProperty(exports, \"ccipFetch\", ({ enumerable: true, get: function () { return ccip_js_1.ccipFetch; } }));\nObject.defineProperty(exports, \"offchainLookup\", ({ enumerable: true, get: function () { return ccip_js_1.offchainLookup; } }));\nObject.defineProperty(exports, \"offchainLookupAbiItem\", ({ enumerable: true, get: function () { return ccip_js_1.offchainLookupAbiItem; } }));\nObject.defineProperty(exports, \"offchainLookupSignature\", ({ enumerable: true, get: function () { return ccip_js_1.offchainLookupSignature; } }));\nvar chain_js_1 = __webpack_require__(/*! ./chain.js */ \"./node_modules/viem/dist/cjs/utils/chain.js\");\nObject.defineProperty(exports, \"assertCurrentChain\", ({ enumerable: true, get: function () { return chain_js_1.assertCurrentChain; } }));\nObject.defineProperty(exports, \"defineChain\", ({ enumerable: true, get: function () { return chain_js_1.defineChain; } }));\nObject.defineProperty(exports, \"getChainContractAddress\", ({ enumerable: true, get: function () { return chain_js_1.getChainContractAddress; } }));\nvar regex_js_1 = __webpack_require__(/*! ./regex.js */ \"./node_modules/viem/dist/cjs/utils/regex.js\");\nObject.defineProperty(exports, \"arrayRegex\", ({ enumerable: true, get: function () { return regex_js_1.arrayRegex; } }));\nObject.defineProperty(exports, \"bytesRegex\", ({ enumerable: true, get: function () { return regex_js_1.bytesRegex; } }));\nObject.defineProperty(exports, \"integerRegex\", ({ enumerable: true, get: function () { return regex_js_1.integerRegex; } }));\nvar rpc_js_1 = __webpack_require__(/*! ./rpc.js */ \"./node_modules/viem/dist/cjs/utils/rpc.js\");\nObject.defineProperty(exports, \"getSocket\", ({ enumerable: true, get: function () { return rpc_js_1.getSocket; } }));\nObject.defineProperty(exports, \"rpc\", ({ enumerable: true, get: function () { return rpc_js_1.rpc; } }));\nvar stringify_js_1 = __webpack_require__(/*! ./stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return stringify_js_1.stringify; } }));\nvar typedData_js_1 = __webpack_require__(/*! ./typedData.js */ \"./node_modules/viem/dist/cjs/utils/typedData.js\");\nObject.defineProperty(exports, \"validateTypedData\", ({ enumerable: true, get: function () { return typedData_js_1.validateTypedData; } }));\nvar decodeAbiParameters_js_1 = __webpack_require__(/*! ./abi/decodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeAbiParameters.js\");\nObject.defineProperty(exports, \"decodeAbiParameters\", ({ enumerable: true, get: function () { return decodeAbiParameters_js_1.decodeAbiParameters; } }));\nvar decodeErrorResult_js_1 = __webpack_require__(/*! ./abi/decodeErrorResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeErrorResult.js\");\nObject.defineProperty(exports, \"decodeErrorResult\", ({ enumerable: true, get: function () { return decodeErrorResult_js_1.decodeErrorResult; } }));\nvar decodeEventLog_js_1 = __webpack_require__(/*! ./abi/decodeEventLog.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeEventLog.js\");\nObject.defineProperty(exports, \"decodeEventLog\", ({ enumerable: true, get: function () { return decodeEventLog_js_1.decodeEventLog; } }));\nvar decodeFunctionData_js_1 = __webpack_require__(/*! ./abi/decodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionData.js\");\nObject.defineProperty(exports, \"decodeFunctionData\", ({ enumerable: true, get: function () { return decodeFunctionData_js_1.decodeFunctionData; } }));\nvar decodeFunctionResult_js_1 = __webpack_require__(/*! ./abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/decodeFunctionResult.js\");\nObject.defineProperty(exports, \"decodeFunctionResult\", ({ enumerable: true, get: function () { return decodeFunctionResult_js_1.decodeFunctionResult; } }));\nvar encodeAbiParameters_js_1 = __webpack_require__(/*! ./abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nObject.defineProperty(exports, \"encodeAbiParameters\", ({ enumerable: true, get: function () { return encodeAbiParameters_js_1.encodeAbiParameters; } }));\nvar encodeDeployData_js_1 = __webpack_require__(/*! ./abi/encodeDeployData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeDeployData.js\");\nObject.defineProperty(exports, \"encodeDeployData\", ({ enumerable: true, get: function () { return encodeDeployData_js_1.encodeDeployData; } }));\nvar encodeErrorResult_js_1 = __webpack_require__(/*! ./abi/encodeErrorResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeErrorResult.js\");\nObject.defineProperty(exports, \"encodeErrorResult\", ({ enumerable: true, get: function () { return encodeErrorResult_js_1.encodeErrorResult; } }));\nvar encodeEventTopics_js_1 = __webpack_require__(/*! ./abi/encodeEventTopics.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeEventTopics.js\");\nObject.defineProperty(exports, \"encodeEventTopics\", ({ enumerable: true, get: function () { return encodeEventTopics_js_1.encodeEventTopics; } }));\nvar encodeFunctionData_js_1 = __webpack_require__(/*! ./abi/encodeFunctionData.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionData.js\");\nObject.defineProperty(exports, \"encodeFunctionData\", ({ enumerable: true, get: function () { return encodeFunctionData_js_1.encodeFunctionData; } }));\nvar encodeFunctionResult_js_1 = __webpack_require__(/*! ./abi/encodeFunctionResult.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeFunctionResult.js\");\nObject.defineProperty(exports, \"encodeFunctionResult\", ({ enumerable: true, get: function () { return encodeFunctionResult_js_1.encodeFunctionResult; } }));\nvar getAbiItem_js_1 = __webpack_require__(/*! ./abi/getAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/getAbiItem.js\");\nObject.defineProperty(exports, \"getAbiItem\", ({ enumerable: true, get: function () { return getAbiItem_js_1.getAbiItem; } }));\nvar abitype_1 = __webpack_require__(/*! abitype */ \"./node_modules/abitype/dist/cjs/index.js\");\nObject.defineProperty(exports, \"parseAbi\", ({ enumerable: true, get: function () { return abitype_1.parseAbi; } }));\nObject.defineProperty(exports, \"parseAbiItem\", ({ enumerable: true, get: function () { return abitype_1.parseAbiItem; } }));\nObject.defineProperty(exports, \"parseAbiParameter\", ({ enumerable: true, get: function () { return abitype_1.parseAbiParameter; } }));\nObject.defineProperty(exports, \"parseAbiParameters\", ({ enumerable: true, get: function () { return abitype_1.parseAbiParameters; } }));\nvar encodePacked_js_1 = __webpack_require__(/*! ./abi/encodePacked.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodePacked.js\");\nObject.defineProperty(exports, \"encodePacked\", ({ enumerable: true, get: function () { return encodePacked_js_1.encodePacked; } }));\nvar formatAbiItemWithArgs_js_1 = __webpack_require__(/*! ./abi/formatAbiItemWithArgs.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItemWithArgs.js\");\nObject.defineProperty(exports, \"formatAbiItemWithArgs\", ({ enumerable: true, get: function () { return formatAbiItemWithArgs_js_1.formatAbiItemWithArgs; } }));\nvar formatAbiItem_js_1 = __webpack_require__(/*! ./abi/formatAbiItem.js */ \"./node_modules/viem/dist/cjs/utils/abi/formatAbiItem.js\");\nObject.defineProperty(exports, \"formatAbiItem\", ({ enumerable: true, get: function () { return formatAbiItem_js_1.formatAbiItem; } }));\nObject.defineProperty(exports, \"formatAbiParams\", ({ enumerable: true, get: function () { return formatAbiItem_js_1.formatAbiParams; } }));\nvar parseAccount_js_1 = __webpack_require__(/*! ../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nObject.defineProperty(exports, \"parseAccount\", ({ enumerable: true, get: function () { return parseAccount_js_1.parseAccount; } }));\nvar publicKeyToAddress_js_1 = __webpack_require__(/*! ../accounts/utils/publicKeyToAddress.js */ \"./node_modules/viem/dist/cjs/accounts/utils/publicKeyToAddress.js\");\nObject.defineProperty(exports, \"publicKeyToAddress\", ({ enumerable: true, get: function () { return publicKeyToAddress_js_1.publicKeyToAddress; } }));\nvar getContractAddress_js_1 = __webpack_require__(/*! ./address/getContractAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getContractAddress.js\");\nObject.defineProperty(exports, \"getContractAddress\", ({ enumerable: true, get: function () { return getContractAddress_js_1.getContractAddress; } }));\nObject.defineProperty(exports, \"getCreateAddress\", ({ enumerable: true, get: function () { return getContractAddress_js_1.getCreateAddress; } }));\nObject.defineProperty(exports, \"getCreate2Address\", ({ enumerable: true, get: function () { return getContractAddress_js_1.getCreate2Address; } }));\nvar getAddress_js_1 = __webpack_require__(/*! ./address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nObject.defineProperty(exports, \"getAddress\", ({ enumerable: true, get: function () { return getAddress_js_1.getAddress; } }));\nvar isAddress_js_1 = __webpack_require__(/*! ./address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nObject.defineProperty(exports, \"isAddress\", ({ enumerable: true, get: function () { return isAddress_js_1.isAddress; } }));\nvar isAddressEqual_js_1 = __webpack_require__(/*! ./address/isAddressEqual.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js\");\nObject.defineProperty(exports, \"isAddressEqual\", ({ enumerable: true, get: function () { return isAddressEqual_js_1.isAddressEqual; } }));\nvar extractFunctionParts_js_1 = __webpack_require__(/*! ./contract/extractFunctionParts.js */ \"./node_modules/viem/dist/cjs/utils/contract/extractFunctionParts.js\");\nObject.defineProperty(exports, \"extractFunctionName\", ({ enumerable: true, get: function () { return extractFunctionParts_js_1.extractFunctionName; } }));\nObject.defineProperty(exports, \"extractFunctionParams\", ({ enumerable: true, get: function () { return extractFunctionParts_js_1.extractFunctionParams; } }));\nObject.defineProperty(exports, \"extractFunctionType\", ({ enumerable: true, get: function () { return extractFunctionParts_js_1.extractFunctionType; } }));\nObject.defineProperty(exports, \"extractFunctionParts\", ({ enumerable: true, get: function () { return extractFunctionParts_js_1.extractFunctionParts; } }));\nvar concat_js_1 = __webpack_require__(/*! ./data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nObject.defineProperty(exports, \"concat\", ({ enumerable: true, get: function () { return concat_js_1.concat; } }));\nObject.defineProperty(exports, \"concatBytes\", ({ enumerable: true, get: function () { return concat_js_1.concatBytes; } }));\nObject.defineProperty(exports, \"concatHex\", ({ enumerable: true, get: function () { return concat_js_1.concatHex; } }));\nvar isBytes_js_1 = __webpack_require__(/*! ./data/isBytes.js */ \"./node_modules/viem/dist/cjs/utils/data/isBytes.js\");\nObject.defineProperty(exports, \"isBytes\", ({ enumerable: true, get: function () { return isBytes_js_1.isBytes; } }));\nvar isHex_js_1 = __webpack_require__(/*! ./data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nObject.defineProperty(exports, \"isHex\", ({ enumerable: true, get: function () { return isHex_js_1.isHex; } }));\nvar pad_js_1 = __webpack_require__(/*! ./data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nObject.defineProperty(exports, \"pad\", ({ enumerable: true, get: function () { return pad_js_1.pad; } }));\nObject.defineProperty(exports, \"padBytes\", ({ enumerable: true, get: function () { return pad_js_1.padBytes; } }));\nObject.defineProperty(exports, \"padHex\", ({ enumerable: true, get: function () { return pad_js_1.padHex; } }));\nvar size_js_1 = __webpack_require__(/*! ./data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nObject.defineProperty(exports, \"size\", ({ enumerable: true, get: function () { return size_js_1.size; } }));\nvar slice_js_1 = __webpack_require__(/*! ./data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nObject.defineProperty(exports, \"slice\", ({ enumerable: true, get: function () { return slice_js_1.slice; } }));\nObject.defineProperty(exports, \"sliceBytes\", ({ enumerable: true, get: function () { return slice_js_1.sliceBytes; } }));\nObject.defineProperty(exports, \"sliceHex\", ({ enumerable: true, get: function () { return slice_js_1.sliceHex; } }));\nvar trim_js_1 = __webpack_require__(/*! ./data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nObject.defineProperty(exports, \"trim\", ({ enumerable: true, get: function () { return trim_js_1.trim; } }));\nvar block_js_1 = __webpack_require__(/*! ./formatters/block.js */ \"./node_modules/viem/dist/cjs/utils/formatters/block.js\");\nObject.defineProperty(exports, \"defineBlock\", ({ enumerable: true, get: function () { return block_js_1.defineBlock; } }));\nObject.defineProperty(exports, \"formatBlock\", ({ enumerable: true, get: function () { return block_js_1.formatBlock; } }));\nvar transaction_js_1 = __webpack_require__(/*! ./formatters/transaction.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transaction.js\");\nObject.defineProperty(exports, \"defineTransaction\", ({ enumerable: true, get: function () { return transaction_js_1.defineTransaction; } }));\nObject.defineProperty(exports, \"formatTransaction\", ({ enumerable: true, get: function () { return transaction_js_1.formatTransaction; } }));\nObject.defineProperty(exports, \"transactionType\", ({ enumerable: true, get: function () { return transaction_js_1.transactionType; } }));\nvar log_js_1 = __webpack_require__(/*! ./formatters/log.js */ \"./node_modules/viem/dist/cjs/utils/formatters/log.js\");\nObject.defineProperty(exports, \"formatLog\", ({ enumerable: true, get: function () { return log_js_1.formatLog; } }));\nvar transactionReceipt_js_1 = __webpack_require__(/*! ./formatters/transactionReceipt.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionReceipt.js\");\nObject.defineProperty(exports, \"defineTransactionReceipt\", ({ enumerable: true, get: function () { return transactionReceipt_js_1.defineTransactionReceipt; } }));\nvar transactionRequest_js_1 = __webpack_require__(/*! ./formatters/transactionRequest.js */ \"./node_modules/viem/dist/cjs/utils/formatters/transactionRequest.js\");\nObject.defineProperty(exports, \"defineTransactionRequest\", ({ enumerable: true, get: function () { return transactionRequest_js_1.defineTransactionRequest; } }));\nObject.defineProperty(exports, \"formatTransactionRequest\", ({ enumerable: true, get: function () { return transactionRequest_js_1.formatTransactionRequest; } }));\nvar extract_js_1 = __webpack_require__(/*! ./formatters/extract.js */ \"./node_modules/viem/dist/cjs/utils/formatters/extract.js\");\nObject.defineProperty(exports, \"extract\", ({ enumerable: true, get: function () { return extract_js_1.extract; } }));\nvar toRlp_js_1 = __webpack_require__(/*! ./encoding/toRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toRlp.js\");\nObject.defineProperty(exports, \"toRlp\", ({ enumerable: true, get: function () { return toRlp_js_1.toRlp; } }));\nvar toBytes_js_1 = __webpack_require__(/*! ./encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nObject.defineProperty(exports, \"boolToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.boolToBytes; } }));\nObject.defineProperty(exports, \"toBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.toBytes; } }));\nObject.defineProperty(exports, \"hexToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.hexToBytes; } }));\nObject.defineProperty(exports, \"numberToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.numberToBytes; } }));\nObject.defineProperty(exports, \"stringToBytes\", ({ enumerable: true, get: function () { return toBytes_js_1.stringToBytes; } }));\nvar toHex_js_1 = __webpack_require__(/*! ./encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nObject.defineProperty(exports, \"boolToHex\", ({ enumerable: true, get: function () { return toHex_js_1.boolToHex; } }));\nObject.defineProperty(exports, \"bytesToHex\", ({ enumerable: true, get: function () { return toHex_js_1.bytesToHex; } }));\nObject.defineProperty(exports, \"toHex\", ({ enumerable: true, get: function () { return toHex_js_1.toHex; } }));\nObject.defineProperty(exports, \"numberToHex\", ({ enumerable: true, get: function () { return toHex_js_1.numberToHex; } }));\nObject.defineProperty(exports, \"stringToHex\", ({ enumerable: true, get: function () { return toHex_js_1.stringToHex; } }));\nvar fromBytes_js_1 = __webpack_require__(/*! ./encoding/fromBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromBytes.js\");\nObject.defineProperty(exports, \"bytesToBigint\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToBigint; } }));\nObject.defineProperty(exports, \"bytesToBool\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToBool; } }));\nObject.defineProperty(exports, \"bytesToNumber\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToNumber; } }));\nObject.defineProperty(exports, \"bytesToString\", ({ enumerable: true, get: function () { return fromBytes_js_1.bytesToString; } }));\nObject.defineProperty(exports, \"fromBytes\", ({ enumerable: true, get: function () { return fromBytes_js_1.fromBytes; } }));\nvar fromHex_js_1 = __webpack_require__(/*! ./encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nObject.defineProperty(exports, \"fromHex\", ({ enumerable: true, get: function () { return fromHex_js_1.fromHex; } }));\nObject.defineProperty(exports, \"hexToBool\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToBool; } }));\nObject.defineProperty(exports, \"hexToBigInt\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToBigInt; } }));\nObject.defineProperty(exports, \"hexToNumber\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToNumber; } }));\nObject.defineProperty(exports, \"hexToString\", ({ enumerable: true, get: function () { return fromHex_js_1.hexToString; } }));\nvar fromRlp_js_1 = __webpack_require__(/*! ./encoding/fromRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromRlp.js\");\nObject.defineProperty(exports, \"fromRlp\", ({ enumerable: true, get: function () { return fromRlp_js_1.fromRlp; } }));\nvar getNodeError_js_1 = __webpack_require__(/*! ./errors/getNodeError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getNodeError.js\");\nObject.defineProperty(exports, \"containsNodeError\", ({ enumerable: true, get: function () { return getNodeError_js_1.containsNodeError; } }));\nObject.defineProperty(exports, \"getNodeError\", ({ enumerable: true, get: function () { return getNodeError_js_1.getNodeError; } }));\nvar getCallError_js_1 = __webpack_require__(/*! ./errors/getCallError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getCallError.js\");\nObject.defineProperty(exports, \"getCallError\", ({ enumerable: true, get: function () { return getCallError_js_1.getCallError; } }));\nvar getContractError_js_1 = __webpack_require__(/*! ./errors/getContractError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getContractError.js\");\nObject.defineProperty(exports, \"getContractError\", ({ enumerable: true, get: function () { return getContractError_js_1.getContractError; } }));\nvar getEstimateGasError_js_1 = __webpack_require__(/*! ./errors/getEstimateGasError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getEstimateGasError.js\");\nObject.defineProperty(exports, \"getEstimateGasError\", ({ enumerable: true, get: function () { return getEstimateGasError_js_1.getEstimateGasError; } }));\nvar getTransactionError_js_1 = __webpack_require__(/*! ./errors/getTransactionError.js */ \"./node_modules/viem/dist/cjs/utils/errors/getTransactionError.js\");\nObject.defineProperty(exports, \"getTransactionError\", ({ enumerable: true, get: function () { return getTransactionError_js_1.getTransactionError; } }));\nvar formatter_js_1 = __webpack_require__(/*! ./formatters/formatter.js */ \"./node_modules/viem/dist/cjs/utils/formatters/formatter.js\");\nObject.defineProperty(exports, \"defineFormatter\", ({ enumerable: true, get: function () { return formatter_js_1.defineFormatter; } }));\nvar getEventSelector_js_1 = __webpack_require__(/*! ./hash/getEventSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getEventSelector.js\");\nObject.defineProperty(exports, \"getEventSelector\", ({ enumerable: true, get: function () { return getEventSelector_js_1.getEventSelector; } }));\nvar getFunctionSelector_js_1 = __webpack_require__(/*! ./hash/getFunctionSelector.js */ \"./node_modules/viem/dist/cjs/utils/hash/getFunctionSelector.js\");\nObject.defineProperty(exports, \"getFunctionSelector\", ({ enumerable: true, get: function () { return getFunctionSelector_js_1.getFunctionSelector; } }));\nvar isHash_js_1 = __webpack_require__(/*! ./hash/isHash.js */ \"./node_modules/viem/dist/cjs/utils/hash/isHash.js\");\nObject.defineProperty(exports, \"isHash\", ({ enumerable: true, get: function () { return isHash_js_1.isHash; } }));\nvar keccak256_js_1 = __webpack_require__(/*! ./hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nObject.defineProperty(exports, \"keccak256\", ({ enumerable: true, get: function () { return keccak256_js_1.keccak256; } }));\nvar hashTypedData_js_1 = __webpack_require__(/*! ./signature/hashTypedData.js */ \"./node_modules/viem/dist/cjs/utils/signature/hashTypedData.js\");\nObject.defineProperty(exports, \"hashTypedData\", ({ enumerable: true, get: function () { return hashTypedData_js_1.hashTypedData; } }));\nvar recoverAddress_js_1 = __webpack_require__(/*! ./signature/recoverAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js\");\nObject.defineProperty(exports, \"recoverAddress\", ({ enumerable: true, get: function () { return recoverAddress_js_1.recoverAddress; } }));\nvar recoverMessageAddress_js_1 = __webpack_require__(/*! ./signature/recoverMessageAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverMessageAddress.js\");\nObject.defineProperty(exports, \"recoverMessageAddress\", ({ enumerable: true, get: function () { return recoverMessageAddress_js_1.recoverMessageAddress; } }));\nvar recoverPublicKey_js_1 = __webpack_require__(/*! ./signature/recoverPublicKey.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js\");\nObject.defineProperty(exports, \"recoverPublicKey\", ({ enumerable: true, get: function () { return recoverPublicKey_js_1.recoverPublicKey; } }));\nvar recoverTypedDataAddress_js_1 = __webpack_require__(/*! ./signature/recoverTypedDataAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverTypedDataAddress.js\");\nObject.defineProperty(exports, \"recoverTypedDataAddress\", ({ enumerable: true, get: function () { return recoverTypedDataAddress_js_1.recoverTypedDataAddress; } }));\nvar verifyMessage_js_1 = __webpack_require__(/*! ./signature/verifyMessage.js */ \"./node_modules/viem/dist/cjs/utils/signature/verifyMessage.js\");\nObject.defineProperty(exports, \"verifyMessage\", ({ enumerable: true, get: function () { return verifyMessage_js_1.verifyMessage; } }));\nvar verifyTypedData_js_1 = __webpack_require__(/*! ./signature/verifyTypedData.js */ \"./node_modules/viem/dist/cjs/utils/signature/verifyTypedData.js\");\nObject.defineProperty(exports, \"verifyTypedData\", ({ enumerable: true, get: function () { return verifyTypedData_js_1.verifyTypedData; } }));\nvar hashMessage_js_1 = __webpack_require__(/*! ./signature/hashMessage.js */ \"./node_modules/viem/dist/cjs/utils/signature/hashMessage.js\");\nObject.defineProperty(exports, \"hashMessage\", ({ enumerable: true, get: function () { return hashMessage_js_1.hashMessage; } }));\nvar getSerializedTransactionType_js_1 = __webpack_require__(/*! ./transaction/getSerializedTransactionType.js */ \"./node_modules/viem/dist/cjs/utils/transaction/getSerializedTransactionType.js\");\nObject.defineProperty(exports, \"getSerializedTransactionType\", ({ enumerable: true, get: function () { return getSerializedTransactionType_js_1.getSerializedTransactionType; } }));\nvar getTransactionType_js_1 = __webpack_require__(/*! ./transaction/getTransactionType.js */ \"./node_modules/viem/dist/cjs/utils/transaction/getTransactionType.js\");\nObject.defineProperty(exports, \"getTransactionType\", ({ enumerable: true, get: function () { return getTransactionType_js_1.getTransactionType; } }));\nvar assertRequest_js_1 = __webpack_require__(/*! ./transaction/assertRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\");\nObject.defineProperty(exports, \"assertRequest\", ({ enumerable: true, get: function () { return assertRequest_js_1.assertRequest; } }));\nvar assertTransaction_js_1 = __webpack_require__(/*! ./transaction/assertTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js\");\nObject.defineProperty(exports, \"assertTransactionEIP1559\", ({ enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionEIP1559; } }));\nObject.defineProperty(exports, \"assertTransactionEIP2930\", ({ enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionEIP2930; } }));\nObject.defineProperty(exports, \"assertTransactionLegacy\", ({ enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionLegacy; } }));\nvar parseTransaction_js_1 = __webpack_require__(/*! ./transaction/parseTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/parseTransaction.js\");\nObject.defineProperty(exports, \"parseTransaction\", ({ enumerable: true, get: function () { return parseTransaction_js_1.parseTransaction; } }));\nvar prepareRequest_js_1 = __webpack_require__(/*! ./transaction/prepareRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js\");\nObject.defineProperty(exports, \"prepareRequest\", ({ enumerable: true, get: function () { return prepareRequest_js_1.prepareRequest; } }));\nvar serializeTransaction_js_1 = __webpack_require__(/*! ./transaction/serializeTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/serializeTransaction.js\");\nObject.defineProperty(exports, \"serializeTransaction\", ({ enumerable: true, get: function () { return serializeTransaction_js_1.serializeTransaction; } }));\nvar serializeAccessList_js_1 = __webpack_require__(/*! ./transaction/serializeAccessList.js */ \"./node_modules/viem/dist/cjs/utils/transaction/serializeAccessList.js\");\nObject.defineProperty(exports, \"serializeAccessList\", ({ enumerable: true, get: function () { return serializeAccessList_js_1.serializeAccessList; } }));\nvar formatEther_js_1 = __webpack_require__(/*! ./unit/formatEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatEther.js\");\nObject.defineProperty(exports, \"formatEther\", ({ enumerable: true, get: function () { return formatEther_js_1.formatEther; } }));\nvar formatGwei_js_1 = __webpack_require__(/*! ./unit/formatGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\");\nObject.defineProperty(exports, \"formatGwei\", ({ enumerable: true, get: function () { return formatGwei_js_1.formatGwei; } }));\nvar formatUnits_js_1 = __webpack_require__(/*! ./unit/formatUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatUnits.js\");\nObject.defineProperty(exports, \"formatUnits\", ({ enumerable: true, get: function () { return formatUnits_js_1.formatUnits; } }));\nvar parseUnits_js_1 = __webpack_require__(/*! ./unit/parseUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseUnits.js\");\nObject.defineProperty(exports, \"parseUnits\", ({ enumerable: true, get: function () { return parseUnits_js_1.parseUnits; } }));\nvar parseEther_js_1 = __webpack_require__(/*! ./unit/parseEther.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseEther.js\");\nObject.defineProperty(exports, \"parseEther\", ({ enumerable: true, get: function () { return parseEther_js_1.parseEther; } }));\nvar parseGwei_js_1 = __webpack_require__(/*! ./unit/parseGwei.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseGwei.js\");\nObject.defineProperty(exports, \"parseGwei\", ({ enumerable: true, get: function () { return parseGwei_js_1.parseGwei; } }));\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsR0FBRyxtQkFBbUIsR0FBRyxjQUFjLEdBQUcsNEJBQTRCLEdBQUcsMkJBQTJCLEdBQUcsNkJBQTZCLEdBQUcsMkJBQTJCLEdBQUcsc0JBQXNCLEdBQUcsaUJBQWlCLEdBQUcsa0JBQWtCLEdBQUcseUJBQXlCLEdBQUcsd0JBQXdCLEdBQUcsMEJBQTBCLEdBQUcsMEJBQTBCLEdBQUcsb0JBQW9CLEdBQUcsdUJBQXVCLEdBQUcscUJBQXFCLEdBQUcsNkJBQTZCLEdBQUcsb0JBQW9CLEdBQUcsMEJBQTBCLEdBQUcseUJBQXlCLEdBQUcsb0JBQW9CLEdBQUcsZ0JBQWdCLEdBQUcsa0JBQWtCLEdBQUcsNEJBQTRCLEdBQUcsMEJBQTBCLEdBQUcseUJBQXlCLEdBQUcseUJBQXlCLEdBQUcsd0JBQXdCLEdBQUcsMkJBQTJCLEdBQUcsNEJBQTRCLEdBQUcsMEJBQTBCLEdBQUcsc0JBQXNCLEdBQUcseUJBQXlCLEdBQUcsMkJBQTJCLEdBQUcseUJBQXlCLEdBQUcsaUJBQWlCLEdBQUcsV0FBVyxHQUFHLGlCQUFpQixHQUFHLG9CQUFvQixHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLCtCQUErQixHQUFHLG1CQUFtQixHQUFHLDBCQUEwQixHQUFHLCtCQUErQixHQUFHLDZCQUE2QixHQUFHLHNCQUFzQixHQUFHLGlCQUFpQixHQUFHLG9CQUFvQjtBQUN4d0Msd0JBQXdCLEdBQUcsdUJBQXVCLEdBQUcsMkJBQTJCLEdBQUcsMkJBQTJCLEdBQUcsd0JBQXdCLEdBQUcsb0JBQW9CLEdBQUcsb0JBQW9CLEdBQUcseUJBQXlCLEdBQUcsZUFBZSxHQUFHLG1CQUFtQixHQUFHLG1CQUFtQixHQUFHLG1CQUFtQixHQUFHLGlCQUFpQixHQUFHLGVBQWUsR0FBRyxpQkFBaUIsR0FBRyxxQkFBcUIsR0FB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RCxFQUFFLHFDQUFxQywwREFBMEQsRUFBQztBQUM1Siw0QkFBNEIsbUJBQU8sQ0FBQyw2R0FBbUM7QUFDdkUsb0RBQW1ELEVBQUUscUNBQXFDLGtEQUFrRCxFQUFDO0FBQzdJLDBCQUEwQixtQkFBTyxDQUFDLHlHQUFpQztBQUNuRSxrREFBaUQsRUFBRSxxQ0FBcUMsOENBQThDLEVBQUM7QUFDdkksZ0NBQWdDLG1CQUFPLENBQUMscUhBQXVDO0FBQy9FLHdEQUF1RCxFQUFFLHFDQUFxQywwREFBMEQsRUFBQztBQUN6SiwrQkFBK0IsbUJBQU8sQ0FBQyxtSEFBc0M7QUFDN0UsdURBQXNELEVBQUUscUNBQXFDLHdEQUF3RCxFQUFDO0FBQ3RKLHVCQUF1QixtQkFBTyxDQUFDLHFGQUF1QjtBQUN0RCwrQ0FBOEMsRUFBRSxxQ0FBcUMsd0NBQXdDLEVBQUM7QUFDOUgsc0JBQXNCLG1CQUFPLENBQUMsbUZBQXNCO0FBQ3BELDhDQUE2QyxFQUFFLHFDQUFxQyxzQ0FBc0MsRUFBQztBQUMzSCx1QkFBdUIsbUJBQU8sQ0FBQyxxRkFBdUI7QUFDdEQsK0NBQThDLEVBQUUscUNBQXFDLHdDQUF3QyxFQUFDO0FBQzlILHNCQUFzQixtQkFBTyxDQUFDLG1GQUFzQjtBQUNwRCw4Q0FBNkMsRUFBRSxxQ0FBcUMsc0NBQXNDLEVBQUM7QUFDM0gsc0JBQXNCLG1CQUFPLENBQUMsbUZBQXNCO0FBQ3BELDhDQUE2QyxFQUFFLHFDQUFxQyxzQ0FBc0MsRUFBQztBQUMzSCxxQkFBcUIsbUJBQU8sQ0FBQyxpRkFBcUI7QUFDbEQsNkNBQTRDLEVBQUUscUNBQXFDLG9DQUFvQyxFQUFDO0FBQ3hIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL2luZGV4LmpzPzY0OWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmNvbmNhdEhleCA9IGV4cG9ydHMuY29uY2F0Qnl0ZXMgPSBleHBvcnRzLmNvbmNhdCA9IGV4cG9ydHMuZXh0cmFjdEZ1bmN0aW9uUGFydHMgPSBleHBvcnRzLmV4dHJhY3RGdW5jdGlvblR5cGUgPSBleHBvcnRzLmV4dHJhY3RGdW5jdGlvblBhcmFtcyA9IGV4cG9ydHMuZXh0cmFjdEZ1bmN0aW9uTmFtZSA9IGV4cG9ydHMuaXNBZGRyZXNzRXF1YWwgPSBleHBvcnRzLmlzQWRkcmVzcyA9IGV4cG9ydHMuZ2V0QWRkcmVzcyA9IGV4cG9ydHMuZ2V0Q3JlYXRlMkFkZHJlc3MgPSBleHBvcnRzLmdldENyZWF0ZUFkZHJlc3MgPSBleHBvcnRzLmdldENvbnRyYWN0QWRkcmVzcyA9IGV4cG9ydHMucHVibGljS2V5VG9BZGRyZXNzID0gZXhwb3J0cy5wYXJzZUFjY291bnQgPSBleHBvcnRzLmZvcm1hdEFiaVBhcmFtcyA9IGV4cG9ydHMuZm9ybWF0QWJpSXRlbSA9IGV4cG9ydHMuZm9ybWF0QWJpSXRlbVdpdGhBcmdzID0gZXhwb3J0cy5lbmNvZGVQYWNrZWQgPSBleHBvcnRzLnBhcnNlQWJpUGFyYW1ldGVycyA9IGV4cG9ydHMucGFyc2VBYmlQYXJhbWV0ZXIgPSBleHBvcnRzLnBhcnNlQWJpSXRlbSA9IGV4cG9ydHMucGFyc2VBYmkgPSBleHBvcnRzLmdldEFiaUl0ZW0gPSBleHBvcnRzLmVuY29kZUZ1bmN0aW9uUmVzdWx0ID0gZXhwb3J0cy5lbmNvZGVGdW5jdGlvbkRhdGEgPSBleHBvcnRzLmVuY29kZUV2ZW50VG9waWNzID0gZXhwb3J0cy5lbmNvZGVFcnJvclJlc3VsdCA9IGV4cG9ydHMuZW5jb2RlRGVwbG95RGF0YSA9IGV4cG9ydHMuZW5jb2RlQWJpUGFyYW1ldGVycyA9IGV4cG9ydHMuZGVjb2RlRnVuY3Rpb25SZXN1bHQgPSBleHBvcnRzLmRlY29kZUZ1bmN0aW9uRGF0YSA9IGV4cG9ydHMuZGVjb2RlRXZlbnRMb2cgPSBleHBvcnRzLmRlY29kZUVycm9yUmVzdWx0ID0gZXhwb3J0cy5kZWNvZGVBYmlQYXJhbWV0ZXJzID0gZXhwb3J0cy52YWxpZGF0ZVR5cGVkRGF0YSA9IGV4cG9ydHMuc3RyaW5naWZ5ID0gZXhwb3J0cy5ycGMgPSBleHBvcnRzLmdldFNvY2tldCA9IGV4cG9ydHMuaW50ZWdlclJlZ2V4ID0gZXhwb3J0cy5ieXRlc1JlZ2V4ID0gZXhwb3J0cy5hcnJheVJlZ2V4ID0gZXhwb3J0cy5nZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyA9IGV4cG9ydHMuZGVmaW5lQ2hhaW4gPSBleHBvcnRzLmFzc2VydEN1cnJlbnRDaGFpbiA9IGV4cG9ydHMub2ZmY2hhaW5Mb29rdXBTaWduYXR1cmUgPSBleHBvcnRzLm9mZmNoYWluTG9va3VwQWJpSXRlbSA9IGV4cG9ydHMub2ZmY2hhaW5Mb29rdXAgPSBleHBvcnRzLmNjaXBGZXRjaCA9IGV4cG9ydHMuYnVpbGRSZXF1ZXN0ID0gdm9pZCAwO1xuZXhwb3J0cy5nZXRFdmVudFNlbGVjdG9yID0gZXhwb3J0cy5kZWZpbmVGb3JtYXR0ZXIgPSBleHBvcnRzLmdldFRyYW5zYWN0aW9uRXJyb3IgPSBleHBvcnRzLmdldEVzdGltYXRlR2FzRXJyb3IgPSBleHBvcnRzLmdldENvbnRyYWN0RXJyb3IgPSBleHBvcnRzLmdldENhbGxFcnJvciA9IGV4cG9ydHMuZ2V0Tm9kZUVycm9yID0gZXhwb3J0cy5jb250YWluc05vZGVFcnJvciA9IGV4cG9ydHMuZnJvbVJscCA9IGV4cG9ydHMuaGV4VG9TdHJpbmcgPSBleHBvcnRzLmhleFRvTnVtYmVyID0gZXhwb3J0cy5oZXhUb0JpZ0ludCA9IGV4cG9ydHMuaGV4VG9Cb29sID0gZXhwb3J0cy5mcm9tSGV4ID0gZXhwb3J0cy5mcm9tQnl0ZXMgPSBleHBvcnRzLmJ5dGVzVG9TdHJpbmcgPSBleHBvcnRzLmJ5dGVzVG9OdW1iZXIgPSBleHBvcnRzLmJ5dGVzVG9Cb29sID0gZXhwb3J0cy5ieXRlc1RvQmlnaW50ID0gZXhwb3J0cy5zdHJpbmdUb0hleCA9IGV4cG9ydHMubnVtYmVyVG9IZXggPSBleHBvcnRzLnRvSGV4ID0gZXhwb3J0cy5ieXRlc1RvSGV4ID0gZXhwb3J0cy5ib29sVG9IZXggPSBleHBvcnRzLnN0cmluZ1RvQnl0ZXMgPSBleHBvcnRzLm51bWJlclRvQnl0ZXMgPSBleHBvcnRzLmhleFRvQnl0ZXMgPSBleHBvcnRzLnRvQnl0ZXMgPSBleHBvcnRzLmJvb2xUb0J5dGVzID0gZXhwb3J0cy50b1JscCA9IGV4cG9ydHMuZXh0cmFjdCA9IGV4cG9ydHMuZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0ID0gZXhwb3J0cy5kZWZpbmVUcmFuc2FjdGlvblJlcXVlc3QgPSBleHBvcnRzLmRlZmluZVRyYW5zYWN0aW9uUmVjZWlwdCA9IGV4cG9ydHMuZm9ybWF0TG9nID0gZXhwb3J0cy50cmFuc2FjdGlvblR5cGUgPSBleHBvcnRzLmZvcm1hdFRyYW5zYWN0aW9uID0gZXhwb3J0cy5kZWZpbmVUcmFuc2FjdGlvbiA9IGV4cG9ydHMuZm9ybWF0QmxvY2sgPSBleHBvcnRzLmRlZmluZUJsb2NrID0gZXhwb3J0cy50cmltID0gZXhwb3J0cy5zbGljZUhleCA9IGV4cG9ydHMuc2xpY2VCeXRlcyA9IGV4cG9ydHMuc2xpY2UgPSBleHBvcnRzLnNpemUgPSBleHBvcnRzLnBhZEhleCA9IGV4cG9ydHMucGFkQnl0ZXMgPSBleHBvcnRzLnBhZCA9IGV4cG9ydHMuaXNIZXggPSBleHBvcnRzLmlzQnl0ZXMgPSB2b2lkIDA7XG5leHBvcnRzLnBhcnNlR3dlaSA9IGV4cG9ydHMucGFyc2VFdGhlciA9IGV4cG9ydHMucGFyc2VVbml0cyA9IGV4cG9ydHMuZm9ybWF0VW5pdHMgPSBleHBvcnRzLmZvcm1hdEd3ZWkgPSBleHBvcnRzLmZvcm1hdEV0aGVyID0gZXhwb3J0cy5zZXJpYWxpemVBY2Nlc3NMaXN0ID0gZXhwb3J0cy5zZXJpYWxpemVUcmFuc2FjdGlvbiA9IGV4cG9ydHMucHJlcGFyZVJlcXVlc3QgPSBleHBvcnRzLnBhcnNlVHJhbnNhY3Rpb24gPSBleHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uTGVnYWN5ID0gZXhwb3J0cy5hc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzAgPSBleHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSA9IGV4cG9ydHMuYXNzZXJ0UmVxdWVzdCA9IGV4cG9ydHMuZ2V0VHJhbnNhY3Rpb25UeXBlID0gZXhwb3J0cy5nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlID0gZXhwb3J0cy5oYXNoTWVzc2FnZSA9IGV4cG9ydHMudmVyaWZ5VHlwZWREYXRhID0gZXhwb3J0cy52ZXJpZnlNZXNzYWdlID0gZXhwb3J0cy5yZWNvdmVyVHlwZWREYXRhQWRkcmVzcyA9IGV4cG9ydHMucmVjb3ZlclB1YmxpY0tleSA9IGV4cG9ydHMucmVjb3Zlck1lc3NhZ2VBZGRyZXNzID0gZXhwb3J0cy5yZWNvdmVyQWRkcmVzcyA9IGV4cG9ydHMuaGFzaFR5cGVkRGF0YSA9IGV4cG9ydHMua2VjY2FrMjU2ID0gZXhwb3J0cy5pc0hhc2ggPSBleHBvcnRzLmdldEZ1bmN0aW9uU2VsZWN0b3IgPSB2b2lkIDA7XG52YXIgYnVpbGRSZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi9idWlsZFJlcXVlc3QuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJidWlsZFJlcXVlc3RcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGJ1aWxkUmVxdWVzdF9qc18xLmJ1aWxkUmVxdWVzdDsgfSB9KTtcbnZhciBjY2lwX2pzXzEgPSByZXF1aXJlKFwiLi9jY2lwLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY2NpcEZldGNoXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjY2lwX2pzXzEuY2NpcEZldGNoOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwib2ZmY2hhaW5Mb29rdXBcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNjaXBfanNfMS5vZmZjaGFpbkxvb2t1cDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm9mZmNoYWluTG9va3VwQWJpSXRlbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2NpcF9qc18xLm9mZmNoYWluTG9va3VwQWJpSXRlbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm9mZmNoYWluTG9va3VwU2lnbmF0dXJlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjY2lwX2pzXzEub2ZmY2hhaW5Mb29rdXBTaWduYXR1cmU7IH0gfSk7XG52YXIgY2hhaW5fanNfMSA9IHJlcXVpcmUoXCIuL2NoYWluLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYXNzZXJ0Q3VycmVudENoYWluXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjaGFpbl9qc18xLmFzc2VydEN1cnJlbnRDaGFpbjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmluZUNoYWluXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjaGFpbl9qc18xLmRlZmluZUNoYWluOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNoYWluX2pzXzEuZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3M7IH0gfSk7XG52YXIgcmVnZXhfanNfMSA9IHJlcXVpcmUoXCIuL3JlZ2V4LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYXJyYXlSZWdleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVnZXhfanNfMS5hcnJheVJlZ2V4OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYnl0ZXNSZWdleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVnZXhfanNfMS5ieXRlc1JlZ2V4OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaW50ZWdlclJlZ2V4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZWdleF9qc18xLmludGVnZXJSZWdleDsgfSB9KTtcbnZhciBycGNfanNfMSA9IHJlcXVpcmUoXCIuL3JwYy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFNvY2tldFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcnBjX2pzXzEuZ2V0U29ja2V0OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicnBjXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBycGNfanNfMS5ycGM7IH0gfSk7XG52YXIgc3RyaW5naWZ5X2pzXzEgPSByZXF1aXJlKFwiLi9zdHJpbmdpZnkuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHJpbmdpZnlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeTsgfSB9KTtcbnZhciB0eXBlZERhdGFfanNfMSA9IHJlcXVpcmUoXCIuL3R5cGVkRGF0YS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInZhbGlkYXRlVHlwZWREYXRhXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlZERhdGFfanNfMS52YWxpZGF0ZVR5cGVkRGF0YTsgfSB9KTtcbnZhciBkZWNvZGVBYmlQYXJhbWV0ZXJzX2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZGVjb2RlQWJpUGFyYW1ldGVycy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlY29kZUFiaVBhcmFtZXRlcnNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlY29kZUFiaVBhcmFtZXRlcnNfanNfMS5kZWNvZGVBYmlQYXJhbWV0ZXJzOyB9IH0pO1xudmFyIGRlY29kZUVycm9yUmVzdWx0X2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWNvZGVFcnJvclJlc3VsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVjb2RlRXJyb3JSZXN1bHRfanNfMS5kZWNvZGVFcnJvclJlc3VsdDsgfSB9KTtcbnZhciBkZWNvZGVFdmVudExvZ19qc18xID0gcmVxdWlyZShcIi4vYWJpL2RlY29kZUV2ZW50TG9nLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVjb2RlRXZlbnRMb2dcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlY29kZUV2ZW50TG9nX2pzXzEuZGVjb2RlRXZlbnRMb2c7IH0gfSk7XG52YXIgZGVjb2RlRnVuY3Rpb25EYXRhX2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZGVjb2RlRnVuY3Rpb25EYXRhLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVjb2RlRnVuY3Rpb25EYXRhXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBkZWNvZGVGdW5jdGlvbkRhdGFfanNfMS5kZWNvZGVGdW5jdGlvbkRhdGE7IH0gfSk7XG52YXIgZGVjb2RlRnVuY3Rpb25SZXN1bHRfanNfMSA9IHJlcXVpcmUoXCIuL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlY29kZUZ1bmN0aW9uUmVzdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBkZWNvZGVGdW5jdGlvblJlc3VsdF9qc18xLmRlY29kZUZ1bmN0aW9uUmVzdWx0OyB9IH0pO1xudmFyIGVuY29kZUFiaVBhcmFtZXRlcnNfanNfMSA9IHJlcXVpcmUoXCIuL2FiaS9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5jb2RlQWJpUGFyYW1ldGVyc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xLmVuY29kZUFiaVBhcmFtZXRlcnM7IH0gfSk7XG52YXIgZW5jb2RlRGVwbG95RGF0YV9qc18xID0gcmVxdWlyZShcIi4vYWJpL2VuY29kZURlcGxveURhdGEuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbmNvZGVEZXBsb3lEYXRhXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlbmNvZGVEZXBsb3lEYXRhX2pzXzEuZW5jb2RlRGVwbG95RGF0YTsgfSB9KTtcbnZhciBlbmNvZGVFcnJvclJlc3VsdF9qc18xID0gcmVxdWlyZShcIi4vYWJpL2VuY29kZUVycm9yUmVzdWx0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5jb2RlRXJyb3JSZXN1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVuY29kZUVycm9yUmVzdWx0X2pzXzEuZW5jb2RlRXJyb3JSZXN1bHQ7IH0gfSk7XG52YXIgZW5jb2RlRXZlbnRUb3BpY3NfanNfMSA9IHJlcXVpcmUoXCIuL2FiaS9lbmNvZGVFdmVudFRvcGljcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVuY29kZUV2ZW50VG9waWNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlbmNvZGVFdmVudFRvcGljc19qc18xLmVuY29kZUV2ZW50VG9waWNzOyB9IH0pO1xudmFyIGVuY29kZUZ1bmN0aW9uRGF0YV9qc18xID0gcmVxdWlyZShcIi4vYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVuY29kZUZ1bmN0aW9uRGF0YVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RlRnVuY3Rpb25EYXRhX2pzXzEuZW5jb2RlRnVuY3Rpb25EYXRhOyB9IH0pO1xudmFyIGVuY29kZUZ1bmN0aW9uUmVzdWx0X2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZW5jb2RlRnVuY3Rpb25SZXN1bHQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbmNvZGVGdW5jdGlvblJlc3VsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZW5jb2RlRnVuY3Rpb25SZXN1bHRfanNfMS5lbmNvZGVGdW5jdGlvblJlc3VsdDsgfSB9KTtcbnZhciBnZXRBYmlJdGVtX2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZ2V0QWJpSXRlbS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEFiaUl0ZW1cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEFiaUl0ZW1fanNfMS5nZXRBYmlJdGVtOyB9IH0pO1xudmFyIGFiaXR5cGVfMSA9IHJlcXVpcmUoXCJhYml0eXBlXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VBYmlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5wYXJzZUFiaTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpSXRlbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWJpdHlwZV8xLnBhcnNlQWJpSXRlbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlQWJpUGFyYW1ldGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhYml0eXBlXzEucGFyc2VBYmlQYXJhbWV0ZXI7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZUFiaVBhcmFtZXRlcnNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFiaXR5cGVfMS5wYXJzZUFiaVBhcmFtZXRlcnM7IH0gfSk7XG52YXIgZW5jb2RlUGFja2VkX2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZW5jb2RlUGFja2VkLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5jb2RlUGFja2VkXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlbmNvZGVQYWNrZWRfanNfMS5lbmNvZGVQYWNrZWQ7IH0gfSk7XG52YXIgZm9ybWF0QWJpSXRlbVdpdGhBcmdzX2pzXzEgPSByZXF1aXJlKFwiLi9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0QWJpSXRlbVdpdGhBcmdzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXRBYmlJdGVtV2l0aEFyZ3NfanNfMS5mb3JtYXRBYmlJdGVtV2l0aEFyZ3M7IH0gfSk7XG52YXIgZm9ybWF0QWJpSXRlbV9qc18xID0gcmVxdWlyZShcIi4vYWJpL2Zvcm1hdEFiaUl0ZW0uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmb3JtYXRBYmlJdGVtXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXRBYmlJdGVtX2pzXzEuZm9ybWF0QWJpSXRlbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdEFiaVBhcmFtc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybWF0QWJpSXRlbV9qc18xLmZvcm1hdEFiaVBhcmFtczsgfSB9KTtcbnZhciBwYXJzZUFjY291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZUFjY291bnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlQWNjb3VudF9qc18xLnBhcnNlQWNjb3VudDsgfSB9KTtcbnZhciBwdWJsaWNLZXlUb0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi9hY2NvdW50cy91dGlscy9wdWJsaWNLZXlUb0FkZHJlc3MuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwdWJsaWNLZXlUb0FkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHB1YmxpY0tleVRvQWRkcmVzc19qc18xLnB1YmxpY0tleVRvQWRkcmVzczsgfSB9KTtcbnZhciBnZXRDb250cmFjdEFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL2FkZHJlc3MvZ2V0Q29udHJhY3RBZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Q29udHJhY3RBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRDb250cmFjdEFkZHJlc3NfanNfMS5nZXRDb250cmFjdEFkZHJlc3M7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRDcmVhdGVBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRDb250cmFjdEFkZHJlc3NfanNfMS5nZXRDcmVhdGVBZGRyZXNzOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Q3JlYXRlMkFkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldENvbnRyYWN0QWRkcmVzc19qc18xLmdldENyZWF0ZTJBZGRyZXNzOyB9IH0pO1xudmFyIGdldEFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuL2FkZHJlc3MvZ2V0QWRkcmVzcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEFkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEFkZHJlc3NfanNfMS5nZXRBZGRyZXNzOyB9IH0pO1xudmFyIGlzQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4vYWRkcmVzcy9pc0FkZHJlc3MuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0FkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGlzQWRkcmVzc19qc18xLmlzQWRkcmVzczsgfSB9KTtcbnZhciBpc0FkZHJlc3NFcXVhbF9qc18xID0gcmVxdWlyZShcIi4vYWRkcmVzcy9pc0FkZHJlc3NFcXVhbC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzQWRkcmVzc0VxdWFsXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpc0FkZHJlc3NFcXVhbF9qc18xLmlzQWRkcmVzc0VxdWFsOyB9IH0pO1xudmFyIGV4dHJhY3RGdW5jdGlvblBhcnRzX2pzXzEgPSByZXF1aXJlKFwiLi9jb250cmFjdC9leHRyYWN0RnVuY3Rpb25QYXJ0cy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImV4dHJhY3RGdW5jdGlvbk5hbWVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGV4dHJhY3RGdW5jdGlvblBhcnRzX2pzXzEuZXh0cmFjdEZ1bmN0aW9uTmFtZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImV4dHJhY3RGdW5jdGlvblBhcmFtc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZXh0cmFjdEZ1bmN0aW9uUGFydHNfanNfMS5leHRyYWN0RnVuY3Rpb25QYXJhbXM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJleHRyYWN0RnVuY3Rpb25UeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBleHRyYWN0RnVuY3Rpb25QYXJ0c19qc18xLmV4dHJhY3RGdW5jdGlvblR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJleHRyYWN0RnVuY3Rpb25QYXJ0c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZXh0cmFjdEZ1bmN0aW9uUGFydHNfanNfMS5leHRyYWN0RnVuY3Rpb25QYXJ0czsgfSB9KTtcbnZhciBjb25jYXRfanNfMSA9IHJlcXVpcmUoXCIuL2RhdGEvY29uY2F0LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY29uY2F0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBjb25jYXRfanNfMS5jb25jYXQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjb25jYXRCeXRlc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY29uY2F0X2pzXzEuY29uY2F0Qnl0ZXM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjb25jYXRIZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmNhdF9qc18xLmNvbmNhdEhleDsgfSB9KTtcbnZhciBpc0J5dGVzX2pzXzEgPSByZXF1aXJlKFwiLi9kYXRhL2lzQnl0ZXMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0J5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpc0J5dGVzX2pzXzEuaXNCeXRlczsgfSB9KTtcbnZhciBpc0hleF9qc18xID0gcmVxdWlyZShcIi4vZGF0YS9pc0hleC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBpc0hleF9qc18xLmlzSGV4OyB9IH0pO1xudmFyIHBhZF9qc18xID0gcmVxdWlyZShcIi4vZGF0YS9wYWQuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYWRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhZF9qc18xLnBhZDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhZEJ5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBwYWRfanNfMS5wYWRCeXRlczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhZEhleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFkX2pzXzEucGFkSGV4OyB9IH0pO1xudmFyIHNpemVfanNfMSA9IHJlcXVpcmUoXCIuL2RhdGEvc2l6ZS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNpemVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNpemVfanNfMS5zaXplOyB9IH0pO1xudmFyIHNsaWNlX2pzXzEgPSByZXF1aXJlKFwiLi9kYXRhL3NsaWNlLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic2xpY2VcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNsaWNlX2pzXzEuc2xpY2U7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzbGljZUJ5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzbGljZV9qc18xLnNsaWNlQnl0ZXM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzbGljZUhleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gc2xpY2VfanNfMS5zbGljZUhleDsgfSB9KTtcbnZhciB0cmltX2pzXzEgPSByZXF1aXJlKFwiLi9kYXRhL3RyaW0uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ0cmltXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmltX2pzXzEudHJpbTsgfSB9KTtcbnZhciBibG9ja19qc18xID0gcmVxdWlyZShcIi4vZm9ybWF0dGVycy9ibG9jay5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmluZUJsb2NrXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBibG9ja19qc18xLmRlZmluZUJsb2NrOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0QmxvY2tcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGJsb2NrX2pzXzEuZm9ybWF0QmxvY2s7IH0gfSk7XG52YXIgdHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb24uanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZpbmVUcmFuc2FjdGlvblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25fanNfMS5kZWZpbmVUcmFuc2FjdGlvbjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdFRyYW5zYWN0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvbl9qc18xLmZvcm1hdFRyYW5zYWN0aW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidHJhbnNhY3Rpb25UeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFuc2FjdGlvbl9qc18xLnRyYW5zYWN0aW9uVHlwZTsgfSB9KTtcbnZhciBsb2dfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlcnMvbG9nLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0TG9nXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBsb2dfanNfMS5mb3JtYXRMb2c7IH0gfSk7XG52YXIgdHJhbnNhY3Rpb25SZWNlaXB0X2pzXzEgPSByZXF1aXJlKFwiLi9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVjZWlwdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmluZVRyYW5zYWN0aW9uUmVjZWlwdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25SZWNlaXB0X2pzXzEuZGVmaW5lVHJhbnNhY3Rpb25SZWNlaXB0OyB9IH0pO1xudmFyIHRyYW5zYWN0aW9uUmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4vZm9ybWF0dGVycy90cmFuc2FjdGlvblJlcXVlc3QuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZpbmVUcmFuc2FjdGlvblJlcXVlc3RcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRyYW5zYWN0aW9uUmVxdWVzdF9qc18xLmRlZmluZVRyYW5zYWN0aW9uUmVxdWVzdDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhbnNhY3Rpb25SZXF1ZXN0X2pzXzEuZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0OyB9IH0pO1xudmFyIGV4dHJhY3RfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlcnMvZXh0cmFjdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImV4dHJhY3RcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGV4dHJhY3RfanNfMS5leHRyYWN0OyB9IH0pO1xudmFyIHRvUmxwX2pzXzEgPSByZXF1aXJlKFwiLi9lbmNvZGluZy90b1JscC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInRvUmxwXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b1JscF9qc18xLnRvUmxwOyB9IH0pO1xudmFyIHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuL2VuY29kaW5nL3RvQnl0ZXMuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJib29sVG9CeXRlc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9CeXRlc19qc18xLmJvb2xUb0J5dGVzOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidG9CeXRlc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9CeXRlc19qc18xLnRvQnl0ZXM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoZXhUb0J5dGVzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0J5dGVzX2pzXzEuaGV4VG9CeXRlczsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm51bWJlclRvQnl0ZXNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvQnl0ZXNfanNfMS5udW1iZXJUb0J5dGVzOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3RyaW5nVG9CeXRlc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9CeXRlc19qc18xLnN0cmluZ1RvQnl0ZXM7IH0gfSk7XG52YXIgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYm9vbFRvSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0hleF9qc18xLmJvb2xUb0hleDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImJ5dGVzVG9IZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvSGV4X2pzXzEuYnl0ZXNUb0hleDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInRvSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0b0hleF9qc18xLnRvSGV4OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibnVtYmVyVG9IZXhcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvSGV4X2pzXzEubnVtYmVyVG9IZXg7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHJpbmdUb0hleFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG9IZXhfanNfMS5zdHJpbmdUb0hleDsgfSB9KTtcbnZhciBmcm9tQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuL2VuY29kaW5nL2Zyb21CeXRlcy5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImJ5dGVzVG9CaWdpbnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZyb21CeXRlc19qc18xLmJ5dGVzVG9CaWdpbnQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJieXRlc1RvQm9vbFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUJ5dGVzX2pzXzEuYnl0ZXNUb0Jvb2w7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJieXRlc1RvTnVtYmVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tQnl0ZXNfanNfMS5ieXRlc1RvTnVtYmVyOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYnl0ZXNUb1N0cmluZ1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUJ5dGVzX2pzXzEuYnl0ZXNUb1N0cmluZzsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZyb21CeXRlc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUJ5dGVzX2pzXzEuZnJvbUJ5dGVzOyB9IH0pO1xudmFyIGZyb21IZXhfanNfMSA9IHJlcXVpcmUoXCIuL2VuY29kaW5nL2Zyb21IZXguanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmcm9tSGV4XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tSGV4X2pzXzEuZnJvbUhleDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhleFRvQm9vbFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUhleF9qc18xLmhleFRvQm9vbDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhleFRvQmlnSW50XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmcm9tSGV4X2pzXzEuaGV4VG9CaWdJbnQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoZXhUb051bWJlclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbUhleF9qc18xLmhleFRvTnVtYmVyOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaGV4VG9TdHJpbmdcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZyb21IZXhfanNfMS5oZXhUb1N0cmluZzsgfSB9KTtcbnZhciBmcm9tUmxwX2pzXzEgPSByZXF1aXJlKFwiLi9lbmNvZGluZy9mcm9tUmxwLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZnJvbVJscFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZnJvbVJscF9qc18xLmZyb21SbHA7IH0gfSk7XG52YXIgZ2V0Tm9kZUVycm9yX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMvZ2V0Tm9kZUVycm9yLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY29udGFpbnNOb2RlRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldE5vZGVFcnJvcl9qc18xLmNvbnRhaW5zTm9kZUVycm9yOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Tm9kZUVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXROb2RlRXJyb3JfanNfMS5nZXROb2RlRXJyb3I7IH0gfSk7XG52YXIgZ2V0Q2FsbEVycm9yX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMvZ2V0Q2FsbEVycm9yLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Q2FsbEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRDYWxsRXJyb3JfanNfMS5nZXRDYWxsRXJyb3I7IH0gfSk7XG52YXIgZ2V0Q29udHJhY3RFcnJvcl9qc18xID0gcmVxdWlyZShcIi4vZXJyb3JzL2dldENvbnRyYWN0RXJyb3IuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRDb250cmFjdEVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRDb250cmFjdEVycm9yX2pzXzEuZ2V0Q29udHJhY3RFcnJvcjsgfSB9KTtcbnZhciBnZXRFc3RpbWF0ZUdhc0Vycm9yX2pzXzEgPSByZXF1aXJlKFwiLi9lcnJvcnMvZ2V0RXN0aW1hdGVHYXNFcnJvci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEVzdGltYXRlR2FzRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEVzdGltYXRlR2FzRXJyb3JfanNfMS5nZXRFc3RpbWF0ZUdhc0Vycm9yOyB9IH0pO1xudmFyIGdldFRyYW5zYWN0aW9uRXJyb3JfanNfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9nZXRUcmFuc2FjdGlvbkVycm9yLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0VHJhbnNhY3Rpb25FcnJvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZ2V0VHJhbnNhY3Rpb25FcnJvcl9qc18xLmdldFRyYW5zYWN0aW9uRXJyb3I7IH0gfSk7XG52YXIgZm9ybWF0dGVyX2pzXzEgPSByZXF1aXJlKFwiLi9mb3JtYXR0ZXJzL2Zvcm1hdHRlci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmluZUZvcm1hdHRlclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybWF0dGVyX2pzXzEuZGVmaW5lRm9ybWF0dGVyOyB9IH0pO1xudmFyIGdldEV2ZW50U2VsZWN0b3JfanNfMSA9IHJlcXVpcmUoXCIuL2hhc2gvZ2V0RXZlbnRTZWxlY3Rvci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEV2ZW50U2VsZWN0b3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEV2ZW50U2VsZWN0b3JfanNfMS5nZXRFdmVudFNlbGVjdG9yOyB9IH0pO1xudmFyIGdldEZ1bmN0aW9uU2VsZWN0b3JfanNfMSA9IHJlcXVpcmUoXCIuL2hhc2gvZ2V0RnVuY3Rpb25TZWxlY3Rvci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEZ1bmN0aW9uU2VsZWN0b3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldEZ1bmN0aW9uU2VsZWN0b3JfanNfMS5nZXRGdW5jdGlvblNlbGVjdG9yOyB9IH0pO1xudmFyIGlzSGFzaF9qc18xID0gcmVxdWlyZShcIi4vaGFzaC9pc0hhc2guanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0hhc2hcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGlzSGFzaF9qc18xLmlzSGFzaDsgfSB9KTtcbnZhciBrZWNjYWsyNTZfanNfMSA9IHJlcXVpcmUoXCIuL2hhc2gva2VjY2FrMjU2LmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwia2VjY2FrMjU2XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTY7IH0gfSk7XG52YXIgaGFzaFR5cGVkRGF0YV9qc18xID0gcmVxdWlyZShcIi4vc2lnbmF0dXJlL2hhc2hUeXBlZERhdGEuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYXNoVHlwZWREYXRhXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBoYXNoVHlwZWREYXRhX2pzXzEuaGFzaFR5cGVkRGF0YTsgfSB9KTtcbnZhciByZWNvdmVyQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4vc2lnbmF0dXJlL3JlY292ZXJBZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVjb3ZlckFkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlY292ZXJBZGRyZXNzX2pzXzEucmVjb3ZlckFkZHJlc3M7IH0gfSk7XG52YXIgcmVjb3Zlck1lc3NhZ2VBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi9zaWduYXR1cmUvcmVjb3Zlck1lc3NhZ2VBZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVjb3Zlck1lc3NhZ2VBZGRyZXNzXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZWNvdmVyTWVzc2FnZUFkZHJlc3NfanNfMS5yZWNvdmVyTWVzc2FnZUFkZHJlc3M7IH0gfSk7XG52YXIgcmVjb3ZlclB1YmxpY0tleV9qc18xID0gcmVxdWlyZShcIi4vc2lnbmF0dXJlL3JlY292ZXJQdWJsaWNLZXkuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZWNvdmVyUHVibGljS2V5XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZWNvdmVyUHVibGljS2V5X2pzXzEucmVjb3ZlclB1YmxpY0tleTsgfSB9KTtcbnZhciByZWNvdmVyVHlwZWREYXRhQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4vc2lnbmF0dXJlL3JlY292ZXJUeXBlZERhdGFBZGRyZXNzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVjb3ZlclR5cGVkRGF0YUFkZHJlc3NcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlY292ZXJUeXBlZERhdGFBZGRyZXNzX2pzXzEucmVjb3ZlclR5cGVkRGF0YUFkZHJlc3M7IH0gfSk7XG52YXIgdmVyaWZ5TWVzc2FnZV9qc18xID0gcmVxdWlyZShcIi4vc2lnbmF0dXJlL3ZlcmlmeU1lc3NhZ2UuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ2ZXJpZnlNZXNzYWdlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB2ZXJpZnlNZXNzYWdlX2pzXzEudmVyaWZ5TWVzc2FnZTsgfSB9KTtcbnZhciB2ZXJpZnlUeXBlZERhdGFfanNfMSA9IHJlcXVpcmUoXCIuL3NpZ25hdHVyZS92ZXJpZnlUeXBlZERhdGEuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ2ZXJpZnlUeXBlZERhdGFcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHZlcmlmeVR5cGVkRGF0YV9qc18xLnZlcmlmeVR5cGVkRGF0YTsgfSB9KTtcbnZhciBoYXNoTWVzc2FnZV9qc18xID0gcmVxdWlyZShcIi4vc2lnbmF0dXJlL2hhc2hNZXNzYWdlLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaGFzaE1lc3NhZ2VcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGhhc2hNZXNzYWdlX2pzXzEuaGFzaE1lc3NhZ2U7IH0gfSk7XG52YXIgZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZV9qc18xID0gcmVxdWlyZShcIi4vdHJhbnNhY3Rpb24vZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGVfanNfMS5nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlOyB9IH0pO1xudmFyIGdldFRyYW5zYWN0aW9uVHlwZV9qc18xID0gcmVxdWlyZShcIi4vdHJhbnNhY3Rpb24vZ2V0VHJhbnNhY3Rpb25UeXBlLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0VHJhbnNhY3Rpb25UeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRUcmFuc2FjdGlvblR5cGVfanNfMS5nZXRUcmFuc2FjdGlvblR5cGU7IH0gfSk7XG52YXIgYXNzZXJ0UmVxdWVzdF9qc18xID0gcmVxdWlyZShcIi4vdHJhbnNhY3Rpb24vYXNzZXJ0UmVxdWVzdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFzc2VydFJlcXVlc3RcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzc2VydFJlcXVlc3RfanNfMS5hc3NlcnRSZXF1ZXN0OyB9IH0pO1xudmFyIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi90cmFuc2FjdGlvbi9hc3NlcnRUcmFuc2FjdGlvbi5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYXNzZXJ0VHJhbnNhY3Rpb25fanNfMS5hc3NlcnRUcmFuc2FjdGlvbkVJUDE1NTk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzBcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEuYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3lcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEuYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3k7IH0gfSk7XG52YXIgcGFyc2VUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vdHJhbnNhY3Rpb24vcGFyc2VUcmFuc2FjdGlvbi5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlVHJhbnNhY3Rpb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25fanNfMS5wYXJzZVRyYW5zYWN0aW9uOyB9IH0pO1xudmFyIHByZXBhcmVSZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi90cmFuc2FjdGlvbi9wcmVwYXJlUmVxdWVzdC5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInByZXBhcmVSZXF1ZXN0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBwcmVwYXJlUmVxdWVzdF9qc18xLnByZXBhcmVSZXF1ZXN0OyB9IH0pO1xudmFyIHNlcmlhbGl6ZVRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi90cmFuc2FjdGlvbi9zZXJpYWxpemVUcmFuc2FjdGlvbi5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNlcmlhbGl6ZVRyYW5zYWN0aW9uXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzZXJpYWxpemVUcmFuc2FjdGlvbl9qc18xLnNlcmlhbGl6ZVRyYW5zYWN0aW9uOyB9IH0pO1xudmFyIHNlcmlhbGl6ZUFjY2Vzc0xpc3RfanNfMSA9IHJlcXVpcmUoXCIuL3RyYW5zYWN0aW9uL3NlcmlhbGl6ZUFjY2Vzc0xpc3QuanNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzZXJpYWxpemVBY2Nlc3NMaXN0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBzZXJpYWxpemVBY2Nlc3NMaXN0X2pzXzEuc2VyaWFsaXplQWNjZXNzTGlzdDsgfSB9KTtcbnZhciBmb3JtYXRFdGhlcl9qc18xID0gcmVxdWlyZShcIi4vdW5pdC9mb3JtYXRFdGhlci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdEV0aGVyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXRFdGhlcl9qc18xLmZvcm1hdEV0aGVyOyB9IH0pO1xudmFyIGZvcm1hdEd3ZWlfanNfMSA9IHJlcXVpcmUoXCIuL3VuaXQvZm9ybWF0R3dlaS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdEd3ZWlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdEd3ZWlfanNfMS5mb3JtYXRHd2VpOyB9IH0pO1xudmFyIGZvcm1hdFVuaXRzX2pzXzEgPSByZXF1aXJlKFwiLi91bml0L2Zvcm1hdFVuaXRzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0VW5pdHNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdFVuaXRzX2pzXzEuZm9ybWF0VW5pdHM7IH0gfSk7XG52YXIgcGFyc2VVbml0c19qc18xID0gcmVxdWlyZShcIi4vdW5pdC9wYXJzZVVuaXRzLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VVbml0c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VVbml0c19qc18xLnBhcnNlVW5pdHM7IH0gfSk7XG52YXIgcGFyc2VFdGhlcl9qc18xID0gcmVxdWlyZShcIi4vdW5pdC9wYXJzZUV0aGVyLmpzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VFdGhlclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VFdGhlcl9qc18xLnBhcnNlRXRoZXI7IH0gfSk7XG52YXIgcGFyc2VHd2VpX2pzXzEgPSByZXF1aXJlKFwiLi91bml0L3BhcnNlR3dlaS5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlR3dlaVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VHd2VpX2pzXzEucGFyc2VHd2VpOyB9IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/observe.js": -/*!*****************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/observe.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.observe = exports.cleanupCache = exports.listenersCache = void 0;\nexports.listenersCache = new Map();\nexports.cleanupCache = new Map();\nlet callbackCount = 0;\nfunction observe(observerId, callbacks, fn) {\n const callbackId = ++callbackCount;\n const getListeners = () => exports.listenersCache.get(observerId) || [];\n const unsubscribe = () => {\n const listeners = getListeners();\n exports.listenersCache.set(observerId, listeners.filter((cb) => cb.id !== callbackId));\n };\n const unwatch = () => {\n const cleanup = exports.cleanupCache.get(observerId);\n if (getListeners().length === 1 && cleanup)\n cleanup();\n unsubscribe();\n };\n const listeners = getListeners();\n exports.listenersCache.set(observerId, [\n ...listeners,\n { id: callbackId, fns: callbacks },\n ]);\n if (listeners && listeners.length > 0)\n return unwatch;\n const emit = {};\n for (const key in callbacks) {\n emit[key] = ((...args) => {\n const listeners = getListeners();\n if (listeners.length === 0)\n return;\n listeners.forEach((listener) => listener.fns[key]?.(...args));\n });\n }\n const cleanup = fn(emit);\n if (typeof cleanup === 'function')\n exports.cleanupCache.set(observerId, cleanup);\n return unwatch;\n}\nexports.observe = observe;\n//# sourceMappingURL=observe.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9vYnNlcnZlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELGVBQWUsR0FBRyxvQkFBb0IsR0FBRyxzQkFBc0I7QUFDL0Qsc0JBQXNCO0FBQ3RCLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxnQ0FBZ0M7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL29ic2VydmUuanM/YzBhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMub2JzZXJ2ZSA9IGV4cG9ydHMuY2xlYW51cENhY2hlID0gZXhwb3J0cy5saXN0ZW5lcnNDYWNoZSA9IHZvaWQgMDtcbmV4cG9ydHMubGlzdGVuZXJzQ2FjaGUgPSBuZXcgTWFwKCk7XG5leHBvcnRzLmNsZWFudXBDYWNoZSA9IG5ldyBNYXAoKTtcbmxldCBjYWxsYmFja0NvdW50ID0gMDtcbmZ1bmN0aW9uIG9ic2VydmUob2JzZXJ2ZXJJZCwgY2FsbGJhY2tzLCBmbikge1xuICAgIGNvbnN0IGNhbGxiYWNrSWQgPSArK2NhbGxiYWNrQ291bnQ7XG4gICAgY29uc3QgZ2V0TGlzdGVuZXJzID0gKCkgPT4gZXhwb3J0cy5saXN0ZW5lcnNDYWNoZS5nZXQob2JzZXJ2ZXJJZCkgfHwgW107XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IGdldExpc3RlbmVycygpO1xuICAgICAgICBleHBvcnRzLmxpc3RlbmVyc0NhY2hlLnNldChvYnNlcnZlcklkLCBsaXN0ZW5lcnMuZmlsdGVyKChjYikgPT4gY2IuaWQgIT09IGNhbGxiYWNrSWQpKTtcbiAgICB9O1xuICAgIGNvbnN0IHVud2F0Y2ggPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsZWFudXAgPSBleHBvcnRzLmNsZWFudXBDYWNoZS5nZXQob2JzZXJ2ZXJJZCk7XG4gICAgICAgIGlmIChnZXRMaXN0ZW5lcnMoKS5sZW5ndGggPT09IDEgJiYgY2xlYW51cClcbiAgICAgICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IGdldExpc3RlbmVycygpO1xuICAgIGV4cG9ydHMubGlzdGVuZXJzQ2FjaGUuc2V0KG9ic2VydmVySWQsIFtcbiAgICAgICAgLi4ubGlzdGVuZXJzLFxuICAgICAgICB7IGlkOiBjYWxsYmFja0lkLCBmbnM6IGNhbGxiYWNrcyB9LFxuICAgIF0pO1xuICAgIGlmIChsaXN0ZW5lcnMgJiYgbGlzdGVuZXJzLmxlbmd0aCA+IDApXG4gICAgICAgIHJldHVybiB1bndhdGNoO1xuICAgIGNvbnN0IGVtaXQgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjYWxsYmFja3MpIHtcbiAgICAgICAgZW1pdFtrZXldID0gKCguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIuZm5zW2tleV0/LiguLi5hcmdzKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBjbGVhbnVwID0gZm4oZW1pdCk7XG4gICAgaWYgKHR5cGVvZiBjbGVhbnVwID09PSAnZnVuY3Rpb24nKVxuICAgICAgICBleHBvcnRzLmNsZWFudXBDYWNoZS5zZXQob2JzZXJ2ZXJJZCwgY2xlYW51cCk7XG4gICAgcmV0dXJuIHVud2F0Y2g7XG59XG5leHBvcnRzLm9ic2VydmUgPSBvYnNlcnZlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b2JzZXJ2ZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/observe.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/poll.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/poll.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.poll = void 0;\nconst wait_js_1 = __webpack_require__(/*! ./wait.js */ \"./node_modules/viem/dist/cjs/utils/wait.js\");\nfunction poll(fn, { emitOnBegin, initialWaitTime, interval }) {\n let active = true;\n const unwatch = () => (active = false);\n const watch = async () => {\n let data;\n if (emitOnBegin)\n data = await fn({ unpoll: unwatch });\n const initialWait = (await initialWaitTime?.(data)) ?? interval;\n await (0, wait_js_1.wait)(initialWait);\n const poll = async () => {\n if (!active)\n return;\n await fn({ unpoll: unwatch });\n await (0, wait_js_1.wait)(interval);\n poll();\n };\n poll();\n };\n watch();\n return unwatch;\n}\nexports.poll = poll;\n//# sourceMappingURL=poll.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9wb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELFlBQVk7QUFDWixrQkFBa0IsbUJBQU8sQ0FBQyw2REFBVztBQUNyQyxvQkFBb0Isd0NBQXdDO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsaUJBQWlCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsaUJBQWlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvcG9sbC5qcz9kMDYzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wb2xsID0gdm9pZCAwO1xuY29uc3Qgd2FpdF9qc18xID0gcmVxdWlyZShcIi4vd2FpdC5qc1wiKTtcbmZ1bmN0aW9uIHBvbGwoZm4sIHsgZW1pdE9uQmVnaW4sIGluaXRpYWxXYWl0VGltZSwgaW50ZXJ2YWwgfSkge1xuICAgIGxldCBhY3RpdmUgPSB0cnVlO1xuICAgIGNvbnN0IHVud2F0Y2ggPSAoKSA9PiAoYWN0aXZlID0gZmFsc2UpO1xuICAgIGNvbnN0IHdhdGNoID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBsZXQgZGF0YTtcbiAgICAgICAgaWYgKGVtaXRPbkJlZ2luKVxuICAgICAgICAgICAgZGF0YSA9IGF3YWl0IGZuKHsgdW5wb2xsOiB1bndhdGNoIH0pO1xuICAgICAgICBjb25zdCBpbml0aWFsV2FpdCA9IChhd2FpdCBpbml0aWFsV2FpdFRpbWU/LihkYXRhKSkgPz8gaW50ZXJ2YWw7XG4gICAgICAgIGF3YWl0ICgwLCB3YWl0X2pzXzEud2FpdCkoaW5pdGlhbFdhaXQpO1xuICAgICAgICBjb25zdCBwb2xsID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYXdhaXQgZm4oeyB1bnBvbGw6IHVud2F0Y2ggfSk7XG4gICAgICAgICAgICBhd2FpdCAoMCwgd2FpdF9qc18xLndhaXQpKGludGVydmFsKTtcbiAgICAgICAgICAgIHBvbGwoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcG9sbCgpO1xuICAgIH07XG4gICAgd2F0Y2goKTtcbiAgICByZXR1cm4gdW53YXRjaDtcbn1cbmV4cG9ydHMucG9sbCA9IHBvbGw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wb2xsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/poll.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/promise/createBatchScheduler.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/promise/createBatchScheduler.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createBatchScheduler = void 0;\nconst schedulerCache = new Map();\nfunction createBatchScheduler({ fn, id, shouldSplitBatch, wait = 0, }) {\n const exec = async () => {\n const scheduler = getScheduler();\n flush();\n const args = scheduler.map(({ args }) => args);\n if (args.length === 0)\n return;\n fn(args)\n .then((data) => {\n scheduler.forEach(({ pendingPromise }, i) => pendingPromise.resolve?.([data[i], data]));\n })\n .catch((err) => {\n scheduler.forEach(({ pendingPromise }) => pendingPromise.reject?.(err));\n });\n };\n const flush = () => schedulerCache.delete(id);\n const getBatchedArgs = () => getScheduler().map(({ args }) => args);\n const getScheduler = () => schedulerCache.get(id) || [];\n const setScheduler = (item) => schedulerCache.set(id, [...getScheduler(), item]);\n return {\n flush,\n async schedule(args) {\n const pendingPromise = {};\n const promise = new Promise((resolve, reject) => {\n pendingPromise.resolve = resolve;\n pendingPromise.reject = reject;\n });\n const split = shouldSplitBatch?.([...getBatchedArgs(), args]);\n if (split)\n exec();\n const hasActiveScheduler = getScheduler().length > 0;\n if (hasActiveScheduler) {\n setScheduler({ args, pendingPromise });\n return promise;\n }\n setScheduler({ args, pendingPromise });\n setTimeout(exec, wait);\n return promise;\n },\n };\n}\nexports.createBatchScheduler = createBatchScheduler;\n//# sourceMappingURL=createBatchScheduler.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9wcm9taXNlL2NyZWF0ZUJhdGNoU2NoZWR1bGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDRCQUE0QjtBQUM1QjtBQUNBLGdDQUFnQyxxQ0FBcUM7QUFDckU7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE1BQU07QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsZ0JBQWdCO0FBQ2pELFNBQVM7QUFDVDtBQUNBLGlDQUFpQyxnQkFBZ0I7QUFDakQsU0FBUztBQUNUO0FBQ0E7QUFDQSx1REFBdUQsTUFBTTtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBLDJCQUEyQixzQkFBc0I7QUFDakQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3Byb21pc2UvY3JlYXRlQmF0Y2hTY2hlZHVsZXIuanM/MGJiMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY3JlYXRlQmF0Y2hTY2hlZHVsZXIgPSB2b2lkIDA7XG5jb25zdCBzY2hlZHVsZXJDYWNoZSA9IG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGNyZWF0ZUJhdGNoU2NoZWR1bGVyKHsgZm4sIGlkLCBzaG91bGRTcGxpdEJhdGNoLCB3YWl0ID0gMCwgfSkge1xuICAgIGNvbnN0IGV4ZWMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNjaGVkdWxlciA9IGdldFNjaGVkdWxlcigpO1xuICAgICAgICBmbHVzaCgpO1xuICAgICAgICBjb25zdCBhcmdzID0gc2NoZWR1bGVyLm1hcCgoeyBhcmdzIH0pID0+IGFyZ3MpO1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGZuKGFyZ3MpXG4gICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgc2NoZWR1bGVyLmZvckVhY2goKHsgcGVuZGluZ1Byb21pc2UgfSwgaSkgPT4gcGVuZGluZ1Byb21pc2UucmVzb2x2ZT8uKFtkYXRhW2ldLCBkYXRhXSkpO1xuICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgIHNjaGVkdWxlci5mb3JFYWNoKCh7IHBlbmRpbmdQcm9taXNlIH0pID0+IHBlbmRpbmdQcm9taXNlLnJlamVjdD8uKGVycikpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGZsdXNoID0gKCkgPT4gc2NoZWR1bGVyQ2FjaGUuZGVsZXRlKGlkKTtcbiAgICBjb25zdCBnZXRCYXRjaGVkQXJncyA9ICgpID0+IGdldFNjaGVkdWxlcigpLm1hcCgoeyBhcmdzIH0pID0+IGFyZ3MpO1xuICAgIGNvbnN0IGdldFNjaGVkdWxlciA9ICgpID0+IHNjaGVkdWxlckNhY2hlLmdldChpZCkgfHwgW107XG4gICAgY29uc3Qgc2V0U2NoZWR1bGVyID0gKGl0ZW0pID0+IHNjaGVkdWxlckNhY2hlLnNldChpZCwgWy4uLmdldFNjaGVkdWxlcigpLCBpdGVtXSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmx1c2gsXG4gICAgICAgIGFzeW5jIHNjaGVkdWxlKGFyZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHBlbmRpbmdQcm9taXNlID0ge307XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLnJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLnJlamVjdCA9IHJlamVjdDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgc3BsaXQgPSBzaG91bGRTcGxpdEJhdGNoPy4oWy4uLmdldEJhdGNoZWRBcmdzKCksIGFyZ3NdKTtcbiAgICAgICAgICAgIGlmIChzcGxpdClcbiAgICAgICAgICAgICAgICBleGVjKCk7XG4gICAgICAgICAgICBjb25zdCBoYXNBY3RpdmVTY2hlZHVsZXIgPSBnZXRTY2hlZHVsZXIoKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgaWYgKGhhc0FjdGl2ZVNjaGVkdWxlcikge1xuICAgICAgICAgICAgICAgIHNldFNjaGVkdWxlcih7IGFyZ3MsIHBlbmRpbmdQcm9taXNlIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0U2NoZWR1bGVyKHsgYXJncywgcGVuZGluZ1Byb21pc2UgfSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGV4ZWMsIHdhaXQpO1xuICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbmV4cG9ydHMuY3JlYXRlQmF0Y2hTY2hlZHVsZXIgPSBjcmVhdGVCYXRjaFNjaGVkdWxlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZUJhdGNoU2NoZWR1bGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/promise/createBatchScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/promise/withCache.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/promise/withCache.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.withCache = exports.getCache = exports.responseCache = exports.promiseCache = void 0;\nexports.promiseCache = new Map();\nexports.responseCache = new Map();\nfunction getCache(cacheKey) {\n const buildCache = (cacheKey, cache) => ({\n clear: () => cache.delete(cacheKey),\n get: () => cache.get(cacheKey),\n set: (data) => cache.set(cacheKey, data),\n });\n const promise = buildCache(cacheKey, exports.promiseCache);\n const response = buildCache(cacheKey, exports.responseCache);\n return {\n clear: () => {\n promise.clear();\n response.clear();\n },\n promise,\n response,\n };\n}\nexports.getCache = getCache;\nasync function withCache(fn, { cacheKey, maxAge = Infinity }) {\n const cache = getCache(cacheKey);\n const response = cache.response.get();\n if (response && maxAge > 0) {\n const age = new Date().getTime() - response.created.getTime();\n if (age < maxAge)\n return response.data;\n }\n let promise = cache.promise.get();\n if (!promise) {\n promise = fn();\n cache.promise.set(promise);\n }\n try {\n const data = await promise;\n cache.response.set({ created: new Date(), data });\n return data;\n }\n finally {\n cache.promise.clear();\n }\n}\nexports.withCache = withCache;\n//# sourceMappingURL=withCache.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9wcm9taXNlL3dpdGhDYWNoZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FBRyxxQkFBcUIsR0FBRyxvQkFBb0I7QUFDbkYsb0JBQW9CO0FBQ3BCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQiwrQkFBK0IsNkJBQTZCO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsMkJBQTJCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9wcm9taXNlL3dpdGhDYWNoZS5qcz80ZDliIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy53aXRoQ2FjaGUgPSBleHBvcnRzLmdldENhY2hlID0gZXhwb3J0cy5yZXNwb25zZUNhY2hlID0gZXhwb3J0cy5wcm9taXNlQ2FjaGUgPSB2b2lkIDA7XG5leHBvcnRzLnByb21pc2VDYWNoZSA9IG5ldyBNYXAoKTtcbmV4cG9ydHMucmVzcG9uc2VDYWNoZSA9IG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGdldENhY2hlKGNhY2hlS2V5KSB7XG4gICAgY29uc3QgYnVpbGRDYWNoZSA9IChjYWNoZUtleSwgY2FjaGUpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiBjYWNoZS5kZWxldGUoY2FjaGVLZXkpLFxuICAgICAgICBnZXQ6ICgpID0+IGNhY2hlLmdldChjYWNoZUtleSksXG4gICAgICAgIHNldDogKGRhdGEpID0+IGNhY2hlLnNldChjYWNoZUtleSwgZGF0YSksXG4gICAgfSk7XG4gICAgY29uc3QgcHJvbWlzZSA9IGJ1aWxkQ2FjaGUoY2FjaGVLZXksIGV4cG9ydHMucHJvbWlzZUNhY2hlKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGJ1aWxkQ2FjaGUoY2FjaGVLZXksIGV4cG9ydHMucmVzcG9uc2VDYWNoZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICAgIHByb21pc2UuY2xlYXIoKTtcbiAgICAgICAgICAgIHJlc3BvbnNlLmNsZWFyKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHByb21pc2UsXG4gICAgICAgIHJlc3BvbnNlLFxuICAgIH07XG59XG5leHBvcnRzLmdldENhY2hlID0gZ2V0Q2FjaGU7XG5hc3luYyBmdW5jdGlvbiB3aXRoQ2FjaGUoZm4sIHsgY2FjaGVLZXksIG1heEFnZSA9IEluZmluaXR5IH0pIHtcbiAgICBjb25zdCBjYWNoZSA9IGdldENhY2hlKGNhY2hlS2V5KTtcbiAgICBjb25zdCByZXNwb25zZSA9IGNhY2hlLnJlc3BvbnNlLmdldCgpO1xuICAgIGlmIChyZXNwb25zZSAmJiBtYXhBZ2UgPiAwKSB7XG4gICAgICAgIGNvbnN0IGFnZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gcmVzcG9uc2UuY3JlYXRlZC5nZXRUaW1lKCk7XG4gICAgICAgIGlmIChhZ2UgPCBtYXhBZ2UpXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG4gICAgbGV0IHByb21pc2UgPSBjYWNoZS5wcm9taXNlLmdldCgpO1xuICAgIGlmICghcHJvbWlzZSkge1xuICAgICAgICBwcm9taXNlID0gZm4oKTtcbiAgICAgICAgY2FjaGUucHJvbWlzZS5zZXQocHJvbWlzZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBwcm9taXNlO1xuICAgICAgICBjYWNoZS5yZXNwb25zZS5zZXQoeyBjcmVhdGVkOiBuZXcgRGF0ZSgpLCBkYXRhIH0pO1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIGNhY2hlLnByb21pc2UuY2xlYXIoKTtcbiAgICB9XG59XG5leHBvcnRzLndpdGhDYWNoZSA9IHdpdGhDYWNoZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGhDYWNoZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/promise/withCache.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/promise/withRetry.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/promise/withRetry.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.withRetry = void 0;\nconst wait_js_1 = __webpack_require__(/*! ../wait.js */ \"./node_modules/viem/dist/cjs/utils/wait.js\");\nfunction withRetry(fn, { delay: delay_ = 100, retryCount = 2, shouldRetry = () => true, } = {}) {\n return new Promise((resolve, reject) => {\n const attemptRetry = async ({ count = 0 } = {}) => {\n const retry = async ({ error }) => {\n const delay = typeof delay_ === 'function' ? delay_({ count, error }) : delay_;\n if (delay)\n await (0, wait_js_1.wait)(delay);\n attemptRetry({ count: count + 1 });\n };\n try {\n const data = await fn();\n resolve(data);\n }\n catch (err) {\n if (count < retryCount &&\n (await shouldRetry({ count, error: err })))\n return retry({ error: err });\n reject(err);\n }\n };\n attemptRetry();\n });\n}\nexports.withRetry = withRetry;\n//# sourceMappingURL=withRetry.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9wcm9taXNlL3dpdGhSZXRyeS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsa0JBQWtCLG1CQUFPLENBQUMsOERBQVk7QUFDdEMseUJBQXlCLGlFQUFpRSxJQUFJO0FBQzlGO0FBQ0Esc0NBQXNDLFlBQVksSUFBSTtBQUN0RCxtQ0FBbUMsT0FBTztBQUMxQyxzRUFBc0UsY0FBYztBQUNwRjtBQUNBO0FBQ0EsK0JBQStCLGtCQUFrQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxtQkFBbUI7QUFDNUQsbUNBQW1DLFlBQVk7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvcHJvbWlzZS93aXRoUmV0cnkuanM/NDVlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMud2l0aFJldHJ5ID0gdm9pZCAwO1xuY29uc3Qgd2FpdF9qc18xID0gcmVxdWlyZShcIi4uL3dhaXQuanNcIik7XG5mdW5jdGlvbiB3aXRoUmV0cnkoZm4sIHsgZGVsYXk6IGRlbGF5XyA9IDEwMCwgcmV0cnlDb3VudCA9IDIsIHNob3VsZFJldHJ5ID0gKCkgPT4gdHJ1ZSwgfSA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgYXR0ZW1wdFJldHJ5ID0gYXN5bmMgKHsgY291bnQgPSAwIH0gPSB7fSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmV0cnkgPSBhc3luYyAoeyBlcnJvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVsYXkgPSB0eXBlb2YgZGVsYXlfID09PSAnZnVuY3Rpb24nID8gZGVsYXlfKHsgY291bnQsIGVycm9yIH0pIDogZGVsYXlfO1xuICAgICAgICAgICAgICAgIGlmIChkZWxheSlcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgKDAsIHdhaXRfanNfMS53YWl0KShkZWxheSk7XG4gICAgICAgICAgICAgICAgYXR0ZW1wdFJldHJ5KHsgY291bnQ6IGNvdW50ICsgMSB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmbigpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgcmV0cnlDb3VudCAmJlxuICAgICAgICAgICAgICAgICAgICAoYXdhaXQgc2hvdWxkUmV0cnkoeyBjb3VudCwgZXJyb3I6IGVyciB9KSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXRyeSh7IGVycm9yOiBlcnIgfSk7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGF0dGVtcHRSZXRyeSgpO1xuICAgIH0pO1xufVxuZXhwb3J0cy53aXRoUmV0cnkgPSB3aXRoUmV0cnk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13aXRoUmV0cnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/promise/withRetry.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/promise/withTimeout.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/promise/withTimeout.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.withTimeout = void 0;\nfunction withTimeout(fn, { errorInstance, timeout, signal, }) {\n return new Promise((resolve, reject) => {\n ;\n (async () => {\n let timeoutId;\n try {\n const controller = new AbortController();\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort();\n }\n else {\n reject(errorInstance);\n }\n }, timeout);\n }\n resolve(await fn({ signal: controller?.signal }));\n }\n catch (err) {\n if (err.name === 'AbortError')\n reject(errorInstance);\n reject(err);\n }\n finally {\n clearTimeout(timeoutId);\n }\n })();\n });\n}\nexports.withTimeout = withTimeout;\n//# sourceMappingURL=withTimeout.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9wcm9taXNlL3dpdGhUaW1lb3V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQjtBQUNuQiwyQkFBMkIsaUNBQWlDO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxtQ0FBbUMsNEJBQTRCO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvcHJvbWlzZS93aXRoVGltZW91dC5qcz9iYjUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy53aXRoVGltZW91dCA9IHZvaWQgMDtcbmZ1bmN0aW9uIHdpdGhUaW1lb3V0KGZuLCB7IGVycm9ySW5zdGFuY2UsIHRpbWVvdXQsIHNpZ25hbCwgfSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIDtcbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGxldCB0aW1lb3V0SWQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNpZ25hbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvckluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgdGltZW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUoYXdhaXQgZm4oeyBzaWduYWw6IGNvbnRyb2xsZXI/LnNpZ25hbCB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVyci5uYW1lID09PSAnQWJvcnRFcnJvcicpXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvckluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgIH0pO1xufVxuZXhwb3J0cy53aXRoVGltZW91dCA9IHdpdGhUaW1lb3V0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2l0aFRpbWVvdXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/promise/withTimeout.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/regex.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/regex.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.integerRegex = exports.bytesRegex = exports.arrayRegex = void 0;\nexports.arrayRegex = /^(.*)\\[([0-9]*)\\]$/;\nexports.bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;\nexports.integerRegex = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;\n//# sourceMappingURL=regex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9yZWdleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxvQkFBb0IsR0FBRyxrQkFBa0IsR0FBRyxrQkFBa0I7QUFDOUQsa0JBQWtCO0FBQ2xCLGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvcmVnZXguanM/YWRhMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaW50ZWdlclJlZ2V4ID0gZXhwb3J0cy5ieXRlc1JlZ2V4ID0gZXhwb3J0cy5hcnJheVJlZ2V4ID0gdm9pZCAwO1xuZXhwb3J0cy5hcnJheVJlZ2V4ID0gL14oLiopXFxbKFswLTldKilcXF0kLztcbmV4cG9ydHMuYnl0ZXNSZWdleCA9IC9eYnl0ZXMoWzEtOV18MVswLTldfDJbMC05XXwzWzAtMl0pPyQvO1xuZXhwb3J0cy5pbnRlZ2VyUmVnZXggPSAvXih1P2ludCkoOHwxNnwyNHwzMnw0MHw0OHw1Nnw2NHw3Mnw4MHw4OHw5NnwxMDR8MTEyfDEyMHwxMjh8MTM2fDE0NHwxNTJ8MTYwfDE2OHwxNzZ8MTg0fDE5MnwyMDB8MjA4fDIxNnwyMjR8MjMyfDI0MHwyNDh8MjU2KT8kLztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZ2V4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/rpc.js": -/*!*************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/rpc.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.rpc = exports.getSocket = void 0;\nconst request_js_1 = __webpack_require__(/*! ../errors/request.js */ \"./node_modules/viem/dist/cjs/errors/request.js\");\nconst createBatchScheduler_js_1 = __webpack_require__(/*! ./promise/createBatchScheduler.js */ \"./node_modules/viem/dist/cjs/utils/promise/createBatchScheduler.js\");\nconst withTimeout_js_1 = __webpack_require__(/*! ./promise/withTimeout.js */ \"./node_modules/viem/dist/cjs/utils/promise/withTimeout.js\");\nconst stringify_js_1 = __webpack_require__(/*! ./stringify.js */ \"./node_modules/viem/dist/cjs/utils/stringify.js\");\nlet id = 0;\nasync function http(url, { body, fetchOptions = {}, timeout = 10000 }) {\n const { headers, method, signal: signal_ } = fetchOptions;\n try {\n const response = await (0, withTimeout_js_1.withTimeout)(async ({ signal }) => {\n const response = await fetch(url, {\n ...fetchOptions,\n body: Array.isArray(body)\n ? (0, stringify_js_1.stringify)(body.map((body) => ({\n jsonrpc: '2.0',\n id: id++,\n ...body,\n })))\n : (0, stringify_js_1.stringify)({ jsonrpc: '2.0', id: id++, ...body }),\n headers: {\n ...headers,\n 'Content-Type': 'application/json',\n },\n method: method || 'POST',\n signal: signal_ || (timeout > 0 ? signal : undefined),\n });\n return response;\n }, {\n errorInstance: new request_js_1.TimeoutError({ body, url }),\n timeout,\n signal: true,\n });\n let data;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n data = await response.json();\n }\n else {\n data = await response.text();\n }\n if (!response.ok) {\n throw new request_js_1.HttpRequestError({\n body,\n details: (0, stringify_js_1.stringify)(data.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n }\n return data;\n }\n catch (err) {\n if (err instanceof request_js_1.HttpRequestError)\n throw err;\n if (err instanceof request_js_1.TimeoutError)\n throw err;\n throw new request_js_1.HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n}\nconst sockets = new Map();\nasync function getSocket(url_) {\n const url = new URL(url_);\n const urlKey = url.toString();\n let socket = sockets.get(urlKey);\n if (socket)\n return socket;\n const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({\n id: urlKey,\n fn: async () => {\n let WebSocket = await __webpack_require__.e(/*! import() */ \"node_modules_isomorphic-ws_browser_js\").then(__webpack_require__.bind(__webpack_require__, /*! isomorphic-ws */ \"./node_modules/isomorphic-ws/browser.js\"));\n if (WebSocket.default\n ?.constructor)\n WebSocket = WebSocket\n .default;\n else\n WebSocket = WebSocket.WebSocket;\n const webSocket = new WebSocket(url);\n const requests = new Map();\n const subscriptions = new Map();\n const onMessage = ({ data }) => {\n const message = JSON.parse(data);\n const isSubscription = message.method === 'eth_subscription';\n const id = isSubscription ? message.params.subscription : message.id;\n const cache = isSubscription ? subscriptions : requests;\n const callback = cache.get(id);\n if (callback)\n callback({ data });\n if (!isSubscription)\n cache.delete(id);\n };\n const onClose = () => {\n sockets.delete(urlKey);\n webSocket.removeEventListener('close', onClose);\n webSocket.removeEventListener('message', onMessage);\n };\n webSocket.addEventListener('close', onClose);\n webSocket.addEventListener('message', onMessage);\n if (webSocket.readyState === WebSocket.CONNECTING) {\n await new Promise((resolve, reject) => {\n if (!webSocket)\n return;\n webSocket.onopen = resolve;\n webSocket.onerror = reject;\n });\n }\n socket = Object.assign(webSocket, {\n requests,\n subscriptions,\n });\n sockets.set(urlKey, socket);\n return [socket];\n },\n });\n const [_, [socket_]] = await schedule();\n return socket_;\n}\nexports.getSocket = getSocket;\nfunction webSocket(socket, { body, onResponse }) {\n if (socket.readyState === socket.CLOSED ||\n socket.readyState === socket.CLOSING)\n throw new request_js_1.WebSocketRequestError({\n body,\n url: socket.url,\n details: 'Socket is closed.',\n });\n const id_ = id++;\n const callback = ({ data }) => {\n const message = JSON.parse(data);\n if (typeof message.id === 'number' && id_ !== message.id)\n return;\n onResponse?.(message);\n if (body.method === 'eth_subscribe' && typeof message.result === 'string') {\n socket.subscriptions.set(message.result, callback);\n }\n if (body.method === 'eth_unsubscribe') {\n socket.subscriptions.delete(body.params?.[0]);\n }\n };\n socket.requests.set(id_, callback);\n socket.send(JSON.stringify({ jsonrpc: '2.0', ...body, id: id_ }));\n return socket;\n}\nasync function webSocketAsync(socket, { body, timeout = 10000 }) {\n return (0, withTimeout_js_1.withTimeout)(() => new Promise((onResponse) => exports.rpc.webSocket(socket, {\n body,\n onResponse,\n })), {\n errorInstance: new request_js_1.TimeoutError({ body, url: socket.url }),\n timeout,\n });\n}\nexports.rpc = {\n http,\n webSocket,\n webSocketAsync,\n};\n//# sourceMappingURL=rpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9ycGMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsV0FBVyxHQUFHLGlCQUFpQjtBQUMvQixxQkFBcUIsbUJBQU8sQ0FBQyw0RUFBc0I7QUFDbkQsa0NBQWtDLG1CQUFPLENBQUMsNkdBQW1DO0FBQzdFLHlCQUF5QixtQkFBTyxDQUFDLDJGQUEwQjtBQUMzRCx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBZ0I7QUFDL0M7QUFDQSwyQkFBMkIsdUJBQXVCLG1CQUFtQjtBQUNyRSxZQUFZLG1DQUFtQztBQUMvQztBQUNBLDBFQUEwRSxRQUFRO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLHNEQUFzRCxtQ0FBbUM7QUFDekY7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxTQUFTO0FBQ1QsMkRBQTJELFdBQVc7QUFDdEU7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFdBQVc7QUFDdkI7QUFDQTtBQUNBLGtDQUFrQyxrTUFBdUI7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLE1BQU07QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLE1BQU07QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLDZCQUE2QixrQkFBa0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esd0JBQXdCLE1BQU07QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGtDQUFrQztBQUNuRTtBQUNBO0FBQ0Esd0NBQXdDLHVCQUF1QjtBQUMvRDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsdURBQXVELHVCQUF1QjtBQUM5RTtBQUNBLEtBQUs7QUFDTDtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3JwYy5qcz8wZTAwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5ycGMgPSBleHBvcnRzLmdldFNvY2tldCA9IHZvaWQgMDtcbmNvbnN0IHJlcXVlc3RfanNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnMvcmVxdWVzdC5qc1wiKTtcbmNvbnN0IGNyZWF0ZUJhdGNoU2NoZWR1bGVyX2pzXzEgPSByZXF1aXJlKFwiLi9wcm9taXNlL2NyZWF0ZUJhdGNoU2NoZWR1bGVyLmpzXCIpO1xuY29uc3Qgd2l0aFRpbWVvdXRfanNfMSA9IHJlcXVpcmUoXCIuL3Byb21pc2Uvd2l0aFRpbWVvdXQuanNcIik7XG5jb25zdCBzdHJpbmdpZnlfanNfMSA9IHJlcXVpcmUoXCIuL3N0cmluZ2lmeS5qc1wiKTtcbmxldCBpZCA9IDA7XG5hc3luYyBmdW5jdGlvbiBodHRwKHVybCwgeyBib2R5LCBmZXRjaE9wdGlvbnMgPSB7fSwgdGltZW91dCA9IDEwMDAwIH0pIHtcbiAgICBjb25zdCB7IGhlYWRlcnMsIG1ldGhvZCwgc2lnbmFsOiBzaWduYWxfIH0gPSBmZXRjaE9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoMCwgd2l0aFRpbWVvdXRfanNfMS53aXRoVGltZW91dCkoYXN5bmMgKHsgc2lnbmFsIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgLi4uZmV0Y2hPcHRpb25zLFxuICAgICAgICAgICAgICAgIGJvZHk6IEFycmF5LmlzQXJyYXkoYm9keSlcbiAgICAgICAgICAgICAgICAgICAgPyAoMCwgc3RyaW5naWZ5X2pzXzEuc3RyaW5naWZ5KShib2R5Lm1hcCgoYm9keSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25ycGM6ICcyLjAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkKyssXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5ib2R5LFxuICAgICAgICAgICAgICAgICAgICB9KSkpXG4gICAgICAgICAgICAgICAgICAgIDogKDAsIHN0cmluZ2lmeV9qc18xLnN0cmluZ2lmeSkoeyBqc29ucnBjOiAnMi4wJywgaWQ6IGlkKyssIC4uLmJvZHkgfSksXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBtZXRob2QgfHwgJ1BPU1QnLFxuICAgICAgICAgICAgICAgIHNpZ25hbDogc2lnbmFsXyB8fCAodGltZW91dCA+IDAgPyBzaWduYWwgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGVycm9ySW5zdGFuY2U6IG5ldyByZXF1ZXN0X2pzXzEuVGltZW91dEVycm9yKHsgYm9keSwgdXJsIH0pLFxuICAgICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICAgIHNpZ25hbDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBkYXRhO1xuICAgICAgICBpZiAocmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpPy5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICAgICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkYXRhID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgIHRocm93IG5ldyByZXF1ZXN0X2pzXzEuSHR0cFJlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiAoMCwgc3RyaW5naWZ5X2pzXzEuc3RyaW5naWZ5KShkYXRhLmVycm9yKSB8fCByZXNwb25zZS5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIHJlcXVlc3RfanNfMS5IdHRwUmVxdWVzdEVycm9yKVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgcmVxdWVzdF9qc18xLlRpbWVvdXRFcnJvcilcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgdGhyb3cgbmV3IHJlcXVlc3RfanNfMS5IdHRwUmVxdWVzdEVycm9yKHtcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICBkZXRhaWxzOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuY29uc3Qgc29ja2V0cyA9IG5ldyBNYXAoKTtcbmFzeW5jIGZ1bmN0aW9uIGdldFNvY2tldCh1cmxfKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh1cmxfKTtcbiAgICBjb25zdCB1cmxLZXkgPSB1cmwudG9TdHJpbmcoKTtcbiAgICBsZXQgc29ja2V0ID0gc29ja2V0cy5nZXQodXJsS2V5KTtcbiAgICBpZiAoc29ja2V0KVxuICAgICAgICByZXR1cm4gc29ja2V0O1xuICAgIGNvbnN0IHsgc2NoZWR1bGUgfSA9ICgwLCBjcmVhdGVCYXRjaFNjaGVkdWxlcl9qc18xLmNyZWF0ZUJhdGNoU2NoZWR1bGVyKSh7XG4gICAgICAgIGlkOiB1cmxLZXksXG4gICAgICAgIGZuOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBsZXQgV2ViU29ja2V0ID0gYXdhaXQgaW1wb3J0KCdpc29tb3JwaGljLXdzJyk7XG4gICAgICAgICAgICBpZiAoV2ViU29ja2V0LmRlZmF1bHRcbiAgICAgICAgICAgICAgICA/LmNvbnN0cnVjdG9yKVxuICAgICAgICAgICAgICAgIFdlYlNvY2tldCA9IFdlYlNvY2tldFxuICAgICAgICAgICAgICAgICAgICAuZGVmYXVsdDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBXZWJTb2NrZXQgPSBXZWJTb2NrZXQuV2ViU29ja2V0O1xuICAgICAgICAgICAgY29uc3Qgd2ViU29ja2V0ID0gbmV3IFdlYlNvY2tldCh1cmwpO1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgY29uc3Qgb25NZXNzYWdlID0gKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNTdWJzY3JpcHRpb24gPSBtZXNzYWdlLm1ldGhvZCA9PT0gJ2V0aF9zdWJzY3JpcHRpb24nO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkID0gaXNTdWJzY3JpcHRpb24gPyBtZXNzYWdlLnBhcmFtcy5zdWJzY3JpcHRpb24gOiBtZXNzYWdlLmlkO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlID0gaXNTdWJzY3JpcHRpb24gPyBzdWJzY3JpcHRpb25zIDogcmVxdWVzdHM7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBjYWNoZS5nZXQoaWQpO1xuICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjaylcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soeyBkYXRhIH0pO1xuICAgICAgICAgICAgICAgIGlmICghaXNTdWJzY3JpcHRpb24pXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlLmRlbGV0ZShpZCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgb25DbG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzb2NrZXRzLmRlbGV0ZSh1cmxLZXkpO1xuICAgICAgICAgICAgICAgIHdlYlNvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbG9zZScsIG9uQ2xvc2UpO1xuICAgICAgICAgICAgICAgIHdlYlNvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3ZWJTb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCBvbkNsb3NlKTtcbiAgICAgICAgICAgIHdlYlNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTtcbiAgICAgICAgICAgIGlmICh3ZWJTb2NrZXQucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghd2ViU29ja2V0KVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB3ZWJTb2NrZXQub25vcGVuID0gcmVzb2x2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2ViU29ja2V0Lm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzb2NrZXQgPSBPYmplY3QuYXNzaWduKHdlYlNvY2tldCwge1xuICAgICAgICAgICAgICAgIHJlcXVlc3RzLFxuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNvY2tldHMuc2V0KHVybEtleSwgc29ja2V0KTtcbiAgICAgICAgICAgIHJldHVybiBbc29ja2V0XTtcbiAgICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBbXywgW3NvY2tldF9dXSA9IGF3YWl0IHNjaGVkdWxlKCk7XG4gICAgcmV0dXJuIHNvY2tldF87XG59XG5leHBvcnRzLmdldFNvY2tldCA9IGdldFNvY2tldDtcbmZ1bmN0aW9uIHdlYlNvY2tldChzb2NrZXQsIHsgYm9keSwgb25SZXNwb25zZSB9KSB7XG4gICAgaWYgKHNvY2tldC5yZWFkeVN0YXRlID09PSBzb2NrZXQuQ0xPU0VEIHx8XG4gICAgICAgIHNvY2tldC5yZWFkeVN0YXRlID09PSBzb2NrZXQuQ0xPU0lORylcbiAgICAgICAgdGhyb3cgbmV3IHJlcXVlc3RfanNfMS5XZWJTb2NrZXRSZXF1ZXN0RXJyb3Ioe1xuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgIHVybDogc29ja2V0LnVybCxcbiAgICAgICAgICAgIGRldGFpbHM6ICdTb2NrZXQgaXMgY2xvc2VkLicsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGlkXyA9IGlkKys7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoeyBkYXRhIH0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZS5pZCA9PT0gJ251bWJlcicgJiYgaWRfICE9PSBtZXNzYWdlLmlkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvblJlc3BvbnNlPy4obWVzc2FnZSk7XG4gICAgICAgIGlmIChib2R5Lm1ldGhvZCA9PT0gJ2V0aF9zdWJzY3JpYmUnICYmIHR5cGVvZiBtZXNzYWdlLnJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHNvY2tldC5zdWJzY3JpcHRpb25zLnNldChtZXNzYWdlLnJlc3VsdCwgY2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgICAgIGlmIChib2R5Lm1ldGhvZCA9PT0gJ2V0aF91bnN1YnNjcmliZScpIHtcbiAgICAgICAgICAgIHNvY2tldC5zdWJzY3JpcHRpb25zLmRlbGV0ZShib2R5LnBhcmFtcz8uWzBdKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgc29ja2V0LnJlcXVlc3RzLnNldChpZF8sIGNhbGxiYWNrKTtcbiAgICBzb2NrZXQuc2VuZChKU09OLnN0cmluZ2lmeSh7IGpzb25ycGM6ICcyLjAnLCAuLi5ib2R5LCBpZDogaWRfIH0pKTtcbiAgICByZXR1cm4gc29ja2V0O1xufVxuYXN5bmMgZnVuY3Rpb24gd2ViU29ja2V0QXN5bmMoc29ja2V0LCB7IGJvZHksIHRpbWVvdXQgPSAxMDAwMCB9KSB7XG4gICAgcmV0dXJuICgwLCB3aXRoVGltZW91dF9qc18xLndpdGhUaW1lb3V0KSgoKSA9PiBuZXcgUHJvbWlzZSgob25SZXNwb25zZSkgPT4gZXhwb3J0cy5ycGMud2ViU29ja2V0KHNvY2tldCwge1xuICAgICAgICBib2R5LFxuICAgICAgICBvblJlc3BvbnNlLFxuICAgIH0pKSwge1xuICAgICAgICBlcnJvckluc3RhbmNlOiBuZXcgcmVxdWVzdF9qc18xLlRpbWVvdXRFcnJvcih7IGJvZHksIHVybDogc29ja2V0LnVybCB9KSxcbiAgICAgICAgdGltZW91dCxcbiAgICB9KTtcbn1cbmV4cG9ydHMucnBjID0ge1xuICAgIGh0dHAsXG4gICAgd2ViU29ja2V0LFxuICAgIHdlYlNvY2tldEFzeW5jLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJwYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/rpc.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/hashMessage.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/hashMessage.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hashMessage = void 0;\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst toBytes_js_1 = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toBytes.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nfunction hashMessage(message, to_) {\n const messageBytes = (() => {\n if (typeof message === 'string')\n return (0, toBytes_js_1.stringToBytes)(message);\n if (message.raw instanceof Uint8Array)\n return message.raw;\n return (0, toBytes_js_1.toBytes)(message.raw);\n })();\n const prefixBytes = (0, toBytes_js_1.stringToBytes)(`\\x19Ethereum Signed Message:\\n${messageBytes.length}`);\n return (0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([prefixBytes, messageBytes]), to_);\n}\nexports.hashMessage = hashMessage;\n//# sourceMappingURL=hashMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvaGFzaE1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsbUJBQW1CO0FBQ25CLG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQyxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQsdUJBQXVCLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLHlGQUF5RixvQkFBb0I7QUFDN0c7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvaGFzaE1lc3NhZ2UuanM/ODY4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuaGFzaE1lc3NhZ2UgPSB2b2lkIDA7XG5jb25zdCBjb25jYXRfanNfMSA9IHJlcXVpcmUoXCIuLi9kYXRhL2NvbmNhdC5qc1wiKTtcbmNvbnN0IHRvQnl0ZXNfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0J5dGVzLmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9rZWNjYWsyNTYuanNcIik7XG5mdW5jdGlvbiBoYXNoTWVzc2FnZShtZXNzYWdlLCB0b18pIHtcbiAgICBjb25zdCBtZXNzYWdlQnl0ZXMgPSAoKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuICgwLCB0b0J5dGVzX2pzXzEuc3RyaW5nVG9CeXRlcykobWVzc2FnZSk7XG4gICAgICAgIGlmIChtZXNzYWdlLnJhdyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gbWVzc2FnZS5yYXc7XG4gICAgICAgIHJldHVybiAoMCwgdG9CeXRlc19qc18xLnRvQnl0ZXMpKG1lc3NhZ2UucmF3KTtcbiAgICB9KSgpO1xuICAgIGNvbnN0IHByZWZpeEJ5dGVzID0gKDAsIHRvQnl0ZXNfanNfMS5zdHJpbmdUb0J5dGVzKShgXFx4MTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke21lc3NhZ2VCeXRlcy5sZW5ndGh9YCk7XG4gICAgcmV0dXJuICgwLCBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTYpKCgwLCBjb25jYXRfanNfMS5jb25jYXQpKFtwcmVmaXhCeXRlcywgbWVzc2FnZUJ5dGVzXSksIHRvXyk7XG59XG5leHBvcnRzLmhhc2hNZXNzYWdlID0gaGFzaE1lc3NhZ2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYXNoTWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/hashMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/hashTypedData.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/hashTypedData.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hashTypedData = void 0;\nconst encodeAbiParameters_js_1 = __webpack_require__(/*! ../abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/cjs/utils/abi/encodeAbiParameters.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst keccak256_js_1 = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/cjs/utils/hash/keccak256.js\");\nconst typedData_js_1 = __webpack_require__(/*! ../typedData.js */ \"./node_modules/viem/dist/cjs/utils/typedData.js\");\nfunction hashTypedData({ domain: domain_, message, primaryType, types: types_, }) {\n const domain = typeof domain_ === 'undefined' ? {} : domain_;\n const types = {\n EIP712Domain: [\n typeof domain?.name === 'string' && { name: 'name', type: 'string' },\n domain?.version && { name: 'version', type: 'string' },\n typeof domain?.chainId === 'number' && {\n name: 'chainId',\n type: 'uint256',\n },\n domain?.verifyingContract && {\n name: 'verifyingContract',\n type: 'address',\n },\n domain?.salt && { name: 'salt', type: 'bytes32' },\n ].filter(Boolean),\n ...types_,\n };\n (0, typedData_js_1.validateTypedData)({\n domain,\n message,\n primaryType,\n types,\n });\n const parts = ['0x1901'];\n if (domain)\n parts.push(hashDomain({\n domain,\n types: types,\n }));\n if (primaryType !== 'EIP712Domain') {\n parts.push(hashStruct({\n data: message,\n primaryType: primaryType,\n types: types,\n }));\n }\n return (0, keccak256_js_1.keccak256)((0, concat_js_1.concat)(parts));\n}\nexports.hashTypedData = hashTypedData;\nfunction hashDomain({ domain, types, }) {\n return hashStruct({\n data: domain,\n primaryType: 'EIP712Domain',\n types,\n });\n}\nfunction hashStruct({ data, primaryType, types, }) {\n const encoded = encodeData({\n data,\n primaryType,\n types,\n });\n return (0, keccak256_js_1.keccak256)(encoded);\n}\nfunction encodeData({ data, primaryType, types, }) {\n const encodedTypes = [{ type: 'bytes32' }];\n const encodedValues = [hashType({ primaryType, types })];\n for (const field of types[primaryType]) {\n const [type, value] = encodeField({\n types,\n name: field.name,\n type: field.type,\n value: data[field.name],\n });\n encodedTypes.push(type);\n encodedValues.push(value);\n }\n return (0, encodeAbiParameters_js_1.encodeAbiParameters)(encodedTypes, encodedValues);\n}\nfunction hashType({ primaryType, types, }) {\n const encodedHashType = (0, toHex_js_1.toHex)(encodeType({ primaryType, types }));\n return (0, keccak256_js_1.keccak256)(encodedHashType);\n}\nfunction encodeType({ primaryType, types, }) {\n let result = '';\n const unsortedDeps = findTypeDependencies({ primaryType, types });\n unsortedDeps.delete(primaryType);\n const deps = [primaryType, ...Array.from(unsortedDeps).sort()];\n for (const type of deps) {\n result += `${type}(${types[type]\n .map(({ name, type: t }) => `${t} ${name}`)\n .join(',')})`;\n }\n return result;\n}\nfunction findTypeDependencies({ primaryType: primaryType_, types, }, results = new Set()) {\n const match = primaryType_.match(/^\\w*/u);\n const primaryType = match?.[0];\n if (results.has(primaryType) || types[primaryType] === undefined) {\n return results;\n }\n results.add(primaryType);\n for (const field of types[primaryType]) {\n findTypeDependencies({ primaryType: field.type, types }, results);\n }\n return results;\n}\nfunction encodeField({ types, name, type, value, }) {\n if (types[type] !== undefined) {\n return [\n { type: 'bytes32' },\n (0, keccak256_js_1.keccak256)(encodeData({ data: value, primaryType: type, types })),\n ];\n }\n if (type === 'bytes') {\n const prepend = value.length % 2 ? '0' : '';\n value = `0x${prepend + value.slice(2)}`;\n return [{ type: 'bytes32' }, (0, keccak256_js_1.keccak256)(value)];\n }\n if (type === 'string')\n return [{ type: 'bytes32' }, (0, keccak256_js_1.keccak256)((0, toHex_js_1.toHex)(value))];\n if (type.lastIndexOf(']') === type.length - 1) {\n const parsedType = type.slice(0, type.lastIndexOf('['));\n const typeValuePairs = value.map((item) => encodeField({\n name,\n type: parsedType,\n types,\n value: item,\n }));\n return [\n { type: 'bytes32' },\n (0, keccak256_js_1.keccak256)((0, encodeAbiParameters_js_1.encodeAbiParameters)(typeValuePairs.map(([t]) => t), typeValuePairs.map(([, v]) => v))),\n ];\n }\n return [{ type }, value];\n}\n//# sourceMappingURL=hashTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvaGFzaFR5cGVkRGF0YS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckIsaUNBQWlDLG1CQUFPLENBQUMsb0dBQStCO0FBQ3hFLG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQyxtQkFBbUIsbUJBQU8sQ0FBQyxrRkFBc0I7QUFDakQsdUJBQXVCLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ3JELHVCQUF1QixtQkFBTyxDQUFDLHdFQUFpQjtBQUNoRCx5QkFBeUIsdURBQXVEO0FBQ2hGLHVEQUF1RDtBQUN2RDtBQUNBO0FBQ0Esa0RBQWtELDhCQUE4QjtBQUNoRixpQ0FBaUMsaUNBQWlDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsOEJBQThCLCtCQUErQjtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsc0JBQXNCLGdCQUFnQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHNCQUFzQiwyQkFBMkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHNCQUFzQiwyQkFBMkI7QUFDakQsNEJBQTRCLGlCQUFpQjtBQUM3QyxzQ0FBc0Msb0JBQW9CO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHFCQUFxQjtBQUN6QywrREFBK0Qsb0JBQW9CO0FBQ25GO0FBQ0E7QUFDQSxzQkFBc0IscUJBQXFCO0FBQzNDO0FBQ0EsZ0RBQWdELG9CQUFvQjtBQUNwRTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsS0FBSyxHQUFHO0FBQzdCLG9CQUFvQixlQUFlLFFBQVEsR0FBRyxFQUFFLEtBQUs7QUFDckQsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxtQ0FBbUM7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsZ0NBQWdDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwyQkFBMkI7QUFDbEQ7QUFDQTtBQUNBLGNBQWMsaUJBQWlCO0FBQy9CLHVEQUF1RCx1Q0FBdUM7QUFDOUY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIseUJBQXlCO0FBQzlDLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxjQUFjLGlCQUFpQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxjQUFjLE1BQU07QUFDcEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvaGFzaFR5cGVkRGF0YS5qcz8wYjU4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5oYXNoVHlwZWREYXRhID0gdm9pZCAwO1xuY29uc3QgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xID0gcmVxdWlyZShcIi4uL2FiaS9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzXCIpO1xuY29uc3QgY29uY2F0X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9jb25jYXQuanNcIik7XG5jb25zdCB0b0hleF9qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL3RvSGV4LmpzXCIpO1xuY29uc3Qga2VjY2FrMjU2X2pzXzEgPSByZXF1aXJlKFwiLi4vaGFzaC9rZWNjYWsyNTYuanNcIik7XG5jb25zdCB0eXBlZERhdGFfanNfMSA9IHJlcXVpcmUoXCIuLi90eXBlZERhdGEuanNcIik7XG5mdW5jdGlvbiBoYXNoVHlwZWREYXRhKHsgZG9tYWluOiBkb21haW5fLCBtZXNzYWdlLCBwcmltYXJ5VHlwZSwgdHlwZXM6IHR5cGVzXywgfSkge1xuICAgIGNvbnN0IGRvbWFpbiA9IHR5cGVvZiBkb21haW5fID09PSAndW5kZWZpbmVkJyA/IHt9IDogZG9tYWluXztcbiAgICBjb25zdCB0eXBlcyA9IHtcbiAgICAgICAgRUlQNzEyRG9tYWluOiBbXG4gICAgICAgICAgICB0eXBlb2YgZG9tYWluPy5uYW1lID09PSAnc3RyaW5nJyAmJiB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgIGRvbWFpbj8udmVyc2lvbiAmJiB7IG5hbWU6ICd2ZXJzaW9uJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgIHR5cGVvZiBkb21haW4/LmNoYWluSWQgPT09ICdudW1iZXInICYmIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnY2hhaW5JZCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3VpbnQyNTYnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRvbWFpbj8udmVyaWZ5aW5nQ29udHJhY3QgJiYge1xuICAgICAgICAgICAgICAgIG5hbWU6ICd2ZXJpZnlpbmdDb250cmFjdCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRvbWFpbj8uc2FsdCAmJiB7IG5hbWU6ICdzYWx0JywgdHlwZTogJ2J5dGVzMzInIH0sXG4gICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAuLi50eXBlc18sXG4gICAgfTtcbiAgICAoMCwgdHlwZWREYXRhX2pzXzEudmFsaWRhdGVUeXBlZERhdGEpKHtcbiAgICAgICAgZG9tYWluLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBwcmltYXJ5VHlwZSxcbiAgICAgICAgdHlwZXMsXG4gICAgfSk7XG4gICAgY29uc3QgcGFydHMgPSBbJzB4MTkwMSddO1xuICAgIGlmIChkb21haW4pXG4gICAgICAgIHBhcnRzLnB1c2goaGFzaERvbWFpbih7XG4gICAgICAgICAgICBkb21haW4sXG4gICAgICAgICAgICB0eXBlczogdHlwZXMsXG4gICAgICAgIH0pKTtcbiAgICBpZiAocHJpbWFyeVR5cGUgIT09ICdFSVA3MTJEb21haW4nKSB7XG4gICAgICAgIHBhcnRzLnB1c2goaGFzaFN0cnVjdCh7XG4gICAgICAgICAgICBkYXRhOiBtZXNzYWdlLFxuICAgICAgICAgICAgcHJpbWFyeVR5cGU6IHByaW1hcnlUeXBlLFxuICAgICAgICAgICAgdHlwZXM6IHR5cGVzLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgY29uY2F0X2pzXzEuY29uY2F0KShwYXJ0cykpO1xufVxuZXhwb3J0cy5oYXNoVHlwZWREYXRhID0gaGFzaFR5cGVkRGF0YTtcbmZ1bmN0aW9uIGhhc2hEb21haW4oeyBkb21haW4sIHR5cGVzLCB9KSB7XG4gICAgcmV0dXJuIGhhc2hTdHJ1Y3Qoe1xuICAgICAgICBkYXRhOiBkb21haW4sXG4gICAgICAgIHByaW1hcnlUeXBlOiAnRUlQNzEyRG9tYWluJyxcbiAgICAgICAgdHlwZXMsXG4gICAgfSk7XG59XG5mdW5jdGlvbiBoYXNoU3RydWN0KHsgZGF0YSwgcHJpbWFyeVR5cGUsIHR5cGVzLCB9KSB7XG4gICAgY29uc3QgZW5jb2RlZCA9IGVuY29kZURhdGEoe1xuICAgICAgICBkYXRhLFxuICAgICAgICBwcmltYXJ5VHlwZSxcbiAgICAgICAgdHlwZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuICgwLCBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTYpKGVuY29kZWQpO1xufVxuZnVuY3Rpb24gZW5jb2RlRGF0YSh7IGRhdGEsIHByaW1hcnlUeXBlLCB0eXBlcywgfSkge1xuICAgIGNvbnN0IGVuY29kZWRUeXBlcyA9IFt7IHR5cGU6ICdieXRlczMyJyB9XTtcbiAgICBjb25zdCBlbmNvZGVkVmFsdWVzID0gW2hhc2hUeXBlKHsgcHJpbWFyeVR5cGUsIHR5cGVzIH0pXTtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHR5cGVzW3ByaW1hcnlUeXBlXSkge1xuICAgICAgICBjb25zdCBbdHlwZSwgdmFsdWVdID0gZW5jb2RlRmllbGQoe1xuICAgICAgICAgICAgdHlwZXMsXG4gICAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgICAgIHZhbHVlOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICB9KTtcbiAgICAgICAgZW5jb2RlZFR5cGVzLnB1c2godHlwZSk7XG4gICAgICAgIGVuY29kZWRWYWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xLmVuY29kZUFiaVBhcmFtZXRlcnMpKGVuY29kZWRUeXBlcywgZW5jb2RlZFZhbHVlcyk7XG59XG5mdW5jdGlvbiBoYXNoVHlwZSh7IHByaW1hcnlUeXBlLCB0eXBlcywgfSkge1xuICAgIGNvbnN0IGVuY29kZWRIYXNoVHlwZSA9ICgwLCB0b0hleF9qc18xLnRvSGV4KShlbmNvZGVUeXBlKHsgcHJpbWFyeVR5cGUsIHR5cGVzIH0pKTtcbiAgICByZXR1cm4gKDAsIGtlY2NhazI1Nl9qc18xLmtlY2NhazI1NikoZW5jb2RlZEhhc2hUeXBlKTtcbn1cbmZ1bmN0aW9uIGVuY29kZVR5cGUoeyBwcmltYXJ5VHlwZSwgdHlwZXMsIH0pIHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgY29uc3QgdW5zb3J0ZWREZXBzID0gZmluZFR5cGVEZXBlbmRlbmNpZXMoeyBwcmltYXJ5VHlwZSwgdHlwZXMgfSk7XG4gICAgdW5zb3J0ZWREZXBzLmRlbGV0ZShwcmltYXJ5VHlwZSk7XG4gICAgY29uc3QgZGVwcyA9IFtwcmltYXJ5VHlwZSwgLi4uQXJyYXkuZnJvbSh1bnNvcnRlZERlcHMpLnNvcnQoKV07XG4gICAgZm9yIChjb25zdCB0eXBlIG9mIGRlcHMpIHtcbiAgICAgICAgcmVzdWx0ICs9IGAke3R5cGV9KCR7dHlwZXNbdHlwZV1cbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZTogdCB9KSA9PiBgJHt0fSAke25hbWV9YClcbiAgICAgICAgICAgIC5qb2luKCcsJyl9KWA7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBmaW5kVHlwZURlcGVuZGVuY2llcyh7IHByaW1hcnlUeXBlOiBwcmltYXJ5VHlwZV8sIHR5cGVzLCB9LCByZXN1bHRzID0gbmV3IFNldCgpKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBwcmltYXJ5VHlwZV8ubWF0Y2goL15cXHcqL3UpO1xuICAgIGNvbnN0IHByaW1hcnlUeXBlID0gbWF0Y2g/LlswXTtcbiAgICBpZiAocmVzdWx0cy5oYXMocHJpbWFyeVR5cGUpIHx8IHR5cGVzW3ByaW1hcnlUeXBlXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cbiAgICByZXN1bHRzLmFkZChwcmltYXJ5VHlwZSk7XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiB0eXBlc1twcmltYXJ5VHlwZV0pIHtcbiAgICAgICAgZmluZFR5cGVEZXBlbmRlbmNpZXMoeyBwcmltYXJ5VHlwZTogZmllbGQudHlwZSwgdHlwZXMgfSwgcmVzdWx0cyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xufVxuZnVuY3Rpb24gZW5jb2RlRmllbGQoeyB0eXBlcywgbmFtZSwgdHlwZSwgdmFsdWUsIH0pIHtcbiAgICBpZiAodHlwZXNbdHlwZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyB0eXBlOiAnYnl0ZXMzMicgfSxcbiAgICAgICAgICAgICgwLCBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTYpKGVuY29kZURhdGEoeyBkYXRhOiB2YWx1ZSwgcHJpbWFyeVR5cGU6IHR5cGUsIHR5cGVzIH0pKSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdieXRlcycpIHtcbiAgICAgICAgY29uc3QgcHJlcGVuZCA9IHZhbHVlLmxlbmd0aCAlIDIgPyAnMCcgOiAnJztcbiAgICAgICAgdmFsdWUgPSBgMHgke3ByZXBlbmQgKyB2YWx1ZS5zbGljZSgyKX1gO1xuICAgICAgICByZXR1cm4gW3sgdHlwZTogJ2J5dGVzMzInIH0sICgwLCBrZWNjYWsyNTZfanNfMS5rZWNjYWsyNTYpKHZhbHVlKV07XG4gICAgfVxuICAgIGlmICh0eXBlID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIFt7IHR5cGU6ICdieXRlczMyJyB9LCAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgdG9IZXhfanNfMS50b0hleCkodmFsdWUpKV07XG4gICAgaWYgKHR5cGUubGFzdEluZGV4T2YoJ10nKSA9PT0gdHlwZS5sZW5ndGggLSAxKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0eXBlLnNsaWNlKDAsIHR5cGUubGFzdEluZGV4T2YoJ1snKSk7XG4gICAgICAgIGNvbnN0IHR5cGVWYWx1ZVBhaXJzID0gdmFsdWUubWFwKChpdGVtKSA9PiBlbmNvZGVGaWVsZCh7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdHlwZTogcGFyc2VkVHlwZSxcbiAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgdHlwZTogJ2J5dGVzMzInIH0sXG4gICAgICAgICAgICAoMCwga2VjY2FrMjU2X2pzXzEua2VjY2FrMjU2KSgoMCwgZW5jb2RlQWJpUGFyYW1ldGVyc19qc18xLmVuY29kZUFiaVBhcmFtZXRlcnMpKHR5cGVWYWx1ZVBhaXJzLm1hcCgoW3RdKSA9PiB0KSwgdHlwZVZhbHVlUGFpcnMubWFwKChbLCB2XSkgPT4gdikpKSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIFt7IHR5cGUgfSwgdmFsdWVdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzaFR5cGVkRGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/hashTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.recoverAddress = void 0;\nconst publicKeyToAddress_js_1 = __webpack_require__(/*! ../../accounts/utils/publicKeyToAddress.js */ \"./node_modules/viem/dist/cjs/accounts/utils/publicKeyToAddress.js\");\nconst recoverPublicKey_js_1 = __webpack_require__(/*! ./recoverPublicKey.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js\");\nasync function recoverAddress({ hash, signature, }) {\n return (0, publicKeyToAddress_js_1.publicKeyToAddress)(await (0, recoverPublicKey_js_1.recoverPublicKey)({ hash: hash, signature }));\n}\nexports.recoverAddress = recoverAddress;\n//# sourceMappingURL=recoverAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvcmVjb3ZlckFkZHJlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsc0JBQXNCO0FBQ3RCLGdDQUFnQyxtQkFBTyxDQUFDLHFIQUE0QztBQUNwRiw4QkFBOEIsbUJBQU8sQ0FBQywrRkFBdUI7QUFDN0QsZ0NBQWdDLGtCQUFrQjtBQUNsRCwrR0FBK0csdUJBQXVCO0FBQ3RJO0FBQ0Esc0JBQXNCO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3NpZ25hdHVyZS9yZWNvdmVyQWRkcmVzcy5qcz84NzRkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZWNvdmVyQWRkcmVzcyA9IHZvaWQgMDtcbmNvbnN0IHB1YmxpY0tleVRvQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjY291bnRzL3V0aWxzL3B1YmxpY0tleVRvQWRkcmVzcy5qc1wiKTtcbmNvbnN0IHJlY292ZXJQdWJsaWNLZXlfanNfMSA9IHJlcXVpcmUoXCIuL3JlY292ZXJQdWJsaWNLZXkuanNcIik7XG5hc3luYyBmdW5jdGlvbiByZWNvdmVyQWRkcmVzcyh7IGhhc2gsIHNpZ25hdHVyZSwgfSkge1xuICAgIHJldHVybiAoMCwgcHVibGljS2V5VG9BZGRyZXNzX2pzXzEucHVibGljS2V5VG9BZGRyZXNzKShhd2FpdCAoMCwgcmVjb3ZlclB1YmxpY0tleV9qc18xLnJlY292ZXJQdWJsaWNLZXkpKHsgaGFzaDogaGFzaCwgc2lnbmF0dXJlIH0pKTtcbn1cbmV4cG9ydHMucmVjb3ZlckFkZHJlc3MgPSByZWNvdmVyQWRkcmVzcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlY292ZXJBZGRyZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/recoverMessageAddress.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/recoverMessageAddress.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.recoverMessageAddress = void 0;\nconst hashMessage_js_1 = __webpack_require__(/*! ./hashMessage.js */ \"./node_modules/viem/dist/cjs/utils/signature/hashMessage.js\");\nconst recoverAddress_js_1 = __webpack_require__(/*! ./recoverAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js\");\nasync function recoverMessageAddress({ message, signature, }) {\n return (0, recoverAddress_js_1.recoverAddress)({ hash: (0, hashMessage_js_1.hashMessage)(message), signature });\n}\nexports.recoverMessageAddress = recoverMessageAddress;\n//# sourceMappingURL=recoverMessageAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvcmVjb3Zlck1lc3NhZ2VBZGRyZXNzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDZCQUE2QjtBQUM3Qix5QkFBeUIsbUJBQU8sQ0FBQyxxRkFBa0I7QUFDbkQsNEJBQTRCLG1CQUFPLENBQUMsMkZBQXFCO0FBQ3pELHVDQUF1QyxxQkFBcUI7QUFDNUQscURBQXFELDZEQUE2RDtBQUNsSDtBQUNBLDZCQUE2QjtBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvcmVjb3Zlck1lc3NhZ2VBZGRyZXNzLmpzP2QyYTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnJlY292ZXJNZXNzYWdlQWRkcmVzcyA9IHZvaWQgMDtcbmNvbnN0IGhhc2hNZXNzYWdlX2pzXzEgPSByZXF1aXJlKFwiLi9oYXNoTWVzc2FnZS5qc1wiKTtcbmNvbnN0IHJlY292ZXJBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi9yZWNvdmVyQWRkcmVzcy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHJlY292ZXJNZXNzYWdlQWRkcmVzcyh7IG1lc3NhZ2UsIHNpZ25hdHVyZSwgfSkge1xuICAgIHJldHVybiAoMCwgcmVjb3ZlckFkZHJlc3NfanNfMS5yZWNvdmVyQWRkcmVzcykoeyBoYXNoOiAoMCwgaGFzaE1lc3NhZ2VfanNfMS5oYXNoTWVzc2FnZSkobWVzc2FnZSksIHNpZ25hdHVyZSB9KTtcbn1cbmV4cG9ydHMucmVjb3Zlck1lc3NhZ2VBZGRyZXNzID0gcmVjb3Zlck1lc3NhZ2VBZGRyZXNzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjb3Zlck1lc3NhZ2VBZGRyZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/recoverMessageAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.recoverPublicKey = void 0;\nconst isHex_js_1 = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nasync function recoverPublicKey({ hash, signature, }) {\n const signatureHex = (0, isHex_js_1.isHex)(signature) ? signature : (0, toHex_js_1.toHex)(signature);\n const hashHex = (0, isHex_js_1.isHex)(hash) ? hash : (0, toHex_js_1.toHex)(hash);\n let v = (0, fromHex_js_1.hexToNumber)(`0x${signatureHex.slice(130)}`);\n if (v === 0 || v === 1)\n v += 27;\n const { secp256k1 } = await __webpack_require__.e(/*! import() */ \"node_modules_noble_curves_esm_secp256k1_js\").then(__webpack_require__.bind(__webpack_require__, /*! @noble/curves/secp256k1 */ \"./node_modules/@noble/curves/esm/secp256k1.js\"));\n const publicKey = secp256k1.Signature.fromCompact(signatureHex.substring(2, 130))\n .addRecoveryBit(v - 27)\n .recoverPublicKey(hashHex.substring(2))\n .toHex(false);\n return `0x${publicKey}`;\n}\nexports.recoverPublicKey = recoverPublicKey;\n//# sourceMappingURL=recoverPublicKey.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvcmVjb3ZlclB1YmxpY0tleS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCx3QkFBd0I7QUFDeEIsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLHNGQUF3QjtBQUNyRCxtQkFBbUIsbUJBQU8sQ0FBQyxrRkFBc0I7QUFDakQsa0NBQWtDLGtCQUFrQjtBQUNwRDtBQUNBO0FBQ0EsK0NBQStDLHdCQUF3QjtBQUN2RTtBQUNBO0FBQ0EsWUFBWSxZQUFZLFFBQVEsdU5BQWlDO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFVBQVU7QUFDMUI7QUFDQSx3QkFBd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvc2lnbmF0dXJlL3JlY292ZXJQdWJsaWNLZXkuanM/YmY1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucmVjb3ZlclB1YmxpY0tleSA9IHZvaWQgMDtcbmNvbnN0IGlzSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9pc0hleC5qc1wiKTtcbmNvbnN0IGZyb21IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy9mcm9tSGV4LmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0hleC5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHJlY292ZXJQdWJsaWNLZXkoeyBoYXNoLCBzaWduYXR1cmUsIH0pIHtcbiAgICBjb25zdCBzaWduYXR1cmVIZXggPSAoMCwgaXNIZXhfanNfMS5pc0hleCkoc2lnbmF0dXJlKSA/IHNpZ25hdHVyZSA6ICgwLCB0b0hleF9qc18xLnRvSGV4KShzaWduYXR1cmUpO1xuICAgIGNvbnN0IGhhc2hIZXggPSAoMCwgaXNIZXhfanNfMS5pc0hleCkoaGFzaCkgPyBoYXNoIDogKDAsIHRvSGV4X2pzXzEudG9IZXgpKGhhc2gpO1xuICAgIGxldCB2ID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikoYDB4JHtzaWduYXR1cmVIZXguc2xpY2UoMTMwKX1gKTtcbiAgICBpZiAodiA9PT0gMCB8fCB2ID09PSAxKVxuICAgICAgICB2ICs9IDI3O1xuICAgIGNvbnN0IHsgc2VjcDI1NmsxIH0gPSBhd2FpdCBpbXBvcnQoJ0Bub2JsZS9jdXJ2ZXMvc2VjcDI1NmsxJyk7XG4gICAgY29uc3QgcHVibGljS2V5ID0gc2VjcDI1NmsxLlNpZ25hdHVyZS5mcm9tQ29tcGFjdChzaWduYXR1cmVIZXguc3Vic3RyaW5nKDIsIDEzMCkpXG4gICAgICAgIC5hZGRSZWNvdmVyeUJpdCh2IC0gMjcpXG4gICAgICAgIC5yZWNvdmVyUHVibGljS2V5KGhhc2hIZXguc3Vic3RyaW5nKDIpKVxuICAgICAgICAudG9IZXgoZmFsc2UpO1xuICAgIHJldHVybiBgMHgke3B1YmxpY0tleX1gO1xufVxuZXhwb3J0cy5yZWNvdmVyUHVibGljS2V5ID0gcmVjb3ZlclB1YmxpY0tleTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlY292ZXJQdWJsaWNLZXkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/recoverPublicKey.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/recoverTypedDataAddress.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/recoverTypedDataAddress.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.recoverTypedDataAddress = void 0;\nconst hashTypedData_js_1 = __webpack_require__(/*! ./hashTypedData.js */ \"./node_modules/viem/dist/cjs/utils/signature/hashTypedData.js\");\nconst recoverAddress_js_1 = __webpack_require__(/*! ./recoverAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverAddress.js\");\nasync function recoverTypedDataAddress({ domain, message, primaryType, signature, types, }) {\n return (0, recoverAddress_js_1.recoverAddress)({\n hash: (0, hashTypedData_js_1.hashTypedData)({\n domain,\n message,\n primaryType,\n types,\n }),\n signature,\n });\n}\nexports.recoverTypedDataAddress = recoverTypedDataAddress;\n//# sourceMappingURL=recoverTypedDataAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsK0JBQStCO0FBQy9CLDJCQUEyQixtQkFBTyxDQUFDLHlGQUFvQjtBQUN2RCw0QkFBNEIsbUJBQU8sQ0FBQywyRkFBcUI7QUFDekQseUNBQXlDLGlEQUFpRDtBQUMxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQSwrQkFBK0I7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvc2lnbmF0dXJlL3JlY292ZXJUeXBlZERhdGFBZGRyZXNzLmpzP2I0NjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnJlY292ZXJUeXBlZERhdGFBZGRyZXNzID0gdm9pZCAwO1xuY29uc3QgaGFzaFR5cGVkRGF0YV9qc18xID0gcmVxdWlyZShcIi4vaGFzaFR5cGVkRGF0YS5qc1wiKTtcbmNvbnN0IHJlY292ZXJBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi9yZWNvdmVyQWRkcmVzcy5qc1wiKTtcbmFzeW5jIGZ1bmN0aW9uIHJlY292ZXJUeXBlZERhdGFBZGRyZXNzKHsgZG9tYWluLCBtZXNzYWdlLCBwcmltYXJ5VHlwZSwgc2lnbmF0dXJlLCB0eXBlcywgfSkge1xuICAgIHJldHVybiAoMCwgcmVjb3ZlckFkZHJlc3NfanNfMS5yZWNvdmVyQWRkcmVzcykoe1xuICAgICAgICBoYXNoOiAoMCwgaGFzaFR5cGVkRGF0YV9qc18xLmhhc2hUeXBlZERhdGEpKHtcbiAgICAgICAgICAgIGRvbWFpbixcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBwcmltYXJ5VHlwZSxcbiAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICB9KSxcbiAgICAgICAgc2lnbmF0dXJlLFxuICAgIH0pO1xufVxuZXhwb3J0cy5yZWNvdmVyVHlwZWREYXRhQWRkcmVzcyA9IHJlY292ZXJUeXBlZERhdGFBZGRyZXNzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/recoverTypedDataAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/verifyMessage.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/verifyMessage.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.verifyMessage = void 0;\nconst getAddress_js_1 = __webpack_require__(/*! ../address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nconst isAddressEqual_js_1 = __webpack_require__(/*! ../address/isAddressEqual.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js\");\nconst recoverMessageAddress_js_1 = __webpack_require__(/*! ./recoverMessageAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverMessageAddress.js\");\nasync function verifyMessage({ address, message, signature, }) {\n return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverMessageAddress_js_1.recoverMessageAddress)({ message, signature }));\n}\nexports.verifyMessage = verifyMessage;\n//# sourceMappingURL=verifyMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvdmVyaWZ5TWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxxQkFBcUI7QUFDckIsd0JBQXdCLG1CQUFPLENBQUMsMEZBQTBCO0FBQzFELDRCQUE0QixtQkFBTyxDQUFDLGtHQUE4QjtBQUNsRSxtQ0FBbUMsbUJBQU8sQ0FBQyx5R0FBNEI7QUFDdkUsK0JBQStCLDhCQUE4QjtBQUM3RCwySkFBMkosb0JBQW9CO0FBQy9LO0FBQ0EscUJBQXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3NpZ25hdHVyZS92ZXJpZnlNZXNzYWdlLmpzPzlhMjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnZlcmlmeU1lc3NhZ2UgPSB2b2lkIDA7XG5jb25zdCBnZXRBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi4vYWRkcmVzcy9nZXRBZGRyZXNzLmpzXCIpO1xuY29uc3QgaXNBZGRyZXNzRXF1YWxfanNfMSA9IHJlcXVpcmUoXCIuLi9hZGRyZXNzL2lzQWRkcmVzc0VxdWFsLmpzXCIpO1xuY29uc3QgcmVjb3Zlck1lc3NhZ2VBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi9yZWNvdmVyTWVzc2FnZUFkZHJlc3MuanNcIik7XG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlNZXNzYWdlKHsgYWRkcmVzcywgbWVzc2FnZSwgc2lnbmF0dXJlLCB9KSB7XG4gICAgcmV0dXJuICgwLCBpc0FkZHJlc3NFcXVhbF9qc18xLmlzQWRkcmVzc0VxdWFsKSgoMCwgZ2V0QWRkcmVzc19qc18xLmdldEFkZHJlc3MpKGFkZHJlc3MpLCBhd2FpdCAoMCwgcmVjb3Zlck1lc3NhZ2VBZGRyZXNzX2pzXzEucmVjb3Zlck1lc3NhZ2VBZGRyZXNzKSh7IG1lc3NhZ2UsIHNpZ25hdHVyZSB9KSk7XG59XG5leHBvcnRzLnZlcmlmeU1lc3NhZ2UgPSB2ZXJpZnlNZXNzYWdlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyaWZ5TWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/verifyMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/signature/verifyTypedData.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/signature/verifyTypedData.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.verifyTypedData = void 0;\nconst getAddress_js_1 = __webpack_require__(/*! ../address/getAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/getAddress.js\");\nconst isAddressEqual_js_1 = __webpack_require__(/*! ../address/isAddressEqual.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddressEqual.js\");\nconst recoverTypedDataAddress_js_1 = __webpack_require__(/*! ./recoverTypedDataAddress.js */ \"./node_modules/viem/dist/cjs/utils/signature/recoverTypedDataAddress.js\");\nasync function verifyTypedData({ address, domain, message, primaryType, signature, types, }) {\n return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverTypedDataAddress_js_1.recoverTypedDataAddress)({\n domain,\n message,\n primaryType,\n signature,\n types,\n }));\n}\nexports.verifyTypedData = verifyTypedData;\n//# sourceMappingURL=verifyTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvdmVyaWZ5VHlwZWREYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHVCQUF1QjtBQUN2Qix3QkFBd0IsbUJBQU8sQ0FBQywwRkFBMEI7QUFDMUQsNEJBQTRCLG1CQUFPLENBQUMsa0dBQThCO0FBQ2xFLHFDQUFxQyxtQkFBTyxDQUFDLDZHQUE4QjtBQUMzRSxpQ0FBaUMsMERBQTBEO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHVCQUF1QjtBQUN2QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zaWduYXR1cmUvdmVyaWZ5VHlwZWREYXRhLmpzPzU5ZTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnZlcmlmeVR5cGVkRGF0YSA9IHZvaWQgMDtcbmNvbnN0IGdldEFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi9hZGRyZXNzL2dldEFkZHJlc3MuanNcIik7XG5jb25zdCBpc0FkZHJlc3NFcXVhbF9qc18xID0gcmVxdWlyZShcIi4uL2FkZHJlc3MvaXNBZGRyZXNzRXF1YWwuanNcIik7XG5jb25zdCByZWNvdmVyVHlwZWREYXRhQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4vcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MuanNcIik7XG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlUeXBlZERhdGEoeyBhZGRyZXNzLCBkb21haW4sIG1lc3NhZ2UsIHByaW1hcnlUeXBlLCBzaWduYXR1cmUsIHR5cGVzLCB9KSB7XG4gICAgcmV0dXJuICgwLCBpc0FkZHJlc3NFcXVhbF9qc18xLmlzQWRkcmVzc0VxdWFsKSgoMCwgZ2V0QWRkcmVzc19qc18xLmdldEFkZHJlc3MpKGFkZHJlc3MpLCBhd2FpdCAoMCwgcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3NfanNfMS5yZWNvdmVyVHlwZWREYXRhQWRkcmVzcykoe1xuICAgICAgICBkb21haW4sXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHByaW1hcnlUeXBlLFxuICAgICAgICBzaWduYXR1cmUsXG4gICAgICAgIHR5cGVzLFxuICAgIH0pKTtcbn1cbmV4cG9ydHMudmVyaWZ5VHlwZWREYXRhID0gdmVyaWZ5VHlwZWREYXRhO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyaWZ5VHlwZWREYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/signature/verifyTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/stringify.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/stringify.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.stringify = void 0;\nconst stringify = (value, replacer, space) => JSON.stringify(value, (key, value_) => {\n const value = typeof value_ === 'bigint' ? value_.toString() : value_;\n return typeof replacer === 'function' ? replacer(key, value) : value;\n}, space);\nexports.stringify = stringify;\n//# sourceMappingURL=stringify.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy9zdHJpbmdpZnkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvc3RyaW5naWZ5LmpzP2I1MGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnN0cmluZ2lmeSA9IHZvaWQgMDtcbmNvbnN0IHN0cmluZ2lmeSA9ICh2YWx1ZSwgcmVwbGFjZXIsIHNwYWNlKSA9PiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgKGtleSwgdmFsdWVfKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB0eXBlb2YgdmFsdWVfID09PSAnYmlnaW50JyA/IHZhbHVlXy50b1N0cmluZygpIDogdmFsdWVfO1xuICAgIHJldHVybiB0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicgPyByZXBsYWNlcihrZXksIHZhbHVlKSA6IHZhbHVlO1xufSwgc3BhY2UpO1xuZXhwb3J0cy5zdHJpbmdpZnkgPSBzdHJpbmdpZnk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHJpbmdpZnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/stringify.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assertRequest = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst node_js_1 = __webpack_require__(/*! ../../errors/node.js */ \"./node_modules/viem/dist/cjs/errors/node.js\");\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nfunction assertRequest(args) {\n const { account: account_, gasPrice, maxFeePerGas, maxPriorityFeePerGas, to, } = args;\n const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;\n if (account && !(0, isAddress_js_1.isAddress)(account.address))\n throw new address_js_1.InvalidAddressError({ address: account.address });\n if (to && !(0, isAddress_js_1.isAddress)(to))\n throw new address_js_1.InvalidAddressError({ address: to });\n if (typeof gasPrice !== 'undefined' &&\n (typeof maxFeePerGas !== 'undefined' ||\n typeof maxPriorityFeePerGas !== 'undefined'))\n throw new transaction_js_1.FeeConflictError();\n if (maxFeePerGas && maxFeePerGas > 2n ** 256n - 1n)\n throw new node_js_1.FeeCapTooHighError({ maxFeePerGas });\n if (maxPriorityFeePerGas &&\n maxFeePerGas &&\n maxPriorityFeePerGas > maxFeePerGas)\n throw new node_js_1.TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\nexports.assertRequest = assertRequest;\n//# sourceMappingURL=assertRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRSZXF1ZXN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHFCQUFxQjtBQUNyQiwwQkFBMEIsbUJBQU8sQ0FBQyx5R0FBc0M7QUFDeEUscUJBQXFCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3RELGtCQUFrQixtQkFBTyxDQUFDLHlFQUFzQjtBQUNoRCx5QkFBeUIsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDOUQsdUJBQXVCLG1CQUFPLENBQUMsd0ZBQXlCO0FBQ3hEO0FBQ0EsWUFBWSx1RUFBdUU7QUFDbkY7QUFDQTtBQUNBLHFEQUFxRCwwQkFBMEI7QUFDL0U7QUFDQSxxREFBcUQsYUFBYTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELG9DQUFvQztBQUN0RjtBQUNBLHFCQUFxQjtBQUNyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRSZXF1ZXN0LmpzPzEwMDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmFzc2VydFJlcXVlc3QgPSB2b2lkIDA7XG5jb25zdCBwYXJzZUFjY291bnRfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanNcIik7XG5jb25zdCBhZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FkZHJlc3MuanNcIik7XG5jb25zdCBub2RlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL25vZGUuanNcIik7XG5jb25zdCB0cmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qc1wiKTtcbmNvbnN0IGlzQWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uL2FkZHJlc3MvaXNBZGRyZXNzLmpzXCIpO1xuZnVuY3Rpb24gYXNzZXJ0UmVxdWVzdChhcmdzKSB7XG4gICAgY29uc3QgeyBhY2NvdW50OiBhY2NvdW50XywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIHRvLCB9ID0gYXJncztcbiAgICBjb25zdCBhY2NvdW50ID0gYWNjb3VudF8gPyAoMCwgcGFyc2VBY2NvdW50X2pzXzEucGFyc2VBY2NvdW50KShhY2NvdW50XykgOiB1bmRlZmluZWQ7XG4gICAgaWYgKGFjY291bnQgJiYgISgwLCBpc0FkZHJlc3NfanNfMS5pc0FkZHJlc3MpKGFjY291bnQuYWRkcmVzcykpXG4gICAgICAgIHRocm93IG5ldyBhZGRyZXNzX2pzXzEuSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3M6IGFjY291bnQuYWRkcmVzcyB9KTtcbiAgICBpZiAodG8gJiYgISgwLCBpc0FkZHJlc3NfanNfMS5pc0FkZHJlc3MpKHRvKSlcbiAgICAgICAgdGhyb3cgbmV3IGFkZHJlc3NfanNfMS5JbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogdG8gfSk7XG4gICAgaWYgKHR5cGVvZiBnYXNQcmljZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgKHR5cGVvZiBtYXhGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAgICAgICB0eXBlb2YgbWF4UHJpb3JpdHlGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnKSlcbiAgICAgICAgdGhyb3cgbmV3IHRyYW5zYWN0aW9uX2pzXzEuRmVlQ29uZmxpY3RFcnJvcigpO1xuICAgIGlmIChtYXhGZWVQZXJHYXMgJiYgbWF4RmVlUGVyR2FzID4gMm4gKiogMjU2biAtIDFuKVxuICAgICAgICB0aHJvdyBuZXcgbm9kZV9qc18xLkZlZUNhcFRvb0hpZ2hFcnJvcih7IG1heEZlZVBlckdhcyB9KTtcbiAgICBpZiAobWF4UHJpb3JpdHlGZWVQZXJHYXMgJiZcbiAgICAgICAgbWF4RmVlUGVyR2FzICYmXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzID4gbWF4RmVlUGVyR2FzKVxuICAgICAgICB0aHJvdyBuZXcgbm9kZV9qc18xLlRpcEFib3ZlRmVlQ2FwRXJyb3IoeyBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzIH0pO1xufVxuZXhwb3J0cy5hc3NlcnRSZXF1ZXN0ID0gYXNzZXJ0UmVxdWVzdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFzc2VydFJlcXVlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assertTransactionLegacy = exports.assertTransactionEIP2930 = exports.assertTransactionEIP1559 = void 0;\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst base_js_1 = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst chain_js_1 = __webpack_require__(/*! ../../errors/chain.js */ \"./node_modules/viem/dist/cjs/errors/chain.js\");\nconst node_js_1 = __webpack_require__(/*! ../../errors/node.js */ \"./node_modules/viem/dist/cjs/errors/node.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nfunction assertTransactionEIP1559(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n if (chainId <= 0)\n throw new chain_js_1.InvalidChainIdError({ chainId });\n if (to && !(0, isAddress_js_1.isAddress)(to))\n throw new address_js_1.InvalidAddressError({ address: to });\n if (gasPrice)\n throw new base_js_1.BaseError('`gasPrice` is not a valid EIP-1559 Transaction attribute.');\n if (maxFeePerGas && maxFeePerGas > 2n ** 256n - 1n)\n throw new node_js_1.FeeCapTooHighError({ maxFeePerGas });\n if (maxPriorityFeePerGas &&\n maxFeePerGas &&\n maxPriorityFeePerGas > maxFeePerGas)\n throw new node_js_1.TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\nexports.assertTransactionEIP1559 = assertTransactionEIP1559;\nfunction assertTransactionEIP2930(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n if (chainId <= 0)\n throw new chain_js_1.InvalidChainIdError({ chainId });\n if (to && !(0, isAddress_js_1.isAddress)(to))\n throw new address_js_1.InvalidAddressError({ address: to });\n if (maxPriorityFeePerGas || maxFeePerGas)\n throw new base_js_1.BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.');\n if (gasPrice && gasPrice > 2n ** 256n - 1n)\n throw new node_js_1.FeeCapTooHighError({ maxFeePerGas: gasPrice });\n}\nexports.assertTransactionEIP2930 = assertTransactionEIP2930;\nfunction assertTransactionLegacy(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to, accessList, } = transaction;\n if (to && !(0, isAddress_js_1.isAddress)(to))\n throw new address_js_1.InvalidAddressError({ address: to });\n if (typeof chainId !== 'undefined' && chainId <= 0)\n throw new chain_js_1.InvalidChainIdError({ chainId });\n if (maxPriorityFeePerGas || maxFeePerGas)\n throw new base_js_1.BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.');\n if (gasPrice && gasPrice > 2n ** 256n - 1n)\n throw new node_js_1.FeeCapTooHighError({ maxFeePerGas: gasPrice });\n if (accessList)\n throw new base_js_1.BaseError('`accessList` is not a valid Legacy Transaction attribute.');\n}\nexports.assertTransactionLegacy = assertTransactionLegacy;\n//# sourceMappingURL=assertTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRUcmFuc2FjdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCwrQkFBK0IsR0FBRyxnQ0FBZ0MsR0FBRyxnQ0FBZ0M7QUFDckcscUJBQXFCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ3RELGtCQUFrQixtQkFBTyxDQUFDLHlFQUFzQjtBQUNoRCxtQkFBbUIsbUJBQU8sQ0FBQywyRUFBdUI7QUFDbEQsa0JBQWtCLG1CQUFPLENBQUMseUVBQXNCO0FBQ2hELHVCQUF1QixtQkFBTyxDQUFDLHdGQUF5QjtBQUN4RDtBQUNBLFlBQVksNERBQTREO0FBQ3hFO0FBQ0EsbURBQW1ELFNBQVM7QUFDNUQ7QUFDQSxxREFBcUQsYUFBYTtBQUNsRTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7QUFDQSxrREFBa0Qsb0NBQW9DO0FBQ3RGO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0EsWUFBWSw0REFBNEQ7QUFDeEU7QUFDQSxtREFBbUQsU0FBUztBQUM1RDtBQUNBLHFEQUFxRCxhQUFhO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCx3QkFBd0I7QUFDekU7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQSxZQUFZLHlFQUF5RTtBQUNyRjtBQUNBLHFEQUFxRCxhQUFhO0FBQ2xFO0FBQ0EsbURBQW1ELFNBQVM7QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsaURBQWlELHdCQUF3QjtBQUN6RTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvdHJhbnNhY3Rpb24vYXNzZXJ0VHJhbnNhY3Rpb24uanM/Y2JjZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3kgPSBleHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uRUlQMjkzMCA9IGV4cG9ydHMuYXNzZXJ0VHJhbnNhY3Rpb25FSVAxNTU5ID0gdm9pZCAwO1xuY29uc3QgYWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hZGRyZXNzLmpzXCIpO1xuY29uc3QgYmFzZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9iYXNlLmpzXCIpO1xuY29uc3QgY2hhaW5fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvY2hhaW4uanNcIik7XG5jb25zdCBub2RlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL25vZGUuanNcIik7XG5jb25zdCBpc0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi9hZGRyZXNzL2lzQWRkcmVzcy5qc1wiKTtcbmZ1bmN0aW9uIGFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSh0cmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHsgY2hhaW5JZCwgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIHRvIH0gPSB0cmFuc2FjdGlvbjtcbiAgICBpZiAoY2hhaW5JZCA8PSAwKVxuICAgICAgICB0aHJvdyBuZXcgY2hhaW5fanNfMS5JbnZhbGlkQ2hhaW5JZEVycm9yKHsgY2hhaW5JZCB9KTtcbiAgICBpZiAodG8gJiYgISgwLCBpc0FkZHJlc3NfanNfMS5pc0FkZHJlc3MpKHRvKSlcbiAgICAgICAgdGhyb3cgbmV3IGFkZHJlc3NfanNfMS5JbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogdG8gfSk7XG4gICAgaWYgKGdhc1ByaWNlKVxuICAgICAgICB0aHJvdyBuZXcgYmFzZV9qc18xLkJhc2VFcnJvcignYGdhc1ByaWNlYCBpcyBub3QgYSB2YWxpZCBFSVAtMTU1OSBUcmFuc2FjdGlvbiBhdHRyaWJ1dGUuJyk7XG4gICAgaWYgKG1heEZlZVBlckdhcyAmJiBtYXhGZWVQZXJHYXMgPiAybiAqKiAyNTZuIC0gMW4pXG4gICAgICAgIHRocm93IG5ldyBub2RlX2pzXzEuRmVlQ2FwVG9vSGlnaEVycm9yKHsgbWF4RmVlUGVyR2FzIH0pO1xuICAgIGlmIChtYXhQcmlvcml0eUZlZVBlckdhcyAmJlxuICAgICAgICBtYXhGZWVQZXJHYXMgJiZcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMgPiBtYXhGZWVQZXJHYXMpXG4gICAgICAgIHRocm93IG5ldyBub2RlX2pzXzEuVGlwQWJvdmVGZWVDYXBFcnJvcih7IG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMgfSk7XG59XG5leHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSA9IGFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OTtcbmZ1bmN0aW9uIGFzc2VydFRyYW5zYWN0aW9uRUlQMjkzMCh0cmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHsgY2hhaW5JZCwgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIHRvIH0gPSB0cmFuc2FjdGlvbjtcbiAgICBpZiAoY2hhaW5JZCA8PSAwKVxuICAgICAgICB0aHJvdyBuZXcgY2hhaW5fanNfMS5JbnZhbGlkQ2hhaW5JZEVycm9yKHsgY2hhaW5JZCB9KTtcbiAgICBpZiAodG8gJiYgISgwLCBpc0FkZHJlc3NfanNfMS5pc0FkZHJlc3MpKHRvKSlcbiAgICAgICAgdGhyb3cgbmV3IGFkZHJlc3NfanNfMS5JbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogdG8gfSk7XG4gICAgaWYgKG1heFByaW9yaXR5RmVlUGVyR2FzIHx8IG1heEZlZVBlckdhcylcbiAgICAgICAgdGhyb3cgbmV3IGJhc2VfanNfMS5CYXNlRXJyb3IoJ2BtYXhGZWVQZXJHYXNgL2BtYXhQcmlvcml0eUZlZVBlckdhc2AgaXMgbm90IGEgdmFsaWQgRUlQLTI5MzAgVHJhbnNhY3Rpb24gYXR0cmlidXRlLicpO1xuICAgIGlmIChnYXNQcmljZSAmJiBnYXNQcmljZSA+IDJuICoqIDI1Nm4gLSAxbilcbiAgICAgICAgdGhyb3cgbmV3IG5vZGVfanNfMS5GZWVDYXBUb29IaWdoRXJyb3IoeyBtYXhGZWVQZXJHYXM6IGdhc1ByaWNlIH0pO1xufVxuZXhwb3J0cy5hc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzAgPSBhc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzA7XG5mdW5jdGlvbiBhc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSh0cmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHsgY2hhaW5JZCwgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIHRvLCBhY2Nlc3NMaXN0LCB9ID0gdHJhbnNhY3Rpb247XG4gICAgaWYgKHRvICYmICEoMCwgaXNBZGRyZXNzX2pzXzEuaXNBZGRyZXNzKSh0bykpXG4gICAgICAgIHRocm93IG5ldyBhZGRyZXNzX2pzXzEuSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3M6IHRvIH0pO1xuICAgIGlmICh0eXBlb2YgY2hhaW5JZCAhPT0gJ3VuZGVmaW5lZCcgJiYgY2hhaW5JZCA8PSAwKVxuICAgICAgICB0aHJvdyBuZXcgY2hhaW5fanNfMS5JbnZhbGlkQ2hhaW5JZEVycm9yKHsgY2hhaW5JZCB9KTtcbiAgICBpZiAobWF4UHJpb3JpdHlGZWVQZXJHYXMgfHwgbWF4RmVlUGVyR2FzKVxuICAgICAgICB0aHJvdyBuZXcgYmFzZV9qc18xLkJhc2VFcnJvcignYG1heEZlZVBlckdhc2AvYG1heFByaW9yaXR5RmVlUGVyR2FzYCBpcyBub3QgYSB2YWxpZCBMZWdhY3kgVHJhbnNhY3Rpb24gYXR0cmlidXRlLicpO1xuICAgIGlmIChnYXNQcmljZSAmJiBnYXNQcmljZSA+IDJuICoqIDI1Nm4gLSAxbilcbiAgICAgICAgdGhyb3cgbmV3IG5vZGVfanNfMS5GZWVDYXBUb29IaWdoRXJyb3IoeyBtYXhGZWVQZXJHYXM6IGdhc1ByaWNlIH0pO1xuICAgIGlmIChhY2Nlc3NMaXN0KVxuICAgICAgICB0aHJvdyBuZXcgYmFzZV9qc18xLkJhc2VFcnJvcignYGFjY2Vzc0xpc3RgIGlzIG5vdCBhIHZhbGlkIExlZ2FjeSBUcmFuc2FjdGlvbiBhdHRyaWJ1dGUuJyk7XG59XG5leHBvcnRzLmFzc2VydFRyYW5zYWN0aW9uTGVnYWN5ID0gYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3k7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hc3NlcnRUcmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/getSerializedTransactionType.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/getSerializedTransactionType.js ***! - \**************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getSerializedTransactionType = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst slice_js_1 = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/cjs/utils/data/slice.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nfunction getSerializedTransactionType(serializedTransaction) {\n const serializedType = (0, slice_js_1.sliceHex)(serializedTransaction, 0, 1);\n if (serializedType === '0x02')\n return 'eip1559';\n if (serializedType === '0x01')\n return 'eip2930';\n if (serializedType !== '0x' && (0, fromHex_js_1.hexToNumber)(serializedType) >= 0xc0)\n return 'legacy';\n throw new transaction_js_1.InvalidSerializedTransactionTypeError({ serializedType });\n}\nexports.getSerializedTransactionType = getSerializedTransactionType;\n//# sourceMappingURL=getSerializedTransactionType.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG9DQUFvQztBQUNwQyx5QkFBeUIsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDOUQsbUJBQW1CLG1CQUFPLENBQUMsMEVBQWtCO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLHNGQUF3QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUVBQXVFLGdCQUFnQjtBQUN2RjtBQUNBLG9DQUFvQztBQUNwQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlLmpzPzA3NzAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUgPSB2b2lkIDA7XG5jb25zdCB0cmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qc1wiKTtcbmNvbnN0IHNsaWNlX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9zbGljZS5qc1wiKTtcbmNvbnN0IGZyb21IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy9mcm9tSGV4LmpzXCIpO1xuZnVuY3Rpb24gZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZShzZXJpYWxpemVkVHJhbnNhY3Rpb24pIHtcbiAgICBjb25zdCBzZXJpYWxpemVkVHlwZSA9ICgwLCBzbGljZV9qc18xLnNsaWNlSGV4KShzZXJpYWxpemVkVHJhbnNhY3Rpb24sIDAsIDEpO1xuICAgIGlmIChzZXJpYWxpemVkVHlwZSA9PT0gJzB4MDInKVxuICAgICAgICByZXR1cm4gJ2VpcDE1NTknO1xuICAgIGlmIChzZXJpYWxpemVkVHlwZSA9PT0gJzB4MDEnKVxuICAgICAgICByZXR1cm4gJ2VpcDI5MzAnO1xuICAgIGlmIChzZXJpYWxpemVkVHlwZSAhPT0gJzB4JyAmJiAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKShzZXJpYWxpemVkVHlwZSkgPj0gMHhjMClcbiAgICAgICAgcmV0dXJuICdsZWdhY3knO1xuICAgIHRocm93IG5ldyB0cmFuc2FjdGlvbl9qc18xLkludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlRXJyb3IoeyBzZXJpYWxpemVkVHlwZSB9KTtcbn1cbmV4cG9ydHMuZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZSA9IGdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/getSerializedTransactionType.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/getTransactionType.js": -/*!****************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/getTransactionType.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTransactionType = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nfunction getTransactionType(transaction) {\n if (transaction.type)\n return transaction.type;\n if (typeof transaction.maxFeePerGas !== 'undefined' ||\n typeof transaction.maxPriorityFeePerGas !== 'undefined')\n return 'eip1559';\n if (typeof transaction.gasPrice !== 'undefined') {\n if (typeof transaction.accessList !== 'undefined')\n return 'eip2930';\n return 'legacy';\n }\n throw new transaction_js_1.InvalidSerializableTransactionError({ transaction });\n}\nexports.getTransactionType = getTransactionType;\n//# sourceMappingURL=getTransactionType.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9nZXRUcmFuc2FjdGlvblR5cGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsMEJBQTBCO0FBQzFCLHlCQUF5QixtQkFBTyxDQUFDLHVGQUE2QjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFLGFBQWE7QUFDbEY7QUFDQSwwQkFBMEI7QUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvdHJhbnNhY3Rpb24vZ2V0VHJhbnNhY3Rpb25UeXBlLmpzPzgxYTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uVHlwZSA9IHZvaWQgMDtcbmNvbnN0IHRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzXCIpO1xuZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uKSB7XG4gICAgaWYgKHRyYW5zYWN0aW9uLnR5cGUpXG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi50eXBlO1xuICAgIGlmICh0eXBlb2YgdHJhbnNhY3Rpb24ubWF4RmVlUGVyR2FzICE9PSAndW5kZWZpbmVkJyB8fFxuICAgICAgICB0eXBlb2YgdHJhbnNhY3Rpb24ubWF4UHJpb3JpdHlGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4gJ2VpcDE1NTknO1xuICAgIGlmICh0eXBlb2YgdHJhbnNhY3Rpb24uZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHJhbnNhY3Rpb24uYWNjZXNzTGlzdCAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICByZXR1cm4gJ2VpcDI5MzAnO1xuICAgICAgICByZXR1cm4gJ2xlZ2FjeSc7XG4gICAgfVxuICAgIHRocm93IG5ldyB0cmFuc2FjdGlvbl9qc18xLkludmFsaWRTZXJpYWxpemFibGVUcmFuc2FjdGlvbkVycm9yKHsgdHJhbnNhY3Rpb24gfSk7XG59XG5leHBvcnRzLmdldFRyYW5zYWN0aW9uVHlwZSA9IGdldFRyYW5zYWN0aW9uVHlwZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uVHlwZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/getTransactionType.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/parseTransaction.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/parseTransaction.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseTransaction = void 0;\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nconst isHex_js_1 = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/cjs/utils/data/isHex.js\");\nconst pad_js_1 = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/cjs/utils/data/pad.js\");\nconst trim_js_1 = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nconst fromHex_js_1 = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromHex.js\");\nconst fromRlp_js_1 = __webpack_require__(/*! ../encoding/fromRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/fromRlp.js\");\nconst isHash_js_1 = __webpack_require__(/*! ../hash/isHash.js */ \"./node_modules/viem/dist/cjs/utils/hash/isHash.js\");\nconst assertTransaction_js_1 = __webpack_require__(/*! ./assertTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js\");\nconst getSerializedTransactionType_js_1 = __webpack_require__(/*! ./getSerializedTransactionType.js */ \"./node_modules/viem/dist/cjs/utils/transaction/getSerializedTransactionType.js\");\nfunction parseTransaction(serializedTransaction) {\n const type = (0, getSerializedTransactionType_js_1.getSerializedTransactionType)(serializedTransaction);\n if (type === 'eip1559')\n return parseTransactionEIP1559(serializedTransaction);\n if (type === 'eip2930')\n return parseTransactionEIP2930(serializedTransaction);\n return parseTransactionLegacy(serializedTransaction);\n}\nexports.parseTransaction = parseTransaction;\nfunction parseTransactionEIP1559(serializedTransaction) {\n const transactionArray = (0, fromRlp_js_1.fromRlp)(`0x${serializedTransaction.slice(4)}`, 'hex');\n const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, v, r, s,] = transactionArray;\n if (!(transactionArray.length === 9 || transactionArray.length === 12))\n throw new transaction_js_1.InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n maxPriorityFeePerGas,\n maxFeePerGas,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 9\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip1559',\n });\n const transaction = {\n chainId: (0, fromHex_js_1.hexToNumber)(chainId),\n type: 'eip1559',\n };\n if ((0, isHex_js_1.isHex)(to) && to !== '0x')\n transaction.to = to;\n if ((0, isHex_js_1.isHex)(gas) && gas !== '0x')\n transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas);\n if ((0, isHex_js_1.isHex)(data) && data !== '0x')\n transaction.data = data;\n if ((0, isHex_js_1.isHex)(nonce) && nonce !== '0x')\n transaction.nonce = (0, fromHex_js_1.hexToNumber)(nonce);\n if ((0, isHex_js_1.isHex)(value) && value !== '0x')\n transaction.value = (0, fromHex_js_1.hexToBigInt)(value);\n if ((0, isHex_js_1.isHex)(maxFeePerGas) && maxFeePerGas !== '0x')\n transaction.maxFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxFeePerGas);\n if ((0, isHex_js_1.isHex)(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')\n transaction.maxPriorityFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxPriorityFeePerGas);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n (0, assertTransaction_js_1.assertTransactionEIP1559)(transaction);\n const signature = transactionArray.length === 12\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionEIP2930(serializedTransaction) {\n const transactionArray = (0, fromRlp_js_1.fromRlp)(`0x${serializedTransaction.slice(4)}`, 'hex');\n const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] = transactionArray;\n if (!(transactionArray.length === 8 || transactionArray.length === 11))\n throw new transaction_js_1.InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n gasPrice,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 8\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip2930',\n });\n const transaction = {\n chainId: (0, fromHex_js_1.hexToNumber)(chainId),\n type: 'eip2930',\n };\n if ((0, isHex_js_1.isHex)(to) && to !== '0x')\n transaction.to = to;\n if ((0, isHex_js_1.isHex)(gas) && gas !== '0x')\n transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas);\n if ((0, isHex_js_1.isHex)(data) && data !== '0x')\n transaction.data = data;\n if ((0, isHex_js_1.isHex)(nonce) && nonce !== '0x')\n transaction.nonce = (0, fromHex_js_1.hexToNumber)(nonce);\n if ((0, isHex_js_1.isHex)(value) && value !== '0x')\n transaction.value = (0, fromHex_js_1.hexToBigInt)(value);\n if ((0, isHex_js_1.isHex)(gasPrice) && gasPrice !== '0x')\n transaction.gasPrice = (0, fromHex_js_1.hexToBigInt)(gasPrice);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n (0, assertTransaction_js_1.assertTransactionEIP2930)(transaction);\n const signature = transactionArray.length === 11\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionLegacy(serializedTransaction) {\n const transactionArray = (0, fromRlp_js_1.fromRlp)(serializedTransaction, 'hex');\n const [nonce, gasPrice, gas, to, value, data, chainIdOrV_, r, s] = transactionArray;\n if (!(transactionArray.length === 6 || transactionArray.length === 9))\n throw new transaction_js_1.InvalidSerializedTransactionError({\n attributes: {\n nonce,\n gasPrice,\n gas,\n to,\n value,\n data,\n ...(transactionArray.length > 6\n ? {\n v: chainIdOrV_,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'legacy',\n });\n const transaction = {\n type: 'legacy',\n };\n if ((0, isHex_js_1.isHex)(to) && to !== '0x')\n transaction.to = to;\n if ((0, isHex_js_1.isHex)(gas) && gas !== '0x')\n transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas);\n if ((0, isHex_js_1.isHex)(data) && data !== '0x')\n transaction.data = data;\n if ((0, isHex_js_1.isHex)(nonce) && nonce !== '0x')\n transaction.nonce = (0, fromHex_js_1.hexToNumber)(nonce);\n if ((0, isHex_js_1.isHex)(value) && value !== '0x')\n transaction.value = (0, fromHex_js_1.hexToBigInt)(value);\n if ((0, isHex_js_1.isHex)(gasPrice) && gasPrice !== '0x')\n transaction.gasPrice = (0, fromHex_js_1.hexToBigInt)(gasPrice);\n (0, assertTransaction_js_1.assertTransactionLegacy)(transaction);\n if (transactionArray.length === 6)\n return transaction;\n const chainIdOrV = (0, isHex_js_1.isHex)(chainIdOrV_) && chainIdOrV_ !== '0x'\n ? (0, fromHex_js_1.hexToBigInt)(chainIdOrV_)\n : 0n;\n if (s === '0x' && r === '0x') {\n if (chainIdOrV > 0)\n transaction.chainId = Number(chainIdOrV);\n return transaction;\n }\n const v = chainIdOrV;\n const chainId = Number((v - 35n) / 2n);\n if (chainId > 0)\n transaction.chainId = chainId;\n else if (v !== 27n && v !== 28n)\n throw new transaction_js_1.InvalidLegacyVError({ v });\n transaction.v = v;\n transaction.s = s;\n transaction.r = r;\n return transaction;\n}\nfunction parseAccessList(accessList_) {\n const accessList = [];\n for (let i = 0; i < accessList_.length; i++) {\n const [address, storageKeys] = accessList_[i];\n if (!(0, isAddress_js_1.isAddress)(address))\n throw new address_js_1.InvalidAddressError({ address });\n accessList.push({\n address: address,\n storageKeys: storageKeys.map((key) => ((0, isHash_js_1.isHash)(key) ? key : (0, trim_js_1.trim)(key))),\n });\n }\n return accessList;\n}\nfunction parseEIP155Signature(transactionArray) {\n const signature = transactionArray.slice(-3);\n const v = signature[0] === '0x' || (0, fromHex_js_1.hexToBigInt)(signature[0]) === 0n ? 27n : 28n;\n return {\n r: (0, pad_js_1.padHex)(signature[1], { size: 32 }),\n s: (0, pad_js_1.padHex)(signature[2], { size: 32 }),\n v,\n yParity: v === 27n ? 0 : 1,\n };\n}\n//# sourceMappingURL=parseTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9wYXJzZVRyYW5zYWN0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELHdCQUF3QjtBQUN4QixxQkFBcUIsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdEQseUJBQXlCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzlELHVCQUF1QixtQkFBTyxDQUFDLHdGQUF5QjtBQUN4RCxtQkFBbUIsbUJBQU8sQ0FBQywwRUFBa0I7QUFDN0MsaUJBQWlCLG1CQUFPLENBQUMsc0VBQWdCO0FBQ3pDLGtCQUFrQixtQkFBTyxDQUFDLHdFQUFpQjtBQUMzQyxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBd0I7QUFDckQscUJBQXFCLG1CQUFPLENBQUMsc0ZBQXdCO0FBQ3JELG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQywrQkFBK0IsbUJBQU8sQ0FBQyxtR0FBd0I7QUFDL0QsMENBQTBDLG1CQUFPLENBQUMseUhBQW1DO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQSw0REFBNEQsK0JBQStCO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsNERBQTRELCtCQUErQjtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsR0FBRztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix3QkFBd0I7QUFDNUM7QUFDQTtBQUNBLHlEQUF5RCxTQUFTO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxVQUFVO0FBQzFELGdEQUFnRCxVQUFVO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvdHJhbnNhY3Rpb24vcGFyc2VUcmFuc2FjdGlvbi5qcz9lOTBmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wYXJzZVRyYW5zYWN0aW9uID0gdm9pZCAwO1xuY29uc3QgYWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uLy4uL2Vycm9ycy9hZGRyZXNzLmpzXCIpO1xuY29uc3QgdHJhbnNhY3Rpb25fanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvdHJhbnNhY3Rpb24uanNcIik7XG5jb25zdCBpc0FkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi9hZGRyZXNzL2lzQWRkcmVzcy5qc1wiKTtcbmNvbnN0IGlzSGV4X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9pc0hleC5qc1wiKTtcbmNvbnN0IHBhZF9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvcGFkLmpzXCIpO1xuY29uc3QgdHJpbV9qc18xID0gcmVxdWlyZShcIi4uL2RhdGEvdHJpbS5qc1wiKTtcbmNvbnN0IGZyb21IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy9mcm9tSGV4LmpzXCIpO1xuY29uc3QgZnJvbVJscF9qc18xID0gcmVxdWlyZShcIi4uL2VuY29kaW5nL2Zyb21SbHAuanNcIik7XG5jb25zdCBpc0hhc2hfanNfMSA9IHJlcXVpcmUoXCIuLi9oYXNoL2lzSGFzaC5qc1wiKTtcbmNvbnN0IGFzc2VydFRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi9hc3NlcnRUcmFuc2FjdGlvbi5qc1wiKTtcbmNvbnN0IGdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGVfanNfMSA9IHJlcXVpcmUoXCIuL2dldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUuanNcIik7XG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHR5cGUgPSAoMCwgZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZV9qc18xLmdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUpKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgaWYgKHR5cGUgPT09ICdlaXAxNTU5JylcbiAgICAgICAgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25FSVAxNTU5KHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgaWYgKHR5cGUgPT09ICdlaXAyOTMwJylcbiAgICAgICAgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25FSVAyOTMwKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25MZWdhY3koc2VyaWFsaXplZFRyYW5zYWN0aW9uKTtcbn1cbmV4cG9ydHMucGFyc2VUcmFuc2FjdGlvbiA9IHBhcnNlVHJhbnNhY3Rpb247XG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uRUlQMTU1OShzZXJpYWxpemVkVHJhbnNhY3Rpb24pIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbkFycmF5ID0gKDAsIGZyb21SbHBfanNfMS5mcm9tUmxwKShgMHgke3NlcmlhbGl6ZWRUcmFuc2FjdGlvbi5zbGljZSg0KX1gLCAnaGV4Jyk7XG4gICAgY29uc3QgW2NoYWluSWQsIG5vbmNlLCBtYXhQcmlvcml0eUZlZVBlckdhcywgbWF4RmVlUGVyR2FzLCBnYXMsIHRvLCB2YWx1ZSwgZGF0YSwgYWNjZXNzTGlzdCwgdiwgciwgcyxdID0gdHJhbnNhY3Rpb25BcnJheTtcbiAgICBpZiAoISh0cmFuc2FjdGlvbkFycmF5Lmxlbmd0aCA9PT0gOSB8fCB0cmFuc2FjdGlvbkFycmF5Lmxlbmd0aCA9PT0gMTIpKVxuICAgICAgICB0aHJvdyBuZXcgdHJhbnNhY3Rpb25fanNfMS5JbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3Ioe1xuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgIGNoYWluSWQsXG4gICAgICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICAgICAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICAgICAgICAgICAgLi4uKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID4gOVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHYsXG4gICAgICAgICAgICAgICAgICAgICAgICByLFxuICAgICAgICAgICAgICAgICAgICAgICAgcyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXJpYWxpemVkVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICB0eXBlOiAnZWlwMTU1OScsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0ge1xuICAgICAgICBjaGFpbklkOiAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKShjaGFpbklkKSxcbiAgICAgICAgdHlwZTogJ2VpcDE1NTknLFxuICAgIH07XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KSh0bykgJiYgdG8gIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLnRvID0gdG87XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KShnYXMpICYmIGdhcyAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZ2FzID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb0JpZ0ludCkoZ2FzKTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKGRhdGEpICYmIGRhdGEgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmRhdGEgPSBkYXRhO1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkobm9uY2UpICYmIG5vbmNlICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5ub25jZSA9ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9OdW1iZXIpKG5vbmNlKTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKHZhbHVlKSAmJiB2YWx1ZSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24udmFsdWUgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KSh2YWx1ZSk7XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KShtYXhGZWVQZXJHYXMpICYmIG1heEZlZVBlckdhcyAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24ubWF4RmVlUGVyR2FzID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb0JpZ0ludCkobWF4RmVlUGVyR2FzKTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKG1heFByaW9yaXR5RmVlUGVyR2FzKSAmJiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24ubWF4UHJpb3JpdHlGZWVQZXJHYXMgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KShtYXhQcmlvcml0eUZlZVBlckdhcyk7XG4gICAgaWYgKGFjY2Vzc0xpc3QubGVuZ3RoICE9PSAwICYmIGFjY2Vzc0xpc3QgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmFjY2Vzc0xpc3QgPSBwYXJzZUFjY2Vzc0xpc3QoYWNjZXNzTGlzdCk7XG4gICAgKDAsIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEuYXNzZXJ0VHJhbnNhY3Rpb25FSVAxNTU5KSh0cmFuc2FjdGlvbik7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPT09IDEyXG4gICAgICAgID8gcGFyc2VFSVAxNTVTaWduYXR1cmUodHJhbnNhY3Rpb25BcnJheSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHsgLi4uc2lnbmF0dXJlLCAuLi50cmFuc2FjdGlvbiB9O1xufVxuZnVuY3Rpb24gcGFyc2VUcmFuc2FjdGlvbkVJUDI5MzAoc2VyaWFsaXplZFRyYW5zYWN0aW9uKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25BcnJheSA9ICgwLCBmcm9tUmxwX2pzXzEuZnJvbVJscCkoYDB4JHtzZXJpYWxpemVkVHJhbnNhY3Rpb24uc2xpY2UoNCl9YCwgJ2hleCcpO1xuICAgIGNvbnN0IFtjaGFpbklkLCBub25jZSwgZ2FzUHJpY2UsIGdhcywgdG8sIHZhbHVlLCBkYXRhLCBhY2Nlc3NMaXN0LCB2LCByLCBzXSA9IHRyYW5zYWN0aW9uQXJyYXk7XG4gICAgaWYgKCEodHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPT09IDggfHwgdHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPT09IDExKSlcbiAgICAgICAgdGhyb3cgbmV3IHRyYW5zYWN0aW9uX2pzXzEuSW52YWxpZFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkVycm9yKHtcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICBjaGFpbklkLFxuICAgICAgICAgICAgICAgIG5vbmNlLFxuICAgICAgICAgICAgICAgIGdhc1ByaWNlLFxuICAgICAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICAgICAgICAgICAgLi4uKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID4gOFxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHYsXG4gICAgICAgICAgICAgICAgICAgICAgICByLFxuICAgICAgICAgICAgICAgICAgICAgICAgcyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXJpYWxpemVkVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICB0eXBlOiAnZWlwMjkzMCcsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0ge1xuICAgICAgICBjaGFpbklkOiAoMCwgZnJvbUhleF9qc18xLmhleFRvTnVtYmVyKShjaGFpbklkKSxcbiAgICAgICAgdHlwZTogJ2VpcDI5MzAnLFxuICAgIH07XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KSh0bykgJiYgdG8gIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLnRvID0gdG87XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KShnYXMpICYmIGdhcyAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZ2FzID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb0JpZ0ludCkoZ2FzKTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKGRhdGEpICYmIGRhdGEgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmRhdGEgPSBkYXRhO1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkobm9uY2UpICYmIG5vbmNlICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5ub25jZSA9ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9OdW1iZXIpKG5vbmNlKTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKHZhbHVlKSAmJiB2YWx1ZSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24udmFsdWUgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KSh2YWx1ZSk7XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KShnYXNQcmljZSkgJiYgZ2FzUHJpY2UgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmdhc1ByaWNlID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb0JpZ0ludCkoZ2FzUHJpY2UpO1xuICAgIGlmIChhY2Nlc3NMaXN0Lmxlbmd0aCAhPT0gMCAmJiBhY2Nlc3NMaXN0ICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5hY2Nlc3NMaXN0ID0gcGFyc2VBY2Nlc3NMaXN0KGFjY2Vzc0xpc3QpO1xuICAgICgwLCBhc3NlcnRUcmFuc2FjdGlvbl9qc18xLmFzc2VydFRyYW5zYWN0aW9uRUlQMjkzMCkodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSAxMVxuICAgICAgICA/IHBhcnNlRUlQMTU1U2lnbmF0dXJlKHRyYW5zYWN0aW9uQXJyYXkpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB7IC4uLnNpZ25hdHVyZSwgLi4udHJhbnNhY3Rpb24gfTtcbn1cbmZ1bmN0aW9uIHBhcnNlVHJhbnNhY3Rpb25MZWdhY3koc2VyaWFsaXplZFRyYW5zYWN0aW9uKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25BcnJheSA9ICgwLCBmcm9tUmxwX2pzXzEuZnJvbVJscCkoc2VyaWFsaXplZFRyYW5zYWN0aW9uLCAnaGV4Jyk7XG4gICAgY29uc3QgW25vbmNlLCBnYXNQcmljZSwgZ2FzLCB0bywgdmFsdWUsIGRhdGEsIGNoYWluSWRPclZfLCByLCBzXSA9IHRyYW5zYWN0aW9uQXJyYXk7XG4gICAgaWYgKCEodHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPT09IDYgfHwgdHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPT09IDkpKVxuICAgICAgICB0aHJvdyBuZXcgdHJhbnNhY3Rpb25fanNfMS5JbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3Ioe1xuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgIG5vbmNlLFxuICAgICAgICAgICAgICAgIGdhc1ByaWNlLFxuICAgICAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIC4uLih0cmFuc2FjdGlvbkFycmF5Lmxlbmd0aCA+IDZcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2OiBjaGFpbklkT3JWXyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbixcbiAgICAgICAgICAgIHR5cGU6ICdsZWdhY3knLFxuICAgICAgICB9KTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogJ2xlZ2FjeScsXG4gICAgfTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKHRvKSAmJiB0byAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24udG8gPSB0bztcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKGdhcykgJiYgZ2FzICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5nYXMgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KShnYXMpO1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkoZGF0YSkgJiYgZGF0YSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZGF0YSA9IGRhdGE7XG4gICAgaWYgKCgwLCBpc0hleF9qc18xLmlzSGV4KShub25jZSkgJiYgbm9uY2UgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLm5vbmNlID0gKDAsIGZyb21IZXhfanNfMS5oZXhUb051bWJlcikobm9uY2UpO1xuICAgIGlmICgoMCwgaXNIZXhfanNfMS5pc0hleCkodmFsdWUpICYmIHZhbHVlICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi52YWx1ZSA9ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9CaWdJbnQpKHZhbHVlKTtcbiAgICBpZiAoKDAsIGlzSGV4X2pzXzEuaXNIZXgpKGdhc1ByaWNlKSAmJiBnYXNQcmljZSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZ2FzUHJpY2UgPSAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KShnYXNQcmljZSk7XG4gICAgKDAsIGFzc2VydFRyYW5zYWN0aW9uX2pzXzEuYXNzZXJ0VHJhbnNhY3Rpb25MZWdhY3kpKHRyYW5zYWN0aW9uKTtcbiAgICBpZiAodHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPT09IDYpXG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbjtcbiAgICBjb25zdCBjaGFpbklkT3JWID0gKDAsIGlzSGV4X2pzXzEuaXNIZXgpKGNoYWluSWRPclZfKSAmJiBjaGFpbklkT3JWXyAhPT0gJzB4J1xuICAgICAgICA/ICgwLCBmcm9tSGV4X2pzXzEuaGV4VG9CaWdJbnQpKGNoYWluSWRPclZfKVxuICAgICAgICA6IDBuO1xuICAgIGlmIChzID09PSAnMHgnICYmIHIgPT09ICcweCcpIHtcbiAgICAgICAgaWYgKGNoYWluSWRPclYgPiAwKVxuICAgICAgICAgICAgdHJhbnNhY3Rpb24uY2hhaW5JZCA9IE51bWJlcihjaGFpbklkT3JWKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICAgIH1cbiAgICBjb25zdCB2ID0gY2hhaW5JZE9yVjtcbiAgICBjb25zdCBjaGFpbklkID0gTnVtYmVyKCh2IC0gMzVuKSAvIDJuKTtcbiAgICBpZiAoY2hhaW5JZCA+IDApXG4gICAgICAgIHRyYW5zYWN0aW9uLmNoYWluSWQgPSBjaGFpbklkO1xuICAgIGVsc2UgaWYgKHYgIT09IDI3biAmJiB2ICE9PSAyOG4pXG4gICAgICAgIHRocm93IG5ldyB0cmFuc2FjdGlvbl9qc18xLkludmFsaWRMZWdhY3lWRXJyb3IoeyB2IH0pO1xuICAgIHRyYW5zYWN0aW9uLnYgPSB2O1xuICAgIHRyYW5zYWN0aW9uLnMgPSBzO1xuICAgIHRyYW5zYWN0aW9uLnIgPSByO1xuICAgIHJldHVybiB0cmFuc2FjdGlvbjtcbn1cbmZ1bmN0aW9uIHBhcnNlQWNjZXNzTGlzdChhY2Nlc3NMaXN0Xykge1xuICAgIGNvbnN0IGFjY2Vzc0xpc3QgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFjY2Vzc0xpc3RfLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IFthZGRyZXNzLCBzdG9yYWdlS2V5c10gPSBhY2Nlc3NMaXN0X1tpXTtcbiAgICAgICAgaWYgKCEoMCwgaXNBZGRyZXNzX2pzXzEuaXNBZGRyZXNzKShhZGRyZXNzKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBhZGRyZXNzX2pzXzEuSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3MgfSk7XG4gICAgICAgIGFjY2Vzc0xpc3QucHVzaCh7XG4gICAgICAgICAgICBhZGRyZXNzOiBhZGRyZXNzLFxuICAgICAgICAgICAgc3RvcmFnZUtleXM6IHN0b3JhZ2VLZXlzLm1hcCgoa2V5KSA9PiAoKDAsIGlzSGFzaF9qc18xLmlzSGFzaCkoa2V5KSA/IGtleSA6ICgwLCB0cmltX2pzXzEudHJpbSkoa2V5KSkpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGFjY2Vzc0xpc3Q7XG59XG5mdW5jdGlvbiBwYXJzZUVJUDE1NVNpZ25hdHVyZSh0cmFuc2FjdGlvbkFycmF5KSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdHJhbnNhY3Rpb25BcnJheS5zbGljZSgtMyk7XG4gICAgY29uc3QgdiA9IHNpZ25hdHVyZVswXSA9PT0gJzB4JyB8fCAoMCwgZnJvbUhleF9qc18xLmhleFRvQmlnSW50KShzaWduYXR1cmVbMF0pID09PSAwbiA/IDI3biA6IDI4bjtcbiAgICByZXR1cm4ge1xuICAgICAgICByOiAoMCwgcGFkX2pzXzEucGFkSGV4KShzaWduYXR1cmVbMV0sIHsgc2l6ZTogMzIgfSksXG4gICAgICAgIHM6ICgwLCBwYWRfanNfMS5wYWRIZXgpKHNpZ25hdHVyZVsyXSwgeyBzaXplOiAzMiB9KSxcbiAgICAgICAgdixcbiAgICAgICAgeVBhcml0eTogdiA9PT0gMjduID8gMCA6IDEsXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlVHJhbnNhY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/parseTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.prepareRequest = exports.defaultTip = void 0;\nconst parseAccount_js_1 = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/cjs/accounts/utils/parseAccount.js\");\nconst estimateGas_js_1 = __webpack_require__(/*! ../../actions/public/estimateGas.js */ \"./node_modules/viem/dist/cjs/actions/public/estimateGas.js\");\nconst getBlock_js_1 = __webpack_require__(/*! ../../actions/public/getBlock.js */ \"./node_modules/viem/dist/cjs/actions/public/getBlock.js\");\nconst getGasPrice_js_1 = __webpack_require__(/*! ../../actions/public/getGasPrice.js */ \"./node_modules/viem/dist/cjs/actions/public/getGasPrice.js\");\nconst getTransactionCount_js_1 = __webpack_require__(/*! ../../actions/public/getTransactionCount.js */ \"./node_modules/viem/dist/cjs/actions/public/getTransactionCount.js\");\nconst account_js_1 = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/cjs/errors/account.js\");\nconst base_js_1 = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/cjs/errors/base.js\");\nconst assertRequest_js_1 = __webpack_require__(/*! ./assertRequest.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertRequest.js\");\nexports.defaultTip = 1500000000n;\nasync function prepareRequest(client, args) {\n const { account: account_, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, } = args;\n if (!account_)\n throw new account_js_1.AccountNotFoundError();\n const account = (0, parseAccount_js_1.parseAccount)(account_);\n const block = await (0, getBlock_js_1.getBlock)(client, { blockTag: 'latest' });\n const request = { ...args, from: account.address };\n if (typeof nonce === 'undefined')\n request.nonce = await (0, getTransactionCount_js_1.getTransactionCount)(client, {\n address: account.address,\n blockTag: 'pending',\n });\n if (block.baseFeePerGas) {\n if (typeof gasPrice !== 'undefined')\n throw new base_js_1.BaseError('Chain does not support legacy `gasPrice`.');\n if (typeof maxFeePerGas === 'undefined') {\n request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? exports.defaultTip;\n request.maxFeePerGas =\n (block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas;\n }\n else {\n if (typeof maxPriorityFeePerGas === 'undefined' &&\n maxFeePerGas < exports.defaultTip)\n throw new base_js_1.BaseError('`maxFeePerGas` cannot be less than the default `maxPriorityFeePerGas` (1.5 gwei).');\n request.maxFeePerGas = maxFeePerGas;\n request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? exports.defaultTip;\n }\n }\n else {\n if (typeof maxFeePerGas !== 'undefined' ||\n typeof maxPriorityFeePerGas !== 'undefined')\n throw new base_js_1.BaseError('Chain does not support EIP-1559 fees.');\n if (typeof gasPrice === 'undefined')\n request.gasPrice = ((await (0, getGasPrice_js_1.getGasPrice)(client)) * 120n) / 100n;\n }\n if (typeof gas === 'undefined')\n request.gas = await (0, estimateGas_js_1.estimateGas)(client, {\n ...request,\n account: { address: account.address, type: 'json-rpc' },\n });\n (0, assertRequest_js_1.assertRequest)(request);\n return request;\n}\nexports.prepareRequest = prepareRequest;\n//# sourceMappingURL=prepareRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9wcmVwYXJlUmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxzQkFBc0IsR0FBRyxrQkFBa0I7QUFDM0MsMEJBQTBCLG1CQUFPLENBQUMseUdBQXNDO0FBQ3hFLHlCQUF5QixtQkFBTyxDQUFDLHVHQUFxQztBQUN0RSxzQkFBc0IsbUJBQU8sQ0FBQyxpR0FBa0M7QUFDaEUseUJBQXlCLG1CQUFPLENBQUMsdUdBQXFDO0FBQ3RFLGlDQUFpQyxtQkFBTyxDQUFDLHVIQUE2QztBQUN0RixxQkFBcUIsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdEQsa0JBQWtCLG1CQUFPLENBQUMseUVBQXNCO0FBQ2hELDJCQUEyQixtQkFBTyxDQUFDLDJGQUFvQjtBQUN2RCxrQkFBa0I7QUFDbEI7QUFDQSxZQUFZLCtFQUErRTtBQUMzRjtBQUNBO0FBQ0E7QUFDQSw4REFBOEQsb0JBQW9CO0FBQ2xGLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDRDQUE0QztBQUNuRSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3RyYW5zYWN0aW9uL3ByZXBhcmVSZXF1ZXN0LmpzPzc4ODIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnByZXBhcmVSZXF1ZXN0ID0gZXhwb3J0cy5kZWZhdWx0VGlwID0gdm9pZCAwO1xuY29uc3QgcGFyc2VBY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzXCIpO1xuY29uc3QgZXN0aW1hdGVHYXNfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUdhcy5qc1wiKTtcbmNvbnN0IGdldEJsb2NrX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0QmxvY2suanNcIik7XG5jb25zdCBnZXRHYXNQcmljZV9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldEdhc1ByaWNlLmpzXCIpO1xuY29uc3QgZ2V0VHJhbnNhY3Rpb25Db3VudF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uQ291bnQuanNcIik7XG5jb25zdCBhY2NvdW50X2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2FjY291bnQuanNcIik7XG5jb25zdCBiYXNlX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL2Jhc2UuanNcIik7XG5jb25zdCBhc3NlcnRSZXF1ZXN0X2pzXzEgPSByZXF1aXJlKFwiLi9hc3NlcnRSZXF1ZXN0LmpzXCIpO1xuZXhwb3J0cy5kZWZhdWx0VGlwID0gMTUwMDAwMDAwMG47XG5hc3luYyBmdW5jdGlvbiBwcmVwYXJlUmVxdWVzdChjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGFjY291bnQ6IGFjY291bnRfLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgfSA9IGFyZ3M7XG4gICAgaWYgKCFhY2NvdW50XylcbiAgICAgICAgdGhyb3cgbmV3IGFjY291bnRfanNfMS5BY2NvdW50Tm90Rm91bmRFcnJvcigpO1xuICAgIGNvbnN0IGFjY291bnQgPSAoMCwgcGFyc2VBY2NvdW50X2pzXzEucGFyc2VBY2NvdW50KShhY2NvdW50Xyk7XG4gICAgY29uc3QgYmxvY2sgPSBhd2FpdCAoMCwgZ2V0QmxvY2tfanNfMS5nZXRCbG9jaykoY2xpZW50LCB7IGJsb2NrVGFnOiAnbGF0ZXN0JyB9KTtcbiAgICBjb25zdCByZXF1ZXN0ID0geyAuLi5hcmdzLCBmcm9tOiBhY2NvdW50LmFkZHJlc3MgfTtcbiAgICBpZiAodHlwZW9mIG5vbmNlID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmVxdWVzdC5ub25jZSA9IGF3YWl0ICgwLCBnZXRUcmFuc2FjdGlvbkNvdW50X2pzXzEuZ2V0VHJhbnNhY3Rpb25Db3VudCkoY2xpZW50LCB7XG4gICAgICAgICAgICBhZGRyZXNzOiBhY2NvdW50LmFkZHJlc3MsXG4gICAgICAgICAgICBibG9ja1RhZzogJ3BlbmRpbmcnLFxuICAgICAgICB9KTtcbiAgICBpZiAoYmxvY2suYmFzZUZlZVBlckdhcykge1xuICAgICAgICBpZiAodHlwZW9mIGdhc1ByaWNlICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHRocm93IG5ldyBiYXNlX2pzXzEuQmFzZUVycm9yKCdDaGFpbiBkb2VzIG5vdCBzdXBwb3J0IGxlZ2FjeSBgZ2FzUHJpY2VgLicpO1xuICAgICAgICBpZiAodHlwZW9mIG1heEZlZVBlckdhcyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJlcXVlc3QubWF4UHJpb3JpdHlGZWVQZXJHYXMgPSBtYXhQcmlvcml0eUZlZVBlckdhcyA/PyBleHBvcnRzLmRlZmF1bHRUaXA7XG4gICAgICAgICAgICByZXF1ZXN0Lm1heEZlZVBlckdhcyA9XG4gICAgICAgICAgICAgICAgKGJsb2NrLmJhc2VGZWVQZXJHYXMgKiAxMjBuKSAvIDEwMG4gKyByZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBtYXhGZWVQZXJHYXMgPCBleHBvcnRzLmRlZmF1bHRUaXApXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGJhc2VfanNfMS5CYXNlRXJyb3IoJ2BtYXhGZWVQZXJHYXNgIGNhbm5vdCBiZSBsZXNzIHRoYW4gdGhlIGRlZmF1bHQgYG1heFByaW9yaXR5RmVlUGVyR2FzYCAoMS41IGd3ZWkpLicpO1xuICAgICAgICAgICAgcmVxdWVzdC5tYXhGZWVQZXJHYXMgPSBtYXhGZWVQZXJHYXM7XG4gICAgICAgICAgICByZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzID0gbWF4UHJpb3JpdHlGZWVQZXJHYXMgPz8gZXhwb3J0cy5kZWZhdWx0VGlwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIG1heEZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgICAgICAgIHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICB0aHJvdyBuZXcgYmFzZV9qc18xLkJhc2VFcnJvcignQ2hhaW4gZG9lcyBub3Qgc3VwcG9ydCBFSVAtMTU1OSBmZWVzLicpO1xuICAgICAgICBpZiAodHlwZW9mIGdhc1ByaWNlID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJlcXVlc3QuZ2FzUHJpY2UgPSAoKGF3YWl0ICgwLCBnZXRHYXNQcmljZV9qc18xLmdldEdhc1ByaWNlKShjbGllbnQpKSAqIDEyMG4pIC8gMTAwbjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBnYXMgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXF1ZXN0LmdhcyA9IGF3YWl0ICgwLCBlc3RpbWF0ZUdhc19qc18xLmVzdGltYXRlR2FzKShjbGllbnQsIHtcbiAgICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgICBhY2NvdW50OiB7IGFkZHJlc3M6IGFjY291bnQuYWRkcmVzcywgdHlwZTogJ2pzb24tcnBjJyB9LFxuICAgICAgICB9KTtcbiAgICAoMCwgYXNzZXJ0UmVxdWVzdF9qc18xLmFzc2VydFJlcXVlc3QpKHJlcXVlc3QpO1xuICAgIHJldHVybiByZXF1ZXN0O1xufVxuZXhwb3J0cy5wcmVwYXJlUmVxdWVzdCA9IHByZXBhcmVSZXF1ZXN0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlcGFyZVJlcXVlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/prepareRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/serializeAccessList.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/serializeAccessList.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.serializeAccessList = void 0;\nconst address_js_1 = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nfunction serializeAccessList(accessList) {\n if (!accessList || accessList.length === 0)\n return [];\n const serializedAccessList = [];\n for (let i = 0; i < accessList.length; i++) {\n const { address, storageKeys } = accessList[i];\n for (let j = 0; j < storageKeys.length; j++) {\n if (storageKeys[j].length - 2 !== 64) {\n throw new transaction_js_1.InvalidStorageKeySizeError({ storageKey: storageKeys[j] });\n }\n }\n if (!(0, isAddress_js_1.isAddress)(address)) {\n throw new address_js_1.InvalidAddressError({ address });\n }\n serializedAccessList.push([address, storageKeys]);\n }\n return serializedAccessList;\n}\nexports.serializeAccessList = serializeAccessList;\n//# sourceMappingURL=serializeAccessList.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVBY2Nlc3NMaXN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELDJCQUEyQjtBQUMzQixxQkFBcUIsbUJBQU8sQ0FBQywrRUFBeUI7QUFDdEQseUJBQXlCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzlELHVCQUF1QixtQkFBTyxDQUFDLHdGQUF5QjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix1QkFBdUI7QUFDM0MsZ0JBQWdCLHVCQUF1QjtBQUN2Qyx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0Esd0VBQXdFLDRCQUE0QjtBQUNwRztBQUNBO0FBQ0E7QUFDQSx5REFBeUQsU0FBUztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3RyYW5zYWN0aW9uL3NlcmlhbGl6ZUFjY2Vzc0xpc3QuanM/NWNkOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2VyaWFsaXplQWNjZXNzTGlzdCA9IHZvaWQgMDtcbmNvbnN0IGFkZHJlc3NfanNfMSA9IHJlcXVpcmUoXCIuLi8uLi9lcnJvcnMvYWRkcmVzcy5qc1wiKTtcbmNvbnN0IHRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzXCIpO1xuY29uc3QgaXNBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi4vYWRkcmVzcy9pc0FkZHJlc3MuanNcIik7XG5mdW5jdGlvbiBzZXJpYWxpemVBY2Nlc3NMaXN0KGFjY2Vzc0xpc3QpIHtcbiAgICBpZiAoIWFjY2Vzc0xpc3QgfHwgYWNjZXNzTGlzdC5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBbXTtcbiAgICBjb25zdCBzZXJpYWxpemVkQWNjZXNzTGlzdCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWNjZXNzTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB7IGFkZHJlc3MsIHN0b3JhZ2VLZXlzIH0gPSBhY2Nlc3NMaXN0W2ldO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHN0b3JhZ2VLZXlzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBpZiAoc3RvcmFnZUtleXNbal0ubGVuZ3RoIC0gMiAhPT0gNjQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgdHJhbnNhY3Rpb25fanNfMS5JbnZhbGlkU3RvcmFnZUtleVNpemVFcnJvcih7IHN0b3JhZ2VLZXk6IHN0b3JhZ2VLZXlzW2pdIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghKDAsIGlzQWRkcmVzc19qc18xLmlzQWRkcmVzcykoYWRkcmVzcykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBhZGRyZXNzX2pzXzEuSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3MgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VyaWFsaXplZEFjY2Vzc0xpc3QucHVzaChbYWRkcmVzcywgc3RvcmFnZUtleXNdKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlcmlhbGl6ZWRBY2Nlc3NMaXN0O1xufVxuZXhwb3J0cy5zZXJpYWxpemVBY2Nlc3NMaXN0ID0gc2VyaWFsaXplQWNjZXNzTGlzdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlcmlhbGl6ZUFjY2Vzc0xpc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/serializeAccessList.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/transaction/serializeTransaction.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/transaction/serializeTransaction.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.serializeTransaction = void 0;\nconst transaction_js_1 = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/cjs/errors/transaction.js\");\nconst concat_js_1 = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/cjs/utils/data/concat.js\");\nconst trim_js_1 = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/cjs/utils/data/trim.js\");\nconst toHex_js_1 = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst toRlp_js_1 = __webpack_require__(/*! ../encoding/toRlp.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toRlp.js\");\nconst assertTransaction_js_1 = __webpack_require__(/*! ./assertTransaction.js */ \"./node_modules/viem/dist/cjs/utils/transaction/assertTransaction.js\");\nconst getTransactionType_js_1 = __webpack_require__(/*! ./getTransactionType.js */ \"./node_modules/viem/dist/cjs/utils/transaction/getTransactionType.js\");\nconst serializeAccessList_js_1 = __webpack_require__(/*! ./serializeAccessList.js */ \"./node_modules/viem/dist/cjs/utils/transaction/serializeAccessList.js\");\nfunction serializeTransaction(transaction, signature) {\n const type = (0, getTransactionType_js_1.getTransactionType)(transaction);\n if (type === 'eip1559')\n return serializeTransactionEIP1559(transaction, signature);\n if (type === 'eip2930')\n return serializeTransactionEIP2930(transaction, signature);\n return serializeTransactionLegacy(transaction, signature);\n}\nexports.serializeTransaction = serializeTransaction;\nfunction serializeTransactionEIP1559(transaction, signature) {\n const { chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction;\n (0, assertTransaction_js_1.assertTransactionEIP1559)(transaction);\n const serializedAccessList = (0, serializeAccessList_js_1.serializeAccessList)(accessList);\n const serializedTransaction = [\n (0, toHex_js_1.toHex)(chainId),\n nonce ? (0, toHex_js_1.toHex)(nonce) : '0x',\n maxPriorityFeePerGas ? (0, toHex_js_1.toHex)(maxPriorityFeePerGas) : '0x',\n maxFeePerGas ? (0, toHex_js_1.toHex)(maxFeePerGas) : '0x',\n gas ? (0, toHex_js_1.toHex)(gas) : '0x',\n to ?? '0x',\n value ? (0, toHex_js_1.toHex)(value) : '0x',\n data ?? '0x',\n serializedAccessList,\n ];\n if (signature)\n serializedTransaction.push(signature.v === 27n ? '0x' : (0, toHex_js_1.toHex)(1), (0, trim_js_1.trim)(signature.r), (0, trim_js_1.trim)(signature.s));\n return (0, concat_js_1.concatHex)([\n '0x02',\n (0, toRlp_js_1.toRlp)(serializedTransaction),\n ]);\n}\nfunction serializeTransactionEIP2930(transaction, signature) {\n const { chainId, gas, data, nonce, to, value, accessList, gasPrice } = transaction;\n (0, assertTransaction_js_1.assertTransactionEIP2930)(transaction);\n const serializedAccessList = (0, serializeAccessList_js_1.serializeAccessList)(accessList);\n const serializedTransaction = [\n (0, toHex_js_1.toHex)(chainId),\n nonce ? (0, toHex_js_1.toHex)(nonce) : '0x',\n gasPrice ? (0, toHex_js_1.toHex)(gasPrice) : '0x',\n gas ? (0, toHex_js_1.toHex)(gas) : '0x',\n to ?? '0x',\n value ? (0, toHex_js_1.toHex)(value) : '0x',\n data ?? '0x',\n serializedAccessList,\n ];\n if (signature)\n serializedTransaction.push(signature.v === 27n ? '0x' : (0, toHex_js_1.toHex)(1), signature.r, signature.s);\n return (0, concat_js_1.concatHex)([\n '0x01',\n (0, toRlp_js_1.toRlp)(serializedTransaction),\n ]);\n}\nfunction serializeTransactionLegacy(transaction, signature) {\n const { chainId = 0, gas, data, nonce, to, value, gasPrice } = transaction;\n (0, assertTransaction_js_1.assertTransactionLegacy)(transaction);\n let serializedTransaction = [\n nonce ? (0, toHex_js_1.toHex)(nonce) : '0x',\n gasPrice ? (0, toHex_js_1.toHex)(gasPrice) : '0x',\n gas ? (0, toHex_js_1.toHex)(gas) : '0x',\n to ?? '0x',\n value ? (0, toHex_js_1.toHex)(value) : '0x',\n data ?? '0x',\n ];\n if (signature) {\n let v = 27n + (signature.v === 27n ? 0n : 1n);\n if (chainId > 0)\n v = BigInt(chainId * 2) + BigInt(35n + signature.v - 27n);\n else if (signature.v !== v)\n throw new transaction_js_1.InvalidLegacyVError({ v: signature.v });\n serializedTransaction = [\n ...serializedTransaction,\n (0, toHex_js_1.toHex)(v),\n signature.r,\n signature.s,\n ];\n }\n else if (chainId > 0) {\n serializedTransaction = [\n ...serializedTransaction,\n (0, toHex_js_1.toHex)(chainId),\n '0x',\n '0x',\n ];\n }\n return (0, toRlp_js_1.toRlp)(serializedTransaction);\n}\n//# sourceMappingURL=serializeTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVUcmFuc2FjdGlvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCw0QkFBNEI7QUFDNUIseUJBQXlCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzlELG9CQUFvQixtQkFBTyxDQUFDLDRFQUFtQjtBQUMvQyxrQkFBa0IsbUJBQU8sQ0FBQyx3RUFBaUI7QUFDM0MsbUJBQW1CLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ2pELG1CQUFtQixtQkFBTyxDQUFDLGtGQUFzQjtBQUNqRCwrQkFBK0IsbUJBQU8sQ0FBQyxtR0FBd0I7QUFDL0QsZ0NBQWdDLG1CQUFPLENBQUMscUdBQXlCO0FBQ2pFLGlDQUFpQyxtQkFBTyxDQUFDLHVHQUEwQjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0EsWUFBWSx3RkFBd0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBNkQ7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVkscURBQXFEO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsZ0JBQWdCO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVUcmFuc2FjdGlvbi5qcz81OWU0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5zZXJpYWxpemVUcmFuc2FjdGlvbiA9IHZvaWQgMDtcbmNvbnN0IHRyYW5zYWN0aW9uX2pzXzEgPSByZXF1aXJlKFwiLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzXCIpO1xuY29uc3QgY29uY2F0X2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS9jb25jYXQuanNcIik7XG5jb25zdCB0cmltX2pzXzEgPSByZXF1aXJlKFwiLi4vZGF0YS90cmltLmpzXCIpO1xuY29uc3QgdG9IZXhfanNfMSA9IHJlcXVpcmUoXCIuLi9lbmNvZGluZy90b0hleC5qc1wiKTtcbmNvbnN0IHRvUmxwX2pzXzEgPSByZXF1aXJlKFwiLi4vZW5jb2RpbmcvdG9SbHAuanNcIik7XG5jb25zdCBhc3NlcnRUcmFuc2FjdGlvbl9qc18xID0gcmVxdWlyZShcIi4vYXNzZXJ0VHJhbnNhY3Rpb24uanNcIik7XG5jb25zdCBnZXRUcmFuc2FjdGlvblR5cGVfanNfMSA9IHJlcXVpcmUoXCIuL2dldFRyYW5zYWN0aW9uVHlwZS5qc1wiKTtcbmNvbnN0IHNlcmlhbGl6ZUFjY2Vzc0xpc3RfanNfMSA9IHJlcXVpcmUoXCIuL3NlcmlhbGl6ZUFjY2Vzc0xpc3QuanNcIik7XG5mdW5jdGlvbiBzZXJpYWxpemVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbiwgc2lnbmF0dXJlKSB7XG4gICAgY29uc3QgdHlwZSA9ICgwLCBnZXRUcmFuc2FjdGlvblR5cGVfanNfMS5nZXRUcmFuc2FjdGlvblR5cGUpKHRyYW5zYWN0aW9uKTtcbiAgICBpZiAodHlwZSA9PT0gJ2VpcDE1NTknKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplVHJhbnNhY3Rpb25FSVAxNTU5KHRyYW5zYWN0aW9uLCBzaWduYXR1cmUpO1xuICAgIGlmICh0eXBlID09PSAnZWlwMjkzMCcpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVUcmFuc2FjdGlvbkVJUDI5MzAodHJhbnNhY3Rpb24sIHNpZ25hdHVyZSk7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZVRyYW5zYWN0aW9uTGVnYWN5KHRyYW5zYWN0aW9uLCBzaWduYXR1cmUpO1xufVxuZXhwb3J0cy5zZXJpYWxpemVUcmFuc2FjdGlvbiA9IHNlcmlhbGl6ZVRyYW5zYWN0aW9uO1xuZnVuY3Rpb24gc2VyaWFsaXplVHJhbnNhY3Rpb25FSVAxNTU5KHRyYW5zYWN0aW9uLCBzaWduYXR1cmUpIHtcbiAgICBjb25zdCB7IGNoYWluSWQsIGdhcywgbm9uY2UsIHRvLCB2YWx1ZSwgbWF4RmVlUGVyR2FzLCBtYXhQcmlvcml0eUZlZVBlckdhcywgYWNjZXNzTGlzdCwgZGF0YSwgfSA9IHRyYW5zYWN0aW9uO1xuICAgICgwLCBhc3NlcnRUcmFuc2FjdGlvbl9qc18xLmFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSkodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRBY2Nlc3NMaXN0ID0gKDAsIHNlcmlhbGl6ZUFjY2Vzc0xpc3RfanNfMS5zZXJpYWxpemVBY2Nlc3NMaXN0KShhY2Nlc3NMaXN0KTtcbiAgICBjb25zdCBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBbXG4gICAgICAgICgwLCB0b0hleF9qc18xLnRvSGV4KShjaGFpbklkKSxcbiAgICAgICAgbm9uY2UgPyAoMCwgdG9IZXhfanNfMS50b0hleCkobm9uY2UpIDogJzB4JyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMgPyAoMCwgdG9IZXhfanNfMS50b0hleCkobWF4UHJpb3JpdHlGZWVQZXJHYXMpIDogJzB4JyxcbiAgICAgICAgbWF4RmVlUGVyR2FzID8gKDAsIHRvSGV4X2pzXzEudG9IZXgpKG1heEZlZVBlckdhcykgOiAnMHgnLFxuICAgICAgICBnYXMgPyAoMCwgdG9IZXhfanNfMS50b0hleCkoZ2FzKSA6ICcweCcsXG4gICAgICAgIHRvID8/ICcweCcsXG4gICAgICAgIHZhbHVlID8gKDAsIHRvSGV4X2pzXzEudG9IZXgpKHZhbHVlKSA6ICcweCcsXG4gICAgICAgIGRhdGEgPz8gJzB4JyxcbiAgICAgICAgc2VyaWFsaXplZEFjY2Vzc0xpc3QsXG4gICAgXTtcbiAgICBpZiAoc2lnbmF0dXJlKVxuICAgICAgICBzZXJpYWxpemVkVHJhbnNhY3Rpb24ucHVzaChzaWduYXR1cmUudiA9PT0gMjduID8gJzB4JyA6ICgwLCB0b0hleF9qc18xLnRvSGV4KSgxKSwgKDAsIHRyaW1fanNfMS50cmltKShzaWduYXR1cmUuciksICgwLCB0cmltX2pzXzEudHJpbSkoc2lnbmF0dXJlLnMpKTtcbiAgICByZXR1cm4gKDAsIGNvbmNhdF9qc18xLmNvbmNhdEhleCkoW1xuICAgICAgICAnMHgwMicsXG4gICAgICAgICgwLCB0b1JscF9qc18xLnRvUmxwKShzZXJpYWxpemVkVHJhbnNhY3Rpb24pLFxuICAgIF0pO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplVHJhbnNhY3Rpb25FSVAyOTMwKHRyYW5zYWN0aW9uLCBzaWduYXR1cmUpIHtcbiAgICBjb25zdCB7IGNoYWluSWQsIGdhcywgZGF0YSwgbm9uY2UsIHRvLCB2YWx1ZSwgYWNjZXNzTGlzdCwgZ2FzUHJpY2UgfSA9IHRyYW5zYWN0aW9uO1xuICAgICgwLCBhc3NlcnRUcmFuc2FjdGlvbl9qc18xLmFzc2VydFRyYW5zYWN0aW9uRUlQMjkzMCkodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRBY2Nlc3NMaXN0ID0gKDAsIHNlcmlhbGl6ZUFjY2Vzc0xpc3RfanNfMS5zZXJpYWxpemVBY2Nlc3NMaXN0KShhY2Nlc3NMaXN0KTtcbiAgICBjb25zdCBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBbXG4gICAgICAgICgwLCB0b0hleF9qc18xLnRvSGV4KShjaGFpbklkKSxcbiAgICAgICAgbm9uY2UgPyAoMCwgdG9IZXhfanNfMS50b0hleCkobm9uY2UpIDogJzB4JyxcbiAgICAgICAgZ2FzUHJpY2UgPyAoMCwgdG9IZXhfanNfMS50b0hleCkoZ2FzUHJpY2UpIDogJzB4JyxcbiAgICAgICAgZ2FzID8gKDAsIHRvSGV4X2pzXzEudG9IZXgpKGdhcykgOiAnMHgnLFxuICAgICAgICB0byA/PyAnMHgnLFxuICAgICAgICB2YWx1ZSA/ICgwLCB0b0hleF9qc18xLnRvSGV4KSh2YWx1ZSkgOiAnMHgnLFxuICAgICAgICBkYXRhID8/ICcweCcsXG4gICAgICAgIHNlcmlhbGl6ZWRBY2Nlc3NMaXN0LFxuICAgIF07XG4gICAgaWYgKHNpZ25hdHVyZSlcbiAgICAgICAgc2VyaWFsaXplZFRyYW5zYWN0aW9uLnB1c2goc2lnbmF0dXJlLnYgPT09IDI3biA/ICcweCcgOiAoMCwgdG9IZXhfanNfMS50b0hleCkoMSksIHNpZ25hdHVyZS5yLCBzaWduYXR1cmUucyk7XG4gICAgcmV0dXJuICgwLCBjb25jYXRfanNfMS5jb25jYXRIZXgpKFtcbiAgICAgICAgJzB4MDEnLFxuICAgICAgICAoMCwgdG9SbHBfanNfMS50b1JscCkoc2VyaWFsaXplZFRyYW5zYWN0aW9uKSxcbiAgICBdKTtcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZVRyYW5zYWN0aW9uTGVnYWN5KHRyYW5zYWN0aW9uLCBzaWduYXR1cmUpIHtcbiAgICBjb25zdCB7IGNoYWluSWQgPSAwLCBnYXMsIGRhdGEsIG5vbmNlLCB0bywgdmFsdWUsIGdhc1ByaWNlIH0gPSB0cmFuc2FjdGlvbjtcbiAgICAoMCwgYXNzZXJ0VHJhbnNhY3Rpb25fanNfMS5hc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSkodHJhbnNhY3Rpb24pO1xuICAgIGxldCBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBbXG4gICAgICAgIG5vbmNlID8gKDAsIHRvSGV4X2pzXzEudG9IZXgpKG5vbmNlKSA6ICcweCcsXG4gICAgICAgIGdhc1ByaWNlID8gKDAsIHRvSGV4X2pzXzEudG9IZXgpKGdhc1ByaWNlKSA6ICcweCcsXG4gICAgICAgIGdhcyA/ICgwLCB0b0hleF9qc18xLnRvSGV4KShnYXMpIDogJzB4JyxcbiAgICAgICAgdG8gPz8gJzB4JyxcbiAgICAgICAgdmFsdWUgPyAoMCwgdG9IZXhfanNfMS50b0hleCkodmFsdWUpIDogJzB4JyxcbiAgICAgICAgZGF0YSA/PyAnMHgnLFxuICAgIF07XG4gICAgaWYgKHNpZ25hdHVyZSkge1xuICAgICAgICBsZXQgdiA9IDI3biArIChzaWduYXR1cmUudiA9PT0gMjduID8gMG4gOiAxbik7XG4gICAgICAgIGlmIChjaGFpbklkID4gMClcbiAgICAgICAgICAgIHYgPSBCaWdJbnQoY2hhaW5JZCAqIDIpICsgQmlnSW50KDM1biArIHNpZ25hdHVyZS52IC0gMjduKTtcbiAgICAgICAgZWxzZSBpZiAoc2lnbmF0dXJlLnYgIT09IHYpXG4gICAgICAgICAgICB0aHJvdyBuZXcgdHJhbnNhY3Rpb25fanNfMS5JbnZhbGlkTGVnYWN5VkVycm9yKHsgdjogc2lnbmF0dXJlLnYgfSk7XG4gICAgICAgIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiA9IFtcbiAgICAgICAgICAgIC4uLnNlcmlhbGl6ZWRUcmFuc2FjdGlvbixcbiAgICAgICAgICAgICgwLCB0b0hleF9qc18xLnRvSGV4KSh2KSxcbiAgICAgICAgICAgIHNpZ25hdHVyZS5yLFxuICAgICAgICAgICAgc2lnbmF0dXJlLnMsXG4gICAgICAgIF07XG4gICAgfVxuICAgIGVsc2UgaWYgKGNoYWluSWQgPiAwKSB7XG4gICAgICAgIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiA9IFtcbiAgICAgICAgICAgIC4uLnNlcmlhbGl6ZWRUcmFuc2FjdGlvbixcbiAgICAgICAgICAgICgwLCB0b0hleF9qc18xLnRvSGV4KShjaGFpbklkKSxcbiAgICAgICAgICAgICcweCcsXG4gICAgICAgICAgICAnMHgnLFxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIHRvUmxwX2pzXzEudG9SbHApKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXJpYWxpemVUcmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/transaction/serializeTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/typedData.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/typedData.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateTypedData = void 0;\nconst abi_js_1 = __webpack_require__(/*! ../errors/abi.js */ \"./node_modules/viem/dist/cjs/errors/abi.js\");\nconst address_js_1 = __webpack_require__(/*! ../errors/address.js */ \"./node_modules/viem/dist/cjs/errors/address.js\");\nconst isAddress_js_1 = __webpack_require__(/*! ./address/isAddress.js */ \"./node_modules/viem/dist/cjs/utils/address/isAddress.js\");\nconst size_js_1 = __webpack_require__(/*! ./data/size.js */ \"./node_modules/viem/dist/cjs/utils/data/size.js\");\nconst toHex_js_1 = __webpack_require__(/*! ./encoding/toHex.js */ \"./node_modules/viem/dist/cjs/utils/encoding/toHex.js\");\nconst regex_js_1 = __webpack_require__(/*! ./regex.js */ \"./node_modules/viem/dist/cjs/utils/regex.js\");\nfunction validateTypedData({ domain, message, primaryType, types: types_, }) {\n const types = types_;\n const validateData = (struct, value_) => {\n for (const param of struct) {\n const { name, type: type_ } = param;\n const type = type_;\n const value = value_[name];\n const integerMatch = type.match(regex_js_1.integerRegex);\n if (integerMatch &&\n (typeof value === 'number' || typeof value === 'bigint')) {\n const [_type, base, size_] = integerMatch;\n (0, toHex_js_1.numberToHex)(value, {\n signed: base === 'int',\n size: parseInt(size_) / 8,\n });\n }\n if (type === 'address' && typeof value === 'string' && !(0, isAddress_js_1.isAddress)(value))\n throw new address_js_1.InvalidAddressError({ address: value });\n const bytesMatch = type.match(regex_js_1.bytesRegex);\n if (bytesMatch) {\n const [_type, size_] = bytesMatch;\n if (size_ && (0, size_js_1.size)(value) !== parseInt(size_))\n throw new abi_js_1.BytesSizeMismatchError({\n expectedSize: parseInt(size_),\n givenSize: (0, size_js_1.size)(value),\n });\n }\n const struct = types[type];\n if (struct)\n validateData(struct, value);\n }\n };\n if (types['EIP712Domain'] && domain)\n validateData(types['EIP712Domain'], domain);\n if (primaryType !== 'EIP712Domain') {\n const type = types[primaryType];\n validateData(type, message);\n }\n}\nexports.validateTypedData = validateTypedData;\n//# sourceMappingURL=typedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90eXBlZERhdGEuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QseUJBQXlCO0FBQ3pCLGlCQUFpQixtQkFBTyxDQUFDLG9FQUFrQjtBQUMzQyxxQkFBcUIsbUJBQU8sQ0FBQyw0RUFBc0I7QUFDbkQsdUJBQXVCLG1CQUFPLENBQUMsdUZBQXdCO0FBQ3ZELGtCQUFrQixtQkFBTyxDQUFDLHVFQUFnQjtBQUMxQyxtQkFBbUIsbUJBQU8sQ0FBQyxpRkFBcUI7QUFDaEQsbUJBQW1CLG1CQUFPLENBQUMsK0RBQVk7QUFDdkMsNkJBQTZCLDhDQUE4QztBQUMzRTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isb0JBQW9CO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsNkRBQTZELGdCQUFnQjtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy90eXBlZERhdGEuanM/ZDVlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudmFsaWRhdGVUeXBlZERhdGEgPSB2b2lkIDA7XG5jb25zdCBhYmlfanNfMSA9IHJlcXVpcmUoXCIuLi9lcnJvcnMvYWJpLmpzXCIpO1xuY29uc3QgYWRkcmVzc19qc18xID0gcmVxdWlyZShcIi4uL2Vycm9ycy9hZGRyZXNzLmpzXCIpO1xuY29uc3QgaXNBZGRyZXNzX2pzXzEgPSByZXF1aXJlKFwiLi9hZGRyZXNzL2lzQWRkcmVzcy5qc1wiKTtcbmNvbnN0IHNpemVfanNfMSA9IHJlcXVpcmUoXCIuL2RhdGEvc2l6ZS5qc1wiKTtcbmNvbnN0IHRvSGV4X2pzXzEgPSByZXF1aXJlKFwiLi9lbmNvZGluZy90b0hleC5qc1wiKTtcbmNvbnN0IHJlZ2V4X2pzXzEgPSByZXF1aXJlKFwiLi9yZWdleC5qc1wiKTtcbmZ1bmN0aW9uIHZhbGlkYXRlVHlwZWREYXRhKHsgZG9tYWluLCBtZXNzYWdlLCBwcmltYXJ5VHlwZSwgdHlwZXM6IHR5cGVzXywgfSkge1xuICAgIGNvbnN0IHR5cGVzID0gdHlwZXNfO1xuICAgIGNvbnN0IHZhbGlkYXRlRGF0YSA9IChzdHJ1Y3QsIHZhbHVlXykgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IHBhcmFtIG9mIHN0cnVjdCkge1xuICAgICAgICAgICAgY29uc3QgeyBuYW1lLCB0eXBlOiB0eXBlXyB9ID0gcGFyYW07XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gdHlwZV87XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlX1tuYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IGludGVnZXJNYXRjaCA9IHR5cGUubWF0Y2gocmVnZXhfanNfMS5pbnRlZ2VyUmVnZXgpO1xuICAgICAgICAgICAgaWYgKGludGVnZXJNYXRjaCAmJlxuICAgICAgICAgICAgICAgICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW190eXBlLCBiYXNlLCBzaXplX10gPSBpbnRlZ2VyTWF0Y2g7XG4gICAgICAgICAgICAgICAgKDAsIHRvSGV4X2pzXzEubnVtYmVyVG9IZXgpKHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgICAgIHNpZ25lZDogYmFzZSA9PT0gJ2ludCcsXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHBhcnNlSW50KHNpemVfKSAvIDgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2FkZHJlc3MnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgISgwLCBpc0FkZHJlc3NfanNfMS5pc0FkZHJlc3MpKHZhbHVlKSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgYWRkcmVzc19qc18xLkludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzTWF0Y2ggPSB0eXBlLm1hdGNoKHJlZ2V4X2pzXzEuYnl0ZXNSZWdleCk7XG4gICAgICAgICAgICBpZiAoYnl0ZXNNYXRjaCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtfdHlwZSwgc2l6ZV9dID0gYnl0ZXNNYXRjaDtcbiAgICAgICAgICAgICAgICBpZiAoc2l6ZV8gJiYgKDAsIHNpemVfanNfMS5zaXplKSh2YWx1ZSkgIT09IHBhcnNlSW50KHNpemVfKSlcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGFiaV9qc18xLkJ5dGVzU2l6ZU1pc21hdGNoRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRTaXplOiBwYXJzZUludChzaXplXyksXG4gICAgICAgICAgICAgICAgICAgICAgICBnaXZlblNpemU6ICgwLCBzaXplX2pzXzEuc2l6ZSkodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHN0cnVjdCA9IHR5cGVzW3R5cGVdO1xuICAgICAgICAgICAgaWYgKHN0cnVjdClcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZURhdGEoc3RydWN0LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGlmICh0eXBlc1snRUlQNzEyRG9tYWluJ10gJiYgZG9tYWluKVxuICAgICAgICB2YWxpZGF0ZURhdGEodHlwZXNbJ0VJUDcxMkRvbWFpbiddLCBkb21haW4pO1xuICAgIGlmIChwcmltYXJ5VHlwZSAhPT0gJ0VJUDcxMkRvbWFpbicpIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IHR5cGVzW3ByaW1hcnlUeXBlXTtcbiAgICAgICAgdmFsaWRhdGVEYXRhKHR5cGUsIG1lc3NhZ2UpO1xuICAgIH1cbn1cbmV4cG9ydHMudmFsaWRhdGVUeXBlZERhdGEgPSB2YWxpZGF0ZVR5cGVkRGF0YTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXR5cGVkRGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/typedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/uid.js": -/*!*************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/uid.js ***! - \*************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.uid = void 0;\nconst size = 256;\nlet index = size;\nlet buffer;\nfunction uid(length = 11) {\n if (!buffer || index + length > size * 2) {\n buffer = '';\n index = 0;\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1);\n }\n }\n return buffer.substring(index, index++ + length);\n}\nexports.uid = uid;\n//# sourceMappingURL=uid.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91aWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0QsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFVBQVU7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91aWQuanM/MjRlZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMudWlkID0gdm9pZCAwO1xuY29uc3Qgc2l6ZSA9IDI1NjtcbmxldCBpbmRleCA9IHNpemU7XG5sZXQgYnVmZmVyO1xuZnVuY3Rpb24gdWlkKGxlbmd0aCA9IDExKSB7XG4gICAgaWYgKCFidWZmZXIgfHwgaW5kZXggKyBsZW5ndGggPiBzaXplICogMikge1xuICAgICAgICBidWZmZXIgPSAnJztcbiAgICAgICAgaW5kZXggPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgICAgICAgYnVmZmVyICs9ICgoMjU2ICsgTWF0aC5yYW5kb20oKSAqIDI1NikgfCAwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBidWZmZXIuc3Vic3RyaW5nKGluZGV4LCBpbmRleCsrICsgbGVuZ3RoKTtcbn1cbmV4cG9ydHMudWlkID0gdWlkO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dWlkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/uid.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/unit/formatEther.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/unit/formatEther.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatEther = void 0;\nconst unit_js_1 = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/cjs/constants/unit.js\");\nconst formatUnits_js_1 = __webpack_require__(/*! ./formatUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatUnits.js\");\nfunction formatEther(wei, unit = 'wei') {\n return (0, formatUnits_js_1.formatUnits)(wei, unit_js_1.etherUnits[unit]);\n}\nexports.formatEther = formatEther;\n//# sourceMappingURL=formatEther.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L2Zvcm1hdEV0aGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQjtBQUNuQixrQkFBa0IsbUJBQU8sQ0FBQywrRUFBeUI7QUFDbkQseUJBQXlCLG1CQUFPLENBQUMsZ0ZBQWtCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L2Zvcm1hdEV0aGVyLmpzP2EyOGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLmZvcm1hdEV0aGVyID0gdm9pZCAwO1xuY29uc3QgdW5pdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy91bml0LmpzXCIpO1xuY29uc3QgZm9ybWF0VW5pdHNfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdFVuaXRzLmpzXCIpO1xuZnVuY3Rpb24gZm9ybWF0RXRoZXIod2VpLCB1bml0ID0gJ3dlaScpIHtcbiAgICByZXR1cm4gKDAsIGZvcm1hdFVuaXRzX2pzXzEuZm9ybWF0VW5pdHMpKHdlaSwgdW5pdF9qc18xLmV0aGVyVW5pdHNbdW5pdF0pO1xufVxuZXhwb3J0cy5mb3JtYXRFdGhlciA9IGZvcm1hdEV0aGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0RXRoZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/unit/formatEther.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/unit/formatGwei.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/unit/formatGwei.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatGwei = void 0;\nconst unit_js_1 = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/cjs/constants/unit.js\");\nconst formatUnits_js_1 = __webpack_require__(/*! ./formatUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/formatUnits.js\");\nfunction formatGwei(wei, unit = 'wei') {\n return (0, formatUnits_js_1.formatUnits)(wei, unit_js_1.gweiUnits[unit]);\n}\nexports.formatGwei = formatGwei;\n//# sourceMappingURL=formatGwei.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L2Zvcm1hdEd3ZWkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCO0FBQ2xCLGtCQUFrQixtQkFBTyxDQUFDLCtFQUF5QjtBQUNuRCx5QkFBeUIsbUJBQU8sQ0FBQyxnRkFBa0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qcz9hMWQxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5mb3JtYXRHd2VpID0gdm9pZCAwO1xuY29uc3QgdW5pdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy91bml0LmpzXCIpO1xuY29uc3QgZm9ybWF0VW5pdHNfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdFVuaXRzLmpzXCIpO1xuZnVuY3Rpb24gZm9ybWF0R3dlaSh3ZWksIHVuaXQgPSAnd2VpJykge1xuICAgIHJldHVybiAoMCwgZm9ybWF0VW5pdHNfanNfMS5mb3JtYXRVbml0cykod2VpLCB1bml0X2pzXzEuZ3dlaVVuaXRzW3VuaXRdKTtcbn1cbmV4cG9ydHMuZm9ybWF0R3dlaSA9IGZvcm1hdEd3ZWk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXRHd2VpLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/unit/formatGwei.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/unit/formatUnits.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/unit/formatUnits.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatUnits = void 0;\nfunction formatUnits(value, decimals) {\n let display = value.toString();\n const negative = display.startsWith('-');\n if (negative)\n display = display.slice(1);\n display = display.padStart(decimals, '0');\n let [integer, fraction] = [\n display.slice(0, display.length - decimals),\n display.slice(display.length - decimals),\n ];\n fraction = fraction.replace(/(0+)$/, '');\n return `${negative ? '-' : ''}${integer || '0'}${fraction ? `.${fraction}` : ''}`;\n}\nexports.formatUnits = formatUnits;\n//# sourceMappingURL=formatUnits.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L2Zvcm1hdFVuaXRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxTQUFTLE9BQU87QUFDcEY7QUFDQSxtQkFBbUI7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvdW5pdC9mb3JtYXRVbml0cy5qcz85OTY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5mb3JtYXRVbml0cyA9IHZvaWQgMDtcbmZ1bmN0aW9uIGZvcm1hdFVuaXRzKHZhbHVlLCBkZWNpbWFscykge1xuICAgIGxldCBkaXNwbGF5ID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICBjb25zdCBuZWdhdGl2ZSA9IGRpc3BsYXkuc3RhcnRzV2l0aCgnLScpO1xuICAgIGlmIChuZWdhdGl2ZSlcbiAgICAgICAgZGlzcGxheSA9IGRpc3BsYXkuc2xpY2UoMSk7XG4gICAgZGlzcGxheSA9IGRpc3BsYXkucGFkU3RhcnQoZGVjaW1hbHMsICcwJyk7XG4gICAgbGV0IFtpbnRlZ2VyLCBmcmFjdGlvbl0gPSBbXG4gICAgICAgIGRpc3BsYXkuc2xpY2UoMCwgZGlzcGxheS5sZW5ndGggLSBkZWNpbWFscyksXG4gICAgICAgIGRpc3BsYXkuc2xpY2UoZGlzcGxheS5sZW5ndGggLSBkZWNpbWFscyksXG4gICAgXTtcbiAgICBmcmFjdGlvbiA9IGZyYWN0aW9uLnJlcGxhY2UoLygwKykkLywgJycpO1xuICAgIHJldHVybiBgJHtuZWdhdGl2ZSA/ICctJyA6ICcnfSR7aW50ZWdlciB8fCAnMCd9JHtmcmFjdGlvbiA/IGAuJHtmcmFjdGlvbn1gIDogJyd9YDtcbn1cbmV4cG9ydHMuZm9ybWF0VW5pdHMgPSBmb3JtYXRVbml0cztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdFVuaXRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/unit/formatUnits.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/unit/parseEther.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/unit/parseEther.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseEther = void 0;\nconst unit_js_1 = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/cjs/constants/unit.js\");\nconst parseUnits_js_1 = __webpack_require__(/*! ./parseUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseUnits.js\");\nfunction parseEther(ether, unit = 'wei') {\n return (0, parseUnits_js_1.parseUnits)(ether, unit_js_1.etherUnits[unit]);\n}\nexports.parseEther = parseEther;\n//# sourceMappingURL=parseEther.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L3BhcnNlRXRoZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCO0FBQ2xCLGtCQUFrQixtQkFBTyxDQUFDLCtFQUF5QjtBQUNuRCx3QkFBd0IsbUJBQU8sQ0FBQyw4RUFBaUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvY2pzL3V0aWxzL3VuaXQvcGFyc2VFdGhlci5qcz82ODc2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wYXJzZUV0aGVyID0gdm9pZCAwO1xuY29uc3QgdW5pdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy91bml0LmpzXCIpO1xuY29uc3QgcGFyc2VVbml0c19qc18xID0gcmVxdWlyZShcIi4vcGFyc2VVbml0cy5qc1wiKTtcbmZ1bmN0aW9uIHBhcnNlRXRoZXIoZXRoZXIsIHVuaXQgPSAnd2VpJykge1xuICAgIHJldHVybiAoMCwgcGFyc2VVbml0c19qc18xLnBhcnNlVW5pdHMpKGV0aGVyLCB1bml0X2pzXzEuZXRoZXJVbml0c1t1bml0XSk7XG59XG5leHBvcnRzLnBhcnNlRXRoZXIgPSBwYXJzZUV0aGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFyc2VFdGhlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/unit/parseEther.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/unit/parseGwei.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/unit/parseGwei.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseGwei = void 0;\nconst unit_js_1 = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/cjs/constants/unit.js\");\nconst parseUnits_js_1 = __webpack_require__(/*! ./parseUnits.js */ \"./node_modules/viem/dist/cjs/utils/unit/parseUnits.js\");\nfunction parseGwei(ether, unit = 'wei') {\n return (0, parseUnits_js_1.parseUnits)(ether, unit_js_1.gweiUnits[unit]);\n}\nexports.parseGwei = parseGwei;\n//# sourceMappingURL=parseGwei.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L3BhcnNlR3dlaS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsa0JBQWtCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ25ELHdCQUF3QixtQkFBTyxDQUFDLDhFQUFpQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvdW5pdC9wYXJzZUd3ZWkuanM/ZTQyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2VHd2VpID0gdm9pZCAwO1xuY29uc3QgdW5pdF9qc18xID0gcmVxdWlyZShcIi4uLy4uL2NvbnN0YW50cy91bml0LmpzXCIpO1xuY29uc3QgcGFyc2VVbml0c19qc18xID0gcmVxdWlyZShcIi4vcGFyc2VVbml0cy5qc1wiKTtcbmZ1bmN0aW9uIHBhcnNlR3dlaShldGhlciwgdW5pdCA9ICd3ZWknKSB7XG4gICAgcmV0dXJuICgwLCBwYXJzZVVuaXRzX2pzXzEucGFyc2VVbml0cykoZXRoZXIsIHVuaXRfanNfMS5nd2VpVW5pdHNbdW5pdF0pO1xufVxuZXhwb3J0cy5wYXJzZUd3ZWkgPSBwYXJzZUd3ZWk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZUd3ZWkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/unit/parseGwei.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/unit/parseUnits.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/unit/parseUnits.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseUnits = void 0;\nfunction parseUnits(value, decimals) {\n let [integer, fraction = '0'] = value.split('.');\n const negative = integer.startsWith('-');\n if (negative)\n integer = integer.slice(1);\n fraction = fraction.replace(/(0+)$/, '');\n if (decimals === 0) {\n integer = `${Math.round(Number(`${integer}.${fraction}`))}`;\n fraction = '';\n }\n else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ];\n const rounded = Math.round(Number(`${unit}.${right}`));\n if (rounded > 9)\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0');\n else\n fraction = `${left}${rounded}`;\n if (fraction.length > decimals) {\n fraction = fraction.slice(1);\n integer = `${BigInt(integer) + 1n}`;\n }\n fraction = fraction.slice(0, decimals);\n }\n else {\n fraction = fraction.padEnd(decimals, '0');\n }\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`);\n}\nexports.parseUnits = parseUnits;\n//# sourceMappingURL=parseUnits.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L3BhcnNlVW5pdHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHFCQUFxQixRQUFRLEdBQUcsU0FBUyxJQUFJO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsS0FBSyxHQUFHLE1BQU07QUFDM0Q7QUFDQSwwQkFBMEIseUJBQXlCO0FBQ25EO0FBQ0EsMEJBQTBCLEtBQUssRUFBRSxRQUFRO0FBQ3pDO0FBQ0E7QUFDQSx5QkFBeUIscUJBQXFCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixvQkFBb0IsRUFBRSxRQUFRLEVBQUUsU0FBUztBQUM5RDtBQUNBLGtCQUFrQjtBQUNsQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy91bml0L3BhcnNlVW5pdHMuanM/YTE3ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2VVbml0cyA9IHZvaWQgMDtcbmZ1bmN0aW9uIHBhcnNlVW5pdHModmFsdWUsIGRlY2ltYWxzKSB7XG4gICAgbGV0IFtpbnRlZ2VyLCBmcmFjdGlvbiA9ICcwJ10gPSB2YWx1ZS5zcGxpdCgnLicpO1xuICAgIGNvbnN0IG5lZ2F0aXZlID0gaW50ZWdlci5zdGFydHNXaXRoKCctJyk7XG4gICAgaWYgKG5lZ2F0aXZlKVxuICAgICAgICBpbnRlZ2VyID0gaW50ZWdlci5zbGljZSgxKTtcbiAgICBmcmFjdGlvbiA9IGZyYWN0aW9uLnJlcGxhY2UoLygwKykkLywgJycpO1xuICAgIGlmIChkZWNpbWFscyA9PT0gMCkge1xuICAgICAgICBpbnRlZ2VyID0gYCR7TWF0aC5yb3VuZChOdW1iZXIoYCR7aW50ZWdlcn0uJHtmcmFjdGlvbn1gKSl9YDtcbiAgICAgICAgZnJhY3Rpb24gPSAnJztcbiAgICB9XG4gICAgZWxzZSBpZiAoZnJhY3Rpb24ubGVuZ3RoID4gZGVjaW1hbHMpIHtcbiAgICAgICAgY29uc3QgW2xlZnQsIHVuaXQsIHJpZ2h0XSA9IFtcbiAgICAgICAgICAgIGZyYWN0aW9uLnNsaWNlKDAsIGRlY2ltYWxzIC0gMSksXG4gICAgICAgICAgICBmcmFjdGlvbi5zbGljZShkZWNpbWFscyAtIDEsIGRlY2ltYWxzKSxcbiAgICAgICAgICAgIGZyYWN0aW9uLnNsaWNlKGRlY2ltYWxzKSxcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3Qgcm91bmRlZCA9IE1hdGgucm91bmQoTnVtYmVyKGAke3VuaXR9LiR7cmlnaHR9YCkpO1xuICAgICAgICBpZiAocm91bmRlZCA+IDkpXG4gICAgICAgICAgICBmcmFjdGlvbiA9IGAke0JpZ0ludChsZWZ0KSArIEJpZ0ludCgxKX0wYC5wYWRTdGFydChsZWZ0Lmxlbmd0aCArIDEsICcwJyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGZyYWN0aW9uID0gYCR7bGVmdH0ke3JvdW5kZWR9YDtcbiAgICAgICAgaWYgKGZyYWN0aW9uLmxlbmd0aCA+IGRlY2ltYWxzKSB7XG4gICAgICAgICAgICBmcmFjdGlvbiA9IGZyYWN0aW9uLnNsaWNlKDEpO1xuICAgICAgICAgICAgaW50ZWdlciA9IGAke0JpZ0ludChpbnRlZ2VyKSArIDFufWA7XG4gICAgICAgIH1cbiAgICAgICAgZnJhY3Rpb24gPSBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFscyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBmcmFjdGlvbiA9IGZyYWN0aW9uLnBhZEVuZChkZWNpbWFscywgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuIEJpZ0ludChgJHtuZWdhdGl2ZSA/ICctJyA6ICcnfSR7aW50ZWdlcn0ke2ZyYWN0aW9ufWApO1xufVxuZXhwb3J0cy5wYXJzZVVuaXRzID0gcGFyc2VVbml0cztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlVW5pdHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/unit/parseUnits.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/cjs/utils/wait.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/cjs/utils/wait.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.wait = void 0;\nasync function wait(time) {\n return new Promise((res) => setTimeout(res, time));\n}\nexports.wait = wait;\n//# sourceMappingURL=wait.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2Nqcy91dGlscy93YWl0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdELFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9janMvdXRpbHMvd2FpdC5qcz9hNTEwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy53YWl0ID0gdm9pZCAwO1xuYXN5bmMgZnVuY3Rpb24gd2FpdCh0aW1lKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMpID0+IHNldFRpbWVvdXQocmVzLCB0aW1lKSk7XG59XG5leHBvcnRzLndhaXQgPSB3YWl0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FpdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/cjs/utils/wait.js\n")); - -/***/ }), - -/***/ "./node_modules/@adraffy/ens-normalize/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@adraffy/ens-normalize/dist/index.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ens_beautify: function() { return /* binding */ ens_beautify; },\n/* harmony export */ ens_emoji: function() { return /* binding */ ens_emoji; },\n/* harmony export */ ens_normalize: function() { return /* binding */ ens_normalize; },\n/* harmony export */ ens_normalize_fragment: function() { return /* binding */ ens_normalize_fragment; },\n/* harmony export */ ens_split: function() { return /* binding */ ens_split; },\n/* harmony export */ ens_tokenize: function() { return /* binding */ ens_tokenize; },\n/* harmony export */ is_combining_mark: function() { return /* binding */ is_combining_mark; },\n/* harmony export */ nfc: function() { return /* binding */ nfc; },\n/* harmony export */ nfd: function() { return /* binding */ nfd; },\n/* harmony export */ safe_str_from_cps: function() { return /* binding */ safe_str_from_cps; },\n/* harmony export */ should_escape: function() { return /* binding */ should_escape; }\n/* harmony export */ });\nfunction decode_arithmetic(bytes) {\r\n\tlet pos = 0;\r\n\tfunction u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\r\n\t\r\n\t// decode the frequency table\r\n\tlet symbol_count = u16();\r\n\tlet total = 1;\r\n\tlet acc = [0, 1]; // first symbol has frequency 1\r\n\tfor (let i = 1; i < symbol_count; i++) {\r\n\t\tacc.push(total += u16());\r\n\t}\r\n\r\n\t// skip the sized-payload that the last 3 symbols index into\r\n\tlet skip = u16();\r\n\tlet pos_payload = pos;\r\n\tpos += skip;\r\n\r\n\tlet read_width = 0;\r\n\tlet read_buffer = 0; \r\n\tfunction read_bit() {\r\n\t\tif (read_width == 0) {\r\n\t\t\t// this will read beyond end of buffer\r\n\t\t\t// but (undefined|0) => zero pad\r\n\t\t\tread_buffer = (read_buffer << 8) | bytes[pos++];\r\n\t\t\tread_width = 8;\r\n\t\t}\r\n\t\treturn (read_buffer >> --read_width) & 1;\r\n\t}\r\n\r\n\tconst N = 31;\r\n\tconst FULL = 2**N;\r\n\tconst HALF = FULL >>> 1;\r\n\tconst QRTR = HALF >> 1;\r\n\tconst MASK = FULL - 1;\r\n\r\n\t// fill register\r\n\tlet register = 0;\r\n\tfor (let i = 0; i < N; i++) register = (register << 1) | read_bit();\r\n\r\n\tlet symbols = [];\r\n\tlet low = 0;\r\n\tlet range = FULL; // treat like a float\r\n\twhile (true) {\r\n\t\tlet value = Math.floor((((register - low + 1) * total) - 1) / range);\r\n\t\tlet start = 0;\r\n\t\tlet end = symbol_count;\r\n\t\twhile (end - start > 1) { // binary search\r\n\t\t\tlet mid = (start + end) >>> 1;\r\n\t\t\tif (value < acc[mid]) {\r\n\t\t\t\tend = mid;\r\n\t\t\t} else {\r\n\t\t\t\tstart = mid;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (start == 0) break; // first symbol is end mark\r\n\t\tsymbols.push(start);\r\n\t\tlet a = low + Math.floor(range * acc[start] / total);\r\n\t\tlet b = low + Math.floor(range * acc[start+1] / total) - 1;\r\n\t\twhile (((a ^ b) & HALF) == 0) {\r\n\t\t\tregister = (register << 1) & MASK | read_bit();\r\n\t\t\ta = (a << 1) & MASK;\r\n\t\t\tb = (b << 1) & MASK | 1;\r\n\t\t}\r\n\t\twhile (a & ~b & QRTR) {\r\n\t\t\tregister = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\r\n\t\t\ta = (a << 1) ^ HALF;\r\n\t\t\tb = ((b ^ HALF) << 1) | HALF | 1;\r\n\t\t}\r\n\t\tlow = a;\r\n\t\trange = 1 + b - a;\r\n\t}\r\n\tlet offset = symbol_count - 4;\r\n\treturn symbols.map(x => { // index into payload\r\n\t\tswitch (x - offset) {\r\n\t\t\tcase 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\r\n\t\t\tcase 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\r\n\t\t\tcase 1: return offset + bytes[pos_payload++];\r\n\t\t\tdefault: return x - 1;\r\n\t\t}\r\n\t});\r\n}\t\r\n\r\n// returns an iterator which returns the next symbol\r\nfunction read_payload(v) {\r\n\tlet pos = 0;\r\n\treturn () => v[pos++];\r\n}\r\nfunction read_compressed_payload(s) {\r\n\treturn read_payload(decode_arithmetic(unsafe_atob(s)));\r\n}\r\n\r\n// unsafe in the sense:\r\n// expected well-formed Base64 w/o padding \r\nfunction unsafe_atob(s) {\r\n\tlet lookup = [];\r\n\t[...'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'].forEach((c, i) => lookup[c.charCodeAt(0)] = i);\r\n\tlet n = s.length;\r\n\tlet ret = new Uint8Array((6 * n) >> 3);\r\n\tfor (let i = 0, pos = 0, width = 0, carry = 0; i < n; i++) {\r\n\t\tcarry = (carry << 6) | lookup[s.charCodeAt(i)];\r\n\t\twidth += 6;\r\n\t\tif (width >= 8) {\r\n\t\t\tret[pos++] = (carry >> (width -= 8));\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\r\nfunction signed(i) { \r\n\treturn (i & 1) ? (~i >> 1) : (i >> 1);\r\n}\r\n\r\nfunction read_deltas(n, next) {\r\n\tlet v = Array(n);\r\n\tfor (let i = 0, x = 0; i < n; i++) v[i] = x += signed(next());\r\n\treturn v;\r\n}\r\n\r\n// [123][5] => [0 3] [1 1] [0 0]\r\nfunction read_sorted(next, prev = 0) {\r\n\tlet ret = [];\r\n\twhile (true) {\r\n\t\tlet x = next();\r\n\t\tlet n = next();\r\n\t\tif (!n) break;\r\n\t\tprev += x;\r\n\t\tfor (let i = 0; i < n; i++) {\r\n\t\t\tret.push(prev + i);\r\n\t\t}\r\n\t\tprev += n + 1;\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction read_sorted_arrays(next) {\r\n\treturn read_array_while(() => { \r\n\t\tlet v = read_sorted(next);\r\n\t\tif (v.length) return v;\r\n\t});\r\n}\r\n\r\n// returns map of x => ys\r\nfunction read_mapped(next) {\r\n\tlet ret = [];\r\n\twhile (true) {\r\n\t\tlet w = next();\r\n\t\tif (w == 0) break;\r\n\t\tret.push(read_linear_table(w, next));\r\n\t}\r\n\twhile (true) {\r\n\t\tlet w = next() - 1;\r\n\t\tif (w < 0) break;\r\n\t\tret.push(read_replacement_table(w, next));\r\n\t}\r\n\treturn ret.flat();\r\n}\r\n\r\n// read until next is falsy\r\n// return array of read values\r\nfunction read_array_while(next) {\r\n\tlet v = [];\r\n\twhile (true) {\r\n\t\tlet x = next(v.length);\r\n\t\tif (!x) break;\r\n\t\tv.push(x);\r\n\t}\r\n\treturn v;\r\n}\r\n\r\n// read w columns of length n\r\n// return as n rows of length w\r\nfunction read_transposed(n, w, next) {\r\n\tlet m = Array(n).fill().map(() => []);\r\n\tfor (let i = 0; i < w; i++) {\r\n\t\tread_deltas(n, next).forEach((x, j) => m[j].push(x));\r\n\t}\r\n\treturn m;\r\n}\r\n \r\n// returns [[x, ys], [x+dx, ys+dy], [x+2*dx, ys+2*dy], ...]\r\n// where dx/dy = steps, n = run size, w = length of y\r\nfunction read_linear_table(w, next) {\r\n\tlet dx = 1 + next();\r\n\tlet dy = next();\r\n\tlet vN = read_array_while(next);\r\n\tlet m = read_transposed(vN.length, 1+w, next);\r\n\treturn m.flatMap((v, i) => {\r\n\t\tlet [x, ...ys] = v;\r\n\t\treturn Array(vN[i]).fill().map((_, j) => {\r\n\t\t\tlet j_dy = j * dy;\r\n\t\t\treturn [x + j * dx, ys.map(y => y + j_dy)];\r\n\t\t});\r\n\t});\r\n}\r\n\r\n// return [[x, ys...], ...]\r\n// where w = length of y\r\nfunction read_replacement_table(w, next) { \r\n\tlet n = 1 + next();\r\n\tlet m = read_transposed(n, 1+w, next);\r\n\treturn m.map(v => [v[0], v.slice(1)]);\r\n}\n\n// created 2023-02-21T09:18:13.549Z\nvar r$1 = read_compressed_payload('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');\nconst FENCED = new Map([[8217,\"apostrophe\"],[8260,\"fraction slash\"],[12539,\"middle dot\"]]);\nconst NSM_MAX = 4;\n\nfunction hex_cp(cp) {\r\n\treturn cp.toString(16).toUpperCase().padStart(2, '0');\r\n}\r\n\r\nfunction quote_cp(cp) {\r\n\treturn `{${hex_cp(cp)}}`; // raffy convention: like \"\\u{X}\" w/o the \"\\u\"\r\n}\r\n\r\n/*\r\nexport function explode_cp(s) {\r\n\treturn [...s].map(c => c.codePointAt(0));\r\n}\r\n*/\r\nfunction explode_cp(s) { // this is about 2x faster\r\n\tlet cps = [];\r\n\tfor (let pos = 0, len = s.length; pos < len; ) {\r\n\t\tlet cp = s.codePointAt(pos);\r\n\t\tpos += cp < 0x10000 ? 1 : 2;\r\n\t\tcps.push(cp);\r\n\t}\r\n\treturn cps;\r\n}\r\n\r\nfunction str_from_cps(cps) {\r\n\tconst chunk = 4096;\r\n\tlet len = cps.length;\r\n\tif (len < chunk) return String.fromCodePoint(...cps);\r\n\tlet buf = [];\r\n\tfor (let i = 0; i < len; ) {\r\n\t\tbuf.push(String.fromCodePoint(...cps.slice(i, i += chunk)));\r\n\t}\r\n\treturn buf.join('');\r\n}\r\n\r\nfunction compare_arrays(a, b) {\r\n\tlet n = a.length;\r\n\tlet c = n - b.length;\r\n\tfor (let i = 0; c == 0 && i < n; i++) c = a[i] - b[i];\r\n\treturn c;\r\n}\n\n// created 2023-02-21T09:18:13.549Z\nvar r = read_compressed_payload('AEUDTAHBCFQATQDRADAAcgAgADQAFAAsABQAHwAOACQADQARAAoAFwAHABIACAAPAAUACwAFAAwABAAQAAMABwAEAAoABQAIAAIACgABAAQAFAALAAIACwABAAIAAQAHAAMAAwAEAAsADAAMAAwACgANAA0AAwAKAAkABAAdAAYAZwDSAdsDJgC0CkMB8xhZAqfoC190UGcThgBurwf7PT09Pb09AjgJum8OjDllxHYUKXAPxzq6tABAxgK8ysUvWAgMPT09PT09PSs6LT2HcgWXWwFLoSMEEEl5RFVMKvO0XQ8ExDdJMnIgsj26PTQyy8FfEQ8AY8IPAGcEbwRwBHEEcgRzBHQEdQR2BHcEeAR6BHsEfAR+BIAEgfndBQoBYgULAWIFDAFiBNcE2ATZBRAFEQUvBdALFAsVDPcNBw13DYcOMA4xDjMB4BllHI0B2grbAMDpHLkQ7QHVAPRNQQFnGRUEg0yEB2uaJF8AJpIBpob5AERSMAKNoAXqaQLUBMCzEiACnwRZEkkVsS7tANAsBG0RuAQLEPABv9HICTUBXigPZwRBApMDOwAamhtaABqEAY8KvKx3LQ4ArAB8UhwEBAVSagD8AEFZADkBIadVj2UMUgx5Il4ANQC9AxIB1BlbEPMAs30CGxlXAhwZKQIECBc6EbsCoxngzv7UzRQA8M0BawL6ZwkN7wABAD33OQRcsgLJCjMCjqUChtw/km+NAsXPAoP2BT84PwURAK0RAvptb6cApQS/OMMey5HJS84UdxpxTPkCogVFITaTOwERAK5pAvkNBOVyA7q3BKlOJSALAgUIBRcEdASpBXqzABXFSWZOawLCOqw//AolCZdvv3dSBkEQGyelEPcMMwG1ATsN7UvYBPEGOwTJH30ZGQ/NlZwIpS3dDO0m4y6hgFoj9SqDBe1L9DzdC01RaA9ZC2UJ4zpjgU4DIQENIosK3Q05CG0Q8wrJaw3lEUUHOQPVSZoApQcBCxEdNRW1JhBirAsJOXcG+xr2C48mrxMpevwF0xohBk0BKRr/AM8u54WwWjFcHE9fBgMLJSPHFKhQIA0lQLd4SBobBxUlqQKRQ3BKh1E2HpMh9jw9DWYuE1F8B/U8BRlPC4E8nkarRQ4R0j6NPUgiSUwsBDV/LC8niwnPD4UMuXxyAVkJIQmxDHETMREXN8UIOQcZLZckJxUIIUaVYJoE958D8xPRAwsFPwlBBxMDtRwtEy4VKQUNgSTXAvM21S6zAo9WgAEXBcsPJR/fEFBH4A7pCJsCZQODJesALRUhABcimwhDYwBfj9hTBS7LCMdqbCN0A2cU52ERcweRDlcHpxwzFb8c4XDIXguGCCijrwlbAXUJmQFfBOMICTVbjKAgQWdTi1gYmyBhQT9d/AIxDGUVn0S9h3gCiw9rEhsBNQFzBzkNAQJ3Ee0RaxCVCOuGBDW1M/g6JQRPIYMgEQonA09szgsnJvkM+GkBoxJiAww0PXfuZ6tgtiQX/QcZMsVBYCHxC5JPzQycGsEYQlQuGeQHvwPzGvMn6kFXBf8DowMTOk0z7gS9C2kIiwk/AEkOoxcH1xhqCnGM0AExiwG3mQNXkYMCb48GNwcLAGcLhwV55QAdAqcIowAFAM8DVwA5Aq0HnQAZAIVBAT0DJy8BIeUCjwOTCDHLAZUvAfMpBBvDDBUA9zduSgLDsQKAamaiBd1YAo4CSTUBTSUEBU5HUQOvceEA2wBLBhPfRwEVq0rLGuNDAd9vKwDHAPsABTUHBUEBzQHzbQC3AV8LMQmis7UBTekpAIMAFWsB1wKJAN0ANQB/8QFTAE0FWfkF0wJPSQERMRgrV2EBuwMfATMBDQB5BsuNpckHHwRtB9MCEBsV4QLvLge1AQMi3xPNQsUCvd5VoWACZIECYkJbTa9bNyACofcCaJgCZgkCn4Q4GwsCZjsCZiYEbgR/A38TA36SOQY5dxc5gjojIwJsHQIyNjgKAm3HAm2u74ozZ0UrAWcA3gDhAEoFB5gMjQD+C8IADbUCdy8CdqI/AnlLQwJ4uh1c20WuRtcCfD8CesgCfQkCfPAFWQUgSABIfWMkAoFtAoAAAoAFAn+uSVhKWxUXSswC0QEC0MxLJwOITwOH5kTFkTIC8qFdAwMDrkvOTC0lA89NTE2vAos/AorYwRsHHUNnBbcCjjcCjlxAl4ECjtkCjlx4UbRTNQpS1FSFApP7ApMMAOkAHFUeVa9V0AYsGymVhjLheGZFOzkCl58C77JYIagAWSUClo8ClnycAKlZrFoJgU0AOwKWtQKWTlxEXNECmcsCmWRcyl0HGQKcmznCOp0CnBYCn5sCnriKAB0PMSoPAp3xAp6SALU9YTRh7wKe0wKgbgGpAp6fHwKeTqVjyGQnJSsCJ68CJn4CoPsCoEwCot0CocQCpi8Cpc4Cp/8AfQKn8mh8aLEAA0lqHGrRAqzjAqyuAq1nAq0CAlcdAlXcArHh1wMfTmyXArK9DQKy6Bds4G1jbUhfAyXNArZcOz9ukAMpRQK4XgK5RxUCuSp3cDZw4QK9GQK72nCWAzIRAr6IcgIDM3ECvhpzInNPAsPLAsMEc4J0SzVFdOADPKcDPJoDPb8CxXwCxkcCxhCJAshpUQLIRALJTwLJLgJknQLd0nh5YXiueSVL0AMYo2cCAmH0GfOVJHsLXpJeuxECz2sCz2wvS1PS8xOfAMatAs9zASnqA04SfksFAtwnAtuKAtJPA1JcA1NfAQEDVYyAiT8AyxbtYEWCHILTgs6DjQLaxwLZ3oQQhEmnPAOGpQAvA2QOhnFZ+QBVAt9lAt64c3cC4i/tFAHzMCcB9JsB8tKHAuvzAulweQLq+QLq5AD5RwG5Au6JAuuclqqXAwLuPwOF4Jh5cOBxoQLzAwBpA44WmZMC9xMDkW4DkocC95gC+dkC+GaaHJqruzebHgOdgwL++gEbADmfHJ+zAwWNA6ZqA6bZANHFAwZqoYiiBQkDDEkCwAA/AwDhQRdTARHzA2sHl2cFAJMtK7evvdsBiZkUfxEEOQH7KQUhDp0JnwCS/SlXxQL3AZ0AtwW5AG8LbUEuFCaNLgFDAYD8AbUmAHUDDgRtACwCFgyhAAAKAj0CagPdA34EkQEgRQUhfAoABQBEABMANhICdwEABdUDa+8KxQIA9wqfJ7+xt+UBkSFBQgHpFH8RNMCJAAQAGwBaAkUChIsABjpTOpSNbQC4Oo860ACNOME63AClAOgAywE6gTo7Ofw5+Tt2iTpbO56JOm85GAFWATMBbAUvNV01njWtNWY1dTW2NcU1gjWRNdI14TWeNa017jX9NbI1wTYCNhE1xjXVNhY2JzXeNe02LjY9Ni41LSE2OjY9Njw2yTcIBJA8VzY4Nt03IDcPNsogN4k3MAoEsDxnNiQ3GTdsOo03IULUQwdC4EMLHA8PCZsobShRVQYA6X8A6bABFCnXAukBowC9BbcAbwNzBL8MDAMMAQgDAAkKCwsLCQoGBAVVBI/DvwDz9b29kaUCb0QtsRTNLt4eGBcSHAMZFhYZEhYEARAEBUEcQRxBHEEcQRxBHEEaQRxBHEFCSTxBPElISUhBNkM2QTYbNklISVmBVIgBFLWZAu0BhQCjBcEAbykBvwGJAaQcEZ0ePCklMAAhMvAIMAL54gC7Bm8EescjzQMpARQpKgDUABavAj626xQAJP0A3etzuf4NNRA7efy2Z9NQrCnC0OSyANz5BBIbJ5IFDR6miIavYS6tprjjmuKebxm5C74Q225X1pkaYYPb6f1DK4k3xMEBb9S2WMjEibTNWhsRJIA+vwNVEiXTE5iXs/wezV66oFLfp9NZGYW+Gk19J2+bCT6Ye2w6LDYdgzKMUabk595eLBCXANz9HUpWbATq9vqXVx9XDg+Pc9Xp4+bsS005SVM/BJBM4687WUuf+Uj9dEi8aDNaPxtpbDxcG1THTImUMZq4UCaaNYpsVqraNyKLJXDYsFZ/5jl7bLRtO88t7P3xZaAxhb5OdPMXqsSkp1WCieG8jXm1U99+blvLlXzPCS+M93VnJCiK+09LfaSaBAVBomyDgJua8dfUzR7ga34IvR2Nvj+A9heJ6lsl1KG4NkI1032Cnff1m1wof2B9oHJK4bi6JkEdSqeNeiuo6QoZZincoc73/TH9SXF8sCE7XyuYyW8WSgbGFCjPV0ihLKhdPs08Tx82fYAkLLc4I2wdl4apY7GU5lHRFzRWJep7Ww3wbeA3qmd59/86P4xuNaqDpygXt6M85glSBHOCGgJDnt+pN9bK7HApMguX6+06RZNjzVmcZJ+wcUrJ9//bpRNxNuKpNl9uFds+S9tdx7LaM5ZkIrPj6nIU9mnbFtVbs9s/uLgl8MVczAwet+iOEzzBlYW7RCMgE6gyNLeq6+1tIx4dpgZnd0DksJS5f+JNDpwwcPNXaaVspq1fbQajOrJgK0ofKtJ1Ne90L6VO4MOl5S886p7u6xo7OLjG8TGL+HU1JXGJgppg4nNbNJ5nlzSpuPYy21JUEcUA94PoFiZfjZue+QnyQ80ekOuZVkxx4g+cvhJfHgNl4hy1/a6+RKcKlar/J29y//EztlbVPHVUeQ1zX86eQVAjR/M3dA9w4W8LfaXp4EgM85wOWasli837PzVMOnsLzR+k3o75/lRPAJSE1xAKQzEi5v10ke+VBvRt1cwQRMd+U5mLCTGVd6XiZtgBG5cDi0w22GKcVNvHiu5LQbZEDVtz0onn7k5+heuKXVsZtSzilkLRAUmjMXEMB3J9YC50XBxPiz53SC+EhnPl9WsKCv92SM/OFFIMJZYfl0WW8tIO3UxYcwdMAj7FSmgrsZ2aAZO03BOhP1bNNZItyXYQFTpC3SG1VuPDqH9GkiCDmE+JwxyIVSO5siDErAOpEXFgjy6PQtOVDj+s6e1r8heWVvmZnTciuf4EiNZzCAd7SOMhXERIOlsHIMG399i9aLTy3m2hRLZjJVDNLS53iGIK11dPqQt0zBDyg6qc7YqkDm2M5Ve6dCWCaCbTXX2rToaIgz6+zh4lYUi/+6nqcFMAkQJKHYLK0wYk5N9szV6xihDbDDFr45lN1K4aCXBq/FitPSud9gLt5ZVn+ZqGX7cwm2z5EGMgfFpIFyhGGuDPmso6TItTMwny+7uPnLCf4W6goFQFV0oQSsc9VfMmVLcLr6ZetDZbaSFTLqnSO/bIPjA3/zAUoqgGFAEQS4IhuMzEp2I3jJzbzkk/IEmyax+rhZTwd6f+CGtwPixu8IvzACquPWPREu9ZvGkUzpRwvRRuaNN6cr0W1wWits9ICdYJ7ltbgMiSL3sTPeufgNcVqMVWFkCPDH4jG2jA0XcVgQj62Cb29v9f/z/+2KbYvIv/zzjpQAPkliaVDzNrW57TZ/ZOyZD0nlfMmAIBIAGAI0D3k/mdN4xr9v85ZbZbbqfH2jGd5hUqNZWwl5SPfoGmfElmazUIeNL1j/mkF7VNAzTq4jNt8JoQ11NQOcmhprXoxSxfRGJ9LDEOAQ+dmxAQH90iti9e2u/MoeuaGcDTHoC+xsmEeWmxEKefQuIzHbpw5Tc5cEocboAD09oipWQhtTO1wivf/O+DRe2rpl/E9wlrzBorjJsOeG1B/XPW4EaJEFdNlECEZga5ZoGRHXgYouGRuVkm8tDESiEyFNo+3s5M5puSdTyUL2llnINVHEt91XUNW4ewdMgJ4boJfEyt/iY5WXqbA+A2Fkt5Z0lutiWhe9nZIyIUjyXDC3UsaG1t+eNx6z4W/OYoTB7A6x+dNSTOi9AInctbESqm5gvOLww7OWXPrmHwVZasrl4eD113pm+JtT7JVOvnCXqdzzdTRHgJ0PiGTFYW5Gvt9R9LD6Lzfs0v/TZZHSmyVNq7viIHE6DBK7Qp07Iz55EM8SYtQvZf/obBniTWi5C2/ovHfw4VndkE5XYdjOhCMRjDeOEfXeN/CwfGduiUIfsoFeUxXeQXba7c7972XNv8w+dTjjUM0QeNAReW+J014dKAD/McQYXT7c0GQPIkn3Ll6R7gGjuiQoZD0TEeEqQpKoZ15g/0OPQI17QiSv9AUROa/V/TQN3dvLArec3RrsYlvBm1b8LWzltdugsC50lNKYLEp2a+ZZYqPejULRlOJh5zj/LVMyTDvwKhMxxwuDkxJ1QpoNI0OTWLom4Z71SNzI9TV1iXJrIu9Wcnd+MCaAw8o1jSXd94YU/1gnkrC9BUEOtQvEIQ7g0i6h+KL2JKk8Ydl7HruvgWMSAmNe+LshGhV4qnWHhO9/RIPQzY1tHRj2VqOyNsDpK0cww+56AdDC4gsWwY0XxoucIWIqs/GcwnWqlaT0KPr8mbK5U94/301i1WLt4YINTVvCFBrFZbIbY8eycOdeJ2teD5IfPLCRg7jjcFTwlMFNl9zdh/o3E/hHPwj7BWg0MU09pPrBLbrCgm54A6H+I6v27+jL5gkjWg/iYdks9jbfVP5y/n0dlgWEMlKasl7JvFZd56LfybW1eeaVO0gxTfXZwD8G4SI116yx7UKVRgui6Ya1YpixqXeNLc8IxtAwCU5IhwQgn+NqHnRaDv61CxKhOq4pOX7M6pkA+Pmpd4j1vn6ACUALoLLc4vpXci8VidLxzm7qFBe7s+quuJs6ETYmnpgS3LwSZxPIltgBDXz8M1k/W2ySNv2f9/NPhxLGK2D21dkHeSGmenRT3Yqcdl0m/h3OYr8V+lXNYGf8aCCpd4bWjE4QIPj7vUKN4Nrfs7ML6Y2OyS830JCnofg/k7lpFpt4SqZc5HGg1HCOrHvOdC8bP6FGDbE/VV0mX4IakzbdS/op+Kt3G24/8QbBV7y86sGSQ/vZzU8FXs7u6jIvwchsEP2BpIhW3G8uWNwa3HmjfH/ZjhhCWvluAcF+nMf14ClKg5hGgtPLJ98ueNAkc5Hs2WZlk2QHvfreCK1CCGO6nMZVSb99VM/ajr8WHTte9JSmkXq/i/U943HEbdzW6Re/S88dKgg8pGOLlAeNiqrcLkUR3/aClFpMXcOUP3rmETcWSfMXZE3TUOi8i+fqRnTYLflVx/Vb/6GJ7eIRZUA6k3RYR3iFSK9c4iDdNwJuZL2FKz/IK5VimcNWEqdXjSoxSgmF0UPlDoUlNrPcM7ftmA8Y9gKiqKEHuWN+AZRIwtVSxye2Kf8rM3lhJ5XcBXU9n4v0Oy1RU2M+4qM8AQPVwse8ErNSob5oFPWxuqZnVzo1qB/IBxkM3EVUKFUUlO3e51259GgNcJbCmlvrdjtoTW7rChm1wyCKzpCTwozUUEOIcWLneRLgMXh+SjGSFkAllzbGS5HK7LlfCMRNRDSvbQPjcXaenNYxCvu2Qyznz6StuxVj66SgI0T8B6/sfHAJYZaZ78thjOSIFumNWLQbeZixDCCC+v0YBtkxiBB3jefHqZ/dFHU+crbj6OvS1x/JDD7vlm7zOVPwpUC01nhxZuY/63E7g');\n\n// https://unicode.org/reports/tr15/\r\n\r\nfunction unpack_cc(packed) {\r\n\treturn (packed >> 24) & 0xFF;\r\n}\r\nfunction unpack_cp(packed) {\r\n\treturn packed & 0xFFFFFF;\r\n}\r\n\r\nconst SHIFTED_RANK = new Map(read_sorted_arrays(r).flatMap((v, i) => v.map(x => [x, (i+1) << 24]))); // pre-shifted\r\nconst EXCLUSIONS = new Set(read_sorted(r));\r\nconst DECOMP = new Map();\r\nconst RECOMP = new Map();\r\nfor (let [cp, cps] of read_mapped(r)) {\r\n\tif (!EXCLUSIONS.has(cp) && cps.length == 2) {\r\n\t\tlet [a, b] = cps;\r\n\t\tlet bucket = RECOMP.get(a);\r\n\t\tif (!bucket) {\r\n\t\t\tbucket = new Map();\r\n\t\t\tRECOMP.set(a, bucket);\r\n\t\t}\r\n\t\tbucket.set(b, cp);\r\n\t}\r\n\tDECOMP.set(cp, cps.reverse()); // stored reversed\r\n}\r\n\r\n// algorithmic hangul\r\n// https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf (page 144)\r\nconst S0 = 0xAC00;\r\nconst L0 = 0x1100;\r\nconst V0 = 0x1161;\r\nconst T0 = 0x11A7;\r\nconst L_COUNT = 19;\r\nconst V_COUNT = 21;\r\nconst T_COUNT = 28;\r\nconst N_COUNT = V_COUNT * T_COUNT;\r\nconst S_COUNT = L_COUNT * N_COUNT;\r\nconst S1 = S0 + S_COUNT;\r\nconst L1 = L0 + L_COUNT;\r\nconst V1 = V0 + V_COUNT;\r\nconst T1 = T0 + T_COUNT;\r\n\r\nfunction is_hangul(cp) {\r\n\treturn cp >= S0 && cp < S1;\r\n}\r\n\r\nfunction compose_pair(a, b) {\r\n\tif (a >= L0 && a < L1 && b >= V0 && b < V1) {\r\n\t\treturn S0 + (a - L0) * N_COUNT + (b - V0) * T_COUNT;\r\n\t} else if (is_hangul(a) && b > T0 && b < T1 && (a - S0) % T_COUNT == 0) {\r\n\t\treturn a + (b - T0);\r\n\t} else {\r\n\t\tlet recomp = RECOMP.get(a);\r\n\t\tif (recomp) {\r\n\t\t\trecomp = recomp.get(b);\r\n\t\t\tif (recomp) {\r\n\t\t\t\treturn recomp;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t}\r\n}\r\n\r\nfunction decomposed(cps) {\r\n\tlet ret = [];\r\n\tlet buf = [];\r\n\tlet check_order = false;\r\n\tfunction add(cp) {\r\n\t\tlet cc = SHIFTED_RANK.get(cp);\r\n\t\tif (cc) {\r\n\t\t\tcheck_order = true;\r\n\t\t\tcp |= cc;\r\n\t\t}\r\n\t\tret.push(cp);\r\n\t}\r\n\tfor (let cp of cps) {\r\n\t\twhile (true) {\r\n\t\t\tif (cp < 0x80) {\r\n\t\t\t\tret.push(cp);\r\n\t\t\t} else if (is_hangul(cp)) {\r\n\t\t\t\tlet s_index = cp - S0;\r\n\t\t\t\tlet l_index = s_index / N_COUNT | 0;\r\n\t\t\t\tlet v_index = (s_index % N_COUNT) / T_COUNT | 0;\r\n\t\t\t\tlet t_index = s_index % T_COUNT;\r\n\t\t\t\tadd(L0 + l_index);\r\n\t\t\t\tadd(V0 + v_index);\r\n\t\t\t\tif (t_index > 0) add(T0 + t_index);\r\n\t\t\t} else {\r\n\t\t\t\tlet mapped = DECOMP.get(cp);\r\n\t\t\t\tif (mapped) {\r\n\t\t\t\t\tbuf.push(...mapped);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tadd(cp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!buf.length) break;\r\n\t\t\tcp = buf.pop();\r\n\t\t}\r\n\t}\r\n\tif (check_order && ret.length > 1) {\r\n\t\tlet prev_cc = unpack_cc(ret[0]);\r\n\t\tfor (let i = 1; i < ret.length; i++) {\r\n\t\t\tlet cc = unpack_cc(ret[i]);\r\n\t\t\tif (cc == 0 || prev_cc <= cc) {\r\n\t\t\t\tprev_cc = cc;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlet j = i-1;\r\n\t\t\twhile (true) {\r\n\t\t\t\tlet tmp = ret[j+1];\r\n\t\t\t\tret[j+1] = ret[j];\r\n\t\t\t\tret[j] = tmp;\r\n\t\t\t\tif (!j) break;\r\n\t\t\t\tprev_cc = unpack_cc(ret[--j]);\r\n\t\t\t\tif (prev_cc <= cc) break;\r\n\t\t\t}\r\n\t\t\tprev_cc = unpack_cc(ret[i]);\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction composed_from_decomposed(v) {\r\n\tlet ret = [];\r\n\tlet stack = [];\r\n\tlet prev_cp = -1;\r\n\tlet prev_cc = 0;\r\n\tfor (let packed of v) {\r\n\t\tlet cc = unpack_cc(packed);\r\n\t\tlet cp = unpack_cp(packed);\r\n\t\tif (prev_cp == -1) {\r\n\t\t\tif (cc == 0) {\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tret.push(cp);\r\n\t\t\t}\r\n\t\t} else if (prev_cc > 0 && prev_cc >= cc) {\r\n\t\t\tif (cc == 0) {\r\n\t\t\t\tret.push(prev_cp, ...stack);\r\n\t\t\t\tstack.length = 0;\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tstack.push(cp);\r\n\t\t\t}\r\n\t\t\tprev_cc = cc;\r\n\t\t} else {\r\n\t\t\tlet composed = compose_pair(prev_cp, cp);\r\n\t\t\tif (composed >= 0) {\r\n\t\t\t\tprev_cp = composed;\r\n\t\t\t} else if (prev_cc == 0 && cc == 0) {\r\n\t\t\t\tret.push(prev_cp);\r\n\t\t\t\tprev_cp = cp;\r\n\t\t\t} else {\r\n\t\t\t\tstack.push(cp);\r\n\t\t\t\tprev_cc = cc;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (prev_cp >= 0) {\r\n\t\tret.push(prev_cp, ...stack);\t\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\n// note: cps can be iterable\r\nfunction nfd(cps) {\r\n\treturn decomposed(cps).map(unpack_cp);\r\n}\r\nfunction nfc(cps) {\r\n\treturn composed_from_decomposed(decomposed(cps));\r\n}\n\n//const t0 = performance.now();\r\n\r\nconst STOP = 0x2E;\r\nconst FE0F = 0xFE0F;\r\nconst STOP_CH = '.';\r\nconst UNIQUE_PH = 1;\r\nconst HYPHEN = 0x2D;\r\n\r\nfunction read_set() {\r\n\treturn new Set(read_sorted(r$1));\r\n}\r\nconst MAPPED = new Map(read_mapped(r$1)); \r\nconst IGNORED = read_set(); // ignored characters are not valid, so just read raw codepoints\r\n/*\r\n// direct include from payload is smaller that the decompression code\r\nconst FENCED = new Map(read_array_while(() => {\r\n\tlet cp = r();\r\n\tif (cp) return [cp, read_str(r())];\r\n}));\r\n*/\r\n// 20230217: we still need all CM for proper error formatting\r\n// but norm only needs NSM subset that are potentially-valid\r\nconst CM = read_set();\r\nconst NSM = new Set(read_sorted(r$1).map(function(i) { return this[i]; }, [...CM]));\r\n/*\r\nconst CM_SORTED = read_sorted(r);\r\nconst NSM = new Set(read_sorted(r).map(i => CM_SORTED[i]));\r\nconst CM = new Set(CM_SORTED);\r\n*/\r\nconst ESCAPE = read_set(); // characters that should not be printed\r\nconst NFC_CHECK = read_set();\r\nconst CHUNKS = read_sorted_arrays(r$1);\r\nfunction read_chunked() {\r\n\t// deduplicated sets + uniques\r\n\treturn new Set([read_sorted(r$1).map(i => CHUNKS[i]), read_sorted(r$1)].flat(2));\r\n}\r\nconst UNRESTRICTED = r$1();\r\nconst GROUPS = read_array_while(i => {\r\n\t// minifier property mangling seems unsafe\r\n\t// so these are manually renamed to single chars\r\n\tlet N = read_array_while(r$1).map(x => x+0x60);\r\n\tif (N.length) {\r\n\t\tlet R = i >= UNRESTRICTED; // first arent restricted\r\n\t\tN[0] -= 32; // capitalize\r\n\t\tN = str_from_cps(N);\r\n\t\tif (R) N=`Restricted[${N}]`;\r\n\t\tlet P = read_chunked(); // primary\r\n\t\tlet Q = read_chunked(); // secondary\r\n\t\tlet V = [...P, ...Q].sort((a, b) => a-b); // derive: sorted valid\r\n\t\t//let M = r()-1; // combining mark\r\n\t\tlet M = !r$1(); // not-whitelisted, check for NSM\r\n\t\t// code currently isn't needed\r\n\t\t/*if (M < 0) { // whitelisted\r\n\t\t\tM = new Map(read_array_while(() => {\r\n\t\t\t\tlet i = r();\r\n\t\t\t\tif (i) return [V[i-1], read_array_while(() => {\r\n\t\t\t\t\tlet v = read_array_while(r);\r\n\t\t\t\t\tif (v.length) return v.map(x => x-1);\r\n\t\t\t\t})];\r\n\t\t\t}));\r\n\t\t}*/\r\n\t\treturn {N, P, M, R, V: new Set(V)};\r\n\t}\r\n});\r\nconst WHOLE_VALID = read_set();\r\nconst WHOLE_MAP = new Map();\r\n// decode compressed wholes\r\n[...WHOLE_VALID, ...read_set()].sort((a, b) => a-b).map((cp, i, v) => {\r\n\tlet d = r$1(); \r\n\tlet w = v[i] = d ? v[i-d] : {V: [], M: new Map()};\r\n\tw.V.push(cp); // add to member set\r\n\tif (!WHOLE_VALID.has(cp)) {\r\n\t\tWHOLE_MAP.set(cp, w); // register with whole map\r\n\t}\r\n});\r\n// compute confusable-extent complements\r\nfor (let {V, M} of new Set(WHOLE_MAP.values())) {\r\n\t// connect all groups that have each whole character\r\n\tlet recs = [];\r\n\tfor (let cp of V) {\r\n\t\tlet gs = GROUPS.filter(g => g.V.has(cp));\r\n\t\tlet rec = recs.find(({G}) => gs.some(g => G.has(g)));\r\n\t\tif (!rec) {\r\n\t\t\trec = {G: new Set(), V: []};\r\n\t\t\trecs.push(rec);\r\n\t\t}\r\n\t\trec.V.push(cp);\r\n\t\tgs.forEach(g => rec.G.add(g));\r\n\t}\r\n\t// per character cache groups which are not a member of the extent\r\n\tlet union = recs.flatMap(({G}) => [...G]);\r\n\tfor (let {G, V} of recs) {\r\n\t\tlet complement = new Set(union.filter(g => !G.has(g)));\r\n\t\tfor (let cp of V) {\r\n\t\t\tM.set(cp, complement);\r\n\t\t}\r\n\t}\r\n}\r\nlet union = new Set(); // exists in 1+ groups\r\nlet multi = new Set(); // exists in 2+ groups\r\nfor (let g of GROUPS) {\r\n\tfor (let cp of g.V) {\r\n\t\t(union.has(cp) ? multi : union).add(cp);\r\n\t}\r\n}\r\n// dual purpose WHOLE_MAP: return placeholder if unique non-confusable\r\nfor (let cp of union) {\r\n\tif (!WHOLE_MAP.has(cp) && !multi.has(cp)) {\r\n\t\tWHOLE_MAP.set(cp, UNIQUE_PH);\r\n\t}\r\n}\r\nconst VALID = new Set([...union, ...nfd(union)]); // possibly valid\r\n\r\n// decode emoji\r\nconst EMOJI_SORTED = read_sorted(r$1); // temporary\r\n//const EMOJI_SOLO = new Set(read_sorted(r).map(i => EMOJI_SORTED[i])); // not needed\r\nconst EMOJI_ROOT = read_emoji_trie([]);\r\nfunction read_emoji_trie(cps) {\r\n\tlet B = read_array_while(() => {\r\n\t\tlet keys = read_sorted(r$1).map(i => EMOJI_SORTED[i]);\r\n\t\tif (keys.length) return read_emoji_trie(keys);\r\n\t}).sort((a, b) => b.Q.size - a.Q.size); // sort by likelihood\r\n\tlet temp = r$1();\r\n\tlet V = temp % 3; // valid (0 = false, 1 = true, 2 = weird)\r\n\ttemp = (temp / 3)|0;\r\n\tlet F = temp & 1; // allow FE0F\r\n\ttemp >>= 1;\r\n\tlet S = temp & 1; // save\r\n\tlet C = temp & 2; // check\r\n\treturn {B, V, F, S, C, Q: new Set(cps)};\r\n}\r\n//console.log(performance.now() - t0);\r\n\r\n// free tagging system\r\nclass Emoji extends Array {\r\n\tget is_emoji() { return true; }\r\n}\r\n\r\n// create a safe to print string \r\n// invisibles are escaped\r\n// leading cm uses placeholder\r\n// quoter(cp) => string, eg. 3000 => \"{3000}\"\r\n// note: in html, you'd call this function then replace [<>&] with entities\r\nfunction safe_str_from_cps(cps, quoter = quote_cp) {\r\n\t//if (Number.isInteger(cps)) cps = [cps];\r\n\t//if (!Array.isArray(cps)) throw new TypeError(`expected codepoints`);\r\n\tlet buf = [];\r\n\tif (is_combining_mark(cps[0])) buf.push('◌');\r\n\tlet prev = 0;\r\n\tlet n = cps.length;\r\n\tfor (let i = 0; i < n; i++) {\r\n\t\tlet cp = cps[i];\r\n\t\tif (should_escape(cp)) {\r\n\t\t\tbuf.push(str_from_cps(cps.slice(prev, i)));\r\n\t\t\tbuf.push(quoter(cp));\r\n\t\t\tprev = i + 1;\r\n\t\t}\r\n\t}\r\n\tbuf.push(str_from_cps(cps.slice(prev, n)));\r\n\treturn buf.join('');\r\n}\r\n\r\n// if escaped: {HEX}\r\n// else: \"x\" {HEX}\r\nfunction quoted_cp(cp) {\r\n\treturn (should_escape(cp) ? '' : `${bidi_qq(safe_str_from_cps([cp]))} `) + quote_cp(cp);\r\n}\r\n\r\n// 20230211: some messages can be mixed-directional and result in spillover\r\n// use 200E after a quoted string to force the remainder of a string from \r\n// acquring the direction of the quote\r\n// https://www.w3.org/International/questions/qa-bidi-unicode-controls#exceptions\r\nfunction bidi_qq(s) {\r\n\treturn `\"${s}\"\\u200E`; // strong LTR\r\n}\r\n\r\nfunction check_label_extension(cps) {\r\n\tif (cps.length >= 4 && cps[2] == HYPHEN && cps[3] == HYPHEN) {\r\n\t\tthrow new Error('invalid label extension');\r\n\t}\r\n}\r\nfunction check_leading_underscore(cps) {\r\n\tconst UNDERSCORE = 0x5F;\r\n\tfor (let i = cps.lastIndexOf(UNDERSCORE); i > 0; ) {\r\n\t\tif (cps[--i] !== UNDERSCORE) {\r\n\t\t\tthrow new Error('underscore allowed only at start');\r\n\t\t}\r\n\t}\r\n}\r\n// check that a fenced cp is not leading, trailing, or touching another fenced cp\r\nfunction check_fenced(cps) {\r\n\tlet cp = cps[0];\r\n\tlet prev = FENCED.get(cp);\r\n\tif (prev) throw error_placement(`leading ${prev}`);\r\n\tlet n = cps.length;\r\n\tlet last = -1; // prevents trailing from throwing\r\n\tfor (let i = 1; i < n; i++) {\r\n\t\tcp = cps[i];\r\n\t\tlet match = FENCED.get(cp);\r\n\t\tif (match) {\r\n\t\t\t// since cps[0] isn't fenced, cps[1] cannot throw\r\n\t\t\tif (last == i) throw error_placement(`${prev} + ${match}`);\r\n\t\t\tlast = i + 1;\r\n\t\t\tprev = match;\r\n\t\t}\r\n\t}\r\n\tif (last == n) throw error_placement(`trailing ${prev}`);\r\n}\r\n\r\n// note: set(s) cannot be exposed because they can be modified\r\nfunction is_combining_mark(cp) {\r\n\treturn CM.has(cp);\r\n}\r\nfunction should_escape(cp) {\r\n\treturn ESCAPE.has(cp);\r\n}\r\n\r\nfunction ens_normalize_fragment(frag, decompose) {\r\n\tlet nf = decompose ? nfd : nfc;\r\n\treturn frag.split(STOP_CH).map(label => str_from_cps(process(explode_cp(label), nf).flatMap(x => x.is_emoji ? filter_fe0f(x) : x))).join(STOP_CH);\r\n}\r\n\r\nfunction ens_normalize(name) {\r\n\treturn flatten(ens_split(name));\r\n}\r\n\r\nfunction ens_beautify(name) {\r\n\tlet split = ens_split(name, true);\r\n\t// this is experimental\r\n\tfor (let {type, output, error} of split) {\r\n\t\tif (error) continue;\r\n\r\n\t\t// replace leading/trailing hyphen\r\n\t\t// 20230121: consider beautifing all or leading/trailing hyphen to unicode variant\r\n\t\t// not exactly the same in every font, but very similar: \"-\" vs \"‐\"\r\n\t\t/*\r\n\t\tconst UNICODE_HYPHEN = 0x2010;\r\n\t\t// maybe this should replace all for visual consistancy?\r\n\t\t// `node tools/reg-count.js regex ^-\\{2,\\}` => 592\r\n\t\t//for (let i = 0; i < output.length; i++) if (output[i] == 0x2D) output[i] = 0x2010;\r\n\t\tif (output[0] == HYPHEN) output[0] = UNICODE_HYPHEN;\r\n\t\tlet end = output.length-1;\r\n\t\tif (output[end] == HYPHEN) output[end] = UNICODE_HYPHEN;\r\n\t\t*/\r\n\t\t// 20230123: WHATWG URL uses \"CheckHyphens\" false\r\n\t\t// https://url.spec.whatwg.org/#idna\r\n\r\n\t\t// update ethereum symbol\r\n\t\t// ξ => Ξ if not greek\r\n\t\tif (type !== 'Greek') { \r\n\t\t\tlet prev = 0;\r\n\t\t\twhile (true) {\r\n\t\t\t\tlet next = output.indexOf(0x3BE, prev);\r\n\t\t\t\tif (next < 0) break;\r\n\t\t\t\toutput[next] = 0x39E; \r\n\t\t\t\tprev = next + 1;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// 20221213: fixes bidi subdomain issue, but breaks invariant (200E is disallowed)\r\n\t\t// could be fixed with special case for: 2D (.) + 200E (LTR)\r\n\t\t//output.splice(0, 0, 0x200E);\r\n\t}\r\n\treturn flatten(split);\r\n}\r\n\r\nfunction ens_split(name, preserve_emoji) {\r\n\tlet offset = 0;\r\n\t// https://unicode.org/reports/tr46/#Validity_Criteria\r\n\t// 4.) \"The label must not contain a U+002E ( . ) FULL STOP.\"\r\n\treturn name.split(STOP_CH).map(label => {\r\n\t\tlet input = explode_cp(label);\r\n\t\tlet info = {\r\n\t\t\tinput,\r\n\t\t\toffset, // codepoint, not substring!\r\n\t\t};\r\n\t\toffset += input.length + 1; // + stop\r\n\t\tlet norm;\r\n\t\ttry {\r\n\t\t\t// 1.) \"The label must be in Unicode Normalization Form NFC\"\r\n\t\t\tlet tokens = info.tokens = process(input, nfc); // if we parse, we get [norm and mapped]\r\n\t\t\tlet token_count = tokens.length;\r\n\t\t\tlet type;\r\n\t\t\tif (!token_count) { // the label was effectively empty (could of had ignored characters)\r\n\t\t\t\t// 20230120: change to strict\r\n\t\t\t\t// https://discuss.ens.domains/t/ens-name-normalization-2nd/14564/59\r\n\t\t\t\t//norm = [];\r\n\t\t\t\t//type = 'None'; // use this instead of next match, \"ASCII\"\r\n\t\t\t\tthrow new Error(`empty label`);\r\n\t\t\t} else {\r\n\t\t\t\tlet chars = tokens[0];\r\n\t\t\t\tlet emoji = token_count > 1 || chars.is_emoji;\r\n\t\t\t\tif (!emoji && chars.every(cp => cp < 0x80)) { // special case for ascii\r\n\t\t\t\t\tnorm = chars;\r\n\t\t\t\t\tcheck_leading_underscore(norm);\r\n\t\t\t\t\t// only needed for ascii\r\n\t\t\t\t\t// 20230123: matches matches WHATWG, see note 3.3\r\n\t\t\t\t\tcheck_label_extension(norm);\r\n\t\t\t\t\t// cant have fenced\r\n\t\t\t\t\t// cant have cm\r\n\t\t\t\t\t// cant have wholes\r\n\t\t\t\t\t// see derive: \"Fastpath ASCII\"\r\n\t\t\t\t\ttype = 'ASCII';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (emoji) { // there is at least one emoji\r\n\t\t\t\t\t\tinfo.emoji = true; \r\n\t\t\t\t\t\tchars = tokens.flatMap(x => x.is_emoji ? [] : x); // all of the nfc tokens concat together\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnorm = tokens.flatMap(x => !preserve_emoji && x.is_emoji ? filter_fe0f(x) : x);\r\n\t\t\t\t\tcheck_leading_underscore(norm);\r\n\t\t\t\t\tif (!chars.length) { // theres no text, just emoji\r\n\t\t\t\t\t\ttype = 'Emoji';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// 5. \"The label must not begin with a combining mark, that is: General_Category=Mark.\"\r\n\t\t\t\t\t\tif (CM.has(norm[0])) throw error_placement('leading combining mark');\r\n\t\t\t\t\t\tfor (let i = 1; i < token_count; i++) { // we've already checked the first token\r\n\t\t\t\t\t\t\tlet cps = tokens[i];\r\n\t\t\t\t\t\t\tif (!cps.is_emoji && CM.has(cps[0])) { // every text token has emoji neighbors, eg. EtEEEtEt...\r\n\t\t\t\t\t\t\t\t// bidi_qq() not needed since emoji is LTR and cps is a CM\r\n\t\t\t\t\t\t\t\tthrow error_placement(`emoji + combining mark: \"${str_from_cps(tokens[i-1])} + ${safe_str_from_cps([cps[0]])}\"`); \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcheck_fenced(norm);\r\n\t\t\t\t\t\tlet unique = [...new Set(chars)];\r\n\t\t\t\t\t\tlet [g] = determine_group(unique); // take the first match\r\n\t\t\t\t\t\t// see derive: \"Matching Groups have Same CM Style\"\r\n\t\t\t\t\t\t// alternative: could form a hybrid type: Latin/Japanese/...\t\r\n\t\t\t\t\t\tcheck_group(g, chars); // need text in order\r\n\t\t\t\t\t\tcheck_whole(g, unique); // only need unique text (order would be required for multiple-char confusables)\r\n\t\t\t\t\t\ttype = g.N;\r\n\t\t\t\t\t\t// 20230121: consider exposing restricted flag\r\n\t\t\t\t\t\t// it's simpler to just check for 'Restricted'\r\n\t\t\t\t\t\t// or even better: type.endsWith(']')\r\n\t\t\t\t\t\t//if (g.R) info.restricted = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tinfo.type = type;\r\n\t\t} catch (err) {\r\n\t\t\tinfo.error = err; // use full error object\r\n\t\t}\r\n\t\tinfo.output = norm;\r\n\t\treturn info;\r\n\t});\r\n}\r\n\r\nfunction check_whole(group, unique) {\r\n\tlet maker;\r\n\tlet shared = []; // TODO: can this be avoided?\r\n\tfor (let cp of unique) {\r\n\t\tlet whole = WHOLE_MAP.get(cp);\r\n\t\tif (whole === UNIQUE_PH) return; // unique, non-confusable\r\n\t\tif (whole) {\r\n\t\t\tlet set = whole.M.get(cp); // groups which have a character that look-like this character\r\n\t\t\tmaker = maker ? maker.filter(g => set.has(g)) : [...set];\r\n\t\t\tif (!maker.length) return; // confusable intersection is empty\r\n\t\t} else {\r\n\t\t\tshared.push(cp); \r\n\t\t}\r\n\t}\r\n\tif (maker) {\r\n\t\t// we have 1+ confusable\r\n\t\t// check if any of the remaning groups\r\n\t\t// contain the shared characters too\r\n\t\tfor (let g of maker) {\r\n\t\t\tif (shared.every(cp => g.V.has(cp))) {\r\n\t\t\t\tthrow new Error(`whole-script confusable: ${group.N}/${g.N}`);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// assumption: unique.size > 0\r\n// returns list of matching groups\r\nfunction determine_group(unique) {\r\n\tlet groups = GROUPS;\r\n\tfor (let cp of unique) {\r\n\t\t// note: we need to dodge CM that are whitelisted\r\n\t\t// but that code isn't currently necessary\r\n\t\tlet gs = groups.filter(g => g.V.has(cp));\r\n\t\tif (!gs.length) {\r\n\t\t\tif (groups === GROUPS) {\r\n\t\t\t\t// the character was composed of valid parts\r\n\t\t\t\t// but it's NFC form is invalid\r\n\t\t\t\tthrow error_disallowed(cp); // this should be rare\r\n\t\t\t} else {\r\n\t\t\t\t// there is no group that contains all these characters\r\n\t\t\t\t// throw using the highest priority group that matched\r\n\t\t\t\t// https://www.unicode.org/reports/tr39/#mixed_script_confusables\r\n\t\t\t\tthrow error_group_member(groups[0], cp);\r\n\t\t\t}\r\n\t\t}\r\n\t\tgroups = gs;\r\n\t\tif (gs.length == 1) break; // there is only one group left\r\n\t}\r\n\t// there are at least 1 group(s) with all of these characters\r\n\treturn groups;\r\n}\r\n\r\n// throw on first error\r\nfunction flatten(split) {\r\n\treturn split.map(({input, error, output}) => {\r\n\t\tif (error) {\r\n\t\t\t// don't print label again if just a single label\r\n\t\t\tlet msg = error.message;\r\n\t\t\t// bidi_qq() only necessary if msg is digits\r\n\t\t\tthrow new Error(split.length == 1 ? msg : `Invalid label ${bidi_qq(safe_str_from_cps(input))}: ${msg}`); \r\n\t\t}\r\n\t\treturn str_from_cps(output);\r\n\t}).join(STOP_CH);\r\n}\r\n\r\nfunction error_disallowed(cp) {\r\n\t// TODO: add cp to error?\r\n\treturn new Error(`disallowed character: ${quoted_cp(cp)}`); \r\n}\r\nfunction error_group_member(g, cp) {\r\n\tlet quoted = quoted_cp(cp);\r\n\tlet gg = GROUPS.find(g => g.P.has(cp));\r\n\tif (gg) {\r\n\t\tquoted = `${gg.N} ${quoted}`;\r\n\t}\r\n\treturn new Error(`illegal mixture: ${g.N} + ${quoted}`);\r\n}\r\nfunction error_placement(where) {\r\n\treturn new Error(`illegal placement: ${where}`);\r\n}\r\n\r\n// assumption: cps.length > 0\r\n// assumption: cps[0] isn't a CM\r\n// assumption: the previous character isn't an emoji\r\nfunction check_group(g, cps) {\r\n\tlet {V, M} = g;\r\n\tfor (let cp of cps) {\r\n\t\tif (!V.has(cp)) {\r\n\t\t\t// for whitelisted scripts, this will throw illegal mixture on invalid cm, eg. \"e{300}{300}\"\r\n\t\t\t// at the moment, it's unnecessary to introduce an extra error type\r\n\t\t\t// until there exists a whitelisted multi-character\r\n\t\t\t// eg. if (M < 0 && is_combining_mark(cp)) { ... }\r\n\t\t\t// there are 3 cases:\r\n\t\t\t// 1. illegal cm for wrong group => mixture error\r\n\t\t\t// 2. illegal cm for same group => cm error\r\n\t\t\t// requires set of whitelist cm per group: \r\n\t\t\t// eg. new Set([...g.V].flatMap(nfc).filter(cp => CM.has(cp)))\r\n\t\t\t// 3. wrong group => mixture error\r\n\t\t\tthrow error_group_member(g, cp);\r\n\t\t}\r\n\t}\r\n\t//if (M >= 0) { // we have a known fixed cm count\r\n\tif (M) { // we need to check for NSM\r\n\t\tlet decomposed = nfd(cps);\r\n\t\tfor (let i = 1, e = decomposed.length; i < e; i++) { // see: assumption\r\n\t\t\t// 20230210: bugfix: using cps instead of decomposed h/t Carbon225\r\n\t\t\t/*\r\n\t\t\tif (CM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\twhile (j < e && CM.has(decomposed[j])) j++;\r\n\t\t\t\tif (j - i > M) {\r\n\t\t\t\t\tthrow new Error(`too many combining marks: ${g.N} ${bidi_qq(str_from_cps(decomposed.slice(i-1, j)))} (${j-i}/${M})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t\t*/\r\n\t\t\t// 20230217: switch to NSM counting\r\n\t\t\t// https://www.unicode.org/reports/tr39/#Optional_Detection\r\n\t\t\tif (NSM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\tfor (let cp; j < e && NSM.has(cp = decomposed[j]); j++) {\r\n\t\t\t\t\t// a. Forbid sequences of the same nonspacing mark.\r\n\t\t\t\t\tfor (let k = i; k < j; k++) { // O(n^2) but n < 100\r\n\t\t\t\t\t\tif (decomposed[k] == cp) {\r\n\t\t\t\t\t\t\tthrow new Error(`non-spacing marks: repeated ${quoted_cp(cp)}`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t// parse to end so we have full nsm count\r\n\t\t\t\t// b. Forbid sequences of more than 4 nonspacing marks (gc=Mn or gc=Me).\r\n\t\t\t\tif (j - i > NSM_MAX) {\r\n\t\t\t\t\t// note: this slice starts with a base char or spacing-mark cm\r\n\t\t\t\t\tthrow new Error(`non-spacing marks: too many ${bidi_qq(safe_str_from_cps(decomposed.slice(i-1, j)))} (${j-i}/${NSM_MAX})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// *** this code currently isn't needed ***\r\n\t/*\r\n\tlet cm_whitelist = M instanceof Map;\r\n\tfor (let i = 0, e = cps.length; i < e; ) {\r\n\t\tlet cp = cps[i++];\r\n\t\tlet seqs = cm_whitelist && M.get(cp);\r\n\t\tif (seqs) { \r\n\t\t\t// list of codepoints that can follow\r\n\t\t\t// if this exists, this will always be 1+\r\n\t\t\tlet j = i;\r\n\t\t\twhile (j < e && CM.has(cps[j])) j++;\r\n\t\t\tlet cms = cps.slice(i, j);\r\n\t\t\tlet match = seqs.find(seq => !compare_arrays(seq, cms));\r\n\t\t\tif (!match) throw new Error(`disallowed combining mark sequence: \"${safe_str_from_cps([cp, ...cms])}\"`);\r\n\t\t\ti = j;\r\n\t\t} else if (!V.has(cp)) {\r\n\t\t\t// https://www.unicode.org/reports/tr39/#mixed_script_confusables\r\n\t\t\tlet quoted = quoted_cp(cp);\r\n\t\t\tfor (let cp of cps) {\r\n\t\t\t\tlet u = UNIQUE.get(cp);\r\n\t\t\t\tif (u && u !== g) {\r\n\t\t\t\t\t// if both scripts are restricted this error is confusing\r\n\t\t\t\t\t// because we don't differentiate RestrictedA from RestrictedB \r\n\t\t\t\t\tif (!u.R) quoted = `${quoted} is ${u.N}`;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthrow new Error(`disallowed ${g.N} character: ${quoted}`);\r\n\t\t\t//throw new Error(`disallowed character: ${quoted} (expected ${g.N})`);\r\n\t\t\t//throw new Error(`${g.N} does not allow: ${quoted}`);\r\n\t\t}\r\n\t}\r\n\tif (!cm_whitelist) {\r\n\t\tlet decomposed = nfd(cps);\r\n\t\tfor (let i = 1, e = decomposed.length; i < e; i++) { // we know it can't be cm leading\r\n\t\t\tif (CM.has(decomposed[i])) {\r\n\t\t\t\tlet j = i + 1;\r\n\t\t\t\twhile (j < e && CM.has(decomposed[j])) j++;\r\n\t\t\t\tif (j - i > M) {\r\n\t\t\t\t\tthrow new Error(`too many combining marks: \"${str_from_cps(decomposed.slice(i-1, j))}\" (${j-i}/${M})`);\r\n\t\t\t\t}\r\n\t\t\t\ti = j;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t*/\r\n}\r\n\r\n// given a list of codepoints\r\n// returns a list of lists, where emoji are a fully-qualified (as Array subclass)\r\n// eg. explode_cp(\"abc💩d\") => [[61, 62, 63], Emoji[1F4A9, FE0F], [64]]\r\nfunction process(input, nf) {\r\n\tlet ret = [];\r\n\tlet chars = [];\r\n\tinput = input.slice().reverse(); // flip so we can pop\r\n\twhile (input.length) {\r\n\t\tlet emoji = consume_emoji_reversed(input);\r\n\t\tif (emoji) {\r\n\t\t\tif (chars.length) {\r\n\t\t\t\tret.push(nf(chars));\r\n\t\t\t\tchars = [];\r\n\t\t\t}\r\n\t\t\tret.push(emoji);\r\n\t\t} else {\r\n\t\t\tlet cp = input.pop();\r\n\t\t\tif (VALID.has(cp)) {\r\n\t\t\t\tchars.push(cp);\r\n\t\t\t} else {\r\n\t\t\t\tlet cps = MAPPED.get(cp);\r\n\t\t\t\tif (cps) {\r\n\t\t\t\t\tchars.push(...cps);\r\n\t\t\t\t} else if (!IGNORED.has(cp)) {\r\n\t\t\t\t\tthrow error_disallowed(cp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (chars.length) {\r\n\t\tret.push(nf(chars));\r\n\t}\r\n\treturn ret;\r\n}\r\n\r\nfunction filter_fe0f(cps) {\r\n\treturn cps.filter(cp => cp != FE0F);\r\n}\r\n\r\n// given array of codepoints\r\n// returns the longest valid emoji sequence (or undefined if no match)\r\n// *MUTATES* the supplied array\r\n// allows optional FE0F\r\n// disallows interleaved ignored characters\r\n// fills (optional) eaten array with matched codepoints\r\nfunction consume_emoji_reversed(cps, eaten) {\r\n\tlet node = EMOJI_ROOT;\r\n\tlet emoji;\r\n\tlet saved;\r\n\tlet stack = [];\r\n\tlet pos = cps.length;\r\n\tif (eaten) eaten.length = 0; // clear input buffer (if needed)\r\n\twhile (pos) {\r\n\t\tlet cp = cps[--pos];\r\n\t\tnode = node.B.find(x => x.Q.has(cp));\r\n\t\tif (!node) break;\r\n\t\tif (node.S) { // remember\r\n\t\t\tsaved = cp;\r\n\t\t} else if (node.C) { // check exclusion\r\n\t\t\tif (cp === saved) break;\r\n\t\t}\r\n\t\tstack.push(cp);\r\n\t\tif (node.F) {\r\n\t\t\tstack.push(FE0F);\r\n\t\t\tif (pos > 0 && cps[pos - 1] == FE0F) pos--; // consume optional FE0F\r\n\t\t}\r\n\t\tif (node.V) { // this is a valid emoji (so far)\r\n\t\t\temoji = conform_emoji_copy(stack, node);\r\n\t\t\tif (eaten) eaten.push(...cps.slice(pos).reverse()); // copy input (if needed)\r\n\t\t\tcps.length = pos; // truncate\r\n\t\t}\r\n\t}\r\n\t/*\r\n\t// *** this code currently isn't needed ***\r\n\tif (!emoji) {\r\n\t\tlet cp = cps[cps.length-1];\r\n\t\tif (EMOJI_SOLO.has(cp)) {\r\n\t\t\tif (eaten) eaten.push(cp);\r\n\t\t\temoji = Emoji.of(cp);\r\n\t\t\tcps.pop();\r\n\t\t}\r\n\t}\r\n\t*/\r\n\treturn emoji;\r\n}\r\n\r\n// create a copy and fix any unicode quirks\r\nfunction conform_emoji_copy(cps, node) {\r\n\tlet copy = Emoji.from(cps); // copy stack\r\n\tif (node.V == 2) copy.splice(1, 1); // delete FE0F at position 1 (see: make.js)\r\n\treturn copy;\r\n}\r\n\r\n// return all supported emoji as fully-qualified emoji \r\n// ordered by length then lexicographic \r\nfunction ens_emoji() {\r\n\t// *** this code currently isn't needed ***\r\n\t//let ret = [...EMOJI_SOLO].map(x => [x]);\r\n\tlet ret = [];\r\n\tbuild(EMOJI_ROOT, []);\r\n\treturn ret.sort(compare_arrays);\r\n\tfunction build(node, cps, saved) {\r\n\t\tif (node.S) { \r\n\t\t\tsaved = cps[cps.length-1];\r\n\t\t} else if (node.C) { \r\n\t\t\tif (saved === cps[cps.length-1]) return;\r\n\t\t}\r\n\t\tif (node.F) cps.push(FE0F);\r\n\t\tif (node.V) ret.push(conform_emoji_copy(cps, node));\r\n\t\tfor (let br of node.B) {\r\n\t\t\tfor (let cp of br.Q) {\r\n\t\t\t\tbuild(br, [...cps, cp], saved);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// ************************************************************\r\n// tokenizer \r\n\r\nconst TY_VALID = 'valid';\r\nconst TY_MAPPED = 'mapped';\r\nconst TY_IGNORED = 'ignored';\r\nconst TY_DISALLOWED = 'disallowed';\r\nconst TY_EMOJI = 'emoji';\r\nconst TY_NFC = 'nfc';\r\nconst TY_STOP = 'stop';\r\n\r\nfunction ens_tokenize(name, {\r\n\tnf = true, // collapse unnormalized runs into a single token\r\n} = {}) {\r\n\tlet input = explode_cp(name).reverse();\r\n\tlet eaten = [];\r\n\tlet tokens = [];\r\n\twhile (input.length) {\t\t\r\n\t\tlet emoji = consume_emoji_reversed(input, eaten);\r\n\t\tif (emoji) {\r\n\t\t\ttokens.push({type: TY_EMOJI, emoji, input: eaten.slice(), cps: filter_fe0f(emoji)});\r\n\t\t} else {\r\n\t\t\tlet cp = input.pop();\r\n\t\t\tif (cp == STOP) {\r\n\t\t\t\ttokens.push({type: TY_STOP, cp});\r\n\t\t\t} else if (VALID.has(cp)) {\r\n\t\t\t\ttokens.push({type: TY_VALID, cps: [cp]});\r\n\t\t\t} else if (IGNORED.has(cp)) {\r\n\t\t\t\ttokens.push({type: TY_IGNORED, cp});\r\n\t\t\t} else {\r\n\t\t\t\tlet cps = MAPPED.get(cp);\r\n\t\t\t\tif (cps) {\r\n\t\t\t\t\ttokens.push({type: TY_MAPPED, cp, cps: cps.slice()});\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttokens.push({type: TY_DISALLOWED, cp});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (nf) {\r\n\t\tfor (let i = 0, start = -1; i < tokens.length; i++) {\r\n\t\t\tlet token = tokens[i];\r\n\t\t\tif (is_valid_or_mapped(token.type)) {\r\n\t\t\t\tif (requires_check(token.cps)) { // normalization might be needed\r\n\t\t\t\t\tlet end = i + 1;\r\n\t\t\t\t\tfor (let pos = end; pos < tokens.length; pos++) { // find adjacent text\r\n\t\t\t\t\t\tlet {type, cps} = tokens[pos];\r\n\t\t\t\t\t\tif (is_valid_or_mapped(type)) {\r\n\t\t\t\t\t\t\tif (!requires_check(cps)) break;\r\n\t\t\t\t\t\t\tend = pos + 1;\r\n\t\t\t\t\t\t} else if (type !== TY_IGNORED) { // || type !== TY_DISALLOWED) { \r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (start < 0) start = i;\r\n\t\t\t\t\tlet slice = tokens.slice(start, end);\r\n\t\t\t\t\tlet cps0 = slice.flatMap(x => is_valid_or_mapped(x.type) ? x.cps : []); // strip junk tokens\r\n\t\t\t\t\tlet cps = nfc(cps0);\r\n\t\t\t\t\tif (compare_arrays(cps, cps0)) { // bundle into an nfc token\r\n\t\t\t\t\t\ttokens.splice(start, end - start, {\r\n\t\t\t\t\t\t\ttype: TY_NFC, \r\n\t\t\t\t\t\t\tinput: cps0, // there are 3 states: tokens0 ==(process)=> input ==(nfc)=> tokens/cps\r\n\t\t\t\t\t\t\tcps, \r\n\t\t\t\t\t\t\ttokens0: collapse_valid_tokens(slice),\r\n\t\t\t\t\t\t\ttokens: ens_tokenize(str_from_cps(cps), {nf: false})\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\ti = start;\r\n\t\t\t\t\t} else { \r\n\t\t\t\t\t\ti = end - 1; // skip to end of slice\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstart = -1; // reset\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstart = i; // remember last\r\n\t\t\t\t}\r\n\t\t\t} else if (token.type !== TY_IGNORED) { // 20221024: is this correct?\r\n\t\t\t\tstart = -1; // reset\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn collapse_valid_tokens(tokens);\r\n}\r\n\r\nfunction is_valid_or_mapped(type) {\r\n\treturn type == TY_VALID || type == TY_MAPPED;\r\n}\r\n\r\nfunction requires_check(cps) {\r\n\treturn cps.some(cp => NFC_CHECK.has(cp));\r\n}\r\n\r\nfunction collapse_valid_tokens(tokens) {\r\n\tfor (let i = 0; i < tokens.length; i++) {\r\n\t\tif (tokens[i].type == TY_VALID) {\r\n\t\t\tlet j = i + 1;\r\n\t\t\twhile (j < tokens.length && tokens[j].type == TY_VALID) j++;\r\n\t\t\ttokens.splice(i, j - i, {type: TY_VALID, cps: tokens.slice(i, j).flatMap(x => x.cps)});\r\n\t\t}\r\n\t}\r\n\treturn tokens;\r\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGFkcmFmZnkvZW5zLW5vcm1hbGl6ZS9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsT0FBTztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLE9BQU87QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxFQUFFLFlBQVksR0FBRyw4QkFBOEIsRUFBRTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLG1DQUFtQyxXQUFXO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxR0FBcUc7QUFDckc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxpQkFBaUI7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFDQSxFQUFFLElBQUk7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUVBQXFFO0FBQ3JGLElBQUk7QUFDSjtBQUNBO0FBQ0EsaUJBQWlCLGtCQUFrQjtBQUNuQyxLQUFLO0FBQ0wsaUJBQWlCLDBCQUEwQjtBQUMzQyxLQUFLO0FBQ0wsaUJBQWlCLHFCQUFxQjtBQUN0QyxLQUFLO0FBQ0w7QUFDQTtBQUNBLGtCQUFrQixzQ0FBc0M7QUFDeEQsTUFBTTtBQUNOLGtCQUFrQix3QkFBd0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixtQkFBbUI7QUFDakQ7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBLHlCQUF5QixxQkFBcUIsU0FBUztBQUN2RCxXQUFXLFdBQVc7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsUUFBUSxnQ0FBZ0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZFQUE2RTtBQUM3RTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELFVBQVU7QUFDMUQsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQLG1CQUFtQjtBQUNuQjtBQUNBLGlCQUFpQjtBQUNqQixNQUFNO0FBQ04sZ0JBQWdCO0FBQ2hCO0FBQ0EsS0FBSyxzQ0FBc0M7QUFDM0MsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixtQkFBbUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDREQUE0RDtBQUN4RjtBQUNBO0FBQ0E7QUFDQTs7QUFFa0siLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0BhZHJhZmZ5L2Vucy1ub3JtYWxpemUvZGlzdC9pbmRleC5qcz84YTZmIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGRlY29kZV9hcml0aG1ldGljKGJ5dGVzKSB7XHJcblx0bGV0IHBvcyA9IDA7XHJcblx0ZnVuY3Rpb24gdTE2KCkgeyByZXR1cm4gKGJ5dGVzW3BvcysrXSA8PCA4KSB8IGJ5dGVzW3BvcysrXTsgfVxyXG5cdFxyXG5cdC8vIGRlY29kZSB0aGUgZnJlcXVlbmN5IHRhYmxlXHJcblx0bGV0IHN5bWJvbF9jb3VudCA9IHUxNigpO1xyXG5cdGxldCB0b3RhbCA9IDE7XHJcblx0bGV0IGFjYyA9IFswLCAxXTsgLy8gZmlyc3Qgc3ltYm9sIGhhcyBmcmVxdWVuY3kgMVxyXG5cdGZvciAobGV0IGkgPSAxOyBpIDwgc3ltYm9sX2NvdW50OyBpKyspIHtcclxuXHRcdGFjYy5wdXNoKHRvdGFsICs9IHUxNigpKTtcclxuXHR9XHJcblxyXG5cdC8vIHNraXAgdGhlIHNpemVkLXBheWxvYWQgdGhhdCB0aGUgbGFzdCAzIHN5bWJvbHMgaW5kZXggaW50b1xyXG5cdGxldCBza2lwID0gdTE2KCk7XHJcblx0bGV0IHBvc19wYXlsb2FkID0gcG9zO1xyXG5cdHBvcyArPSBza2lwO1xyXG5cclxuXHRsZXQgcmVhZF93aWR0aCA9IDA7XHJcblx0bGV0IHJlYWRfYnVmZmVyID0gMDsgXHJcblx0ZnVuY3Rpb24gcmVhZF9iaXQoKSB7XHJcblx0XHRpZiAocmVhZF93aWR0aCA9PSAwKSB7XHJcblx0XHRcdC8vIHRoaXMgd2lsbCByZWFkIGJleW9uZCBlbmQgb2YgYnVmZmVyXHJcblx0XHRcdC8vIGJ1dCAodW5kZWZpbmVkfDApID0+IHplcm8gcGFkXHJcblx0XHRcdHJlYWRfYnVmZmVyID0gKHJlYWRfYnVmZmVyIDw8IDgpIHwgYnl0ZXNbcG9zKytdO1xyXG5cdFx0XHRyZWFkX3dpZHRoID0gODtcclxuXHRcdH1cclxuXHRcdHJldHVybiAocmVhZF9idWZmZXIgPj4gLS1yZWFkX3dpZHRoKSAmIDE7XHJcblx0fVxyXG5cclxuXHRjb25zdCBOID0gMzE7XHJcblx0Y29uc3QgRlVMTCA9IDIqKk47XHJcblx0Y29uc3QgSEFMRiA9IEZVTEwgPj4+IDE7XHJcblx0Y29uc3QgUVJUUiA9IEhBTEYgPj4gMTtcclxuXHRjb25zdCBNQVNLID0gRlVMTCAtIDE7XHJcblxyXG5cdC8vIGZpbGwgcmVnaXN0ZXJcclxuXHRsZXQgcmVnaXN0ZXIgPSAwO1xyXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgTjsgaSsrKSByZWdpc3RlciA9IChyZWdpc3RlciA8PCAxKSB8IHJlYWRfYml0KCk7XHJcblxyXG5cdGxldCBzeW1ib2xzID0gW107XHJcblx0bGV0IGxvdyA9IDA7XHJcblx0bGV0IHJhbmdlID0gRlVMTDsgLy8gdHJlYXQgbGlrZSBhIGZsb2F0XHJcblx0d2hpbGUgKHRydWUpIHtcclxuXHRcdGxldCB2YWx1ZSA9IE1hdGguZmxvb3IoKCgocmVnaXN0ZXIgLSBsb3cgKyAxKSAqIHRvdGFsKSAtIDEpIC8gcmFuZ2UpO1xyXG5cdFx0bGV0IHN0YXJ0ID0gMDtcclxuXHRcdGxldCBlbmQgPSBzeW1ib2xfY291bnQ7XHJcblx0XHR3aGlsZSAoZW5kIC0gc3RhcnQgPiAxKSB7IC8vIGJpbmFyeSBzZWFyY2hcclxuXHRcdFx0bGV0IG1pZCA9IChzdGFydCArIGVuZCkgPj4+IDE7XHJcblx0XHRcdGlmICh2YWx1ZSA8IGFjY1ttaWRdKSB7XHJcblx0XHRcdFx0ZW5kID0gbWlkO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHN0YXJ0ID0gbWlkO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRpZiAoc3RhcnQgPT0gMCkgYnJlYWs7IC8vIGZpcnN0IHN5bWJvbCBpcyBlbmQgbWFya1xyXG5cdFx0c3ltYm9scy5wdXNoKHN0YXJ0KTtcclxuXHRcdGxldCBhID0gbG93ICsgTWF0aC5mbG9vcihyYW5nZSAqIGFjY1tzdGFydF0gICAvIHRvdGFsKTtcclxuXHRcdGxldCBiID0gbG93ICsgTWF0aC5mbG9vcihyYW5nZSAqIGFjY1tzdGFydCsxXSAvIHRvdGFsKSAtIDE7XHJcblx0XHR3aGlsZSAoKChhIF4gYikgJiBIQUxGKSA9PSAwKSB7XHJcblx0XHRcdHJlZ2lzdGVyID0gKHJlZ2lzdGVyIDw8IDEpICYgTUFTSyB8IHJlYWRfYml0KCk7XHJcblx0XHRcdGEgPSAoYSA8PCAxKSAmIE1BU0s7XHJcblx0XHRcdGIgPSAoYiA8PCAxKSAmIE1BU0sgfCAxO1xyXG5cdFx0fVxyXG5cdFx0d2hpbGUgKGEgJiB+YiAmIFFSVFIpIHtcclxuXHRcdFx0cmVnaXN0ZXIgPSAocmVnaXN0ZXIgJiBIQUxGKSB8ICgocmVnaXN0ZXIgPDwgMSkgJiAoTUFTSyA+Pj4gMSkpIHwgcmVhZF9iaXQoKTtcclxuXHRcdFx0YSA9IChhIDw8IDEpIF4gSEFMRjtcclxuXHRcdFx0YiA9ICgoYiBeIEhBTEYpIDw8IDEpIHwgSEFMRiB8IDE7XHJcblx0XHR9XHJcblx0XHRsb3cgPSBhO1xyXG5cdFx0cmFuZ2UgPSAxICsgYiAtIGE7XHJcblx0fVxyXG5cdGxldCBvZmZzZXQgPSBzeW1ib2xfY291bnQgLSA0O1xyXG5cdHJldHVybiBzeW1ib2xzLm1hcCh4ID0+IHsgLy8gaW5kZXggaW50byBwYXlsb2FkXHJcblx0XHRzd2l0Y2ggKHggLSBvZmZzZXQpIHtcclxuXHRcdFx0Y2FzZSAzOiByZXR1cm4gb2Zmc2V0ICsgMHgxMDEwMCArICgoYnl0ZXNbcG9zX3BheWxvYWQrK10gPDwgMTYpIHwgKGJ5dGVzW3Bvc19wYXlsb2FkKytdIDw8IDgpIHwgYnl0ZXNbcG9zX3BheWxvYWQrK10pO1xyXG5cdFx0XHRjYXNlIDI6IHJldHVybiBvZmZzZXQgKyAweDEwMCArICgoYnl0ZXNbcG9zX3BheWxvYWQrK10gPDwgOCkgfCBieXRlc1twb3NfcGF5bG9hZCsrXSk7XHJcblx0XHRcdGNhc2UgMTogcmV0dXJuIG9mZnNldCArIGJ5dGVzW3Bvc19wYXlsb2FkKytdO1xyXG5cdFx0XHRkZWZhdWx0OiByZXR1cm4geCAtIDE7XHJcblx0XHR9XHJcblx0fSk7XHJcbn1cdFxyXG5cclxuLy8gcmV0dXJucyBhbiBpdGVyYXRvciB3aGljaCByZXR1cm5zIHRoZSBuZXh0IHN5bWJvbFxyXG5mdW5jdGlvbiByZWFkX3BheWxvYWQodikge1xyXG5cdGxldCBwb3MgPSAwO1xyXG5cdHJldHVybiAoKSA9PiB2W3BvcysrXTtcclxufVxyXG5mdW5jdGlvbiByZWFkX2NvbXByZXNzZWRfcGF5bG9hZChzKSB7XHJcblx0cmV0dXJuIHJlYWRfcGF5bG9hZChkZWNvZGVfYXJpdGhtZXRpYyh1bnNhZmVfYXRvYihzKSkpO1xyXG59XHJcblxyXG4vLyB1bnNhZmUgaW4gdGhlIHNlbnNlOlxyXG4vLyBleHBlY3RlZCB3ZWxsLWZvcm1lZCBCYXNlNjQgdy9vIHBhZGRpbmcgXHJcbmZ1bmN0aW9uIHVuc2FmZV9hdG9iKHMpIHtcclxuXHRsZXQgbG9va3VwID0gW107XHJcblx0Wy4uLidBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJ10uZm9yRWFjaCgoYywgaSkgPT4gbG9va3VwW2MuY2hhckNvZGVBdCgwKV0gPSBpKTtcclxuXHRsZXQgbiA9IHMubGVuZ3RoO1xyXG5cdGxldCByZXQgPSBuZXcgVWludDhBcnJheSgoNiAqIG4pID4+IDMpO1xyXG5cdGZvciAobGV0IGkgPSAwLCBwb3MgPSAwLCB3aWR0aCA9IDAsIGNhcnJ5ID0gMDsgaSA8IG47IGkrKykge1xyXG5cdFx0Y2FycnkgPSAoY2FycnkgPDwgNikgfCBsb29rdXBbcy5jaGFyQ29kZUF0KGkpXTtcclxuXHRcdHdpZHRoICs9IDY7XHJcblx0XHRpZiAod2lkdGggPj0gOCkge1xyXG5cdFx0XHRyZXRbcG9zKytdID0gKGNhcnJ5ID4+ICh3aWR0aCAtPSA4KSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHJldHVybiByZXQ7XHJcbn1cclxuXHJcbi8vIGVnLiBbMCwxLDIsMy4uLl0gPT4gWzAsLTEsMSwtMiwuLi5dXHJcbmZ1bmN0aW9uIHNpZ25lZChpKSB7IFxyXG5cdHJldHVybiAoaSAmIDEpID8gKH5pID4+IDEpIDogKGkgPj4gMSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlYWRfZGVsdGFzKG4sIG5leHQpIHtcclxuXHRsZXQgdiA9IEFycmF5KG4pO1xyXG5cdGZvciAobGV0IGkgPSAwLCB4ID0gMDsgaSA8IG47IGkrKykgdltpXSA9IHggKz0gc2lnbmVkKG5leHQoKSk7XHJcblx0cmV0dXJuIHY7XHJcbn1cclxuXHJcbi8vIFsxMjNdWzVdID0+IFswIDNdIFsxIDFdIFswIDBdXHJcbmZ1bmN0aW9uIHJlYWRfc29ydGVkKG5leHQsIHByZXYgPSAwKSB7XHJcblx0bGV0IHJldCA9IFtdO1xyXG5cdHdoaWxlICh0cnVlKSB7XHJcblx0XHRsZXQgeCA9IG5leHQoKTtcclxuXHRcdGxldCBuID0gbmV4dCgpO1xyXG5cdFx0aWYgKCFuKSBicmVhaztcclxuXHRcdHByZXYgKz0geDtcclxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XHJcblx0XHRcdHJldC5wdXNoKHByZXYgKyBpKTtcclxuXHRcdH1cclxuXHRcdHByZXYgKz0gbiArIDE7XHJcblx0fVxyXG5cdHJldHVybiByZXQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlYWRfc29ydGVkX2FycmF5cyhuZXh0KSB7XHJcblx0cmV0dXJuIHJlYWRfYXJyYXlfd2hpbGUoKCkgPT4geyBcclxuXHRcdGxldCB2ID0gcmVhZF9zb3J0ZWQobmV4dCk7XHJcblx0XHRpZiAodi5sZW5ndGgpIHJldHVybiB2O1xyXG5cdH0pO1xyXG59XHJcblxyXG4vLyByZXR1cm5zIG1hcCBvZiB4ID0+IHlzXHJcbmZ1bmN0aW9uIHJlYWRfbWFwcGVkKG5leHQpIHtcclxuXHRsZXQgcmV0ID0gW107XHJcblx0d2hpbGUgKHRydWUpIHtcclxuXHRcdGxldCB3ID0gbmV4dCgpO1xyXG5cdFx0aWYgKHcgPT0gMCkgYnJlYWs7XHJcblx0XHRyZXQucHVzaChyZWFkX2xpbmVhcl90YWJsZSh3LCBuZXh0KSk7XHJcblx0fVxyXG5cdHdoaWxlICh0cnVlKSB7XHJcblx0XHRsZXQgdyA9IG5leHQoKSAtIDE7XHJcblx0XHRpZiAodyA8IDApIGJyZWFrO1xyXG5cdFx0cmV0LnB1c2gocmVhZF9yZXBsYWNlbWVudF90YWJsZSh3LCBuZXh0KSk7XHJcblx0fVxyXG5cdHJldHVybiByZXQuZmxhdCgpO1xyXG59XHJcblxyXG4vLyByZWFkIHVudGlsIG5leHQgaXMgZmFsc3lcclxuLy8gcmV0dXJuIGFycmF5IG9mIHJlYWQgdmFsdWVzXHJcbmZ1bmN0aW9uIHJlYWRfYXJyYXlfd2hpbGUobmV4dCkge1xyXG5cdGxldCB2ID0gW107XHJcblx0d2hpbGUgKHRydWUpIHtcclxuXHRcdGxldCB4ID0gbmV4dCh2Lmxlbmd0aCk7XHJcblx0XHRpZiAoIXgpIGJyZWFrO1xyXG5cdFx0di5wdXNoKHgpO1xyXG5cdH1cclxuXHRyZXR1cm4gdjtcclxufVxyXG5cclxuLy8gcmVhZCB3IGNvbHVtbnMgb2YgbGVuZ3RoIG5cclxuLy8gcmV0dXJuIGFzIG4gcm93cyBvZiBsZW5ndGggd1xyXG5mdW5jdGlvbiByZWFkX3RyYW5zcG9zZWQobiwgdywgbmV4dCkge1xyXG5cdGxldCBtID0gQXJyYXkobikuZmlsbCgpLm1hcCgoKSA9PiBbXSk7XHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCB3OyBpKyspIHtcclxuXHRcdHJlYWRfZGVsdGFzKG4sIG5leHQpLmZvckVhY2goKHgsIGopID0+IG1bal0ucHVzaCh4KSk7XHJcblx0fVxyXG5cdHJldHVybiBtO1xyXG59XHJcbiBcclxuLy8gcmV0dXJucyBbW3gsIHlzXSwgW3grZHgsIHlzK2R5XSwgW3grMipkeCwgeXMrMipkeV0sIC4uLl1cclxuLy8gd2hlcmUgZHgvZHkgPSBzdGVwcywgbiA9IHJ1biBzaXplLCB3ID0gbGVuZ3RoIG9mIHlcclxuZnVuY3Rpb24gcmVhZF9saW5lYXJfdGFibGUodywgbmV4dCkge1xyXG5cdGxldCBkeCA9IDEgKyBuZXh0KCk7XHJcblx0bGV0IGR5ID0gbmV4dCgpO1xyXG5cdGxldCB2TiA9IHJlYWRfYXJyYXlfd2hpbGUobmV4dCk7XHJcblx0bGV0IG0gPSByZWFkX3RyYW5zcG9zZWQodk4ubGVuZ3RoLCAxK3csIG5leHQpO1xyXG5cdHJldHVybiBtLmZsYXRNYXAoKHYsIGkpID0+IHtcclxuXHRcdGxldCBbeCwgLi4ueXNdID0gdjtcclxuXHRcdHJldHVybiBBcnJheSh2TltpXSkuZmlsbCgpLm1hcCgoXywgaikgPT4ge1xyXG5cdFx0XHRsZXQgal9keSA9IGogKiBkeTtcclxuXHRcdFx0cmV0dXJuIFt4ICsgaiAqIGR4LCB5cy5tYXAoeSA9PiB5ICsgal9keSldO1xyXG5cdFx0fSk7XHJcblx0fSk7XHJcbn1cclxuXHJcbi8vIHJldHVybiBbW3gsIHlzLi4uXSwgLi4uXVxyXG4vLyB3aGVyZSB3ID0gbGVuZ3RoIG9mIHlcclxuZnVuY3Rpb24gcmVhZF9yZXBsYWNlbWVudF90YWJsZSh3LCBuZXh0KSB7IFxyXG5cdGxldCBuID0gMSArIG5leHQoKTtcclxuXHRsZXQgbSA9IHJlYWRfdHJhbnNwb3NlZChuLCAxK3csIG5leHQpO1xyXG5cdHJldHVybiBtLm1hcCh2ID0+IFt2WzBdLCB2LnNsaWNlKDEpXSk7XHJcbn1cblxuLy8gY3JlYXRlZCAyMDIzLTAyLTIxVDA5OjE4OjEzLjU0OVpcbnZhciByJDEgPSByZWFkX2NvbXByZXNzZWRfcGF5bG9hZCgnQUVnU2J3akVEVllCeVFLYUFRc0JPUURwQVRRQW5nRFVBSHNBb0FCb0FOUUFhZ0NOQUVRQWhBQk1BSElBT3dBOUFDc0FOZ0FtQUdJQUhnQXZBQ2dBSndBWEFDMEFHZ0FqQUI4QUx3QVVBQ2tBRWdBZUFBa0FHd0FSQUJrQUZnQTVBQ2dBTFFBckFEY0FGUUFwQUJBQUhnQWlBQkFBR0FBZUFCTUFGd0FYQUEwQURnQVdBQThBRkFBVkJGc0YxUUVYRTBvM3hBWFVBTElBcmtBQmFBQ21BZ1BHQUs2QU1EQXdNQUUvcUFZSzdQNEhRQWJsTWdWWUJWa0FQU3c1QWZhM0VnZkp3Z0FQQThtZU5BTEdDakFDanFJQ2h0ay9qMitLQXNYTUFvUHpBU0RnQ2dEeXJnRkNBaTZPQ2tDUUFPUUE0d29XQUJqVnVza05ERDZlQkJ4NEFQNENPaGkrRCt3S0JpcnFCZ1NDYUEwY0J5NEFyQUJxa3UrbW5JQUFYQWFVSkFicUFCd0FQQXlVRnZ5cC9NbzhJTkFJdkNvRHNoUThBUGN1YktRQW9uNFpBQmdFSnRnWEFSNEF1aG5PQlBzS0lFMDRDWmdKaVI4Y1ZscE01SU5EQUJRQURRQVdBQTlzVlFBaUFBOEFTTzhXMlQzME9WbktsdVl2Q2hFZVgwNVpQZTBBRkFBTkFCWUFEMndnWFVDWUFNUHNBQndBT2d6R0ZyeXAvQUhhdVFWY0JlTUMwS0FDeExFS1RSMmtaaFIwR201TTlnQzhEbWdDNGdBTUxqU0tGOHFTQW9GOEFSTWNBTDRPYUFMaUFBd3VBVWxRSnBKTUN3TXQvQVVwQ3RocUdLNEIyRVFBY2l3U2VBSXlGaUlES0NpNk9Hd0FPdUlCOWlZQXlBN010Z0VjWklJQXNnWUFCZ0NLMUVvRkhOWnNHQUNvS05JQm9nQUFBQUFBS3k0RG5BQm9BUW9hUHU0M2RRUVpHQUNyQWNnQ0lnRGdMQkowT3ZSUXNUT2lLRFZKQmZzb0JWb0ZXYkM1QldvN1hrSVRPMWhDbUh1VVptQ2grUXdVQThZSUp2SjRKQVNrVEFKVVZBSjJIS3dvQVpDa3BqWmNBMFlZQklSaUNnRFNCcXhBTUNRSEtnSTZYZ0JzQVdJZ2NnQ0VIaG9BbGdGS3VBQW9haGdCc01ZRE9DNGlSRlFCY0ZvR1pnSm1BUEpLR0FNcUFnWUFTa0lBckFCZUFIUUFMTFlHQ1BUd0dvNkFBQUFLSWdBcUFMUWNTQUhTQWR3SURES1hlWUhwQUFzQUVnQTFBRDRBT1RSM2V0VEJFR0FRWFFKTkNreHRPeFVNQXEwUHB3dm1FUllNMGlyTTA5a0FOS29IN0FOVUIrd0RWQU5VQit3SDdBTlVCK3dEVkFOVUExUURWQndMOEJ2VXdSQmdEMGtFYmdXUEJZd0Uxd2lFSmtvUmdnY3BDTk5VRG5RZkhFZ0RSZ0Q5SXlaSkhUdVVNd3dsUTB3TlRRUUgvVFpEYktoOU9RTklNYXhVOXBDakE4d3lVRGx0QWg1eUVxRUFLdzkwSFRXMlRuOTZTSEdoQ2t4UHI3V0FTV05PYUFLL09xay8rUW9pQ1pSdnZIZFBCajRRR0NlaUVQUU1NQUd5QVRnTjZrdlZCTzRHT0FUR0gzb1pGZy9LbFprSW9pM2FET29tNEM2ZWdGY2o4aXFBQmVwTDhUemFDMHBSWlE5V0MySUo0RHBnZ1VzREhnRUtJb2dLMmcwMkNHb1E4QXJHYUEzaUVVSUhOZ1BTU1pjQW9nYitDdzRkTWhXeUpnMWlxUXNHT1hRRytCcnpDNHdtckJNbWV2a0YwQm9lQmtvQkpocjhBTXd1NUlXdFdpNWNHVTljQmdBTElpUEVGS1ZRSFEwaVFMUjRSUm9ZQnhJbHBnS09RMjFLaEZFekhwQWg4enc2RFdNdUVGRjVCL0k4QWhsTUMzNDhtMGFvUlFzUnp6NktQVVVpUmt3cEJESjhMQ3duaUFuTUQ0SU10bnh2QVZZSkhnbXVERzRUTGhFVU44SUlOZ2NXS3BjaEp4SUlIa2FTWUpjRTlKd0Q4QlBPQXdnRlBBaytCeEFEc2h3cUV5c1ZKZ1VLZ1NIVUF2QTIwaTZ3QW94V2ZRRVVCY2dQSWgvY0VFMUgzUTdtQ0pnQ1lnT0FKZWdBS2hVZUFCUWltQWhBWUFCY2o5VlRBaTdJQ01ScWFTTnhBMlFVNUY0UmNBZU9EbFFIcEJ3d0Zid2MzbkRGWGdpR0JTaWdyQWxZQVhJSmxnRmNCT0FJQmpWWWpKMGdQbWRRaTFVWW1DQmVRVHhkK1FJdURHSVZuRVM2aDNVQ2lBOW9FaGdCTWdGd0J6WU0vZ0owRWVvUmFCQ1NDT2lHQVRXeU0vVTZJZ1JNSVlBZ0Rnb2tBMHhzeXdza0p2WU05V1lCb0JKZkF3azBPbmZyWjZoZ3N5RVgrZ2NXTXNKQlhTSHVDNDlQeWd5WkdyNFlQMVFyR2VFSHZBUHdHdkFuNTBGVUJmd0RvQUFRT2tvejZ3UzZDMllJaUFrOEFFWU9vQlFIMUJobkNtNk16UUV1aUFHMGxnTlVqb0FDYkl3R05BY0lBR1FJaEFWMjRnQWFBcVFJb0FBQ0FNd0RWQUEyQXFvSG1nQVdBSUkrQVRvREpDd0JIdUlDakFPUUNDN0lBWklzQWZBbUJCakFEQklBOURSdVJ3TERyZ0tBWjJhZkJkcFZBb3NDUmpJQlNpSUVBa3RFVGdPc2J0NEEyQUJJQmhEY1JBRVNxRWZJRitCQUFkeHNLQURFQVBnQUFqSUhBajRCeWdId2FnQzBBVndMTGdtZnNMSUJTdVltQUlBQUVtZ0IxQUtHQU5vQU1nQjg3Z0ZRQUVvRlZ2WUYwQUpNUmdFT0xoVW9WRjRCdUFNY0FUQUJDZ0IyQnNpS29zWUVIQVJxQjlBQ0VCZ1YzZ0x2S3dleUF5TGNFOHBDd2dLOTIxSUFNaE1LTlFxa0NxTmdXRjB3QXk1dlBVMEFDeCtsUHNRL1N3Vk9PMUE3VlR0UU8xVTdVRHRWTzFBN1ZUdFFPMVVEbEx6ZnZOOEthVjlDWWVnTW93M1JSTVU2UmhQWVlFNWdMeFBGTGJRVXZoWExKVk1aT2hxNUp3SWw0VlVHRHdFdDBHWXRDQ2swY2hlNUFEd3BaWU0rWTRNZUxRcElIT1JUamxUMUxSZ0Fya3VmTTZ3TnFSc1NSRDBGUkhYcVlpY1dDd29mQW1SK0FtSS9XRXFzV0RjZEFxSDBBbWlWQW1ZR0FwK0JPQmdJQW1ZNEFtWWpCR3NFZkFOL0VBTitqemtET1hRVU9YODZJQ0FDYkJvQ01qTTRCd0p0eEFKdHEreUhNR1JDS0FGa0FOc0EzZ0JIQWdlVkRJb0Erd2kvQUFxeUFuY3NBbmFmUEFKNVNFQUNlTGNhV2RoRnEwYndBbnc4QW5yRkFuMEdBbnp0Ui8xSWVtQWhBQ2dTU1ZWS1dCSVVTc2tDMFA0QzBNbExKQU9JVEFPSDQwVENrUzhDOHA1ZEFBTURxMHZMVENvaUFNeE5TVTJzQW9zOEFvclZ2aGdFR2tCa0FyUUNqalFDamxrOWxINENqdFlDamxsMVViRlRNZ2RTMFZTQ0FwUDRBcE1KQU9ZQUdWVWJWYXhWelFNc0dDbVNnekxlZUdORk9EWUNsNXdDNzY5WUhxVUFWaUlDbG93Q2xubVpBS1pacVZvR2Zrb0FPQUtXc2dLV1MxeEJYTTRDbWNnQ21XRmN4MTBFRmdLY21EbS9PcG9DbkJNQ241Z0NucldIQUJvTUxpY01BcDN1QXA2UEFMSTZZVEZoN0FLZTBBS2dhd0dtQXA2Y0hBS2VTNkpqeFdRa0lpZ0NKNndDSm5zQ29QZ0NvRW5VQXFZc0FxWExBcWY4QUhvQ3ArOW9lV2l1QUFCR2FobHF6Z0tzNEFLc3F3S3RaQUtzL3dKWEdnSlYyUUt4M3RRREgwdHNsQUt5dWdvQ3N1VVViTjF0WUcxRlhBTWx5Z0syV1RnOGJvMERLVUlDdUZzQ3VVUVNBcmtuZEhBemNONEN2UllETGE4RE1nNEN2b1Z4L3dNemJnSytGM01mYzB3Q3c4Z0N3d0Z6ZjNSSU1rSjAzUU04cEFNOGx3TTl2QUxGZVFMR1JBTEdEWVlDeUdaT0FzaEJBc2xNQXNrckFtU2FBdDNQZUhaZWVLdDVJa3ZOQXhpZ1p2OENZZkVaOEpVaGV3aGVqMTY0RGdMUGFBTFBhU3hJVU0vd0VKd0F3Nm9DejNBQkp1Y0RUZzkrU0FJQzNDUUMyNGNDMGt3RFVsa0RVMXdBL2dOVmlZQ0dQTWdUNmwxQ2NvTExnNG9DMnNRQzJkdUVEWVJHcHprRGhxSUFMQU5rQzRadVZ2WUFVZ0xmWWdMZXRYQjBBdUlzN1JFQjh5MGtBZlNZQWZMUGhBTHI4QUxwYlhZQzZ2WUM2dUVBOWtRQnRnTHVoZ0xybVphbmx3QUM3andEaGQyWWRuRGRjWjRDOHdBQVpnT09FNW1RQXZjUUE1RnJBNUtFQXZlVkF2bldBdmhqbWhtYXFMZzBteHNEbllBQy92Y0JHQUEybnhtZnNBTUZpZ09tWndPbTFnRE93Z01HWjZHRm9nSUdBd3hHQVF3QkhBZHFCbDYyWkFJQXVBUm92QTZJSHJBS0FCUnlOZ0FnQXpBU1NnT0dmQUZnSkI0QWpPd0FIZ0Rtb0FTY2pnaTBCaHlnd2dDb0JSSzg2aDQrUHhaNUJXazRQMEVzUWlKQ3RWOXlFbCs5QUpiR0JUTUFrRTBhbTdvN0oyQXpFcnJRRGpBWXh4aUt5ZmNGV0FWWkJWZ0ZXUVZrQlZrRldBVlpCVmdGV1FWWUJWa0ZXQVZaUnhZSTJJWm9Bd01EQ21WZTZpd0V5Z095QmpDOHZBQzhCS2k4QU9oQktoYXpCVWMrYWo1eFFrQkN0MTkyT0YvcEFGZ1NNNndBalAvTWJNdjlwdWhHZXo0bkpBVXNGeWczTm41dTMydkI4aG5ETEdvQmJOZHZNUmdGWUFWcnljTEp1UWpRU2x3QkFRRUtmVjUrakw4QU5EK0NBQVFXMGdibXJpUUdBSXpFREFNQ0RnRGxaaDQrSlNCTFFySkN2VUk1SkY4b1lEY29PU1FKd2o0S1JUOUVQbmsrZ2o1eFBuSUNpa0s5U2tNOFg4eFBVR3RPQ3kxc1ZUQnJERzhnWCtFME94d0phSndLWXlRc1BSNG5RcXhDdlN6TUFzdjlYOG9QSUM4S0NRb0FBQ04rbnQ5ck95NUxHTW1zeWEwSlpzTE16UXBoUVdBUDVoQ2tFZ0NUamg1R1FpWWJxbTA2emprS05EOUVQbkZDUUJ3SUN4NU5TRzFjTFM1YTRyd1RDbjd1SGl4Q1FCeGVDVXNLRHpSVlJFTTRCVHRFbkMwS2dod3VRa0FiOWdsVUl5UVpNVElCQm85aThGOEtjbVRLWUF4Z0xpUnZBRVJnR2pvREhCOWd0QWNEYkJGbVQyQk9FZ0lBWk9oZ0ZtQ1dZSDVndEdCTVlKSnBGaGdHdGcvY1ZxcThXd3RERjZ3QnZDek93Z01nRmdFZEJCOEJlZ0p0TURHV1U0RUJpd3E1U0JzQTVTUjBqd3ZMRHFkTjZ3R2NBb2lkVUFWQllBRDRBRDRMQVRVWFdIc01wZzBsSUx1d1NBQlFEVFVBRmhPNE5WVUMwd3hMWmhFY0FObFBCbllFQ3g5YkFESUF0d0tiS0FzV2NLd3pPYUFhQVZ3Qmh3bjlBOXJ1RUFhckJrc0d1Z0FleTFhcVd3cTdZaE9LQ3kxQURyd0J2QUVqQTBoYktTa3BJUjhnSWkwVEp3Y2lEWTRBVlFKdldKRktsZ0p2SUE5eVNBSFVkUkRQVWlFYXFyRk42d2NTQlUxZ0FQZ0FQZ3NCZXdBSEpXMExpQXltT1RFdXlMQlhEZ3dBWUwwTUFHUkthRkFpSWh6QUFESUF0d0tiS0MwOEQ4OENrUmg4VUx4WXlYUnpqdGlsbkE3Mm1oVStHKzBTMmhJSER4d0J5QWs3RUpRR0VTd05Od3dBUEFDMHp3RURBS1VBNGdDYml6QUFGUUJjRzhjdmJYY3JEc0lSQXp3bFJOVGlIUjhNRzM0Q2ZBVENDNnZ4YlFBNE9pNE9wemt1ejZJZEI3d0tBQkE3THM4U0dnQjlyTnNkRDd3YlNCek9vbmNmQVQ0cVlCMEM3S0FKQkUzejVSOW1ETDBNK3dnOUNqOEFCY0VMUGdKTURid0l2UTA5Q1QwS3ZTN1BvaXNPdkFhWUFod1BqQnJpQkJ3THZCWThBS0VMUEJDOEJSaWhlOTBBTzJ3TVBRQUNwd205QlJ6UjlRWUZCMi9MQm53QUI3d1NYQklTdlFFQ0FPc0NBQUIxRlZ3SEZzd1YvSEFYdkJnOEFDNjhBdXlvdkFBZXZBSldJU3VBQUFHOEFBTGtGVDBWdkN2c283ekpxRHdFQXA4blRBQUNYQURuM2htOENhVmNENy9GQVBVYWZBaWlCUXYvY1FEZnZLZThHTndhdktPTWVYTUcvS21jaEFBU3ZBY2JEQUFEbEFCdHZBY0FDN3luUEFJYVBMc0lvcHpMRHZ3SHdhazhBT0Y4TDdkdHZ3TkpBQVBzQUJXOEFBYjhBQW04QUdtTUFCcThBQTY4QXhpOGptb1YvQUFCWEFBT2JBQXVUQjhBQnJ3QUY3d0lJZ0FOU3dDNnZDY0FBN3dBRHB3cTdBQ3lXd0FjSEFBYnZBQUI3QXFpQUFYSEN4WVYzQUFIbkFCQ3ZBRURBR204QUF0OEFCMjhBQWk4Q2FJQUJjc0FicUFaMWdDU0NDSUFCY3NBQVR3QUI5d0FIWndJSWdBR213QUpmQUFiTEFCdEhBRG12SUVBQ0Z3QUNEd0FGTHdBYVB3SklnQUd5d0RqakFBSlBBdWlEc1g3WUFBSFBBQnVuVUJKQUVnQUNyd0ZBQU04QUFtdUF6Z0FCeHdBR1h3QUFneW0vQUFLSEFBS1BBQUovS2ZzQnJ3QUNSd0FBd3dBRUR3QkFCUThBQkZzQUErTUFBM3NBQTI4QUJrTUJ4WWNBQlU4QUc2Y0ZyUUJ2QUM3QUJNOEJBQnBMQXNBNFV3QUFqd0FCRk1BRjN3RkhBQUcwUUFZdkI4QmZDbFRBRHBHQUxBSkJ3NE1jd0FwSzNFQnBRWUlYd0p0SkEwQUNnaHdURzFnSzRvZ2dSVmpMamNEb2dxMUFBTFpBQmNDL0FSdkFYZHpTRk1WSWdOUUFoWS9BUzBHQkhSSHZueFRlMEVBS2dBeUF2d0FWQXZjQUh5UkxRRXNBSGZtRGhJelJ3SkxBRmdHQUFKUkFRaUx6UUI1UEFRaHBnQmJBTmNXQUpacE9DQ01BTTVzc2dEUTFSY0p3M1owSEJsWEhnclNBWW1SckNOVVZFNUpFejNEaXZvQWdCMDRRU29zNFJLWVVBQnpBU29zTVNsREdoQURNVllFK01idkFFeG0zUUJyQW5JQ1FCRjdPc2g0THpYV0JoRVRJQVVWQ0s2di94UE5BQ1lBQVFJYkFJWUFpUUNPTmdEakFMUUExUUNkUFFDN0FLc0FwZ0NoQU9jQW53RFRBSndBNEFFQkFQd0F3QUI2QUZzQXl3RE5BUHdBMXdEckFJa0FvZ0VxQU9NQTJBRFZCQUlJS3pUVDA5UFR0Yi9iek0vTlFqRVdBVXNCVlM1R0FWTUJZZ0ZoQVZRQlJVcENSR2NNQVV3VUJna0VNemNNQndBZ0RTUW1LQ3MzT1RrOFBEdzlQZzAvSFZCUVVGQlNVbEZTS0ZOVVZsVlZIRnhnWUY5aFlDTmxaMjl1Y1hGeGNYRnhjM056YzNOemMzTnpjM04xZFhaMWRGc0FQZXNBUWdDVEFIRUFLd0JmOFFDSEFGQUFVQUF3QW0vb0FJVCs4ZkVBWFFDTTZ3Q1lBRWdBV3dCZCtQaXBBSDRBZmdCaUFFOEFxZ0FkQUs4QWZBSTVBandBOVFEZ0FQY0E5d0RoQVBnQTRnRGlBT0VBM3dBb0FuUUJTZ0U1QVRjQlRRRTNBVGNCTndFeUFURUJNUUV4QVJVQlVSQUFLZ2tCQUV3WUN4Y0VGaGNQQUljQWp3Q2ZBRW9BWXhrQ0tnQnZBR2dBa0FNT0F5QXJBeHBDUDBncUFJb0NTQURBQWxBQ25RQzVBbzhDandLUEFvOENqd0tQQW9RQ2p3S1BBbzhDandLUEFvOENqZ0tPQXBFQ21RS1FBbzhDandLTkFvMENqUUtOQW9zQ2pnSnVBYzBDa0FLWUFvOENqd0tPRjNvTUFQY0dBNWdDV2dJekdBRk5FVFlDMnhJTExCUUJSemdVVHBJQmRLVTlBV0phQVA0RE9rZ0Evd0NTS2g0WmtHc0FLbUVBYWdBdkFJb0RsY3lNOEsrRld3YTdMQS9ERWdLZTFuVXJDd1FrV3dHekFONS9nWUIvZ1grQ2c0Ti9oSWVGZjRhSmg0R0lnNG1EaW4rTGY0eC9qWXVPZjQ5L2tJT1JmNUovazMrVWY1V0Vsb21YZzVoL0FJTWxvUUNFQkR3RU9RUTdCRDRFUEFSQ0JEOEVPZ1JBQkVJRVFRUTlCRDhFUWdDa0E0Z0F5bElBMEFJTkFQZGJBUGNCR2dEM0FQVUE5UUQyQVBYVmhTUm12d0QzQVBVQTlRRDJBUFVkQUlwYkFQY0FpZ0VhQVBjQWlnTHRBUGNBaXRXRkpHYS9IUUQ0V3dFYUFQY0E5d0QxQVBVQTlnRDFBUGdBOVFEMUFQWUE5ZFdGSkdhL0hRQ0tXd0VhQVBjQWlnRDNBSW9DN1FEM0FJclZoU1JtdngwQ1JBRTNBa3NCT2dKTXdnT2ZBdTBEbjlXRkpHYS9IUUNLV3dFYUE1OEFpZ09mQUlvQzdRT2ZBSXJWaFNSbXZ4MEVNUUNLQkRJQWlnZU9NbTRoTFFDS0FUOXZCQ1FBL2dESFd3TUFWVnYvRkRNREFJb0RQdGtBU2dNQWlnTUFsMmRCdHYvVHJmTHpha2FQaDNhenRtSXVaUXJSM0VSMm41WW8rcU5SMmpLL2FQL1YwNFVLMW5qSUpYTGdrYWI5UGpPeHlKRFZiSU4zUi9GWkxvWlZsMmtZRlFJWjdWNkxwUnFHRHQ5T2REb2huSktwNXlYL0hMajB2b1BwTHJuZURhTjExdDVXM3NTTTRBTHNjZ1N3OGZ5V0xWa0thL2NOY1FtallPZ1RMWlVnT0xpMkYwNWc0VFIwUmZnWjRQQmRudHhkVjNxdmR4UXQ4RGVhTU1nakpNZ3dVeFlOM3RVTnBVTngyMUF2d0FEREFJYTArcmFUV2FvQlhtU2hBbDVBVGhwTWkyODJvK1d6T0tNbHhqSGo3YStESTZBTTZWSTl3K3h5aDNFeWcvMVh2UG1icWplZzJNR1h1Z0h0OHdXMDNEUU1SVGQ1aXFxT2hqTHZ5T0NjS3RWaUd3QUhWTHlsODZLcXZ4Vlg3TXhTVzhITHE2S0NyTHBCOFNzcEFPSE85SXVPd0NoOXBvTG9NRWhhOUNIQ3hsUkFYSk5Eb2JkdWNXanFoRkhxQ2t6alRNMlY5Q0hzbHdxNGlVMTlJeHFoSUZaTXZlMTVsRFRpTVZaSVBkQURYR3hUcXpTVHYwZERXeWsxaHQ0MzB5dmFZQ3k5cVkwTVEzY0M1YzF1dzRtSGNUR2tNSFRBR0M5OVRrTlhGQWlMUWd3OVpXaHdLSmpHQ2UrSjVGSWFNcFloaHlVbkVnZnJGM3pFdHpuNDBEZGdDSUpVSmZaMG1vM2VYc0R3bmVKOEFZQ3I3VngyZUhGbnQySDZaRXlBSHM5Sm9RNEx6aDV6Qm9HT0d3QXozN05PUHVxU05tWmY1MWhCRW92dHBtMlQxd0k3OU9CV0R5dkNGWWtPTnFBS0dWWWdJTDBGK3V4VGNNTFNQdEZiaU5EYkJQRmdpcDhNR0RtTExIYlN5R1hkQ01PNmY3dGVpVzlFRW1vclorNzVLemFuWnd2VXlTZ2pvVVFCVGZIbE9JZXJKczZZOXdMbGdEdzE4QUIxbmUwdFpSTmdHamNycUhidHViU1Vvb0VweTRoV3BEelRTcm12cXcwSDlBb1hRTG9sTXQ5ZU9NK2w5Uml0QkIxT0JucmRDMVhMNHlMRnlYcVpTZ1podjdGbm5ERVhMVWVmZmI0blZEcVlUTFk2WDdnSFZhSzRaWmxlcGphMk9lNk9oTERJL1ZlNVNRVENtSmRIM0hKZWIxNGN3OTlYc0JRQWxEeTVzNWtpbDJzR2V6WkEzdEZvazJJc05qYTdRdUZnTTMwSGZmM05HU3NTVkZZWkxPY1RCT3ZsUHg4dkxoakpyU0k3eHJOTUEvQk96cEJJSnJkUjErdit6dzRSWjdyeTZhcTQvdEZmdlBReFFDUERzWGxjUnZJWllsK0U1ZzNrSit6TE1ab24weUVsQnZFT1FUaDZTYUFkSU82QndkcUpxZnZnVStlOFk2NUZRaGRpSGtaTVZ0OS8zOU4yakdkMjZKNmNOanE4Y1FJeXA2Um9uUlBnVm4yZmw4OXVSRGNRMjdHYWNhTjBNUHJjTnlSbGJVV2VsS2ZEZnlyTlZWR0JHNXNqZDNqWHpUeDA2eXd5enVXbjVqYnZFZlBQQ1RicENsa2dFdTlvUExLSUN4VTVIdURlM2pBMVhudlU4NUlZWWhhRXRPVTFZVldZaEVGc2E0L1RRajNySGRzVTJkYTJlVmJGOFlqU0kwbTYxOS84YkxNWnUzeGlsZHdxTTd6ZjFjam40V2h4MFBTWVhjWTViUjd3RVFmR0M3Q1RPWHdaZG1zZFRPOHEzdUdtN1JoL1JmQ1d3cHpCSENBYVZmanhnaWJMNXZVZUwwcEg2YnpEbUk5eUNYS0Mvb2trbWJjMjhPSnZJODdML2JqRnpwcTBESGVwdzRrVDFPZCtmTDdjeXVGYVJnZmFVV0IyKytUQ0Z2ejExSjBsZUV0ckdrcGNjZlg5ejJMWTM5c3BoNFBCSENqTk9Pa2QweWJVbStaelM4R2tGYnFNcHE4dWlYMnlIcGEwamxsVExmR1REQk1ZUjZGVDVGV0xMRFBNa1l4dDFRMGV5TXZ4Sld6dERqeTBtNlZ2WlB2YW1yRlhqSG1QcFU2V3hyWnFINldXLy9JMzdSd3ZxUFFoUHo4STNSUHVYQWsxQzk0WnByUVdtOWlHTS9LZ2lHRE82U1Y5c2pwK0ptazRUQmFqTU5KNXp6V1oxazFqcnRlUVFCcDlDMmRPdm1iSWVlRU1FOHk1NzNROFRnR2UrWkN6dXRNNDVnWUxCelltMkxOdmdxMmtlYkFiTXBIUkRTeWg2ZFEyN0dic0FBZENxUVZWWFdDMUMrenB3Qk0yTHI0ZXF0b2JtbXUxdkpFRGxJUVIxaU44Q1VXcHp0cTUwejdGRlFCbjNTS1ZpWDZ3U3F6VlFDb1l2QWpCeWplU2EraDFQUm5ZV3ZCaW5UREI5Y0h0NGVxRHNQUzRqY0QzRndYSktUMFJRc2w4RXZzbEkyU0ZhejJPdG1ZTEZWOEZ3Z3ZXcm9aM2ZLbWg3YnRld1g5dGZMMnVwWHNyc3FwTEp6cHpOR3lObG51WnlldGc3RElPeFFUTUJSN2RxbHJUbFo2RldpMWc0ajFOU2pBMmoxWWQ3ZnpUSDZrOUx4Q3lVQ25lQUtZQ1U1ODFibnZLaWg2S0pUZVRlQ1g0WmhtZS9RSXo3dzJvK0FkU2d0TEFrZHJMUzluZndlWUVxck1Mc3JHR1NXWHRnV2FtQVdwNit4NkdNL1o4ak53M0JxUE5RMzlocnpZTEVDbjN0UHZoL0xxS2JSU0NpREdhdURLQkJqL2tHYnBuTTFCYi9teThodjROV1N0Y2xrd2pmbDU3eTRvTkRndzFKQUc5Vk90aTNRVlZvU3ppTUVzU2RmRWphQ1BJRGI3U2dwTFh5a1FzTStuYnFidDk3STBtSWx6V3YwdXFGb2JMTUFxOFJkOXBzelVCS3hGaEJQd09qZi8vZ1ZPejJyN1VSSjJPbnB2aUNYdjlpejNhNFgvWUxCWWJYb1l3eEJ2L0txMGE1czR1dFFIem9UZXJKN1BtRlcvbm8vWkFzaWQvaFJJVjgydEQrUWFiaDVGMXNzSU04UmkzY2h1MFB1UEQzc1NKUk1qRG94TEFid1Vicm9pUEF6L1Y1MmU4czNESWl4eGxPN09ydmhNajNxZnpBMGtLeHp3aWNyNXdKbVp3SnhUWGdyd1lzcWhSdnBnQzJOZmR5ZCtUWVl4SlNaZ2srZ2syZzlLeUhTbHdRVkF5UHRXV2d2Vkd5VkJxc1UyTHBEbExOb3NTQXRvbEMxdUJLdDVwUVpMaEF4VGplR0NXSUMvSFZwYWdjNXJSd2tncENIS0VzakE4ZCtzY3A4YWlNZXd3UUJocDVkWVRWNXQvTnZsK0hiRE11OEYzUzBwc1B5WmIxYlNucWxIUEZVbk1RZVFxU3F3REJUMjNmSk85Z08zYVZhYTFpY3JYVTBQS3dsTU01SytpTDNBVGNWcTJmRldLazBpckNURjRMRFZERzRnVXBreXBscTZlZmNaUytXRFIxd29BcGpEMTh4KzJKUVI5b09YenVBN3V5NGIrLzkxV3NKZC90U2QxUWNBSDhQVlBYQXBpZUEzN0I3WVhQaERQSDFhelAzUEtSK0hmSG1Pb0RZTGV1S3NJaS9zc1NzZFlzNjJxSm8xNEh3MVAyTi82enByOEYzRlRXbUo0eXNBVmNsODRJdi90bC8vL1o4RmFBV2JCUWJ5TU5EWmpyWjJKd2RSanRkMWpPZU51bVNvZEZ0cjQvWmY0NWlSSmYvOEhTVytLSUIvK0dsS3U4UnYxQlBMci80ZHVvTCtrRlBScXJzdEVyNDFnZkp1cG9KUmY0aGNZRFdYOTNGT2NmRUJpSWl2eHRqdFY4Zzdtdk9SZWlhbVlXS0U3dmZQYnYzdjJMOUt3cTNjSURGR0x5aHlmT0d1Zi85dkE1bXVINlBqZzdCNFNVajJ5ZERYcmE5ZlNCSStEcnNOSEE2bDUxd2ZIc3NKYisxMVRmTms3QjhPbGVVZTNZK1ptSGJvTUZIZHY3RkZQMmNmSVNGeWVBUVIwc2svWHY2MkhCVGRXNEhtbkdTTEZrL2NxeVdWVkZKa2RJSWErNGhvczNKUkhjcUxvUktNNWgyUXRrMVJadHpJU010bFhUZlRxSWM3N1lzQ0NnUUQwcjYxanR4c2tDY3R3Sk90akUvcEw4d0M0TEJENEFaRmpoMnd6ekZDclQvUE5xVzAvRGVCYmtmTWZ6Vm05eXkwNldpRisxbVRkTk5FQXl0VnRvaEJLZzNicldkMlZRYSthRitjUTBtVzVDdmJ3T2xXQ1QwN2xpWDIyNlBqaVZMd0ZDUnMvQXgyL3UrWk5QanJORklXSVBmNUdqSHlVS3A2ME9lWGU5RjAxZjdJYVBmL1NEVHZ5REFmN0xTV1dlanRpWmNzcXRXWmpyZG42QTJNcUJ3blNlS2hyWk9sVU1tZ01pb25taUNJdlhxS1pmbWhHWjFNd0QzdU1GNG45S0pjZldMQTNjTDVwcTQ4dG01TkRZTmgzU1MvVEtVdG1GU2xRUjg5TVI0K2t4Y3FKZ3BHYmhtOWdYbmVERUxreXFBTjVuaXRtSXpUc2NLZUpSWHFkNjRSaWFPQUxSMmQyOTVOV3diakhSTkcyQVU1b1I5T1Myb0pnLzVDWTZCRlBjMUp2RDJNeGRocDIvTVpkSThkTGVQeGlQNEtSSXA4VlhtcWZnK2pxZC9STkc3R051cTFVMlNpSTQ3MzVCZGMwTVZGeDZtSDVVT1dFYTVIdWhZeWtkNnQ0TTFnWUxWUzhtMUIrOWJVcWk1RHppUXE3cVQ4ZDk0Y3hCNkFCNFdxTUNPRi96UFB0UlNaVVVhTVNzdkhPV3hHQVN1Znl3VFg4b2d5NkhnVWY5cCtaMzB3VUVvc2w4cWdtd202bzJBVjZuTzlIS1FqUkhwTjZTVWVnSTVwdlI2MVJMblVKMWxxQ3RtZmNzUlF1dEVpelZwQWFQWE43eE1wNVVRNU9TWks2dG5pQ0s5Q3B5TWQ3TGpSNitNeGZvTUVEUHBXZGYycDJtNU4zS080UU14ZitWN3ZHZFlqZW1RY3pRK20yTUdJa0ZOWURNZjBZb3AyZVN4ODFzUDM2V0hVY3pxRWhLeXNwMmlKU1lBdmZnSmppbkt3VG9QdlJLYitIQmkrN2NKOTZTNW5nZkxPWGFIQUZSTGt1bG80VG5YVEZPNTFnWDBUQ0NvNFpVSGRicGRna01Fd1VaQVBqaDZNK2hBOER6eWNidHhBZ0gzdUQ2aTBuTjFhVGlJdVE0QllDRTlkRUhId0FtSU5VKzRZRVd4NEVDM09ad0ZHZllaTVBMU2NWbGIrQkFBSmVBUlVoK2dkV0EzL2dScUNyZjFqZWNncWVGZjFNZHpyclA0U1ZsR201bU1paFNQK3pZWWtzQUI3TytTQlB3TlFxU05NaUxua3ZpWS9rbHdnY1JtdnF0Q3FlV2VBMGdqdWlyNENNWnFtdy9udFA2TStsMHBkTjgvUDl4STUzYVA3eC96YXZKYmJLT3o4VnpPL25YeElyMXRqcGFyTW5xZDZpV2RCeUhLdzRsRjRwL3U1N1l2MDdXZVpQRG5SbDd3Z21EVlpaNDRmUXNqZFlPL2dtWFErOTQwUFJHc3Q4VU1RQXBGQzRPT1YyMmU0TitsVk9QeUZMQU9qNHQ4UjNQRncvRmpiU1d5MEVMdUFGUmVOa2VlOE9SY0JPVDJOUERjczdPZnBVbXp2bi9GOUN6azlvOW5hTXlWWXkvajhJNXFWRm1RREZjcHRCcDY1Si8rc0pBM3cvajZ5L2VxVWtLeFRzZjBDWmp0TmRSU0JFbUoydG1mZ21KYnFwY3NTYWdrK1VsOXFkeVYrTm5xRkJJSlpGQ0IxWHdQdldHREJPalZVbXBXR0hzV0E1dUR1TWdMVU5LWjR2bHE1cWZ6WTFMblJoQ2MvbWg1L0VYK2h6dUdkRHk1YVlZeDRCQWR3VFRlWkhjWnBsM1gwWXl1eFpGV05FNndGTnBwWXMzTGNGSmVQT3lmS1o4S1liN2RtUnl2RE9jT1JMUEgwc3l0QzZtSDFVUzNKVmo2cGFZTTFHRXIrQ1VteUhSbmFiSFBxTGxoNktsMC9CV2QzZWJ6aURmdnBSUXBQb1I3TitMa1VlWVd0UTZSbjV2NStOdE5lQlBzMitES0RsekVWUjVhWWJUVlByWmVrSnNaOVVDOXF0VmNQOTl0aFZJdDFHUkVuTjh6WFA4bUJmelMrd0tZeW04ZmNXNktxckU3MDJaY28raEZRQUVJUjdxaW1vN2RkN3dPOEI3UitRWlBUdUNXbTFVQXdibERUeVVSU2JkODVQNFB6K3dCcFF5R1BlRXBzRXZ4eElaa0tzeWZTT1VjZkUzVXF6TUZ3WktZaWpiN3NPa3pwb3UrdEM0YlBYZXk1R0kxR1VBZzljM3ZMd0l3QWhjZFBIUnNZdnBBZnprWkhXWTIwdld4eEpPMGx2S2ZqNnNHMmcvcEoxdmQvWDJFQlpreUVqTE40blVaT3BPTzdNZXd5SENyeFFLOGQ1YUY3ckNlUWxGWCtYa3NLNmw2ejk3MUJQdUpxd2RqajY4VUxPajlaVERkT0xvcE1kT0xMMFBGU1M3OTJTWEUvRUM5RURuSVhaR1locjUyYVFiKzliMnpFZEJTbnBreEFkQlVrd0pEcUdDcFprL0hrUmlkamRwMHpLdi9DbTUyRWVubWZlS1g2SGtMVUpnTWJUVHh4SVprSWVMLzZ4dUFhQUFIYkE3bU9OVmR1VEhOWC9VSmoxbkpFYUk3ZjNIbFV5aXFLbjdWZkJFK2JkYjRIV2xuMUhQSngwMDFVbHExdE94RmY4V1pFQVJ2cTVEYTErcEU3ZlBWeExudEdBQ3ozbmtvTHNLY1BkVXFkQ3d3aXlXa21YVGQ1K2J2M2o3SGFSZVJ0M0VTbjc4M0V3M1NXc3ZrRWpLdGJvY05rc2JyTG1WK0dWWm4xK1VuZW8zNU1UMS80cjhmbmdRWDUvcHRPUmZnbVdmRjZLU0Ivc3NKbVVTaWpYeFFxVXB6a0FORWtTa1lnWWo1NjBPT2pKcjZ1cWNrRnVPMTVUUk5nQUJFd05EanVzMVYzcTJodUxQWUVSTUNMWFVObUpKcGJNclVRc1NPN1FueHRhNTVUdlBXTDZnV21NT3ZGa25xRVR6cXpGVk84U1Zrb3ZFZFlhdHlwTEdtRHk5VldmZ0FjMEt5SUNoaU9oYmQ3VWxiQWVWTFBaeUVEcDRQT1hLQndOL0tQNXBUNkN5cXM2eWFJMDB2WE1uMXViazlPV1Q5US9PMnQvQzI1cWxuTy96TzB4Y0J6cE1CQ0FCOHZzZHNoM1U4Zm5QWDFYbFBFV2ZhWUp4S1ZhVFVnZkNFU1dsNENDa0l5akU2aVE1SkZjd1U2UzQvSUgwL0FnYWNwOGQ1R3pxMitHelBuSjcrc3FrNDBtZkZRcEtyRGJBS3dMbHIzT05FYXRpMmsveWNMTVNVdTdWLzdCQmtEbE55WG9OOXR2cVhDYmJNYzRTU1FYZ0MvREJVWTlRanRyQ3RRK3N1c0VvbUNxOHhjTkpOTk1XQ0gzMUd0bFR3MkJkQ1hrSkJqVCsvUU5XbEJXd1E1U1dDaDFMZFE5OVFWaWkvRHlUeGpTUjZybWRhcDNsM0wzYWlwbFFwUFlscnpObTllcjg4ZlhkMithbytZZFVOanRxbXhpVnhteVlQekp4bDY3T29rRGNUZXpFR3FsZGtHZ1BiUmRYQStmR2N1WlZrZW1iWkJ5bzdKMWRNbmtHTmp3d0NueStGTmNWY1d2V1lMOW1nOG9GN2pBQ1ZXSTNiQTY0RVhwZE04YlNJRVZJQXM1SkpIK0xIWGduQ3NnY01HUFp5QUFWQm5jdmJMaWV4emc5WW96Y3l0alBYVmxBYlFBQzdUYzRTMEM4UU40TGxBR2pqNHBRQVZXcndrYURvVVlHeHh2a0NXS1JSSGtkekpCNXpwUkVsZUJETDFvREtFdkFxbWtEaWJWQzRrVHFGODlZTzZsYVVqZ3RKUGViQmZ6cjE2dGc0dDEwR21OMXNKNXZlemsyc1VPcThibENuNW1QWnlUM2x0YURjZGRLdXBRanF1c05NOXd0RlZEMEFCenYxN2ZaRG43R1BUMW5rQ3RkY2dZZWpjSzFxT2NUR3RQeG5DWDFyRXJFalZXQ25FSnY1SGFPQVVqZ3BpS1FqVUtrUWk2NEQ1ZzJDT2d3YXM4RmNnSWwwUHc5NUg5ZFd4RTNRRzBWYk1OZmZoNkJQbEFvakxEZjRlczIvNVhmcTdodzVOR2NPTjJnOFFzeTJVUW05NEtkZEt5eTNrZEp4V2dwTmFFYzE1eGN5bGJMQzN2blQyNnU4cVM5MHFjMk1VOExkT0pjNVZQRjVLblNwWElobmoxZUpKL2pzempaMDFvUjZKREZKUm9lVFBPL3doNElQRmJkRzlLbGp1U3pldUk5MnA4SkYvYnBnREU4d0c4Ni9XMkVCS2dQcm16ZExpanhzc1FuOG1NNDRreS9LTEdPSmNyU3dYSXBaYS9aM3Y3VzZIQ1JrN2V3ZHM5OUxUc1VXMUxiZUp5dHc4US9CRlpWWnlmTzlCVUhPQ2Uyc3V1RWtPOERVNGZMWDBJUVNRMlRkT2tLWER0UGYzc05WOXRZaFlGdWV1UFJoZlFsRUV5K2FZTS9NQ3o3ZGlETm1GU3N3WVlsWlpQbUtyMlE1QXhMc1NWRXFxQnRuNmhWbDFCQ0ZPRkV4bnFuSXNteVkvTkE4alhuRGFOenI3WnYzaHUrSTFNZi9QSmprMGdBTE4yRzhBQnpkZjlGTnZXSHZaSGh2NnhJb0RDWGY5NjRNeEc5MnZHWnR4L0xZVTVQZVpxZ2x5OHRUNXRHZVFHZUp6TU1zSmM1cCthNVJuMlB0RWhpUnpvLzVPd2p5MW4wTHp4M2V2OEdIUW1lV2I4dmFnRzZPNVFrNW5yWnVRVGlLT0RJNFVxTDBMTEF1c1MyVmU3ajFJdmR4cXV1MUJSOVJjNFFrT2lVUHdRWEp2NmR1MkU4aTVwRGhWb1FwVWh5TVdHVVQyTzJZT0RJaGpBZkk3MWd4ZXA1cjV6QVk3R0JVWnB5NTFoQXcwcGNDQ3JoT21VOFdwNnVqUVRkWlFzQ2p0cTZTSFg4UUFNTmlQQ0lJa294aEhFWlBnc0JjT2xQNGFFckpaUGhGN3F2eDZnSHJuOGhFd1B3WWJ4OFltVC9uN2xiY21UaXAxdjhrZ3NySWpGVEFsdkxZNE51aWwwS0RtZ3ozc3ZZczBaSjNPM0lzL3ZTeDR4cHhGMWUyVkF0WkU4ZEp4R1lFSWhDU3VQdkNqUDU0bC9OU05EbndsS3ZBVzhtRytBUWtncDdhODdJZ2gyNnVLTUZHRDBQb1BIVFN2b1d4aUh1aytzdThYa1FpSElqZVlLbC9SZGNPSHB4aFFIM3pIQ05FM2FBUm04M0JsNnpHeFUvdk1sdGxWUFFodWJjcWhXNFJZa2w2dVhrNUpkUC9RcHphS0ZwdzJNOHp2eXN2MnFqN3hhUUVDdXUyYWtNMENzc2ovdUI5K3dEUjd1QTZYT25MTmFvY3phbEhvTWozM2VpaXUrRFJhRnNVbWxtVVp1aDliakRZNElOTU5TU0FpdlNoMDN1SnZueTRHaitEK25ldWRvYTdpSmk3YzRWRmxaL0o1Z1VSODIzMDh6U05BdC9acm9CWERXdzBmVjNlVlBBbjNhWDBtdEphYkY2UnNVWm1MK0Vobit3bjUxLzRRaXBNakQrNnk2NHQ3YmpMNmJqRU5hbjJwclE0aDcrK2hCSjlOWHZYOENVb2NKcU1DOTM3SWFzTHptNUswcXdYZUZNQWltTUhrRUlRSVFJMkxyUTlzTEJmWHV5cDY2eld2bHNoNzRHUHY3WHBhYmo5OTNwUk5ORHVGdWQ1b0ljbi85MmlzYkFEWGRwUlBiam1iQ05PcndSYnhHWngyWG1ZTkdNaVY1a2pGNElLeXhDQnZLaWVyOVU0dVZvaGVDZG1rODNycDVHMFBpaEFtMmZBdGN6STRiOUJXcVgrbnJaVHJKWDVrU3dRZGRpOTNOUXJYRytDbDNlQkdOa003N1ZCc01wRW9saFhleDFNVnZNa1pOOWZHNTlHR2JjaUgxMUZFWGFZMU14ckFyb3ZhU2pFL2xVVXFCZzJjWkJObWlXYnZ6Q0hDUEo0UlZHRksyZFRiT2JNMW0rZ0p5RVg1M2ZhN3UzK1RacG03NG1ORXpXYmtWTDR2ak53Zkw5dXpSQ3UxY2dick54NVl2NWREcnVOcklPZ3dJaytVWld3SmZkYnUvV0h1bDZQTW1SZmxWQ0l6ZDdCMzdQZ20vVXAvTnVDaVFXN1JYeWFmZXZOM0FMNnljY2lDYzRaUGxUUnpFdSthVVJHbFVCT0piVUVzaGVYN1BQeXJyaGRVdDVKQUcxMkVFRVpwWS9OM1ZoYmw1dUxBZlQwQ2JDMlhtcG5yeUZreFptQlRzNXBydkVldWYwYm43M2kzTzgyV1RpUXRKV0VQTHNCWG5RbWRuS2hCMDZOYmJoTHRsVFpZSk14RE1KcEZlYWpTTlJEQjJ2NjFCTVVIcVhnZ1V3UkoxOW02cDV6bDUxdjExcTM0VDc0bFRYZEpVUnVWNitiZzJENnFwZkduTHk3S0dMdUxabmdvYk00cElvdXo0K24wL1V6Rkt4RGdMTTRoK2ZVd0tab3pROVVHckhqY2lmNTFSdW9uejdvSVZaNTZ4V3RaUzh6N3U1emF5NkoyTEQ0Z0NZaDJSWG9CUkxES3NVbFo4MFI4a21veGxKaUw4YVpDeTJ3Q0Fvbm51Y0Z4Q0xUMUhLb01oYlBLdDM0RDk3RVhQUGgwam9POTNpSlZGMVVydWV3NjFRb3kzWlVWTlg5dUlKRHQ5QVFXS0xMbyttU3ptVGlieUxIcTBENmhoenB2Z1VnSTZla3lWRUwzRkQrRmk1UjNBOE1SSFBYc3BOMVZ5S2tmUmxDK09HaU5nUEM0TlJFWnBGRVRnVm1kWHJRMlR4Q2h1UzNhWStOZGM3Q2lZdjUrQ216ZmlxZVpyV0lRSlcvQzRSdmpiR1VvSkZmMUs2WmRSMnhML2JHNGtWcTErSTRqUVdYKzI2WVVpanBwK2xwTjdvNWM2Wm9kWEpDRjU2VWtGR3NxejQ0c0lnOGpyZFd2YmpSQ3hpMkJrMGl5TTNhN2VjQVY5M3pCNmgxRWkzOGMwczYrOG5yYmtvcEFyY2NHUDh2bnRRZTFiRmVFaDJuSklGT0hYL2szL1VIYjVQdEtHcG56YmttblJFVE1YKzlYL1FkdUxaV3cvZmVrbFcva0gvSm56VG9KZTlLZ3U5SGN0MVVHYkg1QlBDTG80T090UW5ab25XMHhueUNjZHRLeVBRL3NiTGlTVFlKZFN4NHNKcVdMTW5mbjZmSXFQQjNXQWdrMDBKK2ZDT2tvbVBIcXRTNjdwZjBtRm1Lb0l0WVpVbEp1NkJpaFNaOHF2ZTgrL1grTFgxTWhRWEY5NUFzaGZVbGVDdG1kbjZsNlFGWHpMZzJzZ0xuMW95VkZ1WmVjdjdmenNJSHpvUmxBR3AwZ3dZRE9uMVM0cWFiV3ZCNXhVYUUrU3Z3NEttald0eGRudVFiSTMyZHc4N0Q0Tjk1dThxUVJKVFNRZzB3THhPTGt4U3JQTUxFbjFVSWhOS2pBYTlWTHMzV0xhWEdydENJdDhiS1kyQVFQL1pkeVJVNnpUL0U4cVAybHR5QkUyQ0NaUGdXZ0VZRG9KSk80bjkyeTYxeWxOYVNGWEtvaEpoTGprZnZZV201OTI1MzlzSXBtQk5MbERvMWJFeEZCZm1ISkowbEZFaUMvZmo4djQyT29NQzlNbzN3aElvV3Z5SGZxNlVhY3FxNTVtekZmL0VHQytOUC9nSGpoZDZ1cmM2UjBoRVMyN1ZYdXg3VVk4Q0dLUG9ocGxXSVp0VHJGU2FQV3NsQ1d5NzhFMjJQdzhmdlJlU1VaeC90eHFMdEhyRnFnMURZL0V1czZJcTFoZVpkcmRjcUUwL2M5NzFCejFIVy9YTlhIc1hwVUliSTRrSGRPZkNjNlQ1ekhaenZ6UUpCMGdnTUZMNklHUEFpbFU5YmovQVNkUGs2Zk52TnRacVB1d0VEaE1CdEJuaENleG82RDZWQUdJT1B2SlBQVjUyM1k4UjhhOXZDcVpic3dTWkt6T1QxMjkxQnNVYm1VV2VodGJiMWZkUlg5aGlKS1h2d3IxUVg2R2puWk1neU12bndPbzJEcjI0YW1yN0ZxRUFiVmVKQWpSTk9jZU0yRVExTW5hOWZJbnFQSjVtaDVYOEN6VDFhRE92MDhBbjBibHowZkY1R3E0bVMyY3dxNWdsd0lPbFk1bnpuRThYNGovVWRaM0ZKc1ZJWHRlMUpIMEE3aWlidVBmYXpTdE01Ty9WbzNLWElwWEJlR09SVjBNOVhEWEZ2c1laVUhHdkZDVXViV3pUdzI0OEVIRTBjcFFNMnpOZzZyamF2cmVxM05IQ0FXc29aN3d2Vnk3bDVndnRLUm1JajFNbnZmV0VtMHlGbkdjdU9xMTkyMzUwYTVXZWZwZktDY1gzU24rQWdIVStxbnBzdE50ZGRiZFZlYmFnSlUzOTBscTlrbzRhSTlycWRhV1hZRzh0djVPL1pRSFNxRFJZSEM2emZIMTBsNXorK29wc283YU9TYUljemxRMTNpQXpYdkxkRXUwVjdrd05VWjFjOFk4YXE3U2VJRWU1cDkwMkZsTmtXOERud0h5dWVIY2hiSzh2VkZKZm1yOW16N1A4blVTY2NsMVVMYW9XTVJTSTFsczMya3ZsSzBoNDZoM0oyNVlkOUF6ZmNKYnA5cVlGL1NFdDNINWo2OW1NZGNzTnhaY0F6VC9BODlvdjN0Z2xUWDU0eS9Fd2pNZnVvRG94UHdMSkRtNUk3cTZGOUtwNDY5eU55MXpTeHowTjRIYlJSQmo5eEZGdW9ndkJzcHY3RFhVTklzR3hUSU5FUWZtY3RiNDJYSW1XQU9EZ0FSTm83ZGZjVHFGS3E2YVRmaXZtdnVuTG16UDlmOHlMc0p2WEQzSmJjUGNER05yaU1BY2p6ZURUTnI2NXQ4WUI1dHNuRkRGTGEwVXdtZDJPdlVka0xNWDlUc0FVWVVmb29TdjQ3c3c1Sjg4ajdDcGFoUmpqTzMvVWhPWGpUUzM5VzVZWkFlbDJLVGJRZDFoN0lOT3c5UDIzR1c3R0RBZTRhZ0lVRkhQNDhNWnI3dWJxMGVmRm1tdHdZTXlrN0QwcjFvZUcvQ0dPT0RnYjlVcitKTUh4a3d6UGJ0Q1gyWm5FTlF1STBSTjVTeVRJWnVvWTRYUzlSZC90UGUzdk5BWkdTSE0vWVl3cXM5eGtrRU54ME8rZUMyWVZXMWN3T0ozY2tFODkwbmJRZUhMS2xXMTVMMFAwVzJWbGl5WXJmTnIwbnJJWWRkb1J5R2FDdGo0T1lkMk1UN2ViQXBxWk9BUUlhU0hKTTRtcGhoZmpOanRuamc2WVJ5eDlxTTJGVDN4T2lZSU1xWFBGV2R6aFNnRkY4SXRvY3FWVjA5Q21Jb084azZVL29KQjcrK3dTWC9Za3N4ZlBYSHlqU2dBR1pPajFhS0VxOWZTdlhCcXRwMnd1OC9GeEVmNUF4YXBBRDA2cFBHdUxWVVlMZGdFekhSOHdxUkdZRXdpVU85TXlZYmdzd3N0dUxZaHdZRnBTVktPZHpBaWhaOUx1SHRENTk4RUdoSU5VOXhjOXhoTCtRZ1RMQXN0bVBJdnZtMnh5UncvV1RVUFhrUDNaSHU2R3lQbWo1eEZIOS9RR3BrZ2xLWFJWVUJnVm1MT0p4OHVaTzJBc3R4UVlvY1pIMkpoT1JseGF3ajY2QkFYVUVzN0svZ1B4SU5JUkFGeUszV0x1eXE5b0JURjl3RWJubUNvdDgyV2pJZzdDUE53WUszS3JaTXJLQXo1eUZzemc0d0NWTEpWbklMOCtPWUEweFJESDhjSFFqUVVpUTJpMW1yL2JlMzJrLzNYZWo5c2RmM2l1R3ZaSHlMRlNKdlBTcXovd2x0bnh1bVRKWUtac3JXWHR4L1JtdTM5ampWOWxGYUp0dGZGbjU3L05vMmgvdW5zSm1NSGJyblo4Y3N4a3A1SFE0eFIxczBISCt0M0l6ODJhM2lRV1RVREdxLytsMlczVFVZTEU4ek5kTDhZKzVvWGFJSC9ZMlVVY1g2N2NYZU40V3ZFTlpqejQrOHE3dmpob3dPSTNyU2pGaEdaNkt6d21VNys1bkZWK2tHV0FaNXoyVVd2enEwVEswcGsxaFB3QU40amJ3Ly8xQ0FwUnZJYUlqaFNHaGlvWTZUVW1zVG9lazljRjlYakpkSHZMUGN5eUNWM2xiUjVKaXovdHM0NmF5MkY4MjBWalRYdmxsRWx3ckd6S2NOU3l2UWxXRFhkd3JVSU5YbUhvckFNM2ZFMTluZ0xabWdlVWFDSkxzU0lUZjJWY2ZBT3VXd1g3bVRQZFA4WmIvMDRLcVJuaXVmQ3B3bkRVazdzUDBSWDZjdWQvc2FuRk1hZ256S0luU1JWZXkwWXpsVlNPdEEvQWpyb2ZtU0g2UlliSlE4YjRORGVUa0lHYzYyNDcrTW5iZXovcWhKOUdBdjlmR05GZXJjUG5ucmYyODVRZ3MrVXFUaExSZ2ZsY0FLRnVxV2hMelphUjRRcXZTd2EzeGUwTFBrcWo5eEpXdWIxOTVyN05yclIwZTc4RlIrMG1SQk5NUHNyYXFaY3RBVVZBSmZZS2VoVERWMU1HR1FTZURzT0s5SjNzYlV1S1JJUy9XaWxYLzY0Q0JtczlqQ1pvY0Jsc0JTWmFJQWpXbS9TVVo4ZGFXTDJhL2NKRnlVT0ZxRTNFcGMyUldidGpOeVB3T0dwV3R6dTMya1Vvb1Vxc0p1ZDdJVjRFOHJzdFVCWE03dEdFdEJ4OTl4NjBnMWR1aHl2eGVLSlNsOHM1RTM0SFRNbUFEVDA4MzZhRWRnNUR2OXJWeUN6OGkyUkVPbWl6Nnd0SVZGTjBIc2pBb04zN1NyWTBiVjFNczhDUlVJTGh2WnZ2UmFEem9WQ2FTSTB1OEVQdVRlNGI3T1Bvd2dSR09EbDIyVUJCbUhTVFVZOGU0RHlMK0JjN2JuZ28rMlQ4SHROdnp5QVRTTDVpSlpnRlBLcG1VeVp2NTR2Vkw5MCsvUlFHQVRVbU5LbnJJdmNKTVlPTjlmbDgzbmFXNXNmNmhSa2JiVEM5UlVFRTZYQUR3amdBNDZ3V2ZVUStRV1psMEo0UFZUV0Fsbi9ZZkF6L1NWM3EzSjkreUNZRGxlcnVvTjV1b2Mvd1QyZjRZT05HVGI2elRHcTNWKzNKcXptQ09qd2ViS2xuK2ZFeFZMTjdzcXRxZk1uc0tWWFdiYjJBaTVtM0QvZkNUZ1g3b0tZelRadmorbTI4WG5EcVBiWHVQNE15V2RtUGV6Y2VzZHJoN3JDekE3QldkT2JpdXlERUtqanpCYlEwcW51d2psaXorYitqN2FQTUtsa1h5SXpuVjN0R3pBZll3SWJ6R0d0MDk4b2g0ZXEzcnVEamRnSHRqeGZGQ2pIcmpqUmJIYWpvei9ZT1k0cmFvalBGUTkxMEdJbEJWN2hxNDdVRGdweWFqQnhRVW1EOE5jdGlMVjFyVFNMQUVzUURMVGVSS2NtUEJNVk1GRjBTUEJCaFo1b1hveHREM2xNaHVBUVhtQSs1N09jY2ljelZXOWU5endTSUFIUytGSm12ZlhNSkdGMWRNQnNJVU1hUGp2Z2FWcVVjM3AzMnFWQ01RWUZFaVJMemxWU09HTUNtdi9ISkl4QUhlM21ML1hub1oxSWtXTGVSWmZneUJ5am5EYmJlUks1S0w3YllIU1ZKWjlVRnEreUNpTktlUlVhWWpnYkMzaFZVdmZKQWh5L1FObC9KcUxLVnZHTWs5WmNmeUdpZE5lby9WVHhLOXZVcG9kemZRSTlaMmVBcmU0bm1ya3pneEtTblQ1SUoxRDY5b0h1VVM1aHA3cEs5SUFXdU5yQU90T0gwbUF1d0NyWThtWEF0VlhVZWFOSzNPWHI2UFJ2bVdnNFZRcUZTeSthMUdaZkZZZ2RzSkVMRzhOMGt2cW16dndaMDJQbGY1Zkg5UVR5NmJyMG9ZL0lEc0VBK0dCZjlwRVZXQ0l1QkNqc3VwM0xEU0RxSSs1KzBJS1NVRnI3QTk2QTJmMEZiY1U5ZnFsamRxdnNkOHNHNTVLY0tsb0hJRlplbTJXYjZwQ0xYeWJuVlNCMHNqQ1h6ZFM4SUt2RScpO1xuY29uc3QgRkVOQ0VEID0gbmV3IE1hcChbWzgyMTcsXCJhcG9zdHJvcGhlXCJdLFs4MjYwLFwiZnJhY3Rpb24gc2xhc2hcIl0sWzEyNTM5LFwibWlkZGxlIGRvdFwiXV0pO1xuY29uc3QgTlNNX01BWCA9IDQ7XG5cbmZ1bmN0aW9uIGhleF9jcChjcCkge1xyXG5cdHJldHVybiBjcC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBxdW90ZV9jcChjcCkge1xyXG5cdHJldHVybiBgeyR7aGV4X2NwKGNwKX19YDsgLy8gcmFmZnkgY29udmVudGlvbjogbGlrZSBcIlxcdXtYfVwiIHcvbyB0aGUgXCJcXHVcIlxyXG59XHJcblxyXG4vKlxyXG5leHBvcnQgZnVuY3Rpb24gZXhwbG9kZV9jcChzKSB7XHJcblx0cmV0dXJuIFsuLi5zXS5tYXAoYyA9PiBjLmNvZGVQb2ludEF0KDApKTtcclxufVxyXG4qL1xyXG5mdW5jdGlvbiBleHBsb2RlX2NwKHMpIHsgLy8gdGhpcyBpcyBhYm91dCAyeCBmYXN0ZXJcclxuXHRsZXQgY3BzID0gW107XHJcblx0Zm9yIChsZXQgcG9zID0gMCwgbGVuID0gcy5sZW5ndGg7IHBvcyA8IGxlbjsgKSB7XHJcblx0XHRsZXQgY3AgPSBzLmNvZGVQb2ludEF0KHBvcyk7XHJcblx0XHRwb3MgKz0gY3AgPCAweDEwMDAwID8gMSA6IDI7XHJcblx0XHRjcHMucHVzaChjcCk7XHJcblx0fVxyXG5cdHJldHVybiBjcHM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHN0cl9mcm9tX2NwcyhjcHMpIHtcclxuXHRjb25zdCBjaHVuayA9IDQwOTY7XHJcblx0bGV0IGxlbiA9IGNwcy5sZW5ndGg7XHJcblx0aWYgKGxlbiA8IGNodW5rKSByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoLi4uY3BzKTtcclxuXHRsZXQgYnVmID0gW107XHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICkge1xyXG5cdFx0YnVmLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoLi4uY3BzLnNsaWNlKGksIGkgKz0gY2h1bmspKSk7XHJcblx0fVxyXG5cdHJldHVybiBidWYuam9pbignJyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbXBhcmVfYXJyYXlzKGEsIGIpIHtcclxuXHRsZXQgbiA9IGEubGVuZ3RoO1xyXG5cdGxldCBjID0gbiAtIGIubGVuZ3RoO1xyXG5cdGZvciAobGV0IGkgPSAwOyBjID09IDAgJiYgaSA8IG47IGkrKykgYyA9IGFbaV0gLSBiW2ldO1xyXG5cdHJldHVybiBjO1xyXG59XG5cbi8vIGNyZWF0ZWQgMjAyMy0wMi0yMVQwOToxODoxMy41NDlaXG52YXIgciA9IHJlYWRfY29tcHJlc3NlZF9wYXlsb2FkKCdBRVVEVEFIQkNGUUFUUURSQURBQWNnQWdBRFFBRkFBc0FCUUFId0FPQUNRQURRQVJBQW9BRndBSEFCSUFDQUFQQUFVQUN3QUZBQXdBQkFBUUFBTUFCd0FFQUFvQUJRQUlBQUlBQ2dBQkFBUUFGQUFMQUFJQUN3QUJBQUlBQVFBSEFBTUFBd0FFQUFzQURBQU1BQXdBQ2dBTkFBMEFBd0FLQUFrQUJBQWRBQVlBWndEU0Fkc0RKZ0MwQ2tNQjh4aFpBcWZvQzE5MFVHY1RoZ0J1cndmN1BUMDlQYjA5QWpnSnVtOE9qRGxseEhZVUtYQVB4enE2dEFCQXhnSzh5c1V2V0FnTVBUMDlQVDA5UFNzNkxUMkhjZ1dYV3dGTG9TTUVFRWw1UkZWTUt2TzBYUThFeERkSk1uSWdzajI2UFRReXk4RmZFUThBWThJUEFHY0Vid1J3QkhFRWNnUnpCSFFFZFFSMkJIY0VlQVI2QkhzRWZBUitCSUFFZ2ZuZEJRb0JZZ1VMQVdJRkRBRmlCTmNFMkFUWkJSQUZFUVV2QmRBTEZBc1ZEUGNOQncxM0RZY09NQTR4RGpNQjRCbGxISTBCMmdyYkFNRHBITGtRN1FIVkFQUk5RUUZuR1JVRWcweUVCMnVhSkY4QUpwSUJwb2I1QUVSU01BS05vQVhxYVFMVUJNQ3pFaUFDbndSWkVra1ZzUzd0QU5Bc0JHMFJ1QVFMRVBBQnY5SElDVFVCWGlnUFp3UkJBcE1ET3dBYW1odGFBQnFFQVk4S3ZLeDNMUTRBckFCOFVod0VCQVZTYWdEOEFFRlpBRGtCSWFkVmoyVU1VZ3g1SWw0QU5RQzlBeElCMUJsYkVQTUFzMzBDR3hsWEFod1pLUUlFQ0JjNkVic0NveG5nenY3VXpSUUE4TTBCYXdMNlp3a043d0FCQUQzM09RUmNzZ0xKQ2pNQ2pxVUNodHcva20rTkFzWFBBb1AyQlQ4NFB3VVJBSzBSQXZwdGI2Y0FwUVMvT01NZXk1SEpTODRVZHhweFRQa0NvZ1ZGSVRhVE93RVJBSzVwQXZrTkJPVnlBN3EzQktsT0pTQUxBZ1VJQlJjRWRBU3BCWHF6QUJYRlNXWk9hd0xDT3F3Ly9Bb2xDWmR2djNkU0JrRVFHeWVsRVBjTU13RzFBVHNON1V2WUJQRUdPd1RKSDMwWkdRL05sWndJcFMzZERPMG00eTZoZ0ZvajlTcURCZTFMOUR6ZEMwMVJhQTlaQzJVSjR6cGpnVTRESVFFTklvc0szUTA1Q0cwUTh3ckphdzNsRVVVSE9RUFZTWm9BcFFjQkN4RWROUlcxSmhCaXJBc0pPWGNHK3hyMkM0OG1yeE1wZXZ3RjB4b2hCazBCS1JyL0FNOHU1NFd3V2pGY0hFOWZCZ01MSlNQSEZLaFFJQTBsUUxkNFNCb2JCeFVscVFLUlEzQktoMUUySHBNaDlqdzlEV1l1RTFGOEIvVThCUmxQQzRFOG5rYXJSUTRSMGo2TlBVZ2lTVXdzQkRWL0xDOG5pd25QRDRVTXVYeHlBVmtKSVFteERIRVRNUkVYTjhVSU9RY1pMWmNrSnhVSUlVYVZZSm9FOTU4RDh4UFJBd3NGUHdsQkJ4TUR0Und0RXk0VktRVU5nU1RYQXZNMjFTNnpBbzlXZ0FFWEJjc1BKUi9mRUZCSDRBN3BDSnNDWlFPREplc0FMUlVoQUJjaW13aERZd0JmajloVEJTN0xDTWRxYkNOMEEyY1U1MkVSY3dlUkRsY0hweHd6RmI4YzRYRElYZ3VHQ0NpanJ3bGJBWFVKbVFGZkJPTUlDVFZiaktBZ1FXZFRpMWdZbXlCaFFUOWQvQUl4REdVVm4wUzloM2dDaXc5ckVoc0JOUUZ6QnprTkFRSjNFZTBSYXhDVkNPdUdCRFcxTS9nNkpRUlBJWU1nRVFvbkEwOXN6Z3NuSnZrTStHa0JveEppQXd3MFBYZnVaNnRndGlRWC9RY1pNc1ZCWUNIeEM1SlB6UXljR3NFWVFsUXVHZVFIdndQekd2TW42a0ZYQmY4RG93TVRPazB6N2dTOUMya0lpd2svQUVrT294Y0gxeGhxQ25HTTBBRXhpd0czbVFOWGtZTUNiNDhHTndjTEFHY0xod1Y1NVFBZEFxY0lvd0FGQU04RFZ3QTVBcTBIblFBWkFJVkJBVDBESnk4QkllVUNqd09UQ0RITEFaVXZBZk1wQkJ2RERCVUE5emR1U2dMRHNRS0FhbWFpQmQxWUFvNENTVFVCVFNVRUJVNUhVUU92Y2VFQTJ3QkxCaFBmUndFVnEwckxHdU5EQWQ5dkt3REhBUHNBQlRVSEJVRUJ6UUh6YlFDM0FWOExNUW1pczdVQlRla3BBSU1BRldzQjF3S0pBTjBBTlFCLzhRRlRBRTBGV2ZrRjB3SlBTUUVSTVJnclYyRUJ1d01mQVRNQkRRQjVCc3VOcGNrSEh3UnRCOU1DRUJzVjRRTHZMZ2UxQVFNaTN4UE5Rc1VDdmQ1Vm9XQUNaSUVDWWtKYlRhOWJOeUFDb2ZjQ2FKZ0NaZ2tDbjRRNEd3c0NaanNDWmlZRWJnUi9BMzhUQTM2U09RWTVkeGM1Z2pvakl3SnNIUUl5TmpnS0FtM0hBbTJ1NzRvelowVXJBV2NBM2dEaEFFb0ZCNWdNalFEK0M4SUFEYlVDZHk4Q2RxSS9BbmxMUXdKNHVoMWMyMFd1UnRjQ2ZEOENlc2dDZlFrQ2ZQQUZXUVVnU0FCSWZXTWtBb0Z0QW9BQUFvQUZBbit1U1ZoS1d4VVhTc3dDMFFFQzBNeExKd09JVHdPSDVrVEZrVElDOHFGZEF3TURya3ZPVEMwbEE4OU5URTJ2QW9zL0Fvcll3UnNISFVObkJiY0NqamNDamx4QWw0RUNqdGtDamx4NFViUlROUXBTMUZTRkFwUDdBcE1NQU9rQUhGVWVWYTlWMEFZc0d5bVZoakxoZUdaRk96a0NsNThDNzdKWUlhZ0FXU1VDbG84Q2xueWNBS2xackZvSmdVMEFPd0tXdFFLV1RseEVYTkVDbWNzQ21XUmN5bDBIR1FLY216bkNPcDBDbkJZQ241c0NucmlLQUIwUE1Tb1BBcDN4QXA2U0FMVTlZVFJoN3dLZTB3S2diZ0dwQXA2Zkh3S2VUcVZqeUdRbkpTc0NKNjhDSm40Q29Qc0NvRXdDb3QwQ29jUUNwaThDcGM0Q3AvOEFmUUtuOG1oOGFMRUFBMGxxSEdyUkFxempBcXl1QXExbkFxMENBbGNkQWxYY0FySGgxd01mVG15WEFySzlEUUt5NkJkczRHMWpiVWhmQXlYTkFyWmNPejl1a0FNcFJRSzRYZ0s1UnhVQ3VTcDNjRFp3NFFLOUdRSzcybkNXQXpJUkFyNkljZ0lETTNFQ3ZocHpJbk5QQXNQTEFzTUVjNEowU3pWRmRPQURQS2NEUEpvRFBiOEN4WHdDeGtjQ3hoQ0pBc2hwVVFMSVJBTEpUd0xKTGdKa25RTGQwbmg1WVhpdWVTVkwwQU1ZbzJjQ0FtSDBHZk9WSkhzTFhwSmV1eEVDejJzQ3oyd3ZTMVBTOHhPZkFNYXRBczl6QVNucUEwNFNma3NGQXR3bkF0dUtBdEpQQTFKY0ExTmZBUUVEVll5QWlUOEF5eGJ0WUVXQ0hJTFRnczZEalFMYXh3TFozb1FRaEVtblBBT0dwUUF2QTJRT2huRlorUUJWQXQ5bEF0NjRjM2NDNGkvdEZBSHpNQ2NCOUpzQjh0S0hBdXZ6QXVsd2VRTHErUUxxNUFENVJ3RzVBdTZKQXV1Y2xxcVhBd0x1UHdPRjRKaDVjT0J4b1FMekF3QnBBNDRXbVpNQzl4TURrVzREa29jQzk1Z0MrZGtDK0dhYUhKcXJ1emViSGdPZGd3TCsrZ0ViQURtZkhKK3pBd1dOQTZacUE2YlpBTkhGQXdacW9ZaWlCUWtEREVrQ3dBQS9Bd0RoUVJkVEFSSHpBMnNIbDJjRkFKTXRLN2V2dmRzQmlaa1VmeEVFT1FIN0tRVWhEcDBKbndDUy9TbFh4UUwzQVowQXR3VzVBRzhMYlVFdUZDYU5MZ0ZEQVlEOEFiVW1BSFVERGdSdEFDd0NGZ3loQUFBS0FqMENhZ1BkQTM0RWtRRWdSUVVoZkFvQUJRQkVBQk1BTmhJQ2R3RUFCZFVEYSs4S3hRSUE5d3FmSjcreHQrVUJrU0ZCUWdIcEZIOFJOTUNKQUFRQUd3QmFBa1VDaElzQUJqcFRPcFNOYlFDNE9vODYwQUNOT01FNjNBQ2xBT2dBeXdFNmdUbzdPZnc1K1R0MmlUcGJPNTZKT204NUdBRldBVE1CYkFVdk5WMDFuald0TldZMWRUVzJOY1UxZ2pXUk5kSTE0VFdlTmEwMTdqWDlOYkkxd1RZQ05oRTF4alhWTmhZMkp6WGVOZTAyTGpZOU5pNDFMU0UyT2pZOU5qdzJ5VGNJQkpBOFZ6WTROdDAzSURjUE5zb2dONGszTUFvRXNEeG5OaVEzR1Rkc09vMDNJVUxVUXdkQzRFTUxIQThQQ1pzb2JTaFJWUVlBNlg4QTZiQUJGQ25YQXVrQm93QzlCYmNBYndOekJMOE1EQU1NQVFnREFBa0tDd3NMQ1FvR0JBVlZCSS9EdndEejliMjlrYVVDYjBRdHNSVE5MdDRlR0JjU0hBTVpGaFlaRWhZRUFSQUVCVUVjUVJ4QkhFRWNRUnhCSEVFYVFSeEJIRUZDU1R4QlBFbElTVWhCTmtNMlFUWWJOa2xJU1ZtQlZJZ0JGTFdaQXUwQmhRQ2pCY0VBYnlrQnZ3R0pBYVFjRVowZVBDa2xNQUFoTXZBSU1BTDU0Z0M3Qm04RWVzY2p6UU1wQVJRcEtnRFVBQmF2QWo2MjZ4UUFKUDBBM2V0enVmNE5OUkE3ZWZ5Mlo5TlFyQ25DME9TeUFOejVCQkliSjVJRkRSNm1pSWF2WVM2dHByamptdUtlYnhtNUM3NFEyMjVYMXBrYVlZUGI2ZjFESzRrM3hNRUJiOVMyV01qRWliVE5XaHNSSklBK3Z3TlZFaVhURTVpWHMvd2V6VjY2b0ZMZnA5TlpHWVcrR2sxOUoyK2JDVDZZZTJ3NkxEWWRnektNVWFiazU5NWVMQkNYQU56OUhVcFdiQVRxOXZxWFZ4OVhEZytQYzlYcDQrYnNTMDA1U1ZNL0JKQk00Njg3V1V1ZitVajlkRWk4YUROYVB4dHBiRHhjRzFUSFRJbVVNWnE0VUNhYU5ZcHNWcXJhTnlLTEpYRFlzRlovNWpsN2JMUnRPODh0N1AzeFphQXhoYjVPZFBNWHFzU2twMVdDaWVHOGpYbTFVOTkrYmx2TGxYelBDUytNOTNWbkpDaUsrMDlMZmFTYUJBVkJvbXlEZ0p1YThkZlV6UjdnYTM0SXZSMk52aitBOWhlSjZsc2wxS0c0TmtJMTAzMkNuZmYxbTF3b2YyQjlvSEpLNGJpNkprRWRTcWVOZWl1bzZRb1paaW5jb2M3My9USDlTWEY4c0NFN1h5dVl5VzhXU2diR0ZDalBWMGloTEtoZFBzMDhUeDgyZllBa0xMYzRJMndkbDRhcFk3R1U1bEhSRnpSV0plcDdXdzN3YmVBM3FtZDU5Lzg2UDR4dU5hcURweWdYdDZNODVnbFNCSE9DR2dKRG50K3BOOWJLN0hBcE1ndVg2KzA2UlpOanpWbWNaSit3Y1VySjkvL2JwUk54TnVLcE5sOXVGZHMrUzl0ZHg3TGFNNVprSXJQajZuSVU5bW5iRnRWYnM5cy91TGdsOE1WY3pBd2V0K2lPRXp6QmxZVzdSQ01nRTZneU5MZXE2KzF0SXg0ZHBnWm5kMERrc0pTNWYrSk5EcHd3Y1BOWGFhVnNwcTFmYlFhak9ySmdLMG9mS3RKMU5lOTBMNlZPNE1PbDVTODg2cDd1NnhvN09Makc4VEdMK0hVMUpYR0pncHBnNG5OYk5KNW5selNwdVBZeTIxSlVFY1VBOTRQb0ZpWmZqWnVlK1FueVE4MGVrT3VaVmt4eDRnK2N2aEpmSGdObDRoeTEvYTYrUktjS2xhci9KMjl5Ly9FenRsYlZQSFZVZVExelg4NmVRVkFqUi9NM2RBOXc0VzhMZmFYcDRFZ004NXdPV2FzbGk4MzdQelZNT25zTHpSK2szbzc1L2xSUEFKU0UxeEFLUXpFaTV2MTBrZStWQnZSdDFjd1FSTWQrVTVtTENUR1ZkNlhpWnRnQkc1Y0RpMHcyMkdLY1ZOdkhpdTVMUWJaRURWdHowb25uN2s1K2hldUtYVnNadFN6aWxrTFJBVW1qTVhFTUIzSjlZQzUwWEJ4UGl6NTNTQytFaG5QbDlXc0tDdjkyU00vT0ZGSU1KWllmbDBXVzh0SU8zVXhZY3dkTUFqN0ZTbWdyc1oyYUFaTzAzQk9oUDFiTk5aSXR5WFlRRlRwQzNTRzFWdVBEcUg5R2tpQ0RtRStKd3h5SVZTTzVzaURFckFPcEVYRmdqeTZQUXRPVkRqK3M2ZTFyOGhlV1Z2bVpuVGNpdWY0RWlOWnpDQWQ3U09NaFhFUklPbHNISU1HMzk5aTlhTFR5M20yaFJMWmpKVkROTFM1M2lHSUsxMWRQcVF0MHpCRHlnNnFjN1lxa0RtMk01VmU2ZENXQ2FDYlRYWDJyVG9hSWd6Nit6aDRsWVVpLys2bnFjRk1Ba1FKS0hZTEswd1lrNU45c3pWNnhpaERiRERGcjQ1bE4xSzRhQ1hCcS9GaXRQU3VkOWdMdDVaVm4rWnFHWDdjd20yejVFR01nZkZwSUZ5aEdHdURQbXNvNlRJdFRNd255Kzd1UG5MQ2Y0VzZnb0ZRRlYwb1FTc2M5VmZNbVZMY0xyNlpldERaYmFTRlRMcW5TTy9iSVBqQTMvekFVb3FnR0ZBRVFTNElodU16RXAySTNqSnpiemtrL0lFbXlheCtyaFpUd2Q2ZitDR3R3UGl4dThJdnpBQ3F1UFdQUkV1OVp2R2tVenBSd3ZSUnVhTk42Y3IwVzF3V2l0czlJQ2RZSjdsdGJnTWlTTDNzVFBldWZnTmNWcU1WV0ZrQ1BESDRqRzJqQTBYY1ZnUWo2MkNiMjl2OWYvei8rMktiWXZJdi96empwUUFQa2xpYVZEek5yVzU3VFovWk95WkQwbmxmTW1BSUJJQUdBSTBEM2svbWRONHhyOXY4NVpiWmJicWZIMmpHZDVoVXFOWld3bDVTUGZvR21mRWxtYXpVSWVOTDFqL21rRjdWTkF6VHE0ak50OEpvUTExTlFPY21ocHJYb3hTeGZSR0o5TERFT0FRK2RteEFRSDkwaXRpOWUydS9Nb2V1YUdjRFRIb0MreHNtRWVXbXhFS2VmUXVJekhicHc1VGM1Y0VvY2JvQUQwOW9pcFdRaHRUTzF3aXZmL08rRFJlMnJwbC9FOXdscnpCb3JqSnNPZUcxQi9YUFc0RWFKRUZkTmxFQ0VaZ2E1Wm9HUkhYZ1lvdUdSdVZrbTh0REVTaUV5Rk5vKzNzNU01cHVTZFR5VUwybGxuSU5WSEV0OTFYVU5XNGV3ZE1nSjRib0pmRXl0L2lZNVdYcWJBK0EyRmt0NVowbHV0aVdoZTluWkl5SVVqeVhEQzNVc2FHMXQrZU54Nno0Vy9PWW9UQjdBNngrZE5TVE9pOUFJbmN0YkVTcW01Z3ZPTHd3N09XWFBybUh3Vlphc3JsNGVEMTEzcG0rSnRUN0pWT3ZuQ1hxZHp6ZFRSSGdKMFBpR1RGWVc1R3Z0OVI5TEQ2THpmczB2L1RaWkhTbXlWTnE3dmlJSEU2REJLN1FwMDdJejU1RU04U1l0UXZaZi9vYkJuaVRXaTVDMi9vdkhmdzRWbmRrRTVYWWRqT2hDTVJqRGVPRWZYZU4vQ3dmR2R1aVVJZnNvRmVVeFhlUVhiYTdjNzk3MlhOdjh3K2RUampVTTBRZU5BUmVXK0owMTRkS0FEL01jUVlYVDdjMEdRUElrbjNMbDZSN2dHanVpUW9aRDBURWVFcVFwS29aMTVnLzBPUFFJMTdRaVN2OUFVUk9hL1YvVFFOM2R2TEFyZWMzUnJzWWx2Qm0xYjhMV3psdGR1Z3NDNTBsTktZTEVwMmErWlpZcVBlalVMUmxPSmg1emovTFZNeVREdndLaE14eHd1RGt4SjFRcG9OSTBPVFdMb200WjcxU056STlUVjFpWEpySXU5V2NuZCtNQ2FBdzhvMWpTWGQ5NFlVLzFnbmtyQzlCVUVPdFF2RUlRN2cwaTZoK0tMMkpLazhZZGw3SHJ1dmdXTVNBbU5lK0xzaEdoVjRxbldIaE85L1JJUFF6WTF0SFJqMlZxT3lOc0RwSzBjd3crNTZBZERDNGdzV3dZMFh4b3VjSVdJcXMvR2N3bldxbGFUMEtQcjhtYks1VTk0LzMwMWkxV0x0NFlJTlRWdkNGQnJGWmJJYlk4ZXljT2RlSjJ0ZUQ1SWZQTENSZzdqamNGVHdsTUZObDl6ZGgvbzNFL2hIUHdqN0JXZzBNVTA5cFByQkxickNnbTU0QTZIK0k2djI3K2pMNWdraldnL2lZZGtzOWpiZlZQNXkvbjBkbGdXRU1sS2FzbDdKdkZaZDU2TGZ5YlcxZWVhVk8wZ3hUZlhad0Q4RzRTSTExNnl4N1VLVlJndWk2WWExWXBpeHFYZU5MYzhJeHRBd0NVNUlod1FnbitOcUhuUmFEdjYxQ3hLaE9xNHBPWDdNNnBrQStQbXBkNGoxdm42QUNVQUxvTExjNHZwWGNpOFZpZEx4em03cUZCZTdzK3F1dUpzNkVUWW1ucGdTM0x3U1p4UElsdGdCRFh6OE0xay9XMnlTTnYyZjkvTlBoeExHSzJEMjFka0hlU0dtZW5SVDNZcWNkbDBtL2gzT1lyOFYrbFhOWUdmOGFDQ3BkNGJXakU0UUlQajd2VUtONE5yZnM3TUw2WTJPeVM4MzBKQ25vZmcvazdscEZwdDRTcVpjNUhHZzFIQ09ySHZPZEM4YlA2RkdEYkUvVlYwbVg0SWFremJkUy9vcCtLdDNHMjQvOFFiQlY3eTg2c0dTUS92WnpVOEZYczd1NmpJdndjaHNFUDJCcEloVzNHOHVXTndhM0htamZIL1pqaGhDV3ZsdUFjRituTWYxNENsS2c1aEdndFBMSjk4dWVOQWtjNUhzMldabGsyUUh2ZnJlQ0sxQ0NHTzZuTVpWU2I5OVZNL2FqcjhXSFR0ZTlKU21rWHEvaS9VOTQzSEViZHpXNlJlL1M4OGRLZ2c4cEdPTGxBZU5pcXJjTGtVUjMvYUNsRnBNWGNPVVAzcm1FVGNXU2ZNWFpFM1RVT2k4aStmcVJuVFlMZmxWeC9WYi82R0o3ZUlSWlVBNmszUllSM2lGU0s5YzRpRGROd0p1WkwyRkt6L0lLNVZpbWNOV0VxZFhqU294U2dtRjBVUGxEb1VsTnJQY003ZnRtQThZOWdLaXFLRUh1V04rQVpSSXd0VlN4eWUyS2Y4ck0zbGhKNVhjQlhVOW40djBPeTFSVTJNKzRxTThBUVBWd3NlOEVyTlNvYjVvRlBXeHVxWm5Wem8xcUIvSUJ4a00zRVZVS0ZVVWxPM2U1MTI1OUdnTmNKYkNtbHZyZGp0b1RXN3JDaG0xd3lDS3pwQ1R3b3pVVUVPSWNXTG5lUkxnTVhoK1NqR1NGa0FsbHpiR1M1SEs3TGxmQ01STlJEU3ZiUVBqY1hhZW5OWXhDdnUyUXl6bno2U3R1eFZqNjZTZ0kwVDhCNi9zZkhBSllaYVo3OHRoak9TSUZ1bU5XTFFiZVppeERDQ0MrdjBZQnRreGlCQjNqZWZIcVovZEZIVStjcmJqNk92UzF4L0pERDd2bG03ek9WUHdwVUMwMW5oeFp1WS82M0U3ZycpO1xuXG4vLyBodHRwczovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIxNS9cclxuXHJcbmZ1bmN0aW9uIHVucGFja19jYyhwYWNrZWQpIHtcclxuXHRyZXR1cm4gKHBhY2tlZCA+PiAyNCkgJiAweEZGO1xyXG59XHJcbmZ1bmN0aW9uIHVucGFja19jcChwYWNrZWQpIHtcclxuXHRyZXR1cm4gcGFja2VkICYgMHhGRkZGRkY7XHJcbn1cclxuXHJcbmNvbnN0IFNISUZURURfUkFOSyA9IG5ldyBNYXAocmVhZF9zb3J0ZWRfYXJyYXlzKHIpLmZsYXRNYXAoKHYsIGkpID0+IHYubWFwKHggPT4gW3gsIChpKzEpIDw8IDI0XSkpKTsgLy8gcHJlLXNoaWZ0ZWRcclxuY29uc3QgRVhDTFVTSU9OUyA9IG5ldyBTZXQocmVhZF9zb3J0ZWQocikpO1xyXG5jb25zdCBERUNPTVAgPSBuZXcgTWFwKCk7XHJcbmNvbnN0IFJFQ09NUCA9IG5ldyBNYXAoKTtcclxuZm9yIChsZXQgW2NwLCBjcHNdIG9mIHJlYWRfbWFwcGVkKHIpKSB7XHJcblx0aWYgKCFFWENMVVNJT05TLmhhcyhjcCkgJiYgY3BzLmxlbmd0aCA9PSAyKSB7XHJcblx0XHRsZXQgW2EsIGJdID0gY3BzO1xyXG5cdFx0bGV0IGJ1Y2tldCA9IFJFQ09NUC5nZXQoYSk7XHJcblx0XHRpZiAoIWJ1Y2tldCkge1xyXG5cdFx0XHRidWNrZXQgPSBuZXcgTWFwKCk7XHJcblx0XHRcdFJFQ09NUC5zZXQoYSwgYnVja2V0KTtcclxuXHRcdH1cclxuXHRcdGJ1Y2tldC5zZXQoYiwgY3ApO1xyXG5cdH1cclxuXHRERUNPTVAuc2V0KGNwLCBjcHMucmV2ZXJzZSgpKTsgLy8gc3RvcmVkIHJldmVyc2VkXHJcbn1cclxuXHJcbi8vIGFsZ29yaXRobWljIGhhbmd1bFxyXG4vLyBodHRwczovL3d3dy51bmljb2RlLm9yZy92ZXJzaW9ucy9Vbmljb2RlMTUuMC4wL2NoMDMucGRmIChwYWdlIDE0NClcclxuY29uc3QgUzAgPSAweEFDMDA7XHJcbmNvbnN0IEwwID0gMHgxMTAwO1xyXG5jb25zdCBWMCA9IDB4MTE2MTtcclxuY29uc3QgVDAgPSAweDExQTc7XHJcbmNvbnN0IExfQ09VTlQgPSAxOTtcclxuY29uc3QgVl9DT1VOVCA9IDIxO1xyXG5jb25zdCBUX0NPVU5UID0gMjg7XHJcbmNvbnN0IE5fQ09VTlQgPSBWX0NPVU5UICogVF9DT1VOVDtcclxuY29uc3QgU19DT1VOVCA9IExfQ09VTlQgKiBOX0NPVU5UO1xyXG5jb25zdCBTMSA9IFMwICsgU19DT1VOVDtcclxuY29uc3QgTDEgPSBMMCArIExfQ09VTlQ7XHJcbmNvbnN0IFYxID0gVjAgKyBWX0NPVU5UO1xyXG5jb25zdCBUMSA9IFQwICsgVF9DT1VOVDtcclxuXHJcbmZ1bmN0aW9uIGlzX2hhbmd1bChjcCkge1xyXG5cdHJldHVybiBjcCA+PSBTMCAmJiBjcCA8IFMxO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb21wb3NlX3BhaXIoYSwgYikge1xyXG5cdGlmIChhID49IEwwICYmIGEgPCBMMSAmJiBiID49IFYwICYmIGIgPCBWMSkge1xyXG5cdFx0cmV0dXJuIFMwICsgKGEgLSBMMCkgKiBOX0NPVU5UICsgKGIgLSBWMCkgKiBUX0NPVU5UO1xyXG5cdH0gZWxzZSBpZiAoaXNfaGFuZ3VsKGEpICYmIGIgPiBUMCAmJiBiIDwgVDEgJiYgKGEgLSBTMCkgJSBUX0NPVU5UID09IDApIHtcclxuXHRcdHJldHVybiBhICsgKGIgLSBUMCk7XHJcblx0fSBlbHNlIHtcclxuXHRcdGxldCByZWNvbXAgPSBSRUNPTVAuZ2V0KGEpO1xyXG5cdFx0aWYgKHJlY29tcCkge1xyXG5cdFx0XHRyZWNvbXAgPSByZWNvbXAuZ2V0KGIpO1xyXG5cdFx0XHRpZiAocmVjb21wKSB7XHJcblx0XHRcdFx0cmV0dXJuIHJlY29tcDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIC0xO1xyXG5cdH1cclxufVxyXG5cclxuZnVuY3Rpb24gZGVjb21wb3NlZChjcHMpIHtcclxuXHRsZXQgcmV0ID0gW107XHJcblx0bGV0IGJ1ZiA9IFtdO1xyXG5cdGxldCBjaGVja19vcmRlciA9IGZhbHNlO1xyXG5cdGZ1bmN0aW9uIGFkZChjcCkge1xyXG5cdFx0bGV0IGNjID0gU0hJRlRFRF9SQU5LLmdldChjcCk7XHJcblx0XHRpZiAoY2MpIHtcclxuXHRcdFx0Y2hlY2tfb3JkZXIgPSB0cnVlO1xyXG5cdFx0XHRjcCB8PSBjYztcclxuXHRcdH1cclxuXHRcdHJldC5wdXNoKGNwKTtcclxuXHR9XHJcblx0Zm9yIChsZXQgY3Agb2YgY3BzKSB7XHJcblx0XHR3aGlsZSAodHJ1ZSkge1xyXG5cdFx0XHRpZiAoY3AgPCAweDgwKSB7XHJcblx0XHRcdFx0cmV0LnB1c2goY3ApO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGlzX2hhbmd1bChjcCkpIHtcclxuXHRcdFx0XHRsZXQgc19pbmRleCA9IGNwIC0gUzA7XHJcblx0XHRcdFx0bGV0IGxfaW5kZXggPSBzX2luZGV4IC8gTl9DT1VOVCB8IDA7XHJcblx0XHRcdFx0bGV0IHZfaW5kZXggPSAoc19pbmRleCAlIE5fQ09VTlQpIC8gVF9DT1VOVCB8IDA7XHJcblx0XHRcdFx0bGV0IHRfaW5kZXggPSBzX2luZGV4ICUgVF9DT1VOVDtcclxuXHRcdFx0XHRhZGQoTDAgKyBsX2luZGV4KTtcclxuXHRcdFx0XHRhZGQoVjAgKyB2X2luZGV4KTtcclxuXHRcdFx0XHRpZiAodF9pbmRleCA+IDApIGFkZChUMCArIHRfaW5kZXgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGxldCBtYXBwZWQgPSBERUNPTVAuZ2V0KGNwKTtcclxuXHRcdFx0XHRpZiAobWFwcGVkKSB7XHJcblx0XHRcdFx0XHRidWYucHVzaCguLi5tYXBwZWQpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRhZGQoY3ApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoIWJ1Zi5sZW5ndGgpIGJyZWFrO1xyXG5cdFx0XHRjcCA9IGJ1Zi5wb3AoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0aWYgKGNoZWNrX29yZGVyICYmIHJldC5sZW5ndGggPiAxKSB7XHJcblx0XHRsZXQgcHJldl9jYyA9IHVucGFja19jYyhyZXRbMF0pO1xyXG5cdFx0Zm9yIChsZXQgaSA9IDE7IGkgPCByZXQubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0bGV0IGNjID0gdW5wYWNrX2NjKHJldFtpXSk7XHJcblx0XHRcdGlmIChjYyA9PSAwIHx8IHByZXZfY2MgPD0gY2MpIHtcclxuXHRcdFx0XHRwcmV2X2NjID0gY2M7XHJcblx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdH1cclxuXHRcdFx0bGV0IGogPSBpLTE7XHJcblx0XHRcdHdoaWxlICh0cnVlKSB7XHJcblx0XHRcdFx0bGV0IHRtcCA9IHJldFtqKzFdO1xyXG5cdFx0XHRcdHJldFtqKzFdID0gcmV0W2pdO1xyXG5cdFx0XHRcdHJldFtqXSA9IHRtcDtcclxuXHRcdFx0XHRpZiAoIWopIGJyZWFrO1xyXG5cdFx0XHRcdHByZXZfY2MgPSB1bnBhY2tfY2MocmV0Wy0tal0pO1xyXG5cdFx0XHRcdGlmIChwcmV2X2NjIDw9IGNjKSBicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0XHRwcmV2X2NjID0gdW5wYWNrX2NjKHJldFtpXSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHJldHVybiByZXQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbXBvc2VkX2Zyb21fZGVjb21wb3NlZCh2KSB7XHJcblx0bGV0IHJldCA9IFtdO1xyXG5cdGxldCBzdGFjayA9IFtdO1xyXG5cdGxldCBwcmV2X2NwID0gLTE7XHJcblx0bGV0IHByZXZfY2MgPSAwO1xyXG5cdGZvciAobGV0IHBhY2tlZCBvZiB2KSB7XHJcblx0XHRsZXQgY2MgPSB1bnBhY2tfY2MocGFja2VkKTtcclxuXHRcdGxldCBjcCA9IHVucGFja19jcChwYWNrZWQpO1xyXG5cdFx0aWYgKHByZXZfY3AgPT0gLTEpIHtcclxuXHRcdFx0aWYgKGNjID09IDApIHtcclxuXHRcdFx0XHRwcmV2X2NwID0gY3A7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0cmV0LnB1c2goY3ApO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKHByZXZfY2MgPiAwICYmIHByZXZfY2MgPj0gY2MpIHtcclxuXHRcdFx0aWYgKGNjID09IDApIHtcclxuXHRcdFx0XHRyZXQucHVzaChwcmV2X2NwLCAuLi5zdGFjayk7XHJcblx0XHRcdFx0c3RhY2subGVuZ3RoID0gMDtcclxuXHRcdFx0XHRwcmV2X2NwID0gY3A7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0c3RhY2sucHVzaChjcCk7XHJcblx0XHRcdH1cclxuXHRcdFx0cHJldl9jYyA9IGNjO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bGV0IGNvbXBvc2VkID0gY29tcG9zZV9wYWlyKHByZXZfY3AsIGNwKTtcclxuXHRcdFx0aWYgKGNvbXBvc2VkID49IDApIHtcclxuXHRcdFx0XHRwcmV2X2NwID0gY29tcG9zZWQ7XHJcblx0XHRcdH0gZWxzZSBpZiAocHJldl9jYyA9PSAwICYmIGNjID09IDApIHtcclxuXHRcdFx0XHRyZXQucHVzaChwcmV2X2NwKTtcclxuXHRcdFx0XHRwcmV2X2NwID0gY3A7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0c3RhY2sucHVzaChjcCk7XHJcblx0XHRcdFx0cHJldl9jYyA9IGNjO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGlmIChwcmV2X2NwID49IDApIHtcclxuXHRcdHJldC5wdXNoKHByZXZfY3AsIC4uLnN0YWNrKTtcdFxyXG5cdH1cclxuXHRyZXR1cm4gcmV0O1xyXG59XHJcblxyXG4vLyBub3RlOiBjcHMgY2FuIGJlIGl0ZXJhYmxlXHJcbmZ1bmN0aW9uIG5mZChjcHMpIHtcclxuXHRyZXR1cm4gZGVjb21wb3NlZChjcHMpLm1hcCh1bnBhY2tfY3ApO1xyXG59XHJcbmZ1bmN0aW9uIG5mYyhjcHMpIHtcclxuXHRyZXR1cm4gY29tcG9zZWRfZnJvbV9kZWNvbXBvc2VkKGRlY29tcG9zZWQoY3BzKSk7XHJcbn1cblxuLy9jb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xyXG5cclxuY29uc3QgU1RPUCA9IDB4MkU7XHJcbmNvbnN0IEZFMEYgPSAweEZFMEY7XHJcbmNvbnN0IFNUT1BfQ0ggPSAnLic7XHJcbmNvbnN0IFVOSVFVRV9QSCA9IDE7XHJcbmNvbnN0IEhZUEhFTiA9IDB4MkQ7XHJcblxyXG5mdW5jdGlvbiByZWFkX3NldCgpIHtcclxuXHRyZXR1cm4gbmV3IFNldChyZWFkX3NvcnRlZChyJDEpKTtcclxufVxyXG5jb25zdCBNQVBQRUQgPSBuZXcgTWFwKHJlYWRfbWFwcGVkKHIkMSkpOyBcclxuY29uc3QgSUdOT1JFRCA9IHJlYWRfc2V0KCk7IC8vIGlnbm9yZWQgY2hhcmFjdGVycyBhcmUgbm90IHZhbGlkLCBzbyBqdXN0IHJlYWQgcmF3IGNvZGVwb2ludHNcclxuLypcclxuLy8gZGlyZWN0IGluY2x1ZGUgZnJvbSBwYXlsb2FkIGlzIHNtYWxsZXIgdGhhdCB0aGUgZGVjb21wcmVzc2lvbiBjb2RlXHJcbmNvbnN0IEZFTkNFRCA9IG5ldyBNYXAocmVhZF9hcnJheV93aGlsZSgoKSA9PiB7XHJcblx0bGV0IGNwID0gcigpO1xyXG5cdGlmIChjcCkgcmV0dXJuIFtjcCwgcmVhZF9zdHIocigpKV07XHJcbn0pKTtcclxuKi9cclxuLy8gMjAyMzAyMTc6IHdlIHN0aWxsIG5lZWQgYWxsIENNIGZvciBwcm9wZXIgZXJyb3IgZm9ybWF0dGluZ1xyXG4vLyBidXQgbm9ybSBvbmx5IG5lZWRzIE5TTSBzdWJzZXQgdGhhdCBhcmUgcG90ZW50aWFsbHktdmFsaWRcclxuY29uc3QgQ00gPSByZWFkX3NldCgpO1xyXG5jb25zdCBOU00gPSBuZXcgU2V0KHJlYWRfc29ydGVkKHIkMSkubWFwKGZ1bmN0aW9uKGkpIHsgcmV0dXJuIHRoaXNbaV07IH0sIFsuLi5DTV0pKTtcclxuLypcclxuY29uc3QgQ01fU09SVEVEID0gcmVhZF9zb3J0ZWQocik7XHJcbmNvbnN0IE5TTSA9IG5ldyBTZXQocmVhZF9zb3J0ZWQocikubWFwKGkgPT4gQ01fU09SVEVEW2ldKSk7XHJcbmNvbnN0IENNID0gbmV3IFNldChDTV9TT1JURUQpO1xyXG4qL1xyXG5jb25zdCBFU0NBUEUgPSByZWFkX3NldCgpOyAvLyBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIG5vdCBiZSBwcmludGVkXHJcbmNvbnN0IE5GQ19DSEVDSyA9IHJlYWRfc2V0KCk7XHJcbmNvbnN0IENIVU5LUyA9IHJlYWRfc29ydGVkX2FycmF5cyhyJDEpO1xyXG5mdW5jdGlvbiByZWFkX2NodW5rZWQoKSB7XHJcblx0Ly8gZGVkdXBsaWNhdGVkIHNldHMgKyB1bmlxdWVzXHJcblx0cmV0dXJuIG5ldyBTZXQoW3JlYWRfc29ydGVkKHIkMSkubWFwKGkgPT4gQ0hVTktTW2ldKSwgcmVhZF9zb3J0ZWQociQxKV0uZmxhdCgyKSk7XHJcbn1cclxuY29uc3QgVU5SRVNUUklDVEVEID0gciQxKCk7XHJcbmNvbnN0IEdST1VQUyA9IHJlYWRfYXJyYXlfd2hpbGUoaSA9PiB7XHJcblx0Ly8gbWluaWZpZXIgcHJvcGVydHkgbWFuZ2xpbmcgc2VlbXMgdW5zYWZlXHJcblx0Ly8gc28gdGhlc2UgYXJlIG1hbnVhbGx5IHJlbmFtZWQgdG8gc2luZ2xlIGNoYXJzXHJcblx0bGV0IE4gPSByZWFkX2FycmF5X3doaWxlKHIkMSkubWFwKHggPT4geCsweDYwKTtcclxuXHRpZiAoTi5sZW5ndGgpIHtcclxuXHRcdGxldCBSID0gaSA+PSBVTlJFU1RSSUNURUQ7IC8vIGZpcnN0IGFyZW50IHJlc3RyaWN0ZWRcclxuXHRcdE5bMF0gLT0gMzI7IC8vIGNhcGl0YWxpemVcclxuXHRcdE4gPSBzdHJfZnJvbV9jcHMoTik7XHJcblx0XHRpZiAoUikgTj1gUmVzdHJpY3RlZFske059XWA7XHJcblx0XHRsZXQgUCA9IHJlYWRfY2h1bmtlZCgpOyAvLyBwcmltYXJ5XHJcblx0XHRsZXQgUSA9IHJlYWRfY2h1bmtlZCgpOyAvLyBzZWNvbmRhcnlcclxuXHRcdGxldCBWID0gWy4uLlAsIC4uLlFdLnNvcnQoKGEsIGIpID0+IGEtYik7IC8vIGRlcml2ZTogc29ydGVkIHZhbGlkXHJcblx0XHQvL2xldCBNID0gcigpLTE7IC8vIGNvbWJpbmluZyBtYXJrXHJcblx0XHRsZXQgTSA9ICFyJDEoKTsgLy8gbm90LXdoaXRlbGlzdGVkLCBjaGVjayBmb3IgTlNNXHJcblx0XHQvLyBjb2RlIGN1cnJlbnRseSBpc24ndCBuZWVkZWRcclxuXHRcdC8qaWYgKE0gPCAwKSB7IC8vIHdoaXRlbGlzdGVkXHJcblx0XHRcdE0gPSBuZXcgTWFwKHJlYWRfYXJyYXlfd2hpbGUoKCkgPT4ge1xyXG5cdFx0XHRcdGxldCBpID0gcigpO1xyXG5cdFx0XHRcdGlmIChpKSByZXR1cm4gW1ZbaS0xXSwgcmVhZF9hcnJheV93aGlsZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRsZXQgdiA9IHJlYWRfYXJyYXlfd2hpbGUocik7XHJcblx0XHRcdFx0XHRpZiAodi5sZW5ndGgpIHJldHVybiB2Lm1hcCh4ID0+IHgtMSk7XHJcblx0XHRcdFx0fSldO1xyXG5cdFx0XHR9KSk7XHJcblx0XHR9Ki9cclxuXHRcdHJldHVybiB7TiwgUCwgTSwgUiwgVjogbmV3IFNldChWKX07XHJcblx0fVxyXG59KTtcclxuY29uc3QgV0hPTEVfVkFMSUQgPSByZWFkX3NldCgpO1xyXG5jb25zdCBXSE9MRV9NQVAgPSBuZXcgTWFwKCk7XHJcbi8vIGRlY29kZSBjb21wcmVzc2VkIHdob2xlc1xyXG5bLi4uV0hPTEVfVkFMSUQsIC4uLnJlYWRfc2V0KCldLnNvcnQoKGEsIGIpID0+IGEtYikubWFwKChjcCwgaSwgdikgPT4ge1xyXG5cdGxldCBkID0gciQxKCk7IFxyXG5cdGxldCB3ID0gdltpXSA9IGQgPyB2W2ktZF0gOiB7VjogW10sIE06IG5ldyBNYXAoKX07XHJcblx0dy5WLnB1c2goY3ApOyAvLyBhZGQgdG8gbWVtYmVyIHNldFxyXG5cdGlmICghV0hPTEVfVkFMSUQuaGFzKGNwKSkge1xyXG5cdFx0V0hPTEVfTUFQLnNldChjcCwgdyk7ICAvLyByZWdpc3RlciB3aXRoIHdob2xlIG1hcFxyXG5cdH1cclxufSk7XHJcbi8vIGNvbXB1dGUgY29uZnVzYWJsZS1leHRlbnQgY29tcGxlbWVudHNcclxuZm9yIChsZXQge1YsIE19IG9mIG5ldyBTZXQoV0hPTEVfTUFQLnZhbHVlcygpKSkge1xyXG5cdC8vIGNvbm5lY3QgYWxsIGdyb3VwcyB0aGF0IGhhdmUgZWFjaCB3aG9sZSBjaGFyYWN0ZXJcclxuXHRsZXQgcmVjcyA9IFtdO1xyXG5cdGZvciAobGV0IGNwIG9mIFYpIHtcclxuXHRcdGxldCBncyA9IEdST1VQUy5maWx0ZXIoZyA9PiBnLlYuaGFzKGNwKSk7XHJcblx0XHRsZXQgcmVjID0gcmVjcy5maW5kKCh7R30pID0+IGdzLnNvbWUoZyA9PiBHLmhhcyhnKSkpO1xyXG5cdFx0aWYgKCFyZWMpIHtcclxuXHRcdFx0cmVjID0ge0c6IG5ldyBTZXQoKSwgVjogW119O1xyXG5cdFx0XHRyZWNzLnB1c2gocmVjKTtcclxuXHRcdH1cclxuXHRcdHJlYy5WLnB1c2goY3ApO1xyXG5cdFx0Z3MuZm9yRWFjaChnID0+IHJlYy5HLmFkZChnKSk7XHJcblx0fVxyXG5cdC8vIHBlciBjaGFyYWN0ZXIgY2FjaGUgZ3JvdXBzIHdoaWNoIGFyZSBub3QgYSBtZW1iZXIgb2YgdGhlIGV4dGVudFxyXG5cdGxldCB1bmlvbiA9IHJlY3MuZmxhdE1hcCgoe0d9KSA9PiBbLi4uR10pO1xyXG5cdGZvciAobGV0IHtHLCBWfSBvZiByZWNzKSB7XHJcblx0XHRsZXQgY29tcGxlbWVudCA9IG5ldyBTZXQodW5pb24uZmlsdGVyKGcgPT4gIUcuaGFzKGcpKSk7XHJcblx0XHRmb3IgKGxldCBjcCBvZiBWKSB7XHJcblx0XHRcdE0uc2V0KGNwLCBjb21wbGVtZW50KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxubGV0IHVuaW9uID0gbmV3IFNldCgpOyAvLyBleGlzdHMgaW4gMSsgZ3JvdXBzXHJcbmxldCBtdWx0aSA9IG5ldyBTZXQoKTsgLy8gZXhpc3RzIGluIDIrIGdyb3Vwc1xyXG5mb3IgKGxldCBnIG9mIEdST1VQUykge1xyXG5cdGZvciAobGV0IGNwIG9mIGcuVikge1xyXG5cdFx0KHVuaW9uLmhhcyhjcCkgPyBtdWx0aSA6IHVuaW9uKS5hZGQoY3ApO1xyXG5cdH1cclxufVxyXG4vLyBkdWFsIHB1cnBvc2UgV0hPTEVfTUFQOiByZXR1cm4gcGxhY2Vob2xkZXIgaWYgdW5pcXVlIG5vbi1jb25mdXNhYmxlXHJcbmZvciAobGV0IGNwIG9mIHVuaW9uKSB7XHJcblx0aWYgKCFXSE9MRV9NQVAuaGFzKGNwKSAmJiAhbXVsdGkuaGFzKGNwKSkge1xyXG5cdFx0V0hPTEVfTUFQLnNldChjcCwgVU5JUVVFX1BIKTtcclxuXHR9XHJcbn1cclxuY29uc3QgVkFMSUQgPSBuZXcgU2V0KFsuLi51bmlvbiwgLi4ubmZkKHVuaW9uKV0pOyAvLyBwb3NzaWJseSB2YWxpZFxyXG5cclxuLy8gZGVjb2RlIGVtb2ppXHJcbmNvbnN0IEVNT0pJX1NPUlRFRCA9IHJlYWRfc29ydGVkKHIkMSk7IC8vIHRlbXBvcmFyeVxyXG4vL2NvbnN0IEVNT0pJX1NPTE8gPSBuZXcgU2V0KHJlYWRfc29ydGVkKHIpLm1hcChpID0+IEVNT0pJX1NPUlRFRFtpXSkpOyAvLyBub3QgbmVlZGVkXHJcbmNvbnN0IEVNT0pJX1JPT1QgPSByZWFkX2Vtb2ppX3RyaWUoW10pO1xyXG5mdW5jdGlvbiByZWFkX2Vtb2ppX3RyaWUoY3BzKSB7XHJcblx0bGV0IEIgPSByZWFkX2FycmF5X3doaWxlKCgpID0+IHtcclxuXHRcdGxldCBrZXlzID0gcmVhZF9zb3J0ZWQociQxKS5tYXAoaSA9PiBFTU9KSV9TT1JURURbaV0pO1xyXG5cdFx0aWYgKGtleXMubGVuZ3RoKSByZXR1cm4gcmVhZF9lbW9qaV90cmllKGtleXMpO1xyXG5cdH0pLnNvcnQoKGEsIGIpID0+IGIuUS5zaXplIC0gYS5RLnNpemUpOyAvLyBzb3J0IGJ5IGxpa2VsaWhvb2RcclxuXHRsZXQgdGVtcCA9IHIkMSgpO1xyXG5cdGxldCBWID0gdGVtcCAlIDM7IC8vIHZhbGlkICgwID0gZmFsc2UsIDEgPSB0cnVlLCAyID0gd2VpcmQpXHJcblx0dGVtcCA9ICh0ZW1wIC8gMyl8MDtcclxuXHRsZXQgRiA9IHRlbXAgJiAxOyAvLyBhbGxvdyBGRTBGXHJcblx0dGVtcCA+Pj0gMTtcclxuXHRsZXQgUyA9IHRlbXAgJiAxOyAvLyBzYXZlXHJcblx0bGV0IEMgPSB0ZW1wICYgMjsgLy8gY2hlY2tcclxuXHRyZXR1cm4ge0IsIFYsIEYsIFMsIEMsIFE6IG5ldyBTZXQoY3BzKX07XHJcbn1cclxuLy9jb25zb2xlLmxvZyhwZXJmb3JtYW5jZS5ub3coKSAtIHQwKTtcclxuXHJcbi8vIGZyZWUgdGFnZ2luZyBzeXN0ZW1cclxuY2xhc3MgRW1vamkgZXh0ZW5kcyBBcnJheSB7XHJcblx0Z2V0IGlzX2Vtb2ppKCkgeyByZXR1cm4gdHJ1ZTsgfVxyXG59XHJcblxyXG4vLyBjcmVhdGUgYSBzYWZlIHRvIHByaW50IHN0cmluZyBcclxuLy8gaW52aXNpYmxlcyBhcmUgZXNjYXBlZFxyXG4vLyBsZWFkaW5nIGNtIHVzZXMgcGxhY2Vob2xkZXJcclxuLy8gcXVvdGVyKGNwKSA9PiBzdHJpbmcsIGVnLiAzMDAwID0+IFwiezMwMDB9XCJcclxuLy8gbm90ZTogaW4gaHRtbCwgeW91J2QgY2FsbCB0aGlzIGZ1bmN0aW9uIHRoZW4gcmVwbGFjZSBbPD4mXSB3aXRoIGVudGl0aWVzXHJcbmZ1bmN0aW9uIHNhZmVfc3RyX2Zyb21fY3BzKGNwcywgcXVvdGVyID0gcXVvdGVfY3ApIHtcclxuXHQvL2lmIChOdW1iZXIuaXNJbnRlZ2VyKGNwcykpIGNwcyA9IFtjcHNdO1xyXG5cdC8vaWYgKCFBcnJheS5pc0FycmF5KGNwcykpIHRocm93IG5ldyBUeXBlRXJyb3IoYGV4cGVjdGVkIGNvZGVwb2ludHNgKTtcclxuXHRsZXQgYnVmID0gW107XHJcblx0aWYgKGlzX2NvbWJpbmluZ19tYXJrKGNwc1swXSkpIGJ1Zi5wdXNoKCfil4wnKTtcclxuXHRsZXQgcHJldiA9IDA7XHJcblx0bGV0IG4gPSBjcHMubGVuZ3RoO1xyXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XHJcblx0XHRsZXQgY3AgPSBjcHNbaV07XHJcblx0XHRpZiAoc2hvdWxkX2VzY2FwZShjcCkpIHtcclxuXHRcdFx0YnVmLnB1c2goc3RyX2Zyb21fY3BzKGNwcy5zbGljZShwcmV2LCBpKSkpO1xyXG5cdFx0XHRidWYucHVzaChxdW90ZXIoY3ApKTtcclxuXHRcdFx0cHJldiA9IGkgKyAxO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRidWYucHVzaChzdHJfZnJvbV9jcHMoY3BzLnNsaWNlKHByZXYsIG4pKSk7XHJcblx0cmV0dXJuIGJ1Zi5qb2luKCcnKTtcclxufVxyXG5cclxuLy8gaWYgZXNjYXBlZDoge0hFWH1cclxuLy8gICAgICAgZWxzZTogXCJ4XCIge0hFWH1cclxuZnVuY3Rpb24gcXVvdGVkX2NwKGNwKSB7XHJcblx0cmV0dXJuIChzaG91bGRfZXNjYXBlKGNwKSA/ICcnIDogYCR7YmlkaV9xcShzYWZlX3N0cl9mcm9tX2NwcyhbY3BdKSl9IGApICsgcXVvdGVfY3AoY3ApO1xyXG59XHJcblxyXG4vLyAyMDIzMDIxMTogc29tZSBtZXNzYWdlcyBjYW4gYmUgbWl4ZWQtZGlyZWN0aW9uYWwgYW5kIHJlc3VsdCBpbiBzcGlsbG92ZXJcclxuLy8gdXNlIDIwMEUgYWZ0ZXIgYSBxdW90ZWQgc3RyaW5nIHRvIGZvcmNlIHRoZSByZW1haW5kZXIgb2YgYSBzdHJpbmcgZnJvbSBcclxuLy8gYWNxdXJpbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgcXVvdGVcclxuLy8gaHR0cHM6Ly93d3cudzMub3JnL0ludGVybmF0aW9uYWwvcXVlc3Rpb25zL3FhLWJpZGktdW5pY29kZS1jb250cm9scyNleGNlcHRpb25zXHJcbmZ1bmN0aW9uIGJpZGlfcXEocykge1xyXG5cdHJldHVybiBgXCIke3N9XCJcXHUyMDBFYDsgLy8gc3Ryb25nIExUUlxyXG59XHJcblxyXG5mdW5jdGlvbiBjaGVja19sYWJlbF9leHRlbnNpb24oY3BzKSB7XHJcblx0aWYgKGNwcy5sZW5ndGggPj0gNCAmJiBjcHNbMl0gPT0gSFlQSEVOICYmIGNwc1szXSA9PSBIWVBIRU4pIHtcclxuXHRcdHRocm93IG5ldyBFcnJvcignaW52YWxpZCBsYWJlbCBleHRlbnNpb24nKTtcclxuXHR9XHJcbn1cclxuZnVuY3Rpb24gY2hlY2tfbGVhZGluZ191bmRlcnNjb3JlKGNwcykge1xyXG5cdGNvbnN0IFVOREVSU0NPUkUgPSAweDVGO1xyXG5cdGZvciAobGV0IGkgPSBjcHMubGFzdEluZGV4T2YoVU5ERVJTQ09SRSk7IGkgPiAwOyApIHtcclxuXHRcdGlmIChjcHNbLS1pXSAhPT0gVU5ERVJTQ09SRSkge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ3VuZGVyc2NvcmUgYWxsb3dlZCBvbmx5IGF0IHN0YXJ0Jyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vIGNoZWNrIHRoYXQgYSBmZW5jZWQgY3AgaXMgbm90IGxlYWRpbmcsIHRyYWlsaW5nLCBvciB0b3VjaGluZyBhbm90aGVyIGZlbmNlZCBjcFxyXG5mdW5jdGlvbiBjaGVja19mZW5jZWQoY3BzKSB7XHJcblx0bGV0IGNwID0gY3BzWzBdO1xyXG5cdGxldCBwcmV2ID0gRkVOQ0VELmdldChjcCk7XHJcblx0aWYgKHByZXYpIHRocm93IGVycm9yX3BsYWNlbWVudChgbGVhZGluZyAke3ByZXZ9YCk7XHJcblx0bGV0IG4gPSBjcHMubGVuZ3RoO1xyXG5cdGxldCBsYXN0ID0gLTE7IC8vIHByZXZlbnRzIHRyYWlsaW5nIGZyb20gdGhyb3dpbmdcclxuXHRmb3IgKGxldCBpID0gMTsgaSA8IG47IGkrKykge1xyXG5cdFx0Y3AgPSBjcHNbaV07XHJcblx0XHRsZXQgbWF0Y2ggPSBGRU5DRUQuZ2V0KGNwKTtcclxuXHRcdGlmIChtYXRjaCkge1xyXG5cdFx0XHQvLyBzaW5jZSBjcHNbMF0gaXNuJ3QgZmVuY2VkLCBjcHNbMV0gY2Fubm90IHRocm93XHJcblx0XHRcdGlmIChsYXN0ID09IGkpIHRocm93IGVycm9yX3BsYWNlbWVudChgJHtwcmV2fSArICR7bWF0Y2h9YCk7XHJcblx0XHRcdGxhc3QgPSBpICsgMTtcclxuXHRcdFx0cHJldiA9IG1hdGNoO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRpZiAobGFzdCA9PSBuKSB0aHJvdyBlcnJvcl9wbGFjZW1lbnQoYHRyYWlsaW5nICR7cHJldn1gKTtcclxufVxyXG5cclxuLy8gbm90ZTogc2V0KHMpIGNhbm5vdCBiZSBleHBvc2VkIGJlY2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWRcclxuZnVuY3Rpb24gaXNfY29tYmluaW5nX21hcmsoY3ApIHtcclxuXHRyZXR1cm4gQ00uaGFzKGNwKTtcclxufVxyXG5mdW5jdGlvbiBzaG91bGRfZXNjYXBlKGNwKSB7XHJcblx0cmV0dXJuIEVTQ0FQRS5oYXMoY3ApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbnNfbm9ybWFsaXplX2ZyYWdtZW50KGZyYWcsIGRlY29tcG9zZSkge1xyXG5cdGxldCBuZiA9IGRlY29tcG9zZSA/IG5mZCA6IG5mYztcclxuXHRyZXR1cm4gZnJhZy5zcGxpdChTVE9QX0NIKS5tYXAobGFiZWwgPT4gc3RyX2Zyb21fY3BzKHByb2Nlc3MoZXhwbG9kZV9jcChsYWJlbCksIG5mKS5mbGF0TWFwKHggPT4geC5pc19lbW9qaSA/IGZpbHRlcl9mZTBmKHgpIDogeCkpKS5qb2luKFNUT1BfQ0gpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbnNfbm9ybWFsaXplKG5hbWUpIHtcclxuXHRyZXR1cm4gZmxhdHRlbihlbnNfc3BsaXQobmFtZSkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBlbnNfYmVhdXRpZnkobmFtZSkge1xyXG5cdGxldCBzcGxpdCA9IGVuc19zcGxpdChuYW1lLCB0cnVlKTtcclxuXHQvLyB0aGlzIGlzIGV4cGVyaW1lbnRhbFxyXG5cdGZvciAobGV0IHt0eXBlLCBvdXRwdXQsIGVycm9yfSBvZiBzcGxpdCkge1xyXG5cdFx0aWYgKGVycm9yKSBjb250aW51ZTtcclxuXHJcblx0XHQvLyByZXBsYWNlIGxlYWRpbmcvdHJhaWxpbmcgaHlwaGVuXHJcblx0XHQvLyAyMDIzMDEyMTogY29uc2lkZXIgYmVhdXRpZmluZyBhbGwgb3IgbGVhZGluZy90cmFpbGluZyBoeXBoZW4gdG8gdW5pY29kZSB2YXJpYW50XHJcblx0XHQvLyBub3QgZXhhY3RseSB0aGUgc2FtZSBpbiBldmVyeSBmb250LCBidXQgdmVyeSBzaW1pbGFyOiBcIi1cIiB2cyBcIuKAkFwiXHJcblx0XHQvKlxyXG5cdFx0Y29uc3QgVU5JQ09ERV9IWVBIRU4gPSAweDIwMTA7XHJcblx0XHQvLyBtYXliZSB0aGlzIHNob3VsZCByZXBsYWNlIGFsbCBmb3IgdmlzdWFsIGNvbnNpc3RhbmN5P1xyXG5cdFx0Ly8gYG5vZGUgdG9vbHMvcmVnLWNvdW50LmpzIHJlZ2V4IF4tXFx7MixcXH1gID0+IDU5MlxyXG5cdFx0Ly9mb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dC5sZW5ndGg7IGkrKykgaWYgKG91dHB1dFtpXSA9PSAweDJEKSBvdXRwdXRbaV0gPSAweDIwMTA7XHJcblx0XHRpZiAob3V0cHV0WzBdID09IEhZUEhFTikgb3V0cHV0WzBdID0gVU5JQ09ERV9IWVBIRU47XHJcblx0XHRsZXQgZW5kID0gb3V0cHV0Lmxlbmd0aC0xO1xyXG5cdFx0aWYgKG91dHB1dFtlbmRdID09IEhZUEhFTikgb3V0cHV0W2VuZF0gPSBVTklDT0RFX0hZUEhFTjtcclxuXHRcdCovXHJcblx0XHQvLyAyMDIzMDEyMzogV0hBVFdHIFVSTCB1c2VzIFwiQ2hlY2tIeXBoZW5zXCIgZmFsc2VcclxuXHRcdC8vIGh0dHBzOi8vdXJsLnNwZWMud2hhdHdnLm9yZy8jaWRuYVxyXG5cclxuXHRcdC8vIHVwZGF0ZSBldGhlcmV1bSBzeW1ib2xcclxuXHRcdC8vIM6+ID0+IM6eIGlmIG5vdCBncmVla1xyXG5cdFx0aWYgKHR5cGUgIT09ICdHcmVlaycpIHsgXHJcblx0XHRcdGxldCBwcmV2ID0gMDtcclxuXHRcdFx0d2hpbGUgKHRydWUpIHtcclxuXHRcdFx0XHRsZXQgbmV4dCA9IG91dHB1dC5pbmRleE9mKDB4M0JFLCBwcmV2KTtcclxuXHRcdFx0XHRpZiAobmV4dCA8IDApIGJyZWFrO1xyXG5cdFx0XHRcdG91dHB1dFtuZXh0XSA9IDB4MzlFOyBcclxuXHRcdFx0XHRwcmV2ID0gbmV4dCArIDE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyAyMDIyMTIxMzogZml4ZXMgYmlkaSBzdWJkb21haW4gaXNzdWUsIGJ1dCBicmVha3MgaW52YXJpYW50ICgyMDBFIGlzIGRpc2FsbG93ZWQpXHJcblx0XHQvLyBjb3VsZCBiZSBmaXhlZCB3aXRoIHNwZWNpYWwgY2FzZSBmb3I6IDJEICguKSArIDIwMEUgKExUUilcclxuXHRcdC8vb3V0cHV0LnNwbGljZSgwLCAwLCAweDIwMEUpO1xyXG5cdH1cclxuXHRyZXR1cm4gZmxhdHRlbihzcGxpdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVuc19zcGxpdChuYW1lLCBwcmVzZXJ2ZV9lbW9qaSkge1xyXG5cdGxldCBvZmZzZXQgPSAwO1xyXG5cdC8vIGh0dHBzOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjQ2LyNWYWxpZGl0eV9Dcml0ZXJpYVxyXG5cdC8vIDQuKSBcIlRoZSBsYWJlbCBtdXN0IG5vdCBjb250YWluIGEgVSswMDJFICggLiApIEZVTEwgU1RPUC5cIlxyXG5cdHJldHVybiBuYW1lLnNwbGl0KFNUT1BfQ0gpLm1hcChsYWJlbCA9PiB7XHJcblx0XHRsZXQgaW5wdXQgPSBleHBsb2RlX2NwKGxhYmVsKTtcclxuXHRcdGxldCBpbmZvID0ge1xyXG5cdFx0XHRpbnB1dCxcclxuXHRcdFx0b2Zmc2V0LCAvLyBjb2RlcG9pbnQsIG5vdCBzdWJzdHJpbmchXHJcblx0XHR9O1xyXG5cdFx0b2Zmc2V0ICs9IGlucHV0Lmxlbmd0aCArIDE7IC8vICsgc3RvcFxyXG5cdFx0bGV0IG5vcm07XHJcblx0XHR0cnkge1xyXG5cdFx0XHQvLyAxLikgXCJUaGUgbGFiZWwgbXVzdCBiZSBpbiBVbmljb2RlIE5vcm1hbGl6YXRpb24gRm9ybSBORkNcIlxyXG5cdFx0XHRsZXQgdG9rZW5zID0gaW5mby50b2tlbnMgPSBwcm9jZXNzKGlucHV0LCBuZmMpOyAvLyBpZiB3ZSBwYXJzZSwgd2UgZ2V0IFtub3JtIGFuZCBtYXBwZWRdXHJcblx0XHRcdGxldCB0b2tlbl9jb3VudCA9IHRva2Vucy5sZW5ndGg7XHJcblx0XHRcdGxldCB0eXBlO1xyXG5cdFx0XHRpZiAoIXRva2VuX2NvdW50KSB7IC8vIHRoZSBsYWJlbCB3YXMgZWZmZWN0aXZlbHkgZW1wdHkgKGNvdWxkIG9mIGhhZCBpZ25vcmVkIGNoYXJhY3RlcnMpXHJcblx0XHRcdFx0Ly8gMjAyMzAxMjA6IGNoYW5nZSB0byBzdHJpY3RcclxuXHRcdFx0XHQvLyBodHRwczovL2Rpc2N1c3MuZW5zLmRvbWFpbnMvdC9lbnMtbmFtZS1ub3JtYWxpemF0aW9uLTJuZC8xNDU2NC81OVxyXG5cdFx0XHRcdC8vbm9ybSA9IFtdO1xyXG5cdFx0XHRcdC8vdHlwZSA9ICdOb25lJzsgLy8gdXNlIHRoaXMgaW5zdGVhZCBvZiBuZXh0IG1hdGNoLCBcIkFTQ0lJXCJcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYGVtcHR5IGxhYmVsYCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0bGV0IGNoYXJzID0gdG9rZW5zWzBdO1xyXG5cdFx0XHRcdGxldCBlbW9qaSA9IHRva2VuX2NvdW50ID4gMSB8fCBjaGFycy5pc19lbW9qaTtcclxuXHRcdFx0XHRpZiAoIWVtb2ppICYmIGNoYXJzLmV2ZXJ5KGNwID0+IGNwIDwgMHg4MCkpIHsgLy8gc3BlY2lhbCBjYXNlIGZvciBhc2NpaVxyXG5cdFx0XHRcdFx0bm9ybSA9IGNoYXJzO1xyXG5cdFx0XHRcdFx0Y2hlY2tfbGVhZGluZ191bmRlcnNjb3JlKG5vcm0pO1xyXG5cdFx0XHRcdFx0Ly8gb25seSBuZWVkZWQgZm9yIGFzY2lpXHJcblx0XHRcdFx0XHQvLyAyMDIzMDEyMzogbWF0Y2hlcyBtYXRjaGVzIFdIQVRXRywgc2VlIG5vdGUgMy4zXHJcblx0XHRcdFx0XHRjaGVja19sYWJlbF9leHRlbnNpb24obm9ybSk7XHJcblx0XHRcdFx0XHQvLyBjYW50IGhhdmUgZmVuY2VkXHJcblx0XHRcdFx0XHQvLyBjYW50IGhhdmUgY21cclxuXHRcdFx0XHRcdC8vIGNhbnQgaGF2ZSB3aG9sZXNcclxuXHRcdFx0XHRcdC8vIHNlZSBkZXJpdmU6IFwiRmFzdHBhdGggQVNDSUlcIlxyXG5cdFx0XHRcdFx0dHlwZSA9ICdBU0NJSSc7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGlmIChlbW9qaSkgeyAvLyB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZW1vamlcclxuXHRcdFx0XHRcdFx0aW5mby5lbW9qaSA9IHRydWU7IFxyXG5cdFx0XHRcdFx0XHRjaGFycyA9IHRva2Vucy5mbGF0TWFwKHggPT4geC5pc19lbW9qaSA/IFtdIDogeCk7IC8vIGFsbCBvZiB0aGUgbmZjIHRva2VucyBjb25jYXQgdG9nZXRoZXJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdG5vcm0gPSB0b2tlbnMuZmxhdE1hcCh4ID0+ICFwcmVzZXJ2ZV9lbW9qaSAmJiB4LmlzX2Vtb2ppID8gZmlsdGVyX2ZlMGYoeCkgOiB4KTtcclxuXHRcdFx0XHRcdGNoZWNrX2xlYWRpbmdfdW5kZXJzY29yZShub3JtKTtcclxuXHRcdFx0XHRcdGlmICghY2hhcnMubGVuZ3RoKSB7IC8vIHRoZXJlcyBubyB0ZXh0LCBqdXN0IGVtb2ppXHJcblx0XHRcdFx0XHRcdHR5cGUgPSAnRW1vamknO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Ly8gNS4gXCJUaGUgbGFiZWwgbXVzdCBub3QgYmVnaW4gd2l0aCBhIGNvbWJpbmluZyBtYXJrLCB0aGF0IGlzOiBHZW5lcmFsX0NhdGVnb3J5PU1hcmsuXCJcclxuXHRcdFx0XHRcdFx0aWYgKENNLmhhcyhub3JtWzBdKSkgdGhyb3cgZXJyb3JfcGxhY2VtZW50KCdsZWFkaW5nIGNvbWJpbmluZyBtYXJrJyk7XHJcblx0XHRcdFx0XHRcdGZvciAobGV0IGkgPSAxOyBpIDwgdG9rZW5fY291bnQ7IGkrKykgeyAvLyB3ZSd2ZSBhbHJlYWR5IGNoZWNrZWQgdGhlIGZpcnN0IHRva2VuXHJcblx0XHRcdFx0XHRcdFx0bGV0IGNwcyA9IHRva2Vuc1tpXTtcclxuXHRcdFx0XHRcdFx0XHRpZiAoIWNwcy5pc19lbW9qaSAmJiBDTS5oYXMoY3BzWzBdKSkgeyAvLyBldmVyeSB0ZXh0IHRva2VuIGhhcyBlbW9qaSBuZWlnaGJvcnMsIGVnLiBFdEVFRXRFdC4uLlxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gYmlkaV9xcSgpIG5vdCBuZWVkZWQgc2luY2UgZW1vamkgaXMgTFRSIGFuZCBjcHMgaXMgYSBDTVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhyb3cgZXJyb3JfcGxhY2VtZW50KGBlbW9qaSArIGNvbWJpbmluZyBtYXJrOiBcIiR7c3RyX2Zyb21fY3BzKHRva2Vuc1tpLTFdKX0gKyAke3NhZmVfc3RyX2Zyb21fY3BzKFtjcHNbMF1dKX1cImApOyBcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Y2hlY2tfZmVuY2VkKG5vcm0pO1xyXG5cdFx0XHRcdFx0XHRsZXQgdW5pcXVlID0gWy4uLm5ldyBTZXQoY2hhcnMpXTtcclxuXHRcdFx0XHRcdFx0bGV0IFtnXSA9IGRldGVybWluZV9ncm91cCh1bmlxdWUpOyAvLyB0YWtlIHRoZSBmaXJzdCBtYXRjaFxyXG5cdFx0XHRcdFx0XHQvLyBzZWUgZGVyaXZlOiBcIk1hdGNoaW5nIEdyb3VwcyBoYXZlIFNhbWUgQ00gU3R5bGVcIlxyXG5cdFx0XHRcdFx0XHQvLyBhbHRlcm5hdGl2ZTogY291bGQgZm9ybSBhIGh5YnJpZCB0eXBlOiBMYXRpbi9KYXBhbmVzZS8uLi5cdFxyXG5cdFx0XHRcdFx0XHRjaGVja19ncm91cChnLCBjaGFycyk7IC8vIG5lZWQgdGV4dCBpbiBvcmRlclxyXG5cdFx0XHRcdFx0XHRjaGVja193aG9sZShnLCB1bmlxdWUpOyAvLyBvbmx5IG5lZWQgdW5pcXVlIHRleHQgKG9yZGVyIHdvdWxkIGJlIHJlcXVpcmVkIGZvciBtdWx0aXBsZS1jaGFyIGNvbmZ1c2FibGVzKVxyXG5cdFx0XHRcdFx0XHR0eXBlID0gZy5OO1xyXG5cdFx0XHRcdFx0XHQvLyAyMDIzMDEyMTogY29uc2lkZXIgZXhwb3NpbmcgcmVzdHJpY3RlZCBmbGFnXHJcblx0XHRcdFx0XHRcdC8vIGl0J3Mgc2ltcGxlciB0byBqdXN0IGNoZWNrIGZvciAnUmVzdHJpY3RlZCdcclxuXHRcdFx0XHRcdFx0Ly8gb3IgZXZlbiBiZXR0ZXI6IHR5cGUuZW5kc1dpdGgoJ10nKVxyXG5cdFx0XHRcdFx0XHQvL2lmIChnLlIpIGluZm8ucmVzdHJpY3RlZCA9IHRydWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdGluZm8udHlwZSA9IHR5cGU7XHJcblx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0aW5mby5lcnJvciA9IGVycjsgLy8gdXNlIGZ1bGwgZXJyb3Igb2JqZWN0XHJcblx0XHR9XHJcblx0XHRpbmZvLm91dHB1dCA9IG5vcm07XHJcblx0XHRyZXR1cm4gaW5mbztcclxuXHR9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2hlY2tfd2hvbGUoZ3JvdXAsIHVuaXF1ZSkge1xyXG5cdGxldCBtYWtlcjtcclxuXHRsZXQgc2hhcmVkID0gW107IC8vIFRPRE86IGNhbiB0aGlzIGJlIGF2b2lkZWQ/XHJcblx0Zm9yIChsZXQgY3Agb2YgdW5pcXVlKSB7XHJcblx0XHRsZXQgd2hvbGUgPSBXSE9MRV9NQVAuZ2V0KGNwKTtcclxuXHRcdGlmICh3aG9sZSA9PT0gVU5JUVVFX1BIKSByZXR1cm47IC8vIHVuaXF1ZSwgbm9uLWNvbmZ1c2FibGVcclxuXHRcdGlmICh3aG9sZSkge1xyXG5cdFx0XHRsZXQgc2V0ID0gd2hvbGUuTS5nZXQoY3ApOyAvLyBncm91cHMgd2hpY2ggaGF2ZSBhIGNoYXJhY3RlciB0aGF0IGxvb2stbGlrZSB0aGlzIGNoYXJhY3RlclxyXG5cdFx0XHRtYWtlciA9IG1ha2VyID8gbWFrZXIuZmlsdGVyKGcgPT4gc2V0LmhhcyhnKSkgOiBbLi4uc2V0XTtcclxuXHRcdFx0aWYgKCFtYWtlci5sZW5ndGgpIHJldHVybjsgLy8gY29uZnVzYWJsZSBpbnRlcnNlY3Rpb24gaXMgZW1wdHlcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHNoYXJlZC5wdXNoKGNwKTsgXHJcblx0XHR9XHJcblx0fVxyXG5cdGlmIChtYWtlcikge1xyXG5cdFx0Ly8gd2UgaGF2ZSAxKyBjb25mdXNhYmxlXHJcblx0XHQvLyBjaGVjayBpZiBhbnkgb2YgdGhlIHJlbWFuaW5nIGdyb3Vwc1xyXG5cdFx0Ly8gY29udGFpbiB0aGUgc2hhcmVkIGNoYXJhY3RlcnMgdG9vXHJcblx0XHRmb3IgKGxldCBnIG9mIG1ha2VyKSB7XHJcblx0XHRcdGlmIChzaGFyZWQuZXZlcnkoY3AgPT4gZy5WLmhhcyhjcCkpKSB7XHJcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGB3aG9sZS1zY3JpcHQgY29uZnVzYWJsZTogJHtncm91cC5OfS8ke2cuTn1gKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gYXNzdW1wdGlvbjogdW5pcXVlLnNpemUgPiAwXHJcbi8vIHJldHVybnMgbGlzdCBvZiBtYXRjaGluZyBncm91cHNcclxuZnVuY3Rpb24gZGV0ZXJtaW5lX2dyb3VwKHVuaXF1ZSkge1xyXG5cdGxldCBncm91cHMgPSBHUk9VUFM7XHJcblx0Zm9yIChsZXQgY3Agb2YgdW5pcXVlKSB7XHJcblx0XHQvLyBub3RlOiB3ZSBuZWVkIHRvIGRvZGdlIENNIHRoYXQgYXJlIHdoaXRlbGlzdGVkXHJcblx0XHQvLyBidXQgdGhhdCBjb2RlIGlzbid0IGN1cnJlbnRseSBuZWNlc3NhcnlcclxuXHRcdGxldCBncyA9IGdyb3Vwcy5maWx0ZXIoZyA9PiBnLlYuaGFzKGNwKSk7XHJcblx0XHRpZiAoIWdzLmxlbmd0aCkge1xyXG5cdFx0XHRpZiAoZ3JvdXBzID09PSBHUk9VUFMpIHtcclxuXHRcdFx0XHQvLyB0aGUgY2hhcmFjdGVyIHdhcyBjb21wb3NlZCBvZiB2YWxpZCBwYXJ0c1xyXG5cdFx0XHRcdC8vIGJ1dCBpdCdzIE5GQyBmb3JtIGlzIGludmFsaWRcclxuXHRcdFx0XHR0aHJvdyBlcnJvcl9kaXNhbGxvd2VkKGNwKTsgLy8gdGhpcyBzaG91bGQgYmUgcmFyZVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIHRoZXJlIGlzIG5vIGdyb3VwIHRoYXQgY29udGFpbnMgYWxsIHRoZXNlIGNoYXJhY3RlcnNcclxuXHRcdFx0XHQvLyB0aHJvdyB1c2luZyB0aGUgaGlnaGVzdCBwcmlvcml0eSBncm91cCB0aGF0IG1hdGNoZWRcclxuXHRcdFx0XHQvLyBodHRwczovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMzkvI21peGVkX3NjcmlwdF9jb25mdXNhYmxlc1xyXG5cdFx0XHRcdHRocm93IGVycm9yX2dyb3VwX21lbWJlcihncm91cHNbMF0sIGNwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Z3JvdXBzID0gZ3M7XHJcblx0XHRpZiAoZ3MubGVuZ3RoID09IDEpIGJyZWFrOyAvLyB0aGVyZSBpcyBvbmx5IG9uZSBncm91cCBsZWZ0XHJcblx0fVxyXG5cdC8vIHRoZXJlIGFyZSBhdCBsZWFzdCAxIGdyb3VwKHMpIHdpdGggYWxsIG9mIHRoZXNlIGNoYXJhY3RlcnNcclxuXHRyZXR1cm4gZ3JvdXBzO1xyXG59XHJcblxyXG4vLyB0aHJvdyBvbiBmaXJzdCBlcnJvclxyXG5mdW5jdGlvbiBmbGF0dGVuKHNwbGl0KSB7XHJcblx0cmV0dXJuIHNwbGl0Lm1hcCgoe2lucHV0LCBlcnJvciwgb3V0cHV0fSkgPT4ge1xyXG5cdFx0aWYgKGVycm9yKSB7XHJcblx0XHRcdC8vIGRvbid0IHByaW50IGxhYmVsIGFnYWluIGlmIGp1c3QgYSBzaW5nbGUgbGFiZWxcclxuXHRcdFx0bGV0IG1zZyA9IGVycm9yLm1lc3NhZ2U7XHJcblx0XHRcdC8vIGJpZGlfcXEoKSBvbmx5IG5lY2Vzc2FyeSBpZiBtc2cgaXMgZGlnaXRzXHJcblx0XHRcdHRocm93IG5ldyBFcnJvcihzcGxpdC5sZW5ndGggPT0gMSA/IG1zZyA6IGBJbnZhbGlkIGxhYmVsICR7YmlkaV9xcShzYWZlX3N0cl9mcm9tX2NwcyhpbnB1dCkpfTogJHttc2d9YCk7IFxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHN0cl9mcm9tX2NwcyhvdXRwdXQpO1xyXG5cdH0pLmpvaW4oU1RPUF9DSCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVycm9yX2Rpc2FsbG93ZWQoY3ApIHtcclxuXHQvLyBUT0RPOiBhZGQgY3AgdG8gZXJyb3I/XHJcblx0cmV0dXJuIG5ldyBFcnJvcihgZGlzYWxsb3dlZCBjaGFyYWN0ZXI6ICR7cXVvdGVkX2NwKGNwKX1gKTsgXHJcbn1cclxuZnVuY3Rpb24gZXJyb3JfZ3JvdXBfbWVtYmVyKGcsIGNwKSB7XHJcblx0bGV0IHF1b3RlZCA9IHF1b3RlZF9jcChjcCk7XHJcblx0bGV0IGdnID0gR1JPVVBTLmZpbmQoZyA9PiBnLlAuaGFzKGNwKSk7XHJcblx0aWYgKGdnKSB7XHJcblx0XHRxdW90ZWQgPSBgJHtnZy5OfSAke3F1b3RlZH1gO1xyXG5cdH1cclxuXHRyZXR1cm4gbmV3IEVycm9yKGBpbGxlZ2FsIG1peHR1cmU6ICR7Zy5OfSArICR7cXVvdGVkfWApO1xyXG59XHJcbmZ1bmN0aW9uIGVycm9yX3BsYWNlbWVudCh3aGVyZSkge1xyXG5cdHJldHVybiBuZXcgRXJyb3IoYGlsbGVnYWwgcGxhY2VtZW50OiAke3doZXJlfWApO1xyXG59XHJcblxyXG4vLyBhc3N1bXB0aW9uOiBjcHMubGVuZ3RoID4gMFxyXG4vLyBhc3N1bXB0aW9uOiBjcHNbMF0gaXNuJ3QgYSBDTVxyXG4vLyBhc3N1bXB0aW9uOiB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIGlzbid0IGFuIGVtb2ppXHJcbmZ1bmN0aW9uIGNoZWNrX2dyb3VwKGcsIGNwcykge1xyXG5cdGxldCB7ViwgTX0gPSBnO1xyXG5cdGZvciAobGV0IGNwIG9mIGNwcykge1xyXG5cdFx0aWYgKCFWLmhhcyhjcCkpIHtcclxuXHRcdFx0Ly8gZm9yIHdoaXRlbGlzdGVkIHNjcmlwdHMsIHRoaXMgd2lsbCB0aHJvdyBpbGxlZ2FsIG1peHR1cmUgb24gaW52YWxpZCBjbSwgZWcuIFwiZXszMDB9ezMwMH1cIlxyXG5cdFx0XHQvLyBhdCB0aGUgbW9tZW50LCBpdCdzIHVubmVjZXNzYXJ5IHRvIGludHJvZHVjZSBhbiBleHRyYSBlcnJvciB0eXBlXHJcblx0XHRcdC8vIHVudGlsIHRoZXJlIGV4aXN0cyBhIHdoaXRlbGlzdGVkIG11bHRpLWNoYXJhY3RlclxyXG5cdFx0XHQvLyAgIGVnLiBpZiAoTSA8IDAgJiYgaXNfY29tYmluaW5nX21hcmsoY3ApKSB7IC4uLiB9XHJcblx0XHRcdC8vIHRoZXJlIGFyZSAzIGNhc2VzOlxyXG5cdFx0XHQvLyAgIDEuIGlsbGVnYWwgY20gZm9yIHdyb25nIGdyb3VwID0+IG1peHR1cmUgZXJyb3JcclxuXHRcdFx0Ly8gICAyLiBpbGxlZ2FsIGNtIGZvciBzYW1lIGdyb3VwID0+IGNtIGVycm9yXHJcblx0XHRcdC8vICAgICAgIHJlcXVpcmVzIHNldCBvZiB3aGl0ZWxpc3QgY20gcGVyIGdyb3VwOiBcclxuXHRcdFx0Ly8gICAgICAgIGVnLiBuZXcgU2V0KFsuLi5nLlZdLmZsYXRNYXAobmZjKS5maWx0ZXIoY3AgPT4gQ00uaGFzKGNwKSkpXHJcblx0XHRcdC8vICAgMy4gd3JvbmcgZ3JvdXAgPT4gbWl4dHVyZSBlcnJvclxyXG5cdFx0XHR0aHJvdyBlcnJvcl9ncm91cF9tZW1iZXIoZywgY3ApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL2lmIChNID49IDApIHsgLy8gd2UgaGF2ZSBhIGtub3duIGZpeGVkIGNtIGNvdW50XHJcblx0aWYgKE0pIHsgLy8gd2UgbmVlZCB0byBjaGVjayBmb3IgTlNNXHJcblx0XHRsZXQgZGVjb21wb3NlZCA9IG5mZChjcHMpO1xyXG5cdFx0Zm9yIChsZXQgaSA9IDEsIGUgPSBkZWNvbXBvc2VkLmxlbmd0aDsgaSA8IGU7IGkrKykgeyAvLyBzZWU6IGFzc3VtcHRpb25cclxuXHRcdFx0Ly8gMjAyMzAyMTA6IGJ1Z2ZpeDogdXNpbmcgY3BzIGluc3RlYWQgb2YgZGVjb21wb3NlZCBoL3QgQ2FyYm9uMjI1XHJcblx0XHRcdC8qXHJcblx0XHRcdGlmIChDTS5oYXMoZGVjb21wb3NlZFtpXSkpIHtcclxuXHRcdFx0XHRsZXQgaiA9IGkgKyAxO1xyXG5cdFx0XHRcdHdoaWxlIChqIDwgZSAmJiBDTS5oYXMoZGVjb21wb3NlZFtqXSkpIGorKztcclxuXHRcdFx0XHRpZiAoaiAtIGkgPiBNKSB7XHJcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYHRvbyBtYW55IGNvbWJpbmluZyBtYXJrczogJHtnLk59ICR7YmlkaV9xcShzdHJfZnJvbV9jcHMoZGVjb21wb3NlZC5zbGljZShpLTEsIGopKSl9ICgke2otaX0vJHtNfSlgKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aSA9IGo7XHJcblx0XHRcdH1cclxuXHRcdFx0Ki9cclxuXHRcdFx0Ly8gMjAyMzAyMTc6IHN3aXRjaCB0byBOU00gY291bnRpbmdcclxuXHRcdFx0Ly8gaHR0cHM6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjM5LyNPcHRpb25hbF9EZXRlY3Rpb25cclxuXHRcdFx0aWYgKE5TTS5oYXMoZGVjb21wb3NlZFtpXSkpIHtcclxuXHRcdFx0XHRsZXQgaiA9IGkgKyAxO1xyXG5cdFx0XHRcdGZvciAobGV0IGNwOyBqIDwgZSAmJiBOU00uaGFzKGNwID0gZGVjb21wb3NlZFtqXSk7IGorKykge1xyXG5cdFx0XHRcdFx0Ly8gYS4gRm9yYmlkIHNlcXVlbmNlcyBvZiB0aGUgc2FtZSBub25zcGFjaW5nIG1hcmsuXHJcblx0XHRcdFx0XHRmb3IgKGxldCBrID0gaTsgayA8IGo7IGsrKykgeyAvLyBPKG5eMikgYnV0IG4gPCAxMDBcclxuXHRcdFx0XHRcdFx0aWYgKGRlY29tcG9zZWRba10gPT0gY3ApIHtcclxuXHRcdFx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYG5vbi1zcGFjaW5nIG1hcmtzOiByZXBlYXRlZCAke3F1b3RlZF9jcChjcCl9YCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gcGFyc2UgdG8gZW5kIHNvIHdlIGhhdmUgZnVsbCBuc20gY291bnRcclxuXHRcdFx0XHQvLyBiLiBGb3JiaWQgc2VxdWVuY2VzIG9mIG1vcmUgdGhhbiA0IG5vbnNwYWNpbmcgbWFya3MgKGdjPU1uIG9yIGdjPU1lKS5cclxuXHRcdFx0XHRpZiAoaiAtIGkgPiBOU01fTUFYKSB7XHJcblx0XHRcdFx0XHQvLyBub3RlOiB0aGlzIHNsaWNlIHN0YXJ0cyB3aXRoIGEgYmFzZSBjaGFyIG9yIHNwYWNpbmctbWFyayBjbVxyXG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBub24tc3BhY2luZyBtYXJrczogdG9vIG1hbnkgJHtiaWRpX3FxKHNhZmVfc3RyX2Zyb21fY3BzKGRlY29tcG9zZWQuc2xpY2UoaS0xLCBqKSkpfSAoJHtqLWl9LyR7TlNNX01BWH0pYCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGkgPSBqO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vICoqKiB0aGlzIGNvZGUgY3VycmVudGx5IGlzbid0IG5lZWRlZCAqKipcclxuXHQvKlxyXG5cdGxldCBjbV93aGl0ZWxpc3QgPSBNIGluc3RhbmNlb2YgTWFwO1xyXG5cdGZvciAobGV0IGkgPSAwLCBlID0gY3BzLmxlbmd0aDsgaSA8IGU7ICkge1xyXG5cdFx0bGV0IGNwID0gY3BzW2krK107XHJcblx0XHRsZXQgc2VxcyA9IGNtX3doaXRlbGlzdCAmJiBNLmdldChjcCk7XHJcblx0XHRpZiAoc2VxcykgeyBcclxuXHRcdFx0Ly8gbGlzdCBvZiBjb2RlcG9pbnRzIHRoYXQgY2FuIGZvbGxvd1xyXG5cdFx0XHQvLyBpZiB0aGlzIGV4aXN0cywgdGhpcyB3aWxsIGFsd2F5cyBiZSAxK1xyXG5cdFx0XHRsZXQgaiA9IGk7XHJcblx0XHRcdHdoaWxlIChqIDwgZSAmJiBDTS5oYXMoY3BzW2pdKSkgaisrO1xyXG5cdFx0XHRsZXQgY21zID0gY3BzLnNsaWNlKGksIGopO1xyXG5cdFx0XHRsZXQgbWF0Y2ggPSBzZXFzLmZpbmQoc2VxID0+ICFjb21wYXJlX2FycmF5cyhzZXEsIGNtcykpO1xyXG5cdFx0XHRpZiAoIW1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYGRpc2FsbG93ZWQgY29tYmluaW5nIG1hcmsgc2VxdWVuY2U6IFwiJHtzYWZlX3N0cl9mcm9tX2NwcyhbY3AsIC4uLmNtc10pfVwiYCk7XHJcblx0XHRcdGkgPSBqO1xyXG5cdFx0fSBlbHNlIGlmICghVi5oYXMoY3ApKSB7XHJcblx0XHRcdC8vIGh0dHBzOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzOS8jbWl4ZWRfc2NyaXB0X2NvbmZ1c2FibGVzXHJcblx0XHRcdGxldCBxdW90ZWQgPSBxdW90ZWRfY3AoY3ApO1xyXG5cdFx0XHRmb3IgKGxldCBjcCBvZiBjcHMpIHtcclxuXHRcdFx0XHRsZXQgdSA9IFVOSVFVRS5nZXQoY3ApO1xyXG5cdFx0XHRcdGlmICh1ICYmIHUgIT09IGcpIHtcclxuXHRcdFx0XHRcdC8vIGlmIGJvdGggc2NyaXB0cyBhcmUgcmVzdHJpY3RlZCB0aGlzIGVycm9yIGlzIGNvbmZ1c2luZ1xyXG5cdFx0XHRcdFx0Ly8gYmVjYXVzZSB3ZSBkb24ndCBkaWZmZXJlbnRpYXRlIFJlc3RyaWN0ZWRBIGZyb20gUmVzdHJpY3RlZEIgXHJcblx0XHRcdFx0XHRpZiAoIXUuUikgcXVvdGVkID0gYCR7cXVvdGVkfSBpcyAke3UuTn1gO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcihgZGlzYWxsb3dlZCAke2cuTn0gY2hhcmFjdGVyOiAke3F1b3RlZH1gKTtcclxuXHRcdFx0Ly90aHJvdyBuZXcgRXJyb3IoYGRpc2FsbG93ZWQgY2hhcmFjdGVyOiAke3F1b3RlZH0gKGV4cGVjdGVkICR7Zy5OfSlgKTtcclxuXHRcdFx0Ly90aHJvdyBuZXcgRXJyb3IoYCR7Zy5OfSBkb2VzIG5vdCBhbGxvdzogJHtxdW90ZWR9YCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdGlmICghY21fd2hpdGVsaXN0KSB7XHJcblx0XHRsZXQgZGVjb21wb3NlZCA9IG5mZChjcHMpO1xyXG5cdFx0Zm9yIChsZXQgaSA9IDEsIGUgPSBkZWNvbXBvc2VkLmxlbmd0aDsgaSA8IGU7IGkrKykgeyAvLyB3ZSBrbm93IGl0IGNhbid0IGJlIGNtIGxlYWRpbmdcclxuXHRcdFx0aWYgKENNLmhhcyhkZWNvbXBvc2VkW2ldKSkge1xyXG5cdFx0XHRcdGxldCBqID0gaSArIDE7XHJcblx0XHRcdFx0d2hpbGUgKGogPCBlICYmIENNLmhhcyhkZWNvbXBvc2VkW2pdKSkgaisrO1xyXG5cdFx0XHRcdGlmIChqIC0gaSA+IE0pIHtcclxuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgdG9vIG1hbnkgY29tYmluaW5nIG1hcmtzOiBcIiR7c3RyX2Zyb21fY3BzKGRlY29tcG9zZWQuc2xpY2UoaS0xLCBqKSl9XCIgKCR7ai1pfS8ke019KWApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpID0gajtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQqL1xyXG59XHJcblxyXG4vLyBnaXZlbiBhIGxpc3Qgb2YgY29kZXBvaW50c1xyXG4vLyByZXR1cm5zIGEgbGlzdCBvZiBsaXN0cywgd2hlcmUgZW1vamkgYXJlIGEgZnVsbHktcXVhbGlmaWVkIChhcyBBcnJheSBzdWJjbGFzcylcclxuLy8gZWcuIGV4cGxvZGVfY3AoXCJhYmPwn5KpZFwiKSA9PiBbWzYxLCA2MiwgNjNdLCBFbW9qaVsxRjRBOSwgRkUwRl0sIFs2NF1dXHJcbmZ1bmN0aW9uIHByb2Nlc3MoaW5wdXQsIG5mKSB7XHJcblx0bGV0IHJldCA9IFtdO1xyXG5cdGxldCBjaGFycyA9IFtdO1xyXG5cdGlucHV0ID0gaW5wdXQuc2xpY2UoKS5yZXZlcnNlKCk7IC8vIGZsaXAgc28gd2UgY2FuIHBvcFxyXG5cdHdoaWxlIChpbnB1dC5sZW5ndGgpIHtcclxuXHRcdGxldCBlbW9qaSA9IGNvbnN1bWVfZW1vamlfcmV2ZXJzZWQoaW5wdXQpO1xyXG5cdFx0aWYgKGVtb2ppKSB7XHJcblx0XHRcdGlmIChjaGFycy5sZW5ndGgpIHtcclxuXHRcdFx0XHRyZXQucHVzaChuZihjaGFycykpO1xyXG5cdFx0XHRcdGNoYXJzID0gW107XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0LnB1c2goZW1vamkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bGV0IGNwID0gaW5wdXQucG9wKCk7XHJcblx0XHRcdGlmIChWQUxJRC5oYXMoY3ApKSB7XHJcblx0XHRcdFx0Y2hhcnMucHVzaChjcCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0bGV0IGNwcyA9IE1BUFBFRC5nZXQoY3ApO1xyXG5cdFx0XHRcdGlmIChjcHMpIHtcclxuXHRcdFx0XHRcdGNoYXJzLnB1c2goLi4uY3BzKTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKCFJR05PUkVELmhhcyhjcCkpIHtcclxuXHRcdFx0XHRcdHRocm93IGVycm9yX2Rpc2FsbG93ZWQoY3ApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRpZiAoY2hhcnMubGVuZ3RoKSB7XHJcblx0XHRyZXQucHVzaChuZihjaGFycykpO1xyXG5cdH1cclxuXHRyZXR1cm4gcmV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWx0ZXJfZmUwZihjcHMpIHtcclxuXHRyZXR1cm4gY3BzLmZpbHRlcihjcCA9PiBjcCAhPSBGRTBGKTtcclxufVxyXG5cclxuLy8gZ2l2ZW4gYXJyYXkgb2YgY29kZXBvaW50c1xyXG4vLyByZXR1cm5zIHRoZSBsb25nZXN0IHZhbGlkIGVtb2ppIHNlcXVlbmNlIChvciB1bmRlZmluZWQgaWYgbm8gbWF0Y2gpXHJcbi8vICpNVVRBVEVTKiB0aGUgc3VwcGxpZWQgYXJyYXlcclxuLy8gYWxsb3dzIG9wdGlvbmFsIEZFMEZcclxuLy8gZGlzYWxsb3dzIGludGVybGVhdmVkIGlnbm9yZWQgY2hhcmFjdGVyc1xyXG4vLyBmaWxscyAob3B0aW9uYWwpIGVhdGVuIGFycmF5IHdpdGggbWF0Y2hlZCBjb2RlcG9pbnRzXHJcbmZ1bmN0aW9uIGNvbnN1bWVfZW1vamlfcmV2ZXJzZWQoY3BzLCBlYXRlbikge1xyXG5cdGxldCBub2RlID0gRU1PSklfUk9PVDtcclxuXHRsZXQgZW1vamk7XHJcblx0bGV0IHNhdmVkO1xyXG5cdGxldCBzdGFjayA9IFtdO1xyXG5cdGxldCBwb3MgPSBjcHMubGVuZ3RoO1xyXG5cdGlmIChlYXRlbikgZWF0ZW4ubGVuZ3RoID0gMDsgLy8gY2xlYXIgaW5wdXQgYnVmZmVyIChpZiBuZWVkZWQpXHJcblx0d2hpbGUgKHBvcykge1xyXG5cdFx0bGV0IGNwID0gY3BzWy0tcG9zXTtcclxuXHRcdG5vZGUgPSBub2RlLkIuZmluZCh4ID0+IHguUS5oYXMoY3ApKTtcclxuXHRcdGlmICghbm9kZSkgYnJlYWs7XHJcblx0XHRpZiAobm9kZS5TKSB7IC8vIHJlbWVtYmVyXHJcblx0XHRcdHNhdmVkID0gY3A7XHJcblx0XHR9IGVsc2UgaWYgKG5vZGUuQykgeyAvLyBjaGVjayBleGNsdXNpb25cclxuXHRcdFx0aWYgKGNwID09PSBzYXZlZCkgYnJlYWs7XHJcblx0XHR9XHJcblx0XHRzdGFjay5wdXNoKGNwKTtcclxuXHRcdGlmIChub2RlLkYpIHtcclxuXHRcdFx0c3RhY2sucHVzaChGRTBGKTtcclxuXHRcdFx0aWYgKHBvcyA+IDAgJiYgY3BzW3BvcyAtIDFdID09IEZFMEYpIHBvcy0tOyAvLyBjb25zdW1lIG9wdGlvbmFsIEZFMEZcclxuXHRcdH1cclxuXHRcdGlmIChub2RlLlYpIHsgLy8gdGhpcyBpcyBhIHZhbGlkIGVtb2ppIChzbyBmYXIpXHJcblx0XHRcdGVtb2ppID0gY29uZm9ybV9lbW9qaV9jb3B5KHN0YWNrLCBub2RlKTtcclxuXHRcdFx0aWYgKGVhdGVuKSBlYXRlbi5wdXNoKC4uLmNwcy5zbGljZShwb3MpLnJldmVyc2UoKSk7IC8vIGNvcHkgaW5wdXQgKGlmIG5lZWRlZClcclxuXHRcdFx0Y3BzLmxlbmd0aCA9IHBvczsgLy8gdHJ1bmNhdGVcclxuXHRcdH1cclxuXHR9XHJcblx0LypcclxuXHQvLyAqKiogdGhpcyBjb2RlIGN1cnJlbnRseSBpc24ndCBuZWVkZWQgKioqXHJcblx0aWYgKCFlbW9qaSkge1xyXG5cdFx0bGV0IGNwID0gY3BzW2Nwcy5sZW5ndGgtMV07XHJcblx0XHRpZiAoRU1PSklfU09MTy5oYXMoY3ApKSB7XHJcblx0XHRcdGlmIChlYXRlbikgZWF0ZW4ucHVzaChjcCk7XHJcblx0XHRcdGVtb2ppID0gRW1vamkub2YoY3ApO1xyXG5cdFx0XHRjcHMucG9wKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCovXHJcblx0cmV0dXJuIGVtb2ppO1xyXG59XHJcblxyXG4vLyBjcmVhdGUgYSBjb3B5IGFuZCBmaXggYW55IHVuaWNvZGUgcXVpcmtzXHJcbmZ1bmN0aW9uIGNvbmZvcm1fZW1vamlfY29weShjcHMsIG5vZGUpIHtcclxuXHRsZXQgY29weSA9IEVtb2ppLmZyb20oY3BzKTsgLy8gY29weSBzdGFja1xyXG5cdGlmIChub2RlLlYgPT0gMikgY29weS5zcGxpY2UoMSwgMSk7IC8vIGRlbGV0ZSBGRTBGIGF0IHBvc2l0aW9uIDEgKHNlZTogbWFrZS5qcylcclxuXHRyZXR1cm4gY29weTtcclxufVxyXG5cclxuLy8gcmV0dXJuIGFsbCBzdXBwb3J0ZWQgZW1vamkgYXMgZnVsbHktcXVhbGlmaWVkIGVtb2ppIFxyXG4vLyBvcmRlcmVkIGJ5IGxlbmd0aCB0aGVuIGxleGljb2dyYXBoaWMgXHJcbmZ1bmN0aW9uIGVuc19lbW9qaSgpIHtcclxuXHQvLyAqKiogdGhpcyBjb2RlIGN1cnJlbnRseSBpc24ndCBuZWVkZWQgKioqXHJcblx0Ly9sZXQgcmV0ID0gWy4uLkVNT0pJX1NPTE9dLm1hcCh4ID0+IFt4XSk7XHJcblx0bGV0IHJldCA9IFtdO1xyXG5cdGJ1aWxkKEVNT0pJX1JPT1QsIFtdKTtcclxuXHRyZXR1cm4gcmV0LnNvcnQoY29tcGFyZV9hcnJheXMpO1xyXG5cdGZ1bmN0aW9uIGJ1aWxkKG5vZGUsIGNwcywgc2F2ZWQpIHtcclxuXHRcdGlmIChub2RlLlMpIHsgXHJcblx0XHRcdHNhdmVkID0gY3BzW2Nwcy5sZW5ndGgtMV07XHJcblx0XHR9IGVsc2UgaWYgKG5vZGUuQykgeyBcclxuXHRcdFx0aWYgKHNhdmVkID09PSBjcHNbY3BzLmxlbmd0aC0xXSkgcmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0aWYgKG5vZGUuRikgY3BzLnB1c2goRkUwRik7XHJcblx0XHRpZiAobm9kZS5WKSByZXQucHVzaChjb25mb3JtX2Vtb2ppX2NvcHkoY3BzLCBub2RlKSk7XHJcblx0XHRmb3IgKGxldCBiciBvZiBub2RlLkIpIHtcclxuXHRcdFx0Zm9yIChsZXQgY3Agb2YgYnIuUSkge1xyXG5cdFx0XHRcdGJ1aWxkKGJyLCBbLi4uY3BzLCBjcF0sIHNhdmVkKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vIHRva2VuaXplciBcclxuXHJcbmNvbnN0IFRZX1ZBTElEID0gJ3ZhbGlkJztcclxuY29uc3QgVFlfTUFQUEVEID0gJ21hcHBlZCc7XHJcbmNvbnN0IFRZX0lHTk9SRUQgPSAnaWdub3JlZCc7XHJcbmNvbnN0IFRZX0RJU0FMTE9XRUQgPSAnZGlzYWxsb3dlZCc7XHJcbmNvbnN0IFRZX0VNT0pJID0gJ2Vtb2ppJztcclxuY29uc3QgVFlfTkZDID0gJ25mYyc7XHJcbmNvbnN0IFRZX1NUT1AgPSAnc3RvcCc7XHJcblxyXG5mdW5jdGlvbiBlbnNfdG9rZW5pemUobmFtZSwge1xyXG5cdG5mID0gdHJ1ZSwgLy8gY29sbGFwc2UgdW5ub3JtYWxpemVkIHJ1bnMgaW50byBhIHNpbmdsZSB0b2tlblxyXG59ID0ge30pIHtcclxuXHRsZXQgaW5wdXQgPSBleHBsb2RlX2NwKG5hbWUpLnJldmVyc2UoKTtcclxuXHRsZXQgZWF0ZW4gPSBbXTtcclxuXHRsZXQgdG9rZW5zID0gW107XHJcblx0d2hpbGUgKGlucHV0Lmxlbmd0aCkge1x0XHRcclxuXHRcdGxldCBlbW9qaSA9IGNvbnN1bWVfZW1vamlfcmV2ZXJzZWQoaW5wdXQsIGVhdGVuKTtcclxuXHRcdGlmIChlbW9qaSkge1xyXG5cdFx0XHR0b2tlbnMucHVzaCh7dHlwZTogVFlfRU1PSkksIGVtb2ppLCBpbnB1dDogZWF0ZW4uc2xpY2UoKSwgY3BzOiBmaWx0ZXJfZmUwZihlbW9qaSl9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGxldCBjcCA9IGlucHV0LnBvcCgpO1xyXG5cdFx0XHRpZiAoY3AgPT0gU1RPUCkge1xyXG5cdFx0XHRcdHRva2Vucy5wdXNoKHt0eXBlOiBUWV9TVE9QLCBjcH0pO1xyXG5cdFx0XHR9IGVsc2UgaWYgKFZBTElELmhhcyhjcCkpIHtcclxuXHRcdFx0XHR0b2tlbnMucHVzaCh7dHlwZTogVFlfVkFMSUQsIGNwczogW2NwXX0pO1xyXG5cdFx0XHR9IGVsc2UgaWYgKElHTk9SRUQuaGFzKGNwKSkge1xyXG5cdFx0XHRcdHRva2Vucy5wdXNoKHt0eXBlOiBUWV9JR05PUkVELCBjcH0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGxldCBjcHMgPSBNQVBQRUQuZ2V0KGNwKTtcclxuXHRcdFx0XHRpZiAoY3BzKSB7XHJcblx0XHRcdFx0XHR0b2tlbnMucHVzaCh7dHlwZTogVFlfTUFQUEVELCBjcCwgY3BzOiBjcHMuc2xpY2UoKX0pO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0b2tlbnMucHVzaCh7dHlwZTogVFlfRElTQUxMT1dFRCwgY3B9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0aWYgKG5mKSB7XHJcblx0XHRmb3IgKGxldCBpID0gMCwgc3RhcnQgPSAtMTsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRsZXQgdG9rZW4gPSB0b2tlbnNbaV07XHJcblx0XHRcdGlmIChpc192YWxpZF9vcl9tYXBwZWQodG9rZW4udHlwZSkpIHtcclxuXHRcdFx0XHRpZiAocmVxdWlyZXNfY2hlY2sodG9rZW4uY3BzKSkgeyAvLyBub3JtYWxpemF0aW9uIG1pZ2h0IGJlIG5lZWRlZFxyXG5cdFx0XHRcdFx0bGV0IGVuZCA9IGkgKyAxO1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgcG9zID0gZW5kOyBwb3MgPCB0b2tlbnMubGVuZ3RoOyBwb3MrKykgeyAvLyBmaW5kIGFkamFjZW50IHRleHRcclxuXHRcdFx0XHRcdFx0bGV0IHt0eXBlLCBjcHN9ID0gdG9rZW5zW3Bvc107XHJcblx0XHRcdFx0XHRcdGlmIChpc192YWxpZF9vcl9tYXBwZWQodHlwZSkpIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoIXJlcXVpcmVzX2NoZWNrKGNwcykpIGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdGVuZCA9IHBvcyArIDE7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAodHlwZSAhPT0gVFlfSUdOT1JFRCkgeyAvLyB8fCB0eXBlICE9PSBUWV9ESVNBTExPV0VEKSB7IFxyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAoc3RhcnQgPCAwKSBzdGFydCA9IGk7XHJcblx0XHRcdFx0XHRsZXQgc2xpY2UgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcblx0XHRcdFx0XHRsZXQgY3BzMCA9IHNsaWNlLmZsYXRNYXAoeCA9PiBpc192YWxpZF9vcl9tYXBwZWQoeC50eXBlKSA/IHguY3BzIDogW10pOyAvLyBzdHJpcCBqdW5rIHRva2Vuc1xyXG5cdFx0XHRcdFx0bGV0IGNwcyA9IG5mYyhjcHMwKTtcclxuXHRcdFx0XHRcdGlmIChjb21wYXJlX2FycmF5cyhjcHMsIGNwczApKSB7IC8vIGJ1bmRsZSBpbnRvIGFuIG5mYyB0b2tlblxyXG5cdFx0XHRcdFx0XHR0b2tlbnMuc3BsaWNlKHN0YXJ0LCBlbmQgLSBzdGFydCwge1xyXG5cdFx0XHRcdFx0XHRcdHR5cGU6IFRZX05GQywgXHJcblx0XHRcdFx0XHRcdFx0aW5wdXQ6IGNwczAsIC8vIHRoZXJlIGFyZSAzIHN0YXRlczogdG9rZW5zMCA9PShwcm9jZXNzKT0+IGlucHV0ID09KG5mYyk9PiB0b2tlbnMvY3BzXHJcblx0XHRcdFx0XHRcdFx0Y3BzLCBcclxuXHRcdFx0XHRcdFx0XHR0b2tlbnMwOiBjb2xsYXBzZV92YWxpZF90b2tlbnMoc2xpY2UpLFxyXG5cdFx0XHRcdFx0XHRcdHRva2VuczogZW5zX3Rva2VuaXplKHN0cl9mcm9tX2NwcyhjcHMpLCB7bmY6IGZhbHNlfSlcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdGkgPSBzdGFydDtcclxuXHRcdFx0XHRcdH0gZWxzZSB7IFxyXG5cdFx0XHRcdFx0XHRpID0gZW5kIC0gMTsgLy8gc2tpcCB0byBlbmQgb2Ygc2xpY2VcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHN0YXJ0ID0gLTE7IC8vIHJlc2V0XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHN0YXJ0ID0gaTsgLy8gcmVtZW1iZXIgbGFzdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGlmICh0b2tlbi50eXBlICE9PSBUWV9JR05PUkVEKSB7IC8vIDIwMjIxMDI0OiBpcyB0aGlzIGNvcnJlY3Q/XHJcblx0XHRcdFx0c3RhcnQgPSAtMTsgLy8gcmVzZXRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRyZXR1cm4gY29sbGFwc2VfdmFsaWRfdG9rZW5zKHRva2Vucyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzX3ZhbGlkX29yX21hcHBlZCh0eXBlKSB7XHJcblx0cmV0dXJuIHR5cGUgPT0gVFlfVkFMSUQgfHwgdHlwZSA9PSBUWV9NQVBQRUQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlcXVpcmVzX2NoZWNrKGNwcykge1xyXG5cdHJldHVybiBjcHMuc29tZShjcCA9PiBORkNfQ0hFQ0suaGFzKGNwKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbGxhcHNlX3ZhbGlkX3Rva2Vucyh0b2tlbnMpIHtcclxuXHRmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xyXG5cdFx0aWYgKHRva2Vuc1tpXS50eXBlID09IFRZX1ZBTElEKSB7XHJcblx0XHRcdGxldCBqID0gaSArIDE7XHJcblx0XHRcdHdoaWxlIChqIDwgdG9rZW5zLmxlbmd0aCAmJiB0b2tlbnNbal0udHlwZSA9PSBUWV9WQUxJRCkgaisrO1xyXG5cdFx0XHR0b2tlbnMuc3BsaWNlKGksIGogLSBpLCB7dHlwZTogVFlfVkFMSUQsIGNwczogdG9rZW5zLnNsaWNlKGksIGopLmZsYXRNYXAoeCA9PiB4LmNwcyl9KTtcclxuXHRcdH1cclxuXHR9XHJcblx0cmV0dXJuIHRva2VucztcclxufVxuXG5leHBvcnQgeyBlbnNfYmVhdXRpZnksIGVuc19lbW9qaSwgZW5zX25vcm1hbGl6ZSwgZW5zX25vcm1hbGl6ZV9mcmFnbWVudCwgZW5zX3NwbGl0LCBlbnNfdG9rZW5pemUsIGlzX2NvbWJpbmluZ19tYXJrLCBuZmMsIG5mZCwgc2FmZV9zdHJfZnJvbV9jcHMsIHNob3VsZF9lc2NhcGUgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@adraffy/ens-normalize/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/curves/esm/abstract/utils.js": -/*!**********************************************************!*\ - !*** ./node_modules/@noble/curves/esm/abstract/utils.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bitGet: function() { return /* binding */ bitGet; },\n/* harmony export */ bitLen: function() { return /* binding */ bitLen; },\n/* harmony export */ bitMask: function() { return /* binding */ bitMask; },\n/* harmony export */ bitSet: function() { return /* binding */ bitSet; },\n/* harmony export */ bytesToHex: function() { return /* binding */ bytesToHex; },\n/* harmony export */ bytesToNumberBE: function() { return /* binding */ bytesToNumberBE; },\n/* harmony export */ bytesToNumberLE: function() { return /* binding */ bytesToNumberLE; },\n/* harmony export */ concatBytes: function() { return /* binding */ concatBytes; },\n/* harmony export */ createHmacDrbg: function() { return /* binding */ createHmacDrbg; },\n/* harmony export */ ensureBytes: function() { return /* binding */ ensureBytes; },\n/* harmony export */ equalBytes: function() { return /* binding */ equalBytes; },\n/* harmony export */ hexToBytes: function() { return /* binding */ hexToBytes; },\n/* harmony export */ hexToNumber: function() { return /* binding */ hexToNumber; },\n/* harmony export */ numberToBytesBE: function() { return /* binding */ numberToBytesBE; },\n/* harmony export */ numberToBytesLE: function() { return /* binding */ numberToBytesLE; },\n/* harmony export */ numberToHexUnpadded: function() { return /* binding */ numberToHexUnpadded; },\n/* harmony export */ numberToVarBytesBE: function() { return /* binding */ numberToVarBytesBE; },\n/* harmony export */ utf8ToBytes: function() { return /* binding */ utf8ToBytes; },\n/* harmony export */ validateObject: function() { return /* binding */ validateObject; }\n/* harmony export */ });\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst u8a = (a) => a instanceof Uint8Array;\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\nfunction bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nfunction numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nfunction hexToNumber(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // Big Endian\n return BigInt(hex === '' ? '0' : `0x${hex}`);\n}\n// Caching slows it down 2-3x\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n if (hex.length % 2)\n throw new Error('hex string is invalid: unpadded ' + hex.length);\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// Big Endian\nfunction bytesToNumberBE(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nfunction bytesToNumberLE(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));\n}\nconst numberToBytesBE = (n, len) => hexToBytes(n.toString(16).padStart(len * 2, '0'));\nconst numberToBytesLE = (n, len) => numberToBytesBE(n, len).reverse();\n// Returns variable number bytes (minimal bigint encoding?)\nconst numberToVarBytesBE = (n) => hexToBytes(numberToHexUnpadded(n));\nfunction ensureBytes(title, hex, expectedLength) {\n let res;\n if (typeof hex === 'string') {\n try {\n res = hexToBytes(hex);\n }\n catch (e) {\n throw new Error(`${title} must be valid hex string, got \"${hex}\". Cause: ${e}`);\n }\n }\n else if (u8a(hex)) {\n // Uint8Array.from() instead of hash.slice() because node.js Buffer\n // is instance of Uint8Array, and its slice() creates **mutable** copy\n res = Uint8Array.from(hex);\n }\n else {\n throw new Error(`${title} must be hex string or Uint8Array`);\n }\n const len = res.length;\n if (typeof expectedLength === 'number' && len !== expectedLength)\n throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`);\n return res;\n}\n// Copies several Uint8Arrays into one.\nfunction concatBytes(...arrs) {\n const r = new Uint8Array(arrs.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrs.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\nfunction equalBytes(b1, b2) {\n // We don't care about timing attacks here\n if (b1.length !== b2.length)\n return false;\n for (let i = 0; i < b1.length; i++)\n if (b1[i] !== b2[i])\n return false;\n return true;\n}\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\n// Bit operations\n// Amount of bits inside bigint (Same as n.toString(2).length)\nfunction bitLen(n) {\n let len;\n for (len = 0; n > _0n; n >>= _1n, len += 1)\n ;\n return len;\n}\n// Gets single bit at position. NOTE: first bit position is 0 (same as arrays)\n// Same as !!+Array.from(n.toString(2)).reverse()[pos]\nconst bitGet = (n, pos) => (n >> BigInt(pos)) & _1n;\n// Sets single bit at position\nconst bitSet = (n, pos, value) => n | ((value ? _1n : _0n) << BigInt(pos));\n// Return mask for N bits (Same as BigInt(`0b${Array(i).fill('1').join('')}`))\n// Not using ** operator with bigints for old engines.\nconst bitMask = (n) => (_2n << BigInt(n - 1)) - _1n;\n// DRBG\nconst u8n = (data) => new Uint8Array(data); // creates Uint8Array\nconst u8fr = (arr) => Uint8Array.from(arr); // another shortcut\n/**\n * Minimal HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n * @returns function that will call DRBG until 2nd arg returns something meaningful\n * @example\n * const drbg = createHmacDRBG<Key>(32, 32, hmac);\n * drbg(seed, bytesToKey); // bytesToKey must return Key or undefined\n */\nfunction createHmacDrbg(hashLen, qByteLen, hmacFn) {\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n if (typeof hmacFn !== 'function')\n throw new Error('hmacFn must be a function');\n // Step B, Step C: set hashLen to 8*ceil(hlen/8)\n let v = u8n(hashLen); // Minimal non-full-spec HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n let k = u8n(hashLen); // Steps B and C of RFC6979 3.2: set hashLen, in our case always same\n let i = 0; // Iterations counter, will throw when over 1000\n const reset = () => {\n v.fill(1);\n k.fill(0);\n i = 0;\n };\n const h = (...b) => hmacFn(k, v, ...b); // hmac(k)(v, ...values)\n const reseed = (seed = u8n()) => {\n // HMAC-DRBG reseed() function. Steps D-G\n k = h(u8fr([0x00]), seed); // k = hmac(k || v || 0x00 || seed)\n v = h(); // v = hmac(k || v)\n if (seed.length === 0)\n return;\n k = h(u8fr([0x01]), seed); // k = hmac(k || v || 0x01 || seed)\n v = h(); // v = hmac(k || v)\n };\n const gen = () => {\n // HMAC-DRBG generate() function\n if (i++ >= 1000)\n throw new Error('drbg: tried 1000 values');\n let len = 0;\n const out = [];\n while (len < qByteLen) {\n v = h();\n const sl = v.slice();\n out.push(sl);\n len += v.length;\n }\n return concatBytes(...out);\n };\n const genUntil = (seed, pred) => {\n reset();\n reseed(seed); // Steps D-G\n let res = undefined; // Step H: grind until k is in [1..n-1]\n while (!(res = pred(gen())))\n reseed();\n reset();\n return res;\n };\n return genUntil;\n}\n// Validating curves and fields\nconst validatorFns = {\n bigint: (val) => typeof val === 'bigint',\n function: (val) => typeof val === 'function',\n boolean: (val) => typeof val === 'boolean',\n string: (val) => typeof val === 'string',\n isSafeInteger: (val) => Number.isSafeInteger(val),\n array: (val) => Array.isArray(val),\n field: (val, object) => object.Fp.isValid(val),\n hash: (val) => typeof val === 'function' && Number.isSafeInteger(val.outputLen),\n};\n// type Record<K extends string | number | symbol, T> = { [P in K]: T; }\nfunction validateObject(object, validators, optValidators = {}) {\n const checkField = (fieldName, type, isOptional) => {\n const checkVal = validatorFns[type];\n if (typeof checkVal !== 'function')\n throw new Error(`Invalid validator \"${type}\", expected function`);\n const val = object[fieldName];\n if (isOptional && val === undefined)\n return;\n if (!checkVal(val, object)) {\n throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`);\n }\n };\n for (const [fieldName, type] of Object.entries(validators))\n checkField(fieldName, type, false);\n for (const [fieldName, type] of Object.entries(optValidators))\n checkField(fieldName, type, true);\n return object;\n}\n// validate type tests\n// const o: { a: number; b: number; c: number } = { a: 1, b: 5, c: 6 };\n// const z0 = validateObject(o, { a: 'isSafeInteger' }, { c: 'bigint' }); // Ok!\n// // Should fail type-check\n// const z1 = validateObject(o, { a: 'tmp' }, { c: 'zz' });\n// const z2 = validateObject(o, { a: 'isSafeInteger' }, { c: 'zz' });\n// const z3 = validateObject(o, { test: 'boolean', z: 'bug' });\n// const z4 = validateObject(o, { a: 'boolean', z: 'bug' });\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsYUFBYTtBQUNqQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxnQ0FBZ0MsSUFBSTtBQUNwQztBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLElBQUk7QUFDOUM7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDQTtBQUNQO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixPQUFPLGlDQUFpQyxJQUFJLFlBQVksRUFBRTtBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLE9BQU87QUFDbEM7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLE9BQU8sV0FBVyxnQkFBZ0IsYUFBYSxJQUFJO0FBQzlFO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSw0REFBNEQsV0FBVztBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGtCQUFrQixTQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ087QUFDUCwrQ0FBK0MsNEJBQTRCO0FBQzNFO0FBQ087QUFDUDtBQUNBLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkMsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkMsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUNuRCw4REFBOEQ7QUFDckU7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELEtBQUs7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsa0JBQWtCLEdBQUcsS0FBSyxHQUFHLFdBQVcsY0FBYyxLQUFLO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsV0FBVyxXQUFXLFlBQVksSUFBSTtBQUNwRCxrQ0FBa0Msb0JBQW9CLElBQUksYUFBYSxHQUFHO0FBQzFFO0FBQ0Esa0NBQWtDLFVBQVUsSUFBSSxTQUFTO0FBQ3pELGtDQUFrQyxvQkFBb0IsSUFBSSxTQUFTO0FBQ25FLGtDQUFrQywyQkFBMkI7QUFDN0Qsa0NBQWtDLHdCQUF3QjtBQUMxRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2N1cnZlcy9lc20vYWJzdHJhY3QvdXRpbHMuanM/ZTEwZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ibGUtY3VydmVzIC0gTUlUIExpY2Vuc2UgKGMpIDIwMjIgUGF1bCBNaWxsZXIgKHBhdWxtaWxsci5jb20pICovXG5jb25zdCBfMG4gPSBCaWdJbnQoMCk7XG5jb25zdCBfMW4gPSBCaWdJbnQoMSk7XG5jb25zdCBfMm4gPSBCaWdJbnQoMik7XG5jb25zdCB1OGEgPSAoYSkgPT4gYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk7XG5jb25zdCBoZXhlcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDI1NiB9LCAodiwgaSkgPT4gaS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSk7XG5leHBvcnQgZnVuY3Rpb24gYnl0ZXNUb0hleChieXRlcykge1xuICAgIGlmICghdThhKGJ5dGVzKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVaW50OEFycmF5IGV4cGVjdGVkJyk7XG4gICAgLy8gcHJlLWNhY2hpbmcgaW1wcm92ZXMgdGhlIHNwZWVkIDZ4XG4gICAgbGV0IGhleCA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaGV4ICs9IGhleGVzW2J5dGVzW2ldXTtcbiAgICB9XG4gICAgcmV0dXJuIGhleDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJUb0hleFVucGFkZGVkKG51bSkge1xuICAgIGNvbnN0IGhleCA9IG51bS50b1N0cmluZygxNik7XG4gICAgcmV0dXJuIGhleC5sZW5ndGggJiAxID8gYDAke2hleH1gIDogaGV4O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhleFRvTnVtYmVyKGhleCkge1xuICAgIGlmICh0eXBlb2YgaGV4ICE9PSAnc3RyaW5nJylcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdoZXggc3RyaW5nIGV4cGVjdGVkLCBnb3QgJyArIHR5cGVvZiBoZXgpO1xuICAgIC8vIEJpZyBFbmRpYW5cbiAgICByZXR1cm4gQmlnSW50KGhleCA9PT0gJycgPyAnMCcgOiBgMHgke2hleH1gKTtcbn1cbi8vIENhY2hpbmcgc2xvd3MgaXQgZG93biAyLTN4XG5leHBvcnQgZnVuY3Rpb24gaGV4VG9CeXRlcyhoZXgpIHtcbiAgICBpZiAodHlwZW9mIGhleCAhPT0gJ3N0cmluZycpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGV4IHN0cmluZyBleHBlY3RlZCwgZ290ICcgKyB0eXBlb2YgaGV4KTtcbiAgICBpZiAoaGV4Lmxlbmd0aCAlIDIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGV4IHN0cmluZyBpcyBpbnZhbGlkOiB1bnBhZGRlZCAnICsgaGV4Lmxlbmd0aCk7XG4gICAgY29uc3QgYXJyYXkgPSBuZXcgVWludDhBcnJheShoZXgubGVuZ3RoIC8gMik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBqID0gaSAqIDI7XG4gICAgICAgIGNvbnN0IGhleEJ5dGUgPSBoZXguc2xpY2UoaiwgaiArIDIpO1xuICAgICAgICBjb25zdCBieXRlID0gTnVtYmVyLnBhcnNlSW50KGhleEJ5dGUsIDE2KTtcbiAgICAgICAgaWYgKE51bWJlci5pc05hTihieXRlKSB8fCBieXRlIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBieXRlIHNlcXVlbmNlJyk7XG4gICAgICAgIGFycmF5W2ldID0gYnl0ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xufVxuLy8gQmlnIEVuZGlhblxuZXhwb3J0IGZ1bmN0aW9uIGJ5dGVzVG9OdW1iZXJCRShieXRlcykge1xuICAgIHJldHVybiBoZXhUb051bWJlcihieXRlc1RvSGV4KGJ5dGVzKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYnl0ZXNUb051bWJlckxFKGJ5dGVzKSB7XG4gICAgaWYgKCF1OGEoYnl0ZXMpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VpbnQ4QXJyYXkgZXhwZWN0ZWQnKTtcbiAgICByZXR1cm4gaGV4VG9OdW1iZXIoYnl0ZXNUb0hleChVaW50OEFycmF5LmZyb20oYnl0ZXMpLnJldmVyc2UoKSkpO1xufVxuZXhwb3J0IGNvbnN0IG51bWJlclRvQnl0ZXNCRSA9IChuLCBsZW4pID0+IGhleFRvQnl0ZXMobi50b1N0cmluZygxNikucGFkU3RhcnQobGVuICogMiwgJzAnKSk7XG5leHBvcnQgY29uc3QgbnVtYmVyVG9CeXRlc0xFID0gKG4sIGxlbikgPT4gbnVtYmVyVG9CeXRlc0JFKG4sIGxlbikucmV2ZXJzZSgpO1xuLy8gUmV0dXJucyB2YXJpYWJsZSBudW1iZXIgYnl0ZXMgKG1pbmltYWwgYmlnaW50IGVuY29kaW5nPylcbmV4cG9ydCBjb25zdCBudW1iZXJUb1ZhckJ5dGVzQkUgPSAobikgPT4gaGV4VG9CeXRlcyhudW1iZXJUb0hleFVucGFkZGVkKG4pKTtcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVCeXRlcyh0aXRsZSwgaGV4LCBleHBlY3RlZExlbmd0aCkge1xuICAgIGxldCByZXM7XG4gICAgaWYgKHR5cGVvZiBoZXggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXMgPSBoZXhUb0J5dGVzKGhleCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aXRsZX0gbXVzdCBiZSB2YWxpZCBoZXggc3RyaW5nLCBnb3QgXCIke2hleH1cIi4gQ2F1c2U6ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh1OGEoaGV4KSkge1xuICAgICAgICAvLyBVaW50OEFycmF5LmZyb20oKSBpbnN0ZWFkIG9mIGhhc2guc2xpY2UoKSBiZWNhdXNlIG5vZGUuanMgQnVmZmVyXG4gICAgICAgIC8vIGlzIGluc3RhbmNlIG9mIFVpbnQ4QXJyYXksIGFuZCBpdHMgc2xpY2UoKSBjcmVhdGVzICoqbXV0YWJsZSoqIGNvcHlcbiAgICAgICAgcmVzID0gVWludDhBcnJheS5mcm9tKGhleCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGl0bGV9IG11c3QgYmUgaGV4IHN0cmluZyBvciBVaW50OEFycmF5YCk7XG4gICAgfVxuICAgIGNvbnN0IGxlbiA9IHJlcy5sZW5ndGg7XG4gICAgaWYgKHR5cGVvZiBleHBlY3RlZExlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuICE9PSBleHBlY3RlZExlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RpdGxlfSBleHBlY3RlZCAke2V4cGVjdGVkTGVuZ3RofSBieXRlcywgZ290ICR7bGVufWApO1xuICAgIHJldHVybiByZXM7XG59XG4vLyBDb3BpZXMgc2V2ZXJhbCBVaW50OEFycmF5cyBpbnRvIG9uZS5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRCeXRlcyguLi5hcnJzKSB7XG4gICAgY29uc3QgciA9IG5ldyBVaW50OEFycmF5KGFycnMucmVkdWNlKChzdW0sIGEpID0+IHN1bSArIGEubGVuZ3RoLCAwKSk7XG4gICAgbGV0IHBhZCA9IDA7IC8vIHdhbGsgdGhyb3VnaCBlYWNoIGl0ZW0sIGVuc3VyZSB0aGV5IGhhdmUgcHJvcGVyIHR5cGVcbiAgICBhcnJzLmZvckVhY2goKGEpID0+IHtcbiAgICAgICAgaWYgKCF1OGEoYSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VpbnQ4QXJyYXkgZXhwZWN0ZWQnKTtcbiAgICAgICAgci5zZXQoYSwgcGFkKTtcbiAgICAgICAgcGFkICs9IGEubGVuZ3RoO1xuICAgIH0pO1xuICAgIHJldHVybiByO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsQnl0ZXMoYjEsIGIyKSB7XG4gICAgLy8gV2UgZG9uJ3QgY2FyZSBhYm91dCB0aW1pbmcgYXR0YWNrcyBoZXJlXG4gICAgaWYgKGIxLmxlbmd0aCAhPT0gYjIubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBiMS5sZW5ndGg7IGkrKylcbiAgICAgICAgaWYgKGIxW2ldICE9PSBiMltpXSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1dGY4VG9CeXRlcyhzdHIpIHtcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1dGY4VG9CeXRlcyBleHBlY3RlZCBzdHJpbmcsIGdvdCAke3R5cGVvZiBzdHJ9YCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoc3RyKTtcbn1cbi8vIEJpdCBvcGVyYXRpb25zXG4vLyBBbW91bnQgb2YgYml0cyBpbnNpZGUgYmlnaW50IChTYW1lIGFzIG4udG9TdHJpbmcoMikubGVuZ3RoKVxuZXhwb3J0IGZ1bmN0aW9uIGJpdExlbihuKSB7XG4gICAgbGV0IGxlbjtcbiAgICBmb3IgKGxlbiA9IDA7IG4gPiBfMG47IG4gPj49IF8xbiwgbGVuICs9IDEpXG4gICAgICAgIDtcbiAgICByZXR1cm4gbGVuO1xufVxuLy8gR2V0cyBzaW5nbGUgYml0IGF0IHBvc2l0aW9uLiBOT1RFOiBmaXJzdCBiaXQgcG9zaXRpb24gaXMgMCAoc2FtZSBhcyBhcnJheXMpXG4vLyBTYW1lIGFzICEhK0FycmF5LmZyb20obi50b1N0cmluZygyKSkucmV2ZXJzZSgpW3Bvc11cbmV4cG9ydCBjb25zdCBiaXRHZXQgPSAobiwgcG9zKSA9PiAobiA+PiBCaWdJbnQocG9zKSkgJiBfMW47XG4vLyBTZXRzIHNpbmdsZSBiaXQgYXQgcG9zaXRpb25cbmV4cG9ydCBjb25zdCBiaXRTZXQgPSAobiwgcG9zLCB2YWx1ZSkgPT4gbiB8ICgodmFsdWUgPyBfMW4gOiBfMG4pIDw8IEJpZ0ludChwb3MpKTtcbi8vIFJldHVybiBtYXNrIGZvciBOIGJpdHMgKFNhbWUgYXMgQmlnSW50KGAwYiR7QXJyYXkoaSkuZmlsbCgnMScpLmpvaW4oJycpfWApKVxuLy8gTm90IHVzaW5nICoqIG9wZXJhdG9yIHdpdGggYmlnaW50cyBmb3Igb2xkIGVuZ2luZXMuXG5leHBvcnQgY29uc3QgYml0TWFzayA9IChuKSA9PiAoXzJuIDw8IEJpZ0ludChuIC0gMSkpIC0gXzFuO1xuLy8gRFJCR1xuY29uc3QgdThuID0gKGRhdGEpID0+IG5ldyBVaW50OEFycmF5KGRhdGEpOyAvLyBjcmVhdGVzIFVpbnQ4QXJyYXlcbmNvbnN0IHU4ZnIgPSAoYXJyKSA9PiBVaW50OEFycmF5LmZyb20oYXJyKTsgLy8gYW5vdGhlciBzaG9ydGN1dFxuLyoqXG4gKiBNaW5pbWFsIEhNQUMtRFJCRyBmcm9tIE5JU1QgODAwLTkwIGZvciBSRkM2OTc5IHNpZ3MuXG4gKiBAcmV0dXJucyBmdW5jdGlvbiB0aGF0IHdpbGwgY2FsbCBEUkJHIHVudGlsIDJuZCBhcmcgcmV0dXJucyBzb21ldGhpbmcgbWVhbmluZ2Z1bFxuICogQGV4YW1wbGVcbiAqICAgY29uc3QgZHJiZyA9IGNyZWF0ZUhtYWNEUkJHPEtleT4oMzIsIDMyLCBobWFjKTtcbiAqICAgZHJiZyhzZWVkLCBieXRlc1RvS2V5KTsgLy8gYnl0ZXNUb0tleSBtdXN0IHJldHVybiBLZXkgb3IgdW5kZWZpbmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIbWFjRHJiZyhoYXNoTGVuLCBxQnl0ZUxlbiwgaG1hY0ZuKSB7XG4gICAgaWYgKHR5cGVvZiBoYXNoTGVuICE9PSAnbnVtYmVyJyB8fCBoYXNoTGVuIDwgMilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdoYXNoTGVuIG11c3QgYmUgYSBudW1iZXInKTtcbiAgICBpZiAodHlwZW9mIHFCeXRlTGVuICE9PSAnbnVtYmVyJyB8fCBxQnl0ZUxlbiA8IDIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncUJ5dGVMZW4gbXVzdCBiZSBhIG51bWJlcicpO1xuICAgIGlmICh0eXBlb2YgaG1hY0ZuICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2htYWNGbiBtdXN0IGJlIGEgZnVuY3Rpb24nKTtcbiAgICAvLyBTdGVwIEIsIFN0ZXAgQzogc2V0IGhhc2hMZW4gdG8gOCpjZWlsKGhsZW4vOClcbiAgICBsZXQgdiA9IHU4bihoYXNoTGVuKTsgLy8gTWluaW1hbCBub24tZnVsbC1zcGVjIEhNQUMtRFJCRyBmcm9tIE5JU1QgODAwLTkwIGZvciBSRkM2OTc5IHNpZ3MuXG4gICAgbGV0IGsgPSB1OG4oaGFzaExlbik7IC8vIFN0ZXBzIEIgYW5kIEMgb2YgUkZDNjk3OSAzLjI6IHNldCBoYXNoTGVuLCBpbiBvdXIgY2FzZSBhbHdheXMgc2FtZVxuICAgIGxldCBpID0gMDsgLy8gSXRlcmF0aW9ucyBjb3VudGVyLCB3aWxsIHRocm93IHdoZW4gb3ZlciAxMDAwXG4gICAgY29uc3QgcmVzZXQgPSAoKSA9PiB7XG4gICAgICAgIHYuZmlsbCgxKTtcbiAgICAgICAgay5maWxsKDApO1xuICAgICAgICBpID0gMDtcbiAgICB9O1xuICAgIGNvbnN0IGggPSAoLi4uYikgPT4gaG1hY0ZuKGssIHYsIC4uLmIpOyAvLyBobWFjKGspKHYsIC4uLnZhbHVlcylcbiAgICBjb25zdCByZXNlZWQgPSAoc2VlZCA9IHU4bigpKSA9PiB7XG4gICAgICAgIC8vIEhNQUMtRFJCRyByZXNlZWQoKSBmdW5jdGlvbi4gU3RlcHMgRC1HXG4gICAgICAgIGsgPSBoKHU4ZnIoWzB4MDBdKSwgc2VlZCk7IC8vIGsgPSBobWFjKGsgfHwgdiB8fCAweDAwIHx8IHNlZWQpXG4gICAgICAgIHYgPSBoKCk7IC8vIHYgPSBobWFjKGsgfHwgdilcbiAgICAgICAgaWYgKHNlZWQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBrID0gaCh1OGZyKFsweDAxXSksIHNlZWQpOyAvLyBrID0gaG1hYyhrIHx8IHYgfHwgMHgwMSB8fCBzZWVkKVxuICAgICAgICB2ID0gaCgpOyAvLyB2ID0gaG1hYyhrIHx8IHYpXG4gICAgfTtcbiAgICBjb25zdCBnZW4gPSAoKSA9PiB7XG4gICAgICAgIC8vIEhNQUMtRFJCRyBnZW5lcmF0ZSgpIGZ1bmN0aW9uXG4gICAgICAgIGlmIChpKysgPj0gMTAwMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZHJiZzogdHJpZWQgMTAwMCB2YWx1ZXMnKTtcbiAgICAgICAgbGV0IGxlbiA9IDA7XG4gICAgICAgIGNvbnN0IG91dCA9IFtdO1xuICAgICAgICB3aGlsZSAobGVuIDwgcUJ5dGVMZW4pIHtcbiAgICAgICAgICAgIHYgPSBoKCk7XG4gICAgICAgICAgICBjb25zdCBzbCA9IHYuc2xpY2UoKTtcbiAgICAgICAgICAgIG91dC5wdXNoKHNsKTtcbiAgICAgICAgICAgIGxlbiArPSB2Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29uY2F0Qnl0ZXMoLi4ub3V0KTtcbiAgICB9O1xuICAgIGNvbnN0IGdlblVudGlsID0gKHNlZWQsIHByZWQpID0+IHtcbiAgICAgICAgcmVzZXQoKTtcbiAgICAgICAgcmVzZWVkKHNlZWQpOyAvLyBTdGVwcyBELUdcbiAgICAgICAgbGV0IHJlcyA9IHVuZGVmaW5lZDsgLy8gU3RlcCBIOiBncmluZCB1bnRpbCBrIGlzIGluIFsxLi5uLTFdXG4gICAgICAgIHdoaWxlICghKHJlcyA9IHByZWQoZ2VuKCkpKSlcbiAgICAgICAgICAgIHJlc2VlZCgpO1xuICAgICAgICByZXNldCgpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgcmV0dXJuIGdlblVudGlsO1xufVxuLy8gVmFsaWRhdGluZyBjdXJ2ZXMgYW5kIGZpZWxkc1xuY29uc3QgdmFsaWRhdG9yRm5zID0ge1xuICAgIGJpZ2ludDogKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcsXG4gICAgZnVuY3Rpb246ICh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicsXG4gICAgYm9vbGVhbjogKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nLFxuICAgIHN0cmluZzogKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycsXG4gICAgaXNTYWZlSW50ZWdlcjogKHZhbCkgPT4gTnVtYmVyLmlzU2FmZUludGVnZXIodmFsKSxcbiAgICBhcnJheTogKHZhbCkgPT4gQXJyYXkuaXNBcnJheSh2YWwpLFxuICAgIGZpZWxkOiAodmFsLCBvYmplY3QpID0+IG9iamVjdC5GcC5pc1ZhbGlkKHZhbCksXG4gICAgaGFzaDogKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJyAmJiBOdW1iZXIuaXNTYWZlSW50ZWdlcih2YWwub3V0cHV0TGVuKSxcbn07XG4vLyB0eXBlIFJlY29yZDxLIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLCBUPiA9IHsgW1AgaW4gS106IFQ7IH1cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU9iamVjdChvYmplY3QsIHZhbGlkYXRvcnMsIG9wdFZhbGlkYXRvcnMgPSB7fSkge1xuICAgIGNvbnN0IGNoZWNrRmllbGQgPSAoZmllbGROYW1lLCB0eXBlLCBpc09wdGlvbmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoZWNrVmFsID0gdmFsaWRhdG9yRm5zW3R5cGVdO1xuICAgICAgICBpZiAodHlwZW9mIGNoZWNrVmFsICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHZhbGlkYXRvciBcIiR7dHlwZX1cIiwgZXhwZWN0ZWQgZnVuY3Rpb25gKTtcbiAgICAgICAgY29uc3QgdmFsID0gb2JqZWN0W2ZpZWxkTmFtZV07XG4gICAgICAgIGlmIChpc09wdGlvbmFsICYmIHZhbCA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoIWNoZWNrVmFsKHZhbCwgb2JqZWN0KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcmFtICR7U3RyaW5nKGZpZWxkTmFtZSl9PSR7dmFsfSAoJHt0eXBlb2YgdmFsfSksIGV4cGVjdGVkICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9yIChjb25zdCBbZmllbGROYW1lLCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyh2YWxpZGF0b3JzKSlcbiAgICAgICAgY2hlY2tGaWVsZChmaWVsZE5hbWUsIHR5cGUsIGZhbHNlKTtcbiAgICBmb3IgKGNvbnN0IFtmaWVsZE5hbWUsIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKG9wdFZhbGlkYXRvcnMpKVxuICAgICAgICBjaGVja0ZpZWxkKGZpZWxkTmFtZSwgdHlwZSwgdHJ1ZSk7XG4gICAgcmV0dXJuIG9iamVjdDtcbn1cbi8vIHZhbGlkYXRlIHR5cGUgdGVzdHNcbi8vIGNvbnN0IG86IHsgYTogbnVtYmVyOyBiOiBudW1iZXI7IGM6IG51bWJlciB9ID0geyBhOiAxLCBiOiA1LCBjOiA2IH07XG4vLyBjb25zdCB6MCA9IHZhbGlkYXRlT2JqZWN0KG8sIHsgYTogJ2lzU2FmZUludGVnZXInIH0sIHsgYzogJ2JpZ2ludCcgfSk7IC8vIE9rIVxuLy8gLy8gU2hvdWxkIGZhaWwgdHlwZS1jaGVja1xuLy8gY29uc3QgejEgPSB2YWxpZGF0ZU9iamVjdChvLCB7IGE6ICd0bXAnIH0sIHsgYzogJ3p6JyB9KTtcbi8vIGNvbnN0IHoyID0gdmFsaWRhdGVPYmplY3QobywgeyBhOiAnaXNTYWZlSW50ZWdlcicgfSwgeyBjOiAnenonIH0pO1xuLy8gY29uc3QgejMgPSB2YWxpZGF0ZU9iamVjdChvLCB7IHRlc3Q6ICdib29sZWFuJywgejogJ2J1ZycgfSk7XG4vLyBjb25zdCB6NCA9IHZhbGlkYXRlT2JqZWN0KG8sIHsgYTogJ2Jvb2xlYW4nLCB6OiAnYnVnJyB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/curves/esm/abstract/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/_assert.js": -/*!***************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/_assert.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bool: function() { return /* binding */ bool; },\n/* harmony export */ bytes: function() { return /* binding */ bytes; },\n/* harmony export */ exists: function() { return /* binding */ exists; },\n/* harmony export */ hash: function() { return /* binding */ hash; },\n/* harmony export */ number: function() { return /* binding */ number; },\n/* harmony export */ output: function() { return /* binding */ output; }\n/* harmony export */ });\nfunction number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nfunction bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nfunction hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (assert);\n//# sourceMappingURL=_assert.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vX2Fzc2VydC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBTztBQUNQO0FBQ0EsbURBQW1ELEVBQUU7QUFDckQ7QUFDTztBQUNQO0FBQ0EsaURBQWlELEVBQUU7QUFDbkQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxRQUFRLGtCQUFrQixTQUFTO0FBQ2hHO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxpRkFBaUYsSUFBSTtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUFlLE1BQU0sRUFBQztBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vX2Fzc2VydC5qcz9mY2ZlIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBudW1iZXIobikge1xuICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIobikgfHwgbiA8IDApXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgV3JvbmcgcG9zaXRpdmUgaW50ZWdlcjogJHtufWApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJvb2woYikge1xuICAgIGlmICh0eXBlb2YgYiAhPT0gJ2Jvb2xlYW4nKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGJvb2xlYW4sIG5vdCAke2J9YCk7XG59XG5leHBvcnQgZnVuY3Rpb24gYnl0ZXMoYiwgLi4ubGVuZ3Rocykge1xuICAgIGlmICghKGIgaW5zdGFuY2VvZiBVaW50OEFycmF5KSlcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgVWludDhBcnJheScpO1xuICAgIGlmIChsZW5ndGhzLmxlbmd0aCA+IDAgJiYgIWxlbmd0aHMuaW5jbHVkZXMoYi5sZW5ndGgpKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBVaW50OEFycmF5IG9mIGxlbmd0aCAke2xlbmd0aHN9LCBub3Qgb2YgbGVuZ3RoPSR7Yi5sZW5ndGh9YCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaGFzaChoYXNoKSB7XG4gICAgaWYgKHR5cGVvZiBoYXNoICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBoYXNoLmNyZWF0ZSAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIYXNoIHNob3VsZCBiZSB3cmFwcGVkIGJ5IHV0aWxzLndyYXBDb25zdHJ1Y3RvcicpO1xuICAgIG51bWJlcihoYXNoLm91dHB1dExlbik7XG4gICAgbnVtYmVyKGhhc2guYmxvY2tMZW4pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4aXN0cyhpbnN0YW5jZSwgY2hlY2tGaW5pc2hlZCA9IHRydWUpIHtcbiAgICBpZiAoaW5zdGFuY2UuZGVzdHJveWVkKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hhc2ggaW5zdGFuY2UgaGFzIGJlZW4gZGVzdHJveWVkJyk7XG4gICAgaWYgKGNoZWNrRmluaXNoZWQgJiYgaW5zdGFuY2UuZmluaXNoZWQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSGFzaCNkaWdlc3QoKSBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZCcpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG91dHB1dChvdXQsIGluc3RhbmNlKSB7XG4gICAgYnl0ZXMob3V0KTtcbiAgICBjb25zdCBtaW4gPSBpbnN0YW5jZS5vdXRwdXRMZW47XG4gICAgaWYgKG91dC5sZW5ndGggPCBtaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBkaWdlc3RJbnRvKCkgZXhwZWN0cyBvdXRwdXQgYnVmZmVyIG9mIGxlbmd0aCBhdCBsZWFzdCAke21pbn1gKTtcbiAgICB9XG59XG5jb25zdCBhc3NlcnQgPSB7XG4gICAgbnVtYmVyLFxuICAgIGJvb2wsXG4gICAgYnl0ZXMsXG4gICAgaGFzaCxcbiAgICBleGlzdHMsXG4gICAgb3V0cHV0LFxufTtcbmV4cG9ydCBkZWZhdWx0IGFzc2VydDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPV9hc3NlcnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/_assert.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/_u64.js": -/*!************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/_u64.js ***! - \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ add: function() { return /* binding */ add; },\n/* harmony export */ fromBig: function() { return /* binding */ fromBig; },\n/* harmony export */ split: function() { return /* binding */ split; },\n/* harmony export */ toBig: function() { return /* binding */ toBig; }\n/* harmony export */ });\nconst U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h, l) => l;\nconst rotr32L = (h, l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (u64);\n//# sourceMappingURL=_u64.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vX3U2NC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDTztBQUNQO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDLGdCQUFnQixPQUFPO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxHQUFHLEVBQUM7QUFDbkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9oYXNoZXMvZXNtL191NjQuanM/MmUwOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBVMzJfTUFTSzY0ID0gQmlnSW50KDIgKiogMzIgLSAxKTtcbmNvbnN0IF8zMm4gPSBCaWdJbnQoMzIpO1xuLy8gV2UgYXJlIG5vdCB1c2luZyBCaWdVaW50NjRBcnJheSwgYmVjYXVzZSB0aGV5IGFyZSBleHRyZW1lbHkgc2xvdyBhcyBwZXIgMjAyMlxuZXhwb3J0IGZ1bmN0aW9uIGZyb21CaWcobiwgbGUgPSBmYWxzZSkge1xuICAgIGlmIChsZSlcbiAgICAgICAgcmV0dXJuIHsgaDogTnVtYmVyKG4gJiBVMzJfTUFTSzY0KSwgbDogTnVtYmVyKChuID4+IF8zMm4pICYgVTMyX01BU0s2NCkgfTtcbiAgICByZXR1cm4geyBoOiBOdW1iZXIoKG4gPj4gXzMybikgJiBVMzJfTUFTSzY0KSB8IDAsIGw6IE51bWJlcihuICYgVTMyX01BU0s2NCkgfCAwIH07XG59XG5leHBvcnQgZnVuY3Rpb24gc3BsaXQobHN0LCBsZSA9IGZhbHNlKSB7XG4gICAgbGV0IEFoID0gbmV3IFVpbnQzMkFycmF5KGxzdC5sZW5ndGgpO1xuICAgIGxldCBBbCA9IG5ldyBVaW50MzJBcnJheShsc3QubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB7IGgsIGwgfSA9IGZyb21CaWcobHN0W2ldLCBsZSk7XG4gICAgICAgIFtBaFtpXSwgQWxbaV1dID0gW2gsIGxdO1xuICAgIH1cbiAgICByZXR1cm4gW0FoLCBBbF07XG59XG5leHBvcnQgY29uc3QgdG9CaWcgPSAoaCwgbCkgPT4gKEJpZ0ludChoID4+PiAwKSA8PCBfMzJuKSB8IEJpZ0ludChsID4+PiAwKTtcbi8vIGZvciBTaGlmdCBpbiBbMCwgMzIpXG5jb25zdCBzaHJTSCA9IChoLCBsLCBzKSA9PiBoID4+PiBzO1xuY29uc3Qgc2hyU0wgPSAoaCwgbCwgcykgPT4gKGggPDwgKDMyIC0gcykpIHwgKGwgPj4+IHMpO1xuLy8gUmlnaHQgcm90YXRlIGZvciBTaGlmdCBpbiBbMSwgMzIpXG5jb25zdCByb3RyU0ggPSAoaCwgbCwgcykgPT4gKGggPj4+IHMpIHwgKGwgPDwgKDMyIC0gcykpO1xuY29uc3Qgcm90clNMID0gKGgsIGwsIHMpID0+IChoIDw8ICgzMiAtIHMpKSB8IChsID4+PiBzKTtcbi8vIFJpZ2h0IHJvdGF0ZSBmb3IgU2hpZnQgaW4gKDMyLCA2NCksIE5PVEU6IDMyIGlzIHNwZWNpYWwgY2FzZS5cbmNvbnN0IHJvdHJCSCA9IChoLCBsLCBzKSA9PiAoaCA8PCAoNjQgLSBzKSkgfCAobCA+Pj4gKHMgLSAzMikpO1xuY29uc3Qgcm90ckJMID0gKGgsIGwsIHMpID0+IChoID4+PiAocyAtIDMyKSkgfCAobCA8PCAoNjQgLSBzKSk7XG4vLyBSaWdodCByb3RhdGUgZm9yIHNoaWZ0PT09MzIgKGp1c3Qgc3dhcHMgbCZoKVxuY29uc3Qgcm90cjMySCA9IChoLCBsKSA9PiBsO1xuY29uc3Qgcm90cjMyTCA9IChoLCBsKSA9PiBoO1xuLy8gTGVmdCByb3RhdGUgZm9yIFNoaWZ0IGluIFsxLCAzMilcbmNvbnN0IHJvdGxTSCA9IChoLCBsLCBzKSA9PiAoaCA8PCBzKSB8IChsID4+PiAoMzIgLSBzKSk7XG5jb25zdCByb3RsU0wgPSAoaCwgbCwgcykgPT4gKGwgPDwgcykgfCAoaCA+Pj4gKDMyIC0gcykpO1xuLy8gTGVmdCByb3RhdGUgZm9yIFNoaWZ0IGluICgzMiwgNjQpLCBOT1RFOiAzMiBpcyBzcGVjaWFsIGNhc2UuXG5jb25zdCByb3RsQkggPSAoaCwgbCwgcykgPT4gKGwgPDwgKHMgLSAzMikpIHwgKGggPj4+ICg2NCAtIHMpKTtcbmNvbnN0IHJvdGxCTCA9IChoLCBsLCBzKSA9PiAoaCA8PCAocyAtIDMyKSkgfCAobCA+Pj4gKDY0IC0gcykpO1xuLy8gSlMgdXNlcyAzMi1iaXQgc2lnbmVkIGludGVnZXJzIGZvciBiaXR3aXNlIG9wZXJhdGlvbnMgd2hpY2ggbWVhbnMgd2UgY2Fubm90XG4vLyBzaW1wbGUgdGFrZSBjYXJyeSBvdXQgb2YgbG93IGJpdCBzdW0gYnkgc2hpZnQsIHdlIG5lZWQgdG8gdXNlIGRpdmlzaW9uLlxuLy8gUmVtb3ZpbmcgXCJleHBvcnRcIiBoYXMgNSUgcGVyZiBwZW5hbHR5IC1fLVxuZXhwb3J0IGZ1bmN0aW9uIGFkZChBaCwgQWwsIEJoLCBCbCkge1xuICAgIGNvbnN0IGwgPSAoQWwgPj4+IDApICsgKEJsID4+PiAwKTtcbiAgICByZXR1cm4geyBoOiAoQWggKyBCaCArICgobCAvIDIgKiogMzIpIHwgMCkpIHwgMCwgbDogbCB8IDAgfTtcbn1cbi8vIEFkZGl0aW9uIHdpdGggbW9yZSB0aGFuIDIgZWxlbWVudHNcbmNvbnN0IGFkZDNMID0gKEFsLCBCbCwgQ2wpID0+IChBbCA+Pj4gMCkgKyAoQmwgPj4+IDApICsgKENsID4+PiAwKTtcbmNvbnN0IGFkZDNIID0gKGxvdywgQWgsIEJoLCBDaCkgPT4gKEFoICsgQmggKyBDaCArICgobG93IC8gMiAqKiAzMikgfCAwKSkgfCAwO1xuY29uc3QgYWRkNEwgPSAoQWwsIEJsLCBDbCwgRGwpID0+IChBbCA+Pj4gMCkgKyAoQmwgPj4+IDApICsgKENsID4+PiAwKSArIChEbCA+Pj4gMCk7XG5jb25zdCBhZGQ0SCA9IChsb3csIEFoLCBCaCwgQ2gsIERoKSA9PiAoQWggKyBCaCArIENoICsgRGggKyAoKGxvdyAvIDIgKiogMzIpIHwgMCkpIHwgMDtcbmNvbnN0IGFkZDVMID0gKEFsLCBCbCwgQ2wsIERsLCBFbCkgPT4gKEFsID4+PiAwKSArIChCbCA+Pj4gMCkgKyAoQ2wgPj4+IDApICsgKERsID4+PiAwKSArIChFbCA+Pj4gMCk7XG5jb25zdCBhZGQ1SCA9IChsb3csIEFoLCBCaCwgQ2gsIERoLCBFaCkgPT4gKEFoICsgQmggKyBDaCArIERoICsgRWggKyAoKGxvdyAvIDIgKiogMzIpIHwgMCkpIHwgMDtcbi8vIHByZXR0aWVyLWlnbm9yZVxuY29uc3QgdTY0ID0ge1xuICAgIGZyb21CaWcsIHNwbGl0LCB0b0JpZyxcbiAgICBzaHJTSCwgc2hyU0wsXG4gICAgcm90clNILCByb3RyU0wsIHJvdHJCSCwgcm90ckJMLFxuICAgIHJvdHIzMkgsIHJvdHIzMkwsXG4gICAgcm90bFNILCByb3RsU0wsIHJvdGxCSCwgcm90bEJMLFxuICAgIGFkZCwgYWRkM0wsIGFkZDNILCBhZGQ0TCwgYWRkNEgsIGFkZDVILCBhZGQ1TCxcbn07XG5leHBvcnQgZGVmYXVsdCB1NjQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1fdTY0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/_u64.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/crypto.js": -/*!**************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/crypto.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ crypto: function() { return /* binding */ crypto; }\n/* harmony export */ });\nconst crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vY3J5cHRvLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Abm9ibGUvaGFzaGVzL2VzbS9jcnlwdG8uanM/MTU2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY3J5cHRvID0gdHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnICYmICdjcnlwdG8nIGluIGdsb2JhbFRoaXMgPyBnbG9iYWxUaGlzLmNyeXB0byA6IHVuZGVmaW5lZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyeXB0by5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/crypto.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/sha3.js": -/*!************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/sha3.js ***! - \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Keccak: function() { return /* binding */ Keccak; },\n/* harmony export */ keccakP: function() { return /* binding */ keccakP; },\n/* harmony export */ keccak_224: function() { return /* binding */ keccak_224; },\n/* harmony export */ keccak_256: function() { return /* binding */ keccak_256; },\n/* harmony export */ keccak_384: function() { return /* binding */ keccak_384; },\n/* harmony export */ keccak_512: function() { return /* binding */ keccak_512; },\n/* harmony export */ sha3_224: function() { return /* binding */ sha3_224; },\n/* harmony export */ sha3_256: function() { return /* binding */ sha3_256; },\n/* harmony export */ sha3_384: function() { return /* binding */ sha3_384; },\n/* harmony export */ sha3_512: function() { return /* binding */ sha3_512; },\n/* harmony export */ shake128: function() { return /* binding */ shake128; },\n/* harmony export */ shake256: function() { return /* binding */ shake256; }\n/* harmony export */ });\n/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assert.js */ \"./node_modules/@noble/hashes/esm/_assert.js\");\n/* harmony import */ var _u64_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_u64.js */ \"./node_modules/@noble/hashes/esm/_u64.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@noble/hashes/esm/utils.js\");\n\n\n\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _7n = BigInt(7);\nconst _256n = BigInt(256);\nconst _0x71n = BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = _u64_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => s > 32 ? _u64_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].rotlBH(h, l, s) : _u64_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].rotlSH(h, l, s);\nconst rotlL = (h, l, s) => s > 32 ? _u64_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].rotlBL(h, l, s) : _u64_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].rotlSL(h, l, s);\n// Same as keccakf1600, but allows to skip some rounds\nfunction keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nclass Keccak extends _utils_js__WEBPACK_IMPORTED_MODULE_2__.Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.u32)(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists(this);\n const { blockLen, state } = this;\n data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.toBytes)(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists(this, false);\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n _assert_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));\nconst sha3_224 = gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nconst sha3_256 = gen(0x06, 136, 256 / 8);\nconst sha3_384 = gen(0x06, 104, 384 / 8);\nconst sha3_512 = gen(0x06, 72, 512 / 8);\nconst keccak_224 = gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nconst keccak_256 = gen(0x01, 136, 256 / 8);\nconst keccak_384 = gen(0x01, 104, 384 / 8);\nconst keccak_512 = gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.wrapConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nconst shake128 = genShake(0x1f, 168, 128 / 8);\nconst shake256 = genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vc2hhMy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBa0M7QUFDTjtBQUMrRDtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDLFlBQVk7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsT0FBTztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMscURBQVM7QUFDNUM7QUFDQSxvQ0FBb0Msc0RBQVUsWUFBWSxzREFBVTtBQUNwRSxvQ0FBb0Msc0RBQVUsWUFBWSxzREFBVTtBQUNwRTtBQUNPO0FBQ1A7QUFDQTtBQUNBLGtDQUFrQyxZQUFZO0FBQzlDO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEM7QUFDQSx3QkFBd0IsUUFBUTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsUUFBUTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixRQUFRO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEMsNEJBQTRCLFFBQVE7QUFDcEM7QUFDQSw0QkFBNEIsUUFBUTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08scUJBQXFCLDJDQUFJO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSx5REFBYTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw4Q0FBRztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEseURBQWE7QUFDckIsZ0JBQWdCLGtCQUFrQjtBQUNsQyxlQUFlLGtEQUFPO0FBQ3RCO0FBQ0EsMEJBQTBCLFVBQVU7QUFDcEM7QUFDQSw0QkFBNEIsVUFBVTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwrQkFBK0I7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEseURBQWE7QUFDckIsUUFBUSx3REFBWTtBQUNwQjtBQUNBO0FBQ0EsZ0JBQWdCLFdBQVc7QUFDM0IsNENBQTRDLFVBQVU7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLHlEQUFhO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLFFBQVEseURBQWE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixpREFBaUQ7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QywwREFBZTtBQUNyRDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDQTtBQUNBO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ0E7QUFDQTtBQUNQLGtEQUFrRCxrRUFBdUIsV0FBVztBQUM3RTtBQUNBO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9oYXNoZXMvZXNtL3NoYTMuanM/Njk1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJy4vX2Fzc2VydC5qcyc7XG5pbXBvcnQgdTY0IGZyb20gJy4vX3U2NC5qcyc7XG5pbXBvcnQgeyBIYXNoLCB1MzIsIHRvQnl0ZXMsIHdyYXBDb25zdHJ1Y3Rvciwgd3JhcENvbnN0cnVjdG9yV2l0aE9wdHMsIH0gZnJvbSAnLi91dGlscy5qcyc7XG4vLyBWYXJpb3VzIHBlciByb3VuZCBjb25zdGFudHMgY2FsY3VsYXRpb25zXG5jb25zdCBbU0hBM19QSSwgU0hBM19ST1RMLCBfU0hBM19JT1RBXSA9IFtbXSwgW10sIFtdXTtcbmNvbnN0IF8wbiA9IEJpZ0ludCgwKTtcbmNvbnN0IF8xbiA9IEJpZ0ludCgxKTtcbmNvbnN0IF8ybiA9IEJpZ0ludCgyKTtcbmNvbnN0IF83biA9IEJpZ0ludCg3KTtcbmNvbnN0IF8yNTZuID0gQmlnSW50KDI1Nik7XG5jb25zdCBfMHg3MW4gPSBCaWdJbnQoMHg3MSk7XG5mb3IgKGxldCByb3VuZCA9IDAsIFIgPSBfMW4sIHggPSAxLCB5ID0gMDsgcm91bmQgPCAyNDsgcm91bmQrKykge1xuICAgIC8vIFBpXG4gICAgW3gsIHldID0gW3ksICgyICogeCArIDMgKiB5KSAlIDVdO1xuICAgIFNIQTNfUEkucHVzaCgyICogKDUgKiB5ICsgeCkpO1xuICAgIC8vIFJvdGF0aW9uYWxcbiAgICBTSEEzX1JPVEwucHVzaCgoKChyb3VuZCArIDEpICogKHJvdW5kICsgMikpIC8gMikgJSA2NCk7XG4gICAgLy8gSW90YVxuICAgIGxldCB0ID0gXzBuO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgNzsgaisrKSB7XG4gICAgICAgIFIgPSAoKFIgPDwgXzFuKSBeICgoUiA+PiBfN24pICogXzB4NzFuKSkgJSBfMjU2bjtcbiAgICAgICAgaWYgKFIgJiBfMm4pXG4gICAgICAgICAgICB0IF49IF8xbiA8PCAoKF8xbiA8PCBCaWdJbnQoaikpIC0gXzFuKTtcbiAgICB9XG4gICAgX1NIQTNfSU9UQS5wdXNoKHQpO1xufVxuY29uc3QgW1NIQTNfSU9UQV9ILCBTSEEzX0lPVEFfTF0gPSB1NjQuc3BsaXQoX1NIQTNfSU9UQSwgdHJ1ZSk7XG4vLyBMZWZ0IHJvdGF0aW9uICh3aXRob3V0IDAsIDMyLCA2NClcbmNvbnN0IHJvdGxIID0gKGgsIGwsIHMpID0+IHMgPiAzMiA/IHU2NC5yb3RsQkgoaCwgbCwgcykgOiB1NjQucm90bFNIKGgsIGwsIHMpO1xuY29uc3Qgcm90bEwgPSAoaCwgbCwgcykgPT4gcyA+IDMyID8gdTY0LnJvdGxCTChoLCBsLCBzKSA6IHU2NC5yb3RsU0woaCwgbCwgcyk7XG4vLyBTYW1lIGFzIGtlY2Nha2YxNjAwLCBidXQgYWxsb3dzIHRvIHNraXAgc29tZSByb3VuZHNcbmV4cG9ydCBmdW5jdGlvbiBrZWNjYWtQKHMsIHJvdW5kcyA9IDI0KSB7XG4gICAgY29uc3QgQiA9IG5ldyBVaW50MzJBcnJheSg1ICogMik7XG4gICAgLy8gTk9URTogYWxsIGluZGljZXMgYXJlIHgyIHNpbmNlIHdlIHN0b3JlIHN0YXRlIGFzIHUzMiBpbnN0ZWFkIG9mIHU2NCAoYmlnaW50cyB0byBzbG93IGluIGpzKVxuICAgIGZvciAobGV0IHJvdW5kID0gMjQgLSByb3VuZHM7IHJvdW5kIDwgMjQ7IHJvdW5kKyspIHtcbiAgICAgICAgLy8gVGhldGEgzrhcbiAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCAxMDsgeCsrKVxuICAgICAgICAgICAgQlt4XSA9IHNbeF0gXiBzW3ggKyAxMF0gXiBzW3ggKyAyMF0gXiBzW3ggKyAzMF0gXiBzW3ggKyA0MF07XG4gICAgICAgIGZvciAobGV0IHggPSAwOyB4IDwgMTA7IHggKz0gMikge1xuICAgICAgICAgICAgY29uc3QgaWR4MSA9ICh4ICsgOCkgJSAxMDtcbiAgICAgICAgICAgIGNvbnN0IGlkeDAgPSAoeCArIDIpICUgMTA7XG4gICAgICAgICAgICBjb25zdCBCMCA9IEJbaWR4MF07XG4gICAgICAgICAgICBjb25zdCBCMSA9IEJbaWR4MCArIDFdO1xuICAgICAgICAgICAgY29uc3QgVGggPSByb3RsSChCMCwgQjEsIDEpIF4gQltpZHgxXTtcbiAgICAgICAgICAgIGNvbnN0IFRsID0gcm90bEwoQjAsIEIxLCAxKSBeIEJbaWR4MSArIDFdO1xuICAgICAgICAgICAgZm9yIChsZXQgeSA9IDA7IHkgPCA1MDsgeSArPSAxMCkge1xuICAgICAgICAgICAgICAgIHNbeCArIHldIF49IFRoO1xuICAgICAgICAgICAgICAgIHNbeCArIHkgKyAxXSBePSBUbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBSaG8gKM+BKSBhbmQgUGkgKM+AKVxuICAgICAgICBsZXQgY3VySCA9IHNbMl07XG4gICAgICAgIGxldCBjdXJMID0gc1szXTtcbiAgICAgICAgZm9yIChsZXQgdCA9IDA7IHQgPCAyNDsgdCsrKSB7XG4gICAgICAgICAgICBjb25zdCBzaGlmdCA9IFNIQTNfUk9UTFt0XTtcbiAgICAgICAgICAgIGNvbnN0IFRoID0gcm90bEgoY3VySCwgY3VyTCwgc2hpZnQpO1xuICAgICAgICAgICAgY29uc3QgVGwgPSByb3RsTChjdXJILCBjdXJMLCBzaGlmdCk7XG4gICAgICAgICAgICBjb25zdCBQSSA9IFNIQTNfUElbdF07XG4gICAgICAgICAgICBjdXJIID0gc1tQSV07XG4gICAgICAgICAgICBjdXJMID0gc1tQSSArIDFdO1xuICAgICAgICAgICAgc1tQSV0gPSBUaDtcbiAgICAgICAgICAgIHNbUEkgKyAxXSA9IFRsO1xuICAgICAgICB9XG4gICAgICAgIC8vIENoaSAoz4cpXG4gICAgICAgIGZvciAobGV0IHkgPSAwOyB5IDwgNTA7IHkgKz0gMTApIHtcbiAgICAgICAgICAgIGZvciAobGV0IHggPSAwOyB4IDwgMTA7IHgrKylcbiAgICAgICAgICAgICAgICBCW3hdID0gc1t5ICsgeF07XG4gICAgICAgICAgICBmb3IgKGxldCB4ID0gMDsgeCA8IDEwOyB4KyspXG4gICAgICAgICAgICAgICAgc1t5ICsgeF0gXj0gfkJbKHggKyAyKSAlIDEwXSAmIEJbKHggKyA0KSAlIDEwXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJb3RhICjOuSlcbiAgICAgICAgc1swXSBePSBTSEEzX0lPVEFfSFtyb3VuZF07XG4gICAgICAgIHNbMV0gXj0gU0hBM19JT1RBX0xbcm91bmRdO1xuICAgIH1cbiAgICBCLmZpbGwoMCk7XG59XG5leHBvcnQgY2xhc3MgS2VjY2FrIGV4dGVuZHMgSGFzaCB7XG4gICAgLy8gTk9URTogd2UgYWNjZXB0IGFyZ3VtZW50cyBpbiBieXRlcyBpbnN0ZWFkIG9mIGJpdHMgaGVyZS5cbiAgICBjb25zdHJ1Y3RvcihibG9ja0xlbiwgc3VmZml4LCBvdXRwdXRMZW4sIGVuYWJsZVhPRiA9IGZhbHNlLCByb3VuZHMgPSAyNCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmJsb2NrTGVuID0gYmxvY2tMZW47XG4gICAgICAgIHRoaXMuc3VmZml4ID0gc3VmZml4O1xuICAgICAgICB0aGlzLm91dHB1dExlbiA9IG91dHB1dExlbjtcbiAgICAgICAgdGhpcy5lbmFibGVYT0YgPSBlbmFibGVYT0Y7XG4gICAgICAgIHRoaXMucm91bmRzID0gcm91bmRzO1xuICAgICAgICB0aGlzLnBvcyA9IDA7XG4gICAgICAgIHRoaXMucG9zT3V0ID0gMDtcbiAgICAgICAgdGhpcy5maW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlO1xuICAgICAgICAvLyBDYW4gYmUgcGFzc2VkIGZyb20gdXNlciBhcyBka0xlblxuICAgICAgICBhc3NlcnQubnVtYmVyKG91dHB1dExlbik7XG4gICAgICAgIC8vIDE2MDAgPSA1eDUgbWF0cml4IG9mIDY0Yml0LiAgMTYwMCBiaXRzID09PSAyMDAgYnl0ZXNcbiAgICAgICAgaWYgKDAgPj0gdGhpcy5ibG9ja0xlbiB8fCB0aGlzLmJsb2NrTGVuID49IDIwMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2hhMyBzdXBwb3J0cyBvbmx5IGtlY2Nhay1mMTYwMCBmdW5jdGlvbicpO1xuICAgICAgICB0aGlzLnN0YXRlID0gbmV3IFVpbnQ4QXJyYXkoMjAwKTtcbiAgICAgICAgdGhpcy5zdGF0ZTMyID0gdTMyKHRoaXMuc3RhdGUpO1xuICAgIH1cbiAgICBrZWNjYWsoKSB7XG4gICAgICAgIGtlY2Nha1AodGhpcy5zdGF0ZTMyLCB0aGlzLnJvdW5kcyk7XG4gICAgICAgIHRoaXMucG9zT3V0ID0gMDtcbiAgICAgICAgdGhpcy5wb3MgPSAwO1xuICAgIH1cbiAgICB1cGRhdGUoZGF0YSkge1xuICAgICAgICBhc3NlcnQuZXhpc3RzKHRoaXMpO1xuICAgICAgICBjb25zdCB7IGJsb2NrTGVuLCBzdGF0ZSB9ID0gdGhpcztcbiAgICAgICAgZGF0YSA9IHRvQnl0ZXMoZGF0YSk7XG4gICAgICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBwb3MgPSAwOyBwb3MgPCBsZW47KSB7XG4gICAgICAgICAgICBjb25zdCB0YWtlID0gTWF0aC5taW4oYmxvY2tMZW4gLSB0aGlzLnBvcywgbGVuIC0gcG9zKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFrZTsgaSsrKVxuICAgICAgICAgICAgICAgIHN0YXRlW3RoaXMucG9zKytdIF49IGRhdGFbcG9zKytdO1xuICAgICAgICAgICAgaWYgKHRoaXMucG9zID09PSBibG9ja0xlbilcbiAgICAgICAgICAgICAgICB0aGlzLmtlY2NhaygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBmaW5pc2goKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbmlzaGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBzdGF0ZSwgc3VmZml4LCBwb3MsIGJsb2NrTGVuIH0gPSB0aGlzO1xuICAgICAgICAvLyBEbyB0aGUgcGFkZGluZ1xuICAgICAgICBzdGF0ZVtwb3NdIF49IHN1ZmZpeDtcbiAgICAgICAgaWYgKChzdWZmaXggJiAweDgwKSAhPT0gMCAmJiBwb3MgPT09IGJsb2NrTGVuIC0gMSlcbiAgICAgICAgICAgIHRoaXMua2VjY2FrKCk7XG4gICAgICAgIHN0YXRlW2Jsb2NrTGVuIC0gMV0gXj0gMHg4MDtcbiAgICAgICAgdGhpcy5rZWNjYWsoKTtcbiAgICB9XG4gICAgd3JpdGVJbnRvKG91dCkge1xuICAgICAgICBhc3NlcnQuZXhpc3RzKHRoaXMsIGZhbHNlKTtcbiAgICAgICAgYXNzZXJ0LmJ5dGVzKG91dCk7XG4gICAgICAgIHRoaXMuZmluaXNoKCk7XG4gICAgICAgIGNvbnN0IGJ1ZmZlck91dCA9IHRoaXMuc3RhdGU7XG4gICAgICAgIGNvbnN0IHsgYmxvY2tMZW4gfSA9IHRoaXM7XG4gICAgICAgIGZvciAobGV0IHBvcyA9IDAsIGxlbiA9IG91dC5sZW5ndGg7IHBvcyA8IGxlbjspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBvc091dCA+PSBibG9ja0xlbilcbiAgICAgICAgICAgICAgICB0aGlzLmtlY2NhaygpO1xuICAgICAgICAgICAgY29uc3QgdGFrZSA9IE1hdGgubWluKGJsb2NrTGVuIC0gdGhpcy5wb3NPdXQsIGxlbiAtIHBvcyk7XG4gICAgICAgICAgICBvdXQuc2V0KGJ1ZmZlck91dC5zdWJhcnJheSh0aGlzLnBvc091dCwgdGhpcy5wb3NPdXQgKyB0YWtlKSwgcG9zKTtcbiAgICAgICAgICAgIHRoaXMucG9zT3V0ICs9IHRha2U7XG4gICAgICAgICAgICBwb3MgKz0gdGFrZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0O1xuICAgIH1cbiAgICB4b2ZJbnRvKG91dCkge1xuICAgICAgICAvLyBTaGEzL0tlY2NhayB1c2FnZSB3aXRoIFhPRiBpcyBwcm9iYWJseSBtaXN0YWtlLCBvbmx5IFNIQUtFIGluc3RhbmNlcyBjYW4gZG8gWE9GXG4gICAgICAgIGlmICghdGhpcy5lbmFibGVYT0YpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1hPRiBpcyBub3QgcG9zc2libGUgZm9yIHRoaXMgaW5zdGFuY2UnKTtcbiAgICAgICAgcmV0dXJuIHRoaXMud3JpdGVJbnRvKG91dCk7XG4gICAgfVxuICAgIHhvZihieXRlcykge1xuICAgICAgICBhc3NlcnQubnVtYmVyKGJ5dGVzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMueG9mSW50byhuZXcgVWludDhBcnJheShieXRlcykpO1xuICAgIH1cbiAgICBkaWdlc3RJbnRvKG91dCkge1xuICAgICAgICBhc3NlcnQub3V0cHV0KG91dCwgdGhpcyk7XG4gICAgICAgIGlmICh0aGlzLmZpbmlzaGVkKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkaWdlc3QoKSB3YXMgYWxyZWFkeSBjYWxsZWQnKTtcbiAgICAgICAgdGhpcy53cml0ZUludG8ob3V0KTtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuICAgIGRpZ2VzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlnZXN0SW50byhuZXcgVWludDhBcnJheSh0aGlzLm91dHB1dExlbikpO1xuICAgIH1cbiAgICBkZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RhdGUuZmlsbCgwKTtcbiAgICB9XG4gICAgX2Nsb25lSW50byh0bykge1xuICAgICAgICBjb25zdCB7IGJsb2NrTGVuLCBzdWZmaXgsIG91dHB1dExlbiwgcm91bmRzLCBlbmFibGVYT0YgfSA9IHRoaXM7XG4gICAgICAgIHRvIHx8ICh0byA9IG5ldyBLZWNjYWsoYmxvY2tMZW4sIHN1ZmZpeCwgb3V0cHV0TGVuLCBlbmFibGVYT0YsIHJvdW5kcykpO1xuICAgICAgICB0by5zdGF0ZTMyLnNldCh0aGlzLnN0YXRlMzIpO1xuICAgICAgICB0by5wb3MgPSB0aGlzLnBvcztcbiAgICAgICAgdG8ucG9zT3V0ID0gdGhpcy5wb3NPdXQ7XG4gICAgICAgIHRvLmZpbmlzaGVkID0gdGhpcy5maW5pc2hlZDtcbiAgICAgICAgdG8ucm91bmRzID0gcm91bmRzO1xuICAgICAgICAvLyBTdWZmaXggY2FuIGNoYW5nZSBpbiBjU0hBS0VcbiAgICAgICAgdG8uc3VmZml4ID0gc3VmZml4O1xuICAgICAgICB0by5vdXRwdXRMZW4gPSBvdXRwdXRMZW47XG4gICAgICAgIHRvLmVuYWJsZVhPRiA9IGVuYWJsZVhPRjtcbiAgICAgICAgdG8uZGVzdHJveWVkID0gdGhpcy5kZXN0cm95ZWQ7XG4gICAgICAgIHJldHVybiB0bztcbiAgICB9XG59XG5jb25zdCBnZW4gPSAoc3VmZml4LCBibG9ja0xlbiwgb3V0cHV0TGVuKSA9PiB3cmFwQ29uc3RydWN0b3IoKCkgPT4gbmV3IEtlY2NhayhibG9ja0xlbiwgc3VmZml4LCBvdXRwdXRMZW4pKTtcbmV4cG9ydCBjb25zdCBzaGEzXzIyNCA9IGdlbigweDA2LCAxNDQsIDIyNCAvIDgpO1xuLyoqXG4gKiBTSEEzLTI1NiBoYXNoIGZ1bmN0aW9uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIHRoYXQgd291bGQgYmUgaGFzaGVkXG4gKi9cbmV4cG9ydCBjb25zdCBzaGEzXzI1NiA9IGdlbigweDA2LCAxMzYsIDI1NiAvIDgpO1xuZXhwb3J0IGNvbnN0IHNoYTNfMzg0ID0gZ2VuKDB4MDYsIDEwNCwgMzg0IC8gOCk7XG5leHBvcnQgY29uc3Qgc2hhM181MTIgPSBnZW4oMHgwNiwgNzIsIDUxMiAvIDgpO1xuZXhwb3J0IGNvbnN0IGtlY2Nha18yMjQgPSBnZW4oMHgwMSwgMTQ0LCAyMjQgLyA4KTtcbi8qKlxuICoga2VjY2FrLTI1NiBoYXNoIGZ1bmN0aW9uLiBEaWZmZXJlbnQgZnJvbSBTSEEzLTI1Ni5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gdGhhdCB3b3VsZCBiZSBoYXNoZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGtlY2Nha18yNTYgPSBnZW4oMHgwMSwgMTM2LCAyNTYgLyA4KTtcbmV4cG9ydCBjb25zdCBrZWNjYWtfMzg0ID0gZ2VuKDB4MDEsIDEwNCwgMzg0IC8gOCk7XG5leHBvcnQgY29uc3Qga2VjY2FrXzUxMiA9IGdlbigweDAxLCA3MiwgNTEyIC8gOCk7XG5jb25zdCBnZW5TaGFrZSA9IChzdWZmaXgsIGJsb2NrTGVuLCBvdXRwdXRMZW4pID0+IHdyYXBDb25zdHJ1Y3RvcldpdGhPcHRzKChvcHRzID0ge30pID0+IG5ldyBLZWNjYWsoYmxvY2tMZW4sIHN1ZmZpeCwgb3B0cy5ka0xlbiA9PT0gdW5kZWZpbmVkID8gb3V0cHV0TGVuIDogb3B0cy5ka0xlbiwgdHJ1ZSkpO1xuZXhwb3J0IGNvbnN0IHNoYWtlMTI4ID0gZ2VuU2hha2UoMHgxZiwgMTY4LCAxMjggLyA4KTtcbmV4cG9ydCBjb25zdCBzaGFrZTI1NiA9IGdlblNoYWtlKDB4MWYsIDEzNiwgMjU2IC8gOCk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaGEzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/sha3.js\n")); - -/***/ }), - -/***/ "./node_modules/@noble/hashes/esm/utils.js": -/*!*************************************************!*\ - !*** ./node_modules/@noble/hashes/esm/utils.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hash: function() { return /* binding */ Hash; },\n/* harmony export */ asyncLoop: function() { return /* binding */ asyncLoop; },\n/* harmony export */ bytesToHex: function() { return /* binding */ bytesToHex; },\n/* harmony export */ checkOpts: function() { return /* binding */ checkOpts; },\n/* harmony export */ concatBytes: function() { return /* binding */ concatBytes; },\n/* harmony export */ createView: function() { return /* binding */ createView; },\n/* harmony export */ hexToBytes: function() { return /* binding */ hexToBytes; },\n/* harmony export */ isLE: function() { return /* binding */ isLE; },\n/* harmony export */ nextTick: function() { return /* binding */ nextTick; },\n/* harmony export */ randomBytes: function() { return /* binding */ randomBytes; },\n/* harmony export */ rotr: function() { return /* binding */ rotr; },\n/* harmony export */ toBytes: function() { return /* binding */ toBytes; },\n/* harmony export */ u32: function() { return /* binding */ u32; },\n/* harmony export */ u8: function() { return /* binding */ u8; },\n/* harmony export */ utf8ToBytes: function() { return /* binding */ utf8ToBytes; },\n/* harmony export */ wrapConstructor: function() { return /* binding */ wrapConstructor; },\n/* harmony export */ wrapConstructorWithOpts: function() { return /* binding */ wrapConstructorWithOpts; }\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/hashes/crypto */ \"./node_modules/@noble/hashes/esm/crypto.js\");\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use `globalThis.crypto`, but node.js versions earlier than v19 don't\n// declare it in global scope. For node.js, package.json#exports field mapping\n// rewrites import from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\n\n// Cast array to different type\nconst u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nconst u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nconst createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nconst rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nconst isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef])) // 'deadbeef'\n */\nfunction bytesToHex(uint8a) {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('deadbeef') // Uint8Array.from([0xde, 0xad, 0xbe, 0xef])\n */\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nconst nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nasync function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nfunction toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nfunction concatBytes(...arrays) {\n if (!arrays.every((a) => a instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n// For runtime check if class implements interface\nclass Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nfunction checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nfunction wrapConstructor(hashConstructor) {\n const hashC = (message) => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\nfunction wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `globalThis.crypto` or node.js crypto module.\n */\nfunction randomBytes(bytesLength = 32) {\n if (_noble_hashes_crypto__WEBPACK_IMPORTED_MODULE_0__.crypto && typeof _noble_hashes_crypto__WEBPACK_IMPORTED_MODULE_0__.crypto.getRandomValues === 'function') {\n return _noble_hashes_crypto__WEBPACK_IMPORTED_MODULE_0__.crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQG5vYmxlL2hhc2hlcy9lc20vdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQzhDO0FBQzlDO0FBQ087QUFDQTtBQUNQO0FBQ087QUFDUDtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDJCQUEyQixhQUFhO0FBQ3hDO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDTztBQUNQO0FBQ0Esb0JBQW9CLFdBQVc7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLGdFQUFnRSxXQUFXO0FBQzNFO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esc0VBQXNFLFlBQVk7QUFDbEY7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1AsUUFBUSx3REFBTSxXQUFXLHdEQUFNO0FBQy9CLGVBQWUsd0RBQU07QUFDckI7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0Bub2JsZS9oYXNoZXMvZXNtL3V0aWxzLmpzPzM1ZDEiXSwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vYmxlLWhhc2hlcyAtIE1JVCBMaWNlbnNlIChjKSAyMDIyIFBhdWwgTWlsbGVyIChwYXVsbWlsbHIuY29tKSAqL1xuLy8gV2UgdXNlIGBnbG9iYWxUaGlzLmNyeXB0b2AsIGJ1dCBub2RlLmpzIHZlcnNpb25zIGVhcmxpZXIgdGhhbiB2MTkgZG9uJ3Rcbi8vIGRlY2xhcmUgaXQgaW4gZ2xvYmFsIHNjb3BlLiBGb3Igbm9kZS5qcywgcGFja2FnZS5qc29uI2V4cG9ydHMgZmllbGQgbWFwcGluZ1xuLy8gcmV3cml0ZXMgaW1wb3J0IGZyb20gYGNyeXB0b2AgdG8gYGNyeXB0b05vZGVgLCB3aGljaCBpbXBvcnRzIG5hdGl2ZSBtb2R1bGUuXG4vLyBNYWtlcyB0aGUgdXRpbHMgdW4taW1wb3J0YWJsZSBpbiBicm93c2VycyB3aXRob3V0IGEgYnVuZGxlci5cbi8vIE9uY2Ugbm9kZS5qcyAxOCBpcyBkZXByZWNhdGVkLCB3ZSBjYW4ganVzdCBkcm9wIHRoZSBpbXBvcnQuXG5pbXBvcnQgeyBjcnlwdG8gfSBmcm9tICdAbm9ibGUvaGFzaGVzL2NyeXB0byc7XG4vLyBDYXN0IGFycmF5IHRvIGRpZmZlcmVudCB0eXBlXG5leHBvcnQgY29uc3QgdTggPSAoYXJyKSA9PiBuZXcgVWludDhBcnJheShhcnIuYnVmZmVyLCBhcnIuYnl0ZU9mZnNldCwgYXJyLmJ5dGVMZW5ndGgpO1xuZXhwb3J0IGNvbnN0IHUzMiA9IChhcnIpID0+IG5ldyBVaW50MzJBcnJheShhcnIuYnVmZmVyLCBhcnIuYnl0ZU9mZnNldCwgTWF0aC5mbG9vcihhcnIuYnl0ZUxlbmd0aCAvIDQpKTtcbi8vIENhc3QgYXJyYXkgdG8gdmlld1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVZpZXcgPSAoYXJyKSA9PiBuZXcgRGF0YVZpZXcoYXJyLmJ1ZmZlciwgYXJyLmJ5dGVPZmZzZXQsIGFyci5ieXRlTGVuZ3RoKTtcbi8vIFRoZSByb3RhdGUgcmlnaHQgKGNpcmN1bGFyIHJpZ2h0IHNoaWZ0KSBvcGVyYXRpb24gZm9yIHVpbnQzMlxuZXhwb3J0IGNvbnN0IHJvdHIgPSAod29yZCwgc2hpZnQpID0+ICh3b3JkIDw8ICgzMiAtIHNoaWZ0KSkgfCAod29yZCA+Pj4gc2hpZnQpO1xuLy8gYmlnLWVuZGlhbiBoYXJkd2FyZSBpcyByYXJlLiBKdXN0IGluIGNhc2Ugc29tZW9uZSBzdGlsbCBkZWNpZGVzIHRvIHJ1biBoYXNoZXM6XG4vLyBlYXJseS10aHJvdyBhbiBlcnJvciBiZWNhdXNlIHdlIGRvbid0IHN1cHBvcnQgQkUgeWV0LlxuZXhwb3J0IGNvbnN0IGlzTEUgPSBuZXcgVWludDhBcnJheShuZXcgVWludDMyQXJyYXkoWzB4MTEyMjMzNDRdKS5idWZmZXIpWzBdID09PSAweDQ0O1xuaWYgKCFpc0xFKVxuICAgIHRocm93IG5ldyBFcnJvcignTm9uIGxpdHRsZS1lbmRpYW4gaGFyZHdhcmUgaXMgbm90IHN1cHBvcnRlZCcpO1xuY29uc3QgaGV4ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNTYgfSwgKHYsIGkpID0+IGkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJykpO1xuLyoqXG4gKiBAZXhhbXBsZSBieXRlc1RvSGV4KFVpbnQ4QXJyYXkuZnJvbShbMHhkZSwgMHhhZCwgMHhiZSwgMHhlZl0pKSAvLyAnZGVhZGJlZWYnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvSGV4KHVpbnQ4YSkge1xuICAgIC8vIHByZS1jYWNoaW5nIGltcHJvdmVzIHRoZSBzcGVlZCA2eFxuICAgIGlmICghKHVpbnQ4YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VpbnQ4QXJyYXkgZXhwZWN0ZWQnKTtcbiAgICBsZXQgaGV4ID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB1aW50OGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaGV4ICs9IGhleGVzW3VpbnQ4YVtpXV07XG4gICAgfVxuICAgIHJldHVybiBoZXg7XG59XG4vKipcbiAqIEBleGFtcGxlIGhleFRvQnl0ZXMoJ2RlYWRiZWVmJykgLy8gVWludDhBcnJheS5mcm9tKFsweGRlLCAweGFkLCAweGJlLCAweGVmXSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQnl0ZXMoaGV4KSB7XG4gICAgaWYgKHR5cGVvZiBoZXggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2hleFRvQnl0ZXM6IGV4cGVjdGVkIHN0cmluZywgZ290ICcgKyB0eXBlb2YgaGV4KTtcbiAgICB9XG4gICAgaWYgKGhleC5sZW5ndGggJSAyKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hleFRvQnl0ZXM6IHJlY2VpdmVkIGludmFsaWQgdW5wYWRkZWQgaGV4Jyk7XG4gICAgY29uc3QgYXJyYXkgPSBuZXcgVWludDhBcnJheShoZXgubGVuZ3RoIC8gMik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBqID0gaSAqIDI7XG4gICAgICAgIGNvbnN0IGhleEJ5dGUgPSBoZXguc2xpY2UoaiwgaiArIDIpO1xuICAgICAgICBjb25zdCBieXRlID0gTnVtYmVyLnBhcnNlSW50KGhleEJ5dGUsIDE2KTtcbiAgICAgICAgaWYgKE51bWJlci5pc05hTihieXRlKSB8fCBieXRlIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBieXRlIHNlcXVlbmNlJyk7XG4gICAgICAgIGFycmF5W2ldID0gYnl0ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xufVxuLy8gVGhlcmUgaXMgbm8gc2V0SW1tZWRpYXRlIGluIGJyb3dzZXIgYW5kIHNldFRpbWVvdXQgaXMgc2xvdy5cbi8vIGNhbGwgb2YgYXN5bmMgZm4gd2lsbCByZXR1cm4gUHJvbWlzZSwgd2hpY2ggd2lsbCBiZSBmdWxsZmlsZWQgb25seSBvblxuLy8gbmV4dCBzY2hlZHVsZXIgcXVldWUgcHJvY2Vzc2luZyBzdGVwIGFuZCB0aGlzIGlzIGV4YWN0bHkgd2hhdCB3ZSBuZWVkLlxuZXhwb3J0IGNvbnN0IG5leHRUaWNrID0gYXN5bmMgKCkgPT4geyB9O1xuLy8gUmV0dXJucyBjb250cm9sIHRvIHRocmVhZCBlYWNoICd0aWNrJyBtcyB0byBhdm9pZCBibG9ja2luZ1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jTG9vcChpdGVycywgdGljaywgY2IpIHtcbiAgICBsZXQgdHMgPSBEYXRlLm5vdygpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykge1xuICAgICAgICBjYihpKTtcbiAgICAgICAgLy8gRGF0ZS5ub3coKSBpcyBub3QgbW9ub3RvbmljLCBzbyBpbiBjYXNlIGlmIGNsb2NrIGdvZXMgYmFja3dhcmRzIHdlIHJldHVybiByZXR1cm4gY29udHJvbCB0b29cbiAgICAgICAgY29uc3QgZGlmZiA9IERhdGUubm93KCkgLSB0cztcbiAgICAgICAgaWYgKGRpZmYgPj0gMCAmJiBkaWZmIDwgdGljaylcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBhd2FpdCBuZXh0VGljaygpO1xuICAgICAgICB0cyArPSBkaWZmO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB1dGY4VG9CeXRlcyhzdHIpIHtcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgdXRmOFRvQnl0ZXMgZXhwZWN0ZWQgc3RyaW5nLCBnb3QgJHt0eXBlb2Ygc3RyfWApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHN0cik7XG59XG5leHBvcnQgZnVuY3Rpb24gdG9CeXRlcyhkYXRhKSB7XG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJylcbiAgICAgICAgZGF0YSA9IHV0ZjhUb0J5dGVzKGRhdGEpO1xuICAgIGlmICghKGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSlcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgaW5wdXQgdHlwZSBpcyBVaW50OEFycmF5IChnb3QgJHt0eXBlb2YgZGF0YX0pYCk7XG4gICAgcmV0dXJuIGRhdGE7XG59XG4vKipcbiAqIENvbmNhdHMgVWludDhBcnJheS1zIGludG8gb25lOyBsaWtlIGBCdWZmZXIuY29uY2F0KFtidWYxLCBidWYyXSlgXG4gKiBAZXhhbXBsZSBjb25jYXRCeXRlcyhidWYxLCBidWYyKVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uY2F0Qnl0ZXMoLi4uYXJyYXlzKSB7XG4gICAgaWYgKCFhcnJheXMuZXZlcnkoKGEpID0+IGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVaW50OEFycmF5IGxpc3QgZXhwZWN0ZWQnKTtcbiAgICBpZiAoYXJyYXlzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgcmV0dXJuIGFycmF5c1swXTtcbiAgICBjb25zdCBsZW5ndGggPSBhcnJheXMucmVkdWNlKChhLCBhcnIpID0+IGEgKyBhcnIubGVuZ3RoLCAwKTtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwLCBwYWQgPSAwOyBpIDwgYXJyYXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGFyciA9IGFycmF5c1tpXTtcbiAgICAgICAgcmVzdWx0LnNldChhcnIsIHBhZCk7XG4gICAgICAgIHBhZCArPSBhcnIubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8gRm9yIHJ1bnRpbWUgY2hlY2sgaWYgY2xhc3MgaW1wbGVtZW50cyBpbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBIYXNoIHtcbiAgICAvLyBTYWZlIHZlcnNpb24gdGhhdCBjbG9uZXMgaW50ZXJuYWwgc3RhdGVcbiAgICBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nsb25lSW50bygpO1xuICAgIH1cbn1cbi8vIENoZWNrIGlmIG9iamVjdCBkb2Vucyd0IGhhdmUgY3VzdG9tIGNvbnN0cnVjdG9yIChsaWtlIFVpbnQ4QXJyYXkvQXJyYXkpXG5jb25zdCBpc1BsYWluT2JqZWN0ID0gKG9iaikgPT4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0O1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrT3B0cyhkZWZhdWx0cywgb3B0cykge1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQgJiYgKHR5cGVvZiBvcHRzICE9PSAnb2JqZWN0JyB8fCAhaXNQbGFpbk9iamVjdChvcHRzKSkpXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbnMgc2hvdWxkIGJlIG9iamVjdCBvciB1bmRlZmluZWQnKTtcbiAgICBjb25zdCBtZXJnZWQgPSBPYmplY3QuYXNzaWduKGRlZmF1bHRzLCBvcHRzKTtcbiAgICByZXR1cm4gbWVyZ2VkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBDb25zdHJ1Y3RvcihoYXNoQ29uc3RydWN0b3IpIHtcbiAgICBjb25zdCBoYXNoQyA9IChtZXNzYWdlKSA9PiBoYXNoQ29uc3RydWN0b3IoKS51cGRhdGUodG9CeXRlcyhtZXNzYWdlKSkuZGlnZXN0KCk7XG4gICAgY29uc3QgdG1wID0gaGFzaENvbnN0cnVjdG9yKCk7XG4gICAgaGFzaEMub3V0cHV0TGVuID0gdG1wLm91dHB1dExlbjtcbiAgICBoYXNoQy5ibG9ja0xlbiA9IHRtcC5ibG9ja0xlbjtcbiAgICBoYXNoQy5jcmVhdGUgPSAoKSA9PiBoYXNoQ29uc3RydWN0b3IoKTtcbiAgICByZXR1cm4gaGFzaEM7XG59XG5leHBvcnQgZnVuY3Rpb24gd3JhcENvbnN0cnVjdG9yV2l0aE9wdHMoaGFzaENvbnMpIHtcbiAgICBjb25zdCBoYXNoQyA9IChtc2csIG9wdHMpID0+IGhhc2hDb25zKG9wdHMpLnVwZGF0ZSh0b0J5dGVzKG1zZykpLmRpZ2VzdCgpO1xuICAgIGNvbnN0IHRtcCA9IGhhc2hDb25zKHt9KTtcbiAgICBoYXNoQy5vdXRwdXRMZW4gPSB0bXAub3V0cHV0TGVuO1xuICAgIGhhc2hDLmJsb2NrTGVuID0gdG1wLmJsb2NrTGVuO1xuICAgIGhhc2hDLmNyZWF0ZSA9IChvcHRzKSA9PiBoYXNoQ29ucyhvcHRzKTtcbiAgICByZXR1cm4gaGFzaEM7XG59XG4vKipcbiAqIFNlY3VyZSBQUk5HLiBVc2VzIGBnbG9iYWxUaGlzLmNyeXB0b2Agb3Igbm9kZS5qcyBjcnlwdG8gbW9kdWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tQnl0ZXMoYnl0ZXNMZW5ndGggPSAzMikge1xuICAgIGlmIChjcnlwdG8gJiYgdHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoYnl0ZXNMZW5ndGgpKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzIG11c3QgYmUgZGVmaW5lZCcpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@noble/hashes/esm/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/chunk-BSMW2B2K.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/chunk-BSMW2B2K.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ darkTheme: function() { return /* binding */ darkTheme; }\n/* harmony export */ });\n/* harmony import */ var _chunk_SWKUKXRF_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-SWKUKXRF.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-SWKUKXRF.js\");\n\"use client\";\n\n\n// src/themes/darkTheme.ts\nvar darkGrey = \"#1A1B1F\";\nvar accentColors = {\n blue: { accentColor: \"#3898FF\", accentColorForeground: \"#FFF\" },\n green: { accentColor: \"#4BD166\", accentColorForeground: darkGrey },\n orange: { accentColor: \"#FF983D\", accentColorForeground: darkGrey },\n pink: { accentColor: \"#FF7AB8\", accentColorForeground: darkGrey },\n purple: { accentColor: \"#7A70FF\", accentColorForeground: \"#FFF\" },\n red: { accentColor: \"#FF6257\", accentColorForeground: \"#FFF\" }\n};\nvar defaultAccentColor = accentColors.blue;\nvar darkTheme = ({\n accentColor = defaultAccentColor.accentColor,\n accentColorForeground = defaultAccentColor.accentColorForeground,\n ...baseThemeOptions\n} = {}) => ({\n ...(0,_chunk_SWKUKXRF_js__WEBPACK_IMPORTED_MODULE_0__.baseTheme)(baseThemeOptions),\n colors: {\n accentColor,\n accentColorForeground,\n actionButtonBorder: \"rgba(255, 255, 255, 0.04)\",\n actionButtonBorderMobile: \"rgba(255, 255, 255, 0.08)\",\n actionButtonSecondaryBackground: \"rgba(255, 255, 255, 0.08)\",\n closeButton: \"rgba(224, 232, 255, 0.6)\",\n closeButtonBackground: \"rgba(255, 255, 255, 0.08)\",\n connectButtonBackground: darkGrey,\n connectButtonBackgroundError: \"#FF494A\",\n connectButtonInnerBackground: \"linear-gradient(0deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.15))\",\n connectButtonText: \"#FFF\",\n connectButtonTextError: \"#FFF\",\n connectionIndicator: \"#30E000\",\n downloadBottomCardBackground: \"linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(120, 120, 120, 0.2) 71.04%), #1A1B1F\",\n downloadTopCardBackground: \"linear-gradient(126deg, rgba(120, 120, 120, 0.2) 9.49%, rgba(0, 0, 0, 0) 71.04%), #1A1B1F\",\n error: \"#FF494A\",\n generalBorder: \"rgba(255, 255, 255, 0.08)\",\n generalBorderDim: \"rgba(255, 255, 255, 0.04)\",\n menuItemBackground: \"rgba(224, 232, 255, 0.1)\",\n modalBackdrop: \"rgba(0, 0, 0, 0.5)\",\n modalBackground: \"#1A1B1F\",\n modalBorder: \"rgba(255, 255, 255, 0.08)\",\n modalText: \"#FFF\",\n modalTextDim: \"rgba(224, 232, 255, 0.3)\",\n modalTextSecondary: \"rgba(255, 255, 255, 0.6)\",\n profileAction: \"rgba(224, 232, 255, 0.1)\",\n profileActionHover: \"rgba(224, 232, 255, 0.2)\",\n profileForeground: \"rgba(224, 232, 255, 0.05)\",\n selectedOptionBorder: \"rgba(224, 232, 255, 0.1)\",\n standby: \"#FFD641\"\n },\n shadows: {\n connectButton: \"0px 4px 12px rgba(0, 0, 0, 0.1)\",\n dialog: \"0px 8px 32px rgba(0, 0, 0, 0.32)\",\n profileDetailsAction: \"0px 2px 6px rgba(37, 41, 46, 0.04)\",\n selectedOption: \"0px 2px 6px rgba(0, 0, 0, 0.24)\",\n selectedWallet: \"0px 2px 6px rgba(0, 0, 0, 0.24)\",\n walletLogo: \"0px 2px 16px rgba(0, 0, 0, 0.16)\"\n }\n});\ndarkTheme.accentColors = accentColors;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLUJTTVcyQjJLLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFHNkI7O0FBRTdCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsdURBQXVEO0FBQ2pFLFdBQVcseURBQXlEO0FBQ3BFLFlBQVkseURBQXlEO0FBQ3JFLFVBQVUseURBQXlEO0FBQ25FLFlBQVksdURBQXVEO0FBQ25FLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUk7QUFDTixLQUFLLDZEQUFTO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFJRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLUJTTVcyQjJLLmpzP2Y1YjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5pbXBvcnQge1xuICBiYXNlVGhlbWVcbn0gZnJvbSBcIi4vY2h1bmstU1dLVUtYUkYuanNcIjtcblxuLy8gc3JjL3RoZW1lcy9kYXJrVGhlbWUudHNcbnZhciBkYXJrR3JleSA9IFwiIzFBMUIxRlwiO1xudmFyIGFjY2VudENvbG9ycyA9IHtcbiAgYmx1ZTogeyBhY2NlbnRDb2xvcjogXCIjMzg5OEZGXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjRkZGXCIgfSxcbiAgZ3JlZW46IHsgYWNjZW50Q29sb3I6IFwiIzRCRDE2NlwiLCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IGRhcmtHcmV5IH0sXG4gIG9yYW5nZTogeyBhY2NlbnRDb2xvcjogXCIjRkY5ODNEXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogZGFya0dyZXkgfSxcbiAgcGluazogeyBhY2NlbnRDb2xvcjogXCIjRkY3QUI4XCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogZGFya0dyZXkgfSxcbiAgcHVycGxlOiB7IGFjY2VudENvbG9yOiBcIiM3QTcwRkZcIiwgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiBcIiNGRkZcIiB9LFxuICByZWQ6IHsgYWNjZW50Q29sb3I6IFwiI0ZGNjI1N1wiLCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IFwiI0ZGRlwiIH1cbn07XG52YXIgZGVmYXVsdEFjY2VudENvbG9yID0gYWNjZW50Q29sb3JzLmJsdWU7XG52YXIgZGFya1RoZW1lID0gKHtcbiAgYWNjZW50Q29sb3IgPSBkZWZhdWx0QWNjZW50Q29sb3IuYWNjZW50Q29sb3IsXG4gIGFjY2VudENvbG9yRm9yZWdyb3VuZCA9IGRlZmF1bHRBY2NlbnRDb2xvci5hY2NlbnRDb2xvckZvcmVncm91bmQsXG4gIC4uLmJhc2VUaGVtZU9wdGlvbnNcbn0gPSB7fSkgPT4gKHtcbiAgLi4uYmFzZVRoZW1lKGJhc2VUaGVtZU9wdGlvbnMpLFxuICBjb2xvcnM6IHtcbiAgICBhY2NlbnRDb2xvcixcbiAgICBhY2NlbnRDb2xvckZvcmVncm91bmQsXG4gICAgYWN0aW9uQnV0dG9uQm9yZGVyOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNClcIixcbiAgICBhY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGU6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KVwiLFxuICAgIGFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQ6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KVwiLFxuICAgIGNsb3NlQnV0dG9uOiBcInJnYmEoMjI0LCAyMzIsIDI1NSwgMC42KVwiLFxuICAgIGNsb3NlQnV0dG9uQmFja2dyb3VuZDogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpXCIsXG4gICAgY29ubmVjdEJ1dHRvbkJhY2tncm91bmQ6IGRhcmtHcmV5LFxuICAgIGNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3I6IFwiI0ZGNDk0QVwiLFxuICAgIGNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQ6IFwibGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpKVwiLFxuICAgIGNvbm5lY3RCdXR0b25UZXh0OiBcIiNGRkZcIixcbiAgICBjb25uZWN0QnV0dG9uVGV4dEVycm9yOiBcIiNGRkZcIixcbiAgICBjb25uZWN0aW9uSW5kaWNhdG9yOiBcIiMzMEUwMDBcIixcbiAgICBkb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kOiBcImxpbmVhci1ncmFkaWVudCgxMjZkZWcsIHJnYmEoMCwgMCwgMCwgMCkgOS40OSUsIHJnYmEoMTIwLCAxMjAsIDEyMCwgMC4yKSA3MS4wNCUpLCAjMUExQjFGXCIsXG4gICAgZG93bmxvYWRUb3BDYXJkQmFja2dyb3VuZDogXCJsaW5lYXItZ3JhZGllbnQoMTI2ZGVnLCByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuMikgOS40OSUsIHJnYmEoMCwgMCwgMCwgMCkgNzEuMDQlKSwgIzFBMUIxRlwiLFxuICAgIGVycm9yOiBcIiNGRjQ5NEFcIixcbiAgICBnZW5lcmFsQm9yZGVyOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOClcIixcbiAgICBnZW5lcmFsQm9yZGVyRGltOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNClcIixcbiAgICBtZW51SXRlbUJhY2tncm91bmQ6IFwicmdiYSgyMjQsIDIzMiwgMjU1LCAwLjEpXCIsXG4gICAgbW9kYWxCYWNrZHJvcDogXCJyZ2JhKDAsIDAsIDAsIDAuNSlcIixcbiAgICBtb2RhbEJhY2tncm91bmQ6IFwiIzFBMUIxRlwiLFxuICAgIG1vZGFsQm9yZGVyOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOClcIixcbiAgICBtb2RhbFRleHQ6IFwiI0ZGRlwiLFxuICAgIG1vZGFsVGV4dERpbTogXCJyZ2JhKDIyNCwgMjMyLCAyNTUsIDAuMylcIixcbiAgICBtb2RhbFRleHRTZWNvbmRhcnk6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpXCIsXG4gICAgcHJvZmlsZUFjdGlvbjogXCJyZ2JhKDIyNCwgMjMyLCAyNTUsIDAuMSlcIixcbiAgICBwcm9maWxlQWN0aW9uSG92ZXI6IFwicmdiYSgyMjQsIDIzMiwgMjU1LCAwLjIpXCIsXG4gICAgcHJvZmlsZUZvcmVncm91bmQ6IFwicmdiYSgyMjQsIDIzMiwgMjU1LCAwLjA1KVwiLFxuICAgIHNlbGVjdGVkT3B0aW9uQm9yZGVyOiBcInJnYmEoMjI0LCAyMzIsIDI1NSwgMC4xKVwiLFxuICAgIHN0YW5kYnk6IFwiI0ZGRDY0MVwiXG4gIH0sXG4gIHNoYWRvd3M6IHtcbiAgICBjb25uZWN0QnV0dG9uOiBcIjBweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSlcIixcbiAgICBkaWFsb2c6IFwiMHB4IDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4zMilcIixcbiAgICBwcm9maWxlRGV0YWlsc0FjdGlvbjogXCIwcHggMnB4IDZweCByZ2JhKDM3LCA0MSwgNDYsIDAuMDQpXCIsXG4gICAgc2VsZWN0ZWRPcHRpb246IFwiMHB4IDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjI0KVwiLFxuICAgIHNlbGVjdGVkV2FsbGV0OiBcIjBweCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yNClcIixcbiAgICB3YWxsZXRMb2dvOiBcIjBweCAycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpXCJcbiAgfVxufSk7XG5kYXJrVGhlbWUuYWNjZW50Q29sb3JzID0gYWNjZW50Q29sb3JzO1xuXG5leHBvcnQge1xuICBkYXJrVGhlbWVcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/chunk-BSMW2B2K.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConnectButton: function() { return /* binding */ ConnectButton; },\n/* harmony export */ DesktopOptions: function() { return /* binding */ DesktopOptions; },\n/* harmony export */ MobileOptions: function() { return /* binding */ MobileOptions; },\n/* harmony export */ RainbowKitAuthenticationProvider: function() { return /* binding */ RainbowKitAuthenticationProvider; },\n/* harmony export */ RainbowKitProvider: function() { return /* binding */ RainbowKitProvider; },\n/* harmony export */ createAuthenticationAdapter: function() { return /* binding */ createAuthenticationAdapter; },\n/* harmony export */ cssObjectFromTheme: function() { return /* binding */ cssObjectFromTheme; },\n/* harmony export */ cssStringFromTheme: function() { return /* binding */ cssStringFromTheme; },\n/* harmony export */ dialogContent: function() { return /* binding */ dialogContent; },\n/* harmony export */ dialogContentMobile: function() { return /* binding */ dialogContentMobile; },\n/* harmony export */ isAndroid: function() { return /* binding */ isAndroid; },\n/* harmony export */ isHexString: function() { return /* binding */ isHexString; },\n/* harmony export */ isIOS: function() { return /* binding */ isIOS; },\n/* harmony export */ isMobile: function() { return /* binding */ isMobile; },\n/* harmony export */ useAccountModal: function() { return /* binding */ useAccountModal; },\n/* harmony export */ useChainId: function() { return /* binding */ useChainId; },\n/* harmony export */ useChainModal: function() { return /* binding */ useChainModal; },\n/* harmony export */ useConnectModal: function() { return /* binding */ useConnectModal; },\n/* harmony export */ useTransactionStore: function() { return /* binding */ useTransactionStore; }\n/* harmony export */ });\n/* harmony import */ var _chunk_Q4HVINFA_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./chunk-Q4HVINFA.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-Q4HVINFA.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _vanilla_extract_sprinkles_createUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vanilla-extract/sprinkles/createUtils */ \"./node_modules/@vanilla-extract/sprinkles/createUtils/dist/vanilla-extract-sprinkles-createUtils.esm.js\");\n/* harmony import */ var _vanilla_extract_sprinkles_createRuntimeSprinkles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vanilla-extract/sprinkles/createRuntimeSprinkles */ \"./node_modules/@vanilla-extract/sprinkles/createRuntimeSprinkles/dist/vanilla-extract-sprinkles-createRuntimeSprinkles.esm.js\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! wagmi */ \"./node_modules/wagmi/dist/index.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/chains */ \"./node_modules/wagmi/dist/chains.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var react_remove_scroll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-remove-scroll */ \"./node_modules/react-remove-scroll/dist/es2015/index.js\");\n/* harmony import */ var _vanilla_extract_dynamic__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vanilla-extract/dynamic */ \"./node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n/* harmony import */ var qrcode__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! qrcode */ \"./node_modules/@rainbow-me/rainbowkit/node_modules/qrcode/lib/browser.js\");\n\"use client\";\n\n\n// src/components/ConnectButton/ConnectButton.tsx\n\n\n// src/css/sprinkles.css.ts\n\n\n\nvar largeScreenMinWidth = 768;\nvar mapResponsiveValue = (0,_vanilla_extract_sprinkles_createUtils__WEBPACK_IMPORTED_MODULE_1__.createMapValueFn)({ conditions: { defaultCondition: \"smallScreen\", conditionNames: [\"smallScreen\", \"largeScreen\"], responsiveArray: void 0 } });\nvar normalizeResponsiveValue = (0,_vanilla_extract_sprinkles_createUtils__WEBPACK_IMPORTED_MODULE_1__.createNormalizeValueFn)({ conditions: { defaultCondition: \"smallScreen\", conditionNames: [\"smallScreen\", \"largeScreen\"], responsiveArray: void 0 } });\nvar sprinkles = (0,_vanilla_extract_sprinkles_createRuntimeSprinkles__WEBPACK_IMPORTED_MODULE_2__.createSprinkles)({ conditions: { defaultCondition: \"base\", conditionNames: [\"base\", \"hover\", \"active\"], responsiveArray: void 0 }, styles: { background: { values: { accentColor: { conditions: { base: \"ju367v9c\", hover: \"ju367v9d\", active: \"ju367v9e\" }, defaultClass: \"ju367v9c\" }, accentColorForeground: { conditions: { base: \"ju367v9f\", hover: \"ju367v9g\", active: \"ju367v9h\" }, defaultClass: \"ju367v9f\" }, actionButtonBorder: { conditions: { base: \"ju367v9i\", hover: \"ju367v9j\", active: \"ju367v9k\" }, defaultClass: \"ju367v9i\" }, actionButtonBorderMobile: { conditions: { base: \"ju367v9l\", hover: \"ju367v9m\", active: \"ju367v9n\" }, defaultClass: \"ju367v9l\" }, actionButtonSecondaryBackground: { conditions: { base: \"ju367v9o\", hover: \"ju367v9p\", active: \"ju367v9q\" }, defaultClass: \"ju367v9o\" }, closeButton: { conditions: { base: \"ju367v9r\", hover: \"ju367v9s\", active: \"ju367v9t\" }, defaultClass: \"ju367v9r\" }, closeButtonBackground: { conditions: { base: \"ju367v9u\", hover: \"ju367v9v\", active: \"ju367v9w\" }, defaultClass: \"ju367v9u\" }, connectButtonBackground: { conditions: { base: \"ju367v9x\", hover: \"ju367v9y\", active: \"ju367v9z\" }, defaultClass: \"ju367v9x\" }, connectButtonBackgroundError: { conditions: { base: \"ju367va0\", hover: \"ju367va1\", active: \"ju367va2\" }, defaultClass: \"ju367va0\" }, connectButtonInnerBackground: { conditions: { base: \"ju367va3\", hover: \"ju367va4\", active: \"ju367va5\" }, defaultClass: \"ju367va3\" }, connectButtonText: { conditions: { base: \"ju367va6\", hover: \"ju367va7\", active: \"ju367va8\" }, defaultClass: \"ju367va6\" }, connectButtonTextError: { conditions: { base: \"ju367va9\", hover: \"ju367vaa\", active: \"ju367vab\" }, defaultClass: \"ju367va9\" }, connectionIndicator: { conditions: { base: \"ju367vac\", hover: \"ju367vad\", active: \"ju367vae\" }, defaultClass: \"ju367vac\" }, downloadBottomCardBackground: { conditions: { base: \"ju367vaf\", hover: \"ju367vag\", active: \"ju367vah\" }, defaultClass: \"ju367vaf\" }, downloadTopCardBackground: { conditions: { base: \"ju367vai\", hover: \"ju367vaj\", active: \"ju367vak\" }, defaultClass: \"ju367vai\" }, error: { conditions: { base: \"ju367val\", hover: \"ju367vam\", active: \"ju367van\" }, defaultClass: \"ju367val\" }, generalBorder: { conditions: { base: \"ju367vao\", hover: \"ju367vap\", active: \"ju367vaq\" }, defaultClass: \"ju367vao\" }, generalBorderDim: { conditions: { base: \"ju367var\", hover: \"ju367vas\", active: \"ju367vat\" }, defaultClass: \"ju367var\" }, menuItemBackground: { conditions: { base: \"ju367vau\", hover: \"ju367vav\", active: \"ju367vaw\" }, defaultClass: \"ju367vau\" }, modalBackdrop: { conditions: { base: \"ju367vax\", hover: \"ju367vay\", active: \"ju367vaz\" }, defaultClass: \"ju367vax\" }, modalBackground: { conditions: { base: \"ju367vb0\", hover: \"ju367vb1\", active: \"ju367vb2\" }, defaultClass: \"ju367vb0\" }, modalBorder: { conditions: { base: \"ju367vb3\", hover: \"ju367vb4\", active: \"ju367vb5\" }, defaultClass: \"ju367vb3\" }, modalText: { conditions: { base: \"ju367vb6\", hover: \"ju367vb7\", active: \"ju367vb8\" }, defaultClass: \"ju367vb6\" }, modalTextDim: { conditions: { base: \"ju367vb9\", hover: \"ju367vba\", active: \"ju367vbb\" }, defaultClass: \"ju367vb9\" }, modalTextSecondary: { conditions: { base: \"ju367vbc\", hover: \"ju367vbd\", active: \"ju367vbe\" }, defaultClass: \"ju367vbc\" }, profileAction: { conditions: { base: \"ju367vbf\", hover: \"ju367vbg\", active: \"ju367vbh\" }, defaultClass: \"ju367vbf\" }, profileActionHover: { conditions: { base: \"ju367vbi\", hover: \"ju367vbj\", active: \"ju367vbk\" }, defaultClass: \"ju367vbi\" }, profileForeground: { conditions: { base: \"ju367vbl\", hover: \"ju367vbm\", active: \"ju367vbn\" }, defaultClass: \"ju367vbl\" }, selectedOptionBorder: { conditions: { base: \"ju367vbo\", hover: \"ju367vbp\", active: \"ju367vbq\" }, defaultClass: \"ju367vbo\" }, standby: { conditions: { base: \"ju367vbr\", hover: \"ju367vbs\", active: \"ju367vbt\" }, defaultClass: \"ju367vbr\" } } }, borderColor: { values: { accentColor: { conditions: { base: \"ju367vbu\", hover: \"ju367vbv\", active: \"ju367vbw\" }, defaultClass: \"ju367vbu\" }, accentColorForeground: { conditions: { base: \"ju367vbx\", hover: \"ju367vby\", active: \"ju367vbz\" }, defaultClass: \"ju367vbx\" }, actionButtonBorder: { conditions: { base: \"ju367vc0\", hover: \"ju367vc1\", active: \"ju367vc2\" }, defaultClass: \"ju367vc0\" }, actionButtonBorderMobile: { conditions: { base: \"ju367vc3\", hover: \"ju367vc4\", active: \"ju367vc5\" }, defaultClass: \"ju367vc3\" }, actionButtonSecondaryBackground: { conditions: { base: \"ju367vc6\", hover: \"ju367vc7\", active: \"ju367vc8\" }, defaultClass: \"ju367vc6\" }, closeButton: { conditions: { base: \"ju367vc9\", hover: \"ju367vca\", active: \"ju367vcb\" }, defaultClass: \"ju367vc9\" }, closeButtonBackground: { conditions: { base: \"ju367vcc\", hover: \"ju367vcd\", active: \"ju367vce\" }, defaultClass: \"ju367vcc\" }, connectButtonBackground: { conditions: { base: \"ju367vcf\", hover: \"ju367vcg\", active: \"ju367vch\" }, defaultClass: \"ju367vcf\" }, connectButtonBackgroundError: { conditions: { base: \"ju367vci\", hover: \"ju367vcj\", active: \"ju367vck\" }, defaultClass: \"ju367vci\" }, connectButtonInnerBackground: { conditions: { base: \"ju367vcl\", hover: \"ju367vcm\", active: \"ju367vcn\" }, defaultClass: \"ju367vcl\" }, connectButtonText: { conditions: { base: \"ju367vco\", hover: \"ju367vcp\", active: \"ju367vcq\" }, defaultClass: \"ju367vco\" }, connectButtonTextError: { conditions: { base: \"ju367vcr\", hover: \"ju367vcs\", active: \"ju367vct\" }, defaultClass: \"ju367vcr\" }, connectionIndicator: { conditions: { base: \"ju367vcu\", hover: \"ju367vcv\", active: \"ju367vcw\" }, defaultClass: \"ju367vcu\" }, downloadBottomCardBackground: { conditions: { base: \"ju367vcx\", hover: \"ju367vcy\", active: \"ju367vcz\" }, defaultClass: \"ju367vcx\" }, downloadTopCardBackground: { conditions: { base: \"ju367vd0\", hover: \"ju367vd1\", active: \"ju367vd2\" }, defaultClass: \"ju367vd0\" }, error: { conditions: { base: \"ju367vd3\", hover: \"ju367vd4\", active: \"ju367vd5\" }, defaultClass: \"ju367vd3\" }, generalBorder: { conditions: { base: \"ju367vd6\", hover: \"ju367vd7\", active: \"ju367vd8\" }, defaultClass: \"ju367vd6\" }, generalBorderDim: { conditions: { base: \"ju367vd9\", hover: \"ju367vda\", active: \"ju367vdb\" }, defaultClass: \"ju367vd9\" }, menuItemBackground: { conditions: { base: \"ju367vdc\", hover: \"ju367vdd\", active: \"ju367vde\" }, defaultClass: \"ju367vdc\" }, modalBackdrop: { conditions: { base: \"ju367vdf\", hover: \"ju367vdg\", active: \"ju367vdh\" }, defaultClass: \"ju367vdf\" }, modalBackground: { conditions: { base: \"ju367vdi\", hover: \"ju367vdj\", active: \"ju367vdk\" }, defaultClass: \"ju367vdi\" }, modalBorder: { conditions: { base: \"ju367vdl\", hover: \"ju367vdm\", active: \"ju367vdn\" }, defaultClass: \"ju367vdl\" }, modalText: { conditions: { base: \"ju367vdo\", hover: \"ju367vdp\", active: \"ju367vdq\" }, defaultClass: \"ju367vdo\" }, modalTextDim: { conditions: { base: \"ju367vdr\", hover: \"ju367vds\", active: \"ju367vdt\" }, defaultClass: \"ju367vdr\" }, modalTextSecondary: { conditions: { base: \"ju367vdu\", hover: \"ju367vdv\", active: \"ju367vdw\" }, defaultClass: \"ju367vdu\" }, profileAction: { conditions: { base: \"ju367vdx\", hover: \"ju367vdy\", active: \"ju367vdz\" }, defaultClass: \"ju367vdx\" }, profileActionHover: { conditions: { base: \"ju367ve0\", hover: \"ju367ve1\", active: \"ju367ve2\" }, defaultClass: \"ju367ve0\" }, profileForeground: { conditions: { base: \"ju367ve3\", hover: \"ju367ve4\", active: \"ju367ve5\" }, defaultClass: \"ju367ve3\" }, selectedOptionBorder: { conditions: { base: \"ju367ve6\", hover: \"ju367ve7\", active: \"ju367ve8\" }, defaultClass: \"ju367ve6\" }, standby: { conditions: { base: \"ju367ve9\", hover: \"ju367vea\", active: \"ju367veb\" }, defaultClass: \"ju367ve9\" } } }, boxShadow: { values: { connectButton: { conditions: { base: \"ju367vec\", hover: \"ju367ved\", active: \"ju367vee\" }, defaultClass: \"ju367vec\" }, dialog: { conditions: { base: \"ju367vef\", hover: \"ju367veg\", active: \"ju367veh\" }, defaultClass: \"ju367vef\" }, profileDetailsAction: { conditions: { base: \"ju367vei\", hover: \"ju367vej\", active: \"ju367vek\" }, defaultClass: \"ju367vei\" }, selectedOption: { conditions: { base: \"ju367vel\", hover: \"ju367vem\", active: \"ju367ven\" }, defaultClass: \"ju367vel\" }, selectedWallet: { conditions: { base: \"ju367veo\", hover: \"ju367vep\", active: \"ju367veq\" }, defaultClass: \"ju367veo\" }, walletLogo: { conditions: { base: \"ju367ver\", hover: \"ju367ves\", active: \"ju367vet\" }, defaultClass: \"ju367ver\" } } }, color: { values: { accentColor: { conditions: { base: \"ju367veu\", hover: \"ju367vev\", active: \"ju367vew\" }, defaultClass: \"ju367veu\" }, accentColorForeground: { conditions: { base: \"ju367vex\", hover: \"ju367vey\", active: \"ju367vez\" }, defaultClass: \"ju367vex\" }, actionButtonBorder: { conditions: { base: \"ju367vf0\", hover: \"ju367vf1\", active: \"ju367vf2\" }, defaultClass: \"ju367vf0\" }, actionButtonBorderMobile: { conditions: { base: \"ju367vf3\", hover: \"ju367vf4\", active: \"ju367vf5\" }, defaultClass: \"ju367vf3\" }, actionButtonSecondaryBackground: { conditions: { base: \"ju367vf6\", hover: \"ju367vf7\", active: \"ju367vf8\" }, defaultClass: \"ju367vf6\" }, closeButton: { conditions: { base: \"ju367vf9\", hover: \"ju367vfa\", active: \"ju367vfb\" }, defaultClass: \"ju367vf9\" }, closeButtonBackground: { conditions: { base: \"ju367vfc\", hover: \"ju367vfd\", active: \"ju367vfe\" }, defaultClass: \"ju367vfc\" }, connectButtonBackground: { conditions: { base: \"ju367vff\", hover: \"ju367vfg\", active: \"ju367vfh\" }, defaultClass: \"ju367vff\" }, connectButtonBackgroundError: { conditions: { base: \"ju367vfi\", hover: \"ju367vfj\", active: \"ju367vfk\" }, defaultClass: \"ju367vfi\" }, connectButtonInnerBackground: { conditions: { base: \"ju367vfl\", hover: \"ju367vfm\", active: \"ju367vfn\" }, defaultClass: \"ju367vfl\" }, connectButtonText: { conditions: { base: \"ju367vfo\", hover: \"ju367vfp\", active: \"ju367vfq\" }, defaultClass: \"ju367vfo\" }, connectButtonTextError: { conditions: { base: \"ju367vfr\", hover: \"ju367vfs\", active: \"ju367vft\" }, defaultClass: \"ju367vfr\" }, connectionIndicator: { conditions: { base: \"ju367vfu\", hover: \"ju367vfv\", active: \"ju367vfw\" }, defaultClass: \"ju367vfu\" }, downloadBottomCardBackground: { conditions: { base: \"ju367vfx\", hover: \"ju367vfy\", active: \"ju367vfz\" }, defaultClass: \"ju367vfx\" }, downloadTopCardBackground: { conditions: { base: \"ju367vg0\", hover: \"ju367vg1\", active: \"ju367vg2\" }, defaultClass: \"ju367vg0\" }, error: { conditions: { base: \"ju367vg3\", hover: \"ju367vg4\", active: \"ju367vg5\" }, defaultClass: \"ju367vg3\" }, generalBorder: { conditions: { base: \"ju367vg6\", hover: \"ju367vg7\", active: \"ju367vg8\" }, defaultClass: \"ju367vg6\" }, generalBorderDim: { conditions: { base: \"ju367vg9\", hover: \"ju367vga\", active: \"ju367vgb\" }, defaultClass: \"ju367vg9\" }, menuItemBackground: { conditions: { base: \"ju367vgc\", hover: \"ju367vgd\", active: \"ju367vge\" }, defaultClass: \"ju367vgc\" }, modalBackdrop: { conditions: { base: \"ju367vgf\", hover: \"ju367vgg\", active: \"ju367vgh\" }, defaultClass: \"ju367vgf\" }, modalBackground: { conditions: { base: \"ju367vgi\", hover: \"ju367vgj\", active: \"ju367vgk\" }, defaultClass: \"ju367vgi\" }, modalBorder: { conditions: { base: \"ju367vgl\", hover: \"ju367vgm\", active: \"ju367vgn\" }, defaultClass: \"ju367vgl\" }, modalText: { conditions: { base: \"ju367vgo\", hover: \"ju367vgp\", active: \"ju367vgq\" }, defaultClass: \"ju367vgo\" }, modalTextDim: { conditions: { base: \"ju367vgr\", hover: \"ju367vgs\", active: \"ju367vgt\" }, defaultClass: \"ju367vgr\" }, modalTextSecondary: { conditions: { base: \"ju367vgu\", hover: \"ju367vgv\", active: \"ju367vgw\" }, defaultClass: \"ju367vgu\" }, profileAction: { conditions: { base: \"ju367vgx\", hover: \"ju367vgy\", active: \"ju367vgz\" }, defaultClass: \"ju367vgx\" }, profileActionHover: { conditions: { base: \"ju367vh0\", hover: \"ju367vh1\", active: \"ju367vh2\" }, defaultClass: \"ju367vh0\" }, profileForeground: { conditions: { base: \"ju367vh3\", hover: \"ju367vh4\", active: \"ju367vh5\" }, defaultClass: \"ju367vh3\" }, selectedOptionBorder: { conditions: { base: \"ju367vh6\", hover: \"ju367vh7\", active: \"ju367vh8\" }, defaultClass: \"ju367vh6\" }, standby: { conditions: { base: \"ju367vh9\", hover: \"ju367vha\", active: \"ju367vhb\" }, defaultClass: \"ju367vh9\" } } } } }, { conditions: { defaultCondition: \"smallScreen\", conditionNames: [\"smallScreen\", \"largeScreen\"], responsiveArray: void 0 }, styles: { alignItems: { values: { \"flex-start\": { conditions: { smallScreen: \"ju367v0\", largeScreen: \"ju367v1\" }, defaultClass: \"ju367v0\" }, \"flex-end\": { conditions: { smallScreen: \"ju367v2\", largeScreen: \"ju367v3\" }, defaultClass: \"ju367v2\" }, center: { conditions: { smallScreen: \"ju367v4\", largeScreen: \"ju367v5\" }, defaultClass: \"ju367v4\" } } }, display: { values: { none: { conditions: { smallScreen: \"ju367v6\", largeScreen: \"ju367v7\" }, defaultClass: \"ju367v6\" }, block: { conditions: { smallScreen: \"ju367v8\", largeScreen: \"ju367v9\" }, defaultClass: \"ju367v8\" }, flex: { conditions: { smallScreen: \"ju367va\", largeScreen: \"ju367vb\" }, defaultClass: \"ju367va\" }, inline: { conditions: { smallScreen: \"ju367vc\", largeScreen: \"ju367vd\" }, defaultClass: \"ju367vc\" } } } } }, { conditions: void 0, styles: { margin: { mappings: [\"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"] }, marginX: { mappings: [\"marginLeft\", \"marginRight\"] }, marginY: { mappings: [\"marginTop\", \"marginBottom\"] }, padding: { mappings: [\"paddingTop\", \"paddingBottom\", \"paddingLeft\", \"paddingRight\"] }, paddingX: { mappings: [\"paddingLeft\", \"paddingRight\"] }, paddingY: { mappings: [\"paddingTop\", \"paddingBottom\"] }, alignSelf: { values: { \"flex-start\": { defaultClass: \"ju367ve\" }, \"flex-end\": { defaultClass: \"ju367vf\" }, center: { defaultClass: \"ju367vg\" } } }, backgroundSize: { values: { cover: { defaultClass: \"ju367vh\" } } }, borderRadius: { values: { \"1\": { defaultClass: \"ju367vi\" }, \"6\": { defaultClass: \"ju367vj\" }, \"10\": { defaultClass: \"ju367vk\" }, \"13\": { defaultClass: \"ju367vl\" }, actionButton: { defaultClass: \"ju367vm\" }, connectButton: { defaultClass: \"ju367vn\" }, menuButton: { defaultClass: \"ju367vo\" }, modal: { defaultClass: \"ju367vp\" }, modalMobile: { defaultClass: \"ju367vq\" }, \"25%\": { defaultClass: \"ju367vr\" }, full: { defaultClass: \"ju367vs\" } } }, borderStyle: { values: { solid: { defaultClass: \"ju367vt\" } } }, borderWidth: { values: { \"0\": { defaultClass: \"ju367vu\" }, \"1\": { defaultClass: \"ju367vv\" }, \"2\": { defaultClass: \"ju367vw\" }, \"4\": { defaultClass: \"ju367vx\" } } }, cursor: { values: { pointer: { defaultClass: \"ju367vy\" } } }, flexDirection: { values: { row: { defaultClass: \"ju367vz\" }, column: { defaultClass: \"ju367v10\" } } }, fontFamily: { values: { body: { defaultClass: \"ju367v11\" } } }, fontSize: { values: { \"12\": { defaultClass: \"ju367v12\" }, \"13\": { defaultClass: \"ju367v13\" }, \"14\": { defaultClass: \"ju367v14\" }, \"16\": { defaultClass: \"ju367v15\" }, \"18\": { defaultClass: \"ju367v16\" }, \"20\": { defaultClass: \"ju367v17\" }, \"23\": { defaultClass: \"ju367v18\" } } }, fontWeight: { values: { regular: { defaultClass: \"ju367v19\" }, medium: { defaultClass: \"ju367v1a\" }, semibold: { defaultClass: \"ju367v1b\" }, bold: { defaultClass: \"ju367v1c\" }, heavy: { defaultClass: \"ju367v1d\" } } }, gap: { values: { \"0\": { defaultClass: \"ju367v1e\" }, \"1\": { defaultClass: \"ju367v1f\" }, \"2\": { defaultClass: \"ju367v1g\" }, \"3\": { defaultClass: \"ju367v1h\" }, \"4\": { defaultClass: \"ju367v1i\" }, \"5\": { defaultClass: \"ju367v1j\" }, \"6\": { defaultClass: \"ju367v1k\" }, \"8\": { defaultClass: \"ju367v1l\" }, \"10\": { defaultClass: \"ju367v1m\" }, \"12\": { defaultClass: \"ju367v1n\" }, \"14\": { defaultClass: \"ju367v1o\" }, \"16\": { defaultClass: \"ju367v1p\" }, \"18\": { defaultClass: \"ju367v1q\" }, \"20\": { defaultClass: \"ju367v1r\" }, \"24\": { defaultClass: \"ju367v1s\" }, \"28\": { defaultClass: \"ju367v1t\" }, \"32\": { defaultClass: \"ju367v1u\" }, \"36\": { defaultClass: \"ju367v1v\" }, \"44\": { defaultClass: \"ju367v1w\" }, \"64\": { defaultClass: \"ju367v1x\" }, \"-1\": { defaultClass: \"ju367v1y\" } } }, height: { values: { \"1\": { defaultClass: \"ju367v1z\" }, \"2\": { defaultClass: \"ju367v20\" }, \"4\": { defaultClass: \"ju367v21\" }, \"8\": { defaultClass: \"ju367v22\" }, \"12\": { defaultClass: \"ju367v23\" }, \"20\": { defaultClass: \"ju367v24\" }, \"24\": { defaultClass: \"ju367v25\" }, \"28\": { defaultClass: \"ju367v26\" }, \"30\": { defaultClass: \"ju367v27\" }, \"32\": { defaultClass: \"ju367v28\" }, \"34\": { defaultClass: \"ju367v29\" }, \"36\": { defaultClass: \"ju367v2a\" }, \"40\": { defaultClass: \"ju367v2b\" }, \"44\": { defaultClass: \"ju367v2c\" }, \"48\": { defaultClass: \"ju367v2d\" }, \"54\": { defaultClass: \"ju367v2e\" }, \"60\": { defaultClass: \"ju367v2f\" }, \"200\": { defaultClass: \"ju367v2g\" }, full: { defaultClass: \"ju367v2h\" }, max: { defaultClass: \"ju367v2i\" } } }, justifyContent: { values: { \"flex-start\": { defaultClass: \"ju367v2j\" }, \"flex-end\": { defaultClass: \"ju367v2k\" }, center: { defaultClass: \"ju367v2l\" }, \"space-between\": { defaultClass: \"ju367v2m\" }, \"space-around\": { defaultClass: \"ju367v2n\" } } }, textAlign: { values: { left: { defaultClass: \"ju367v2o\" }, center: { defaultClass: \"ju367v2p\" }, inherit: { defaultClass: \"ju367v2q\" } } }, marginBottom: { values: { \"0\": { defaultClass: \"ju367v2r\" }, \"1\": { defaultClass: \"ju367v2s\" }, \"2\": { defaultClass: \"ju367v2t\" }, \"3\": { defaultClass: \"ju367v2u\" }, \"4\": { defaultClass: \"ju367v2v\" }, \"5\": { defaultClass: \"ju367v2w\" }, \"6\": { defaultClass: \"ju367v2x\" }, \"8\": { defaultClass: \"ju367v2y\" }, \"10\": { defaultClass: \"ju367v2z\" }, \"12\": { defaultClass: \"ju367v30\" }, \"14\": { defaultClass: \"ju367v31\" }, \"16\": { defaultClass: \"ju367v32\" }, \"18\": { defaultClass: \"ju367v33\" }, \"20\": { defaultClass: \"ju367v34\" }, \"24\": { defaultClass: \"ju367v35\" }, \"28\": { defaultClass: \"ju367v36\" }, \"32\": { defaultClass: \"ju367v37\" }, \"36\": { defaultClass: \"ju367v38\" }, \"44\": { defaultClass: \"ju367v39\" }, \"64\": { defaultClass: \"ju367v3a\" }, \"-1\": { defaultClass: \"ju367v3b\" } } }, marginLeft: { values: { \"0\": { defaultClass: \"ju367v3c\" }, \"1\": { defaultClass: \"ju367v3d\" }, \"2\": { defaultClass: \"ju367v3e\" }, \"3\": { defaultClass: \"ju367v3f\" }, \"4\": { defaultClass: \"ju367v3g\" }, \"5\": { defaultClass: \"ju367v3h\" }, \"6\": { defaultClass: \"ju367v3i\" }, \"8\": { defaultClass: \"ju367v3j\" }, \"10\": { defaultClass: \"ju367v3k\" }, \"12\": { defaultClass: \"ju367v3l\" }, \"14\": { defaultClass: \"ju367v3m\" }, \"16\": { defaultClass: \"ju367v3n\" }, \"18\": { defaultClass: \"ju367v3o\" }, \"20\": { defaultClass: \"ju367v3p\" }, \"24\": { defaultClass: \"ju367v3q\" }, \"28\": { defaultClass: \"ju367v3r\" }, \"32\": { defaultClass: \"ju367v3s\" }, \"36\": { defaultClass: \"ju367v3t\" }, \"44\": { defaultClass: \"ju367v3u\" }, \"64\": { defaultClass: \"ju367v3v\" }, \"-1\": { defaultClass: \"ju367v3w\" } } }, marginRight: { values: { \"0\": { defaultClass: \"ju367v3x\" }, \"1\": { defaultClass: \"ju367v3y\" }, \"2\": { defaultClass: \"ju367v3z\" }, \"3\": { defaultClass: \"ju367v40\" }, \"4\": { defaultClass: \"ju367v41\" }, \"5\": { defaultClass: \"ju367v42\" }, \"6\": { defaultClass: \"ju367v43\" }, \"8\": { defaultClass: \"ju367v44\" }, \"10\": { defaultClass: \"ju367v45\" }, \"12\": { defaultClass: \"ju367v46\" }, \"14\": { defaultClass: \"ju367v47\" }, \"16\": { defaultClass: \"ju367v48\" }, \"18\": { defaultClass: \"ju367v49\" }, \"20\": { defaultClass: \"ju367v4a\" }, \"24\": { defaultClass: \"ju367v4b\" }, \"28\": { defaultClass: \"ju367v4c\" }, \"32\": { defaultClass: \"ju367v4d\" }, \"36\": { defaultClass: \"ju367v4e\" }, \"44\": { defaultClass: \"ju367v4f\" }, \"64\": { defaultClass: \"ju367v4g\" }, \"-1\": { defaultClass: \"ju367v4h\" } } }, marginTop: { values: { \"0\": { defaultClass: \"ju367v4i\" }, \"1\": { defaultClass: \"ju367v4j\" }, \"2\": { defaultClass: \"ju367v4k\" }, \"3\": { defaultClass: \"ju367v4l\" }, \"4\": { defaultClass: \"ju367v4m\" }, \"5\": { defaultClass: \"ju367v4n\" }, \"6\": { defaultClass: \"ju367v4o\" }, \"8\": { defaultClass: \"ju367v4p\" }, \"10\": { defaultClass: \"ju367v4q\" }, \"12\": { defaultClass: \"ju367v4r\" }, \"14\": { defaultClass: \"ju367v4s\" }, \"16\": { defaultClass: \"ju367v4t\" }, \"18\": { defaultClass: \"ju367v4u\" }, \"20\": { defaultClass: \"ju367v4v\" }, \"24\": { defaultClass: \"ju367v4w\" }, \"28\": { defaultClass: \"ju367v4x\" }, \"32\": { defaultClass: \"ju367v4y\" }, \"36\": { defaultClass: \"ju367v4z\" }, \"44\": { defaultClass: \"ju367v50\" }, \"64\": { defaultClass: \"ju367v51\" }, \"-1\": { defaultClass: \"ju367v52\" } } }, maxWidth: { values: { \"1\": { defaultClass: \"ju367v53\" }, \"2\": { defaultClass: \"ju367v54\" }, \"4\": { defaultClass: \"ju367v55\" }, \"8\": { defaultClass: \"ju367v56\" }, \"12\": { defaultClass: \"ju367v57\" }, \"20\": { defaultClass: \"ju367v58\" }, \"24\": { defaultClass: \"ju367v59\" }, \"28\": { defaultClass: \"ju367v5a\" }, \"30\": { defaultClass: \"ju367v5b\" }, \"32\": { defaultClass: \"ju367v5c\" }, \"34\": { defaultClass: \"ju367v5d\" }, \"36\": { defaultClass: \"ju367v5e\" }, \"40\": { defaultClass: \"ju367v5f\" }, \"44\": { defaultClass: \"ju367v5g\" }, \"48\": { defaultClass: \"ju367v5h\" }, \"54\": { defaultClass: \"ju367v5i\" }, \"60\": { defaultClass: \"ju367v5j\" }, \"200\": { defaultClass: \"ju367v5k\" }, full: { defaultClass: \"ju367v5l\" }, max: { defaultClass: \"ju367v5m\" } } }, minWidth: { values: { \"1\": { defaultClass: \"ju367v5n\" }, \"2\": { defaultClass: \"ju367v5o\" }, \"4\": { defaultClass: \"ju367v5p\" }, \"8\": { defaultClass: \"ju367v5q\" }, \"12\": { defaultClass: \"ju367v5r\" }, \"20\": { defaultClass: \"ju367v5s\" }, \"24\": { defaultClass: \"ju367v5t\" }, \"28\": { defaultClass: \"ju367v5u\" }, \"30\": { defaultClass: \"ju367v5v\" }, \"32\": { defaultClass: \"ju367v5w\" }, \"34\": { defaultClass: \"ju367v5x\" }, \"36\": { defaultClass: \"ju367v5y\" }, \"40\": { defaultClass: \"ju367v5z\" }, \"44\": { defaultClass: \"ju367v60\" }, \"48\": { defaultClass: \"ju367v61\" }, \"54\": { defaultClass: \"ju367v62\" }, \"60\": { defaultClass: \"ju367v63\" }, \"200\": { defaultClass: \"ju367v64\" }, full: { defaultClass: \"ju367v65\" }, max: { defaultClass: \"ju367v66\" } } }, overflow: { values: { hidden: { defaultClass: \"ju367v67\" } } }, paddingBottom: { values: { \"0\": { defaultClass: \"ju367v68\" }, \"1\": { defaultClass: \"ju367v69\" }, \"2\": { defaultClass: \"ju367v6a\" }, \"3\": { defaultClass: \"ju367v6b\" }, \"4\": { defaultClass: \"ju367v6c\" }, \"5\": { defaultClass: \"ju367v6d\" }, \"6\": { defaultClass: \"ju367v6e\" }, \"8\": { defaultClass: \"ju367v6f\" }, \"10\": { defaultClass: \"ju367v6g\" }, \"12\": { defaultClass: \"ju367v6h\" }, \"14\": { defaultClass: \"ju367v6i\" }, \"16\": { defaultClass: \"ju367v6j\" }, \"18\": { defaultClass: \"ju367v6k\" }, \"20\": { defaultClass: \"ju367v6l\" }, \"24\": { defaultClass: \"ju367v6m\" }, \"28\": { defaultClass: \"ju367v6n\" }, \"32\": { defaultClass: \"ju367v6o\" }, \"36\": { defaultClass: \"ju367v6p\" }, \"44\": { defaultClass: \"ju367v6q\" }, \"64\": { defaultClass: \"ju367v6r\" }, \"-1\": { defaultClass: \"ju367v6s\" } } }, paddingLeft: { values: { \"0\": { defaultClass: \"ju367v6t\" }, \"1\": { defaultClass: \"ju367v6u\" }, \"2\": { defaultClass: \"ju367v6v\" }, \"3\": { defaultClass: \"ju367v6w\" }, \"4\": { defaultClass: \"ju367v6x\" }, \"5\": { defaultClass: \"ju367v6y\" }, \"6\": { defaultClass: \"ju367v6z\" }, \"8\": { defaultClass: \"ju367v70\" }, \"10\": { defaultClass: \"ju367v71\" }, \"12\": { defaultClass: \"ju367v72\" }, \"14\": { defaultClass: \"ju367v73\" }, \"16\": { defaultClass: \"ju367v74\" }, \"18\": { defaultClass: \"ju367v75\" }, \"20\": { defaultClass: \"ju367v76\" }, \"24\": { defaultClass: \"ju367v77\" }, \"28\": { defaultClass: \"ju367v78\" }, \"32\": { defaultClass: \"ju367v79\" }, \"36\": { defaultClass: \"ju367v7a\" }, \"44\": { defaultClass: \"ju367v7b\" }, \"64\": { defaultClass: \"ju367v7c\" }, \"-1\": { defaultClass: \"ju367v7d\" } } }, paddingRight: { values: { \"0\": { defaultClass: \"ju367v7e\" }, \"1\": { defaultClass: \"ju367v7f\" }, \"2\": { defaultClass: \"ju367v7g\" }, \"3\": { defaultClass: \"ju367v7h\" }, \"4\": { defaultClass: \"ju367v7i\" }, \"5\": { defaultClass: \"ju367v7j\" }, \"6\": { defaultClass: \"ju367v7k\" }, \"8\": { defaultClass: \"ju367v7l\" }, \"10\": { defaultClass: \"ju367v7m\" }, \"12\": { defaultClass: \"ju367v7n\" }, \"14\": { defaultClass: \"ju367v7o\" }, \"16\": { defaultClass: \"ju367v7p\" }, \"18\": { defaultClass: \"ju367v7q\" }, \"20\": { defaultClass: \"ju367v7r\" }, \"24\": { defaultClass: \"ju367v7s\" }, \"28\": { defaultClass: \"ju367v7t\" }, \"32\": { defaultClass: \"ju367v7u\" }, \"36\": { defaultClass: \"ju367v7v\" }, \"44\": { defaultClass: \"ju367v7w\" }, \"64\": { defaultClass: \"ju367v7x\" }, \"-1\": { defaultClass: \"ju367v7y\" } } }, paddingTop: { values: { \"0\": { defaultClass: \"ju367v7z\" }, \"1\": { defaultClass: \"ju367v80\" }, \"2\": { defaultClass: \"ju367v81\" }, \"3\": { defaultClass: \"ju367v82\" }, \"4\": { defaultClass: \"ju367v83\" }, \"5\": { defaultClass: \"ju367v84\" }, \"6\": { defaultClass: \"ju367v85\" }, \"8\": { defaultClass: \"ju367v86\" }, \"10\": { defaultClass: \"ju367v87\" }, \"12\": { defaultClass: \"ju367v88\" }, \"14\": { defaultClass: \"ju367v89\" }, \"16\": { defaultClass: \"ju367v8a\" }, \"18\": { defaultClass: \"ju367v8b\" }, \"20\": { defaultClass: \"ju367v8c\" }, \"24\": { defaultClass: \"ju367v8d\" }, \"28\": { defaultClass: \"ju367v8e\" }, \"32\": { defaultClass: \"ju367v8f\" }, \"36\": { defaultClass: \"ju367v8g\" }, \"44\": { defaultClass: \"ju367v8h\" }, \"64\": { defaultClass: \"ju367v8i\" }, \"-1\": { defaultClass: \"ju367v8j\" } } }, position: { values: { absolute: { defaultClass: \"ju367v8k\" }, fixed: { defaultClass: \"ju367v8l\" }, relative: { defaultClass: \"ju367v8m\" } } }, right: { values: { \"0\": { defaultClass: \"ju367v8n\" } } }, transition: { values: { \"default\": { defaultClass: \"ju367v8o\" }, transform: { defaultClass: \"ju367v8p\" } } }, userSelect: { values: { none: { defaultClass: \"ju367v8q\" } } }, width: { values: { \"1\": { defaultClass: \"ju367v8r\" }, \"2\": { defaultClass: \"ju367v8s\" }, \"4\": { defaultClass: \"ju367v8t\" }, \"8\": { defaultClass: \"ju367v8u\" }, \"12\": { defaultClass: \"ju367v8v\" }, \"20\": { defaultClass: \"ju367v8w\" }, \"24\": { defaultClass: \"ju367v8x\" }, \"28\": { defaultClass: \"ju367v8y\" }, \"30\": { defaultClass: \"ju367v8z\" }, \"32\": { defaultClass: \"ju367v90\" }, \"34\": { defaultClass: \"ju367v91\" }, \"36\": { defaultClass: \"ju367v92\" }, \"40\": { defaultClass: \"ju367v93\" }, \"44\": { defaultClass: \"ju367v94\" }, \"48\": { defaultClass: \"ju367v95\" }, \"54\": { defaultClass: \"ju367v96\" }, \"60\": { defaultClass: \"ju367v97\" }, \"200\": { defaultClass: \"ju367v98\" }, full: { defaultClass: \"ju367v99\" }, max: { defaultClass: \"ju367v9a\" } } }, backdropFilter: { values: { modalOverlay: { defaultClass: \"ju367v9b\" } } } } });\nvar themeVars = { colors: { accentColor: \"var(--rk-colors-accentColor)\", accentColorForeground: \"var(--rk-colors-accentColorForeground)\", actionButtonBorder: \"var(--rk-colors-actionButtonBorder)\", actionButtonBorderMobile: \"var(--rk-colors-actionButtonBorderMobile)\", actionButtonSecondaryBackground: \"var(--rk-colors-actionButtonSecondaryBackground)\", closeButton: \"var(--rk-colors-closeButton)\", closeButtonBackground: \"var(--rk-colors-closeButtonBackground)\", connectButtonBackground: \"var(--rk-colors-connectButtonBackground)\", connectButtonBackgroundError: \"var(--rk-colors-connectButtonBackgroundError)\", connectButtonInnerBackground: \"var(--rk-colors-connectButtonInnerBackground)\", connectButtonText: \"var(--rk-colors-connectButtonText)\", connectButtonTextError: \"var(--rk-colors-connectButtonTextError)\", connectionIndicator: \"var(--rk-colors-connectionIndicator)\", downloadBottomCardBackground: \"var(--rk-colors-downloadBottomCardBackground)\", downloadTopCardBackground: \"var(--rk-colors-downloadTopCardBackground)\", error: \"var(--rk-colors-error)\", generalBorder: \"var(--rk-colors-generalBorder)\", generalBorderDim: \"var(--rk-colors-generalBorderDim)\", menuItemBackground: \"var(--rk-colors-menuItemBackground)\", modalBackdrop: \"var(--rk-colors-modalBackdrop)\", modalBackground: \"var(--rk-colors-modalBackground)\", modalBorder: \"var(--rk-colors-modalBorder)\", modalText: \"var(--rk-colors-modalText)\", modalTextDim: \"var(--rk-colors-modalTextDim)\", modalTextSecondary: \"var(--rk-colors-modalTextSecondary)\", profileAction: \"var(--rk-colors-profileAction)\", profileActionHover: \"var(--rk-colors-profileActionHover)\", profileForeground: \"var(--rk-colors-profileForeground)\", selectedOptionBorder: \"var(--rk-colors-selectedOptionBorder)\", standby: \"var(--rk-colors-standby)\" }, fonts: { body: \"var(--rk-fonts-body)\" }, radii: { actionButton: \"var(--rk-radii-actionButton)\", connectButton: \"var(--rk-radii-connectButton)\", menuButton: \"var(--rk-radii-menuButton)\", modal: \"var(--rk-radii-modal)\", modalMobile: \"var(--rk-radii-modalMobile)\" }, shadows: { connectButton: \"var(--rk-shadows-connectButton)\", dialog: \"var(--rk-shadows-dialog)\", profileDetailsAction: \"var(--rk-shadows-profileDetailsAction)\", selectedOption: \"var(--rk-shadows-selectedOption)\", selectedWallet: \"var(--rk-shadows-selectedWallet)\", walletLogo: \"var(--rk-shadows-walletLogo)\" }, blurs: { modalOverlay: \"var(--rk-blurs-modalOverlay)\" } };\n\n// src/css/touchableStyles.css.ts\nvar active = { shrink: \"_12cbo8i6\", shrinkSm: \"_12cbo8i7\" };\nvar base = \"_12cbo8i3 ju367v8m\";\nvar hover = { grow: \"_12cbo8i4\", growLg: \"_12cbo8i5\" };\n\n// src/css/touchableStyles.ts\nfunction touchableStyles({ active: active2, hover: hover2 }) {\n return [base, hover2 && hover[hover2], active[active2]];\n}\n\n// src/hooks/useConnectionStatus.ts\n\n\n// src/components/RainbowKitProvider/AuthenticationContext.tsx\n\n\nfunction createAuthenticationAdapter(adapter) {\n return adapter;\n}\nvar AuthenticationContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction RainbowKitAuthenticationProvider({\n adapter,\n children,\n enabled = true,\n status\n}) {\n (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)({\n onDisconnect: () => {\n adapter.signOut();\n }\n });\n const { isDisconnected } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const onceRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (onceRef.current)\n return;\n onceRef.current = true;\n if (isDisconnected && status === \"authenticated\") {\n adapter.signOut();\n }\n }, [status, adapter, isDisconnected]);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AuthenticationContext.Provider, {\n value: (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => enabled ? { adapter, status } : null, [enabled, adapter, status])\n }, children);\n}\nfunction useAuthenticationAdapter() {\n var _a;\n const { adapter } = (_a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AuthenticationContext)) != null ? _a : {};\n if (!adapter) {\n throw new Error(\"No authentication adapter found\");\n }\n return adapter;\n}\nfunction useAuthenticationStatus() {\n var _a;\n const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AuthenticationContext);\n return (_a = contextValue == null ? void 0 : contextValue.status) != null ? _a : null;\n}\n\n// src/hooks/useConnectionStatus.ts\nfunction useConnectionStatus() {\n const authenticationStatus = useAuthenticationStatus();\n const { isConnected } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n if (!isConnected) {\n return \"disconnected\";\n }\n if (!authenticationStatus) {\n return \"connected\";\n }\n if (authenticationStatus === \"loading\" || authenticationStatus === \"unauthenticated\") {\n return authenticationStatus;\n }\n return \"connected\";\n}\n\n// src/utils/isMobile.ts\nfunction isAndroid() {\n return typeof navigator !== \"undefined\" && /android/i.test(navigator.userAgent);\n}\nfunction isSmallIOS() {\n return typeof navigator !== \"undefined\" && /iPhone|iPod/.test(navigator.userAgent);\n}\nfunction isLargeIOS() {\n return typeof navigator !== \"undefined\" && (/iPad/.test(navigator.userAgent) || navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1);\n}\nfunction isIOS() {\n return isSmallIOS() || isLargeIOS();\n}\nfunction isMobile() {\n return isAndroid() || isIOS();\n}\n\n// src/components/AsyncImage/AsyncImage.tsx\n\n\n// src/components/Box/Box.ts\n\n\n\n// src/css/atoms.ts\n\n\n// src/css/reset.css.ts\nvar base2 = \"iekbcc0\";\nvar element = { a: \"iekbcca\", blockquote: \"iekbcc2\", button: \"iekbcc9\", input: \"iekbcc8 iekbcc5 iekbcc4\", mark: \"iekbcc6\", ol: \"iekbcc1\", q: \"iekbcc2\", select: \"iekbcc7 iekbcc5 iekbcc4\", table: \"iekbcc3\", textarea: \"iekbcc5 iekbcc4\", ul: \"iekbcc1\" };\n\n// src/css/atoms.ts\nvar atoms = ({ reset, ...rest }) => {\n if (!reset)\n return sprinkles(rest);\n const elementReset = element[reset];\n const sprinklesClasses = sprinkles(rest);\n return (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(base2, elementReset, sprinklesClasses);\n};\n\n// src/components/Box/Box.ts\nvar Box = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ as = \"div\", className, testId, ...props }, ref) => {\n const atomProps = {};\n const nativeProps = {};\n for (const key in props) {\n if (sprinkles.properties.has(key)) {\n atomProps[key] = props[key];\n } else {\n nativeProps[key] = props[key];\n }\n }\n const atomicClasses = atoms({\n reset: typeof as === \"string\" ? as : \"div\",\n ...atomProps\n });\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(as, {\n \"className\": (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(atomicClasses, className),\n ...nativeProps,\n \"data-testid\": testId ? `rk-${testId.replace(/^rk-/, \"\")}` : void 0,\n ref\n });\n});\nBox.displayName = \"Box\";\n\n// src/components/AsyncImage/useAsyncImage.ts\n\nvar cachedUrls = /* @__PURE__ */ new Map();\nvar cachedRequestPromises = /* @__PURE__ */ new Map();\nasync function loadAsyncImage(asyncImage) {\n const cachedRequestPromise = cachedRequestPromises.get(asyncImage);\n if (cachedRequestPromise) {\n return cachedRequestPromise;\n }\n const load = async () => asyncImage().then(async (url) => {\n cachedUrls.set(asyncImage, url);\n return url;\n });\n const requestPromise = load().catch((_err) => {\n return load().catch((_err2) => {\n cachedRequestPromises.delete(asyncImage);\n });\n });\n cachedRequestPromises.set(asyncImage, requestPromise);\n return requestPromise;\n}\nasync function loadImages(...urls) {\n return await Promise.all(urls.map((url) => typeof url === \"function\" ? loadAsyncImage(url) : url));\n}\nfunction useForceUpdate() {\n const [, forceUpdate] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)((x) => x + 1, 0);\n return forceUpdate;\n}\nfunction useAsyncImage(url) {\n const cachedUrl = typeof url === \"function\" ? cachedUrls.get(url) : void 0;\n const forceUpdate = useForceUpdate();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (typeof url === \"function\" && !cachedUrl) {\n loadAsyncImage(url).then(forceUpdate);\n }\n }, [url, cachedUrl, forceUpdate]);\n return typeof url === \"function\" ? cachedUrl : url;\n}\n\n// src/components/AsyncImage/AsyncImage.tsx\nfunction AsyncImage({\n alt,\n background,\n borderColor,\n borderRadius,\n boxShadow,\n height,\n src: srcProp,\n width\n}) {\n const src6 = useAsyncImage(srcProp);\n const isRemoteImage = src6 && /^http/.test(src6);\n const [isRemoteImageLoaded, setRemoteImageLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(() => true, false);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n \"aria-label\": alt,\n borderRadius,\n boxShadow,\n height: typeof height === \"string\" ? height : void 0,\n overflow: \"hidden\",\n position: \"relative\",\n role: \"img\",\n style: {\n background,\n height: typeof height === \"number\" ? height : void 0,\n width: typeof width === \"number\" ? width : void 0\n },\n width: typeof width === \"string\" ? width : void 0\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...isRemoteImage ? {\n \"aria-hidden\": true,\n \"as\": \"img\",\n \"onLoad\": setRemoteImageLoaded,\n \"src\": src6\n } : {\n backgroundSize: \"cover\"\n },\n height: \"full\",\n position: \"absolute\",\n style: {\n touchCallout: \"none\",\n transition: \"opacity .15s linear\",\n userSelect: \"none\",\n ...isRemoteImage ? {\n opacity: isRemoteImageLoaded ? 1 : 0\n } : {\n backgroundImage: src6 ? `url(${src6})` : void 0,\n backgroundRepeat: \"no-repeat\",\n opacity: src6 ? 1 : 0\n }\n },\n width: \"full\"\n }), borderColor ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...typeof borderColor === \"object\" && \"custom\" in borderColor ? { style: { borderColor: borderColor.custom } } : { borderColor },\n borderRadius,\n borderStyle: \"solid\",\n borderWidth: \"1\",\n height: \"full\",\n position: \"relative\",\n width: \"full\"\n }) : null);\n}\n\n// src/components/Avatar/Avatar.tsx\n\n\n// src/components/Icons/Spinner.tsx\n\n\n// src/components/Icons/Icons.css.ts\nvar SpinnerIconClassName = \"_1luule42\";\nvar SpinnerIconPathClassName = \"_1luule43\";\n\n// src/components/Icons/Spinner.tsx\nvar useRandomId = (prefix) => (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => `${prefix}_${Math.round(Math.random() * 1e9)}`, [prefix]);\nvar SpinnerIcon = ({\n height = 21,\n width = 21\n}) => {\n const id = useRandomId(\"spinner\");\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n className: SpinnerIconClassName,\n fill: \"none\",\n height,\n viewBox: \"0 0 21 21\",\n width,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"clipPath\", {\n id\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M10.5 3C6.35786 3 3 6.35786 3 10.5C3 14.6421 6.35786 18 10.5 18C11.3284 18 12 18.6716 12 19.5C12 20.3284 11.3284 21 10.5 21C4.70101 21 0 16.299 0 10.5C0 4.70101 4.70101 0 10.5 0C16.299 0 21 4.70101 21 10.5C21 11.3284 20.3284 12 19.5 12C18.6716 12 18 11.3284 18 10.5C18 6.35786 14.6421 3 10.5 3Z\"\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"foreignObject\", {\n clipPath: `url(#${id})`,\n height: \"21\",\n width: \"21\",\n x: \"0\",\n y: \"0\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", {\n className: SpinnerIconPathClassName\n })));\n};\n\n// src/components/RainbowKitProvider/AvatarContext.ts\n\n\n// src/components/Avatar/EmojiAvatar.tsx\n\n\n// src/components/Avatar/emojiAvatarForAddress.ts\nvar colors = [\n \"#FC5C54\",\n \"#FFD95A\",\n \"#E95D72\",\n \"#6A87C8\",\n \"#5FD0F3\",\n \"#75C06B\",\n \"#FFDD86\",\n \"#5FC6D4\",\n \"#FF949A\",\n \"#FF8024\",\n \"#9BA1A4\",\n \"#EC66FF\",\n \"#FF8CBC\",\n \"#FF9A23\",\n \"#C5DADB\",\n \"#A8CE63\",\n \"#71ABFF\",\n \"#FFE279\",\n \"#B6B1B6\",\n \"#FF6780\",\n \"#A575FF\",\n \"#4D82FF\",\n \"#FFB35A\"\n];\nvar avatars = [\n { color: colors[0], emoji: \"\\u{1F336}\" },\n { color: colors[1], emoji: \"\\u{1F911}\" },\n { color: colors[2], emoji: \"\\u{1F419}\" },\n { color: colors[3], emoji: \"\\u{1FAD0}\" },\n { color: colors[4], emoji: \"\\u{1F433}\" },\n { color: colors[0], emoji: \"\\u{1F936}\" },\n { color: colors[5], emoji: \"\\u{1F332}\" },\n { color: colors[6], emoji: \"\\u{1F31E}\" },\n { color: colors[7], emoji: \"\\u{1F412}\" },\n { color: colors[8], emoji: \"\\u{1F435}\" },\n { color: colors[9], emoji: \"\\u{1F98A}\" },\n { color: colors[10], emoji: \"\\u{1F43C}\" },\n { color: colors[11], emoji: \"\\u{1F984}\" },\n { color: colors[12], emoji: \"\\u{1F437}\" },\n { color: colors[13], emoji: \"\\u{1F427}\" },\n { color: colors[8], emoji: \"\\u{1F9A9}\" },\n { color: colors[14], emoji: \"\\u{1F47D}\" },\n { color: colors[0], emoji: \"\\u{1F388}\" },\n { color: colors[8], emoji: \"\\u{1F349}\" },\n { color: colors[1], emoji: \"\\u{1F389}\" },\n { color: colors[15], emoji: \"\\u{1F432}\" },\n { color: colors[16], emoji: \"\\u{1F30E}\" },\n { color: colors[17], emoji: \"\\u{1F34A}\" },\n { color: colors[18], emoji: \"\\u{1F42D}\" },\n { color: colors[19], emoji: \"\\u{1F363}\" },\n { color: colors[1], emoji: \"\\u{1F425}\" },\n { color: colors[20], emoji: \"\\u{1F47E}\" },\n { color: colors[15], emoji: \"\\u{1F966}\" },\n { color: colors[0], emoji: \"\\u{1F479}\" },\n { color: colors[17], emoji: \"\\u{1F640}\" },\n { color: colors[4], emoji: \"\\u26F1\" },\n { color: colors[21], emoji: \"\\u26F5\\uFE0F\" },\n { color: colors[17], emoji: \"\\u{1F973}\" },\n { color: colors[8], emoji: \"\\u{1F92F}\" },\n { color: colors[22], emoji: \"\\u{1F920}\" }\n];\nfunction hashCode(text) {\n let hash = 0;\n if (text.length === 0)\n return hash;\n for (let i = 0; i < text.length; i++) {\n const chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash;\n}\nfunction emojiAvatarForAddress(address) {\n const resolvedAddress = typeof address === \"string\" ? address : \"\";\n const avatarIndex = Math.abs(hashCode(resolvedAddress.toLowerCase()) % avatars.length);\n return avatars[avatarIndex != null ? avatarIndex : 0];\n}\n\n// src/components/Avatar/EmojiAvatar.tsx\nvar EmojiAvatar = ({ address, ensImage, size }) => {\n const [loaded, setLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (ensImage) {\n const img = new Image();\n img.src = ensImage;\n img.onload = () => setLoaded(true);\n }\n }, [ensImage]);\n const { color: backgroundColor, emoji } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => emojiAvatarForAddress(address), [address]);\n return ensImage ? loaded ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n backgroundSize: \"cover\",\n borderRadius: \"full\",\n position: \"absolute\",\n style: {\n backgroundImage: `url(${ensImage})`,\n backgroundPosition: \"center\",\n height: size,\n width: size\n }\n }) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n backgroundSize: \"cover\",\n borderRadius: \"full\",\n color: \"modalText\",\n display: \"flex\",\n justifyContent: \"center\",\n position: \"absolute\",\n style: {\n height: size,\n width: size\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(SpinnerIcon, null)) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n style: {\n ...!ensImage && { backgroundColor },\n height: size,\n width: size\n }\n }, emoji);\n};\n\n// src/components/RainbowKitProvider/AvatarContext.ts\nvar defaultAvatar = EmojiAvatar;\nvar AvatarContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(defaultAvatar);\n\n// src/components/Avatar/Avatar.tsx\nfunction Avatar({ address, imageUrl, loading, size }) {\n const AvatarComponent2 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AvatarContext);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n \"aria-hidden\": true,\n borderRadius: \"full\",\n overflow: \"hidden\",\n position: \"relative\",\n style: {\n height: `${size}px`,\n width: `${size}px`\n },\n userSelect: \"none\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n borderRadius: \"full\",\n display: \"flex\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n position: \"absolute\",\n style: {\n fontSize: `${Math.round(size * 0.55)}px`,\n height: `${size}px`,\n transform: loading ? \"scale(0.72)\" : void 0,\n transition: \".25s ease\",\n transitionDelay: loading ? void 0 : \".1s\",\n width: `${size}px`,\n willChange: \"transform\"\n },\n userSelect: \"none\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AvatarComponent2, {\n address,\n ensImage: imageUrl,\n size\n })), typeof loading === \"boolean\" && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n color: \"accentColor\",\n display: \"flex\",\n height: \"full\",\n position: \"absolute\",\n style: {\n opacity: loading ? 1 : 0,\n transition: loading ? \"0.6s ease\" : \"0.2s ease\",\n transitionDelay: loading ? \".05s\" : void 0\n },\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(SpinnerIcon, {\n height: \"100%\",\n width: \"100%\"\n })));\n}\n\n// src/components/Icons/Dropdown.tsx\n\nvar DropdownIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"7\",\n width: \"14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M12.75 1.54001L8.51647 5.0038C7.77974 5.60658 6.72026 5.60658 5.98352 5.0038L1.75 1.54001\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2.5\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}));\n\n// src/components/RainbowKitProvider/RainbowKitChainContext.tsx\n\n\n// src/utils/isNotNullish.ts\nfunction isNotNullish(value) {\n return value != null;\n}\n\n// src/components/RainbowKitProvider/provideRainbowKitChains.ts\nvar arbitrumIcon = {\n iconBackground: \"#96bedc\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_arbitrum-LYDBJZP3_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./arbitrum-LYDBJZP3.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/arbitrum-LYDBJZP3.js\"))).default\n};\nvar avalancheIcon = {\n iconBackground: \"#e84141\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_avalanche-TFPKP544_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./avalanche-TFPKP544.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/avalanche-TFPKP544.js\"))).default\n};\nvar baseIcon = {\n iconBackground: \"#0052ff\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_base-3MIUIYGA_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./base-3MIUIYGA.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/base-3MIUIYGA.js\"))).default\n};\nvar bscIcon = {\n iconBackground: \"#ebac0e\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_bsc-S2GSW6VX_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./bsc-S2GSW6VX.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/bsc-S2GSW6VX.js\"))).default\n};\nvar cronosIcon = {\n iconBackground: \"#002D74\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_cronos-DQKKIEX7_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cronos-DQKKIEX7.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/cronos-DQKKIEX7.js\"))).default\n};\nvar ethereumIcon = {\n iconBackground: \"#484c50\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_ethereum-4FY57XJF_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ethereum-4FY57XJF.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/ethereum-4FY57XJF.js\"))).default\n};\nvar hardhatIcon = {\n iconBackground: \"#f9f7ec\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_hardhat-ARRFHFKB_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./hardhat-ARRFHFKB.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/hardhat-ARRFHFKB.js\"))).default\n};\nvar optimismIcon = {\n iconBackground: \"#ff5a57\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_optimism-UUP5Y7TB_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./optimism-UUP5Y7TB.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/optimism-UUP5Y7TB.js\"))).default\n};\nvar polygonIcon = {\n iconBackground: \"#9f71ec\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_polygon-Z4QITDL7_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./polygon-Z4QITDL7.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/polygon-Z4QITDL7.js\"))).default\n};\nvar zoraIcon = {\n iconBackground: \"#000000\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_zora-KVO7WIOK_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./zora-KVO7WIOK.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/zora-KVO7WIOK.js\"))).default\n};\nvar chainMetadataByName = {\n arbitrum: { chainId: 42161, name: \"Arbitrum\", ...arbitrumIcon },\n arbitrumGoerli: { chainId: 421613, ...arbitrumIcon },\n avalanche: { chainId: 43114, ...avalancheIcon },\n avalancheFuji: { chainId: 43113, ...avalancheIcon },\n base: { chainId: 8453, ...baseIcon },\n baseGoerli: { chainId: 84531, ...baseIcon },\n bsc: { chainId: 56, name: \"BSC\", ...bscIcon },\n bscTestnet: { chainId: 97, ...bscIcon },\n cronos: { chainId: 25, ...cronosIcon },\n cronosTestnet: { chainId: 338, ...cronosIcon },\n goerli: { chainId: 5, ...ethereumIcon },\n hardhat: { chainId: 31337, ...hardhatIcon },\n kovan: { chainId: 42, ...ethereumIcon },\n localhost: { chainId: 1337, ...ethereumIcon },\n mainnet: { chainId: 1, ...ethereumIcon },\n optimism: { chainId: 10, name: \"Optimism\", ...optimismIcon },\n optimismGoerli: { chainId: 420, ...optimismIcon },\n optimismKovan: { chainId: 69, ...optimismIcon },\n polygon: { chainId: 137, ...polygonIcon },\n polygonMumbai: { chainId: 80001, ...polygonIcon },\n rinkeby: { chainId: 4, ...ethereumIcon },\n ropsten: { chainId: 3, ...ethereumIcon },\n sepolia: { chainId: 11155111, ...ethereumIcon },\n zora: { chainId: 7777777, ...zoraIcon },\n zoraTestnet: { chainId: 999, ...zoraIcon }\n};\nvar chainMetadataById = Object.fromEntries(Object.values(chainMetadataByName).filter(isNotNullish).map(({ chainId, ...metadata }) => [chainId, metadata]));\nvar provideRainbowKitChains = (chains) => chains.map((chain) => {\n var _a;\n return {\n ...chain,\n ...(_a = chainMetadataById[chain.id]) != null ? _a : {}\n };\n});\n\n// src/components/RainbowKitProvider/RainbowKitChainContext.tsx\nvar RainbowKitChainContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\n chains: []\n});\nfunction RainbowKitChainProvider({\n chains,\n children,\n initialChain\n}) {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RainbowKitChainContext.Provider, {\n value: (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({\n chains: provideRainbowKitChains(chains),\n initialChainId: typeof initialChain === \"number\" ? initialChain : initialChain == null ? void 0 : initialChain.id\n }), [chains, initialChain])\n }, children);\n}\nvar useRainbowKitChains = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(RainbowKitChainContext).chains;\nvar useInitialChainId = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(RainbowKitChainContext).initialChainId;\nvar useRainbowKitChainsById = () => {\n const rainbowkitChains = useRainbowKitChains();\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\n const rainbowkitChainsById = {};\n rainbowkitChains.forEach((rkChain) => {\n rainbowkitChainsById[rkChain.id] = rkChain;\n });\n return rainbowkitChainsById;\n }, [rainbowkitChains]);\n};\n\n// src/components/ConnectButton/ConnectButtonRenderer.tsx\n\n\n\n// src/hooks/useIsMounted.ts\n\nvar useIsMounted = () => {\n const [mounted, setMounted] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(() => true, false);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(setMounted, [setMounted]);\n return mounted;\n};\n\n// src/hooks/useMainnetEnsAvatar.ts\n\n\n// src/hooks/useMainnet.ts\n\n\nfunction useMainnet() {\n const chainId = wagmi_chains__WEBPACK_IMPORTED_MODULE_5__.mainnet.id;\n const provider = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.usePublicClient)();\n const chains = Array.isArray(provider.chains) ? provider.chains : [];\n const enabled = chains == null ? void 0 : chains.some((chain) => (chain == null ? void 0 : chain.id) === chainId);\n return { chainId, enabled };\n}\n\n// src/hooks/useMainnetEnsAvatar.ts\nfunction useMainnetEnsAvatar(name) {\n const { chainId, enabled } = useMainnet();\n const { data: ensAvatar } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useEnsAvatar)({\n chainId,\n enabled,\n name\n });\n return ensAvatar;\n}\n\n// src/hooks/useMainnetEnsName.ts\n\nfunction useMainnetEnsName(address) {\n const { chainId, enabled } = useMainnet();\n const { data: ensName } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useEnsName)({\n address,\n chainId,\n enabled\n });\n return ensName;\n}\n\n// src/transactions/useRecentTransactions.ts\n\n\n\n// src/hooks/useChainId.ts\n\nfunction useChainId() {\n var _a;\n const { chain: activeChain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n return (_a = activeChain == null ? void 0 : activeChain.id) != null ? _a : null;\n}\n\n// src/transactions/TransactionStoreContext.tsx\n\n\n\n// src/transactions/transactionStore.ts\nvar storageKey = \"rk-transactions\";\nfunction safeParseJsonData(string) {\n try {\n const value = string ? JSON.parse(string) : {};\n return typeof value === \"object\" ? value : {};\n } catch (err) {\n return {};\n }\n}\nfunction loadData() {\n return safeParseJsonData(typeof localStorage !== \"undefined\" ? localStorage.getItem(storageKey) : null);\n}\nvar transactionHashRegex = /^0x([A-Fa-f0-9]{64})$/;\nfunction validateTransaction(transaction) {\n const errors = [];\n if (!transactionHashRegex.test(transaction.hash)) {\n errors.push(\"Invalid transaction hash\");\n }\n if (typeof transaction.description !== \"string\") {\n errors.push(\"Transaction must have a description\");\n }\n if (typeof transaction.confirmations !== \"undefined\" && (!Number.isInteger(transaction.confirmations) || transaction.confirmations < 1)) {\n errors.push(\"Transaction confirmations must be a positiver integer\");\n }\n return errors;\n}\nfunction createTransactionStore({\n provider: initialProvider\n}) {\n let data = loadData();\n let provider = initialProvider;\n const listeners = /* @__PURE__ */ new Set();\n const transactionRequestCache = /* @__PURE__ */ new Map();\n function setProvider(newProvider) {\n provider = newProvider;\n }\n function getTransactions(account, chainId) {\n var _a, _b;\n return (_b = (_a = data[account]) == null ? void 0 : _a[chainId]) != null ? _b : [];\n }\n function addTransaction(account, chainId, transaction) {\n const errors = validateTransaction(transaction);\n if (errors.length > 0) {\n throw new Error([\"Unable to add transaction\", ...errors].join(\"\\n\"));\n }\n updateTransactions(account, chainId, (transactions) => {\n return [\n { ...transaction, status: \"pending\" },\n ...transactions.filter(({ hash }) => {\n return hash !== transaction.hash;\n })\n ];\n });\n }\n function clearTransactions(account, chainId) {\n updateTransactions(account, chainId, () => {\n return [];\n });\n }\n function setTransactionStatus(account, chainId, hash, status) {\n updateTransactions(account, chainId, (transactions) => {\n return transactions.map((transaction) => transaction.hash === hash ? { ...transaction, status } : transaction);\n });\n }\n async function waitForPendingTransactions(account, chainId) {\n await Promise.all(getTransactions(account, chainId).filter((transaction) => transaction.status === \"pending\").map(async (transaction) => {\n const { confirmations, hash } = transaction;\n const existingRequest = transactionRequestCache.get(hash);\n if (existingRequest) {\n return await existingRequest;\n }\n const requestPromise = provider.waitForTransactionReceipt({ confirmations, hash }).then(({ status }) => {\n transactionRequestCache.delete(hash);\n if (status === void 0) {\n return;\n }\n setTransactionStatus(account, chainId, hash, status === 0 || status === \"reverted\" ? \"failed\" : \"confirmed\");\n });\n transactionRequestCache.set(hash, requestPromise);\n return await requestPromise;\n }));\n }\n function updateTransactions(account, chainId, updateFn) {\n var _a, _b;\n data = loadData();\n data[account] = (_a = data[account]) != null ? _a : {};\n let completedTransactionCount = 0;\n const MAX_COMPLETED_TRANSACTIONS = 10;\n const transactions = updateFn((_b = data[account][chainId]) != null ? _b : []).filter(({ status }) => {\n return status === \"pending\" ? true : completedTransactionCount++ <= MAX_COMPLETED_TRANSACTIONS;\n });\n data[account][chainId] = transactions.length > 0 ? transactions : void 0;\n persistData();\n notifyListeners();\n waitForPendingTransactions(account, chainId);\n }\n function persistData() {\n localStorage.setItem(storageKey, JSON.stringify(data));\n }\n function notifyListeners() {\n listeners.forEach((listener) => listener());\n }\n function onChange(fn) {\n listeners.add(fn);\n return () => {\n listeners.delete(fn);\n };\n }\n return {\n addTransaction,\n clearTransactions,\n getTransactions,\n onChange,\n setProvider,\n waitForPendingTransactions\n };\n}\n\n// src/transactions/TransactionStoreContext.tsx\nvar storeSingleton;\nvar TransactionStoreContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);\nfunction TransactionStoreProvider({\n children\n}) {\n const provider = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.usePublicClient)();\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const chainId = useChainId();\n const [store] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => storeSingleton != null ? storeSingleton : storeSingleton = createTransactionStore({ provider }));\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n store.setProvider(provider);\n }, [store, provider]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (address && chainId) {\n store.waitForPendingTransactions(address, chainId);\n }\n }, [store, address, chainId]);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TransactionStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction useTransactionStore() {\n const store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(TransactionStoreContext);\n if (!store) {\n throw new Error(\"Transaction hooks must be used within RainbowKitProvider\");\n }\n return store;\n}\n\n// src/transactions/useRecentTransactions.ts\nfunction useRecentTransactions() {\n const store = useTransactionStore();\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const chainId = useChainId();\n const [transactions, setTransactions] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => store && address && chainId ? store.getTransactions(address, chainId) : []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (store && address && chainId) {\n setTransactions(store.getTransactions(address, chainId));\n return store.onChange(() => {\n setTransactions(store.getTransactions(address, chainId));\n });\n }\n }, [store, address, chainId]);\n return transactions;\n}\n\n// src/components/RainbowKitProvider/ModalContext.tsx\n\n\n\n// src/components/AccountModal/AccountModal.tsx\n\n\n\n// src/components/Dialog/Dialog.tsx\n\n\n\n\n// src/components/RainbowKitProvider/RainbowKitProvider.tsx\n\n\n\n// src/css/cssObjectFromTheme.ts\n\nvar resolveThemeVars = (theme) => typeof theme === \"function\" ? theme() : theme;\nfunction cssObjectFromTheme(theme, { extends: baseTheme } = {}) {\n const resolvedThemeVars = {\n ...(0,_vanilla_extract_dynamic__WEBPACK_IMPORTED_MODULE_7__.assignInlineVars)(themeVars, resolveThemeVars(theme))\n };\n if (!baseTheme) {\n return resolvedThemeVars;\n }\n const resolvedBaseThemeVars = (0,_vanilla_extract_dynamic__WEBPACK_IMPORTED_MODULE_7__.assignInlineVars)(themeVars, resolveThemeVars(baseTheme));\n const filteredVars = Object.fromEntries(Object.entries(resolvedThemeVars).filter(([varName, value]) => value !== resolvedBaseThemeVars[varName]));\n return filteredVars;\n}\n\n// src/css/cssStringFromTheme.ts\nfunction cssStringFromTheme(theme, options = {}) {\n return Object.entries(cssObjectFromTheme(theme, options)).map(([key, value]) => `${key}:${value.replace(/[:;{}</>]/g, \"\")};`).join(\"\");\n}\n\n// src/hooks/useWindowSize.ts\n\nvar useWindowSize = () => {\n const [windowSize, setWindowSize] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({\n height: void 0,\n width: void 0\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n function handleResize() {\n setWindowSize({\n height: window.innerHeight,\n width: window.innerWidth\n });\n }\n window.addEventListener(\"resize\", handleResize);\n handleResize();\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n return windowSize;\n};\n\n// src/components/RainbowKitProvider/AppContext.ts\n\nvar defaultAppInfo = {\n appName: void 0,\n disclaimer: void 0,\n learnMoreUrl: \"https://learn.rainbow.me/understanding-web3?utm_source=rainbowkit&utm_campaign=learnmore\"\n};\nvar AppContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(defaultAppInfo);\n\n// src/components/RainbowKitProvider/CoolModeContext.ts\n\nvar CoolModeContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(false);\n\n// src/components/RainbowKitProvider/ModalSizeContext.ts\n\nvar ModalSizeOptions = {\n COMPACT: \"compact\",\n WIDE: \"wide\"\n};\nvar ModalSizeContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(ModalSizeOptions.WIDE);\n\n// src/components/RainbowKitProvider/ShowRecentTransactionsContext.ts\n\nvar ShowRecentTransactionsContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(false);\n\n// src/components/RainbowKitProvider/usePreloadImages.ts\n\n\n// src/wallets/useWalletConnectors.ts\n\n\n// src/utils/flatten.ts\nfunction flatten(array) {\n const flattenedItems = [];\n for (const items of array) {\n flattenedItems.push(...items);\n }\n return flattenedItems;\n}\n\n// src/utils/indexBy.ts\nfunction indexBy(items, getKey) {\n const indexedItems = {};\n items.forEach((item) => {\n const key = getKey(item);\n if (!key) {\n return;\n }\n indexedItems[key] = item;\n });\n return indexedItems;\n}\n\n// src/utils/browsers.ts\nfunction isSafari() {\n return typeof navigator !== \"undefined\" && /Version\\/([0-9._]+).*Safari/.test(navigator.userAgent);\n}\nfunction isArc() {\n return typeof document !== \"undefined\" && getComputedStyle(document.body).getPropertyValue(\"--arc-palette-focus\") !== \"\";\n}\nfunction getBrowser() {\n var _a;\n if (typeof navigator === \"undefined\")\n return \"Browser\" /* Browser */;\n const ua = navigator.userAgent.toLowerCase();\n if ((_a = navigator.brave) == null ? void 0 : _a.isBrave)\n return \"Brave\" /* Brave */;\n else if (ua.indexOf(\"edg/\") > -1)\n return \"Edge\" /* Edge */;\n else if (ua.indexOf(\"op\") > -1)\n return \"Opera\" /* Opera */;\n else if (isArc())\n return \"Arc\" /* Arc */;\n else if (ua.indexOf(\"chrome\") > -1)\n return \"Chrome\" /* Chrome */;\n else if (ua.indexOf(\"firefox\") > -1)\n return \"Firefox\" /* Firefox */;\n else if (isSafari())\n return \"Safari\" /* Safari */;\n return \"Browser\" /* Browser */;\n}\n\n// src/wallets/downloadUrls.ts\nvar getExtensionDownloadUrl = (wallet) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n const browser = getBrowser();\n return (_l = {\n [\"Arc\" /* Arc */]: (_a = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _a.chrome,\n [\"Brave\" /* Brave */]: (_b = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _b.chrome,\n [\"Chrome\" /* Chrome */]: (_c = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _c.chrome,\n [\"Edge\" /* Edge */]: ((_d = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _d.edge) || ((_e = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _e.chrome),\n [\"Firefox\" /* Firefox */]: (_f = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _f.firefox,\n [\"Opera\" /* Opera */]: ((_g = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _g.opera) || ((_h = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _h.chrome),\n [\"Safari\" /* Safari */]: (_i = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _i.safari,\n [\"Browser\" /* Browser */]: (_j = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _j.browserExtension\n }[browser]) != null ? _l : (_k = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _k.browserExtension;\n};\nvar getMobileDownloadUrl = (wallet) => {\n var _a, _b, _c, _d;\n const ios = isIOS();\n return (_d = ios ? (_a = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _a.ios : (_b = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _b.android) != null ? _d : (_c = wallet == null ? void 0 : wallet.downloadUrls) == null ? void 0 : _c.mobile;\n};\n\n// src/wallets/recentWalletIds.ts\nvar storageKey2 = \"rk-recent\";\nfunction safeParseJsonArray(string) {\n try {\n const value = string ? JSON.parse(string) : [];\n return Array.isArray(value) ? value : [];\n } catch (err) {\n return [];\n }\n}\nfunction getRecentWalletIds() {\n return typeof localStorage !== \"undefined\" ? safeParseJsonArray(localStorage.getItem(storageKey2)) : [];\n}\nfunction dedupe(array) {\n return [...new Set(array)];\n}\nfunction addRecentWalletId(walletId) {\n const newValue = dedupe([walletId, ...getRecentWalletIds()]);\n localStorage.setItem(storageKey2, JSON.stringify(newValue));\n}\n\n// src/wallets/useWalletConnectors.ts\nfunction useWalletConnectors() {\n const rainbowKitChains = useRainbowKitChains();\n const intialChainId = useInitialChainId();\n const { connectAsync, connectors: defaultConnectors_untyped } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useConnect)();\n const defaultConnectors = defaultConnectors_untyped;\n async function connectWallet(walletId, connector) {\n var _a, _b, _c;\n const walletChainId = await connector.getChainId();\n const result = await connectAsync({\n chainId: (_c = intialChainId != null ? intialChainId : (_a = rainbowKitChains.find(({ id }) => id === walletChainId)) == null ? void 0 : _a.id) != null ? _c : (_b = rainbowKitChains[0]) == null ? void 0 : _b.id,\n connector\n });\n if (result) {\n addRecentWalletId(walletId);\n }\n return result;\n }\n async function connectToWalletConnectModal(walletId, walletConnectModalConnector) {\n try {\n return await connectWallet(walletId, walletConnectModalConnector);\n } catch (err) {\n const isUserRejection = err.name === \"UserRejectedRequestError\" || err.message === \"Connection request reset. Please try again.\";\n if (!isUserRejection) {\n throw err;\n }\n }\n }\n const walletInstances = flatten(defaultConnectors.map((connector) => {\n var _a;\n return (_a = connector._wallets) != null ? _a : [];\n })).sort((a, b) => a.index - b.index);\n const walletInstanceById = indexBy(walletInstances, (walletInstance) => walletInstance.id);\n const MAX_RECENT_WALLETS = 3;\n const recentWallets = getRecentWalletIds().map((walletId) => walletInstanceById[walletId]).filter(isNotNullish).slice(0, MAX_RECENT_WALLETS);\n const groupedWallets = [\n ...recentWallets,\n ...walletInstances.filter((walletInstance) => !recentWallets.includes(walletInstance))\n ];\n const walletConnectors = [];\n groupedWallets.forEach((wallet) => {\n var _a;\n if (!wallet) {\n return;\n }\n const recent = recentWallets.includes(wallet);\n walletConnectors.push({\n ...wallet,\n connect: () => wallet.connector.showQrModal ? connectToWalletConnectModal(wallet.id, wallet.connector) : connectWallet(wallet.id, wallet.connector),\n extensionDownloadUrl: getExtensionDownloadUrl(wallet),\n groupName: wallet.groupName,\n mobileDownloadUrl: getMobileDownloadUrl(wallet),\n onConnecting: (fn) => wallet.connector.on(\"message\", ({ type }) => type === \"connecting\" ? fn() : void 0),\n ready: ((_a = wallet.installed) != null ? _a : true) && wallet.connector.ready,\n recent,\n showWalletConnectModal: wallet.walletConnectModalConnector ? () => connectToWalletConnectModal(wallet.id, wallet.walletConnectModalConnector) : void 0\n });\n });\n return walletConnectors;\n}\n\n// src/components/Icons/Assets.tsx\n\nvar src = async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_assets-26YY4GVD_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./assets-26YY4GVD.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/assets-26YY4GVD.js\"))).default;\nvar preloadAssetsIcon = () => loadImages(src);\nvar AssetsIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: \"#d0d5de\",\n borderRadius: \"10\",\n height: \"48\",\n src,\n width: \"48\"\n});\n\n// src/components/Icons/Login.tsx\n\nvar src2 = async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_login-ZSMM5UYL_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./login-ZSMM5UYL.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/login-ZSMM5UYL.js\"))).default;\nvar preloadLoginIcon = () => loadImages(src2);\nvar LoginIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: \"#d0d5de\",\n borderRadius: \"10\",\n height: \"48\",\n src: src2,\n width: \"48\"\n});\n\n// src/components/SignIn/SignIn.tsx\n\n\n\n\n// src/components/Button/ActionButton.tsx\n\n\n// src/components/Text/Text.tsx\n\nvar Text = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({\n as = \"div\",\n children,\n className,\n color,\n display,\n font = \"body\",\n id,\n size = \"16\",\n style,\n tabIndex,\n textAlign = \"inherit\",\n weight = \"regular\"\n}, ref) => {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as,\n className,\n color,\n display,\n fontFamily: font,\n fontSize: size,\n fontWeight: weight,\n id,\n ref,\n style,\n tabIndex,\n textAlign\n }, children);\n});\nText.displayName = \"Text\";\n\n// src/components/Button/ActionButton.tsx\nvar sizeVariants = {\n large: {\n fontSize: \"16\",\n paddingX: \"24\",\n paddingY: \"10\"\n },\n medium: {\n fontSize: \"14\",\n height: \"28\",\n paddingX: \"12\",\n paddingY: \"4\"\n },\n small: {\n fontSize: \"14\",\n paddingX: \"10\",\n paddingY: \"5\"\n }\n};\nfunction ActionButton({\n disabled = false,\n href,\n label,\n onClick,\n rel = \"noreferrer noopener\",\n size = \"medium\",\n target = \"_blank\",\n testId,\n type = \"primary\"\n}) {\n const isPrimary = type === \"primary\";\n const isNotLarge = size !== \"large\";\n const mobile = isMobile();\n const background = !disabled ? isPrimary ? \"accentColor\" : isNotLarge ? \"actionButtonSecondaryBackground\" : null : \"actionButtonSecondaryBackground\";\n const { fontSize, height, paddingX, paddingY } = sizeVariants[size];\n const hasBorder = !mobile || !isNotLarge;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...href ? !disabled ? { as: \"a\", href, rel, target } : {} : { as: \"button\", type: \"button\" },\n onClick: !disabled ? onClick : void 0,\n ...hasBorder ? {\n borderColor: mobile && !isNotLarge && !isPrimary ? \"actionButtonBorderMobile\" : \"actionButtonBorder\",\n borderStyle: \"solid\",\n borderWidth: \"1\"\n } : {},\n borderRadius: \"actionButton\",\n className: !disabled && touchableStyles({ active: \"shrinkSm\", hover: \"grow\" }),\n display: \"block\",\n paddingX,\n paddingY,\n style: { willChange: \"transform\" },\n testId,\n textAlign: \"center\",\n transition: \"transform\",\n ...background ? { background } : {},\n ...height ? { height } : {}\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: !disabled ? isPrimary ? \"accentColorForeground\" : \"accentColor\" : \"modalTextSecondary\",\n size: fontSize,\n weight: \"bold\"\n }, label));\n}\n\n// src/components/CloseButton/CloseButton.tsx\n\n\n// src/components/Icons/Close.tsx\n\nvar CloseIcon = () => {\n return isMobile() ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n \"aria-hidden\": true,\n fill: \"none\",\n height: \"11.5\",\n viewBox: \"0 0 11.5 11.5\",\n width: \"11.5\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M2.13388 0.366117C1.64573 -0.122039 0.854272 -0.122039 0.366117 0.366117C-0.122039 0.854272 -0.122039 1.64573 0.366117 2.13388L3.98223 5.75L0.366117 9.36612C-0.122039 9.85427 -0.122039 10.6457 0.366117 11.1339C0.854272 11.622 1.64573 11.622 2.13388 11.1339L5.75 7.51777L9.36612 11.1339C9.85427 11.622 10.6457 11.622 11.1339 11.1339C11.622 10.6457 11.622 9.85427 11.1339 9.36612L7.51777 5.75L11.1339 2.13388C11.622 1.64573 11.622 0.854272 11.1339 0.366117C10.6457 -0.122039 9.85427 -0.122039 9.36612 0.366117L5.75 3.98223L2.13388 0.366117Z\",\n fill: \"currentColor\"\n })) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n \"aria-hidden\": true,\n fill: \"none\",\n height: \"10\",\n viewBox: \"0 0 10 10\",\n width: \"10\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z\",\n fill: \"currentColor\"\n }));\n};\n\n// src/components/CloseButton/CloseButton.tsx\nvar CloseButton = ({\n \"aria-label\": ariaLabel = \"Close\",\n onClose\n}) => {\n const mobile = isMobile();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n \"aria-label\": ariaLabel,\n as: \"button\",\n background: \"closeButtonBackground\",\n borderColor: \"actionButtonBorder\",\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: mobile ? \"0\" : \"1\",\n className: touchableStyles({ active: \"shrinkSm\", hover: \"growLg\" }),\n color: \"closeButton\",\n display: \"flex\",\n height: mobile ? \"30\" : \"28\",\n justifyContent: \"center\",\n onClick: onClose,\n style: { willChange: \"transform\" },\n transition: \"default\",\n type: \"button\",\n width: mobile ? \"30\" : \"28\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseIcon, null));\n};\n\n// src/components/SignIn/SignIn.tsx\nvar signInIcon = async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_sign-FZVB2CS6_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sign-FZVB2CS6.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/sign-FZVB2CS6.js\"))).default;\nfunction SignIn({ onClose }) {\n const [{ status, ...state }, setState] = react__WEBPACK_IMPORTED_MODULE_0__.useState({ status: \"idle\" });\n const authAdapter = useAuthenticationAdapter();\n const getNonce = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async () => {\n try {\n const nonce = await authAdapter.getNonce();\n setState((x) => ({ ...x, nonce }));\n } catch (error) {\n setState((x) => ({\n ...x,\n errorMessage: \"Error preparing message, please retry!\",\n status: \"idle\"\n }));\n }\n }, [authAdapter]);\n const onceRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n if (onceRef.current)\n return;\n onceRef.current = true;\n getNonce();\n }, [getNonce]);\n const mobile = isMobile();\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const { chain: activeChain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n const { signMessageAsync } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useSignMessage)();\n const { disconnect } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useDisconnect)();\n const cancel = () => disconnect();\n const signIn = async () => {\n try {\n const chainId = activeChain == null ? void 0 : activeChain.id;\n const { nonce } = state;\n if (!address || !chainId || !nonce) {\n return;\n }\n setState((x) => ({\n ...x,\n errorMessage: void 0,\n status: \"signing\"\n }));\n const message = authAdapter.createMessage({ address, chainId, nonce });\n let signature;\n try {\n signature = await signMessageAsync({\n message: authAdapter.getMessageBody({ message })\n });\n } catch (error) {\n if (error instanceof viem__WEBPACK_IMPORTED_MODULE_8__.UserRejectedRequestError) {\n return setState((x) => ({\n ...x,\n status: \"idle\"\n }));\n }\n return setState((x) => ({\n ...x,\n errorMessage: \"Error signing message, please retry!\",\n status: \"idle\"\n }));\n }\n setState((x) => ({ ...x, status: \"verifying\" }));\n try {\n const verified = await authAdapter.verify({ message, signature });\n if (verified) {\n return;\n } else {\n throw new Error();\n }\n } catch (error) {\n return setState((x) => ({\n ...x,\n errorMessage: \"Error verifying signature, please retry!\",\n status: \"idle\"\n }));\n }\n } catch (error) {\n setState({\n errorMessage: \"Oops, something went wrong!\",\n status: \"idle\"\n });\n }\n };\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n position: \"relative\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n paddingRight: \"16\",\n paddingTop: \"16\",\n position: \"absolute\",\n right: \"0\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseButton, {\n onClose\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"32\" : \"24\",\n padding: \"24\",\n paddingX: \"18\",\n style: { paddingTop: mobile ? \"60px\" : \"36px\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"6\" : \"4\",\n style: { maxWidth: mobile ? 320 : 280 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"32\" : \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n height: 40,\n src: signInIcon,\n width: 40\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: mobile ? \"20\" : \"18\",\n textAlign: \"center\",\n weight: \"heavy\"\n }, \"Verify your account\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"16\" : \"12\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: mobile ? \"16\" : \"14\",\n textAlign: \"center\"\n }, \"To finish connecting, you must sign a message in your wallet to verify that you are the owner of this account.\"), status === \"idle\" && state.errorMessage ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"error\",\n size: mobile ? \"16\" : \"14\",\n textAlign: \"center\",\n weight: \"bold\"\n }, state.errorMessage) : null)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: !mobile ? \"center\" : void 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n disabled: !state.nonce || status === \"signing\" || status === \"verifying\",\n label: !state.nonce ? \"Preparing message...\" : status === \"signing\" ? \"Waiting for signature...\" : status === \"verifying\" ? \"Verifying signature...\" : \"Send message\",\n onClick: signIn,\n size: mobile ? \"large\" : \"medium\",\n testId: \"auth-message-button\"\n }), mobile ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"Cancel\",\n onClick: cancel,\n size: \"large\",\n type: \"secondary\"\n }) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"button\",\n borderRadius: \"full\",\n className: touchableStyles({ active: \"shrink\", hover: \"grow\" }),\n display: \"block\",\n onClick: cancel,\n paddingX: \"10\",\n paddingY: \"5\",\n rel: \"noreferrer\",\n style: { willChange: \"transform\" },\n target: \"_blank\",\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"closeButton\",\n size: mobile ? \"16\" : \"14\",\n weight: \"bold\"\n }, \"Cancel\")))));\n}\n\n// src/components/RainbowKitProvider/usePreloadImages.ts\nfunction usePreloadImages() {\n const rainbowKitChains = useRainbowKitChains();\n const walletConnectors = useWalletConnectors();\n const isUnauthenticated = useAuthenticationStatus() === \"unauthenticated\";\n const preloadImages = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {\n loadImages(...walletConnectors.map((wallet) => wallet.iconUrl), ...rainbowKitChains.map((chain) => chain.iconUrl).filter(isNotNullish));\n if (!isMobile()) {\n preloadAssetsIcon();\n preloadLoginIcon();\n }\n if (isUnauthenticated) {\n loadImages(signInIcon);\n }\n }, [walletConnectors, rainbowKitChains, isUnauthenticated]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n preloadImages();\n }, [preloadImages]);\n}\n\n// src/components/RainbowKitProvider/walletConnectDeepLink.ts\nvar storageKey3 = \"WALLETCONNECT_DEEPLINK_CHOICE\";\nfunction setWalletConnectDeepLink({\n mobileUri,\n name\n}) {\n localStorage.setItem(storageKey3, JSON.stringify({\n href: mobileUri.split(\"?\")[0],\n name\n }));\n}\nfunction clearWalletConnectDeepLink() {\n localStorage.removeItem(storageKey3);\n}\n\n// src/components/RainbowKitProvider/RainbowKitProvider.tsx\nvar ThemeIdContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(void 0);\nvar attr = \"data-rk\";\nvar createThemeRootProps = (id) => ({ [attr]: id || \"\" });\nvar createThemeRootSelector = (id) => {\n if (id && !/^[a-zA-Z0-9_]+$/.test(id)) {\n throw new Error(`Invalid ID: ${id}`);\n }\n return id ? `[${attr}=\"${id}\"]` : `[${attr}]`;\n};\nvar useThemeRootProps = () => {\n const id = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ThemeIdContext);\n return createThemeRootProps(id);\n};\nvar defaultTheme = (0,_chunk_Q4HVINFA_js__WEBPACK_IMPORTED_MODULE_9__.lightTheme)();\nfunction RainbowKitProvider({\n appInfo,\n avatar,\n chains,\n children,\n coolMode = false,\n id,\n initialChain,\n modalSize = ModalSizeOptions.WIDE,\n showRecentTransactions = false,\n theme = defaultTheme\n}) {\n usePreloadImages();\n (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)({ onDisconnect: clearWalletConnectDeepLink });\n if (typeof theme === \"function\") {\n throw new Error('A theme function was provided to the \"theme\" prop instead of a theme object. You must execute this function to get the resulting theme object.');\n }\n const selector = createThemeRootSelector(id);\n const appContext = {\n ...defaultAppInfo,\n ...appInfo\n };\n const avatarContext = avatar != null ? avatar : defaultAvatar;\n const { width } = useWindowSize();\n const isSmallScreen = width && width < largeScreenMinWidth;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RainbowKitChainProvider, {\n chains,\n initialChain\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CoolModeContext.Provider, {\n value: coolMode\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ModalSizeContext.Provider, {\n value: isSmallScreen ? ModalSizeOptions.COMPACT : modalSize\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ShowRecentTransactionsContext.Provider, {\n value: showRecentTransactions\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TransactionStoreProvider, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AvatarContext.Provider, {\n value: avatarContext\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AppContext.Provider, {\n value: appContext\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ThemeIdContext.Provider, {\n value: id\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ModalProvider, null, theme ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", {\n ...createThemeRootProps(id)\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: [\n `${selector}{${cssStringFromTheme(\"lightMode\" in theme ? theme.lightMode : theme)}}`,\n \"darkMode\" in theme ? `@media(prefers-color-scheme:dark){${selector}{${cssStringFromTheme(theme.darkMode, { extends: theme.lightMode })}}}` : null\n ].join(\"\")\n }\n }), children) : children)))))))));\n}\n\n// src/components/Dialog/Dialog.css.ts\nvar content = \"_9pm4ki5 ju367va ju367v10 ju367v8m\";\nvar overlay = \"_9pm4ki3 ju367v9b ju367vax ju367va ju367v2l ju367v8l\";\n\n// src/components/Dialog/FocusTrap.tsx\n\nvar moveFocusWithin = (element2, position) => {\n const focusableElements = element2.querySelectorAll(\"button:not(:disabled), a[href]\");\n if (focusableElements.length === 0)\n return;\n focusableElements[position === \"end\" ? focusableElements.length - 1 : 0].focus();\n};\nfunction FocusTrap(props) {\n const contentRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n const previouslyActiveElement = document.activeElement;\n return () => {\n var _a;\n (_a = previouslyActiveElement.focus) == null ? void 0 : _a.call(previouslyActiveElement);\n };\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (contentRef.current) {\n const elementToFocus = contentRef.current.querySelector(\"[data-auto-focus]\");\n if (elementToFocus) {\n elementToFocus.focus();\n } else {\n contentRef.current.focus();\n }\n }\n }, [contentRef]);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", {\n onFocus: (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => contentRef.current && moveFocusWithin(contentRef.current, \"end\"), []),\n tabIndex: 0\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", {\n ref: contentRef,\n style: { outline: \"none\" },\n tabIndex: -1,\n ...props\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", {\n onFocus: (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => contentRef.current && moveFocusWithin(contentRef.current, \"start\"), []),\n tabIndex: 0\n }));\n}\n\n// src/components/Dialog/Dialog.tsx\nvar stopPropagation = (event) => event.stopPropagation();\nfunction Dialog({ children, onClose, open, titleId }) {\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n const handleEscape = (event) => open && event.key === \"Escape\" && onClose();\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }, [open, onClose]);\n const [bodyScrollable, setBodyScrollable] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n setBodyScrollable(getComputedStyle(window.document.body).overflow !== \"hidden\");\n }, []);\n const handleBackdropClick = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => onClose(), [onClose]);\n const themeRootProps = useThemeRootProps();\n const mobile = isMobile();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, open ? (0,react_dom__WEBPACK_IMPORTED_MODULE_6__.createPortal)(/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_remove_scroll__WEBPACK_IMPORTED_MODULE_10__.RemoveScroll, {\n enabled: bodyScrollable\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...themeRootProps\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...themeRootProps,\n alignItems: mobile ? \"flex-end\" : \"center\",\n \"aria-labelledby\": titleId,\n \"aria-modal\": true,\n className: overlay,\n onClick: handleBackdropClick,\n position: \"fixed\",\n role: \"dialog\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(FocusTrap, {\n className: content,\n onClick: stopPropagation,\n role: \"document\"\n }, children)))), document.body) : null);\n}\n\n// src/components/Dialog/DialogContent.tsx\n\n\n// src/components/Dialog/DialogContent.css.ts\nvar bottomSheetOverrides = \"_1ckjpok7\";\nvar dialogContent = \"_1ckjpok1 ju367vb0 ju367vdl ju367vp ju367vt ju367vv ju367vef ju367va ju367v10 ju367v67 ju367v8m\";\nvar dialogContentCompactMode = \"_1ckjpok4 _1ckjpok1 ju367vb0 ju367vdl ju367vp ju367vt ju367vv ju367vef ju367va ju367v10 ju367v67 ju367v8m\";\nvar dialogContentMobile = \"_1ckjpok6 ju367vq\";\nvar dialogContentWideDesktop = \"_1ckjpok3 _1ckjpok1 ju367vb0 ju367vdl ju367vp ju367vt ju367vv ju367vef ju367va ju367v10 ju367v67 ju367v8m\";\nvar dialogContentWideMobile = \"_1ckjpok2 _1ckjpok1 ju367vb0 ju367vdl ju367vp ju367vt ju367vv ju367vef ju367va ju367v10 ju367v67 ju367v8m\";\n\n// src/components/Dialog/DialogContent.tsx\nfunction DialogContent({\n bottomSheetOnMobile = false,\n children,\n marginTop,\n padding = \"16\",\n wide = false\n}) {\n const mobile = isMobile();\n const modalSize = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalSizeContext);\n const compactModeEnabled = modalSize === ModalSizeOptions.COMPACT;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginTop\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n className: [\n wide ? mobile ? dialogContentWideMobile : compactModeEnabled ? dialogContentCompactMode : dialogContentWideDesktop : dialogContent,\n mobile ? dialogContentMobile : null,\n mobile && bottomSheetOnMobile ? bottomSheetOverrides : null\n ].join(\" \")\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n padding\n }, children)));\n}\n\n// src/components/ProfileDetails/ProfileDetails.tsx\n\n\n// src/components/ConnectButton/abbreviateETHBalance.ts\nvar units = [\"k\", \"m\", \"b\", \"t\"];\nfunction toPrecision(number, precision = 1) {\n return number.toString().replace(new RegExp(`(.+\\\\.\\\\d{${precision}})\\\\d+`), \"$1\").replace(/(\\.[1-9]*)0+$/, \"$1\").replace(/\\.$/, \"\");\n}\nfunction abbreviateETHBalance(number) {\n if (number < 1)\n return toPrecision(number, 3);\n if (number < 10 ** 2)\n return toPrecision(number, 2);\n if (number < 10 ** 4)\n return new Intl.NumberFormat().format(parseFloat(toPrecision(number, 1)));\n const decimalsDivisor = 10 ** 1;\n let result = String(number);\n for (let i = units.length - 1; i >= 0; i--) {\n const size = 10 ** ((i + 1) * 3);\n if (size <= number) {\n number = number * decimalsDivisor / size / decimalsDivisor;\n result = toPrecision(number, 1) + units[i];\n break;\n }\n }\n return result;\n}\n\n// src/components/ConnectButton/formatAddress.ts\nfunction formatAddress(address) {\n const leadingChars = 4;\n const trailingChars = 4;\n return address.length < leadingChars + trailingChars ? address : `${address.substring(0, leadingChars)}\\u2026${address.substring(address.length - trailingChars)}`;\n}\n\n// src/components/ConnectButton/formatENS.ts\nfunction formatENS(name) {\n const parts = name.split(\".\");\n const last = parts.pop();\n if (parts.join(\".\").length > 24) {\n return `${parts.join(\".\").substring(0, 24)}...`;\n }\n return `${parts.join(\".\")}.${last}`;\n}\n\n// src/components/Icons/Copied.tsx\n\nvar CopiedIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"13\",\n viewBox: \"0 0 13 13\",\n width: \"13\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M4.94568 12.2646C5.41052 12.2646 5.77283 12.0869 6.01892 11.7109L12.39 1.96973C12.5677 1.69629 12.6429 1.44336 12.6429 1.2041C12.6429 0.561523 12.1644 0.0966797 11.5082 0.0966797C11.057 0.0966797 10.7767 0.260742 10.5033 0.691406L4.9115 9.50977L2.07458 5.98926C1.82166 5.68848 1.54822 5.55176 1.16541 5.55176C0.502319 5.55176 0.0238037 6.02344 0.0238037 6.66602C0.0238037 6.95312 0.112671 7.20605 0.358765 7.48633L3.88611 11.7588C4.18005 12.1074 4.50818 12.2646 4.94568 12.2646Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/Icons/Copy.tsx\n\nvar CopyIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"16\",\n viewBox: \"0 0 17 16\",\n width: \"17\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M3.04236 12.3027H4.18396V13.3008C4.18396 14.8525 5.03845 15.7002 6.59705 15.7002H13.6244C15.183 15.7002 16.0375 14.8525 16.0375 13.3008V6.24609C16.0375 4.69434 15.183 3.84668 13.6244 3.84668H12.4828V2.8418C12.4828 1.29688 11.6283 0.442383 10.0697 0.442383H3.04236C1.48376 0.442383 0.629272 1.29004 0.629272 2.8418V9.90332C0.629272 11.4551 1.48376 12.3027 3.04236 12.3027ZM3.23376 10.5391C2.68689 10.5391 2.39294 10.2656 2.39294 9.68457V3.06055C2.39294 2.47949 2.68689 2.21289 3.23376 2.21289H9.8783C10.4252 2.21289 10.7191 2.47949 10.7191 3.06055V3.84668H6.59705C5.03845 3.84668 4.18396 4.69434 4.18396 6.24609V10.5391H3.23376ZM6.78845 13.9365C6.24158 13.9365 5.94763 13.6699 5.94763 13.0889V6.45801C5.94763 5.87695 6.24158 5.61035 6.78845 5.61035H13.433C13.9799 5.61035 14.2738 5.87695 14.2738 6.45801V13.0889C14.2738 13.6699 13.9799 13.9365 13.433 13.9365H6.78845Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/Icons/Disconnect.tsx\n\nvar DisconnectIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"16\",\n viewBox: \"0 0 18 16\",\n width: \"18\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M2.67834 15.5908H9.99963C11.5514 15.5908 12.399 14.7432 12.399 13.1777V10.2656H10.6354V12.9863C10.6354 13.5332 10.3688 13.8271 9.78772 13.8271H2.89026C2.3092 13.8271 2.0426 13.5332 2.0426 12.9863V3.15625C2.0426 2.60254 2.3092 2.30859 2.89026 2.30859H9.78772C10.3688 2.30859 10.6354 2.60254 10.6354 3.15625V5.89746H12.399V2.95801C12.399 1.39941 11.5514 0.544922 9.99963 0.544922H2.67834C1.12659 0.544922 0.278931 1.39941 0.278931 2.95801V13.1777C0.278931 14.7432 1.12659 15.5908 2.67834 15.5908ZM7.43616 8.85059H14.0875L15.0924 8.78906L14.566 9.14453L13.6842 9.96484C13.5406 10.1016 13.4586 10.2861 13.4586 10.4844C13.4586 10.8398 13.7321 11.168 14.1217 11.168C14.3199 11.168 14.4635 11.0928 14.6002 10.9561L16.7809 8.68652C16.986 8.48145 17.0543 8.27637 17.0543 8.06445C17.0543 7.85254 16.986 7.64746 16.7809 7.43555L14.6002 5.17285C14.4635 5.03613 14.3199 4.9541 14.1217 4.9541C13.7321 4.9541 13.4586 5.27539 13.4586 5.6377C13.4586 5.83594 13.5406 6.02734 13.6842 6.15723L14.566 6.98438L15.0924 7.33984L14.0875 7.27148H7.43616C7.01917 7.27148 6.65686 7.62012 6.65686 8.06445C6.65686 8.50195 7.01917 8.85059 7.43616 8.85059Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/Txs/TxList.tsx\n\n\n\n// src/transactions/useClearRecentTransactions.ts\n\n\nfunction useClearRecentTransactions() {\n const store = useTransactionStore();\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const chainId = useChainId();\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {\n if (!address || !chainId) {\n throw new Error(\"No address or chain ID found\");\n }\n store.clearTransactions(address, chainId);\n }, [store, address, chainId]);\n}\n\n// src/utils/chainToExplorerUrl.ts\nvar chainToExplorerUrl = (chain) => {\n var _a, _b;\n return (_b = (_a = chain == null ? void 0 : chain.blockExplorers) == null ? void 0 : _a.default) == null ? void 0 : _b.url;\n};\n\n// src/components/Icons/ExternalLink.tsx\n\nvar ExternalLinkIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"19\",\n viewBox: \"0 0 20 19\",\n width: \"20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M10 18.9443C15.0977 18.9443 19.2812 14.752 19.2812 9.6543C19.2812 4.56543 15.0889 0.373047 10 0.373047C4.90234 0.373047 0.71875 4.56543 0.71875 9.6543C0.71875 14.752 4.91113 18.9443 10 18.9443ZM10 16.6328C6.1416 16.6328 3.03906 13.5215 3.03906 9.6543C3.03906 5.7959 6.13281 2.68457 10 2.68457C13.8584 2.68457 16.9697 5.7959 16.9697 9.6543C16.9785 13.5215 13.8672 16.6328 10 16.6328ZM12.7158 12.1416C13.2432 12.1416 13.5684 11.7549 13.5684 11.1836V7.19336C13.5684 6.44629 13.1377 6.05957 12.417 6.05957H8.40918C7.8291 6.05957 7.45117 6.38477 7.45117 6.91211C7.45117 7.43945 7.8291 7.77344 8.40918 7.77344H9.69238L10.7207 7.63281L9.53418 8.67871L6.73047 11.4912C6.53711 11.6758 6.41406 11.9395 6.41406 12.2031C6.41406 12.7832 6.85352 13.1699 7.39844 13.1699C7.68848 13.1699 7.92578 13.0732 8.1543 12.8623L10.9316 10.0762L11.9775 8.89844L11.8545 9.98828V11.1836C11.8545 11.7725 12.1885 12.1416 12.7158 12.1416Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/Txs/TxItem.tsx\n\n\n\n// src/components/Icons/Cancel.tsx\n\nvar CancelIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"19\",\n viewBox: \"0 0 20 19\",\n width: \"20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M10 18.9443C15.0977 18.9443 19.2812 14.752 19.2812 9.6543C19.2812 4.56543 15.0889 0.373047 10 0.373047C4.90234 0.373047 0.71875 4.56543 0.71875 9.6543C0.71875 14.752 4.91113 18.9443 10 18.9443ZM10 16.6328C6.1416 16.6328 3.03906 13.5215 3.03906 9.6543C3.03906 5.7959 6.13281 2.68457 10 2.68457C13.8584 2.68457 16.9697 5.7959 16.9697 9.6543C16.9785 13.5215 13.8672 16.6328 10 16.6328ZM7.29297 13.3018C7.58301 13.3018 7.81152 13.2139 7.99609 13.0205L10 11.0166L12.0127 13.0205C12.1973 13.2051 12.4258 13.3018 12.707 13.3018C13.2432 13.3018 13.6562 12.8887 13.6562 12.3525C13.6562 12.0977 13.5508 11.8691 13.3662 11.6934L11.3535 9.67188L13.375 7.6416C13.5596 7.44824 13.6562 7.22852 13.6562 6.98242C13.6562 6.44629 13.2432 6.0332 12.7158 6.0332C12.4346 6.0332 12.2148 6.12109 12.0215 6.31445L10 8.32715L7.9873 6.32324C7.80273 6.12988 7.58301 6.04199 7.29297 6.04199C6.76562 6.04199 6.35254 6.45508 6.35254 6.99121C6.35254 7.2373 6.44922 7.46582 6.63379 7.6416L8.65527 9.67188L6.63379 11.6934C6.44922 11.8691 6.35254 12.1064 6.35254 12.3525C6.35254 12.8887 6.76562 13.3018 7.29297 13.3018Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/Icons/Success.tsx\n\nvar SuccessIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"20\",\n viewBox: \"0 0 20 20\",\n width: \"20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M10 19.4443C15.0977 19.4443 19.2812 15.252 19.2812 10.1543C19.2812 5.06543 15.0889 0.873047 10 0.873047C4.90234 0.873047 0.71875 5.06543 0.71875 10.1543C0.71875 15.252 4.91113 19.4443 10 19.4443ZM10 17.1328C6.1416 17.1328 3.03906 14.0215 3.03906 10.1543C3.03906 6.2959 6.13281 3.18457 10 3.18457C13.8584 3.18457 16.9697 6.2959 16.9697 10.1543C16.9785 14.0215 13.8672 17.1328 10 17.1328ZM9.07715 14.3379C9.4375 14.3379 9.7627 14.1533 9.97363 13.8369L13.7441 8.00977C13.8848 7.79883 13.9814 7.5791 13.9814 7.36816C13.9814 6.84961 13.5244 6.48926 13.0322 6.48926C12.707 6.48926 12.4258 6.66504 12.2148 7.0166L9.05957 12.0967L7.5918 10.2949C7.37207 10.0225 7.13477 9.9082 6.84473 9.9082C6.33496 9.9082 5.92188 10.3125 5.92188 10.8223C5.92188 11.0684 6.00098 11.2793 6.18555 11.5078L8.1543 13.8545C8.40918 14.1709 8.70801 14.3379 9.07715 14.3379Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/Txs/TxItem.tsx\nvar getTxStatusIcon = (status) => {\n switch (status) {\n case \"pending\":\n return SpinnerIcon;\n case \"confirmed\":\n return SuccessIcon;\n case \"failed\":\n return CancelIcon;\n default:\n return SpinnerIcon;\n }\n};\nfunction TxItem({ tx }) {\n const mobile = isMobile();\n const Icon = getTxStatusIcon(tx.status);\n const color = tx.status === \"failed\" ? \"error\" : \"accentColor\";\n const { chain: activeChain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n const confirmationStatus = tx.status === \"confirmed\" ? \"Confirmed\" : tx.status === \"failed\" ? \"Failed\" : \"Pending\";\n const explorerLink = chainToExplorerUrl(activeChain);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...explorerLink ? {\n as: \"a\",\n background: { hover: \"profileForeground\" },\n borderRadius: \"menuButton\",\n className: touchableStyles({ active: \"shrink\" }),\n href: `${explorerLink}/tx/${tx.hash}`,\n rel: \"noreferrer noopener\",\n target: \"_blank\",\n transition: \"default\"\n } : {},\n color: \"modalText\",\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n padding: \"8\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: mobile ? \"16\" : \"14\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n color\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Icon, null)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"3\" : \"1\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n font: \"body\",\n size: mobile ? \"16\" : \"14\",\n weight: \"bold\"\n }, tx == null ? void 0 : tx.description)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: tx.status === \"pending\" ? \"modalTextSecondary\" : color,\n font: \"body\",\n size: \"14\",\n weight: mobile ? \"medium\" : \"regular\"\n }, confirmationStatus)))), explorerLink && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n color: \"modalTextDim\",\n display: \"flex\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ExternalLinkIcon, null))));\n}\n\n// src/components/Txs/TxList.tsx\nvar NUMBER_OF_VISIBLE_TXS = 3;\nfunction TxList({ address }) {\n const recentTransactions = useRecentTransactions();\n const clearRecentTransactions = useClearRecentTransactions();\n const { chain: activeChain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n const explorerLink = chainToExplorerUrl(activeChain);\n const visibleTxs = recentTransactions.slice(0, NUMBER_OF_VISIBLE_TXS);\n const hasTransactions = visibleTxs.length > 0;\n const mobile = isMobile();\n const { appName } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AppContext);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"10\",\n paddingBottom: \"2\",\n paddingTop: \"16\",\n paddingX: mobile ? \"8\" : \"18\"\n }, hasTransactions && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingBottom: mobile ? \"4\" : \"0\",\n paddingTop: \"8\",\n paddingX: mobile ? \"12\" : \"6\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n justifyContent: \"space-between\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: mobile ? \"16\" : \"14\",\n weight: \"semibold\"\n }, \"Recent Transactions\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: {\n marginBottom: -6,\n marginLeft: -10,\n marginRight: -10,\n marginTop: -6\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"button\",\n background: {\n hover: \"profileForeground\"\n },\n borderRadius: \"actionButton\",\n className: touchableStyles({ active: \"shrink\" }),\n onClick: clearRecentTransactions,\n paddingX: mobile ? \"8\" : \"12\",\n paddingY: mobile ? \"4\" : \"5\",\n transition: \"default\",\n type: \"button\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: mobile ? \"16\" : \"14\",\n weight: \"semibold\"\n }, \"Clear All\"))))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, hasTransactions ? visibleTxs.map((tx) => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TxItem, {\n key: tx.hash,\n tx\n })) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n padding: mobile ? \"12\" : \"8\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextDim\",\n size: mobile ? \"16\" : \"14\",\n weight: mobile ? \"medium\" : \"bold\"\n }, appName != null ? appName : \"Your\", \" transactions will appear here...\")), mobile && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorderDim\",\n height: \"1\",\n marginX: \"12\",\n marginY: \"8\"\n })))), explorerLink && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingBottom: \"18\",\n paddingX: mobile ? \"8\" : \"18\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n as: \"a\",\n background: { hover: \"profileForeground\" },\n borderRadius: \"menuButton\",\n className: touchableStyles({ active: \"shrink\" }),\n color: \"modalTextDim\",\n display: \"flex\",\n flexDirection: \"row\",\n href: `${explorerLink}/address/${address}`,\n justifyContent: \"space-between\",\n paddingX: \"8\",\n paddingY: \"12\",\n rel: \"noreferrer noopener\",\n style: { willChange: \"transform\" },\n target: \"_blank\",\n transition: \"default\",\n width: \"full\",\n ...mobile ? { paddingLeft: \"12\" } : {}\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n font: \"body\",\n size: mobile ? \"16\" : \"14\",\n weight: mobile ? \"semibold\" : \"bold\"\n }, \"View more on Explorer\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ExternalLinkIcon, null))));\n}\n\n// src/components/ProfileDetails/ProfileDetailsAction.tsx\n\nfunction ProfileDetailsAction({\n action,\n icon,\n label,\n testId,\n url\n}) {\n const mobile = isMobile();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n ...url ? { as: \"a\", href: url, rel: \"noreferrer noopener\", target: \"_blank\" } : { as: \"button\", type: \"button\" },\n background: {\n base: \"profileAction\",\n ...!mobile ? { hover: \"profileActionHover\" } : {}\n },\n borderRadius: \"menuButton\",\n boxShadow: \"profileDetailsAction\",\n className: touchableStyles({\n active: \"shrinkSm\",\n hover: !mobile ? \"grow\" : void 0\n }),\n display: \"flex\",\n onClick: action,\n padding: mobile ? \"6\" : \"8\",\n style: { willChange: \"transform\" },\n testId,\n transition: \"default\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1\",\n justifyContent: \"center\",\n paddingTop: \"2\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n color: \"modalText\",\n height: \"max\"\n }, icon), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: mobile ? \"12\" : \"13\",\n weight: \"semibold\"\n }, label))));\n}\n\n// src/components/ProfileDetails/ProfileDetails.tsx\nfunction ProfileDetails({\n address,\n balanceData,\n ensAvatar,\n ensName,\n onClose,\n onDisconnect\n}) {\n const showRecentTransactions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ShowRecentTransactionsContext);\n const [copiedAddress, setCopiedAddress] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n const copyAddressAction = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {\n if (address) {\n navigator.clipboard.writeText(address);\n setCopiedAddress(true);\n }\n }, [address]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (copiedAddress) {\n const timer = setTimeout(() => {\n setCopiedAddress(false);\n }, 1500);\n return () => clearTimeout(timer);\n }\n }, [copiedAddress]);\n if (!address) {\n return null;\n }\n const accountName = ensName ? formatENS(ensName) : formatAddress(address);\n const ethBalance = balanceData == null ? void 0 : balanceData.formatted;\n const displayBalance = ethBalance ? abbreviateETHBalance(parseFloat(ethBalance)) : void 0;\n const titleId = \"rk_profile_title\";\n const mobile = isMobile();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"profileForeground\",\n padding: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"16\" : \"12\",\n justifyContent: \"center\",\n margin: \"8\",\n style: { textAlign: \"center\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: {\n position: \"absolute\",\n right: 16,\n top: 16,\n willChange: \"transform\"\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseButton, {\n onClose\n })), \" \", /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginTop: mobile ? \"24\" : \"0\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Avatar, {\n address,\n imageUrl: ensAvatar,\n size: mobile ? 82 : 74\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: mobile ? \"4\" : \"0\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n as: \"h1\",\n color: \"modalText\",\n id: titleId,\n size: mobile ? \"20\" : \"18\",\n weight: \"heavy\"\n }, accountName)), balanceData && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n as: \"h1\",\n color: \"modalTextSecondary\",\n id: titleId,\n size: mobile ? \"16\" : \"14\",\n weight: \"semibold\"\n }, displayBalance, \" \", balanceData.symbol)))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"8\",\n margin: \"2\",\n marginTop: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProfileDetailsAction, {\n action: copyAddressAction,\n icon: copiedAddress ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CopiedIcon, null) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CopyIcon, null),\n label: copiedAddress ? \"Copied!\" : \"Copy Address\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProfileDetailsAction, {\n action: onDisconnect,\n icon: /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DisconnectIcon, null),\n label: \"Disconnect\",\n testId: \"disconnect-button\"\n }))), showRecentTransactions && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorder\",\n height: \"1\",\n marginTop: \"-1\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TxList, {\n address\n })))));\n}\n\n// src/components/AccountModal/AccountModal.tsx\nfunction AccountModal({ onClose, open }) {\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const { data: balanceData } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useBalance)({ address });\n const ensName = useMainnetEnsName(address);\n const ensAvatar = useMainnetEnsAvatar(ensName);\n const { disconnect } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useDisconnect)();\n if (!address) {\n return null;\n }\n const titleId = \"rk_account_modal_title\";\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, address && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Dialog, {\n onClose,\n open,\n titleId\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DialogContent, {\n bottomSheetOnMobile: true,\n padding: \"0\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProfileDetails, {\n address,\n balanceData,\n ensAvatar,\n ensName,\n onClose,\n onDisconnect: disconnect\n }))));\n}\n\n// src/components/ChainModal/ChainModal.tsx\n\n\n\n// src/components/Icons/DisconnectSq.tsx\n\nvar DisconnectSqIcon = ({ size }) => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: size,\n viewBox: \"0 0 28 28\",\n width: size,\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M6.742 22.195h8.367c1.774 0 2.743-.968 2.743-2.758V16.11h-2.016v3.11c0 .625-.305.96-.969.96H6.984c-.664 0-.968-.335-.968-.96V7.984c0-.632.304-.968.968-.968h7.883c.664 0 .969.336.969.968v3.133h2.016v-3.36c0-1.78-.97-2.757-2.743-2.757H6.742C4.97 5 4 5.977 4 7.758v11.68c0 1.789.969 2.757 2.742 2.757Zm5.438-7.703h7.601l1.149-.07-.602.406-1.008.938a.816.816 0 0 0-.258.593c0 .407.313.782.758.782.227 0 .39-.086.547-.243l2.492-2.593c.235-.235.313-.47.313-.711 0-.242-.078-.477-.313-.719l-2.492-2.586c-.156-.156-.32-.25-.547-.25-.445 0-.758.367-.758.781 0 .227.094.446.258.594l1.008.945.602.407-1.149-.079H12.18a.904.904 0 0 0 0 1.805Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/MenuButton/MenuButton.tsx\n\n\n// src/components/MenuButton/MenuButton.css.ts\nvar unsetBackgroundOnHover = \"v9horb0\";\n\n// src/components/MenuButton/MenuButton.tsx\nvar MenuButton = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({\n children,\n currentlySelected = false,\n onClick,\n testId,\n ...urlProps\n}, ref) => {\n const mobile = isMobile();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"button\",\n borderRadius: \"menuButton\",\n disabled: currentlySelected,\n display: \"flex\",\n onClick,\n ref,\n testId,\n type: \"button\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderRadius: \"menuButton\",\n className: [\n mobile ? unsetBackgroundOnHover : void 0,\n !currentlySelected && touchableStyles({ active: \"shrink\" })\n ],\n padding: mobile ? \"8\" : \"6\",\n transition: \"default\",\n width: \"full\",\n ...currentlySelected ? {\n background: \"accentColor\",\n borderColor: \"selectedOptionBorder\",\n borderStyle: \"solid\",\n borderWidth: \"1\",\n boxShadow: \"selectedOption\",\n color: \"accentColorForeground\"\n } : {\n background: { hover: \"menuItemBackground\" },\n color: \"modalText\",\n transition: \"default\"\n },\n ...urlProps\n }, children));\n});\nMenuButton.displayName = \"MenuButton\";\n\n// src/components/ChainModal/ChainModal.tsx\nfunction ChainModal({ onClose, open }) {\n var _a;\n const { chain: activeChain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n const { chains, pendingChainId, reset, switchNetwork } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useSwitchNetwork)({\n onSettled: () => {\n reset();\n onClose();\n }\n });\n const { disconnect } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useDisconnect)();\n const titleId = \"rk_chain_modal_title\";\n const mobile = isMobile();\n const unsupportedChain = (_a = activeChain == null ? void 0 : activeChain.unsupported) != null ? _a : false;\n const chainIconSize = mobile ? \"36\" : \"28\";\n const { appName } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AppContext);\n const rainbowkitChains = useRainbowKitChains();\n if (!activeChain || !(activeChain == null ? void 0 : activeChain.id)) {\n return null;\n }\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Dialog, {\n onClose,\n open,\n titleId\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DialogContent, {\n bottomSheetOnMobile: true\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"14\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n }, mobile && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n width: \"30\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingBottom: \"0\",\n paddingLeft: \"8\",\n paddingTop: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n as: \"h1\",\n color: \"modalText\",\n id: titleId,\n size: mobile ? \"20\" : \"18\",\n weight: \"heavy\"\n }, \"Switch Networks\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseButton, {\n onClose\n })), unsupportedChain && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginX: \"8\",\n textAlign: mobile ? \"center\" : \"left\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, \"Wrong network detected, switch or disconnect to continue.\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\",\n padding: \"2\"\n }, switchNetwork ? rainbowkitChains.map(({ iconBackground, iconUrl, id, name }, idx) => {\n const chain = chains.find((c) => c.id === id);\n if (!chain)\n return null;\n const isCurrentChain = chain.id === (activeChain == null ? void 0 : activeChain.id);\n const switching = !isCurrentChain && chain.id === pendingChainId;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: chain.id\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(MenuButton, {\n currentlySelected: isCurrentChain,\n onClick: isCurrentChain ? void 0 : () => switchNetwork(chain.id),\n testId: `chain-option-${chain.id}`\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n fontFamily: \"body\",\n fontSize: \"16\",\n fontWeight: \"bold\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"4\",\n height: chainIconSize\n }, iconUrl && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n height: \"full\",\n marginRight: \"8\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n alt: name != null ? name : chain.name,\n background: iconBackground,\n borderRadius: \"full\",\n height: chainIconSize,\n src: iconUrl,\n width: chainIconSize\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, name != null ? name : chain.name)), isCurrentChain && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n marginRight: \"6\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"accentColorForeground\",\n size: \"14\",\n weight: \"medium\"\n }, \"Connected\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"connectionIndicator\",\n borderColor: \"selectedOptionBorder\",\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: \"1\",\n height: \"8\",\n marginLeft: \"8\",\n width: \"8\"\n })), switching && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n marginRight: \"6\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"medium\"\n }, \"Confirm in Wallet\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"standby\",\n borderRadius: \"full\",\n height: \"8\",\n marginLeft: \"8\",\n width: \"8\"\n }))))), mobile && idx < rainbowkitChains.length - 1 && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorderDim\",\n height: \"1\",\n marginX: \"8\"\n }));\n }) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorder\",\n borderRadius: \"menuButton\",\n paddingX: \"18\",\n paddingY: \"12\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"medium\"\n }, \"Your wallet does not support switching networks from\", \" \", appName != null ? appName : \"this app\", \". Try switching networks from within your wallet instead.\")), unsupportedChain && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorderDim\",\n height: \"1\",\n marginX: \"8\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(MenuButton, {\n onClick: () => disconnect(),\n testId: \"chain-option-disconnect\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n color: \"error\",\n fontFamily: \"body\",\n fontSize: \"16\",\n fontWeight: \"bold\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"4\",\n height: chainIconSize\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n color: \"error\",\n height: chainIconSize,\n justifyContent: \"center\",\n marginRight: \"8\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DisconnectSqIcon, {\n size: Number(chainIconSize)\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, \"Disconnect\"))))))))));\n}\n\n// src/components/ConnectModal/ConnectModal.tsx\n\n\n// src/components/ConnectOptions/ConnectOptions.tsx\n\n\n// src/components/ConnectOptions/DesktopOptions.tsx\n\n\n// src/utils/groupBy.ts\nfunction groupBy(items, getKey) {\n const groupedItems = {};\n items.forEach((item) => {\n const key = getKey(item);\n if (!key) {\n return;\n }\n if (!groupedItems[key]) {\n groupedItems[key] = [];\n }\n groupedItems[key].push(item);\n });\n return groupedItems;\n}\n\n// src/components/ConnectModal/ConnectModalIntro.tsx\n\n\n// src/components/Disclaimer/DisclaimerLink.tsx\n\nvar DisclaimerLink = ({\n children,\n href\n}) => {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"a\",\n color: \"accentColor\",\n href,\n rel: \"noreferrer\",\n target: \"_blank\"\n }, children);\n};\n\n// src/components/Disclaimer/DisclaimerText.tsx\n\nvar DisclaimerText = ({ children }) => {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"12\",\n weight: \"medium\"\n }, children);\n};\n\n// src/components/ConnectModal/ConnectModalIntro.tsx\nfunction ConnectModalIntro({\n compactModeEnabled = false,\n getWallet\n}) {\n const { disclaimer: Disclaimer, learnMoreUrl } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AppContext);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n color: \"accentColor\",\n display: \"flex\",\n flexDirection: \"column\",\n height: \"full\",\n justifyContent: \"space-around\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginBottom: \"10\"\n }, !compactModeEnabled && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"18\",\n weight: \"heavy\"\n }, \"What is a Wallet?\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"32\",\n justifyContent: \"center\",\n marginY: \"20\",\n style: { maxWidth: 312 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderRadius: \"6\",\n height: \"48\",\n minWidth: \"48\",\n width: \"48\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AssetsIcon, null)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, \"A Home for your Digital Assets\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, \"Wallets are used to send, receive, store, and display digital assets like Ethereum and NFTs.\"))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderRadius: \"6\",\n height: \"48\",\n minWidth: \"48\",\n width: \"48\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(LoginIcon, null)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, \"A New Way to Log In\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, \"Instead of creating new accounts and passwords on every website, just connect your wallet.\")))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12\",\n justifyContent: \"center\",\n margin: \"10\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"Get a Wallet\",\n onClick: getWallet\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"a\",\n className: touchableStyles({ active: \"shrink\", hover: \"grow\" }),\n display: \"block\",\n href: learnMoreUrl,\n paddingX: \"12\",\n paddingY: \"4\",\n rel: \"noreferrer\",\n style: { willChange: \"transform\" },\n target: \"_blank\",\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"accentColor\",\n size: \"14\",\n weight: \"bold\"\n }, \"Learn More\"))), Disclaimer && !compactModeEnabled && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginBottom: \"8\",\n marginTop: \"12\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Disclaimer, {\n Link: DisclaimerLink,\n Text: DisclaimerText\n }))));\n}\n\n// src/components/Icons/Back.tsx\n\nvar BackIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"17\",\n viewBox: \"0 0 11 17\",\n width: \"11\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M0.99707 8.6543C0.99707 9.08496 1.15527 9.44531 1.51562 9.79688L8.16016 16.3096C8.43262 16.5732 8.74902 16.7051 9.13574 16.7051C9.90918 16.7051 10.5508 16.0811 10.5508 15.3076C10.5508 14.9121 10.3838 14.5605 10.0938 14.2705L4.30176 8.64551L10.0938 3.0293C10.3838 2.74805 10.5508 2.3877 10.5508 2.00098C10.5508 1.23633 9.90918 0.603516 9.13574 0.603516C8.74902 0.603516 8.43262 0.735352 8.16016 0.999023L1.51562 7.51172C1.15527 7.85449 1.00586 8.21484 0.99707 8.6543Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/InfoButton/InfoButton.tsx\n\n\n// src/components/Icons/Info.tsx\n\nvar InfoIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n fill: \"none\",\n height: \"12\",\n viewBox: \"0 0 8 12\",\n width: \"8\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M3.64258 7.99609C4.19336 7.99609 4.5625 7.73828 4.68555 7.24609C4.69141 7.21094 4.70312 7.16406 4.70898 7.13477C4.80859 6.60742 5.05469 6.35547 6.04492 5.76367C7.14648 5.10156 7.67969 4.3457 7.67969 3.24414C7.67969 1.39844 6.17383 0.255859 3.95898 0.255859C2.32422 0.255859 1.05859 0.894531 0.548828 1.86719C0.396484 2.14844 0.320312 2.44727 0.320312 2.74023C0.314453 3.37305 0.742188 3.79492 1.42188 3.79492C1.91406 3.79492 2.33594 3.54883 2.53516 3.11523C2.78711 2.47656 3.23242 2.21289 3.83594 2.21289C4.55664 2.21289 5.10742 2.65234 5.10742 3.29102C5.10742 3.9707 4.7793 4.29883 3.81836 4.87891C3.02148 5.36523 2.50586 5.92773 2.50586 6.76562V6.90039C2.50586 7.55664 2.96289 7.99609 3.64258 7.99609ZM3.67188 11.4473C4.42773 11.4473 5.04297 10.8672 5.04297 10.1406C5.04297 9.41406 4.42773 8.83984 3.67188 8.83984C2.91602 8.83984 2.30664 9.41406 2.30664 10.1406C2.30664 10.8672 2.91602 11.4473 3.67188 11.4473Z\",\n fill: \"currentColor\"\n}));\n\n// src/components/InfoButton/InfoButton.tsx\nvar InfoButton = ({\n \"aria-label\": ariaLabel = \"Info\",\n onClick\n}) => {\n const mobile = isMobile();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n \"aria-label\": ariaLabel,\n as: \"button\",\n background: \"closeButtonBackground\",\n borderColor: \"actionButtonBorder\",\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: mobile ? \"0\" : \"1\",\n className: touchableStyles({ active: \"shrinkSm\", hover: \"growLg\" }),\n color: \"closeButton\",\n display: \"flex\",\n height: mobile ? \"30\" : \"28\",\n justifyContent: \"center\",\n onClick,\n style: { willChange: \"transform\" },\n transition: \"default\",\n type: \"button\",\n width: mobile ? \"30\" : \"28\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(InfoIcon, null));\n};\n\n// src/components/ModalSelection/ModalSelection.tsx\n\n\n// src/components/RainbowKitProvider/useCoolMode.ts\n\nvar useCoolMode = (imageUrl) => {\n const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n const coolModeEnabled = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(CoolModeContext);\n const resolvedImageUrl = useAsyncImage(imageUrl);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (coolModeEnabled && ref.current && resolvedImageUrl) {\n return makeElementCool(ref.current, resolvedImageUrl);\n }\n }, [coolModeEnabled, resolvedImageUrl]);\n return ref;\n};\nvar getContainer = () => {\n const id = \"_rk_coolMode\";\n const existingContainer = document.getElementById(id);\n if (existingContainer) {\n return existingContainer;\n }\n const container = document.createElement(\"div\");\n container.setAttribute(\"id\", id);\n container.setAttribute(\"style\", [\n \"overflow:hidden\",\n \"position:fixed\",\n \"height:100%\",\n \"top:0\",\n \"left:0\",\n \"right:0\",\n \"bottom:0\",\n \"pointer-events:none\",\n \"z-index:2147483647\"\n ].join(\";\"));\n document.body.appendChild(container);\n return container;\n};\nvar instanceCounter = 0;\nfunction makeElementCool(element2, imageUrl) {\n instanceCounter++;\n const sizes = [15, 20, 25, 35, 45];\n const limit = 35;\n let particles = [];\n let autoAddParticle = false;\n let mouseX = 0;\n let mouseY = 0;\n const container = getContainer();\n function createParticle() {\n const size = sizes[Math.floor(Math.random() * sizes.length)];\n const speedHorz = Math.random() * 10;\n const speedUp = Math.random() * 25;\n const spinVal = Math.random() * 360;\n const spinSpeed = Math.random() * 35 * (Math.random() <= 0.5 ? -1 : 1);\n const top = mouseY - size / 2;\n const left = mouseX - size / 2;\n const direction = Math.random() <= 0.5 ? -1 : 1;\n const particle = document.createElement(\"div\");\n particle.innerHTML = `<img src=\"${imageUrl}\" width=\"${size}\" height=\"${size}\" style=\"border-radius: 25%\">`;\n particle.setAttribute(\"style\", [\n \"position:absolute\",\n \"will-change:transform\",\n `top:${top}px`,\n `left:${left}px`,\n `transform:rotate(${spinVal}deg)`\n ].join(\";\"));\n container.appendChild(particle);\n particles.push({\n direction,\n element: particle,\n left,\n size,\n speedHorz,\n speedUp,\n spinSpeed,\n spinVal,\n top\n });\n }\n function updateParticles() {\n particles.forEach((p) => {\n p.left = p.left - p.speedHorz * p.direction;\n p.top = p.top - p.speedUp;\n p.speedUp = Math.min(p.size, p.speedUp - 1);\n p.spinVal = p.spinVal + p.spinSpeed;\n if (p.top >= Math.max(window.innerHeight, document.body.clientHeight) + p.size) {\n particles = particles.filter((o) => o !== p);\n p.element.remove();\n }\n p.element.setAttribute(\"style\", [\n \"position:absolute\",\n \"will-change:transform\",\n `top:${p.top}px`,\n `left:${p.left}px`,\n `transform:rotate(${p.spinVal}deg)`\n ].join(\";\"));\n });\n }\n let animationFrame;\n function loop() {\n if (autoAddParticle && particles.length < limit) {\n createParticle();\n }\n updateParticles();\n animationFrame = requestAnimationFrame(loop);\n }\n loop();\n const isTouchInteraction = \"ontouchstart\" in window || navigator.msMaxTouchPoints;\n const tap = isTouchInteraction ? \"touchstart\" : \"mousedown\";\n const tapEnd = isTouchInteraction ? \"touchend\" : \"mouseup\";\n const move = isTouchInteraction ? \"touchmove\" : \"mousemove\";\n const updateMousePosition = (e) => {\n var _a, _b;\n if (\"touches\" in e) {\n mouseX = (_a = e.touches) == null ? void 0 : _a[0].clientX;\n mouseY = (_b = e.touches) == null ? void 0 : _b[0].clientY;\n } else {\n mouseX = e.clientX;\n mouseY = e.clientY;\n }\n };\n const tapHandler = (e) => {\n updateMousePosition(e);\n autoAddParticle = true;\n };\n const disableAutoAddParticle = () => {\n autoAddParticle = false;\n };\n element2.addEventListener(move, updateMousePosition, { passive: false });\n element2.addEventListener(tap, tapHandler);\n element2.addEventListener(tapEnd, disableAutoAddParticle);\n element2.addEventListener(\"mouseleave\", disableAutoAddParticle);\n return () => {\n element2.removeEventListener(move, updateMousePosition);\n element2.removeEventListener(tap, tapHandler);\n element2.removeEventListener(tapEnd, disableAutoAddParticle);\n element2.removeEventListener(\"mouseleave\", disableAutoAddParticle);\n let interval = setInterval(() => {\n if (animationFrame && particles.length === 0) {\n cancelAnimationFrame(animationFrame);\n clearInterval(interval);\n if (--instanceCounter === 0) {\n container.remove();\n }\n }\n }, 500);\n };\n}\n\n// src/components/ModalSelection/ModalSelection.css.ts\nvar transparentBorder = \"g5kl0l0\";\n\n// src/components/ModalSelection/ModalSelection.tsx\nvar ModalSelection = ({\n as = \"button\",\n currentlySelected = false,\n iconBackground,\n iconUrl,\n name,\n onClick,\n ready,\n recent,\n testId,\n ...urlProps\n}) => {\n const coolModeRef = useCoolMode(iconUrl);\n const [isMouseOver, setIsMouseOver] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n onMouseEnter: () => setIsMouseOver(true),\n onMouseLeave: () => setIsMouseOver(false),\n ref: coolModeRef\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as,\n borderRadius: \"menuButton\",\n borderStyle: \"solid\",\n borderWidth: \"1\",\n className: !currentlySelected ? [\n transparentBorder,\n touchableStyles({\n active: \"shrink\"\n })\n ] : void 0,\n disabled: currentlySelected,\n onClick,\n padding: \"5\",\n style: { willChange: \"transform\" },\n testId,\n transition: \"default\",\n width: \"full\",\n ...currentlySelected ? {\n background: \"accentColor\",\n borderColor: \"selectedOptionBorder\",\n boxShadow: \"selectedWallet\"\n } : {\n background: { hover: \"menuItemBackground\" }\n },\n ...urlProps\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n color: currentlySelected ? \"accentColorForeground\" : \"modalText\",\n disabled: !ready,\n fontFamily: \"body\",\n fontSize: \"16\",\n fontWeight: \"bold\",\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"12\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: iconBackground,\n ...isMouseOver ? {} : { borderColor: \"actionButtonBorder\" },\n borderRadius: \"6\",\n height: \"28\",\n src: iconUrl,\n width: \"28\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: { marginTop: recent ? -2 : void 0 }\n }, name), recent && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: currentlySelected ? \"accentColorForeground\" : \"accentColor\",\n size: \"12\",\n style: { lineHeight: 1, marginTop: -1 },\n weight: \"medium\"\n }, \"Recent\"))))));\n};\nModalSelection.displayName = \"ModalSelection\";\n\n// src/components/ConnectOptions/ConnectDetails.tsx\n\n\n// src/utils/colors.ts\nvar convertHexToRGBA = (hexCode, opacity = 1) => {\n let hex = hexCode.replace(\"#\", \"\");\n if (hex.length === 3) {\n hex = `${hex[0]}${hex[0]}${hex[1]}${hex[1]}${hex[2]}${hex[2]}`;\n }\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n if (opacity > 1 && opacity <= 100) {\n opacity = opacity / 100;\n }\n return `rgba(${r},${g},${b},${opacity})`;\n};\nvar getGradientRGBAs = (hexColor) => {\n if (!hexColor)\n return null;\n return [\n convertHexToRGBA(hexColor, 0.2),\n convertHexToRGBA(hexColor, 0.14),\n convertHexToRGBA(hexColor, 0.1)\n ];\n};\nvar isHexString = (color) => {\n return /^#([0-9a-f]{3}){1,2}$/i.test(color);\n};\n\n// src/components/Icons/Create.tsx\n\nvar src3 = async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_create-PAJXJDV3_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./create-PAJXJDV3.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/create-PAJXJDV3.js\"))).default;\nvar preloadCreateIcon = () => loadImages(src3);\nvar CreateIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: \"#e3a5e8\",\n borderColor: \"generalBorder\",\n borderRadius: \"10\",\n height: \"48\",\n src: src3,\n width: \"48\"\n});\n\n// src/components/Icons/Refresh.tsx\n\nvar src4 = async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_refresh-5KGGHTJP_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./refresh-5KGGHTJP.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/refresh-5KGGHTJP.js\"))).default;\nvar preloadRefreshIcon = () => loadImages(src4);\nvar RefreshIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: \"#515a70\",\n borderColor: \"generalBorder\",\n borderRadius: \"10\",\n height: \"48\",\n src: src4,\n width: \"48\"\n});\n\n// src/components/Icons/Scan.tsx\n\nvar src5 = async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_scan-HZBLXLM4_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scan-HZBLXLM4.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/scan-HZBLXLM4.js\"))).default;\nvar preloadScanIcon = () => loadImages(src5);\nvar ScanIcon = () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: \"#515a70\",\n borderColor: \"generalBorder\",\n borderRadius: \"10\",\n height: \"48\",\n src: src5,\n width: \"48\"\n});\n\n// src/components/QRCode/QRCode.tsx\n\n\n\n// src/components/ConnectOptions/DesktopOptions.css.ts\nvar QRCodeBackgroundClassName = \"_1vwt0cg0\";\nvar ScrollClassName = \"_1vwt0cg2 ju367v75 ju367v7q\";\nvar sidebar = \"_1vwt0cg3\";\nvar sidebarCompactMode = \"_1vwt0cg4\";\n\n// src/components/QRCode/QRCode.tsx\nvar generateMatrix = (value, errorCorrectionLevel) => {\n const arr = Array.prototype.slice.call(qrcode__WEBPACK_IMPORTED_MODULE_11__.create(value, { errorCorrectionLevel }).modules.data, 0);\n const sqrt = Math.sqrt(arr.length);\n return arr.reduce((rows, key, index) => (index % sqrt === 0 ? rows.push([key]) : rows[rows.length - 1].push(key)) && rows, []);\n};\nfunction QRCode({\n ecl = \"M\",\n logoBackground,\n logoMargin = 10,\n logoSize = 50,\n logoUrl,\n size: sizeProp = 200,\n uri\n}) {\n const padding = \"20\";\n const size = sizeProp - parseInt(padding, 10) * 2;\n const dots = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\n const dots2 = [];\n const matrix = generateMatrix(uri, ecl);\n const cellSize = size / matrix.length;\n let qrList = [\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: 0, y: 1 }\n ];\n qrList.forEach(({ x, y }) => {\n const x1 = (matrix.length - 7) * cellSize * x;\n const y1 = (matrix.length - 7) * cellSize * y;\n for (let i = 0; i < 3; i++) {\n dots2.push(/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"rect\", {\n fill: i % 2 !== 0 ? \"white\" : \"black\",\n height: cellSize * (7 - i * 2),\n key: `${i}-${x}-${y}`,\n rx: (i - 2) * -5 + (i === 0 ? 2 : 0),\n ry: (i - 2) * -5 + (i === 0 ? 2 : 0),\n width: cellSize * (7 - i * 2),\n x: x1 + cellSize * i,\n y: y1 + cellSize * i\n }));\n }\n });\n const clearArenaSize = Math.floor((logoSize + 25) / cellSize);\n const matrixMiddleStart = matrix.length / 2 - clearArenaSize / 2;\n const matrixMiddleEnd = matrix.length / 2 + clearArenaSize / 2 - 1;\n matrix.forEach((row, i) => {\n row.forEach((_, j) => {\n if (matrix[i][j]) {\n if (!(i < 7 && j < 7 || i > matrix.length - 8 && j < 7 || i < 7 && j > matrix.length - 8)) {\n if (!(i > matrixMiddleStart && i < matrixMiddleEnd && j > matrixMiddleStart && j < matrixMiddleEnd)) {\n dots2.push(/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"circle\", {\n cx: i * cellSize + cellSize / 2,\n cy: j * cellSize + cellSize / 2,\n fill: \"black\",\n key: `circle-${i}-${j}`,\n r: cellSize / 3\n }));\n }\n }\n }\n });\n });\n return dots2;\n }, [ecl, logoSize, size, uri]);\n const logoPosition = size / 2 - logoSize / 2;\n const logoWrapperSize = logoSize + logoMargin * 2;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderColor: \"generalBorder\",\n borderRadius: \"menuButton\",\n borderStyle: \"solid\",\n borderWidth: \"1\",\n className: QRCodeBackgroundClassName,\n padding,\n width: \"max\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: {\n height: size,\n userSelect: \"none\",\n width: size\n },\n userSelect: \"none\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n justifyContent: \"center\",\n position: \"relative\",\n style: {\n height: 0,\n top: logoPosition,\n width: size\n },\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: logoBackground,\n borderColor: { custom: \"rgba(0, 0, 0, 0.06)\" },\n borderRadius: \"13\",\n height: logoSize,\n src: logoUrl,\n width: logoSize\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", {\n height: size,\n style: { all: \"revert\" },\n width: size\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"defs\", null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"clipPath\", {\n id: \"clip-wrapper\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"rect\", {\n height: logoWrapperSize,\n width: logoWrapperSize\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"clipPath\", {\n id: \"clip-logo\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"rect\", {\n height: logoSize,\n width: logoSize\n }))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"rect\", {\n fill: \"transparent\",\n height: size,\n width: size\n }), dots)));\n}\n\n// src/components/ConnectOptions/ConnectDetails.tsx\nvar getBrowserSrc = async () => {\n const browser = getBrowser();\n switch (browser) {\n case \"Arc\" /* Arc */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Arc-QDJFTGH2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Arc-QDJFTGH2.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Arc-QDJFTGH2.js\"))).default;\n case \"Brave\" /* Brave */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Brave-YATE5BIM_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Brave-YATE5BIM.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Brave-YATE5BIM.js\"))).default;\n case \"Chrome\" /* Chrome */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Chrome-LGF33C3S_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Chrome-LGF33C3S.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Chrome-LGF33C3S.js\"))).default;\n case \"Edge\" /* Edge */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Edge-K2JEGI5S_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Edge-K2JEGI5S.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Edge-K2JEGI5S.js\"))).default;\n case \"Firefox\" /* Firefox */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Firefox-NP5SYEK5_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Firefox-NP5SYEK5.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Firefox-NP5SYEK5.js\"))).default;\n case \"Opera\" /* Opera */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Opera-KV54PXPA_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Opera-KV54PXPA.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Opera-KV54PXPA.js\"))).default;\n case \"Safari\" /* Safari */:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Safari-2QIYKJ4P_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Safari-2QIYKJ4P.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Safari-2QIYKJ4P.js\"))).default;\n default:\n return (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_Browser-HN7O5MN7_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Browser-HN7O5MN7.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/Browser-HN7O5MN7.js\"))).default;\n }\n};\nvar preloadBrowserIcon = () => loadImages(getBrowserSrc);\nfunction GetDetail({\n getWalletDownload\n}) {\n const wallets = useWalletConnectors();\n const shownWallets = wallets.splice(0, 5);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n height: \"full\",\n marginTop: \"18\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"28\",\n height: \"full\",\n width: \"full\"\n }, shownWallets == null ? void 0 : shownWallets.filter((wallet) => {\n var _a;\n return wallet.extensionDownloadUrl || wallet.qrCode && ((_a = wallet.downloadUrls) == null ? void 0 : _a.qrCode);\n }).map((wallet) => {\n const { downloadUrls, iconBackground, iconUrl, id, name, qrCode } = wallet;\n const hasMobileCompanionApp = (downloadUrls == null ? void 0 : downloadUrls.qrCode) && qrCode;\n const hasExtension = !!wallet.extensionDownloadUrl;\n const hasMobileAndExtension = (downloadUrls == null ? void 0 : downloadUrls.qrCode) && hasExtension;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n gap: \"16\",\n justifyContent: \"space-between\",\n key: wallet.id,\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: iconBackground,\n borderColor: \"actionButtonBorder\",\n borderRadius: \"10\",\n height: \"48\",\n src: iconUrl,\n width: \"48\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"2\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, name), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, hasMobileAndExtension ? \"Mobile Wallet and Extension\" : hasMobileCompanionApp ? \"Mobile Wallet\" : hasExtension ? \"Browser Extension\" : null))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"GET\",\n onClick: () => getWalletDownload(id),\n type: \"secondary\"\n })));\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n borderRadius: \"10\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8\",\n justifyContent: \"space-between\",\n marginBottom: \"4\",\n paddingY: \"8\",\n style: { maxWidth: 275, textAlign: \"center\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, \"Not what you\\u2019re looking for?\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, \"Select a wallet on the left to get started with a different wallet provider.\")));\n}\nvar LOGO_SIZE = \"44\";\nfunction ConnectDetail({\n changeWalletStep,\n compactModeEnabled,\n connectionError,\n onClose,\n qrCodeUri,\n reconnect,\n wallet\n}) {\n var _a;\n const {\n downloadUrls,\n iconBackground,\n iconUrl,\n name,\n qrCode,\n ready,\n showWalletConnectModal\n } = wallet;\n const getDesktopDeepLink = (_a = wallet.desktop) == null ? void 0 : _a.getUri;\n const safari = isSafari();\n const hasExtension = !!wallet.extensionDownloadUrl;\n const hasQrCodeAndExtension = (downloadUrls == null ? void 0 : downloadUrls.qrCode) && hasExtension;\n const hasQrCode = qrCode && qrCodeUri;\n const secondaryAction = showWalletConnectModal ? {\n description: `Need the ${compactModeEnabled ? \"\" : \"official\"} WalletConnect modal?`,\n label: \"OPEN\",\n onClick: () => {\n onClose();\n showWalletConnectModal();\n }\n } : hasQrCode ? {\n description: `Don\\u2019t have ${name}?`,\n label: \"GET\",\n onClick: () => changeWalletStep(hasQrCodeAndExtension ? \"DOWNLOAD_OPTIONS\" /* DownloadOptions */ : \"DOWNLOAD\" /* Download */)\n } : null;\n const { width: windowWidth } = useWindowSize();\n const smallWindow = windowWidth && windowWidth < 768;\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n preloadBrowserIcon();\n }, []);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"full\",\n width: \"full\"\n }, hasQrCode ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n height: \"full\",\n justifyContent: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(QRCode, {\n logoBackground: iconBackground,\n logoSize: compactModeEnabled ? 60 : 72,\n logoUrl: iconUrl,\n size: compactModeEnabled ? 318 : smallWindow ? Math.max(280, Math.min(windowWidth - 308, 382)) : 382,\n uri: qrCodeUri\n })) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n style: { flexGrow: 1 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderRadius: \"10\",\n height: LOGO_SIZE,\n overflow: \"hidden\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n height: LOGO_SIZE,\n src: iconUrl,\n width: LOGO_SIZE\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\",\n paddingX: \"32\",\n style: { textAlign: \"center\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"18\",\n weight: \"bold\"\n }, ready ? `Opening ${name}...` : hasExtension ? `${name} is not installed` : `${name} is not available`), !ready && hasExtension ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingTop: \"20\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n href: wallet.extensionDownloadUrl,\n label: \"INSTALL\",\n type: \"secondary\"\n })) : null, ready && !hasQrCode && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n textAlign: \"center\",\n weight: \"medium\"\n }, \"Confirm connection in the extension\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n color: \"modalText\",\n display: \"flex\",\n flexDirection: \"row\",\n height: \"32\",\n marginTop: \"8\"\n }, connectionError ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"RETRY\",\n onClick: getDesktopDeepLink ? async () => {\n const uri = await getDesktopDeepLink();\n window.open(uri, safari ? \"_blank\" : \"_self\");\n } : () => {\n reconnect(wallet);\n }\n }) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n color: \"modalTextSecondary\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(SpinnerIcon, null))))))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n borderRadius: \"10\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"8\",\n height: \"28\",\n justifyContent: \"space-between\",\n marginTop: \"12\"\n }, ready && secondaryAction && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, secondaryAction.description), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: secondaryAction.label,\n onClick: secondaryAction.onClick,\n type: \"secondary\"\n }))));\n}\nvar DownloadOptionsBox = ({\n actionLabel,\n description,\n iconAccent,\n iconBackground,\n iconUrl,\n isCompact,\n onAction,\n title,\n url,\n variant\n}) => {\n const isBrowserCard = variant === \"browser\";\n const gradientRgbas = !isBrowserCard && iconAccent && getGradientRGBAs(iconAccent);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n borderRadius: \"13\",\n display: \"flex\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n paddingX: isCompact ? \"18\" : \"44\",\n position: \"relative\",\n style: { flex: 1, isolation: \"isolate\" },\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderColor: \"actionButtonBorder\",\n borderRadius: \"13\",\n borderStyle: \"solid\",\n borderWidth: \"1\",\n style: {\n bottom: \"0\",\n left: \"0\",\n position: \"absolute\",\n right: \"0\",\n top: \"0\",\n zIndex: 1\n }\n }), isBrowserCard && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"downloadTopCardBackground\",\n height: \"full\",\n position: \"absolute\",\n style: {\n zIndex: 0\n },\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n style: {\n bottom: \"0\",\n filter: \"blur(20px)\",\n left: \"0\",\n position: \"absolute\",\n right: \"0\",\n top: \"0\",\n transform: \"translate3d(0, 0, 0)\"\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: {\n filter: \"blur(100px)\",\n marginLeft: -27,\n marginTop: -20,\n opacity: 0.6,\n transform: \"translate3d(0, 0, 0)\"\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n borderRadius: \"full\",\n height: \"200\",\n src: iconUrl,\n width: \"200\"\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: {\n filter: \"blur(100px)\",\n marginRight: 0,\n marginTop: 105,\n opacity: 0.6,\n overflow: \"auto\",\n transform: \"translate3d(0, 0, 0)\"\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n borderRadius: \"full\",\n height: \"200\",\n src: iconUrl,\n width: \"200\"\n })))), !isBrowserCard && gradientRgbas && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"downloadBottomCardBackground\",\n style: {\n bottom: \"0\",\n left: \"0\",\n position: \"absolute\",\n right: \"0\",\n top: \"0\"\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n position: \"absolute\",\n style: {\n background: `radial-gradient(50% 50% at 50% 50%, ${gradientRgbas[0]} 0%, ${gradientRgbas[1]} 25%, rgba(0,0,0,0) 100%)`,\n height: 564,\n left: -215,\n top: -197,\n transform: \"translate3d(0, 0, 0)\",\n width: 564\n }\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n position: \"absolute\",\n style: {\n background: `radial-gradient(50% 50% at 50% 50%, ${gradientRgbas[2]} 0%, rgba(0, 0, 0, 0) 100%)`,\n height: 564,\n left: -1,\n top: -76,\n transform: \"translate3d(0, 0, 0)\",\n width: 564\n }\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"flex-start\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"24\",\n height: \"max\",\n justifyContent: \"center\",\n style: { zIndex: 1 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n height: \"60\",\n src: iconUrl,\n width: \"60\",\n ...iconBackground ? {\n background: iconBackground,\n borderColor: \"generalBorder\",\n borderRadius: \"10\"\n } : null\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\",\n style: { flex: 1 },\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, title), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, description), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginTop: \"14\",\n width: \"max\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n href: url,\n label: actionLabel,\n onClick: onAction,\n size: \"medium\"\n })))));\n};\nfunction DownloadOptionsDetail({\n changeWalletStep,\n wallet\n}) {\n const browser = getBrowser();\n const modalSize = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalSizeContext);\n const isCompact = modalSize === \"compact\";\n const { extension, extensionDownloadUrl, mobileDownloadUrl } = wallet;\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n preloadCreateIcon();\n preloadScanIcon();\n preloadRefreshIcon();\n }, []);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"24\",\n height: \"full\",\n marginBottom: \"8\",\n marginTop: \"4\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8\",\n height: \"full\",\n justifyContent: \"center\",\n width: \"full\"\n }, extensionDownloadUrl && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DownloadOptionsBox, {\n actionLabel: `Add to ${browser}`,\n description: \"Access your wallet right from your favorite web browser.\",\n iconUrl: getBrowserSrc,\n isCompact,\n onAction: () => changeWalletStep((extension == null ? void 0 : extension.instructions) ? \"INSTRUCTIONS_EXTENSION\" /* InstructionsExtension */ : \"CONNECT\" /* Connect */),\n title: `${wallet.name} for ${browser}`,\n url: extensionDownloadUrl,\n variant: \"browser\"\n }), mobileDownloadUrl && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DownloadOptionsBox, {\n actionLabel: \"Get the app\",\n description: \"Use the mobile wallet to explore the world of Ethereum.\",\n iconAccent: wallet.iconAccent,\n iconBackground: wallet.iconBackground,\n iconUrl: wallet.iconUrl,\n isCompact,\n onAction: () => {\n changeWalletStep(\"DOWNLOAD\" /* Download */);\n },\n title: `${wallet.name} for Mobile`,\n variant: \"app\"\n })));\n}\nfunction DownloadDetail({\n changeWalletStep,\n wallet\n}) {\n const { downloadUrls, qrCode } = wallet;\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n preloadCreateIcon();\n preloadScanIcon();\n }, []);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"24\",\n height: \"full\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: { maxWidth: 220, textAlign: \"center\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"semibold\"\n }, \"Scan with your phone to download on iOS or Android\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n height: \"full\"\n }, (downloadUrls == null ? void 0 : downloadUrls.qrCode) ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(QRCode, {\n logoSize: 0,\n size: 268,\n uri: downloadUrls.qrCode\n }) : null), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n borderRadius: \"10\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"8\",\n height: \"34\",\n justifyContent: \"space-between\",\n marginBottom: \"12\",\n paddingY: \"8\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"Continue\",\n onClick: () => changeWalletStep((qrCode == null ? void 0 : qrCode.instructions) ? \"INSTRUCTIONS_MOBILE\" /* InstructionsMobile */ : \"CONNECT\" /* Connect */)\n })));\n}\nvar stepIcons = {\n create: () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CreateIcon, null),\n install: (wallet) => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: wallet.iconBackground,\n borderColor: \"generalBorder\",\n borderRadius: \"10\",\n height: \"48\",\n src: wallet.iconUrl,\n width: \"48\"\n }),\n refresh: () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RefreshIcon, null),\n scan: () => /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ScanIcon, null)\n};\nfunction InstructionMobileDetail({\n connectWallet,\n wallet\n}) {\n var _a, _b, _c, _d;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n height: \"full\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"28\",\n height: \"full\",\n justifyContent: \"center\",\n paddingY: \"32\",\n style: { maxWidth: 320 }\n }, (_b = (_a = wallet == null ? void 0 : wallet.qrCode) == null ? void 0 : _a.instructions) == null ? void 0 : _b.steps.map((d, idx) => {\n var _a2;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"16\",\n key: idx\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderRadius: \"10\",\n height: \"48\",\n minWidth: \"48\",\n overflow: \"hidden\",\n position: \"relative\",\n width: \"48\"\n }, (_a2 = stepIcons[d.step]) == null ? void 0 : _a2.call(stepIcons, wallet)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, d.title), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, d.description)));\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12\",\n justifyContent: \"center\",\n marginBottom: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"Connect\",\n onClick: () => connectWallet(wallet)\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"a\",\n className: touchableStyles({ active: \"shrink\", hover: \"grow\" }),\n display: \"block\",\n href: (_d = (_c = wallet == null ? void 0 : wallet.qrCode) == null ? void 0 : _c.instructions) == null ? void 0 : _d.learnMoreUrl,\n paddingX: \"12\",\n paddingY: \"4\",\n rel: \"noreferrer\",\n style: { willChange: \"transform\" },\n target: \"_blank\",\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"accentColor\",\n size: \"14\",\n weight: \"bold\"\n }, \"Learn More\"))));\n}\nfunction InstructionExtensionDetail({\n wallet\n}) {\n var _a, _b, _c, _d;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n height: \"full\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"28\",\n height: \"full\",\n justifyContent: \"center\",\n paddingY: \"32\",\n style: { maxWidth: 320 }\n }, (_b = (_a = wallet == null ? void 0 : wallet.extension) == null ? void 0 : _a.instructions) == null ? void 0 : _b.steps.map((d, idx) => {\n var _a2;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"16\",\n key: idx\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n borderRadius: \"10\",\n height: \"48\",\n minWidth: \"48\",\n overflow: \"hidden\",\n position: \"relative\",\n width: \"48\"\n }, (_a2 = stepIcons[d.step]) == null ? void 0 : _a2.call(stepIcons, wallet)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"14\",\n weight: \"bold\"\n }, d.title), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, d.description)));\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12\",\n justifyContent: \"center\",\n marginBottom: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"Refresh\",\n onClick: window.location.reload.bind(window.location)\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"a\",\n className: touchableStyles({ active: \"shrink\", hover: \"grow\" }),\n display: \"block\",\n href: (_d = (_c = wallet == null ? void 0 : wallet.extension) == null ? void 0 : _c.instructions) == null ? void 0 : _d.learnMoreUrl,\n paddingX: \"12\",\n paddingY: \"4\",\n rel: \"noreferrer\",\n style: { willChange: \"transform\" },\n target: \"_blank\",\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"accentColor\",\n size: \"14\",\n weight: \"bold\"\n }, \"Learn More\"))));\n}\n\n// src/components/ConnectOptions/DesktopOptions.tsx\nfunction DesktopOptions({ onClose }) {\n const titleId = \"rk_connect_title\";\n const safari = isSafari();\n const [selectedOptionId, setSelectedOptionId] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();\n const [selectedWallet, setSelectedWallet] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();\n const [qrCodeUri, setQrCodeUri] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();\n const hasQrCode = !!(selectedWallet == null ? void 0 : selectedWallet.qrCode) && qrCodeUri;\n const [connectionError, setConnectionError] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n const modalSize = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalSizeContext);\n const compactModeEnabled = modalSize === ModalSizeOptions.COMPACT;\n const { disclaimer: Disclaimer } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AppContext);\n const wallets = useWalletConnectors().filter((wallet) => wallet.ready || !!wallet.extensionDownloadUrl).sort((a, b) => a.groupIndex - b.groupIndex);\n const groupedWallets = groupBy(wallets, (wallet) => wallet.groupName);\n const connectToWallet = (wallet) => {\n var _a, _b, _c;\n setConnectionError(false);\n if (wallet.ready) {\n (_b = (_a = wallet == null ? void 0 : wallet.connect) == null ? void 0 : _a.call(wallet)) == null ? void 0 : _b.catch(() => {\n setConnectionError(true);\n });\n const getDesktopDeepLink = (_c = wallet.desktop) == null ? void 0 : _c.getUri;\n if (getDesktopDeepLink) {\n setTimeout(async () => {\n const uri = await getDesktopDeepLink();\n window.open(uri, safari ? \"_blank\" : \"_self\");\n }, 0);\n }\n }\n };\n const selectWallet = (wallet) => {\n var _a;\n connectToWallet(wallet);\n setSelectedOptionId(wallet.id);\n if (wallet.ready) {\n let callbackFired = false;\n (_a = wallet == null ? void 0 : wallet.onConnecting) == null ? void 0 : _a.call(wallet, async () => {\n var _a2, _b;\n if (callbackFired)\n return;\n callbackFired = true;\n const sWallet = wallets.find((w) => wallet.id === w.id);\n const uri = await ((_a2 = sWallet == null ? void 0 : sWallet.qrCode) == null ? void 0 : _a2.getUri());\n setQrCodeUri(uri);\n setTimeout(() => {\n setSelectedWallet(sWallet);\n changeWalletStep(\"CONNECT\" /* Connect */);\n }, uri ? 0 : 50);\n const provider = await (sWallet == null ? void 0 : sWallet.connector.getProvider());\n const connection = (_b = provider == null ? void 0 : provider.signer) == null ? void 0 : _b.connection;\n if ((connection == null ? void 0 : connection.on) && (connection == null ? void 0 : connection.off)) {\n const handleConnectionClose = () => {\n removeHandlers();\n selectWallet(wallet);\n };\n const removeHandlers = () => {\n connection.off(\"close\", handleConnectionClose);\n connection.off(\"open\", removeHandlers);\n };\n connection.on(\"close\", handleConnectionClose);\n connection.on(\"open\", removeHandlers);\n }\n });\n } else {\n setSelectedWallet(wallet);\n changeWalletStep((wallet == null ? void 0 : wallet.extensionDownloadUrl) ? \"DOWNLOAD_OPTIONS\" /* DownloadOptions */ : \"CONNECT\" /* Connect */);\n }\n };\n const getWalletDownload = (id) => {\n var _a;\n setSelectedOptionId(id);\n const sWallet = wallets.find((w) => id === w.id);\n const isMobile2 = (_a = sWallet == null ? void 0 : sWallet.downloadUrls) == null ? void 0 : _a.qrCode;\n const isExtension = !!(sWallet == null ? void 0 : sWallet.extensionDownloadUrl);\n setSelectedWallet(sWallet);\n if (isMobile2 && isExtension) {\n changeWalletStep(\"DOWNLOAD_OPTIONS\" /* DownloadOptions */);\n } else if (isMobile2) {\n changeWalletStep(\"DOWNLOAD\" /* Download */);\n } else {\n changeWalletStep(\"INSTRUCTIONS_EXTENSION\" /* InstructionsExtension */);\n }\n };\n const clearSelectedWallet = () => {\n setSelectedOptionId(void 0);\n setSelectedWallet(void 0);\n setQrCodeUri(void 0);\n };\n const changeWalletStep = (newWalletStep, isBack = false) => {\n if (isBack && newWalletStep === \"GET\" /* Get */ && initialWalletStep === \"GET\" /* Get */) {\n clearSelectedWallet();\n } else if (!isBack && newWalletStep === \"GET\" /* Get */) {\n setInitialWalletStep(\"GET\" /* Get */);\n } else if (!isBack && newWalletStep === \"CONNECT\" /* Connect */) {\n setInitialWalletStep(\"CONNECT\" /* Connect */);\n }\n setWalletStep(newWalletStep);\n };\n const [initialWalletStep, setInitialWalletStep] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"NONE\" /* None */);\n const [walletStep, setWalletStep] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"NONE\" /* None */);\n let walletContent = null;\n let headerLabel = null;\n let headerBackButtonLink = null;\n let headerBackButtonCallback;\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n setConnectionError(false);\n }, [walletStep, selectedWallet]);\n const hasExtension = !!(selectedWallet == null ? void 0 : selectedWallet.extensionDownloadUrl);\n const hasExtensionAndMobile = !!(hasExtension && (selectedWallet == null ? void 0 : selectedWallet.mobileDownloadUrl));\n switch (walletStep) {\n case \"NONE\" /* None */:\n walletContent = /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ConnectModalIntro, {\n getWallet: () => changeWalletStep(\"GET\" /* Get */)\n });\n break;\n case \"LEARN_COMPACT\" /* LearnCompact */:\n walletContent = /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ConnectModalIntro, {\n compactModeEnabled,\n getWallet: () => changeWalletStep(\"GET\" /* Get */)\n });\n headerLabel = \"What is a Wallet?\";\n headerBackButtonLink = \"NONE\" /* None */;\n break;\n case \"GET\" /* Get */:\n walletContent = /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(GetDetail, {\n getWalletDownload\n });\n headerLabel = \"Get a Wallet\";\n headerBackButtonLink = compactModeEnabled ? \"LEARN_COMPACT\" /* LearnCompact */ : \"NONE\" /* None */;\n break;\n case \"CONNECT\" /* Connect */:\n walletContent = selectedWallet && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ConnectDetail, {\n changeWalletStep,\n compactModeEnabled,\n connectionError,\n onClose,\n qrCodeUri,\n reconnect: connectToWallet,\n wallet: selectedWallet\n });\n headerLabel = hasQrCode && `Scan with ${selectedWallet.name === \"WalletConnect\" ? \"your phone\" : selectedWallet.name}`;\n headerBackButtonLink = compactModeEnabled ? \"NONE\" /* None */ : null;\n headerBackButtonCallback = compactModeEnabled ? clearSelectedWallet : () => {\n };\n break;\n case \"DOWNLOAD_OPTIONS\" /* DownloadOptions */:\n walletContent = selectedWallet && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DownloadOptionsDetail, {\n changeWalletStep,\n wallet: selectedWallet\n });\n headerLabel = selectedWallet && `Get ${selectedWallet.name}`;\n headerBackButtonLink = hasExtensionAndMobile && \"CONNECT\" /* Connect */ ? initialWalletStep : null;\n break;\n case \"DOWNLOAD\" /* Download */:\n walletContent = selectedWallet && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DownloadDetail, {\n changeWalletStep,\n wallet: selectedWallet\n });\n headerLabel = selectedWallet && `Install ${selectedWallet.name}`;\n headerBackButtonLink = hasExtensionAndMobile ? \"DOWNLOAD_OPTIONS\" /* DownloadOptions */ : initialWalletStep;\n break;\n case \"INSTRUCTIONS_MOBILE\" /* InstructionsMobile */:\n walletContent = selectedWallet && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(InstructionMobileDetail, {\n connectWallet: selectWallet,\n wallet: selectedWallet\n });\n headerLabel = selectedWallet && `Get started with ${compactModeEnabled ? selectedWallet.shortName || selectedWallet.name : selectedWallet.name}`;\n headerBackButtonLink = \"DOWNLOAD\" /* Download */;\n break;\n case \"INSTRUCTIONS_EXTENSION\" /* InstructionsExtension */:\n walletContent = selectedWallet && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(InstructionExtensionDetail, {\n wallet: selectedWallet\n });\n headerLabel = selectedWallet && `Get started with ${compactModeEnabled ? selectedWallet.shortName || selectedWallet.name : selectedWallet.name}`;\n headerBackButtonLink = \"DOWNLOAD_OPTIONS\" /* DownloadOptions */;\n break;\n default:\n break;\n }\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"row\",\n style: { maxHeight: compactModeEnabled ? 468 : 504 }\n }, (compactModeEnabled ? walletStep === \"NONE\" /* None */ : true) && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n className: compactModeEnabled ? sidebarCompactMode : sidebar,\n display: \"flex\",\n flexDirection: \"column\",\n marginTop: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n justifyContent: \"space-between\"\n }, compactModeEnabled && Disclaimer && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginLeft: \"16\",\n width: \"28\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(InfoButton, {\n onClick: () => changeWalletStep(\"LEARN_COMPACT\" /* LearnCompact */)\n })), compactModeEnabled && !Disclaimer && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginLeft: \"16\",\n width: \"28\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginLeft: compactModeEnabled ? \"0\" : \"6\",\n paddingBottom: \"8\",\n paddingTop: \"2\",\n paddingX: \"18\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n as: \"h1\",\n color: \"modalText\",\n id: titleId,\n size: \"18\",\n weight: \"heavy\"\n }, \"Connect a Wallet\")), compactModeEnabled && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginRight: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseButton, {\n onClose\n }))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n className: ScrollClassName,\n paddingBottom: \"18\"\n }, Object.entries(groupedWallets).map(([groupName, wallets2], index) => wallets2.length > 0 && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: index\n }, groupName ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginBottom: \"8\",\n marginTop: \"16\",\n marginX: \"6\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"bold\"\n }, groupName)) : null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4\"\n }, wallets2.map((wallet) => {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ModalSelection, {\n currentlySelected: wallet.id === selectedOptionId,\n iconBackground: wallet.iconBackground,\n iconUrl: wallet.iconUrl,\n key: wallet.id,\n name: wallet.name,\n onClick: () => selectWallet(wallet),\n ready: wallet.ready,\n recent: wallet.recent,\n testId: `wallet-option-${wallet.id}`\n });\n }))))), compactModeEnabled && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorder\",\n height: \"1\",\n marginTop: \"-1\"\n }), Disclaimer ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingX: \"24\",\n paddingY: \"16\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Disclaimer, {\n Link: DisclaimerLink,\n Text: DisclaimerText\n })) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"space-between\",\n paddingX: \"24\",\n paddingY: \"16\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingY: \"4\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"14\",\n weight: \"medium\"\n }, \"New to Ethereum wallets?\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"4\",\n justifyContent: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n className: touchableStyles({\n active: \"shrink\",\n hover: \"grow\"\n }),\n cursor: \"pointer\",\n onClick: () => changeWalletStep(\"LEARN_COMPACT\" /* LearnCompact */),\n paddingY: \"4\",\n style: { willChange: \"transform\" },\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"accentColor\",\n size: \"14\",\n weight: \"bold\"\n }, \"Learn More\")))))), (compactModeEnabled ? walletStep !== \"NONE\" /* None */ : true) && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, !compactModeEnabled && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorder\",\n minWidth: \"1\",\n width: \"1\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n margin: \"16\",\n style: { flexGrow: 1 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: \"12\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n width: \"28\"\n }, headerBackButtonLink && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"button\",\n className: touchableStyles({\n active: \"shrinkSm\",\n hover: \"growLg\"\n }),\n color: \"accentColor\",\n onClick: () => {\n headerBackButtonLink && changeWalletStep(headerBackButtonLink, true);\n headerBackButtonCallback == null ? void 0 : headerBackButtonCallback();\n },\n paddingX: \"8\",\n paddingY: \"4\",\n style: {\n boxSizing: \"content-box\",\n height: 17,\n willChange: \"transform\"\n },\n transition: \"default\",\n type: \"button\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(BackIcon, null))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n justifyContent: \"center\",\n style: { flexGrow: 1 }\n }, headerLabel && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"18\",\n textAlign: \"center\",\n weight: \"heavy\"\n }, headerLabel)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseButton, {\n onClose\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n style: { minHeight: compactModeEnabled ? 396 : 432 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"6\",\n height: \"full\",\n justifyContent: \"center\",\n marginX: \"8\"\n }, walletContent)))));\n}\n\n// src/components/ConnectOptions/MobileOptions.tsx\n\n\n// src/components/ConnectOptions/MobileOptions.css.ts\nvar scroll = \"_1am14410\";\n\n// src/components/ConnectOptions/MobileOptions.tsx\nfunction WalletButton({\n onClose,\n wallet\n}) {\n const {\n connect,\n connector,\n iconBackground,\n iconUrl,\n id,\n mobile,\n name,\n onConnecting,\n ready,\n shortName\n } = wallet;\n const getMobileUri = mobile == null ? void 0 : mobile.getUri;\n const coolModeRef = useCoolMode(iconUrl);\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"button\",\n color: ready ? \"modalText\" : \"modalTextSecondary\",\n disabled: !ready,\n fontFamily: \"body\",\n key: id,\n onClick: (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async () => {\n if (id === \"walletConnect\")\n onClose == null ? void 0 : onClose();\n connect == null ? void 0 : connect();\n let callbackFired = false;\n onConnecting == null ? void 0 : onConnecting(async () => {\n if (callbackFired)\n return;\n callbackFired = true;\n if (getMobileUri) {\n const mobileUri = await getMobileUri();\n if (connector.id === \"walletConnect\" || connector.id === \"walletConnectLegacy\") {\n setWalletConnectDeepLink({ mobileUri, name });\n }\n if (mobileUri.startsWith(\"http\")) {\n const link = document.createElement(\"a\");\n link.href = mobileUri;\n link.target = \"_blank\";\n link.rel = \"noreferrer noopener\";\n link.click();\n } else {\n window.location.href = mobileUri;\n }\n }\n });\n }, [connector, connect, getMobileUri, onConnecting, onClose, name, id]),\n ref: coolModeRef,\n style: { overflow: \"visible\", textAlign: \"center\" },\n testId: `wallet-option-${id}`,\n type: \"button\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingBottom: \"8\",\n paddingTop: \"10\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: iconBackground,\n borderRadius: \"13\",\n boxShadow: \"walletLogo\",\n height: \"60\",\n src: iconUrl,\n width: \"60\"\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n as: \"h2\",\n color: wallet.ready ? \"modalText\" : \"modalTextSecondary\",\n size: \"13\",\n weight: \"medium\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"span\",\n position: \"relative\"\n }, shortName != null ? shortName : name, !wallet.ready && \" (unsupported)\")), wallet.recent && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"accentColor\",\n size: \"12\",\n weight: \"medium\"\n }, \"Recent\"))));\n}\nfunction MobileOptions({ onClose }) {\n var _a;\n const titleId = \"rk_connect_title\";\n const wallets = useWalletConnectors();\n const { disclaimer: Disclaimer, learnMoreUrl } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AppContext);\n let headerLabel = null;\n let walletContent = null;\n let headerBackgroundContrast = false;\n let headerBackButtonLink = null;\n const [walletStep, setWalletStep] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"CONNECT\" /* Connect */);\n const ios = isIOS();\n switch (walletStep) {\n case \"CONNECT\" /* Connect */: {\n headerLabel = \"Connect a Wallet\";\n headerBackgroundContrast = true;\n walletContent = /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"profileForeground\",\n className: scroll,\n display: \"flex\",\n paddingBottom: \"20\",\n paddingTop: \"6\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n style: { margin: \"0 auto\" }\n }, wallets.filter((wallet) => wallet.ready).map((wallet) => {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n key: wallet.id,\n paddingX: \"20\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n width: \"60\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(WalletButton, {\n onClose,\n wallet\n })));\n }))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorder\",\n height: \"1\",\n marginBottom: \"32\",\n marginTop: \"-1\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"32\",\n paddingX: \"32\",\n style: { textAlign: \"center\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"16\",\n weight: \"bold\"\n }, \"What is a Wallet?\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"16\"\n }, \"A wallet is used to send, receive, store, and display digital assets. It\\u2019s also a new way to log in, without needing to create new accounts and passwords on\\xA0every\\xA0website.\"))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n paddingTop: \"32\",\n paddingX: \"20\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n gap: \"14\",\n justifyContent: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n label: \"Get a Wallet\",\n onClick: () => setWalletStep(\"GET\" /* Get */),\n size: \"large\",\n type: \"secondary\"\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n href: learnMoreUrl,\n label: \"Learn More\",\n size: \"large\",\n type: \"secondary\"\n }))), Disclaimer && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginTop: \"28\",\n marginX: \"32\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Disclaimer, {\n Link: DisclaimerLink,\n Text: DisclaimerText\n })));\n break;\n }\n case \"GET\" /* Get */: {\n headerLabel = \"Get a Wallet\";\n headerBackButtonLink = \"CONNECT\" /* Connect */;\n const mobileWallets = (_a = wallets == null ? void 0 : wallets.filter((wallet) => {\n var _a2, _b, _c;\n return ((_a2 = wallet.downloadUrls) == null ? void 0 : _a2.ios) || ((_b = wallet.downloadUrls) == null ? void 0 : _b.android) || ((_c = wallet.downloadUrls) == null ? void 0 : _c.mobile);\n })) == null ? void 0 : _a.splice(0, 3);\n walletContent = /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n height: \"full\",\n marginBottom: \"36\",\n marginTop: \"5\",\n paddingTop: \"12\",\n width: \"full\"\n }, mobileWallets.map((wallet, index) => {\n const { downloadUrls, iconBackground, iconUrl, name } = wallet;\n if (!(downloadUrls == null ? void 0 : downloadUrls.ios) && !(downloadUrls == null ? void 0 : downloadUrls.android) && !(downloadUrls == null ? void 0 : downloadUrls.mobile)) {\n return null;\n }\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n gap: \"16\",\n key: wallet.id,\n paddingX: \"20\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: { minHeight: 48, minWidth: 48 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n background: iconBackground,\n borderColor: \"generalBorder\",\n borderRadius: \"10\",\n height: \"48\",\n src: iconUrl,\n width: \"48\"\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n height: \"48\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"18\",\n weight: \"bold\"\n }, name)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ActionButton, {\n href: (ios ? downloadUrls == null ? void 0 : downloadUrls.ios : downloadUrls == null ? void 0 : downloadUrls.android) || (downloadUrls == null ? void 0 : downloadUrls.mobile),\n label: \"GET\",\n size: \"small\",\n type: \"secondary\"\n })), index < mobileWallets.length - 1 && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: \"generalBorderDim\",\n height: \"1\",\n marginY: \"10\",\n width: \"full\"\n })));\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: { marginBottom: \"42px\" }\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"36\",\n paddingX: \"36\",\n style: { textAlign: \"center\" }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12\",\n textAlign: \"center\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalText\",\n size: \"16\",\n weight: \"bold\"\n }, \"Not what you\\u2019re looking for?\"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n color: \"modalTextSecondary\",\n size: \"16\"\n }, \"Select a wallet on the main screen to get started with a different wallet provider.\"))));\n break;\n }\n }\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\",\n paddingBottom: \"36\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: headerBackgroundContrast ? \"profileForeground\" : \"modalBackground\",\n display: \"flex\",\n flexDirection: \"column\",\n paddingBottom: \"4\",\n paddingTop: \"14\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n justifyContent: \"center\",\n paddingBottom: \"6\",\n paddingX: \"20\",\n position: \"relative\"\n }, headerBackButtonLink && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n position: \"absolute\",\n style: {\n left: 0,\n marginBottom: -20,\n marginTop: -20\n }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n as: \"button\",\n className: touchableStyles({\n active: \"shrinkSm\",\n hover: \"growLg\"\n }),\n color: \"accentColor\",\n display: \"flex\",\n marginLeft: \"4\",\n marginTop: \"20\",\n onClick: () => setWalletStep(headerBackButtonLink),\n padding: \"16\",\n style: { height: 17, willChange: \"transform\" },\n transition: \"default\",\n type: \"button\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(BackIcon, null))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n marginTop: \"4\",\n textAlign: \"center\",\n width: \"full\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Text, {\n as: \"h1\",\n color: \"modalText\",\n id: titleId,\n size: \"20\",\n weight: \"bold\"\n }, headerLabel)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n height: \"32\",\n paddingRight: \"14\",\n position: \"absolute\",\n right: \"0\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n style: { marginBottom: -20, marginTop: -20 }\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(CloseButton, {\n onClose\n }))))), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n flexDirection: \"column\"\n }, walletContent));\n}\n\n// src/components/ConnectOptions/ConnectOptions.tsx\nfunction ConnectOptions({ onClose }) {\n return isMobile() ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(MobileOptions, {\n onClose\n }) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DesktopOptions, {\n onClose\n });\n}\n\n// src/components/ConnectModal/ConnectModal.tsx\nfunction ConnectModal({ onClose, open }) {\n const titleId = \"rk_connect_title\";\n const connectionStatus = useConnectionStatus();\n if (connectionStatus === \"disconnected\") {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Dialog, {\n onClose,\n open,\n titleId\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DialogContent, {\n bottomSheetOnMobile: true,\n padding: \"0\",\n wide: true\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ConnectOptions, {\n onClose\n })));\n }\n if (connectionStatus === \"unauthenticated\") {\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Dialog, {\n onClose,\n open,\n titleId\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DialogContent, {\n bottomSheetOnMobile: true,\n padding: \"0\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(SignIn, {\n onClose\n })));\n }\n return null;\n}\n\n// src/components/RainbowKitProvider/ModalContext.tsx\nfunction useModalStateValue() {\n const [isModalOpen, setModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n return {\n closeModal: (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setModalOpen(false), []),\n isModalOpen,\n openModal: (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setModalOpen(true), [])\n };\n}\nvar ModalContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\n accountModalOpen: false,\n chainModalOpen: false,\n connectModalOpen: false\n});\nfunction ModalProvider({ children }) {\n const {\n closeModal: closeConnectModal,\n isModalOpen: connectModalOpen,\n openModal: openConnectModal\n } = useModalStateValue();\n const {\n closeModal: closeAccountModal,\n isModalOpen: accountModalOpen,\n openModal: openAccountModal\n } = useModalStateValue();\n const {\n closeModal: closeChainModal,\n isModalOpen: chainModalOpen,\n openModal: openChainModal\n } = useModalStateValue();\n const connectionStatus = useConnectionStatus();\n const { chain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n const chainSupported = !(chain == null ? void 0 : chain.unsupported);\n function closeModals({\n keepConnectModalOpen = false\n } = {}) {\n if (!keepConnectModalOpen) {\n closeConnectModal();\n }\n closeAccountModal();\n closeChainModal();\n }\n const isUnauthenticated = useAuthenticationStatus() === \"unauthenticated\";\n (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)({\n onConnect: () => closeModals({ keepConnectModalOpen: isUnauthenticated }),\n onDisconnect: () => closeModals()\n });\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ModalContext.Provider, {\n value: (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({\n accountModalOpen,\n chainModalOpen,\n connectModalOpen,\n openAccountModal: chainSupported && connectionStatus === \"connected\" ? openAccountModal : void 0,\n openChainModal: connectionStatus === \"connected\" ? openChainModal : void 0,\n openConnectModal: connectionStatus === \"disconnected\" || connectionStatus === \"unauthenticated\" ? openConnectModal : void 0\n }), [\n connectionStatus,\n chainSupported,\n accountModalOpen,\n chainModalOpen,\n connectModalOpen,\n openAccountModal,\n openChainModal,\n openConnectModal\n ])\n }, children, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ConnectModal, {\n onClose: closeConnectModal,\n open: connectModalOpen\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AccountModal, {\n onClose: closeAccountModal,\n open: accountModalOpen\n }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ChainModal, {\n onClose: closeChainModal,\n open: chainModalOpen\n }));\n}\nfunction useModalState() {\n const { accountModalOpen, chainModalOpen, connectModalOpen } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalContext);\n return {\n accountModalOpen,\n chainModalOpen,\n connectModalOpen\n };\n}\nfunction useAccountModal() {\n const { accountModalOpen, openAccountModal } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalContext);\n return { accountModalOpen, openAccountModal };\n}\nfunction useChainModal() {\n const { chainModalOpen, openChainModal } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalContext);\n return { chainModalOpen, openChainModal };\n}\nfunction useConnectModal() {\n const { connectModalOpen, openConnectModal } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModalContext);\n return { connectModalOpen, openConnectModal };\n}\n\n// src/components/ConnectButton/ConnectButtonRenderer.tsx\nvar noop = () => {\n};\nfunction ConnectButtonRenderer({\n children\n}) {\n var _a, _b, _c, _d;\n const mounted = useIsMounted();\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useAccount)();\n const ensName = useMainnetEnsName(address);\n const ensAvatar = useMainnetEnsAvatar(ensName);\n const { data: balanceData } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useBalance)({ address });\n const { chain: activeChain } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.useNetwork)();\n const rainbowkitChainsById = useRainbowKitChainsById();\n const authenticationStatus = (_a = useAuthenticationStatus()) != null ? _a : void 0;\n const rainbowKitChain = activeChain ? rainbowkitChainsById[activeChain.id] : void 0;\n const chainName = (_b = rainbowKitChain == null ? void 0 : rainbowKitChain.name) != null ? _b : void 0;\n const chainIconUrl = (_c = rainbowKitChain == null ? void 0 : rainbowKitChain.iconUrl) != null ? _c : void 0;\n const chainIconBackground = (_d = rainbowKitChain == null ? void 0 : rainbowKitChain.iconBackground) != null ? _d : void 0;\n const resolvedChainIconUrl = useAsyncImage(chainIconUrl);\n const showRecentTransactions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ShowRecentTransactionsContext);\n const hasPendingTransactions = useRecentTransactions().some(({ status }) => status === \"pending\") && showRecentTransactions;\n const displayBalance = balanceData ? `${abbreviateETHBalance(parseFloat(balanceData.formatted))} ${balanceData.symbol}` : void 0;\n const { openConnectModal } = useConnectModal();\n const { openChainModal } = useChainModal();\n const { openAccountModal } = useAccountModal();\n const { accountModalOpen, chainModalOpen, connectModalOpen } = useModalState();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, children({\n account: address ? {\n address,\n balanceDecimals: balanceData == null ? void 0 : balanceData.decimals,\n balanceFormatted: balanceData == null ? void 0 : balanceData.formatted,\n balanceSymbol: balanceData == null ? void 0 : balanceData.symbol,\n displayBalance,\n displayName: ensName ? formatENS(ensName) : formatAddress(address),\n ensAvatar: ensAvatar != null ? ensAvatar : void 0,\n ensName: ensName != null ? ensName : void 0,\n hasPendingTransactions\n } : void 0,\n accountModalOpen,\n authenticationStatus,\n chain: activeChain ? {\n hasIcon: Boolean(chainIconUrl),\n iconBackground: chainIconBackground,\n iconUrl: resolvedChainIconUrl,\n id: activeChain.id,\n name: chainName != null ? chainName : activeChain.name,\n unsupported: activeChain.unsupported\n } : void 0,\n chainModalOpen,\n connectModalOpen,\n mounted,\n openAccountModal: openAccountModal != null ? openAccountModal : noop,\n openChainModal: openChainModal != null ? openChainModal : noop,\n openConnectModal: openConnectModal != null ? openConnectModal : noop\n }));\n}\nConnectButtonRenderer.displayName = \"ConnectButton.Custom\";\n\n// src/components/ConnectButton/ConnectButton.tsx\nvar defaultProps = {\n accountStatus: \"full\",\n chainStatus: { largeScreen: \"full\", smallScreen: \"icon\" },\n label: \"Connect Wallet\",\n showBalance: { largeScreen: true, smallScreen: false }\n};\nfunction ConnectButton({\n accountStatus = defaultProps.accountStatus,\n chainStatus = defaultProps.chainStatus,\n label = defaultProps.label,\n showBalance = defaultProps.showBalance\n}) {\n const chains = useRainbowKitChains();\n const connectionStatus = useConnectionStatus();\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ConnectButtonRenderer, null, ({\n account,\n chain,\n mounted,\n openAccountModal,\n openChainModal,\n openConnectModal\n }) => {\n var _a, _b, _c;\n const ready = mounted && connectionStatus !== \"loading\";\n const unsupportedChain = (_a = chain == null ? void 0 : chain.unsupported) != null ? _a : false;\n return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: \"flex\",\n gap: \"12\",\n ...!ready && {\n \"aria-hidden\": true,\n \"style\": {\n opacity: 0,\n pointerEvents: \"none\",\n userSelect: \"none\"\n }\n }\n }, ready && account && connectionStatus === \"connected\" ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, chain && (chains.length > 1 || unsupportedChain) && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n \"aria-label\": \"Chain Selector\",\n as: \"button\",\n background: unsupportedChain ? \"connectButtonBackgroundError\" : \"connectButtonBackground\",\n borderRadius: \"connectButton\",\n boxShadow: \"connectButton\",\n className: touchableStyles({\n active: \"shrink\",\n hover: \"grow\"\n }),\n color: unsupportedChain ? \"connectButtonTextError\" : \"connectButtonText\",\n display: mapResponsiveValue(chainStatus, (value) => value === \"none\" ? \"none\" : \"flex\"),\n fontFamily: \"body\",\n fontWeight: \"bold\",\n gap: \"6\",\n key: unsupportedChain ? \"unsupported\" : \"supported\",\n onClick: openChainModal,\n paddingX: \"10\",\n paddingY: \"8\",\n testId: unsupportedChain ? \"wrong-network-button\" : \"chain-button\",\n transition: \"default\",\n type: \"button\"\n }, unsupportedChain ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n height: \"24\",\n paddingX: \"4\"\n }, \"Wrong network\") : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n gap: \"6\"\n }, chain.hasIcon ? /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: mapResponsiveValue(chainStatus, (value) => value === \"full\" || value === \"icon\" ? \"block\" : \"none\"),\n height: \"24\",\n width: \"24\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(AsyncImage, {\n alt: (_b = chain.name) != null ? _b : \"Chain icon\",\n background: chain.iconBackground,\n borderRadius: \"full\",\n height: \"24\",\n src: chain.iconUrl,\n width: \"24\"\n })) : null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: mapResponsiveValue(chainStatus, (value) => {\n if (value === \"icon\" && !chain.iconUrl) {\n return \"block\";\n }\n return value === \"full\" || value === \"name\" ? \"block\" : \"none\";\n })\n }, (_c = chain.name) != null ? _c : chain.id)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DropdownIcon, null)), !unsupportedChain && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n as: \"button\",\n background: \"connectButtonBackground\",\n borderRadius: \"connectButton\",\n boxShadow: \"connectButton\",\n className: touchableStyles({\n active: \"shrink\",\n hover: \"grow\"\n }),\n color: \"connectButtonText\",\n display: \"flex\",\n fontFamily: \"body\",\n fontWeight: \"bold\",\n onClick: openAccountModal,\n testId: \"account-button\",\n transition: \"default\",\n type: \"button\"\n }, account.displayBalance && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: mapResponsiveValue(showBalance, (value) => value ? \"block\" : \"none\"),\n padding: \"8\",\n paddingLeft: \"12\"\n }, account.displayBalance), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n background: normalizeResponsiveValue(showBalance)[isMobile() ? \"smallScreen\" : \"largeScreen\"] ? \"connectButtonInnerBackground\" : \"connectButtonBackground\",\n borderColor: \"connectButtonBackground\",\n borderRadius: \"connectButton\",\n borderStyle: \"solid\",\n borderWidth: \"2\",\n color: \"connectButtonText\",\n fontFamily: \"body\",\n fontWeight: \"bold\",\n paddingX: \"8\",\n paddingY: \"6\",\n transition: \"default\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n gap: \"6\",\n height: \"24\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: mapResponsiveValue(accountStatus, (value) => value === \"full\" || value === \"avatar\" ? \"block\" : \"none\")\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Avatar, {\n address: account.address,\n imageUrl: account.ensAvatar,\n loading: account.hasPendingTransactions,\n size: 24\n })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n alignItems: \"center\",\n display: \"flex\",\n gap: \"6\"\n }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n display: mapResponsiveValue(accountStatus, (value) => value === \"full\" || value === \"address\" ? \"block\" : \"none\")\n }, account.displayName), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(DropdownIcon, null)))))) : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Box, {\n as: \"button\",\n background: \"accentColor\",\n borderRadius: \"connectButton\",\n boxShadow: \"connectButton\",\n className: touchableStyles({ active: \"shrink\", hover: \"grow\" }),\n color: \"accentColorForeground\",\n fontFamily: \"body\",\n fontWeight: \"bold\",\n height: \"40\",\n key: \"connect\",\n onClick: openConnectModal,\n paddingX: \"14\",\n testId: \"connect-button\",\n transition: \"default\",\n type: \"button\"\n }, label));\n });\n}\nConnectButton.__defaultProps = defaultProps;\nConnectButton.Custom = ConnectButtonRenderer;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLUo0WUNJN1ZULmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUc2Qjs7QUFFN0I7QUFDNEI7O0FBRTVCO0FBQ29GO0FBQ007QUFDSTtBQUM5RjtBQUNBLHlCQUF5Qix3RkFBTSxHQUFHLGNBQWMsNEdBQTRHO0FBQzVKLCtCQUErQiw4RkFBTSxHQUFHLGNBQWMsNEdBQTRHO0FBQ2xLLGdCQUFnQixrR0FBTSxHQUFHLGNBQWMsZ0dBQWdHLFlBQVksY0FBYyxVQUFVLGVBQWUsY0FBYyx5REFBeUQsNEJBQTRCLDJCQUEyQixjQUFjLHlEQUF5RCw0QkFBNEIsd0JBQXdCLGNBQWMseURBQXlELDRCQUE0Qiw4QkFBOEIsY0FBYyx5REFBeUQsNEJBQTRCLHFDQUFxQyxjQUFjLHlEQUF5RCw0QkFBNEIsaUJBQWlCLGNBQWMseURBQXlELDRCQUE0QiwyQkFBMkIsY0FBYyx5REFBeUQsNEJBQTRCLDZCQUE2QixjQUFjLHlEQUF5RCw0QkFBNEIsa0NBQWtDLGNBQWMseURBQXlELDRCQUE0QixrQ0FBa0MsY0FBYyx5REFBeUQsNEJBQTRCLHVCQUF1QixjQUFjLHlEQUF5RCw0QkFBNEIsNEJBQTRCLGNBQWMseURBQXlELDRCQUE0Qix5QkFBeUIsY0FBYyx5REFBeUQsNEJBQTRCLGtDQUFrQyxjQUFjLHlEQUF5RCw0QkFBNEIsK0JBQStCLGNBQWMseURBQXlELDRCQUE0QixXQUFXLGNBQWMseURBQXlELDRCQUE0QixtQkFBbUIsY0FBYyx5REFBeUQsNEJBQTRCLHNCQUFzQixjQUFjLHlEQUF5RCw0QkFBNEIsd0JBQXdCLGNBQWMseURBQXlELDRCQUE0QixtQkFBbUIsY0FBYyx5REFBeUQsNEJBQTRCLHFCQUFxQixjQUFjLHlEQUF5RCw0QkFBNEIsaUJBQWlCLGNBQWMseURBQXlELDRCQUE0QixlQUFlLGNBQWMseURBQXlELDRCQUE0QixrQkFB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VSxXQUFXLDBCQUEwQixZQUFZLDBCQUEwQixjQUFjLDBCQUEwQixVQUFVLDBCQUEwQixXQUFXLDhCQUE4QixTQUFTLFVBQVUsT0FBTywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSw4QkFBOEIsWUFBWSxVQUFVLE9BQU8sMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFdBQVcsMEJBQTBCLFVBQVUsMEJBQTBCLFNBQVMsOEJBQThCLG9CQUFvQixVQUFVLGdCQUFnQiwwQkFBMEIsZ0JBQWdCLDBCQUEwQixZQUFZLDBCQUEwQixxQkFBcUIsMEJBQTBCLG9CQUFvQiw4QkFBOEIsZUFBZSxVQUFVLFFBQVEsMEJBQTBCLFlBQVksMEJBQTBCLGFBQWEsOEJBQThCLGtCQUFrQixVQUFVLE9BQU8sMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsOEJBQThCLGdCQUFnQixVQUFVLE9BQU8sMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsOEJBQThCLGlCQUFpQixVQUFVLE9BQU8sMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsOEJBQThCLGVBQWUsVUFBVSxPQUFPLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDhCQUE4QixjQUFjLFVBQVUsT0FBTywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsU0FBUywwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsVUFBVSwwQkFBMEIsV0FBVywwQkFBMEIsVUFBVSwwQkFBMEIsU0FBUyw4QkFBOEIsY0FBYyxVQUFVLE9BQU8sMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFNBQVMsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFVBQVUsMEJBQTBCLFdBQVcsMEJBQTBCLFVBQVUsMEJBQTBCLFNBQVMsOEJBQThCLGNBQWMsVUFBVSxVQUFVLDhCQUE4QixtQkFBbUIsVUFBVSxPQUFPLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDhCQUE4QixpQkFBaUIsVUFBVSxPQUFPLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDhCQUE4QixrQkFBa0IsVUFBVSxPQUFPLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDhCQUE4QixnQkFBZ0IsVUFBVSxPQUFPLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDhCQUE4QixjQUFjLFVBQVUsWUFBWSwwQkFBMEIsV0FBVywwQkFBMEIsY0FBYyw4QkFBOEIsV0FBVyxVQUFVLE9BQU8sOEJBQThCLGdCQUFnQixVQUFVLGFBQWEsMEJBQTBCLGVBQWUsOEJBQThCLGdCQUFnQixVQUFVLFFBQVEsOEJBQThCLFdBQVcsVUFBVSxPQUFPLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixTQUFTLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEwQixVQUFVLDBCQUEw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LGdEQUFxQjtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxrQkFBa0IsZ0RBQXFCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxrQkFBa0IsZ0RBQXFCO0FBQzVDO0FBQ0EsS0FBSyxrQkFBa0IsZ0RBQXFCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxvQkFBb0IsZ0RBQXFCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLEtBQUssa0JBQWtCLGdEQUFxQjtBQUM1QztBQUNBLEtBQUssd0NBQXdDLGdEQUFxQiw0Q0FBNEMsZ0RBQXFCO0FBQ25JO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGlDQUFpQztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQXNCRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLUo0WUNJN1ZULmpzP2I2ZGEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5pbXBvcnQge1xuICBsaWdodFRoZW1lXG59IGZyb20gXCIuL2NodW5rLVE0SFZJTkZBLmpzXCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RCdXR0b24vQ29ubmVjdEJ1dHRvbi50c3hcbmltcG9ydCBSZWFjdDU1IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvY3NzL3Nwcmlua2xlcy5jc3MudHNcbmltcG9ydCB7IGNyZWF0ZU1hcFZhbHVlRm4gYXMgXzUxYzcyIH0gZnJvbSBcIkB2YW5pbGxhLWV4dHJhY3Qvc3ByaW5rbGVzL2NyZWF0ZVV0aWxzXCI7XG5pbXBvcnQgeyBjcmVhdGVOb3JtYWxpemVWYWx1ZUZuIGFzIF9hNDlmNiB9IGZyb20gXCJAdmFuaWxsYS1leHRyYWN0L3Nwcmlua2xlcy9jcmVhdGVVdGlsc1wiO1xuaW1wb3J0IHsgY3JlYXRlU3ByaW5rbGVzIGFzIF9hZDIyMSB9IGZyb20gXCJAdmFuaWxsYS1leHRyYWN0L3Nwcmlua2xlcy9jcmVhdGVSdW50aW1lU3ByaW5rbGVzXCI7XG52YXIgbGFyZ2VTY3JlZW5NaW5XaWR0aCA9IDc2ODtcbnZhciBtYXBSZXNwb25zaXZlVmFsdWUgPSBfNTFjNzIoeyBjb25kaXRpb25zOiB7IGRlZmF1bHRDb25kaXRpb246IFwic21hbGxTY3JlZW5cIiwgY29uZGl0aW9uTmFtZXM6IFtcInNtYWxsU2NyZWVuXCIsIFwibGFyZ2VTY3JlZW5cIl0sIHJlc3BvbnNpdmVBcnJheTogdm9pZCAwIH0gfSk7XG52YXIgbm9ybWFsaXplUmVzcG9uc2l2ZVZhbHVlID0gX2E0OWY2KHsgY29uZGl0aW9uczogeyBkZWZhdWx0Q29uZGl0aW9uOiBcInNtYWxsU2NyZWVuXCIsIGNvbmRpdGlvbk5hbWVzOiBbXCJzbWFsbFNjcmVlblwiLCBcImxhcmdlU2NyZWVuXCJdLCByZXNwb25zaXZlQXJyYXk6IHZvaWQgMCB9IH0pO1xudmFyIHNwcmlua2xlcyA9IF9hZDIyMSh7IGNvbmRpdGlvbnM6IHsgZGVmYXVsdENvbmRpdGlvbjogXCJiYXNlXCIsIGNvbmRpdGlvbk5hbWVzOiBbXCJiYXNlXCIsIFwiaG92ZXJcIiwgXCJhY3RpdmVcIl0sIHJlc3BvbnNpdmVBcnJheTogdm9pZCAwIH0sIHN0eWxlczogeyBiYWNrZ3JvdW5kOiB7IHZhbHVlczogeyBhY2NlbnRDb2xvcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2OWNcIiwgaG92ZXI6IFwianUzNjd2OWRcIiwgYWN0aXZlOiBcImp1MzY3djllXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3djljXCIgfSwgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3Y5ZlwiLCBob3ZlcjogXCJqdTM2N3Y5Z1wiLCBhY3RpdmU6IFwianUzNjd2OWhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OWZcIiB9LCBhY3Rpb25CdXR0b25Cb3JkZXI6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3djlpXCIsIGhvdmVyOiBcImp1MzY3djlqXCIsIGFjdGl2ZTogXCJqdTM2N3Y5a1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3Y5aVwiIH0sIGFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2OWxcIiwgaG92ZXI6IFwianUzNjd2OW1cIiwgYWN0aXZlOiBcImp1MzY3djluXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3djlsXCIgfSwgYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2OW9cIiwgaG92ZXI6IFwianUzNjd2OXBcIiwgYWN0aXZlOiBcImp1MzY3djlxXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3djlvXCIgfSwgY2xvc2VCdXR0b246IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3djlyXCIsIGhvdmVyOiBcImp1MzY3djlzXCIsIGFjdGl2ZTogXCJqdTM2N3Y5dFwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3Y5clwiIH0sIGNsb3NlQnV0dG9uQmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2OXVcIiwgaG92ZXI6IFwianUzNjd2OXZcIiwgYWN0aXZlOiBcImp1MzY3djl3XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3djl1XCIgfSwgY29ubmVjdEJ1dHRvbkJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3djl4XCIsIGhvdmVyOiBcImp1MzY3djl5XCIsIGFjdGl2ZTogXCJqdTM2N3Y5elwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3Y5eFwiIH0sIGNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3I6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmEwXCIsIGhvdmVyOiBcImp1MzY3dmExXCIsIGFjdGl2ZTogXCJqdTM2N3ZhMlwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZhMFwiIH0sIGNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmEzXCIsIGhvdmVyOiBcImp1MzY3dmE0XCIsIGFjdGl2ZTogXCJqdTM2N3ZhNVwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZhM1wiIH0sIGNvbm5lY3RCdXR0b25UZXh0OiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZhNlwiLCBob3ZlcjogXCJqdTM2N3ZhN1wiLCBhY3RpdmU6IFwianUzNjd2YThcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YTZcIiB9LCBjb25uZWN0QnV0dG9uVGV4dEVycm9yOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZhOVwiLCBob3ZlcjogXCJqdTM2N3ZhYVwiLCBhY3RpdmU6IFwianUzNjd2YWJcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YTlcIiB9LCBjb25uZWN0aW9uSW5kaWNhdG9yOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZhY1wiLCBob3ZlcjogXCJqdTM2N3ZhZFwiLCBhY3RpdmU6IFwianUzNjd2YWVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YWNcIiB9LCBkb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZhZlwiLCBob3ZlcjogXCJqdTM2N3ZhZ1wiLCBhY3RpdmU6IFwianUzNjd2YWhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YWZcIiB9LCBkb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZhaVwiLCBob3ZlcjogXCJqdTM2N3ZhalwiLCBhY3RpdmU6IFwianUzNjd2YWtcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YWlcIiB9LCBlcnJvcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YWxcIiwgaG92ZXI6IFwianUzNjd2YW1cIiwgYWN0aXZlOiBcImp1MzY3dmFuXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmFsXCIgfSwgZ2VuZXJhbEJvcmRlcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YW9cIiwgaG92ZXI6IFwianUzNjd2YXBcIiwgYWN0aXZlOiBcImp1MzY3dmFxXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmFvXCIgfSwgZ2VuZXJhbEJvcmRlckRpbTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YXJcIiwgaG92ZXI6IFwianUzNjd2YXNcIiwgYWN0aXZlOiBcImp1MzY3dmF0XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmFyXCIgfSwgbWVudUl0ZW1CYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZhdVwiLCBob3ZlcjogXCJqdTM2N3ZhdlwiLCBhY3RpdmU6IFwianUzNjd2YXdcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YXVcIiB9LCBtb2RhbEJhY2tkcm9wOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZheFwiLCBob3ZlcjogXCJqdTM2N3ZheVwiLCBhY3RpdmU6IFwianUzNjd2YXpcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YXhcIiB9LCBtb2RhbEJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmIwXCIsIGhvdmVyOiBcImp1MzY3dmIxXCIsIGFjdGl2ZTogXCJqdTM2N3ZiMlwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZiMFwiIH0sIG1vZGFsQm9yZGVyOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZiM1wiLCBob3ZlcjogXCJqdTM2N3ZiNFwiLCBhY3RpdmU6IFwianUzNjd2YjVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YjNcIiB9LCBtb2RhbFRleHQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmI2XCIsIGhvdmVyOiBcImp1MzY3dmI3XCIsIGFjdGl2ZTogXCJqdTM2N3ZiOFwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZiNlwiIH0sIG1vZGFsVGV4dERpbTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YjlcIiwgaG92ZXI6IFwianUzNjd2YmFcIiwgYWN0aXZlOiBcImp1MzY3dmJiXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmI5XCIgfSwgbW9kYWxUZXh0U2Vjb25kYXJ5OiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZiY1wiLCBob3ZlcjogXCJqdTM2N3ZiZFwiLCBhY3RpdmU6IFwianUzNjd2YmVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YmNcIiB9LCBwcm9maWxlQWN0aW9uOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZiZlwiLCBob3ZlcjogXCJqdTM2N3ZiZ1wiLCBhY3RpdmU6IFwianUzNjd2YmhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YmZcIiB9LCBwcm9maWxlQWN0aW9uSG92ZXI6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmJpXCIsIGhvdmVyOiBcImp1MzY3dmJqXCIsIGFjdGl2ZTogXCJqdTM2N3Zia1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZiaVwiIH0sIHByb2ZpbGVGb3JlZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZibFwiLCBob3ZlcjogXCJqdTM2N3ZibVwiLCBhY3RpdmU6IFwianUzNjd2Ym5cIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YmxcIiB9LCBzZWxlY3RlZE9wdGlvbkJvcmRlcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2Ym9cIiwgaG92ZXI6IFwianUzNjd2YnBcIiwgYWN0aXZlOiBcImp1MzY3dmJxXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmJvXCIgfSwgc3RhbmRieTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YnJcIiwgaG92ZXI6IFwianUzNjd2YnNcIiwgYWN0aXZlOiBcImp1MzY3dmJ0XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmJyXCIgfSB9IH0sIGJvcmRlckNvbG9yOiB7IHZhbHVlczogeyBhY2NlbnRDb2xvcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YnVcIiwgaG92ZXI6IFwianUzNjd2YnZcIiwgYWN0aXZlOiBcImp1MzY3dmJ3XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmJ1XCIgfSwgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZieFwiLCBob3ZlcjogXCJqdTM2N3ZieVwiLCBhY3RpdmU6IFwianUzNjd2YnpcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YnhcIiB9LCBhY3Rpb25CdXR0b25Cb3JkZXI6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmMwXCIsIGhvdmVyOiBcImp1MzY3dmMxXCIsIGFjdGl2ZTogXCJqdTM2N3ZjMlwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZjMFwiIH0sIGFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YzNcIiwgaG92ZXI6IFwianUzNjd2YzRcIiwgYWN0aXZlOiBcImp1MzY3dmM1XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmMzXCIgfSwgYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2YzZcIiwgaG92ZXI6IFwianUzNjd2YzdcIiwgYWN0aXZlOiBcImp1MzY3dmM4XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmM2XCIgfSwgY2xvc2VCdXR0b246IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmM5XCIsIGhvdmVyOiBcImp1MzY3dmNhXCIsIGFjdGl2ZTogXCJqdTM2N3ZjYlwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZjOVwiIH0sIGNsb3NlQnV0dG9uQmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2Y2NcIiwgaG92ZXI6IFwianUzNjd2Y2RcIiwgYWN0aXZlOiBcImp1MzY3dmNlXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmNjXCIgfSwgY29ubmVjdEJ1dHRvbkJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmNmXCIsIGhvdmVyOiBcImp1MzY3dmNnXCIsIGFjdGl2ZTogXCJqdTM2N3ZjaFwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZjZlwiIH0sIGNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3I6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmNpXCIsIGhvdmVyOiBcImp1MzY3dmNqXCIsIGFjdGl2ZTogXCJqdTM2N3Zja1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZjaVwiIH0sIGNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmNsXCIsIGhvdmVyOiBcImp1MzY3dmNtXCIsIGFjdGl2ZTogXCJqdTM2N3ZjblwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZjbFwiIH0sIGNvbm5lY3RCdXR0b25UZXh0OiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3Zjb1wiLCBob3ZlcjogXCJqdTM2N3ZjcFwiLCBhY3RpdmU6IFwianUzNjd2Y3FcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Y29cIiB9LCBjb25uZWN0QnV0dG9uVGV4dEVycm9yOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZjclwiLCBob3ZlcjogXCJqdTM2N3Zjc1wiLCBhY3RpdmU6IFwianUzNjd2Y3RcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Y3JcIiB9LCBjb25uZWN0aW9uSW5kaWNhdG9yOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZjdVwiLCBob3ZlcjogXCJqdTM2N3ZjdlwiLCBhY3RpdmU6IFwianUzNjd2Y3dcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Y3VcIiB9LCBkb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZjeFwiLCBob3ZlcjogXCJqdTM2N3ZjeVwiLCBhY3RpdmU6IFwianUzNjd2Y3pcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Y3hcIiB9LCBkb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZkMFwiLCBob3ZlcjogXCJqdTM2N3ZkMVwiLCBhY3RpdmU6IFwianUzNjd2ZDJcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZDBcIiB9LCBlcnJvcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZDNcIiwgaG92ZXI6IFwianUzNjd2ZDRcIiwgYWN0aXZlOiBcImp1MzY3dmQ1XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmQzXCIgfSwgZ2VuZXJhbEJvcmRlcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZDZcIiwgaG92ZXI6IFwianUzNjd2ZDdcIiwgYWN0aXZlOiBcImp1MzY3dmQ4XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmQ2XCIgfSwgZ2VuZXJhbEJvcmRlckRpbTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZDlcIiwgaG92ZXI6IFwianUzNjd2ZGFcIiwgYWN0aXZlOiBcImp1MzY3dmRiXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmQ5XCIgfSwgbWVudUl0ZW1CYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZkY1wiLCBob3ZlcjogXCJqdTM2N3ZkZFwiLCBhY3RpdmU6IFwianUzNjd2ZGVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZGNcIiB9LCBtb2RhbEJhY2tkcm9wOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZkZlwiLCBob3ZlcjogXCJqdTM2N3ZkZ1wiLCBhY3RpdmU6IFwianUzNjd2ZGhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZGZcIiB9LCBtb2RhbEJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmRpXCIsIGhvdmVyOiBcImp1MzY3dmRqXCIsIGFjdGl2ZTogXCJqdTM2N3Zka1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZkaVwiIH0sIG1vZGFsQm9yZGVyOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZkbFwiLCBob3ZlcjogXCJqdTM2N3ZkbVwiLCBhY3RpdmU6IFwianUzNjd2ZG5cIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZGxcIiB9LCBtb2RhbFRleHQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmRvXCIsIGhvdmVyOiBcImp1MzY3dmRwXCIsIGFjdGl2ZTogXCJqdTM2N3ZkcVwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3Zkb1wiIH0sIG1vZGFsVGV4dERpbTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZHJcIiwgaG92ZXI6IFwianUzNjd2ZHNcIiwgYWN0aXZlOiBcImp1MzY3dmR0XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmRyXCIgfSwgbW9kYWxUZXh0U2Vjb25kYXJ5OiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZkdVwiLCBob3ZlcjogXCJqdTM2N3ZkdlwiLCBhY3RpdmU6IFwianUzNjd2ZHdcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZHVcIiB9LCBwcm9maWxlQWN0aW9uOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZkeFwiLCBob3ZlcjogXCJqdTM2N3ZkeVwiLCBhY3RpdmU6IFwianUzNjd2ZHpcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZHhcIiB9LCBwcm9maWxlQWN0aW9uSG92ZXI6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmUwXCIsIGhvdmVyOiBcImp1MzY3dmUxXCIsIGFjdGl2ZTogXCJqdTM2N3ZlMlwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZlMFwiIH0sIHByb2ZpbGVGb3JlZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZlM1wiLCBob3ZlcjogXCJqdTM2N3ZlNFwiLCBhY3RpdmU6IFwianUzNjd2ZTVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZTNcIiB9LCBzZWxlY3RlZE9wdGlvbkJvcmRlcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZTZcIiwgaG92ZXI6IFwianUzNjd2ZTdcIiwgYWN0aXZlOiBcImp1MzY3dmU4XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmU2XCIgfSwgc3RhbmRieTogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZTlcIiwgaG92ZXI6IFwianUzNjd2ZWFcIiwgYWN0aXZlOiBcImp1MzY3dmViXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmU5XCIgfSB9IH0sIGJveFNoYWRvdzogeyB2YWx1ZXM6IHsgY29ubmVjdEJ1dHRvbjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZWNcIiwgaG92ZXI6IFwianUzNjd2ZWRcIiwgYWN0aXZlOiBcImp1MzY3dmVlXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmVjXCIgfSwgZGlhbG9nOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZlZlwiLCBob3ZlcjogXCJqdTM2N3ZlZ1wiLCBhY3RpdmU6IFwianUzNjd2ZWhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZWZcIiB9LCBwcm9maWxlRGV0YWlsc0FjdGlvbjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZWlcIiwgaG92ZXI6IFwianUzNjd2ZWpcIiwgYWN0aXZlOiBcImp1MzY3dmVrXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmVpXCIgfSwgc2VsZWN0ZWRPcHRpb246IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmVsXCIsIGhvdmVyOiBcImp1MzY3dmVtXCIsIGFjdGl2ZTogXCJqdTM2N3ZlblwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZlbFwiIH0sIHNlbGVjdGVkV2FsbGV0OiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3Zlb1wiLCBob3ZlcjogXCJqdTM2N3ZlcFwiLCBhY3RpdmU6IFwianUzNjd2ZXFcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZW9cIiB9LCB3YWxsZXRMb2dvOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZlclwiLCBob3ZlcjogXCJqdTM2N3Zlc1wiLCBhY3RpdmU6IFwianUzNjd2ZXRcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZXJcIiB9IH0gfSwgY29sb3I6IHsgdmFsdWVzOiB7IGFjY2VudENvbG9yOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZldVwiLCBob3ZlcjogXCJqdTM2N3ZldlwiLCBhY3RpdmU6IFwianUzNjd2ZXdcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZXVcIiB9LCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmV4XCIsIGhvdmVyOiBcImp1MzY3dmV5XCIsIGFjdGl2ZTogXCJqdTM2N3ZlelwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZleFwiIH0sIGFjdGlvbkJ1dHRvbkJvcmRlcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZjBcIiwgaG92ZXI6IFwianUzNjd2ZjFcIiwgYWN0aXZlOiBcImp1MzY3dmYyXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmYwXCIgfSwgYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZmM1wiLCBob3ZlcjogXCJqdTM2N3ZmNFwiLCBhY3RpdmU6IFwianUzNjd2ZjVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZjNcIiB9LCBhY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZmNlwiLCBob3ZlcjogXCJqdTM2N3ZmN1wiLCBhY3RpdmU6IFwianUzNjd2ZjhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZjZcIiB9LCBjbG9zZUJ1dHRvbjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZjlcIiwgaG92ZXI6IFwianUzNjd2ZmFcIiwgYWN0aXZlOiBcImp1MzY3dmZiXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmY5XCIgfSwgY2xvc2VCdXR0b25CYWNrZ3JvdW5kOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZmY1wiLCBob3ZlcjogXCJqdTM2N3ZmZFwiLCBhY3RpdmU6IFwianUzNjd2ZmVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZmNcIiB9LCBjb25uZWN0QnV0dG9uQmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZmZcIiwgaG92ZXI6IFwianUzNjd2ZmdcIiwgYWN0aXZlOiBcImp1MzY3dmZoXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmZmXCIgfSwgY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZmlcIiwgaG92ZXI6IFwianUzNjd2ZmpcIiwgYWN0aXZlOiBcImp1MzY3dmZrXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmZpXCIgfSwgY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2ZmxcIiwgaG92ZXI6IFwianUzNjd2Zm1cIiwgYWN0aXZlOiBcImp1MzY3dmZuXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmZsXCIgfSwgY29ubmVjdEJ1dHRvblRleHQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmZvXCIsIGhvdmVyOiBcImp1MzY3dmZwXCIsIGFjdGl2ZTogXCJqdTM2N3ZmcVwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3Zmb1wiIH0sIGNvbm5lY3RCdXR0b25UZXh0RXJyb3I6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmZyXCIsIGhvdmVyOiBcImp1MzY3dmZzXCIsIGFjdGl2ZTogXCJqdTM2N3ZmdFwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZmclwiIH0sIGNvbm5lY3Rpb25JbmRpY2F0b3I6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmZ1XCIsIGhvdmVyOiBcImp1MzY3dmZ2XCIsIGFjdGl2ZTogXCJqdTM2N3Zmd1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZmdVwiIH0sIGRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmZ4XCIsIGhvdmVyOiBcImp1MzY3dmZ5XCIsIGFjdGl2ZTogXCJqdTM2N3ZmelwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZmeFwiIH0sIGRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmcwXCIsIGhvdmVyOiBcImp1MzY3dmcxXCIsIGFjdGl2ZTogXCJqdTM2N3ZnMlwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZnMFwiIH0sIGVycm9yOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZnM1wiLCBob3ZlcjogXCJqdTM2N3ZnNFwiLCBhY3RpdmU6IFwianUzNjd2ZzVcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZzNcIiB9LCBnZW5lcmFsQm9yZGVyOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZnNlwiLCBob3ZlcjogXCJqdTM2N3ZnN1wiLCBhY3RpdmU6IFwianUzNjd2ZzhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZzZcIiB9LCBnZW5lcmFsQm9yZGVyRGltOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZnOVwiLCBob3ZlcjogXCJqdTM2N3ZnYVwiLCBhY3RpdmU6IFwianUzNjd2Z2JcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ZzlcIiB9LCBtZW51SXRlbUJhY2tncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmdjXCIsIGhvdmVyOiBcImp1MzY3dmdkXCIsIGFjdGl2ZTogXCJqdTM2N3ZnZVwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZnY1wiIH0sIG1vZGFsQmFja2Ryb3A6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmdmXCIsIGhvdmVyOiBcImp1MzY3dmdnXCIsIGFjdGl2ZTogXCJqdTM2N3ZnaFwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZnZlwiIH0sIG1vZGFsQmFja2dyb3VuZDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2Z2lcIiwgaG92ZXI6IFwianUzNjd2Z2pcIiwgYWN0aXZlOiBcImp1MzY3dmdrXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmdpXCIgfSwgbW9kYWxCb3JkZXI6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmdsXCIsIGhvdmVyOiBcImp1MzY3dmdtXCIsIGFjdGl2ZTogXCJqdTM2N3ZnblwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZnbFwiIH0sIG1vZGFsVGV4dDogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2Z29cIiwgaG92ZXI6IFwianUzNjd2Z3BcIiwgYWN0aXZlOiBcImp1MzY3dmdxXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmdvXCIgfSwgbW9kYWxUZXh0RGltOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZnclwiLCBob3ZlcjogXCJqdTM2N3Znc1wiLCBhY3RpdmU6IFwianUzNjd2Z3RcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Z3JcIiB9LCBtb2RhbFRleHRTZWNvbmRhcnk6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmd1XCIsIGhvdmVyOiBcImp1MzY3dmd2XCIsIGFjdGl2ZTogXCJqdTM2N3Znd1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZndVwiIH0sIHByb2ZpbGVBY3Rpb246IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmd4XCIsIGhvdmVyOiBcImp1MzY3dmd5XCIsIGFjdGl2ZTogXCJqdTM2N3ZnelwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZneFwiIH0sIHByb2ZpbGVBY3Rpb25Ib3ZlcjogeyBjb25kaXRpb25zOiB7IGJhc2U6IFwianUzNjd2aDBcIiwgaG92ZXI6IFwianUzNjd2aDFcIiwgYWN0aXZlOiBcImp1MzY3dmgyXCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3dmgwXCIgfSwgcHJvZmlsZUZvcmVncm91bmQ6IHsgY29uZGl0aW9uczogeyBiYXNlOiBcImp1MzY3dmgzXCIsIGhvdmVyOiBcImp1MzY3dmg0XCIsIGFjdGl2ZTogXCJqdTM2N3ZoNVwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZoM1wiIH0sIHNlbGVjdGVkT3B0aW9uQm9yZGVyOiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZoNlwiLCBob3ZlcjogXCJqdTM2N3ZoN1wiLCBhY3RpdmU6IFwianUzNjd2aDhcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2aDZcIiB9LCBzdGFuZGJ5OiB7IGNvbmRpdGlvbnM6IHsgYmFzZTogXCJqdTM2N3ZoOVwiLCBob3ZlcjogXCJqdTM2N3ZoYVwiLCBhY3RpdmU6IFwianUzNjd2aGJcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2aDlcIiB9IH0gfSB9IH0sIHsgY29uZGl0aW9uczogeyBkZWZhdWx0Q29uZGl0aW9uOiBcInNtYWxsU2NyZWVuXCIsIGNvbmRpdGlvbk5hbWVzOiBbXCJzbWFsbFNjcmVlblwiLCBcImxhcmdlU2NyZWVuXCJdLCByZXNwb25zaXZlQXJyYXk6IHZvaWQgMCB9LCBzdHlsZXM6IHsgYWxpZ25JdGVtczogeyB2YWx1ZXM6IHsgXCJmbGV4LXN0YXJ0XCI6IHsgY29uZGl0aW9uczogeyBzbWFsbFNjcmVlbjogXCJqdTM2N3YwXCIsIGxhcmdlU2NyZWVuOiBcImp1MzY3djFcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MFwiIH0sIFwiZmxleC1lbmRcIjogeyBjb25kaXRpb25zOiB7IHNtYWxsU2NyZWVuOiBcImp1MzY3djJcIiwgbGFyZ2VTY3JlZW46IFwianUzNjd2M1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3YyXCIgfSwgY2VudGVyOiB7IGNvbmRpdGlvbnM6IHsgc21hbGxTY3JlZW46IFwianUzNjd2NFwiLCBsYXJnZVNjcmVlbjogXCJqdTM2N3Y1XCIgfSwgZGVmYXVsdENsYXNzOiBcImp1MzY3djRcIiB9IH0gfSwgZGlzcGxheTogeyB2YWx1ZXM6IHsgbm9uZTogeyBjb25kaXRpb25zOiB7IHNtYWxsU2NyZWVuOiBcImp1MzY3djZcIiwgbGFyZ2VTY3JlZW46IFwianUzNjd2N1wiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2XCIgfSwgYmxvY2s6IHsgY29uZGl0aW9uczogeyBzbWFsbFNjcmVlbjogXCJqdTM2N3Y4XCIsIGxhcmdlU2NyZWVuOiBcImp1MzY3djlcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OFwiIH0sIGZsZXg6IHsgY29uZGl0aW9uczogeyBzbWFsbFNjcmVlbjogXCJqdTM2N3ZhXCIsIGxhcmdlU2NyZWVuOiBcImp1MzY3dmJcIiB9LCBkZWZhdWx0Q2xhc3M6IFwianUzNjd2YVwiIH0sIGlubGluZTogeyBjb25kaXRpb25zOiB7IHNtYWxsU2NyZWVuOiBcImp1MzY3dmNcIiwgbGFyZ2VTY3JlZW46IFwianUzNjd2ZFwiIH0sIGRlZmF1bHRDbGFzczogXCJqdTM2N3ZjXCIgfSB9IH0gfSB9LCB7IGNvbmRpdGlvbnM6IHZvaWQgMCwgc3R5bGVzOiB7IG1hcmdpbjogeyBtYXBwaW5nczogW1wibWFyZ2luVG9wXCIsIFwibWFyZ2luQm90dG9tXCIsIFwibWFyZ2luTGVmdFwiLCBcIm1hcmdpblJpZ2h0XCJdIH0sIG1hcmdpblg6IHsgbWFwcGluZ3M6IFtcIm1hcmdpbkxlZnRcIiwgXCJtYXJnaW5SaWdodFwiXSB9LCBtYXJnaW5ZOiB7IG1hcHBpbmdzOiBbXCJtYXJnaW5Ub3BcIiwgXCJtYXJnaW5Cb3R0b21cIl0gfSwgcGFkZGluZzogeyBtYXBwaW5nczogW1wicGFkZGluZ1RvcFwiLCBcInBhZGRpbmdCb3R0b21cIiwgXCJwYWRkaW5nTGVmdFwiLCBcInBhZGRpbmdSaWdodFwiXSB9LCBwYWRkaW5nWDogeyBtYXBwaW5nczogW1wicGFkZGluZ0xlZnRcIiwgXCJwYWRkaW5nUmlnaHRcIl0gfSwgcGFkZGluZ1k6IHsgbWFwcGluZ3M6IFtcInBhZGRpbmdUb3BcIiwgXCJwYWRkaW5nQm90dG9tXCJdIH0sIGFsaWduU2VsZjogeyB2YWx1ZXM6IHsgXCJmbGV4LXN0YXJ0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dmVcIiB9LCBcImZsZXgtZW5kXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dmZcIiB9LCBjZW50ZXI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dmdcIiB9IH0gfSwgYmFja2dyb3VuZFNpemU6IHsgdmFsdWVzOiB7IGNvdmVyOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3ZoXCIgfSB9IH0sIGJvcmRlclJhZGl1czogeyB2YWx1ZXM6IHsgXCIxXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dmlcIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2alwiIH0sIFwiMTBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2a1wiIH0sIFwiMTNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2bFwiIH0sIGFjdGlvbkJ1dHRvbjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2bVwiIH0sIGNvbm5lY3RCdXR0b246IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dm5cIiB9LCBtZW51QnV0dG9uOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3ZvXCIgfSwgbW9kYWw6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dnBcIiB9LCBtb2RhbE1vYmlsZTogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2cVwiIH0sIFwiMjUlXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dnJcIiB9LCBmdWxsOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3ZzXCIgfSB9IH0sIGJvcmRlclN0eWxlOiB7IHZhbHVlczogeyBzb2xpZDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2dFwiIH0gfSB9LCBib3JkZXJXaWR0aDogeyB2YWx1ZXM6IHsgXCIwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dnVcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2dlwiIH0sIFwiMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Z3XCIgfSwgXCI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3dnhcIiB9IH0gfSwgY3Vyc29yOiB7IHZhbHVlczogeyBwb2ludGVyOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Z5XCIgfSB9IH0sIGZsZXhEaXJlY3Rpb246IHsgdmFsdWVzOiB7IHJvdzogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2elwiIH0sIGNvbHVtbjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MTBcIiB9IH0gfSwgZm9udEZhbWlseTogeyB2YWx1ZXM6IHsgYm9keTogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MTFcIiB9IH0gfSwgZm9udFNpemU6IHsgdmFsdWVzOiB7IFwiMTJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MTJcIiB9LCBcIjEzXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djEzXCIgfSwgXCIxNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YxNFwiIH0sIFwiMTZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MTVcIiB9LCBcIjE4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djE2XCIgfSwgXCIyMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YxN1wiIH0sIFwiMjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MThcIiB9IH0gfSwgZm9udFdlaWdodDogeyB2YWx1ZXM6IHsgcmVndWxhcjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MTlcIiB9LCBtZWRpdW06IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djFhXCIgfSwgc2VtaWJvbGQ6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djFiXCIgfSwgYm9sZDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWNcIiB9LCBoZWF2eTogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWRcIiB9IH0gfSwgZ2FwOiB7IHZhbHVlczogeyBcIjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWVcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWZcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWdcIiB9LCBcIjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWhcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWlcIiB9LCBcIjVcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWpcIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWtcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MWxcIiB9LCBcIjEwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djFtXCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YxblwiIH0sIFwiMTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MW9cIiB9LCBcIjE2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djFwXCIgfSwgXCIxOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YxcVwiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MXJcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djFzXCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YxdFwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MXVcIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djF2XCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Yxd1wiIH0sIFwiNjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MXhcIiB9LCBcIi0xXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djF5XCIgfSB9IH0sIGhlaWdodDogeyB2YWx1ZXM6IHsgXCIxXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djF6XCIgfSwgXCIyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djIwXCIgfSwgXCI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djIxXCIgfSwgXCI4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djIyXCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YyM1wiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MjRcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djI1XCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YyNlwiIH0sIFwiMzBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MjdcIiB9LCBcIjMyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djI4XCIgfSwgXCIzNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YyOVwiIH0sIFwiMzZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MmFcIiB9LCBcIjQwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJiXCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YyY1wiIH0sIFwiNDhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MmRcIiB9LCBcIjU0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJlXCIgfSwgXCI2MFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YyZlwiIH0sIFwiMjAwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJnXCIgfSwgZnVsbDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MmhcIiB9LCBtYXg6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJpXCIgfSB9IH0sIGp1c3RpZnlDb250ZW50OiB7IHZhbHVlczogeyBcImZsZXgtc3RhcnRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MmpcIiB9LCBcImZsZXgtZW5kXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJrXCIgfSwgY2VudGVyOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YybFwiIH0sIFwic3BhY2UtYmV0d2VlblwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YybVwiIH0sIFwic3BhY2UtYXJvdW5kXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJuXCIgfSB9IH0sIHRleHRBbGlnbjogeyB2YWx1ZXM6IHsgbGVmdDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Mm9cIiB9LCBjZW50ZXI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJwXCIgfSwgaW5oZXJpdDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnFcIiB9IH0gfSwgbWFyZ2luQm90dG9tOiB7IHZhbHVlczogeyBcIjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnJcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnNcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnRcIiB9LCBcIjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnVcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnZcIiB9LCBcIjVcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MndcIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnhcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MnlcIiB9LCBcIjEwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djJ6XCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzMFwiIH0sIFwiMTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MzFcIiB9LCBcIjE2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djMyXCIgfSwgXCIxOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzM1wiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MzRcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djM1XCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzNlwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2MzdcIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djM4XCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzOVwiIH0sIFwiNjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2M2FcIiB9LCBcIi0xXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djNiXCIgfSB9IH0sIG1hcmdpbkxlZnQ6IHsgdmFsdWVzOiB7IFwiMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzY1wiIH0sIFwiMVwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzZFwiIH0sIFwiMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzZVwiIH0sIFwiM1wiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzZlwiIH0sIFwiNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzZ1wiIH0sIFwiNVwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzaFwiIH0sIFwiNlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzaVwiIH0sIFwiOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzalwiIH0sIFwiMTBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2M2tcIiB9LCBcIjEyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djNsXCIgfSwgXCIxNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzbVwiIH0sIFwiMTZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2M25cIiB9LCBcIjE4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djNvXCIgfSwgXCIyMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzcFwiIH0sIFwiMjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2M3FcIiB9LCBcIjI4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djNyXCIgfSwgXCIzMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Yzc1wiIH0sIFwiMzZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2M3RcIiB9LCBcIjQ0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djN1XCIgfSwgXCI2NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzdlwiIH0sIFwiLTFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2M3dcIiB9IH0gfSwgbWFyZ2luUmlnaHQ6IHsgdmFsdWVzOiB7IFwiMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzeFwiIH0sIFwiMVwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzeVwiIH0sIFwiMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3YzelwiIH0sIFwiM1wiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0MFwiIH0sIFwiNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0MVwiIH0sIFwiNVwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0MlwiIH0sIFwiNlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0M1wiIH0sIFwiOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0NFwiIH0sIFwiMTBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NDVcIiB9LCBcIjEyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djQ2XCIgfSwgXCIxNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0N1wiIH0sIFwiMTZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NDhcIiB9LCBcIjE4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djQ5XCIgfSwgXCIyMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0YVwiIH0sIFwiMjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGJcIiB9LCBcIjI4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djRjXCIgfSwgXCIzMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0ZFwiIH0sIFwiMzZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGVcIiB9LCBcIjQ0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djRmXCIgfSwgXCI2NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0Z1wiIH0sIFwiLTFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGhcIiB9IH0gfSwgbWFyZ2luVG9wOiB7IHZhbHVlczogeyBcIjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGlcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGpcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGtcIiB9LCBcIjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NGxcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NG1cIiB9LCBcIjVcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NG5cIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NG9cIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NHBcIiB9LCBcIjEwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djRxXCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0clwiIH0sIFwiMTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NHNcIiB9LCBcIjE2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djR0XCIgfSwgXCIxOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0dVwiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NHZcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djR3XCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y0eFwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NHlcIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djR6XCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1MFwiIH0sIFwiNjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NTFcIiB9LCBcIi0xXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djUyXCIgfSB9IH0sIG1heFdpZHRoOiB7IHZhbHVlczogeyBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NTNcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NTRcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NTVcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NTZcIiB9LCBcIjEyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djU3XCIgfSwgXCIyMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1OFwiIH0sIFwiMjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NTlcIiB9LCBcIjI4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djVhXCIgfSwgXCIzMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1YlwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NWNcIiB9LCBcIjM0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djVkXCIgfSwgXCIzNlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1ZVwiIH0sIFwiNDBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NWZcIiB9LCBcIjQ0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djVnXCIgfSwgXCI0OFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1aFwiIH0sIFwiNTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NWlcIiB9LCBcIjYwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djVqXCIgfSwgXCIyMDBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NWtcIiB9LCBmdWxsOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1bFwiIH0sIG1heDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NW1cIiB9IH0gfSwgbWluV2lkdGg6IHsgdmFsdWVzOiB7IFwiMVwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1blwiIH0sIFwiMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1b1wiIH0sIFwiNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1cFwiIH0sIFwiOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1cVwiIH0sIFwiMTJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NXJcIiB9LCBcIjIwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djVzXCIgfSwgXCIyNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1dFwiIH0sIFwiMjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NXVcIiB9LCBcIjMwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djV2XCIgfSwgXCIzMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1d1wiIH0sIFwiMzRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NXhcIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djV5XCIgfSwgXCI0MFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y1elwiIH0sIFwiNDRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NjBcIiB9LCBcIjQ4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djYxXCIgfSwgXCI1NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2MlwiIH0sIFwiNjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NjNcIiB9LCBcIjIwMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2NFwiIH0sIGZ1bGw6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djY1XCIgfSwgbWF4OiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2NlwiIH0gfSB9LCBvdmVyZmxvdzogeyB2YWx1ZXM6IHsgaGlkZGVuOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2N1wiIH0gfSB9LCBwYWRkaW5nQm90dG9tOiB7IHZhbHVlczogeyBcIjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NjhcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NjlcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmFcIiB9LCBcIjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmJcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmNcIiB9LCBcIjVcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmRcIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmVcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmZcIiB9LCBcIjEwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djZnXCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2aFwiIH0sIFwiMTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmlcIiB9LCBcIjE2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djZqXCIgfSwgXCIxOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2a1wiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NmxcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djZtXCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2blwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2Nm9cIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djZwXCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y2cVwiIH0sIFwiNjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnJcIiB9LCBcIi0xXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djZzXCIgfSB9IH0sIHBhZGRpbmdMZWZ0OiB7IHZhbHVlczogeyBcIjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnRcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnVcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnZcIiB9LCBcIjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NndcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnhcIiB9LCBcIjVcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnlcIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NnpcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NzBcIiB9LCBcIjEwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djcxXCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3MlwiIH0sIFwiMTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NzNcIiB9LCBcIjE2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djc0XCIgfSwgXCIxOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3NVwiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NzZcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djc3XCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3OFwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2NzlcIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdhXCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3YlwiIH0sIFwiNjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2N2NcIiB9LCBcIi0xXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdkXCIgfSB9IH0sIHBhZGRpbmdSaWdodDogeyB2YWx1ZXM6IHsgXCIwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdlXCIgfSwgXCIxXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdmXCIgfSwgXCIyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdnXCIgfSwgXCIzXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdoXCIgfSwgXCI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdpXCIgfSwgXCI1XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdqXCIgfSwgXCI2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdrXCIgfSwgXCI4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdsXCIgfSwgXCIxMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3bVwiIH0sIFwiMTJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2N25cIiB9LCBcIjE0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdvXCIgfSwgXCIxNlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3cFwiIH0sIFwiMThcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2N3FcIiB9LCBcIjIwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djdyXCIgfSwgXCIyNFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3c1wiIH0sIFwiMjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2N3RcIiB9LCBcIjMyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djd1XCIgfSwgXCIzNlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3dlwiIH0sIFwiNDRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2N3dcIiB9LCBcIjY0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djd4XCIgfSwgXCItMVwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y3eVwiIH0gfSB9LCBwYWRkaW5nVG9wOiB7IHZhbHVlczogeyBcIjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2N3pcIiB9LCBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODBcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODFcIiB9LCBcIjNcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODJcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODNcIiB9LCBcIjVcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODRcIiB9LCBcIjZcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODVcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODZcIiB9LCBcIjEwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djg3XCIgfSwgXCIxMlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4OFwiIH0sIFwiMTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2ODlcIiB9LCBcIjE2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djhhXCIgfSwgXCIxOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4YlwiIH0sIFwiMjBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OGNcIiB9LCBcIjI0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djhkXCIgfSwgXCIyOFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4ZVwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OGZcIiB9LCBcIjM2XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djhnXCIgfSwgXCI0NFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4aFwiIH0sIFwiNjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OGlcIiB9LCBcIi0xXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djhqXCIgfSB9IH0sIHBvc2l0aW9uOiB7IHZhbHVlczogeyBhYnNvbHV0ZTogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OGtcIiB9LCBmaXhlZDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OGxcIiB9LCByZWxhdGl2ZTogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OG1cIiB9IH0gfSwgcmlnaHQ6IHsgdmFsdWVzOiB7IFwiMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4blwiIH0gfSB9LCB0cmFuc2l0aW9uOiB7IHZhbHVlczogeyBcImRlZmF1bHRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OG9cIiB9LCB0cmFuc2Zvcm06IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djhwXCIgfSB9IH0sIHVzZXJTZWxlY3Q6IHsgdmFsdWVzOiB7IG5vbmU6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djhxXCIgfSB9IH0sIHdpZHRoOiB7IHZhbHVlczogeyBcIjFcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OHJcIiB9LCBcIjJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OHNcIiB9LCBcIjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OHRcIiB9LCBcIjhcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OHVcIiB9LCBcIjEyXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djh2XCIgfSwgXCIyMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4d1wiIH0sIFwiMjRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OHhcIiB9LCBcIjI4XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djh5XCIgfSwgXCIzMFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y4elwiIH0sIFwiMzJcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OTBcIiB9LCBcIjM0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djkxXCIgfSwgXCIzNlwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y5MlwiIH0sIFwiNDBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OTNcIiB9LCBcIjQ0XCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djk0XCIgfSwgXCI0OFwiOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y5NVwiIH0sIFwiNTRcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OTZcIiB9LCBcIjYwXCI6IHsgZGVmYXVsdENsYXNzOiBcImp1MzY3djk3XCIgfSwgXCIyMDBcIjogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OThcIiB9LCBmdWxsOiB7IGRlZmF1bHRDbGFzczogXCJqdTM2N3Y5OVwiIH0sIG1heDogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OWFcIiB9IH0gfSwgYmFja2Ryb3BGaWx0ZXI6IHsgdmFsdWVzOiB7IG1vZGFsT3ZlcmxheTogeyBkZWZhdWx0Q2xhc3M6IFwianUzNjd2OWJcIiB9IH0gfSB9IH0pO1xudmFyIHRoZW1lVmFycyA9IHsgY29sb3JzOiB7IGFjY2VudENvbG9yOiBcInZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcilcIiwgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiBcInZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpXCIsIGFjdGlvbkJ1dHRvbkJvcmRlcjogXCJ2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKVwiLCBhY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGU6IFwidmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSlcIiwgYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZDogXCJ2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZClcIiwgY2xvc2VCdXR0b246IFwidmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKVwiLCBjbG9zZUJ1dHRvbkJhY2tncm91bmQ6IFwidmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZClcIiwgY29ubmVjdEJ1dHRvbkJhY2tncm91bmQ6IFwidmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKVwiLCBjb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yOiBcInZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKVwiLCBjb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kOiBcInZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKVwiLCBjb25uZWN0QnV0dG9uVGV4dDogXCJ2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpXCIsIGNvbm5lY3RCdXR0b25UZXh0RXJyb3I6IFwidmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpXCIsIGNvbm5lY3Rpb25JbmRpY2F0b3I6IFwidmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpXCIsIGRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQ6IFwidmFyKC0tcmstY29sb3JzLWRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQpXCIsIGRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQ6IFwidmFyKC0tcmstY29sb3JzLWRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQpXCIsIGVycm9yOiBcInZhcigtLXJrLWNvbG9ycy1lcnJvcilcIiwgZ2VuZXJhbEJvcmRlcjogXCJ2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcilcIiwgZ2VuZXJhbEJvcmRlckRpbTogXCJ2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSlcIiwgbWVudUl0ZW1CYWNrZ3JvdW5kOiBcInZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpXCIsIG1vZGFsQmFja2Ryb3A6IFwidmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApXCIsIG1vZGFsQmFja2dyb3VuZDogXCJ2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKVwiLCBtb2RhbEJvcmRlcjogXCJ2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpXCIsIG1vZGFsVGV4dDogXCJ2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KVwiLCBtb2RhbFRleHREaW06IFwidmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSlcIiwgbW9kYWxUZXh0U2Vjb25kYXJ5OiBcInZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpXCIsIHByb2ZpbGVBY3Rpb246IFwidmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pXCIsIHByb2ZpbGVBY3Rpb25Ib3ZlcjogXCJ2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKVwiLCBwcm9maWxlRm9yZWdyb3VuZDogXCJ2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpXCIsIHNlbGVjdGVkT3B0aW9uQm9yZGVyOiBcInZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcilcIiwgc3RhbmRieTogXCJ2YXIoLS1yay1jb2xvcnMtc3RhbmRieSlcIiB9LCBmb250czogeyBib2R5OiBcInZhcigtLXJrLWZvbnRzLWJvZHkpXCIgfSwgcmFkaWk6IHsgYWN0aW9uQnV0dG9uOiBcInZhcigtLXJrLXJhZGlpLWFjdGlvbkJ1dHRvbilcIiwgY29ubmVjdEJ1dHRvbjogXCJ2YXIoLS1yay1yYWRpaS1jb25uZWN0QnV0dG9uKVwiLCBtZW51QnV0dG9uOiBcInZhcigtLXJrLXJhZGlpLW1lbnVCdXR0b24pXCIsIG1vZGFsOiBcInZhcigtLXJrLXJhZGlpLW1vZGFsKVwiLCBtb2RhbE1vYmlsZTogXCJ2YXIoLS1yay1yYWRpaS1tb2RhbE1vYmlsZSlcIiB9LCBzaGFkb3dzOiB7IGNvbm5lY3RCdXR0b246IFwidmFyKC0tcmstc2hhZG93cy1jb25uZWN0QnV0dG9uKVwiLCBkaWFsb2c6IFwidmFyKC0tcmstc2hhZG93cy1kaWFsb2cpXCIsIHByb2ZpbGVEZXRhaWxzQWN0aW9uOiBcInZhcigtLXJrLXNoYWRvd3MtcHJvZmlsZURldGFpbHNBY3Rpb24pXCIsIHNlbGVjdGVkT3B0aW9uOiBcInZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRPcHRpb24pXCIsIHNlbGVjdGVkV2FsbGV0OiBcInZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpXCIsIHdhbGxldExvZ286IFwidmFyKC0tcmstc2hhZG93cy13YWxsZXRMb2dvKVwiIH0sIGJsdXJzOiB7IG1vZGFsT3ZlcmxheTogXCJ2YXIoLS1yay1ibHVycy1tb2RhbE92ZXJsYXkpXCIgfSB9O1xuXG4vLyBzcmMvY3NzL3RvdWNoYWJsZVN0eWxlcy5jc3MudHNcbnZhciBhY3RpdmUgPSB7IHNocmluazogXCJfMTJjYm84aTZcIiwgc2hyaW5rU206IFwiXzEyY2JvOGk3XCIgfTtcbnZhciBiYXNlID0gXCJfMTJjYm84aTMganUzNjd2OG1cIjtcbnZhciBob3ZlciA9IHsgZ3JvdzogXCJfMTJjYm84aTRcIiwgZ3Jvd0xnOiBcIl8xMmNibzhpNVwiIH07XG5cbi8vIHNyYy9jc3MvdG91Y2hhYmxlU3R5bGVzLnRzXG5mdW5jdGlvbiB0b3VjaGFibGVTdHlsZXMoeyBhY3RpdmU6IGFjdGl2ZTIsIGhvdmVyOiBob3ZlcjIgfSkge1xuICByZXR1cm4gW2Jhc2UsIGhvdmVyMiAmJiBob3Zlcltob3ZlcjJdLCBhY3RpdmVbYWN0aXZlMl1dO1xufVxuXG4vLyBzcmMvaG9va3MvdXNlQ29ubmVjdGlvblN0YXR1cy50c1xuaW1wb3J0IHsgdXNlQWNjb3VudCBhcyB1c2VBY2NvdW50MiB9IGZyb20gXCJ3YWdtaVwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvQXV0aGVudGljYXRpb25Db250ZXh0LnRzeFxuaW1wb3J0IFJlYWN0LCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQWNjb3VudCB9IGZyb20gXCJ3YWdtaVwiO1xuZnVuY3Rpb24gY3JlYXRlQXV0aGVudGljYXRpb25BZGFwdGVyKGFkYXB0ZXIpIHtcbiAgcmV0dXJuIGFkYXB0ZXI7XG59XG52YXIgQXV0aGVudGljYXRpb25Db250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKTtcbmZ1bmN0aW9uIFJhaW5ib3dLaXRBdXRoZW50aWNhdGlvblByb3ZpZGVyKHtcbiAgYWRhcHRlcixcbiAgY2hpbGRyZW4sXG4gIGVuYWJsZWQgPSB0cnVlLFxuICBzdGF0dXNcbn0pIHtcbiAgdXNlQWNjb3VudCh7XG4gICAgb25EaXNjb25uZWN0OiAoKSA9PiB7XG4gICAgICBhZGFwdGVyLnNpZ25PdXQoKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCB7IGlzRGlzY29ubmVjdGVkIH0gPSB1c2VBY2NvdW50KCk7XG4gIGNvbnN0IG9uY2VSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvbmNlUmVmLmN1cnJlbnQpXG4gICAgICByZXR1cm47XG4gICAgb25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICBpZiAoaXNEaXNjb25uZWN0ZWQgJiYgc3RhdHVzID09PSBcImF1dGhlbnRpY2F0ZWRcIikge1xuICAgICAgYWRhcHRlci5zaWduT3V0KCk7XG4gICAgfVxuICB9LCBbc3RhdHVzLCBhZGFwdGVyLCBpc0Rpc2Nvbm5lY3RlZF0pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQXV0aGVudGljYXRpb25Db250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IHVzZU1lbW8oKCkgPT4gZW5hYmxlZCA/IHsgYWRhcHRlciwgc3RhdHVzIH0gOiBudWxsLCBbZW5hYmxlZCwgYWRhcHRlciwgc3RhdHVzXSlcbiAgfSwgY2hpbGRyZW4pO1xufVxuZnVuY3Rpb24gdXNlQXV0aGVudGljYXRpb25BZGFwdGVyKCkge1xuICB2YXIgX2E7XG4gIGNvbnN0IHsgYWRhcHRlciB9ID0gKF9hID0gdXNlQ29udGV4dChBdXRoZW50aWNhdGlvbkNvbnRleHQpKSAhPSBudWxsID8gX2EgOiB7fTtcbiAgaWYgKCFhZGFwdGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gYXV0aGVudGljYXRpb24gYWRhcHRlciBmb3VuZFwiKTtcbiAgfVxuICByZXR1cm4gYWRhcHRlcjtcbn1cbmZ1bmN0aW9uIHVzZUF1dGhlbnRpY2F0aW9uU3RhdHVzKCkge1xuICB2YXIgX2E7XG4gIGNvbnN0IGNvbnRleHRWYWx1ZSA9IHVzZUNvbnRleHQoQXV0aGVudGljYXRpb25Db250ZXh0KTtcbiAgcmV0dXJuIChfYSA9IGNvbnRleHRWYWx1ZSA9PSBudWxsID8gdm9pZCAwIDogY29udGV4dFZhbHVlLnN0YXR1cykgIT0gbnVsbCA/IF9hIDogbnVsbDtcbn1cblxuLy8gc3JjL2hvb2tzL3VzZUNvbm5lY3Rpb25TdGF0dXMudHNcbmZ1bmN0aW9uIHVzZUNvbm5lY3Rpb25TdGF0dXMoKSB7XG4gIGNvbnN0IGF1dGhlbnRpY2F0aW9uU3RhdHVzID0gdXNlQXV0aGVudGljYXRpb25TdGF0dXMoKTtcbiAgY29uc3QgeyBpc0Nvbm5lY3RlZCB9ID0gdXNlQWNjb3VudDIoKTtcbiAgaWYgKCFpc0Nvbm5lY3RlZCkge1xuICAgIHJldHVybiBcImRpc2Nvbm5lY3RlZFwiO1xuICB9XG4gIGlmICghYXV0aGVudGljYXRpb25TdGF0dXMpIHtcbiAgICByZXR1cm4gXCJjb25uZWN0ZWRcIjtcbiAgfVxuICBpZiAoYXV0aGVudGljYXRpb25TdGF0dXMgPT09IFwibG9hZGluZ1wiIHx8IGF1dGhlbnRpY2F0aW9uU3RhdHVzID09PSBcInVuYXV0aGVudGljYXRlZFwiKSB7XG4gICAgcmV0dXJuIGF1dGhlbnRpY2F0aW9uU3RhdHVzO1xuICB9XG4gIHJldHVybiBcImNvbm5lY3RlZFwiO1xufVxuXG4vLyBzcmMvdXRpbHMvaXNNb2JpbGUudHNcbmZ1bmN0aW9uIGlzQW5kcm9pZCgpIHtcbiAgcmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3IgIT09IFwidW5kZWZpbmVkXCIgJiYgL2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xufVxuZnVuY3Rpb24gaXNTbWFsbElPUygpIHtcbiAgcmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3IgIT09IFwidW5kZWZpbmVkXCIgJiYgL2lQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xufVxuZnVuY3Rpb24gaXNMYXJnZUlPUygpIHtcbiAgcmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3IgIT09IFwidW5kZWZpbmVkXCIgJiYgKC9pUGFkLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpIHx8IG5hdmlnYXRvci5wbGF0Zm9ybSA9PT0gXCJNYWNJbnRlbFwiICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDEpO1xufVxuZnVuY3Rpb24gaXNJT1MoKSB7XG4gIHJldHVybiBpc1NtYWxsSU9TKCkgfHwgaXNMYXJnZUlPUygpO1xufVxuZnVuY3Rpb24gaXNNb2JpbGUoKSB7XG4gIHJldHVybiBpc0FuZHJvaWQoKSB8fCBpc0lPUygpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Bc3luY0ltYWdlL0FzeW5jSW1hZ2UudHN4XG5pbXBvcnQgUmVhY3QzLCB7IHVzZVJlZHVjZXIgYXMgdXNlUmVkdWNlcjIgfSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvQm94L0JveC50c1xuaW1wb3J0IGNsc3gyIGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgKiBhcyBSZWFjdDIgZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jc3MvYXRvbXMudHNcbmltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5cbi8vIHNyYy9jc3MvcmVzZXQuY3NzLnRzXG52YXIgYmFzZTIgPSBcImlla2JjYzBcIjtcbnZhciBlbGVtZW50ID0geyBhOiBcImlla2JjY2FcIiwgYmxvY2txdW90ZTogXCJpZWtiY2MyXCIsIGJ1dHRvbjogXCJpZWtiY2M5XCIsIGlucHV0OiBcImlla2JjYzggaWVrYmNjNSBpZWtiY2M0XCIsIG1hcms6IFwiaWVrYmNjNlwiLCBvbDogXCJpZWtiY2MxXCIsIHE6IFwiaWVrYmNjMlwiLCBzZWxlY3Q6IFwiaWVrYmNjNyBpZWtiY2M1IGlla2JjYzRcIiwgdGFibGU6IFwiaWVrYmNjM1wiLCB0ZXh0YXJlYTogXCJpZWtiY2M1IGlla2JjYzRcIiwgdWw6IFwiaWVrYmNjMVwiIH07XG5cbi8vIHNyYy9jc3MvYXRvbXMudHNcbnZhciBhdG9tcyA9ICh7IHJlc2V0LCAuLi5yZXN0IH0pID0+IHtcbiAgaWYgKCFyZXNldClcbiAgICByZXR1cm4gc3ByaW5rbGVzKHJlc3QpO1xuICBjb25zdCBlbGVtZW50UmVzZXQgPSBlbGVtZW50W3Jlc2V0XTtcbiAgY29uc3Qgc3ByaW5rbGVzQ2xhc3NlcyA9IHNwcmlua2xlcyhyZXN0KTtcbiAgcmV0dXJuIGNsc3goYmFzZTIsIGVsZW1lbnRSZXNldCwgc3ByaW5rbGVzQ2xhc3Nlcyk7XG59O1xuXG4vLyBzcmMvY29tcG9uZW50cy9Cb3gvQm94LnRzXG52YXIgQm94ID0gUmVhY3QyLmZvcndhcmRSZWYoKHsgYXMgPSBcImRpdlwiLCBjbGFzc05hbWUsIHRlc3RJZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XG4gIGNvbnN0IGF0b21Qcm9wcyA9IHt9O1xuICBjb25zdCBuYXRpdmVQcm9wcyA9IHt9O1xuICBmb3IgKGNvbnN0IGtleSBpbiBwcm9wcykge1xuICAgIGlmIChzcHJpbmtsZXMucHJvcGVydGllcy5oYXMoa2V5KSkge1xuICAgICAgYXRvbVByb3BzW2tleV0gPSBwcm9wc1trZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXRpdmVQcm9wc1trZXldID0gcHJvcHNba2V5XTtcbiAgICB9XG4gIH1cbiAgY29uc3QgYXRvbWljQ2xhc3NlcyA9IGF0b21zKHtcbiAgICByZXNldDogdHlwZW9mIGFzID09PSBcInN0cmluZ1wiID8gYXMgOiBcImRpdlwiLFxuICAgIC4uLmF0b21Qcm9wc1xuICB9KTtcbiAgcmV0dXJuIFJlYWN0Mi5jcmVhdGVFbGVtZW50KGFzLCB7XG4gICAgXCJjbGFzc05hbWVcIjogY2xzeDIoYXRvbWljQ2xhc3NlcywgY2xhc3NOYW1lKSxcbiAgICAuLi5uYXRpdmVQcm9wcyxcbiAgICBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCA/IGByay0ke3Rlc3RJZC5yZXBsYWNlKC9ecmstLywgXCJcIil9YCA6IHZvaWQgMCxcbiAgICByZWZcbiAgfSk7XG59KTtcbkJveC5kaXNwbGF5TmFtZSA9IFwiQm94XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0FzeW5jSW1hZ2UvdXNlQXN5bmNJbWFnZS50c1xuaW1wb3J0IHsgdXNlRWZmZWN0IGFzIHVzZUVmZmVjdDIsIHVzZVJlZHVjZXIgfSBmcm9tIFwicmVhY3RcIjtcbnZhciBjYWNoZWRVcmxzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbnZhciBjYWNoZWRSZXF1ZXN0UHJvbWlzZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuYXN5bmMgZnVuY3Rpb24gbG9hZEFzeW5jSW1hZ2UoYXN5bmNJbWFnZSkge1xuICBjb25zdCBjYWNoZWRSZXF1ZXN0UHJvbWlzZSA9IGNhY2hlZFJlcXVlc3RQcm9taXNlcy5nZXQoYXN5bmNJbWFnZSk7XG4gIGlmIChjYWNoZWRSZXF1ZXN0UHJvbWlzZSkge1xuICAgIHJldHVybiBjYWNoZWRSZXF1ZXN0UHJvbWlzZTtcbiAgfVxuICBjb25zdCBsb2FkID0gYXN5bmMgKCkgPT4gYXN5bmNJbWFnZSgpLnRoZW4oYXN5bmMgKHVybCkgPT4ge1xuICAgIGNhY2hlZFVybHMuc2V0KGFzeW5jSW1hZ2UsIHVybCk7XG4gICAgcmV0dXJuIHVybDtcbiAgfSk7XG4gIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gbG9hZCgpLmNhdGNoKChfZXJyKSA9PiB7XG4gICAgcmV0dXJuIGxvYWQoKS5jYXRjaCgoX2VycjIpID0+IHtcbiAgICAgIGNhY2hlZFJlcXVlc3RQcm9taXNlcy5kZWxldGUoYXN5bmNJbWFnZSk7XG4gICAgfSk7XG4gIH0pO1xuICBjYWNoZWRSZXF1ZXN0UHJvbWlzZXMuc2V0KGFzeW5jSW1hZ2UsIHJlcXVlc3RQcm9taXNlKTtcbiAgcmV0dXJuIHJlcXVlc3RQcm9taXNlO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZEltYWdlcyguLi51cmxzKSB7XG4gIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbCh1cmxzLm1hcCgodXJsKSA9PiB0eXBlb2YgdXJsID09PSBcImZ1bmN0aW9uXCIgPyBsb2FkQXN5bmNJbWFnZSh1cmwpIDogdXJsKSk7XG59XG5mdW5jdGlvbiB1c2VGb3JjZVVwZGF0ZSgpIHtcbiAgY29uc3QgWywgZm9yY2VVcGRhdGVdID0gdXNlUmVkdWNlcigoeCkgPT4geCArIDEsIDApO1xuICByZXR1cm4gZm9yY2VVcGRhdGU7XG59XG5mdW5jdGlvbiB1c2VBc3luY0ltYWdlKHVybCkge1xuICBjb25zdCBjYWNoZWRVcmwgPSB0eXBlb2YgdXJsID09PSBcImZ1bmN0aW9uXCIgPyBjYWNoZWRVcmxzLmdldCh1cmwpIDogdm9pZCAwO1xuICBjb25zdCBmb3JjZVVwZGF0ZSA9IHVzZUZvcmNlVXBkYXRlKCk7XG4gIHVzZUVmZmVjdDIoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdXJsID09PSBcImZ1bmN0aW9uXCIgJiYgIWNhY2hlZFVybCkge1xuICAgICAgbG9hZEFzeW5jSW1hZ2UodXJsKS50aGVuKGZvcmNlVXBkYXRlKTtcbiAgICB9XG4gIH0sIFt1cmwsIGNhY2hlZFVybCwgZm9yY2VVcGRhdGVdKTtcbiAgcmV0dXJuIHR5cGVvZiB1cmwgPT09IFwiZnVuY3Rpb25cIiA/IGNhY2hlZFVybCA6IHVybDtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvQXN5bmNJbWFnZS9Bc3luY0ltYWdlLnRzeFxuZnVuY3Rpb24gQXN5bmNJbWFnZSh7XG4gIGFsdCxcbiAgYmFja2dyb3VuZCxcbiAgYm9yZGVyQ29sb3IsXG4gIGJvcmRlclJhZGl1cyxcbiAgYm94U2hhZG93LFxuICBoZWlnaHQsXG4gIHNyYzogc3JjUHJvcCxcbiAgd2lkdGhcbn0pIHtcbiAgY29uc3Qgc3JjNiA9IHVzZUFzeW5jSW1hZ2Uoc3JjUHJvcCk7XG4gIGNvbnN0IGlzUmVtb3RlSW1hZ2UgPSBzcmM2ICYmIC9eaHR0cC8udGVzdChzcmM2KTtcbiAgY29uc3QgW2lzUmVtb3RlSW1hZ2VMb2FkZWQsIHNldFJlbW90ZUltYWdlTG9hZGVkXSA9IHVzZVJlZHVjZXIyKCgpID0+IHRydWUsIGZhbHNlKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBcImFyaWEtbGFiZWxcIjogYWx0LFxuICAgIGJvcmRlclJhZGl1cyxcbiAgICBib3hTaGFkb3csXG4gICAgaGVpZ2h0OiB0eXBlb2YgaGVpZ2h0ID09PSBcInN0cmluZ1wiID8gaGVpZ2h0IDogdm9pZCAwLFxuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgcm9sZTogXCJpbWdcIixcbiAgICBzdHlsZToge1xuICAgICAgYmFja2dyb3VuZCxcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PT0gXCJudW1iZXJcIiA/IGhlaWdodCA6IHZvaWQgMCxcbiAgICAgIHdpZHRoOiB0eXBlb2Ygd2lkdGggPT09IFwibnVtYmVyXCIgPyB3aWR0aCA6IHZvaWQgMFxuICAgIH0sXG4gICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PT0gXCJzdHJpbmdcIiA/IHdpZHRoIDogdm9pZCAwXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAuLi5pc1JlbW90ZUltYWdlID8ge1xuICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgICAgXCJhc1wiOiBcImltZ1wiLFxuICAgICAgXCJvbkxvYWRcIjogc2V0UmVtb3RlSW1hZ2VMb2FkZWQsXG4gICAgICBcInNyY1wiOiBzcmM2XG4gICAgfSA6IHtcbiAgICAgIGJhY2tncm91bmRTaXplOiBcImNvdmVyXCJcbiAgICB9LFxuICAgIGhlaWdodDogXCJmdWxsXCIsXG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICBzdHlsZToge1xuICAgICAgdG91Y2hDYWxsb3V0OiBcIm5vbmVcIixcbiAgICAgIHRyYW5zaXRpb246IFwib3BhY2l0eSAuMTVzIGxpbmVhclwiLFxuICAgICAgdXNlclNlbGVjdDogXCJub25lXCIsXG4gICAgICAuLi5pc1JlbW90ZUltYWdlID8ge1xuICAgICAgICBvcGFjaXR5OiBpc1JlbW90ZUltYWdlTG9hZGVkID8gMSA6IDBcbiAgICAgIH0gOiB7XG4gICAgICAgIGJhY2tncm91bmRJbWFnZTogc3JjNiA/IGB1cmwoJHtzcmM2fSlgIDogdm9pZCAwLFxuICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiBcIm5vLXJlcGVhdFwiLFxuICAgICAgICBvcGFjaXR5OiBzcmM2ID8gMSA6IDBcbiAgICAgIH1cbiAgICB9LFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9KSwgYm9yZGVyQ29sb3IgPyAvKiBAX19QVVJFX18gKi8gUmVhY3QzLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgLi4udHlwZW9mIGJvcmRlckNvbG9yID09PSBcIm9iamVjdFwiICYmIFwiY3VzdG9tXCIgaW4gYm9yZGVyQ29sb3IgPyB7IHN0eWxlOiB7IGJvcmRlckNvbG9yOiBib3JkZXJDb2xvci5jdXN0b20gfSB9IDogeyBib3JkZXJDb2xvciB9LFxuICAgIGJvcmRlclJhZGl1cyxcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIGJvcmRlcldpZHRoOiBcIjFcIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0pIDogbnVsbCk7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL0F2YXRhci9BdmF0YXIudHN4XG5pbXBvcnQgUmVhY3Q3LCB7IHVzZUNvbnRleHQgYXMgdXNlQ29udGV4dDIgfSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvU3Bpbm5lci50c3hcbmltcG9ydCBSZWFjdDQsIHsgdXNlTWVtbyBhcyB1c2VNZW1vMiB9IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9JY29ucy5jc3MudHNcbnZhciBTcGlubmVySWNvbkNsYXNzTmFtZSA9IFwiXzFsdXVsZTQyXCI7XG52YXIgU3Bpbm5lckljb25QYXRoQ2xhc3NOYW1lID0gXCJfMWx1dWxlNDNcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvU3Bpbm5lci50c3hcbnZhciB1c2VSYW5kb21JZCA9IChwcmVmaXgpID0+IHVzZU1lbW8yKCgpID0+IGAke3ByZWZpeH1fJHtNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxZTkpfWAsIFtwcmVmaXhdKTtcbnZhciBTcGlubmVySWNvbiA9ICh7XG4gIGhlaWdodCA9IDIxLFxuICB3aWR0aCA9IDIxXG59KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlUmFuZG9tSWQoXCJzcGlubmVyXCIpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIHtcbiAgICBjbGFzc05hbWU6IFNwaW5uZXJJY29uQ2xhc3NOYW1lLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIGhlaWdodCxcbiAgICB2aWV3Qm94OiBcIjAgMCAyMSAyMVwiLFxuICAgIHdpZHRoLFxuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NC5jcmVhdGVFbGVtZW50KFwiY2xpcFBhdGhcIiwge1xuICAgIGlkXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIGQ6IFwiTTEwLjUgM0M2LjM1Nzg2IDMgMyA2LjM1Nzg2IDMgMTAuNUMzIDE0LjY0MjEgNi4zNTc4NiAxOCAxMC41IDE4QzExLjMyODQgMTggMTIgMTguNjcxNiAxMiAxOS41QzEyIDIwLjMyODQgMTEuMzI4NCAyMSAxMC41IDIxQzQuNzAxMDEgMjEgMCAxNi4yOTkgMCAxMC41QzAgNC43MDEwMSA0LjcwMTAxIDAgMTAuNSAwQzE2LjI5OSAwIDIxIDQuNzAxMDEgMjEgMTAuNUMyMSAxMS4zMjg0IDIwLjMyODQgMTIgMTkuNSAxMkMxOC42NzE2IDEyIDE4IDExLjMyODQgMTggMTAuNUMxOCA2LjM1Nzg2IDE0LjY0MjEgMyAxMC41IDNaXCJcbiAgfSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0LmNyZWF0ZUVsZW1lbnQoXCJmb3JlaWduT2JqZWN0XCIsIHtcbiAgICBjbGlwUGF0aDogYHVybCgjJHtpZH0pYCxcbiAgICBoZWlnaHQ6IFwiMjFcIixcbiAgICB3aWR0aDogXCIyMVwiLFxuICAgIHg6IFwiMFwiLFxuICAgIHk6IFwiMFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBTcGlubmVySWNvblBhdGhDbGFzc05hbWVcbiAgfSkpKTtcbn07XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci9BdmF0YXJDb250ZXh0LnRzXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IGFzIGNyZWF0ZUNvbnRleHQyIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0F2YXRhci9FbW9qaUF2YXRhci50c3hcbmltcG9ydCBSZWFjdDUsIHsgdXNlRWZmZWN0IGFzIHVzZUVmZmVjdDMsIHVzZU1lbW8gYXMgdXNlTWVtbzMsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0F2YXRhci9lbW9qaUF2YXRhckZvckFkZHJlc3MudHNcbnZhciBjb2xvcnMgPSBbXG4gIFwiI0ZDNUM1NFwiLFxuICBcIiNGRkQ5NUFcIixcbiAgXCIjRTk1RDcyXCIsXG4gIFwiIzZBODdDOFwiLFxuICBcIiM1RkQwRjNcIixcbiAgXCIjNzVDMDZCXCIsXG4gIFwiI0ZGREQ4NlwiLFxuICBcIiM1RkM2RDRcIixcbiAgXCIjRkY5NDlBXCIsXG4gIFwiI0ZGODAyNFwiLFxuICBcIiM5QkExQTRcIixcbiAgXCIjRUM2NkZGXCIsXG4gIFwiI0ZGOENCQ1wiLFxuICBcIiNGRjlBMjNcIixcbiAgXCIjQzVEQURCXCIsXG4gIFwiI0E4Q0U2M1wiLFxuICBcIiM3MUFCRkZcIixcbiAgXCIjRkZFMjc5XCIsXG4gIFwiI0I2QjFCNlwiLFxuICBcIiNGRjY3ODBcIixcbiAgXCIjQTU3NUZGXCIsXG4gIFwiIzREODJGRlwiLFxuICBcIiNGRkIzNUFcIlxuXTtcbnZhciBhdmF0YXJzID0gW1xuICB7IGNvbG9yOiBjb2xvcnNbMF0sIGVtb2ppOiBcIlxcdXsxRjMzNn1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMV0sIGVtb2ppOiBcIlxcdXsxRjkxMX1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMl0sIGVtb2ppOiBcIlxcdXsxRjQxOX1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbM10sIGVtb2ppOiBcIlxcdXsxRkFEMH1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbNF0sIGVtb2ppOiBcIlxcdXsxRjQzM31cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMF0sIGVtb2ppOiBcIlxcdXsxRjkzNn1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbNV0sIGVtb2ppOiBcIlxcdXsxRjMzMn1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbNl0sIGVtb2ppOiBcIlxcdXsxRjMxRX1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbN10sIGVtb2ppOiBcIlxcdXsxRjQxMn1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbOF0sIGVtb2ppOiBcIlxcdXsxRjQzNX1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbOV0sIGVtb2ppOiBcIlxcdXsxRjk4QX1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMTBdLCBlbW9qaTogXCJcXHV7MUY0M0N9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzExXSwgZW1vamk6IFwiXFx1ezFGOTg0fVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1sxMl0sIGVtb2ppOiBcIlxcdXsxRjQzN31cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMTNdLCBlbW9qaTogXCJcXHV7MUY0Mjd9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzhdLCBlbW9qaTogXCJcXHV7MUY5QTl9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzE0XSwgZW1vamk6IFwiXFx1ezFGNDdEfVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1swXSwgZW1vamk6IFwiXFx1ezFGMzg4fVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1s4XSwgZW1vamk6IFwiXFx1ezFGMzQ5fVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1sxXSwgZW1vamk6IFwiXFx1ezFGMzg5fVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1sxNV0sIGVtb2ppOiBcIlxcdXsxRjQzMn1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMTZdLCBlbW9qaTogXCJcXHV7MUYzMEV9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzE3XSwgZW1vamk6IFwiXFx1ezFGMzRBfVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1sxOF0sIGVtb2ppOiBcIlxcdXsxRjQyRH1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMTldLCBlbW9qaTogXCJcXHV7MUYzNjN9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzFdLCBlbW9qaTogXCJcXHV7MUY0MjV9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzIwXSwgZW1vamk6IFwiXFx1ezFGNDdFfVwiIH0sXG4gIHsgY29sb3I6IGNvbG9yc1sxNV0sIGVtb2ppOiBcIlxcdXsxRjk2Nn1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMF0sIGVtb2ppOiBcIlxcdXsxRjQ3OX1cIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMTddLCBlbW9qaTogXCJcXHV7MUY2NDB9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzRdLCBlbW9qaTogXCJcXHUyNkYxXCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzIxXSwgZW1vamk6IFwiXFx1MjZGNVxcdUZFMEZcIiB9LFxuICB7IGNvbG9yOiBjb2xvcnNbMTddLCBlbW9qaTogXCJcXHV7MUY5NzN9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzhdLCBlbW9qaTogXCJcXHV7MUY5MkZ9XCIgfSxcbiAgeyBjb2xvcjogY29sb3JzWzIyXSwgZW1vamk6IFwiXFx1ezFGOTIwfVwiIH1cbl07XG5mdW5jdGlvbiBoYXNoQ29kZSh0ZXh0KSB7XG4gIGxldCBoYXNoID0gMDtcbiAgaWYgKHRleHQubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBoYXNoO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaHIgPSB0ZXh0LmNoYXJDb2RlQXQoaSk7XG4gICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNocjtcbiAgICBoYXNoIHw9IDA7XG4gIH1cbiAgcmV0dXJuIGhhc2g7XG59XG5mdW5jdGlvbiBlbW9qaUF2YXRhckZvckFkZHJlc3MoYWRkcmVzcykge1xuICBjb25zdCByZXNvbHZlZEFkZHJlc3MgPSB0eXBlb2YgYWRkcmVzcyA9PT0gXCJzdHJpbmdcIiA/IGFkZHJlc3MgOiBcIlwiO1xuICBjb25zdCBhdmF0YXJJbmRleCA9IE1hdGguYWJzKGhhc2hDb2RlKHJlc29sdmVkQWRkcmVzcy50b0xvd2VyQ2FzZSgpKSAlIGF2YXRhcnMubGVuZ3RoKTtcbiAgcmV0dXJuIGF2YXRhcnNbYXZhdGFySW5kZXggIT0gbnVsbCA/IGF2YXRhckluZGV4IDogMF07XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL0F2YXRhci9FbW9qaUF2YXRhci50c3hcbnZhciBFbW9qaUF2YXRhciA9ICh7IGFkZHJlc3MsIGVuc0ltYWdlLCBzaXplIH0pID0+IHtcbiAgY29uc3QgW2xvYWRlZCwgc2V0TG9hZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgdXNlRWZmZWN0MygoKSA9PiB7XG4gICAgaWYgKGVuc0ltYWdlKSB7XG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGltZy5zcmMgPSBlbnNJbWFnZTtcbiAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiBzZXRMb2FkZWQodHJ1ZSk7XG4gICAgfVxuICB9LCBbZW5zSW1hZ2VdKTtcbiAgY29uc3QgeyBjb2xvcjogYmFja2dyb3VuZENvbG9yLCBlbW9qaSB9ID0gdXNlTWVtbzMoKCkgPT4gZW1vamlBdmF0YXJGb3JBZGRyZXNzKGFkZHJlc3MpLCBbYWRkcmVzc10pO1xuICByZXR1cm4gZW5zSW1hZ2UgPyBsb2FkZWQgPyAvKiBAX19QVVJFX18gKi8gUmVhY3Q1LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYmFja2dyb3VuZFNpemU6IFwiY292ZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgc3R5bGU6IHtcbiAgICAgIGJhY2tncm91bmRJbWFnZTogYHVybCgke2Vuc0ltYWdlfSlgLFxuICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiBcImNlbnRlclwiLFxuICAgICAgaGVpZ2h0OiBzaXplLFxuICAgICAgd2lkdGg6IHNpemVcbiAgICB9XG4gIH0pIDogLyogQF9fUFVSRV9fICovIFJlYWN0NS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZFNpemU6IFwiY292ZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgc3R5bGU6IHtcbiAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgIHdpZHRoOiBzaXplXG4gICAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1LmNyZWF0ZUVsZW1lbnQoU3Bpbm5lckljb24sIG51bGwpKSA6IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIHN0eWxlOiB7XG4gICAgICAuLi4hZW5zSW1hZ2UgJiYgeyBiYWNrZ3JvdW5kQ29sb3IgfSxcbiAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgIHdpZHRoOiBzaXplXG4gICAgfVxuICB9LCBlbW9qaSk7XG59O1xuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvQXZhdGFyQ29udGV4dC50c1xudmFyIGRlZmF1bHRBdmF0YXIgPSBFbW9qaUF2YXRhcjtcbnZhciBBdmF0YXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDIoZGVmYXVsdEF2YXRhcik7XG5cbi8vIHNyYy9jb21wb25lbnRzL0F2YXRhci9BdmF0YXIudHN4XG5mdW5jdGlvbiBBdmF0YXIoeyBhZGRyZXNzLCBpbWFnZVVybCwgbG9hZGluZywgc2l6ZSB9KSB7XG4gIGNvbnN0IEF2YXRhckNvbXBvbmVudDIgPSB1c2VDb250ZXh0MihBdmF0YXJDb250ZXh0KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDcuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBcImFyaWEtaGlkZGVuXCI6IHRydWUsXG4gICAgYm9yZGVyUmFkaXVzOiBcImZ1bGxcIixcbiAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgIHN0eWxlOiB7XG4gICAgICBoZWlnaHQ6IGAke3NpemV9cHhgLFxuICAgICAgd2lkdGg6IGAke3NpemV9cHhgXG4gICAgfSxcbiAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q3LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgc3R5bGU6IHtcbiAgICAgIGZvbnRTaXplOiBgJHtNYXRoLnJvdW5kKHNpemUgKiAwLjU1KX1weGAsXG4gICAgICBoZWlnaHQ6IGAke3NpemV9cHhgLFxuICAgICAgdHJhbnNmb3JtOiBsb2FkaW5nID8gXCJzY2FsZSgwLjcyKVwiIDogdm9pZCAwLFxuICAgICAgdHJhbnNpdGlvbjogXCIuMjVzIGVhc2VcIixcbiAgICAgIHRyYW5zaXRpb25EZWxheTogbG9hZGluZyA/IHZvaWQgMCA6IFwiLjFzXCIsXG4gICAgICB3aWR0aDogYCR7c2l6ZX1weGAsXG4gICAgICB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiXG4gICAgfSxcbiAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q3LmNyZWF0ZUVsZW1lbnQoQXZhdGFyQ29tcG9uZW50Miwge1xuICAgIGFkZHJlc3MsXG4gICAgZW5zSW1hZ2U6IGltYWdlVXJsLFxuICAgIHNpemVcbiAgfSkpLCB0eXBlb2YgbG9hZGluZyA9PT0gXCJib29sZWFuXCIgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0Ny5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGNvbG9yOiBcImFjY2VudENvbG9yXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgaGVpZ2h0OiBcImZ1bGxcIixcbiAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgIHN0eWxlOiB7XG4gICAgICBvcGFjaXR5OiBsb2FkaW5nID8gMSA6IDAsXG4gICAgICB0cmFuc2l0aW9uOiBsb2FkaW5nID8gXCIwLjZzIGVhc2VcIiA6IFwiMC4ycyBlYXNlXCIsXG4gICAgICB0cmFuc2l0aW9uRGVsYXk6IGxvYWRpbmcgPyBcIi4wNXNcIiA6IHZvaWQgMFxuICAgIH0sXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDcuY3JlYXRlRWxlbWVudChTcGlubmVySWNvbiwge1xuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiXG4gIH0pKSk7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0Ryb3Bkb3duLnRzeFxuaW1wb3J0IFJlYWN0OCBmcm9tIFwicmVhY3RcIjtcbnZhciBEcm9wZG93bkljb24gPSAoKSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3Q4LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xuICBmaWxsOiBcIm5vbmVcIixcbiAgaGVpZ2h0OiBcIjdcIixcbiAgd2lkdGg6IFwiMTRcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxufSwgLyogQF9fUFVSRV9fICovIFJlYWN0OC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gIGQ6IFwiTTEyLjc1IDEuNTQwMDFMOC41MTY0NyA1LjAwMzhDNy43Nzk3NCA1LjYwNjU4IDYuNzIwMjYgNS42MDY1OCA1Ljk4MzUyIDUuMDAzOEwxLjc1IDEuNTQwMDFcIixcbiAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gIHN0cm9rZVdpZHRoOiBcIjIuNVwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG59KSk7XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci9SYWluYm93S2l0Q2hhaW5Db250ZXh0LnRzeFxuaW1wb3J0IFJlYWN0OSwgeyBjcmVhdGVDb250ZXh0IGFzIGNyZWF0ZUNvbnRleHQzLCB1c2VDb250ZXh0IGFzIHVzZUNvbnRleHQzLCB1c2VNZW1vIGFzIHVzZU1lbW80IH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy91dGlscy9pc05vdE51bGxpc2gudHNcbmZ1bmN0aW9uIGlzTm90TnVsbGlzaCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbDtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL3Byb3ZpZGVSYWluYm93S2l0Q2hhaW5zLnRzXG52YXIgYXJiaXRydW1JY29uID0ge1xuICBpY29uQmFja2dyb3VuZDogXCIjOTZiZWRjXCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2FyYml0cnVtLUxZREJKWlAzLmpzXCIpKS5kZWZhdWx0XG59O1xudmFyIGF2YWxhbmNoZUljb24gPSB7XG4gIGljb25CYWNrZ3JvdW5kOiBcIiNlODQxNDFcIixcbiAgaWNvblVybDogYXN5bmMgKCkgPT4gKGF3YWl0IGltcG9ydChcIi4vYXZhbGFuY2hlLVRGUEtQNTQ0LmpzXCIpKS5kZWZhdWx0XG59O1xudmFyIGJhc2VJY29uID0ge1xuICBpY29uQmFja2dyb3VuZDogXCIjMDA1MmZmXCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2Jhc2UtM01JVUlZR0EuanNcIikpLmRlZmF1bHRcbn07XG52YXIgYnNjSWNvbiA9IHtcbiAgaWNvbkJhY2tncm91bmQ6IFwiI2ViYWMwZVwiLFxuICBpY29uVXJsOiBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9ic2MtUzJHU1c2VlguanNcIikpLmRlZmF1bHRcbn07XG52YXIgY3Jvbm9zSWNvbiA9IHtcbiAgaWNvbkJhY2tncm91bmQ6IFwiIzAwMkQ3NFwiLFxuICBpY29uVXJsOiBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9jcm9ub3MtRFFLS0lFWDcuanNcIikpLmRlZmF1bHRcbn07XG52YXIgZXRoZXJldW1JY29uID0ge1xuICBpY29uQmFja2dyb3VuZDogXCIjNDg0YzUwXCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2V0aGVyZXVtLTRGWTU3WEpGLmpzXCIpKS5kZWZhdWx0XG59O1xudmFyIGhhcmRoYXRJY29uID0ge1xuICBpY29uQmFja2dyb3VuZDogXCIjZjlmN2VjXCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2hhcmRoYXQtQVJSRkhGS0IuanNcIikpLmRlZmF1bHRcbn07XG52YXIgb3B0aW1pc21JY29uID0ge1xuICBpY29uQmFja2dyb3VuZDogXCIjZmY1YTU3XCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL29wdGltaXNtLVVVUDVZN1RCLmpzXCIpKS5kZWZhdWx0XG59O1xudmFyIHBvbHlnb25JY29uID0ge1xuICBpY29uQmFja2dyb3VuZDogXCIjOWY3MWVjXCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL3BvbHlnb24tWjRRSVRETDcuanNcIikpLmRlZmF1bHRcbn07XG52YXIgem9yYUljb24gPSB7XG4gIGljb25CYWNrZ3JvdW5kOiBcIiMwMDAwMDBcIixcbiAgaWNvblVybDogYXN5bmMgKCkgPT4gKGF3YWl0IGltcG9ydChcIi4vem9yYS1LVk83V0lPSy5qc1wiKSkuZGVmYXVsdFxufTtcbnZhciBjaGFpbk1ldGFkYXRhQnlOYW1lID0ge1xuICBhcmJpdHJ1bTogeyBjaGFpbklkOiA0MjE2MSwgbmFtZTogXCJBcmJpdHJ1bVwiLCAuLi5hcmJpdHJ1bUljb24gfSxcbiAgYXJiaXRydW1Hb2VybGk6IHsgY2hhaW5JZDogNDIxNjEzLCAuLi5hcmJpdHJ1bUljb24gfSxcbiAgYXZhbGFuY2hlOiB7IGNoYWluSWQ6IDQzMTE0LCAuLi5hdmFsYW5jaGVJY29uIH0sXG4gIGF2YWxhbmNoZUZ1amk6IHsgY2hhaW5JZDogNDMxMTMsIC4uLmF2YWxhbmNoZUljb24gfSxcbiAgYmFzZTogeyBjaGFpbklkOiA4NDUzLCAuLi5iYXNlSWNvbiB9LFxuICBiYXNlR29lcmxpOiB7IGNoYWluSWQ6IDg0NTMxLCAuLi5iYXNlSWNvbiB9LFxuICBic2M6IHsgY2hhaW5JZDogNTYsIG5hbWU6IFwiQlNDXCIsIC4uLmJzY0ljb24gfSxcbiAgYnNjVGVzdG5ldDogeyBjaGFpbklkOiA5NywgLi4uYnNjSWNvbiB9LFxuICBjcm9ub3M6IHsgY2hhaW5JZDogMjUsIC4uLmNyb25vc0ljb24gfSxcbiAgY3Jvbm9zVGVzdG5ldDogeyBjaGFpbklkOiAzMzgsIC4uLmNyb25vc0ljb24gfSxcbiAgZ29lcmxpOiB7IGNoYWluSWQ6IDUsIC4uLmV0aGVyZXVtSWNvbiB9LFxuICBoYXJkaGF0OiB7IGNoYWluSWQ6IDMxMzM3LCAuLi5oYXJkaGF0SWNvbiB9LFxuICBrb3ZhbjogeyBjaGFpbklkOiA0MiwgLi4uZXRoZXJldW1JY29uIH0sXG4gIGxvY2FsaG9zdDogeyBjaGFpbklkOiAxMzM3LCAuLi5ldGhlcmV1bUljb24gfSxcbiAgbWFpbm5ldDogeyBjaGFpbklkOiAxLCAuLi5ldGhlcmV1bUljb24gfSxcbiAgb3B0aW1pc206IHsgY2hhaW5JZDogMTAsIG5hbWU6IFwiT3B0aW1pc21cIiwgLi4ub3B0aW1pc21JY29uIH0sXG4gIG9wdGltaXNtR29lcmxpOiB7IGNoYWluSWQ6IDQyMCwgLi4ub3B0aW1pc21JY29uIH0sXG4gIG9wdGltaXNtS292YW46IHsgY2hhaW5JZDogNjksIC4uLm9wdGltaXNtSWNvbiB9LFxuICBwb2x5Z29uOiB7IGNoYWluSWQ6IDEzNywgLi4ucG9seWdvbkljb24gfSxcbiAgcG9seWdvbk11bWJhaTogeyBjaGFpbklkOiA4MDAwMSwgLi4ucG9seWdvbkljb24gfSxcbiAgcmlua2VieTogeyBjaGFpbklkOiA0LCAuLi5ldGhlcmV1bUljb24gfSxcbiAgcm9wc3RlbjogeyBjaGFpbklkOiAzLCAuLi5ldGhlcmV1bUljb24gfSxcbiAgc2Vwb2xpYTogeyBjaGFpbklkOiAxMTE1NTExMSwgLi4uZXRoZXJldW1JY29uIH0sXG4gIHpvcmE6IHsgY2hhaW5JZDogNzc3Nzc3NywgLi4uem9yYUljb24gfSxcbiAgem9yYVRlc3RuZXQ6IHsgY2hhaW5JZDogOTk5LCAuLi56b3JhSWNvbiB9XG59O1xudmFyIGNoYWluTWV0YWRhdGFCeUlkID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC52YWx1ZXMoY2hhaW5NZXRhZGF0YUJ5TmFtZSkuZmlsdGVyKGlzTm90TnVsbGlzaCkubWFwKCh7IGNoYWluSWQsIC4uLm1ldGFkYXRhIH0pID0+IFtjaGFpbklkLCBtZXRhZGF0YV0pKTtcbnZhciBwcm92aWRlUmFpbmJvd0tpdENoYWlucyA9IChjaGFpbnMpID0+IGNoYWlucy5tYXAoKGNoYWluKSA9PiB7XG4gIHZhciBfYTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jaGFpbixcbiAgICAuLi4oX2EgPSBjaGFpbk1ldGFkYXRhQnlJZFtjaGFpbi5pZF0pICE9IG51bGwgPyBfYSA6IHt9XG4gIH07XG59KTtcblxuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL1JhaW5ib3dLaXRDaGFpbkNvbnRleHQudHN4XG52YXIgUmFpbmJvd0tpdENoYWluQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQzKHtcbiAgY2hhaW5zOiBbXVxufSk7XG5mdW5jdGlvbiBSYWluYm93S2l0Q2hhaW5Qcm92aWRlcih7XG4gIGNoYWlucyxcbiAgY2hpbGRyZW4sXG4gIGluaXRpYWxDaGFpblxufSkge1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0OS5jcmVhdGVFbGVtZW50KFJhaW5ib3dLaXRDaGFpbkNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogdXNlTWVtbzQoKCkgPT4gKHtcbiAgICAgIGNoYWluczogcHJvdmlkZVJhaW5ib3dLaXRDaGFpbnMoY2hhaW5zKSxcbiAgICAgIGluaXRpYWxDaGFpbklkOiB0eXBlb2YgaW5pdGlhbENoYWluID09PSBcIm51bWJlclwiID8gaW5pdGlhbENoYWluIDogaW5pdGlhbENoYWluID09IG51bGwgPyB2b2lkIDAgOiBpbml0aWFsQ2hhaW4uaWRcbiAgICB9KSwgW2NoYWlucywgaW5pdGlhbENoYWluXSlcbiAgfSwgY2hpbGRyZW4pO1xufVxudmFyIHVzZVJhaW5ib3dLaXRDaGFpbnMgPSAoKSA9PiB1c2VDb250ZXh0MyhSYWluYm93S2l0Q2hhaW5Db250ZXh0KS5jaGFpbnM7XG52YXIgdXNlSW5pdGlhbENoYWluSWQgPSAoKSA9PiB1c2VDb250ZXh0MyhSYWluYm93S2l0Q2hhaW5Db250ZXh0KS5pbml0aWFsQ2hhaW5JZDtcbnZhciB1c2VSYWluYm93S2l0Q2hhaW5zQnlJZCA9ICgpID0+IHtcbiAgY29uc3QgcmFpbmJvd2tpdENoYWlucyA9IHVzZVJhaW5ib3dLaXRDaGFpbnMoKTtcbiAgcmV0dXJuIHVzZU1lbW80KCgpID0+IHtcbiAgICBjb25zdCByYWluYm93a2l0Q2hhaW5zQnlJZCA9IHt9O1xuICAgIHJhaW5ib3draXRDaGFpbnMuZm9yRWFjaCgocmtDaGFpbikgPT4ge1xuICAgICAgcmFpbmJvd2tpdENoYWluc0J5SWRbcmtDaGFpbi5pZF0gPSBya0NoYWluO1xuICAgIH0pO1xuICAgIHJldHVybiByYWluYm93a2l0Q2hhaW5zQnlJZDtcbiAgfSwgW3JhaW5ib3draXRDaGFpbnNdKTtcbn07XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RCdXR0b24vQ29ubmVjdEJ1dHRvblJlbmRlcmVyLnRzeFxuaW1wb3J0IFJlYWN0NTQsIHsgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0MTYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUFjY291bnQgYXMgdXNlQWNjb3VudDExLCB1c2VCYWxhbmNlIGFzIHVzZUJhbGFuY2UyLCB1c2VOZXR3b3JrIGFzIHVzZU5ldHdvcms3IH0gZnJvbSBcIndhZ21pXCI7XG5cbi8vIHNyYy9ob29rcy91c2VJc01vdW50ZWQudHNcbmltcG9ydCB7IHVzZUVmZmVjdCBhcyB1c2VFZmZlY3Q0LCB1c2VSZWR1Y2VyIGFzIHVzZVJlZHVjZXIzIH0gZnJvbSBcInJlYWN0XCI7XG52YXIgdXNlSXNNb3VudGVkID0gKCkgPT4ge1xuICBjb25zdCBbbW91bnRlZCwgc2V0TW91bnRlZF0gPSB1c2VSZWR1Y2VyMygoKSA9PiB0cnVlLCBmYWxzZSk7XG4gIHVzZUVmZmVjdDQoc2V0TW91bnRlZCwgW3NldE1vdW50ZWRdKTtcbiAgcmV0dXJuIG1vdW50ZWQ7XG59O1xuXG4vLyBzcmMvaG9va3MvdXNlTWFpbm5ldEVuc0F2YXRhci50c1xuaW1wb3J0IHsgdXNlRW5zQXZhdGFyIH0gZnJvbSBcIndhZ21pXCI7XG5cbi8vIHNyYy9ob29rcy91c2VNYWlubmV0LnRzXG5pbXBvcnQgeyB1c2VQdWJsaWNDbGllbnQgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7IG1haW5uZXQgfSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5mdW5jdGlvbiB1c2VNYWlubmV0KCkge1xuICBjb25zdCBjaGFpbklkID0gbWFpbm5ldC5pZDtcbiAgY29uc3QgcHJvdmlkZXIgPSB1c2VQdWJsaWNDbGllbnQoKTtcbiAgY29uc3QgY2hhaW5zID0gQXJyYXkuaXNBcnJheShwcm92aWRlci5jaGFpbnMpID8gcHJvdmlkZXIuY2hhaW5zIDogW107XG4gIGNvbnN0IGVuYWJsZWQgPSBjaGFpbnMgPT0gbnVsbCA/IHZvaWQgMCA6IGNoYWlucy5zb21lKChjaGFpbikgPT4gKGNoYWluID09IG51bGwgPyB2b2lkIDAgOiBjaGFpbi5pZCkgPT09IGNoYWluSWQpO1xuICByZXR1cm4geyBjaGFpbklkLCBlbmFibGVkIH07XG59XG5cbi8vIHNyYy9ob29rcy91c2VNYWlubmV0RW5zQXZhdGFyLnRzXG5mdW5jdGlvbiB1c2VNYWlubmV0RW5zQXZhdGFyKG5hbWUpIHtcbiAgY29uc3QgeyBjaGFpbklkLCBlbmFibGVkIH0gPSB1c2VNYWlubmV0KCk7XG4gIGNvbnN0IHsgZGF0YTogZW5zQXZhdGFyIH0gPSB1c2VFbnNBdmF0YXIoe1xuICAgIGNoYWluSWQsXG4gICAgZW5hYmxlZCxcbiAgICBuYW1lXG4gIH0pO1xuICByZXR1cm4gZW5zQXZhdGFyO1xufVxuXG4vLyBzcmMvaG9va3MvdXNlTWFpbm5ldEVuc05hbWUudHNcbmltcG9ydCB7IHVzZUVuc05hbWUgfSBmcm9tIFwid2FnbWlcIjtcbmZ1bmN0aW9uIHVzZU1haW5uZXRFbnNOYW1lKGFkZHJlc3MpIHtcbiAgY29uc3QgeyBjaGFpbklkLCBlbmFibGVkIH0gPSB1c2VNYWlubmV0KCk7XG4gIGNvbnN0IHsgZGF0YTogZW5zTmFtZSB9ID0gdXNlRW5zTmFtZSh7XG4gICAgYWRkcmVzcyxcbiAgICBjaGFpbklkLFxuICAgIGVuYWJsZWRcbiAgfSk7XG4gIHJldHVybiBlbnNOYW1lO1xufVxuXG4vLyBzcmMvdHJhbnNhY3Rpb25zL3VzZVJlY2VudFRyYW5zYWN0aW9ucy50c1xuaW1wb3J0IHsgdXNlRWZmZWN0IGFzIHVzZUVmZmVjdDYsIHVzZVN0YXRlIGFzIHVzZVN0YXRlMyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQWNjb3VudCBhcyB1c2VBY2NvdW50NCB9IGZyb20gXCJ3YWdtaVwiO1xuXG4vLyBzcmMvaG9va3MvdXNlQ2hhaW5JZC50c1xuaW1wb3J0IHsgdXNlTmV0d29yayB9IGZyb20gXCJ3YWdtaVwiO1xuZnVuY3Rpb24gdXNlQ2hhaW5JZCgpIHtcbiAgdmFyIF9hO1xuICBjb25zdCB7IGNoYWluOiBhY3RpdmVDaGFpbiB9ID0gdXNlTmV0d29yaygpO1xuICByZXR1cm4gKF9hID0gYWN0aXZlQ2hhaW4gPT0gbnVsbCA/IHZvaWQgMCA6IGFjdGl2ZUNoYWluLmlkKSAhPSBudWxsID8gX2EgOiBudWxsO1xufVxuXG4vLyBzcmMvdHJhbnNhY3Rpb25zL1RyYW5zYWN0aW9uU3RvcmVDb250ZXh0LnRzeFxuaW1wb3J0IFJlYWN0MTAsIHsgY3JlYXRlQ29udGV4dCBhcyBjcmVhdGVDb250ZXh0NCwgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0NCwgdXNlRWZmZWN0IGFzIHVzZUVmZmVjdDUsIHVzZVN0YXRlIGFzIHVzZVN0YXRlMiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQWNjb3VudCBhcyB1c2VBY2NvdW50MywgdXNlUHVibGljQ2xpZW50IGFzIHVzZVB1YmxpY0NsaWVudDIgfSBmcm9tIFwid2FnbWlcIjtcblxuLy8gc3JjL3RyYW5zYWN0aW9ucy90cmFuc2FjdGlvblN0b3JlLnRzXG52YXIgc3RvcmFnZUtleSA9IFwicmstdHJhbnNhY3Rpb25zXCI7XG5mdW5jdGlvbiBzYWZlUGFyc2VKc29uRGF0YShzdHJpbmcpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWx1ZSA9IHN0cmluZyA/IEpTT04ucGFyc2Uoc3RyaW5nKSA6IHt9O1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgPyB2YWx1ZSA6IHt9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cbmZ1bmN0aW9uIGxvYWREYXRhKCkge1xuICByZXR1cm4gc2FmZVBhcnNlSnNvbkRhdGEodHlwZW9mIGxvY2FsU3RvcmFnZSAhPT0gXCJ1bmRlZmluZWRcIiA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpIDogbnVsbCk7XG59XG52YXIgdHJhbnNhY3Rpb25IYXNoUmVnZXggPSAvXjB4KFtBLUZhLWYwLTldezY0fSkkLztcbmZ1bmN0aW9uIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pIHtcbiAgY29uc3QgZXJyb3JzID0gW107XG4gIGlmICghdHJhbnNhY3Rpb25IYXNoUmVnZXgudGVzdCh0cmFuc2FjdGlvbi5oYXNoKSkge1xuICAgIGVycm9ycy5wdXNoKFwiSW52YWxpZCB0cmFuc2FjdGlvbiBoYXNoXCIpO1xuICB9XG4gIGlmICh0eXBlb2YgdHJhbnNhY3Rpb24uZGVzY3JpcHRpb24gIT09IFwic3RyaW5nXCIpIHtcbiAgICBlcnJvcnMucHVzaChcIlRyYW5zYWN0aW9uIG11c3QgaGF2ZSBhIGRlc2NyaXB0aW9uXCIpO1xuICB9XG4gIGlmICh0eXBlb2YgdHJhbnNhY3Rpb24uY29uZmlybWF0aW9ucyAhPT0gXCJ1bmRlZmluZWRcIiAmJiAoIU51bWJlci5pc0ludGVnZXIodHJhbnNhY3Rpb24uY29uZmlybWF0aW9ucykgfHwgdHJhbnNhY3Rpb24uY29uZmlybWF0aW9ucyA8IDEpKSB7XG4gICAgZXJyb3JzLnB1c2goXCJUcmFuc2FjdGlvbiBjb25maXJtYXRpb25zIG11c3QgYmUgYSBwb3NpdGl2ZXIgaW50ZWdlclwiKTtcbiAgfVxuICByZXR1cm4gZXJyb3JzO1xufVxuZnVuY3Rpb24gY3JlYXRlVHJhbnNhY3Rpb25TdG9yZSh7XG4gIHByb3ZpZGVyOiBpbml0aWFsUHJvdmlkZXJcbn0pIHtcbiAgbGV0IGRhdGEgPSBsb2FkRGF0YSgpO1xuICBsZXQgcHJvdmlkZXIgPSBpbml0aWFsUHJvdmlkZXI7XG4gIGNvbnN0IGxpc3RlbmVycyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIGNvbnN0IHRyYW5zYWN0aW9uUmVxdWVzdENhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgZnVuY3Rpb24gc2V0UHJvdmlkZXIobmV3UHJvdmlkZXIpIHtcbiAgICBwcm92aWRlciA9IG5ld1Byb3ZpZGVyO1xuICB9XG4gIGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9ucyhhY2NvdW50LCBjaGFpbklkKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICByZXR1cm4gKF9iID0gKF9hID0gZGF0YVthY2NvdW50XSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hW2NoYWluSWRdKSAhPSBudWxsID8gX2IgOiBbXTtcbiAgfVxuICBmdW5jdGlvbiBhZGRUcmFuc2FjdGlvbihhY2NvdW50LCBjaGFpbklkLCB0cmFuc2FjdGlvbikge1xuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFtcIlVuYWJsZSB0byBhZGQgdHJhbnNhY3Rpb25cIiwgLi4uZXJyb3JzXS5qb2luKFwiXFxuXCIpKTtcbiAgICB9XG4gICAgdXBkYXRlVHJhbnNhY3Rpb25zKGFjY291bnQsIGNoYWluSWQsICh0cmFuc2FjdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgLi4udHJhbnNhY3Rpb24sIHN0YXR1czogXCJwZW5kaW5nXCIgfSxcbiAgICAgICAgLi4udHJhbnNhY3Rpb25zLmZpbHRlcigoeyBoYXNoIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gaGFzaCAhPT0gdHJhbnNhY3Rpb24uaGFzaDtcbiAgICAgICAgfSlcbiAgICAgIF07XG4gICAgfSk7XG4gIH1cbiAgZnVuY3Rpb24gY2xlYXJUcmFuc2FjdGlvbnMoYWNjb3VudCwgY2hhaW5JZCkge1xuICAgIHVwZGF0ZVRyYW5zYWN0aW9ucyhhY2NvdW50LCBjaGFpbklkLCAoKSA9PiB7XG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG4gIH1cbiAgZnVuY3Rpb24gc2V0VHJhbnNhY3Rpb25TdGF0dXMoYWNjb3VudCwgY2hhaW5JZCwgaGFzaCwgc3RhdHVzKSB7XG4gICAgdXBkYXRlVHJhbnNhY3Rpb25zKGFjY291bnQsIGNoYWluSWQsICh0cmFuc2FjdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMubWFwKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uaGFzaCA9PT0gaGFzaCA/IHsgLi4udHJhbnNhY3Rpb24sIHN0YXR1cyB9IDogdHJhbnNhY3Rpb24pO1xuICAgIH0pO1xuICB9XG4gIGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JQZW5kaW5nVHJhbnNhY3Rpb25zKGFjY291bnQsIGNoYWluSWQpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChnZXRUcmFuc2FjdGlvbnMoYWNjb3VudCwgY2hhaW5JZCkuZmlsdGVyKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uc3RhdHVzID09PSBcInBlbmRpbmdcIikubWFwKGFzeW5jICh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgY29uc3QgeyBjb25maXJtYXRpb25zLCBoYXNoIH0gPSB0cmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUmVxdWVzdCA9IHRyYW5zYWN0aW9uUmVxdWVzdENhY2hlLmdldChoYXNoKTtcbiAgICAgIGlmIChleGlzdGluZ1JlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGV4aXN0aW5nUmVxdWVzdDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gcHJvdmlkZXIud2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdCh7IGNvbmZpcm1hdGlvbnMsIGhhc2ggfSkudGhlbigoeyBzdGF0dXMgfSkgPT4ge1xuICAgICAgICB0cmFuc2FjdGlvblJlcXVlc3RDYWNoZS5kZWxldGUoaGFzaCk7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRUcmFuc2FjdGlvblN0YXR1cyhhY2NvdW50LCBjaGFpbklkLCBoYXNoLCBzdGF0dXMgPT09IDAgfHwgc3RhdHVzID09PSBcInJldmVydGVkXCIgPyBcImZhaWxlZFwiIDogXCJjb25maXJtZWRcIik7XG4gICAgICB9KTtcbiAgICAgIHRyYW5zYWN0aW9uUmVxdWVzdENhY2hlLnNldChoYXNoLCByZXF1ZXN0UHJvbWlzZSk7XG4gICAgICByZXR1cm4gYXdhaXQgcmVxdWVzdFByb21pc2U7XG4gICAgfSkpO1xuICB9XG4gIGZ1bmN0aW9uIHVwZGF0ZVRyYW5zYWN0aW9ucyhhY2NvdW50LCBjaGFpbklkLCB1cGRhdGVGbikge1xuICAgIHZhciBfYSwgX2I7XG4gICAgZGF0YSA9IGxvYWREYXRhKCk7XG4gICAgZGF0YVthY2NvdW50XSA9IChfYSA9IGRhdGFbYWNjb3VudF0pICE9IG51bGwgPyBfYSA6IHt9O1xuICAgIGxldCBjb21wbGV0ZWRUcmFuc2FjdGlvbkNvdW50ID0gMDtcbiAgICBjb25zdCBNQVhfQ09NUExFVEVEX1RSQU5TQUNUSU9OUyA9IDEwO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IHVwZGF0ZUZuKChfYiA9IGRhdGFbYWNjb3VudF1bY2hhaW5JZF0pICE9IG51bGwgPyBfYiA6IFtdKS5maWx0ZXIoKHsgc3RhdHVzIH0pID0+IHtcbiAgICAgIHJldHVybiBzdGF0dXMgPT09IFwicGVuZGluZ1wiID8gdHJ1ZSA6IGNvbXBsZXRlZFRyYW5zYWN0aW9uQ291bnQrKyA8PSBNQVhfQ09NUExFVEVEX1RSQU5TQUNUSU9OUztcbiAgICB9KTtcbiAgICBkYXRhW2FjY291bnRdW2NoYWluSWRdID0gdHJhbnNhY3Rpb25zLmxlbmd0aCA+IDAgPyB0cmFuc2FjdGlvbnMgOiB2b2lkIDA7XG4gICAgcGVyc2lzdERhdGEoKTtcbiAgICBub3RpZnlMaXN0ZW5lcnMoKTtcbiAgICB3YWl0Rm9yUGVuZGluZ1RyYW5zYWN0aW9ucyhhY2NvdW50LCBjaGFpbklkKTtcbiAgfVxuICBmdW5jdGlvbiBwZXJzaXN0RGF0YSgpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gIH1cbiAgZnVuY3Rpb24gbm90aWZ5TGlzdGVuZXJzKCkge1xuICAgIGxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIoKSk7XG4gIH1cbiAgZnVuY3Rpb24gb25DaGFuZ2UoZm4pIHtcbiAgICBsaXN0ZW5lcnMuYWRkKGZuKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShmbik7XG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGFkZFRyYW5zYWN0aW9uLFxuICAgIGNsZWFyVHJhbnNhY3Rpb25zLFxuICAgIGdldFRyYW5zYWN0aW9ucyxcbiAgICBvbkNoYW5nZSxcbiAgICBzZXRQcm92aWRlcixcbiAgICB3YWl0Rm9yUGVuZGluZ1RyYW5zYWN0aW9uc1xuICB9O1xufVxuXG4vLyBzcmMvdHJhbnNhY3Rpb25zL1RyYW5zYWN0aW9uU3RvcmVDb250ZXh0LnRzeFxudmFyIHN0b3JlU2luZ2xldG9uO1xudmFyIFRyYW5zYWN0aW9uU3RvcmVDb250ZXh0ID0gY3JlYXRlQ29udGV4dDQobnVsbCk7XG5mdW5jdGlvbiBUcmFuc2FjdGlvblN0b3JlUHJvdmlkZXIoe1xuICBjaGlsZHJlblxufSkge1xuICBjb25zdCBwcm92aWRlciA9IHVzZVB1YmxpY0NsaWVudDIoKTtcbiAgY29uc3QgeyBhZGRyZXNzIH0gPSB1c2VBY2NvdW50MygpO1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCgpO1xuICBjb25zdCBbc3RvcmVdID0gdXNlU3RhdGUyKCgpID0+IHN0b3JlU2luZ2xldG9uICE9IG51bGwgPyBzdG9yZVNpbmdsZXRvbiA6IHN0b3JlU2luZ2xldG9uID0gY3JlYXRlVHJhbnNhY3Rpb25TdG9yZSh7IHByb3ZpZGVyIH0pKTtcbiAgdXNlRWZmZWN0NSgoKSA9PiB7XG4gICAgc3RvcmUuc2V0UHJvdmlkZXIocHJvdmlkZXIpO1xuICB9LCBbc3RvcmUsIHByb3ZpZGVyXSk7XG4gIHVzZUVmZmVjdDUoKCkgPT4ge1xuICAgIGlmIChhZGRyZXNzICYmIGNoYWluSWQpIHtcbiAgICAgIHN0b3JlLndhaXRGb3JQZW5kaW5nVHJhbnNhY3Rpb25zKGFkZHJlc3MsIGNoYWluSWQpO1xuICAgIH1cbiAgfSwgW3N0b3JlLCBhZGRyZXNzLCBjaGFpbklkXSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QxMC5jcmVhdGVFbGVtZW50KFRyYW5zYWN0aW9uU3RvcmVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IHN0b3JlXG4gIH0sIGNoaWxkcmVuKTtcbn1cbmZ1bmN0aW9uIHVzZVRyYW5zYWN0aW9uU3RvcmUoKSB7XG4gIGNvbnN0IHN0b3JlID0gdXNlQ29udGV4dDQoVHJhbnNhY3Rpb25TdG9yZUNvbnRleHQpO1xuICBpZiAoIXN0b3JlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVHJhbnNhY3Rpb24gaG9va3MgbXVzdCBiZSB1c2VkIHdpdGhpbiBSYWluYm93S2l0UHJvdmlkZXJcIik7XG4gIH1cbiAgcmV0dXJuIHN0b3JlO1xufVxuXG4vLyBzcmMvdHJhbnNhY3Rpb25zL3VzZVJlY2VudFRyYW5zYWN0aW9ucy50c1xuZnVuY3Rpb24gdXNlUmVjZW50VHJhbnNhY3Rpb25zKCkge1xuICBjb25zdCBzdG9yZSA9IHVzZVRyYW5zYWN0aW9uU3RvcmUoKTtcbiAgY29uc3QgeyBhZGRyZXNzIH0gPSB1c2VBY2NvdW50NCgpO1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCgpO1xuICBjb25zdCBbdHJhbnNhY3Rpb25zLCBzZXRUcmFuc2FjdGlvbnNdID0gdXNlU3RhdGUzKCgpID0+IHN0b3JlICYmIGFkZHJlc3MgJiYgY2hhaW5JZCA/IHN0b3JlLmdldFRyYW5zYWN0aW9ucyhhZGRyZXNzLCBjaGFpbklkKSA6IFtdKTtcbiAgdXNlRWZmZWN0NigoKSA9PiB7XG4gICAgaWYgKHN0b3JlICYmIGFkZHJlc3MgJiYgY2hhaW5JZCkge1xuICAgICAgc2V0VHJhbnNhY3Rpb25zKHN0b3JlLmdldFRyYW5zYWN0aW9ucyhhZGRyZXNzLCBjaGFpbklkKSk7XG4gICAgICByZXR1cm4gc3RvcmUub25DaGFuZ2UoKCkgPT4ge1xuICAgICAgICBzZXRUcmFuc2FjdGlvbnMoc3RvcmUuZ2V0VHJhbnNhY3Rpb25zKGFkZHJlc3MsIGNoYWluSWQpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3N0b3JlLCBhZGRyZXNzLCBjaGFpbklkXSk7XG4gIHJldHVybiB0cmFuc2FjdGlvbnM7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci9Nb2RhbENvbnRleHQudHN4XG5pbXBvcnQgUmVhY3Q1Mywge1xuICBjcmVhdGVDb250ZXh0IGFzIGNyZWF0ZUNvbnRleHQxMCxcbiAgdXNlQ2FsbGJhY2sgYXMgdXNlQ2FsbGJhY2s4LFxuICB1c2VDb250ZXh0IGFzIHVzZUNvbnRleHQxNSxcbiAgdXNlTWVtbyBhcyB1c2VNZW1vNixcbiAgdXNlU3RhdGUgYXMgdXNlU3RhdGUxMFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUFjY291bnQgYXMgdXNlQWNjb3VudDEwLCB1c2VOZXR3b3JrIGFzIHVzZU5ldHdvcms2IH0gZnJvbSBcIndhZ21pXCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0FjY291bnRNb2RhbC9BY2NvdW50TW9kYWwudHN4XG5pbXBvcnQgUmVhY3QzMyBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUFjY291bnQgYXMgdXNlQWNjb3VudDksIHVzZUJhbGFuY2UsIHVzZURpc2Nvbm5lY3QgYXMgdXNlRGlzY29ubmVjdDIgfSBmcm9tIFwid2FnbWlcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3hcbmltcG9ydCBSZWFjdDIxLCB7XG4gIHVzZUNhbGxiYWNrIGFzIHVzZUNhbGxiYWNrNCxcbiAgdXNlRWZmZWN0IGFzIHVzZUVmZmVjdDEwLFxuICB1c2VTdGF0ZSBhcyB1c2VTdGF0ZTVcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBSZW1vdmVTY3JvbGwgfSBmcm9tIFwicmVhY3QtcmVtb3ZlLXNjcm9sbFwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvUmFpbmJvd0tpdFByb3ZpZGVyLnRzeFxuaW1wb3J0IFJlYWN0MTksIHsgY3JlYXRlQ29udGV4dCBhcyBjcmVhdGVDb250ZXh0OSwgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0NSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQWNjb3VudCBhcyB1c2VBY2NvdW50NiB9IGZyb20gXCJ3YWdtaVwiO1xuXG4vLyBzcmMvY3NzL2Nzc09iamVjdEZyb21UaGVtZS50c1xuaW1wb3J0IHsgYXNzaWduSW5saW5lVmFycyB9IGZyb20gXCJAdmFuaWxsYS1leHRyYWN0L2R5bmFtaWNcIjtcbnZhciByZXNvbHZlVGhlbWVWYXJzID0gKHRoZW1lKSA9PiB0eXBlb2YgdGhlbWUgPT09IFwiZnVuY3Rpb25cIiA/IHRoZW1lKCkgOiB0aGVtZTtcbmZ1bmN0aW9uIGNzc09iamVjdEZyb21UaGVtZSh0aGVtZSwgeyBleHRlbmRzOiBiYXNlVGhlbWUgfSA9IHt9KSB7XG4gIGNvbnN0IHJlc29sdmVkVGhlbWVWYXJzID0ge1xuICAgIC4uLmFzc2lnbklubGluZVZhcnModGhlbWVWYXJzLCByZXNvbHZlVGhlbWVWYXJzKHRoZW1lKSlcbiAgfTtcbiAgaWYgKCFiYXNlVGhlbWUpIHtcbiAgICByZXR1cm4gcmVzb2x2ZWRUaGVtZVZhcnM7XG4gIH1cbiAgY29uc3QgcmVzb2x2ZWRCYXNlVGhlbWVWYXJzID0gYXNzaWduSW5saW5lVmFycyh0aGVtZVZhcnMsIHJlc29sdmVUaGVtZVZhcnMoYmFzZVRoZW1lKSk7XG4gIGNvbnN0IGZpbHRlcmVkVmFycyA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhyZXNvbHZlZFRoZW1lVmFycykuZmlsdGVyKChbdmFyTmFtZSwgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gcmVzb2x2ZWRCYXNlVGhlbWVWYXJzW3Zhck5hbWVdKSk7XG4gIHJldHVybiBmaWx0ZXJlZFZhcnM7XG59XG5cbi8vIHNyYy9jc3MvY3NzU3RyaW5nRnJvbVRoZW1lLnRzXG5mdW5jdGlvbiBjc3NTdHJpbmdGcm9tVGhlbWUodGhlbWUsIG9wdGlvbnMgPSB7fSkge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY3NzT2JqZWN0RnJvbVRoZW1lKHRoZW1lLCBvcHRpb25zKSkubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX06JHt2YWx1ZS5yZXBsYWNlKC9bOjt7fTwvPl0vZywgXCJcIil9O2ApLmpvaW4oXCJcIik7XG59XG5cbi8vIHNyYy9ob29rcy91c2VXaW5kb3dTaXplLnRzXG5pbXBvcnQgeyB1c2VFZmZlY3QgYXMgdXNlRWZmZWN0NywgdXNlU3RhdGUgYXMgdXNlU3RhdGU0IH0gZnJvbSBcInJlYWN0XCI7XG52YXIgdXNlV2luZG93U2l6ZSA9ICgpID0+IHtcbiAgY29uc3QgW3dpbmRvd1NpemUsIHNldFdpbmRvd1NpemVdID0gdXNlU3RhdGU0KHtcbiAgICBoZWlnaHQ6IHZvaWQgMCxcbiAgICB3aWR0aDogdm9pZCAwXG4gIH0pO1xuICB1c2VFZmZlY3Q3KCgpID0+IHtcbiAgICBmdW5jdGlvbiBoYW5kbGVSZXNpemUoKSB7XG4gICAgICBzZXRXaW5kb3dTaXplKHtcbiAgICAgICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aFxuICAgICAgfSk7XG4gICAgfVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGhhbmRsZVJlc2l6ZSk7XG4gICAgaGFuZGxlUmVzaXplKCk7XG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGhhbmRsZVJlc2l6ZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIHdpbmRvd1NpemU7XG59O1xuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvQXBwQ29udGV4dC50c1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCBhcyBjcmVhdGVDb250ZXh0NSB9IGZyb20gXCJyZWFjdFwiO1xudmFyIGRlZmF1bHRBcHBJbmZvID0ge1xuICBhcHBOYW1lOiB2b2lkIDAsXG4gIGRpc2NsYWltZXI6IHZvaWQgMCxcbiAgbGVhcm5Nb3JlVXJsOiBcImh0dHBzOi8vbGVhcm4ucmFpbmJvdy5tZS91bmRlcnN0YW5kaW5nLXdlYjM/dXRtX3NvdXJjZT1yYWluYm93a2l0JnV0bV9jYW1wYWlnbj1sZWFybm1vcmVcIlxufTtcbnZhciBBcHBDb250ZXh0ID0gY3JlYXRlQ29udGV4dDUoZGVmYXVsdEFwcEluZm8pO1xuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvQ29vbE1vZGVDb250ZXh0LnRzXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IGFzIGNyZWF0ZUNvbnRleHQ2IH0gZnJvbSBcInJlYWN0XCI7XG52YXIgQ29vbE1vZGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dDYoZmFsc2UpO1xuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvTW9kYWxTaXplQ29udGV4dC50c1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCBhcyBjcmVhdGVDb250ZXh0NyB9IGZyb20gXCJyZWFjdFwiO1xudmFyIE1vZGFsU2l6ZU9wdGlvbnMgPSB7XG4gIENPTVBBQ1Q6IFwiY29tcGFjdFwiLFxuICBXSURFOiBcIndpZGVcIlxufTtcbnZhciBNb2RhbFNpemVDb250ZXh0ID0gY3JlYXRlQ29udGV4dDcoTW9kYWxTaXplT3B0aW9ucy5XSURFKTtcblxuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL1Nob3dSZWNlbnRUcmFuc2FjdGlvbnNDb250ZXh0LnRzXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IGFzIGNyZWF0ZUNvbnRleHQ4IH0gZnJvbSBcInJlYWN0XCI7XG52YXIgU2hvd1JlY2VudFRyYW5zYWN0aW9uc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0OChmYWxzZSk7XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci91c2VQcmVsb2FkSW1hZ2VzLnRzXG5pbXBvcnQgeyB1c2VDYWxsYmFjayBhcyB1c2VDYWxsYmFjazIsIHVzZUVmZmVjdCBhcyB1c2VFZmZlY3Q4IH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy93YWxsZXRzL3VzZVdhbGxldENvbm5lY3RvcnMudHNcbmltcG9ydCB7IHVzZUNvbm5lY3QgfSBmcm9tIFwid2FnbWlcIjtcblxuLy8gc3JjL3V0aWxzL2ZsYXR0ZW4udHNcbmZ1bmN0aW9uIGZsYXR0ZW4oYXJyYXkpIHtcbiAgY29uc3QgZmxhdHRlbmVkSXRlbXMgPSBbXTtcbiAgZm9yIChjb25zdCBpdGVtcyBvZiBhcnJheSkge1xuICAgIGZsYXR0ZW5lZEl0ZW1zLnB1c2goLi4uaXRlbXMpO1xuICB9XG4gIHJldHVybiBmbGF0dGVuZWRJdGVtcztcbn1cblxuLy8gc3JjL3V0aWxzL2luZGV4QnkudHNcbmZ1bmN0aW9uIGluZGV4QnkoaXRlbXMsIGdldEtleSkge1xuICBjb25zdCBpbmRleGVkSXRlbXMgPSB7fTtcbiAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIGNvbnN0IGtleSA9IGdldEtleShpdGVtKTtcbiAgICBpZiAoIWtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpbmRleGVkSXRlbXNba2V5XSA9IGl0ZW07XG4gIH0pO1xuICByZXR1cm4gaW5kZXhlZEl0ZW1zO1xufVxuXG4vLyBzcmMvdXRpbHMvYnJvd3NlcnMudHNcbmZ1bmN0aW9uIGlzU2FmYXJpKCkge1xuICByZXR1cm4gdHlwZW9mIG5hdmlnYXRvciAhPT0gXCJ1bmRlZmluZWRcIiAmJiAvVmVyc2lvblxcLyhbMC05Ll9dKykuKlNhZmFyaS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbn1cbmZ1bmN0aW9uIGlzQXJjKCkge1xuICByZXR1cm4gdHlwZW9mIGRvY3VtZW50ICE9PSBcInVuZGVmaW5lZFwiICYmIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZShcIi0tYXJjLXBhbGV0dGUtZm9jdXNcIikgIT09IFwiXCI7XG59XG5mdW5jdGlvbiBnZXRCcm93c2VyKCkge1xuICB2YXIgX2E7XG4gIGlmICh0eXBlb2YgbmF2aWdhdG9yID09PSBcInVuZGVmaW5lZFwiKVxuICAgIHJldHVybiBcIkJyb3dzZXJcIiAvKiBCcm93c2VyICovO1xuICBjb25zdCB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcbiAgaWYgKChfYSA9IG5hdmlnYXRvci5icmF2ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmlzQnJhdmUpXG4gICAgcmV0dXJuIFwiQnJhdmVcIiAvKiBCcmF2ZSAqLztcbiAgZWxzZSBpZiAodWEuaW5kZXhPZihcImVkZy9cIikgPiAtMSlcbiAgICByZXR1cm4gXCJFZGdlXCIgLyogRWRnZSAqLztcbiAgZWxzZSBpZiAodWEuaW5kZXhPZihcIm9wXCIpID4gLTEpXG4gICAgcmV0dXJuIFwiT3BlcmFcIiAvKiBPcGVyYSAqLztcbiAgZWxzZSBpZiAoaXNBcmMoKSlcbiAgICByZXR1cm4gXCJBcmNcIiAvKiBBcmMgKi87XG4gIGVsc2UgaWYgKHVhLmluZGV4T2YoXCJjaHJvbWVcIikgPiAtMSlcbiAgICByZXR1cm4gXCJDaHJvbWVcIiAvKiBDaHJvbWUgKi87XG4gIGVsc2UgaWYgKHVhLmluZGV4T2YoXCJmaXJlZm94XCIpID4gLTEpXG4gICAgcmV0dXJuIFwiRmlyZWZveFwiIC8qIEZpcmVmb3ggKi87XG4gIGVsc2UgaWYgKGlzU2FmYXJpKCkpXG4gICAgcmV0dXJuIFwiU2FmYXJpXCIgLyogU2FmYXJpICovO1xuICByZXR1cm4gXCJCcm93c2VyXCIgLyogQnJvd3NlciAqLztcbn1cblxuLy8gc3JjL3dhbGxldHMvZG93bmxvYWRVcmxzLnRzXG52YXIgZ2V0RXh0ZW5zaW9uRG93bmxvYWRVcmwgPSAod2FsbGV0KSA9PiB7XG4gIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9pLCBfaiwgX2ssIF9sO1xuICBjb25zdCBicm93c2VyID0gZ2V0QnJvd3NlcigpO1xuICByZXR1cm4gKF9sID0ge1xuICAgIFtcIkFyY1wiIC8qIEFyYyAqL106IChfYSA9IHdhbGxldCA9PSBudWxsID8gdm9pZCAwIDogd2FsbGV0LmRvd25sb2FkVXJscykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNocm9tZSxcbiAgICBbXCJCcmF2ZVwiIC8qIEJyYXZlICovXTogKF9iID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2hyb21lLFxuICAgIFtcIkNocm9tZVwiIC8qIENocm9tZSAqL106IChfYyA9IHdhbGxldCA9PSBudWxsID8gdm9pZCAwIDogd2FsbGV0LmRvd25sb2FkVXJscykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmNocm9tZSxcbiAgICBbXCJFZGdlXCIgLyogRWRnZSAqL106ICgoX2QgPSB3YWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHdhbGxldC5kb3dubG9hZFVybHMpID09IG51bGwgPyB2b2lkIDAgOiBfZC5lZGdlKSB8fCAoKF9lID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2UuY2hyb21lKSxcbiAgICBbXCJGaXJlZm94XCIgLyogRmlyZWZveCAqL106IChfZiA9IHdhbGxldCA9PSBudWxsID8gdm9pZCAwIDogd2FsbGV0LmRvd25sb2FkVXJscykgPT0gbnVsbCA/IHZvaWQgMCA6IF9mLmZpcmVmb3gsXG4gICAgW1wiT3BlcmFcIiAvKiBPcGVyYSAqL106ICgoX2cgPSB3YWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHdhbGxldC5kb3dubG9hZFVybHMpID09IG51bGwgPyB2b2lkIDAgOiBfZy5vcGVyYSkgfHwgKChfaCA9IHdhbGxldCA9PSBudWxsID8gdm9pZCAwIDogd2FsbGV0LmRvd25sb2FkVXJscykgPT0gbnVsbCA/IHZvaWQgMCA6IF9oLmNocm9tZSksXG4gICAgW1wiU2FmYXJpXCIgLyogU2FmYXJpICovXTogKF9pID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2kuc2FmYXJpLFxuICAgIFtcIkJyb3dzZXJcIiAvKiBCcm93c2VyICovXTogKF9qID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2ouYnJvd3NlckV4dGVuc2lvblxuICB9W2Jyb3dzZXJdKSAhPSBudWxsID8gX2wgOiAoX2sgPSB3YWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHdhbGxldC5kb3dubG9hZFVybHMpID09IG51bGwgPyB2b2lkIDAgOiBfay5icm93c2VyRXh0ZW5zaW9uO1xufTtcbnZhciBnZXRNb2JpbGVEb3dubG9hZFVybCA9ICh3YWxsZXQpID0+IHtcbiAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICBjb25zdCBpb3MgPSBpc0lPUygpO1xuICByZXR1cm4gKF9kID0gaW9zID8gKF9hID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2EuaW9zIDogKF9iID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2IuYW5kcm9pZCkgIT0gbnVsbCA/IF9kIDogKF9jID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2MubW9iaWxlO1xufTtcblxuLy8gc3JjL3dhbGxldHMvcmVjZW50V2FsbGV0SWRzLnRzXG52YXIgc3RvcmFnZUtleTIgPSBcInJrLXJlY2VudFwiO1xuZnVuY3Rpb24gc2FmZVBhcnNlSnNvbkFycmF5KHN0cmluZykge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbHVlID0gc3RyaW5nID8gSlNPTi5wYXJzZShzdHJpbmcpIDogW107XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG5mdW5jdGlvbiBnZXRSZWNlbnRXYWxsZXRJZHMoKSB7XG4gIHJldHVybiB0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSBcInVuZGVmaW5lZFwiID8gc2FmZVBhcnNlSnNvbkFycmF5KGxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkyKSkgOiBbXTtcbn1cbmZ1bmN0aW9uIGRlZHVwZShhcnJheSkge1xuICByZXR1cm4gWy4uLm5ldyBTZXQoYXJyYXkpXTtcbn1cbmZ1bmN0aW9uIGFkZFJlY2VudFdhbGxldElkKHdhbGxldElkKSB7XG4gIGNvbnN0IG5ld1ZhbHVlID0gZGVkdXBlKFt3YWxsZXRJZCwgLi4uZ2V0UmVjZW50V2FsbGV0SWRzKCldKTtcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleTIsIEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlKSk7XG59XG5cbi8vIHNyYy93YWxsZXRzL3VzZVdhbGxldENvbm5lY3RvcnMudHNcbmZ1bmN0aW9uIHVzZVdhbGxldENvbm5lY3RvcnMoKSB7XG4gIGNvbnN0IHJhaW5ib3dLaXRDaGFpbnMgPSB1c2VSYWluYm93S2l0Q2hhaW5zKCk7XG4gIGNvbnN0IGludGlhbENoYWluSWQgPSB1c2VJbml0aWFsQ2hhaW5JZCgpO1xuICBjb25zdCB7IGNvbm5lY3RBc3luYywgY29ubmVjdG9yczogZGVmYXVsdENvbm5lY3RvcnNfdW50eXBlZCB9ID0gdXNlQ29ubmVjdCgpO1xuICBjb25zdCBkZWZhdWx0Q29ubmVjdG9ycyA9IGRlZmF1bHRDb25uZWN0b3JzX3VudHlwZWQ7XG4gIGFzeW5jIGZ1bmN0aW9uIGNvbm5lY3RXYWxsZXQod2FsbGV0SWQsIGNvbm5lY3Rvcikge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIGNvbnN0IHdhbGxldENoYWluSWQgPSBhd2FpdCBjb25uZWN0b3IuZ2V0Q2hhaW5JZCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbm5lY3RBc3luYyh7XG4gICAgICBjaGFpbklkOiAoX2MgPSBpbnRpYWxDaGFpbklkICE9IG51bGwgPyBpbnRpYWxDaGFpbklkIDogKF9hID0gcmFpbmJvd0tpdENoYWlucy5maW5kKCh7IGlkIH0pID0+IGlkID09PSB3YWxsZXRDaGFpbklkKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmlkKSAhPSBudWxsID8gX2MgOiAoX2IgPSByYWluYm93S2l0Q2hhaW5zWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2IuaWQsXG4gICAgICBjb25uZWN0b3JcbiAgICB9KTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBhZGRSZWNlbnRXYWxsZXRJZCh3YWxsZXRJZCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgYXN5bmMgZnVuY3Rpb24gY29ubmVjdFRvV2FsbGV0Q29ubmVjdE1vZGFsKHdhbGxldElkLCB3YWxsZXRDb25uZWN0TW9kYWxDb25uZWN0b3IpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNvbm5lY3RXYWxsZXQod2FsbGV0SWQsIHdhbGxldENvbm5lY3RNb2RhbENvbm5lY3Rvcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zdCBpc1VzZXJSZWplY3Rpb24gPSBlcnIubmFtZSA9PT0gXCJVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3JcIiB8fCBlcnIubWVzc2FnZSA9PT0gXCJDb25uZWN0aW9uIHJlcXVlc3QgcmVzZXQuIFBsZWFzZSB0cnkgYWdhaW4uXCI7XG4gICAgICBpZiAoIWlzVXNlclJlamVjdGlvbikge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNvbnN0IHdhbGxldEluc3RhbmNlcyA9IGZsYXR0ZW4oZGVmYXVsdENvbm5lY3RvcnMubWFwKChjb25uZWN0b3IpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuIChfYSA9IGNvbm5lY3Rvci5fd2FsbGV0cykgIT0gbnVsbCA/IF9hIDogW107XG4gIH0pKS5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleCk7XG4gIGNvbnN0IHdhbGxldEluc3RhbmNlQnlJZCA9IGluZGV4Qnkod2FsbGV0SW5zdGFuY2VzLCAod2FsbGV0SW5zdGFuY2UpID0+IHdhbGxldEluc3RhbmNlLmlkKTtcbiAgY29uc3QgTUFYX1JFQ0VOVF9XQUxMRVRTID0gMztcbiAgY29uc3QgcmVjZW50V2FsbGV0cyA9IGdldFJlY2VudFdhbGxldElkcygpLm1hcCgod2FsbGV0SWQpID0+IHdhbGxldEluc3RhbmNlQnlJZFt3YWxsZXRJZF0pLmZpbHRlcihpc05vdE51bGxpc2gpLnNsaWNlKDAsIE1BWF9SRUNFTlRfV0FMTEVUUyk7XG4gIGNvbnN0IGdyb3VwZWRXYWxsZXRzID0gW1xuICAgIC4uLnJlY2VudFdhbGxldHMsXG4gICAgLi4ud2FsbGV0SW5zdGFuY2VzLmZpbHRlcigod2FsbGV0SW5zdGFuY2UpID0+ICFyZWNlbnRXYWxsZXRzLmluY2x1ZGVzKHdhbGxldEluc3RhbmNlKSlcbiAgXTtcbiAgY29uc3Qgd2FsbGV0Q29ubmVjdG9ycyA9IFtdO1xuICBncm91cGVkV2FsbGV0cy5mb3JFYWNoKCh3YWxsZXQpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgaWYgKCF3YWxsZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVjZW50ID0gcmVjZW50V2FsbGV0cy5pbmNsdWRlcyh3YWxsZXQpO1xuICAgIHdhbGxldENvbm5lY3RvcnMucHVzaCh7XG4gICAgICAuLi53YWxsZXQsXG4gICAgICBjb25uZWN0OiAoKSA9PiB3YWxsZXQuY29ubmVjdG9yLnNob3dRck1vZGFsID8gY29ubmVjdFRvV2FsbGV0Q29ubmVjdE1vZGFsKHdhbGxldC5pZCwgd2FsbGV0LmNvbm5lY3RvcikgOiBjb25uZWN0V2FsbGV0KHdhbGxldC5pZCwgd2FsbGV0LmNvbm5lY3RvciksXG4gICAgICBleHRlbnNpb25Eb3dubG9hZFVybDogZ2V0RXh0ZW5zaW9uRG93bmxvYWRVcmwod2FsbGV0KSxcbiAgICAgIGdyb3VwTmFtZTogd2FsbGV0Lmdyb3VwTmFtZSxcbiAgICAgIG1vYmlsZURvd25sb2FkVXJsOiBnZXRNb2JpbGVEb3dubG9hZFVybCh3YWxsZXQpLFxuICAgICAgb25Db25uZWN0aW5nOiAoZm4pID0+IHdhbGxldC5jb25uZWN0b3Iub24oXCJtZXNzYWdlXCIsICh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gXCJjb25uZWN0aW5nXCIgPyBmbigpIDogdm9pZCAwKSxcbiAgICAgIHJlYWR5OiAoKF9hID0gd2FsbGV0Lmluc3RhbGxlZCkgIT0gbnVsbCA/IF9hIDogdHJ1ZSkgJiYgd2FsbGV0LmNvbm5lY3Rvci5yZWFkeSxcbiAgICAgIHJlY2VudCxcbiAgICAgIHNob3dXYWxsZXRDb25uZWN0TW9kYWw6IHdhbGxldC53YWxsZXRDb25uZWN0TW9kYWxDb25uZWN0b3IgPyAoKSA9PiBjb25uZWN0VG9XYWxsZXRDb25uZWN0TW9kYWwod2FsbGV0LmlkLCB3YWxsZXQud2FsbGV0Q29ubmVjdE1vZGFsQ29ubmVjdG9yKSA6IHZvaWQgMFxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHdhbGxldENvbm5lY3RvcnM7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0Fzc2V0cy50c3hcbmltcG9ydCBSZWFjdDEyIGZyb20gXCJyZWFjdFwiO1xudmFyIHNyYyA9IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2Fzc2V0cy0yNllZNEdWRC5qc1wiKSkuZGVmYXVsdDtcbnZhciBwcmVsb2FkQXNzZXRzSWNvbiA9ICgpID0+IGxvYWRJbWFnZXMoc3JjKTtcbnZhciBBc3NldHNJY29uID0gKCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0MTIuY3JlYXRlRWxlbWVudChBc3luY0ltYWdlLCB7XG4gIGJhY2tncm91bmQ6IFwiI2QwZDVkZVwiLFxuICBib3JkZXJSYWRpdXM6IFwiMTBcIixcbiAgaGVpZ2h0OiBcIjQ4XCIsXG4gIHNyYyxcbiAgd2lkdGg6IFwiNDhcIlxufSk7XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0xvZ2luLnRzeFxuaW1wb3J0IFJlYWN0MTMgZnJvbSBcInJlYWN0XCI7XG52YXIgc3JjMiA9IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2xvZ2luLVpTTU01VVlMLmpzXCIpKS5kZWZhdWx0O1xudmFyIHByZWxvYWRMb2dpbkljb24gPSAoKSA9PiBsb2FkSW1hZ2VzKHNyYzIpO1xudmFyIExvZ2luSWNvbiA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDEzLmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICBiYWNrZ3JvdW5kOiBcIiNkMGQ1ZGVcIixcbiAgYm9yZGVyUmFkaXVzOiBcIjEwXCIsXG4gIGhlaWdodDogXCI0OFwiLFxuICBzcmM6IHNyYzIsXG4gIHdpZHRoOiBcIjQ4XCJcbn0pO1xuXG4vLyBzcmMvY29tcG9uZW50cy9TaWduSW4vU2lnbkluLnRzeFxuaW1wb3J0IFJlYWN0MTgsIHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiBhcyB1c2VSZWYyIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IgfSBmcm9tIFwidmllbVwiO1xuaW1wb3J0IHsgdXNlQWNjb3VudCBhcyB1c2VBY2NvdW50NSwgdXNlRGlzY29ubmVjdCwgdXNlTmV0d29yayBhcyB1c2VOZXR3b3JrMiwgdXNlU2lnbk1lc3NhZ2UgfSBmcm9tIFwid2FnbWlcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvQnV0dG9uL0FjdGlvbkJ1dHRvbi50c3hcbmltcG9ydCBSZWFjdDE1IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9UZXh0L1RleHQudHN4XG5pbXBvcnQgUmVhY3QxNCBmcm9tIFwicmVhY3RcIjtcbnZhciBUZXh0ID0gUmVhY3QxNC5mb3J3YXJkUmVmKCh7XG4gIGFzID0gXCJkaXZcIixcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY29sb3IsXG4gIGRpc3BsYXksXG4gIGZvbnQgPSBcImJvZHlcIixcbiAgaWQsXG4gIHNpemUgPSBcIjE2XCIsXG4gIHN0eWxlLFxuICB0YWJJbmRleCxcbiAgdGV4dEFsaWduID0gXCJpbmhlcml0XCIsXG4gIHdlaWdodCA9IFwicmVndWxhclwiXG59LCByZWYpID0+IHtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE0LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYXMsXG4gICAgY2xhc3NOYW1lLFxuICAgIGNvbG9yLFxuICAgIGRpc3BsYXksXG4gICAgZm9udEZhbWlseTogZm9udCxcbiAgICBmb250U2l6ZTogc2l6ZSxcbiAgICBmb250V2VpZ2h0OiB3ZWlnaHQsXG4gICAgaWQsXG4gICAgcmVmLFxuICAgIHN0eWxlLFxuICAgIHRhYkluZGV4LFxuICAgIHRleHRBbGlnblxuICB9LCBjaGlsZHJlbik7XG59KTtcblRleHQuZGlzcGxheU5hbWUgPSBcIlRleHRcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvQnV0dG9uL0FjdGlvbkJ1dHRvbi50c3hcbnZhciBzaXplVmFyaWFudHMgPSB7XG4gIGxhcmdlOiB7XG4gICAgZm9udFNpemU6IFwiMTZcIixcbiAgICBwYWRkaW5nWDogXCIyNFwiLFxuICAgIHBhZGRpbmdZOiBcIjEwXCJcbiAgfSxcbiAgbWVkaXVtOiB7XG4gICAgZm9udFNpemU6IFwiMTRcIixcbiAgICBoZWlnaHQ6IFwiMjhcIixcbiAgICBwYWRkaW5nWDogXCIxMlwiLFxuICAgIHBhZGRpbmdZOiBcIjRcIlxuICB9LFxuICBzbWFsbDoge1xuICAgIGZvbnRTaXplOiBcIjE0XCIsXG4gICAgcGFkZGluZ1g6IFwiMTBcIixcbiAgICBwYWRkaW5nWTogXCI1XCJcbiAgfVxufTtcbmZ1bmN0aW9uIEFjdGlvbkJ1dHRvbih7XG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGhyZWYsXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICByZWwgPSBcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIixcbiAgc2l6ZSA9IFwibWVkaXVtXCIsXG4gIHRhcmdldCA9IFwiX2JsYW5rXCIsXG4gIHRlc3RJZCxcbiAgdHlwZSA9IFwicHJpbWFyeVwiXG59KSB7XG4gIGNvbnN0IGlzUHJpbWFyeSA9IHR5cGUgPT09IFwicHJpbWFyeVwiO1xuICBjb25zdCBpc05vdExhcmdlID0gc2l6ZSAhPT0gXCJsYXJnZVwiO1xuICBjb25zdCBtb2JpbGUgPSBpc01vYmlsZSgpO1xuICBjb25zdCBiYWNrZ3JvdW5kID0gIWRpc2FibGVkID8gaXNQcmltYXJ5ID8gXCJhY2NlbnRDb2xvclwiIDogaXNOb3RMYXJnZSA/IFwiYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZFwiIDogbnVsbCA6IFwiYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZFwiO1xuICBjb25zdCB7IGZvbnRTaXplLCBoZWlnaHQsIHBhZGRpbmdYLCBwYWRkaW5nWSB9ID0gc2l6ZVZhcmlhbnRzW3NpemVdO1xuICBjb25zdCBoYXNCb3JkZXIgPSAhbW9iaWxlIHx8ICFpc05vdExhcmdlO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0MTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAuLi5ocmVmID8gIWRpc2FibGVkID8geyBhczogXCJhXCIsIGhyZWYsIHJlbCwgdGFyZ2V0IH0gOiB7fSA6IHsgYXM6IFwiYnV0dG9uXCIsIHR5cGU6IFwiYnV0dG9uXCIgfSxcbiAgICBvbkNsaWNrOiAhZGlzYWJsZWQgPyBvbkNsaWNrIDogdm9pZCAwLFxuICAgIC4uLmhhc0JvcmRlciA/IHtcbiAgICAgIGJvcmRlckNvbG9yOiBtb2JpbGUgJiYgIWlzTm90TGFyZ2UgJiYgIWlzUHJpbWFyeSA/IFwiYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlXCIgOiBcImFjdGlvbkJ1dHRvbkJvcmRlclwiLFxuICAgICAgYm9yZGVyU3R5bGU6IFwic29saWRcIixcbiAgICAgIGJvcmRlcldpZHRoOiBcIjFcIlxuICAgIH0gOiB7fSxcbiAgICBib3JkZXJSYWRpdXM6IFwiYWN0aW9uQnV0dG9uXCIsXG4gICAgY2xhc3NOYW1lOiAhZGlzYWJsZWQgJiYgdG91Y2hhYmxlU3R5bGVzKHsgYWN0aXZlOiBcInNocmlua1NtXCIsIGhvdmVyOiBcImdyb3dcIiB9KSxcbiAgICBkaXNwbGF5OiBcImJsb2NrXCIsXG4gICAgcGFkZGluZ1gsXG4gICAgcGFkZGluZ1ksXG4gICAgc3R5bGU6IHsgd2lsbENoYW5nZTogXCJ0cmFuc2Zvcm1cIiB9LFxuICAgIHRlc3RJZCxcbiAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgdHJhbnNpdGlvbjogXCJ0cmFuc2Zvcm1cIixcbiAgICAuLi5iYWNrZ3JvdW5kID8geyBiYWNrZ3JvdW5kIH0gOiB7fSxcbiAgICAuLi5oZWlnaHQgPyB7IGhlaWdodCB9IDoge31cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTUuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6ICFkaXNhYmxlZCA/IGlzUHJpbWFyeSA/IFwiYWNjZW50Q29sb3JGb3JlZ3JvdW5kXCIgOiBcImFjY2VudENvbG9yXCIgOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgIHNpemU6IGZvbnRTaXplLFxuICAgIHdlaWdodDogXCJib2xkXCJcbiAgfSwgbGFiZWwpKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvQ2xvc2VCdXR0b24vQ2xvc2VCdXR0b24udHN4XG5pbXBvcnQgUmVhY3QxNyBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvQ2xvc2UudHN4XG5pbXBvcnQgUmVhY3QxNiBmcm9tIFwicmVhY3RcIjtcbnZhciBDbG9zZUljb24gPSAoKSA9PiB7XG4gIHJldHVybiBpc01vYmlsZSgpID8gLyogQF9fUFVSRV9fICovIFJlYWN0MTYuY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XG4gICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIGhlaWdodDogXCIxMS41XCIsXG4gICAgdmlld0JveDogXCIwIDAgMTEuNSAxMS41XCIsXG4gICAgd2lkdGg6IFwiMTEuNVwiLFxuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTYuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICAgIGQ6IFwiTTIuMTMzODggMC4zNjYxMTdDMS42NDU3MyAtMC4xMjIwMzkgMC44NTQyNzIgLTAuMTIyMDM5IDAuMzY2MTE3IDAuMzY2MTE3Qy0wLjEyMjAzOSAwLjg1NDI3MiAtMC4xMjIwMzkgMS42NDU3MyAwLjM2NjExNyAyLjEzMzg4TDMuOTgyMjMgNS43NUwwLjM2NjExNyA5LjM2NjEyQy0wLjEyMjAzOSA5Ljg1NDI3IC0wLjEyMjAzOSAxMC42NDU3IDAuMzY2MTE3IDExLjEzMzlDMC44NTQyNzIgMTEuNjIyIDEuNjQ1NzMgMTEuNjIyIDIuMTMzODggMTEuMTMzOUw1Ljc1IDcuNTE3NzdMOS4zNjYxMiAxMS4xMzM5QzkuODU0MjcgMTEuNjIyIDEwLjY0NTcgMTEuNjIyIDExLjEzMzkgMTEuMTMzOUMxMS42MjIgMTAuNjQ1NyAxMS42MjIgOS44NTQyNyAxMS4xMzM5IDkuMzY2MTJMNy41MTc3NyA1Ljc1TDExLjEzMzkgMi4xMzM4OEMxMS42MjIgMS42NDU3MyAxMS42MjIgMC44NTQyNzIgMTEuMTMzOSAwLjM2NjExN0MxMC42NDU3IC0wLjEyMjAzOSA5Ljg1NDI3IC0wLjEyMjAzOSA5LjM2NjEyIDAuMzY2MTE3TDUuNzUgMy45ODIyM0wyLjEzMzg4IDAuMzY2MTE3WlwiLFxuICAgIGZpbGw6IFwiY3VycmVudENvbG9yXCJcbiAgfSkpIDogLyogQF9fUFVSRV9fICovIFJlYWN0MTYuY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XG4gICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgIGZpbGw6IFwibm9uZVwiLFxuICAgIGhlaWdodDogXCIxMFwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDEwIDEwXCIsXG4gICAgd2lkdGg6IFwiMTBcIixcbiAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE2LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk0xLjcwNzExIDAuMjkyODkzQzEuMzE2NTggLTAuMDk3NjMxMSAwLjY4MzQxNyAtMC4wOTc2MzExIDAuMjkyODkzIDAuMjkyODkzQy0wLjA5NzYzMTEgMC42ODM0MTcgLTAuMDk3NjMxMSAxLjMxNjU4IDAuMjkyODkzIDEuNzA3MTFMMy41ODU3OSA1TDAuMjkyODkzIDguMjkyODlDLTAuMDk3NjMxMSA4LjY4MzQyIC0wLjA5NzYzMTEgOS4zMTY1OCAwLjI5Mjg5MyA5LjcwNzExQzAuNjgzNDE3IDEwLjA5NzYgMS4zMTY1OCAxMC4wOTc2IDEuNzA3MTEgOS43MDcxMUw1IDYuNDE0MjFMOC4yOTI4OSA5LjcwNzExQzguNjgzNDIgMTAuMDk3NiA5LjMxNjU4IDEwLjA5NzYgOS43MDcxMSA5LjcwNzExQzEwLjA5NzYgOS4zMTY1OCAxMC4wOTc2IDguNjgzNDIgOS43MDcxMSA4LjI5Mjg5TDYuNDE0MjEgNUw5LjcwNzExIDEuNzA3MTFDMTAuMDk3NiAxLjMxNjU4IDEwLjA5NzYgMC42ODM0MTcgOS43MDcxMSAwLjI5Mjg5M0M5LjMxNjU4IC0wLjA5NzYzMTEgOC42ODM0MiAtMC4wOTc2MzExIDguMjkyODkgMC4yOTI4OTNMNSAzLjU4NTc5TDEuNzA3MTEgMC4yOTI4OTNaXCIsXG4gICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxuICB9KSk7XG59O1xuXG4vLyBzcmMvY29tcG9uZW50cy9DbG9zZUJ1dHRvbi9DbG9zZUJ1dHRvbi50c3hcbnZhciBDbG9zZUJ1dHRvbiA9ICh7XG4gIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwgPSBcIkNsb3NlXCIsXG4gIG9uQ2xvc2Vcbn0pID0+IHtcbiAgY29uc3QgbW9iaWxlID0gaXNNb2JpbGUoKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE3LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIGFzOiBcImJ1dHRvblwiLFxuICAgIGJhY2tncm91bmQ6IFwiY2xvc2VCdXR0b25CYWNrZ3JvdW5kXCIsXG4gICAgYm9yZGVyQ29sb3I6IFwiYWN0aW9uQnV0dG9uQm9yZGVyXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcImZ1bGxcIixcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIGJvcmRlcldpZHRoOiBtb2JpbGUgPyBcIjBcIiA6IFwiMVwiLFxuICAgIGNsYXNzTmFtZTogdG91Y2hhYmxlU3R5bGVzKHsgYWN0aXZlOiBcInNocmlua1NtXCIsIGhvdmVyOiBcImdyb3dMZ1wiIH0pLFxuICAgIGNvbG9yOiBcImNsb3NlQnV0dG9uXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgaGVpZ2h0OiBtb2JpbGUgPyBcIjMwXCIgOiBcIjI4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgb25DbGljazogb25DbG9zZSxcbiAgICBzdHlsZTogeyB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiIH0sXG4gICAgdHJhbnNpdGlvbjogXCJkZWZhdWx0XCIsXG4gICAgdHlwZTogXCJidXR0b25cIixcbiAgICB3aWR0aDogbW9iaWxlID8gXCIzMFwiIDogXCIyOFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE3LmNyZWF0ZUVsZW1lbnQoQ2xvc2VJY29uLCBudWxsKSk7XG59O1xuXG4vLyBzcmMvY29tcG9uZW50cy9TaWduSW4vU2lnbkluLnRzeFxudmFyIHNpZ25Jbkljb24gPSBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9zaWduLUZaVkIyQ1M2LmpzXCIpKS5kZWZhdWx0O1xuZnVuY3Rpb24gU2lnbkluKHsgb25DbG9zZSB9KSB7XG4gIGNvbnN0IFt7IHN0YXR1cywgLi4uc3RhdGUgfSwgc2V0U3RhdGVdID0gUmVhY3QxOC51c2VTdGF0ZSh7IHN0YXR1czogXCJpZGxlXCIgfSk7XG4gIGNvbnN0IGF1dGhBZGFwdGVyID0gdXNlQXV0aGVudGljYXRpb25BZGFwdGVyKCk7XG4gIGNvbnN0IGdldE5vbmNlID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBub25jZSA9IGF3YWl0IGF1dGhBZGFwdGVyLmdldE5vbmNlKCk7XG4gICAgICBzZXRTdGF0ZSgoeCkgPT4gKHsgLi4ueCwgbm9uY2UgfSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRTdGF0ZSgoeCkgPT4gKHtcbiAgICAgICAgLi4ueCxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiBcIkVycm9yIHByZXBhcmluZyBtZXNzYWdlLCBwbGVhc2UgcmV0cnkhXCIsXG4gICAgICAgIHN0YXR1czogXCJpZGxlXCJcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIFthdXRoQWRhcHRlcl0pO1xuICBjb25zdCBvbmNlUmVmID0gdXNlUmVmMihmYWxzZSk7XG4gIFJlYWN0MTgudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob25jZVJlZi5jdXJyZW50KVxuICAgICAgcmV0dXJuO1xuICAgIG9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgZ2V0Tm9uY2UoKTtcbiAgfSwgW2dldE5vbmNlXSk7XG4gIGNvbnN0IG1vYmlsZSA9IGlzTW9iaWxlKCk7XG4gIGNvbnN0IHsgYWRkcmVzcyB9ID0gdXNlQWNjb3VudDUoKTtcbiAgY29uc3QgeyBjaGFpbjogYWN0aXZlQ2hhaW4gfSA9IHVzZU5ldHdvcmsyKCk7XG4gIGNvbnN0IHsgc2lnbk1lc3NhZ2VBc3luYyB9ID0gdXNlU2lnbk1lc3NhZ2UoKTtcbiAgY29uc3QgeyBkaXNjb25uZWN0IH0gPSB1c2VEaXNjb25uZWN0KCk7XG4gIGNvbnN0IGNhbmNlbCA9ICgpID0+IGRpc2Nvbm5lY3QoKTtcbiAgY29uc3Qgc2lnbkluID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjaGFpbklkID0gYWN0aXZlQ2hhaW4gPT0gbnVsbCA/IHZvaWQgMCA6IGFjdGl2ZUNoYWluLmlkO1xuICAgICAgY29uc3QgeyBub25jZSB9ID0gc3RhdGU7XG4gICAgICBpZiAoIWFkZHJlc3MgfHwgIWNoYWluSWQgfHwgIW5vbmNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgICAuLi54LFxuICAgICAgICBlcnJvck1lc3NhZ2U6IHZvaWQgMCxcbiAgICAgICAgc3RhdHVzOiBcInNpZ25pbmdcIlxuICAgICAgfSkpO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGF1dGhBZGFwdGVyLmNyZWF0ZU1lc3NhZ2UoeyBhZGRyZXNzLCBjaGFpbklkLCBub25jZSB9KTtcbiAgICAgIGxldCBzaWduYXR1cmU7XG4gICAgICB0cnkge1xuICAgICAgICBzaWduYXR1cmUgPSBhd2FpdCBzaWduTWVzc2FnZUFzeW5jKHtcbiAgICAgICAgICBtZXNzYWdlOiBhdXRoQWRhcHRlci5nZXRNZXNzYWdlQm9keSh7IG1lc3NhZ2UgfSlcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gc2V0U3RhdGUoKHgpID0+ICh7XG4gICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgc3RhdHVzOiBcImlkbGVcIlxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2V0U3RhdGUoKHgpID0+ICh7XG4gICAgICAgICAgLi4ueCxcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6IFwiRXJyb3Igc2lnbmluZyBtZXNzYWdlLCBwbGVhc2UgcmV0cnkhXCIsXG4gICAgICAgICAgc3RhdHVzOiBcImlkbGVcIlxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICBzZXRTdGF0ZSgoeCkgPT4gKHsgLi4ueCwgc3RhdHVzOiBcInZlcmlmeWluZ1wiIH0pKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHZlcmlmaWVkID0gYXdhaXQgYXV0aEFkYXB0ZXIudmVyaWZ5KHsgbWVzc2FnZSwgc2lnbmF0dXJlIH0pO1xuICAgICAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBzZXRTdGF0ZSgoeCkgPT4gKHtcbiAgICAgICAgICAuLi54LFxuICAgICAgICAgIGVycm9yTWVzc2FnZTogXCJFcnJvciB2ZXJpZnlpbmcgc2lnbmF0dXJlLCBwbGVhc2UgcmV0cnkhXCIsXG4gICAgICAgICAgc3RhdHVzOiBcImlkbGVcIlxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgZXJyb3JNZXNzYWdlOiBcIk9vcHMsIHNvbWV0aGluZyB3ZW50IHdyb25nIVwiLFxuICAgICAgICBzdGF0dXM6IFwiaWRsZVwiXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QxOC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBwYWRkaW5nUmlnaHQ6IFwiMTZcIixcbiAgICBwYWRkaW5nVG9wOiBcIjE2XCIsXG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICByaWdodDogXCIwXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChDbG9zZUJ1dHRvbiwge1xuICAgIG9uQ2xvc2VcbiAgfSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IG1vYmlsZSA/IFwiMzJcIiA6IFwiMjRcIixcbiAgICBwYWRkaW5nOiBcIjI0XCIsXG4gICAgcGFkZGluZ1g6IFwiMThcIixcbiAgICBzdHlsZTogeyBwYWRkaW5nVG9wOiBtb2JpbGUgPyBcIjYwcHhcIiA6IFwiMzZweFwiIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBtb2JpbGUgPyBcIjZcIiA6IFwiNFwiLFxuICAgIHN0eWxlOiB7IG1heFdpZHRoOiBtb2JpbGUgPyAzMjAgOiAyODAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IG1vYmlsZSA/IFwiMzJcIiA6IFwiMTZcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOC5jcmVhdGVFbGVtZW50KEFzeW5jSW1hZ2UsIHtcbiAgICBoZWlnaHQ6IDQwLFxuICAgIHNyYzogc2lnbkluSWNvbixcbiAgICB3aWR0aDogNDBcbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIHNpemU6IG1vYmlsZSA/IFwiMjBcIiA6IFwiMThcIixcbiAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgd2VpZ2h0OiBcImhlYXZ5XCJcbiAgfSwgXCJWZXJpZnkgeW91ciBhY2NvdW50XCIpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBtb2JpbGUgPyBcIjE2XCIgOiBcIjEyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogbW9iaWxlID8gXCIxNlwiIDogXCIxNFwiLFxuICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIlxuICB9LCBcIlRvIGZpbmlzaCBjb25uZWN0aW5nLCB5b3UgbXVzdCBzaWduIGEgbWVzc2FnZSBpbiB5b3VyIHdhbGxldCB0byB2ZXJpZnkgdGhhdCB5b3UgYXJlIHRoZSBvd25lciBvZiB0aGlzIGFjY291bnQuXCIpLCBzdGF0dXMgPT09IFwiaWRsZVwiICYmIHN0YXRlLmVycm9yTWVzc2FnZSA/IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcImVycm9yXCIsXG4gICAgc2l6ZTogbW9iaWxlID8gXCIxNlwiIDogXCIxNFwiLFxuICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIHN0YXRlLmVycm9yTWVzc2FnZSkgOiBudWxsKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogIW1vYmlsZSA/IFwiY2VudGVyXCIgOiB2b2lkIDAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiOFwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOC5jcmVhdGVFbGVtZW50KEFjdGlvbkJ1dHRvbiwge1xuICAgIGRpc2FibGVkOiAhc3RhdGUubm9uY2UgfHwgc3RhdHVzID09PSBcInNpZ25pbmdcIiB8fCBzdGF0dXMgPT09IFwidmVyaWZ5aW5nXCIsXG4gICAgbGFiZWw6ICFzdGF0ZS5ub25jZSA/IFwiUHJlcGFyaW5nIG1lc3NhZ2UuLi5cIiA6IHN0YXR1cyA9PT0gXCJzaWduaW5nXCIgPyBcIldhaXRpbmcgZm9yIHNpZ25hdHVyZS4uLlwiIDogc3RhdHVzID09PSBcInZlcmlmeWluZ1wiID8gXCJWZXJpZnlpbmcgc2lnbmF0dXJlLi4uXCIgOiBcIlNlbmQgbWVzc2FnZVwiLFxuICAgIG9uQ2xpY2s6IHNpZ25JbixcbiAgICBzaXplOiBtb2JpbGUgPyBcImxhcmdlXCIgOiBcIm1lZGl1bVwiLFxuICAgIHRlc3RJZDogXCJhdXRoLW1lc3NhZ2UtYnV0dG9uXCJcbiAgfSksIG1vYmlsZSA/IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE4LmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgbGFiZWw6IFwiQ2FuY2VsXCIsXG4gICAgb25DbGljazogY2FuY2VsLFxuICAgIHNpemU6IFwibGFyZ2VcIixcbiAgICB0eXBlOiBcInNlY29uZGFyeVwiXG4gIH0pIDogLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhczogXCJidXR0b25cIixcbiAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgIGNsYXNzTmFtZTogdG91Y2hhYmxlU3R5bGVzKHsgYWN0aXZlOiBcInNocmlua1wiLCBob3ZlcjogXCJncm93XCIgfSksXG4gICAgZGlzcGxheTogXCJibG9ja1wiLFxuICAgIG9uQ2xpY2s6IGNhbmNlbCxcbiAgICBwYWRkaW5nWDogXCIxMFwiLFxuICAgIHBhZGRpbmdZOiBcIjVcIixcbiAgICByZWw6IFwibm9yZWZlcnJlclwiLFxuICAgIHN0eWxlOiB7IHdpbGxDaGFuZ2U6IFwidHJhbnNmb3JtXCIgfSxcbiAgICB0YXJnZXQ6IFwiX2JsYW5rXCIsXG4gICAgdHJhbnNpdGlvbjogXCJkZWZhdWx0XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwiY2xvc2VCdXR0b25cIixcbiAgICBzaXplOiBtb2JpbGUgPyBcIjE2XCIgOiBcIjE0XCIsXG4gICAgd2VpZ2h0OiBcImJvbGRcIlxuICB9LCBcIkNhbmNlbFwiKSkpKSk7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci91c2VQcmVsb2FkSW1hZ2VzLnRzXG5mdW5jdGlvbiB1c2VQcmVsb2FkSW1hZ2VzKCkge1xuICBjb25zdCByYWluYm93S2l0Q2hhaW5zID0gdXNlUmFpbmJvd0tpdENoYWlucygpO1xuICBjb25zdCB3YWxsZXRDb25uZWN0b3JzID0gdXNlV2FsbGV0Q29ubmVjdG9ycygpO1xuICBjb25zdCBpc1VuYXV0aGVudGljYXRlZCA9IHVzZUF1dGhlbnRpY2F0aW9uU3RhdHVzKCkgPT09IFwidW5hdXRoZW50aWNhdGVkXCI7XG4gIGNvbnN0IHByZWxvYWRJbWFnZXMgPSB1c2VDYWxsYmFjazIoKCkgPT4ge1xuICAgIGxvYWRJbWFnZXMoLi4ud2FsbGV0Q29ubmVjdG9ycy5tYXAoKHdhbGxldCkgPT4gd2FsbGV0Lmljb25VcmwpLCAuLi5yYWluYm93S2l0Q2hhaW5zLm1hcCgoY2hhaW4pID0+IGNoYWluLmljb25VcmwpLmZpbHRlcihpc05vdE51bGxpc2gpKTtcbiAgICBpZiAoIWlzTW9iaWxlKCkpIHtcbiAgICAgIHByZWxvYWRBc3NldHNJY29uKCk7XG4gICAgICBwcmVsb2FkTG9naW5JY29uKCk7XG4gICAgfVxuICAgIGlmIChpc1VuYXV0aGVudGljYXRlZCkge1xuICAgICAgbG9hZEltYWdlcyhzaWduSW5JY29uKTtcbiAgICB9XG4gIH0sIFt3YWxsZXRDb25uZWN0b3JzLCByYWluYm93S2l0Q2hhaW5zLCBpc1VuYXV0aGVudGljYXRlZF0pO1xuICB1c2VFZmZlY3Q4KCgpID0+IHtcbiAgICBwcmVsb2FkSW1hZ2VzKCk7XG4gIH0sIFtwcmVsb2FkSW1hZ2VzXSk7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci93YWxsZXRDb25uZWN0RGVlcExpbmsudHNcbnZhciBzdG9yYWdlS2V5MyA9IFwiV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0VcIjtcbmZ1bmN0aW9uIHNldFdhbGxldENvbm5lY3REZWVwTGluayh7XG4gIG1vYmlsZVVyaSxcbiAgbmFtZVxufSkge1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5MywgSlNPTi5zdHJpbmdpZnkoe1xuICAgIGhyZWY6IG1vYmlsZVVyaS5zcGxpdChcIj9cIilbMF0sXG4gICAgbmFtZVxuICB9KSk7XG59XG5mdW5jdGlvbiBjbGVhcldhbGxldENvbm5lY3REZWVwTGluaygpIHtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmFnZUtleTMpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9SYWluYm93S2l0UHJvdmlkZXIvUmFpbmJvd0tpdFByb3ZpZGVyLnRzeFxudmFyIFRoZW1lSWRDb250ZXh0ID0gY3JlYXRlQ29udGV4dDkodm9pZCAwKTtcbnZhciBhdHRyID0gXCJkYXRhLXJrXCI7XG52YXIgY3JlYXRlVGhlbWVSb290UHJvcHMgPSAoaWQpID0+ICh7IFthdHRyXTogaWQgfHwgXCJcIiB9KTtcbnZhciBjcmVhdGVUaGVtZVJvb3RTZWxlY3RvciA9IChpZCkgPT4ge1xuICBpZiAoaWQgJiYgIS9eW2EtekEtWjAtOV9dKyQvLnRlc3QoaWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIElEOiAke2lkfWApO1xuICB9XG4gIHJldHVybiBpZCA/IGBbJHthdHRyfT1cIiR7aWR9XCJdYCA6IGBbJHthdHRyfV1gO1xufTtcbnZhciB1c2VUaGVtZVJvb3RQcm9wcyA9ICgpID0+IHtcbiAgY29uc3QgaWQgPSB1c2VDb250ZXh0NShUaGVtZUlkQ29udGV4dCk7XG4gIHJldHVybiBjcmVhdGVUaGVtZVJvb3RQcm9wcyhpZCk7XG59O1xudmFyIGRlZmF1bHRUaGVtZSA9IGxpZ2h0VGhlbWUoKTtcbmZ1bmN0aW9uIFJhaW5ib3dLaXRQcm92aWRlcih7XG4gIGFwcEluZm8sXG4gIGF2YXRhcixcbiAgY2hhaW5zLFxuICBjaGlsZHJlbixcbiAgY29vbE1vZGUgPSBmYWxzZSxcbiAgaWQsXG4gIGluaXRpYWxDaGFpbixcbiAgbW9kYWxTaXplID0gTW9kYWxTaXplT3B0aW9ucy5XSURFLFxuICBzaG93UmVjZW50VHJhbnNhY3Rpb25zID0gZmFsc2UsXG4gIHRoZW1lID0gZGVmYXVsdFRoZW1lXG59KSB7XG4gIHVzZVByZWxvYWRJbWFnZXMoKTtcbiAgdXNlQWNjb3VudDYoeyBvbkRpc2Nvbm5lY3Q6IGNsZWFyV2FsbGV0Q29ubmVjdERlZXBMaW5rIH0pO1xuICBpZiAodHlwZW9mIHRoZW1lID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgdGhlbWUgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHRoZSBcInRoZW1lXCIgcHJvcCBpbnN0ZWFkIG9mIGEgdGhlbWUgb2JqZWN0LiBZb3UgbXVzdCBleGVjdXRlIHRoaXMgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXN1bHRpbmcgdGhlbWUgb2JqZWN0LicpO1xuICB9XG4gIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlVGhlbWVSb290U2VsZWN0b3IoaWQpO1xuICBjb25zdCBhcHBDb250ZXh0ID0ge1xuICAgIC4uLmRlZmF1bHRBcHBJbmZvLFxuICAgIC4uLmFwcEluZm9cbiAgfTtcbiAgY29uc3QgYXZhdGFyQ29udGV4dCA9IGF2YXRhciAhPSBudWxsID8gYXZhdGFyIDogZGVmYXVsdEF2YXRhcjtcbiAgY29uc3QgeyB3aWR0aCB9ID0gdXNlV2luZG93U2l6ZSgpO1xuICBjb25zdCBpc1NtYWxsU2NyZWVuID0gd2lkdGggJiYgd2lkdGggPCBsYXJnZVNjcmVlbk1pbldpZHRoO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0MTkuY3JlYXRlRWxlbWVudChSYWluYm93S2l0Q2hhaW5Qcm92aWRlciwge1xuICAgIGNoYWlucyxcbiAgICBpbml0aWFsQ2hhaW5cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTkuY3JlYXRlRWxlbWVudChDb29sTW9kZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogY29vbE1vZGVcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTkuY3JlYXRlRWxlbWVudChNb2RhbFNpemVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IGlzU21hbGxTY3JlZW4gPyBNb2RhbFNpemVPcHRpb25zLkNPTVBBQ1QgOiBtb2RhbFNpemVcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTkuY3JlYXRlRWxlbWVudChTaG93UmVjZW50VHJhbnNhY3Rpb25zQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBzaG93UmVjZW50VHJhbnNhY3Rpb25zXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE5LmNyZWF0ZUVsZW1lbnQoVHJhbnNhY3Rpb25TdG9yZVByb3ZpZGVyLCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOS5jcmVhdGVFbGVtZW50KEF2YXRhckNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogYXZhdGFyQ29udGV4dFxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOS5jcmVhdGVFbGVtZW50KEFwcENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogYXBwQ29udGV4dFxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QxOS5jcmVhdGVFbGVtZW50KFRoZW1lSWRDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IGlkXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDE5LmNyZWF0ZUVsZW1lbnQoTW9kYWxQcm92aWRlciwgbnVsbCwgdGhlbWUgPyAvKiBAX19QVVJFX18gKi8gUmVhY3QxOS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAuLi5jcmVhdGVUaGVtZVJvb3RQcm9wcyhpZClcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MTkuY3JlYXRlRWxlbWVudChcInN0eWxlXCIsIHtcbiAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgX19odG1sOiBbXG4gICAgICAgIGAke3NlbGVjdG9yfXske2Nzc1N0cmluZ0Zyb21UaGVtZShcImxpZ2h0TW9kZVwiIGluIHRoZW1lID8gdGhlbWUubGlnaHRNb2RlIDogdGhlbWUpfX1gLFxuICAgICAgICBcImRhcmtNb2RlXCIgaW4gdGhlbWUgPyBgQG1lZGlhKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspeyR7c2VsZWN0b3J9eyR7Y3NzU3RyaW5nRnJvbVRoZW1lKHRoZW1lLmRhcmtNb2RlLCB7IGV4dGVuZHM6IHRoZW1lLmxpZ2h0TW9kZSB9KX19fWAgOiBudWxsXG4gICAgICBdLmpvaW4oXCJcIilcbiAgICB9XG4gIH0pLCBjaGlsZHJlbikgOiBjaGlsZHJlbikpKSkpKSkpKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5jc3MudHNcbnZhciBjb250ZW50ID0gXCJfOXBtNGtpNSBqdTM2N3ZhIGp1MzY3djEwIGp1MzY3djhtXCI7XG52YXIgb3ZlcmxheSA9IFwiXzlwbTRraTMganUzNjd2OWIganUzNjd2YXgganUzNjd2YSBqdTM2N3YybCBqdTM2N3Y4bFwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9EaWFsb2cvRm9jdXNUcmFwLnRzeFxuaW1wb3J0IFJlYWN0MjAsIHsgdXNlQ2FsbGJhY2sgYXMgdXNlQ2FsbGJhY2szLCB1c2VFZmZlY3QgYXMgdXNlRWZmZWN0OSwgdXNlUmVmIGFzIHVzZVJlZjMgfSBmcm9tIFwicmVhY3RcIjtcbnZhciBtb3ZlRm9jdXNXaXRoaW4gPSAoZWxlbWVudDIsIHBvc2l0aW9uKSA9PiB7XG4gIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gZWxlbWVudDIucXVlcnlTZWxlY3RvckFsbChcImJ1dHRvbjpub3QoOmRpc2FibGVkKSwgYVtocmVmXVwiKTtcbiAgaWYgKGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCA9PT0gMClcbiAgICByZXR1cm47XG4gIGZvY3VzYWJsZUVsZW1lbnRzW3Bvc2l0aW9uID09PSBcImVuZFwiID8gZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMSA6IDBdLmZvY3VzKCk7XG59O1xuZnVuY3Rpb24gRm9jdXNUcmFwKHByb3BzKSB7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWYzKG51bGwpO1xuICB1c2VFZmZlY3Q5KCgpID0+IHtcbiAgICBjb25zdCBwcmV2aW91c2x5QWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHZhciBfYTtcbiAgICAgIChfYSA9IHByZXZpb3VzbHlBY3RpdmVFbGVtZW50LmZvY3VzKSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChwcmV2aW91c2x5QWN0aXZlRWxlbWVudCk7XG4gICAgfTtcbiAgfSwgW10pO1xuICB1c2VFZmZlY3Q5KCgpID0+IHtcbiAgICBpZiAoY29udGVudFJlZi5jdXJyZW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IGNvbnRlbnRSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtYXV0by1mb2N1c11cIik7XG4gICAgICBpZiAoZWxlbWVudFRvRm9jdXMpIHtcbiAgICAgICAgZWxlbWVudFRvRm9jdXMuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRlbnRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2NvbnRlbnRSZWZdKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDIwLmNyZWF0ZUVsZW1lbnQoUmVhY3QyMC5GcmFnbWVudCwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0MjAuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgb25Gb2N1czogdXNlQ2FsbGJhY2szKCgpID0+IGNvbnRlbnRSZWYuY3VycmVudCAmJiBtb3ZlRm9jdXNXaXRoaW4oY29udGVudFJlZi5jdXJyZW50LCBcImVuZFwiKSwgW10pLFxuICAgIHRhYkluZGV4OiAwXG4gIH0pLCAvKiBAX19QVVJFX18gKi8gUmVhY3QyMC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICByZWY6IGNvbnRlbnRSZWYsXG4gICAgc3R5bGU6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICB0YWJJbmRleDogLTEsXG4gICAgLi4ucHJvcHNcbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDIwLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIG9uRm9jdXM6IHVzZUNhbGxiYWNrMygoKSA9PiBjb250ZW50UmVmLmN1cnJlbnQgJiYgbW92ZUZvY3VzV2l0aGluKGNvbnRlbnRSZWYuY3VycmVudCwgXCJzdGFydFwiKSwgW10pLFxuICAgIHRhYkluZGV4OiAwXG4gIH0pKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3hcbnZhciBzdG9wUHJvcGFnYXRpb24gPSAoZXZlbnQpID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuZnVuY3Rpb24gRGlhbG9nKHsgY2hpbGRyZW4sIG9uQ2xvc2UsIG9wZW4sIHRpdGxlSWQgfSkge1xuICB1c2VFZmZlY3QxMCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlRXNjYXBlID0gKGV2ZW50KSA9PiBvcGVuICYmIGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIiAmJiBvbkNsb3NlKCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlRXNjYXBlKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlRXNjYXBlKTtcbiAgfSwgW29wZW4sIG9uQ2xvc2VdKTtcbiAgY29uc3QgW2JvZHlTY3JvbGxhYmxlLCBzZXRCb2R5U2Nyb2xsYWJsZV0gPSB1c2VTdGF0ZTUodHJ1ZSk7XG4gIHVzZUVmZmVjdDEwKCgpID0+IHtcbiAgICBzZXRCb2R5U2Nyb2xsYWJsZShnZXRDb21wdXRlZFN0eWxlKHdpbmRvdy5kb2N1bWVudC5ib2R5KS5vdmVyZmxvdyAhPT0gXCJoaWRkZW5cIik7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlQmFja2Ryb3BDbGljayA9IHVzZUNhbGxiYWNrNCgoKSA9PiBvbkNsb3NlKCksIFtvbkNsb3NlXSk7XG4gIGNvbnN0IHRoZW1lUm9vdFByb3BzID0gdXNlVGhlbWVSb290UHJvcHMoKTtcbiAgY29uc3QgbW9iaWxlID0gaXNNb2JpbGUoKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDIxLmNyZWF0ZUVsZW1lbnQoUmVhY3QyMS5GcmFnbWVudCwgbnVsbCwgb3BlbiA/IGNyZWF0ZVBvcnRhbCgvKiBAX19QVVJFX18gKi8gUmVhY3QyMS5jcmVhdGVFbGVtZW50KFJlbW92ZVNjcm9sbCwge1xuICAgIGVuYWJsZWQ6IGJvZHlTY3JvbGxhYmxlXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDIxLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgLi4udGhlbWVSb290UHJvcHNcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MjEuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAuLi50aGVtZVJvb3RQcm9wcyxcbiAgICBhbGlnbkl0ZW1zOiBtb2JpbGUgPyBcImZsZXgtZW5kXCIgOiBcImNlbnRlclwiLFxuICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlSWQsXG4gICAgXCJhcmlhLW1vZGFsXCI6IHRydWUsXG4gICAgY2xhc3NOYW1lOiBvdmVybGF5LFxuICAgIG9uQ2xpY2s6IGhhbmRsZUJhY2tkcm9wQ2xpY2ssXG4gICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICByb2xlOiBcImRpYWxvZ1wiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDIxLmNyZWF0ZUVsZW1lbnQoRm9jdXNUcmFwLCB7XG4gICAgY2xhc3NOYW1lOiBjb250ZW50LFxuICAgIG9uQ2xpY2s6IHN0b3BQcm9wYWdhdGlvbixcbiAgICByb2xlOiBcImRvY3VtZW50XCJcbiAgfSwgY2hpbGRyZW4pKSkpLCBkb2N1bWVudC5ib2R5KSA6IG51bGwpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC50c3hcbmltcG9ydCBSZWFjdDIyLCB7IHVzZUNvbnRleHQgYXMgdXNlQ29udGV4dDYgfSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuY3NzLnRzXG52YXIgYm90dG9tU2hlZXRPdmVycmlkZXMgPSBcIl8xY2tqcG9rN1wiO1xudmFyIGRpYWxvZ0NvbnRlbnQgPSBcIl8xY2tqcG9rMSBqdTM2N3ZiMCBqdTM2N3ZkbCBqdTM2N3ZwIGp1MzY3dnQganUzNjd2diBqdTM2N3ZlZiBqdTM2N3ZhIGp1MzY3djEwIGp1MzY3djY3IGp1MzY3djhtXCI7XG52YXIgZGlhbG9nQ29udGVudENvbXBhY3RNb2RlID0gXCJfMWNranBvazQgXzFja2pwb2sxIGp1MzY3dmIwIGp1MzY3dmRsIGp1MzY3dnAganUzNjd2dCBqdTM2N3Z2IGp1MzY3dmVmIGp1MzY3dmEganUzNjd2MTAganUzNjd2NjcganUzNjd2OG1cIjtcbnZhciBkaWFsb2dDb250ZW50TW9iaWxlID0gXCJfMWNranBvazYganUzNjd2cVwiO1xudmFyIGRpYWxvZ0NvbnRlbnRXaWRlRGVza3RvcCA9IFwiXzFja2pwb2szIF8xY2tqcG9rMSBqdTM2N3ZiMCBqdTM2N3ZkbCBqdTM2N3ZwIGp1MzY3dnQganUzNjd2diBqdTM2N3ZlZiBqdTM2N3ZhIGp1MzY3djEwIGp1MzY3djY3IGp1MzY3djhtXCI7XG52YXIgZGlhbG9nQ29udGVudFdpZGVNb2JpbGUgPSBcIl8xY2tqcG9rMiBfMWNranBvazEganUzNjd2YjAganUzNjd2ZGwganUzNjd2cCBqdTM2N3Z0IGp1MzY3dnYganUzNjd2ZWYganUzNjd2YSBqdTM2N3YxMCBqdTM2N3Y2NyBqdTM2N3Y4bVwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC50c3hcbmZ1bmN0aW9uIERpYWxvZ0NvbnRlbnQoe1xuICBib3R0b21TaGVldE9uTW9iaWxlID0gZmFsc2UsXG4gIGNoaWxkcmVuLFxuICBtYXJnaW5Ub3AsXG4gIHBhZGRpbmcgPSBcIjE2XCIsXG4gIHdpZGUgPSBmYWxzZVxufSkge1xuICBjb25zdCBtb2JpbGUgPSBpc01vYmlsZSgpO1xuICBjb25zdCBtb2RhbFNpemUgPSB1c2VDb250ZXh0NihNb2RhbFNpemVDb250ZXh0KTtcbiAgY29uc3QgY29tcGFjdE1vZGVFbmFibGVkID0gbW9kYWxTaXplID09PSBNb2RhbFNpemVPcHRpb25zLkNPTVBBQ1Q7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QyMi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIG1hcmdpblRvcFxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QyMi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGNsYXNzTmFtZTogW1xuICAgICAgd2lkZSA/IG1vYmlsZSA/IGRpYWxvZ0NvbnRlbnRXaWRlTW9iaWxlIDogY29tcGFjdE1vZGVFbmFibGVkID8gZGlhbG9nQ29udGVudENvbXBhY3RNb2RlIDogZGlhbG9nQ29udGVudFdpZGVEZXNrdG9wIDogZGlhbG9nQ29udGVudCxcbiAgICAgIG1vYmlsZSA/IGRpYWxvZ0NvbnRlbnRNb2JpbGUgOiBudWxsLFxuICAgICAgbW9iaWxlICYmIGJvdHRvbVNoZWV0T25Nb2JpbGUgPyBib3R0b21TaGVldE92ZXJyaWRlcyA6IG51bGxcbiAgICBdLmpvaW4oXCIgXCIpXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDIyLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgcGFkZGluZ1xuICB9LCBjaGlsZHJlbikpKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvUHJvZmlsZURldGFpbHMvUHJvZmlsZURldGFpbHMudHN4XG5pbXBvcnQgUmVhY3QzMiwgeyB1c2VDYWxsYmFjayBhcyB1c2VDYWxsYmFjazYsIHVzZUNvbnRleHQgYXMgdXNlQ29udGV4dDgsIHVzZUVmZmVjdCBhcyB1c2VFZmZlY3QxMSwgdXNlU3RhdGUgYXMgdXNlU3RhdGU2IH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RCdXR0b24vYWJicmV2aWF0ZUVUSEJhbGFuY2UudHNcbnZhciB1bml0cyA9IFtcImtcIiwgXCJtXCIsIFwiYlwiLCBcInRcIl07XG5mdW5jdGlvbiB0b1ByZWNpc2lvbihudW1iZXIsIHByZWNpc2lvbiA9IDEpIHtcbiAgcmV0dXJuIG51bWJlci50b1N0cmluZygpLnJlcGxhY2UobmV3IFJlZ0V4cChgKC4rXFxcXC5cXFxcZHske3ByZWNpc2lvbn19KVxcXFxkK2ApLCBcIiQxXCIpLnJlcGxhY2UoLyhcXC5bMS05XSopMCskLywgXCIkMVwiKS5yZXBsYWNlKC9cXC4kLywgXCJcIik7XG59XG5mdW5jdGlvbiBhYmJyZXZpYXRlRVRIQmFsYW5jZShudW1iZXIpIHtcbiAgaWYgKG51bWJlciA8IDEpXG4gICAgcmV0dXJuIHRvUHJlY2lzaW9uKG51bWJlciwgMyk7XG4gIGlmIChudW1iZXIgPCAxMCAqKiAyKVxuICAgIHJldHVybiB0b1ByZWNpc2lvbihudW1iZXIsIDIpO1xuICBpZiAobnVtYmVyIDwgMTAgKiogNClcbiAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0KHBhcnNlRmxvYXQodG9QcmVjaXNpb24obnVtYmVyLCAxKSkpO1xuICBjb25zdCBkZWNpbWFsc0Rpdmlzb3IgPSAxMCAqKiAxO1xuICBsZXQgcmVzdWx0ID0gU3RyaW5nKG51bWJlcik7XG4gIGZvciAobGV0IGkgPSB1bml0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGNvbnN0IHNpemUgPSAxMCAqKiAoKGkgKyAxKSAqIDMpO1xuICAgIGlmIChzaXplIDw9IG51bWJlcikge1xuICAgICAgbnVtYmVyID0gbnVtYmVyICogZGVjaW1hbHNEaXZpc29yIC8gc2l6ZSAvIGRlY2ltYWxzRGl2aXNvcjtcbiAgICAgIHJlc3VsdCA9IHRvUHJlY2lzaW9uKG51bWJlciwgMSkgKyB1bml0c1tpXTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0QnV0dG9uL2Zvcm1hdEFkZHJlc3MudHNcbmZ1bmN0aW9uIGZvcm1hdEFkZHJlc3MoYWRkcmVzcykge1xuICBjb25zdCBsZWFkaW5nQ2hhcnMgPSA0O1xuICBjb25zdCB0cmFpbGluZ0NoYXJzID0gNDtcbiAgcmV0dXJuIGFkZHJlc3MubGVuZ3RoIDwgbGVhZGluZ0NoYXJzICsgdHJhaWxpbmdDaGFycyA/IGFkZHJlc3MgOiBgJHthZGRyZXNzLnN1YnN0cmluZygwLCBsZWFkaW5nQ2hhcnMpfVxcdTIwMjYke2FkZHJlc3Muc3Vic3RyaW5nKGFkZHJlc3MubGVuZ3RoIC0gdHJhaWxpbmdDaGFycyl9YDtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvQ29ubmVjdEJ1dHRvbi9mb3JtYXRFTlMudHNcbmZ1bmN0aW9uIGZvcm1hdEVOUyhuYW1lKSB7XG4gIGNvbnN0IHBhcnRzID0gbmFtZS5zcGxpdChcIi5cIik7XG4gIGNvbnN0IGxhc3QgPSBwYXJ0cy5wb3AoKTtcbiAgaWYgKHBhcnRzLmpvaW4oXCIuXCIpLmxlbmd0aCA+IDI0KSB7XG4gICAgcmV0dXJuIGAke3BhcnRzLmpvaW4oXCIuXCIpLnN1YnN0cmluZygwLCAyNCl9Li4uYDtcbiAgfVxuICByZXR1cm4gYCR7cGFydHMuam9pbihcIi5cIil9LiR7bGFzdH1gO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9Db3BpZWQudHN4XG5pbXBvcnQgUmVhY3QyMyBmcm9tIFwicmVhY3RcIjtcbnZhciBDb3BpZWRJY29uID0gKCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0MjMuY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XG4gIGZpbGw6IFwibm9uZVwiLFxuICBoZWlnaHQ6IFwiMTNcIixcbiAgdmlld0JveDogXCIwIDAgMTMgMTNcIixcbiAgd2lkdGg6IFwiMTNcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxufSwgLyogQF9fUFVSRV9fICovIFJlYWN0MjMuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICBkOiBcIk00Ljk0NTY4IDEyLjI2NDZDNS40MTA1MiAxMi4yNjQ2IDUuNzcyODMgMTIuMDg2OSA2LjAxODkyIDExLjcxMDlMMTIuMzkgMS45Njk3M0MxMi41Njc3IDEuNjk2MjkgMTIuNjQyOSAxLjQ0MzM2IDEyLjY0MjkgMS4yMDQxQzEyLjY0MjkgMC41NjE1MjMgMTIuMTY0NCAwLjA5NjY3OTcgMTEuNTA4MiAwLjA5NjY3OTdDMTEuMDU3IDAuMDk2Njc5NyAxMC43NzY3IDAuMjYwNzQyIDEwLjUwMzMgMC42OTE0MDZMNC45MTE1IDkuNTA5NzdMMi4wNzQ1OCA1Ljk4OTI2QzEuODIxNjYgNS42ODg0OCAxLjU0ODIyIDUuNTUxNzYgMS4xNjU0MSA1LjU1MTc2QzAuNTAyMzE5IDUuNTUxNzYgMC4wMjM4MDM3IDYuMDIzNDQgMC4wMjM4MDM3IDYuNjY2MDJDMC4wMjM4MDM3IDYuOTUzMTIgMC4xMTI2NzEgNy4yMDYwNSAwLjM1ODc2NSA3LjQ4NjMzTDMuODg2MTEgMTEuNzU4OEM0LjE4MDA1IDEyLjEwNzQgNC41MDgxOCAxMi4yNjQ2IDQuOTQ1NjggMTIuMjY0NlpcIixcbiAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxufSkpO1xuXG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9Db3B5LnRzeFxuaW1wb3J0IFJlYWN0MjQgZnJvbSBcInJlYWN0XCI7XG52YXIgQ29weUljb24gPSAoKSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3QyNC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIHtcbiAgZmlsbDogXCJub25lXCIsXG4gIGhlaWdodDogXCIxNlwiLFxuICB2aWV3Qm94OiBcIjAgMCAxNyAxNlwiLFxuICB3aWR0aDogXCIxN1wiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG59LCAvKiBAX19QVVJFX18gKi8gUmVhY3QyNC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gIGQ6IFwiTTMuMDQyMzYgMTIuMzAyN0g0LjE4Mzk2VjEzLjMwMDhDNC4xODM5NiAxNC44NTI1IDUuMDM4NDUgMTUuNzAwMiA2LjU5NzA1IDE1LjcwMDJIMTMuNjI0NEMxNS4xODMgMTUuNzAwMiAxNi4wMzc1IDE0Ljg1MjUgMTYuMDM3NSAxMy4zMDA4VjYuMjQ2MDlDMTYuMDM3NSA0LjY5NDM0IDE1LjE4MyAzLjg0NjY4IDEzLjYyNDQgMy44NDY2OEgxMi40ODI4VjIuODQxOEMxMi40ODI4IDEuMjk2ODggMTEuNjI4MyAwLjQ0MjM4MyAxMC4wNjk3IDAuNDQyMzgzSDMuMDQyMzZDMS40ODM3NiAwLjQ0MjM4MyAwLjYyOTI3MiAxLjI5MDA0IDAuNjI5MjcyIDIuODQxOFY5LjkwMzMyQzAuNjI5MjcyIDExLjQ1NTEgMS40ODM3NiAxMi4zMDI3IDMuMDQyMzYgMTIuMzAyN1pNMy4yMzM3NiAxMC41MzkxQzIuNjg2ODkgMTAuNTM5MSAyLjM5Mjk0IDEwLjI2NTYgMi4zOTI5NCA5LjY4NDU3VjMuMDYwNTVDMi4zOTI5NCAyLjQ3OTQ5IDIuNjg2ODkgMi4yMTI4OSAzLjIzMzc2IDIuMjEyODlIOS44NzgzQzEwLjQyNTIgMi4yMTI4OSAxMC43MTkxIDIuNDc5NDkgMTAuNzE5MSAzLjA2MDU1VjMuODQ2NjhINi41OTcwNUM1LjAzODQ1IDMuODQ2NjggNC4xODM5NiA0LjY5NDM0IDQuMTgzOTYgNi4yNDYwOVYxMC41MzkxSDMuMjMzNzZaTTYuNzg4NDUgMTMuOTM2NUM2LjI0MTU4IDEzLjkzNjUgNS45NDc2MyAxMy42Njk5IDUuOTQ3NjMgMTMuMDg4OVY2LjQ1ODAxQzUuOTQ3NjMgNS44NzY5NSA2LjI0MTU4IDUuNjEwMzUgNi43ODg0NSA1LjYxMDM1SDEzLjQzM0MxMy45Nzk5IDUuNjEwMzUgMTQuMjczOCA1Ljg3Njk1IDE0LjI3MzggNi40NTgwMVYxMy4wODg5QzE0LjI3MzggMTMuNjY5OSAxMy45Nzk5IDEzLjkzNjUgMTMuNDMzIDEzLjkzNjVINi43ODg0NVpcIixcbiAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxufSkpO1xuXG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9EaXNjb25uZWN0LnRzeFxuaW1wb3J0IFJlYWN0MjUgZnJvbSBcInJlYWN0XCI7XG52YXIgRGlzY29ubmVjdEljb24gPSAoKSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3QyNS5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIHtcbiAgZmlsbDogXCJub25lXCIsXG4gIGhlaWdodDogXCIxNlwiLFxuICB2aWV3Qm94OiBcIjAgMCAxOCAxNlwiLFxuICB3aWR0aDogXCIxOFwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG59LCAvKiBAX19QVVJFX18gKi8gUmVhY3QyNS5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gIGQ6IFwiTTIuNjc4MzQgMTUuNTkwOEg5Ljk5OTYzQzExLjU1MTQgMTUuNTkwOCAxMi4zOTkgMTQuNzQzMiAxMi4zOTkgMTMuMTc3N1YxMC4yNjU2SDEwLjYzNTRWMTIuOTg2M0MxMC42MzU0IDEzLjUzMzIgMTAuMzY4OCAxMy44MjcxIDkuNzg3NzIgMTMuODI3MUgyLjg5MDI2QzIuMzA5MiAxMy44MjcxIDIuMDQyNiAxMy41MzMyIDIuMDQyNiAxMi45ODYzVjMuMTU2MjVDMi4wNDI2IDIuNjAyNTQgMi4zMDkyIDIuMzA4NTkgMi44OTAyNiAyLjMwODU5SDkuNzg3NzJDMTAuMzY4OCAyLjMwODU5IDEwLjYzNTQgMi42MDI1NCAxMC42MzU0IDMuMTU2MjVWNS44OTc0NkgxMi4zOTlWMi45NTgwMUMxMi4zOTkgMS4zOTk0MSAxMS41NTE0IDAuNTQ0OTIyIDkuOTk5NjMgMC41NDQ5MjJIMi42NzgzNEMxLjEyNjU5IDAuNTQ0OTIyIDAuMjc4OTMxIDEuMzk5NDEgMC4yNzg5MzEgMi45NTgwMVYxMy4xNzc3QzAuMjc4OTMxIDE0Ljc0MzIgMS4xMjY1OSAxNS41OTA4IDIuNjc4MzQgMTUuNTkwOFpNNy40MzYxNiA4Ljg1MDU5SDE0LjA4NzVMMTUuMDkyNCA4Ljc4OTA2TDE0LjU2NiA5LjE0NDUzTDEzLjY4NDIgOS45NjQ4NEMxMy41NDA2IDEwLjEwMTYgMTMuNDU4NiAxMC4yODYxIDEzLjQ1ODYgMTAuNDg0NEMxMy40NTg2IDEwLjgzOTggMTMuNzMyMSAxMS4xNjggMTQuMTIxNyAxMS4xNjhDMTQuMzE5OSAxMS4xNjggMTQuNDYzNSAxMS4wOTI4IDE0LjYwMDIgMTAuOTU2MUwxNi43ODA5IDguNjg2NTJDMTYuOTg2IDguNDgxNDUgMTcuMDU0MyA4LjI3NjM3IDE3LjA1NDMgOC4wNjQ0NUMxNy4wNTQzIDcuODUyNTQgMTYuOTg2IDcuNjQ3NDYgMTYuNzgwOSA3LjQzNTU1TDE0LjYwMDIgNS4xNzI4NUMxNC40NjM1IDUuMDM2MTMgMTQuMzE5OSA0Ljk1NDEgMTQuMTIxNyA0Ljk1NDFDMTMuNzMyMSA0Ljk1NDEgMTMuNDU4NiA1LjI3NTM5IDEzLjQ1ODYgNS42Mzc3QzEzLjQ1ODYgNS44MzU5NCAxMy41NDA2IDYuMDI3MzQgMTMuNjg0MiA2LjE1NzIzTDE0LjU2NiA2Ljk4NDM4TDE1LjA5MjQgNy4zMzk4NEwxNC4wODc1IDcuMjcxNDhINy40MzYxNkM3LjAxOTE3IDcuMjcxNDggNi42NTY4NiA3LjYyMDEyIDYuNjU2ODYgOC4wNjQ0NUM2LjY1Njg2IDguNTAxOTUgNy4wMTkxNyA4Ljg1MDU5IDcuNDM2MTYgOC44NTA1OVpcIixcbiAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxufSkpO1xuXG4vLyBzcmMvY29tcG9uZW50cy9UeHMvVHhMaXN0LnRzeFxuaW1wb3J0IFJlYWN0MzAsIHsgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0NyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTmV0d29yayBhcyB1c2VOZXR3b3JrNCB9IGZyb20gXCJ3YWdtaVwiO1xuXG4vLyBzcmMvdHJhbnNhY3Rpb25zL3VzZUNsZWFyUmVjZW50VHJhbnNhY3Rpb25zLnRzXG5pbXBvcnQgeyB1c2VDYWxsYmFjayBhcyB1c2VDYWxsYmFjazUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUFjY291bnQgYXMgdXNlQWNjb3VudDcgfSBmcm9tIFwid2FnbWlcIjtcbmZ1bmN0aW9uIHVzZUNsZWFyUmVjZW50VHJhbnNhY3Rpb25zKCkge1xuICBjb25zdCBzdG9yZSA9IHVzZVRyYW5zYWN0aW9uU3RvcmUoKTtcbiAgY29uc3QgeyBhZGRyZXNzIH0gPSB1c2VBY2NvdW50NygpO1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCgpO1xuICByZXR1cm4gdXNlQ2FsbGJhY2s1KCgpID0+IHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgIWNoYWluSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGFkZHJlc3Mgb3IgY2hhaW4gSUQgZm91bmRcIik7XG4gICAgfVxuICAgIHN0b3JlLmNsZWFyVHJhbnNhY3Rpb25zKGFkZHJlc3MsIGNoYWluSWQpO1xuICB9LCBbc3RvcmUsIGFkZHJlc3MsIGNoYWluSWRdKTtcbn1cblxuLy8gc3JjL3V0aWxzL2NoYWluVG9FeHBsb3JlclVybC50c1xudmFyIGNoYWluVG9FeHBsb3JlclVybCA9IChjaGFpbikgPT4ge1xuICB2YXIgX2EsIF9iO1xuICByZXR1cm4gKF9iID0gKF9hID0gY2hhaW4gPT0gbnVsbCA/IHZvaWQgMCA6IGNoYWluLmJsb2NrRXhwbG9yZXJzKSA9PSBudWxsID8gdm9pZCAwIDogX2EuZGVmYXVsdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLnVybDtcbn07XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0V4dGVybmFsTGluay50c3hcbmltcG9ydCBSZWFjdDI2IGZyb20gXCJyZWFjdFwiO1xudmFyIEV4dGVybmFsTGlua0ljb24gPSAoKSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3QyNi5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIHtcbiAgZmlsbDogXCJub25lXCIsXG4gIGhlaWdodDogXCIxOVwiLFxuICB2aWV3Qm94OiBcIjAgMCAyMCAxOVwiLFxuICB3aWR0aDogXCIyMFwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG59LCAvKiBAX19QVVJFX18gKi8gUmVhY3QyNi5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gIGQ6IFwiTTEwIDE4Ljk0NDNDMTUuMDk3NyAxOC45NDQzIDE5LjI4MTIgMTQuNzUyIDE5LjI4MTIgOS42NTQzQzE5LjI4MTIgNC41NjU0MyAxNS4wODg5IDAuMzczMDQ3IDEwIDAuMzczMDQ3QzQuOTAyMzQgMC4zNzMwNDcgMC43MTg3NSA0LjU2NTQzIDAuNzE4NzUgOS42NTQzQzAuNzE4NzUgMTQuNzUyIDQuOTExMTMgMTguOTQ0MyAxMCAxOC45NDQzWk0xMCAxNi42MzI4QzYuMTQxNiAxNi42MzI4IDMuMDM5MDYgMTMuNTIxNSAzLjAzOTA2IDkuNjU0M0MzLjAzOTA2IDUuNzk1OSA2LjEzMjgxIDIuNjg0NTcgMTAgMi42ODQ1N0MxMy44NTg0IDIuNjg0NTcgMTYuOTY5NyA1Ljc5NTkgMTYuOTY5NyA5LjY1NDNDMTYuOTc4NSAxMy41MjE1IDEzLjg2NzIgMTYuNjMyOCAxMCAxNi42MzI4Wk0xMi43MTU4IDEyLjE0MTZDMTMuMjQzMiAxMi4xNDE2IDEzLjU2ODQgMTEuNzU0OSAxMy41Njg0IDExLjE4MzZWNy4xOTMzNkMxMy41Njg0IDYuNDQ2MjkgMTMuMTM3NyA2LjA1OTU3IDEyLjQxNyA2LjA1OTU3SDguNDA5MThDNy44MjkxIDYuMDU5NTcgNy40NTExNyA2LjM4NDc3IDcuNDUxMTcgNi45MTIxMUM3LjQ1MTE3IDcuNDM5NDUgNy44MjkxIDcuNzczNDQgOC40MDkxOCA3Ljc3MzQ0SDkuNjkyMzhMMTAuNzIwNyA3LjYzMjgxTDkuNTM0MTggOC42Nzg3MUw2LjczMDQ3IDExLjQ5MTJDNi41MzcxMSAxMS42NzU4IDYuNDE0MDYgMTEuOTM5NSA2LjQxNDA2IDEyLjIwMzFDNi40MTQwNiAxMi43ODMyIDYuODUzNTIgMTMuMTY5OSA3LjM5ODQ0IDEzLjE2OTlDNy42ODg0OCAxMy4xNjk5IDcuOTI1NzggMTMuMDczMiA4LjE1NDMgMTIuODYyM0wxMC45MzE2IDEwLjA3NjJMMTEuOTc3NSA4Ljg5ODQ0TDExLjg1NDUgOS45ODgyOFYxMS4xODM2QzExLjg1NDUgMTEuNzcyNSAxMi4xODg1IDEyLjE0MTYgMTIuNzE1OCAxMi4xNDE2WlwiLFxuICBmaWxsOiBcImN1cnJlbnRDb2xvclwiXG59KSk7XG5cbi8vIHNyYy9jb21wb25lbnRzL1R4cy9UeEl0ZW0udHN4XG5pbXBvcnQgUmVhY3QyOSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZU5ldHdvcmsgYXMgdXNlTmV0d29yazMgfSBmcm9tIFwid2FnbWlcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvQ2FuY2VsLnRzeFxuaW1wb3J0IFJlYWN0MjcgZnJvbSBcInJlYWN0XCI7XG52YXIgQ2FuY2VsSWNvbiA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI3LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xuICBmaWxsOiBcIm5vbmVcIixcbiAgaGVpZ2h0OiBcIjE5XCIsXG4gIHZpZXdCb3g6IFwiMCAwIDIwIDE5XCIsXG4gIHdpZHRoOiBcIjIwXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbn0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI3LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgZDogXCJNMTAgMTguOTQ0M0MxNS4wOTc3IDE4Ljk0NDMgMTkuMjgxMiAxNC43NTIgMTkuMjgxMiA5LjY1NDNDMTkuMjgxMiA0LjU2NTQzIDE1LjA4ODkgMC4zNzMwNDcgMTAgMC4zNzMwNDdDNC45MDIzNCAwLjM3MzA0NyAwLjcxODc1IDQuNTY1NDMgMC43MTg3NSA5LjY1NDNDMC43MTg3NSAxNC43NTIgNC45MTExMyAxOC45NDQzIDEwIDE4Ljk0NDNaTTEwIDE2LjYzMjhDNi4xNDE2IDE2LjYzMjggMy4wMzkwNiAxMy41MjE1IDMuMDM5MDYgOS42NTQzQzMuMDM5MDYgNS43OTU5IDYuMTMyODEgMi42ODQ1NyAxMCAyLjY4NDU3QzEzLjg1ODQgMi42ODQ1NyAxNi45Njk3IDUuNzk1OSAxNi45Njk3IDkuNjU0M0MxNi45Nzg1IDEzLjUyMTUgMTMuODY3MiAxNi42MzI4IDEwIDE2LjYzMjhaTTcuMjkyOTcgMTMuMzAxOEM3LjU4MzAxIDEzLjMwMTggNy44MTE1MiAxMy4yMTM5IDcuOTk2MDkgMTMuMDIwNUwxMCAxMS4wMTY2TDEyLjAxMjcgMTMuMDIwNUMxMi4xOTczIDEzLjIwNTEgMTIuNDI1OCAxMy4zMDE4IDEyLjcwNyAxMy4zMDE4QzEzLjI0MzIgMTMuMzAxOCAxMy42NTYyIDEyLjg4ODcgMTMuNjU2MiAxMi4zNTI1QzEzLjY1NjIgMTIuMDk3NyAxMy41NTA4IDExLjg2OTEgMTMuMzY2MiAxMS42OTM0TDExLjM1MzUgOS42NzE4OEwxMy4zNzUgNy42NDE2QzEzLjU1OTYgNy40NDgyNCAxMy42NTYyIDcuMjI4NTIgMTMuNjU2MiA2Ljk4MjQyQzEzLjY1NjIgNi40NDYyOSAxMy4yNDMyIDYuMDMzMiAxMi43MTU4IDYuMDMzMkMxMi40MzQ2IDYuMDMzMiAxMi4yMTQ4IDYuMTIxMDkgMTIuMDIxNSA2LjMxNDQ1TDEwIDguMzI3MTVMNy45ODczIDYuMzIzMjRDNy44MDI3MyA2LjEyOTg4IDcuNTgzMDEgNi4wNDE5OSA3LjI5Mjk3IDYuMDQxOTlDNi43NjU2MiA2LjA0MTk5IDYuMzUyNTQgNi40NTUwOCA2LjM1MjU0IDYuOTkxMjFDNi4zNTI1NCA3LjIzNzMgNi40NDkyMiA3LjQ2NTgyIDYuNjMzNzkgNy42NDE2TDguNjU1MjcgOS42NzE4OEw2LjYzMzc5IDExLjY5MzRDNi40NDkyMiAxMS44NjkxIDYuMzUyNTQgMTIuMTA2NCA2LjM1MjU0IDEyLjM1MjVDNi4zNTI1NCAxMi44ODg3IDYuNzY1NjIgMTMuMzAxOCA3LjI5Mjk3IDEzLjMwMThaXCIsXG4gIGZpbGw6IFwiY3VycmVudENvbG9yXCJcbn0pKTtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvU3VjY2Vzcy50c3hcbmltcG9ydCBSZWFjdDI4IGZyb20gXCJyZWFjdFwiO1xudmFyIFN1Y2Nlc3NJY29uID0gKCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0MjguY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XG4gIGZpbGw6IFwibm9uZVwiLFxuICBoZWlnaHQ6IFwiMjBcIixcbiAgdmlld0JveDogXCIwIDAgMjAgMjBcIixcbiAgd2lkdGg6IFwiMjBcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxufSwgLyogQF9fUFVSRV9fICovIFJlYWN0MjguY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xuICBkOiBcIk0xMCAxOS40NDQzQzE1LjA5NzcgMTkuNDQ0MyAxOS4yODEyIDE1LjI1MiAxOS4yODEyIDEwLjE1NDNDMTkuMjgxMiA1LjA2NTQzIDE1LjA4ODkgMC44NzMwNDcgMTAgMC44NzMwNDdDNC45MDIzNCAwLjg3MzA0NyAwLjcxODc1IDUuMDY1NDMgMC43MTg3NSAxMC4xNTQzQzAuNzE4NzUgMTUuMjUyIDQuOTExMTMgMTkuNDQ0MyAxMCAxOS40NDQzWk0xMCAxNy4xMzI4QzYuMTQxNiAxNy4xMzI4IDMuMDM5MDYgMTQuMDIxNSAzLjAzOTA2IDEwLjE1NDNDMy4wMzkwNiA2LjI5NTkgNi4xMzI4MSAzLjE4NDU3IDEwIDMuMTg0NTdDMTMuODU4NCAzLjE4NDU3IDE2Ljk2OTcgNi4yOTU5IDE2Ljk2OTcgMTAuMTU0M0MxNi45Nzg1IDE0LjAyMTUgMTMuODY3MiAxNy4xMzI4IDEwIDE3LjEzMjhaTTkuMDc3MTUgMTQuMzM3OUM5LjQzNzUgMTQuMzM3OSA5Ljc2MjcgMTQuMTUzMyA5Ljk3MzYzIDEzLjgzNjlMMTMuNzQ0MSA4LjAwOTc3QzEzLjg4NDggNy43OTg4MyAxMy45ODE0IDcuNTc5MSAxMy45ODE0IDcuMzY4MTZDMTMuOTgxNCA2Ljg0OTYxIDEzLjUyNDQgNi40ODkyNiAxMy4wMzIyIDYuNDg5MjZDMTIuNzA3IDYuNDg5MjYgMTIuNDI1OCA2LjY2NTA0IDEyLjIxNDggNy4wMTY2TDkuMDU5NTcgMTIuMDk2N0w3LjU5MTggMTAuMjk0OUM3LjM3MjA3IDEwLjAyMjUgNy4xMzQ3NyA5LjkwODIgNi44NDQ3MyA5LjkwODJDNi4zMzQ5NiA5LjkwODIgNS45MjE4OCAxMC4zMTI1IDUuOTIxODggMTAuODIyM0M1LjkyMTg4IDExLjA2ODQgNi4wMDA5OCAxMS4yNzkzIDYuMTg1NTUgMTEuNTA3OEw4LjE1NDMgMTMuODU0NUM4LjQwOTE4IDE0LjE3MDkgOC43MDgwMSAxNC4zMzc5IDkuMDc3MTUgMTQuMzM3OVpcIixcbiAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxufSkpO1xuXG4vLyBzcmMvY29tcG9uZW50cy9UeHMvVHhJdGVtLnRzeFxudmFyIGdldFR4U3RhdHVzSWNvbiA9IChzdGF0dXMpID0+IHtcbiAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICBjYXNlIFwicGVuZGluZ1wiOlxuICAgICAgcmV0dXJuIFNwaW5uZXJJY29uO1xuICAgIGNhc2UgXCJjb25maXJtZWRcIjpcbiAgICAgIHJldHVybiBTdWNjZXNzSWNvbjtcbiAgICBjYXNlIFwiZmFpbGVkXCI6XG4gICAgICByZXR1cm4gQ2FuY2VsSWNvbjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFNwaW5uZXJJY29uO1xuICB9XG59O1xuZnVuY3Rpb24gVHhJdGVtKHsgdHggfSkge1xuICBjb25zdCBtb2JpbGUgPSBpc01vYmlsZSgpO1xuICBjb25zdCBJY29uID0gZ2V0VHhTdGF0dXNJY29uKHR4LnN0YXR1cyk7XG4gIGNvbnN0IGNvbG9yID0gdHguc3RhdHVzID09PSBcImZhaWxlZFwiID8gXCJlcnJvclwiIDogXCJhY2NlbnRDb2xvclwiO1xuICBjb25zdCB7IGNoYWluOiBhY3RpdmVDaGFpbiB9ID0gdXNlTmV0d29yazMoKTtcbiAgY29uc3QgY29uZmlybWF0aW9uU3RhdHVzID0gdHguc3RhdHVzID09PSBcImNvbmZpcm1lZFwiID8gXCJDb25maXJtZWRcIiA6IHR4LnN0YXR1cyA9PT0gXCJmYWlsZWRcIiA/IFwiRmFpbGVkXCIgOiBcIlBlbmRpbmdcIjtcbiAgY29uc3QgZXhwbG9yZXJMaW5rID0gY2hhaW5Ub0V4cGxvcmVyVXJsKGFjdGl2ZUNoYWluKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI5LmNyZWF0ZUVsZW1lbnQoUmVhY3QyOS5GcmFnbWVudCwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0MjkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAuLi5leHBsb3JlckxpbmsgPyB7XG4gICAgICBhczogXCJhXCIsXG4gICAgICBiYWNrZ3JvdW5kOiB7IGhvdmVyOiBcInByb2ZpbGVGb3JlZ3JvdW5kXCIgfSxcbiAgICAgIGJvcmRlclJhZGl1czogXCJtZW51QnV0dG9uXCIsXG4gICAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7IGFjdGl2ZTogXCJzaHJpbmtcIiB9KSxcbiAgICAgIGhyZWY6IGAke2V4cGxvcmVyTGlua30vdHgvJHt0eC5oYXNofWAsXG4gICAgICByZWw6IFwibm9yZWZlcnJlciBub29wZW5lclwiLFxuICAgICAgdGFyZ2V0OiBcIl9ibGFua1wiLFxuICAgICAgdHJhbnNpdGlvbjogXCJkZWZhdWx0XCJcbiAgICB9IDoge30sXG4gICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgcGFkZGluZzogXCI4XCIsXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGdhcDogbW9iaWxlID8gXCIxNlwiIDogXCIxNFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgY29sb3JcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MjkuY3JlYXRlRWxlbWVudChJY29uLCBudWxsKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IG1vYmlsZSA/IFwiM1wiIDogXCIxXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MjkuY3JlYXRlRWxlbWVudChCb3gsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDI5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIGZvbnQ6IFwiYm9keVwiLFxuICAgIHNpemU6IG1vYmlsZSA/IFwiMTZcIiA6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIHR4ID09IG51bGwgPyB2b2lkIDAgOiB0eC5kZXNjcmlwdGlvbikpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QyOS5jcmVhdGVFbGVtZW50KEJveCwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0MjkuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IHR4LnN0YXR1cyA9PT0gXCJwZW5kaW5nXCIgPyBcIm1vZGFsVGV4dFNlY29uZGFyeVwiIDogY29sb3IsXG4gICAgZm9udDogXCJib2R5XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogbW9iaWxlID8gXCJtZWRpdW1cIiA6IFwicmVndWxhclwiXG4gIH0sIGNvbmZpcm1hdGlvblN0YXR1cykpKSksIGV4cGxvcmVyTGluayAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3QyOS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgY29sb3I6IFwibW9kYWxUZXh0RGltXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MjkuY3JlYXRlRWxlbWVudChFeHRlcm5hbExpbmtJY29uLCBudWxsKSkpKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvVHhzL1R4TGlzdC50c3hcbnZhciBOVU1CRVJfT0ZfVklTSUJMRV9UWFMgPSAzO1xuZnVuY3Rpb24gVHhMaXN0KHsgYWRkcmVzcyB9KSB7XG4gIGNvbnN0IHJlY2VudFRyYW5zYWN0aW9ucyA9IHVzZVJlY2VudFRyYW5zYWN0aW9ucygpO1xuICBjb25zdCBjbGVhclJlY2VudFRyYW5zYWN0aW9ucyA9IHVzZUNsZWFyUmVjZW50VHJhbnNhY3Rpb25zKCk7XG4gIGNvbnN0IHsgY2hhaW46IGFjdGl2ZUNoYWluIH0gPSB1c2VOZXR3b3JrNCgpO1xuICBjb25zdCBleHBsb3JlckxpbmsgPSBjaGFpblRvRXhwbG9yZXJVcmwoYWN0aXZlQ2hhaW4pO1xuICBjb25zdCB2aXNpYmxlVHhzID0gcmVjZW50VHJhbnNhY3Rpb25zLnNsaWNlKDAsIE5VTUJFUl9PRl9WSVNJQkxFX1RYUyk7XG4gIGNvbnN0IGhhc1RyYW5zYWN0aW9ucyA9IHZpc2libGVUeHMubGVuZ3RoID4gMDtcbiAgY29uc3QgbW9iaWxlID0gaXNNb2JpbGUoKTtcbiAgY29uc3QgeyBhcHBOYW1lIH0gPSB1c2VDb250ZXh0NyhBcHBDb250ZXh0KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMwLmNyZWF0ZUVsZW1lbnQoUmVhY3QzMC5GcmFnbWVudCwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0MzAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCIxMFwiLFxuICAgIHBhZGRpbmdCb3R0b206IFwiMlwiLFxuICAgIHBhZGRpbmdUb3A6IFwiMTZcIixcbiAgICBwYWRkaW5nWDogbW9iaWxlID8gXCI4XCIgOiBcIjE4XCJcbiAgfSwgaGFzVHJhbnNhY3Rpb25zICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgcGFkZGluZ0JvdHRvbTogbW9iaWxlID8gXCI0XCIgOiBcIjBcIixcbiAgICBwYWRkaW5nVG9wOiBcIjhcIixcbiAgICBwYWRkaW5nWDogbW9iaWxlID8gXCIxMlwiIDogXCI2XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzAuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogbW9iaWxlID8gXCIxNlwiIDogXCIxNFwiLFxuICAgIHdlaWdodDogXCJzZW1pYm9sZFwiXG4gIH0sIFwiUmVjZW50IFRyYW5zYWN0aW9uc1wiKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBzdHlsZToge1xuICAgICAgbWFyZ2luQm90dG9tOiAtNixcbiAgICAgIG1hcmdpbkxlZnQ6IC0xMCxcbiAgICAgIG1hcmdpblJpZ2h0OiAtMTAsXG4gICAgICBtYXJnaW5Ub3A6IC02XG4gICAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFzOiBcImJ1dHRvblwiLFxuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIGhvdmVyOiBcInByb2ZpbGVGb3JlZ3JvdW5kXCJcbiAgICB9LFxuICAgIGJvcmRlclJhZGl1czogXCJhY3Rpb25CdXR0b25cIixcbiAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7IGFjdGl2ZTogXCJzaHJpbmtcIiB9KSxcbiAgICBvbkNsaWNrOiBjbGVhclJlY2VudFRyYW5zYWN0aW9ucyxcbiAgICBwYWRkaW5nWDogbW9iaWxlID8gXCI4XCIgOiBcIjEyXCIsXG4gICAgcGFkZGluZ1k6IG1vYmlsZSA/IFwiNFwiIDogXCI1XCIsXG4gICAgdHJhbnNpdGlvbjogXCJkZWZhdWx0XCIsXG4gICAgdHlwZTogXCJidXR0b25cIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIixcbiAgICBzaXplOiBtb2JpbGUgPyBcIjE2XCIgOiBcIjE0XCIsXG4gICAgd2VpZ2h0OiBcInNlbWlib2xkXCJcbiAgfSwgXCJDbGVhciBBbGxcIikpKSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjRcIlxuICB9LCBoYXNUcmFuc2FjdGlvbnMgPyB2aXNpYmxlVHhzLm1hcCgodHgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMwLmNyZWF0ZUVsZW1lbnQoVHhJdGVtLCB7XG4gICAga2V5OiB0eC5oYXNoLFxuICAgIHR4XG4gIH0pKSA6IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMwLmNyZWF0ZUVsZW1lbnQoUmVhY3QzMC5GcmFnbWVudCwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0MzAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBwYWRkaW5nOiBtb2JpbGUgPyBcIjEyXCIgOiBcIjhcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHREaW1cIixcbiAgICBzaXplOiBtb2JpbGUgPyBcIjE2XCIgOiBcIjE0XCIsXG4gICAgd2VpZ2h0OiBtb2JpbGUgPyBcIm1lZGl1bVwiIDogXCJib2xkXCJcbiAgfSwgYXBwTmFtZSAhPSBudWxsID8gYXBwTmFtZSA6IFwiWW91clwiLCBcIiB0cmFuc2FjdGlvbnMgd2lsbCBhcHBlYXIgaGVyZS4uLlwiKSksIG1vYmlsZSAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3QzMC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJhY2tncm91bmQ6IFwiZ2VuZXJhbEJvcmRlckRpbVwiLFxuICAgIGhlaWdodDogXCIxXCIsXG4gICAgbWFyZ2luWDogXCIxMlwiLFxuICAgIG1hcmdpblk6IFwiOFwiXG4gIH0pKSkpLCBleHBsb3JlckxpbmsgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0MzAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBwYWRkaW5nQm90dG9tOiBcIjE4XCIsXG4gICAgcGFkZGluZ1g6IG1vYmlsZSA/IFwiOFwiIDogXCIxOFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBhczogXCJhXCIsXG4gICAgYmFja2dyb3VuZDogeyBob3ZlcjogXCJwcm9maWxlRm9yZWdyb3VuZFwiIH0sXG4gICAgYm9yZGVyUmFkaXVzOiBcIm1lbnVCdXR0b25cIixcbiAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7IGFjdGl2ZTogXCJzaHJpbmtcIiB9KSxcbiAgICBjb2xvcjogXCJtb2RhbFRleHREaW1cIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGhyZWY6IGAke2V4cGxvcmVyTGlua30vYWRkcmVzcy8ke2FkZHJlc3N9YCxcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgcGFkZGluZ1g6IFwiOFwiLFxuICAgIHBhZGRpbmdZOiBcIjEyXCIsXG4gICAgcmVsOiBcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIixcbiAgICBzdHlsZTogeyB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiIH0sXG4gICAgdGFyZ2V0OiBcIl9ibGFua1wiLFxuICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIixcbiAgICAuLi5tb2JpbGUgPyB7IHBhZGRpbmdMZWZ0OiBcIjEyXCIgfSA6IHt9XG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMwLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIGZvbnQ6IFwiYm9keVwiLFxuICAgIHNpemU6IG1vYmlsZSA/IFwiMTZcIiA6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IG1vYmlsZSA/IFwic2VtaWJvbGRcIiA6IFwiYm9sZFwiXG4gIH0sIFwiVmlldyBtb3JlIG9uIEV4cGxvcmVyXCIpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMC5jcmVhdGVFbGVtZW50KEV4dGVybmFsTGlua0ljb24sIG51bGwpKSkpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Qcm9maWxlRGV0YWlscy9Qcm9maWxlRGV0YWlsc0FjdGlvbi50c3hcbmltcG9ydCBSZWFjdDMxIGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gUHJvZmlsZURldGFpbHNBY3Rpb24oe1xuICBhY3Rpb24sXG4gIGljb24sXG4gIGxhYmVsLFxuICB0ZXN0SWQsXG4gIHVybFxufSkge1xuICBjb25zdCBtb2JpbGUgPSBpc01vYmlsZSgpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0MzEuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAuLi51cmwgPyB7IGFzOiBcImFcIiwgaHJlZjogdXJsLCByZWw6IFwibm9yZWZlcnJlciBub29wZW5lclwiLCB0YXJnZXQ6IFwiX2JsYW5rXCIgfSA6IHsgYXM6IFwiYnV0dG9uXCIsIHR5cGU6IFwiYnV0dG9uXCIgfSxcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICBiYXNlOiBcInByb2ZpbGVBY3Rpb25cIixcbiAgICAgIC4uLiFtb2JpbGUgPyB7IGhvdmVyOiBcInByb2ZpbGVBY3Rpb25Ib3ZlclwiIH0gOiB7fVxuICAgIH0sXG4gICAgYm9yZGVyUmFkaXVzOiBcIm1lbnVCdXR0b25cIixcbiAgICBib3hTaGFkb3c6IFwicHJvZmlsZURldGFpbHNBY3Rpb25cIixcbiAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7XG4gICAgICBhY3RpdmU6IFwic2hyaW5rU21cIixcbiAgICAgIGhvdmVyOiAhbW9iaWxlID8gXCJncm93XCIgOiB2b2lkIDBcbiAgICB9KSxcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBvbkNsaWNrOiBhY3Rpb24sXG4gICAgcGFkZGluZzogbW9iaWxlID8gXCI2XCIgOiBcIjhcIixcbiAgICBzdHlsZTogeyB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiIH0sXG4gICAgdGVzdElkLFxuICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiMVwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHBhZGRpbmdUb3A6IFwiMlwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIGhlaWdodDogXCJtYXhcIlxuICB9LCBpY29uKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzEuY3JlYXRlRWxlbWVudChCb3gsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMxLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIHNpemU6IG1vYmlsZSA/IFwiMTJcIiA6IFwiMTNcIixcbiAgICB3ZWlnaHQ6IFwic2VtaWJvbGRcIlxuICB9LCBsYWJlbCkpKSk7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL1Byb2ZpbGVEZXRhaWxzL1Byb2ZpbGVEZXRhaWxzLnRzeFxuZnVuY3Rpb24gUHJvZmlsZURldGFpbHMoe1xuICBhZGRyZXNzLFxuICBiYWxhbmNlRGF0YSxcbiAgZW5zQXZhdGFyLFxuICBlbnNOYW1lLFxuICBvbkNsb3NlLFxuICBvbkRpc2Nvbm5lY3Rcbn0pIHtcbiAgY29uc3Qgc2hvd1JlY2VudFRyYW5zYWN0aW9ucyA9IHVzZUNvbnRleHQ4KFNob3dSZWNlbnRUcmFuc2FjdGlvbnNDb250ZXh0KTtcbiAgY29uc3QgW2NvcGllZEFkZHJlc3MsIHNldENvcGllZEFkZHJlc3NdID0gdXNlU3RhdGU2KGZhbHNlKTtcbiAgY29uc3QgY29weUFkZHJlc3NBY3Rpb24gPSB1c2VDYWxsYmFjazYoKCkgPT4ge1xuICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhZGRyZXNzKTtcbiAgICAgIHNldENvcGllZEFkZHJlc3ModHJ1ZSk7XG4gICAgfVxuICB9LCBbYWRkcmVzc10pO1xuICB1c2VFZmZlY3QxMSgoKSA9PiB7XG4gICAgaWYgKGNvcGllZEFkZHJlc3MpIHtcbiAgICAgIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldENvcGllZEFkZHJlc3MoZmFsc2UpO1xuICAgICAgfSwgMTUwMCk7XG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICB9XG4gIH0sIFtjb3BpZWRBZGRyZXNzXSk7XG4gIGlmICghYWRkcmVzcykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGFjY291bnROYW1lID0gZW5zTmFtZSA/IGZvcm1hdEVOUyhlbnNOYW1lKSA6IGZvcm1hdEFkZHJlc3MoYWRkcmVzcyk7XG4gIGNvbnN0IGV0aEJhbGFuY2UgPSBiYWxhbmNlRGF0YSA9PSBudWxsID8gdm9pZCAwIDogYmFsYW5jZURhdGEuZm9ybWF0dGVkO1xuICBjb25zdCBkaXNwbGF5QmFsYW5jZSA9IGV0aEJhbGFuY2UgPyBhYmJyZXZpYXRlRVRIQmFsYW5jZShwYXJzZUZsb2F0KGV0aEJhbGFuY2UpKSA6IHZvaWQgMDtcbiAgY29uc3QgdGl0bGVJZCA9IFwicmtfcHJvZmlsZV90aXRsZVwiO1xuICBjb25zdCBtb2JpbGUgPSBpc01vYmlsZSgpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChSZWFjdDMyLkZyYWdtZW50LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBiYWNrZ3JvdW5kOiBcInByb2ZpbGVGb3JlZ3JvdW5kXCIsXG4gICAgcGFkZGluZzogXCIxNlwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogbW9iaWxlID8gXCIxNlwiIDogXCIxMlwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIG1hcmdpbjogXCI4XCIsXG4gICAgc3R5bGU6IHsgdGV4dEFsaWduOiBcImNlbnRlclwiIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBzdHlsZToge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHJpZ2h0OiAxNixcbiAgICAgIHRvcDogMTYsXG4gICAgICB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiXG4gICAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KENsb3NlQnV0dG9uLCB7XG4gICAgb25DbG9zZVxuICB9KSksIFwiIFwiLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIG1hcmdpblRvcDogbW9iaWxlID8gXCIyNFwiIDogXCIwXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChBdmF0YXIsIHtcbiAgICBhZGRyZXNzLFxuICAgIGltYWdlVXJsOiBlbnNBdmF0YXIsXG4gICAgc2l6ZTogbW9iaWxlID8gODIgOiA3NFxuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IG1vYmlsZSA/IFwiNFwiIDogXCIwXCIsXG4gICAgdGV4dEFsaWduOiBcImNlbnRlclwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgdGV4dEFsaWduOiBcImNlbnRlclwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGFzOiBcImgxXCIsXG4gICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgaWQ6IHRpdGxlSWQsXG4gICAgc2l6ZTogbW9iaWxlID8gXCIyMFwiIDogXCIxOFwiLFxuICAgIHdlaWdodDogXCJoZWF2eVwiXG4gIH0sIGFjY291bnROYW1lKSksIGJhbGFuY2VEYXRhICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgdGV4dEFsaWduOiBcImNlbnRlclwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGFzOiBcImgxXCIsXG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgaWQ6IHRpdGxlSWQsXG4gICAgc2l6ZTogbW9iaWxlID8gXCIxNlwiIDogXCIxNFwiLFxuICAgIHdlaWdodDogXCJzZW1pYm9sZFwiXG4gIH0sIGRpc3BsYXlCYWxhbmNlLCBcIiBcIiwgYmFsYW5jZURhdGEuc3ltYm9sKSkpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGdhcDogXCI4XCIsXG4gICAgbWFyZ2luOiBcIjJcIixcbiAgICBtYXJnaW5Ub3A6IFwiMTZcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KFByb2ZpbGVEZXRhaWxzQWN0aW9uLCB7XG4gICAgYWN0aW9uOiBjb3B5QWRkcmVzc0FjdGlvbixcbiAgICBpY29uOiBjb3BpZWRBZGRyZXNzID8gLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChDb3BpZWRJY29uLCBudWxsKSA6IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoQ29weUljb24sIG51bGwpLFxuICAgIGxhYmVsOiBjb3BpZWRBZGRyZXNzID8gXCJDb3BpZWQhXCIgOiBcIkNvcHkgQWRkcmVzc1wiXG4gIH0pLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KFByb2ZpbGVEZXRhaWxzQWN0aW9uLCB7XG4gICAgYWN0aW9uOiBvbkRpc2Nvbm5lY3QsXG4gICAgaWNvbjogLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChEaXNjb25uZWN0SWNvbiwgbnVsbCksXG4gICAgbGFiZWw6IFwiRGlzY29ubmVjdFwiLFxuICAgIHRlc3RJZDogXCJkaXNjb25uZWN0LWJ1dHRvblwiXG4gIH0pKSksIHNob3dSZWNlbnRUcmFuc2FjdGlvbnMgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0MzIuY3JlYXRlRWxlbWVudChSZWFjdDMyLkZyYWdtZW50LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJhY2tncm91bmQ6IFwiZ2VuZXJhbEJvcmRlclwiLFxuICAgIGhlaWdodDogXCIxXCIsXG4gICAgbWFyZ2luVG9wOiBcIi0xXCJcbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMyLmNyZWF0ZUVsZW1lbnQoQm94LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMi5jcmVhdGVFbGVtZW50KFR4TGlzdCwge1xuICAgIGFkZHJlc3NcbiAgfSkpKSkpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9BY2NvdW50TW9kYWwvQWNjb3VudE1vZGFsLnRzeFxuZnVuY3Rpb24gQWNjb3VudE1vZGFsKHsgb25DbG9zZSwgb3BlbiB9KSB7XG4gIGNvbnN0IHsgYWRkcmVzcyB9ID0gdXNlQWNjb3VudDkoKTtcbiAgY29uc3QgeyBkYXRhOiBiYWxhbmNlRGF0YSB9ID0gdXNlQmFsYW5jZSh7IGFkZHJlc3MgfSk7XG4gIGNvbnN0IGVuc05hbWUgPSB1c2VNYWlubmV0RW5zTmFtZShhZGRyZXNzKTtcbiAgY29uc3QgZW5zQXZhdGFyID0gdXNlTWFpbm5ldEVuc0F2YXRhcihlbnNOYW1lKTtcbiAgY29uc3QgeyBkaXNjb25uZWN0IH0gPSB1c2VEaXNjb25uZWN0MigpO1xuICBpZiAoIWFkZHJlc3MpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB0aXRsZUlkID0gXCJya19hY2NvdW50X21vZGFsX3RpdGxlXCI7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QzMy5jcmVhdGVFbGVtZW50KFJlYWN0MzMuRnJhZ21lbnQsIG51bGwsIGFkZHJlc3MgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0MzMuY3JlYXRlRWxlbWVudChEaWFsb2csIHtcbiAgICBvbkNsb3NlLFxuICAgIG9wZW4sXG4gICAgdGl0bGVJZFxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzMy5jcmVhdGVFbGVtZW50KERpYWxvZ0NvbnRlbnQsIHtcbiAgICBib3R0b21TaGVldE9uTW9iaWxlOiB0cnVlLFxuICAgIHBhZGRpbmc6IFwiMFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDMzLmNyZWF0ZUVsZW1lbnQoUHJvZmlsZURldGFpbHMsIHtcbiAgICBhZGRyZXNzLFxuICAgIGJhbGFuY2VEYXRhLFxuICAgIGVuc0F2YXRhcixcbiAgICBlbnNOYW1lLFxuICAgIG9uQ2xvc2UsXG4gICAgb25EaXNjb25uZWN0OiBkaXNjb25uZWN0XG4gIH0pKSkpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9DaGFpbk1vZGFsL0NoYWluTW9kYWwudHN4XG5pbXBvcnQgUmVhY3QzNiwgeyBGcmFnbWVudCwgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0OSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlRGlzY29ubmVjdCBhcyB1c2VEaXNjb25uZWN0MywgdXNlTmV0d29yayBhcyB1c2VOZXR3b3JrNSwgdXNlU3dpdGNoTmV0d29yayB9IGZyb20gXCJ3YWdtaVwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9JY29ucy9EaXNjb25uZWN0U3EudHN4XG5pbXBvcnQgUmVhY3QzNCBmcm9tIFwicmVhY3RcIjtcbnZhciBEaXNjb25uZWN0U3FJY29uID0gKHsgc2l6ZSB9KSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3QzNC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIHtcbiAgZmlsbDogXCJub25lXCIsXG4gIGhlaWdodDogc2l6ZSxcbiAgdmlld0JveDogXCIwIDAgMjggMjhcIixcbiAgd2lkdGg6IHNpemUsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbn0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgZDogXCJNNi43NDIgMjIuMTk1aDguMzY3YzEuNzc0IDAgMi43NDMtLjk2OCAyLjc0My0yLjc1OFYxNi4xMWgtMi4wMTZ2My4xMWMwIC42MjUtLjMwNS45Ni0uOTY5Ljk2SDYuOTg0Yy0uNjY0IDAtLjk2OC0uMzM1LS45NjgtLjk2VjcuOTg0YzAtLjYzMi4zMDQtLjk2OC45NjgtLjk2OGg3Ljg4M2MuNjY0IDAgLjk2OS4zMzYuOTY5Ljk2OHYzLjEzM2gyLjAxNnYtMy4zNmMwLTEuNzgtLjk3LTIuNzU3LTIuNzQzLTIuNzU3SDYuNzQyQzQuOTcgNSA0IDUuOTc3IDQgNy43NTh2MTEuNjhjMCAxLjc4OS45NjkgMi43NTcgMi43NDIgMi43NTdabTUuNDM4LTcuNzAzaDcuNjAxbDEuMTQ5LS4wNy0uNjAyLjQwNi0xLjAwOC45MzhhLjgxNi44MTYgMCAwIDAtLjI1OC41OTNjMCAuNDA3LjMxMy43ODIuNzU4Ljc4Mi4yMjcgMCAuMzktLjA4Ni41NDctLjI0M2wyLjQ5Mi0yLjU5M2MuMjM1LS4yMzUuMzEzLS40Ny4zMTMtLjcxMSAwLS4yNDItLjA3OC0uNDc3LS4zMTMtLjcxOWwtMi40OTItMi41ODZjLS4xNTYtLjE1Ni0uMzItLjI1LS41NDctLjI1LS40NDUgMC0uNzU4LjM2Ny0uNzU4Ljc4MSAwIC4yMjcuMDk0LjQ0Ni4yNTguNTk0bDEuMDA4Ljk0NS42MDIuNDA3LTEuMTQ5LS4wNzlIMTIuMThhLjkwNC45MDQgMCAwIDAgMCAxLjgwNVpcIixcbiAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxufSkpO1xuXG4vLyBzcmMvY29tcG9uZW50cy9NZW51QnV0dG9uL01lbnVCdXR0b24udHN4XG5pbXBvcnQgUmVhY3QzNSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvTWVudUJ1dHRvbi9NZW51QnV0dG9uLmNzcy50c1xudmFyIHVuc2V0QmFja2dyb3VuZE9uSG92ZXIgPSBcInY5aG9yYjBcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvTWVudUJ1dHRvbi9NZW51QnV0dG9uLnRzeFxudmFyIE1lbnVCdXR0b24gPSBSZWFjdDM1LmZvcndhcmRSZWYoKHtcbiAgY2hpbGRyZW4sXG4gIGN1cnJlbnRseVNlbGVjdGVkID0gZmFsc2UsXG4gIG9uQ2xpY2ssXG4gIHRlc3RJZCxcbiAgLi4udXJsUHJvcHNcbn0sIHJlZikgPT4ge1xuICBjb25zdCBtb2JpbGUgPSBpc01vYmlsZSgpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0MzUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhczogXCJidXR0b25cIixcbiAgICBib3JkZXJSYWRpdXM6IFwibWVudUJ1dHRvblwiLFxuICAgIGRpc2FibGVkOiBjdXJyZW50bHlTZWxlY3RlZCxcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBvbkNsaWNrLFxuICAgIHJlZixcbiAgICB0ZXN0SWQsXG4gICAgdHlwZTogXCJidXR0b25cIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJvcmRlclJhZGl1czogXCJtZW51QnV0dG9uXCIsXG4gICAgY2xhc3NOYW1lOiBbXG4gICAgICBtb2JpbGUgPyB1bnNldEJhY2tncm91bmRPbkhvdmVyIDogdm9pZCAwLFxuICAgICAgIWN1cnJlbnRseVNlbGVjdGVkICYmIHRvdWNoYWJsZVN0eWxlcyh7IGFjdGl2ZTogXCJzaHJpbmtcIiB9KVxuICAgIF0sXG4gICAgcGFkZGluZzogbW9iaWxlID8gXCI4XCIgOiBcIjZcIixcbiAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIixcbiAgICB3aWR0aDogXCJmdWxsXCIsXG4gICAgLi4uY3VycmVudGx5U2VsZWN0ZWQgPyB7XG4gICAgICBiYWNrZ3JvdW5kOiBcImFjY2VudENvbG9yXCIsXG4gICAgICBib3JkZXJDb2xvcjogXCJzZWxlY3RlZE9wdGlvbkJvcmRlclwiLFxuICAgICAgYm9yZGVyU3R5bGU6IFwic29saWRcIixcbiAgICAgIGJvcmRlcldpZHRoOiBcIjFcIixcbiAgICAgIGJveFNoYWRvdzogXCJzZWxlY3RlZE9wdGlvblwiLFxuICAgICAgY29sb3I6IFwiYWNjZW50Q29sb3JGb3JlZ3JvdW5kXCJcbiAgICB9IDoge1xuICAgICAgYmFja2dyb3VuZDogeyBob3ZlcjogXCJtZW51SXRlbUJhY2tncm91bmRcIiB9LFxuICAgICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIlxuICAgIH0sXG4gICAgLi4udXJsUHJvcHNcbiAgfSwgY2hpbGRyZW4pKTtcbn0pO1xuTWVudUJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiTWVudUJ1dHRvblwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9DaGFpbk1vZGFsL0NoYWluTW9kYWwudHN4XG5mdW5jdGlvbiBDaGFpbk1vZGFsKHsgb25DbG9zZSwgb3BlbiB9KSB7XG4gIHZhciBfYTtcbiAgY29uc3QgeyBjaGFpbjogYWN0aXZlQ2hhaW4gfSA9IHVzZU5ldHdvcms1KCk7XG4gIGNvbnN0IHsgY2hhaW5zLCBwZW5kaW5nQ2hhaW5JZCwgcmVzZXQsIHN3aXRjaE5ldHdvcmsgfSA9IHVzZVN3aXRjaE5ldHdvcmsoe1xuICAgIG9uU2V0dGxlZDogKCkgPT4ge1xuICAgICAgcmVzZXQoKTtcbiAgICAgIG9uQ2xvc2UoKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCB7IGRpc2Nvbm5lY3QgfSA9IHVzZURpc2Nvbm5lY3QzKCk7XG4gIGNvbnN0IHRpdGxlSWQgPSBcInJrX2NoYWluX21vZGFsX3RpdGxlXCI7XG4gIGNvbnN0IG1vYmlsZSA9IGlzTW9iaWxlKCk7XG4gIGNvbnN0IHVuc3VwcG9ydGVkQ2hhaW4gPSAoX2EgPSBhY3RpdmVDaGFpbiA9PSBudWxsID8gdm9pZCAwIDogYWN0aXZlQ2hhaW4udW5zdXBwb3J0ZWQpICE9IG51bGwgPyBfYSA6IGZhbHNlO1xuICBjb25zdCBjaGFpbkljb25TaXplID0gbW9iaWxlID8gXCIzNlwiIDogXCIyOFwiO1xuICBjb25zdCB7IGFwcE5hbWUgfSA9IHVzZUNvbnRleHQ5KEFwcENvbnRleHQpO1xuICBjb25zdCByYWluYm93a2l0Q2hhaW5zID0gdXNlUmFpbmJvd0tpdENoYWlucygpO1xuICBpZiAoIWFjdGl2ZUNoYWluIHx8ICEoYWN0aXZlQ2hhaW4gPT0gbnVsbCA/IHZvaWQgMCA6IGFjdGl2ZUNoYWluLmlkKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KERpYWxvZywge1xuICAgIG9uQ2xvc2UsXG4gICAgb3BlbixcbiAgICB0aXRsZUlkXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoRGlhbG9nQ29udGVudCwge1xuICAgIGJvdHRvbVNoZWV0T25Nb2JpbGU6IHRydWVcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCIxNFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCJcbiAgfSwgbW9iaWxlICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgd2lkdGg6IFwiMzBcIlxuICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBwYWRkaW5nQm90dG9tOiBcIjBcIixcbiAgICBwYWRkaW5nTGVmdDogXCI4XCIsXG4gICAgcGFkZGluZ1RvcDogXCI0XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgYXM6IFwiaDFcIixcbiAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICBpZDogdGl0bGVJZCxcbiAgICBzaXplOiBtb2JpbGUgPyBcIjIwXCIgOiBcIjE4XCIsXG4gICAgd2VpZ2h0OiBcImhlYXZ5XCJcbiAgfSwgXCJTd2l0Y2ggTmV0d29ya3NcIikpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KENsb3NlQnV0dG9uLCB7XG4gICAgb25DbG9zZVxuICB9KSksIHVuc3VwcG9ydGVkQ2hhaW4gJiYgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBtYXJnaW5YOiBcIjhcIixcbiAgICB0ZXh0QWxpZ246IG1vYmlsZSA/IFwiY2VudGVyXCIgOiBcImxlZnRcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIixcbiAgICBzaXplOiBcIjE0XCIsXG4gICAgd2VpZ2h0OiBcIm1lZGl1bVwiXG4gIH0sIFwiV3JvbmcgbmV0d29yayBkZXRlY3RlZCwgc3dpdGNoIG9yIGRpc2Nvbm5lY3QgdG8gY29udGludWUuXCIpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCI0XCIsXG4gICAgcGFkZGluZzogXCIyXCJcbiAgfSwgc3dpdGNoTmV0d29yayA/IHJhaW5ib3draXRDaGFpbnMubWFwKCh7IGljb25CYWNrZ3JvdW5kLCBpY29uVXJsLCBpZCwgbmFtZSB9LCBpZHgpID0+IHtcbiAgICBjb25zdCBjaGFpbiA9IGNoYWlucy5maW5kKChjKSA9PiBjLmlkID09PSBpZCk7XG4gICAgaWYgKCFjaGFpbilcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGlzQ3VycmVudENoYWluID0gY2hhaW4uaWQgPT09IChhY3RpdmVDaGFpbiA9PSBudWxsID8gdm9pZCAwIDogYWN0aXZlQ2hhaW4uaWQpO1xuICAgIGNvbnN0IHN3aXRjaGluZyA9ICFpc0N1cnJlbnRDaGFpbiAmJiBjaGFpbi5pZCA9PT0gcGVuZGluZ0NoYWluSWQ7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIHtcbiAgICAgIGtleTogY2hhaW4uaWRcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KE1lbnVCdXR0b24sIHtcbiAgICAgIGN1cnJlbnRseVNlbGVjdGVkOiBpc0N1cnJlbnRDaGFpbixcbiAgICAgIG9uQ2xpY2s6IGlzQ3VycmVudENoYWluID8gdm9pZCAwIDogKCkgPT4gc3dpdGNoTmV0d29yayhjaGFpbi5pZCksXG4gICAgICB0ZXN0SWQ6IGBjaGFpbi1vcHRpb24tJHtjaGFpbi5pZH1gXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGZvbnRGYW1pbHk6IFwiYm9keVwiLFxuICAgICAgZm9udFNpemU6IFwiMTZcIixcbiAgICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCJcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgIGdhcDogXCI0XCIsXG4gICAgICBoZWlnaHQ6IGNoYWluSWNvblNpemVcbiAgICB9LCBpY29uVXJsICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgICAgbWFyZ2luUmlnaHQ6IFwiOFwiXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChBc3luY0ltYWdlLCB7XG4gICAgICBhbHQ6IG5hbWUgIT0gbnVsbCA/IG5hbWUgOiBjaGFpbi5uYW1lLFxuICAgICAgYmFja2dyb3VuZDogaWNvbkJhY2tncm91bmQsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgICAgaGVpZ2h0OiBjaGFpbkljb25TaXplLFxuICAgICAgc3JjOiBpY29uVXJsLFxuICAgICAgd2lkdGg6IGNoYWluSWNvblNpemVcbiAgICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgbmFtZSAhPSBudWxsID8gbmFtZSA6IGNoYWluLm5hbWUpKSwgaXNDdXJyZW50Q2hhaW4gJiYgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBtYXJnaW5SaWdodDogXCI2XCJcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICAgIGNvbG9yOiBcImFjY2VudENvbG9yRm9yZWdyb3VuZFwiLFxuICAgICAgc2l6ZTogXCIxNFwiLFxuICAgICAgd2VpZ2h0OiBcIm1lZGl1bVwiXG4gICAgfSwgXCJDb25uZWN0ZWRcIiksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBiYWNrZ3JvdW5kOiBcImNvbm5lY3Rpb25JbmRpY2F0b3JcIixcbiAgICAgIGJvcmRlckNvbG9yOiBcInNlbGVjdGVkT3B0aW9uQm9yZGVyXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgICAgYm9yZGVyU3R5bGU6IFwic29saWRcIixcbiAgICAgIGJvcmRlcldpZHRoOiBcIjFcIixcbiAgICAgIGhlaWdodDogXCI4XCIsXG4gICAgICBtYXJnaW5MZWZ0OiBcIjhcIixcbiAgICAgIHdpZHRoOiBcIjhcIlxuICAgIH0pKSwgc3dpdGNoaW5nICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgbWFyZ2luUmlnaHQ6IFwiNlwiXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICAgIHNpemU6IFwiMTRcIixcbiAgICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICAgIH0sIFwiQ29uZmlybSBpbiBXYWxsZXRcIiksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBiYWNrZ3JvdW5kOiBcInN0YW5kYnlcIixcbiAgICAgIGJvcmRlclJhZGl1czogXCJmdWxsXCIsXG4gICAgICBoZWlnaHQ6IFwiOFwiLFxuICAgICAgbWFyZ2luTGVmdDogXCI4XCIsXG4gICAgICB3aWR0aDogXCI4XCJcbiAgICB9KSkpKSksIG1vYmlsZSAmJiBpZHggPCByYWluYm93a2l0Q2hhaW5zLmxlbmd0aCAtIDEgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGJhY2tncm91bmQ6IFwiZ2VuZXJhbEJvcmRlckRpbVwiLFxuICAgICAgaGVpZ2h0OiBcIjFcIixcbiAgICAgIG1hcmdpblg6IFwiOFwiXG4gICAgfSkpO1xuICB9KSA6IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYmFja2dyb3VuZDogXCJnZW5lcmFsQm9yZGVyXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIm1lbnVCdXR0b25cIixcbiAgICBwYWRkaW5nWDogXCIxOFwiLFxuICAgIHBhZGRpbmdZOiBcIjEyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBcIllvdXIgd2FsbGV0IGRvZXMgbm90IHN1cHBvcnQgc3dpdGNoaW5nIG5ldHdvcmtzIGZyb21cIiwgXCIgXCIsIGFwcE5hbWUgIT0gbnVsbCA/IGFwcE5hbWUgOiBcInRoaXMgYXBwXCIsIFwiLiBUcnkgc3dpdGNoaW5nIG5ldHdvcmtzIGZyb20gd2l0aGluIHlvdXIgd2FsbGV0IGluc3RlYWQuXCIpKSwgdW5zdXBwb3J0ZWRDaGFpbiAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KFJlYWN0MzYuRnJhZ21lbnQsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYmFja2dyb3VuZDogXCJnZW5lcmFsQm9yZGVyRGltXCIsXG4gICAgaGVpZ2h0OiBcIjFcIixcbiAgICBtYXJnaW5YOiBcIjhcIlxuICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzYuY3JlYXRlRWxlbWVudChNZW51QnV0dG9uLCB7XG4gICAgb25DbGljazogKCkgPT4gZGlzY29ubmVjdCgpLFxuICAgIHRlc3RJZDogXCJjaGFpbi1vcHRpb24tZGlzY29ubmVjdFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgY29sb3I6IFwiZXJyb3JcIixcbiAgICBmb250RmFtaWx5OiBcImJvZHlcIixcbiAgICBmb250U2l6ZTogXCIxNlwiLFxuICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBnYXA6IFwiNFwiLFxuICAgIGhlaWdodDogY2hhaW5JY29uU2l6ZVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzNi5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgY29sb3I6IFwiZXJyb3JcIixcbiAgICBoZWlnaHQ6IGNoYWluSWNvblNpemUsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgbWFyZ2luUmlnaHQ6IFwiOFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoRGlzY29ubmVjdFNxSWNvbiwge1xuICAgIHNpemU6IE51bWJlcihjaGFpbkljb25TaXplKVxuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM2LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgXCJEaXNjb25uZWN0XCIpKSkpKSkpKSkpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0TW9kYWwvQ29ubmVjdE1vZGFsLnRzeFxuaW1wb3J0IFJlYWN0NTIgZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL0Nvbm5lY3RPcHRpb25zLnRzeFxuaW1wb3J0IFJlYWN0NTEgZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL0Rlc2t0b3BPcHRpb25zLnRzeFxuaW1wb3J0IFJlYWN0NDksIHsgRnJhZ21lbnQgYXMgRnJhZ21lbnQyLCB1c2VDb250ZXh0IGFzIHVzZUNvbnRleHQxMywgdXNlRWZmZWN0IGFzIHVzZUVmZmVjdDE0LCB1c2VTdGF0ZSBhcyB1c2VTdGF0ZTggfSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL3V0aWxzL2dyb3VwQnkudHNcbmZ1bmN0aW9uIGdyb3VwQnkoaXRlbXMsIGdldEtleSkge1xuICBjb25zdCBncm91cGVkSXRlbXMgPSB7fTtcbiAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIGNvbnN0IGtleSA9IGdldEtleShpdGVtKTtcbiAgICBpZiAoIWtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWdyb3VwZWRJdGVtc1trZXldKSB7XG4gICAgICBncm91cGVkSXRlbXNba2V5XSA9IFtdO1xuICAgIH1cbiAgICBncm91cGVkSXRlbXNba2V5XS5wdXNoKGl0ZW0pO1xuICB9KTtcbiAgcmV0dXJuIGdyb3VwZWRJdGVtcztcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvQ29ubmVjdE1vZGFsL0Nvbm5lY3RNb2RhbEludHJvLnRzeFxuaW1wb3J0IFJlYWN0MzksIHsgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0MTAgfSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvRGlzY2xhaW1lci9EaXNjbGFpbWVyTGluay50c3hcbmltcG9ydCBSZWFjdDM3IGZyb20gXCJyZWFjdFwiO1xudmFyIERpc2NsYWltZXJMaW5rID0gKHtcbiAgY2hpbGRyZW4sXG4gIGhyZWZcbn0pID0+IHtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM3LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYXM6IFwiYVwiLFxuICAgIGNvbG9yOiBcImFjY2VudENvbG9yXCIsXG4gICAgaHJlZixcbiAgICByZWw6IFwibm9yZWZlcnJlclwiLFxuICAgIHRhcmdldDogXCJfYmxhbmtcIlxuICB9LCBjaGlsZHJlbik7XG59O1xuXG4vLyBzcmMvY29tcG9uZW50cy9EaXNjbGFpbWVyL0Rpc2NsYWltZXJUZXh0LnRzeFxuaW1wb3J0IFJlYWN0MzggZnJvbSBcInJlYWN0XCI7XG52YXIgRGlzY2xhaW1lclRleHQgPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QzOC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIixcbiAgICBzaXplOiBcIjEyXCIsXG4gICAgd2VpZ2h0OiBcIm1lZGl1bVwiXG4gIH0sIGNoaWxkcmVuKTtcbn07XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RNb2RhbC9Db25uZWN0TW9kYWxJbnRyby50c3hcbmZ1bmN0aW9uIENvbm5lY3RNb2RhbEludHJvKHtcbiAgY29tcGFjdE1vZGVFbmFibGVkID0gZmFsc2UsXG4gIGdldFdhbGxldFxufSkge1xuICBjb25zdCB7IGRpc2NsYWltZXI6IERpc2NsYWltZXIsIGxlYXJuTW9yZVVybCB9ID0gdXNlQ29udGV4dDEwKEFwcENvbnRleHQpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChSZWFjdDM5LkZyYWdtZW50LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzOS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgY29sb3I6IFwiYWNjZW50Q29sb3JcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGhlaWdodDogXCJmdWxsXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYXJvdW5kXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBtYXJnaW5Cb3R0b206IFwiMTBcIlxuICB9LCAhY29tcGFjdE1vZGVFbmFibGVkICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIHNpemU6IFwiMThcIixcbiAgICB3ZWlnaHQ6IFwiaGVhdnlcIlxuICB9LCBcIldoYXQgaXMgYSBXYWxsZXQ/XCIpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCIzMlwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIG1hcmdpblk6IFwiMjBcIixcbiAgICBzdHlsZTogeyBtYXhXaWR0aDogMzEyIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgZ2FwOiBcIjE2XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBib3JkZXJSYWRpdXM6IFwiNlwiLFxuICAgIGhlaWdodDogXCI0OFwiLFxuICAgIG1pbldpZHRoOiBcIjQ4XCIsXG4gICAgd2lkdGg6IFwiNDhcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzOS5jcmVhdGVFbGVtZW50KEFzc2V0c0ljb24sIG51bGwpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCI0XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJib2xkXCJcbiAgfSwgXCJBIEhvbWUgZm9yIHlvdXIgRGlnaXRhbCBBc3NldHNcIiksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgIHNpemU6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwibWVkaXVtXCJcbiAgfSwgXCJXYWxsZXRzIGFyZSB1c2VkIHRvIHNlbmQsIHJlY2VpdmUsIHN0b3JlLCBhbmQgZGlzcGxheSBkaWdpdGFsIGFzc2V0cyBsaWtlIEV0aGVyZXVtIGFuZCBORlRzLlwiKSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3QzOS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBnYXA6IFwiMTZcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3QzOS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJvcmRlclJhZGl1czogXCI2XCIsXG4gICAgaGVpZ2h0OiBcIjQ4XCIsXG4gICAgbWluV2lkdGg6IFwiNDhcIixcbiAgICB3aWR0aDogXCI0OFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoTG9naW5JY29uLCBudWxsKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiNFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIHNpemU6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIFwiQSBOZXcgV2F5IHRvIExvZyBJblwiKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBcIkluc3RlYWQgb2YgY3JlYXRpbmcgbmV3IGFjY291bnRzIGFuZCBwYXNzd29yZHMgb24gZXZlcnkgd2Vic2l0ZSwganVzdCBjb25uZWN0IHlvdXIgd2FsbGV0LlwiKSkpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjEyXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgbWFyZ2luOiBcIjEwXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChBY3Rpb25CdXR0b24sIHtcbiAgICBsYWJlbDogXCJHZXQgYSBXYWxsZXRcIixcbiAgICBvbkNsaWNrOiBnZXRXYWxsZXRcbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYXM6IFwiYVwiLFxuICAgIGNsYXNzTmFtZTogdG91Y2hhYmxlU3R5bGVzKHsgYWN0aXZlOiBcInNocmlua1wiLCBob3ZlcjogXCJncm93XCIgfSksXG4gICAgZGlzcGxheTogXCJibG9ja1wiLFxuICAgIGhyZWY6IGxlYXJuTW9yZVVybCxcbiAgICBwYWRkaW5nWDogXCIxMlwiLFxuICAgIHBhZGRpbmdZOiBcIjRcIixcbiAgICByZWw6IFwibm9yZWZlcnJlclwiLFxuICAgIHN0eWxlOiB7IHdpbGxDaGFuZ2U6IFwidHJhbnNmb3JtXCIgfSxcbiAgICB0YXJnZXQ6IFwiX2JsYW5rXCIsXG4gICAgdHJhbnNpdGlvbjogXCJkZWZhdWx0XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwiYWNjZW50Q29sb3JcIixcbiAgICBzaXplOiBcIjE0XCIsXG4gICAgd2VpZ2h0OiBcImJvbGRcIlxuICB9LCBcIkxlYXJuIE1vcmVcIikpKSwgRGlzY2xhaW1lciAmJiAhY29tcGFjdE1vZGVFbmFibGVkICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDM5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgbWFyZ2luQm90dG9tOiBcIjhcIixcbiAgICBtYXJnaW5Ub3A6IFwiMTJcIixcbiAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0MzkuY3JlYXRlRWxlbWVudChEaXNjbGFpbWVyLCB7XG4gICAgTGluazogRGlzY2xhaW1lckxpbmssXG4gICAgVGV4dDogRGlzY2xhaW1lclRleHRcbiAgfSkpKSk7XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0JhY2sudHN4XG5pbXBvcnQgUmVhY3Q0MCBmcm9tIFwicmVhY3RcIjtcbnZhciBCYWNrSWNvbiA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQwLmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xuICBmaWxsOiBcIm5vbmVcIixcbiAgaGVpZ2h0OiBcIjE3XCIsXG4gIHZpZXdCb3g6IFwiMCAwIDExIDE3XCIsXG4gIHdpZHRoOiBcIjExXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbn0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQwLmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgZDogXCJNMC45OTcwNyA4LjY1NDNDMC45OTcwNyA5LjA4NDk2IDEuMTU1MjcgOS40NDUzMSAxLjUxNTYyIDkuNzk2ODhMOC4xNjAxNiAxNi4zMDk2QzguNDMyNjIgMTYuNTczMiA4Ljc0OTAyIDE2LjcwNTEgOS4xMzU3NCAxNi43MDUxQzkuOTA5MTggMTYuNzA1MSAxMC41NTA4IDE2LjA4MTEgMTAuNTUwOCAxNS4zMDc2QzEwLjU1MDggMTQuOTEyMSAxMC4zODM4IDE0LjU2MDUgMTAuMDkzOCAxNC4yNzA1TDQuMzAxNzYgOC42NDU1MUwxMC4wOTM4IDMuMDI5M0MxMC4zODM4IDIuNzQ4MDUgMTAuNTUwOCAyLjM4NzcgMTAuNTUwOCAyLjAwMDk4QzEwLjU1MDggMS4yMzYzMyA5LjkwOTE4IDAuNjAzNTE2IDkuMTM1NzQgMC42MDM1MTZDOC43NDkwMiAwLjYwMzUxNiA4LjQzMjYyIDAuNzM1MzUyIDguMTYwMTYgMC45OTkwMjNMMS41MTU2MiA3LjUxMTcyQzEuMTU1MjcgNy44NTQ0OSAxLjAwNTg2IDguMjE0ODQgMC45OTcwNyA4LjY1NDNaXCIsXG4gIGZpbGw6IFwiY3VycmVudENvbG9yXCJcbn0pKTtcblxuLy8gc3JjL2NvbXBvbmVudHMvSW5mb0J1dHRvbi9JbmZvQnV0dG9uLnRzeFxuaW1wb3J0IFJlYWN0NDIgZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL0luZm8udHN4XG5pbXBvcnQgUmVhY3Q0MSBmcm9tIFwicmVhY3RcIjtcbnZhciBJbmZvSWNvbiA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQxLmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xuICBmaWxsOiBcIm5vbmVcIixcbiAgaGVpZ2h0OiBcIjEyXCIsXG4gIHZpZXdCb3g6IFwiMCAwIDggMTJcIixcbiAgd2lkdGg6IFwiOFwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG59LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0MS5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XG4gIGQ6IFwiTTMuNjQyNTggNy45OTYwOUM0LjE5MzM2IDcuOTk2MDkgNC41NjI1IDcuNzM4MjggNC42ODU1NSA3LjI0NjA5QzQuNjkxNDEgNy4yMTA5NCA0LjcwMzEyIDcuMTY0MDYgNC43MDg5OCA3LjEzNDc3QzQuODA4NTkgNi42MDc0MiA1LjA1NDY5IDYuMzU1NDcgNi4wNDQ5MiA1Ljc2MzY3QzcuMTQ2NDggNS4xMDE1NiA3LjY3OTY5IDQuMzQ1NyA3LjY3OTY5IDMuMjQ0MTRDNy42Nzk2OSAxLjM5ODQ0IDYuMTczODMgMC4yNTU4NTkgMy45NTg5OCAwLjI1NTg1OUMyLjMyNDIyIDAuMjU1ODU5IDEuMDU4NTkgMC44OTQ1MzEgMC41NDg4MjggMS44NjcxOUMwLjM5NjQ4NCAyLjE0ODQ0IDAuMzIwMzEyIDIuNDQ3MjcgMC4zMjAzMTIgMi43NDAyM0MwLjMxNDQ1MyAzLjM3MzA1IDAuNzQyMTg4IDMuNzk0OTIgMS40MjE4OCAzLjc5NDkyQzEuOTE0MDYgMy43OTQ5MiAyLjMzNTk0IDMuNTQ4ODMgMi41MzUxNiAzLjExNTIzQzIuNzg3MTEgMi40NzY1NiAzLjIzMjQyIDIuMjEyODkgMy44MzU5NCAyLjIxMjg5QzQuNTU2NjQgMi4yMTI4OSA1LjEwNzQyIDIuNjUyMzQgNS4xMDc0MiAzLjI5MTAyQzUuMTA3NDIgMy45NzA3IDQuNzc5MyA0LjI5ODgzIDMuODE4MzYgNC44Nzg5MUMzLjAyMTQ4IDUuMzY1MjMgMi41MDU4NiA1LjkyNzczIDIuNTA1ODYgNi43NjU2MlY2LjkwMDM5QzIuNTA1ODYgNy41NTY2NCAyLjk2Mjg5IDcuOTk2MDkgMy42NDI1OCA3Ljk5NjA5Wk0zLjY3MTg4IDExLjQ0NzNDNC40Mjc3MyAxMS40NDczIDUuMDQyOTcgMTAuODY3MiA1LjA0Mjk3IDEwLjE0MDZDNS4wNDI5NyA5LjQxNDA2IDQuNDI3NzMgOC44Mzk4NCAzLjY3MTg4IDguODM5ODRDMi45MTYwMiA4LjgzOTg0IDIuMzA2NjQgOS40MTQwNiAyLjMwNjY0IDEwLjE0MDZDMi4zMDY2NCAxMC44NjcyIDIuOTE2MDIgMTEuNDQ3MyAzLjY3MTg4IDExLjQ0NzNaXCIsXG4gIGZpbGw6IFwiY3VycmVudENvbG9yXCJcbn0pKTtcblxuLy8gc3JjL2NvbXBvbmVudHMvSW5mb0J1dHRvbi9JbmZvQnV0dG9uLnRzeFxudmFyIEluZm9CdXR0b24gPSAoe1xuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsID0gXCJJbmZvXCIsXG4gIG9uQ2xpY2tcbn0pID0+IHtcbiAgY29uc3QgbW9iaWxlID0gaXNNb2JpbGUoKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQyLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIGFzOiBcImJ1dHRvblwiLFxuICAgIGJhY2tncm91bmQ6IFwiY2xvc2VCdXR0b25CYWNrZ3JvdW5kXCIsXG4gICAgYm9yZGVyQ29sb3I6IFwiYWN0aW9uQnV0dG9uQm9yZGVyXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcImZ1bGxcIixcbiAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgIGJvcmRlcldpZHRoOiBtb2JpbGUgPyBcIjBcIiA6IFwiMVwiLFxuICAgIGNsYXNzTmFtZTogdG91Y2hhYmxlU3R5bGVzKHsgYWN0aXZlOiBcInNocmlua1NtXCIsIGhvdmVyOiBcImdyb3dMZ1wiIH0pLFxuICAgIGNvbG9yOiBcImNsb3NlQnV0dG9uXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgaGVpZ2h0OiBtb2JpbGUgPyBcIjMwXCIgOiBcIjI4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgb25DbGljayxcbiAgICBzdHlsZTogeyB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiIH0sXG4gICAgdHJhbnNpdGlvbjogXCJkZWZhdWx0XCIsXG4gICAgdHlwZTogXCJidXR0b25cIixcbiAgICB3aWR0aDogbW9iaWxlID8gXCIzMFwiIDogXCIyOFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQyLmNyZWF0ZUVsZW1lbnQoSW5mb0ljb24sIG51bGwpKTtcbn07XG5cbi8vIHNyYy9jb21wb25lbnRzL01vZGFsU2VsZWN0aW9uL01vZGFsU2VsZWN0aW9uLnRzeFxuaW1wb3J0IFJlYWN0NDMsIHsgdXNlU3RhdGUgYXMgdXNlU3RhdGU3IH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL1JhaW5ib3dLaXRQcm92aWRlci91c2VDb29sTW9kZS50c1xuaW1wb3J0IHsgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0MTEsIHVzZUVmZmVjdCBhcyB1c2VFZmZlY3QxMiwgdXNlUmVmIGFzIHVzZVJlZjQgfSBmcm9tIFwicmVhY3RcIjtcbnZhciB1c2VDb29sTW9kZSA9IChpbWFnZVVybCkgPT4ge1xuICBjb25zdCByZWYgPSB1c2VSZWY0KG51bGwpO1xuICBjb25zdCBjb29sTW9kZUVuYWJsZWQgPSB1c2VDb250ZXh0MTEoQ29vbE1vZGVDb250ZXh0KTtcbiAgY29uc3QgcmVzb2x2ZWRJbWFnZVVybCA9IHVzZUFzeW5jSW1hZ2UoaW1hZ2VVcmwpO1xuICB1c2VFZmZlY3QxMigoKSA9PiB7XG4gICAgaWYgKGNvb2xNb2RlRW5hYmxlZCAmJiByZWYuY3VycmVudCAmJiByZXNvbHZlZEltYWdlVXJsKSB7XG4gICAgICByZXR1cm4gbWFrZUVsZW1lbnRDb29sKHJlZi5jdXJyZW50LCByZXNvbHZlZEltYWdlVXJsKTtcbiAgICB9XG4gIH0sIFtjb29sTW9kZUVuYWJsZWQsIHJlc29sdmVkSW1hZ2VVcmxdKTtcbiAgcmV0dXJuIHJlZjtcbn07XG52YXIgZ2V0Q29udGFpbmVyID0gKCkgPT4ge1xuICBjb25zdCBpZCA9IFwiX3JrX2Nvb2xNb2RlXCI7XG4gIGNvbnN0IGV4aXN0aW5nQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICBpZiAoZXhpc3RpbmdDb250YWluZXIpIHtcbiAgICByZXR1cm4gZXhpc3RpbmdDb250YWluZXI7XG4gIH1cbiAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShcImlkXCIsIGlkKTtcbiAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFtcbiAgICBcIm92ZXJmbG93OmhpZGRlblwiLFxuICAgIFwicG9zaXRpb246Zml4ZWRcIixcbiAgICBcImhlaWdodDoxMDAlXCIsXG4gICAgXCJ0b3A6MFwiLFxuICAgIFwibGVmdDowXCIsXG4gICAgXCJyaWdodDowXCIsXG4gICAgXCJib3R0b206MFwiLFxuICAgIFwicG9pbnRlci1ldmVudHM6bm9uZVwiLFxuICAgIFwiei1pbmRleDoyMTQ3NDgzNjQ3XCJcbiAgXS5qb2luKFwiO1wiKSk7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgcmV0dXJuIGNvbnRhaW5lcjtcbn07XG52YXIgaW5zdGFuY2VDb3VudGVyID0gMDtcbmZ1bmN0aW9uIG1ha2VFbGVtZW50Q29vbChlbGVtZW50MiwgaW1hZ2VVcmwpIHtcbiAgaW5zdGFuY2VDb3VudGVyKys7XG4gIGNvbnN0IHNpemVzID0gWzE1LCAyMCwgMjUsIDM1LCA0NV07XG4gIGNvbnN0IGxpbWl0ID0gMzU7XG4gIGxldCBwYXJ0aWNsZXMgPSBbXTtcbiAgbGV0IGF1dG9BZGRQYXJ0aWNsZSA9IGZhbHNlO1xuICBsZXQgbW91c2VYID0gMDtcbiAgbGV0IG1vdXNlWSA9IDA7XG4gIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpO1xuICBmdW5jdGlvbiBjcmVhdGVQYXJ0aWNsZSgpIHtcbiAgICBjb25zdCBzaXplID0gc2l6ZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogc2l6ZXMubGVuZ3RoKV07XG4gICAgY29uc3Qgc3BlZWRIb3J6ID0gTWF0aC5yYW5kb20oKSAqIDEwO1xuICAgIGNvbnN0IHNwZWVkVXAgPSBNYXRoLnJhbmRvbSgpICogMjU7XG4gICAgY29uc3Qgc3BpblZhbCA9IE1hdGgucmFuZG9tKCkgKiAzNjA7XG4gICAgY29uc3Qgc3BpblNwZWVkID0gTWF0aC5yYW5kb20oKSAqIDM1ICogKE1hdGgucmFuZG9tKCkgPD0gMC41ID8gLTEgOiAxKTtcbiAgICBjb25zdCB0b3AgPSBtb3VzZVkgLSBzaXplIC8gMjtcbiAgICBjb25zdCBsZWZ0ID0gbW91c2VYIC0gc2l6ZSAvIDI7XG4gICAgY29uc3QgZGlyZWN0aW9uID0gTWF0aC5yYW5kb20oKSA8PSAwLjUgPyAtMSA6IDE7XG4gICAgY29uc3QgcGFydGljbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIHBhcnRpY2xlLmlubmVySFRNTCA9IGA8aW1nIHNyYz1cIiR7aW1hZ2VVcmx9XCIgd2lkdGg9XCIke3NpemV9XCIgaGVpZ2h0PVwiJHtzaXplfVwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMjUlXCI+YDtcbiAgICBwYXJ0aWNsZS5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBbXG4gICAgICBcInBvc2l0aW9uOmFic29sdXRlXCIsXG4gICAgICBcIndpbGwtY2hhbmdlOnRyYW5zZm9ybVwiLFxuICAgICAgYHRvcDoke3RvcH1weGAsXG4gICAgICBgbGVmdDoke2xlZnR9cHhgLFxuICAgICAgYHRyYW5zZm9ybTpyb3RhdGUoJHtzcGluVmFsfWRlZylgXG4gICAgXS5qb2luKFwiO1wiKSk7XG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHBhcnRpY2xlKTtcbiAgICBwYXJ0aWNsZXMucHVzaCh7XG4gICAgICBkaXJlY3Rpb24sXG4gICAgICBlbGVtZW50OiBwYXJ0aWNsZSxcbiAgICAgIGxlZnQsXG4gICAgICBzaXplLFxuICAgICAgc3BlZWRIb3J6LFxuICAgICAgc3BlZWRVcCxcbiAgICAgIHNwaW5TcGVlZCxcbiAgICAgIHNwaW5WYWwsXG4gICAgICB0b3BcbiAgICB9KTtcbiAgfVxuICBmdW5jdGlvbiB1cGRhdGVQYXJ0aWNsZXMoKSB7XG4gICAgcGFydGljbGVzLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAubGVmdCA9IHAubGVmdCAtIHAuc3BlZWRIb3J6ICogcC5kaXJlY3Rpb247XG4gICAgICBwLnRvcCA9IHAudG9wIC0gcC5zcGVlZFVwO1xuICAgICAgcC5zcGVlZFVwID0gTWF0aC5taW4ocC5zaXplLCBwLnNwZWVkVXAgLSAxKTtcbiAgICAgIHAuc3BpblZhbCA9IHAuc3BpblZhbCArIHAuc3BpblNwZWVkO1xuICAgICAgaWYgKHAudG9wID49IE1hdGgubWF4KHdpbmRvdy5pbm5lckhlaWdodCwgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpICsgcC5zaXplKSB7XG4gICAgICAgIHBhcnRpY2xlcyA9IHBhcnRpY2xlcy5maWx0ZXIoKG8pID0+IG8gIT09IHApO1xuICAgICAgICBwLmVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICB9XG4gICAgICBwLmVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgW1xuICAgICAgICBcInBvc2l0aW9uOmFic29sdXRlXCIsXG4gICAgICAgIFwid2lsbC1jaGFuZ2U6dHJhbnNmb3JtXCIsXG4gICAgICAgIGB0b3A6JHtwLnRvcH1weGAsXG4gICAgICAgIGBsZWZ0OiR7cC5sZWZ0fXB4YCxcbiAgICAgICAgYHRyYW5zZm9ybTpyb3RhdGUoJHtwLnNwaW5WYWx9ZGVnKWBcbiAgICAgIF0uam9pbihcIjtcIikpO1xuICAgIH0pO1xuICB9XG4gIGxldCBhbmltYXRpb25GcmFtZTtcbiAgZnVuY3Rpb24gbG9vcCgpIHtcbiAgICBpZiAoYXV0b0FkZFBhcnRpY2xlICYmIHBhcnRpY2xlcy5sZW5ndGggPCBsaW1pdCkge1xuICAgICAgY3JlYXRlUGFydGljbGUoKTtcbiAgICB9XG4gICAgdXBkYXRlUGFydGljbGVzKCk7XG4gICAgYW5pbWF0aW9uRnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gIH1cbiAgbG9vcCgpO1xuICBjb25zdCBpc1RvdWNoSW50ZXJhY3Rpb24gPSBcIm9udG91Y2hzdGFydFwiIGluIHdpbmRvdyB8fCBuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cztcbiAgY29uc3QgdGFwID0gaXNUb3VjaEludGVyYWN0aW9uID8gXCJ0b3VjaHN0YXJ0XCIgOiBcIm1vdXNlZG93blwiO1xuICBjb25zdCB0YXBFbmQgPSBpc1RvdWNoSW50ZXJhY3Rpb24gPyBcInRvdWNoZW5kXCIgOiBcIm1vdXNldXBcIjtcbiAgY29uc3QgbW92ZSA9IGlzVG91Y2hJbnRlcmFjdGlvbiA/IFwidG91Y2htb3ZlXCIgOiBcIm1vdXNlbW92ZVwiO1xuICBjb25zdCB1cGRhdGVNb3VzZVBvc2l0aW9uID0gKGUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGlmIChcInRvdWNoZXNcIiBpbiBlKSB7XG4gICAgICBtb3VzZVggPSAoX2EgPSBlLnRvdWNoZXMpID09IG51bGwgPyB2b2lkIDAgOiBfYVswXS5jbGllbnRYO1xuICAgICAgbW91c2VZID0gKF9iID0gZS50b3VjaGVzKSA9PSBudWxsID8gdm9pZCAwIDogX2JbMF0uY2xpZW50WTtcbiAgICB9IGVsc2Uge1xuICAgICAgbW91c2VYID0gZS5jbGllbnRYO1xuICAgICAgbW91c2VZID0gZS5jbGllbnRZO1xuICAgIH1cbiAgfTtcbiAgY29uc3QgdGFwSGFuZGxlciA9IChlKSA9PiB7XG4gICAgdXBkYXRlTW91c2VQb3NpdGlvbihlKTtcbiAgICBhdXRvQWRkUGFydGljbGUgPSB0cnVlO1xuICB9O1xuICBjb25zdCBkaXNhYmxlQXV0b0FkZFBhcnRpY2xlID0gKCkgPT4ge1xuICAgIGF1dG9BZGRQYXJ0aWNsZSA9IGZhbHNlO1xuICB9O1xuICBlbGVtZW50Mi5hZGRFdmVudExpc3RlbmVyKG1vdmUsIHVwZGF0ZU1vdXNlUG9zaXRpb24sIHsgcGFzc2l2ZTogZmFsc2UgfSk7XG4gIGVsZW1lbnQyLmFkZEV2ZW50TGlzdGVuZXIodGFwLCB0YXBIYW5kbGVyKTtcbiAgZWxlbWVudDIuYWRkRXZlbnRMaXN0ZW5lcih0YXBFbmQsIGRpc2FibGVBdXRvQWRkUGFydGljbGUpO1xuICBlbGVtZW50Mi5hZGRFdmVudExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLCBkaXNhYmxlQXV0b0FkZFBhcnRpY2xlKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBlbGVtZW50Mi5yZW1vdmVFdmVudExpc3RlbmVyKG1vdmUsIHVwZGF0ZU1vdXNlUG9zaXRpb24pO1xuICAgIGVsZW1lbnQyLnJlbW92ZUV2ZW50TGlzdGVuZXIodGFwLCB0YXBIYW5kbGVyKTtcbiAgICBlbGVtZW50Mi5yZW1vdmVFdmVudExpc3RlbmVyKHRhcEVuZCwgZGlzYWJsZUF1dG9BZGRQYXJ0aWNsZSk7XG4gICAgZWxlbWVudDIucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIiwgZGlzYWJsZUF1dG9BZGRQYXJ0aWNsZSk7XG4gICAgbGV0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKGFuaW1hdGlvbkZyYW1lICYmIHBhcnRpY2xlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUoYW5pbWF0aW9uRnJhbWUpO1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgaWYgKC0taW5zdGFuY2VDb3VudGVyID09PSAwKSB7XG4gICAgICAgICAgY29udGFpbmVyLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgNTAwKTtcbiAgfTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvTW9kYWxTZWxlY3Rpb24vTW9kYWxTZWxlY3Rpb24uY3NzLnRzXG52YXIgdHJhbnNwYXJlbnRCb3JkZXIgPSBcImc1a2wwbDBcIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvTW9kYWxTZWxlY3Rpb24vTW9kYWxTZWxlY3Rpb24udHN4XG52YXIgTW9kYWxTZWxlY3Rpb24gPSAoe1xuICBhcyA9IFwiYnV0dG9uXCIsXG4gIGN1cnJlbnRseVNlbGVjdGVkID0gZmFsc2UsXG4gIGljb25CYWNrZ3JvdW5kLFxuICBpY29uVXJsLFxuICBuYW1lLFxuICBvbkNsaWNrLFxuICByZWFkeSxcbiAgcmVjZW50LFxuICB0ZXN0SWQsXG4gIC4uLnVybFByb3BzXG59KSA9PiB7XG4gIGNvbnN0IGNvb2xNb2RlUmVmID0gdXNlQ29vbE1vZGUoaWNvblVybCk7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGU3KGZhbHNlKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQzLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBvbk1vdXNlRW50ZXI6ICgpID0+IHNldElzTW91c2VPdmVyKHRydWUpLFxuICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gc2V0SXNNb3VzZU92ZXIoZmFsc2UpLFxuICAgIHJlZjogY29vbE1vZGVSZWZcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDMuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhcyxcbiAgICBib3JkZXJSYWRpdXM6IFwibWVudUJ1dHRvblwiLFxuICAgIGJvcmRlclN0eWxlOiBcInNvbGlkXCIsXG4gICAgYm9yZGVyV2lkdGg6IFwiMVwiLFxuICAgIGNsYXNzTmFtZTogIWN1cnJlbnRseVNlbGVjdGVkID8gW1xuICAgICAgdHJhbnNwYXJlbnRCb3JkZXIsXG4gICAgICB0b3VjaGFibGVTdHlsZXMoe1xuICAgICAgICBhY3RpdmU6IFwic2hyaW5rXCJcbiAgICAgIH0pXG4gICAgXSA6IHZvaWQgMCxcbiAgICBkaXNhYmxlZDogY3VycmVudGx5U2VsZWN0ZWQsXG4gICAgb25DbGljayxcbiAgICBwYWRkaW5nOiBcIjVcIixcbiAgICBzdHlsZTogeyB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiIH0sXG4gICAgdGVzdElkLFxuICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIixcbiAgICAuLi5jdXJyZW50bHlTZWxlY3RlZCA/IHtcbiAgICAgIGJhY2tncm91bmQ6IFwiYWNjZW50Q29sb3JcIixcbiAgICAgIGJvcmRlckNvbG9yOiBcInNlbGVjdGVkT3B0aW9uQm9yZGVyXCIsXG4gICAgICBib3hTaGFkb3c6IFwic2VsZWN0ZWRXYWxsZXRcIlxuICAgIH0gOiB7XG4gICAgICBiYWNrZ3JvdW5kOiB7IGhvdmVyOiBcIm1lbnVJdGVtQmFja2dyb3VuZFwiIH1cbiAgICB9LFxuICAgIC4uLnVybFByb3BzXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQzLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgY29sb3I6IGN1cnJlbnRseVNlbGVjdGVkID8gXCJhY2NlbnRDb2xvckZvcmVncm91bmRcIiA6IFwibW9kYWxUZXh0XCIsXG4gICAgZGlzYWJsZWQ6ICFyZWFkeSxcbiAgICBmb250RmFtaWx5OiBcImJvZHlcIixcbiAgICBmb250U2l6ZTogXCIxNlwiLFxuICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQzLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGdhcDogXCIxMlwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQzLmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICAgIGJhY2tncm91bmQ6IGljb25CYWNrZ3JvdW5kLFxuICAgIC4uLmlzTW91c2VPdmVyID8ge30gOiB7IGJvcmRlckNvbG9yOiBcImFjdGlvbkJ1dHRvbkJvcmRlclwiIH0sXG4gICAgYm9yZGVyUmFkaXVzOiBcIjZcIixcbiAgICBoZWlnaHQ6IFwiMjhcIixcbiAgICBzcmM6IGljb25VcmwsXG4gICAgd2lkdGg6IFwiMjhcIlxuICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDMuY3JlYXRlRWxlbWVudChCb3gsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQzLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgc3R5bGU6IHsgbWFyZ2luVG9wOiByZWNlbnQgPyAtMiA6IHZvaWQgMCB9XG4gIH0sIG5hbWUpLCByZWNlbnQgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDMuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IGN1cnJlbnRseVNlbGVjdGVkID8gXCJhY2NlbnRDb2xvckZvcmVncm91bmRcIiA6IFwiYWNjZW50Q29sb3JcIixcbiAgICBzaXplOiBcIjEyXCIsXG4gICAgc3R5bGU6IHsgbGluZUhlaWdodDogMSwgbWFyZ2luVG9wOiAtMSB9LFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBcIlJlY2VudFwiKSkpKSkpO1xufTtcbk1vZGFsU2VsZWN0aW9uLmRpc3BsYXlOYW1lID0gXCJNb2RhbFNlbGVjdGlvblwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0T3B0aW9ucy9Db25uZWN0RGV0YWlscy50c3hcbmltcG9ydCBSZWFjdDQ4LCB7IHVzZUNvbnRleHQgYXMgdXNlQ29udGV4dDEyLCB1c2VFZmZlY3QgYXMgdXNlRWZmZWN0MTMgfSBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL3V0aWxzL2NvbG9ycy50c1xudmFyIGNvbnZlcnRIZXhUb1JHQkEgPSAoaGV4Q29kZSwgb3BhY2l0eSA9IDEpID0+IHtcbiAgbGV0IGhleCA9IGhleENvZGUucmVwbGFjZShcIiNcIiwgXCJcIik7XG4gIGlmIChoZXgubGVuZ3RoID09PSAzKSB7XG4gICAgaGV4ID0gYCR7aGV4WzBdfSR7aGV4WzBdfSR7aGV4WzFdfSR7aGV4WzFdfSR7aGV4WzJdfSR7aGV4WzJdfWA7XG4gIH1cbiAgY29uc3QgciA9IHBhcnNlSW50KGhleC5zdWJzdHJpbmcoMCwgMiksIDE2KTtcbiAgY29uc3QgZyA9IHBhcnNlSW50KGhleC5zdWJzdHJpbmcoMiwgNCksIDE2KTtcbiAgY29uc3QgYiA9IHBhcnNlSW50KGhleC5zdWJzdHJpbmcoNCwgNiksIDE2KTtcbiAgaWYgKG9wYWNpdHkgPiAxICYmIG9wYWNpdHkgPD0gMTAwKSB7XG4gICAgb3BhY2l0eSA9IG9wYWNpdHkgLyAxMDA7XG4gIH1cbiAgcmV0dXJuIGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7b3BhY2l0eX0pYDtcbn07XG52YXIgZ2V0R3JhZGllbnRSR0JBcyA9IChoZXhDb2xvcikgPT4ge1xuICBpZiAoIWhleENvbG9yKVxuICAgIHJldHVybiBudWxsO1xuICByZXR1cm4gW1xuICAgIGNvbnZlcnRIZXhUb1JHQkEoaGV4Q29sb3IsIDAuMiksXG4gICAgY29udmVydEhleFRvUkdCQShoZXhDb2xvciwgMC4xNCksXG4gICAgY29udmVydEhleFRvUkdCQShoZXhDb2xvciwgMC4xKVxuICBdO1xufTtcbnZhciBpc0hleFN0cmluZyA9IChjb2xvcikgPT4ge1xuICByZXR1cm4gL14jKFswLTlhLWZdezN9KXsxLDJ9JC9pLnRlc3QoY29sb3IpO1xufTtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvQ3JlYXRlLnRzeFxuaW1wb3J0IFJlYWN0NDQgZnJvbSBcInJlYWN0XCI7XG52YXIgc3JjMyA9IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2NyZWF0ZS1QQUpYSkRWMy5qc1wiKSkuZGVmYXVsdDtcbnZhciBwcmVsb2FkQ3JlYXRlSWNvbiA9ICgpID0+IGxvYWRJbWFnZXMoc3JjMyk7XG52YXIgQ3JlYXRlSWNvbiA9ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ0LmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICBiYWNrZ3JvdW5kOiBcIiNlM2E1ZThcIixcbiAgYm9yZGVyQ29sb3I6IFwiZ2VuZXJhbEJvcmRlclwiLFxuICBib3JkZXJSYWRpdXM6IFwiMTBcIixcbiAgaGVpZ2h0OiBcIjQ4XCIsXG4gIHNyYzogc3JjMyxcbiAgd2lkdGg6IFwiNDhcIlxufSk7XG5cbi8vIHNyYy9jb21wb25lbnRzL0ljb25zL1JlZnJlc2gudHN4XG5pbXBvcnQgUmVhY3Q0NSBmcm9tIFwicmVhY3RcIjtcbnZhciBzcmM0ID0gYXN5bmMgKCkgPT4gKGF3YWl0IGltcG9ydChcIi4vcmVmcmVzaC01S0dHSFRKUC5qc1wiKSkuZGVmYXVsdDtcbnZhciBwcmVsb2FkUmVmcmVzaEljb24gPSAoKSA9PiBsb2FkSW1hZ2VzKHNyYzQpO1xudmFyIFJlZnJlc2hJY29uID0gKCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0NDUuY3JlYXRlRWxlbWVudChBc3luY0ltYWdlLCB7XG4gIGJhY2tncm91bmQ6IFwiIzUxNWE3MFwiLFxuICBib3JkZXJDb2xvcjogXCJnZW5lcmFsQm9yZGVyXCIsXG4gIGJvcmRlclJhZGl1czogXCIxMFwiLFxuICBoZWlnaHQ6IFwiNDhcIixcbiAgc3JjOiBzcmM0LFxuICB3aWR0aDogXCI0OFwiXG59KTtcblxuLy8gc3JjL2NvbXBvbmVudHMvSWNvbnMvU2Nhbi50c3hcbmltcG9ydCBSZWFjdDQ2IGZyb20gXCJyZWFjdFwiO1xudmFyIHNyYzUgPSBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9zY2FuLUhaQkxYTE00LmpzXCIpKS5kZWZhdWx0O1xudmFyIHByZWxvYWRTY2FuSWNvbiA9ICgpID0+IGxvYWRJbWFnZXMoc3JjNSk7XG52YXIgU2Nhbkljb24gPSAoKSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0Ni5jcmVhdGVFbGVtZW50KEFzeW5jSW1hZ2UsIHtcbiAgYmFja2dyb3VuZDogXCIjNTE1YTcwXCIsXG4gIGJvcmRlckNvbG9yOiBcImdlbmVyYWxCb3JkZXJcIixcbiAgYm9yZGVyUmFkaXVzOiBcIjEwXCIsXG4gIGhlaWdodDogXCI0OFwiLFxuICBzcmM6IHNyYzUsXG4gIHdpZHRoOiBcIjQ4XCJcbn0pO1xuXG4vLyBzcmMvY29tcG9uZW50cy9RUkNvZGUvUVJDb2RlLnRzeFxuaW1wb3J0IFFSQ29kZVV0aWwgZnJvbSBcInFyY29kZVwiO1xuaW1wb3J0IFJlYWN0NDcsIHsgdXNlTWVtbyBhcyB1c2VNZW1vNSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0T3B0aW9ucy9EZXNrdG9wT3B0aW9ucy5jc3MudHNcbnZhciBRUkNvZGVCYWNrZ3JvdW5kQ2xhc3NOYW1lID0gXCJfMXZ3dDBjZzBcIjtcbnZhciBTY3JvbGxDbGFzc05hbWUgPSBcIl8xdnd0MGNnMiBqdTM2N3Y3NSBqdTM2N3Y3cVwiO1xudmFyIHNpZGViYXIgPSBcIl8xdnd0MGNnM1wiO1xudmFyIHNpZGViYXJDb21wYWN0TW9kZSA9IFwiXzF2d3QwY2c0XCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL1FSQ29kZS9RUkNvZGUudHN4XG52YXIgZ2VuZXJhdGVNYXRyaXggPSAodmFsdWUsIGVycm9yQ29ycmVjdGlvbkxldmVsKSA9PiB7XG4gIGNvbnN0IGFyciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKFFSQ29kZVV0aWwuY3JlYXRlKHZhbHVlLCB7IGVycm9yQ29ycmVjdGlvbkxldmVsIH0pLm1vZHVsZXMuZGF0YSwgMCk7XG4gIGNvbnN0IHNxcnQgPSBNYXRoLnNxcnQoYXJyLmxlbmd0aCk7XG4gIHJldHVybiBhcnIucmVkdWNlKChyb3dzLCBrZXksIGluZGV4KSA9PiAoaW5kZXggJSBzcXJ0ID09PSAwID8gcm93cy5wdXNoKFtrZXldKSA6IHJvd3Nbcm93cy5sZW5ndGggLSAxXS5wdXNoKGtleSkpICYmIHJvd3MsIFtdKTtcbn07XG5mdW5jdGlvbiBRUkNvZGUoe1xuICBlY2wgPSBcIk1cIixcbiAgbG9nb0JhY2tncm91bmQsXG4gIGxvZ29NYXJnaW4gPSAxMCxcbiAgbG9nb1NpemUgPSA1MCxcbiAgbG9nb1VybCxcbiAgc2l6ZTogc2l6ZVByb3AgPSAyMDAsXG4gIHVyaVxufSkge1xuICBjb25zdCBwYWRkaW5nID0gXCIyMFwiO1xuICBjb25zdCBzaXplID0gc2l6ZVByb3AgLSBwYXJzZUludChwYWRkaW5nLCAxMCkgKiAyO1xuICBjb25zdCBkb3RzID0gdXNlTWVtbzUoKCkgPT4ge1xuICAgIGNvbnN0IGRvdHMyID0gW107XG4gICAgY29uc3QgbWF0cml4ID0gZ2VuZXJhdGVNYXRyaXgodXJpLCBlY2wpO1xuICAgIGNvbnN0IGNlbGxTaXplID0gc2l6ZSAvIG1hdHJpeC5sZW5ndGg7XG4gICAgbGV0IHFyTGlzdCA9IFtcbiAgICAgIHsgeDogMCwgeTogMCB9LFxuICAgICAgeyB4OiAxLCB5OiAwIH0sXG4gICAgICB7IHg6IDAsIHk6IDEgfVxuICAgIF07XG4gICAgcXJMaXN0LmZvckVhY2goKHsgeCwgeSB9KSA9PiB7XG4gICAgICBjb25zdCB4MSA9IChtYXRyaXgubGVuZ3RoIC0gNykgKiBjZWxsU2l6ZSAqIHg7XG4gICAgICBjb25zdCB5MSA9IChtYXRyaXgubGVuZ3RoIC0gNykgKiBjZWxsU2l6ZSAqIHk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDM7IGkrKykge1xuICAgICAgICBkb3RzMi5wdXNoKC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ3LmNyZWF0ZUVsZW1lbnQoXCJyZWN0XCIsIHtcbiAgICAgICAgICBmaWxsOiBpICUgMiAhPT0gMCA/IFwid2hpdGVcIiA6IFwiYmxhY2tcIixcbiAgICAgICAgICBoZWlnaHQ6IGNlbGxTaXplICogKDcgLSBpICogMiksXG4gICAgICAgICAga2V5OiBgJHtpfS0ke3h9LSR7eX1gLFxuICAgICAgICAgIHJ4OiAoaSAtIDIpICogLTUgKyAoaSA9PT0gMCA/IDIgOiAwKSxcbiAgICAgICAgICByeTogKGkgLSAyKSAqIC01ICsgKGkgPT09IDAgPyAyIDogMCksXG4gICAgICAgICAgd2lkdGg6IGNlbGxTaXplICogKDcgLSBpICogMiksXG4gICAgICAgICAgeDogeDEgKyBjZWxsU2l6ZSAqIGksXG4gICAgICAgICAgeTogeTEgKyBjZWxsU2l6ZSAqIGlcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGNsZWFyQXJlbmFTaXplID0gTWF0aC5mbG9vcigobG9nb1NpemUgKyAyNSkgLyBjZWxsU2l6ZSk7XG4gICAgY29uc3QgbWF0cml4TWlkZGxlU3RhcnQgPSBtYXRyaXgubGVuZ3RoIC8gMiAtIGNsZWFyQXJlbmFTaXplIC8gMjtcbiAgICBjb25zdCBtYXRyaXhNaWRkbGVFbmQgPSBtYXRyaXgubGVuZ3RoIC8gMiArIGNsZWFyQXJlbmFTaXplIC8gMiAtIDE7XG4gICAgbWF0cml4LmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgcm93LmZvckVhY2goKF8sIGopID0+IHtcbiAgICAgICAgaWYgKG1hdHJpeFtpXVtqXSkge1xuICAgICAgICAgIGlmICghKGkgPCA3ICYmIGogPCA3IHx8IGkgPiBtYXRyaXgubGVuZ3RoIC0gOCAmJiBqIDwgNyB8fCBpIDwgNyAmJiBqID4gbWF0cml4Lmxlbmd0aCAtIDgpKSB7XG4gICAgICAgICAgICBpZiAoIShpID4gbWF0cml4TWlkZGxlU3RhcnQgJiYgaSA8IG1hdHJpeE1pZGRsZUVuZCAmJiBqID4gbWF0cml4TWlkZGxlU3RhcnQgJiYgaiA8IG1hdHJpeE1pZGRsZUVuZCkpIHtcbiAgICAgICAgICAgICAgZG90czIucHVzaCgvKiBAX19QVVJFX18gKi8gUmVhY3Q0Ny5jcmVhdGVFbGVtZW50KFwiY2lyY2xlXCIsIHtcbiAgICAgICAgICAgICAgICBjeDogaSAqIGNlbGxTaXplICsgY2VsbFNpemUgLyAyLFxuICAgICAgICAgICAgICAgIGN5OiBqICogY2VsbFNpemUgKyBjZWxsU2l6ZSAvIDIsXG4gICAgICAgICAgICAgICAgZmlsbDogXCJibGFja1wiLFxuICAgICAgICAgICAgICAgIGtleTogYGNpcmNsZS0ke2l9LSR7an1gLFxuICAgICAgICAgICAgICAgIHI6IGNlbGxTaXplIC8gM1xuICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZG90czI7XG4gIH0sIFtlY2wsIGxvZ29TaXplLCBzaXplLCB1cmldKTtcbiAgY29uc3QgbG9nb1Bvc2l0aW9uID0gc2l6ZSAvIDIgLSBsb2dvU2l6ZSAvIDI7XG4gIGNvbnN0IGxvZ29XcmFwcGVyU2l6ZSA9IGxvZ29TaXplICsgbG9nb01hcmdpbiAqIDI7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0Ny5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJvcmRlckNvbG9yOiBcImdlbmVyYWxCb3JkZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwibWVudUJ1dHRvblwiLFxuICAgIGJvcmRlclN0eWxlOiBcInNvbGlkXCIsXG4gICAgYm9yZGVyV2lkdGg6IFwiMVwiLFxuICAgIGNsYXNzTmFtZTogUVJDb2RlQmFja2dyb3VuZENsYXNzTmFtZSxcbiAgICBwYWRkaW5nLFxuICAgIHdpZHRoOiBcIm1heFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ3LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgIHVzZXJTZWxlY3Q6IFwibm9uZVwiLFxuICAgICAgd2lkdGg6IHNpemVcbiAgICB9LFxuICAgIHVzZXJTZWxlY3Q6IFwibm9uZVwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ3LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgICBzdHlsZToge1xuICAgICAgaGVpZ2h0OiAwLFxuICAgICAgdG9wOiBsb2dvUG9zaXRpb24sXG4gICAgICB3aWR0aDogc2l6ZVxuICAgIH0sXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ3LmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICAgIGJhY2tncm91bmQ6IGxvZ29CYWNrZ3JvdW5kLFxuICAgIGJvcmRlckNvbG9yOiB7IGN1c3RvbTogXCJyZ2JhKDAsIDAsIDAsIDAuMDYpXCIgfSxcbiAgICBib3JkZXJSYWRpdXM6IFwiMTNcIixcbiAgICBoZWlnaHQ6IGxvZ29TaXplLFxuICAgIHNyYzogbG9nb1VybCxcbiAgICB3aWR0aDogbG9nb1NpemVcbiAgfSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0Ny5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIHtcbiAgICBoZWlnaHQ6IHNpemUsXG4gICAgc3R5bGU6IHsgYWxsOiBcInJldmVydFwiIH0sXG4gICAgd2lkdGg6IHNpemVcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDcuY3JlYXRlRWxlbWVudChcImRlZnNcIiwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0NDcuY3JlYXRlRWxlbWVudChcImNsaXBQYXRoXCIsIHtcbiAgICBpZDogXCJjbGlwLXdyYXBwZXJcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0Ny5jcmVhdGVFbGVtZW50KFwicmVjdFwiLCB7XG4gICAgaGVpZ2h0OiBsb2dvV3JhcHBlclNpemUsXG4gICAgd2lkdGg6IGxvZ29XcmFwcGVyU2l6ZVxuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ3LmNyZWF0ZUVsZW1lbnQoXCJjbGlwUGF0aFwiLCB7XG4gICAgaWQ6IFwiY2xpcC1sb2dvXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDcuY3JlYXRlRWxlbWVudChcInJlY3RcIiwge1xuICAgIGhlaWdodDogbG9nb1NpemUsXG4gICAgd2lkdGg6IGxvZ29TaXplXG4gIH0pKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ3LmNyZWF0ZUVsZW1lbnQoXCJyZWN0XCIsIHtcbiAgICBmaWxsOiBcInRyYW5zcGFyZW50XCIsXG4gICAgaGVpZ2h0OiBzaXplLFxuICAgIHdpZHRoOiBzaXplXG4gIH0pLCBkb3RzKSkpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0T3B0aW9ucy9Db25uZWN0RGV0YWlscy50c3hcbnZhciBnZXRCcm93c2VyU3JjID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBicm93c2VyID0gZ2V0QnJvd3NlcigpO1xuICBzd2l0Y2ggKGJyb3dzZXIpIHtcbiAgICBjYXNlIFwiQXJjXCIgLyogQXJjICovOlxuICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoXCIuL0FyYy1RREpGVEdIMi5qc1wiKSkuZGVmYXVsdDtcbiAgICBjYXNlIFwiQnJhdmVcIiAvKiBCcmF2ZSAqLzpcbiAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KFwiLi9CcmF2ZS1ZQVRFNUJJTS5qc1wiKSkuZGVmYXVsdDtcbiAgICBjYXNlIFwiQ2hyb21lXCIgLyogQ2hyb21lICovOlxuICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoXCIuL0Nocm9tZS1MR0YzM0MzUy5qc1wiKSkuZGVmYXVsdDtcbiAgICBjYXNlIFwiRWRnZVwiIC8qIEVkZ2UgKi86XG4gICAgICByZXR1cm4gKGF3YWl0IGltcG9ydChcIi4vRWRnZS1LMkpFR0k1Uy5qc1wiKSkuZGVmYXVsdDtcbiAgICBjYXNlIFwiRmlyZWZveFwiIC8qIEZpcmVmb3ggKi86XG4gICAgICByZXR1cm4gKGF3YWl0IGltcG9ydChcIi4vRmlyZWZveC1OUDVTWUVLNS5qc1wiKSkuZGVmYXVsdDtcbiAgICBjYXNlIFwiT3BlcmFcIiAvKiBPcGVyYSAqLzpcbiAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KFwiLi9PcGVyYS1LVjU0UFhQQS5qc1wiKSkuZGVmYXVsdDtcbiAgICBjYXNlIFwiU2FmYXJpXCIgLyogU2FmYXJpICovOlxuICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoXCIuL1NhZmFyaS0yUUlZS0o0UC5qc1wiKSkuZGVmYXVsdDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoXCIuL0Jyb3dzZXItSE43TzVNTjcuanNcIikpLmRlZmF1bHQ7XG4gIH1cbn07XG52YXIgcHJlbG9hZEJyb3dzZXJJY29uID0gKCkgPT4gbG9hZEltYWdlcyhnZXRCcm93c2VyU3JjKTtcbmZ1bmN0aW9uIEdldERldGFpbCh7XG4gIGdldFdhbGxldERvd25sb2FkXG59KSB7XG4gIGNvbnN0IHdhbGxldHMgPSB1c2VXYWxsZXRDb25uZWN0b3JzKCk7XG4gIGNvbnN0IHNob3duV2FsbGV0cyA9IHdhbGxldHMuc3BsaWNlKDAsIDUpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgaGVpZ2h0OiBcImZ1bGxcIixcbiAgICBtYXJnaW5Ub3A6IFwiMThcIixcbiAgICB3aWR0aDogXCJmdWxsXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjI4XCIsXG4gICAgaGVpZ2h0OiBcImZ1bGxcIixcbiAgICB3aWR0aDogXCJmdWxsXCJcbiAgfSwgc2hvd25XYWxsZXRzID09IG51bGwgPyB2b2lkIDAgOiBzaG93bldhbGxldHMuZmlsdGVyKCh3YWxsZXQpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuIHdhbGxldC5leHRlbnNpb25Eb3dubG9hZFVybCB8fCB3YWxsZXQucXJDb2RlICYmICgoX2EgPSB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2EucXJDb2RlKTtcbiAgfSkubWFwKCh3YWxsZXQpID0+IHtcbiAgICBjb25zdCB7IGRvd25sb2FkVXJscywgaWNvbkJhY2tncm91bmQsIGljb25VcmwsIGlkLCBuYW1lLCBxckNvZGUgfSA9IHdhbGxldDtcbiAgICBjb25zdCBoYXNNb2JpbGVDb21wYW5pb25BcHAgPSAoZG93bmxvYWRVcmxzID09IG51bGwgPyB2b2lkIDAgOiBkb3dubG9hZFVybHMucXJDb2RlKSAmJiBxckNvZGU7XG4gICAgY29uc3QgaGFzRXh0ZW5zaW9uID0gISF3YWxsZXQuZXh0ZW5zaW9uRG93bmxvYWRVcmw7XG4gICAgY29uc3QgaGFzTW9iaWxlQW5kRXh0ZW5zaW9uID0gKGRvd25sb2FkVXJscyA9PSBudWxsID8gdm9pZCAwIDogZG93bmxvYWRVcmxzLnFyQ29kZSkgJiYgaGFzRXh0ZW5zaW9uO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZ2FwOiBcIjE2XCIsXG4gICAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgICBrZXk6IHdhbGxldC5pZCxcbiAgICAgIHdpZHRoOiBcImZ1bGxcIlxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgZ2FwOiBcIjE2XCJcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEFzeW5jSW1hZ2UsIHtcbiAgICAgIGJhY2tncm91bmQ6IGljb25CYWNrZ3JvdW5kLFxuICAgICAgYm9yZGVyQ29sb3I6IFwiYWN0aW9uQnV0dG9uQm9yZGVyXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiMTBcIixcbiAgICAgIGhlaWdodDogXCI0OFwiLFxuICAgICAgc3JjOiBpY29uVXJsLFxuICAgICAgd2lkdGg6IFwiNDhcIlxuICAgIH0pLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgZ2FwOiBcIjJcIlxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgICBzaXplOiBcIjE0XCIsXG4gICAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gICAgfSwgbmFtZSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgICBzaXplOiBcIjE0XCIsXG4gICAgICB3ZWlnaHQ6IFwibWVkaXVtXCJcbiAgICB9LCBoYXNNb2JpbGVBbmRFeHRlbnNpb24gPyBcIk1vYmlsZSBXYWxsZXQgYW5kIEV4dGVuc2lvblwiIDogaGFzTW9iaWxlQ29tcGFuaW9uQXBwID8gXCJNb2JpbGUgV2FsbGV0XCIgOiBoYXNFeHRlbnNpb24gPyBcIkJyb3dzZXIgRXh0ZW5zaW9uXCIgOiBudWxsKSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgZ2FwOiBcIjRcIlxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgICBsYWJlbDogXCJHRVRcIixcbiAgICAgIG9uQ2xpY2s6ICgpID0+IGdldFdhbGxldERvd25sb2FkKGlkKSxcbiAgICAgIHR5cGU6IFwic2Vjb25kYXJ5XCJcbiAgICB9KSkpO1xuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiMTBcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCI4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiLFxuICAgIG1hcmdpbkJvdHRvbTogXCI0XCIsXG4gICAgcGFkZGluZ1k6IFwiOFwiLFxuICAgIHN0eWxlOiB7IG1heFdpZHRoOiAyNzUsIHRleHRBbGlnbjogXCJjZW50ZXJcIiB9XG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIHNpemU6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIFwiTm90IHdoYXQgeW91XFx1MjAxOXJlIGxvb2tpbmcgZm9yP1wiKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBcIlNlbGVjdCBhIHdhbGxldCBvbiB0aGUgbGVmdCB0byBnZXQgc3RhcnRlZCB3aXRoIGEgZGlmZmVyZW50IHdhbGxldCBwcm92aWRlci5cIikpKTtcbn1cbnZhciBMT0dPX1NJWkUgPSBcIjQ0XCI7XG5mdW5jdGlvbiBDb25uZWN0RGV0YWlsKHtcbiAgY2hhbmdlV2FsbGV0U3RlcCxcbiAgY29tcGFjdE1vZGVFbmFibGVkLFxuICBjb25uZWN0aW9uRXJyb3IsXG4gIG9uQ2xvc2UsXG4gIHFyQ29kZVVyaSxcbiAgcmVjb25uZWN0LFxuICB3YWxsZXRcbn0pIHtcbiAgdmFyIF9hO1xuICBjb25zdCB7XG4gICAgZG93bmxvYWRVcmxzLFxuICAgIGljb25CYWNrZ3JvdW5kLFxuICAgIGljb25VcmwsXG4gICAgbmFtZSxcbiAgICBxckNvZGUsXG4gICAgcmVhZHksXG4gICAgc2hvd1dhbGxldENvbm5lY3RNb2RhbFxuICB9ID0gd2FsbGV0O1xuICBjb25zdCBnZXREZXNrdG9wRGVlcExpbmsgPSAoX2EgPSB3YWxsZXQuZGVza3RvcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmdldFVyaTtcbiAgY29uc3Qgc2FmYXJpID0gaXNTYWZhcmkoKTtcbiAgY29uc3QgaGFzRXh0ZW5zaW9uID0gISF3YWxsZXQuZXh0ZW5zaW9uRG93bmxvYWRVcmw7XG4gIGNvbnN0IGhhc1FyQ29kZUFuZEV4dGVuc2lvbiA9IChkb3dubG9hZFVybHMgPT0gbnVsbCA/IHZvaWQgMCA6IGRvd25sb2FkVXJscy5xckNvZGUpICYmIGhhc0V4dGVuc2lvbjtcbiAgY29uc3QgaGFzUXJDb2RlID0gcXJDb2RlICYmIHFyQ29kZVVyaTtcbiAgY29uc3Qgc2Vjb25kYXJ5QWN0aW9uID0gc2hvd1dhbGxldENvbm5lY3RNb2RhbCA/IHtcbiAgICBkZXNjcmlwdGlvbjogYE5lZWQgdGhlICR7Y29tcGFjdE1vZGVFbmFibGVkID8gXCJcIiA6IFwib2ZmaWNpYWxcIn0gV2FsbGV0Q29ubmVjdCBtb2RhbD9gLFxuICAgIGxhYmVsOiBcIk9QRU5cIixcbiAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICBvbkNsb3NlKCk7XG4gICAgICBzaG93V2FsbGV0Q29ubmVjdE1vZGFsKCk7XG4gICAgfVxuICB9IDogaGFzUXJDb2RlID8ge1xuICAgIGRlc2NyaXB0aW9uOiBgRG9uXFx1MjAxOXQgaGF2ZSAke25hbWV9P2AsXG4gICAgbGFiZWw6IFwiR0VUXCIsXG4gICAgb25DbGljazogKCkgPT4gY2hhbmdlV2FsbGV0U3RlcChoYXNRckNvZGVBbmRFeHRlbnNpb24gPyBcIkRPV05MT0FEX09QVElPTlNcIiAvKiBEb3dubG9hZE9wdGlvbnMgKi8gOiBcIkRPV05MT0FEXCIgLyogRG93bmxvYWQgKi8pXG4gIH0gOiBudWxsO1xuICBjb25zdCB7IHdpZHRoOiB3aW5kb3dXaWR0aCB9ID0gdXNlV2luZG93U2l6ZSgpO1xuICBjb25zdCBzbWFsbFdpbmRvdyA9IHdpbmRvd1dpZHRoICYmIHdpbmRvd1dpZHRoIDwgNzY4O1xuICB1c2VFZmZlY3QxMygoKSA9PiB7XG4gICAgcHJlbG9hZEJyb3dzZXJJY29uKCk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCBoYXNRckNvZGUgPyAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgaGVpZ2h0OiBcImZ1bGxcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFFSQ29kZSwge1xuICAgIGxvZ29CYWNrZ3JvdW5kOiBpY29uQmFja2dyb3VuZCxcbiAgICBsb2dvU2l6ZTogY29tcGFjdE1vZGVFbmFibGVkID8gNjAgOiA3MixcbiAgICBsb2dvVXJsOiBpY29uVXJsLFxuICAgIHNpemU6IGNvbXBhY3RNb2RlRW5hYmxlZCA/IDMxOCA6IHNtYWxsV2luZG93ID8gTWF0aC5tYXgoMjgwLCBNYXRoLm1pbih3aW5kb3dXaWR0aCAtIDMwOCwgMzgyKSkgOiAzODIsXG4gICAgdXJpOiBxckNvZGVVcmlcbiAgfSkpIDogLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHN0eWxlOiB7IGZsZXhHcm93OiAxIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjhcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJvcmRlclJhZGl1czogXCIxMFwiLFxuICAgIGhlaWdodDogTE9HT19TSVpFLFxuICAgIG92ZXJmbG93OiBcImhpZGRlblwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICAgIGhlaWdodDogTE9HT19TSVpFLFxuICAgIHNyYzogaWNvblVybCxcbiAgICB3aWR0aDogTE9HT19TSVpFXG4gIH0pKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjRcIixcbiAgICBwYWRkaW5nWDogXCIzMlwiLFxuICAgIHN0eWxlOiB7IHRleHRBbGlnbjogXCJjZW50ZXJcIiB9XG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIHNpemU6IFwiMThcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIHJlYWR5ID8gYE9wZW5pbmcgJHtuYW1lfS4uLmAgOiBoYXNFeHRlbnNpb24gPyBgJHtuYW1lfSBpcyBub3QgaW5zdGFsbGVkYCA6IGAke25hbWV9IGlzIG5vdCBhdmFpbGFibGVgKSwgIXJlYWR5ICYmIGhhc0V4dGVuc2lvbiA/IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgcGFkZGluZ1RvcDogXCIyMFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgaHJlZjogd2FsbGV0LmV4dGVuc2lvbkRvd25sb2FkVXJsLFxuICAgIGxhYmVsOiBcIklOU1RBTExcIixcbiAgICB0eXBlOiBcInNlY29uZGFyeVwiXG4gIH0pKSA6IG51bGwsIHJlYWR5ICYmICFoYXNRckNvZGUgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChSZWFjdDQ4LkZyYWdtZW50LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIixcbiAgICBzaXplOiBcIjE0XCIsXG4gICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBcIkNvbmZpcm0gY29ubmVjdGlvbiBpbiB0aGUgZXh0ZW5zaW9uXCIpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgaGVpZ2h0OiBcIjMyXCIsXG4gICAgbWFyZ2luVG9wOiBcIjhcIlxuICB9LCBjb25uZWN0aW9uRXJyb3IgPyAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEFjdGlvbkJ1dHRvbiwge1xuICAgIGxhYmVsOiBcIlJFVFJZXCIsXG4gICAgb25DbGljazogZ2V0RGVza3RvcERlZXBMaW5rID8gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdXJpID0gYXdhaXQgZ2V0RGVza3RvcERlZXBMaW5rKCk7XG4gICAgICB3aW5kb3cub3Blbih1cmksIHNhZmFyaSA/IFwiX2JsYW5rXCIgOiBcIl9zZWxmXCIpO1xuICAgIH0gOiAoKSA9PiB7XG4gICAgICByZWNvbm5lY3Qod2FsbGV0KTtcbiAgICB9XG4gIH0pIDogLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFNwaW5uZXJJY29uLCBudWxsKSkpKSkpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGJvcmRlclJhZGl1czogXCIxMFwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgZ2FwOiBcIjhcIixcbiAgICBoZWlnaHQ6IFwiMjhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgbWFyZ2luVG9wOiBcIjEyXCJcbiAgfSwgcmVhZHkgJiYgc2Vjb25kYXJ5QWN0aW9uICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoUmVhY3Q0OC5GcmFnbWVudCwgbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBzZWNvbmRhcnlBY3Rpb24uZGVzY3JpcHRpb24pLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEFjdGlvbkJ1dHRvbiwge1xuICAgIGxhYmVsOiBzZWNvbmRhcnlBY3Rpb24ubGFiZWwsXG4gICAgb25DbGljazogc2Vjb25kYXJ5QWN0aW9uLm9uQ2xpY2ssXG4gICAgdHlwZTogXCJzZWNvbmRhcnlcIlxuICB9KSkpKTtcbn1cbnZhciBEb3dubG9hZE9wdGlvbnNCb3ggPSAoe1xuICBhY3Rpb25MYWJlbCxcbiAgZGVzY3JpcHRpb24sXG4gIGljb25BY2NlbnQsXG4gIGljb25CYWNrZ3JvdW5kLFxuICBpY29uVXJsLFxuICBpc0NvbXBhY3QsXG4gIG9uQWN0aW9uLFxuICB0aXRsZSxcbiAgdXJsLFxuICB2YXJpYW50XG59KSA9PiB7XG4gIGNvbnN0IGlzQnJvd3NlckNhcmQgPSB2YXJpYW50ID09PSBcImJyb3dzZXJcIjtcbiAgY29uc3QgZ3JhZGllbnRSZ2JhcyA9ICFpc0Jyb3dzZXJDYXJkICYmIGljb25BY2NlbnQgJiYgZ2V0R3JhZGllbnRSR0JBcyhpY29uQWNjZW50KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiMTNcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICBwYWRkaW5nWDogaXNDb21wYWN0ID8gXCIxOFwiIDogXCI0NFwiLFxuICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgc3R5bGU6IHsgZmxleDogMSwgaXNvbGF0aW9uOiBcImlzb2xhdGVcIiB9LFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJvcmRlckNvbG9yOiBcImFjdGlvbkJ1dHRvbkJvcmRlclwiLFxuICAgIGJvcmRlclJhZGl1czogXCIxM1wiLFxuICAgIGJvcmRlclN0eWxlOiBcInNvbGlkXCIsXG4gICAgYm9yZGVyV2lkdGg6IFwiMVwiLFxuICAgIHN0eWxlOiB7XG4gICAgICBib3R0b206IFwiMFwiLFxuICAgICAgbGVmdDogXCIwXCIsXG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgcmlnaHQ6IFwiMFwiLFxuICAgICAgdG9wOiBcIjBcIixcbiAgICAgIHpJbmRleDogMVxuICAgIH1cbiAgfSksIGlzQnJvd3NlckNhcmQgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBiYWNrZ3JvdW5kOiBcImRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmRcIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgc3R5bGU6IHtcbiAgICAgIHpJbmRleDogMFxuICAgIH0sXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgc3R5bGU6IHtcbiAgICAgIGJvdHRvbTogXCIwXCIsXG4gICAgICBmaWx0ZXI6IFwiYmx1cigyMHB4KVwiLFxuICAgICAgbGVmdDogXCIwXCIsXG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgcmlnaHQ6IFwiMFwiLFxuICAgICAgdG9wOiBcIjBcIixcbiAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUzZCgwLCAwLCAwKVwiXG4gICAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIHN0eWxlOiB7XG4gICAgICBmaWx0ZXI6IFwiYmx1cigxMDBweClcIixcbiAgICAgIG1hcmdpbkxlZnQ6IC0yNyxcbiAgICAgIG1hcmdpblRvcDogLTIwLFxuICAgICAgb3BhY2l0eTogMC42LFxuICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZTNkKDAsIDAsIDApXCJcbiAgICB9XG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICAgIGJvcmRlclJhZGl1czogXCJmdWxsXCIsXG4gICAgaGVpZ2h0OiBcIjIwMFwiLFxuICAgIHNyYzogaWNvblVybCxcbiAgICB3aWR0aDogXCIyMDBcIlxuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgc3R5bGU6IHtcbiAgICAgIGZpbHRlcjogXCJibHVyKDEwMHB4KVwiLFxuICAgICAgbWFyZ2luUmlnaHQ6IDAsXG4gICAgICBtYXJnaW5Ub3A6IDEwNSxcbiAgICAgIG9wYWNpdHk6IDAuNixcbiAgICAgIG92ZXJmbG93OiBcImF1dG9cIixcbiAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUzZCgwLCAwLCAwKVwiXG4gICAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEFzeW5jSW1hZ2UsIHtcbiAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgIGhlaWdodDogXCIyMDBcIixcbiAgICBzcmM6IGljb25VcmwsXG4gICAgd2lkdGg6IFwiMjAwXCJcbiAgfSkpKSksICFpc0Jyb3dzZXJDYXJkICYmIGdyYWRpZW50UmdiYXMgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBiYWNrZ3JvdW5kOiBcImRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmRcIixcbiAgICBzdHlsZToge1xuICAgICAgYm90dG9tOiBcIjBcIixcbiAgICAgIGxlZnQ6IFwiMFwiLFxuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHJpZ2h0OiBcIjBcIixcbiAgICAgIHRvcDogXCIwXCJcbiAgICB9XG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICBzdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogYHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA1MCUsICR7Z3JhZGllbnRSZ2Jhc1swXX0gMCUsICR7Z3JhZGllbnRSZ2Jhc1sxXX0gMjUlLCByZ2JhKDAsMCwwLDApIDEwMCUpYCxcbiAgICAgIGhlaWdodDogNTY0LFxuICAgICAgbGVmdDogLTIxNSxcbiAgICAgIHRvcDogLTE5NyxcbiAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUzZCgwLCAwLCAwKVwiLFxuICAgICAgd2lkdGg6IDU2NFxuICAgIH1cbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICBzdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogYHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA1MCUsICR7Z3JhZGllbnRSZ2Jhc1syXX0gMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSlgLFxuICAgICAgaGVpZ2h0OiA1NjQsXG4gICAgICBsZWZ0OiAtMSxcbiAgICAgIHRvcDogLTc2LFxuICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZTNkKDAsIDAsIDApXCIsXG4gICAgICB3aWR0aDogNTY0XG4gICAgfVxuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBnYXA6IFwiMjRcIixcbiAgICBoZWlnaHQ6IFwibWF4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgc3R5bGU6IHsgekluZGV4OiAxIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQXN5bmNJbWFnZSwge1xuICAgIGhlaWdodDogXCI2MFwiLFxuICAgIHNyYzogaWNvblVybCxcbiAgICB3aWR0aDogXCI2MFwiLFxuICAgIC4uLmljb25CYWNrZ3JvdW5kID8ge1xuICAgICAgYmFja2dyb3VuZDogaWNvbkJhY2tncm91bmQsXG4gICAgICBib3JkZXJDb2xvcjogXCJnZW5lcmFsQm9yZGVyXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiMTBcIlxuICAgIH0gOiBudWxsXG4gIH0pKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCI0XCIsXG4gICAgc3R5bGU6IHsgZmxleDogMSB9LFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICBzaXplOiBcIjE0XCIsXG4gICAgd2VpZ2h0OiBcImJvbGRcIlxuICB9LCB0aXRsZSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgIHNpemU6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwibWVkaXVtXCJcbiAgfSwgZGVzY3JpcHRpb24pLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIG1hcmdpblRvcDogXCIxNFwiLFxuICAgIHdpZHRoOiBcIm1heFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgaHJlZjogdXJsLFxuICAgIGxhYmVsOiBhY3Rpb25MYWJlbCxcbiAgICBvbkNsaWNrOiBvbkFjdGlvbixcbiAgICBzaXplOiBcIm1lZGl1bVwiXG4gIH0pKSkpKTtcbn07XG5mdW5jdGlvbiBEb3dubG9hZE9wdGlvbnNEZXRhaWwoe1xuICBjaGFuZ2VXYWxsZXRTdGVwLFxuICB3YWxsZXRcbn0pIHtcbiAgY29uc3QgYnJvd3NlciA9IGdldEJyb3dzZXIoKTtcbiAgY29uc3QgbW9kYWxTaXplID0gdXNlQ29udGV4dDEyKE1vZGFsU2l6ZUNvbnRleHQpO1xuICBjb25zdCBpc0NvbXBhY3QgPSBtb2RhbFNpemUgPT09IFwiY29tcGFjdFwiO1xuICBjb25zdCB7IGV4dGVuc2lvbiwgZXh0ZW5zaW9uRG93bmxvYWRVcmwsIG1vYmlsZURvd25sb2FkVXJsIH0gPSB3YWxsZXQ7XG4gIHVzZUVmZmVjdDEzKCgpID0+IHtcbiAgICBwcmVsb2FkQ3JlYXRlSWNvbigpO1xuICAgIHByZWxvYWRTY2FuSWNvbigpO1xuICAgIHByZWxvYWRSZWZyZXNoSWNvbigpO1xuICB9LCBbXSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiMjRcIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIG1hcmdpbkJvdHRvbTogXCI4XCIsXG4gICAgbWFyZ2luVG9wOiBcIjRcIixcbiAgICB3aWR0aDogXCJmdWxsXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjhcIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHdpZHRoOiBcImZ1bGxcIlxuICB9LCBleHRlbnNpb25Eb3dubG9hZFVybCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KERvd25sb2FkT3B0aW9uc0JveCwge1xuICAgIGFjdGlvbkxhYmVsOiBgQWRkIHRvICR7YnJvd3Nlcn1gLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFjY2VzcyB5b3VyIHdhbGxldCByaWdodCBmcm9tIHlvdXIgZmF2b3JpdGUgd2ViIGJyb3dzZXIuXCIsXG4gICAgaWNvblVybDogZ2V0QnJvd3NlclNyYyxcbiAgICBpc0NvbXBhY3QsXG4gICAgb25BY3Rpb246ICgpID0+IGNoYW5nZVdhbGxldFN0ZXAoKGV4dGVuc2lvbiA9PSBudWxsID8gdm9pZCAwIDogZXh0ZW5zaW9uLmluc3RydWN0aW9ucykgPyBcIklOU1RSVUNUSU9OU19FWFRFTlNJT05cIiAvKiBJbnN0cnVjdGlvbnNFeHRlbnNpb24gKi8gOiBcIkNPTk5FQ1RcIiAvKiBDb25uZWN0ICovKSxcbiAgICB0aXRsZTogYCR7d2FsbGV0Lm5hbWV9IGZvciAke2Jyb3dzZXJ9YCxcbiAgICB1cmw6IGV4dGVuc2lvbkRvd25sb2FkVXJsLFxuICAgIHZhcmlhbnQ6IFwiYnJvd3NlclwiXG4gIH0pLCBtb2JpbGVEb3dubG9hZFVybCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KERvd25sb2FkT3B0aW9uc0JveCwge1xuICAgIGFjdGlvbkxhYmVsOiBcIkdldCB0aGUgYXBwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiVXNlIHRoZSBtb2JpbGUgd2FsbGV0IHRvIGV4cGxvcmUgdGhlIHdvcmxkIG9mIEV0aGVyZXVtLlwiLFxuICAgIGljb25BY2NlbnQ6IHdhbGxldC5pY29uQWNjZW50LFxuICAgIGljb25CYWNrZ3JvdW5kOiB3YWxsZXQuaWNvbkJhY2tncm91bmQsXG4gICAgaWNvblVybDogd2FsbGV0Lmljb25VcmwsXG4gICAgaXNDb21wYWN0LFxuICAgIG9uQWN0aW9uOiAoKSA9PiB7XG4gICAgICBjaGFuZ2VXYWxsZXRTdGVwKFwiRE9XTkxPQURcIiAvKiBEb3dubG9hZCAqLyk7XG4gICAgfSxcbiAgICB0aXRsZTogYCR7d2FsbGV0Lm5hbWV9IGZvciBNb2JpbGVgLFxuICAgIHZhcmlhbnQ6IFwiYXBwXCJcbiAgfSkpKTtcbn1cbmZ1bmN0aW9uIERvd25sb2FkRGV0YWlsKHtcbiAgY2hhbmdlV2FsbGV0U3RlcCxcbiAgd2FsbGV0XG59KSB7XG4gIGNvbnN0IHsgZG93bmxvYWRVcmxzLCBxckNvZGUgfSA9IHdhbGxldDtcbiAgdXNlRWZmZWN0MTMoKCkgPT4ge1xuICAgIHByZWxvYWRDcmVhdGVJY29uKCk7XG4gICAgcHJlbG9hZFNjYW5JY29uKCk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCIyNFwiLFxuICAgIGhlaWdodDogXCJmdWxsXCIsXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgc3R5bGU6IHsgbWF4V2lkdGg6IDIyMCwgdGV4dEFsaWduOiBcImNlbnRlclwiIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJzZW1pYm9sZFwiXG4gIH0sIFwiU2NhbiB3aXRoIHlvdXIgcGhvbmUgdG8gZG93bmxvYWQgb24gaU9TIG9yIEFuZHJvaWRcIikpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGhlaWdodDogXCJmdWxsXCJcbiAgfSwgKGRvd25sb2FkVXJscyA9PSBudWxsID8gdm9pZCAwIDogZG93bmxvYWRVcmxzLnFyQ29kZSkgPyAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFFSQ29kZSwge1xuICAgIGxvZ29TaXplOiAwLFxuICAgIHNpemU6IDI2OCxcbiAgICB1cmk6IGRvd25sb2FkVXJscy5xckNvZGVcbiAgfSkgOiBudWxsKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGJvcmRlclJhZGl1czogXCIxMFwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgZ2FwOiBcIjhcIixcbiAgICBoZWlnaHQ6IFwiMzRcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgbWFyZ2luQm90dG9tOiBcIjEyXCIsXG4gICAgcGFkZGluZ1k6IFwiOFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgbGFiZWw6IFwiQ29udGludWVcIixcbiAgICBvbkNsaWNrOiAoKSA9PiBjaGFuZ2VXYWxsZXRTdGVwKChxckNvZGUgPT0gbnVsbCA/IHZvaWQgMCA6IHFyQ29kZS5pbnN0cnVjdGlvbnMpID8gXCJJTlNUUlVDVElPTlNfTU9CSUxFXCIgLyogSW5zdHJ1Y3Rpb25zTW9iaWxlICovIDogXCJDT05ORUNUXCIgLyogQ29ubmVjdCAqLylcbiAgfSkpKTtcbn1cbnZhciBzdGVwSWNvbnMgPSB7XG4gIGNyZWF0ZTogKCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChDcmVhdGVJY29uLCBudWxsKSxcbiAgaW5zdGFsbDogKHdhbGxldCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChBc3luY0ltYWdlLCB7XG4gICAgYmFja2dyb3VuZDogd2FsbGV0Lmljb25CYWNrZ3JvdW5kLFxuICAgIGJvcmRlckNvbG9yOiBcImdlbmVyYWxCb3JkZXJcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiMTBcIixcbiAgICBoZWlnaHQ6IFwiNDhcIixcbiAgICBzcmM6IHdhbGxldC5pY29uVXJsLFxuICAgIHdpZHRoOiBcIjQ4XCJcbiAgfSksXG4gIHJlZnJlc2g6ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoUmVmcmVzaEljb24sIG51bGwpLFxuICBzY2FuOiAoKSA9PiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFNjYW5JY29uLCBudWxsKVxufTtcbmZ1bmN0aW9uIEluc3RydWN0aW9uTW9iaWxlRGV0YWlsKHtcbiAgY29ubmVjdFdhbGxldCxcbiAgd2FsbGV0XG59KSB7XG4gIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGhlaWdodDogXCJmdWxsXCIsXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiMjhcIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHBhZGRpbmdZOiBcIjMyXCIsXG4gICAgc3R5bGU6IHsgbWF4V2lkdGg6IDMyMCB9XG4gIH0sIChfYiA9IChfYSA9IHdhbGxldCA9PSBudWxsID8gdm9pZCAwIDogd2FsbGV0LnFyQ29kZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmluc3RydWN0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLnN0ZXBzLm1hcCgoZCwgaWR4KSA9PiB7XG4gICAgdmFyIF9hMjtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBnYXA6IFwiMTZcIixcbiAgICAgIGtleTogaWR4XG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGJvcmRlclJhZGl1czogXCIxMFwiLFxuICAgICAgaGVpZ2h0OiBcIjQ4XCIsXG4gICAgICBtaW5XaWR0aDogXCI0OFwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgICAgd2lkdGg6IFwiNDhcIlxuICAgIH0sIChfYTIgPSBzdGVwSWNvbnNbZC5zdGVwXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMi5jYWxsKHN0ZXBJY29ucywgd2FsbGV0KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBnYXA6IFwiNFwiXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICAgIHNpemU6IFwiMTRcIixcbiAgICAgIHdlaWdodDogXCJib2xkXCJcbiAgICB9LCBkLnRpdGxlKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIixcbiAgICAgIHNpemU6IFwiMTRcIixcbiAgICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICAgIH0sIGQuZGVzY3JpcHRpb24pKSk7XG4gIH0pKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjEyXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgbWFyZ2luQm90dG9tOiBcIjE2XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChBY3Rpb25CdXR0b24sIHtcbiAgICBsYWJlbDogXCJDb25uZWN0XCIsXG4gICAgb25DbGljazogKCkgPT4gY29ubmVjdFdhbGxldCh3YWxsZXQpXG4gIH0pLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFzOiBcImFcIixcbiAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7IGFjdGl2ZTogXCJzaHJpbmtcIiwgaG92ZXI6IFwiZ3Jvd1wiIH0pLFxuICAgIGRpc3BsYXk6IFwiYmxvY2tcIixcbiAgICBocmVmOiAoX2QgPSAoX2MgPSB3YWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHdhbGxldC5xckNvZGUpID09IG51bGwgPyB2b2lkIDAgOiBfYy5pbnN0cnVjdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfZC5sZWFybk1vcmVVcmwsXG4gICAgcGFkZGluZ1g6IFwiMTJcIixcbiAgICBwYWRkaW5nWTogXCI0XCIsXG4gICAgcmVsOiBcIm5vcmVmZXJyZXJcIixcbiAgICBzdHlsZTogeyB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiIH0sXG4gICAgdGFyZ2V0OiBcIl9ibGFua1wiLFxuICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ4LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcImFjY2VudENvbG9yXCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJib2xkXCJcbiAgfSwgXCJMZWFybiBNb3JlXCIpKSkpO1xufVxuZnVuY3Rpb24gSW5zdHJ1Y3Rpb25FeHRlbnNpb25EZXRhaWwoe1xuICB3YWxsZXRcbn0pIHtcbiAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgaGVpZ2h0OiBcImZ1bGxcIixcbiAgICB3aWR0aDogXCJmdWxsXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCIyOFwiLFxuICAgIGhlaWdodDogXCJmdWxsXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgcGFkZGluZ1k6IFwiMzJcIixcbiAgICBzdHlsZTogeyBtYXhXaWR0aDogMzIwIH1cbiAgfSwgKF9iID0gKF9hID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZXh0ZW5zaW9uKSA9PSBudWxsID8gdm9pZCAwIDogX2EuaW5zdHJ1Y3Rpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2Iuc3RlcHMubWFwKChkLCBpZHgpID0+IHtcbiAgICB2YXIgX2EyO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgIGdhcDogXCIxNlwiLFxuICAgICAga2V5OiBpZHhcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwXCIsXG4gICAgICBoZWlnaHQ6IFwiNDhcIixcbiAgICAgIG1pbldpZHRoOiBcIjQ4XCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICB3aWR0aDogXCI0OFwiXG4gICAgfSwgKF9hMiA9IHN0ZXBJY29uc1tkLnN0ZXBdKSA9PSBudWxsID8gdm9pZCAwIDogX2EyLmNhbGwoc3RlcEljb25zLCB3YWxsZXQpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIGdhcDogXCI0XCJcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICAgIGNvbG9yOiBcIm1vZGFsVGV4dFwiLFxuICAgICAgc2l6ZTogXCIxNFwiLFxuICAgICAgd2VpZ2h0OiBcImJvbGRcIlxuICAgIH0sIGQudGl0bGUpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICAgIGNvbG9yOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgICAgc2l6ZTogXCIxNFwiLFxuICAgICAgd2VpZ2h0OiBcIm1lZGl1bVwiXG4gICAgfSwgZC5kZXNjcmlwdGlvbikpKTtcbiAgfSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBnYXA6IFwiMTJcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBtYXJnaW5Cb3R0b206IFwiMTZcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KEFjdGlvbkJ1dHRvbiwge1xuICAgIGxhYmVsOiBcIlJlZnJlc2hcIixcbiAgICBvbkNsaWNrOiB3aW5kb3cubG9jYXRpb24ucmVsb2FkLmJpbmQod2luZG93LmxvY2F0aW9uKVxuICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDguY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhczogXCJhXCIsXG4gICAgY2xhc3NOYW1lOiB0b3VjaGFibGVTdHlsZXMoeyBhY3RpdmU6IFwic2hyaW5rXCIsIGhvdmVyOiBcImdyb3dcIiB9KSxcbiAgICBkaXNwbGF5OiBcImJsb2NrXCIsXG4gICAgaHJlZjogKF9kID0gKF9jID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuZXh0ZW5zaW9uKSA9PSBudWxsID8gdm9pZCAwIDogX2MuaW5zdHJ1Y3Rpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2QubGVhcm5Nb3JlVXJsLFxuICAgIHBhZGRpbmdYOiBcIjEyXCIsXG4gICAgcGFkZGluZ1k6IFwiNFwiLFxuICAgIHJlbDogXCJub3JlZmVycmVyXCIsXG4gICAgc3R5bGU6IHsgd2lsbENoYW5nZTogXCJ0cmFuc2Zvcm1cIiB9LFxuICAgIHRhcmdldDogXCJfYmxhbmtcIixcbiAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJhY2NlbnRDb2xvclwiLFxuICAgIHNpemU6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIFwiTGVhcm4gTW9yZVwiKSkpKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvQ29ubmVjdE9wdGlvbnMvRGVza3RvcE9wdGlvbnMudHN4XG5mdW5jdGlvbiBEZXNrdG9wT3B0aW9ucyh7IG9uQ2xvc2UgfSkge1xuICBjb25zdCB0aXRsZUlkID0gXCJya19jb25uZWN0X3RpdGxlXCI7XG4gIGNvbnN0IHNhZmFyaSA9IGlzU2FmYXJpKCk7XG4gIGNvbnN0IFtzZWxlY3RlZE9wdGlvbklkLCBzZXRTZWxlY3RlZE9wdGlvbklkXSA9IHVzZVN0YXRlOCgpO1xuICBjb25zdCBbc2VsZWN0ZWRXYWxsZXQsIHNldFNlbGVjdGVkV2FsbGV0XSA9IHVzZVN0YXRlOCgpO1xuICBjb25zdCBbcXJDb2RlVXJpLCBzZXRRckNvZGVVcmldID0gdXNlU3RhdGU4KCk7XG4gIGNvbnN0IGhhc1FyQ29kZSA9ICEhKHNlbGVjdGVkV2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiBzZWxlY3RlZFdhbGxldC5xckNvZGUpICYmIHFyQ29kZVVyaTtcbiAgY29uc3QgW2Nvbm5lY3Rpb25FcnJvciwgc2V0Q29ubmVjdGlvbkVycm9yXSA9IHVzZVN0YXRlOChmYWxzZSk7XG4gIGNvbnN0IG1vZGFsU2l6ZSA9IHVzZUNvbnRleHQxMyhNb2RhbFNpemVDb250ZXh0KTtcbiAgY29uc3QgY29tcGFjdE1vZGVFbmFibGVkID0gbW9kYWxTaXplID09PSBNb2RhbFNpemVPcHRpb25zLkNPTVBBQ1Q7XG4gIGNvbnN0IHsgZGlzY2xhaW1lcjogRGlzY2xhaW1lciB9ID0gdXNlQ29udGV4dDEzKEFwcENvbnRleHQpO1xuICBjb25zdCB3YWxsZXRzID0gdXNlV2FsbGV0Q29ubmVjdG9ycygpLmZpbHRlcigod2FsbGV0KSA9PiB3YWxsZXQucmVhZHkgfHwgISF3YWxsZXQuZXh0ZW5zaW9uRG93bmxvYWRVcmwpLnNvcnQoKGEsIGIpID0+IGEuZ3JvdXBJbmRleCAtIGIuZ3JvdXBJbmRleCk7XG4gIGNvbnN0IGdyb3VwZWRXYWxsZXRzID0gZ3JvdXBCeSh3YWxsZXRzLCAod2FsbGV0KSA9PiB3YWxsZXQuZ3JvdXBOYW1lKTtcbiAgY29uc3QgY29ubmVjdFRvV2FsbGV0ID0gKHdhbGxldCkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIHNldENvbm5lY3Rpb25FcnJvcihmYWxzZSk7XG4gICAgaWYgKHdhbGxldC5yZWFkeSkge1xuICAgICAgKF9iID0gKF9hID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuY29ubmVjdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwod2FsbGV0KSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNhdGNoKCgpID0+IHtcbiAgICAgICAgc2V0Q29ubmVjdGlvbkVycm9yKHRydWUpO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBnZXREZXNrdG9wRGVlcExpbmsgPSAoX2MgPSB3YWxsZXQuZGVza3RvcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmdldFVyaTtcbiAgICAgIGlmIChnZXREZXNrdG9wRGVlcExpbmspIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXJpID0gYXdhaXQgZ2V0RGVza3RvcERlZXBMaW5rKCk7XG4gICAgICAgICAgd2luZG93Lm9wZW4odXJpLCBzYWZhcmkgPyBcIl9ibGFua1wiIDogXCJfc2VsZlwiKTtcbiAgICAgICAgfSwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuICBjb25zdCBzZWxlY3RXYWxsZXQgPSAod2FsbGV0KSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbm5lY3RUb1dhbGxldCh3YWxsZXQpO1xuICAgIHNldFNlbGVjdGVkT3B0aW9uSWQod2FsbGV0LmlkKTtcbiAgICBpZiAod2FsbGV0LnJlYWR5KSB7XG4gICAgICBsZXQgY2FsbGJhY2tGaXJlZCA9IGZhbHNlO1xuICAgICAgKF9hID0gd2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQub25Db25uZWN0aW5nKSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbCh3YWxsZXQsIGFzeW5jICgpID0+IHtcbiAgICAgICAgdmFyIF9hMiwgX2I7XG4gICAgICAgIGlmIChjYWxsYmFja0ZpcmVkKVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FsbGJhY2tGaXJlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHNXYWxsZXQgPSB3YWxsZXRzLmZpbmQoKHcpID0+IHdhbGxldC5pZCA9PT0gdy5pZCk7XG4gICAgICAgIGNvbnN0IHVyaSA9IGF3YWl0ICgoX2EyID0gc1dhbGxldCA9PSBudWxsID8gdm9pZCAwIDogc1dhbGxldC5xckNvZGUpID09IG51bGwgPyB2b2lkIDAgOiBfYTIuZ2V0VXJpKCkpO1xuICAgICAgICBzZXRRckNvZGVVcmkodXJpKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2VsZWN0ZWRXYWxsZXQoc1dhbGxldCk7XG4gICAgICAgICAgY2hhbmdlV2FsbGV0U3RlcChcIkNPTk5FQ1RcIiAvKiBDb25uZWN0ICovKTtcbiAgICAgICAgfSwgdXJpID8gMCA6IDUwKTtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCAoc1dhbGxldCA9PSBudWxsID8gdm9pZCAwIDogc1dhbGxldC5jb25uZWN0b3IuZ2V0UHJvdmlkZXIoKSk7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSAoX2IgPSBwcm92aWRlciA9PSBudWxsID8gdm9pZCAwIDogcHJvdmlkZXIuc2lnbmVyKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY29ubmVjdGlvbjtcbiAgICAgICAgaWYgKChjb25uZWN0aW9uID09IG51bGwgPyB2b2lkIDAgOiBjb25uZWN0aW9uLm9uKSAmJiAoY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5vZmYpKSB7XG4gICAgICAgICAgY29uc3QgaGFuZGxlQ29ubmVjdGlvbkNsb3NlID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVtb3ZlSGFuZGxlcnMoKTtcbiAgICAgICAgICAgIHNlbGVjdFdhbGxldCh3YWxsZXQpO1xuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgcmVtb3ZlSGFuZGxlcnMgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25uZWN0aW9uLm9mZihcImNsb3NlXCIsIGhhbmRsZUNvbm5lY3Rpb25DbG9zZSk7XG4gICAgICAgICAgICBjb25uZWN0aW9uLm9mZihcIm9wZW5cIiwgcmVtb3ZlSGFuZGxlcnMpO1xuICAgICAgICAgIH07XG4gICAgICAgICAgY29ubmVjdGlvbi5vbihcImNsb3NlXCIsIGhhbmRsZUNvbm5lY3Rpb25DbG9zZSk7XG4gICAgICAgICAgY29ubmVjdGlvbi5vbihcIm9wZW5cIiwgcmVtb3ZlSGFuZGxlcnMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2VsZWN0ZWRXYWxsZXQod2FsbGV0KTtcbiAgICAgIGNoYW5nZVdhbGxldFN0ZXAoKHdhbGxldCA9PSBudWxsID8gdm9pZCAwIDogd2FsbGV0LmV4dGVuc2lvbkRvd25sb2FkVXJsKSA/IFwiRE9XTkxPQURfT1BUSU9OU1wiIC8qIERvd25sb2FkT3B0aW9ucyAqLyA6IFwiQ09OTkVDVFwiIC8qIENvbm5lY3QgKi8pO1xuICAgIH1cbiAgfTtcbiAgY29uc3QgZ2V0V2FsbGV0RG93bmxvYWQgPSAoaWQpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgc2V0U2VsZWN0ZWRPcHRpb25JZChpZCk7XG4gICAgY29uc3Qgc1dhbGxldCA9IHdhbGxldHMuZmluZCgodykgPT4gaWQgPT09IHcuaWQpO1xuICAgIGNvbnN0IGlzTW9iaWxlMiA9IChfYSA9IHNXYWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHNXYWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2EucXJDb2RlO1xuICAgIGNvbnN0IGlzRXh0ZW5zaW9uID0gISEoc1dhbGxldCA9PSBudWxsID8gdm9pZCAwIDogc1dhbGxldC5leHRlbnNpb25Eb3dubG9hZFVybCk7XG4gICAgc2V0U2VsZWN0ZWRXYWxsZXQoc1dhbGxldCk7XG4gICAgaWYgKGlzTW9iaWxlMiAmJiBpc0V4dGVuc2lvbikge1xuICAgICAgY2hhbmdlV2FsbGV0U3RlcChcIkRPV05MT0FEX09QVElPTlNcIiAvKiBEb3dubG9hZE9wdGlvbnMgKi8pO1xuICAgIH0gZWxzZSBpZiAoaXNNb2JpbGUyKSB7XG4gICAgICBjaGFuZ2VXYWxsZXRTdGVwKFwiRE9XTkxPQURcIiAvKiBEb3dubG9hZCAqLyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoYW5nZVdhbGxldFN0ZXAoXCJJTlNUUlVDVElPTlNfRVhURU5TSU9OXCIgLyogSW5zdHJ1Y3Rpb25zRXh0ZW5zaW9uICovKTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IGNsZWFyU2VsZWN0ZWRXYWxsZXQgPSAoKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRPcHRpb25JZCh2b2lkIDApO1xuICAgIHNldFNlbGVjdGVkV2FsbGV0KHZvaWQgMCk7XG4gICAgc2V0UXJDb2RlVXJpKHZvaWQgMCk7XG4gIH07XG4gIGNvbnN0IGNoYW5nZVdhbGxldFN0ZXAgPSAobmV3V2FsbGV0U3RlcCwgaXNCYWNrID0gZmFsc2UpID0+IHtcbiAgICBpZiAoaXNCYWNrICYmIG5ld1dhbGxldFN0ZXAgPT09IFwiR0VUXCIgLyogR2V0ICovICYmIGluaXRpYWxXYWxsZXRTdGVwID09PSBcIkdFVFwiIC8qIEdldCAqLykge1xuICAgICAgY2xlYXJTZWxlY3RlZFdhbGxldCgpO1xuICAgIH0gZWxzZSBpZiAoIWlzQmFjayAmJiBuZXdXYWxsZXRTdGVwID09PSBcIkdFVFwiIC8qIEdldCAqLykge1xuICAgICAgc2V0SW5pdGlhbFdhbGxldFN0ZXAoXCJHRVRcIiAvKiBHZXQgKi8pO1xuICAgIH0gZWxzZSBpZiAoIWlzQmFjayAmJiBuZXdXYWxsZXRTdGVwID09PSBcIkNPTk5FQ1RcIiAvKiBDb25uZWN0ICovKSB7XG4gICAgICBzZXRJbml0aWFsV2FsbGV0U3RlcChcIkNPTk5FQ1RcIiAvKiBDb25uZWN0ICovKTtcbiAgICB9XG4gICAgc2V0V2FsbGV0U3RlcChuZXdXYWxsZXRTdGVwKTtcbiAgfTtcbiAgY29uc3QgW2luaXRpYWxXYWxsZXRTdGVwLCBzZXRJbml0aWFsV2FsbGV0U3RlcF0gPSB1c2VTdGF0ZTgoXCJOT05FXCIgLyogTm9uZSAqLyk7XG4gIGNvbnN0IFt3YWxsZXRTdGVwLCBzZXRXYWxsZXRTdGVwXSA9IHVzZVN0YXRlOChcIk5PTkVcIiAvKiBOb25lICovKTtcbiAgbGV0IHdhbGxldENvbnRlbnQgPSBudWxsO1xuICBsZXQgaGVhZGVyTGFiZWwgPSBudWxsO1xuICBsZXQgaGVhZGVyQmFja0J1dHRvbkxpbmsgPSBudWxsO1xuICBsZXQgaGVhZGVyQmFja0J1dHRvbkNhbGxiYWNrO1xuICB1c2VFZmZlY3QxNCgoKSA9PiB7XG4gICAgc2V0Q29ubmVjdGlvbkVycm9yKGZhbHNlKTtcbiAgfSwgW3dhbGxldFN0ZXAsIHNlbGVjdGVkV2FsbGV0XSk7XG4gIGNvbnN0IGhhc0V4dGVuc2lvbiA9ICEhKHNlbGVjdGVkV2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiBzZWxlY3RlZFdhbGxldC5leHRlbnNpb25Eb3dubG9hZFVybCk7XG4gIGNvbnN0IGhhc0V4dGVuc2lvbkFuZE1vYmlsZSA9ICEhKGhhc0V4dGVuc2lvbiAmJiAoc2VsZWN0ZWRXYWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHNlbGVjdGVkV2FsbGV0Lm1vYmlsZURvd25sb2FkVXJsKSk7XG4gIHN3aXRjaCAod2FsbGV0U3RlcCkge1xuICAgIGNhc2UgXCJOT05FXCIgLyogTm9uZSAqLzpcbiAgICAgIHdhbGxldENvbnRlbnQgPSAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KENvbm5lY3RNb2RhbEludHJvLCB7XG4gICAgICAgIGdldFdhbGxldDogKCkgPT4gY2hhbmdlV2FsbGV0U3RlcChcIkdFVFwiIC8qIEdldCAqLylcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcIkxFQVJOX0NPTVBBQ1RcIiAvKiBMZWFybkNvbXBhY3QgKi86XG4gICAgICB3YWxsZXRDb250ZW50ID0gLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChDb25uZWN0TW9kYWxJbnRybywge1xuICAgICAgICBjb21wYWN0TW9kZUVuYWJsZWQsXG4gICAgICAgIGdldFdhbGxldDogKCkgPT4gY2hhbmdlV2FsbGV0U3RlcChcIkdFVFwiIC8qIEdldCAqLylcbiAgICAgIH0pO1xuICAgICAgaGVhZGVyTGFiZWwgPSBcIldoYXQgaXMgYSBXYWxsZXQ/XCI7XG4gICAgICBoZWFkZXJCYWNrQnV0dG9uTGluayA9IFwiTk9ORVwiIC8qIE5vbmUgKi87XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiR0VUXCIgLyogR2V0ICovOlxuICAgICAgd2FsbGV0Q29udGVudCA9IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoR2V0RGV0YWlsLCB7XG4gICAgICAgIGdldFdhbGxldERvd25sb2FkXG4gICAgICB9KTtcbiAgICAgIGhlYWRlckxhYmVsID0gXCJHZXQgYSBXYWxsZXRcIjtcbiAgICAgIGhlYWRlckJhY2tCdXR0b25MaW5rID0gY29tcGFjdE1vZGVFbmFibGVkID8gXCJMRUFSTl9DT01QQUNUXCIgLyogTGVhcm5Db21wYWN0ICovIDogXCJOT05FXCIgLyogTm9uZSAqLztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJDT05ORUNUXCIgLyogQ29ubmVjdCAqLzpcbiAgICAgIHdhbGxldENvbnRlbnQgPSBzZWxlY3RlZFdhbGxldCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KENvbm5lY3REZXRhaWwsIHtcbiAgICAgICAgY2hhbmdlV2FsbGV0U3RlcCxcbiAgICAgICAgY29tcGFjdE1vZGVFbmFibGVkLFxuICAgICAgICBjb25uZWN0aW9uRXJyb3IsXG4gICAgICAgIG9uQ2xvc2UsXG4gICAgICAgIHFyQ29kZVVyaSxcbiAgICAgICAgcmVjb25uZWN0OiBjb25uZWN0VG9XYWxsZXQsXG4gICAgICAgIHdhbGxldDogc2VsZWN0ZWRXYWxsZXRcbiAgICAgIH0pO1xuICAgICAgaGVhZGVyTGFiZWwgPSBoYXNRckNvZGUgJiYgYFNjYW4gd2l0aCAke3NlbGVjdGVkV2FsbGV0Lm5hbWUgPT09IFwiV2FsbGV0Q29ubmVjdFwiID8gXCJ5b3VyIHBob25lXCIgOiBzZWxlY3RlZFdhbGxldC5uYW1lfWA7XG4gICAgICBoZWFkZXJCYWNrQnV0dG9uTGluayA9IGNvbXBhY3RNb2RlRW5hYmxlZCA/IFwiTk9ORVwiIC8qIE5vbmUgKi8gOiBudWxsO1xuICAgICAgaGVhZGVyQmFja0J1dHRvbkNhbGxiYWNrID0gY29tcGFjdE1vZGVFbmFibGVkID8gY2xlYXJTZWxlY3RlZFdhbGxldCA6ICgpID0+IHtcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiRE9XTkxPQURfT1BUSU9OU1wiIC8qIERvd25sb2FkT3B0aW9ucyAqLzpcbiAgICAgIHdhbGxldENvbnRlbnQgPSBzZWxlY3RlZFdhbGxldCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KERvd25sb2FkT3B0aW9uc0RldGFpbCwge1xuICAgICAgICBjaGFuZ2VXYWxsZXRTdGVwLFxuICAgICAgICB3YWxsZXQ6IHNlbGVjdGVkV2FsbGV0XG4gICAgICB9KTtcbiAgICAgIGhlYWRlckxhYmVsID0gc2VsZWN0ZWRXYWxsZXQgJiYgYEdldCAke3NlbGVjdGVkV2FsbGV0Lm5hbWV9YDtcbiAgICAgIGhlYWRlckJhY2tCdXR0b25MaW5rID0gaGFzRXh0ZW5zaW9uQW5kTW9iaWxlICYmIFwiQ09OTkVDVFwiIC8qIENvbm5lY3QgKi8gPyBpbml0aWFsV2FsbGV0U3RlcCA6IG51bGw7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiRE9XTkxPQURcIiAvKiBEb3dubG9hZCAqLzpcbiAgICAgIHdhbGxldENvbnRlbnQgPSBzZWxlY3RlZFdhbGxldCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KERvd25sb2FkRGV0YWlsLCB7XG4gICAgICAgIGNoYW5nZVdhbGxldFN0ZXAsXG4gICAgICAgIHdhbGxldDogc2VsZWN0ZWRXYWxsZXRcbiAgICAgIH0pO1xuICAgICAgaGVhZGVyTGFiZWwgPSBzZWxlY3RlZFdhbGxldCAmJiBgSW5zdGFsbCAke3NlbGVjdGVkV2FsbGV0Lm5hbWV9YDtcbiAgICAgIGhlYWRlckJhY2tCdXR0b25MaW5rID0gaGFzRXh0ZW5zaW9uQW5kTW9iaWxlID8gXCJET1dOTE9BRF9PUFRJT05TXCIgLyogRG93bmxvYWRPcHRpb25zICovIDogaW5pdGlhbFdhbGxldFN0ZXA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiSU5TVFJVQ1RJT05TX01PQklMRVwiIC8qIEluc3RydWN0aW9uc01vYmlsZSAqLzpcbiAgICAgIHdhbGxldENvbnRlbnQgPSBzZWxlY3RlZFdhbGxldCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEluc3RydWN0aW9uTW9iaWxlRGV0YWlsLCB7XG4gICAgICAgIGNvbm5lY3RXYWxsZXQ6IHNlbGVjdFdhbGxldCxcbiAgICAgICAgd2FsbGV0OiBzZWxlY3RlZFdhbGxldFxuICAgICAgfSk7XG4gICAgICBoZWFkZXJMYWJlbCA9IHNlbGVjdGVkV2FsbGV0ICYmIGBHZXQgc3RhcnRlZCB3aXRoICR7Y29tcGFjdE1vZGVFbmFibGVkID8gc2VsZWN0ZWRXYWxsZXQuc2hvcnROYW1lIHx8IHNlbGVjdGVkV2FsbGV0Lm5hbWUgOiBzZWxlY3RlZFdhbGxldC5uYW1lfWA7XG4gICAgICBoZWFkZXJCYWNrQnV0dG9uTGluayA9IFwiRE9XTkxPQURcIiAvKiBEb3dubG9hZCAqLztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJJTlNUUlVDVElPTlNfRVhURU5TSU9OXCIgLyogSW5zdHJ1Y3Rpb25zRXh0ZW5zaW9uICovOlxuICAgICAgd2FsbGV0Q29udGVudCA9IHNlbGVjdGVkV2FsbGV0ICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoSW5zdHJ1Y3Rpb25FeHRlbnNpb25EZXRhaWwsIHtcbiAgICAgICAgd2FsbGV0OiBzZWxlY3RlZFdhbGxldFxuICAgICAgfSk7XG4gICAgICBoZWFkZXJMYWJlbCA9IHNlbGVjdGVkV2FsbGV0ICYmIGBHZXQgc3RhcnRlZCB3aXRoICR7Y29tcGFjdE1vZGVFbmFibGVkID8gc2VsZWN0ZWRXYWxsZXQuc2hvcnROYW1lIHx8IHNlbGVjdGVkV2FsbGV0Lm5hbWUgOiBzZWxlY3RlZFdhbGxldC5uYW1lfWA7XG4gICAgICBoZWFkZXJCYWNrQnV0dG9uTGluayA9IFwiRE9XTkxPQURfT1BUSU9OU1wiIC8qIERvd25sb2FkT3B0aW9ucyAqLztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIHN0eWxlOiB7IG1heEhlaWdodDogY29tcGFjdE1vZGVFbmFibGVkID8gNDY4IDogNTA0IH1cbiAgfSwgKGNvbXBhY3RNb2RlRW5hYmxlZCA/IHdhbGxldFN0ZXAgPT09IFwiTk9ORVwiIC8qIE5vbmUgKi8gOiB0cnVlKSAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGNsYXNzTmFtZTogY29tcGFjdE1vZGVFbmFibGVkID8gc2lkZWJhckNvbXBhY3RNb2RlIDogc2lkZWJhcixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIG1hcmdpblRvcDogXCIxNlwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiXG4gIH0sIGNvbXBhY3RNb2RlRW5hYmxlZCAmJiBEaXNjbGFpbWVyICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgbWFyZ2luTGVmdDogXCIxNlwiLFxuICAgIHdpZHRoOiBcIjI4XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChJbmZvQnV0dG9uLCB7XG4gICAgb25DbGljazogKCkgPT4gY2hhbmdlV2FsbGV0U3RlcChcIkxFQVJOX0NPTVBBQ1RcIiAvKiBMZWFybkNvbXBhY3QgKi8pXG4gIH0pKSwgY29tcGFjdE1vZGVFbmFibGVkICYmICFEaXNjbGFpbWVyICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgbWFyZ2luTGVmdDogXCIxNlwiLFxuICAgIHdpZHRoOiBcIjI4XCJcbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgbWFyZ2luTGVmdDogY29tcGFjdE1vZGVFbmFibGVkID8gXCIwXCIgOiBcIjZcIixcbiAgICBwYWRkaW5nQm90dG9tOiBcIjhcIixcbiAgICBwYWRkaW5nVG9wOiBcIjJcIixcbiAgICBwYWRkaW5nWDogXCIxOFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGFzOiBcImgxXCIsXG4gICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgaWQ6IHRpdGxlSWQsXG4gICAgc2l6ZTogXCIxOFwiLFxuICAgIHdlaWdodDogXCJoZWF2eVwiXG4gIH0sIFwiQ29ubmVjdCBhIFdhbGxldFwiKSksIGNvbXBhY3RNb2RlRW5hYmxlZCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIG1hcmdpblJpZ2h0OiBcIjE2XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChDbG9zZUJ1dHRvbiwge1xuICAgIG9uQ2xvc2VcbiAgfSkpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBjbGFzc05hbWU6IFNjcm9sbENsYXNzTmFtZSxcbiAgICBwYWRkaW5nQm90dG9tOiBcIjE4XCJcbiAgfSwgT2JqZWN0LmVudHJpZXMoZ3JvdXBlZFdhbGxldHMpLm1hcCgoW2dyb3VwTmFtZSwgd2FsbGV0czJdLCBpbmRleCkgPT4gd2FsbGV0czIubGVuZ3RoID4gMCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEZyYWdtZW50Miwge1xuICAgIGtleTogaW5kZXhcbiAgfSwgZ3JvdXBOYW1lID8gLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBtYXJnaW5Cb3R0b206IFwiOFwiLFxuICAgIG1hcmdpblRvcDogXCIxNlwiLFxuICAgIG1hcmdpblg6IFwiNlwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgIHNpemU6IFwiMTRcIixcbiAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gIH0sIGdyb3VwTmFtZSkpIDogbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIGdhcDogXCI0XCJcbiAgfSwgd2FsbGV0czIubWFwKCh3YWxsZXQpID0+IHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChNb2RhbFNlbGVjdGlvbiwge1xuICAgICAgY3VycmVudGx5U2VsZWN0ZWQ6IHdhbGxldC5pZCA9PT0gc2VsZWN0ZWRPcHRpb25JZCxcbiAgICAgIGljb25CYWNrZ3JvdW5kOiB3YWxsZXQuaWNvbkJhY2tncm91bmQsXG4gICAgICBpY29uVXJsOiB3YWxsZXQuaWNvblVybCxcbiAgICAgIGtleTogd2FsbGV0LmlkLFxuICAgICAgbmFtZTogd2FsbGV0Lm5hbWUsXG4gICAgICBvbkNsaWNrOiAoKSA9PiBzZWxlY3RXYWxsZXQod2FsbGV0KSxcbiAgICAgIHJlYWR5OiB3YWxsZXQucmVhZHksXG4gICAgICByZWNlbnQ6IHdhbGxldC5yZWNlbnQsXG4gICAgICB0ZXN0SWQ6IGB3YWxsZXQtb3B0aW9uLSR7d2FsbGV0LmlkfWBcbiAgICB9KTtcbiAgfSkpKSkpLCBjb21wYWN0TW9kZUVuYWJsZWQgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChSZWFjdDQ5LkZyYWdtZW50LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGJhY2tncm91bmQ6IFwiZ2VuZXJhbEJvcmRlclwiLFxuICAgIGhlaWdodDogXCIxXCIsXG4gICAgbWFyZ2luVG9wOiBcIi0xXCJcbiAgfSksIERpc2NsYWltZXIgPyAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIHBhZGRpbmdYOiBcIjI0XCIsXG4gICAgcGFkZGluZ1k6IFwiMTZcIixcbiAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChEaXNjbGFpbWVyLCB7XG4gICAgTGluazogRGlzY2xhaW1lckxpbmssXG4gICAgVGV4dDogRGlzY2xhaW1lclRleHRcbiAgfSkpIDogLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIixcbiAgICBwYWRkaW5nWDogXCIyNFwiLFxuICAgIHBhZGRpbmdZOiBcIjE2XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBwYWRkaW5nWTogXCI0XCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgY29sb3I6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCBcIk5ldyB0byBFdGhlcmV1bSB3YWxsZXRzP1wiKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGdhcDogXCI0XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7XG4gICAgICBhY3RpdmU6IFwic2hyaW5rXCIsXG4gICAgICBob3ZlcjogXCJncm93XCJcbiAgICB9KSxcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIG9uQ2xpY2s6ICgpID0+IGNoYW5nZVdhbGxldFN0ZXAoXCJMRUFSTl9DT01QQUNUXCIgLyogTGVhcm5Db21wYWN0ICovKSxcbiAgICBwYWRkaW5nWTogXCI0XCIsXG4gICAgc3R5bGU6IHsgd2lsbENoYW5nZTogXCJ0cmFuc2Zvcm1cIiB9LFxuICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGNvbG9yOiBcImFjY2VudENvbG9yXCIsXG4gICAgc2l6ZTogXCIxNFwiLFxuICAgIHdlaWdodDogXCJib2xkXCJcbiAgfSwgXCJMZWFybiBNb3JlXCIpKSkpKSksIChjb21wYWN0TW9kZUVuYWJsZWQgPyB3YWxsZXRTdGVwICE9PSBcIk5PTkVcIiAvKiBOb25lICovIDogdHJ1ZSkgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChSZWFjdDQ5LkZyYWdtZW50LCBudWxsLCAhY29tcGFjdE1vZGVFbmFibGVkICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYmFja2dyb3VuZDogXCJnZW5lcmFsQm9yZGVyXCIsXG4gICAgbWluV2lkdGg6IFwiMVwiLFxuICAgIHdpZHRoOiBcIjFcIlxuICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIG1hcmdpbjogXCIxNlwiLFxuICAgIHN0eWxlOiB7IGZsZXhHcm93OiAxIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIixcbiAgICBtYXJnaW5Cb3R0b206IFwiMTJcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIHdpZHRoOiBcIjI4XCJcbiAgfSwgaGVhZGVyQmFja0J1dHRvbkxpbmsgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhczogXCJidXR0b25cIixcbiAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7XG4gICAgICBhY3RpdmU6IFwic2hyaW5rU21cIixcbiAgICAgIGhvdmVyOiBcImdyb3dMZ1wiXG4gICAgfSksXG4gICAgY29sb3I6IFwiYWNjZW50Q29sb3JcIixcbiAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICBoZWFkZXJCYWNrQnV0dG9uTGluayAmJiBjaGFuZ2VXYWxsZXRTdGVwKGhlYWRlckJhY2tCdXR0b25MaW5rLCB0cnVlKTtcbiAgICAgIGhlYWRlckJhY2tCdXR0b25DYWxsYmFjayA9PSBudWxsID8gdm9pZCAwIDogaGVhZGVyQmFja0J1dHRvbkNhbGxiYWNrKCk7XG4gICAgfSxcbiAgICBwYWRkaW5nWDogXCI4XCIsXG4gICAgcGFkZGluZ1k6IFwiNFwiLFxuICAgIHN0eWxlOiB7XG4gICAgICBib3hTaXppbmc6IFwiY29udGVudC1ib3hcIixcbiAgICAgIGhlaWdodDogMTcsXG4gICAgICB3aWxsQ2hhbmdlOiBcInRyYW5zZm9ybVwiXG4gICAgfSxcbiAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIixcbiAgICB0eXBlOiBcImJ1dHRvblwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQmFja0ljb24sIG51bGwpKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgc3R5bGU6IHsgZmxleEdyb3c6IDEgfVxuICB9LCBoZWFkZXJMYWJlbCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q0OS5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICBzaXplOiBcIjE4XCIsXG4gICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgIHdlaWdodDogXCJoZWF2eVwiXG4gIH0sIGhlYWRlckxhYmVsKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDQ5LmNyZWF0ZUVsZW1lbnQoQ2xvc2VCdXR0b24sIHtcbiAgICBvbkNsb3NlXG4gIH0pKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIHN0eWxlOiB7IG1pbkhlaWdodDogY29tcGFjdE1vZGVFbmFibGVkID8gMzk2IDogNDMyIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NDkuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgZ2FwOiBcIjZcIixcbiAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIG1hcmdpblg6IFwiOFwiXG4gIH0sIHdhbGxldENvbnRlbnQpKSkpKTtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvQ29ubmVjdE9wdGlvbnMvTW9iaWxlT3B0aW9ucy50c3hcbmltcG9ydCBSZWFjdDUwLCB7IHVzZUNhbGxiYWNrIGFzIHVzZUNhbGxiYWNrNywgdXNlQ29udGV4dCBhcyB1c2VDb250ZXh0MTQsIHVzZVN0YXRlIGFzIHVzZVN0YXRlOSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0T3B0aW9ucy9Nb2JpbGVPcHRpb25zLmNzcy50c1xudmFyIHNjcm9sbCA9IFwiXzFhbTE0NDEwXCI7XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RPcHRpb25zL01vYmlsZU9wdGlvbnMudHN4XG5mdW5jdGlvbiBXYWxsZXRCdXR0b24oe1xuICBvbkNsb3NlLFxuICB3YWxsZXRcbn0pIHtcbiAgY29uc3Qge1xuICAgIGNvbm5lY3QsXG4gICAgY29ubmVjdG9yLFxuICAgIGljb25CYWNrZ3JvdW5kLFxuICAgIGljb25VcmwsXG4gICAgaWQsXG4gICAgbW9iaWxlLFxuICAgIG5hbWUsXG4gICAgb25Db25uZWN0aW5nLFxuICAgIHJlYWR5LFxuICAgIHNob3J0TmFtZVxuICB9ID0gd2FsbGV0O1xuICBjb25zdCBnZXRNb2JpbGVVcmkgPSBtb2JpbGUgPT0gbnVsbCA/IHZvaWQgMCA6IG1vYmlsZS5nZXRVcmk7XG4gIGNvbnN0IGNvb2xNb2RlUmVmID0gdXNlQ29vbE1vZGUoaWNvblVybCk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFzOiBcImJ1dHRvblwiLFxuICAgIGNvbG9yOiByZWFkeSA/IFwibW9kYWxUZXh0XCIgOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgIGRpc2FibGVkOiAhcmVhZHksXG4gICAgZm9udEZhbWlseTogXCJib2R5XCIsXG4gICAga2V5OiBpZCxcbiAgICBvbkNsaWNrOiB1c2VDYWxsYmFjazcoYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKGlkID09PSBcIndhbGxldENvbm5lY3RcIilcbiAgICAgICAgb25DbG9zZSA9PSBudWxsID8gdm9pZCAwIDogb25DbG9zZSgpO1xuICAgICAgY29ubmVjdCA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdCgpO1xuICAgICAgbGV0IGNhbGxiYWNrRmlyZWQgPSBmYWxzZTtcbiAgICAgIG9uQ29ubmVjdGluZyA9PSBudWxsID8gdm9pZCAwIDogb25Db25uZWN0aW5nKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGNhbGxiYWNrRmlyZWQpXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjYWxsYmFja0ZpcmVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKGdldE1vYmlsZVVyaSkge1xuICAgICAgICAgIGNvbnN0IG1vYmlsZVVyaSA9IGF3YWl0IGdldE1vYmlsZVVyaSgpO1xuICAgICAgICAgIGlmIChjb25uZWN0b3IuaWQgPT09IFwid2FsbGV0Q29ubmVjdFwiIHx8IGNvbm5lY3Rvci5pZCA9PT0gXCJ3YWxsZXRDb25uZWN0TGVnYWN5XCIpIHtcbiAgICAgICAgICAgIHNldFdhbGxldENvbm5lY3REZWVwTGluayh7IG1vYmlsZVVyaSwgbmFtZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1vYmlsZVVyaS5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xuICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICAgICAgbGluay5ocmVmID0gbW9iaWxlVXJpO1xuICAgICAgICAgICAgbGluay50YXJnZXQgPSBcIl9ibGFua1wiO1xuICAgICAgICAgICAgbGluay5yZWwgPSBcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIjtcbiAgICAgICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBtb2JpbGVVcmk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCBbY29ubmVjdG9yLCBjb25uZWN0LCBnZXRNb2JpbGVVcmksIG9uQ29ubmVjdGluZywgb25DbG9zZSwgbmFtZSwgaWRdKSxcbiAgICByZWY6IGNvb2xNb2RlUmVmLFxuICAgIHN0eWxlOiB7IG92ZXJmbG93OiBcInZpc2libGVcIiwgdGV4dEFsaWduOiBcImNlbnRlclwiIH0sXG4gICAgdGVzdElkOiBgd2FsbGV0LW9wdGlvbi0ke2lkfWAsXG4gICAgdHlwZTogXCJidXR0b25cIixcbiAgICB3aWR0aDogXCJmdWxsXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBwYWRkaW5nQm90dG9tOiBcIjhcIixcbiAgICBwYWRkaW5nVG9wOiBcIjEwXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChBc3luY0ltYWdlLCB7XG4gICAgYmFja2dyb3VuZDogaWNvbkJhY2tncm91bmQsXG4gICAgYm9yZGVyUmFkaXVzOiBcIjEzXCIsXG4gICAgYm94U2hhZG93OiBcIndhbGxldExvZ29cIixcbiAgICBoZWlnaHQ6IFwiNjBcIixcbiAgICBzcmM6IGljb25VcmwsXG4gICAgd2lkdGg6IFwiNjBcIlxuICB9KSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgYXM6IFwiaDJcIixcbiAgICBjb2xvcjogd2FsbGV0LnJlYWR5ID8gXCJtb2RhbFRleHRcIiA6IFwibW9kYWxUZXh0U2Vjb25kYXJ5XCIsXG4gICAgc2l6ZTogXCIxM1wiLFxuICAgIHdlaWdodDogXCJtZWRpdW1cIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFzOiBcInNwYW5cIixcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiXG4gIH0sIHNob3J0TmFtZSAhPSBudWxsID8gc2hvcnROYW1lIDogbmFtZSwgIXdhbGxldC5yZWFkeSAmJiBcIiAodW5zdXBwb3J0ZWQpXCIpKSwgd2FsbGV0LnJlY2VudCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICBjb2xvcjogXCJhY2NlbnRDb2xvclwiLFxuICAgIHNpemU6IFwiMTJcIixcbiAgICB3ZWlnaHQ6IFwibWVkaXVtXCJcbiAgfSwgXCJSZWNlbnRcIikpKSk7XG59XG5mdW5jdGlvbiBNb2JpbGVPcHRpb25zKHsgb25DbG9zZSB9KSB7XG4gIHZhciBfYTtcbiAgY29uc3QgdGl0bGVJZCA9IFwicmtfY29ubmVjdF90aXRsZVwiO1xuICBjb25zdCB3YWxsZXRzID0gdXNlV2FsbGV0Q29ubmVjdG9ycygpO1xuICBjb25zdCB7IGRpc2NsYWltZXI6IERpc2NsYWltZXIsIGxlYXJuTW9yZVVybCB9ID0gdXNlQ29udGV4dDE0KEFwcENvbnRleHQpO1xuICBsZXQgaGVhZGVyTGFiZWwgPSBudWxsO1xuICBsZXQgd2FsbGV0Q29udGVudCA9IG51bGw7XG4gIGxldCBoZWFkZXJCYWNrZ3JvdW5kQ29udHJhc3QgPSBmYWxzZTtcbiAgbGV0IGhlYWRlckJhY2tCdXR0b25MaW5rID0gbnVsbDtcbiAgY29uc3QgW3dhbGxldFN0ZXAsIHNldFdhbGxldFN0ZXBdID0gdXNlU3RhdGU5KFwiQ09OTkVDVFwiIC8qIENvbm5lY3QgKi8pO1xuICBjb25zdCBpb3MgPSBpc0lPUygpO1xuICBzd2l0Y2ggKHdhbGxldFN0ZXApIHtcbiAgICBjYXNlIFwiQ09OTkVDVFwiIC8qIENvbm5lY3QgKi86IHtcbiAgICAgIGhlYWRlckxhYmVsID0gXCJDb25uZWN0IGEgV2FsbGV0XCI7XG4gICAgICBoZWFkZXJCYWNrZ3JvdW5kQ29udHJhc3QgPSB0cnVlO1xuICAgICAgd2FsbGV0Q29udGVudCA9IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCBudWxsLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBcInByb2ZpbGVGb3JlZ3JvdW5kXCIsXG4gICAgICAgIGNsYXNzTmFtZTogc2Nyb2xsLFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgcGFkZGluZ0JvdHRvbTogXCIyMFwiLFxuICAgICAgICBwYWRkaW5nVG9wOiBcIjZcIlxuICAgICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIHN0eWxlOiB7IG1hcmdpbjogXCIwIGF1dG9cIiB9XG4gICAgICB9LCB3YWxsZXRzLmZpbHRlcigod2FsbGV0KSA9PiB3YWxsZXQucmVhZHkpLm1hcCgod2FsbGV0KSA9PiB7XG4gICAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICAgIGtleTogd2FsbGV0LmlkLFxuICAgICAgICAgIHBhZGRpbmdYOiBcIjIwXCJcbiAgICAgICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgICB3aWR0aDogXCI2MFwiXG4gICAgICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoV2FsbGV0QnV0dG9uLCB7XG4gICAgICAgICAgb25DbG9zZSxcbiAgICAgICAgICB3YWxsZXRcbiAgICAgICAgfSkpKTtcbiAgICAgIH0pKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICAgIGJhY2tncm91bmQ6IFwiZ2VuZXJhbEJvcmRlclwiLFxuICAgICAgICBoZWlnaHQ6IFwiMVwiLFxuICAgICAgICBtYXJnaW5Cb3R0b206IFwiMzJcIixcbiAgICAgICAgbWFyZ2luVG9wOiBcIi0xXCJcbiAgICAgIH0pLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgZ2FwOiBcIjMyXCIsXG4gICAgICAgIHBhZGRpbmdYOiBcIjMyXCIsXG4gICAgICAgIHN0eWxlOiB7IHRleHRBbGlnbjogXCJjZW50ZXJcIiB9XG4gICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgZ2FwOiBcIjhcIixcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiXG4gICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICAgICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgICAgIHNpemU6IFwiMTZcIixcbiAgICAgICAgd2VpZ2h0OiBcImJvbGRcIlxuICAgICAgfSwgXCJXaGF0IGlzIGEgV2FsbGV0P1wiKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChUZXh0LCB7XG4gICAgICAgIGNvbG9yOiBcIm1vZGFsVGV4dFNlY29uZGFyeVwiLFxuICAgICAgICBzaXplOiBcIjE2XCJcbiAgICAgIH0sIFwiQSB3YWxsZXQgaXMgdXNlZCB0byBzZW5kLCByZWNlaXZlLCBzdG9yZSwgYW5kIGRpc3BsYXkgZGlnaXRhbCBhc3NldHMuIEl0XFx1MjAxOXMgYWxzbyBhIG5ldyB3YXkgdG8gbG9nIGluLCB3aXRob3V0IG5lZWRpbmcgdG8gY3JlYXRlIG5ldyBhY2NvdW50cyBhbmQgcGFzc3dvcmRzIG9uXFx4QTBldmVyeVxceEEwd2Vic2l0ZS5cIikpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgcGFkZGluZ1RvcDogXCIzMlwiLFxuICAgICAgICBwYWRkaW5nWDogXCIyMFwiXG4gICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZ2FwOiBcIjE0XCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiXG4gICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEFjdGlvbkJ1dHRvbiwge1xuICAgICAgICBsYWJlbDogXCJHZXQgYSBXYWxsZXRcIixcbiAgICAgICAgb25DbGljazogKCkgPT4gc2V0V2FsbGV0U3RlcChcIkdFVFwiIC8qIEdldCAqLyksXG4gICAgICAgIHNpemU6IFwibGFyZ2VcIixcbiAgICAgICAgdHlwZTogXCJzZWNvbmRhcnlcIlxuICAgICAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgICAgIGhyZWY6IGxlYXJuTW9yZVVybCxcbiAgICAgICAgbGFiZWw6IFwiTGVhcm4gTW9yZVwiLFxuICAgICAgICBzaXplOiBcImxhcmdlXCIsXG4gICAgICAgIHR5cGU6IFwic2Vjb25kYXJ5XCJcbiAgICAgIH0pKSksIERpc2NsYWltZXIgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgbWFyZ2luVG9wOiBcIjI4XCIsXG4gICAgICAgIG1hcmdpblg6IFwiMzJcIixcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiXG4gICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KERpc2NsYWltZXIsIHtcbiAgICAgICAgTGluazogRGlzY2xhaW1lckxpbmssXG4gICAgICAgIFRleHQ6IERpc2NsYWltZXJUZXh0XG4gICAgICB9KSkpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgXCJHRVRcIiAvKiBHZXQgKi86IHtcbiAgICAgIGhlYWRlckxhYmVsID0gXCJHZXQgYSBXYWxsZXRcIjtcbiAgICAgIGhlYWRlckJhY2tCdXR0b25MaW5rID0gXCJDT05ORUNUXCIgLyogQ29ubmVjdCAqLztcbiAgICAgIGNvbnN0IG1vYmlsZVdhbGxldHMgPSAoX2EgPSB3YWxsZXRzID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXRzLmZpbHRlcigod2FsbGV0KSA9PiB7XG4gICAgICAgIHZhciBfYTIsIF9iLCBfYztcbiAgICAgICAgcmV0dXJuICgoX2EyID0gd2FsbGV0LmRvd25sb2FkVXJscykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMi5pb3MpIHx8ICgoX2IgPSB3YWxsZXQuZG93bmxvYWRVcmxzKSA9PSBudWxsID8gdm9pZCAwIDogX2IuYW5kcm9pZCkgfHwgKChfYyA9IHdhbGxldC5kb3dubG9hZFVybHMpID09IG51bGwgPyB2b2lkIDAgOiBfYy5tb2JpbGUpO1xuICAgICAgfSkpID09IG51bGwgPyB2b2lkIDAgOiBfYS5zcGxpY2UoMCwgMyk7XG4gICAgICB3YWxsZXRDb250ZW50ID0gLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICBoZWlnaHQ6IFwiZnVsbFwiLFxuICAgICAgICBtYXJnaW5Cb3R0b206IFwiMzZcIixcbiAgICAgICAgbWFyZ2luVG9wOiBcIjVcIixcbiAgICAgICAgcGFkZGluZ1RvcDogXCIxMlwiLFxuICAgICAgICB3aWR0aDogXCJmdWxsXCJcbiAgICAgIH0sIG1vYmlsZVdhbGxldHMubWFwKCh3YWxsZXQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZG93bmxvYWRVcmxzLCBpY29uQmFja2dyb3VuZCwgaWNvblVybCwgbmFtZSB9ID0gd2FsbGV0O1xuICAgICAgICBpZiAoIShkb3dubG9hZFVybHMgPT0gbnVsbCA/IHZvaWQgMCA6IGRvd25sb2FkVXJscy5pb3MpICYmICEoZG93bmxvYWRVcmxzID09IG51bGwgPyB2b2lkIDAgOiBkb3dubG9hZFVybHMuYW5kcm9pZCkgJiYgIShkb3dubG9hZFVybHMgPT0gbnVsbCA/IHZvaWQgMCA6IGRvd25sb2FkVXJscy5tb2JpbGUpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgZ2FwOiBcIjE2XCIsXG4gICAgICAgICAga2V5OiB3YWxsZXQuaWQsXG4gICAgICAgICAgcGFkZGluZ1g6IFwiMjBcIixcbiAgICAgICAgICB3aWR0aDogXCJmdWxsXCJcbiAgICAgICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgICBzdHlsZTogeyBtaW5IZWlnaHQ6IDQ4LCBtaW5XaWR0aDogNDggfVxuICAgICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEFzeW5jSW1hZ2UsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBpY29uQmFja2dyb3VuZCxcbiAgICAgICAgICBib3JkZXJDb2xvcjogXCJnZW5lcmFsQm9yZGVyXCIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwXCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjQ4XCIsXG4gICAgICAgICAgc3JjOiBpY29uVXJsLFxuICAgICAgICAgIHdpZHRoOiBcIjQ4XCJcbiAgICAgICAgfSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgICAgd2lkdGg6IFwiZnVsbFwiXG4gICAgICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiNDhcIlxuICAgICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgICAgIHdpZHRoOiBcImZ1bGxcIlxuICAgICAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KFRleHQsIHtcbiAgICAgICAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICAgICAgICBzaXplOiBcIjE4XCIsXG4gICAgICAgICAgd2VpZ2h0OiBcImJvbGRcIlxuICAgICAgICB9LCBuYW1lKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQWN0aW9uQnV0dG9uLCB7XG4gICAgICAgICAgaHJlZjogKGlvcyA/IGRvd25sb2FkVXJscyA9PSBudWxsID8gdm9pZCAwIDogZG93bmxvYWRVcmxzLmlvcyA6IGRvd25sb2FkVXJscyA9PSBudWxsID8gdm9pZCAwIDogZG93bmxvYWRVcmxzLmFuZHJvaWQpIHx8IChkb3dubG9hZFVybHMgPT0gbnVsbCA/IHZvaWQgMCA6IGRvd25sb2FkVXJscy5tb2JpbGUpLFxuICAgICAgICAgIGxhYmVsOiBcIkdFVFwiLFxuICAgICAgICAgIHNpemU6IFwic21hbGxcIixcbiAgICAgICAgICB0eXBlOiBcInNlY29uZGFyeVwiXG4gICAgICAgIH0pKSwgaW5kZXggPCBtb2JpbGVXYWxsZXRzLmxlbmd0aCAtIDEgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBcImdlbmVyYWxCb3JkZXJEaW1cIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMVwiLFxuICAgICAgICAgIG1hcmdpblk6IFwiMTBcIixcbiAgICAgICAgICB3aWR0aDogXCJmdWxsXCJcbiAgICAgICAgfSkpKTtcbiAgICAgIH0pKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiBcIjQycHhcIiB9XG4gICAgICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGdhcDogXCIzNlwiLFxuICAgICAgICBwYWRkaW5nWDogXCIzNlwiLFxuICAgICAgICBzdHlsZTogeyB0ZXh0QWxpZ246IFwiY2VudGVyXCIgfVxuICAgICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGdhcDogXCIxMlwiLFxuICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCJcbiAgICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgICAgICBjb2xvcjogXCJtb2RhbFRleHRcIixcbiAgICAgICAgc2l6ZTogXCIxNlwiLFxuICAgICAgICB3ZWlnaHQ6IFwiYm9sZFwiXG4gICAgICB9LCBcIk5vdCB3aGF0IHlvdVxcdTIwMTlyZSBsb29raW5nIGZvcj9cIiksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgICAgICBjb2xvcjogXCJtb2RhbFRleHRTZWNvbmRhcnlcIixcbiAgICAgICAgc2l6ZTogXCIxNlwiXG4gICAgICB9LCBcIlNlbGVjdCBhIHdhbGxldCBvbiB0aGUgbWFpbiBzY3JlZW4gdG8gZ2V0IHN0YXJ0ZWQgd2l0aCBhIGRpZmZlcmVudCB3YWxsZXQgcHJvdmlkZXIuXCIpKSkpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgcGFkZGluZ0JvdHRvbTogXCIzNlwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgYmFja2dyb3VuZDogaGVhZGVyQmFja2dyb3VuZENvbnRyYXN0ID8gXCJwcm9maWxlRm9yZWdyb3VuZFwiIDogXCJtb2RhbEJhY2tncm91bmRcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgIHBhZGRpbmdCb3R0b206IFwiNFwiLFxuICAgIHBhZGRpbmdUb3A6IFwiMTRcIlxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgIHBhZGRpbmdCb3R0b206IFwiNlwiLFxuICAgIHBhZGRpbmdYOiBcIjIwXCIsXG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIlxuICB9LCBoZWFkZXJCYWNrQnV0dG9uTGluayAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgc3R5bGU6IHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBtYXJnaW5Cb3R0b206IC0yMCxcbiAgICAgIG1hcmdpblRvcDogLTIwXG4gICAgfVxuICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgYXM6IFwiYnV0dG9uXCIsXG4gICAgY2xhc3NOYW1lOiB0b3VjaGFibGVTdHlsZXMoe1xuICAgICAgYWN0aXZlOiBcInNocmlua1NtXCIsXG4gICAgICBob3ZlcjogXCJncm93TGdcIlxuICAgIH0pLFxuICAgIGNvbG9yOiBcImFjY2VudENvbG9yXCIsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgbWFyZ2luTGVmdDogXCI0XCIsXG4gICAgbWFyZ2luVG9wOiBcIjIwXCIsXG4gICAgb25DbGljazogKCkgPT4gc2V0V2FsbGV0U3RlcChoZWFkZXJCYWNrQnV0dG9uTGluayksXG4gICAgcGFkZGluZzogXCIxNlwiLFxuICAgIHN0eWxlOiB7IGhlaWdodDogMTcsIHdpbGxDaGFuZ2U6IFwidHJhbnNmb3JtXCIgfSxcbiAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIixcbiAgICB0eXBlOiBcImJ1dHRvblwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQmFja0ljb24sIG51bGwpKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgbWFyZ2luVG9wOiBcIjRcIixcbiAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgd2lkdGg6IFwiZnVsbFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoVGV4dCwge1xuICAgIGFzOiBcImgxXCIsXG4gICAgY29sb3I6IFwibW9kYWxUZXh0XCIsXG4gICAgaWQ6IHRpdGxlSWQsXG4gICAgc2l6ZTogXCIyMFwiLFxuICAgIHdlaWdodDogXCJib2xkXCJcbiAgfSwgaGVhZGVyTGFiZWwpKSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGhlaWdodDogXCIzMlwiLFxuICAgIHBhZGRpbmdSaWdodDogXCIxNFwiLFxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IFwiMFwiXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUwLmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiAtMjAsIG1hcmdpblRvcDogLTIwIH1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTAuY3JlYXRlRWxlbWVudChDbG9zZUJ1dHRvbiwge1xuICAgIG9uQ2xvc2VcbiAgfSkpKSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1MC5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCJcbiAgfSwgd2FsbGV0Q29udGVudCkpO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0T3B0aW9ucy9Db25uZWN0T3B0aW9ucy50c3hcbmZ1bmN0aW9uIENvbm5lY3RPcHRpb25zKHsgb25DbG9zZSB9KSB7XG4gIHJldHVybiBpc01vYmlsZSgpID8gLyogQF9fUFVSRV9fICovIFJlYWN0NTEuY3JlYXRlRWxlbWVudChNb2JpbGVPcHRpb25zLCB7XG4gICAgb25DbG9zZVxuICB9KSA6IC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUxLmNyZWF0ZUVsZW1lbnQoRGVza3RvcE9wdGlvbnMsIHtcbiAgICBvbkNsb3NlXG4gIH0pO1xufVxuXG4vLyBzcmMvY29tcG9uZW50cy9Db25uZWN0TW9kYWwvQ29ubmVjdE1vZGFsLnRzeFxuZnVuY3Rpb24gQ29ubmVjdE1vZGFsKHsgb25DbG9zZSwgb3BlbiB9KSB7XG4gIGNvbnN0IHRpdGxlSWQgPSBcInJrX2Nvbm5lY3RfdGl0bGVcIjtcbiAgY29uc3QgY29ubmVjdGlvblN0YXR1cyA9IHVzZUNvbm5lY3Rpb25TdGF0dXMoKTtcbiAgaWYgKGNvbm5lY3Rpb25TdGF0dXMgPT09IFwiZGlzY29ubmVjdGVkXCIpIHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NTIuY3JlYXRlRWxlbWVudChEaWFsb2csIHtcbiAgICAgIG9uQ2xvc2UsXG4gICAgICBvcGVuLFxuICAgICAgdGl0bGVJZFxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUyLmNyZWF0ZUVsZW1lbnQoRGlhbG9nQ29udGVudCwge1xuICAgICAgYm90dG9tU2hlZXRPbk1vYmlsZTogdHJ1ZSxcbiAgICAgIHBhZGRpbmc6IFwiMFwiLFxuICAgICAgd2lkZTogdHJ1ZVxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUyLmNyZWF0ZUVsZW1lbnQoQ29ubmVjdE9wdGlvbnMsIHtcbiAgICAgIG9uQ2xvc2VcbiAgICB9KSkpO1xuICB9XG4gIGlmIChjb25uZWN0aW9uU3RhdHVzID09PSBcInVuYXV0aGVudGljYXRlZFwiKSB7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUyLmNyZWF0ZUVsZW1lbnQoRGlhbG9nLCB7XG4gICAgICBvbkNsb3NlLFxuICAgICAgb3BlbixcbiAgICAgIHRpdGxlSWRcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1Mi5jcmVhdGVFbGVtZW50KERpYWxvZ0NvbnRlbnQsIHtcbiAgICAgIGJvdHRvbVNoZWV0T25Nb2JpbGU6IHRydWUsXG4gICAgICBwYWRkaW5nOiBcIjBcIlxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUyLmNyZWF0ZUVsZW1lbnQoU2lnbkluLCB7XG4gICAgICBvbkNsb3NlXG4gICAgfSkpKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gc3JjL2NvbXBvbmVudHMvUmFpbmJvd0tpdFByb3ZpZGVyL01vZGFsQ29udGV4dC50c3hcbmZ1bmN0aW9uIHVzZU1vZGFsU3RhdGVWYWx1ZSgpIHtcbiAgY29uc3QgW2lzTW9kYWxPcGVuLCBzZXRNb2RhbE9wZW5dID0gdXNlU3RhdGUxMChmYWxzZSk7XG4gIHJldHVybiB7XG4gICAgY2xvc2VNb2RhbDogdXNlQ2FsbGJhY2s4KCgpID0+IHNldE1vZGFsT3BlbihmYWxzZSksIFtdKSxcbiAgICBpc01vZGFsT3BlbixcbiAgICBvcGVuTW9kYWw6IHVzZUNhbGxiYWNrOCgoKSA9PiBzZXRNb2RhbE9wZW4odHJ1ZSksIFtdKVxuICB9O1xufVxudmFyIE1vZGFsQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQxMCh7XG4gIGFjY291bnRNb2RhbE9wZW46IGZhbHNlLFxuICBjaGFpbk1vZGFsT3BlbjogZmFsc2UsXG4gIGNvbm5lY3RNb2RhbE9wZW46IGZhbHNlXG59KTtcbmZ1bmN0aW9uIE1vZGFsUHJvdmlkZXIoeyBjaGlsZHJlbiB9KSB7XG4gIGNvbnN0IHtcbiAgICBjbG9zZU1vZGFsOiBjbG9zZUNvbm5lY3RNb2RhbCxcbiAgICBpc01vZGFsT3BlbjogY29ubmVjdE1vZGFsT3BlbixcbiAgICBvcGVuTW9kYWw6IG9wZW5Db25uZWN0TW9kYWxcbiAgfSA9IHVzZU1vZGFsU3RhdGVWYWx1ZSgpO1xuICBjb25zdCB7XG4gICAgY2xvc2VNb2RhbDogY2xvc2VBY2NvdW50TW9kYWwsXG4gICAgaXNNb2RhbE9wZW46IGFjY291bnRNb2RhbE9wZW4sXG4gICAgb3Blbk1vZGFsOiBvcGVuQWNjb3VudE1vZGFsXG4gIH0gPSB1c2VNb2RhbFN0YXRlVmFsdWUoKTtcbiAgY29uc3Qge1xuICAgIGNsb3NlTW9kYWw6IGNsb3NlQ2hhaW5Nb2RhbCxcbiAgICBpc01vZGFsT3BlbjogY2hhaW5Nb2RhbE9wZW4sXG4gICAgb3Blbk1vZGFsOiBvcGVuQ2hhaW5Nb2RhbFxuICB9ID0gdXNlTW9kYWxTdGF0ZVZhbHVlKCk7XG4gIGNvbnN0IGNvbm5lY3Rpb25TdGF0dXMgPSB1c2VDb25uZWN0aW9uU3RhdHVzKCk7XG4gIGNvbnN0IHsgY2hhaW4gfSA9IHVzZU5ldHdvcms2KCk7XG4gIGNvbnN0IGNoYWluU3VwcG9ydGVkID0gIShjaGFpbiA9PSBudWxsID8gdm9pZCAwIDogY2hhaW4udW5zdXBwb3J0ZWQpO1xuICBmdW5jdGlvbiBjbG9zZU1vZGFscyh7XG4gICAga2VlcENvbm5lY3RNb2RhbE9wZW4gPSBmYWxzZVxuICB9ID0ge30pIHtcbiAgICBpZiAoIWtlZXBDb25uZWN0TW9kYWxPcGVuKSB7XG4gICAgICBjbG9zZUNvbm5lY3RNb2RhbCgpO1xuICAgIH1cbiAgICBjbG9zZUFjY291bnRNb2RhbCgpO1xuICAgIGNsb3NlQ2hhaW5Nb2RhbCgpO1xuICB9XG4gIGNvbnN0IGlzVW5hdXRoZW50aWNhdGVkID0gdXNlQXV0aGVudGljYXRpb25TdGF0dXMoKSA9PT0gXCJ1bmF1dGhlbnRpY2F0ZWRcIjtcbiAgdXNlQWNjb3VudDEwKHtcbiAgICBvbkNvbm5lY3Q6ICgpID0+IGNsb3NlTW9kYWxzKHsga2VlcENvbm5lY3RNb2RhbE9wZW46IGlzVW5hdXRoZW50aWNhdGVkIH0pLFxuICAgIG9uRGlzY29ubmVjdDogKCkgPT4gY2xvc2VNb2RhbHMoKVxuICB9KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUzLmNyZWF0ZUVsZW1lbnQoTW9kYWxDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IHVzZU1lbW82KCgpID0+ICh7XG4gICAgICBhY2NvdW50TW9kYWxPcGVuLFxuICAgICAgY2hhaW5Nb2RhbE9wZW4sXG4gICAgICBjb25uZWN0TW9kYWxPcGVuLFxuICAgICAgb3BlbkFjY291bnRNb2RhbDogY2hhaW5TdXBwb3J0ZWQgJiYgY29ubmVjdGlvblN0YXR1cyA9PT0gXCJjb25uZWN0ZWRcIiA/IG9wZW5BY2NvdW50TW9kYWwgOiB2b2lkIDAsXG4gICAgICBvcGVuQ2hhaW5Nb2RhbDogY29ubmVjdGlvblN0YXR1cyA9PT0gXCJjb25uZWN0ZWRcIiA/IG9wZW5DaGFpbk1vZGFsIDogdm9pZCAwLFxuICAgICAgb3BlbkNvbm5lY3RNb2RhbDogY29ubmVjdGlvblN0YXR1cyA9PT0gXCJkaXNjb25uZWN0ZWRcIiB8fCBjb25uZWN0aW9uU3RhdHVzID09PSBcInVuYXV0aGVudGljYXRlZFwiID8gb3BlbkNvbm5lY3RNb2RhbCA6IHZvaWQgMFxuICAgIH0pLCBbXG4gICAgICBjb25uZWN0aW9uU3RhdHVzLFxuICAgICAgY2hhaW5TdXBwb3J0ZWQsXG4gICAgICBhY2NvdW50TW9kYWxPcGVuLFxuICAgICAgY2hhaW5Nb2RhbE9wZW4sXG4gICAgICBjb25uZWN0TW9kYWxPcGVuLFxuICAgICAgb3BlbkFjY291bnRNb2RhbCxcbiAgICAgIG9wZW5DaGFpbk1vZGFsLFxuICAgICAgb3BlbkNvbm5lY3RNb2RhbFxuICAgIF0pXG4gIH0sIGNoaWxkcmVuLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1My5jcmVhdGVFbGVtZW50KENvbm5lY3RNb2RhbCwge1xuICAgIG9uQ2xvc2U6IGNsb3NlQ29ubmVjdE1vZGFsLFxuICAgIG9wZW46IGNvbm5lY3RNb2RhbE9wZW5cbiAgfSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDUzLmNyZWF0ZUVsZW1lbnQoQWNjb3VudE1vZGFsLCB7XG4gICAgb25DbG9zZTogY2xvc2VBY2NvdW50TW9kYWwsXG4gICAgb3BlbjogYWNjb3VudE1vZGFsT3BlblxuICB9KSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTMuY3JlYXRlRWxlbWVudChDaGFpbk1vZGFsLCB7XG4gICAgb25DbG9zZTogY2xvc2VDaGFpbk1vZGFsLFxuICAgIG9wZW46IGNoYWluTW9kYWxPcGVuXG4gIH0pKTtcbn1cbmZ1bmN0aW9uIHVzZU1vZGFsU3RhdGUoKSB7XG4gIGNvbnN0IHsgYWNjb3VudE1vZGFsT3BlbiwgY2hhaW5Nb2RhbE9wZW4sIGNvbm5lY3RNb2RhbE9wZW4gfSA9IHVzZUNvbnRleHQxNShNb2RhbENvbnRleHQpO1xuICByZXR1cm4ge1xuICAgIGFjY291bnRNb2RhbE9wZW4sXG4gICAgY2hhaW5Nb2RhbE9wZW4sXG4gICAgY29ubmVjdE1vZGFsT3BlblxuICB9O1xufVxuZnVuY3Rpb24gdXNlQWNjb3VudE1vZGFsKCkge1xuICBjb25zdCB7IGFjY291bnRNb2RhbE9wZW4sIG9wZW5BY2NvdW50TW9kYWwgfSA9IHVzZUNvbnRleHQxNShNb2RhbENvbnRleHQpO1xuICByZXR1cm4geyBhY2NvdW50TW9kYWxPcGVuLCBvcGVuQWNjb3VudE1vZGFsIH07XG59XG5mdW5jdGlvbiB1c2VDaGFpbk1vZGFsKCkge1xuICBjb25zdCB7IGNoYWluTW9kYWxPcGVuLCBvcGVuQ2hhaW5Nb2RhbCB9ID0gdXNlQ29udGV4dDE1KE1vZGFsQ29udGV4dCk7XG4gIHJldHVybiB7IGNoYWluTW9kYWxPcGVuLCBvcGVuQ2hhaW5Nb2RhbCB9O1xufVxuZnVuY3Rpb24gdXNlQ29ubmVjdE1vZGFsKCkge1xuICBjb25zdCB7IGNvbm5lY3RNb2RhbE9wZW4sIG9wZW5Db25uZWN0TW9kYWwgfSA9IHVzZUNvbnRleHQxNShNb2RhbENvbnRleHQpO1xuICByZXR1cm4geyBjb25uZWN0TW9kYWxPcGVuLCBvcGVuQ29ubmVjdE1vZGFsIH07XG59XG5cbi8vIHNyYy9jb21wb25lbnRzL0Nvbm5lY3RCdXR0b24vQ29ubmVjdEJ1dHRvblJlbmRlcmVyLnRzeFxudmFyIG5vb3AgPSAoKSA9PiB7XG59O1xuZnVuY3Rpb24gQ29ubmVjdEJ1dHRvblJlbmRlcmVyKHtcbiAgY2hpbGRyZW5cbn0pIHtcbiAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICBjb25zdCBtb3VudGVkID0gdXNlSXNNb3VudGVkKCk7XG4gIGNvbnN0IHsgYWRkcmVzcyB9ID0gdXNlQWNjb3VudDExKCk7XG4gIGNvbnN0IGVuc05hbWUgPSB1c2VNYWlubmV0RW5zTmFtZShhZGRyZXNzKTtcbiAgY29uc3QgZW5zQXZhdGFyID0gdXNlTWFpbm5ldEVuc0F2YXRhcihlbnNOYW1lKTtcbiAgY29uc3QgeyBkYXRhOiBiYWxhbmNlRGF0YSB9ID0gdXNlQmFsYW5jZTIoeyBhZGRyZXNzIH0pO1xuICBjb25zdCB7IGNoYWluOiBhY3RpdmVDaGFpbiB9ID0gdXNlTmV0d29yazcoKTtcbiAgY29uc3QgcmFpbmJvd2tpdENoYWluc0J5SWQgPSB1c2VSYWluYm93S2l0Q2hhaW5zQnlJZCgpO1xuICBjb25zdCBhdXRoZW50aWNhdGlvblN0YXR1cyA9IChfYSA9IHVzZUF1dGhlbnRpY2F0aW9uU3RhdHVzKCkpICE9IG51bGwgPyBfYSA6IHZvaWQgMDtcbiAgY29uc3QgcmFpbmJvd0tpdENoYWluID0gYWN0aXZlQ2hhaW4gPyByYWluYm93a2l0Q2hhaW5zQnlJZFthY3RpdmVDaGFpbi5pZF0gOiB2b2lkIDA7XG4gIGNvbnN0IGNoYWluTmFtZSA9IChfYiA9IHJhaW5ib3dLaXRDaGFpbiA9PSBudWxsID8gdm9pZCAwIDogcmFpbmJvd0tpdENoYWluLm5hbWUpICE9IG51bGwgPyBfYiA6IHZvaWQgMDtcbiAgY29uc3QgY2hhaW5JY29uVXJsID0gKF9jID0gcmFpbmJvd0tpdENoYWluID09IG51bGwgPyB2b2lkIDAgOiByYWluYm93S2l0Q2hhaW4uaWNvblVybCkgIT0gbnVsbCA/IF9jIDogdm9pZCAwO1xuICBjb25zdCBjaGFpbkljb25CYWNrZ3JvdW5kID0gKF9kID0gcmFpbmJvd0tpdENoYWluID09IG51bGwgPyB2b2lkIDAgOiByYWluYm93S2l0Q2hhaW4uaWNvbkJhY2tncm91bmQpICE9IG51bGwgPyBfZCA6IHZvaWQgMDtcbiAgY29uc3QgcmVzb2x2ZWRDaGFpbkljb25VcmwgPSB1c2VBc3luY0ltYWdlKGNoYWluSWNvblVybCk7XG4gIGNvbnN0IHNob3dSZWNlbnRUcmFuc2FjdGlvbnMgPSB1c2VDb250ZXh0MTYoU2hvd1JlY2VudFRyYW5zYWN0aW9uc0NvbnRleHQpO1xuICBjb25zdCBoYXNQZW5kaW5nVHJhbnNhY3Rpb25zID0gdXNlUmVjZW50VHJhbnNhY3Rpb25zKCkuc29tZSgoeyBzdGF0dXMgfSkgPT4gc3RhdHVzID09PSBcInBlbmRpbmdcIikgJiYgc2hvd1JlY2VudFRyYW5zYWN0aW9ucztcbiAgY29uc3QgZGlzcGxheUJhbGFuY2UgPSBiYWxhbmNlRGF0YSA/IGAke2FiYnJldmlhdGVFVEhCYWxhbmNlKHBhcnNlRmxvYXQoYmFsYW5jZURhdGEuZm9ybWF0dGVkKSl9ICR7YmFsYW5jZURhdGEuc3ltYm9sfWAgOiB2b2lkIDA7XG4gIGNvbnN0IHsgb3BlbkNvbm5lY3RNb2RhbCB9ID0gdXNlQ29ubmVjdE1vZGFsKCk7XG4gIGNvbnN0IHsgb3BlbkNoYWluTW9kYWwgfSA9IHVzZUNoYWluTW9kYWwoKTtcbiAgY29uc3QgeyBvcGVuQWNjb3VudE1vZGFsIH0gPSB1c2VBY2NvdW50TW9kYWwoKTtcbiAgY29uc3QgeyBhY2NvdW50TW9kYWxPcGVuLCBjaGFpbk1vZGFsT3BlbiwgY29ubmVjdE1vZGFsT3BlbiB9ID0gdXNlTW9kYWxTdGF0ZSgpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NTQuY3JlYXRlRWxlbWVudChSZWFjdDU0LkZyYWdtZW50LCBudWxsLCBjaGlsZHJlbih7XG4gICAgYWNjb3VudDogYWRkcmVzcyA/IHtcbiAgICAgIGFkZHJlc3MsXG4gICAgICBiYWxhbmNlRGVjaW1hbHM6IGJhbGFuY2VEYXRhID09IG51bGwgPyB2b2lkIDAgOiBiYWxhbmNlRGF0YS5kZWNpbWFscyxcbiAgICAgIGJhbGFuY2VGb3JtYXR0ZWQ6IGJhbGFuY2VEYXRhID09IG51bGwgPyB2b2lkIDAgOiBiYWxhbmNlRGF0YS5mb3JtYXR0ZWQsXG4gICAgICBiYWxhbmNlU3ltYm9sOiBiYWxhbmNlRGF0YSA9PSBudWxsID8gdm9pZCAwIDogYmFsYW5jZURhdGEuc3ltYm9sLFxuICAgICAgZGlzcGxheUJhbGFuY2UsXG4gICAgICBkaXNwbGF5TmFtZTogZW5zTmFtZSA/IGZvcm1hdEVOUyhlbnNOYW1lKSA6IGZvcm1hdEFkZHJlc3MoYWRkcmVzcyksXG4gICAgICBlbnNBdmF0YXI6IGVuc0F2YXRhciAhPSBudWxsID8gZW5zQXZhdGFyIDogdm9pZCAwLFxuICAgICAgZW5zTmFtZTogZW5zTmFtZSAhPSBudWxsID8gZW5zTmFtZSA6IHZvaWQgMCxcbiAgICAgIGhhc1BlbmRpbmdUcmFuc2FjdGlvbnNcbiAgICB9IDogdm9pZCAwLFxuICAgIGFjY291bnRNb2RhbE9wZW4sXG4gICAgYXV0aGVudGljYXRpb25TdGF0dXMsXG4gICAgY2hhaW46IGFjdGl2ZUNoYWluID8ge1xuICAgICAgaGFzSWNvbjogQm9vbGVhbihjaGFpbkljb25VcmwpLFxuICAgICAgaWNvbkJhY2tncm91bmQ6IGNoYWluSWNvbkJhY2tncm91bmQsXG4gICAgICBpY29uVXJsOiByZXNvbHZlZENoYWluSWNvblVybCxcbiAgICAgIGlkOiBhY3RpdmVDaGFpbi5pZCxcbiAgICAgIG5hbWU6IGNoYWluTmFtZSAhPSBudWxsID8gY2hhaW5OYW1lIDogYWN0aXZlQ2hhaW4ubmFtZSxcbiAgICAgIHVuc3VwcG9ydGVkOiBhY3RpdmVDaGFpbi51bnN1cHBvcnRlZFxuICAgIH0gOiB2b2lkIDAsXG4gICAgY2hhaW5Nb2RhbE9wZW4sXG4gICAgY29ubmVjdE1vZGFsT3BlbixcbiAgICBtb3VudGVkLFxuICAgIG9wZW5BY2NvdW50TW9kYWw6IG9wZW5BY2NvdW50TW9kYWwgIT0gbnVsbCA/IG9wZW5BY2NvdW50TW9kYWwgOiBub29wLFxuICAgIG9wZW5DaGFpbk1vZGFsOiBvcGVuQ2hhaW5Nb2RhbCAhPSBudWxsID8gb3BlbkNoYWluTW9kYWwgOiBub29wLFxuICAgIG9wZW5Db25uZWN0TW9kYWw6IG9wZW5Db25uZWN0TW9kYWwgIT0gbnVsbCA/IG9wZW5Db25uZWN0TW9kYWwgOiBub29wXG4gIH0pKTtcbn1cbkNvbm5lY3RCdXR0b25SZW5kZXJlci5kaXNwbGF5TmFtZSA9IFwiQ29ubmVjdEJ1dHRvbi5DdXN0b21cIjtcblxuLy8gc3JjL2NvbXBvbmVudHMvQ29ubmVjdEJ1dHRvbi9Db25uZWN0QnV0dG9uLnRzeFxudmFyIGRlZmF1bHRQcm9wcyA9IHtcbiAgYWNjb3VudFN0YXR1czogXCJmdWxsXCIsXG4gIGNoYWluU3RhdHVzOiB7IGxhcmdlU2NyZWVuOiBcImZ1bGxcIiwgc21hbGxTY3JlZW46IFwiaWNvblwiIH0sXG4gIGxhYmVsOiBcIkNvbm5lY3QgV2FsbGV0XCIsXG4gIHNob3dCYWxhbmNlOiB7IGxhcmdlU2NyZWVuOiB0cnVlLCBzbWFsbFNjcmVlbjogZmFsc2UgfVxufTtcbmZ1bmN0aW9uIENvbm5lY3RCdXR0b24oe1xuICBhY2NvdW50U3RhdHVzID0gZGVmYXVsdFByb3BzLmFjY291bnRTdGF0dXMsXG4gIGNoYWluU3RhdHVzID0gZGVmYXVsdFByb3BzLmNoYWluU3RhdHVzLFxuICBsYWJlbCA9IGRlZmF1bHRQcm9wcy5sYWJlbCxcbiAgc2hvd0JhbGFuY2UgPSBkZWZhdWx0UHJvcHMuc2hvd0JhbGFuY2Vcbn0pIHtcbiAgY29uc3QgY2hhaW5zID0gdXNlUmFpbmJvd0tpdENoYWlucygpO1xuICBjb25zdCBjb25uZWN0aW9uU3RhdHVzID0gdXNlQ29ubmVjdGlvblN0YXR1cygpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChDb25uZWN0QnV0dG9uUmVuZGVyZXIsIG51bGwsICh7XG4gICAgYWNjb3VudCxcbiAgICBjaGFpbixcbiAgICBtb3VudGVkLFxuICAgIG9wZW5BY2NvdW50TW9kYWwsXG4gICAgb3BlbkNoYWluTW9kYWwsXG4gICAgb3BlbkNvbm5lY3RNb2RhbFxuICB9KSA9PiB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgY29uc3QgcmVhZHkgPSBtb3VudGVkICYmIGNvbm5lY3Rpb25TdGF0dXMgIT09IFwibG9hZGluZ1wiO1xuICAgIGNvbnN0IHVuc3VwcG9ydGVkQ2hhaW4gPSAoX2EgPSBjaGFpbiA9PSBudWxsID8gdm9pZCAwIDogY2hhaW4udW5zdXBwb3J0ZWQpICE9IG51bGwgPyBfYSA6IGZhbHNlO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3Q1NS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBnYXA6IFwiMTJcIixcbiAgICAgIC4uLiFyZWFkeSAmJiB7XG4gICAgICAgIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSxcbiAgICAgICAgXCJzdHlsZVwiOiB7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgcmVhZHkgJiYgYWNjb3VudCAmJiBjb25uZWN0aW9uU3RhdHVzID09PSBcImNvbm5lY3RlZFwiID8gLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChSZWFjdDU1LkZyYWdtZW50LCBudWxsLCBjaGFpbiAmJiAoY2hhaW5zLmxlbmd0aCA+IDEgfHwgdW5zdXBwb3J0ZWRDaGFpbikgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBcImFyaWEtbGFiZWxcIjogXCJDaGFpbiBTZWxlY3RvclwiLFxuICAgICAgYXM6IFwiYnV0dG9uXCIsXG4gICAgICBiYWNrZ3JvdW5kOiB1bnN1cHBvcnRlZENoYWluID8gXCJjb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yXCIgOiBcImNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiY29ubmVjdEJ1dHRvblwiLFxuICAgICAgYm94U2hhZG93OiBcImNvbm5lY3RCdXR0b25cIixcbiAgICAgIGNsYXNzTmFtZTogdG91Y2hhYmxlU3R5bGVzKHtcbiAgICAgICAgYWN0aXZlOiBcInNocmlua1wiLFxuICAgICAgICBob3ZlcjogXCJncm93XCJcbiAgICAgIH0pLFxuICAgICAgY29sb3I6IHVuc3VwcG9ydGVkQ2hhaW4gPyBcImNvbm5lY3RCdXR0b25UZXh0RXJyb3JcIiA6IFwiY29ubmVjdEJ1dHRvblRleHRcIixcbiAgICAgIGRpc3BsYXk6IG1hcFJlc3BvbnNpdmVWYWx1ZShjaGFpblN0YXR1cywgKHZhbHVlKSA9PiB2YWx1ZSA9PT0gXCJub25lXCIgPyBcIm5vbmVcIiA6IFwiZmxleFwiKSxcbiAgICAgIGZvbnRGYW1pbHk6IFwiYm9keVwiLFxuICAgICAgZm9udFdlaWdodDogXCJib2xkXCIsXG4gICAgICBnYXA6IFwiNlwiLFxuICAgICAga2V5OiB1bnN1cHBvcnRlZENoYWluID8gXCJ1bnN1cHBvcnRlZFwiIDogXCJzdXBwb3J0ZWRcIixcbiAgICAgIG9uQ2xpY2s6IG9wZW5DaGFpbk1vZGFsLFxuICAgICAgcGFkZGluZ1g6IFwiMTBcIixcbiAgICAgIHBhZGRpbmdZOiBcIjhcIixcbiAgICAgIHRlc3RJZDogdW5zdXBwb3J0ZWRDaGFpbiA/IFwid3JvbmctbmV0d29yay1idXR0b25cIiA6IFwiY2hhaW4tYnV0dG9uXCIsXG4gICAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIixcbiAgICAgIHR5cGU6IFwiYnV0dG9uXCJcbiAgICB9LCB1bnN1cHBvcnRlZENoYWluID8gLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGhlaWdodDogXCIyNFwiLFxuICAgICAgcGFkZGluZ1g6IFwiNFwiXG4gICAgfSwgXCJXcm9uZyBuZXR3b3JrXCIpIDogLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGdhcDogXCI2XCJcbiAgICB9LCBjaGFpbi5oYXNJY29uID8gLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGRpc3BsYXk6IG1hcFJlc3BvbnNpdmVWYWx1ZShjaGFpblN0YXR1cywgKHZhbHVlKSA9PiB2YWx1ZSA9PT0gXCJmdWxsXCIgfHwgdmFsdWUgPT09IFwiaWNvblwiID8gXCJibG9ja1wiIDogXCJub25lXCIpLFxuICAgICAgaGVpZ2h0OiBcIjI0XCIsXG4gICAgICB3aWR0aDogXCIyNFwiXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChBc3luY0ltYWdlLCB7XG4gICAgICBhbHQ6IChfYiA9IGNoYWluLm5hbWUpICE9IG51bGwgPyBfYiA6IFwiQ2hhaW4gaWNvblwiLFxuICAgICAgYmFja2dyb3VuZDogY2hhaW4uaWNvbkJhY2tncm91bmQsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiZnVsbFwiLFxuICAgICAgaGVpZ2h0OiBcIjI0XCIsXG4gICAgICBzcmM6IGNoYWluLmljb25VcmwsXG4gICAgICB3aWR0aDogXCIyNFwiXG4gICAgfSkpIDogbnVsbCwgLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGRpc3BsYXk6IG1hcFJlc3BvbnNpdmVWYWx1ZShjaGFpblN0YXR1cywgKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJpY29uXCIgJiYgIWNoYWluLmljb25VcmwpIHtcbiAgICAgICAgICByZXR1cm4gXCJibG9ja1wiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gXCJmdWxsXCIgfHwgdmFsdWUgPT09IFwibmFtZVwiID8gXCJibG9ja1wiIDogXCJub25lXCI7XG4gICAgICB9KVxuICAgIH0sIChfYyA9IGNoYWluLm5hbWUpICE9IG51bGwgPyBfYyA6IGNoYWluLmlkKSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDU1LmNyZWF0ZUVsZW1lbnQoRHJvcGRvd25JY29uLCBudWxsKSksICF1bnN1cHBvcnRlZENoYWluICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDU1LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgYXM6IFwiYnV0dG9uXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcImNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiY29ubmVjdEJ1dHRvblwiLFxuICAgICAgYm94U2hhZG93OiBcImNvbm5lY3RCdXR0b25cIixcbiAgICAgIGNsYXNzTmFtZTogdG91Y2hhYmxlU3R5bGVzKHtcbiAgICAgICAgYWN0aXZlOiBcInNocmlua1wiLFxuICAgICAgICBob3ZlcjogXCJncm93XCJcbiAgICAgIH0pLFxuICAgICAgY29sb3I6IFwiY29ubmVjdEJ1dHRvblRleHRcIixcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZm9udEZhbWlseTogXCJib2R5XCIsXG4gICAgICBmb250V2VpZ2h0OiBcImJvbGRcIixcbiAgICAgIG9uQ2xpY2s6IG9wZW5BY2NvdW50TW9kYWwsXG4gICAgICB0ZXN0SWQ6IFwiYWNjb3VudC1idXR0b25cIixcbiAgICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiLFxuICAgICAgdHlwZTogXCJidXR0b25cIlxuICAgIH0sIGFjY291bnQuZGlzcGxheUJhbGFuY2UgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGRpc3BsYXk6IG1hcFJlc3BvbnNpdmVWYWx1ZShzaG93QmFsYW5jZSwgKHZhbHVlKSA9PiB2YWx1ZSA/IFwiYmxvY2tcIiA6IFwibm9uZVwiKSxcbiAgICAgIHBhZGRpbmc6IFwiOFwiLFxuICAgICAgcGFkZGluZ0xlZnQ6IFwiMTJcIlxuICAgIH0sIGFjY291bnQuZGlzcGxheUJhbGFuY2UpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1NS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgYmFja2dyb3VuZDogbm9ybWFsaXplUmVzcG9uc2l2ZVZhbHVlKHNob3dCYWxhbmNlKVtpc01vYmlsZSgpID8gXCJzbWFsbFNjcmVlblwiIDogXCJsYXJnZVNjcmVlblwiXSA/IFwiY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZFwiIDogXCJjb25uZWN0QnV0dG9uQmFja2dyb3VuZFwiLFxuICAgICAgYm9yZGVyQ29sb3I6IFwiY29ubmVjdEJ1dHRvbkJhY2tncm91bmRcIixcbiAgICAgIGJvcmRlclJhZGl1czogXCJjb25uZWN0QnV0dG9uXCIsXG4gICAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgICAgYm9yZGVyV2lkdGg6IFwiMlwiLFxuICAgICAgY29sb3I6IFwiY29ubmVjdEJ1dHRvblRleHRcIixcbiAgICAgIGZvbnRGYW1pbHk6IFwiYm9keVwiLFxuICAgICAgZm9udFdlaWdodDogXCJib2xkXCIsXG4gICAgICBwYWRkaW5nWDogXCI4XCIsXG4gICAgICBwYWRkaW5nWTogXCI2XCIsXG4gICAgICB0cmFuc2l0aW9uOiBcImRlZmF1bHRcIlxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDU1LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBnYXA6IFwiNlwiLFxuICAgICAgaGVpZ2h0OiBcIjI0XCJcbiAgICB9LCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1NS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgZGlzcGxheTogbWFwUmVzcG9uc2l2ZVZhbHVlKGFjY291bnRTdGF0dXMsICh2YWx1ZSkgPT4gdmFsdWUgPT09IFwiZnVsbFwiIHx8IHZhbHVlID09PSBcImF2YXRhclwiID8gXCJibG9ja1wiIDogXCJub25lXCIpXG4gICAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChBdmF0YXIsIHtcbiAgICAgIGFkZHJlc3M6IGFjY291bnQuYWRkcmVzcyxcbiAgICAgIGltYWdlVXJsOiBhY2NvdW50LmVuc0F2YXRhcixcbiAgICAgIGxvYWRpbmc6IGFjY291bnQuaGFzUGVuZGluZ1RyYW5zYWN0aW9ucyxcbiAgICAgIHNpemU6IDI0XG4gICAgfSkpLCAvKiBAX19QVVJFX18gKi8gUmVhY3Q1NS5jcmVhdGVFbGVtZW50KEJveCwge1xuICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZ2FwOiBcIjZcIlxuICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDU1LmNyZWF0ZUVsZW1lbnQoQm94LCB7XG4gICAgICBkaXNwbGF5OiBtYXBSZXNwb25zaXZlVmFsdWUoYWNjb3VudFN0YXR1cywgKHZhbHVlKSA9PiB2YWx1ZSA9PT0gXCJmdWxsXCIgfHwgdmFsdWUgPT09IFwiYWRkcmVzc1wiID8gXCJibG9ja1wiIDogXCJub25lXCIpXG4gICAgfSwgYWNjb3VudC5kaXNwbGF5TmFtZSksIC8qIEBfX1BVUkVfXyAqLyBSZWFjdDU1LmNyZWF0ZUVsZW1lbnQoRHJvcGRvd25JY29uLCBudWxsKSkpKSkpIDogLyogQF9fUFVSRV9fICovIFJlYWN0NTUuY3JlYXRlRWxlbWVudChCb3gsIHtcbiAgICAgIGFzOiBcImJ1dHRvblwiLFxuICAgICAgYmFja2dyb3VuZDogXCJhY2NlbnRDb2xvclwiLFxuICAgICAgYm9yZGVyUmFkaXVzOiBcImNvbm5lY3RCdXR0b25cIixcbiAgICAgIGJveFNoYWRvdzogXCJjb25uZWN0QnV0dG9uXCIsXG4gICAgICBjbGFzc05hbWU6IHRvdWNoYWJsZVN0eWxlcyh7IGFjdGl2ZTogXCJzaHJpbmtcIiwgaG92ZXI6IFwiZ3Jvd1wiIH0pLFxuICAgICAgY29sb3I6IFwiYWNjZW50Q29sb3JGb3JlZ3JvdW5kXCIsXG4gICAgICBmb250RmFtaWx5OiBcImJvZHlcIixcbiAgICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgICAgaGVpZ2h0OiBcIjQwXCIsXG4gICAgICBrZXk6IFwiY29ubmVjdFwiLFxuICAgICAgb25DbGljazogb3BlbkNvbm5lY3RNb2RhbCxcbiAgICAgIHBhZGRpbmdYOiBcIjE0XCIsXG4gICAgICB0ZXN0SWQ6IFwiY29ubmVjdC1idXR0b25cIixcbiAgICAgIHRyYW5zaXRpb246IFwiZGVmYXVsdFwiLFxuICAgICAgdHlwZTogXCJidXR0b25cIlxuICAgIH0sIGxhYmVsKSk7XG4gIH0pO1xufVxuQ29ubmVjdEJ1dHRvbi5fX2RlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcbkNvbm5lY3RCdXR0b24uQ3VzdG9tID0gQ29ubmVjdEJ1dHRvblJlbmRlcmVyO1xuXG5leHBvcnQge1xuICBjcmVhdGVBdXRoZW50aWNhdGlvbkFkYXB0ZXIsXG4gIFJhaW5ib3dLaXRBdXRoZW50aWNhdGlvblByb3ZpZGVyLFxuICBpc0FuZHJvaWQsXG4gIGlzSU9TLFxuICBpc01vYmlsZSxcbiAgdXNlQ2hhaW5JZCxcbiAgdXNlVHJhbnNhY3Rpb25TdG9yZSxcbiAgY3NzT2JqZWN0RnJvbVRoZW1lLFxuICBjc3NTdHJpbmdGcm9tVGhlbWUsXG4gIFJhaW5ib3dLaXRQcm92aWRlcixcbiAgZGlhbG9nQ29udGVudCxcbiAgZGlhbG9nQ29udGVudE1vYmlsZSxcbiAgaXNIZXhTdHJpbmcsXG4gIERlc2t0b3BPcHRpb25zLFxuICBNb2JpbGVPcHRpb25zLFxuICB1c2VBY2NvdW50TW9kYWwsXG4gIHVzZUNoYWluTW9kYWwsXG4gIHVzZUNvbm5lY3RNb2RhbCxcbiAgQ29ubmVjdEJ1dHRvblxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/chunk-Q4HVINFA.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/chunk-Q4HVINFA.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ lightTheme: function() { return /* binding */ lightTheme; }\n/* harmony export */ });\n/* harmony import */ var _chunk_SWKUKXRF_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-SWKUKXRF.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-SWKUKXRF.js\");\n\"use client\";\n\n\n// src/themes/lightTheme.ts\nvar accentColors = {\n blue: { accentColor: \"#0E76FD\", accentColorForeground: \"#FFF\" },\n green: { accentColor: \"#1DB847\", accentColorForeground: \"#FFF\" },\n orange: { accentColor: \"#FF801F\", accentColorForeground: \"#FFF\" },\n pink: { accentColor: \"#FF5CA0\", accentColorForeground: \"#FFF\" },\n purple: { accentColor: \"#5F5AFA\", accentColorForeground: \"#FFF\" },\n red: { accentColor: \"#FA423C\", accentColorForeground: \"#FFF\" }\n};\nvar defaultAccentColor = accentColors.blue;\nvar lightTheme = ({\n accentColor = defaultAccentColor.accentColor,\n accentColorForeground = defaultAccentColor.accentColorForeground,\n ...baseThemeOptions\n} = {}) => ({\n ...(0,_chunk_SWKUKXRF_js__WEBPACK_IMPORTED_MODULE_0__.baseTheme)(baseThemeOptions),\n colors: {\n accentColor,\n accentColorForeground,\n actionButtonBorder: \"rgba(0, 0, 0, 0.04)\",\n actionButtonBorderMobile: \"rgba(0, 0, 0, 0.06)\",\n actionButtonSecondaryBackground: \"rgba(0, 0, 0, 0.06)\",\n closeButton: \"rgba(60, 66, 66, 0.8)\",\n closeButtonBackground: \"rgba(0, 0, 0, 0.06)\",\n connectButtonBackground: \"#FFF\",\n connectButtonBackgroundError: \"#FF494A\",\n connectButtonInnerBackground: \"linear-gradient(0deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.06))\",\n connectButtonText: \"#25292E\",\n connectButtonTextError: \"#FFF\",\n connectionIndicator: \"#30E000\",\n downloadBottomCardBackground: \"linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(171, 171, 171, 0.04) 71.04%), #FFFFFF\",\n downloadTopCardBackground: \"linear-gradient(126deg, rgba(171, 171, 171, 0.2) 9.49%, rgba(255, 255, 255, 0) 71.04%), #FFFFFF\",\n error: \"#FF494A\",\n generalBorder: \"rgba(0, 0, 0, 0.06)\",\n generalBorderDim: \"rgba(0, 0, 0, 0.03)\",\n menuItemBackground: \"rgba(60, 66, 66, 0.1)\",\n modalBackdrop: \"rgba(0, 0, 0, 0.3)\",\n modalBackground: \"#FFF\",\n modalBorder: \"transparent\",\n modalText: \"#25292E\",\n modalTextDim: \"rgba(60, 66, 66, 0.3)\",\n modalTextSecondary: \"rgba(60, 66, 66, 0.6)\",\n profileAction: \"#FFF\",\n profileActionHover: \"rgba(255, 255, 255, 0.5)\",\n profileForeground: \"rgba(60, 66, 66, 0.06)\",\n selectedOptionBorder: \"rgba(60, 66, 66, 0.1)\",\n standby: \"#FFD641\"\n },\n shadows: {\n connectButton: \"0px 4px 12px rgba(0, 0, 0, 0.1)\",\n dialog: \"0px 8px 32px rgba(0, 0, 0, 0.32)\",\n profileDetailsAction: \"0px 2px 6px rgba(37, 41, 46, 0.04)\",\n selectedOption: \"0px 2px 6px rgba(0, 0, 0, 0.24)\",\n selectedWallet: \"0px 2px 6px rgba(0, 0, 0, 0.12)\",\n walletLogo: \"0px 2px 16px rgba(0, 0, 0, 0.16)\"\n }\n});\nlightTheme.accentColors = accentColors;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLVE0SFZJTkZBLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFHNkI7O0FBRTdCO0FBQ0E7QUFDQSxVQUFVLHVEQUF1RDtBQUNqRSxXQUFXLHVEQUF1RDtBQUNsRSxZQUFZLHVEQUF1RDtBQUNuRSxVQUFVLHVEQUF1RDtBQUNqRSxZQUFZLHVEQUF1RDtBQUNuRSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxJQUFJO0FBQ04sS0FBSyw2REFBUztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBSUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9jaHVuay1RNEhWSU5GQS5qcz8wZDY1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuaW1wb3J0IHtcbiAgYmFzZVRoZW1lXG59IGZyb20gXCIuL2NodW5rLVNXS1VLWFJGLmpzXCI7XG5cbi8vIHNyYy90aGVtZXMvbGlnaHRUaGVtZS50c1xudmFyIGFjY2VudENvbG9ycyA9IHtcbiAgYmx1ZTogeyBhY2NlbnRDb2xvcjogXCIjMEU3NkZEXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjRkZGXCIgfSxcbiAgZ3JlZW46IHsgYWNjZW50Q29sb3I6IFwiIzFEQjg0N1wiLCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IFwiI0ZGRlwiIH0sXG4gIG9yYW5nZTogeyBhY2NlbnRDb2xvcjogXCIjRkY4MDFGXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjRkZGXCIgfSxcbiAgcGluazogeyBhY2NlbnRDb2xvcjogXCIjRkY1Q0EwXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjRkZGXCIgfSxcbiAgcHVycGxlOiB7IGFjY2VudENvbG9yOiBcIiM1RjVBRkFcIiwgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiBcIiNGRkZcIiB9LFxuICByZWQ6IHsgYWNjZW50Q29sb3I6IFwiI0ZBNDIzQ1wiLCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IFwiI0ZGRlwiIH1cbn07XG52YXIgZGVmYXVsdEFjY2VudENvbG9yID0gYWNjZW50Q29sb3JzLmJsdWU7XG52YXIgbGlnaHRUaGVtZSA9ICh7XG4gIGFjY2VudENvbG9yID0gZGVmYXVsdEFjY2VudENvbG9yLmFjY2VudENvbG9yLFxuICBhY2NlbnRDb2xvckZvcmVncm91bmQgPSBkZWZhdWx0QWNjZW50Q29sb3IuYWNjZW50Q29sb3JGb3JlZ3JvdW5kLFxuICAuLi5iYXNlVGhlbWVPcHRpb25zXG59ID0ge30pID0+ICh7XG4gIC4uLmJhc2VUaGVtZShiYXNlVGhlbWVPcHRpb25zKSxcbiAgY29sb3JzOiB7XG4gICAgYWNjZW50Q29sb3IsXG4gICAgYWNjZW50Q29sb3JGb3JlZ3JvdW5kLFxuICAgIGFjdGlvbkJ1dHRvbkJvcmRlcjogXCJyZ2JhKDAsIDAsIDAsIDAuMDQpXCIsXG4gICAgYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlOiBcInJnYmEoMCwgMCwgMCwgMC4wNilcIixcbiAgICBhY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kOiBcInJnYmEoMCwgMCwgMCwgMC4wNilcIixcbiAgICBjbG9zZUJ1dHRvbjogXCJyZ2JhKDYwLCA2NiwgNjYsIDAuOClcIixcbiAgICBjbG9zZUJ1dHRvbkJhY2tncm91bmQ6IFwicmdiYSgwLCAwLCAwLCAwLjA2KVwiLFxuICAgIGNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kOiBcIiNGRkZcIixcbiAgICBjb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yOiBcIiNGRjQ5NEFcIixcbiAgICBjb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kOiBcImxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMDMpLCByZ2JhKDAsIDAsIDAsIDAuMDYpKVwiLFxuICAgIGNvbm5lY3RCdXR0b25UZXh0OiBcIiMyNTI5MkVcIixcbiAgICBjb25uZWN0QnV0dG9uVGV4dEVycm9yOiBcIiNGRkZcIixcbiAgICBjb25uZWN0aW9uSW5kaWNhdG9yOiBcIiMzMEUwMDBcIixcbiAgICBkb3dubG9hZEJvdHRvbUNhcmRCYWNrZ3JvdW5kOiBcImxpbmVhci1ncmFkaWVudCgxMjZkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgOS40OSUsIHJnYmEoMTcxLCAxNzEsIDE3MSwgMC4wNCkgNzEuMDQlKSwgI0ZGRkZGRlwiLFxuICAgIGRvd25sb2FkVG9wQ2FyZEJhY2tncm91bmQ6IFwibGluZWFyLWdyYWRpZW50KDEyNmRlZywgcmdiYSgxNzEsIDE3MSwgMTcxLCAwLjIpIDkuNDklLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDcxLjA0JSksICNGRkZGRkZcIixcbiAgICBlcnJvcjogXCIjRkY0OTRBXCIsXG4gICAgZ2VuZXJhbEJvcmRlcjogXCJyZ2JhKDAsIDAsIDAsIDAuMDYpXCIsXG4gICAgZ2VuZXJhbEJvcmRlckRpbTogXCJyZ2JhKDAsIDAsIDAsIDAuMDMpXCIsXG4gICAgbWVudUl0ZW1CYWNrZ3JvdW5kOiBcInJnYmEoNjAsIDY2LCA2NiwgMC4xKVwiLFxuICAgIG1vZGFsQmFja2Ryb3A6IFwicmdiYSgwLCAwLCAwLCAwLjMpXCIsXG4gICAgbW9kYWxCYWNrZ3JvdW5kOiBcIiNGRkZcIixcbiAgICBtb2RhbEJvcmRlcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIG1vZGFsVGV4dDogXCIjMjUyOTJFXCIsXG4gICAgbW9kYWxUZXh0RGltOiBcInJnYmEoNjAsIDY2LCA2NiwgMC4zKVwiLFxuICAgIG1vZGFsVGV4dFNlY29uZGFyeTogXCJyZ2JhKDYwLCA2NiwgNjYsIDAuNilcIixcbiAgICBwcm9maWxlQWN0aW9uOiBcIiNGRkZcIixcbiAgICBwcm9maWxlQWN0aW9uSG92ZXI6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpXCIsXG4gICAgcHJvZmlsZUZvcmVncm91bmQ6IFwicmdiYSg2MCwgNjYsIDY2LCAwLjA2KVwiLFxuICAgIHNlbGVjdGVkT3B0aW9uQm9yZGVyOiBcInJnYmEoNjAsIDY2LCA2NiwgMC4xKVwiLFxuICAgIHN0YW5kYnk6IFwiI0ZGRDY0MVwiXG4gIH0sXG4gIHNoYWRvd3M6IHtcbiAgICBjb25uZWN0QnV0dG9uOiBcIjBweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSlcIixcbiAgICBkaWFsb2c6IFwiMHB4IDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4zMilcIixcbiAgICBwcm9maWxlRGV0YWlsc0FjdGlvbjogXCIwcHggMnB4IDZweCByZ2JhKDM3LCA0MSwgNDYsIDAuMDQpXCIsXG4gICAgc2VsZWN0ZWRPcHRpb246IFwiMHB4IDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjI0KVwiLFxuICAgIHNlbGVjdGVkV2FsbGV0OiBcIjBweCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMilcIixcbiAgICB3YWxsZXRMb2dvOiBcIjBweCAycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpXCJcbiAgfVxufSk7XG5saWdodFRoZW1lLmFjY2VudENvbG9ycyA9IGFjY2VudENvbG9ycztcblxuZXhwb3J0IHtcbiAgbGlnaHRUaGVtZVxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/chunk-Q4HVINFA.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/chunk-SWKUKXRF.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/chunk-SWKUKXRF.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ baseTheme: function() { return /* binding */ baseTheme; }\n/* harmony export */ });\n\"use client\";\n// src/themes/baseTheme.ts\nvar systemFontStack = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"';\nvar fontStacks = {\n rounded: `SFRounded, ui-rounded, \"SF Pro Rounded\", ${systemFontStack}`,\n system: systemFontStack\n};\nvar radiusScales = {\n large: {\n actionButton: \"9999px\",\n connectButton: \"12px\",\n modal: \"24px\",\n modalMobile: \"28px\"\n },\n medium: {\n actionButton: \"10px\",\n connectButton: \"8px\",\n modal: \"16px\",\n modalMobile: \"18px\"\n },\n none: {\n actionButton: \"0px\",\n connectButton: \"0px\",\n modal: \"0px\",\n modalMobile: \"0px\"\n },\n small: {\n actionButton: \"4px\",\n connectButton: \"4px\",\n modal: \"8px\",\n modalMobile: \"8px\"\n }\n};\nvar blurs = {\n large: {\n modalOverlay: \"blur(20px)\"\n },\n none: {\n modalOverlay: \"blur(0px)\"\n },\n small: {\n modalOverlay: \"blur(4px)\"\n }\n};\nvar baseTheme = ({\n borderRadius = \"large\",\n fontStack = \"rounded\",\n overlayBlur = \"none\"\n}) => ({\n blurs: {\n modalOverlay: blurs[overlayBlur].modalOverlay\n },\n fonts: {\n body: fontStacks[fontStack]\n },\n radii: {\n actionButton: radiusScales[borderRadius].actionButton,\n connectButton: radiusScales[borderRadius].connectButton,\n menuButton: radiusScales[borderRadius].connectButton,\n modal: radiusScales[borderRadius].modal,\n modalMobile: radiusScales[borderRadius].modalMobile\n }\n});\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLVNXS1VLWFJGLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxnQkFBZ0I7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBSUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9jaHVuay1TV0tVS1hSRi5qcz9hNWNlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuLy8gc3JjL3RoZW1lcy9iYXNlVGhlbWUudHNcbnZhciBzeXN0ZW1Gb250U3RhY2sgPSAnLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCInO1xudmFyIGZvbnRTdGFja3MgPSB7XG4gIHJvdW5kZWQ6IGBTRlJvdW5kZWQsIHVpLXJvdW5kZWQsIFwiU0YgUHJvIFJvdW5kZWRcIiwgJHtzeXN0ZW1Gb250U3RhY2t9YCxcbiAgc3lzdGVtOiBzeXN0ZW1Gb250U3RhY2tcbn07XG52YXIgcmFkaXVzU2NhbGVzID0ge1xuICBsYXJnZToge1xuICAgIGFjdGlvbkJ1dHRvbjogXCI5OTk5cHhcIixcbiAgICBjb25uZWN0QnV0dG9uOiBcIjEycHhcIixcbiAgICBtb2RhbDogXCIyNHB4XCIsXG4gICAgbW9kYWxNb2JpbGU6IFwiMjhweFwiXG4gIH0sXG4gIG1lZGl1bToge1xuICAgIGFjdGlvbkJ1dHRvbjogXCIxMHB4XCIsXG4gICAgY29ubmVjdEJ1dHRvbjogXCI4cHhcIixcbiAgICBtb2RhbDogXCIxNnB4XCIsXG4gICAgbW9kYWxNb2JpbGU6IFwiMThweFwiXG4gIH0sXG4gIG5vbmU6IHtcbiAgICBhY3Rpb25CdXR0b246IFwiMHB4XCIsXG4gICAgY29ubmVjdEJ1dHRvbjogXCIwcHhcIixcbiAgICBtb2RhbDogXCIwcHhcIixcbiAgICBtb2RhbE1vYmlsZTogXCIwcHhcIlxuICB9LFxuICBzbWFsbDoge1xuICAgIGFjdGlvbkJ1dHRvbjogXCI0cHhcIixcbiAgICBjb25uZWN0QnV0dG9uOiBcIjRweFwiLFxuICAgIG1vZGFsOiBcIjhweFwiLFxuICAgIG1vZGFsTW9iaWxlOiBcIjhweFwiXG4gIH1cbn07XG52YXIgYmx1cnMgPSB7XG4gIGxhcmdlOiB7XG4gICAgbW9kYWxPdmVybGF5OiBcImJsdXIoMjBweClcIlxuICB9LFxuICBub25lOiB7XG4gICAgbW9kYWxPdmVybGF5OiBcImJsdXIoMHB4KVwiXG4gIH0sXG4gIHNtYWxsOiB7XG4gICAgbW9kYWxPdmVybGF5OiBcImJsdXIoNHB4KVwiXG4gIH1cbn07XG52YXIgYmFzZVRoZW1lID0gKHtcbiAgYm9yZGVyUmFkaXVzID0gXCJsYXJnZVwiLFxuICBmb250U3RhY2sgPSBcInJvdW5kZWRcIixcbiAgb3ZlcmxheUJsdXIgPSBcIm5vbmVcIlxufSkgPT4gKHtcbiAgYmx1cnM6IHtcbiAgICBtb2RhbE92ZXJsYXk6IGJsdXJzW292ZXJsYXlCbHVyXS5tb2RhbE92ZXJsYXlcbiAgfSxcbiAgZm9udHM6IHtcbiAgICBib2R5OiBmb250U3RhY2tzW2ZvbnRTdGFja11cbiAgfSxcbiAgcmFkaWk6IHtcbiAgICBhY3Rpb25CdXR0b246IHJhZGl1c1NjYWxlc1tib3JkZXJSYWRpdXNdLmFjdGlvbkJ1dHRvbixcbiAgICBjb25uZWN0QnV0dG9uOiByYWRpdXNTY2FsZXNbYm9yZGVyUmFkaXVzXS5jb25uZWN0QnV0dG9uLFxuICAgIG1lbnVCdXR0b246IHJhZGl1c1NjYWxlc1tib3JkZXJSYWRpdXNdLmNvbm5lY3RCdXR0b24sXG4gICAgbW9kYWw6IHJhZGl1c1NjYWxlc1tib3JkZXJSYWRpdXNdLm1vZGFsLFxuICAgIG1vZGFsTW9iaWxlOiByYWRpdXNTY2FsZXNbYm9yZGVyUmFkaXVzXS5tb2RhbE1vYmlsZVxuICB9XG59KTtcblxuZXhwb3J0IHtcbiAgYmFzZVRoZW1lXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/chunk-SWKUKXRF.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/chunk-WP6TGA7H.js": -/*!********************************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/chunk-WP6TGA7H.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ midnightTheme: function() { return /* binding */ midnightTheme; }\n/* harmony export */ });\n/* harmony import */ var _chunk_SWKUKXRF_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-SWKUKXRF.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-SWKUKXRF.js\");\n\"use client\";\n\n\n// src/themes/midnightTheme.ts\nvar accentColors = {\n blue: { accentColor: \"#3898FF\", accentColorForeground: \"#FFF\" },\n green: { accentColor: \"#4BD166\", accentColorForeground: \"#000\" },\n orange: { accentColor: \"#FF983D\", accentColorForeground: \"#000\" },\n pink: { accentColor: \"#FF7AB8\", accentColorForeground: \"#000\" },\n purple: { accentColor: \"#7A70FF\", accentColorForeground: \"#FFF\" },\n red: { accentColor: \"#FF6257\", accentColorForeground: \"#FFF\" }\n};\nvar defaultAccentColor = accentColors.blue;\nvar midnightTheme = ({\n accentColor = defaultAccentColor.accentColor,\n accentColorForeground = defaultAccentColor.accentColorForeground,\n ...baseThemeOptions\n} = {}) => ({\n ...(0,_chunk_SWKUKXRF_js__WEBPACK_IMPORTED_MODULE_0__.baseTheme)(baseThemeOptions),\n colors: {\n accentColor,\n accentColorForeground,\n actionButtonBorder: \"rgba(255, 255, 255, 0.04)\",\n actionButtonBorderMobile: \"rgba(255, 255, 255, 0.1)\",\n actionButtonSecondaryBackground: \"rgba(255, 255, 255, 0.08)\",\n closeButton: \"rgba(255, 255, 255, 0.7)\",\n closeButtonBackground: \"rgba(255, 255, 255, 0.08)\",\n connectButtonBackground: \"#000\",\n connectButtonBackgroundError: \"#FF494A\",\n connectButtonInnerBackground: \"linear-gradient(0deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.12))\",\n connectButtonText: \"#FFF\",\n connectButtonTextError: \"#FFF\",\n connectionIndicator: \"#30E000\",\n downloadBottomCardBackground: \"linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(120, 120, 120, 0.1) 71.04%), #050505\",\n downloadTopCardBackground: \"linear-gradient(126deg, rgba(120, 120, 120, 0.1) 9.49%, rgba(0, 0, 0, 0) 71.04%), #050505\",\n error: \"#FF494A\",\n generalBorder: \"rgba(255, 255, 255, 0.08)\",\n generalBorderDim: \"rgba(255, 255, 255, 0.04)\",\n menuItemBackground: \"rgba(255, 255, 255, 0.08)\",\n modalBackdrop: \"rgba(0, 0, 0, 0.7)\",\n modalBackground: \"#000\",\n modalBorder: \"rgba(255, 255, 255, 0.08)\",\n modalText: \"#FFF\",\n modalTextDim: \"rgba(255, 255, 255, 0.2)\",\n modalTextSecondary: \"rgba(255, 255, 255, 0.6)\",\n profileAction: \"rgba(255, 255, 255, 0.1)\",\n profileActionHover: \"rgba(255, 255, 255, 0.2)\",\n profileForeground: \"rgba(255, 255, 255, 0.06)\",\n selectedOptionBorder: \"rgba(224, 232, 255, 0.1)\",\n standby: \"#FFD641\"\n },\n shadows: {\n connectButton: \"0px 4px 12px rgba(0, 0, 0, 0.1)\",\n dialog: \"0px 8px 32px rgba(0, 0, 0, 0.32)\",\n profileDetailsAction: \"0px 2px 6px rgba(37, 41, 46, 0.04)\",\n selectedOption: \"0px 2px 6px rgba(0, 0, 0, 0.24)\",\n selectedWallet: \"0px 2px 6px rgba(0, 0, 0, 0.24)\",\n walletLogo: \"0px 2px 16px rgba(0, 0, 0, 0.16)\"\n }\n});\nmidnightTheme.accentColors = accentColors;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2NodW5rLVdQNlRHQTdILmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFHNkI7O0FBRTdCO0FBQ0E7QUFDQSxVQUFVLHVEQUF1RDtBQUNqRSxXQUFXLHVEQUF1RDtBQUNsRSxZQUFZLHVEQUF1RDtBQUNuRSxVQUFVLHVEQUF1RDtBQUNqRSxZQUFZLHVEQUF1RDtBQUNuRSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxJQUFJO0FBQ04sS0FBSyw2REFBUztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBSUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0ByYWluYm93LW1lL3JhaW5ib3draXQvZGlzdC9jaHVuay1XUDZUR0E3SC5qcz9lM2FjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuaW1wb3J0IHtcbiAgYmFzZVRoZW1lXG59IGZyb20gXCIuL2NodW5rLVNXS1VLWFJGLmpzXCI7XG5cbi8vIHNyYy90aGVtZXMvbWlkbmlnaHRUaGVtZS50c1xudmFyIGFjY2VudENvbG9ycyA9IHtcbiAgYmx1ZTogeyBhY2NlbnRDb2xvcjogXCIjMzg5OEZGXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjRkZGXCIgfSxcbiAgZ3JlZW46IHsgYWNjZW50Q29sb3I6IFwiIzRCRDE2NlwiLCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IFwiIzAwMFwiIH0sXG4gIG9yYW5nZTogeyBhY2NlbnRDb2xvcjogXCIjRkY5ODNEXCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjMDAwXCIgfSxcbiAgcGluazogeyBhY2NlbnRDb2xvcjogXCIjRkY3QUI4XCIsIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCIjMDAwXCIgfSxcbiAgcHVycGxlOiB7IGFjY2VudENvbG9yOiBcIiM3QTcwRkZcIiwgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiBcIiNGRkZcIiB9LFxuICByZWQ6IHsgYWNjZW50Q29sb3I6IFwiI0ZGNjI1N1wiLCBhY2NlbnRDb2xvckZvcmVncm91bmQ6IFwiI0ZGRlwiIH1cbn07XG52YXIgZGVmYXVsdEFjY2VudENvbG9yID0gYWNjZW50Q29sb3JzLmJsdWU7XG52YXIgbWlkbmlnaHRUaGVtZSA9ICh7XG4gIGFjY2VudENvbG9yID0gZGVmYXVsdEFjY2VudENvbG9yLmFjY2VudENvbG9yLFxuICBhY2NlbnRDb2xvckZvcmVncm91bmQgPSBkZWZhdWx0QWNjZW50Q29sb3IuYWNjZW50Q29sb3JGb3JlZ3JvdW5kLFxuICAuLi5iYXNlVGhlbWVPcHRpb25zXG59ID0ge30pID0+ICh7XG4gIC4uLmJhc2VUaGVtZShiYXNlVGhlbWVPcHRpb25zKSxcbiAgY29sb3JzOiB7XG4gICAgYWNjZW50Q29sb3IsXG4gICAgYWNjZW50Q29sb3JGb3JlZ3JvdW5kLFxuICAgIGFjdGlvbkJ1dHRvbkJvcmRlcjogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpXCIsXG4gICAgYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKVwiLFxuICAgIGFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQ6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KVwiLFxuICAgIGNsb3NlQnV0dG9uOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KVwiLFxuICAgIGNsb3NlQnV0dG9uQmFja2dyb3VuZDogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpXCIsXG4gICAgY29ubmVjdEJ1dHRvbkJhY2tncm91bmQ6IFwiIzAwMFwiLFxuICAgIGNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3I6IFwiI0ZGNDk0QVwiLFxuICAgIGNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQ6IFwibGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNiksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpXCIsXG4gICAgY29ubmVjdEJ1dHRvblRleHQ6IFwiI0ZGRlwiLFxuICAgIGNvbm5lY3RCdXR0b25UZXh0RXJyb3I6IFwiI0ZGRlwiLFxuICAgIGNvbm5lY3Rpb25JbmRpY2F0b3I6IFwiIzMwRTAwMFwiLFxuICAgIGRvd25sb2FkQm90dG9tQ2FyZEJhY2tncm91bmQ6IFwibGluZWFyLWdyYWRpZW50KDEyNmRlZywgcmdiYSgwLCAwLCAwLCAwKSA5LjQ5JSwgcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjEpIDcxLjA0JSksICMwNTA1MDVcIixcbiAgICBkb3dubG9hZFRvcENhcmRCYWNrZ3JvdW5kOiBcImxpbmVhci1ncmFkaWVudCgxMjZkZWcsIHJnYmEoMTIwLCAxMjAsIDEyMCwgMC4xKSA5LjQ5JSwgcmdiYSgwLCAwLCAwLCAwKSA3MS4wNCUpLCAjMDUwNTA1XCIsXG4gICAgZXJyb3I6IFwiI0ZGNDk0QVwiLFxuICAgIGdlbmVyYWxCb3JkZXI6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KVwiLFxuICAgIGdlbmVyYWxCb3JkZXJEaW06IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KVwiLFxuICAgIG1lbnVJdGVtQmFja2dyb3VuZDogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpXCIsXG4gICAgbW9kYWxCYWNrZHJvcDogXCJyZ2JhKDAsIDAsIDAsIDAuNylcIixcbiAgICBtb2RhbEJhY2tncm91bmQ6IFwiIzAwMFwiLFxuICAgIG1vZGFsQm9yZGVyOiBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOClcIixcbiAgICBtb2RhbFRleHQ6IFwiI0ZGRlwiLFxuICAgIG1vZGFsVGV4dERpbTogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMilcIixcbiAgICBtb2RhbFRleHRTZWNvbmRhcnk6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpXCIsXG4gICAgcHJvZmlsZUFjdGlvbjogXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSlcIixcbiAgICBwcm9maWxlQWN0aW9uSG92ZXI6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpXCIsXG4gICAgcHJvZmlsZUZvcmVncm91bmQ6IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KVwiLFxuICAgIHNlbGVjdGVkT3B0aW9uQm9yZGVyOiBcInJnYmEoMjI0LCAyMzIsIDI1NSwgMC4xKVwiLFxuICAgIHN0YW5kYnk6IFwiI0ZGRDY0MVwiXG4gIH0sXG4gIHNoYWRvd3M6IHtcbiAgICBjb25uZWN0QnV0dG9uOiBcIjBweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSlcIixcbiAgICBkaWFsb2c6IFwiMHB4IDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4zMilcIixcbiAgICBwcm9maWxlRGV0YWlsc0FjdGlvbjogXCIwcHggMnB4IDZweCByZ2JhKDM3LCA0MSwgNDYsIDAuMDQpXCIsXG4gICAgc2VsZWN0ZWRPcHRpb246IFwiMHB4IDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjI0KVwiLFxuICAgIHNlbGVjdGVkV2FsbGV0OiBcIjBweCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yNClcIixcbiAgICB3YWxsZXRMb2dvOiBcIjBweCAycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpXCJcbiAgfVxufSk7XG5taWRuaWdodFRoZW1lLmFjY2VudENvbG9ycyA9IGFjY2VudENvbG9ycztcblxuZXhwb3J0IHtcbiAgbWlkbmlnaHRUaGVtZVxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/chunk-WP6TGA7H.js\n")); - -/***/ }), - -/***/ "./node_modules/@rainbow-me/rainbowkit/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@rainbow-me/rainbowkit/dist/index.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConnectButton: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.ConnectButton; },\n/* harmony export */ RainbowKitAuthenticationProvider: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.RainbowKitAuthenticationProvider; },\n/* harmony export */ RainbowKitProvider: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.RainbowKitProvider; },\n/* harmony export */ __private__: function() { return /* binding */ __private__; },\n/* harmony export */ connectorsForWallets: function() { return /* binding */ connectorsForWallets; },\n/* harmony export */ createAuthenticationAdapter: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.createAuthenticationAdapter; },\n/* harmony export */ cssObjectFromTheme: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.cssObjectFromTheme; },\n/* harmony export */ cssStringFromTheme: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.cssStringFromTheme; },\n/* harmony export */ darkTheme: function() { return /* reexport safe */ _chunk_BSMW2B2K_js__WEBPACK_IMPORTED_MODULE_9__.darkTheme; },\n/* harmony export */ getDefaultWallets: function() { return /* binding */ getDefaultWallets; },\n/* harmony export */ getWalletConnectConnector: function() { return /* binding */ getWalletConnectConnector; },\n/* harmony export */ lightTheme: function() { return /* reexport safe */ _chunk_Q4HVINFA_js__WEBPACK_IMPORTED_MODULE_10__.lightTheme; },\n/* harmony export */ midnightTheme: function() { return /* reexport safe */ _chunk_WP6TGA7H_js__WEBPACK_IMPORTED_MODULE_11__.midnightTheme; },\n/* harmony export */ useAccountModal: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.useAccountModal; },\n/* harmony export */ useAddRecentTransaction: function() { return /* binding */ useAddRecentTransaction; },\n/* harmony export */ useChainModal: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.useChainModal; },\n/* harmony export */ useConnectModal: function() { return /* reexport safe */ _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.useConnectModal; }\n/* harmony export */ });\n/* harmony import */ var _chunk_WP6TGA7H_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./chunk-WP6TGA7H.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-WP6TGA7H.js\");\n/* harmony import */ var _chunk_BSMW2B2K_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./chunk-BSMW2B2K.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-BSMW2B2K.js\");\n/* harmony import */ var _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-J4YCI7VT.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-J4YCI7VT.js\");\n/* harmony import */ var _chunk_Q4HVINFA_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./chunk-Q4HVINFA.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/chunk-Q4HVINFA.js\");\n/* harmony import */ var wagmi_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wagmi/connectors/walletConnect */ \"./node_modules/wagmi/dist/connectors/walletConnect.js\");\n/* harmony import */ var wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wagmi/connectors/injected */ \"./node_modules/wagmi/dist/connectors/injected.js\");\n/* harmony import */ var wagmi_connectors_coinbaseWallet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! wagmi/connectors/coinbaseWallet */ \"./node_modules/wagmi/dist/connectors/coinbaseWallet.js\");\n/* harmony import */ var wagmi_connectors_metaMask__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/connectors/metaMask */ \"./node_modules/wagmi/dist/connectors/metaMask.js\");\n/* harmony import */ var wagmi_connectors_walletConnectLegacy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi/connectors/walletConnectLegacy */ \"./node_modules/wagmi/dist/connectors/walletConnectLegacy.js\");\n/* harmony import */ var wagmi_connectors_safe__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! wagmi/connectors/safe */ \"./node_modules/wagmi/dist/connectors/safe.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! wagmi */ \"./node_modules/wagmi/dist/index.js\");\n\"use client\";\n\n\n\n\n\n\n// src/wallets/connectorsForWallets.ts\n\n\n// src/utils/omitUndefinedValues.ts\nfunction omitUndefinedValues(obj) {\n return Object.fromEntries(Object.entries(obj).filter(([_key, value]) => value !== void 0));\n}\n\n// src/wallets/connectorsForWallets.ts\nvar connectorsForWallets = (walletList) => {\n return () => {\n let index = -1;\n const connectors = [];\n const visibleWallets = [];\n const potentiallyHiddenWallets = [];\n const walletInstances = [];\n walletList.forEach(({ groupName, wallets }, groupIndex) => {\n wallets.forEach((wallet) => {\n index++;\n if ((wallet == null ? void 0 : wallet.iconAccent) && !(0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isHexString)(wallet == null ? void 0 : wallet.iconAccent)) {\n throw new Error(`Property \\`iconAccent\\` is not a hex value for wallet: ${wallet.name}`);\n }\n const walletListItem = {\n ...wallet,\n groupIndex,\n groupName,\n index\n };\n if (typeof wallet.hidden === \"function\") {\n potentiallyHiddenWallets.push(walletListItem);\n } else {\n visibleWallets.push(walletListItem);\n }\n });\n });\n const walletListItems = [\n ...visibleWallets,\n ...potentiallyHiddenWallets\n ];\n walletListItems.forEach(({\n createConnector: createConnector2,\n groupIndex,\n groupName,\n hidden,\n index: index2,\n ...walletMeta\n }) => {\n if (typeof hidden === \"function\") {\n const isHidden = hidden({\n wallets: [\n ...walletInstances.map(({ connector: connector2, id, installed, name }) => ({\n connector: connector2,\n id,\n installed,\n name\n }))\n ]\n });\n if (isHidden) {\n return;\n }\n }\n const { connector, ...connectionMethods } = omitUndefinedValues(createConnector2());\n let walletConnectModalConnector;\n if (walletMeta.id === \"walletConnect\" && connectionMethods.qrCode && !(0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isMobile)()) {\n const { chains, options } = connector;\n walletConnectModalConnector = new wagmi_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_1__.WalletConnectConnector({\n chains,\n options: {\n ...options,\n showQrModal: true\n }\n });\n connectors.push(walletConnectModalConnector);\n }\n const walletInstance = {\n connector,\n groupIndex,\n groupName,\n index: index2,\n walletConnectModalConnector,\n ...walletMeta,\n ...connectionMethods\n };\n walletInstances.push(walletInstance);\n if (!connectors.includes(connector)) {\n connectors.push(connector);\n connector._wallets = [];\n }\n connector._wallets.push(walletInstance);\n });\n return connectors;\n };\n};\n\n// src/wallets/walletConnectors/braveWallet/braveWallet.ts\n\nvar braveWallet = ({\n chains,\n ...options\n}) => {\n var _a;\n return {\n id: \"brave\",\n name: \"Brave Wallet\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_braveWallet-BTBH4MDN_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./braveWallet-BTBH4MDN.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/braveWallet-BTBH4MDN.js\"))).default,\n iconBackground: \"#fff\",\n installed: typeof window !== \"undefined\" && ((_a = window.ethereum) == null ? void 0 : _a.isBraveWallet) === true,\n downloadUrls: {},\n createConnector: () => ({\n connector: new wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_2__.InjectedConnector({\n chains,\n options\n })\n })\n };\n};\n\n// src/wallets/walletConnectors/coinbaseWallet/coinbaseWallet.ts\n\nvar coinbaseWallet = ({\n appName,\n chains,\n ...options\n}) => {\n var _a;\n const isCoinbaseWalletInjected = typeof window !== \"undefined\" && ((_a = window.ethereum) == null ? void 0 : _a.isCoinbaseWallet) === true;\n return {\n id: \"coinbase\",\n name: \"Coinbase Wallet\",\n shortName: \"Coinbase\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_coinbaseWallet-2OUR5TUP_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./coinbaseWallet-2OUR5TUP.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/coinbaseWallet-2OUR5TUP.js\"))).default,\n iconAccent: \"#2c5ff6\",\n iconBackground: \"#2c5ff6\",\n installed: isCoinbaseWalletInjected || void 0,\n downloadUrls: {\n android: \"https://play.google.com/store/apps/details?id=org.toshi\",\n ios: \"https://apps.apple.com/us/app/coinbase-wallet-store-crypto/id1278383455\",\n mobile: \"https://coinbase.com/wallet/downloads\",\n qrCode: \"https://coinbase-wallet.onelink.me/q5Sx/fdb9b250\",\n chrome: \"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad\",\n browserExtension: \"https://coinbase.com/wallet\"\n },\n createConnector: () => {\n const ios = (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isIOS)();\n const connector = new wagmi_connectors_coinbaseWallet__WEBPACK_IMPORTED_MODULE_3__.CoinbaseWalletConnector({\n chains,\n options: {\n appName,\n headlessMode: true,\n ...options\n }\n });\n const getUri = async () => (await connector.getProvider()).qrUrl;\n return {\n connector,\n ...ios ? {} : {\n qrCode: {\n getUri,\n instructions: {\n learnMoreUrl: \"https://coinbase.com/wallet/articles/getting-started-mobile\",\n steps: [\n {\n description: \"We recommend putting Coinbase Wallet on your home screen for quicker access.\",\n step: \"install\",\n title: \"Open the Coinbase Wallet app\"\n },\n {\n description: \"You can easily backup your wallet using the cloud backup feature.\",\n step: \"create\",\n title: \"Create or Import a Wallet\"\n },\n {\n description: \"After you scan, a connection prompt will appear for you to connect your wallet.\",\n step: \"scan\",\n title: \"Tap the scan button\"\n }\n ]\n }\n },\n extension: {\n instructions: {\n learnMoreUrl: \"https://coinbase.com/wallet/articles/getting-started-extension\",\n steps: [\n {\n description: \"We recommend pinning Coinbase Wallet to your taskbar for quicker access to your wallet.\",\n step: \"install\",\n title: \"Install the Coinbase Wallet extension\"\n },\n {\n description: \"Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone.\",\n step: \"create\",\n title: \"Create or Import a Wallet\"\n },\n {\n description: \"Once you set up your wallet, click below to refresh the browser and load up the extension.\",\n step: \"refresh\",\n title: \"Refresh your browser\"\n }\n ]\n }\n }\n }\n };\n }\n };\n};\n\n// src/wallets/walletConnectors/injectedWallet/injectedWallet.ts\n\nvar injectedWallet = ({\n chains,\n ...options\n}) => ({\n id: \"injected\",\n name: \"Browser Wallet\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_injectedWallet-EUKDEAIU_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./injectedWallet-EUKDEAIU.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/injectedWallet-EUKDEAIU.js\"))).default,\n iconBackground: \"#fff\",\n hidden: ({ wallets }) => wallets.some((wallet) => wallet.installed && wallet.name === wallet.connector.name && (wallet.connector instanceof wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_2__.InjectedConnector || wallet.id === \"coinbase\")),\n createConnector: () => ({\n connector: new wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_2__.InjectedConnector({\n chains,\n options\n })\n })\n});\n\n// src/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.ts\n\n\n// src/utils/getWalletConnectUri.ts\nasync function getWalletConnectUri(connector, version) {\n const provider = await connector.getProvider();\n return version === \"2\" ? new Promise((resolve) => provider.once(\"display_uri\", resolve)) : provider.connector.uri;\n}\n\n// src/wallets/getWalletConnectConnector.ts\n\n\nvar sharedConnectors = /* @__PURE__ */ new Map();\nfunction createConnector(version, config) {\n const connector = version === \"1\" ? new wagmi_connectors_walletConnectLegacy__WEBPACK_IMPORTED_MODULE_4__.WalletConnectLegacyConnector(config) : new wagmi_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_1__.WalletConnectConnector(config);\n sharedConnectors.set(JSON.stringify(config), connector);\n return connector;\n}\nfunction getWalletConnectConnector({\n chains,\n options = {},\n projectId,\n version = \"2\"\n}) {\n const exampleProjectId = \"21fef48091f12692cad574a6f7753643\";\n if (version === \"2\") {\n if (!projectId || projectId === \"\")\n throw new Error(\"No projectId found. Every dApp must now provide a WalletConnect Cloud projectId to enable WalletConnect v2 https://www.rainbowkit.com/docs/installation#configure\");\n else if (projectId === \"YOUR_PROJECT_ID\" || projectId === exampleProjectId)\n console.warn(\"Invalid projectId. Please create a unique WalletConnect Cloud projectId for your dApp https://www.rainbowkit.com/docs/installation#configure\");\n }\n const config = {\n chains,\n options: version === \"1\" ? {\n qrcode: false,\n ...options\n } : {\n projectId: projectId === \"YOUR_PROJECT_ID\" ? exampleProjectId : projectId,\n showQrModal: false,\n ...options\n }\n };\n const serializedConfig = JSON.stringify(config);\n const sharedConnector = sharedConnectors.get(serializedConfig);\n return sharedConnector != null ? sharedConnector : createConnector(version, config);\n}\n\n// src/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.ts\nfunction isMetaMask(ethereum) {\n if (!(ethereum == null ? void 0 : ethereum.isMetaMask))\n return false;\n if (ethereum.isBraveWallet && !ethereum._events && !ethereum._state)\n return false;\n if (ethereum.isApexWallet)\n return false;\n if (ethereum.isAvalanche)\n return false;\n if (ethereum.isBackpack)\n return false;\n if (ethereum.isBifrost)\n return false;\n if (ethereum.isBitKeep)\n return false;\n if (ethereum.isBitski)\n return false;\n if (ethereum.isBlockWallet)\n return false;\n if (ethereum.isCoinbaseWallet)\n return false;\n if (ethereum.isDawn)\n return false;\n if (ethereum.isEnkrypt)\n return false;\n if (ethereum.isExodus)\n return false;\n if (ethereum.isFrame)\n return false;\n if (ethereum.isFrontier)\n return false;\n if (ethereum.isGamestop)\n return false;\n if (ethereum.isHyperPay)\n return false;\n if (ethereum.isImToken)\n return false;\n if (ethereum.isKuCoinWallet)\n return false;\n if (ethereum.isMathWallet)\n return false;\n if (ethereum.isOkxWallet || ethereum.isOKExWallet)\n return false;\n if (ethereum.isOneInchIOSWallet || ethereum.isOneInchAndroidWallet)\n return false;\n if (ethereum.isOpera)\n return false;\n if (ethereum.isPhantom)\n return false;\n if (ethereum.isPortal)\n return false;\n if (ethereum.isRabby)\n return false;\n if (ethereum.isRainbow)\n return false;\n if (ethereum.isStatus)\n return false;\n if (ethereum.isTalisman)\n return false;\n if (ethereum.isTally)\n return false;\n if (ethereum.isTokenPocket)\n return false;\n if (ethereum.isTokenary)\n return false;\n if (ethereum.isTrust || ethereum.isTrustWallet)\n return false;\n if (ethereum.isXDEFI)\n return false;\n if (ethereum.isZerion)\n return false;\n return true;\n}\nvar metaMaskWallet = ({\n chains,\n projectId,\n walletConnectOptions,\n walletConnectVersion = \"2\",\n ...options\n}) => {\n var _a, _b;\n const providers = typeof window !== \"undefined\" && ((_a = window.ethereum) == null ? void 0 : _a.providers);\n const isMetaMaskInjected = typeof window !== \"undefined\" && typeof window.ethereum !== \"undefined\" && (((_b = window.ethereum.providers) == null ? void 0 : _b.some(isMetaMask)) || window.ethereum.isMetaMask);\n const shouldUseWalletConnect = !isMetaMaskInjected;\n return {\n id: \"metaMask\",\n name: \"MetaMask\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_metaMaskWallet-ORHUNQRP_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./metaMaskWallet-ORHUNQRP.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/metaMaskWallet-ORHUNQRP.js\"))).default,\n iconAccent: \"#f6851a\",\n iconBackground: \"#fff\",\n installed: !shouldUseWalletConnect ? isMetaMaskInjected : void 0,\n downloadUrls: {\n android: \"https://play.google.com/store/apps/details?id=io.metamask\",\n ios: \"https://apps.apple.com/us/app/metamask/id1438144202\",\n mobile: \"https://metamask.io/download\",\n qrCode: \"https://metamask.io/download\",\n chrome: \"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn\",\n edge: \"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm\",\n firefox: \"https://addons.mozilla.org/firefox/addon/ether-metamask\",\n opera: \"https://addons.opera.com/extensions/details/metamask-10\",\n browserExtension: \"https://metamask.io/download\"\n },\n createConnector: () => {\n const connector = shouldUseWalletConnect ? getWalletConnectConnector({\n projectId,\n chains,\n version: walletConnectVersion,\n options: walletConnectOptions\n }) : new wagmi_connectors_metaMask__WEBPACK_IMPORTED_MODULE_5__.MetaMaskConnector({\n chains,\n options: {\n getProvider: () => providers ? providers.find(isMetaMask) : typeof window !== \"undefined\" ? window.ethereum : void 0,\n ...options\n }\n });\n const getUri = async () => {\n const uri = await getWalletConnectUri(connector, walletConnectVersion);\n return (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() ? uri : (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isIOS)() ? `metamask://wc?uri=${encodeURIComponent(uri)}` : `https://metamask.app.link/wc?uri=${encodeURIComponent(uri)}`;\n };\n return {\n connector,\n mobile: {\n getUri: shouldUseWalletConnect ? getUri : void 0\n },\n qrCode: shouldUseWalletConnect ? {\n getUri,\n instructions: {\n learnMoreUrl: \"https://metamask.io/faqs/\",\n steps: [\n {\n description: \"We recommend putting MetaMask on your home screen for quicker access.\",\n step: \"install\",\n title: \"Open the MetaMask app\"\n },\n {\n description: \"Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone.\",\n step: \"create\",\n title: \"Create or Import a Wallet\"\n },\n {\n description: \"After you scan, a connection prompt will appear for you to connect your wallet.\",\n step: \"scan\",\n title: \"Tap the scan button\"\n }\n ]\n }\n } : void 0,\n extension: {\n instructions: {\n learnMoreUrl: \"https://metamask.io/faqs/\",\n steps: [\n {\n description: \"We recommend pinning MetaMask to your taskbar for quicker access to your wallet.\",\n step: \"install\",\n title: \"Install the MetaMask extension\"\n },\n {\n description: \"Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone.\",\n step: \"create\",\n title: \"Create or Import a Wallet\"\n },\n {\n description: \"Once you set up your wallet, click below to refresh the browser and load up the extension.\",\n step: \"refresh\",\n title: \"Refresh your browser\"\n }\n ]\n }\n }\n };\n }\n };\n};\n\n// src/wallets/walletConnectors/rainbowWallet/rainbowWallet.ts\n\nfunction isRainbow(ethereum) {\n const isRainbow2 = Boolean(ethereum.isRainbow);\n if (!isRainbow2) {\n return false;\n }\n return true;\n}\nvar rainbowWallet = ({\n chains,\n projectId,\n walletConnectOptions,\n walletConnectVersion = \"2\",\n ...options\n}) => {\n const isRainbowInjected = typeof window !== \"undefined\" && typeof window.ethereum !== \"undefined\" && isRainbow(window.ethereum);\n const shouldUseWalletConnect = !isRainbowInjected;\n return {\n id: \"rainbow\",\n name: \"Rainbow\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_rainbowWallet-GGU64QEI_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./rainbowWallet-GGU64QEI.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/rainbowWallet-GGU64QEI.js\"))).default,\n iconBackground: \"#0c2f78\",\n installed: !shouldUseWalletConnect ? isRainbowInjected : void 0,\n downloadUrls: {\n android: \"https://play.google.com/store/apps/details?id=me.rainbow&referrer=utm_source%3Drainbowkit&utm_source=rainbowkit\",\n ios: \"https://apps.apple.com/app/apple-store/id1457119021?pt=119997837&ct=rainbowkit&mt=8\",\n mobile: \"https://rainbow.download?utm_source=rainbowkit\",\n qrCode: \"https://rainbow.download?utm_source=rainbowkit&utm_medium=qrcode\",\n browserExtension: \"https://rainbow.me/extension?utm_source=rainbowkit\"\n },\n createConnector: () => {\n const connector = shouldUseWalletConnect ? getWalletConnectConnector({\n projectId,\n chains,\n version: walletConnectVersion,\n options: walletConnectOptions\n }) : new wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_2__.InjectedConnector({\n chains,\n options\n });\n const getUri = async () => {\n const uri = await getWalletConnectUri(connector, walletConnectVersion);\n return (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isAndroid)() ? uri : (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isIOS)() ? `rainbow://wc?uri=${encodeURIComponent(uri)}&connector=rainbowkit` : `https://rnbwapp.com/wc?uri=${encodeURIComponent(uri)}&connector=rainbowkit`;\n };\n return {\n connector,\n mobile: { getUri: shouldUseWalletConnect ? getUri : void 0 },\n qrCode: shouldUseWalletConnect ? {\n getUri,\n instructions: {\n learnMoreUrl: \"https://learn.rainbow.me/connect-to-a-website-or-app?utm_source=rainbowkit&utm_medium=connector&utm_campaign=learnmore\",\n steps: [\n {\n description: \"We recommend putting Rainbow on your home screen for faster access to your wallet.\",\n step: \"install\",\n title: \"Open the Rainbow app\"\n },\n {\n description: \"You can easily backup your wallet using our backup feature on your phone.\",\n step: \"create\",\n title: \"Create or Import a Wallet\"\n },\n {\n description: \"After you scan, a connection prompt will appear for you to connect your wallet.\",\n step: \"scan\",\n title: \"Tap the scan button\"\n }\n ]\n }\n } : void 0\n };\n }\n };\n};\n\n// src/wallets/walletConnectors/safeWallet/safeWallet.ts\n\nvar safeWallet = ({\n chains,\n ...options\n}) => ({\n id: \"safe\",\n name: \"Safe\",\n iconAccent: \"#12ff80\",\n iconBackground: \"#fff\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_safeWallet-DFMLSLCR_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./safeWallet-DFMLSLCR.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/safeWallet-DFMLSLCR.js\"))).default,\n installed: !(typeof window === \"undefined\") && (window == null ? void 0 : window.parent) !== window,\n downloadUrls: {},\n createConnector: () => ({\n connector: new wagmi_connectors_safe__WEBPACK_IMPORTED_MODULE_6__.SafeConnector({ chains, options })\n })\n});\n\n// src/wallets/walletConnectors/walletConnectWallet/walletConnectWallet.ts\nvar walletConnectWallet = ({\n chains,\n options,\n projectId,\n version = \"2\"\n}) => ({\n id: \"walletConnect\",\n name: \"WalletConnect\",\n iconUrl: async () => (await __webpack_require__.e(/*! import() */ \"node_modules_rainbow-me_rainbowkit_dist_walletConnectWallet-D6ZADJM7_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./walletConnectWallet-D6ZADJM7.js */ \"./node_modules/@rainbow-me/rainbowkit/dist/walletConnectWallet-D6ZADJM7.js\"))).default,\n iconBackground: \"#3b99fc\",\n createConnector: () => {\n const ios = (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.isIOS)();\n const connector = version === \"1\" ? getWalletConnectConnector({\n version: \"1\",\n chains,\n options: {\n qrcode: ios,\n ...options\n }\n }) : getWalletConnectConnector({\n version: \"2\",\n chains,\n projectId,\n options: {\n showQrModal: ios,\n ...options\n }\n });\n const getUri = async () => getWalletConnectUri(connector, version);\n return {\n connector,\n ...ios ? {} : {\n mobile: { getUri },\n qrCode: { getUri }\n }\n };\n }\n});\n\n// src/wallets/getDefaultWallets.ts\nvar getDefaultWallets = ({\n appName,\n chains,\n projectId\n}) => {\n const wallets = [\n {\n groupName: \"Popular\",\n wallets: [\n injectedWallet({ chains }),\n safeWallet({ chains }),\n rainbowWallet({ chains, projectId }),\n coinbaseWallet({ appName, chains }),\n metaMaskWallet({ chains, projectId }),\n walletConnectWallet({ chains, projectId }),\n braveWallet({ chains })\n ]\n }\n ];\n return {\n connectors: connectorsForWallets(wallets),\n wallets\n };\n};\n\n// src/transactions/useAddRecentTransaction.ts\n\n\nfunction useAddRecentTransaction() {\n const store = (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.useTransactionStore)();\n const { address } = (0,wagmi__WEBPACK_IMPORTED_MODULE_8__.useAccount)();\n const chainId = (0,_chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.useChainId)();\n return (0,react__WEBPACK_IMPORTED_MODULE_7__.useCallback)((transaction) => {\n if (!address || !chainId) {\n throw new Error(\"No address or chain ID found\");\n }\n store.addTransaction(address, chainId, transaction);\n }, [store, address, chainId]);\n}\n\n// src/__private__/index.ts\nvar __private__ = {\n DesktopOptions: _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.DesktopOptions,\n dialogContent: _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.dialogContent,\n dialogContentMobile: _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.dialogContentMobile,\n MobileOptions: _chunk_J4YCI7VT_js__WEBPACK_IMPORTED_MODULE_0__.MobileOptions\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFHNkI7QUFHQTtBQXFCQTtBQUdBO0FBQ0E7O0FBRTdCO0FBQ3dFOztBQUV4RTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG9CQUFvQjtBQUM5QztBQUNBO0FBQ0EsOERBQThELCtEQUFXO0FBQ3pFLG9GQUFvRixZQUFZO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyw0Q0FBNEM7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLGtDQUFrQztBQUNoRDtBQUNBLDRFQUE0RSw0REFBUTtBQUNwRixnQkFBZ0Isa0JBQWtCO0FBQ2xDLDBDQUEwQyxrRkFBc0I7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUM4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsbVFBQW1DO0FBQ25FO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQSxxQkFBcUIsd0VBQWlCO0FBQ3RD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QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLDhCQUE4QiwyUkFBMkM7QUFDekU7QUFDQTtBQUNBLGdCQUFnQix5REFBSztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEIsa0JBQWtCLFFBQVE7QUFDMUIsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixRQUFRO0FBQ2pDLHFCQUFxQixRQUFRO0FBQzdCLHdCQUF3QixtQkFBbUI7QUFDM0MseUJBQXlCLGlCQUFpQjtBQUMxQyx5QkFBeUIsbUJBQW1CO0FBQzVDLDhCQUE4QixtQkFBbUI7QUFDakQsc0JBQXNCLFFBQVE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNvQztBQUNEO0FBQ25DO0FBQ0EsZ0JBQWdCLHVFQUFtQjtBQUNuQyxVQUFVLFVBQVUsRUFBRSxpREFBVTtBQUNoQyxrQkFBa0IsOERBQVU7QUFDNUIsU0FBUyxrREFBVztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCLGVBQWU7QUFDZixxQkFBcUI7QUFDckIsZUFBZTtBQUNmO0FBbUJFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AcmFpbmJvdy1tZS9yYWluYm93a2l0L2Rpc3QvaW5kZXguanM/MGRmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcbmltcG9ydCB7XG4gIG1pZG5pZ2h0VGhlbWVcbn0gZnJvbSBcIi4vY2h1bmstV1A2VEdBN0guanNcIjtcbmltcG9ydCB7XG4gIGRhcmtUaGVtZVxufSBmcm9tIFwiLi9jaHVuay1CU01XMkIySy5qc1wiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdEJ1dHRvbixcbiAgRGVza3RvcE9wdGlvbnMsXG4gIE1vYmlsZU9wdGlvbnMsXG4gIFJhaW5ib3dLaXRBdXRoZW50aWNhdGlvblByb3ZpZGVyLFxuICBSYWluYm93S2l0UHJvdmlkZXIsXG4gIGNyZWF0ZUF1dGhlbnRpY2F0aW9uQWRhcHRlcixcbiAgY3NzT2JqZWN0RnJvbVRoZW1lLFxuICBjc3NTdHJpbmdGcm9tVGhlbWUsXG4gIGRpYWxvZ0NvbnRlbnQsXG4gIGRpYWxvZ0NvbnRlbnRNb2JpbGUsXG4gIGlzQW5kcm9pZCxcbiAgaXNIZXhTdHJpbmcsXG4gIGlzSU9TLFxuICBpc01vYmlsZSxcbiAgdXNlQWNjb3VudE1vZGFsLFxuICB1c2VDaGFpbklkLFxuICB1c2VDaGFpbk1vZGFsLFxuICB1c2VDb25uZWN0TW9kYWwsXG4gIHVzZVRyYW5zYWN0aW9uU3RvcmVcbn0gZnJvbSBcIi4vY2h1bmstSjRZQ0k3VlQuanNcIjtcbmltcG9ydCB7XG4gIGxpZ2h0VGhlbWVcbn0gZnJvbSBcIi4vY2h1bmstUTRIVklORkEuanNcIjtcbmltcG9ydCBcIi4vY2h1bmstU1dLVUtYUkYuanNcIjtcblxuLy8gc3JjL3dhbGxldHMvY29ubmVjdG9yc0ZvcldhbGxldHMudHNcbmltcG9ydCB7IFdhbGxldENvbm5lY3RDb25uZWN0b3IgfSBmcm9tIFwid2FnbWkvY29ubmVjdG9ycy93YWxsZXRDb25uZWN0XCI7XG5cbi8vIHNyYy91dGlscy9vbWl0VW5kZWZpbmVkVmFsdWVzLnRzXG5mdW5jdGlvbiBvbWl0VW5kZWZpbmVkVmFsdWVzKG9iaikge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKG9iaikuZmlsdGVyKChbX2tleSwgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdm9pZCAwKSk7XG59XG5cbi8vIHNyYy93YWxsZXRzL2Nvbm5lY3RvcnNGb3JXYWxsZXRzLnRzXG52YXIgY29ubmVjdG9yc0ZvcldhbGxldHMgPSAod2FsbGV0TGlzdCkgPT4ge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuICAgIGNvbnN0IGNvbm5lY3RvcnMgPSBbXTtcbiAgICBjb25zdCB2aXNpYmxlV2FsbGV0cyA9IFtdO1xuICAgIGNvbnN0IHBvdGVudGlhbGx5SGlkZGVuV2FsbGV0cyA9IFtdO1xuICAgIGNvbnN0IHdhbGxldEluc3RhbmNlcyA9IFtdO1xuICAgIHdhbGxldExpc3QuZm9yRWFjaCgoeyBncm91cE5hbWUsIHdhbGxldHMgfSwgZ3JvdXBJbmRleCkgPT4ge1xuICAgICAgd2FsbGV0cy5mb3JFYWNoKCh3YWxsZXQpID0+IHtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgICAgaWYgKCh3YWxsZXQgPT0gbnVsbCA/IHZvaWQgMCA6IHdhbGxldC5pY29uQWNjZW50KSAmJiAhaXNIZXhTdHJpbmcod2FsbGV0ID09IG51bGwgPyB2b2lkIDAgOiB3YWxsZXQuaWNvbkFjY2VudCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFByb3BlcnR5IFxcYGljb25BY2NlbnRcXGAgaXMgbm90IGEgaGV4IHZhbHVlIGZvciB3YWxsZXQ6ICR7d2FsbGV0Lm5hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgd2FsbGV0TGlzdEl0ZW0gPSB7XG4gICAgICAgICAgLi4ud2FsbGV0LFxuICAgICAgICAgIGdyb3VwSW5kZXgsXG4gICAgICAgICAgZ3JvdXBOYW1lLFxuICAgICAgICAgIGluZGV4XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eXBlb2Ygd2FsbGV0LmhpZGRlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgcG90ZW50aWFsbHlIaWRkZW5XYWxsZXRzLnB1c2god2FsbGV0TGlzdEl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZpc2libGVXYWxsZXRzLnB1c2god2FsbGV0TGlzdEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB3YWxsZXRMaXN0SXRlbXMgPSBbXG4gICAgICAuLi52aXNpYmxlV2FsbGV0cyxcbiAgICAgIC4uLnBvdGVudGlhbGx5SGlkZGVuV2FsbGV0c1xuICAgIF07XG4gICAgd2FsbGV0TGlzdEl0ZW1zLmZvckVhY2goKHtcbiAgICAgIGNyZWF0ZUNvbm5lY3RvcjogY3JlYXRlQ29ubmVjdG9yMixcbiAgICAgIGdyb3VwSW5kZXgsXG4gICAgICBncm91cE5hbWUsXG4gICAgICBoaWRkZW4sXG4gICAgICBpbmRleDogaW5kZXgyLFxuICAgICAgLi4ud2FsbGV0TWV0YVxuICAgIH0pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgaGlkZGVuID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY29uc3QgaXNIaWRkZW4gPSBoaWRkZW4oe1xuICAgICAgICAgIHdhbGxldHM6IFtcbiAgICAgICAgICAgIC4uLndhbGxldEluc3RhbmNlcy5tYXAoKHsgY29ubmVjdG9yOiBjb25uZWN0b3IyLCBpZCwgaW5zdGFsbGVkLCBuYW1lIH0pID0+ICh7XG4gICAgICAgICAgICAgIGNvbm5lY3RvcjogY29ubmVjdG9yMixcbiAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgIGluc3RhbGxlZCxcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB7IGNvbm5lY3RvciwgLi4uY29ubmVjdGlvbk1ldGhvZHMgfSA9IG9taXRVbmRlZmluZWRWYWx1ZXMoY3JlYXRlQ29ubmVjdG9yMigpKTtcbiAgICAgIGxldCB3YWxsZXRDb25uZWN0TW9kYWxDb25uZWN0b3I7XG4gICAgICBpZiAod2FsbGV0TWV0YS5pZCA9PT0gXCJ3YWxsZXRDb25uZWN0XCIgJiYgY29ubmVjdGlvbk1ldGhvZHMucXJDb2RlICYmICFpc01vYmlsZSgpKSB7XG4gICAgICAgIGNvbnN0IHsgY2hhaW5zLCBvcHRpb25zIH0gPSBjb25uZWN0b3I7XG4gICAgICAgIHdhbGxldENvbm5lY3RNb2RhbENvbm5lY3RvciA9IG5ldyBXYWxsZXRDb25uZWN0Q29ubmVjdG9yKHtcbiAgICAgICAgICBjaGFpbnMsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHNob3dRck1vZGFsOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29ubmVjdG9ycy5wdXNoKHdhbGxldENvbm5lY3RNb2RhbENvbm5lY3Rvcik7XG4gICAgICB9XG4gICAgICBjb25zdCB3YWxsZXRJbnN0YW5jZSA9IHtcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBncm91cEluZGV4LFxuICAgICAgICBncm91cE5hbWUsXG4gICAgICAgIGluZGV4OiBpbmRleDIsXG4gICAgICAgIHdhbGxldENvbm5lY3RNb2RhbENvbm5lY3RvcixcbiAgICAgICAgLi4ud2FsbGV0TWV0YSxcbiAgICAgICAgLi4uY29ubmVjdGlvbk1ldGhvZHNcbiAgICAgIH07XG4gICAgICB3YWxsZXRJbnN0YW5jZXMucHVzaCh3YWxsZXRJbnN0YW5jZSk7XG4gICAgICBpZiAoIWNvbm5lY3RvcnMuaW5jbHVkZXMoY29ubmVjdG9yKSkge1xuICAgICAgICBjb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgICAgICAgY29ubmVjdG9yLl93YWxsZXRzID0gW107XG4gICAgICB9XG4gICAgICBjb25uZWN0b3IuX3dhbGxldHMucHVzaCh3YWxsZXRJbnN0YW5jZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbm5lY3RvcnM7XG4gIH07XG59O1xuXG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL2JyYXZlV2FsbGV0L2JyYXZlV2FsbGV0LnRzXG5pbXBvcnQgeyBJbmplY3RlZENvbm5lY3RvciB9IGZyb20gXCJ3YWdtaS9jb25uZWN0b3JzL2luamVjdGVkXCI7XG52YXIgYnJhdmVXYWxsZXQgPSAoe1xuICBjaGFpbnMsXG4gIC4uLm9wdGlvbnNcbn0pID0+IHtcbiAgdmFyIF9hO1xuICByZXR1cm4ge1xuICAgIGlkOiBcImJyYXZlXCIsXG4gICAgbmFtZTogXCJCcmF2ZSBXYWxsZXRcIixcbiAgICBpY29uVXJsOiBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9icmF2ZVdhbGxldC1CVEJINE1ETi5qc1wiKSkuZGVmYXVsdCxcbiAgICBpY29uQmFja2dyb3VuZDogXCIjZmZmXCIsXG4gICAgaW5zdGFsbGVkOiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmICgoX2EgPSB3aW5kb3cuZXRoZXJldW0pID09IG51bGwgPyB2b2lkIDAgOiBfYS5pc0JyYXZlV2FsbGV0KSA9PT0gdHJ1ZSxcbiAgICBkb3dubG9hZFVybHM6IHt9LFxuICAgIGNyZWF0ZUNvbm5lY3RvcjogKCkgPT4gKHtcbiAgICAgIGNvbm5lY3RvcjogbmV3IEluamVjdGVkQ29ubmVjdG9yKHtcbiAgICAgICAgY2hhaW5zLFxuICAgICAgICBvcHRpb25zXG4gICAgICB9KVxuICAgIH0pXG4gIH07XG59O1xuXG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL2NvaW5iYXNlV2FsbGV0L2NvaW5iYXNlV2FsbGV0LnRzXG5pbXBvcnQgeyBDb2luYmFzZVdhbGxldENvbm5lY3RvciB9IGZyb20gXCJ3YWdtaS9jb25uZWN0b3JzL2NvaW5iYXNlV2FsbGV0XCI7XG52YXIgY29pbmJhc2VXYWxsZXQgPSAoe1xuICBhcHBOYW1lLFxuICBjaGFpbnMsXG4gIC4uLm9wdGlvbnNcbn0pID0+IHtcbiAgdmFyIF9hO1xuICBjb25zdCBpc0NvaW5iYXNlV2FsbGV0SW5qZWN0ZWQgPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmICgoX2EgPSB3aW5kb3cuZXRoZXJldW0pID09IG51bGwgPyB2b2lkIDAgOiBfYS5pc0NvaW5iYXNlV2FsbGV0KSA9PT0gdHJ1ZTtcbiAgcmV0dXJuIHtcbiAgICBpZDogXCJjb2luYmFzZVwiLFxuICAgIG5hbWU6IFwiQ29pbmJhc2UgV2FsbGV0XCIsXG4gICAgc2hvcnROYW1lOiBcIkNvaW5iYXNlXCIsXG4gICAgaWNvblVybDogYXN5bmMgKCkgPT4gKGF3YWl0IGltcG9ydChcIi4vY29pbmJhc2VXYWxsZXQtMk9VUjVUVVAuanNcIikpLmRlZmF1bHQsXG4gICAgaWNvbkFjY2VudDogXCIjMmM1ZmY2XCIsXG4gICAgaWNvbkJhY2tncm91bmQ6IFwiIzJjNWZmNlwiLFxuICAgIGluc3RhbGxlZDogaXNDb2luYmFzZVdhbGxldEluamVjdGVkIHx8IHZvaWQgMCxcbiAgICBkb3dubG9hZFVybHM6IHtcbiAgICAgIGFuZHJvaWQ6IFwiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy50b3NoaVwiLFxuICAgICAgaW9zOiBcImh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL2NvaW5iYXNlLXdhbGxldC1zdG9yZS1jcnlwdG8vaWQxMjc4MzgzNDU1XCIsXG4gICAgICBtb2JpbGU6IFwiaHR0cHM6Ly9jb2luYmFzZS5jb20vd2FsbGV0L2Rvd25sb2Fkc1wiLFxuICAgICAgcXJDb2RlOiBcImh0dHBzOi8vY29pbmJhc2Utd2FsbGV0Lm9uZWxpbmsubWUvcTVTeC9mZGI5YjI1MFwiLFxuICAgICAgY2hyb21lOiBcImh0dHBzOi8vY2hyb21lLmdvb2dsZS5jb20vd2Vic3RvcmUvZGV0YWlsL2NvaW5iYXNlLXdhbGxldC1leHRlbnNpb24vaG5mYW5rbm9jZmVvZmJkZGdjaWpubWhuZm5rZG5hYWRcIixcbiAgICAgIGJyb3dzZXJFeHRlbnNpb246IFwiaHR0cHM6Ly9jb2luYmFzZS5jb20vd2FsbGV0XCJcbiAgICB9LFxuICAgIGNyZWF0ZUNvbm5lY3RvcjogKCkgPT4ge1xuICAgICAgY29uc3QgaW9zID0gaXNJT1MoKTtcbiAgICAgIGNvbnN0IGNvbm5lY3RvciA9IG5ldyBDb2luYmFzZVdhbGxldENvbm5lY3Rvcih7XG4gICAgICAgIGNoYWlucyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGFwcE5hbWUsXG4gICAgICAgICAgaGVhZGxlc3NNb2RlOiB0cnVlLFxuICAgICAgICAgIC4uLm9wdGlvbnNcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25zdCBnZXRVcmkgPSBhc3luYyAoKSA9PiAoYXdhaXQgY29ubmVjdG9yLmdldFByb3ZpZGVyKCkpLnFyVXJsO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICAuLi5pb3MgPyB7fSA6IHtcbiAgICAgICAgICBxckNvZGU6IHtcbiAgICAgICAgICAgIGdldFVyaSxcbiAgICAgICAgICAgIGluc3RydWN0aW9uczoge1xuICAgICAgICAgICAgICBsZWFybk1vcmVVcmw6IFwiaHR0cHM6Ly9jb2luYmFzZS5jb20vd2FsbGV0L2FydGljbGVzL2dldHRpbmctc3RhcnRlZC1tb2JpbGVcIixcbiAgICAgICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZSByZWNvbW1lbmQgcHV0dGluZyBDb2luYmFzZSBXYWxsZXQgb24geW91ciBob21lIHNjcmVlbiBmb3IgcXVpY2tlciBhY2Nlc3MuXCIsXG4gICAgICAgICAgICAgICAgICBzdGVwOiBcImluc3RhbGxcIixcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIk9wZW4gdGhlIENvaW5iYXNlIFdhbGxldCBhcHBcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91IGNhbiBlYXNpbHkgYmFja3VwIHlvdXIgd2FsbGV0IHVzaW5nIHRoZSBjbG91ZCBiYWNrdXAgZmVhdHVyZS5cIixcbiAgICAgICAgICAgICAgICAgIHN0ZXA6IFwiY3JlYXRlXCIsXG4gICAgICAgICAgICAgICAgICB0aXRsZTogXCJDcmVhdGUgb3IgSW1wb3J0IGEgV2FsbGV0XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFmdGVyIHlvdSBzY2FuLCBhIGNvbm5lY3Rpb24gcHJvbXB0IHdpbGwgYXBwZWFyIGZvciB5b3UgdG8gY29ubmVjdCB5b3VyIHdhbGxldC5cIixcbiAgICAgICAgICAgICAgICAgIHN0ZXA6IFwic2NhblwiLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwiVGFwIHRoZSBzY2FuIGJ1dHRvblwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBleHRlbnNpb246IHtcbiAgICAgICAgICAgIGluc3RydWN0aW9uczoge1xuICAgICAgICAgICAgICBsZWFybk1vcmVVcmw6IFwiaHR0cHM6Ly9jb2luYmFzZS5jb20vd2FsbGV0L2FydGljbGVzL2dldHRpbmctc3RhcnRlZC1leHRlbnNpb25cIixcbiAgICAgICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZSByZWNvbW1lbmQgcGlubmluZyBDb2luYmFzZSBXYWxsZXQgdG8geW91ciB0YXNrYmFyIGZvciBxdWlja2VyIGFjY2VzcyB0byB5b3VyIHdhbGxldC5cIixcbiAgICAgICAgICAgICAgICAgIHN0ZXA6IFwiaW5zdGFsbFwiLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwiSW5zdGFsbCB0aGUgQ29pbmJhc2UgV2FsbGV0IGV4dGVuc2lvblwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJCZSBzdXJlIHRvIGJhY2sgdXAgeW91ciB3YWxsZXQgdXNpbmcgYSBzZWN1cmUgbWV0aG9kLiBOZXZlciBzaGFyZSB5b3VyIHNlY3JldCBwaHJhc2Ugd2l0aCBhbnlvbmUuXCIsXG4gICAgICAgICAgICAgICAgICBzdGVwOiBcImNyZWF0ZVwiLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwiQ3JlYXRlIG9yIEltcG9ydCBhIFdhbGxldFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbmNlIHlvdSBzZXQgdXAgeW91ciB3YWxsZXQsIGNsaWNrIGJlbG93IHRvIHJlZnJlc2ggdGhlIGJyb3dzZXIgYW5kIGxvYWQgdXAgdGhlIGV4dGVuc2lvbi5cIixcbiAgICAgICAgICAgICAgICAgIHN0ZXA6IFwicmVmcmVzaFwiLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwiUmVmcmVzaCB5b3VyIGJyb3dzZXJcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH07XG59O1xuXG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL2luamVjdGVkV2FsbGV0L2luamVjdGVkV2FsbGV0LnRzXG5pbXBvcnQgeyBJbmplY3RlZENvbm5lY3RvciBhcyBJbmplY3RlZENvbm5lY3RvcjIgfSBmcm9tIFwid2FnbWkvY29ubmVjdG9ycy9pbmplY3RlZFwiO1xudmFyIGluamVjdGVkV2FsbGV0ID0gKHtcbiAgY2hhaW5zLFxuICAuLi5vcHRpb25zXG59KSA9PiAoe1xuICBpZDogXCJpbmplY3RlZFwiLFxuICBuYW1lOiBcIkJyb3dzZXIgV2FsbGV0XCIsXG4gIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2luamVjdGVkV2FsbGV0LUVVS0RFQUlVLmpzXCIpKS5kZWZhdWx0LFxuICBpY29uQmFja2dyb3VuZDogXCIjZmZmXCIsXG4gIGhpZGRlbjogKHsgd2FsbGV0cyB9KSA9PiB3YWxsZXRzLnNvbWUoKHdhbGxldCkgPT4gd2FsbGV0Lmluc3RhbGxlZCAmJiB3YWxsZXQubmFtZSA9PT0gd2FsbGV0LmNvbm5lY3Rvci5uYW1lICYmICh3YWxsZXQuY29ubmVjdG9yIGluc3RhbmNlb2YgSW5qZWN0ZWRDb25uZWN0b3IyIHx8IHdhbGxldC5pZCA9PT0gXCJjb2luYmFzZVwiKSksXG4gIGNyZWF0ZUNvbm5lY3RvcjogKCkgPT4gKHtcbiAgICBjb25uZWN0b3I6IG5ldyBJbmplY3RlZENvbm5lY3RvcjIoe1xuICAgICAgY2hhaW5zLFxuICAgICAgb3B0aW9uc1xuICAgIH0pXG4gIH0pXG59KTtcblxuLy8gc3JjL3dhbGxldHMvd2FsbGV0Q29ubmVjdG9ycy9tZXRhTWFza1dhbGxldC9tZXRhTWFza1dhbGxldC50c1xuaW1wb3J0IHsgTWV0YU1hc2tDb25uZWN0b3IgfSBmcm9tIFwid2FnbWkvY29ubmVjdG9ycy9tZXRhTWFza1wiO1xuXG4vLyBzcmMvdXRpbHMvZ2V0V2FsbGV0Q29ubmVjdFVyaS50c1xuYXN5bmMgZnVuY3Rpb24gZ2V0V2FsbGV0Q29ubmVjdFVyaShjb25uZWN0b3IsIHZlcnNpb24pIHtcbiAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCBjb25uZWN0b3IuZ2V0UHJvdmlkZXIoKTtcbiAgcmV0dXJuIHZlcnNpb24gPT09IFwiMlwiID8gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHByb3ZpZGVyLm9uY2UoXCJkaXNwbGF5X3VyaVwiLCByZXNvbHZlKSkgOiBwcm92aWRlci5jb25uZWN0b3IudXJpO1xufVxuXG4vLyBzcmMvd2FsbGV0cy9nZXRXYWxsZXRDb25uZWN0Q29ubmVjdG9yLnRzXG5pbXBvcnQgeyBXYWxsZXRDb25uZWN0Q29ubmVjdG9yIGFzIFdhbGxldENvbm5lY3RDb25uZWN0b3IyIH0gZnJvbSBcIndhZ21pL2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdFwiO1xuaW1wb3J0IHsgV2FsbGV0Q29ubmVjdExlZ2FjeUNvbm5lY3RvciB9IGZyb20gXCJ3YWdtaS9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RMZWdhY3lcIjtcbnZhciBzaGFyZWRDb25uZWN0b3JzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGNyZWF0ZUNvbm5lY3Rvcih2ZXJzaW9uLCBjb25maWcpIHtcbiAgY29uc3QgY29ubmVjdG9yID0gdmVyc2lvbiA9PT0gXCIxXCIgPyBuZXcgV2FsbGV0Q29ubmVjdExlZ2FjeUNvbm5lY3Rvcihjb25maWcpIDogbmV3IFdhbGxldENvbm5lY3RDb25uZWN0b3IyKGNvbmZpZyk7XG4gIHNoYXJlZENvbm5lY3RvcnMuc2V0KEpTT04uc3RyaW5naWZ5KGNvbmZpZyksIGNvbm5lY3Rvcik7XG4gIHJldHVybiBjb25uZWN0b3I7XG59XG5mdW5jdGlvbiBnZXRXYWxsZXRDb25uZWN0Q29ubmVjdG9yKHtcbiAgY2hhaW5zLFxuICBvcHRpb25zID0ge30sXG4gIHByb2plY3RJZCxcbiAgdmVyc2lvbiA9IFwiMlwiXG59KSB7XG4gIGNvbnN0IGV4YW1wbGVQcm9qZWN0SWQgPSBcIjIxZmVmNDgwOTFmMTI2OTJjYWQ1NzRhNmY3NzUzNjQzXCI7XG4gIGlmICh2ZXJzaW9uID09PSBcIjJcIikge1xuICAgIGlmICghcHJvamVjdElkIHx8IHByb2plY3RJZCA9PT0gXCJcIilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHByb2plY3RJZCBmb3VuZC4gRXZlcnkgZEFwcCBtdXN0IG5vdyBwcm92aWRlIGEgV2FsbGV0Q29ubmVjdCBDbG91ZCBwcm9qZWN0SWQgdG8gZW5hYmxlIFdhbGxldENvbm5lY3QgdjIgaHR0cHM6Ly93d3cucmFpbmJvd2tpdC5jb20vZG9jcy9pbnN0YWxsYXRpb24jY29uZmlndXJlXCIpO1xuICAgIGVsc2UgaWYgKHByb2plY3RJZCA9PT0gXCJZT1VSX1BST0pFQ1RfSURcIiB8fCBwcm9qZWN0SWQgPT09IGV4YW1wbGVQcm9qZWN0SWQpXG4gICAgICBjb25zb2xlLndhcm4oXCJJbnZhbGlkIHByb2plY3RJZC4gUGxlYXNlIGNyZWF0ZSBhIHVuaXF1ZSBXYWxsZXRDb25uZWN0IENsb3VkIHByb2plY3RJZCBmb3IgeW91ciBkQXBwIGh0dHBzOi8vd3d3LnJhaW5ib3draXQuY29tL2RvY3MvaW5zdGFsbGF0aW9uI2NvbmZpZ3VyZVwiKTtcbiAgfVxuICBjb25zdCBjb25maWcgPSB7XG4gICAgY2hhaW5zLFxuICAgIG9wdGlvbnM6IHZlcnNpb24gPT09IFwiMVwiID8ge1xuICAgICAgcXJjb2RlOiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9IDoge1xuICAgICAgcHJvamVjdElkOiBwcm9qZWN0SWQgPT09IFwiWU9VUl9QUk9KRUNUX0lEXCIgPyBleGFtcGxlUHJvamVjdElkIDogcHJvamVjdElkLFxuICAgICAgc2hvd1FyTW9kYWw6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH1cbiAgfTtcbiAgY29uc3Qgc2VyaWFsaXplZENvbmZpZyA9IEpTT04uc3RyaW5naWZ5KGNvbmZpZyk7XG4gIGNvbnN0IHNoYXJlZENvbm5lY3RvciA9IHNoYXJlZENvbm5lY3RvcnMuZ2V0KHNlcmlhbGl6ZWRDb25maWcpO1xuICByZXR1cm4gc2hhcmVkQ29ubmVjdG9yICE9IG51bGwgPyBzaGFyZWRDb25uZWN0b3IgOiBjcmVhdGVDb25uZWN0b3IodmVyc2lvbiwgY29uZmlnKTtcbn1cblxuLy8gc3JjL3dhbGxldHMvd2FsbGV0Q29ubmVjdG9ycy9tZXRhTWFza1dhbGxldC9tZXRhTWFza1dhbGxldC50c1xuZnVuY3Rpb24gaXNNZXRhTWFzayhldGhlcmV1bSkge1xuICBpZiAoIShldGhlcmV1bSA9PSBudWxsID8gdm9pZCAwIDogZXRoZXJldW0uaXNNZXRhTWFzaykpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNCcmF2ZVdhbGxldCAmJiAhZXRoZXJldW0uX2V2ZW50cyAmJiAhZXRoZXJldW0uX3N0YXRlKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzQXBleFdhbGxldClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0F2YWxhbmNoZSlcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0JhY2twYWNrKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzQmlmcm9zdClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0JpdEtlZXApXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNCaXRza2kpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNCbG9ja1dhbGxldClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0NvaW5iYXNlV2FsbGV0KVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzRGF3bilcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0Vua3J5cHQpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNFeG9kdXMpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNGcmFtZSlcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0Zyb250aWVyKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzR2FtZXN0b3ApXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNIeXBlclBheSlcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc0ltVG9rZW4pXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNLdUNvaW5XYWxsZXQpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNNYXRoV2FsbGV0KVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzT2t4V2FsbGV0IHx8IGV0aGVyZXVtLmlzT0tFeFdhbGxldClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc09uZUluY2hJT1NXYWxsZXQgfHwgZXRoZXJldW0uaXNPbmVJbmNoQW5kcm9pZFdhbGxldClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc09wZXJhKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzUGhhbnRvbSlcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc1BvcnRhbClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc1JhYmJ5KVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzUmFpbmJvdylcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc1N0YXR1cylcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc1RhbGlzbWFuKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzVGFsbHkpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZXRoZXJldW0uaXNUb2tlblBvY2tldClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc1Rva2VuYXJ5KVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzVHJ1c3QgfHwgZXRoZXJldW0uaXNUcnVzdFdhbGxldClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChldGhlcmV1bS5pc1hERUZJKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGV0aGVyZXVtLmlzWmVyaW9uKVxuICAgIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG52YXIgbWV0YU1hc2tXYWxsZXQgPSAoe1xuICBjaGFpbnMsXG4gIHByb2plY3RJZCxcbiAgd2FsbGV0Q29ubmVjdE9wdGlvbnMsXG4gIHdhbGxldENvbm5lY3RWZXJzaW9uID0gXCIyXCIsXG4gIC4uLm9wdGlvbnNcbn0pID0+IHtcbiAgdmFyIF9hLCBfYjtcbiAgY29uc3QgcHJvdmlkZXJzID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiAoKF9hID0gd2luZG93LmV0aGVyZXVtKSA9PSBudWxsID8gdm9pZCAwIDogX2EucHJvdmlkZXJzKTtcbiAgY29uc3QgaXNNZXRhTWFza0luamVjdGVkID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygd2luZG93LmV0aGVyZXVtICE9PSBcInVuZGVmaW5lZFwiICYmICgoKF9iID0gd2luZG93LmV0aGVyZXVtLnByb3ZpZGVycykgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLnNvbWUoaXNNZXRhTWFzaykpIHx8IHdpbmRvdy5ldGhlcmV1bS5pc01ldGFNYXNrKTtcbiAgY29uc3Qgc2hvdWxkVXNlV2FsbGV0Q29ubmVjdCA9ICFpc01ldGFNYXNrSW5qZWN0ZWQ7XG4gIHJldHVybiB7XG4gICAgaWQ6IFwibWV0YU1hc2tcIixcbiAgICBuYW1lOiBcIk1ldGFNYXNrXCIsXG4gICAgaWNvblVybDogYXN5bmMgKCkgPT4gKGF3YWl0IGltcG9ydChcIi4vbWV0YU1hc2tXYWxsZXQtT1JIVU5RUlAuanNcIikpLmRlZmF1bHQsXG4gICAgaWNvbkFjY2VudDogXCIjZjY4NTFhXCIsXG4gICAgaWNvbkJhY2tncm91bmQ6IFwiI2ZmZlwiLFxuICAgIGluc3RhbGxlZDogIXNob3VsZFVzZVdhbGxldENvbm5lY3QgPyBpc01ldGFNYXNrSW5qZWN0ZWQgOiB2b2lkIDAsXG4gICAgZG93bmxvYWRVcmxzOiB7XG4gICAgICBhbmRyb2lkOiBcImh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1pby5tZXRhbWFza1wiLFxuICAgICAgaW9zOiBcImh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL21ldGFtYXNrL2lkMTQzODE0NDIwMlwiLFxuICAgICAgbW9iaWxlOiBcImh0dHBzOi8vbWV0YW1hc2suaW8vZG93bmxvYWRcIixcbiAgICAgIHFyQ29kZTogXCJodHRwczovL21ldGFtYXNrLmlvL2Rvd25sb2FkXCIsXG4gICAgICBjaHJvbWU6IFwiaHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZXRhaWwvbWV0YW1hc2svbmtiaWhmYmVvZ2FlYW9laGxlZm5rb2RiZWZncGdrbm5cIixcbiAgICAgIGVkZ2U6IFwiaHR0cHM6Ly9taWNyb3NvZnRlZGdlLm1pY3Jvc29mdC5jb20vYWRkb25zL2RldGFpbC9tZXRhbWFzay9lamJhbGJha29wbGNobGdoZWNkYWxtZWVlYWpuaW1obVwiLFxuICAgICAgZmlyZWZveDogXCJodHRwczovL2FkZG9ucy5tb3ppbGxhLm9yZy9maXJlZm94L2FkZG9uL2V0aGVyLW1ldGFtYXNrXCIsXG4gICAgICBvcGVyYTogXCJodHRwczovL2FkZG9ucy5vcGVyYS5jb20vZXh0ZW5zaW9ucy9kZXRhaWxzL21ldGFtYXNrLTEwXCIsXG4gICAgICBicm93c2VyRXh0ZW5zaW9uOiBcImh0dHBzOi8vbWV0YW1hc2suaW8vZG93bmxvYWRcIlxuICAgIH0sXG4gICAgY3JlYXRlQ29ubmVjdG9yOiAoKSA9PiB7XG4gICAgICBjb25zdCBjb25uZWN0b3IgPSBzaG91bGRVc2VXYWxsZXRDb25uZWN0ID8gZ2V0V2FsbGV0Q29ubmVjdENvbm5lY3Rvcih7XG4gICAgICAgIHByb2plY3RJZCxcbiAgICAgICAgY2hhaW5zLFxuICAgICAgICB2ZXJzaW9uOiB3YWxsZXRDb25uZWN0VmVyc2lvbixcbiAgICAgICAgb3B0aW9uczogd2FsbGV0Q29ubmVjdE9wdGlvbnNcbiAgICAgIH0pIDogbmV3IE1ldGFNYXNrQ29ubmVjdG9yKHtcbiAgICAgICAgY2hhaW5zLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZ2V0UHJvdmlkZXI6ICgpID0+IHByb3ZpZGVycyA/IHByb3ZpZGVycy5maW5kKGlzTWV0YU1hc2spIDogdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IHdpbmRvdy5ldGhlcmV1bSA6IHZvaWQgMCxcbiAgICAgICAgICAuLi5vcHRpb25zXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY29uc3QgZ2V0VXJpID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB1cmkgPSBhd2FpdCBnZXRXYWxsZXRDb25uZWN0VXJpKGNvbm5lY3Rvciwgd2FsbGV0Q29ubmVjdFZlcnNpb24pO1xuICAgICAgICByZXR1cm4gaXNBbmRyb2lkKCkgPyB1cmkgOiBpc0lPUygpID8gYG1ldGFtYXNrOi8vd2M/dXJpPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVyaSl9YCA6IGBodHRwczovL21ldGFtYXNrLmFwcC5saW5rL3djP3VyaT0ke2VuY29kZVVSSUNvbXBvbmVudCh1cmkpfWA7XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBtb2JpbGU6IHtcbiAgICAgICAgICBnZXRVcmk6IHNob3VsZFVzZVdhbGxldENvbm5lY3QgPyBnZXRVcmkgOiB2b2lkIDBcbiAgICAgICAgfSxcbiAgICAgICAgcXJDb2RlOiBzaG91bGRVc2VXYWxsZXRDb25uZWN0ID8ge1xuICAgICAgICAgIGdldFVyaSxcbiAgICAgICAgICBpbnN0cnVjdGlvbnM6IHtcbiAgICAgICAgICAgIGxlYXJuTW9yZVVybDogXCJodHRwczovL21ldGFtYXNrLmlvL2ZhcXMvXCIsXG4gICAgICAgICAgICBzdGVwczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2UgcmVjb21tZW5kIHB1dHRpbmcgTWV0YU1hc2sgb24geW91ciBob21lIHNjcmVlbiBmb3IgcXVpY2tlciBhY2Nlc3MuXCIsXG4gICAgICAgICAgICAgICAgc3RlcDogXCJpbnN0YWxsXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiT3BlbiB0aGUgTWV0YU1hc2sgYXBwXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJlIHN1cmUgdG8gYmFjayB1cCB5b3VyIHdhbGxldCB1c2luZyBhIHNlY3VyZSBtZXRob2QuIE5ldmVyIHNoYXJlIHlvdXIgc2VjcmV0IHBocmFzZSB3aXRoIGFueW9uZS5cIixcbiAgICAgICAgICAgICAgICBzdGVwOiBcImNyZWF0ZVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNyZWF0ZSBvciBJbXBvcnQgYSBXYWxsZXRcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQWZ0ZXIgeW91IHNjYW4sIGEgY29ubmVjdGlvbiBwcm9tcHQgd2lsbCBhcHBlYXIgZm9yIHlvdSB0byBjb25uZWN0IHlvdXIgd2FsbGV0LlwiLFxuICAgICAgICAgICAgICAgIHN0ZXA6IFwic2NhblwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlRhcCB0aGUgc2NhbiBidXR0b25cIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9IDogdm9pZCAwLFxuICAgICAgICBleHRlbnNpb246IHtcbiAgICAgICAgICBpbnN0cnVjdGlvbnM6IHtcbiAgICAgICAgICAgIGxlYXJuTW9yZVVybDogXCJodHRwczovL21ldGFtYXNrLmlvL2ZhcXMvXCIsXG4gICAgICAgICAgICBzdGVwczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2UgcmVjb21tZW5kIHBpbm5pbmcgTWV0YU1hc2sgdG8geW91ciB0YXNrYmFyIGZvciBxdWlja2VyIGFjY2VzcyB0byB5b3VyIHdhbGxldC5cIixcbiAgICAgICAgICAgICAgICBzdGVwOiBcImluc3RhbGxcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJJbnN0YWxsIHRoZSBNZXRhTWFzayBleHRlbnNpb25cIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQmUgc3VyZSB0byBiYWNrIHVwIHlvdXIgd2FsbGV0IHVzaW5nIGEgc2VjdXJlIG1ldGhvZC4gTmV2ZXIgc2hhcmUgeW91ciBzZWNyZXQgcGhyYXNlIHdpdGggYW55b25lLlwiLFxuICAgICAgICAgICAgICAgIHN0ZXA6IFwiY3JlYXRlXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ3JlYXRlIG9yIEltcG9ydCBhIFdhbGxldFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbmNlIHlvdSBzZXQgdXAgeW91ciB3YWxsZXQsIGNsaWNrIGJlbG93IHRvIHJlZnJlc2ggdGhlIGJyb3dzZXIgYW5kIGxvYWQgdXAgdGhlIGV4dGVuc2lvbi5cIixcbiAgICAgICAgICAgICAgICBzdGVwOiBcInJlZnJlc2hcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSZWZyZXNoIHlvdXIgYnJvd3NlclwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcblxuLy8gc3JjL3dhbGxldHMvd2FsbGV0Q29ubmVjdG9ycy9yYWluYm93V2FsbGV0L3JhaW5ib3dXYWxsZXQudHNcbmltcG9ydCB7IEluamVjdGVkQ29ubmVjdG9yIGFzIEluamVjdGVkQ29ubmVjdG9yMyB9IGZyb20gXCJ3YWdtaS9jb25uZWN0b3JzL2luamVjdGVkXCI7XG5mdW5jdGlvbiBpc1JhaW5ib3coZXRoZXJldW0pIHtcbiAgY29uc3QgaXNSYWluYm93MiA9IEJvb2xlYW4oZXRoZXJldW0uaXNSYWluYm93KTtcbiAgaWYgKCFpc1JhaW5ib3cyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxudmFyIHJhaW5ib3dXYWxsZXQgPSAoe1xuICBjaGFpbnMsXG4gIHByb2plY3RJZCxcbiAgd2FsbGV0Q29ubmVjdE9wdGlvbnMsXG4gIHdhbGxldENvbm5lY3RWZXJzaW9uID0gXCIyXCIsXG4gIC4uLm9wdGlvbnNcbn0pID0+IHtcbiAgY29uc3QgaXNSYWluYm93SW5qZWN0ZWQgPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiB3aW5kb3cuZXRoZXJldW0gIT09IFwidW5kZWZpbmVkXCIgJiYgaXNSYWluYm93KHdpbmRvdy5ldGhlcmV1bSk7XG4gIGNvbnN0IHNob3VsZFVzZVdhbGxldENvbm5lY3QgPSAhaXNSYWluYm93SW5qZWN0ZWQ7XG4gIHJldHVybiB7XG4gICAgaWQ6IFwicmFpbmJvd1wiLFxuICAgIG5hbWU6IFwiUmFpbmJvd1wiLFxuICAgIGljb25Vcmw6IGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL3JhaW5ib3dXYWxsZXQtR0dVNjRRRUkuanNcIikpLmRlZmF1bHQsXG4gICAgaWNvbkJhY2tncm91bmQ6IFwiIzBjMmY3OFwiLFxuICAgIGluc3RhbGxlZDogIXNob3VsZFVzZVdhbGxldENvbm5lY3QgPyBpc1JhaW5ib3dJbmplY3RlZCA6IHZvaWQgMCxcbiAgICBkb3dubG9hZFVybHM6IHtcbiAgICAgIGFuZHJvaWQ6IFwiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW1lLnJhaW5ib3cmcmVmZXJyZXI9dXRtX3NvdXJjZSUzRHJhaW5ib3draXQmdXRtX3NvdXJjZT1yYWluYm93a2l0XCIsXG4gICAgICBpb3M6IFwiaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxNDU3MTE5MDIxP3B0PTExOTk5NzgzNyZjdD1yYWluYm93a2l0Jm10PThcIixcbiAgICAgIG1vYmlsZTogXCJodHRwczovL3JhaW5ib3cuZG93bmxvYWQ/dXRtX3NvdXJjZT1yYWluYm93a2l0XCIsXG4gICAgICBxckNvZGU6IFwiaHR0cHM6Ly9yYWluYm93LmRvd25sb2FkP3V0bV9zb3VyY2U9cmFpbmJvd2tpdCZ1dG1fbWVkaXVtPXFyY29kZVwiLFxuICAgICAgYnJvd3NlckV4dGVuc2lvbjogXCJodHRwczovL3JhaW5ib3cubWUvZXh0ZW5zaW9uP3V0bV9zb3VyY2U9cmFpbmJvd2tpdFwiXG4gICAgfSxcbiAgICBjcmVhdGVDb25uZWN0b3I6ICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbm5lY3RvciA9IHNob3VsZFVzZVdhbGxldENvbm5lY3QgPyBnZXRXYWxsZXRDb25uZWN0Q29ubmVjdG9yKHtcbiAgICAgICAgcHJvamVjdElkLFxuICAgICAgICBjaGFpbnMsXG4gICAgICAgIHZlcnNpb246IHdhbGxldENvbm5lY3RWZXJzaW9uLFxuICAgICAgICBvcHRpb25zOiB3YWxsZXRDb25uZWN0T3B0aW9uc1xuICAgICAgfSkgOiBuZXcgSW5qZWN0ZWRDb25uZWN0b3IzKHtcbiAgICAgICAgY2hhaW5zLFxuICAgICAgICBvcHRpb25zXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGdldFVyaSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgdXJpID0gYXdhaXQgZ2V0V2FsbGV0Q29ubmVjdFVyaShjb25uZWN0b3IsIHdhbGxldENvbm5lY3RWZXJzaW9uKTtcbiAgICAgICAgcmV0dXJuIGlzQW5kcm9pZCgpID8gdXJpIDogaXNJT1MoKSA/IGByYWluYm93Oi8vd2M/dXJpPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVyaSl9JmNvbm5lY3Rvcj1yYWluYm93a2l0YCA6IGBodHRwczovL3JuYndhcHAuY29tL3djP3VyaT0ke2VuY29kZVVSSUNvbXBvbmVudCh1cmkpfSZjb25uZWN0b3I9cmFpbmJvd2tpdGA7XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBtb2JpbGU6IHsgZ2V0VXJpOiBzaG91bGRVc2VXYWxsZXRDb25uZWN0ID8gZ2V0VXJpIDogdm9pZCAwIH0sXG4gICAgICAgIHFyQ29kZTogc2hvdWxkVXNlV2FsbGV0Q29ubmVjdCA/IHtcbiAgICAgICAgICBnZXRVcmksXG4gICAgICAgICAgaW5zdHJ1Y3Rpb25zOiB7XG4gICAgICAgICAgICBsZWFybk1vcmVVcmw6IFwiaHR0cHM6Ly9sZWFybi5yYWluYm93Lm1lL2Nvbm5lY3QtdG8tYS13ZWJzaXRlLW9yLWFwcD91dG1fc291cmNlPXJhaW5ib3draXQmdXRtX21lZGl1bT1jb25uZWN0b3ImdXRtX2NhbXBhaWduPWxlYXJubW9yZVwiLFxuICAgICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldlIHJlY29tbWVuZCBwdXR0aW5nIFJhaW5ib3cgb24geW91ciBob21lIHNjcmVlbiBmb3IgZmFzdGVyIGFjY2VzcyB0byB5b3VyIHdhbGxldC5cIixcbiAgICAgICAgICAgICAgICBzdGVwOiBcImluc3RhbGxcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJPcGVuIHRoZSBSYWluYm93IGFwcFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3UgY2FuIGVhc2lseSBiYWNrdXAgeW91ciB3YWxsZXQgdXNpbmcgb3VyIGJhY2t1cCBmZWF0dXJlIG9uIHlvdXIgcGhvbmUuXCIsXG4gICAgICAgICAgICAgICAgc3RlcDogXCJjcmVhdGVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDcmVhdGUgb3IgSW1wb3J0IGEgV2FsbGV0XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFmdGVyIHlvdSBzY2FuLCBhIGNvbm5lY3Rpb24gcHJvbXB0IHdpbGwgYXBwZWFyIGZvciB5b3UgdG8gY29ubmVjdCB5b3VyIHdhbGxldC5cIixcbiAgICAgICAgICAgICAgICBzdGVwOiBcInNjYW5cIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUYXAgdGhlIHNjYW4gYnV0dG9uXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSA6IHZvaWQgMFxuICAgICAgfTtcbiAgICB9XG4gIH07XG59O1xuXG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL3NhZmVXYWxsZXQvc2FmZVdhbGxldC50c1xuaW1wb3J0IHsgU2FmZUNvbm5lY3RvciB9IGZyb20gXCJ3YWdtaS9jb25uZWN0b3JzL3NhZmVcIjtcbnZhciBzYWZlV2FsbGV0ID0gKHtcbiAgY2hhaW5zLFxuICAuLi5vcHRpb25zXG59KSA9PiAoe1xuICBpZDogXCJzYWZlXCIsXG4gIG5hbWU6IFwiU2FmZVwiLFxuICBpY29uQWNjZW50OiBcIiMxMmZmODBcIixcbiAgaWNvbkJhY2tncm91bmQ6IFwiI2ZmZlwiLFxuICBpY29uVXJsOiBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi9zYWZlV2FsbGV0LURGTUxTTENSLmpzXCIpKS5kZWZhdWx0LFxuICBpbnN0YWxsZWQ6ICEodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikgJiYgKHdpbmRvdyA9PSBudWxsID8gdm9pZCAwIDogd2luZG93LnBhcmVudCkgIT09IHdpbmRvdyxcbiAgZG93bmxvYWRVcmxzOiB7fSxcbiAgY3JlYXRlQ29ubmVjdG9yOiAoKSA9PiAoe1xuICAgIGNvbm5lY3RvcjogbmV3IFNhZmVDb25uZWN0b3IoeyBjaGFpbnMsIG9wdGlvbnMgfSlcbiAgfSlcbn0pO1xuXG4vLyBzcmMvd2FsbGV0cy93YWxsZXRDb25uZWN0b3JzL3dhbGxldENvbm5lY3RXYWxsZXQvd2FsbGV0Q29ubmVjdFdhbGxldC50c1xudmFyIHdhbGxldENvbm5lY3RXYWxsZXQgPSAoe1xuICBjaGFpbnMsXG4gIG9wdGlvbnMsXG4gIHByb2plY3RJZCxcbiAgdmVyc2lvbiA9IFwiMlwiXG59KSA9PiAoe1xuICBpZDogXCJ3YWxsZXRDb25uZWN0XCIsXG4gIG5hbWU6IFwiV2FsbGV0Q29ubmVjdFwiLFxuICBpY29uVXJsOiBhc3luYyAoKSA9PiAoYXdhaXQgaW1wb3J0KFwiLi93YWxsZXRDb25uZWN0V2FsbGV0LUQ2WkFESk03LmpzXCIpKS5kZWZhdWx0LFxuICBpY29uQmFja2dyb3VuZDogXCIjM2I5OWZjXCIsXG4gIGNyZWF0ZUNvbm5lY3RvcjogKCkgPT4ge1xuICAgIGNvbnN0IGlvcyA9IGlzSU9TKCk7XG4gICAgY29uc3QgY29ubmVjdG9yID0gdmVyc2lvbiA9PT0gXCIxXCIgPyBnZXRXYWxsZXRDb25uZWN0Q29ubmVjdG9yKHtcbiAgICAgIHZlcnNpb246IFwiMVwiLFxuICAgICAgY2hhaW5zLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBxcmNvZGU6IGlvcyxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgfVxuICAgIH0pIDogZ2V0V2FsbGV0Q29ubmVjdENvbm5lY3Rvcih7XG4gICAgICB2ZXJzaW9uOiBcIjJcIixcbiAgICAgIGNoYWlucyxcbiAgICAgIHByb2plY3RJZCxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgc2hvd1FyTW9kYWw6IGlvcyxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGdldFVyaSA9IGFzeW5jICgpID0+IGdldFdhbGxldENvbm5lY3RVcmkoY29ubmVjdG9yLCB2ZXJzaW9uKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29ubmVjdG9yLFxuICAgICAgLi4uaW9zID8ge30gOiB7XG4gICAgICAgIG1vYmlsZTogeyBnZXRVcmkgfSxcbiAgICAgICAgcXJDb2RlOiB7IGdldFVyaSB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIHNyYy93YWxsZXRzL2dldERlZmF1bHRXYWxsZXRzLnRzXG52YXIgZ2V0RGVmYXVsdFdhbGxldHMgPSAoe1xuICBhcHBOYW1lLFxuICBjaGFpbnMsXG4gIHByb2plY3RJZFxufSkgPT4ge1xuICBjb25zdCB3YWxsZXRzID0gW1xuICAgIHtcbiAgICAgIGdyb3VwTmFtZTogXCJQb3B1bGFyXCIsXG4gICAgICB3YWxsZXRzOiBbXG4gICAgICAgIGluamVjdGVkV2FsbGV0KHsgY2hhaW5zIH0pLFxuICAgICAgICBzYWZlV2FsbGV0KHsgY2hhaW5zIH0pLFxuICAgICAgICByYWluYm93V2FsbGV0KHsgY2hhaW5zLCBwcm9qZWN0SWQgfSksXG4gICAgICAgIGNvaW5iYXNlV2FsbGV0KHsgYXBwTmFtZSwgY2hhaW5zIH0pLFxuICAgICAgICBtZXRhTWFza1dhbGxldCh7IGNoYWlucywgcHJvamVjdElkIH0pLFxuICAgICAgICB3YWxsZXRDb25uZWN0V2FsbGV0KHsgY2hhaW5zLCBwcm9qZWN0SWQgfSksXG4gICAgICAgIGJyYXZlV2FsbGV0KHsgY2hhaW5zIH0pXG4gICAgICBdXG4gICAgfVxuICBdO1xuICByZXR1cm4ge1xuICAgIGNvbm5lY3RvcnM6IGNvbm5lY3RvcnNGb3JXYWxsZXRzKHdhbGxldHMpLFxuICAgIHdhbGxldHNcbiAgfTtcbn07XG5cbi8vIHNyYy90cmFuc2FjdGlvbnMvdXNlQWRkUmVjZW50VHJhbnNhY3Rpb24udHNcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VBY2NvdW50IH0gZnJvbSBcIndhZ21pXCI7XG5mdW5jdGlvbiB1c2VBZGRSZWNlbnRUcmFuc2FjdGlvbigpIHtcbiAgY29uc3Qgc3RvcmUgPSB1c2VUcmFuc2FjdGlvblN0b3JlKCk7XG4gIGNvbnN0IHsgYWRkcmVzcyB9ID0gdXNlQWNjb3VudCgpO1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCgpO1xuICByZXR1cm4gdXNlQ2FsbGJhY2soKHRyYW5zYWN0aW9uKSA9PiB7XG4gICAgaWYgKCFhZGRyZXNzIHx8ICFjaGFpbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBhZGRyZXNzIG9yIGNoYWluIElEIGZvdW5kXCIpO1xuICAgIH1cbiAgICBzdG9yZS5hZGRUcmFuc2FjdGlvbihhZGRyZXNzLCBjaGFpbklkLCB0cmFuc2FjdGlvbik7XG4gIH0sIFtzdG9yZSwgYWRkcmVzcywgY2hhaW5JZF0pO1xufVxuXG4vLyBzcmMvX19wcml2YXRlX18vaW5kZXgudHNcbnZhciBfX3ByaXZhdGVfXyA9IHtcbiAgRGVza3RvcE9wdGlvbnMsXG4gIGRpYWxvZ0NvbnRlbnQsXG4gIGRpYWxvZ0NvbnRlbnRNb2JpbGUsXG4gIE1vYmlsZU9wdGlvbnNcbn07XG5leHBvcnQge1xuICBDb25uZWN0QnV0dG9uLFxuICBSYWluYm93S2l0QXV0aGVudGljYXRpb25Qcm92aWRlcixcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBfX3ByaXZhdGVfXyxcbiAgY29ubmVjdG9yc0ZvcldhbGxldHMsXG4gIGNyZWF0ZUF1dGhlbnRpY2F0aW9uQWRhcHRlcixcbiAgY3NzT2JqZWN0RnJvbVRoZW1lLFxuICBjc3NTdHJpbmdGcm9tVGhlbWUsXG4gIGRhcmtUaGVtZSxcbiAgZ2V0RGVmYXVsdFdhbGxldHMsXG4gIGdldFdhbGxldENvbm5lY3RDb25uZWN0b3IsXG4gIGxpZ2h0VGhlbWUsXG4gIG1pZG5pZ2h0VGhlbWUsXG4gIHVzZUFjY291bnRNb2RhbCxcbiAgdXNlQWRkUmVjZW50VHJhbnNhY3Rpb24sXG4gIHVzZUNoYWluTW9kYWwsXG4gIHVzZUNvbm5lY3RNb2RhbFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@rainbow-me/rainbowkit/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/focusManager.mjs": -/*!**********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/focusManager.mjs ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusManager: function() { return /* binding */ FocusManager; },\n/* harmony export */ focusManager: function() { return /* binding */ focusManager; }\n/* harmony export */ });\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n\n\n\nclass FocusManager extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor() {\n super();\n\n this.setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.isServer && window.addEventListener) {\n const listener = () => onFocus(); // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(focused => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n\n setFocused(focused) {\n const changed = this.focused !== focused;\n\n if (changed) {\n this.focused = focused;\n this.onFocus();\n }\n }\n\n onFocus() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n }\n\n}\nconst focusManager = new FocusManager();\n\n\n//# sourceMappingURL=focusManager.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2ZvY3VzTWFuYWdlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFrRDtBQUNYOztBQUV2QywyQkFBMkIsMkRBQVk7QUFDdkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdEQUFRO0FBQ25CLDBDQUEwQzs7O0FBRzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFc0M7QUFDdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9mb2N1c01hbmFnZXIubWpzPzM5MzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi9zdWJzY3JpYmFibGUubWpzJztcbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnLi91dGlscy5tanMnO1xuXG5jbGFzcyBGb2N1c01hbmFnZXIgZXh0ZW5kcyBTdWJzY3JpYmFibGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zZXR1cCA9IG9uRm9jdXMgPT4ge1xuICAgICAgLy8gYWRkRXZlbnRMaXN0ZW5lciBkb2VzIG5vdCBleGlzdCBpbiBSZWFjdCBOYXRpdmUsIGJ1dCB3aW5kb3cgZG9lc1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgICAgIGlmICghaXNTZXJ2ZXIgJiYgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXIgPSAoKSA9PiBvbkZvY3VzKCk7IC8vIExpc3RlbiB0byB2aXNpYmlsbGl0eWNoYW5nZSBhbmQgZm9jdXNcblxuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgbGlzdGVuZXIsIGZhbHNlKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgbGlzdGVuZXIsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAvLyBCZSBzdXJlIHRvIHVuc3Vic2NyaWJlIGlmIGEgbmV3IGhhbmRsZXIgaXMgc2V0XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBsaXN0ZW5lcik7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgbGlzdGVuZXIpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfTtcbiAgfVxuXG4gIG9uU3Vic2NyaWJlKCkge1xuICAgIGlmICghdGhpcy5jbGVhbnVwKSB7XG4gICAgICB0aGlzLnNldEV2ZW50TGlzdGVuZXIodGhpcy5zZXR1cCk7XG4gICAgfVxuICB9XG5cbiAgb25VbnN1YnNjcmliZSgpIHtcbiAgICBpZiAoIXRoaXMuaGFzTGlzdGVuZXJzKCkpIHtcbiAgICAgIHZhciBfdGhpcyRjbGVhbnVwO1xuXG4gICAgICAoX3RoaXMkY2xlYW51cCA9IHRoaXMuY2xlYW51cCkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJGNsZWFudXAuY2FsbCh0aGlzKTtcbiAgICAgIHRoaXMuY2xlYW51cCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBzZXRFdmVudExpc3RlbmVyKHNldHVwKSB7XG4gICAgdmFyIF90aGlzJGNsZWFudXAyO1xuXG4gICAgdGhpcy5zZXR1cCA9IHNldHVwO1xuICAgIChfdGhpcyRjbGVhbnVwMiA9IHRoaXMuY2xlYW51cCkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJGNsZWFudXAyLmNhbGwodGhpcyk7XG4gICAgdGhpcy5jbGVhbnVwID0gc2V0dXAoZm9jdXNlZCA9PiB7XG4gICAgICBpZiAodHlwZW9mIGZvY3VzZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLnNldEZvY3VzZWQoZm9jdXNlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9uRm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEZvY3VzZWQoZm9jdXNlZCkge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLmZvY3VzZWQgIT09IGZvY3VzZWQ7XG5cbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5mb2N1c2VkID0gZm9jdXNlZDtcbiAgICAgIHRoaXMub25Gb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgoe1xuICAgICAgbGlzdGVuZXJcbiAgICB9KSA9PiB7XG4gICAgICBsaXN0ZW5lcigpO1xuICAgIH0pO1xuICB9XG5cbiAgaXNGb2N1c2VkKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5mb2N1c2VkID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvY3VzZWQ7XG4gICAgfSAvLyBkb2N1bWVudCBnbG9iYWwgY2FuIGJlIHVuYXZhaWxhYmxlIGluIHJlYWN0IG5hdGl2ZVxuXG5cbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIFt1bmRlZmluZWQsICd2aXNpYmxlJywgJ3ByZXJlbmRlciddLmluY2x1ZGVzKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSk7XG4gIH1cblxufVxuY29uc3QgZm9jdXNNYW5hZ2VyID0gbmV3IEZvY3VzTWFuYWdlcigpO1xuXG5leHBvcnQgeyBGb2N1c01hbmFnZXIsIGZvY3VzTWFuYWdlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9jdXNNYW5hZ2VyLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/focusManager.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/hydration.mjs": -/*!*******************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/hydration.mjs ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultShouldDehydrateMutation: function() { return /* binding */ defaultShouldDehydrateMutation; },\n/* harmony export */ defaultShouldDehydrateQuery: function() { return /* binding */ defaultShouldDehydrateQuery; },\n/* harmony export */ dehydrate: function() { return /* binding */ dehydrate; },\n/* harmony export */ hydrate: function() { return /* binding */ hydrate; }\n/* harmony export */ });\n// TYPES\n// FUNCTIONS\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state\n };\n} // Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\n\n\nfunction dehydrateQuery(query) {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash\n };\n}\n\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === 'success';\n}\nfunction dehydrate(client, options = {}) {\n const mutations = [];\n const queries = [];\n\n if (options.dehydrateMutations !== false) {\n const shouldDehydrateMutation = options.shouldDehydrateMutation || defaultShouldDehydrateMutation;\n client.getMutationCache().getAll().forEach(mutation => {\n if (shouldDehydrateMutation(mutation)) {\n mutations.push(dehydrateMutation(mutation));\n }\n });\n }\n\n if (options.dehydrateQueries !== false) {\n const shouldDehydrateQuery = options.shouldDehydrateQuery || defaultShouldDehydrateQuery;\n client.getQueryCache().getAll().forEach(query => {\n if (shouldDehydrateQuery(query)) {\n queries.push(dehydrateQuery(query));\n }\n });\n }\n\n return {\n mutations,\n queries\n };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return;\n }\n\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache(); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n const mutations = dehydratedState.mutations || []; // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\n const queries = dehydratedState.queries || [];\n mutations.forEach(dehydratedMutation => {\n var _options$defaultOptio;\n\n mutationCache.build(client, { ...(options == null ? void 0 : (_options$defaultOptio = options.defaultOptions) == null ? void 0 : _options$defaultOptio.mutations),\n mutationKey: dehydratedMutation.mutationKey\n }, dehydratedMutation.state);\n });\n queries.forEach(dehydratedQuery => {\n var _options$defaultOptio2;\n\n const query = queryCache.get(dehydratedQuery.queryHash); // Reset fetch status to idle in the dehydrated state to avoid\n // query being stuck in fetching state upon hydration\n\n const dehydratedQueryState = { ...dehydratedQuery.state,\n fetchStatus: 'idle'\n }; // Do not hydrate if an existing query exists with newer data\n\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {\n query.setState(dehydratedQueryState);\n }\n\n return;\n } // Restore query\n\n\n queryCache.build(client, { ...(options == null ? void 0 : (_options$defaultOptio2 = options.defaultOptions) == null ? void 0 : _options$defaultOptio2.queries),\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash\n }, dehydratedQueryState);\n });\n}\n\n\n//# sourceMappingURL=hydration.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2h5ZHJhdGlvbi5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2Q0FBNkM7O0FBRTdDLHFEQUFxRDs7QUFFckQ7QUFDQTtBQUNBOztBQUVBLGtDQUFrQztBQUNsQztBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTs7QUFFQSw2REFBNkQ7QUFDN0Q7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07OztBQUdOLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFMkY7QUFDM0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9oeWRyYXRpb24ubWpzPzc2ZjkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVFlQRVNcbi8vIEZVTkNUSU9OU1xuZnVuY3Rpb24gZGVoeWRyYXRlTXV0YXRpb24obXV0YXRpb24pIHtcbiAgcmV0dXJuIHtcbiAgICBtdXRhdGlvbktleTogbXV0YXRpb24ub3B0aW9ucy5tdXRhdGlvbktleSxcbiAgICBzdGF0ZTogbXV0YXRpb24uc3RhdGVcbiAgfTtcbn0gLy8gTW9zdCBjb25maWcgaXMgbm90IGRlaHlkcmF0ZWQgYnV0IGluc3RlYWQgbWVhbnQgdG8gY29uZmlndXJlIGFnYWluIHdoZW5cbi8vIGNvbnN1bWluZyB0aGUgZGUvcmVoeWRyYXRlZCBkYXRhLCB0eXBpY2FsbHkgd2l0aCB1c2VRdWVyeSBvbiB0aGUgY2xpZW50LlxuLy8gU29tZXRpbWVzIGl0IG1pZ2h0IG1ha2Ugc2Vuc2UgdG8gcHJlZmV0Y2ggZGF0YSBvbiB0aGUgc2VydmVyIGFuZCBpbmNsdWRlXG4vLyBpbiB0aGUgaHRtbC1wYXlsb2FkLCBidXQgbm90IGNvbnN1bWUgaXQgb24gdGhlIGluaXRpYWwgcmVuZGVyLlxuXG5cbmZ1bmN0aW9uIGRlaHlkcmF0ZVF1ZXJ5KHF1ZXJ5KSB7XG4gIHJldHVybiB7XG4gICAgc3RhdGU6IHF1ZXJ5LnN0YXRlLFxuICAgIHF1ZXJ5S2V5OiBxdWVyeS5xdWVyeUtleSxcbiAgICBxdWVyeUhhc2g6IHF1ZXJ5LnF1ZXJ5SGFzaFxuICB9O1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0U2hvdWxkRGVoeWRyYXRlTXV0YXRpb24obXV0YXRpb24pIHtcbiAgcmV0dXJuIG11dGF0aW9uLnN0YXRlLmlzUGF1c2VkO1xufVxuZnVuY3Rpb24gZGVmYXVsdFNob3VsZERlaHlkcmF0ZVF1ZXJ5KHF1ZXJ5KSB7XG4gIHJldHVybiBxdWVyeS5zdGF0ZS5zdGF0dXMgPT09ICdzdWNjZXNzJztcbn1cbmZ1bmN0aW9uIGRlaHlkcmF0ZShjbGllbnQsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBtdXRhdGlvbnMgPSBbXTtcbiAgY29uc3QgcXVlcmllcyA9IFtdO1xuXG4gIGlmIChvcHRpb25zLmRlaHlkcmF0ZU11dGF0aW9ucyAhPT0gZmFsc2UpIHtcbiAgICBjb25zdCBzaG91bGREZWh5ZHJhdGVNdXRhdGlvbiA9IG9wdGlvbnMuc2hvdWxkRGVoeWRyYXRlTXV0YXRpb24gfHwgZGVmYXVsdFNob3VsZERlaHlkcmF0ZU11dGF0aW9uO1xuICAgIGNsaWVudC5nZXRNdXRhdGlvbkNhY2hlKCkuZ2V0QWxsKCkuZm9yRWFjaChtdXRhdGlvbiA9PiB7XG4gICAgICBpZiAoc2hvdWxkRGVoeWRyYXRlTXV0YXRpb24obXV0YXRpb24pKSB7XG4gICAgICAgIG11dGF0aW9ucy5wdXNoKGRlaHlkcmF0ZU11dGF0aW9uKG11dGF0aW9uKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5kZWh5ZHJhdGVRdWVyaWVzICE9PSBmYWxzZSkge1xuICAgIGNvbnN0IHNob3VsZERlaHlkcmF0ZVF1ZXJ5ID0gb3B0aW9ucy5zaG91bGREZWh5ZHJhdGVRdWVyeSB8fCBkZWZhdWx0U2hvdWxkRGVoeWRyYXRlUXVlcnk7XG4gICAgY2xpZW50LmdldFF1ZXJ5Q2FjaGUoKS5nZXRBbGwoKS5mb3JFYWNoKHF1ZXJ5ID0+IHtcbiAgICAgIGlmIChzaG91bGREZWh5ZHJhdGVRdWVyeShxdWVyeSkpIHtcbiAgICAgICAgcXVlcmllcy5wdXNoKGRlaHlkcmF0ZVF1ZXJ5KHF1ZXJ5KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG11dGF0aW9ucyxcbiAgICBxdWVyaWVzXG4gIH07XG59XG5mdW5jdGlvbiBoeWRyYXRlKGNsaWVudCwgZGVoeWRyYXRlZFN0YXRlLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgZGVoeWRyYXRlZFN0YXRlICE9PSAnb2JqZWN0JyB8fCBkZWh5ZHJhdGVkU3RhdGUgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtdXRhdGlvbkNhY2hlID0gY2xpZW50LmdldE11dGF0aW9uQ2FjaGUoKTtcbiAgY29uc3QgcXVlcnlDYWNoZSA9IGNsaWVudC5nZXRRdWVyeUNhY2hlKCk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG5cbiAgY29uc3QgbXV0YXRpb25zID0gZGVoeWRyYXRlZFN0YXRlLm11dGF0aW9ucyB8fCBbXTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cblxuICBjb25zdCBxdWVyaWVzID0gZGVoeWRyYXRlZFN0YXRlLnF1ZXJpZXMgfHwgW107XG4gIG11dGF0aW9ucy5mb3JFYWNoKGRlaHlkcmF0ZWRNdXRhdGlvbiA9PiB7XG4gICAgdmFyIF9vcHRpb25zJGRlZmF1bHRPcHRpbztcblxuICAgIG11dGF0aW9uQ2FjaGUuYnVpbGQoY2xpZW50LCB7IC4uLihvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiAoX29wdGlvbnMkZGVmYXVsdE9wdGlvID0gb3B0aW9ucy5kZWZhdWx0T3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9vcHRpb25zJGRlZmF1bHRPcHRpby5tdXRhdGlvbnMpLFxuICAgICAgbXV0YXRpb25LZXk6IGRlaHlkcmF0ZWRNdXRhdGlvbi5tdXRhdGlvbktleVxuICAgIH0sIGRlaHlkcmF0ZWRNdXRhdGlvbi5zdGF0ZSk7XG4gIH0pO1xuICBxdWVyaWVzLmZvckVhY2goZGVoeWRyYXRlZFF1ZXJ5ID0+IHtcbiAgICB2YXIgX29wdGlvbnMkZGVmYXVsdE9wdGlvMjtcblxuICAgIGNvbnN0IHF1ZXJ5ID0gcXVlcnlDYWNoZS5nZXQoZGVoeWRyYXRlZFF1ZXJ5LnF1ZXJ5SGFzaCk7IC8vIFJlc2V0IGZldGNoIHN0YXR1cyB0byBpZGxlIGluIHRoZSBkZWh5ZHJhdGVkIHN0YXRlIHRvIGF2b2lkXG4gICAgLy8gcXVlcnkgYmVpbmcgc3R1Y2sgaW4gZmV0Y2hpbmcgc3RhdGUgdXBvbiBoeWRyYXRpb25cblxuICAgIGNvbnN0IGRlaHlkcmF0ZWRRdWVyeVN0YXRlID0geyAuLi5kZWh5ZHJhdGVkUXVlcnkuc3RhdGUsXG4gICAgICBmZXRjaFN0YXR1czogJ2lkbGUnXG4gICAgfTsgLy8gRG8gbm90IGh5ZHJhdGUgaWYgYW4gZXhpc3RpbmcgcXVlcnkgZXhpc3RzIHdpdGggbmV3ZXIgZGF0YVxuXG4gICAgaWYgKHF1ZXJ5KSB7XG4gICAgICBpZiAocXVlcnkuc3RhdGUuZGF0YVVwZGF0ZWRBdCA8IGRlaHlkcmF0ZWRRdWVyeVN0YXRlLmRhdGFVcGRhdGVkQXQpIHtcbiAgICAgICAgcXVlcnkuc2V0U3RhdGUoZGVoeWRyYXRlZFF1ZXJ5U3RhdGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBSZXN0b3JlIHF1ZXJ5XG5cblxuICAgIHF1ZXJ5Q2FjaGUuYnVpbGQoY2xpZW50LCB7IC4uLihvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiAoX29wdGlvbnMkZGVmYXVsdE9wdGlvMiA9IG9wdGlvbnMuZGVmYXVsdE9wdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfb3B0aW9ucyRkZWZhdWx0T3B0aW8yLnF1ZXJpZXMpLFxuICAgICAgcXVlcnlLZXk6IGRlaHlkcmF0ZWRRdWVyeS5xdWVyeUtleSxcbiAgICAgIHF1ZXJ5SGFzaDogZGVoeWRyYXRlZFF1ZXJ5LnF1ZXJ5SGFzaFxuICAgIH0sIGRlaHlkcmF0ZWRRdWVyeVN0YXRlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCB7IGRlZmF1bHRTaG91bGREZWh5ZHJhdGVNdXRhdGlvbiwgZGVmYXVsdFNob3VsZERlaHlkcmF0ZVF1ZXJ5LCBkZWh5ZHJhdGUsIGh5ZHJhdGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWh5ZHJhdGlvbi5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/hydration.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/index.mjs": -/*!***************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/index.mjs ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CancelledError: function() { return /* reexport safe */ _retryer_mjs__WEBPACK_IMPORTED_MODULE_0__.CancelledError; },\n/* harmony export */ InfiniteQueryObserver: function() { return /* reexport safe */ _infiniteQueryObserver_mjs__WEBPACK_IMPORTED_MODULE_5__.InfiniteQueryObserver; },\n/* harmony export */ MutationCache: function() { return /* reexport safe */ _mutationCache_mjs__WEBPACK_IMPORTED_MODULE_6__.MutationCache; },\n/* harmony export */ MutationObserver: function() { return /* reexport safe */ _mutationObserver_mjs__WEBPACK_IMPORTED_MODULE_7__.MutationObserver; },\n/* harmony export */ QueriesObserver: function() { return /* reexport safe */ _queriesObserver_mjs__WEBPACK_IMPORTED_MODULE_4__.QueriesObserver; },\n/* harmony export */ QueryCache: function() { return /* reexport safe */ _queryCache_mjs__WEBPACK_IMPORTED_MODULE_1__.QueryCache; },\n/* harmony export */ QueryClient: function() { return /* reexport safe */ _queryClient_mjs__WEBPACK_IMPORTED_MODULE_2__.QueryClient; },\n/* harmony export */ QueryObserver: function() { return /* reexport safe */ _queryObserver_mjs__WEBPACK_IMPORTED_MODULE_3__.QueryObserver; },\n/* harmony export */ defaultShouldDehydrateMutation: function() { return /* reexport safe */ _hydration_mjs__WEBPACK_IMPORTED_MODULE_12__.defaultShouldDehydrateMutation; },\n/* harmony export */ defaultShouldDehydrateQuery: function() { return /* reexport safe */ _hydration_mjs__WEBPACK_IMPORTED_MODULE_12__.defaultShouldDehydrateQuery; },\n/* harmony export */ dehydrate: function() { return /* reexport safe */ _hydration_mjs__WEBPACK_IMPORTED_MODULE_12__.dehydrate; },\n/* harmony export */ focusManager: function() { return /* reexport safe */ _focusManager_mjs__WEBPACK_IMPORTED_MODULE_9__.focusManager; },\n/* harmony export */ hashQueryKey: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.hashQueryKey; },\n/* harmony export */ hydrate: function() { return /* reexport safe */ _hydration_mjs__WEBPACK_IMPORTED_MODULE_12__.hydrate; },\n/* harmony export */ isCancelledError: function() { return /* reexport safe */ _retryer_mjs__WEBPACK_IMPORTED_MODULE_0__.isCancelledError; },\n/* harmony export */ isError: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.isError; },\n/* harmony export */ isServer: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.isServer; },\n/* harmony export */ matchQuery: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.matchQuery; },\n/* harmony export */ notifyManager: function() { return /* reexport safe */ _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_8__.notifyManager; },\n/* harmony export */ onlineManager: function() { return /* reexport safe */ _onlineManager_mjs__WEBPACK_IMPORTED_MODULE_10__.onlineManager; },\n/* harmony export */ parseFilterArgs: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.parseFilterArgs; },\n/* harmony export */ parseMutationArgs: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.parseMutationArgs; },\n/* harmony export */ parseMutationFilterArgs: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.parseMutationFilterArgs; },\n/* harmony export */ parseQueryArgs: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.parseQueryArgs; },\n/* harmony export */ replaceEqualDeep: function() { return /* reexport safe */ _utils_mjs__WEBPACK_IMPORTED_MODULE_11__.replaceEqualDeep; }\n/* harmony export */ });\n/* harmony import */ var _retryer_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./retryer.mjs */ \"./node_modules/@tanstack/query-core/build/lib/retryer.mjs\");\n/* harmony import */ var _queryCache_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./queryCache.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queryCache.mjs\");\n/* harmony import */ var _queryClient_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./queryClient.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queryClient.mjs\");\n/* harmony import */ var _queryObserver_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./queryObserver.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs\");\n/* harmony import */ var _queriesObserver_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./queriesObserver.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs\");\n/* harmony import */ var _infiniteQueryObserver_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./infiniteQueryObserver.mjs */ \"./node_modules/@tanstack/query-core/build/lib/infiniteQueryObserver.mjs\");\n/* harmony import */ var _mutationCache_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mutationCache.mjs */ \"./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs\");\n/* harmony import */ var _mutationObserver_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mutationObserver.mjs */ \"./node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _focusManager_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./focusManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/focusManager.mjs\");\n/* harmony import */ var _onlineManager_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./onlineManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _hydration_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./hydration.mjs */ \"./node_modules/@tanstack/query-core/build/lib/hydration.mjs\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFpRTtBQUNuQjtBQUNFO0FBQ0k7QUFDSTtBQUNZO0FBQ2hCO0FBQ007QUFDTjtBQUNGO0FBQ0U7QUFDcUg7QUFDdkQ7QUFDbEgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9pbmRleC5tanM/NGIxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDYW5jZWxsZWRFcnJvciwgaXNDYW5jZWxsZWRFcnJvciB9IGZyb20gJy4vcmV0cnllci5tanMnO1xuZXhwb3J0IHsgUXVlcnlDYWNoZSB9IGZyb20gJy4vcXVlcnlDYWNoZS5tanMnO1xuZXhwb3J0IHsgUXVlcnlDbGllbnQgfSBmcm9tICcuL3F1ZXJ5Q2xpZW50Lm1qcyc7XG5leHBvcnQgeyBRdWVyeU9ic2VydmVyIH0gZnJvbSAnLi9xdWVyeU9ic2VydmVyLm1qcyc7XG5leHBvcnQgeyBRdWVyaWVzT2JzZXJ2ZXIgfSBmcm9tICcuL3F1ZXJpZXNPYnNlcnZlci5tanMnO1xuZXhwb3J0IHsgSW5maW5pdGVRdWVyeU9ic2VydmVyIH0gZnJvbSAnLi9pbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXIubWpzJztcbmV4cG9ydCB7IE11dGF0aW9uQ2FjaGUgfSBmcm9tICcuL211dGF0aW9uQ2FjaGUubWpzJztcbmV4cG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuL211dGF0aW9uT2JzZXJ2ZXIubWpzJztcbmV4cG9ydCB7IG5vdGlmeU1hbmFnZXIgfSBmcm9tICcuL25vdGlmeU1hbmFnZXIubWpzJztcbmV4cG9ydCB7IGZvY3VzTWFuYWdlciB9IGZyb20gJy4vZm9jdXNNYW5hZ2VyLm1qcyc7XG5leHBvcnQgeyBvbmxpbmVNYW5hZ2VyIH0gZnJvbSAnLi9vbmxpbmVNYW5hZ2VyLm1qcyc7XG5leHBvcnQgeyBoYXNoUXVlcnlLZXksIGlzRXJyb3IsIGlzU2VydmVyLCBtYXRjaFF1ZXJ5LCBwYXJzZUZpbHRlckFyZ3MsIHBhcnNlTXV0YXRpb25BcmdzLCBwYXJzZU11dGF0aW9uRmlsdGVyQXJncywgcGFyc2VRdWVyeUFyZ3MsIHJlcGxhY2VFcXVhbERlZXAgfSBmcm9tICcuL3V0aWxzLm1qcyc7XG5leHBvcnQgeyBkZWZhdWx0U2hvdWxkRGVoeWRyYXRlTXV0YXRpb24sIGRlZmF1bHRTaG91bGREZWh5ZHJhdGVRdWVyeSwgZGVoeWRyYXRlLCBoeWRyYXRlIH0gZnJvbSAnLi9oeWRyYXRpb24ubWpzJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs": -/*!*******************************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getNextPageParam: function() { return /* binding */ getNextPageParam; },\n/* harmony export */ getPreviousPageParam: function() { return /* binding */ getPreviousPageParam; },\n/* harmony export */ hasNextPage: function() { return /* binding */ hasNextPage; },\n/* harmony export */ hasPreviousPage: function() { return /* binding */ hasPreviousPage; },\n/* harmony export */ infiniteQueryBehavior: function() { return /* binding */ infiniteQueryBehavior; }\n/* harmony export */ });\nfunction infiniteQueryBehavior() {\n return {\n onFetch: context => {\n context.fetchFn = () => {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n const refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n const fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n const pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n const isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n const isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n const oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n const oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n let newPageParams = oldPageParams;\n let cancelled = false;\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n var _context$signal;\n\n if ((_context$signal = context.signal) != null && _context$signal.aborted) {\n cancelled = true;\n } else {\n var _context$signal2;\n\n (_context$signal2 = context.signal) == null ? void 0 : _context$signal2.addEventListener('abort', () => {\n cancelled = true;\n });\n }\n\n return context.signal;\n }\n });\n }; // Get query function\n\n\n const queryFn = context.options.queryFn || (() => Promise.reject(\"Missing queryFn for queryKey '\" + context.options.queryHash + \"'\"));\n\n const buildNewPages = (pages, param, page, previous) => {\n newPageParams = previous ? [param, ...newPageParams] : [...newPageParams, param];\n return previous ? [page, ...pages] : [...pages, page];\n }; // Create function to fetch a page\n\n\n const fetchPage = (pages, manual, param, previous) => {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const queryFnResult = queryFn(queryFnContext);\n const promise = Promise.resolve(queryFnResult).then(page => buildNewPages(pages, param, page, previous));\n return promise;\n };\n\n let promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param, true);\n } // Refetch pages\n else {\n newPageParams = [];\n const manual = typeof context.options.getNextPageParam === 'undefined';\n const shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then(pages => {\n const shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n const param = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n return fetchPage(pages, manual, param);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n }\n }\n\n const finalPromise = promise.then(pages => ({\n pages,\n pageParams: newPageParams\n }));\n return finalPromise;\n };\n }\n };\n}\nfunction getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nfunction getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n\n return;\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n\n return;\n}\n\n\n//# sourceMappingURL=infiniteQueryBehavior.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2luZmluaXRlUXVlcnlCZWhhdmlvci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFdBQVc7OztBQUdYOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7OztBQUdYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUI7O0FBRXJCO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0Esa0hBQWtIOztBQUVsSCx3SkFBd0o7O0FBRXhKLDBCQUEwQixxQkFBcUI7QUFDL0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUV1RztBQUN2RyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2luZmluaXRlUXVlcnlCZWhhdmlvci5tanM/MmMxMiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBpbmZpbml0ZVF1ZXJ5QmVoYXZpb3IoKSB7XG4gIHJldHVybiB7XG4gICAgb25GZXRjaDogY29udGV4dCA9PiB7XG4gICAgICBjb250ZXh0LmZldGNoRm4gPSAoKSA9PiB7XG4gICAgICAgIHZhciBfY29udGV4dCRmZXRjaE9wdGlvbnMsIF9jb250ZXh0JGZldGNoT3B0aW9uczIsIF9jb250ZXh0JGZldGNoT3B0aW9uczMsIF9jb250ZXh0JGZldGNoT3B0aW9uczQsIF9jb250ZXh0JHN0YXRlJGRhdGEsIF9jb250ZXh0JHN0YXRlJGRhdGEyO1xuXG4gICAgICAgIGNvbnN0IHJlZmV0Y2hQYWdlID0gKF9jb250ZXh0JGZldGNoT3B0aW9ucyA9IGNvbnRleHQuZmV0Y2hPcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogKF9jb250ZXh0JGZldGNoT3B0aW9uczIgPSBfY29udGV4dCRmZXRjaE9wdGlvbnMubWV0YSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jb250ZXh0JGZldGNoT3B0aW9uczIucmVmZXRjaFBhZ2U7XG4gICAgICAgIGNvbnN0IGZldGNoTW9yZSA9IChfY29udGV4dCRmZXRjaE9wdGlvbnMzID0gY29udGV4dC5mZXRjaE9wdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiAoX2NvbnRleHQkZmV0Y2hPcHRpb25zNCA9IF9jb250ZXh0JGZldGNoT3B0aW9uczMubWV0YSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jb250ZXh0JGZldGNoT3B0aW9uczQuZmV0Y2hNb3JlO1xuICAgICAgICBjb25zdCBwYWdlUGFyYW0gPSBmZXRjaE1vcmUgPT0gbnVsbCA/IHZvaWQgMCA6IGZldGNoTW9yZS5wYWdlUGFyYW07XG4gICAgICAgIGNvbnN0IGlzRmV0Y2hpbmdOZXh0UGFnZSA9IChmZXRjaE1vcmUgPT0gbnVsbCA/IHZvaWQgMCA6IGZldGNoTW9yZS5kaXJlY3Rpb24pID09PSAnZm9yd2FyZCc7XG4gICAgICAgIGNvbnN0IGlzRmV0Y2hpbmdQcmV2aW91c1BhZ2UgPSAoZmV0Y2hNb3JlID09IG51bGwgPyB2b2lkIDAgOiBmZXRjaE1vcmUuZGlyZWN0aW9uKSA9PT0gJ2JhY2t3YXJkJztcbiAgICAgICAgY29uc3Qgb2xkUGFnZXMgPSAoKF9jb250ZXh0JHN0YXRlJGRhdGEgPSBjb250ZXh0LnN0YXRlLmRhdGEpID09IG51bGwgPyB2b2lkIDAgOiBfY29udGV4dCRzdGF0ZSRkYXRhLnBhZ2VzKSB8fCBbXTtcbiAgICAgICAgY29uc3Qgb2xkUGFnZVBhcmFtcyA9ICgoX2NvbnRleHQkc3RhdGUkZGF0YTIgPSBjb250ZXh0LnN0YXRlLmRhdGEpID09IG51bGwgPyB2b2lkIDAgOiBfY29udGV4dCRzdGF0ZSRkYXRhMi5wYWdlUGFyYW1zKSB8fCBbXTtcbiAgICAgICAgbGV0IG5ld1BhZ2VQYXJhbXMgPSBvbGRQYWdlUGFyYW1zO1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgYWRkU2lnbmFsUHJvcGVydHkgPSBvYmplY3QgPT4ge1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3QsICdzaWduYWwnLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZ2V0OiAoKSA9PiB7XG4gICAgICAgICAgICAgIHZhciBfY29udGV4dCRzaWduYWw7XG5cbiAgICAgICAgICAgICAgaWYgKChfY29udGV4dCRzaWduYWwgPSBjb250ZXh0LnNpZ25hbCkgIT0gbnVsbCAmJiBfY29udGV4dCRzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgICAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIF9jb250ZXh0JHNpZ25hbDI7XG5cbiAgICAgICAgICAgICAgICAoX2NvbnRleHQkc2lnbmFsMiA9IGNvbnRleHQuc2lnbmFsKSA9PSBudWxsID8gdm9pZCAwIDogX2NvbnRleHQkc2lnbmFsMi5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5zaWduYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07IC8vIEdldCBxdWVyeSBmdW5jdGlvblxuXG5cbiAgICAgICAgY29uc3QgcXVlcnlGbiA9IGNvbnRleHQub3B0aW9ucy5xdWVyeUZuIHx8ICgoKSA9PiBQcm9taXNlLnJlamVjdChcIk1pc3NpbmcgcXVlcnlGbiBmb3IgcXVlcnlLZXkgJ1wiICsgY29udGV4dC5vcHRpb25zLnF1ZXJ5SGFzaCArIFwiJ1wiKSk7XG5cbiAgICAgICAgY29uc3QgYnVpbGROZXdQYWdlcyA9IChwYWdlcywgcGFyYW0sIHBhZ2UsIHByZXZpb3VzKSA9PiB7XG4gICAgICAgICAgbmV3UGFnZVBhcmFtcyA9IHByZXZpb3VzID8gW3BhcmFtLCAuLi5uZXdQYWdlUGFyYW1zXSA6IFsuLi5uZXdQYWdlUGFyYW1zLCBwYXJhbV07XG4gICAgICAgICAgcmV0dXJuIHByZXZpb3VzID8gW3BhZ2UsIC4uLnBhZ2VzXSA6IFsuLi5wYWdlcywgcGFnZV07XG4gICAgICAgIH07IC8vIENyZWF0ZSBmdW5jdGlvbiB0byBmZXRjaCBhIHBhZ2VcblxuXG4gICAgICAgIGNvbnN0IGZldGNoUGFnZSA9IChwYWdlcywgbWFudWFsLCBwYXJhbSwgcHJldmlvdXMpID0+IHtcbiAgICAgICAgICBpZiAoY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ0NhbmNlbGxlZCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW0gPT09ICd1bmRlZmluZWQnICYmICFtYW51YWwgJiYgcGFnZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBhZ2VzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBxdWVyeUZuQ29udGV4dCA9IHtcbiAgICAgICAgICAgIHF1ZXJ5S2V5OiBjb250ZXh0LnF1ZXJ5S2V5LFxuICAgICAgICAgICAgcGFnZVBhcmFtOiBwYXJhbSxcbiAgICAgICAgICAgIG1ldGE6IGNvbnRleHQub3B0aW9ucy5tZXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgICBhZGRTaWduYWxQcm9wZXJ0eShxdWVyeUZuQ29udGV4dCk7XG4gICAgICAgICAgY29uc3QgcXVlcnlGblJlc3VsdCA9IHF1ZXJ5Rm4ocXVlcnlGbkNvbnRleHQpO1xuICAgICAgICAgIGNvbnN0IHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUocXVlcnlGblJlc3VsdCkudGhlbihwYWdlID0+IGJ1aWxkTmV3UGFnZXMocGFnZXMsIHBhcmFtLCBwYWdlLCBwcmV2aW91cykpO1xuICAgICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBwcm9taXNlOyAvLyBGZXRjaCBmaXJzdCBwYWdlP1xuXG4gICAgICAgIGlmICghb2xkUGFnZXMubGVuZ3RoKSB7XG4gICAgICAgICAgcHJvbWlzZSA9IGZldGNoUGFnZShbXSk7XG4gICAgICAgIH0gLy8gRmV0Y2ggbmV4dCBwYWdlP1xuICAgICAgICBlbHNlIGlmIChpc0ZldGNoaW5nTmV4dFBhZ2UpIHtcbiAgICAgICAgICBjb25zdCBtYW51YWwgPSB0eXBlb2YgcGFnZVBhcmFtICE9PSAndW5kZWZpbmVkJztcbiAgICAgICAgICBjb25zdCBwYXJhbSA9IG1hbnVhbCA/IHBhZ2VQYXJhbSA6IGdldE5leHRQYWdlUGFyYW0oY29udGV4dC5vcHRpb25zLCBvbGRQYWdlcyk7XG4gICAgICAgICAgcHJvbWlzZSA9IGZldGNoUGFnZShvbGRQYWdlcywgbWFudWFsLCBwYXJhbSk7XG4gICAgICAgIH0gLy8gRmV0Y2ggcHJldmlvdXMgcGFnZT9cbiAgICAgICAgZWxzZSBpZiAoaXNGZXRjaGluZ1ByZXZpb3VzUGFnZSkge1xuICAgICAgICAgIGNvbnN0IG1hbnVhbCA9IHR5cGVvZiBwYWdlUGFyYW0gIT09ICd1bmRlZmluZWQnO1xuICAgICAgICAgIGNvbnN0IHBhcmFtID0gbWFudWFsID8gcGFnZVBhcmFtIDogZ2V0UHJldmlvdXNQYWdlUGFyYW0oY29udGV4dC5vcHRpb25zLCBvbGRQYWdlcyk7XG4gICAgICAgICAgcHJvbWlzZSA9IGZldGNoUGFnZShvbGRQYWdlcywgbWFudWFsLCBwYXJhbSwgdHJ1ZSk7XG4gICAgICAgIH0gLy8gUmVmZXRjaCBwYWdlc1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBuZXdQYWdlUGFyYW1zID0gW107XG4gICAgICAgICAgY29uc3QgbWFudWFsID0gdHlwZW9mIGNvbnRleHQub3B0aW9ucy5nZXROZXh0UGFnZVBhcmFtID09PSAndW5kZWZpbmVkJztcbiAgICAgICAgICBjb25zdCBzaG91bGRGZXRjaEZpcnN0UGFnZSA9IHJlZmV0Y2hQYWdlICYmIG9sZFBhZ2VzWzBdID8gcmVmZXRjaFBhZ2Uob2xkUGFnZXNbMF0sIDAsIG9sZFBhZ2VzKSA6IHRydWU7IC8vIEZldGNoIGZpcnN0IHBhZ2VcblxuICAgICAgICAgIHByb21pc2UgPSBzaG91bGRGZXRjaEZpcnN0UGFnZSA/IGZldGNoUGFnZShbXSwgbWFudWFsLCBvbGRQYWdlUGFyYW1zWzBdKSA6IFByb21pc2UucmVzb2x2ZShidWlsZE5ld1BhZ2VzKFtdLCBvbGRQYWdlUGFyYW1zWzBdLCBvbGRQYWdlc1swXSkpOyAvLyBGZXRjaCByZW1haW5pbmcgcGFnZXNcblxuICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgb2xkUGFnZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4ocGFnZXMgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzaG91bGRGZXRjaE5leHRQYWdlID0gcmVmZXRjaFBhZ2UgJiYgb2xkUGFnZXNbaV0gPyByZWZldGNoUGFnZShvbGRQYWdlc1tpXSwgaSwgb2xkUGFnZXMpIDogdHJ1ZTtcblxuICAgICAgICAgICAgICBpZiAoc2hvdWxkRmV0Y2hOZXh0UGFnZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtID0gbWFudWFsID8gb2xkUGFnZVBhcmFtc1tpXSA6IGdldE5leHRQYWdlUGFyYW0oY29udGV4dC5vcHRpb25zLCBwYWdlcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoUGFnZShwYWdlcywgbWFudWFsLCBwYXJhbSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGJ1aWxkTmV3UGFnZXMocGFnZXMsIG9sZFBhZ2VQYXJhbXNbaV0sIG9sZFBhZ2VzW2ldKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaW5hbFByb21pc2UgPSBwcm9taXNlLnRoZW4ocGFnZXMgPT4gKHtcbiAgICAgICAgICBwYWdlcyxcbiAgICAgICAgICBwYWdlUGFyYW1zOiBuZXdQYWdlUGFyYW1zXG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIGZpbmFsUHJvbWlzZTtcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gZ2V0TmV4dFBhZ2VQYXJhbShvcHRpb25zLCBwYWdlcykge1xuICByZXR1cm4gb3B0aW9ucy5nZXROZXh0UGFnZVBhcmFtID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmdldE5leHRQYWdlUGFyYW0ocGFnZXNbcGFnZXMubGVuZ3RoIC0gMV0sIHBhZ2VzKTtcbn1cbmZ1bmN0aW9uIGdldFByZXZpb3VzUGFnZVBhcmFtKG9wdGlvbnMsIHBhZ2VzKSB7XG4gIHJldHVybiBvcHRpb25zLmdldFByZXZpb3VzUGFnZVBhcmFtID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmdldFByZXZpb3VzUGFnZVBhcmFtKHBhZ2VzWzBdLCBwYWdlcyk7XG59XG4vKipcbiAqIENoZWNrcyBpZiB0aGVyZSBpcyBhIG5leHQgcGFnZS5cbiAqIFJldHVybnMgYHVuZGVmaW5lZGAgaWYgaXQgY2Fubm90IGJlIGRldGVybWluZWQuXG4gKi9cblxuZnVuY3Rpb24gaGFzTmV4dFBhZ2Uob3B0aW9ucywgcGFnZXMpIHtcbiAgaWYgKG9wdGlvbnMuZ2V0TmV4dFBhZ2VQYXJhbSAmJiBBcnJheS5pc0FycmF5KHBhZ2VzKSkge1xuICAgIGNvbnN0IG5leHRQYWdlUGFyYW0gPSBnZXROZXh0UGFnZVBhcmFtKG9wdGlvbnMsIHBhZ2VzKTtcbiAgICByZXR1cm4gdHlwZW9mIG5leHRQYWdlUGFyYW0gIT09ICd1bmRlZmluZWQnICYmIG5leHRQYWdlUGFyYW0gIT09IG51bGwgJiYgbmV4dFBhZ2VQYXJhbSAhPT0gZmFsc2U7XG4gIH1cblxuICByZXR1cm47XG59XG4vKipcbiAqIENoZWNrcyBpZiB0aGVyZSBpcyBhIHByZXZpb3VzIHBhZ2UuXG4gKiBSZXR1cm5zIGB1bmRlZmluZWRgIGlmIGl0IGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICovXG5cbmZ1bmN0aW9uIGhhc1ByZXZpb3VzUGFnZShvcHRpb25zLCBwYWdlcykge1xuICBpZiAob3B0aW9ucy5nZXRQcmV2aW91c1BhZ2VQYXJhbSAmJiBBcnJheS5pc0FycmF5KHBhZ2VzKSkge1xuICAgIGNvbnN0IHByZXZpb3VzUGFnZVBhcmFtID0gZ2V0UHJldmlvdXNQYWdlUGFyYW0ob3B0aW9ucywgcGFnZXMpO1xuICAgIHJldHVybiB0eXBlb2YgcHJldmlvdXNQYWdlUGFyYW0gIT09ICd1bmRlZmluZWQnICYmIHByZXZpb3VzUGFnZVBhcmFtICE9PSBudWxsICYmIHByZXZpb3VzUGFnZVBhcmFtICE9PSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybjtcbn1cblxuZXhwb3J0IHsgZ2V0TmV4dFBhZ2VQYXJhbSwgZ2V0UHJldmlvdXNQYWdlUGFyYW0sIGhhc05leHRQYWdlLCBoYXNQcmV2aW91c1BhZ2UsIGluZmluaXRlUXVlcnlCZWhhdmlvciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5maW5pdGVRdWVyeUJlaGF2aW9yLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/infiniteQueryObserver.mjs": -/*!*******************************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/infiniteQueryObserver.mjs ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InfiniteQueryObserver: function() { return /* binding */ InfiniteQueryObserver; }\n/* harmony export */ });\n/* harmony import */ var _queryObserver_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./queryObserver.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs\");\n/* harmony import */ var _infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./infiniteQueryBehavior.mjs */ \"./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs\");\n\n\n\nclass InfiniteQueryObserver extends _queryObserver_mjs__WEBPACK_IMPORTED_MODULE_0__.QueryObserver {\n // Type override\n // Type override\n // Type override\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(client, options) {\n super(client, options);\n }\n\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n\n setOptions(options, notifyOptions) {\n super.setOptions({ ...options,\n behavior: (0,_infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_1__.infiniteQueryBehavior)()\n }, notifyOptions);\n }\n\n getOptimisticResult(options) {\n options.behavior = (0,_infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_1__.infiniteQueryBehavior)();\n return super.getOptimisticResult(options);\n }\n\n fetchNextPage({\n pageParam,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n fetchMore: {\n direction: 'forward',\n pageParam\n }\n }\n });\n }\n\n fetchPreviousPage({\n pageParam,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n fetchMore: {\n direction: 'backward',\n pageParam\n }\n }\n });\n }\n\n createResult(query, options) {\n var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;\n\n const {\n state\n } = query;\n const result = super.createResult(query, options);\n const {\n isFetching,\n isRefetching\n } = result;\n const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';\n const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';\n return { ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: (0,_infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_1__.hasNextPage)(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),\n hasPreviousPage: (0,_infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_1__.hasPreviousPage)(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n }\n\n}\n\n\n//# sourceMappingURL=infiniteQueryObserver.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2luZmluaXRlUXVlcnlPYnNlcnZlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW9EO0FBQzhDOztBQUVsRyxvQ0FBb0MsNkRBQWE7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QjtBQUN2QixnQkFBZ0IsaUZBQXFCO0FBQ3JDLEtBQUs7QUFDTDs7QUFFQTtBQUNBLHVCQUF1QixpRkFBcUI7QUFDNUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUk7QUFDUix3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSTtBQUNSLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLG1CQUFtQix1RUFBVztBQUM5Qix1QkFBdUIsMkVBQWU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFaUM7QUFDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9pbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXIubWpzPzhlN2UiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlPYnNlcnZlciB9IGZyb20gJy4vcXVlcnlPYnNlcnZlci5tanMnO1xuaW1wb3J0IHsgaW5maW5pdGVRdWVyeUJlaGF2aW9yLCBoYXNOZXh0UGFnZSwgaGFzUHJldmlvdXNQYWdlIH0gZnJvbSAnLi9pbmZpbml0ZVF1ZXJ5QmVoYXZpb3IubWpzJztcblxuY2xhc3MgSW5maW5pdGVRdWVyeU9ic2VydmVyIGV4dGVuZHMgUXVlcnlPYnNlcnZlciB7XG4gIC8vIFR5cGUgb3ZlcnJpZGVcbiAgLy8gVHlwZSBvdmVycmlkZVxuICAvLyBUeXBlIG92ZXJyaWRlXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihjbGllbnQsIG9wdGlvbnMpIHtcbiAgICBzdXBlcihjbGllbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgYmluZE1ldGhvZHMoKSB7XG4gICAgc3VwZXIuYmluZE1ldGhvZHMoKTtcbiAgICB0aGlzLmZldGNoTmV4dFBhZ2UgPSB0aGlzLmZldGNoTmV4dFBhZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLmZldGNoUHJldmlvdXNQYWdlID0gdGhpcy5mZXRjaFByZXZpb3VzUGFnZS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc2V0T3B0aW9ucyhvcHRpb25zLCBub3RpZnlPcHRpb25zKSB7XG4gICAgc3VwZXIuc2V0T3B0aW9ucyh7IC4uLm9wdGlvbnMsXG4gICAgICBiZWhhdmlvcjogaW5maW5pdGVRdWVyeUJlaGF2aW9yKClcbiAgICB9LCBub3RpZnlPcHRpb25zKTtcbiAgfVxuXG4gIGdldE9wdGltaXN0aWNSZXN1bHQob3B0aW9ucykge1xuICAgIG9wdGlvbnMuYmVoYXZpb3IgPSBpbmZpbml0ZVF1ZXJ5QmVoYXZpb3IoKTtcbiAgICByZXR1cm4gc3VwZXIuZ2V0T3B0aW1pc3RpY1Jlc3VsdChvcHRpb25zKTtcbiAgfVxuXG4gIGZldGNoTmV4dFBhZ2Uoe1xuICAgIHBhZ2VQYXJhbSxcbiAgICAuLi5vcHRpb25zXG4gIH0gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgLi4ub3B0aW9ucyxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgZmV0Y2hNb3JlOiB7XG4gICAgICAgICAgZGlyZWN0aW9uOiAnZm9yd2FyZCcsXG4gICAgICAgICAgcGFnZVBhcmFtXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZldGNoUHJldmlvdXNQYWdlKHtcbiAgICBwYWdlUGFyYW0sXG4gICAgLi4ub3B0aW9uc1xuICB9ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IC4uLm9wdGlvbnMsXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGZldGNoTW9yZToge1xuICAgICAgICAgIGRpcmVjdGlvbjogJ2JhY2t3YXJkJyxcbiAgICAgICAgICBwYWdlUGFyYW1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlUmVzdWx0KHF1ZXJ5LCBvcHRpb25zKSB7XG4gICAgdmFyIF9zdGF0ZSRmZXRjaE1ldGEsIF9zdGF0ZSRmZXRjaE1ldGEkZmV0YywgX3N0YXRlJGZldGNoTWV0YTIsIF9zdGF0ZSRmZXRjaE1ldGEyJGZldCwgX3N0YXRlJGRhdGEsIF9zdGF0ZSRkYXRhMjtcblxuICAgIGNvbnN0IHtcbiAgICAgIHN0YXRlXG4gICAgfSA9IHF1ZXJ5O1xuICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLmNyZWF0ZVJlc3VsdChxdWVyeSwgb3B0aW9ucyk7XG4gICAgY29uc3Qge1xuICAgICAgaXNGZXRjaGluZyxcbiAgICAgIGlzUmVmZXRjaGluZ1xuICAgIH0gPSByZXN1bHQ7XG4gICAgY29uc3QgaXNGZXRjaGluZ05leHRQYWdlID0gaXNGZXRjaGluZyAmJiAoKF9zdGF0ZSRmZXRjaE1ldGEgPSBzdGF0ZS5mZXRjaE1ldGEpID09IG51bGwgPyB2b2lkIDAgOiAoX3N0YXRlJGZldGNoTWV0YSRmZXRjID0gX3N0YXRlJGZldGNoTWV0YS5mZXRjaE1vcmUpID09IG51bGwgPyB2b2lkIDAgOiBfc3RhdGUkZmV0Y2hNZXRhJGZldGMuZGlyZWN0aW9uKSA9PT0gJ2ZvcndhcmQnO1xuICAgIGNvbnN0IGlzRmV0Y2hpbmdQcmV2aW91c1BhZ2UgPSBpc0ZldGNoaW5nICYmICgoX3N0YXRlJGZldGNoTWV0YTIgPSBzdGF0ZS5mZXRjaE1ldGEpID09IG51bGwgPyB2b2lkIDAgOiAoX3N0YXRlJGZldGNoTWV0YTIkZmV0ID0gX3N0YXRlJGZldGNoTWV0YTIuZmV0Y2hNb3JlKSA9PSBudWxsID8gdm9pZCAwIDogX3N0YXRlJGZldGNoTWV0YTIkZmV0LmRpcmVjdGlvbikgPT09ICdiYWNrd2FyZCc7XG4gICAgcmV0dXJuIHsgLi4ucmVzdWx0LFxuICAgICAgZmV0Y2hOZXh0UGFnZTogdGhpcy5mZXRjaE5leHRQYWdlLFxuICAgICAgZmV0Y2hQcmV2aW91c1BhZ2U6IHRoaXMuZmV0Y2hQcmV2aW91c1BhZ2UsXG4gICAgICBoYXNOZXh0UGFnZTogaGFzTmV4dFBhZ2Uob3B0aW9ucywgKF9zdGF0ZSRkYXRhID0gc3RhdGUuZGF0YSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9zdGF0ZSRkYXRhLnBhZ2VzKSxcbiAgICAgIGhhc1ByZXZpb3VzUGFnZTogaGFzUHJldmlvdXNQYWdlKG9wdGlvbnMsIChfc3RhdGUkZGF0YTIgPSBzdGF0ZS5kYXRhKSA9PSBudWxsID8gdm9pZCAwIDogX3N0YXRlJGRhdGEyLnBhZ2VzKSxcbiAgICAgIGlzRmV0Y2hpbmdOZXh0UGFnZSxcbiAgICAgIGlzRmV0Y2hpbmdQcmV2aW91c1BhZ2UsXG4gICAgICBpc1JlZmV0Y2hpbmc6IGlzUmVmZXRjaGluZyAmJiAhaXNGZXRjaGluZ05leHRQYWdlICYmICFpc0ZldGNoaW5nUHJldmlvdXNQYWdlXG4gICAgfTtcbiAgfVxuXG59XG5cbmV4cG9ydCB7IEluZmluaXRlUXVlcnlPYnNlcnZlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5maW5pdGVRdWVyeU9ic2VydmVyLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/infiniteQueryObserver.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/logger.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/logger.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultLogger: function() { return /* binding */ defaultLogger; }\n/* harmony export */ });\nconst defaultLogger = console;\n\n\n//# sourceMappingURL=logger.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2xvZ2dlci5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUV5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL2xvZ2dlci5tanM/NGE4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBkZWZhdWx0TG9nZ2VyID0gY29uc29sZTtcblxuZXhwb3J0IHsgZGVmYXVsdExvZ2dlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nZ2VyLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/logger.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/mutation.mjs": -/*!******************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/mutation.mjs ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Mutation: function() { return /* binding */ Mutation; },\n/* harmony export */ getDefaultState: function() { return /* binding */ getDefaultState; }\n/* harmony export */ });\n/* harmony import */ var _logger_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger.mjs */ \"./node_modules/@tanstack/query-core/build/lib/logger.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _removable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./removable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/removable.mjs\");\n/* harmony import */ var _retryer_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./retryer.mjs */ \"./node_modules/@tanstack/query-core/build/lib/retryer.mjs\");\n\n\n\n\n\n// CLASS\nclass Mutation extends _removable_mjs__WEBPACK_IMPORTED_MODULE_0__.Removable {\n constructor(config) {\n super();\n this.defaultOptions = config.defaultOptions;\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.logger = config.logger || _logger_mjs__WEBPACK_IMPORTED_MODULE_1__.defaultLogger;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.updateCacheTime(this.options.cacheTime);\n }\n\n get meta() {\n return this.options.meta;\n }\n\n setState(state) {\n this.dispatch({\n type: 'setState',\n state\n });\n }\n\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer); // Stop the mutation from being garbage collected\n\n this.clearGcTimeout();\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n this.observers = this.observers.filter(x => x !== observer);\n this.scheduleGc();\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer\n });\n }\n\n optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc();\n } else {\n this.mutationCache.remove(this);\n }\n }\n }\n\n continue() {\n var _this$retryer$continu, _this$retryer;\n\n return (_this$retryer$continu = (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.continue()) != null ? _this$retryer$continu : this.execute();\n }\n\n async execute() {\n const executeMutation = () => {\n var _this$options$retry;\n\n this.retryer = (0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_2__.createRetryer)({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return this.options.mutationFn(this.state.variables);\n },\n onFail: (failureCount, error) => {\n this.dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.retryer.promise;\n };\n\n const restored = this.state.status === 'loading';\n\n try {\n var _this$mutationCache$c3, _this$mutationCache$c4, _this$options$onSucce, _this$options2, _this$mutationCache$c5, _this$mutationCache$c6, _this$options$onSettl, _this$options3;\n\n if (!restored) {\n var _this$mutationCache$c, _this$mutationCache$c2, _this$options$onMutat, _this$options;\n\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n }); // Notify cache callback\n\n await ((_this$mutationCache$c = (_this$mutationCache$c2 = this.mutationCache.config).onMutate) == null ? void 0 : _this$mutationCache$c.call(_this$mutationCache$c2, this.state.variables, this));\n const context = await ((_this$options$onMutat = (_this$options = this.options).onMutate) == null ? void 0 : _this$options$onMutat.call(_this$options, this.state.variables));\n\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables\n });\n }\n }\n\n const data = await executeMutation(); // Notify cache callback\n\n await ((_this$mutationCache$c3 = (_this$mutationCache$c4 = this.mutationCache.config).onSuccess) == null ? void 0 : _this$mutationCache$c3.call(_this$mutationCache$c4, data, this.state.variables, this.state.context, this));\n await ((_this$options$onSucce = (_this$options2 = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options2, data, this.state.variables, this.state.context)); // Notify cache callback\n\n await ((_this$mutationCache$c5 = (_this$mutationCache$c6 = this.mutationCache.config).onSettled) == null ? void 0 : _this$mutationCache$c5.call(_this$mutationCache$c6, data, null, this.state.variables, this.state.context, this));\n await ((_this$options$onSettl = (_this$options3 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options3, data, null, this.state.variables, this.state.context));\n this.dispatch({\n type: 'success',\n data\n });\n return data;\n } catch (error) {\n try {\n var _this$mutationCache$c7, _this$mutationCache$c8, _this$options$onError, _this$options4, _this$mutationCache$c9, _this$mutationCache$c10, _this$options$onSettl2, _this$options5;\n\n // Notify cache callback\n await ((_this$mutationCache$c7 = (_this$mutationCache$c8 = this.mutationCache.config).onError) == null ? void 0 : _this$mutationCache$c7.call(_this$mutationCache$c8, error, this.state.variables, this.state.context, this));\n\n if (true) {\n this.logger.error(error);\n }\n\n await ((_this$options$onError = (_this$options4 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options4, error, this.state.variables, this.state.context)); // Notify cache callback\n\n await ((_this$mutationCache$c9 = (_this$mutationCache$c10 = this.mutationCache.config).onSettled) == null ? void 0 : _this$mutationCache$c9.call(_this$mutationCache$c10, undefined, error, this.state.variables, this.state.context, this));\n await ((_this$options$onSettl2 = (_this$options5 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options5, undefined, error, this.state.variables, this.state.context));\n throw error;\n } finally {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n }\n }\n\n dispatch(action) {\n const reducer = state => {\n switch (action.type) {\n case 'failed':\n return { ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n\n case 'pause':\n return { ...state,\n isPaused: true\n };\n\n case 'continue':\n return { ...state,\n isPaused: false\n };\n\n case 'loading':\n return { ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !(0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_2__.canFetch)(this.options.networkMode),\n status: 'loading',\n variables: action.variables\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false\n };\n\n case 'error':\n return { ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error'\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__.notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onMutationUpdate(action);\n });\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\nfunction getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\n\n//# sourceMappingURL=mutation.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL211dGF0aW9uLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBNkM7QUFDTztBQUNSO0FBQ1k7O0FBRXhEO0FBQ0EsdUJBQXVCLHFEQUFTO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsc0RBQWE7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLDJEQUFhO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUyxHQUFHOztBQUVaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBLDRDQUE0Qzs7QUFFNUM7QUFDQSxpTUFBaU07O0FBRWpNO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTs7QUFFQSxrTUFBa007O0FBRWxNO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzREFBUTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLDZEQUFhO0FBQ2pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVxQztBQUNyQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL211dGF0aW9uLm1qcz8zNjExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRMb2dnZXIgfSBmcm9tICcuL2xvZ2dlci5tanMnO1xuaW1wb3J0IHsgbm90aWZ5TWFuYWdlciB9IGZyb20gJy4vbm90aWZ5TWFuYWdlci5tanMnO1xuaW1wb3J0IHsgUmVtb3ZhYmxlIH0gZnJvbSAnLi9yZW1vdmFibGUubWpzJztcbmltcG9ydCB7IGNyZWF0ZVJldHJ5ZXIsIGNhbkZldGNoIH0gZnJvbSAnLi9yZXRyeWVyLm1qcyc7XG5cbi8vIENMQVNTXG5jbGFzcyBNdXRhdGlvbiBleHRlbmRzIFJlbW92YWJsZSB7XG4gIGNvbnN0cnVjdG9yKGNvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kZWZhdWx0T3B0aW9ucyA9IGNvbmZpZy5kZWZhdWx0T3B0aW9ucztcbiAgICB0aGlzLm11dGF0aW9uSWQgPSBjb25maWcubXV0YXRpb25JZDtcbiAgICB0aGlzLm11dGF0aW9uQ2FjaGUgPSBjb25maWcubXV0YXRpb25DYWNoZTtcbiAgICB0aGlzLmxvZ2dlciA9IGNvbmZpZy5sb2dnZXIgfHwgZGVmYXVsdExvZ2dlcjtcbiAgICB0aGlzLm9ic2VydmVycyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBjb25maWcuc3RhdGUgfHwgZ2V0RGVmYXVsdFN0YXRlKCk7XG4gICAgdGhpcy5zZXRPcHRpb25zKGNvbmZpZy5vcHRpb25zKTtcbiAgICB0aGlzLnNjaGVkdWxlR2MoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMob3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIHRoaXMudXBkYXRlQ2FjaGVUaW1lKHRoaXMub3B0aW9ucy5jYWNoZVRpbWUpO1xuICB9XG5cbiAgZ2V0IG1ldGEoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5tZXRhO1xuICB9XG5cbiAgc2V0U3RhdGUoc3RhdGUpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6ICdzZXRTdGF0ZScsXG4gICAgICBzdGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgYWRkT2JzZXJ2ZXIob2JzZXJ2ZXIpIHtcbiAgICBpZiAoIXRoaXMub2JzZXJ2ZXJzLmluY2x1ZGVzKG9ic2VydmVyKSkge1xuICAgICAgdGhpcy5vYnNlcnZlcnMucHVzaChvYnNlcnZlcik7IC8vIFN0b3AgdGhlIG11dGF0aW9uIGZyb20gYmVpbmcgZ2FyYmFnZSBjb2xsZWN0ZWRcblxuICAgICAgdGhpcy5jbGVhckdjVGltZW91dCgpO1xuICAgICAgdGhpcy5tdXRhdGlvbkNhY2hlLm5vdGlmeSh7XG4gICAgICAgIHR5cGU6ICdvYnNlcnZlckFkZGVkJyxcbiAgICAgICAgbXV0YXRpb246IHRoaXMsXG4gICAgICAgIG9ic2VydmVyXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVPYnNlcnZlcihvYnNlcnZlcikge1xuICAgIHRoaXMub2JzZXJ2ZXJzID0gdGhpcy5vYnNlcnZlcnMuZmlsdGVyKHggPT4geCAhPT0gb2JzZXJ2ZXIpO1xuICAgIHRoaXMuc2NoZWR1bGVHYygpO1xuICAgIHRoaXMubXV0YXRpb25DYWNoZS5ub3RpZnkoe1xuICAgICAgdHlwZTogJ29ic2VydmVyUmVtb3ZlZCcsXG4gICAgICBtdXRhdGlvbjogdGhpcyxcbiAgICAgIG9ic2VydmVyXG4gICAgfSk7XG4gIH1cblxuICBvcHRpb25hbFJlbW92ZSgpIHtcbiAgICBpZiAoIXRoaXMub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUuc3RhdHVzID09PSAnbG9hZGluZycpIHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZUdjKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm11dGF0aW9uQ2FjaGUucmVtb3ZlKHRoaXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnRpbnVlKCkge1xuICAgIHZhciBfdGhpcyRyZXRyeWVyJGNvbnRpbnUsIF90aGlzJHJldHJ5ZXI7XG5cbiAgICByZXR1cm4gKF90aGlzJHJldHJ5ZXIkY29udGludSA9IChfdGhpcyRyZXRyeWVyID0gdGhpcy5yZXRyeWVyKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkcmV0cnllci5jb250aW51ZSgpKSAhPSBudWxsID8gX3RoaXMkcmV0cnllciRjb250aW51IDogdGhpcy5leGVjdXRlKCk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IGV4ZWN1dGVNdXRhdGlvbiA9ICgpID0+IHtcbiAgICAgIHZhciBfdGhpcyRvcHRpb25zJHJldHJ5O1xuXG4gICAgICB0aGlzLnJldHJ5ZXIgPSBjcmVhdGVSZXRyeWVyKHtcbiAgICAgICAgZm46ICgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5tdXRhdGlvbkZuKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ05vIG11dGF0aW9uRm4gZm91bmQnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLm11dGF0aW9uRm4odGhpcy5zdGF0ZS52YXJpYWJsZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvbkZhaWw6IChmYWlsdXJlQ291bnQsIGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiAnZmFpbGVkJyxcbiAgICAgICAgICAgIGZhaWx1cmVDb3VudCxcbiAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUGF1c2U6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoKHtcbiAgICAgICAgICAgIHR5cGU6ICdwYXVzZSdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Db250aW51ZTogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogJ2NvbnRpbnVlJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICByZXRyeTogKF90aGlzJG9wdGlvbnMkcmV0cnkgPSB0aGlzLm9wdGlvbnMucmV0cnkpICE9IG51bGwgPyBfdGhpcyRvcHRpb25zJHJldHJ5IDogMCxcbiAgICAgICAgcmV0cnlEZWxheTogdGhpcy5vcHRpb25zLnJldHJ5RGVsYXksXG4gICAgICAgIG5ldHdvcmtNb2RlOiB0aGlzLm9wdGlvbnMubmV0d29ya01vZGVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaXMucmV0cnllci5wcm9taXNlO1xuICAgIH07XG5cbiAgICBjb25zdCByZXN0b3JlZCA9IHRoaXMuc3RhdGUuc3RhdHVzID09PSAnbG9hZGluZyc7XG5cbiAgICB0cnkge1xuICAgICAgdmFyIF90aGlzJG11dGF0aW9uQ2FjaGUkYzMsIF90aGlzJG11dGF0aW9uQ2FjaGUkYzQsIF90aGlzJG9wdGlvbnMkb25TdWNjZSwgX3RoaXMkb3B0aW9uczIsIF90aGlzJG11dGF0aW9uQ2FjaGUkYzUsIF90aGlzJG11dGF0aW9uQ2FjaGUkYzYsIF90aGlzJG9wdGlvbnMkb25TZXR0bCwgX3RoaXMkb3B0aW9uczM7XG5cbiAgICAgIGlmICghcmVzdG9yZWQpIHtcbiAgICAgICAgdmFyIF90aGlzJG11dGF0aW9uQ2FjaGUkYywgX3RoaXMkbXV0YXRpb25DYWNoZSRjMiwgX3RoaXMkb3B0aW9ucyRvbk11dGF0LCBfdGhpcyRvcHRpb25zO1xuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6ICdsb2FkaW5nJyxcbiAgICAgICAgICB2YXJpYWJsZXM6IHRoaXMub3B0aW9ucy52YXJpYWJsZXNcbiAgICAgICAgfSk7IC8vIE5vdGlmeSBjYWNoZSBjYWxsYmFja1xuXG4gICAgICAgIGF3YWl0ICgoX3RoaXMkbXV0YXRpb25DYWNoZSRjID0gKF90aGlzJG11dGF0aW9uQ2FjaGUkYzIgPSB0aGlzLm11dGF0aW9uQ2FjaGUuY29uZmlnKS5vbk11dGF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG11dGF0aW9uQ2FjaGUkYy5jYWxsKF90aGlzJG11dGF0aW9uQ2FjaGUkYzIsIHRoaXMuc3RhdGUudmFyaWFibGVzLCB0aGlzKSk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSBhd2FpdCAoKF90aGlzJG9wdGlvbnMkb25NdXRhdCA9IChfdGhpcyRvcHRpb25zID0gdGhpcy5vcHRpb25zKS5vbk11dGF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG9wdGlvbnMkb25NdXRhdC5jYWxsKF90aGlzJG9wdGlvbnMsIHRoaXMuc3RhdGUudmFyaWFibGVzKSk7XG5cbiAgICAgICAgaWYgKGNvbnRleHQgIT09IHRoaXMuc3RhdGUuY29udGV4dCkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogJ2xvYWRpbmcnLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIHZhcmlhYmxlczogdGhpcy5zdGF0ZS52YXJpYWJsZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgZXhlY3V0ZU11dGF0aW9uKCk7IC8vIE5vdGlmeSBjYWNoZSBjYWxsYmFja1xuXG4gICAgICBhd2FpdCAoKF90aGlzJG11dGF0aW9uQ2FjaGUkYzMgPSAoX3RoaXMkbXV0YXRpb25DYWNoZSRjNCA9IHRoaXMubXV0YXRpb25DYWNoZS5jb25maWcpLm9uU3VjY2VzcykgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG11dGF0aW9uQ2FjaGUkYzMuY2FsbChfdGhpcyRtdXRhdGlvbkNhY2hlJGM0LCBkYXRhLCB0aGlzLnN0YXRlLnZhcmlhYmxlcywgdGhpcy5zdGF0ZS5jb250ZXh0LCB0aGlzKSk7XG4gICAgICBhd2FpdCAoKF90aGlzJG9wdGlvbnMkb25TdWNjZSA9IChfdGhpcyRvcHRpb25zMiA9IHRoaXMub3B0aW9ucykub25TdWNjZXNzKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkb3B0aW9ucyRvblN1Y2NlLmNhbGwoX3RoaXMkb3B0aW9uczIsIGRhdGEsIHRoaXMuc3RhdGUudmFyaWFibGVzLCB0aGlzLnN0YXRlLmNvbnRleHQpKTsgLy8gTm90aWZ5IGNhY2hlIGNhbGxiYWNrXG5cbiAgICAgIGF3YWl0ICgoX3RoaXMkbXV0YXRpb25DYWNoZSRjNSA9IChfdGhpcyRtdXRhdGlvbkNhY2hlJGM2ID0gdGhpcy5tdXRhdGlvbkNhY2hlLmNvbmZpZykub25TZXR0bGVkKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkbXV0YXRpb25DYWNoZSRjNS5jYWxsKF90aGlzJG11dGF0aW9uQ2FjaGUkYzYsIGRhdGEsIG51bGwsIHRoaXMuc3RhdGUudmFyaWFibGVzLCB0aGlzLnN0YXRlLmNvbnRleHQsIHRoaXMpKTtcbiAgICAgIGF3YWl0ICgoX3RoaXMkb3B0aW9ucyRvblNldHRsID0gKF90aGlzJG9wdGlvbnMzID0gdGhpcy5vcHRpb25zKS5vblNldHRsZWQpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcyRvcHRpb25zJG9uU2V0dGwuY2FsbChfdGhpcyRvcHRpb25zMywgZGF0YSwgbnVsbCwgdGhpcy5zdGF0ZS52YXJpYWJsZXMsIHRoaXMuc3RhdGUuY29udGV4dCkpO1xuICAgICAgdGhpcy5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgZGF0YVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIF90aGlzJG11dGF0aW9uQ2FjaGUkYzcsIF90aGlzJG11dGF0aW9uQ2FjaGUkYzgsIF90aGlzJG9wdGlvbnMkb25FcnJvciwgX3RoaXMkb3B0aW9uczQsIF90aGlzJG11dGF0aW9uQ2FjaGUkYzksIF90aGlzJG11dGF0aW9uQ2FjaGUkYzEwLCBfdGhpcyRvcHRpb25zJG9uU2V0dGwyLCBfdGhpcyRvcHRpb25zNTtcblxuICAgICAgICAvLyBOb3RpZnkgY2FjaGUgY2FsbGJhY2tcbiAgICAgICAgYXdhaXQgKChfdGhpcyRtdXRhdGlvbkNhY2hlJGM3ID0gKF90aGlzJG11dGF0aW9uQ2FjaGUkYzggPSB0aGlzLm11dGF0aW9uQ2FjaGUuY29uZmlnKS5vbkVycm9yKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkbXV0YXRpb25DYWNoZSRjNy5jYWxsKF90aGlzJG11dGF0aW9uQ2FjaGUkYzgsIGVycm9yLCB0aGlzLnN0YXRlLnZhcmlhYmxlcywgdGhpcy5zdGF0ZS5jb250ZXh0LCB0aGlzKSk7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCAoKF90aGlzJG9wdGlvbnMkb25FcnJvciA9IChfdGhpcyRvcHRpb25zNCA9IHRoaXMub3B0aW9ucykub25FcnJvcikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG9wdGlvbnMkb25FcnJvci5jYWxsKF90aGlzJG9wdGlvbnM0LCBlcnJvciwgdGhpcy5zdGF0ZS52YXJpYWJsZXMsIHRoaXMuc3RhdGUuY29udGV4dCkpOyAvLyBOb3RpZnkgY2FjaGUgY2FsbGJhY2tcblxuICAgICAgICBhd2FpdCAoKF90aGlzJG11dGF0aW9uQ2FjaGUkYzkgPSAoX3RoaXMkbXV0YXRpb25DYWNoZSRjMTAgPSB0aGlzLm11dGF0aW9uQ2FjaGUuY29uZmlnKS5vblNldHRsZWQpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcyRtdXRhdGlvbkNhY2hlJGM5LmNhbGwoX3RoaXMkbXV0YXRpb25DYWNoZSRjMTAsIHVuZGVmaW5lZCwgZXJyb3IsIHRoaXMuc3RhdGUudmFyaWFibGVzLCB0aGlzLnN0YXRlLmNvbnRleHQsIHRoaXMpKTtcbiAgICAgICAgYXdhaXQgKChfdGhpcyRvcHRpb25zJG9uU2V0dGwyID0gKF90aGlzJG9wdGlvbnM1ID0gdGhpcy5vcHRpb25zKS5vblNldHRsZWQpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcyRvcHRpb25zJG9uU2V0dGwyLmNhbGwoX3RoaXMkb3B0aW9uczUsIHVuZGVmaW5lZCwgZXJyb3IsIHRoaXMuc3RhdGUudmFyaWFibGVzLCB0aGlzLnN0YXRlLmNvbnRleHQpKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgIGVycm9yOiBlcnJvclxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkaXNwYXRjaChhY3Rpb24pIHtcbiAgICBjb25zdCByZWR1Y2VyID0gc3RhdGUgPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLFxuICAgICAgICAgICAgZmFpbHVyZUNvdW50OiBhY3Rpb24uZmFpbHVyZUNvdW50LFxuICAgICAgICAgICAgZmFpbHVyZVJlYXNvbjogYWN0aW9uLmVycm9yXG4gICAgICAgICAgfTtcblxuICAgICAgICBjYXNlICdwYXVzZSc6XG4gICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsXG4gICAgICAgICAgICBpc1BhdXNlZDogdHJ1ZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSAnY29udGludWUnOlxuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLFxuICAgICAgICAgICAgaXNQYXVzZWQ6IGZhbHNlXG4gICAgICAgICAgfTtcblxuICAgICAgICBjYXNlICdsb2FkaW5nJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGNvbnRleHQ6IGFjdGlvbi5jb250ZXh0LFxuICAgICAgICAgICAgZGF0YTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZmFpbHVyZUNvdW50OiAwLFxuICAgICAgICAgICAgZmFpbHVyZVJlYXNvbjogbnVsbCxcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgaXNQYXVzZWQ6ICFjYW5GZXRjaCh0aGlzLm9wdGlvbnMubmV0d29ya01vZGUpLFxuICAgICAgICAgICAgc3RhdHVzOiAnbG9hZGluZycsXG4gICAgICAgICAgICB2YXJpYWJsZXM6IGFjdGlvbi52YXJpYWJsZXNcbiAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLFxuICAgICAgICAgICAgZGF0YTogYWN0aW9uLmRhdGEsXG4gICAgICAgICAgICBmYWlsdXJlQ291bnQ6IDAsXG4gICAgICAgICAgICBmYWlsdXJlUmVhc29uOiBudWxsLFxuICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGlzUGF1c2VkOiBmYWxzZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLFxuICAgICAgICAgICAgZGF0YTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgICAgICAgIGZhaWx1cmVDb3VudDogc3RhdGUuZmFpbHVyZUNvdW50ICsgMSxcbiAgICAgICAgICAgIGZhaWx1cmVSZWFzb246IGFjdGlvbi5lcnJvcixcbiAgICAgICAgICAgIGlzUGF1c2VkOiBmYWxzZSxcbiAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJ1xuICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSAnc2V0U3RhdGUnOlxuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLFxuICAgICAgICAgICAgLi4uYWN0aW9uLnN0YXRlXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zdGF0ZSA9IHJlZHVjZXIodGhpcy5zdGF0ZSk7XG4gICAgbm90aWZ5TWFuYWdlci5iYXRjaCgoKSA9PiB7XG4gICAgICB0aGlzLm9ic2VydmVycy5mb3JFYWNoKG9ic2VydmVyID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIub25NdXRhdGlvblVwZGF0ZShhY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICB0aGlzLm11dGF0aW9uQ2FjaGUubm90aWZ5KHtcbiAgICAgICAgbXV0YXRpb246IHRoaXMsXG4gICAgICAgIHR5cGU6ICd1cGRhdGVkJyxcbiAgICAgICAgYWN0aW9uXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG59XG5mdW5jdGlvbiBnZXREZWZhdWx0U3RhdGUoKSB7XG4gIHJldHVybiB7XG4gICAgY29udGV4dDogdW5kZWZpbmVkLFxuICAgIGRhdGE6IHVuZGVmaW5lZCxcbiAgICBlcnJvcjogbnVsbCxcbiAgICBmYWlsdXJlQ291bnQ6IDAsXG4gICAgZmFpbHVyZVJlYXNvbjogbnVsbCxcbiAgICBpc1BhdXNlZDogZmFsc2UsXG4gICAgc3RhdHVzOiAnaWRsZScsXG4gICAgdmFyaWFibGVzOiB1bmRlZmluZWRcbiAgfTtcbn1cblxuZXhwb3J0IHsgTXV0YXRpb24sIGdldERlZmF1bHRTdGF0ZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bXV0YXRpb24ubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/mutation.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MutationCache: function() { return /* binding */ MutationCache; }\n/* harmony export */ });\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _mutation_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mutation.mjs */ \"./node_modules/@tanstack/query-core/build/lib/mutation.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n\n\n\n\n\n// CLASS\nclass MutationCache extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.mutations = [];\n this.mutationId = 0;\n }\n\n build(client, options, state) {\n const mutation = new _mutation_mjs__WEBPACK_IMPORTED_MODULE_1__.Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined\n });\n this.add(mutation);\n return mutation;\n }\n\n add(mutation) {\n this.mutations.push(mutation);\n this.notify({\n type: 'added',\n mutation\n });\n }\n\n remove(mutation) {\n this.mutations = this.mutations.filter(x => x !== mutation);\n this.notify({\n type: 'removed',\n mutation\n });\n }\n\n clear() {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_2__.notifyManager.batch(() => {\n this.mutations.forEach(mutation => {\n this.remove(mutation);\n });\n });\n }\n\n getAll() {\n return this.mutations;\n }\n\n find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(mutation => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_3__.matchMutation)(filters, mutation));\n }\n\n findAll(filters) {\n return this.mutations.filter(mutation => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_3__.matchMutation)(filters, mutation));\n }\n\n notify(event) {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_2__.notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(event);\n });\n });\n }\n\n resumePausedMutations() {\n var _this$resuming;\n\n this.resuming = ((_this$resuming = this.resuming) != null ? _this$resuming : Promise.resolve()).then(() => {\n const pausedMutations = this.mutations.filter(x => x.state.isPaused);\n return _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_2__.notifyManager.batch(() => pausedMutations.reduce((promise, mutation) => promise.then(() => mutation.continue().catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_3__.noop)), Promise.resolve()));\n }).then(() => {\n this.resuming = undefined;\n });\n return this.resuming;\n }\n\n}\n\n\n//# sourceMappingURL=mutationCache.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL211dGF0aW9uQ2FjaGUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQW9EO0FBQ1Y7QUFDUTtBQUNBOztBQUVsRDtBQUNBLDRCQUE0QiwyREFBWTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUIsbURBQVE7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxJQUFJLDZEQUFhO0FBQ2pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkMseURBQWE7QUFDeEQ7O0FBRUE7QUFDQSw2Q0FBNkMseURBQWE7QUFDMUQ7O0FBRUE7QUFDQSxJQUFJLDZEQUFhO0FBQ2pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsNkRBQWEsd0dBQXdHLDRDQUFJO0FBQ3RJLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUV5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL211dGF0aW9uQ2FjaGUubWpzPzIxODkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm90aWZ5TWFuYWdlciB9IGZyb20gJy4vbm90aWZ5TWFuYWdlci5tanMnO1xuaW1wb3J0IHsgTXV0YXRpb24gfSBmcm9tICcuL211dGF0aW9uLm1qcyc7XG5pbXBvcnQgeyBtYXRjaE11dGF0aW9uLCBub29wIH0gZnJvbSAnLi91dGlscy5tanMnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi9zdWJzY3JpYmFibGUubWpzJztcblxuLy8gQ0xBU1NcbmNsYXNzIE11dGF0aW9uQ2FjaGUgZXh0ZW5kcyBTdWJzY3JpYmFibGUge1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnIHx8IHt9O1xuICAgIHRoaXMubXV0YXRpb25zID0gW107XG4gICAgdGhpcy5tdXRhdGlvbklkID0gMDtcbiAgfVxuXG4gIGJ1aWxkKGNsaWVudCwgb3B0aW9ucywgc3RhdGUpIHtcbiAgICBjb25zdCBtdXRhdGlvbiA9IG5ldyBNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbkNhY2hlOiB0aGlzLFxuICAgICAgbG9nZ2VyOiBjbGllbnQuZ2V0TG9nZ2VyKCksXG4gICAgICBtdXRhdGlvbklkOiArK3RoaXMubXV0YXRpb25JZCxcbiAgICAgIG9wdGlvbnM6IGNsaWVudC5kZWZhdWx0TXV0YXRpb25PcHRpb25zKG9wdGlvbnMpLFxuICAgICAgc3RhdGUsXG4gICAgICBkZWZhdWx0T3B0aW9uczogb3B0aW9ucy5tdXRhdGlvbktleSA/IGNsaWVudC5nZXRNdXRhdGlvbkRlZmF1bHRzKG9wdGlvbnMubXV0YXRpb25LZXkpIDogdW5kZWZpbmVkXG4gICAgfSk7XG4gICAgdGhpcy5hZGQobXV0YXRpb24pO1xuICAgIHJldHVybiBtdXRhdGlvbjtcbiAgfVxuXG4gIGFkZChtdXRhdGlvbikge1xuICAgIHRoaXMubXV0YXRpb25zLnB1c2gobXV0YXRpb24pO1xuICAgIHRoaXMubm90aWZ5KHtcbiAgICAgIHR5cGU6ICdhZGRlZCcsXG4gICAgICBtdXRhdGlvblxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlKG11dGF0aW9uKSB7XG4gICAgdGhpcy5tdXRhdGlvbnMgPSB0aGlzLm11dGF0aW9ucy5maWx0ZXIoeCA9PiB4ICE9PSBtdXRhdGlvbik7XG4gICAgdGhpcy5ub3RpZnkoe1xuICAgICAgdHlwZTogJ3JlbW92ZWQnLFxuICAgICAgbXV0YXRpb25cbiAgICB9KTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2goKCkgPT4ge1xuICAgICAgdGhpcy5tdXRhdGlvbnMuZm9yRWFjaChtdXRhdGlvbiA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlKG11dGF0aW9uKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLm11dGF0aW9ucztcbiAgfVxuXG4gIGZpbmQoZmlsdGVycykge1xuICAgIGlmICh0eXBlb2YgZmlsdGVycy5leGFjdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGZpbHRlcnMuZXhhY3QgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm11dGF0aW9ucy5maW5kKG11dGF0aW9uID0+IG1hdGNoTXV0YXRpb24oZmlsdGVycywgbXV0YXRpb24pKTtcbiAgfVxuXG4gIGZpbmRBbGwoZmlsdGVycykge1xuICAgIHJldHVybiB0aGlzLm11dGF0aW9ucy5maWx0ZXIobXV0YXRpb24gPT4gbWF0Y2hNdXRhdGlvbihmaWx0ZXJzLCBtdXRhdGlvbikpO1xuICB9XG5cbiAgbm90aWZ5KGV2ZW50KSB7XG4gICAgbm90aWZ5TWFuYWdlci5iYXRjaCgoKSA9PiB7XG4gICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKCh7XG4gICAgICAgIGxpc3RlbmVyXG4gICAgICB9KSA9PiB7XG4gICAgICAgIGxpc3RlbmVyKGV2ZW50KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzdW1lUGF1c2VkTXV0YXRpb25zKCkge1xuICAgIHZhciBfdGhpcyRyZXN1bWluZztcblxuICAgIHRoaXMucmVzdW1pbmcgPSAoKF90aGlzJHJlc3VtaW5nID0gdGhpcy5yZXN1bWluZykgIT0gbnVsbCA/IF90aGlzJHJlc3VtaW5nIDogUHJvbWlzZS5yZXNvbHZlKCkpLnRoZW4oKCkgPT4ge1xuICAgICAgY29uc3QgcGF1c2VkTXV0YXRpb25zID0gdGhpcy5tdXRhdGlvbnMuZmlsdGVyKHggPT4geC5zdGF0ZS5pc1BhdXNlZCk7XG4gICAgICByZXR1cm4gbm90aWZ5TWFuYWdlci5iYXRjaCgoKSA9PiBwYXVzZWRNdXRhdGlvbnMucmVkdWNlKChwcm9taXNlLCBtdXRhdGlvbikgPT4gcHJvbWlzZS50aGVuKCgpID0+IG11dGF0aW9uLmNvbnRpbnVlKCkuY2F0Y2gobm9vcCkpLCBQcm9taXNlLnJlc29sdmUoKSkpO1xuICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5yZXN1bWluZyA9IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5yZXN1bWluZztcbiAgfVxuXG59XG5cbmV4cG9ydCB7IE11dGF0aW9uQ2FjaGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW11dGF0aW9uQ2FjaGUubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs": -/*!**************************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MutationObserver: function() { return /* binding */ MutationObserver; }\n/* harmony export */ });\n/* harmony import */ var _mutation_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mutation.mjs */ \"./node_modules/@tanstack/query-core/build/lib/mutation.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n\n\n\n\n\n// CLASS\nclass MutationObserver extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.setOptions(options);\n this.bindMethods();\n this.updateResult();\n }\n\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n\n setOptions(options) {\n var _this$currentMutation;\n\n const prevOptions = this.options;\n this.options = this.client.defaultMutationOptions(options);\n\n if (!(0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.shallowEqualObjects)(prevOptions, this.options)) {\n this.client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.currentMutation,\n observer: this\n });\n }\n\n (_this$currentMutation = this.currentMutation) == null ? void 0 : _this$currentMutation.setOptions(this.options);\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$currentMutation2;\n\n (_this$currentMutation2 = this.currentMutation) == null ? void 0 : _this$currentMutation2.removeObserver(this);\n }\n }\n\n onMutationUpdate(action) {\n this.updateResult(); // Determine which callbacks to trigger\n\n const notifyOptions = {\n listeners: true\n };\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error') {\n notifyOptions.onError = true;\n }\n\n this.notify(notifyOptions);\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n reset() {\n this.currentMutation = undefined;\n this.updateResult();\n this.notify({\n listeners: true\n });\n }\n\n mutate(variables, options) {\n this.mutateOptions = options;\n\n if (this.currentMutation) {\n this.currentMutation.removeObserver(this);\n }\n\n this.currentMutation = this.client.getMutationCache().build(this.client, { ...this.options,\n variables: typeof variables !== 'undefined' ? variables : this.options.variables\n });\n this.currentMutation.addObserver(this);\n return this.currentMutation.execute();\n }\n\n updateResult() {\n const state = this.currentMutation ? this.currentMutation.state : (0,_mutation_mjs__WEBPACK_IMPORTED_MODULE_2__.getDefaultState)();\n const result = { ...state,\n isLoading: state.status === 'loading',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n };\n this.currentResult = result;\n }\n\n notify(options) {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__.notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.mutateOptions && this.hasListeners()) {\n if (options.onSuccess) {\n var _this$mutateOptions$o, _this$mutateOptions, _this$mutateOptions$o2, _this$mutateOptions2;\n\n (_this$mutateOptions$o = (_this$mutateOptions = this.mutateOptions).onSuccess) == null ? void 0 : _this$mutateOptions$o.call(_this$mutateOptions, this.currentResult.data, this.currentResult.variables, this.currentResult.context);\n (_this$mutateOptions$o2 = (_this$mutateOptions2 = this.mutateOptions).onSettled) == null ? void 0 : _this$mutateOptions$o2.call(_this$mutateOptions2, this.currentResult.data, null, this.currentResult.variables, this.currentResult.context);\n } else if (options.onError) {\n var _this$mutateOptions$o3, _this$mutateOptions3, _this$mutateOptions$o4, _this$mutateOptions4;\n\n (_this$mutateOptions$o3 = (_this$mutateOptions3 = this.mutateOptions).onError) == null ? void 0 : _this$mutateOptions$o3.call(_this$mutateOptions3, this.currentResult.error, this.currentResult.variables, this.currentResult.context);\n (_this$mutateOptions$o4 = (_this$mutateOptions4 = this.mutateOptions).onSettled) == null ? void 0 : _this$mutateOptions$o4.call(_this$mutateOptions4, undefined, this.currentResult.error, this.currentResult.variables, this.currentResult.context);\n }\n } // Then trigger the listeners\n\n\n if (options.listeners) {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.currentResult);\n });\n }\n });\n }\n\n}\n\n\n//# sourceMappingURL=mutationObserver.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL211dGF0aW9uT2JzZXJ2ZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWlEO0FBQ0c7QUFDRjtBQUNBOztBQUVsRDtBQUNBLCtCQUErQiwyREFBWTtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsU0FBUywrREFBbUI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EseUJBQXlCOztBQUV6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsK0VBQStFO0FBQy9FO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNFQUFzRSw4REFBZTtBQUNyRixxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSw2REFBYTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDs7QUFFQTs7QUFFNEI7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9tdXRhdGlvbk9ic2VydmVyLm1qcz8yNjRhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERlZmF1bHRTdGF0ZSB9IGZyb20gJy4vbXV0YXRpb24ubWpzJztcbmltcG9ydCB7IG5vdGlmeU1hbmFnZXIgfSBmcm9tICcuL25vdGlmeU1hbmFnZXIubWpzJztcbmltcG9ydCB7IFN1YnNjcmliYWJsZSB9IGZyb20gJy4vc3Vic2NyaWJhYmxlLm1qcyc7XG5pbXBvcnQgeyBzaGFsbG93RXF1YWxPYmplY3RzIH0gZnJvbSAnLi91dGlscy5tanMnO1xuXG4vLyBDTEFTU1xuY2xhc3MgTXV0YXRpb25PYnNlcnZlciBleHRlbmRzIFN1YnNjcmliYWJsZSB7XG4gIGNvbnN0cnVjdG9yKGNsaWVudCwgb3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gICAgdGhpcy5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuYmluZE1ldGhvZHMoKTtcbiAgICB0aGlzLnVwZGF0ZVJlc3VsdCgpO1xuICB9XG5cbiAgYmluZE1ldGhvZHMoKSB7XG4gICAgdGhpcy5tdXRhdGUgPSB0aGlzLm11dGF0ZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVzZXQgPSB0aGlzLnJlc2V0LmJpbmQodGhpcyk7XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnMpIHtcbiAgICB2YXIgX3RoaXMkY3VycmVudE11dGF0aW9uO1xuXG4gICAgY29uc3QgcHJldk9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jbGllbnQuZGVmYXVsdE11dGF0aW9uT3B0aW9ucyhvcHRpb25zKTtcblxuICAgIGlmICghc2hhbGxvd0VxdWFsT2JqZWN0cyhwcmV2T3B0aW9ucywgdGhpcy5vcHRpb25zKSkge1xuICAgICAgdGhpcy5jbGllbnQuZ2V0TXV0YXRpb25DYWNoZSgpLm5vdGlmeSh7XG4gICAgICAgIHR5cGU6ICdvYnNlcnZlck9wdGlvbnNVcGRhdGVkJyxcbiAgICAgICAgbXV0YXRpb246IHRoaXMuY3VycmVudE11dGF0aW9uLFxuICAgICAgICBvYnNlcnZlcjogdGhpc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgKF90aGlzJGN1cnJlbnRNdXRhdGlvbiA9IHRoaXMuY3VycmVudE11dGF0aW9uKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkY3VycmVudE11dGF0aW9uLnNldE9wdGlvbnModGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIG9uVW5zdWJzY3JpYmUoKSB7XG4gICAgaWYgKCF0aGlzLmhhc0xpc3RlbmVycygpKSB7XG4gICAgICB2YXIgX3RoaXMkY3VycmVudE11dGF0aW9uMjtcblxuICAgICAgKF90aGlzJGN1cnJlbnRNdXRhdGlvbjIgPSB0aGlzLmN1cnJlbnRNdXRhdGlvbikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJGN1cnJlbnRNdXRhdGlvbjIucmVtb3ZlT2JzZXJ2ZXIodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgb25NdXRhdGlvblVwZGF0ZShhY3Rpb24pIHtcbiAgICB0aGlzLnVwZGF0ZVJlc3VsdCgpOyAvLyBEZXRlcm1pbmUgd2hpY2ggY2FsbGJhY2tzIHRvIHRyaWdnZXJcblxuICAgIGNvbnN0IG5vdGlmeU9wdGlvbnMgPSB7XG4gICAgICBsaXN0ZW5lcnM6IHRydWVcbiAgICB9O1xuXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIG5vdGlmeU9wdGlvbnMub25TdWNjZXNzID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi50eXBlID09PSAnZXJyb3InKSB7XG4gICAgICBub3RpZnlPcHRpb25zLm9uRXJyb3IgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMubm90aWZ5KG5vdGlmeU9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q3VycmVudFJlc3VsdCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UmVzdWx0O1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5jdXJyZW50TXV0YXRpb24gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy51cGRhdGVSZXN1bHQoKTtcbiAgICB0aGlzLm5vdGlmeSh7XG4gICAgICBsaXN0ZW5lcnM6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIG11dGF0ZSh2YXJpYWJsZXMsIG9wdGlvbnMpIHtcbiAgICB0aGlzLm11dGF0ZU9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgaWYgKHRoaXMuY3VycmVudE11dGF0aW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRNdXRhdGlvbi5yZW1vdmVPYnNlcnZlcih0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRNdXRhdGlvbiA9IHRoaXMuY2xpZW50LmdldE11dGF0aW9uQ2FjaGUoKS5idWlsZCh0aGlzLmNsaWVudCwgeyAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB2YXJpYWJsZXM6IHR5cGVvZiB2YXJpYWJsZXMgIT09ICd1bmRlZmluZWQnID8gdmFyaWFibGVzIDogdGhpcy5vcHRpb25zLnZhcmlhYmxlc1xuICAgIH0pO1xuICAgIHRoaXMuY3VycmVudE11dGF0aW9uLmFkZE9ic2VydmVyKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRNdXRhdGlvbi5leGVjdXRlKCk7XG4gIH1cblxuICB1cGRhdGVSZXN1bHQoKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmN1cnJlbnRNdXRhdGlvbiA/IHRoaXMuY3VycmVudE11dGF0aW9uLnN0YXRlIDogZ2V0RGVmYXVsdFN0YXRlKCk7XG4gICAgY29uc3QgcmVzdWx0ID0geyAuLi5zdGF0ZSxcbiAgICAgIGlzTG9hZGluZzogc3RhdGUuc3RhdHVzID09PSAnbG9hZGluZycsXG4gICAgICBpc1N1Y2Nlc3M6IHN0YXRlLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgaXNFcnJvcjogc3RhdGUuc3RhdHVzID09PSAnZXJyb3InLFxuICAgICAgaXNJZGxlOiBzdGF0ZS5zdGF0dXMgPT09ICdpZGxlJyxcbiAgICAgIG11dGF0ZTogdGhpcy5tdXRhdGUsXG4gICAgICByZXNldDogdGhpcy5yZXNldFxuICAgIH07XG4gICAgdGhpcy5jdXJyZW50UmVzdWx0ID0gcmVzdWx0O1xuICB9XG5cbiAgbm90aWZ5KG9wdGlvbnMpIHtcbiAgICBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIC8vIEZpcnN0IHRyaWdnZXIgdGhlIG11dGF0ZSBjYWxsYmFja3NcbiAgICAgIGlmICh0aGlzLm11dGF0ZU9wdGlvbnMgJiYgdGhpcy5oYXNMaXN0ZW5lcnMoKSkge1xuICAgICAgICBpZiAob3B0aW9ucy5vblN1Y2Nlc3MpIHtcbiAgICAgICAgICB2YXIgX3RoaXMkbXV0YXRlT3B0aW9ucyRvLCBfdGhpcyRtdXRhdGVPcHRpb25zLCBfdGhpcyRtdXRhdGVPcHRpb25zJG8yLCBfdGhpcyRtdXRhdGVPcHRpb25zMjtcblxuICAgICAgICAgIChfdGhpcyRtdXRhdGVPcHRpb25zJG8gPSAoX3RoaXMkbXV0YXRlT3B0aW9ucyA9IHRoaXMubXV0YXRlT3B0aW9ucykub25TdWNjZXNzKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkbXV0YXRlT3B0aW9ucyRvLmNhbGwoX3RoaXMkbXV0YXRlT3B0aW9ucywgdGhpcy5jdXJyZW50UmVzdWx0LmRhdGEsIHRoaXMuY3VycmVudFJlc3VsdC52YXJpYWJsZXMsIHRoaXMuY3VycmVudFJlc3VsdC5jb250ZXh0KTtcbiAgICAgICAgICAoX3RoaXMkbXV0YXRlT3B0aW9ucyRvMiA9IChfdGhpcyRtdXRhdGVPcHRpb25zMiA9IHRoaXMubXV0YXRlT3B0aW9ucykub25TZXR0bGVkKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkbXV0YXRlT3B0aW9ucyRvMi5jYWxsKF90aGlzJG11dGF0ZU9wdGlvbnMyLCB0aGlzLmN1cnJlbnRSZXN1bHQuZGF0YSwgbnVsbCwgdGhpcy5jdXJyZW50UmVzdWx0LnZhcmlhYmxlcywgdGhpcy5jdXJyZW50UmVzdWx0LmNvbnRleHQpO1xuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMub25FcnJvcikge1xuICAgICAgICAgIHZhciBfdGhpcyRtdXRhdGVPcHRpb25zJG8zLCBfdGhpcyRtdXRhdGVPcHRpb25zMywgX3RoaXMkbXV0YXRlT3B0aW9ucyRvNCwgX3RoaXMkbXV0YXRlT3B0aW9uczQ7XG5cbiAgICAgICAgICAoX3RoaXMkbXV0YXRlT3B0aW9ucyRvMyA9IChfdGhpcyRtdXRhdGVPcHRpb25zMyA9IHRoaXMubXV0YXRlT3B0aW9ucykub25FcnJvcikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG11dGF0ZU9wdGlvbnMkbzMuY2FsbChfdGhpcyRtdXRhdGVPcHRpb25zMywgdGhpcy5jdXJyZW50UmVzdWx0LmVycm9yLCB0aGlzLmN1cnJlbnRSZXN1bHQudmFyaWFibGVzLCB0aGlzLmN1cnJlbnRSZXN1bHQuY29udGV4dCk7XG4gICAgICAgICAgKF90aGlzJG11dGF0ZU9wdGlvbnMkbzQgPSAoX3RoaXMkbXV0YXRlT3B0aW9uczQgPSB0aGlzLm11dGF0ZU9wdGlvbnMpLm9uU2V0dGxlZCkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG11dGF0ZU9wdGlvbnMkbzQuY2FsbChfdGhpcyRtdXRhdGVPcHRpb25zNCwgdW5kZWZpbmVkLCB0aGlzLmN1cnJlbnRSZXN1bHQuZXJyb3IsIHRoaXMuY3VycmVudFJlc3VsdC52YXJpYWJsZXMsIHRoaXMuY3VycmVudFJlc3VsdC5jb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBUaGVuIHRyaWdnZXIgdGhlIGxpc3RlbmVyc1xuXG5cbiAgICAgIGlmIChvcHRpb25zLmxpc3RlbmVycykge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKCh7XG4gICAgICAgICAgbGlzdGVuZXJcbiAgICAgICAgfSkgPT4ge1xuICAgICAgICAgIGxpc3RlbmVyKHRoaXMuY3VycmVudFJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cblxuZXhwb3J0IHsgTXV0YXRpb25PYnNlcnZlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bXV0YXRpb25PYnNlcnZlci5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/mutationObserver.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createNotifyManager: function() { return /* binding */ createNotifyManager; },\n/* harmony export */ notifyManager: function() { return /* binding */ notifyManager; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n\n let notifyFn = callback => {\n callback();\n };\n\n let batchNotifyFn = callback => {\n callback();\n };\n\n const batch = callback => {\n let result;\n transactions++;\n\n try {\n result = callback();\n } finally {\n transactions--;\n\n if (!transactions) {\n flush();\n }\n }\n\n return result;\n };\n\n const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_0__.scheduleMicrotask)(() => {\n notifyFn(callback);\n });\n }\n };\n /**\n * All calls to the wrapped function will be batched.\n */\n\n\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n\n if (originalQueue.length) {\n (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_0__.scheduleMicrotask)(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n\n\n const setNotifyFunction = fn => {\n notifyFn = fn;\n };\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n\n\n const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n} // SINGLETON\n\nconst notifyManager = createNotifyManager();\n\n\n//# sourceMappingURL=notifyManager.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL25vdGlmeU1hbmFnZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFnRDs7QUFFaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sTUFBTSw2REFBaUI7QUFDdkI7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLDZEQUFpQjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGOztBQUU4QztBQUM5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL25vdGlmeU1hbmFnZXIubWpzP2VhMTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NoZWR1bGVNaWNyb3Rhc2sgfSBmcm9tICcuL3V0aWxzLm1qcyc7XG5cbmZ1bmN0aW9uIGNyZWF0ZU5vdGlmeU1hbmFnZXIoKSB7XG4gIGxldCBxdWV1ZSA9IFtdO1xuICBsZXQgdHJhbnNhY3Rpb25zID0gMDtcblxuICBsZXQgbm90aWZ5Rm4gPSBjYWxsYmFjayA9PiB7XG4gICAgY2FsbGJhY2soKTtcbiAgfTtcblxuICBsZXQgYmF0Y2hOb3RpZnlGbiA9IGNhbGxiYWNrID0+IHtcbiAgICBjYWxsYmFjaygpO1xuICB9O1xuXG4gIGNvbnN0IGJhdGNoID0gY2FsbGJhY2sgPT4ge1xuICAgIGxldCByZXN1bHQ7XG4gICAgdHJhbnNhY3Rpb25zKys7XG5cbiAgICB0cnkge1xuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdHJhbnNhY3Rpb25zLS07XG5cbiAgICAgIGlmICghdHJhbnNhY3Rpb25zKSB7XG4gICAgICAgIGZsdXNoKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICBjb25zdCBzY2hlZHVsZSA9IGNhbGxiYWNrID0+IHtcbiAgICBpZiAodHJhbnNhY3Rpb25zKSB7XG4gICAgICBxdWV1ZS5wdXNoKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2NoZWR1bGVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICBub3RpZnlGbihjYWxsYmFjayk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG4gIC8qKlxuICAgKiBBbGwgY2FsbHMgdG8gdGhlIHdyYXBwZWQgZnVuY3Rpb24gd2lsbCBiZSBiYXRjaGVkLlxuICAgKi9cblxuXG4gIGNvbnN0IGJhdGNoQ2FsbHMgPSBjYWxsYmFjayA9PiB7XG4gICAgcmV0dXJuICguLi5hcmdzKSA9PiB7XG4gICAgICBzY2hlZHVsZSgoKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKC4uLmFyZ3MpO1xuICAgICAgfSk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBmbHVzaCA9ICgpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbFF1ZXVlID0gcXVldWU7XG4gICAgcXVldWUgPSBbXTtcblxuICAgIGlmIChvcmlnaW5hbFF1ZXVlLmxlbmd0aCkge1xuICAgICAgc2NoZWR1bGVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICBiYXRjaE5vdGlmeUZuKCgpID0+IHtcbiAgICAgICAgICBvcmlnaW5hbFF1ZXVlLmZvckVhY2goY2FsbGJhY2sgPT4ge1xuICAgICAgICAgICAgbm90aWZ5Rm4oY2FsbGJhY2spO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIG1ldGhvZCB0byBzZXQgYSBjdXN0b20gbm90aWZ5IGZ1bmN0aW9uLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGZvciBleGFtcGxlIHdyYXAgbm90aWZpY2F0aW9ucyB3aXRoIGBSZWFjdC5hY3RgIHdoaWxlIHJ1bm5pbmcgdGVzdHMuXG4gICAqL1xuXG5cbiAgY29uc3Qgc2V0Tm90aWZ5RnVuY3Rpb24gPSBmbiA9PiB7XG4gICAgbm90aWZ5Rm4gPSBmbjtcbiAgfTtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIG1ldGhvZCB0byBzZXQgYSBjdXN0b20gZnVuY3Rpb24gdG8gYmF0Y2ggbm90aWZpY2F0aW9ucyB0b2dldGhlciBpbnRvIGEgc2luZ2xlIHRpY2suXG4gICAqIEJ5IGRlZmF1bHQgUmVhY3QgUXVlcnkgd2lsbCB1c2UgdGhlIGJhdGNoIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IFJlYWN0RE9NIG9yIFJlYWN0IE5hdGl2ZS5cbiAgICovXG5cblxuICBjb25zdCBzZXRCYXRjaE5vdGlmeUZ1bmN0aW9uID0gZm4gPT4ge1xuICAgIGJhdGNoTm90aWZ5Rm4gPSBmbjtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGJhdGNoLFxuICAgIGJhdGNoQ2FsbHMsXG4gICAgc2NoZWR1bGUsXG4gICAgc2V0Tm90aWZ5RnVuY3Rpb24sXG4gICAgc2V0QmF0Y2hOb3RpZnlGdW5jdGlvblxuICB9O1xufSAvLyBTSU5HTEVUT05cblxuY29uc3Qgbm90aWZ5TWFuYWdlciA9IGNyZWF0ZU5vdGlmeU1hbmFnZXIoKTtcblxuZXhwb3J0IHsgY3JlYXRlTm90aWZ5TWFuYWdlciwgbm90aWZ5TWFuYWdlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90aWZ5TWFuYWdlci5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OnlineManager: function() { return /* binding */ OnlineManager; },\n/* harmony export */ onlineManager: function() { return /* binding */ onlineManager; }\n/* harmony export */ });\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n\n\n\nconst onlineEvents = ['online', 'offline'];\nclass OnlineManager extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor() {\n super();\n\n this.setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.isServer && window.addEventListener) {\n const listener = () => onOnline(); // Listen to online\n\n\n onlineEvents.forEach(event => {\n window.addEventListener(event, listener, false);\n });\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach(event => {\n window.removeEventListener(event, listener);\n });\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n\n setOnline(online) {\n const changed = this.online !== online;\n\n if (changed) {\n this.online = online;\n this.onOnline();\n }\n }\n\n onOnline() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n }\n\n}\nconst onlineManager = new OnlineManager();\n\n\n//# sourceMappingURL=onlineManager.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL29ubGluZU1hbmFnZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBa0Q7QUFDWDs7QUFFdkM7QUFDQSw0QkFBNEIsMkRBQVk7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdEQUFRO0FBQ25CLDJDQUEyQzs7O0FBRzNDO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUV3QztBQUN4QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL29ubGluZU1hbmFnZXIubWpzPzhlZDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi9zdWJzY3JpYmFibGUubWpzJztcbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnLi91dGlscy5tanMnO1xuXG5jb25zdCBvbmxpbmVFdmVudHMgPSBbJ29ubGluZScsICdvZmZsaW5lJ107XG5jbGFzcyBPbmxpbmVNYW5hZ2VyIGV4dGVuZHMgU3Vic2NyaWJhYmxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc2V0dXAgPSBvbk9ubGluZSA9PiB7XG4gICAgICAvLyBhZGRFdmVudExpc3RlbmVyIGRvZXMgbm90IGV4aXN0IGluIFJlYWN0IE5hdGl2ZSwgYnV0IHdpbmRvdyBkb2VzXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgaWYgKCFpc1NlcnZlciAmJiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICBjb25zdCBsaXN0ZW5lciA9ICgpID0+IG9uT25saW5lKCk7IC8vIExpc3RlbiB0byBvbmxpbmVcblxuXG4gICAgICAgIG9ubGluZUV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHtcbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIsIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgLy8gQmUgc3VyZSB0byB1bnN1YnNjcmliZSBpZiBhIG5ldyBoYW5kbGVyIGlzIHNldFxuICAgICAgICAgIG9ubGluZUV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9O1xuICB9XG5cbiAgb25TdWJzY3JpYmUoKSB7XG4gICAgaWYgKCF0aGlzLmNsZWFudXApIHtcbiAgICAgIHRoaXMuc2V0RXZlbnRMaXN0ZW5lcih0aGlzLnNldHVwKTtcbiAgICB9XG4gIH1cblxuICBvblVuc3Vic2NyaWJlKCkge1xuICAgIGlmICghdGhpcy5oYXNMaXN0ZW5lcnMoKSkge1xuICAgICAgdmFyIF90aGlzJGNsZWFudXA7XG5cbiAgICAgIChfdGhpcyRjbGVhbnVwID0gdGhpcy5jbGVhbnVwKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkY2xlYW51cC5jYWxsKHRoaXMpO1xuICAgICAgdGhpcy5jbGVhbnVwID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHNldEV2ZW50TGlzdGVuZXIoc2V0dXApIHtcbiAgICB2YXIgX3RoaXMkY2xlYW51cDI7XG5cbiAgICB0aGlzLnNldHVwID0gc2V0dXA7XG4gICAgKF90aGlzJGNsZWFudXAyID0gdGhpcy5jbGVhbnVwKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkY2xlYW51cDIuY2FsbCh0aGlzKTtcbiAgICB0aGlzLmNsZWFudXAgPSBzZXR1cChvbmxpbmUgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvbmxpbmUgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLnNldE9ubGluZShvbmxpbmUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbk9ubGluZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0T25saW5lKG9ubGluZSkge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLm9ubGluZSAhPT0gb25saW5lO1xuXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMub25saW5lID0gb25saW5lO1xuICAgICAgdGhpcy5vbk9ubGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uT25saW5lKCkge1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKHtcbiAgICAgIGxpc3RlbmVyXG4gICAgfSkgPT4ge1xuICAgICAgbGlzdGVuZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzT25saW5lKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5vbmxpbmUgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIHRoaXMub25saW5lO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmF2aWdhdG9yID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgbmF2aWdhdG9yLm9uTGluZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBuYXZpZ2F0b3Iub25MaW5lO1xuICB9XG5cbn1cbmNvbnN0IG9ubGluZU1hbmFnZXIgPSBuZXcgT25saW5lTWFuYWdlcigpO1xuXG5leHBvcnQgeyBPbmxpbmVNYW5hZ2VyLCBvbmxpbmVNYW5hZ2VyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1vbmxpbmVNYW5hZ2VyLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs": -/*!*************************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueriesObserver: function() { return /* binding */ QueriesObserver; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _queryObserver_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./queryObserver.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs\");\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n\n\n\n\n\nclass QueriesObserver extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor(client, queries) {\n super();\n this.client = client;\n this.queries = [];\n this.result = [];\n this.observers = [];\n this.observersMap = {};\n\n if (queries) {\n this.setQueries(queries);\n }\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.observers.forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n }\n }\n\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n\n destroy() {\n this.listeners = new Set();\n this.observers.forEach(observer => {\n observer.destroy();\n });\n }\n\n setQueries(queries, notifyOptions) {\n this.queries = queries;\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_1__.notifyManager.batch(() => {\n const prevObservers = this.observers;\n const newObserverMatches = this.findMatchingObservers(this.queries); // set options for the new observers to notify of changes\n\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer]));\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n\n this.observers = newObservers;\n this.observersMap = newObserversMap;\n this.result = newResult;\n\n if (!this.hasListeners()) {\n return;\n }\n\n (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.difference)(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.difference)(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n this.notify();\n });\n }\n\n getCurrentResult() {\n return this.result;\n }\n\n getQueries() {\n return this.observers.map(observer => observer.getCurrentQuery());\n }\n\n getObservers() {\n return this.observers;\n }\n\n getOptimisticResult(queries) {\n return this.findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n\n findMatchingObservers(queries) {\n const prevObservers = this.observers;\n const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));\n const defaultedQueryOptions = queries.map(options => this.client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObserversMap.get(defaultedOptions.queryHash);\n\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n\n return [];\n });\n const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));\n const matchingObserversSet = new Set(matchingObservers.map(match => match.observer));\n const unmatchedObservers = prevObservers.filter(prevObserver => !matchingObserversSet.has(prevObserver));\n\n const getObserver = options => {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const currentObserver = this.observersMap[defaultedOptions.queryHash];\n return currentObserver != null ? currentObserver : new _queryObserver_mjs__WEBPACK_IMPORTED_MODULE_3__.QueryObserver(this.client, defaultedOptions);\n };\n\n const newOrReusedObservers = unmatchedQueries.map((options, index) => {\n if (options.keepPreviousData) {\n // return previous data from one of the observers that no longer match\n const previouslyUsedObserver = unmatchedObservers[index];\n\n if (previouslyUsedObserver !== undefined) {\n return {\n defaultedQueryOptions: options,\n observer: previouslyUsedObserver\n };\n }\n }\n\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n\n onUpdate(observer, result) {\n const index = this.observers.indexOf(observer);\n\n if (index !== -1) {\n this.result = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.replaceAt)(this.result, index, result);\n this.notify();\n }\n }\n\n notify() {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_1__.notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.result);\n });\n });\n }\n\n}\n\n\n//# sourceMappingURL=queriesObserver.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJpZXNPYnNlcnZlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBb0Q7QUFDQTtBQUNBO0FBQ0Y7O0FBRWxELDhCQUE4QiwyREFBWTtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBLElBQUksNkRBQWE7QUFDakI7QUFDQSwyRUFBMkU7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxzREFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUCxNQUFNLHNEQUFVO0FBQ2hCO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELDZEQUFhO0FBQzFFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IscURBQVM7QUFDN0I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSw2REFBYTtBQUNqQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDs7QUFFQTs7QUFFMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9xdWVyaWVzT2JzZXJ2ZXIubWpzPzU0ZmMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlmZmVyZW5jZSwgcmVwbGFjZUF0IH0gZnJvbSAnLi91dGlscy5tanMnO1xuaW1wb3J0IHsgbm90aWZ5TWFuYWdlciB9IGZyb20gJy4vbm90aWZ5TWFuYWdlci5tanMnO1xuaW1wb3J0IHsgUXVlcnlPYnNlcnZlciB9IGZyb20gJy4vcXVlcnlPYnNlcnZlci5tanMnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi9zdWJzY3JpYmFibGUubWpzJztcblxuY2xhc3MgUXVlcmllc09ic2VydmVyIGV4dGVuZHMgU3Vic2NyaWJhYmxlIHtcbiAgY29uc3RydWN0b3IoY2xpZW50LCBxdWVyaWVzKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudDtcbiAgICB0aGlzLnF1ZXJpZXMgPSBbXTtcbiAgICB0aGlzLnJlc3VsdCA9IFtdO1xuICAgIHRoaXMub2JzZXJ2ZXJzID0gW107XG4gICAgdGhpcy5vYnNlcnZlcnNNYXAgPSB7fTtcblxuICAgIGlmIChxdWVyaWVzKSB7XG4gICAgICB0aGlzLnNldFF1ZXJpZXMocXVlcmllcyk7XG4gICAgfVxuICB9XG5cbiAgb25TdWJzY3JpYmUoKSB7XG4gICAgaWYgKHRoaXMubGlzdGVuZXJzLnNpemUgPT09IDEpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJzLmZvckVhY2gob2JzZXJ2ZXIgPT4ge1xuICAgICAgICBvYnNlcnZlci5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLm9uVXBkYXRlKG9ic2VydmVyLCByZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uVW5zdWJzY3JpYmUoKSB7XG4gICAgaWYgKCF0aGlzLmxpc3RlbmVycy5zaXplKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMubGlzdGVuZXJzID0gbmV3IFNldCgpO1xuICAgIHRoaXMub2JzZXJ2ZXJzLmZvckVhY2gob2JzZXJ2ZXIgPT4ge1xuICAgICAgb2JzZXJ2ZXIuZGVzdHJveSgpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0UXVlcmllcyhxdWVyaWVzLCBub3RpZnlPcHRpb25zKSB7XG4gICAgdGhpcy5xdWVyaWVzID0gcXVlcmllcztcbiAgICBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIGNvbnN0IHByZXZPYnNlcnZlcnMgPSB0aGlzLm9ic2VydmVycztcbiAgICAgIGNvbnN0IG5ld09ic2VydmVyTWF0Y2hlcyA9IHRoaXMuZmluZE1hdGNoaW5nT2JzZXJ2ZXJzKHRoaXMucXVlcmllcyk7IC8vIHNldCBvcHRpb25zIGZvciB0aGUgbmV3IG9ic2VydmVycyB0byBub3RpZnkgb2YgY2hhbmdlc1xuXG4gICAgICBuZXdPYnNlcnZlck1hdGNoZXMuZm9yRWFjaChtYXRjaCA9PiBtYXRjaC5vYnNlcnZlci5zZXRPcHRpb25zKG1hdGNoLmRlZmF1bHRlZFF1ZXJ5T3B0aW9ucywgbm90aWZ5T3B0aW9ucykpO1xuICAgICAgY29uc3QgbmV3T2JzZXJ2ZXJzID0gbmV3T2JzZXJ2ZXJNYXRjaGVzLm1hcChtYXRjaCA9PiBtYXRjaC5vYnNlcnZlcik7XG4gICAgICBjb25zdCBuZXdPYnNlcnZlcnNNYXAgPSBPYmplY3QuZnJvbUVudHJpZXMobmV3T2JzZXJ2ZXJzLm1hcChvYnNlcnZlciA9PiBbb2JzZXJ2ZXIub3B0aW9ucy5xdWVyeUhhc2gsIG9ic2VydmVyXSkpO1xuICAgICAgY29uc3QgbmV3UmVzdWx0ID0gbmV3T2JzZXJ2ZXJzLm1hcChvYnNlcnZlciA9PiBvYnNlcnZlci5nZXRDdXJyZW50UmVzdWx0KCkpO1xuICAgICAgY29uc3QgaGFzSW5kZXhDaGFuZ2UgPSBuZXdPYnNlcnZlcnMuc29tZSgob2JzZXJ2ZXIsIGluZGV4KSA9PiBvYnNlcnZlciAhPT0gcHJldk9ic2VydmVyc1tpbmRleF0pO1xuXG4gICAgICBpZiAocHJldk9ic2VydmVycy5sZW5ndGggPT09IG5ld09ic2VydmVycy5sZW5ndGggJiYgIWhhc0luZGV4Q2hhbmdlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5vYnNlcnZlcnMgPSBuZXdPYnNlcnZlcnM7XG4gICAgICB0aGlzLm9ic2VydmVyc01hcCA9IG5ld09ic2VydmVyc01hcDtcbiAgICAgIHRoaXMucmVzdWx0ID0gbmV3UmVzdWx0O1xuXG4gICAgICBpZiAoIXRoaXMuaGFzTGlzdGVuZXJzKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBkaWZmZXJlbmNlKHByZXZPYnNlcnZlcnMsIG5ld09ic2VydmVycykuZm9yRWFjaChvYnNlcnZlciA9PiB7XG4gICAgICAgIG9ic2VydmVyLmRlc3Ryb3koKTtcbiAgICAgIH0pO1xuICAgICAgZGlmZmVyZW5jZShuZXdPYnNlcnZlcnMsIHByZXZPYnNlcnZlcnMpLmZvckVhY2gob2JzZXJ2ZXIgPT4ge1xuICAgICAgICBvYnNlcnZlci5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLm9uVXBkYXRlKG9ic2VydmVyLCByZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5ub3RpZnkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEN1cnJlbnRSZXN1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0O1xuICB9XG5cbiAgZ2V0UXVlcmllcygpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNlcnZlcnMubWFwKG9ic2VydmVyID0+IG9ic2VydmVyLmdldEN1cnJlbnRRdWVyeSgpKTtcbiAgfVxuXG4gIGdldE9ic2VydmVycygpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNlcnZlcnM7XG4gIH1cblxuICBnZXRPcHRpbWlzdGljUmVzdWx0KHF1ZXJpZXMpIHtcbiAgICByZXR1cm4gdGhpcy5maW5kTWF0Y2hpbmdPYnNlcnZlcnMocXVlcmllcykubWFwKG1hdGNoID0+IG1hdGNoLm9ic2VydmVyLmdldE9wdGltaXN0aWNSZXN1bHQobWF0Y2guZGVmYXVsdGVkUXVlcnlPcHRpb25zKSk7XG4gIH1cblxuICBmaW5kTWF0Y2hpbmdPYnNlcnZlcnMocXVlcmllcykge1xuICAgIGNvbnN0IHByZXZPYnNlcnZlcnMgPSB0aGlzLm9ic2VydmVycztcbiAgICBjb25zdCBwcmV2T2JzZXJ2ZXJzTWFwID0gbmV3IE1hcChwcmV2T2JzZXJ2ZXJzLm1hcChvYnNlcnZlciA9PiBbb2JzZXJ2ZXIub3B0aW9ucy5xdWVyeUhhc2gsIG9ic2VydmVyXSkpO1xuICAgIGNvbnN0IGRlZmF1bHRlZFF1ZXJ5T3B0aW9ucyA9IHF1ZXJpZXMubWFwKG9wdGlvbnMgPT4gdGhpcy5jbGllbnQuZGVmYXVsdFF1ZXJ5T3B0aW9ucyhvcHRpb25zKSk7XG4gICAgY29uc3QgbWF0Y2hpbmdPYnNlcnZlcnMgPSBkZWZhdWx0ZWRRdWVyeU9wdGlvbnMuZmxhdE1hcChkZWZhdWx0ZWRPcHRpb25zID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoID0gcHJldk9ic2VydmVyc01hcC5nZXQoZGVmYXVsdGVkT3B0aW9ucy5xdWVyeUhhc2gpO1xuXG4gICAgICBpZiAobWF0Y2ggIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gW3tcbiAgICAgICAgICBkZWZhdWx0ZWRRdWVyeU9wdGlvbnM6IGRlZmF1bHRlZE9wdGlvbnMsXG4gICAgICAgICAgb2JzZXJ2ZXI6IG1hdGNoXG4gICAgICAgIH1dO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG4gICAgY29uc3QgbWF0Y2hlZFF1ZXJ5SGFzaGVzID0gbmV3IFNldChtYXRjaGluZ09ic2VydmVycy5tYXAobWF0Y2ggPT4gbWF0Y2guZGVmYXVsdGVkUXVlcnlPcHRpb25zLnF1ZXJ5SGFzaCkpO1xuICAgIGNvbnN0IHVubWF0Y2hlZFF1ZXJpZXMgPSBkZWZhdWx0ZWRRdWVyeU9wdGlvbnMuZmlsdGVyKGRlZmF1bHRlZE9wdGlvbnMgPT4gIW1hdGNoZWRRdWVyeUhhc2hlcy5oYXMoZGVmYXVsdGVkT3B0aW9ucy5xdWVyeUhhc2gpKTtcbiAgICBjb25zdCBtYXRjaGluZ09ic2VydmVyc1NldCA9IG5ldyBTZXQobWF0Y2hpbmdPYnNlcnZlcnMubWFwKG1hdGNoID0+IG1hdGNoLm9ic2VydmVyKSk7XG4gICAgY29uc3QgdW5tYXRjaGVkT2JzZXJ2ZXJzID0gcHJldk9ic2VydmVycy5maWx0ZXIocHJldk9ic2VydmVyID0+ICFtYXRjaGluZ09ic2VydmVyc1NldC5oYXMocHJldk9ic2VydmVyKSk7XG5cbiAgICBjb25zdCBnZXRPYnNlcnZlciA9IG9wdGlvbnMgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdGVkT3B0aW9ucyA9IHRoaXMuY2xpZW50LmRlZmF1bHRRdWVyeU9wdGlvbnMob3B0aW9ucyk7XG4gICAgICBjb25zdCBjdXJyZW50T2JzZXJ2ZXIgPSB0aGlzLm9ic2VydmVyc01hcFtkZWZhdWx0ZWRPcHRpb25zLnF1ZXJ5SGFzaF07XG4gICAgICByZXR1cm4gY3VycmVudE9ic2VydmVyICE9IG51bGwgPyBjdXJyZW50T2JzZXJ2ZXIgOiBuZXcgUXVlcnlPYnNlcnZlcih0aGlzLmNsaWVudCwgZGVmYXVsdGVkT3B0aW9ucyk7XG4gICAgfTtcblxuICAgIGNvbnN0IG5ld09yUmV1c2VkT2JzZXJ2ZXJzID0gdW5tYXRjaGVkUXVlcmllcy5tYXAoKG9wdGlvbnMsIGluZGV4KSA9PiB7XG4gICAgICBpZiAob3B0aW9ucy5rZWVwUHJldmlvdXNEYXRhKSB7XG4gICAgICAgIC8vIHJldHVybiBwcmV2aW91cyBkYXRhIGZyb20gb25lIG9mIHRoZSBvYnNlcnZlcnMgdGhhdCBubyBsb25nZXIgbWF0Y2hcbiAgICAgICAgY29uc3QgcHJldmlvdXNseVVzZWRPYnNlcnZlciA9IHVubWF0Y2hlZE9ic2VydmVyc1tpbmRleF07XG5cbiAgICAgICAgaWYgKHByZXZpb3VzbHlVc2VkT2JzZXJ2ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0ZWRRdWVyeU9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICAgICAgICBvYnNlcnZlcjogcHJldmlvdXNseVVzZWRPYnNlcnZlclxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdGVkUXVlcnlPcHRpb25zOiBvcHRpb25zLFxuICAgICAgICBvYnNlcnZlcjogZ2V0T2JzZXJ2ZXIob3B0aW9ucylcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCBzb3J0TWF0Y2hlc0J5T3JkZXJPZlF1ZXJpZXMgPSAoYSwgYikgPT4gZGVmYXVsdGVkUXVlcnlPcHRpb25zLmluZGV4T2YoYS5kZWZhdWx0ZWRRdWVyeU9wdGlvbnMpIC0gZGVmYXVsdGVkUXVlcnlPcHRpb25zLmluZGV4T2YoYi5kZWZhdWx0ZWRRdWVyeU9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIG1hdGNoaW5nT2JzZXJ2ZXJzLmNvbmNhdChuZXdPclJldXNlZE9ic2VydmVycykuc29ydChzb3J0TWF0Y2hlc0J5T3JkZXJPZlF1ZXJpZXMpO1xuICB9XG5cbiAgb25VcGRhdGUob2JzZXJ2ZXIsIHJlc3VsdCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vYnNlcnZlcnMuaW5kZXhPZihvYnNlcnZlcik7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnJlc3VsdCA9IHJlcGxhY2VBdCh0aGlzLnJlc3VsdCwgaW5kZXgsIHJlc3VsdCk7XG4gICAgICB0aGlzLm5vdGlmeSgpO1xuICAgIH1cbiAgfVxuXG4gIG5vdGlmeSgpIHtcbiAgICBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKHtcbiAgICAgICAgbGlzdGVuZXJcbiAgICAgIH0pID0+IHtcbiAgICAgICAgbGlzdGVuZXIodGhpcy5yZXN1bHQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxufVxuXG5leHBvcnQgeyBRdWVyaWVzT2JzZXJ2ZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXF1ZXJpZXNPYnNlcnZlci5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/query.mjs": -/*!***************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/query.mjs ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Query: function() { return /* binding */ Query; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _logger_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger.mjs */ \"./node_modules/@tanstack/query-core/build/lib/logger.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _retryer_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./retryer.mjs */ \"./node_modules/@tanstack/query-core/build/lib/retryer.mjs\");\n/* harmony import */ var _removable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./removable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/removable.mjs\");\n\n\n\n\n\n\n// CLASS\nclass Query extends _removable_mjs__WEBPACK_IMPORTED_MODULE_0__.Removable {\n constructor(config) {\n super();\n this.abortSignalConsumed = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.logger = config.logger || _logger_mjs__WEBPACK_IMPORTED_MODULE_1__.defaultLogger;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || getDefaultState(this.options);\n this.state = this.initialState;\n this.scheduleGc();\n }\n\n get meta() {\n return this.options.meta;\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.updateCacheTime(this.options.cacheTime);\n }\n\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this);\n }\n }\n\n setData(newData, options) {\n const data = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.replaceData)(this.state.data, newData, this.options); // Set data and mark it as cached\n\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt,\n manual: options == null ? void 0 : options.manual\n });\n return data;\n }\n\n setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state,\n setStateOptions\n });\n }\n\n cancel(options) {\n var _this$retryer;\n\n const promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.noop).catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.noop) : Promise.resolve();\n }\n\n destroy() {\n super.destroy();\n this.cancel({\n silent: true\n });\n }\n\n reset() {\n this.destroy();\n this.setState(this.initialState);\n }\n\n isActive() {\n return this.observers.some(observer => observer.options.enabled !== false);\n }\n\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(observer => observer.getCurrentResult().isStale);\n }\n\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !(0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.timeUntilStale)(this.state.dataUpdatedAt, staleTime);\n }\n\n onFocus() {\n var _this$retryer2;\n\n const observer = this.observers.find(x => x.shouldFetchOnWindowFocus());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n }\n\n onOnline() {\n var _this$retryer3;\n\n const observer = this.observers.find(x => x.shouldFetchOnReconnect());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n }\n\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer); // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter(x => x !== observer);\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n this.scheduleGc();\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer\n });\n }\n }\n\n getObserversCount() {\n return this.observers.length;\n }\n\n invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n }\n\n fetch(options, fetchOptions) {\n var _this$options$behavio, _context$fetchOptions;\n\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions != null && fetchOptions.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n const observer = this.observers.find(x => x.options.queryFn);\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n if (!Array.isArray(this.options.queryKey)) {\n if (true) {\n this.logger.error(\"As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']\");\n }\n }\n\n const abortController = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.getAbortController)(); // Create query function context\n\n const queryFnContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta\n }; // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n });\n };\n\n addSignalProperty(queryFnContext); // Create fetch function\n\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\"Missing queryFn for queryKey '\" + this.options.queryHash + \"'\");\n }\n\n this.abortSignalConsumed = false;\n return this.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n (_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch(context); // Store state in case the current fetch needs to be reverted\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n }\n\n const onError = error => {\n // Optimistically update state if needed\n if (!((0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.isCancelledError)(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!(0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.isCancelledError)(error)) {\n var _this$cache$config$on, _this$cache$config, _this$cache$config$on2, _this$cache$config2;\n\n // Notify cache callback\n (_this$cache$config$on = (_this$cache$config = this.cache.config).onError) == null ? void 0 : _this$cache$config$on.call(_this$cache$config, error, this);\n (_this$cache$config$on2 = (_this$cache$config2 = this.cache.config).onSettled) == null ? void 0 : _this$cache$config$on2.call(_this$cache$config2, this.state.data, error, this);\n\n if (true) {\n this.logger.error(error);\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n }; // Try to fetch the data\n\n\n this.retryer = (0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.createRetryer)({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : abortController.abort.bind(abortController),\n onSuccess: data => {\n var _this$cache$config$on3, _this$cache$config3, _this$cache$config$on4, _this$cache$config4;\n\n if (typeof data === 'undefined') {\n if (true) {\n this.logger.error(\"Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: \" + this.queryHash);\n }\n\n onError(new Error(this.queryHash + \" data is undefined\"));\n return;\n }\n\n this.setData(data); // Notify cache callback\n\n (_this$cache$config$on3 = (_this$cache$config3 = this.cache.config).onSuccess) == null ? void 0 : _this$cache$config$on3.call(_this$cache$config3, data, this);\n (_this$cache$config$on4 = (_this$cache$config4 = this.cache.config).onSettled) == null ? void 0 : _this$cache$config$on4.call(_this$cache$config4, data, this.state.error, this);\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.promise = this.retryer.promise;\n return this.promise;\n }\n\n dispatch(action) {\n const reducer = state => {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return { ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n\n case 'pause':\n return { ...state,\n fetchStatus: 'paused'\n };\n\n case 'continue':\n return { ...state,\n fetchStatus: 'fetching'\n };\n\n case 'fetch':\n return { ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n fetchStatus: (0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.canFetch)(this.options.networkMode) ? 'fetching' : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n })\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null\n })\n };\n\n case 'error':\n const error = action.error;\n\n if ((0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.isCancelledError)(error) && error.revert && this.revertState) {\n return { ...this.revertState\n };\n }\n\n return { ...state,\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error'\n };\n\n case 'invalidate':\n return { ...state,\n isInvalidated: true\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_4__.notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onQueryUpdate(action);\n });\n this.cache.notify({\n query: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\n\nfunction getDefaultState(options) {\n const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n const hasData = typeof data !== 'undefined';\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle'\n };\n}\n\n\n//# sourceMappingURL=query.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBb0Y7QUFDdkM7QUFDTztBQUNzQjtBQUM5Qjs7QUFFNUM7QUFDQSxvQkFBb0IscURBQVM7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsc0RBQWE7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLHVEQUFXLDBDQUEwQzs7QUFFdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDLDRDQUFJLFFBQVEsNENBQUk7QUFDbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxRUFBcUUsMERBQWM7QUFDbkY7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTs7O0FBR047QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxQ0FBcUM7O0FBRXJDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsWUFB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X21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5Lm1qcz85YmVmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlcGxhY2VEYXRhLCBub29wLCB0aW1lVW50aWxTdGFsZSwgZ2V0QWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi91dGlscy5tanMnO1xuaW1wb3J0IHsgZGVmYXVsdExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLm1qcyc7XG5pbXBvcnQgeyBub3RpZnlNYW5hZ2VyIH0gZnJvbSAnLi9ub3RpZnlNYW5hZ2VyLm1qcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXRyeWVyLCBpc0NhbmNlbGxlZEVycm9yLCBjYW5GZXRjaCB9IGZyb20gJy4vcmV0cnllci5tanMnO1xuaW1wb3J0IHsgUmVtb3ZhYmxlIH0gZnJvbSAnLi9yZW1vdmFibGUubWpzJztcblxuLy8gQ0xBU1NcbmNsYXNzIFF1ZXJ5IGV4dGVuZHMgUmVtb3ZhYmxlIHtcbiAgY29uc3RydWN0b3IoY29uZmlnKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFib3J0U2lnbmFsQ29uc3VtZWQgPSBmYWxzZTtcbiAgICB0aGlzLmRlZmF1bHRPcHRpb25zID0gY29uZmlnLmRlZmF1bHRPcHRpb25zO1xuICAgIHRoaXMuc2V0T3B0aW9ucyhjb25maWcub3B0aW9ucyk7XG4gICAgdGhpcy5vYnNlcnZlcnMgPSBbXTtcbiAgICB0aGlzLmNhY2hlID0gY29uZmlnLmNhY2hlO1xuICAgIHRoaXMubG9nZ2VyID0gY29uZmlnLmxvZ2dlciB8fCBkZWZhdWx0TG9nZ2VyO1xuICAgIHRoaXMucXVlcnlLZXkgPSBjb25maWcucXVlcnlLZXk7XG4gICAgdGhpcy5xdWVyeUhhc2ggPSBjb25maWcucXVlcnlIYXNoO1xuICAgIHRoaXMuaW5pdGlhbFN0YXRlID0gY29uZmlnLnN0YXRlIHx8IGdldERlZmF1bHRTdGF0ZSh0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuc3RhdGUgPSB0aGlzLmluaXRpYWxTdGF0ZTtcbiAgICB0aGlzLnNjaGVkdWxlR2MoKTtcbiAgfVxuXG4gIGdldCBtZXRhKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubWV0YTtcbiAgfVxuXG4gIHNldE9wdGlvbnMob3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIHRoaXMudXBkYXRlQ2FjaGVUaW1lKHRoaXMub3B0aW9ucy5jYWNoZVRpbWUpO1xuICB9XG5cbiAgb3B0aW9uYWxSZW1vdmUoKSB7XG4gICAgaWYgKCF0aGlzLm9ic2VydmVycy5sZW5ndGggJiYgdGhpcy5zdGF0ZS5mZXRjaFN0YXR1cyA9PT0gJ2lkbGUnKSB7XG4gICAgICB0aGlzLmNhY2hlLnJlbW92ZSh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBzZXREYXRhKG5ld0RhdGEsIG9wdGlvbnMpIHtcbiAgICBjb25zdCBkYXRhID0gcmVwbGFjZURhdGEodGhpcy5zdGF0ZS5kYXRhLCBuZXdEYXRhLCB0aGlzLm9wdGlvbnMpOyAvLyBTZXQgZGF0YSBhbmQgbWFyayBpdCBhcyBjYWNoZWRcblxuICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgZGF0YSxcbiAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgIGRhdGFVcGRhdGVkQXQ6IG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMudXBkYXRlZEF0LFxuICAgICAgbWFudWFsOiBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLm1hbnVhbFxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgc2V0U3RhdGUoc3RhdGUsIHNldFN0YXRlT3B0aW9ucykge1xuICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogJ3NldFN0YXRlJyxcbiAgICAgIHN0YXRlLFxuICAgICAgc2V0U3RhdGVPcHRpb25zXG4gICAgfSk7XG4gIH1cblxuICBjYW5jZWwob3B0aW9ucykge1xuICAgIHZhciBfdGhpcyRyZXRyeWVyO1xuXG4gICAgY29uc3QgcHJvbWlzZSA9IHRoaXMucHJvbWlzZTtcbiAgICAoX3RoaXMkcmV0cnllciA9IHRoaXMucmV0cnllcikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJHJldHJ5ZXIuY2FuY2VsKG9wdGlvbnMpO1xuICAgIHJldHVybiBwcm9taXNlID8gcHJvbWlzZS50aGVuKG5vb3ApLmNhdGNoKG5vb3ApIDogUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmNhbmNlbCh7XG4gICAgICBzaWxlbnQ6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIHRoaXMuc2V0U3RhdGUodGhpcy5pbml0aWFsU3RhdGUpO1xuICB9XG5cbiAgaXNBY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMub2JzZXJ2ZXJzLnNvbWUob2JzZXJ2ZXIgPT4gb2JzZXJ2ZXIub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSk7XG4gIH1cblxuICBpc0Rpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdldE9ic2VydmVyc0NvdW50KCkgPiAwICYmICF0aGlzLmlzQWN0aXZlKCk7XG4gIH1cblxuICBpc1N0YWxlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmlzSW52YWxpZGF0ZWQgfHwgIXRoaXMuc3RhdGUuZGF0YVVwZGF0ZWRBdCB8fCB0aGlzLm9ic2VydmVycy5zb21lKG9ic2VydmVyID0+IG9ic2VydmVyLmdldEN1cnJlbnRSZXN1bHQoKS5pc1N0YWxlKTtcbiAgfVxuXG4gIGlzU3RhbGVCeVRpbWUoc3RhbGVUaW1lID0gMCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmlzSW52YWxpZGF0ZWQgfHwgIXRoaXMuc3RhdGUuZGF0YVVwZGF0ZWRBdCB8fCAhdGltZVVudGlsU3RhbGUodGhpcy5zdGF0ZS5kYXRhVXBkYXRlZEF0LCBzdGFsZVRpbWUpO1xuICB9XG5cbiAgb25Gb2N1cygpIHtcbiAgICB2YXIgX3RoaXMkcmV0cnllcjI7XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IHRoaXMub2JzZXJ2ZXJzLmZpbmQoeCA9PiB4LnNob3VsZEZldGNoT25XaW5kb3dGb2N1cygpKTtcblxuICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgb2JzZXJ2ZXIucmVmZXRjaCh7XG4gICAgICAgIGNhbmNlbFJlZmV0Y2g6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9IC8vIENvbnRpbnVlIGZldGNoIGlmIGN1cnJlbnRseSBwYXVzZWRcblxuXG4gICAgKF90aGlzJHJldHJ5ZXIyID0gdGhpcy5yZXRyeWVyKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkcmV0cnllcjIuY29udGludWUoKTtcbiAgfVxuXG4gIG9uT25saW5lKCkge1xuICAgIHZhciBfdGhpcyRyZXRyeWVyMztcblxuICAgIGNvbnN0IG9ic2VydmVyID0gdGhpcy5vYnNlcnZlcnMuZmluZCh4ID0+IHguc2hvdWxkRmV0Y2hPblJlY29ubmVjdCgpKTtcblxuICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgb2JzZXJ2ZXIucmVmZXRjaCh7XG4gICAgICAgIGNhbmNlbFJlZmV0Y2g6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9IC8vIENvbnRpbnVlIGZldGNoIGlmIGN1cnJlbnRseSBwYXVzZWRcblxuXG4gICAgKF90aGlzJHJldHJ5ZXIzID0gdGhpcy5yZXRyeWVyKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkcmV0cnllcjMuY29udGludWUoKTtcbiAgfVxuXG4gIGFkZE9ic2VydmVyKG9ic2VydmVyKSB7XG4gICAgaWYgKCF0aGlzLm9ic2VydmVycy5pbmNsdWRlcyhvYnNlcnZlcikpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJzLnB1c2gob2JzZXJ2ZXIpOyAvLyBTdG9wIHRoZSBxdWVyeSBmcm9tIGJlaW5nIGdhcmJhZ2UgY29sbGVjdGVkXG5cbiAgICAgIHRoaXMuY2xlYXJHY1RpbWVvdXQoKTtcbiAgICAgIHRoaXMuY2FjaGUubm90aWZ5KHtcbiAgICAgICAgdHlwZTogJ29ic2VydmVyQWRkZWQnLFxuICAgICAgICBxdWVyeTogdGhpcyxcbiAgICAgICAgb2JzZXJ2ZXJcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZU9ic2VydmVyKG9ic2VydmVyKSB7XG4gICAgaWYgKHRoaXMub2JzZXJ2ZXJzLmluY2x1ZGVzKG9ic2VydmVyKSkge1xuICAgICAgdGhpcy5vYnNlcnZlcnMgPSB0aGlzLm9ic2VydmVycy5maWx0ZXIoeCA9PiB4ICE9PSBvYnNlcnZlcik7XG5cbiAgICAgIGlmICghdGhpcy5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICAgIC8vIElmIHRoZSB0cmFuc3BvcnQgbGF5ZXIgZG9lcyBub3Qgc3VwcG9ydCBjYW5jZWxsYXRpb25cbiAgICAgICAgLy8gd2UnbGwgbGV0IHRoZSBxdWVyeSBjb250aW51ZSBzbyB0aGUgcmVzdWx0IGNhbiBiZSBjYWNoZWRcbiAgICAgICAgaWYgKHRoaXMucmV0cnllcikge1xuICAgICAgICAgIGlmICh0aGlzLmFib3J0U2lnbmFsQ29uc3VtZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmV0cnllci5jYW5jZWwoe1xuICAgICAgICAgICAgICByZXZlcnQ6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJldHJ5ZXIuY2FuY2VsUmV0cnkoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjaGVkdWxlR2MoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYWNoZS5ub3RpZnkoe1xuICAgICAgICB0eXBlOiAnb2JzZXJ2ZXJSZW1vdmVkJyxcbiAgICAgICAgcXVlcnk6IHRoaXMsXG4gICAgICAgIG9ic2VydmVyXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRPYnNlcnZlcnNDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNlcnZlcnMubGVuZ3RoO1xuICB9XG5cbiAgaW52YWxpZGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUuaXNJbnZhbGlkYXRlZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6ICdpbnZhbGlkYXRlJ1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZmV0Y2gob3B0aW9ucywgZmV0Y2hPcHRpb25zKSB7XG4gICAgdmFyIF90aGlzJG9wdGlvbnMkYmVoYXZpbywgX2NvbnRleHQkZmV0Y2hPcHRpb25zO1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuZmV0Y2hTdGF0dXMgIT09ICdpZGxlJykge1xuICAgICAgaWYgKHRoaXMuc3RhdGUuZGF0YVVwZGF0ZWRBdCAmJiBmZXRjaE9wdGlvbnMgIT0gbnVsbCAmJiBmZXRjaE9wdGlvbnMuY2FuY2VsUmVmZXRjaCkge1xuICAgICAgICAvLyBTaWxlbnRseSBjYW5jZWwgY3VycmVudCBmZXRjaCBpZiB0aGUgdXNlciB3YW50cyB0byBjYW5jZWwgcmVmZXRjaGVzXG4gICAgICAgIHRoaXMuY2FuY2VsKHtcbiAgICAgICAgICBzaWxlbnQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvbWlzZSkge1xuICAgICAgICB2YXIgX3RoaXMkcmV0cnllcjQ7XG5cbiAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgcmV0cmllcyB0aGF0IHdlcmUgcG90ZW50aWFsbHkgY2FuY2VsbGVkIGR1ZSB0byB1bm1vdW50cyBjYW4gY29udGludWVcbiAgICAgICAgKF90aGlzJHJldHJ5ZXI0ID0gdGhpcy5yZXRyeWVyKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkcmV0cnllcjQuY29udGludWVSZXRyeSgpOyAvLyBSZXR1cm4gY3VycmVudCBwcm9taXNlIGlmIHdlIGFyZSBhbHJlYWR5IGZldGNoaW5nXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvbWlzZTtcbiAgICAgIH1cbiAgICB9IC8vIFVwZGF0ZSBjb25maWcgaWYgcGFzc2VkLCBvdGhlcndpc2UgdGhlIGNvbmZpZyBmcm9tIHRoZSBsYXN0IGV4ZWN1dGlvbiBpcyB1c2VkXG5cblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucyk7XG4gICAgfSAvLyBVc2UgdGhlIG9wdGlvbnMgZnJvbSB0aGUgZmlyc3Qgb2JzZXJ2ZXIgd2l0aCBhIHF1ZXJ5IGZ1bmN0aW9uIGlmIG5vIGZ1bmN0aW9uIGlzIGZvdW5kLlxuICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHRoZSBxdWVyeSBpcyBoeWRyYXRlZCBvciBjcmVhdGVkIHdpdGggc2V0UXVlcnlEYXRhLlxuXG5cbiAgICBpZiAoIXRoaXMub3B0aW9ucy5xdWVyeUZuKSB7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IHRoaXMub2JzZXJ2ZXJzLmZpbmQoeCA9PiB4Lm9wdGlvbnMucXVlcnlGbik7XG5cbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICB0aGlzLnNldE9wdGlvbnMob2JzZXJ2ZXIub3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy5xdWVyeUtleSkpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiQXMgb2YgdjQsIHF1ZXJ5S2V5IG5lZWRzIHRvIGJlIGFuIEFycmF5LiBJZiB5b3UgYXJlIHVzaW5nIGEgc3RyaW5nIGxpa2UgJ3JlcG9EYXRhJywgcGxlYXNlIGNoYW5nZSBpdCB0byBhbiBBcnJheSwgZS5nLiBbJ3JlcG9EYXRhJ11cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gZ2V0QWJvcnRDb250cm9sbGVyKCk7IC8vIENyZWF0ZSBxdWVyeSBmdW5jdGlvbiBjb250ZXh0XG5cbiAgICBjb25zdCBxdWVyeUZuQ29udGV4dCA9IHtcbiAgICAgIHF1ZXJ5S2V5OiB0aGlzLnF1ZXJ5S2V5LFxuICAgICAgcGFnZVBhcmFtOiB1bmRlZmluZWQsXG4gICAgICBtZXRhOiB0aGlzLm1ldGFcbiAgICB9OyAvLyBBZGRzIGFuIGVudW1lcmFibGUgc2lnbmFsIHByb3BlcnR5IHRvIHRoZSBvYmplY3QgdGhhdFxuICAgIC8vIHdoaWNoIHNldHMgYWJvcnRTaWduYWxDb25zdW1lZCB0byB0cnVlIHdoZW4gdGhlIHNpZ25hbFxuICAgIC8vIGlzIHJlYWQuXG5cbiAgICBjb25zdCBhZGRTaWduYWxQcm9wZXJ0eSA9IG9iamVjdCA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCAnc2lnbmFsJywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAoYWJvcnRDb250cm9sbGVyKSB7XG4gICAgICAgICAgICB0aGlzLmFib3J0U2lnbmFsQ29uc3VtZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGFkZFNpZ25hbFByb3BlcnR5KHF1ZXJ5Rm5Db250ZXh0KTsgLy8gQ3JlYXRlIGZldGNoIGZ1bmN0aW9uXG5cbiAgICBjb25zdCBmZXRjaEZuID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMucXVlcnlGbikge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXCJNaXNzaW5nIHF1ZXJ5Rm4gZm9yIHF1ZXJ5S2V5ICdcIiArIHRoaXMub3B0aW9ucy5xdWVyeUhhc2ggKyBcIidcIik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWJvcnRTaWduYWxDb25zdW1lZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5xdWVyeUZuKHF1ZXJ5Rm5Db250ZXh0KTtcbiAgICB9OyAvLyBUcmlnZ2VyIGJlaGF2aW9yIGhvb2tcblxuXG4gICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgIGZldGNoT3B0aW9ucyxcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgIHF1ZXJ5S2V5OiB0aGlzLnF1ZXJ5S2V5LFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICBmZXRjaEZuXG4gICAgfTtcbiAgICBhZGRTaWduYWxQcm9wZXJ0eShjb250ZXh0KTtcbiAgICAoX3RoaXMkb3B0aW9ucyRiZWhhdmlvID0gdGhpcy5vcHRpb25zLmJlaGF2aW9yKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkb3B0aW9ucyRiZWhhdmlvLm9uRmV0Y2goY29udGV4dCk7IC8vIFN0b3JlIHN0YXRlIGluIGNhc2UgdGhlIGN1cnJlbnQgZmV0Y2ggbmVlZHMgdG8gYmUgcmV2ZXJ0ZWRcblxuICAgIHRoaXMucmV2ZXJ0U3RhdGUgPSB0aGlzLnN0YXRlOyAvLyBTZXQgdG8gZmV0Y2hpbmcgc3RhdGUgaWYgbm90IGFscmVhZHkgaW4gaXRcblxuICAgIGlmICh0aGlzLnN0YXRlLmZldGNoU3RhdHVzID09PSAnaWRsZScgfHwgdGhpcy5zdGF0ZS5mZXRjaE1ldGEgIT09ICgoX2NvbnRleHQkZmV0Y2hPcHRpb25zID0gY29udGV4dC5mZXRjaE9wdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfY29udGV4dCRmZXRjaE9wdGlvbnMubWV0YSkpIHtcbiAgICAgIHZhciBfY29udGV4dCRmZXRjaE9wdGlvbnMyO1xuXG4gICAgICB0aGlzLmRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogJ2ZldGNoJyxcbiAgICAgICAgbWV0YTogKF9jb250ZXh0JGZldGNoT3B0aW9uczIgPSBjb250ZXh0LmZldGNoT3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jb250ZXh0JGZldGNoT3B0aW9uczIubWV0YVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb25FcnJvciA9IGVycm9yID0+IHtcbiAgICAgIC8vIE9wdGltaXN0aWNhbGx5IHVwZGF0ZSBzdGF0ZSBpZiBuZWVkZWRcbiAgICAgIGlmICghKGlzQ2FuY2VsbGVkRXJyb3IoZXJyb3IpICYmIGVycm9yLnNpbGVudCkpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICBlcnJvcjogZXJyb3JcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNDYW5jZWxsZWRFcnJvcihlcnJvcikpIHtcbiAgICAgICAgdmFyIF90aGlzJGNhY2hlJGNvbmZpZyRvbiwgX3RoaXMkY2FjaGUkY29uZmlnLCBfdGhpcyRjYWNoZSRjb25maWckb24yLCBfdGhpcyRjYWNoZSRjb25maWcyO1xuXG4gICAgICAgIC8vIE5vdGlmeSBjYWNoZSBjYWxsYmFja1xuICAgICAgICAoX3RoaXMkY2FjaGUkY29uZmlnJG9uID0gKF90aGlzJGNhY2hlJGNvbmZpZyA9IHRoaXMuY2FjaGUuY29uZmlnKS5vbkVycm9yKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkY2FjaGUkY29uZmlnJG9uLmNhbGwoX3RoaXMkY2FjaGUkY29uZmlnLCBlcnJvciwgdGhpcyk7XG4gICAgICAgIChfdGhpcyRjYWNoZSRjb25maWckb24yID0gKF90aGlzJGNhY2hlJGNvbmZpZzIgPSB0aGlzLmNhY2hlLmNvbmZpZykub25TZXR0bGVkKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkY2FjaGUkY29uZmlnJG9uMi5jYWxsKF90aGlzJGNhY2hlJGNvbmZpZzIsIHRoaXMuc3RhdGUuZGF0YSwgZXJyb3IsIHRoaXMpO1xuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5pc0ZldGNoaW5nT3B0aW1pc3RpYykge1xuICAgICAgICAvLyBTY2hlZHVsZSBxdWVyeSBnYyBhZnRlciBmZXRjaGluZ1xuICAgICAgICB0aGlzLnNjaGVkdWxlR2MoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0ZldGNoaW5nT3B0aW1pc3RpYyA9IGZhbHNlO1xuICAgIH07IC8vIFRyeSB0byBmZXRjaCB0aGUgZGF0YVxuXG5cbiAgICB0aGlzLnJldHJ5ZXIgPSBjcmVhdGVSZXRyeWVyKHtcbiAgICAgIGZuOiBjb250ZXh0LmZldGNoRm4sXG4gICAgICBhYm9ydDogYWJvcnRDb250cm9sbGVyID09IG51bGwgPyB2b2lkIDAgOiBhYm9ydENvbnRyb2xsZXIuYWJvcnQuYmluZChhYm9ydENvbnRyb2xsZXIpLFxuICAgICAgb25TdWNjZXNzOiBkYXRhID0+IHtcbiAgICAgICAgdmFyIF90aGlzJGNhY2hlJGNvbmZpZyRvbjMsIF90aGlzJGNhY2hlJGNvbmZpZzMsIF90aGlzJGNhY2hlJGNvbmZpZyRvbjQsIF90aGlzJGNhY2hlJGNvbmZpZzQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIlF1ZXJ5IGRhdGEgY2Fubm90IGJlIHVuZGVmaW5lZC4gUGxlYXNlIG1ha2Ugc3VyZSB0byByZXR1cm4gYSB2YWx1ZSBvdGhlciB0aGFuIHVuZGVmaW5lZCBmcm9tIHlvdXIgcXVlcnkgZnVuY3Rpb24uIEFmZmVjdGVkIHF1ZXJ5IGtleTogXCIgKyB0aGlzLnF1ZXJ5SGFzaCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgb25FcnJvcihuZXcgRXJyb3IodGhpcy5xdWVyeUhhc2ggKyBcIiBkYXRhIGlzIHVuZGVmaW5lZFwiKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXREYXRhKGRhdGEpOyAvLyBOb3RpZnkgY2FjaGUgY2FsbGJhY2tcblxuICAgICAgICAoX3RoaXMkY2FjaGUkY29uZmlnJG9uMyA9IChfdGhpcyRjYWNoZSRjb25maWczID0gdGhpcy5jYWNoZS5jb25maWcpLm9uU3VjY2VzcykgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJGNhY2hlJGNvbmZpZyRvbjMuY2FsbChfdGhpcyRjYWNoZSRjb25maWczLCBkYXRhLCB0aGlzKTtcbiAgICAgICAgKF90aGlzJGNhY2hlJGNvbmZpZyRvbjQgPSAoX3RoaXMkY2FjaGUkY29uZmlnNCA9IHRoaXMuY2FjaGUuY29uZmlnKS5vblNldHRsZWQpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcyRjYWNoZSRjb25maWckb240LmNhbGwoX3RoaXMkY2FjaGUkY29uZmlnNCwgZGF0YSwgdGhpcy5zdGF0ZS5lcnJvciwgdGhpcyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzRmV0Y2hpbmdPcHRpbWlzdGljKSB7XG4gICAgICAgICAgLy8gU2NoZWR1bGUgcXVlcnkgZ2MgYWZ0ZXIgZmV0Y2hpbmdcbiAgICAgICAgICB0aGlzLnNjaGVkdWxlR2MoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNGZXRjaGluZ09wdGltaXN0aWMgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBvbkVycm9yLFxuICAgICAgb25GYWlsOiAoZmFpbHVyZUNvdW50LCBlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiAnZmFpbGVkJyxcbiAgICAgICAgICBmYWlsdXJlQ291bnQsXG4gICAgICAgICAgZXJyb3JcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgb25QYXVzZTogKCkgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiAncGF1c2UnXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIG9uQ29udGludWU6ICgpID0+IHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogJ2NvbnRpbnVlJ1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICByZXRyeTogY29udGV4dC5vcHRpb25zLnJldHJ5LFxuICAgICAgcmV0cnlEZWxheTogY29udGV4dC5vcHRpb25zLnJldHJ5RGVsYXksXG4gICAgICBuZXR3b3JrTW9kZTogY29udGV4dC5vcHRpb25zLm5ldHdvcmtNb2RlXG4gICAgfSk7XG4gICAgdGhpcy5wcm9taXNlID0gdGhpcy5yZXRyeWVyLnByb21pc2U7XG4gICAgcmV0dXJuIHRoaXMucHJvbWlzZTtcbiAgfVxuXG4gIGRpc3BhdGNoKGFjdGlvbikge1xuICAgIGNvbnN0IHJlZHVjZXIgPSBzdGF0ZSA9PiB7XG4gICAgICB2YXIgX2FjdGlvbiRtZXRhLCBfYWN0aW9uJGRhdGFVcGRhdGVkQXQ7XG5cbiAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGZldGNoRmFpbHVyZUNvdW50OiBhY3Rpb24uZmFpbHVyZUNvdW50LFxuICAgICAgICAgICAgZmV0Y2hGYWlsdXJlUmVhc29uOiBhY3Rpb24uZXJyb3JcbiAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgJ3BhdXNlJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGZldGNoU3RhdHVzOiAncGF1c2VkJ1xuICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSAnY29udGludWUnOlxuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLFxuICAgICAgICAgICAgZmV0Y2hTdGF0dXM6ICdmZXRjaGluZydcbiAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgJ2ZldGNoJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGZldGNoRmFpbHVyZUNvdW50OiAwLFxuICAgICAgICAgICAgZmV0Y2hGYWlsdXJlUmVhc29uOiBudWxsLFxuICAgICAgICAgICAgZmV0Y2hNZXRhOiAoX2FjdGlvbiRtZXRhID0gYWN0aW9uLm1ldGEpICE9IG51bGwgPyBfYWN0aW9uJG1ldGEgOiBudWxsLFxuICAgICAgICAgICAgZmV0Y2hTdGF0dXM6IGNhbkZldGNoKHRoaXMub3B0aW9ucy5uZXR3b3JrTW9kZSkgPyAnZmV0Y2hpbmcnIDogJ3BhdXNlZCcsXG4gICAgICAgICAgICAuLi4oIXN0YXRlLmRhdGFVcGRhdGVkQXQgJiYge1xuICAgICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgICAgc3RhdHVzOiAnbG9hZGluZydcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfTtcblxuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGRhdGE6IGFjdGlvbi5kYXRhLFxuICAgICAgICAgICAgZGF0YVVwZGF0ZUNvdW50OiBzdGF0ZS5kYXRhVXBkYXRlQ291bnQgKyAxLFxuICAgICAgICAgICAgZGF0YVVwZGF0ZWRBdDogKF9hY3Rpb24kZGF0YVVwZGF0ZWRBdCA9IGFjdGlvbi5kYXRhVXBkYXRlZEF0KSAhPSBudWxsID8gX2FjdGlvbiRkYXRhVXBkYXRlZEF0IDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgaXNJbnZhbGlkYXRlZDogZmFsc2UsXG4gICAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIC4uLighYWN0aW9uLm1hbnVhbCAmJiB7XG4gICAgICAgICAgICAgIGZldGNoU3RhdHVzOiAnaWRsZScsXG4gICAgICAgICAgICAgIGZldGNoRmFpbHVyZUNvdW50OiAwLFxuICAgICAgICAgICAgICBmZXRjaEZhaWx1cmVSZWFzb246IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfTtcblxuICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBhY3Rpb24uZXJyb3I7XG5cbiAgICAgICAgICBpZiAoaXNDYW5jZWxsZWRFcnJvcihlcnJvcikgJiYgZXJyb3IucmV2ZXJ0ICYmIHRoaXMucmV2ZXJ0U3RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnRoaXMucmV2ZXJ0U3RhdGVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsXG4gICAgICAgICAgICBlcnJvcjogZXJyb3IsXG4gICAgICAgICAgICBlcnJvclVwZGF0ZUNvdW50OiBzdGF0ZS5lcnJvclVwZGF0ZUNvdW50ICsgMSxcbiAgICAgICAgICAgIGVycm9yVXBkYXRlZEF0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgZmV0Y2hGYWlsdXJlQ291bnQ6IHN0YXRlLmZldGNoRmFpbHVyZUNvdW50ICsgMSxcbiAgICAgICAgICAgIGZldGNoRmFpbHVyZVJlYXNvbjogZXJyb3IsXG4gICAgICAgICAgICBmZXRjaFN0YXR1czogJ2lkbGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnZXJyb3InXG4gICAgICAgICAgfTtcblxuICAgICAgICBjYXNlICdpbnZhbGlkYXRlJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGlzSW52YWxpZGF0ZWQ6IHRydWVcbiAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgJ3NldFN0YXRlJzpcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSxcbiAgICAgICAgICAgIC4uLmFjdGlvbi5zdGF0ZVxuICAgICAgICAgIH07XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMuc3RhdGUgPSByZWR1Y2VyKHRoaXMuc3RhdGUpO1xuICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2goKCkgPT4ge1xuICAgICAgdGhpcy5vYnNlcnZlcnMuZm9yRWFjaChvYnNlcnZlciA9PiB7XG4gICAgICAgIG9ic2VydmVyLm9uUXVlcnlVcGRhdGUoYWN0aW9uKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jYWNoZS5ub3RpZnkoe1xuICAgICAgICBxdWVyeTogdGhpcyxcbiAgICAgICAgdHlwZTogJ3VwZGF0ZWQnLFxuICAgICAgICBhY3Rpb25cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdFN0YXRlKG9wdGlvbnMpIHtcbiAgY29uc3QgZGF0YSA9IHR5cGVvZiBvcHRpb25zLmluaXRpYWxEYXRhID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5pbml0aWFsRGF0YSgpIDogb3B0aW9ucy5pbml0aWFsRGF0YTtcbiAgY29uc3QgaGFzRGF0YSA9IHR5cGVvZiBkYXRhICE9PSAndW5kZWZpbmVkJztcbiAgY29uc3QgaW5pdGlhbERhdGFVcGRhdGVkQXQgPSBoYXNEYXRhID8gdHlwZW9mIG9wdGlvbnMuaW5pdGlhbERhdGFVcGRhdGVkQXQgPT09ICdmdW5jdGlvbicgPyBvcHRpb25zLmluaXRpYWxEYXRhVXBkYXRlZEF0KCkgOiBvcHRpb25zLmluaXRpYWxEYXRhVXBkYXRlZEF0IDogMDtcbiAgcmV0dXJuIHtcbiAgICBkYXRhLFxuICAgIGRhdGFVcGRhdGVDb3VudDogMCxcbiAgICBkYXRhVXBkYXRlZEF0OiBoYXNEYXRhID8gaW5pdGlhbERhdGFVcGRhdGVkQXQgIT0gbnVsbCA/IGluaXRpYWxEYXRhVXBkYXRlZEF0IDogRGF0ZS5ub3coKSA6IDAsXG4gICAgZXJyb3I6IG51bGwsXG4gICAgZXJyb3JVcGRhdGVDb3VudDogMCxcbiAgICBlcnJvclVwZGF0ZWRBdDogMCxcbiAgICBmZXRjaEZhaWx1cmVDb3VudDogMCxcbiAgICBmZXRjaEZhaWx1cmVSZWFzb246IG51bGwsXG4gICAgZmV0Y2hNZXRhOiBudWxsLFxuICAgIGlzSW52YWxpZGF0ZWQ6IGZhbHNlLFxuICAgIHN0YXR1czogaGFzRGF0YSA/ICdzdWNjZXNzJyA6ICdsb2FkaW5nJyxcbiAgICBmZXRjaFN0YXR1czogJ2lkbGUnXG4gIH07XG59XG5cbmV4cG9ydCB7IFF1ZXJ5IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeS5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/query.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/queryCache.mjs": -/*!********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/queryCache.mjs ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryCache: function() { return /* binding */ QueryCache; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _query_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./query.mjs */ \"./node_modules/@tanstack/query-core/build/lib/query.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n\n\n\n\n\n// CLASS\nclass QueryCache extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.queries = [];\n this.queriesMap = {};\n }\n\n build(client, options, state) {\n var _options$queryHash;\n\n const queryKey = options.queryKey;\n const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.hashQueryKeyByOptions)(queryKey, options);\n let query = this.get(queryHash);\n\n if (!query) {\n query = new _query_mjs__WEBPACK_IMPORTED_MODULE_2__.Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n\n return query;\n }\n\n add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'added',\n query\n });\n }\n }\n\n remove(query) {\n const queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(x => x !== query);\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'removed',\n query\n });\n }\n }\n\n clear() {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__.notifyManager.batch(() => {\n this.queries.forEach(query => {\n this.remove(query);\n });\n });\n }\n\n get(queryHash) {\n return this.queriesMap[queryHash];\n }\n\n getAll() {\n return this.queries;\n }\n\n find(arg1, arg2) {\n const [filters] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.parseFilterArgs)(arg1, arg2);\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(query => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.matchQuery)(filters, query));\n }\n\n findAll(arg1, arg2) {\n const [filters] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.parseFilterArgs)(arg1, arg2);\n return Object.keys(filters).length > 0 ? this.queries.filter(query => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.matchQuery)(filters, query)) : this.queries;\n }\n\n notify(event) {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__.notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(event);\n });\n });\n }\n\n onFocus() {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__.notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onFocus();\n });\n });\n }\n\n onOnline() {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_3__.notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onOnline();\n });\n });\n }\n\n}\n\n\n//# sourceMappingURL=queryCache.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5Q2FjaGUubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWlGO0FBQzdDO0FBQ2dCO0FBQ0Y7O0FBRWxEO0FBQ0EseUJBQXlCLDJEQUFZO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsOEZBQThGLGlFQUFxQjtBQUNuSDs7QUFFQTtBQUNBLGtCQUFrQiw2Q0FBSztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLDZEQUFhO0FBQ2pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0IsMkRBQWU7O0FBRXJDO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0Msc0RBQVU7QUFDaEQ7O0FBRUE7QUFDQSxzQkFBc0IsMkRBQWU7QUFDckMsMEVBQTBFLHNEQUFVO0FBQ3BGOztBQUVBO0FBQ0EsSUFBSSw2REFBYTtBQUNqQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDs7QUFFQTtBQUNBLElBQUksNkRBQWE7QUFDakI7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxJQUFJLDZEQUFhO0FBQ2pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBOztBQUVzQjtBQUN0QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5Q2FjaGUubWpzPzdmODkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFzaFF1ZXJ5S2V5QnlPcHRpb25zLCBwYXJzZUZpbHRlckFyZ3MsIG1hdGNoUXVlcnkgfSBmcm9tICcuL3V0aWxzLm1qcyc7XG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gJy4vcXVlcnkubWpzJztcbmltcG9ydCB7IG5vdGlmeU1hbmFnZXIgfSBmcm9tICcuL25vdGlmeU1hbmFnZXIubWpzJztcbmltcG9ydCB7IFN1YnNjcmliYWJsZSB9IGZyb20gJy4vc3Vic2NyaWJhYmxlLm1qcyc7XG5cbi8vIENMQVNTXG5jbGFzcyBRdWVyeUNhY2hlIGV4dGVuZHMgU3Vic2NyaWJhYmxlIHtcbiAgY29uc3RydWN0b3IoY29uZmlnKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZyB8fCB7fTtcbiAgICB0aGlzLnF1ZXJpZXMgPSBbXTtcbiAgICB0aGlzLnF1ZXJpZXNNYXAgPSB7fTtcbiAgfVxuXG4gIGJ1aWxkKGNsaWVudCwgb3B0aW9ucywgc3RhdGUpIHtcbiAgICB2YXIgX29wdGlvbnMkcXVlcnlIYXNoO1xuXG4gICAgY29uc3QgcXVlcnlLZXkgPSBvcHRpb25zLnF1ZXJ5S2V5O1xuICAgIGNvbnN0IHF1ZXJ5SGFzaCA9IChfb3B0aW9ucyRxdWVyeUhhc2ggPSBvcHRpb25zLnF1ZXJ5SGFzaCkgIT0gbnVsbCA/IF9vcHRpb25zJHF1ZXJ5SGFzaCA6IGhhc2hRdWVyeUtleUJ5T3B0aW9ucyhxdWVyeUtleSwgb3B0aW9ucyk7XG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5nZXQocXVlcnlIYXNoKTtcblxuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHF1ZXJ5ID0gbmV3IFF1ZXJ5KHtcbiAgICAgICAgY2FjaGU6IHRoaXMsXG4gICAgICAgIGxvZ2dlcjogY2xpZW50LmdldExvZ2dlcigpLFxuICAgICAgICBxdWVyeUtleSxcbiAgICAgICAgcXVlcnlIYXNoLFxuICAgICAgICBvcHRpb25zOiBjbGllbnQuZGVmYXVsdFF1ZXJ5T3B0aW9ucyhvcHRpb25zKSxcbiAgICAgICAgc3RhdGUsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiBjbGllbnQuZ2V0UXVlcnlEZWZhdWx0cyhxdWVyeUtleSlcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGQocXVlcnkpO1xuICAgIH1cblxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxuXG4gIGFkZChxdWVyeSkge1xuICAgIGlmICghdGhpcy5xdWVyaWVzTWFwW3F1ZXJ5LnF1ZXJ5SGFzaF0pIHtcbiAgICAgIHRoaXMucXVlcmllc01hcFtxdWVyeS5xdWVyeUhhc2hdID0gcXVlcnk7XG4gICAgICB0aGlzLnF1ZXJpZXMucHVzaChxdWVyeSk7XG4gICAgICB0aGlzLm5vdGlmeSh7XG4gICAgICAgIHR5cGU6ICdhZGRlZCcsXG4gICAgICAgIHF1ZXJ5XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZW1vdmUocXVlcnkpIHtcbiAgICBjb25zdCBxdWVyeUluTWFwID0gdGhpcy5xdWVyaWVzTWFwW3F1ZXJ5LnF1ZXJ5SGFzaF07XG5cbiAgICBpZiAocXVlcnlJbk1hcCkge1xuICAgICAgcXVlcnkuZGVzdHJveSgpO1xuICAgICAgdGhpcy5xdWVyaWVzID0gdGhpcy5xdWVyaWVzLmZpbHRlcih4ID0+IHggIT09IHF1ZXJ5KTtcblxuICAgICAgaWYgKHF1ZXJ5SW5NYXAgPT09IHF1ZXJ5KSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnF1ZXJpZXNNYXBbcXVlcnkucXVlcnlIYXNoXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5ub3RpZnkoe1xuICAgICAgICB0eXBlOiAncmVtb3ZlZCcsXG4gICAgICAgIHF1ZXJ5XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIHRoaXMucXVlcmllcy5mb3JFYWNoKHF1ZXJ5ID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmUocXVlcnkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQocXVlcnlIYXNoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllc01hcFtxdWVyeUhhc2hdO1xuICB9XG5cbiAgZ2V0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXM7XG4gIH1cblxuICBmaW5kKGFyZzEsIGFyZzIpIHtcbiAgICBjb25zdCBbZmlsdGVyc10gPSBwYXJzZUZpbHRlckFyZ3MoYXJnMSwgYXJnMik7XG5cbiAgICBpZiAodHlwZW9mIGZpbHRlcnMuZXhhY3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBmaWx0ZXJzLmV4YWN0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5xdWVyaWVzLmZpbmQocXVlcnkgPT4gbWF0Y2hRdWVyeShmaWx0ZXJzLCBxdWVyeSkpO1xuICB9XG5cbiAgZmluZEFsbChhcmcxLCBhcmcyKSB7XG4gICAgY29uc3QgW2ZpbHRlcnNdID0gcGFyc2VGaWx0ZXJBcmdzKGFyZzEsIGFyZzIpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhmaWx0ZXJzKS5sZW5ndGggPiAwID8gdGhpcy5xdWVyaWVzLmZpbHRlcihxdWVyeSA9PiBtYXRjaFF1ZXJ5KGZpbHRlcnMsIHF1ZXJ5KSkgOiB0aGlzLnF1ZXJpZXM7XG4gIH1cblxuICBub3RpZnkoZXZlbnQpIHtcbiAgICBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKHtcbiAgICAgICAgbGlzdGVuZXJcbiAgICAgIH0pID0+IHtcbiAgICAgICAgbGlzdGVuZXIoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2goKCkgPT4ge1xuICAgICAgdGhpcy5xdWVyaWVzLmZvckVhY2gocXVlcnkgPT4ge1xuICAgICAgICBxdWVyeS5vbkZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uT25saW5lKCkge1xuICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2goKCkgPT4ge1xuICAgICAgdGhpcy5xdWVyaWVzLmZvckVhY2gocXVlcnkgPT4ge1xuICAgICAgICBxdWVyeS5vbk9ubGluZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxufVxuXG5leHBvcnQgeyBRdWVyeUNhY2hlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeUNhY2hlLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/queryCache.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/queryClient.mjs": -/*!*********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/queryClient.mjs ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryClient: function() { return /* binding */ QueryClient; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _queryCache_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./queryCache.mjs */ \"./node_modules/@tanstack/query-core/build/lib/queryCache.mjs\");\n/* harmony import */ var _mutationCache_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mutationCache.mjs */ \"./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs\");\n/* harmony import */ var _focusManager_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./focusManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/focusManager.mjs\");\n/* harmony import */ var _onlineManager_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onlineManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./infiniteQueryBehavior.mjs */ \"./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs\");\n/* harmony import */ var _logger_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger.mjs */ \"./node_modules/@tanstack/query-core/build/lib/logger.mjs\");\n\n\n\n\n\n\n\n\n\n// CLASS\nclass QueryClient {\n constructor(config = {}) {\n this.queryCache = config.queryCache || new _queryCache_mjs__WEBPACK_IMPORTED_MODULE_0__.QueryCache();\n this.mutationCache = config.mutationCache || new _mutationCache_mjs__WEBPACK_IMPORTED_MODULE_1__.MutationCache();\n this.logger = config.logger || _logger_mjs__WEBPACK_IMPORTED_MODULE_2__.defaultLogger;\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n this.mountCount = 0;\n\n if ( true && config.logger) {\n this.logger.error(\"Passing a custom logger has been deprecated and will be removed in the next major version.\");\n }\n }\n\n mount() {\n this.mountCount++;\n if (this.mountCount !== 1) return;\n this.unsubscribeFocus = _focusManager_mjs__WEBPACK_IMPORTED_MODULE_3__.focusManager.subscribe(() => {\n if (_focusManager_mjs__WEBPACK_IMPORTED_MODULE_3__.focusManager.isFocused()) {\n this.resumePausedMutations();\n this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = _onlineManager_mjs__WEBPACK_IMPORTED_MODULE_4__.onlineManager.subscribe(() => {\n if (_onlineManager_mjs__WEBPACK_IMPORTED_MODULE_4__.onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.queryCache.onOnline();\n }\n });\n }\n\n unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n this.mountCount--;\n if (this.mountCount !== 0) return;\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n this.unsubscribeFocus = undefined;\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n this.unsubscribeOnline = undefined;\n }\n\n isFetching(arg1, arg2) {\n const [filters] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseFilterArgs)(arg1, arg2);\n filters.fetchStatus = 'fetching';\n return this.queryCache.findAll(filters).length;\n }\n\n isMutating(filters) {\n return this.mutationCache.findAll({ ...filters,\n fetching: true\n }).length;\n }\n\n getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n }\n\n ensureQueryData(arg1, arg2, arg3) {\n const parsedOptions = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseQueryArgs)(arg1, arg2, arg3);\n const cachedData = this.getQueryData(parsedOptions.queryKey);\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(parsedOptions);\n }\n\n getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n\n setQueryData(queryKey, updater, options) {\n const query = this.queryCache.find(queryKey);\n const prevData = query == null ? void 0 : query.state.data;\n const data = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.functionalUpdate)(updater, prevData);\n\n if (typeof data === 'undefined') {\n return undefined;\n }\n\n const parsedOptions = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseQueryArgs)(queryKey);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(data, { ...options,\n manual: true\n });\n }\n\n setQueriesData(queryKeyOrFilters, updater, options) {\n return _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n\n getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n }\n\n removeQueries(arg1, arg2) {\n const [filters] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseFilterArgs)(arg1, arg2);\n const queryCache = this.queryCache;\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n\n resetQueries(arg1, arg2, arg3) {\n const [filters, options] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseFilterArgs)(arg1, arg2, arg3);\n const queryCache = this.queryCache;\n const refetchFilters = {\n type: 'active',\n ...filters\n };\n return _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n cancelQueries(arg1, arg2, arg3) {\n const [filters, cancelOptions = {}] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseFilterArgs)(arg1, arg2, arg3);\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n const promises = _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => this.queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));\n return Promise.all(promises).then(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop).catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop);\n }\n\n invalidateQueries(arg1, arg2, arg3) {\n const [filters, options] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseFilterArgs)(arg1, arg2, arg3);\n return _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n var _ref, _filters$refetchType;\n\n this.queryCache.findAll(filters).forEach(query => {\n query.invalidate();\n });\n\n if (filters.refetchType === 'none') {\n return Promise.resolve();\n }\n\n const refetchFilters = { ...filters,\n type: (_ref = (_filters$refetchType = filters.refetchType) != null ? _filters$refetchType : filters.type) != null ? _ref : 'active'\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n refetchQueries(arg1, arg2, arg3) {\n const [filters, options] = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseFilterArgs)(arg1, arg2, arg3);\n const promises = _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => this.queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => {\n var _options$cancelRefetc;\n\n return query.fetch(undefined, { ...options,\n cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true,\n meta: {\n refetchPage: filters.refetchPage\n }\n });\n }));\n let promise = Promise.all(promises).then(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop);\n\n if (!(options != null && options.throwOnError)) {\n promise = promise.catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop);\n }\n\n return promise;\n }\n\n fetchQuery(arg1, arg2, arg3) {\n const parsedOptions = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseQueryArgs)(arg1, arg2, arg3);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n const query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n\n prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop).catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop);\n }\n\n fetchInfiniteQuery(arg1, arg2, arg3) {\n const parsedOptions = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.parseQueryArgs)(arg1, arg2, arg3);\n parsedOptions.behavior = (0,_infiniteQueryBehavior_mjs__WEBPACK_IMPORTED_MODULE_7__.infiniteQueryBehavior)();\n return this.fetchQuery(parsedOptions);\n }\n\n prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop).catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.noop);\n }\n\n resumePausedMutations() {\n return this.mutationCache.resumePausedMutations();\n }\n\n getQueryCache() {\n return this.queryCache;\n }\n\n getMutationCache() {\n return this.mutationCache;\n }\n\n getLogger() {\n return this.logger;\n }\n\n getDefaultOptions() {\n return this.defaultOptions;\n }\n\n setDefaultOptions(options) {\n this.defaultOptions = options;\n }\n\n setQueryDefaults(queryKey, options) {\n const result = this.queryDefaults.find(x => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.hashQueryKey)(queryKey) === (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.hashQueryKey)(x.queryKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey,\n defaultOptions: options\n });\n }\n }\n\n getQueryDefaults(queryKey) {\n if (!queryKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.queryDefaults.find(x => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.partialMatchKey)(queryKey, x.queryKey)); // Additional checks and error in dev mode\n\n if (true) {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter(x => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.partialMatchKey)(queryKey, x.queryKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n this.logger.error(\"[QueryClient] Several query defaults match with key '\" + JSON.stringify(queryKey) + \"'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.\");\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n setMutationDefaults(mutationKey, options) {\n const result = this.mutationDefaults.find(x => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.hashQueryKey)(mutationKey) === (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.hashQueryKey)(x.mutationKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey,\n defaultOptions: options\n });\n }\n }\n\n getMutationDefaults(mutationKey) {\n if (!mutationKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.mutationDefaults.find(x => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.partialMatchKey)(mutationKey, x.mutationKey)); // Additional checks and error in dev mode\n\n if (true) {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter(x => (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.partialMatchKey)(mutationKey, x.mutationKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n this.logger.error(\"[QueryClient] Several mutation defaults match with key '\" + JSON.stringify(mutationKey) + \"'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.\");\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n defaultQueryOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n const defaultedOptions = { ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options == null ? void 0 : options.queryKey),\n ...options,\n _defaulted: true\n };\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_5__.hashQueryKeyByOptions)(defaultedOptions.queryKey, defaultedOptions);\n } // dependent default values\n\n\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';\n }\n\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense;\n }\n\n return defaultedOptions;\n }\n\n defaultMutationOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n return { ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options == null ? void 0 : options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n\n clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n }\n\n}\n\n\n//# sourceMappingURL=queryClient.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5Q2xpZW50Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBNEk7QUFDOUY7QUFDTTtBQUNGO0FBQ0U7QUFDQTtBQUNnQjtBQUN2Qjs7QUFFN0M7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QiwrQ0FBK0MsdURBQVU7QUFDekQscURBQXFELDZEQUFhO0FBQ2xFLG1DQUFtQyxzREFBYTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsMkRBQVk7QUFDeEMsVUFBVSwyREFBWTtBQUN0QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNkJBQTZCLDZEQUFhO0FBQzFDLFVBQVUsNkRBQWE7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0IsMkRBQWU7QUFDckM7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQiwwREFBYztBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsNERBQWdCOztBQUVqQztBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCLDBEQUFjO0FBQ3hDO0FBQ0EseUVBQXlFO0FBQ3pFO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsV0FBVyw2REFBYTtBQUN4QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0IsMkRBQWU7QUFDckM7QUFDQSxJQUFJLDZEQUFhO0FBQ2pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMOztBQUVBO0FBQ0EsK0JBQStCLDJEQUFlO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDZEQUFhO0FBQ3hCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxzQ0FBc0MsSUFBSSwyREFBZTs7QUFFekQ7QUFDQTtBQUNBOztBQUVBLHFCQUFxQiw2REFBYTtBQUNsQyxzQ0FBc0MsNENBQUksUUFBUSw0Q0FBSTtBQUN0RDs7QUFFQTtBQUNBLCtCQUErQiwyREFBZTtBQUM5QyxXQUFXLDZEQUFhO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTs7QUFFQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsK0JBQStCLDJEQUFlO0FBQzlDLHFCQUFxQiw2REFBYTtBQUNsQzs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLDZDQUE2Qyw0Q0FBSTs7QUFFakQ7QUFDQSw4QkFBOEIsNENBQUk7QUFDbEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQiwwREFBYztBQUN4QyxzRUFBc0U7O0FBRXRFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrREFBa0QsNENBQUksUUFBUSw0Q0FBSTtBQUNsRTs7QUFFQTtBQUNBLDBCQUEwQiwwREFBYztBQUN4Qyw2QkFBNkIsaUZBQXFCO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQSwwREFBMEQsNENBQUksUUFBUSw0Q0FBSTtBQUMxRTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdEQUFnRCx3REFBWSxlQUFlLHdEQUFZOztBQUV2RjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOLCtEQUErRCwyREFBZSx5QkFBeUI7O0FBRXZHLFFBQVEsSUFBcUM7QUFDN0M7QUFDQSw4REFBOEQsMkRBQWUseUJBQXlCOztBQUV0RztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsbURBQW1ELHdEQUFZLGtCQUFrQix3REFBWTs7QUFFN0Y7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTixrRUFBa0UsMkRBQWUsK0JBQStCOztBQUVoSCxRQUFRLElBQXFDO0FBQzdDO0FBQ0EsaUVBQWlFLDJEQUFlLCtCQUErQjs7QUFFL0c7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUMsaUVBQXFCO0FBQ3hELE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFdUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9xdWVyeUNsaWVudC5tanM/MDg0NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUZpbHRlckFyZ3MsIHBhcnNlUXVlcnlBcmdzLCBmdW5jdGlvbmFsVXBkYXRlLCBub29wLCBoYXNoUXVlcnlLZXksIHBhcnRpYWxNYXRjaEtleSwgaGFzaFF1ZXJ5S2V5QnlPcHRpb25zIH0gZnJvbSAnLi91dGlscy5tanMnO1xuaW1wb3J0IHsgUXVlcnlDYWNoZSB9IGZyb20gJy4vcXVlcnlDYWNoZS5tanMnO1xuaW1wb3J0IHsgTXV0YXRpb25DYWNoZSB9IGZyb20gJy4vbXV0YXRpb25DYWNoZS5tanMnO1xuaW1wb3J0IHsgZm9jdXNNYW5hZ2VyIH0gZnJvbSAnLi9mb2N1c01hbmFnZXIubWpzJztcbmltcG9ydCB7IG9ubGluZU1hbmFnZXIgfSBmcm9tICcuL29ubGluZU1hbmFnZXIubWpzJztcbmltcG9ydCB7IG5vdGlmeU1hbmFnZXIgfSBmcm9tICcuL25vdGlmeU1hbmFnZXIubWpzJztcbmltcG9ydCB7IGluZmluaXRlUXVlcnlCZWhhdmlvciB9IGZyb20gJy4vaW5maW5pdGVRdWVyeUJlaGF2aW9yLm1qcyc7XG5pbXBvcnQgeyBkZWZhdWx0TG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXIubWpzJztcblxuLy8gQ0xBU1NcbmNsYXNzIFF1ZXJ5Q2xpZW50IHtcbiAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICB0aGlzLnF1ZXJ5Q2FjaGUgPSBjb25maWcucXVlcnlDYWNoZSB8fCBuZXcgUXVlcnlDYWNoZSgpO1xuICAgIHRoaXMubXV0YXRpb25DYWNoZSA9IGNvbmZpZy5tdXRhdGlvbkNhY2hlIHx8IG5ldyBNdXRhdGlvbkNhY2hlKCk7XG4gICAgdGhpcy5sb2dnZXIgPSBjb25maWcubG9nZ2VyIHx8IGRlZmF1bHRMb2dnZXI7XG4gICAgdGhpcy5kZWZhdWx0T3B0aW9ucyA9IGNvbmZpZy5kZWZhdWx0T3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLnF1ZXJ5RGVmYXVsdHMgPSBbXTtcbiAgICB0aGlzLm11dGF0aW9uRGVmYXVsdHMgPSBbXTtcbiAgICB0aGlzLm1vdW50Q291bnQgPSAwO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLmxvZ2dlcikge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJQYXNzaW5nIGEgY3VzdG9tIGxvZ2dlciBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbi5cIik7XG4gICAgfVxuICB9XG5cbiAgbW91bnQoKSB7XG4gICAgdGhpcy5tb3VudENvdW50Kys7XG4gICAgaWYgKHRoaXMubW91bnRDb3VudCAhPT0gMSkgcmV0dXJuO1xuICAgIHRoaXMudW5zdWJzY3JpYmVGb2N1cyA9IGZvY3VzTWFuYWdlci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKGZvY3VzTWFuYWdlci5pc0ZvY3VzZWQoKSkge1xuICAgICAgICB0aGlzLnJlc3VtZVBhdXNlZE11dGF0aW9ucygpO1xuICAgICAgICB0aGlzLnF1ZXJ5Q2FjaGUub25Gb2N1cygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudW5zdWJzY3JpYmVPbmxpbmUgPSBvbmxpbmVNYW5hZ2VyLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAob25saW5lTWFuYWdlci5pc09ubGluZSgpKSB7XG4gICAgICAgIHRoaXMucmVzdW1lUGF1c2VkTXV0YXRpb25zKCk7XG4gICAgICAgIHRoaXMucXVlcnlDYWNoZS5vbk9ubGluZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdW5tb3VudCgpIHtcbiAgICB2YXIgX3RoaXMkdW5zdWJzY3JpYmVGb2N1LCBfdGhpcyR1bnN1YnNjcmliZU9ubGk7XG5cbiAgICB0aGlzLm1vdW50Q291bnQtLTtcbiAgICBpZiAodGhpcy5tb3VudENvdW50ICE9PSAwKSByZXR1cm47XG4gICAgKF90aGlzJHVuc3Vic2NyaWJlRm9jdSA9IHRoaXMudW5zdWJzY3JpYmVGb2N1cykgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJHVuc3Vic2NyaWJlRm9jdS5jYWxsKHRoaXMpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVGb2N1cyA9IHVuZGVmaW5lZDtcbiAgICAoX3RoaXMkdW5zdWJzY3JpYmVPbmxpID0gdGhpcy51bnN1YnNjcmliZU9ubGluZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJHVuc3Vic2NyaWJlT25saS5jYWxsKHRoaXMpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVPbmxpbmUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBpc0ZldGNoaW5nKGFyZzEsIGFyZzIpIHtcbiAgICBjb25zdCBbZmlsdGVyc10gPSBwYXJzZUZpbHRlckFyZ3MoYXJnMSwgYXJnMik7XG4gICAgZmlsdGVycy5mZXRjaFN0YXR1cyA9ICdmZXRjaGluZyc7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlDYWNoZS5maW5kQWxsKGZpbHRlcnMpLmxlbmd0aDtcbiAgfVxuXG4gIGlzTXV0YXRpbmcoZmlsdGVycykge1xuICAgIHJldHVybiB0aGlzLm11dGF0aW9uQ2FjaGUuZmluZEFsbCh7IC4uLmZpbHRlcnMsXG4gICAgICBmZXRjaGluZzogdHJ1ZVxuICAgIH0pLmxlbmd0aDtcbiAgfVxuXG4gIGdldFF1ZXJ5RGF0YShxdWVyeUtleSwgZmlsdGVycykge1xuICAgIHZhciBfdGhpcyRxdWVyeUNhY2hlJGZpbmQ7XG5cbiAgICByZXR1cm4gKF90aGlzJHF1ZXJ5Q2FjaGUkZmluZCA9IHRoaXMucXVlcnlDYWNoZS5maW5kKHF1ZXJ5S2V5LCBmaWx0ZXJzKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJHF1ZXJ5Q2FjaGUkZmluZC5zdGF0ZS5kYXRhO1xuICB9XG5cbiAgZW5zdXJlUXVlcnlEYXRhKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgICBjb25zdCBwYXJzZWRPcHRpb25zID0gcGFyc2VRdWVyeUFyZ3MoYXJnMSwgYXJnMiwgYXJnMyk7XG4gICAgY29uc3QgY2FjaGVkRGF0YSA9IHRoaXMuZ2V0UXVlcnlEYXRhKHBhcnNlZE9wdGlvbnMucXVlcnlLZXkpO1xuICAgIHJldHVybiBjYWNoZWREYXRhID8gUHJvbWlzZS5yZXNvbHZlKGNhY2hlZERhdGEpIDogdGhpcy5mZXRjaFF1ZXJ5KHBhcnNlZE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UXVlcmllc0RhdGEocXVlcnlLZXlPckZpbHRlcnMpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRRdWVyeUNhY2hlKCkuZmluZEFsbChxdWVyeUtleU9yRmlsdGVycykubWFwKCh7XG4gICAgICBxdWVyeUtleSxcbiAgICAgIHN0YXRlXG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgZGF0YSA9IHN0YXRlLmRhdGE7XG4gICAgICByZXR1cm4gW3F1ZXJ5S2V5LCBkYXRhXTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFF1ZXJ5RGF0YShxdWVyeUtleSwgdXBkYXRlciwgb3B0aW9ucykge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeUNhY2hlLmZpbmQocXVlcnlLZXkpO1xuICAgIGNvbnN0IHByZXZEYXRhID0gcXVlcnkgPT0gbnVsbCA/IHZvaWQgMCA6IHF1ZXJ5LnN0YXRlLmRhdGE7XG4gICAgY29uc3QgZGF0YSA9IGZ1bmN0aW9uYWxVcGRhdGUodXBkYXRlciwgcHJldkRhdGEpO1xuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRPcHRpb25zID0gcGFyc2VRdWVyeUFyZ3MocXVlcnlLZXkpO1xuICAgIGNvbnN0IGRlZmF1bHRlZE9wdGlvbnMgPSB0aGlzLmRlZmF1bHRRdWVyeU9wdGlvbnMocGFyc2VkT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlDYWNoZS5idWlsZCh0aGlzLCBkZWZhdWx0ZWRPcHRpb25zKS5zZXREYXRhKGRhdGEsIHsgLi4ub3B0aW9ucyxcbiAgICAgIG1hbnVhbDogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgc2V0UXVlcmllc0RhdGEocXVlcnlLZXlPckZpbHRlcnMsIHVwZGF0ZXIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gbm90aWZ5TWFuYWdlci5iYXRjaCgoKSA9PiB0aGlzLmdldFF1ZXJ5Q2FjaGUoKS5maW5kQWxsKHF1ZXJ5S2V5T3JGaWx0ZXJzKS5tYXAoKHtcbiAgICAgIHF1ZXJ5S2V5XG4gICAgfSkgPT4gW3F1ZXJ5S2V5LCB0aGlzLnNldFF1ZXJ5RGF0YShxdWVyeUtleSwgdXBkYXRlciwgb3B0aW9ucyldKSk7XG4gIH1cblxuICBnZXRRdWVyeVN0YXRlKHF1ZXJ5S2V5LCBmaWx0ZXJzKSB7XG4gICAgdmFyIF90aGlzJHF1ZXJ5Q2FjaGUkZmluZDI7XG5cbiAgICByZXR1cm4gKF90aGlzJHF1ZXJ5Q2FjaGUkZmluZDIgPSB0aGlzLnF1ZXJ5Q2FjaGUuZmluZChxdWVyeUtleSwgZmlsdGVycykpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcyRxdWVyeUNhY2hlJGZpbmQyLnN0YXRlO1xuICB9XG5cbiAgcmVtb3ZlUXVlcmllcyhhcmcxLCBhcmcyKSB7XG4gICAgY29uc3QgW2ZpbHRlcnNdID0gcGFyc2VGaWx0ZXJBcmdzKGFyZzEsIGFyZzIpO1xuICAgIGNvbnN0IHF1ZXJ5Q2FjaGUgPSB0aGlzLnF1ZXJ5Q2FjaGU7XG4gICAgbm90aWZ5TWFuYWdlci5iYXRjaCgoKSA9PiB7XG4gICAgICBxdWVyeUNhY2hlLmZpbmRBbGwoZmlsdGVycykuZm9yRWFjaChxdWVyeSA9PiB7XG4gICAgICAgIHF1ZXJ5Q2FjaGUucmVtb3ZlKHF1ZXJ5KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRRdWVyaWVzKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgICBjb25zdCBbZmlsdGVycywgb3B0aW9uc10gPSBwYXJzZUZpbHRlckFyZ3MoYXJnMSwgYXJnMiwgYXJnMyk7XG4gICAgY29uc3QgcXVlcnlDYWNoZSA9IHRoaXMucXVlcnlDYWNoZTtcbiAgICBjb25zdCByZWZldGNoRmlsdGVycyA9IHtcbiAgICAgIHR5cGU6ICdhY3RpdmUnLFxuICAgICAgLi4uZmlsdGVyc1xuICAgIH07XG4gICAgcmV0dXJuIG5vdGlmeU1hbmFnZXIuYmF0Y2goKCkgPT4ge1xuICAgICAgcXVlcnlDYWNoZS5maW5kQWxsKGZpbHRlcnMpLmZvckVhY2gocXVlcnkgPT4ge1xuICAgICAgICBxdWVyeS5yZXNldCgpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5yZWZldGNoUXVlcmllcyhyZWZldGNoRmlsdGVycywgb3B0aW9ucyk7XG4gICAgfSk7XG4gIH1cblxuICBjYW5jZWxRdWVyaWVzKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgICBjb25zdCBbZmlsdGVycywgY2FuY2VsT3B0aW9ucyA9IHt9XSA9IHBhcnNlRmlsdGVyQXJncyhhcmcxLCBhcmcyLCBhcmczKTtcblxuICAgIGlmICh0eXBlb2YgY2FuY2VsT3B0aW9ucy5yZXZlcnQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjYW5jZWxPcHRpb25zLnJldmVydCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvbWlzZXMgPSBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHRoaXMucXVlcnlDYWNoZS5maW5kQWxsKGZpbHRlcnMpLm1hcChxdWVyeSA9PiBxdWVyeS5jYW5jZWwoY2FuY2VsT3B0aW9ucykpKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4obm9vcCkuY2F0Y2gobm9vcCk7XG4gIH1cblxuICBpbnZhbGlkYXRlUXVlcmllcyhhcmcxLCBhcmcyLCBhcmczKSB7XG4gICAgY29uc3QgW2ZpbHRlcnMsIG9wdGlvbnNdID0gcGFyc2VGaWx0ZXJBcmdzKGFyZzEsIGFyZzIsIGFyZzMpO1xuICAgIHJldHVybiBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIHZhciBfcmVmLCBfZmlsdGVycyRyZWZldGNoVHlwZTtcblxuICAgICAgdGhpcy5xdWVyeUNhY2hlLmZpbmRBbGwoZmlsdGVycykuZm9yRWFjaChxdWVyeSA9PiB7XG4gICAgICAgIHF1ZXJ5LmludmFsaWRhdGUoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoZmlsdGVycy5yZWZldGNoVHlwZSA9PT0gJ25vbmUnKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVmZXRjaEZpbHRlcnMgPSB7IC4uLmZpbHRlcnMsXG4gICAgICAgIHR5cGU6IChfcmVmID0gKF9maWx0ZXJzJHJlZmV0Y2hUeXBlID0gZmlsdGVycy5yZWZldGNoVHlwZSkgIT0gbnVsbCA/IF9maWx0ZXJzJHJlZmV0Y2hUeXBlIDogZmlsdGVycy50eXBlKSAhPSBudWxsID8gX3JlZiA6ICdhY3RpdmUnXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMucmVmZXRjaFF1ZXJpZXMocmVmZXRjaEZpbHRlcnMsIG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVmZXRjaFF1ZXJpZXMoYXJnMSwgYXJnMiwgYXJnMykge1xuICAgIGNvbnN0IFtmaWx0ZXJzLCBvcHRpb25zXSA9IHBhcnNlRmlsdGVyQXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgICBjb25zdCBwcm9taXNlcyA9IG5vdGlmeU1hbmFnZXIuYmF0Y2goKCkgPT4gdGhpcy5xdWVyeUNhY2hlLmZpbmRBbGwoZmlsdGVycykuZmlsdGVyKHF1ZXJ5ID0+ICFxdWVyeS5pc0Rpc2FibGVkKCkpLm1hcChxdWVyeSA9PiB7XG4gICAgICB2YXIgX29wdGlvbnMkY2FuY2VsUmVmZXRjO1xuXG4gICAgICByZXR1cm4gcXVlcnkuZmV0Y2godW5kZWZpbmVkLCB7IC4uLm9wdGlvbnMsXG4gICAgICAgIGNhbmNlbFJlZmV0Y2g6IChfb3B0aW9ucyRjYW5jZWxSZWZldGMgPSBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmNhbmNlbFJlZmV0Y2gpICE9IG51bGwgPyBfb3B0aW9ucyRjYW5jZWxSZWZldGMgOiB0cnVlLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgcmVmZXRjaFBhZ2U6IGZpbHRlcnMucmVmZXRjaFBhZ2VcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSkpO1xuICAgIGxldCBwcm9taXNlID0gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4obm9vcCk7XG5cbiAgICBpZiAoIShvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy50aHJvd09uRXJyb3IpKSB7XG4gICAgICBwcm9taXNlID0gcHJvbWlzZS5jYXRjaChub29wKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfVxuXG4gIGZldGNoUXVlcnkoYXJnMSwgYXJnMiwgYXJnMykge1xuICAgIGNvbnN0IHBhcnNlZE9wdGlvbnMgPSBwYXJzZVF1ZXJ5QXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgICBjb25zdCBkZWZhdWx0ZWRPcHRpb25zID0gdGhpcy5kZWZhdWx0UXVlcnlPcHRpb25zKHBhcnNlZE9wdGlvbnMpOyAvLyBodHRwczovL2dpdGh1Yi5jb20vdGFubmVybGluc2xleS9yZWFjdC1xdWVyeS9pc3N1ZXMvNjUyXG5cbiAgICBpZiAodHlwZW9mIGRlZmF1bHRlZE9wdGlvbnMucmV0cnkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLnJldHJ5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJ5Q2FjaGUuYnVpbGQodGhpcywgZGVmYXVsdGVkT3B0aW9ucyk7XG4gICAgcmV0dXJuIHF1ZXJ5LmlzU3RhbGVCeVRpbWUoZGVmYXVsdGVkT3B0aW9ucy5zdGFsZVRpbWUpID8gcXVlcnkuZmV0Y2goZGVmYXVsdGVkT3B0aW9ucykgOiBQcm9taXNlLnJlc29sdmUocXVlcnkuc3RhdGUuZGF0YSk7XG4gIH1cblxuICBwcmVmZXRjaFF1ZXJ5KGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaFF1ZXJ5KGFyZzEsIGFyZzIsIGFyZzMpLnRoZW4obm9vcCkuY2F0Y2gobm9vcCk7XG4gIH1cblxuICBmZXRjaEluZmluaXRlUXVlcnkoYXJnMSwgYXJnMiwgYXJnMykge1xuICAgIGNvbnN0IHBhcnNlZE9wdGlvbnMgPSBwYXJzZVF1ZXJ5QXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgICBwYXJzZWRPcHRpb25zLmJlaGF2aW9yID0gaW5maW5pdGVRdWVyeUJlaGF2aW9yKCk7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hRdWVyeShwYXJzZWRPcHRpb25zKTtcbiAgfVxuXG4gIHByZWZldGNoSW5maW5pdGVRdWVyeShhcmcxLCBhcmcyLCBhcmczKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hJbmZpbml0ZVF1ZXJ5KGFyZzEsIGFyZzIsIGFyZzMpLnRoZW4obm9vcCkuY2F0Y2gobm9vcCk7XG4gIH1cblxuICByZXN1bWVQYXVzZWRNdXRhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRpb25DYWNoZS5yZXN1bWVQYXVzZWRNdXRhdGlvbnMoKTtcbiAgfVxuXG4gIGdldFF1ZXJ5Q2FjaGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlDYWNoZTtcbiAgfVxuXG4gIGdldE11dGF0aW9uQ2FjaGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRpb25DYWNoZTtcbiAgfVxuXG4gIGdldExvZ2dlcigpIHtcbiAgICByZXR1cm4gdGhpcy5sb2dnZXI7XG4gIH1cblxuICBnZXREZWZhdWx0T3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0T3B0aW9ucztcbiAgfVxuXG4gIHNldERlZmF1bHRPcHRpb25zKG9wdGlvbnMpIHtcbiAgICB0aGlzLmRlZmF1bHRPcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHNldFF1ZXJ5RGVmYXVsdHMocXVlcnlLZXksIG9wdGlvbnMpIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnF1ZXJ5RGVmYXVsdHMuZmluZCh4ID0+IGhhc2hRdWVyeUtleShxdWVyeUtleSkgPT09IGhhc2hRdWVyeUtleSh4LnF1ZXJ5S2V5KSk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXN1bHQuZGVmYXVsdE9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXJ5RGVmYXVsdHMucHVzaCh7XG4gICAgICAgIHF1ZXJ5S2V5LFxuICAgICAgICBkZWZhdWx0T3B0aW9uczogb3B0aW9uc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UXVlcnlEZWZhdWx0cyhxdWVyeUtleSkge1xuICAgIGlmICghcXVlcnlLZXkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSAvLyBHZXQgdGhlIGZpcnN0IG1hdGNoaW5nIGRlZmF1bHRzXG5cblxuICAgIGNvbnN0IGZpcnN0TWF0Y2hpbmdEZWZhdWx0cyA9IHRoaXMucXVlcnlEZWZhdWx0cy5maW5kKHggPT4gcGFydGlhbE1hdGNoS2V5KHF1ZXJ5S2V5LCB4LnF1ZXJ5S2V5KSk7IC8vIEFkZGl0aW9uYWwgY2hlY2tzIGFuZCBlcnJvciBpbiBkZXYgbW9kZVxuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIFJldHJpZXZlIGFsbCBtYXRjaGluZyBkZWZhdWx0cyBmb3IgdGhlIGdpdmVuIGtleVxuICAgICAgY29uc3QgbWF0Y2hpbmdEZWZhdWx0cyA9IHRoaXMucXVlcnlEZWZhdWx0cy5maWx0ZXIoeCA9PiBwYXJ0aWFsTWF0Y2hLZXkocXVlcnlLZXksIHgucXVlcnlLZXkpKTsgLy8gSXQgaXMgb2sgbm90IGhhdmluZyBkZWZhdWx0cywgYnV0IGl0IGlzIGVycm9yIHByb25lIHRvIGhhdmUgbW9yZSB0aGFuIDEgZGVmYXVsdCBmb3IgYSBnaXZlbiBrZXlcblxuICAgICAgaWYgKG1hdGNoaW5nRGVmYXVsdHMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIltRdWVyeUNsaWVudF0gU2V2ZXJhbCBxdWVyeSBkZWZhdWx0cyBtYXRjaCB3aXRoIGtleSAnXCIgKyBKU09OLnN0cmluZ2lmeShxdWVyeUtleSkgKyBcIicuIFRoZSBmaXJzdCBtYXRjaGluZyBxdWVyeSBkZWZhdWx0cyBhcmUgdXNlZC4gUGxlYXNlIGNoZWNrIGhvdyBxdWVyeSBkZWZhdWx0cyBhcmUgcmVnaXN0ZXJlZC4gT3JkZXIgZG9lcyBtYXR0ZXIgaGVyZS4gY2YuIGh0dHBzOi8vcmVhY3QtcXVlcnkudGFuc3RhY2suY29tL3JlZmVyZW5jZS9RdWVyeUNsaWVudCNxdWVyeWNsaWVudHNldHF1ZXJ5ZGVmYXVsdHMuXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaXJzdE1hdGNoaW5nRGVmYXVsdHMgPT0gbnVsbCA/IHZvaWQgMCA6IGZpcnN0TWF0Y2hpbmdEZWZhdWx0cy5kZWZhdWx0T3B0aW9ucztcbiAgfVxuXG4gIHNldE11dGF0aW9uRGVmYXVsdHMobXV0YXRpb25LZXksIG9wdGlvbnMpIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLm11dGF0aW9uRGVmYXVsdHMuZmluZCh4ID0+IGhhc2hRdWVyeUtleShtdXRhdGlvbktleSkgPT09IGhhc2hRdWVyeUtleSh4Lm11dGF0aW9uS2V5KSk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXN1bHQuZGVmYXVsdE9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm11dGF0aW9uRGVmYXVsdHMucHVzaCh7XG4gICAgICAgIG11dGF0aW9uS2V5LFxuICAgICAgICBkZWZhdWx0T3B0aW9uczogb3B0aW9uc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TXV0YXRpb25EZWZhdWx0cyhtdXRhdGlvbktleSkge1xuICAgIGlmICghbXV0YXRpb25LZXkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSAvLyBHZXQgdGhlIGZpcnN0IG1hdGNoaW5nIGRlZmF1bHRzXG5cblxuICAgIGNvbnN0IGZpcnN0TWF0Y2hpbmdEZWZhdWx0cyA9IHRoaXMubXV0YXRpb25EZWZhdWx0cy5maW5kKHggPT4gcGFydGlhbE1hdGNoS2V5KG11dGF0aW9uS2V5LCB4Lm11dGF0aW9uS2V5KSk7IC8vIEFkZGl0aW9uYWwgY2hlY2tzIGFuZCBlcnJvciBpbiBkZXYgbW9kZVxuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIFJldHJpZXZlIGFsbCBtYXRjaGluZyBkZWZhdWx0cyBmb3IgdGhlIGdpdmVuIGtleVxuICAgICAgY29uc3QgbWF0Y2hpbmdEZWZhdWx0cyA9IHRoaXMubXV0YXRpb25EZWZhdWx0cy5maWx0ZXIoeCA9PiBwYXJ0aWFsTWF0Y2hLZXkobXV0YXRpb25LZXksIHgubXV0YXRpb25LZXkpKTsgLy8gSXQgaXMgb2sgbm90IGhhdmluZyBkZWZhdWx0cywgYnV0IGl0IGlzIGVycm9yIHByb25lIHRvIGhhdmUgbW9yZSB0aGFuIDEgZGVmYXVsdCBmb3IgYSBnaXZlbiBrZXlcblxuICAgICAgaWYgKG1hdGNoaW5nRGVmYXVsdHMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIltRdWVyeUNsaWVudF0gU2V2ZXJhbCBtdXRhdGlvbiBkZWZhdWx0cyBtYXRjaCB3aXRoIGtleSAnXCIgKyBKU09OLnN0cmluZ2lmeShtdXRhdGlvbktleSkgKyBcIicuIFRoZSBmaXJzdCBtYXRjaGluZyBtdXRhdGlvbiBkZWZhdWx0cyBhcmUgdXNlZC4gUGxlYXNlIGNoZWNrIGhvdyBtdXRhdGlvbiBkZWZhdWx0cyBhcmUgcmVnaXN0ZXJlZC4gT3JkZXIgZG9lcyBtYXR0ZXIgaGVyZS4gY2YuIGh0dHBzOi8vcmVhY3QtcXVlcnkudGFuc3RhY2suY29tL3JlZmVyZW5jZS9RdWVyeUNsaWVudCNxdWVyeWNsaWVudHNldG11dGF0aW9uZGVmYXVsdHMuXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaXJzdE1hdGNoaW5nRGVmYXVsdHMgPT0gbnVsbCA/IHZvaWQgMCA6IGZpcnN0TWF0Y2hpbmdEZWZhdWx0cy5kZWZhdWx0T3B0aW9ucztcbiAgfVxuXG4gIGRlZmF1bHRRdWVyeU9wdGlvbnMob3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy5fZGVmYXVsdGVkKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0ZWRPcHRpb25zID0geyAuLi50aGlzLmRlZmF1bHRPcHRpb25zLnF1ZXJpZXMsXG4gICAgICAuLi50aGlzLmdldFF1ZXJ5RGVmYXVsdHMob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5xdWVyeUtleSksXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgX2RlZmF1bHRlZDogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAoIWRlZmF1bHRlZE9wdGlvbnMucXVlcnlIYXNoICYmIGRlZmF1bHRlZE9wdGlvbnMucXVlcnlLZXkpIHtcbiAgICAgIGRlZmF1bHRlZE9wdGlvbnMucXVlcnlIYXNoID0gaGFzaFF1ZXJ5S2V5QnlPcHRpb25zKGRlZmF1bHRlZE9wdGlvbnMucXVlcnlLZXksIGRlZmF1bHRlZE9wdGlvbnMpO1xuICAgIH0gLy8gZGVwZW5kZW50IGRlZmF1bHQgdmFsdWVzXG5cblxuICAgIGlmICh0eXBlb2YgZGVmYXVsdGVkT3B0aW9ucy5yZWZldGNoT25SZWNvbm5lY3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLnJlZmV0Y2hPblJlY29ubmVjdCA9IGRlZmF1bHRlZE9wdGlvbnMubmV0d29ya01vZGUgIT09ICdhbHdheXMnO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZGVmYXVsdGVkT3B0aW9ucy51c2VFcnJvckJvdW5kYXJ5ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgZGVmYXVsdGVkT3B0aW9ucy51c2VFcnJvckJvdW5kYXJ5ID0gISFkZWZhdWx0ZWRPcHRpb25zLnN1c3BlbnNlO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0ZWRPcHRpb25zO1xuICB9XG5cbiAgZGVmYXVsdE11dGF0aW9uT3B0aW9ucyhvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgIT0gbnVsbCAmJiBvcHRpb25zLl9kZWZhdWx0ZWQpIHtcbiAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cblxuICAgIHJldHVybiB7IC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMubXV0YXRpb25zLFxuICAgICAgLi4udGhpcy5nZXRNdXRhdGlvbkRlZmF1bHRzKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMubXV0YXRpb25LZXkpLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIF9kZWZhdWx0ZWQ6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5xdWVyeUNhY2hlLmNsZWFyKCk7XG4gICAgdGhpcy5tdXRhdGlvbkNhY2hlLmNsZWFyKCk7XG4gIH1cblxufVxuXG5leHBvcnQgeyBRdWVyeUNsaWVudCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cXVlcnlDbGllbnQubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/queryClient.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryObserver: function() { return /* binding */ QueryObserver; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n/* harmony import */ var _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./notifyManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs\");\n/* harmony import */ var _focusManager_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./focusManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/focusManager.mjs\");\n/* harmony import */ var _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./subscribable.mjs */ \"./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\");\n/* harmony import */ var _retryer_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./retryer.mjs */ \"./node_modules/@tanstack/query-core/build/lib/retryer.mjs\");\n\n\n\n\n\n\nclass QueryObserver extends _subscribable_mjs__WEBPACK_IMPORTED_MODULE_0__.Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.options = options;\n this.trackedProps = new Set();\n this.selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n\n bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n }\n\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n\n destroy() {\n this.listeners = new Set();\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n this.currentQuery.removeObserver(this);\n }\n\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryOptions(options);\n\n if ( true && typeof (options == null ? void 0 : options.isDataEqual) !== 'undefined') {\n this.client.getLogger().error(\"The isDataEqual option has been deprecated and will be removed in the next major version. You can achieve the same functionality by passing a function as the structuralSharing option\");\n }\n\n if (!(0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.shallowEqualObjects)(prevOptions, this.options)) {\n this.client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.currentQuery,\n observer: this\n });\n }\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n const mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n const nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n }\n\n getOptimisticResult(options) {\n const query = this.client.getQueryCache().build(this.client, options);\n const result = this.createResult(query, options);\n\n if (shouldAssignObserverCurrentProperties(this, result, options)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.currentResult = result;\n this.currentResultOptions = this.options;\n this.currentResultState = this.currentQuery.state;\n }\n\n return result;\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n\n getCurrentQuery() {\n return this.currentQuery;\n }\n\n remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n }\n\n refetch({\n refetchPage,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n refetchPage\n }\n });\n }\n\n fetchOptimistic(options) {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const query = this.client.getQueryCache().build(this.client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n\n fetch(fetchOptions) {\n var _fetchOptions$cancelR;\n\n return this.executeFetch({ ...fetchOptions,\n cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true\n }).then(() => {\n this.updateResult();\n return this.currentResult;\n });\n }\n\n executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n let promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions != null && fetchOptions.throwOnError)) {\n promise = promise.catch(_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.noop);\n }\n\n return promise;\n }\n\n updateStaleTimeout() {\n this.clearStaleTimeout();\n\n if (_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.isServer || this.currentResult.isStale || !(0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.isValidTimeout)(this.options.staleTime)) {\n return;\n }\n\n const time = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.timeUntilStale)(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n const timeout = time + 1;\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n\n computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n }\n\n updateRefetchInterval(nextInterval) {\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.isServer || this.options.enabled === false || !(0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.isValidTimeout)(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || _focusManager_mjs__WEBPACK_IMPORTED_MODULE_2__.focusManager.isFocused()) {\n this.executeFetch();\n }\n }, this.currentRefetchInterval);\n }\n\n updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n }\n\n clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n }\n\n clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n }\n\n createResult(query, options) {\n const prevQuery = this.currentQuery;\n const prevOptions = this.options;\n const prevResult = this.currentResult;\n const prevResultState = this.currentResultState;\n const prevResultOptions = this.currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n const prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n const {\n state\n } = query;\n let {\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPreviousData = false;\n let isPlaceholderData = false;\n let data; // Optimistically set result in fetching state if needed\n\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = (0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.canFetch)(query.options.networkMode) ? 'fetching' : 'paused';\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdatedAt && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n data = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.replaceData)(prevResult == null ? void 0 : prevResult.data, data, options);\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n if (true) {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'loading') {\n let placeholderData; // Memoize placeholder data\n\n if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n this.selectError = null;\n } catch (selectError) {\n if (true) {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.replaceData)(prevResult == null ? void 0 : prevResult.data, placeholderData, options);\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n const isFetching = fetchStatus === 'fetching';\n const isLoading = status === 'loading';\n const isError = status === 'error';\n const result = {\n status,\n fetchStatus,\n isLoading,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading && isFetching,\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isLoading,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n }\n\n updateResult(notifyOptions) {\n const prevResult = this.currentResult;\n const nextResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify and update result if something has changed\n\n if ((0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.shallowEqualObjects)(nextResult, prevResult)) {\n return;\n }\n\n this.currentResult = nextResult; // Determine which callbacks to trigger\n\n const defaultNotifyOptions = {\n cache: true\n };\n\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n\n const {\n notifyOnChangeProps\n } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === 'function' ? notifyOnChangeProps() : notifyOnChangeProps;\n\n if (notifyOnChangePropsValue === 'all' || !notifyOnChangePropsValue && !this.trackedProps.size) {\n return true;\n }\n\n const includedProps = new Set(notifyOnChangePropsValue != null ? notifyOnChangePropsValue : this.trackedProps);\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error');\n }\n\n return Object.keys(this.currentResult).some(key => {\n const typedKey = key;\n const changed = this.currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify({ ...defaultNotifyOptions,\n ...notifyOptions\n });\n }\n\n updateQuery() {\n const query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n const prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n }\n\n onQueryUpdate(action) {\n const notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !(0,_retryer_mjs__WEBPACK_IMPORTED_MODULE_3__.isCancelledError)(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n }\n\n notify(notifyOptions) {\n _notifyManager_mjs__WEBPACK_IMPORTED_MODULE_4__.notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;\n\n (_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, this.currentResult.data);\n (_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, this.currentResult.data, null);\n } else if (notifyOptions.onError) {\n var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;\n\n (_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, this.currentResult.error);\n (_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, this.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n }\n\n}\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n} // this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\n\n\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult, options) {\n // it is important to keep this condition like this for three reasons:\n // 1. It will get removed in the v5\n // 2. it reads: don't update the properties if we want to keep the previous\n // data.\n // 3. The opposite condition (!options.keepPreviousData) would fallthrough\n // and will result in a bad decision\n if (options.keepPreviousData) {\n return false;\n } // this means we want to put some placeholder data when pending and queryKey\n // changed.\n\n\n if (options.placeholderData !== undefined) {\n // re-assign properties only if current data is placeholder data\n // which means that data did not arrive yet, so, if there is some cached data\n // we need to \"prepare\" to receive it\n return optimisticResult.isPlaceholderData;\n } // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n\n\n if (!(0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.shallowEqualObjects)(observer.getCurrentResult(), optimisticResult)) {\n return true;\n } // basically, just keep previous properties if nothing changed\n\n\n return false;\n}\n\n\n//# sourceMappingURL=queryObserver.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5T2JzZXJ2ZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUErRztBQUMzRDtBQUNGO0FBQ0E7QUFDUzs7QUFFM0QsNEJBQTRCLDJEQUFZO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTs7QUFFQSxTQUFTLCtEQUFtQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047QUFDQTtBQUNBOztBQUVBO0FBQ0EseUNBQXlDOztBQUV6QztBQUNBO0FBQ0EsTUFBTTs7O0FBR04sc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7O0FBRUEsK0RBQStEOztBQUUvRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSTtBQUNSLHdC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OztBQUVBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1QsUUFBUTs7O0FBR1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7O0FBR0EsT0FBTywrREFBbUI7QUFDMUI7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUV5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3F1ZXJ5T2JzZXJ2ZXIubWpzP2VjMGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvd0VxdWFsT2JqZWN0cywgbm9vcCwgaXNTZXJ2ZXIsIGlzVmFsaWRUaW1lb3V0LCB0aW1lVW50aWxTdGFsZSwgcmVwbGFjZURhdGEgfSBmcm9tICcuL3V0aWxzLm1qcyc7XG5pbXBvcnQgeyBub3RpZnlNYW5hZ2VyIH0gZnJvbSAnLi9ub3RpZnlNYW5hZ2VyLm1qcyc7XG5pbXBvcnQgeyBmb2N1c01hbmFnZXIgfSBmcm9tICcuL2ZvY3VzTWFuYWdlci5tanMnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi9zdWJzY3JpYmFibGUubWpzJztcbmltcG9ydCB7IGNhbkZldGNoLCBpc0NhbmNlbGxlZEVycm9yIH0gZnJvbSAnLi9yZXRyeWVyLm1qcyc7XG5cbmNsYXNzIFF1ZXJ5T2JzZXJ2ZXIgZXh0ZW5kcyBTdWJzY3JpYmFibGUge1xuICBjb25zdHJ1Y3RvcihjbGllbnQsIG9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy50cmFja2VkUHJvcHMgPSBuZXcgU2V0KCk7XG4gICAgdGhpcy5zZWxlY3RFcnJvciA9IG51bGw7XG4gICAgdGhpcy5iaW5kTWV0aG9kcygpO1xuICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTtcbiAgfVxuXG4gIGJpbmRNZXRob2RzKCkge1xuICAgIHRoaXMucmVtb3ZlID0gdGhpcy5yZW1vdmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZmV0Y2ggPSB0aGlzLnJlZmV0Y2guYmluZCh0aGlzKTtcbiAgfVxuXG4gIG9uU3Vic2NyaWJlKCkge1xuICAgIGlmICh0aGlzLmxpc3RlbmVycy5zaXplID09PSAxKSB7XG4gICAgICB0aGlzLmN1cnJlbnRRdWVyeS5hZGRPYnNlcnZlcih0aGlzKTtcblxuICAgICAgaWYgKHNob3VsZEZldGNoT25Nb3VudCh0aGlzLmN1cnJlbnRRdWVyeSwgdGhpcy5vcHRpb25zKSkge1xuICAgICAgICB0aGlzLmV4ZWN1dGVGZXRjaCgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVwZGF0ZVRpbWVycygpO1xuICAgIH1cbiAgfVxuXG4gIG9uVW5zdWJzY3JpYmUoKSB7XG4gICAgaWYgKCF0aGlzLmhhc0xpc3RlbmVycygpKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBzaG91bGRGZXRjaE9uUmVjb25uZWN0KCkge1xuICAgIHJldHVybiBzaG91bGRGZXRjaE9uKHRoaXMuY3VycmVudFF1ZXJ5LCB0aGlzLm9wdGlvbnMsIHRoaXMub3B0aW9ucy5yZWZldGNoT25SZWNvbm5lY3QpO1xuICB9XG5cbiAgc2hvdWxkRmV0Y2hPbldpbmRvd0ZvY3VzKCkge1xuICAgIHJldHVybiBzaG91bGRGZXRjaE9uKHRoaXMuY3VycmVudFF1ZXJ5LCB0aGlzLm9wdGlvbnMsIHRoaXMub3B0aW9ucy5yZWZldGNoT25XaW5kb3dGb2N1cyk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMubGlzdGVuZXJzID0gbmV3IFNldCgpO1xuICAgIHRoaXMuY2xlYXJTdGFsZVRpbWVvdXQoKTtcbiAgICB0aGlzLmNsZWFyUmVmZXRjaEludGVydmFsKCk7XG4gICAgdGhpcy5jdXJyZW50UXVlcnkucmVtb3ZlT2JzZXJ2ZXIodGhpcyk7XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnMsIG5vdGlmeU9wdGlvbnMpIHtcbiAgICBjb25zdCBwcmV2T3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCBwcmV2UXVlcnkgPSB0aGlzLmN1cnJlbnRRdWVyeTtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNsaWVudC5kZWZhdWx0UXVlcnlPcHRpb25zKG9wdGlvbnMpO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZW9mIChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmlzRGF0YUVxdWFsKSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY2xpZW50LmdldExvZ2dlcigpLmVycm9yKFwiVGhlIGlzRGF0YUVxdWFsIG9wdGlvbiBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbi4gWW91IGNhbiBhY2hpZXZlIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYnkgcGFzc2luZyBhIGZ1bmN0aW9uIGFzIHRoZSBzdHJ1Y3R1cmFsU2hhcmluZyBvcHRpb25cIik7XG4gICAgfVxuXG4gICAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKHByZXZPcHRpb25zLCB0aGlzLm9wdGlvbnMpKSB7XG4gICAgICB0aGlzLmNsaWVudC5nZXRRdWVyeUNhY2hlKCkubm90aWZ5KHtcbiAgICAgICAgdHlwZTogJ29ic2VydmVyT3B0aW9uc1VwZGF0ZWQnLFxuICAgICAgICBxdWVyeTogdGhpcy5jdXJyZW50UXVlcnksXG4gICAgICAgIG9ic2VydmVyOiB0aGlzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgdGhpcy5vcHRpb25zLmVuYWJsZWQgIT09ICdib29sZWFuJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlbmFibGVkIHRvIGJlIGEgYm9vbGVhbicpO1xuICAgIH0gLy8gS2VlcCBwcmV2aW91cyBxdWVyeSBrZXkgaWYgdGhlIHVzZXIgZG9lcyBub3Qgc3VwcGx5IG9uZVxuXG5cbiAgICBpZiAoIXRoaXMub3B0aW9ucy5xdWVyeUtleSkge1xuICAgICAgdGhpcy5vcHRpb25zLnF1ZXJ5S2V5ID0gcHJldk9wdGlvbnMucXVlcnlLZXk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVRdWVyeSgpO1xuICAgIGNvbnN0IG1vdW50ZWQgPSB0aGlzLmhhc0xpc3RlbmVycygpOyAvLyBGZXRjaCBpZiB0aGVyZSBhcmUgc3Vic2NyaWJlcnNcblxuICAgIGlmIChtb3VudGVkICYmIHNob3VsZEZldGNoT3B0aW9uYWxseSh0aGlzLmN1cnJlbnRRdWVyeSwgcHJldlF1ZXJ5LCB0aGlzLm9wdGlvbnMsIHByZXZPcHRpb25zKSkge1xuICAgICAgdGhpcy5leGVjdXRlRmV0Y2goKTtcbiAgICB9IC8vIFVwZGF0ZSByZXN1bHRcblxuXG4gICAgdGhpcy51cGRhdGVSZXN1bHQobm90aWZ5T3B0aW9ucyk7IC8vIFVwZGF0ZSBzdGFsZSBpbnRlcnZhbCBpZiBuZWVkZWRcblxuICAgIGlmIChtb3VudGVkICYmICh0aGlzLmN1cnJlbnRRdWVyeSAhPT0gcHJldlF1ZXJ5IHx8IHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSBwcmV2T3B0aW9ucy5lbmFibGVkIHx8IHRoaXMub3B0aW9ucy5zdGFsZVRpbWUgIT09IHByZXZPcHRpb25zLnN0YWxlVGltZSkpIHtcbiAgICAgIHRoaXMudXBkYXRlU3RhbGVUaW1lb3V0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFJlZmV0Y2hJbnRlcnZhbCA9IHRoaXMuY29tcHV0ZVJlZmV0Y2hJbnRlcnZhbCgpOyAvLyBVcGRhdGUgcmVmZXRjaCBpbnRlcnZhbCBpZiBuZWVkZWRcblxuICAgIGlmIChtb3VudGVkICYmICh0aGlzLmN1cnJlbnRRdWVyeSAhPT0gcHJldlF1ZXJ5IHx8IHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSBwcmV2T3B0aW9ucy5lbmFibGVkIHx8IG5leHRSZWZldGNoSW50ZXJ2YWwgIT09IHRoaXMuY3VycmVudFJlZmV0Y2hJbnRlcnZhbCkpIHtcbiAgICAgIHRoaXMudXBkYXRlUmVmZXRjaEludGVydmFsKG5leHRSZWZldGNoSW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxuXG4gIGdldE9wdGltaXN0aWNSZXN1bHQob3B0aW9ucykge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5jbGllbnQuZ2V0UXVlcnlDYWNoZSgpLmJ1aWxkKHRoaXMuY2xpZW50LCBvcHRpb25zKTtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNyZWF0ZVJlc3VsdChxdWVyeSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoc2hvdWxkQXNzaWduT2JzZXJ2ZXJDdXJyZW50UHJvcGVydGllcyh0aGlzLCByZXN1bHQsIG9wdGlvbnMpKSB7XG4gICAgICAvLyB0aGlzIGFzc2lnbnMgdGhlIG9wdGltaXN0aWMgcmVzdWx0IHRvIHRoZSBjdXJyZW50IE9ic2VydmVyXG4gICAgICAvLyBiZWNhdXNlIGlmIHRoZSBxdWVyeSBmdW5jdGlvbiBjaGFuZ2VzLCB1c2VRdWVyeSB3aWxsIGJlIHBlcmZvcm1pbmdcbiAgICAgIC8vIGFuIGVmZmVjdCB3aGVyZSBpdCB3b3VsZCBmZXRjaCBhZ2Fpbi5cbiAgICAgIC8vIFdoZW4gdGhlIGZldGNoIGZpbmlzaGVzLCB3ZSBwZXJmb3JtIGEgZGVlcCBkYXRhIGNsb25pbmcgaW4gb3JkZXJcbiAgICAgIC8vIHRvIHJldXNlIG9iamVjdHMgcmVmZXJlbmNlcy4gVGhpcyBkZWVwIGRhdGEgY2xvbmUgaXMgcGVyZm9ybWVkIGFnYWluc3RcbiAgICAgIC8vIHRoZSBgb2JzZXJ2ZXIuY3VycmVudFJlc3VsdC5kYXRhYCBwcm9wZXJ0eVxuICAgICAgLy8gV2hlbiBRdWVyeUtleSBjaGFuZ2VzLCB3ZSByZWZyZXNoIHRoZSBxdWVyeSBhbmQgZ2V0IG5ldyBgb3B0aW1pc3RpY2BcbiAgICAgIC8vIHJlc3VsdCwgd2hpbGUgd2UgbGVhdmUgdGhlIGBvYnNlcnZlci5jdXJyZW50UmVzdWx0YCwgc28gd2hlbiBuZXcgZGF0YVxuICAgICAgLy8gYXJyaXZlcywgaXQgZmluZHMgdGhlIG9sZCBgb2JzZXJ2ZXIuY3VycmVudFJlc3VsdGAgd2hpY2ggaXMgcmVsYXRlZFxuICAgICAgLy8gdG8gdGhlIG9sZCBRdWVyeUtleS4gV2hpY2ggbWVhbnMgdGhhdCBjdXJyZW50UmVzdWx0IGFuZCBzZWxlY3REYXRhIGFyZVxuICAgICAgLy8gb3V0IG9mIHN5bmMgYWxyZWFkeS5cbiAgICAgIC8vIFRvIHNvbHZlIHRoaXMsIHdlIG1vdmUgdGhlIGN1cnNvciBvZiB0aGUgY3VycmVudFJlc3VsdCBldmVyeXRpbWVcbiAgICAgIC8vIGFuIG9ic2VydmVyIHJlYWRzIGFuIG9wdGltaXN0aWMgdmFsdWUuXG4gICAgICAvLyBXaGVuIGtlZXBpbmcgdGhlIHByZXZpb3VzIGRhdGEsIHRoZSByZXN1bHQgZG9lc24ndCBjaGFuZ2UgdW50aWwgbmV3XG4gICAgICAvLyBkYXRhIGFycml2ZXMuXG4gICAgICB0aGlzLmN1cnJlbnRSZXN1bHQgPSByZXN1bHQ7XG4gICAgICB0aGlzLmN1cnJlbnRSZXN1bHRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgdGhpcy5jdXJyZW50UmVzdWx0U3RhdGUgPSB0aGlzLmN1cnJlbnRRdWVyeS5zdGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0Q3VycmVudFJlc3VsdCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UmVzdWx0O1xuICB9XG5cbiAgdHJhY2tSZXN1bHQocmVzdWx0KSB7XG4gICAgY29uc3QgdHJhY2tlZFJlc3VsdCA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRyYWNrZWRSZXN1bHQsIGtleSwge1xuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnRyYWNrZWRQcm9wcy5hZGQoa2V5KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0W2tleV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB0cmFja2VkUmVzdWx0O1xuICB9XG5cbiAgZ2V0Q3VycmVudFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWVyeTtcbiAgfVxuXG4gIHJlbW92ZSgpIHtcbiAgICB0aGlzLmNsaWVudC5nZXRRdWVyeUNhY2hlKCkucmVtb3ZlKHRoaXMuY3VycmVudFF1ZXJ5KTtcbiAgfVxuXG4gIHJlZmV0Y2goe1xuICAgIHJlZmV0Y2hQYWdlLFxuICAgIC4uLm9wdGlvbnNcbiAgfSA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goeyAuLi5vcHRpb25zLFxuICAgICAgbWV0YToge1xuICAgICAgICByZWZldGNoUGFnZVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZmV0Y2hPcHRpbWlzdGljKG9wdGlvbnMpIHtcbiAgICBjb25zdCBkZWZhdWx0ZWRPcHRpb25zID0gdGhpcy5jbGllbnQuZGVmYXVsdFF1ZXJ5T3B0aW9ucyhvcHRpb25zKTtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuY2xpZW50LmdldFF1ZXJ5Q2FjaGUoKS5idWlsZCh0aGlzLmNsaWVudCwgZGVmYXVsdGVkT3B0aW9ucyk7XG4gICAgcXVlcnkuaXNGZXRjaGluZ09wdGltaXN0aWMgPSB0cnVlO1xuICAgIHJldHVybiBxdWVyeS5mZXRjaCgpLnRoZW4oKCkgPT4gdGhpcy5jcmVhdGVSZXN1bHQocXVlcnksIGRlZmF1bHRlZE9wdGlvbnMpKTtcbiAgfVxuXG4gIGZldGNoKGZldGNoT3B0aW9ucykge1xuICAgIHZhciBfZmV0Y2hPcHRpb25zJGNhbmNlbFI7XG5cbiAgICByZXR1cm4gdGhpcy5leGVjdXRlRmV0Y2goeyAuLi5mZXRjaE9wdGlvbnMsXG4gICAgICBjYW5jZWxSZWZldGNoOiAoX2ZldGNoT3B0aW9ucyRjYW5jZWxSID0gZmV0Y2hPcHRpb25zLmNhbmNlbFJlZmV0Y2gpICE9IG51bGwgPyBfZmV0Y2hPcHRpb25zJGNhbmNlbFIgOiB0cnVlXG4gICAgfSkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3VsdCgpO1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFJlc3VsdDtcbiAgICB9KTtcbiAgfVxuXG4gIGV4ZWN1dGVGZXRjaChmZXRjaE9wdGlvbnMpIHtcbiAgICAvLyBNYWtlIHN1cmUgd2UgcmVmZXJlbmNlIHRoZSBsYXRlc3QgcXVlcnkgYXMgdGhlIGN1cnJlbnQgb25lIG1pZ2h0IGhhdmUgYmVlbiByZW1vdmVkXG4gICAgdGhpcy51cGRhdGVRdWVyeSgpOyAvLyBGZXRjaFxuXG4gICAgbGV0IHByb21pc2UgPSB0aGlzLmN1cnJlbnRRdWVyeS5mZXRjaCh0aGlzLm9wdGlvbnMsIGZldGNoT3B0aW9ucyk7XG5cbiAgICBpZiAoIShmZXRjaE9wdGlvbnMgIT0gbnVsbCAmJiBmZXRjaE9wdGlvbnMudGhyb3dPbkVycm9yKSkge1xuICAgICAgcHJvbWlzZSA9IHByb21pc2UuY2F0Y2gobm9vcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICB1cGRhdGVTdGFsZVRpbWVvdXQoKSB7XG4gICAgdGhpcy5jbGVhclN0YWxlVGltZW91dCgpO1xuXG4gICAgaWYgKGlzU2VydmVyIHx8IHRoaXMuY3VycmVudFJlc3VsdC5pc1N0YWxlIHx8ICFpc1ZhbGlkVGltZW91dCh0aGlzLm9wdGlvbnMuc3RhbGVUaW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRpbWUgPSB0aW1lVW50aWxTdGFsZSh0aGlzLmN1cnJlbnRSZXN1bHQuZGF0YVVwZGF0ZWRBdCwgdGhpcy5vcHRpb25zLnN0YWxlVGltZSk7IC8vIFRoZSB0aW1lb3V0IGlzIHNvbWV0aW1lcyB0cmlnZ2VyZWQgMSBtcyBiZWZvcmUgdGhlIHN0YWxlIHRpbWUgZXhwaXJhdGlvbi5cbiAgICAvLyBUbyBtaXRpZ2F0ZSB0aGlzIGlzc3VlIHdlIGFsd2F5cyBhZGQgMSBtcyB0byB0aGUgdGltZW91dC5cblxuICAgIGNvbnN0IHRpbWVvdXQgPSB0aW1lICsgMTtcbiAgICB0aGlzLnN0YWxlVGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuY3VycmVudFJlc3VsdC5pc1N0YWxlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUmVzdWx0KCk7XG4gICAgICB9XG4gICAgfSwgdGltZW91dCk7XG4gIH1cblxuICBjb21wdXRlUmVmZXRjaEludGVydmFsKCkge1xuICAgIHZhciBfdGhpcyRvcHRpb25zJHJlZmV0Y2g7XG5cbiAgICByZXR1cm4gdHlwZW9mIHRoaXMub3B0aW9ucy5yZWZldGNoSW50ZXJ2YWwgPT09ICdmdW5jdGlvbicgPyB0aGlzLm9wdGlvbnMucmVmZXRjaEludGVydmFsKHRoaXMuY3VycmVudFJlc3VsdC5kYXRhLCB0aGlzLmN1cnJlbnRRdWVyeSkgOiAoX3RoaXMkb3B0aW9ucyRyZWZldGNoID0gdGhpcy5vcHRpb25zLnJlZmV0Y2hJbnRlcnZhbCkgIT0gbnVsbCA/IF90aGlzJG9wdGlvbnMkcmVmZXRjaCA6IGZhbHNlO1xuICB9XG5cbiAgdXBkYXRlUmVmZXRjaEludGVydmFsKG5leHRJbnRlcnZhbCkge1xuICAgIHRoaXMuY2xlYXJSZWZldGNoSW50ZXJ2YWwoKTtcbiAgICB0aGlzLmN1cnJlbnRSZWZldGNoSW50ZXJ2YWwgPSBuZXh0SW50ZXJ2YWw7XG5cbiAgICBpZiAoaXNTZXJ2ZXIgfHwgdGhpcy5vcHRpb25zLmVuYWJsZWQgPT09IGZhbHNlIHx8ICFpc1ZhbGlkVGltZW91dCh0aGlzLmN1cnJlbnRSZWZldGNoSW50ZXJ2YWwpIHx8IHRoaXMuY3VycmVudFJlZmV0Y2hJbnRlcnZhbCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVmZXRjaEludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnJlZmV0Y2hJbnRlcnZhbEluQmFja2dyb3VuZCB8fCBmb2N1c01hbmFnZXIuaXNGb2N1c2VkKCkpIHtcbiAgICAgICAgdGhpcy5leGVjdXRlRmV0Y2goKTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLmN1cnJlbnRSZWZldGNoSW50ZXJ2YWwpO1xuICB9XG5cbiAgdXBkYXRlVGltZXJzKCkge1xuICAgIHRoaXMudXBkYXRlU3RhbGVUaW1lb3V0KCk7XG4gICAgdGhpcy51cGRhdGVSZWZldGNoSW50ZXJ2YWwodGhpcy5jb21wdXRlUmVmZXRjaEludGVydmFsKCkpO1xuICB9XG5cbiAgY2xlYXJTdGFsZVRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMuc3RhbGVUaW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YWxlVGltZW91dElkKTtcbiAgICAgIHRoaXMuc3RhbGVUaW1lb3V0SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJSZWZldGNoSW50ZXJ2YWwoKSB7XG4gICAgaWYgKHRoaXMucmVmZXRjaEludGVydmFsSWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5yZWZldGNoSW50ZXJ2YWxJZCk7XG4gICAgICB0aGlzLnJlZmV0Y2hJbnRlcnZhbElkID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZVJlc3VsdChxdWVyeSwgb3B0aW9ucykge1xuICAgIGNvbnN0IHByZXZRdWVyeSA9IHRoaXMuY3VycmVudFF1ZXJ5O1xuICAgIGNvbnN0IHByZXZPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIGNvbnN0IHByZXZSZXN1bHQgPSB0aGlzLmN1cnJlbnRSZXN1bHQ7XG4gICAgY29uc3QgcHJldlJlc3VsdFN0YXRlID0gdGhpcy5jdXJyZW50UmVzdWx0U3RhdGU7XG4gICAgY29uc3QgcHJldlJlc3VsdE9wdGlvbnMgPSB0aGlzLmN1cnJlbnRSZXN1bHRPcHRpb25zO1xuICAgIGNvbnN0IHF1ZXJ5Q2hhbmdlID0gcXVlcnkgIT09IHByZXZRdWVyeTtcbiAgICBjb25zdCBxdWVyeUluaXRpYWxTdGF0ZSA9IHF1ZXJ5Q2hhbmdlID8gcXVlcnkuc3RhdGUgOiB0aGlzLmN1cnJlbnRRdWVyeUluaXRpYWxTdGF0ZTtcbiAgICBjb25zdCBwcmV2UXVlcnlSZXN1bHQgPSBxdWVyeUNoYW5nZSA/IHRoaXMuY3VycmVudFJlc3VsdCA6IHRoaXMucHJldmlvdXNRdWVyeVJlc3VsdDtcbiAgICBjb25zdCB7XG4gICAgICBzdGF0ZVxuICAgIH0gPSBxdWVyeTtcbiAgICBsZXQge1xuICAgICAgZGF0YVVwZGF0ZWRBdCxcbiAgICAgIGVycm9yLFxuICAgICAgZXJyb3JVcGRhdGVkQXQsXG4gICAgICBmZXRjaFN0YXR1cyxcbiAgICAgIHN0YXR1c1xuICAgIH0gPSBzdGF0ZTtcbiAgICBsZXQgaXNQcmV2aW91c0RhdGEgPSBmYWxzZTtcbiAgICBsZXQgaXNQbGFjZWhvbGRlckRhdGEgPSBmYWxzZTtcbiAgICBsZXQgZGF0YTsgLy8gT3B0aW1pc3RpY2FsbHkgc2V0IHJlc3VsdCBpbiBmZXRjaGluZyBzdGF0ZSBpZiBuZWVkZWRcblxuICAgIGlmIChvcHRpb25zLl9vcHRpbWlzdGljUmVzdWx0cykge1xuICAgICAgY29uc3QgbW91bnRlZCA9IHRoaXMuaGFzTGlzdGVuZXJzKCk7XG4gICAgICBjb25zdCBmZXRjaE9uTW91bnQgPSAhbW91bnRlZCAmJiBzaG91bGRGZXRjaE9uTW91bnQocXVlcnksIG9wdGlvbnMpO1xuICAgICAgY29uc3QgZmV0Y2hPcHRpb25hbGx5ID0gbW91bnRlZCAmJiBzaG91bGRGZXRjaE9wdGlvbmFsbHkocXVlcnksIHByZXZRdWVyeSwgb3B0aW9ucywgcHJldk9wdGlvbnMpO1xuXG4gICAgICBpZiAoZmV0Y2hPbk1vdW50IHx8IGZldGNoT3B0aW9uYWxseSkge1xuICAgICAgICBmZXRjaFN0YXR1cyA9IGNhbkZldGNoKHF1ZXJ5Lm9wdGlvbnMubmV0d29ya01vZGUpID8gJ2ZldGNoaW5nJyA6ICdwYXVzZWQnO1xuXG4gICAgICAgIGlmICghZGF0YVVwZGF0ZWRBdCkge1xuICAgICAgICAgIHN0YXR1cyA9ICdsb2FkaW5nJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5fb3B0aW1pc3RpY1Jlc3VsdHMgPT09ICdpc1Jlc3RvcmluZycpIHtcbiAgICAgICAgZmV0Y2hTdGF0dXMgPSAnaWRsZSc7XG4gICAgICB9XG4gICAgfSAvLyBLZWVwIHByZXZpb3VzIGRhdGEgaWYgbmVlZGVkXG5cblxuICAgIGlmIChvcHRpb25zLmtlZXBQcmV2aW91c0RhdGEgJiYgIXN0YXRlLmRhdGFVcGRhdGVkQXQgJiYgcHJldlF1ZXJ5UmVzdWx0ICE9IG51bGwgJiYgcHJldlF1ZXJ5UmVzdWx0LmlzU3VjY2VzcyAmJiBzdGF0dXMgIT09ICdlcnJvcicpIHtcbiAgICAgIGRhdGEgPSBwcmV2UXVlcnlSZXN1bHQuZGF0YTtcbiAgICAgIGRhdGFVcGRhdGVkQXQgPSBwcmV2UXVlcnlSZXN1bHQuZGF0YVVwZGF0ZWRBdDtcbiAgICAgIHN0YXR1cyA9IHByZXZRdWVyeVJlc3VsdC5zdGF0dXM7XG4gICAgICBpc1ByZXZpb3VzRGF0YSA9IHRydWU7XG4gICAgfSAvLyBTZWxlY3QgZGF0YSBpZiBuZWVkZWRcbiAgICBlbHNlIGlmIChvcHRpb25zLnNlbGVjdCAmJiB0eXBlb2Ygc3RhdGUuZGF0YSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIE1lbW9pemUgc2VsZWN0IHJlc3VsdFxuICAgICAgaWYgKHByZXZSZXN1bHQgJiYgc3RhdGUuZGF0YSA9PT0gKHByZXZSZXN1bHRTdGF0ZSA9PSBudWxsID8gdm9pZCAwIDogcHJldlJlc3VsdFN0YXRlLmRhdGEpICYmIG9wdGlvbnMuc2VsZWN0ID09PSB0aGlzLnNlbGVjdEZuKSB7XG4gICAgICAgIGRhdGEgPSB0aGlzLnNlbGVjdFJlc3VsdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGbiA9IG9wdGlvbnMuc2VsZWN0O1xuICAgICAgICAgIGRhdGEgPSBvcHRpb25zLnNlbGVjdChzdGF0ZS5kYXRhKTtcbiAgICAgICAgICBkYXRhID0gcmVwbGFjZURhdGEocHJldlJlc3VsdCA9PSBudWxsID8gdm9pZCAwIDogcHJldlJlc3VsdC5kYXRhLCBkYXRhLCBvcHRpb25zKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdFJlc3VsdCA9IGRhdGE7XG4gICAgICAgICAgdGhpcy5zZWxlY3RFcnJvciA9IG51bGw7XG4gICAgICAgIH0gY2F0Y2ggKHNlbGVjdEVycm9yKSB7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpZW50LmdldExvZ2dlcigpLmVycm9yKHNlbGVjdEVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNlbGVjdEVycm9yID0gc2VsZWN0RXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFVzZSBxdWVyeSBkYXRhXG4gICAgZWxzZSB7XG4gICAgICBkYXRhID0gc3RhdGUuZGF0YTtcbiAgICB9IC8vIFNob3cgcGxhY2Vob2xkZXIgZGF0YSBpZiBuZWVkZWRcblxuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLnBsYWNlaG9sZGVyRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRhdGEgPT09ICd1bmRlZmluZWQnICYmIHN0YXR1cyA9PT0gJ2xvYWRpbmcnKSB7XG4gICAgICBsZXQgcGxhY2Vob2xkZXJEYXRhOyAvLyBNZW1vaXplIHBsYWNlaG9sZGVyIGRhdGFcblxuICAgICAgaWYgKHByZXZSZXN1bHQgIT0gbnVsbCAmJiBwcmV2UmVzdWx0LmlzUGxhY2Vob2xkZXJEYXRhICYmIG9wdGlvbnMucGxhY2Vob2xkZXJEYXRhID09PSAocHJldlJlc3VsdE9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IHByZXZSZXN1bHRPcHRpb25zLnBsYWNlaG9sZGVyRGF0YSkpIHtcbiAgICAgICAgcGxhY2Vob2xkZXJEYXRhID0gcHJldlJlc3VsdC5kYXRhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGxhY2Vob2xkZXJEYXRhID0gdHlwZW9mIG9wdGlvbnMucGxhY2Vob2xkZXJEYXRhID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5wbGFjZWhvbGRlckRhdGEoKSA6IG9wdGlvbnMucGxhY2Vob2xkZXJEYXRhO1xuXG4gICAgICAgIGlmIChvcHRpb25zLnNlbGVjdCAmJiB0eXBlb2YgcGxhY2Vob2xkZXJEYXRhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlckRhdGEgPSBvcHRpb25zLnNlbGVjdChwbGFjZWhvbGRlckRhdGEpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RFcnJvciA9IG51bGw7XG4gICAgICAgICAgfSBjYXRjaCAoc2VsZWN0RXJyb3IpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2xpZW50LmdldExvZ2dlcigpLmVycm9yKHNlbGVjdEVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RFcnJvciA9IHNlbGVjdEVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHBsYWNlaG9sZGVyRGF0YSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgc3RhdHVzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICBkYXRhID0gcmVwbGFjZURhdGEocHJldlJlc3VsdCA9PSBudWxsID8gdm9pZCAwIDogcHJldlJlc3VsdC5kYXRhLCBwbGFjZWhvbGRlckRhdGEsIG9wdGlvbnMpO1xuICAgICAgICBpc1BsYWNlaG9sZGVyRGF0YSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0RXJyb3IpIHtcbiAgICAgIGVycm9yID0gdGhpcy5zZWxlY3RFcnJvcjtcbiAgICAgIGRhdGEgPSB0aGlzLnNlbGVjdFJlc3VsdDtcbiAgICAgIGVycm9yVXBkYXRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgIHN0YXR1cyA9ICdlcnJvcic7XG4gICAgfVxuXG4gICAgY29uc3QgaXNGZXRjaGluZyA9IGZldGNoU3RhdHVzID09PSAnZmV0Y2hpbmcnO1xuICAgIGNvbnN0IGlzTG9hZGluZyA9IHN0YXR1cyA9PT0gJ2xvYWRpbmcnO1xuICAgIGNvbnN0IGlzRXJyb3IgPSBzdGF0dXMgPT09ICdlcnJvcic7XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgc3RhdHVzLFxuICAgICAgZmV0Y2hTdGF0dXMsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1Y2Nlc3M6IHN0YXR1cyA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgaXNFcnJvcixcbiAgICAgIGlzSW5pdGlhbExvYWRpbmc6IGlzTG9hZGluZyAmJiBpc0ZldGNoaW5nLFxuICAgICAgZGF0YSxcbiAgICAgIGRhdGFVcGRhdGVkQXQsXG4gICAgICBlcnJvcixcbiAgICAgIGVycm9yVXBkYXRlZEF0LFxuICAgICAgZmFpbHVyZUNvdW50OiBzdGF0ZS5mZXRjaEZhaWx1cmVDb3VudCxcbiAgICAgIGZhaWx1cmVSZWFzb246IHN0YXRlLmZldGNoRmFpbHVyZVJlYXNvbixcbiAgICAgIGVycm9yVXBkYXRlQ291bnQ6IHN0YXRlLmVycm9yVXBkYXRlQ291bnQsXG4gICAgICBpc0ZldGNoZWQ6IHN0YXRlLmRhdGFVcGRhdGVDb3VudCA+IDAgfHwgc3RhdGUuZXJyb3JVcGRhdGVDb3VudCA+IDAsXG4gICAgICBpc0ZldGNoZWRBZnRlck1vdW50OiBzdGF0ZS5kYXRhVXBkYXRlQ291bnQgPiBxdWVyeUluaXRpYWxTdGF0ZS5kYXRhVXBkYXRlQ291bnQgfHwgc3RhdGUuZXJyb3JVcGRhdGVDb3VudCA+IHF1ZXJ5SW5pdGlhbFN0YXRlLmVycm9yVXBkYXRlQ291bnQsXG4gICAgICBpc0ZldGNoaW5nLFxuICAgICAgaXNSZWZldGNoaW5nOiBpc0ZldGNoaW5nICYmICFpc0xvYWRpbmcsXG4gICAgICBpc0xvYWRpbmdFcnJvcjogaXNFcnJvciAmJiBzdGF0ZS5kYXRhVXBkYXRlZEF0ID09PSAwLFxuICAgICAgaXNQYXVzZWQ6IGZldGNoU3RhdHVzID09PSAncGF1c2VkJyxcbiAgICAgIGlzUGxhY2Vob2xkZXJEYXRhLFxuICAgICAgaXNQcmV2aW91c0RhdGEsXG4gICAgICBpc1JlZmV0Y2hFcnJvcjogaXNFcnJvciAmJiBzdGF0ZS5kYXRhVXBkYXRlZEF0ICE9PSAwLFxuICAgICAgaXNTdGFsZTogaXNTdGFsZShxdWVyeSwgb3B0aW9ucyksXG4gICAgICByZWZldGNoOiB0aGlzLnJlZmV0Y2gsXG4gICAgICByZW1vdmU6IHRoaXMucmVtb3ZlXG4gICAgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgdXBkYXRlUmVzdWx0KG5vdGlmeU9wdGlvbnMpIHtcbiAgICBjb25zdCBwcmV2UmVzdWx0ID0gdGhpcy5jdXJyZW50UmVzdWx0O1xuICAgIGNvbnN0IG5leHRSZXN1bHQgPSB0aGlzLmNyZWF0ZVJlc3VsdCh0aGlzLmN1cnJlbnRRdWVyeSwgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmN1cnJlbnRSZXN1bHRTdGF0ZSA9IHRoaXMuY3VycmVudFF1ZXJ5LnN0YXRlO1xuICAgIHRoaXMuY3VycmVudFJlc3VsdE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7IC8vIE9ubHkgbm90aWZ5IGFuZCB1cGRhdGUgcmVzdWx0IGlmIHNvbWV0aGluZyBoYXMgY2hhbmdlZFxuXG4gICAgaWYgKHNoYWxsb3dFcXVhbE9iamVjdHMobmV4dFJlc3VsdCwgcHJldlJlc3VsdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRSZXN1bHQgPSBuZXh0UmVzdWx0OyAvLyBEZXRlcm1pbmUgd2hpY2ggY2FsbGJhY2tzIHRvIHRyaWdnZXJcblxuICAgIGNvbnN0IGRlZmF1bHROb3RpZnlPcHRpb25zID0ge1xuICAgICAgY2FjaGU6IHRydWVcbiAgICB9O1xuXG4gICAgY29uc3Qgc2hvdWxkTm90aWZ5TGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgaWYgKCFwcmV2UmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIG5vdGlmeU9uQ2hhbmdlUHJvcHNcbiAgICAgIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICBjb25zdCBub3RpZnlPbkNoYW5nZVByb3BzVmFsdWUgPSB0eXBlb2Ygbm90aWZ5T25DaGFuZ2VQcm9wcyA9PT0gJ2Z1bmN0aW9uJyA/IG5vdGlmeU9uQ2hhbmdlUHJvcHMoKSA6IG5vdGlmeU9uQ2hhbmdlUHJvcHM7XG5cbiAgICAgIGlmIChub3RpZnlPbkNoYW5nZVByb3BzVmFsdWUgPT09ICdhbGwnIHx8ICFub3RpZnlPbkNoYW5nZVByb3BzVmFsdWUgJiYgIXRoaXMudHJhY2tlZFByb3BzLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluY2x1ZGVkUHJvcHMgPSBuZXcgU2V0KG5vdGlmeU9uQ2hhbmdlUHJvcHNWYWx1ZSAhPSBudWxsID8gbm90aWZ5T25DaGFuZ2VQcm9wc1ZhbHVlIDogdGhpcy50cmFja2VkUHJvcHMpO1xuXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnVzZUVycm9yQm91bmRhcnkpIHtcbiAgICAgICAgaW5jbHVkZWRQcm9wcy5hZGQoJ2Vycm9yJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmN1cnJlbnRSZXN1bHQpLnNvbWUoa2V5ID0+IHtcbiAgICAgICAgY29uc3QgdHlwZWRLZXkgPSBrZXk7XG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLmN1cnJlbnRSZXN1bHRbdHlwZWRLZXldICE9PSBwcmV2UmVzdWx0W3R5cGVkS2V5XTtcbiAgICAgICAgcmV0dXJuIGNoYW5nZWQgJiYgaW5jbHVkZWRQcm9wcy5oYXModHlwZWRLZXkpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICgobm90aWZ5T3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogbm90aWZ5T3B0aW9ucy5saXN0ZW5lcnMpICE9PSBmYWxzZSAmJiBzaG91bGROb3RpZnlMaXN0ZW5lcnMoKSkge1xuICAgICAgZGVmYXVsdE5vdGlmeU9wdGlvbnMubGlzdGVuZXJzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLm5vdGlmeSh7IC4uLmRlZmF1bHROb3RpZnlPcHRpb25zLFxuICAgICAgLi4ubm90aWZ5T3B0aW9uc1xuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlUXVlcnkoKSB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLmNsaWVudC5nZXRRdWVyeUNhY2hlKCkuYnVpbGQodGhpcy5jbGllbnQsIHRoaXMub3B0aW9ucyk7XG5cbiAgICBpZiAocXVlcnkgPT09IHRoaXMuY3VycmVudFF1ZXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJldlF1ZXJ5ID0gdGhpcy5jdXJyZW50UXVlcnk7XG4gICAgdGhpcy5jdXJyZW50UXVlcnkgPSBxdWVyeTtcbiAgICB0aGlzLmN1cnJlbnRRdWVyeUluaXRpYWxTdGF0ZSA9IHF1ZXJ5LnN0YXRlO1xuICAgIHRoaXMucHJldmlvdXNRdWVyeVJlc3VsdCA9IHRoaXMuY3VycmVudFJlc3VsdDtcblxuICAgIGlmICh0aGlzLmhhc0xpc3RlbmVycygpKSB7XG4gICAgICBwcmV2UXVlcnkgPT0gbnVsbCA/IHZvaWQgMCA6IHByZXZRdWVyeS5yZW1vdmVPYnNlcnZlcih0aGlzKTtcbiAgICAgIHF1ZXJ5LmFkZE9ic2VydmVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG9uUXVlcnlVcGRhdGUoYWN0aW9uKSB7XG4gICAgY29uc3Qgbm90aWZ5T3B0aW9ucyA9IHt9O1xuXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIG5vdGlmeU9wdGlvbnMub25TdWNjZXNzID0gIWFjdGlvbi5tYW51YWw7XG4gICAgfSBlbHNlIGlmIChhY3Rpb24udHlwZSA9PT0gJ2Vycm9yJyAmJiAhaXNDYW5jZWxsZWRFcnJvcihhY3Rpb24uZXJyb3IpKSB7XG4gICAgICBub3RpZnlPcHRpb25zLm9uRXJyb3IgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlUmVzdWx0KG5vdGlmeU9wdGlvbnMpO1xuXG4gICAgaWYgKHRoaXMuaGFzTGlzdGVuZXJzKCkpIHtcbiAgICAgIHRoaXMudXBkYXRlVGltZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgbm90aWZ5KG5vdGlmeU9wdGlvbnMpIHtcbiAgICBub3RpZnlNYW5hZ2VyLmJhdGNoKCgpID0+IHtcbiAgICAgIC8vIEZpcnN0IHRyaWdnZXIgdGhlIGNvbmZpZ3VyYXRpb24gY2FsbGJhY2tzXG4gICAgICBpZiAobm90aWZ5T3B0aW9ucy5vblN1Y2Nlc3MpIHtcbiAgICAgICAgdmFyIF90aGlzJG9wdGlvbnMkb25TdWNjZSwgX3RoaXMkb3B0aW9ucywgX3RoaXMkb3B0aW9ucyRvblNldHRsLCBfdGhpcyRvcHRpb25zMjtcblxuICAgICAgICAoX3RoaXMkb3B0aW9ucyRvblN1Y2NlID0gKF90aGlzJG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMpLm9uU3VjY2VzcykgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzJG9wdGlvbnMkb25TdWNjZS5jYWxsKF90aGlzJG9wdGlvbnMsIHRoaXMuY3VycmVudFJlc3VsdC5kYXRhKTtcbiAgICAgICAgKF90aGlzJG9wdGlvbnMkb25TZXR0bCA9IChfdGhpcyRvcHRpb25zMiA9IHRoaXMub3B0aW9ucykub25TZXR0bGVkKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkb3B0aW9ucyRvblNldHRsLmNhbGwoX3RoaXMkb3B0aW9uczIsIHRoaXMuY3VycmVudFJlc3VsdC5kYXRhLCBudWxsKTtcbiAgICAgIH0gZWxzZSBpZiAobm90aWZ5T3B0aW9ucy5vbkVycm9yKSB7XG4gICAgICAgIHZhciBfdGhpcyRvcHRpb25zJG9uRXJyb3IsIF90aGlzJG9wdGlvbnMzLCBfdGhpcyRvcHRpb25zJG9uU2V0dGwyLCBfdGhpcyRvcHRpb25zNDtcblxuICAgICAgICAoX3RoaXMkb3B0aW9ucyRvbkVycm9yID0gKF90aGlzJG9wdGlvbnMzID0gdGhpcy5vcHRpb25zKS5vbkVycm9yKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMkb3B0aW9ucyRvbkVycm9yLmNhbGwoX3RoaXMkb3B0aW9uczMsIHRoaXMuY3VycmVudFJlc3VsdC5lcnJvcik7XG4gICAgICAgIChfdGhpcyRvcHRpb25zJG9uU2V0dGwyID0gKF90aGlzJG9wdGlvbnM0ID0gdGhpcy5vcHRpb25zKS5vblNldHRsZWQpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcyRvcHRpb25zJG9uU2V0dGwyLmNhbGwoX3RoaXMkb3B0aW9uczQsIHVuZGVmaW5lZCwgdGhpcy5jdXJyZW50UmVzdWx0LmVycm9yKTtcbiAgICAgIH0gLy8gVGhlbiB0cmlnZ2VyIHRoZSBsaXN0ZW5lcnNcblxuXG4gICAgICBpZiAobm90aWZ5T3B0aW9ucy5saXN0ZW5lcnMpIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgoe1xuICAgICAgICAgIGxpc3RlbmVyXG4gICAgICAgIH0pID0+IHtcbiAgICAgICAgICBsaXN0ZW5lcih0aGlzLmN1cnJlbnRSZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICAgIH0gLy8gVGhlbiB0aGUgY2FjaGUgbGlzdGVuZXJzXG5cblxuICAgICAgaWYgKG5vdGlmeU9wdGlvbnMuY2FjaGUpIHtcbiAgICAgICAgdGhpcy5jbGllbnQuZ2V0UXVlcnlDYWNoZSgpLm5vdGlmeSh7XG4gICAgICAgICAgcXVlcnk6IHRoaXMuY3VycmVudFF1ZXJ5LFxuICAgICAgICAgIHR5cGU6ICdvYnNlcnZlclJlc3VsdHNVcGRhdGVkJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59XG5cbmZ1bmN0aW9uIHNob3VsZExvYWRPbk1vdW50KHF1ZXJ5LCBvcHRpb25zKSB7XG4gIHJldHVybiBvcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlICYmICFxdWVyeS5zdGF0ZS5kYXRhVXBkYXRlZEF0ICYmICEocXVlcnkuc3RhdGUuc3RhdHVzID09PSAnZXJyb3InICYmIG9wdGlvbnMucmV0cnlPbk1vdW50ID09PSBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEZldGNoT25Nb3VudChxdWVyeSwgb3B0aW9ucykge1xuICByZXR1cm4gc2hvdWxkTG9hZE9uTW91bnQocXVlcnksIG9wdGlvbnMpIHx8IHF1ZXJ5LnN0YXRlLmRhdGFVcGRhdGVkQXQgPiAwICYmIHNob3VsZEZldGNoT24ocXVlcnksIG9wdGlvbnMsIG9wdGlvbnMucmVmZXRjaE9uTW91bnQpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRGZXRjaE9uKHF1ZXJ5LCBvcHRpb25zLCBmaWVsZCkge1xuICBpZiAob3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSkge1xuICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIGZpZWxkID09PSAnZnVuY3Rpb24nID8gZmllbGQocXVlcnkpIDogZmllbGQ7XG4gICAgcmV0dXJuIHZhbHVlID09PSAnYWx3YXlzJyB8fCB2YWx1ZSAhPT0gZmFsc2UgJiYgaXNTdGFsZShxdWVyeSwgb3B0aW9ucyk7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEZldGNoT3B0aW9uYWxseShxdWVyeSwgcHJldlF1ZXJ5LCBvcHRpb25zLCBwcmV2T3B0aW9ucykge1xuICByZXR1cm4gb3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSAmJiAocXVlcnkgIT09IHByZXZRdWVyeSB8fCBwcmV2T3B0aW9ucy5lbmFibGVkID09PSBmYWxzZSkgJiYgKCFvcHRpb25zLnN1c3BlbnNlIHx8IHF1ZXJ5LnN0YXRlLnN0YXR1cyAhPT0gJ2Vycm9yJykgJiYgaXNTdGFsZShxdWVyeSwgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGlzU3RhbGUocXVlcnksIG9wdGlvbnMpIHtcbiAgcmV0dXJuIHF1ZXJ5LmlzU3RhbGVCeVRpbWUob3B0aW9ucy5zdGFsZVRpbWUpO1xufSAvLyB0aGlzIGZ1bmN0aW9uIHdvdWxkIGRlY2lkZSBpZiB3ZSB3aWxsIHVwZGF0ZSB0aGUgb2JzZXJ2ZXIncyAnY3VycmVudCdcbi8vIHByb3BlcnRpZXMgYWZ0ZXIgYW4gb3B0aW1pc3RpYyByZWFkaW5nIHZpYSBnZXRPcHRpbWlzdGljUmVzdWx0XG5cblxuZnVuY3Rpb24gc2hvdWxkQXNzaWduT2JzZXJ2ZXJDdXJyZW50UHJvcGVydGllcyhvYnNlcnZlciwgb3B0aW1pc3RpY1Jlc3VsdCwgb3B0aW9ucykge1xuICAvLyBpdCBpcyBpbXBvcnRhbnQgdG8ga2VlcCB0aGlzIGNvbmRpdGlvbiBsaWtlIHRoaXMgZm9yIHRocmVlIHJlYXNvbnM6XG4gIC8vIDEuIEl0IHdpbGwgZ2V0IHJlbW92ZWQgaW4gdGhlIHY1XG4gIC8vIDIuIGl0IHJlYWRzOiBkb24ndCB1cGRhdGUgdGhlIHByb3BlcnRpZXMgaWYgd2Ugd2FudCB0byBrZWVwIHRoZSBwcmV2aW91c1xuICAvLyBkYXRhLlxuICAvLyAzLiBUaGUgb3Bwb3NpdGUgY29uZGl0aW9uICghb3B0aW9ucy5rZWVwUHJldmlvdXNEYXRhKSB3b3VsZCBmYWxsdGhyb3VnaFxuICAvLyBhbmQgd2lsbCByZXN1bHQgaW4gYSBiYWQgZGVjaXNpb25cbiAgaWYgKG9wdGlvbnMua2VlcFByZXZpb3VzRGF0YSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSAvLyB0aGlzIG1lYW5zIHdlIHdhbnQgdG8gcHV0IHNvbWUgcGxhY2Vob2xkZXIgZGF0YSB3aGVuIHBlbmRpbmcgYW5kIHF1ZXJ5S2V5XG4gIC8vIGNoYW5nZWQuXG5cblxuICBpZiAob3B0aW9ucy5wbGFjZWhvbGRlckRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIHJlLWFzc2lnbiBwcm9wZXJ0aWVzIG9ubHkgaWYgY3VycmVudCBkYXRhIGlzIHBsYWNlaG9sZGVyIGRhdGFcbiAgICAvLyB3aGljaCBtZWFucyB0aGF0IGRhdGEgZGlkIG5vdCBhcnJpdmUgeWV0LCBzbywgaWYgdGhlcmUgaXMgc29tZSBjYWNoZWQgZGF0YVxuICAgIC8vIHdlIG5lZWQgdG8gXCJwcmVwYXJlXCIgdG8gcmVjZWl2ZSBpdFxuICAgIHJldHVybiBvcHRpbWlzdGljUmVzdWx0LmlzUGxhY2Vob2xkZXJEYXRhO1xuICB9IC8vIGlmIHRoZSBuZXdseSBjcmVhdGVkIHJlc3VsdCBpc24ndCB3aGF0IHRoZSBvYnNlcnZlciBpcyBob2xkaW5nIGFzIGN1cnJlbnQsXG4gIC8vIHRoZW4gd2UnbGwgbmVlZCB0byB1cGRhdGUgdGhlIHByb3BlcnRpZXMgYXMgd2VsbFxuXG5cbiAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKG9ic2VydmVyLmdldEN1cnJlbnRSZXN1bHQoKSwgb3B0aW1pc3RpY1Jlc3VsdCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyBiYXNpY2FsbHksIGp1c3Qga2VlcCBwcmV2aW91cyBwcm9wZXJ0aWVzIGlmIG5vdGhpbmcgY2hhbmdlZFxuXG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgeyBRdWVyeU9ic2VydmVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeU9ic2VydmVyLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/removable.mjs": -/*!*******************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/removable.mjs ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Removable: function() { return /* binding */ Removable; }\n/* harmony export */ });\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n\n\nclass Removable {\n destroy() {\n this.clearGcTimeout();\n }\n\n scheduleGc() {\n this.clearGcTimeout();\n\n if ((0,_utils_mjs__WEBPACK_IMPORTED_MODULE_0__.isValidTimeout)(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.cacheTime);\n }\n }\n\n updateCacheTime(newCacheTime) {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(this.cacheTime || 0, newCacheTime != null ? newCacheTime : _utils_mjs__WEBPACK_IMPORTED_MODULE_0__.isServer ? Infinity : 5 * 60 * 1000);\n }\n\n clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n }\n }\n\n}\n\n\n//# sourceMappingURL=removable.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3JlbW92YWJsZS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBdUQ7O0FBRXZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsUUFBUSwwREFBYztBQUN0QjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHlGQUF5RixnREFBUTtBQUNqRzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRXFCO0FBQ3JCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdGFuc3RhY2svcXVlcnktY29yZS9idWlsZC9saWIvcmVtb3ZhYmxlLm1qcz81MTZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVmFsaWRUaW1lb3V0LCBpc1NlcnZlciB9IGZyb20gJy4vdXRpbHMubWpzJztcblxuY2xhc3MgUmVtb3ZhYmxlIHtcbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmNsZWFyR2NUaW1lb3V0KCk7XG4gIH1cblxuICBzY2hlZHVsZUdjKCkge1xuICAgIHRoaXMuY2xlYXJHY1RpbWVvdXQoKTtcblxuICAgIGlmIChpc1ZhbGlkVGltZW91dCh0aGlzLmNhY2hlVGltZSkpIHtcbiAgICAgIHRoaXMuZ2NUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uYWxSZW1vdmUoKTtcbiAgICAgIH0sIHRoaXMuY2FjaGVUaW1lKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDYWNoZVRpbWUobmV3Q2FjaGVUaW1lKSB7XG4gICAgLy8gRGVmYXVsdCB0byA1IG1pbnV0ZXMgKEluZmluaXR5IGZvciBzZXJ2ZXItc2lkZSkgaWYgbm8gY2FjaGUgdGltZSBpcyBzZXRcbiAgICB0aGlzLmNhY2hlVGltZSA9IE1hdGgubWF4KHRoaXMuY2FjaGVUaW1lIHx8IDAsIG5ld0NhY2hlVGltZSAhPSBudWxsID8gbmV3Q2FjaGVUaW1lIDogaXNTZXJ2ZXIgPyBJbmZpbml0eSA6IDUgKiA2MCAqIDEwMDApO1xuICB9XG5cbiAgY2xlYXJHY1RpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMuZ2NUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5nY1RpbWVvdXQpO1xuICAgICAgdGhpcy5nY1RpbWVvdXQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbn1cblxuZXhwb3J0IHsgUmVtb3ZhYmxlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW1vdmFibGUubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/removable.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/retryer.mjs": -/*!*****************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/retryer.mjs ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CancelledError: function() { return /* binding */ CancelledError; },\n/* harmony export */ canFetch: function() { return /* binding */ canFetch; },\n/* harmony export */ createRetryer: function() { return /* binding */ createRetryer; },\n/* harmony export */ isCancelledError: function() { return /* binding */ isCancelledError; }\n/* harmony export */ });\n/* harmony import */ var _focusManager_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./focusManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/focusManager.mjs\");\n/* harmony import */ var _onlineManager_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./onlineManager.mjs */ \"./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/query-core/build/lib/utils.mjs\");\n\n\n\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\n\nfunction canFetch(networkMode) {\n return (networkMode != null ? networkMode : 'online') === 'online' ? _onlineManager_mjs__WEBPACK_IMPORTED_MODULE_0__.onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n }\n\n}\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n const cancel = cancelOptions => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort == null ? void 0 : config.abort();\n }\n };\n\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n\n const shouldPause = () => !_focusManager_mjs__WEBPACK_IMPORTED_MODULE_1__.focusManager.isFocused() || config.networkMode !== 'always' && !_onlineManager_mjs__WEBPACK_IMPORTED_MODULE_0__.onlineManager.isOnline();\n\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n const canContinue = isResolved || !shouldPause();\n\n if (canContinue) {\n continueResolve(value);\n }\n\n return canContinue;\n };\n\n config.onPause == null ? void 0 : config.onPause();\n }).then(() => {\n continueFn = undefined;\n\n if (!isResolved) {\n config.onContinue == null ? void 0 : config.onContinue();\n }\n });\n }; // Create loop function\n\n\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n\n let promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n const retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n const retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n const delay = typeof retryDelay === 'function' ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === 'number' && failureCount < retry || typeof retry === 'function' && retry(failureCount, error);\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(failureCount, error); // Delay\n\n (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_2__.sleep)(delay) // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn == null ? void 0 : continueFn();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\n\n\n//# sourceMappingURL=retryer.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3JldHJ5ZXIubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBa0Q7QUFDRTtBQUNoQjs7QUFFcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUVBQXVFLDZEQUFhO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw2QkFBNkIsMkRBQVksb0RBQW9ELDZEQUFhOztBQUUxRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFROzs7QUFHUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNCQUFzQjs7QUFFdEIsMkVBQTJFOztBQUUzRSxNQUFNLGlEQUFLO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTCxLQUFLOzs7QUFHTDtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVxRTtBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3JldHJ5ZXIubWpzPzg3NmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9jdXNNYW5hZ2VyIH0gZnJvbSAnLi9mb2N1c01hbmFnZXIubWpzJztcbmltcG9ydCB7IG9ubGluZU1hbmFnZXIgfSBmcm9tICcuL29ubGluZU1hbmFnZXIubWpzJztcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSAnLi91dGlscy5tanMnO1xuXG5mdW5jdGlvbiBkZWZhdWx0UmV0cnlEZWxheShmYWlsdXJlQ291bnQpIHtcbiAgcmV0dXJuIE1hdGgubWluKDEwMDAgKiAyICoqIGZhaWx1cmVDb3VudCwgMzAwMDApO1xufVxuXG5mdW5jdGlvbiBjYW5GZXRjaChuZXR3b3JrTW9kZSkge1xuICByZXR1cm4gKG5ldHdvcmtNb2RlICE9IG51bGwgPyBuZXR3b3JrTW9kZSA6ICdvbmxpbmUnKSA9PT0gJ29ubGluZScgPyBvbmxpbmVNYW5hZ2VyLmlzT25saW5lKCkgOiB0cnVlO1xufVxuY2xhc3MgQ2FuY2VsbGVkRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgdGhpcy5yZXZlcnQgPSBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnJldmVydDtcbiAgICB0aGlzLnNpbGVudCA9IG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMuc2lsZW50O1xuICB9XG5cbn1cbmZ1bmN0aW9uIGlzQ2FuY2VsbGVkRXJyb3IodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgQ2FuY2VsbGVkRXJyb3I7XG59XG5mdW5jdGlvbiBjcmVhdGVSZXRyeWVyKGNvbmZpZykge1xuICBsZXQgaXNSZXRyeUNhbmNlbGxlZCA9IGZhbHNlO1xuICBsZXQgZmFpbHVyZUNvdW50ID0gMDtcbiAgbGV0IGlzUmVzb2x2ZWQgPSBmYWxzZTtcbiAgbGV0IGNvbnRpbnVlRm47XG4gIGxldCBwcm9taXNlUmVzb2x2ZTtcbiAgbGV0IHByb21pc2VSZWplY3Q7XG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgob3V0ZXJSZXNvbHZlLCBvdXRlclJlamVjdCkgPT4ge1xuICAgIHByb21pc2VSZXNvbHZlID0gb3V0ZXJSZXNvbHZlO1xuICAgIHByb21pc2VSZWplY3QgPSBvdXRlclJlamVjdDtcbiAgfSk7XG5cbiAgY29uc3QgY2FuY2VsID0gY2FuY2VsT3B0aW9ucyA9PiB7XG4gICAgaWYgKCFpc1Jlc29sdmVkKSB7XG4gICAgICByZWplY3QobmV3IENhbmNlbGxlZEVycm9yKGNhbmNlbE9wdGlvbnMpKTtcbiAgICAgIGNvbmZpZy5hYm9ydCA9PSBudWxsID8gdm9pZCAwIDogY29uZmlnLmFib3J0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNhbmNlbFJldHJ5ID0gKCkgPT4ge1xuICAgIGlzUmV0cnlDYW5jZWxsZWQgPSB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGNvbnRpbnVlUmV0cnkgPSAoKSA9PiB7XG4gICAgaXNSZXRyeUNhbmNlbGxlZCA9IGZhbHNlO1xuICB9O1xuXG4gIGNvbnN0IHNob3VsZFBhdXNlID0gKCkgPT4gIWZvY3VzTWFuYWdlci5pc0ZvY3VzZWQoKSB8fCBjb25maWcubmV0d29ya01vZGUgIT09ICdhbHdheXMnICYmICFvbmxpbmVNYW5hZ2VyLmlzT25saW5lKCk7XG5cbiAgY29uc3QgcmVzb2x2ZSA9IHZhbHVlID0+IHtcbiAgICBpZiAoIWlzUmVzb2x2ZWQpIHtcbiAgICAgIGlzUmVzb2x2ZWQgPSB0cnVlO1xuICAgICAgY29uZmlnLm9uU3VjY2VzcyA9PSBudWxsID8gdm9pZCAwIDogY29uZmlnLm9uU3VjY2Vzcyh2YWx1ZSk7XG4gICAgICBjb250aW51ZUZuID09IG51bGwgPyB2b2lkIDAgOiBjb250aW51ZUZuKCk7XG4gICAgICBwcm9taXNlUmVzb2x2ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlamVjdCA9IHZhbHVlID0+IHtcbiAgICBpZiAoIWlzUmVzb2x2ZWQpIHtcbiAgICAgIGlzUmVzb2x2ZWQgPSB0cnVlO1xuICAgICAgY29uZmlnLm9uRXJyb3IgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbmZpZy5vbkVycm9yKHZhbHVlKTtcbiAgICAgIGNvbnRpbnVlRm4gPT0gbnVsbCA/IHZvaWQgMCA6IGNvbnRpbnVlRm4oKTtcbiAgICAgIHByb21pc2VSZWplY3QodmFsdWUpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBwYXVzZSA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoY29udGludWVSZXNvbHZlID0+IHtcbiAgICAgIGNvbnRpbnVlRm4gPSB2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbkNvbnRpbnVlID0gaXNSZXNvbHZlZCB8fCAhc2hvdWxkUGF1c2UoKTtcblxuICAgICAgICBpZiAoY2FuQ29udGludWUpIHtcbiAgICAgICAgICBjb250aW51ZVJlc29sdmUodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhbkNvbnRpbnVlO1xuICAgICAgfTtcblxuICAgICAgY29uZmlnLm9uUGF1c2UgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbmZpZy5vblBhdXNlKCk7XG4gICAgfSkudGhlbigoKSA9PiB7XG4gICAgICBjb250aW51ZUZuID0gdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoIWlzUmVzb2x2ZWQpIHtcbiAgICAgICAgY29uZmlnLm9uQ29udGludWUgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbmZpZy5vbkNvbnRpbnVlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07IC8vIENyZWF0ZSBsb29wIGZ1bmN0aW9uXG5cblxuICBjb25zdCBydW4gPSAoKSA9PiB7XG4gICAgLy8gRG8gbm90aGluZyBpZiBhbHJlYWR5IHJlc29sdmVkXG4gICAgaWYgKGlzUmVzb2x2ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcHJvbWlzZU9yVmFsdWU7IC8vIEV4ZWN1dGUgcXVlcnlcblxuICAgIHRyeSB7XG4gICAgICBwcm9taXNlT3JWYWx1ZSA9IGNvbmZpZy5mbigpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBwcm9taXNlT3JWYWx1ZSA9IFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICB9XG5cbiAgICBQcm9taXNlLnJlc29sdmUocHJvbWlzZU9yVmFsdWUpLnRoZW4ocmVzb2x2ZSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgdmFyIF9jb25maWckcmV0cnksIF9jb25maWckcmV0cnlEZWxheTtcblxuICAgICAgLy8gU3RvcCBpZiB0aGUgZmV0Y2ggaXMgYWxyZWFkeSByZXNvbHZlZFxuICAgICAgaWYgKGlzUmVzb2x2ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBEbyB3ZSBuZWVkIHRvIHJldHJ5IHRoZSByZXF1ZXN0P1xuXG5cbiAgICAgIGNvbnN0IHJldHJ5ID0gKF9jb25maWckcmV0cnkgPSBjb25maWcucmV0cnkpICE9IG51bGwgPyBfY29uZmlnJHJldHJ5IDogMztcbiAgICAgIGNvbnN0IHJldHJ5RGVsYXkgPSAoX2NvbmZpZyRyZXRyeURlbGF5ID0gY29uZmlnLnJldHJ5RGVsYXkpICE9IG51bGwgPyBfY29uZmlnJHJldHJ5RGVsYXkgOiBkZWZhdWx0UmV0cnlEZWxheTtcbiAgICAgIGNvbnN0IGRlbGF5ID0gdHlwZW9mIHJldHJ5RGVsYXkgPT09ICdmdW5jdGlvbicgPyByZXRyeURlbGF5KGZhaWx1cmVDb3VudCwgZXJyb3IpIDogcmV0cnlEZWxheTtcbiAgICAgIGNvbnN0IHNob3VsZFJldHJ5ID0gcmV0cnkgPT09IHRydWUgfHwgdHlwZW9mIHJldHJ5ID09PSAnbnVtYmVyJyAmJiBmYWlsdXJlQ291bnQgPCByZXRyeSB8fCB0eXBlb2YgcmV0cnkgPT09ICdmdW5jdGlvbicgJiYgcmV0cnkoZmFpbHVyZUNvdW50LCBlcnJvcik7XG5cbiAgICAgIGlmIChpc1JldHJ5Q2FuY2VsbGVkIHx8ICFzaG91bGRSZXRyeSkge1xuICAgICAgICAvLyBXZSBhcmUgZG9uZSBpZiB0aGUgcXVlcnkgZG9lcyBub3QgbmVlZCB0byBiZSByZXRyaWVkXG4gICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZmFpbHVyZUNvdW50Kys7IC8vIE5vdGlmeSBvbiBmYWlsXG5cbiAgICAgIGNvbmZpZy5vbkZhaWwgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbmZpZy5vbkZhaWwoZmFpbHVyZUNvdW50LCBlcnJvcik7IC8vIERlbGF5XG5cbiAgICAgIHNsZWVwKGRlbGF5KSAvLyBQYXVzZSBpZiB0aGUgZG9jdW1lbnQgaXMgbm90IHZpc2libGUgb3Igd2hlbiB0aGUgZGV2aWNlIGlzIG9mZmxpbmVcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHNob3VsZFBhdXNlKCkpIHtcbiAgICAgICAgICByZXR1cm4gcGF1c2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAoaXNSZXRyeUNhbmNlbGxlZCkge1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9OyAvLyBTdGFydCBsb29wXG5cblxuICBpZiAoY2FuRmV0Y2goY29uZmlnLm5ldHdvcmtNb2RlKSkge1xuICAgIHJ1bigpO1xuICB9IGVsc2Uge1xuICAgIHBhdXNlKCkudGhlbihydW4pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9taXNlLFxuICAgIGNhbmNlbCxcbiAgICBjb250aW51ZTogKCkgPT4ge1xuICAgICAgY29uc3QgZGlkQ29udGludWUgPSBjb250aW51ZUZuID09IG51bGwgPyB2b2lkIDAgOiBjb250aW51ZUZuKCk7XG4gICAgICByZXR1cm4gZGlkQ29udGludWUgPyBwcm9taXNlIDogUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfSxcbiAgICBjYW5jZWxSZXRyeSxcbiAgICBjb250aW51ZVJldHJ5XG4gIH07XG59XG5cbmV4cG9ydCB7IENhbmNlbGxlZEVycm9yLCBjYW5GZXRjaCwgY3JlYXRlUmV0cnllciwgaXNDYW5jZWxsZWRFcnJvciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmV0cnllci5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/retryer.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/subscribable.mjs": -/*!**********************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/subscribable.mjs ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Subscribable: function() { return /* binding */ Subscribable; }\n/* harmony export */ });\nclass Subscribable {\n constructor() {\n this.listeners = new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n\n subscribe(listener) {\n const identity = {\n listener\n };\n this.listeners.add(identity);\n this.onSubscribe();\n return () => {\n this.listeners.delete(identity);\n this.onUnsubscribe();\n };\n }\n\n hasListeners() {\n return this.listeners.size > 0;\n }\n\n onSubscribe() {// Do nothing\n }\n\n onUnsubscribe() {// Do nothing\n }\n\n}\n\n\n//# sourceMappingURL=subscribable.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3N1YnNjcmliYWJsZS5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCO0FBQ2pCOztBQUVBLG1CQUFtQjtBQUNuQjs7QUFFQTs7QUFFd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9xdWVyeS1jb3JlL2J1aWxkL2xpYi9zdWJzY3JpYmFibGUubWpzPzgwZjEiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgU3Vic2NyaWJhYmxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5saXN0ZW5lcnMgPSBuZXcgU2V0KCk7XG4gICAgdGhpcy5zdWJzY3JpYmUgPSB0aGlzLnN1YnNjcmliZS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc3Vic2NyaWJlKGxpc3RlbmVyKSB7XG4gICAgY29uc3QgaWRlbnRpdHkgPSB7XG4gICAgICBsaXN0ZW5lclxuICAgIH07XG4gICAgdGhpcy5saXN0ZW5lcnMuYWRkKGlkZW50aXR5KTtcbiAgICB0aGlzLm9uU3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMubGlzdGVuZXJzLmRlbGV0ZShpZGVudGl0eSk7XG4gICAgICB0aGlzLm9uVW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICB9XG5cbiAgaGFzTGlzdGVuZXJzKCkge1xuICAgIHJldHVybiB0aGlzLmxpc3RlbmVycy5zaXplID4gMDtcbiAgfVxuXG4gIG9uU3Vic2NyaWJlKCkgey8vIERvIG5vdGhpbmdcbiAgfVxuXG4gIG9uVW5zdWJzY3JpYmUoKSB7Ly8gRG8gbm90aGluZ1xuICB9XG5cbn1cblxuZXhwb3J0IHsgU3Vic2NyaWJhYmxlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdWJzY3JpYmFibGUubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/subscribable.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-core/build/lib/utils.mjs": -/*!***************************************************************!*\ - !*** ./node_modules/@tanstack/query-core/build/lib/utils.mjs ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ difference: function() { return /* binding */ difference; },\n/* harmony export */ functionalUpdate: function() { return /* binding */ functionalUpdate; },\n/* harmony export */ getAbortController: function() { return /* binding */ getAbortController; },\n/* harmony export */ hashQueryKey: function() { return /* binding */ hashQueryKey; },\n/* harmony export */ hashQueryKeyByOptions: function() { return /* binding */ hashQueryKeyByOptions; },\n/* harmony export */ isError: function() { return /* binding */ isError; },\n/* harmony export */ isPlainArray: function() { return /* binding */ isPlainArray; },\n/* harmony export */ isPlainObject: function() { return /* binding */ isPlainObject; },\n/* harmony export */ isQueryKey: function() { return /* binding */ isQueryKey; },\n/* harmony export */ isServer: function() { return /* binding */ isServer; },\n/* harmony export */ isValidTimeout: function() { return /* binding */ isValidTimeout; },\n/* harmony export */ matchMutation: function() { return /* binding */ matchMutation; },\n/* harmony export */ matchQuery: function() { return /* binding */ matchQuery; },\n/* harmony export */ noop: function() { return /* binding */ noop; },\n/* harmony export */ parseFilterArgs: function() { return /* binding */ parseFilterArgs; },\n/* harmony export */ parseMutationArgs: function() { return /* binding */ parseMutationArgs; },\n/* harmony export */ parseMutationFilterArgs: function() { return /* binding */ parseMutationFilterArgs; },\n/* harmony export */ parseQueryArgs: function() { return /* binding */ parseQueryArgs; },\n/* harmony export */ partialDeepEqual: function() { return /* binding */ partialDeepEqual; },\n/* harmony export */ partialMatchKey: function() { return /* binding */ partialMatchKey; },\n/* harmony export */ replaceAt: function() { return /* binding */ replaceAt; },\n/* harmony export */ replaceData: function() { return /* binding */ replaceData; },\n/* harmony export */ replaceEqualDeep: function() { return /* binding */ replaceEqualDeep; },\n/* harmony export */ scheduleMicrotask: function() { return /* binding */ scheduleMicrotask; },\n/* harmony export */ shallowEqualObjects: function() { return /* binding */ shallowEqualObjects; },\n/* harmony export */ sleep: function() { return /* binding */ sleep; },\n/* harmony export */ timeUntilStale: function() { return /* binding */ timeUntilStale; }\n/* harmony export */ });\n// TYPES\n// UTILS\nconst isServer = typeof window === 'undefined' || 'Deno' in window;\nfunction noop() {\n return undefined;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nfunction difference(array1, array2) {\n return array1.filter(x => !array2.includes(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3,\n queryKey: arg1,\n queryFn: arg2\n };\n }\n\n return { ...arg2,\n queryKey: arg1\n };\n}\nfunction parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3,\n mutationKey: arg1,\n mutationFn: arg2\n };\n }\n\n return { ...arg2,\n mutationKey: arg1\n };\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2,\n mutationFn: arg1\n };\n }\n\n return { ...arg1\n };\n}\nfunction parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n queryKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction parseMutationFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n mutationKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction matchQuery(filters, query) {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive();\n\n if (type === 'active' && !isActive) {\n return false;\n }\n\n if (type === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetchStatus !== 'undefined' && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const {\n exact,\n fetching,\n predicate,\n mutationKey\n } = filters;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\n\nfunction hashQueryKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nfunction partialMatchKey(a, b) {\n return partialDeepEqual(a, b);\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nfunction partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(key => !partialDeepEqual(a[key], b[key]));\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n const array = isPlainArray(a) && isPlainArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n const ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n const prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isQueryKey(value) {\n return Array.isArray(value);\n}\nfunction isError(value) {\n return value instanceof Error;\n}\nfunction sleep(timeout) {\n return new Promise(resolve => {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n\n return;\n}\nfunction replaceData(prevData, data, options) {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual != null && options.isDataEqual(prevData, data)) {\n return prevData;\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data);\n }\n\n return data;\n}\n\n\n//# sourceMappingURL=utils.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3V0aWxzLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0EsR0FBRyxxQkFBcUI7QUFDeEI7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBLEdBQUcscUJBQXFCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLFdBQVc7QUFDL0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUV1YTtBQUN2YSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LWNvcmUvYnVpbGQvbGliL3V0aWxzLm1qcz9mOTc3Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRZUEVTXG4vLyBVVElMU1xuY29uc3QgaXNTZXJ2ZXIgPSB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCAnRGVubycgaW4gd2luZG93O1xuZnVuY3Rpb24gbm9vcCgpIHtcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGZ1bmN0aW9uYWxVcGRhdGUodXBkYXRlciwgaW5wdXQpIHtcbiAgcmV0dXJuIHR5cGVvZiB1cGRhdGVyID09PSAnZnVuY3Rpb24nID8gdXBkYXRlcihpbnB1dCkgOiB1cGRhdGVyO1xufVxuZnVuY3Rpb24gaXNWYWxpZFRpbWVvdXQodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgPj0gMCAmJiB2YWx1ZSAhPT0gSW5maW5pdHk7XG59XG5mdW5jdGlvbiBkaWZmZXJlbmNlKGFycmF5MSwgYXJyYXkyKSB7XG4gIHJldHVybiBhcnJheTEuZmlsdGVyKHggPT4gIWFycmF5Mi5pbmNsdWRlcyh4KSk7XG59XG5mdW5jdGlvbiByZXBsYWNlQXQoYXJyYXksIGluZGV4LCB2YWx1ZSkge1xuICBjb25zdCBjb3B5ID0gYXJyYXkuc2xpY2UoMCk7XG4gIGNvcHlbaW5kZXhdID0gdmFsdWU7XG4gIHJldHVybiBjb3B5O1xufVxuZnVuY3Rpb24gdGltZVVudGlsU3RhbGUodXBkYXRlZEF0LCBzdGFsZVRpbWUpIHtcbiAgcmV0dXJuIE1hdGgubWF4KHVwZGF0ZWRBdCArIChzdGFsZVRpbWUgfHwgMCkgLSBEYXRlLm5vdygpLCAwKTtcbn1cbmZ1bmN0aW9uIHBhcnNlUXVlcnlBcmdzKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgaWYgKCFpc1F1ZXJ5S2V5KGFyZzEpKSB7XG4gICAgcmV0dXJuIGFyZzE7XG4gIH1cblxuICBpZiAodHlwZW9mIGFyZzIgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4geyAuLi5hcmczLFxuICAgICAgcXVlcnlLZXk6IGFyZzEsXG4gICAgICBxdWVyeUZuOiBhcmcyXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmFyZzIsXG4gICAgcXVlcnlLZXk6IGFyZzFcbiAgfTtcbn1cbmZ1bmN0aW9uIHBhcnNlTXV0YXRpb25BcmdzKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgaWYgKGlzUXVlcnlLZXkoYXJnMSkpIHtcbiAgICBpZiAodHlwZW9mIGFyZzIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB7IC4uLmFyZzMsXG4gICAgICAgIG11dGF0aW9uS2V5OiBhcmcxLFxuICAgICAgICBtdXRhdGlvbkZuOiBhcmcyXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IC4uLmFyZzIsXG4gICAgICBtdXRhdGlvbktleTogYXJnMVxuICAgIH07XG4gIH1cblxuICBpZiAodHlwZW9mIGFyZzEgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4geyAuLi5hcmcyLFxuICAgICAgbXV0YXRpb25GbjogYXJnMVxuICAgIH07XG4gIH1cblxuICByZXR1cm4geyAuLi5hcmcxXG4gIH07XG59XG5mdW5jdGlvbiBwYXJzZUZpbHRlckFyZ3MoYXJnMSwgYXJnMiwgYXJnMykge1xuICByZXR1cm4gaXNRdWVyeUtleShhcmcxKSA/IFt7IC4uLmFyZzIsXG4gICAgcXVlcnlLZXk6IGFyZzFcbiAgfSwgYXJnM10gOiBbYXJnMSB8fCB7fSwgYXJnMl07XG59XG5mdW5jdGlvbiBwYXJzZU11dGF0aW9uRmlsdGVyQXJncyhhcmcxLCBhcmcyLCBhcmczKSB7XG4gIHJldHVybiBpc1F1ZXJ5S2V5KGFyZzEpID8gW3sgLi4uYXJnMixcbiAgICBtdXRhdGlvbktleTogYXJnMVxuICB9LCBhcmczXSA6IFthcmcxIHx8IHt9LCBhcmcyXTtcbn1cbmZ1bmN0aW9uIG1hdGNoUXVlcnkoZmlsdGVycywgcXVlcnkpIHtcbiAgY29uc3Qge1xuICAgIHR5cGUgPSAnYWxsJyxcbiAgICBleGFjdCxcbiAgICBmZXRjaFN0YXR1cyxcbiAgICBwcmVkaWNhdGUsXG4gICAgcXVlcnlLZXksXG4gICAgc3RhbGVcbiAgfSA9IGZpbHRlcnM7XG5cbiAgaWYgKGlzUXVlcnlLZXkocXVlcnlLZXkpKSB7XG4gICAgaWYgKGV4YWN0KSB7XG4gICAgICBpZiAocXVlcnkucXVlcnlIYXNoICE9PSBoYXNoUXVlcnlLZXlCeU9wdGlvbnMocXVlcnlLZXksIHF1ZXJ5Lm9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFwYXJ0aWFsTWF0Y2hLZXkocXVlcnkucXVlcnlLZXksIHF1ZXJ5S2V5KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlICE9PSAnYWxsJykge1xuICAgIGNvbnN0IGlzQWN0aXZlID0gcXVlcnkuaXNBY3RpdmUoKTtcblxuICAgIGlmICh0eXBlID09PSAnYWN0aXZlJyAmJiAhaXNBY3RpdmUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2luYWN0aXZlJyAmJiBpc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2Ygc3RhbGUgPT09ICdib29sZWFuJyAmJiBxdWVyeS5pc1N0YWxlKCkgIT09IHN0YWxlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmZXRjaFN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcgJiYgZmV0Y2hTdGF0dXMgIT09IHF1ZXJ5LnN0YXRlLmZldGNoU3RhdHVzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHByZWRpY2F0ZSAmJiAhcHJlZGljYXRlKHF1ZXJ5KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gbWF0Y2hNdXRhdGlvbihmaWx0ZXJzLCBtdXRhdGlvbikge1xuICBjb25zdCB7XG4gICAgZXhhY3QsXG4gICAgZmV0Y2hpbmcsXG4gICAgcHJlZGljYXRlLFxuICAgIG11dGF0aW9uS2V5XG4gIH0gPSBmaWx0ZXJzO1xuXG4gIGlmIChpc1F1ZXJ5S2V5KG11dGF0aW9uS2V5KSkge1xuICAgIGlmICghbXV0YXRpb24ub3B0aW9ucy5tdXRhdGlvbktleSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChleGFjdCkge1xuICAgICAgaWYgKGhhc2hRdWVyeUtleShtdXRhdGlvbi5vcHRpb25zLm11dGF0aW9uS2V5KSAhPT0gaGFzaFF1ZXJ5S2V5KG11dGF0aW9uS2V5KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghcGFydGlhbE1hdGNoS2V5KG11dGF0aW9uLm9wdGlvbnMubXV0YXRpb25LZXksIG11dGF0aW9uS2V5KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgZmV0Y2hpbmcgPT09ICdib29sZWFuJyAmJiBtdXRhdGlvbi5zdGF0ZS5zdGF0dXMgPT09ICdsb2FkaW5nJyAhPT0gZmV0Y2hpbmcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAocHJlZGljYXRlICYmICFwcmVkaWNhdGUobXV0YXRpb24pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBoYXNoUXVlcnlLZXlCeU9wdGlvbnMocXVlcnlLZXksIG9wdGlvbnMpIHtcbiAgY29uc3QgaGFzaEZuID0gKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMucXVlcnlLZXlIYXNoRm4pIHx8IGhhc2hRdWVyeUtleTtcbiAgcmV0dXJuIGhhc2hGbihxdWVyeUtleSk7XG59XG4vKipcbiAqIERlZmF1bHQgcXVlcnkga2V5cyBoYXNoIGZ1bmN0aW9uLlxuICogSGFzaGVzIHRoZSB2YWx1ZSBpbnRvIGEgc3RhYmxlIGhhc2guXG4gKi9cblxuZnVuY3Rpb24gaGFzaFF1ZXJ5S2V5KHF1ZXJ5S2V5KSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShxdWVyeUtleSwgKF8sIHZhbCkgPT4gaXNQbGFpbk9iamVjdCh2YWwpID8gT2JqZWN0LmtleXModmFsKS5zb3J0KCkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xuICAgIHJlc3VsdFtrZXldID0gdmFsW2tleV07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwge30pIDogdmFsKTtcbn1cbi8qKlxuICogQ2hlY2tzIGlmIGtleSBgYmAgcGFydGlhbGx5IG1hdGNoZXMgd2l0aCBrZXkgYGFgLlxuICovXG5cbmZ1bmN0aW9uIHBhcnRpYWxNYXRjaEtleShhLCBiKSB7XG4gIHJldHVybiBwYXJ0aWFsRGVlcEVxdWFsKGEsIGIpO1xufVxuLyoqXG4gKiBDaGVja3MgaWYgYGJgIHBhcnRpYWxseSBtYXRjaGVzIHdpdGggYGFgLlxuICovXG5cbmZ1bmN0aW9uIHBhcnRpYWxEZWVwRXF1YWwoYSwgYikge1xuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChhICYmIGIgJiYgdHlwZW9mIGEgPT09ICdvYmplY3QnICYmIHR5cGVvZiBiID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiAhT2JqZWN0LmtleXMoYikuc29tZShrZXkgPT4gIXBhcnRpYWxEZWVwRXF1YWwoYVtrZXldLCBiW2tleV0pKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbi8qKlxuICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIGBhYCBpZiBgYmAgaXMgZGVlcGx5IGVxdWFsLlxuICogSWYgbm90LCBpdCB3aWxsIHJlcGxhY2UgYW55IGRlZXBseSBlcXVhbCBjaGlsZHJlbiBvZiBgYmAgd2l0aCB0aG9zZSBvZiBgYWAuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIGZvciBzdHJ1Y3R1cmFsIHNoYXJpbmcgYmV0d2VlbiBKU09OIHZhbHVlcyBmb3IgZXhhbXBsZS5cbiAqL1xuXG5mdW5jdGlvbiByZXBsYWNlRXF1YWxEZWVwKGEsIGIpIHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gYTtcbiAgfVxuXG4gIGNvbnN0IGFycmF5ID0gaXNQbGFpbkFycmF5KGEpICYmIGlzUGxhaW5BcnJheShiKTtcblxuICBpZiAoYXJyYXkgfHwgaXNQbGFpbk9iamVjdChhKSAmJiBpc1BsYWluT2JqZWN0KGIpKSB7XG4gICAgY29uc3QgYVNpemUgPSBhcnJheSA/IGEubGVuZ3RoIDogT2JqZWN0LmtleXMoYSkubGVuZ3RoO1xuICAgIGNvbnN0IGJJdGVtcyA9IGFycmF5ID8gYiA6IE9iamVjdC5rZXlzKGIpO1xuICAgIGNvbnN0IGJTaXplID0gYkl0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBjb3B5ID0gYXJyYXkgPyBbXSA6IHt9O1xuICAgIGxldCBlcXVhbEl0ZW1zID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYlNpemU7IGkrKykge1xuICAgICAgY29uc3Qga2V5ID0gYXJyYXkgPyBpIDogYkl0ZW1zW2ldO1xuICAgICAgY29weVtrZXldID0gcmVwbGFjZUVxdWFsRGVlcChhW2tleV0sIGJba2V5XSk7XG5cbiAgICAgIGlmIChjb3B5W2tleV0gPT09IGFba2V5XSkge1xuICAgICAgICBlcXVhbEl0ZW1zKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFTaXplID09PSBiU2l6ZSAmJiBlcXVhbEl0ZW1zID09PSBhU2l6ZSA/IGEgOiBjb3B5O1xuICB9XG5cbiAgcmV0dXJuIGI7XG59XG4vKipcbiAqIFNoYWxsb3cgY29tcGFyZSBvYmplY3RzLiBPbmx5IHdvcmtzIHdpdGggb2JqZWN0cyB0aGF0IGFsd2F5cyBoYXZlIHRoZSBzYW1lIHByb3BlcnRpZXMuXG4gKi9cblxuZnVuY3Rpb24gc2hhbGxvd0VxdWFsT2JqZWN0cyhhLCBiKSB7XG4gIGlmIChhICYmICFiIHx8IGIgJiYgIWEpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBpbiBhKSB7XG4gICAgaWYgKGFba2V5XSAhPT0gYltrZXldKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBpc1BsYWluQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aDtcbn0gLy8gQ29waWVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L2lzLXBsYWluLW9iamVjdFxuXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KG8pIHtcbiAgaWYgKCFoYXNPYmplY3RQcm90b3R5cGUobykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gLy8gSWYgaGFzIG1vZGlmaWVkIGNvbnN0cnVjdG9yXG5cblxuICBjb25zdCBjdG9yID0gby5jb25zdHJ1Y3RvcjtcblxuICBpZiAodHlwZW9mIGN0b3IgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gSWYgaGFzIG1vZGlmaWVkIHByb3RvdHlwZVxuXG5cbiAgY29uc3QgcHJvdCA9IGN0b3IucHJvdG90eXBlO1xuXG4gIGlmICghaGFzT2JqZWN0UHJvdG90eXBlKHByb3QpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIElmIGNvbnN0cnVjdG9yIGRvZXMgbm90IGhhdmUgYW4gT2JqZWN0LXNwZWNpZmljIG1ldGhvZFxuXG5cbiAgaWYgKCFwcm90Lmhhc093blByb3BlcnR5KCdpc1Byb3RvdHlwZU9mJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gLy8gTW9zdCBsaWtlbHkgYSBwbGFpbiBPYmplY3RcblxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBoYXNPYmplY3RQcm90b3R5cGUobykge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pID09PSAnW29iamVjdCBPYmplY3RdJztcbn1cblxuZnVuY3Rpb24gaXNRdWVyeUtleSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5mdW5jdGlvbiBpc0Vycm9yKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEVycm9yO1xufVxuZnVuY3Rpb24gc2xlZXAodGltZW91dCkge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCB0aW1lb3V0KTtcbiAgfSk7XG59XG4vKipcbiAqIFNjaGVkdWxlcyBhIG1pY3JvdGFzay5cbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzY2hlZHVsZSBzdGF0ZSB1cGRhdGVzIGFmdGVyIHJlbmRlcmluZy5cbiAqL1xuXG5mdW5jdGlvbiBzY2hlZHVsZU1pY3JvdGFzayhjYWxsYmFjaykge1xuICBzbGVlcCgwKS50aGVuKGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGdldEFib3J0Q29udHJvbGxlcigpIHtcbiAgaWYgKHR5cGVvZiBBYm9ydENvbnRyb2xsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICB9XG5cbiAgcmV0dXJuO1xufVxuZnVuY3Rpb24gcmVwbGFjZURhdGEocHJldkRhdGEsIGRhdGEsIG9wdGlvbnMpIHtcbiAgLy8gVXNlIHByZXYgZGF0YSBpZiBhbiBpc0RhdGFFcXVhbCBmdW5jdGlvbiBpcyBkZWZpbmVkIGFuZCByZXR1cm5zIGB0cnVlYFxuICBpZiAob3B0aW9ucy5pc0RhdGFFcXVhbCAhPSBudWxsICYmIG9wdGlvbnMuaXNEYXRhRXF1YWwocHJldkRhdGEsIGRhdGEpKSB7XG4gICAgcmV0dXJuIHByZXZEYXRhO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLnN0cnVjdHVyYWxTaGFyaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuc3RydWN0dXJhbFNoYXJpbmcocHJldkRhdGEsIGRhdGEpO1xuICB9IGVsc2UgaWYgKG9wdGlvbnMuc3RydWN0dXJhbFNoYXJpbmcgIT09IGZhbHNlKSB7XG4gICAgLy8gU3RydWN0dXJhbGx5IHNoYXJlIGRhdGEgYmV0d2VlbiBwcmV2IGFuZCBuZXcgZGF0YSBpZiBuZWVkZWRcbiAgICByZXR1cm4gcmVwbGFjZUVxdWFsRGVlcChwcmV2RGF0YSwgZGF0YSk7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuZXhwb3J0IHsgZGlmZmVyZW5jZSwgZnVuY3Rpb25hbFVwZGF0ZSwgZ2V0QWJvcnRDb250cm9sbGVyLCBoYXNoUXVlcnlLZXksIGhhc2hRdWVyeUtleUJ5T3B0aW9ucywgaXNFcnJvciwgaXNQbGFpbkFycmF5LCBpc1BsYWluT2JqZWN0LCBpc1F1ZXJ5S2V5LCBpc1NlcnZlciwgaXNWYWxpZFRpbWVvdXQsIG1hdGNoTXV0YXRpb24sIG1hdGNoUXVlcnksIG5vb3AsIHBhcnNlRmlsdGVyQXJncywgcGFyc2VNdXRhdGlvbkFyZ3MsIHBhcnNlTXV0YXRpb25GaWx0ZXJBcmdzLCBwYXJzZVF1ZXJ5QXJncywgcGFydGlhbERlZXBFcXVhbCwgcGFydGlhbE1hdGNoS2V5LCByZXBsYWNlQXQsIHJlcGxhY2VEYXRhLCByZXBsYWNlRXF1YWxEZWVwLCBzY2hlZHVsZU1pY3JvdGFzaywgc2hhbGxvd0VxdWFsT2JqZWN0cywgc2xlZXAsIHRpbWVVbnRpbFN0YWxlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-core/build/lib/utils.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-persist-client-core/build/lib/index.mjs": -/*!******************************************************************************!*\ - !*** ./node_modules/@tanstack/query-persist-client-core/build/lib/index.mjs ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ persistQueryClient: function() { return /* reexport safe */ _persist_mjs__WEBPACK_IMPORTED_MODULE_0__.persistQueryClient; },\n/* harmony export */ persistQueryClientRestore: function() { return /* reexport safe */ _persist_mjs__WEBPACK_IMPORTED_MODULE_0__.persistQueryClientRestore; },\n/* harmony export */ persistQueryClientSave: function() { return /* reexport safe */ _persist_mjs__WEBPACK_IMPORTED_MODULE_0__.persistQueryClientSave; },\n/* harmony export */ persistQueryClientSubscribe: function() { return /* reexport safe */ _persist_mjs__WEBPACK_IMPORTED_MODULE_0__.persistQueryClientSubscribe; },\n/* harmony export */ removeOldestQuery: function() { return /* reexport safe */ _retryStrategies_mjs__WEBPACK_IMPORTED_MODULE_1__.removeOldestQuery; }\n/* harmony export */ });\n/* harmony import */ var _persist_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./persist.mjs */ \"./node_modules/@tanstack/query-persist-client-core/build/lib/persist.mjs\");\n/* harmony import */ var _retryStrategies_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./retryStrategies.mjs */ \"./node_modules/@tanstack/query-persist-client-core/build/lib/retryStrategies.mjs\");\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LXBlcnNpc3QtY2xpZW50LWNvcmUvYnVpbGQvbGliL2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQW1JO0FBQ3pFO0FBQzFEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdGFuc3RhY2svcXVlcnktcGVyc2lzdC1jbGllbnQtY29yZS9idWlsZC9saWIvaW5kZXgubWpzPzA4MTIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgcGVyc2lzdFF1ZXJ5Q2xpZW50LCBwZXJzaXN0UXVlcnlDbGllbnRSZXN0b3JlLCBwZXJzaXN0UXVlcnlDbGllbnRTYXZlLCBwZXJzaXN0UXVlcnlDbGllbnRTdWJzY3JpYmUgfSBmcm9tICcuL3BlcnNpc3QubWpzJztcbmV4cG9ydCB7IHJlbW92ZU9sZGVzdFF1ZXJ5IH0gZnJvbSAnLi9yZXRyeVN0cmF0ZWdpZXMubWpzJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-persist-client-core/build/lib/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-persist-client-core/build/lib/persist.mjs": -/*!********************************************************************************!*\ - !*** ./node_modules/@tanstack/query-persist-client-core/build/lib/persist.mjs ***! - \********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ persistQueryClient: function() { return /* binding */ persistQueryClient; },\n/* harmony export */ persistQueryClientRestore: function() { return /* binding */ persistQueryClientRestore; },\n/* harmony export */ persistQueryClientSave: function() { return /* binding */ persistQueryClientSave; },\n/* harmony export */ persistQueryClientSubscribe: function() { return /* binding */ persistQueryClientSubscribe; }\n/* harmony export */ });\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n\n\n/**\n * Checks if emitted event is about cache change and not about observers.\n * Useful for persist, where we only want to trigger save when cache is changed.\n */\nconst cacheableEventTypes = ['added', 'removed', 'updated'];\n\nfunction isCacheableEventType(eventType) {\n return cacheableEventTypes.includes(eventType);\n}\n/**\n * Restores persisted data to the QueryCache\n * - data obtained from persister.restoreClient\n * - data is hydrated using hydrateOptions\n * If data is expired, busted, empty, or throws, it runs persister.removeClient\n */\n\n\nasync function persistQueryClientRestore({\n queryClient,\n persister,\n maxAge = 1000 * 60 * 60 * 24,\n buster = '',\n hydrateOptions\n}) {\n try {\n const persistedClient = await persister.restoreClient();\n\n if (persistedClient) {\n if (persistedClient.timestamp) {\n const expired = Date.now() - persistedClient.timestamp > maxAge;\n const busted = persistedClient.buster !== buster;\n\n if (expired || busted) {\n persister.removeClient();\n } else {\n (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__.hydrate)(queryClient, persistedClient.clientState, hydrateOptions);\n }\n } else {\n persister.removeClient();\n }\n }\n } catch (err) {\n if (true) {\n queryClient.getLogger().error(err);\n queryClient.getLogger().warn('Encountered an error attempting to restore client cache from persisted location. As a precaution, the persisted cache will be discarded.');\n }\n\n persister.removeClient();\n }\n}\n/**\n * Persists data from the QueryCache\n * - data dehydrated using dehydrateOptions\n * - data is persisted using persister.persistClient\n */\n\nasync function persistQueryClientSave({\n queryClient,\n persister,\n buster = '',\n dehydrateOptions\n}) {\n const persistClient = {\n buster,\n timestamp: Date.now(),\n clientState: (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__.dehydrate)(queryClient, dehydrateOptions)\n };\n await persister.persistClient(persistClient);\n}\n/**\n * Subscribe to QueryCache and MutationCache updates (for persisting)\n * @returns an unsubscribe function (to discontinue monitoring)\n */\n\nfunction persistQueryClientSubscribe(props) {\n const unsubscribeQueryCache = props.queryClient.getQueryCache().subscribe(event => {\n if (isCacheableEventType(event.type)) {\n persistQueryClientSave(props);\n }\n });\n const unusbscribeMutationCache = props.queryClient.getMutationCache().subscribe(event => {\n if (isCacheableEventType(event.type)) {\n persistQueryClientSave(props);\n }\n });\n return () => {\n unsubscribeQueryCache();\n unusbscribeMutationCache();\n };\n}\n/**\n * Restores persisted data to QueryCache and persists further changes.\n */\n\nfunction persistQueryClient(props) {\n let hasUnsubscribed = false;\n let persistQueryClientUnsubscribe;\n\n const unsubscribe = () => {\n hasUnsubscribed = true;\n persistQueryClientUnsubscribe == null ? void 0 : persistQueryClientUnsubscribe();\n }; // Attempt restore\n\n\n const restorePromise = persistQueryClientRestore(props).then(() => {\n if (!hasUnsubscribed) {\n // Subscribe to changes in the query cache to trigger the save\n persistQueryClientUnsubscribe = persistQueryClientSubscribe(props);\n }\n });\n return [unsubscribe, restorePromise];\n}\n\n\n//# sourceMappingURL=persist.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LXBlcnNpc3QtY2xpZW50LWNvcmUvYnVpbGQvbGliL3BlcnNpc3QubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTBEOztBQUUxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVixVQUFVLDZEQUFPO0FBQ2pCO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLCtEQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUU4RztBQUM5RyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LXBlcnNpc3QtY2xpZW50LWNvcmUvYnVpbGQvbGliL3BlcnNpc3QubWpzPzBhODYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaHlkcmF0ZSwgZGVoeWRyYXRlIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBlbWl0dGVkIGV2ZW50IGlzIGFib3V0IGNhY2hlIGNoYW5nZSBhbmQgbm90IGFib3V0IG9ic2VydmVycy5cbiAqIFVzZWZ1bCBmb3IgcGVyc2lzdCwgd2hlcmUgd2Ugb25seSB3YW50IHRvIHRyaWdnZXIgc2F2ZSB3aGVuIGNhY2hlIGlzIGNoYW5nZWQuXG4gKi9cbmNvbnN0IGNhY2hlYWJsZUV2ZW50VHlwZXMgPSBbJ2FkZGVkJywgJ3JlbW92ZWQnLCAndXBkYXRlZCddO1xuXG5mdW5jdGlvbiBpc0NhY2hlYWJsZUV2ZW50VHlwZShldmVudFR5cGUpIHtcbiAgcmV0dXJuIGNhY2hlYWJsZUV2ZW50VHlwZXMuaW5jbHVkZXMoZXZlbnRUeXBlKTtcbn1cbi8qKlxuICogUmVzdG9yZXMgcGVyc2lzdGVkIGRhdGEgdG8gdGhlIFF1ZXJ5Q2FjaGVcbiAqICAtIGRhdGEgb2J0YWluZWQgZnJvbSBwZXJzaXN0ZXIucmVzdG9yZUNsaWVudFxuICogIC0gZGF0YSBpcyBoeWRyYXRlZCB1c2luZyBoeWRyYXRlT3B0aW9uc1xuICogSWYgZGF0YSBpcyBleHBpcmVkLCBidXN0ZWQsIGVtcHR5LCBvciB0aHJvd3MsIGl0IHJ1bnMgcGVyc2lzdGVyLnJlbW92ZUNsaWVudFxuICovXG5cblxuYXN5bmMgZnVuY3Rpb24gcGVyc2lzdFF1ZXJ5Q2xpZW50UmVzdG9yZSh7XG4gIHF1ZXJ5Q2xpZW50LFxuICBwZXJzaXN0ZXIsXG4gIG1heEFnZSA9IDEwMDAgKiA2MCAqIDYwICogMjQsXG4gIGJ1c3RlciA9ICcnLFxuICBoeWRyYXRlT3B0aW9uc1xufSkge1xuICB0cnkge1xuICAgIGNvbnN0IHBlcnNpc3RlZENsaWVudCA9IGF3YWl0IHBlcnNpc3Rlci5yZXN0b3JlQ2xpZW50KCk7XG5cbiAgICBpZiAocGVyc2lzdGVkQ2xpZW50KSB7XG4gICAgICBpZiAocGVyc2lzdGVkQ2xpZW50LnRpbWVzdGFtcCkge1xuICAgICAgICBjb25zdCBleHBpcmVkID0gRGF0ZS5ub3coKSAtIHBlcnNpc3RlZENsaWVudC50aW1lc3RhbXAgPiBtYXhBZ2U7XG4gICAgICAgIGNvbnN0IGJ1c3RlZCA9IHBlcnNpc3RlZENsaWVudC5idXN0ZXIgIT09IGJ1c3RlcjtcblxuICAgICAgICBpZiAoZXhwaXJlZCB8fCBidXN0ZWQpIHtcbiAgICAgICAgICBwZXJzaXN0ZXIucmVtb3ZlQ2xpZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaHlkcmF0ZShxdWVyeUNsaWVudCwgcGVyc2lzdGVkQ2xpZW50LmNsaWVudFN0YXRlLCBoeWRyYXRlT3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlcnNpc3Rlci5yZW1vdmVDbGllbnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBxdWVyeUNsaWVudC5nZXRMb2dnZXIoKS5lcnJvcihlcnIpO1xuICAgICAgcXVlcnlDbGllbnQuZ2V0TG9nZ2VyKCkud2FybignRW5jb3VudGVyZWQgYW4gZXJyb3IgYXR0ZW1wdGluZyB0byByZXN0b3JlIGNsaWVudCBjYWNoZSBmcm9tIHBlcnNpc3RlZCBsb2NhdGlvbi4gQXMgYSBwcmVjYXV0aW9uLCB0aGUgcGVyc2lzdGVkIGNhY2hlIHdpbGwgYmUgZGlzY2FyZGVkLicpO1xuICAgIH1cblxuICAgIHBlcnNpc3Rlci5yZW1vdmVDbGllbnQoKTtcbiAgfVxufVxuLyoqXG4gKiBQZXJzaXN0cyBkYXRhIGZyb20gdGhlIFF1ZXJ5Q2FjaGVcbiAqICAtIGRhdGEgZGVoeWRyYXRlZCB1c2luZyBkZWh5ZHJhdGVPcHRpb25zXG4gKiAgLSBkYXRhIGlzIHBlcnNpc3RlZCB1c2luZyBwZXJzaXN0ZXIucGVyc2lzdENsaWVudFxuICovXG5cbmFzeW5jIGZ1bmN0aW9uIHBlcnNpc3RRdWVyeUNsaWVudFNhdmUoe1xuICBxdWVyeUNsaWVudCxcbiAgcGVyc2lzdGVyLFxuICBidXN0ZXIgPSAnJyxcbiAgZGVoeWRyYXRlT3B0aW9uc1xufSkge1xuICBjb25zdCBwZXJzaXN0Q2xpZW50ID0ge1xuICAgIGJ1c3RlcixcbiAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgY2xpZW50U3RhdGU6IGRlaHlkcmF0ZShxdWVyeUNsaWVudCwgZGVoeWRyYXRlT3B0aW9ucylcbiAgfTtcbiAgYXdhaXQgcGVyc2lzdGVyLnBlcnNpc3RDbGllbnQocGVyc2lzdENsaWVudCk7XG59XG4vKipcbiAqIFN1YnNjcmliZSB0byBRdWVyeUNhY2hlIGFuZCBNdXRhdGlvbkNhY2hlIHVwZGF0ZXMgKGZvciBwZXJzaXN0aW5nKVxuICogQHJldHVybnMgYW4gdW5zdWJzY3JpYmUgZnVuY3Rpb24gKHRvIGRpc2NvbnRpbnVlIG1vbml0b3JpbmcpXG4gKi9cblxuZnVuY3Rpb24gcGVyc2lzdFF1ZXJ5Q2xpZW50U3Vic2NyaWJlKHByb3BzKSB7XG4gIGNvbnN0IHVuc3Vic2NyaWJlUXVlcnlDYWNoZSA9IHByb3BzLnF1ZXJ5Q2xpZW50LmdldFF1ZXJ5Q2FjaGUoKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgIGlmIChpc0NhY2hlYWJsZUV2ZW50VHlwZShldmVudC50eXBlKSkge1xuICAgICAgcGVyc2lzdFF1ZXJ5Q2xpZW50U2F2ZShwcm9wcyk7XG4gICAgfVxuICB9KTtcbiAgY29uc3QgdW51c2JzY3JpYmVNdXRhdGlvbkNhY2hlID0gcHJvcHMucXVlcnlDbGllbnQuZ2V0TXV0YXRpb25DYWNoZSgpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgaWYgKGlzQ2FjaGVhYmxlRXZlbnRUeXBlKGV2ZW50LnR5cGUpKSB7XG4gICAgICBwZXJzaXN0UXVlcnlDbGllbnRTYXZlKHByb3BzKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIHVuc3Vic2NyaWJlUXVlcnlDYWNoZSgpO1xuICAgIHVudXNic2NyaWJlTXV0YXRpb25DYWNoZSgpO1xuICB9O1xufVxuLyoqXG4gKiBSZXN0b3JlcyBwZXJzaXN0ZWQgZGF0YSB0byBRdWVyeUNhY2hlIGFuZCBwZXJzaXN0cyBmdXJ0aGVyIGNoYW5nZXMuXG4gKi9cblxuZnVuY3Rpb24gcGVyc2lzdFF1ZXJ5Q2xpZW50KHByb3BzKSB7XG4gIGxldCBoYXNVbnN1YnNjcmliZWQgPSBmYWxzZTtcbiAgbGV0IHBlcnNpc3RRdWVyeUNsaWVudFVuc3Vic2NyaWJlO1xuXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gKCkgPT4ge1xuICAgIGhhc1Vuc3Vic2NyaWJlZCA9IHRydWU7XG4gICAgcGVyc2lzdFF1ZXJ5Q2xpZW50VW5zdWJzY3JpYmUgPT0gbnVsbCA/IHZvaWQgMCA6IHBlcnNpc3RRdWVyeUNsaWVudFVuc3Vic2NyaWJlKCk7XG4gIH07IC8vIEF0dGVtcHQgcmVzdG9yZVxuXG5cbiAgY29uc3QgcmVzdG9yZVByb21pc2UgPSBwZXJzaXN0UXVlcnlDbGllbnRSZXN0b3JlKHByb3BzKS50aGVuKCgpID0+IHtcbiAgICBpZiAoIWhhc1Vuc3Vic2NyaWJlZCkge1xuICAgICAgLy8gU3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIHF1ZXJ5IGNhY2hlIHRvIHRyaWdnZXIgdGhlIHNhdmVcbiAgICAgIHBlcnNpc3RRdWVyeUNsaWVudFVuc3Vic2NyaWJlID0gcGVyc2lzdFF1ZXJ5Q2xpZW50U3Vic2NyaWJlKHByb3BzKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gW3Vuc3Vic2NyaWJlLCByZXN0b3JlUHJvbWlzZV07XG59XG5cbmV4cG9ydCB7IHBlcnNpc3RRdWVyeUNsaWVudCwgcGVyc2lzdFF1ZXJ5Q2xpZW50UmVzdG9yZSwgcGVyc2lzdFF1ZXJ5Q2xpZW50U2F2ZSwgcGVyc2lzdFF1ZXJ5Q2xpZW50U3Vic2NyaWJlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wZXJzaXN0Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-persist-client-core/build/lib/persist.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-persist-client-core/build/lib/retryStrategies.mjs": -/*!****************************************************************************************!*\ - !*** ./node_modules/@tanstack/query-persist-client-core/build/lib/retryStrategies.mjs ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ removeOldestQuery: function() { return /* binding */ removeOldestQuery; }\n/* harmony export */ });\nconst removeOldestQuery = ({\n persistedClient\n}) => {\n const mutations = [...persistedClient.clientState.mutations];\n const queries = [...persistedClient.clientState.queries];\n const client = { ...persistedClient,\n clientState: {\n mutations,\n queries\n }\n }; // sort queries by dataUpdatedAt (oldest first)\n\n const sortedQueries = [...queries].sort((a, b) => a.state.dataUpdatedAt - b.state.dataUpdatedAt); // clean oldest query\n\n if (sortedQueries.length > 0) {\n const oldestData = sortedQueries.shift();\n client.clientState.queries = queries.filter(q => q !== oldestData);\n return client;\n }\n\n return undefined;\n};\n\n\n//# sourceMappingURL=retryStrategies.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LXBlcnNpc3QtY2xpZW50LWNvcmUvYnVpbGQvbGliL3JldHJ5U3RyYXRlZ2llcy5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUwsb0dBQW9HOztBQUVwRztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRTZCO0FBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdGFuc3RhY2svcXVlcnktcGVyc2lzdC1jbGllbnQtY29yZS9idWlsZC9saWIvcmV0cnlTdHJhdGVnaWVzLm1qcz9mMGZhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlbW92ZU9sZGVzdFF1ZXJ5ID0gKHtcbiAgcGVyc2lzdGVkQ2xpZW50XG59KSA9PiB7XG4gIGNvbnN0IG11dGF0aW9ucyA9IFsuLi5wZXJzaXN0ZWRDbGllbnQuY2xpZW50U3RhdGUubXV0YXRpb25zXTtcbiAgY29uc3QgcXVlcmllcyA9IFsuLi5wZXJzaXN0ZWRDbGllbnQuY2xpZW50U3RhdGUucXVlcmllc107XG4gIGNvbnN0IGNsaWVudCA9IHsgLi4ucGVyc2lzdGVkQ2xpZW50LFxuICAgIGNsaWVudFN0YXRlOiB7XG4gICAgICBtdXRhdGlvbnMsXG4gICAgICBxdWVyaWVzXG4gICAgfVxuICB9OyAvLyBzb3J0IHF1ZXJpZXMgYnkgZGF0YVVwZGF0ZWRBdCAob2xkZXN0IGZpcnN0KVxuXG4gIGNvbnN0IHNvcnRlZFF1ZXJpZXMgPSBbLi4ucXVlcmllc10uc29ydCgoYSwgYikgPT4gYS5zdGF0ZS5kYXRhVXBkYXRlZEF0IC0gYi5zdGF0ZS5kYXRhVXBkYXRlZEF0KTsgLy8gY2xlYW4gb2xkZXN0IHF1ZXJ5XG5cbiAgaWYgKHNvcnRlZFF1ZXJpZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG9sZGVzdERhdGEgPSBzb3J0ZWRRdWVyaWVzLnNoaWZ0KCk7XG4gICAgY2xpZW50LmNsaWVudFN0YXRlLnF1ZXJpZXMgPSBxdWVyaWVzLmZpbHRlcihxID0+IHEgIT09IG9sZGVzdERhdGEpO1xuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHsgcmVtb3ZlT2xkZXN0UXVlcnkgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJldHJ5U3RyYXRlZ2llcy5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-persist-client-core/build/lib/retryStrategies.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/query-sync-storage-persister/build/lib/index.mjs": -/*!*********************************************************************************!*\ - !*** ./node_modules/@tanstack/query-sync-storage-persister/build/lib/index.mjs ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createSyncStoragePersister: function() { return /* binding */ createSyncStoragePersister; }\n/* harmony export */ });\nfunction createSyncStoragePersister({\n storage,\n key = \"REACT_QUERY_OFFLINE_CACHE\",\n throttleTime = 1000,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n retry\n}) {\n if (storage) {\n const trySave = persistedClient => {\n try {\n storage.setItem(key, serialize(persistedClient));\n return;\n } catch (error) {\n return error;\n }\n };\n\n return {\n persistClient: throttle(persistedClient => {\n let client = persistedClient;\n let error = trySave(client);\n let errorCount = 0;\n\n while (error && client) {\n errorCount++;\n client = retry == null ? void 0 : retry({\n persistedClient: client,\n error,\n errorCount\n });\n\n if (client) {\n error = trySave(client);\n }\n }\n }, throttleTime),\n restoreClient: () => {\n const cacheString = storage.getItem(key);\n\n if (!cacheString) {\n return;\n }\n\n return deserialize(cacheString);\n },\n removeClient: () => {\n storage.removeItem(key);\n }\n };\n }\n\n return {\n persistClient: noop,\n restoreClient: () => undefined,\n removeClient: noop\n };\n}\n\nfunction throttle(func, wait = 100) {\n let timer = null;\n let params;\n return function (...args) {\n params = args;\n\n if (timer === null) {\n timer = setTimeout(() => {\n func(...params);\n timer = null;\n }, wait);\n }\n };\n} // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\nfunction noop() {}\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LXN5bmMtc3RvcmFnZS1wZXJzaXN0ZXIvYnVpbGQvbGliL2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEVBQUU7OztBQUdGOztBQUVzQztBQUN0QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3F1ZXJ5LXN5bmMtc3RvcmFnZS1wZXJzaXN0ZXIvYnVpbGQvbGliL2luZGV4Lm1qcz85YmEwIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGNyZWF0ZVN5bmNTdG9yYWdlUGVyc2lzdGVyKHtcbiAgc3RvcmFnZSxcbiAga2V5ID0gXCJSRUFDVF9RVUVSWV9PRkZMSU5FX0NBQ0hFXCIsXG4gIHRocm90dGxlVGltZSA9IDEwMDAsXG4gIHNlcmlhbGl6ZSA9IEpTT04uc3RyaW5naWZ5LFxuICBkZXNlcmlhbGl6ZSA9IEpTT04ucGFyc2UsXG4gIHJldHJ5XG59KSB7XG4gIGlmIChzdG9yYWdlKSB7XG4gICAgY29uc3QgdHJ5U2F2ZSA9IHBlcnNpc3RlZENsaWVudCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCBzZXJpYWxpemUocGVyc2lzdGVkQ2xpZW50KSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBlcnNpc3RDbGllbnQ6IHRocm90dGxlKHBlcnNpc3RlZENsaWVudCA9PiB7XG4gICAgICAgIGxldCBjbGllbnQgPSBwZXJzaXN0ZWRDbGllbnQ7XG4gICAgICAgIGxldCBlcnJvciA9IHRyeVNhdmUoY2xpZW50KTtcbiAgICAgICAgbGV0IGVycm9yQ291bnQgPSAwO1xuXG4gICAgICAgIHdoaWxlIChlcnJvciAmJiBjbGllbnQpIHtcbiAgICAgICAgICBlcnJvckNvdW50Kys7XG4gICAgICAgICAgY2xpZW50ID0gcmV0cnkgPT0gbnVsbCA/IHZvaWQgMCA6IHJldHJ5KHtcbiAgICAgICAgICAgIHBlcnNpc3RlZENsaWVudDogY2xpZW50LFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBlcnJvckNvdW50XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoY2xpZW50KSB7XG4gICAgICAgICAgICBlcnJvciA9IHRyeVNhdmUoY2xpZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIHRocm90dGxlVGltZSksXG4gICAgICByZXN0b3JlQ2xpZW50OiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhY2hlU3RyaW5nID0gc3RvcmFnZS5nZXRJdGVtKGtleSk7XG5cbiAgICAgICAgaWYgKCFjYWNoZVN0cmluZykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkZXNlcmlhbGl6ZShjYWNoZVN0cmluZyk7XG4gICAgICB9LFxuICAgICAgcmVtb3ZlQ2xpZW50OiAoKSA9PiB7XG4gICAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBlcnNpc3RDbGllbnQ6IG5vb3AsXG4gICAgcmVzdG9yZUNsaWVudDogKCkgPT4gdW5kZWZpbmVkLFxuICAgIHJlbW92ZUNsaWVudDogbm9vcFxuICB9O1xufVxuXG5mdW5jdGlvbiB0aHJvdHRsZShmdW5jLCB3YWl0ID0gMTAwKSB7XG4gIGxldCB0aW1lciA9IG51bGw7XG4gIGxldCBwYXJhbXM7XG4gIHJldHVybiBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIHBhcmFtcyA9IGFyZ3M7XG5cbiAgICBpZiAodGltZXIgPT09IG51bGwpIHtcbiAgICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGZ1bmMoLi4ucGFyYW1zKTtcbiAgICAgICAgdGltZXIgPSBudWxsO1xuICAgICAgfSwgd2FpdCk7XG4gICAgfVxuICB9O1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG5cblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbmV4cG9ydCB7IGNyZWF0ZVN5bmNTdG9yYWdlUGVyc2lzdGVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/query-sync-storage-persister/build/lib/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query-persist-client/build/lib/PersistQueryClientProvider.mjs": -/*!****************************************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query-persist-client/build/lib/PersistQueryClientProvider.mjs ***! - \****************************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PersistQueryClientProvider: function() { return /* binding */ PersistQueryClientProvider; }\n/* harmony export */ });\n/* harmony import */ var _virtual_rollupPluginBabelHelpers_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_virtual/_rollupPluginBabelHelpers.mjs */ \"./node_modules/@tanstack/react-query-persist-client/build/lib/_virtual/_rollupPluginBabelHelpers.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_persist_client_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tanstack/query-persist-client-core */ \"./node_modules/@tanstack/query-persist-client-core/build/lib/index.mjs\");\n/* harmony import */ var _tanstack_react_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tanstack/react-query */ \"./node_modules/@tanstack/react-query/build/lib/index.mjs\");\n'use client';\n\n\n\n\n\nconst PersistQueryClientProvider = ({\n client,\n children,\n persistOptions,\n onSuccess,\n ...props\n}) => {\n const [isRestoring, setIsRestoring] = react__WEBPACK_IMPORTED_MODULE_0__.useState(true);\n const refs = react__WEBPACK_IMPORTED_MODULE_0__.useRef({\n persistOptions,\n onSuccess\n });\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n refs.current = {\n persistOptions,\n onSuccess\n };\n });\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n let isStale = false;\n setIsRestoring(true);\n const [unsubscribe, promise] = (0,_tanstack_query_persist_client_core__WEBPACK_IMPORTED_MODULE_1__.persistQueryClient)({ ...refs.current.persistOptions,\n queryClient: client\n });\n promise.then(() => {\n if (!isStale) {\n refs.current.onSuccess == null ? void 0 : refs.current.onSuccess();\n setIsRestoring(false);\n }\n });\n return () => {\n isStale = true;\n unsubscribe();\n };\n }, [client]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_tanstack_react_query__WEBPACK_IMPORTED_MODULE_2__.QueryClientProvider, (0,_virtual_rollupPluginBabelHelpers_mjs__WEBPACK_IMPORTED_MODULE_3__[\"extends\"])({\n client: client\n }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_tanstack_react_query__WEBPACK_IMPORTED_MODULE_2__.IsRestoringProvider, {\n value: isRestoring\n }, children));\n};\n\n\n//# sourceMappingURL=PersistQueryClientProvider.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5LXBlcnNpc3QtY2xpZW50L2J1aWxkL2xpYi9QZXJzaXN0UXVlcnlDbGllbnRQcm92aWRlci5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUMrRTtBQUNoRDtBQUMwQztBQUNROztBQUVqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsd0NBQXdDLDJDQUFjO0FBQ3RELGVBQWUseUNBQVk7QUFDM0I7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFLDRDQUFlO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUUsNENBQWU7QUFDakI7QUFDQTtBQUNBLG1DQUFtQyx1RkFBa0IsR0FBRztBQUN4RDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHNCQUFzQixnREFBbUIsQ0FBQyxzRUFBbUIsRUFBRSxpRkFBUTtBQUN2RTtBQUNBLEdBQUcsdUJBQXVCLGdEQUFtQixDQUFDLHNFQUFtQjtBQUNqRTtBQUNBLEdBQUc7QUFDSDs7QUFFc0M7QUFDdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS1wZXJzaXN0LWNsaWVudC9idWlsZC9saWIvUGVyc2lzdFF1ZXJ5Q2xpZW50UHJvdmlkZXIubWpzPzMzZTEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IHsgZXh0ZW5kcyBhcyBfZXh0ZW5kcyB9IGZyb20gJy4vX3ZpcnR1YWwvX3JvbGx1cFBsdWdpbkJhYmVsSGVscGVycy5tanMnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcGVyc2lzdFF1ZXJ5Q2xpZW50IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LXBlcnNpc3QtY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRQcm92aWRlciwgSXNSZXN0b3JpbmdQcm92aWRlciB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5cbmNvbnN0IFBlcnNpc3RRdWVyeUNsaWVudFByb3ZpZGVyID0gKHtcbiAgY2xpZW50LFxuICBjaGlsZHJlbixcbiAgcGVyc2lzdE9wdGlvbnMsXG4gIG9uU3VjY2VzcyxcbiAgLi4ucHJvcHNcbn0pID0+IHtcbiAgY29uc3QgW2lzUmVzdG9yaW5nLCBzZXRJc1Jlc3RvcmluZ10gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgcmVmcyA9IFJlYWN0LnVzZVJlZih7XG4gICAgcGVyc2lzdE9wdGlvbnMsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlZnMuY3VycmVudCA9IHtcbiAgICAgIHBlcnNpc3RPcHRpb25zLFxuICAgICAgb25TdWNjZXNzXG4gICAgfTtcbiAgfSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGlzU3RhbGUgPSBmYWxzZTtcbiAgICBzZXRJc1Jlc3RvcmluZyh0cnVlKTtcbiAgICBjb25zdCBbdW5zdWJzY3JpYmUsIHByb21pc2VdID0gcGVyc2lzdFF1ZXJ5Q2xpZW50KHsgLi4ucmVmcy5jdXJyZW50LnBlcnNpc3RPcHRpb25zLFxuICAgICAgcXVlcnlDbGllbnQ6IGNsaWVudFxuICAgIH0pO1xuICAgIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBpZiAoIWlzU3RhbGUpIHtcbiAgICAgICAgcmVmcy5jdXJyZW50Lm9uU3VjY2VzcyA9PSBudWxsID8gdm9pZCAwIDogcmVmcy5jdXJyZW50Lm9uU3VjY2VzcygpO1xuICAgICAgICBzZXRJc1Jlc3RvcmluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzU3RhbGUgPSB0cnVlO1xuICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICB9LCBbY2xpZW50XSk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChRdWVyeUNsaWVudFByb3ZpZGVyLCBfZXh0ZW5kcyh7XG4gICAgY2xpZW50OiBjbGllbnRcbiAgfSwgcHJvcHMpLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJc1Jlc3RvcmluZ1Byb3ZpZGVyLCB7XG4gICAgdmFsdWU6IGlzUmVzdG9yaW5nXG4gIH0sIGNoaWxkcmVuKSk7XG59O1xuXG5leHBvcnQgeyBQZXJzaXN0UXVlcnlDbGllbnRQcm92aWRlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGVyc2lzdFF1ZXJ5Q2xpZW50UHJvdmlkZXIubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query-persist-client/build/lib/PersistQueryClientProvider.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query-persist-client/build/lib/_virtual/_rollupPluginBabelHelpers.mjs": -/*!************************************************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query-persist-client/build/lib/_virtual/_rollupPluginBabelHelpers.mjs ***! - \************************************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"extends\": function() { return /* binding */ _extends; }\n/* harmony export */ });\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5LXBlcnNpc3QtY2xpZW50L2J1aWxkL2xpYi9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUUrQjtBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5LXBlcnNpc3QtY2xpZW50L2J1aWxkL2xpYi9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLm1qcz8yZDQ3Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gPyBPYmplY3QuYXNzaWduLmJpbmQoKSA6IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZXhwb3J0IHsgX2V4dGVuZHMgYXMgZXh0ZW5kcyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X3JvbGx1cFBsdWdpbkJhYmVsSGVscGVycy5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query-persist-client/build/lib/_virtual/_rollupPluginBabelHelpers.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query-persist-client/build/lib/index.mjs": -/*!*******************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query-persist-client/build/lib/index.mjs ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PersistQueryClientProvider: function() { return /* reexport safe */ _PersistQueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__.PersistQueryClientProvider; }\n/* harmony export */ });\n/* harmony import */ var _tanstack_query_persist_client_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tanstack/query-persist-client-core */ \"./node_modules/@tanstack/query-persist-client-core/build/lib/index.mjs\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _tanstack_query_persist_client_core__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"PersistQueryClientProvider\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _tanstack_query_persist_client_core__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _PersistQueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PersistQueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query-persist-client/build/lib/PersistQueryClientProvider.mjs\");\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5LXBlcnNpc3QtY2xpZW50L2J1aWxkL2xpYi9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9EO0FBQzBCO0FBQzlFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdGFuc3RhY2svcmVhY3QtcXVlcnktcGVyc2lzdC1jbGllbnQvYnVpbGQvbGliL2luZGV4Lm1qcz8xZGE4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YW5zdGFjay9xdWVyeS1wZXJzaXN0LWNsaWVudC1jb3JlJztcbmV4cG9ydCB7IFBlcnNpc3RRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSAnLi9QZXJzaXN0UXVlcnlDbGllbnRQcm92aWRlci5tanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query-persist-client/build/lib/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/Hydrate.mjs": -/*!******************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/Hydrate.mjs ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hydrate: function() { return /* binding */ Hydrate; },\n/* harmony export */ useHydrate: function() { return /* binding */ useHydrate; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n'use client';\n\n\n\n\nfunction useHydrate(state, options = {}) {\n const queryClient = (0,_QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__.useQueryClient)({\n context: options.context\n });\n const optionsRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(options);\n optionsRef.current = options; // Running hydrate again with the same queries is safe,\n // it wont overwrite or initialize existing queries,\n // relying on useMemo here is only a performance optimization.\n // hydrate can and should be run *during* render here for SSR to work properly\n\n react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n if (state) {\n (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_2__.hydrate)(queryClient, state, optionsRef.current);\n }\n }, [queryClient, state]);\n}\nconst Hydrate = ({\n children,\n options,\n state\n}) => {\n useHydrate(state, options);\n return children;\n};\n\n\n//# sourceMappingURL=Hydrate.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9IeWRyYXRlLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQytCO0FBQ2dCO0FBQ1k7O0FBRTNELHVDQUF1QztBQUN2QyxzQkFBc0Isd0VBQWM7QUFDcEM7QUFDQSxHQUFHO0FBQ0gscUJBQXFCLHlDQUFZO0FBQ2pDLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7O0FBRUEsRUFBRSwwQ0FBYTtBQUNmO0FBQ0EsTUFBTSw2REFBTztBQUNiO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUUrQjtBQUMvQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9IeWRyYXRlLm1qcz81YzU1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGh5ZHJhdGUgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSc7XG5pbXBvcnQgeyB1c2VRdWVyeUNsaWVudCB9IGZyb20gJy4vUXVlcnlDbGllbnRQcm92aWRlci5tanMnO1xuXG5mdW5jdGlvbiB1c2VIeWRyYXRlKHN0YXRlLCBvcHRpb25zID0ge30pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCh7XG4gICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0XG4gIH0pO1xuICBjb25zdCBvcHRpb25zUmVmID0gUmVhY3QudXNlUmVmKG9wdGlvbnMpO1xuICBvcHRpb25zUmVmLmN1cnJlbnQgPSBvcHRpb25zOyAvLyBSdW5uaW5nIGh5ZHJhdGUgYWdhaW4gd2l0aCB0aGUgc2FtZSBxdWVyaWVzIGlzIHNhZmUsXG4gIC8vIGl0IHdvbnQgb3ZlcndyaXRlIG9yIGluaXRpYWxpemUgZXhpc3RpbmcgcXVlcmllcyxcbiAgLy8gcmVseWluZyBvbiB1c2VNZW1vIGhlcmUgaXMgb25seSBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbi5cbiAgLy8gaHlkcmF0ZSBjYW4gYW5kIHNob3VsZCBiZSBydW4gKmR1cmluZyogcmVuZGVyIGhlcmUgZm9yIFNTUiB0byB3b3JrIHByb3Blcmx5XG5cbiAgUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICBoeWRyYXRlKHF1ZXJ5Q2xpZW50LCBzdGF0ZSwgb3B0aW9uc1JlZi5jdXJyZW50KTtcbiAgICB9XG4gIH0sIFtxdWVyeUNsaWVudCwgc3RhdGVdKTtcbn1cbmNvbnN0IEh5ZHJhdGUgPSAoe1xuICBjaGlsZHJlbixcbiAgb3B0aW9ucyxcbiAgc3RhdGVcbn0pID0+IHtcbiAgdXNlSHlkcmF0ZShzdGF0ZSwgb3B0aW9ucyk7XG4gIHJldHVybiBjaGlsZHJlbjtcbn07XG5cbmV4cG9ydCB7IEh5ZHJhdGUsIHVzZUh5ZHJhdGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUh5ZHJhdGUubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/Hydrate.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs": -/*!******************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryClientProvider: function() { return /* binding */ QueryClientProvider; },\n/* harmony export */ defaultContext: function() { return /* binding */ defaultContext; },\n/* harmony export */ useQueryClient: function() { return /* binding */ useQueryClient; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n'use client';\n\n\nconst defaultContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(undefined);\nconst QueryClientSharingContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(false); // If we are given a context, we will use it.\n// Otherwise, if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(context, contextSharing) {\n if (context) {\n return context;\n }\n\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nconst useQueryClient = ({\n context\n} = {}) => {\n const queryClient = react__WEBPACK_IMPORTED_MODULE_0__.useContext(getQueryClientContext(context, react__WEBPACK_IMPORTED_MODULE_0__.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nconst QueryClientProvider = ({\n client,\n children,\n context,\n contextSharing = false\n}) => {\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n\n if ( true && contextSharing) {\n client.getLogger().error(\"The contextSharing option has been deprecated and will be removed in the next major version\");\n }\n\n const Context = getQueryClientContext(context, contextSharing);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(QueryClientSharingContext.Provider, {\n value: !context && contextSharing\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Context.Provider, {\n value: client\n }, children));\n};\n\n\n//# sourceMappingURL=QueryClientProvider.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9RdWVyeUNsaWVudFByb3ZpZGVyLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDK0I7O0FBRS9CLG9DQUFvQyxnREFBbUI7QUFDdkQsK0NBQStDLGdEQUFtQixTQUFTO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUUsSUFBSTtBQUNOLHNCQUFzQiw2Q0FBZ0IsZ0NBQWdDLDZDQUFnQjs7QUFFdEY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELEVBQUUsNENBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILE1BQU0sS0FBcUM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQixnREFBbUI7QUFDekM7QUFDQSxHQUFHLGVBQWUsZ0RBQW1CO0FBQ3JDO0FBQ0EsR0FBRztBQUNIOztBQUUrRDtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9RdWVyeUNsaWVudFByb3ZpZGVyLm1qcz80Y2UyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgZGVmYXVsdENvbnRleHQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlQ29udGV4dCh1bmRlZmluZWQpO1xuY29uc3QgUXVlcnlDbGllbnRTaGFyaW5nQ29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KGZhbHNlKTsgLy8gSWYgd2UgYXJlIGdpdmVuIGEgY29udGV4dCwgd2Ugd2lsbCB1c2UgaXQuXG4vLyBPdGhlcndpc2UsIGlmIGNvbnRleHRTaGFyaW5nIGlzIG9uLCB3ZSBzaGFyZSB0aGUgZmlyc3QgYW5kIGF0IGxlYXN0IG9uZVxuLy8gaW5zdGFuY2Ugb2YgdGhlIGNvbnRleHQgYWNyb3NzIHRoZSB3aW5kb3dcbi8vIHRvIGVuc3VyZSB0aGF0IGlmIFJlYWN0IFF1ZXJ5IGlzIHVzZWQgYWNyb3NzXG4vLyBkaWZmZXJlbnQgYnVuZGxlcyBvciBtaWNyb2Zyb250ZW5kcyB0aGV5IHdpbGxcbi8vIGFsbCB1c2UgdGhlIHNhbWUgKippbnN0YW5jZSoqIG9mIGNvbnRleHQsIHJlZ2FyZGxlc3Ncbi8vIG9mIG1vZHVsZSBzY29waW5nLlxuXG5mdW5jdGlvbiBnZXRRdWVyeUNsaWVudENvbnRleHQoY29udGV4dCwgY29udGV4dFNoYXJpbmcpIHtcbiAgaWYgKGNvbnRleHQpIHtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxuXG4gIGlmIChjb250ZXh0U2hhcmluZyAmJiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGlmICghd2luZG93LlJlYWN0UXVlcnlDbGllbnRDb250ZXh0KSB7XG4gICAgICB3aW5kb3cuUmVhY3RRdWVyeUNsaWVudENvbnRleHQgPSBkZWZhdWx0Q29udGV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gd2luZG93LlJlYWN0UXVlcnlDbGllbnRDb250ZXh0O1xuICB9XG5cbiAgcmV0dXJuIGRlZmF1bHRDb250ZXh0O1xufVxuXG5jb25zdCB1c2VRdWVyeUNsaWVudCA9ICh7XG4gIGNvbnRleHRcbn0gPSB7fSkgPT4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IFJlYWN0LnVzZUNvbnRleHQoZ2V0UXVlcnlDbGllbnRDb250ZXh0KGNvbnRleHQsIFJlYWN0LnVzZUNvbnRleHQoUXVlcnlDbGllbnRTaGFyaW5nQ29udGV4dCkpKTtcblxuICBpZiAoIXF1ZXJ5Q2xpZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBRdWVyeUNsaWVudCBzZXQsIHVzZSBRdWVyeUNsaWVudFByb3ZpZGVyIHRvIHNldCBvbmUnKTtcbiAgfVxuXG4gIHJldHVybiBxdWVyeUNsaWVudDtcbn07XG5jb25zdCBRdWVyeUNsaWVudFByb3ZpZGVyID0gKHtcbiAgY2xpZW50LFxuICBjaGlsZHJlbixcbiAgY29udGV4dCxcbiAgY29udGV4dFNoYXJpbmcgPSBmYWxzZVxufSkgPT4ge1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNsaWVudC5tb3VudCgpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGllbnQudW5tb3VudCgpO1xuICAgIH07XG4gIH0sIFtjbGllbnRdKTtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb250ZXh0U2hhcmluZykge1xuICAgIGNsaWVudC5nZXRMb2dnZXIoKS5lcnJvcihcIlRoZSBjb250ZXh0U2hhcmluZyBvcHRpb24gaGFzIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb25cIik7XG4gIH1cblxuICBjb25zdCBDb250ZXh0ID0gZ2V0UXVlcnlDbGllbnRDb250ZXh0KGNvbnRleHQsIGNvbnRleHRTaGFyaW5nKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFF1ZXJ5Q2xpZW50U2hhcmluZ0NvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogIWNvbnRleHQgJiYgY29udGV4dFNoYXJpbmdcbiAgfSwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBjbGllbnRcbiAgfSwgY2hpbGRyZW4pKTtcbn07XG5cbmV4cG9ydCB7IFF1ZXJ5Q2xpZW50UHJvdmlkZXIsIGRlZmF1bHRDb250ZXh0LCB1c2VRdWVyeUNsaWVudCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UXVlcnlDbGllbnRQcm92aWRlci5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs": -/*!**********************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryErrorResetBoundary: function() { return /* binding */ QueryErrorResetBoundary; },\n/* harmony export */ useQueryErrorResetBoundary: function() { return /* binding */ useQueryErrorResetBoundary; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n'use client';\n\n\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\n\nconst QueryErrorResetBoundaryContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(createValue()); // HOOK\n\nconst useQueryErrorResetBoundary = () => react__WEBPACK_IMPORTED_MODULE_0__.useContext(QueryErrorResetBoundaryContext); // COMPONENT\n\nconst QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => createValue());\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};\n\n\n//# sourceMappingURL=QueryErrorResetBoundary.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9RdWVyeUVycm9yUmVzZXRCb3VuZGFyeS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDK0I7O0FBRS9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCxnREFBbUIsaUJBQWlCOztBQUV4Rix5Q0FBeUMsNkNBQWdCLGtDQUFrQzs7QUFFM0Y7QUFDQTtBQUNBLENBQUM7QUFDRCxrQkFBa0IsMkNBQWM7QUFDaEMsc0JBQXNCLGdEQUFtQjtBQUN6QztBQUNBLEdBQUc7QUFDSDs7QUFFK0Q7QUFDL0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkubWpzPzliZDYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5mdW5jdGlvbiBjcmVhdGVWYWx1ZSgpIHtcbiAgbGV0IGlzUmVzZXQgPSBmYWxzZTtcbiAgcmV0dXJuIHtcbiAgICBjbGVhclJlc2V0OiAoKSA9PiB7XG4gICAgICBpc1Jlc2V0ID0gZmFsc2U7XG4gICAgfSxcbiAgICByZXNldDogKCkgPT4ge1xuICAgICAgaXNSZXNldCA9IHRydWU7XG4gICAgfSxcbiAgICBpc1Jlc2V0OiAoKSA9PiB7XG4gICAgICByZXR1cm4gaXNSZXNldDtcbiAgICB9XG4gIH07XG59XG5cbmNvbnN0IFF1ZXJ5RXJyb3JSZXNldEJvdW5kYXJ5Q29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KGNyZWF0ZVZhbHVlKCkpOyAvLyBIT09LXG5cbmNvbnN0IHVzZVF1ZXJ5RXJyb3JSZXNldEJvdW5kYXJ5ID0gKCkgPT4gUmVhY3QudXNlQ29udGV4dChRdWVyeUVycm9yUmVzZXRCb3VuZGFyeUNvbnRleHQpOyAvLyBDT01QT05FTlRcblxuY29uc3QgUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkgPSAoe1xuICBjaGlsZHJlblxufSkgPT4ge1xuICBjb25zdCBbdmFsdWVdID0gUmVhY3QudXNlU3RhdGUoKCkgPT4gY3JlYXRlVmFsdWUoKSk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChRdWVyeUVycm9yUmVzZXRCb3VuZGFyeUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogdmFsdWVcbiAgfSwgdHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nID8gY2hpbGRyZW4odmFsdWUpIDogY2hpbGRyZW4pO1xufTtcblxuZXhwb3J0IHsgUXVlcnlFcnJvclJlc2V0Qm91bmRhcnksIHVzZVF1ZXJ5RXJyb3JSZXNldEJvdW5kYXJ5IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1RdWVyeUVycm9yUmVzZXRCb3VuZGFyeS5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs": -/*!*****************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensurePreventErrorBoundaryRetry: function() { return /* binding */ ensurePreventErrorBoundaryRetry; },\n/* harmony export */ getHasError: function() { return /* binding */ getHasError; },\n/* harmony export */ useClearResetErrorBoundary: function() { return /* binding */ useClearResetErrorBoundary; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/react-query/build/lib/utils.mjs\");\n'use client';\n\n\n\nconst ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nconst useClearResetErrorBoundary = errorResetBoundary => {\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nconst getHasError = ({\n result,\n errorResetBoundary,\n useErrorBoundary,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_1__.shouldThrowError)(useErrorBoundary, [result.error, query]);\n};\n\n\n//# sourceMappingURL=errorBoundaryUtils.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9lcnJvckJvdW5kYXJ5VXRpbHMubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDK0I7QUFDZ0I7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNENBQWU7QUFDakI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGtGQUFrRiw0REFBZ0I7QUFDbEc7O0FBRW9GO0FBQ3BGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdGFuc3RhY2svcmVhY3QtcXVlcnkvYnVpbGQvbGliL2Vycm9yQm91bmRhcnlVdGlscy5tanM/NTBhOCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzaG91bGRUaHJvd0Vycm9yIH0gZnJvbSAnLi91dGlscy5tanMnO1xuXG5jb25zdCBlbnN1cmVQcmV2ZW50RXJyb3JCb3VuZGFyeVJldHJ5ID0gKG9wdGlvbnMsIGVycm9yUmVzZXRCb3VuZGFyeSkgPT4ge1xuICBpZiAob3B0aW9ucy5zdXNwZW5zZSB8fCBvcHRpb25zLnVzZUVycm9yQm91bmRhcnkpIHtcbiAgICAvLyBQcmV2ZW50IHJldHJ5aW5nIGZhaWxlZCBxdWVyeSBpZiB0aGUgZXJyb3IgYm91bmRhcnkgaGFzIG5vdCBiZWVuIHJlc2V0IHlldFxuICAgIGlmICghZXJyb3JSZXNldEJvdW5kYXJ5LmlzUmVzZXQoKSkge1xuICAgICAgb3B0aW9ucy5yZXRyeU9uTW91bnQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn07XG5jb25zdCB1c2VDbGVhclJlc2V0RXJyb3JCb3VuZGFyeSA9IGVycm9yUmVzZXRCb3VuZGFyeSA9PiB7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZXJyb3JSZXNldEJvdW5kYXJ5LmNsZWFyUmVzZXQoKTtcbiAgfSwgW2Vycm9yUmVzZXRCb3VuZGFyeV0pO1xufTtcbmNvbnN0IGdldEhhc0Vycm9yID0gKHtcbiAgcmVzdWx0LFxuICBlcnJvclJlc2V0Qm91bmRhcnksXG4gIHVzZUVycm9yQm91bmRhcnksXG4gIHF1ZXJ5XG59KSA9PiB7XG4gIHJldHVybiByZXN1bHQuaXNFcnJvciAmJiAhZXJyb3JSZXNldEJvdW5kYXJ5LmlzUmVzZXQoKSAmJiAhcmVzdWx0LmlzRmV0Y2hpbmcgJiYgc2hvdWxkVGhyb3dFcnJvcih1c2VFcnJvckJvdW5kYXJ5LCBbcmVzdWx0LmVycm9yLCBxdWVyeV0pO1xufTtcblxuZXhwb3J0IHsgZW5zdXJlUHJldmVudEVycm9yQm91bmRhcnlSZXRyeSwgZ2V0SGFzRXJyb3IsIHVzZUNsZWFyUmVzZXRFcnJvckJvdW5kYXJ5IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvckJvdW5kYXJ5VXRpbHMubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/index.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/index.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hydrate: function() { return /* reexport safe */ _Hydrate_mjs__WEBPACK_IMPORTED_MODULE_4__.Hydrate; },\n/* harmony export */ IsRestoringProvider: function() { return /* reexport safe */ _isRestoring_mjs__WEBPACK_IMPORTED_MODULE_10__.IsRestoringProvider; },\n/* harmony export */ QueryClientProvider: function() { return /* reexport safe */ _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_3__.QueryClientProvider; },\n/* harmony export */ QueryErrorResetBoundary: function() { return /* reexport safe */ _QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_5__.QueryErrorResetBoundary; },\n/* harmony export */ defaultContext: function() { return /* reexport safe */ _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_3__.defaultContext; },\n/* harmony export */ useHydrate: function() { return /* reexport safe */ _Hydrate_mjs__WEBPACK_IMPORTED_MODULE_4__.useHydrate; },\n/* harmony export */ useInfiniteQuery: function() { return /* reexport safe */ _useInfiniteQuery_mjs__WEBPACK_IMPORTED_MODULE_9__.useInfiniteQuery; },\n/* harmony export */ useIsFetching: function() { return /* reexport safe */ _useIsFetching_mjs__WEBPACK_IMPORTED_MODULE_6__.useIsFetching; },\n/* harmony export */ useIsMutating: function() { return /* reexport safe */ _useIsMutating_mjs__WEBPACK_IMPORTED_MODULE_7__.useIsMutating; },\n/* harmony export */ useIsRestoring: function() { return /* reexport safe */ _isRestoring_mjs__WEBPACK_IMPORTED_MODULE_10__.useIsRestoring; },\n/* harmony export */ useMutation: function() { return /* reexport safe */ _useMutation_mjs__WEBPACK_IMPORTED_MODULE_8__.useMutation; },\n/* harmony export */ useQueries: function() { return /* reexport safe */ _useQueries_mjs__WEBPACK_IMPORTED_MODULE_1__.useQueries; },\n/* harmony export */ useQuery: function() { return /* reexport safe */ _useQuery_mjs__WEBPACK_IMPORTED_MODULE_2__.useQuery; },\n/* harmony export */ useQueryClient: function() { return /* reexport safe */ _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_3__.useQueryClient; },\n/* harmony export */ useQueryErrorResetBoundary: function() { return /* reexport safe */ _QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_5__.useQueryErrorResetBoundary; }\n/* harmony export */ });\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__) if([\"default\",\"useQueries\",\"useQuery\",\"QueryClientProvider\",\"defaultContext\",\"useQueryClient\",\"Hydrate\",\"useHydrate\",\"QueryErrorResetBoundary\",\"useQueryErrorResetBoundary\",\"useIsFetching\",\"useIsMutating\",\"useMutation\",\"useInfiniteQuery\",\"IsRestoringProvider\",\"useIsRestoring\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _useQueries_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useQueries.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useQueries.mjs\");\n/* harmony import */ var _useQuery_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useQuery.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useQuery.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n/* harmony import */ var _Hydrate_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Hydrate.mjs */ \"./node_modules/@tanstack/react-query/build/lib/Hydrate.mjs\");\n/* harmony import */ var _QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./QueryErrorResetBoundary.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs\");\n/* harmony import */ var _useIsFetching_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useIsFetching.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useIsFetching.mjs\");\n/* harmony import */ var _useIsMutating_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useIsMutating.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useIsMutating.mjs\");\n/* harmony import */ var _useMutation_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useMutation.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useMutation.mjs\");\n/* harmony import */ var _useInfiniteQuery_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./useInfiniteQuery.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useInfiniteQuery.mjs\");\n/* harmony import */ var _isRestoring_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isRestoring.mjs */ \"./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs\");\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUM7QUFDSTtBQUNTO0FBQ0o7QUFDc0Q7QUFDNUM7QUFDZ0Q7QUFDaEQ7QUFDQTtBQUNKO0FBQ1U7QUFDYztBQUN4RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9pbmRleC5tanM/ZWJiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vc2V0QmF0Y2hVcGRhdGVzRm4ubWpzJztcbmV4cG9ydCAqIGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJztcbmV4cG9ydCB7IHVzZVF1ZXJpZXMgfSBmcm9tICcuL3VzZVF1ZXJpZXMubWpzJztcbmV4cG9ydCB7IHVzZVF1ZXJ5IH0gZnJvbSAnLi91c2VRdWVyeS5tanMnO1xuZXhwb3J0IHsgUXVlcnlDbGllbnRQcm92aWRlciwgZGVmYXVsdENvbnRleHQsIHVzZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9RdWVyeUNsaWVudFByb3ZpZGVyLm1qcyc7XG5leHBvcnQgeyBIeWRyYXRlLCB1c2VIeWRyYXRlIH0gZnJvbSAnLi9IeWRyYXRlLm1qcyc7XG5leHBvcnQgeyBRdWVyeUVycm9yUmVzZXRCb3VuZGFyeSwgdXNlUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkgfSBmcm9tICcuL1F1ZXJ5RXJyb3JSZXNldEJvdW5kYXJ5Lm1qcyc7XG5leHBvcnQgeyB1c2VJc0ZldGNoaW5nIH0gZnJvbSAnLi91c2VJc0ZldGNoaW5nLm1qcyc7XG5leHBvcnQgeyB1c2VJc011dGF0aW5nIH0gZnJvbSAnLi91c2VJc011dGF0aW5nLm1qcyc7XG5leHBvcnQgeyB1c2VNdXRhdGlvbiB9IGZyb20gJy4vdXNlTXV0YXRpb24ubWpzJztcbmV4cG9ydCB7IHVzZUluZmluaXRlUXVlcnkgfSBmcm9tICcuL3VzZUluZmluaXRlUXVlcnkubWpzJztcbmV4cG9ydCB7IElzUmVzdG9yaW5nUHJvdmlkZXIsIHVzZUlzUmVzdG9yaW5nIH0gZnJvbSAnLi9pc1Jlc3RvcmluZy5tanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs": -/*!**********************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IsRestoringProvider: function() { return /* binding */ IsRestoringProvider; },\n/* harmony export */ useIsRestoring: function() { return /* binding */ useIsRestoring; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n'use client';\n\n\nconst IsRestoringContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(false);\nconst useIsRestoring = () => react__WEBPACK_IMPORTED_MODULE_0__.useContext(IsRestoringContext);\nconst IsRestoringProvider = IsRestoringContext.Provider;\n\n\n//# sourceMappingURL=isRestoring.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9pc1Jlc3RvcmluZy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDK0I7O0FBRS9CLHdDQUF3QyxnREFBbUI7QUFDM0QsNkJBQTZCLDZDQUFnQjtBQUM3Qzs7QUFFK0M7QUFDL0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvaXNSZXN0b3JpbmcubWpzPzI5YTgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBJc1Jlc3RvcmluZ0NvbnRleHQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlQ29udGV4dChmYWxzZSk7XG5jb25zdCB1c2VJc1Jlc3RvcmluZyA9ICgpID0+IFJlYWN0LnVzZUNvbnRleHQoSXNSZXN0b3JpbmdDb250ZXh0KTtcbmNvbnN0IElzUmVzdG9yaW5nUHJvdmlkZXIgPSBJc1Jlc3RvcmluZ0NvbnRleHQuUHJvdmlkZXI7XG5cbmV4cG9ydCB7IElzUmVzdG9yaW5nUHJvdmlkZXIsIHVzZUlzUmVzdG9yaW5nIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc1Jlc3RvcmluZy5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/suspense.mjs": -/*!*******************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/suspense.mjs ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensureStaleTime: function() { return /* binding */ ensureStaleTime; },\n/* harmony export */ fetchOptimistic: function() { return /* binding */ fetchOptimistic; },\n/* harmony export */ shouldSuspend: function() { return /* binding */ shouldSuspend; },\n/* harmony export */ willFetch: function() { return /* binding */ willFetch; }\n/* harmony export */ });\nconst ensureStaleTime = defaultedOptions => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n }\n }\n};\nconst willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nconst shouldSuspend = (defaultedOptions, result, isRestoring) => (defaultedOptions == null ? void 0 : defaultedOptions.suspense) && willFetch(result, isRestoring);\nconst fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).then(({\n data\n}) => {\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n}).catch(error => {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n});\n\n\n//# sourceMappingURL=suspense.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi9zdXNwZW5zZS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFcUU7QUFDdEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvc3VzcGVuc2UubWpzPzk1YjEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZW5zdXJlU3RhbGVUaW1lID0gZGVmYXVsdGVkT3B0aW9ucyA9PiB7XG4gIGlmIChkZWZhdWx0ZWRPcHRpb25zLnN1c3BlbnNlKSB7XG4gICAgLy8gQWx3YXlzIHNldCBzdGFsZSB0aW1lIHdoZW4gdXNpbmcgc3VzcGVuc2UgdG8gcHJldmVudFxuICAgIC8vIGZldGNoaW5nIGFnYWluIHdoZW4gZGlyZWN0bHkgbW91bnRpbmcgYWZ0ZXIgc3VzcGVuZGluZ1xuICAgIGlmICh0eXBlb2YgZGVmYXVsdGVkT3B0aW9ucy5zdGFsZVRpbWUgIT09ICdudW1iZXInKSB7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLnN0YWxlVGltZSA9IDEwMDA7XG4gICAgfVxuICB9XG59O1xuY29uc3Qgd2lsbEZldGNoID0gKHJlc3VsdCwgaXNSZXN0b3JpbmcpID0+IHJlc3VsdC5pc0xvYWRpbmcgJiYgcmVzdWx0LmlzRmV0Y2hpbmcgJiYgIWlzUmVzdG9yaW5nO1xuY29uc3Qgc2hvdWxkU3VzcGVuZCA9IChkZWZhdWx0ZWRPcHRpb25zLCByZXN1bHQsIGlzUmVzdG9yaW5nKSA9PiAoZGVmYXVsdGVkT3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogZGVmYXVsdGVkT3B0aW9ucy5zdXNwZW5zZSkgJiYgd2lsbEZldGNoKHJlc3VsdCwgaXNSZXN0b3JpbmcpO1xuY29uc3QgZmV0Y2hPcHRpbWlzdGljID0gKGRlZmF1bHRlZE9wdGlvbnMsIG9ic2VydmVyLCBlcnJvclJlc2V0Qm91bmRhcnkpID0+IG9ic2VydmVyLmZldGNoT3B0aW1pc3RpYyhkZWZhdWx0ZWRPcHRpb25zKS50aGVuKCh7XG4gIGRhdGFcbn0pID0+IHtcbiAgZGVmYXVsdGVkT3B0aW9ucy5vblN1Y2Nlc3MgPT0gbnVsbCA/IHZvaWQgMCA6IGRlZmF1bHRlZE9wdGlvbnMub25TdWNjZXNzKGRhdGEpO1xuICBkZWZhdWx0ZWRPcHRpb25zLm9uU2V0dGxlZCA9PSBudWxsID8gdm9pZCAwIDogZGVmYXVsdGVkT3B0aW9ucy5vblNldHRsZWQoZGF0YSwgbnVsbCk7XG59KS5jYXRjaChlcnJvciA9PiB7XG4gIGVycm9yUmVzZXRCb3VuZGFyeS5jbGVhclJlc2V0KCk7XG4gIGRlZmF1bHRlZE9wdGlvbnMub25FcnJvciA9PSBudWxsID8gdm9pZCAwIDogZGVmYXVsdGVkT3B0aW9ucy5vbkVycm9yKGVycm9yKTtcbiAgZGVmYXVsdGVkT3B0aW9ucy5vblNldHRsZWQgPT0gbnVsbCA/IHZvaWQgMCA6IGRlZmF1bHRlZE9wdGlvbnMub25TZXR0bGVkKHVuZGVmaW5lZCwgZXJyb3IpO1xufSk7XG5cbmV4cG9ydCB7IGVuc3VyZVN0YWxlVGltZSwgZmV0Y2hPcHRpbWlzdGljLCBzaG91bGRTdXNwZW5kLCB3aWxsRmV0Y2ggfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN1c3BlbnNlLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/suspense.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs": -/*!***********************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useBaseQuery: function() { return /* binding */ useBaseQuery; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useSyncExternalStore.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs\");\n/* harmony import */ var _QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./QueryErrorResetBoundary.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n/* harmony import */ var _isRestoring_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isRestoring.mjs */ \"./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs\");\n/* harmony import */ var _errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./errorBoundaryUtils.mjs */ \"./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs\");\n/* harmony import */ var _suspense_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./suspense.mjs */ \"./node_modules/@tanstack/react-query/build/lib/suspense.mjs\");\n'use client';\n\n\n\n\n\n\n\n\n\nfunction useBaseQuery(options, Observer) {\n const queryClient = (0,_QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__.useQueryClient)({\n context: options.context\n });\n const isRestoring = (0,_isRestoring_mjs__WEBPACK_IMPORTED_MODULE_2__.useIsRestoring)();\n const errorResetBoundary = (0,_QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_3__.useQueryErrorResetBoundary)();\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic'; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = _tanstack_query_core__WEBPACK_IMPORTED_MODULE_4__.notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = _tanstack_query_core__WEBPACK_IMPORTED_MODULE_4__.notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = _tanstack_query_core__WEBPACK_IMPORTED_MODULE_4__.notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n (0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_5__.ensureStaleTime)(defaultedOptions);\n (0,_errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_6__.ensurePreventErrorBoundaryRetry)(defaultedOptions, errorResetBoundary);\n (0,_errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_6__.useClearResetErrorBoundary)(errorResetBoundary);\n const [observer] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => new Observer(queryClient, defaultedOptions));\n const result = observer.getOptimisticResult(defaultedOptions);\n (0,_useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_7__.useSyncExternalStore)(react__WEBPACK_IMPORTED_MODULE_0__.useCallback(onStoreChange => {\n const unsubscribe = isRestoring ? () => undefined : observer.subscribe(_tanstack_query_core__WEBPACK_IMPORTED_MODULE_4__.notifyManager.batchCalls(onStoreChange)); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return unsubscribe;\n }, [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if ((0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_5__.shouldSuspend)(defaultedOptions, result, isRestoring)) {\n throw (0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_5__.fetchOptimistic)(defaultedOptions, observer, errorResetBoundary);\n } // Handle error boundary\n\n\n if ((0,_errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_6__.getHasError)({\n result,\n errorResetBoundary,\n useErrorBoundary: defaultedOptions.useErrorBoundary,\n query: observer.getCurrentQuery()\n })) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\n\n\n//# sourceMappingURL=useBaseQuery.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VCYXNlUXVlcnkubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBO0FBQytCO0FBQ3NCO0FBQ2E7QUFDUztBQUNoQjtBQUNSO0FBQ2lFO0FBQ25DOztBQUVqRjtBQUNBLHNCQUFzQix3RUFBYztBQUNwQztBQUNBLEdBQUc7QUFDSCxzQkFBc0IsZ0VBQWM7QUFDcEMsNkJBQTZCLHdGQUEwQjtBQUN2RCxxRUFBcUU7O0FBRXJFLG9GQUFvRjs7QUFFcEY7QUFDQSwrQkFBK0IsK0RBQWE7QUFDNUM7O0FBRUE7QUFDQSxpQ0FBaUMsK0RBQWE7QUFDOUM7O0FBRUE7QUFDQSxpQ0FBaUMsK0RBQWE7QUFDOUM7O0FBRUEsRUFBRSw4REFBZTtBQUNqQixFQUFFLHdGQUErQjtBQUNqQyxFQUFFLG1GQUEwQjtBQUM1QixxQkFBcUIsMkNBQWM7QUFDbkM7QUFDQSxFQUFFLCtFQUFvQixDQUFDLDhDQUFpQjtBQUN4QywyRUFBMkUsK0RBQWEsNkJBQTZCO0FBQ3JIOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRSw0Q0FBZTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHLGlDQUFpQzs7QUFFcEMsTUFBTSw0REFBYTtBQUNuQixVQUFVLDhEQUFlO0FBQ3pCLElBQUk7OztBQUdKLE1BQU0sb0VBQVc7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUV3QjtBQUN4QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VCYXNlUXVlcnkubWpzP2IyOWMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbm90aWZ5TWFuYWdlciB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJztcbmltcG9ydCB7IHVzZVN5bmNFeHRlcm5hbFN0b3JlIH0gZnJvbSAnLi91c2VTeW5jRXh0ZXJuYWxTdG9yZS5tanMnO1xuaW1wb3J0IHsgdXNlUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkgfSBmcm9tICcuL1F1ZXJ5RXJyb3JSZXNldEJvdW5kYXJ5Lm1qcyc7XG5pbXBvcnQgeyB1c2VRdWVyeUNsaWVudCB9IGZyb20gJy4vUXVlcnlDbGllbnRQcm92aWRlci5tanMnO1xuaW1wb3J0IHsgdXNlSXNSZXN0b3JpbmcgfSBmcm9tICcuL2lzUmVzdG9yaW5nLm1qcyc7XG5pbXBvcnQgeyBlbnN1cmVQcmV2ZW50RXJyb3JCb3VuZGFyeVJldHJ5LCB1c2VDbGVhclJlc2V0RXJyb3JCb3VuZGFyeSwgZ2V0SGFzRXJyb3IgfSBmcm9tICcuL2Vycm9yQm91bmRhcnlVdGlscy5tanMnO1xuaW1wb3J0IHsgZW5zdXJlU3RhbGVUaW1lLCBzaG91bGRTdXNwZW5kLCBmZXRjaE9wdGltaXN0aWMgfSBmcm9tICcuL3N1c3BlbnNlLm1qcyc7XG5cbmZ1bmN0aW9uIHVzZUJhc2VRdWVyeShvcHRpb25zLCBPYnNlcnZlcikge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KHtcbiAgICBjb250ZXh0OiBvcHRpb25zLmNvbnRleHRcbiAgfSk7XG4gIGNvbnN0IGlzUmVzdG9yaW5nID0gdXNlSXNSZXN0b3JpbmcoKTtcbiAgY29uc3QgZXJyb3JSZXNldEJvdW5kYXJ5ID0gdXNlUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkoKTtcbiAgY29uc3QgZGVmYXVsdGVkT3B0aW9ucyA9IHF1ZXJ5Q2xpZW50LmRlZmF1bHRRdWVyeU9wdGlvbnMob3B0aW9ucyk7IC8vIE1ha2Ugc3VyZSByZXN1bHRzIGFyZSBvcHRpbWlzdGljYWxseSBzZXQgaW4gZmV0Y2hpbmcgc3RhdGUgYmVmb3JlIHN1YnNjcmliaW5nIG9yIHVwZGF0aW5nIG9wdGlvbnNcblxuICBkZWZhdWx0ZWRPcHRpb25zLl9vcHRpbWlzdGljUmVzdWx0cyA9IGlzUmVzdG9yaW5nID8gJ2lzUmVzdG9yaW5nJyA6ICdvcHRpbWlzdGljJzsgLy8gSW5jbHVkZSBjYWxsYmFja3MgaW4gYmF0Y2ggcmVuZGVyc1xuXG4gIGlmIChkZWZhdWx0ZWRPcHRpb25zLm9uRXJyb3IpIHtcbiAgICBkZWZhdWx0ZWRPcHRpb25zLm9uRXJyb3IgPSBub3RpZnlNYW5hZ2VyLmJhdGNoQ2FsbHMoZGVmYXVsdGVkT3B0aW9ucy5vbkVycm9yKTtcbiAgfVxuXG4gIGlmIChkZWZhdWx0ZWRPcHRpb25zLm9uU3VjY2Vzcykge1xuICAgIGRlZmF1bHRlZE9wdGlvbnMub25TdWNjZXNzID0gbm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKGRlZmF1bHRlZE9wdGlvbnMub25TdWNjZXNzKTtcbiAgfVxuXG4gIGlmIChkZWZhdWx0ZWRPcHRpb25zLm9uU2V0dGxlZCkge1xuICAgIGRlZmF1bHRlZE9wdGlvbnMub25TZXR0bGVkID0gbm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKGRlZmF1bHRlZE9wdGlvbnMub25TZXR0bGVkKTtcbiAgfVxuXG4gIGVuc3VyZVN0YWxlVGltZShkZWZhdWx0ZWRPcHRpb25zKTtcbiAgZW5zdXJlUHJldmVudEVycm9yQm91bmRhcnlSZXRyeShkZWZhdWx0ZWRPcHRpb25zLCBlcnJvclJlc2V0Qm91bmRhcnkpO1xuICB1c2VDbGVhclJlc2V0RXJyb3JCb3VuZGFyeShlcnJvclJlc2V0Qm91bmRhcnkpO1xuICBjb25zdCBbb2JzZXJ2ZXJdID0gUmVhY3QudXNlU3RhdGUoKCkgPT4gbmV3IE9ic2VydmVyKHF1ZXJ5Q2xpZW50LCBkZWZhdWx0ZWRPcHRpb25zKSk7XG4gIGNvbnN0IHJlc3VsdCA9IG9ic2VydmVyLmdldE9wdGltaXN0aWNSZXN1bHQoZGVmYXVsdGVkT3B0aW9ucyk7XG4gIHVzZVN5bmNFeHRlcm5hbFN0b3JlKFJlYWN0LnVzZUNhbGxiYWNrKG9uU3RvcmVDaGFuZ2UgPT4ge1xuICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gaXNSZXN0b3JpbmcgPyAoKSA9PiB1bmRlZmluZWQgOiBvYnNlcnZlci5zdWJzY3JpYmUobm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKG9uU3RvcmVDaGFuZ2UpKTsgLy8gVXBkYXRlIHJlc3VsdCB0byBtYWtlIHN1cmUgd2UgZGlkIG5vdCBtaXNzIGFueSBxdWVyeSB1cGRhdGVzXG4gICAgLy8gYmV0d2VlbiBjcmVhdGluZyB0aGUgb2JzZXJ2ZXIgYW5kIHN1YnNjcmliaW5nIHRvIGl0LlxuXG4gICAgb2JzZXJ2ZXIudXBkYXRlUmVzdWx0KCk7XG4gICAgcmV0dXJuIHVuc3Vic2NyaWJlO1xuICB9LCBbb2JzZXJ2ZXIsIGlzUmVzdG9yaW5nXSksICgpID0+IG9ic2VydmVyLmdldEN1cnJlbnRSZXN1bHQoKSwgKCkgPT4gb2JzZXJ2ZXIuZ2V0Q3VycmVudFJlc3VsdCgpKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBEbyBub3Qgbm90aWZ5IG9uIHVwZGF0ZXMgYmVjYXVzZSBvZiBjaGFuZ2VzIGluIHRoZSBvcHRpb25zIGJlY2F1c2VcbiAgICAvLyB0aGVzZSBjaGFuZ2VzIHNob3VsZCBhbHJlYWR5IGJlIHJlZmxlY3RlZCBpbiB0aGUgb3B0aW1pc3RpYyByZXN1bHQuXG4gICAgb2JzZXJ2ZXIuc2V0T3B0aW9ucyhkZWZhdWx0ZWRPcHRpb25zLCB7XG4gICAgICBsaXN0ZW5lcnM6IGZhbHNlXG4gICAgfSk7XG4gIH0sIFtkZWZhdWx0ZWRPcHRpb25zLCBvYnNlcnZlcl0pOyAvLyBIYW5kbGUgc3VzcGVuc2VcblxuICBpZiAoc2hvdWxkU3VzcGVuZChkZWZhdWx0ZWRPcHRpb25zLCByZXN1bHQsIGlzUmVzdG9yaW5nKSkge1xuICAgIHRocm93IGZldGNoT3B0aW1pc3RpYyhkZWZhdWx0ZWRPcHRpb25zLCBvYnNlcnZlciwgZXJyb3JSZXNldEJvdW5kYXJ5KTtcbiAgfSAvLyBIYW5kbGUgZXJyb3IgYm91bmRhcnlcblxuXG4gIGlmIChnZXRIYXNFcnJvcih7XG4gICAgcmVzdWx0LFxuICAgIGVycm9yUmVzZXRCb3VuZGFyeSxcbiAgICB1c2VFcnJvckJvdW5kYXJ5OiBkZWZhdWx0ZWRPcHRpb25zLnVzZUVycm9yQm91bmRhcnksXG4gICAgcXVlcnk6IG9ic2VydmVyLmdldEN1cnJlbnRRdWVyeSgpXG4gIH0pKSB7XG4gICAgdGhyb3cgcmVzdWx0LmVycm9yO1xuICB9IC8vIEhhbmRsZSByZXN1bHQgcHJvcGVydHkgdXNhZ2UgdHJhY2tpbmdcblxuXG4gIHJldHVybiAhZGVmYXVsdGVkT3B0aW9ucy5ub3RpZnlPbkNoYW5nZVByb3BzID8gb2JzZXJ2ZXIudHJhY2tSZXN1bHQocmVzdWx0KSA6IHJlc3VsdDtcbn1cblxuZXhwb3J0IHsgdXNlQmFzZVF1ZXJ5IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VCYXNlUXVlcnkubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useInfiniteQuery.mjs": -/*!***************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useInfiniteQuery.mjs ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useInfiniteQuery: function() { return /* binding */ useInfiniteQuery; }\n/* harmony export */ });\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useBaseQuery_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useBaseQuery.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs\");\n'use client';\n\n\n\nfunction useInfiniteQuery(arg1, arg2, arg3) {\n const options = (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__.parseQueryArgs)(arg1, arg2, arg3);\n return (0,_useBaseQuery_mjs__WEBPACK_IMPORTED_MODULE_1__.useBaseQuery)(options, _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__.InfiniteQueryObserver);\n}\n\n\n//# sourceMappingURL=useInfiniteQuery.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VJbmZpbml0ZVF1ZXJ5Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUM2RTtBQUMzQjs7QUFFbEQ7QUFDQSxrQkFBa0Isb0VBQWM7QUFDaEMsU0FBUywrREFBWSxVQUFVLHVFQUFxQjtBQUNwRDs7QUFFNEI7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvdXNlSW5maW5pdGVRdWVyeS5tanM/ZTM5NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyBwYXJzZVF1ZXJ5QXJncywgSW5maW5pdGVRdWVyeU9ic2VydmVyIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnO1xuaW1wb3J0IHsgdXNlQmFzZVF1ZXJ5IH0gZnJvbSAnLi91c2VCYXNlUXVlcnkubWpzJztcblxuZnVuY3Rpb24gdXNlSW5maW5pdGVRdWVyeShhcmcxLCBhcmcyLCBhcmczKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBwYXJzZVF1ZXJ5QXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgcmV0dXJuIHVzZUJhc2VRdWVyeShvcHRpb25zLCBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXIpO1xufVxuXG5leHBvcnQgeyB1c2VJbmZpbml0ZVF1ZXJ5IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VJbmZpbml0ZVF1ZXJ5Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useInfiniteQuery.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useIsFetching.mjs": -/*!************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useIsFetching.mjs ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsFetching: function() { return /* binding */ useIsFetching; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useSyncExternalStore.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n'use client';\n\n\n\n\n\nfunction useIsFetching(arg1, arg2, arg3) {\n const [filters, options = {}] = (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.parseFilterArgs)(arg1, arg2, arg3);\n const queryClient = (0,_QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_2__.useQueryClient)({\n context: options.context\n });\n const queryCache = queryClient.getQueryCache();\n return (0,_useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_3__.useSyncExternalStore)(react__WEBPACK_IMPORTED_MODULE_0__.useCallback(onStoreChange => queryCache.subscribe(_tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.notifyManager.batchCalls(onStoreChange)), [queryCache]), () => queryClient.isFetching(filters), () => queryClient.isFetching(filters));\n}\n\n\n//# sourceMappingURL=useIsFetching.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VJc0ZldGNoaW5nLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQytCO0FBQ3VDO0FBQ0o7QUFDUDs7QUFFM0Q7QUFDQSw4QkFBOEIsSUFBSSxxRUFBZTtBQUNqRCxzQkFBc0Isd0VBQWM7QUFDcEM7QUFDQSxHQUFHO0FBQ0g7QUFDQSxTQUFTLCtFQUFvQixDQUFDLDhDQUFpQix1Q0FBdUMsK0RBQWE7QUFDbkc7O0FBRXlCO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AdGFuc3RhY2svcmVhY3QtcXVlcnkvYnVpbGQvbGliL3VzZUlzRmV0Y2hpbmcubWpzPzBiMDMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcGFyc2VGaWx0ZXJBcmdzLCBub3RpZnlNYW5hZ2VyIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgfSBmcm9tICcuL3VzZVN5bmNFeHRlcm5hbFN0b3JlLm1qcyc7XG5pbXBvcnQgeyB1c2VRdWVyeUNsaWVudCB9IGZyb20gJy4vUXVlcnlDbGllbnRQcm92aWRlci5tanMnO1xuXG5mdW5jdGlvbiB1c2VJc0ZldGNoaW5nKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgY29uc3QgW2ZpbHRlcnMsIG9wdGlvbnMgPSB7fV0gPSBwYXJzZUZpbHRlckFyZ3MoYXJnMSwgYXJnMiwgYXJnMyk7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoe1xuICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dFxuICB9KTtcbiAgY29uc3QgcXVlcnlDYWNoZSA9IHF1ZXJ5Q2xpZW50LmdldFF1ZXJ5Q2FjaGUoKTtcbiAgcmV0dXJuIHVzZVN5bmNFeHRlcm5hbFN0b3JlKFJlYWN0LnVzZUNhbGxiYWNrKG9uU3RvcmVDaGFuZ2UgPT4gcXVlcnlDYWNoZS5zdWJzY3JpYmUobm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKG9uU3RvcmVDaGFuZ2UpKSwgW3F1ZXJ5Q2FjaGVdKSwgKCkgPT4gcXVlcnlDbGllbnQuaXNGZXRjaGluZyhmaWx0ZXJzKSwgKCkgPT4gcXVlcnlDbGllbnQuaXNGZXRjaGluZyhmaWx0ZXJzKSk7XG59XG5cbmV4cG9ydCB7IHVzZUlzRmV0Y2hpbmcgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUlzRmV0Y2hpbmcubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useIsFetching.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useIsMutating.mjs": -/*!************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useIsMutating.mjs ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useIsMutating: function() { return /* binding */ useIsMutating; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useSyncExternalStore.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n'use client';\n\n\n\n\n\nfunction useIsMutating(arg1, arg2, arg3) {\n const [filters, options = {}] = (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.parseMutationFilterArgs)(arg1, arg2, arg3);\n const queryClient = (0,_QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_2__.useQueryClient)({\n context: options.context\n });\n const mutationCache = queryClient.getMutationCache();\n return (0,_useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_3__.useSyncExternalStore)(react__WEBPACK_IMPORTED_MODULE_0__.useCallback(onStoreChange => mutationCache.subscribe(_tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.notifyManager.batchCalls(onStoreChange)), [mutationCache]), () => queryClient.isMutating(filters), () => queryClient.isMutating(filters));\n}\n\n\n//# sourceMappingURL=useIsMutating.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VJc011dGF0aW5nLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQytCO0FBQytDO0FBQ1o7QUFDUDs7QUFFM0Q7QUFDQSw4QkFBOEIsSUFBSSw2RUFBdUI7QUFDekQsc0JBQXNCLHdFQUFjO0FBQ3BDO0FBQ0EsR0FBRztBQUNIO0FBQ0EsU0FBUywrRUFBb0IsQ0FBQyw4Q0FBaUIsMENBQTBDLCtEQUFhO0FBQ3RHOztBQUV5QjtBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VJc011dGF0aW5nLm1qcz8wZDU3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHBhcnNlTXV0YXRpb25GaWx0ZXJBcmdzLCBub3RpZnlNYW5hZ2VyIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgfSBmcm9tICcuL3VzZVN5bmNFeHRlcm5hbFN0b3JlLm1qcyc7XG5pbXBvcnQgeyB1c2VRdWVyeUNsaWVudCB9IGZyb20gJy4vUXVlcnlDbGllbnRQcm92aWRlci5tanMnO1xuXG5mdW5jdGlvbiB1c2VJc011dGF0aW5nKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgY29uc3QgW2ZpbHRlcnMsIG9wdGlvbnMgPSB7fV0gPSBwYXJzZU11dGF0aW9uRmlsdGVyQXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCh7XG4gICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0XG4gIH0pO1xuICBjb25zdCBtdXRhdGlvbkNhY2hlID0gcXVlcnlDbGllbnQuZ2V0TXV0YXRpb25DYWNoZSgpO1xuICByZXR1cm4gdXNlU3luY0V4dGVybmFsU3RvcmUoUmVhY3QudXNlQ2FsbGJhY2sob25TdG9yZUNoYW5nZSA9PiBtdXRhdGlvbkNhY2hlLnN1YnNjcmliZShub3RpZnlNYW5hZ2VyLmJhdGNoQ2FsbHMob25TdG9yZUNoYW5nZSkpLCBbbXV0YXRpb25DYWNoZV0pLCAoKSA9PiBxdWVyeUNsaWVudC5pc011dGF0aW5nKGZpbHRlcnMpLCAoKSA9PiBxdWVyeUNsaWVudC5pc011dGF0aW5nKGZpbHRlcnMpKTtcbn1cblxuZXhwb3J0IHsgdXNlSXNNdXRhdGluZyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlSXNNdXRhdGluZy5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useIsMutating.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useMutation.mjs": -/*!**********************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useMutation.mjs ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useMutation: function() { return /* binding */ useMutation; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useSyncExternalStore.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n/* harmony import */ var _utils_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils.mjs */ \"./node_modules/@tanstack/react-query/build/lib/utils.mjs\");\n'use client';\n\n\n\n\n\n\nfunction useMutation(arg1, arg2, arg3) {\n const options = (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.parseMutationArgs)(arg1, arg2, arg3);\n const queryClient = (0,_QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_2__.useQueryClient)({\n context: options.context\n });\n const [observer] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => new _tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.MutationObserver(queryClient, options));\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = (0,_useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_3__.useSyncExternalStore)(react__WEBPACK_IMPORTED_MODULE_0__.useCallback(onStoreChange => observer.subscribe(_tanstack_query_core__WEBPACK_IMPORTED_MODULE_1__.notifyManager.batchCalls(onStoreChange)), [observer]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n const mutate = react__WEBPACK_IMPORTED_MODULE_0__.useCallback((variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n }, [observer]);\n\n if (result.error && (0,_utils_mjs__WEBPACK_IMPORTED_MODULE_4__.shouldThrowError)(observer.options.useErrorBoundary, [result.error])) {\n throw result.error;\n }\n\n return { ...result,\n mutate,\n mutateAsync: result.mutate\n };\n} // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nfunction noop() {}\n\n\n//# sourceMappingURL=useMutation.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VNdXRhdGlvbi5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDK0I7QUFDMkQ7QUFDeEI7QUFDUDtBQUNaOztBQUUvQztBQUNBLGtCQUFrQix1RUFBaUI7QUFDbkMsc0JBQXNCLHdFQUFjO0FBQ3BDO0FBQ0EsR0FBRztBQUNILHFCQUFxQiwyQ0FBYyxXQUFXLGtFQUFnQjtBQUM5RCxFQUFFLDRDQUFlO0FBQ2pCO0FBQ0EsR0FBRztBQUNILGlCQUFpQiwrRUFBb0IsQ0FBQyw4Q0FBaUIscUNBQXFDLCtEQUFhO0FBQ3pHLGlCQUFpQiw4Q0FBaUI7QUFDbEM7QUFDQSxHQUFHOztBQUVILHNCQUFzQiw0REFBZ0I7QUFDdEM7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFdUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvdXNlTXV0YXRpb24ubWpzP2JlMzIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcGFyc2VNdXRhdGlvbkFyZ3MsIE11dGF0aW9uT2JzZXJ2ZXIsIG5vdGlmeU1hbmFnZXIgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSc7XG5pbXBvcnQgeyB1c2VTeW5jRXh0ZXJuYWxTdG9yZSB9IGZyb20gJy4vdXNlU3luY0V4dGVybmFsU3RvcmUubWpzJztcbmltcG9ydCB7IHVzZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9RdWVyeUNsaWVudFByb3ZpZGVyLm1qcyc7XG5pbXBvcnQgeyBzaG91bGRUaHJvd0Vycm9yIH0gZnJvbSAnLi91dGlscy5tanMnO1xuXG5mdW5jdGlvbiB1c2VNdXRhdGlvbihhcmcxLCBhcmcyLCBhcmczKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBwYXJzZU11dGF0aW9uQXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCh7XG4gICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0XG4gIH0pO1xuICBjb25zdCBbb2JzZXJ2ZXJdID0gUmVhY3QudXNlU3RhdGUoKCkgPT4gbmV3IE11dGF0aW9uT2JzZXJ2ZXIocXVlcnlDbGllbnQsIG9wdGlvbnMpKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBvYnNlcnZlci5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICB9LCBbb2JzZXJ2ZXIsIG9wdGlvbnNdKTtcbiAgY29uc3QgcmVzdWx0ID0gdXNlU3luY0V4dGVybmFsU3RvcmUoUmVhY3QudXNlQ2FsbGJhY2sob25TdG9yZUNoYW5nZSA9PiBvYnNlcnZlci5zdWJzY3JpYmUobm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKG9uU3RvcmVDaGFuZ2UpKSwgW29ic2VydmVyXSksICgpID0+IG9ic2VydmVyLmdldEN1cnJlbnRSZXN1bHQoKSwgKCkgPT4gb2JzZXJ2ZXIuZ2V0Q3VycmVudFJlc3VsdCgpKTtcbiAgY29uc3QgbXV0YXRlID0gUmVhY3QudXNlQ2FsbGJhY2soKHZhcmlhYmxlcywgbXV0YXRlT3B0aW9ucykgPT4ge1xuICAgIG9ic2VydmVyLm11dGF0ZSh2YXJpYWJsZXMsIG11dGF0ZU9wdGlvbnMpLmNhdGNoKG5vb3ApO1xuICB9LCBbb2JzZXJ2ZXJdKTtcblxuICBpZiAocmVzdWx0LmVycm9yICYmIHNob3VsZFRocm93RXJyb3Iob2JzZXJ2ZXIub3B0aW9ucy51c2VFcnJvckJvdW5kYXJ5LCBbcmVzdWx0LmVycm9yXSkpIHtcbiAgICB0aHJvdyByZXN1bHQuZXJyb3I7XG4gIH1cblxuICByZXR1cm4geyAuLi5yZXN1bHQsXG4gICAgbXV0YXRlLFxuICAgIG11dGF0ZUFzeW5jOiByZXN1bHQubXV0YXRlXG4gIH07XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbmV4cG9ydCB7IHVzZU11dGF0aW9uIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VNdXRhdGlvbi5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useMutation.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useQueries.mjs": -/*!*********************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useQueries.mjs ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useQueries: function() { return /* binding */ useQueries; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useSyncExternalStore.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs\");\n/* harmony import */ var _QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./QueryClientProvider.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\");\n/* harmony import */ var _isRestoring_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isRestoring.mjs */ \"./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs\");\n/* harmony import */ var _QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./QueryErrorResetBoundary.mjs */ \"./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs\");\n/* harmony import */ var _errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./errorBoundaryUtils.mjs */ \"./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs\");\n/* harmony import */ var _suspense_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./suspense.mjs */ \"./node_modules/@tanstack/react-query/build/lib/suspense.mjs\");\n'use client';\n\n\n\n\n\n\n\n\n\nfunction useQueries({\n queries,\n context\n}) {\n const queryClient = (0,_QueryClientProvider_mjs__WEBPACK_IMPORTED_MODULE_1__.useQueryClient)({\n context\n });\n const isRestoring = (0,_isRestoring_mjs__WEBPACK_IMPORTED_MODULE_2__.useIsRestoring)();\n const errorResetBoundary = (0,_QueryErrorResetBoundary_mjs__WEBPACK_IMPORTED_MODULE_3__.useQueryErrorResetBoundary)();\n const defaultedQueries = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => queries.map(options => {\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure the results are already in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic';\n return defaultedOptions;\n }), [queries, queryClient, isRestoring]);\n defaultedQueries.forEach(query => {\n (0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_4__.ensureStaleTime)(query);\n (0,_errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_5__.ensurePreventErrorBoundaryRetry)(query, errorResetBoundary);\n });\n (0,_errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_5__.useClearResetErrorBoundary)(errorResetBoundary);\n const [observer] = react__WEBPACK_IMPORTED_MODULE_0__.useState(() => new _tanstack_query_core__WEBPACK_IMPORTED_MODULE_6__.QueriesObserver(queryClient, defaultedQueries));\n const optimisticResult = observer.getOptimisticResult(defaultedQueries);\n (0,_useSyncExternalStore_mjs__WEBPACK_IMPORTED_MODULE_7__.useSyncExternalStore)(react__WEBPACK_IMPORTED_MODULE_0__.useCallback(onStoreChange => isRestoring ? () => undefined : observer.subscribe(_tanstack_query_core__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batchCalls(onStoreChange)), [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, {\n listeners: false\n });\n }, [defaultedQueries, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) => (0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_4__.shouldSuspend)(defaultedQueries[index], result, isRestoring));\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const options = defaultedQueries[index];\n const queryObserver = observer.getObservers()[index];\n\n if (options && queryObserver) {\n if ((0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_4__.shouldSuspend)(options, result, isRestoring)) {\n return (0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_4__.fetchOptimistic)(options, queryObserver, errorResetBoundary);\n } else if ((0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_4__.willFetch)(result, isRestoring)) {\n void (0,_suspense_mjs__WEBPACK_IMPORTED_MODULE_4__.fetchOptimistic)(options, queryObserver, errorResetBoundary);\n }\n }\n\n return [];\n }) : [];\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n\n const observerQueries = observer.getQueries();\n const firstSingleResultWhichShouldThrow = optimisticResult.find((result, index) => {\n var _defaultedQueries$ind, _defaultedQueries$ind2;\n\n return (0,_errorBoundaryUtils_mjs__WEBPACK_IMPORTED_MODULE_5__.getHasError)({\n result,\n errorResetBoundary,\n useErrorBoundary: (_defaultedQueries$ind = (_defaultedQueries$ind2 = defaultedQueries[index]) == null ? void 0 : _defaultedQueries$ind2.useErrorBoundary) != null ? _defaultedQueries$ind : false,\n query: observerQueries[index]\n });\n });\n\n if (firstSingleResultWhichShouldThrow != null && firstSingleResultWhichShouldThrow.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n\n return optimisticResult;\n}\n\n\n//# sourceMappingURL=useQueries.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VRdWVyaWVzLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUMrQjtBQUN1QztBQUNKO0FBQ1A7QUFDUjtBQUN3QjtBQUN5QztBQUN4Qjs7QUFFNUY7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHNCQUFzQix3RUFBYztBQUNwQztBQUNBLEdBQUc7QUFDSCxzQkFBc0IsZ0VBQWM7QUFDcEMsNkJBQTZCLHdGQUEwQjtBQUN2RCwyQkFBMkIsMENBQWE7QUFDeEMsdUVBQXVFOztBQUV2RTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsSUFBSSw4REFBZTtBQUNuQixJQUFJLHdGQUErQjtBQUNuQyxHQUFHO0FBQ0gsRUFBRSxtRkFBMEI7QUFDNUIscUJBQXFCLDJDQUFjLFdBQVcsaUVBQWU7QUFDN0Q7QUFDQSxFQUFFLCtFQUFvQixDQUFDLDhDQUFpQixxRUFBcUUsK0RBQWE7QUFDMUgsRUFBRSw0Q0FBZTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0gsMkVBQTJFLDREQUFhO0FBQ3hGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVUsNERBQWE7QUFDdkIsZUFBZSw4REFBZTtBQUM5QixRQUFRLFNBQVMsd0RBQVM7QUFDMUIsYUFBYSw4REFBZTtBQUM1QjtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFdBQVcsb0VBQVc7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFc0I7QUFDdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvdXNlUXVlcmllcy5tanM/ZmE5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBRdWVyaWVzT2JzZXJ2ZXIsIG5vdGlmeU1hbmFnZXIgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSc7XG5pbXBvcnQgeyB1c2VTeW5jRXh0ZXJuYWxTdG9yZSB9IGZyb20gJy4vdXNlU3luY0V4dGVybmFsU3RvcmUubWpzJztcbmltcG9ydCB7IHVzZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9RdWVyeUNsaWVudFByb3ZpZGVyLm1qcyc7XG5pbXBvcnQgeyB1c2VJc1Jlc3RvcmluZyB9IGZyb20gJy4vaXNSZXN0b3JpbmcubWpzJztcbmltcG9ydCB7IHVzZVF1ZXJ5RXJyb3JSZXNldEJvdW5kYXJ5IH0gZnJvbSAnLi9RdWVyeUVycm9yUmVzZXRCb3VuZGFyeS5tanMnO1xuaW1wb3J0IHsgZW5zdXJlUHJldmVudEVycm9yQm91bmRhcnlSZXRyeSwgdXNlQ2xlYXJSZXNldEVycm9yQm91bmRhcnksIGdldEhhc0Vycm9yIH0gZnJvbSAnLi9lcnJvckJvdW5kYXJ5VXRpbHMubWpzJztcbmltcG9ydCB7IGVuc3VyZVN0YWxlVGltZSwgc2hvdWxkU3VzcGVuZCwgZmV0Y2hPcHRpbWlzdGljLCB3aWxsRmV0Y2ggfSBmcm9tICcuL3N1c3BlbnNlLm1qcyc7XG5cbmZ1bmN0aW9uIHVzZVF1ZXJpZXMoe1xuICBxdWVyaWVzLFxuICBjb250ZXh0XG59KSB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoe1xuICAgIGNvbnRleHRcbiAgfSk7XG4gIGNvbnN0IGlzUmVzdG9yaW5nID0gdXNlSXNSZXN0b3JpbmcoKTtcbiAgY29uc3QgZXJyb3JSZXNldEJvdW5kYXJ5ID0gdXNlUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkoKTtcbiAgY29uc3QgZGVmYXVsdGVkUXVlcmllcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gcXVlcmllcy5tYXAob3B0aW9ucyA9PiB7XG4gICAgY29uc3QgZGVmYXVsdGVkT3B0aW9ucyA9IHF1ZXJ5Q2xpZW50LmRlZmF1bHRRdWVyeU9wdGlvbnMob3B0aW9ucyk7IC8vIE1ha2Ugc3VyZSB0aGUgcmVzdWx0cyBhcmUgYWxyZWFkeSBpbiBmZXRjaGluZyBzdGF0ZSBiZWZvcmUgc3Vic2NyaWJpbmcgb3IgdXBkYXRpbmcgb3B0aW9uc1xuXG4gICAgZGVmYXVsdGVkT3B0aW9ucy5fb3B0aW1pc3RpY1Jlc3VsdHMgPSBpc1Jlc3RvcmluZyA/ICdpc1Jlc3RvcmluZycgOiAnb3B0aW1pc3RpYyc7XG4gICAgcmV0dXJuIGRlZmF1bHRlZE9wdGlvbnM7XG4gIH0pLCBbcXVlcmllcywgcXVlcnlDbGllbnQsIGlzUmVzdG9yaW5nXSk7XG4gIGRlZmF1bHRlZFF1ZXJpZXMuZm9yRWFjaChxdWVyeSA9PiB7XG4gICAgZW5zdXJlU3RhbGVUaW1lKHF1ZXJ5KTtcbiAgICBlbnN1cmVQcmV2ZW50RXJyb3JCb3VuZGFyeVJldHJ5KHF1ZXJ5LCBlcnJvclJlc2V0Qm91bmRhcnkpO1xuICB9KTtcbiAgdXNlQ2xlYXJSZXNldEVycm9yQm91bmRhcnkoZXJyb3JSZXNldEJvdW5kYXJ5KTtcbiAgY29uc3QgW29ic2VydmVyXSA9IFJlYWN0LnVzZVN0YXRlKCgpID0+IG5ldyBRdWVyaWVzT2JzZXJ2ZXIocXVlcnlDbGllbnQsIGRlZmF1bHRlZFF1ZXJpZXMpKTtcbiAgY29uc3Qgb3B0aW1pc3RpY1Jlc3VsdCA9IG9ic2VydmVyLmdldE9wdGltaXN0aWNSZXN1bHQoZGVmYXVsdGVkUXVlcmllcyk7XG4gIHVzZVN5bmNFeHRlcm5hbFN0b3JlKFJlYWN0LnVzZUNhbGxiYWNrKG9uU3RvcmVDaGFuZ2UgPT4gaXNSZXN0b3JpbmcgPyAoKSA9PiB1bmRlZmluZWQgOiBvYnNlcnZlci5zdWJzY3JpYmUobm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKG9uU3RvcmVDaGFuZ2UpKSwgW29ic2VydmVyLCBpc1Jlc3RvcmluZ10pLCAoKSA9PiBvYnNlcnZlci5nZXRDdXJyZW50UmVzdWx0KCksICgpID0+IG9ic2VydmVyLmdldEN1cnJlbnRSZXN1bHQoKSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gRG8gbm90IG5vdGlmeSBvbiB1cGRhdGVzIGJlY2F1c2Ugb2YgY2hhbmdlcyBpbiB0aGUgb3B0aW9ucyBiZWNhdXNlXG4gICAgLy8gdGhlc2UgY2hhbmdlcyBzaG91bGQgYWxyZWFkeSBiZSByZWZsZWN0ZWQgaW4gdGhlIG9wdGltaXN0aWMgcmVzdWx0LlxuICAgIG9ic2VydmVyLnNldFF1ZXJpZXMoZGVmYXVsdGVkUXVlcmllcywge1xuICAgICAgbGlzdGVuZXJzOiBmYWxzZVxuICAgIH0pO1xuICB9LCBbZGVmYXVsdGVkUXVlcmllcywgb2JzZXJ2ZXJdKTtcbiAgY29uc3Qgc2hvdWxkQXRMZWFzdE9uZVN1c3BlbmQgPSBvcHRpbWlzdGljUmVzdWx0LnNvbWUoKHJlc3VsdCwgaW5kZXgpID0+IHNob3VsZFN1c3BlbmQoZGVmYXVsdGVkUXVlcmllc1tpbmRleF0sIHJlc3VsdCwgaXNSZXN0b3JpbmcpKTtcbiAgY29uc3Qgc3VzcGVuc2VQcm9taXNlcyA9IHNob3VsZEF0TGVhc3RPbmVTdXNwZW5kID8gb3B0aW1pc3RpY1Jlc3VsdC5mbGF0TWFwKChyZXN1bHQsIGluZGV4KSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGRlZmF1bHRlZFF1ZXJpZXNbaW5kZXhdO1xuICAgIGNvbnN0IHF1ZXJ5T2JzZXJ2ZXIgPSBvYnNlcnZlci5nZXRPYnNlcnZlcnMoKVtpbmRleF07XG5cbiAgICBpZiAob3B0aW9ucyAmJiBxdWVyeU9ic2VydmVyKSB7XG4gICAgICBpZiAoc2hvdWxkU3VzcGVuZChvcHRpb25zLCByZXN1bHQsIGlzUmVzdG9yaW5nKSkge1xuICAgICAgICByZXR1cm4gZmV0Y2hPcHRpbWlzdGljKG9wdGlvbnMsIHF1ZXJ5T2JzZXJ2ZXIsIGVycm9yUmVzZXRCb3VuZGFyeSk7XG4gICAgICB9IGVsc2UgaWYgKHdpbGxGZXRjaChyZXN1bHQsIGlzUmVzdG9yaW5nKSkge1xuICAgICAgICB2b2lkIGZldGNoT3B0aW1pc3RpYyhvcHRpb25zLCBxdWVyeU9ic2VydmVyLCBlcnJvclJlc2V0Qm91bmRhcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfSkgOiBbXTtcblxuICBpZiAoc3VzcGVuc2VQcm9taXNlcy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgUHJvbWlzZS5hbGwoc3VzcGVuc2VQcm9taXNlcyk7XG4gIH1cblxuICBjb25zdCBvYnNlcnZlclF1ZXJpZXMgPSBvYnNlcnZlci5nZXRRdWVyaWVzKCk7XG4gIGNvbnN0IGZpcnN0U2luZ2xlUmVzdWx0V2hpY2hTaG91bGRUaHJvdyA9IG9wdGltaXN0aWNSZXN1bHQuZmluZCgocmVzdWx0LCBpbmRleCkgPT4ge1xuICAgIHZhciBfZGVmYXVsdGVkUXVlcmllcyRpbmQsIF9kZWZhdWx0ZWRRdWVyaWVzJGluZDI7XG5cbiAgICByZXR1cm4gZ2V0SGFzRXJyb3Ioe1xuICAgICAgcmVzdWx0LFxuICAgICAgZXJyb3JSZXNldEJvdW5kYXJ5LFxuICAgICAgdXNlRXJyb3JCb3VuZGFyeTogKF9kZWZhdWx0ZWRRdWVyaWVzJGluZCA9IChfZGVmYXVsdGVkUXVlcmllcyRpbmQyID0gZGVmYXVsdGVkUXVlcmllc1tpbmRleF0pID09IG51bGwgPyB2b2lkIDAgOiBfZGVmYXVsdGVkUXVlcmllcyRpbmQyLnVzZUVycm9yQm91bmRhcnkpICE9IG51bGwgPyBfZGVmYXVsdGVkUXVlcmllcyRpbmQgOiBmYWxzZSxcbiAgICAgIHF1ZXJ5OiBvYnNlcnZlclF1ZXJpZXNbaW5kZXhdXG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmIChmaXJzdFNpbmdsZVJlc3VsdFdoaWNoU2hvdWxkVGhyb3cgIT0gbnVsbCAmJiBmaXJzdFNpbmdsZVJlc3VsdFdoaWNoU2hvdWxkVGhyb3cuZXJyb3IpIHtcbiAgICB0aHJvdyBmaXJzdFNpbmdsZVJlc3VsdFdoaWNoU2hvdWxkVGhyb3cuZXJyb3I7XG4gIH1cblxuICByZXR1cm4gb3B0aW1pc3RpY1Jlc3VsdDtcbn1cblxuZXhwb3J0IHsgdXNlUXVlcmllcyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlUXVlcmllcy5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useQueries.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useQuery.mjs": -/*!*******************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useQuery.mjs ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useQuery: function() { return /* binding */ useQuery; }\n/* harmony export */ });\n/* harmony import */ var _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tanstack/query-core */ \"./node_modules/@tanstack/query-core/build/lib/index.mjs\");\n/* harmony import */ var _useBaseQuery_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useBaseQuery.mjs */ \"./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs\");\n'use client';\n\n\n\nfunction useQuery(arg1, arg2, arg3) {\n const parsedOptions = (0,_tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__.parseQueryArgs)(arg1, arg2, arg3);\n return (0,_useBaseQuery_mjs__WEBPACK_IMPORTED_MODULE_1__.useBaseQuery)(parsedOptions, _tanstack_query_core__WEBPACK_IMPORTED_MODULE_0__.QueryObserver);\n}\n\n\n//# sourceMappingURL=useQuery.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VRdWVyeS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDcUU7QUFDbkI7O0FBRWxEO0FBQ0Esd0JBQXdCLG9FQUFjO0FBQ3RDLFNBQVMsK0RBQVksZ0JBQWdCLCtEQUFhO0FBQ2xEOztBQUVvQjtBQUNwQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VRdWVyeS5tanM/NWU3NiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyBwYXJzZVF1ZXJ5QXJncywgUXVlcnlPYnNlcnZlciB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJztcbmltcG9ydCB7IHVzZUJhc2VRdWVyeSB9IGZyb20gJy4vdXNlQmFzZVF1ZXJ5Lm1qcyc7XG5cbmZ1bmN0aW9uIHVzZVF1ZXJ5KGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgY29uc3QgcGFyc2VkT3B0aW9ucyA9IHBhcnNlUXVlcnlBcmdzKGFyZzEsIGFyZzIsIGFyZzMpO1xuICByZXR1cm4gdXNlQmFzZVF1ZXJ5KHBhcnNlZE9wdGlvbnMsIFF1ZXJ5T2JzZXJ2ZXIpO1xufVxuXG5leHBvcnQgeyB1c2VRdWVyeSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlUXVlcnkubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useQuery.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs": -/*!*******************************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSyncExternalStore: function() { return /* binding */ useSyncExternalStore; }\n/* harmony export */ });\n/* harmony import */ var use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sync-external-store/shim/index.js */ \"./node_modules/use-sync-external-store/shim/index.js\");\n'use client';\n\n\nconst useSyncExternalStore = use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore;\n\n\n//# sourceMappingURL=useSyncExternalStore.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91c2VTeW5jRXh0ZXJuYWxTdG9yZS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUN1Rzs7QUFFdkcsNkJBQTZCLHVGQUFzQjs7QUFFbkI7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvdXNlU3luY0V4dGVybmFsU3RvcmUubWpzPzAyNjMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgYXMgdXNlU3luY0V4dGVybmFsU3RvcmUkMSB9IGZyb20gJ3VzZS1zeW5jLWV4dGVybmFsLXN0b3JlL3NoaW0vaW5kZXguanMnO1xuXG5jb25zdCB1c2VTeW5jRXh0ZXJuYWxTdG9yZSA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlJDE7XG5cbmV4cG9ydCB7IHVzZVN5bmNFeHRlcm5hbFN0b3JlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VTeW5jRXh0ZXJuYWxTdG9yZS5tanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@tanstack/react-query/build/lib/utils.mjs": -/*!****************************************************************!*\ - !*** ./node_modules/@tanstack/react-query/build/lib/utils.mjs ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ shouldThrowError: function() { return /* binding */ shouldThrowError; }\n/* harmony export */ });\nfunction shouldThrowError(_useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params);\n }\n\n return !!_useErrorBoundary;\n}\n\n\n//# sourceMappingURL=utils.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5L2J1aWxkL2xpYi91dGlscy5tanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFNEI7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B0YW5zdGFjay9yZWFjdC1xdWVyeS9idWlsZC9saWIvdXRpbHMubWpzP2M1NWYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gc2hvdWxkVGhyb3dFcnJvcihfdXNlRXJyb3JCb3VuZGFyeSwgcGFyYW1zKSB7XG4gIC8vIEFsbG93IHVzZUVycm9yQm91bmRhcnkgZnVuY3Rpb24gdG8gb3ZlcnJpZGUgdGhyb3dpbmcgYmVoYXZpb3Igb24gYSBwZXItZXJyb3IgYmFzaXNcbiAgaWYgKHR5cGVvZiBfdXNlRXJyb3JCb3VuZGFyeSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBfdXNlRXJyb3JCb3VuZGFyeSguLi5wYXJhbXMpO1xuICB9XG5cbiAgcmV0dXJuICEhX3VzZUVycm9yQm91bmRhcnk7XG59XG5cbmV4cG9ydCB7IHNob3VsZFRocm93RXJyb3IgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@tanstack/react-query/build/lib/utils.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/chains/dist/index.mjs": -/*!***************************************************!*\ - !*** ./node_modules/@wagmi/chains/dist/index.mjs ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arbitrum: function() { return /* binding */ arbitrum; },\n/* harmony export */ arbitrumGoerli: function() { return /* binding */ arbitrumGoerli; },\n/* harmony export */ arbitrumNova: function() { return /* binding */ arbitrumNova; },\n/* harmony export */ aurora: function() { return /* binding */ aurora; },\n/* harmony export */ auroraTestnet: function() { return /* binding */ auroraTestnet; },\n/* harmony export */ avalanche: function() { return /* binding */ avalanche; },\n/* harmony export */ avalancheFuji: function() { return /* binding */ avalancheFuji; },\n/* harmony export */ baseGoerli: function() { return /* binding */ baseGoerli; },\n/* harmony export */ bearNetworkChainMainnet: function() { return /* binding */ bearNetworkChainMainnet; },\n/* harmony export */ bearNetworkChainTestnet: function() { return /* binding */ bearNetworkChainTestnet; },\n/* harmony export */ boba: function() { return /* binding */ boba; },\n/* harmony export */ bronos: function() { return /* binding */ bronos; },\n/* harmony export */ bronosTestnet: function() { return /* binding */ bronosTestnet; },\n/* harmony export */ bsc: function() { return /* binding */ bsc; },\n/* harmony export */ bscTestnet: function() { return /* binding */ bscTestnet; },\n/* harmony export */ canto: function() { return /* binding */ canto; },\n/* harmony export */ celo: function() { return /* binding */ celo; },\n/* harmony export */ celoAlfajores: function() { return /* binding */ celoAlfajores; },\n/* harmony export */ celoCannoli: function() { return /* binding */ celoCannoli; },\n/* harmony export */ confluxESpace: function() { return /* binding */ confluxESpace; },\n/* harmony export */ cronos: function() { return /* binding */ cronos; },\n/* harmony export */ cronosTestnet: function() { return /* binding */ cronosTestnet; },\n/* harmony export */ crossbell: function() { return /* binding */ crossbell; },\n/* harmony export */ dfk: function() { return /* binding */ dfk; },\n/* harmony export */ dogechain: function() { return /* binding */ dogechain; },\n/* harmony export */ edgeware: function() { return /* binding */ edgeware; },\n/* harmony export */ edgewareTestnet: function() { return /* binding */ edgewareTestnet; },\n/* harmony export */ ekta: function() { return /* binding */ ekta; },\n/* harmony export */ ektaTestnet: function() { return /* binding */ ektaTestnet; },\n/* harmony export */ evmos: function() { return /* binding */ evmos; },\n/* harmony export */ evmosTestnet: function() { return /* binding */ evmosTestnet; },\n/* harmony export */ fantom: function() { return /* binding */ fantom; },\n/* harmony export */ fantomTestnet: function() { return /* binding */ fantomTestnet; },\n/* harmony export */ fibo: function() { return /* binding */ fibo; },\n/* harmony export */ filecoin: function() { return /* binding */ filecoin; },\n/* harmony export */ filecoinCalibration: function() { return /* binding */ filecoinCalibration; },\n/* harmony export */ filecoinHyperspace: function() { return /* binding */ filecoinHyperspace; },\n/* harmony export */ flare: function() { return /* binding */ flare; },\n/* harmony export */ flareTestnet: function() { return /* binding */ flareTestnet; },\n/* harmony export */ foundry: function() { return /* binding */ foundry; },\n/* harmony export */ fuse: function() { return /* binding */ fuse; },\n/* harmony export */ gnosis: function() { return /* binding */ gnosis; },\n/* harmony export */ gnosisChiado: function() { return /* binding */ gnosisChiado; },\n/* harmony export */ goerli: function() { return /* binding */ goerli; },\n/* harmony export */ haqqMainnet: function() { return /* binding */ haqqMainnet; },\n/* harmony export */ haqqTestedge2: function() { return /* binding */ haqqTestedge2; },\n/* harmony export */ hardhat: function() { return /* binding */ hardhat; },\n/* harmony export */ harmonyOne: function() { return /* binding */ harmonyOne; },\n/* harmony export */ iotex: function() { return /* binding */ iotex; },\n/* harmony export */ iotexTestnet: function() { return /* binding */ iotexTestnet; },\n/* harmony export */ klaytn: function() { return /* binding */ klaytn; },\n/* harmony export */ lineaTestnet: function() { return /* binding */ lineaTestnet; },\n/* harmony export */ localhost: function() { return /* binding */ localhost; },\n/* harmony export */ mainnet: function() { return /* binding */ mainnet; },\n/* harmony export */ metis: function() { return /* binding */ metis; },\n/* harmony export */ metisGoerli: function() { return /* binding */ metisGoerli; },\n/* harmony export */ moonbaseAlpha: function() { return /* binding */ moonbaseAlpha; },\n/* harmony export */ moonbeam: function() { return /* binding */ moonbeam; },\n/* harmony export */ moonriver: function() { return /* binding */ moonriver; },\n/* harmony export */ neonDevnet: function() { return /* binding */ neonDevnet; },\n/* harmony export */ nexi: function() { return /* binding */ nexi; },\n/* harmony export */ oasys: function() { return /* binding */ oasys; },\n/* harmony export */ okc: function() { return /* binding */ okc; },\n/* harmony export */ optimism: function() { return /* binding */ optimism; },\n/* harmony export */ optimismGoerli: function() { return /* binding */ optimismGoerli; },\n/* harmony export */ polygon: function() { return /* binding */ polygon; },\n/* harmony export */ polygonMumbai: function() { return /* binding */ polygonMumbai; },\n/* harmony export */ polygonZkEvm: function() { return /* binding */ polygonZkEvm; },\n/* harmony export */ polygonZkEvmTestnet: function() { return /* binding */ polygonZkEvmTestnet; },\n/* harmony export */ pulsechain: function() { return /* binding */ pulsechain; },\n/* harmony export */ pulsechainV4: function() { return /* binding */ pulsechainV4; },\n/* harmony export */ scrollTestnet: function() { return /* binding */ scrollTestnet; },\n/* harmony export */ sepolia: function() { return /* binding */ sepolia; },\n/* harmony export */ shardeumSphinx: function() { return /* binding */ shardeumSphinx; },\n/* harmony export */ skaleBlockBrawlers: function() { return /* binding */ skaleBlockBrawlers; },\n/* harmony export */ skaleCalypso: function() { return /* binding */ skaleCalypso; },\n/* harmony export */ skaleCalypsoTestnet: function() { return /* binding */ skaleCalypsoTestnet; },\n/* harmony export */ skaleChaosTestnet: function() { return /* binding */ skaleChaosTestnet; },\n/* harmony export */ skaleCryptoBlades: function() { return /* binding */ skaleCryptoBlades; },\n/* harmony export */ skaleCryptoColosseum: function() { return /* binding */ skaleCryptoColosseum; },\n/* harmony export */ skaleEuropa: function() { return /* binding */ skaleEuropa; },\n/* harmony export */ skaleEuropaTestnet: function() { return /* binding */ skaleEuropaTestnet; },\n/* harmony export */ skaleExorde: function() { return /* binding */ skaleExorde; },\n/* harmony export */ skaleHumanProtocol: function() { return /* binding */ skaleHumanProtocol; },\n/* harmony export */ skaleNebula: function() { return /* binding */ skaleNebula; },\n/* harmony export */ skaleNebulaTestnet: function() { return /* binding */ skaleNebulaTestnet; },\n/* harmony export */ skaleRazor: function() { return /* binding */ skaleRazor; },\n/* harmony export */ skaleTitan: function() { return /* binding */ skaleTitan; },\n/* harmony export */ skaleTitanTestnet: function() { return /* binding */ skaleTitanTestnet; },\n/* harmony export */ songbird: function() { return /* binding */ songbird; },\n/* harmony export */ songbirdTestnet: function() { return /* binding */ songbirdTestnet; },\n/* harmony export */ syscoin: function() { return /* binding */ syscoin; },\n/* harmony export */ taraxa: function() { return /* binding */ taraxa; },\n/* harmony export */ taraxaTestnet: function() { return /* binding */ taraxaTestnet; },\n/* harmony export */ telos: function() { return /* binding */ telos; },\n/* harmony export */ telosTestnet: function() { return /* binding */ telosTestnet; },\n/* harmony export */ thunderTestnet: function() { return /* binding */ thunderTestnet; },\n/* harmony export */ wanchain: function() { return /* binding */ wanchain; },\n/* harmony export */ wanchainTestnet: function() { return /* binding */ wanchainTestnet; },\n/* harmony export */ xdc: function() { return /* binding */ xdc; },\n/* harmony export */ xdcTestnet: function() { return /* binding */ xdcTestnet; },\n/* harmony export */ zhejiang: function() { return /* binding */ zhejiang; },\n/* harmony export */ zkSync: function() { return /* binding */ zkSync; },\n/* harmony export */ zkSyncTestnet: function() { return /* binding */ zkSyncTestnet; },\n/* harmony export */ zora: function() { return /* binding */ zora; },\n/* harmony export */ zoraTestnet: function() { return /* binding */ zoraTestnet; }\n/* harmony export */ });\n// src/arbitrum.ts\nvar arbitrum = {\n id: 42161,\n name: \"Arbitrum One\",\n network: \"arbitrum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-mainnet.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://arbiscan.io\" },\n default: { name: \"Arbiscan\", url: \"https://arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7654707\n }\n }\n};\n\n// src/arbitrumGoerli.ts\nvar arbitrumGoerli = {\n id: 421613,\n name: \"Arbitrum Goerli\",\n network: \"arbitrum-goerli\",\n nativeCurrency: {\n name: \"Arbitrum Goerli Ether\",\n symbol: \"ETH\",\n decimals: 18\n },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-goerli.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" },\n default: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 88114\n }\n },\n testnet: true\n};\n\n// src/arbitrumNova.ts\nvar arbitrumNova = {\n id: 42170,\n name: \"Arbitrum Nova\",\n network: \"arbitrum-nova\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n blast: {\n http: [\"https://arbitrum-nova.public.blastapi.io\"],\n webSocket: [\"wss://arbitrum-nova.public.blastapi.io\"]\n },\n default: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" },\n blockScout: {\n name: \"BlockScout\",\n url: \"https://nova-explorer.arbitrum.io/\"\n },\n default: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1746963\n }\n }\n};\n\n// src/aurora.ts\nvar aurora = {\n id: 1313161554,\n name: \"Aurora\",\n network: \"aurora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-mainnet.infura.io/v3\"] },\n default: { http: [\"https://mainnet.aurora.dev\"] },\n public: { http: [\"https://mainnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" }\n }\n};\n\n// src/auroraTestnet.ts\nvar auroraTestnet = {\n id: 1313161555,\n name: \"Aurora Testnet\",\n network: \"aurora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-testnet.infura.io/v3\"] },\n default: { http: [\"https://testnet.aurora.dev\"] },\n public: { http: [\"https://testnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" }\n },\n testnet: true\n};\n\n// src/avalanche.ts\nvar avalanche = {\n id: 43114,\n name: \"Avalanche\",\n network: \"avalanche\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 11907934\n }\n }\n};\n\n// src/avalancheFuji.ts\nvar avalancheFuji = {\n id: 43113,\n name: \"Avalanche Fuji\",\n network: \"avalanche-fuji\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche Fuji\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7096959\n }\n },\n testnet: true\n};\n\n// src/baseGoerli.ts\nvar baseGoerli = {\n id: 84531,\n network: \"base-goerli\",\n name: \"Base Goerli\",\n nativeCurrency: { name: \"Base Goerli\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://goerli.base.org\"]\n },\n public: {\n http: [\"https://goerli.base.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n }\n },\n testnet: true\n};\n\n// src/bearNetworkChainMainnet.ts\nvar bearNetworkChainMainnet = {\n id: 641230,\n name: \"Bear Network Chain Mainnet\",\n network: \"BearNetworkChainMainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BearNetworkChain\",\n symbol: \"BRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: { name: \"BrnkScan\", url: \"https://brnkscan.bearnetwork.net\" }\n }\n};\n\n// src/bearNetworkChainTestnet.ts\nvar bearNetworkChainTestnet = {\n id: 751230,\n name: \"Bear Network Chain Testnet\",\n network: \"BearNetworkChainTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"tBRNKC\",\n symbol: \"tBRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-test.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-test.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"BrnkTestScan\",\n url: \"https://brnktest-scan.bearnetwork.net\"\n }\n },\n testnet: true\n};\n\n// src/boba.ts\nvar boba = {\n id: 288,\n name: \"Boba Network\",\n network: \"boba\",\n nativeCurrency: {\n decimals: 18,\n name: \"Boba\",\n symbol: \"BOBA\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.boba.network\"] },\n public: { http: [\"https://mainnet.boba.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BOBAScan\", url: \"https://bobascan.com\" },\n default: { name: \"BOBAScan\", url: \"https://bobascan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 446859\n }\n }\n};\n\n// src/bronos.ts\nvar bronos = {\n id: 1039,\n name: \"Bronos\",\n network: \"bronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"BRO\",\n symbol: \"BRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.bronos.org\"] },\n public: { http: [\"https://evm.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://broscan.bronos.org\" }\n }\n};\n\n// src/bronosTestnet.ts\nvar bronosTestnet = {\n id: 1038,\n name: \"Bronos Testnet\",\n network: \"bronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Bronos Coin\",\n symbol: \"tBRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-testnet.bronos.org\"] },\n public: { http: [\"https://evm-testnet.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://tbroscan.bronos.org\" }\n },\n testnet: true\n};\n\n// src/bsc.ts\nvar bsc = {\n id: 56,\n name: \"BNB Smart Chain\",\n network: \"bsc\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"BNB\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/bsc\"] },\n public: { http: [\"https://rpc.ankr.com/bsc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 15921452\n }\n }\n};\n\n// src/bscTestnet.ts\nvar bscTestnet = {\n id: 97,\n name: \"Binance Smart Chain Testnet\",\n network: \"bsc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"tBNB\"\n },\n rpcUrls: {\n default: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] },\n public: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 17422483\n }\n },\n testnet: true\n};\n\n// src/canto.ts\nvar canto = {\n id: 7700,\n name: \"Canto\",\n network: \"canto\",\n nativeCurrency: {\n decimals: 18,\n name: \"Canto\",\n symbol: \"CANTO\"\n },\n rpcUrls: {\n default: { http: [\"https://canto.slingshot.finance\"] },\n public: { http: [\"https://canto.slingshot.finance\"] }\n },\n blockExplorers: {\n default: {\n name: \"Canto EVM Explorer (Blockscout)\",\n url: \"https://evm.explorer.canto.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2905789\n }\n }\n};\n\n// src/celo.ts\nvar celo = {\n id: 42220,\n name: \"Celo\",\n network: \"celo\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"CELO\"\n },\n rpcUrls: {\n default: { http: [\"https://forno.celo.org\"] },\n infura: {\n http: [\"https://celo-mainnet.infura.io/v3\"]\n },\n public: {\n http: [\"https://forno.celo.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/mainnet\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://celoscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13112599\n }\n },\n testnet: false\n};\n\n// src/celoAlfajores.ts\nvar celoAlfajores = {\n id: 44787,\n name: \"Alfajores\",\n network: \"celo-alfajores\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"A-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n },\n infura: {\n http: [\"https://celo-alfajores.infura.io/v3\"]\n },\n public: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/alfajores\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://alfajores.celoscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 14569001\n }\n },\n testnet: true\n};\n\n// src/celoCannoli.ts\nvar celoCannoli = {\n id: 17323,\n name: \"Cannoli\",\n network: \"celo-cannoli\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"C-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n },\n public: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/cannoli\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718\",\n blockCreated: 87429\n }\n },\n testnet: true\n};\n\n// src/confluxESpace.ts\nvar confluxESpace = {\n id: 1030,\n name: \"Conflux eSpace\",\n network: \"cfx-espace\",\n nativeCurrency: { name: \"Conflux\", symbol: \"CFX\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://evm.confluxrpc.org\"]\n },\n public: {\n http: [\"https://evm.confluxrpc.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ConfluxScan\",\n url: \"https://evm.confluxscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xEFf0078910f638cd81996cc117bccD3eDf2B072F\",\n blockCreated: 68602935\n }\n }\n};\n\n// src/cronos.ts\nvar cronos = {\n id: 25,\n name: \"Cronos\",\n network: \"cronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Cronos\",\n symbol: \"CRO\"\n },\n rpcUrls: {\n default: { http: [\"https://node.croswap.com/rpc\"] },\n public: { http: [\"https://node.croswap.com/rpc\"] }\n },\n blockExplorers: {\n default: { name: \"CronosScan\", url: \"https://cronoscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1963112\n }\n }\n};\n\n// src/cronosTestnet.ts\nvar cronosTestnet = {\n id: 338,\n name: \"Cronos Testnet\",\n network: \"cronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"CRO\",\n symbol: \"tCRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-t3.cronos.org\"] },\n public: { http: [\"https://evm-t3.cronos.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Cronos Explorer\",\n url: \"https://cronos.org/explorer/testnet3\"\n }\n },\n testnet: true\n};\n\n// src/crossbell.ts\nvar crossbell = {\n id: 3737,\n network: \"crossbell\",\n name: \"Crossbell\",\n nativeCurrency: {\n decimals: 18,\n name: \"CSB\",\n symbol: \"CSB\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.crossbell.io\"]\n },\n public: {\n http: [\"https://rpc.crossbell.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"CrossScan\", url: \"https://scan.crossbell.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf\",\n blockCreated: 23499787\n }\n }\n};\n\n// src/dfk.ts\nvar dfk = {\n id: 53935,\n name: \"DFK Chain\",\n network: \"dfk\",\n nativeCurrency: {\n decimals: 18,\n name: \"Jewel\",\n symbol: \"JEWEL\"\n },\n rpcUrls: {\n default: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n },\n public: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n },\n default: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n }\n }\n};\n\n// src/dogechain.ts\nvar dogechain = {\n id: 2e3,\n name: \"Dogechain\",\n network: \"dogechain\",\n nativeCurrency: {\n decimals: 18,\n name: \"Dogechain\",\n symbol: \"DC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.dogechain.dog\"] },\n public: { http: [\"https://rpc.dogechain.dog\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n },\n default: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n }\n }\n};\n\n// src/edgeware.ts\nvar edgeware = {\n id: 2021,\n name: \"Edgeware EdgeEVM Mainnet\",\n network: \"edgeware\",\n nativeCurrency: {\n decimals: 18,\n name: \"Edgeware\",\n symbol: \"EDG\"\n },\n rpcUrls: {\n default: { http: [\"https://edgeware-evm.jelliedowl.net\"] },\n public: { http: [\"https://edgeware-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" },\n default: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" }\n },\n contracts: {\n multicall3: {\n address: \"0xDDF47eEB4e5FF4AA60e063E0Ec4f7C35B47Ed445\",\n blockCreated: 17126780\n }\n }\n};\n\n// src/edgewareTestnet.ts\nvar edgewareTestnet = {\n id: 2022,\n name: \"Beresheet BereEVM Testnet\",\n network: \"edgewareTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Testnet EDG\",\n symbol: \"tEDG\"\n },\n rpcUrls: {\n default: { http: [\"https://beresheet-evm.jelliedowl.net\"] },\n public: { http: [\"https://beresheet-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n },\n default: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n }\n }\n};\n\n// src/evmos.ts\nvar evmos = {\n id: 9001,\n name: \"Evmos\",\n network: \"evmos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.org:8545\"] },\n public: { http: [\"https://eth.bd.evmos.org:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Evmos Block Explorer\", url: \"https://escan.live\" }\n }\n};\n\n// src/evmosTestnet.ts\nvar evmosTestnet = {\n id: 9e3,\n name: \"Evmos Testnet\",\n network: \"evmos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.dev:8545\"] },\n public: { http: [\"https://eth.bd.evmos.dev:8545\"] }\n },\n blockExplorers: {\n default: {\n name: \"Evmos Testnet Block Explorer\",\n url: \"https://evm.evmos.dev/\"\n }\n }\n};\n\n// src/ekta.ts\nvar ekta = {\n id: 1994,\n name: \"Ekta\",\n network: \"ekta\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://main.ekta.io\"] },\n default: { http: [\"https://main.ekta.io\"] }\n },\n blockExplorers: {\n default: { name: \"Ektascan\", url: \"https://ektascan.io\" }\n }\n};\n\n// src/ektaTestnet.ts\nvar ektaTestnet = {\n id: 1004,\n name: \"Ekta Testnet\",\n network: \"ekta-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://test.ekta.io:8545\"] },\n default: { http: [\"https://test.ekta.io:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Test Ektascan\", url: \"https://test.ektascan.io\" }\n },\n testnet: true\n};\n\n// src/fantom.ts\nvar fantom = {\n id: 250,\n name: \"Fantom\",\n network: \"fantom\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/fantom\"] },\n public: { http: [\"https://rpc.ankr.com/fantom\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 33001987\n }\n }\n};\n\n// src/fantomTestnet.ts\nvar fantomTestnet = {\n id: 4002,\n name: \"Fantom Testnet\",\n network: \"fantom-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.fantom.network\"] },\n public: { http: [\"https://rpc.testnet.fantom.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 8328688\n }\n }\n};\n\n// src/fibo.ts\nvar fibo = {\n id: 12306,\n name: \"Fibo Chain\",\n network: \"fibochain\",\n nativeCurrency: {\n decimals: 18,\n name: \"fibo\",\n symbol: \"FIBO\"\n },\n rpcUrls: {\n default: { http: [\"https://network.hzroc.art\"] },\n public: { http: [\"https://network.hzroc.art\"] }\n },\n blockExplorers: {\n default: { name: \"FiboScan\", url: \"https://scan.fibochain.org\" }\n }\n};\n\n// src/filecoin.ts\nvar filecoin = {\n id: 314,\n name: \"Filecoin Mainnet\",\n network: \"filecoin-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"filecoin\",\n symbol: \"FIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://filscan.io\" },\n filscout: { name: \"Filscout\", url: \"https://filscout.io/en\" },\n glif: { name: \"Glif\", url: \"https://explorer.glif.io\" }\n }\n};\n\n// src/filecoinCalibration.ts\nvar filecoinCalibration = {\n id: 314159,\n name: \"Filecoin Calibration\",\n network: \"filecoin-calibration\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filscan\", url: \"https://calibration.filscan.io\" }\n }\n};\n\n// src/filecoinHyperspace.ts\nvar filecoinHyperspace = {\n id: 3141,\n name: \"Filecoin Hyperspace\",\n network: \"filecoin-hyperspace\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://hyperspace.filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://hyperspace.filscan.io\" }\n }\n};\n\n// src/flare.ts\nvar flare = {\n id: 14,\n name: \"Flare Mainnet\",\n network: \"flare-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"flare\",\n symbol: \"FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Flare Explorer\",\n url: \"https://flare-explorer.flare.network\"\n }\n }\n};\n\n// src/flareTestnet.ts\nvar flareTestnet = {\n id: 114,\n name: \"Coston2\",\n network: \"coston2\",\n nativeCurrency: {\n decimals: 18,\n name: \"coston2flare\",\n symbol: \"C2FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston2 Explorer\",\n url: \"https://coston2-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/foundry.ts\nvar foundry = {\n id: 31337,\n name: \"Foundry\",\n network: \"foundry\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n },\n public: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n }\n }\n};\n\n// src/fuse.ts\nvar fuse = {\n id: 122,\n name: \"Fuse\",\n network: \"fuse\",\n nativeCurrency: { name: \"Fuse\", symbol: \"FUSE\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fuse.io\"] },\n public: { http: [\"https://fuse-mainnet.chainstacklabs.com\"] }\n },\n blockExplorers: {\n default: { name: \"Fuse Explorer\", url: \"https://explorer.fuse.io\" }\n }\n};\n\n// src/iotex.ts\nvar iotex = {\n id: 4689,\n name: \"IoTeX\",\n network: \"iotex\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://iotexscan.io\" }\n }\n};\n\n// src/iotexTestnet.ts\nvar iotexTestnet = {\n id: 4690,\n name: \"IoTeX Testnet\",\n network: \"iotex-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" }\n }\n};\n\n// src/goerli.ts\nvar goerli = {\n id: 5,\n network: \"goerli\",\n name: \"Goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://goerli.infura.io/v3\"],\n webSocket: [\"wss://goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n },\n public: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0x56522D00C410a43BFfDF00a9A569489297385790\",\n blockCreated: 8765204\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/gnosis.ts\nvar gnosis = {\n id: 100,\n name: \"Gnosis\",\n network: \"gnosis\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.gnosischain.com\"] },\n public: { http: [\"https://rpc.gnosischain.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Gnosisscan\",\n url: \"https://gnosisscan.io/\"\n },\n default: {\n name: \"Gnosis Chain Explorer\",\n url: \"https://blockscout.com/xdai/mainnet/\"\n }\n }\n};\n\n// src/gnosisChiado.ts\nvar gnosisChiado = {\n id: 10200,\n name: \"Gnosis Chiado\",\n network: \"chiado\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.chiadochain.net\"] },\n public: { http: [\"https://rpc.chiadochain.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.chiadochain.net\"\n }\n }\n};\n\n// src/hardhat.ts\nvar hardhat = {\n id: 31337,\n name: \"Hardhat\",\n network: \"hardhat\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/harmonyOne.ts\nvar harmonyOne = {\n id: 16666e5,\n name: \"Harmony One\",\n network: \"harmony\",\n nativeCurrency: {\n name: \"Harmony\",\n symbol: \"ONE\",\n decimals: 18\n },\n rpcUrls: {\n public: { http: [\"https://rpc.ankr.com/harmony\"] },\n default: { http: [\"https://rpc.ankr.com/harmony\"] }\n },\n blockExplorers: {\n default: { name: \"Harmony Explorer\", url: \"https://explorer.harmony.one\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 24185753\n }\n }\n};\n\n// src/haqqMainnet.ts\nvar haqqMainnet = {\n id: 11235,\n name: \"HAQQ Mainnet\",\n network: \"haqq-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLM\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.haqq.network\"\n }\n }\n};\n\n// src/haqqTestedge2.ts\nvar haqqTestedge2 = {\n id: 54211,\n name: \"HAQQ Testedge 2\",\n network: \"haqq-testedge-2\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLMT\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.testedge2.haqq.network\"\n }\n }\n};\n\n// src/klaytn.ts\nvar klaytn = {\n id: 8217,\n name: \"Klaytn\",\n network: \"klaytn\",\n nativeCurrency: {\n decimals: 18,\n name: \"Klaytn\",\n symbol: \"KLAY\"\n },\n rpcUrls: {\n default: { http: [\"https://cypress.fautor.app/archive\"] },\n public: { http: [\"https://cypress.fautor.app/archive\"] }\n },\n blockExplorers: {\n etherscan: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" },\n default: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" }\n }\n};\n\n// src/lineaTestnet.ts\nvar lineaTestnet = {\n id: 59140,\n name: \"Linea Goerli Testnet\",\n network: \"linea-testnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://consensys-zkevm-goerli-prealpha.infura.io/v3\"],\n webSocket: [\"wss://consensys-zkevm-goerli-prealpha.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n },\n public: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"BlockScout\",\n url: \"https://explorer.goerli.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 498623\n }\n },\n testnet: true\n};\n\n// src/localhost.ts\nvar localhost = {\n id: 1337,\n name: \"Localhost\",\n network: \"localhost\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/mainnet.ts\nvar mainnet = {\n id: 1,\n network: \"homestead\",\n name: \"Ethereum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://mainnet.infura.io/v3\"],\n webSocket: [\"wss://mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://cloudflare-eth.com\"]\n },\n public: {\n http: [\"https://cloudflare-eth.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62\",\n blockCreated: 16966585\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/metis.ts\nvar metis = {\n id: 1088,\n name: \"Metis\",\n network: \"andromeda\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://andromeda.metis.io/?owner=1088\"] },\n public: { http: [\"https://andromeda.metis.io/?owner=1088\"] }\n },\n blockExplorers: {\n default: {\n name: \"Andromeda Explorer\",\n url: \"https://andromeda-explorer.metis.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2338552\n }\n }\n};\n\n// src/metisGoerli.ts\nvar metisGoerli = {\n id: 599,\n name: \"Metis Goerli\",\n network: \"metis-goerli\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis Goerli\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://goerli.gateway.metisdevops.link\"] },\n public: { http: [\"https://goerli.gateway.metisdevops.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Metis Goerli Explorer\",\n url: \"https://goerli.explorer.metisdevops.link\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1006207\n }\n }\n};\n\n// src/moonbaseAlpha.ts\nvar moonbaseAlpha = {\n id: 1287,\n name: \"Moonbase Alpha\",\n network: \"moonbase-alpha\",\n nativeCurrency: {\n decimals: 18,\n name: \"DEV\",\n symbol: \"DEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n },\n public: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1850686\n }\n },\n testnet: true\n};\n\n// src/moonbeam.ts\nvar moonbeam = {\n id: 1284,\n name: \"Moonbeam\",\n network: \"moonbeam\",\n nativeCurrency: {\n decimals: 18,\n name: \"GLMR\",\n symbol: \"GLMR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 609002\n }\n },\n testnet: false\n};\n\n// src/moonriver.ts\nvar moonriver = {\n id: 1285,\n name: \"Moonriver\",\n network: \"moonriver\",\n nativeCurrency: {\n decimals: 18,\n name: \"MOVR\",\n symbol: \"MOVR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1597904\n }\n },\n testnet: false\n};\n\n// src/neonDevnet.ts\nvar neonDevnet = {\n id: 245022926,\n network: \"neonDevnet\",\n name: \"Neon EVM DevNet\",\n nativeCurrency: { name: \"NEON\", symbol: \"NEON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://devnet.neonevm.org\"]\n },\n public: {\n http: [\"https://devnet.neonevm.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Neonscan\",\n url: \"https://neonscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 205206112\n }\n },\n testnet: true\n};\n\n// src/nexi.ts\nvar nexi = {\n id: 4242,\n name: \"Nexi\",\n network: \"nexi\",\n nativeCurrency: { name: \"Nexi\", symbol: \"NEXI\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chain.nexi.technology\"]\n },\n public: {\n http: [\"https://rpc.chain.nexi.technology\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n },\n default: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/oasys.ts\nvar oasys = {\n id: 248,\n name: \"Oasys\",\n network: \"oasys\",\n nativeCurrency: { name: \"Oasys\", symbol: \"OAS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n },\n public: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"OasysScan\",\n url: \"https://scan.oasys.games\"\n }\n }\n};\n\n// src/okc.ts\nvar okc = {\n id: 66,\n name: \"OKC\",\n network: \"okc\",\n nativeCurrency: {\n decimals: 18,\n name: \"OKT\",\n symbol: \"OKT\"\n },\n rpcUrls: {\n default: { http: [\"https://exchainrpc.okex.org\"] },\n public: { http: [\"https://exchainrpc.okex.org\"] }\n },\n blockExplorers: {\n default: { name: \"oklink\", url: \"https://www.oklink.com/okc\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 10364792\n }\n }\n};\n\n// src/optimism.ts\nvar optimism = {\n id: 10,\n name: \"Optimism\",\n network: \"optimism\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-mainnet.infura.io/v3\"],\n webSocket: [\"wss://optimism-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://mainnet.optimism.io\"]\n },\n public: {\n http: [\"https://mainnet.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://optimistic.etherscan.io\"\n },\n default: {\n name: \"Optimism Explorer\",\n url: \"https://explorer.optimism.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 4286263\n }\n }\n};\n\n// src/optimismGoerli.ts\nvar optimismGoerli = {\n id: 420,\n name: \"Optimism Goerli\",\n network: \"optimism-goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-goerli.infura.io/v3\"],\n webSocket: [\"wss://optimism-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli.optimism.io\"]\n },\n public: {\n http: [\"https://goerli.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 49461\n }\n },\n testnet: true\n};\n\n// src/polygon.ts\nvar polygon = {\n id: 137,\n name: \"Polygon\",\n network: \"matic\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mainnet.infura.io/v3\"],\n webSocket: [\"wss://polygon-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://polygon-rpc.com\"]\n },\n public: {\n http: [\"https://polygon-rpc.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/polygonMumbai.ts\nvar polygonMumbai = {\n id: 80001,\n name: \"Polygon Mumbai\",\n network: \"maticmum\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mumbai.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mumbai.infura.io/v3\"],\n webSocket: [\"wss://polygon-mumbai.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n },\n public: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvmTestnet.ts\nvar polygonZkEvmTestnet = {\n id: 1442,\n name: \"Polygon zkEVM Testnet\",\n network: \"polygon-zkevm-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n },\n public: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://explorer.public.zkevm-test.net\"\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvm.ts\nvar polygonZkEvm = {\n id: 1101,\n name: \"Polygon zkEVM\",\n network: \"polygon-zkevm\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://zkevm-rpc.com\"]\n },\n public: {\n http: [\"https://zkevm-rpc.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PolygonScan\",\n url: \"https://zkevm.polygonscan.com\"\n }\n }\n};\n\n// src/pulsechain.ts\nvar pulsechain = {\n id: 369,\n network: \"pulsechain\",\n name: \"Pulsechain\",\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://scan.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/pulsechainV4.ts\nvar pulsechainV4 = {\n id: 943,\n network: \"pulsechainV4\",\n name: \"Pulsechain V4\",\n testnet: true,\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://scan.v4.testnet.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/scrollTestnet.ts\nvar scrollTestnet = {\n id: 534353,\n name: \"Scroll Testnet\",\n network: \"scroll-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n },\n public: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/sepolia.ts\nvar sepolia = {\n id: 11155111,\n network: \"sepolia\",\n name: \"Sepolia\",\n nativeCurrency: { name: \"Sepolia Ether\", symbol: \"SEP\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-sepolia.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://sepolia.infura.io/v3\"],\n webSocket: [\"wss://sepolia.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.sepolia.org\"]\n },\n public: {\n http: [\"https://rpc.sepolia.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/skale/brawl.ts\nvar skaleBlockBrawlers = {\n id: 391845894,\n name: \"SKALE | Block Brawlers\",\n network: \"skale-brawl\",\n nativeCurrency: { name: \"BRAWL\", symbol: \"BRAWL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypso.ts\nvar skaleCalypso = {\n id: 1564830818,\n name: \"SKALE | Calypso NFT Hub\",\n network: \"skale-calypso\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypsoTestnet.ts\nvar skaleCalypsoTestnet = {\n id: 344106930,\n name: \"SKALE | Calypso NFT Hub Testnet\",\n network: \"skale-calypso-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/chaosTestnet.ts\nvar skaleChaosTestnet = {\n id: 1351057110,\n name: \"SKALE | Chaos Testnet\",\n network: \"skale-chaos-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/cryptoBlades.ts\nvar skaleCryptoBlades = {\n id: 1026062157,\n name: \"SKALE | CryptoBlades\",\n network: \"skale-cryptoblades\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/cryptoColosseum.ts\nvar skaleCryptoColosseum = {\n id: 2046399126,\n name: \"SKALE | Crypto Colosseum\",\n network: \"skale-crypto-coloseeum\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europa.ts\nvar skaleEuropa = {\n id: 2046399126,\n name: \"SKALE | Europa Liquidity Hub\",\n network: \"skale-europa\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europaTestnet.ts\nvar skaleEuropaTestnet = {\n id: 476158412,\n name: \"SKALE | Europa Liquidity Hub Testnet\",\n network: \"skale-europa-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/exorde.ts\nvar skaleExorde = {\n id: 2139927552,\n name: \"SKALE | Exorde\",\n network: \"skale-exorde\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/humanProtocol.ts\nvar skaleHumanProtocol = {\n id: 1273227453,\n name: \"SKALE | Human Protocol\",\n network: \"skale-human-protocol\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebula.ts\nvar skaleNebula = {\n id: 1482601649,\n name: \"SKALE | Nebula Gaming Hub\",\n network: \"skale-nebula\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebulaTestnet.ts\nvar skaleNebulaTestnet = {\n id: 503129905,\n name: \"SKALE | Nebula Gaming Hub Testnet\",\n network: \"skale-nebula-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/razor.ts\nvar skaleRazor = {\n id: 278611351,\n name: \"SKALE | Razor Network\",\n network: \"skale-razor\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titan.ts\nvar skaleTitan = {\n id: 1350216234,\n name: \"SKALE | Titan Community Hub\",\n network: \"skale-titan\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titanTestnet.ts\nvar skaleTitanTestnet = {\n id: 1517929550,\n name: \"SKALE | Titan Community Hub Testnet\",\n network: \"skale-titan-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/songbird.ts\nvar songbird = {\n id: 19,\n name: \"Songbird Mainnet\",\n network: \"songbird-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"songbird\",\n symbol: \"SGB\"\n },\n rpcUrls: {\n default: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Songbird Explorer\",\n url: \"https://songbird-explorer.flare.network\"\n }\n }\n};\n\n// src/songbirdTestnet.ts\nvar songbirdTestnet = {\n id: 16,\n name: \"Coston\",\n network: \"coston\",\n nativeCurrency: {\n decimals: 18,\n name: \"costonflare\",\n symbol: \"CFLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston Explorer\",\n url: \"https://coston-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/shardeumSphinx.ts\nvar shardeumSphinx = {\n id: 8082,\n name: \"Shardeum Sphinx\",\n network: \"shmSphinx\",\n nativeCurrency: { name: \"SHARDEUM\", symbol: \"SHM\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sphinx.shardeum.org\"]\n },\n public: {\n http: [\"https://sphinx.shardeum.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Shardeum Explorer\",\n url: \"https://explorer-sphinx.shardeum.org\"\n }\n },\n testnet: true\n};\n\n// src/syscoin.ts\nvar syscoin = {\n id: 57,\n name: \"Syscoin Mainnet\",\n network: \"syscoin\",\n nativeCurrency: {\n decimals: 8,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.syscoin.org\"] },\n public: { http: [\"https://rpc.syscoin.org\"] }\n },\n blockExplorers: {\n default: { name: \"SyscoinExplorer\", url: \"https://explorer.syscoin.org\" }\n },\n contracts: {\n multicall3: {\n address: \"0x000562033783B1136159E10d976B519C929cdE8e\",\n blockCreated: 80637\n }\n }\n};\n\n// src/taraxa.ts\nvar taraxa = {\n id: 841,\n name: \"Taraxa Mainnet\",\n network: \"taraxa\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.mainnet.taraxa.io\"\n }\n }\n};\n\n// src/taraxaTestnet.ts\nvar taraxaTestnet = {\n id: 842,\n name: \"Taraxa Testnet\",\n network: \"taraxa-testnet\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.testnet.taraxa.io\"\n }\n },\n testnet: true\n};\n\n// src/telos.ts\nvar telos = {\n id: 40,\n name: \"Telos\",\n network: \"telos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.telos.net/evm\"] },\n public: { http: [\"https://mainnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan\",\n url: \"https://www.teloscan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 246530709\n }\n }\n};\n\n// src/telosTestnet.ts\nvar telosTestnet = {\n id: 41,\n name: \"Telos\",\n network: \"telosTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://testnet.telos.net/evm\"] },\n public: { http: [\"https://testnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan (testnet)\",\n url: \"https://testnet.teloscan.io/\"\n }\n },\n testnet: true\n};\n\n// src/thunderTestnet.ts\nvar thunderTestnet = {\n id: 997,\n name: \"5ireChain Thunder Testnet\",\n network: \"5ireChain\",\n nativeCurrency: { name: \"5ire Token\", symbol: \"5IRE\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc-testnet.5ire.network\"]\n },\n public: {\n http: [\"https://rpc-testnet.5ire.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"5ireChain Explorer\",\n url: \"https://explorer.5ire.network\"\n }\n },\n testnet: true\n};\n\n// src/wanchain.ts\nvar wanchain = {\n id: 888,\n name: \"Wanchain\",\n network: \"wanchain\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WAN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n },\n public: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB\",\n blockCreated: 25312390\n }\n }\n};\n\n// src/wanchainTestnet.ts\nvar wanchainTestnet = {\n id: 999,\n name: \"Wanchain Testnet\",\n network: \"wanchainTestnet\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WANt\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n },\n public: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x11c89bF4496c39FB80535Ffb4c92715839CC5324\",\n blockCreated: 24743448\n }\n },\n testnet: true\n};\n\n// src/xdc.ts\nvar xdc = {\n id: 50,\n name: \"XinFin Network\",\n network: \"xdc\",\n nativeCurrency: {\n decimals: 18,\n name: \"XDC\",\n symbol: \"XDC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.xinfin.network\"] },\n public: { http: [\"https://rpc.xinfin.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.xinfin.network\" },\n default: { name: \"Blocksscan\", url: \"https://xdc.blocksscan.io\" }\n }\n};\n\n// src/xdcTestnet.ts\nvar xdcTestnet = {\n id: 51,\n name: \"Apothem Network\",\n network: \"xdc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"TXDC\",\n symbol: \"TXDC\"\n },\n rpcUrls: {\n default: { http: [\"https://erpc.apothem.network\"] },\n public: { http: [\"https://erpc.apothem.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.apothem.network\" },\n default: { name: \"Blocksscan\", url: \"https://apothem.blocksscan.io\" }\n }\n};\n\n// src/zhejiang.ts\nvar zhejiang = {\n id: 1337803,\n network: \"zhejiang\",\n name: \"Zhejiang\",\n nativeCurrency: { name: \"Zhejiang Ether\", symbol: \"ZhejETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n },\n public: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n }\n },\n blockExplorers: {\n beaconchain: {\n name: \"Etherscan\",\n url: \"https://zhejiang.beaconcha.in\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/eth/zhejiang-testnet\"\n },\n default: {\n name: \"Beaconchain\",\n url: \"https://zhejiang.beaconcha.in\"\n }\n },\n testnet: true\n};\n\n// src/zkSync.ts\nvar zkSync = {\n id: 324,\n name: \"zkSync Era\",\n network: \"zksync-era\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n },\n public: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n }\n};\n\n// src/zkSyncTestnet.ts\nvar zkSyncTestnet = {\n id: 280,\n name: \"zkSync Era Testnet\",\n network: \"zksync-era-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://goerli.explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n },\n testnet: true\n};\n\n// src/zora.ts\nvar zora = {\n id: 7777777,\n name: \"ZORA\",\n network: \"zora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zora.co\"],\n webSocket: [\"wss://rpc.zora.co\"]\n },\n public: {\n http: [\"https://rpc.zora.co\"],\n webSocket: [\"wss://rpc.zora.co\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"ZORA\", url: \"https://explorer.zora.co\" },\n default: { name: \"ZORA\", url: \"https://explorer.zora.co\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 5882\n }\n }\n};\n\n// src/zoraTestnet.ts\nvar zoraTestnet = {\n id: 999,\n name: \"ZORA Goerli Testnet\",\n network: \"zora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"ZORA Goerli\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.rpc.zora.co\"],\n webSocket: [\"wss://testnet.rpc.zora.co\"]\n },\n public: {\n http: [\"https://testnet.rpc.zora.co\"],\n webSocket: [\"wss://testnet.rpc.zora.co\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"ZORA\", url: \"https://testnet.explorer.zora.co\" },\n default: { name: \"ZORA\", url: \"https://testnet.explorer.zora.co\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 189123\n }\n },\n testnet: true\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NoYWlucy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBNEM7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsaUJBQWlCLDhDQUE4QztBQUMvRCxlQUFlO0FBQ2YsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsc0RBQXNEO0FBQ3ZFLGVBQWU7QUFDZixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNENBQTRDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsaUJBQWlCLG1EQUFtRDtBQUNwRTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7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QSxlQUFlLDBEQUEwRDtBQUN6RSxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0EsaUJBQWlCLHFEQUFxRDtBQUN0RSxlQUFlO0FBQ2YsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLDJDQUEyQztBQUMxRCxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZSxrQ0FBa0M7QUFDakQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsaUJBQWlCO0FBQ2pCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxpQkFBaUI7QUFDakIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNB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TDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZSxrREFBa0Q7QUFDakUsY0FBYztBQUNkLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGVBQWUsbURBQW1EO0FBQ2xFLGNBQWM7QUFDZCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNENBQTRDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBNEM7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLHVDQUF1QztBQUN0RCxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0EsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtREFBbUQ7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNENBQTRDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNENBQTRDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixvREFBb0Q7QUFDeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7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QUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsK0NBQStDO0FBQ2hFLGVBQWU7QUFDZixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsaUJBQWlCLHVEQUF1RDtBQUN4RSxlQUFlO0FBQ2YsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQTRHRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NoYWlucy9kaXN0L2luZGV4Lm1qcz84ZmUzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9hcmJpdHJ1bS50c1xudmFyIGFyYml0cnVtID0ge1xuICBpZDogNDIxNjEsXG4gIG5hbWU6IFwiQXJiaXRydW0gT25lXCIsXG4gIG5ldHdvcms6IFwiYXJiaXRydW1cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hcmItbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9hcmItbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYXJiaXRydW0tbWFpbm5ldC5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2FyYml0cnVtLW1haW5uZXQuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FyYjEuYXJiaXRydW0uaW8vcnBjXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYXJiMS5hcmJpdHJ1bS5pby9ycGNcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiQXJiaXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vYXJiaXNjYW4uaW9cIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJBcmJpc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9hcmJpc2Nhbi5pb1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNzY1NDcwN1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2FyYml0cnVtR29lcmxpLnRzXG52YXIgYXJiaXRydW1Hb2VybGkgPSB7XG4gIGlkOiA0MjE2MTMsXG4gIG5hbWU6IFwiQXJiaXRydW0gR29lcmxpXCIsXG4gIG5ldHdvcms6IFwiYXJiaXRydW0tZ29lcmxpXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgbmFtZTogXCJBcmJpdHJ1bSBHb2VybGkgRXRoZXJcIixcbiAgICBzeW1ib2w6IFwiRVRIXCIsXG4gICAgZGVjaW1hbHM6IDE4XG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBhbGNoZW15OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FyYi1nb2VybGkuZy5hbGNoZW15LmNvbS92MlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYXJiLWdvZXJsaS5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYXJiaXRydW0tZ29lcmxpLmluZnVyYS5pby92M1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYXJiaXRydW0tZ29lcmxpLmluZnVyYS5pby93cy92M1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGktcm9sbHVwLmFyYml0cnVtLmlvL3JwY1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2dvZXJsaS1yb2xsdXAuYXJiaXRydW0uaW8vcnBjXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkFyYmlzY2FuXCIsIHVybDogXCJodHRwczovL2dvZXJsaS5hcmJpc2Nhbi5pby9cIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJBcmJpc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuYXJiaXNjYW4uaW8vXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA4ODExNFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2FyYml0cnVtTm92YS50c1xudmFyIGFyYml0cnVtTm92YSA9IHtcbiAgaWQ6IDQyMTcwLFxuICBuYW1lOiBcIkFyYml0cnVtIE5vdmFcIixcbiAgbmV0d29yazogXCJhcmJpdHJ1bS1ub3ZhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGJsYXN0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FyYml0cnVtLW5vdmEucHVibGljLmJsYXN0YXBpLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9hcmJpdHJ1bS1ub3ZhLnB1YmxpYy5ibGFzdGFwaS5pb1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ub3ZhLmFyYml0cnVtLmlvL3JwY1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL25vdmEuYXJiaXRydW0uaW8vcnBjXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkFyYmlzY2FuXCIsIHVybDogXCJodHRwczovL25vdmEuYXJiaXNjYW4uaW9cIiB9LFxuICAgIGJsb2NrU2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tTY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbm92YS1leHBsb3Jlci5hcmJpdHJ1bS5pby9cIlxuICAgIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkFyYmlzY2FuXCIsIHVybDogXCJodHRwczovL25vdmEuYXJiaXNjYW4uaW9cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE3NDY5NjNcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9hdXJvcmEudHNcbnZhciBhdXJvcmEgPSB7XG4gIGlkOiAxMzEzMTYxNTU0LFxuICBuYW1lOiBcIkF1cm9yYVwiLFxuICBuZXR3b3JrOiBcImF1cm9yYVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV0aGVyXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBpbmZ1cmE6IHsgaHR0cDogW1wiaHR0cHM6Ly9hdXJvcmEtbWFpbm5ldC5pbmZ1cmEuaW8vdjNcIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5hdXJvcmEuZGV2XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5hdXJvcmEuZGV2XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJBdXJvcmFzY2FuXCIsIHVybDogXCJodHRwczovL2F1cm9yYXNjYW4uZGV2XCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQXVyb3Jhc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9hdXJvcmFzY2FuLmRldlwiIH1cbiAgfVxufTtcblxuLy8gc3JjL2F1cm9yYVRlc3RuZXQudHNcbnZhciBhdXJvcmFUZXN0bmV0ID0ge1xuICBpZDogMTMxMzE2MTU1NSxcbiAgbmFtZTogXCJBdXJvcmEgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImF1cm9yYS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRXRoZXJcIixcbiAgICBzeW1ib2w6IFwiRVRIXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGluZnVyYTogeyBodHRwOiBbXCJodHRwczovL2F1cm9yYS10ZXN0bmV0LmluZnVyYS5pby92M1wiXSB9LFxuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly90ZXN0bmV0LmF1cm9yYS5kZXZcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly90ZXN0bmV0LmF1cm9yYS5kZXZcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkF1cm9yYXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC5hdXJvcmFzY2FuLmRldlwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkF1cm9yYXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC5hdXJvcmFzY2FuLmRldlwiIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2F2YWxhbmNoZS50c1xudmFyIGF2YWxhbmNoZSA9IHtcbiAgaWQ6IDQzMTE0LFxuICBuYW1lOiBcIkF2YWxhbmNoZVwiLFxuICBuZXR3b3JrOiBcImF2YWxhbmNoZVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkF2YWxhbmNoZVwiLFxuICAgIHN5bWJvbDogXCJBVkFYXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkuYXZheC5uZXR3b3JrL2V4dC9iYy9DL3JwY1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2FwaS5hdmF4Lm5ldHdvcmsvZXh0L2JjL0MvcnBjXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJTbm93VHJhY2VcIiwgdXJsOiBcImh0dHBzOi8vc25vd3RyYWNlLmlvXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiU25vd1RyYWNlXCIsIHVybDogXCJodHRwczovL3Nub3d0cmFjZS5pb1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTE5MDc5MzRcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9hdmFsYW5jaGVGdWppLnRzXG52YXIgYXZhbGFuY2hlRnVqaSA9IHtcbiAgaWQ6IDQzMTEzLFxuICBuYW1lOiBcIkF2YWxhbmNoZSBGdWppXCIsXG4gIG5ldHdvcms6IFwiYXZhbGFuY2hlLWZ1amlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJBdmFsYW5jaGUgRnVqaVwiLFxuICAgIHN5bWJvbDogXCJBVkFYXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkuYXZheC10ZXN0Lm5ldHdvcmsvZXh0L2JjL0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrL2V4dC9iYy9DL3JwY1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiU25vd1RyYWNlXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuc25vd3RyYWNlLmlvXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiU25vd1RyYWNlXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuc25vd3RyYWNlLmlvXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA3MDk2OTU5XG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvYmFzZUdvZXJsaS50c1xudmFyIGJhc2VHb2VybGkgPSB7XG4gIGlkOiA4NDUzMSxcbiAgbmV0d29yazogXCJiYXNlLWdvZXJsaVwiLFxuICBuYW1lOiBcIkJhc2UgR29lcmxpXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiQmFzZSBHb2VybGlcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZ29lcmxpLmJhc2Uub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZ29lcmxpLmJhc2Uub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJCYXNlc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLmJhc2VzY2FuLm9yZ1wiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkJhc2VzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuYmFzZXNjYW4ub3JnXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9iZWFyTmV0d29ya0NoYWluTWFpbm5ldC50c1xudmFyIGJlYXJOZXR3b3JrQ2hhaW5NYWlubmV0ID0ge1xuICBpZDogNjQxMjMwLFxuICBuYW1lOiBcIkJlYXIgTmV0d29yayBDaGFpbiBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwiQmVhck5ldHdvcmtDaGFpbk1haW5uZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJCZWFyTmV0d29ya0NoYWluXCIsXG4gICAgc3ltYm9sOiBcIkJSTktDXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2JybmtjLW1haW5uZXQuYmVhcm5ldHdvcmsubmV0XCJdIH0sXG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2JybmtjLW1haW5uZXQuYmVhcm5ldHdvcmsubmV0XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQnJua1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vYnJua3NjYW4uYmVhcm5ldHdvcmsubmV0XCIgfVxuICB9XG59O1xuXG4vLyBzcmMvYmVhck5ldHdvcmtDaGFpblRlc3RuZXQudHNcbnZhciBiZWFyTmV0d29ya0NoYWluVGVzdG5ldCA9IHtcbiAgaWQ6IDc1MTIzMCxcbiAgbmFtZTogXCJCZWFyIE5ldHdvcmsgQ2hhaW4gVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcIkJlYXJOZXR3b3JrQ2hhaW5UZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwidEJSTktDXCIsXG4gICAgc3ltYm9sOiBcInRCUk5LQ1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9icm5rYy10ZXN0LmJlYXJuZXR3b3JrLm5ldFwiXSB9LFxuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9icm5rYy10ZXN0LmJlYXJuZXR3b3JrLm5ldFwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCcm5rVGVzdFNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2Jybmt0ZXN0LXNjYW4uYmVhcm5ldHdvcmsubmV0XCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9ib2JhLnRzXG52YXIgYm9iYSA9IHtcbiAgaWQ6IDI4OCxcbiAgbmFtZTogXCJCb2JhIE5ldHdvcmtcIixcbiAgbmV0d29yazogXCJib2JhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQm9iYVwiLFxuICAgIHN5bWJvbDogXCJCT0JBXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LmJvYmEubmV0d29ya1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL21haW5uZXQuYm9iYS5uZXR3b3JrXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJCT0JBU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9ib2Jhc2Nhbi5jb21cIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJCT0JBU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9ib2Jhc2Nhbi5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDQ0Njg1OVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2Jyb25vcy50c1xudmFyIGJyb25vcyA9IHtcbiAgaWQ6IDEwMzksXG4gIG5hbWU6IFwiQnJvbm9zXCIsXG4gIG5ldHdvcms6IFwiYnJvbm9zXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQlJPXCIsXG4gICAgc3ltYm9sOiBcIkJST1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXZtLmJyb25vcy5vcmdcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldm0uYnJvbm9zLm9yZ1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkJyb25vU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9icm9zY2FuLmJyb25vcy5vcmdcIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9icm9ub3NUZXN0bmV0LnRzXG52YXIgYnJvbm9zVGVzdG5ldCA9IHtcbiAgaWQ6IDEwMzgsXG4gIG5hbWU6IFwiQnJvbm9zIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJicm9ub3MtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkJyb25vcyBDb2luXCIsXG4gICAgc3ltYm9sOiBcInRCUk9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2V2bS10ZXN0bmV0LmJyb25vcy5vcmdcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldm0tdGVzdG5ldC5icm9ub3Mub3JnXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQnJvbm9TY2FuXCIsIHVybDogXCJodHRwczovL3Ricm9zY2FuLmJyb25vcy5vcmdcIiB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9ic2MudHNcbnZhciBic2MgPSB7XG4gIGlkOiA1NixcbiAgbmFtZTogXCJCTkIgU21hcnQgQ2hhaW5cIixcbiAgbmV0d29yazogXCJic2NcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJCTkJcIixcbiAgICBzeW1ib2w6IFwiQk5CXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuYW5rci5jb20vYnNjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2JzY1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiQnNjU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9ic2NzY2FuLmNvbVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkJzY1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vYnNjc2Nhbi5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE1OTIxNDUyXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvYnNjVGVzdG5ldC50c1xudmFyIGJzY1Rlc3RuZXQgPSB7XG4gIGlkOiA5NyxcbiAgbmFtZTogXCJCaW5hbmNlIFNtYXJ0IENoYWluIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJic2MtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkJOQlwiLFxuICAgIHN5bWJvbDogXCJ0Qk5CXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9kYXRhLXNlZWQtcHJlYnNjLTEtczEuYmluYW5jZS5vcmc6ODU0NVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2RhdGEtc2VlZC1wcmVic2MtMS1zMS5iaW5hbmNlLm9yZzo4NTQ1XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJCc2NTY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb21cIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJCc2NTY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE3NDIyNDgzXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvY2FudG8udHNcbnZhciBjYW50byA9IHtcbiAgaWQ6IDc3MDAsXG4gIG5hbWU6IFwiQ2FudG9cIixcbiAgbmV0d29yazogXCJjYW50b1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkNhbnRvXCIsXG4gICAgc3ltYm9sOiBcIkNBTlRPXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9jYW50by5zbGluZ3Nob3QuZmluYW5jZVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2NhbnRvLnNsaW5nc2hvdC5maW5hbmNlXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkNhbnRvIEVWTSBFeHBsb3JlciAoQmxvY2tzY291dClcIixcbiAgICAgIHVybDogXCJodHRwczovL2V2bS5leHBsb3Jlci5jYW50by5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyOTA1Nzg5XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvY2Vsby50c1xudmFyIGNlbG8gPSB7XG4gIGlkOiA0MjIyMCxcbiAgbmFtZTogXCJDZWxvXCIsXG4gIG5ldHdvcms6IFwiY2Vsb1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkNFTE9cIixcbiAgICBzeW1ib2w6IFwiQ0VMT1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZm9ybm8uY2Vsby5vcmdcIl0gfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vY2Vsby1tYWlubmV0LmluZnVyYS5pby92M1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2Zvcm5vLmNlbG8ub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQ2VsbyBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuY2Vsby5vcmcvbWFpbm5ldFwiXG4gICAgfSxcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJDZWxvU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9jZWxvc2Nhbi5pb1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTMxMTI1OTlcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IGZhbHNlXG59O1xuXG4vLyBzcmMvY2Vsb0FsZmFqb3Jlcy50c1xudmFyIGNlbG9BbGZham9yZXMgPSB7XG4gIGlkOiA0NDc4NyxcbiAgbmFtZTogXCJBbGZham9yZXNcIixcbiAgbmV0d29yazogXCJjZWxvLWFsZmFqb3Jlc1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkNFTE9cIixcbiAgICBzeW1ib2w6IFwiQS1DRUxPXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYWxmYWpvcmVzLWZvcm5vLmNlbG8tdGVzdG5ldC5vcmdcIl1cbiAgICB9LFxuICAgIGluZnVyYToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9jZWxvLWFsZmFqb3Jlcy5pbmZ1cmEuaW8vdjNcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hbGZham9yZXMtZm9ybm8uY2Vsby10ZXN0bmV0Lm9yZ1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkNlbG8gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLmNlbG8ub3JnL2FsZmFqb3Jlc1wiXG4gICAgfSxcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJDZWxvU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9hbGZham9yZXMuY2Vsb3NjYW4uaW8vXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxNDU2OTAwMVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2NlbG9DYW5ub2xpLnRzXG52YXIgY2Vsb0Nhbm5vbGkgPSB7XG4gIGlkOiAxNzMyMyxcbiAgbmFtZTogXCJDYW5ub2xpXCIsXG4gIG5ldHdvcms6IFwiY2Vsby1jYW5ub2xpXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ0VMT1wiLFxuICAgIHN5bWJvbDogXCJDLUNFTE9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9mb3Juby5jYW5ub2xpLmNlbG8tdGVzdG5ldC5vcmdcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9mb3Juby5jYW5ub2xpLmNlbG8tdGVzdG5ldC5vcmdcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJDZWxvIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy9jYW5ub2xpXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHg1QWNiMGFhOEJGNEU4RmYwZDg4MkVlMTg3MTQwNzEzQzEyQkY5NzE4XCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDg3NDI5XG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvY29uZmx1eEVTcGFjZS50c1xudmFyIGNvbmZsdXhFU3BhY2UgPSB7XG4gIGlkOiAxMDMwLFxuICBuYW1lOiBcIkNvbmZsdXggZVNwYWNlXCIsXG4gIG5ldHdvcms6IFwiY2Z4LWVzcGFjZVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkNvbmZsdXhcIiwgc3ltYm9sOiBcIkNGWFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZXZtLmNvbmZsdXhycGMub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZXZtLmNvbmZsdXhycGMub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQ29uZmx1eFNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2V2bS5jb25mbHV4c2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4RUZmMDA3ODkxMGY2MzhjZDgxOTk2Y2MxMTdiY2NEM2VEZjJCMDcyRlwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA2ODYwMjkzNVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2Nyb25vcy50c1xudmFyIGNyb25vcyA9IHtcbiAgaWQ6IDI1LFxuICBuYW1lOiBcIkNyb25vc1wiLFxuICBuZXR3b3JrOiBcImNyb25vc1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkNyb25vc1wiLFxuICAgIHN5bWJvbDogXCJDUk9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL25vZGUuY3Jvc3dhcC5jb20vcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vbm9kZS5jcm9zd2FwLmNvbS9ycGNcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJDcm9ub3NTY2FuXCIsIHVybDogXCJodHRwczovL2Nyb25vc2Nhbi5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE5NjMxMTJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9jcm9ub3NUZXN0bmV0LnRzXG52YXIgY3Jvbm9zVGVzdG5ldCA9IHtcbiAgaWQ6IDMzOCxcbiAgbmFtZTogXCJDcm9ub3MgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImNyb25vcy10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ1JPXCIsXG4gICAgc3ltYm9sOiBcInRDUk9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2V2bS10My5jcm9ub3Mub3JnXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vZXZtLXQzLmNyb25vcy5vcmdcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQ3Jvbm9zIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9jcm9ub3Mub3JnL2V4cGxvcmVyL3Rlc3RuZXQzXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9jcm9zc2JlbGwudHNcbnZhciBjcm9zc2JlbGwgPSB7XG4gIGlkOiAzNzM3LFxuICBuZXR3b3JrOiBcImNyb3NzYmVsbFwiLFxuICBuYW1lOiBcIkNyb3NzYmVsbFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkNTQlwiLFxuICAgIHN5bWJvbDogXCJDU0JcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuY3Jvc3NiZWxsLmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmNyb3NzYmVsbC5pb1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQ3Jvc3NTY2FuXCIsIHVybDogXCJodHRwczovL3NjYW4uY3Jvc3NiZWxsLmlvXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4QkI5NzU5MDA5Y0RhQzgyNzc0RWZDODREOTRjRDlGNzQ0MGY3NUZjZlwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyMzQ5OTc4N1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2Rmay50c1xudmFyIGRmayA9IHtcbiAgaWQ6IDUzOTM1LFxuICBuYW1lOiBcIkRGSyBDaGFpblwiLFxuICBuZXR3b3JrOiBcImRma1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkpld2VsXCIsXG4gICAgc3ltYm9sOiBcIkpFV0VMXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvZGVmaS1raW5nZG9tcy9kZmstY2hhaW4vcnBjXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvZGVmaS1raW5nZG9tcy9kZmstY2hhaW4vcnBjXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJERktTdWJuZXRTY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9kZWZpLWtpbmdkb21zXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiREZLU3VibmV0U2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvZGVmaS1raW5nZG9tc1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZG9nZWNoYWluLnRzXG52YXIgZG9nZWNoYWluID0ge1xuICBpZDogMmUzLFxuICBuYW1lOiBcIkRvZ2VjaGFpblwiLFxuICBuZXR3b3JrOiBcImRvZ2VjaGFpblwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkRvZ2VjaGFpblwiLFxuICAgIHN5bWJvbDogXCJEQ1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmRvZ2VjaGFpbi5kb2dcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZG9nZWNoYWluLmRvZ1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkRvZ2VDaGFpbkV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5kb2dlY2hhaW4uZG9nXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRG9nZUNoYWluRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLmRvZ2VjaGFpbi5kb2dcIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2VkZ2V3YXJlLnRzXG52YXIgZWRnZXdhcmUgPSB7XG4gIGlkOiAyMDIxLFxuICBuYW1lOiBcIkVkZ2V3YXJlIEVkZ2VFVk0gTWFpbm5ldFwiLFxuICBuZXR3b3JrOiBcImVkZ2V3YXJlXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRWRnZXdhcmVcIixcbiAgICBzeW1ib2w6IFwiRURHXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9lZGdld2FyZS1ldm0uamVsbGllZG93bC5uZXRcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9lZGdld2FyZS1ldm0uamVsbGllZG93bC5uZXRcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkVkZ3NjYW4gYnkgQmhhcmF0aGNvb3JnXCIsIHVybDogXCJodHRwczovL2VkZ3NjYW4ubGl2ZVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkVkZ3NjYW4gYnkgQmhhcmF0aGNvb3JnXCIsIHVybDogXCJodHRwczovL2VkZ3NjYW4ubGl2ZVwiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweERERjQ3ZUVCNGU1RkY0QUE2MGUwNjNFMEVjNGY3QzM1QjQ3RWQ0NDVcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTcxMjY3ODBcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9lZGdld2FyZVRlc3RuZXQudHNcbnZhciBlZGdld2FyZVRlc3RuZXQgPSB7XG4gIGlkOiAyMDIyLFxuICBuYW1lOiBcIkJlcmVzaGVldCBCZXJlRVZNIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJlZGdld2FyZVRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJUZXN0bmV0IEVER1wiLFxuICAgIHN5bWJvbDogXCJ0RURHXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9iZXJlc2hlZXQtZXZtLmplbGxpZWRvd2wubmV0XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYmVyZXNoZWV0LWV2bS5qZWxsaWVkb3dsLm5ldFwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkVkZ3NjYW4gYnkgQmhhcmF0aGNvb3JnXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LmVkZ3NjYW4ubGl2ZVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkVkZ3NjYW4gYnkgQmhhcmF0aGNvb3JnXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LmVkZ3NjYW4ubGl2ZVwiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZXZtb3MudHNcbnZhciBldm1vcyA9IHtcbiAgaWQ6IDkwMDEsXG4gIG5hbWU6IFwiRXZtb3NcIixcbiAgbmV0d29yazogXCJldm1vc1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV2bW9zXCIsXG4gICAgc3ltYm9sOiBcIkVWTU9TXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldGguYmQuZXZtb3Mub3JnOjg1NDVcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldGguYmQuZXZtb3Mub3JnOjg1NDVcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJFdm1vcyBCbG9jayBFeHBsb3JlclwiLCB1cmw6IFwiaHR0cHM6Ly9lc2Nhbi5saXZlXCIgfVxuICB9XG59O1xuXG4vLyBzcmMvZXZtb3NUZXN0bmV0LnRzXG52YXIgZXZtb3NUZXN0bmV0ID0ge1xuICBpZDogOWUzLFxuICBuYW1lOiBcIkV2bW9zIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJldm1vcy10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRXZtb3NcIixcbiAgICBzeW1ib2w6IFwiRVZNT1NcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2V0aC5iZC5ldm1vcy5kZXY6ODU0NVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2V0aC5iZC5ldm1vcy5kZXY6ODU0NVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFdm1vcyBUZXN0bmV0IEJsb2NrIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ldm0uZXZtb3MuZGV2L1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZWt0YS50c1xudmFyIGVrdGEgPSB7XG4gIGlkOiAxOTk0LFxuICBuYW1lOiBcIkVrdGFcIixcbiAgbmV0d29yazogXCJla3RhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRUtUQVwiLFxuICAgIHN5bWJvbDogXCJFS1RBXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL21haW4uZWt0YS5pb1wiXSB9LFxuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9tYWluLmVrdGEuaW9cIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJFa3Rhc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9la3Rhc2Nhbi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2VrdGFUZXN0bmV0LnRzXG52YXIgZWt0YVRlc3RuZXQgPSB7XG4gIGlkOiAxMDA0LFxuICBuYW1lOiBcIkVrdGEgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImVrdGEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkVLVEFcIixcbiAgICBzeW1ib2w6IFwiRUtUQVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly90ZXN0LmVrdGEuaW86ODU0NVwiXSB9LFxuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly90ZXN0LmVrdGEuaW86ODU0NVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIlRlc3QgRWt0YXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGVzdC5la3Rhc2Nhbi5pb1wiIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2ZhbnRvbS50c1xudmFyIGZhbnRvbSA9IHtcbiAgaWQ6IDI1MCxcbiAgbmFtZTogXCJGYW50b21cIixcbiAgbmV0d29yazogXCJmYW50b21cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJGYW50b21cIixcbiAgICBzeW1ib2w6IFwiRlRNXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuYW5rci5jb20vZmFudG9tXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2ZhbnRvbVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiRlRNU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9mdG1zY2FuLmNvbVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkZUTVNjYW5cIiwgdXJsOiBcImh0dHBzOi8vZnRtc2Nhbi5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDMzMDAxOTg3XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZmFudG9tVGVzdG5ldC50c1xudmFyIGZhbnRvbVRlc3RuZXQgPSB7XG4gIGlkOiA0MDAyLFxuICBuYW1lOiBcIkZhbnRvbSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwiZmFudG9tLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJGYW50b21cIixcbiAgICBzeW1ib2w6IFwiRlRNXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMudGVzdG5ldC5mYW50b20ubmV0d29ya1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy50ZXN0bmV0LmZhbnRvbS5uZXR3b3JrXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJGVE1TY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuZnRtc2Nhbi5jb21cIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJGVE1TY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuZnRtc2Nhbi5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDgzMjg2ODhcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9maWJvLnRzXG52YXIgZmlibyA9IHtcbiAgaWQ6IDEyMzA2LFxuICBuYW1lOiBcIkZpYm8gQ2hhaW5cIixcbiAgbmV0d29yazogXCJmaWJvY2hhaW5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJmaWJvXCIsXG4gICAgc3ltYm9sOiBcIkZJQk9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL25ldHdvcmsuaHpyb2MuYXJ0XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vbmV0d29yay5oenJvYy5hcnRcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJGaWJvU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9zY2FuLmZpYm9jaGFpbi5vcmdcIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9maWxlY29pbi50c1xudmFyIGZpbGVjb2luID0ge1xuICBpZDogMzE0LFxuICBuYW1lOiBcIkZpbGVjb2luIE1haW5uZXRcIixcbiAgbmV0d29yazogXCJmaWxlY29pbi1tYWlubmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiZmlsZWNvaW5cIixcbiAgICBzeW1ib2w6IFwiRklMXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkubm9kZS5nbGlmLmlvL3JwYy92MVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2FwaS5ub2RlLmdsaWYuaW8vcnBjL3YxXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRmlsZm94XCIsIHVybDogXCJodHRwczovL2ZpbGZveC5pbmZvL2VuXCIgfSxcbiAgICBmaWxzY2FuOiB7IG5hbWU6IFwiRmlsc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9maWxzY2FuLmlvXCIgfSxcbiAgICBmaWxzY291dDogeyBuYW1lOiBcIkZpbHNjb3V0XCIsIHVybDogXCJodHRwczovL2ZpbHNjb3V0LmlvL2VuXCIgfSxcbiAgICBnbGlmOiB7IG5hbWU6IFwiR2xpZlwiLCB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5nbGlmLmlvXCIgfVxuICB9XG59O1xuXG4vLyBzcmMvZmlsZWNvaW5DYWxpYnJhdGlvbi50c1xudmFyIGZpbGVjb2luQ2FsaWJyYXRpb24gPSB7XG4gIGlkOiAzMTQxNTksXG4gIG5hbWU6IFwiRmlsZWNvaW4gQ2FsaWJyYXRpb25cIixcbiAgbmV0d29yazogXCJmaWxlY29pbi1jYWxpYnJhdGlvblwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcInRlc3RuZXQgZmlsZWNvaW5cIixcbiAgICBzeW1ib2w6IFwidEZJTFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmNhbGlicmF0aW9uLm5vZGUuZ2xpZi5pby9ycGMvdjFcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkuY2FsaWJyYXRpb24ubm9kZS5nbGlmLmlvL3JwYy92MVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkZpbHNjYW5cIiwgdXJsOiBcImh0dHBzOi8vY2FsaWJyYXRpb24uZmlsc2Nhbi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2ZpbGVjb2luSHlwZXJzcGFjZS50c1xudmFyIGZpbGVjb2luSHlwZXJzcGFjZSA9IHtcbiAgaWQ6IDMxNDEsXG4gIG5hbWU6IFwiRmlsZWNvaW4gSHlwZXJzcGFjZVwiLFxuICBuZXR3b3JrOiBcImZpbGVjb2luLWh5cGVyc3BhY2VcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJ0ZXN0bmV0IGZpbGVjb2luXCIsXG4gICAgc3ltYm9sOiBcInRGSUxcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2FwaS5oeXBlcnNwYWNlLm5vZGUuZ2xpZi5pby9ycGMvdjFcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkuaHlwZXJzcGFjZS5ub2RlLmdsaWYuaW8vcnBjL3YxXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRmlsZm94XCIsIHVybDogXCJodHRwczovL2h5cGVyc3BhY2UuZmlsZm94LmluZm8vZW5cIiB9LFxuICAgIGZpbHNjYW46IHsgbmFtZTogXCJGaWxzY2FuXCIsIHVybDogXCJodHRwczovL2h5cGVyc3BhY2UuZmlsc2Nhbi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2ZsYXJlLnRzXG52YXIgZmxhcmUgPSB7XG4gIGlkOiAxNCxcbiAgbmFtZTogXCJGbGFyZSBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwiZmxhcmUtbWFpbm5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcImZsYXJlXCIsXG4gICAgc3ltYm9sOiBcIkZMUlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZmxhcmUtYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vZmxhcmUtYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkZsYXJlIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9mbGFyZS1leHBsb3Jlci5mbGFyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9mbGFyZVRlc3RuZXQudHNcbnZhciBmbGFyZVRlc3RuZXQgPSB7XG4gIGlkOiAxMTQsXG4gIG5hbWU6IFwiQ29zdG9uMlwiLFxuICBuZXR3b3JrOiBcImNvc3RvbjJcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJjb3N0b24yZmxhcmVcIixcbiAgICBzeW1ib2w6IFwiQzJGTFJcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2Nvc3RvbjItYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vY29zdG9uMi1hcGkuZmxhcmUubmV0d29yay9leHQvQy9ycGNcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQ29zdG9uMiBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vY29zdG9uMi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9mb3VuZHJ5LnRzXG52YXIgZm91bmRyeSA9IHtcbiAgaWQ6IDMxMzM3LFxuICBuYW1lOiBcIkZvdW5kcnlcIixcbiAgbmV0d29yazogXCJmb3VuZHJ5XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRXRoZXJcIixcbiAgICBzeW1ib2w6IFwiRVRIXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHA6Ly8xMjcuMC4wLjE6ODU0NVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3M6Ly8xMjcuMC4wLjE6ODU0NVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwOi8vMTI3LjAuMC4xOjg1NDVcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzOi8vMTI3LjAuMC4xOjg1NDVcIl1cbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9mdXNlLnRzXG52YXIgZnVzZSA9IHtcbiAgaWQ6IDEyMixcbiAgbmFtZTogXCJGdXNlXCIsXG4gIG5ldHdvcms6IFwiZnVzZVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkZ1c2VcIiwgc3ltYm9sOiBcIkZVU0VcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmZ1c2UuaW9cIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9mdXNlLW1haW5uZXQuY2hhaW5zdGFja2xhYnMuY29tXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRnVzZSBFeHBsb3JlclwiLCB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5mdXNlLmlvXCIgfVxuICB9XG59O1xuXG4vLyBzcmMvaW90ZXgudHNcbnZhciBpb3RleCA9IHtcbiAgaWQ6IDQ2ODksXG4gIG5hbWU6IFwiSW9UZVhcIixcbiAgbmV0d29yazogXCJpb3RleFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIklvVGVYXCIsXG4gICAgc3ltYm9sOiBcIklPVFhcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9iYWJlbC1hcGkubWFpbm5ldC5pb3RleC5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYmFiZWwtYXBpLm1haW5uZXQuaW90ZXguaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9iYWJlbC1hcGkubWFpbm5ldC5pb3RleC5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYmFiZWwtYXBpLm1haW5uZXQuaW90ZXguaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIklvVGVYU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9pb3RleHNjYW4uaW9cIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9pb3RleFRlc3RuZXQudHNcbnZhciBpb3RleFRlc3RuZXQgPSB7XG4gIGlkOiA0NjkwLFxuICBuYW1lOiBcIklvVGVYIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJpb3RleC10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiSW9UZVhcIixcbiAgICBzeW1ib2w6IFwiSU9UWFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2JhYmVsLWFwaS50ZXN0bmV0LmlvdGV4LmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9iYWJlbC1hcGkudGVzdG5ldC5pb3RleC5pb1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2JhYmVsLWFwaS50ZXN0bmV0LmlvdGV4LmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9iYWJlbC1hcGkudGVzdG5ldC5pb3RleC5pb1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiSW9UZVhTY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuaW90ZXhzY2FuLmlvXCIgfVxuICB9XG59O1xuXG4vLyBzcmMvZ29lcmxpLnRzXG52YXIgZ29lcmxpID0ge1xuICBpZDogNSxcbiAgbmV0d29yazogXCJnb2VybGlcIixcbiAgbmFtZTogXCJHb2VybGlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJHb2VybGkgRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGFsY2hlbXk6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZXRoLWdvZXJsaS5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ldGgtZ29lcmxpLmcuYWxjaGVteS5jb20vdjJcIl1cbiAgICB9LFxuICAgIGluZnVyYToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGkuaW5mdXJhLmlvL3YzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9nb2VybGkuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5hbmtyLmNvbS9ldGhfZ29lcmxpXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2V0aF9nb2VybGlcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pb1wiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBlbnNSZWdpc3RyeToge1xuICAgICAgYWRkcmVzczogXCIweDAwMDAwMDAwMDAwQzJFMDc0ZUM2OUEwZEZiMjk5N0JBNkM3ZDJlMWVcIlxuICAgIH0sXG4gICAgZW5zVW5pdmVyc2FsUmVzb2x2ZXI6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHg1NjUyMkQwMEM0MTBhNDNCRmZERjAwYTlBNTY5NDg5Mjk3Mzg1NzkwXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDg3NjUyMDRcbiAgICB9LFxuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDY1MDc2NzBcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9nbm9zaXMudHNcbnZhciBnbm9zaXMgPSB7XG4gIGlkOiAxMDAsXG4gIG5hbWU6IFwiR25vc2lzXCIsXG4gIG5ldHdvcms6IFwiZ25vc2lzXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiR25vc2lzXCIsXG4gICAgc3ltYm9sOiBcInhEQUlcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy5nbm9zaXNjaGFpbi5jb21cIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZ25vc2lzY2hhaW4uY29tXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiR25vc2lzc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ25vc2lzc2Nhbi5pby9cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJHbm9zaXMgQ2hhaW4gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2Jsb2Nrc2NvdXQuY29tL3hkYWkvbWFpbm5ldC9cIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2dub3Npc0NoaWFkby50c1xudmFyIGdub3Npc0NoaWFkbyA9IHtcbiAgaWQ6IDEwMjAwLFxuICBuYW1lOiBcIkdub3NpcyBDaGlhZG9cIixcbiAgbmV0d29yazogXCJjaGlhZG9cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJHbm9zaXNcIixcbiAgICBzeW1ib2w6IFwieERBSVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmNoaWFkb2NoYWluLm5ldFwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy5jaGlhZG9jaGFpbi5uZXRcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYmxvY2tzY291dC5jaGlhZG9jaGFpbi5uZXRcIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2hhcmRoYXQudHNcbnZhciBoYXJkaGF0ID0ge1xuICBpZDogMzEzMzcsXG4gIG5hbWU6IFwiSGFyZGhhdFwiLFxuICBuZXR3b3JrOiBcImhhcmRoYXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFdGhlclwiLFxuICAgIHN5bWJvbDogXCJFVEhcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwOi8vMTI3LjAuMC4xOjg1NDVcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cDovLzEyNy4wLjAuMTo4NTQ1XCJdIH1cbiAgfVxufTtcblxuLy8gc3JjL2hhcm1vbnlPbmUudHNcbnZhciBoYXJtb255T25lID0ge1xuICBpZDogMTY2NjZlNSxcbiAgbmFtZTogXCJIYXJtb255IE9uZVwiLFxuICBuZXR3b3JrOiBcImhhcm1vbnlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBuYW1lOiBcIkhhcm1vbnlcIixcbiAgICBzeW1ib2w6IFwiT05FXCIsXG4gICAgZGVjaW1hbHM6IDE4XG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuYW5rci5jb20vaGFybW9ueVwiXSB9LFxuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuYW5rci5jb20vaGFybW9ueVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkhhcm1vbnkgRXhwbG9yZXJcIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuaGFybW9ueS5vbmVcIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDI0MTg1NzUzXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvaGFxcU1haW5uZXQudHNcbnZhciBoYXFxTWFpbm5ldCA9IHtcbiAgaWQ6IDExMjM1LFxuICBuYW1lOiBcIkhBUVEgTWFpbm5ldFwiLFxuICBuZXR3b3JrOiBcImhhcXEtbWFpbm5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIklzbGFtaWMgQ29pblwiLFxuICAgIHN5bWJvbDogXCJJU0xNXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmV0aC5oYXFxLm5ldHdvcmtcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZXRoLmhhcXEubmV0d29ya1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkhBUVEgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLmhhcXEubmV0d29ya1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvaGFxcVRlc3RlZGdlMi50c1xudmFyIGhhcXFUZXN0ZWRnZTIgPSB7XG4gIGlkOiA1NDIxMSxcbiAgbmFtZTogXCJIQVFRIFRlc3RlZGdlIDJcIixcbiAgbmV0d29yazogXCJoYXFxLXRlc3RlZGdlLTJcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJJc2xhbWljIENvaW5cIixcbiAgICBzeW1ib2w6IFwiSVNMTVRcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZXRoLnRlc3RlZGdlMi5oYXFxLm5ldHdvcmtcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZXRoLnRlc3RlZGdlMi5oYXFxLm5ldHdvcmtcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJIQVFRIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci50ZXN0ZWRnZTIuaGFxcS5uZXR3b3JrXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9rbGF5dG4udHNcbnZhciBrbGF5dG4gPSB7XG4gIGlkOiA4MjE3LFxuICBuYW1lOiBcIktsYXl0blwiLFxuICBuZXR3b3JrOiBcImtsYXl0blwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIktsYXl0blwiLFxuICAgIHN5bWJvbDogXCJLTEFZXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9jeXByZXNzLmZhdXRvci5hcHAvYXJjaGl2ZVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2N5cHJlc3MuZmF1dG9yLmFwcC9hcmNoaXZlXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJLbGF5dG5TY29wZVwiLCB1cmw6IFwiaHR0cHM6Ly9zY29wZS5rbGF5dG4uY29tXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiS2xheXRuU2NvcGVcIiwgdXJsOiBcImh0dHBzOi8vc2NvcGUua2xheXRuLmNvbVwiIH1cbiAgfVxufTtcblxuLy8gc3JjL2xpbmVhVGVzdG5ldC50c1xudmFyIGxpbmVhVGVzdG5ldCA9IHtcbiAgaWQ6IDU5MTQwLFxuICBuYW1lOiBcIkxpbmVhIEdvZXJsaSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwibGluZWEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkxpbmVhIEV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vY29uc2Vuc3lzLXprZXZtLWdvZXJsaS1wcmVhbHBoYS5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2NvbnNlbnN5cy16a2V2bS1nb2VybGktcHJlYWxwaGEuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5nb2VybGkubGluZWEuYnVpbGRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3JwYy5nb2VybGkubGluZWEuYnVpbGRcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZ29lcmxpLmxpbmVhLmJ1aWxkXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ycGMuZ29lcmxpLmxpbmVhLmJ1aWxkXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tTY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuZ29lcmxpLmxpbmVhLmJ1aWxkXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDQ5ODYyM1xuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2xvY2FsaG9zdC50c1xudmFyIGxvY2FsaG9zdCA9IHtcbiAgaWQ6IDEzMzcsXG4gIG5hbWU6IFwiTG9jYWxob3N0XCIsXG4gIG5ldHdvcms6IFwibG9jYWxob3N0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRXRoZXJcIixcbiAgICBzeW1ib2w6IFwiRVRIXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cDovLzEyNy4wLjAuMTo4NTQ1XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHA6Ly8xMjcuMC4wLjE6ODU0NVwiXSB9XG4gIH1cbn07XG5cbi8vIHNyYy9tYWlubmV0LnRzXG52YXIgbWFpbm5ldCA9IHtcbiAgaWQ6IDEsXG4gIG5ldHdvcms6IFwiaG9tZXN0ZWFkXCIsXG4gIG5hbWU6IFwiRXRoZXJldW1cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ldGgtbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ldGgtbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2Nsb3VkZmxhcmUtZXRoLmNvbVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2Nsb3VkZmxhcmUtZXRoLmNvbVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ldGhlcnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2V0aGVyc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBlbnNSZWdpc3RyeToge1xuICAgICAgYWRkcmVzczogXCIweDAwMDAwMDAwMDAwQzJFMDc0ZUM2OUEwZEZiMjk5N0JBNkM3ZDJlMWVcIlxuICAgIH0sXG4gICAgZW5zVW5pdmVyc2FsUmVzb2x2ZXI6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjMDQ5N0UzODFmNTM2QmU5Y2UxNEIwZEQzODE3Y0JjQWU1N2QyRjYyXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE2OTY2NTg1XG4gICAgfSxcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxNDM1MzYwMVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL21ldGlzLnRzXG52YXIgbWV0aXMgPSB7XG4gIGlkOiAxMDg4LFxuICBuYW1lOiBcIk1ldGlzXCIsXG4gIG5ldHdvcms6IFwiYW5kcm9tZWRhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiTWV0aXNcIixcbiAgICBzeW1ib2w6IFwiTUVUSVNcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2FuZHJvbWVkYS5tZXRpcy5pby8/b3duZXI9MTA4OFwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2FuZHJvbWVkYS5tZXRpcy5pby8/b3duZXI9MTA4OFwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJBbmRyb21lZGEgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2FuZHJvbWVkYS1leHBsb3Jlci5tZXRpcy5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyMzM4NTUyXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvbWV0aXNHb2VybGkudHNcbnZhciBtZXRpc0dvZXJsaSA9IHtcbiAgaWQ6IDU5OSxcbiAgbmFtZTogXCJNZXRpcyBHb2VybGlcIixcbiAgbmV0d29yazogXCJtZXRpcy1nb2VybGlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJNZXRpcyBHb2VybGlcIixcbiAgICBzeW1ib2w6IFwiTUVUSVNcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2dvZXJsaS5nYXRld2F5Lm1ldGlzZGV2b3BzLmxpbmtcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGkuZ2F0ZXdheS5tZXRpc2Rldm9wcy5saW5rXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIk1ldGlzIEdvZXJsaSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLmV4cGxvcmVyLm1ldGlzZGV2b3BzLmxpbmtcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTAwNjIwN1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL21vb25iYXNlQWxwaGEudHNcbnZhciBtb29uYmFzZUFscGhhID0ge1xuICBpZDogMTI4NyxcbiAgbmFtZTogXCJNb29uYmFzZSBBbHBoYVwiLFxuICBuZXR3b3JrOiBcIm1vb25iYXNlLWFscGhhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiREVWXCIsXG4gICAgc3ltYm9sOiBcIkRFVlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5hcGkubW9vbmJhc2UubW9vbmJlYW0ubmV0d29ya1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vd3NzLmFwaS5tb29uYmFzZS5tb29uYmVhbS5uZXR3b3JrXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmFwaS5tb29uYmFzZS5tb29uYmVhbS5uZXR3b3JrXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly93c3MuYXBpLm1vb25iYXNlLm1vb25iZWFtLm5ldHdvcmtcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJNb29uc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbW9vbmJhc2UubW9vbnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29uYmFzZS5tb29uc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxODUwNjg2XG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvbW9vbmJlYW0udHNcbnZhciBtb29uYmVhbSA9IHtcbiAgaWQ6IDEyODQsXG4gIG5hbWU6IFwiTW9vbmJlYW1cIixcbiAgbmV0d29yazogXCJtb29uYmVhbVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkdMTVJcIixcbiAgICBzeW1ib2w6IFwiR0xNUlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbW9vbmJlYW0ucHVibGljLmJsYXN0YXBpLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tb29uYmVhbS5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbW9vbmJlYW0ucHVibGljLmJsYXN0YXBpLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tb29uYmVhbS5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJNb29uc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbW9vbnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29uc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA2MDkwMDJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IGZhbHNlXG59O1xuXG4vLyBzcmMvbW9vbnJpdmVyLnRzXG52YXIgbW9vbnJpdmVyID0ge1xuICBpZDogMTI4NSxcbiAgbmFtZTogXCJNb29ucml2ZXJcIixcbiAgbmV0d29yazogXCJtb29ucml2ZXJcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJNT1ZSXCIsXG4gICAgc3ltYm9sOiBcIk1PVlJcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21vb25yaXZlci5wdWJsaWMuYmxhc3RhcGkuaW9cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21vb25yaXZlci5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbW9vbnJpdmVyLnB1YmxpYy5ibGFzdGFwaS5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vbW9vbnJpdmVyLnB1YmxpYy5ibGFzdGFwaS5pb1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29ucml2ZXIubW9vbnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29ucml2ZXIubW9vbnNjYW4uaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTU5NzkwNFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogZmFsc2Vcbn07XG5cbi8vIHNyYy9uZW9uRGV2bmV0LnRzXG52YXIgbmVvbkRldm5ldCA9IHtcbiAgaWQ6IDI0NTAyMjkyNixcbiAgbmV0d29yazogXCJuZW9uRGV2bmV0XCIsXG4gIG5hbWU6IFwiTmVvbiBFVk0gRGV2TmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiTkVPTlwiLCBzeW1ib2w6IFwiTkVPTlwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZGV2bmV0Lm5lb25ldm0ub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZGV2bmV0Lm5lb25ldm0ub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiTmVvbnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL25lb25zY2FuLm9yZ1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyMDUyMDYxMTJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9uZXhpLnRzXG52YXIgbmV4aSA9IHtcbiAgaWQ6IDQyNDIsXG4gIG5hbWU6IFwiTmV4aVwiLFxuICBuZXR3b3JrOiBcIm5leGlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJOZXhpXCIsIHN5bWJvbDogXCJORVhJXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuY2hhaW4ubmV4aS50ZWNobm9sb2d5XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmNoYWluLm5leGkudGVjaG5vbG9neVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiTmV4aVNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3d3dy5uZXhpc2Nhbi5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJOZXhpU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd3d3Lm5leGlzY2FuLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MDI3N0E0NkNjNjlBNTdlRTNBNkM4YzE1OGJBODc0ODMyRjcxOEI4RVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNTc3MDE2MFxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL29hc3lzLnRzXG52YXIgb2FzeXMgPSB7XG4gIGlkOiAyNDgsXG4gIG5hbWU6IFwiT2FzeXNcIixcbiAgbmV0d29yazogXCJvYXN5c1wiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIk9hc3lzXCIsIHN5bWJvbDogXCJPQVNcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5tYWlubmV0Lm9hc3lzLmdhbWVzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1haW5uZXQub2FzeXMuZ2FtZXNcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJPYXN5c1NjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3NjYW4ub2FzeXMuZ2FtZXNcIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL29rYy50c1xudmFyIG9rYyA9IHtcbiAgaWQ6IDY2LFxuICBuYW1lOiBcIk9LQ1wiLFxuICBuZXR3b3JrOiBcIm9rY1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIk9LVFwiLFxuICAgIHN5bWJvbDogXCJPS1RcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2V4Y2hhaW5ycGMub2tleC5vcmdcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9leGNoYWlucnBjLm9rZXgub3JnXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwib2tsaW5rXCIsIHVybDogXCJodHRwczovL3d3dy5va2xpbmsuY29tL29rY1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTAzNjQ3OTJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9vcHRpbWlzbS50c1xudmFyIG9wdGltaXNtID0ge1xuICBpZDogMTAsXG4gIG5hbWU6IFwiT3B0aW1pc21cIixcbiAgbmV0d29yazogXCJvcHRpbWlzbVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBhbGNoZW15OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL29wdC1tYWlubmV0LmcuYWxjaGVteS5jb20vdjJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL29wdC1tYWlubmV0LmcuYWxjaGVteS5jb20vdjJcIl1cbiAgICB9LFxuICAgIGluZnVyYToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9vcHRpbWlzbS1tYWlubmV0LmluZnVyYS5pby92M1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vb3B0aW1pc20tbWFpbm5ldC5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5vcHRpbWlzbS5pb1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQub3B0aW1pc20uaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJPcHRpbWlzbSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIub3B0aW1pc20uaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNDI4NjI2M1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL29wdGltaXNtR29lcmxpLnRzXG52YXIgb3B0aW1pc21Hb2VybGkgPSB7XG4gIGlkOiA0MjAsXG4gIG5hbWU6IFwiT3B0aW1pc20gR29lcmxpXCIsXG4gIG5ldHdvcms6IFwib3B0aW1pc20tZ29lcmxpXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiR29lcmxpIEV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBhbGNoZW15OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL29wdC1nb2VybGkuZy5hbGNoZW15LmNvbS92MlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vb3B0LWdvZXJsaS5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vb3B0aW1pc20tZ29lcmxpLmluZnVyYS5pby92M1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vb3B0aW1pc20tZ29lcmxpLmluZnVyYS5pby93cy92M1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGkub3B0aW1pc20uaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGkub3B0aW1pc20uaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLW9wdGltaXNtLmV0aGVyc2Nhbi5pb1wiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLW9wdGltaXNtLmV0aGVyc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA0OTQ2MVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3BvbHlnb24udHNcbnZhciBwb2x5Z29uID0ge1xuICBpZDogMTM3LFxuICBuYW1lOiBcIlBvbHlnb25cIixcbiAgbmV0d29yazogXCJtYXRpY1wiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIk1BVElDXCIsIHN5bWJvbDogXCJNQVRJQ1wiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGFsY2hlbXk6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcG9seWdvbi1tYWlubmV0LmcuYWxjaGVteS5jb20vdjJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3BvbHlnb24tbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcG9seWdvbi1tYWlubmV0LmluZnVyYS5pby92M1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcG9seWdvbi1tYWlubmV0LmluZnVyYS5pby93cy92M1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9wb2x5Z29uLXJwYy5jb21cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9wb2x5Z29uLXJwYy5jb21cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIlBvbHlnb25TY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9wb2x5Z29uc2Nhbi5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJQb2x5Z29uU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vcG9seWdvbnNjYW4uY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDI1NzcwMTYwXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvcG9seWdvbk11bWJhaS50c1xudmFyIHBvbHlnb25NdW1iYWkgPSB7XG4gIGlkOiA4MDAwMSxcbiAgbmFtZTogXCJQb2x5Z29uIE11bWJhaVwiLFxuICBuZXR3b3JrOiBcIm1hdGljbXVtXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiTUFUSUNcIiwgc3ltYm9sOiBcIk1BVElDXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9wb2x5Z29uLW11bWJhaS5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9wb2x5Z29uLW11bWJhaS5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcG9seWdvbi1tdW1iYWkuaW5mdXJhLmlvL3YzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9wb2x5Z29uLW11bWJhaS5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWF0aWMtbXVtYmFpLmNoYWluc3RhY2tsYWJzLmNvbVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21hdGljLW11bWJhaS5jaGFpbnN0YWNrbGFicy5jb21cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIlBvbHlnb25TY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tdW1iYWkucG9seWdvbnNjYW4uY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiUG9seWdvblNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL211bWJhaS5wb2x5Z29uc2Nhbi5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjU3NzAxNjBcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9wb2x5Z29uWmtFdm1UZXN0bmV0LnRzXG52YXIgcG9seWdvblprRXZtVGVzdG5ldCA9IHtcbiAgaWQ6IDE0NDIsXG4gIG5hbWU6IFwiUG9seWdvbiB6a0VWTSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwicG9seWdvbi16a2V2bS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnB1YmxpYy56a2V2bS10ZXN0Lm5ldFwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5wdWJsaWMuemtldm0tdGVzdC5uZXRcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5wdWJsaWMuemtldm0tdGVzdC5uZXRcIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3BvbHlnb25aa0V2bS50c1xudmFyIHBvbHlnb25aa0V2bSA9IHtcbiAgaWQ6IDExMDEsXG4gIG5hbWU6IFwiUG9seWdvbiB6a0VWTVwiLFxuICBuZXR3b3JrOiBcInBvbHlnb24temtldm1cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly96a2V2bS1ycGMuY29tXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vemtldm0tcnBjLmNvbVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlBvbHlnb25TY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly96a2V2bS5wb2x5Z29uc2Nhbi5jb21cIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3B1bHNlY2hhaW4udHNcbnZhciBwdWxzZWNoYWluID0ge1xuICBpZDogMzY5LFxuICBuZXR3b3JrOiBcInB1bHNlY2hhaW5cIixcbiAgbmFtZTogXCJQdWxzZWNoYWluXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiUHVsc2VcIiwgc3ltYm9sOiBcIlBMU1wiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnB1bHNlY2hhaW4uY29tXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly93cy5wdWxzZWNoYWluLmNvbVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5wdWxzZWNoYWluLmNvbVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vd3MucHVsc2VjaGFpbi5jb21cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3NjYW4ucHVsc2VjaGFpbi5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgZW5zUmVnaXN0cnk6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHgwMDAwMDAwMDAwMEMyRTA3NGVDNjlBMGRGYjI5OTdCQTZDN2QyZTFlXCJcbiAgICB9LFxuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE0MzUzNjAxXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvcHVsc2VjaGFpblY0LnRzXG52YXIgcHVsc2VjaGFpblY0ID0ge1xuICBpZDogOTQzLFxuICBuZXR3b3JrOiBcInB1bHNlY2hhaW5WNFwiLFxuICBuYW1lOiBcIlB1bHNlY2hhaW4gVjRcIixcbiAgdGVzdG5ldDogdHJ1ZSxcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJQdWxzZVwiLCBzeW1ib2w6IFwiUExTXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMudjQudGVzdG5ldC5wdWxzZWNoYWluLmNvbVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vd3MudjQudGVzdG5ldC5wdWxzZWNoYWluLmNvbVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy52NC50ZXN0bmV0LnB1bHNlY2hhaW4uY29tXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly93cy52NC50ZXN0bmV0LnB1bHNlY2hhaW4uY29tXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Nhbi52NC50ZXN0bmV0LnB1bHNlY2hhaW4uY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIGVuc1JlZ2lzdHJ5OiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZVwiXG4gICAgfSxcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxNDM1MzYwMVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3Njcm9sbFRlc3RuZXQudHNcbnZhciBzY3JvbGxUZXN0bmV0ID0ge1xuICBpZDogNTM0MzUzLFxuICBuYW1lOiBcIlNjcm9sbCBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwic2Nyb2xsLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hbHBoYS1ycGMuc2Nyb2xsLmlvL2wyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9hbHBoYS1ycGMuc2Nyb2xsLmlvL2wyL3dzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYWxwaGEtcnBjLnNjcm9sbC5pby9sMlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYWxwaGEtcnBjLnNjcm9sbC5pby9sMi93c1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkJsb2Nrc2NvdXRcIixcbiAgICAgIHVybDogXCJodHRwczovL2Jsb2Nrc2NvdXQuc2Nyb2xsLmlvXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9zZXBvbGlhLnRzXG52YXIgc2Vwb2xpYSA9IHtcbiAgaWQ6IDExMTU1MTExLFxuICBuZXR3b3JrOiBcInNlcG9saWFcIixcbiAgbmFtZTogXCJTZXBvbGlhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiU2Vwb2xpYSBFdGhlclwiLCBzeW1ib2w6IFwiU0VQXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ldGgtc2Vwb2xpYS5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ldGgtc2Vwb2xpYS5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc2Vwb2xpYS5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3NlcG9saWEuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5zZXBvbGlhLm9yZ1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5zZXBvbGlhLm9yZ1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zZXBvbGlhLmV0aGVyc2Nhbi5pb1wiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Vwb2xpYS5ldGhlcnNjYW4uaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNjUwNzY3MFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NrYWxlL2JyYXdsLnRzXG52YXIgc2thbGVCbG9ja0JyYXdsZXJzID0ge1xuICBpZDogMzkxODQ1ODk0LFxuICBuYW1lOiBcIlNLQUxFIHwgQmxvY2sgQnJhd2xlcnNcIixcbiAgbmV0d29yazogXCJza2FsZS1icmF3bFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkJSQVdMXCIsIHN5bWJvbDogXCJCUkFXTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9mcmF5ZWQtZGVjZW50LWFudGFyZXNcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2ZyYXllZC1kZWNlbnQtYW50YXJlc1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2ZyYXllZC1kZWNlbnQtYW50YXJlcy5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2ZyYXllZC1kZWNlbnQtYW50YXJlcy5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9jYWx5cHNvLnRzXG52YXIgc2thbGVDYWx5cHNvID0ge1xuICBpZDogMTU2NDgzMDgxOCxcbiAgbmFtZTogXCJTS0FMRSB8IENhbHlwc28gTkZUIEh1YlwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWNhbHlwc29cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJzRlVFTFwiLCBzeW1ib2w6IFwic0ZVRUxcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvaG9ub3JhYmxlLXN0ZWVsLXJhc2FsaGFndWVcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2hvbm9yYWJsZS1zdGVlbC1yYXNhbGhhZ3VlXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vaG9ub3JhYmxlLXN0ZWVsLXJhc2FsaGFndWUuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ob25vcmFibGUtc3RlZWwtcmFzYWxoYWd1ZS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9jYWx5cHNvVGVzdG5ldC50c1xudmFyIHNrYWxlQ2FseXBzb1Rlc3RuZXQgPSB7XG4gIGlkOiAzNDQxMDY5MzAsXG4gIG5hbWU6IFwiU0tBTEUgfCBDYWx5cHNvIE5GVCBIdWIgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWNhbHlwc28tdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcbiAgICAgICAgXCJodHRwczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvc3RhZ2luZy11dHRlci11bnJpcGUtbWVua2FyXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLXV0dGVyLXVucmlwZS1tZW5rYXJcIlxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctdXR0ZXItdW5yaXBlLW1lbmthci5leHBsb3Jlci5zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctdXR0ZXItdW5yaXBlLW1lbmthci5leHBsb3Jlci5zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge30sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9za2FsZS9jaGFvc1Rlc3RuZXQudHNcbnZhciBza2FsZUNoYW9zVGVzdG5ldCA9IHtcbiAgaWQ6IDEzNTEwNTcxMTAsXG4gIG5hbWU6IFwiU0tBTEUgfCBDaGFvcyBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwic2thbGUtY2hhb3MtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcbiAgICAgICAgXCJodHRwczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvc3RhZ2luZy1mYXN0LWFjdGl2ZS1iZWxsYXRyaXhcIlxuICAgICAgXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXG4gICAgICAgIFwiaHR0cHM6Ly9zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tL3YxL3N0YWdpbmctZmFzdC1hY3RpdmUtYmVsbGF0cml4XCJcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zdGFnaW5nLWZhc3QtYWN0aXZlLWJlbGxhdHJpeC5leHBsb3Jlci5zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctZmFzdC1hY3RpdmUtYmVsbGF0cml4LmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7fSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NrYWxlL2NyeXB0b0JsYWRlcy50c1xudmFyIHNrYWxlQ3J5cHRvQmxhZGVzID0ge1xuICBpZDogMTAyNjA2MjE1NyxcbiAgbmFtZTogXCJTS0FMRSB8IENyeXB0b0JsYWRlc1wiLFxuICBuZXR3b3JrOiBcInNrYWxlLWNyeXB0b2JsYWRlc1wiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9hZmZlY3Rpb25hdGUtaW1tZWRpYXRlLXBvbGx1eFwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvYWZmZWN0aW9uYXRlLWltbWVkaWF0ZS1wb2xsdXhcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9hZmZlY3Rpb25hdGUtaW1tZWRpYXRlLXBvbGx1eC5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2FmZmVjdGlvbmF0ZS1pbW1lZGlhdGUtcG9sbHV4LmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7fVxufTtcblxuLy8gc3JjL3NrYWxlL2NyeXB0b0NvbG9zc2V1bS50c1xudmFyIHNrYWxlQ3J5cHRvQ29sb3NzZXVtID0ge1xuICBpZDogMjA0NjM5OTEyNixcbiAgbmFtZTogXCJTS0FMRSB8IENyeXB0byBDb2xvc3NldW1cIixcbiAgbmV0d29yazogXCJza2FsZS1jcnlwdG8tY29sb3NlZXVtXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2hhdW50aW5nLWRldm90ZWQtZGVuZWJcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2hhdW50aW5nLWRldm90ZWQtZGVuZWJcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9oYXVudGluZy1kZXZvdGVkLWRlbmViLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vaGF1bnRpbmctZGV2b3RlZC1kZW5lYi5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9ldXJvcGEudHNcbnZhciBza2FsZUV1cm9wYSA9IHtcbiAgaWQ6IDIwNDYzOTkxMjYsXG4gIG5hbWU6IFwiU0tBTEUgfCBFdXJvcGEgTGlxdWlkaXR5IEh1YlwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWV1cm9wYVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9lbGF0ZWQtdGFuLXNrYXRcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2VsYXRlZC10YW4tc2thdFwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2VsYXRlZC10YW4tc2thdC5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2VsYXRlZC10YW4tc2thdC5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9ldXJvcGFUZXN0bmV0LnRzXG52YXIgc2thbGVFdXJvcGFUZXN0bmV0ID0ge1xuICBpZDogNDc2MTU4NDEyLFxuICBuYW1lOiBcIlNLQUxFIHwgRXVyb3BhIExpcXVpZGl0eSBIdWIgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWV1cm9wYS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tL3YxL3N0YWdpbmctbGVnYWwtY3JhenktY2FzdG9yXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWxlZ2FsLWNyYXp5LWNhc3RvclwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctbGVnYWwtY3JhenktY2FzdG9yLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1sZWdhbC1jcmF6eS1jYXN0b3IuZXhwbG9yZXIuc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvc2thbGUvZXhvcmRlLnRzXG52YXIgc2thbGVFeG9yZGUgPSB7XG4gIGlkOiAyMTM5OTI3NTUyLFxuICBuYW1lOiBcIlNLQUxFIHwgRXhvcmRlXCIsXG4gIG5ldHdvcms6IFwic2thbGUtZXhvcmRlXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2xpZ2h0LXZhc3QtZGlwaGRhXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9saWdodC12YXN0LWRpcGhkYVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2xpZ2h0LXZhc3QtZGlwaGRhLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbGlnaHQtdmFzdC1kaXBoZGEuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9XG59O1xuXG4vLyBzcmMvc2thbGUvaHVtYW5Qcm90b2NvbC50c1xudmFyIHNrYWxlSHVtYW5Qcm90b2NvbCA9IHtcbiAgaWQ6IDEyNzMyMjc0NTMsXG4gIG5hbWU6IFwiU0tBTEUgfCBIdW1hbiBQcm90b2NvbFwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWh1bWFuLXByb3RvY29sXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dhbi1yZWQtYWluXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS93YW4tcmVkLWFpblwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3dhbi1yZWQtYWluLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd2FuLXJlZC1haW4uZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9XG59O1xuXG4vLyBzcmMvc2thbGUvbmVidWxhLnRzXG52YXIgc2thbGVOZWJ1bGEgPSB7XG4gIGlkOiAxNDgyNjAxNjQ5LFxuICBuYW1lOiBcIlNLQUxFIHwgTmVidWxhIEdhbWluZyBIdWJcIixcbiAgbmV0d29yazogXCJza2FsZS1uZWJ1bGFcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJzRlVFTFwiLCBzeW1ib2w6IFwic0ZVRUxcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvZ3JlZW4tZ2lkZHktZGVuZWJvbGFcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2dyZWVuLWdpZGR5LWRlbmVib2xhXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ3JlZW4tZ2lkZHktZGVuZWJvbGEuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ncmVlbi1naWRkeS1kZW5lYm9sYS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9uZWJ1bGFUZXN0bmV0LnRzXG52YXIgc2thbGVOZWJ1bGFUZXN0bmV0ID0ge1xuICBpZDogNTAzMTI5OTA1LFxuICBuYW1lOiBcIlNLQUxFIHwgTmVidWxhIEdhbWluZyBIdWIgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInNrYWxlLW5lYnVsYS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tL3YxL3N0YWdpbmctZmFpbnQtc2xpbXktYWNoaXJkXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWZhaW50LXNsaW15LWFjaGlyZFwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctZmFpbnQtc2xpbXktYWNoaXJkLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1mYWludC1zbGlteS1hY2hpcmQuZXhwbG9yZXIuc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvc2thbGUvcmF6b3IudHNcbnZhciBza2FsZVJhem9yID0ge1xuICBpZDogMjc4NjExMzUxLFxuICBuYW1lOiBcIlNLQUxFIHwgUmF6b3IgTmV0d29ya1wiLFxuICBuZXR3b3JrOiBcInNrYWxlLXJhem9yXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3R1cmJ1bGVudC11bmlxdWUtc2NoZWF0XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS90dXJidWxlbnQtdW5pcXVlLXNjaGVhdFwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3R1cmJ1bGVudC11bmlxdWUtc2NoZWF0LmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vdHVyYnVsZW50LXVuaXF1ZS1zY2hlYXQuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9XG59O1xuXG4vLyBzcmMvc2thbGUvdGl0YW4udHNcbnZhciBza2FsZVRpdGFuID0ge1xuICBpZDogMTM1MDIxNjIzNCxcbiAgbmFtZTogXCJTS0FMRSB8IFRpdGFuIENvbW11bml0eSBIdWJcIixcbiAgbmV0d29yazogXCJza2FsZS10aXRhblwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9wYXJhbGxlbC1zdG9ybXktc3BpY2FcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3BhcmFsbGVsLXN0b3JteS1zcGljYVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3BhcmFsbGVsLXN0b3JteS1zcGljYS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3BhcmFsbGVsLXN0b3JteS1zcGljYS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS90aXRhblRlc3RuZXQudHNcbnZhciBza2FsZVRpdGFuVGVzdG5ldCA9IHtcbiAgaWQ6IDE1MTc5Mjk1NTAsXG4gIG5hbWU6IFwiU0tBTEUgfCBUaXRhbiBDb21tdW5pdHkgSHViIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJza2FsZS10aXRhbi10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWF3YXJlLWNoaWVmLWdpYW5mYXJcIlxuICAgICAgXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXG4gICAgICAgIFwiaHR0cHM6Ly9zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tL3YxL3N0YWdpbmctYXdhcmUtY2hpZWYtZ2lhbmZhclwiXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1hd2FyZS1jaGllZi1naWFuZmFyLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1hd2FyZS1jaGllZi1naWFuZmFyLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7fSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NvbmdiaXJkLnRzXG52YXIgc29uZ2JpcmQgPSB7XG4gIGlkOiAxOSxcbiAgbmFtZTogXCJTb25nYmlyZCBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwic29uZ2JpcmQtbWFpbm5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcInNvbmdiaXJkXCIsXG4gICAgc3ltYm9sOiBcIlNHQlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vc29uZ2JpcmQtYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vc29uZ2JpcmQtYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNvbmdiaXJkIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zb25nYmlyZC1leHBsb3Jlci5mbGFyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9zb25nYmlyZFRlc3RuZXQudHNcbnZhciBzb25nYmlyZFRlc3RuZXQgPSB7XG4gIGlkOiAxNixcbiAgbmFtZTogXCJDb3N0b25cIixcbiAgbmV0d29yazogXCJjb3N0b25cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJjb3N0b25mbGFyZVwiLFxuICAgIHN5bWJvbDogXCJDRkxSXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9jb3N0b24tYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vY29zdG9uLWFwaS5mbGFyZS5uZXR3b3JrL2V4dC9DL3JwY1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJDb3N0b24gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2Nvc3Rvbi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9zaGFyZGV1bVNwaGlueC50c1xudmFyIHNoYXJkZXVtU3BoaW54ID0ge1xuICBpZDogODA4MixcbiAgbmFtZTogXCJTaGFyZGV1bSBTcGhpbnhcIixcbiAgbmV0d29yazogXCJzaG1TcGhpbnhcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJTSEFSREVVTVwiLCBzeW1ib2w6IFwiU0hNXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zcGhpbnguc2hhcmRldW0ub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3BoaW54LnNoYXJkZXVtLm9yZ1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNoYXJkZXVtIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci1zcGhpbnguc2hhcmRldW0ub3JnXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9zeXNjb2luLnRzXG52YXIgc3lzY29pbiA9IHtcbiAgaWQ6IDU3LFxuICBuYW1lOiBcIlN5c2NvaW4gTWFpbm5ldFwiLFxuICBuZXR3b3JrOiBcInN5c2NvaW5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogOCxcbiAgICBuYW1lOiBcIlN5c2NvaW5cIixcbiAgICBzeW1ib2w6IFwiU1lTXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuc3lzY29pbi5vcmdcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuc3lzY29pbi5vcmdcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJTeXNjb2luRXhwbG9yZXJcIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuc3lzY29pbi5vcmdcIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHgwMDA1NjIwMzM3ODNCMTEzNjE1OUUxMGQ5NzZCNTE5QzkyOWNkRThlXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDgwNjM3XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvdGFyYXhhLnRzXG52YXIgdGFyYXhhID0ge1xuICBpZDogODQxLFxuICBuYW1lOiBcIlRhcmF4YSBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwidGFyYXhhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiVGFyYVwiLCBzeW1ib2w6IFwiVEFSQVwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1haW5uZXQudGFyYXhhLmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1haW5uZXQudGFyYXhhLmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiVGFyYXhhIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5tYWlubmV0LnRhcmF4YS5pb1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvdGFyYXhhVGVzdG5ldC50c1xudmFyIHRhcmF4YVRlc3RuZXQgPSB7XG4gIGlkOiA4NDIsXG4gIG5hbWU6IFwiVGFyYXhhIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJ0YXJheGEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIlRhcmFcIiwgc3ltYm9sOiBcIlRBUkFcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy50ZXN0bmV0LnRhcmF4YS5pb1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy50ZXN0bmV0LnRhcmF4YS5pb1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlRhcmF4YSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC50YXJheGEuaW9cIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3RlbG9zLnRzXG52YXIgdGVsb3MgPSB7XG4gIGlkOiA0MCxcbiAgbmFtZTogXCJUZWxvc1wiLFxuICBuZXR3b3JrOiBcInRlbG9zXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiVGVsb3NcIixcbiAgICBzeW1ib2w6IFwiVExPU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC50ZWxvcy5uZXQvZXZtXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC50ZWxvcy5uZXQvZXZtXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlRlbG9zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly93d3cudGVsb3NjYW4uaW8vXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDI0NjUzMDcwOVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3RlbG9zVGVzdG5ldC50c1xudmFyIHRlbG9zVGVzdG5ldCA9IHtcbiAgaWQ6IDQxLFxuICBuYW1lOiBcIlRlbG9zXCIsXG4gIG5ldHdvcms6IFwidGVsb3NUZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiVGVsb3NcIixcbiAgICBzeW1ib2w6IFwiVExPU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC50ZWxvcy5uZXQvZXZtXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC50ZWxvcy5uZXQvZXZtXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlRlbG9zY2FuICh0ZXN0bmV0KVwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC50ZWxvc2Nhbi5pby9cIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3RodW5kZXJUZXN0bmV0LnRzXG52YXIgdGh1bmRlclRlc3RuZXQgPSB7XG4gIGlkOiA5OTcsXG4gIG5hbWU6IFwiNWlyZUNoYWluIFRodW5kZXIgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcIjVpcmVDaGFpblwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIjVpcmUgVG9rZW5cIiwgc3ltYm9sOiBcIjVJUkVcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy10ZXN0bmV0LjVpcmUubmV0d29ya1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy10ZXN0bmV0LjVpcmUubmV0d29ya1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIjVpcmVDaGFpbiBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuNWlyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy93YW5jaGFpbi50c1xudmFyIHdhbmNoYWluID0ge1xuICBpZDogODg4LFxuICBuYW1lOiBcIldhbmNoYWluXCIsXG4gIG5ldHdvcms6IFwid2FuY2hhaW5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJXQU5DSEFJTlwiLCBzeW1ib2w6IFwiV0FOXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vZ3dhbi1zc2wud2FuZGV2cy5vcmc6NTY4OTFcIixcbiAgICAgICAgXCJodHRwczovL2d3YW4yLXNzbC53YW5kZXZzLm9yZ1wiXG4gICAgICBdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcbiAgICAgICAgXCJodHRwczovL2d3YW4tc3NsLndhbmRldnMub3JnOjU2ODkxXCIsXG4gICAgICAgIFwiaHR0cHM6Ly9nd2FuMi1zc2wud2FuZGV2cy5vcmdcIlxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiV2FuU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd2Fuc2Nhbi5vcmdcIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJXYW5TY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly93YW5zY2FuLm9yZ1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0RGNkExNTY2ZTc4RUI0NTk0Yzg2RmU3M0ZjZGM4MjQyOWU5N2ZiQlwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNTMxMjM5MFxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3dhbmNoYWluVGVzdG5ldC50c1xudmFyIHdhbmNoYWluVGVzdG5ldCA9IHtcbiAgaWQ6IDk5OSxcbiAgbmFtZTogXCJXYW5jaGFpbiBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwid2FuY2hhaW5UZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiV0FOQ0hBSU5cIiwgc3ltYm9sOiBcIldBTnRcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2d3YW4tc3NsLndhbmRldnMub3JnOjQ2ODkxXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZ3dhbi1zc2wud2FuZGV2cy5vcmc6NDY4OTFcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIldhblNjYW5UZXN0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly93YW5zY2FuLm9yZ1wiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIldhblNjYW5UZXN0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly93YW5zY2FuLm9yZ1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MTFjODliRjQ0OTZjMzlGQjgwNTM1RmZiNGM5MjcxNTgzOUNDNTMyNFwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNDc0MzQ0OFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3hkYy50c1xudmFyIHhkYyA9IHtcbiAgaWQ6IDUwLFxuICBuYW1lOiBcIlhpbkZpbiBOZXR3b3JrXCIsXG4gIG5ldHdvcms6IFwieGRjXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiWERDXCIsXG4gICAgc3ltYm9sOiBcIlhEQ1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLnhpbmZpbi5uZXR3b3JrXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLnhpbmZpbi5uZXR3b3JrXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICB4aW5maW46IHsgbmFtZTogXCJYaW5GaW5cIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIueGluZmluLm5ldHdvcmtcIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJCbG9ja3NzY2FuXCIsIHVybDogXCJodHRwczovL3hkYy5ibG9ja3NzY2FuLmlvXCIgfVxuICB9XG59O1xuXG4vLyBzcmMveGRjVGVzdG5ldC50c1xudmFyIHhkY1Rlc3RuZXQgPSB7XG4gIGlkOiA1MSxcbiAgbmFtZTogXCJBcG90aGVtIE5ldHdvcmtcIixcbiAgbmV0d29yazogXCJ4ZGMtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlRYRENcIixcbiAgICBzeW1ib2w6IFwiVFhEQ1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXJwYy5hcG90aGVtLm5ldHdvcmtcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9lcnBjLmFwb3RoZW0ubmV0d29ya1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgeGluZmluOiB7IG5hbWU6IFwiWGluRmluXCIsIHVybDogXCJodHRwczovL2V4cGxvcmVyLmFwb3RoZW0ubmV0d29ya1wiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkJsb2Nrc3NjYW5cIiwgdXJsOiBcImh0dHBzOi8vYXBvdGhlbS5ibG9ja3NzY2FuLmlvXCIgfVxuICB9XG59O1xuXG4vLyBzcmMvemhlamlhbmcudHNcbnZhciB6aGVqaWFuZyA9IHtcbiAgaWQ6IDEzMzc4MDMsXG4gIG5ldHdvcms6IFwiemhlamlhbmdcIixcbiAgbmFtZTogXCJaaGVqaWFuZ1wiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIlpoZWppYW5nIEV0aGVyXCIsIHN5bWJvbDogXCJaaGVqRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuemhlamlhbmcuZXRocGFuZGFvcHMuaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuemhlamlhbmcuZXRocGFuZGFvcHMuaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmVhY29uY2hhaW46IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly96aGVqaWFuZy5iZWFjb25jaGEuaW5cIlxuICAgIH0sXG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGgvemhlamlhbmctdGVzdG5ldFwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkJlYWNvbmNoYWluXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly96aGVqaWFuZy5iZWFjb25jaGEuaW5cIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3prU3luYy50c1xudmFyIHprU3luYyA9IHtcbiAgaWQ6IDMyNCxcbiAgbmFtZTogXCJ6a1N5bmMgRXJhXCIsXG4gIG5ldHdvcms6IFwiemtzeW5jLWVyYVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV0aGVyXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuZXJhLnprc3luYy5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vbWFpbm5ldC5lcmEuemtzeW5jLmlvL3dzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5lcmEuemtzeW5jLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LmVyYS56a3N5bmMuaW8vd3NcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJ6a0V4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci56a3N5bmMuaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweEY5Y2RhNjI0RkJDN2UwNTkzNTVjZTk4YTMxNjkzZDI5OUZBQ2Q5NjNcIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3prU3luY1Rlc3RuZXQudHNcbnZhciB6a1N5bmNUZXN0bmV0ID0ge1xuICBpZDogMjgwLFxuICBuYW1lOiBcInprU3luYyBFcmEgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInprc3luYy1lcmEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3Rlc3RuZXQuZXJhLnprc3luYy5kZXZcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3Rlc3RuZXQuZXJhLnprc3luYy5kZXYvd3NcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly90ZXN0bmV0LmVyYS56a3N5bmMuZGV2XCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly90ZXN0bmV0LmVyYS56a3N5bmMuZGV2L3dzXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiemtFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ29lcmxpLmV4cGxvcmVyLnprc3luYy5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4RjljZGE2MjRGQkM3ZTA1OTM1NWNlOThhMzE2OTNkMjk5RkFDZDk2M1wiXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvem9yYS50c1xudmFyIHpvcmEgPSB7XG4gIGlkOiA3Nzc3Nzc3LFxuICBuYW1lOiBcIlpPUkFcIixcbiAgbmV0d29yazogXCJ6b3JhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRXRoZXJcIixcbiAgICBzeW1ib2w6IFwiRVRIXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnpvcmEuY29cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3JwYy56b3JhLmNvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnpvcmEuY29cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3JwYy56b3JhLmNvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIlpPUkFcIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuem9yYS5jb1wiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIlpPUkFcIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuem9yYS5jb1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNTg4MlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3pvcmFUZXN0bmV0LnRzXG52YXIgem9yYVRlc3RuZXQgPSB7XG4gIGlkOiA5OTksXG4gIG5hbWU6IFwiWk9SQSBHb2VybGkgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInpvcmEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlpPUkEgR29lcmxpXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3Rlc3RuZXQucnBjLnpvcmEuY29cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3Rlc3RuZXQucnBjLnpvcmEuY29cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly90ZXN0bmV0LnJwYy56b3JhLmNvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly90ZXN0bmV0LnJwYy56b3JhLmNvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIlpPUkFcIiwgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC5leHBsb3Jlci56b3JhLmNvXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiWk9SQVwiLCB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LmV4cGxvcmVyLnpvcmEuY29cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE4OTEyM1xuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcbmV4cG9ydCB7XG4gIGFyYml0cnVtLFxuICBhcmJpdHJ1bUdvZXJsaSxcbiAgYXJiaXRydW1Ob3ZhLFxuICBhdXJvcmEsXG4gIGF1cm9yYVRlc3RuZXQsXG4gIGF2YWxhbmNoZSxcbiAgYXZhbGFuY2hlRnVqaSxcbiAgYmFzZUdvZXJsaSxcbiAgYmVhck5ldHdvcmtDaGFpbk1haW5uZXQsXG4gIGJlYXJOZXR3b3JrQ2hhaW5UZXN0bmV0LFxuICBib2JhLFxuICBicm9ub3MsXG4gIGJyb25vc1Rlc3RuZXQsXG4gIGJzYyxcbiAgYnNjVGVzdG5ldCxcbiAgY2FudG8sXG4gIGNlbG8sXG4gIGNlbG9BbGZham9yZXMsXG4gIGNlbG9DYW5ub2xpLFxuICBjb25mbHV4RVNwYWNlLFxuICBjcm9ub3MsXG4gIGNyb25vc1Rlc3RuZXQsXG4gIGNyb3NzYmVsbCxcbiAgZGZrLFxuICBkb2dlY2hhaW4sXG4gIGVkZ2V3YXJlLFxuICBlZGdld2FyZVRlc3RuZXQsXG4gIGVrdGEsXG4gIGVrdGFUZXN0bmV0LFxuICBldm1vcyxcbiAgZXZtb3NUZXN0bmV0LFxuICBmYW50b20sXG4gIGZhbnRvbVRlc3RuZXQsXG4gIGZpYm8sXG4gIGZpbGVjb2luLFxuICBmaWxlY29pbkNhbGlicmF0aW9uLFxuICBmaWxlY29pbkh5cGVyc3BhY2UsXG4gIGZsYXJlLFxuICBmbGFyZVRlc3RuZXQsXG4gIGZvdW5kcnksXG4gIGZ1c2UsXG4gIGdub3NpcyxcbiAgZ25vc2lzQ2hpYWRvLFxuICBnb2VybGksXG4gIGhhcXFNYWlubmV0LFxuICBoYXFxVGVzdGVkZ2UyLFxuICBoYXJkaGF0LFxuICBoYXJtb255T25lLFxuICBpb3RleCxcbiAgaW90ZXhUZXN0bmV0LFxuICBrbGF5dG4sXG4gIGxpbmVhVGVzdG5ldCxcbiAgbG9jYWxob3N0LFxuICBtYWlubmV0LFxuICBtZXRpcyxcbiAgbWV0aXNHb2VybGksXG4gIG1vb25iYXNlQWxwaGEsXG4gIG1vb25iZWFtLFxuICBtb29ucml2ZXIsXG4gIG5lb25EZXZuZXQsXG4gIG5leGksXG4gIG9hc3lzLFxuICBva2MsXG4gIG9wdGltaXNtLFxuICBvcHRpbWlzbUdvZXJsaSxcbiAgcG9seWdvbixcbiAgcG9seWdvbk11bWJhaSxcbiAgcG9seWdvblprRXZtLFxuICBwb2x5Z29uWmtFdm1UZXN0bmV0LFxuICBwdWxzZWNoYWluLFxuICBwdWxzZWNoYWluVjQsXG4gIHNjcm9sbFRlc3RuZXQsXG4gIHNlcG9saWEsXG4gIHNoYXJkZXVtU3BoaW54LFxuICBza2FsZUJsb2NrQnJhd2xlcnMsXG4gIHNrYWxlQ2FseXBzbyxcbiAgc2thbGVDYWx5cHNvVGVzdG5ldCxcbiAgc2thbGVDaGFvc1Rlc3RuZXQsXG4gIHNrYWxlQ3J5cHRvQmxhZGVzLFxuICBza2FsZUNyeXB0b0NvbG9zc2V1bSxcbiAgc2thbGVFdXJvcGEsXG4gIHNrYWxlRXVyb3BhVGVzdG5ldCxcbiAgc2thbGVFeG9yZGUsXG4gIHNrYWxlSHVtYW5Qcm90b2NvbCxcbiAgc2thbGVOZWJ1bGEsXG4gIHNrYWxlTmVidWxhVGVzdG5ldCxcbiAgc2thbGVSYXpvcixcbiAgc2thbGVUaXRhbixcbiAgc2thbGVUaXRhblRlc3RuZXQsXG4gIHNvbmdiaXJkLFxuICBzb25nYmlyZFRlc3RuZXQsXG4gIHN5c2NvaW4sXG4gIHRhcmF4YSxcbiAgdGFyYXhhVGVzdG5ldCxcbiAgdGVsb3MsXG4gIHRlbG9zVGVzdG5ldCxcbiAgdGh1bmRlclRlc3RuZXQsXG4gIHdhbmNoYWluLFxuICB3YW5jaGFpblRlc3RuZXQsXG4gIHhkYyxcbiAgeGRjVGVzdG5ldCxcbiAgemhlamlhbmcsXG4gIHprU3luYyxcbiAgemtTeW5jVGVzdG5ldCxcbiAgem9yYSxcbiAgem9yYVRlc3RuZXRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/chains/dist/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/chains.js": -/*!*************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/chains.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arbitrum: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.arbitrum; },\n/* harmony export */ arbitrumGoerli: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.arbitrumGoerli; },\n/* harmony export */ arbitrumNova: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.arbitrumNova; },\n/* harmony export */ aurora: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.aurora; },\n/* harmony export */ auroraTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.auroraTestnet; },\n/* harmony export */ avalanche: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.avalanche; },\n/* harmony export */ avalancheFuji: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.avalancheFuji; },\n/* harmony export */ base: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.base; },\n/* harmony export */ baseGoerli: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.baseGoerli; },\n/* harmony export */ boba: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.boba; },\n/* harmony export */ bronos: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.bronos; },\n/* harmony export */ bronosTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.bronosTestnet; },\n/* harmony export */ bsc: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.bsc; },\n/* harmony export */ bscTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.bscTestnet; },\n/* harmony export */ bxn: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.bxn; },\n/* harmony export */ bxnTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.bxnTestnet; },\n/* harmony export */ canto: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.canto; },\n/* harmony export */ celo: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.celo; },\n/* harmony export */ celoAlfajores: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.celoAlfajores; },\n/* harmony export */ celoCannoli: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.celoCannoli; },\n/* harmony export */ classic: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.classic; },\n/* harmony export */ cronos: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.cronos; },\n/* harmony export */ cronosTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.cronosTestnet; },\n/* harmony export */ crossbell: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.crossbell; },\n/* harmony export */ dfk: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.dfk; },\n/* harmony export */ dogechain: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.dogechain; },\n/* harmony export */ edgeware: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.edgeware; },\n/* harmony export */ edgewareTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.edgewareTestnet; },\n/* harmony export */ ekta: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.ekta; },\n/* harmony export */ ektaTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.ektaTestnet; },\n/* harmony export */ eos: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.eos; },\n/* harmony export */ eosTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.eosTestnet; },\n/* harmony export */ evmos: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.evmos; },\n/* harmony export */ evmosTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.evmosTestnet; },\n/* harmony export */ fantom: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.fantom; },\n/* harmony export */ fantomTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.fantomTestnet; },\n/* harmony export */ fibo: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.fibo; },\n/* harmony export */ filecoin: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.filecoin; },\n/* harmony export */ filecoinCalibration: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.filecoinCalibration; },\n/* harmony export */ filecoinHyperspace: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.filecoinHyperspace; },\n/* harmony export */ flare: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.flare; },\n/* harmony export */ flareTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.flareTestnet; },\n/* harmony export */ foundry: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.foundry; },\n/* harmony export */ fuse: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.fuse; },\n/* harmony export */ fuseSparknet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.fuseSparknet; },\n/* harmony export */ gnosis: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.gnosis; },\n/* harmony export */ gnosisChiado: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.gnosisChiado; },\n/* harmony export */ gobi: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.gobi; },\n/* harmony export */ goerli: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.goerli; },\n/* harmony export */ haqqMainnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.haqqMainnet; },\n/* harmony export */ haqqTestedge2: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.haqqTestedge2; },\n/* harmony export */ hardhat: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.hardhat; },\n/* harmony export */ harmonyOne: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.harmonyOne; },\n/* harmony export */ iotex: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.iotex; },\n/* harmony export */ iotexTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.iotexTestnet; },\n/* harmony export */ klaytn: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.klaytn; },\n/* harmony export */ linea: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.linea; },\n/* harmony export */ lineaTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.lineaTestnet; },\n/* harmony export */ localhost: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.localhost; },\n/* harmony export */ mainnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.mainnet; },\n/* harmony export */ mantle: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.mantle; },\n/* harmony export */ mantleTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.mantleTestnet; },\n/* harmony export */ metis: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.metis; },\n/* harmony export */ metisGoerli: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.metisGoerli; },\n/* harmony export */ mev: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.mev; },\n/* harmony export */ mevTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.mevTestnet; },\n/* harmony export */ modeTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.modeTestnet; },\n/* harmony export */ moonbaseAlpha: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.moonbaseAlpha; },\n/* harmony export */ moonbeam: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.moonbeam; },\n/* harmony export */ moonriver: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.moonriver; },\n/* harmony export */ neonDevnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.neonDevnet; },\n/* harmony export */ nexi: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.nexi; },\n/* harmony export */ nexilix: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.nexilix; },\n/* harmony export */ oasys: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.oasys; },\n/* harmony export */ okc: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.okc; },\n/* harmony export */ optimism: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.optimism; },\n/* harmony export */ optimismGoerli: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.optimismGoerli; },\n/* harmony export */ polygon: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.polygon; },\n/* harmony export */ polygonMumbai: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.polygonMumbai; },\n/* harmony export */ polygonZkEvm: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.polygonZkEvm; },\n/* harmony export */ polygonZkEvmTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.polygonZkEvmTestnet; },\n/* harmony export */ pulsechain: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.pulsechain; },\n/* harmony export */ pulsechainV4: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.pulsechainV4; },\n/* harmony export */ qMainnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.qMainnet; },\n/* harmony export */ qTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.qTestnet; },\n/* harmony export */ rollux: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.rollux; },\n/* harmony export */ rolluxTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.rolluxTestnet; },\n/* harmony export */ ronin: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.ronin; },\n/* harmony export */ saigon: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.saigon; },\n/* harmony export */ scrollSepolia: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.scrollSepolia; },\n/* harmony export */ scrollTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.scrollTestnet; },\n/* harmony export */ sepolia: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.sepolia; },\n/* harmony export */ shardeumSphinx: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.shardeumSphinx; },\n/* harmony export */ skaleBlockBrawlers: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleBlockBrawlers; },\n/* harmony export */ skaleCalypso: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleCalypso; },\n/* harmony export */ skaleCalypsoTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleCalypsoTestnet; },\n/* harmony export */ skaleChaosTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleChaosTestnet; },\n/* harmony export */ skaleCryptoBlades: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleCryptoBlades; },\n/* harmony export */ skaleCryptoColosseum: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleCryptoColosseum; },\n/* harmony export */ skaleEuropa: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleEuropa; },\n/* harmony export */ skaleEuropaTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleEuropaTestnet; },\n/* harmony export */ skaleExorde: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleExorde; },\n/* harmony export */ skaleHumanProtocol: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleHumanProtocol; },\n/* harmony export */ skaleNebula: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleNebula; },\n/* harmony export */ skaleNebulaTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleNebulaTestnet; },\n/* harmony export */ skaleRazor: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleRazor; },\n/* harmony export */ skaleTitan: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleTitan; },\n/* harmony export */ skaleTitanTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.skaleTitanTestnet; },\n/* harmony export */ songbird: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.songbird; },\n/* harmony export */ songbirdTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.songbirdTestnet; },\n/* harmony export */ syscoin: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.syscoin; },\n/* harmony export */ syscoinTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.syscoinTestnet; },\n/* harmony export */ taikoTestnetSepolia: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.taikoTestnetSepolia; },\n/* harmony export */ taraxa: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.taraxa; },\n/* harmony export */ taraxaTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.taraxaTestnet; },\n/* harmony export */ telos: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.telos; },\n/* harmony export */ telosTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.telosTestnet; },\n/* harmony export */ thunderTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.thunderTestnet; },\n/* harmony export */ wanchain: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.wanchain; },\n/* harmony export */ wanchainTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.wanchainTestnet; },\n/* harmony export */ xdc: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.xdc; },\n/* harmony export */ xdcTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.xdcTestnet; },\n/* harmony export */ zetachainAthensTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.zetachainAthensTestnet; },\n/* harmony export */ zhejiang: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.zhejiang; },\n/* harmony export */ zkSync: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.zkSync; },\n/* harmony export */ zkSyncTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.zkSyncTestnet; },\n/* harmony export */ zora: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.zora; },\n/* harmony export */ zoraTestnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__.zoraTestnet; }\n/* harmony export */ });\n/* harmony import */ var _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-GUCHKZEA.js */ \"./node_modules/@wagmi/core/dist/chunk-GUCHKZEA.js\");\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaGFpbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUk2QjtBQUNBO0FBa0kzQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaGFpbnMuanM/NDAwOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhcmJpdHJ1bSxcbiAgYXJiaXRydW1Hb2VybGksXG4gIGFyYml0cnVtTm92YSxcbiAgYXVyb3JhLFxuICBhdXJvcmFUZXN0bmV0LFxuICBhdmFsYW5jaGUsXG4gIGF2YWxhbmNoZUZ1amksXG4gIGJhc2UsXG4gIGJhc2VHb2VybGksXG4gIGJvYmEsXG4gIGJyb25vcyxcbiAgYnJvbm9zVGVzdG5ldCxcbiAgYnNjLFxuICBic2NUZXN0bmV0LFxuICBieG4sXG4gIGJ4blRlc3RuZXQsXG4gIGNhbnRvLFxuICBjZWxvLFxuICBjZWxvQWxmYWpvcmVzLFxuICBjZWxvQ2Fubm9saSxcbiAgY2xhc3NpYyxcbiAgY3Jvbm9zLFxuICBjcm9ub3NUZXN0bmV0LFxuICBjcm9zc2JlbGwsXG4gIGRmayxcbiAgZG9nZWNoYWluLFxuICBlZGdld2FyZSxcbiAgZWRnZXdhcmVUZXN0bmV0LFxuICBla3RhLFxuICBla3RhVGVzdG5ldCxcbiAgZW9zLFxuICBlb3NUZXN0bmV0LFxuICBldm1vcyxcbiAgZXZtb3NUZXN0bmV0LFxuICBmYW50b20sXG4gIGZhbnRvbVRlc3RuZXQsXG4gIGZpYm8sXG4gIGZpbGVjb2luLFxuICBmaWxlY29pbkNhbGlicmF0aW9uLFxuICBmaWxlY29pbkh5cGVyc3BhY2UsXG4gIGZsYXJlLFxuICBmbGFyZVRlc3RuZXQsXG4gIGZvdW5kcnksXG4gIGZ1c2UsXG4gIGZ1c2VTcGFya25ldCxcbiAgZ25vc2lzLFxuICBnbm9zaXNDaGlhZG8sXG4gIGdvYmksXG4gIGdvZXJsaSxcbiAgaGFxcU1haW5uZXQsXG4gIGhhcXFUZXN0ZWRnZTIsXG4gIGhhcmRoYXQsXG4gIGhhcm1vbnlPbmUsXG4gIGlvdGV4LFxuICBpb3RleFRlc3RuZXQsXG4gIGtsYXl0bixcbiAgbGluZWEsXG4gIGxpbmVhVGVzdG5ldCxcbiAgbG9jYWxob3N0LFxuICBtYWlubmV0LFxuICBtYW50bGUsXG4gIG1hbnRsZVRlc3RuZXQsXG4gIG1ldGlzLFxuICBtZXRpc0dvZXJsaSxcbiAgbWV2LFxuICBtZXZUZXN0bmV0LFxuICBtb2RlVGVzdG5ldCxcbiAgbW9vbmJhc2VBbHBoYSxcbiAgbW9vbmJlYW0sXG4gIG1vb25yaXZlcixcbiAgbmVvbkRldm5ldCxcbiAgbmV4aSxcbiAgbmV4aWxpeCxcbiAgb2FzeXMsXG4gIG9rYyxcbiAgb3B0aW1pc20sXG4gIG9wdGltaXNtR29lcmxpLFxuICBwb2x5Z29uLFxuICBwb2x5Z29uTXVtYmFpLFxuICBwb2x5Z29uWmtFdm0sXG4gIHBvbHlnb25aa0V2bVRlc3RuZXQsXG4gIHB1bHNlY2hhaW4sXG4gIHB1bHNlY2hhaW5WNCxcbiAgcU1haW5uZXQsXG4gIHFUZXN0bmV0LFxuICByb2xsdXgsXG4gIHJvbGx1eFRlc3RuZXQsXG4gIHJvbmluLFxuICBzYWlnb24sXG4gIHNjcm9sbFNlcG9saWEsXG4gIHNjcm9sbFRlc3RuZXQsXG4gIHNlcG9saWEsXG4gIHNoYXJkZXVtU3BoaW54LFxuICBza2FsZUJsb2NrQnJhd2xlcnMsXG4gIHNrYWxlQ2FseXBzbyxcbiAgc2thbGVDYWx5cHNvVGVzdG5ldCxcbiAgc2thbGVDaGFvc1Rlc3RuZXQsXG4gIHNrYWxlQ3J5cHRvQmxhZGVzLFxuICBza2FsZUNyeXB0b0NvbG9zc2V1bSxcbiAgc2thbGVFdXJvcGEsXG4gIHNrYWxlRXVyb3BhVGVzdG5ldCxcbiAgc2thbGVFeG9yZGUsXG4gIHNrYWxlSHVtYW5Qcm90b2NvbCxcbiAgc2thbGVOZWJ1bGEsXG4gIHNrYWxlTmVidWxhVGVzdG5ldCxcbiAgc2thbGVSYXpvcixcbiAgc2thbGVUaXRhbixcbiAgc2thbGVUaXRhblRlc3RuZXQsXG4gIHNvbmdiaXJkLFxuICBzb25nYmlyZFRlc3RuZXQsXG4gIHN5c2NvaW4sXG4gIHN5c2NvaW5UZXN0bmV0LFxuICB0YWlrb1Rlc3RuZXRTZXBvbGlhLFxuICB0YXJheGEsXG4gIHRhcmF4YVRlc3RuZXQsXG4gIHRlbG9zLFxuICB0ZWxvc1Rlc3RuZXQsXG4gIHRodW5kZXJUZXN0bmV0LFxuICB3YW5jaGFpbixcbiAgd2FuY2hhaW5UZXN0bmV0LFxuICB4ZGMsXG4gIHhkY1Rlc3RuZXQsXG4gIHpldGFjaGFpbkF0aGVuc1Rlc3RuZXQsXG4gIHpoZWppYW5nLFxuICB6a1N5bmMsXG4gIHprU3luY1Rlc3RuZXQsXG4gIHpvcmEsXG4gIHpvcmFUZXN0bmV0XG59IGZyb20gXCIuL2NodW5rLUdVQ0hLWkVBLmpzXCI7XG5pbXBvcnQgXCIuL2NodW5rLU1RWEJEVFZLLmpzXCI7XG5leHBvcnQge1xuICBhcmJpdHJ1bSxcbiAgYXJiaXRydW1Hb2VybGksXG4gIGFyYml0cnVtTm92YSxcbiAgYXVyb3JhLFxuICBhdXJvcmFUZXN0bmV0LFxuICBhdmFsYW5jaGUsXG4gIGF2YWxhbmNoZUZ1amksXG4gIGJhc2UsXG4gIGJhc2VHb2VybGksXG4gIGJvYmEsXG4gIGJyb25vcyxcbiAgYnJvbm9zVGVzdG5ldCxcbiAgYnNjLFxuICBic2NUZXN0bmV0LFxuICBieG4sXG4gIGJ4blRlc3RuZXQsXG4gIGNhbnRvLFxuICBjZWxvLFxuICBjZWxvQWxmYWpvcmVzLFxuICBjZWxvQ2Fubm9saSxcbiAgY2xhc3NpYyxcbiAgY3Jvbm9zLFxuICBjcm9ub3NUZXN0bmV0LFxuICBjcm9zc2JlbGwsXG4gIGRmayxcbiAgZG9nZWNoYWluLFxuICBlZGdld2FyZSxcbiAgZWRnZXdhcmVUZXN0bmV0LFxuICBla3RhLFxuICBla3RhVGVzdG5ldCxcbiAgZW9zLFxuICBlb3NUZXN0bmV0LFxuICBldm1vcyxcbiAgZXZtb3NUZXN0bmV0LFxuICBmYW50b20sXG4gIGZhbnRvbVRlc3RuZXQsXG4gIGZpYm8sXG4gIGZpbGVjb2luLFxuICBmaWxlY29pbkNhbGlicmF0aW9uLFxuICBmaWxlY29pbkh5cGVyc3BhY2UsXG4gIGZsYXJlLFxuICBmbGFyZVRlc3RuZXQsXG4gIGZvdW5kcnksXG4gIGZ1c2UsXG4gIGZ1c2VTcGFya25ldCxcbiAgZ25vc2lzLFxuICBnbm9zaXNDaGlhZG8sXG4gIGdvYmksXG4gIGdvZXJsaSxcbiAgaGFxcU1haW5uZXQsXG4gIGhhcXFUZXN0ZWRnZTIsXG4gIGhhcmRoYXQsXG4gIGhhcm1vbnlPbmUsXG4gIGlvdGV4LFxuICBpb3RleFRlc3RuZXQsXG4gIGtsYXl0bixcbiAgbGluZWEsXG4gIGxpbmVhVGVzdG5ldCxcbiAgbG9jYWxob3N0LFxuICBtYWlubmV0LFxuICBtYW50bGUsXG4gIG1hbnRsZVRlc3RuZXQsXG4gIG1ldGlzLFxuICBtZXRpc0dvZXJsaSxcbiAgbWV2LFxuICBtZXZUZXN0bmV0LFxuICBtb2RlVGVzdG5ldCxcbiAgbW9vbmJhc2VBbHBoYSxcbiAgbW9vbmJlYW0sXG4gIG1vb25yaXZlcixcbiAgbmVvbkRldm5ldCxcbiAgbmV4aSxcbiAgbmV4aWxpeCxcbiAgb2FzeXMsXG4gIG9rYyxcbiAgb3B0aW1pc20sXG4gIG9wdGltaXNtR29lcmxpLFxuICBwb2x5Z29uLFxuICBwb2x5Z29uTXVtYmFpLFxuICBwb2x5Z29uWmtFdm0sXG4gIHBvbHlnb25aa0V2bVRlc3RuZXQsXG4gIHB1bHNlY2hhaW4sXG4gIHB1bHNlY2hhaW5WNCxcbiAgcU1haW5uZXQsXG4gIHFUZXN0bmV0LFxuICByb2xsdXgsXG4gIHJvbGx1eFRlc3RuZXQsXG4gIHJvbmluLFxuICBzYWlnb24sXG4gIHNjcm9sbFNlcG9saWEsXG4gIHNjcm9sbFRlc3RuZXQsXG4gIHNlcG9saWEsXG4gIHNoYXJkZXVtU3BoaW54LFxuICBza2FsZUJsb2NrQnJhd2xlcnMsXG4gIHNrYWxlQ2FseXBzbyxcbiAgc2thbGVDYWx5cHNvVGVzdG5ldCxcbiAgc2thbGVDaGFvc1Rlc3RuZXQsXG4gIHNrYWxlQ3J5cHRvQmxhZGVzLFxuICBza2FsZUNyeXB0b0NvbG9zc2V1bSxcbiAgc2thbGVFdXJvcGEsXG4gIHNrYWxlRXVyb3BhVGVzdG5ldCxcbiAgc2thbGVFeG9yZGUsXG4gIHNrYWxlSHVtYW5Qcm90b2NvbCxcbiAgc2thbGVOZWJ1bGEsXG4gIHNrYWxlTmVidWxhVGVzdG5ldCxcbiAgc2thbGVSYXpvcixcbiAgc2thbGVUaXRhbixcbiAgc2thbGVUaXRhblRlc3RuZXQsXG4gIHNvbmdiaXJkLFxuICBzb25nYmlyZFRlc3RuZXQsXG4gIHN5c2NvaW4sXG4gIHN5c2NvaW5UZXN0bmV0LFxuICB0YWlrb1Rlc3RuZXRTZXBvbGlhLFxuICB0YXJheGEsXG4gIHRhcmF4YVRlc3RuZXQsXG4gIHRlbG9zLFxuICB0ZWxvc1Rlc3RuZXQsXG4gIHRodW5kZXJUZXN0bmV0LFxuICB3YW5jaGFpbixcbiAgd2FuY2hhaW5UZXN0bmV0LFxuICB4ZGMsXG4gIHhkY1Rlc3RuZXQsXG4gIHpldGFjaGFpbkF0aGVuc1Rlc3RuZXQsXG4gIHpoZWppYW5nLFxuICB6a1N5bmMsXG4gIHprU3luY1Rlc3RuZXQsXG4gIHpvcmEsXG4gIHpvcmFUZXN0bmV0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/chains.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/chunk-BVC4KGLQ.js": -/*!*********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/chunk-BVC4KGLQ.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Connector: function() { return /* reexport safe */ _wagmi_connectors__WEBPACK_IMPORTED_MODULE_0__.Connector; },\n/* harmony export */ InjectedConnector: function() { return /* reexport safe */ _wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_1__.InjectedConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/index.js\");\n/* harmony import */ var _wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wagmi/connectors/injected */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/injected.js\");\n// src/connectors/index.ts\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1CVkM0S0dMUS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDOEM7QUFDaUI7O0FBSzdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9kaXN0L2NodW5rLUJWQzRLR0xRLmpzPzIxZTQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2Nvbm5lY3RvcnMvaW5kZXgudHNcbmltcG9ydCB7IENvbm5lY3RvciB9IGZyb20gXCJAd2FnbWkvY29ubmVjdG9yc1wiO1xuaW1wb3J0IHsgSW5qZWN0ZWRDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2Nvbm5lY3RvcnMvaW5qZWN0ZWRcIjtcblxuZXhwb3J0IHtcbiAgQ29ubmVjdG9yLFxuICBJbmplY3RlZENvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/chunk-BVC4KGLQ.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/chunk-EQOEZP46.js": -/*!*********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/chunk-EQOEZP46.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InjectedConnector: function() { return /* reexport safe */ _wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_0__.InjectedConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors_injected__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors/injected */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/injected.js\");\n// src/connectors/injected.ts\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1FUU9FWlA0Ni5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQytEOztBQUk3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1FUU9FWlA0Ni5qcz84Mjg2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9jb25uZWN0b3JzL2luamVjdGVkLnRzXG5pbXBvcnQgeyBJbmplY3RlZENvbm5lY3RvciB9IGZyb20gXCJAd2FnbWkvY29ubmVjdG9ycy9pbmplY3RlZFwiO1xuXG5leHBvcnQge1xuICBJbmplY3RlZENvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/chunk-EQOEZP46.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/chunk-GUCHKZEA.js": -/*!*********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/chunk-GUCHKZEA.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arbitrum: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.arbitrum; },\n/* harmony export */ arbitrumGoerli: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.arbitrumGoerli; },\n/* harmony export */ arbitrumNova: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.arbitrumNova; },\n/* harmony export */ aurora: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.aurora; },\n/* harmony export */ auroraTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.auroraTestnet; },\n/* harmony export */ avalanche: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.avalanche; },\n/* harmony export */ avalancheFuji: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.avalancheFuji; },\n/* harmony export */ base: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.base; },\n/* harmony export */ baseGoerli: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.baseGoerli; },\n/* harmony export */ boba: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.boba; },\n/* harmony export */ bronos: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.bronos; },\n/* harmony export */ bronosTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.bronosTestnet; },\n/* harmony export */ bsc: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.bsc; },\n/* harmony export */ bscTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.bscTestnet; },\n/* harmony export */ bxn: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.bxn; },\n/* harmony export */ bxnTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.bxnTestnet; },\n/* harmony export */ canto: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.canto; },\n/* harmony export */ celo: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.celo; },\n/* harmony export */ celoAlfajores: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.celoAlfajores; },\n/* harmony export */ celoCannoli: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.celoCannoli; },\n/* harmony export */ classic: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.classic; },\n/* harmony export */ cronos: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.cronos; },\n/* harmony export */ cronosTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.cronosTestnet; },\n/* harmony export */ crossbell: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.crossbell; },\n/* harmony export */ dfk: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.dfk; },\n/* harmony export */ dogechain: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.dogechain; },\n/* harmony export */ edgeware: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.edgeware; },\n/* harmony export */ edgewareTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.edgewareTestnet; },\n/* harmony export */ ekta: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.ekta; },\n/* harmony export */ ektaTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.ektaTestnet; },\n/* harmony export */ eos: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.eos; },\n/* harmony export */ eosTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.eosTestnet; },\n/* harmony export */ evmos: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.evmos; },\n/* harmony export */ evmosTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.evmosTestnet; },\n/* harmony export */ fantom: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.fantom; },\n/* harmony export */ fantomTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.fantomTestnet; },\n/* harmony export */ fibo: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.fibo; },\n/* harmony export */ filecoin: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.filecoin; },\n/* harmony export */ filecoinCalibration: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.filecoinCalibration; },\n/* harmony export */ filecoinHyperspace: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.filecoinHyperspace; },\n/* harmony export */ flare: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.flare; },\n/* harmony export */ flareTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.flareTestnet; },\n/* harmony export */ foundry: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.foundry; },\n/* harmony export */ fuse: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.fuse; },\n/* harmony export */ fuseSparknet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.fuseSparknet; },\n/* harmony export */ gnosis: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.gnosis; },\n/* harmony export */ gnosisChiado: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.gnosisChiado; },\n/* harmony export */ gobi: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.gobi; },\n/* harmony export */ goerli: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.goerli; },\n/* harmony export */ haqqMainnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.haqqMainnet; },\n/* harmony export */ haqqTestedge2: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.haqqTestedge2; },\n/* harmony export */ hardhat: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.hardhat; },\n/* harmony export */ harmonyOne: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.harmonyOne; },\n/* harmony export */ iotex: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.iotex; },\n/* harmony export */ iotexTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.iotexTestnet; },\n/* harmony export */ klaytn: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.klaytn; },\n/* harmony export */ linea: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.linea; },\n/* harmony export */ lineaTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.lineaTestnet; },\n/* harmony export */ localhost: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.localhost; },\n/* harmony export */ mainnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.mainnet; },\n/* harmony export */ mantle: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.mantle; },\n/* harmony export */ mantleTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.mantleTestnet; },\n/* harmony export */ metis: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.metis; },\n/* harmony export */ metisGoerli: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.metisGoerli; },\n/* harmony export */ mev: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.mev; },\n/* harmony export */ mevTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.mevTestnet; },\n/* harmony export */ modeTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.modeTestnet; },\n/* harmony export */ moonbaseAlpha: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.moonbaseAlpha; },\n/* harmony export */ moonbeam: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.moonbeam; },\n/* harmony export */ moonriver: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.moonriver; },\n/* harmony export */ neonDevnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.neonDevnet; },\n/* harmony export */ nexi: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.nexi; },\n/* harmony export */ nexilix: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.nexilix; },\n/* harmony export */ oasys: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.oasys; },\n/* harmony export */ okc: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.okc; },\n/* harmony export */ optimism: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.optimism; },\n/* harmony export */ optimismGoerli: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.optimismGoerli; },\n/* harmony export */ polygon: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.polygon; },\n/* harmony export */ polygonMumbai: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.polygonMumbai; },\n/* harmony export */ polygonZkEvm: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.polygonZkEvm; },\n/* harmony export */ polygonZkEvmTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.polygonZkEvmTestnet; },\n/* harmony export */ pulsechain: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.pulsechain; },\n/* harmony export */ pulsechainV4: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.pulsechainV4; },\n/* harmony export */ qMainnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.qMainnet; },\n/* harmony export */ qTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.qTestnet; },\n/* harmony export */ rollux: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.rollux; },\n/* harmony export */ rolluxTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.rolluxTestnet; },\n/* harmony export */ ronin: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.ronin; },\n/* harmony export */ saigon: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.saigon; },\n/* harmony export */ scrollSepolia: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.scrollSepolia; },\n/* harmony export */ scrollTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.scrollTestnet; },\n/* harmony export */ sepolia: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.sepolia; },\n/* harmony export */ shardeumSphinx: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.shardeumSphinx; },\n/* harmony export */ skaleBlockBrawlers: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleBlockBrawlers; },\n/* harmony export */ skaleCalypso: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCalypso; },\n/* harmony export */ skaleCalypsoTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCalypsoTestnet; },\n/* harmony export */ skaleChaosTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleChaosTestnet; },\n/* harmony export */ skaleCryptoBlades: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCryptoBlades; },\n/* harmony export */ skaleCryptoColosseum: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCryptoColosseum; },\n/* harmony export */ skaleEuropa: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleEuropa; },\n/* harmony export */ skaleEuropaTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleEuropaTestnet; },\n/* harmony export */ skaleExorde: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleExorde; },\n/* harmony export */ skaleHumanProtocol: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleHumanProtocol; },\n/* harmony export */ skaleNebula: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleNebula; },\n/* harmony export */ skaleNebulaTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleNebulaTestnet; },\n/* harmony export */ skaleRazor: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleRazor; },\n/* harmony export */ skaleTitan: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleTitan; },\n/* harmony export */ skaleTitanTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.skaleTitanTestnet; },\n/* harmony export */ songbird: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.songbird; },\n/* harmony export */ songbirdTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.songbirdTestnet; },\n/* harmony export */ syscoin: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.syscoin; },\n/* harmony export */ syscoinTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.syscoinTestnet; },\n/* harmony export */ taikoTestnetSepolia: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.taikoTestnetSepolia; },\n/* harmony export */ taraxa: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.taraxa; },\n/* harmony export */ taraxaTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.taraxaTestnet; },\n/* harmony export */ telos: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.telos; },\n/* harmony export */ telosTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.telosTestnet; },\n/* harmony export */ thunderTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.thunderTestnet; },\n/* harmony export */ wanchain: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.wanchain; },\n/* harmony export */ wanchainTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.wanchainTestnet; },\n/* harmony export */ xdc: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.xdc; },\n/* harmony export */ xdcTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.xdcTestnet; },\n/* harmony export */ zetachainAthensTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.zetachainAthensTestnet; },\n/* harmony export */ zhejiang: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.zhejiang; },\n/* harmony export */ zkSync: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.zkSync; },\n/* harmony export */ zkSyncTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.zkSyncTestnet; },\n/* harmony export */ zora: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.zora; },\n/* harmony export */ zoraTestnet: function() { return /* reexport safe */ _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__.zoraTestnet; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_chains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/chains */ \"./node_modules/@wagmi/core/node_modules/@wagmi/chains/dist/index.mjs\");\n// src/chains.ts\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1HVUNIS1pFQS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQWtJdUI7O0FBbUlyQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1HVUNIS1pFQS5qcz8yZDk4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9jaGFpbnMudHNcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBhcmJpdHJ1bUdvZXJsaSxcbiAgYXJiaXRydW1Ob3ZhLFxuICBhdXJvcmEsXG4gIGF1cm9yYVRlc3RuZXQsXG4gIGF2YWxhbmNoZSxcbiAgYXZhbGFuY2hlRnVqaSxcbiAgYmFzZSxcbiAgYmFzZUdvZXJsaSxcbiAgYm9iYSxcbiAgYnJvbm9zLFxuICBicm9ub3NUZXN0bmV0LFxuICBic2MsXG4gIGJzY1Rlc3RuZXQsXG4gIGJ4bixcbiAgYnhuVGVzdG5ldCxcbiAgY2FudG8sXG4gIGNlbG8sXG4gIGNlbG9BbGZham9yZXMsXG4gIGNlbG9DYW5ub2xpLFxuICBjbGFzc2ljLFxuICBjcm9ub3MsXG4gIGNyb25vc1Rlc3RuZXQsXG4gIGNyb3NzYmVsbCxcbiAgZGZrLFxuICBkb2dlY2hhaW4sXG4gIGVkZ2V3YXJlLFxuICBlZGdld2FyZVRlc3RuZXQsXG4gIGVvcyxcbiAgZW9zVGVzdG5ldCxcbiAgZWt0YSxcbiAgZWt0YVRlc3RuZXQsXG4gIGV2bW9zLFxuICBldm1vc1Rlc3RuZXQsXG4gIGZhbnRvbSxcbiAgZmFudG9tVGVzdG5ldCxcbiAgZmlibyxcbiAgZmlsZWNvaW4sXG4gIGZpbGVjb2luQ2FsaWJyYXRpb24sXG4gIGZpbGVjb2luSHlwZXJzcGFjZSxcbiAgZmxhcmUsXG4gIGZsYXJlVGVzdG5ldCxcbiAgZm91bmRyeSxcbiAgZnVzZSxcbiAgZnVzZVNwYXJrbmV0LFxuICBnb2JpLFxuICBnb2VybGksXG4gIGdub3NpcyxcbiAgZ25vc2lzQ2hpYWRvLFxuICBoYXFxTWFpbm5ldCxcbiAgaGFxcVRlc3RlZGdlMixcbiAgaGFyZGhhdCxcbiAgaGFybW9ueU9uZSxcbiAgaW90ZXgsXG4gIGlvdGV4VGVzdG5ldCxcbiAga2xheXRuLFxuICBsaW5lYSxcbiAgbGluZWFUZXN0bmV0LFxuICBsb2NhbGhvc3QsXG4gIG1haW5uZXQsXG4gIG1hbnRsZSxcbiAgbWFudGxlVGVzdG5ldCxcbiAgbWV0aXMsXG4gIG1ldGlzR29lcmxpLFxuICBtZXYsXG4gIG1ldlRlc3RuZXQsXG4gIG1vZGVUZXN0bmV0LFxuICBtb29uYmFzZUFscGhhLFxuICBtb29uYmVhbSxcbiAgbW9vbnJpdmVyLFxuICBuZW9uRGV2bmV0LFxuICBuZXhpbGl4LFxuICBuZXhpLFxuICBvYXN5cyxcbiAgb2tjLFxuICBvcHRpbWlzbSxcbiAgb3B0aW1pc21Hb2VybGksXG4gIHBvbHlnb24sXG4gIHBvbHlnb25NdW1iYWksXG4gIHBvbHlnb25aa0V2bSxcbiAgcG9seWdvblprRXZtVGVzdG5ldCxcbiAgcHVsc2VjaGFpbixcbiAgcHVsc2VjaGFpblY0LFxuICBxTWFpbm5ldCxcbiAgcVRlc3RuZXQsXG4gIHJvbGx1eCxcbiAgcm9sbHV4VGVzdG5ldCxcbiAgcm9uaW4sXG4gIHNhaWdvbixcbiAgc2Nyb2xsU2Vwb2xpYSxcbiAgc2Nyb2xsVGVzdG5ldCxcbiAgc2Vwb2xpYSxcbiAgc2thbGVCbG9ja0JyYXdsZXJzLFxuICBza2FsZUNhbHlwc28sXG4gIHNrYWxlQ2FseXBzb1Rlc3RuZXQsXG4gIHNrYWxlQ2hhb3NUZXN0bmV0LFxuICBza2FsZUNyeXB0b0JsYWRlcyxcbiAgc2thbGVDcnlwdG9Db2xvc3NldW0sXG4gIHNrYWxlRXVyb3BhLFxuICBza2FsZUV1cm9wYVRlc3RuZXQsXG4gIHNrYWxlRXhvcmRlLFxuICBza2FsZUh1bWFuUHJvdG9jb2wsXG4gIHNrYWxlTmVidWxhLFxuICBza2FsZU5lYnVsYVRlc3RuZXQsXG4gIHNrYWxlUmF6b3IsXG4gIHNrYWxlVGl0YW4sXG4gIHNrYWxlVGl0YW5UZXN0bmV0LFxuICBzb25nYmlyZCxcbiAgc29uZ2JpcmRUZXN0bmV0LFxuICBzaGFyZGV1bVNwaGlueCxcbiAgc3lzY29pbixcbiAgc3lzY29pblRlc3RuZXQsXG4gIHRhaWtvVGVzdG5ldFNlcG9saWEsXG4gIHRhcmF4YSxcbiAgdGFyYXhhVGVzdG5ldCxcbiAgdGVsb3MsXG4gIHRlbG9zVGVzdG5ldCxcbiAgdGh1bmRlclRlc3RuZXQsXG4gIHdhbmNoYWluLFxuICB3YW5jaGFpblRlc3RuZXQsXG4gIHhkYyxcbiAgeGRjVGVzdG5ldCxcbiAgemV0YWNoYWluQXRoZW5zVGVzdG5ldCxcbiAgemhlamlhbmcsXG4gIHprU3luYyxcbiAgemtTeW5jVGVzdG5ldCxcbiAgem9yYSxcbiAgem9yYVRlc3RuZXRcbn0gZnJvbSBcIkB3YWdtaS9jaGFpbnNcIjtcblxuZXhwb3J0IHtcbiAgYXJiaXRydW0sXG4gIGFyYml0cnVtR29lcmxpLFxuICBhcmJpdHJ1bU5vdmEsXG4gIGF1cm9yYSxcbiAgYXVyb3JhVGVzdG5ldCxcbiAgYXZhbGFuY2hlLFxuICBhdmFsYW5jaGVGdWppLFxuICBiYXNlLFxuICBiYXNlR29lcmxpLFxuICBib2JhLFxuICBicm9ub3MsXG4gIGJyb25vc1Rlc3RuZXQsXG4gIGJzYyxcbiAgYnNjVGVzdG5ldCxcbiAgYnhuLFxuICBieG5UZXN0bmV0LFxuICBjYW50byxcbiAgY2VsbyxcbiAgY2Vsb0FsZmFqb3JlcyxcbiAgY2Vsb0Nhbm5vbGksXG4gIGNsYXNzaWMsXG4gIGNyb25vcyxcbiAgY3Jvbm9zVGVzdG5ldCxcbiAgY3Jvc3NiZWxsLFxuICBkZmssXG4gIGRvZ2VjaGFpbixcbiAgZWRnZXdhcmUsXG4gIGVkZ2V3YXJlVGVzdG5ldCxcbiAgZW9zLFxuICBlb3NUZXN0bmV0LFxuICBla3RhLFxuICBla3RhVGVzdG5ldCxcbiAgZXZtb3MsXG4gIGV2bW9zVGVzdG5ldCxcbiAgZmFudG9tLFxuICBmYW50b21UZXN0bmV0LFxuICBmaWJvLFxuICBmaWxlY29pbixcbiAgZmlsZWNvaW5DYWxpYnJhdGlvbixcbiAgZmlsZWNvaW5IeXBlcnNwYWNlLFxuICBmbGFyZSxcbiAgZmxhcmVUZXN0bmV0LFxuICBmb3VuZHJ5LFxuICBmdXNlLFxuICBmdXNlU3BhcmtuZXQsXG4gIGdvYmksXG4gIGdvZXJsaSxcbiAgZ25vc2lzLFxuICBnbm9zaXNDaGlhZG8sXG4gIGhhcXFNYWlubmV0LFxuICBoYXFxVGVzdGVkZ2UyLFxuICBoYXJkaGF0LFxuICBoYXJtb255T25lLFxuICBpb3RleCxcbiAgaW90ZXhUZXN0bmV0LFxuICBrbGF5dG4sXG4gIGxpbmVhLFxuICBsaW5lYVRlc3RuZXQsXG4gIGxvY2FsaG9zdCxcbiAgbWFpbm5ldCxcbiAgbWFudGxlLFxuICBtYW50bGVUZXN0bmV0LFxuICBtZXRpcyxcbiAgbWV0aXNHb2VybGksXG4gIG1ldixcbiAgbWV2VGVzdG5ldCxcbiAgbW9kZVRlc3RuZXQsXG4gIG1vb25iYXNlQWxwaGEsXG4gIG1vb25iZWFtLFxuICBtb29ucml2ZXIsXG4gIG5lb25EZXZuZXQsXG4gIG5leGlsaXgsXG4gIG5leGksXG4gIG9hc3lzLFxuICBva2MsXG4gIG9wdGltaXNtLFxuICBvcHRpbWlzbUdvZXJsaSxcbiAgcG9seWdvbixcbiAgcG9seWdvbk11bWJhaSxcbiAgcG9seWdvblprRXZtLFxuICBwb2x5Z29uWmtFdm1UZXN0bmV0LFxuICBwdWxzZWNoYWluLFxuICBwdWxzZWNoYWluVjQsXG4gIHFNYWlubmV0LFxuICBxVGVzdG5ldCxcbiAgcm9sbHV4LFxuICByb2xsdXhUZXN0bmV0LFxuICByb25pbixcbiAgc2FpZ29uLFxuICBzY3JvbGxTZXBvbGlhLFxuICBzY3JvbGxUZXN0bmV0LFxuICBzZXBvbGlhLFxuICBza2FsZUJsb2NrQnJhd2xlcnMsXG4gIHNrYWxlQ2FseXBzbyxcbiAgc2thbGVDYWx5cHNvVGVzdG5ldCxcbiAgc2thbGVDaGFvc1Rlc3RuZXQsXG4gIHNrYWxlQ3J5cHRvQmxhZGVzLFxuICBza2FsZUNyeXB0b0NvbG9zc2V1bSxcbiAgc2thbGVFdXJvcGEsXG4gIHNrYWxlRXVyb3BhVGVzdG5ldCxcbiAgc2thbGVFeG9yZGUsXG4gIHNrYWxlSHVtYW5Qcm90b2NvbCxcbiAgc2thbGVOZWJ1bGEsXG4gIHNrYWxlTmVidWxhVGVzdG5ldCxcbiAgc2thbGVSYXpvcixcbiAgc2thbGVUaXRhbixcbiAgc2thbGVUaXRhblRlc3RuZXQsXG4gIHNvbmdiaXJkLFxuICBzb25nYmlyZFRlc3RuZXQsXG4gIHNoYXJkZXVtU3BoaW54LFxuICBzeXNjb2luLFxuICBzeXNjb2luVGVzdG5ldCxcbiAgdGFpa29UZXN0bmV0U2Vwb2xpYSxcbiAgdGFyYXhhLFxuICB0YXJheGFUZXN0bmV0LFxuICB0ZWxvcyxcbiAgdGVsb3NUZXN0bmV0LFxuICB0aHVuZGVyVGVzdG5ldCxcbiAgd2FuY2hhaW4sXG4gIHdhbmNoYWluVGVzdG5ldCxcbiAgeGRjLFxuICB4ZGNUZXN0bmV0LFxuICB6ZXRhY2hhaW5BdGhlbnNUZXN0bmV0LFxuICB6aGVqaWFuZyxcbiAgemtTeW5jLFxuICB6a1N5bmNUZXN0bmV0LFxuICB6b3JhLFxuICB6b3JhVGVzdG5ldFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/chunk-GUCHKZEA.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js": -/*!*********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainMismatchError: function() { return /* binding */ ChainMismatchError; },\n/* harmony export */ ChainNotConfiguredError: function() { return /* binding */ ChainNotConfiguredError; },\n/* harmony export */ Config: function() { return /* binding */ Config; },\n/* harmony export */ ConfigChainsNotFound: function() { return /* binding */ ConfigChainsNotFound; },\n/* harmony export */ ConnectorAlreadyConnectedError: function() { return /* binding */ ConnectorAlreadyConnectedError; },\n/* harmony export */ ConnectorNotFoundError: function() { return /* reexport safe */ _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.ConnectorNotFoundError; },\n/* harmony export */ SwitchChainNotSupportedError: function() { return /* binding */ SwitchChainNotSupportedError; },\n/* harmony export */ configureChains: function() { return /* binding */ configureChains; },\n/* harmony export */ connect: function() { return /* binding */ connect; },\n/* harmony export */ createConfig: function() { return /* binding */ createConfig; },\n/* harmony export */ createStorage: function() { return /* binding */ createStorage; },\n/* harmony export */ deepEqual: function() { return /* binding */ deepEqual; },\n/* harmony export */ deserialize: function() { return /* binding */ deserialize; },\n/* harmony export */ disconnect: function() { return /* binding */ disconnect; },\n/* harmony export */ erc20ABI: function() { return /* binding */ erc20ABI; },\n/* harmony export */ erc4626ABI: function() { return /* binding */ erc4626ABI; },\n/* harmony export */ erc721ABI: function() { return /* binding */ erc721ABI; },\n/* harmony export */ fetchBalance: function() { return /* binding */ fetchBalance; },\n/* harmony export */ fetchBlockNumber: function() { return /* binding */ fetchBlockNumber; },\n/* harmony export */ fetchEnsAddress: function() { return /* binding */ fetchEnsAddress; },\n/* harmony export */ fetchEnsAvatar: function() { return /* binding */ fetchEnsAvatar; },\n/* harmony export */ fetchEnsName: function() { return /* binding */ fetchEnsName; },\n/* harmony export */ fetchEnsResolver: function() { return /* binding */ fetchEnsResolver; },\n/* harmony export */ fetchFeeData: function() { return /* binding */ fetchFeeData; },\n/* harmony export */ fetchToken: function() { return /* binding */ fetchToken; },\n/* harmony export */ fetchTransaction: function() { return /* binding */ fetchTransaction; },\n/* harmony export */ getAccount: function() { return /* binding */ getAccount; },\n/* harmony export */ getCallParameters: function() { return /* binding */ getCallParameters; },\n/* harmony export */ getConfig: function() { return /* binding */ getConfig; },\n/* harmony export */ getContract: function() { return /* binding */ getContract; },\n/* harmony export */ getNetwork: function() { return /* binding */ getNetwork; },\n/* harmony export */ getPublicClient: function() { return /* binding */ getPublicClient; },\n/* harmony export */ getSendTransactionParameters: function() { return /* binding */ getSendTransactionParameters; },\n/* harmony export */ getUnit: function() { return /* binding */ getUnit; },\n/* harmony export */ getWalletClient: function() { return /* binding */ getWalletClient; },\n/* harmony export */ getWebSocketPublicClient: function() { return /* binding */ getWebSocketPublicClient; },\n/* harmony export */ multicall: function() { return /* binding */ multicall; },\n/* harmony export */ noopStorage: function() { return /* binding */ noopStorage; },\n/* harmony export */ prepareSendTransaction: function() { return /* binding */ prepareSendTransaction; },\n/* harmony export */ prepareWriteContract: function() { return /* binding */ prepareWriteContract; },\n/* harmony export */ readContract: function() { return /* binding */ readContract; },\n/* harmony export */ readContracts: function() { return /* binding */ readContracts; },\n/* harmony export */ sendTransaction: function() { return /* binding */ sendTransaction; },\n/* harmony export */ serialize: function() { return /* binding */ serialize; },\n/* harmony export */ signMessage: function() { return /* binding */ signMessage; },\n/* harmony export */ signTypedData: function() { return /* binding */ signTypedData; },\n/* harmony export */ switchNetwork: function() { return /* binding */ switchNetwork; },\n/* harmony export */ waitForTransaction: function() { return /* binding */ waitForTransaction; },\n/* harmony export */ watchAccount: function() { return /* binding */ watchAccount; },\n/* harmony export */ watchBlockNumber: function() { return /* binding */ watchBlockNumber; },\n/* harmony export */ watchContractEvent: function() { return /* binding */ watchContractEvent; },\n/* harmony export */ watchMulticall: function() { return /* binding */ watchMulticall; },\n/* harmony export */ watchNetwork: function() { return /* binding */ watchNetwork; },\n/* harmony export */ watchPendingTransactions: function() { return /* binding */ watchPendingTransactions; },\n/* harmony export */ watchPublicClient: function() { return /* binding */ watchPublicClient; },\n/* harmony export */ watchReadContract: function() { return /* binding */ watchReadContract; },\n/* harmony export */ watchReadContracts: function() { return /* binding */ watchReadContracts; },\n/* harmony export */ watchWalletClient: function() { return /* binding */ watchWalletClient; },\n/* harmony export */ watchWebSocketPublicClient: function() { return /* binding */ watchWebSocketPublicClient; },\n/* harmony export */ writeContract: function() { return /* binding */ writeContract; }\n/* harmony export */ });\n/* harmony import */ var _chunk_BVC4KGLQ_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chunk-BVC4KGLQ.js */ \"./node_modules/@wagmi/core/dist/chunk-BVC4KGLQ.js\");\n/* harmony import */ var _chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-MQXBDTVK.js */ \"./node_modules/@wagmi/core/dist/chunk-MQXBDTVK.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n/* harmony import */ var _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wagmi/connectors */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/index.js\");\n/* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! zustand/middleware */ \"./node_modules/zustand/esm/middleware.mjs\");\n/* harmony import */ var zustand_vanilla__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zustand/vanilla */ \"./node_modules/zustand/esm/vanilla.mjs\");\n/* harmony import */ var zustand_shallow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zustand/shallow */ \"./node_modules/zustand/esm/shallow.mjs\");\n/* harmony import */ var viem_ens__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! viem/ens */ \"./node_modules/viem/dist/esm/ens.js\");\n\n\n\n// src/utils/configureChains.ts\n\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 = (0,viem__WEBPACK_IMPORTED_MODULE_0__.createPublicClient)({\n batch,\n chain: activeChain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_0__.fallback)(\n chainHttpUrls.map((url) => (0,viem__WEBPACK_IMPORTED_MODULE_0__.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 = (0,viem__WEBPACK_IMPORTED_MODULE_0__.createPublicClient)({\n batch,\n chain: activeChain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_0__.fallback)(\n chainWsUrls.map((url) => (0,viem__WEBPACK_IMPORTED_MODULE_0__.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\n\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\n\nfunction getUnit(unit) {\n if (typeof unit === \"number\")\n return unit;\n if (unit === \"wei\")\n return 0;\n return Math.abs(viem__WEBPACK_IMPORTED_MODULE_0__.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\n\n\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 _chunk_BVC4KGLQ_js__WEBPACK_IMPORTED_MODULE_1__.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 (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateAdd)(this, _addEffects);\n this.publicClients = /* @__PURE__ */ new Map();\n this.webSocketPublicClients = /* @__PURE__ */ new Map();\n (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateAdd)(this, _isAutoConnecting, void 0);\n (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__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 = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_3__.createStore)(\n (0,zustand_middleware__WEBPACK_IMPORTED_MODULE_4__.subscribeWithSelector)(\n (0,zustand_middleware__WEBPACK_IMPORTED_MODULE_4__.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 (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateSet)(this, _lastUsedConnector, storage?.getItem(\"wallet\"));\n (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__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 (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateSet)(this, _isAutoConnecting, false);\n this.clearState();\n this.store.destroy();\n }\n async autoConnect() {\n if ((0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateGet)(this, _isAutoConnecting))\n return;\n (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateSet)(this, _isAutoConnecting, true);\n this.setState((x) => ({\n ...x,\n status: x.data?.account ? \"reconnecting\" : \"connecting\"\n }));\n const sorted = (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__privateGet)(this, _lastUsedConnector) ? [...this.connectors].sort(\n (x) => x.id === (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__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 (0,_chunk_MQXBDTVK_js__WEBPACK_IMPORTED_MODULE_2__.__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\n\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\n\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: (0,viem__WEBPACK_IMPORTED_MODULE_0__.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 viem__WEBPACK_IMPORTED_MODULE_0__.ContractFunctionExecutionError) {\n const { name, symbol, ...rest } = await fetchToken_({\n abi: erc20ABI_bytes32\n });\n return {\n name: (0,viem__WEBPACK_IMPORTED_MODULE_0__.hexToString)((0,viem__WEBPACK_IMPORTED_MODULE_0__.trim)(name, { dir: \"right\" })),\n symbol: (0,viem__WEBPACK_IMPORTED_MODULE_0__.hexToString)((0,viem__WEBPACK_IMPORTED_MODULE_0__.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\n\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: zustand_shallow__WEBPACK_IMPORTED_MODULE_5__.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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.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\n\nfunction getContract({\n address,\n abi,\n chainId,\n walletClient\n}) {\n const publicClient = getPublicClient({ chainId });\n return (0,viem__WEBPACK_IMPORTED_MODULE_0__.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\n\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 viem__WEBPACK_IMPORTED_MODULE_0__.ContractFunctionExecutionError)\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\n\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: zustand_shallow__WEBPACK_IMPORTED_MODULE_5__.shallow }\n );\n return () => {\n unwatch?.();\n unsubscribe();\n };\n}\n\n// src/actions/network-status/watchBlockNumber.ts\n\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: zustand_shallow__WEBPACK_IMPORTED_MODULE_5__.shallow\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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.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: (0,viem__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(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 viem__WEBPACK_IMPORTED_MODULE_0__.ContractFunctionExecutionError) {\n const { symbol, ...rest } = await fetchContractBalance({\n abi: erc20ABI_bytes32\n });\n return {\n symbol: (0,viem__WEBPACK_IMPORTED_MODULE_0__.hexToString)((0,viem__WEBPACK_IMPORTED_MODULE_0__.trim)(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: (0,viem__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.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\n\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: zustand_shallow__WEBPACK_IMPORTED_MODULE_5__.shallow\n }\n );\n return unsubscribe;\n}\n\n// src/actions/accounts/watchNetwork.ts\n\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: zustand_shallow__WEBPACK_IMPORTED_MODULE_5__.shallow\n }\n );\n return unsubscribe;\n}\n\n// src/actions/ens/fetchEnsAddress.ts\n\n\nasync function fetchEnsAddress({\n chainId,\n name\n}) {\n const publicClient = getPublicClient({ chainId });\n const address = await publicClient.getEnsAddress({\n name: (0,viem_ens__WEBPACK_IMPORTED_MODULE_7__.normalize)(name)\n });\n try {\n if (address === \"0x0000000000000000000000000000000000000000\")\n return null;\n return address ? (0,viem__WEBPACK_IMPORTED_MODULE_0__.getAddress)(address) : null;\n } catch (_error) {\n return null;\n }\n}\n\n// src/actions/ens/fetchEnsAvatar.ts\n\nasync function fetchEnsAvatar({\n name,\n chainId\n}) {\n const publicClient = getPublicClient({ chainId });\n const avatar = await publicClient.getEnsAvatar({ name: (0,viem_ens__WEBPACK_IMPORTED_MODULE_7__.normalize)(name) });\n return avatar;\n}\n\n// src/actions/ens/fetchEnsName.ts\n\nasync function fetchEnsName({\n address,\n chainId\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.getEnsName({\n address: (0,viem__WEBPACK_IMPORTED_MODULE_0__.getAddress)(address)\n });\n}\n\n// src/actions/ens/fetchEnsResolver.ts\n\nasync function fetchEnsResolver({\n chainId,\n name\n}) {\n const publicClient = getPublicClient({ chainId });\n const resolver = await publicClient.getEnsResolver({ name: (0,viem_ens__WEBPACK_IMPORTED_MODULE_7__.normalize)(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\n\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 = (0,viem__WEBPACK_IMPORTED_MODULE_0__.parseGwei)(\"1\");\n maxFeePerGas = block.baseFeePerGas * 2n + maxPriorityFeePerGas;\n }\n const unit = getUnit(units);\n const formatted = {\n gasPrice: gasPrice ? (0,viem__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(gasPrice, unit) : null,\n maxFeePerGas: maxFeePerGas ? (0,viem__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(maxFeePerGas, unit) : null,\n maxPriorityFeePerGas: maxPriorityFeePerGas ? (0,viem__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(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\n\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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n const to = (to_ && !(0,viem__WEBPACK_IMPORTED_MODULE_0__.isAddress)(to_) ? await fetchEnsAddress({ name: to_ }) : to_) || void 0;\n if (to && !(0,viem__WEBPACK_IMPORTED_MODULE_0__.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 _wagmi_connectors__WEBPACK_IMPORTED_MODULE_6__.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\n\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 = (0,viem__WEBPACK_IMPORTED_MODULE_0__.hexToString)(`0x${code.substring(138)}`);\n throw new Error(reason);\n }\n return receipt;\n}\n\n// src/actions/transactions/watchPendingTransactions.ts\n\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: zustand_shallow__WEBPACK_IMPORTED_MODULE_5__.shallow\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\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1MQUZaQllPNy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU2QjtBQU1BOztBQUU3QjtBQUNxRTtBQUNyRTtBQUNBLFlBQVksYUFBYSxZQUFZO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUk7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsSUFBSTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRSxXQUFXO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RCxlQUFlO0FBQzdFLDJCQUEyQix3REFBa0I7QUFDN0M7QUFDQTtBQUNBLG1CQUFtQiw4Q0FBUTtBQUMzQixxQ0FBcUMsMENBQUksUUFBUSx1QkFBdUI7QUFDeEUsWUFBWTtBQUNaO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsOEJBQThCLFNBQVM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsd0RBQWtCO0FBQzdDO0FBQ0E7QUFDQSxtQkFBbUIsOENBQVE7QUFDM0IsbUNBQW1DLCtDQUFTLFFBQVEsdUJBQXVCO0FBQzNFLFlBQVk7QUFDWjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQzJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsbUNBQW1D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QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxhQUFhO0FBQ2IsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFNYzs7QUFFZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztB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QUs7QUFDTDtBQUNBLGtCQUFrQixvREFBUTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QixTQUFTO0FBQ3RDLFVBQVUsNkJBQTZCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLGdGQUFnRixjQUFjO0FBQzlGLDBFQUEwRSxRQUFRO0FBQ2xGLEtBQUs7QUFDTDtBQUNBOztBQStERSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1MQUZaQllPNy5qcz9jMTA3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGVkQ29ubmVjdG9yXG59IGZyb20gXCIuL2NodW5rLUJWQzRLR0xRLmpzXCI7XG5pbXBvcnQge1xuICBfX3ByaXZhdGVBZGQsXG4gIF9fcHJpdmF0ZUdldCxcbiAgX19wcml2YXRlTWV0aG9kLFxuICBfX3ByaXZhdGVTZXRcbn0gZnJvbSBcIi4vY2h1bmstTVFYQkRUVksuanNcIjtcblxuLy8gc3JjL3V0aWxzL2NvbmZpZ3VyZUNoYWlucy50c1xuaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBmYWxsYmFjaywgaHR0cCwgd2ViU29ja2V0IH0gZnJvbSBcInZpZW1cIjtcbmZ1bmN0aW9uIGNvbmZpZ3VyZUNoYWlucyhkZWZhdWx0Q2hhaW5zLCBwcm92aWRlcnMsIHtcbiAgYmF0Y2ggPSB7IG11bHRpY2FsbDogeyB3YWl0OiAzMiB9IH0sXG4gIHBvbGxpbmdJbnRlcnZhbCA9IDRlMyxcbiAgcmFuayxcbiAgcmV0cnlDb3VudCxcbiAgcmV0cnlEZWxheSxcbiAgc3RhbGxUaW1lb3V0XG59ID0ge30pIHtcbiAgaWYgKCFkZWZhdWx0Q2hhaW5zLmxlbmd0aClcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGNoYWluXCIpO1xuICBsZXQgY2hhaW5zID0gW107XG4gIGNvbnN0IGh0dHBVcmxzID0ge307XG4gIGNvbnN0IHdzVXJscyA9IHt9O1xuICBmb3IgKGNvbnN0IGNoYWluIG9mIGRlZmF1bHRDaGFpbnMpIHtcbiAgICBsZXQgY29uZmlnRXhpc3RzID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBwcm92aWRlciBvZiBwcm92aWRlcnMpIHtcbiAgICAgIGNvbnN0IGFwaUNvbmZpZyA9IHByb3ZpZGVyKGNoYWluKTtcbiAgICAgIGlmICghYXBpQ29uZmlnKVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIGNvbmZpZ0V4aXN0cyA9IHRydWU7XG4gICAgICBpZiAoIWNoYWlucy5zb21lKCh7IGlkIH0pID0+IGlkID09PSBjaGFpbi5pZCkpIHtcbiAgICAgICAgY2hhaW5zID0gWy4uLmNoYWlucywgYXBpQ29uZmlnLmNoYWluXTtcbiAgICAgIH1cbiAgICAgIGh0dHBVcmxzW2NoYWluLmlkXSA9IFtcbiAgICAgICAgLi4uaHR0cFVybHNbY2hhaW4uaWRdIHx8IFtdLFxuICAgICAgICAuLi5hcGlDb25maWcucnBjVXJscy5odHRwXG4gICAgICBdO1xuICAgICAgaWYgKGFwaUNvbmZpZy5ycGNVcmxzLndlYlNvY2tldCkge1xuICAgICAgICB3c1VybHNbY2hhaW4uaWRdID0gW1xuICAgICAgICAgIC4uLndzVXJsc1tjaGFpbi5pZF0gfHwgW10sXG4gICAgICAgICAgLi4uYXBpQ29uZmlnLnJwY1VybHMud2ViU29ja2V0XG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghY29uZmlnRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFtcbiAgICAgICAgICBgQ291bGQgbm90IGZpbmQgdmFsaWQgcHJvdmlkZXIgY29uZmlndXJhdGlvbiBmb3IgY2hhaW4gXCIke2NoYWluLm5hbWV9XCIuXG5gLFxuICAgICAgICAgIFwiWW91IG1heSBuZWVkIHRvIGFkZCBganNvblJwY1Byb3ZpZGVyYCB0byBgY29uZmlndXJlQ2hhaW5zYCB3aXRoIHRoZSBjaGFpbidzIFJQQyBVUkxzLlwiLFxuICAgICAgICAgIFwiUmVhZCBtb3JlOiBodHRwczovL3dhZ21pLnNoL2NvcmUvcHJvdmlkZXJzL2pzb25ScGNcIlxuICAgICAgICBdLmpvaW4oXCJcXG5cIilcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgY2hhaW5zLFxuICAgIHB1YmxpY0NsaWVudDogKHsgY2hhaW5JZCB9KSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVDaGFpbiA9IGNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKSA/PyBkZWZhdWx0Q2hhaW5zWzBdO1xuICAgICAgY29uc3QgY2hhaW5IdHRwVXJscyA9IGh0dHBVcmxzW2FjdGl2ZUNoYWluLmlkXTtcbiAgICAgIGlmICghY2hhaW5IdHRwVXJscyB8fCAhY2hhaW5IdHRwVXJsc1swXSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBwcm92aWRlcnMgY29uZmlndXJlZCBmb3IgY2hhaW4gXCIke2FjdGl2ZUNoYWluLmlkfVwiYCk7XG4gICAgICBjb25zdCBwdWJsaWNDbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICAgICAgICBiYXRjaCxcbiAgICAgICAgY2hhaW46IGFjdGl2ZUNoYWluLFxuICAgICAgICB0cmFuc3BvcnQ6IGZhbGxiYWNrKFxuICAgICAgICAgIGNoYWluSHR0cFVybHMubWFwKCh1cmwpID0+IGh0dHAodXJsLCB7IHRpbWVvdXQ6IHN0YWxsVGltZW91dCB9KSksXG4gICAgICAgICAgeyByYW5rLCByZXRyeUNvdW50LCByZXRyeURlbGF5IH1cbiAgICAgICAgKSxcbiAgICAgICAgcG9sbGluZ0ludGVydmFsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHB1YmxpY0NsaWVudCwge1xuICAgICAgICBjaGFpbnNcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgd2ViU29ja2V0UHVibGljQ2xpZW50OiAoeyBjaGFpbklkIH0pID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUNoYWluID0gY2hhaW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNoYWluSWQpID8/IGRlZmF1bHRDaGFpbnNbMF07XG4gICAgICBjb25zdCBjaGFpbldzVXJscyA9IHdzVXJsc1thY3RpdmVDaGFpbi5pZF07XG4gICAgICBpZiAoIWNoYWluV3NVcmxzIHx8ICFjaGFpbldzVXJsc1swXSlcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgIGNvbnN0IHB1YmxpY0NsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gICAgICAgIGJhdGNoLFxuICAgICAgICBjaGFpbjogYWN0aXZlQ2hhaW4sXG4gICAgICAgIHRyYW5zcG9ydDogZmFsbGJhY2soXG4gICAgICAgICAgY2hhaW5Xc1VybHMubWFwKCh1cmwpID0+IHdlYlNvY2tldCh1cmwsIHsgdGltZW91dDogc3RhbGxUaW1lb3V0IH0pKSxcbiAgICAgICAgICB7IHJhbmssIHJldHJ5Q291bnQsIHJldHJ5RGVsYXkgfVxuICAgICAgICApLFxuICAgICAgICBwb2xsaW5nSW50ZXJ2YWxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocHVibGljQ2xpZW50LCB7XG4gICAgICAgIGNoYWluc1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvZXJyb3JzLnRzXG5pbXBvcnQgeyBDb25uZWN0b3JOb3RGb3VuZEVycm9yIH0gZnJvbSBcIkB3YWdtaS9jb25uZWN0b3JzXCI7XG52YXIgQ2hhaW5NaXNtYXRjaEVycm9yID0gY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBhY3RpdmVDaGFpbixcbiAgICB0YXJnZXRDaGFpblxuICB9KSB7XG4gICAgc3VwZXIoXG4gICAgICBgQ2hhaW4gbWlzbWF0Y2g6IEV4cGVjdGVkIFwiJHt0YXJnZXRDaGFpbn1cIiwgcmVjZWl2ZWQgXCIke2FjdGl2ZUNoYWlufVwiLmBcbiAgICApO1xuICAgIHRoaXMubmFtZSA9IFwiQ2hhaW5NaXNtYXRjaEVycm9yXCI7XG4gIH1cbn07XG52YXIgQ2hhaW5Ob3RDb25maWd1cmVkRXJyb3IgPSBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3Ioe1xuICAgIGNoYWluSWQsXG4gICAgY29ubmVjdG9ySWRcbiAgfSkge1xuICAgIHN1cGVyKFxuICAgICAgYENoYWluIFwiJHtjaGFpbklkfVwiIG5vdCBjb25maWd1cmVkJHtjb25uZWN0b3JJZCA/IGAgZm9yIGNvbm5lY3RvciBcIiR7Y29ubmVjdG9ySWR9XCJgIDogXCJcIn0uYFxuICAgICk7XG4gICAgdGhpcy5uYW1lID0gXCJDaGFpbk5vdENvbmZpZ3VyZWRcIjtcbiAgfVxufTtcbnZhciBDb25uZWN0b3JBbHJlYWR5Q29ubmVjdGVkRXJyb3IgPSBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICB0aGlzLm5hbWUgPSBcIkNvbm5lY3RvckFscmVhZHlDb25uZWN0ZWRFcnJvclwiO1xuICAgIHRoaXMubWVzc2FnZSA9IFwiQ29ubmVjdG9yIGFscmVhZHkgY29ubmVjdGVkXCI7XG4gIH1cbn07XG52YXIgQ29uZmlnQ2hhaW5zTm90Rm91bmQgPSBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICB0aGlzLm5hbWUgPSBcIkNvbmZpZ0NoYWluc05vdEZvdW5kXCI7XG4gICAgdGhpcy5tZXNzYWdlID0gXCJObyBjaGFpbnMgd2VyZSBmb3VuZCBvbiB0aGUgd2FnbWkgY29uZmlnLiBTb21lIGZ1bmN0aW9ucyB0aGF0IHJlcXVpcmUgYSBjaGFpbiBtYXkgbm90IHdvcmsuXCI7XG4gIH1cbn07XG52YXIgU3dpdGNoQ2hhaW5Ob3RTdXBwb3J0ZWRFcnJvciA9IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih7IGNvbm5lY3RvciB9KSB7XG4gICAgc3VwZXIoYFwiJHtjb25uZWN0b3IubmFtZX1cIiBkb2VzIG5vdCBzdXBwb3J0IHByb2dyYW1tYXRpYyBjaGFpbiBzd2l0Y2hpbmcuYCk7XG4gICAgdGhpcy5uYW1lID0gXCJTd2l0Y2hDaGFpbk5vdFN1cHBvcnRlZEVycm9yXCI7XG4gIH1cbn07XG5cbi8vIHNyYy91dGlscy9kZWVwRXF1YWwudHNcbmZ1bmN0aW9uIGRlZXBFcXVhbChhLCBiKSB7XG4gIGlmIChhID09PSBiKVxuICAgIHJldHVybiB0cnVlO1xuICBpZiAoYSAmJiBiICYmIHR5cGVvZiBhID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBiID09PSBcIm9iamVjdFwiKSB7XG4gICAgaWYgKGEuY29uc3RydWN0b3IgIT09IGIuY29uc3RydWN0b3IpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxlbmd0aDtcbiAgICBsZXQgaTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJiBBcnJheS5pc0FycmF5KGIpKSB7XG4gICAgICBsZW5ndGggPSBhLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggIT0gYi5sZW5ndGgpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOyApXG4gICAgICAgIGlmICghZGVlcEVxdWFsKGFbaV0sIGJbaV0pKVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoYS52YWx1ZU9mICE9PSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YpXG4gICAgICByZXR1cm4gYS52YWx1ZU9mKCkgPT09IGIudmFsdWVPZigpO1xuICAgIGlmIChhLnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKVxuICAgICAgcmV0dXJuIGEudG9TdHJpbmcoKSA9PT0gYi50b1N0cmluZygpO1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiKS5sZW5ndGgpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7IClcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIGtleXNbaV0pKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7ICkge1xuICAgICAgY29uc3Qga2V5ID0ga2V5c1tpXTtcbiAgICAgIGlmIChrZXkgJiYgIWRlZXBFcXVhbChhW2tleV0sIGJba2V5XSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGEgIT09IGEgJiYgYiAhPT0gYjtcbn1cblxuLy8gc3JjL3V0aWxzL2Rlc2VyaWFsaXplLnRzXG52YXIgZmluZEFuZFJlcGxhY2UgPSAoY2FjaGVSZWYsIHtcbiAgZmluZCxcbiAgcmVwbGFjZVxufSkgPT4ge1xuICBpZiAoY2FjaGVSZWYgJiYgZmluZChjYWNoZVJlZikpIHtcbiAgICByZXR1cm4gcmVwbGFjZShjYWNoZVJlZik7XG4gIH1cbiAgaWYgKHR5cGVvZiBjYWNoZVJlZiAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBjYWNoZVJlZjtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShjYWNoZVJlZikpIHtcbiAgICByZXR1cm4gY2FjaGVSZWYubWFwKChpdGVtKSA9PiBmaW5kQW5kUmVwbGFjZShpdGVtLCB7IGZpbmQsIHJlcGxhY2UgfSkpO1xuICB9XG4gIGlmIChjYWNoZVJlZiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjYWNoZVJlZikucmVkdWNlKFxuICAgICAgKGN1cnIsIFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICAgICAgLi4uY3VycixcbiAgICAgICAgW2tleV06IGZpbmRBbmRSZXBsYWNlKHZhbHVlLCB7IGZpbmQsIHJlcGxhY2UgfSlcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuICB9XG4gIHJldHVybiBjYWNoZVJlZjtcbn07XG5mdW5jdGlvbiBkZXNlcmlhbGl6ZShjYWNoZWRTdHJpbmcpIHtcbiAgY29uc3QgY2FjaGUgPSBKU09OLnBhcnNlKGNhY2hlZFN0cmluZyk7XG4gIGNvbnN0IGRlc2VyaWFsaXplZENhY2hlV2l0aEJpZ0ludHMgPSBmaW5kQW5kUmVwbGFjZShjYWNoZSwge1xuICAgIGZpbmQ6IChkYXRhKSA9PiB0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIiAmJiBkYXRhLnN0YXJ0c1dpdGgoXCIjYmlnaW50LlwiKSxcbiAgICByZXBsYWNlOiAoZGF0YSkgPT4gQmlnSW50KGRhdGEucmVwbGFjZShcIiNiaWdpbnQuXCIsIFwiXCIpKVxuICB9KTtcbiAgcmV0dXJuIGRlc2VyaWFsaXplZENhY2hlV2l0aEJpZ0ludHM7XG59XG5cbi8vIHNyYy91dGlscy9nZXRQYXJhbWV0ZXJzLnRzXG5mdW5jdGlvbiBnZXRDYWxsUGFyYW1ldGVycyhhcmdzKSB7XG4gIHJldHVybiB7XG4gICAgYWNjZXNzTGlzdDogYXJncy5hY2Nlc3NMaXN0LFxuICAgIGFjY291bnQ6IGFyZ3MuYWNjb3VudCxcbiAgICBibG9ja051bWJlcjogYXJncy5ibG9ja051bWJlcixcbiAgICBibG9ja1RhZzogYXJncy5ibG9ja1RhZyxcbiAgICBkYXRhOiBhcmdzLmRhdGEsXG4gICAgZ2FzOiBhcmdzLmdhcyxcbiAgICBnYXNQcmljZTogYXJncy5nYXNQcmljZSxcbiAgICBtYXhGZWVQZXJHYXM6IGFyZ3MubWF4RmVlUGVyR2FzLFxuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBhcmdzLm1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgIG5vbmNlOiBhcmdzLm5vbmNlLFxuICAgIHRvOiBhcmdzLnRvLFxuICAgIHZhbHVlOiBhcmdzLnZhbHVlXG4gIH07XG59XG5mdW5jdGlvbiBnZXRTZW5kVHJhbnNhY3Rpb25QYXJhbWV0ZXJzKGFyZ3MpIHtcbiAgcmV0dXJuIHtcbiAgICBhY2Nlc3NMaXN0OiBhcmdzLmFjY2Vzc0xpc3QsXG4gICAgYWNjb3VudDogYXJncy5hY2NvdW50LFxuICAgIGRhdGE6IGFyZ3MuZGF0YSxcbiAgICBnYXM6IGFyZ3MuZ2FzLFxuICAgIGdhc1ByaWNlOiBhcmdzLmdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhczogYXJncy5tYXhGZWVQZXJHYXMsXG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IGFyZ3MubWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgbm9uY2U6IGFyZ3Mubm9uY2UsXG4gICAgdG86IGFyZ3MudG8sXG4gICAgdmFsdWU6IGFyZ3MudmFsdWVcbiAgfTtcbn1cblxuLy8gc3JjL3V0aWxzL2dldFVuaXQudHNcbmltcG9ydCB7IHdlaVVuaXRzIH0gZnJvbSBcInZpZW1cIjtcbmZ1bmN0aW9uIGdldFVuaXQodW5pdCkge1xuICBpZiAodHlwZW9mIHVuaXQgPT09IFwibnVtYmVyXCIpXG4gICAgcmV0dXJuIHVuaXQ7XG4gIGlmICh1bml0ID09PSBcIndlaVwiKVxuICAgIHJldHVybiAwO1xuICByZXR1cm4gTWF0aC5hYnMod2VpVW5pdHNbdW5pdF0pO1xufVxuXG4vLyBzcmMvdXRpbHMvc2VyaWFsaXplLnRzXG5mdW5jdGlvbiBnZXRSZWZlcmVuY2VLZXkoa2V5cywgY3V0b2ZmKSB7XG4gIHJldHVybiBrZXlzLnNsaWNlKDAsIGN1dG9mZikuam9pbihcIi5cIikgfHwgXCIuXCI7XG59XG5mdW5jdGlvbiBnZXRDdXRvZmYoYXJyYXksIHZhbHVlKSB7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBhcnJheTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgIGlmIChhcnJheVtpbmRleF0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaW5kZXggKyAxO1xuICAgIH1cbiAgfVxuICByZXR1cm4gMDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVJlcGxhY2VyKHJlcGxhY2VyLCBjaXJjdWxhclJlcGxhY2VyKSB7XG4gIGNvbnN0IGhhc1JlcGxhY2VyID0gdHlwZW9mIHJlcGxhY2VyID09PSBcImZ1bmN0aW9uXCI7XG4gIGNvbnN0IGhhc0NpcmN1bGFyUmVwbGFjZXIgPSB0eXBlb2YgY2lyY3VsYXJSZXBsYWNlciA9PT0gXCJmdW5jdGlvblwiO1xuICBjb25zdCBjYWNoZSA9IFtdO1xuICBjb25zdCBrZXlzID0gW107XG4gIHJldHVybiBmdW5jdGlvbiByZXBsYWNlKGtleSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBpZiAoY2FjaGUubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHRoaXNDdXRvZmYgPSBnZXRDdXRvZmYoY2FjaGUsIHRoaXMpO1xuICAgICAgICBpZiAodGhpc0N1dG9mZiA9PT0gMCkge1xuICAgICAgICAgIGNhY2hlW2NhY2hlLmxlbmd0aF0gPSB0aGlzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNhY2hlLnNwbGljZSh0aGlzQ3V0b2ZmKTtcbiAgICAgICAgICBrZXlzLnNwbGljZSh0aGlzQ3V0b2ZmKTtcbiAgICAgICAgfVxuICAgICAgICBrZXlzW2tleXMubGVuZ3RoXSA9IGtleTtcbiAgICAgICAgY29uc3QgdmFsdWVDdXRvZmYgPSBnZXRDdXRvZmYoY2FjaGUsIHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlQ3V0b2ZmICE9PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGhhc0NpcmN1bGFyUmVwbGFjZXIgPyBjaXJjdWxhclJlcGxhY2VyLmNhbGwoXG4gICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBnZXRSZWZlcmVuY2VLZXkoa2V5cywgdmFsdWVDdXRvZmYpXG4gICAgICAgICAgKSA6IGBbcmVmPSR7Z2V0UmVmZXJlbmNlS2V5KGtleXMsIHZhbHVlQ3V0b2ZmKX1dYDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGVbMF0gPSB2YWx1ZTtcbiAgICAgICAga2V5c1swXSA9IGtleTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhhc1JlcGxhY2VyID8gcmVwbGFjZXIuY2FsbCh0aGlzLCBrZXksIHZhbHVlKSA6IHZhbHVlO1xuICB9O1xufVxuZnVuY3Rpb24gc2VyaWFsaXplKHZhbHVlLCByZXBsYWNlciwgaW5kZW50LCBjaXJjdWxhclJlcGxhY2VyKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShcbiAgICB2YWx1ZSxcbiAgICBjcmVhdGVSZXBsYWNlcigoa2V5LCB2YWx1ZV8pID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlMiA9IHR5cGVvZiB2YWx1ZV8gPT09IFwiYmlnaW50XCIgPyBgI2JpZ2ludC4ke3ZhbHVlXy50b1N0cmluZygpfWAgOiB2YWx1ZV87XG4gICAgICByZXR1cm4gcmVwbGFjZXI/LihrZXksIHZhbHVlMikgfHwgdmFsdWUyO1xuICAgIH0sIGNpcmN1bGFyUmVwbGFjZXIpLFxuICAgIGluZGVudCA/PyB2b2lkIDBcbiAgKTtcbn1cblxuLy8gc3JjL2NvbmZpZy50c1xuaW1wb3J0IHsgcGVyc2lzdCwgc3Vic2NyaWJlV2l0aFNlbGVjdG9yIH0gZnJvbSBcInp1c3RhbmQvbWlkZGxld2FyZVwiO1xuaW1wb3J0IHsgY3JlYXRlU3RvcmUgfSBmcm9tIFwienVzdGFuZC92YW5pbGxhXCI7XG5cbi8vIHNyYy9zdG9yYWdlLnRzXG52YXIgbm9vcFN0b3JhZ2UgPSB7XG4gIGdldEl0ZW06IChfa2V5KSA9PiBcIlwiLFxuICBzZXRJdGVtOiAoX2tleSwgX3ZhbHVlKSA9PiBudWxsLFxuICByZW1vdmVJdGVtOiAoX2tleSkgPT4gbnVsbFxufTtcbmZ1bmN0aW9uIGNyZWF0ZVN0b3JhZ2Uoe1xuICBkZXNlcmlhbGl6ZTogZGVzZXJpYWxpemUyID0gZGVzZXJpYWxpemUsXG4gIGtleTogcHJlZml4ID0gXCJ3YWdtaVwiLFxuICBzZXJpYWxpemU6IHNlcmlhbGl6ZTIgPSBzZXJpYWxpemUsXG4gIHN0b3JhZ2Vcbn0pIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdG9yYWdlLFxuICAgIGdldEl0ZW06IChrZXksIGRlZmF1bHRTdGF0ZSA9IG51bGwpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gc3RvcmFnZS5nZXRJdGVtKGAke3ByZWZpeH0uJHtrZXl9YCk7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPyBkZXNlcmlhbGl6ZTIodmFsdWUpIDogZGVmYXVsdFN0YXRlO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGVycm9yKTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRTdGF0ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldEl0ZW06IChrZXksIHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKGAke3ByZWZpeH0uJHtrZXl9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHN0b3JhZ2Uuc2V0SXRlbShgJHtwcmVmaXh9LiR7a2V5fWAsIHNlcmlhbGl6ZTIodmFsdWUpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICByZW1vdmVJdGVtOiAoa2V5KSA9PiBzdG9yYWdlLnJlbW92ZUl0ZW0oYCR7cHJlZml4fS4ke2tleX1gKVxuICB9O1xufVxuXG4vLyBzcmMvY29uZmlnLnRzXG52YXIgc3RvcmVLZXkgPSBcInN0b3JlXCI7XG52YXIgX2lzQXV0b0Nvbm5lY3RpbmcsIF9sYXN0VXNlZENvbm5lY3RvciwgX2FkZEVmZmVjdHMsIGFkZEVmZmVjdHNfZm47XG52YXIgQ29uZmlnID0gY2xhc3Mge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgYXV0b0Nvbm5lY3QgPSBmYWxzZSxcbiAgICBjb25uZWN0b3JzID0gW25ldyBJbmplY3RlZENvbm5lY3RvcigpXSxcbiAgICBwdWJsaWNDbGllbnQsXG4gICAgc3RvcmFnZSA9IGNyZWF0ZVN0b3JhZ2Uoe1xuICAgICAgc3RvcmFnZTogdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IHdpbmRvdy5sb2NhbFN0b3JhZ2UgOiBub29wU3RvcmFnZVxuICAgIH0pLFxuICAgIGxvZ2dlciA9IHtcbiAgICAgIHdhcm46IGNvbnNvbGUud2FyblxuICAgIH0sXG4gICAgd2ViU29ja2V0UHVibGljQ2xpZW50XG4gIH0pIHtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX2FkZEVmZmVjdHMpO1xuICAgIHRoaXMucHVibGljQ2xpZW50cyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgdGhpcy53ZWJTb2NrZXRQdWJsaWNDbGllbnRzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX2lzQXV0b0Nvbm5lY3RpbmcsIHZvaWQgMCk7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9sYXN0VXNlZENvbm5lY3Rvciwgdm9pZCAwKTtcbiAgICB0aGlzLmFyZ3MgPSB7XG4gICAgICBhdXRvQ29ubmVjdCxcbiAgICAgIGNvbm5lY3RvcnMsXG4gICAgICBsb2dnZXIsXG4gICAgICBwdWJsaWNDbGllbnQsXG4gICAgICBzdG9yYWdlLFxuICAgICAgd2ViU29ja2V0UHVibGljQ2xpZW50XG4gICAgfTtcbiAgICBsZXQgc3RhdHVzID0gXCJkaXNjb25uZWN0ZWRcIjtcbiAgICBsZXQgY2hhaW5JZDtcbiAgICBpZiAoYXV0b0Nvbm5lY3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJhd1N0YXRlID0gc3RvcmFnZS5nZXRJdGVtKHN0b3JlS2V5KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHJhd1N0YXRlPy5zdGF0ZT8uZGF0YTtcbiAgICAgICAgc3RhdHVzID0gZGF0YT8uYWNjb3VudCA/IFwicmVjb25uZWN0aW5nXCIgOiBcImNvbm5lY3RpbmdcIjtcbiAgICAgICAgY2hhaW5JZCA9IGRhdGE/LmNoYWluPy5pZDtcbiAgICAgIH0gY2F0Y2ggKF9lcnJvcikge1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb25uZWN0b3JzXyA9IHR5cGVvZiBjb25uZWN0b3JzID09PSBcImZ1bmN0aW9uXCIgPyBjb25uZWN0b3JzKCkgOiBjb25uZWN0b3JzO1xuICAgIGNvbm5lY3RvcnNfLmZvckVhY2goKGNvbm5lY3RvcikgPT4gY29ubmVjdG9yLnNldFN0b3JhZ2Uoc3RvcmFnZSkpO1xuICAgIHRoaXMuc3RvcmUgPSBjcmVhdGVTdG9yZShcbiAgICAgIHN1YnNjcmliZVdpdGhTZWxlY3RvcihcbiAgICAgICAgcGVyc2lzdChcbiAgICAgICAgICAoKSA9PiAoe1xuICAgICAgICAgICAgY29ubmVjdG9yczogY29ubmVjdG9yc18sXG4gICAgICAgICAgICBwdWJsaWNDbGllbnQ6IHRoaXMuZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHdlYlNvY2tldFB1YmxpY0NsaWVudDogdGhpcy5nZXRXZWJTb2NrZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pXG4gICAgICAgICAgfSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogc3RvcmVLZXksXG4gICAgICAgICAgICBzdG9yYWdlLFxuICAgICAgICAgICAgcGFydGlhbGl6ZTogKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5hdXRvQ29ubmVjdCAmJiB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgYWNjb3VudDogc3RhdGU/LmRhdGE/LmFjY291bnQsXG4gICAgICAgICAgICAgICAgICBjaGFpbjogc3RhdGU/LmRhdGE/LmNoYWluXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjaGFpbnM6IHN0YXRlPy5jaGFpbnNcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdmVyc2lvbjogMlxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5zdG9yYWdlID0gc3RvcmFnZTtcbiAgICBfX3ByaXZhdGVTZXQodGhpcywgX2xhc3RVc2VkQ29ubmVjdG9yLCBzdG9yYWdlPy5nZXRJdGVtKFwid2FsbGV0XCIpKTtcbiAgICBfX3ByaXZhdGVNZXRob2QodGhpcywgX2FkZEVmZmVjdHMsIGFkZEVmZmVjdHNfZm4pLmNhbGwodGhpcyk7XG4gICAgaWYgKGF1dG9Db25uZWN0ICYmIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpXG4gICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IGF3YWl0IHRoaXMuYXV0b0Nvbm5lY3QoKSwgMCk7XG4gIH1cbiAgZ2V0IGNoYWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpLmNoYWlucztcbiAgfVxuICBnZXQgY29ubmVjdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpLmNvbm5lY3RvcnM7XG4gIH1cbiAgZ2V0IGNvbm5lY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpLmNvbm5lY3RvcjtcbiAgfVxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpLmRhdGE7XG4gIH1cbiAgZ2V0IGVycm9yKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCkuZXJyb3I7XG4gIH1cbiAgZ2V0IGxhc3RVc2VkQ2hhaW5JZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5jaGFpbj8uaWQ7XG4gIH1cbiAgZ2V0IHB1YmxpY0NsaWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpLnB1YmxpY0NsaWVudDtcbiAgfVxuICBnZXQgc3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCkuc3RhdHVzO1xuICB9XG4gIGdldCBzdWJzY3JpYmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3Vic2NyaWJlO1xuICB9XG4gIGdldCB3ZWJTb2NrZXRQdWJsaWNDbGllbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0U3RhdGUoKS53ZWJTb2NrZXRQdWJsaWNDbGllbnQ7XG4gIH1cbiAgc2V0U3RhdGUodXBkYXRlcikge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gdHlwZW9mIHVwZGF0ZXIgPT09IFwiZnVuY3Rpb25cIiA/IHVwZGF0ZXIodGhpcy5zdG9yZS5nZXRTdGF0ZSgpKSA6IHVwZGF0ZXI7XG4gICAgdGhpcy5zdG9yZS5zZXRTdGF0ZShuZXdTdGF0ZSwgdHJ1ZSk7XG4gIH1cbiAgY2xlYXJTdGF0ZSgpIHtcbiAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIGNoYWluczogdm9pZCAwLFxuICAgICAgY29ubmVjdG9yOiB2b2lkIDAsXG4gICAgICBkYXRhOiB2b2lkIDAsXG4gICAgICBlcnJvcjogdm9pZCAwLFxuICAgICAgc3RhdHVzOiBcImRpc2Nvbm5lY3RlZFwiXG4gICAgfSkpO1xuICB9XG4gIGFzeW5jIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY29ubmVjdG9yKVxuICAgICAgYXdhaXQgdGhpcy5jb25uZWN0b3IuZGlzY29ubmVjdD8uKCk7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9pc0F1dG9Db25uZWN0aW5nLCBmYWxzZSk7XG4gICAgdGhpcy5jbGVhclN0YXRlKCk7XG4gICAgdGhpcy5zdG9yZS5kZXN0cm95KCk7XG4gIH1cbiAgYXN5bmMgYXV0b0Nvbm5lY3QoKSB7XG4gICAgaWYgKF9fcHJpdmF0ZUdldCh0aGlzLCBfaXNBdXRvQ29ubmVjdGluZykpXG4gICAgICByZXR1cm47XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9pc0F1dG9Db25uZWN0aW5nLCB0cnVlKTtcbiAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIHN0YXR1czogeC5kYXRhPy5hY2NvdW50ID8gXCJyZWNvbm5lY3RpbmdcIiA6IFwiY29ubmVjdGluZ1wiXG4gICAgfSkpO1xuICAgIGNvbnN0IHNvcnRlZCA9IF9fcHJpdmF0ZUdldCh0aGlzLCBfbGFzdFVzZWRDb25uZWN0b3IpID8gWy4uLnRoaXMuY29ubmVjdG9yc10uc29ydChcbiAgICAgICh4KSA9PiB4LmlkID09PSBfX3ByaXZhdGVHZXQodGhpcywgX2xhc3RVc2VkQ29ubmVjdG9yKSA/IC0xIDogMVxuICAgICkgOiB0aGlzLmNvbm5lY3RvcnM7XG4gICAgbGV0IGNvbm5lY3RlZCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgY29ubmVjdG9yIG9mIHNvcnRlZCkge1xuICAgICAgaWYgKCFjb25uZWN0b3IucmVhZHkgfHwgIWNvbm5lY3Rvci5pc0F1dGhvcml6ZWQpXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgY29uc3QgaXNBdXRob3JpemVkID0gYXdhaXQgY29ubmVjdG9yLmlzQXV0aG9yaXplZCgpO1xuICAgICAgaWYgKCFpc0F1dGhvcml6ZWQpXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGNvbm5lY3Rvci5jb25uZWN0KCk7XG4gICAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgICAuLi54LFxuICAgICAgICBjb25uZWN0b3IsXG4gICAgICAgIGNoYWluczogY29ubmVjdG9yPy5jaGFpbnMsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIHN0YXR1czogXCJjb25uZWN0ZWRcIlxuICAgICAgfSkpO1xuICAgICAgY29ubmVjdGVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoIWNvbm5lY3RlZClcbiAgICAgIHRoaXMuc2V0U3RhdGUoKHgpID0+ICh7XG4gICAgICAgIC4uLngsXG4gICAgICAgIGRhdGE6IHZvaWQgMCxcbiAgICAgICAgc3RhdHVzOiBcImRpc2Nvbm5lY3RlZFwiXG4gICAgICB9KSk7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9pc0F1dG9Db25uZWN0aW5nLCBmYWxzZSk7XG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgfVxuICBzZXRDb25uZWN0b3JzKGNvbm5lY3RvcnMpIHtcbiAgICB0aGlzLmFyZ3MgPSB7XG4gICAgICAuLi50aGlzLmFyZ3MsXG4gICAgICBjb25uZWN0b3JzXG4gICAgfTtcbiAgICBjb25zdCBjb25uZWN0b3JzXyA9IHR5cGVvZiBjb25uZWN0b3JzID09PSBcImZ1bmN0aW9uXCIgPyBjb25uZWN0b3JzKCkgOiBjb25uZWN0b3JzO1xuICAgIGNvbm5lY3RvcnNfLmZvckVhY2goKGNvbm5lY3RvcikgPT4gY29ubmVjdG9yLnNldFN0b3JhZ2UodGhpcy5hcmdzLnN0b3JhZ2UpKTtcbiAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIGNvbm5lY3RvcnM6IGNvbm5lY3RvcnNfXG4gICAgfSkpO1xuICB9XG4gIGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSA9IHt9KSB7XG4gICAgbGV0IHB1YmxpY0NsaWVudF8gPSB0aGlzLnB1YmxpY0NsaWVudHMuZ2V0KC0xKTtcbiAgICBpZiAocHVibGljQ2xpZW50XyAmJiBwdWJsaWNDbGllbnRfPy5jaGFpbi5pZCA9PT0gY2hhaW5JZClcbiAgICAgIHJldHVybiBwdWJsaWNDbGllbnRfO1xuICAgIHB1YmxpY0NsaWVudF8gPSB0aGlzLnB1YmxpY0NsaWVudHMuZ2V0KGNoYWluSWQgPz8gLTEpO1xuICAgIGlmIChwdWJsaWNDbGllbnRfKVxuICAgICAgcmV0dXJuIHB1YmxpY0NsaWVudF87XG4gICAgY29uc3QgeyBwdWJsaWNDbGllbnQgfSA9IHRoaXMuYXJncztcbiAgICBwdWJsaWNDbGllbnRfID0gdHlwZW9mIHB1YmxpY0NsaWVudCA9PT0gXCJmdW5jdGlvblwiID8gcHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSA6IHB1YmxpY0NsaWVudDtcbiAgICB0aGlzLnB1YmxpY0NsaWVudHMuc2V0KGNoYWluSWQgPz8gLTEsIHB1YmxpY0NsaWVudF8pO1xuICAgIHJldHVybiBwdWJsaWNDbGllbnRfO1xuICB9XG4gIHNldFB1YmxpY0NsaWVudChwdWJsaWNDbGllbnQpIHtcbiAgICBjb25zdCBjaGFpbklkID0gdGhpcy5kYXRhPy5jaGFpbj8uaWQ7XG4gICAgdGhpcy5hcmdzID0ge1xuICAgICAgLi4udGhpcy5hcmdzLFxuICAgICAgcHVibGljQ2xpZW50XG4gICAgfTtcbiAgICB0aGlzLnB1YmxpY0NsaWVudHMuY2xlYXIoKTtcbiAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIHB1YmxpY0NsaWVudDogdGhpcy5nZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pXG4gICAgfSkpO1xuICB9XG4gIGdldFdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSA9IHt9KSB7XG4gICAgbGV0IHdlYlNvY2tldFB1YmxpY0NsaWVudF8gPSB0aGlzLndlYlNvY2tldFB1YmxpY0NsaWVudHMuZ2V0KC0xKTtcbiAgICBpZiAod2ViU29ja2V0UHVibGljQ2xpZW50XyAmJiB3ZWJTb2NrZXRQdWJsaWNDbGllbnRfPy5jaGFpbi5pZCA9PT0gY2hhaW5JZClcbiAgICAgIHJldHVybiB3ZWJTb2NrZXRQdWJsaWNDbGllbnRfO1xuICAgIHdlYlNvY2tldFB1YmxpY0NsaWVudF8gPSB0aGlzLndlYlNvY2tldFB1YmxpY0NsaWVudHMuZ2V0KGNoYWluSWQgPz8gLTEpO1xuICAgIGlmICh3ZWJTb2NrZXRQdWJsaWNDbGllbnRfKVxuICAgICAgcmV0dXJuIHdlYlNvY2tldFB1YmxpY0NsaWVudF87XG4gICAgY29uc3QgeyB3ZWJTb2NrZXRQdWJsaWNDbGllbnQgfSA9IHRoaXMuYXJncztcbiAgICB3ZWJTb2NrZXRQdWJsaWNDbGllbnRfID0gdHlwZW9mIHdlYlNvY2tldFB1YmxpY0NsaWVudCA9PT0gXCJmdW5jdGlvblwiID8gd2ViU29ja2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSA6IHdlYlNvY2tldFB1YmxpY0NsaWVudDtcbiAgICBpZiAod2ViU29ja2V0UHVibGljQ2xpZW50XylcbiAgICAgIHRoaXMud2ViU29ja2V0UHVibGljQ2xpZW50cy5zZXQoY2hhaW5JZCA/PyAtMSwgd2ViU29ja2V0UHVibGljQ2xpZW50Xyk7XG4gICAgcmV0dXJuIHdlYlNvY2tldFB1YmxpY0NsaWVudF87XG4gIH1cbiAgc2V0V2ViU29ja2V0UHVibGljQ2xpZW50KHdlYlNvY2tldFB1YmxpY0NsaWVudCkge1xuICAgIGNvbnN0IGNoYWluSWQgPSB0aGlzLmRhdGE/LmNoYWluPy5pZDtcbiAgICB0aGlzLmFyZ3MgPSB7XG4gICAgICAuLi50aGlzLmFyZ3MsXG4gICAgICB3ZWJTb2NrZXRQdWJsaWNDbGllbnRcbiAgICB9O1xuICAgIHRoaXMud2ViU29ja2V0UHVibGljQ2xpZW50cy5jbGVhcigpO1xuICAgIHRoaXMuc2V0U3RhdGUoKHgpID0+ICh7XG4gICAgICAuLi54LFxuICAgICAgd2ViU29ja2V0UHVibGljQ2xpZW50OiB0aGlzLmdldFdlYlNvY2tldFB1YmxpY0NsaWVudCh7XG4gICAgICAgIGNoYWluSWRcbiAgICAgIH0pXG4gICAgfSkpO1xuICB9XG4gIHNldExhc3RVc2VkQ29ubmVjdG9yKGxhc3RVc2VkQ29ubmVjdG9yID0gbnVsbCkge1xuICAgIHRoaXMuc3RvcmFnZT8uc2V0SXRlbShcIndhbGxldFwiLCBsYXN0VXNlZENvbm5lY3Rvcik7XG4gIH1cbn07XG5faXNBdXRvQ29ubmVjdGluZyA9IG5ldyBXZWFrTWFwKCk7XG5fbGFzdFVzZWRDb25uZWN0b3IgPSBuZXcgV2Vha01hcCgpO1xuX2FkZEVmZmVjdHMgPSBuZXcgV2Vha1NldCgpO1xuYWRkRWZmZWN0c19mbiA9IGZ1bmN0aW9uKCkge1xuICBjb25zdCBvbkNoYW5nZSA9IChkYXRhKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSgoeCkgPT4gKHtcbiAgICAgIC4uLngsXG4gICAgICBkYXRhOiB7IC4uLnguZGF0YSwgLi4uZGF0YSB9XG4gICAgfSkpO1xuICB9O1xuICBjb25zdCBvbkRpc2Nvbm5lY3QgPSAoKSA9PiB7XG4gICAgdGhpcy5jbGVhclN0YXRlKCk7XG4gIH07XG4gIGNvbnN0IG9uRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoeyAuLi54LCBlcnJvciB9KSk7XG4gIH07XG4gIHRoaXMuc3RvcmUuc3Vic2NyaWJlKFxuICAgICh7IGNvbm5lY3RvciB9KSA9PiBjb25uZWN0b3IsXG4gICAgKGNvbm5lY3RvciwgcHJldkNvbm5lY3RvcikgPT4ge1xuICAgICAgcHJldkNvbm5lY3Rvcj8ub2ZmPy4oXCJjaGFuZ2VcIiwgb25DaGFuZ2UpO1xuICAgICAgcHJldkNvbm5lY3Rvcj8ub2ZmPy4oXCJkaXNjb25uZWN0XCIsIG9uRGlzY29ubmVjdCk7XG4gICAgICBwcmV2Q29ubmVjdG9yPy5vZmY/LihcImVycm9yXCIsIG9uRXJyb3IpO1xuICAgICAgaWYgKCFjb25uZWN0b3IpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGNvbm5lY3Rvci5vbj8uKFwiY2hhbmdlXCIsIG9uQ2hhbmdlKTtcbiAgICAgIGNvbm5lY3Rvci5vbj8uKFwiZGlzY29ubmVjdFwiLCBvbkRpc2Nvbm5lY3QpO1xuICAgICAgY29ubmVjdG9yLm9uPy4oXCJlcnJvclwiLCBvbkVycm9yKTtcbiAgICB9XG4gICk7XG4gIGNvbnN0IHsgcHVibGljQ2xpZW50LCB3ZWJTb2NrZXRQdWJsaWNDbGllbnQgfSA9IHRoaXMuYXJncztcbiAgY29uc3Qgc3Vic2NyaWJlUHVibGljQ2xpZW50ID0gdHlwZW9mIHB1YmxpY0NsaWVudCA9PT0gXCJmdW5jdGlvblwiO1xuICBjb25zdCBzdWJzY3JpYmVXZWJTb2NrZXRQdWJsaWNDbGllbnQgPSB0eXBlb2Ygd2ViU29ja2V0UHVibGljQ2xpZW50ID09PSBcImZ1bmN0aW9uXCI7XG4gIGlmIChzdWJzY3JpYmVQdWJsaWNDbGllbnQgfHwgc3Vic2NyaWJlV2ViU29ja2V0UHVibGljQ2xpZW50KVxuICAgIHRoaXMuc3RvcmUuc3Vic2NyaWJlKFxuICAgICAgKHsgZGF0YSB9KSA9PiBkYXRhPy5jaGFpbj8uaWQsXG4gICAgICAoY2hhaW5JZCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKCh4KSA9PiAoe1xuICAgICAgICAgIC4uLngsXG4gICAgICAgICAgcHVibGljQ2xpZW50OiB0aGlzLmdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSksXG4gICAgICAgICAgd2ViU29ja2V0UHVibGljQ2xpZW50OiB0aGlzLmdldFdlYlNvY2tldFB1YmxpY0NsaWVudCh7XG4gICAgICAgICAgICBjaGFpbklkXG4gICAgICAgICAgfSlcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgICk7XG59O1xudmFyIGNvbmZpZztcbmZ1bmN0aW9uIGNyZWF0ZUNvbmZpZyhhcmdzKSB7XG4gIGNvbnN0IGNvbmZpZ18gPSBuZXcgQ29uZmlnKGFyZ3MpO1xuICBjb25maWcgPSBjb25maWdfO1xuICByZXR1cm4gY29uZmlnXztcbn1cbmZ1bmN0aW9uIGdldENvbmZpZygpIHtcbiAgaWYgKCFjb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIk5vIHdhZ21pIGNvbmZpZyBmb3VuZC4gRW5zdXJlIHlvdSBoYXZlIHNldCB1cCBhIGNvbmZpZzogaHR0cHM6Ly93YWdtaS5zaC9yZWFjdC9jb25maWdcIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuLy8gc3JjL2FjdGlvbnMvYWNjb3VudHMvY29ubmVjdC50c1xuYXN5bmMgZnVuY3Rpb24gY29ubmVjdCh7IGNoYWluSWQsIGNvbm5lY3RvciB9KSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgYWN0aXZlQ29ubmVjdG9yID0gY29uZmlnMi5jb25uZWN0b3I7XG4gIGlmIChhY3RpdmVDb25uZWN0b3IgJiYgY29ubmVjdG9yLmlkID09PSBhY3RpdmVDb25uZWN0b3IuaWQpXG4gICAgdGhyb3cgbmV3IENvbm5lY3RvckFscmVhZHlDb25uZWN0ZWRFcnJvcigpO1xuICB0cnkge1xuICAgIGNvbmZpZzIuc2V0U3RhdGUoKHgpID0+ICh7IC4uLngsIHN0YXR1czogXCJjb25uZWN0aW5nXCIgfSkpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjb25uZWN0b3IuY29ubmVjdCh7IGNoYWluSWQgfSk7XG4gICAgY29uZmlnMi5zZXRMYXN0VXNlZENvbm5lY3Rvcihjb25uZWN0b3IuaWQpO1xuICAgIGNvbmZpZzIuc2V0U3RhdGUoKHgpID0+ICh7XG4gICAgICAuLi54LFxuICAgICAgY29ubmVjdG9yLFxuICAgICAgY2hhaW5zOiBjb25uZWN0b3I/LmNoYWlucyxcbiAgICAgIGRhdGEsXG4gICAgICBzdGF0dXM6IFwiY29ubmVjdGVkXCJcbiAgICB9KSk7XG4gICAgY29uZmlnMi5zdG9yYWdlLnNldEl0ZW0oXCJjb25uZWN0ZWRcIiwgdHJ1ZSk7XG4gICAgcmV0dXJuIHsgLi4uZGF0YSwgY29ubmVjdG9yIH07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbmZpZzIuc2V0U3RhdGUoKHgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLngsXG4gICAgICAgIHN0YXR1czogeC5jb25uZWN0b3IgPyBcImNvbm5lY3RlZFwiIDogXCJkaXNjb25uZWN0ZWRcIlxuICAgICAgfTtcbiAgICB9KTtcbiAgICB0aHJvdyBlcnI7XG4gIH1cbn1cblxuLy8gc3JjL2FjdGlvbnMvYWNjb3VudHMvZGlzY29ubmVjdC50c1xuYXN5bmMgZnVuY3Rpb24gZGlzY29ubmVjdCgpIHtcbiAgY29uc3QgY29uZmlnMiA9IGdldENvbmZpZygpO1xuICBpZiAoY29uZmlnMi5jb25uZWN0b3IpXG4gICAgYXdhaXQgY29uZmlnMi5jb25uZWN0b3IuZGlzY29ubmVjdCgpO1xuICBjb25maWcyLmNsZWFyU3RhdGUoKTtcbiAgY29uZmlnMi5zdG9yYWdlLnJlbW92ZUl0ZW0oXCJjb25uZWN0ZWRcIik7XG59XG5cbi8vIHNyYy9hY3Rpb25zL2FjY291bnRzL2ZldGNoQmFsYW5jZS50c1xuaW1wb3J0IHtcbiAgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yIGFzIENvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcjMsXG4gIGZvcm1hdFVuaXRzIGFzIGZvcm1hdFVuaXRzMixcbiAgaGV4VG9TdHJpbmcgYXMgaGV4VG9TdHJpbmcyLFxuICB0cmltIGFzIHRyaW0yXG59IGZyb20gXCJ2aWVtXCI7XG5cbi8vIHNyYy9jb25zdGFudHMvYWJpcy50c1xudmFyIGVyYzIwQUJJID0gW1xuICB7XG4gICAgdHlwZTogXCJldmVudFwiLFxuICAgIG5hbWU6IFwiQXBwcm92YWxcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJzcGVuZGVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJ2YWx1ZVwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZXZlbnRcIixcbiAgICBuYW1lOiBcIlRyYW5zZmVyXCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiZnJvbVwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJ0b1wiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwidmFsdWVcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJhbGxvd2FuY2VcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIm93bmVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcInNwZW5kZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJhcHByb3ZlXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcIm5vbnBheWFibGVcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzcGVuZGVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImFtb3VudFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcImJvb2xcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImJhbGFuY2VPZlwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYWNjb3VudFwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImRlY2ltYWxzXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50OFwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwibmFtZVwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXSxcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJzeW1ib2xcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW10sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInN0cmluZ1wiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwidG90YWxTdXBwbHlcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW10sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcInRyYW5zZmVyXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcIm5vbnBheWFibGVcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyZWNpcGllbnRcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYW1vdW50XCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwiYm9vbFwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwidHJhbnNmZXJGcm9tXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcIm5vbnBheWFibGVcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzZW5kZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwicmVjaXBpZW50XCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImFtb3VudFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcImJvb2xcIlxuICAgICAgfVxuICAgIF1cbiAgfVxuXTtcbnZhciBlcmMyMEFCSV9ieXRlczMyID0gW1xuICB7XG4gICAgdHlwZTogXCJldmVudFwiLFxuICAgIG5hbWU6IFwiQXBwcm92YWxcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJzcGVuZGVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJ2YWx1ZVwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZXZlbnRcIixcbiAgICBuYW1lOiBcIlRyYW5zZmVyXCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiZnJvbVwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJ0b1wiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwidmFsdWVcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJhbGxvd2FuY2VcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIm93bmVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcInNwZW5kZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJhcHByb3ZlXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcIm5vbnBheWFibGVcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzcGVuZGVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImFtb3VudFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcImJvb2xcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImJhbGFuY2VPZlwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYWNjb3VudFwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImRlY2ltYWxzXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50OFwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwibmFtZVwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXSxcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwiYnl0ZXMzMlwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwic3ltYm9sXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJieXRlczMyXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJ0b3RhbFN1cHBseVwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXSxcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwidHJhbnNmZXJcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwibm9ucGF5YWJsZVwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInJlY2lwaWVudFwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhbW91bnRcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJib29sXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJ0cmFuc2ZlckZyb21cIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwibm9ucGF5YWJsZVwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNlbmRlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyZWNpcGllbnRcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYW1vdW50XCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwiYm9vbFwiXG4gICAgICB9XG4gICAgXVxuICB9XG5dO1xudmFyIGVyYzcyMUFCSSA9IFtcbiAge1xuICAgIHR5cGU6IFwiZXZlbnRcIixcbiAgICBuYW1lOiBcIkFwcHJvdmFsXCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwib3duZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwic3BlbmRlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJ0b2tlbklkXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJldmVudFwiLFxuICAgIG5hbWU6IFwiQXBwcm92YWxGb3JBbGxcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJvcGVyYXRvclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwiYXBwcm92ZWRcIixcbiAgICAgICAgdHlwZTogXCJib29sXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImV2ZW50XCIsXG4gICAgbmFtZTogXCJUcmFuc2ZlclwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBpbmRleGVkOiB0cnVlLFxuICAgICAgICBuYW1lOiBcImZyb21cIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwidG9cIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwidG9rZW5JZFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImFwcHJvdmVcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwicGF5YWJsZVwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNwZW5kZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwidG9rZW5JZFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW11cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImJhbGFuY2VPZlwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYWNjb3VudFwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcImdldEFwcHJvdmVkXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJ0b2tlbklkXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwiaXNBcHByb3ZlZEZvckFsbFwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwib3duZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwib3BlcmF0b3JcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJib29sXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJuYW1lXCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcIm93bmVyT2ZcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInRva2VuSWRcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcInNhZmVUcmFuc2ZlckZyb21cIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwicGF5YWJsZVwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImZyb21cIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwidG9cIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwidG9rZW5JZFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW11cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcInNhZmVUcmFuc2ZlckZyb21cIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwibm9ucGF5YWJsZVwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImZyb21cIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwidG9cIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiaWRcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiZGF0YVwiLFxuICAgICAgICB0eXBlOiBcImJ5dGVzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJzZXRBcHByb3ZhbEZvckFsbFwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJub25wYXlhYmxlXCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwib3BlcmF0b3JcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYXBwcm92ZWRcIixcbiAgICAgICAgdHlwZTogXCJib29sXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJzeW1ib2xcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW10sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInN0cmluZ1wiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwidG9rZW5CeUluZGV4XCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJpbmRleFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcInRva2VuQnlJbmRleFwiLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwib3duZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiaW5kZXhcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJ0b2tlbklkXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgIG5hbWU6IFwidG9rZW5VUklcIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInRva2VuSWRcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIlxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICBuYW1lOiBcInRvdGFsU3VwcGx5XCIsXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICBpbnB1dHM6IFtdLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgbmFtZTogXCJ0cmFuc2ZlckZyb21cIixcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwicGF5YWJsZVwiLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNlbmRlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyZWNpcGllbnRcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwidG9rZUlkXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBvdXRwdXRzOiBbXVxuICB9XG5dO1xudmFyIGVyYzQ2MjZBQkkgPSBbXG4gIHtcbiAgICBhbm9ueW1vdXM6IGZhbHNlLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBpbmRleGVkOiB0cnVlLFxuICAgICAgICBuYW1lOiBcIm93bmVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleGVkOiB0cnVlLFxuICAgICAgICBuYW1lOiBcInNwZW5kZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IGZhbHNlLFxuICAgICAgICBuYW1lOiBcInZhbHVlXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBuYW1lOiBcIkFwcHJvdmFsXCIsXG4gICAgdHlwZTogXCJldmVudFwiXG4gIH0sXG4gIHtcbiAgICBhbm9ueW1vdXM6IGZhbHNlLFxuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBpbmRleGVkOiB0cnVlLFxuICAgICAgICBuYW1lOiBcInNlbmRlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJyZWNlaXZlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwiYXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJzaGFyZXNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwiRGVwb3NpdFwiLFxuICAgIHR5cGU6IFwiZXZlbnRcIlxuICB9LFxuICB7XG4gICAgYW5vbnltb3VzOiBmYWxzZSxcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJmcm9tXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleGVkOiB0cnVlLFxuICAgICAgICBuYW1lOiBcInRvXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJ2YWx1ZVwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJUcmFuc2ZlclwiLFxuICAgIHR5cGU6IFwiZXZlbnRcIlxuICB9LFxuICB7XG4gICAgYW5vbnltb3VzOiBmYWxzZSxcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogdHJ1ZSxcbiAgICAgICAgbmFtZTogXCJzZW5kZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwicmVjZWl2ZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwib3duZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4ZWQ6IGZhbHNlLFxuICAgICAgICBuYW1lOiBcImFzc2V0c1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXhlZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwic2hhcmVzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBuYW1lOiBcIldpdGhkcmF3XCIsXG4gICAgdHlwZTogXCJldmVudFwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzcGVuZGVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9XG4gICAgXSxcbiAgICBuYW1lOiBcImFsbG93YW5jZVwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzcGVuZGVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImFtb3VudFwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJhcHByb3ZlXCIsXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcImJvb2xcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcIm5vbnBheWFibGVcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW10sXG4gICAgbmFtZTogXCJhc3NldFwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhc3NldFRva2VuQWRkcmVzc1wiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImFjY291bnRcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwiYmFsYW5jZU9mXCIsXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNoYXJlc1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJjb252ZXJ0VG9Bc3NldHNcIixcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIHR5cGU6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBuYW1lOiBcImNvbnZlcnRUb1NoYXJlc1wiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzaGFyZXNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhc3NldHNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwicmVjZWl2ZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwiZGVwb3NpdFwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzaGFyZXNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJub25wYXlhYmxlXCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJjYWxsZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwibWF4RGVwb3NpdFwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJtYXhBc3NldHNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJjYWxsZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwibWF4TWludFwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJtYXhTaGFyZXNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJtYXhSZWRlZW1cIixcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwibWF4U2hhcmVzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIHR5cGU6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwib3duZXJcIixcbiAgICAgICAgdHlwZTogXCJhZGRyZXNzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwibWF4V2l0aGRyYXdcIixcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwibWF4QXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwidmlld1wiLFxuICAgIHR5cGU6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwic2hhcmVzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcInJlY2VpdmVyXCIsXG4gICAgICAgIHR5cGU6IFwiYWRkcmVzc1wiXG4gICAgICB9XG4gICAgXSxcbiAgICBuYW1lOiBcIm1pbnRcIixcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwibm9ucGF5YWJsZVwiLFxuICAgIHR5cGU6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBuYW1lOiBcInByZXZpZXdEZXBvc2l0XCIsXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNoYXJlc1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNoYXJlc1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJwcmV2aWV3TWludFwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhc3NldHNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzaGFyZXNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwicHJldmlld1JlZGVlbVwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhc3NldHNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhc3NldHNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwicHJldmlld1dpdGhkcmF3XCIsXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNoYXJlc1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInNoYXJlc1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyZWNlaXZlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJyZWRlZW1cIixcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiYXNzZXRzXCIsXG4gICAgICAgIHR5cGU6IFwidWludDI1NlwiXG4gICAgICB9XG4gICAgXSxcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwibm9ucGF5YWJsZVwiLFxuICAgIHR5cGU6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgaW5wdXRzOiBbXSxcbiAgICBuYW1lOiBcInRvdGFsQXNzZXRzXCIsXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcInRvdGFsTWFuYWdlZEFzc2V0c1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcInZpZXdcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW10sXG4gICAgbmFtZTogXCJ0b3RhbFN1cHBseVwiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJ2aWV3XCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH0sXG4gIHtcbiAgICBpbnB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJ0b1wiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhbW91bnRcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwidHJhbnNmZXJcIixcbiAgICBvdXRwdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgIHR5cGU6IFwiYm9vbFwiXG4gICAgICB9XG4gICAgXSxcbiAgICBzdGF0ZU11dGFiaWxpdHk6IFwibm9ucGF5YWJsZVwiLFxuICAgIHR5cGU6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgaW5wdXRzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiZnJvbVwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJ0b1wiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJhbW91bnRcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIG5hbWU6IFwidHJhbnNmZXJGcm9tXCIsXG4gICAgb3V0cHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICB0eXBlOiBcImJvb2xcIlxuICAgICAgfVxuICAgIF0sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiBcIm5vbnBheWFibGVcIixcbiAgICB0eXBlOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImFzc2V0c1wiLFxuICAgICAgICB0eXBlOiBcInVpbnQyNTZcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyZWNlaXZlclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJvd25lclwiLFxuICAgICAgICB0eXBlOiBcImFkZHJlc3NcIlxuICAgICAgfVxuICAgIF0sXG4gICAgbmFtZTogXCJ3aXRoZHJhd1wiLFxuICAgIG91dHB1dHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJzaGFyZXNcIixcbiAgICAgICAgdHlwZTogXCJ1aW50MjU2XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHN0YXRlTXV0YWJpbGl0eTogXCJub25wYXlhYmxlXCIsXG4gICAgdHlwZTogXCJmdW5jdGlvblwiXG4gIH1cbl07XG5cbi8vIHNyYy9hY3Rpb25zL2NvbnRyYWN0cy9mZXRjaFRva2VuLnRzXG5pbXBvcnQge1xuICBDb250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3IsXG4gIGZvcm1hdFVuaXRzLFxuICBoZXhUb1N0cmluZyxcbiAgdHJpbVxufSBmcm9tIFwidmllbVwiO1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUb2tlbih7XG4gIGFkZHJlc3MsXG4gIGNoYWluSWQsXG4gIGZvcm1hdFVuaXRzOiB1bml0ID0gMThcbn0pIHtcbiAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hUb2tlbl8oeyBhYmkgfSkge1xuICAgIGNvbnN0IGVyYzIwQ29uZmlnID0geyBhZGRyZXNzLCBhYmksIGNoYWluSWQgfTtcbiAgICBjb25zdCBbZGVjaW1hbHMsIG5hbWUsIHN5bWJvbCwgdG90YWxTdXBwbHldID0gYXdhaXQgcmVhZENvbnRyYWN0cyh7XG4gICAgICBhbGxvd0ZhaWx1cmU6IGZhbHNlLFxuICAgICAgY29udHJhY3RzOiBbXG4gICAgICAgIHsgLi4uZXJjMjBDb25maWcsIGZ1bmN0aW9uTmFtZTogXCJkZWNpbWFsc1wiIH0sXG4gICAgICAgIHsgLi4uZXJjMjBDb25maWcsIGZ1bmN0aW9uTmFtZTogXCJuYW1lXCIgfSxcbiAgICAgICAgeyAuLi5lcmMyMENvbmZpZywgZnVuY3Rpb25OYW1lOiBcInN5bWJvbFwiIH0sXG4gICAgICAgIHsgLi4uZXJjMjBDb25maWcsIGZ1bmN0aW9uTmFtZTogXCJ0b3RhbFN1cHBseVwiIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzcyxcbiAgICAgIGRlY2ltYWxzLFxuICAgICAgbmFtZSxcbiAgICAgIHN5bWJvbCxcbiAgICAgIHRvdGFsU3VwcGx5OiB7XG4gICAgICAgIGZvcm1hdHRlZDogZm9ybWF0VW5pdHModG90YWxTdXBwbHksIGdldFVuaXQodW5pdCkpLFxuICAgICAgICB2YWx1ZTogdG90YWxTdXBwbHlcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGZldGNoVG9rZW5fKHsgYWJpOiBlcmMyMEFCSSB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIENvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcikge1xuICAgICAgY29uc3QgeyBuYW1lLCBzeW1ib2wsIC4uLnJlc3QgfSA9IGF3YWl0IGZldGNoVG9rZW5fKHtcbiAgICAgICAgYWJpOiBlcmMyMEFCSV9ieXRlczMyXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGhleFRvU3RyaW5nKHRyaW0obmFtZSwgeyBkaXI6IFwicmlnaHRcIiB9KSksXG4gICAgICAgIHN5bWJvbDogaGV4VG9TdHJpbmcodHJpbShzeW1ib2wsIHsgZGlyOiBcInJpZ2h0XCIgfSkpLFxuICAgICAgICAuLi5yZXN0XG4gICAgICB9O1xuICAgIH1cbiAgICB0aHJvdyBlcnI7XG4gIH1cbn1cblxuLy8gc3JjL2FjdGlvbnMvdmllbS9nZXRQdWJsaWNDbGllbnQudHNcbmZ1bmN0aW9uIGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgaWYgKGNoYWluSWQpXG4gICAgcmV0dXJuIGNvbmZpZzIuZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSB8fCBjb25maWcyLnB1YmxpY0NsaWVudDtcbiAgcmV0dXJuIGNvbmZpZzIucHVibGljQ2xpZW50O1xufVxuXG4vLyBzcmMvYWN0aW9ucy92aWVtL2dldFdhbGxldENsaWVudC50c1xuYXN5bmMgZnVuY3Rpb24gZ2V0V2FsbGV0Q2xpZW50KHtcbiAgY2hhaW5JZFxufSA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3Qgd2FsbGV0Q2xpZW50ID0gYXdhaXQgY29uZmlnMi5jb25uZWN0b3I/LmdldFdhbGxldENsaWVudD8uKHsgY2hhaW5JZCB9KSB8fCBudWxsO1xuICByZXR1cm4gd2FsbGV0Q2xpZW50O1xufVxuXG4vLyBzcmMvYWN0aW9ucy92aWVtL2dldFdlYlNvY2tldFB1YmxpY0NsaWVudC50c1xuZnVuY3Rpb24gZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50KHtcbiAgY2hhaW5JZFxufSA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgaWYgKGNoYWluSWQpXG4gICAgcmV0dXJuIGNvbmZpZzIuZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSB8fCBjb25maWcyLndlYlNvY2tldFB1YmxpY0NsaWVudDtcbiAgcmV0dXJuIGNvbmZpZzIud2ViU29ja2V0UHVibGljQ2xpZW50O1xufVxuXG4vLyBzcmMvYWN0aW9ucy92aWVtL3dhdGNoUHVibGljQ2xpZW50LnRzXG5mdW5jdGlvbiB3YXRjaFB1YmxpY0NsaWVudChhcmdzLCBjYWxsYmFjaykge1xuICBjb25zdCBjb25maWcyID0gZ2V0Q29uZmlnKCk7XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IGFzeW5jICgpID0+IGNhbGxiYWNrKGdldFB1YmxpY0NsaWVudChhcmdzKSk7XG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gY29uZmlnMi5zdWJzY3JpYmUoXG4gICAgKHsgcHVibGljQ2xpZW50IH0pID0+IHB1YmxpY0NsaWVudCxcbiAgICBoYW5kbGVDaGFuZ2VcbiAgKTtcbiAgcmV0dXJuIHVuc3Vic2NyaWJlO1xufVxuXG4vLyBzcmMvYWN0aW9ucy92aWVtL3dhdGNoV2FsbGV0Q2xpZW50LnRzXG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSBcInp1c3RhbmQvc2hhbGxvd1wiO1xuZnVuY3Rpb24gd2F0Y2hXYWxsZXRDbGllbnQoeyBjaGFpbklkIH0sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gYXN5bmMgKHsgY2hhaW5JZDogY2hhaW5JZF8gfSkgPT4ge1xuICAgIGlmIChjaGFpbklkICYmIGNoYWluSWRfICYmIGNoYWluSWQgIT09IGNoYWluSWRfKVxuICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IHdhbGxldENsaWVudCA9IGF3YWl0IGdldFdhbGxldENsaWVudCh7IGNoYWluSWQgfSk7XG4gICAgaWYgKCFnZXRDb25maWcoKS5jb25uZWN0b3IpXG4gICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCk7XG4gICAgcmV0dXJuIGNhbGxiYWNrKHdhbGxldENsaWVudCk7XG4gIH07XG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gY29uZmlnMi5zdWJzY3JpYmUoXG4gICAgKHsgZGF0YSwgY29ubmVjdG9yIH0pID0+ICh7XG4gICAgICBhY2NvdW50OiBkYXRhPy5hY2NvdW50LFxuICAgICAgY2hhaW5JZDogZGF0YT8uY2hhaW4/LmlkLFxuICAgICAgY29ubmVjdG9yXG4gICAgfSksXG4gICAgaGFuZGxlQ2hhbmdlLFxuICAgIHtcbiAgICAgIGVxdWFsaXR5Rm46IHNoYWxsb3dcbiAgICB9XG4gICk7XG4gIHJldHVybiB1bnN1YnNjcmliZTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvdmllbS93YXRjaFdlYlNvY2tldFB1YmxpY0NsaWVudC50c1xuZnVuY3Rpb24gd2F0Y2hXZWJTb2NrZXRQdWJsaWNDbGllbnQoYXJncywgY2FsbGJhY2spIHtcbiAgY29uc3QgY29uZmlnMiA9IGdldENvbmZpZygpO1xuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSBhc3luYyAoKSA9PiBjYWxsYmFjayhnZXRXZWJTb2NrZXRQdWJsaWNDbGllbnQoYXJncykpO1xuICBjb25zdCB1bnN1YnNjcmliZSA9IGNvbmZpZzIuc3Vic2NyaWJlKFxuICAgICh7IHdlYlNvY2tldFB1YmxpY0NsaWVudCB9KSA9PiB3ZWJTb2NrZXRQdWJsaWNDbGllbnQsXG4gICAgaGFuZGxlQ2hhbmdlXG4gICk7XG4gIHJldHVybiB1bnN1YnNjcmliZTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvY29udHJhY3RzL3ByZXBhcmVXcml0ZUNvbnRyYWN0LnRzXG5hc3luYyBmdW5jdGlvbiBwcmVwYXJlV3JpdGVDb250cmFjdCh7XG4gIGFiaSxcbiAgYWRkcmVzcyxcbiAgYXJncyxcbiAgY2hhaW5JZCxcbiAgZnVuY3Rpb25OYW1lLFxuICB3YWxsZXRDbGllbnQ6IHdhbGxldENsaWVudF8sXG4gIC4uLmNvbmZpZzJcbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgY29uc3Qgd2FsbGV0Q2xpZW50ID0gd2FsbGV0Q2xpZW50XyA/PyBhd2FpdCBnZXRXYWxsZXRDbGllbnQoeyBjaGFpbklkIH0pO1xuICBpZiAoIXdhbGxldENsaWVudClcbiAgICB0aHJvdyBuZXcgQ29ubmVjdG9yTm90Rm91bmRFcnJvcigpO1xuICBpZiAoY2hhaW5JZClcbiAgICBhc3NlcnRBY3RpdmVDaGFpbih7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHtcbiAgICBhY2NvdW50LFxuICAgIGFjY2Vzc0xpc3QsXG4gICAgYmxvY2tOdW1iZXIsXG4gICAgYmxvY2tUYWcsXG4gICAgZ2FzLFxuICAgIGdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhcyxcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICBub25jZSxcbiAgICB2YWx1ZVxuICB9ID0gZ2V0Q2FsbFBhcmFtZXRlcnMoY29uZmlnMik7XG4gIGNvbnN0IHsgcmVzdWx0LCByZXF1ZXN0IH0gPSBhd2FpdCBwdWJsaWNDbGllbnQuc2ltdWxhdGVDb250cmFjdCh7XG4gICAgYWJpLFxuICAgIGFkZHJlc3MsXG4gICAgZnVuY3Rpb25OYW1lLFxuICAgIGFyZ3MsXG4gICAgYWNjb3VudDogYWNjb3VudCB8fCB3YWxsZXRDbGllbnQuYWNjb3VudCxcbiAgICBhY2Nlc3NMaXN0LFxuICAgIGJsb2NrTnVtYmVyLFxuICAgIGJsb2NrVGFnLFxuICAgIGdhcyxcbiAgICBnYXNQcmljZSxcbiAgICBtYXhGZWVQZXJHYXMsXG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgbm9uY2UsXG4gICAgdmFsdWVcbiAgfSk7XG4gIGNvbnN0IG1pbmltaXplZEFiaSA9IGFiaS5maWx0ZXIoXG4gICAgKGFiaUl0ZW0pID0+IFwibmFtZVwiIGluIGFiaUl0ZW0gJiYgYWJpSXRlbS5uYW1lID09PSBmdW5jdGlvbk5hbWVcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBtb2RlOiBcInByZXBhcmVkXCIsXG4gICAgcmVxdWVzdDoge1xuICAgICAgLi4ucmVxdWVzdCxcbiAgICAgIGFiaTogbWluaW1pemVkQWJpLFxuICAgICAgY2hhaW5JZFxuICAgIH0sXG4gICAgcmVzdWx0XG4gIH07XG59XG5cbi8vIHNyYy9hY3Rpb25zL2NvbnRyYWN0cy9nZXRDb250cmFjdC50c1xuaW1wb3J0IHsgZ2V0Q29udHJhY3QgYXMgZ2V0Q29udHJhY3RfIH0gZnJvbSBcInZpZW1cIjtcbmZ1bmN0aW9uIGdldENvbnRyYWN0KHtcbiAgYWRkcmVzcyxcbiAgYWJpLFxuICBjaGFpbklkLFxuICB3YWxsZXRDbGllbnRcbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgcmV0dXJuIGdldENvbnRyYWN0Xyh7XG4gICAgYWRkcmVzcyxcbiAgICBhYmksXG4gICAgcHVibGljQ2xpZW50LFxuICAgIHdhbGxldENsaWVudFxuICB9KTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvY29udHJhY3RzL211bHRpY2FsbC50c1xuYXN5bmMgZnVuY3Rpb24gbXVsdGljYWxsKHtcbiAgY2hhaW5JZCxcbiAgY29udHJhY3RzLFxuICBibG9ja051bWJlcixcbiAgYmxvY2tUYWcsXG4gIC4uLmFyZ3Ncbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgaWYgKCFwdWJsaWNDbGllbnQuY2hhaW5zKVxuICAgIHRocm93IG5ldyBDb25maWdDaGFpbnNOb3RGb3VuZCgpO1xuICBpZiAoY2hhaW5JZCAmJiBwdWJsaWNDbGllbnQuY2hhaW4uaWQgIT09IGNoYWluSWQpXG4gICAgdGhyb3cgbmV3IENoYWluTm90Q29uZmlndXJlZEVycm9yKHsgY2hhaW5JZCB9KTtcbiAgcmV0dXJuIHB1YmxpY0NsaWVudC5tdWx0aWNhbGwoe1xuICAgIGFsbG93RmFpbHVyZTogYXJncy5hbGxvd0ZhaWx1cmUgPz8gdHJ1ZSxcbiAgICBibG9ja051bWJlcixcbiAgICBibG9ja1RhZyxcbiAgICBjb250cmFjdHNcbiAgfSk7XG59XG5cbi8vIHNyYy9hY3Rpb25zL2NvbnRyYWN0cy9yZWFkQ29udHJhY3QudHNcbmFzeW5jIGZ1bmN0aW9uIHJlYWRDb250cmFjdCh7XG4gIGFkZHJlc3MsXG4gIGFjY291bnQsXG4gIGNoYWluSWQsXG4gIGFiaSxcbiAgYXJncyxcbiAgZnVuY3Rpb25OYW1lLFxuICBibG9ja051bWJlcixcbiAgYmxvY2tUYWdcbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgcmV0dXJuIHB1YmxpY0NsaWVudC5yZWFkQ29udHJhY3Qoe1xuICAgIGFiaSxcbiAgICBhZGRyZXNzLFxuICAgIGFjY291bnQsXG4gICAgZnVuY3Rpb25OYW1lLFxuICAgIGFyZ3MsXG4gICAgYmxvY2tOdW1iZXIsXG4gICAgYmxvY2tUYWdcbiAgfSk7XG59XG5cbi8vIHNyYy9hY3Rpb25zL2NvbnRyYWN0cy9yZWFkQ29udHJhY3RzLnRzXG5pbXBvcnQgeyBDb250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3IgYXMgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yMiB9IGZyb20gXCJ2aWVtXCI7XG5hc3luYyBmdW5jdGlvbiByZWFkQ29udHJhY3RzKHtcbiAgY29udHJhY3RzLFxuICBibG9ja051bWJlcixcbiAgYmxvY2tUYWcsXG4gIC4uLmFyZ3Ncbn0pIHtcbiAgY29uc3QgeyBhbGxvd0ZhaWx1cmUgPSB0cnVlIH0gPSBhcmdzO1xuICB0cnkge1xuICAgIGNvbnN0IHB1YmxpY0NsaWVudCA9IGdldFB1YmxpY0NsaWVudCgpO1xuICAgIGNvbnN0IGNvbnRyYWN0c0J5Q2hhaW5JZCA9IGNvbnRyYWN0cy5yZWR1Y2UoKGNvbnRyYWN0czIsIGNvbnRyYWN0LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY2hhaW5JZCA9IGNvbnRyYWN0LmNoYWluSWQgPz8gcHVibGljQ2xpZW50LmNoYWluLmlkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29udHJhY3RzMixcbiAgICAgICAgW2NoYWluSWRdOiBbLi4uY29udHJhY3RzMltjaGFpbklkXSB8fCBbXSwgeyBjb250cmFjdCwgaW5kZXggfV1cbiAgICAgIH07XG4gICAgfSwge30pO1xuICAgIGNvbnN0IHByb21pc2VzID0gKCkgPT4gT2JqZWN0LmVudHJpZXMoY29udHJhY3RzQnlDaGFpbklkKS5tYXAoXG4gICAgICAoW2NoYWluSWQsIGNvbnRyYWN0czJdKSA9PiBtdWx0aWNhbGwoe1xuICAgICAgICBhbGxvd0ZhaWx1cmUsXG4gICAgICAgIGNoYWluSWQ6IHBhcnNlSW50KGNoYWluSWQpLFxuICAgICAgICBjb250cmFjdHM6IGNvbnRyYWN0czIubWFwKFxuICAgICAgICAgICh7IGNvbnRyYWN0IH0pID0+IGNvbnRyYWN0XG4gICAgICAgICksXG4gICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICBibG9ja1RhZ1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IG11bHRpY2FsbFJlc3VsdHMgPSAoYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMoKSkpLmZsYXQoKTtcbiAgICBjb25zdCByZXN1bHRJbmRleGVzID0gT2JqZWN0LnZhbHVlcyhjb250cmFjdHNCeUNoYWluSWQpLmZsYXRNYXAoXG4gICAgICAoY29udHJhY3RzMikgPT4gY29udHJhY3RzMi5tYXAoKHsgaW5kZXggfSkgPT4gaW5kZXgpXG4gICAgKTtcbiAgICByZXR1cm4gbXVsdGljYWxsUmVzdWx0cy5yZWR1Y2UoKHJlc3VsdHMsIHJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChyZXN1bHRzKVxuICAgICAgICByZXN1bHRzW3Jlc3VsdEluZGV4ZXNbaW5kZXhdXSA9IHJlc3VsdDtcbiAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH0sIFtdKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIENvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcjIpXG4gICAgICB0aHJvdyBlcnI7XG4gICAgY29uc3QgcHJvbWlzZXMgPSAoKSA9PiBjb250cmFjdHMubWFwKFxuICAgICAgKGNvbnRyYWN0KSA9PiByZWFkQ29udHJhY3QoeyAuLi5jb250cmFjdCwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnIH0pXG4gICAgKTtcbiAgICBpZiAoYWxsb3dGYWlsdXJlKVxuICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMoKSkpLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiKVxuICAgICAgICAgIHJldHVybiB7IHJlc3VsdDogcmVzdWx0LnZhbHVlLCBzdGF0dXM6IFwic3VjY2Vzc1wiIH07XG4gICAgICAgIHJldHVybiB7IGVycm9yOiByZXN1bHQucmVhc29uLCByZXN1bHQ6IHZvaWQgMCwgc3RhdHVzOiBcImZhaWx1cmVcIiB9O1xuICAgICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKCkpO1xuICB9XG59XG5cbi8vIHNyYy9hY3Rpb25zL2NvbnRyYWN0cy93YXRjaENvbnRyYWN0RXZlbnQudHNcbmltcG9ydCB7IHNoYWxsb3cgYXMgc2hhbGxvdzIgfSBmcm9tIFwienVzdGFuZC9zaGFsbG93XCI7XG5mdW5jdGlvbiB3YXRjaENvbnRyYWN0RXZlbnQoe1xuICBhZGRyZXNzLFxuICBhYmksXG4gIGNoYWluSWQsXG4gIGV2ZW50TmFtZVxufSwgY2FsbGJhY2spIHtcbiAgbGV0IHVud2F0Y2g7XG4gIGNvbnN0IHdhdGNoRXZlbnQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHVud2F0Y2gpXG4gICAgICB1bndhdGNoKCk7XG4gICAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSB8fCBnZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICAgIHVud2F0Y2ggPSBwdWJsaWNDbGllbnQud2F0Y2hDb250cmFjdEV2ZW50KHtcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhYmksXG4gICAgICBldmVudE5hbWUsXG4gICAgICBvbkxvZ3M6IGNhbGxiYWNrXG4gICAgfSk7XG4gIH07XG4gIHdhdGNoRXZlbnQoKTtcbiAgY29uc3QgY29uZmlnMiA9IGdldENvbmZpZygpO1xuICBjb25zdCB1bnN1YnNjcmliZSA9IGNvbmZpZzIuc3Vic2NyaWJlKFxuICAgICh7IHB1YmxpY0NsaWVudCwgd2ViU29ja2V0UHVibGljQ2xpZW50IH0pID0+ICh7XG4gICAgICBwdWJsaWNDbGllbnQsXG4gICAgICB3ZWJTb2NrZXRQdWJsaWNDbGllbnRcbiAgICB9KSxcbiAgICB3YXRjaEV2ZW50LFxuICAgIHsgZXF1YWxpdHlGbjogc2hhbGxvdzIgfVxuICApO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIHVud2F0Y2g/LigpO1xuICAgIHVuc3Vic2NyaWJlKCk7XG4gIH07XG59XG5cbi8vIHNyYy9hY3Rpb25zL25ldHdvcmstc3RhdHVzL3dhdGNoQmxvY2tOdW1iZXIudHNcbmltcG9ydCB7IHNoYWxsb3cgYXMgc2hhbGxvdzMgfSBmcm9tIFwienVzdGFuZC9zaGFsbG93XCI7XG5mdW5jdGlvbiB3YXRjaEJsb2NrTnVtYmVyKGFyZ3MsIGNhbGxiYWNrKSB7XG4gIGxldCB1bndhdGNoO1xuICBjb25zdCBjcmVhdGVMaXN0ZW5lciA9IChwdWJsaWNDbGllbnQpID0+IHtcbiAgICBpZiAodW53YXRjaClcbiAgICAgIHVud2F0Y2goKTtcbiAgICB1bndhdGNoID0gcHVibGljQ2xpZW50LndhdGNoQmxvY2tOdW1iZXIoe1xuICAgICAgb25CbG9ja051bWJlcjogY2FsbGJhY2ssXG4gICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgIHBvbGw6IHRydWVcbiAgICB9KTtcbiAgfTtcbiAgY29uc3QgcHVibGljQ2xpZW50XyA9IGdldFdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQ6IGFyZ3MuY2hhaW5JZCB9KSA/PyBnZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkOiBhcmdzLmNoYWluSWQgfSk7XG4gIGlmIChhcmdzLmxpc3RlbilcbiAgICBjcmVhdGVMaXN0ZW5lcihwdWJsaWNDbGllbnRfKTtcbiAgY29uc3QgY29uZmlnMiA9IGdldENvbmZpZygpO1xuICBjb25zdCB1bnN1YnNjcmliZSA9IGNvbmZpZzIuc3Vic2NyaWJlKFxuICAgICh7IHB1YmxpY0NsaWVudCwgd2ViU29ja2V0UHVibGljQ2xpZW50IH0pID0+ICh7XG4gICAgICBwdWJsaWNDbGllbnQsXG4gICAgICB3ZWJTb2NrZXRQdWJsaWNDbGllbnRcbiAgICB9KSxcbiAgICBhc3luYyAoeyBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9KSA9PiB7XG4gICAgICBjb25zdCBwdWJsaWNDbGllbnRfMiA9IHdlYlNvY2tldFB1YmxpY0NsaWVudCA/PyBwdWJsaWNDbGllbnQ7XG4gICAgICBpZiAoYXJncy5saXN0ZW4gJiYgIWFyZ3MuY2hhaW5JZCAmJiBwdWJsaWNDbGllbnRfMikge1xuICAgICAgICBjcmVhdGVMaXN0ZW5lcihwdWJsaWNDbGllbnRfMik7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBlcXVhbGl0eUZuOiBzaGFsbG93M1xuICAgIH1cbiAgKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICB1bnN1YnNjcmliZSgpO1xuICAgIHVud2F0Y2g/LigpO1xuICB9O1xufVxuXG4vLyBzcmMvYWN0aW9ucy9jb250cmFjdHMvd2F0Y2hNdWx0aWNhbGwudHNcbmZ1bmN0aW9uIHdhdGNoTXVsdGljYWxsKGFyZ3MsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gYXN5bmMgKCkgPT4gY2FsbGJhY2soYXdhaXQgbXVsdGljYWxsKGFyZ3MpKTtcbiAgY29uc3QgdW53YXRjaCA9IGFyZ3MubGlzdGVuVG9CbG9jayA/IHdhdGNoQmxvY2tOdW1iZXIoeyBsaXN0ZW46IHRydWUgfSwgaGFuZGxlQ2hhbmdlKSA6IHZvaWQgMDtcbiAgY29uc3QgdW5zdWJzY3JpYmUgPSBjb25maWcyLnN1YnNjcmliZShcbiAgICAoeyBwdWJsaWNDbGllbnQgfSkgPT4gcHVibGljQ2xpZW50LFxuICAgIGhhbmRsZUNoYW5nZVxuICApO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgdW53YXRjaD8uKCk7XG4gIH07XG59XG5cbi8vIHNyYy9hY3Rpb25zL2NvbnRyYWN0cy93YXRjaFJlYWRDb250cmFjdC50c1xuZnVuY3Rpb24gd2F0Y2hSZWFkQ29udHJhY3QoYXJncywgY2FsbGJhY2spIHtcbiAgY29uc3QgY29uZmlnMiA9IGdldENvbmZpZygpO1xuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSBhc3luYyAoKSA9PiBjYWxsYmFjayhhd2FpdCByZWFkQ29udHJhY3QoYXJncykpO1xuICBjb25zdCB1bndhdGNoID0gYXJncy5saXN0ZW5Ub0Jsb2NrID8gd2F0Y2hCbG9ja051bWJlcih7IGxpc3RlbjogdHJ1ZSB9LCBoYW5kbGVDaGFuZ2UpIDogdm9pZCAwO1xuICBjb25zdCB1bnN1YnNjcmliZSA9IGNvbmZpZzIuc3Vic2NyaWJlKFxuICAgICh7IHB1YmxpY0NsaWVudCB9KSA9PiBwdWJsaWNDbGllbnQsXG4gICAgaGFuZGxlQ2hhbmdlXG4gICk7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgdW5zdWJzY3JpYmUoKTtcbiAgICB1bndhdGNoPy4oKTtcbiAgfTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvY29udHJhY3RzL3dhdGNoUmVhZENvbnRyYWN0cy50c1xuZnVuY3Rpb24gd2F0Y2hSZWFkQ29udHJhY3RzKGFyZ3MsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gYXN5bmMgKCkgPT4gY2FsbGJhY2soYXdhaXQgcmVhZENvbnRyYWN0cyhhcmdzKSk7XG4gIGNvbnN0IHVud2F0Y2ggPSBhcmdzLmxpc3RlblRvQmxvY2sgPyB3YXRjaEJsb2NrTnVtYmVyKHsgbGlzdGVuOiB0cnVlIH0sIGhhbmRsZUNoYW5nZSkgOiB2b2lkIDA7XG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gY29uZmlnMi5zdWJzY3JpYmUoXG4gICAgKHsgcHVibGljQ2xpZW50IH0pID0+IHB1YmxpY0NsaWVudCxcbiAgICBoYW5kbGVDaGFuZ2VcbiAgKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICB1bnN1YnNjcmliZSgpO1xuICAgIHVud2F0Y2g/LigpO1xuICB9O1xufVxuXG4vLyBzcmMvYWN0aW9ucy9jb250cmFjdHMvd3JpdGVDb250cmFjdC50c1xuYXN5bmMgZnVuY3Rpb24gd3JpdGVDb250cmFjdChjb25maWcyKSB7XG4gIGNvbnN0IHdhbGxldENsaWVudCA9IGF3YWl0IGdldFdhbGxldENsaWVudCh7IGNoYWluSWQ6IGNvbmZpZzIuY2hhaW5JZCB9KTtcbiAgaWYgKCF3YWxsZXRDbGllbnQpXG4gICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgaWYgKGNvbmZpZzIuY2hhaW5JZClcbiAgICBhc3NlcnRBY3RpdmVDaGFpbih7IGNoYWluSWQ6IGNvbmZpZzIuY2hhaW5JZCB9KTtcbiAgbGV0IHJlcXVlc3Q7XG4gIGlmIChjb25maWcyLm1vZGUgPT09IFwicHJlcGFyZWRcIikge1xuICAgIHJlcXVlc3QgPSBjb25maWcyLnJlcXVlc3Q7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgeyBjaGFpbklkOiBfLCBtb2RlOiBfXywgLi4uYXJncyB9ID0gY29uZmlnMjtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBwcmVwYXJlV3JpdGVDb250cmFjdChhcmdzKTtcbiAgICByZXF1ZXN0ID0gcmVzLnJlcXVlc3Q7XG4gIH1cbiAgY29uc3QgaGFzaCA9IGF3YWl0IHdhbGxldENsaWVudC53cml0ZUNvbnRyYWN0KHtcbiAgICAuLi5yZXF1ZXN0LFxuICAgIGNoYWluOiBudWxsXG4gIH0pO1xuICByZXR1cm4geyBoYXNoIH07XG59XG5cbi8vIHNyYy9hY3Rpb25zL2FjY291bnRzL2ZldGNoQmFsYW5jZS50c1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hCYWxhbmNlKHtcbiAgYWRkcmVzcyxcbiAgY2hhaW5JZCxcbiAgZm9ybWF0VW5pdHM6IHVuaXQsXG4gIHRva2VuXG59KSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgaWYgKHRva2VuKSB7XG4gICAgY29uc3QgZmV0Y2hDb250cmFjdEJhbGFuY2UgPSBhc3luYyAoeyBhYmkgfSkgPT4ge1xuICAgICAgY29uc3QgZXJjMjBDb25maWcgPSB7IGFiaSwgYWRkcmVzczogdG9rZW4sIGNoYWluSWQgfTtcbiAgICAgIGNvbnN0IFt2YWx1ZTIsIGRlY2ltYWxzLCBzeW1ib2xdID0gYXdhaXQgcmVhZENvbnRyYWN0cyh7XG4gICAgICAgIGFsbG93RmFpbHVyZTogZmFsc2UsXG4gICAgICAgIGNvbnRyYWN0czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLmVyYzIwQ29uZmlnLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiBcImJhbGFuY2VPZlwiLFxuICAgICAgICAgICAgYXJnczogW2FkZHJlc3NdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLmVyYzIwQ29uZmlnLCBmdW5jdGlvbk5hbWU6IFwiZGVjaW1hbHNcIiB9LFxuICAgICAgICAgIHsgLi4uZXJjMjBDb25maWcsIGZ1bmN0aW9uTmFtZTogXCJzeW1ib2xcIiB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGVjaW1hbHMsXG4gICAgICAgIGZvcm1hdHRlZDogZm9ybWF0VW5pdHMyKHZhbHVlMiA/PyBcIjBcIiwgZ2V0VW5pdCh1bml0ID8/IGRlY2ltYWxzKSksXG4gICAgICAgIHN5bWJvbCxcbiAgICAgICAgdmFsdWU6IHZhbHVlMlxuICAgICAgfTtcbiAgICB9O1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgZmV0Y2hDb250cmFjdEJhbGFuY2UoeyBhYmk6IGVyYzIwQUJJIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIENvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcjMpIHtcbiAgICAgICAgY29uc3QgeyBzeW1ib2wsIC4uLnJlc3QgfSA9IGF3YWl0IGZldGNoQ29udHJhY3RCYWxhbmNlKHtcbiAgICAgICAgICBhYmk6IGVyYzIwQUJJX2J5dGVzMzJcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3ltYm9sOiBoZXhUb1N0cmluZzIodHJpbTIoc3ltYm9sLCB7IGRpcjogXCJyaWdodFwiIH0pKSxcbiAgICAgICAgICAuLi5yZXN0XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG4gIGNvbnN0IGNoYWlucyA9IFtcbiAgICAuLi5jb25maWcyLnB1YmxpY0NsaWVudC5jaGFpbnMgfHwgW10sXG4gICAgLi4uY29uZmlnMi5jaGFpbnMgPz8gW11cbiAgXTtcbiAgY29uc3QgdmFsdWUgPSBhd2FpdCBwdWJsaWNDbGllbnQuZ2V0QmFsYW5jZSh7IGFkZHJlc3MgfSk7XG4gIGNvbnN0IGNoYWluID0gY2hhaW5zLmZpbmQoKHgpID0+IHguaWQgPT09IHB1YmxpY0NsaWVudC5jaGFpbi5pZCk7XG4gIHJldHVybiB7XG4gICAgZGVjaW1hbHM6IGNoYWluPy5uYXRpdmVDdXJyZW5jeS5kZWNpbWFscyA/PyAxOCxcbiAgICBmb3JtYXR0ZWQ6IGZvcm1hdFVuaXRzMih2YWx1ZSA/PyBcIjBcIiwgZ2V0VW5pdCh1bml0ID8/IDE4KSksXG4gICAgc3ltYm9sOiBjaGFpbj8ubmF0aXZlQ3VycmVuY3kuc3ltYm9sID8/IFwiRVRIXCIsXG4gICAgdmFsdWVcbiAgfTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvYWNjb3VudHMvZ2V0QWNjb3VudC50c1xuZnVuY3Rpb24gZ2V0QWNjb3VudCgpIHtcbiAgY29uc3QgeyBkYXRhLCBjb25uZWN0b3IsIHN0YXR1cyB9ID0gZ2V0Q29uZmlnKCk7XG4gIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgY2FzZSBcImNvbm5lY3RlZFwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkcmVzczogZGF0YT8uYWNjb3VudCxcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBpc0Nvbm5lY3RlZDogdHJ1ZSxcbiAgICAgICAgaXNDb25uZWN0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNEaXNjb25uZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBpc1JlY29ubmVjdGluZzogZmFsc2UsXG4gICAgICAgIHN0YXR1c1xuICAgICAgfTtcbiAgICBjYXNlIFwicmVjb25uZWN0aW5nXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiBkYXRhPy5hY2NvdW50LFxuICAgICAgICBjb25uZWN0b3IsXG4gICAgICAgIGlzQ29ubmVjdGVkOiAhIWRhdGE/LmFjY291bnQsXG4gICAgICAgIGlzQ29ubmVjdGluZzogZmFsc2UsXG4gICAgICAgIGlzRGlzY29ubmVjdGVkOiBmYWxzZSxcbiAgICAgICAgaXNSZWNvbm5lY3Rpbmc6IHRydWUsXG4gICAgICAgIHN0YXR1c1xuICAgICAgfTtcbiAgICBjYXNlIFwiY29ubmVjdGluZ1wiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkcmVzczogZGF0YT8uYWNjb3VudCxcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBpc0Nvbm5lY3RlZDogZmFsc2UsXG4gICAgICAgIGlzQ29ubmVjdGluZzogdHJ1ZSxcbiAgICAgICAgaXNEaXNjb25uZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBpc1JlY29ubmVjdGluZzogZmFsc2UsXG4gICAgICAgIHN0YXR1c1xuICAgICAgfTtcbiAgICBjYXNlIFwiZGlzY29ubmVjdGVkXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiB2b2lkIDAsXG4gICAgICAgIGNvbm5lY3Rvcjogdm9pZCAwLFxuICAgICAgICBpc0Nvbm5lY3RlZDogZmFsc2UsXG4gICAgICAgIGlzQ29ubmVjdGluZzogZmFsc2UsXG4gICAgICAgIGlzRGlzY29ubmVjdGVkOiB0cnVlLFxuICAgICAgICBpc1JlY29ubmVjdGluZzogZmFsc2UsXG4gICAgICAgIHN0YXR1c1xuICAgICAgfTtcbiAgfVxufVxuXG4vLyBzcmMvYWN0aW9ucy9hY2NvdW50cy9nZXROZXR3b3JrLnRzXG5mdW5jdGlvbiBnZXROZXR3b3JrKCkge1xuICBjb25zdCBjb25maWcyID0gZ2V0Q29uZmlnKCk7XG4gIGNvbnN0IGNoYWluSWQgPSBjb25maWcyLmRhdGE/LmNoYWluPy5pZDtcbiAgY29uc3QgYWN0aXZlQ2hhaW5zID0gY29uZmlnMi5jaGFpbnMgPz8gW107XG4gIGNvbnN0IGFjdGl2ZUNoYWluID0gW1xuICAgIC4uLmNvbmZpZzIucHVibGljQ2xpZW50Py5jaGFpbnMgfHwgW10sXG4gICAgLi4uYWN0aXZlQ2hhaW5zXG4gIF0uZmluZCgoeCkgPT4geC5pZCA9PT0gY2hhaW5JZCkgPz8ge1xuICAgIGlkOiBjaGFpbklkLFxuICAgIG5hbWU6IGBDaGFpbiAke2NoYWluSWR9YCxcbiAgICBuZXR3b3JrOiBgJHtjaGFpbklkfWAsXG4gICAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBkZWNpbWFsczogMTgsIHN5bWJvbDogXCJFVEhcIiB9LFxuICAgIHJwY1VybHM6IHtcbiAgICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiXCJdIH0sXG4gICAgICBwdWJsaWM6IHsgaHR0cDogW1wiXCJdIH1cbiAgICB9XG4gIH07XG4gIHJldHVybiB7XG4gICAgY2hhaW46IGNoYWluSWQgPyB7XG4gICAgICAuLi5hY3RpdmVDaGFpbixcbiAgICAgIC4uLmNvbmZpZzIuZGF0YT8uY2hhaW4sXG4gICAgICBpZDogY2hhaW5JZFxuICAgIH0gOiB2b2lkIDAsXG4gICAgY2hhaW5zOiBhY3RpdmVDaGFpbnNcbiAgfTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvYWNjb3VudHMvc2lnbk1lc3NhZ2UudHNcbmFzeW5jIGZ1bmN0aW9uIHNpZ25NZXNzYWdlKGFyZ3MpIHtcbiAgY29uc3Qgd2FsbGV0Q2xpZW50ID0gYXdhaXQgZ2V0V2FsbGV0Q2xpZW50KCk7XG4gIGlmICghd2FsbGV0Q2xpZW50KVxuICAgIHRocm93IG5ldyBDb25uZWN0b3JOb3RGb3VuZEVycm9yKCk7XG4gIHJldHVybiBhd2FpdCB3YWxsZXRDbGllbnQuc2lnbk1lc3NhZ2Uoe1xuICAgIG1lc3NhZ2U6IGFyZ3MubWVzc2FnZVxuICB9KTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvYWNjb3VudHMvc2lnblR5cGVkRGF0YS50c1xuYXN5bmMgZnVuY3Rpb24gc2lnblR5cGVkRGF0YSh7XG4gIGRvbWFpbixcbiAgbWVzc2FnZSxcbiAgcHJpbWFyeVR5cGUsXG4gIHR5cGVzXG59KSB7XG4gIGNvbnN0IHdhbGxldENsaWVudCA9IGF3YWl0IGdldFdhbGxldENsaWVudCgpO1xuICBpZiAoIXdhbGxldENsaWVudClcbiAgICB0aHJvdyBuZXcgQ29ubmVjdG9yTm90Rm91bmRFcnJvcigpO1xuICBjb25zdCB7IGNoYWluSWQgfSA9IGRvbWFpbjtcbiAgaWYgKGNoYWluSWQpXG4gICAgYXNzZXJ0QWN0aXZlQ2hhaW4oeyBjaGFpbklkIH0pO1xuICByZXR1cm4gd2FsbGV0Q2xpZW50LnNpZ25UeXBlZERhdGEoe1xuICAgIG1lc3NhZ2UsXG4gICAgcHJpbWFyeVR5cGUsXG4gICAgdHlwZXMsXG4gICAgZG9tYWluXG4gIH0pO1xufVxuXG4vLyBzcmMvYWN0aW9ucy9hY2NvdW50cy9zd2l0Y2hOZXR3b3JrLnRzXG5hc3luYyBmdW5jdGlvbiBzd2l0Y2hOZXR3b3JrKHtcbiAgY2hhaW5JZFxufSkge1xuICBjb25zdCB7IGNvbm5lY3RvciB9ID0gZ2V0Q29uZmlnKCk7XG4gIGlmICghY29ubmVjdG9yKVxuICAgIHRocm93IG5ldyBDb25uZWN0b3JOb3RGb3VuZEVycm9yKCk7XG4gIGlmICghY29ubmVjdG9yLnN3aXRjaENoYWluKVxuICAgIHRocm93IG5ldyBTd2l0Y2hDaGFpbk5vdFN1cHBvcnRlZEVycm9yKHtcbiAgICAgIGNvbm5lY3RvclxuICAgIH0pO1xuICByZXR1cm4gY29ubmVjdG9yLnN3aXRjaENoYWluKGNoYWluSWQpO1xufVxuXG4vLyBzcmMvYWN0aW9ucy9hY2NvdW50cy93YXRjaEFjY291bnQudHNcbmltcG9ydCB7IHNoYWxsb3cgYXMgc2hhbGxvdzQgfSBmcm9tIFwienVzdGFuZC9zaGFsbG93XCI7XG5mdW5jdGlvbiB3YXRjaEFjY291bnQoY2FsbGJhY2ssIHsgc2VsZWN0b3IgPSAoeCkgPT4geCB9ID0ge30pIHtcbiAgY29uc3QgY29uZmlnMiA9IGdldENvbmZpZygpO1xuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoKSA9PiBjYWxsYmFjayhnZXRBY2NvdW50KCkpO1xuICBjb25zdCB1bnN1YnNjcmliZSA9IGNvbmZpZzIuc3Vic2NyaWJlKFxuICAgICh7IGRhdGEsIGNvbm5lY3Rvciwgc3RhdHVzIH0pID0+IHNlbGVjdG9yKHtcbiAgICAgIGFkZHJlc3M6IGRhdGE/LmFjY291bnQsXG4gICAgICBjb25uZWN0b3IsXG4gICAgICBzdGF0dXNcbiAgICB9KSxcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAge1xuICAgICAgZXF1YWxpdHlGbjogc2hhbGxvdzRcbiAgICB9XG4gICk7XG4gIHJldHVybiB1bnN1YnNjcmliZTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvYWNjb3VudHMvd2F0Y2hOZXR3b3JrLnRzXG5pbXBvcnQgeyBzaGFsbG93IGFzIHNoYWxsb3c1IH0gZnJvbSBcInp1c3RhbmQvc2hhbGxvd1wiO1xuZnVuY3Rpb24gd2F0Y2hOZXR3b3JrKGNhbGxiYWNrLCB7IHNlbGVjdG9yID0gKHgpID0+IHggfSA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKCkgPT4gY2FsbGJhY2soZ2V0TmV0d29yaygpKTtcbiAgY29uc3QgdW5zdWJzY3JpYmUgPSBjb25maWcyLnN1YnNjcmliZShcbiAgICAoeyBkYXRhLCBjaGFpbnMgfSkgPT4gc2VsZWN0b3IoeyBjaGFpbklkOiBkYXRhPy5jaGFpbj8uaWQsIGNoYWlucyB9KSxcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAge1xuICAgICAgZXF1YWxpdHlGbjogc2hhbGxvdzVcbiAgICB9XG4gICk7XG4gIHJldHVybiB1bnN1YnNjcmliZTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvZW5zL2ZldGNoRW5zQWRkcmVzcy50c1xuaW1wb3J0IHsgZ2V0QWRkcmVzcyB9IGZyb20gXCJ2aWVtXCI7XG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tIFwidmllbS9lbnNcIjtcbmFzeW5jIGZ1bmN0aW9uIGZldGNoRW5zQWRkcmVzcyh7XG4gIGNoYWluSWQsXG4gIG5hbWVcbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgY29uc3QgYWRkcmVzcyA9IGF3YWl0IHB1YmxpY0NsaWVudC5nZXRFbnNBZGRyZXNzKHtcbiAgICBuYW1lOiBub3JtYWxpemUobmFtZSlcbiAgfSk7XG4gIHRyeSB7XG4gICAgaWYgKGFkZHJlc3MgPT09IFwiMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXCIpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gYWRkcmVzcyA/IGdldEFkZHJlc3MoYWRkcmVzcykgOiBudWxsO1xuICB9IGNhdGNoIChfZXJyb3IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vLyBzcmMvYWN0aW9ucy9lbnMvZmV0Y2hFbnNBdmF0YXIudHNcbmltcG9ydCB7IG5vcm1hbGl6ZSBhcyBub3JtYWxpemUyIH0gZnJvbSBcInZpZW0vZW5zXCI7XG5hc3luYyBmdW5jdGlvbiBmZXRjaEVuc0F2YXRhcih7XG4gIG5hbWUsXG4gIGNoYWluSWRcbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgY29uc3QgYXZhdGFyID0gYXdhaXQgcHVibGljQ2xpZW50LmdldEVuc0F2YXRhcih7IG5hbWU6IG5vcm1hbGl6ZTIobmFtZSkgfSk7XG4gIHJldHVybiBhdmF0YXI7XG59XG5cbi8vIHNyYy9hY3Rpb25zL2Vucy9mZXRjaEVuc05hbWUudHNcbmltcG9ydCB7IGdldEFkZHJlc3MgYXMgZ2V0QWRkcmVzczIgfSBmcm9tIFwidmllbVwiO1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hFbnNOYW1lKHtcbiAgYWRkcmVzcyxcbiAgY2hhaW5JZFxufSkge1xuICBjb25zdCBwdWJsaWNDbGllbnQgPSBnZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICByZXR1cm4gcHVibGljQ2xpZW50LmdldEVuc05hbWUoe1xuICAgIGFkZHJlc3M6IGdldEFkZHJlc3MyKGFkZHJlc3MpXG4gIH0pO1xufVxuXG4vLyBzcmMvYWN0aW9ucy9lbnMvZmV0Y2hFbnNSZXNvbHZlci50c1xuaW1wb3J0IHsgbm9ybWFsaXplIGFzIG5vcm1hbGl6ZTMgfSBmcm9tIFwidmllbS9lbnNcIjtcbmFzeW5jIGZ1bmN0aW9uIGZldGNoRW5zUmVzb2x2ZXIoe1xuICBjaGFpbklkLFxuICBuYW1lXG59KSB7XG4gIGNvbnN0IHB1YmxpY0NsaWVudCA9IGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHJlc29sdmVyID0gYXdhaXQgcHVibGljQ2xpZW50LmdldEVuc1Jlc29sdmVyKHsgbmFtZTogbm9ybWFsaXplMyhuYW1lKSB9KTtcbiAgcmV0dXJuIHJlc29sdmVyO1xufVxuXG4vLyBzcmMvYWN0aW9ucy9uZXR3b3JrLXN0YXR1cy9mZXRjaEJsb2NrTnVtYmVyLnRzXG5hc3luYyBmdW5jdGlvbiBmZXRjaEJsb2NrTnVtYmVyKHtcbiAgY2hhaW5JZFxufSA9IHt9KSB7XG4gIGNvbnN0IHB1YmxpY0NsaWVudCA9IGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IGJsb2NrTnVtYmVyID0gYXdhaXQgcHVibGljQ2xpZW50LmdldEJsb2NrTnVtYmVyKCk7XG4gIHJldHVybiBibG9ja051bWJlcjtcbn1cblxuLy8gc3JjL2FjdGlvbnMvbmV0d29yay1zdGF0dXMvZmV0Y2hGZWVEYXRhLnRzXG5pbXBvcnQgeyBmb3JtYXRVbml0cyBhcyBmb3JtYXRVbml0czMsIHBhcnNlR3dlaSB9IGZyb20gXCJ2aWVtXCI7XG5hc3luYyBmdW5jdGlvbiBmZXRjaEZlZURhdGEoe1xuICBjaGFpbklkLFxuICBmb3JtYXRVbml0czogdW5pdHMgPSBcImd3ZWlcIlxufSA9IHt9KSB7XG4gIGNvbnN0IHB1YmxpY0NsaWVudCA9IGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IGJsb2NrID0gYXdhaXQgcHVibGljQ2xpZW50LmdldEJsb2NrKCk7XG4gIGxldCBnYXNQcmljZSA9IG51bGw7XG4gIHRyeSB7XG4gICAgZ2FzUHJpY2UgPSBhd2FpdCBwdWJsaWNDbGllbnQuZ2V0R2FzUHJpY2UoKTtcbiAgfSBjYXRjaCB7XG4gIH1cbiAgbGV0IGxhc3RCYXNlRmVlUGVyR2FzID0gbnVsbDtcbiAgbGV0IG1heEZlZVBlckdhcyA9IG51bGw7XG4gIGxldCBtYXhQcmlvcml0eUZlZVBlckdhcyA9IG51bGw7XG4gIGlmIChibG9jaz8uYmFzZUZlZVBlckdhcykge1xuICAgIGxhc3RCYXNlRmVlUGVyR2FzID0gYmxvY2suYmFzZUZlZVBlckdhcztcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyA9IHBhcnNlR3dlaShcIjFcIik7XG4gICAgbWF4RmVlUGVyR2FzID0gYmxvY2suYmFzZUZlZVBlckdhcyAqIDJuICsgbWF4UHJpb3JpdHlGZWVQZXJHYXM7XG4gIH1cbiAgY29uc3QgdW5pdCA9IGdldFVuaXQodW5pdHMpO1xuICBjb25zdCBmb3JtYXR0ZWQgPSB7XG4gICAgZ2FzUHJpY2U6IGdhc1ByaWNlID8gZm9ybWF0VW5pdHMzKGdhc1ByaWNlLCB1bml0KSA6IG51bGwsXG4gICAgbWF4RmVlUGVyR2FzOiBtYXhGZWVQZXJHYXMgPyBmb3JtYXRVbml0czMobWF4RmVlUGVyR2FzLCB1bml0KSA6IG51bGwsXG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IG1heFByaW9yaXR5RmVlUGVyR2FzID8gZm9ybWF0VW5pdHMzKG1heFByaW9yaXR5RmVlUGVyR2FzLCB1bml0KSA6IG51bGxcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBsYXN0QmFzZUZlZVBlckdhcyxcbiAgICBnYXNQcmljZSxcbiAgICBtYXhGZWVQZXJHYXMsXG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgZm9ybWF0dGVkXG4gIH07XG59XG5cbi8vIHNyYy9hY3Rpb25zL3RyYW5zYWN0aW9ucy9mZXRjaFRyYW5zYWN0aW9uLnRzXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uKHtcbiAgY2hhaW5JZCxcbiAgaGFzaFxufSkge1xuICBjb25zdCBwdWJsaWNDbGllbnQgPSBnZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICByZXR1cm4gcHVibGljQ2xpZW50LmdldFRyYW5zYWN0aW9uKHsgaGFzaCB9KTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvdHJhbnNhY3Rpb25zL3ByZXBhcmVTZW5kVHJhbnNhY3Rpb24udHNcbmltcG9ydCB7IGlzQWRkcmVzcyB9IGZyb20gXCJ2aWVtXCI7XG5hc3luYyBmdW5jdGlvbiBwcmVwYXJlU2VuZFRyYW5zYWN0aW9uKHtcbiAgYWNjZXNzTGlzdCxcbiAgYWNjb3VudCxcbiAgY2hhaW5JZCxcbiAgZGF0YSxcbiAgZ2FzOiBnYXNfLFxuICBnYXNQcmljZSxcbiAgbWF4RmVlUGVyR2FzLFxuICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgbm9uY2UsXG4gIHRvOiB0b18sXG4gIHZhbHVlLFxuICB3YWxsZXRDbGllbnQ6IHdhbGxldENsaWVudF9cbn0pIHtcbiAgY29uc3QgcHVibGljQ2xpZW50ID0gZ2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgY29uc3Qgd2FsbGV0Q2xpZW50ID0gd2FsbGV0Q2xpZW50XyA/PyBhd2FpdCBnZXRXYWxsZXRDbGllbnQoeyBjaGFpbklkIH0pO1xuICBpZiAoIXdhbGxldENsaWVudClcbiAgICB0aHJvdyBuZXcgQ29ubmVjdG9yTm90Rm91bmRFcnJvcigpO1xuICBpZiAoY2hhaW5JZClcbiAgICBhc3NlcnRBY3RpdmVDaGFpbih7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHRvID0gKHRvXyAmJiAhaXNBZGRyZXNzKHRvXykgPyBhd2FpdCBmZXRjaEVuc0FkZHJlc3MoeyBuYW1lOiB0b18gfSkgOiB0b18pIHx8IHZvaWQgMDtcbiAgaWYgKHRvICYmICFpc0FkZHJlc3ModG8pKVxuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgYWRkcmVzc1wiKTtcbiAgY29uc3QgZ2FzID0gdHlwZW9mIGdhc18gPT09IFwidW5kZWZpbmVkXCIgPyBhd2FpdCBwdWJsaWNDbGllbnQuZXN0aW1hdGVHYXMoe1xuICAgIGFjY2Vzc0xpc3QsXG4gICAgYWNjb3VudDogd2FsbGV0Q2xpZW50LmFjY291bnQsXG4gICAgZGF0YSxcbiAgICBnYXM6IGdhc18gPz8gdm9pZCAwLFxuICAgIGdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhcyxcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICBub25jZSxcbiAgICB0byxcbiAgICB2YWx1ZVxuICB9KSA6IGdhc18gfHwgdm9pZCAwO1xuICByZXR1cm4ge1xuICAgIGFjY2Vzc0xpc3QsXG4gICAgYWNjb3VudCxcbiAgICBkYXRhLFxuICAgIGdhcyxcbiAgICBnYXNQcmljZSxcbiAgICBtYXhGZWVQZXJHYXMsXG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgbW9kZTogXCJwcmVwYXJlZFwiLFxuICAgIG5vbmNlLFxuICAgIHRvLFxuICAgIHZhbHVlLFxuICAgIC4uLmNoYWluSWQgPyB7IGNoYWluSWQgfSA6IHt9XG4gIH07XG59XG5cbi8vIHNyYy9hY3Rpb25zL3RyYW5zYWN0aW9ucy9zZW5kVHJhbnNhY3Rpb24udHNcbmFzeW5jIGZ1bmN0aW9uIHNlbmRUcmFuc2FjdGlvbih7XG4gIGFjY2Vzc0xpc3QsXG4gIGFjY291bnQsXG4gIGNoYWluSWQsXG4gIGRhdGEsXG4gIGdhcyxcbiAgZ2FzUHJpY2UsXG4gIG1heEZlZVBlckdhcyxcbiAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gIG1vZGUsXG4gIG5vbmNlLFxuICB0byxcbiAgdmFsdWVcbn0pIHtcbiAgY29uc3Qgd2FsbGV0Q2xpZW50ID0gYXdhaXQgZ2V0V2FsbGV0Q2xpZW50KHsgY2hhaW5JZCB9KTtcbiAgaWYgKCF3YWxsZXRDbGllbnQpXG4gICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgaWYgKGNoYWluSWQpXG4gICAgYXNzZXJ0QWN0aXZlQ2hhaW4oeyBjaGFpbklkIH0pO1xuICBsZXQgYXJncztcbiAgaWYgKG1vZGUgPT09IFwicHJlcGFyZWRcIikge1xuICAgIGFyZ3MgPSB7XG4gICAgICBhY2NvdW50LFxuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGNoYWluOiBudWxsLFxuICAgICAgZGF0YSxcbiAgICAgIGdhcyxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICBub25jZSxcbiAgICAgIHRvLFxuICAgICAgdmFsdWVcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGFyZ3MgPSBhd2FpdCBwcmVwYXJlU2VuZFRyYW5zYWN0aW9uKHtcbiAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICBhY2NvdW50LFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGRhdGEsXG4gICAgICBnYXM6IGdhcyB8fCBudWxsLFxuICAgICAgZ2FzUHJpY2UsXG4gICAgICBtYXhGZWVQZXJHYXMsXG4gICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgIG5vbmNlLFxuICAgICAgdG8sXG4gICAgICB2YWx1ZVxuICAgIH0pO1xuICB9XG4gIGNvbnN0IGhhc2ggPSBhd2FpdCB3YWxsZXRDbGllbnQuc2VuZFRyYW5zYWN0aW9uKHsgLi4uYXJncywgY2hhaW46IG51bGwgfSk7XG4gIHJldHVybiB7IGhhc2ggfTtcbn1cblxuLy8gc3JjL2FjdGlvbnMvdHJhbnNhY3Rpb25zL3dhaXRGb3JUcmFuc2FjdGlvbi50c1xuaW1wb3J0IHsgaGV4VG9TdHJpbmcgYXMgaGV4VG9TdHJpbmczIH0gZnJvbSBcInZpZW1cIjtcbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JUcmFuc2FjdGlvbih7XG4gIGNoYWluSWQsXG4gIGNvbmZpcm1hdGlvbnMgPSAxLFxuICBoYXNoLFxuICBvblJlcGxhY2VkLFxuICB0aW1lb3V0ID0gMFxufSkge1xuICBjb25zdCBwdWJsaWNDbGllbnQgPSBnZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICBjb25zdCByZWNlaXB0ID0gYXdhaXQgcHVibGljQ2xpZW50LndhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQoe1xuICAgIGhhc2gsXG4gICAgY29uZmlybWF0aW9ucyxcbiAgICBvblJlcGxhY2VkLFxuICAgIHRpbWVvdXRcbiAgfSk7XG4gIGlmIChyZWNlaXB0LnN0YXR1cyA9PT0gXCJyZXZlcnRlZFwiKSB7XG4gICAgY29uc3QgdHhuID0gYXdhaXQgcHVibGljQ2xpZW50LmdldFRyYW5zYWN0aW9uKHtcbiAgICAgIGhhc2g6IHJlY2VpcHQudHJhbnNhY3Rpb25IYXNoXG4gICAgfSk7XG4gICAgY29uc3QgY29kZSA9IGF3YWl0IHB1YmxpY0NsaWVudC5jYWxsKHtcbiAgICAgIC4uLnR4bixcbiAgICAgIGdhc1ByaWNlOiB0eG4udHlwZSAhPT0gXCJlaXAxNTU5XCIgPyB0eG4uZ2FzUHJpY2UgOiB2b2lkIDAsXG4gICAgICBtYXhGZWVQZXJHYXM6IHR4bi50eXBlID09PSBcImVpcDE1NTlcIiA/IHR4bi5tYXhGZWVQZXJHYXMgOiB2b2lkIDAsXG4gICAgICBtYXhQcmlvcml0eUZlZVBlckdhczogdHhuLnR5cGUgPT09IFwiZWlwMTU1OVwiID8gdHhuLm1heFByaW9yaXR5RmVlUGVyR2FzIDogdm9pZCAwXG4gICAgfSk7XG4gICAgY29uc3QgcmVhc29uID0gaGV4VG9TdHJpbmczKGAweCR7Y29kZS5zdWJzdHJpbmcoMTM4KX1gKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IocmVhc29uKTtcbiAgfVxuICByZXR1cm4gcmVjZWlwdDtcbn1cblxuLy8gc3JjL2FjdGlvbnMvdHJhbnNhY3Rpb25zL3dhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucy50c1xuaW1wb3J0IHsgc2hhbGxvdyBhcyBzaGFsbG93NiB9IGZyb20gXCJ6dXN0YW5kL3NoYWxsb3dcIjtcbmZ1bmN0aW9uIHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucyhhcmdzLCBjYWxsYmFjaykge1xuICBsZXQgdW53YXRjaDtcbiAgY29uc3QgY3JlYXRlTGlzdGVuZXIgPSAocHVibGljQ2xpZW50KSA9PiB7XG4gICAgaWYgKHVud2F0Y2gpXG4gICAgICB1bndhdGNoKCk7XG4gICAgdW53YXRjaCA9IHB1YmxpY0NsaWVudC53YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMoe1xuICAgICAgb25UcmFuc2FjdGlvbnM6IGNhbGxiYWNrLFxuICAgICAgcG9sbDogdHJ1ZVxuICAgIH0pO1xuICB9O1xuICBjb25zdCBwdWJsaWNDbGllbnRfID0gZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZDogYXJncy5jaGFpbklkIH0pID8/IGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQ6IGFyZ3MuY2hhaW5JZCB9KTtcbiAgY3JlYXRlTGlzdGVuZXIocHVibGljQ2xpZW50Xyk7XG4gIGNvbnN0IGNvbmZpZzIgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgdW5zdWJzY3JpYmUgPSBjb25maWcyLnN1YnNjcmliZShcbiAgICAoeyBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9KSA9PiAoe1xuICAgICAgcHVibGljQ2xpZW50LFxuICAgICAgd2ViU29ja2V0UHVibGljQ2xpZW50XG4gICAgfSksXG4gICAgYXN5bmMgKHsgcHVibGljQ2xpZW50LCB3ZWJTb2NrZXRQdWJsaWNDbGllbnQgfSkgPT4ge1xuICAgICAgY29uc3QgcHVibGljQ2xpZW50XzIgPSB3ZWJTb2NrZXRQdWJsaWNDbGllbnQgPz8gcHVibGljQ2xpZW50O1xuICAgICAgaWYgKCFhcmdzLmNoYWluSWQgJiYgcHVibGljQ2xpZW50XzIpIHtcbiAgICAgICAgY3JlYXRlTGlzdGVuZXIocHVibGljQ2xpZW50XzIpO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZXF1YWxpdHlGbjogc2hhbGxvdzZcbiAgICB9XG4gICk7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgdW5zdWJzY3JpYmUoKTtcbiAgICB1bndhdGNoPy4oKTtcbiAgfTtcbn1cblxuLy8gc3JjL3V0aWxzL2Fzc2VydEFjdGl2ZUNoYWluLnRzXG5mdW5jdGlvbiBhc3NlcnRBY3RpdmVDaGFpbih7IGNoYWluSWQgfSkge1xuICBjb25zdCB7IGNoYWluOiBhY3RpdmVDaGFpbiwgY2hhaW5zIH0gPSBnZXROZXR3b3JrKCk7XG4gIGNvbnN0IGFjdGl2ZUNoYWluSWQgPSBhY3RpdmVDaGFpbj8uaWQ7XG4gIGlmIChhY3RpdmVDaGFpbklkICYmIGNoYWluSWQgIT09IGFjdGl2ZUNoYWluSWQpIHtcbiAgICB0aHJvdyBuZXcgQ2hhaW5NaXNtYXRjaEVycm9yKHtcbiAgICAgIGFjdGl2ZUNoYWluOiBjaGFpbnMuZmluZCgoeCkgPT4geC5pZCA9PT0gYWN0aXZlQ2hhaW5JZCk/Lm5hbWUgPz8gYENoYWluICR7YWN0aXZlQ2hhaW5JZH1gLFxuICAgICAgdGFyZ2V0Q2hhaW46IGNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKT8ubmFtZSA/PyBgQ2hhaW4gJHtjaGFpbklkfWBcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQge1xuICBjb25maWd1cmVDaGFpbnMsXG4gIENoYWluTWlzbWF0Y2hFcnJvcixcbiAgQ2hhaW5Ob3RDb25maWd1cmVkRXJyb3IsXG4gIENvbm5lY3RvckFscmVhZHlDb25uZWN0ZWRFcnJvcixcbiAgQ29uZmlnQ2hhaW5zTm90Rm91bmQsXG4gIFN3aXRjaENoYWluTm90U3VwcG9ydGVkRXJyb3IsXG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3IsXG4gIGRlZXBFcXVhbCxcbiAgZGVzZXJpYWxpemUsXG4gIGdldENhbGxQYXJhbWV0ZXJzLFxuICBnZXRTZW5kVHJhbnNhY3Rpb25QYXJhbWV0ZXJzLFxuICBnZXRVbml0LFxuICBzZXJpYWxpemUsXG4gIG5vb3BTdG9yYWdlLFxuICBjcmVhdGVTdG9yYWdlLFxuICBDb25maWcsXG4gIGNyZWF0ZUNvbmZpZyxcbiAgZ2V0Q29uZmlnLFxuICBjb25uZWN0LFxuICBkaXNjb25uZWN0LFxuICBlcmMyMEFCSSxcbiAgZXJjNzIxQUJJLFxuICBlcmM0NjI2QUJJLFxuICBmZXRjaFRva2VuLFxuICBnZXRQdWJsaWNDbGllbnQsXG4gIGdldFdhbGxldENsaWVudCxcbiAgZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50LFxuICB3YXRjaFB1YmxpY0NsaWVudCxcbiAgd2F0Y2hXYWxsZXRDbGllbnQsXG4gIHdhdGNoV2ViU29ja2V0UHVibGljQ2xpZW50LFxuICBwcmVwYXJlV3JpdGVDb250cmFjdCxcbiAgZ2V0Q29udHJhY3QsXG4gIG11bHRpY2FsbCxcbiAgcmVhZENvbnRyYWN0LFxuICByZWFkQ29udHJhY3RzLFxuICB3YXRjaENvbnRyYWN0RXZlbnQsXG4gIHdhdGNoQmxvY2tOdW1iZXIsXG4gIHdhdGNoTXVsdGljYWxsLFxuICB3YXRjaFJlYWRDb250cmFjdCxcbiAgd2F0Y2hSZWFkQ29udHJhY3RzLFxuICB3cml0ZUNvbnRyYWN0LFxuICBmZXRjaEJhbGFuY2UsXG4gIGdldEFjY291bnQsXG4gIGdldE5ldHdvcmssXG4gIHNpZ25NZXNzYWdlLFxuICBzaWduVHlwZWREYXRhLFxuICBzd2l0Y2hOZXR3b3JrLFxuICB3YXRjaEFjY291bnQsXG4gIHdhdGNoTmV0d29yayxcbiAgZmV0Y2hFbnNBZGRyZXNzLFxuICBmZXRjaEVuc0F2YXRhcixcbiAgZmV0Y2hFbnNOYW1lLFxuICBmZXRjaEVuc1Jlc29sdmVyLFxuICBmZXRjaEJsb2NrTnVtYmVyLFxuICBmZXRjaEZlZURhdGEsXG4gIGZldGNoVHJhbnNhY3Rpb24sXG4gIHByZXBhcmVTZW5kVHJhbnNhY3Rpb24sXG4gIHNlbmRUcmFuc2FjdGlvbixcbiAgd2FpdEZvclRyYW5zYWN0aW9uLFxuICB3YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnNcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/chunk-MQXBDTVK.js": -/*!*********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/chunk-MQXBDTVK.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __privateAdd: function() { return /* binding */ __privateAdd; },\n/* harmony export */ __privateGet: function() { return /* binding */ __privateGet; },\n/* harmony export */ __privateMethod: function() { return /* binding */ __privateMethod; },\n/* harmony export */ __privateSet: function() { return /* binding */ __privateSet; }\n/* harmony export */ });\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\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jaHVuay1NUVhCRFRWSy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBT0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL2Rpc3QvY2h1bmstTVFYQkRUVksuanM/MWYzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hY2Nlc3NDaGVjayA9IChvYmosIG1lbWJlciwgbXNnKSA9PiB7XG4gIGlmICghbWVtYmVyLmhhcyhvYmopKVxuICAgIHRocm93IFR5cGVFcnJvcihcIkNhbm5vdCBcIiArIG1zZyk7XG59O1xudmFyIF9fcHJpdmF0ZUdldCA9IChvYmosIG1lbWJlciwgZ2V0dGVyKSA9PiB7XG4gIF9fYWNjZXNzQ2hlY2sob2JqLCBtZW1iZXIsIFwicmVhZCBmcm9tIHByaXZhdGUgZmllbGRcIik7XG4gIHJldHVybiBnZXR0ZXIgPyBnZXR0ZXIuY2FsbChvYmopIDogbWVtYmVyLmdldChvYmopO1xufTtcbnZhciBfX3ByaXZhdGVBZGQgPSAob2JqLCBtZW1iZXIsIHZhbHVlKSA9PiB7XG4gIGlmIChtZW1iZXIuaGFzKG9iaikpXG4gICAgdGhyb3cgVHlwZUVycm9yKFwiQ2Fubm90IGFkZCB0aGUgc2FtZSBwcml2YXRlIG1lbWJlciBtb3JlIHRoYW4gb25jZVwiKTtcbiAgbWVtYmVyIGluc3RhbmNlb2YgV2Vha1NldCA/IG1lbWJlci5hZGQob2JqKSA6IG1lbWJlci5zZXQob2JqLCB2YWx1ZSk7XG59O1xudmFyIF9fcHJpdmF0ZVNldCA9IChvYmosIG1lbWJlciwgdmFsdWUsIHNldHRlcikgPT4ge1xuICBfX2FjY2Vzc0NoZWNrKG9iaiwgbWVtYmVyLCBcIndyaXRlIHRvIHByaXZhdGUgZmllbGRcIik7XG4gIHNldHRlciA/IHNldHRlci5jYWxsKG9iaiwgdmFsdWUpIDogbWVtYmVyLnNldChvYmosIHZhbHVlKTtcbiAgcmV0dXJuIHZhbHVlO1xufTtcbnZhciBfX3ByaXZhdGVNZXRob2QgPSAob2JqLCBtZW1iZXIsIG1ldGhvZCkgPT4ge1xuICBfX2FjY2Vzc0NoZWNrKG9iaiwgbWVtYmVyLCBcImFjY2VzcyBwcml2YXRlIG1ldGhvZFwiKTtcbiAgcmV0dXJuIG1ldGhvZDtcbn07XG5cbmV4cG9ydCB7XG4gIF9fcHJpdmF0ZUdldCxcbiAgX19wcml2YXRlQWRkLFxuICBfX3ByaXZhdGVTZXQsXG4gIF9fcHJpdmF0ZU1ldGhvZFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/chunk-MQXBDTVK.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/connectors/coinbaseWallet.js": -/*!********************************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/connectors/coinbaseWallet.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CoinbaseWalletConnector: function() { return /* reexport safe */ _wagmi_connectors_coinbaseWallet__WEBPACK_IMPORTED_MODULE_0__.CoinbaseWalletConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors_coinbaseWallet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors/coinbaseWallet */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js\");\n\n\n// src/connectors/coinbaseWallet.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL2NvaW5iYXNlV2FsbGV0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThCOztBQUU5QjtBQUMyRTtBQUd6RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL2NvaW5iYXNlV2FsbGV0LmpzP2RhZWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi4vY2h1bmstTVFYQkRUVksuanNcIjtcblxuLy8gc3JjL2Nvbm5lY3RvcnMvY29pbmJhc2VXYWxsZXQudHNcbmltcG9ydCB7IENvaW5iYXNlV2FsbGV0Q29ubmVjdG9yIH0gZnJvbSBcIkB3YWdtaS9jb25uZWN0b3JzL2NvaW5iYXNlV2FsbGV0XCI7XG5leHBvcnQge1xuICBDb2luYmFzZVdhbGxldENvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/connectors/coinbaseWallet.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/connectors/metaMask.js": -/*!**************************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/connectors/metaMask.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MetaMaskConnector: function() { return /* reexport safe */ _wagmi_connectors_metaMask__WEBPACK_IMPORTED_MODULE_0__.MetaMaskConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors_metaMask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors/metaMask */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/metaMask.js\");\n\n\n// src/connectors/metaMask.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL21ldGFNYXNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThCOztBQUU5QjtBQUMrRDtBQUc3RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL21ldGFNYXNrLmpzP2RjNTAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi4vY2h1bmstTVFYQkRUVksuanNcIjtcblxuLy8gc3JjL2Nvbm5lY3RvcnMvbWV0YU1hc2sudHNcbmltcG9ydCB7IE1ldGFNYXNrQ29ubmVjdG9yIH0gZnJvbSBcIkB3YWdtaS9jb25uZWN0b3JzL21ldGFNYXNrXCI7XG5leHBvcnQge1xuICBNZXRhTWFza0Nvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/connectors/metaMask.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/connectors/safe.js": -/*!**********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/connectors/safe.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SafeConnector: function() { return /* reexport safe */ _wagmi_connectors_safe__WEBPACK_IMPORTED_MODULE_0__.SafeConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors_safe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors/safe */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/safe.js\");\n\n\n// src/connectors/safe.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL3NhZmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBOEI7O0FBRTlCO0FBQ3VEO0FBR3JEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9kaXN0L2Nvbm5lY3RvcnMvc2FmZS5qcz9kYTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL2NodW5rLU1RWEJEVFZLLmpzXCI7XG5cbi8vIHNyYy9jb25uZWN0b3JzL3NhZmUudHNcbmltcG9ydCB7IFNhZmVDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2Nvbm5lY3RvcnMvc2FmZVwiO1xuZXhwb3J0IHtcbiAgU2FmZUNvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/connectors/safe.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/connectors/walletConnect.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/connectors/walletConnect.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectConnector: function() { return /* reexport safe */ _wagmi_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_0__.WalletConnectConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors/walletConnect */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js\");\n\n\n// src/connectors/walletConnect.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL3dhbGxldENvbm5lY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBOEI7O0FBRTlCO0FBQ3lFO0FBR3ZFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9kaXN0L2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdC5qcz85OWZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL2NodW5rLU1RWEJEVFZLLmpzXCI7XG5cbi8vIHNyYy9jb25uZWN0b3JzL3dhbGxldENvbm5lY3QudHNcbmltcG9ydCB7IFdhbGxldENvbm5lY3RDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdFwiO1xuZXhwb3J0IHtcbiAgV2FsbGV0Q29ubmVjdENvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/connectors/walletConnect.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/connectors/walletConnectLegacy.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/connectors/walletConnectLegacy.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectLegacyConnector: function() { return /* reexport safe */ _wagmi_connectors_walletConnectLegacy__WEBPACK_IMPORTED_MODULE_0__.WalletConnectLegacyConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_connectors_walletConnectLegacy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/connectors/walletConnectLegacy */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js\");\n\n\n// src/connectors/walletConnectLegacy.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RMZWdhY3kuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBOEI7O0FBRTlCO0FBQ3FGO0FBR25GIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9kaXN0L2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdExlZ2FjeS5qcz85NmVmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL2NodW5rLU1RWEJEVFZLLmpzXCI7XG5cbi8vIHNyYy9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RMZWdhY3kudHNcbmltcG9ydCB7IFdhbGxldENvbm5lY3RMZWdhY3lDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdExlZ2FjeVwiO1xuZXhwb3J0IHtcbiAgV2FsbGV0Q29ubmVjdExlZ2FjeUNvbm5lY3RvclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/connectors/walletConnectLegacy.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/index.js": -/*!************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/index.js ***! - \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainMismatchError: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.ChainMismatchError; },\n/* harmony export */ ChainNotConfiguredError: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.ChainNotConfiguredError; },\n/* harmony export */ Config: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.Config; },\n/* harmony export */ ConfigChainsNotFound: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.ConfigChainsNotFound; },\n/* harmony export */ Connector: function() { return /* reexport safe */ _chunk_BVC4KGLQ_js__WEBPACK_IMPORTED_MODULE_1__.Connector; },\n/* harmony export */ ConnectorAlreadyConnectedError: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.ConnectorAlreadyConnectedError; },\n/* harmony export */ ConnectorNotFoundError: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.ConnectorNotFoundError; },\n/* harmony export */ InjectedConnector: function() { return /* reexport safe */ _chunk_EQOEZP46_js__WEBPACK_IMPORTED_MODULE_2__.InjectedConnector; },\n/* harmony export */ SwitchChainNotSupportedError: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.SwitchChainNotSupportedError; },\n/* harmony export */ configureChains: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.configureChains; },\n/* harmony export */ connect: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.connect; },\n/* harmony export */ createConfig: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.createConfig; },\n/* harmony export */ createStorage: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.createStorage; },\n/* harmony export */ deepEqual: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.deepEqual; },\n/* harmony export */ deserialize: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.deserialize; },\n/* harmony export */ disconnect: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.disconnect; },\n/* harmony export */ erc20ABI: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.erc20ABI; },\n/* harmony export */ erc4626ABI: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.erc4626ABI; },\n/* harmony export */ erc721ABI: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.erc721ABI; },\n/* harmony export */ fetchBalance: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchBalance; },\n/* harmony export */ fetchBlockNumber: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchBlockNumber; },\n/* harmony export */ fetchEnsAddress: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchEnsAddress; },\n/* harmony export */ fetchEnsAvatar: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchEnsAvatar; },\n/* harmony export */ fetchEnsName: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchEnsName; },\n/* harmony export */ fetchEnsResolver: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchEnsResolver; },\n/* harmony export */ fetchFeeData: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchFeeData; },\n/* harmony export */ fetchToken: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchToken; },\n/* harmony export */ fetchTransaction: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.fetchTransaction; },\n/* harmony export */ getAccount: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getAccount; },\n/* harmony export */ getConfig: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getConfig; },\n/* harmony export */ getContract: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getContract; },\n/* harmony export */ getNetwork: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getNetwork; },\n/* harmony export */ getPublicClient: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getPublicClient; },\n/* harmony export */ getUnit: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getUnit; },\n/* harmony export */ getWalletClient: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getWalletClient; },\n/* harmony export */ getWebSocketPublicClient: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getWebSocketPublicClient; },\n/* harmony export */ mainnet: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_3__.mainnet; },\n/* harmony export */ multicall: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.multicall; },\n/* harmony export */ noopStorage: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.noopStorage; },\n/* harmony export */ prepareSendTransaction: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.prepareSendTransaction; },\n/* harmony export */ prepareWriteContract: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.prepareWriteContract; },\n/* harmony export */ readContract: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.readContract; },\n/* harmony export */ readContracts: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.readContracts; },\n/* harmony export */ sendTransaction: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.sendTransaction; },\n/* harmony export */ sepolia: function() { return /* reexport safe */ _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_3__.sepolia; },\n/* harmony export */ serialize: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.serialize; },\n/* harmony export */ signMessage: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.signMessage; },\n/* harmony export */ signTypedData: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.signTypedData; },\n/* harmony export */ switchNetwork: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.switchNetwork; },\n/* harmony export */ waitForTransaction: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.waitForTransaction; },\n/* harmony export */ watchAccount: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchAccount; },\n/* harmony export */ watchBlockNumber: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchBlockNumber; },\n/* harmony export */ watchContractEvent: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchContractEvent; },\n/* harmony export */ watchMulticall: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchMulticall; },\n/* harmony export */ watchNetwork: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchNetwork; },\n/* harmony export */ watchPendingTransactions: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchPendingTransactions; },\n/* harmony export */ watchPublicClient: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchPublicClient; },\n/* harmony export */ watchReadContract: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchReadContract; },\n/* harmony export */ watchReadContracts: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchReadContracts; },\n/* harmony export */ watchWalletClient: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchWalletClient; },\n/* harmony export */ watchWebSocketPublicClient: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.watchWebSocketPublicClient; },\n/* harmony export */ writeContract: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.writeContract; }\n/* harmony export */ });\n/* harmony import */ var _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-LAFZBYO7.js */ \"./node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js\");\n/* harmony import */ var _chunk_GUCHKZEA_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chunk-GUCHKZEA.js */ \"./node_modules/@wagmi/core/dist/chunk-GUCHKZEA.js\");\n/* harmony import */ var _chunk_BVC4KGLQ_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chunk-BVC4KGLQ.js */ \"./node_modules/@wagmi/core/dist/chunk-BVC4KGLQ.js\");\n/* harmony import */ var _chunk_EQOEZP46_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-EQOEZP46.js */ \"./node_modules/@wagmi/core/dist/chunk-EQOEZP46.js\");\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNkI7QUE0REE7QUFJQTtBQUdBO0FBR0E7QUFDQTtBQWdFM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL2Rpc3QvaW5kZXguanM/ZTg4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCIuL2NodW5rLUtYNFVFSFM1LmpzXCI7XG5pbXBvcnQge1xuICBDaGFpbk1pc21hdGNoRXJyb3IsXG4gIENoYWluTm90Q29uZmlndXJlZEVycm9yLFxuICBDb25maWcsXG4gIENvbmZpZ0NoYWluc05vdEZvdW5kLFxuICBDb25uZWN0b3JBbHJlYWR5Q29ubmVjdGVkRXJyb3IsXG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3IsXG4gIFN3aXRjaENoYWluTm90U3VwcG9ydGVkRXJyb3IsXG4gIGNvbmZpZ3VyZUNoYWlucyxcbiAgY29ubmVjdCxcbiAgY3JlYXRlQ29uZmlnLFxuICBjcmVhdGVTdG9yYWdlLFxuICBkZWVwRXF1YWwsXG4gIGRlc2VyaWFsaXplLFxuICBkaXNjb25uZWN0LFxuICBlcmMyMEFCSSxcbiAgZXJjNDYyNkFCSSxcbiAgZXJjNzIxQUJJLFxuICBmZXRjaEJhbGFuY2UsXG4gIGZldGNoQmxvY2tOdW1iZXIsXG4gIGZldGNoRW5zQWRkcmVzcyxcbiAgZmV0Y2hFbnNBdmF0YXIsXG4gIGZldGNoRW5zTmFtZSxcbiAgZmV0Y2hFbnNSZXNvbHZlcixcbiAgZmV0Y2hGZWVEYXRhLFxuICBmZXRjaFRva2VuLFxuICBmZXRjaFRyYW5zYWN0aW9uLFxuICBnZXRBY2NvdW50LFxuICBnZXRDb25maWcsXG4gIGdldENvbnRyYWN0LFxuICBnZXROZXR3b3JrLFxuICBnZXRQdWJsaWNDbGllbnQsXG4gIGdldFVuaXQsXG4gIGdldFdhbGxldENsaWVudCxcbiAgZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50LFxuICBtdWx0aWNhbGwsXG4gIG5vb3BTdG9yYWdlLFxuICBwcmVwYXJlU2VuZFRyYW5zYWN0aW9uLFxuICBwcmVwYXJlV3JpdGVDb250cmFjdCxcbiAgcmVhZENvbnRyYWN0LFxuICByZWFkQ29udHJhY3RzLFxuICBzZW5kVHJhbnNhY3Rpb24sXG4gIHNlcmlhbGl6ZSxcbiAgc2lnbk1lc3NhZ2UsXG4gIHNpZ25UeXBlZERhdGEsXG4gIHN3aXRjaE5ldHdvcmssXG4gIHdhaXRGb3JUcmFuc2FjdGlvbixcbiAgd2F0Y2hBY2NvdW50LFxuICB3YXRjaEJsb2NrTnVtYmVyLFxuICB3YXRjaENvbnRyYWN0RXZlbnQsXG4gIHdhdGNoTXVsdGljYWxsLFxuICB3YXRjaE5ldHdvcmssXG4gIHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucyxcbiAgd2F0Y2hQdWJsaWNDbGllbnQsXG4gIHdhdGNoUmVhZENvbnRyYWN0LFxuICB3YXRjaFJlYWRDb250cmFjdHMsXG4gIHdhdGNoV2FsbGV0Q2xpZW50LFxuICB3YXRjaFdlYlNvY2tldFB1YmxpY0NsaWVudCxcbiAgd3JpdGVDb250cmFjdFxufSBmcm9tIFwiLi9jaHVuay1MQUZaQllPNy5qc1wiO1xuaW1wb3J0IHtcbiAgbWFpbm5ldCxcbiAgc2Vwb2xpYVxufSBmcm9tIFwiLi9jaHVuay1HVUNIS1pFQS5qc1wiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdG9yXG59IGZyb20gXCIuL2NodW5rLUJWQzRLR0xRLmpzXCI7XG5pbXBvcnQge1xuICBJbmplY3RlZENvbm5lY3RvclxufSBmcm9tIFwiLi9jaHVuay1FUU9FWlA0Ni5qc1wiO1xuaW1wb3J0IFwiLi9jaHVuay1NUVhCRFRWSy5qc1wiO1xuZXhwb3J0IHtcbiAgQ2hhaW5NaXNtYXRjaEVycm9yLFxuICBDaGFpbk5vdENvbmZpZ3VyZWRFcnJvcixcbiAgQ29uZmlnLFxuICBDb25maWdDaGFpbnNOb3RGb3VuZCxcbiAgQ29ubmVjdG9yLFxuICBDb25uZWN0b3JBbHJlYWR5Q29ubmVjdGVkRXJyb3IsXG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3IsXG4gIEluamVjdGVkQ29ubmVjdG9yLFxuICBTd2l0Y2hDaGFpbk5vdFN1cHBvcnRlZEVycm9yLFxuICBjb25maWd1cmVDaGFpbnMsXG4gIGNvbm5lY3QsXG4gIGNyZWF0ZUNvbmZpZyxcbiAgY3JlYXRlU3RvcmFnZSxcbiAgZGVlcEVxdWFsLFxuICBkZXNlcmlhbGl6ZSxcbiAgZGlzY29ubmVjdCxcbiAgZXJjMjBBQkksXG4gIGVyYzQ2MjZBQkksXG4gIGVyYzcyMUFCSSxcbiAgZmV0Y2hCYWxhbmNlLFxuICBmZXRjaEJsb2NrTnVtYmVyLFxuICBmZXRjaEVuc0FkZHJlc3MsXG4gIGZldGNoRW5zQXZhdGFyLFxuICBmZXRjaEVuc05hbWUsXG4gIGZldGNoRW5zUmVzb2x2ZXIsXG4gIGZldGNoRmVlRGF0YSxcbiAgZmV0Y2hUb2tlbixcbiAgZmV0Y2hUcmFuc2FjdGlvbixcbiAgZ2V0QWNjb3VudCxcbiAgZ2V0Q29uZmlnLFxuICBnZXRDb250cmFjdCxcbiAgZ2V0TmV0d29yayxcbiAgZ2V0UHVibGljQ2xpZW50LFxuICBnZXRVbml0LFxuICBnZXRXYWxsZXRDbGllbnQsXG4gIGdldFdlYlNvY2tldFB1YmxpY0NsaWVudCxcbiAgbWFpbm5ldCxcbiAgbXVsdGljYWxsLFxuICBub29wU3RvcmFnZSxcbiAgcHJlcGFyZVNlbmRUcmFuc2FjdGlvbixcbiAgcHJlcGFyZVdyaXRlQ29udHJhY3QsXG4gIHJlYWRDb250cmFjdCxcbiAgcmVhZENvbnRyYWN0cyxcbiAgc2VuZFRyYW5zYWN0aW9uLFxuICBzZXBvbGlhLFxuICBzZXJpYWxpemUsXG4gIHNpZ25NZXNzYWdlLFxuICBzaWduVHlwZWREYXRhLFxuICBzd2l0Y2hOZXR3b3JrLFxuICB3YWl0Rm9yVHJhbnNhY3Rpb24sXG4gIHdhdGNoQWNjb3VudCxcbiAgd2F0Y2hCbG9ja051bWJlcixcbiAgd2F0Y2hDb250cmFjdEV2ZW50LFxuICB3YXRjaE11bHRpY2FsbCxcbiAgd2F0Y2hOZXR3b3JrLFxuICB3YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMsXG4gIHdhdGNoUHVibGljQ2xpZW50LFxuICB3YXRjaFJlYWRDb250cmFjdCxcbiAgd2F0Y2hSZWFkQ29udHJhY3RzLFxuICB3YXRjaFdhbGxldENsaWVudCxcbiAgd2F0Y2hXZWJTb2NrZXRQdWJsaWNDbGllbnQsXG4gIHdyaXRlQ29udHJhY3Rcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/internal/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/internal/index.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getCallParameters: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getCallParameters; },\n/* harmony export */ getSendTransactionParameters: function() { return /* reexport safe */ _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__.getSendTransactionParameters; }\n/* harmony export */ });\n/* harmony import */ var _chunk_LAFZBYO7_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../chunk-LAFZBYO7.js */ \"./node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js\");\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9pbnRlcm5hbC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFHOEI7QUFDQTtBQUNBO0FBSTVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9kaXN0L2ludGVybmFsL2luZGV4LmpzP2VhYjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0Q2FsbFBhcmFtZXRlcnMsXG4gIGdldFNlbmRUcmFuc2FjdGlvblBhcmFtZXRlcnNcbn0gZnJvbSBcIi4uL2NodW5rLUxBRlpCWU83LmpzXCI7XG5pbXBvcnQgXCIuLi9jaHVuay1CVkM0S0dMUS5qc1wiO1xuaW1wb3J0IFwiLi4vY2h1bmstTVFYQkRUVksuanNcIjtcbmV4cG9ydCB7XG4gIGdldENhbGxQYXJhbWV0ZXJzLFxuICBnZXRTZW5kVHJhbnNhY3Rpb25QYXJhbWV0ZXJzXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/internal/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/dist/providers/public.js": -/*!***********************************************************!*\ - !*** ./node_modules/@wagmi/core/dist/providers/public.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publicProvider: function() { return /* binding */ publicProvider; }\n/* harmony export */ });\n\n\n// src/providers/public.ts\nfunction publicProvider() {\n return function(chain) {\n if (!chain.rpcUrls.public.http[0])\n return null;\n return {\n chain,\n rpcUrls: chain.rpcUrls.public\n };\n };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9wcm92aWRlcnMvcHVibGljLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBOEI7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvZGlzdC9wcm92aWRlcnMvcHVibGljLmpzP2UyOTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi4vY2h1bmstTVFYQkRUVksuanNcIjtcblxuLy8gc3JjL3Byb3ZpZGVycy9wdWJsaWMudHNcbmZ1bmN0aW9uIHB1YmxpY1Byb3ZpZGVyKCkge1xuICByZXR1cm4gZnVuY3Rpb24oY2hhaW4pIHtcbiAgICBpZiAoIWNoYWluLnJwY1VybHMucHVibGljLmh0dHBbMF0pXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgY2hhaW4sXG4gICAgICBycGNVcmxzOiBjaGFpbi5ycGNVcmxzLnB1YmxpY1xuICAgIH07XG4gIH07XG59XG5leHBvcnQge1xuICBwdWJsaWNQcm92aWRlclxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/dist/providers/public.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/chains/dist/index.mjs": -/*!****************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/chains/dist/index.mjs ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arbitrum: function() { return /* binding */ arbitrum; },\n/* harmony export */ arbitrumGoerli: function() { return /* binding */ arbitrumGoerli; },\n/* harmony export */ arbitrumNova: function() { return /* binding */ arbitrumNova; },\n/* harmony export */ aurora: function() { return /* binding */ aurora; },\n/* harmony export */ auroraTestnet: function() { return /* binding */ auroraTestnet; },\n/* harmony export */ avalanche: function() { return /* binding */ avalanche; },\n/* harmony export */ avalancheFuji: function() { return /* binding */ avalancheFuji; },\n/* harmony export */ base: function() { return /* binding */ base; },\n/* harmony export */ baseGoerli: function() { return /* binding */ baseGoerli; },\n/* harmony export */ bearNetworkChainMainnet: function() { return /* binding */ bearNetworkChainMainnet; },\n/* harmony export */ bearNetworkChainTestnet: function() { return /* binding */ bearNetworkChainTestnet; },\n/* harmony export */ boba: function() { return /* binding */ boba; },\n/* harmony export */ bronos: function() { return /* binding */ bronos; },\n/* harmony export */ bronosTestnet: function() { return /* binding */ bronosTestnet; },\n/* harmony export */ bsc: function() { return /* binding */ bsc; },\n/* harmony export */ bscTestnet: function() { return /* binding */ bscTestnet; },\n/* harmony export */ bxn: function() { return /* binding */ bxn; },\n/* harmony export */ bxnTestnet: function() { return /* binding */ bxnTestnet; },\n/* harmony export */ canto: function() { return /* binding */ canto; },\n/* harmony export */ celo: function() { return /* binding */ celo; },\n/* harmony export */ celoAlfajores: function() { return /* binding */ celoAlfajores; },\n/* harmony export */ celoCannoli: function() { return /* binding */ celoCannoli; },\n/* harmony export */ classic: function() { return /* binding */ classic; },\n/* harmony export */ confluxESpace: function() { return /* binding */ confluxESpace; },\n/* harmony export */ cronos: function() { return /* binding */ cronos; },\n/* harmony export */ cronosTestnet: function() { return /* binding */ cronosTestnet; },\n/* harmony export */ crossbell: function() { return /* binding */ crossbell; },\n/* harmony export */ dfk: function() { return /* binding */ dfk; },\n/* harmony export */ dogechain: function() { return /* binding */ dogechain; },\n/* harmony export */ edgeware: function() { return /* binding */ edgeware; },\n/* harmony export */ edgewareTestnet: function() { return /* binding */ edgewareTestnet; },\n/* harmony export */ ekta: function() { return /* binding */ ekta; },\n/* harmony export */ ektaTestnet: function() { return /* binding */ ektaTestnet; },\n/* harmony export */ eos: function() { return /* binding */ eos; },\n/* harmony export */ eosTestnet: function() { return /* binding */ eosTestnet; },\n/* harmony export */ evmos: function() { return /* binding */ evmos; },\n/* harmony export */ evmosTestnet: function() { return /* binding */ evmosTestnet; },\n/* harmony export */ fantom: function() { return /* binding */ fantom; },\n/* harmony export */ fantomTestnet: function() { return /* binding */ fantomTestnet; },\n/* harmony export */ fibo: function() { return /* binding */ fibo; },\n/* harmony export */ filecoin: function() { return /* binding */ filecoin; },\n/* harmony export */ filecoinCalibration: function() { return /* binding */ filecoinCalibration; },\n/* harmony export */ filecoinHyperspace: function() { return /* binding */ filecoinHyperspace; },\n/* harmony export */ flare: function() { return /* binding */ flare; },\n/* harmony export */ flareTestnet: function() { return /* binding */ flareTestnet; },\n/* harmony export */ foundry: function() { return /* binding */ foundry; },\n/* harmony export */ fuse: function() { return /* binding */ fuse; },\n/* harmony export */ fuseSparknet: function() { return /* binding */ fuseSparknet; },\n/* harmony export */ gnosis: function() { return /* binding */ gnosis; },\n/* harmony export */ gnosisChiado: function() { return /* binding */ gnosisChiado; },\n/* harmony export */ gobi: function() { return /* binding */ gobi; },\n/* harmony export */ goerli: function() { return /* binding */ goerli; },\n/* harmony export */ haqqMainnet: function() { return /* binding */ haqqMainnet; },\n/* harmony export */ haqqTestedge2: function() { return /* binding */ haqqTestedge2; },\n/* harmony export */ hardhat: function() { return /* binding */ hardhat; },\n/* harmony export */ harmonyOne: function() { return /* binding */ harmonyOne; },\n/* harmony export */ iotex: function() { return /* binding */ iotex; },\n/* harmony export */ iotexTestnet: function() { return /* binding */ iotexTestnet; },\n/* harmony export */ klaytn: function() { return /* binding */ klaytn; },\n/* harmony export */ linea: function() { return /* binding */ linea; },\n/* harmony export */ lineaTestnet: function() { return /* binding */ lineaTestnet; },\n/* harmony export */ localhost: function() { return /* binding */ localhost; },\n/* harmony export */ mainnet: function() { return /* binding */ mainnet; },\n/* harmony export */ mantle: function() { return /* binding */ mantle; },\n/* harmony export */ mantleTestnet: function() { return /* binding */ mantleTestnet; },\n/* harmony export */ metis: function() { return /* binding */ metis; },\n/* harmony export */ metisGoerli: function() { return /* binding */ metisGoerli; },\n/* harmony export */ mev: function() { return /* binding */ mev; },\n/* harmony export */ mevTestnet: function() { return /* binding */ mevTestnet; },\n/* harmony export */ modeTestnet: function() { return /* binding */ modeTestnet; },\n/* harmony export */ moonbaseAlpha: function() { return /* binding */ moonbaseAlpha; },\n/* harmony export */ moonbeam: function() { return /* binding */ moonbeam; },\n/* harmony export */ moonriver: function() { return /* binding */ moonriver; },\n/* harmony export */ neonDevnet: function() { return /* binding */ neonDevnet; },\n/* harmony export */ nexi: function() { return /* binding */ nexi; },\n/* harmony export */ nexilix: function() { return /* binding */ nexilix; },\n/* harmony export */ oasys: function() { return /* binding */ oasys; },\n/* harmony export */ okc: function() { return /* binding */ okc; },\n/* harmony export */ optimism: function() { return /* binding */ optimism; },\n/* harmony export */ optimismGoerli: function() { return /* binding */ optimismGoerli; },\n/* harmony export */ polygon: function() { return /* binding */ polygon; },\n/* harmony export */ polygonMumbai: function() { return /* binding */ polygonMumbai; },\n/* harmony export */ polygonZkEvm: function() { return /* binding */ polygonZkEvm; },\n/* harmony export */ polygonZkEvmTestnet: function() { return /* binding */ polygonZkEvmTestnet; },\n/* harmony export */ pulsechain: function() { return /* binding */ pulsechain; },\n/* harmony export */ pulsechainV4: function() { return /* binding */ pulsechainV4; },\n/* harmony export */ qMainnet: function() { return /* binding */ qMainnet; },\n/* harmony export */ qTestnet: function() { return /* binding */ qTestnet; },\n/* harmony export */ rollux: function() { return /* binding */ rollux; },\n/* harmony export */ rolluxTestnet: function() { return /* binding */ rolluxTestnet; },\n/* harmony export */ ronin: function() { return /* binding */ ronin; },\n/* harmony export */ saigon: function() { return /* binding */ saigon; },\n/* harmony export */ scrollSepolia: function() { return /* binding */ scrollSepolia; },\n/* harmony export */ scrollTestnet: function() { return /* binding */ scrollTestnet; },\n/* harmony export */ sepolia: function() { return /* binding */ sepolia; },\n/* harmony export */ shardeumSphinx: function() { return /* binding */ shardeumSphinx; },\n/* harmony export */ skaleBlockBrawlers: function() { return /* binding */ skaleBlockBrawlers; },\n/* harmony export */ skaleCalypso: function() { return /* binding */ skaleCalypso; },\n/* harmony export */ skaleCalypsoTestnet: function() { return /* binding */ skaleCalypsoTestnet; },\n/* harmony export */ skaleChaosTestnet: function() { return /* binding */ skaleChaosTestnet; },\n/* harmony export */ skaleCryptoBlades: function() { return /* binding */ skaleCryptoBlades; },\n/* harmony export */ skaleCryptoColosseum: function() { return /* binding */ skaleCryptoColosseum; },\n/* harmony export */ skaleEuropa: function() { return /* binding */ skaleEuropa; },\n/* harmony export */ skaleEuropaTestnet: function() { return /* binding */ skaleEuropaTestnet; },\n/* harmony export */ skaleExorde: function() { return /* binding */ skaleExorde; },\n/* harmony export */ skaleHumanProtocol: function() { return /* binding */ skaleHumanProtocol; },\n/* harmony export */ skaleNebula: function() { return /* binding */ skaleNebula; },\n/* harmony export */ skaleNebulaTestnet: function() { return /* binding */ skaleNebulaTestnet; },\n/* harmony export */ skaleRazor: function() { return /* binding */ skaleRazor; },\n/* harmony export */ skaleTitan: function() { return /* binding */ skaleTitan; },\n/* harmony export */ skaleTitanTestnet: function() { return /* binding */ skaleTitanTestnet; },\n/* harmony export */ songbird: function() { return /* binding */ songbird; },\n/* harmony export */ songbirdTestnet: function() { return /* binding */ songbirdTestnet; },\n/* harmony export */ syscoin: function() { return /* binding */ syscoin; },\n/* harmony export */ syscoinTestnet: function() { return /* binding */ syscoinTestnet; },\n/* harmony export */ taikoTestnetSepolia: function() { return /* binding */ taikoTestnetSepolia; },\n/* harmony export */ taraxa: function() { return /* binding */ taraxa; },\n/* harmony export */ taraxaTestnet: function() { return /* binding */ taraxaTestnet; },\n/* harmony export */ telos: function() { return /* binding */ telos; },\n/* harmony export */ telosTestnet: function() { return /* binding */ telosTestnet; },\n/* harmony export */ thunderTestnet: function() { return /* binding */ thunderTestnet; },\n/* harmony export */ wanchain: function() { return /* binding */ wanchain; },\n/* harmony export */ wanchainTestnet: function() { return /* binding */ wanchainTestnet; },\n/* harmony export */ xdc: function() { return /* binding */ xdc; },\n/* harmony export */ xdcTestnet: function() { return /* binding */ xdcTestnet; },\n/* harmony export */ zetachainAthensTestnet: function() { return /* binding */ zetachainAthensTestnet; },\n/* harmony export */ zhejiang: function() { return /* binding */ zhejiang; },\n/* harmony export */ zkSync: function() { return /* binding */ zkSync; },\n/* harmony export */ zkSyncTestnet: function() { return /* binding */ zkSyncTestnet; },\n/* harmony export */ zora: function() { return /* binding */ zora; },\n/* harmony export */ zoraTestnet: function() { return /* binding */ zoraTestnet; }\n/* harmony export */ });\n// src/arbitrum.ts\nvar arbitrum = {\n id: 42161,\n name: \"Arbitrum One\",\n network: \"arbitrum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-mainnet.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://arbiscan.io\" },\n default: { name: \"Arbiscan\", url: \"https://arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7654707\n }\n }\n};\n\n// src/arbitrumGoerli.ts\nvar arbitrumGoerli = {\n id: 421613,\n name: \"Arbitrum Goerli\",\n network: \"arbitrum-goerli\",\n nativeCurrency: {\n name: \"Arbitrum Goerli Ether\",\n symbol: \"ETH\",\n decimals: 18\n },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-goerli.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" },\n default: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 88114\n }\n },\n testnet: true\n};\n\n// src/arbitrumNova.ts\nvar arbitrumNova = {\n id: 42170,\n name: \"Arbitrum Nova\",\n network: \"arbitrum-nova\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n blast: {\n http: [\"https://arbitrum-nova.public.blastapi.io\"],\n webSocket: [\"wss://arbitrum-nova.public.blastapi.io\"]\n },\n default: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" },\n blockScout: {\n name: \"BlockScout\",\n url: \"https://nova-explorer.arbitrum.io/\"\n },\n default: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1746963\n }\n }\n};\n\n// src/aurora.ts\nvar aurora = {\n id: 1313161554,\n name: \"Aurora\",\n network: \"aurora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-mainnet.infura.io/v3\"] },\n default: { http: [\"https://mainnet.aurora.dev\"] },\n public: { http: [\"https://mainnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" }\n }\n};\n\n// src/auroraTestnet.ts\nvar auroraTestnet = {\n id: 1313161555,\n name: \"Aurora Testnet\",\n network: \"aurora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-testnet.infura.io/v3\"] },\n default: { http: [\"https://testnet.aurora.dev\"] },\n public: { http: [\"https://testnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" }\n },\n testnet: true\n};\n\n// src/avalanche.ts\nvar avalanche = {\n id: 43114,\n name: \"Avalanche\",\n network: \"avalanche\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 11907934\n }\n }\n};\n\n// src/avalancheFuji.ts\nvar avalancheFuji = {\n id: 43113,\n name: \"Avalanche Fuji\",\n network: \"avalanche-fuji\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche Fuji\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7096959\n }\n },\n testnet: true\n};\n\n// src/base.ts\nvar base = {\n id: 8453,\n network: \"base\",\n name: \"Base\",\n nativeCurrency: { name: \"Base\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.base.org\"]\n },\n public: {\n http: [\"https://mainnet.base.org\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Basescout\",\n url: \"https://base.blockscout.com\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n },\n etherscan: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 5022\n }\n }\n};\n\n// src/baseGoerli.ts\nvar baseGoerli = {\n id: 84531,\n network: \"base-goerli\",\n name: \"Base Goerli\",\n nativeCurrency: { name: \"Base Goerli\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://goerli.base.org\"]\n },\n public: {\n http: [\"https://goerli.base.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1376988\n }\n },\n testnet: true\n};\n\n// src/bearNetworkChainMainnet.ts\nvar bearNetworkChainMainnet = {\n id: 641230,\n name: \"Bear Network Chain Mainnet\",\n network: \"BearNetworkChainMainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BearNetworkChain\",\n symbol: \"BRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: { name: \"BrnkScan\", url: \"https://brnkscan.bearnetwork.net\" }\n }\n};\n\n// src/bearNetworkChainTestnet.ts\nvar bearNetworkChainTestnet = {\n id: 751230,\n name: \"Bear Network Chain Testnet\",\n network: \"BearNetworkChainTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"tBRNKC\",\n symbol: \"tBRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-test.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-test.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"BrnkTestScan\",\n url: \"https://brnktest-scan.bearnetwork.net\"\n }\n },\n testnet: true\n};\n\n// src/boba.ts\nvar boba = {\n id: 288,\n name: \"Boba Network\",\n network: \"boba\",\n nativeCurrency: {\n decimals: 18,\n name: \"Boba\",\n symbol: \"BOBA\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.boba.network\"] },\n public: { http: [\"https://mainnet.boba.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BOBAScan\", url: \"https://bobascan.com\" },\n default: { name: \"BOBAScan\", url: \"https://bobascan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 446859\n }\n }\n};\n\n// src/bronos.ts\nvar bronos = {\n id: 1039,\n name: \"Bronos\",\n network: \"bronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"BRO\",\n symbol: \"BRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.bronos.org\"] },\n public: { http: [\"https://evm.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://broscan.bronos.org\" }\n }\n};\n\n// src/bronosTestnet.ts\nvar bronosTestnet = {\n id: 1038,\n name: \"Bronos Testnet\",\n network: \"bronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Bronos Coin\",\n symbol: \"tBRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-testnet.bronos.org\"] },\n public: { http: [\"https://evm-testnet.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://tbroscan.bronos.org\" }\n },\n testnet: true\n};\n\n// src/bsc.ts\nvar bsc = {\n id: 56,\n name: \"BNB Smart Chain\",\n network: \"bsc\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"BNB\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/bsc\"] },\n public: { http: [\"https://rpc.ankr.com/bsc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 15921452\n }\n }\n};\n\n// src/bscTestnet.ts\nvar bscTestnet = {\n id: 97,\n name: \"Binance Smart Chain Testnet\",\n network: \"bsc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"tBNB\"\n },\n rpcUrls: {\n default: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] },\n public: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 17422483\n }\n },\n testnet: true\n};\n\n// src/bxn.ts\nvar bxn = {\n id: 4999,\n name: \"BlackFort Exchange Network\",\n network: \"bxn\",\n nativeCurrency: { name: \"BlackFort Token\", symbol: \"BXN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://explorer.blackfort.network\"\n }\n }\n};\n\n// src/bxnTestnet.ts\nvar bxnTestnet = {\n id: 4777,\n name: \"BlackFort Exchange Network Testnet\",\n network: \"bxnTestnet\",\n nativeCurrency: {\n name: \"BlackFort Testnet Token\",\n symbol: \"TBXN\",\n decimals: 18\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://testnet-explorer.blackfort.network\"\n }\n }\n};\n\n// src/canto.ts\nvar canto = {\n id: 7700,\n name: \"Canto\",\n network: \"canto\",\n nativeCurrency: {\n decimals: 18,\n name: \"Canto\",\n symbol: \"CANTO\"\n },\n rpcUrls: {\n default: { http: [\"https://canto.gravitychain.io\"] },\n public: { http: [\"https://canto.gravitychain.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Tuber.Build (Blockscout)\",\n url: \"https://tuber.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2905789\n }\n }\n};\n\n// src/celo.ts\nvar celo = {\n id: 42220,\n name: \"Celo\",\n network: \"celo\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"CELO\"\n },\n rpcUrls: {\n default: { http: [\"https://forno.celo.org\"] },\n infura: {\n http: [\"https://celo-mainnet.infura.io/v3\"]\n },\n public: {\n http: [\"https://forno.celo.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/mainnet\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://celoscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13112599\n }\n },\n testnet: false\n};\n\n// src/celoAlfajores.ts\nvar celoAlfajores = {\n id: 44787,\n name: \"Alfajores\",\n network: \"celo-alfajores\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"A-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n },\n infura: {\n http: [\"https://celo-alfajores.infura.io/v3\"]\n },\n public: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/alfajores\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://alfajores.celoscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 14569001\n }\n },\n testnet: true\n};\n\n// src/celoCannoli.ts\nvar celoCannoli = {\n id: 17323,\n name: \"Cannoli\",\n network: \"celo-cannoli\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"C-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n },\n public: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/cannoli\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718\",\n blockCreated: 87429\n }\n },\n testnet: true\n};\n\n// src/classic.ts\nvar classic = {\n id: 61,\n name: \"Ethereum Classic\",\n network: \"classic\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETC\",\n symbol: \"ETC\"\n },\n rpcUrls: {\n default: { http: [\"https://etc.rivet.link\"] },\n public: { http: [\"https://etc.rivet.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/etc/mainnet\"\n }\n }\n};\n\n// src/confluxESpace.ts\nvar confluxESpace = {\n id: 1030,\n name: \"Conflux eSpace\",\n network: \"cfx-espace\",\n nativeCurrency: { name: \"Conflux\", symbol: \"CFX\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://evm.confluxrpc.org\"]\n },\n public: {\n http: [\"https://evm.confluxrpc.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ConfluxScan\",\n url: \"https://evm.confluxscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xEFf0078910f638cd81996cc117bccD3eDf2B072F\",\n blockCreated: 68602935\n }\n }\n};\n\n// src/cronos.ts\nvar cronos = {\n id: 25,\n name: \"Cronos Mainnet\",\n network: \"cronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Cronos\",\n symbol: \"CRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.cronos.org\"] },\n public: { http: [\"https://evm.cronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"Cronoscan\", url: \"https://cronoscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1963112\n }\n }\n};\n\n// src/cronosTestnet.ts\nvar cronosTestnet = {\n id: 338,\n name: \"Cronos Testnet\",\n network: \"cronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"CRO\",\n symbol: \"tCRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-t3.cronos.org\"] },\n public: { http: [\"https://evm-t3.cronos.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Cronos Explorer\",\n url: \"https://cronos.org/explorer/testnet3\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 10191251\n }\n },\n testnet: true\n};\n\n// src/crossbell.ts\nvar crossbell = {\n id: 3737,\n network: \"crossbell\",\n name: \"Crossbell\",\n nativeCurrency: {\n decimals: 18,\n name: \"CSB\",\n symbol: \"CSB\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.crossbell.io\"]\n },\n public: {\n http: [\"https://rpc.crossbell.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"CrossScan\", url: \"https://scan.crossbell.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf\",\n blockCreated: 23499787\n }\n }\n};\n\n// src/dfk.ts\nvar dfk = {\n id: 53935,\n name: \"DFK Chain\",\n network: \"dfk\",\n nativeCurrency: {\n decimals: 18,\n name: \"Jewel\",\n symbol: \"JEWEL\"\n },\n rpcUrls: {\n default: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n },\n public: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n },\n default: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n }\n }\n};\n\n// src/dogechain.ts\nvar dogechain = {\n id: 2e3,\n name: \"Dogechain\",\n network: \"dogechain\",\n nativeCurrency: {\n decimals: 18,\n name: \"Dogechain\",\n symbol: \"DC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.dogechain.dog\"] },\n public: { http: [\"https://rpc.dogechain.dog\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n },\n default: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n }\n }\n};\n\n// src/edgeware.ts\nvar edgeware = {\n id: 2021,\n name: \"Edgeware EdgeEVM Mainnet\",\n network: \"edgeware\",\n nativeCurrency: {\n decimals: 18,\n name: \"Edgeware\",\n symbol: \"EDG\"\n },\n rpcUrls: {\n default: { http: [\"https://edgeware-evm.jelliedowl.net\"] },\n public: { http: [\"https://edgeware-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" },\n default: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 18117872\n }\n }\n};\n\n// src/edgewareTestnet.ts\nvar edgewareTestnet = {\n id: 2022,\n name: \"Beresheet BereEVM Testnet\",\n network: \"edgewareTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Testnet EDG\",\n symbol: \"tEDG\"\n },\n rpcUrls: {\n default: { http: [\"https://beresheet-evm.jelliedowl.net\"] },\n public: { http: [\"https://beresheet-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n },\n default: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n }\n }\n};\n\n// src/eos.ts\nvar eos = {\n id: 17777,\n name: \"EOS EVM\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7943933\n }\n }\n};\n\n// src/eosTestnet.ts\nvar eosTestnet = {\n id: 15557,\n name: \"EOS EVM Testnet\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.testnet.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.testnet.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 9067940\n }\n },\n testnet: true\n};\n\n// src/evmos.ts\nvar evmos = {\n id: 9001,\n name: \"Evmos\",\n network: \"evmos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.org:8545\"] },\n public: { http: [\"https://eth.bd.evmos.org:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Evmos Block Explorer\", url: \"https://escan.live\" }\n }\n};\n\n// src/evmosTestnet.ts\nvar evmosTestnet = {\n id: 9e3,\n name: \"Evmos Testnet\",\n network: \"evmos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.dev:8545\"] },\n public: { http: [\"https://eth.bd.evmos.dev:8545\"] }\n },\n blockExplorers: {\n default: {\n name: \"Evmos Testnet Block Explorer\",\n url: \"https://evm.evmos.dev/\"\n }\n }\n};\n\n// src/ekta.ts\nvar ekta = {\n id: 1994,\n name: \"Ekta\",\n network: \"ekta\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://main.ekta.io\"] },\n default: { http: [\"https://main.ekta.io\"] }\n },\n blockExplorers: {\n default: { name: \"Ektascan\", url: \"https://ektascan.io\" }\n }\n};\n\n// src/ektaTestnet.ts\nvar ektaTestnet = {\n id: 1004,\n name: \"Ekta Testnet\",\n network: \"ekta-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://test.ekta.io:8545\"] },\n default: { http: [\"https://test.ekta.io:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Test Ektascan\", url: \"https://test.ektascan.io\" }\n },\n testnet: true\n};\n\n// src/fantom.ts\nvar fantom = {\n id: 250,\n name: \"Fantom\",\n network: \"fantom\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/fantom\"] },\n public: { http: [\"https://rpc.ankr.com/fantom\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 33001987\n }\n }\n};\n\n// src/fantomTestnet.ts\nvar fantomTestnet = {\n id: 4002,\n name: \"Fantom Testnet\",\n network: \"fantom-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.fantom.network\"] },\n public: { http: [\"https://rpc.testnet.fantom.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 8328688\n }\n }\n};\n\n// src/fibo.ts\nvar fibo = {\n id: 12306,\n name: \"Fibo Chain\",\n network: \"fibochain\",\n nativeCurrency: {\n decimals: 18,\n name: \"fibo\",\n symbol: \"FIBO\"\n },\n rpcUrls: {\n default: { http: [\"https://network.hzroc.art\"] },\n public: { http: [\"https://network.hzroc.art\"] }\n },\n blockExplorers: {\n default: { name: \"FiboScan\", url: \"https://scan.fibochain.org\" }\n }\n};\n\n// src/filecoin.ts\nvar filecoin = {\n id: 314,\n name: \"Filecoin Mainnet\",\n network: \"filecoin-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"filecoin\",\n symbol: \"FIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://filscan.io\" },\n filscout: { name: \"Filscout\", url: \"https://filscout.io/en\" },\n glif: { name: \"Glif\", url: \"https://explorer.glif.io\" }\n }\n};\n\n// src/filecoinCalibration.ts\nvar filecoinCalibration = {\n id: 314159,\n name: \"Filecoin Calibration\",\n network: \"filecoin-calibration\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filscan\", url: \"https://calibration.filscan.io\" }\n }\n};\n\n// src/filecoinHyperspace.ts\nvar filecoinHyperspace = {\n id: 3141,\n name: \"Filecoin Hyperspace\",\n network: \"filecoin-hyperspace\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://hyperspace.filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://hyperspace.filscan.io\" }\n }\n};\n\n// src/flare.ts\nvar flare = {\n id: 14,\n name: \"Flare Mainnet\",\n network: \"flare-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"flare\",\n symbol: \"FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Flare Explorer\",\n url: \"https://flare-explorer.flare.network\"\n }\n }\n};\n\n// src/flareTestnet.ts\nvar flareTestnet = {\n id: 114,\n name: \"Coston2\",\n network: \"coston2\",\n nativeCurrency: {\n decimals: 18,\n name: \"coston2flare\",\n symbol: \"C2FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston2 Explorer\",\n url: \"https://coston2-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/foundry.ts\nvar foundry = {\n id: 31337,\n name: \"Foundry\",\n network: \"foundry\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n },\n public: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n }\n }\n};\n\n// src/fuse.ts\nvar fuse = {\n id: 122,\n name: \"Fuse\",\n network: \"fuse\",\n nativeCurrency: { name: \"Fuse\", symbol: \"FUSE\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fuse.io\"] },\n public: { http: [\"https://fuse-mainnet.chainstacklabs.com\"] }\n },\n blockExplorers: {\n default: { name: \"Fuse Explorer\", url: \"https://explorer.fuse.io\" }\n }\n};\n\n// src/fuseSparknet.ts\nvar fuseSparknet = {\n id: 123,\n name: \"Fuse Sparknet\",\n network: \"fuse\",\n nativeCurrency: { name: \"Spark\", symbol: \"SPARK\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fusespark.io\"] },\n public: { http: [\"https://rpc.fusespark.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Sparkent Explorer\",\n url: \"https://explorer.fusespark.io\"\n }\n }\n};\n\n// src/iotex.ts\nvar iotex = {\n id: 4689,\n name: \"IoTeX\",\n network: \"iotex\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://iotexscan.io\" }\n }\n};\n\n// src/iotexTestnet.ts\nvar iotexTestnet = {\n id: 4690,\n name: \"IoTeX Testnet\",\n network: \"iotex-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" }\n }\n};\n\n// src/gobi.ts\nvar gobi = {\n id: 1663,\n name: \"Horizen Gobi Testnet\",\n network: \"gobi\",\n nativeCurrency: {\n decimals: 18,\n name: \"Test ZEN\",\n symbol: \"tZEN\"\n },\n rpcUrls: {\n public: { http: [\"https://gobi-testnet.horizenlabs.io/ethv1\"] },\n default: { http: [\"https://gobi-testnet.horizenlabs.io/ethv1\"] }\n },\n blockExplorers: {\n default: { name: \"Gobi Explorer\", url: \"https://gobi-explorer.horizen.io\" }\n },\n contracts: {},\n testnet: true\n};\n\n// src/goerli.ts\nvar goerli = {\n id: 5,\n network: \"goerli\",\n name: \"Goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://goerli.infura.io/v3\"],\n webSocket: [\"wss://goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n },\n public: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0x56522D00C410a43BFfDF00a9A569489297385790\",\n blockCreated: 8765204\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/gnosis.ts\nvar gnosis = {\n id: 100,\n name: \"Gnosis\",\n network: \"gnosis\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.gnosischain.com\"] },\n public: { http: [\"https://rpc.gnosischain.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Gnosisscan\",\n url: \"https://gnosisscan.io\"\n },\n default: {\n name: \"Gnosis Chain Explorer\",\n url: \"https://blockscout.com/xdai/mainnet\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 21022491\n }\n }\n};\n\n// src/gnosisChiado.ts\nvar gnosisChiado = {\n id: 10200,\n name: \"Gnosis Chiado\",\n network: \"chiado\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.chiadochain.net\"] },\n public: { http: [\"https://rpc.chiadochain.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.chiadochain.net\"\n }\n }\n};\n\n// src/hardhat.ts\nvar hardhat = {\n id: 31337,\n name: \"Hardhat\",\n network: \"hardhat\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/harmonyOne.ts\nvar harmonyOne = {\n id: 16666e5,\n name: \"Harmony One\",\n network: \"harmony\",\n nativeCurrency: {\n name: \"Harmony\",\n symbol: \"ONE\",\n decimals: 18\n },\n rpcUrls: {\n public: { http: [\"https://rpc.ankr.com/harmony\"] },\n default: { http: [\"https://rpc.ankr.com/harmony\"] }\n },\n blockExplorers: {\n default: { name: \"Harmony Explorer\", url: \"https://explorer.harmony.one\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 24185753\n }\n }\n};\n\n// src/haqqMainnet.ts\nvar haqqMainnet = {\n id: 11235,\n name: \"HAQQ Mainnet\",\n network: \"haqq-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLM\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.haqq.network\"\n }\n }\n};\n\n// src/haqqTestedge2.ts\nvar haqqTestedge2 = {\n id: 54211,\n name: \"HAQQ Testedge 2\",\n network: \"haqq-testedge-2\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLMT\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.testedge2.haqq.network\"\n }\n }\n};\n\n// src/klaytn.ts\nvar klaytn = {\n id: 8217,\n name: \"Klaytn\",\n network: \"klaytn\",\n nativeCurrency: {\n decimals: 18,\n name: \"Klaytn\",\n symbol: \"KLAY\"\n },\n rpcUrls: {\n default: { http: [\"https://cypress.fautor.app/archive\"] },\n public: { http: [\"https://cypress.fautor.app/archive\"] }\n },\n blockExplorers: {\n etherscan: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" },\n default: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" }\n }\n};\n\n// src/linea.ts\nvar linea = {\n id: 59144,\n name: \"Linea Mainnet\",\n network: \"linea-mainnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://linea-mainnet.infura.io/v3\"],\n webSocket: [\"wss://linea-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.linea.build\"],\n webSocket: [\"wss://rpc.linea.build\"]\n },\n public: {\n http: [\"https://rpc.linea.build\"],\n webSocket: [\"wss://rpc.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://lineascan.build\"\n },\n etherscan: {\n name: \"Etherscan\",\n url: \"https://lineascan.build\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 42\n }\n },\n testnet: false\n};\n\n// src/lineaTestnet.ts\nvar lineaTestnet = {\n id: 59140,\n name: \"Linea Goerli Testnet\",\n network: \"linea-testnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://linea-goerli.infura.io/v3\"],\n webSocket: [\"wss://linea-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n },\n public: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.lineascan.build\"\n },\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.lineascan.build\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.goerli.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 498623\n }\n },\n testnet: true\n};\n\n// src/localhost.ts\nvar localhost = {\n id: 1337,\n name: \"Localhost\",\n network: \"localhost\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/mainnet.ts\nvar mainnet = {\n id: 1,\n network: \"homestead\",\n name: \"Ethereum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://mainnet.infura.io/v3\"],\n webSocket: [\"wss://mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://cloudflare-eth.com\"]\n },\n public: {\n http: [\"https://cloudflare-eth.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62\",\n blockCreated: 16966585\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/mantle.ts\nvar mantle = {\n id: 5e3,\n name: \"Mantle\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.mantle.xyz\"] },\n public: { http: [\"https://rpc.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Explorer\",\n url: \"https://explorer.mantle.xyz\"\n },\n default: {\n name: \"Mantle Explorer\",\n url: \"https://explorer.mantle.xyz\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 304717\n }\n }\n};\n\n// src/mantleTestnet.ts\nvar mantleTestnet = {\n id: 5001,\n name: \"Mantle Testnet\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.mantle.xyz\"] },\n public: { http: [\"https://rpc.testnet.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n }\n },\n testnet: true\n};\n\n// src/metis.ts\nvar metis = {\n id: 1088,\n name: \"Metis\",\n network: \"andromeda\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://andromeda.metis.io/?owner=1088\"] },\n public: { http: [\"https://andromeda.metis.io/?owner=1088\"] }\n },\n blockExplorers: {\n default: {\n name: \"Andromeda Explorer\",\n url: \"https://andromeda-explorer.metis.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2338552\n }\n }\n};\n\n// src/metisGoerli.ts\nvar metisGoerli = {\n id: 599,\n name: \"Metis Goerli\",\n network: \"metis-goerli\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis Goerli\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://goerli.gateway.metisdevops.link\"] },\n public: { http: [\"https://goerli.gateway.metisdevops.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Metis Goerli Explorer\",\n url: \"https://goerli.explorer.metisdevops.link\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1006207\n }\n }\n};\n\n// src/mev.ts\nvar mev = {\n id: 7518,\n network: \"MEVerse\",\n name: \"MEVerse Chain Mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversemainnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversemainnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://www.meversescan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 86881340\n }\n }\n};\n\n// src/mevTestnet.ts\nvar mevTestnet = {\n id: 4759,\n network: \"MEVerse Testnet\",\n name: \"MEVerse Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversetestnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversetestnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://testnet.meversescan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 64371115\n }\n },\n testnet: true\n};\n\n// src/modeTestnet.ts\nvar modeTestnet = {\n id: 919,\n name: \"Mode Testnet\",\n network: \"mode-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sepolia.mode.network\"]\n },\n public: {\n http: [\"https://sepolia.mode.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://sepolia.explorer.mode.network\"\n }\n },\n testnet: true\n};\n\n// src/moonbaseAlpha.ts\nvar moonbaseAlpha = {\n id: 1287,\n name: \"Moonbase Alpha\",\n network: \"moonbase-alpha\",\n nativeCurrency: {\n decimals: 18,\n name: \"DEV\",\n symbol: \"DEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n },\n public: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1850686\n }\n },\n testnet: true\n};\n\n// src/moonbeam.ts\nvar moonbeam = {\n id: 1284,\n name: \"Moonbeam\",\n network: \"moonbeam\",\n nativeCurrency: {\n decimals: 18,\n name: \"GLMR\",\n symbol: \"GLMR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 609002\n }\n },\n testnet: false\n};\n\n// src/moonriver.ts\nvar moonriver = {\n id: 1285,\n name: \"Moonriver\",\n network: \"moonriver\",\n nativeCurrency: {\n decimals: 18,\n name: \"MOVR\",\n symbol: \"MOVR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1597904\n }\n },\n testnet: false\n};\n\n// src/neonDevnet.ts\nvar neonDevnet = {\n id: 245022926,\n network: \"neonDevnet\",\n name: \"Neon EVM DevNet\",\n nativeCurrency: { name: \"NEON\", symbol: \"NEON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://devnet.neonevm.org\"]\n },\n public: {\n http: [\"https://devnet.neonevm.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Neonscan\",\n url: \"https://neonscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 205206112\n }\n },\n testnet: true\n};\n\n// src/nexi.ts\nvar nexi = {\n id: 4242,\n name: \"Nexi\",\n network: \"nexi\",\n nativeCurrency: { name: \"Nexi\", symbol: \"NEXI\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chain.nexi.technology\"]\n },\n public: {\n http: [\"https://rpc.chain.nexi.technology\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n },\n default: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/nexilix.ts\nvar nexilix = {\n id: 240,\n name: \"Nexilix Smart Chain\",\n network: \"nexilix\",\n nativeCurrency: {\n decimals: 18,\n name: \"Nexilix\",\n symbol: \"NEXILIX\"\n },\n rpcUrls: {\n default: { http: [\"https://rpcurl.pos.nexilix.com\"] },\n public: { http: [\"https://rpcurl.pos.nexilix.com\"] }\n },\n blockExplorers: {\n etherscan: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" },\n default: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244\",\n blockCreated: 74448\n }\n }\n};\n\n// src/oasys.ts\nvar oasys = {\n id: 248,\n name: \"Oasys\",\n network: \"oasys\",\n nativeCurrency: { name: \"Oasys\", symbol: \"OAS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n },\n public: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"OasysScan\",\n url: \"https://scan.oasys.games\"\n }\n }\n};\n\n// src/okc.ts\nvar okc = {\n id: 66,\n name: \"OKC\",\n network: \"okc\",\n nativeCurrency: {\n decimals: 18,\n name: \"OKT\",\n symbol: \"OKT\"\n },\n rpcUrls: {\n default: { http: [\"https://exchainrpc.okex.org\"] },\n public: { http: [\"https://exchainrpc.okex.org\"] }\n },\n blockExplorers: {\n default: { name: \"oklink\", url: \"https://www.oklink.com/okc\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 10364792\n }\n }\n};\n\n// src/optimism.ts\nvar optimism = {\n id: 10,\n name: \"OP Mainnet\",\n network: \"optimism\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-mainnet.infura.io/v3\"],\n webSocket: [\"wss://optimism-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://mainnet.optimism.io\"]\n },\n public: {\n http: [\"https://mainnet.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://optimistic.etherscan.io\"\n },\n default: {\n name: \"Optimism Explorer\",\n url: \"https://explorer.optimism.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 4286263\n }\n }\n};\n\n// src/optimismGoerli.ts\nvar optimismGoerli = {\n id: 420,\n name: \"Optimism Goerli\",\n network: \"optimism-goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-goerli.infura.io/v3\"],\n webSocket: [\"wss://optimism-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli.optimism.io\"]\n },\n public: {\n http: [\"https://goerli.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 49461\n }\n },\n testnet: true\n};\n\n// src/polygon.ts\nvar polygon = {\n id: 137,\n name: \"Polygon\",\n network: \"matic\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mainnet.infura.io/v3\"],\n webSocket: [\"wss://polygon-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://polygon-rpc.com\"]\n },\n public: {\n http: [\"https://polygon-rpc.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/polygonMumbai.ts\nvar polygonMumbai = {\n id: 80001,\n name: \"Polygon Mumbai\",\n network: \"maticmum\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mumbai.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mumbai.infura.io/v3\"],\n webSocket: [\"wss://polygon-mumbai.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n },\n public: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvmTestnet.ts\nvar polygonZkEvmTestnet = {\n id: 1442,\n name: \"Polygon zkEVM Testnet\",\n network: \"polygon-zkevm-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n },\n public: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.public.zkevm-test.net\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://testnet-zkevm.polygonscan.com\"\n }\n },\n testnet: true,\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 525686\n }\n }\n};\n\n// src/polygonZkEvm.ts\nvar polygonZkEvm = {\n id: 1101,\n name: \"Polygon zkEVM\",\n network: \"polygon-zkevm\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://zkevm-rpc.com\"]\n },\n public: {\n http: [\"https://zkevm-rpc.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PolygonScan\",\n url: \"https://zkevm.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 57746\n }\n }\n};\n\n// src/pulsechain.ts\nvar pulsechain = {\n id: 369,\n network: \"pulsechain\",\n name: \"PulseChain\",\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n testnet: false,\n rpcUrls: {\n default: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/pulsechainV4.ts\nvar pulsechainV4 = {\n id: 943,\n network: \"pulsechainV4\",\n name: \"PulseChain V4\",\n testnet: true,\n nativeCurrency: { name: \"V4 Pulse\", symbol: \"v4PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.v4.testnet.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/qMainnet.ts\nvar qMainnet = {\n id: 35441,\n name: \"Q Mainnet\",\n network: \"q-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Q\",\n symbol: \"Q\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.q.org\"] },\n public: { http: [\"https://rpc.q.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Q Mainnet Explorer\",\n url: \"https://explorer.q.org\"\n }\n }\n};\n\n// src/qTestnet.ts\nvar qTestnet = {\n id: 35443,\n name: \"Q Testnet\",\n network: \"q-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Q\",\n symbol: \"Q\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.qtestnet.org\"] },\n public: { http: [\"https://rpc.qtestnet.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Q Testnet Explorer\",\n url: \"https://explorer.qtestnet.org\"\n }\n },\n testnet: true\n};\n\n// src/rollux.ts\nvar rollux = {\n id: 570,\n name: \"Rollux Mainnet\",\n network: \"rollux\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.rollux.com\"],\n webSocket: [\"wss://rpc.rollux.com/wss\"]\n },\n public: { http: [\"https://rollux.public-rpc.com\"] }\n },\n blockExplorers: {\n default: { name: \"RolluxExplorer\", url: \"https://explorer.rollux.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 119222\n }\n }\n};\n\n// src/rolluxTestnet.ts\nvar rolluxTestnet = {\n id: 57e3,\n name: \"Rollux Testnet\",\n network: \"rollux-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc-tanenbaum.rollux.com/\"],\n webSocket: [\"wss://rpc-tanenbaum.rollux.com/wss\"]\n },\n public: { http: [\"https://rpc-tanenbaum.rollux.com/\"] }\n },\n blockExplorers: {\n default: {\n name: \"RolluxTestnetExplorer\",\n url: \"https://rollux.tanenbaum.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1813675\n }\n }\n};\n\n// src/ronin.ts\nvar ronin = {\n id: 2020,\n name: \"Ronin\",\n network: \"ronin\",\n nativeCurrency: { name: \"RON\", symbol: \"RON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://api.roninchain.com/rpc\"]\n },\n public: {\n http: [\"https://api.roninchain.com/rpc\"]\n }\n },\n blockExplorers: {\n default: { name: \"Ronin Explorer\", url: \"https://app.roninchain.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 26023535\n }\n }\n};\n\n// src/saigon.ts\nvar saigon = {\n id: 2021,\n name: \"Saigon Testnet\",\n network: \"saigon\",\n nativeCurrency: { name: \"RON\", symbol: \"RON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://saigon-testnet.roninchain.com/rpc\"]\n },\n public: {\n http: [\"https://saigon-testnet.roninchain.com/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Saigon Explorer\",\n url: \"https://saigon-explorer.roninchain.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 18736871\n }\n },\n testnet: true\n};\n\n// src/scrollSepolia.ts\nvar scrollSepolia = {\n id: 534351,\n name: \"Scroll Sepolia\",\n network: \"scroll-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sepolia-rpc.scroll.io\"],\n webSocket: [\"wss://sepolia-rpc.scroll.io/ws\"]\n },\n public: {\n http: [\"https://sepolia-rpc.scroll.io\"],\n webSocket: [\"wss://sepolia-rpc.scroll.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://sepolia-blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/scrollTestnet.ts\nvar scrollTestnet = {\n id: 534353,\n name: \"Scroll Testnet\",\n network: \"scroll-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n },\n public: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/sepolia.ts\nvar sepolia = {\n id: 11155111,\n network: \"sepolia\",\n name: \"Sepolia\",\n nativeCurrency: { name: \"Sepolia Ether\", symbol: \"SEP\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-sepolia.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://sepolia.infura.io/v3\"],\n webSocket: [\"wss://sepolia.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.sepolia.org\"]\n },\n public: {\n http: [\"https://rpc.sepolia.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/skale/brawl.ts\nvar skaleBlockBrawlers = {\n id: 391845894,\n name: \"SKALE | Block Brawlers\",\n network: \"skale-brawl\",\n nativeCurrency: { name: \"BRAWL\", symbol: \"BRAWL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypso.ts\nvar skaleCalypso = {\n id: 1564830818,\n name: \"SKALE | Calypso NFT Hub\",\n network: \"skale-calypso\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague\"\n ]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 3107626\n }\n }\n};\n\n// src/skale/calypsoTestnet.ts\nvar skaleCalypsoTestnet = {\n id: 344106930,\n name: \"SKALE | Calypso NFT Hub Testnet\",\n network: \"skale-calypso-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2131424\n }\n },\n testnet: true\n};\n\n// src/skale/chaosTestnet.ts\nvar skaleChaosTestnet = {\n id: 1351057110,\n name: \"SKALE | Chaos Testnet\",\n network: \"skale-chaos-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1192202\n }\n },\n testnet: true\n};\n\n// src/skale/cryptoBlades.ts\nvar skaleCryptoBlades = {\n id: 1026062157,\n name: \"SKALE | CryptoBlades\",\n network: \"skale-cryptoblades\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux\"\n ]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"],\n webSocket: [\n \"wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/cryptoColosseum.ts\nvar skaleCryptoColosseum = {\n id: 2046399126,\n name: \"SKALE | Crypto Colosseum\",\n network: \"skale-crypto-coloseeum\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europa.ts\nvar skaleEuropa = {\n id: 2046399126,\n name: \"SKALE | Europa Liquidity Hub\",\n network: \"skale-europa\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 3113495\n }\n }\n};\n\n// src/skale/europaTestnet.ts\nvar skaleEuropaTestnet = {\n id: 476158412,\n name: \"SKALE | Europa Liquidity Hub Testnet\",\n network: \"skale-europa-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor\"\n ]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2071911\n }\n },\n testnet: true\n};\n\n// src/skale/exorde.ts\nvar skaleExorde = {\n id: 2139927552,\n name: \"SKALE | Exorde\",\n network: \"skale-exorde\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/humanProtocol.ts\nvar skaleHumanProtocol = {\n id: 1273227453,\n name: \"SKALE | Human Protocol\",\n network: \"skale-human-protocol\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/wan-red-ain\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/wan-red-ain\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebula.ts\nvar skaleNebula = {\n id: 1482601649,\n name: \"SKALE | Nebula Gaming Hub\",\n network: \"skale-nebula\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2372986\n }\n }\n};\n\n// src/skale/nebulaTestnet.ts\nvar skaleNebulaTestnet = {\n id: 503129905,\n name: \"SKALE | Nebula Gaming Hub Testnet\",\n network: \"skale-nebula-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"\n ]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2205882\n }\n },\n testnet: true\n};\n\n// src/skale/razor.ts\nvar skaleRazor = {\n id: 278611351,\n name: \"SKALE | Razor Network\",\n network: \"skale-razor\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titan.ts\nvar skaleTitan = {\n id: 1350216234,\n name: \"SKALE | Titan Community Hub\",\n network: \"skale-titan\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"],\n webSocket: [\"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2076458\n }\n }\n};\n\n// src/skale/titanTestnet.ts\nvar skaleTitanTestnet = {\n id: 1517929550,\n name: \"SKALE | Titan Community Hub Testnet\",\n network: \"skale-titan-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ],\n webSocket: [\n \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"\n ]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 2085155\n }\n },\n testnet: true\n};\n\n// src/songbird.ts\nvar songbird = {\n id: 19,\n name: \"Songbird Mainnet\",\n network: \"songbird-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"songbird\",\n symbol: \"SGB\"\n },\n rpcUrls: {\n default: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Songbird Explorer\",\n url: \"https://songbird-explorer.flare.network\"\n }\n }\n};\n\n// src/songbirdTestnet.ts\nvar songbirdTestnet = {\n id: 16,\n name: \"Coston\",\n network: \"coston\",\n nativeCurrency: {\n decimals: 18,\n name: \"costonflare\",\n symbol: \"CFLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston Explorer\",\n url: \"https://coston-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/shardeumSphinx.ts\nvar shardeumSphinx = {\n id: 8082,\n name: \"Shardeum Sphinx\",\n network: \"shmSphinx\",\n nativeCurrency: { name: \"SHARDEUM\", symbol: \"SHM\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sphinx.shardeum.org\"]\n },\n public: {\n http: [\"https://sphinx.shardeum.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Shardeum Explorer\",\n url: \"https://explorer-sphinx.shardeum.org\"\n }\n },\n testnet: true\n};\n\n// src/syscoin.ts\nvar syscoin = {\n id: 57,\n name: \"Syscoin Mainnet\",\n network: \"syscoin\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.syscoin.org\"],\n webSocket: [\"wss://rpc.syscoin.org/wss\"]\n },\n public: {\n http: [\"https://rpc.syscoin.org\"],\n webSocket: [\"wss://rpc.syscoin.org/wss\"]\n }\n },\n blockExplorers: {\n default: { name: \"SyscoinExplorer\", url: \"https://explorer.syscoin.org\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 287139\n }\n }\n};\n\n// src/syscoinTestnet.ts\nvar syscoinTestnet = {\n id: 5700,\n name: \"Syscoin Tanenbaum Testnet\",\n network: \"syscoin-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.tanenbaum.io\"],\n webSocket: [\"wss://rpc.tanenbaum.io/wss\"]\n },\n public: {\n http: [\"https://rpc.tanenbaum.io\"],\n webSocket: [\"wss://rpc.tanenbaum.io/wss\"]\n }\n },\n blockExplorers: {\n default: { name: \"SyscoinTestnetExplorer\", url: \"https://tanenbaum.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 271288\n }\n }\n};\n\n// src/taraxa.ts\nvar taraxa = {\n id: 841,\n name: \"Taraxa Mainnet\",\n network: \"taraxa\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.mainnet.taraxa.io\"\n }\n }\n};\n\n// src/taikoTestnetSepolia.ts\nvar taikoTestnetSepolia = {\n id: 167005,\n name: \"Taiko (Alpha-3 Testnet)\",\n network: \"taiko-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.test.taiko.xyz\"]\n },\n public: {\n http: [\"https://rpc.test.taiko.xyz\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"blockscout\",\n url: \"https://explorer.test.taiko.xyz\"\n }\n }\n};\n\n// src/taraxaTestnet.ts\nvar taraxaTestnet = {\n id: 842,\n name: \"Taraxa Testnet\",\n network: \"taraxa-testnet\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.testnet.taraxa.io\"\n }\n },\n testnet: true\n};\n\n// src/telos.ts\nvar telos = {\n id: 40,\n name: \"Telos\",\n network: \"telos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.telos.net/evm\"] },\n public: { http: [\"https://mainnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan\",\n url: \"https://www.teloscan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 246530709\n }\n }\n};\n\n// src/telosTestnet.ts\nvar telosTestnet = {\n id: 41,\n name: \"Telos\",\n network: \"telosTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://testnet.telos.net/evm\"] },\n public: { http: [\"https://testnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan (testnet)\",\n url: \"https://testnet.teloscan.io/\"\n }\n },\n testnet: true\n};\n\n// src/thunderTestnet.ts\nvar thunderTestnet = {\n id: 997,\n name: \"5ireChain Thunder Testnet\",\n network: \"5ireChain\",\n nativeCurrency: { name: \"5ire Token\", symbol: \"5IRE\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc-testnet.5ire.network\"]\n },\n public: {\n http: [\"https://rpc-testnet.5ire.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"5ireChain Explorer\",\n url: \"https://explorer.5ire.network\"\n }\n },\n testnet: true\n};\n\n// src/wanchain.ts\nvar wanchain = {\n id: 888,\n name: \"Wanchain\",\n network: \"wanchain\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WAN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n },\n public: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB\",\n blockCreated: 25312390\n }\n }\n};\n\n// src/wanchainTestnet.ts\nvar wanchainTestnet = {\n id: 999,\n name: \"Wanchain Testnet\",\n network: \"wanchainTestnet\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WANt\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n },\n public: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x11c89bF4496c39FB80535Ffb4c92715839CC5324\",\n blockCreated: 24743448\n }\n },\n testnet: true\n};\n\n// src/xdc.ts\nvar xdc = {\n id: 50,\n name: \"XinFin Network\",\n network: \"xdc\",\n nativeCurrency: {\n decimals: 18,\n name: \"XDC\",\n symbol: \"XDC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.xinfin.network\"] },\n public: { http: [\"https://rpc.xinfin.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.xinfin.network\" },\n default: { name: \"Blocksscan\", url: \"https://xdc.blocksscan.io\" }\n }\n};\n\n// src/xdcTestnet.ts\nvar xdcTestnet = {\n id: 51,\n name: \"Apothem Network\",\n network: \"xdc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"TXDC\",\n symbol: \"TXDC\"\n },\n rpcUrls: {\n default: { http: [\"https://erpc.apothem.network\"] },\n public: { http: [\"https://erpc.apothem.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.apothem.network\" },\n default: { name: \"Blocksscan\", url: \"https://apothem.blocksscan.io\" }\n }\n};\n\n// src/zhejiang.ts\nvar zhejiang = {\n id: 1337803,\n network: \"zhejiang\",\n name: \"Zhejiang\",\n nativeCurrency: { name: \"Zhejiang Ether\", symbol: \"ZhejETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n },\n public: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n }\n },\n blockExplorers: {\n beaconchain: {\n name: \"Etherscan\",\n url: \"https://zhejiang.beaconcha.in\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/eth/zhejiang-testnet\"\n },\n default: {\n name: \"Beaconchain\",\n url: \"https://zhejiang.beaconcha.in\"\n }\n },\n testnet: true\n};\n\n// src/zkSync.ts\nvar zkSync = {\n id: 324,\n name: \"zkSync Era\",\n network: \"zksync-era\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n },\n public: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n }\n};\n\n// src/zkSyncTestnet.ts\nvar zkSyncTestnet = {\n id: 280,\n name: \"zkSync Era Testnet\",\n network: \"zksync-era-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://goerli.explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n },\n testnet: true\n};\n\n// src/zetachainAthensTestnet.ts\nvar zetachainAthensTestnet = {\n id: 7001,\n name: \"ZetaChain Athens Testnet\",\n network: \"zetachain-athens-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zeta\",\n symbol: \"aZETA\"\n },\n rpcUrls: {\n public: {\n http: [\"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\"]\n },\n default: {\n http: [\"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ZetaScan\",\n url: \"https://athens3.explorer.zetachain.com\"\n }\n },\n testnet: true\n};\n\n// src/zora.ts\nvar zora = {\n id: 7777777,\n name: \"Zora\",\n network: \"zora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n },\n public: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 5882\n }\n }\n};\n\n// src/zoraTestnet.ts\nvar zoraTestnet = {\n id: 999,\n name: \"Zora Goerli Testnet\",\n network: \"zora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zora Goerli\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n },\n public: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://testnet.explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 189123\n }\n },\n testnet: true\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jaGFpbnMvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsOENBQThDO0FBQy9ELGVBQWU7QUFDZixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGlCQUFpQixzREFBc0Q7QUFDdkUsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBNEM7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsbURBQW1EO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxlQUFlO0FBQ2YsR0FBRztB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QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLGtDQUFrQztBQUNqRCxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0EsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLHFDQUFxQztBQUNwRCxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZSxxQ0FBcUM7QUFDcEQsY0FBYztBQUNkLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZSwr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QUFDQSxvQkFBb0Isa0RBQWtEO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0RBQWtEO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGVBQWUsaUNBQWlDO0FBQ2hELGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNENBQTRDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLGtDQUFrQztBQUNqRCxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGVBQWUsMENBQTBDO0FBQ3pELGNBQWM7QUFDZCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLGtEQUFrRDtBQUNqRSxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZSxtREFBbUQ7QUFDbEUsY0FBYztBQUNkLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBNEM7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBNEM7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGVBQWUsMENBQTBDO0FBQ3pELGNBQWM7QUFDZCxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsc0RBQXNEO0FBQ3ZFLGVBQWU7QUFDZixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBNEM7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlLHVDQUF1QztBQUN0RCxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0EsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUE0QztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtREFBbUQ7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FB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QUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsOENBQThDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsOENBQThDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4Q0FBOEM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUE4QztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFD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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNENBQTRDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZUFBZTtBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxlQUFlO0FBQ2YsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQXFJRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jaGFpbnMvZGlzdC9pbmRleC5tanM/NDAxMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvYXJiaXRydW0udHNcbnZhciBhcmJpdHJ1bSA9IHtcbiAgaWQ6IDQyMTYxLFxuICBuYW1lOiBcIkFyYml0cnVtIE9uZVwiLFxuICBuZXR3b3JrOiBcImFyYml0cnVtXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGFsY2hlbXk6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYXJiLW1haW5uZXQuZy5hbGNoZW15LmNvbS92MlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYXJiLW1haW5uZXQuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FyYml0cnVtLW1haW5uZXQuaW5mdXJhLmlvL3YzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9hcmJpdHJ1bS1tYWlubmV0LmluZnVyYS5pby93cy92M1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hcmIxLmFyYml0cnVtLmlvL3JwY1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FyYjEuYXJiaXRydW0uaW8vcnBjXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkFyYmlzY2FuXCIsIHVybDogXCJodHRwczovL2FyYmlzY2FuLmlvXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQXJiaXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vYXJiaXNjYW4uaW9cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDc2NTQ3MDdcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9hcmJpdHJ1bUdvZXJsaS50c1xudmFyIGFyYml0cnVtR29lcmxpID0ge1xuICBpZDogNDIxNjEzLFxuICBuYW1lOiBcIkFyYml0cnVtIEdvZXJsaVwiLFxuICBuZXR3b3JrOiBcImFyYml0cnVtLWdvZXJsaVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIG5hbWU6IFwiQXJiaXRydW0gR29lcmxpIEV0aGVyXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiLFxuICAgIGRlY2ltYWxzOiAxOFxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hcmItZ29lcmxpLmcuYWxjaGVteS5jb20vdjJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2FyYi1nb2VybGkuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FyYml0cnVtLWdvZXJsaS5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2FyYml0cnVtLWdvZXJsaS5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZ29lcmxpLXJvbGx1cC5hcmJpdHJ1bS5pby9ycGNcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGktcm9sbHVwLmFyYml0cnVtLmlvL3JwY1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJBcmJpc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuYXJiaXNjYW4uaW8vXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQXJiaXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vZ29lcmxpLmFyYmlzY2FuLmlvL1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogODgxMTRcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9hcmJpdHJ1bU5vdmEudHNcbnZhciBhcmJpdHJ1bU5vdmEgPSB7XG4gIGlkOiA0MjE3MCxcbiAgbmFtZTogXCJBcmJpdHJ1bSBOb3ZhXCIsXG4gIG5ldHdvcms6IFwiYXJiaXRydW0tbm92YVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBibGFzdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hcmJpdHJ1bS1ub3ZhLnB1YmxpYy5ibGFzdGFwaS5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYXJiaXRydW0tbm92YS5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbm92YS5hcmJpdHJ1bS5pby9ycGNcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ub3ZhLmFyYml0cnVtLmlvL3JwY1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJBcmJpc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9ub3ZhLmFyYmlzY2FuLmlvXCIgfSxcbiAgICBibG9ja1Njb3V0OiB7XG4gICAgICBuYW1lOiBcIkJsb2NrU2NvdXRcIixcbiAgICAgIHVybDogXCJodHRwczovL25vdmEtZXhwbG9yZXIuYXJiaXRydW0uaW8vXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJBcmJpc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9ub3ZhLmFyYmlzY2FuLmlvXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxNzQ2OTYzXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvYXVyb3JhLnRzXG52YXIgYXVyb3JhID0ge1xuICBpZDogMTMxMzE2MTU1NCxcbiAgbmFtZTogXCJBdXJvcmFcIixcbiAgbmV0d29yazogXCJhdXJvcmFcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFdGhlclwiLFxuICAgIHN5bWJvbDogXCJFVEhcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgaW5mdXJhOiB7IGh0dHA6IFtcImh0dHBzOi8vYXVyb3JhLW1haW5uZXQuaW5mdXJhLmlvL3YzXCJdIH0sXG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL21haW5uZXQuYXVyb3JhLmRldlwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL21haW5uZXQuYXVyb3JhLmRldlwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiQXVyb3Jhc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9hdXJvcmFzY2FuLmRldlwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkF1cm9yYXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vYXVyb3Jhc2Nhbi5kZXZcIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9hdXJvcmFUZXN0bmV0LnRzXG52YXIgYXVyb3JhVGVzdG5ldCA9IHtcbiAgaWQ6IDEzMTMxNjE1NTUsXG4gIG5hbWU6IFwiQXVyb3JhIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJhdXJvcmEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV0aGVyXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBpbmZ1cmE6IHsgaHR0cDogW1wiaHR0cHM6Ly9hdXJvcmEtdGVzdG5ldC5pbmZ1cmEuaW8vdjNcIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC5hdXJvcmEuZGV2XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC5hdXJvcmEuZGV2XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJBdXJvcmFzY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuYXVyb3Jhc2Nhbi5kZXZcIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJBdXJvcmFzY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3RuZXQuYXVyb3Jhc2Nhbi5kZXZcIiB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9hdmFsYW5jaGUudHNcbnZhciBhdmFsYW5jaGUgPSB7XG4gIGlkOiA0MzExNCxcbiAgbmFtZTogXCJBdmFsYW5jaGVcIixcbiAgbmV0d29yazogXCJhdmFsYW5jaGVcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJBdmFsYW5jaGVcIixcbiAgICBzeW1ib2w6IFwiQVZBWFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmF2YXgubmV0d29yay9leHQvYmMvQy9ycGNcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkuYXZheC5uZXR3b3JrL2V4dC9iYy9DL3JwY1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiU25vd1RyYWNlXCIsIHVybDogXCJodHRwczovL3Nub3d0cmFjZS5pb1wiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIlNub3dUcmFjZVwiLCB1cmw6IFwiaHR0cHM6Ly9zbm93dHJhY2UuaW9cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDExOTA3OTM0XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvYXZhbGFuY2hlRnVqaS50c1xudmFyIGF2YWxhbmNoZUZ1amkgPSB7XG4gIGlkOiA0MzExMyxcbiAgbmFtZTogXCJBdmFsYW5jaGUgRnVqaVwiLFxuICBuZXR3b3JrOiBcImF2YWxhbmNoZS1mdWppXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQXZhbGFuY2hlIEZ1amlcIixcbiAgICBzeW1ib2w6IFwiQVZBWFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrL2V4dC9iYy9DL3JwY1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2FwaS5hdmF4LXRlc3QubmV0d29yay9leHQvYmMvQy9ycGNcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIlNub3dUcmFjZVwiLCB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LnNub3d0cmFjZS5pb1wiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIlNub3dUcmFjZVwiLCB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LnNub3d0cmFjZS5pb1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNzA5Njk1OVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2Jhc2UudHNcbnZhciBiYXNlID0ge1xuICBpZDogODQ1MyxcbiAgbmV0d29yazogXCJiYXNlXCIsXG4gIG5hbWU6IFwiQmFzZVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkJhc2VcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5iYXNlLm9yZ1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuYmFzZS5vcmdcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJCYXNlc2NvdXRcIixcbiAgICAgIHVybDogXCJodHRwczovL2Jhc2UuYmxvY2tzY291dC5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCYXNlc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYmFzZXNjYW4ub3JnXCJcbiAgICB9LFxuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJCYXNlc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYmFzZXNjYW4ub3JnXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDUwMjJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9iYXNlR29lcmxpLnRzXG52YXIgYmFzZUdvZXJsaSA9IHtcbiAgaWQ6IDg0NTMxLFxuICBuZXR3b3JrOiBcImJhc2UtZ29lcmxpXCIsXG4gIG5hbWU6IFwiQmFzZSBHb2VybGlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJCYXNlIEdvZXJsaVwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGkuYmFzZS5vcmdcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nb2VybGkuYmFzZS5vcmdcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkJhc2VzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuYmFzZXNjYW4ub3JnXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQmFzZXNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2dvZXJsaS5iYXNlc2Nhbi5vcmdcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTM3Njk4OFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2JlYXJOZXR3b3JrQ2hhaW5NYWlubmV0LnRzXG52YXIgYmVhck5ldHdvcmtDaGFpbk1haW5uZXQgPSB7XG4gIGlkOiA2NDEyMzAsXG4gIG5hbWU6IFwiQmVhciBOZXR3b3JrIENoYWluIE1haW5uZXRcIixcbiAgbmV0d29yazogXCJCZWFyTmV0d29ya0NoYWluTWFpbm5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkJlYXJOZXR3b3JrQ2hhaW5cIixcbiAgICBzeW1ib2w6IFwiQlJOS0NcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYnJua2MtbWFpbm5ldC5iZWFybmV0d29yay5uZXRcIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYnJua2MtbWFpbm5ldC5iZWFybmV0d29yay5uZXRcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJCcm5rU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9icm5rc2Nhbi5iZWFybmV0d29yay5uZXRcIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9iZWFyTmV0d29ya0NoYWluVGVzdG5ldC50c1xudmFyIGJlYXJOZXR3b3JrQ2hhaW5UZXN0bmV0ID0ge1xuICBpZDogNzUxMjMwLFxuICBuYW1lOiBcIkJlYXIgTmV0d29yayBDaGFpbiBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwiQmVhck5ldHdvcmtDaGFpblRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJ0QlJOS0NcIixcbiAgICBzeW1ib2w6IFwidEJSTktDXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2JybmtjLXRlc3QuYmVhcm5ldHdvcmsubmV0XCJdIH0sXG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2JybmtjLXRlc3QuYmVhcm5ldHdvcmsubmV0XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkJybmtUZXN0U2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYnJua3Rlc3Qtc2Nhbi5iZWFybmV0d29yay5uZXRcIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2JvYmEudHNcbnZhciBib2JhID0ge1xuICBpZDogMjg4LFxuICBuYW1lOiBcIkJvYmEgTmV0d29ya1wiLFxuICBuZXR3b3JrOiBcImJvYmFcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJCb2JhXCIsXG4gICAgc3ltYm9sOiBcIkJPQkFcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL21haW5uZXQuYm9iYS5uZXR3b3JrXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5ib2JhLm5ldHdvcmtcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkJPQkFTY2FuXCIsIHVybDogXCJodHRwczovL2JvYmFzY2FuLmNvbVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkJPQkFTY2FuXCIsIHVybDogXCJodHRwczovL2JvYmFzY2FuLmNvbVwiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNDQ2ODU5XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvYnJvbm9zLnRzXG52YXIgYnJvbm9zID0ge1xuICBpZDogMTAzOSxcbiAgbmFtZTogXCJCcm9ub3NcIixcbiAgbmV0d29yazogXCJicm9ub3NcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJCUk9cIixcbiAgICBzeW1ib2w6IFwiQlJPXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldm0uYnJvbm9zLm9yZ1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2V2bS5icm9ub3Mub3JnXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQnJvbm9TY2FuXCIsIHVybDogXCJodHRwczovL2Jyb3NjYW4uYnJvbm9zLm9yZ1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2Jyb25vc1Rlc3RuZXQudHNcbnZhciBicm9ub3NUZXN0bmV0ID0ge1xuICBpZDogMTAzOCxcbiAgbmFtZTogXCJCcm9ub3MgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImJyb25vcy10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQnJvbm9zIENvaW5cIixcbiAgICBzeW1ib2w6IFwidEJST1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXZtLXRlc3RuZXQuYnJvbm9zLm9yZ1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2V2bS10ZXN0bmV0LmJyb25vcy5vcmdcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJCcm9ub1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGJyb3NjYW4uYnJvbm9zLm9yZ1wiIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2JzYy50c1xudmFyIGJzYyA9IHtcbiAgaWQ6IDU2LFxuICBuYW1lOiBcIkJOQiBTbWFydCBDaGFpblwiLFxuICBuZXR3b3JrOiBcImJzY1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkJOQlwiLFxuICAgIHN5bWJvbDogXCJCTkJcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy5hbmtyLmNvbS9ic2NcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuYW5rci5jb20vYnNjXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHsgbmFtZTogXCJCc2NTY2FuXCIsIHVybDogXCJodHRwczovL2JzY3NjYW4uY29tXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQnNjU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9ic2NzY2FuLmNvbVwiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTU5MjE0NTJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9ic2NUZXN0bmV0LnRzXG52YXIgYnNjVGVzdG5ldCA9IHtcbiAgaWQ6IDk3LFxuICBuYW1lOiBcIkJpbmFuY2UgU21hcnQgQ2hhaW4gVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImJzYy10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQk5CXCIsXG4gICAgc3ltYm9sOiBcInRCTkJcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2RhdGEtc2VlZC1wcmVic2MtMS1zMS5iaW5hbmNlLm9yZzo4NTQ1XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vZGF0YS1zZWVkLXByZWJzYy0xLXMxLmJpbmFuY2Uub3JnOjg1NDVcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkJzY1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkJzY1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbVwiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTc0MjI0ODNcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9ieG4udHNcbnZhciBieG4gPSB7XG4gIGlkOiA0OTk5LFxuICBuYW1lOiBcIkJsYWNrRm9ydCBFeGNoYW5nZSBOZXR3b3JrXCIsXG4gIG5ldHdvcms6IFwiYnhuXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiQmxhY2tGb3J0IFRva2VuXCIsIHN5bWJvbDogXCJCWE5cIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuYmxhY2tmb3J0Lm5ldHdvcmsvcnBjXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5ibGFja2ZvcnQubmV0d29yay9ycGNcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5ibGFja2ZvcnQubmV0d29ya1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvYnhuVGVzdG5ldC50c1xudmFyIGJ4blRlc3RuZXQgPSB7XG4gIGlkOiA0Nzc3LFxuICBuYW1lOiBcIkJsYWNrRm9ydCBFeGNoYW5nZSBOZXR3b3JrIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJieG5UZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgbmFtZTogXCJCbGFja0ZvcnQgVGVzdG5ldCBUb2tlblwiLFxuICAgIHN5bWJvbDogXCJUQlhOXCIsXG4gICAgZGVjaW1hbHM6IDE4XG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3Rlc3RuZXQuYmxhY2tmb3J0Lm5ldHdvcmsvcnBjXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC5ibGFja2ZvcnQubmV0d29yay9ycGNcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLmJsYWNrZm9ydC5uZXR3b3JrXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9jYW50by50c1xudmFyIGNhbnRvID0ge1xuICBpZDogNzcwMCxcbiAgbmFtZTogXCJDYW50b1wiLFxuICBuZXR3b3JrOiBcImNhbnRvXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ2FudG9cIixcbiAgICBzeW1ib2w6IFwiQ0FOVE9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2NhbnRvLmdyYXZpdHljaGFpbi5pb1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2NhbnRvLmdyYXZpdHljaGFpbi5pb1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJUdWJlci5CdWlsZCAoQmxvY2tzY291dClcIixcbiAgICAgIHVybDogXCJodHRwczovL3R1YmVyLmJ1aWxkXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDI5MDU3ODlcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9jZWxvLnRzXG52YXIgY2VsbyA9IHtcbiAgaWQ6IDQyMjIwLFxuICBuYW1lOiBcIkNlbG9cIixcbiAgbmV0d29yazogXCJjZWxvXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ0VMT1wiLFxuICAgIHN5bWJvbDogXCJDRUxPXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9mb3Juby5jZWxvLm9yZ1wiXSB9LFxuICAgIGluZnVyYToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9jZWxvLW1haW5uZXQuaW5mdXJhLmlvL3YzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZm9ybm8uY2Vsby5vcmdcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJDZWxvIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy9tYWlubmV0XCJcbiAgICB9LFxuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkNlbG9TY2FuXCIsIHVybDogXCJodHRwczovL2NlbG9zY2FuLmlvXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxMzExMjU5OVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogZmFsc2Vcbn07XG5cbi8vIHNyYy9jZWxvQWxmYWpvcmVzLnRzXG52YXIgY2Vsb0FsZmFqb3JlcyA9IHtcbiAgaWQ6IDQ0Nzg3LFxuICBuYW1lOiBcIkFsZmFqb3Jlc1wiLFxuICBuZXR3b3JrOiBcImNlbG8tYWxmYWpvcmVzXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ0VMT1wiLFxuICAgIHN5bWJvbDogXCJBLUNFTE9cIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9hbGZham9yZXMtZm9ybm8uY2Vsby10ZXN0bmV0Lm9yZ1wiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2NlbG8tYWxmYWpvcmVzLmluZnVyYS5pby92M1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FsZmFqb3Jlcy1mb3Juby5jZWxvLXRlc3RuZXQub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQ2VsbyBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuY2Vsby5vcmcvYWxmYWpvcmVzXCJcbiAgICB9LFxuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkNlbG9TY2FuXCIsIHVybDogXCJodHRwczovL2FsZmFqb3Jlcy5jZWxvc2Nhbi5pby9cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE0NTY5MDAxXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvY2Vsb0Nhbm5vbGkudHNcbnZhciBjZWxvQ2Fubm9saSA9IHtcbiAgaWQ6IDE3MzIzLFxuICBuYW1lOiBcIkNhbm5vbGlcIixcbiAgbmV0d29yazogXCJjZWxvLWNhbm5vbGlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJDRUxPXCIsXG4gICAgc3ltYm9sOiBcIkMtQ0VMT1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2Zvcm5vLmNhbm5vbGkuY2Vsby10ZXN0bmV0Lm9yZ1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2Zvcm5vLmNhbm5vbGkuY2Vsby10ZXN0bmV0Lm9yZ1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkNlbG8gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLmNlbG8ub3JnL2Nhbm5vbGlcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweDVBY2IwYWE4QkY0RThGZjBkODgyRWUxODcxNDA3MTNDMTJCRjk3MThcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogODc0MjlcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9jbGFzc2ljLnRzXG52YXIgY2xhc3NpYyA9IHtcbiAgaWQ6IDYxLFxuICBuYW1lOiBcIkV0aGVyZXVtIENsYXNzaWNcIixcbiAgbmV0d29yazogXCJjbGFzc2ljXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRVRDXCIsXG4gICAgc3ltYm9sOiBcIkVUQ1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXRjLnJpdmV0LmxpbmtcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldGMucml2ZXQubGlua1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldFwiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvY29uZmx1eEVTcGFjZS50c1xudmFyIGNvbmZsdXhFU3BhY2UgPSB7XG4gIGlkOiAxMDMwLFxuICBuYW1lOiBcIkNvbmZsdXggZVNwYWNlXCIsXG4gIG5ldHdvcms6IFwiY2Z4LWVzcGFjZVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkNvbmZsdXhcIiwgc3ltYm9sOiBcIkNGWFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZXZtLmNvbmZsdXhycGMub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZXZtLmNvbmZsdXhycGMub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQ29uZmx1eFNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2V2bS5jb25mbHV4c2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4RUZmMDA3ODkxMGY2MzhjZDgxOTk2Y2MxMTdiY2NEM2VEZjJCMDcyRlwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA2ODYwMjkzNVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2Nyb25vcy50c1xudmFyIGNyb25vcyA9IHtcbiAgaWQ6IDI1LFxuICBuYW1lOiBcIkNyb25vcyBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwiY3Jvbm9zXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ3Jvbm9zXCIsXG4gICAgc3ltYm9sOiBcIkNST1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXZtLmNyb25vcy5vcmdcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldm0uY3Jvbm9zLm9yZ1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkNyb25vc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9jcm9ub3NjYW4uY29tXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxOTYzMTEyXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvY3Jvbm9zVGVzdG5ldC50c1xudmFyIGNyb25vc1Rlc3RuZXQgPSB7XG4gIGlkOiAzMzgsXG4gIG5hbWU6IFwiQ3Jvbm9zIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJjcm9ub3MtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkNST1wiLFxuICAgIHN5bWJvbDogXCJ0Q1JPXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldm0tdDMuY3Jvbm9zLm9yZ1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2V2bS10My5jcm9ub3Mub3JnXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkNyb25vcyBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vY3Jvbm9zLm9yZy9leHBsb3Jlci90ZXN0bmV0M1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxMDE5MTI1MVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2Nyb3NzYmVsbC50c1xudmFyIGNyb3NzYmVsbCA9IHtcbiAgaWQ6IDM3MzcsXG4gIG5ldHdvcms6IFwiY3Jvc3NiZWxsXCIsXG4gIG5hbWU6IFwiQ3Jvc3NiZWxsXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiQ1NCXCIsXG4gICAgc3ltYm9sOiBcIkNTQlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5jcm9zc2JlbGwuaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuY3Jvc3NiZWxsLmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJDcm9zc1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vc2Nhbi5jcm9zc2JlbGwuaW9cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhCQjk3NTkwMDljRGFDODI3NzRFZkM4NEQ5NGNEOUY3NDQwZjc1RmNmXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDIzNDk5Nzg3XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZGZrLnRzXG52YXIgZGZrID0ge1xuICBpZDogNTM5MzUsXG4gIG5hbWU6IFwiREZLIENoYWluXCIsXG4gIG5ldHdvcms6IFwiZGZrXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiSmV3ZWxcIixcbiAgICBzeW1ib2w6IFwiSkVXRUxcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9kZWZpLWtpbmdkb21zL2Rmay1jaGFpbi9ycGNcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9kZWZpLWtpbmdkb21zL2Rmay1jaGFpbi9ycGNcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkRGS1N1Ym5ldFNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3N1Ym5ldHMuYXZheC5uZXR3b3JrL2RlZmkta2luZ2RvbXNcIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJERktTdWJuZXRTY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9kZWZpLWtpbmdkb21zXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9kb2dlY2hhaW4udHNcbnZhciBkb2dlY2hhaW4gPSB7XG4gIGlkOiAyZTMsXG4gIG5hbWU6IFwiRG9nZWNoYWluXCIsXG4gIG5ldHdvcms6IFwiZG9nZWNoYWluXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRG9nZWNoYWluXCIsXG4gICAgc3ltYm9sOiBcIkRDXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZG9nZWNoYWluLmRvZ1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy5kb2dlY2hhaW4uZG9nXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiRG9nZUNoYWluRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLmRvZ2VjaGFpbi5kb2dcIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJEb2dlQ2hhaW5FeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuZG9nZWNoYWluLmRvZ1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZWRnZXdhcmUudHNcbnZhciBlZGdld2FyZSA9IHtcbiAgaWQ6IDIwMjEsXG4gIG5hbWU6IFwiRWRnZXdhcmUgRWRnZUVWTSBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwiZWRnZXdhcmVcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFZGdld2FyZVwiLFxuICAgIHN5bWJvbDogXCJFREdcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2VkZ2V3YXJlLWV2bS5qZWxsaWVkb3dsLm5ldFwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2VkZ2V3YXJlLWV2bS5qZWxsaWVkb3dsLm5ldFwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiRWRnc2NhbiBieSBCaGFyYXRoY29vcmdcIiwgdXJsOiBcImh0dHBzOi8vZWRnc2Nhbi5saXZlXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRWRnc2NhbiBieSBCaGFyYXRoY29vcmdcIiwgdXJsOiBcImh0dHBzOi8vZWRnc2Nhbi5saXZlXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxODExNzg3MlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2VkZ2V3YXJlVGVzdG5ldC50c1xudmFyIGVkZ2V3YXJlVGVzdG5ldCA9IHtcbiAgaWQ6IDIwMjIsXG4gIG5hbWU6IFwiQmVyZXNoZWV0IEJlcmVFVk0gVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImVkZ2V3YXJlVGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlRlc3RuZXQgRURHXCIsXG4gICAgc3ltYm9sOiBcInRFREdcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2JlcmVzaGVldC1ldm0uamVsbGllZG93bC5uZXRcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9iZXJlc2hlZXQtZXZtLmplbGxpZWRvd2wubmV0XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiRWRnc2NhbiBieSBCaGFyYXRoY29vcmdcIixcbiAgICAgIHVybDogXCJodHRwczovL3Rlc3RuZXQuZWRnc2Nhbi5saXZlXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRWRnc2NhbiBieSBCaGFyYXRoY29vcmdcIixcbiAgICAgIHVybDogXCJodHRwczovL3Rlc3RuZXQuZWRnc2Nhbi5saXZlXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9lb3MudHNcbnZhciBlb3MgPSB7XG4gIGlkOiAxNzc3NyxcbiAgbmFtZTogXCJFT1MgRVZNXCIsXG4gIG5ldHdvcms6IFwiZW9zXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRU9TXCIsXG4gICAgc3ltYm9sOiBcIkVPU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmV2bS5lb3NuZXR3b3JrLmNvbVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2FwaS5ldm0uZW9zbmV0d29yay5jb21cIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJFT1MgRVZNIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5ldm0uZW9zbmV0d29yay5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFT1MgRVZNIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5ldm0uZW9zbmV0d29yay5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNzk0MzkzM1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2Vvc1Rlc3RuZXQudHNcbnZhciBlb3NUZXN0bmV0ID0ge1xuICBpZDogMTU1NTcsXG4gIG5hbWU6IFwiRU9TIEVWTSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwiZW9zXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRU9TXCIsXG4gICAgc3ltYm9sOiBcIkVPU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLnRlc3RuZXQuZXZtLmVvc25ldHdvcmsuY29tXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLnRlc3RuZXQuZXZtLmVvc25ldHdvcmsuY29tXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiRU9TIEVWTSBUZXN0bmV0IEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LmV2bS5lb3NuZXR3b3JrLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkVPUyBFVk0gVGVzdG5ldCBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5ldm0uZW9zbmV0d29yay5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogOTA2Nzk0MFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2V2bW9zLnRzXG52YXIgZXZtb3MgPSB7XG4gIGlkOiA5MDAxLFxuICBuYW1lOiBcIkV2bW9zXCIsXG4gIG5ldHdvcms6IFwiZXZtb3NcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFdm1vc1wiLFxuICAgIHN5bWJvbDogXCJFVk1PU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXRoLmJkLmV2bW9zLm9yZzo4NTQ1XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vZXRoLmJkLmV2bW9zLm9yZzo4NTQ1XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRXZtb3MgQmxvY2sgRXhwbG9yZXJcIiwgdXJsOiBcImh0dHBzOi8vZXNjYW4ubGl2ZVwiIH1cbiAgfVxufTtcblxuLy8gc3JjL2V2bW9zVGVzdG5ldC50c1xudmFyIGV2bW9zVGVzdG5ldCA9IHtcbiAgaWQ6IDllMyxcbiAgbmFtZTogXCJFdm1vcyBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwiZXZtb3MtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV2bW9zXCIsXG4gICAgc3ltYm9sOiBcIkVWTU9TXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldGguYmQuZXZtb3MuZGV2Ojg1NDVcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ldGguYmQuZXZtb3MuZGV2Ojg1NDVcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRXZtb3MgVGVzdG5ldCBCbG9jayBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXZtLmV2bW9zLmRldi9cIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2VrdGEudHNcbnZhciBla3RhID0ge1xuICBpZDogMTk5NCxcbiAgbmFtZTogXCJFa3RhXCIsXG4gIG5ldHdvcms6IFwiZWt0YVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkVLVEFcIixcbiAgICBzeW1ib2w6IFwiRUtUQVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9tYWluLmVrdGEuaW9cIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vbWFpbi5la3RhLmlvXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRWt0YXNjYW5cIiwgdXJsOiBcImh0dHBzOi8vZWt0YXNjYW4uaW9cIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9la3RhVGVzdG5ldC50c1xudmFyIGVrdGFUZXN0bmV0ID0ge1xuICBpZDogMTAwNCxcbiAgbmFtZTogXCJFa3RhIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJla3RhLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFS1RBXCIsXG4gICAgc3ltYm9sOiBcIkVLVEFcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vdGVzdC5la3RhLmlvOjg1NDVcIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vdGVzdC5la3RhLmlvOjg1NDVcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJUZXN0IEVrdGFzY2FuXCIsIHVybDogXCJodHRwczovL3Rlc3QuZWt0YXNjYW4uaW9cIiB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9mYW50b20udHNcbnZhciBmYW50b20gPSB7XG4gIGlkOiAyNTAsXG4gIG5hbWU6IFwiRmFudG9tXCIsXG4gIG5ldHdvcms6IFwiZmFudG9tXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRmFudG9tXCIsXG4gICAgc3ltYm9sOiBcIkZUTVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2ZhbnRvbVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy5hbmtyLmNvbS9mYW50b21cIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2NhbjogeyBuYW1lOiBcIkZUTVNjYW5cIiwgdXJsOiBcImh0dHBzOi8vZnRtc2Nhbi5jb21cIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJGVE1TY2FuXCIsIHVybDogXCJodHRwczovL2Z0bXNjYW4uY29tXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAzMzAwMTk4N1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2ZhbnRvbVRlc3RuZXQudHNcbnZhciBmYW50b21UZXN0bmV0ID0ge1xuICBpZDogNDAwMixcbiAgbmFtZTogXCJGYW50b20gVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImZhbnRvbS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRmFudG9tXCIsXG4gICAgc3ltYm9sOiBcIkZUTVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLnRlc3RuZXQuZmFudG9tLm5ldHdvcmtcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMudGVzdG5ldC5mYW50b20ubmV0d29ya1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiRlRNU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LmZ0bXNjYW4uY29tXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRlRNU2NhblwiLCB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LmZ0bXNjYW4uY29tXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA4MzI4Njg4XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZmliby50c1xudmFyIGZpYm8gPSB7XG4gIGlkOiAxMjMwNixcbiAgbmFtZTogXCJGaWJvIENoYWluXCIsXG4gIG5ldHdvcms6IFwiZmlib2NoYWluXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiZmlib1wiLFxuICAgIHN5bWJvbDogXCJGSUJPXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9uZXR3b3JrLmh6cm9jLmFydFwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL25ldHdvcmsuaHpyb2MuYXJ0XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiRmlib1NjYW5cIiwgdXJsOiBcImh0dHBzOi8vc2Nhbi5maWJvY2hhaW4ub3JnXCIgfVxuICB9XG59O1xuXG4vLyBzcmMvZmlsZWNvaW4udHNcbnZhciBmaWxlY29pbiA9IHtcbiAgaWQ6IDMxNCxcbiAgbmFtZTogXCJGaWxlY29pbiBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwiZmlsZWNvaW4tbWFpbm5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcImZpbGVjb2luXCIsXG4gICAgc3ltYm9sOiBcIkZJTFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLm5vZGUuZ2xpZi5pby9ycGMvdjFcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkubm9kZS5nbGlmLmlvL3JwYy92MVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkZpbGZveFwiLCB1cmw6IFwiaHR0cHM6Ly9maWxmb3guaW5mby9lblwiIH0sXG4gICAgZmlsc2NhbjogeyBuYW1lOiBcIkZpbHNjYW5cIiwgdXJsOiBcImh0dHBzOi8vZmlsc2Nhbi5pb1wiIH0sXG4gICAgZmlsc2NvdXQ6IHsgbmFtZTogXCJGaWxzY291dFwiLCB1cmw6IFwiaHR0cHM6Ly9maWxzY291dC5pby9lblwiIH0sXG4gICAgZ2xpZjogeyBuYW1lOiBcIkdsaWZcIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuZ2xpZi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2ZpbGVjb2luQ2FsaWJyYXRpb24udHNcbnZhciBmaWxlY29pbkNhbGlicmF0aW9uID0ge1xuICBpZDogMzE0MTU5LFxuICBuYW1lOiBcIkZpbGVjb2luIENhbGlicmF0aW9uXCIsXG4gIG5ldHdvcms6IFwiZmlsZWNvaW4tY2FsaWJyYXRpb25cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJ0ZXN0bmV0IGZpbGVjb2luXCIsXG4gICAgc3ltYm9sOiBcInRGSUxcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2FwaS5jYWxpYnJhdGlvbi5ub2RlLmdsaWYuaW8vcnBjL3YxXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmNhbGlicmF0aW9uLm5vZGUuZ2xpZi5pby9ycGMvdjFcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJGaWxzY2FuXCIsIHVybDogXCJodHRwczovL2NhbGlicmF0aW9uLmZpbHNjYW4uaW9cIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9maWxlY29pbkh5cGVyc3BhY2UudHNcbnZhciBmaWxlY29pbkh5cGVyc3BhY2UgPSB7XG4gIGlkOiAzMTQxLFxuICBuYW1lOiBcIkZpbGVjb2luIEh5cGVyc3BhY2VcIixcbiAgbmV0d29yazogXCJmaWxlY29pbi1oeXBlcnNwYWNlXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwidGVzdG5ldCBmaWxlY29pblwiLFxuICAgIHN5bWJvbDogXCJ0RklMXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9hcGkuaHlwZXJzcGFjZS5ub2RlLmdsaWYuaW8vcnBjL3YxXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYXBpLmh5cGVyc3BhY2Uubm9kZS5nbGlmLmlvL3JwYy92MVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkZpbGZveFwiLCB1cmw6IFwiaHR0cHM6Ly9oeXBlcnNwYWNlLmZpbGZveC5pbmZvL2VuXCIgfSxcbiAgICBmaWxzY2FuOiB7IG5hbWU6IFwiRmlsc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly9oeXBlcnNwYWNlLmZpbHNjYW4uaW9cIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9mbGFyZS50c1xudmFyIGZsYXJlID0ge1xuICBpZDogMTQsXG4gIG5hbWU6IFwiRmxhcmUgTWFpbm5ldFwiLFxuICBuZXR3b3JrOiBcImZsYXJlLW1haW5uZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJmbGFyZVwiLFxuICAgIHN5bWJvbDogXCJGTFJcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2ZsYXJlLWFwaS5mbGFyZS5uZXR3b3JrL2V4dC9DL3JwY1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2ZsYXJlLWFwaS5mbGFyZS5uZXR3b3JrL2V4dC9DL3JwY1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJGbGFyZSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZmxhcmUtZXhwbG9yZXIuZmxhcmUubmV0d29ya1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZmxhcmVUZXN0bmV0LnRzXG52YXIgZmxhcmVUZXN0bmV0ID0ge1xuICBpZDogMTE0LFxuICBuYW1lOiBcIkNvc3RvbjJcIixcbiAgbmV0d29yazogXCJjb3N0b24yXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiY29zdG9uMmZsYXJlXCIsXG4gICAgc3ltYm9sOiBcIkMyRkxSXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9jb3N0b24yLWFwaS5mbGFyZS5uZXR3b3JrL2V4dC9DL3JwY1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2Nvc3RvbjItYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkNvc3RvbjIgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2Nvc3RvbjItZXhwbG9yZXIuZmxhcmUubmV0d29ya1wiXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvZm91bmRyeS50c1xudmFyIGZvdW5kcnkgPSB7XG4gIGlkOiAzMTMzNyxcbiAgbmFtZTogXCJGb3VuZHJ5XCIsXG4gIG5ldHdvcms6IFwiZm91bmRyeVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV0aGVyXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwOi8vMTI3LjAuMC4xOjg1NDVcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzOi8vMTI3LjAuMC4xOjg1NDVcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cDovLzEyNy4wLjAuMTo4NTQ1XCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3czovLzEyNy4wLjAuMTo4NTQ1XCJdXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvZnVzZS50c1xudmFyIGZ1c2UgPSB7XG4gIGlkOiAxMjIsXG4gIG5hbWU6IFwiRnVzZVwiLFxuICBuZXR3b3JrOiBcImZ1c2VcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJGdXNlXCIsIHN5bWJvbDogXCJGVVNFXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy5mdXNlLmlvXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vZnVzZS1tYWlubmV0LmNoYWluc3RhY2tsYWJzLmNvbVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkZ1c2UgRXhwbG9yZXJcIiwgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuZnVzZS5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2Z1c2VTcGFya25ldC50c1xudmFyIGZ1c2VTcGFya25ldCA9IHtcbiAgaWQ6IDEyMyxcbiAgbmFtZTogXCJGdXNlIFNwYXJrbmV0XCIsXG4gIG5ldHdvcms6IFwiZnVzZVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIlNwYXJrXCIsIHN5bWJvbDogXCJTUEFSS1wiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZnVzZXNwYXJrLmlvXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmZ1c2VzcGFyay5pb1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTcGFya2VudCBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuZnVzZXNwYXJrLmlvXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9pb3RleC50c1xudmFyIGlvdGV4ID0ge1xuICBpZDogNDY4OSxcbiAgbmFtZTogXCJJb1RlWFwiLFxuICBuZXR3b3JrOiBcImlvdGV4XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiSW9UZVhcIixcbiAgICBzeW1ib2w6IFwiSU9UWFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2JhYmVsLWFwaS5tYWlubmV0LmlvdGV4LmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9iYWJlbC1hcGkubWFpbm5ldC5pb3RleC5pb1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2JhYmVsLWFwaS5tYWlubmV0LmlvdGV4LmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9iYWJlbC1hcGkubWFpbm5ldC5pb3RleC5pb1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiSW9UZVhTY2FuXCIsIHVybDogXCJodHRwczovL2lvdGV4c2Nhbi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL2lvdGV4VGVzdG5ldC50c1xudmFyIGlvdGV4VGVzdG5ldCA9IHtcbiAgaWQ6IDQ2OTAsXG4gIG5hbWU6IFwiSW9UZVggVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcImlvdGV4LXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJJb1RlWFwiLFxuICAgIHN5bWJvbDogXCJJT1RYXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYmFiZWwtYXBpLnRlc3RuZXQuaW90ZXguaW9cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2JhYmVsLWFwaS50ZXN0bmV0LmlvdGV4LmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYmFiZWwtYXBpLnRlc3RuZXQuaW90ZXguaW9cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2JhYmVsLWFwaS50ZXN0bmV0LmlvdGV4LmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJJb1RlWFNjYW5cIiwgdXJsOiBcImh0dHBzOi8vdGVzdG5ldC5pb3RleHNjYW4uaW9cIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9nb2JpLnRzXG52YXIgZ29iaSA9IHtcbiAgaWQ6IDE2NjMsXG4gIG5hbWU6IFwiSG9yaXplbiBHb2JpIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJnb2JpXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiVGVzdCBaRU5cIixcbiAgICBzeW1ib2w6IFwidFpFTlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9nb2JpLXRlc3RuZXQuaG9yaXplbmxhYnMuaW8vZXRodjFcIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZ29iaS10ZXN0bmV0Lmhvcml6ZW5sYWJzLmlvL2V0aHYxXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiR29iaSBFeHBsb3JlclwiLCB1cmw6IFwiaHR0cHM6Ly9nb2JpLWV4cGxvcmVyLmhvcml6ZW4uaW9cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge30sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9nb2VybGkudHNcbnZhciBnb2VybGkgPSB7XG4gIGlkOiA1LFxuICBuZXR3b3JrOiBcImdvZXJsaVwiLFxuICBuYW1lOiBcIkdvZXJsaVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkdvZXJsaSBFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ldGgtZ29lcmxpLmcuYWxjaGVteS5jb20vdjJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2V0aC1nb2VybGkuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2dvZXJsaS5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2dvZXJsaS5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2V0aF9nb2VybGlcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuYW5rci5jb20vZXRoX2dvZXJsaVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIGVuc1JlZ2lzdHJ5OiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZVwiXG4gICAgfSxcbiAgICBlbnNVbml2ZXJzYWxSZXNvbHZlcjoge1xuICAgICAgYWRkcmVzczogXCIweDU2NTIyRDAwQzQxMGE0M0JGZkRGMDBhOUE1Njk0ODkyOTczODU3OTBcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogODc2NTIwNFxuICAgIH0sXG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNjUwNzY3MFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL2dub3Npcy50c1xudmFyIGdub3NpcyA9IHtcbiAgaWQ6IDEwMCxcbiAgbmFtZTogXCJHbm9zaXNcIixcbiAgbmV0d29yazogXCJnbm9zaXNcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJHbm9zaXNcIixcbiAgICBzeW1ib2w6IFwieERBSVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmdub3Npc2NoYWluLmNvbVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy5nbm9zaXNjaGFpbi5jb21cIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJHbm9zaXNzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nbm9zaXNzY2FuLmlvXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiR25vc2lzIENoYWluIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS94ZGFpL21haW5uZXRcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjEwMjI0OTFcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9nbm9zaXNDaGlhZG8udHNcbnZhciBnbm9zaXNDaGlhZG8gPSB7XG4gIGlkOiAxMDIwMCxcbiAgbmFtZTogXCJHbm9zaXMgQ2hpYWRvXCIsXG4gIG5ldHdvcms6IFwiY2hpYWRvXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiR25vc2lzXCIsXG4gICAgc3ltYm9sOiBcInhEQUlcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy5jaGlhZG9jaGFpbi5uZXRcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMuY2hpYWRvY2hhaW4ubmV0XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkJsb2Nrc2NvdXRcIixcbiAgICAgIHVybDogXCJodHRwczovL2Jsb2Nrc2NvdXQuY2hpYWRvY2hhaW4ubmV0XCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9oYXJkaGF0LnRzXG52YXIgaGFyZGhhdCA9IHtcbiAgaWQ6IDMxMzM3LFxuICBuYW1lOiBcIkhhcmRoYXRcIixcbiAgbmV0d29yazogXCJoYXJkaGF0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiRXRoZXJcIixcbiAgICBzeW1ib2w6IFwiRVRIXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cDovLzEyNy4wLjAuMTo4NTQ1XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHA6Ly8xMjcuMC4wLjE6ODU0NVwiXSB9XG4gIH1cbn07XG5cbi8vIHNyYy9oYXJtb255T25lLnRzXG52YXIgaGFybW9ueU9uZSA9IHtcbiAgaWQ6IDE2NjY2ZTUsXG4gIG5hbWU6IFwiSGFybW9ueSBPbmVcIixcbiAgbmV0d29yazogXCJoYXJtb255XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgbmFtZTogXCJIYXJtb255XCIsXG4gICAgc3ltYm9sOiBcIk9ORVwiLFxuICAgIGRlY2ltYWxzOiAxOFxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2hhcm1vbnlcIl0gfSxcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLmFua3IuY29tL2hhcm1vbnlcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJIYXJtb255IEV4cGxvcmVyXCIsIHVybDogXCJodHRwczovL2V4cGxvcmVyLmhhcm1vbnkub25lXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNDE4NTc1M1xuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2hhcXFNYWlubmV0LnRzXG52YXIgaGFxcU1haW5uZXQgPSB7XG4gIGlkOiAxMTIzNSxcbiAgbmFtZTogXCJIQVFRIE1haW5uZXRcIixcbiAgbmV0d29yazogXCJoYXFxLW1haW5uZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJJc2xhbWljIENvaW5cIixcbiAgICBzeW1ib2w6IFwiSVNMTVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5ldGguaGFxcS5uZXR3b3JrXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmV0aC5oYXFxLm5ldHdvcmtcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJIQVFRIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5oYXFxLm5ldHdvcmtcIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2hhcXFUZXN0ZWRnZTIudHNcbnZhciBoYXFxVGVzdGVkZ2UyID0ge1xuICBpZDogNTQyMTEsXG4gIG5hbWU6IFwiSEFRUSBUZXN0ZWRnZSAyXCIsXG4gIG5ldHdvcms6IFwiaGFxcS10ZXN0ZWRnZS0yXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiSXNsYW1pYyBDb2luXCIsXG4gICAgc3ltYm9sOiBcIklTTE1UXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmV0aC50ZXN0ZWRnZTIuaGFxcS5uZXR3b3JrXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmV0aC50ZXN0ZWRnZTIuaGFxcS5uZXR3b3JrXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiSEFRUSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIudGVzdGVkZ2UyLmhhcXEubmV0d29ya1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMva2xheXRuLnRzXG52YXIga2xheXRuID0ge1xuICBpZDogODIxNyxcbiAgbmFtZTogXCJLbGF5dG5cIixcbiAgbmV0d29yazogXCJrbGF5dG5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJLbGF5dG5cIixcbiAgICBzeW1ib2w6IFwiS0xBWVwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vY3lwcmVzcy5mYXV0b3IuYXBwL2FyY2hpdmVcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9jeXByZXNzLmZhdXRvci5hcHAvYXJjaGl2ZVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiS2xheXRuU2NvcGVcIiwgdXJsOiBcImh0dHBzOi8vc2NvcGUua2xheXRuLmNvbVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIktsYXl0blNjb3BlXCIsIHVybDogXCJodHRwczovL3Njb3BlLmtsYXl0bi5jb21cIiB9XG4gIH1cbn07XG5cbi8vIHNyYy9saW5lYS50c1xudmFyIGxpbmVhID0ge1xuICBpZDogNTkxNDQsXG4gIG5hbWU6IFwiTGluZWEgTWFpbm5ldFwiLFxuICBuZXR3b3JrOiBcImxpbmVhLW1haW5uZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJMaW5lYSBFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2xpbmVhLW1haW5uZXQuaW5mdXJhLmlvL3YzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9saW5lYS1tYWlubmV0LmluZnVyYS5pby93cy92M1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMubGluZWEuYnVpbGRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3JwYy5saW5lYS5idWlsZFwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5saW5lYS5idWlsZFwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcnBjLmxpbmVhLmJ1aWxkXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9saW5lYXNjYW4uYnVpbGRcIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbGluZWFzY2FuLmJ1aWxkXCJcbiAgICB9LFxuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIubGluZWEuYnVpbGRcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNDJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IGZhbHNlXG59O1xuXG4vLyBzcmMvbGluZWFUZXN0bmV0LnRzXG52YXIgbGluZWFUZXN0bmV0ID0ge1xuICBpZDogNTkxNDAsXG4gIG5hbWU6IFwiTGluZWEgR29lcmxpIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJsaW5lYS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiTGluZWEgRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGluZnVyYToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9saW5lYS1nb2VybGkuaW5mdXJhLmlvL3YzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9saW5lYS1nb2VybGkuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5nb2VybGkubGluZWEuYnVpbGRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3JwYy5nb2VybGkubGluZWEuYnVpbGRcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuZ29lcmxpLmxpbmVhLmJ1aWxkXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ycGMuZ29lcmxpLmxpbmVhLmJ1aWxkXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRXRoZXJzY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nb2VybGkubGluZWFzY2FuLmJ1aWxkXCJcbiAgICB9LFxuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2dvZXJsaS5saW5lYXNjYW4uYnVpbGRcIlxuICAgIH0sXG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5nb2VybGkubGluZWEuYnVpbGRcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNDk4NjIzXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvbG9jYWxob3N0LnRzXG52YXIgbG9jYWxob3N0ID0ge1xuICBpZDogMTMzNyxcbiAgbmFtZTogXCJMb2NhbGhvc3RcIixcbiAgbmV0d29yazogXCJsb2NhbGhvc3RcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFdGhlclwiLFxuICAgIHN5bWJvbDogXCJFVEhcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwOi8vMTI3LjAuMC4xOjg1NDVcIl0gfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cDovLzEyNy4wLjAuMTo4NTQ1XCJdIH1cbiAgfVxufTtcblxuLy8gc3JjL21haW5uZXQudHNcbnZhciBtYWlubmV0ID0ge1xuICBpZDogMSxcbiAgbmV0d29yazogXCJob21lc3RlYWRcIixcbiAgbmFtZTogXCJFdGhlcmV1bVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBhbGNoZW15OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2V0aC1tYWlubmV0LmcuYWxjaGVteS5jb20vdjJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2V0aC1tYWlubmV0LmcuYWxjaGVteS5jb20vdjJcIl1cbiAgICB9LFxuICAgIGluZnVyYToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LmluZnVyYS5pby92M1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vbWFpbm5ldC5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vY2xvdWRmbGFyZS1ldGguY29tXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vY2xvdWRmbGFyZS1ldGguY29tXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2V0aGVyc2Nhbi5pb1wiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXRoZXJzY2FuLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIGVuc1JlZ2lzdHJ5OiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZVwiXG4gICAgfSxcbiAgICBlbnNVbml2ZXJzYWxSZXNvbHZlcjoge1xuICAgICAgYWRkcmVzczogXCIweGMwNDk3RTM4MWY1MzZCZTljZTE0QjBkRDM4MTdjQmNBZTU3ZDJGNjJcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTY5NjY1ODVcbiAgICB9LFxuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE0MzUzNjAxXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvbWFudGxlLnRzXG52YXIgbWFudGxlID0ge1xuICBpZDogNWUzLFxuICBuYW1lOiBcIk1hbnRsZVwiLFxuICBuZXR3b3JrOiBcIm1hbnRsZVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIk1OVFwiLFxuICAgIHN5bWJvbDogXCJNTlRcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy5tYW50bGUueHl6XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLm1hbnRsZS54eXpcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJNYW50bGUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLm1hbnRsZS54eXpcIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJNYW50bGUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLm1hbnRsZS54eXpcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMzA0NzE3XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvbWFudGxlVGVzdG5ldC50c1xudmFyIG1hbnRsZVRlc3RuZXQgPSB7XG4gIGlkOiA1MDAxLFxuICBuYW1lOiBcIk1hbnRsZSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwibWFudGxlXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiTU5UXCIsXG4gICAgc3ltYm9sOiBcIk1OVFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLnRlc3RuZXQubWFudGxlLnh5elwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy50ZXN0bmV0Lm1hbnRsZS54eXpcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJNYW50bGUgVGVzdG5ldCBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5tYW50bGUueHl6XCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiTWFudGxlIFRlc3RuZXQgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLnRlc3RuZXQubWFudGxlLnh5elwiXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvbWV0aXMudHNcbnZhciBtZXRpcyA9IHtcbiAgaWQ6IDEwODgsXG4gIG5hbWU6IFwiTWV0aXNcIixcbiAgbmV0d29yazogXCJhbmRyb21lZGFcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJNZXRpc1wiLFxuICAgIHN5bWJvbDogXCJNRVRJU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vYW5kcm9tZWRhLm1ldGlzLmlvLz9vd25lcj0xMDg4XCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vYW5kcm9tZWRhLm1ldGlzLmlvLz9vd25lcj0xMDg4XCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIkFuZHJvbWVkYSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYW5kcm9tZWRhLWV4cGxvcmVyLm1ldGlzLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDIzMzg1NTJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9tZXRpc0dvZXJsaS50c1xudmFyIG1ldGlzR29lcmxpID0ge1xuICBpZDogNTk5LFxuICBuYW1lOiBcIk1ldGlzIEdvZXJsaVwiLFxuICBuZXR3b3JrOiBcIm1ldGlzLWdvZXJsaVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIk1ldGlzIEdvZXJsaVwiLFxuICAgIHN5bWJvbDogXCJNRVRJU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZ29lcmxpLmdhdGV3YXkubWV0aXNkZXZvcHMubGlua1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2dvZXJsaS5nYXRld2F5Lm1ldGlzZGV2b3BzLmxpbmtcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiTWV0aXMgR29lcmxpIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9nb2VybGkuZXhwbG9yZXIubWV0aXNkZXZvcHMubGlua1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxMDA2MjA3XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvbWV2LnRzXG52YXIgbWV2ID0ge1xuICBpZDogNzUxOCxcbiAgbmV0d29yazogXCJNRVZlcnNlXCIsXG4gIG5hbWU6IFwiTUVWZXJzZSBDaGFpbiBNYWlubmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiTUVWZXJzZVwiLFxuICAgIHN5bWJvbDogXCJNRVZcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMubWV2ZXJzZW1haW5uZXQuaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMubWV2ZXJzZW1haW5uZXQuaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd3d3Lm1ldmVyc2VzY2FuLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDg2ODgxMzQwXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvbWV2VGVzdG5ldC50c1xudmFyIG1ldlRlc3RuZXQgPSB7XG4gIGlkOiA0NzU5LFxuICBuZXR3b3JrOiBcIk1FVmVyc2UgVGVzdG5ldFwiLFxuICBuYW1lOiBcIk1FVmVyc2UgQ2hhaW4gVGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIk1FVmVyc2VcIixcbiAgICBzeW1ib2w6IFwiTUVWXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1ldmVyc2V0ZXN0bmV0LmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1ldmVyc2V0ZXN0bmV0LmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3Rlc3RuZXQubWV2ZXJzZXNjYW4uaW8vXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDY0MzcxMTE1XG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvbW9kZVRlc3RuZXQudHNcbnZhciBtb2RlVGVzdG5ldCA9IHtcbiAgaWQ6IDkxOSxcbiAgbmFtZTogXCJNb2RlIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJtb2RlLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zZXBvbGlhLm1vZGUubmV0d29ya1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3NlcG9saWEubW9kZS5uZXR3b3JrXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Vwb2xpYS5leHBsb3Jlci5tb2RlLm5ldHdvcmtcIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL21vb25iYXNlQWxwaGEudHNcbnZhciBtb29uYmFzZUFscGhhID0ge1xuICBpZDogMTI4NyxcbiAgbmFtZTogXCJNb29uYmFzZSBBbHBoYVwiLFxuICBuZXR3b3JrOiBcIm1vb25iYXNlLWFscGhhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiREVWXCIsXG4gICAgc3ltYm9sOiBcIkRFVlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5hcGkubW9vbmJhc2UubW9vbmJlYW0ubmV0d29ya1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vd3NzLmFwaS5tb29uYmFzZS5tb29uYmVhbS5uZXR3b3JrXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmFwaS5tb29uYmFzZS5tb29uYmVhbS5uZXR3b3JrXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly93c3MuYXBpLm1vb25iYXNlLm1vb25iZWFtLm5ldHdvcmtcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJNb29uc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbW9vbmJhc2UubW9vbnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29uYmFzZS5tb29uc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxODUwNjg2XG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvbW9vbmJlYW0udHNcbnZhciBtb29uYmVhbSA9IHtcbiAgaWQ6IDEyODQsXG4gIG5hbWU6IFwiTW9vbmJlYW1cIixcbiAgbmV0d29yazogXCJtb29uYmVhbVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkdMTVJcIixcbiAgICBzeW1ib2w6IFwiR0xNUlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbW9vbmJlYW0ucHVibGljLmJsYXN0YXBpLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tb29uYmVhbS5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbW9vbmJlYW0ucHVibGljLmJsYXN0YXBpLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tb29uYmVhbS5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJNb29uc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbW9vbnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29uc2Nhbi5pb1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA2MDkwMDJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IGZhbHNlXG59O1xuXG4vLyBzcmMvbW9vbnJpdmVyLnRzXG52YXIgbW9vbnJpdmVyID0ge1xuICBpZDogMTI4NSxcbiAgbmFtZTogXCJNb29ucml2ZXJcIixcbiAgbmV0d29yazogXCJtb29ucml2ZXJcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJNT1ZSXCIsXG4gICAgc3ltYm9sOiBcIk1PVlJcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21vb25yaXZlci5wdWJsaWMuYmxhc3RhcGkuaW9cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21vb25yaXZlci5wdWJsaWMuYmxhc3RhcGkuaW9cIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbW9vbnJpdmVyLnB1YmxpYy5ibGFzdGFwaS5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vbW9vbnJpdmVyLnB1YmxpYy5ibGFzdGFwaS5pb1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29ucml2ZXIubW9vbnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIk1vb25zY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tb29ucml2ZXIubW9vbnNjYW4uaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTU5NzkwNFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogZmFsc2Vcbn07XG5cbi8vIHNyYy9uZW9uRGV2bmV0LnRzXG52YXIgbmVvbkRldm5ldCA9IHtcbiAgaWQ6IDI0NTAyMjkyNixcbiAgbmV0d29yazogXCJuZW9uRGV2bmV0XCIsXG4gIG5hbWU6IFwiTmVvbiBFVk0gRGV2TmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiTkVPTlwiLCBzeW1ib2w6IFwiTkVPTlwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZGV2bmV0Lm5lb25ldm0ub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZGV2bmV0Lm5lb25ldm0ub3JnXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiTmVvbnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL25lb25zY2FuLm9yZ1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyMDUyMDYxMTJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9uZXhpLnRzXG52YXIgbmV4aSA9IHtcbiAgaWQ6IDQyNDIsXG4gIG5hbWU6IFwiTmV4aVwiLFxuICBuZXR3b3JrOiBcIm5leGlcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJOZXhpXCIsIHN5bWJvbDogXCJORVhJXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuY2hhaW4ubmV4aS50ZWNobm9sb2d5XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLmNoYWluLm5leGkudGVjaG5vbG9neVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBldGhlcnNjYW46IHtcbiAgICAgIG5hbWU6IFwiTmV4aVNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3d3dy5uZXhpc2Nhbi5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJOZXhpU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd3d3Lm5leGlzY2FuLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MDI3N0E0NkNjNjlBNTdlRTNBNkM4YzE1OGJBODc0ODMyRjcxOEI4RVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNTc3MDE2MFxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL25leGlsaXgudHNcbnZhciBuZXhpbGl4ID0ge1xuICBpZDogMjQwLFxuICBuYW1lOiBcIk5leGlsaXggU21hcnQgQ2hhaW5cIixcbiAgbmV0d29yazogXCJuZXhpbGl4XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiTmV4aWxpeFwiLFxuICAgIHN5bWJvbDogXCJORVhJTElYXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGN1cmwucG9zLm5leGlsaXguY29tXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjdXJsLnBvcy5uZXhpbGl4LmNvbVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7IG5hbWU6IFwiTmV4aWxpeFNjYW5cIiwgdXJsOiBcImh0dHBzOi8vc2Nhbi5uZXhpbGl4LmNvbVwiIH0sXG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIk5leGlsaXhTY2FuXCIsIHVybDogXCJodHRwczovL3NjYW4ubmV4aWxpeC5jb21cIiB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHg1ODM4MWM4ZTJCRjlkMEMyQzQyNTljQTE0QmRBOUFmZTAyODMxMjQ0XCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDc0NDQ4XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvb2FzeXMudHNcbnZhciBvYXN5cyA9IHtcbiAgaWQ6IDI0OCxcbiAgbmFtZTogXCJPYXN5c1wiLFxuICBuZXR3b3JrOiBcIm9hc3lzXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiT2FzeXNcIiwgc3ltYm9sOiBcIk9BU1wiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1haW5uZXQub2FzeXMuZ2FtZXNcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMubWFpbm5ldC5vYXN5cy5nYW1lc1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIk9hc3lzU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Nhbi5vYXN5cy5nYW1lc1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvb2tjLnRzXG52YXIgb2tjID0ge1xuICBpZDogNjYsXG4gIG5hbWU6IFwiT0tDXCIsXG4gIG5ldHdvcms6IFwib2tjXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiT0tUXCIsXG4gICAgc3ltYm9sOiBcIk9LVFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vZXhjaGFpbnJwYy5va2V4Lm9yZ1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL2V4Y2hhaW5ycGMub2tleC5vcmdcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJva2xpbmtcIiwgdXJsOiBcImh0dHBzOi8vd3d3Lm9rbGluay5jb20vb2tjXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxMDM2NDc5MlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL29wdGltaXNtLnRzXG52YXIgb3B0aW1pc20gPSB7XG4gIGlkOiAxMCxcbiAgbmFtZTogXCJPUCBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwib3B0aW1pc21cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9vcHQtbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9vcHQtbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdXG4gICAgfSxcbiAgICBpbmZ1cmE6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vb3B0aW1pc20tbWFpbm5ldC5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL29wdGltaXNtLW1haW5uZXQuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQub3B0aW1pc20uaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0Lm9wdGltaXNtLmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL29wdGltaXN0aWMuZXRoZXJzY2FuLmlvXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiT3B0aW1pc20gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLm9wdGltaXNtLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDQyODYyNjNcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9vcHRpbWlzbUdvZXJsaS50c1xudmFyIG9wdGltaXNtR29lcmxpID0ge1xuICBpZDogNDIwLFxuICBuYW1lOiBcIk9wdGltaXNtIEdvZXJsaVwiLFxuICBuZXR3b3JrOiBcIm9wdGltaXNtLWdvZXJsaVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkdvZXJsaSBFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgYWxjaGVteToge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9vcHQtZ29lcmxpLmcuYWxjaGVteS5jb20vdjJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL29wdC1nb2VybGkuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL29wdGltaXNtLWdvZXJsaS5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL29wdGltaXNtLWdvZXJsaS5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZ29lcmxpLm9wdGltaXNtLmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZ29lcmxpLm9wdGltaXNtLmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2dvZXJsaS1vcHRpbWlzbS5ldGhlcnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL2dvZXJsaS1vcHRpbWlzbS5ldGhlcnNjYW4uaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNDk0NjFcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9wb2x5Z29uLnRzXG52YXIgcG9seWdvbiA9IHtcbiAgaWQ6IDEzNyxcbiAgbmFtZTogXCJQb2x5Z29uXCIsXG4gIG5ldHdvcms6IFwibWF0aWNcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJNQVRJQ1wiLCBzeW1ib2w6IFwiTUFUSUNcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBhbGNoZW15OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3BvbHlnb24tbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9wb2x5Z29uLW1haW5uZXQuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3BvbHlnb24tbWFpbm5ldC5pbmZ1cmEuaW8vdjNcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3BvbHlnb24tbWFpbm5ldC5pbmZ1cmEuaW8vd3MvdjNcIl1cbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcG9seWdvbi1ycGMuY29tXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcG9seWdvbi1ycGMuY29tXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJQb2x5Z29uU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vcG9seWdvbnNjYW4uY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiUG9seWdvblNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3BvbHlnb25zY2FuLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNTc3MDE2MFxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3BvbHlnb25NdW1iYWkudHNcbnZhciBwb2x5Z29uTXVtYmFpID0ge1xuICBpZDogODAwMDEsXG4gIG5hbWU6IFwiUG9seWdvbiBNdW1iYWlcIixcbiAgbmV0d29yazogXCJtYXRpY211bVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIk1BVElDXCIsIHN5bWJvbDogXCJNQVRJQ1wiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGFsY2hlbXk6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcG9seWdvbi1tdW1iYWkuZy5hbGNoZW15LmNvbS92MlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcG9seWdvbi1tdW1iYWkuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3BvbHlnb24tbXVtYmFpLmluZnVyYS5pby92M1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcG9seWdvbi1tdW1iYWkuaW5mdXJhLmlvL3dzL3YzXCJdXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21hdGljLW11bWJhaS5jaGFpbnN0YWNrbGFicy5jb21cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYXRpYy1tdW1iYWkuY2hhaW5zdGFja2xhYnMuY29tXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJQb2x5Z29uU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbXVtYmFpLnBvbHlnb25zY2FuLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlBvbHlnb25TY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9tdW1iYWkucG9seWdvbnNjYW4uY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDI1NzcwMTYwXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvcG9seWdvblprRXZtVGVzdG5ldC50c1xudmFyIHBvbHlnb25aa0V2bVRlc3RuZXQgPSB7XG4gIGlkOiAxNDQyLFxuICBuYW1lOiBcIlBvbHlnb24gemtFVk0gVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInBvbHlnb24temtldm0tdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5wdWJsaWMuemtldm0tdGVzdC5uZXRcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMucHVibGljLnprZXZtLXRlc3QubmV0XCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIucHVibGljLnprZXZtLXRlc3QubmV0XCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiUG9seWdvblNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3Rlc3RuZXQtemtldm0ucG9seWdvbnNjYW4uY29tXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWUsXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDUyNTY4NlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3BvbHlnb25aa0V2bS50c1xudmFyIHBvbHlnb25aa0V2bSA9IHtcbiAgaWQ6IDExMDEsXG4gIG5hbWU6IFwiUG9seWdvbiB6a0VWTVwiLFxuICBuZXR3b3JrOiBcInBvbHlnb24temtldm1cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly96a2V2bS1ycGMuY29tXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vemtldm0tcnBjLmNvbVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlBvbHlnb25TY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly96a2V2bS5wb2x5Z29uc2Nhbi5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogNTc3NDZcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9wdWxzZWNoYWluLnRzXG52YXIgcHVsc2VjaGFpbiA9IHtcbiAgaWQ6IDM2OSxcbiAgbmV0d29yazogXCJwdWxzZWNoYWluXCIsXG4gIG5hbWU6IFwiUHVsc2VDaGFpblwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIlB1bHNlXCIsIHN5bWJvbDogXCJQTFNcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHRlc3RuZXQ6IGZhbHNlLFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMucHVsc2VjaGFpbi5jb21cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3dzLnB1bHNlY2hhaW4uY29tXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnB1bHNlY2hhaW4uY29tXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly93cy5wdWxzZWNoYWluLmNvbVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlB1bHNlU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Nhbi5wdWxzZWNoYWluLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBlbnNSZWdpc3RyeToge1xuICAgICAgYWRkcmVzczogXCIweDAwMDAwMDAwMDAwQzJFMDc0ZUM2OUEwZEZiMjk5N0JBNkM3ZDJlMWVcIlxuICAgIH0sXG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTQzNTM2MDFcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9wdWxzZWNoYWluVjQudHNcbnZhciBwdWxzZWNoYWluVjQgPSB7XG4gIGlkOiA5NDMsXG4gIG5ldHdvcms6IFwicHVsc2VjaGFpblY0XCIsXG4gIG5hbWU6IFwiUHVsc2VDaGFpbiBWNFwiLFxuICB0ZXN0bmV0OiB0cnVlLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIlY0IFB1bHNlXCIsIHN5bWJvbDogXCJ2NFBMU1wiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnY0LnRlc3RuZXQucHVsc2VjaGFpbi5jb21cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3dzLnY0LnRlc3RuZXQucHVsc2VjaGFpbi5jb21cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMudjQudGVzdG5ldC5wdWxzZWNoYWluLmNvbVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vd3MudjQudGVzdG5ldC5wdWxzZWNoYWluLmNvbVwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlB1bHNlU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Nhbi52NC50ZXN0bmV0LnB1bHNlY2hhaW4uY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIGVuc1JlZ2lzdHJ5OiB7XG4gICAgICBhZGRyZXNzOiBcIjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZVwiXG4gICAgfSxcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y2ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiZTJhMTczOTc2Y2ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxNDM1MzYwMVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3FNYWlubmV0LnRzXG52YXIgcU1haW5uZXQgPSB7XG4gIGlkOiAzNTQ0MSxcbiAgbmFtZTogXCJRIE1haW5uZXRcIixcbiAgbmV0d29yazogXCJxLW1haW5uZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJRXCIsXG4gICAgc3ltYm9sOiBcIlFcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy5xLm9yZ1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy5xLm9yZ1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJRIE1haW5uZXQgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLnEub3JnXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9xVGVzdG5ldC50c1xudmFyIHFUZXN0bmV0ID0ge1xuICBpZDogMzU0NDMsXG4gIG5hbWU6IFwiUSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwicS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiUVwiLFxuICAgIHN5bWJvbDogXCJRXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9ycGMucXRlc3RuZXQub3JnXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLnF0ZXN0bmV0Lm9yZ1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJRIFRlc3RuZXQgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLnF0ZXN0bmV0Lm9yZ1wiXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvcm9sbHV4LnRzXG52YXIgcm9sbHV4ID0ge1xuICBpZDogNTcwLFxuICBuYW1lOiBcIlJvbGx1eCBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwicm9sbHV4XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiU3lzY29pblwiLFxuICAgIHN5bWJvbDogXCJTWVNcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMucm9sbHV4LmNvbVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcnBjLnJvbGx1eC5jb20vd3NzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHsgaHR0cDogW1wiaHR0cHM6Ly9yb2xsdXgucHVibGljLXJwYy5jb21cIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJSb2xsdXhFeHBsb3JlclwiLCB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5yb2xsdXguY29tXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxMTkyMjJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9yb2xsdXhUZXN0bmV0LnRzXG52YXIgcm9sbHV4VGVzdG5ldCA9IHtcbiAgaWQ6IDU3ZTMsXG4gIG5hbWU6IFwiUm9sbHV4IFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJyb2xsdXgtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlN5c2NvaW5cIixcbiAgICBzeW1ib2w6IFwiU1lTXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLXRhbmVuYmF1bS5yb2xsdXguY29tL1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcnBjLXRhbmVuYmF1bS5yb2xsdXguY29tL3dzc1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vcnBjLXRhbmVuYmF1bS5yb2xsdXguY29tL1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJSb2xsdXhUZXN0bmV0RXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3JvbGx1eC50YW5lbmJhdW0uaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTgxMzY3NVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3JvbmluLnRzXG52YXIgcm9uaW4gPSB7XG4gIGlkOiAyMDIwLFxuICBuYW1lOiBcIlJvbmluXCIsXG4gIG5ldHdvcms6IFwicm9uaW5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJST05cIiwgc3ltYm9sOiBcIlJPTlwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYXBpLnJvbmluY2hhaW4uY29tL3JwY1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FwaS5yb25pbmNoYWluLmNvbS9ycGNcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIlJvbmluIEV4cGxvcmVyXCIsIHVybDogXCJodHRwczovL2FwcC5yb25pbmNoYWluLmNvbVwiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNhMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYmUyYTE3Mzk3NmNhMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjYwMjM1MzVcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9zYWlnb24udHNcbnZhciBzYWlnb24gPSB7XG4gIGlkOiAyMDIxLFxuICBuYW1lOiBcIlNhaWdvbiBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwic2FpZ29uXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiUk9OXCIsIHN5bWJvbDogXCJST05cIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3NhaWdvbi10ZXN0bmV0LnJvbmluY2hhaW4uY29tL3JwY1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3NhaWdvbi10ZXN0bmV0LnJvbmluY2hhaW4uY29tL3JwY1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNhaWdvbiBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2FpZ29uLWV4cGxvcmVyLnJvbmluY2hhaW4uY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDE4NzM2ODcxXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvc2Nyb2xsU2Vwb2xpYS50c1xudmFyIHNjcm9sbFNlcG9saWEgPSB7XG4gIGlkOiA1MzQzNTEsXG4gIG5hbWU6IFwiU2Nyb2xsIFNlcG9saWFcIixcbiAgbmV0d29yazogXCJzY3JvbGwtc2Vwb2xpYVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIHN5bWJvbDogXCJFVEhcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3NlcG9saWEtcnBjLnNjcm9sbC5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vc2Vwb2xpYS1ycGMuc2Nyb2xsLmlvL3dzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc2Vwb2xpYS1ycGMuc2Nyb2xsLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9zZXBvbGlhLXJwYy5zY3JvbGwuaW8vd3NcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zZXBvbGlhLWJsb2Nrc2NvdXQuc2Nyb2xsLmlvXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9zY3JvbGxUZXN0bmV0LnRzXG52YXIgc2Nyb2xsVGVzdG5ldCA9IHtcbiAgaWQ6IDUzNDM1MyxcbiAgbmFtZTogXCJTY3JvbGwgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInNjcm9sbC10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vYWxwaGEtcnBjLnNjcm9sbC5pby9sMlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vYWxwaGEtcnBjLnNjcm9sbC5pby9sMi93c1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2FscGhhLXJwYy5zY3JvbGwuaW8vbDJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL2FscGhhLXJwYy5zY3JvbGwuaW8vbDIvd3NcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCbG9ja3Njb3V0XCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ibG9ja3Njb3V0LnNjcm9sbC5pb1wiXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvc2Vwb2xpYS50c1xudmFyIHNlcG9saWEgPSB7XG4gIGlkOiAxMTE1NTExMSxcbiAgbmV0d29yazogXCJzZXBvbGlhXCIsXG4gIG5hbWU6IFwiU2Vwb2xpYVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIlNlcG9saWEgRXRoZXJcIiwgc3ltYm9sOiBcIlNFUFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGFsY2hlbXk6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vZXRoLXNlcG9saWEuZy5hbGNoZW15LmNvbS92MlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vZXRoLXNlcG9saWEuZy5hbGNoZW15LmNvbS92MlwiXVxuICAgIH0sXG4gICAgaW5mdXJhOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3NlcG9saWEuaW5mdXJhLmlvL3YzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9zZXBvbGlhLmluZnVyYS5pby93cy92M1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuc2Vwb2xpYS5vcmdcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMuc2Vwb2xpYS5vcmdcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc2Vwb2xpYS5ldGhlcnNjYW4uaW9cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJFdGhlcnNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3NlcG9saWEuZXRoZXJzY2FuLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjYTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJlMmExNzM5NzZjYTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDY1MDc2NzBcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9za2FsZS9icmF3bC50c1xudmFyIHNrYWxlQmxvY2tCcmF3bGVycyA9IHtcbiAgaWQ6IDM5MTg0NTg5NCxcbiAgbmFtZTogXCJTS0FMRSB8IEJsb2NrIEJyYXdsZXJzXCIsXG4gIG5ldHdvcms6IFwic2thbGUtYnJhd2xcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJCUkFXTFwiLCBzeW1ib2w6IFwiQlJBV0xcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvZnJheWVkLWRlY2VudC1hbnRhcmVzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL2ZyYXllZC1kZWNlbnQtYW50YXJlc1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvZnJheWVkLWRlY2VudC1hbnRhcmVzXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL2ZyYXllZC1kZWNlbnQtYW50YXJlc1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBibG9ja3Njb3V0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9mcmF5ZWQtZGVjZW50LWFudGFyZXMuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9mcmF5ZWQtZGVjZW50LWFudGFyZXMuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9XG59O1xuXG4vLyBzcmMvc2thbGUvY2FseXBzby50c1xudmFyIHNrYWxlQ2FseXBzbyA9IHtcbiAgaWQ6IDE1NjQ4MzA4MTgsXG4gIG5hbWU6IFwiU0tBTEUgfCBDYWx5cHNvIE5GVCBIdWJcIixcbiAgbmV0d29yazogXCJza2FsZS1jYWx5cHNvXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2hvbm9yYWJsZS1zdGVlbC1yYXNhbGhhZ3VlXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXG4gICAgICAgIFwid3NzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS93cy9ob25vcmFibGUtc3RlZWwtcmFzYWxoYWd1ZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9ob25vcmFibGUtc3RlZWwtcmFzYWxoYWd1ZVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvaG9ub3JhYmxlLXN0ZWVsLXJhc2FsaGFndWVcIlxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBibG9ja3Njb3V0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9ob25vcmFibGUtc3RlZWwtcmFzYWxoYWd1ZS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2hvbm9yYWJsZS1zdGVlbC1yYXNhbGhhZ3VlLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMzEwNzYyNlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3NrYWxlL2NhbHlwc29UZXN0bmV0LnRzXG52YXIgc2thbGVDYWx5cHNvVGVzdG5ldCA9IHtcbiAgaWQ6IDM0NDEwNjkzMCxcbiAgbmFtZTogXCJTS0FMRSB8IENhbHlwc28gTkZUIEh1YiBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwic2thbGUtY2FseXBzby10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLXV0dGVyLXVucmlwZS1tZW5rYXJcIlxuICAgICAgXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy11dHRlci11bnJpcGUtbWVua2FyXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLXV0dGVyLXVucmlwZS1tZW5rYXJcIlxuICAgICAgXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy11dHRlci11bnJpcGUtbWVua2FyXCJcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy11dHRlci11bnJpcGUtbWVua2FyLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy11dHRlci11bnJpcGUtbWVua2FyLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjEzMTQyNFxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NrYWxlL2NoYW9zVGVzdG5ldC50c1xudmFyIHNrYWxlQ2hhb3NUZXN0bmV0ID0ge1xuICBpZDogMTM1MTA1NzExMCxcbiAgbmFtZTogXCJTS0FMRSB8IENoYW9zIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJza2FsZS1jaGFvcy10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWZhc3QtYWN0aXZlLWJlbGxhdHJpeFwiXG4gICAgICBdLFxuICAgICAgd2ViU29ja2V0OiBbXG4gICAgICAgIFwid3NzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS93cy9zdGFnaW5nLWZhc3QtYWN0aXZlLWJlbGxhdHJpeFwiXG4gICAgICBdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcbiAgICAgICAgXCJodHRwczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvc3RhZ2luZy1mYXN0LWFjdGl2ZS1iZWxsYXRyaXhcIlxuICAgICAgXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy1mYXN0LWFjdGl2ZS1iZWxsYXRyaXhcIlxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBibG9ja3Njb3V0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zdGFnaW5nLWZhc3QtYWN0aXZlLWJlbGxhdHJpeC5leHBsb3Jlci5zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctZmFzdC1hY3RpdmUtYmVsbGF0cml4LmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMTE5MjIwMlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NrYWxlL2NyeXB0b0JsYWRlcy50c1xudmFyIHNrYWxlQ3J5cHRvQmxhZGVzID0ge1xuICBpZDogMTAyNjA2MjE1NyxcbiAgbmFtZTogXCJTS0FMRSB8IENyeXB0b0JsYWRlc1wiLFxuICBuZXR3b3JrOiBcInNrYWxlLWNyeXB0b2JsYWRlc1wiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9hZmZlY3Rpb25hdGUtaW1tZWRpYXRlLXBvbGx1eFwiXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvYWZmZWN0aW9uYXRlLWltbWVkaWF0ZS1wb2xsdXhcIlxuICAgICAgXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvYWZmZWN0aW9uYXRlLWltbWVkaWF0ZS1wb2xsdXhcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcbiAgICAgICAgXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL2FmZmVjdGlvbmF0ZS1pbW1lZGlhdGUtcG9sbHV4XCJcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYWZmZWN0aW9uYXRlLWltbWVkaWF0ZS1wb2xsdXguZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9hZmZlY3Rpb25hdGUtaW1tZWRpYXRlLXBvbGx1eC5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9jcnlwdG9Db2xvc3NldW0udHNcbnZhciBza2FsZUNyeXB0b0NvbG9zc2V1bSA9IHtcbiAgaWQ6IDIwNDYzOTkxMjYsXG4gIG5hbWU6IFwiU0tBTEUgfCBDcnlwdG8gQ29sb3NzZXVtXCIsXG4gIG5ldHdvcms6IFwic2thbGUtY3J5cHRvLWNvbG9zZWV1bVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9oYXVudGluZy1kZXZvdGVkLWRlbmViXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL2hhdW50aW5nLWRldm90ZWQtZGVuZWJcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2hhdW50aW5nLWRldm90ZWQtZGVuZWJcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvaGF1bnRpbmctZGV2b3RlZC1kZW5lYlwiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBibG9ja3Njb3V0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9oYXVudGluZy1kZXZvdGVkLWRlbmViLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vaGF1bnRpbmctZGV2b3RlZC1kZW5lYi5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9ldXJvcGEudHNcbnZhciBza2FsZUV1cm9wYSA9IHtcbiAgaWQ6IDIwNDYzOTkxMjYsXG4gIG5hbWU6IFwiU0tBTEUgfCBFdXJvcGEgTGlxdWlkaXR5IEh1YlwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWV1cm9wYVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9lbGF0ZWQtdGFuLXNrYXRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvZWxhdGVkLXRhbi1za2F0XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9lbGF0ZWQtdGFuLXNrYXRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvZWxhdGVkLXRhbi1za2F0XCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2VsYXRlZC10YW4tc2thdC5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2VsYXRlZC10YW4tc2thdC5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDMxMTM0OTVcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9za2FsZS9ldXJvcGFUZXN0bmV0LnRzXG52YXIgc2thbGVFdXJvcGFUZXN0bmV0ID0ge1xuICBpZDogNDc2MTU4NDEyLFxuICBuYW1lOiBcIlNLQUxFIHwgRXVyb3BhIExpcXVpZGl0eSBIdWIgVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWV1cm9wYS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tL3YxL3N0YWdpbmctbGVnYWwtY3JhenktY2FzdG9yXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXG4gICAgICAgIFwid3NzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS93cy9zdGFnaW5nLWxlZ2FsLWNyYXp5LWNhc3RvclwiXG4gICAgICBdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWxlZ2FsLWNyYXp5LWNhc3RvclwiXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy1sZWdhbC1jcmF6eS1jYXN0b3JcIlxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBibG9ja3Njb3V0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zdGFnaW5nLWxlZ2FsLWNyYXp5LWNhc3Rvci5leHBsb3Jlci5zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3N0YWdpbmctbGVnYWwtY3JhenktY2FzdG9yLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjA3MTkxMVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NrYWxlL2V4b3JkZS50c1xudmFyIHNrYWxlRXhvcmRlID0ge1xuICBpZDogMjEzOTkyNzU1MixcbiAgbmFtZTogXCJTS0FMRSB8IEV4b3JkZVwiLFxuICBuZXR3b3JrOiBcInNrYWxlLWV4b3JkZVwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9saWdodC12YXN0LWRpcGhkYVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS93cy9saWdodC12YXN0LWRpcGhkYVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvbGlnaHQtdmFzdC1kaXBoZGFcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvbGlnaHQtdmFzdC1kaXBoZGFcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vbGlnaHQtdmFzdC1kaXBoZGEuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9saWdodC12YXN0LWRpcGhkYS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge31cbn07XG5cbi8vIHNyYy9za2FsZS9odW1hblByb3RvY29sLnRzXG52YXIgc2thbGVIdW1hblByb3RvY29sID0ge1xuICBpZDogMTI3MzIyNzQ1MyxcbiAgbmFtZTogXCJTS0FMRSB8IEh1bWFuIFByb3RvY29sXCIsXG4gIG5ldHdvcms6IFwic2thbGUtaHVtYW4tcHJvdG9jb2xcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJzRlVFTFwiLCBzeW1ib2w6IFwic0ZVRUxcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd2FuLXJlZC1haW5cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3Mvd2FuLXJlZC1haW5cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dhbi1yZWQtYWluXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL3dhbi1yZWQtYWluXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3dhbi1yZWQtYWluLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd2FuLXJlZC1haW4uZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9XG59O1xuXG4vLyBzcmMvc2thbGUvbmVidWxhLnRzXG52YXIgc2thbGVOZWJ1bGEgPSB7XG4gIGlkOiAxNDgyNjAxNjQ5LFxuICBuYW1lOiBcIlNLQUxFIHwgTmVidWxhIEdhbWluZyBIdWJcIixcbiAgbmV0d29yazogXCJza2FsZS1uZWJ1bGFcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJzRlVFTFwiLCBzeW1ib2w6IFwic0ZVRUxcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvZ3JlZW4tZ2lkZHktZGVuZWJvbGFcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvZ3JlZW4tZ2lkZHktZGVuZWJvbGFcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL2dyZWVuLWdpZGR5LWRlbmVib2xhXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL2dyZWVuLWdpZGR5LWRlbmVib2xhXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2dyZWVuLWdpZGR5LWRlbmVib2xhLmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ3JlZW4tZ2lkZHktZGVuZWJvbGEuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyMzcyOTg2XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvc2thbGUvbmVidWxhVGVzdG5ldC50c1xudmFyIHNrYWxlTmVidWxhVGVzdG5ldCA9IHtcbiAgaWQ6IDUwMzEyOTkwNSxcbiAgbmFtZTogXCJTS0FMRSB8IE5lYnVsYSBHYW1pbmcgSHViIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJza2FsZS1uZWJ1bGEtdGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWZhaW50LXNsaW15LWFjaGlyZFwiXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy1mYWludC1zbGlteS1hY2hpcmRcIlxuICAgICAgXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvc3RhZ2luZy1mYWludC1zbGlteS1hY2hpcmRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcbiAgICAgICAgXCJ3c3M6Ly9zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tL3YxL3dzL3N0YWdpbmctZmFpbnQtc2xpbXktYWNoaXJkXCJcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1mYWludC1zbGlteS1hY2hpcmQuZXhwbG9yZXIuc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbVwiXG4gICAgfSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNLQUxFIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zdGFnaW5nLWZhaW50LXNsaW15LWFjaGlyZC5leHBsb3Jlci5zdGFnaW5nLXYzLnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDIyMDU4ODJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9za2FsZS9yYXpvci50c1xudmFyIHNrYWxlUmF6b3IgPSB7XG4gIGlkOiAyNzg2MTEzNTEsXG4gIG5hbWU6IFwiU0tBTEUgfCBSYXpvciBOZXR3b3JrXCIsXG4gIG5ldHdvcms6IFwic2thbGUtcmF6b3JcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJzRlVFTFwiLCBzeW1ib2w6IFwic0ZVRUxcIiwgZGVjaW1hbHM6IDE4IH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvdHVyYnVsZW50LXVuaXF1ZS1zY2hlYXRcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvdHVyYnVsZW50LXVuaXF1ZS1zY2hlYXRcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3R1cmJ1bGVudC11bmlxdWUtc2NoZWF0XCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9tYWlubmV0LnNrYWxlbm9kZXMuY29tL3YxL3dzL3R1cmJ1bGVudC11bmlxdWUtc2NoZWF0XCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3R1cmJ1bGVudC11bmlxdWUtc2NoZWF0LmV4cGxvcmVyLm1haW5uZXQuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vdHVyYnVsZW50LXVuaXF1ZS1zY2hlYXQuZXhwbG9yZXIubWFpbm5ldC5za2FsZW5vZGVzLmNvbVwiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHt9XG59O1xuXG4vLyBzcmMvc2thbGUvdGl0YW4udHNcbnZhciBza2FsZVRpdGFuID0ge1xuICBpZDogMTM1MDIxNjIzNCxcbiAgbmFtZTogXCJTS0FMRSB8IFRpdGFuIENvbW11bml0eSBIdWJcIixcbiAgbmV0d29yazogXCJza2FsZS10aXRhblwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcInNGVUVMXCIsIHN5bWJvbDogXCJzRlVFTFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9wYXJhbGxlbC1zdG9ybXktc3BpY2FcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvcGFyYWxsZWwtc3Rvcm15LXNwaWNhXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vbWFpbm5ldC5za2FsZW5vZGVzLmNvbS92MS9wYXJhbGxlbC1zdG9ybXktc3BpY2FcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuc2thbGVub2Rlcy5jb20vdjEvd3MvcGFyYWxsZWwtc3Rvcm15LXNwaWNhXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3BhcmFsbGVsLXN0b3JteS1zcGljYS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiU0tBTEUgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL3BhcmFsbGVsLXN0b3JteS1zcGljYS5leHBsb3Jlci5tYWlubmV0LnNrYWxlbm9kZXMuY29tXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhjQTExYmRlMDU5NzdiMzYzMTE2NzAyODg2MmJFMmExNzM5NzZDQTExXCIsXG4gICAgICBibG9ja0NyZWF0ZWQ6IDIwNzY0NThcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9za2FsZS90aXRhblRlc3RuZXQudHNcbnZhciBza2FsZVRpdGFuVGVzdG5ldCA9IHtcbiAgaWQ6IDE1MTc5Mjk1NTAsXG4gIG5hbWU6IFwiU0tBTEUgfCBUaXRhbiBDb21tdW5pdHkgSHViIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJza2FsZS10aXRhbi10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwic0ZVRUxcIiwgc3ltYm9sOiBcInNGVUVMXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWF3YXJlLWNoaWVmLWdpYW5mYXJcIlxuICAgICAgXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy1hd2FyZS1jaGllZi1naWFuZmFyXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1xuICAgICAgICBcImh0dHBzOi8vc3RhZ2luZy12My5za2FsZW5vZGVzLmNvbS92MS9zdGFnaW5nLWF3YXJlLWNoaWVmLWdpYW5mYXJcIlxuICAgICAgXSxcbiAgICAgIHdlYlNvY2tldDogW1xuICAgICAgICBcIndzczovL3N0YWdpbmctdjMuc2thbGVub2Rlcy5jb20vdjEvd3Mvc3RhZ2luZy1hd2FyZS1jaGllZi1naWFuZmFyXCJcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgYmxvY2tzY291dDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1hd2FyZS1jaGllZi1naWFuZmFyLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJTS0FMRSBFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vc3RhZ2luZy1hd2FyZS1jaGllZi1naWFuZmFyLmV4cGxvcmVyLnN0YWdpbmctdjMuc2thbGVub2Rlcy5jb21cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjA4NTE1NVxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3NvbmdiaXJkLnRzXG52YXIgc29uZ2JpcmQgPSB7XG4gIGlkOiAxOSxcbiAgbmFtZTogXCJTb25nYmlyZCBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwic29uZ2JpcmQtbWFpbm5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcInNvbmdiaXJkXCIsXG4gICAgc3ltYm9sOiBcIlNHQlwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7IGh0dHA6IFtcImh0dHBzOi8vc29uZ2JpcmQtYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vc29uZ2JpcmQtYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNvbmdiaXJkIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9zb25nYmlyZC1leHBsb3Jlci5mbGFyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9zb25nYmlyZFRlc3RuZXQudHNcbnZhciBzb25nYmlyZFRlc3RuZXQgPSB7XG4gIGlkOiAxNixcbiAgbmFtZTogXCJDb3N0b25cIixcbiAgbmV0d29yazogXCJjb3N0b25cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJjb3N0b25mbGFyZVwiLFxuICAgIHN5bWJvbDogXCJDRkxSXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHsgaHR0cDogW1wiaHR0cHM6Ly9jb3N0b24tYXBpLmZsYXJlLm5ldHdvcmsvZXh0L0MvcnBjXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vY29zdG9uLWFwaS5mbGFyZS5uZXR3b3JrL2V4dC9DL3JwY1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJDb3N0b24gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2Nvc3Rvbi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9zaGFyZGV1bVNwaGlueC50c1xudmFyIHNoYXJkZXVtU3BoaW54ID0ge1xuICBpZDogODA4MixcbiAgbmFtZTogXCJTaGFyZGV1bSBTcGhpbnhcIixcbiAgbmV0d29yazogXCJzaG1TcGhpbnhcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJTSEFSREVVTVwiLCBzeW1ib2w6IFwiU0hNXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9zcGhpbnguc2hhcmRldW0ub3JnXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vc3BoaW54LnNoYXJkZXVtLm9yZ1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlNoYXJkZXVtIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci1zcGhpbnguc2hhcmRldW0ub3JnXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy9zeXNjb2luLnRzXG52YXIgc3lzY29pbiA9IHtcbiAgaWQ6IDU3LFxuICBuYW1lOiBcIlN5c2NvaW4gTWFpbm5ldFwiLFxuICBuZXR3b3JrOiBcInN5c2NvaW5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJTeXNjb2luXCIsXG4gICAgc3ltYm9sOiBcIlNZU1wiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5zeXNjb2luLm9yZ1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcnBjLnN5c2NvaW4ub3JnL3dzc1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy5zeXNjb2luLm9yZ1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcnBjLnN5c2NvaW4ub3JnL3dzc1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiU3lzY29pbkV4cGxvcmVyXCIsIHVybDogXCJodHRwczovL2V4cGxvcmVyLnN5c2NvaW4ub3JnXCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyODcxMzlcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9zeXNjb2luVGVzdG5ldC50c1xudmFyIHN5c2NvaW5UZXN0bmV0ID0ge1xuICBpZDogNTcwMCxcbiAgbmFtZTogXCJTeXNjb2luIFRhbmVuYmF1bSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwic3lzY29pbi10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiU3lzY29pblwiLFxuICAgIHN5bWJvbDogXCJTWVNcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMudGFuZW5iYXVtLmlvXCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ycGMudGFuZW5iYXVtLmlvL3dzc1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy50YW5lbmJhdW0uaW9cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3JwYy50YW5lbmJhdW0uaW8vd3NzXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJTeXNjb2luVGVzdG5ldEV4cGxvcmVyXCIsIHVybDogXCJodHRwczovL3RhbmVuYmF1bS5pb1wiIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNBMTFiZGUwNTk3N2IzNjMxMTY3MDI4ODYyYkUyYTE3Mzk3NkNBMTFcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjcxMjg4XG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvdGFyYXhhLnRzXG52YXIgdGFyYXhhID0ge1xuICBpZDogODQxLFxuICBuYW1lOiBcIlRhcmF4YSBNYWlubmV0XCIsXG4gIG5ldHdvcms6IFwidGFyYXhhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiVGFyYVwiLCBzeW1ib2w6IFwiVEFSQVwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1haW5uZXQudGFyYXhhLmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLm1haW5uZXQudGFyYXhhLmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiVGFyYXhhIEV4cGxvcmVyXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5tYWlubmV0LnRhcmF4YS5pb1wiXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvdGFpa29UZXN0bmV0U2Vwb2xpYS50c1xudmFyIHRhaWtvVGVzdG5ldFNlcG9saWEgPSB7XG4gIGlkOiAxNjcwMDUsXG4gIG5hbWU6IFwiVGFpa28gKEFscGhhLTMgVGVzdG5ldClcIixcbiAgbmV0d29yazogXCJ0YWlrby1zZXBvbGlhXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiRXRoZXJcIiwgc3ltYm9sOiBcIkVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnRlc3QudGFpa28ueHl6XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnRlc3QudGFpa28ueHl6XCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiYmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIudGVzdC50YWlrby54eXpcIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL3RhcmF4YVRlc3RuZXQudHNcbnZhciB0YXJheGFUZXN0bmV0ID0ge1xuICBpZDogODQyLFxuICBuYW1lOiBcIlRhcmF4YSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwidGFyYXhhLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJUYXJhXCIsIHN5bWJvbDogXCJUQVJBXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMudGVzdG5ldC50YXJheGEuaW9cIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMudGVzdG5ldC50YXJheGEuaW9cIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJUYXJheGEgRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLnRlc3RuZXQudGFyYXhhLmlvXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy90ZWxvcy50c1xudmFyIHRlbG9zID0ge1xuICBpZDogNDAsXG4gIG5hbWU6IFwiVGVsb3NcIixcbiAgbmV0d29yazogXCJ0ZWxvc1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlRlbG9zXCIsXG4gICAgc3ltYm9sOiBcIlRMT1NcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL21haW5uZXQudGVsb3MubmV0L2V2bVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL21haW5uZXQudGVsb3MubmV0L2V2bVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJUZWxvc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd3d3LnRlbG9zY2FuLmlvL1wiXG4gICAgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAyNDY1MzA3MDlcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy90ZWxvc1Rlc3RuZXQudHNcbnZhciB0ZWxvc1Rlc3RuZXQgPSB7XG4gIGlkOiA0MSxcbiAgbmFtZTogXCJUZWxvc1wiLFxuICBuZXR3b3JrOiBcInRlbG9zVGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlRlbG9zXCIsXG4gICAgc3ltYm9sOiBcIlRMT1NcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3Rlc3RuZXQudGVsb3MubmV0L2V2bVwiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3Rlc3RuZXQudGVsb3MubmV0L2V2bVwiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJUZWxvc2NhbiAodGVzdG5ldClcIixcbiAgICAgIHVybDogXCJodHRwczovL3Rlc3RuZXQudGVsb3NjYW4uaW8vXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy90aHVuZGVyVGVzdG5ldC50c1xudmFyIHRodW5kZXJUZXN0bmV0ID0ge1xuICBpZDogOTk3LFxuICBuYW1lOiBcIjVpcmVDaGFpbiBUaHVuZGVyIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCI1aXJlQ2hhaW5cIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCI1aXJlIFRva2VuXCIsIHN5bWJvbDogXCI1SVJFXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMtdGVzdG5ldC41aXJlLm5ldHdvcmtcIl1cbiAgICB9LFxuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9ycGMtdGVzdG5ldC41aXJlLm5ldHdvcmtcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCI1aXJlQ2hhaW4gRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2V4cGxvcmVyLjVpcmUubmV0d29ya1wiXG4gICAgfVxuICB9LFxuICB0ZXN0bmV0OiB0cnVlXG59O1xuXG4vLyBzcmMvd2FuY2hhaW4udHNcbnZhciB3YW5jaGFpbiA9IHtcbiAgaWQ6IDg4OCxcbiAgbmFtZTogXCJXYW5jaGFpblwiLFxuICBuZXR3b3JrOiBcIndhbmNoYWluXCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7IG5hbWU6IFwiV0FOQ0hBSU5cIiwgc3ltYm9sOiBcIldBTlwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcbiAgICAgICAgXCJodHRwczovL2d3YW4tc3NsLndhbmRldnMub3JnOjU2ODkxXCIsXG4gICAgICAgIFwiaHR0cHM6Ly9nd2FuMi1zc2wud2FuZGV2cy5vcmdcIlxuICAgICAgXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXG4gICAgICAgIFwiaHR0cHM6Ly9nd2FuLXNzbC53YW5kZXZzLm9yZzo1Njg5MVwiLFxuICAgICAgICBcImh0dHBzOi8vZ3dhbjItc3NsLndhbmRldnMub3JnXCJcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZXRoZXJzY2FuOiB7XG4gICAgICBuYW1lOiBcIldhblNjYW5cIixcbiAgICAgIHVybDogXCJodHRwczovL3dhbnNjYW4ub3JnXCJcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiV2FuU2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd2Fuc2Nhbi5vcmdcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweGNERjZBMTU2NmU3OEVCNDU5NGM4NkZlNzNGY2RjODI0MjllOTdmYkJcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjUzMTIzOTBcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy93YW5jaGFpblRlc3RuZXQudHNcbnZhciB3YW5jaGFpblRlc3RuZXQgPSB7XG4gIGlkOiA5OTksXG4gIG5hbWU6IFwiV2FuY2hhaW4gVGVzdG5ldFwiLFxuICBuZXR3b3JrOiBcIndhbmNoYWluVGVzdG5ldFwiLFxuICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIldBTkNIQUlOXCIsIHN5bWJvbDogXCJXQU50XCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9nd2FuLXNzbC53YW5kZXZzLm9yZzo0Njg5MVwiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL2d3YW4tc3NsLndhbmRldnMub3JnOjQ2ODkxXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGV0aGVyc2Nhbjoge1xuICAgICAgbmFtZTogXCJXYW5TY2FuVGVzdFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd2Fuc2Nhbi5vcmdcIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJXYW5TY2FuVGVzdFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vd2Fuc2Nhbi5vcmdcIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweDExYzg5YkY0NDk2YzM5RkI4MDUzNUZmYjRjOTI3MTU4MzlDQzUzMjRcIixcbiAgICAgIGJsb2NrQ3JlYXRlZDogMjQ3NDM0NDhcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy94ZGMudHNcbnZhciB4ZGMgPSB7XG4gIGlkOiA1MCxcbiAgbmFtZTogXCJYaW5GaW4gTmV0d29ya1wiLFxuICBuZXR3b3JrOiBcInhkY1wiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIlhEQ1wiLFxuICAgIHN5bWJvbDogXCJYRENcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL3JwYy54aW5maW4ubmV0d29ya1wiXSB9LFxuICAgIHB1YmxpYzogeyBodHRwOiBbXCJodHRwczovL3JwYy54aW5maW4ubmV0d29ya1wiXSB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgeGluZmluOiB7IG5hbWU6IFwiWGluRmluXCIsIHVybDogXCJodHRwczovL2V4cGxvcmVyLnhpbmZpbi5uZXR3b3JrXCIgfSxcbiAgICBkZWZhdWx0OiB7IG5hbWU6IFwiQmxvY2tzc2NhblwiLCB1cmw6IFwiaHR0cHM6Ly94ZGMuYmxvY2tzc2Nhbi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL3hkY1Rlc3RuZXQudHNcbnZhciB4ZGNUZXN0bmV0ID0ge1xuICBpZDogNTEsXG4gIG5hbWU6IFwiQXBvdGhlbSBOZXR3b3JrXCIsXG4gIG5ldHdvcms6IFwieGRjLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJUWERDXCIsXG4gICAgc3ltYm9sOiBcIlRYRENcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDogeyBodHRwOiBbXCJodHRwczovL2VycGMuYXBvdGhlbS5uZXR3b3JrXCJdIH0sXG4gICAgcHVibGljOiB7IGh0dHA6IFtcImh0dHBzOi8vZXJwYy5hcG90aGVtLm5ldHdvcmtcIl0gfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIHhpbmZpbjogeyBuYW1lOiBcIlhpbkZpblwiLCB1cmw6IFwiaHR0cHM6Ly9leHBsb3Jlci5hcG90aGVtLm5ldHdvcmtcIiB9LFxuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJCbG9ja3NzY2FuXCIsIHVybDogXCJodHRwczovL2Fwb3RoZW0uYmxvY2tzc2Nhbi5pb1wiIH1cbiAgfVxufTtcblxuLy8gc3JjL3poZWppYW5nLnRzXG52YXIgemhlamlhbmcgPSB7XG4gIGlkOiAxMzM3ODAzLFxuICBuZXR3b3JrOiBcInpoZWppYW5nXCIsXG4gIG5hbWU6IFwiWmhlamlhbmdcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJaaGVqaWFuZyBFdGhlclwiLCBzeW1ib2w6IFwiWmhlakVUSFwiLCBkZWNpbWFsczogMTggfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnpoZWppYW5nLmV0aHBhbmRhb3BzLmlvXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnpoZWppYW5nLmV0aHBhbmRhb3BzLmlvXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGJlYWNvbmNoYWluOiB7XG4gICAgICBuYW1lOiBcIkV0aGVyc2NhblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vemhlamlhbmcuYmVhY29uY2hhLmluXCJcbiAgICB9LFxuICAgIGJsb2Nrc2NvdXQ6IHtcbiAgICAgIG5hbWU6IFwiQmxvY2tzY291dFwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vYmxvY2tzY291dC5jb20vZXRoL3poZWppYW5nLXRlc3RuZXRcIlxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgbmFtZTogXCJCZWFjb25jaGFpblwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vemhlamlhbmcuYmVhY29uY2hhLmluXCJcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5cbi8vIHNyYy96a1N5bmMudHNcbnZhciB6a1N5bmMgPSB7XG4gIGlkOiAzMjQsXG4gIG5hbWU6IFwiemtTeW5jIEVyYVwiLFxuICBuZXR3b3JrOiBcInprc3luYy1lcmFcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJFdGhlclwiLFxuICAgIHN5bWJvbDogXCJFVEhcIlxuICB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly9tYWlubmV0LmVyYS56a3N5bmMuaW9cIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL21haW5uZXQuZXJhLnprc3luYy5pby93c1wiXVxuICAgIH0sXG4gICAgcHVibGljOiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL21haW5uZXQuZXJhLnprc3luYy5pb1wiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vbWFpbm5ldC5lcmEuemtzeW5jLmlvL3dzXCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIG5hbWU6IFwiemtFeHBsb3JlclwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZXhwbG9yZXIuemtzeW5jLmlvXCJcbiAgICB9XG4gIH0sXG4gIGNvbnRyYWN0czoge1xuICAgIG11bHRpY2FsbDM6IHtcbiAgICAgIGFkZHJlc3M6IFwiMHhGOWNkYTYyNEZCQzdlMDU5MzU1Y2U5OGEzMTY5M2QyOTlGQUNkOTYzXCJcbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy96a1N5bmNUZXN0bmV0LnRzXG52YXIgemtTeW5jVGVzdG5ldCA9IHtcbiAgaWQ6IDI4MCxcbiAgbmFtZTogXCJ6a1N5bmMgRXJhIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJ6a3N5bmMtZXJhLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBzeW1ib2w6IFwiRVRIXCIsIGRlY2ltYWxzOiAxOCB9LFxuICBycGNVcmxzOiB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly90ZXN0bmV0LmVyYS56a3N5bmMuZGV2XCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly90ZXN0bmV0LmVyYS56a3N5bmMuZGV2L3dzXCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC5lcmEuemtzeW5jLmRldlwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vdGVzdG5ldC5lcmEuemtzeW5jLmRldi93c1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcInprRXhwbG9yZXJcIixcbiAgICAgIHVybDogXCJodHRwczovL2dvZXJsaS5leHBsb3Jlci56a3N5bmMuaW9cIlxuICAgIH1cbiAgfSxcbiAgY29udHJhY3RzOiB7XG4gICAgbXVsdGljYWxsMzoge1xuICAgICAgYWRkcmVzczogXCIweEY5Y2RhNjI0RkJDN2UwNTkzNTVjZTk4YTMxNjkzZDI5OUZBQ2Q5NjNcIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3pldGFjaGFpbkF0aGVuc1Rlc3RuZXQudHNcbnZhciB6ZXRhY2hhaW5BdGhlbnNUZXN0bmV0ID0ge1xuICBpZDogNzAwMSxcbiAgbmFtZTogXCJaZXRhQ2hhaW4gQXRoZW5zIFRlc3RuZXRcIixcbiAgbmV0d29yazogXCJ6ZXRhY2hhaW4tYXRoZW5zLXRlc3RuZXRcIixcbiAgbmF0aXZlQ3VycmVuY3k6IHtcbiAgICBkZWNpbWFsczogMTgsXG4gICAgbmFtZTogXCJaZXRhXCIsXG4gICAgc3ltYm9sOiBcImFaRVRBXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIHB1YmxpYzoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly96ZXRhY2hhaW4tYXRoZW5zLWV2bS5ibG9ja3BpLm5ldHdvcmsvdjEvcnBjL3B1YmxpY1wiXVxuICAgIH0sXG4gICAgZGVmYXVsdDoge1xuICAgICAgaHR0cDogW1wiaHR0cHM6Ly96ZXRhY2hhaW4tYXRoZW5zLWV2bS5ibG9ja3BpLm5ldHdvcmsvdjEvcnBjL3B1YmxpY1wiXVxuICAgIH1cbiAgfSxcbiAgYmxvY2tFeHBsb3JlcnM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBuYW1lOiBcIlpldGFTY2FuXCIsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9hdGhlbnMzLmV4cGxvcmVyLnpldGFjaGFpbi5jb21cIlxuICAgIH1cbiAgfSxcbiAgdGVzdG5ldDogdHJ1ZVxufTtcblxuLy8gc3JjL3pvcmEudHNcbnZhciB6b3JhID0ge1xuICBpZDogNzc3Nzc3NyxcbiAgbmFtZTogXCJab3JhXCIsXG4gIG5ldHdvcms6IFwiem9yYVwiLFxuICBuYXRpdmVDdXJyZW5jeToge1xuICAgIGRlY2ltYWxzOiAxOCxcbiAgICBuYW1lOiBcIkV0aGVyXCIsXG4gICAgc3ltYm9sOiBcIkVUSFwiXG4gIH0sXG4gIHJwY1VybHM6IHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICBodHRwOiBbXCJodHRwczovL3JwYy56b3JhLmVuZXJneVwiXSxcbiAgICAgIHdlYlNvY2tldDogW1wid3NzOi8vcnBjLnpvcmEuZW5lcmd5XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vcnBjLnpvcmEuZW5lcmd5XCJdLFxuICAgICAgd2ViU29ja2V0OiBbXCJ3c3M6Ly9ycGMuem9yYS5lbmVyZ3lcIl1cbiAgICB9XG4gIH0sXG4gIGJsb2NrRXhwbG9yZXJzOiB7XG4gICAgZGVmYXVsdDogeyBuYW1lOiBcIkV4cGxvcmVyXCIsIHVybDogXCJodHRwczovL2V4cGxvcmVyLnpvcmEuZW5lcmd5XCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiA1ODgyXG4gICAgfVxuICB9XG59O1xuXG4vLyBzcmMvem9yYVRlc3RuZXQudHNcbnZhciB6b3JhVGVzdG5ldCA9IHtcbiAgaWQ6IDk5OSxcbiAgbmFtZTogXCJab3JhIEdvZXJsaSBUZXN0bmV0XCIsXG4gIG5ldHdvcms6IFwiem9yYS10ZXN0bmV0XCIsXG4gIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgZGVjaW1hbHM6IDE4LFxuICAgIG5hbWU6IFwiWm9yYSBHb2VybGlcIixcbiAgICBzeW1ib2w6IFwiRVRIXCJcbiAgfSxcbiAgcnBjVXJsczoge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC5ycGMuem9yYS5lbmVyZ3lcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3Rlc3RuZXQucnBjLnpvcmEuZW5lcmd5XCJdXG4gICAgfSxcbiAgICBwdWJsaWM6IHtcbiAgICAgIGh0dHA6IFtcImh0dHBzOi8vdGVzdG5ldC5ycGMuem9yYS5lbmVyZ3lcIl0sXG4gICAgICB3ZWJTb2NrZXQ6IFtcIndzczovL3Rlc3RuZXQucnBjLnpvcmEuZW5lcmd5XCJdXG4gICAgfVxuICB9LFxuICBibG9ja0V4cGxvcmVyczoge1xuICAgIGRlZmF1bHQ6IHsgbmFtZTogXCJFeHBsb3JlclwiLCB1cmw6IFwiaHR0cHM6Ly90ZXN0bmV0LmV4cGxvcmVyLnpvcmEuZW5lcmd5XCIgfVxuICB9LFxuICBjb250cmFjdHM6IHtcbiAgICBtdWx0aWNhbGwzOiB7XG4gICAgICBhZGRyZXNzOiBcIjB4Y0ExMWJkZTA1OTc3YjM2MzExNjcwMjg4NjJiRTJhMTczOTc2Q0ExMVwiLFxuICAgICAgYmxvY2tDcmVhdGVkOiAxODkxMjNcbiAgICB9XG4gIH0sXG4gIHRlc3RuZXQ6IHRydWVcbn07XG5leHBvcnQge1xuICBhcmJpdHJ1bSxcbiAgYXJiaXRydW1Hb2VybGksXG4gIGFyYml0cnVtTm92YSxcbiAgYXVyb3JhLFxuICBhdXJvcmFUZXN0bmV0LFxuICBhdmFsYW5jaGUsXG4gIGF2YWxhbmNoZUZ1amksXG4gIGJhc2UsXG4gIGJhc2VHb2VybGksXG4gIGJlYXJOZXR3b3JrQ2hhaW5NYWlubmV0LFxuICBiZWFyTmV0d29ya0NoYWluVGVzdG5ldCxcbiAgYm9iYSxcbiAgYnJvbm9zLFxuICBicm9ub3NUZXN0bmV0LFxuICBic2MsXG4gIGJzY1Rlc3RuZXQsXG4gIGJ4bixcbiAgYnhuVGVzdG5ldCxcbiAgY2FudG8sXG4gIGNlbG8sXG4gIGNlbG9BbGZham9yZXMsXG4gIGNlbG9DYW5ub2xpLFxuICBjbGFzc2ljLFxuICBjb25mbHV4RVNwYWNlLFxuICBjcm9ub3MsXG4gIGNyb25vc1Rlc3RuZXQsXG4gIGNyb3NzYmVsbCxcbiAgZGZrLFxuICBkb2dlY2hhaW4sXG4gIGVkZ2V3YXJlLFxuICBlZGdld2FyZVRlc3RuZXQsXG4gIGVrdGEsXG4gIGVrdGFUZXN0bmV0LFxuICBlb3MsXG4gIGVvc1Rlc3RuZXQsXG4gIGV2bW9zLFxuICBldm1vc1Rlc3RuZXQsXG4gIGZhbnRvbSxcbiAgZmFudG9tVGVzdG5ldCxcbiAgZmlibyxcbiAgZmlsZWNvaW4sXG4gIGZpbGVjb2luQ2FsaWJyYXRpb24sXG4gIGZpbGVjb2luSHlwZXJzcGFjZSxcbiAgZmxhcmUsXG4gIGZsYXJlVGVzdG5ldCxcbiAgZm91bmRyeSxcbiAgZnVzZSxcbiAgZnVzZVNwYXJrbmV0LFxuICBnbm9zaXMsXG4gIGdub3Npc0NoaWFkbyxcbiAgZ29iaSxcbiAgZ29lcmxpLFxuICBoYXFxTWFpbm5ldCxcbiAgaGFxcVRlc3RlZGdlMixcbiAgaGFyZGhhdCxcbiAgaGFybW9ueU9uZSxcbiAgaW90ZXgsXG4gIGlvdGV4VGVzdG5ldCxcbiAga2xheXRuLFxuICBsaW5lYSxcbiAgbGluZWFUZXN0bmV0LFxuICBsb2NhbGhvc3QsXG4gIG1haW5uZXQsXG4gIG1hbnRsZSxcbiAgbWFudGxlVGVzdG5ldCxcbiAgbWV0aXMsXG4gIG1ldGlzR29lcmxpLFxuICBtZXYsXG4gIG1ldlRlc3RuZXQsXG4gIG1vZGVUZXN0bmV0LFxuICBtb29uYmFzZUFscGhhLFxuICBtb29uYmVhbSxcbiAgbW9vbnJpdmVyLFxuICBuZW9uRGV2bmV0LFxuICBuZXhpLFxuICBuZXhpbGl4LFxuICBvYXN5cyxcbiAgb2tjLFxuICBvcHRpbWlzbSxcbiAgb3B0aW1pc21Hb2VybGksXG4gIHBvbHlnb24sXG4gIHBvbHlnb25NdW1iYWksXG4gIHBvbHlnb25aa0V2bSxcbiAgcG9seWdvblprRXZtVGVzdG5ldCxcbiAgcHVsc2VjaGFpbixcbiAgcHVsc2VjaGFpblY0LFxuICBxTWFpbm5ldCxcbiAgcVRlc3RuZXQsXG4gIHJvbGx1eCxcbiAgcm9sbHV4VGVzdG5ldCxcbiAgcm9uaW4sXG4gIHNhaWdvbixcbiAgc2Nyb2xsU2Vwb2xpYSxcbiAgc2Nyb2xsVGVzdG5ldCxcbiAgc2Vwb2xpYSxcbiAgc2hhcmRldW1TcGhpbngsXG4gIHNrYWxlQmxvY2tCcmF3bGVycyxcbiAgc2thbGVDYWx5cHNvLFxuICBza2FsZUNhbHlwc29UZXN0bmV0LFxuICBza2FsZUNoYW9zVGVzdG5ldCxcbiAgc2thbGVDcnlwdG9CbGFkZXMsXG4gIHNrYWxlQ3J5cHRvQ29sb3NzZXVtLFxuICBza2FsZUV1cm9wYSxcbiAgc2thbGVFdXJvcGFUZXN0bmV0LFxuICBza2FsZUV4b3JkZSxcbiAgc2thbGVIdW1hblByb3RvY29sLFxuICBza2FsZU5lYnVsYSxcbiAgc2thbGVOZWJ1bGFUZXN0bmV0LFxuICBza2FsZVJhem9yLFxuICBza2FsZVRpdGFuLFxuICBza2FsZVRpdGFuVGVzdG5ldCxcbiAgc29uZ2JpcmQsXG4gIHNvbmdiaXJkVGVzdG5ldCxcbiAgc3lzY29pbixcbiAgc3lzY29pblRlc3RuZXQsXG4gIHRhaWtvVGVzdG5ldFNlcG9saWEsXG4gIHRhcmF4YSxcbiAgdGFyYXhhVGVzdG5ldCxcbiAgdGVsb3MsXG4gIHRlbG9zVGVzdG5ldCxcbiAgdGh1bmRlclRlc3RuZXQsXG4gIHdhbmNoYWluLFxuICB3YW5jaGFpblRlc3RuZXQsXG4gIHhkYyxcbiAgeGRjVGVzdG5ldCxcbiAgemV0YWNoYWluQXRoZW5zVGVzdG5ldCxcbiAgemhlamlhbmcsXG4gIHprU3luYyxcbiAgemtTeW5jVGVzdG5ldCxcbiAgem9yYSxcbiAgem9yYVRlc3RuZXRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/chains/dist/index.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ normalizeChainId: function() { return /* binding */ normalizeChainId; }\n/* harmony export */ });\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\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvY2h1bmstT1FJTFlRRE8uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBSUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29ubmVjdG9ycy9kaXN0L2NodW5rLU9RSUxZUURPLmpzP2NlNWIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL3V0aWxzL25vcm1hbGl6ZUNoYWluSWQudHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZUNoYWluSWQoY2hhaW5JZCkge1xuICBpZiAodHlwZW9mIGNoYWluSWQgPT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIE51bWJlci5wYXJzZUludChcbiAgICAgIGNoYWluSWQsXG4gICAgICBjaGFpbklkLnRyaW0oKS5zdWJzdHJpbmcoMCwgMikgPT09IFwiMHhcIiA/IDE2IDogMTBcbiAgICApO1xuICBpZiAodHlwZW9mIGNoYWluSWQgPT09IFwiYmlnaW50XCIpXG4gICAgcmV0dXJuIE51bWJlcihjaGFpbklkKTtcbiAgcmV0dXJuIGNoYWluSWQ7XG59XG5cbmV4cG9ydCB7XG4gIG5vcm1hbGl6ZUNoYWluSWRcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Connector: function() { return /* binding */ Connector; },\n/* harmony export */ __privateAdd: function() { return /* binding */ __privateAdd; },\n/* harmony export */ __privateGet: function() { return /* binding */ __privateGet; },\n/* harmony export */ __privateMethod: function() { return /* binding */ __privateMethod; },\n/* harmony export */ __privateSet: function() { return /* binding */ __privateSet; },\n/* harmony export */ __publicField: function() { return /* binding */ __publicField; }\n/* harmony export */ });\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! eventemitter3 */ \"./node_modules/eventemitter3/index.js\");\n/* harmony import */ var viem_chains__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! viem/chains */ \"./node_modules/viem/dist/esm/chains/index.js\");\nvar __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\n\n\nvar Connector = class extends eventemitter3__WEBPACK_IMPORTED_MODULE_0__ {\n constructor({\n chains = [viem_chains__WEBPACK_IMPORTED_MODULE_1__.mainnet, viem_chains__WEBPACK_IMPORTED_MODULE_1__.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\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvY2h1bmstUVlNQ1ZOSFQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLDhFQUE4RSw2REFBNkQ7QUFDM0k7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUN3RDtBQUNWO0FBQzlDLDhCQUE4QiwwQ0FBWTtBQUMxQztBQUNBLGNBQWMsZ0RBQU8sRUFBRSwrQ0FBTTtBQUM3QjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw0Q0FBNEM7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29ubmVjdG9ycy9kaXN0L2NodW5rLVFZTUNWTkhULmpzPzM4NjEiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2RlZk5vcm1hbFByb3AgPSAob2JqLCBrZXksIHZhbHVlKSA9PiBrZXkgaW4gb2JqID8gX19kZWZQcm9wKG9iaiwga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlIH0pIDogb2JqW2tleV0gPSB2YWx1ZTtcbnZhciBfX3B1YmxpY0ZpZWxkID0gKG9iaiwga2V5LCB2YWx1ZSkgPT4ge1xuICBfX2RlZk5vcm1hbFByb3Aob2JqLCB0eXBlb2Yga2V5ICE9PSBcInN5bWJvbFwiID8ga2V5ICsgXCJcIiA6IGtleSwgdmFsdWUpO1xuICByZXR1cm4gdmFsdWU7XG59O1xudmFyIF9fYWNjZXNzQ2hlY2sgPSAob2JqLCBtZW1iZXIsIG1zZykgPT4ge1xuICBpZiAoIW1lbWJlci5oYXMob2JqKSlcbiAgICB0aHJvdyBUeXBlRXJyb3IoXCJDYW5ub3QgXCIgKyBtc2cpO1xufTtcbnZhciBfX3ByaXZhdGVHZXQgPSAob2JqLCBtZW1iZXIsIGdldHRlcikgPT4ge1xuICBfX2FjY2Vzc0NoZWNrKG9iaiwgbWVtYmVyLCBcInJlYWQgZnJvbSBwcml2YXRlIGZpZWxkXCIpO1xuICByZXR1cm4gZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IG1lbWJlci5nZXQob2JqKTtcbn07XG52YXIgX19wcml2YXRlQWRkID0gKG9iaiwgbWVtYmVyLCB2YWx1ZSkgPT4ge1xuICBpZiAobWVtYmVyLmhhcyhvYmopKVxuICAgIHRocm93IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgdGhlIHNhbWUgcHJpdmF0ZSBtZW1iZXIgbW9yZSB0aGFuIG9uY2VcIik7XG4gIG1lbWJlciBpbnN0YW5jZW9mIFdlYWtTZXQgPyBtZW1iZXIuYWRkKG9iaikgOiBtZW1iZXIuc2V0KG9iaiwgdmFsdWUpO1xufTtcbnZhciBfX3ByaXZhdGVTZXQgPSAob2JqLCBtZW1iZXIsIHZhbHVlLCBzZXR0ZXIpID0+IHtcbiAgX19hY2Nlc3NDaGVjayhvYmosIG1lbWJlciwgXCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkXCIpO1xuICBzZXR0ZXIgPyBzZXR0ZXIuY2FsbChvYmosIHZhbHVlKSA6IG1lbWJlci5zZXQob2JqLCB2YWx1ZSk7XG4gIHJldHVybiB2YWx1ZTtcbn07XG52YXIgX19wcml2YXRlTWV0aG9kID0gKG9iaiwgbWVtYmVyLCBtZXRob2QpID0+IHtcbiAgX19hY2Nlc3NDaGVjayhvYmosIG1lbWJlciwgXCJhY2Nlc3MgcHJpdmF0ZSBtZXRob2RcIik7XG4gIHJldHVybiBtZXRob2Q7XG59O1xuXG4vLyBzcmMvYmFzZS50c1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiO1xuaW1wb3J0IHsgZ29lcmxpLCBtYWlubmV0IH0gZnJvbSBcInZpZW0vY2hhaW5zXCI7XG52YXIgQ29ubmVjdG9yID0gY2xhc3MgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hhaW5zID0gW21haW5uZXQsIGdvZXJsaV0sXG4gICAgb3B0aW9uc1xuICB9KSB7XG4gICAgc3VwZXIoKTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwiY2hhaW5zXCIpO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvcHRpb25zXCIpO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJzdG9yYWdlXCIpO1xuICAgIHRoaXMuY2hhaW5zID0gY2hhaW5zO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cbiAgZ2V0QmxvY2tFeHBsb3JlclVybHMoY2hhaW4pIHtcbiAgICBjb25zdCB7IGRlZmF1bHQ6IGJsb2NrRXhwbG9yZXIsIC4uLmJsb2NrRXhwbG9yZXJzIH0gPSBjaGFpbi5ibG9ja0V4cGxvcmVycyA/PyB7fTtcbiAgICBpZiAoYmxvY2tFeHBsb3JlcilcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGJsb2NrRXhwbG9yZXIudXJsLFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGJsb2NrRXhwbG9yZXJzKS5tYXAoKHgpID0+IHgudXJsKVxuICAgICAgXTtcbiAgfVxuICBpc0NoYWluVW5zdXBwb3J0ZWQoY2hhaW5JZCkge1xuICAgIHJldHVybiAhdGhpcy5jaGFpbnMuc29tZSgoeCkgPT4geC5pZCA9PT0gY2hhaW5JZCk7XG4gIH1cbiAgc2V0U3RvcmFnZShzdG9yYWdlKSB7XG4gICAgdGhpcy5zdG9yYWdlID0gc3RvcmFnZTtcbiAgfVxufTtcblxuZXhwb3J0IHtcbiAgX19wdWJsaWNGaWVsZCxcbiAgX19wcml2YXRlR2V0LFxuICBfX3ByaXZhdGVBZGQsXG4gIF9fcHJpdmF0ZVNldCxcbiAgX19wcml2YXRlTWV0aG9kLFxuICBDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-YZRVUC6Y.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-YZRVUC6Y.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InjectedConnector: function() { return /* binding */ InjectedConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chunk-ZCAPXGBX.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js\");\n/* harmony import */ var _chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-OQILYQDO.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js\");\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n\n\n\n\n// src/injected.ts\n\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.isCoin98)\n return \"Coin98 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.isDesig)\n return \"Desig Wallet\";\n if (provider.isEnkrypt)\n return \"Enkrypt\";\n if (provider.isExodus)\n return \"Exodus\";\n if (provider.isFordefi)\n return \"Fordefi\";\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.isSubWallet)\n return \"SubWallet\";\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 _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.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 (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"id\", \"injected\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"name\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"ready\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _provider, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"shimDisconnectKey\", `${this.id}.shimDisconnect`);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", {\n account: (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0])\n });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onChainChanged\", (chainId) => {\n const id = (0,_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId)(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.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 = (0,viem__WEBPACK_IMPORTED_MODULE_1__.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 viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n if (error.code === -32002)\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.ConnectorNotFoundError();\n const accounts = await provider.request({\n method: \"eth_accounts\"\n });\n return (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]);\n }\n async getChainId() {\n const provider = await this.getProvider();\n if (!provider)\n throw new _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.ConnectorNotFoundError();\n return provider.request({ method: \"eth_chainId\" }).then(_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId);\n }\n async getProvider() {\n const provider = this.options.getProvider();\n if (provider)\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateSet)(this, _provider, provider);\n return (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__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 (0,viem__WEBPACK_IMPORTED_MODULE_1__.createWalletClient)({\n account,\n chain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_1__.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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.ConnectorNotFoundError();\n const id = (0,viem__WEBPACK_IMPORTED_MODULE_1__.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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.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 viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(\n new Error(\"User rejected switch after adding network.\")\n );\n return chain;\n } catch (error2) {\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error2);\n }\n }\n if (this.isUserRejectedRequestError(error))\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.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\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvY2h1bmstWVpSVlVDNlkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHNkI7QUFHQTtBQU9BOztBQUU3QjtBQVNjOztBQUVkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGFBQWE7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0NBQXNDLHlEQUFTO0FBQy9DO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsWUFBWSxpQkFBaUI7QUFDN0IsSUFBSSxpRUFBYTtBQUNqQixJQUFJLGlFQUFh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QTtBQUNBO0FBQ0E7QUFDQTs7QUFJRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvY2h1bmstWVpSVlVDNlkuanM/MWQxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFpbk5vdENvbmZpZ3VyZWRGb3JDb25uZWN0b3JFcnJvcixcbiAgQ29ubmVjdG9yTm90Rm91bmRFcnJvclxufSBmcm9tIFwiLi9jaHVuay1aQ0FQWEdCWC5qc1wiO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplQ2hhaW5JZFxufSBmcm9tIFwiLi9jaHVuay1PUUlMWVFETy5qc1wiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdG9yLFxuICBfX3ByaXZhdGVBZGQsXG4gIF9fcHJpdmF0ZUdldCxcbiAgX19wcml2YXRlU2V0LFxuICBfX3B1YmxpY0ZpZWxkXG59IGZyb20gXCIuL2NodW5rLVFZTUNWTkhULmpzXCI7XG5cbi8vIHNyYy9pbmplY3RlZC50c1xuaW1wb3J0IHtcbiAgUmVzb3VyY2VVbmF2YWlsYWJsZVJwY0Vycm9yLFxuICBTd2l0Y2hDaGFpbkVycm9yLFxuICBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IsXG4gIGNyZWF0ZVdhbGxldENsaWVudCxcbiAgY3VzdG9tLFxuICBnZXRBZGRyZXNzLFxuICBudW1iZXJUb0hleFxufSBmcm9tIFwidmllbVwiO1xuXG4vLyBzcmMvdXRpbHMvZ2V0SW5qZWN0ZWROYW1lLnRzXG5mdW5jdGlvbiBnZXRJbmplY3RlZE5hbWUoZXRoZXJldW0pIHtcbiAgaWYgKCFldGhlcmV1bSlcbiAgICByZXR1cm4gXCJJbmplY3RlZFwiO1xuICBjb25zdCBnZXROYW1lID0gKHByb3ZpZGVyKSA9PiB7XG4gICAgaWYgKHByb3ZpZGVyLmlzQXBleFdhbGxldClcbiAgICAgIHJldHVybiBcIkFwZXggV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzQXZhbGFuY2hlKVxuICAgICAgcmV0dXJuIFwiQ29yZSBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNCYWNrcGFjaylcbiAgICAgIHJldHVybiBcIkJhY2twYWNrXCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzQmlmcm9zdClcbiAgICAgIHJldHVybiBcIkJpZnJvc3QgV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzQml0S2VlcClcbiAgICAgIHJldHVybiBcIkJpdEtlZXBcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNCaXRza2kpXG4gICAgICByZXR1cm4gXCJCaXRza2lcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNCbG9ja1dhbGxldClcbiAgICAgIHJldHVybiBcIkJsb2NrV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzQnJhdmVXYWxsZXQpXG4gICAgICByZXR1cm4gXCJCcmF2ZSBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNDb2luOTgpXG4gICAgICByZXR1cm4gXCJDb2luOTggV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzQ29pbmJhc2VXYWxsZXQpXG4gICAgICByZXR1cm4gXCJDb2luYmFzZSBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNEYXduKVxuICAgICAgcmV0dXJuIFwiRGF3biBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNEZWZpYW50KVxuICAgICAgcmV0dXJuIFwiRGVmaWFudFwiO1xuICAgIGlmIChwcm92aWRlci5pc0Rlc2lnKVxuICAgICAgcmV0dXJuIFwiRGVzaWcgV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzRW5rcnlwdClcbiAgICAgIHJldHVybiBcIkVua3J5cHRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNFeG9kdXMpXG4gICAgICByZXR1cm4gXCJFeG9kdXNcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNGb3JkZWZpKVxuICAgICAgcmV0dXJuIFwiRm9yZGVmaVwiO1xuICAgIGlmIChwcm92aWRlci5pc0ZyYW1lKVxuICAgICAgcmV0dXJuIFwiRnJhbWVcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNGcm9udGllcilcbiAgICAgIHJldHVybiBcIkZyb250aWVyIFdhbGxldFwiO1xuICAgIGlmIChwcm92aWRlci5pc0dhbWVzdG9wKVxuICAgICAgcmV0dXJuIFwiR2FtZVN0b3AgV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzSGFxcVdhbGxldClcbiAgICAgIHJldHVybiBcIkhBUVEgV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzSHlwZXJQYXkpXG4gICAgICByZXR1cm4gXCJIeXBlclBheSBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNJbVRva2VuKVxuICAgICAgcmV0dXJuIFwiSW1Ub2tlblwiO1xuICAgIGlmIChwcm92aWRlci5pc0hhbG9XYWxsZXQpXG4gICAgICByZXR1cm4gXCJIYWxvIFdhbGxldFwiO1xuICAgIGlmIChwcm92aWRlci5pc0t1Q29pbldhbGxldClcbiAgICAgIHJldHVybiBcIkt1Q29pbiBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNNYXRoV2FsbGV0KVxuICAgICAgcmV0dXJuIFwiTWF0aFdhbGxldFwiO1xuICAgIGlmIChwcm92aWRlci5pc05vdmFXYWxsZXQpXG4gICAgICByZXR1cm4gXCJOb3ZhIFdhbGxldFwiO1xuICAgIGlmIChwcm92aWRlci5pc09reFdhbGxldCB8fCBwcm92aWRlci5pc09LRXhXYWxsZXQpXG4gICAgICByZXR1cm4gXCJPS1ggV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzT25lSW5jaElPU1dhbGxldCB8fCBwcm92aWRlci5pc09uZUluY2hBbmRyb2lkV2FsbGV0KVxuICAgICAgcmV0dXJuIFwiMWluY2ggV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzT3BlcmEpXG4gICAgICByZXR1cm4gXCJPcGVyYVwiO1xuICAgIGlmIChwcm92aWRlci5pc1BoYW50b20pXG4gICAgICByZXR1cm4gXCJQaGFudG9tXCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzUG9ydGFsKVxuICAgICAgcmV0dXJuIFwiUmlwaW8gUG9ydGFsXCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzUmFiYnkpXG4gICAgICByZXR1cm4gXCJSYWJieSBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNSYWluYm93KVxuICAgICAgcmV0dXJuIFwiUmFpbmJvd1wiO1xuICAgIGlmIChwcm92aWRlci5pc1N0YXR1cylcbiAgICAgIHJldHVybiBcIlN0YXR1c1wiO1xuICAgIGlmIChwcm92aWRlci5pc1N1YldhbGxldClcbiAgICAgIHJldHVybiBcIlN1YldhbGxldFwiO1xuICAgIGlmIChwcm92aWRlci5pc1RhbGlzbWFuKVxuICAgICAgcmV0dXJuIFwiVGFsaXNtYW5cIjtcbiAgICBpZiAocHJvdmlkZXIuaXNUYWxseSlcbiAgICAgIHJldHVybiBcIlRhaG9cIjtcbiAgICBpZiAocHJvdmlkZXIuaXNUb2tlblBvY2tldClcbiAgICAgIHJldHVybiBcIlRva2VuUG9ja2V0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzVG9rZW5hcnkpXG4gICAgICByZXR1cm4gXCJUb2tlbmFyeVwiO1xuICAgIGlmIChwcm92aWRlci5pc1RydXN0IHx8IHByb3ZpZGVyLmlzVHJ1c3RXYWxsZXQpXG4gICAgICByZXR1cm4gXCJUcnVzdCBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNUVFdhbGxldClcbiAgICAgIHJldHVybiBcIlRUV2FsbGV0XCI7XG4gICAgaWYgKHByb3ZpZGVyLmlzWERFRkkpXG4gICAgICByZXR1cm4gXCJYREVGSSBXYWxsZXRcIjtcbiAgICBpZiAocHJvdmlkZXIuaXNaZXJpb24pXG4gICAgICByZXR1cm4gXCJaZXJpb25cIjtcbiAgICBpZiAocHJvdmlkZXIuaXNNZXRhTWFzaylcbiAgICAgIHJldHVybiBcIk1ldGFNYXNrXCI7XG4gIH07XG4gIGlmIChldGhlcmV1bS5wcm92aWRlcnM/Lmxlbmd0aCkge1xuICAgIGNvbnN0IG5hbWVTZXQgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgIGxldCB1bmtub3duQ291bnQgPSAxO1xuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgZXRoZXJldW0ucHJvdmlkZXJzKSB7XG4gICAgICBsZXQgbmFtZSA9IGdldE5hbWUocHJvdmlkZXIpO1xuICAgICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIG5hbWUgPSBgVW5rbm93biBXYWxsZXQgIyR7dW5rbm93bkNvdW50fWA7XG4gICAgICAgIHVua25vd25Db3VudCArPSAxO1xuICAgICAgfVxuICAgICAgbmFtZVNldC5hZGQobmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IG5hbWVzID0gWy4uLm5hbWVTZXRdO1xuICAgIGlmIChuYW1lcy5sZW5ndGgpXG4gICAgICByZXR1cm4gbmFtZXM7XG4gICAgcmV0dXJuIG5hbWVzWzBdID8/IFwiSW5qZWN0ZWRcIjtcbiAgfVxuICByZXR1cm4gZ2V0TmFtZShldGhlcmV1bSkgPz8gXCJJbmplY3RlZFwiO1xufVxuXG4vLyBzcmMvaW5qZWN0ZWQudHNcbnZhciBfcHJvdmlkZXI7XG52YXIgSW5qZWN0ZWRDb25uZWN0b3IgPSBjbGFzcyBleHRlbmRzIENvbm5lY3RvciB7XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGFpbnMsXG4gICAgb3B0aW9uczogb3B0aW9uc19cbiAgfSA9IHt9KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHNoaW1EaXNjb25uZWN0OiB0cnVlLFxuICAgICAgZ2V0UHJvdmlkZXIoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZXRoZXJldW0gPSB3aW5kb3cuZXRoZXJldW07XG4gICAgICAgIGlmIChldGhlcmV1bT8ucHJvdmlkZXJzKVxuICAgICAgICAgIHJldHVybiBldGhlcmV1bS5wcm92aWRlcnNbMF07XG4gICAgICAgIHJldHVybiBldGhlcmV1bTtcbiAgICAgIH0sXG4gICAgICAuLi5vcHRpb25zX1xuICAgIH07XG4gICAgc3VwZXIoeyBjaGFpbnMsIG9wdGlvbnMgfSk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcImlkXCIsIFwiaW5qZWN0ZWRcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm5hbWVcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcInJlYWR5XCIpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfcHJvdmlkZXIsIHZvaWQgMCk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcInNoaW1EaXNjb25uZWN0S2V5XCIsIGAke3RoaXMuaWR9LnNoaW1EaXNjb25uZWN0YCk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm9uQWNjb3VudHNDaGFuZ2VkXCIsIChhY2NvdW50cykgPT4ge1xuICAgICAgaWYgKGFjY291bnRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgdGhpcy5lbWl0KFwiZGlzY29ubmVjdFwiKTtcbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy5lbWl0KFwiY2hhbmdlXCIsIHtcbiAgICAgICAgICBhY2NvdW50OiBnZXRBZGRyZXNzKGFjY291bnRzWzBdKVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwib25DaGFpbkNoYW5nZWRcIiwgKGNoYWluSWQpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gbm9ybWFsaXplQ2hhaW5JZChjaGFpbklkKTtcbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkID0gdGhpcy5pc0NoYWluVW5zdXBwb3J0ZWQoaWQpO1xuICAgICAgdGhpcy5lbWl0KFwiY2hhbmdlXCIsIHsgY2hhaW46IHsgaWQsIHVuc3VwcG9ydGVkIH0gfSk7XG4gICAgfSk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm9uRGlzY29ubmVjdFwiLCBhc3luYyAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvci5jb2RlID09PSAxMDEzKSB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgICAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgICAgICBjb25zdCBpc0F1dGhvcml6ZWQgPSBhd2FpdCB0aGlzLmdldEFjY291bnQoKTtcbiAgICAgICAgICBpZiAoaXNBdXRob3JpemVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmVtaXQoXCJkaXNjb25uZWN0XCIpO1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5zaGltRGlzY29ubmVjdClcbiAgICAgICAgdGhpcy5zdG9yYWdlPy5yZW1vdmVJdGVtKHRoaXMuc2hpbURpc2Nvbm5lY3RLZXkpO1xuICAgIH0pO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gb3B0aW9ucy5nZXRQcm92aWRlcigpO1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5uYW1lID09PSBcInN0cmluZ1wiKVxuICAgICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIGVsc2UgaWYgKHByb3ZpZGVyKSB7XG4gICAgICBjb25zdCBkZXRlY3RlZE5hbWUgPSBnZXRJbmplY3RlZE5hbWUocHJvdmlkZXIpO1xuICAgICAgaWYgKG9wdGlvbnMubmFtZSlcbiAgICAgICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lKGRldGVjdGVkTmFtZSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkZXRlY3RlZE5hbWUgPT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgdGhpcy5uYW1lID0gZGV0ZWN0ZWROYW1lO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgdGhpcy5uYW1lID0gZGV0ZWN0ZWROYW1lWzBdO1xuICAgICAgfVxuICAgIH0gZWxzZVxuICAgICAgdGhpcy5uYW1lID0gXCJJbmplY3RlZFwiO1xuICAgIHRoaXMucmVhZHkgPSAhIXByb3ZpZGVyO1xuICB9XG4gIGFzeW5jIGNvbm5lY3QoeyBjaGFpbklkIH0gPSB7fSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICAgIGlmICghcHJvdmlkZXIpXG4gICAgICAgIHRocm93IG5ldyBDb25uZWN0b3JOb3RGb3VuZEVycm9yKCk7XG4gICAgICBpZiAocHJvdmlkZXIub24pIHtcbiAgICAgICAgcHJvdmlkZXIub24oXCJhY2NvdW50c0NoYW5nZWRcIiwgdGhpcy5vbkFjY291bnRzQ2hhbmdlZCk7XG4gICAgICAgIHByb3ZpZGVyLm9uKFwiY2hhaW5DaGFuZ2VkXCIsIHRoaXMub25DaGFpbkNoYW5nZWQpO1xuICAgICAgICBwcm92aWRlci5vbihcImRpc2Nvbm5lY3RcIiwgdGhpcy5vbkRpc2Nvbm5lY3QpO1xuICAgICAgfVxuICAgICAgdGhpcy5lbWl0KFwibWVzc2FnZVwiLCB7IHR5cGU6IFwiY29ubmVjdGluZ1wiIH0pO1xuICAgICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBwcm92aWRlci5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBcImV0aF9yZXF1ZXN0QWNjb3VudHNcIlxuICAgICAgfSk7XG4gICAgICBjb25zdCBhY2NvdW50ID0gZ2V0QWRkcmVzcyhhY2NvdW50c1swXSk7XG4gICAgICBsZXQgaWQgPSBhd2FpdCB0aGlzLmdldENoYWluSWQoKTtcbiAgICAgIGxldCB1bnN1cHBvcnRlZCA9IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKTtcbiAgICAgIGlmIChjaGFpbklkICYmIGlkICE9PSBjaGFpbklkKSB7XG4gICAgICAgIGNvbnN0IGNoYWluID0gYXdhaXQgdGhpcy5zd2l0Y2hDaGFpbihjaGFpbklkKTtcbiAgICAgICAgaWQgPSBjaGFpbi5pZDtcbiAgICAgICAgdW5zdXBwb3J0ZWQgPSB0aGlzLmlzQ2hhaW5VbnN1cHBvcnRlZChpZCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNoaW1EaXNjb25uZWN0KVxuICAgICAgICB0aGlzLnN0b3JhZ2U/LnNldEl0ZW0odGhpcy5zaGltRGlzY29ubmVjdEtleSwgdHJ1ZSk7XG4gICAgICByZXR1cm4geyBhY2NvdW50LCBjaGFpbjogeyBpZCwgdW5zdXBwb3J0ZWQgfSB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAodGhpcy5pc1VzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcikpXG4gICAgICAgIHRocm93IG5ldyBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IoZXJyb3IpO1xuICAgICAgaWYgKGVycm9yLmNvZGUgPT09IC0zMjAwMilcbiAgICAgICAgdGhyb3cgbmV3IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcihlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbiAgYXN5bmMgZGlzY29ubmVjdCgpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBpZiAoIXByb3ZpZGVyPy5yZW1vdmVMaXN0ZW5lcilcbiAgICAgIHJldHVybjtcbiAgICBwcm92aWRlci5yZW1vdmVMaXN0ZW5lcihcImFjY291bnRzQ2hhbmdlZFwiLCB0aGlzLm9uQWNjb3VudHNDaGFuZ2VkKTtcbiAgICBwcm92aWRlci5yZW1vdmVMaXN0ZW5lcihcImNoYWluQ2hhbmdlZFwiLCB0aGlzLm9uQ2hhaW5DaGFuZ2VkKTtcbiAgICBwcm92aWRlci5yZW1vdmVMaXN0ZW5lcihcImRpc2Nvbm5lY3RcIiwgdGhpcy5vbkRpc2Nvbm5lY3QpO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuc2hpbURpc2Nvbm5lY3QpXG4gICAgICB0aGlzLnN0b3JhZ2U/LnJlbW92ZUl0ZW0odGhpcy5zaGltRGlzY29ubmVjdEtleSk7XG4gIH1cbiAgYXN5bmMgZ2V0QWNjb3VudCgpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IHByb3ZpZGVyLnJlcXVlc3Qoe1xuICAgICAgbWV0aG9kOiBcImV0aF9hY2NvdW50c1wiXG4gICAgfSk7XG4gICAgcmV0dXJuIGdldEFkZHJlc3MoYWNjb3VudHNbMF0pO1xuICB9XG4gIGFzeW5jIGdldENoYWluSWQoKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgaWYgKCFwcm92aWRlcilcbiAgICAgIHRocm93IG5ldyBDb25uZWN0b3JOb3RGb3VuZEVycm9yKCk7XG4gICAgcmV0dXJuIHByb3ZpZGVyLnJlcXVlc3QoeyBtZXRob2Q6IFwiZXRoX2NoYWluSWRcIiB9KS50aGVuKG5vcm1hbGl6ZUNoYWluSWQpO1xuICB9XG4gIGFzeW5jIGdldFByb3ZpZGVyKCkge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5vcHRpb25zLmdldFByb3ZpZGVyKCk7XG4gICAgaWYgKHByb3ZpZGVyKVxuICAgICAgX19wcml2YXRlU2V0KHRoaXMsIF9wcm92aWRlciwgcHJvdmlkZXIpO1xuICAgIHJldHVybiBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKTtcbiAgfVxuICBhc3luYyBnZXRXYWxsZXRDbGllbnQoe1xuICAgIGNoYWluSWRcbiAgfSA9IHt9KSB7XG4gICAgY29uc3QgW3Byb3ZpZGVyLCBhY2NvdW50XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMuZ2V0UHJvdmlkZXIoKSxcbiAgICAgIHRoaXMuZ2V0QWNjb3VudCgpXG4gICAgXSk7XG4gICAgY29uc3QgY2hhaW4gPSB0aGlzLmNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicHJvdmlkZXIgaXMgcmVxdWlyZWQuXCIpO1xuICAgIHJldHVybiBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICAgICAgYWNjb3VudCxcbiAgICAgIGNoYWluLFxuICAgICAgdHJhbnNwb3J0OiBjdXN0b20ocHJvdmlkZXIpXG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgaXNBdXRob3JpemVkKCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNoaW1EaXNjb25uZWN0ICYmICF0aGlzLnN0b3JhZ2U/LmdldEl0ZW0odGhpcy5zaGltRGlzY29ubmVjdEtleSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgICAgaWYgKCFwcm92aWRlcilcbiAgICAgICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCB0aGlzLmdldEFjY291bnQoKTtcbiAgICAgIHJldHVybiAhIWFjY291bnQ7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIGFzeW5jIHN3aXRjaENoYWluKGNoYWluSWQpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgICBjb25zdCBpZCA9IG51bWJlclRvSGV4KGNoYWluSWQpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHByb3ZpZGVyLnJlcXVlc3Qoe1xuICAgICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiLFxuICAgICAgICAgIHBhcmFtczogW3sgY2hhaW5JZDogaWQgfV1cbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBQcm9taXNlKFxuICAgICAgICAgIChyZXMpID0+IHRoaXMub24oXCJjaGFuZ2VcIiwgKHsgY2hhaW4gfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoYWluPy5pZCA9PT0gY2hhaW5JZClcbiAgICAgICAgICAgICAgcmVzKCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgXSk7XG4gICAgICByZXR1cm4gdGhpcy5jaGFpbnMuZmluZCgoeCkgPT4geC5pZCA9PT0gY2hhaW5JZCkgPz8ge1xuICAgICAgICBpZDogY2hhaW5JZCxcbiAgICAgICAgbmFtZTogYENoYWluICR7aWR9YCxcbiAgICAgICAgbmV0d29yazogYCR7aWR9YCxcbiAgICAgICAgbmF0aXZlQ3VycmVuY3k6IHsgbmFtZTogXCJFdGhlclwiLCBkZWNpbWFsczogMTgsIHN5bWJvbDogXCJFVEhcIiB9LFxuICAgICAgICBycGNVcmxzOiB7IGRlZmF1bHQ6IHsgaHR0cDogW1wiXCJdIH0sIHB1YmxpYzogeyBodHRwOiBbXCJcIl0gfSB9XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBjaGFpbiA9IHRoaXMuY2hhaW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNoYWluSWQpO1xuICAgICAgaWYgKCFjaGFpbilcbiAgICAgICAgdGhyb3cgbmV3IENoYWluTm90Q29uZmlndXJlZEZvckNvbm5lY3RvckVycm9yKHtcbiAgICAgICAgICBjaGFpbklkLFxuICAgICAgICAgIGNvbm5lY3RvcklkOiB0aGlzLmlkXG4gICAgICAgIH0pO1xuICAgICAgaWYgKGVycm9yLmNvZGUgPT09IDQ5MDIgfHwgZXJyb3I/LmRhdGE/Lm9yaWdpbmFsRXJyb3I/LmNvZGUgPT09IDQ5MDIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBwcm92aWRlci5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpblwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBpZCxcbiAgICAgICAgICAgICAgICBjaGFpbk5hbWU6IGNoYWluLm5hbWUsXG4gICAgICAgICAgICAgICAgbmF0aXZlQ3VycmVuY3k6IGNoYWluLm5hdGl2ZUN1cnJlbmN5LFxuICAgICAgICAgICAgICAgIHJwY1VybHM6IFtjaGFpbi5ycGNVcmxzLnB1YmxpYz8uaHR0cFswXSA/PyBcIlwiXSxcbiAgICAgICAgICAgICAgICBibG9ja0V4cGxvcmVyVXJsczogdGhpcy5nZXRCbG9ja0V4cGxvcmVyVXJscyhjaGFpbilcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDaGFpbklkID0gYXdhaXQgdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgICAgICAgaWYgKGN1cnJlbnRDaGFpbklkICE9PSBjaGFpbklkKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihcbiAgICAgICAgICAgICAgbmV3IEVycm9yKFwiVXNlciByZWplY3RlZCBzd2l0Y2ggYWZ0ZXIgYWRkaW5nIG5ldHdvcmsuXCIpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBjaGFpbjtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IyKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc1VzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcikpXG4gICAgICAgIHRocm93IG5ldyBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IoZXJyb3IpO1xuICAgICAgdGhyb3cgbmV3IFN3aXRjaENoYWluRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuICBhc3luYyB3YXRjaEFzc2V0KHtcbiAgICBhZGRyZXNzLFxuICAgIGRlY2ltYWxzID0gMTgsXG4gICAgaW1hZ2UsXG4gICAgc3ltYm9sXG4gIH0pIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgICByZXR1cm4gcHJvdmlkZXIucmVxdWVzdCh7XG4gICAgICBtZXRob2Q6IFwid2FsbGV0X3dhdGNoQXNzZXRcIixcbiAgICAgIHBhcmFtczoge1xuICAgICAgICB0eXBlOiBcIkVSQzIwXCIsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgIGRlY2ltYWxzLFxuICAgICAgICAgIGltYWdlLFxuICAgICAgICAgIHN5bWJvbFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgaXNVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IoZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IuY29kZSA9PT0gNDAwMTtcbiAgfVxufTtcbl9wcm92aWRlciA9IG5ldyBXZWFrTWFwKCk7XG5cbmV4cG9ydCB7XG4gIEluamVjdGVkQ29ubmVjdG9yXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-YZRVUC6Y.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainNotConfiguredForConnectorError: function() { return /* binding */ ChainNotConfiguredForConnectorError; },\n/* harmony export */ ConnectorNotFoundError: function() { return /* binding */ ConnectorNotFoundError; }\n/* harmony export */ });\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n\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 (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"name\", \"ChainNotConfiguredForConnectorError\");\n }\n};\nvar ConnectorNotFoundError = class extends Error {\n constructor() {\n super(...arguments);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"name\", \"ConnectorNotFoundError\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"message\", \"Connector not found\");\n }\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvY2h1bmstWkNBUFhHQlguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILG9CQUFvQixRQUFRLGtDQUFrQyxZQUFZO0FBQzFFLElBQUksaUVBQWE7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksaUVBQWE7QUFDakIsSUFBSSxpRUFBYTtBQUNqQjtBQUNBOztBQUtFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9ub2RlX21vZHVsZXMvQHdhZ21pL2Nvbm5lY3RvcnMvZGlzdC9jaHVuay1aQ0FQWEdCWC5qcz9hNzY0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIF9fcHVibGljRmllbGRcbn0gZnJvbSBcIi4vY2h1bmstUVlNQ1ZOSFQuanNcIjtcblxuLy8gc3JjL2Vycm9ycy50c1xudmFyIENoYWluTm90Q29uZmlndXJlZEZvckNvbm5lY3RvckVycm9yID0gY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGFpbklkLFxuICAgIGNvbm5lY3RvcklkXG4gIH0pIHtcbiAgICBzdXBlcihgQ2hhaW4gXCIke2NoYWluSWR9XCIgbm90IGNvbmZpZ3VyZWQgZm9yIGNvbm5lY3RvciBcIiR7Y29ubmVjdG9ySWR9XCIuYCk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm5hbWVcIiwgXCJDaGFpbk5vdENvbmZpZ3VyZWRGb3JDb25uZWN0b3JFcnJvclwiKTtcbiAgfVxufTtcbnZhciBDb25uZWN0b3JOb3RGb3VuZEVycm9yID0gY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm5hbWVcIiwgXCJDb25uZWN0b3JOb3RGb3VuZEVycm9yXCIpO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJtZXNzYWdlXCIsIFwiQ29ubmVjdG9yIG5vdCBmb3VuZFwiKTtcbiAgfVxufTtcblxuZXhwb3J0IHtcbiAgQ2hhaW5Ob3RDb25maWd1cmVkRm9yQ29ubmVjdG9yRXJyb3IsXG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js ***! - \****************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CoinbaseWalletConnector: function() { return /* binding */ CoinbaseWalletConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chunk-ZCAPXGBX.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js\");\n/* harmony import */ var _chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-OQILYQDO.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js\");\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n\n\n\n\n// src/coinbaseWallet.ts\n\nvar _client, _provider;\nvar CoinbaseWalletConnector = class extends _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.Connector {\n constructor({ chains, options }) {\n super({\n chains,\n options: {\n reloadOnDisconnect: false,\n ...options\n }\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"id\", \"coinbaseWallet\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"name\", \"Coinbase Wallet\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"ready\", true);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _client, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _provider, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", { account: (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]) });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onChainChanged\", (chainId) => {\n const id = (0,_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId)(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onDisconnect\", () => {\n this.emit(\"disconnect\");\n });\n }\n async connect({ chainId } = {}) {\n try {\n const provider = await this.getProvider();\n provider.on(\"accountsChanged\", this.onAccountsChanged);\n provider.on(\"chainChanged\", this.onChainChanged);\n provider.on(\"disconnect\", this.onDisconnect);\n this.emit(\"message\", { type: \"connecting\" });\n const accounts = await provider.enable();\n const account = (0,viem__WEBPACK_IMPORTED_MODULE_1__.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 return {\n account,\n chain: { id, unsupported }\n };\n } catch (error) {\n if (/(user closed modal|accounts received is empty)/i.test(\n error.message\n ))\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n throw error;\n }\n }\n async disconnect() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider))\n return;\n const provider = await this.getProvider();\n provider.removeListener(\"accountsChanged\", this.onAccountsChanged);\n provider.removeListener(\"chainChanged\", this.onChainChanged);\n provider.removeListener(\"disconnect\", this.onDisconnect);\n provider.disconnect();\n provider.close();\n }\n async getAccount() {\n const provider = await this.getProvider();\n const accounts = await provider.request({\n method: \"eth_accounts\"\n });\n return (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]);\n }\n async getChainId() {\n const provider = await this.getProvider();\n const chainId = (0,_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId)(provider.chainId);\n return chainId;\n }\n async getProvider() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider)) {\n let CoinbaseWalletSDK = (await __webpack_require__.e(/*! import() */ \"node_modules_coinbase_wallet-sdk_dist_index_js\").then(__webpack_require__.t.bind(__webpack_require__, /*! @coinbase/wallet-sdk */ \"./node_modules/@coinbase/wallet-sdk/dist/index.js\", 19))).default;\n if (typeof CoinbaseWalletSDK !== \"function\" && typeof CoinbaseWalletSDK.default === \"function\")\n CoinbaseWalletSDK = CoinbaseWalletSDK.default;\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateSet)(this, _client, new CoinbaseWalletSDK(this.options));\n class WalletProvider {\n }\n class Client {\n }\n const walletExtensionChainId = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _client).walletExtension?.getChainId();\n const chain = this.chains.find(\n (chain2) => this.options.chainId ? chain2.id === this.options.chainId : chain2.id === walletExtensionChainId\n ) || this.chains[0];\n const chainId = this.options.chainId || chain?.id;\n const jsonRpcUrl = this.options.jsonRpcUrl || chain?.rpcUrls.default.http[0];\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateSet)(this, _provider, (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _client).makeWeb3Provider(jsonRpcUrl, chainId));\n }\n return (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__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 (0,viem__WEBPACK_IMPORTED_MODULE_1__.createWalletClient)({\n account,\n chain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_1__.custom)(provider)\n });\n }\n async isAuthorized() {\n try {\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 const id = (0,viem__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(chainId);\n try {\n await provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: id }]\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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.ChainNotConfiguredForConnectorError({\n chainId,\n connectorId: this.id\n });\n if (error.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 return chain;\n } catch (error2) {\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error2);\n }\n }\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.SwitchChainError(error);\n }\n }\n async watchAsset({\n address,\n decimals = 18,\n image,\n symbol\n }) {\n const provider = await this.getProvider();\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};\n_client = new WeakMap();\n_provider = new WeakMap();\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvY29pbmJhc2VXYWxsZXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFNkI7QUFHQTtBQU9BOztBQUU3QjtBQVFjO0FBQ2Q7QUFDQSw0Q0FBNEMseURBQVM7QUFDckQsZ0JBQWdCLGlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSSxpRUFBYTtBQUNqQixJQUFJLGlFQUFhO0FBQ2pCLElBQUksaUVBQWE7QUFDakIsSUFBSSxnRUFBWTtBQUNoQixJQUFJLGdFQUFZO0FBQ2hCLElBQUksaUVBQWE7QUFDakI7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLFNBQVMsZ0RBQVUsZUFBZTtBQUNoRSxLQUFLO0FBQ0wsSUFBSSxpRUFBYTtBQUNqQixpQkFBaUIsb0VBQWdCO0FBQ2pDO0FBQ0EsNEJBQTRCLFNBQVMsbUJBQW1CO0FBQ3hELEtBQUs7QUFDTCxJQUFJLGlFQUFhO0FBQ2pCO0FBQ0EsS0FBSztBQUNMO0FBQ0Esa0JBQWtCLFVBQVUsSUFBSTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLG9CQUFvQjtBQUNqRDtBQUNBLHNCQUFzQixnREFBVTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDBEQUF3QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsZ0VBQVk7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFdBQVcsZ0RBQVU7QUFDckI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG9FQUFnQjtBQUNwQztBQUNBO0FBQ0E7QUFDQSxTQUFTLGdFQUFZO0FBQ3JCLHFDQUFxQyxrT0FBOEI7QUFDbkU7QUFDQTtBQUNBLE1BQU0sZ0VBQVk7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsZ0VBQVk7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sZ0VBQVksa0JBQWtCLGdFQUFZO0FBQ2hEO0FBQ0EsV0FBVyxnRUFBWTtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUk7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0RBQWtCO0FBQzdCO0FBQ0E7QUFDQSxpQkFBaUIsNENBQU07QUFDdkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaURBQVc7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGFBQWE7QUFDaEMsT0FBTztBQUNQO0FBQ0E7QUFDQSx1QkFBdUIsR0FBRztBQUMxQixvQkFBb0IsR0FBRztBQUN2QiwwQkFBMEIsNENBQTRDO0FBQ3RFLG1CQUFtQixXQUFXLFlBQVksWUFBWTtBQUN0RDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0Esa0JBQWtCLG1GQUFtQztBQUNyRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsVUFBVTtBQUNWLG9CQUFvQiwwREFBd0I7QUFDNUM7QUFDQTtBQUNBLGdCQUFnQixrREFBZ0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBR0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29ubmVjdG9ycy9kaXN0L2NvaW5iYXNlV2FsbGV0LmpzP2FmM2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhaW5Ob3RDb25maWd1cmVkRm9yQ29ubmVjdG9yRXJyb3Jcbn0gZnJvbSBcIi4vY2h1bmstWkNBUFhHQlguanNcIjtcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUNoYWluSWRcbn0gZnJvbSBcIi4vY2h1bmstT1FJTFlRRE8uanNcIjtcbmltcG9ydCB7XG4gIENvbm5lY3RvcixcbiAgX19wcml2YXRlQWRkLFxuICBfX3ByaXZhdGVHZXQsXG4gIF9fcHJpdmF0ZVNldCxcbiAgX19wdWJsaWNGaWVsZFxufSBmcm9tIFwiLi9jaHVuay1RWU1DVk5IVC5qc1wiO1xuXG4vLyBzcmMvY29pbmJhc2VXYWxsZXQudHNcbmltcG9ydCB7XG4gIFN3aXRjaENoYWluRXJyb3IsXG4gIFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcixcbiAgY3JlYXRlV2FsbGV0Q2xpZW50LFxuICBjdXN0b20sXG4gIGdldEFkZHJlc3MsXG4gIG51bWJlclRvSGV4XG59IGZyb20gXCJ2aWVtXCI7XG52YXIgX2NsaWVudCwgX3Byb3ZpZGVyO1xudmFyIENvaW5iYXNlV2FsbGV0Q29ubmVjdG9yID0gY2xhc3MgZXh0ZW5kcyBDb25uZWN0b3Ige1xuICBjb25zdHJ1Y3Rvcih7IGNoYWlucywgb3B0aW9ucyB9KSB7XG4gICAgc3VwZXIoe1xuICAgICAgY2hhaW5zLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICByZWxvYWRPbkRpc2Nvbm5lY3Q6IGZhbHNlLFxuICAgICAgICAuLi5vcHRpb25zXG4gICAgICB9XG4gICAgfSk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcImlkXCIsIFwiY29pbmJhc2VXYWxsZXRcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm5hbWVcIiwgXCJDb2luYmFzZSBXYWxsZXRcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcInJlYWR5XCIsIHRydWUpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfY2xpZW50LCB2b2lkIDApO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfcHJvdmlkZXIsIHZvaWQgMCk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm9uQWNjb3VudHNDaGFuZ2VkXCIsIChhY2NvdW50cykgPT4ge1xuICAgICAgaWYgKGFjY291bnRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgdGhpcy5lbWl0KFwiZGlzY29ubmVjdFwiKTtcbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy5lbWl0KFwiY2hhbmdlXCIsIHsgYWNjb3VudDogZ2V0QWRkcmVzcyhhY2NvdW50c1swXSkgfSk7XG4gICAgfSk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm9uQ2hhaW5DaGFuZ2VkXCIsIChjaGFpbklkKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IG5vcm1hbGl6ZUNoYWluSWQoY2hhaW5JZCk7XG4gICAgICBjb25zdCB1bnN1cHBvcnRlZCA9IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKTtcbiAgICAgIHRoaXMuZW1pdChcImNoYW5nZVwiLCB7IGNoYWluOiB7IGlkLCB1bnN1cHBvcnRlZCB9IH0pO1xuICAgIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkRpc2Nvbm5lY3RcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5lbWl0KFwiZGlzY29ubmVjdFwiKTtcbiAgICB9KTtcbiAgfVxuICBhc3luYyBjb25uZWN0KHsgY2hhaW5JZCB9ID0ge30pIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgICBwcm92aWRlci5vbihcImFjY291bnRzQ2hhbmdlZFwiLCB0aGlzLm9uQWNjb3VudHNDaGFuZ2VkKTtcbiAgICAgIHByb3ZpZGVyLm9uKFwiY2hhaW5DaGFuZ2VkXCIsIHRoaXMub25DaGFpbkNoYW5nZWQpO1xuICAgICAgcHJvdmlkZXIub24oXCJkaXNjb25uZWN0XCIsIHRoaXMub25EaXNjb25uZWN0KTtcbiAgICAgIHRoaXMuZW1pdChcIm1lc3NhZ2VcIiwgeyB0eXBlOiBcImNvbm5lY3RpbmdcIiB9KTtcbiAgICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgcHJvdmlkZXIuZW5hYmxlKCk7XG4gICAgICBjb25zdCBhY2NvdW50ID0gZ2V0QWRkcmVzcyhhY2NvdW50c1swXSk7XG4gICAgICBsZXQgaWQgPSBhd2FpdCB0aGlzLmdldENoYWluSWQoKTtcbiAgICAgIGxldCB1bnN1cHBvcnRlZCA9IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKTtcbiAgICAgIGlmIChjaGFpbklkICYmIGlkICE9PSBjaGFpbklkKSB7XG4gICAgICAgIGNvbnN0IGNoYWluID0gYXdhaXQgdGhpcy5zd2l0Y2hDaGFpbihjaGFpbklkKTtcbiAgICAgICAgaWQgPSBjaGFpbi5pZDtcbiAgICAgICAgdW5zdXBwb3J0ZWQgPSB0aGlzLmlzQ2hhaW5VbnN1cHBvcnRlZChpZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NvdW50LFxuICAgICAgICBjaGFpbjogeyBpZCwgdW5zdXBwb3J0ZWQgfVxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKC8odXNlciBjbG9zZWQgbW9kYWx8YWNjb3VudHMgcmVjZWl2ZWQgaXMgZW1wdHkpL2kudGVzdChcbiAgICAgICAgZXJyb3IubWVzc2FnZVxuICAgICAgKSlcbiAgICAgICAgdGhyb3cgbmV3IFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbiAgYXN5bmMgZGlzY29ubmVjdCgpIHtcbiAgICBpZiAoIV9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpKVxuICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIHByb3ZpZGVyLnJlbW92ZUxpc3RlbmVyKFwiYWNjb3VudHNDaGFuZ2VkXCIsIHRoaXMub25BY2NvdW50c0NoYW5nZWQpO1xuICAgIHByb3ZpZGVyLnJlbW92ZUxpc3RlbmVyKFwiY2hhaW5DaGFuZ2VkXCIsIHRoaXMub25DaGFpbkNoYW5nZWQpO1xuICAgIHByb3ZpZGVyLnJlbW92ZUxpc3RlbmVyKFwiZGlzY29ubmVjdFwiLCB0aGlzLm9uRGlzY29ubmVjdCk7XG4gICAgcHJvdmlkZXIuZGlzY29ubmVjdCgpO1xuICAgIHByb3ZpZGVyLmNsb3NlKCk7XG4gIH1cbiAgYXN5bmMgZ2V0QWNjb3VudCgpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IHByb3ZpZGVyLnJlcXVlc3Qoe1xuICAgICAgbWV0aG9kOiBcImV0aF9hY2NvdW50c1wiXG4gICAgfSk7XG4gICAgcmV0dXJuIGdldEFkZHJlc3MoYWNjb3VudHNbMF0pO1xuICB9XG4gIGFzeW5jIGdldENoYWluSWQoKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgY29uc3QgY2hhaW5JZCA9IG5vcm1hbGl6ZUNoYWluSWQocHJvdmlkZXIuY2hhaW5JZCk7XG4gICAgcmV0dXJuIGNoYWluSWQ7XG4gIH1cbiAgYXN5bmMgZ2V0UHJvdmlkZXIoKSB7XG4gICAgaWYgKCFfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKSkge1xuICAgICAgbGV0IENvaW5iYXNlV2FsbGV0U0RLID0gKGF3YWl0IGltcG9ydChcIkBjb2luYmFzZS93YWxsZXQtc2RrXCIpKS5kZWZhdWx0O1xuICAgICAgaWYgKHR5cGVvZiBDb2luYmFzZVdhbGxldFNESyAhPT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBDb2luYmFzZVdhbGxldFNESy5kZWZhdWx0ID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIENvaW5iYXNlV2FsbGV0U0RLID0gQ29pbmJhc2VXYWxsZXRTREsuZGVmYXVsdDtcbiAgICAgIF9fcHJpdmF0ZVNldCh0aGlzLCBfY2xpZW50LCBuZXcgQ29pbmJhc2VXYWxsZXRTREsodGhpcy5vcHRpb25zKSk7XG4gICAgICBjbGFzcyBXYWxsZXRQcm92aWRlciB7XG4gICAgICB9XG4gICAgICBjbGFzcyBDbGllbnQge1xuICAgICAgfVxuICAgICAgY29uc3Qgd2FsbGV0RXh0ZW5zaW9uQ2hhaW5JZCA9IF9fcHJpdmF0ZUdldCh0aGlzLCBfY2xpZW50KS53YWxsZXRFeHRlbnNpb24/LmdldENoYWluSWQoKTtcbiAgICAgIGNvbnN0IGNoYWluID0gdGhpcy5jaGFpbnMuZmluZChcbiAgICAgICAgKGNoYWluMikgPT4gdGhpcy5vcHRpb25zLmNoYWluSWQgPyBjaGFpbjIuaWQgPT09IHRoaXMub3B0aW9ucy5jaGFpbklkIDogY2hhaW4yLmlkID09PSB3YWxsZXRFeHRlbnNpb25DaGFpbklkXG4gICAgICApIHx8IHRoaXMuY2hhaW5zWzBdO1xuICAgICAgY29uc3QgY2hhaW5JZCA9IHRoaXMub3B0aW9ucy5jaGFpbklkIHx8IGNoYWluPy5pZDtcbiAgICAgIGNvbnN0IGpzb25ScGNVcmwgPSB0aGlzLm9wdGlvbnMuanNvblJwY1VybCB8fCBjaGFpbj8ucnBjVXJscy5kZWZhdWx0Lmh0dHBbMF07XG4gICAgICBfX3ByaXZhdGVTZXQodGhpcywgX3Byb3ZpZGVyLCBfX3ByaXZhdGVHZXQodGhpcywgX2NsaWVudCkubWFrZVdlYjNQcm92aWRlcihqc29uUnBjVXJsLCBjaGFpbklkKSk7XG4gICAgfVxuICAgIHJldHVybiBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKTtcbiAgfVxuICBhc3luYyBnZXRXYWxsZXRDbGllbnQoe1xuICAgIGNoYWluSWRcbiAgfSA9IHt9KSB7XG4gICAgY29uc3QgW3Byb3ZpZGVyLCBhY2NvdW50XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMuZ2V0UHJvdmlkZXIoKSxcbiAgICAgIHRoaXMuZ2V0QWNjb3VudCgpXG4gICAgXSk7XG4gICAgY29uc3QgY2hhaW4gPSB0aGlzLmNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicHJvdmlkZXIgaXMgcmVxdWlyZWQuXCIpO1xuICAgIHJldHVybiBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICAgICAgYWNjb3VudCxcbiAgICAgIGNoYWluLFxuICAgICAgdHJhbnNwb3J0OiBjdXN0b20ocHJvdmlkZXIpXG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgaXNBdXRob3JpemVkKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhY2NvdW50ID0gYXdhaXQgdGhpcy5nZXRBY2NvdW50KCk7XG4gICAgICByZXR1cm4gISFhY2NvdW50O1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBhc3luYyBzd2l0Y2hDaGFpbihjaGFpbklkKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgY29uc3QgaWQgPSBudW1iZXJUb0hleChjaGFpbklkKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcHJvdmlkZXIucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiLFxuICAgICAgICBwYXJhbXM6IFt7IGNoYWluSWQ6IGlkIH1dXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0aGlzLmNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKSA/PyB7XG4gICAgICAgIGlkOiBjaGFpbklkLFxuICAgICAgICBuYW1lOiBgQ2hhaW4gJHtpZH1gLFxuICAgICAgICBuZXR3b3JrOiBgJHtpZH1gLFxuICAgICAgICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIGRlY2ltYWxzOiAxOCwgc3ltYm9sOiBcIkVUSFwiIH0sXG4gICAgICAgIHJwY1VybHM6IHsgZGVmYXVsdDogeyBodHRwOiBbXCJcIl0gfSwgcHVibGljOiB7IGh0dHA6IFtcIlwiXSB9IH1cbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGNoYWluID0gdGhpcy5jaGFpbnMuZmluZCgoeCkgPT4geC5pZCA9PT0gY2hhaW5JZCk7XG4gICAgICBpZiAoIWNoYWluKVxuICAgICAgICB0aHJvdyBuZXcgQ2hhaW5Ob3RDb25maWd1cmVkRm9yQ29ubmVjdG9yRXJyb3Ioe1xuICAgICAgICAgIGNoYWluSWQsXG4gICAgICAgICAgY29ubmVjdG9ySWQ6IHRoaXMuaWRcbiAgICAgICAgfSk7XG4gICAgICBpZiAoZXJyb3IuY29kZSA9PT0gNDkwMikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHByb3ZpZGVyLnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiBcIndhbGxldF9hZGRFdGhlcmV1bUNoYWluXCIsXG4gICAgICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNoYWluSWQ6IGlkLFxuICAgICAgICAgICAgICAgIGNoYWluTmFtZTogY2hhaW4ubmFtZSxcbiAgICAgICAgICAgICAgICBuYXRpdmVDdXJyZW5jeTogY2hhaW4ubmF0aXZlQ3VycmVuY3ksXG4gICAgICAgICAgICAgICAgcnBjVXJsczogW2NoYWluLnJwY1VybHMucHVibGljPy5odHRwWzBdID8/IFwiXCJdLFxuICAgICAgICAgICAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiB0aGlzLmdldEJsb2NrRXhwbG9yZXJVcmxzKGNoYWluKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGNoYWluO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVXNlclJlamVjdGVkUmVxdWVzdEVycm9yKGVycm9yMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBTd2l0Y2hDaGFpbkVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cbiAgYXN5bmMgd2F0Y2hBc3NldCh7XG4gICAgYWRkcmVzcyxcbiAgICBkZWNpbWFscyA9IDE4LFxuICAgIGltYWdlLFxuICAgIHN5bWJvbFxuICB9KSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgcmV0dXJuIHByb3ZpZGVyLnJlcXVlc3Qoe1xuICAgICAgbWV0aG9kOiBcIndhbGxldF93YXRjaEFzc2V0XCIsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgdHlwZTogXCJFUkMyMFwiLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICBkZWNpbWFscyxcbiAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICBzeW1ib2xcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuX2NsaWVudCA9IG5ldyBXZWFrTWFwKCk7XG5fcHJvdmlkZXIgPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IHtcbiAgQ29pbmJhc2VXYWxsZXRDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/coinbaseWallet.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/index.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainNotConfiguredForConnectorError: function() { return /* reexport safe */ _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_0__.ChainNotConfiguredForConnectorError; },\n/* harmony export */ Connector: function() { return /* reexport safe */ _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.Connector; },\n/* harmony export */ ConnectorNotFoundError: function() { return /* reexport safe */ _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_0__.ConnectorNotFoundError; },\n/* harmony export */ normalizeChainId: function() { return /* reexport safe */ _chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId; }\n/* harmony export */ });\n/* harmony import */ var _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-ZCAPXGBX.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js\");\n/* harmony import */ var _chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-OQILYQDO.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js\");\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUc2QjtBQUdBO0FBR0E7QUFNM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29ubmVjdG9ycy9kaXN0L2luZGV4LmpzPzlmZDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhaW5Ob3RDb25maWd1cmVkRm9yQ29ubmVjdG9yRXJyb3IsXG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3Jcbn0gZnJvbSBcIi4vY2h1bmstWkNBUFhHQlguanNcIjtcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUNoYWluSWRcbn0gZnJvbSBcIi4vY2h1bmstT1FJTFlRRE8uanNcIjtcbmltcG9ydCB7XG4gIENvbm5lY3RvclxufSBmcm9tIFwiLi9jaHVuay1RWU1DVk5IVC5qc1wiO1xuZXhwb3J0IHtcbiAgQ2hhaW5Ob3RDb25maWd1cmVkRm9yQ29ubmVjdG9yRXJyb3IsXG4gIENvbm5lY3RvcixcbiAgQ29ubmVjdG9yTm90Rm91bmRFcnJvcixcbiAgbm9ybWFsaXplQ2hhaW5JZFxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/injected.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/injected.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InjectedConnector: function() { return /* reexport safe */ _chunk_YZRVUC6Y_js__WEBPACK_IMPORTED_MODULE_0__.InjectedConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_YZRVUC6Y_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-YZRVUC6Y.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-YZRVUC6Y.js\");\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvaW5qZWN0ZWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFNkI7QUFDQTtBQUNBO0FBQ0E7QUFHM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29ubmVjdG9ycy9kaXN0L2luamVjdGVkLmpzP2YyMWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0ZWRDb25uZWN0b3Jcbn0gZnJvbSBcIi4vY2h1bmstWVpSVlVDNlkuanNcIjtcbmltcG9ydCBcIi4vY2h1bmstWkNBUFhHQlguanNcIjtcbmltcG9ydCBcIi4vY2h1bmstT1FJTFlRRE8uanNcIjtcbmltcG9ydCBcIi4vY2h1bmstUVlNQ1ZOSFQuanNcIjtcbmV4cG9ydCB7XG4gIEluamVjdGVkQ29ubmVjdG9yXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/injected.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/metaMask.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/metaMask.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MetaMaskConnector: function() { return /* binding */ MetaMaskConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_YZRVUC6Y_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-YZRVUC6Y.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-YZRVUC6Y.js\");\n/* harmony import */ var _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-ZCAPXGBX.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js\");\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n\n\n\n\n\n// src/metaMask.ts\n\nvar _UNSTABLE_shimOnConnectSelectAccount;\nvar MetaMaskConnector = class extends _chunk_YZRVUC6Y_js__WEBPACK_IMPORTED_MODULE_0__.InjectedConnector {\n constructor({\n chains,\n options: options_\n } = {}) {\n const options = {\n name: \"MetaMask\",\n shimDisconnect: true,\n getProvider() {\n function getReady(ethereum2) {\n const isMetaMask = !!ethereum2?.isMetaMask;\n if (!isMetaMask)\n return;\n if (ethereum2.isBraveWallet && !ethereum2._events && !ethereum2._state)\n return;\n if (ethereum2.isApexWallet)\n return;\n if (ethereum2.isAvalanche)\n return;\n if (ethereum2.isBitKeep)\n return;\n if (ethereum2.isBlockWallet)\n return;\n if (ethereum2.isCoin98)\n return;\n if (ethereum2.isFordefi)\n return;\n if (ethereum2.isMathWallet)\n return;\n if (ethereum2.isOkxWallet || ethereum2.isOKExWallet)\n return;\n if (ethereum2.isOneInchIOSWallet || ethereum2.isOneInchAndroidWallet)\n return;\n if (ethereum2.isOpera)\n return;\n if (ethereum2.isPortal)\n return;\n if (ethereum2.isRabby)\n return;\n if (ethereum2.isDefiant)\n return;\n if (ethereum2.isTokenPocket)\n return;\n if (ethereum2.isTokenary)\n return;\n if (ethereum2.isZerion)\n return;\n return ethereum2;\n }\n if (typeof window === \"undefined\")\n return;\n const ethereum = window.ethereum;\n if (ethereum?.providers)\n return ethereum.providers.find(getReady);\n return getReady(ethereum);\n },\n ...options_\n };\n super({ chains, options });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__publicField)(this, \"id\", \"metaMask\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__publicField)(this, \"shimDisconnectKey\", `${this.id}.shimDisconnect`);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateAdd)(this, _UNSTABLE_shimOnConnectSelectAccount, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateSet)(this, _UNSTABLE_shimOnConnectSelectAccount, options.UNSTABLE_shimOnConnectSelectAccount);\n }\n async connect({ chainId } = {}) {\n try {\n const provider = await this.getProvider();\n if (!provider)\n throw new _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_2__.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 let account = null;\n if ((0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateGet)(this, _UNSTABLE_shimOnConnectSelectAccount) && this.options?.shimDisconnect && !this.storage?.getItem(this.shimDisconnectKey)) {\n account = await this.getAccount().catch(() => null);\n const isConnected = !!account;\n if (isConnected)\n try {\n await provider.request({\n method: \"wallet_requestPermissions\",\n params: [{ eth_accounts: {} }]\n });\n account = await this.getAccount();\n } catch (error) {\n if (this.isUserRejectedRequestError(error))\n throw new viem__WEBPACK_IMPORTED_MODULE_3__.UserRejectedRequestError(error);\n if (error.code === new viem__WEBPACK_IMPORTED_MODULE_3__.ResourceUnavailableRpcError(error).code)\n throw error;\n }\n }\n if (!account) {\n const accounts = await provider.request({\n method: \"eth_requestAccounts\"\n });\n account = (0,viem__WEBPACK_IMPORTED_MODULE_3__.getAddress)(accounts[0]);\n }\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 }, provider };\n } catch (error) {\n if (this.isUserRejectedRequestError(error))\n throw new viem__WEBPACK_IMPORTED_MODULE_3__.UserRejectedRequestError(error);\n if (error.code === -32002)\n throw new viem__WEBPACK_IMPORTED_MODULE_3__.ResourceUnavailableRpcError(error);\n throw error;\n }\n }\n};\n_UNSTABLE_shimOnConnectSelectAccount = new WeakMap();\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3QvbWV0YU1hc2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFNkI7QUFHQTtBQUNBO0FBTUE7O0FBRTdCO0FBS2M7QUFDZDtBQUNBLHNDQUFzQyxpRUFBaUI7QUFDdkQ7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsWUFBWSxpQkFBaUI7QUFDN0IsSUFBSSxpRUFBYTtBQUNqQixJQUFJLGlFQUFhLCtCQUErQixRQUFRO0FBQ3hELElBQUksZ0VBQVk7QUFDaEIsSUFBSSxnRUFBWTtBQUNoQjtBQUNBLGtCQUFrQixVQUFVLElBQUk7QUFDaEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHNFQUFzQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLG9CQUFvQjtBQUNqRDtBQUNBLFVBQVUsZ0VBQVk7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGtCQUFrQjtBQUMzQyxhQUFhO0FBQ2I7QUFDQSxZQUFZO0FBQ1o7QUFDQSx3QkFBd0IsMERBQXdCO0FBQ2hELG1DQUFtQyw2REFBMkI7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULGtCQUFrQixnREFBVTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0JBQWtCLGlCQUFpQjtBQUNsRCxNQUFNO0FBQ047QUFDQSxrQkFBa0IsMERBQXdCO0FBQzFDO0FBQ0Esa0JBQWtCLDZEQUEyQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL0B3YWdtaS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29ubmVjdG9ycy9kaXN0L21ldGFNYXNrLmpzPzkwNDgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0ZWRDb25uZWN0b3Jcbn0gZnJvbSBcIi4vY2h1bmstWVpSVlVDNlkuanNcIjtcbmltcG9ydCB7XG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3Jcbn0gZnJvbSBcIi4vY2h1bmstWkNBUFhHQlguanNcIjtcbmltcG9ydCBcIi4vY2h1bmstT1FJTFlRRE8uanNcIjtcbmltcG9ydCB7XG4gIF9fcHJpdmF0ZUFkZCxcbiAgX19wcml2YXRlR2V0LFxuICBfX3ByaXZhdGVTZXQsXG4gIF9fcHVibGljRmllbGRcbn0gZnJvbSBcIi4vY2h1bmstUVlNQ1ZOSFQuanNcIjtcblxuLy8gc3JjL21ldGFNYXNrLnRzXG5pbXBvcnQge1xuICBSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IsXG4gIFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcixcbiAgZ2V0QWRkcmVzc1xufSBmcm9tIFwidmllbVwiO1xudmFyIF9VTlNUQUJMRV9zaGltT25Db25uZWN0U2VsZWN0QWNjb3VudDtcbnZhciBNZXRhTWFza0Nvbm5lY3RvciA9IGNsYXNzIGV4dGVuZHMgSW5qZWN0ZWRDb25uZWN0b3Ige1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hhaW5zLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNfXG4gIH0gPSB7fSkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBuYW1lOiBcIk1ldGFNYXNrXCIsXG4gICAgICBzaGltRGlzY29ubmVjdDogdHJ1ZSxcbiAgICAgIGdldFByb3ZpZGVyKCkge1xuICAgICAgICBmdW5jdGlvbiBnZXRSZWFkeShldGhlcmV1bTIpIHtcbiAgICAgICAgICBjb25zdCBpc01ldGFNYXNrID0gISFldGhlcmV1bTI/LmlzTWV0YU1hc2s7XG4gICAgICAgICAgaWYgKCFpc01ldGFNYXNrKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGlmIChldGhlcmV1bTIuaXNCcmF2ZVdhbGxldCAmJiAhZXRoZXJldW0yLl9ldmVudHMgJiYgIWV0aGVyZXVtMi5fc3RhdGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc0FwZXhXYWxsZXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc0F2YWxhbmNoZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBpZiAoZXRoZXJldW0yLmlzQml0S2VlcClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBpZiAoZXRoZXJldW0yLmlzQmxvY2tXYWxsZXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc0NvaW45OClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBpZiAoZXRoZXJldW0yLmlzRm9yZGVmaSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBpZiAoZXRoZXJldW0yLmlzTWF0aFdhbGxldClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBpZiAoZXRoZXJldW0yLmlzT2t4V2FsbGV0IHx8IGV0aGVyZXVtMi5pc09LRXhXYWxsZXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc09uZUluY2hJT1NXYWxsZXQgfHwgZXRoZXJldW0yLmlzT25lSW5jaEFuZHJvaWRXYWxsZXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc09wZXJhKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGlmIChldGhlcmV1bTIuaXNQb3J0YWwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc1JhYmJ5KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGlmIChldGhlcmV1bTIuaXNEZWZpYW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGlmIChldGhlcmV1bTIuaXNUb2tlblBvY2tldClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBpZiAoZXRoZXJldW0yLmlzVG9rZW5hcnkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgaWYgKGV0aGVyZXVtMi5pc1plcmlvbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICByZXR1cm4gZXRoZXJldW0yO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZXRoZXJldW0gPSB3aW5kb3cuZXRoZXJldW07XG4gICAgICAgIGlmIChldGhlcmV1bT8ucHJvdmlkZXJzKVxuICAgICAgICAgIHJldHVybiBldGhlcmV1bS5wcm92aWRlcnMuZmluZChnZXRSZWFkeSk7XG4gICAgICAgIHJldHVybiBnZXRSZWFkeShldGhlcmV1bSk7XG4gICAgICB9LFxuICAgICAgLi4ub3B0aW9uc19cbiAgICB9O1xuICAgIHN1cGVyKHsgY2hhaW5zLCBvcHRpb25zIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJpZFwiLCBcIm1ldGFNYXNrXCIpO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJzaGltRGlzY29ubmVjdEtleVwiLCBgJHt0aGlzLmlkfS5zaGltRGlzY29ubmVjdGApO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfVU5TVEFCTEVfc2hpbU9uQ29ubmVjdFNlbGVjdEFjY291bnQsIHZvaWQgMCk7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9VTlNUQUJMRV9zaGltT25Db25uZWN0U2VsZWN0QWNjb3VudCwgb3B0aW9ucy5VTlNUQUJMRV9zaGltT25Db25uZWN0U2VsZWN0QWNjb3VudCk7XG4gIH1cbiAgYXN5bmMgY29ubmVjdCh7IGNoYWluSWQgfSA9IHt9KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgICAgaWYgKCFwcm92aWRlcilcbiAgICAgICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgICAgIGlmIChwcm92aWRlci5vbikge1xuICAgICAgICBwcm92aWRlci5vbihcImFjY291bnRzQ2hhbmdlZFwiLCB0aGlzLm9uQWNjb3VudHNDaGFuZ2VkKTtcbiAgICAgICAgcHJvdmlkZXIub24oXCJjaGFpbkNoYW5nZWRcIiwgdGhpcy5vbkNoYWluQ2hhbmdlZCk7XG4gICAgICAgIHByb3ZpZGVyLm9uKFwiZGlzY29ubmVjdFwiLCB0aGlzLm9uRGlzY29ubmVjdCk7XG4gICAgICB9XG4gICAgICB0aGlzLmVtaXQoXCJtZXNzYWdlXCIsIHsgdHlwZTogXCJjb25uZWN0aW5nXCIgfSk7XG4gICAgICBsZXQgYWNjb3VudCA9IG51bGw7XG4gICAgICBpZiAoX19wcml2YXRlR2V0KHRoaXMsIF9VTlNUQUJMRV9zaGltT25Db25uZWN0U2VsZWN0QWNjb3VudCkgJiYgdGhpcy5vcHRpb25zPy5zaGltRGlzY29ubmVjdCAmJiAhdGhpcy5zdG9yYWdlPy5nZXRJdGVtKHRoaXMuc2hpbURpc2Nvbm5lY3RLZXkpKSB7XG4gICAgICAgIGFjY291bnQgPSBhd2FpdCB0aGlzLmdldEFjY291bnQoKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgICAgY29uc3QgaXNDb25uZWN0ZWQgPSAhIWFjY291bnQ7XG4gICAgICAgIGlmIChpc0Nvbm5lY3RlZClcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgcHJvdmlkZXIucmVxdWVzdCh7XG4gICAgICAgICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfcmVxdWVzdFBlcm1pc3Npb25zXCIsXG4gICAgICAgICAgICAgIHBhcmFtczogW3sgZXRoX2FjY291bnRzOiB7fSB9XVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBhY2NvdW50ID0gYXdhaXQgdGhpcy5nZXRBY2NvdW50KCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVXNlclJlamVjdGVkUmVxdWVzdEVycm9yKGVycm9yKSlcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcik7XG4gICAgICAgICAgICBpZiAoZXJyb3IuY29kZSA9PT0gbmV3IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcihlcnJvcikuY29kZSlcbiAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFhY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgcHJvdmlkZXIucmVxdWVzdCh7XG4gICAgICAgICAgbWV0aG9kOiBcImV0aF9yZXF1ZXN0QWNjb3VudHNcIlxuICAgICAgICB9KTtcbiAgICAgICAgYWNjb3VudCA9IGdldEFkZHJlc3MoYWNjb3VudHNbMF0pO1xuICAgICAgfVxuICAgICAgbGV0IGlkID0gYXdhaXQgdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgICBsZXQgdW5zdXBwb3J0ZWQgPSB0aGlzLmlzQ2hhaW5VbnN1cHBvcnRlZChpZCk7XG4gICAgICBpZiAoY2hhaW5JZCAmJiBpZCAhPT0gY2hhaW5JZCkge1xuICAgICAgICBjb25zdCBjaGFpbiA9IGF3YWl0IHRoaXMuc3dpdGNoQ2hhaW4oY2hhaW5JZCk7XG4gICAgICAgIGlkID0gY2hhaW4uaWQ7XG4gICAgICAgIHVuc3VwcG9ydGVkID0gdGhpcy5pc0NoYWluVW5zdXBwb3J0ZWQoaWQpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8uc2hpbURpc2Nvbm5lY3QpXG4gICAgICAgIHRoaXMuc3RvcmFnZT8uc2V0SXRlbSh0aGlzLnNoaW1EaXNjb25uZWN0S2V5LCB0cnVlKTtcbiAgICAgIHJldHVybiB7IGFjY291bnQsIGNoYWluOiB7IGlkLCB1bnN1cHBvcnRlZCB9LCBwcm92aWRlciB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAodGhpcy5pc1VzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcikpXG4gICAgICAgIHRocm93IG5ldyBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IoZXJyb3IpO1xuICAgICAgaWYgKGVycm9yLmNvZGUgPT09IC0zMjAwMilcbiAgICAgICAgdGhyb3cgbmV3IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcihlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn07XG5fVU5TVEFCTEVfc2hpbU9uQ29ubmVjdFNlbGVjdEFjY291bnQgPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IHtcbiAgTWV0YU1hc2tDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/metaMask.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/safe.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/safe.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SafeConnector: function() { return /* binding */ SafeConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chunk-ZCAPXGBX.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js\");\n/* harmony import */ var _chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./chunk-OQILYQDO.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js\");\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n/* harmony import */ var _safe_global_safe_apps_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @safe-global/safe-apps-provider */ \"./node_modules/@safe-global/safe-apps-provider/dist/index.js\");\n/* harmony import */ var _safe_global_safe_apps_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @safe-global/safe-apps-sdk */ \"./node_modules/@safe-global/safe-apps-sdk/dist/src/index.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n\n\n\n\n// src/safe.ts\n\n\n\nvar _provider, _sdk;\nvar SafeConnector = class extends _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.Connector {\n constructor({\n chains,\n options: options_\n }) {\n const options = {\n shimDisconnect: false,\n ...options_\n };\n super({ chains, options });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__publicField)(this, \"id\", \"safe\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__publicField)(this, \"name\", \"Safe\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__publicField)(this, \"ready\", !(typeof window === \"undefined\") && window?.parent !== window);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateAdd)(this, _provider, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateAdd)(this, _sdk, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__publicField)(this, \"shimDisconnectKey\", `${this.id}.shimDisconnect`);\n let SDK = _safe_global_safe_apps_sdk__WEBPACK_IMPORTED_MODULE_2__;\n if (typeof _safe_global_safe_apps_sdk__WEBPACK_IMPORTED_MODULE_2__ !== \"function\" && typeof _safe_global_safe_apps_sdk__WEBPACK_IMPORTED_MODULE_2__[\"default\"] === \"function\")\n SDK = _safe_global_safe_apps_sdk__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateSet)(this, _sdk, new SDK(options));\n }\n async connect() {\n const provider = await this.getProvider();\n if (!provider)\n throw new _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.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 account = await this.getAccount();\n const id = await this.getChainId();\n if (this.options.shimDisconnect)\n this.storage?.setItem(this.shimDisconnectKey, true);\n return {\n account,\n chain: { id, unsupported: this.isChainUnsupported(id) }\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 _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.ConnectorNotFoundError();\n const accounts = await provider.request({\n method: \"eth_accounts\"\n });\n return (0,viem__WEBPACK_IMPORTED_MODULE_4__.getAddress)(accounts[0]);\n }\n async getChainId() {\n const provider = await this.getProvider();\n if (!provider)\n throw new _chunk_ZCAPXGBX_js__WEBPACK_IMPORTED_MODULE_3__.ConnectorNotFoundError();\n return (0,_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_5__.normalizeChainId)(provider.chainId);\n }\n async getProvider() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateGet)(this, _provider)) {\n const safe = await (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateGet)(this, _sdk).safe.getInfo();\n if (!safe)\n throw new Error(\"Could not load Safe information\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateSet)(this, _provider, new _safe_global_safe_apps_provider__WEBPACK_IMPORTED_MODULE_0__.SafeAppProvider(safe, (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateGet)(this, _sdk)));\n }\n return (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_1__.__privateGet)(this, _provider);\n }\n async getWalletClient({\n chainId\n } = {}) {\n const provider = await this.getProvider();\n const account = await this.getAccount();\n const chain = this.chains.find((x) => x.id === chainId);\n if (!provider)\n throw new Error(\"provider is required.\");\n return (0,viem__WEBPACK_IMPORTED_MODULE_4__.createWalletClient)({\n account,\n chain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_4__.custom)(provider)\n });\n }\n async isAuthorized() {\n try {\n if (this.options.shimDisconnect && !this.storage?.getItem(this.shimDisconnectKey))\n return false;\n const account = await this.getAccount();\n return !!account;\n } catch {\n return false;\n }\n }\n onAccountsChanged(_accounts) {\n }\n onChainChanged(_chainId) {\n }\n onDisconnect() {\n this.emit(\"disconnect\");\n }\n};\n_provider = new WeakMap();\n_sdk = new WeakMap();\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3Qvc2FmZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBRTZCO0FBR0E7QUFPQTs7QUFFN0I7QUFDa0U7QUFDRTtBQUNOO0FBQzlEO0FBQ0Esa0NBQWtDLHlEQUFTO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksaUJBQWlCO0FBQzdCLElBQUksaUVBQWE7QUFDakIsSUFBSSxpRUFBYTtBQUNqQixJQUFJLGlFQUFhO0FBQ2pCLElBQUksZ0VBQVk7QUFDaEIsSUFBSSxnRUFBWTtBQUNoQixJQUFJLGlFQUFhLCtCQUErQixRQUFRO0FBQ3hELGNBQWMsdURBQVc7QUFDekIsZUFBZSx1REFBVywwQkFBMEIsa0VBQW1CO0FBQ3ZFLFlBQVksa0VBQW1CO0FBQy9CLElBQUksZ0VBQVk7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isc0VBQXNCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsb0JBQW9CO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isc0VBQXNCO0FBQ3RDO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsV0FBVyxnREFBVTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixzRUFBc0I7QUFDdEMsV0FBVyxvRUFBZ0I7QUFDM0I7QUFDQTtBQUNBLFNBQVMsZ0VBQVk7QUFDckIseUJBQXlCLGdFQUFZO0FBQ3JDO0FBQ0E7QUFDQSxNQUFNLGdFQUFZLHNCQUFzQiw0RUFBZSxPQUFPLGdFQUFZO0FBQzFFO0FBQ0EsV0FBVyxnRUFBWTtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUk7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx3REFBa0I7QUFDN0I7QUFDQTtBQUNBLGlCQUFpQiw0Q0FBTTtBQUN2QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3Qvc2FmZS5qcz9mYTlmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3Jcbn0gZnJvbSBcIi4vY2h1bmstWkNBUFhHQlguanNcIjtcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUNoYWluSWRcbn0gZnJvbSBcIi4vY2h1bmstT1FJTFlRRE8uanNcIjtcbmltcG9ydCB7XG4gIENvbm5lY3RvcixcbiAgX19wcml2YXRlQWRkLFxuICBfX3ByaXZhdGVHZXQsXG4gIF9fcHJpdmF0ZVNldCxcbiAgX19wdWJsaWNGaWVsZFxufSBmcm9tIFwiLi9jaHVuay1RWU1DVk5IVC5qc1wiO1xuXG4vLyBzcmMvc2FmZS50c1xuaW1wb3J0IHsgU2FmZUFwcFByb3ZpZGVyIH0gZnJvbSBcIkBzYWZlLWdsb2JhbC9zYWZlLWFwcHMtcHJvdmlkZXJcIjtcbmltcG9ydCB7IGRlZmF1bHQgYXMgU2FmZUFwcHNTREsgfSBmcm9tIFwiQHNhZmUtZ2xvYmFsL3NhZmUtYXBwcy1zZGtcIjtcbmltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgY3VzdG9tLCBnZXRBZGRyZXNzIH0gZnJvbSBcInZpZW1cIjtcbnZhciBfcHJvdmlkZXIsIF9zZGs7XG52YXIgU2FmZUNvbm5lY3RvciA9IGNsYXNzIGV4dGVuZHMgQ29ubmVjdG9yIHtcbiAgY29uc3RydWN0b3Ioe1xuICAgIGNoYWlucyxcbiAgICBvcHRpb25zOiBvcHRpb25zX1xuICB9KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHNoaW1EaXNjb25uZWN0OiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnNfXG4gICAgfTtcbiAgICBzdXBlcih7IGNoYWlucywgb3B0aW9ucyB9KTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwiaWRcIiwgXCJzYWZlXCIpO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJuYW1lXCIsIFwiU2FmZVwiKTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwicmVhZHlcIiwgISh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSAmJiB3aW5kb3c/LnBhcmVudCAhPT0gd2luZG93KTtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX3Byb3ZpZGVyLCB2b2lkIDApO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfc2RrLCB2b2lkIDApO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJzaGltRGlzY29ubmVjdEtleVwiLCBgJHt0aGlzLmlkfS5zaGltRGlzY29ubmVjdGApO1xuICAgIGxldCBTREsgPSBTYWZlQXBwc1NESztcbiAgICBpZiAodHlwZW9mIFNhZmVBcHBzU0RLICE9PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFNhZmVBcHBzU0RLLmRlZmF1bHQgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgIFNESyA9IFNhZmVBcHBzU0RLLmRlZmF1bHQ7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9zZGssIG5ldyBTREsob3B0aW9ucykpO1xuICB9XG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgaWYgKCFwcm92aWRlcilcbiAgICAgIHRocm93IG5ldyBDb25uZWN0b3JOb3RGb3VuZEVycm9yKCk7XG4gICAgaWYgKHByb3ZpZGVyLm9uKSB7XG4gICAgICBwcm92aWRlci5vbihcImFjY291bnRzQ2hhbmdlZFwiLCB0aGlzLm9uQWNjb3VudHNDaGFuZ2VkKTtcbiAgICAgIHByb3ZpZGVyLm9uKFwiY2hhaW5DaGFuZ2VkXCIsIHRoaXMub25DaGFpbkNoYW5nZWQpO1xuICAgICAgcHJvdmlkZXIub24oXCJkaXNjb25uZWN0XCIsIHRoaXMub25EaXNjb25uZWN0KTtcbiAgICB9XG4gICAgdGhpcy5lbWl0KFwibWVzc2FnZVwiLCB7IHR5cGU6IFwiY29ubmVjdGluZ1wiIH0pO1xuICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCB0aGlzLmdldEFjY291bnQoKTtcbiAgICBjb25zdCBpZCA9IGF3YWl0IHRoaXMuZ2V0Q2hhaW5JZCgpO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuc2hpbURpc2Nvbm5lY3QpXG4gICAgICB0aGlzLnN0b3JhZ2U/LnNldEl0ZW0odGhpcy5zaGltRGlzY29ubmVjdEtleSwgdHJ1ZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnQsXG4gICAgICBjaGFpbjogeyBpZCwgdW5zdXBwb3J0ZWQ6IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKSB9XG4gICAgfTtcbiAgfVxuICBhc3luYyBkaXNjb25uZWN0KCkge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIGlmICghcHJvdmlkZXI/LnJlbW92ZUxpc3RlbmVyKVxuICAgICAgcmV0dXJuO1xuICAgIHByb3ZpZGVyLnJlbW92ZUxpc3RlbmVyKFwiYWNjb3VudHNDaGFuZ2VkXCIsIHRoaXMub25BY2NvdW50c0NoYW5nZWQpO1xuICAgIHByb3ZpZGVyLnJlbW92ZUxpc3RlbmVyKFwiY2hhaW5DaGFuZ2VkXCIsIHRoaXMub25DaGFpbkNoYW5nZWQpO1xuICAgIHByb3ZpZGVyLnJlbW92ZUxpc3RlbmVyKFwiZGlzY29ubmVjdFwiLCB0aGlzLm9uRGlzY29ubmVjdCk7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zaGltRGlzY29ubmVjdClcbiAgICAgIHRoaXMuc3RvcmFnZT8ucmVtb3ZlSXRlbSh0aGlzLnNoaW1EaXNjb25uZWN0S2V5KTtcbiAgfVxuICBhc3luYyBnZXRBY2NvdW50KCkge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIGlmICghcHJvdmlkZXIpXG4gICAgICB0aHJvdyBuZXcgQ29ubmVjdG9yTm90Rm91bmRFcnJvcigpO1xuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgcHJvdmlkZXIucmVxdWVzdCh7XG4gICAgICBtZXRob2Q6IFwiZXRoX2FjY291bnRzXCJcbiAgICB9KTtcbiAgICByZXR1cm4gZ2V0QWRkcmVzcyhhY2NvdW50c1swXSk7XG4gIH1cbiAgYXN5bmMgZ2V0Q2hhaW5JZCgpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IENvbm5lY3Rvck5vdEZvdW5kRXJyb3IoKTtcbiAgICByZXR1cm4gbm9ybWFsaXplQ2hhaW5JZChwcm92aWRlci5jaGFpbklkKTtcbiAgfVxuICBhc3luYyBnZXRQcm92aWRlcigpIHtcbiAgICBpZiAoIV9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpKSB7XG4gICAgICBjb25zdCBzYWZlID0gYXdhaXQgX19wcml2YXRlR2V0KHRoaXMsIF9zZGspLnNhZmUuZ2V0SW5mbygpO1xuICAgICAgaWYgKCFzYWZlKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgbG9hZCBTYWZlIGluZm9ybWF0aW9uXCIpO1xuICAgICAgX19wcml2YXRlU2V0KHRoaXMsIF9wcm92aWRlciwgbmV3IFNhZmVBcHBQcm92aWRlcihzYWZlLCBfX3ByaXZhdGVHZXQodGhpcywgX3NkaykpKTtcbiAgICB9XG4gICAgcmV0dXJuIF9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpO1xuICB9XG4gIGFzeW5jIGdldFdhbGxldENsaWVudCh7XG4gICAgY2hhaW5JZFxuICB9ID0ge30pIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBjb25zdCBhY2NvdW50ID0gYXdhaXQgdGhpcy5nZXRBY2NvdW50KCk7XG4gICAgY29uc3QgY2hhaW4gPSB0aGlzLmNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicHJvdmlkZXIgaXMgcmVxdWlyZWQuXCIpO1xuICAgIHJldHVybiBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICAgICAgYWNjb3VudCxcbiAgICAgIGNoYWluLFxuICAgICAgdHJhbnNwb3J0OiBjdXN0b20ocHJvdmlkZXIpXG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgaXNBdXRob3JpemVkKCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNoaW1EaXNjb25uZWN0ICYmICF0aGlzLnN0b3JhZ2U/LmdldEl0ZW0odGhpcy5zaGltRGlzY29ubmVjdEtleSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCB0aGlzLmdldEFjY291bnQoKTtcbiAgICAgIHJldHVybiAhIWFjY291bnQ7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIG9uQWNjb3VudHNDaGFuZ2VkKF9hY2NvdW50cykge1xuICB9XG4gIG9uQ2hhaW5DaGFuZ2VkKF9jaGFpbklkKSB7XG4gIH1cbiAgb25EaXNjb25uZWN0KCkge1xuICAgIHRoaXMuZW1pdChcImRpc2Nvbm5lY3RcIik7XG4gIH1cbn07XG5fcHJvdmlkZXIgPSBuZXcgV2Vha01hcCgpO1xuX3NkayA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQge1xuICBTYWZlQ29ubmVjdG9yXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/safe.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js ***! - \***************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectConnector: function() { return /* binding */ WalletConnectConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/utils */ \"./node_modules/@walletconnect/utils/dist/index.es.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n\n\n// src/walletConnect.ts\n\n\nvar NAMESPACE = \"eip155\";\nvar STORE_KEY = \"store\";\nvar REQUESTED_CHAINS_KEY = \"requestedChains\";\nvar ADD_ETH_CHAIN_METHOD = \"wallet_addEthereumChain\";\nvar _provider, _initProviderPromise, _createProvider, createProvider_fn, _initProvider, initProvider_fn, _isChainsStale, isChainsStale_fn, _setupListeners, setupListeners_fn, _removeListeners, removeListeners_fn, _setRequestedChainsIds, setRequestedChainsIds_fn, _getRequestedChainsIds, getRequestedChainsIds_fn, _getNamespaceChainsIds, getNamespaceChainsIds_fn, _getNamespaceMethods, getNamespaceMethods_fn;\nvar WalletConnectConnector = class extends _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.Connector {\n constructor(config) {\n super({\n ...config,\n options: { isNewChainsStale: true, ...config.options }\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _createProvider);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _initProvider);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _isChainsStale);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _setupListeners);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _removeListeners);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _setRequestedChainsIds);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _getRequestedChainsIds);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _getNamespaceChainsIds);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _getNamespaceMethods);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"id\", \"walletConnect\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"name\", \"WalletConnect\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"ready\", true);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _provider, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _initProviderPromise, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", { account: (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]) });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onChainChanged\", (chainId) => {\n const id = Number(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onDisconnect\", () => {\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, []);\n this.emit(\"disconnect\");\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onDisplayUri\", (uri) => {\n this.emit(\"message\", { type: \"display_uri\", data: uri });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onConnect\", () => {\n this.emit(\"connect\", {});\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _createProvider, createProvider_fn).call(this);\n }\n async connect({ chainId, pairingTopic } = {}) {\n try {\n let targetChainId = chainId;\n if (!targetChainId) {\n const store = this.storage?.getItem(STORE_KEY);\n const lastUsedChainId = store?.state?.data?.chain?.id;\n if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId))\n targetChainId = lastUsedChainId;\n else\n targetChainId = this.chains[0]?.id;\n }\n if (!targetChainId)\n throw new Error(\"No chains found on connector.\");\n const provider = await this.getProvider();\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _setupListeners, setupListeners_fn).call(this);\n const isChainsStale = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _isChainsStale, isChainsStale_fn).call(this);\n if (provider.session && isChainsStale)\n await provider.disconnect();\n if (!provider.session || isChainsStale) {\n const optionalChains = this.chains.filter((chain) => chain.id !== targetChainId).map((optionalChain) => optionalChain.id);\n this.emit(\"message\", { type: \"connecting\" });\n await provider.connect({\n pairingTopic,\n chains: [targetChainId],\n optionalChains: optionalChains.length ? optionalChains : void 0\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, this.chains.map(({ id: id2 }) => id2));\n }\n const accounts = await provider.enable();\n const account = (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]);\n const id = await this.getChainId();\n const unsupported = this.isChainUnsupported(id);\n return {\n account,\n chain: { id, unsupported }\n };\n } catch (error) {\n if (/user rejected/i.test(error?.message)) {\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n }\n throw error;\n }\n }\n async disconnect() {\n const provider = await this.getProvider();\n try {\n await provider.disconnect();\n } catch (error) {\n if (!/No matching key/i.test(error.message))\n throw error;\n } finally {\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _removeListeners, removeListeners_fn).call(this);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, []);\n }\n }\n async getAccount() {\n const { accounts } = await this.getProvider();\n return (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]);\n }\n async getChainId() {\n const { chainId } = await this.getProvider();\n return chainId;\n }\n async getProvider({ chainId } = {}) {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider))\n await (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _createProvider, createProvider_fn).call(this);\n if (chainId)\n await this.switchChain(chainId);\n return (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider);\n }\n async getWalletClient({\n chainId\n } = {}) {\n const [provider, account] = await Promise.all([\n this.getProvider({ chainId }),\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 (0,viem__WEBPACK_IMPORTED_MODULE_1__.createWalletClient)({\n account,\n chain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_1__.custom)(provider)\n });\n }\n async isAuthorized() {\n try {\n const [account, provider] = await Promise.all([\n this.getAccount(),\n this.getProvider()\n ]);\n const isChainsStale = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _isChainsStale, isChainsStale_fn).call(this);\n if (!account)\n return false;\n if (isChainsStale && provider.session) {\n try {\n await provider.disconnect();\n } catch {\n }\n return false;\n }\n return true;\n } catch {\n return false;\n }\n }\n async switchChain(chainId) {\n const chain = this.chains.find((chain2) => chain2.id === chainId);\n if (!chain)\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.SwitchChainError(new Error(\"chain not found on connector.\"));\n try {\n const provider = await this.getProvider();\n const namespaceChains = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _getNamespaceChainsIds, getNamespaceChainsIds_fn).call(this);\n const namespaceMethods = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _getNamespaceMethods, getNamespaceMethods_fn).call(this);\n const isChainApproved = namespaceChains.includes(chainId);\n if (!isChainApproved && namespaceMethods.includes(ADD_ETH_CHAIN_METHOD)) {\n await provider.request({\n method: ADD_ETH_CHAIN_METHOD,\n params: [\n {\n chainId: (0,viem__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(chain.id),\n blockExplorerUrls: [chain.blockExplorers?.default?.url],\n chainName: chain.name,\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: [...chain.rpcUrls.default.http]\n }\n ]\n });\n const requestedChains = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _getRequestedChainsIds, getRequestedChainsIds_fn).call(this);\n requestedChains.push(chainId);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _setRequestedChainsIds, setRequestedChainsIds_fn).call(this, requestedChains);\n }\n await provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: (0,viem__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(chainId) }]\n });\n return chain;\n } catch (error) {\n const message = typeof error === \"string\" ? error : error?.message;\n if (/user rejected request/i.test(message)) {\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n }\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.SwitchChainError(error);\n }\n }\n};\n_provider = new WeakMap();\n_initProviderPromise = new WeakMap();\n_createProvider = new WeakSet();\ncreateProvider_fn = async function() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _initProviderPromise) && typeof window !== \"undefined\") {\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateSet)(this, _initProviderPromise, (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _initProvider, initProvider_fn).call(this));\n }\n return (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _initProviderPromise);\n};\n_initProvider = new WeakSet();\ninitProvider_fn = async function() {\n const { EthereumProvider, OPTIONAL_EVENTS, OPTIONAL_METHODS } = await __webpack_require__.e(/*! import() */ \"node_modules_walletconnect_ethereum-provider_dist_index_es_js\").then(__webpack_require__.bind(__webpack_require__, /*! @walletconnect/ethereum-provider */ \"./node_modules/@walletconnect/ethereum-provider/dist/index.es.js\"));\n const [defaultChain, ...optionalChains] = this.chains.map(({ id }) => id);\n if (defaultChain) {\n const {\n projectId,\n showQrModal = true,\n qrModalOptions,\n metadata,\n relayUrl\n } = this.options;\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateSet)(this, _provider, await EthereumProvider.init({\n showQrModal,\n qrModalOptions,\n projectId,\n optionalMethods: OPTIONAL_METHODS,\n optionalEvents: OPTIONAL_EVENTS,\n chains: [defaultChain],\n optionalChains: optionalChains.length ? optionalChains : void 0,\n rpcMap: Object.fromEntries(\n this.chains.map((chain) => [\n chain.id,\n chain.rpcUrls.default.http[0]\n ])\n ),\n metadata,\n relayUrl\n }));\n }\n};\n_isChainsStale = new WeakSet();\nisChainsStale_fn = function() {\n const namespaceMethods = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _getNamespaceMethods, getNamespaceMethods_fn).call(this);\n if (namespaceMethods.includes(ADD_ETH_CHAIN_METHOD))\n return false;\n if (!this.options.isNewChainsStale)\n return false;\n const requestedChains = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _getRequestedChainsIds, getRequestedChainsIds_fn).call(this);\n const connectorChains = this.chains.map(({ id }) => id);\n const namespaceChains = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _getNamespaceChainsIds, getNamespaceChainsIds_fn).call(this);\n if (namespaceChains.length && !namespaceChains.some((id) => connectorChains.includes(id)))\n return false;\n return !connectorChains.every((id) => requestedChains.includes(id));\n};\n_setupListeners = new WeakSet();\nsetupListeners_fn = function() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider))\n return;\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _removeListeners, removeListeners_fn).call(this);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).on(\"accountsChanged\", this.onAccountsChanged);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).on(\"chainChanged\", this.onChainChanged);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).on(\"disconnect\", this.onDisconnect);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).on(\"session_delete\", this.onDisconnect);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).on(\"display_uri\", this.onDisplayUri);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).on(\"connect\", this.onConnect);\n};\n_removeListeners = new WeakSet();\nremoveListeners_fn = function() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider))\n return;\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).removeListener(\"accountsChanged\", this.onAccountsChanged);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).removeListener(\"chainChanged\", this.onChainChanged);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).removeListener(\"disconnect\", this.onDisconnect);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).removeListener(\"session_delete\", this.onDisconnect);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).removeListener(\"display_uri\", this.onDisplayUri);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).removeListener(\"connect\", this.onConnect);\n};\n_setRequestedChainsIds = new WeakSet();\nsetRequestedChainsIds_fn = function(chains) {\n this.storage?.setItem(REQUESTED_CHAINS_KEY, chains);\n};\n_getRequestedChainsIds = new WeakSet();\ngetRequestedChainsIds_fn = function() {\n return this.storage?.getItem(REQUESTED_CHAINS_KEY) ?? [];\n};\n_getNamespaceChainsIds = new WeakSet();\ngetNamespaceChainsIds_fn = function() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider))\n return [];\n const namespaces = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).session?.namespaces;\n if (!namespaces)\n return [];\n const normalizedNamespaces = (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeNamespaces)(namespaces);\n const chainIds = normalizedNamespaces[NAMESPACE]?.chains?.map(\n (chain) => parseInt(chain.split(\":\")[1] || \"\")\n );\n return chainIds ?? [];\n};\n_getNamespaceMethods = new WeakSet();\ngetNamespaceMethods_fn = function() {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider))\n return [];\n const namespaces = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).session?.namespaces;\n if (!namespaces)\n return [];\n const normalizedNamespaces = (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeNamespaces)(namespaces);\n const methods = normalizedNamespaces[NAMESPACE]?.methods;\n return methods ?? [];\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3Qvd2FsbGV0Q29ubmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTzZCOztBQUU3QjtBQUMyRDtBQVE3QztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMseURBQVM7QUFDcEQ7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLEtBQUs7QUFDTCxJQUFJLGdFQUFZO0FBQ2hCLElBQUksZ0VBQVk7QUFDaEIsSUFBSSxnRUFBWTtBQUNoQixJQUFJLGdFQUFZO0FBQ2hCLElBQUksZ0VBQVk7QUFDaEIsSUFBSSxnRUFBWTtBQUNoQixJQUFJLGdFQUFZO0FBQ2hCLElBQUksZ0VBQVk7QUFDaEIsSUFBSSxnRUFBWTtBQUNoQixJQUFJLGlFQUFhO0FBQ2pCLElBQUksaUVBQWE7QUFDakIsSUFBSSxpRUFBYTtBQUNqQixJQUFJLGdFQUFZO0FBQ2hCLElBQUksZ0VBQVk7QUFDaEIsSUFBSSxpRUFBYTtBQUNqQjtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsU0FBUyxnREFBVSxlQUFlO0FBQ2hFLEtBQUs7QUFDTCxJQUFJLGlFQUFhO0FBQ2pCO0FBQ0E7QUFDQSw0QkFBNEIsU0FBUyxtQkFBbUI7QUFDeEQsS0FBSztBQUNMLElBQUksaUVBQWE7QUFDakIsTUFBTSxtRUFBZTtBQUNyQjtBQUNBLEtBQUs7QUFDTCxJQUFJLGlFQUFhO0FBQ2pCLDZCQUE2QixnQ0FBZ0M7QUFDN0QsS0FBSztBQUNMLElBQUksaUVBQWE7QUFDakIsNkJBQTZCO0FBQzdCLEtBQUs7QUFDTCxJQUFJLG1FQUFlO0FBQ25CO0FBQ0Esa0JBQWtCLHdCQUF3QixJQUFJO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxtRUFBZTtBQUNyQiw0QkFBNEIsbUVBQWU7QUFDM0M7QUFDQTtBQUNBO0FB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sZ0VBQVk7QUFDbkI7QUFDQSxxQkFBcUIsZ0VBQVk7QUFDakM7QUFDQTtBQUNBLCtCQUErQix5RUFBbUI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGdFQUFZO0FBQ25CO0FBQ0EscUJBQXFCLGdFQUFZO0FBQ2pDO0FBQ0E7QUFDQSwrQkFBK0IseUVBQW1CO0FBQ2xEO0FBQ0E7QUFDQTtBQUdFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9ub2RlX21vZHVsZXMvQHdhZ21pL2Nvbm5lY3RvcnMvZGlzdC93YWxsZXRDb25uZWN0LmpzP2M3NDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdG9yLFxuICBfX3ByaXZhdGVBZGQsXG4gIF9fcHJpdmF0ZUdldCxcbiAgX19wcml2YXRlTWV0aG9kLFxuICBfX3ByaXZhdGVTZXQsXG4gIF9fcHVibGljRmllbGRcbn0gZnJvbSBcIi4vY2h1bmstUVlNQ1ZOSFQuanNcIjtcblxuLy8gc3JjL3dhbGxldENvbm5lY3QudHNcbmltcG9ydCB7IG5vcm1hbGl6ZU5hbWVzcGFjZXMgfSBmcm9tIFwiQHdhbGxldGNvbm5lY3QvdXRpbHNcIjtcbmltcG9ydCB7XG4gIFN3aXRjaENoYWluRXJyb3IsXG4gIFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcixcbiAgY3JlYXRlV2FsbGV0Q2xpZW50LFxuICBjdXN0b20sXG4gIGdldEFkZHJlc3MsXG4gIG51bWJlclRvSGV4XG59IGZyb20gXCJ2aWVtXCI7XG52YXIgTkFNRVNQQUNFID0gXCJlaXAxNTVcIjtcbnZhciBTVE9SRV9LRVkgPSBcInN0b3JlXCI7XG52YXIgUkVRVUVTVEVEX0NIQUlOU19LRVkgPSBcInJlcXVlc3RlZENoYWluc1wiO1xudmFyIEFERF9FVEhfQ0hBSU5fTUVUSE9EID0gXCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpblwiO1xudmFyIF9wcm92aWRlciwgX2luaXRQcm92aWRlclByb21pc2UsIF9jcmVhdGVQcm92aWRlciwgY3JlYXRlUHJvdmlkZXJfZm4sIF9pbml0UHJvdmlkZXIsIGluaXRQcm92aWRlcl9mbiwgX2lzQ2hhaW5zU3RhbGUsIGlzQ2hhaW5zU3RhbGVfZm4sIF9zZXR1cExpc3RlbmVycywgc2V0dXBMaXN0ZW5lcnNfZm4sIF9yZW1vdmVMaXN0ZW5lcnMsIHJlbW92ZUxpc3RlbmVyc19mbiwgX3NldFJlcXVlc3RlZENoYWluc0lkcywgc2V0UmVxdWVzdGVkQ2hhaW5zSWRzX2ZuLCBfZ2V0UmVxdWVzdGVkQ2hhaW5zSWRzLCBnZXRSZXF1ZXN0ZWRDaGFpbnNJZHNfZm4sIF9nZXROYW1lc3BhY2VDaGFpbnNJZHMsIGdldE5hbWVzcGFjZUNoYWluc0lkc19mbiwgX2dldE5hbWVzcGFjZU1ldGhvZHMsIGdldE5hbWVzcGFjZU1ldGhvZHNfZm47XG52YXIgV2FsbGV0Q29ubmVjdENvbm5lY3RvciA9IGNsYXNzIGV4dGVuZHMgQ29ubmVjdG9yIHtcbiAgY29uc3RydWN0b3IoY29uZmlnKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgb3B0aW9uczogeyBpc05ld0NoYWluc1N0YWxlOiB0cnVlLCAuLi5jb25maWcub3B0aW9ucyB9XG4gICAgfSk7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9jcmVhdGVQcm92aWRlcik7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9pbml0UHJvdmlkZXIpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfaXNDaGFpbnNTdGFsZSk7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9zZXR1cExpc3RlbmVycyk7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9yZW1vdmVMaXN0ZW5lcnMpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfc2V0UmVxdWVzdGVkQ2hhaW5zSWRzKTtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX2dldFJlcXVlc3RlZENoYWluc0lkcyk7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9nZXROYW1lc3BhY2VDaGFpbnNJZHMpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfZ2V0TmFtZXNwYWNlTWV0aG9kcyk7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcImlkXCIsIFwid2FsbGV0Q29ubmVjdFwiKTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwibmFtZVwiLCBcIldhbGxldENvbm5lY3RcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcInJlYWR5XCIsIHRydWUpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfcHJvdmlkZXIsIHZvaWQgMCk7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9pbml0UHJvdmlkZXJQcm9taXNlLCB2b2lkIDApO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkFjY291bnRzQ2hhbmdlZFwiLCAoYWNjb3VudHMpID0+IHtcbiAgICAgIGlmIChhY2NvdW50cy5sZW5ndGggPT09IDApXG4gICAgICAgIHRoaXMuZW1pdChcImRpc2Nvbm5lY3RcIik7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMuZW1pdChcImNoYW5nZVwiLCB7IGFjY291bnQ6IGdldEFkZHJlc3MoYWNjb3VudHNbMF0pIH0pO1xuICAgIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkNoYWluQ2hhbmdlZFwiLCAoY2hhaW5JZCkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBOdW1iZXIoY2hhaW5JZCk7XG4gICAgICBjb25zdCB1bnN1cHBvcnRlZCA9IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKTtcbiAgICAgIHRoaXMuZW1pdChcImNoYW5nZVwiLCB7IGNoYWluOiB7IGlkLCB1bnN1cHBvcnRlZCB9IH0pO1xuICAgIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkRpc2Nvbm5lY3RcIiwgKCkgPT4ge1xuICAgICAgX19wcml2YXRlTWV0aG9kKHRoaXMsIF9zZXRSZXF1ZXN0ZWRDaGFpbnNJZHMsIHNldFJlcXVlc3RlZENoYWluc0lkc19mbikuY2FsbCh0aGlzLCBbXSk7XG4gICAgICB0aGlzLmVtaXQoXCJkaXNjb25uZWN0XCIpO1xuICAgIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkRpc3BsYXlVcmlcIiwgKHVyaSkgPT4ge1xuICAgICAgdGhpcy5lbWl0KFwibWVzc2FnZVwiLCB7IHR5cGU6IFwiZGlzcGxheV91cmlcIiwgZGF0YTogdXJpIH0pO1xuICAgIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkNvbm5lY3RcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5lbWl0KFwiY29ubmVjdFwiLCB7fSk7XG4gICAgfSk7XG4gICAgX19wcml2YXRlTWV0aG9kKHRoaXMsIF9jcmVhdGVQcm92aWRlciwgY3JlYXRlUHJvdmlkZXJfZm4pLmNhbGwodGhpcyk7XG4gIH1cbiAgYXN5bmMgY29ubmVjdCh7IGNoYWluSWQsIHBhaXJpbmdUb3BpYyB9ID0ge30pIHtcbiAgICB0cnkge1xuICAgICAgbGV0IHRhcmdldENoYWluSWQgPSBjaGFpbklkO1xuICAgICAgaWYgKCF0YXJnZXRDaGFpbklkKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gdGhpcy5zdG9yYWdlPy5nZXRJdGVtKFNUT1JFX0tFWSk7XG4gICAgICAgIGNvbnN0IGxhc3RVc2VkQ2hhaW5JZCA9IHN0b3JlPy5zdGF0ZT8uZGF0YT8uY2hhaW4/LmlkO1xuICAgICAgICBpZiAobGFzdFVzZWRDaGFpbklkICYmICF0aGlzLmlzQ2hhaW5VbnN1cHBvcnRlZChsYXN0VXNlZENoYWluSWQpKVxuICAgICAgICAgIHRhcmdldENoYWluSWQgPSBsYXN0VXNlZENoYWluSWQ7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0YXJnZXRDaGFpbklkID0gdGhpcy5jaGFpbnNbMF0/LmlkO1xuICAgICAgfVxuICAgICAgaWYgKCF0YXJnZXRDaGFpbklkKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBjaGFpbnMgZm91bmQgb24gY29ubmVjdG9yLlwiKTtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgICAgX19wcml2YXRlTWV0aG9kKHRoaXMsIF9zZXR1cExpc3RlbmVycywgc2V0dXBMaXN0ZW5lcnNfZm4pLmNhbGwodGhpcyk7XG4gICAgICBjb25zdCBpc0NoYWluc1N0YWxlID0gX19wcml2YXRlTWV0aG9kKHRoaXMsIF9pc0NoYWluc1N0YWxlLCBpc0NoYWluc1N0YWxlX2ZuKS5jYWxsKHRoaXMpO1xuICAgICAgaWYgKHByb3ZpZGVyLnNlc3Npb24gJiYgaXNDaGFpbnNTdGFsZSlcbiAgICAgICAgYXdhaXQgcHJvdmlkZXIuZGlzY29ubmVjdCgpO1xuICAgICAgaWYgKCFwcm92aWRlci5zZXNzaW9uIHx8IGlzQ2hhaW5zU3RhbGUpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxDaGFpbnMgPSB0aGlzLmNoYWlucy5maWx0ZXIoKGNoYWluKSA9PiBjaGFpbi5pZCAhPT0gdGFyZ2V0Q2hhaW5JZCkubWFwKChvcHRpb25hbENoYWluKSA9PiBvcHRpb25hbENoYWluLmlkKTtcbiAgICAgICAgdGhpcy5lbWl0KFwibWVzc2FnZVwiLCB7IHR5cGU6IFwiY29ubmVjdGluZ1wiIH0pO1xuICAgICAgICBhd2FpdCBwcm92aWRlci5jb25uZWN0KHtcbiAgICAgICAgICBwYWlyaW5nVG9waWMsXG4gICAgICAgICAgY2hhaW5zOiBbdGFyZ2V0Q2hhaW5JZF0sXG4gICAgICAgICAgb3B0aW9uYWxDaGFpbnM6IG9wdGlvbmFsQ2hhaW5zLmxlbmd0aCA/IG9wdGlvbmFsQ2hhaW5zIDogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBfX3ByaXZhdGVNZXRob2QodGhpcywgX3NldFJlcXVlc3RlZENoYWluc0lkcywgc2V0UmVxdWVzdGVkQ2hhaW5zSWRzX2ZuKS5jYWxsKHRoaXMsIHRoaXMuY2hhaW5zLm1hcCgoeyBpZDogaWQyIH0pID0+IGlkMikpO1xuICAgICAgfVxuICAgICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBwcm92aWRlci5lbmFibGUoKTtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBnZXRBZGRyZXNzKGFjY291bnRzWzBdKTtcbiAgICAgIGNvbnN0IGlkID0gYXdhaXQgdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgICBjb25zdCB1bnN1cHBvcnRlZCA9IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjY291bnQsXG4gICAgICAgIGNoYWluOiB7IGlkLCB1bnN1cHBvcnRlZCB9XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoL3VzZXIgcmVqZWN0ZWQvaS50ZXN0KGVycm9yPy5tZXNzYWdlKSkge1xuICAgICAgICB0aHJvdyBuZXcgVXNlclJlamVjdGVkUmVxdWVzdEVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuICBhc3luYyBkaXNjb25uZWN0KCkge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwcm92aWRlci5kaXNjb25uZWN0KCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghL05vIG1hdGNoaW5nIGtleS9pLnRlc3QoZXJyb3IubWVzc2FnZSkpXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBfX3ByaXZhdGVNZXRob2QodGhpcywgX3JlbW92ZUxpc3RlbmVycywgcmVtb3ZlTGlzdGVuZXJzX2ZuKS5jYWxsKHRoaXMpO1xuICAgICAgX19wcml2YXRlTWV0aG9kKHRoaXMsIF9zZXRSZXF1ZXN0ZWRDaGFpbnNJZHMsIHNldFJlcXVlc3RlZENoYWluc0lkc19mbikuY2FsbCh0aGlzLCBbXSk7XG4gICAgfVxuICB9XG4gIGFzeW5jIGdldEFjY291bnQoKSB7XG4gICAgY29uc3QgeyBhY2NvdW50cyB9ID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIHJldHVybiBnZXRBZGRyZXNzKGFjY291bnRzWzBdKTtcbiAgfVxuICBhc3luYyBnZXRDaGFpbklkKCkge1xuICAgIGNvbnN0IHsgY2hhaW5JZCB9ID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIHJldHVybiBjaGFpbklkO1xuICB9XG4gIGFzeW5jIGdldFByb3ZpZGVyKHsgY2hhaW5JZCB9ID0ge30pIHtcbiAgICBpZiAoIV9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpKVxuICAgICAgYXdhaXQgX19wcml2YXRlTWV0aG9kKHRoaXMsIF9jcmVhdGVQcm92aWRlciwgY3JlYXRlUHJvdmlkZXJfZm4pLmNhbGwodGhpcyk7XG4gICAgaWYgKGNoYWluSWQpXG4gICAgICBhd2FpdCB0aGlzLnN3aXRjaENoYWluKGNoYWluSWQpO1xuICAgIHJldHVybiBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKTtcbiAgfVxuICBhc3luYyBnZXRXYWxsZXRDbGllbnQoe1xuICAgIGNoYWluSWRcbiAgfSA9IHt9KSB7XG4gICAgY29uc3QgW3Byb3ZpZGVyLCBhY2NvdW50XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMuZ2V0UHJvdmlkZXIoeyBjaGFpbklkIH0pLFxuICAgICAgdGhpcy5nZXRBY2NvdW50KClcbiAgICBdKTtcbiAgICBjb25zdCBjaGFpbiA9IHRoaXMuY2hhaW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNoYWluSWQpO1xuICAgIGlmICghcHJvdmlkZXIpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJwcm92aWRlciBpcyByZXF1aXJlZC5cIik7XG4gICAgcmV0dXJuIGNyZWF0ZVdhbGxldENsaWVudCh7XG4gICAgICBhY2NvdW50LFxuICAgICAgY2hhaW4sXG4gICAgICB0cmFuc3BvcnQ6IGN1c3RvbShwcm92aWRlcilcbiAgICB9KTtcbiAgfVxuICBhc3luYyBpc0F1dGhvcml6ZWQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IFthY2NvdW50LCBwcm92aWRlcl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMuZ2V0QWNjb3VudCgpLFxuICAgICAgICB0aGlzLmdldFByb3ZpZGVyKClcbiAgICAgIF0pO1xuICAgICAgY29uc3QgaXNDaGFpbnNTdGFsZSA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfaXNDaGFpbnNTdGFsZSwgaXNDaGFpbnNTdGFsZV9mbikuY2FsbCh0aGlzKTtcbiAgICAgIGlmICghYWNjb3VudClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKGlzQ2hhaW5zU3RhbGUgJiYgcHJvdmlkZXIuc2Vzc2lvbikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHByb3ZpZGVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIGFzeW5jIHN3aXRjaENoYWluKGNoYWluSWQpIHtcbiAgICBjb25zdCBjaGFpbiA9IHRoaXMuY2hhaW5zLmZpbmQoKGNoYWluMikgPT4gY2hhaW4yLmlkID09PSBjaGFpbklkKTtcbiAgICBpZiAoIWNoYWluKVxuICAgICAgdGhyb3cgbmV3IFN3aXRjaENoYWluRXJyb3IobmV3IEVycm9yKFwiY2hhaW4gbm90IGZvdW5kIG9uIGNvbm5lY3Rvci5cIikpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICAgIGNvbnN0IG5hbWVzcGFjZUNoYWlucyA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfZ2V0TmFtZXNwYWNlQ2hhaW5zSWRzLCBnZXROYW1lc3BhY2VDaGFpbnNJZHNfZm4pLmNhbGwodGhpcyk7XG4gICAgICBjb25zdCBuYW1lc3BhY2VNZXRob2RzID0gX19wcml2YXRlTWV0aG9kKHRoaXMsIF9nZXROYW1lc3BhY2VNZXRob2RzLCBnZXROYW1lc3BhY2VNZXRob2RzX2ZuKS5jYWxsKHRoaXMpO1xuICAgICAgY29uc3QgaXNDaGFpbkFwcHJvdmVkID0gbmFtZXNwYWNlQ2hhaW5zLmluY2x1ZGVzKGNoYWluSWQpO1xuICAgICAgaWYgKCFpc0NoYWluQXBwcm92ZWQgJiYgbmFtZXNwYWNlTWV0aG9kcy5pbmNsdWRlcyhBRERfRVRIX0NIQUlOX01FVEhPRCkpIHtcbiAgICAgICAgYXdhaXQgcHJvdmlkZXIucmVxdWVzdCh7XG4gICAgICAgICAgbWV0aG9kOiBBRERfRVRIX0NIQUlOX01FVEhPRCxcbiAgICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hhaW5JZDogbnVtYmVyVG9IZXgoY2hhaW4uaWQpLFxuICAgICAgICAgICAgICBibG9ja0V4cGxvcmVyVXJsczogW2NoYWluLmJsb2NrRXhwbG9yZXJzPy5kZWZhdWx0Py51cmxdLFxuICAgICAgICAgICAgICBjaGFpbk5hbWU6IGNoYWluLm5hbWUsXG4gICAgICAgICAgICAgIG5hdGl2ZUN1cnJlbmN5OiBjaGFpbi5uYXRpdmVDdXJyZW5jeSxcbiAgICAgICAgICAgICAgcnBjVXJsczogWy4uLmNoYWluLnJwY1VybHMuZGVmYXVsdC5odHRwXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RlZENoYWlucyA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfZ2V0UmVxdWVzdGVkQ2hhaW5zSWRzLCBnZXRSZXF1ZXN0ZWRDaGFpbnNJZHNfZm4pLmNhbGwodGhpcyk7XG4gICAgICAgIHJlcXVlc3RlZENoYWlucy5wdXNoKGNoYWluSWQpO1xuICAgICAgICBfX3ByaXZhdGVNZXRob2QodGhpcywgX3NldFJlcXVlc3RlZENoYWluc0lkcywgc2V0UmVxdWVzdGVkQ2hhaW5zSWRzX2ZuKS5jYWxsKHRoaXMsIHJlcXVlc3RlZENoYWlucyk7XG4gICAgICB9XG4gICAgICBhd2FpdCBwcm92aWRlci5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBcIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluXCIsXG4gICAgICAgIHBhcmFtczogW3sgY2hhaW5JZDogbnVtYmVyVG9IZXgoY2hhaW5JZCkgfV1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNoYWluO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gdHlwZW9mIGVycm9yID09PSBcInN0cmluZ1wiID8gZXJyb3IgOiBlcnJvcj8ubWVzc2FnZTtcbiAgICAgIGlmICgvdXNlciByZWplY3RlZCByZXF1ZXN0L2kudGVzdChtZXNzYWdlKSkge1xuICAgICAgICB0aHJvdyBuZXcgVXNlclJlamVjdGVkUmVxdWVzdEVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBTd2l0Y2hDaGFpbkVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cbn07XG5fcHJvdmlkZXIgPSBuZXcgV2Vha01hcCgpO1xuX2luaXRQcm92aWRlclByb21pc2UgPSBuZXcgV2Vha01hcCgpO1xuX2NyZWF0ZVByb3ZpZGVyID0gbmV3IFdlYWtTZXQoKTtcbmNyZWF0ZVByb3ZpZGVyX2ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7XG4gIGlmICghX19wcml2YXRlR2V0KHRoaXMsIF9pbml0UHJvdmlkZXJQcm9taXNlKSAmJiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9pbml0UHJvdmlkZXJQcm9taXNlLCBfX3ByaXZhdGVNZXRob2QodGhpcywgX2luaXRQcm92aWRlciwgaW5pdFByb3ZpZGVyX2ZuKS5jYWxsKHRoaXMpKTtcbiAgfVxuICByZXR1cm4gX19wcml2YXRlR2V0KHRoaXMsIF9pbml0UHJvdmlkZXJQcm9taXNlKTtcbn07XG5faW5pdFByb3ZpZGVyID0gbmV3IFdlYWtTZXQoKTtcbmluaXRQcm92aWRlcl9mbiA9IGFzeW5jIGZ1bmN0aW9uKCkge1xuICBjb25zdCB7IEV0aGVyZXVtUHJvdmlkZXIsIE9QVElPTkFMX0VWRU5UUywgT1BUSU9OQUxfTUVUSE9EUyB9ID0gYXdhaXQgaW1wb3J0KFwiQHdhbGxldGNvbm5lY3QvZXRoZXJldW0tcHJvdmlkZXJcIik7XG4gIGNvbnN0IFtkZWZhdWx0Q2hhaW4sIC4uLm9wdGlvbmFsQ2hhaW5zXSA9IHRoaXMuY2hhaW5zLm1hcCgoeyBpZCB9KSA9PiBpZCk7XG4gIGlmIChkZWZhdWx0Q2hhaW4pIHtcbiAgICBjb25zdCB7XG4gICAgICBwcm9qZWN0SWQsXG4gICAgICBzaG93UXJNb2RhbCA9IHRydWUsXG4gICAgICBxck1vZGFsT3B0aW9ucyxcbiAgICAgIG1ldGFkYXRhLFxuICAgICAgcmVsYXlVcmxcbiAgICB9ID0gdGhpcy5vcHRpb25zO1xuICAgIF9fcHJpdmF0ZVNldCh0aGlzLCBfcHJvdmlkZXIsIGF3YWl0IEV0aGVyZXVtUHJvdmlkZXIuaW5pdCh7XG4gICAgICBzaG93UXJNb2RhbCxcbiAgICAgIHFyTW9kYWxPcHRpb25zLFxuICAgICAgcHJvamVjdElkLFxuICAgICAgb3B0aW9uYWxNZXRob2RzOiBPUFRJT05BTF9NRVRIT0RTLFxuICAgICAgb3B0aW9uYWxFdmVudHM6IE9QVElPTkFMX0VWRU5UUyxcbiAgICAgIGNoYWluczogW2RlZmF1bHRDaGFpbl0sXG4gICAgICBvcHRpb25hbENoYWluczogb3B0aW9uYWxDaGFpbnMubGVuZ3RoID8gb3B0aW9uYWxDaGFpbnMgOiB2b2lkIDAsXG4gICAgICBycGNNYXA6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgdGhpcy5jaGFpbnMubWFwKChjaGFpbikgPT4gW1xuICAgICAgICAgIGNoYWluLmlkLFxuICAgICAgICAgIGNoYWluLnJwY1VybHMuZGVmYXVsdC5odHRwWzBdXG4gICAgICAgIF0pXG4gICAgICApLFxuICAgICAgbWV0YWRhdGEsXG4gICAgICByZWxheVVybFxuICAgIH0pKTtcbiAgfVxufTtcbl9pc0NoYWluc1N0YWxlID0gbmV3IFdlYWtTZXQoKTtcbmlzQ2hhaW5zU3RhbGVfZm4gPSBmdW5jdGlvbigpIHtcbiAgY29uc3QgbmFtZXNwYWNlTWV0aG9kcyA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfZ2V0TmFtZXNwYWNlTWV0aG9kcywgZ2V0TmFtZXNwYWNlTWV0aG9kc19mbikuY2FsbCh0aGlzKTtcbiAgaWYgKG5hbWVzcGFjZU1ldGhvZHMuaW5jbHVkZXMoQUREX0VUSF9DSEFJTl9NRVRIT0QpKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKCF0aGlzLm9wdGlvbnMuaXNOZXdDaGFpbnNTdGFsZSlcbiAgICByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHJlcXVlc3RlZENoYWlucyA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfZ2V0UmVxdWVzdGVkQ2hhaW5zSWRzLCBnZXRSZXF1ZXN0ZWRDaGFpbnNJZHNfZm4pLmNhbGwodGhpcyk7XG4gIGNvbnN0IGNvbm5lY3RvckNoYWlucyA9IHRoaXMuY2hhaW5zLm1hcCgoeyBpZCB9KSA9PiBpZCk7XG4gIGNvbnN0IG5hbWVzcGFjZUNoYWlucyA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfZ2V0TmFtZXNwYWNlQ2hhaW5zSWRzLCBnZXROYW1lc3BhY2VDaGFpbnNJZHNfZm4pLmNhbGwodGhpcyk7XG4gIGlmIChuYW1lc3BhY2VDaGFpbnMubGVuZ3RoICYmICFuYW1lc3BhY2VDaGFpbnMuc29tZSgoaWQpID0+IGNvbm5lY3RvckNoYWlucy5pbmNsdWRlcyhpZCkpKVxuICAgIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuICFjb25uZWN0b3JDaGFpbnMuZXZlcnkoKGlkKSA9PiByZXF1ZXN0ZWRDaGFpbnMuaW5jbHVkZXMoaWQpKTtcbn07XG5fc2V0dXBMaXN0ZW5lcnMgPSBuZXcgV2Vha1NldCgpO1xuc2V0dXBMaXN0ZW5lcnNfZm4gPSBmdW5jdGlvbigpIHtcbiAgaWYgKCFfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKSlcbiAgICByZXR1cm47XG4gIF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfcmVtb3ZlTGlzdGVuZXJzLCByZW1vdmVMaXN0ZW5lcnNfZm4pLmNhbGwodGhpcyk7XG4gIF9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpLm9uKFwiYWNjb3VudHNDaGFuZ2VkXCIsIHRoaXMub25BY2NvdW50c0NoYW5nZWQpO1xuICBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5vbihcImNoYWluQ2hhbmdlZFwiLCB0aGlzLm9uQ2hhaW5DaGFuZ2VkKTtcbiAgX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikub24oXCJkaXNjb25uZWN0XCIsIHRoaXMub25EaXNjb25uZWN0KTtcbiAgX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikub24oXCJzZXNzaW9uX2RlbGV0ZVwiLCB0aGlzLm9uRGlzY29ubmVjdCk7XG4gIF9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpLm9uKFwiZGlzcGxheV91cmlcIiwgdGhpcy5vbkRpc3BsYXlVcmkpO1xuICBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5vbihcImNvbm5lY3RcIiwgdGhpcy5vbkNvbm5lY3QpO1xufTtcbl9yZW1vdmVMaXN0ZW5lcnMgPSBuZXcgV2Vha1NldCgpO1xucmVtb3ZlTGlzdGVuZXJzX2ZuID0gZnVuY3Rpb24oKSB7XG4gIGlmICghX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikpXG4gICAgcmV0dXJuO1xuICBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5yZW1vdmVMaXN0ZW5lcihcImFjY291bnRzQ2hhbmdlZFwiLCB0aGlzLm9uQWNjb3VudHNDaGFuZ2VkKTtcbiAgX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikucmVtb3ZlTGlzdGVuZXIoXCJjaGFpbkNoYW5nZWRcIiwgdGhpcy5vbkNoYWluQ2hhbmdlZCk7XG4gIF9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpLnJlbW92ZUxpc3RlbmVyKFwiZGlzY29ubmVjdFwiLCB0aGlzLm9uRGlzY29ubmVjdCk7XG4gIF9fcHJpdmF0ZUdldCh0aGlzLCBfcHJvdmlkZXIpLnJlbW92ZUxpc3RlbmVyKFwic2Vzc2lvbl9kZWxldGVcIiwgdGhpcy5vbkRpc2Nvbm5lY3QpO1xuICBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5yZW1vdmVMaXN0ZW5lcihcImRpc3BsYXlfdXJpXCIsIHRoaXMub25EaXNwbGF5VXJpKTtcbiAgX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikucmVtb3ZlTGlzdGVuZXIoXCJjb25uZWN0XCIsIHRoaXMub25Db25uZWN0KTtcbn07XG5fc2V0UmVxdWVzdGVkQ2hhaW5zSWRzID0gbmV3IFdlYWtTZXQoKTtcbnNldFJlcXVlc3RlZENoYWluc0lkc19mbiA9IGZ1bmN0aW9uKGNoYWlucykge1xuICB0aGlzLnN0b3JhZ2U/LnNldEl0ZW0oUkVRVUVTVEVEX0NIQUlOU19LRVksIGNoYWlucyk7XG59O1xuX2dldFJlcXVlc3RlZENoYWluc0lkcyA9IG5ldyBXZWFrU2V0KCk7XG5nZXRSZXF1ZXN0ZWRDaGFpbnNJZHNfZm4gPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIHRoaXMuc3RvcmFnZT8uZ2V0SXRlbShSRVFVRVNURURfQ0hBSU5TX0tFWSkgPz8gW107XG59O1xuX2dldE5hbWVzcGFjZUNoYWluc0lkcyA9IG5ldyBXZWFrU2V0KCk7XG5nZXROYW1lc3BhY2VDaGFpbnNJZHNfZm4gPSBmdW5jdGlvbigpIHtcbiAgaWYgKCFfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKSlcbiAgICByZXR1cm4gW107XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5zZXNzaW9uPy5uYW1lc3BhY2VzO1xuICBpZiAoIW5hbWVzcGFjZXMpXG4gICAgcmV0dXJuIFtdO1xuICBjb25zdCBub3JtYWxpemVkTmFtZXNwYWNlcyA9IG5vcm1hbGl6ZU5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG4gIGNvbnN0IGNoYWluSWRzID0gbm9ybWFsaXplZE5hbWVzcGFjZXNbTkFNRVNQQUNFXT8uY2hhaW5zPy5tYXAoXG4gICAgKGNoYWluKSA9PiBwYXJzZUludChjaGFpbi5zcGxpdChcIjpcIilbMV0gfHwgXCJcIilcbiAgKTtcbiAgcmV0dXJuIGNoYWluSWRzID8/IFtdO1xufTtcbl9nZXROYW1lc3BhY2VNZXRob2RzID0gbmV3IFdlYWtTZXQoKTtcbmdldE5hbWVzcGFjZU1ldGhvZHNfZm4gPSBmdW5jdGlvbigpIHtcbiAgaWYgKCFfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKSlcbiAgICByZXR1cm4gW107XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5zZXNzaW9uPy5uYW1lc3BhY2VzO1xuICBpZiAoIW5hbWVzcGFjZXMpXG4gICAgcmV0dXJuIFtdO1xuICBjb25zdCBub3JtYWxpemVkTmFtZXNwYWNlcyA9IG5vcm1hbGl6ZU5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG4gIGNvbnN0IG1ldGhvZHMgPSBub3JtYWxpemVkTmFtZXNwYWNlc1tOQU1FU1BBQ0VdPy5tZXRob2RzO1xuICByZXR1cm4gbWV0aG9kcyA/PyBbXTtcbn07XG5leHBvcnQge1xuICBXYWxsZXRDb25uZWN0Q29ubmVjdG9yXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnect.js\n")); - -/***/ }), - -/***/ "./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js ***! - \*********************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectLegacyConnector: function() { return /* binding */ WalletConnectLegacyConnector; }\n/* harmony export */ });\n/* harmony import */ var _chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chunk-OQILYQDO.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js\");\n/* harmony import */ var _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-QYMCVNHT.js */ \"./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js\");\n/* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! viem */ \"./node_modules/viem/dist/esm/index.js\");\n\n\n\n// src/walletConnectLegacy.ts\n\nvar switchChainAllowedRegex = /(imtoken|metamask|rainbow|trust wallet|uniswap wallet|ledger)/i;\nvar _provider, _switchChain, switchChain_fn;\nvar WalletConnectLegacyConnector = class extends _chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.Connector {\n constructor() {\n super(...arguments);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _switchChain);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"id\", \"walletConnectLegacy\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"name\", \"WalletConnectLegacy\");\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"ready\", true);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateAdd)(this, _provider, void 0);\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", { account: (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]) });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onChainChanged\", (chainId) => {\n const id = (0,_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId)(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__publicField)(this, \"onDisconnect\", () => {\n this.emit(\"disconnect\");\n });\n }\n async connect({ chainId } = {}) {\n try {\n let targetChainId = chainId;\n if (!targetChainId) {\n const store = this.storage?.getItem(\"store\");\n const lastUsedChainId = store?.state?.data?.chain?.id;\n if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId))\n targetChainId = lastUsedChainId;\n }\n const provider = await this.getProvider({\n chainId: targetChainId,\n create: true\n });\n provider.on(\"accountsChanged\", this.onAccountsChanged);\n provider.on(\"chainChanged\", this.onChainChanged);\n provider.on(\"disconnect\", this.onDisconnect);\n setTimeout(() => this.emit(\"message\", { type: \"connecting\" }), 0);\n const accounts = await provider.enable();\n const account = (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]);\n const id = await this.getChainId();\n const unsupported = this.isChainUnsupported(id);\n const walletName = provider.connector?.peerMeta?.name ?? \"\";\n if (switchChainAllowedRegex.test(walletName))\n this.switchChain = (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateMethod)(this, _switchChain, switchChain_fn);\n return {\n account,\n chain: { id, unsupported }\n };\n } catch (error) {\n if (/user closed modal/i.test(error.message))\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n throw error;\n }\n }\n async disconnect() {\n const provider = await this.getProvider();\n await provider.disconnect();\n provider.removeListener(\"accountsChanged\", this.onAccountsChanged);\n provider.removeListener(\"chainChanged\", this.onChainChanged);\n provider.removeListener(\"disconnect\", this.onDisconnect);\n typeof localStorage !== \"undefined\" && localStorage.removeItem(\"walletconnect\");\n }\n async getAccount() {\n const provider = await this.getProvider();\n const accounts = provider.accounts;\n return (0,viem__WEBPACK_IMPORTED_MODULE_1__.getAddress)(accounts[0]);\n }\n async getChainId() {\n const provider = await this.getProvider();\n const chainId = (0,_chunk_OQILYQDO_js__WEBPACK_IMPORTED_MODULE_2__.normalizeChainId)(provider.chainId);\n return chainId;\n }\n async getProvider({\n chainId,\n create\n } = {}) {\n if (!(0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider) || chainId || create) {\n const rpc = !this.options?.infuraId ? this.chains.reduce(\n (rpc2, chain) => ({\n ...rpc2,\n [chain.id]: chain.rpcUrls.default.http[0]\n }),\n {}\n ) : {};\n const WalletConnectProvider = (await __webpack_require__.e(/*! import() */ \"node_modules_walletconnect_legacy-provider_dist_esm_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @walletconnect/legacy-provider */ \"./node_modules/@walletconnect/legacy-provider/dist/esm/index.js\"))).default;\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateSet)(this, _provider, new WalletConnectProvider({\n ...this.options,\n chainId,\n rpc: { ...rpc, ...this.options?.rpc }\n }));\n (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).http = await (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider).setHttpProvider(chainId);\n }\n return (0,_chunk_QYMCVNHT_js__WEBPACK_IMPORTED_MODULE_0__.__privateGet)(this, _provider);\n }\n async getWalletClient({\n chainId\n } = {}) {\n const [provider, account] = await Promise.all([\n this.getProvider({ chainId }),\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 (0,viem__WEBPACK_IMPORTED_MODULE_1__.createWalletClient)({\n account,\n chain,\n transport: (0,viem__WEBPACK_IMPORTED_MODULE_1__.custom)(provider)\n });\n }\n async isAuthorized() {\n try {\n const account = await this.getAccount();\n return !!account;\n } catch {\n return false;\n }\n }\n};\n_provider = new WeakMap();\n_switchChain = new WeakSet();\nswitchChain_fn = async function(chainId) {\n const provider = await this.getProvider();\n const id = (0,viem__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(chainId);\n try {\n await Promise.race([\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(chainId);\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 message = typeof error === \"string\" ? error : error?.message;\n if (/user rejected request/i.test(message))\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.UserRejectedRequestError(error);\n throw new viem__WEBPACK_IMPORTED_MODULE_1__.SwitchChainError(error);\n }\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHdhZ21pL2NvcmUvbm9kZV9tb2R1bGVzL0B3YWdtaS9jb25uZWN0b3JzL2Rpc3Qvd2FsbGV0Q29ubmVjdExlZ2FjeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRTZCO0FBUUE7O0FBRTdCO0FBUWM7QUFDZDtBQUNBO0FBQ0EsaURBQWlELHlEQUFTO0FBQzFEO0FBQ0E7QUFDQSxJQUFJLGdFQUFZO0FBQ2hCLElBQUksaUVBQWE7QUFDakIsSUFBSSxpRUFBYTtBQUNqQixJQUFJLGlFQUFhO0FBQ2pCLElBQUksZ0VBQVk7QUFDaEIsSUFBSSxpRUFBYTtBQUNqQjtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsU0FBUyxnREFBVSxlQUFlO0FBQ2hFLEtBQUs7QUFDTCxJQUFJLGlFQUFhO0FBQ2pCLGlCQUFpQixvRUFBZ0I7QUFDakM7QUFDQSw0QkFBNEIsU0FBUyxtQkFBbUI7QUFDeEQsS0FBSztBQUNMLElBQUksaUVBQWE7QUFDakI7QUFDQSxLQUFLO0FBQ0w7QUFDQSxrQkFBa0IsVUFBVSxJQUFJO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsOENBQThDLG9CQUFvQjtBQUNsRTtBQUNBLHNCQUFzQixnREFBVTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixtRUFBZTtBQUMxQztBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsTUFBTTtBQUNOO0FBQ0Esa0JBQWtCLDBEQUF3QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnREFBVTtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isb0VBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUk7QUFDUixTQUFTLGdFQUFZO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSwyQ0FBMkMsa1FBQXdDO0FBQ25GLE1BQU0sZ0VBQVk7QUFDbEI7QUFDQTtBQUNBLGVBQWU7QUFDZixPQUFPO0FBQ1AsTUFBTSxnRUFBWSwrQkFBK0IsZ0VBQVk7QUFDN0Q7QUFDQSxXQUFXLGdFQUFZO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSTtBQUNSO0FBQ0EseUJBQXlCLFNBQVM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsd0RBQWtCO0FBQzdCO0FBQ0E7QUFDQSxpQkFBaUIsNENBQU07QUFDdkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaURBQVc7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsYUFBYTtBQUNoQyxPQUFPO0FBQ1A7QUFDQSxzQ0FBc0MsT0FBTztBQUM3QztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLEdBQUc7QUFDeEIsa0JBQWtCLEdBQUc7QUFDckIsd0JBQXdCLDRDQUE0QztBQUNwRSxpQkFBaUIsV0FBVyxZQUFZLFlBQVk7QUFDcEQ7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLGdCQUFnQiwwREFBd0I7QUFDeEMsY0FBYyxrREFBZ0I7QUFDOUI7QUFDQTtBQUdFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9Ad2FnbWkvY29yZS9ub2RlX21vZHVsZXMvQHdhZ21pL2Nvbm5lY3RvcnMvZGlzdC93YWxsZXRDb25uZWN0TGVnYWN5LmpzP2RkZjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgbm9ybWFsaXplQ2hhaW5JZFxufSBmcm9tIFwiLi9jaHVuay1PUUlMWVFETy5qc1wiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdG9yLFxuICBfX3ByaXZhdGVBZGQsXG4gIF9fcHJpdmF0ZUdldCxcbiAgX19wcml2YXRlTWV0aG9kLFxuICBfX3ByaXZhdGVTZXQsXG4gIF9fcHVibGljRmllbGRcbn0gZnJvbSBcIi4vY2h1bmstUVlNQ1ZOSFQuanNcIjtcblxuLy8gc3JjL3dhbGxldENvbm5lY3RMZWdhY3kudHNcbmltcG9ydCB7XG4gIFN3aXRjaENoYWluRXJyb3IsXG4gIFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcixcbiAgY3JlYXRlV2FsbGV0Q2xpZW50LFxuICBjdXN0b20sXG4gIGdldEFkZHJlc3MsXG4gIG51bWJlclRvSGV4XG59IGZyb20gXCJ2aWVtXCI7XG52YXIgc3dpdGNoQ2hhaW5BbGxvd2VkUmVnZXggPSAvKGltdG9rZW58bWV0YW1hc2t8cmFpbmJvd3x0cnVzdCB3YWxsZXR8dW5pc3dhcCB3YWxsZXR8bGVkZ2VyKS9pO1xudmFyIF9wcm92aWRlciwgX3N3aXRjaENoYWluLCBzd2l0Y2hDaGFpbl9mbjtcbnZhciBXYWxsZXRDb25uZWN0TGVnYWN5Q29ubmVjdG9yID0gY2xhc3MgZXh0ZW5kcyBDb25uZWN0b3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfc3dpdGNoQ2hhaW4pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJpZFwiLCBcIndhbGxldENvbm5lY3RMZWdhY3lcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcIm5hbWVcIiwgXCJXYWxsZXRDb25uZWN0TGVnYWN5XCIpO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJyZWFkeVwiLCB0cnVlKTtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX3Byb3ZpZGVyLCB2b2lkIDApO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkFjY291bnRzQ2hhbmdlZFwiLCAoYWNjb3VudHMpID0+IHtcbiAgICAgIGlmIChhY2NvdW50cy5sZW5ndGggPT09IDApXG4gICAgICAgIHRoaXMuZW1pdChcImRpc2Nvbm5lY3RcIik7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMuZW1pdChcImNoYW5nZVwiLCB7IGFjY291bnQ6IGdldEFkZHJlc3MoYWNjb3VudHNbMF0pIH0pO1xuICAgIH0pO1xuICAgIF9fcHVibGljRmllbGQodGhpcywgXCJvbkNoYWluQ2hhbmdlZFwiLCAoY2hhaW5JZCkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBub3JtYWxpemVDaGFpbklkKGNoYWluSWQpO1xuICAgICAgY29uc3QgdW5zdXBwb3J0ZWQgPSB0aGlzLmlzQ2hhaW5VbnN1cHBvcnRlZChpZCk7XG4gICAgICB0aGlzLmVtaXQoXCJjaGFuZ2VcIiwgeyBjaGFpbjogeyBpZCwgdW5zdXBwb3J0ZWQgfSB9KTtcbiAgICB9KTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwib25EaXNjb25uZWN0XCIsICgpID0+IHtcbiAgICAgIHRoaXMuZW1pdChcImRpc2Nvbm5lY3RcIik7XG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgY29ubmVjdCh7IGNoYWluSWQgfSA9IHt9KSB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCB0YXJnZXRDaGFpbklkID0gY2hhaW5JZDtcbiAgICAgIGlmICghdGFyZ2V0Q2hhaW5JZCkge1xuICAgICAgICBjb25zdCBzdG9yZSA9IHRoaXMuc3RvcmFnZT8uZ2V0SXRlbShcInN0b3JlXCIpO1xuICAgICAgICBjb25zdCBsYXN0VXNlZENoYWluSWQgPSBzdG9yZT8uc3RhdGU/LmRhdGE/LmNoYWluPy5pZDtcbiAgICAgICAgaWYgKGxhc3RVc2VkQ2hhaW5JZCAmJiAhdGhpcy5pc0NoYWluVW5zdXBwb3J0ZWQobGFzdFVzZWRDaGFpbklkKSlcbiAgICAgICAgICB0YXJnZXRDaGFpbklkID0gbGFzdFVzZWRDaGFpbklkO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKHtcbiAgICAgICAgY2hhaW5JZDogdGFyZ2V0Q2hhaW5JZCxcbiAgICAgICAgY3JlYXRlOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHByb3ZpZGVyLm9uKFwiYWNjb3VudHNDaGFuZ2VkXCIsIHRoaXMub25BY2NvdW50c0NoYW5nZWQpO1xuICAgICAgcHJvdmlkZXIub24oXCJjaGFpbkNoYW5nZWRcIiwgdGhpcy5vbkNoYWluQ2hhbmdlZCk7XG4gICAgICBwcm92aWRlci5vbihcImRpc2Nvbm5lY3RcIiwgdGhpcy5vbkRpc2Nvbm5lY3QpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVtaXQoXCJtZXNzYWdlXCIsIHsgdHlwZTogXCJjb25uZWN0aW5nXCIgfSksIDApO1xuICAgICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBwcm92aWRlci5lbmFibGUoKTtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBnZXRBZGRyZXNzKGFjY291bnRzWzBdKTtcbiAgICAgIGNvbnN0IGlkID0gYXdhaXQgdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgICBjb25zdCB1bnN1cHBvcnRlZCA9IHRoaXMuaXNDaGFpblVuc3VwcG9ydGVkKGlkKTtcbiAgICAgIGNvbnN0IHdhbGxldE5hbWUgPSBwcm92aWRlci5jb25uZWN0b3I/LnBlZXJNZXRhPy5uYW1lID8/IFwiXCI7XG4gICAgICBpZiAoc3dpdGNoQ2hhaW5BbGxvd2VkUmVnZXgudGVzdCh3YWxsZXROYW1lKSlcbiAgICAgICAgdGhpcy5zd2l0Y2hDaGFpbiA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfc3dpdGNoQ2hhaW4sIHN3aXRjaENoYWluX2ZuKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjY291bnQsXG4gICAgICAgIGNoYWluOiB7IGlkLCB1bnN1cHBvcnRlZCB9XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoL3VzZXIgY2xvc2VkIG1vZGFsL2kudGVzdChlcnJvci5tZXNzYWdlKSlcbiAgICAgICAgdGhyb3cgbmV3IFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvcihlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbiAgYXN5bmMgZGlzY29ubmVjdCgpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoKTtcbiAgICBhd2FpdCBwcm92aWRlci5kaXNjb25uZWN0KCk7XG4gICAgcHJvdmlkZXIucmVtb3ZlTGlzdGVuZXIoXCJhY2NvdW50c0NoYW5nZWRcIiwgdGhpcy5vbkFjY291bnRzQ2hhbmdlZCk7XG4gICAgcHJvdmlkZXIucmVtb3ZlTGlzdGVuZXIoXCJjaGFpbkNoYW5nZWRcIiwgdGhpcy5vbkNoYWluQ2hhbmdlZCk7XG4gICAgcHJvdmlkZXIucmVtb3ZlTGlzdGVuZXIoXCJkaXNjb25uZWN0XCIsIHRoaXMub25EaXNjb25uZWN0KTtcbiAgICB0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSBcInVuZGVmaW5lZFwiICYmIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwid2FsbGV0Y29ubmVjdFwiKTtcbiAgfVxuICBhc3luYyBnZXRBY2NvdW50KCkge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICAgIGNvbnN0IGFjY291bnRzID0gcHJvdmlkZXIuYWNjb3VudHM7XG4gICAgcmV0dXJuIGdldEFkZHJlc3MoYWNjb3VudHNbMF0pO1xuICB9XG4gIGFzeW5jIGdldENoYWluSWQoKSB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCB0aGlzLmdldFByb3ZpZGVyKCk7XG4gICAgY29uc3QgY2hhaW5JZCA9IG5vcm1hbGl6ZUNoYWluSWQocHJvdmlkZXIuY2hhaW5JZCk7XG4gICAgcmV0dXJuIGNoYWluSWQ7XG4gIH1cbiAgYXN5bmMgZ2V0UHJvdmlkZXIoe1xuICAgIGNoYWluSWQsXG4gICAgY3JlYXRlXG4gIH0gPSB7fSkge1xuICAgIGlmICghX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikgfHwgY2hhaW5JZCB8fCBjcmVhdGUpIHtcbiAgICAgIGNvbnN0IHJwYyA9ICF0aGlzLm9wdGlvbnM/LmluZnVyYUlkID8gdGhpcy5jaGFpbnMucmVkdWNlKFxuICAgICAgICAocnBjMiwgY2hhaW4pID0+ICh7XG4gICAgICAgICAgLi4ucnBjMixcbiAgICAgICAgICBbY2hhaW4uaWRdOiBjaGFpbi5ycGNVcmxzLmRlZmF1bHQuaHR0cFswXVxuICAgICAgICB9KSxcbiAgICAgICAge31cbiAgICAgICkgOiB7fTtcbiAgICAgIGNvbnN0IFdhbGxldENvbm5lY3RQcm92aWRlciA9IChhd2FpdCBpbXBvcnQoXCJAd2FsbGV0Y29ubmVjdC9sZWdhY3ktcHJvdmlkZXJcIikpLmRlZmF1bHQ7XG4gICAgICBfX3ByaXZhdGVTZXQodGhpcywgX3Byb3ZpZGVyLCBuZXcgV2FsbGV0Q29ubmVjdFByb3ZpZGVyKHtcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICBjaGFpbklkLFxuICAgICAgICBycGM6IHsgLi4ucnBjLCAuLi50aGlzLm9wdGlvbnM/LnJwYyB9XG4gICAgICB9KSk7XG4gICAgICBfX3ByaXZhdGVHZXQodGhpcywgX3Byb3ZpZGVyKS5odHRwID0gYXdhaXQgX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcikuc2V0SHR0cFByb3ZpZGVyKGNoYWluSWQpO1xuICAgIH1cbiAgICByZXR1cm4gX19wcml2YXRlR2V0KHRoaXMsIF9wcm92aWRlcik7XG4gIH1cbiAgYXN5bmMgZ2V0V2FsbGV0Q2xpZW50KHtcbiAgICBjaGFpbklkXG4gIH0gPSB7fSkge1xuICAgIGNvbnN0IFtwcm92aWRlciwgYWNjb3VudF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICB0aGlzLmdldFByb3ZpZGVyKHsgY2hhaW5JZCB9KSxcbiAgICAgIHRoaXMuZ2V0QWNjb3VudCgpXG4gICAgXSk7XG4gICAgY29uc3QgY2hhaW4gPSB0aGlzLmNoYWlucy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGFpbklkKTtcbiAgICBpZiAoIXByb3ZpZGVyKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicHJvdmlkZXIgaXMgcmVxdWlyZWQuXCIpO1xuICAgIHJldHVybiBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICAgICAgYWNjb3VudCxcbiAgICAgIGNoYWluLFxuICAgICAgdHJhbnNwb3J0OiBjdXN0b20ocHJvdmlkZXIpXG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgaXNBdXRob3JpemVkKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhY2NvdW50ID0gYXdhaXQgdGhpcy5nZXRBY2NvdW50KCk7XG4gICAgICByZXR1cm4gISFhY2NvdW50O1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufTtcbl9wcm92aWRlciA9IG5ldyBXZWFrTWFwKCk7XG5fc3dpdGNoQ2hhaW4gPSBuZXcgV2Vha1NldCgpO1xuc3dpdGNoQ2hhaW5fZm4gPSBhc3luYyBmdW5jdGlvbihjaGFpbklkKSB7XG4gIGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgdGhpcy5nZXRQcm92aWRlcigpO1xuICBjb25zdCBpZCA9IG51bWJlclRvSGV4KGNoYWluSWQpO1xuICB0cnkge1xuICAgIGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgICBwcm92aWRlci5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBcIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluXCIsXG4gICAgICAgIHBhcmFtczogW3sgY2hhaW5JZDogaWQgfV1cbiAgICAgIH0pLFxuICAgICAgbmV3IFByb21pc2UoXG4gICAgICAgIChyZXMpID0+IHRoaXMub24oXCJjaGFuZ2VcIiwgKHsgY2hhaW4gfSkgPT4ge1xuICAgICAgICAgIGlmIChjaGFpbj8uaWQgPT09IGNoYWluSWQpXG4gICAgICAgICAgICByZXMoY2hhaW5JZCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgXSk7XG4gICAgcmV0dXJuIHRoaXMuY2hhaW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNoYWluSWQpID8/IHtcbiAgICAgIGlkOiBjaGFpbklkLFxuICAgICAgbmFtZTogYENoYWluICR7aWR9YCxcbiAgICAgIG5ldHdvcms6IGAke2lkfWAsXG4gICAgICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiBcIkV0aGVyXCIsIGRlY2ltYWxzOiAxOCwgc3ltYm9sOiBcIkVUSFwiIH0sXG4gICAgICBycGNVcmxzOiB7IGRlZmF1bHQ6IHsgaHR0cDogW1wiXCJdIH0sIHB1YmxpYzogeyBodHRwOiBbXCJcIl0gfSB9XG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gdHlwZW9mIGVycm9yID09PSBcInN0cmluZ1wiID8gZXJyb3IgOiBlcnJvcj8ubWVzc2FnZTtcbiAgICBpZiAoL3VzZXIgcmVqZWN0ZWQgcmVxdWVzdC9pLnRlc3QobWVzc2FnZSkpXG4gICAgICB0aHJvdyBuZXcgVXNlclJlamVjdGVkUmVxdWVzdEVycm9yKGVycm9yKTtcbiAgICB0aHJvdyBuZXcgU3dpdGNoQ2hhaW5FcnJvcihlcnJvcik7XG4gIH1cbn07XG5leHBvcnQge1xuICBXYWxsZXRDb25uZWN0TGVnYWN5Q29ubmVjdG9yXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@wagmi/core/node_modules/@wagmi/connectors/dist/walletConnectLegacy.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/errors.js": -/*!*************************************************!*\ - !*** ./node_modules/abitype/dist/esm/errors.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseError: function() { return /* binding */ BaseError; }\n/* harmony export */ });\n/* harmony import */ var _version_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./version.js */ \"./node_modules/abitype/dist/esm/version.js\");\n\nclass BaseError extends Error {\n constructor(shortMessage, args = {}) {\n const details = args.cause instanceof BaseError\n ? args.cause.details\n : args.cause?.message\n ? args.cause.message\n : args.details;\n const docsPath = args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n const message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsPath ? [`Docs: https://abitype.dev${docsPath}`] : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: abitype@${_version_js__WEBPACK_IMPORTED_MODULE_0__.version}`,\n ].join('\\n');\n super(message);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiTypeError'\n });\n if (args.cause)\n this.cause = args.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.shortMessage = shortMessage;\n }\n}\n//# sourceMappingURL=errors.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9lcnJvcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBdUM7QUFDaEM7QUFDUCx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdELFNBQVM7QUFDakUsdUNBQXVDLFFBQVE7QUFDL0MsZ0NBQWdDLGdEQUFPLENBQUM7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vZXJyb3JzLmpzP2UyMTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4vdmVyc2lvbi5qcyc7XG5leHBvcnQgY2xhc3MgQmFzZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHNob3J0TWVzc2FnZSwgYXJncyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBhcmdzLmNhdXNlIGluc3RhbmNlb2YgQmFzZUVycm9yXG4gICAgICAgICAgICA/IGFyZ3MuY2F1c2UuZGV0YWlsc1xuICAgICAgICAgICAgOiBhcmdzLmNhdXNlPy5tZXNzYWdlXG4gICAgICAgICAgICAgICAgPyBhcmdzLmNhdXNlLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICA6IGFyZ3MuZGV0YWlscztcbiAgICAgICAgY29uc3QgZG9jc1BhdGggPSBhcmdzLmNhdXNlIGluc3RhbmNlb2YgQmFzZUVycm9yXG4gICAgICAgICAgICA/IGFyZ3MuY2F1c2UuZG9jc1BhdGggfHwgYXJncy5kb2NzUGF0aFxuICAgICAgICAgICAgOiBhcmdzLmRvY3NQYXRoO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gW1xuICAgICAgICAgICAgc2hvcnRNZXNzYWdlIHx8ICdBbiBlcnJvciBvY2N1cnJlZC4nLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAuLi4oYXJncy5tZXRhTWVzc2FnZXMgPyBbLi4uYXJncy5tZXRhTWVzc2FnZXMsICcnXSA6IFtdKSxcbiAgICAgICAgICAgIC4uLihkb2NzUGF0aCA/IFtgRG9jczogaHR0cHM6Ly9hYml0eXBlLmRldiR7ZG9jc1BhdGh9YF0gOiBbXSksXG4gICAgICAgICAgICAuLi4oZGV0YWlscyA/IFtgRGV0YWlsczogJHtkZXRhaWxzfWBdIDogW10pLFxuICAgICAgICAgICAgYFZlcnNpb246IGFiaXR5cGVAJHt2ZXJzaW9ufWAsXG4gICAgICAgIF0uam9pbignXFxuJyk7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkZXRhaWxzXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImRvY3NQYXRoXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm1ldGFNZXNzYWdlc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJzaG9ydE1lc3NhZ2VcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaVR5cGVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChhcmdzLmNhdXNlKVxuICAgICAgICAgICAgdGhpcy5jYXVzZSA9IGFyZ3MuY2F1c2U7XG4gICAgICAgIHRoaXMuZGV0YWlscyA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuZG9jc1BhdGggPSBkb2NzUGF0aDtcbiAgICAgICAgdGhpcy5tZXRhTWVzc2FnZXMgPSBhcmdzLm1ldGFNZXNzYWdlcztcbiAgICAgICAgdGhpcy5zaG9ydE1lc3NhZ2UgPSBzaG9ydE1lc3NhZ2U7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3JzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/errors.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/errors/abiItem.js": -/*!************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/errors/abiItem.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvalidAbiItemError: function() { return /* binding */ InvalidAbiItemError; },\n/* harmony export */ UnknownSolidityTypeError: function() { return /* binding */ UnknownSolidityTypeError; },\n/* harmony export */ UnknownTypeError: function() { return /* binding */ UnknownTypeError; }\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/esm/errors.js\");\n\nclass InvalidAbiItemError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ signature }) {\n super('Failed to parse ABI item.', {\n details: `parseAbiItem(${JSON.stringify(signature, null, 2)})`,\n docsPath: '/api/human.html#parseabiitem-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiItemError'\n });\n }\n}\nclass UnknownTypeError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ type }) {\n super('Unknown type.', {\n metaMessages: [\n `Type \"${type}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownTypeError'\n });\n }\n}\nclass UnknownSolidityTypeError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ type }) {\n super('Unknown type.', {\n metaMessages: [`Type \"${type}\" is not a valid ABI type.`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownSolidityTypeError'\n });\n }\n}\n//# sourceMappingURL=abiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvYWJpSXRlbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ3JDLGtDQUFrQyxpREFBUztBQUNsRCxrQkFBa0IsV0FBVztBQUM3QjtBQUNBLHFDQUFxQyxtQ0FBbUM7QUFDeEU7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sK0JBQStCLGlEQUFTO0FBQy9DLGtCQUFrQixNQUFNO0FBQ3hCO0FBQ0E7QUFDQSx5QkFBeUIsS0FBSztBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyx1Q0FBdUMsaURBQVM7QUFDdkQsa0JBQWtCLE1BQU07QUFDeEI7QUFDQSxvQ0FBb0MsS0FBSztBQUN6QyxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vaHVtYW4tcmVhZGFibGUvZXJyb3JzL2FiaUl0ZW0uanM/MGFjYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMuanMnO1xuZXhwb3J0IGNsYXNzIEludmFsaWRBYmlJdGVtRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2lnbmF0dXJlIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ZhaWxlZCB0byBwYXJzZSBBQkkgaXRlbS4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBgcGFyc2VBYmlJdGVtKCR7SlNPTi5zdHJpbmdpZnkoc2lnbmF0dXJlLCBudWxsLCAyKX0pYCxcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2FwaS9odW1hbi5odG1sI3BhcnNlYWJpaXRlbS0xJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQWJpSXRlbUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgVW5rbm93blR5cGVFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyB0eXBlIH0pIHtcbiAgICAgICAgc3VwZXIoJ1Vua25vd24gdHlwZS4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgVHlwZSBcIiR7dHlwZX1cIiBpcyBub3QgYSB2YWxpZCBBQkkgdHlwZS4gUGVyaGFwcyB5b3UgZm9yZ290IHRvIGluY2x1ZGUgYSBzdHJ1Y3Qgc2lnbmF0dXJlP2AsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Vua25vd25UeXBlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBVbmtub3duU29saWRpdHlUeXBlRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgdHlwZSB9KSB7XG4gICAgICAgIHN1cGVyKCdVbmtub3duIHR5cGUuJywge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbYFR5cGUgXCIke3R5cGV9XCIgaXMgbm90IGEgdmFsaWQgQUJJIHR5cGUuYF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5rbm93blNvbGlkaXR5VHlwZUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hYmlJdGVtLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/errors/abiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvalidAbiParameterError: function() { return /* binding */ InvalidAbiParameterError; },\n/* harmony export */ InvalidAbiParametersError: function() { return /* binding */ InvalidAbiParametersError; },\n/* harmony export */ InvalidAbiTypeParameterError: function() { return /* binding */ InvalidAbiTypeParameterError; },\n/* harmony export */ InvalidFunctionModifierError: function() { return /* binding */ InvalidFunctionModifierError; },\n/* harmony export */ InvalidModifierError: function() { return /* binding */ InvalidModifierError; },\n/* harmony export */ InvalidParameterError: function() { return /* binding */ InvalidParameterError; },\n/* harmony export */ SolidityProtectedKeywordError: function() { return /* binding */ SolidityProtectedKeywordError; }\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/esm/errors.js\");\n\nclass InvalidAbiParameterError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ param }) {\n super('Failed to parse ABI parameter.', {\n details: `parseAbiParameter(${JSON.stringify(param, null, 2)})`,\n docsPath: '/api/human.html#parseabiparameter-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiParameterError'\n });\n }\n}\nclass InvalidAbiParametersError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ params }) {\n super('Failed to parse ABI parameters.', {\n details: `parseAbiParameters(${JSON.stringify(params, null, 2)})`,\n docsPath: '/api/human.html#parseabiparameters-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiParametersError'\n });\n }\n}\nclass InvalidParameterError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ param }) {\n super('Invalid ABI parameter.', {\n details: param,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParameterError'\n });\n }\n}\nclass SolidityProtectedKeywordError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ param, name }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `\"${name}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SolidityProtectedKeywordError'\n });\n }\n}\nclass InvalidModifierError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ param, type, modifier, }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `Modifier \"${modifier}\" not allowed${type ? ` in \"${type}\" type` : ''}.`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidModifierError'\n });\n }\n}\nclass InvalidFunctionModifierError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ param, type, modifier, }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `Modifier \"${modifier}\" not allowed${type ? ` in \"${type}\" type` : ''}.`,\n `Data location can only be specified for array, struct, or mapping types, but \"${modifier}\" was given.`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidFunctionModifierError'\n });\n }\n}\nclass InvalidAbiTypeParameterError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ abiParameter, }) {\n super('Invalid ABI parameter.', {\n details: JSON.stringify(abiParameter, null, 2),\n metaMessages: ['ABI parameter type is invalid.'],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiTypeParameterError'\n });\n }\n}\n//# sourceMappingURL=abiParameter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvYWJpUGFyYW1ldGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQTRDO0FBQ3JDLHVDQUF1QyxpREFBUztBQUN2RCxrQkFBa0IsT0FBTztBQUN6QjtBQUNBLDBDQUEwQywrQkFBK0I7QUFDekU7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sd0NBQXdDLGlEQUFTO0FBQ3hELGtCQUFrQixRQUFRO0FBQzFCO0FBQ0EsMkNBQTJDLGdDQUFnQztBQUMzRTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxvQ0FBb0MsaURBQVM7QUFDcEQsa0JBQWtCLE9BQU87QUFDekI7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyw0Q0FBNEMsaURBQVM7QUFDNUQsa0JBQWtCLGFBQWE7QUFDL0I7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLEtBQUs7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sbUNBQW1DLGlEQUFTO0FBQ25ELGtCQUFrQix3QkFBd0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZSxlQUFlLEtBQUssYUFBYTtBQUN0RjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTywyQ0FBMkMsaURBQVM7QUFDM0Qsa0JBQWtCLHdCQUF3QjtBQUMxQztBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsU0FBUyxlQUFlLGVBQWUsS0FBSyxhQUFhO0FBQ3RGLGlHQUFpRyxTQUFTO0FBQzFHO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLDJDQUEyQyxpREFBUztBQUMzRCxrQkFBa0IsZUFBZTtBQUNqQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vaHVtYW4tcmVhZGFibGUvZXJyb3JzL2FiaVBhcmFtZXRlci5qcz9lNTlhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy5qcyc7XG5leHBvcnQgY2xhc3MgSW52YWxpZEFiaVBhcmFtZXRlckVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHBhcmFtIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ZhaWxlZCB0byBwYXJzZSBBQkkgcGFyYW1ldGVyLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IGBwYXJzZUFiaVBhcmFtZXRlcigke0pTT04uc3RyaW5naWZ5KHBhcmFtLCBudWxsLCAyKX0pYCxcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2FwaS9odW1hbi5odG1sI3BhcnNlYWJpcGFyYW1ldGVyLTEnLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBYmlQYXJhbWV0ZXJFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgcGFyYW1zIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ZhaWxlZCB0byBwYXJzZSBBQkkgcGFyYW1ldGVycy4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBgcGFyc2VBYmlQYXJhbWV0ZXJzKCR7SlNPTi5zdHJpbmdpZnkocGFyYW1zLCBudWxsLCAyKX0pYCxcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2FwaS9odW1hbi5odG1sI3BhcnNlYWJpcGFyYW1ldGVycy0xJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQWJpUGFyYW1ldGVyc0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgSW52YWxpZFBhcmFtZXRlckVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHBhcmFtIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ludmFsaWQgQUJJIHBhcmFtZXRlci4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBwYXJhbSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkUGFyYW1ldGVyRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJhbSwgbmFtZSB9KSB7XG4gICAgICAgIHN1cGVyKCdJbnZhbGlkIEFCSSBwYXJhbWV0ZXIuJywge1xuICAgICAgICAgICAgZGV0YWlsczogcGFyYW0sXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgXCIke25hbWV9XCIgaXMgYSBwcm90ZWN0ZWQgU29saWRpdHkga2V5d29yZC4gTW9yZSBpbmZvOiBodHRwczovL2RvY3Muc29saWRpdHlsYW5nLm9yZy9lbi9sYXRlc3QvY2hlYXRzaGVldC5odG1sYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkTW9kaWZpZXJFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJhbSwgdHlwZSwgbW9kaWZpZXIsIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ludmFsaWQgQUJJIHBhcmFtZXRlci4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBwYXJhbSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIGBNb2RpZmllciBcIiR7bW9kaWZpZXJ9XCIgbm90IGFsbG93ZWQke3R5cGUgPyBgIGluIFwiJHt0eXBlfVwiIHR5cGVgIDogJyd9LmAsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRNb2RpZmllckVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJhbSwgdHlwZSwgbW9kaWZpZXIsIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ludmFsaWQgQUJJIHBhcmFtZXRlci4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBwYXJhbSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIGBNb2RpZmllciBcIiR7bW9kaWZpZXJ9XCIgbm90IGFsbG93ZWQke3R5cGUgPyBgIGluIFwiJHt0eXBlfVwiIHR5cGVgIDogJyd9LmAsXG4gICAgICAgICAgICAgICAgYERhdGEgbG9jYXRpb24gY2FuIG9ubHkgYmUgc3BlY2lmaWVkIGZvciBhcnJheSwgc3RydWN0LCBvciBtYXBwaW5nIHR5cGVzLCBidXQgXCIke21vZGlmaWVyfVwiIHdhcyBnaXZlbi5gLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBhYmlQYXJhbWV0ZXIsIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ludmFsaWQgQUJJIHBhcmFtZXRlci4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBKU09OLnN0cmluZ2lmeShhYmlQYXJhbWV0ZXIsIG51bGwsIDIpLFxuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbJ0FCSSBwYXJhbWV0ZXIgdHlwZSBpcyBpbnZhbGlkLiddLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFiaVBhcmFtZXRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/errors/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/errors/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CircularReferenceError: function() { return /* reexport safe */ _struct_js__WEBPACK_IMPORTED_MODULE_4__.CircularReferenceError; },\n/* harmony export */ InvalidAbiItemError: function() { return /* reexport safe */ _abiItem_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiItemError; },\n/* harmony export */ InvalidAbiParameterError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.InvalidAbiParameterError; },\n/* harmony export */ InvalidAbiParametersError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.InvalidAbiParametersError; },\n/* harmony export */ InvalidAbiTypeParameterError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.InvalidAbiTypeParameterError; },\n/* harmony export */ InvalidFunctionModifierError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.InvalidFunctionModifierError; },\n/* harmony export */ InvalidModifierError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.InvalidModifierError; },\n/* harmony export */ InvalidParameterError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.InvalidParameterError; },\n/* harmony export */ InvalidParenthesisError: function() { return /* reexport safe */ _splitParameters_js__WEBPACK_IMPORTED_MODULE_3__.InvalidParenthesisError; },\n/* harmony export */ InvalidSignatureError: function() { return /* reexport safe */ _signature_js__WEBPACK_IMPORTED_MODULE_2__.InvalidSignatureError; },\n/* harmony export */ InvalidStructSignatureError: function() { return /* reexport safe */ _signature_js__WEBPACK_IMPORTED_MODULE_2__.InvalidStructSignatureError; },\n/* harmony export */ SolidityProtectedKeywordError: function() { return /* reexport safe */ _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__.SolidityProtectedKeywordError; },\n/* harmony export */ UnknownSignatureError: function() { return /* reexport safe */ _signature_js__WEBPACK_IMPORTED_MODULE_2__.UnknownSignatureError; },\n/* harmony export */ UnknownSolidityTypeError: function() { return /* reexport safe */ _abiItem_js__WEBPACK_IMPORTED_MODULE_0__.UnknownSolidityTypeError; },\n/* harmony export */ UnknownTypeError: function() { return /* reexport safe */ _abiItem_js__WEBPACK_IMPORTED_MODULE_0__.UnknownTypeError; }\n/* harmony export */ });\n/* harmony import */ var _abiItem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abiItem.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/abiItem.js\");\n/* harmony import */ var _abiParameter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abiParameter.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js\");\n/* harmony import */ var _signature_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./signature.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/signature.js\");\n/* harmony import */ var _splitParameters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./splitParameters.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js\");\n/* harmony import */ var _struct_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./struct.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/struct.js\");\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0c7QUFDaUk7QUFDckg7QUFDN0M7QUFDVjtBQUNyRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvaW5kZXguanM/YzczYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBVbmtub3duVHlwZUVycm9yLCBJbnZhbGlkQWJpSXRlbUVycm9yLCBVbmtub3duU29saWRpdHlUeXBlRXJyb3IsIH0gZnJvbSAnLi9hYmlJdGVtLmpzJztcbmV4cG9ydCB7IEludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3IsIEludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3IsIEludmFsaWRNb2RpZmllckVycm9yLCBTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvciwgSW52YWxpZFBhcmFtZXRlckVycm9yLCBJbnZhbGlkQWJpUGFyYW1ldGVyc0Vycm9yLCBJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3IsIH0gZnJvbSAnLi9hYmlQYXJhbWV0ZXIuanMnO1xuZXhwb3J0IHsgSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yLCBJbnZhbGlkU2lnbmF0dXJlRXJyb3IsIFVua25vd25TaWduYXR1cmVFcnJvciwgfSBmcm9tICcuL3NpZ25hdHVyZS5qcyc7XG5leHBvcnQgeyBJbnZhbGlkUGFyZW50aGVzaXNFcnJvciB9IGZyb20gJy4vc3BsaXRQYXJhbWV0ZXJzLmpzJztcbmV4cG9ydCB7IENpcmN1bGFyUmVmZXJlbmNlRXJyb3IgfSBmcm9tICcuL3N0cnVjdC5qcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/errors/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/errors/signature.js": -/*!**************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/errors/signature.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvalidSignatureError: function() { return /* binding */ InvalidSignatureError; },\n/* harmony export */ InvalidStructSignatureError: function() { return /* binding */ InvalidStructSignatureError; },\n/* harmony export */ UnknownSignatureError: function() { return /* binding */ UnknownSignatureError; }\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/esm/errors.js\");\n\nclass InvalidSignatureError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ signature, type, }) {\n super(`Invalid ${type} signature.`, {\n details: signature,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSignatureError'\n });\n }\n}\nclass UnknownSignatureError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ signature }) {\n super('Unknown signature.', {\n details: signature,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownSignatureError'\n });\n }\n}\nclass InvalidStructSignatureError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ signature }) {\n super('Invalid struct signature.', {\n details: signature,\n metaMessages: ['No properties exist.'],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidStructSignatureError'\n });\n }\n}\n//# sourceMappingURL=signature.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc2lnbmF0dXJlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBNEM7QUFDckMsb0NBQW9DLGlEQUFTO0FBQ3BELGtCQUFrQixrQkFBa0I7QUFDcEMseUJBQXlCLE1BQU07QUFDL0I7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sb0NBQW9DLGlEQUFTO0FBQ3BELGtCQUFrQixXQUFXO0FBQzdCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sMENBQTBDLGlEQUFTO0FBQzFELGtCQUFrQixXQUFXO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc2lnbmF0dXJlLmpzPzFhZGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzLmpzJztcbmV4cG9ydCBjbGFzcyBJbnZhbGlkU2lnbmF0dXJlRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2lnbmF0dXJlLCB0eXBlLCB9KSB7XG4gICAgICAgIHN1cGVyKGBJbnZhbGlkICR7dHlwZX0gc2lnbmF0dXJlLmAsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IHNpZ25hdHVyZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkU2lnbmF0dXJlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBVbmtub3duU2lnbmF0dXJlRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2lnbmF0dXJlIH0pIHtcbiAgICAgICAgc3VwZXIoJ1Vua25vd24gc2lnbmF0dXJlLicsIHtcbiAgICAgICAgICAgIGRldGFpbHM6IHNpZ25hdHVyZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdVbmtub3duU2lnbmF0dXJlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2lnbmF0dXJlIH0pIHtcbiAgICAgICAgc3VwZXIoJ0ludmFsaWQgc3RydWN0IHNpZ25hdHVyZS4nLCB7XG4gICAgICAgICAgICBkZXRhaWxzOiBzaWduYXR1cmUsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFsnTm8gcHJvcGVydGllcyBleGlzdC4nXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpZ25hdHVyZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/errors/signature.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js": -/*!********************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvalidParenthesisError: function() { return /* binding */ InvalidParenthesisError; }\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/esm/errors.js\");\n\nclass InvalidParenthesisError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ current, depth }) {\n super('Unbalanced parentheses.', {\n metaMessages: [\n `\"${current.trim()}\" has too many ${depth > 0 ? 'opening' : 'closing'} parentheses.`,\n ],\n details: `Depth \"${depth}\"`,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParenthesisError'\n });\n }\n}\n//# sourceMappingURL=splitParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc3BsaXRQYXJhbWV0ZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQ3JDLHNDQUFzQyxpREFBUztBQUN0RCxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxpQkFBaUIsbUNBQW1DO0FBQ3ZGO0FBQ0EsK0JBQStCLE1BQU07QUFDckMsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvZXNtL2h1bWFuLXJlYWRhYmxlL2Vycm9ycy9zcGxpdFBhcmFtZXRlcnMuanM/ODI0MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMuanMnO1xuZXhwb3J0IGNsYXNzIEludmFsaWRQYXJlbnRoZXNpc0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGN1cnJlbnQsIGRlcHRoIH0pIHtcbiAgICAgICAgc3VwZXIoJ1VuYmFsYW5jZWQgcGFyZW50aGVzZXMuJywge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgYFwiJHtjdXJyZW50LnRyaW0oKX1cIiBoYXMgdG9vIG1hbnkgJHtkZXB0aCA+IDAgPyAnb3BlbmluZycgOiAnY2xvc2luZyd9IHBhcmVudGhlc2VzLmAsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZGV0YWlsczogYERlcHRoIFwiJHtkZXB0aH1cImAsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZFBhcmVudGhlc2lzRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNwbGl0UGFyYW1ldGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/errors/struct.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/errors/struct.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CircularReferenceError: function() { return /* binding */ CircularReferenceError; }\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors.js */ \"./node_modules/abitype/dist/esm/errors.js\");\n\nclass CircularReferenceError extends _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ type }) {\n super('Circular reference detected.', {\n metaMessages: [`Struct \"${type}\" is a circular reference.`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'CircularReferenceError'\n });\n }\n}\n//# sourceMappingURL=struct.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc3RydWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQ3JDLHFDQUFxQyxpREFBUztBQUNyRCxrQkFBa0IsTUFBTTtBQUN4QjtBQUNBLHNDQUFzQyxLQUFLO0FBQzNDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9lcnJvcnMvc3RydWN0LmpzPzYwNDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzLmpzJztcbmV4cG9ydCBjbGFzcyBDaXJjdWxhclJlZmVyZW5jZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHR5cGUgfSkge1xuICAgICAgICBzdXBlcignQ2lyY3VsYXIgcmVmZXJlbmNlIGRldGVjdGVkLicsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW2BTdHJ1Y3QgXCIke3R5cGV9XCIgaXMgYSBjaXJjdWxhciByZWZlcmVuY2UuYF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ2lyY3VsYXJSZWZlcmVuY2VFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RydWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/errors/struct.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/index.js": -/*!***************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/index.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CircularReferenceError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.CircularReferenceError; },\n/* harmony export */ InvalidAbiItemError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiItemError; },\n/* harmony export */ InvalidAbiParameterError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiParameterError; },\n/* harmony export */ InvalidAbiParametersError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiParametersError; },\n/* harmony export */ InvalidAbiTypeParameterError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiTypeParameterError; },\n/* harmony export */ InvalidFunctionModifierError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidFunctionModifierError; },\n/* harmony export */ InvalidModifierError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidModifierError; },\n/* harmony export */ InvalidParameterError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidParameterError; },\n/* harmony export */ InvalidParenthesisError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidParenthesisError; },\n/* harmony export */ InvalidSignatureError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidSignatureError; },\n/* harmony export */ InvalidStructSignatureError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidStructSignatureError; },\n/* harmony export */ SolidityProtectedKeywordError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.SolidityProtectedKeywordError; },\n/* harmony export */ UnknownSignatureError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.UnknownSignatureError; },\n/* harmony export */ UnknownTypeError: function() { return /* reexport safe */ _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.UnknownTypeError; },\n/* harmony export */ parseAbi: function() { return /* reexport safe */ _parseAbi_js__WEBPACK_IMPORTED_MODULE_1__.parseAbi; },\n/* harmony export */ parseAbiItem: function() { return /* reexport safe */ _parseAbiItem_js__WEBPACK_IMPORTED_MODULE_2__.parseAbiItem; },\n/* harmony export */ parseAbiParameter: function() { return /* reexport safe */ _parseAbiParameter_js__WEBPACK_IMPORTED_MODULE_3__.parseAbiParameter; },\n/* harmony export */ parseAbiParameters: function() { return /* reexport safe */ _parseAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__.parseAbiParameters; }\n/* harmony export */ });\n/* harmony import */ var _errors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/index.js\");\n/* harmony import */ var _parseAbi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parseAbi.js */ \"./node_modules/abitype/dist/esm/human-readable/parseAbi.js\");\n/* harmony import */ var _parseAbiItem_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parseAbiItem.js */ \"./node_modules/abitype/dist/esm/human-readable/parseAbiItem.js\");\n/* harmony import */ var _parseAbiParameter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parseAbiParameter.js */ \"./node_modules/abitype/dist/esm/human-readable/parseAbiParameter.js\");\n/* harmony import */ var _parseAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./parseAbiParameters.js */ \"./node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js\");\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFvWTtBQUMzVjtBQUNRO0FBQ1c7QUFDRTtBQUM5RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9pbmRleC5qcz8zM2EyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENpcmN1bGFyUmVmZXJlbmNlRXJyb3IsIEludmFsaWRQYXJlbnRoZXNpc0Vycm9yLCBVbmtub3duU2lnbmF0dXJlRXJyb3IsIEludmFsaWRTaWduYXR1cmVFcnJvciwgSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yLCBJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3IsIEludmFsaWRBYmlQYXJhbWV0ZXJzRXJyb3IsIEludmFsaWRQYXJhbWV0ZXJFcnJvciwgU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3IsIEludmFsaWRNb2RpZmllckVycm9yLCBJbnZhbGlkRnVuY3Rpb25Nb2RpZmllckVycm9yLCBJbnZhbGlkQWJpVHlwZVBhcmFtZXRlckVycm9yLCBJbnZhbGlkQWJpSXRlbUVycm9yLCBVbmtub3duVHlwZUVycm9yLCB9IGZyb20gJy4vZXJyb3JzL2luZGV4LmpzJztcbmV4cG9ydCB7IHBhcnNlQWJpIH0gZnJvbSAnLi9wYXJzZUFiaS5qcyc7XG5leHBvcnQgeyBwYXJzZUFiaUl0ZW0gfSBmcm9tICcuL3BhcnNlQWJpSXRlbS5qcyc7XG5leHBvcnQgeyBwYXJzZUFiaVBhcmFtZXRlciwgfSBmcm9tICcuL3BhcnNlQWJpUGFyYW1ldGVyLmpzJztcbmV4cG9ydCB7IHBhcnNlQWJpUGFyYW1ldGVycywgfSBmcm9tICcuL3BhcnNlQWJpUGFyYW1ldGVycy5qcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/parseAbi.js": -/*!******************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/parseAbi.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAbi: function() { return /* binding */ parseAbi; }\n/* harmony export */ });\n/* harmony import */ var _runtime_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/index.js\");\n\nfunction parseAbi(signatures) {\n const structs = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_0__.parseStructs)(signatures);\n const abi = [];\n const length = signatures.length;\n for (let i = 0; i < length; i++) {\n const signature = signatures[i];\n if ((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_0__.isStructSignature)(signature))\n continue;\n abi.push((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_0__.parseSignature)(signature, structs));\n }\n return abi;\n}\n//# sourceMappingURL=parseAbi.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFzRjtBQUMvRTtBQUNQLG9CQUFvQiwrREFBWTtBQUNoQztBQUNBO0FBQ0Esb0JBQW9CLFlBQVk7QUFDaEM7QUFDQSxZQUFZLG9FQUFpQjtBQUM3QjtBQUNBLGlCQUFpQixpRUFBYztBQUMvQjtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaS5qcz82MWVlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RydWN0U2lnbmF0dXJlLCBwYXJzZVNpZ25hdHVyZSwgcGFyc2VTdHJ1Y3RzLCB9IGZyb20gJy4vcnVudGltZS9pbmRleC5qcyc7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBYmkoc2lnbmF0dXJlcykge1xuICAgIGNvbnN0IHN0cnVjdHMgPSBwYXJzZVN0cnVjdHMoc2lnbmF0dXJlcyk7XG4gICAgY29uc3QgYWJpID0gW107XG4gICAgY29uc3QgbGVuZ3RoID0gc2lnbmF0dXJlcy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBzaWduYXR1cmUgPSBzaWduYXR1cmVzW2ldO1xuICAgICAgICBpZiAoaXNTdHJ1Y3RTaWduYXR1cmUoc2lnbmF0dXJlKSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBhYmkucHVzaChwYXJzZVNpZ25hdHVyZShzaWduYXR1cmUsIHN0cnVjdHMpKTtcbiAgICB9XG4gICAgcmV0dXJuIGFiaTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWJpLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/parseAbi.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/parseAbiItem.js": -/*!**********************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/parseAbiItem.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAbiItem: function() { return /* binding */ parseAbiItem; }\n/* harmony export */ });\n/* harmony import */ var _errors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/index.js\");\n/* harmony import */ var _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/index.js\");\n\n\nfunction parseAbiItem(signature) {\n let abiItem;\n if (typeof signature === 'string')\n abiItem = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseSignature)(signature);\n else {\n const structs = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseStructs)(signature);\n const length = signature.length;\n for (let i = 0; i < length; i++) {\n const signature_ = signature[i];\n if ((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.isStructSignature)(signature_))\n continue;\n abiItem = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseSignature)(signature_, structs);\n break;\n }\n }\n if (!abiItem)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiItemError({ signature });\n return abiItem;\n}\n//# sourceMappingURL=parseAbiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaUl0ZW0uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXdEO0FBQzhCO0FBQy9FO0FBQ1A7QUFDQTtBQUNBLGtCQUFrQixpRUFBYztBQUNoQztBQUNBLHdCQUF3QiwrREFBWTtBQUNwQztBQUNBLHdCQUF3QixZQUFZO0FBQ3BDO0FBQ0EsZ0JBQWdCLG9FQUFpQjtBQUNqQztBQUNBLHNCQUFzQixpRUFBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpRUFBbUIsR0FBRyxXQUFXO0FBQ25EO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaUl0ZW0uanM/NDUxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkQWJpSXRlbUVycm9yIH0gZnJvbSAnLi9lcnJvcnMvaW5kZXguanMnO1xuaW1wb3J0IHsgaXNTdHJ1Y3RTaWduYXR1cmUsIHBhcnNlU2lnbmF0dXJlLCBwYXJzZVN0cnVjdHMsIH0gZnJvbSAnLi9ydW50aW1lL2luZGV4LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFiaUl0ZW0oc2lnbmF0dXJlKSB7XG4gICAgbGV0IGFiaUl0ZW07XG4gICAgaWYgKHR5cGVvZiBzaWduYXR1cmUgPT09ICdzdHJpbmcnKVxuICAgICAgICBhYmlJdGVtID0gcGFyc2VTaWduYXR1cmUoc2lnbmF0dXJlKTtcbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RydWN0cyA9IHBhcnNlU3RydWN0cyhzaWduYXR1cmUpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBzaWduYXR1cmUubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzaWduYXR1cmVfID0gc2lnbmF0dXJlW2ldO1xuICAgICAgICAgICAgaWYgKGlzU3RydWN0U2lnbmF0dXJlKHNpZ25hdHVyZV8pKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgYWJpSXRlbSA9IHBhcnNlU2lnbmF0dXJlKHNpZ25hdHVyZV8sIHN0cnVjdHMpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFhYmlJdGVtKVxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFiaUl0ZW1FcnJvcih7IHNpZ25hdHVyZSB9KTtcbiAgICByZXR1cm4gYWJpSXRlbTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWJpSXRlbS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/parseAbiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/parseAbiParameter.js": -/*!***************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/parseAbiParameter.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAbiParameter: function() { return /* binding */ parseAbiParameter; }\n/* harmony export */ });\n/* harmony import */ var _errors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/index.js\");\n/* harmony import */ var _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/index.js\");\n\n\nfunction parseAbiParameter(param) {\n let abiParameter;\n if (typeof param === 'string')\n abiParameter = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseAbiParameter)(param, {\n modifiers: _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.modifiers,\n });\n else {\n const structs = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseStructs)(param);\n const length = param.length;\n for (let i = 0; i < length; i++) {\n const signature = param[i];\n if ((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.isStructSignature)(signature))\n continue;\n abiParameter = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseAbiParameter)(signature, { modifiers: _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.modifiers, structs });\n break;\n }\n }\n if (!abiParameter)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiParameterError({ param });\n return abiParameter;\n}\n//# sourceMappingURL=parseAbiParameter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaVBhcmFtZXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBNkQ7QUFDNkQ7QUFDbkg7QUFDUDtBQUNBO0FBQ0EsdUJBQXVCLG9FQUFrQjtBQUN6QyxxQkFBcUI7QUFDckIsU0FBUztBQUNUO0FBQ0Esd0JBQXdCLCtEQUFZO0FBQ3BDO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEM7QUFDQSxnQkFBZ0Isb0VBQWlCO0FBQ2pDO0FBQ0EsMkJBQTJCLG9FQUFrQixjQUFjLFNBQVMscUVBQVc7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isc0VBQXdCLEdBQUcsT0FBTztBQUNwRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vaHVtYW4tcmVhZGFibGUvcGFyc2VBYmlQYXJhbWV0ZXIuanM/NTFkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkQWJpUGFyYW1ldGVyRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9pbmRleC5qcyc7XG5pbXBvcnQgeyBpc1N0cnVjdFNpZ25hdHVyZSwgbW9kaWZpZXJzLCBwYXJzZUFiaVBhcmFtZXRlciBhcyBwYXJzZUFiaVBhcmFtZXRlcl8sIHBhcnNlU3RydWN0cywgfSBmcm9tICcuL3J1bnRpbWUvaW5kZXguanMnO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWJpUGFyYW1ldGVyKHBhcmFtKSB7XG4gICAgbGV0IGFiaVBhcmFtZXRlcjtcbiAgICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJylcbiAgICAgICAgYWJpUGFyYW1ldGVyID0gcGFyc2VBYmlQYXJhbWV0ZXJfKHBhcmFtLCB7XG4gICAgICAgICAgICBtb2RpZmllcnMsXG4gICAgICAgIH0pO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBzdHJ1Y3RzID0gcGFyc2VTdHJ1Y3RzKHBhcmFtKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyYW0ubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzaWduYXR1cmUgPSBwYXJhbVtpXTtcbiAgICAgICAgICAgIGlmIChpc1N0cnVjdFNpZ25hdHVyZShzaWduYXR1cmUpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgYWJpUGFyYW1ldGVyID0gcGFyc2VBYmlQYXJhbWV0ZXJfKHNpZ25hdHVyZSwgeyBtb2RpZmllcnMsIHN0cnVjdHMgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWFiaVBhcmFtZXRlcilcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBYmlQYXJhbWV0ZXJFcnJvcih7IHBhcmFtIH0pO1xuICAgIHJldHVybiBhYmlQYXJhbWV0ZXI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZUFiaVBhcmFtZXRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/parseAbiParameter.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js": -/*!****************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAbiParameters: function() { return /* binding */ parseAbiParameters; }\n/* harmony export */ });\n/* harmony import */ var _errors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors/index.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/index.js\");\n/* harmony import */ var _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./runtime/index.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/index.js\");\n\n\nfunction parseAbiParameters(params) {\n const abiParameters = [];\n if (typeof params === 'string') {\n const parameters = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.splitParameters)(params);\n const length = parameters.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseAbiParameter)(parameters[i], { modifiers: _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.modifiers }));\n }\n }\n else {\n const structs = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseStructs)(params);\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const signature = params[i];\n if ((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.isStructSignature)(signature))\n continue;\n const parameters = (0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.splitParameters)(signature);\n const length = parameters.length;\n for (let k = 0; k < length; k++) {\n abiParameters.push((0,_runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.parseAbiParameter)(parameters[k], { modifiers: _runtime_index_js__WEBPACK_IMPORTED_MODULE_1__.modifiers, structs }));\n }\n }\n }\n if (abiParameters.length === 0)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiParametersError({ params });\n return abiParameters;\n}\n//# sourceMappingURL=parseAbiParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaVBhcmFtZXRlcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThEO0FBQzZFO0FBQ3BJO0FBQ1A7QUFDQTtBQUNBLDJCQUEyQixrRUFBZTtBQUMxQztBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLCtCQUErQixvRUFBa0Isa0JBQWtCLFNBQVMsNERBQUU7QUFDOUU7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLCtEQUFZO0FBQ3BDO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEM7QUFDQSxnQkFBZ0Isb0VBQWlCO0FBQ2pDO0FBQ0EsK0JBQStCLGtFQUFlO0FBQzlDO0FBQ0EsNEJBQTRCLFlBQVk7QUFDeEMsbUNBQW1DLG9FQUFrQixrQkFBa0IsU0FBUyxxRUFBVztBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix1RUFBeUIsR0FBRyxRQUFRO0FBQ3REO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9wYXJzZUFiaVBhcmFtZXRlcnMuanM/ZWJjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkQWJpUGFyYW1ldGVyc0Vycm9yIH0gZnJvbSAnLi9lcnJvcnMvaW5kZXguanMnO1xuaW1wb3J0IHsgaXNTdHJ1Y3RTaWduYXR1cmUsIG1vZGlmaWVycywgcGFyc2VBYmlQYXJhbWV0ZXIgYXMgcGFyc2VBYmlQYXJhbWV0ZXJfLCBwYXJzZVN0cnVjdHMsIHNwbGl0UGFyYW1ldGVycywgfSBmcm9tICcuL3J1bnRpbWUvaW5kZXguanMnO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWJpUGFyYW1ldGVycyhwYXJhbXMpIHtcbiAgICBjb25zdCBhYmlQYXJhbWV0ZXJzID0gW107XG4gICAgaWYgKHR5cGVvZiBwYXJhbXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBzcGxpdFBhcmFtZXRlcnMocGFyYW1zKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyYW1ldGVycy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFiaVBhcmFtZXRlcnMucHVzaChwYXJzZUFiaVBhcmFtZXRlcl8ocGFyYW1ldGVyc1tpXSwgeyBtb2RpZmllcnMgfSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBzdHJ1Y3RzID0gcGFyc2VTdHJ1Y3RzKHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IHBhcmFtc1tpXTtcbiAgICAgICAgICAgIGlmIChpc1N0cnVjdFNpZ25hdHVyZShzaWduYXR1cmUpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHNwbGl0UGFyYW1ldGVycyhzaWduYXR1cmUpO1xuICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gcGFyYW1ldGVycy5sZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IGxlbmd0aDsgaysrKSB7XG4gICAgICAgICAgICAgICAgYWJpUGFyYW1ldGVycy5wdXNoKHBhcnNlQWJpUGFyYW1ldGVyXyhwYXJhbWV0ZXJzW2tdLCB7IG1vZGlmaWVycywgc3RydWN0cyB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFiaVBhcmFtZXRlcnMubGVuZ3RoID09PSAwKVxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvcih7IHBhcmFtcyB9KTtcbiAgICByZXR1cm4gYWJpUGFyYW1ldGVycztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWJpUGFyYW1ldGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/runtime/cache.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/runtime/cache.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getParameterCacheKey: function() { return /* binding */ getParameterCacheKey; },\n/* harmony export */ parameterCache: function() { return /* binding */ parameterCache; }\n/* harmony export */ });\nfunction getParameterCacheKey(param, type) {\n if (type)\n return `${type}:${param}`;\n return param;\n}\nconst parameterCache = new Map([\n ['address', { type: 'address' }],\n ['bool', { type: 'bool' }],\n ['bytes', { type: 'bytes' }],\n ['bytes32', { type: 'bytes32' }],\n ['int', { type: 'int256' }],\n ['int256', { type: 'int256' }],\n ['string', { type: 'string' }],\n ['uint', { type: 'uint256' }],\n ['uint8', { type: 'uint8' }],\n ['uint16', { type: 'uint16' }],\n ['uint24', { type: 'uint24' }],\n ['uint32', { type: 'uint32' }],\n ['uint64', { type: 'uint64' }],\n ['uint96', { type: 'uint96' }],\n ['uint112', { type: 'uint112' }],\n ['uint160', { type: 'uint160' }],\n ['uint192', { type: 'uint192' }],\n ['uint256', { type: 'uint256' }],\n ['address owner', { type: 'address', name: 'owner' }],\n ['address to', { type: 'address', name: 'to' }],\n ['bool approved', { type: 'bool', name: 'approved' }],\n ['bytes _data', { type: 'bytes', name: '_data' }],\n ['bytes data', { type: 'bytes', name: 'data' }],\n ['bytes signature', { type: 'bytes', name: 'signature' }],\n ['bytes32 hash', { type: 'bytes32', name: 'hash' }],\n ['bytes32 r', { type: 'bytes32', name: 'r' }],\n ['bytes32 root', { type: 'bytes32', name: 'root' }],\n ['bytes32 s', { type: 'bytes32', name: 's' }],\n ['string name', { type: 'string', name: 'name' }],\n ['string symbol', { type: 'string', name: 'symbol' }],\n ['string tokenURI', { type: 'string', name: 'tokenURI' }],\n ['uint tokenId', { type: 'uint256', name: 'tokenId' }],\n ['uint8 v', { type: 'uint8', name: 'v' }],\n ['uint256 balance', { type: 'uint256', name: 'balance' }],\n ['uint256 tokenId', { type: 'uint256', name: 'tokenId' }],\n ['uint256 value', { type: 'uint256', name: 'value' }],\n [\n 'event:address indexed from',\n { type: 'address', name: 'from', indexed: true },\n ],\n ['event:address indexed to', { type: 'address', name: 'to', indexed: true }],\n [\n 'event:uint indexed tokenId',\n { type: 'uint256', name: 'tokenId', indexed: true },\n ],\n [\n 'event:uint256 indexed tokenId',\n { type: 'uint256', name: 'tokenId', indexed: true },\n ],\n]);\n//# sourceMappingURL=cache.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9ydW50aW1lL2NhY2hlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUDtBQUNBLGtCQUFrQixLQUFLLEdBQUcsTUFBTTtBQUNoQztBQUNBO0FBQ087QUFDUCxrQkFBa0IsaUJBQWlCO0FBQ25DLGVBQWUsY0FBYztBQUM3QixnQkFBZ0IsZUFBZTtBQUMvQixrQkFBa0IsaUJBQWlCO0FBQ25DLGNBQWMsZ0JBQWdCO0FBQzlCLGlCQUFpQixnQkFBZ0I7QUFDakMsaUJBQWlCLGdCQUFnQjtBQUNqQyxlQUFlLGlCQUFpQjtBQUNoQyxnQkFBZ0IsZUFBZTtBQUMvQixpQkFBaUIsZ0JBQWdCO0FBQ2pDLGlCQUFpQixnQkFBZ0I7QUFDakMsaUJBQWlCLGdCQUFnQjtBQUNqQyxpQkFBaUIsZ0JBQWdCO0FBQ2pDLGlCQUFpQixnQkFBZ0I7QUFDakMsa0JBQWtCLGlCQUFpQjtBQUNuQyxrQkFBa0IsaUJBQWlCO0FBQ25DLGtCQUFrQixpQkFBaUI7QUFDbkMsa0JBQWtCLGlCQUFpQjtBQUNuQyx3QkFBd0IsZ0NBQWdDO0FBQ3hELHFCQUFxQiw2QkFBNkI7QUFDbEQsd0JBQXdCLGdDQUFnQztBQUN4RCxzQkFBc0IsOEJBQThCO0FBQ3BELHFCQUFxQiw2QkFBNkI7QUFDbEQsMEJBQTBCLGtDQUFrQztBQUM1RCx1QkFBdUIsK0JBQStCO0FBQ3RELG9CQUFvQiw0QkFBNEI7QUFDaEQsdUJBQXVCLCtCQUErQjtBQUN0RCxvQkFBb0IsNEJBQTRCO0FBQ2hELHNCQUFzQiw4QkFBOEI7QUFDcEQsd0JBQXdCLGdDQUFnQztBQUN4RCwwQkFBMEIsa0NBQWtDO0FBQzVELHVCQUF1QixrQ0FBa0M7QUFDekQsa0JBQWtCLDBCQUEwQjtBQUM1QywwQkFBMEIsa0NBQWtDO0FBQzVELDBCQUEwQixrQ0FBa0M7QUFDNUQsd0JBQXdCLGdDQUFnQztBQUN4RDtBQUNBO0FBQ0EsVUFBVSw4Q0FBOEM7QUFDeEQ7QUFDQSxtQ0FBbUMsNENBQTRDO0FBQy9FO0FBQ0E7QUFDQSxVQUFVLGlEQUFpRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQSxVQUFVLGlEQUFpRDtBQUMzRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vaHVtYW4tcmVhZGFibGUvcnVudGltZS9jYWNoZS5qcz8yNDM5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRQYXJhbWV0ZXJDYWNoZUtleShwYXJhbSwgdHlwZSkge1xuICAgIGlmICh0eXBlKVxuICAgICAgICByZXR1cm4gYCR7dHlwZX06JHtwYXJhbX1gO1xuICAgIHJldHVybiBwYXJhbTtcbn1cbmV4cG9ydCBjb25zdCBwYXJhbWV0ZXJDYWNoZSA9IG5ldyBNYXAoW1xuICAgIFsnYWRkcmVzcycsIHsgdHlwZTogJ2FkZHJlc3MnIH1dLFxuICAgIFsnYm9vbCcsIHsgdHlwZTogJ2Jvb2wnIH1dLFxuICAgIFsnYnl0ZXMnLCB7IHR5cGU6ICdieXRlcycgfV0sXG4gICAgWydieXRlczMyJywgeyB0eXBlOiAnYnl0ZXMzMicgfV0sXG4gICAgWydpbnQnLCB7IHR5cGU6ICdpbnQyNTYnIH1dLFxuICAgIFsnaW50MjU2JywgeyB0eXBlOiAnaW50MjU2JyB9XSxcbiAgICBbJ3N0cmluZycsIHsgdHlwZTogJ3N0cmluZycgfV0sXG4gICAgWyd1aW50JywgeyB0eXBlOiAndWludDI1NicgfV0sXG4gICAgWyd1aW50OCcsIHsgdHlwZTogJ3VpbnQ4JyB9XSxcbiAgICBbJ3VpbnQxNicsIHsgdHlwZTogJ3VpbnQxNicgfV0sXG4gICAgWyd1aW50MjQnLCB7IHR5cGU6ICd1aW50MjQnIH1dLFxuICAgIFsndWludDMyJywgeyB0eXBlOiAndWludDMyJyB9XSxcbiAgICBbJ3VpbnQ2NCcsIHsgdHlwZTogJ3VpbnQ2NCcgfV0sXG4gICAgWyd1aW50OTYnLCB7IHR5cGU6ICd1aW50OTYnIH1dLFxuICAgIFsndWludDExMicsIHsgdHlwZTogJ3VpbnQxMTInIH1dLFxuICAgIFsndWludDE2MCcsIHsgdHlwZTogJ3VpbnQxNjAnIH1dLFxuICAgIFsndWludDE5MicsIHsgdHlwZTogJ3VpbnQxOTInIH1dLFxuICAgIFsndWludDI1NicsIHsgdHlwZTogJ3VpbnQyNTYnIH1dLFxuICAgIFsnYWRkcmVzcyBvd25lcicsIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAnb3duZXInIH1dLFxuICAgIFsnYWRkcmVzcyB0bycsIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAndG8nIH1dLFxuICAgIFsnYm9vbCBhcHByb3ZlZCcsIHsgdHlwZTogJ2Jvb2wnLCBuYW1lOiAnYXBwcm92ZWQnIH1dLFxuICAgIFsnYnl0ZXMgX2RhdGEnLCB7IHR5cGU6ICdieXRlcycsIG5hbWU6ICdfZGF0YScgfV0sXG4gICAgWydieXRlcyBkYXRhJywgeyB0eXBlOiAnYnl0ZXMnLCBuYW1lOiAnZGF0YScgfV0sXG4gICAgWydieXRlcyBzaWduYXR1cmUnLCB7IHR5cGU6ICdieXRlcycsIG5hbWU6ICdzaWduYXR1cmUnIH1dLFxuICAgIFsnYnl0ZXMzMiBoYXNoJywgeyB0eXBlOiAnYnl0ZXMzMicsIG5hbWU6ICdoYXNoJyB9XSxcbiAgICBbJ2J5dGVzMzIgcicsIHsgdHlwZTogJ2J5dGVzMzInLCBuYW1lOiAncicgfV0sXG4gICAgWydieXRlczMyIHJvb3QnLCB7IHR5cGU6ICdieXRlczMyJywgbmFtZTogJ3Jvb3QnIH1dLFxuICAgIFsnYnl0ZXMzMiBzJywgeyB0eXBlOiAnYnl0ZXMzMicsIG5hbWU6ICdzJyB9XSxcbiAgICBbJ3N0cmluZyBuYW1lJywgeyB0eXBlOiAnc3RyaW5nJywgbmFtZTogJ25hbWUnIH1dLFxuICAgIFsnc3RyaW5nIHN5bWJvbCcsIHsgdHlwZTogJ3N0cmluZycsIG5hbWU6ICdzeW1ib2wnIH1dLFxuICAgIFsnc3RyaW5nIHRva2VuVVJJJywgeyB0eXBlOiAnc3RyaW5nJywgbmFtZTogJ3Rva2VuVVJJJyB9XSxcbiAgICBbJ3VpbnQgdG9rZW5JZCcsIHsgdHlwZTogJ3VpbnQyNTYnLCBuYW1lOiAndG9rZW5JZCcgfV0sXG4gICAgWyd1aW50OCB2JywgeyB0eXBlOiAndWludDgnLCBuYW1lOiAndicgfV0sXG4gICAgWyd1aW50MjU2IGJhbGFuY2UnLCB7IHR5cGU6ICd1aW50MjU2JywgbmFtZTogJ2JhbGFuY2UnIH1dLFxuICAgIFsndWludDI1NiB0b2tlbklkJywgeyB0eXBlOiAndWludDI1NicsIG5hbWU6ICd0b2tlbklkJyB9XSxcbiAgICBbJ3VpbnQyNTYgdmFsdWUnLCB7IHR5cGU6ICd1aW50MjU2JywgbmFtZTogJ3ZhbHVlJyB9XSxcbiAgICBbXG4gICAgICAgICdldmVudDphZGRyZXNzIGluZGV4ZWQgZnJvbScsXG4gICAgICAgIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAnZnJvbScsIGluZGV4ZWQ6IHRydWUgfSxcbiAgICBdLFxuICAgIFsnZXZlbnQ6YWRkcmVzcyBpbmRleGVkIHRvJywgeyB0eXBlOiAnYWRkcmVzcycsIG5hbWU6ICd0bycsIGluZGV4ZWQ6IHRydWUgfV0sXG4gICAgW1xuICAgICAgICAnZXZlbnQ6dWludCBpbmRleGVkIHRva2VuSWQnLFxuICAgICAgICB7IHR5cGU6ICd1aW50MjU2JywgbmFtZTogJ3Rva2VuSWQnLCBpbmRleGVkOiB0cnVlIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdldmVudDp1aW50MjU2IGluZGV4ZWQgdG9rZW5JZCcsXG4gICAgICAgIHsgdHlwZTogJ3VpbnQyNTYnLCBuYW1lOiAndG9rZW5JZCcsIGluZGV4ZWQ6IHRydWUgfSxcbiAgICBdLFxuXSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jYWNoZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/runtime/cache.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/runtime/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/runtime/index.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ eventModifiers: function() { return /* reexport safe */ _signatures_js__WEBPACK_IMPORTED_MODULE_0__.eventModifiers; },\n/* harmony export */ functionModifiers: function() { return /* reexport safe */ _signatures_js__WEBPACK_IMPORTED_MODULE_0__.functionModifiers; },\n/* harmony export */ isStructSignature: function() { return /* reexport safe */ _signatures_js__WEBPACK_IMPORTED_MODULE_0__.isStructSignature; },\n/* harmony export */ modifiers: function() { return /* reexport safe */ _signatures_js__WEBPACK_IMPORTED_MODULE_0__.modifiers; },\n/* harmony export */ parseAbiParameter: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_2__.parseAbiParameter; },\n/* harmony export */ parseSignature: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_2__.parseSignature; },\n/* harmony export */ parseStructs: function() { return /* reexport safe */ _structs_js__WEBPACK_IMPORTED_MODULE_1__.parseStructs; },\n/* harmony export */ splitParameters: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_2__.splitParameters; }\n/* harmony export */ });\n/* harmony import */ var _signatures_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./signatures.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/signatures.js\");\n/* harmony import */ var _structs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./structs.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/structs.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/utils.js\");\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9ydW50aW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQW1HO0FBQ3ZEO0FBQ29DO0FBQ2hGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvZXNtL2h1bWFuLXJlYWRhYmxlL3J1bnRpbWUvaW5kZXguanM/Y2FkMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBldmVudE1vZGlmaWVycywgZnVuY3Rpb25Nb2RpZmllcnMsIGlzU3RydWN0U2lnbmF0dXJlLCBtb2RpZmllcnMsIH0gZnJvbSAnLi9zaWduYXR1cmVzLmpzJztcbmV4cG9ydCB7IHBhcnNlU3RydWN0cyB9IGZyb20gJy4vc3RydWN0cy5qcyc7XG5leHBvcnQgeyBwYXJzZUFiaVBhcmFtZXRlciwgcGFyc2VTaWduYXR1cmUsIHNwbGl0UGFyYW1ldGVycyB9IGZyb20gJy4vdXRpbHMuanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/runtime/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/runtime/signatures.js": -/*!****************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/runtime/signatures.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ eventModifiers: function() { return /* binding */ eventModifiers; },\n/* harmony export */ execConstructorSignature: function() { return /* binding */ execConstructorSignature; },\n/* harmony export */ execErrorSignature: function() { return /* binding */ execErrorSignature; },\n/* harmony export */ execEventSignature: function() { return /* binding */ execEventSignature; },\n/* harmony export */ execFunctionSignature: function() { return /* binding */ execFunctionSignature; },\n/* harmony export */ execStructSignature: function() { return /* binding */ execStructSignature; },\n/* harmony export */ functionModifiers: function() { return /* binding */ functionModifiers; },\n/* harmony export */ isConstructorSignature: function() { return /* binding */ isConstructorSignature; },\n/* harmony export */ isErrorSignature: function() { return /* binding */ isErrorSignature; },\n/* harmony export */ isEventSignature: function() { return /* binding */ isEventSignature; },\n/* harmony export */ isFallbackSignature: function() { return /* binding */ isFallbackSignature; },\n/* harmony export */ isFunctionSignature: function() { return /* binding */ isFunctionSignature; },\n/* harmony export */ isReceiveSignature: function() { return /* binding */ isReceiveSignature; },\n/* harmony export */ isStructSignature: function() { return /* binding */ isStructSignature; },\n/* harmony export */ modifiers: function() { return /* binding */ modifiers; }\n/* harmony export */ });\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../regex.js */ \"./node_modules/abitype/dist/esm/regex.js\");\n\nconst errorSignatureRegex = /^error (?<name>[a-zA-Z0-9_]+)\\((?<parameters>.*?)\\)$/;\nfunction isErrorSignature(signature) {\n return errorSignatureRegex.test(signature);\n}\nfunction execErrorSignature(signature) {\n return (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(errorSignatureRegex, signature);\n}\nconst eventSignatureRegex = /^event (?<name>[a-zA-Z0-9_]+)\\((?<parameters>.*?)\\)$/;\nfunction isEventSignature(signature) {\n return eventSignatureRegex.test(signature);\n}\nfunction execEventSignature(signature) {\n return (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(eventSignatureRegex, signature);\n}\nconst functionSignatureRegex = /^function (?<name>[a-zA-Z0-9_]+)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/;\nfunction isFunctionSignature(signature) {\n return functionSignatureRegex.test(signature);\n}\nfunction execFunctionSignature(signature) {\n return (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(functionSignatureRegex, signature);\n}\nconst structSignatureRegex = /^struct (?<name>[a-zA-Z0-9_]+) \\{(?<properties>.*?)\\}$/;\nfunction isStructSignature(signature) {\n return structSignatureRegex.test(signature);\n}\nfunction execStructSignature(signature) {\n return (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(structSignatureRegex, signature);\n}\nconst constructorSignatureRegex = /^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/;\nfunction isConstructorSignature(signature) {\n return constructorSignatureRegex.test(signature);\n}\nfunction execConstructorSignature(signature) {\n return (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(constructorSignatureRegex, signature);\n}\nconst fallbackSignatureRegex = /^fallback\\(\\)$/;\nfunction isFallbackSignature(signature) {\n return fallbackSignatureRegex.test(signature);\n}\nconst receiveSignatureRegex = /^receive\\(\\) external payable$/;\nfunction isReceiveSignature(signature) {\n return receiveSignatureRegex.test(signature);\n}\nconst modifiers = new Set([\n 'memory',\n 'indexed',\n 'storage',\n 'calldata',\n]);\nconst eventModifiers = new Set(['indexed']);\nconst functionModifiers = new Set([\n 'calldata',\n 'memory',\n 'storage',\n]);\n//# sourceMappingURL=signatures.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9ydW50aW1lL3NpZ25hdHVyZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEyQztBQUMzQztBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1AsV0FBVyxvREFBUztBQUNwQjtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUCxXQUFXLG9EQUFTO0FBQ3BCO0FBQ0EsbUhBQW1ILEVBQUUsdURBQXVELEVBQUU7QUFDdks7QUFDUDtBQUNBO0FBQ087QUFDUCxXQUFXLG9EQUFTO0FBQ3BCO0FBQ0EsK0RBQStELG9CQUFvQjtBQUM1RTtBQUNQO0FBQ0E7QUFDTztBQUNQLFdBQVcsb0RBQVM7QUFDcEI7QUFDQSxxR0FBcUcsRUFBRTtBQUNoRztBQUNQO0FBQ0E7QUFDTztBQUNQLFdBQVcsb0RBQVM7QUFDcEI7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vaHVtYW4tcmVhZGFibGUvcnVudGltZS9zaWduYXR1cmVzLmpzPzQ0MmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1R5cGVkIH0gZnJvbSAnLi4vLi4vcmVnZXguanMnO1xuY29uc3QgZXJyb3JTaWduYXR1cmVSZWdleCA9IC9eZXJyb3IgKD88bmFtZT5bYS16QS1aMC05X10rKVxcKCg/PHBhcmFtZXRlcnM+Lio/KVxcKSQvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXJyb3JTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIGVycm9yU2lnbmF0dXJlUmVnZXgudGVzdChzaWduYXR1cmUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWNFcnJvclNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gZXhlY1R5cGVkKGVycm9yU2lnbmF0dXJlUmVnZXgsIHNpZ25hdHVyZSk7XG59XG5jb25zdCBldmVudFNpZ25hdHVyZVJlZ2V4ID0gL15ldmVudCAoPzxuYW1lPlthLXpBLVowLTlfXSspXFwoKD88cGFyYW1ldGVycz4uKj8pXFwpJC87XG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudFNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gZXZlbnRTaWduYXR1cmVSZWdleC50ZXN0KHNpZ25hdHVyZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXhlY0V2ZW50U2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiBleGVjVHlwZWQoZXZlbnRTaWduYXR1cmVSZWdleCwgc2lnbmF0dXJlKTtcbn1cbmNvbnN0IGZ1bmN0aW9uU2lnbmF0dXJlUmVnZXggPSAvXmZ1bmN0aW9uICg/PG5hbWU+W2EtekEtWjAtOV9dKylcXCgoPzxwYXJhbWV0ZXJzPi4qPylcXCkoPzogKD88c2NvcGU+ZXh0ZXJuYWx8cHVibGljezF9KSk/KD86ICg/PHN0YXRlTXV0YWJpbGl0eT5wdXJlfHZpZXd8bm9ucGF5YWJsZXxwYXlhYmxlezF9KSk/KD86IHJldHVybnNcXHM/XFwoKD88cmV0dXJucz4uKj8pXFwpKT8kLztcbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uU2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiBmdW5jdGlvblNpZ25hdHVyZVJlZ2V4LnRlc3Qoc2lnbmF0dXJlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBleGVjRnVuY3Rpb25TaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIGV4ZWNUeXBlZChmdW5jdGlvblNpZ25hdHVyZVJlZ2V4LCBzaWduYXR1cmUpO1xufVxuY29uc3Qgc3RydWN0U2lnbmF0dXJlUmVnZXggPSAvXnN0cnVjdCAoPzxuYW1lPlthLXpBLVowLTlfXSspIFxceyg/PHByb3BlcnRpZXM+Lio/KVxcfSQvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RydWN0U2lnbmF0dXJlKHNpZ25hdHVyZSkge1xuICAgIHJldHVybiBzdHJ1Y3RTaWduYXR1cmVSZWdleC50ZXN0KHNpZ25hdHVyZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXhlY1N0cnVjdFNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gZXhlY1R5cGVkKHN0cnVjdFNpZ25hdHVyZVJlZ2V4LCBzaWduYXR1cmUpO1xufVxuY29uc3QgY29uc3RydWN0b3JTaWduYXR1cmVSZWdleCA9IC9eY29uc3RydWN0b3JcXCgoPzxwYXJhbWV0ZXJzPi4qPylcXCkoPzpcXHMoPzxzdGF0ZU11dGFiaWxpdHk+cGF5YWJsZXsxfSkpPyQvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uc3RydWN0b3JTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yU2lnbmF0dXJlUmVnZXgudGVzdChzaWduYXR1cmUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWNDb25zdHJ1Y3RvclNpZ25hdHVyZShzaWduYXR1cmUpIHtcbiAgICByZXR1cm4gZXhlY1R5cGVkKGNvbnN0cnVjdG9yU2lnbmF0dXJlUmVnZXgsIHNpZ25hdHVyZSk7XG59XG5jb25zdCBmYWxsYmFja1NpZ25hdHVyZVJlZ2V4ID0gL15mYWxsYmFja1xcKFxcKSQvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzRmFsbGJhY2tTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIGZhbGxiYWNrU2lnbmF0dXJlUmVnZXgudGVzdChzaWduYXR1cmUpO1xufVxuY29uc3QgcmVjZWl2ZVNpZ25hdHVyZVJlZ2V4ID0gL15yZWNlaXZlXFwoXFwpIGV4dGVybmFsIHBheWFibGUkLztcbmV4cG9ydCBmdW5jdGlvbiBpc1JlY2VpdmVTaWduYXR1cmUoc2lnbmF0dXJlKSB7XG4gICAgcmV0dXJuIHJlY2VpdmVTaWduYXR1cmVSZWdleC50ZXN0KHNpZ25hdHVyZSk7XG59XG5leHBvcnQgY29uc3QgbW9kaWZpZXJzID0gbmV3IFNldChbXG4gICAgJ21lbW9yeScsXG4gICAgJ2luZGV4ZWQnLFxuICAgICdzdG9yYWdlJyxcbiAgICAnY2FsbGRhdGEnLFxuXSk7XG5leHBvcnQgY29uc3QgZXZlbnRNb2RpZmllcnMgPSBuZXcgU2V0KFsnaW5kZXhlZCddKTtcbmV4cG9ydCBjb25zdCBmdW5jdGlvbk1vZGlmaWVycyA9IG5ldyBTZXQoW1xuICAgICdjYWxsZGF0YScsXG4gICAgJ21lbW9yeScsXG4gICAgJ3N0b3JhZ2UnLFxuXSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaWduYXR1cmVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/runtime/signatures.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/runtime/structs.js": -/*!*************************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/runtime/structs.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseStructs: function() { return /* binding */ parseStructs; }\n/* harmony export */ });\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../regex.js */ \"./node_modules/abitype/dist/esm/regex.js\");\n/* harmony import */ var _errors_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors/index.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/index.js\");\n/* harmony import */ var _signatures_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./signatures.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/signatures.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/utils.js\");\n\n\n\n\n\nfunction parseStructs(signatures) {\n const shallowStructs = {};\n const signaturesLength = signatures.length;\n for (let i = 0; i < signaturesLength; i++) {\n const signature = signatures[i];\n if (!(0,_signatures_js__WEBPACK_IMPORTED_MODULE_2__.isStructSignature)(signature))\n continue;\n const match = (0,_signatures_js__WEBPACK_IMPORTED_MODULE_2__.execStructSignature)(signature);\n if (!match)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidSignatureError({ signature, type: 'struct' });\n const properties = match.properties.split(';');\n const components = [];\n const propertiesLength = properties.length;\n for (let k = 0; k < propertiesLength; k++) {\n const property = properties[k];\n const trimmed = property.trim();\n if (!trimmed)\n continue;\n const abiParameter = (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.parseAbiParameter)(trimmed, {\n type: 'struct',\n });\n components.push(abiParameter);\n }\n if (!components.length)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidStructSignatureError({ signature });\n shallowStructs[match.name] = components;\n }\n const resolvedStructs = {};\n const entries = Object.entries(shallowStructs);\n const entriesLength = entries.length;\n for (let i = 0; i < entriesLength; i++) {\n const [name, parameters] = entries[i];\n resolvedStructs[name] = resolveStructs(parameters, shallowStructs);\n }\n return resolvedStructs;\n}\nconst typeWithoutTupleRegex = /^(?<type>[a-zA-Z0-9_]+?)(?<array>(?:\\[\\d*?\\])+?)?$/;\nfunction resolveStructs(abiParameters, structs, ancestors = new Set()) {\n const components = [];\n const length = abiParameters.length;\n for (let i = 0; i < length; i++) {\n const abiParameter = abiParameters[i];\n const isTuple = _regex_js__WEBPACK_IMPORTED_MODULE_0__.isTupleRegex.test(abiParameter.type);\n if (isTuple)\n components.push(abiParameter);\n else {\n const match = (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(typeWithoutTupleRegex, abiParameter.type);\n if (!match?.type)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidAbiTypeParameterError({ abiParameter });\n const { array, type } = match;\n if (type in structs) {\n if (ancestors.has(type))\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.CircularReferenceError({ type });\n components.push({\n ...abiParameter,\n type: `tuple${array ?? ''}`,\n components: resolveStructs(structs[type] ?? [], structs, new Set([...ancestors, type])),\n });\n }\n else {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.isSolidityType)(type))\n components.push(abiParameter);\n else\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.UnknownTypeError({ type });\n }\n }\n }\n return components;\n}\n//# sourceMappingURL=structs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9ydW50aW1lL3N0cnVjdHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBeUQ7QUFDSDtBQUN5RjtBQUN0RTtBQUNWO0FBQ3hEO0FBQ1A7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQSxhQUFhLGlFQUFpQjtBQUM5QjtBQUNBLHNCQUFzQixtRUFBbUI7QUFDekM7QUFDQSxzQkFBc0IsbUVBQXFCLEdBQUcsMkJBQTJCO0FBQ3pFLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0Esd0JBQXdCLHNCQUFzQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyw0REFBaUI7QUFDbEQ7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHlFQUEyQixHQUFHLFdBQVc7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFlBQVk7QUFDaEM7QUFDQSx3QkFBd0IsbURBQVk7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG9EQUFTO0FBQ25DO0FBQ0EsMEJBQTBCLDBFQUE0QixHQUFHLGNBQWM7QUFDdkUsb0JBQW9CLGNBQWM7QUFDbEM7QUFDQTtBQUNBLDhCQUE4QixvRUFBc0IsR0FBRyxNQUFNO0FBQzdEO0FBQ0E7QUFDQSxrQ0FBa0MsWUFBWTtBQUM5QztBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0Esb0JBQW9CLHlEQUFjO0FBQ2xDO0FBQ0E7QUFDQSw4QkFBOEIsOERBQWdCLEdBQUcsTUFBTTtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL2FiaXR5cGUvZGlzdC9lc20vaHVtYW4tcmVhZGFibGUvcnVudGltZS9zdHJ1Y3RzLmpzPzc0YTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1R5cGVkLCBpc1R1cGxlUmVnZXggfSBmcm9tICcuLi8uLi9yZWdleC5qcyc7XG5pbXBvcnQgeyBVbmtub3duVHlwZUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL2luZGV4LmpzJztcbmltcG9ydCB7IENpcmN1bGFyUmVmZXJlbmNlRXJyb3IsIEludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3IsIEludmFsaWRTaWduYXR1cmVFcnJvciwgSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yLCB9IGZyb20gJy4uL2Vycm9ycy9pbmRleC5qcyc7XG5pbXBvcnQgeyBleGVjU3RydWN0U2lnbmF0dXJlLCBpc1N0cnVjdFNpZ25hdHVyZSB9IGZyb20gJy4vc2lnbmF0dXJlcy5qcyc7XG5pbXBvcnQgeyBpc1NvbGlkaXR5VHlwZSwgcGFyc2VBYmlQYXJhbWV0ZXIgfSBmcm9tICcuL3V0aWxzLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVN0cnVjdHMoc2lnbmF0dXJlcykge1xuICAgIGNvbnN0IHNoYWxsb3dTdHJ1Y3RzID0ge307XG4gICAgY29uc3Qgc2lnbmF0dXJlc0xlbmd0aCA9IHNpZ25hdHVyZXMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2lnbmF0dXJlc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IHNpZ25hdHVyZXNbaV07XG4gICAgICAgIGlmICghaXNTdHJ1Y3RTaWduYXR1cmUoc2lnbmF0dXJlKSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBtYXRjaCA9IGV4ZWNTdHJ1Y3RTaWduYXR1cmUoc2lnbmF0dXJlKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdzdHJ1Y3QnIH0pO1xuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gbWF0Y2gucHJvcGVydGllcy5zcGxpdCgnOycpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRzID0gW107XG4gICAgICAgIGNvbnN0IHByb3BlcnRpZXNMZW5ndGggPSBwcm9wZXJ0aWVzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBwcm9wZXJ0aWVzTGVuZ3RoOyBrKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydGllc1trXTtcbiAgICAgICAgICAgIGNvbnN0IHRyaW1tZWQgPSBwcm9wZXJ0eS50cmltKCk7XG4gICAgICAgICAgICBpZiAoIXRyaW1tZWQpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCBhYmlQYXJhbWV0ZXIgPSBwYXJzZUFiaVBhcmFtZXRlcih0cmltbWVkLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cnVjdCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChhYmlQYXJhbWV0ZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY29tcG9uZW50cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yKHsgc2lnbmF0dXJlIH0pO1xuICAgICAgICBzaGFsbG93U3RydWN0c1ttYXRjaC5uYW1lXSA9IGNvbXBvbmVudHM7XG4gICAgfVxuICAgIGNvbnN0IHJlc29sdmVkU3RydWN0cyA9IHt9O1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhzaGFsbG93U3RydWN0cyk7XG4gICAgY29uc3QgZW50cmllc0xlbmd0aCA9IGVudHJpZXMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZW50cmllc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IFtuYW1lLCBwYXJhbWV0ZXJzXSA9IGVudHJpZXNbaV07XG4gICAgICAgIHJlc29sdmVkU3RydWN0c1tuYW1lXSA9IHJlc29sdmVTdHJ1Y3RzKHBhcmFtZXRlcnMsIHNoYWxsb3dTdHJ1Y3RzKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVkU3RydWN0cztcbn1cbmNvbnN0IHR5cGVXaXRob3V0VHVwbGVSZWdleCA9IC9eKD88dHlwZT5bYS16QS1aMC05X10rPykoPzxhcnJheT4oPzpcXFtcXGQqP1xcXSkrPyk/JC87XG5mdW5jdGlvbiByZXNvbHZlU3RydWN0cyhhYmlQYXJhbWV0ZXJzLCBzdHJ1Y3RzLCBhbmNlc3RvcnMgPSBuZXcgU2V0KCkpIHtcbiAgICBjb25zdCBjb21wb25lbnRzID0gW107XG4gICAgY29uc3QgbGVuZ3RoID0gYWJpUGFyYW1ldGVycy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBhYmlQYXJhbWV0ZXIgPSBhYmlQYXJhbWV0ZXJzW2ldO1xuICAgICAgICBjb25zdCBpc1R1cGxlID0gaXNUdXBsZVJlZ2V4LnRlc3QoYWJpUGFyYW1ldGVyLnR5cGUpO1xuICAgICAgICBpZiAoaXNUdXBsZSlcbiAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChhYmlQYXJhbWV0ZXIpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gZXhlY1R5cGVkKHR5cGVXaXRob3V0VHVwbGVSZWdleCwgYWJpUGFyYW1ldGVyLnR5cGUpO1xuICAgICAgICAgICAgaWYgKCFtYXRjaD8udHlwZSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvcih7IGFiaVBhcmFtZXRlciB9KTtcbiAgICAgICAgICAgIGNvbnN0IHsgYXJyYXksIHR5cGUgfSA9IG1hdGNoO1xuICAgICAgICAgICAgaWYgKHR5cGUgaW4gc3RydWN0cykge1xuICAgICAgICAgICAgICAgIGlmIChhbmNlc3RvcnMuaGFzKHR5cGUpKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ2lyY3VsYXJSZWZlcmVuY2VFcnJvcih7IHR5cGUgfSk7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYWJpUGFyYW1ldGVyLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBgdHVwbGUke2FycmF5ID8/ICcnfWAsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHM6IHJlc29sdmVTdHJ1Y3RzKHN0cnVjdHNbdHlwZV0gPz8gW10sIHN0cnVjdHMsIG5ldyBTZXQoWy4uLmFuY2VzdG9ycywgdHlwZV0pKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpc1NvbGlkaXR5VHlwZSh0eXBlKSlcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGFiaVBhcmFtZXRlcik7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVW5rbm93blR5cGVFcnJvcih7IHR5cGUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbXBvbmVudHM7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHJ1Y3RzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/runtime/structs.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/human-readable/runtime/utils.js": -/*!***********************************************************************!*\ - !*** ./node_modules/abitype/dist/esm/human-readable/runtime/utils.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isSolidityKeyword: function() { return /* binding */ isSolidityKeyword; },\n/* harmony export */ isSolidityType: function() { return /* binding */ isSolidityType; },\n/* harmony export */ isValidDataLocation: function() { return /* binding */ isValidDataLocation; },\n/* harmony export */ parseAbiParameter: function() { return /* binding */ parseAbiParameter; },\n/* harmony export */ parseSignature: function() { return /* binding */ parseSignature; },\n/* harmony export */ splitParameters: function() { return /* binding */ splitParameters; }\n/* harmony export */ });\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../regex.js */ \"./node_modules/abitype/dist/esm/regex.js\");\n/* harmony import */ var _errors_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors/index.js */ \"./node_modules/abitype/dist/esm/human-readable/errors/index.js\");\n/* harmony import */ var _cache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cache.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/cache.js\");\n/* harmony import */ var _signatures_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./signatures.js */ \"./node_modules/abitype/dist/esm/human-readable/runtime/signatures.js\");\n\n\n\n\n\nfunction parseSignature(signature, structs = {}) {\n if ((0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.isFunctionSignature)(signature)) {\n const match = (0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.execFunctionSignature)(signature);\n if (!match)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidSignatureError({ signature, type: 'function' });\n const inputParams = splitParameters(match.parameters);\n const inputs = [];\n const inputLength = inputParams.length;\n for (let i = 0; i < inputLength; i++) {\n inputs.push(parseAbiParameter(inputParams[i], {\n modifiers: _signatures_js__WEBPACK_IMPORTED_MODULE_3__.functionModifiers,\n structs,\n type: 'function',\n }));\n }\n const outputs = [];\n if (match.returns) {\n const outputParams = splitParameters(match.returns);\n const outputLength = outputParams.length;\n for (let i = 0; i < outputLength; i++) {\n outputs.push(parseAbiParameter(outputParams[i], {\n modifiers: _signatures_js__WEBPACK_IMPORTED_MODULE_3__.functionModifiers,\n structs,\n type: 'function',\n }));\n }\n }\n return {\n name: match.name,\n type: 'function',\n stateMutability: match.stateMutability ?? 'nonpayable',\n inputs,\n outputs,\n };\n }\n if ((0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.isEventSignature)(signature)) {\n const match = (0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.execEventSignature)(signature);\n if (!match)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidSignatureError({ signature, type: 'event' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], {\n modifiers: _signatures_js__WEBPACK_IMPORTED_MODULE_3__.eventModifiers,\n structs,\n type: 'event',\n }));\n }\n return { name: match.name, type: 'event', inputs: abiParameters };\n }\n if ((0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.isErrorSignature)(signature)) {\n const match = (0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.execErrorSignature)(signature);\n if (!match)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidSignatureError({ signature, type: 'error' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], { structs, type: 'error' }));\n }\n return { name: match.name, type: 'error', inputs: abiParameters };\n }\n if ((0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.isConstructorSignature)(signature)) {\n const match = (0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.execConstructorSignature)(signature);\n if (!match)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidSignatureError({ signature, type: 'constructor' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], { structs, type: 'constructor' }));\n }\n return {\n type: 'constructor',\n stateMutability: match.stateMutability ?? 'nonpayable',\n inputs: abiParameters,\n };\n }\n if ((0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.isFallbackSignature)(signature))\n return { type: 'fallback' };\n if ((0,_signatures_js__WEBPACK_IMPORTED_MODULE_3__.isReceiveSignature)(signature))\n return {\n type: 'receive',\n stateMutability: 'payable',\n };\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.UnknownSignatureError({ signature });\n}\nconst abiParameterWithoutTupleRegex = /^(?<type>[a-zA-Z0-9_]+?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z0-9_]+))?$/;\nconst abiParameterWithTupleRegex = /^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z0-9_]+))?$/;\nconst dynamicIntegerRegex = /^u?int$/;\nfunction parseAbiParameter(param, options) {\n const parameterCacheKey = (0,_cache_js__WEBPACK_IMPORTED_MODULE_2__.getParameterCacheKey)(param, options?.type);\n if (_cache_js__WEBPACK_IMPORTED_MODULE_2__.parameterCache.has(parameterCacheKey))\n return _cache_js__WEBPACK_IMPORTED_MODULE_2__.parameterCache.get(parameterCacheKey);\n const isTuple = _regex_js__WEBPACK_IMPORTED_MODULE_0__.isTupleRegex.test(param);\n const match = (0,_regex_js__WEBPACK_IMPORTED_MODULE_0__.execTyped)(isTuple ? abiParameterWithTupleRegex : abiParameterWithoutTupleRegex, param);\n if (!match)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidParameterError({ param });\n if (match.name && isSolidityKeyword(match.name))\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.SolidityProtectedKeywordError({ param, name: match.name });\n const name = match.name ? { name: match.name } : {};\n const indexed = match.modifier === 'indexed' ? { indexed: true } : {};\n const structs = options?.structs ?? {};\n let type;\n let components = {};\n if (isTuple) {\n type = 'tuple';\n const params = splitParameters(match.type);\n const components_ = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n components_.push(parseAbiParameter(params[i], { structs }));\n }\n components = { components: components_ };\n }\n else if (match.type in structs) {\n type = 'tuple';\n components = { components: structs[match.type] };\n }\n else if (dynamicIntegerRegex.test(match.type)) {\n type = `${match.type}256`;\n }\n else {\n type = match.type;\n if (!(options?.type === 'struct') && !isSolidityType(type))\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.UnknownSolidityTypeError({ type });\n }\n if (match.modifier) {\n if (!options?.modifiers?.has?.(match.modifier))\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidModifierError({\n param,\n type: options?.type,\n modifier: match.modifier,\n });\n if (_signatures_js__WEBPACK_IMPORTED_MODULE_3__.functionModifiers.has(match.modifier) &&\n !isValidDataLocation(type, !!match.array))\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidFunctionModifierError({\n param,\n type: options?.type,\n modifier: match.modifier,\n });\n }\n const abiParameter = {\n type: `${type}${match.array ?? ''}`,\n ...name,\n ...indexed,\n ...components,\n };\n _cache_js__WEBPACK_IMPORTED_MODULE_2__.parameterCache.set(parameterCacheKey, abiParameter);\n return abiParameter;\n}\nfunction splitParameters(params, result = [], current = '', depth = 0) {\n if (params === '') {\n if (current === '')\n return result;\n if (depth !== 0)\n throw new _errors_index_js__WEBPACK_IMPORTED_MODULE_1__.InvalidParenthesisError({ current, depth });\n result.push(current.trim());\n return result;\n }\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const char = params[i];\n const tail = params.slice(i + 1);\n switch (char) {\n case ',':\n return depth === 0\n ? splitParameters(tail, [...result, current.trim()])\n : splitParameters(tail, result, `${current}${char}`, depth);\n case '(':\n return splitParameters(tail, result, `${current}${char}`, depth + 1);\n case ')':\n return splitParameters(tail, result, `${current}${char}`, depth - 1);\n default:\n return splitParameters(tail, result, `${current}${char}`, depth);\n }\n }\n return [];\n}\nfunction isSolidityType(type) {\n return (type === 'address' ||\n type === 'bool' ||\n type === 'function' ||\n type === 'string' ||\n _regex_js__WEBPACK_IMPORTED_MODULE_0__.bytesRegex.test(type) ||\n _regex_js__WEBPACK_IMPORTED_MODULE_0__.integerRegex.test(type));\n}\nconst protectedKeywordsRegex = /^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;\nfunction isSolidityKeyword(name) {\n return (name === 'address' ||\n name === 'bool' ||\n name === 'function' ||\n name === 'string' ||\n name === 'tuple' ||\n _regex_js__WEBPACK_IMPORTED_MODULE_0__.bytesRegex.test(name) ||\n _regex_js__WEBPACK_IMPORTED_MODULE_0__.integerRegex.test(name) ||\n protectedKeywordsRegex.test(name));\n}\nfunction isValidDataLocation(type, isArray) {\n return isArray || type === 'bytes' || type === 'string' || type === 'tuple';\n}\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9odW1hbi1yZWFkYWJsZS9ydW50aW1lL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBb0Y7QUFDbUk7QUFDMUo7QUFDSztBQUNzTjtBQUNqUiwrQ0FBK0M7QUFDdEQsUUFBUSxtRUFBbUI7QUFDM0Isc0JBQXNCLHFFQUFxQjtBQUMzQztBQUNBLHNCQUFzQixtRUFBcUIsR0FBRyw2QkFBNkI7QUFDM0U7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGlCQUFpQjtBQUN6QztBQUNBLDJCQUEyQiw2REFBaUI7QUFDNUM7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGtCQUFrQjtBQUM5QztBQUNBLCtCQUErQiw2REFBaUI7QUFDaEQ7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsZ0VBQWdCO0FBQ3hCLHNCQUFzQixrRUFBa0I7QUFDeEM7QUFDQSxzQkFBc0IsbUVBQXFCLEdBQUcsMEJBQTBCO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDO0FBQ0EsMkJBQTJCLDBEQUFjO0FBQ3pDO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxRQUFRLGdFQUFnQjtBQUN4QixzQkFBc0Isa0VBQWtCO0FBQ3hDO0FBQ0Esc0JBQXNCLG1FQUFxQixHQUFHLDBCQUEwQjtBQUN4RTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsWUFBWTtBQUNwQyw4REFBOEQsd0JBQXdCO0FBQ3RGO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsUUFBUSxzRUFBc0I7QUFDOUIsc0JBQXNCLHdFQUF3QjtBQUM5QztBQUNBLHNCQUFzQixtRUFBcUIsR0FBRyxnQ0FBZ0M7QUFDOUU7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEMsOERBQThELDhCQUE4QjtBQUM1RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsbUVBQW1CO0FBQzNCLGlCQUFpQjtBQUNqQixRQUFRLGtFQUFrQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUVBQXFCLEdBQUcsV0FBVztBQUNqRDtBQUNBLHlJQUF5SSxFQUFFO0FBQzNJLCtIQUErSCxFQUFFO0FBQ2pJO0FBQ087QUFDUCw4QkFBOEIsK0RBQW9CO0FBQ2xELFFBQVEscURBQWM7QUFDdEIsZUFBZSxxREFBYztBQUM3QixvQkFBb0IsbURBQVk7QUFDaEMsa0JBQWtCLG9EQUFTO0FBQzNCO0FBQ0Esa0JBQWtCLG1FQUFxQixHQUFHLE9BQU87QUFDakQ7QUFDQSxrQkFBa0IsMkVBQTZCLEdBQUcseUJBQXlCO0FBQzNFLGdDQUFnQyxtQkFBbUI7QUFDbkQscURBQXFELGdCQUFnQjtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEMsNERBQTRELFNBQVM7QUFDckU7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQSxrQkFBa0IsV0FBVztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixzRUFBd0IsR0FBRyxNQUFNO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRUFBb0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFlBQVksNkRBQWlCO0FBQzdCO0FBQ0Esc0JBQXNCLDBFQUE0QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGlCQUFpQixLQUFLLEVBQUUsa0JBQWtCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxxREFBYztBQUNsQjtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixxRUFBdUIsR0FBRyxnQkFBZ0I7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsWUFBWTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsUUFBUSxFQUFFLEtBQUs7QUFDdEU7QUFDQSx3REFBd0QsUUFBUSxFQUFFLEtBQUs7QUFDdkU7QUFDQSx3REFBd0QsUUFBUSxFQUFFLEtBQUs7QUFDdkU7QUFDQSx3REFBd0QsUUFBUSxFQUFFLEtBQUs7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxpREFBVTtBQUNsQixRQUFRLG1EQUFZO0FBQ3BCO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGlEQUFVO0FBQ2xCLFFBQVEsbURBQVk7QUFDcEI7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvZXNtL2h1bWFuLXJlYWRhYmxlL3J1bnRpbWUvdXRpbHMuanM/OTdlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBieXRlc1JlZ2V4LCBleGVjVHlwZWQsIGludGVnZXJSZWdleCwgaXNUdXBsZVJlZ2V4LCB9IGZyb20gJy4uLy4uL3JlZ2V4LmpzJztcbmltcG9ydCB7IEludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3IsIEludmFsaWRNb2RpZmllckVycm9yLCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsIEludmFsaWRTaWduYXR1cmVFcnJvciwgU29saWRpdHlQcm90ZWN0ZWRLZXl3b3JkRXJyb3IsIFVua25vd25TaWduYXR1cmVFcnJvciwgVW5rbm93blNvbGlkaXR5VHlwZUVycm9yLCB9IGZyb20gJy4uL2Vycm9ycy9pbmRleC5qcyc7XG5pbXBvcnQgeyBJbnZhbGlkUGFyZW50aGVzaXNFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9pbmRleC5qcyc7XG5pbXBvcnQgeyBnZXRQYXJhbWV0ZXJDYWNoZUtleSwgcGFyYW1ldGVyQ2FjaGUgfSBmcm9tICcuL2NhY2hlLmpzJztcbmltcG9ydCB7IGV2ZW50TW9kaWZpZXJzLCBleGVjQ29uc3RydWN0b3JTaWduYXR1cmUsIGV4ZWNFcnJvclNpZ25hdHVyZSwgZXhlY0V2ZW50U2lnbmF0dXJlLCBleGVjRnVuY3Rpb25TaWduYXR1cmUsIGZ1bmN0aW9uTW9kaWZpZXJzLCBpc0NvbnN0cnVjdG9yU2lnbmF0dXJlLCBpc0Vycm9yU2lnbmF0dXJlLCBpc0V2ZW50U2lnbmF0dXJlLCBpc0ZhbGxiYWNrU2lnbmF0dXJlLCBpc0Z1bmN0aW9uU2lnbmF0dXJlLCBpc1JlY2VpdmVTaWduYXR1cmUsIH0gZnJvbSAnLi9zaWduYXR1cmVzLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNpZ25hdHVyZShzaWduYXR1cmUsIHN0cnVjdHMgPSB7fSkge1xuICAgIGlmIChpc0Z1bmN0aW9uU2lnbmF0dXJlKHNpZ25hdHVyZSkpIHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBleGVjRnVuY3Rpb25TaWduYXR1cmUoc2lnbmF0dXJlKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdmdW5jdGlvbicgfSk7XG4gICAgICAgIGNvbnN0IGlucHV0UGFyYW1zID0gc3BsaXRQYXJhbWV0ZXJzKG1hdGNoLnBhcmFtZXRlcnMpO1xuICAgICAgICBjb25zdCBpbnB1dHMgPSBbXTtcbiAgICAgICAgY29uc3QgaW5wdXRMZW5ndGggPSBpbnB1dFBhcmFtcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaW5wdXRzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIoaW5wdXRQYXJhbXNbaV0sIHtcbiAgICAgICAgICAgICAgICBtb2RpZmllcnM6IGZ1bmN0aW9uTW9kaWZpZXJzLFxuICAgICAgICAgICAgICAgIHN0cnVjdHMsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvdXRwdXRzID0gW107XG4gICAgICAgIGlmIChtYXRjaC5yZXR1cm5zKSB7XG4gICAgICAgICAgICBjb25zdCBvdXRwdXRQYXJhbXMgPSBzcGxpdFBhcmFtZXRlcnMobWF0Y2gucmV0dXJucyk7XG4gICAgICAgICAgICBjb25zdCBvdXRwdXRMZW5ndGggPSBvdXRwdXRQYXJhbXMubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvdXRwdXRMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIG91dHB1dHMucHVzaChwYXJzZUFiaVBhcmFtZXRlcihvdXRwdXRQYXJhbXNbaV0sIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzOiBmdW5jdGlvbk1vZGlmaWVycyxcbiAgICAgICAgICAgICAgICAgICAgc3RydWN0cyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IG1hdGNoLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiBtYXRjaC5zdGF0ZU11dGFiaWxpdHkgPz8gJ25vbnBheWFibGUnLFxuICAgICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgICAgb3V0cHV0cyxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzRXZlbnRTaWduYXR1cmUoc2lnbmF0dXJlKSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IGV4ZWNFdmVudFNpZ25hdHVyZShzaWduYXR1cmUpO1xuICAgICAgICBpZiAoIW1hdGNoKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRTaWduYXR1cmVFcnJvcih7IHNpZ25hdHVyZSwgdHlwZTogJ2V2ZW50JyB9KTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gc3BsaXRQYXJhbWV0ZXJzKG1hdGNoLnBhcmFtZXRlcnMpO1xuICAgICAgICBjb25zdCBhYmlQYXJhbWV0ZXJzID0gW107XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFiaVBhcmFtZXRlcnMucHVzaChwYXJzZUFiaVBhcmFtZXRlcihwYXJhbXNbaV0sIHtcbiAgICAgICAgICAgICAgICBtb2RpZmllcnM6IGV2ZW50TW9kaWZpZXJzLFxuICAgICAgICAgICAgICAgIHN0cnVjdHMsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2V2ZW50JyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBuYW1lOiBtYXRjaC5uYW1lLCB0eXBlOiAnZXZlbnQnLCBpbnB1dHM6IGFiaVBhcmFtZXRlcnMgfTtcbiAgICB9XG4gICAgaWYgKGlzRXJyb3JTaWduYXR1cmUoc2lnbmF0dXJlKSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IGV4ZWNFcnJvclNpZ25hdHVyZShzaWduYXR1cmUpO1xuICAgICAgICBpZiAoIW1hdGNoKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRTaWduYXR1cmVFcnJvcih7IHNpZ25hdHVyZSwgdHlwZTogJ2Vycm9yJyB9KTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gc3BsaXRQYXJhbWV0ZXJzKG1hdGNoLnBhcmFtZXRlcnMpO1xuICAgICAgICBjb25zdCBhYmlQYXJhbWV0ZXJzID0gW107XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFiaVBhcmFtZXRlcnMucHVzaChwYXJzZUFiaVBhcmFtZXRlcihwYXJhbXNbaV0sIHsgc3RydWN0cywgdHlwZTogJ2Vycm9yJyB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgbmFtZTogbWF0Y2gubmFtZSwgdHlwZTogJ2Vycm9yJywgaW5wdXRzOiBhYmlQYXJhbWV0ZXJzIH07XG4gICAgfVxuICAgIGlmIChpc0NvbnN0cnVjdG9yU2lnbmF0dXJlKHNpZ25hdHVyZSkpIHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBleGVjQ29uc3RydWN0b3JTaWduYXR1cmUoc2lnbmF0dXJlKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkU2lnbmF0dXJlRXJyb3IoeyBzaWduYXR1cmUsIHR5cGU6ICdjb25zdHJ1Y3RvcicgfSk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHNwbGl0UGFyYW1ldGVycyhtYXRjaC5wYXJhbWV0ZXJzKTtcbiAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVycyA9IFtdO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXJhbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhYmlQYXJhbWV0ZXJzLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIocGFyYW1zW2ldLCB7IHN0cnVjdHMsIHR5cGU6ICdjb25zdHJ1Y3RvcicgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnY29uc3RydWN0b3InLFxuICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiBtYXRjaC5zdGF0ZU11dGFiaWxpdHkgPz8gJ25vbnBheWFibGUnLFxuICAgICAgICAgICAgaW5wdXRzOiBhYmlQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoaXNGYWxsYmFja1NpZ25hdHVyZShzaWduYXR1cmUpKVxuICAgICAgICByZXR1cm4geyB0eXBlOiAnZmFsbGJhY2snIH07XG4gICAgaWYgKGlzUmVjZWl2ZVNpZ25hdHVyZShzaWduYXR1cmUpKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ3JlY2VpdmUnLFxuICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAncGF5YWJsZScsXG4gICAgICAgIH07XG4gICAgdGhyb3cgbmV3IFVua25vd25TaWduYXR1cmVFcnJvcih7IHNpZ25hdHVyZSB9KTtcbn1cbmNvbnN0IGFiaVBhcmFtZXRlcldpdGhvdXRUdXBsZVJlZ2V4ID0gL14oPzx0eXBlPlthLXpBLVowLTlfXSs/KSg/PGFycmF5Pig/OlxcW1xcZCo/XFxdKSs/KT8oPzpcXHMoPzxtb2RpZmllcj5jYWxsZGF0YXxpbmRleGVkfG1lbW9yeXxzdG9yYWdlezF9KSk/KD86XFxzKD88bmFtZT5bYS16QS1aMC05X10rKSk/JC87XG5jb25zdCBhYmlQYXJhbWV0ZXJXaXRoVHVwbGVSZWdleCA9IC9eXFwoKD88dHlwZT4uKz8pXFwpKD88YXJyYXk+KD86XFxbXFxkKj9cXF0pKz8pPyg/Olxccyg/PG1vZGlmaWVyPmNhbGxkYXRhfGluZGV4ZWR8bWVtb3J5fHN0b3JhZ2V7MX0pKT8oPzpcXHMoPzxuYW1lPlthLXpBLVowLTlfXSspKT8kLztcbmNvbnN0IGR5bmFtaWNJbnRlZ2VyUmVnZXggPSAvXnU/aW50JC87XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBYmlQYXJhbWV0ZXIocGFyYW0sIG9wdGlvbnMpIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJDYWNoZUtleSA9IGdldFBhcmFtZXRlckNhY2hlS2V5KHBhcmFtLCBvcHRpb25zPy50eXBlKTtcbiAgICBpZiAocGFyYW1ldGVyQ2FjaGUuaGFzKHBhcmFtZXRlckNhY2hlS2V5KSlcbiAgICAgICAgcmV0dXJuIHBhcmFtZXRlckNhY2hlLmdldChwYXJhbWV0ZXJDYWNoZUtleSk7XG4gICAgY29uc3QgaXNUdXBsZSA9IGlzVHVwbGVSZWdleC50ZXN0KHBhcmFtKTtcbiAgICBjb25zdCBtYXRjaCA9IGV4ZWNUeXBlZChpc1R1cGxlID8gYWJpUGFyYW1ldGVyV2l0aFR1cGxlUmVnZXggOiBhYmlQYXJhbWV0ZXJXaXRob3V0VHVwbGVSZWdleCwgcGFyYW0pO1xuICAgIGlmICghbWF0Y2gpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyRXJyb3IoeyBwYXJhbSB9KTtcbiAgICBpZiAobWF0Y2gubmFtZSAmJiBpc1NvbGlkaXR5S2V5d29yZChtYXRjaC5uYW1lKSlcbiAgICAgICAgdGhyb3cgbmV3IFNvbGlkaXR5UHJvdGVjdGVkS2V5d29yZEVycm9yKHsgcGFyYW0sIG5hbWU6IG1hdGNoLm5hbWUgfSk7XG4gICAgY29uc3QgbmFtZSA9IG1hdGNoLm5hbWUgPyB7IG5hbWU6IG1hdGNoLm5hbWUgfSA6IHt9O1xuICAgIGNvbnN0IGluZGV4ZWQgPSBtYXRjaC5tb2RpZmllciA9PT0gJ2luZGV4ZWQnID8geyBpbmRleGVkOiB0cnVlIH0gOiB7fTtcbiAgICBjb25zdCBzdHJ1Y3RzID0gb3B0aW9ucz8uc3RydWN0cyA/PyB7fTtcbiAgICBsZXQgdHlwZTtcbiAgICBsZXQgY29tcG9uZW50cyA9IHt9O1xuICAgIGlmIChpc1R1cGxlKSB7XG4gICAgICAgIHR5cGUgPSAndHVwbGUnO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBzcGxpdFBhcmFtZXRlcnMobWF0Y2gudHlwZSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHNfID0gW107XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbXBvbmVudHNfLnB1c2gocGFyc2VBYmlQYXJhbWV0ZXIocGFyYW1zW2ldLCB7IHN0cnVjdHMgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudHMgPSB7IGNvbXBvbmVudHM6IGNvbXBvbmVudHNfIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKG1hdGNoLnR5cGUgaW4gc3RydWN0cykge1xuICAgICAgICB0eXBlID0gJ3R1cGxlJztcbiAgICAgICAgY29tcG9uZW50cyA9IHsgY29tcG9uZW50czogc3RydWN0c1ttYXRjaC50eXBlXSB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChkeW5hbWljSW50ZWdlclJlZ2V4LnRlc3QobWF0Y2gudHlwZSkpIHtcbiAgICAgICAgdHlwZSA9IGAke21hdGNoLnR5cGV9MjU2YDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHR5cGUgPSBtYXRjaC50eXBlO1xuICAgICAgICBpZiAoIShvcHRpb25zPy50eXBlID09PSAnc3RydWN0JykgJiYgIWlzU29saWRpdHlUeXBlKHR5cGUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFVua25vd25Tb2xpZGl0eVR5cGVFcnJvcih7IHR5cGUgfSk7XG4gICAgfVxuICAgIGlmIChtYXRjaC5tb2RpZmllcikge1xuICAgICAgICBpZiAoIW9wdGlvbnM/Lm1vZGlmaWVycz8uaGFzPy4obWF0Y2gubW9kaWZpZXIpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRNb2RpZmllckVycm9yKHtcbiAgICAgICAgICAgICAgICBwYXJhbSxcbiAgICAgICAgICAgICAgICB0eXBlOiBvcHRpb25zPy50eXBlLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyOiBtYXRjaC5tb2RpZmllcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBpZiAoZnVuY3Rpb25Nb2RpZmllcnMuaGFzKG1hdGNoLm1vZGlmaWVyKSAmJlxuICAgICAgICAgICAgIWlzVmFsaWREYXRhTG9jYXRpb24odHlwZSwgISFtYXRjaC5hcnJheSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvcih7XG4gICAgICAgICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgICAgICAgdHlwZTogb3B0aW9ucz8udHlwZSxcbiAgICAgICAgICAgICAgICBtb2RpZmllcjogbWF0Y2gubW9kaWZpZXIsXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgYWJpUGFyYW1ldGVyID0ge1xuICAgICAgICB0eXBlOiBgJHt0eXBlfSR7bWF0Y2guYXJyYXkgPz8gJyd9YCxcbiAgICAgICAgLi4ubmFtZSxcbiAgICAgICAgLi4uaW5kZXhlZCxcbiAgICAgICAgLi4uY29tcG9uZW50cyxcbiAgICB9O1xuICAgIHBhcmFtZXRlckNhY2hlLnNldChwYXJhbWV0ZXJDYWNoZUtleSwgYWJpUGFyYW1ldGVyKTtcbiAgICByZXR1cm4gYWJpUGFyYW1ldGVyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0UGFyYW1ldGVycyhwYXJhbXMsIHJlc3VsdCA9IFtdLCBjdXJyZW50ID0gJycsIGRlcHRoID0gMCkge1xuICAgIGlmIChwYXJhbXMgPT09ICcnKSB7XG4gICAgICAgIGlmIChjdXJyZW50ID09PSAnJylcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIGlmIChkZXB0aCAhPT0gMClcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyZW50aGVzaXNFcnJvcih7IGN1cnJlbnQsIGRlcHRoIH0pO1xuICAgICAgICByZXN1bHQucHVzaChjdXJyZW50LnRyaW0oKSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGNvbnN0IGxlbmd0aCA9IHBhcmFtcy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGFyID0gcGFyYW1zW2ldO1xuICAgICAgICBjb25zdCB0YWlsID0gcGFyYW1zLnNsaWNlKGkgKyAxKTtcbiAgICAgICAgc3dpdGNoIChjaGFyKSB7XG4gICAgICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVwdGggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgPyBzcGxpdFBhcmFtZXRlcnModGFpbCwgWy4uLnJlc3VsdCwgY3VycmVudC50cmltKCldKVxuICAgICAgICAgICAgICAgICAgICA6IHNwbGl0UGFyYW1ldGVycyh0YWlsLCByZXN1bHQsIGAke2N1cnJlbnR9JHtjaGFyfWAsIGRlcHRoKTtcbiAgICAgICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgICAgICAgIHJldHVybiBzcGxpdFBhcmFtZXRlcnModGFpbCwgcmVzdWx0LCBgJHtjdXJyZW50fSR7Y2hhcn1gLCBkZXB0aCArIDEpO1xuICAgICAgICAgICAgY2FzZSAnKSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNwbGl0UGFyYW1ldGVycyh0YWlsLCByZXN1bHQsIGAke2N1cnJlbnR9JHtjaGFyfWAsIGRlcHRoIC0gMSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzcGxpdFBhcmFtZXRlcnModGFpbCwgcmVzdWx0LCBgJHtjdXJyZW50fSR7Y2hhcn1gLCBkZXB0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU29saWRpdHlUeXBlKHR5cGUpIHtcbiAgICByZXR1cm4gKHR5cGUgPT09ICdhZGRyZXNzJyB8fFxuICAgICAgICB0eXBlID09PSAnYm9vbCcgfHxcbiAgICAgICAgdHlwZSA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICB0eXBlID09PSAnc3RyaW5nJyB8fFxuICAgICAgICBieXRlc1JlZ2V4LnRlc3QodHlwZSkgfHxcbiAgICAgICAgaW50ZWdlclJlZ2V4LnRlc3QodHlwZSkpO1xufVxuY29uc3QgcHJvdGVjdGVkS2V5d29yZHNSZWdleCA9IC9eKD86YWZ0ZXJ8YWxpYXN8YW5vbnltb3VzfGFwcGx5fGF1dG98Ynl0ZXxjYWxsZGF0YXxjYXNlfGNhdGNofGNvbnN0YW50fGNvcHlvZnxkZWZhdWx0fGRlZmluZWR8ZXJyb3J8ZXZlbnR8ZXh0ZXJuYWx8ZmFsc2V8ZmluYWx8ZnVuY3Rpb258aW1tdXRhYmxlfGltcGxlbWVudHN8aW58aW5kZXhlZHxpbmxpbmV8aW50ZXJuYWx8bGV0fG1hcHBpbmd8bWF0Y2h8bWVtb3J5fG11dGFibGV8bnVsbHxvZnxvdmVycmlkZXxwYXJ0aWFsfHByaXZhdGV8cHJvbWlzZXxwdWJsaWN8cHVyZXxyZWZlcmVuY2V8cmVsb2NhdGFibGV8cmV0dXJufHJldHVybnN8c2l6ZW9mfHN0YXRpY3xzdG9yYWdlfHN0cnVjdHxzdXBlcnxzdXBwb3J0c3xzd2l0Y2h8dGhpc3x0cnVlfHRyeXx0eXBlZGVmfHR5cGVvZnx2YXJ8dmlld3x2aXJ0dWFsKSQvO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU29saWRpdHlLZXl3b3JkKG5hbWUpIHtcbiAgICByZXR1cm4gKG5hbWUgPT09ICdhZGRyZXNzJyB8fFxuICAgICAgICBuYW1lID09PSAnYm9vbCcgfHxcbiAgICAgICAgbmFtZSA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICBuYW1lID09PSAnc3RyaW5nJyB8fFxuICAgICAgICBuYW1lID09PSAndHVwbGUnIHx8XG4gICAgICAgIGJ5dGVzUmVnZXgudGVzdChuYW1lKSB8fFxuICAgICAgICBpbnRlZ2VyUmVnZXgudGVzdChuYW1lKSB8fFxuICAgICAgICBwcm90ZWN0ZWRLZXl3b3Jkc1JlZ2V4LnRlc3QobmFtZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWREYXRhTG9jYXRpb24odHlwZSwgaXNBcnJheSkge1xuICAgIHJldHVybiBpc0FycmF5IHx8IHR5cGUgPT09ICdieXRlcycgfHwgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZSA9PT0gJ3R1cGxlJztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/human-readable/runtime/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/index.js": -/*!************************************************!*\ - !*** ./node_modules/abitype/dist/esm/index.js ***! - \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseError: function() { return /* reexport safe */ _errors_js__WEBPACK_IMPORTED_MODULE_0__.BaseError; },\n/* harmony export */ CircularReferenceError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.CircularReferenceError; },\n/* harmony export */ InvalidAbiItemError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAbiItemError; },\n/* harmony export */ InvalidAbiParameterError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAbiParameterError; },\n/* harmony export */ InvalidAbiParametersError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAbiParametersError; },\n/* harmony export */ InvalidAbiTypeParameterError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAbiTypeParameterError; },\n/* harmony export */ InvalidFunctionModifierError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidFunctionModifierError; },\n/* harmony export */ InvalidModifierError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidModifierError; },\n/* harmony export */ InvalidParameterError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidParameterError; },\n/* harmony export */ InvalidParenthesisError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidParenthesisError; },\n/* harmony export */ InvalidSignatureError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidSignatureError; },\n/* harmony export */ InvalidStructSignatureError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.InvalidStructSignatureError; },\n/* harmony export */ SolidityProtectedKeywordError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.SolidityProtectedKeywordError; },\n/* harmony export */ UnknownSignatureError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.UnknownSignatureError; },\n/* harmony export */ UnknownTypeError: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.UnknownTypeError; },\n/* harmony export */ narrow: function() { return /* reexport safe */ _narrow_js__WEBPACK_IMPORTED_MODULE_1__.narrow; },\n/* harmony export */ parseAbi: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.parseAbi; },\n/* harmony export */ parseAbiItem: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.parseAbiItem; },\n/* harmony export */ parseAbiParameter: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.parseAbiParameter; },\n/* harmony export */ parseAbiParameters: function() { return /* reexport safe */ _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__.parseAbiParameters; }\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/abitype/dist/esm/errors.js\");\n/* harmony import */ var _narrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./narrow.js */ \"./node_modules/abitype/dist/esm/narrow.js\");\n/* harmony import */ var _human_readable_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./human-readable/index.js */ \"./node_modules/abitype/dist/esm/human-readable/index.js\");\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF3QztBQUNIO0FBQ3NhO0FBQzNjIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvZXNtL2luZGV4LmpzP2RhYjciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi9lcnJvcnMuanMnO1xuZXhwb3J0IHsgbmFycm93IH0gZnJvbSAnLi9uYXJyb3cuanMnO1xuZXhwb3J0IHsgcGFyc2VBYmksIHBhcnNlQWJpSXRlbSwgcGFyc2VBYmlQYXJhbWV0ZXIsIHBhcnNlQWJpUGFyYW1ldGVycywgQ2lyY3VsYXJSZWZlcmVuY2VFcnJvciwgSW52YWxpZFBhcmVudGhlc2lzRXJyb3IsIFVua25vd25TaWduYXR1cmVFcnJvciwgSW52YWxpZFNpZ25hdHVyZUVycm9yLCBJbnZhbGlkU3RydWN0U2lnbmF0dXJlRXJyb3IsIEludmFsaWRBYmlQYXJhbWV0ZXJFcnJvciwgSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciwgSW52YWxpZFBhcmFtZXRlckVycm9yLCBTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvciwgSW52YWxpZE1vZGlmaWVyRXJyb3IsIEludmFsaWRGdW5jdGlvbk1vZGlmaWVyRXJyb3IsIEludmFsaWRBYmlUeXBlUGFyYW1ldGVyRXJyb3IsIEludmFsaWRBYmlJdGVtRXJyb3IsIFVua25vd25UeXBlRXJyb3IsIH0gZnJvbSAnLi9odW1hbi1yZWFkYWJsZS9pbmRleC5qcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/narrow.js": -/*!*************************************************!*\ - !*** ./node_modules/abitype/dist/esm/narrow.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ narrow: function() { return /* binding */ narrow; }\n/* harmony export */ });\nfunction narrow(value) {\n return value;\n}\n//# sourceMappingURL=narrow.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9uYXJyb3cuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvZXNtL25hcnJvdy5qcz9mYzM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBuYXJyb3codmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1uYXJyb3cuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/narrow.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/regex.js": -/*!************************************************!*\ - !*** ./node_modules/abitype/dist/esm/regex.js ***! - \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytesRegex: function() { return /* binding */ bytesRegex; },\n/* harmony export */ execTyped: function() { return /* binding */ execTyped; },\n/* harmony export */ integerRegex: function() { return /* binding */ integerRegex; },\n/* harmony export */ isTupleRegex: function() { return /* binding */ isTupleRegex; }\n/* harmony export */ });\nfunction execTyped(regex, string) {\n const match = regex.exec(string);\n return match?.groups;\n}\nconst bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;\nconst integerRegex = /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;\nconst isTupleRegex = /^\\(.+?\\).*?$/;\n//# sourceMappingURL=regex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9yZWdleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNBO0FBQ0E7QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS9yZWdleC5qcz80ZjA0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBleGVjVHlwZWQocmVnZXgsIHN0cmluZykge1xuICAgIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhzdHJpbmcpO1xuICAgIHJldHVybiBtYXRjaD8uZ3JvdXBzO1xufVxuZXhwb3J0IGNvbnN0IGJ5dGVzUmVnZXggPSAvXmJ5dGVzKFsxLTldfDFbMC05XXwyWzAtOV18M1swLTJdKT8kLztcbmV4cG9ydCBjb25zdCBpbnRlZ2VyUmVnZXggPSAvXnU/aW50KDh8MTZ8MjR8MzJ8NDB8NDh8NTZ8NjR8NzJ8ODB8ODh8OTZ8MTA0fDExMnwxMjB8MTI4fDEzNnwxNDR8MTUyfDE2MHwxNjh8MTc2fDE4NHwxOTJ8MjAwfDIwOHwyMTZ8MjI0fDIzMnwyNDB8MjQ4fDI1Nik/JC87XG5leHBvcnQgY29uc3QgaXNUdXBsZVJlZ2V4ID0gL15cXCguKz9cXCkuKj8kLztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZ2V4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/abitype/dist/esm/version.js": -/*!**************************************************!*\ - !*** ./node_modules/abitype/dist/esm/version.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ version: function() { return /* binding */ version; }\n/* harmony export */ });\nconst version = '0.8.7';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWJpdHlwZS9kaXN0L2VzbS92ZXJzaW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9hYml0eXBlL2Rpc3QvZXNtL3ZlcnNpb24uanM/OTM3NyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICcwLjguNyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJzaW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/abitype/dist/esm/version.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base.js": -/*!*********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Codec: function() { return /* binding */ Codec; },\n/* harmony export */ baseX: function() { return /* binding */ baseX; },\n/* harmony export */ from: function() { return /* binding */ from; },\n/* harmony export */ or: function() { return /* binding */ or; },\n/* harmony export */ rfc4648: function() { return /* binding */ rfc4648; }\n/* harmony export */ });\n/* harmony import */ var _vendor_base_x_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../vendor/base-x.js */ \"./node_modules/multiformats/esm/vendor/base-x.js\");\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n\n\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}\nconst or = (left, right) => new ComposedDecoder({\n ...left.decoders || { [left.prefix]: left },\n ...right.decoders || { [right.prefix]: right }\n});\nclass 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}\nconst from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);\nconst baseX = ({prefix, name, alphabet}) => {\n const {encode, decode} = (0,_vendor_base_x_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(alphabet, name);\n return from({\n prefix,\n name,\n encode,\n decode: text => (0,_bytes_js__WEBPACK_IMPORTED_MODULE_1__.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};\nconst 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};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTJDO0FBQ047QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixhQUFhLEdBQUcsd0JBQXdCO0FBQ3pELE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELHNCQUFzQixLQUFLLFlBQVksOENBQThDLGFBQWE7QUFDNUo7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTiw2REFBNkQsdUJBQXVCLCtCQUErQiw2QkFBNkI7QUFDaEo7QUFDQTtBQUNBO0FBQ087QUFDUCx3QkFBd0IscUJBQXFCO0FBQzdDLHlCQUF5QjtBQUN6QixDQUFDO0FBQ007QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxlQUFlLDZCQUE2QjtBQUM1QyxnQkFBZ0IsdUJBQXVCO0FBQzlDLFNBQVMsZ0JBQWdCLEVBQUUsNkRBQUs7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsaURBQU07QUFDMUIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixxQkFBcUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0Esb0NBQW9DLE9BQU87QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxrQkFBa0Isb0NBQW9DO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9tdWx0aWZvcm1hdHMvZXNtL3NyYy9iYXNlcy9iYXNlLmpzPzYxMzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJhc2V4IGZyb20gJy4uLy4uL3ZlbmRvci9iYXNlLXguanMnO1xuaW1wb3J0IHsgY29lcmNlIH0gZnJvbSAnLi4vYnl0ZXMuanMnO1xuY2xhc3MgRW5jb2RlciB7XG4gIGNvbnN0cnVjdG9yKG5hbWUsIHByZWZpeCwgYmFzZUVuY29kZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5wcmVmaXggPSBwcmVmaXg7XG4gICAgdGhpcy5iYXNlRW5jb2RlID0gYmFzZUVuY29kZTtcbiAgfVxuICBlbmNvZGUoYnl0ZXMpIHtcbiAgICBpZiAoYnl0ZXMgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICByZXR1cm4gYCR7IHRoaXMucHJlZml4IH0keyB0aGlzLmJhc2VFbmNvZGUoYnl0ZXMpIH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlJyk7XG4gICAgfVxuICB9XG59XG5jbGFzcyBEZWNvZGVyIHtcbiAgY29uc3RydWN0b3IobmFtZSwgcHJlZml4LCBiYXNlRGVjb2RlKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICBpZiAocHJlZml4LmNvZGVQb2ludEF0KDApID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwcmVmaXggY2hhcmFjdGVyJyk7XG4gICAgfVxuICAgIHRoaXMucHJlZml4Q29kZVBvaW50ID0gcHJlZml4LmNvZGVQb2ludEF0KDApO1xuICAgIHRoaXMuYmFzZURlY29kZSA9IGJhc2VEZWNvZGU7XG4gIH1cbiAgZGVjb2RlKHRleHQpIHtcbiAgICBpZiAodHlwZW9mIHRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodGV4dC5jb2RlUG9pbnRBdCgwKSAhPT0gdGhpcy5wcmVmaXhDb2RlUG9pbnQpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAkeyBKU09OLnN0cmluZ2lmeSh0ZXh0KSB9LCAkeyB0aGlzLm5hbWUgfSBkZWNvZGVyIG9ubHkgc3VwcG9ydHMgaW5wdXRzIHByZWZpeGVkIHdpdGggJHsgdGhpcy5wcmVmaXggfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuYmFzZURlY29kZSh0ZXh0LnNsaWNlKHRoaXMucHJlZml4Lmxlbmd0aCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignQ2FuIG9ubHkgbXVsdGliYXNlIGRlY29kZSBzdHJpbmdzJyk7XG4gICAgfVxuICB9XG4gIG9yKGRlY29kZXIpIHtcbiAgICByZXR1cm4gb3IodGhpcywgZGVjb2Rlcik7XG4gIH1cbn1cbmNsYXNzIENvbXBvc2VkRGVjb2RlciB7XG4gIGNvbnN0cnVjdG9yKGRlY29kZXJzKSB7XG4gICAgdGhpcy5kZWNvZGVycyA9IGRlY29kZXJzO1xuICB9XG4gIG9yKGRlY29kZXIpIHtcbiAgICByZXR1cm4gb3IodGhpcywgZGVjb2Rlcik7XG4gIH1cbiAgZGVjb2RlKGlucHV0KSB7XG4gICAgY29uc3QgcHJlZml4ID0gaW5wdXRbMF07XG4gICAgY29uc3QgZGVjb2RlciA9IHRoaXMuZGVjb2RlcnNbcHJlZml4XTtcbiAgICBpZiAoZGVjb2Rlcikge1xuICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKGlucHV0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgUmFuZ2VFcnJvcihgVW5hYmxlIHRvIGRlY29kZSBtdWx0aWJhc2Ugc3RyaW5nICR7IEpTT04uc3RyaW5naWZ5KGlucHV0KSB9LCBvbmx5IGlucHV0cyBwcmVmaXhlZCB3aXRoICR7IE9iamVjdC5rZXlzKHRoaXMuZGVjb2RlcnMpIH0gYXJlIHN1cHBvcnRlZGApO1xuICAgIH1cbiAgfVxufVxuZXhwb3J0IGNvbnN0IG9yID0gKGxlZnQsIHJpZ2h0KSA9PiBuZXcgQ29tcG9zZWREZWNvZGVyKHtcbiAgLi4ubGVmdC5kZWNvZGVycyB8fCB7IFtsZWZ0LnByZWZpeF06IGxlZnQgfSxcbiAgLi4ucmlnaHQuZGVjb2RlcnMgfHwgeyBbcmlnaHQucHJlZml4XTogcmlnaHQgfVxufSk7XG5leHBvcnQgY2xhc3MgQ29kZWMge1xuICBjb25zdHJ1Y3RvcihuYW1lLCBwcmVmaXgsIGJhc2VFbmNvZGUsIGJhc2VEZWNvZGUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICAgIHRoaXMuYmFzZUVuY29kZSA9IGJhc2VFbmNvZGU7XG4gICAgdGhpcy5iYXNlRGVjb2RlID0gYmFzZURlY29kZTtcbiAgICB0aGlzLmVuY29kZXIgPSBuZXcgRW5jb2RlcihuYW1lLCBwcmVmaXgsIGJhc2VFbmNvZGUpO1xuICAgIHRoaXMuZGVjb2RlciA9IG5ldyBEZWNvZGVyKG5hbWUsIHByZWZpeCwgYmFzZURlY29kZSk7XG4gIH1cbiAgZW5jb2RlKGlucHV0KSB7XG4gICAgcmV0dXJuIHRoaXMuZW5jb2Rlci5lbmNvZGUoaW5wdXQpO1xuICB9XG4gIGRlY29kZShpbnB1dCkge1xuICAgIHJldHVybiB0aGlzLmRlY29kZXIuZGVjb2RlKGlucHV0KTtcbiAgfVxufVxuZXhwb3J0IGNvbnN0IGZyb20gPSAoe25hbWUsIHByZWZpeCwgZW5jb2RlLCBkZWNvZGV9KSA9PiBuZXcgQ29kZWMobmFtZSwgcHJlZml4LCBlbmNvZGUsIGRlY29kZSk7XG5leHBvcnQgY29uc3QgYmFzZVggPSAoe3ByZWZpeCwgbmFtZSwgYWxwaGFiZXR9KSA9PiB7XG4gIGNvbnN0IHtlbmNvZGUsIGRlY29kZX0gPSBiYXNleChhbHBoYWJldCwgbmFtZSk7XG4gIHJldHVybiBmcm9tKHtcbiAgICBwcmVmaXgsXG4gICAgbmFtZSxcbiAgICBlbmNvZGUsXG4gICAgZGVjb2RlOiB0ZXh0ID0+IGNvZXJjZShkZWNvZGUodGV4dCkpXG4gIH0pO1xufTtcbmNvbnN0IGRlY29kZSA9IChzdHJpbmcsIGFscGhhYmV0LCBiaXRzUGVyQ2hhciwgbmFtZSkgPT4ge1xuICBjb25zdCBjb2RlcyA9IHt9O1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGFscGhhYmV0Lmxlbmd0aDsgKytpKSB7XG4gICAgY29kZXNbYWxwaGFiZXRbaV1dID0gaTtcbiAgfVxuICBsZXQgZW5kID0gc3RyaW5nLmxlbmd0aDtcbiAgd2hpbGUgKHN0cmluZ1tlbmQgLSAxXSA9PT0gJz0nKSB7XG4gICAgLS1lbmQ7XG4gIH1cbiAgY29uc3Qgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoZW5kICogYml0c1BlckNoYXIgLyA4IHwgMCk7XG4gIGxldCBiaXRzID0gMDtcbiAgbGV0IGJ1ZmZlciA9IDA7XG4gIGxldCB3cml0dGVuID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbmQ7ICsraSkge1xuICAgIGNvbnN0IHZhbHVlID0gY29kZXNbc3RyaW5nW2ldXTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBOb24tJHsgbmFtZSB9IGNoYXJhY3RlcmApO1xuICAgIH1cbiAgICBidWZmZXIgPSBidWZmZXIgPDwgYml0c1BlckNoYXIgfCB2YWx1ZTtcbiAgICBiaXRzICs9IGJpdHNQZXJDaGFyO1xuICAgIGlmIChiaXRzID49IDgpIHtcbiAgICAgIGJpdHMgLT0gODtcbiAgICAgIG91dFt3cml0dGVuKytdID0gMjU1ICYgYnVmZmVyID4+IGJpdHM7XG4gICAgfVxuICB9XG4gIGlmIChiaXRzID49IGJpdHNQZXJDaGFyIHx8IDI1NSAmIGJ1ZmZlciA8PCA4IC0gYml0cykge1xuICAgIHRocm93IG5ldyBTeW50YXhFcnJvcignVW5leHBlY3RlZCBlbmQgb2YgZGF0YScpO1xuICB9XG4gIHJldHVybiBvdXQ7XG59O1xuY29uc3QgZW5jb2RlID0gKGRhdGEsIGFscGhhYmV0LCBiaXRzUGVyQ2hhcikgPT4ge1xuICBjb25zdCBwYWQgPSBhbHBoYWJldFthbHBoYWJldC5sZW5ndGggLSAxXSA9PT0gJz0nO1xuICBjb25zdCBtYXNrID0gKDEgPDwgYml0c1BlckNoYXIpIC0gMTtcbiAgbGV0IG91dCA9ICcnO1xuICBsZXQgYml0cyA9IDA7XG4gIGxldCBidWZmZXIgPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyArK2kpIHtcbiAgICBidWZmZXIgPSBidWZmZXIgPDwgOCB8IGRhdGFbaV07XG4gICAgYml0cyArPSA4O1xuICAgIHdoaWxlIChiaXRzID4gYml0c1BlckNoYXIpIHtcbiAgICAgIGJpdHMgLT0gYml0c1BlckNoYXI7XG4gICAgICBvdXQgKz0gYWxwaGFiZXRbbWFzayAmIGJ1ZmZlciA+PiBiaXRzXTtcbiAgICB9XG4gIH1cbiAgaWYgKGJpdHMpIHtcbiAgICBvdXQgKz0gYWxwaGFiZXRbbWFzayAmIGJ1ZmZlciA8PCBiaXRzUGVyQ2hhciAtIGJpdHNdO1xuICB9XG4gIGlmIChwYWQpIHtcbiAgICB3aGlsZSAob3V0Lmxlbmd0aCAqIGJpdHNQZXJDaGFyICYgNykge1xuICAgICAgb3V0ICs9ICc9JztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG91dDtcbn07XG5leHBvcnQgY29uc3QgcmZjNDY0OCA9ICh7bmFtZSwgcHJlZml4LCBiaXRzUGVyQ2hhciwgYWxwaGFiZXR9KSA9PiB7XG4gIHJldHVybiBmcm9tKHtcbiAgICBwcmVmaXgsXG4gICAgbmFtZSxcbiAgICBlbmNvZGUoaW5wdXQpIHtcbiAgICAgIHJldHVybiBlbmNvZGUoaW5wdXQsIGFscGhhYmV0LCBiaXRzUGVyQ2hhcik7XG4gICAgfSxcbiAgICBkZWNvZGUoaW5wdXQpIHtcbiAgICAgIHJldHVybiBkZWNvZGUoaW5wdXQsIGFscGhhYmV0LCBiaXRzUGVyQ2hhciwgbmFtZSk7XG4gICAgfVxuICB9KTtcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base10.js": -/*!***********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base10.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base10: function() { return /* binding */ base10; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base10 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.baseX)({\n prefix: '9',\n name: 'base10',\n alphabet: '0123456789'\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTEwLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWtDO0FBQzNCLGVBQWUsK0NBQUs7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTEwLmpzPzAxYTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZVggfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNvbnN0IGJhc2UxMCA9IGJhc2VYKHtcbiAgcHJlZml4OiAnOScsXG4gIG5hbWU6ICdiYXNlMTAnLFxuICBhbHBoYWJldDogJzAxMjM0NTY3ODknXG59KTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base10.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base16.js": -/*!***********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base16.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base16: function() { return /* binding */ base16; },\n/* harmony export */ base16upper: function() { return /* binding */ base16upper; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base16 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'f',\n name: 'base16',\n alphabet: '0123456789abcdef',\n bitsPerChar: 4\n});\nconst base16upper = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'F',\n name: 'base16upper',\n alphabet: '0123456789ABCDEF',\n bitsPerChar: 4\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTE2LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFvQztBQUM3QixlQUFlLGlEQUFPO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNNLG9CQUFvQixpREFBTztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2Jhc2VzL2Jhc2UxNi5qcz84NWQxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJmYzQ2NDggfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNvbnN0IGJhc2UxNiA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdmJyxcbiAgbmFtZTogJ2Jhc2UxNicsXG4gIGFscGhhYmV0OiAnMDEyMzQ1Njc4OWFiY2RlZicsXG4gIGJpdHNQZXJDaGFyOiA0XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMTZ1cHBlciA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdGJyxcbiAgbmFtZTogJ2Jhc2UxNnVwcGVyJyxcbiAgYWxwaGFiZXQ6ICcwMTIzNDU2Nzg5QUJDREVGJyxcbiAgYml0c1BlckNoYXI6IDRcbn0pOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base16.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base2.js": -/*!**********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base2.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base2: function() { return /* binding */ base2; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base2 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: '0',\n name: 'base2',\n alphabet: '01',\n bitsPerChar: 1\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFDN0IsY0FBYyxpREFBTztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2Jhc2VzL2Jhc2UyLmpzPzk1OGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmZjNDY0OCB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgY29uc3QgYmFzZTIgPSByZmM0NjQ4KHtcbiAgcHJlZml4OiAnMCcsXG4gIG5hbWU6ICdiYXNlMicsXG4gIGFscGhhYmV0OiAnMDEnLFxuICBiaXRzUGVyQ2hhcjogMVxufSk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base2.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base256emoji.js": -/*!*****************************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base256emoji.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base256emoji: function() { return /* binding */ base256emoji; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\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}\nconst base256emoji = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.from)({\n prefix: '\\uD83D\\uDE80',\n name: 'base256emoji',\n encode,\n decode\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTI1NmVtb2ppLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsTUFBTTtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08scUJBQXFCLDhDQUFJO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTI1NmVtb2ppLmpzP2FjZTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSB9IGZyb20gJy4vYmFzZS5qcyc7XG5jb25zdCBhbHBoYWJldCA9IEFycmF5LmZyb20oJ1xcdUQ4M0RcXHVERTgwXFx1RDgzRVxcdURFOTBcXHUyNjA0XFx1RDgzRFxcdURFRjBcXHVEODNDXFx1REYwQ1xcdUQ4M0NcXHVERjExXFx1RDgzQ1xcdURGMTJcXHVEODNDXFx1REYxM1xcdUQ4M0NcXHVERjE0XFx1RDgzQ1xcdURGMTVcXHVEODNDXFx1REYxNlxcdUQ4M0NcXHVERjE3XFx1RDgzQ1xcdURGMThcXHVEODNDXFx1REYwRFxcdUQ4M0NcXHVERjBGXFx1RDgzQ1xcdURGMEVcXHVEODNEXFx1REMwOVxcdTI2MDBcXHVEODNEXFx1RENCQlxcdUQ4M0RcXHVEREE1XFx1RDgzRFxcdURDQkVcXHVEODNEXFx1RENCRlxcdUQ4M0RcXHVERTAyXFx1Mjc2NFxcdUQ4M0RcXHVERTBEXFx1RDgzRVxcdUREMjNcXHVEODNEXFx1REUwQVxcdUQ4M0RcXHVERTRGXFx1RDgzRFxcdURDOTVcXHVEODNEXFx1REUyRFxcdUQ4M0RcXHVERTE4XFx1RDgzRFxcdURDNERcXHVEODNEXFx1REUwNVxcdUQ4M0RcXHVEQzRGXFx1RDgzRFxcdURFMDFcXHVEODNEXFx1REQyNVxcdUQ4M0VcXHVERDcwXFx1RDgzRFxcdURDOTRcXHVEODNEXFx1REM5NlxcdUQ4M0RcXHVEQzk5XFx1RDgzRFxcdURFMjJcXHVEODNFXFx1REQxNFxcdUQ4M0RcXHVERTA2XFx1RDgzRFxcdURFNDRcXHVEODNEXFx1RENBQVxcdUQ4M0RcXHVERTA5XFx1MjYzQVxcdUQ4M0RcXHVEQzRDXFx1RDgzRVxcdUREMTdcXHVEODNEXFx1REM5Q1xcdUQ4M0RcXHVERTE0XFx1RDgzRFxcdURFMEVcXHVEODNEXFx1REUwN1xcdUQ4M0NcXHVERjM5XFx1RDgzRVxcdUREMjZcXHVEODNDXFx1REY4OVxcdUQ4M0RcXHVEQzlFXFx1MjcwQ1xcdTI3MjhcXHVEODNFXFx1REQzN1xcdUQ4M0RcXHVERTMxXFx1RDgzRFxcdURFMENcXHVEODNDXFx1REYzOFxcdUQ4M0RcXHVERTRDXFx1RDgzRFxcdURFMEJcXHVEODNEXFx1REM5N1xcdUQ4M0RcXHVEQzlBXFx1RDgzRFxcdURFMEZcXHVEODNEXFx1REM5QlxcdUQ4M0RcXHVERTQyXFx1RDgzRFxcdURDOTNcXHVEODNFXFx1REQyOVxcdUQ4M0RcXHVERTA0XFx1RDgzRFxcdURFMDBcXHVEODNEXFx1RERBNFxcdUQ4M0RcXHVERTAzXFx1RDgzRFxcdURDQUZcXHVEODNEXFx1REU0OFxcdUQ4M0RcXHVEQzQ3XFx1RDgzQ1xcdURGQjZcXHVEODNEXFx1REUxMlxcdUQ4M0VcXHVERDJEXFx1Mjc2M1xcdUQ4M0RcXHVERTFDXFx1RDgzRFxcdURDOEJcXHVEODNEXFx1REM0MFxcdUQ4M0RcXHVERTJBXFx1RDgzRFxcdURFMTFcXHVEODNEXFx1RENBNVxcdUQ4M0RcXHVERTRCXFx1RDgzRFxcdURFMUVcXHVEODNEXFx1REUyOVxcdUQ4M0RcXHVERTIxXFx1RDgzRVxcdUREMkFcXHVEODNEXFx1REM0QVxcdUQ4M0VcXHVERDczXFx1RDgzRFxcdURFMjVcXHVEODNFXFx1REQyNFxcdUQ4M0RcXHVEQzQ5XFx1RDgzRFxcdURDODNcXHVEODNEXFx1REUzM1xcdTI3MEJcXHVEODNEXFx1REUxQVxcdUQ4M0RcXHVERTFEXFx1RDgzRFxcdURFMzRcXHVEODNDXFx1REYxRlxcdUQ4M0RcXHVERTJDXFx1RDgzRFxcdURFNDNcXHVEODNDXFx1REY0MFxcdUQ4M0NcXHVERjM3XFx1RDgzRFxcdURFM0JcXHVEODNEXFx1REUxM1xcdTJCNTBcXHUyNzA1XFx1RDgzRVxcdUREN0FcXHVEODNDXFx1REYwOFxcdUQ4M0RcXHVERTA4XFx1RDgzRVxcdUREMThcXHVEODNEXFx1RENBNlxcdTI3MTRcXHVEODNEXFx1REUyM1xcdUQ4M0NcXHVERkMzXFx1RDgzRFxcdURDOTBcXHUyNjM5XFx1RDgzQ1xcdURGOEFcXHVEODNEXFx1REM5OFxcdUQ4M0RcXHVERTIwXFx1MjYxRFxcdUQ4M0RcXHVERTE1XFx1RDgzQ1xcdURGM0FcXHVEODNDXFx1REY4MlxcdUQ4M0NcXHVERjNCXFx1RDgzRFxcdURFMTBcXHVEODNEXFx1REQ5NVxcdUQ4M0RcXHVEQzlEXFx1RDgzRFxcdURFNEFcXHVEODNEXFx1REUzOVxcdUQ4M0RcXHVEREUzXFx1RDgzRFxcdURDQUJcXHVEODNEXFx1REM4MFxcdUQ4M0RcXHVEQzUxXFx1RDgzQ1xcdURGQjVcXHVEODNFXFx1REQxRVxcdUQ4M0RcXHVERTFCXFx1RDgzRFxcdUREMzRcXHVEODNEXFx1REUyNFxcdUQ4M0NcXHVERjNDXFx1RDgzRFxcdURFMkJcXHUyNkJEXFx1RDgzRVxcdUREMTlcXHUyNjE1XFx1RDgzQ1xcdURGQzZcXHVEODNFXFx1REQyQlxcdUQ4M0RcXHVEQzQ4XFx1RDgzRFxcdURFMkVcXHVEODNEXFx1REU0NlxcdUQ4M0NcXHVERjdCXFx1RDgzQ1xcdURGNDNcXHVEODNEXFx1REMzNlxcdUQ4M0RcXHVEQzgxXFx1RDgzRFxcdURFMzJcXHVEODNDXFx1REYzRlxcdUQ4M0VcXHVEREUxXFx1RDgzQ1xcdURGODFcXHUyNkExXFx1RDgzQ1xcdURGMUVcXHVEODNDXFx1REY4OFxcdTI3NENcXHUyNzBBXFx1RDgzRFxcdURDNEJcXHVEODNEXFx1REUzMFxcdUQ4M0VcXHVERDI4XFx1RDgzRFxcdURFMzZcXHVEODNFXFx1REQxRFxcdUQ4M0RcXHVERUI2XFx1RDgzRFxcdURDQjBcXHVEODNDXFx1REY1M1xcdUQ4M0RcXHVEQ0EyXFx1RDgzRVxcdUREMUZcXHVEODNEXFx1REU0MVxcdUQ4M0RcXHVERUE4XFx1RDgzRFxcdURDQThcXHVEODNFXFx1REQyQ1xcdTI3MDhcXHVEODNDXFx1REY4MFxcdUQ4M0NcXHVERjdBXFx1RDgzRVxcdUREMTNcXHVEODNEXFx1REUxOVxcdUQ4M0RcXHVEQzlGXFx1RDgzQ1xcdURGMzFcXHVEODNEXFx1REUxNlxcdUQ4M0RcXHVEQzc2XFx1RDgzRVxcdURENzRcXHUyNUI2XFx1MjdBMVxcdTI3NTNcXHVEODNEXFx1REM4RVxcdUQ4M0RcXHVEQ0I4XFx1MkIwN1xcdUQ4M0RcXHVERTI4XFx1RDgzQ1xcdURGMUFcXHVEODNFXFx1REQ4QlxcdUQ4M0RcXHVERTM3XFx1RDgzRFxcdUREN0FcXHUyNkEwXFx1RDgzRFxcdURFNDVcXHVEODNEXFx1REUxRlxcdUQ4M0RcXHVERTM1XFx1RDgzRFxcdURDNEVcXHVEODNFXFx1REQzMlxcdUQ4M0VcXHVERDIwXFx1RDgzRVxcdUREMjdcXHVEODNEXFx1RENDQ1xcdUQ4M0RcXHVERDM1XFx1RDgzRFxcdURDODVcXHVEODNFXFx1REREMFxcdUQ4M0RcXHVEQzNFXFx1RDgzQ1xcdURGNTJcXHVEODNEXFx1REUxN1xcdUQ4M0VcXHVERDExXFx1RDgzQ1xcdURGMEFcXHVEODNFXFx1REQyRlxcdUQ4M0RcXHVEQzM3XFx1MjYwRVxcdUQ4M0RcXHVEQ0E3XFx1RDgzRFxcdURFMkZcXHVEODNEXFx1REM4NlxcdUQ4M0RcXHVEQzQ2XFx1RDgzQ1xcdURGQTRcXHVEODNEXFx1REU0N1xcdUQ4M0NcXHVERjUxXFx1Mjc0NFxcdUQ4M0NcXHVERjM0XFx1RDgzRFxcdURDQTNcXHVEODNEXFx1REMzOFxcdUQ4M0RcXHVEQzhDXFx1RDgzRFxcdURDQ0RcXHVEODNFXFx1REQ0MFxcdUQ4M0VcXHVERDIyXFx1RDgzRFxcdURDNDVcXHVEODNEXFx1RENBMVxcdUQ4M0RcXHVEQ0E5XFx1RDgzRFxcdURDNTBcXHVEODNEXFx1RENGOFxcdUQ4M0RcXHVEQzdCXFx1RDgzRVxcdUREMTBcXHVEODNFXFx1REQyRVxcdUQ4M0NcXHVERkJDXFx1RDgzRVxcdURENzVcXHVEODNEXFx1REVBOVxcdUQ4M0NcXHVERjRFXFx1RDgzQ1xcdURGNEFcXHVEODNEXFx1REM3Q1xcdUQ4M0RcXHVEQzhEXFx1RDgzRFxcdURDRTNcXHVEODNFXFx1REQ0MicpO1xuY29uc3QgYWxwaGFiZXRCeXRlc1RvQ2hhcnMgPSBhbHBoYWJldC5yZWR1Y2UoKHAsIGMsIGkpID0+IHtcbiAgcFtpXSA9IGM7XG4gIHJldHVybiBwO1xufSwgW10pO1xuY29uc3QgYWxwaGFiZXRDaGFyc1RvQnl0ZXMgPSBhbHBoYWJldC5yZWR1Y2UoKHAsIGMsIGkpID0+IHtcbiAgcFtjLmNvZGVQb2ludEF0KDApXSA9IGk7XG4gIHJldHVybiBwO1xufSwgW10pO1xuZnVuY3Rpb24gZW5jb2RlKGRhdGEpIHtcbiAgcmV0dXJuIGRhdGEucmVkdWNlKChwLCBjKSA9PiB7XG4gICAgcCArPSBhbHBoYWJldEJ5dGVzVG9DaGFyc1tjXTtcbiAgICByZXR1cm4gcDtcbiAgfSwgJycpO1xufVxuZnVuY3Rpb24gZGVjb2RlKHN0cikge1xuICBjb25zdCBieXRzID0gW107XG4gIGZvciAoY29uc3QgY2hhciBvZiBzdHIpIHtcbiAgICBjb25zdCBieXQgPSBhbHBoYWJldENoYXJzVG9CeXRlc1tjaGFyLmNvZGVQb2ludEF0KDApXTtcbiAgICBpZiAoYnl0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm9uLWJhc2UyNTZlbW9qaSBjaGFyYWN0ZXI6ICR7IGNoYXIgfWApO1xuICAgIH1cbiAgICBieXRzLnB1c2goYnl0KTtcbiAgfVxuICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYnl0cyk7XG59XG5leHBvcnQgY29uc3QgYmFzZTI1NmVtb2ppID0gZnJvbSh7XG4gIHByZWZpeDogJ1xcdUQ4M0RcXHVERTgwJyxcbiAgbmFtZTogJ2Jhc2UyNTZlbW9qaScsXG4gIGVuY29kZSxcbiAgZGVjb2RlXG59KTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base256emoji.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base32.js": -/*!***********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base32.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base32: function() { return /* binding */ base32; },\n/* harmony export */ base32hex: function() { return /* binding */ base32hex; },\n/* harmony export */ base32hexpad: function() { return /* binding */ base32hexpad; },\n/* harmony export */ base32hexpadupper: function() { return /* binding */ base32hexpadupper; },\n/* harmony export */ base32hexupper: function() { return /* binding */ base32hexupper; },\n/* harmony export */ base32pad: function() { return /* binding */ base32pad; },\n/* harmony export */ base32padupper: function() { return /* binding */ base32padupper; },\n/* harmony export */ base32upper: function() { return /* binding */ base32upper; },\n/* harmony export */ base32z: function() { return /* binding */ base32z; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base32 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'b',\n name: 'base32',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567',\n bitsPerChar: 5\n});\nconst base32upper = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'B',\n name: 'base32upper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',\n bitsPerChar: 5\n});\nconst base32pad = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'c',\n name: 'base32pad',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',\n bitsPerChar: 5\n});\nconst base32padupper = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'C',\n name: 'base32padupper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',\n bitsPerChar: 5\n});\nconst base32hex = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'v',\n name: 'base32hex',\n alphabet: '0123456789abcdefghijklmnopqrstuv',\n bitsPerChar: 5\n});\nconst base32hexupper = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'V',\n name: 'base32hexupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',\n bitsPerChar: 5\n});\nconst base32hexpad = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 't',\n name: 'base32hexpad',\n alphabet: '0123456789abcdefghijklmnopqrstuv=',\n bitsPerChar: 5\n});\nconst base32hexpadupper = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'T',\n name: 'base32hexpadupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',\n bitsPerChar: 5\n});\nconst base32z = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'h',\n name: 'base32z',\n alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',\n bitsPerChar: 5\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTMyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBb0M7QUFDN0IsZUFBZSxpREFBTztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTSxvQkFBb0IsaURBQU87QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ00sa0JBQWtCLGlEQUFPO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNNLHVCQUF1QixpREFBTztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTSxrQkFBa0IsaURBQU87QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ00sdUJBQXVCLGlEQUFPO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNNLHFCQUFxQixpREFBTztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTSwwQkFBMEIsaURBQU87QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ00sZ0JBQWdCLGlEQUFPO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTMyLmpzPzU1NDgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmZjNDY0OCB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgY29uc3QgYmFzZTMyID0gcmZjNDY0OCh7XG4gIHByZWZpeDogJ2InLFxuICBuYW1lOiAnYmFzZTMyJyxcbiAgYWxwaGFiZXQ6ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2NycsXG4gIGJpdHNQZXJDaGFyOiA1XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMzJ1cHBlciA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdCJyxcbiAgbmFtZTogJ2Jhc2UzMnVwcGVyJyxcbiAgYWxwaGFiZXQ6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2NycsXG4gIGJpdHNQZXJDaGFyOiA1XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMzJwYWQgPSByZmM0NjQ4KHtcbiAgcHJlZml4OiAnYycsXG4gIG5hbWU6ICdiYXNlMzJwYWQnLFxuICBhbHBoYWJldDogJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MjM0NTY3PScsXG4gIGJpdHNQZXJDaGFyOiA1XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMzJwYWR1cHBlciA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdDJyxcbiAgbmFtZTogJ2Jhc2UzMnBhZHVwcGVyJyxcbiAgYWxwaGFiZXQ6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2Nz0nLFxuICBiaXRzUGVyQ2hhcjogNVxufSk7XG5leHBvcnQgY29uc3QgYmFzZTMyaGV4ID0gcmZjNDY0OCh7XG4gIHByZWZpeDogJ3YnLFxuICBuYW1lOiAnYmFzZTMyaGV4JyxcbiAgYWxwaGFiZXQ6ICcwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dicsXG4gIGJpdHNQZXJDaGFyOiA1XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMzJoZXh1cHBlciA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdWJyxcbiAgbmFtZTogJ2Jhc2UzMmhleHVwcGVyJyxcbiAgYWxwaGFiZXQ6ICcwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVicsXG4gIGJpdHNQZXJDaGFyOiA1XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMzJoZXhwYWQgPSByZmM0NjQ4KHtcbiAgcHJlZml4OiAndCcsXG4gIG5hbWU6ICdiYXNlMzJoZXhwYWQnLFxuICBhbHBoYWJldDogJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2PScsXG4gIGJpdHNQZXJDaGFyOiA1XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlMzJoZXhwYWR1cHBlciA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdUJyxcbiAgbmFtZTogJ2Jhc2UzMmhleHBhZHVwcGVyJyxcbiAgYWxwaGFiZXQ6ICcwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVj0nLFxuICBiaXRzUGVyQ2hhcjogNVxufSk7XG5leHBvcnQgY29uc3QgYmFzZTMyeiA9IHJmYzQ2NDgoe1xuICBwcmVmaXg6ICdoJyxcbiAgbmFtZTogJ2Jhc2UzMnonLFxuICBhbHBoYWJldDogJ3libmRyZmc4ZWprbWNwcXhvdDF1d2lzemEzNDVoNzY5JyxcbiAgYml0c1BlckNoYXI6IDVcbn0pOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base32.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base36.js": -/*!***********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base36.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base36: function() { return /* binding */ base36; },\n/* harmony export */ base36upper: function() { return /* binding */ base36upper; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base36 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.baseX)({\n prefix: 'k',\n name: 'base36',\n alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'\n});\nconst base36upper = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.baseX)({\n prefix: 'K',\n name: 'base36upper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTM2LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFrQztBQUMzQixlQUFlLCtDQUFLO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTSxvQkFBb0IsK0NBQUs7QUFDaEM7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTM2LmpzPzM4M2IiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZVggfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNvbnN0IGJhc2UzNiA9IGJhc2VYKHtcbiAgcHJlZml4OiAnaycsXG4gIG5hbWU6ICdiYXNlMzYnLFxuICBhbHBoYWJldDogJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eidcbn0pO1xuZXhwb3J0IGNvbnN0IGJhc2UzNnVwcGVyID0gYmFzZVgoe1xuICBwcmVmaXg6ICdLJyxcbiAgbmFtZTogJ2Jhc2UzNnVwcGVyJyxcbiAgYWxwaGFiZXQ6ICcwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonXG59KTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base36.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base58.js": -/*!***********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base58.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base58btc: function() { return /* binding */ base58btc; },\n/* harmony export */ base58flickr: function() { return /* binding */ base58flickr; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base58btc = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.baseX)({\n name: 'base58btc',\n prefix: 'z',\n alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n});\nconst base58flickr = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.baseX)({\n name: 'base58flickr',\n prefix: 'Z',\n alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTU4LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFrQztBQUMzQixrQkFBa0IsK0NBQUs7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNNLHFCQUFxQiwrQ0FBSztBQUNqQztBQUNBO0FBQ0E7QUFDQSxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9tdWx0aWZvcm1hdHMvZXNtL3NyYy9iYXNlcy9iYXNlNTguanM/ZTYxYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlWCB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgY29uc3QgYmFzZTU4YnRjID0gYmFzZVgoe1xuICBuYW1lOiAnYmFzZTU4YnRjJyxcbiAgcHJlZml4OiAneicsXG4gIGFscGhhYmV0OiAnMTIzNDU2Nzg5QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5eidcbn0pO1xuZXhwb3J0IGNvbnN0IGJhc2U1OGZsaWNrciA9IGJhc2VYKHtcbiAgbmFtZTogJ2Jhc2U1OGZsaWNrcicsXG4gIHByZWZpeDogJ1onLFxuICBhbHBoYWJldDogJzEyMzQ1Njc4OWFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OUFFSU1RVVldYWVonXG59KTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base58.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base64.js": -/*!***********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base64.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base64: function() { return /* binding */ base64; },\n/* harmony export */ base64pad: function() { return /* binding */ base64pad; },\n/* harmony export */ base64url: function() { return /* binding */ base64url; },\n/* harmony export */ base64urlpad: function() { return /* binding */ base64urlpad; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base64 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'm',\n name: 'base64',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n bitsPerChar: 6\n});\nconst base64pad = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'M',\n name: 'base64pad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n bitsPerChar: 6\n});\nconst base64url = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'u',\n name: 'base64url',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n bitsPerChar: 6\n});\nconst base64urlpad = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: 'U',\n name: 'base64urlpad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',\n bitsPerChar: 6\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTY0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQW9DO0FBQzdCLGVBQWUsaURBQU87QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ00sa0JBQWtCLGlEQUFPO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNNLGtCQUFrQixpREFBTztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTSxxQkFBcUIsaURBQU87QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9tdWx0aWZvcm1hdHMvZXNtL3NyYy9iYXNlcy9iYXNlNjQuanM/YWZkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZmM0NjQ4IH0gZnJvbSAnLi9iYXNlLmpzJztcbmV4cG9ydCBjb25zdCBiYXNlNjQgPSByZmM0NjQ4KHtcbiAgcHJlZml4OiAnbScsXG4gIG5hbWU6ICdiYXNlNjQnLFxuICBhbHBoYWJldDogJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nLFxuICBiaXRzUGVyQ2hhcjogNlxufSk7XG5leHBvcnQgY29uc3QgYmFzZTY0cGFkID0gcmZjNDY0OCh7XG4gIHByZWZpeDogJ00nLFxuICBuYW1lOiAnYmFzZTY0cGFkJyxcbiAgYWxwaGFiZXQ6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPScsXG4gIGJpdHNQZXJDaGFyOiA2XG59KTtcbmV4cG9ydCBjb25zdCBiYXNlNjR1cmwgPSByZmM0NjQ4KHtcbiAgcHJlZml4OiAndScsXG4gIG5hbWU6ICdiYXNlNjR1cmwnLFxuICBhbHBoYWJldDogJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8nLFxuICBiaXRzUGVyQ2hhcjogNlxufSk7XG5leHBvcnQgY29uc3QgYmFzZTY0dXJscGFkID0gcmZjNDY0OCh7XG4gIHByZWZpeDogJ1UnLFxuICBuYW1lOiAnYmFzZTY0dXJscGFkJyxcbiAgYWxwaGFiZXQ6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fPScsXG4gIGJpdHNQZXJDaGFyOiA2XG59KTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base64.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/base8.js": -/*!**********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/base8.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base8: function() { return /* binding */ base8; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n\nconst base8 = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.rfc4648)({\n prefix: '7',\n name: 'base8',\n alphabet: '01234567',\n bitsPerChar: 3\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvYmFzZTguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFDN0IsY0FBYyxpREFBTztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2Jhc2VzL2Jhc2U4LmpzPzU2OGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmZjNDY0OCB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgY29uc3QgYmFzZTggPSByZmM0NjQ4KHtcbiAgcHJlZml4OiAnNycsXG4gIG5hbWU6ICdiYXNlOCcsXG4gIGFscGhhYmV0OiAnMDEyMzQ1NjcnLFxuICBiaXRzUGVyQ2hhcjogM1xufSk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/base8.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bases/identity.js": -/*!*************************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bases/identity.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ identity: function() { return /* binding */ identity; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/multiformats/esm/src/bases/base.js\");\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n\n\nconst identity = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.from)({\n prefix: '\\0',\n name: 'identity',\n encode: buf => (0,_bytes_js__WEBPACK_IMPORTED_MODULE_1__.toString)(buf),\n decode: str => (0,_bytes_js__WEBPACK_IMPORTED_MODULE_1__.fromString)(str)\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvaWRlbnRpdHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWlDO0FBSVo7QUFDZCxpQkFBaUIsOENBQUk7QUFDNUI7QUFDQTtBQUNBLGlCQUFpQixtREFBUTtBQUN6QixpQkFBaUIscURBQVU7QUFDM0IsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzZXMvaWRlbnRpdHkuanM/NTU4NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi9iYXNlLmpzJztcbmltcG9ydCB7XG4gIGZyb21TdHJpbmcsXG4gIHRvU3RyaW5nXG59IGZyb20gJy4uL2J5dGVzLmpzJztcbmV4cG9ydCBjb25zdCBpZGVudGl0eSA9IGZyb20oe1xuICBwcmVmaXg6ICdcXDAnLFxuICBuYW1lOiAnaWRlbnRpdHknLFxuICBlbmNvZGU6IGJ1ZiA9PiB0b1N0cmluZyhidWYpLFxuICBkZWNvZGU6IHN0ciA9PiBmcm9tU3RyaW5nKHN0cilcbn0pOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bases/identity.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/basics.js": -/*!*****************************************************!*\ - !*** ./node_modules/multiformats/esm/src/basics.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CID: function() { return /* reexport safe */ _index_js__WEBPACK_IMPORTED_MODULE_14__.CID; },\n/* harmony export */ bases: function() { return /* binding */ bases; },\n/* harmony export */ bytes: function() { return /* reexport safe */ _index_js__WEBPACK_IMPORTED_MODULE_14__.bytes; },\n/* harmony export */ codecs: function() { return /* binding */ codecs; },\n/* harmony export */ digest: function() { return /* reexport safe */ _index_js__WEBPACK_IMPORTED_MODULE_14__.digest; },\n/* harmony export */ hasher: function() { return /* reexport safe */ _index_js__WEBPACK_IMPORTED_MODULE_14__.hasher; },\n/* harmony export */ hashes: function() { return /* binding */ hashes; },\n/* harmony export */ varint: function() { return /* reexport safe */ _index_js__WEBPACK_IMPORTED_MODULE_14__.varint; }\n/* harmony export */ });\n/* harmony import */ var _bases_identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bases/identity.js */ \"./node_modules/multiformats/esm/src/bases/identity.js\");\n/* harmony import */ var _bases_base2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bases/base2.js */ \"./node_modules/multiformats/esm/src/bases/base2.js\");\n/* harmony import */ var _bases_base8_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bases/base8.js */ \"./node_modules/multiformats/esm/src/bases/base8.js\");\n/* harmony import */ var _bases_base10_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bases/base10.js */ \"./node_modules/multiformats/esm/src/bases/base10.js\");\n/* harmony import */ var _bases_base16_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bases/base16.js */ \"./node_modules/multiformats/esm/src/bases/base16.js\");\n/* harmony import */ var _bases_base32_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./bases/base32.js */ \"./node_modules/multiformats/esm/src/bases/base32.js\");\n/* harmony import */ var _bases_base36_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./bases/base36.js */ \"./node_modules/multiformats/esm/src/bases/base36.js\");\n/* harmony import */ var _bases_base58_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./bases/base58.js */ \"./node_modules/multiformats/esm/src/bases/base58.js\");\n/* harmony import */ var _bases_base64_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./bases/base64.js */ \"./node_modules/multiformats/esm/src/bases/base64.js\");\n/* harmony import */ var _bases_base256emoji_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./bases/base256emoji.js */ \"./node_modules/multiformats/esm/src/bases/base256emoji.js\");\n/* harmony import */ var _hashes_sha2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./hashes/sha2.js */ \"./node_modules/multiformats/esm/src/hashes/sha2-browser.js\");\n/* harmony import */ var _hashes_identity_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./hashes/identity.js */ \"./node_modules/multiformats/esm/src/hashes/identity.js\");\n/* harmony import */ var _codecs_raw_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./codecs/raw.js */ \"./node_modules/multiformats/esm/src/codecs/raw.js\");\n/* harmony import */ var _codecs_json_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./codecs/json.js */ \"./node_modules/multiformats/esm/src/codecs/json.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./index.js */ \"./node_modules/multiformats/esm/src/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst bases = {\n ..._bases_identity_js__WEBPACK_IMPORTED_MODULE_0__,\n ..._bases_base2_js__WEBPACK_IMPORTED_MODULE_1__,\n ..._bases_base8_js__WEBPACK_IMPORTED_MODULE_2__,\n ..._bases_base10_js__WEBPACK_IMPORTED_MODULE_3__,\n ..._bases_base16_js__WEBPACK_IMPORTED_MODULE_4__,\n ..._bases_base32_js__WEBPACK_IMPORTED_MODULE_5__,\n ..._bases_base36_js__WEBPACK_IMPORTED_MODULE_6__,\n ..._bases_base58_js__WEBPACK_IMPORTED_MODULE_7__,\n ..._bases_base64_js__WEBPACK_IMPORTED_MODULE_8__,\n ..._bases_base256emoji_js__WEBPACK_IMPORTED_MODULE_9__\n};\nconst hashes = {\n ..._hashes_sha2_js__WEBPACK_IMPORTED_MODULE_10__,\n ..._hashes_identity_js__WEBPACK_IMPORTED_MODULE_11__\n};\nconst codecs = {\n raw: _codecs_raw_js__WEBPACK_IMPORTED_MODULE_12__,\n json: _codecs_json_js__WEBPACK_IMPORTED_MODULE_13__\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzaWNzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW9EO0FBQ1Y7QUFDQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNZO0FBQ2Y7QUFDUTtBQUNWO0FBQ0U7QUFPckI7QUFDcEI7QUFDQSxLQUFLLCtDQUFZO0FBQ2pCLEtBQUssNENBQUs7QUFDVixLQUFLLDRDQUFLO0FBQ1YsS0FBSyw2Q0FBTTtBQUNYLEtBQUssNkNBQU07QUFDWCxLQUFLLDZDQUFNO0FBQ1gsS0FBSyw2Q0FBTTtBQUNYLEtBQUssNkNBQU07QUFDWCxLQUFLLDZDQUFNO0FBQ1gsS0FBSyxtREFBWTtBQUNqQjtBQUNBO0FBQ0EsS0FBSyw2Q0FBSTtBQUNULEtBQUssaURBQVE7QUFDYjtBQUNBO0FBQ0EsS0FBSztBQUNMLE1BQU07QUFDTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYmFzaWNzLmpzPzI0MmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaWRlbnRpdHlCYXNlIGZyb20gJy4vYmFzZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0ICogYXMgYmFzZTIgZnJvbSAnLi9iYXNlcy9iYXNlMi5qcyc7XG5pbXBvcnQgKiBhcyBiYXNlOCBmcm9tICcuL2Jhc2VzL2Jhc2U4LmpzJztcbmltcG9ydCAqIGFzIGJhc2UxMCBmcm9tICcuL2Jhc2VzL2Jhc2UxMC5qcyc7XG5pbXBvcnQgKiBhcyBiYXNlMTYgZnJvbSAnLi9iYXNlcy9iYXNlMTYuanMnO1xuaW1wb3J0ICogYXMgYmFzZTMyIGZyb20gJy4vYmFzZXMvYmFzZTMyLmpzJztcbmltcG9ydCAqIGFzIGJhc2UzNiBmcm9tICcuL2Jhc2VzL2Jhc2UzNi5qcyc7XG5pbXBvcnQgKiBhcyBiYXNlNTggZnJvbSAnLi9iYXNlcy9iYXNlNTguanMnO1xuaW1wb3J0ICogYXMgYmFzZTY0IGZyb20gJy4vYmFzZXMvYmFzZTY0LmpzJztcbmltcG9ydCAqIGFzIGJhc2UyNTZlbW9qaSBmcm9tICcuL2Jhc2VzL2Jhc2UyNTZlbW9qaS5qcyc7XG5pbXBvcnQgKiBhcyBzaGEyIGZyb20gJy4vaGFzaGVzL3NoYTIuanMnO1xuaW1wb3J0ICogYXMgaWRlbnRpdHkgZnJvbSAnLi9oYXNoZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0ICogYXMgcmF3IGZyb20gJy4vY29kZWNzL3Jhdy5qcyc7XG5pbXBvcnQgKiBhcyBqc29uIGZyb20gJy4vY29kZWNzL2pzb24uanMnO1xuaW1wb3J0IHtcbiAgQ0lELFxuICBoYXNoZXIsXG4gIGRpZ2VzdCxcbiAgdmFyaW50LFxuICBieXRlc1xufSBmcm9tICcuL2luZGV4LmpzJztcbmNvbnN0IGJhc2VzID0ge1xuICAuLi5pZGVudGl0eUJhc2UsXG4gIC4uLmJhc2UyLFxuICAuLi5iYXNlOCxcbiAgLi4uYmFzZTEwLFxuICAuLi5iYXNlMTYsXG4gIC4uLmJhc2UzMixcbiAgLi4uYmFzZTM2LFxuICAuLi5iYXNlNTgsXG4gIC4uLmJhc2U2NCxcbiAgLi4uYmFzZTI1NmVtb2ppXG59O1xuY29uc3QgaGFzaGVzID0ge1xuICAuLi5zaGEyLFxuICAuLi5pZGVudGl0eVxufTtcbmNvbnN0IGNvZGVjcyA9IHtcbiAgcmF3LFxuICBqc29uXG59O1xuZXhwb3J0IHtcbiAgQ0lELFxuICBoYXNoZXIsXG4gIGRpZ2VzdCxcbiAgdmFyaW50LFxuICBieXRlcyxcbiAgaGFzaGVzLFxuICBiYXNlcyxcbiAgY29kZWNzXG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/basics.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/bytes.js": -/*!****************************************************!*\ - !*** ./node_modules/multiformats/esm/src/bytes.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ coerce: function() { return /* binding */ coerce; },\n/* harmony export */ empty: function() { return /* binding */ empty; },\n/* harmony export */ equals: function() { return /* binding */ equals; },\n/* harmony export */ fromHex: function() { return /* binding */ fromHex; },\n/* harmony export */ fromString: function() { return /* binding */ fromString; },\n/* harmony export */ isBinary: function() { return /* binding */ isBinary; },\n/* harmony export */ toHex: function() { return /* binding */ toHex; },\n/* harmony export */ toString: function() { return /* binding */ toString; }\n/* harmony export */ });\nconst 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);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvYnl0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsb0JBQW9CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9tdWx0aWZvcm1hdHMvZXNtL3NyYy9ieXRlcy5qcz81MzU0Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVtcHR5ID0gbmV3IFVpbnQ4QXJyYXkoMCk7XG5jb25zdCB0b0hleCA9IGQgPT4gZC5yZWR1Y2UoKGhleCwgYnl0ZSkgPT4gaGV4ICsgYnl0ZS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSwgJycpO1xuY29uc3QgZnJvbUhleCA9IGhleCA9PiB7XG4gIGNvbnN0IGhleGVzID0gaGV4Lm1hdGNoKC8uLi9nKTtcbiAgcmV0dXJuIGhleGVzID8gbmV3IFVpbnQ4QXJyYXkoaGV4ZXMubWFwKGIgPT4gcGFyc2VJbnQoYiwgMTYpKSkgOiBlbXB0eTtcbn07XG5jb25zdCBlcXVhbHMgPSAoYWEsIGJiKSA9PiB7XG4gIGlmIChhYSA9PT0gYmIpXG4gICAgcmV0dXJuIHRydWU7XG4gIGlmIChhYS5ieXRlTGVuZ3RoICE9PSBiYi5ieXRlTGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAobGV0IGlpID0gMDsgaWkgPCBhYS5ieXRlTGVuZ3RoOyBpaSsrKSB7XG4gICAgaWYgKGFhW2lpXSAhPT0gYmJbaWldKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufTtcbmNvbnN0IGNvZXJjZSA9IG8gPT4ge1xuICBpZiAobyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgJiYgby5jb25zdHJ1Y3Rvci5uYW1lID09PSAnVWludDhBcnJheScpXG4gICAgcmV0dXJuIG87XG4gIGlmIChvIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpXG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KG8pO1xuICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KG8pKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KG8uYnVmZmVyLCBvLmJ5dGVPZmZzZXQsIG8uYnl0ZUxlbmd0aCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHR5cGUsIG11c3QgYmUgYmluYXJ5IHR5cGUnKTtcbn07XG5jb25zdCBpc0JpbmFyeSA9IG8gPT4gbyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyIHx8IEFycmF5QnVmZmVyLmlzVmlldyhvKTtcbmNvbnN0IGZyb21TdHJpbmcgPSBzdHIgPT4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHN0cik7XG5jb25zdCB0b1N0cmluZyA9IGIgPT4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGIpO1xuZXhwb3J0IHtcbiAgZXF1YWxzLFxuICBjb2VyY2UsXG4gIGlzQmluYXJ5LFxuICBmcm9tSGV4LFxuICB0b0hleCxcbiAgZnJvbVN0cmluZyxcbiAgdG9TdHJpbmcsXG4gIGVtcHR5XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/bytes.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/cid.js": -/*!**************************************************!*\ - !*** ./node_modules/multiformats/esm/src/cid.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CID: function() { return /* binding */ CID; }\n/* harmony export */ });\n/* harmony import */ var _varint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./varint.js */ \"./node_modules/multiformats/esm/src/varint.js\");\n/* harmony import */ var _hashes_digest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hashes/digest.js */ \"./node_modules/multiformats/esm/src/hashes/digest.js\");\n/* harmony import */ var _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bases/base58.js */ \"./node_modules/multiformats/esm/src/bases/base58.js\");\n/* harmony import */ var _bases_base32_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bases/base32.js */ \"./node_modules/multiformats/esm/src/bases/base32.js\");\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n\n\n\n\n\nclass 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 = _hashes_digest_js__WEBPACK_IMPORTED_MODULE_1__.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 && _hashes_digest_js__WEBPACK_IMPORTED_MODULE_1__.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 || _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc.encoder);\n default:\n return toStringV1(bytes, _baseCache, base || _bases_base32_js__WEBPACK_IMPORTED_MODULE_3__.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 = _hashes_digest_js__WEBPACK_IMPORTED_MODULE_1__.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 = (0,_bytes_js__WEBPACK_IMPORTED_MODULE_4__.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 _hashes_digest_js__WEBPACK_IMPORTED_MODULE_1__.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_js__WEBPACK_IMPORTED_MODULE_0__.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 || _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc;\n return [\n _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc.prefix,\n decoder.decode(`${ _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc.prefix }${ source }`)\n ];\n }\n case _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc.prefix: {\n const decoder = base || _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc;\n return [\n _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.base58btc.prefix,\n decoder.decode(source)\n ];\n }\n case _bases_base32_js__WEBPACK_IMPORTED_MODULE_3__.base32.prefix: {\n const decoder = base || _bases_base32_js__WEBPACK_IMPORTED_MODULE_3__.base32;\n return [\n _bases_base32_js__WEBPACK_IMPORTED_MODULE_3__.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 !== _bases_base58_js__WEBPACK_IMPORTED_MODULE_2__.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_js__WEBPACK_IMPORTED_MODULE_0__.encodingLength(version);\n const hashOffset = codeOffset + _varint_js__WEBPACK_IMPORTED_MODULE_0__.encodingLength(code);\n const bytes = new Uint8Array(hashOffset + multihash.byteLength);\n _varint_js__WEBPACK_IMPORTED_MODULE_0__.encodeTo(version, bytes, 0);\n _varint_js__WEBPACK_IMPORTED_MODULE_0__.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`;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvY2lkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFzQztBQUNPO0FBQ0M7QUFDSDtBQUNQO0FBQzdCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxpQkFBaUI7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGNBQWM7QUFDN0IsMEJBQTBCLHFEQUFhO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxlQUFlO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0ZBQWtGLHFEQUFhO0FBQy9GO0FBQ0E7QUFDQSxXQUFXLDRCQUE0QjtBQUN2QztBQUNBO0FBQ0EsbURBQW1ELHVEQUFTO0FBQzVEO0FBQ0EsbURBQW1ELG9EQUFNO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLGFBQWEsaUNBQWlDO0FBQzlDO0FBQ0EsTUFBTTtBQUNOLGFBQWEsMEJBQTBCO0FBQ3ZDLHFCQUFxQixxREFBYTtBQUNsQztBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1FQUFtRSxhQUFhO0FBQ2hGLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixpREFBTTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixxREFBYTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsOENBQWE7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsU0FBUztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qix1REFBUztBQUN2QztBQUNBLFFBQVEsdURBQVM7QUFDakIsMkJBQTJCLHVEQUFTLFNBQVMsR0FBRyxRQUFRO0FBQ3hEO0FBQ0E7QUFDQSxPQUFPLHVEQUFTO0FBQ2hCLDhCQUE4Qix1REFBUztBQUN2QztBQUNBLFFBQVEsdURBQVM7QUFDakI7QUFDQTtBQUNBO0FBQ0EsT0FBTyxvREFBTTtBQUNiLDhCQUE4QixvREFBTTtBQUNwQztBQUNBLFFBQVEsb0RBQU07QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLFFBQVE7QUFDakIsaUJBQWlCLHVEQUFTO0FBQzFCLCtDQUErQyxZQUFZO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsUUFBUTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixzREFBcUI7QUFDMUMsa0NBQWtDLHNEQUFxQjtBQUN2RDtBQUNBLEVBQUUsZ0RBQWU7QUFDakIsRUFBRSxnREFBZTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9tdWx0aWZvcm1hdHMvZXNtL3NyYy9jaWQuanM/MzQ1MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB2YXJpbnQgZnJvbSAnLi92YXJpbnQuanMnO1xuaW1wb3J0ICogYXMgRGlnZXN0IGZyb20gJy4vaGFzaGVzL2RpZ2VzdC5qcyc7XG5pbXBvcnQgeyBiYXNlNThidGMgfSBmcm9tICcuL2Jhc2VzL2Jhc2U1OC5qcyc7XG5pbXBvcnQgeyBiYXNlMzIgfSBmcm9tICcuL2Jhc2VzL2Jhc2UzMi5qcyc7XG5pbXBvcnQgeyBjb2VyY2UgfSBmcm9tICcuL2J5dGVzLmpzJztcbmV4cG9ydCBjbGFzcyBDSUQge1xuICBjb25zdHJ1Y3Rvcih2ZXJzaW9uLCBjb2RlLCBtdWx0aWhhc2gsIGJ5dGVzKSB7XG4gICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMubXVsdGloYXNoID0gbXVsdGloYXNoO1xuICAgIHRoaXMuYnl0ZXMgPSBieXRlcztcbiAgICB0aGlzLmJ5dGVPZmZzZXQgPSBieXRlcy5ieXRlT2Zmc2V0O1xuICAgIHRoaXMuYnl0ZUxlbmd0aCA9IGJ5dGVzLmJ5dGVMZW5ndGg7XG4gICAgdGhpcy5hc0NJRCA9IHRoaXM7XG4gICAgdGhpcy5fYmFzZUNhY2hlID0gbmV3IE1hcCgpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMsIHtcbiAgICAgIGJ5dGVPZmZzZXQ6IGhpZGRlbixcbiAgICAgIGJ5dGVMZW5ndGg6IGhpZGRlbixcbiAgICAgIGNvZGU6IHJlYWRvbmx5LFxuICAgICAgdmVyc2lvbjogcmVhZG9ubHksXG4gICAgICBtdWx0aWhhc2g6IHJlYWRvbmx5LFxuICAgICAgYnl0ZXM6IHJlYWRvbmx5LFxuICAgICAgX2Jhc2VDYWNoZTogaGlkZGVuLFxuICAgICAgYXNDSUQ6IGhpZGRlblxuICAgIH0pO1xuICB9XG4gIHRvVjAoKSB7XG4gICAgc3dpdGNoICh0aGlzLnZlcnNpb24pIHtcbiAgICBjYXNlIDA6IHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCB7Y29kZSwgbXVsdGloYXNofSA9IHRoaXM7XG4gICAgICAgIGlmIChjb2RlICE9PSBEQUdfUEJfQ09ERSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNvbnZlcnQgYSBub24gZGFnLXBiIENJRCB0byBDSUR2MCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aWhhc2guY29kZSAhPT0gU0hBXzI1Nl9DT0RFKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY29udmVydCBub24gc2hhMi0yNTYgbXVsdGloYXNoIENJRCB0byBDSUR2MCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBDSUQuY3JlYXRlVjAobXVsdGloYXNoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdG9WMSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMudmVyc2lvbikge1xuICAgIGNhc2UgMDoge1xuICAgICAgICBjb25zdCB7Y29kZSwgZGlnZXN0fSA9IHRoaXMubXVsdGloYXNoO1xuICAgICAgICBjb25zdCBtdWx0aWhhc2ggPSBEaWdlc3QuY3JlYXRlKGNvZGUsIGRpZ2VzdCk7XG4gICAgICAgIHJldHVybiBDSUQuY3JlYXRlVjEodGhpcy5jb2RlLCBtdWx0aWhhc2gpO1xuICAgICAgfVxuICAgIGNhc2UgMToge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICAgIHRocm93IEVycm9yKGBDYW4gbm90IGNvbnZlcnQgQ0lEIHZlcnNpb24gJHsgdGhpcy52ZXJzaW9uIH0gdG8gdmVyc2lvbiAwLiBUaGlzIGlzIGEgYnVnIHBsZWFzZSByZXBvcnRgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZXF1YWxzKG90aGVyKSB7XG4gICAgcmV0dXJuIG90aGVyICYmIHRoaXMuY29kZSA9PT0gb3RoZXIuY29kZSAmJiB0aGlzLnZlcnNpb24gPT09IG90aGVyLnZlcnNpb24gJiYgRGlnZXN0LmVxdWFscyh0aGlzLm11bHRpaGFzaCwgb3RoZXIubXVsdGloYXNoKTtcbiAgfVxuICB0b1N0cmluZyhiYXNlKSB7XG4gICAgY29uc3Qge2J5dGVzLCB2ZXJzaW9uLCBfYmFzZUNhY2hlfSA9IHRoaXM7XG4gICAgc3dpdGNoICh2ZXJzaW9uKSB7XG4gICAgY2FzZSAwOlxuICAgICAgcmV0dXJuIHRvU3RyaW5nVjAoYnl0ZXMsIF9iYXNlQ2FjaGUsIGJhc2UgfHwgYmFzZTU4YnRjLmVuY29kZXIpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdG9TdHJpbmdWMShieXRlcywgX2Jhc2VDYWNoZSwgYmFzZSB8fCBiYXNlMzIuZW5jb2Rlcik7XG4gICAgfVxuICB9XG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogdGhpcy5jb2RlLFxuICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uLFxuICAgICAgaGFzaDogdGhpcy5tdWx0aWhhc2guYnl0ZXNcbiAgICB9O1xuICB9XG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0NJRCc7XG4gIH1cbiAgW1N5bWJvbC5mb3IoJ25vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tJyldKCkge1xuICAgIHJldHVybiAnQ0lEKCcgKyB0aGlzLnRvU3RyaW5nKCkgKyAnKSc7XG4gIH1cbiAgc3RhdGljIGlzQ0lEKHZhbHVlKSB7XG4gICAgZGVwcmVjYXRlKC9eMFxcLjAvLCBJU19DSURfREVQUkVDQVRJT04pO1xuICAgIHJldHVybiAhISh2YWx1ZSAmJiAodmFsdWVbY2lkU3ltYm9sXSB8fCB2YWx1ZS5hc0NJRCA9PT0gdmFsdWUpKTtcbiAgfVxuICBnZXQgdG9CYXNlRW5jb2RlZFN0cmluZygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlcHJlY2F0ZWQsIHVzZSAudG9TdHJpbmcoKScpO1xuICB9XG4gIGdldCBjb2RlYygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiY29kZWNcIiBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLCB1c2UgaW50ZWdlciBcImNvZGVcIiBwcm9wZXJ0eSBpbnN0ZWFkJyk7XG4gIH1cbiAgZ2V0IGJ1ZmZlcigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlcHJlY2F0ZWQgLmJ1ZmZlciBwcm9wZXJ0eSwgdXNlIC5ieXRlcyB0byBnZXQgVWludDhBcnJheSBpbnN0ZWFkJyk7XG4gIH1cbiAgZ2V0IG11bHRpYmFzZU5hbWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcIm11bHRpYmFzZU5hbWVcIiBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkJyk7XG4gIH1cbiAgZ2V0IHByZWZpeCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wicHJlZml4XCIgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCcpO1xuICB9XG4gIHN0YXRpYyBhc0NJRCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIENJRCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5hc0NJRCA9PT0gdmFsdWUpIHtcbiAgICAgIGNvbnN0IHt2ZXJzaW9uLCBjb2RlLCBtdWx0aWhhc2gsIGJ5dGVzfSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIG5ldyBDSUQodmVyc2lvbiwgY29kZSwgbXVsdGloYXNoLCBieXRlcyB8fCBlbmNvZGVDSUQodmVyc2lvbiwgY29kZSwgbXVsdGloYXNoLmJ5dGVzKSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlW2NpZFN5bWJvbF0gPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IHt2ZXJzaW9uLCBtdWx0aWhhc2gsIGNvZGV9ID0gdmFsdWU7XG4gICAgICBjb25zdCBkaWdlc3QgPSBEaWdlc3QuZGVjb2RlKG11bHRpaGFzaCk7XG4gICAgICByZXR1cm4gQ0lELmNyZWF0ZSh2ZXJzaW9uLCBjb2RlLCBkaWdlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgc3RhdGljIGNyZWF0ZSh2ZXJzaW9uLCBjb2RlLCBkaWdlc3QpIHtcbiAgICBpZiAodHlwZW9mIGNvZGUgIT09ICdudW1iZXInKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0cmluZyBjb2RlY3MgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgc3dpdGNoICh2ZXJzaW9uKSB7XG4gICAgY2FzZSAwOiB7XG4gICAgICAgIGlmIChjb2RlICE9PSBEQUdfUEJfQ09ERSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVmVyc2lvbiAwIENJRCBtdXN0IHVzZSBkYWctcGIgKGNvZGU6ICR7IERBR19QQl9DT0RFIH0pIGJsb2NrIGVuY29kaW5nYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDSUQodmVyc2lvbiwgY29kZSwgZGlnZXN0LCBkaWdlc3QuYnl0ZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgY2FzZSAxOiB7XG4gICAgICAgIGNvbnN0IGJ5dGVzID0gZW5jb2RlQ0lEKHZlcnNpb24sIGNvZGUsIGRpZ2VzdC5ieXRlcyk7XG4gICAgICAgIHJldHVybiBuZXcgQ0lEKHZlcnNpb24sIGNvZGUsIGRpZ2VzdCwgYnl0ZXMpO1xuICAgICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb24nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc3RhdGljIGNyZWF0ZVYwKGRpZ2VzdCkge1xuICAgIHJldHVybiBDSUQuY3JlYXRlKDAsIERBR19QQl9DT0RFLCBkaWdlc3QpO1xuICB9XG4gIHN0YXRpYyBjcmVhdGVWMShjb2RlLCBkaWdlc3QpIHtcbiAgICByZXR1cm4gQ0lELmNyZWF0ZSgxLCBjb2RlLCBkaWdlc3QpO1xuICB9XG4gIHN0YXRpYyBkZWNvZGUoYnl0ZXMpIHtcbiAgICBjb25zdCBbY2lkLCByZW1haW5kZXJdID0gQ0lELmRlY29kZUZpcnN0KGJ5dGVzKTtcbiAgICBpZiAocmVtYWluZGVyLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmNvcnJlY3QgbGVuZ3RoJyk7XG4gICAgfVxuICAgIHJldHVybiBjaWQ7XG4gIH1cbiAgc3RhdGljIGRlY29kZUZpcnN0KGJ5dGVzKSB7XG4gICAgY29uc3Qgc3BlY3MgPSBDSUQuaW5zcGVjdEJ5dGVzKGJ5dGVzKTtcbiAgICBjb25zdCBwcmVmaXhTaXplID0gc3BlY3Muc2l6ZSAtIHNwZWNzLm11bHRpaGFzaFNpemU7XG4gICAgY29uc3QgbXVsdGloYXNoQnl0ZXMgPSBjb2VyY2UoYnl0ZXMuc3ViYXJyYXkocHJlZml4U2l6ZSwgcHJlZml4U2l6ZSArIHNwZWNzLm11bHRpaGFzaFNpemUpKTtcbiAgICBpZiAobXVsdGloYXNoQnl0ZXMuYnl0ZUxlbmd0aCAhPT0gc3BlY3MubXVsdGloYXNoU2l6ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmNvcnJlY3QgbGVuZ3RoJyk7XG4gICAgfVxuICAgIGNvbnN0IGRpZ2VzdEJ5dGVzID0gbXVsdGloYXNoQnl0ZXMuc3ViYXJyYXkoc3BlY3MubXVsdGloYXNoU2l6ZSAtIHNwZWNzLmRpZ2VzdFNpemUpO1xuICAgIGNvbnN0IGRpZ2VzdCA9IG5ldyBEaWdlc3QuRGlnZXN0KHNwZWNzLm11bHRpaGFzaENvZGUsIHNwZWNzLmRpZ2VzdFNpemUsIGRpZ2VzdEJ5dGVzLCBtdWx0aWhhc2hCeXRlcyk7XG4gICAgY29uc3QgY2lkID0gc3BlY3MudmVyc2lvbiA9PT0gMCA/IENJRC5jcmVhdGVWMChkaWdlc3QpIDogQ0lELmNyZWF0ZVYxKHNwZWNzLmNvZGVjLCBkaWdlc3QpO1xuICAgIHJldHVybiBbXG4gICAgICBjaWQsXG4gICAgICBieXRlcy5zdWJhcnJheShzcGVjcy5zaXplKVxuICAgIF07XG4gIH1cbiAgc3RhdGljIGluc3BlY3RCeXRlcyhpbml0aWFsQnl0ZXMpIHtcbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBjb25zdCBuZXh0ID0gKCkgPT4ge1xuICAgICAgY29uc3QgW2ksIGxlbmd0aF0gPSB2YXJpbnQuZGVjb2RlKGluaXRpYWxCeXRlcy5zdWJhcnJheShvZmZzZXQpKTtcbiAgICAgIG9mZnNldCArPSBsZW5ndGg7XG4gICAgICByZXR1cm4gaTtcbiAgICB9O1xuICAgIGxldCB2ZXJzaW9uID0gbmV4dCgpO1xuICAgIGxldCBjb2RlYyA9IERBR19QQl9DT0RFO1xuICAgIGlmICh2ZXJzaW9uID09PSAxOCkge1xuICAgICAgdmVyc2lvbiA9IDA7XG4gICAgICBvZmZzZXQgPSAwO1xuICAgIH0gZWxzZSBpZiAodmVyc2lvbiA9PT0gMSkge1xuICAgICAgY29kZWMgPSBuZXh0KCk7XG4gICAgfVxuICAgIGlmICh2ZXJzaW9uICE9PSAwICYmIHZlcnNpb24gIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhbGlkIENJRCB2ZXJzaW9uICR7IHZlcnNpb24gfWApO1xuICAgIH1cbiAgICBjb25zdCBwcmVmaXhTaXplID0gb2Zmc2V0O1xuICAgIGNvbnN0IG11bHRpaGFzaENvZGUgPSBuZXh0KCk7XG4gICAgY29uc3QgZGlnZXN0U2l6ZSA9IG5leHQoKTtcbiAgICBjb25zdCBzaXplID0gb2Zmc2V0ICsgZGlnZXN0U2l6ZTtcbiAgICBjb25zdCBtdWx0aWhhc2hTaXplID0gc2l6ZSAtIHByZWZpeFNpemU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZlcnNpb24sXG4gICAgICBjb2RlYyxcbiAgICAgIG11bHRpaGFzaENvZGUsXG4gICAgICBkaWdlc3RTaXplLFxuICAgICAgbXVsdGloYXNoU2l6ZSxcbiAgICAgIHNpemVcbiAgICB9O1xuICB9XG4gIHN0YXRpYyBwYXJzZShzb3VyY2UsIGJhc2UpIHtcbiAgICBjb25zdCBbcHJlZml4LCBieXRlc10gPSBwYXJzZUNJRHRvQnl0ZXMoc291cmNlLCBiYXNlKTtcbiAgICBjb25zdCBjaWQgPSBDSUQuZGVjb2RlKGJ5dGVzKTtcbiAgICBjaWQuX2Jhc2VDYWNoZS5zZXQocHJlZml4LCBzb3VyY2UpO1xuICAgIHJldHVybiBjaWQ7XG4gIH1cbn1cbmNvbnN0IHBhcnNlQ0lEdG9CeXRlcyA9IChzb3VyY2UsIGJhc2UpID0+IHtcbiAgc3dpdGNoIChzb3VyY2VbMF0pIHtcbiAgY2FzZSAnUSc6IHtcbiAgICAgIGNvbnN0IGRlY29kZXIgPSBiYXNlIHx8IGJhc2U1OGJ0YztcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGJhc2U1OGJ0Yy5wcmVmaXgsXG4gICAgICAgIGRlY29kZXIuZGVjb2RlKGAkeyBiYXNlNThidGMucHJlZml4IH0keyBzb3VyY2UgfWApXG4gICAgICBdO1xuICAgIH1cbiAgY2FzZSBiYXNlNThidGMucHJlZml4OiB7XG4gICAgICBjb25zdCBkZWNvZGVyID0gYmFzZSB8fCBiYXNlNThidGM7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBiYXNlNThidGMucHJlZml4LFxuICAgICAgICBkZWNvZGVyLmRlY29kZShzb3VyY2UpXG4gICAgICBdO1xuICAgIH1cbiAgY2FzZSBiYXNlMzIucHJlZml4OiB7XG4gICAgICBjb25zdCBkZWNvZGVyID0gYmFzZSB8fCBiYXNlMzI7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBiYXNlMzIucHJlZml4LFxuICAgICAgICBkZWNvZGVyLmRlY29kZShzb3VyY2UpXG4gICAgICBdO1xuICAgIH1cbiAgZGVmYXVsdDoge1xuICAgICAgaWYgKGJhc2UgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBFcnJvcignVG8gcGFyc2Ugbm9uIGJhc2UzMiBvciBiYXNlNThidGMgZW5jb2RlZCBDSUQgbXVsdGliYXNlIGRlY29kZXIgbXVzdCBiZSBwcm92aWRlZCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgc291cmNlWzBdLFxuICAgICAgICBiYXNlLmRlY29kZShzb3VyY2UpXG4gICAgICBdO1xuICAgIH1cbiAgfVxufTtcbmNvbnN0IHRvU3RyaW5nVjAgPSAoYnl0ZXMsIGNhY2hlLCBiYXNlKSA9PiB7XG4gIGNvbnN0IHtwcmVmaXh9ID0gYmFzZTtcbiAgaWYgKHByZWZpeCAhPT0gYmFzZTU4YnRjLnByZWZpeCkge1xuICAgIHRocm93IEVycm9yKGBDYW5ub3Qgc3RyaW5nIGVuY29kZSBWMCBpbiAkeyBiYXNlLm5hbWUgfSBlbmNvZGluZ2ApO1xuICB9XG4gIGNvbnN0IGNpZCA9IGNhY2hlLmdldChwcmVmaXgpO1xuICBpZiAoY2lkID09IG51bGwpIHtcbiAgICBjb25zdCBjaWQgPSBiYXNlLmVuY29kZShieXRlcykuc2xpY2UoMSk7XG4gICAgY2FjaGUuc2V0KHByZWZpeCwgY2lkKTtcbiAgICByZXR1cm4gY2lkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjaWQ7XG4gIH1cbn07XG5jb25zdCB0b1N0cmluZ1YxID0gKGJ5dGVzLCBjYWNoZSwgYmFzZSkgPT4ge1xuICBjb25zdCB7cHJlZml4fSA9IGJhc2U7XG4gIGNvbnN0IGNpZCA9IGNhY2hlLmdldChwcmVmaXgpO1xuICBpZiAoY2lkID09IG51bGwpIHtcbiAgICBjb25zdCBjaWQgPSBiYXNlLmVuY29kZShieXRlcyk7XG4gICAgY2FjaGUuc2V0KHByZWZpeCwgY2lkKTtcbiAgICByZXR1cm4gY2lkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjaWQ7XG4gIH1cbn07XG5jb25zdCBEQUdfUEJfQ09ERSA9IDExMjtcbmNvbnN0IFNIQV8yNTZfQ09ERSA9IDE4O1xuY29uc3QgZW5jb2RlQ0lEID0gKHZlcnNpb24sIGNvZGUsIG11bHRpaGFzaCkgPT4ge1xuICBjb25zdCBjb2RlT2Zmc2V0ID0gdmFyaW50LmVuY29kaW5nTGVuZ3RoKHZlcnNpb24pO1xuICBjb25zdCBoYXNoT2Zmc2V0ID0gY29kZU9mZnNldCArIHZhcmludC5lbmNvZGluZ0xlbmd0aChjb2RlKTtcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShoYXNoT2Zmc2V0ICsgbXVsdGloYXNoLmJ5dGVMZW5ndGgpO1xuICB2YXJpbnQuZW5jb2RlVG8odmVyc2lvbiwgYnl0ZXMsIDApO1xuICB2YXJpbnQuZW5jb2RlVG8oY29kZSwgYnl0ZXMsIGNvZGVPZmZzZXQpO1xuICBieXRlcy5zZXQobXVsdGloYXNoLCBoYXNoT2Zmc2V0KTtcbiAgcmV0dXJuIGJ5dGVzO1xufTtcbmNvbnN0IGNpZFN5bWJvbCA9IFN5bWJvbC5mb3IoJ0BpcGxkL2pzLWNpZC9DSUQnKTtcbmNvbnN0IHJlYWRvbmx5ID0ge1xuICB3cml0YWJsZTogZmFsc2UsXG4gIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gIGVudW1lcmFibGU6IHRydWVcbn07XG5jb25zdCBoaWRkZW4gPSB7XG4gIHdyaXRhYmxlOiBmYWxzZSxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGNvbmZpZ3VyYWJsZTogZmFsc2Vcbn07XG5jb25zdCB2ZXJzaW9uID0gJzAuMC4wLWRldic7XG5jb25zdCBkZXByZWNhdGUgPSAocmFuZ2UsIG1lc3NhZ2UpID0+IHtcbiAgaWYgKHJhbmdlLnRlc3QodmVyc2lvbikpIHtcbiAgICBjb25zb2xlLndhcm4obWVzc2FnZSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG59O1xuY29uc3QgSVNfQ0lEX0RFUFJFQ0FUSU9OID0gYENJRC5pc0NJRCh2KSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbkZvbGxvd2luZyBjb2RlIHBhdHRlcm46XG5cbmlmIChDSUQuaXNDSUQodmFsdWUpKSB7XG4gIGRvU29tZXRoaW5nV2l0aENJRCh2YWx1ZSlcbn1cblxuSXMgcmVwbGFjZWQgd2l0aDpcblxuY29uc3QgY2lkID0gQ0lELmFzQ0lEKHZhbHVlKVxuaWYgKGNpZCkge1xuICAvLyBNYWtlIHN1cmUgdG8gdXNlIGNpZCBpbnN0ZWFkIG9mIHZhbHVlXG4gIGRvU29tZXRoaW5nV2l0aENJRChjaWQpXG59XG5gOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/cid.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/codecs/json.js": -/*!**********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/codecs/json.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ code: function() { return /* binding */ code; },\n/* harmony export */ decode: function() { return /* binding */ decode; },\n/* harmony export */ encode: function() { return /* binding */ encode; },\n/* harmony export */ name: function() { return /* binding */ name; }\n/* harmony export */ });\nconst textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nconst name = 'json';\nconst code = 512;\nconst encode = node => textEncoder.encode(JSON.stringify(node));\nconst decode = data => JSON.parse(textDecoder.decode(data));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvY29kZWNzL2pzb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDTztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvY29kZWNzL2pzb24uanM/ZWUyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0ZXh0RW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuY29uc3QgdGV4dERlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKTtcbmV4cG9ydCBjb25zdCBuYW1lID0gJ2pzb24nO1xuZXhwb3J0IGNvbnN0IGNvZGUgPSA1MTI7XG5leHBvcnQgY29uc3QgZW5jb2RlID0gbm9kZSA9PiB0ZXh0RW5jb2Rlci5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobm9kZSkpO1xuZXhwb3J0IGNvbnN0IGRlY29kZSA9IGRhdGEgPT4gSlNPTi5wYXJzZSh0ZXh0RGVjb2Rlci5kZWNvZGUoZGF0YSkpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/codecs/json.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/codecs/raw.js": -/*!*********************************************************!*\ - !*** ./node_modules/multiformats/esm/src/codecs/raw.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ code: function() { return /* binding */ code; },\n/* harmony export */ decode: function() { return /* binding */ decode; },\n/* harmony export */ encode: function() { return /* binding */ encode; },\n/* harmony export */ name: function() { return /* binding */ name; }\n/* harmony export */ });\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n\nconst name = 'raw';\nconst code = 85;\nconst encode = node => (0,_bytes_js__WEBPACK_IMPORTED_MODULE_0__.coerce)(node);\nconst decode = data => (0,_bytes_js__WEBPACK_IMPORTED_MODULE_0__.coerce)(data);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvY29kZWNzL3Jhdy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFxQztBQUM5QjtBQUNBO0FBQ0EsdUJBQXVCLGlEQUFNO0FBQzdCLHVCQUF1QixpREFBTSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvY29kZWNzL3Jhdy5qcz9kMTM4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZSB9IGZyb20gJy4uL2J5dGVzLmpzJztcbmV4cG9ydCBjb25zdCBuYW1lID0gJ3Jhdyc7XG5leHBvcnQgY29uc3QgY29kZSA9IDg1O1xuZXhwb3J0IGNvbnN0IGVuY29kZSA9IG5vZGUgPT4gY29lcmNlKG5vZGUpO1xuZXhwb3J0IGNvbnN0IGRlY29kZSA9IGRhdGEgPT4gY29lcmNlKGRhdGEpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/codecs/raw.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/hashes/digest.js": -/*!************************************************************!*\ - !*** ./node_modules/multiformats/esm/src/hashes/digest.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Digest: function() { return /* binding */ Digest; },\n/* harmony export */ create: function() { return /* binding */ create; },\n/* harmony export */ decode: function() { return /* binding */ decode; },\n/* harmony export */ equals: function() { return /* binding */ equals; }\n/* harmony export */ });\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n/* harmony import */ var _varint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../varint.js */ \"./node_modules/multiformats/esm/src/varint.js\");\n\n\nconst create = (code, digest) => {\n const size = digest.byteLength;\n const sizeOffset = _varint_js__WEBPACK_IMPORTED_MODULE_1__.encodingLength(code);\n const digestOffset = sizeOffset + _varint_js__WEBPACK_IMPORTED_MODULE_1__.encodingLength(size);\n const bytes = new Uint8Array(digestOffset + size);\n _varint_js__WEBPACK_IMPORTED_MODULE_1__.encodeTo(code, bytes, 0);\n _varint_js__WEBPACK_IMPORTED_MODULE_1__.encodeTo(size, bytes, sizeOffset);\n bytes.set(digest, digestOffset);\n return new Digest(code, size, digest, bytes);\n};\nconst decode = multihash => {\n const bytes = (0,_bytes_js__WEBPACK_IMPORTED_MODULE_0__.coerce)(multihash);\n const [code, sizeOffset] = _varint_js__WEBPACK_IMPORTED_MODULE_1__.decode(bytes);\n const [size, digestOffset] = _varint_js__WEBPACK_IMPORTED_MODULE_1__.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};\nconst equals = (a, b) => {\n if (a === b) {\n return true;\n } else {\n return a.code === b.code && a.size === b.size && (0,_bytes_js__WEBPACK_IMPORTED_MODULE_0__.equals)(a.bytes, b.bytes);\n }\n};\nclass 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}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvaGFzaGVzL2RpZ2VzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHcUI7QUFDa0I7QUFDaEM7QUFDUDtBQUNBLHFCQUFxQixzREFBcUI7QUFDMUMsb0NBQW9DLHNEQUFxQjtBQUN6RDtBQUNBLEVBQUUsZ0RBQWU7QUFDakIsRUFBRSxnREFBZTtBQUNqQjtBQUNBO0FBQ0E7QUFDTztBQUNQLGdCQUFnQixpREFBTTtBQUN0Qiw2QkFBNkIsOENBQWE7QUFDMUMsK0JBQStCLDhDQUFhO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLElBQUk7QUFDSixxREFBcUQsaURBQVU7QUFDL0Q7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2hhc2hlcy9kaWdlc3QuanM/MTU3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb2VyY2UsXG4gIGVxdWFscyBhcyBlcXVhbEJ5dGVzXG59IGZyb20gJy4uL2J5dGVzLmpzJztcbmltcG9ydCAqIGFzIHZhcmludCBmcm9tICcuLi92YXJpbnQuanMnO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZSA9IChjb2RlLCBkaWdlc3QpID0+IHtcbiAgY29uc3Qgc2l6ZSA9IGRpZ2VzdC5ieXRlTGVuZ3RoO1xuICBjb25zdCBzaXplT2Zmc2V0ID0gdmFyaW50LmVuY29kaW5nTGVuZ3RoKGNvZGUpO1xuICBjb25zdCBkaWdlc3RPZmZzZXQgPSBzaXplT2Zmc2V0ICsgdmFyaW50LmVuY29kaW5nTGVuZ3RoKHNpemUpO1xuICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGRpZ2VzdE9mZnNldCArIHNpemUpO1xuICB2YXJpbnQuZW5jb2RlVG8oY29kZSwgYnl0ZXMsIDApO1xuICB2YXJpbnQuZW5jb2RlVG8oc2l6ZSwgYnl0ZXMsIHNpemVPZmZzZXQpO1xuICBieXRlcy5zZXQoZGlnZXN0LCBkaWdlc3RPZmZzZXQpO1xuICByZXR1cm4gbmV3IERpZ2VzdChjb2RlLCBzaXplLCBkaWdlc3QsIGJ5dGVzKTtcbn07XG5leHBvcnQgY29uc3QgZGVjb2RlID0gbXVsdGloYXNoID0+IHtcbiAgY29uc3QgYnl0ZXMgPSBjb2VyY2UobXVsdGloYXNoKTtcbiAgY29uc3QgW2NvZGUsIHNpemVPZmZzZXRdID0gdmFyaW50LmRlY29kZShieXRlcyk7XG4gIGNvbnN0IFtzaXplLCBkaWdlc3RPZmZzZXRdID0gdmFyaW50LmRlY29kZShieXRlcy5zdWJhcnJheShzaXplT2Zmc2V0KSk7XG4gIGNvbnN0IGRpZ2VzdCA9IGJ5dGVzLnN1YmFycmF5KHNpemVPZmZzZXQgKyBkaWdlc3RPZmZzZXQpO1xuICBpZiAoZGlnZXN0LmJ5dGVMZW5ndGggIT09IHNpemUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0luY29ycmVjdCBsZW5ndGgnKTtcbiAgfVxuICByZXR1cm4gbmV3IERpZ2VzdChjb2RlLCBzaXplLCBkaWdlc3QsIGJ5dGVzKTtcbn07XG5leHBvcnQgY29uc3QgZXF1YWxzID0gKGEsIGIpID0+IHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYS5jb2RlID09PSBiLmNvZGUgJiYgYS5zaXplID09PSBiLnNpemUgJiYgZXF1YWxCeXRlcyhhLmJ5dGVzLCBiLmJ5dGVzKTtcbiAgfVxufTtcbmV4cG9ydCBjbGFzcyBEaWdlc3Qge1xuICBjb25zdHJ1Y3Rvcihjb2RlLCBzaXplLCBkaWdlc3QsIGJ5dGVzKSB7XG4gICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICB0aGlzLnNpemUgPSBzaXplO1xuICAgIHRoaXMuZGlnZXN0ID0gZGlnZXN0O1xuICAgIHRoaXMuYnl0ZXMgPSBieXRlcztcbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/hashes/digest.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/hashes/hasher.js": -/*!************************************************************!*\ - !*** ./node_modules/multiformats/esm/src/hashes/hasher.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Hasher: function() { return /* binding */ Hasher; },\n/* harmony export */ from: function() { return /* binding */ from; }\n/* harmony export */ });\n/* harmony import */ var _digest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./digest.js */ \"./node_modules/multiformats/esm/src/hashes/digest.js\");\n\nconst from = ({name, code, encode}) => new Hasher(name, code, encode);\nclass 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_js__WEBPACK_IMPORTED_MODULE_0__.create(this.code, result) : result.then(digest => _digest_js__WEBPACK_IMPORTED_MODULE_0__.create(this.code, digest));\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvaGFzaGVzL2hhc2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0M7QUFDL0IsZUFBZSxtQkFBbUI7QUFDbEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLDhDQUFhLDRDQUE0Qyw4Q0FBYTtBQUNsSCxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2hhc2hlcy9oYXNoZXIuanM/MThmNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBEaWdlc3QgZnJvbSAnLi9kaWdlc3QuanMnO1xuZXhwb3J0IGNvbnN0IGZyb20gPSAoe25hbWUsIGNvZGUsIGVuY29kZX0pID0+IG5ldyBIYXNoZXIobmFtZSwgY29kZSwgZW5jb2RlKTtcbmV4cG9ydCBjbGFzcyBIYXNoZXIge1xuICBjb25zdHJ1Y3RvcihuYW1lLCBjb2RlLCBlbmNvZGUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgdGhpcy5lbmNvZGUgPSBlbmNvZGU7XG4gIH1cbiAgZGlnZXN0KGlucHV0KSB7XG4gICAgaWYgKGlucHV0IGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5lbmNvZGUoaW5wdXQpO1xuICAgICAgcmV0dXJuIHJlc3VsdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgPyBEaWdlc3QuY3JlYXRlKHRoaXMuY29kZSwgcmVzdWx0KSA6IHJlc3VsdC50aGVuKGRpZ2VzdCA9PiBEaWdlc3QuY3JlYXRlKHRoaXMuY29kZSwgZGlnZXN0KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdVbmtub3duIHR5cGUsIG11c3QgYmUgYmluYXJ5IHR5cGUnKTtcbiAgICB9XG4gIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/hashes/hasher.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/hashes/identity.js": -/*!**************************************************************!*\ - !*** ./node_modules/multiformats/esm/src/hashes/identity.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ identity: function() { return /* binding */ identity; }\n/* harmony export */ });\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n/* harmony import */ var _digest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./digest.js */ \"./node_modules/multiformats/esm/src/hashes/digest.js\");\n\n\nconst code = 0;\nconst name = 'identity';\nconst encode = _bytes_js__WEBPACK_IMPORTED_MODULE_0__.coerce;\nconst digest = input => _digest_js__WEBPACK_IMPORTED_MODULE_1__.create(code, encode(input));\nconst identity = {\n code,\n name,\n encode,\n digest\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvaGFzaGVzL2lkZW50aXR5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFxQztBQUNDO0FBQ3RDO0FBQ0E7QUFDQSxlQUFlLDZDQUFNO0FBQ3JCLHdCQUF3Qiw4Q0FBYTtBQUM5QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2hhc2hlcy9pZGVudGl0eS5qcz83MDRkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZSB9IGZyb20gJy4uL2J5dGVzLmpzJztcbmltcG9ydCAqIGFzIERpZ2VzdCBmcm9tICcuL2RpZ2VzdC5qcyc7XG5jb25zdCBjb2RlID0gMDtcbmNvbnN0IG5hbWUgPSAnaWRlbnRpdHknO1xuY29uc3QgZW5jb2RlID0gY29lcmNlO1xuY29uc3QgZGlnZXN0ID0gaW5wdXQgPT4gRGlnZXN0LmNyZWF0ZShjb2RlLCBlbmNvZGUoaW5wdXQpKTtcbmV4cG9ydCBjb25zdCBpZGVudGl0eSA9IHtcbiAgY29kZSxcbiAgbmFtZSxcbiAgZW5jb2RlLFxuICBkaWdlc3Rcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/hashes/identity.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/hashes/sha2-browser.js": -/*!******************************************************************!*\ - !*** ./node_modules/multiformats/esm/src/hashes/sha2-browser.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sha256: function() { return /* binding */ sha256; },\n/* harmony export */ sha512: function() { return /* binding */ sha512; }\n/* harmony export */ });\n/* harmony import */ var _hasher_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hasher.js */ \"./node_modules/multiformats/esm/src/hashes/hasher.js\");\n\nconst sha = name => async data => new Uint8Array(await crypto.subtle.digest(name, data));\nconst sha256 = (0,_hasher_js__WEBPACK_IMPORTED_MODULE_0__.from)({\n name: 'sha2-256',\n code: 18,\n encode: sha('SHA-256')\n});\nconst sha512 = (0,_hasher_js__WEBPACK_IMPORTED_MODULE_0__.from)({\n name: 'sha2-512',\n code: 19,\n encode: sha('SHA-512')\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvaGFzaGVzL3NoYTItYnJvd3Nlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBbUM7QUFDbkM7QUFDTyxlQUFlLGdEQUFJO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDTSxlQUFlLGdEQUFJO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL211bHRpZm9ybWF0cy9lc20vc3JjL2hhc2hlcy9zaGEyLWJyb3dzZXIuanM/MjFjMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi9oYXNoZXIuanMnO1xuY29uc3Qgc2hhID0gbmFtZSA9PiBhc3luYyBkYXRhID0+IG5ldyBVaW50OEFycmF5KGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KG5hbWUsIGRhdGEpKTtcbmV4cG9ydCBjb25zdCBzaGEyNTYgPSBmcm9tKHtcbiAgbmFtZTogJ3NoYTItMjU2JyxcbiAgY29kZTogMTgsXG4gIGVuY29kZTogc2hhKCdTSEEtMjU2Jylcbn0pO1xuZXhwb3J0IGNvbnN0IHNoYTUxMiA9IGZyb20oe1xuICBuYW1lOiAnc2hhMi01MTInLFxuICBjb2RlOiAxOSxcbiAgZW5jb2RlOiBzaGEoJ1NIQS01MTInKVxufSk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/hashes/sha2-browser.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/index.js": -/*!****************************************************!*\ - !*** ./node_modules/multiformats/esm/src/index.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CID: function() { return /* reexport safe */ _cid_js__WEBPACK_IMPORTED_MODULE_0__.CID; },\n/* harmony export */ bytes: function() { return /* reexport module object */ _bytes_js__WEBPACK_IMPORTED_MODULE_2__; },\n/* harmony export */ digest: function() { return /* reexport module object */ _hashes_digest_js__WEBPACK_IMPORTED_MODULE_4__; },\n/* harmony export */ hasher: function() { return /* reexport module object */ _hashes_hasher_js__WEBPACK_IMPORTED_MODULE_3__; },\n/* harmony export */ varint: function() { return /* reexport module object */ _varint_js__WEBPACK_IMPORTED_MODULE_1__; }\n/* harmony export */ });\n/* harmony import */ var _cid_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cid.js */ \"./node_modules/multiformats/esm/src/cid.js\");\n/* harmony import */ var _varint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./varint.js */ \"./node_modules/multiformats/esm/src/varint.js\");\n/* harmony import */ var _bytes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bytes.js */ \"./node_modules/multiformats/esm/src/bytes.js\");\n/* harmony import */ var _hashes_hasher_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hashes/hasher.js */ \"./node_modules/multiformats/esm/src/hashes/hasher.js\");\n/* harmony import */ var _hashes_digest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hashes/digest.js */ \"./node_modules/multiformats/esm/src/hashes/digest.js\");\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUErQjtBQUNPO0FBQ0Y7QUFDUztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9tdWx0aWZvcm1hdHMvZXNtL3NyYy9pbmRleC5qcz8zNmJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENJRCB9IGZyb20gJy4vY2lkLmpzJztcbmltcG9ydCAqIGFzIHZhcmludCBmcm9tICcuL3ZhcmludC5qcyc7XG5pbXBvcnQgKiBhcyBieXRlcyBmcm9tICcuL2J5dGVzLmpzJztcbmltcG9ydCAqIGFzIGhhc2hlciBmcm9tICcuL2hhc2hlcy9oYXNoZXIuanMnO1xuaW1wb3J0ICogYXMgZGlnZXN0IGZyb20gJy4vaGFzaGVzL2RpZ2VzdC5qcyc7XG5leHBvcnQge1xuICBDSUQsXG4gIGhhc2hlcixcbiAgZGlnZXN0LFxuICB2YXJpbnQsXG4gIGJ5dGVzXG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/index.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/src/varint.js": -/*!*****************************************************!*\ - !*** ./node_modules/multiformats/esm/src/varint.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decode: function() { return /* binding */ decode; },\n/* harmony export */ encodeTo: function() { return /* binding */ encodeTo; },\n/* harmony export */ encodingLength: function() { return /* binding */ encodingLength; }\n/* harmony export */ });\n/* harmony import */ var _vendor_varint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../vendor/varint.js */ \"./node_modules/multiformats/esm/vendor/varint.js\");\n\nconst decode = (data, offset = 0) => {\n const code = _vendor_varint_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].decode(data, offset);\n return [\n code,\n _vendor_varint_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].decode.bytes\n ];\n};\nconst encodeTo = (int, target, offset = 0) => {\n _vendor_varint_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].encode(int, target, offset);\n return target;\n};\nconst encodingLength = int => {\n return _vendor_varint_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].encodingLength(int);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvdmFyaW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBeUM7QUFDbEM7QUFDUCxlQUFlLGdFQUFhO0FBQzVCO0FBQ0E7QUFDQSxJQUFJLGdFQUFhO0FBQ2pCO0FBQ0E7QUFDTztBQUNQLEVBQUUsZ0VBQWE7QUFDZjtBQUNBO0FBQ087QUFDUCxTQUFTLHdFQUFxQjtBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS9zcmMvdmFyaW50LmpzP2U0MTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhcmludCBmcm9tICcuLi92ZW5kb3IvdmFyaW50LmpzJztcbmV4cG9ydCBjb25zdCBkZWNvZGUgPSAoZGF0YSwgb2Zmc2V0ID0gMCkgPT4ge1xuICBjb25zdCBjb2RlID0gdmFyaW50LmRlY29kZShkYXRhLCBvZmZzZXQpO1xuICByZXR1cm4gW1xuICAgIGNvZGUsXG4gICAgdmFyaW50LmRlY29kZS5ieXRlc1xuICBdO1xufTtcbmV4cG9ydCBjb25zdCBlbmNvZGVUbyA9IChpbnQsIHRhcmdldCwgb2Zmc2V0ID0gMCkgPT4ge1xuICB2YXJpbnQuZW5jb2RlKGludCwgdGFyZ2V0LCBvZmZzZXQpO1xuICByZXR1cm4gdGFyZ2V0O1xufTtcbmV4cG9ydCBjb25zdCBlbmNvZGluZ0xlbmd0aCA9IGludCA9PiB7XG4gIHJldHVybiB2YXJpbnQuZW5jb2RpbmdMZW5ndGgoaW50KTtcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/src/varint.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/vendor/base-x.js": -/*!********************************************************!*\ - !*** ./node_modules/multiformats/esm/vendor/base-x.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nfunction 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;\n/* harmony default export */ __webpack_exports__[\"default\"] = (_brrp__multiformats_scope_baseX);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS92ZW5kb3IvYmFzZS14LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHFCQUFxQjtBQUN2QztBQUNBO0FBQ0Esa0JBQWtCLHFCQUFxQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLDJDQUEyQztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiwyQ0FBMkM7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixPQUFPO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUFlLCtCQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS92ZW5kb3IvYmFzZS14LmpzPzkzZjIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gYmFzZShBTFBIQUJFVCwgbmFtZSkge1xuICBpZiAoQUxQSEFCRVQubGVuZ3RoID49IDI1NSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FscGhhYmV0IHRvbyBsb25nJyk7XG4gIH1cbiAgdmFyIEJBU0VfTUFQID0gbmV3IFVpbnQ4QXJyYXkoMjU2KTtcbiAgZm9yICh2YXIgaiA9IDA7IGogPCBCQVNFX01BUC5sZW5ndGg7IGorKykge1xuICAgIEJBU0VfTUFQW2pdID0gMjU1O1xuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgQUxQSEFCRVQubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgeCA9IEFMUEhBQkVULmNoYXJBdChpKTtcbiAgICB2YXIgeGMgPSB4LmNoYXJDb2RlQXQoMCk7XG4gICAgaWYgKEJBU0VfTUFQW3hjXSAhPT0gMjU1KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHggKyAnIGlzIGFtYmlndW91cycpO1xuICAgIH1cbiAgICBCQVNFX01BUFt4Y10gPSBpO1xuICB9XG4gIHZhciBCQVNFID0gQUxQSEFCRVQubGVuZ3RoO1xuICB2YXIgTEVBREVSID0gQUxQSEFCRVQuY2hhckF0KDApO1xuICB2YXIgRkFDVE9SID0gTWF0aC5sb2coQkFTRSkgLyBNYXRoLmxvZygyNTYpO1xuICB2YXIgaUZBQ1RPUiA9IE1hdGgubG9nKDI1NikgLyBNYXRoLmxvZyhCQVNFKTtcbiAgZnVuY3Rpb24gZW5jb2RlKHNvdXJjZSkge1xuICAgIGlmIChzb3VyY2UgaW5zdGFuY2VvZiBVaW50OEFycmF5KTtcbiAgICBlbHNlIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcoc291cmNlKSkge1xuICAgICAgc291cmNlID0gbmV3IFVpbnQ4QXJyYXkoc291cmNlLmJ1ZmZlciwgc291cmNlLmJ5dGVPZmZzZXQsIHNvdXJjZS5ieXRlTGVuZ3RoKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSkge1xuICAgICAgc291cmNlID0gVWludDhBcnJheS5mcm9tKHNvdXJjZSk7XG4gICAgfVxuICAgIGlmICghKHNvdXJjZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBVaW50OEFycmF5Jyk7XG4gICAgfVxuICAgIGlmIChzb3VyY2UubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHZhciB6ZXJvZXMgPSAwO1xuICAgIHZhciBsZW5ndGggPSAwO1xuICAgIHZhciBwYmVnaW4gPSAwO1xuICAgIHZhciBwZW5kID0gc291cmNlLmxlbmd0aDtcbiAgICB3aGlsZSAocGJlZ2luICE9PSBwZW5kICYmIHNvdXJjZVtwYmVnaW5dID09PSAwKSB7XG4gICAgICBwYmVnaW4rKztcbiAgICAgIHplcm9lcysrO1xuICAgIH1cbiAgICB2YXIgc2l6ZSA9IChwZW5kIC0gcGJlZ2luKSAqIGlGQUNUT1IgKyAxID4+PiAwO1xuICAgIHZhciBiNTggPSBuZXcgVWludDhBcnJheShzaXplKTtcbiAgICB3aGlsZSAocGJlZ2luICE9PSBwZW5kKSB7XG4gICAgICB2YXIgY2FycnkgPSBzb3VyY2VbcGJlZ2luXTtcbiAgICAgIHZhciBpID0gMDtcbiAgICAgIGZvciAodmFyIGl0MSA9IHNpemUgLSAxOyAoY2FycnkgIT09IDAgfHwgaSA8IGxlbmd0aCkgJiYgaXQxICE9PSAtMTsgaXQxLS0sIGkrKykge1xuICAgICAgICBjYXJyeSArPSAyNTYgKiBiNThbaXQxXSA+Pj4gMDtcbiAgICAgICAgYjU4W2l0MV0gPSBjYXJyeSAlIEJBU0UgPj4+IDA7XG4gICAgICAgIGNhcnJ5ID0gY2FycnkgLyBCQVNFID4+PiAwO1xuICAgICAgfVxuICAgICAgaWYgKGNhcnJ5ICE9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm9uLXplcm8gY2FycnknKTtcbiAgICAgIH1cbiAgICAgIGxlbmd0aCA9IGk7XG4gICAgICBwYmVnaW4rKztcbiAgICB9XG4gICAgdmFyIGl0MiA9IHNpemUgLSBsZW5ndGg7XG4gICAgd2hpbGUgKGl0MiAhPT0gc2l6ZSAmJiBiNThbaXQyXSA9PT0gMCkge1xuICAgICAgaXQyKys7XG4gICAgfVxuICAgIHZhciBzdHIgPSBMRUFERVIucmVwZWF0KHplcm9lcyk7XG4gICAgZm9yICg7IGl0MiA8IHNpemU7ICsraXQyKSB7XG4gICAgICBzdHIgKz0gQUxQSEFCRVQuY2hhckF0KGI1OFtpdDJdKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuICBmdW5jdGlvbiBkZWNvZGVVbnNhZmUoc291cmNlKSB7XG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBTdHJpbmcnKTtcbiAgICB9XG4gICAgaWYgKHNvdXJjZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBuZXcgVWludDhBcnJheSgpO1xuICAgIH1cbiAgICB2YXIgcHN6ID0gMDtcbiAgICBpZiAoc291cmNlW3Bzel0gPT09ICcgJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgemVyb2VzID0gMDtcbiAgICB2YXIgbGVuZ3RoID0gMDtcbiAgICB3aGlsZSAoc291cmNlW3Bzel0gPT09IExFQURFUikge1xuICAgICAgemVyb2VzKys7XG4gICAgICBwc3orKztcbiAgICB9XG4gICAgdmFyIHNpemUgPSAoc291cmNlLmxlbmd0aCAtIHBzeikgKiBGQUNUT1IgKyAxID4+PiAwO1xuICAgIHZhciBiMjU2ID0gbmV3IFVpbnQ4QXJyYXkoc2l6ZSk7XG4gICAgd2hpbGUgKHNvdXJjZVtwc3pdKSB7XG4gICAgICB2YXIgY2FycnkgPSBCQVNFX01BUFtzb3VyY2UuY2hhckNvZGVBdChwc3opXTtcbiAgICAgIGlmIChjYXJyeSA9PT0gMjU1KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBpID0gMDtcbiAgICAgIGZvciAodmFyIGl0MyA9IHNpemUgLSAxOyAoY2FycnkgIT09IDAgfHwgaSA8IGxlbmd0aCkgJiYgaXQzICE9PSAtMTsgaXQzLS0sIGkrKykge1xuICAgICAgICBjYXJyeSArPSBCQVNFICogYjI1NltpdDNdID4+PiAwO1xuICAgICAgICBiMjU2W2l0M10gPSBjYXJyeSAlIDI1NiA+Pj4gMDtcbiAgICAgICAgY2FycnkgPSBjYXJyeSAvIDI1NiA+Pj4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChjYXJyeSAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vbi16ZXJvIGNhcnJ5Jyk7XG4gICAgICB9XG4gICAgICBsZW5ndGggPSBpO1xuICAgICAgcHN6Kys7XG4gICAgfVxuICAgIGlmIChzb3VyY2VbcHN6XSA9PT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBpdDQgPSBzaXplIC0gbGVuZ3RoO1xuICAgIHdoaWxlIChpdDQgIT09IHNpemUgJiYgYjI1NltpdDRdID09PSAwKSB7XG4gICAgICBpdDQrKztcbiAgICB9XG4gICAgdmFyIHZjaCA9IG5ldyBVaW50OEFycmF5KHplcm9lcyArIChzaXplIC0gaXQ0KSk7XG4gICAgdmFyIGogPSB6ZXJvZXM7XG4gICAgd2hpbGUgKGl0NCAhPT0gc2l6ZSkge1xuICAgICAgdmNoW2orK10gPSBiMjU2W2l0NCsrXTtcbiAgICB9XG4gICAgcmV0dXJuIHZjaDtcbiAgfVxuICBmdW5jdGlvbiBkZWNvZGUoc3RyaW5nKSB7XG4gICAgdmFyIGJ1ZmZlciA9IGRlY29kZVVuc2FmZShzdHJpbmcpO1xuICAgIGlmIChidWZmZXIpIHtcbiAgICAgIHJldHVybiBidWZmZXI7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgTm9uLSR7IG5hbWUgfSBjaGFyYWN0ZXJgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGVuY29kZTogZW5jb2RlLFxuICAgIGRlY29kZVVuc2FmZTogZGVjb2RlVW5zYWZlLFxuICAgIGRlY29kZTogZGVjb2RlXG4gIH07XG59XG52YXIgc3JjID0gYmFzZTtcbnZhciBfYnJycF9fbXVsdGlmb3JtYXRzX3Njb3BlX2Jhc2VYID0gc3JjO1xuZXhwb3J0IGRlZmF1bHQgX2JycnBfX211bHRpZm9ybWF0c19zY29wZV9iYXNlWDsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/vendor/base-x.js\n")); - -/***/ }), - -/***/ "./node_modules/multiformats/esm/vendor/varint.js": -/*!********************************************************!*\ - !*** ./node_modules/multiformats/esm/vendor/varint.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nvar 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;\n/* harmony default export */ __webpack_exports__[\"default\"] = (_brrp_varint);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS92ZW5kb3IvdmFyaW50LmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQWUsWUFBWSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbXVsdGlmb3JtYXRzL2VzbS92ZW5kb3IvdmFyaW50LmpzPzc2YjIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGVuY29kZV8xID0gZW5jb2RlO1xudmFyIE1TQiA9IDEyOCwgUkVTVCA9IDEyNywgTVNCQUxMID0gflJFU1QsIElOVCA9IE1hdGgucG93KDIsIDMxKTtcbmZ1bmN0aW9uIGVuY29kZShudW0sIG91dCwgb2Zmc2V0KSB7XG4gIG91dCA9IG91dCB8fCBbXTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHx8IDA7XG4gIHZhciBvbGRPZmZzZXQgPSBvZmZzZXQ7XG4gIHdoaWxlIChudW0gPj0gSU5UKSB7XG4gICAgb3V0W29mZnNldCsrXSA9IG51bSAmIDI1NSB8IE1TQjtcbiAgICBudW0gLz0gMTI4O1xuICB9XG4gIHdoaWxlIChudW0gJiBNU0JBTEwpIHtcbiAgICBvdXRbb2Zmc2V0KytdID0gbnVtICYgMjU1IHwgTVNCO1xuICAgIG51bSA+Pj49IDc7XG4gIH1cbiAgb3V0W29mZnNldF0gPSBudW0gfCAwO1xuICBlbmNvZGUuYnl0ZXMgPSBvZmZzZXQgLSBvbGRPZmZzZXQgKyAxO1xuICByZXR1cm4gb3V0O1xufVxudmFyIGRlY29kZSA9IHJlYWQ7XG52YXIgTVNCJDEgPSAxMjgsIFJFU1QkMSA9IDEyNztcbmZ1bmN0aW9uIHJlYWQoYnVmLCBvZmZzZXQpIHtcbiAgdmFyIHJlcyA9IDAsIG9mZnNldCA9IG9mZnNldCB8fCAwLCBzaGlmdCA9IDAsIGNvdW50ZXIgPSBvZmZzZXQsIGIsIGwgPSBidWYubGVuZ3RoO1xuICBkbyB7XG4gICAgaWYgKGNvdW50ZXIgPj0gbCkge1xuICAgICAgcmVhZC5ieXRlcyA9IDA7XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQ291bGQgbm90IGRlY29kZSB2YXJpbnQnKTtcbiAgICB9XG4gICAgYiA9IGJ1Zltjb3VudGVyKytdO1xuICAgIHJlcyArPSBzaGlmdCA8IDI4ID8gKGIgJiBSRVNUJDEpIDw8IHNoaWZ0IDogKGIgJiBSRVNUJDEpICogTWF0aC5wb3coMiwgc2hpZnQpO1xuICAgIHNoaWZ0ICs9IDc7XG4gIH0gd2hpbGUgKGIgPj0gTVNCJDEpO1xuICByZWFkLmJ5dGVzID0gY291bnRlciAtIG9mZnNldDtcbiAgcmV0dXJuIHJlcztcbn1cbnZhciBOMSA9IE1hdGgucG93KDIsIDcpO1xudmFyIE4yID0gTWF0aC5wb3coMiwgMTQpO1xudmFyIE4zID0gTWF0aC5wb3coMiwgMjEpO1xudmFyIE40ID0gTWF0aC5wb3coMiwgMjgpO1xudmFyIE41ID0gTWF0aC5wb3coMiwgMzUpO1xudmFyIE42ID0gTWF0aC5wb3coMiwgNDIpO1xudmFyIE43ID0gTWF0aC5wb3coMiwgNDkpO1xudmFyIE44ID0gTWF0aC5wb3coMiwgNTYpO1xudmFyIE45ID0gTWF0aC5wb3coMiwgNjMpO1xudmFyIGxlbmd0aCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPCBOMSA/IDEgOiB2YWx1ZSA8IE4yID8gMiA6IHZhbHVlIDwgTjMgPyAzIDogdmFsdWUgPCBONCA/IDQgOiB2YWx1ZSA8IE41ID8gNSA6IHZhbHVlIDwgTjYgPyA2IDogdmFsdWUgPCBONyA/IDcgOiB2YWx1ZSA8IE44ID8gOCA6IHZhbHVlIDwgTjkgPyA5IDogMTA7XG59O1xudmFyIHZhcmludCA9IHtcbiAgZW5jb2RlOiBlbmNvZGVfMSxcbiAgZGVjb2RlOiBkZWNvZGUsXG4gIGVuY29kaW5nTGVuZ3RoOiBsZW5ndGhcbn07XG52YXIgX2JycnBfdmFyaW50ID0gdmFyaW50O1xuZXhwb3J0IGRlZmF1bHQgX2JycnBfdmFyaW50OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/multiformats/esm/vendor/varint.js\n")); - -/***/ }), - -/***/ "./node_modules/tslib/tslib.es6.mjs": -/*!******************************************!*\ - !*** ./node_modules/tslib/tslib.es6.mjs ***! - \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __addDisposableResource: function() { return /* binding */ __addDisposableResource; },\n/* harmony export */ __assign: function() { return /* binding */ __assign; },\n/* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },\n/* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },\n/* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },\n/* harmony export */ __await: function() { return /* binding */ __await; },\n/* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },\n/* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },\n/* harmony export */ __classPrivateFieldIn: function() { return /* binding */ __classPrivateFieldIn; },\n/* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },\n/* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },\n/* harmony export */ __decorate: function() { return /* binding */ __decorate; },\n/* harmony export */ __disposeResources: function() { return /* binding */ __disposeResources; },\n/* harmony export */ __esDecorate: function() { return /* binding */ __esDecorate; },\n/* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },\n/* harmony export */ __extends: function() { return /* binding */ __extends; },\n/* harmony export */ __generator: function() { return /* binding */ __generator; },\n/* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },\n/* harmony export */ __importStar: function() { return /* binding */ __importStar; },\n/* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },\n/* harmony export */ __metadata: function() { return /* binding */ __metadata; },\n/* harmony export */ __param: function() { return /* binding */ __param; },\n/* harmony export */ __propKey: function() { return /* binding */ __propKey; },\n/* harmony export */ __read: function() { return /* binding */ __read; },\n/* harmony export */ __rest: function() { return /* binding */ __rest; },\n/* harmony export */ __runInitializers: function() { return /* binding */ __runInitializers; },\n/* harmony export */ __setFunctionName: function() { return /* binding */ __setFunctionName; },\n/* harmony export */ __spread: function() { return /* binding */ __spread; },\n/* harmony export */ __spreadArray: function() { return /* binding */ __spreadArray; },\n/* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },\n/* harmony export */ __values: function() { return /* binding */ __values; }\n/* harmony export */ });\n/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nfunction __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nfunction __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nfunction __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nfunction __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nfunction __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nfunction __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nfunction __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nfunction __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nfunction __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nfunction __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nfunction __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nfunction __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nfunction __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nfunction __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nfunction __spreadArray(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}\n\nfunction __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nfunction __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\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); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nfunction __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nfunction __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nfunction __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nfunction __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nfunction __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nfunction __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nfunction __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nfunction __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUyxnQkFBZ0Isc0NBQXNDLGtCQUFrQjtBQUNqRix3QkFBd0I7QUFDeEI7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBOztBQUVPO0FBQ1A7QUFDQSwrQ0FBK0MsT0FBTztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELGNBQWM7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQSwyQ0FBMkMsUUFBUTtBQUNuRDtBQUNBOztBQUVPO0FBQ1Asa0NBQWtDO0FBQ2xDOztBQUVPO0FBQ1AsdUJBQXVCLHVGQUF1RjtBQUM5RztBQUNBO0FBQ0EseUdBQXlHO0FBQ3pHO0FBQ0Esc0NBQXNDLFFBQVE7QUFDOUM7QUFDQSxnRUFBZ0U7QUFDaEU7QUFDQSw4Q0FBOEMseUZBQXlGO0FBQ3ZJLDhEQUE4RCwyQ0FBMkM7QUFDekc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxrQkFBa0IseUJBQXlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0EsNENBQTRDLHlFQUF5RTtBQUNySDs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUCwwQkFBMEIsK0RBQStELGlCQUFpQjtBQUMxRztBQUNBLGtDQUFrQyxNQUFNLCtCQUErQixZQUFZO0FBQ25GLGlDQUFpQyxNQUFNLG1DQUFt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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5tanM/Y2YzMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cblxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cblxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XG4gIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XG4gIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG59XG5cbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcbiAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcbiAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0O1xuICB9XG4gIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcbiAgdmFyIHQgPSB7fTtcbiAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICB0W3BdID0gc1twXTtcbiAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICB9XG4gIHJldHVybiB0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2VzRGVjb3JhdGUoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHtcbiAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRnVuY3Rpb24gZXhwZWN0ZWRcIik7IHJldHVybiBmOyB9XG4gIHZhciBraW5kID0gY29udGV4dEluLmtpbmQsIGtleSA9IGtpbmQgPT09IFwiZ2V0dGVyXCIgPyBcImdldFwiIDoga2luZCA9PT0gXCJzZXR0ZXJcIiA/IFwic2V0XCIgOiBcInZhbHVlXCI7XG4gIHZhciB0YXJnZXQgPSAhZGVzY3JpcHRvckluICYmIGN0b3IgPyBjb250ZXh0SW5bXCJzdGF0aWNcIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsO1xuICB2YXIgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JJbiB8fCAodGFyZ2V0ID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGNvbnRleHRJbi5uYW1lKSA6IHt9KTtcbiAgdmFyIF8sIGRvbmUgPSBmYWxzZTtcbiAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciBjb250ZXh0ID0ge307XG4gICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbikgY29udGV4dFtwXSA9IHAgPT09IFwiYWNjZXNzXCIgPyB7fSA6IGNvbnRleHRJbltwXTtcbiAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdO1xuICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkXCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTtcbiAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gXCJhY2Nlc3NvclwiID8geyBnZXQ6IGRlc2NyaXB0b3IuZ2V0LCBzZXQ6IGRlc2NyaXB0b3Iuc2V0IH0gOiBkZXNjcmlwdG9yW2tleV0sIGNvbnRleHQpO1xuICAgICAgaWYgKGtpbmQgPT09IFwiYWNjZXNzb3JcIikge1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCB0eXBlb2YgcmVzdWx0ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkXCIpO1xuICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87XG4gICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LnNldCkpIGRlc2NyaXB0b3Iuc2V0ID0gXztcbiAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuaW5pdCkpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoXyA9IGFjY2VwdChyZXN1bHQpKSB7XG4gICAgICAgICAgaWYgKGtpbmQgPT09IFwiZmllbGRcIikgaW5pdGlhbGl6ZXJzLnVuc2hpZnQoXyk7XG4gICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfO1xuICAgICAgfVxuICB9XG4gIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTtcbiAgZG9uZSA9IHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19ydW5Jbml0aWFsaXplcnModGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkge1xuICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTtcbiAgfVxuICByZXR1cm4gdXNlVmFsdWUgPyB2YWx1ZSA6IHZvaWQgMDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3Byb3BLZXkoeCkge1xuICByZXR1cm4gdHlwZW9mIHggPT09IFwic3ltYm9sXCIgPyB4IDogXCJcIi5jb25jYXQoeCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19zZXRGdW5jdGlvbk5hbWUoZiwgbmFtZSwgcHJlZml4KSB7XG4gIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJzeW1ib2xcIikgbmFtZSA9IG5hbWUuZGVzY3JpcHRpb24gPyBcIltcIi5jb25jYXQobmFtZS5kZXNjcmlwdGlvbiwgXCJdXCIpIDogXCJcIjtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCBcIm5hbWVcIiwgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiBwcmVmaXggPyBcIlwiLmNvbmNhdChwcmVmaXgsIFwiIFwiLCBuYW1lKSA6IG5hbWUgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xuICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xuICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xuICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcbiAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XG4gIGZ1bmN0aW9uIHN0ZXAob3ApIHtcbiAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcbiAgICAgIHdoaWxlIChnICYmIChnID0gMCwgb3BbMF0gJiYgKF8gPSAwKSksIF8pIHRyeSB7XG4gICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xuICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcbiAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xuICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XG4gICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxuICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxuICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxuICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xuICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XG4gICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XG4gICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcbiAgfVxufVxuXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcbiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xuICBpZiAoIWRlc2MgfHwgKFwiZ2V0XCIgaW4gZGVzYyA/ICFtLl9fZXNNb2R1bGUgOiBkZXNjLndyaXRhYmxlIHx8IGRlc2MuY29uZmlndXJhYmxlKSkge1xuICAgICAgZGVzYyA9IHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfTtcbiAgfVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIGRlc2MpO1xufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcbiAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcbiAgb1trMl0gPSBtW2tdO1xufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xuICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sIHApKSBfX2NyZWF0ZUJpbmRpbmcobywgbSwgcCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XG4gIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XG4gIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xuICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XG4gICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcbiAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XG4gICAgICB9XG4gIH07XG4gIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XG4gIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcbiAgaWYgKCFtKSByZXR1cm4gbztcbiAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XG4gIHRyeSB7XG4gICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcbiAgfVxuICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cbiAgZmluYWxseSB7XG4gICAgICB0cnkge1xuICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xuICAgICAgfVxuICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XG4gIH1cbiAgcmV0dXJuIGFyO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcbiAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXG4gICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XG4gIHJldHVybiBhcjtcbn1cblxuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XG4gIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xuICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXG4gICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcbiAgICAgICAgICByW2tdID0gYVtqXTtcbiAgcmV0dXJuIHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5KHRvLCBmcm9tLCBwYWNrKSB7XG4gIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcbiAgICAgICAgICBhcltpXSA9IGZyb21baV07XG4gICAgICB9XG4gIH1cbiAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcbiAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xuICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xuICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xuICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxuICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XG4gIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxuICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XG4gIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cbiAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XG4gIHZhciBpLCBwO1xuICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xuICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBmYWxzZSB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XG4gIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG4gIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XG4gIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcbiAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxuICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xuICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxuICByZXR1cm4gY29va2VkO1xufTtcblxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgXCJkZWZhdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHYgfSk7XG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcbiAgb1tcImRlZmF1bHRcIl0gPSB2O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcbiAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcbiAgdmFyIHJlc3VsdCA9IHt9O1xuICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoayAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIF9fY3JlYXRlQmluZGluZyhyZXN1bHQsIG1vZCwgayk7XG4gIF9fc2V0TW9kdWxlRGVmYXVsdChyZXN1bHQsIG1vZCk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XG4gIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xuICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XG4gIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xuICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7XG4gIGlmIChraW5kID09PSBcIm1cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZVwiKTtcbiAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xuICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xuICByZXR1cm4gKGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRJbihzdGF0ZSwgcmVjZWl2ZXIpIHtcbiAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSBcImZ1bmN0aW9uXCIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3RcIik7XG4gIHJldHVybiB0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyID09PSBzdGF0ZSA6IHN0YXRlLmhhcyhyZWNlaXZlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2FkZERpc3Bvc2FibGVSZXNvdXJjZShlbnYsIHZhbHVlLCBhc3luYykge1xuICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJPYmplY3QgZXhwZWN0ZWQuXCIpO1xuICAgIHZhciBkaXNwb3NlO1xuICAgIGlmIChhc3luYykge1xuICAgICAgICBpZiAoIVN5bWJvbC5hc3luY0Rpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgICAgZGlzcG9zZSA9IHZhbHVlW1N5bWJvbC5hc3luY0Rpc3Bvc2VdO1xuICAgIH1cbiAgICBpZiAoZGlzcG9zZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgIGlmICghU3ltYm9sLmRpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC5cIik7XG4gICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuZGlzcG9zZV07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGlzcG9zZSAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLlwiKTtcbiAgICBlbnYuc3RhY2sucHVzaCh7IHZhbHVlOiB2YWx1ZSwgZGlzcG9zZTogZGlzcG9zZSwgYXN5bmM6IGFzeW5jIH0pO1xuICB9XG4gIGVsc2UgaWYgKGFzeW5jKSB7XG4gICAgZW52LnN0YWNrLnB1c2goeyBhc3luYzogdHJ1ZSB9KTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG5cbnZhciBfU3VwcHJlc3NlZEVycm9yID0gdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XG4gIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fZGlzcG9zZVJlc291cmNlcyhlbnYpIHtcbiAgZnVuY3Rpb24gZmFpbChlKSB7XG4gICAgZW52LmVycm9yID0gZW52Lmhhc0Vycm9yID8gbmV3IF9TdXBwcmVzc2VkRXJyb3IoZSwgZW52LmVycm9yLCBcIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC5cIikgOiBlO1xuICAgIGVudi5oYXNFcnJvciA9IHRydWU7XG4gIH1cbiAgZnVuY3Rpb24gbmV4dCgpIHtcbiAgICB3aGlsZSAoZW52LnN0YWNrLmxlbmd0aCkge1xuICAgICAgdmFyIHJlYyA9IGVudi5zdGFjay5wb3AoKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZWMuZGlzcG9zZSAmJiByZWMuZGlzcG9zZS5jYWxsKHJlYy52YWx1ZSk7XG4gICAgICAgIGlmIChyZWMuYXN5bmMpIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KS50aGVuKG5leHQsIGZ1bmN0aW9uKGUpIHsgZmFpbChlKTsgcmV0dXJuIG5leHQoKTsgfSk7XG4gICAgICB9XG4gICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgIGZhaWwoZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbnYuaGFzRXJyb3IpIHRocm93IGVudi5lcnJvcjtcbiAgfVxuICByZXR1cm4gbmV4dCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIF9fZXh0ZW5kcyxcbiAgX19hc3NpZ24sXG4gIF9fcmVzdCxcbiAgX19kZWNvcmF0ZSxcbiAgX19wYXJhbSxcbiAgX19tZXRhZGF0YSxcbiAgX19hd2FpdGVyLFxuICBfX2dlbmVyYXRvcixcbiAgX19jcmVhdGVCaW5kaW5nLFxuICBfX2V4cG9ydFN0YXIsXG4gIF9fdmFsdWVzLFxuICBfX3JlYWQsXG4gIF9fc3ByZWFkLFxuICBfX3NwcmVhZEFycmF5cyxcbiAgX19zcHJlYWRBcnJheSxcbiAgX19hd2FpdCxcbiAgX19hc3luY0dlbmVyYXRvcixcbiAgX19hc3luY0RlbGVnYXRvcixcbiAgX19hc3luY1ZhbHVlcyxcbiAgX19tYWtlVGVtcGxhdGVPYmplY3QsXG4gIF9faW1wb3J0U3RhcixcbiAgX19pbXBvcnREZWZhdWx0LFxuICBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0LFxuICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0LFxuICBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4sXG4gIF9fYWRkRGlzcG9zYWJsZVJlc291cmNlLFxuICBfX2Rpc3Bvc2VSZXNvdXJjZXMsXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/tslib/tslib.es6.mjs\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/alloc.js": -/*!***************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/alloc.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ alloc: function() { return /* binding */ alloc; },\n/* harmony export */ allocUnsafe: function() { return /* binding */ allocUnsafe; }\n/* harmony export */ });\n/* harmony import */ var _util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/as-uint8array.js */ \"./node_modules/uint8arrays/esm/src/util/as-uint8array.js\");\n\nfunction alloc(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.alloc != null) {\n return (0,_util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_0__.asUint8Array)(globalThis.Buffer.alloc(size));\n }\n return new Uint8Array(size);\n}\nfunction allocUnsafe(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null) {\n return (0,_util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_0__.asUint8Array)(globalThis.Buffer.allocUnsafe(size));\n }\n return new Uint8Array(size);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy9hbGxvYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBdUQ7QUFDaEQ7QUFDUDtBQUNBLFdBQVcsb0VBQVk7QUFDdkI7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLFdBQVcsb0VBQVk7QUFDdkI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91aW50OGFycmF5cy9lc20vc3JjL2FsbG9jLmpzPzFhYTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNVaW50OEFycmF5IH0gZnJvbSAnLi91dGlsL2FzLXVpbnQ4YXJyYXkuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGFsbG9jKHNpemUgPSAwKSB7XG4gIGlmIChnbG9iYWxUaGlzLkJ1ZmZlciAhPSBudWxsICYmIGdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jICE9IG51bGwpIHtcbiAgICByZXR1cm4gYXNVaW50OEFycmF5KGdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jKHNpemUpKTtcbiAgfVxuICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2l6ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYWxsb2NVbnNhZmUoc2l6ZSA9IDApIHtcbiAgaWYgKGdsb2JhbFRoaXMuQnVmZmVyICE9IG51bGwgJiYgZ2xvYmFsVGhpcy5CdWZmZXIuYWxsb2NVbnNhZmUgIT0gbnVsbCkge1xuICAgIHJldHVybiBhc1VpbnQ4QXJyYXkoZ2xvYmFsVGhpcy5CdWZmZXIuYWxsb2NVbnNhZmUoc2l6ZSkpO1xuICB9XG4gIHJldHVybiBuZXcgVWludDhBcnJheShzaXplKTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/alloc.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/compare.js": -/*!*****************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/compare.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compare: function() { return /* binding */ compare; }\n/* harmony export */ });\nfunction compare(a, b) {\n for (let i = 0; i < a.byteLength; i++) {\n if (a[i] < b[i]) {\n return -1;\n }\n if (a[i] > b[i]) {\n return 1;\n }\n }\n if (a.byteLength > b.byteLength) {\n return 1;\n }\n if (a.byteLength < b.byteLength) {\n return -1;\n }\n return 0;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy9jb21wYXJlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQLGtCQUFrQixrQkFBa0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91aW50OGFycmF5cy9lc20vc3JjL2NvbXBhcmUuanM/OWM4ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYS5ieXRlTGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYVtpXSA8IGJbaV0pIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgaWYgKGFbaV0gPiBiW2ldKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cbiAgaWYgKGEuYnl0ZUxlbmd0aCA+IGIuYnl0ZUxlbmd0aCkge1xuICAgIHJldHVybiAxO1xuICB9XG4gIGlmIChhLmJ5dGVMZW5ndGggPCBiLmJ5dGVMZW5ndGgpIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cbiAgcmV0dXJuIDA7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/compare.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/concat.js": -/*!****************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/concat.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concat: function() { return /* binding */ concat; }\n/* harmony export */ });\n/* harmony import */ var _alloc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alloc.js */ \"./node_modules/uint8arrays/esm/src/alloc.js\");\n/* harmony import */ var _util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/as-uint8array.js */ \"./node_modules/uint8arrays/esm/src/util/as-uint8array.js\");\n\n\nfunction concat(arrays, length) {\n if (!length) {\n length = arrays.reduce((acc, curr) => acc + curr.length, 0);\n }\n const output = (0,_alloc_js__WEBPACK_IMPORTED_MODULE_0__.allocUnsafe)(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return (0,_util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_1__.asUint8Array)(output);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy9jb25jYXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXlDO0FBQ2M7QUFDaEQ7QUFDUDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsc0RBQVc7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsb0VBQVk7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VpbnQ4YXJyYXlzL2VzbS9zcmMvY29uY2F0LmpzPzAyZWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxsb2NVbnNhZmUgfSBmcm9tICcuL2FsbG9jLmpzJztcbmltcG9ydCB7IGFzVWludDhBcnJheSB9IGZyb20gJy4vdXRpbC9hcy11aW50OGFycmF5LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYXJyYXlzLCBsZW5ndGgpIHtcbiAgaWYgKCFsZW5ndGgpIHtcbiAgICBsZW5ndGggPSBhcnJheXMucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIubGVuZ3RoLCAwKTtcbiAgfVxuICBjb25zdCBvdXRwdXQgPSBhbGxvY1Vuc2FmZShsZW5ndGgpO1xuICBsZXQgb2Zmc2V0ID0gMDtcbiAgZm9yIChjb25zdCBhcnIgb2YgYXJyYXlzKSB7XG4gICAgb3V0cHV0LnNldChhcnIsIG9mZnNldCk7XG4gICAgb2Zmc2V0ICs9IGFyci5sZW5ndGg7XG4gIH1cbiAgcmV0dXJuIGFzVWludDhBcnJheShvdXRwdXQpO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/concat.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/equals.js": -/*!****************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/equals.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ equals: function() { return /* binding */ equals; }\n/* harmony export */ });\nfunction equals(a, b) {\n if (a === b) {\n return true;\n }\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n for (let i = 0; i < a.byteLength; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy9lcXVhbHMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VpbnQ4YXJyYXlzL2VzbS9zcmMvZXF1YWxzLmpzP2I5MTciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGVxdWFscyhhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGEuYnl0ZUxlbmd0aCAhPT0gYi5ieXRlTGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYS5ieXRlTGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/equals.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/from-string.js": -/*!*********************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/from-string.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fromString: function() { return /* binding */ fromString; }\n/* harmony export */ });\n/* harmony import */ var _util_bases_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/bases.js */ \"./node_modules/uint8arrays/esm/src/util/bases.js\");\n/* harmony import */ var _util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/as-uint8array.js */ \"./node_modules/uint8arrays/esm/src/util/as-uint8array.js\");\n\n\nfunction fromString(string, encoding = 'utf8') {\n const base = _util_bases_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"][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 (0,_util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_1__.asUint8Array)(globalThis.Buffer.from(string, 'utf-8'));\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy9mcm9tLXN0cmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBb0M7QUFDbUI7QUFDaEQ7QUFDUCxlQUFlLHNEQUFLO0FBQ3BCO0FBQ0EsOENBQThDLFVBQVU7QUFDeEQ7QUFDQTtBQUNBLFdBQVcsb0VBQVk7QUFDdkI7QUFDQSxpQ0FBaUMsYUFBYSxHQUFHLFFBQVE7QUFDekQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VpbnQ4YXJyYXlzL2VzbS9zcmMvZnJvbS1zdHJpbmcuanM/ZTJjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYmFzZXMgZnJvbSAnLi91dGlsL2Jhc2VzLmpzJztcbmltcG9ydCB7IGFzVWludDhBcnJheSB9IGZyb20gJy4vdXRpbC9hcy11aW50OGFycmF5LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBmcm9tU3RyaW5nKHN0cmluZywgZW5jb2RpbmcgPSAndXRmOCcpIHtcbiAgY29uc3QgYmFzZSA9IGJhc2VzW2VuY29kaW5nXTtcbiAgaWYgKCFiYXNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBlbmNvZGluZyBcIiR7IGVuY29kaW5nIH1cImApO1xuICB9XG4gIGlmICgoZW5jb2RpbmcgPT09ICd1dGY4JyB8fCBlbmNvZGluZyA9PT0gJ3V0Zi04JykgJiYgZ2xvYmFsVGhpcy5CdWZmZXIgIT0gbnVsbCAmJiBnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tICE9IG51bGwpIHtcbiAgICByZXR1cm4gYXNVaW50OEFycmF5KGdsb2JhbFRoaXMuQnVmZmVyLmZyb20oc3RyaW5nLCAndXRmLTgnKSk7XG4gIH1cbiAgcmV0dXJuIGJhc2UuZGVjb2Rlci5kZWNvZGUoYCR7IGJhc2UucHJlZml4IH0keyBzdHJpbmcgfWApO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/from-string.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/index.js": -/*!***************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/index.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compare: function() { return /* reexport safe */ _compare_js__WEBPACK_IMPORTED_MODULE_0__.compare; },\n/* harmony export */ concat: function() { return /* reexport safe */ _concat_js__WEBPACK_IMPORTED_MODULE_1__.concat; },\n/* harmony export */ equals: function() { return /* reexport safe */ _equals_js__WEBPACK_IMPORTED_MODULE_2__.equals; },\n/* harmony export */ fromString: function() { return /* reexport safe */ _from_string_js__WEBPACK_IMPORTED_MODULE_3__.fromString; },\n/* harmony export */ toString: function() { return /* reexport safe */ _to_string_js__WEBPACK_IMPORTED_MODULE_4__.toString; },\n/* harmony export */ xor: function() { return /* reexport safe */ _xor_js__WEBPACK_IMPORTED_MODULE_5__.xor; }\n/* harmony export */ });\n/* harmony import */ var _compare_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compare.js */ \"./node_modules/uint8arrays/esm/src/compare.js\");\n/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat.js */ \"./node_modules/uint8arrays/esm/src/concat.js\");\n/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals.js */ \"./node_modules/uint8arrays/esm/src/equals.js\");\n/* harmony import */ var _from_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./from-string.js */ \"./node_modules/uint8arrays/esm/src/from-string.js\");\n/* harmony import */ var _to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./to-string.js */ \"./node_modules/uint8arrays/esm/src/to-string.js\");\n/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./xor.js */ \"./node_modules/uint8arrays/esm/src/xor.js\");\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBdUM7QUFDRjtBQUNBO0FBQ1M7QUFDSjtBQUNYIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91aW50OGFycmF5cy9lc20vc3JjL2luZGV4LmpzP2Y3MDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gJy4vY29tcGFyZS5qcyc7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuL2NvbmNhdC5qcyc7XG5pbXBvcnQgeyBlcXVhbHMgfSBmcm9tICcuL2VxdWFscy5qcyc7XG5pbXBvcnQgeyBmcm9tU3RyaW5nIH0gZnJvbSAnLi9mcm9tLXN0cmluZy5qcyc7XG5pbXBvcnQgeyB0b1N0cmluZyB9IGZyb20gJy4vdG8tc3RyaW5nLmpzJztcbmltcG9ydCB7IHhvciB9IGZyb20gJy4veG9yLmpzJztcbmV4cG9ydCB7XG4gIGNvbXBhcmUsXG4gIGNvbmNhdCxcbiAgZXF1YWxzLFxuICBmcm9tU3RyaW5nLFxuICB0b1N0cmluZyxcbiAgeG9yXG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/index.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/to-string.js": -/*!*******************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/to-string.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toString: function() { return /* binding */ toString; }\n/* harmony export */ });\n/* harmony import */ var _util_bases_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/bases.js */ \"./node_modules/uint8arrays/esm/src/util/bases.js\");\n\nfunction toString(array, encoding = 'utf8') {\n const base = _util_bases_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"][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}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy90by1zdHJpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFDN0I7QUFDUCxlQUFlLHNEQUFLO0FBQ3BCO0FBQ0EsOENBQThDLFVBQVU7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91aW50OGFycmF5cy9lc20vc3JjL3RvLXN0cmluZy5qcz8wZTJhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBiYXNlcyBmcm9tICcuL3V0aWwvYmFzZXMuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKGFycmF5LCBlbmNvZGluZyA9ICd1dGY4Jykge1xuICBjb25zdCBiYXNlID0gYmFzZXNbZW5jb2RpbmddO1xuICBpZiAoIWJhc2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGVuY29kaW5nIFwiJHsgZW5jb2RpbmcgfVwiYCk7XG4gIH1cbiAgaWYgKChlbmNvZGluZyA9PT0gJ3V0ZjgnIHx8IGVuY29kaW5nID09PSAndXRmLTgnKSAmJiBnbG9iYWxUaGlzLkJ1ZmZlciAhPSBudWxsICYmIGdsb2JhbFRoaXMuQnVmZmVyLmZyb20gIT0gbnVsbCkge1xuICAgIHJldHVybiBnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tKGFycmF5LmJ1ZmZlciwgYXJyYXkuYnl0ZU9mZnNldCwgYXJyYXkuYnl0ZUxlbmd0aCkudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgfVxuICByZXR1cm4gYmFzZS5lbmNvZGVyLmVuY29kZShhcnJheSkuc3Vic3RyaW5nKDEpO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/to-string.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/util/as-uint8array.js": -/*!****************************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/util/as-uint8array.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ asUint8Array: function() { return /* binding */ asUint8Array; }\n/* harmony export */ });\nfunction asUint8Array(buf) {\n if (globalThis.Buffer != null) {\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n return buf;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy91dGlsL2FzLXVpbnQ4YXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy91dGlsL2FzLXVpbnQ4YXJyYXkuanM/ZWRhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYXNVaW50OEFycmF5KGJ1Zikge1xuICBpZiAoZ2xvYmFsVGhpcy5CdWZmZXIgIT0gbnVsbCkge1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShidWYuYnVmZmVyLCBidWYuYnl0ZU9mZnNldCwgYnVmLmJ5dGVMZW5ndGgpO1xuICB9XG4gIHJldHVybiBidWY7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/util/as-uint8array.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/util/bases.js": -/*!********************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/util/bases.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var multiformats_basics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/basics */ \"./node_modules/multiformats/esm/src/basics.js\");\n/* harmony import */ var _alloc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../alloc.js */ \"./node_modules/uint8arrays/esm/src/alloc.js\");\n\n\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 = (0,_alloc_js__WEBPACK_IMPORTED_MODULE_1__.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: multiformats_basics__WEBPACK_IMPORTED_MODULE_0__.bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...multiformats_basics__WEBPACK_IMPORTED_MODULE_0__.bases\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (BASES);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy91dGlsL2Jhc2VzLmpzIiwibWFwcGluZ3MiOiI7OztBQUE0QztBQUNGO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxjQUFjLHNEQUFXO0FBQ3pCLGtCQUFrQixnQkFBZ0I7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BQU8sc0RBQUs7QUFDWjtBQUNBO0FBQ0E7QUFDQSxLQUFLLHNEQUFLO0FBQ1Y7QUFDQSwrREFBZSxLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91aW50OGFycmF5cy9lc20vc3JjL3V0aWwvYmFzZXMuanM/M2Y5MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlcyB9IGZyb20gJ211bHRpZm9ybWF0cy9iYXNpY3MnO1xuaW1wb3J0IHsgYWxsb2NVbnNhZmUgfSBmcm9tICcuLi9hbGxvYy5qcyc7XG5mdW5jdGlvbiBjcmVhdGVDb2RlYyhuYW1lLCBwcmVmaXgsIGVuY29kZSwgZGVjb2RlKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICBwcmVmaXgsXG4gICAgZW5jb2Rlcjoge1xuICAgICAgbmFtZSxcbiAgICAgIHByZWZpeCxcbiAgICAgIGVuY29kZVxuICAgIH0sXG4gICAgZGVjb2RlcjogeyBkZWNvZGUgfVxuICB9O1xufVxuY29uc3Qgc3RyaW5nID0gY3JlYXRlQ29kZWMoJ3V0ZjgnLCAndScsIGJ1ZiA9PiB7XG4gIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoJ3V0ZjgnKTtcbiAgcmV0dXJuICd1JyArIGRlY29kZXIuZGVjb2RlKGJ1Zik7XG59LCBzdHIgPT4ge1xuICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gIHJldHVybiBlbmNvZGVyLmVuY29kZShzdHIuc3Vic3RyaW5nKDEpKTtcbn0pO1xuY29uc3QgYXNjaWkgPSBjcmVhdGVDb2RlYygnYXNjaWknLCAnYScsIGJ1ZiA9PiB7XG4gIGxldCBzdHJpbmcgPSAnYSc7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgc3RyaW5nICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldKTtcbiAgfVxuICByZXR1cm4gc3RyaW5nO1xufSwgc3RyID0+IHtcbiAgc3RyID0gc3RyLnN1YnN0cmluZygxKTtcbiAgY29uc3QgYnVmID0gYWxsb2NVbnNhZmUoc3RyLmxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgYnVmW2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn0pO1xuY29uc3QgQkFTRVMgPSB7XG4gIHV0Zjg6IHN0cmluZyxcbiAgJ3V0Zi04Jzogc3RyaW5nLFxuICBoZXg6IGJhc2VzLmJhc2UxNixcbiAgbGF0aW4xOiBhc2NpaSxcbiAgYXNjaWk6IGFzY2lpLFxuICBiaW5hcnk6IGFzY2lpLFxuICAuLi5iYXNlc1xufTtcbmV4cG9ydCBkZWZhdWx0IEJBU0VTOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/util/bases.js\n")); - -/***/ }), - -/***/ "./node_modules/uint8arrays/esm/src/xor.js": -/*!*************************************************!*\ - !*** ./node_modules/uint8arrays/esm/src/xor.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ xor: function() { return /* binding */ xor; }\n/* harmony export */ });\n/* harmony import */ var _alloc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alloc.js */ \"./node_modules/uint8arrays/esm/src/alloc.js\");\n/* harmony import */ var _util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/as-uint8array.js */ \"./node_modules/uint8arrays/esm/src/util/as-uint8array.js\");\n\n\nfunction xor(a, b) {\n if (a.length !== b.length) {\n throw new Error('Inputs should have the same length');\n }\n const result = (0,_alloc_js__WEBPACK_IMPORTED_MODULE_0__.allocUnsafe)(a.length);\n for (let i = 0; i < a.length; i++) {\n result[i] = a[i] ^ b[i];\n }\n return (0,_util_as_uint8array_js__WEBPACK_IMPORTED_MODULE_1__.asUint8Array)(result);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdWludDhhcnJheXMvZXNtL3NyYy94b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXlDO0FBQ2M7QUFDaEQ7QUFDUDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsc0RBQVc7QUFDNUIsa0JBQWtCLGNBQWM7QUFDaEM7QUFDQTtBQUNBLFNBQVMsb0VBQVk7QUFDckIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3VpbnQ4YXJyYXlzL2VzbS9zcmMveG9yLmpzP2E0MjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxsb2NVbnNhZmUgfSBmcm9tICcuL2FsbG9jLmpzJztcbmltcG9ydCB7IGFzVWludDhBcnJheSB9IGZyb20gJy4vdXRpbC9hcy11aW50OGFycmF5LmpzJztcbmV4cG9ydCBmdW5jdGlvbiB4b3IoYSwgYikge1xuICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnB1dHMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbGVuZ3RoJyk7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0gYWxsb2NVbnNhZmUoYS5sZW5ndGgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICByZXN1bHRbaV0gPSBhW2ldIF4gYltpXTtcbiAgfVxuICByZXR1cm4gYXNVaW50OEFycmF5KHJlc3VsdCk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/uint8arrays/esm/src/xor.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/accounts/utils/parseAccount.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/accounts/utils/parseAccount.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAccount: function() { return /* binding */ parseAccount; }\n/* harmony export */ });\nfunction parseAccount(account) {\n if (typeof account === 'string')\n return { address: account, type: 'json-rpc' };\n return account;\n}\n//# sourceMappingURL=parseAccount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qcz9lYmRhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBwYXJzZUFjY291bnQoYWNjb3VudCkge1xuICAgIGlmICh0eXBlb2YgYWNjb3VudCA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiB7IGFkZHJlc3M6IGFjY291bnQsIHR5cGU6ICdqc29uLXJwYycgfTtcbiAgICByZXR1cm4gYWNjb3VudDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlQWNjb3VudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/accounts/utils/publicKeyToAddress.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/accounts/utils/publicKeyToAddress.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publicKeyToAddress: function() { return /* binding */ publicKeyToAddress; }\n/* harmony export */ });\n/* harmony import */ var _utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n/* harmony import */ var _utils_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n\n\n/**\n * @description Converts an ECDSA public key to an address.\n *\n * @param publicKey The public key to convert.\n *\n * @returns The address.\n */\nfunction publicKeyToAddress(publicKey) {\n const address = (0,_utils_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_0__.keccak256)(`0x${publicKey.substring(4)}`).substring(26);\n return (0,_utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.checksumAddress)(`0x${address}`);\n}\n//# sourceMappingURL=publicKeyToAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY2NvdW50cy91dGlscy9wdWJsaWNLZXlUb0FkZHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW9FO0FBQ1Y7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLG9CQUFvQixtRUFBUyxNQUFNLHVCQUF1QjtBQUMxRCxXQUFXLDZFQUFlLE1BQU0sUUFBUTtBQUN4QztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjY291bnRzL3V0aWxzL3B1YmxpY0tleVRvQWRkcmVzcy5qcz8xZDk2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNoZWNrc3VtQWRkcmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2FkZHJlc3MvZ2V0QWRkcmVzcy5qcyc7XG5pbXBvcnQgeyBrZWNjYWsyNTYgfSBmcm9tICcuLi8uLi91dGlscy9oYXNoL2tlY2NhazI1Ni5qcyc7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0cyBhbiBFQ0RTQSBwdWJsaWMga2V5IHRvIGFuIGFkZHJlc3MuXG4gKlxuICogQHBhcmFtIHB1YmxpY0tleSBUaGUgcHVibGljIGtleSB0byBjb252ZXJ0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBhZGRyZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGljS2V5VG9BZGRyZXNzKHB1YmxpY0tleSkge1xuICAgIGNvbnN0IGFkZHJlc3MgPSBrZWNjYWsyNTYoYDB4JHtwdWJsaWNLZXkuc3Vic3RyaW5nKDQpfWApLnN1YnN0cmluZygyNik7XG4gICAgcmV0dXJuIGNoZWNrc3VtQWRkcmVzcyhgMHgke2FkZHJlc3N9YCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdWJsaWNLZXlUb0FkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/accounts/utils/publicKeyToAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/ens/getEnsAddress.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/ens/getEnsAddress.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEnsAddress: function() { return /* binding */ getEnsAddress; }\n/* harmony export */ });\n/* harmony import */ var _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/esm/constants/abis.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_data_trim_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/ens/namehash.js */ \"./node_modules/viem/dist/esm/utils/ens/namehash.js\");\n/* harmony import */ var _utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/esm/utils/ens/packetToBytes.js\");\n/* harmony import */ var _public_readContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * Gets address for ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsAddress.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsAddressParameters}\n * @returns Address for ENS name or `null` if not found. {@link GetEnsAddressReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsAddress, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensAddress = await getEnsAddress(client, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // '0xd2135CfB216b74109775236E36d4b433F1DF507B'\n */\nasync function getEnsAddress(client, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n try {\n const res = await (0,_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__.readContract)(client, {\n address: universalResolverAddress,\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.universalResolverAbi,\n functionName: 'resolve',\n args: [\n (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)((0,_utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_4__.packetToBytes)(name)),\n (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_5__.encodeFunctionData)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.singleAddressResolverAbi,\n functionName: 'addr',\n args: [(0,_utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_6__.namehash)(name)],\n }),\n ],\n blockNumber,\n blockTag,\n });\n if (res[0] === '0x')\n return null;\n const address = (0,_utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_7__.decodeFunctionResult)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.singleAddressResolverAbi,\n functionName: 'addr',\n data: res[0],\n });\n return (0,_utils_data_trim_js__WEBPACK_IMPORTED_MODULE_8__.trim)(address) === '0x00' ? null : address;\n }\n catch (err) {\n if (err instanceof _errors_contract_js__WEBPACK_IMPORTED_MODULE_9__.ContractFunctionExecutionError) {\n const reason = err.cause?.reason;\n if (reason?.includes('Wildcard on non-extended resolvers is not supported'))\n return null;\n }\n throw err;\n }\n}\n//# sourceMappingURL=getEnsAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2Vucy9nZXRFbnNBZGRyZXNzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQTBGO0FBQ2dCO0FBQzNCO0FBQ0o7QUFDWjtBQUNmO0FBQ007QUFDQztBQUNVO0FBQ1A7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiwwREFBMEQ7QUFDMUQ7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLDJCQUEyQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTyx1Q0FBdUMsbUZBQW1GO0FBQ2pJO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLHdFQUF1QjtBQUMxRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDBCQUEwQixxRUFBWTtBQUN0QztBQUNBLGlCQUFpQixvRUFBb0I7QUFDckM7QUFDQTtBQUNBLGdCQUFnQiwrREFBSyxDQUFDLDBFQUFhO0FBQ25DLGdCQUFnQixvRkFBa0I7QUFDbEMseUJBQXlCLHdFQUF3QjtBQUNqRDtBQUNBLDJCQUEyQixnRUFBUTtBQUNuQyxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSx3QkFBd0Isd0ZBQW9CO0FBQzVDLGlCQUFpQix3RUFBd0I7QUFDekM7QUFDQTtBQUNBLFNBQVM7QUFDVCxlQUFlLHlEQUFJO0FBQ25CO0FBQ0E7QUFDQSwyQkFBMkIsK0VBQThCO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9lbnMvZ2V0RW5zQWRkcmVzcy5qcz85NWUwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNpbmdsZUFkZHJlc3NSZXNvbHZlckFiaSwgdW5pdmVyc2FsUmVzb2x2ZXJBYmksIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FiaXMuanMnO1xuaW1wb3J0IHsgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yLCBDb250cmFjdEZ1bmN0aW9uUmV2ZXJ0ZWRFcnJvciwgfSBmcm9tICcuLi8uLi9lcnJvcnMvY29udHJhY3QuanMnO1xuaW1wb3J0IHsgZGVjb2RlRnVuY3Rpb25SZXN1bHQgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanMnO1xuaW1wb3J0IHsgZW5jb2RlRnVuY3Rpb25EYXRhIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qcyc7XG5pbXBvcnQgeyBnZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NoYWluLmpzJztcbmltcG9ydCB7IHRyaW0gfSBmcm9tICcuLi8uLi91dGlscy9kYXRhL3RyaW0uanMnO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBuYW1laGFzaCB9IGZyb20gJy4uLy4uL3V0aWxzL2Vucy9uYW1laGFzaC5qcyc7XG5pbXBvcnQgeyBwYWNrZXRUb0J5dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5zL3BhY2tldFRvQnl0ZXMuanMnO1xuaW1wb3J0IHsgcmVhZENvbnRyYWN0LCB9IGZyb20gJy4uL3B1YmxpYy9yZWFkQ29udHJhY3QuanMnO1xuLyoqXG4gKiBHZXRzIGFkZHJlc3MgZm9yIEVOUyBuYW1lLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL2FjdGlvbnMvZ2V0RW5zQWRkcmVzcy5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvZW5zXG4gKlxuICogQ2FsbHMgYHJlc29sdmUoYnl0ZXMsIGJ5dGVzKWAgb24gRU5TIFVuaXZlcnNhbCBSZXNvbHZlciBDb250cmFjdC5cbiAqXG4gKiBTaW5jZSBFTlMgbmFtZXMgcHJvaGliaXQgY2VydGFpbiBmb3JiaWRkZW4gY2hhcmFjdGVycyAoZS5nLiB1bmRlcnNjb3JlKSBhbmQgaGF2ZSBvdGhlciB2YWxpZGF0aW9uIHJ1bGVzLCB5b3UgbGlrZWx5IHdhbnQgdG8gW25vcm1hbGl6ZSBFTlMgbmFtZXNdKGh0dHBzOi8vZG9jcy5lbnMuZG9tYWlucy9jb250cmFjdC1hcGktcmVmZXJlbmNlL25hbWUtcHJvY2Vzc2luZyNub3JtYWxpc2luZy1uYW1lcykgd2l0aCBbVVRTLTQ2IG5vcm1hbGl6YXRpb25dKGh0dHBzOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjQ2KSBiZWZvcmUgcGFzc2luZyB0aGVtIHRvIGBnZXRFbnNBZGRyZXNzYC4gWW91IGNhbiB1c2UgdGhlIGJ1aWx0LWluIFtgbm9ybWFsaXplYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL3V0aWxpdGllcy9ub3JtYWxpemUuaHRtbCkgZnVuY3Rpb24gZm9yIHRoaXMuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldEVuc0FkZHJlc3NQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgQWRkcmVzcyBmb3IgRU5TIG5hbWUgb3IgYG51bGxgIGlmIG5vdCBmb3VuZC4ge0BsaW5rIEdldEVuc0FkZHJlc3NSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0RW5zQWRkcmVzcywgbm9ybWFsaXplIH0gZnJvbSAndmllbS9lbnMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGVuc0FkZHJlc3MgPSBhd2FpdCBnZXRFbnNBZGRyZXNzKGNsaWVudCwge1xuICogICBuYW1lOiBub3JtYWxpemUoJ3dhZ21pLWRldi5ldGgnKSxcbiAqIH0pXG4gKiAvLyAnMHhkMjEzNUNmQjIxNmI3NDEwOTc3NTIzNkUzNmQ0YjQzM0YxREY1MDdCJ1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW5zQWRkcmVzcyhjbGllbnQsIHsgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBuYW1lLCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3M6IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc18sIH0pIHtcbiAgICBsZXQgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzID0gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzXztcbiAgICBpZiAoIXVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcykge1xuICAgICAgICBpZiAoIWNsaWVudC5jaGFpbilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2xpZW50IGNoYWluIG5vdCBjb25maWd1cmVkLiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9IGdldENoYWluQ29udHJhY3RBZGRyZXNzKHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgY2hhaW46IGNsaWVudC5jaGFpbixcbiAgICAgICAgICAgIGNvbnRyYWN0OiAnZW5zVW5pdmVyc2FsUmVzb2x2ZXInLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVhZENvbnRyYWN0KGNsaWVudCwge1xuICAgICAgICAgICAgYWRkcmVzczogdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzLFxuICAgICAgICAgICAgYWJpOiB1bml2ZXJzYWxSZXNvbHZlckFiaSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3Jlc29sdmUnLFxuICAgICAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgICAgIHRvSGV4KHBhY2tldFRvQnl0ZXMobmFtZSkpLFxuICAgICAgICAgICAgICAgIGVuY29kZUZ1bmN0aW9uRGF0YSh7XG4gICAgICAgICAgICAgICAgICAgIGFiaTogc2luZ2xlQWRkcmVzc1Jlc29sdmVyQWJpLFxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWU6ICdhZGRyJyxcbiAgICAgICAgICAgICAgICAgICAgYXJnczogW25hbWVoYXNoKG5hbWUpXSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgIGJsb2NrVGFnLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc1swXSA9PT0gJzB4JylcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBhZGRyZXNzID0gZGVjb2RlRnVuY3Rpb25SZXN1bHQoe1xuICAgICAgICAgICAgYWJpOiBzaW5nbGVBZGRyZXNzUmVzb2x2ZXJBYmksXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWU6ICdhZGRyJyxcbiAgICAgICAgICAgIGRhdGE6IHJlc1swXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0cmltKGFkZHJlc3MpID09PSAnMHgwMCcgPyBudWxsIDogYWRkcmVzcztcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCByZWFzb24gPSBlcnIuY2F1c2U/LnJlYXNvbjtcbiAgICAgICAgICAgIGlmIChyZWFzb24/LmluY2x1ZGVzKCdXaWxkY2FyZCBvbiBub24tZXh0ZW5kZWQgcmVzb2x2ZXJzIGlzIG5vdCBzdXBwb3J0ZWQnKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RW5zQWRkcmVzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/ens/getEnsAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/ens/getEnsAvatar.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/ens/getEnsAvatar.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEnsAvatar: function() { return /* binding */ getEnsAvatar; }\n/* harmony export */ });\n/* harmony import */ var _utils_ens_avatar_parseAvatarRecord_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/ens/avatar/parseAvatarRecord.js */ \"./node_modules/viem/dist/esm/utils/ens/avatar/parseAvatarRecord.js\");\n/* harmony import */ var _getEnsText_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getEnsText.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsText.js\");\n\n\n/**\n * Gets the avatar of an ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsAvatar.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls [`getEnsText`](https://viem.sh/docs/ens/actions/getEnsText.html) with `key` set to `'avatar'`.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsAvatarParameters}\n * @returns Avatar URI or `null` if not found. {@link GetEnsAvatarReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsAvatar, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensAvatar = await getEnsAvatar(client, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // 'https://ipfs.io/ipfs/Qma8mnp6xV3J2cRNf3mTth5C8nV11CAnceVinc3y8jSbio'\n */\nasync function getEnsAvatar(client, { blockNumber, blockTag, gatewayUrls, name, universalResolverAddress, }) {\n const record = await (0,_getEnsText_js__WEBPACK_IMPORTED_MODULE_0__.getEnsText)(client, {\n blockNumber,\n blockTag,\n key: 'avatar',\n name,\n universalResolverAddress,\n });\n if (!record)\n return null;\n try {\n return await (0,_utils_ens_avatar_parseAvatarRecord_js__WEBPACK_IMPORTED_MODULE_1__.parseAvatarRecord)(client, { record, gatewayUrls });\n }\n catch {\n return null;\n }\n}\n//# sourceMappingURL=getEnsAvatar.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2Vucy9nZXRFbnNBdmF0YXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdGO0FBQ25DO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSwwQkFBMEI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ08sc0NBQXNDLHFFQUFxRTtBQUNsSCx5QkFBeUIsMERBQVU7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIseUZBQWlCLFdBQVcscUJBQXFCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2Vucy9nZXRFbnNBdmF0YXIuanM/ZWI4MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUF2YXRhclJlY29yZCB9IGZyb20gJy4uLy4uL3V0aWxzL2Vucy9hdmF0YXIvcGFyc2VBdmF0YXJSZWNvcmQuanMnO1xuaW1wb3J0IHsgZ2V0RW5zVGV4dCB9IGZyb20gJy4vZ2V0RW5zVGV4dC5qcyc7XG4vKipcbiAqIEdldHMgdGhlIGF2YXRhciBvZiBhbiBFTlMgbmFtZS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2Vucy9hY3Rpb25zL2dldEVuc0F2YXRhci5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvZW5zXG4gKlxuICogQ2FsbHMgW2BnZXRFbnNUZXh0YF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL2FjdGlvbnMvZ2V0RW5zVGV4dC5odG1sKSB3aXRoIGBrZXlgIHNldCB0byBgJ2F2YXRhcidgLlxuICpcbiAqIFNpbmNlIEVOUyBuYW1lcyBwcm9oaWJpdCBjZXJ0YWluIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIChlLmcuIHVuZGVyc2NvcmUpIGFuZCBoYXZlIG90aGVyIHZhbGlkYXRpb24gcnVsZXMsIHlvdSBsaWtlbHkgd2FudCB0byBbbm9ybWFsaXplIEVOUyBuYW1lc10oaHR0cHM6Ly9kb2NzLmVucy5kb21haW5zL2NvbnRyYWN0LWFwaS1yZWZlcmVuY2UvbmFtZS1wcm9jZXNzaW5nI25vcm1hbGlzaW5nLW5hbWVzKSB3aXRoIFtVVFMtNDYgbm9ybWFsaXphdGlvbl0oaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyNDYpIGJlZm9yZSBwYXNzaW5nIHRoZW0gdG8gYGdldEVuc0FkZHJlc3NgLiBZb3UgY2FuIHVzZSB0aGUgYnVpbHQtaW4gW2Bub3JtYWxpemVgXShodHRwczovL3ZpZW0uc2gvZG9jcy9lbnMvdXRpbGl0aWVzL25vcm1hbGl6ZS5odG1sKSBmdW5jdGlvbiBmb3IgdGhpcy5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgR2V0RW5zQXZhdGFyUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIEF2YXRhciBVUkkgb3IgYG51bGxgIGlmIG5vdCBmb3VuZC4ge0BsaW5rIEdldEVuc0F2YXRhclJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRFbnNBdmF0YXIsIG5vcm1hbGl6ZSB9IGZyb20gJ3ZpZW0vZW5zJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBlbnNBdmF0YXIgPSBhd2FpdCBnZXRFbnNBdmF0YXIoY2xpZW50LCB7XG4gKiAgIG5hbWU6IG5vcm1hbGl6ZSgnd2FnbWktZGV2LmV0aCcpLFxuICogfSlcbiAqIC8vICdodHRwczovL2lwZnMuaW8vaXBmcy9RbWE4bW5wNnhWM0oyY1JOZjNtVHRoNUM4blYxMUNBbmNlVmluYzN5OGpTYmlvJ1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW5zQXZhdGFyKGNsaWVudCwgeyBibG9ja051bWJlciwgYmxvY2tUYWcsIGdhdGV3YXlVcmxzLCBuYW1lLCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MsIH0pIHtcbiAgICBjb25zdCByZWNvcmQgPSBhd2FpdCBnZXRFbnNUZXh0KGNsaWVudCwge1xuICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgIGtleTogJ2F2YXRhcicsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyxcbiAgICB9KTtcbiAgICBpZiAoIXJlY29yZClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHBhcnNlQXZhdGFyUmVjb3JkKGNsaWVudCwgeyByZWNvcmQsIGdhdGV3YXlVcmxzIH0pO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVuc0F2YXRhci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/ens/getEnsAvatar.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/ens/getEnsName.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/ens/getEnsName.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEnsName: function() { return /* binding */ getEnsName; }\n/* harmony export */ });\n/* harmony import */ var _constants_solidity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../constants/solidity.js */ \"./node_modules/viem/dist/esm/constants/solidity.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/esm/utils/ens/packetToBytes.js\");\n/* harmony import */ var _public_readContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n\n\n\n\n\n\n/**\n * Gets primary name for specified address.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsName.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `reverse(bytes)` on ENS Universal Resolver Contract to \"reverse resolve\" the address to the primary ENS name.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsNameParameters}\n * @returns Name or `null` if not found. {@link GetEnsNameReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsName } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensName = await getEnsName(client, {\n * address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',\n * })\n * // 'wagmi-dev.eth'\n */\nasync function getEnsName(client, { address, blockNumber, blockTag, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;\n try {\n const res = await (0,_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__.readContract)(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'reverse',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ type: 'bytes', name: 'reverseName' }],\n outputs: [\n { type: 'string', name: 'resolvedName' },\n { type: 'address', name: 'resolvedAddress' },\n { type: 'address', name: 'reverseResolver' },\n { type: 'address', name: 'resolver' },\n ],\n },\n ],\n functionName: 'reverse',\n args: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.toHex)((0,_utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_3__.packetToBytes)(reverseNode))],\n blockNumber,\n blockTag,\n });\n return res[0];\n }\n catch (error) {\n if (error instanceof _errors_contract_js__WEBPACK_IMPORTED_MODULE_4__.ContractFunctionExecutionError &&\n error.cause.reason === _constants_solidity_js__WEBPACK_IMPORTED_MODULE_5__.panicReasons[50])\n // No primary name set for address.\n return null;\n throw error;\n }\n}\n//# sourceMappingURL=getEnsName.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2Vucy9nZXRFbnNOYW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBMkQ7QUFDZ0I7QUFDWjtBQUNUO0FBQ1c7QUFDUDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxhQUFhO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPLG9DQUFvQyxzRkFBc0Y7QUFDakk7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsd0VBQXVCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLDJCQUEyQixtQ0FBbUM7QUFDOUQ7QUFDQSwwQkFBMEIscUVBQVk7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLG9DQUFvQztBQUNuRTtBQUNBLDBCQUEwQixzQ0FBc0M7QUFDaEUsMEJBQTBCLDBDQUEwQztBQUNwRSwwQkFBMEIsMENBQTBDO0FBQ3BFLDBCQUEwQixtQ0FBbUM7QUFDN0Q7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLG1CQUFtQiwrREFBSyxDQUFDLDBFQUFhO0FBQ3RDO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLCtFQUE4QjtBQUMzRCxtQ0FBbUMsZ0VBQVk7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvZW5zL2dldEVuc05hbWUuanM/NzM4OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYW5pY1JlYXNvbnMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvc29saWRpdHkuanMnO1xuaW1wb3J0IHsgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yLCB9IGZyb20gJy4uLy4uL2Vycm9ycy9jb250cmFjdC5qcyc7XG5pbXBvcnQgeyBnZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NoYWluLmpzJztcbmltcG9ydCB7IHRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuaW1wb3J0IHsgcGFja2V0VG9CeXRlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2Vucy9wYWNrZXRUb0J5dGVzLmpzJztcbmltcG9ydCB7IHJlYWRDb250cmFjdCwgfSBmcm9tICcuLi9wdWJsaWMvcmVhZENvbnRyYWN0LmpzJztcbi8qKlxuICogR2V0cyBwcmltYXJ5IG5hbWUgZm9yIHNwZWNpZmllZCBhZGRyZXNzLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL2FjdGlvbnMvZ2V0RW5zTmFtZS5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvZW5zXG4gKlxuICogQ2FsbHMgYHJldmVyc2UoYnl0ZXMpYCBvbiBFTlMgVW5pdmVyc2FsIFJlc29sdmVyIENvbnRyYWN0IHRvIFwicmV2ZXJzZSByZXNvbHZlXCIgdGhlIGFkZHJlc3MgdG8gdGhlIHByaW1hcnkgRU5TIG5hbWUuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldEVuc05hbWVQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgTmFtZSBvciBgbnVsbGAgaWYgbm90IGZvdW5kLiB7QGxpbmsgR2V0RW5zTmFtZVJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRFbnNOYW1lIH0gZnJvbSAndmllbS9lbnMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGVuc05hbWUgPSBhd2FpdCBnZXRFbnNOYW1lKGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhkMjEzNUNmQjIxNmI3NDEwOTc3NTIzNkUzNmQ0YjQzM0YxREY1MDdCJyxcbiAqIH0pXG4gKiAvLyAnd2FnbWktZGV2LmV0aCdcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVuc05hbWUoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrTnVtYmVyLCBibG9ja1RhZywgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3NfLCB9KSB7XG4gICAgbGV0IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc187XG4gICAgaWYgKCF1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MpIHtcbiAgICAgICAgaWYgKCFjbGllbnQuY2hhaW4pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsaWVudCBjaGFpbiBub3QgY29uZmlndXJlZC4gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzIGlzIHJlcXVpcmVkLicpO1xuICAgICAgICB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgPSBnZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyh7XG4gICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgIGNoYWluOiBjbGllbnQuY2hhaW4sXG4gICAgICAgICAgICBjb250cmFjdDogJ2Vuc1VuaXZlcnNhbFJlc29sdmVyJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHJldmVyc2VOb2RlID0gYCR7YWRkcmVzcy50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZygyKX0uYWRkci5yZXZlcnNlYDtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCByZWFkQ29udHJhY3QoY2xpZW50LCB7XG4gICAgICAgICAgICBhZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MsXG4gICAgICAgICAgICBhYmk6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdyZXZlcnNlJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0czogW3sgdHlwZTogJ2J5dGVzJywgbmFtZTogJ3JldmVyc2VOYW1lJyB9XSxcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnc3RyaW5nJywgbmFtZTogJ3Jlc29sdmVkTmFtZScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ2FkZHJlc3MnLCBuYW1lOiAncmVzb2x2ZWRBZGRyZXNzJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnYWRkcmVzcycsIG5hbWU6ICdyZXZlcnNlUmVzb2x2ZXInIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdhZGRyZXNzJywgbmFtZTogJ3Jlc29sdmVyJyB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiAncmV2ZXJzZScsXG4gICAgICAgICAgICBhcmdzOiBbdG9IZXgocGFja2V0VG9CeXRlcyhyZXZlcnNlTm9kZSkpXSxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzWzBdO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yICYmXG4gICAgICAgICAgICBlcnJvci5jYXVzZS5yZWFzb24gPT09IHBhbmljUmVhc29uc1s1MF0pXG4gICAgICAgICAgICAvLyBObyBwcmltYXJ5IG5hbWUgc2V0IGZvciBhZGRyZXNzLlxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVuc05hbWUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/ens/getEnsName.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/ens/getEnsResolver.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/ens/getEnsResolver.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEnsResolver: function() { return /* binding */ getEnsResolver; }\n/* harmony export */ });\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/esm/utils/ens/packetToBytes.js\");\n/* harmony import */ var _public_readContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n\n\n\n\n/**\n * Gets resolver for ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsResolver.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `findResolver(bytes)` on ENS Universal Resolver Contract to retrieve the resolver of an ENS name.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsResolverParameters}\n * @returns Address for ENS resolver. {@link GetEnsResolverReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsResolver, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const resolverAddress = await getEnsResolver(client, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41'\n */\nasync function getEnsResolver(client, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const [resolverAddress] = await (0,_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__.readContract)(client, {\n address: universalResolverAddress,\n abi: [\n {\n inputs: [{ type: 'bytes' }],\n name: 'findResolver',\n outputs: [{ type: 'address' }, { type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n ],\n functionName: 'findResolver',\n args: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.toHex)((0,_utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_3__.packetToBytes)(name))],\n blockNumber,\n blockTag,\n });\n return resolverAddress;\n}\n//# sourceMappingURL=getEnsResolver.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2Vucy9nZXRFbnNSZXNvbHZlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUErRDtBQUNUO0FBQ1c7QUFDUDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLHVDQUF1QztBQUN2QztBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksNEJBQTRCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPLHdDQUF3QyxtRkFBbUY7QUFDbEk7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsd0VBQXVCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG9DQUFvQyxxRUFBWTtBQUNoRDtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsZUFBZTtBQUMxQztBQUNBLDRCQUE0QixpQkFBaUIsSUFBSSxpQkFBaUI7QUFDbEU7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsZUFBZSwrREFBSyxDQUFDLDBFQUFhO0FBQ2xDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvZW5zL2dldEVuc1Jlc29sdmVyLmpzPzBiMDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3MgfSBmcm9tICcuLi8uLi91dGlscy9jaGFpbi5qcyc7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbmltcG9ydCB7IHBhY2tldFRvQnl0ZXMgfSBmcm9tICcuLi8uLi91dGlscy9lbnMvcGFja2V0VG9CeXRlcy5qcyc7XG5pbXBvcnQgeyByZWFkQ29udHJhY3QsIH0gZnJvbSAnLi4vcHVibGljL3JlYWRDb250cmFjdC5qcyc7XG4vKipcbiAqIEdldHMgcmVzb2x2ZXIgZm9yIEVOUyBuYW1lLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL2FjdGlvbnMvZ2V0RW5zUmVzb2x2ZXIuaHRtbFxuICogLSBFeGFtcGxlczogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9naXRodWIvd2FnbWktZGV2L3ZpZW0vdHJlZS9tYWluL2V4YW1wbGVzL2Vuc1xuICpcbiAqIENhbGxzIGBmaW5kUmVzb2x2ZXIoYnl0ZXMpYCBvbiBFTlMgVW5pdmVyc2FsIFJlc29sdmVyIENvbnRyYWN0IHRvIHJldHJpZXZlIHRoZSByZXNvbHZlciBvZiBhbiBFTlMgbmFtZS5cbiAqXG4gKiBTaW5jZSBFTlMgbmFtZXMgcHJvaGliaXQgY2VydGFpbiBmb3JiaWRkZW4gY2hhcmFjdGVycyAoZS5nLiB1bmRlcnNjb3JlKSBhbmQgaGF2ZSBvdGhlciB2YWxpZGF0aW9uIHJ1bGVzLCB5b3UgbGlrZWx5IHdhbnQgdG8gW25vcm1hbGl6ZSBFTlMgbmFtZXNdKGh0dHBzOi8vZG9jcy5lbnMuZG9tYWlucy9jb250cmFjdC1hcGktcmVmZXJlbmNlL25hbWUtcHJvY2Vzc2luZyNub3JtYWxpc2luZy1uYW1lcykgd2l0aCBbVVRTLTQ2IG5vcm1hbGl6YXRpb25dKGh0dHBzOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjQ2KSBiZWZvcmUgcGFzc2luZyB0aGVtIHRvIGBnZXRFbnNBZGRyZXNzYC4gWW91IGNhbiB1c2UgdGhlIGJ1aWx0LWluIFtgbm9ybWFsaXplYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL3V0aWxpdGllcy9ub3JtYWxpemUuaHRtbCkgZnVuY3Rpb24gZm9yIHRoaXMuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldEVuc1Jlc29sdmVyUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIEFkZHJlc3MgZm9yIEVOUyByZXNvbHZlci4ge0BsaW5rIEdldEVuc1Jlc29sdmVyUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGdldEVuc1Jlc29sdmVyLCBub3JtYWxpemUgfSBmcm9tICd2aWVtL2VucydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgcmVzb2x2ZXJBZGRyZXNzID0gYXdhaXQgZ2V0RW5zUmVzb2x2ZXIoY2xpZW50LCB7XG4gKiAgIG5hbWU6IG5vcm1hbGl6ZSgnd2FnbWktZGV2LmV0aCcpLFxuICogfSlcbiAqIC8vICcweDQ5NzZmYjAzQzMyZTVCOGNmZTJiNmNDQjMxYzA5QmE3OEVCYUJhNDEnXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbnNSZXNvbHZlcihjbGllbnQsIHsgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBuYW1lLCB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3M6IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc18sIH0pIHtcbiAgICBsZXQgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzID0gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzXztcbiAgICBpZiAoIXVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcykge1xuICAgICAgICBpZiAoIWNsaWVudC5jaGFpbilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2xpZW50IGNoYWluIG5vdCBjb25maWd1cmVkLiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9IGdldENoYWluQ29udHJhY3RBZGRyZXNzKHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgY2hhaW46IGNsaWVudC5jaGFpbixcbiAgICAgICAgICAgIGNvbnRyYWN0OiAnZW5zVW5pdmVyc2FsUmVzb2x2ZXInLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgW3Jlc29sdmVyQWRkcmVzc10gPSBhd2FpdCByZWFkQ29udHJhY3QoY2xpZW50LCB7XG4gICAgICAgIGFkZHJlc3M6IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyxcbiAgICAgICAgYWJpOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBbeyB0eXBlOiAnYnl0ZXMnIH1dLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdmaW5kUmVzb2x2ZXInLFxuICAgICAgICAgICAgICAgIG91dHB1dHM6IFt7IHR5cGU6ICdhZGRyZXNzJyB9LCB7IHR5cGU6ICdieXRlczMyJyB9XSxcbiAgICAgICAgICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICd2aWV3JyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiAnZmluZFJlc29sdmVyJyxcbiAgICAgICAgYXJnczogW3RvSGV4KHBhY2tldFRvQnl0ZXMobmFtZSkpXSxcbiAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgIGJsb2NrVGFnLFxuICAgIH0pO1xuICAgIHJldHVybiByZXNvbHZlckFkZHJlc3M7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRFbnNSZXNvbHZlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/ens/getEnsResolver.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/ens/getEnsText.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/ens/getEnsText.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEnsText: function() { return /* binding */ getEnsText; }\n/* harmony export */ });\n/* harmony import */ var _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/esm/constants/abis.js\");\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/ens/namehash.js */ \"./node_modules/viem/dist/esm/utils/ens/namehash.js\");\n/* harmony import */ var _utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/ens/packetToBytes.js */ \"./node_modules/viem/dist/esm/utils/ens/packetToBytes.js\");\n/* harmony import */ var _public_readContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n\n\n\n\n\n\n\n\n/**\n * Gets a text record for specified ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsResolver.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsTextParameters}\n * @returns Address for ENS resolver. {@link GetEnsTextReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsText, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const twitterRecord = await getEnsText(client, {\n * name: normalize('wagmi-dev.eth'),\n * key: 'com.twitter',\n * })\n * // 'wagmi_sh'\n */\nasync function getEnsText(client, { blockNumber, blockTag, name, key, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const res = await (0,_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__.readContract)(client, {\n address: universalResolverAddress,\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.universalResolverAbi,\n functionName: 'resolve',\n args: [\n (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)((0,_utils_ens_packetToBytes_js__WEBPACK_IMPORTED_MODULE_4__.packetToBytes)(name)),\n (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_5__.encodeFunctionData)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.textResolverAbi,\n functionName: 'text',\n args: [(0,_utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_6__.namehash)(name), key],\n }),\n ],\n blockNumber,\n blockTag,\n });\n if (res[0] === '0x')\n return null;\n const record = (0,_utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_7__.decodeFunctionResult)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.textResolverAbi,\n functionName: 'text',\n data: res[0],\n });\n return record === '' ? null : record;\n}\n//# sourceMappingURL=getEnsText.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2Vucy9nZXRFbnNUZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFnRjtBQUNEO0FBQ0o7QUFDWjtBQUNUO0FBQ0M7QUFDVTtBQUNQO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSx3QkFBd0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTyxvQ0FBb0Msd0ZBQXdGO0FBQ25JO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLHdFQUF1QjtBQUMxRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxzQkFBc0IscUVBQVk7QUFDbEM7QUFDQSxhQUFhLG9FQUFvQjtBQUNqQztBQUNBO0FBQ0EsWUFBWSwrREFBSyxDQUFDLDBFQUFhO0FBQy9CLFlBQVksb0ZBQWtCO0FBQzlCLHFCQUFxQiwrREFBZTtBQUNwQztBQUNBLHVCQUF1QixnRUFBUTtBQUMvQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxtQkFBbUIsd0ZBQW9CO0FBQ3ZDLGFBQWEsK0RBQWU7QUFDNUI7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9lbnMvZ2V0RW5zVGV4dC5qcz9iZDBjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRleHRSZXNvbHZlckFiaSwgdW5pdmVyc2FsUmVzb2x2ZXJBYmkgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYWJpcy5qcyc7XG5pbXBvcnQgeyBkZWNvZGVGdW5jdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qcyc7XG5pbXBvcnQgeyBlbmNvZGVGdW5jdGlvbkRhdGEgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzJztcbmltcG9ydCB7IGdldENoYWluQ29udHJhY3RBZGRyZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2hhaW4uanMnO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBuYW1laGFzaCB9IGZyb20gJy4uLy4uL3V0aWxzL2Vucy9uYW1laGFzaC5qcyc7XG5pbXBvcnQgeyBwYWNrZXRUb0J5dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5zL3BhY2tldFRvQnl0ZXMuanMnO1xuaW1wb3J0IHsgcmVhZENvbnRyYWN0LCB9IGZyb20gJy4uL3B1YmxpYy9yZWFkQ29udHJhY3QuanMnO1xuLyoqXG4gKiBHZXRzIGEgdGV4dCByZWNvcmQgZm9yIHNwZWNpZmllZCBFTlMgbmFtZS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2Vucy9hY3Rpb25zL2dldEVuc1Jlc29sdmVyLmh0bWxcbiAqIC0gRXhhbXBsZXM6IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZ2l0aHViL3dhZ21pLWRldi92aWVtL3RyZWUvbWFpbi9leGFtcGxlcy9lbnNcbiAqXG4gKiBDYWxscyBgcmVzb2x2ZShieXRlcywgYnl0ZXMpYCBvbiBFTlMgVW5pdmVyc2FsIFJlc29sdmVyIENvbnRyYWN0LlxuICpcbiAqIFNpbmNlIEVOUyBuYW1lcyBwcm9oaWJpdCBjZXJ0YWluIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIChlLmcuIHVuZGVyc2NvcmUpIGFuZCBoYXZlIG90aGVyIHZhbGlkYXRpb24gcnVsZXMsIHlvdSBsaWtlbHkgd2FudCB0byBbbm9ybWFsaXplIEVOUyBuYW1lc10oaHR0cHM6Ly9kb2NzLmVucy5kb21haW5zL2NvbnRyYWN0LWFwaS1yZWZlcmVuY2UvbmFtZS1wcm9jZXNzaW5nI25vcm1hbGlzaW5nLW5hbWVzKSB3aXRoIFtVVFMtNDYgbm9ybWFsaXphdGlvbl0oaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyNDYpIGJlZm9yZSBwYXNzaW5nIHRoZW0gdG8gYGdldEVuc0FkZHJlc3NgLiBZb3UgY2FuIHVzZSB0aGUgYnVpbHQtaW4gW2Bub3JtYWxpemVgXShodHRwczovL3ZpZW0uc2gvZG9jcy9lbnMvdXRpbGl0aWVzL25vcm1hbGl6ZS5odG1sKSBmdW5jdGlvbiBmb3IgdGhpcy5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgR2V0RW5zVGV4dFBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBBZGRyZXNzIGZvciBFTlMgcmVzb2x2ZXIuIHtAbGluayBHZXRFbnNUZXh0UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGdldEVuc1RleHQsIG5vcm1hbGl6ZSB9IGZyb20gJ3ZpZW0vZW5zJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCB0d2l0dGVyUmVjb3JkID0gYXdhaXQgZ2V0RW5zVGV4dChjbGllbnQsIHtcbiAqICAgbmFtZTogbm9ybWFsaXplKCd3YWdtaS1kZXYuZXRoJyksXG4gKiAgIGtleTogJ2NvbS50d2l0dGVyJyxcbiAqIH0pXG4gKiAvLyAnd2FnbWlfc2gnXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbnNUZXh0KGNsaWVudCwgeyBibG9ja051bWJlciwgYmxvY2tUYWcsIG5hbWUsIGtleSwgdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzOiB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3NfLCB9KSB7XG4gICAgbGV0IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzcyA9IHVuaXZlcnNhbFJlc29sdmVyQWRkcmVzc187XG4gICAgaWYgKCF1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MpIHtcbiAgICAgICAgaWYgKCFjbGllbnQuY2hhaW4pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsaWVudCBjaGFpbiBub3QgY29uZmlndXJlZC4gdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzIGlzIHJlcXVpcmVkLicpO1xuICAgICAgICB1bml2ZXJzYWxSZXNvbHZlckFkZHJlc3MgPSBnZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyh7XG4gICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgIGNoYWluOiBjbGllbnQuY2hhaW4sXG4gICAgICAgICAgICBjb250cmFjdDogJ2Vuc1VuaXZlcnNhbFJlc29sdmVyJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlYWRDb250cmFjdChjbGllbnQsIHtcbiAgICAgICAgYWRkcmVzczogdW5pdmVyc2FsUmVzb2x2ZXJBZGRyZXNzLFxuICAgICAgICBhYmk6IHVuaXZlcnNhbFJlc29sdmVyQWJpLFxuICAgICAgICBmdW5jdGlvbk5hbWU6ICdyZXNvbHZlJyxcbiAgICAgICAgYXJnczogW1xuICAgICAgICAgICAgdG9IZXgocGFja2V0VG9CeXRlcyhuYW1lKSksXG4gICAgICAgICAgICBlbmNvZGVGdW5jdGlvbkRhdGEoe1xuICAgICAgICAgICAgICAgIGFiaTogdGV4dFJlc29sdmVyQWJpLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFtuYW1laGFzaChuYW1lKSwga2V5XSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgYmxvY2tUYWcsXG4gICAgfSk7XG4gICAgaWYgKHJlc1swXSA9PT0gJzB4JylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgcmVjb3JkID0gZGVjb2RlRnVuY3Rpb25SZXN1bHQoe1xuICAgICAgICBhYmk6IHRleHRSZXNvbHZlckFiaSxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiAndGV4dCcsXG4gICAgICAgIGRhdGE6IHJlc1swXSxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVjb3JkID09PSAnJyA/IG51bGwgOiByZWNvcmQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRFbnNUZXh0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/ens/getEnsText.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/getContract.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/getContract.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getContract: function() { return /* binding */ getContract; },\n/* harmony export */ getEventParameters: function() { return /* binding */ getEventParameters; },\n/* harmony export */ getFunctionParameters: function() { return /* binding */ getFunctionParameters; }\n/* harmony export */ });\n/* harmony import */ var _public_createContractEventFilter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./public/createContractEventFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createContractEventFilter.js\");\n/* harmony import */ var _public_estimateContractGas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./public/estimateContractGas.js */ \"./node_modules/viem/dist/esm/actions/public/estimateContractGas.js\");\n/* harmony import */ var _public_readContract_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n/* harmony import */ var _public_simulateContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./public/simulateContract.js */ \"./node_modules/viem/dist/esm/actions/public/simulateContract.js\");\n/* harmony import */ var _public_watchContractEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./public/watchContractEvent.js */ \"./node_modules/viem/dist/esm/actions/public/watchContractEvent.js\");\n/* harmony import */ var _wallet_writeContract_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./wallet/writeContract.js */ \"./node_modules/viem/dist/esm/actions/wallet/writeContract.js\");\n\n\n\n\n\n\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract.html\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properites every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract.html), [`writeContract`](https://viem.sh/docs/contract/writeContract.html), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas.html), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * publicClient,\n * })\n */\nfunction getContract({ abi, address, publicClient, walletClient, }) {\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return (0,_public_readContract_js__WEBPACK_IMPORTED_MODULE_0__.readContract)(publicClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return (0,_public_simulateContract_js__WEBPACK_IMPORTED_MODULE_1__.simulateContract)(publicClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return (0,_public_createContractEventFilter_js__WEBPACK_IMPORTED_MODULE_2__.createContractEventFilter)(publicClient, {\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return (0,_public_watchContractEvent_js__WEBPACK_IMPORTED_MODULE_3__.watchContractEvent)(publicClient, {\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return (0,_wallet_writeContract_js__WEBPACK_IMPORTED_MODULE_4__.writeContract)(walletClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return (0,_public_estimateContractGas_js__WEBPACK_IMPORTED_MODULE_5__.estimateContractGas)(client, {\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nfunction getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nfunction getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2dldENvbnRyYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFtRjtBQUNaO0FBQ2Q7QUFDUTtBQUNJO0FBQ1Y7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksa0RBQWtEO0FBQzlELFlBQVksVUFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sdUJBQXVCLDJDQUEyQztBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hELCtCQUErQixxRUFBWTtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0EsZ0NBQWdDLGdCQUFnQjtBQUNoRCwrQkFBK0IsNkVBQWdCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0EscURBQXFEO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxnQkFBZ0I7QUFDaEQsK0JBQStCLCtGQUF5QjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYiw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGdCQUFnQjtBQUNoRCwrQkFBK0IsaUZBQWtCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSxpQkFBaUI7QUFDakIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQSxnQ0FBZ0MsZ0JBQWdCO0FBQ2hELCtCQUErQix1RUFBYTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBLGdDQUFnQyxnQkFBZ0I7QUFDaEQ7QUFDQSwrQkFBK0IsbUZBQW1CO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL2dldENvbnRyYWN0LmpzPzdlNjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlciwgfSBmcm9tICcuL3B1YmxpYy9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzJztcbmltcG9ydCB7IGVzdGltYXRlQ29udHJhY3RHYXMsIH0gZnJvbSAnLi9wdWJsaWMvZXN0aW1hdGVDb250cmFjdEdhcy5qcyc7XG5pbXBvcnQgeyByZWFkQ29udHJhY3QsIH0gZnJvbSAnLi9wdWJsaWMvcmVhZENvbnRyYWN0LmpzJztcbmltcG9ydCB7IHNpbXVsYXRlQ29udHJhY3QsIH0gZnJvbSAnLi9wdWJsaWMvc2ltdWxhdGVDb250cmFjdC5qcyc7XG5pbXBvcnQgeyB3YXRjaENvbnRyYWN0RXZlbnQsIH0gZnJvbSAnLi9wdWJsaWMvd2F0Y2hDb250cmFjdEV2ZW50LmpzJztcbmltcG9ydCB7IHdyaXRlQ29udHJhY3QsIH0gZnJvbSAnLi93YWxsZXQvd3JpdGVDb250cmFjdC5qcyc7XG4vKipcbiAqIEdldHMgdHlwZS1zYWZlIGludGVyZmFjZSBmb3IgcGVyZm9ybWluZyBjb250cmFjdC1yZWxhdGVkIGFjdGlvbnMgd2l0aCBhIHNwZWNpZmljIGBhYmlgIGFuZCBgYWRkcmVzc2AuXG4gKlxuICogLSBEb2NzIGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L2dldENvbnRyYWN0Lmh0bWxcbiAqXG4gKiBVc2luZyBDb250cmFjdCBJbnN0YW5jZXMgY2FuIG1ha2UgaXQgZWFzaWVyIHRvIHdvcmsgd2l0aCBjb250cmFjdHMgaWYgeW91IGRvbid0IHdhbnQgdG8gcGFzcyB0aGUgYGFiaWAgYW5kIGBhZGRyZXNzYCBwcm9wZXJpdGVzIGV2ZXJ5IHRpbWUgeW91IHBlcmZvcm0gY29udHJhY3QgYWN0aW9ucywgZS5nLiBbYHJlYWRDb250cmFjdGBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L3JlYWRDb250cmFjdC5odG1sKSwgW2B3cml0ZUNvbnRyYWN0YF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3Qvd3JpdGVDb250cmFjdC5odG1sKSwgW2Blc3RpbWF0ZUNvbnRyYWN0R2FzYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvZXN0aW1hdGVDb250cmFjdEdhcy5odG1sKSwgZXRjLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGdldENvbnRyYWN0LCBodHRwLCBwYXJzZUFiaSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKlxuICogY29uc3QgcHVibGljQ2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGNvbnRyYWN0ID0gZ2V0Q29udHJhY3Qoe1xuICogICBhZGRyZXNzOiAnMHhGQkEzOTEyQ2EwNGRkNDU4Yzg0M2UyRUUwODk2N2ZDMDRmMzU3OWMyJyxcbiAqICAgYWJpOiBwYXJzZUFiaShbXG4gKiAgICAgJ2Z1bmN0aW9uIGJhbGFuY2VPZihhZGRyZXNzIG93bmVyKSB2aWV3IHJldHVybnMgKHVpbnQyNTYpJyxcbiAqICAgICAnZnVuY3Rpb24gb3duZXJPZih1aW50MjU2IHRva2VuSWQpIHZpZXcgcmV0dXJucyAoYWRkcmVzcyknLFxuICogICAgICdmdW5jdGlvbiB0b3RhbFN1cHBseSgpIHZpZXcgcmV0dXJucyAodWludDI1NiknLFxuICogICBdKSxcbiAqICAgcHVibGljQ2xpZW50LFxuICogfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRyYWN0KHsgYWJpLCBhZGRyZXNzLCBwdWJsaWNDbGllbnQsIHdhbGxldENsaWVudCwgfSkge1xuICAgIGNvbnN0IGhhc1B1YmxpY0NsaWVudCA9IHB1YmxpY0NsaWVudCAhPT0gdW5kZWZpbmVkICYmIHB1YmxpY0NsaWVudCAhPT0gbnVsbDtcbiAgICBjb25zdCBoYXNXYWxsZXRDbGllbnQgPSB3YWxsZXRDbGllbnQgIT09IHVuZGVmaW5lZCAmJiB3YWxsZXRDbGllbnQgIT09IG51bGw7XG4gICAgY29uc3QgY29udHJhY3QgPSB7fTtcbiAgICBsZXQgaGFzUmVhZEZ1bmN0aW9uID0gZmFsc2U7XG4gICAgbGV0IGhhc1dyaXRlRnVuY3Rpb24gPSBmYWxzZTtcbiAgICBsZXQgaGFzRXZlbnQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYWJpKSB7XG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICBpZiAoaXRlbS5zdGF0ZU11dGFiaWxpdHkgPT09ICd2aWV3JyB8fCBpdGVtLnN0YXRlTXV0YWJpbGl0eSA9PT0gJ3B1cmUnKVxuICAgICAgICAgICAgICAgIGhhc1JlYWRGdW5jdGlvbiA9IHRydWU7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgaGFzV3JpdGVGdW5jdGlvbiA9IHRydWU7XG4gICAgICAgIGVsc2UgaWYgKGl0ZW0udHlwZSA9PT0gJ2V2ZW50JylcbiAgICAgICAgICAgIGhhc0V2ZW50ID0gdHJ1ZTtcbiAgICAgICAgLy8gRXhpdCBlYXJseSBpZiBhbGwgZmxhZ3MgYXJlIGB0cnVlYFxuICAgICAgICBpZiAoaGFzUmVhZEZ1bmN0aW9uICYmIGhhc1dyaXRlRnVuY3Rpb24gJiYgaGFzRXZlbnQpXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGhhc1B1YmxpY0NsaWVudCkge1xuICAgICAgICBpZiAoaGFzUmVhZEZ1bmN0aW9uKVxuICAgICAgICAgICAgY29udHJhY3QucmVhZCA9IG5ldyBQcm94eSh7fSwge1xuICAgICAgICAgICAgICAgIGdldChfLCBmdW5jdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGdldEZ1bmN0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWFkQ29udHJhY3QocHVibGljQ2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgaWYgKGhhc1dyaXRlRnVuY3Rpb24pXG4gICAgICAgICAgICBjb250cmFjdC5zaW11bGF0ZSA9IG5ldyBQcm94eSh7fSwge1xuICAgICAgICAgICAgICAgIGdldChfLCBmdW5jdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGdldEZ1bmN0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW11bGF0ZUNvbnRyYWN0KHB1YmxpY0NsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIGlmIChoYXNFdmVudCkge1xuICAgICAgICAgICAgY29udHJhY3QuY3JlYXRlRXZlbnRGaWx0ZXIgPSBuZXcgUHJveHkoe30sIHtcbiAgICAgICAgICAgICAgICBnZXQoXywgZXZlbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoLi4ucGFyYW1ldGVycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWJpRXZlbnQgPSBhYmkuZmluZCgoeCkgPT4geC50eXBlID09PSAnZXZlbnQnICYmIHgubmFtZSA9PT0gZXZlbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgYXJncywgb3B0aW9ucyB9ID0gZ2V0RXZlbnRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMsIGFiaUV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyKHB1YmxpY0NsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb250cmFjdC53YXRjaEV2ZW50ID0gbmV3IFByb3h5KHt9LCB7XG4gICAgICAgICAgICAgICAgZ2V0KF8sIGV2ZW50TmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKC4uLnBhcmFtZXRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFiaUV2ZW50ID0gYWJpLmZpbmQoKHgpID0+IHgudHlwZSA9PT0gJ2V2ZW50JyAmJiB4Lm5hbWUgPT09IGV2ZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGdldEV2ZW50UGFyYW1ldGVycyhwYXJhbWV0ZXJzLCBhYmlFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2F0Y2hDb250cmFjdEV2ZW50KHB1YmxpY0NsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGhhc1dhbGxldENsaWVudCkge1xuICAgICAgICBpZiAoaGFzV3JpdGVGdW5jdGlvbilcbiAgICAgICAgICAgIGNvbnRyYWN0LndyaXRlID0gbmV3IFByb3h5KHt9LCB7XG4gICAgICAgICAgICAgICAgZ2V0KF8sIGZ1bmN0aW9uTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKC4uLnBhcmFtZXRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgYXJncywgb3B0aW9ucyB9ID0gZ2V0RnVuY3Rpb25QYXJhbWV0ZXJzKHBhcmFtZXRlcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyaXRlQ29udHJhY3Qod2FsbGV0Q2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGhhc1B1YmxpY0NsaWVudCB8fCBoYXNXYWxsZXRDbGllbnQpXG4gICAgICAgIGlmIChoYXNXcml0ZUZ1bmN0aW9uKVxuICAgICAgICAgICAgY29udHJhY3QuZXN0aW1hdGVHYXMgPSBuZXcgUHJveHkoe30sIHtcbiAgICAgICAgICAgICAgICBnZXQoXywgZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoLi4ucGFyYW1ldGVycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBhcmdzLCBvcHRpb25zIH0gPSBnZXRGdW5jdGlvblBhcmFtZXRlcnMocGFyYW1ldGVycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGllbnQgPSAocHVibGljQ2xpZW50ID8/IHdhbGxldENsaWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXN0aW1hdGVDb250cmFjdEdhcyhjbGllbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnQ6IG9wdGlvbnMuYWNjb3VudCA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWxsZXRDbGllbnQuYWNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICBjb250cmFjdC5hZGRyZXNzID0gYWRkcmVzcztcbiAgICBjb250cmFjdC5hYmkgPSBhYmk7XG4gICAgcmV0dXJuIGNvbnRyYWN0O1xufVxuLyoqXG4gKiBAaW50ZXJuYWwgZXhwb3J0aW5nIGZvciB0ZXN0aW5nIG9ubHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1bmN0aW9uUGFyYW1ldGVycyh2YWx1ZXMpIHtcbiAgICBjb25zdCBoYXNBcmdzID0gdmFsdWVzLmxlbmd0aCAmJiBBcnJheS5pc0FycmF5KHZhbHVlc1swXSk7XG4gICAgY29uc3QgYXJncyA9IGhhc0FyZ3MgPyB2YWx1ZXNbMF0gOiBbXTtcbiAgICBjb25zdCBvcHRpb25zID0gKGhhc0FyZ3MgPyB2YWx1ZXNbMV0gOiB2YWx1ZXNbMF0pID8/IHt9O1xuICAgIHJldHVybiB7IGFyZ3MsIG9wdGlvbnMgfTtcbn1cbi8qKlxuICogQGludGVybmFsIGV4cG9ydGluZyBmb3IgdGVzdGluZyBvbmx5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFdmVudFBhcmFtZXRlcnModmFsdWVzLCBhYmlFdmVudCkge1xuICAgIGxldCBoYXNBcmdzID0gZmFsc2U7XG4gICAgLy8gSWYgZmlyc3QgaXRlbSBpcyBhcnJheSwgbXVzdCBiZSBgYXJnc2BcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXNbMF0pKVxuICAgICAgICBoYXNBcmdzID0gdHJ1ZTtcbiAgICAvLyBDaGVjayBpZiBmaXJzdCBpdGVtIGlzIGBhcmdzYCBvciBgb3B0aW9uc2BcbiAgICBlbHNlIGlmICh2YWx1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIC8vIGlmIGV2ZW50IGhhcyBpbmRleGVkIGlucHV0cywgbXVzdCBoYXZlIGBhcmdzYFxuICAgICAgICBoYXNBcmdzID0gYWJpRXZlbnQuaW5wdXRzLnNvbWUoKHgpID0+IHguaW5kZXhlZCk7XG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSB0d28gaXRlbXMgaW4gYXJyYXksIG11c3QgaGF2ZSBgYXJnc2BcbiAgICB9XG4gICAgZWxzZSBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBoYXNBcmdzID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgYXJncyA9IGhhc0FyZ3MgPyB2YWx1ZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgb3B0aW9ucyA9IChoYXNBcmdzID8gdmFsdWVzWzFdIDogdmFsdWVzWzBdKSA/PyB7fTtcbiAgICByZXR1cm4geyBhcmdzLCBvcHRpb25zIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRDb250cmFjdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/getContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/call.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/call.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ call: function() { return /* binding */ call; },\n/* harmony export */ getRevertErrorData: function() { return /* binding */ getRevertErrorData; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _constants_abis_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/esm/constants/abis.js\");\n/* harmony import */ var _constants_contract_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../constants/contract.js */ \"./node_modules/viem/dist/esm/constants/contract.js\");\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _errors_chain_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../errors/chain.js */ \"./node_modules/viem/dist/esm/errors/chain.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_errors_getCallError_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/errors/getCallError.js */ \"./node_modules/viem/dist/esm/utils/errors/getCallError.js\");\n/* harmony import */ var _utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/esm/utils/formatters/extract.js\");\n/* harmony import */ var _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n/* harmony import */ var _utils_promise_createBatchScheduler_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/promise/createBatchScheduler.js */ \"./node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js\");\n/* harmony import */ var _utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Executes a new message call immediately without submitting a transaction to the network.\n *\n * - Docs: https://viem.sh/docs/actions/public/call.html\n * - JSON-RPC Methods: [`eth_call`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_call)\n *\n * @param client - Client to use\n * @param parameters - {@link CallParameters}\n * @returns The call data. {@link CallReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { call } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const data = await call(client, {\n * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * data: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * })\n */\nasync function call(client, args) {\n const { account: account_, batch = Boolean(client.batch?.multicall), blockNumber, blockTag = 'latest', accessList, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n const account = account_ ? (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_0__.parseAccount)(account_) : undefined;\n try {\n (0,_utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_1__.assertRequest)(args);\n const blockNumberHex = blockNumber ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const format = client.chain?.formatters?.transactionRequest?.format ||\n _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_3__.formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...(0,_utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_4__.extract)(rest, { format }),\n from: account?.address,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n if (batch && shouldPerformMulticall({ request })) {\n try {\n return await scheduleMulticall(client, {\n ...request,\n blockNumber,\n blockTag,\n });\n }\n catch (err) {\n if (!(err instanceof _errors_chain_js__WEBPACK_IMPORTED_MODULE_5__.ClientChainNotConfiguredError) &&\n !(err instanceof _errors_chain_js__WEBPACK_IMPORTED_MODULE_5__.ChainDoesNotSupportContract))\n throw err;\n }\n }\n const response = await client.request({\n method: 'eth_call',\n params: block\n ? [request, block]\n : [request],\n });\n if (response === '0x')\n return { data: undefined };\n return { data: response };\n }\n catch (err) {\n const data = getRevertErrorData(err);\n const { offchainLookup, offchainLookupSignature } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ../../utils/ccip.js */ \"./node_modules/viem/dist/esm/utils/ccip.js\"));\n if (data?.slice(0, 10) === offchainLookupSignature && to) {\n return { data: await offchainLookup(client, { data, to }) };\n }\n throw (0,_utils_errors_getCallError_js__WEBPACK_IMPORTED_MODULE_6__.getCallError)(err, {\n ...args,\n account,\n chain: client.chain,\n });\n }\n}\n// We only want to perform a scheduled multicall if:\n// - The request has calldata,\n// - The request has a target address,\n// - The target address is not already the aggregate3 signature,\n// - The request has no other properties (`nonce`, `gas`, etc cannot be sent with a multicall).\nfunction shouldPerformMulticall({ request }) {\n const { data, to, ...request_ } = request;\n if (!data)\n return false;\n if (data.startsWith(_constants_contract_js__WEBPACK_IMPORTED_MODULE_7__.aggregate3Signature))\n return false;\n if (!to)\n return false;\n if (Object.values(request_).filter((x) => typeof x !== 'undefined').length > 0)\n return false;\n return true;\n}\nasync function scheduleMulticall(client, args) {\n const { batchSize = 1024, wait = 0 } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};\n const { blockNumber, blockTag = 'latest', data, multicallAddress: multicallAddress_, to, } = args;\n let multicallAddress = multicallAddress_;\n if (!multicallAddress) {\n if (!client.chain)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_5__.ClientChainNotConfiguredError();\n multicallAddress = (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_8__.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'multicall3',\n });\n }\n const blockNumberHex = blockNumber ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const { schedule } = (0,_utils_promise_createBatchScheduler_js__WEBPACK_IMPORTED_MODULE_9__.createBatchScheduler)({\n id: `${client.uid}.${block}`,\n wait,\n shouldSplitBatch(args) {\n const size = args.reduce((size, { data }) => size + (data.length - 2), 0);\n return size > batchSize * 2;\n },\n fn: async (requests) => {\n const calls = requests.map((request) => ({\n allowFailure: true,\n callData: request.data,\n target: request.to,\n }));\n const calldata = (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_10__.encodeFunctionData)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_11__.multicall3Abi,\n args: [calls],\n functionName: 'aggregate3',\n });\n const data = await client.request({\n method: 'eth_call',\n params: [\n {\n data: calldata,\n to: multicallAddress,\n },\n block,\n ],\n });\n return (0,_utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_12__.decodeFunctionResult)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_11__.multicall3Abi,\n args: [calls],\n functionName: 'aggregate3',\n data: data || '0x',\n });\n },\n });\n const [{ returnData, success }] = await schedule({ data, to });\n if (!success)\n throw new _errors_contract_js__WEBPACK_IMPORTED_MODULE_13__.RawContractError({ data: returnData });\n if (returnData === '0x')\n return { data: undefined };\n return { data: returnData };\n}\nfunction getRevertErrorData(err) {\n if (!(err instanceof _errors_base_js__WEBPACK_IMPORTED_MODULE_14__.BaseError))\n return undefined;\n const error = err.walk();\n return typeof error.data === 'object' ? error.data.data : error.data;\n}\n//# sourceMappingURL=call.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9jYWxsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW9FO0FBQ1o7QUFDVTtBQUNqQjtBQUNtRDtBQUN4QztBQUNtQjtBQUNKO0FBQ1o7QUFDSDtBQUNNO0FBQ047QUFDNkI7QUFDTjtBQUNWO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPO0FBQ1AsWUFBWSxnTUFBZ007QUFDNU0sK0JBQStCLDZFQUFZO0FBQzNDO0FBQ0EsUUFBUSxrRkFBYTtBQUNyQiw2Q0FBNkMscUVBQVc7QUFDeEQ7QUFDQTtBQUNBLFlBQVksNkZBQXdCO0FBQ3BDO0FBQ0E7QUFDQSxlQUFlLHFFQUFPLFNBQVMsUUFBUTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCw4Q0FBOEMsU0FBUztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxxQ0FBcUMsMkVBQTZCO0FBQ2xFLHFDQUFxQyx5RUFBMkI7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDBDQUEwQyxRQUFRLDZKQUE2QjtBQUMvRjtBQUNBLHFCQUFxQixxQ0FBcUMsVUFBVTtBQUNwRTtBQUNBLGNBQWMsMkVBQVk7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLFNBQVM7QUFDM0MsWUFBWSx3QkFBd0I7QUFDcEM7QUFDQTtBQUNBLHdCQUF3Qix1RUFBbUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksbUZBQW1GO0FBQy9GO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwyRUFBNkI7QUFDbkQsMkJBQTJCLHdFQUF1QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSx5Q0FBeUMscUVBQVc7QUFDcEQ7QUFDQSxZQUFZLFdBQVcsRUFBRSw0RkFBb0I7QUFDN0MsZUFBZSxXQUFXLEdBQUcsTUFBTTtBQUNuQztBQUNBO0FBQ0EsOENBQThDLE1BQU07QUFDcEQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYiw2QkFBNkIscUZBQWtCO0FBQy9DLHFCQUFxQiw4REFBYTtBQUNsQztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsYUFBYTtBQUNiLG1CQUFtQix5RkFBb0I7QUFDdkMscUJBQXFCLDhEQUFhO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1QsS0FBSztBQUNMLGFBQWEscUJBQXFCLHFCQUFxQixVQUFVO0FBQ2pFO0FBQ0Esa0JBQWtCLGtFQUFnQixHQUFHLGtCQUFrQjtBQUN2RDtBQUNBLGlCQUFpQjtBQUNqQixhQUFhO0FBQ2I7QUFDTztBQUNQLHlCQUF5Qix1REFBUztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2NhbGwuanM/MmUwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFjY291bnQgfSBmcm9tICcuLi8uLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanMnO1xuaW1wb3J0IHsgbXVsdGljYWxsM0FiaSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hYmlzLmpzJztcbmltcG9ydCB7IGFnZ3JlZ2F0ZTNTaWduYXR1cmUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29udHJhY3QuanMnO1xuaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2Jhc2UuanMnO1xuaW1wb3J0IHsgQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0LCBDbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvciwgfSBmcm9tICcuLi8uLi9lcnJvcnMvY2hhaW4uanMnO1xuaW1wb3J0IHsgUmF3Q29udHJhY3RFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9jb250cmFjdC5qcyc7XG5pbXBvcnQgeyBkZWNvZGVGdW5jdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qcyc7XG5pbXBvcnQgeyBlbmNvZGVGdW5jdGlvbkRhdGEgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzJztcbmltcG9ydCB7IGdldENoYWluQ29udHJhY3RBZGRyZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2hhaW4uanMnO1xuaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBnZXRDYWxsRXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9lcnJvcnMvZ2V0Q2FsbEVycm9yLmpzJztcbmltcG9ydCB7IGV4dHJhY3QgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanMnO1xuaW1wb3J0IHsgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0LCB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZXF1ZXN0LmpzJztcbmltcG9ydCB7IGNyZWF0ZUJhdGNoU2NoZWR1bGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvbWlzZS9jcmVhdGVCYXRjaFNjaGVkdWxlci5qcyc7XG5pbXBvcnQgeyBhc3NlcnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvdHJhbnNhY3Rpb24vYXNzZXJ0UmVxdWVzdC5qcyc7XG4vKipcbiAqIEV4ZWN1dGVzIGEgbmV3IG1lc3NhZ2UgY2FsbCBpbW1lZGlhdGVseSB3aXRob3V0IHN1Ym1pdHRpbmcgYSB0cmFuc2FjdGlvbiB0byB0aGUgbmV0d29yay5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2NhbGwuaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9jYWxsYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9jYWxsKVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBDYWxsUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIFRoZSBjYWxsIGRhdGEuIHtAbGluayBDYWxsUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGNhbGwgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgZGF0YSA9IGF3YWl0IGNhbGwoY2xpZW50LCB7XG4gKiAgIGFjY291bnQ6ICcweGYzOWZkNmU1MWFhZDg4ZjZmNGNlNmFiODgyNzI3OWNmZmZiOTIyNjYnLFxuICogICBkYXRhOiAnMHhjMDJhYWEzOWIyMjNmZThkMGEwZTVjNGYyN2VhZDkwODNjNzU2Y2MyJyxcbiAqICAgdG86ICcweDcwOTk3OTcwYzUxODEyZGMzYTAxMGM3ZDAxYjUwZTBkMTdkYzc5YzgnLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNhbGwoY2xpZW50LCBhcmdzKSB7XG4gICAgY29uc3QgeyBhY2NvdW50OiBhY2NvdW50XywgYmF0Y2ggPSBCb29sZWFuKGNsaWVudC5iYXRjaD8ubXVsdGljYWxsKSwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnID0gJ2xhdGVzdCcsIGFjY2Vzc0xpc3QsIGRhdGEsIGdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIG5vbmNlLCB0bywgdmFsdWUsIC4uLnJlc3QgfSA9IGFyZ3M7XG4gICAgY29uc3QgYWNjb3VudCA9IGFjY291bnRfID8gcGFyc2VBY2NvdW50KGFjY291bnRfKSA6IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgICBhc3NlcnRSZXF1ZXN0KGFyZ3MpO1xuICAgICAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyID8gbnVtYmVyVG9IZXgoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBibG9jayA9IGJsb2NrTnVtYmVySGV4IHx8IGJsb2NrVGFnO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBjbGllbnQuY2hhaW4/LmZvcm1hdHRlcnM/LnRyYW5zYWN0aW9uUmVxdWVzdD8uZm9ybWF0IHx8XG4gICAgICAgICAgICBmb3JtYXRUcmFuc2FjdGlvblJlcXVlc3Q7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBmb3JtYXQoe1xuICAgICAgICAgICAgLy8gUGljayBvdXQgZXh0cmEgZGF0YSB0aGF0IG1pZ2h0IGV4aXN0IG9uIHRoZSBjaGFpbidzIHRyYW5zYWN0aW9uIHJlcXVlc3QgdHlwZS5cbiAgICAgICAgICAgIC4uLmV4dHJhY3QocmVzdCwgeyBmb3JtYXQgfSksXG4gICAgICAgICAgICBmcm9tOiBhY2NvdW50Py5hZGRyZXNzLFxuICAgICAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGJhdGNoICYmIHNob3VsZFBlcmZvcm1NdWx0aWNhbGwoeyByZXF1ZXN0IH0pKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZU11bHRpY2FsbChjbGllbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrVGFnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmICghKGVyciBpbnN0YW5jZW9mIENsaWVudENoYWluTm90Q29uZmlndXJlZEVycm9yKSAmJlxuICAgICAgICAgICAgICAgICAgICAhKGVyciBpbnN0YW5jZW9mIENoYWluRG9lc05vdFN1cHBvcnRDb250cmFjdCkpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V0aF9jYWxsJyxcbiAgICAgICAgICAgIHBhcmFtczogYmxvY2tcbiAgICAgICAgICAgICAgICA/IFtyZXF1ZXN0LCBibG9ja11cbiAgICAgICAgICAgICAgICA6IFtyZXF1ZXN0XSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZSA9PT0gJzB4JylcbiAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IHVuZGVmaW5lZCB9O1xuICAgICAgICByZXR1cm4geyBkYXRhOiByZXNwb25zZSB9O1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBnZXRSZXZlcnRFcnJvckRhdGEoZXJyKTtcbiAgICAgICAgY29uc3QgeyBvZmZjaGFpbkxvb2t1cCwgb2ZmY2hhaW5Mb29rdXBTaWduYXR1cmUgfSA9IGF3YWl0IGltcG9ydCgnLi4vLi4vdXRpbHMvY2NpcC5qcycpO1xuICAgICAgICBpZiAoZGF0YT8uc2xpY2UoMCwgMTApID09PSBvZmZjaGFpbkxvb2t1cFNpZ25hdHVyZSAmJiB0bykge1xuICAgICAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgb2ZmY2hhaW5Mb29rdXAoY2xpZW50LCB7IGRhdGEsIHRvIH0pIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZ2V0Q2FsbEVycm9yKGVyciwge1xuICAgICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICAgIGFjY291bnQsXG4gICAgICAgICAgICBjaGFpbjogY2xpZW50LmNoYWluLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyBXZSBvbmx5IHdhbnQgdG8gcGVyZm9ybSBhIHNjaGVkdWxlZCBtdWx0aWNhbGwgaWY6XG4vLyAtIFRoZSByZXF1ZXN0IGhhcyBjYWxsZGF0YSxcbi8vIC0gVGhlIHJlcXVlc3QgaGFzIGEgdGFyZ2V0IGFkZHJlc3MsXG4vLyAtIFRoZSB0YXJnZXQgYWRkcmVzcyBpcyBub3QgYWxyZWFkeSB0aGUgYWdncmVnYXRlMyBzaWduYXR1cmUsXG4vLyAtIFRoZSByZXF1ZXN0IGhhcyBubyBvdGhlciBwcm9wZXJ0aWVzIChgbm9uY2VgLCBgZ2FzYCwgZXRjIGNhbm5vdCBiZSBzZW50IHdpdGggYSBtdWx0aWNhbGwpLlxuZnVuY3Rpb24gc2hvdWxkUGVyZm9ybU11bHRpY2FsbCh7IHJlcXVlc3QgfSkge1xuICAgIGNvbnN0IHsgZGF0YSwgdG8sIC4uLnJlcXVlc3RfIH0gPSByZXF1ZXN0O1xuICAgIGlmICghZGF0YSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChkYXRhLnN0YXJ0c1dpdGgoYWdncmVnYXRlM1NpZ25hdHVyZSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIXRvKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKE9iamVjdC52YWx1ZXMocmVxdWVzdF8pLmZpbHRlcigoeCkgPT4gdHlwZW9mIHggIT09ICd1bmRlZmluZWQnKS5sZW5ndGggPiAwKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG59XG5hc3luYyBmdW5jdGlvbiBzY2hlZHVsZU11bHRpY2FsbChjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGJhdGNoU2l6ZSA9IDEwMjQsIHdhaXQgPSAwIH0gPSB0eXBlb2YgY2xpZW50LmJhdGNoPy5tdWx0aWNhbGwgPT09ICdvYmplY3QnID8gY2xpZW50LmJhdGNoLm11bHRpY2FsbCA6IHt9O1xuICAgIGNvbnN0IHsgYmxvY2tOdW1iZXIsIGJsb2NrVGFnID0gJ2xhdGVzdCcsIGRhdGEsIG11bHRpY2FsbEFkZHJlc3M6IG11bHRpY2FsbEFkZHJlc3NfLCB0bywgfSA9IGFyZ3M7XG4gICAgbGV0IG11bHRpY2FsbEFkZHJlc3MgPSBtdWx0aWNhbGxBZGRyZXNzXztcbiAgICBpZiAoIW11bHRpY2FsbEFkZHJlc3MpIHtcbiAgICAgICAgaWYgKCFjbGllbnQuY2hhaW4pXG4gICAgICAgICAgICB0aHJvdyBuZXcgQ2xpZW50Q2hhaW5Ob3RDb25maWd1cmVkRXJyb3IoKTtcbiAgICAgICAgbXVsdGljYWxsQWRkcmVzcyA9IGdldENoYWluQ29udHJhY3RBZGRyZXNzKHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgY2hhaW46IGNsaWVudC5jaGFpbixcbiAgICAgICAgICAgIGNvbnRyYWN0OiAnbXVsdGljYWxsMycsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyID8gbnVtYmVyVG9IZXgoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGJsb2NrID0gYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWc7XG4gICAgY29uc3QgeyBzY2hlZHVsZSB9ID0gY3JlYXRlQmF0Y2hTY2hlZHVsZXIoe1xuICAgICAgICBpZDogYCR7Y2xpZW50LnVpZH0uJHtibG9ja31gLFxuICAgICAgICB3YWl0LFxuICAgICAgICBzaG91bGRTcGxpdEJhdGNoKGFyZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHNpemUgPSBhcmdzLnJlZHVjZSgoc2l6ZSwgeyBkYXRhIH0pID0+IHNpemUgKyAoZGF0YS5sZW5ndGggLSAyKSwgMCk7XG4gICAgICAgICAgICByZXR1cm4gc2l6ZSA+IGJhdGNoU2l6ZSAqIDI7XG4gICAgICAgIH0sXG4gICAgICAgIGZuOiBhc3luYyAocmVxdWVzdHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxzID0gcmVxdWVzdHMubWFwKChyZXF1ZXN0KSA9PiAoe1xuICAgICAgICAgICAgICAgIGFsbG93RmFpbHVyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjYWxsRGF0YTogcmVxdWVzdC5kYXRhLFxuICAgICAgICAgICAgICAgIHRhcmdldDogcmVxdWVzdC50byxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxkYXRhID0gZW5jb2RlRnVuY3Rpb25EYXRhKHtcbiAgICAgICAgICAgICAgICBhYmk6IG11bHRpY2FsbDNBYmksXG4gICAgICAgICAgICAgICAgYXJnczogW2NhbGxzXSxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWU6ICdhZ2dyZWdhdGUzJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdldGhfY2FsbCcsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGNhbGxkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG86IG11bHRpY2FsbEFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBkZWNvZGVGdW5jdGlvblJlc3VsdCh7XG4gICAgICAgICAgICAgICAgYWJpOiBtdWx0aWNhbGwzQWJpLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFtjYWxsc10sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lOiAnYWdncmVnYXRlMycsXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSB8fCAnMHgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgW3sgcmV0dXJuRGF0YSwgc3VjY2VzcyB9XSA9IGF3YWl0IHNjaGVkdWxlKHsgZGF0YSwgdG8gfSk7XG4gICAgaWYgKCFzdWNjZXNzKVxuICAgICAgICB0aHJvdyBuZXcgUmF3Q29udHJhY3RFcnJvcih7IGRhdGE6IHJldHVybkRhdGEgfSk7XG4gICAgaWYgKHJldHVybkRhdGEgPT09ICcweCcpXG4gICAgICAgIHJldHVybiB7IGRhdGE6IHVuZGVmaW5lZCB9O1xuICAgIHJldHVybiB7IGRhdGE6IHJldHVybkRhdGEgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXZlcnRFcnJvckRhdGEoZXJyKSB7XG4gICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgQmFzZUVycm9yKSlcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBlcnJvciA9IGVyci53YWxrKCk7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnJvci5kYXRhID09PSAnb2JqZWN0JyA/IGVycm9yLmRhdGEuZGF0YSA6IGVycm9yLmRhdGE7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jYWxsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/call.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/createBlockFilter.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/createBlockFilter.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createBlockFilter: function() { return /* binding */ createBlockFilter; }\n/* harmony export */ });\n/* harmony import */ var _utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js\");\n\n/**\n * Creates a [`Filter`](https://viem.sh/docs/glossary/types.html#filter) to listen for new block hashes that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).\n *\n * - Docs: https://viem.sh/docs/actions/public/createBlockFilter.html\n * - JSON-RPC Methods: [`eth_newBlockFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newBlockFilter)\n *\n * @param client - Client to use\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateBlockFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createBlockFilter } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createBlockFilter(client)\n * // { id: \"0x345a6572337856574a76364e457a4366\", type: 'block' }\n */\nasync function createBlockFilter(client) {\n const getRequest = (0,_utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__.createFilterRequestScope)(client, {\n method: 'eth_newBlockFilter',\n });\n const id = await client.request({\n method: 'eth_newBlockFilter',\n });\n return { id, request: getRequest(id), type: 'block' };\n}\n//# sourceMappingURL=createBlockFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9jcmVhdGVCbG9ja0ZpbHRlci5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUEyRjtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsUUFBUTtBQUNSO0FBQ087QUFDUCx1QkFBdUIsb0dBQXdCO0FBQy9DO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsYUFBYTtBQUNiO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvY3JlYXRlQmxvY2tGaWx0ZXIuanM/ODU4OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUgfSBmcm9tICcuLi8uLi91dGlscy9maWx0ZXJzL2NyZWF0ZUZpbHRlclJlcXVlc3RTY29wZS5qcyc7XG4vKipcbiAqIENyZWF0ZXMgYSBbYEZpbHRlcmBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2dsb3NzYXJ5L3R5cGVzLmh0bWwjZmlsdGVyKSB0byBsaXN0ZW4gZm9yIG5ldyBibG9jayBoYXNoZXMgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIFtgZ2V0RmlsdGVyQ2hhbmdlc2BdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldEZpbHRlckNoYW5nZXMuaHRtbCkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVCbG9ja0ZpbHRlci5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX25ld0Jsb2NrRmlsdGVyYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9uZXdCbG9ja0ZpbHRlcilcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHJldHVybnMgW2BGaWx0ZXJgXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90eXBlcy5odG1sI2ZpbHRlcikuIHtAbGluayBDcmVhdGVCbG9ja0ZpbHRlclJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBjcmVhdGVCbG9ja0ZpbHRlciB9IGZyb20gJ3ZpZW0vcHVibGljJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBmaWx0ZXIgPSBhd2FpdCBjcmVhdGVCbG9ja0ZpbHRlcihjbGllbnQpXG4gKiAvLyB7IGlkOiBcIjB4MzQ1YTY1NzIzMzc4NTY1NzRhNzYzNjRlNDU3YTQzNjZcIiwgdHlwZTogJ2Jsb2NrJyB9XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVCbG9ja0ZpbHRlcihjbGllbnQpIHtcbiAgICBjb25zdCBnZXRSZXF1ZXN0ID0gY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlKGNsaWVudCwge1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3QmxvY2tGaWx0ZXInLFxuICAgIH0pO1xuICAgIGNvbnN0IGlkID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3QmxvY2tGaWx0ZXInLFxuICAgIH0pO1xuICAgIHJldHVybiB7IGlkLCByZXF1ZXN0OiBnZXRSZXF1ZXN0KGlkKSwgdHlwZTogJ2Jsb2NrJyB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlQmxvY2tGaWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/createBlockFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/createContractEventFilter.js": -/*!********************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/createContractEventFilter.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createContractEventFilter: function() { return /* binding */ createContractEventFilter; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js\");\n\n\n\n/**\n * Creates a Filter to retrieve event logs that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html) or [`getFilterLogs`](https://viem.sh/docs/actions/public/getFilterLogs.html).\n *\n * - Docs: https://viem.sh/docs/contract/createContractEventFilter.html\n *\n * @param client - Client to use\n * @param parameters - {@link CreateContractEventFilterParameters}\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateContractEventFilterReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createContractEventFilter } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createContractEventFilter(client, {\n * abi: parseAbi(['event Transfer(address indexed, address indexed, uint256)']),\n * })\n */\nasync function createContractEventFilter(client, { address, abi, args, eventName, fromBlock, strict, toBlock, }) {\n const getRequest = (0,_utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__.createFilterRequestScope)(client, {\n method: 'eth_newFilter',\n });\n const topics = eventName\n ? (0,_utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_1__.encodeEventTopics)({\n abi,\n args,\n eventName,\n })\n : undefined;\n const id = await client.request({\n method: 'eth_newFilter',\n params: [\n {\n address,\n fromBlock: typeof fromBlock === 'bigint' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(toBlock) : toBlock,\n topics,\n },\n ],\n });\n return {\n abi,\n args,\n eventName,\n id,\n request: getRequest(id),\n strict,\n type: 'event',\n };\n}\n//# sourceMappingURL=createContractEventFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBMEU7QUFDZDtBQUMrQjtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQSxZQUFZLHFDQUFxQztBQUNqRCxZQUFZLFVBQVU7QUFDdEIsWUFBWSw0QkFBNEI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLG1EQUFtRCw0REFBNEQ7QUFDdEgsdUJBQXVCLG9HQUF3QjtBQUMvQztBQUNBLEtBQUs7QUFDTDtBQUNBLFVBQVUsa0ZBQWlCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQscUVBQVc7QUFDdEUsdURBQXVELHFFQUFXO0FBQ2xFO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlci5qcz9mYmEyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuY29kZUV2ZW50VG9waWNzLCB9IGZyb20gJy4uLy4uL3V0aWxzL2FiaS9lbmNvZGVFdmVudFRvcGljcy5qcyc7XG5pbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbmltcG9ydCB7IGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZSB9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbHRlcnMvY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzJztcbi8qKlxuICogQ3JlYXRlcyBhIEZpbHRlciB0byByZXRyaWV2ZSBldmVudCBsb2dzIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBbYGdldEZpbHRlckNoYW5nZXNgXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmh0bWwpIG9yIFtgZ2V0RmlsdGVyTG9nc2BdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldEZpbHRlckxvZ3MuaHRtbCkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgQ3JlYXRlQ29udHJhY3RFdmVudEZpbHRlclBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBbYEZpbHRlcmBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2dsb3NzYXJ5L3R5cGVzLmh0bWwjZmlsdGVyKS4ge0BsaW5rIENyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXJSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAsIHBhcnNlQWJpIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBmaWx0ZXIgPSBhd2FpdCBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyKGNsaWVudCwge1xuICogICBhYmk6IHBhcnNlQWJpKFsnZXZlbnQgVHJhbnNmZXIoYWRkcmVzcyBpbmRleGVkLCBhZGRyZXNzIGluZGV4ZWQsIHVpbnQyNTYpJ10pLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIoY2xpZW50LCB7IGFkZHJlc3MsIGFiaSwgYXJncywgZXZlbnROYW1lLCBmcm9tQmxvY2ssIHN0cmljdCwgdG9CbG9jaywgfSkge1xuICAgIGNvbnN0IGdldFJlcXVlc3QgPSBjcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUoY2xpZW50LCB7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9uZXdGaWx0ZXInLFxuICAgIH0pO1xuICAgIGNvbnN0IHRvcGljcyA9IGV2ZW50TmFtZVxuICAgICAgICA/IGVuY29kZUV2ZW50VG9waWNzKHtcbiAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGlkID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3RmlsdGVyJyxcbiAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBmcm9tQmxvY2s6IHR5cGVvZiBmcm9tQmxvY2sgPT09ICdiaWdpbnQnID8gbnVtYmVyVG9IZXgoZnJvbUJsb2NrKSA6IGZyb21CbG9jayxcbiAgICAgICAgICAgICAgICB0b0Jsb2NrOiB0eXBlb2YgdG9CbG9jayA9PT0gJ2JpZ2ludCcgPyBudW1iZXJUb0hleCh0b0Jsb2NrKSA6IHRvQmxvY2ssXG4gICAgICAgICAgICAgICAgdG9waWNzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgaWQsXG4gICAgICAgIHJlcXVlc3Q6IGdldFJlcXVlc3QoaWQpLFxuICAgICAgICBzdHJpY3QsXG4gICAgICAgIHR5cGU6ICdldmVudCcsXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/createContractEventFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/createEventFilter.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/createEventFilter.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createEventFilter: function() { return /* binding */ createEventFilter; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js\");\n\n\n\n/**\n * Creates a [`Filter`](https://viem.sh/docs/glossary/types.html#filter) to listen for new events that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).\n *\n * - Docs: https://viem.sh/docs/actions/public/createEventFilter.html\n * - JSON-RPC Methods: [`eth_newFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter)\n *\n * @param client - Client to use\n * @param parameters - {@link CreateEventFilterParameters}\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateEventFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createEventFilter } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createEventFilter(client, {\n * address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',\n * })\n */\nasync function createEventFilter(client, { address, args, event, fromBlock, strict, toBlock, } = {}) {\n const getRequest = (0,_utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__.createFilterRequestScope)(client, {\n method: 'eth_newFilter',\n });\n let topics = [];\n if (event)\n topics = (0,_utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_1__.encodeEventTopics)({\n abi: [event],\n eventName: event.name,\n args,\n });\n const id = await client.request({\n method: 'eth_newFilter',\n params: [\n {\n address,\n fromBlock: typeof fromBlock === 'bigint' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(toBlock) : toBlock,\n ...(topics.length ? { topics } : {}),\n },\n ],\n });\n return {\n abi: event ? [event] : undefined,\n args,\n eventName: event ? event.name : undefined,\n id,\n request: getRequest(id),\n strict,\n type: 'event',\n };\n}\n//# sourceMappingURL=createEventFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9jcmVhdGVFdmVudEZpbHRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTBFO0FBQ2Q7QUFDK0I7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxvQkFBb0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLDJDQUEyQyxvREFBb0QsSUFBSTtBQUMxRyx1QkFBdUIsb0dBQXdCO0FBQy9DO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxpQkFBaUIsa0ZBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELHFFQUFXO0FBQ3RFLHVEQUF1RCxxRUFBVztBQUNsRSxzQ0FBc0MsU0FBUyxJQUFJO0FBQ25ELGFBQWE7QUFDYjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2NyZWF0ZUV2ZW50RmlsdGVyLmpzP2Q3MjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5jb2RlRXZlbnRUb3BpY3MsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2VuY29kZUV2ZW50VG9waWNzLmpzJztcbmltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsdGVycy9jcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUuanMnO1xuLyoqXG4gKiBDcmVhdGVzIGEgW2BGaWx0ZXJgXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90eXBlcy5odG1sI2ZpbHRlcikgdG8gbGlzdGVuIGZvciBuZXcgZXZlbnRzIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBbYGdldEZpbHRlckNoYW5nZXNgXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmh0bWwpLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvY3JlYXRlRXZlbnRGaWx0ZXIuaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9uZXdGaWx0ZXJgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX25ld2ZpbHRlcilcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgQ3JlYXRlRXZlbnRGaWx0ZXJQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgW2BGaWx0ZXJgXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90eXBlcy5odG1sI2ZpbHRlcikuIHtAbGluayBDcmVhdGVFdmVudEZpbHRlclJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBjcmVhdGVFdmVudEZpbHRlciB9IGZyb20gJ3ZpZW0vcHVibGljJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBmaWx0ZXIgPSBhd2FpdCBjcmVhdGVFdmVudEZpbHRlcihjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4ZmJhMzkxMmNhMDRkZDQ1OGM4NDNlMmVlMDg5NjdmYzA0ZjM1NzljMicsXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlRXZlbnRGaWx0ZXIoY2xpZW50LCB7IGFkZHJlc3MsIGFyZ3MsIGV2ZW50LCBmcm9tQmxvY2ssIHN0cmljdCwgdG9CbG9jaywgfSA9IHt9KSB7XG4gICAgY29uc3QgZ2V0UmVxdWVzdCA9IGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZShjbGllbnQsIHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX25ld0ZpbHRlcicsXG4gICAgfSk7XG4gICAgbGV0IHRvcGljcyA9IFtdO1xuICAgIGlmIChldmVudClcbiAgICAgICAgdG9waWNzID0gZW5jb2RlRXZlbnRUb3BpY3Moe1xuICAgICAgICAgICAgYWJpOiBbZXZlbnRdLFxuICAgICAgICAgICAgZXZlbnROYW1lOiBldmVudC5uYW1lLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgaWQgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9uZXdGaWx0ZXInLFxuICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgIGZyb21CbG9jazogdHlwZW9mIGZyb21CbG9jayA9PT0gJ2JpZ2ludCcgPyBudW1iZXJUb0hleChmcm9tQmxvY2spIDogZnJvbUJsb2NrLFxuICAgICAgICAgICAgICAgIHRvQmxvY2s6IHR5cGVvZiB0b0Jsb2NrID09PSAnYmlnaW50JyA/IG51bWJlclRvSGV4KHRvQmxvY2spIDogdG9CbG9jayxcbiAgICAgICAgICAgICAgICAuLi4odG9waWNzLmxlbmd0aCA/IHsgdG9waWNzIH0gOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFiaTogZXZlbnQgPyBbZXZlbnRdIDogdW5kZWZpbmVkLFxuICAgICAgICBhcmdzLFxuICAgICAgICBldmVudE5hbWU6IGV2ZW50ID8gZXZlbnQubmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaWQsXG4gICAgICAgIHJlcXVlc3Q6IGdldFJlcXVlc3QoaWQpLFxuICAgICAgICBzdHJpY3QsXG4gICAgICAgIHR5cGU6ICdldmVudCcsXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZUV2ZW50RmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/createEventFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/createPendingTransactionFilter.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/createPendingTransactionFilter.js ***! - \*************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPendingTransactionFilter: function() { return /* binding */ createPendingTransactionFilter; }\n/* harmony export */ });\n/* harmony import */ var _utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/filters/createFilterRequestScope.js */ \"./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js\");\n\n/**\n * Creates a Filter to listen for new pending transaction hashes that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).\n *\n * - Docs: https://viem.sh/docs/actions/public/createPendingTransactionFilter.html\n * - JSON-RPC Methods: [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter)\n *\n * @param client - Client to use\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateBlockFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createPendingTransactionFilter(client)\n * // { id: \"0x345a6572337856574a76364e457a4366\", type: 'transaction' }\n */\nasync function createPendingTransactionFilter(client) {\n const getRequest = (0,_utils_filters_createFilterRequestScope_js__WEBPACK_IMPORTED_MODULE_0__.createFilterRequestScope)(client, {\n method: 'eth_newPendingTransactionFilter',\n });\n const id = await client.request({\n method: 'eth_newPendingTransactionFilter',\n });\n return { id, request: getRequest(id), type: 'transaction' };\n}\n//# sourceMappingURL=createPendingTransactionFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMkY7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLGlDQUFpQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLFFBQVE7QUFDUjtBQUNPO0FBQ1AsdUJBQXVCLG9HQUF3QjtBQUMvQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMLGFBQWE7QUFDYjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2NyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlci5qcz9mOTBhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZpbHRlclJlcXVlc3RTY29wZSB9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbHRlcnMvY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzJztcbi8qKlxuICogQ3JlYXRlcyBhIEZpbHRlciB0byBsaXN0ZW4gZm9yIG5ldyBwZW5kaW5nIHRyYW5zYWN0aW9uIGhhc2hlcyB0aGF0IGNhbiBiZSB1c2VkIHdpdGggW2BnZXRGaWx0ZXJDaGFuZ2VzYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0RmlsdGVyQ2hhbmdlcy5odG1sKS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2NyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlci5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX25ld1BlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcmBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfbmV3cGVuZGluZ3RyYW5zYWN0aW9uZmlsdGVyKVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcmV0dXJucyBbYEZpbHRlcmBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2dsb3NzYXJ5L3R5cGVzLmh0bWwjZmlsdGVyKS4ge0BsaW5rIENyZWF0ZUJsb2NrRmlsdGVyUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlciB9IGZyb20gJ3ZpZW0vcHVibGljJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBmaWx0ZXIgPSBhd2FpdCBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIoY2xpZW50KVxuICogLy8geyBpZDogXCIweDM0NWE2NTcyMzM3ODU2NTc0YTc2MzY0ZTQ1N2E0MzY2XCIsIHR5cGU6ICd0cmFuc2FjdGlvbicgfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyKGNsaWVudCkge1xuICAgIGNvbnN0IGdldFJlcXVlc3QgPSBjcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUoY2xpZW50LCB7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXInLFxuICAgIH0pO1xuICAgIGNvbnN0IGlkID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyJyxcbiAgICB9KTtcbiAgICByZXR1cm4geyBpZCwgcmVxdWVzdDogZ2V0UmVxdWVzdChpZCksIHR5cGU6ICd0cmFuc2FjdGlvbicgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/createPendingTransactionFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/estimateContractGas.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/estimateContractGas.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ estimateContractGas: function() { return /* binding */ estimateContractGas; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/esm/utils/errors/getContractError.js\");\n/* harmony import */ var _estimateGas_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./estimateGas.js */ \"./node_modules/viem/dist/esm/actions/public/estimateGas.js\");\n\n\n\n\n/**\n * Estimates the gas required to successfully execute a contract write function call.\n *\n * - Docs: https://viem.sh/docs/contract/estimateContractGas.html\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`estimateGas` action](https://viem.sh/docs/actions/public/estimateGas.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * @param client - Client to use\n * @param parameters - {@link EstimateContractGasParameters}\n * @returns The gas estimate (in wei). {@link EstimateContractGasReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { estimateContractGas } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const gas = await estimateContractGas(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint() public']),\n * functionName: 'mint',\n * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * })\n */\nasync function estimateContractGas(client, { abi, address, args, functionName, ...request }) {\n const data = (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_0__.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n try {\n const gas = await (0,_estimateGas_js__WEBPACK_IMPORTED_MODULE_1__.estimateGas)(client, {\n data,\n to: address,\n ...request,\n });\n return gas;\n }\n catch (err) {\n const account = request.account ? (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_2__.parseAccount)(request.account) : undefined;\n throw (0,_utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_3__.getContractError)(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/simulateContract',\n functionName,\n sender: account?.address,\n });\n }\n}\n//# sourceMappingURL=estimateContractGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQW9FO0FBQ1E7QUFDRjtBQUMzQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLHdDQUF3QztBQUN4QztBQUNBO0FBQ0EsWUFBWSxxQ0FBcUM7QUFDakQsWUFBWSxVQUFVO0FBQ3RCLFlBQVksc0JBQXNCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyw2Q0FBNkMsOENBQThDO0FBQ2xHLGlCQUFpQixvRkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsMEJBQTBCLDREQUFXO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsNkVBQVk7QUFDdEQsY0FBYyxtRkFBZ0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzPzgzN2MiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBY2NvdW50IH0gZnJvbSAnLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzJztcbmltcG9ydCB7IGVuY29kZUZ1bmN0aW9uRGF0YSwgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzJztcbmltcG9ydCB7IGdldENvbnRyYWN0RXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qcyc7XG5pbXBvcnQgeyBlc3RpbWF0ZUdhcyB9IGZyb20gJy4vZXN0aW1hdGVHYXMuanMnO1xuLyoqXG4gKiBFc3RpbWF0ZXMgdGhlIGdhcyByZXF1aXJlZCB0byBzdWNjZXNzZnVsbHkgZXhlY3V0ZSBhIGNvbnRyYWN0IHdyaXRlIGZ1bmN0aW9uIGNhbGwuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC9lc3RpbWF0ZUNvbnRyYWN0R2FzLmh0bWxcbiAqXG4gKiBJbnRlcm5hbGx5LCB1c2VzIGEgW1B1YmxpYyBDbGllbnRdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NsaWVudHMvcHVibGljLmh0bWwpIHRvIGNhbGwgdGhlIFtgZXN0aW1hdGVHYXNgIGFjdGlvbl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZXN0aW1hdGVHYXMuaHRtbCkgd2l0aCBbQUJJLWVuY29kZWQgYGRhdGFgXShodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC9lbmNvZGVGdW5jdGlvbkRhdGEuaHRtbCkuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEVzdGltYXRlQ29udHJhY3RHYXNQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIGdhcyBlc3RpbWF0ZSAoaW4gd2VpKS4ge0BsaW5rIEVzdGltYXRlQ29udHJhY3RHYXNSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAsIHBhcnNlQWJpIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGVzdGltYXRlQ29udHJhY3RHYXMgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBnYXMgPSBhd2FpdCBlc3RpbWF0ZUNvbnRyYWN0R2FzKGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhGQkEzOTEyQ2EwNGRkNDU4Yzg0M2UyRUUwODk2N2ZDMDRmMzU3OWMyJyxcbiAqICAgYWJpOiBwYXJzZUFiaShbJ2Z1bmN0aW9uIG1pbnQoKSBwdWJsaWMnXSksXG4gKiAgIGZ1bmN0aW9uTmFtZTogJ21pbnQnLFxuICogICBhY2NvdW50OiAnMHhmMzlmZDZlNTFhYWQ4OGY2ZjRjZTZhYjg4MjcyNzljZmZmYjkyMjY2JyxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlc3RpbWF0ZUNvbnRyYWN0R2FzKGNsaWVudCwgeyBhYmksIGFkZHJlc3MsIGFyZ3MsIGZ1bmN0aW9uTmFtZSwgLi4ucmVxdWVzdCB9KSB7XG4gICAgY29uc3QgZGF0YSA9IGVuY29kZUZ1bmN0aW9uRGF0YSh7XG4gICAgICAgIGFiaSxcbiAgICAgICAgYXJncyxcbiAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgIH0pO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGdhcyA9IGF3YWl0IGVzdGltYXRlR2FzKGNsaWVudCwge1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHRvOiBhZGRyZXNzLFxuICAgICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBnYXM7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgYWNjb3VudCA9IHJlcXVlc3QuYWNjb3VudCA/IHBhcnNlQWNjb3VudChyZXF1ZXN0LmFjY291bnQpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aHJvdyBnZXRDb250cmFjdEVycm9yKGVyciwge1xuICAgICAgICAgICAgYWJpOiBhYmksXG4gICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3Qvc2ltdWxhdGVDb250cmFjdCcsXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBzZW5kZXI6IGFjY291bnQ/LmFkZHJlc3MsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzdGltYXRlQ29udHJhY3RHYXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/estimateContractGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/estimateGas.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/estimateGas.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ estimateGas: function() { return /* binding */ estimateGas; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _errors_account_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/esm/errors/account.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_errors_getEstimateGasError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/errors/getEstimateGasError.js */ \"./node_modules/viem/dist/esm/utils/errors/getEstimateGasError.js\");\n/* harmony import */ var _utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/esm/utils/formatters/extract.js\");\n/* harmony import */ var _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n/* harmony import */ var _utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\");\n/* harmony import */ var _utils_transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/transaction/prepareRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js\");\n\n\n\n\n\n\n\n\n/**\n * Estimates the gas necessary to complete a transaction without submitting it to the network.\n *\n * - Docs: https://viem.sh/docs/actions/public/estimateGas.html\n * - JSON-RPC Methods: [`eth_estimateGas`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas)\n *\n * @param client - Client to use\n * @param parameters - {@link EstimateGasParameters}\n * @returns The gas estimate (in wei). {@link EstimateGasReturnType}\n *\n * @example\n * import { createPublicClient, http, parseEther } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { estimateGas } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const gasEstimate = await estimateGas(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: parseEther('1'),\n * })\n */\nasync function estimateGas(client, args) {\n const account_ = args.account ?? client.account;\n if (!account_)\n throw new _errors_account_js__WEBPACK_IMPORTED_MODULE_0__.AccountNotFoundError({\n docsPath: '/docs/actions/public/estimateGas',\n });\n const account = (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account_);\n try {\n const { accessList, blockNumber, blockTag, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = account.type === 'local' ? await (0,_utils_transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_2__.prepareRequest)(client, args) : args;\n const blockNumberHex = blockNumber ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.numberToHex)(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n (0,_utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_4__.assertRequest)(args);\n const format = client.chain?.formatters?.transactionRequest?.format ||\n _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_5__.formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...(0,_utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_6__.extract)(rest, { format }),\n from: account.address,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n const balance = await client.request({\n method: 'eth_estimateGas',\n params: block ? [request, block] : [request],\n });\n return BigInt(balance);\n }\n catch (err) {\n throw (0,_utils_errors_getEstimateGasError_js__WEBPACK_IMPORTED_MODULE_7__.getEstimateGasError)(err, {\n ...args,\n account,\n chain: client.chain,\n });\n }\n}\n//# sourceMappingURL=estimateGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUdhcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBb0U7QUFDTDtBQUNIO0FBQ29CO0FBQ3BCO0FBQzZCO0FBQ2hCO0FBQ0U7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQSxZQUFZLHVDQUF1QztBQUNuRCxZQUFZLFVBQVU7QUFDdEIsWUFBWSxjQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ087QUFDUDtBQUNBO0FBQ0Esa0JBQWtCLG9FQUFvQjtBQUN0QztBQUNBLFNBQVM7QUFDVCxvQkFBb0IsNkVBQVk7QUFDaEM7QUFDQSxnQkFBZ0Isd0hBQXdILG1DQUFtQyxvRkFBYztBQUN6TCw2Q0FBNkMscUVBQVc7QUFDeEQ7QUFDQSxRQUFRLGtGQUFhO0FBQ3JCO0FBQ0EsWUFBWSw2RkFBd0I7QUFDcEM7QUFDQTtBQUNBLGVBQWUscUVBQU8sU0FBUyxRQUFRO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxjQUFjLHlGQUFtQjtBQUNqQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2VzdGltYXRlR2FzLmpzP2JhNDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBY2NvdW50IH0gZnJvbSAnLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzJztcbmltcG9ydCB7IEFjY291bnROb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FjY291bnQuanMnO1xuaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBnZXRFc3RpbWF0ZUdhc0Vycm9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvZXJyb3JzL2dldEVzdGltYXRlR2FzRXJyb3IuanMnO1xuaW1wb3J0IHsgZXh0cmFjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvZXh0cmFjdC5qcyc7XG5pbXBvcnQgeyBmb3JtYXRUcmFuc2FjdGlvblJlcXVlc3QsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlcXVlc3QuanMnO1xuaW1wb3J0IHsgYXNzZXJ0UmVxdWVzdCB9IGZyb20gJy4uLy4uL3V0aWxzL3RyYW5zYWN0aW9uL2Fzc2VydFJlcXVlc3QuanMnO1xuaW1wb3J0IHsgcHJlcGFyZVJlcXVlc3QgfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2FjdGlvbi9wcmVwYXJlUmVxdWVzdC5qcyc7XG4vKipcbiAqIEVzdGltYXRlcyB0aGUgZ2FzIG5lY2Vzc2FyeSB0byBjb21wbGV0ZSBhIHRyYW5zYWN0aW9uIHdpdGhvdXQgc3VibWl0dGluZyBpdCB0byB0aGUgbmV0d29yay5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2VzdGltYXRlR2FzLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfZXN0aW1hdGVHYXNgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2VzdGltYXRlZ2FzKVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBFc3RpbWF0ZUdhc1BhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgZ2FzIGVzdGltYXRlIChpbiB3ZWkpLiB7QGxpbmsgRXN0aW1hdGVHYXNSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAsIHBhcnNlRXRoZXIgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZXN0aW1hdGVHYXMgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgZ2FzRXN0aW1hdGUgPSBhd2FpdCBlc3RpbWF0ZUdhcyhjbGllbnQsIHtcbiAqICAgYWNjb3VudDogJzB4QTBDZjc5ODgxNkQ0YjliOTg2NmI1MzMwRUVhNDZhMTgzODJmMjUxZScsXG4gKiAgIHRvOiAnMHg3MDk5Nzk3MGM1MTgxMmRjM2EwMTBjN2QwMWI1MGUwZDE3ZGM3OWM4JyxcbiAqICAgdmFsdWU6IHBhcnNlRXRoZXIoJzEnKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlc3RpbWF0ZUdhcyhjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCBhY2NvdW50XyA9IGFyZ3MuYWNjb3VudCA/PyBjbGllbnQuYWNjb3VudDtcbiAgICBpZiAoIWFjY291bnRfKVxuICAgICAgICB0aHJvdyBuZXcgQWNjb3VudE5vdEZvdW5kRXJyb3Ioe1xuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUdhcycsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGFjY291bnQgPSBwYXJzZUFjY291bnQoYWNjb3VudF8pO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgYWNjZXNzTGlzdCwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBkYXRhLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgdG8sIHZhbHVlLCAuLi5yZXN0IH0gPSBhY2NvdW50LnR5cGUgPT09ICdsb2NhbCcgPyBhd2FpdCBwcmVwYXJlUmVxdWVzdChjbGllbnQsIGFyZ3MpIDogYXJncztcbiAgICAgICAgY29uc3QgYmxvY2tOdW1iZXJIZXggPSBibG9ja051bWJlciA/IG51bWJlclRvSGV4KGJsb2NrTnVtYmVyKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYmxvY2sgPSBibG9ja051bWJlckhleCB8fCBibG9ja1RhZztcbiAgICAgICAgYXNzZXJ0UmVxdWVzdChhcmdzKTtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gY2xpZW50LmNoYWluPy5mb3JtYXR0ZXJzPy50cmFuc2FjdGlvblJlcXVlc3Q/LmZvcm1hdCB8fFxuICAgICAgICAgICAgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0O1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gZm9ybWF0KHtcbiAgICAgICAgICAgIC8vIFBpY2sgb3V0IGV4dHJhIGRhdGEgdGhhdCBtaWdodCBleGlzdCBvbiB0aGUgY2hhaW4ncyB0cmFuc2FjdGlvbiByZXF1ZXN0IHR5cGUuXG4gICAgICAgICAgICAuLi5leHRyYWN0KHJlc3QsIHsgZm9ybWF0IH0pLFxuICAgICAgICAgICAgZnJvbTogYWNjb3VudC5hZGRyZXNzLFxuICAgICAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V0aF9lc3RpbWF0ZUdhcycsXG4gICAgICAgICAgICBwYXJhbXM6IGJsb2NrID8gW3JlcXVlc3QsIGJsb2NrXSA6IFtyZXF1ZXN0XSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBCaWdJbnQoYmFsYW5jZSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZ2V0RXN0aW1hdGVHYXNFcnJvcihlcnIsIHtcbiAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICBhY2NvdW50LFxuICAgICAgICAgICAgY2hhaW46IGNsaWVudC5jaGFpbixcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXN0aW1hdGVHYXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/estimateGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getBalance.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getBalance.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBalance: function() { return /* binding */ getBalance; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Returns the balance of an address in wei.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBalance.html\n * - JSON-RPC Methods: [`eth_getBalance`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getbalance)\n *\n * You can convert the balance to ether units with [`formatEther`](https://viem.sh/docs/utilities/formatEther.html).\n *\n * ```ts\n * const balance = await getBalance(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * blockTag: 'safe'\n * })\n * const balanceAsEther = formatEther(balance)\n * // \"6.942\"\n * ```\n *\n * @param client - Client to use\n * @param parameters - {@link GetBalanceParameters}\n * @returns The balance of the address in wei. {@link GetBalanceReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBalance } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const balance = await getBalance(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n * // 10000000000000000000000n (wei)\n */\nasync function getBalance(client, { address, blockNumber, blockTag = 'latest' }) {\n const blockNumberHex = blockNumber ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n const balance = await client.request({\n method: 'eth_getBalance',\n params: [address, blockNumberHex || blockTag],\n });\n return BigInt(balance);\n}\n//# sourceMappingURL=getBalance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRCYWxhbmNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksYUFBYTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTyxvQ0FBb0MsMkNBQTJDO0FBQ3RGLHlDQUF5QyxxRUFBVztBQUNwRDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2dldEJhbGFuY2UuanM/NGM3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbi8qKlxuICogUmV0dXJucyB0aGUgYmFsYW5jZSBvZiBhbiBhZGRyZXNzIGluIHdlaS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldEJhbGFuY2UuaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9nZXRCYWxhbmNlYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRiYWxhbmNlKVxuICpcbiAqIFlvdSBjYW4gY29udmVydCB0aGUgYmFsYW5jZSB0byBldGhlciB1bml0cyB3aXRoIFtgZm9ybWF0RXRoZXJgXShodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZm9ybWF0RXRoZXIuaHRtbCkuXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBnZXRCYWxhbmNlKGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhBMENmNzk4ODE2RDRiOWI5ODY2YjUzMzBFRWE0NmExODM4MmYyNTFlJyxcbiAqICAgYmxvY2tUYWc6ICdzYWZlJ1xuICogfSlcbiAqIGNvbnN0IGJhbGFuY2VBc0V0aGVyID0gZm9ybWF0RXRoZXIoYmFsYW5jZSlcbiAqIC8vIFwiNi45NDJcIlxuICogYGBgXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldEJhbGFuY2VQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIGJhbGFuY2Ugb2YgdGhlIGFkZHJlc3MgaW4gd2VpLiB7QGxpbmsgR2V0QmFsYW5jZVJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRCYWxhbmNlIH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBnZXRCYWxhbmNlKGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhBMENmNzk4ODE2RDRiOWI5ODY2YjUzMzBFRWE0NmExODM4MmYyNTFlJyxcbiAqIH0pXG4gKiAvLyAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4gKHdlaSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhbGFuY2UoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnIH0pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyID8gbnVtYmVyVG9IZXgoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9nZXRCYWxhbmNlJyxcbiAgICAgICAgcGFyYW1zOiBbYWRkcmVzcywgYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWddLFxuICAgIH0pO1xuICAgIHJldHVybiBCaWdJbnQoYmFsYW5jZSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRCYWxhbmNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getBalance.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getBlock.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getBlock.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBlock: function() { return /* binding */ getBlock; }\n/* harmony export */ });\n/* harmony import */ var _errors_block_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/block.js */ \"./node_modules/viem/dist/esm/errors/block.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/formatters/block.js */ \"./node_modules/viem/dist/esm/utils/formatters/block.js\");\n\n\n\n/**\n * Returns information about a block at a block number, hash, or tag.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBlock.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/fetching-blocks\n * - JSON-RPC Methods:\n * - Calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbynumber) for `blockNumber` & `blockTag`.\n * - Calls [`eth_getBlockByHash`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbyhash) for `blockHash`.\n *\n * @param client - Client to use\n * @param parameters - {@link GetBlockParameters}\n * @returns Information about the block. {@link GetBlockReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBlock } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const block = await getBlock(client)\n */\nasync function getBlock(client, { blockHash, blockNumber, blockTag = 'latest', includeTransactions = false, } = {}) {\n const blockNumberHex = blockNumber !== undefined ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n let block = null;\n if (blockHash) {\n block = await client.request({\n method: 'eth_getBlockByHash',\n params: [blockHash, includeTransactions],\n });\n }\n else {\n block = await client.request({\n method: 'eth_getBlockByNumber',\n params: [blockNumberHex || blockTag, includeTransactions],\n });\n }\n if (!block)\n throw new _errors_block_js__WEBPACK_IMPORTED_MODULE_1__.BlockNotFoundError({ blockHash, blockNumber });\n const format = client.chain?.formatters?.block?.format || _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_2__.formatBlock;\n return format(block);\n}\n//# sourceMappingURL=getBlock.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRCbG9jay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTJEO0FBQ0M7QUFDRztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiwwQ0FBMEM7QUFDMUM7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLFdBQVc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPLGtDQUFrQyw0RUFBNEUsSUFBSTtBQUN6SCx1REFBdUQscUVBQVc7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxrQkFBa0IsZ0VBQWtCLEdBQUcsd0JBQXdCO0FBQy9ELDhEQUE4RCxtRUFBVztBQUN6RTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0QmxvY2suanM/YTYyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja05vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvYmxvY2suanMnO1xuaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBmb3JtYXRCbG9jaywgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2Jsb2NrLmpzJztcbi8qKlxuICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGJsb2NrIGF0IGEgYmxvY2sgbnVtYmVyLCBoYXNoLCBvciB0YWcuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9jay5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvYmxvY2tzL2ZldGNoaW5nLWJsb2Nrc1xuICogLSBKU09OLVJQQyBNZXRob2RzOlxuICogICAtIENhbGxzIFtgZXRoX2dldEJsb2NrQnlOdW1iZXJgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldGJsb2NrYnludW1iZXIpIGZvciBgYmxvY2tOdW1iZXJgICYgYGJsb2NrVGFnYC5cbiAqICAgLSBDYWxscyBbYGV0aF9nZXRCbG9ja0J5SGFzaGBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfZ2V0YmxvY2tieWhhc2gpIGZvciBgYmxvY2tIYXNoYC5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgR2V0QmxvY2tQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgSW5mb3JtYXRpb24gYWJvdXQgdGhlIGJsb2NrLiB7QGxpbmsgR2V0QmxvY2tSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0QmxvY2sgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgYmxvY2sgPSBhd2FpdCBnZXRCbG9jayhjbGllbnQpXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCbG9jayhjbGllbnQsIHsgYmxvY2tIYXNoLCBibG9ja051bWJlciwgYmxvY2tUYWcgPSAnbGF0ZXN0JywgaW5jbHVkZVRyYW5zYWN0aW9ucyA9IGZhbHNlLCB9ID0ge30pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyBudW1iZXJUb0hleChibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGJsb2NrID0gbnVsbDtcbiAgICBpZiAoYmxvY2tIYXNoKSB7XG4gICAgICAgIGJsb2NrID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldEJsb2NrQnlIYXNoJyxcbiAgICAgICAgICAgIHBhcmFtczogW2Jsb2NrSGFzaCwgaW5jbHVkZVRyYW5zYWN0aW9uc10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgYmxvY2sgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0QmxvY2tCeU51bWJlcicsXG4gICAgICAgICAgICBwYXJhbXM6IFtibG9ja051bWJlckhleCB8fCBibG9ja1RhZywgaW5jbHVkZVRyYW5zYWN0aW9uc10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoIWJsb2NrKVxuICAgICAgICB0aHJvdyBuZXcgQmxvY2tOb3RGb3VuZEVycm9yKHsgYmxvY2tIYXNoLCBibG9ja051bWJlciB9KTtcbiAgICBjb25zdCBmb3JtYXQgPSBjbGllbnQuY2hhaW4/LmZvcm1hdHRlcnM/LmJsb2NrPy5mb3JtYXQgfHwgZm9ybWF0QmxvY2s7XG4gICAgcmV0dXJuIGZvcm1hdChibG9jayk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRCbG9jay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getBlock.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getBlockNumber.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getBlockNumber.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBlockNumber: function() { return /* binding */ getBlockNumber; },\n/* harmony export */ getBlockNumberCache: function() { return /* binding */ getBlockNumberCache; }\n/* harmony export */ });\n/* harmony import */ var _utils_promise_withCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/promise/withCache.js */ \"./node_modules/viem/dist/esm/utils/promise/withCache.js\");\n\nconst cacheKey = (id) => `blockNumber.${id}`;\nfunction getBlockNumberCache(id) {\n return (0,_utils_promise_withCache_js__WEBPACK_IMPORTED_MODULE_0__.getCache)(cacheKey(id));\n}\n/**\n * Returns the number of the most recent block seen.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBlockNumber.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/fetching-blocks\n * - JSON-RPC Methods: [`eth_blockNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blocknumber)\n *\n * @param client - Client to use\n * @param parameters - {@link GetBlockNumberParameters}\n * @returns The number of the block. {@link GetBlockNumberReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBlockNumber } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const blockNumber = await getBlockNumber(client)\n * // 69420n\n */\nasync function getBlockNumber(client, { maxAge = client.pollingInterval } = {}) {\n const blockNumberHex = await (0,_utils_promise_withCache_js__WEBPACK_IMPORTED_MODULE_0__.withCache)(() => client.request({\n method: 'eth_blockNumber',\n }), { cacheKey: cacheKey(client.uid), maxAge });\n return BigInt(blockNumberHex);\n}\n//# sourceMappingURL=getBlockNumber.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja051bWJlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBdUU7QUFDdkUsd0NBQXdDLEdBQUc7QUFDcEM7QUFDUCxXQUFXLHFFQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLGlCQUFpQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDTyx3Q0FBd0Msa0NBQWtDLElBQUk7QUFDckYsaUNBQWlDLHNFQUFTO0FBQzFDO0FBQ0EsS0FBSyxLQUFLLHdDQUF3QztBQUNsRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0QmxvY2tOdW1iZXIuanM/ZjhlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRDYWNoZSwgd2l0aENhY2hlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvbWlzZS93aXRoQ2FjaGUuanMnO1xuY29uc3QgY2FjaGVLZXkgPSAoaWQpID0+IGBibG9ja051bWJlci4ke2lkfWA7XG5leHBvcnQgZnVuY3Rpb24gZ2V0QmxvY2tOdW1iZXJDYWNoZShpZCkge1xuICAgIHJldHVybiBnZXRDYWNoZShjYWNoZUtleShpZCkpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIG1vc3QgcmVjZW50IGJsb2NrIHNlZW4uXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja051bWJlci5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvYmxvY2tzL2ZldGNoaW5nLWJsb2Nrc1xuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9ibG9ja051bWJlcmBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfYmxvY2tudW1iZXIpXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldEJsb2NrTnVtYmVyUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdGhlIGJsb2NrLiB7QGxpbmsgR2V0QmxvY2tOdW1iZXJSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0QmxvY2tOdW1iZXIgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgYmxvY2tOdW1iZXIgPSBhd2FpdCBnZXRCbG9ja051bWJlcihjbGllbnQpXG4gKiAvLyA2OTQyMG5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJsb2NrTnVtYmVyKGNsaWVudCwgeyBtYXhBZ2UgPSBjbGllbnQucG9sbGluZ0ludGVydmFsIH0gPSB7fSkge1xuICAgIGNvbnN0IGJsb2NrTnVtYmVySGV4ID0gYXdhaXQgd2l0aENhY2hlKCgpID0+IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2Jsb2NrTnVtYmVyJyxcbiAgICB9KSwgeyBjYWNoZUtleTogY2FjaGVLZXkoY2xpZW50LnVpZCksIG1heEFnZSB9KTtcbiAgICByZXR1cm4gQmlnSW50KGJsb2NrTnVtYmVySGV4KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEJsb2NrTnVtYmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getBlockNumber.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getBlockTransactionCount.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getBlockTransactionCount.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBlockTransactionCount: function() { return /* binding */ getBlockTransactionCount; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n/**\n * Returns the number of Transactions at a block number, hash, or tag.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBlockTransactionCount.html\n * - JSON-RPC Methods:\n * - Calls [`eth_getBlockTransactionCountByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblocktransactioncountbynumber) for `blockNumber` & `blockTag`.\n * - Calls [`eth_getBlockTransactionCountByHash`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblocktransactioncountbyhash) for `blockHash`.\n *\n * @param client - Client to use\n * @param parameters - {@link GetBlockTransactionCountParameters}\n * @returns The block transaction count. {@link GetBlockTransactionCountReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBlockTransactionCount } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const count = await getBlockTransactionCount(client)\n */\nasync function getBlockTransactionCount(client, { blockHash, blockNumber, blockTag = 'latest', } = {}) {\n const blockNumberHex = blockNumber !== undefined ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n let count;\n if (blockHash) {\n count = await client.request({\n method: 'eth_getBlockTransactionCountByHash',\n params: [blockHash],\n });\n }\n else {\n count = await client.request({\n method: 'eth_getBlockTransactionCountByNumber',\n params: [blockNumberHex || blockTag],\n });\n }\n return (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.hexToNumber)(count);\n}\n//# sourceMappingURL=getBlockTransactionCount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThEO0FBQ0Y7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLDBDQUEwQztBQUMxQztBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksMkJBQTJCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTyxrREFBa0QsK0NBQStDLElBQUk7QUFDNUcsdURBQXVELHFFQUFXO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFdBQVcsdUVBQVc7QUFDdEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQuanM/ZGViZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZXhUb051bWJlciB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanMnO1xuaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG4vKipcbiAqIFJldHVybnMgdGhlIG51bWJlciBvZiBUcmFuc2FjdGlvbnMgYXQgYSBibG9jayBudW1iZXIsIGhhc2gsIG9yIHRhZy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudC5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6XG4gKiAgIC0gQ2FsbHMgW2BldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlOdW1iZXJgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldGJsb2NrdHJhbnNhY3Rpb25jb3VudGJ5bnVtYmVyKSBmb3IgYGJsb2NrTnVtYmVyYCAmIGBibG9ja1RhZ2AuXG4gKiAgIC0gQ2FsbHMgW2BldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlIYXNoYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRibG9ja3RyYW5zYWN0aW9uY291bnRieWhhc2gpIGZvciBgYmxvY2tIYXNoYC5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgR2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50UGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIFRoZSBibG9jayB0cmFuc2FjdGlvbiBjb3VudC4ge0BsaW5rIEdldEJsb2NrVHJhbnNhY3Rpb25Db3VudFJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgY291bnQgPSBhd2FpdCBnZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50KGNsaWVudCwgeyBibG9ja0hhc2gsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnLCB9ID0ge30pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyBudW1iZXJUb0hleChibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGNvdW50O1xuICAgIGlmIChibG9ja0hhc2gpIHtcbiAgICAgICAgY291bnQgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlIYXNoJyxcbiAgICAgICAgICAgIHBhcmFtczogW2Jsb2NrSGFzaF0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY291bnQgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlOdW1iZXInLFxuICAgICAgICAgICAgcGFyYW1zOiBbYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWddLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhleFRvTnVtYmVyKGNvdW50KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEJsb2NrVHJhbnNhY3Rpb25Db3VudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getBlockTransactionCount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getBytecode.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getBytecode.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBytecode: function() { return /* binding */ getBytecode; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Retrieves the bytecode at an address.\n *\n * - Docs: https://viem.sh/docs/contract/getBytecode.html\n * - JSON-RPC Methods: [`eth_getCode`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getcode)\n *\n * @param client - Client to use\n * @param parameters - {@link GetBytecodeParameters}\n * @returns The contract's bytecode. {@link GetBytecodeReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBytecode } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const code = await getBytecode(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * })\n */\nasync function getBytecode(client, { address, blockNumber, blockTag = 'latest' }) {\n const blockNumberHex = blockNumber !== undefined ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n const hex = await client.request({\n method: 'eth_getCode',\n params: [address, blockNumberHex || blockTag],\n });\n if (hex === '0x')\n return undefined;\n return hex;\n}\n//# sourceMappingURL=getBytecode.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRCeXRlY29kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLHFDQUFxQywyQ0FBMkM7QUFDdkYsdURBQXVELHFFQUFXO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2dldEJ5dGVjb2RlLmpzP2NkZGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYnl0ZWNvZGUgYXQgYW4gYWRkcmVzcy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L2dldEJ5dGVjb2RlLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfZ2V0Q29kZWBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfZ2V0Y29kZSlcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgR2V0Qnl0ZWNvZGVQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIGNvbnRyYWN0J3MgYnl0ZWNvZGUuIHtAbGluayBHZXRCeXRlY29kZVJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRCeXRlY29kZSB9IGZyb20gJ3ZpZW0vY29udHJhY3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGNvZGUgPSBhd2FpdCBnZXRCeXRlY29kZShjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4RkJBMzkxMkNhMDRkZDQ1OGM4NDNlMkVFMDg5NjdmQzA0ZjM1NzljMicsXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Qnl0ZWNvZGUoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrTnVtYmVyLCBibG9ja1RhZyA9ICdsYXRlc3QnIH0pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyBudW1iZXJUb0hleChibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaGV4ID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2V0Q29kZScsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3MsIGJsb2NrTnVtYmVySGV4IHx8IGJsb2NrVGFnXSxcbiAgICB9KTtcbiAgICBpZiAoaGV4ID09PSAnMHgnKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBoZXg7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRCeXRlY29kZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getBytecode.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getChainId.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getChainId.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getChainId: function() { return /* binding */ getChainId; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n\n/**\n * Returns the chain ID associated with the current network.\n *\n * - Docs: https://viem.sh/docs/actions/public/getChainId.html\n * - JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid)\n *\n * @param client - Client to use\n * @returns The current chain ID. {@link GetChainIdReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getChainId } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const chainId = await getChainId(client)\n * // 1\n */\nasync function getChainId(client) {\n const chainIdHex = await client.request({\n method: 'eth_chainId',\n });\n return (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.hexToNumber)(chainIdHex);\n}\n//# sourceMappingURL=getChainId.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRDaGFpbklkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxhQUFhO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTCxXQUFXLHVFQUFXO0FBQ3RCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0Q2hhaW5JZC5qcz81M2ZhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhleFRvTnVtYmVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvZnJvbUhleC5qcyc7XG4vKipcbiAqIFJldHVybnMgdGhlIGNoYWluIElEIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCBuZXR3b3JrLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0Q2hhaW5JZC5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX2NoYWluSWRgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2NoYWluaWQpXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGNoYWluIElELiB7QGxpbmsgR2V0Q2hhaW5JZFJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRDaGFpbklkIH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGNoYWluSWQgPSBhd2FpdCBnZXRDaGFpbklkKGNsaWVudClcbiAqIC8vIDFcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENoYWluSWQoY2xpZW50KSB7XG4gICAgY29uc3QgY2hhaW5JZEhleCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2NoYWluSWQnLFxuICAgIH0pO1xuICAgIHJldHVybiBoZXhUb051bWJlcihjaGFpbklkSGV4KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldENoYWluSWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getChainId.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getFeeHistory.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getFeeHistory.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFeeHistory: function() { return /* binding */ getFeeHistory; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_formatters_feeHistory_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/feeHistory.js */ \"./node_modules/viem/dist/esm/utils/formatters/feeHistory.js\");\n\n\n/**\n * Returns a collection of historical gas information.\n *\n * - Docs: https://viem.sh/docs/actions/public/getFeeHistory.html\n * - JSON-RPC Methods: [`eth_feeHistory`](https://docs.alchemy.com/reference/eth-feehistory)\n *\n * @param client - Client to use\n * @param parameters - {@link GetFeeHistoryParameters}\n * @returns The gas estimate (in wei). {@link GetFeeHistoryReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getFeeHistory } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const feeHistory = await getFeeHistory(client, {\n * blockCount: 4,\n * rewardPercentiles: [25, 75],\n * })\n */\nasync function getFeeHistory(client, { blockCount, blockNumber, blockTag = 'latest', rewardPercentiles, }) {\n const blockNumberHex = blockNumber ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n const feeHistory = await client.request({\n method: 'eth_feeHistory',\n params: [\n (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockCount),\n blockNumberHex || blockTag,\n rewardPercentiles,\n ],\n });\n return (0,_utils_formatters_feeHistory_js__WEBPACK_IMPORTED_MODULE_1__.formatFeeHistory)(feeHistory);\n}\n//# sourceMappingURL=getFeeHistory.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRGZWVIaXN0b3J5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0RDtBQUNZO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLHdDQUF3QztBQUN4QztBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksZ0JBQWdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLHVDQUF1QyxrRUFBa0U7QUFDaEgseUNBQXlDLHFFQUFXO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLFlBQVkscUVBQVc7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFdBQVcsaUZBQWdCO0FBQzNCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0RmVlSGlzdG9yeS5qcz9mNzFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuaW1wb3J0IHsgZm9ybWF0RmVlSGlzdG9yeSB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvZmVlSGlzdG9yeS5qcyc7XG4vKipcbiAqIFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIGhpc3RvcmljYWwgZ2FzIGluZm9ybWF0aW9uLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0RmVlSGlzdG9yeS5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX2ZlZUhpc3RvcnlgXShodHRwczovL2RvY3MuYWxjaGVteS5jb20vcmVmZXJlbmNlL2V0aC1mZWVoaXN0b3J5KVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBHZXRGZWVIaXN0b3J5UGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIFRoZSBnYXMgZXN0aW1hdGUgKGluIHdlaSkuIHtAbGluayBHZXRGZWVIaXN0b3J5UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGdldEZlZUhpc3RvcnkgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgZmVlSGlzdG9yeSA9IGF3YWl0IGdldEZlZUhpc3RvcnkoY2xpZW50LCB7XG4gKiAgIGJsb2NrQ291bnQ6IDQsXG4gKiAgIHJld2FyZFBlcmNlbnRpbGVzOiBbMjUsIDc1XSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGZWVIaXN0b3J5KGNsaWVudCwgeyBibG9ja0NvdW50LCBibG9ja051bWJlciwgYmxvY2tUYWcgPSAnbGF0ZXN0JywgcmV3YXJkUGVyY2VudGlsZXMsIH0pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyID8gbnVtYmVyVG9IZXgoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZlZUhpc3RvcnkgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9mZWVIaXN0b3J5JyxcbiAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICBudW1iZXJUb0hleChibG9ja0NvdW50KSxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVySGV4IHx8IGJsb2NrVGFnLFxuICAgICAgICAgICAgcmV3YXJkUGVyY2VudGlsZXMsXG4gICAgICAgIF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGZvcm1hdEZlZUhpc3RvcnkoZmVlSGlzdG9yeSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRGZWVIaXN0b3J5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getFeeHistory.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getFilterChanges.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getFilterChanges.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFilterChanges: function() { return /* binding */ getFilterChanges; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js\");\n/* harmony import */ var _utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/log.js */ \"./node_modules/viem/dist/esm/utils/formatters/log.js\");\n\n\n\n/**\n * Returns a list of logs or hashes based on a [Filter](/docs/glossary/terms#filter) since the last time it was called.\n *\n * - Docs: https://viem.sh/docs/actions/public/getFilterChanges.html\n * - JSON-RPC Methods: [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterchanges)\n *\n * A Filter can be created from the following actions:\n *\n * - [`createBlockFilter`](https://viem.sh/docs/actions/public/createBlockFilter.html)\n * - [`createContractEventFilter`](https://viem.sh/docs/contract/createContractEventFilter.html)\n * - [`createEventFilter`](https://viem.sh/docs/actions/public/createEventFilter.html)\n * - [`createPendingTransactionFilter`](https://viem.sh/docs/actions/public/createPendingTransactionFilter.html)\n *\n * Depending on the type of filter, the return value will be different:\n *\n * - If the filter was created with `createContractEventFilter` or `createEventFilter`, it returns a list of logs.\n * - If the filter was created with `createPendingTransactionFilter`, it returns a list of transaction hashes.\n * - If the filter was created with `createBlockFilter`, it returns a list of block hashes.\n *\n * @param client - Client to use\n * @param parameters - {@link GetFilterChangesParameters}\n * @returns Logs or hashes. {@link GetFilterChangesReturnType}\n *\n * @example\n * // Blocks\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createBlockFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createBlockFilter(client)\n * const hashes = await getFilterChanges(client, { filter })\n *\n * @example\n * // Contract Events\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createContractEventFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createContractEventFilter(client, {\n * address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n * abi: parseAbi(['event Transfer(address indexed, address indexed, uint256)']),\n * eventName: 'Transfer',\n * })\n * const logs = await getFilterChanges(client, { filter })\n *\n * @example\n * // Raw Events\n * import { createPublicClient, http, parseAbiItem } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createEventFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createEventFilter(client, {\n * address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n * event: parseAbiItem('event Transfer(address indexed, address indexed, uint256)'),\n * })\n * const logs = await getFilterChanges(client, { filter })\n *\n * @example\n * // Transactions\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createPendingTransactionFilter(client)\n * const hashes = await getFilterChanges(client, { filter })\n */\nasync function getFilterChanges(_client, { filter, }) {\n const strict = 'strict' in filter && filter.strict;\n const logs = await filter.request({\n method: 'eth_getFilterChanges',\n params: [filter.id],\n });\n return logs\n .map((log) => {\n if (typeof log === 'string')\n return log;\n try {\n const { eventName, args } = 'abi' in filter && filter.abi\n ? (0,_utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_0__.decodeEventLog)({\n abi: filter.abi,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return (0,_utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_1__.formatLog)(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__.DecodeLogDataMismatch ||\n err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__.DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if ('strict' in filter && filter.strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args undefined if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n return (0,_utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_1__.formatLog)(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=getFilterChanges.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBc0Y7QUFDbkI7QUFDVDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxzQ0FBc0M7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxtREFBbUQsUUFBUTtBQUMzRDtBQUNBO0FBQ0E7QUFDQSxZQUFZLHFDQUFxQztBQUNqRCxZQUFZLFVBQVU7QUFDdEIsWUFBWSw4Q0FBOEM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osaURBQWlELFFBQVE7QUFDekQ7QUFDQTtBQUNBO0FBQ0EsWUFBWSx5Q0FBeUM7QUFDckQsWUFBWSxVQUFVO0FBQ3RCLFlBQVksc0NBQXNDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixpREFBaUQsUUFBUTtBQUN6RDtBQUNBO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxtREFBbUQ7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxtREFBbUQsUUFBUTtBQUMzRDtBQUNPLDJDQUEyQyxTQUFTO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDLGtCQUFrQiw0RUFBYztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixvQkFBb0I7QUFDcEIsbUJBQW1CLG1FQUFTLFFBQVEsaUJBQWlCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLGlFQUFxQjtBQUNwRCwrQkFBK0IsbUVBQXVCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1FQUFTLFFBQVEseUJBQXlCLGFBQWE7QUFDMUU7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL2dldEZpbHRlckNoYW5nZXMuanM/ZDg0ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNvZGVMb2dEYXRhTWlzbWF0Y2gsIERlY29kZUxvZ1RvcGljc01pc21hdGNoLCB9IGZyb20gJy4uLy4uL2Vycm9ycy9hYmkuanMnO1xuaW1wb3J0IHsgZGVjb2RlRXZlbnRMb2cgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanMnO1xuaW1wb3J0IHsgZm9ybWF0TG9nIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9sb2cuanMnO1xuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBsb2dzIG9yIGhhc2hlcyBiYXNlZCBvbiBhIFtGaWx0ZXJdKC9kb2NzL2dsb3NzYXJ5L3Rlcm1zI2ZpbHRlcikgc2luY2UgdGhlIGxhc3QgdGltZSBpdCB3YXMgY2FsbGVkLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0RmlsdGVyQ2hhbmdlcy5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX2dldEZpbHRlckNoYW5nZXNgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldGZpbHRlcmNoYW5nZXMpXG4gKlxuICogQSBGaWx0ZXIgY2FuIGJlIGNyZWF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIGFjdGlvbnM6XG4gKlxuICogLSBbYGNyZWF0ZUJsb2NrRmlsdGVyYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvY3JlYXRlQmxvY2tGaWx0ZXIuaHRtbClcbiAqIC0gW2BjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlci5odG1sKVxuICogLSBbYGNyZWF0ZUV2ZW50RmlsdGVyYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvY3JlYXRlRXZlbnRGaWx0ZXIuaHRtbClcbiAqIC0gW2BjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXJgXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIuaHRtbClcbiAqXG4gKiBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgZmlsdGVyLCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgZGlmZmVyZW50OlxuICpcbiAqIC0gSWYgdGhlIGZpbHRlciB3YXMgY3JlYXRlZCB3aXRoIGBjcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyYCBvciBgY3JlYXRlRXZlbnRGaWx0ZXJgLCBpdCByZXR1cm5zIGEgbGlzdCBvZiBsb2dzLlxuICogLSBJZiB0aGUgZmlsdGVyIHdhcyBjcmVhdGVkIHdpdGggYGNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcmAsIGl0IHJldHVybnMgYSBsaXN0IG9mIHRyYW5zYWN0aW9uIGhhc2hlcy5cbiAqIC0gSWYgdGhlIGZpbHRlciB3YXMgY3JlYXRlZCB3aXRoIGBjcmVhdGVCbG9ja0ZpbHRlcmAsIGl0IHJldHVybnMgYSBsaXN0IG9mIGJsb2NrIGhhc2hlcy5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgR2V0RmlsdGVyQ2hhbmdlc1BhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBMb2dzIG9yIGhhc2hlcy4ge0BsaW5rIEdldEZpbHRlckNoYW5nZXNSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBCbG9ja3NcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBjcmVhdGVCbG9ja0ZpbHRlciwgZ2V0RmlsdGVyQ2hhbmdlcyB9IGZyb20gJ3ZpZW0vcHVibGljJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBmaWx0ZXIgPSBhd2FpdCBjcmVhdGVCbG9ja0ZpbHRlcihjbGllbnQpXG4gKiBjb25zdCBoYXNoZXMgPSBhd2FpdCBnZXRGaWx0ZXJDaGFuZ2VzKGNsaWVudCwgeyBmaWx0ZXIgfSlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udHJhY3QgRXZlbnRzXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAsIHBhcnNlQWJpIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIsIGdldEZpbHRlckNoYW5nZXMgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgZmlsdGVyID0gYXdhaXQgY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlcihjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4YTBiODY5OTFjNjIxOGIzNmMxZDE5ZDRhMmU5ZWIwY2UzNjA2ZWI0OCcsXG4gKiAgIGFiaTogcGFyc2VBYmkoWydldmVudCBUcmFuc2ZlcihhZGRyZXNzIGluZGV4ZWQsIGFkZHJlc3MgaW5kZXhlZCwgdWludDI1NiknXSksXG4gKiAgIGV2ZW50TmFtZTogJ1RyYW5zZmVyJyxcbiAqIH0pXG4gKiBjb25zdCBsb2dzID0gYXdhaXQgZ2V0RmlsdGVyQ2hhbmdlcyhjbGllbnQsIHsgZmlsdGVyIH0pXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFJhdyBFdmVudHNcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCwgcGFyc2VBYmlJdGVtIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGNyZWF0ZUV2ZW50RmlsdGVyLCBnZXRGaWx0ZXJDaGFuZ2VzIH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGZpbHRlciA9IGF3YWl0IGNyZWF0ZUV2ZW50RmlsdGVyKGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhhMGI4Njk5MWM2MjE4YjM2YzFkMTlkNGEyZTllYjBjZTM2MDZlYjQ4JyxcbiAqICAgZXZlbnQ6IHBhcnNlQWJpSXRlbSgnZXZlbnQgVHJhbnNmZXIoYWRkcmVzcyBpbmRleGVkLCBhZGRyZXNzIGluZGV4ZWQsIHVpbnQyNTYpJyksXG4gKiB9KVxuICogY29uc3QgbG9ncyA9IGF3YWl0IGdldEZpbHRlckNoYW5nZXMoY2xpZW50LCB7IGZpbHRlciB9KVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUcmFuc2FjdGlvbnNcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIsIGdldEZpbHRlckNoYW5nZXMgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgZmlsdGVyID0gYXdhaXQgY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyKGNsaWVudClcbiAqIGNvbnN0IGhhc2hlcyA9IGF3YWl0IGdldEZpbHRlckNoYW5nZXMoY2xpZW50LCB7IGZpbHRlciB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmlsdGVyQ2hhbmdlcyhfY2xpZW50LCB7IGZpbHRlciwgfSkge1xuICAgIGNvbnN0IHN0cmljdCA9ICdzdHJpY3QnIGluIGZpbHRlciAmJiBmaWx0ZXIuc3RyaWN0O1xuICAgIGNvbnN0IGxvZ3MgPSBhd2FpdCBmaWx0ZXIucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9nZXRGaWx0ZXJDaGFuZ2VzJyxcbiAgICAgICAgcGFyYW1zOiBbZmlsdGVyLmlkXSxcbiAgICB9KTtcbiAgICByZXR1cm4gbG9nc1xuICAgICAgICAubWFwKChsb2cpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBsb2cgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGxvZztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZXZlbnROYW1lLCBhcmdzIH0gPSAnYWJpJyBpbiBmaWx0ZXIgJiYgZmlsdGVyLmFiaVxuICAgICAgICAgICAgICAgID8gZGVjb2RlRXZlbnRMb2coe1xuICAgICAgICAgICAgICAgICAgICBhYmk6IGZpbHRlci5hYmksXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGxvZy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICB0b3BpY3M6IGxvZy50b3BpY3MsXG4gICAgICAgICAgICAgICAgICAgIHN0cmljdCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogeyBldmVudE5hbWU6IHVuZGVmaW5lZCwgYXJnczogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0TG9nKGxvZywgeyBhcmdzLCBldmVudE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgbGV0IGV2ZW50TmFtZTtcbiAgICAgICAgICAgIGxldCBpc1VubmFtZWQ7XG4gICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRGVjb2RlTG9nRGF0YU1pc21hdGNoIHx8XG4gICAgICAgICAgICAgICAgZXJyIGluc3RhbmNlb2YgRGVjb2RlTG9nVG9waWNzTWlzbWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBzdHJpY3QgbW9kZSBpcyBvbiwgYW5kIGxvZyBkYXRhL3RvcGljcyBkbyBub3QgbWF0Y2ggZXZlbnQgZGVmaW5pdGlvbiwgc2tpcC5cbiAgICAgICAgICAgICAgICBpZiAoJ3N0cmljdCcgaW4gZmlsdGVyICYmIGZpbHRlci5zdHJpY3QpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBldmVudE5hbWUgPSBlcnIuYWJpSXRlbS5uYW1lO1xuICAgICAgICAgICAgICAgIGlzVW5uYW1lZCA9IGVyci5hYmlJdGVtLmlucHV0cz8uc29tZSgoeCkgPT4gISgnbmFtZScgaW4geCAmJiB4Lm5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNldCBhcmdzIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBhbiBlcnJvciBkZWNvZGluZyAoZS5nLiBpbmRleGVkL25vbi1pbmRleGVkIHBhcmFtcyBtaXNtYXRjaCkuXG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0TG9nKGxvZywgeyBhcmdzOiBpc1VubmFtZWQgPyBbXSA6IHt9LCBldmVudE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICB9KVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RmlsdGVyQ2hhbmdlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getFilterChanges.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getFilterLogs.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getFilterLogs.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFilterLogs: function() { return /* binding */ getFilterLogs; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js\");\n/* harmony import */ var _utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/log.js */ \"./node_modules/viem/dist/esm/utils/formatters/log.js\");\n\n\n\n/**\n * Returns a list of event logs since the filter was created.\n *\n * - Docs: https://viem.sh/docs/actions/public/getFilterLogs.html\n * - JSON-RPC Methods: [`eth_getFilterLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterlogs)\n *\n * `getFilterLogs` is only compatible with **event filters**.\n *\n * @param client - Client to use\n * @param parameters - {@link GetFilterLogsParameters}\n * @returns A list of event logs. {@link GetFilterLogsReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbiItem } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createEventFilter, getFilterLogs } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createEventFilter(client, {\n * address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n * event: parseAbiItem('event Transfer(address indexed, address indexed, uint256)'),\n * })\n * const logs = await getFilterLogs(client, { filter })\n */\nasync function getFilterLogs(_client, { filter }) {\n const strict = filter.strict ?? false;\n const logs = await filter.request({\n method: 'eth_getFilterLogs',\n params: [filter.id],\n });\n return logs\n .map((log) => {\n try {\n const { eventName, args } = 'abi' in filter && filter.abi\n ? (0,_utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_0__.decodeEventLog)({\n abi: filter.abi,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return (0,_utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_1__.formatLog)(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__.DecodeLogDataMismatch ||\n err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__.DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if ('strict' in filter && filter.strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n return (0,_utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_1__.formatLog)(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=getFilterLogs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJMb2dzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBc0Y7QUFDbkI7QUFDVDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQSxZQUFZLHlDQUF5QztBQUNyRCxZQUFZLFVBQVU7QUFDdEIsWUFBWSxtQ0FBbUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDhDQUE4QyxRQUFRO0FBQ3REO0FBQ08sd0NBQXdDLFFBQVE7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QyxrQkFBa0IsNEVBQWM7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsb0JBQW9CO0FBQ3BCLG1CQUFtQixtRUFBUyxRQUFRLGlCQUFpQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixpRUFBcUI7QUFDcEQsK0JBQStCLG1FQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtRUFBUyxRQUFRLHlCQUF5QixhQUFhO0FBQzFFO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJMb2dzLmpzP2M2YTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2RlTG9nRGF0YU1pc21hdGNoLCBEZWNvZGVMb2dUb3BpY3NNaXNtYXRjaCwgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWJpLmpzJztcbmltcG9ydCB7IGRlY29kZUV2ZW50TG9nIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2RlY29kZUV2ZW50TG9nLmpzJztcbmltcG9ydCB7IGZvcm1hdExvZyB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvbG9nLmpzJztcbi8qKlxuICogUmV0dXJucyBhIGxpc3Qgb2YgZXZlbnQgbG9ncyBzaW5jZSB0aGUgZmlsdGVyIHdhcyBjcmVhdGVkLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0RmlsdGVyTG9ncy5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX2dldEZpbHRlckxvZ3NgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldGZpbHRlcmxvZ3MpXG4gKlxuICogYGdldEZpbHRlckxvZ3NgIGlzIG9ubHkgY29tcGF0aWJsZSB3aXRoICoqZXZlbnQgZmlsdGVycyoqLlxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBHZXRGaWx0ZXJMb2dzUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIEEgbGlzdCBvZiBldmVudCBsb2dzLiB7QGxpbmsgR2V0RmlsdGVyTG9nc1JldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCwgcGFyc2VBYmlJdGVtIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGNyZWF0ZUV2ZW50RmlsdGVyLCBnZXRGaWx0ZXJMb2dzIH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGZpbHRlciA9IGF3YWl0IGNyZWF0ZUV2ZW50RmlsdGVyKGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhhMGI4Njk5MWM2MjE4YjM2YzFkMTlkNGEyZTllYjBjZTM2MDZlYjQ4JyxcbiAqICAgZXZlbnQ6IHBhcnNlQWJpSXRlbSgnZXZlbnQgVHJhbnNmZXIoYWRkcmVzcyBpbmRleGVkLCBhZGRyZXNzIGluZGV4ZWQsIHVpbnQyNTYpJyksXG4gKiB9KVxuICogY29uc3QgbG9ncyA9IGF3YWl0IGdldEZpbHRlckxvZ3MoY2xpZW50LCB7IGZpbHRlciB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmlsdGVyTG9ncyhfY2xpZW50LCB7IGZpbHRlciB9KSB7XG4gICAgY29uc3Qgc3RyaWN0ID0gZmlsdGVyLnN0cmljdCA/PyBmYWxzZTtcbiAgICBjb25zdCBsb2dzID0gYXdhaXQgZmlsdGVyLnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2V0RmlsdGVyTG9ncycsXG4gICAgICAgIHBhcmFtczogW2ZpbHRlci5pZF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGxvZ3NcbiAgICAgICAgLm1hcCgobG9nKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50TmFtZSwgYXJncyB9ID0gJ2FiaScgaW4gZmlsdGVyICYmIGZpbHRlci5hYmlcbiAgICAgICAgICAgICAgICA/IGRlY29kZUV2ZW50TG9nKHtcbiAgICAgICAgICAgICAgICAgICAgYWJpOiBmaWx0ZXIuYWJpLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBsb2cuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgdG9waWNzOiBsb2cudG9waWNzLFxuICAgICAgICAgICAgICAgICAgICBzdHJpY3QsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IHsgZXZlbnROYW1lOiB1bmRlZmluZWQsIGFyZ3M6IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdExvZyhsb2csIHsgYXJncywgZXZlbnROYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxldCBldmVudE5hbWU7XG4gICAgICAgICAgICBsZXQgaXNVbm5hbWVkO1xuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIERlY29kZUxvZ0RhdGFNaXNtYXRjaCB8fFxuICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIERlY29kZUxvZ1RvcGljc01pc21hdGNoKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgc3RyaWN0IG1vZGUgaXMgb24sIGFuZCBsb2cgZGF0YS90b3BpY3MgZG8gbm90IG1hdGNoIGV2ZW50IGRlZmluaXRpb24sIHNraXAuXG4gICAgICAgICAgICAgICAgaWYgKCdzdHJpY3QnIGluIGZpbHRlciAmJiBmaWx0ZXIuc3RyaWN0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lID0gZXJyLmFiaUl0ZW0ubmFtZTtcbiAgICAgICAgICAgICAgICBpc1VubmFtZWQgPSBlcnIuYWJpSXRlbS5pbnB1dHM/LnNvbWUoKHgpID0+ICEoJ25hbWUnIGluIHggJiYgeC5uYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTZXQgYXJncyB0byBlbXB0eSBpZiB0aGVyZSBpcyBhbiBlcnJvciBkZWNvZGluZyAoZS5nLiBpbmRleGVkL25vbi1pbmRleGVkIHBhcmFtcyBtaXNtYXRjaCkuXG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0TG9nKGxvZywgeyBhcmdzOiBpc1VubmFtZWQgPyBbXSA6IHt9LCBldmVudE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICB9KVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RmlsdGVyTG9ncy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getFilterLogs.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getGasPrice.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getGasPrice.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getGasPrice: function() { return /* binding */ getGasPrice; }\n/* harmony export */ });\n/**\n * Returns the current price of gas (in wei).\n *\n * - Docs: https://viem.sh/docs/actions/public/getGasPrice.html\n * - JSON-RPC Methods: [`eth_gasPrice`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gasprice)\n *\n * @param client - Client to use\n * @returns The gas price (in wei). {@link GetGasPriceReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getGasPrice } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const gasPrice = await getGasPrice(client)\n */\nasync function getGasPrice(client) {\n const gasPrice = await client.request({\n method: 'eth_gasPrice',\n });\n return BigInt(gasPrice);\n}\n//# sourceMappingURL=getGasPrice.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRHYXNQcmljZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0R2FzUHJpY2UuanM/MzBkNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJldHVybnMgdGhlIGN1cnJlbnQgcHJpY2Ugb2YgZ2FzIChpbiB3ZWkpLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0R2FzUHJpY2UuaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9nYXNQcmljZWBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfZ2FzcHJpY2UpXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEByZXR1cm5zIFRoZSBnYXMgcHJpY2UgKGluIHdlaSkuIHtAbGluayBHZXRHYXNQcmljZVJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRHYXNQcmljZSB9IGZyb20gJ3ZpZW0vcHVibGljJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBnYXNQcmljZSA9IGF3YWl0IGdldEdhc1ByaWNlKGNsaWVudClcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEdhc1ByaWNlKGNsaWVudCkge1xuICAgIGNvbnN0IGdhc1ByaWNlID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2FzUHJpY2UnLFxuICAgIH0pO1xuICAgIHJldHVybiBCaWdJbnQoZ2FzUHJpY2UpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0R2FzUHJpY2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getGasPrice.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getLogs.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getLogs.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLogs: function() { return /* binding */ getLogs; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js\");\n/* harmony import */ var _utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/formatters/log.js */ \"./node_modules/viem/dist/esm/utils/formatters/log.js\");\n\n\n\n\n\n/**\n * Returns a list of event logs matching the provided parameters.\n *\n * - Docs: https://viem.sh/docs/actions/public/getLogs.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/filters-and-logs/event-logs\n * - JSON-RPC Methods: [`eth_getLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getlogs)\n *\n * @param client - Client to use\n * @param parameters - {@link GetLogsParameters}\n * @returns A list of event logs. {@link GetLogsReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbiItem } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getLogs } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const logs = await getLogs(client)\n */\nasync function getLogs(client, { address, blockHash, fromBlock, toBlock, event, args, strict: strict_, } = {}) {\n const strict = strict_ ?? false;\n let topics = [];\n if (event)\n topics = (0,_utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_0__.encodeEventTopics)({\n abi: [event],\n eventName: event.name,\n args,\n });\n let logs;\n if (blockHash) {\n logs = await client.request({\n method: 'eth_getLogs',\n params: [{ address, topics, blockHash }],\n });\n }\n else {\n logs = await client.request({\n method: 'eth_getLogs',\n params: [\n {\n address,\n topics,\n fromBlock: typeof fromBlock === 'bigint' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(toBlock) : toBlock,\n },\n ],\n });\n }\n return logs\n .map((log) => {\n try {\n const { eventName, args } = event\n ? (0,_utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_2__.decodeEventLog)({\n abi: [event],\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return (0,_utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_3__.formatLog)(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_4__.DecodeLogDataMismatch ||\n err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_4__.DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if (strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n return (0,_utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_3__.formatLog)(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=getLogs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRMb2dzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFzRjtBQUNuQjtBQUNPO0FBQ2Q7QUFDRjtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLG1DQUFtQztBQUNuQztBQUNBO0FBQ0EsWUFBWSx5Q0FBeUM7QUFDckQsWUFBWSxVQUFVO0FBQ3RCLFlBQVksVUFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ08saUNBQWlDLHdFQUF3RSxJQUFJO0FBQ3BIO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixrRkFBaUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDRCQUE0QjtBQUNuRCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxxRUFBVztBQUMxRSwyREFBMkQscUVBQVc7QUFDdEUsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QyxrQkFBa0IsNEVBQWM7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsb0JBQW9CO0FBQ3BCLG1CQUFtQixtRUFBUyxRQUFRLGlCQUFpQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixpRUFBcUI7QUFDcEQsK0JBQStCLG1FQUF1QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtRUFBUyxRQUFRLHlCQUF5QixhQUFhO0FBQzFFO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRMb2dzLmpzP2VkZGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2RlTG9nRGF0YU1pc21hdGNoLCBEZWNvZGVMb2dUb3BpY3NNaXNtYXRjaCwgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWJpLmpzJztcbmltcG9ydCB7IGRlY29kZUV2ZW50TG9nIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2RlY29kZUV2ZW50TG9nLmpzJztcbmltcG9ydCB7IGVuY29kZUV2ZW50VG9waWNzLCB9IGZyb20gJy4uLy4uL3V0aWxzL2FiaS9lbmNvZGVFdmVudFRvcGljcy5qcyc7XG5pbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbmltcG9ydCB7IGZvcm1hdExvZyB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvbG9nLmpzJztcbi8qKlxuICogUmV0dXJucyBhIGxpc3Qgb2YgZXZlbnQgbG9ncyBtYXRjaGluZyB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldExvZ3MuaHRtbFxuICogLSBFeGFtcGxlczogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9naXRodWIvd2FnbWktZGV2L3ZpZW0vdHJlZS9tYWluL2V4YW1wbGVzL2ZpbHRlcnMtYW5kLWxvZ3MvZXZlbnQtbG9nc1xuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9nZXRMb2dzYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRsb2dzKVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBHZXRMb2dzUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIEEgbGlzdCBvZiBldmVudCBsb2dzLiB7QGxpbmsgR2V0TG9nc1JldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCwgcGFyc2VBYmlJdGVtIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGdldExvZ3MgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgbG9ncyA9IGF3YWl0IGdldExvZ3MoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TG9ncyhjbGllbnQsIHsgYWRkcmVzcywgYmxvY2tIYXNoLCBmcm9tQmxvY2ssIHRvQmxvY2ssIGV2ZW50LCBhcmdzLCBzdHJpY3Q6IHN0cmljdF8sIH0gPSB7fSkge1xuICAgIGNvbnN0IHN0cmljdCA9IHN0cmljdF8gPz8gZmFsc2U7XG4gICAgbGV0IHRvcGljcyA9IFtdO1xuICAgIGlmIChldmVudClcbiAgICAgICAgdG9waWNzID0gZW5jb2RlRXZlbnRUb3BpY3Moe1xuICAgICAgICAgICAgYWJpOiBbZXZlbnRdLFxuICAgICAgICAgICAgZXZlbnROYW1lOiBldmVudC5uYW1lLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgfSk7XG4gICAgbGV0IGxvZ3M7XG4gICAgaWYgKGJsb2NrSGFzaCkge1xuICAgICAgICBsb2dzID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldExvZ3MnLFxuICAgICAgICAgICAgcGFyYW1zOiBbeyBhZGRyZXNzLCB0b3BpY3MsIGJsb2NrSGFzaCB9XSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBsb2dzID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXRoX2dldExvZ3MnLFxuICAgICAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICB0b3BpY3MsXG4gICAgICAgICAgICAgICAgICAgIGZyb21CbG9jazogdHlwZW9mIGZyb21CbG9jayA9PT0gJ2JpZ2ludCcgPyBudW1iZXJUb0hleChmcm9tQmxvY2spIDogZnJvbUJsb2NrLFxuICAgICAgICAgICAgICAgICAgICB0b0Jsb2NrOiB0eXBlb2YgdG9CbG9jayA9PT0gJ2JpZ2ludCcgPyBudW1iZXJUb0hleCh0b0Jsb2NrKSA6IHRvQmxvY2ssXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbG9nc1xuICAgICAgICAubWFwKChsb2cpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZXZlbnROYW1lLCBhcmdzIH0gPSBldmVudFxuICAgICAgICAgICAgICAgID8gZGVjb2RlRXZlbnRMb2coe1xuICAgICAgICAgICAgICAgICAgICBhYmk6IFtldmVudF0sXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGxvZy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICB0b3BpY3M6IGxvZy50b3BpY3MsXG4gICAgICAgICAgICAgICAgICAgIHN0cmljdCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogeyBldmVudE5hbWU6IHVuZGVmaW5lZCwgYXJnczogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0TG9nKGxvZywgeyBhcmdzLCBldmVudE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgbGV0IGV2ZW50TmFtZTtcbiAgICAgICAgICAgIGxldCBpc1VubmFtZWQ7XG4gICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRGVjb2RlTG9nRGF0YU1pc21hdGNoIHx8XG4gICAgICAgICAgICAgICAgZXJyIGluc3RhbmNlb2YgRGVjb2RlTG9nVG9waWNzTWlzbWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBzdHJpY3QgbW9kZSBpcyBvbiwgYW5kIGxvZyBkYXRhL3RvcGljcyBkbyBub3QgbWF0Y2ggZXZlbnQgZGVmaW5pdGlvbiwgc2tpcC5cbiAgICAgICAgICAgICAgICBpZiAoc3RyaWN0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lID0gZXJyLmFiaUl0ZW0ubmFtZTtcbiAgICAgICAgICAgICAgICBpc1VubmFtZWQgPSBlcnIuYWJpSXRlbS5pbnB1dHM/LnNvbWUoKHgpID0+ICEoJ25hbWUnIGluIHggJiYgeC5uYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTZXQgYXJncyB0byBlbXB0eSBpZiB0aGVyZSBpcyBhbiBlcnJvciBkZWNvZGluZyAoZS5nLiBpbmRleGVkL25vbi1pbmRleGVkIHBhcmFtcyBtaXNtYXRjaCkuXG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0TG9nKGxvZywgeyBhcmdzOiBpc1VubmFtZWQgPyBbXSA6IHt9LCBldmVudE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICB9KVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0TG9ncy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getLogs.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getStorageAt.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getStorageAt.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getStorageAt: function() { return /* binding */ getStorageAt; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Returns the value from a storage slot at a given address.\n *\n * - Docs: https://viem.sh/docs/contract/getStorageAt.html\n * - JSON-RPC Methods: [`eth_getStorageAt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getstorageat)\n *\n * @param client - Client to use\n * @param parameters - {@link GetStorageAtParameters}\n * @returns The value of the storage slot. {@link GetStorageAtReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getStorageAt } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const code = await getStorageAt(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * slot: toHex(0),\n * })\n */\nasync function getStorageAt(client, { address, blockNumber, blockTag = 'latest', slot }) {\n const blockNumberHex = blockNumber !== undefined ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n const data = await client.request({\n method: 'eth_getStorageAt',\n params: [address, slot, blockNumberHex || blockTag],\n });\n return data;\n}\n//# sourceMappingURL=getStorageAt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRTdG9yYWdlQXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxlQUFlO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLHNDQUFzQyxpREFBaUQ7QUFDOUYsdURBQXVELHFFQUFXO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0U3RvcmFnZUF0LmpzPzExOWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG4vKipcbiAqIFJldHVybnMgdGhlIHZhbHVlIGZyb20gYSBzdG9yYWdlIHNsb3QgYXQgYSBnaXZlbiBhZGRyZXNzLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvZ2V0U3RvcmFnZUF0Lmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfZ2V0U3RvcmFnZUF0YF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRzdG9yYWdlYXQpXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldFN0b3JhZ2VBdFBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIHN0b3JhZ2Ugc2xvdC4ge0BsaW5rIEdldFN0b3JhZ2VBdFJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRTdG9yYWdlQXQgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBjb2RlID0gYXdhaXQgZ2V0U3RvcmFnZUF0KGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhGQkEzOTEyQ2EwNGRkNDU4Yzg0M2UyRUUwODk2N2ZDMDRmMzU3OWMyJyxcbiAqICAgc2xvdDogdG9IZXgoMCksXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U3RvcmFnZUF0KGNsaWVudCwgeyBhZGRyZXNzLCBibG9ja051bWJlciwgYmxvY2tUYWcgPSAnbGF0ZXN0Jywgc2xvdCB9KSB7XG4gICAgY29uc3QgYmxvY2tOdW1iZXJIZXggPSBibG9ja051bWJlciAhPT0gdW5kZWZpbmVkID8gbnVtYmVyVG9IZXgoYmxvY2tOdW1iZXIpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9nZXRTdG9yYWdlQXQnLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBzbG90LCBibG9ja051bWJlckhleCB8fCBibG9ja1RhZ10sXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRTdG9yYWdlQXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getStorageAt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getTransaction.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getTransaction.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTransaction: function() { return /* binding */ getTransaction; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/formatters/transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n\n\n\n/**\n * Returns information about a [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) given a hash or block identifier.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransaction.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/fetching-transactions\n * - JSON-RPC Methods: [`eth_getTransactionByHash`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionByHash)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionParameters}\n * @returns The transaction information. {@link GetTransactionReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransaction } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transaction = await getTransaction(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nasync function getTransaction(client, { blockHash, blockNumber, blockTag = 'latest', hash, index, }) {\n const blockNumberHex = blockNumber !== undefined ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : undefined;\n let transaction = null;\n if (hash) {\n transaction = await client.request({\n method: 'eth_getTransactionByHash',\n params: [hash],\n });\n }\n else if (blockHash) {\n transaction = await client.request({\n method: 'eth_getTransactionByBlockHashAndIndex',\n params: [blockHash, (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(index)],\n });\n }\n else if (blockNumberHex || blockTag) {\n transaction = await client.request({\n method: 'eth_getTransactionByBlockNumberAndIndex',\n params: [blockNumberHex || blockTag, (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(index)],\n });\n }\n if (!transaction)\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__.TransactionNotFoundError({\n blockHash,\n blockNumber,\n blockTag,\n hash,\n index,\n });\n const format = client.chain?.formatters?.transaction?.format || _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_2__.formatTransaction;\n return format(transaction);\n}\n//# sourceMappingURL=getTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXVFO0FBQ1g7QUFDZTtBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLDBDQUEwQztBQUMxQztBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyx3Q0FBd0MsMkRBQTJEO0FBQzFHLHVEQUF1RCxxRUFBVztBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLHFFQUFXO0FBQzNDLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxxRUFBVztBQUM1RCxTQUFTO0FBQ1Q7QUFDQTtBQUNBLGtCQUFrQiw0RUFBd0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxvRUFBb0UsK0VBQWlCO0FBQ3JGO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbi5qcz8zYjZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qcyc7XG5pbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbmltcG9ydCB7IGZvcm1hdFRyYW5zYWN0aW9uLCB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb24uanMnO1xuLyoqXG4gKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgW1RyYW5zYWN0aW9uXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90ZXJtcy5odG1sI3RyYW5zYWN0aW9uKSBnaXZlbiBhIGhhc2ggb3IgYmxvY2sgaWRlbnRpZmllci5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uLmh0bWxcbiAqIC0gRXhhbXBsZTogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9naXRodWIvd2FnbWktZGV2L3ZpZW0vdHJlZS9tYWluL2V4YW1wbGVzL3RyYW5zYWN0aW9ucy9mZXRjaGluZy10cmFuc2FjdGlvbnNcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2hgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoKVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBHZXRUcmFuc2FjdGlvblBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgdHJhbnNhY3Rpb24gaW5mb3JtYXRpb24uIHtAbGluayBHZXRUcmFuc2FjdGlvblJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRUcmFuc2FjdGlvbiB9IGZyb20gJ3ZpZW0vcHVibGljJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IGdldFRyYW5zYWN0aW9uKGNsaWVudCwge1xuICogICBoYXNoOiAnMHg0Y2E3ZWU2NTJkNTc2NzhmMjZlODg3YzE0OWFiMDczNWY0MWRlMzdiY2FkNThjOWY2ZDNlZDU4MjRmMTViNzRkJyxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbihjbGllbnQsIHsgYmxvY2tIYXNoLCBibG9ja051bWJlciwgYmxvY2tUYWcgPSAnbGF0ZXN0JywgaGFzaCwgaW5kZXgsIH0pIHtcbiAgICBjb25zdCBibG9ja051bWJlckhleCA9IGJsb2NrTnVtYmVyICE9PSB1bmRlZmluZWQgPyBudW1iZXJUb0hleChibG9ja051bWJlcikgOiB1bmRlZmluZWQ7XG4gICAgbGV0IHRyYW5zYWN0aW9uID0gbnVsbDtcbiAgICBpZiAoaGFzaCkge1xuICAgICAgICB0cmFuc2FjdGlvbiA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V0aF9nZXRUcmFuc2FjdGlvbkJ5SGFzaCcsXG4gICAgICAgICAgICBwYXJhbXM6IFtoYXNoXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGJsb2NrSGFzaCkge1xuICAgICAgICB0cmFuc2FjdGlvbiA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXgnLFxuICAgICAgICAgICAgcGFyYW1zOiBbYmxvY2tIYXNoLCBudW1iZXJUb0hleChpbmRleCldLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWcpIHtcbiAgICAgICAgdHJhbnNhY3Rpb24gPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXgnLFxuICAgICAgICAgICAgcGFyYW1zOiBbYmxvY2tOdW1iZXJIZXggfHwgYmxvY2tUYWcsIG51bWJlclRvSGV4KGluZGV4KV0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoIXRyYW5zYWN0aW9uKVxuICAgICAgICB0aHJvdyBuZXcgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yKHtcbiAgICAgICAgICAgIGJsb2NrSGFzaCxcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgICAgICBoYXNoLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGZvcm1hdCA9IGNsaWVudC5jaGFpbj8uZm9ybWF0dGVycz8udHJhbnNhY3Rpb24/LmZvcm1hdCB8fCBmb3JtYXRUcmFuc2FjdGlvbjtcbiAgICByZXR1cm4gZm9ybWF0KHRyYW5zYWN0aW9uKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getTransactionConfirmations.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getTransactionConfirmations.js ***! - \**********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTransactionConfirmations: function() { return /* binding */ getTransactionConfirmations; }\n/* harmony export */ });\n/* harmony import */ var _getBlockNumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/getBlockNumber.js\");\n/* harmony import */ var _getTransaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getTransaction.js */ \"./node_modules/viem/dist/esm/actions/public/getTransaction.js\");\n\n\n/**\n * Returns the number of blocks passed (confirmations) since the transaction was processed on a block.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransactionConfirmations.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/fetching-transactions\n * - JSON-RPC Methods: [`eth_getTransactionConfirmations`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionConfirmations)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionConfirmationsParameters}\n * @returns The number of blocks passed since the transaction was processed. If confirmations is 0, then the Transaction has not been confirmed & processed yet. {@link GetTransactionConfirmationsReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransactionConfirmations } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const confirmations = await getTransactionConfirmations(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nasync function getTransactionConfirmations(client, { hash, transactionReceipt }) {\n const [blockNumber, transaction] = await Promise.all([\n (0,_getBlockNumber_js__WEBPACK_IMPORTED_MODULE_0__.getBlockNumber)(client),\n hash ? (0,_getTransaction_js__WEBPACK_IMPORTED_MODULE_1__.getTransaction)(client, { hash }) : undefined,\n ]);\n const transactionBlockNumber = transactionReceipt?.blockNumber || transaction?.blockNumber;\n if (!transactionBlockNumber)\n return 0n;\n return blockNumber - transactionBlockNumber + 1n;\n}\n//# sourceMappingURL=getTransactionConfirmations.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFEO0FBQ0E7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixrS0FBa0s7QUFDbEs7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLDhCQUE4QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08scURBQXFELDBCQUEwQjtBQUN0RjtBQUNBLFFBQVEsa0VBQWM7QUFDdEIsZUFBZSxrRUFBYyxXQUFXLE1BQU07QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zLmpzPzdhNmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QmxvY2tOdW1iZXIgfSBmcm9tICcuL2dldEJsb2NrTnVtYmVyLmpzJztcbmltcG9ydCB7IGdldFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9nZXRUcmFuc2FjdGlvbi5qcyc7XG4vKipcbiAqIFJldHVybnMgdGhlIG51bWJlciBvZiBibG9ja3MgcGFzc2VkIChjb25maXJtYXRpb25zKSBzaW5jZSB0aGUgdHJhbnNhY3Rpb24gd2FzIHByb2Nlc3NlZCBvbiBhIGJsb2NrLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zLmh0bWxcbiAqIC0gRXhhbXBsZTogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9naXRodWIvd2FnbWktZGV2L3ZpZW0vdHJlZS9tYWluL2V4YW1wbGVzL3RyYW5zYWN0aW9ucy9mZXRjaGluZy10cmFuc2FjdGlvbnNcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMpXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIEdldFRyYW5zYWN0aW9uQ29uZmlybWF0aW9uc1BhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGJsb2NrcyBwYXNzZWQgc2luY2UgdGhlIHRyYW5zYWN0aW9uIHdhcyBwcm9jZXNzZWQuIElmIGNvbmZpcm1hdGlvbnMgaXMgMCwgdGhlbiB0aGUgVHJhbnNhY3Rpb24gaGFzIG5vdCBiZWVuIGNvbmZpcm1lZCAmIHByb2Nlc3NlZCB5ZXQuIHtAbGluayBHZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnNSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zIH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGNvbmZpcm1hdGlvbnMgPSBhd2FpdCBnZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMoY2xpZW50LCB7XG4gKiAgIGhhc2g6ICcweDRjYTdlZTY1MmQ1NzY3OGYyNmU4ODdjMTQ5YWIwNzM1ZjQxZGUzN2JjYWQ1OGM5ZjZkM2VkNTgyNGYxNWI3NGQnLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uQ29uZmlybWF0aW9ucyhjbGllbnQsIHsgaGFzaCwgdHJhbnNhY3Rpb25SZWNlaXB0IH0pIHtcbiAgICBjb25zdCBbYmxvY2tOdW1iZXIsIHRyYW5zYWN0aW9uXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgZ2V0QmxvY2tOdW1iZXIoY2xpZW50KSxcbiAgICAgICAgaGFzaCA/IGdldFRyYW5zYWN0aW9uKGNsaWVudCwgeyBoYXNoIH0pIDogdW5kZWZpbmVkLFxuICAgIF0pO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uQmxvY2tOdW1iZXIgPSB0cmFuc2FjdGlvblJlY2VpcHQ/LmJsb2NrTnVtYmVyIHx8IHRyYW5zYWN0aW9uPy5ibG9ja051bWJlcjtcbiAgICBpZiAoIXRyYW5zYWN0aW9uQmxvY2tOdW1iZXIpXG4gICAgICAgIHJldHVybiAwbjtcbiAgICByZXR1cm4gYmxvY2tOdW1iZXIgLSB0cmFuc2FjdGlvbkJsb2NrTnVtYmVyICsgMW47XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getTransactionConfirmations.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getTransactionCount.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getTransactionCount.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTransactionCount: function() { return /* binding */ getTransactionCount; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n/**\n * Returns the number of [Transactions](https://viem.sh/docs/glossary/terms.html#transaction) an Account has broadcast / sent.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransactionCount.html\n * - JSON-RPC Methods: [`eth_getTransactionCount`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactioncount)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionCountParameters}\n * @returns The number of transactions an account has sent. {@link GetTransactionCountReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransactionCount } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionCount = await getTransactionCount(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nasync function getTransactionCount(client, { address, blockTag = 'latest', blockNumber }) {\n const count = await client.request({\n method: 'eth_getTransactionCount',\n params: [address, blockNumber ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blockNumber) : blockTag],\n });\n return (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.hexToNumber)(count);\n}\n//# sourceMappingURL=getTransactionCount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbkNvdW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE4RDtBQUNGO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLDZEQUE2RDtBQUM3RDtBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksc0JBQXNCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyw2Q0FBNkMsMkNBQTJDO0FBQy9GO0FBQ0E7QUFDQSx3Q0FBd0MscUVBQVc7QUFDbkQsS0FBSztBQUNMLFdBQVcsdUVBQVc7QUFDdEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbkNvdW50LmpzPzM3ZmMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGV4VG9OdW1iZXIgfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzJztcbmltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgW1RyYW5zYWN0aW9uc10oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZ2xvc3NhcnkvdGVybXMuaHRtbCN0cmFuc2FjdGlvbikgYW4gQWNjb3VudCBoYXMgYnJvYWRjYXN0IC8gc2VudC5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uQ291bnQuaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9nZXRUcmFuc2FjdGlvbkNvdW50YF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXR0cmFuc2FjdGlvbmNvdW50KVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBHZXRUcmFuc2FjdGlvbkNvdW50UGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFuIGFjY291bnQgaGFzIHNlbnQuIHtAbGluayBHZXRUcmFuc2FjdGlvbkNvdW50UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGdldFRyYW5zYWN0aW9uQ291bnQgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgdHJhbnNhY3Rpb25Db3VudCA9IGF3YWl0IGdldFRyYW5zYWN0aW9uQ291bnQoY2xpZW50LCB7XG4gKiAgIGFkZHJlc3M6ICcweEEwQ2Y3OTg4MTZENGI5Yjk4NjZiNTMzMEVFYTQ2YTE4MzgyZjI1MWUnLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uQ291bnQoY2xpZW50LCB7IGFkZHJlc3MsIGJsb2NrVGFnID0gJ2xhdGVzdCcsIGJsb2NrTnVtYmVyIH0pIHtcbiAgICBjb25zdCBjb3VudCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXRoX2dldFRyYW5zYWN0aW9uQ291bnQnLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBibG9ja051bWJlciA/IG51bWJlclRvSGV4KGJsb2NrTnVtYmVyKSA6IGJsb2NrVGFnXSxcbiAgICB9KTtcbiAgICByZXR1cm4gaGV4VG9OdW1iZXIoY291bnQpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0VHJhbnNhY3Rpb25Db3VudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getTransactionCount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/getTransactionReceipt.js": -/*!****************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/getTransactionReceipt.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTransactionReceipt: function() { return /* binding */ getTransactionReceipt; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _utils_formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/transactionReceipt.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js\");\n\n\n/**\n * Returns the [Transaction Receipt](https://viem.sh/docs/glossary/terms.html#transaction-receipt) given a [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransactionReceipt.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/fetching-transactions\n * - JSON-RPC Methods: [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionreceipt)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionReceiptParameters}\n * @returns The transaction receipt. {@link GetTransactionReceiptReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransactionReceipt } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionReceipt = await getTransactionReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nasync function getTransactionReceipt(client, { hash }) {\n const receipt = await client.request({\n method: 'eth_getTransactionReceipt',\n params: [hash],\n });\n if (!receipt)\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_0__.TransactionReceiptNotFoundError({ hash });\n const format = client.chain?.formatters?.transactionReceipt?.format ||\n _utils_formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_1__.formatTransactionReceipt;\n return format(receipt);\n}\n//# sourceMappingURL=getTransactionReceipt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvblJlY2VpcHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThFO0FBQ1c7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLHdCQUF3QjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sK0NBQStDLE1BQU07QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esa0JBQWtCLG1GQUErQixHQUFHLE1BQU07QUFDMUQ7QUFDQSxRQUFRLDZGQUF3QjtBQUNoQztBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25SZWNlaXB0LmpzPzlkMjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0Tm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qcyc7XG5pbXBvcnQgeyBmb3JtYXRUcmFuc2FjdGlvblJlY2VpcHQsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlY2VpcHQuanMnO1xuLyoqXG4gKiBSZXR1cm5zIHRoZSBbVHJhbnNhY3Rpb24gUmVjZWlwdF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZ2xvc3NhcnkvdGVybXMuaHRtbCN0cmFuc2FjdGlvbi1yZWNlaXB0KSBnaXZlbiBhIFtUcmFuc2FjdGlvbl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZ2xvc3NhcnkvdGVybXMuaHRtbCN0cmFuc2FjdGlvbikgaGFzaC5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2dldFRyYW5zYWN0aW9uUmVjZWlwdC5odG1sXG4gKiAtIEV4YW1wbGU6IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZ2l0aHViL3dhZ21pLWRldi92aWVtL3RyZWUvbWFpbi9leGFtcGxlcy90cmFuc2FjdGlvbnMvZmV0Y2hpbmctdHJhbnNhY3Rpb25zXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdGBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfZ2V0dHJhbnNhY3Rpb25yZWNlaXB0KVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBHZXRUcmFuc2FjdGlvblJlY2VpcHRQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIHRyYW5zYWN0aW9uIHJlY2VpcHQuIHtAbGluayBHZXRUcmFuc2FjdGlvblJlY2VpcHRSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IHRyYW5zYWN0aW9uUmVjZWlwdCA9IGF3YWl0IGdldFRyYW5zYWN0aW9uUmVjZWlwdChjbGllbnQsIHtcbiAqICAgaGFzaDogJzB4NGNhN2VlNjUyZDU3Njc4ZjI2ZTg4N2MxNDlhYjA3MzVmNDFkZTM3YmNhZDU4YzlmNmQzZWQ1ODI0ZjE1Yjc0ZCcsXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KGNsaWVudCwgeyBoYXNoIH0pIHtcbiAgICBjb25zdCByZWNlaXB0ID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0JyxcbiAgICAgICAgcGFyYW1zOiBbaGFzaF0sXG4gICAgfSk7XG4gICAgaWYgKCFyZWNlaXB0KVxuICAgICAgICB0aHJvdyBuZXcgVHJhbnNhY3Rpb25SZWNlaXB0Tm90Rm91bmRFcnJvcih7IGhhc2ggfSk7XG4gICAgY29uc3QgZm9ybWF0ID0gY2xpZW50LmNoYWluPy5mb3JtYXR0ZXJzPy50cmFuc2FjdGlvblJlY2VpcHQ/LmZvcm1hdCB8fFxuICAgICAgICBmb3JtYXRUcmFuc2FjdGlvblJlY2VpcHQ7XG4gICAgcmV0dXJuIGZvcm1hdChyZWNlaXB0KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uUmVjZWlwdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/getTransactionReceipt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/multicall.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/multicall.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ multicall: function() { return /* binding */ multicall; }\n/* harmony export */ });\n/* harmony import */ var _constants_abis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/esm/constants/abis.js\");\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/esm/utils/errors/getContractError.js\");\n/* harmony import */ var _readContract_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n\n\n\n\n\n\n\n\n/**\n * Similar to [`readContract`](https://viem.sh/docs/contract/readContract.html), but batches up multiple functions on a contract in a single RPC call via the [`multicall3` contract](https://github.com/mds1/multicall).\n *\n * - Docs: https://viem.sh/docs/contract/multicall.html\n *\n * @param client - Client to use\n * @param parameters - {@link MulticallParameters}\n * @returns An array of results with accompanying status. {@link MulticallReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { multicall } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const abi = parseAbi([\n * 'function balanceOf(address) view returns (uint256)',\n * 'function totalSupply() view returns (uint256)',\n * ])\n * const results = await multicall(client, {\n * contracts: [\n * {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi,\n * functionName: 'balanceOf',\n * args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],\n * },\n * {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi,\n * functionName: 'totalSupply',\n * },\n * ],\n * })\n * // [{ result: 424122n, status: 'success' }, { result: 1000000n, status: 'success' }]\n */\nasync function multicall(client, args) {\n const { allowFailure = true, batchSize: batchSize_, blockNumber, blockTag, contracts: contracts_, multicallAddress: multicallAddress_, } = args;\n const batchSize = batchSize_ ??\n ((typeof client.batch?.multicall === 'object' &&\n client.batch.multicall.batchSize) ||\n 1024);\n // Fix type cast from `Narrow` in type definition.\n const contracts = contracts_;\n let multicallAddress = multicallAddress_;\n if (!multicallAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. multicallAddress is required.');\n multicallAddress = (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.getChainContractAddress)({\n blockNumber,\n chain: client.chain,\n contract: 'multicall3',\n });\n }\n const chunkedCalls = [[]];\n let currentChunk = 0;\n let currentChunkSize = 0;\n for (let i = 0; i < contracts.length; i++) {\n const { abi, address, args, functionName } = contracts[i];\n try {\n const callData = (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_1__.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n currentChunkSize += callData.length;\n if (batchSize > 0 && currentChunkSize > batchSize) {\n currentChunk++;\n currentChunkSize = (callData.length - 2) / 2;\n chunkedCalls[currentChunk] = [];\n }\n chunkedCalls[currentChunk] = [\n ...chunkedCalls[currentChunk],\n {\n allowFailure: true,\n callData,\n target: address,\n },\n ];\n }\n catch (err) {\n const error = (0,_utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_2__.getContractError)(err, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/multicall',\n functionName,\n });\n if (!allowFailure)\n throw error;\n chunkedCalls[currentChunk] = [\n ...chunkedCalls[currentChunk],\n {\n allowFailure: true,\n callData: '0x',\n target: address,\n },\n ];\n }\n }\n const results = await Promise.all(chunkedCalls.map((calls) => (0,_readContract_js__WEBPACK_IMPORTED_MODULE_3__.readContract)(client, {\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_4__.multicall3Abi,\n address: multicallAddress,\n args: [calls],\n blockNumber,\n blockTag,\n functionName: 'aggregate3',\n })));\n return results.flat().map(({ returnData, success }, i) => {\n const calls = chunkedCalls.flat();\n const { callData } = calls[i];\n const { abi, address, functionName, args } = contracts[i];\n try {\n if (callData === '0x')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_5__.AbiDecodingZeroDataError();\n if (!success)\n throw new _errors_contract_js__WEBPACK_IMPORTED_MODULE_6__.RawContractError({ data: returnData });\n const result = (0,_utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_7__.decodeFunctionResult)({\n abi,\n data: returnData,\n functionName: functionName,\n });\n return allowFailure ? { result, status: 'success' } : result;\n }\n catch (err) {\n const error = (0,_utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_2__.getContractError)(err, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/multicall',\n functionName,\n });\n if (!allowFailure)\n throw error;\n return { error, result: undefined, status: 'failure' };\n }\n });\n}\n//# sourceMappingURL=multicall.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9tdWx0aWNhbGwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQXdEO0FBQ087QUFDSDtBQUNtQjtBQUNIO0FBQ2I7QUFDVztBQUN6QjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQSxZQUFZLHFDQUFxQztBQUNqRCxZQUFZLFVBQVU7QUFDdEIsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxJQUFJO0FBQ0osU0FBUyxvQ0FBb0MsSUFBSSxxQ0FBcUM7QUFDdEY7QUFDTztBQUNQLFlBQVksaUlBQWlJO0FBQzdJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHdFQUF1QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isc0JBQXNCO0FBQzFDLGdCQUFnQixtQ0FBbUM7QUFDbkQ7QUFDQSw2QkFBNkIsb0ZBQWtCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1GQUFnQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFLDhEQUFZO0FBQzlFLGFBQWEsNkRBQWE7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxpQ0FBaUMscUJBQXFCO0FBQ3REO0FBQ0EsZ0JBQWdCLFdBQVc7QUFDM0IsZ0JBQWdCLG1DQUFtQztBQUNuRDtBQUNBO0FBQ0EsMEJBQTBCLG9FQUF3QjtBQUNsRDtBQUNBLDBCQUEwQixpRUFBZ0IsR0FBRyxrQkFBa0I7QUFDL0QsMkJBQTJCLHdGQUFvQjtBQUMvQztBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2Isb0NBQW9DLDRCQUE0QjtBQUNoRTtBQUNBO0FBQ0EsMEJBQTBCLG1GQUFnQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9tdWx0aWNhbGwuanM/NzM0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtdWx0aWNhbGwzQWJpIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FiaXMuanMnO1xuaW1wb3J0IHsgQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBSYXdDb250cmFjdEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2NvbnRyYWN0LmpzJztcbmltcG9ydCB7IGRlY29kZUZ1bmN0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uUmVzdWx0LmpzJztcbmltcG9ydCB7IGVuY29kZUZ1bmN0aW9uRGF0YSwgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzJztcbmltcG9ydCB7IGdldENoYWluQ29udHJhY3RBZGRyZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2hhaW4uanMnO1xuaW1wb3J0IHsgZ2V0Q29udHJhY3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vycm9ycy9nZXRDb250cmFjdEVycm9yLmpzJztcbmltcG9ydCB7IHJlYWRDb250cmFjdCB9IGZyb20gJy4vcmVhZENvbnRyYWN0LmpzJztcbi8qKlxuICogU2ltaWxhciB0byBbYHJlYWRDb250cmFjdGBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L3JlYWRDb250cmFjdC5odG1sKSwgYnV0IGJhdGNoZXMgdXAgbXVsdGlwbGUgZnVuY3Rpb25zIG9uIGEgY29udHJhY3QgaW4gYSBzaW5nbGUgUlBDIGNhbGwgdmlhIHRoZSBbYG11bHRpY2FsbDNgIGNvbnRyYWN0XShodHRwczovL2dpdGh1Yi5jb20vbWRzMS9tdWx0aWNhbGwpLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvbXVsdGljYWxsLmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgTXVsdGljYWxsUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlc3VsdHMgd2l0aCBhY2NvbXBhbnlpbmcgc3RhdHVzLiB7QGxpbmsgTXVsdGljYWxsUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwLCBwYXJzZUFiaSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBtdWx0aWNhbGwgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBhYmkgPSBwYXJzZUFiaShbXG4gKiAgICdmdW5jdGlvbiBiYWxhbmNlT2YoYWRkcmVzcykgdmlldyByZXR1cm5zICh1aW50MjU2KScsXG4gKiAgICdmdW5jdGlvbiB0b3RhbFN1cHBseSgpIHZpZXcgcmV0dXJucyAodWludDI1NiknLFxuICogXSlcbiAqIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBtdWx0aWNhbGwoY2xpZW50LCB7XG4gKiAgIGNvbnRyYWN0czogW1xuICogICAgIHtcbiAqICAgICAgIGFkZHJlc3M6ICcweEZCQTM5MTJDYTA0ZGQ0NThjODQzZTJFRTA4OTY3ZkMwNGYzNTc5YzInLFxuICogICAgICAgYWJpLFxuICogICAgICAgZnVuY3Rpb25OYW1lOiAnYmFsYW5jZU9mJyxcbiAqICAgICAgIGFyZ3M6IFsnMHhBMENmNzk4ODE2RDRiOWI5ODY2YjUzMzBFRWE0NmExODM4MmYyNTFlJ10sXG4gKiAgICAgfSxcbiAqICAgICB7XG4gKiAgICAgICBhZGRyZXNzOiAnMHhGQkEzOTEyQ2EwNGRkNDU4Yzg0M2UyRUUwODk2N2ZDMDRmMzU3OWMyJyxcbiAqICAgICAgIGFiaSxcbiAqICAgICAgIGZ1bmN0aW9uTmFtZTogJ3RvdGFsU3VwcGx5JyxcbiAqICAgICB9LFxuICogICBdLFxuICogfSlcbiAqIC8vIFt7IHJlc3VsdDogNDI0MTIybiwgc3RhdHVzOiAnc3VjY2VzcycgfSwgeyByZXN1bHQ6IDEwMDAwMDBuLCBzdGF0dXM6ICdzdWNjZXNzJyB9XVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbXVsdGljYWxsKGNsaWVudCwgYXJncykge1xuICAgIGNvbnN0IHsgYWxsb3dGYWlsdXJlID0gdHJ1ZSwgYmF0Y2hTaXplOiBiYXRjaFNpemVfLCBibG9ja051bWJlciwgYmxvY2tUYWcsIGNvbnRyYWN0czogY29udHJhY3RzXywgbXVsdGljYWxsQWRkcmVzczogbXVsdGljYWxsQWRkcmVzc18sIH0gPSBhcmdzO1xuICAgIGNvbnN0IGJhdGNoU2l6ZSA9IGJhdGNoU2l6ZV8gPz9cbiAgICAgICAgKCh0eXBlb2YgY2xpZW50LmJhdGNoPy5tdWx0aWNhbGwgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICBjbGllbnQuYmF0Y2gubXVsdGljYWxsLmJhdGNoU2l6ZSkgfHxcbiAgICAgICAgICAgIDEwMjQpO1xuICAgIC8vIEZpeCB0eXBlIGNhc3QgZnJvbSBgTmFycm93YCBpbiB0eXBlIGRlZmluaXRpb24uXG4gICAgY29uc3QgY29udHJhY3RzID0gY29udHJhY3RzXztcbiAgICBsZXQgbXVsdGljYWxsQWRkcmVzcyA9IG11bHRpY2FsbEFkZHJlc3NfO1xuICAgIGlmICghbXVsdGljYWxsQWRkcmVzcykge1xuICAgICAgICBpZiAoIWNsaWVudC5jaGFpbilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2xpZW50IGNoYWluIG5vdCBjb25maWd1cmVkLiBtdWx0aWNhbGxBZGRyZXNzIGlzIHJlcXVpcmVkLicpO1xuICAgICAgICBtdWx0aWNhbGxBZGRyZXNzID0gZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3Moe1xuICAgICAgICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICAgICAgICBjaGFpbjogY2xpZW50LmNoYWluLFxuICAgICAgICAgICAgY29udHJhY3Q6ICdtdWx0aWNhbGwzJyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGNodW5rZWRDYWxscyA9IFtbXV07XG4gICAgbGV0IGN1cnJlbnRDaHVuayA9IDA7XG4gICAgbGV0IGN1cnJlbnRDaHVua1NpemUgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29udHJhY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHsgYWJpLCBhZGRyZXNzLCBhcmdzLCBmdW5jdGlvbk5hbWUgfSA9IGNvbnRyYWN0c1tpXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxEYXRhID0gZW5jb2RlRnVuY3Rpb25EYXRhKHtcbiAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGN1cnJlbnRDaHVua1NpemUgKz0gY2FsbERhdGEubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKGJhdGNoU2l6ZSA+IDAgJiYgY3VycmVudENodW5rU2l6ZSA+IGJhdGNoU2l6ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRDaHVuaysrO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRDaHVua1NpemUgPSAoY2FsbERhdGEubGVuZ3RoIC0gMikgLyAyO1xuICAgICAgICAgICAgICAgIGNodW5rZWRDYWxsc1tjdXJyZW50Q2h1bmtdID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaHVua2VkQ2FsbHNbY3VycmVudENodW5rXSA9IFtcbiAgICAgICAgICAgICAgICAuLi5jaHVua2VkQ2FsbHNbY3VycmVudENodW5rXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFsbG93RmFpbHVyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2FsbERhdGEsXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogYWRkcmVzcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IGdldENvbnRyYWN0RXJyb3IoZXJyLCB7XG4gICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L211bHRpY2FsbCcsXG4gICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIWFsbG93RmFpbHVyZSlcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgIGNodW5rZWRDYWxsc1tjdXJyZW50Q2h1bmtdID0gW1xuICAgICAgICAgICAgICAgIC4uLmNodW5rZWRDYWxsc1tjdXJyZW50Q2h1bmtdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGYWlsdXJlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjYWxsRGF0YTogJzB4JyxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBhZGRyZXNzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChjaHVua2VkQ2FsbHMubWFwKChjYWxscykgPT4gcmVhZENvbnRyYWN0KGNsaWVudCwge1xuICAgICAgICBhYmk6IG11bHRpY2FsbDNBYmksXG4gICAgICAgIGFkZHJlc3M6IG11bHRpY2FsbEFkZHJlc3MsXG4gICAgICAgIGFyZ3M6IFtjYWxsc10sXG4gICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICBibG9ja1RhZyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiAnYWdncmVnYXRlMycsXG4gICAgfSkpKTtcbiAgICByZXR1cm4gcmVzdWx0cy5mbGF0KCkubWFwKCh7IHJldHVybkRhdGEsIHN1Y2Nlc3MgfSwgaSkgPT4ge1xuICAgICAgICBjb25zdCBjYWxscyA9IGNodW5rZWRDYWxscy5mbGF0KCk7XG4gICAgICAgIGNvbnN0IHsgY2FsbERhdGEgfSA9IGNhbGxzW2ldO1xuICAgICAgICBjb25zdCB7IGFiaSwgYWRkcmVzcywgZnVuY3Rpb25OYW1lLCBhcmdzIH0gPSBjb250cmFjdHNbaV07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoY2FsbERhdGEgPT09ICcweCcpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFiaURlY29kaW5nWmVyb0RhdGFFcnJvcigpO1xuICAgICAgICAgICAgaWYgKCFzdWNjZXNzKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYXdDb250cmFjdEVycm9yKHsgZGF0YTogcmV0dXJuRGF0YSB9KTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGRlY29kZUZ1bmN0aW9uUmVzdWx0KHtcbiAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgZGF0YTogcmV0dXJuRGF0YSxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGFsbG93RmFpbHVyZSA/IHsgcmVzdWx0LCBzdGF0dXM6ICdzdWNjZXNzJyB9IDogcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yID0gZ2V0Q29udHJhY3RFcnJvcihlcnIsIHtcbiAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvbXVsdGljYWxsJyxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghYWxsb3dGYWlsdXJlKVxuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3IsIHJlc3VsdDogdW5kZWZpbmVkLCBzdGF0dXM6ICdmYWlsdXJlJyB9O1xuICAgICAgICB9XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tdWx0aWNhbGwuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/multicall.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/readContract.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/readContract.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ readContract: function() { return /* binding */ readContract; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/esm/utils/errors/getContractError.js\");\n/* harmony import */ var _call_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./call.js */ \"./node_modules/viem/dist/esm/actions/public/call.js\");\n\n\n\n\n/**\n * Calls a read-only function on a contract, and returns the response.\n *\n * - Docs: https://viem.sh/docs/contract/readContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/reading-contracts\n *\n * A \"read-only\" function (constant function) on a Solidity contract is denoted by a `view` or `pure` keyword. They can only read the state of the contract, and cannot make any changes to it. Since read-only methods do not change the state of the contract, they do not require any gas to be executed, and can be called by any user without the need to pay for gas.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`call` action](https://viem.sh/docs/actions/public/call.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * @param client - Client to use\n * @param parameters - {@link ReadContractParameters}\n * @returns The response from the contract. Type is inferred. {@link ReadContractReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { readContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await readContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function balanceOf(address) view returns (uint256)']),\n * functionName: 'balanceOf',\n * args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],\n * })\n * // 424122n\n */\nasync function readContract(client, { abi, address, args, functionName, ...callRequest }) {\n const calldata = (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_0__.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await (0,_call_js__WEBPACK_IMPORTED_MODULE_1__.call)(client, {\n data: calldata,\n to: address,\n ...callRequest,\n });\n return (0,_utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_2__.decodeFunctionResult)({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n }\n catch (err) {\n throw (0,_utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_3__.getContractError)(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/readContract',\n functionName,\n });\n }\n}\n//# sourceMappingURL=readContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9yZWFkQ29udHJhY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBZ0Y7QUFDSjtBQUNGO0FBQ3pDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsK0RBQStEO0FBQy9EO0FBQ0E7QUFDQSxZQUFZLHFDQUFxQztBQUNqRCxZQUFZLFVBQVU7QUFDdEIsWUFBWSxlQUFlO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPLHNDQUFzQyxrREFBa0Q7QUFDL0YscUJBQXFCLG9GQUFrQjtBQUN2QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxnQkFBZ0IsT0FBTyxRQUFRLDhDQUFJO0FBQ25DO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxlQUFlLHdGQUFvQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsY0FBYyxtRkFBZ0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvcmVhZENvbnRyYWN0LmpzP2ZjMjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVjb2RlRnVuY3Rpb25SZXN1bHQsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uUmVzdWx0LmpzJztcbmltcG9ydCB7IGVuY29kZUZ1bmN0aW9uRGF0YSwgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzJztcbmltcG9ydCB7IGdldENvbnRyYWN0RXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qcyc7XG5pbXBvcnQgeyBjYWxsIH0gZnJvbSAnLi9jYWxsLmpzJztcbi8qKlxuICogQ2FsbHMgYSByZWFkLW9ubHkgZnVuY3Rpb24gb24gYSBjb250cmFjdCwgYW5kIHJldHVybnMgdGhlIHJlc3BvbnNlLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvcmVhZENvbnRyYWN0Lmh0bWxcbiAqIC0gRXhhbXBsZXM6IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZ2l0aHViL3dhZ21pLWRldi92aWVtL3RyZWUvbWFpbi9leGFtcGxlcy9jb250cmFjdHMvcmVhZGluZy1jb250cmFjdHNcbiAqXG4gKiBBIFwicmVhZC1vbmx5XCIgZnVuY3Rpb24gKGNvbnN0YW50IGZ1bmN0aW9uKSBvbiBhIFNvbGlkaXR5IGNvbnRyYWN0IGlzIGRlbm90ZWQgYnkgYSBgdmlld2Agb3IgYHB1cmVgIGtleXdvcmQuIFRoZXkgY2FuIG9ubHkgcmVhZCB0aGUgc3RhdGUgb2YgdGhlIGNvbnRyYWN0LCBhbmQgY2Fubm90IG1ha2UgYW55IGNoYW5nZXMgdG8gaXQuIFNpbmNlIHJlYWQtb25seSBtZXRob2RzIGRvIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBjb250cmFjdCwgdGhleSBkbyBub3QgcmVxdWlyZSBhbnkgZ2FzIHRvIGJlIGV4ZWN1dGVkLCBhbmQgY2FuIGJlIGNhbGxlZCBieSBhbnkgdXNlciB3aXRob3V0IHRoZSBuZWVkIHRvIHBheSBmb3IgZ2FzLlxuICpcbiAqIEludGVybmFsbHksIHVzZXMgYSBbUHVibGljIENsaWVudF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY2xpZW50cy9wdWJsaWMuaHRtbCkgdG8gY2FsbCB0aGUgW2BjYWxsYCBhY3Rpb25dKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2NhbGwuaHRtbCkgd2l0aCBbQUJJLWVuY29kZWQgYGRhdGFgXShodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC9lbmNvZGVGdW5jdGlvbkRhdGEuaHRtbCkuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFJlYWRDb250cmFjdFBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgY29udHJhY3QuIFR5cGUgaXMgaW5mZXJyZWQuIHtAbGluayBSZWFkQ29udHJhY3RSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAsIHBhcnNlQWJpIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHJlYWRDb250cmFjdCB9IGZyb20gJ3ZpZW0vY29udHJhY3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlYWRDb250cmFjdChjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4RkJBMzkxMkNhMDRkZDQ1OGM4NDNlMkVFMDg5NjdmQzA0ZjM1NzljMicsXG4gKiAgIGFiaTogcGFyc2VBYmkoWydmdW5jdGlvbiBiYWxhbmNlT2YoYWRkcmVzcykgdmlldyByZXR1cm5zICh1aW50MjU2KSddKSxcbiAqICAgZnVuY3Rpb25OYW1lOiAnYmFsYW5jZU9mJyxcbiAqICAgYXJnczogWycweEEwQ2Y3OTg4MTZENGI5Yjk4NjZiNTMzMEVFYTQ2YTE4MzgyZjI1MWUnXSxcbiAqIH0pXG4gKiAvLyA0MjQxMjJuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkQ29udHJhY3QoY2xpZW50LCB7IGFiaSwgYWRkcmVzcywgYXJncywgZnVuY3Rpb25OYW1lLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3QgY2FsbGRhdGEgPSBlbmNvZGVGdW5jdGlvbkRhdGEoe1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICB9KTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGNhbGwoY2xpZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBjYWxsZGF0YSxcbiAgICAgICAgICAgIHRvOiBhZGRyZXNzLFxuICAgICAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZGVjb2RlRnVuY3Rpb25SZXN1bHQoe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIGRhdGE6IGRhdGEgfHwgJzB4JyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZ2V0Q29udHJhY3RFcnJvcihlcnIsIHtcbiAgICAgICAgICAgIGFiaTogYWJpLFxuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L3JlYWRDb250cmFjdCcsXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWRDb250cmFjdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/readContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/simulateContract.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/simulateContract.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ simulateContract: function() { return /* binding */ simulateContract; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/errors/getContractError.js */ \"./node_modules/viem/dist/esm/utils/errors/getContractError.js\");\n/* harmony import */ var _call_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./call.js */ \"./node_modules/viem/dist/esm/actions/public/call.js\");\n\n\n\n\n\n/**\n * Simulates/validates a contract interaction. This is useful for retrieving **return data** and **revert reasons** of contract write functions.\n *\n * - Docs: https://viem.sh/docs/contract/simulateContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/writing-to-contracts\n *\n * This function does not require gas to execute and _**does not**_ change the state of the blockchain. It is almost identical to [`readContract`](https://viem.sh/docs/contract/readContract.html), but also supports contract write functions.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`call` action](https://viem.sh/docs/actions/public/call.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * @param client - Client to use\n * @param parameters - {@link SimulateContractParameters}\n * @returns The simulation result and write request. {@link SimulateContractReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { simulateContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await simulateContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32) view returns (uint32)']),\n * functionName: 'mint',\n * args: ['69420'],\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nasync function simulateContract(client, { abi, address, args, dataSuffix, functionName, ...callRequest }) {\n const account = callRequest.account\n ? (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_0__.parseAccount)(callRequest.account)\n : undefined;\n const calldata = (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_1__.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await (0,_call_js__WEBPACK_IMPORTED_MODULE_2__.call)(client, {\n batch: false,\n data: `${calldata}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...callRequest,\n });\n const result = (0,_utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_3__.decodeFunctionResult)({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n return {\n result,\n request: {\n abi,\n address,\n args,\n functionName,\n ...callRequest,\n },\n };\n }\n catch (err) {\n throw (0,_utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_4__.getContractError)(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/simulateContract',\n functionName,\n sender: account?.address,\n });\n }\n}\n//# sourceMappingURL=simulateContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9zaW11bGF0ZUNvbnRyYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFvRTtBQUNZO0FBQ0o7QUFDRjtBQUN6QztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLHNEQUFzRDtBQUN0RDtBQUNBO0FBQ0EsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksbUJBQW1CO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLDBDQUEwQyw4REFBOEQ7QUFDL0c7QUFDQSxVQUFVLDZFQUFZO0FBQ3RCO0FBQ0EscUJBQXFCLG9GQUFrQjtBQUN2QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxnQkFBZ0IsT0FBTyxRQUFRLDhDQUFJO0FBQ25DO0FBQ0EscUJBQXFCLFNBQVMsRUFBRSwrQ0FBK0M7QUFDL0U7QUFDQTtBQUNBLFNBQVM7QUFDVCx1QkFBdUIsd0ZBQW9CO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsY0FBYyxtRkFBZ0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy9zaW11bGF0ZUNvbnRyYWN0LmpzP2ZkODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBY2NvdW50IH0gZnJvbSAnLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzJztcbmltcG9ydCB7IGRlY29kZUZ1bmN0aW9uUmVzdWx0LCB9IGZyb20gJy4uLy4uL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qcyc7XG5pbXBvcnQgeyBlbmNvZGVGdW5jdGlvbkRhdGEsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2VuY29kZUZ1bmN0aW9uRGF0YS5qcyc7XG5pbXBvcnQgeyBnZXRDb250cmFjdEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvZXJyb3JzL2dldENvbnRyYWN0RXJyb3IuanMnO1xuaW1wb3J0IHsgY2FsbCB9IGZyb20gJy4vY2FsbC5qcyc7XG4vKipcbiAqIFNpbXVsYXRlcy92YWxpZGF0ZXMgYSBjb250cmFjdCBpbnRlcmFjdGlvbi4gVGhpcyBpcyB1c2VmdWwgZm9yIHJldHJpZXZpbmcgKipyZXR1cm4gZGF0YSoqIGFuZCAqKnJldmVydCByZWFzb25zKiogb2YgY29udHJhY3Qgd3JpdGUgZnVuY3Rpb25zLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3Qvc2ltdWxhdGVDb250cmFjdC5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvY29udHJhY3RzL3dyaXRpbmctdG8tY29udHJhY3RzXG4gKlxuICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXF1aXJlIGdhcyB0byBleGVjdXRlIGFuZCBfKipkb2VzIG5vdCoqXyBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBibG9ja2NoYWluLiBJdCBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIFtgcmVhZENvbnRyYWN0YF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvcmVhZENvbnRyYWN0Lmh0bWwpLCBidXQgYWxzbyBzdXBwb3J0cyBjb250cmFjdCB3cml0ZSBmdW5jdGlvbnMuXG4gKlxuICogSW50ZXJuYWxseSwgdXNlcyBhIFtQdWJsaWMgQ2xpZW50XShodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL3B1YmxpYy5odG1sKSB0byBjYWxsIHRoZSBbYGNhbGxgIGFjdGlvbl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvY2FsbC5odG1sKSB3aXRoIFtBQkktZW5jb2RlZCBgZGF0YWBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L2VuY29kZUZ1bmN0aW9uRGF0YS5odG1sKS5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgU2ltdWxhdGVDb250cmFjdFBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgc2ltdWxhdGlvbiByZXN1bHQgYW5kIHdyaXRlIHJlcXVlc3QuIHtAbGluayBTaW11bGF0ZUNvbnRyYWN0UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNpbXVsYXRlQ29udHJhY3QgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBzaW11bGF0ZUNvbnRyYWN0KGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhGQkEzOTEyQ2EwNGRkNDU4Yzg0M2UyRUUwODk2N2ZDMDRmMzU3OWMyJyxcbiAqICAgYWJpOiBwYXJzZUFiaShbJ2Z1bmN0aW9uIG1pbnQodWludDMyKSB2aWV3IHJldHVybnMgKHVpbnQzMiknXSksXG4gKiAgIGZ1bmN0aW9uTmFtZTogJ21pbnQnLFxuICogICBhcmdzOiBbJzY5NDIwJ10sXG4gKiAgIGFjY291bnQ6ICcweEEwQ2Y3OTg4MTZENGI5Yjk4NjZiNTMzMEVFYTQ2YTE4MzgyZjI1MWUnLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpbXVsYXRlQ29udHJhY3QoY2xpZW50LCB7IGFiaSwgYWRkcmVzcywgYXJncywgZGF0YVN1ZmZpeCwgZnVuY3Rpb25OYW1lLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3QgYWNjb3VudCA9IGNhbGxSZXF1ZXN0LmFjY291bnRcbiAgICAgICAgPyBwYXJzZUFjY291bnQoY2FsbFJlcXVlc3QuYWNjb3VudClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgY2FsbGRhdGEgPSBlbmNvZGVGdW5jdGlvbkRhdGEoe1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICB9KTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGNhbGwoY2xpZW50LCB7XG4gICAgICAgICAgICBiYXRjaDogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiBgJHtjYWxsZGF0YX0ke2RhdGFTdWZmaXggPyBkYXRhU3VmZml4LnJlcGxhY2UoJzB4JywgJycpIDogJyd9YCxcbiAgICAgICAgICAgIHRvOiBhZGRyZXNzLFxuICAgICAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBkZWNvZGVGdW5jdGlvblJlc3VsdCh7XG4gICAgICAgICAgICBhYmksXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgZGF0YTogZGF0YSB8fCAnMHgnLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAuLi5jYWxsUmVxdWVzdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZ2V0Q29udHJhY3RFcnJvcihlcnIsIHtcbiAgICAgICAgICAgIGFiaTogYWJpLFxuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L3NpbXVsYXRlQ29udHJhY3QnLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgc2VuZGVyOiBhY2NvdW50Py5hZGRyZXNzLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaW11bGF0ZUNvbnRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/simulateContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/uninstallFilter.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/uninstallFilter.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ uninstallFilter: function() { return /* binding */ uninstallFilter; }\n/* harmony export */ });\n/**\n * Destroys a [`Filter`](https://viem.sh/docs/glossary/types.html#filter).\n *\n * - Docs: https://viem.sh/docs/actions/public/uninstallFilter.html\n * - JSON-RPC Methods: [`eth_uninstallFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_uninstallFilter)\n *\n * Destroys a Filter that was created from one of the following Actions:\n * - [`createBlockFilter`](https://viem.sh/docs/actions/public/createBlockFilter.html)\n * - [`createEventFilter`](https://viem.sh/docs/actions/public/createEventFilter.html)\n * - [`createPendingTransactionFilter`](https://viem.sh/docs/actions/public/createPendingTransactionFilter.html)\n *\n * @param client - Client to use\n * @param parameters - {@link UninstallFilterParameters}\n * @returns A boolean indicating if the Filter was successfully uninstalled. {@link UninstallFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter, uninstallFilter } from 'viem/public'\n *\n * const filter = await createPendingTransactionFilter(client)\n * const uninstalled = await uninstallFilter(client, { filter })\n * // true\n */\nasync function uninstallFilter(_client, { filter }) {\n return filter.request({\n method: 'eth_uninstallFilter',\n params: [filter.id],\n });\n}\n//# sourceMappingURL=uninstallFilter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy91bmluc3RhbGxGaWx0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qiw4RUFBOEU7QUFDOUU7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLGtEQUFrRDtBQUM5RDtBQUNBO0FBQ0EsdURBQXVELFFBQVE7QUFDL0Q7QUFDQTtBQUNPLDBDQUEwQyxRQUFRO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL3VuaW5zdGFsbEZpbHRlci5qcz80MTg4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzdHJveXMgYSBbYEZpbHRlcmBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2dsb3NzYXJ5L3R5cGVzLmh0bWwjZmlsdGVyKS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL3VuaW5zdGFsbEZpbHRlci5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX3VuaW5zdGFsbEZpbHRlcmBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfdW5pbnN0YWxsRmlsdGVyKVxuICpcbiAqIERlc3Ryb3lzIGEgRmlsdGVyIHRoYXQgd2FzIGNyZWF0ZWQgZnJvbSBvbmUgb2YgdGhlIGZvbGxvd2luZyBBY3Rpb25zOlxuICogLSBbYGNyZWF0ZUJsb2NrRmlsdGVyYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvY3JlYXRlQmxvY2tGaWx0ZXIuaHRtbClcbiAqIC0gW2BjcmVhdGVFdmVudEZpbHRlcmBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2NyZWF0ZUV2ZW50RmlsdGVyLmh0bWwpXG4gKiAtIFtgY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyLmh0bWwpXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFVuaW5zdGFsbEZpbHRlclBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgRmlsdGVyIHdhcyBzdWNjZXNzZnVsbHkgdW5pbnN0YWxsZWQuIHtAbGluayBVbmluc3RhbGxGaWx0ZXJSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyLCB1bmluc3RhbGxGaWx0ZXIgfSBmcm9tICd2aWVtL3B1YmxpYydcbiAqXG4gKiBjb25zdCBmaWx0ZXIgPSBhd2FpdCBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIoY2xpZW50KVxuICogY29uc3QgdW5pbnN0YWxsZWQgPSBhd2FpdCB1bmluc3RhbGxGaWx0ZXIoY2xpZW50LCB7IGZpbHRlciB9KVxuICogLy8gdHJ1ZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdW5pbnN0YWxsRmlsdGVyKF9jbGllbnQsIHsgZmlsdGVyIH0pIHtcbiAgICByZXR1cm4gZmlsdGVyLnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfdW5pbnN0YWxsRmlsdGVyJyxcbiAgICAgICAgcGFyYW1zOiBbZmlsdGVyLmlkXSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVuaW5zdGFsbEZpbHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/uninstallFilter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/verifyHash.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/verifyHash.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ verifyHash: function() { return /* binding */ verifyHash; }\n/* harmony export */ });\n/* harmony import */ var _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/abis.js */ \"./node_modules/viem/dist/esm/constants/abis.js\");\n/* harmony import */ var _constants_contracts_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants/contracts.js */ \"./node_modules/viem/dist/esm/constants/contracts.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _utils_data_isBytesEqual_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/data/isBytesEqual.js */ \"./node_modules/viem/dist/esm/utils/data/isBytesEqual.js\");\n/* harmony import */ var _utils_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/index.js */ \"./node_modules/viem/dist/esm/utils/index.js\");\n/* harmony import */ var _call_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./call.js */ \"./node_modules/viem/dist/esm/actions/public/call.js\");\n\n\n\n\n\n\n/**\n * Verifies a message hash on chain using ERC-6492.\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyHashParameters}\n * @returns Whether or not the signature is valid. {@link VerifyHashReturnType}\n */\nasync function verifyHash(client, { address, hash, signature, ...callRequest }) {\n const signatureHex = (0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(signature) ? signature : (0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.toHex)(signature);\n try {\n const { data } = await (0,_call_js__WEBPACK_IMPORTED_MODULE_1__.call)(client, {\n data: (0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.encodeDeployData)({\n abi: _constants_abis_js__WEBPACK_IMPORTED_MODULE_2__.universalSignatureValidatorAbi,\n args: [address, hash, signatureHex],\n bytecode: _constants_contracts_js__WEBPACK_IMPORTED_MODULE_3__.universalSignatureValidatorByteCode,\n }),\n ...callRequest,\n });\n return (0,_utils_data_isBytesEqual_js__WEBPACK_IMPORTED_MODULE_4__.isBytesEqual)(data ?? '0x0', '0x1');\n }\n catch (error) {\n if (error instanceof _errors_contract_js__WEBPACK_IMPORTED_MODULE_5__.CallExecutionError) {\n // if the execution fails, the signature was not valid and an internal method inside of the validator reverted\n // this can happen for many reasons, for example if signer can not be recovered from the signature\n // or if the signature has no valid format\n return false;\n }\n throw error;\n }\n}\n//# sourceMappingURL=verifyHash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy92ZXJpZnlIYXNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBeUU7QUFDVTtBQUNyQjtBQUNFO0FBQ007QUFDckM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsb0RBQW9EO0FBQ3BEO0FBQ08sb0NBQW9DLDBDQUEwQztBQUNyRix5QkFBeUIsc0RBQUssMEJBQTBCLHNEQUFLO0FBQzdEO0FBQ0EsZ0JBQWdCLE9BQU8sUUFBUSw4Q0FBSTtBQUNuQyxrQkFBa0IsaUVBQWdCO0FBQ2xDLHFCQUFxQiw4RUFBOEI7QUFDbkQ7QUFDQSwwQkFBMEIsd0ZBQW1DO0FBQzdELGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVCxlQUFlLHlFQUFZO0FBQzNCO0FBQ0E7QUFDQSw2QkFBNkIsbUVBQWtCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy92ZXJpZnlIYXNoLmpzPzkwNGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdW5pdmVyc2FsU2lnbmF0dXJlVmFsaWRhdG9yQWJpIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FiaXMuanMnO1xuaW1wb3J0IHsgdW5pdmVyc2FsU2lnbmF0dXJlVmFsaWRhdG9yQnl0ZUNvZGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29udHJhY3RzLmpzJztcbmltcG9ydCB7IENhbGxFeGVjdXRpb25FcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9jb250cmFjdC5qcyc7XG5pbXBvcnQgeyBpc0J5dGVzRXF1YWwgfSBmcm9tICcuLi8uLi91dGlscy9kYXRhL2lzQnl0ZXNFcXVhbC5qcyc7XG5pbXBvcnQgeyBlbmNvZGVEZXBsb3lEYXRhLCBpc0hleCwgdG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9pbmRleC5qcyc7XG5pbXBvcnQgeyBjYWxsIH0gZnJvbSAnLi9jYWxsLmpzJztcbi8qKlxuICogVmVyaWZpZXMgYSBtZXNzYWdlIGhhc2ggb24gY2hhaW4gdXNpbmcgRVJDLTY0OTIuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2UuXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBWZXJpZnlIYXNoUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIFdoZXRoZXIgb3Igbm90IHRoZSBzaWduYXR1cmUgaXMgdmFsaWQuIHtAbGluayBWZXJpZnlIYXNoUmV0dXJuVHlwZX1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeUhhc2goY2xpZW50LCB7IGFkZHJlc3MsIGhhc2gsIHNpZ25hdHVyZSwgLi4uY2FsbFJlcXVlc3QgfSkge1xuICAgIGNvbnN0IHNpZ25hdHVyZUhleCA9IGlzSGV4KHNpZ25hdHVyZSkgPyBzaWduYXR1cmUgOiB0b0hleChzaWduYXR1cmUpO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgY2FsbChjbGllbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IGVuY29kZURlcGxveURhdGEoe1xuICAgICAgICAgICAgICAgIGFiaTogdW5pdmVyc2FsU2lnbmF0dXJlVmFsaWRhdG9yQWJpLFxuICAgICAgICAgICAgICAgIGFyZ3M6IFthZGRyZXNzLCBoYXNoLCBzaWduYXR1cmVIZXhdLFxuICAgICAgICAgICAgICAgIGJ5dGVjb2RlOiB1bml2ZXJzYWxTaWduYXR1cmVWYWxpZGF0b3JCeXRlQ29kZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4uY2FsbFJlcXVlc3QsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gaXNCeXRlc0VxdWFsKGRhdGEgPz8gJzB4MCcsICcweDEnKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIENhbGxFeGVjdXRpb25FcnJvcikge1xuICAgICAgICAgICAgLy8gaWYgdGhlIGV4ZWN1dGlvbiBmYWlscywgdGhlIHNpZ25hdHVyZSB3YXMgbm90IHZhbGlkIGFuZCBhbiBpbnRlcm5hbCBtZXRob2QgaW5zaWRlIG9mIHRoZSB2YWxpZGF0b3IgcmV2ZXJ0ZWRcbiAgICAgICAgICAgIC8vIHRoaXMgY2FuIGhhcHBlbiBmb3IgbWFueSByZWFzb25zLCBmb3IgZXhhbXBsZSBpZiBzaWduZXIgY2FuIG5vdCBiZSByZWNvdmVyZWQgZnJvbSB0aGUgc2lnbmF0dXJlXG4gICAgICAgICAgICAvLyBvciBpZiB0aGUgc2lnbmF0dXJlIGhhcyBubyB2YWxpZCBmb3JtYXRcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJpZnlIYXNoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/verifyHash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/verifyMessage.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/verifyMessage.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ verifyMessage: function() { return /* binding */ verifyMessage; }\n/* harmony export */ });\n/* harmony import */ var _utils_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/index.js */ \"./node_modules/viem/dist/esm/utils/index.js\");\n/* harmony import */ var _verifyHash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./verifyHash.js */ \"./node_modules/viem/dist/esm/actions/public/verifyHash.js\");\n\n\n/**\n * Verify that a message was signed by the provided address.\n *\n * Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).\n *\n * - Docs {@link https://viem.sh/docs/actions/public/verifyMessage.html}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyMessageParameters}\n * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}\n */\nasync function verifyMessage(client, { address, message, signature, ...callRequest }) {\n const hash = (0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.hashMessage)(message);\n return (0,_verifyHash_js__WEBPACK_IMPORTED_MODULE_1__.verifyHash)(client, {\n address,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifyMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy92ZXJpZnlNZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFtRDtBQUNOO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixvREFBb0Q7QUFDcEQ7QUFDTyx1Q0FBdUMsNkNBQTZDO0FBQzNGLGlCQUFpQiw0REFBVztBQUM1QixXQUFXLDBEQUFVO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvdmVyaWZ5TWVzc2FnZS5qcz8wY2FhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc2hNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgdmVyaWZ5SGFzaCB9IGZyb20gJy4vdmVyaWZ5SGFzaC5qcyc7XG4vKipcbiAqIFZlcmlmeSB0aGF0IGEgbWVzc2FnZSB3YXMgc2lnbmVkIGJ5IHRoZSBwcm92aWRlZCBhZGRyZXNzLlxuICpcbiAqIENvbXBhdGlibGUgd2l0aCBTbWFydCBDb250cmFjdCBBY2NvdW50cyAmIEV4dGVybmFsbHkgT3duZWQgQWNjb3VudHMgdmlhIFtFUkMtNjQ5Ml0oaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC02NDkyKS5cbiAqXG4gKiAtIERvY3Mge0BsaW5rIGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL3ZlcmlmeU1lc3NhZ2UuaHRtbH1cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZS5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFZlcmlmeU1lc3NhZ2VQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgV2hldGhlciBvciBub3QgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZC4ge0BsaW5rIFZlcmlmeU1lc3NhZ2VSZXR1cm5UeXBlfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5TWVzc2FnZShjbGllbnQsIHsgYWRkcmVzcywgbWVzc2FnZSwgc2lnbmF0dXJlLCAuLi5jYWxsUmVxdWVzdCB9KSB7XG4gICAgY29uc3QgaGFzaCA9IGhhc2hNZXNzYWdlKG1lc3NhZ2UpO1xuICAgIHJldHVybiB2ZXJpZnlIYXNoKGNsaWVudCwge1xuICAgICAgICBhZGRyZXNzLFxuICAgICAgICBoYXNoLFxuICAgICAgICBzaWduYXR1cmUsXG4gICAgICAgIC4uLmNhbGxSZXF1ZXN0LFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyaWZ5TWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/verifyMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/verifyTypedData.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/verifyTypedData.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ verifyTypedData: function() { return /* binding */ verifyTypedData; }\n/* harmony export */ });\n/* harmony import */ var _utils_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/index.js */ \"./node_modules/viem/dist/esm/utils/index.js\");\n/* harmony import */ var _verifyHash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./verifyHash.js */ \"./node_modules/viem/dist/esm/actions/public/verifyHash.js\");\n\n\n/**\n * Verify that typed data was signed by the provided address.\n *\n * - Docs {@link https://viem.sh/docs/actions/public/verifyTypedData.html}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyTypedDataParameters}\n * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}\n */\nasync function verifyTypedData(client, { address, signature, message, primaryType, types, domain, ...callRequest }) {\n const hash = (0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.hashTypedData)({ message, primaryType, types, domain });\n return (0,_verifyHash_js__WEBPACK_IMPORTED_MODULE_1__.verifyHash)(client, {\n address,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifyTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy92ZXJpZnlUeXBlZERhdGEuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFEO0FBQ1I7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsb0RBQW9EO0FBQ3BEO0FBQ08seUNBQXlDLHlFQUF5RTtBQUN6SCxpQkFBaUIsOERBQWEsR0FBRyxxQ0FBcUM7QUFDdEUsV0FBVywwREFBVTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL3ZlcmlmeVR5cGVkRGF0YS5qcz83ZDc0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc2hUeXBlZERhdGEgfSBmcm9tICcuLi8uLi91dGlscy9pbmRleC5qcyc7XG5pbXBvcnQgeyB2ZXJpZnlIYXNoIH0gZnJvbSAnLi92ZXJpZnlIYXNoLmpzJztcbi8qKlxuICogVmVyaWZ5IHRoYXQgdHlwZWQgZGF0YSB3YXMgc2lnbmVkIGJ5IHRoZSBwcm92aWRlZCBhZGRyZXNzLlxuICpcbiAqIC0gRG9jcyB7QGxpbmsgaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvdmVyaWZ5VHlwZWREYXRhLmh0bWx9XG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2UuXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBWZXJpZnlUeXBlZERhdGFQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgV2hldGhlciBvciBub3QgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZC4ge0BsaW5rIFZlcmlmeVR5cGVkRGF0YVJldHVyblR5cGV9XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlUeXBlZERhdGEoY2xpZW50LCB7IGFkZHJlc3MsIHNpZ25hdHVyZSwgbWVzc2FnZSwgcHJpbWFyeVR5cGUsIHR5cGVzLCBkb21haW4sIC4uLmNhbGxSZXF1ZXN0IH0pIHtcbiAgICBjb25zdCBoYXNoID0gaGFzaFR5cGVkRGF0YSh7IG1lc3NhZ2UsIHByaW1hcnlUeXBlLCB0eXBlcywgZG9tYWluIH0pO1xuICAgIHJldHVybiB2ZXJpZnlIYXNoKGNsaWVudCwge1xuICAgICAgICBhZGRyZXNzLFxuICAgICAgICBoYXNoLFxuICAgICAgICBzaWduYXR1cmUsXG4gICAgICAgIC4uLmNhbGxSZXF1ZXN0LFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyaWZ5VHlwZWREYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/verifyTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/waitForTransactionReceipt.js": -/*!********************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/waitForTransactionReceipt.js ***! - \********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ waitForTransactionReceipt: function() { return /* binding */ waitForTransactionReceipt; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _utils_observe_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/esm/utils/observe.js\");\n/* harmony import */ var _utils_promise_withRetry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/promise/withRetry.js */ \"./node_modules/viem/dist/esm/utils/promise/withRetry.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _getBlock_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getBlock.js */ \"./node_modules/viem/dist/esm/actions/public/getBlock.js\");\n/* harmony import */ var _getTransaction_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getTransaction.js */ \"./node_modules/viem/dist/esm/actions/public/getTransaction.js\");\n/* harmony import */ var _getTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getTransactionReceipt.js */ \"./node_modules/viem/dist/esm/actions/public/getTransactionReceipt.js\");\n/* harmony import */ var _watchBlockNumber_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./watchBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/watchBlockNumber.js\");\n\n\n\n\n\n\n\n\n/**\n * Waits for the [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) to be included on a [Block](https://viem.sh/docs/glossary/terms.html#block) (one confirmation), and then returns the [Transaction Receipt](https://viem.sh/docs/glossary/terms.html#transaction-receipt). If the Transaction reverts, then the action will throw an error.\n *\n * - Docs: https://viem.sh/docs/actions/public/waitForTransactionReceipt.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/sending-transactions\n * - JSON-RPC Methods:\n * - Polls [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionReceipt) on each block until it has been processed.\n * - If a Transaction has been replaced:\n * - Calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbynumber) and extracts the transactions\n * - Checks if one of the Transactions is a replacement\n * - If so, calls [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionReceipt).\n *\n * The `waitForTransactionReceipt` action additionally supports Replacement detection (e.g. sped up Transactions).\n *\n * Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel). Transactions are replaced when they are sent from the same nonce.\n *\n * There are 3 types of Transaction Replacement reasons:\n *\n * - `repriced`: The gas price has been modified (e.g. different `maxFeePerGas`)\n * - `cancelled`: The Transaction has been cancelled (e.g. `value === 0n`)\n * - `replaced`: The Transaction has been replaced (e.g. different `value` or `data`)\n *\n * @param client - Client to use\n * @param parameters - {@link WaitForTransactionReceiptParameters}\n * @returns The transaction receipt. {@link WaitForTransactionReceiptReturnType}\n *\n * @example\n * import { createPublicClient, waitForTransactionReceipt, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionReceipt = await waitForTransactionReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nasync function waitForTransactionReceipt(client, { confirmations = 1, hash, onReplaced, pollingInterval = client.pollingInterval, timeout, }) {\n const observerId = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)(['waitForTransactionReceipt', client.uid, hash]);\n let transaction;\n let replacedTransaction;\n let receipt;\n let retrying = false;\n return new Promise((resolve, reject) => {\n if (timeout)\n setTimeout(() => reject(new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__.WaitForTransactionReceiptTimeoutError({ hash })), timeout);\n const _unobserve = (0,_utils_observe_js__WEBPACK_IMPORTED_MODULE_2__.observe)(observerId, { onReplaced, resolve, reject }, (emit) => {\n const unwatch = (0,_watchBlockNumber_js__WEBPACK_IMPORTED_MODULE_3__.watchBlockNumber)(client, {\n emitMissed: true,\n emitOnBegin: true,\n poll: true,\n pollingInterval,\n async onBlockNumber(blockNumber_) {\n if (retrying)\n return;\n let blockNumber = blockNumber_;\n const done = async (fn) => {\n unwatch();\n fn();\n _unobserve();\n };\n try {\n // If we already have a valid receipt, let's check if we have enough\n // confirmations. If we do, then we can resolve.\n if (receipt) {\n if (blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n done(() => emit.resolve(receipt));\n return;\n }\n // Get the transaction to check if it's been replaced.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined transactions.\n if (!transaction) {\n retrying = true;\n await (0,_utils_promise_withRetry_js__WEBPACK_IMPORTED_MODULE_4__.withRetry)(async () => {\n transaction = await (0,_getTransaction_js__WEBPACK_IMPORTED_MODULE_5__.getTransaction)(client, { hash });\n if (transaction.blockNumber)\n blockNumber = transaction.blockNumber;\n }, {\n // exponential backoff\n delay: ({ count }) => ~~(1 << count) * 200,\n retryCount: 6,\n });\n retrying = false;\n }\n // Get the receipt to check if it's been processed.\n receipt = await (0,_getTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_6__.getTransactionReceipt)(client, { hash });\n // Check if we have enough confirmations. If not, continue polling.\n if (confirmations > 0 &&\n blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n done(() => emit.resolve(receipt));\n }\n catch (err) {\n // If the receipt is not found, the transaction will be pending.\n // We need to check if it has potentially been replaced.\n if (transaction &&\n (err instanceof _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__.TransactionNotFoundError ||\n err instanceof _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__.TransactionReceiptNotFoundError)) {\n replacedTransaction = transaction;\n // Let's retrieve the transactions from the current block.\n const block = await (0,_getBlock_js__WEBPACK_IMPORTED_MODULE_7__.getBlock)(client, {\n blockNumber,\n includeTransactions: true,\n });\n const replacementTransaction = block.transactions.find(({ from, nonce }) => from === replacedTransaction.from &&\n nonce === replacedTransaction.nonce);\n // If we couldn't find a replacement transaction, continue polling.\n if (!replacementTransaction)\n return;\n // If we found a replacement transaction, return it's receipt.\n receipt = await (0,_getTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_6__.getTransactionReceipt)(client, {\n hash: replacementTransaction.hash,\n });\n // Check if we have enough confirmations. If not, continue polling.\n if (blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n let reason = 'replaced';\n if (replacementTransaction.to === replacedTransaction.to &&\n replacementTransaction.value === replacedTransaction.value) {\n reason = 'repriced';\n }\n else if (replacementTransaction.from === replacementTransaction.to &&\n replacementTransaction.value === 0n) {\n reason = 'cancelled';\n }\n done(() => {\n emit.onReplaced?.({\n reason,\n replacedTransaction: replacedTransaction,\n transaction: replacementTransaction,\n transactionReceipt: receipt,\n });\n emit.resolve(receipt);\n });\n }\n else {\n done(() => emit.reject(err));\n }\n }\n },\n });\n return unwatch;\n });\n });\n}\n//# sourceMappingURL=waitForTransactionReceipt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFnSjtBQUMvRjtBQUNZO0FBQ1I7QUFDWjtBQUNhO0FBQ2M7QUFDWDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLHNDQUFzQztBQUN0QztBQUNBO0FBQ0EsWUFBWSxzREFBc0Q7QUFDbEUsWUFBWSxVQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxtREFBbUQseUZBQXlGO0FBQ25KLHVCQUF1Qiw4REFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MseUZBQXFDLEdBQUcsTUFBTTtBQUN0RiwyQkFBMkIsMERBQU8sZUFBZSw2QkFBNkI7QUFDOUUsNEJBQTRCLHNFQUFnQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0Msc0VBQVM7QUFDM0Msb0RBQW9ELGtFQUFjLFdBQVcsTUFBTTtBQUNuRjtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0EsMENBQTBDLE9BQU87QUFDakQ7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLGdGQUFxQixXQUFXLE1BQU07QUFDOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsNEVBQXdCO0FBQ3BFLCtDQUErQyxtRkFBK0I7QUFDOUU7QUFDQTtBQUNBLGdEQUFnRCxzREFBUTtBQUN4RDtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCLHNGQUFzRixhQUFhO0FBQ25HO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsZ0ZBQXFCO0FBQ2pFO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0LmpzP2E2ZDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yLCBUcmFuc2FjdGlvblJlY2VpcHROb3RGb3VuZEVycm9yLCBXYWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0VGltZW91dEVycm9yLCB9IGZyb20gJy4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qcyc7XG5pbXBvcnQgeyBvYnNlcnZlIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JzZXJ2ZS5qcyc7XG5pbXBvcnQgeyB3aXRoUmV0cnkgfSBmcm9tICcuLi8uLi91dGlscy9wcm9taXNlL3dpdGhSZXRyeS5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmdpZnkuanMnO1xuaW1wb3J0IHsgZ2V0QmxvY2sgfSBmcm9tICcuL2dldEJsb2NrLmpzJztcbmltcG9ydCB7IGdldFRyYW5zYWN0aW9uLCB9IGZyb20gJy4vZ2V0VHJhbnNhY3Rpb24uanMnO1xuaW1wb3J0IHsgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0LCB9IGZyb20gJy4vZ2V0VHJhbnNhY3Rpb25SZWNlaXB0LmpzJztcbmltcG9ydCB7IHdhdGNoQmxvY2tOdW1iZXIgfSBmcm9tICcuL3dhdGNoQmxvY2tOdW1iZXIuanMnO1xuLyoqXG4gKiBXYWl0cyBmb3IgdGhlIFtUcmFuc2FjdGlvbl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZ2xvc3NhcnkvdGVybXMuaHRtbCN0cmFuc2FjdGlvbikgdG8gYmUgaW5jbHVkZWQgb24gYSBbQmxvY2tdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2dsb3NzYXJ5L3Rlcm1zLmh0bWwjYmxvY2spIChvbmUgY29uZmlybWF0aW9uKSwgYW5kIHRoZW4gcmV0dXJucyB0aGUgW1RyYW5zYWN0aW9uIFJlY2VpcHRdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2dsb3NzYXJ5L3Rlcm1zLmh0bWwjdHJhbnNhY3Rpb24tcmVjZWlwdCkuIElmIHRoZSBUcmFuc2FjdGlvbiByZXZlcnRzLCB0aGVuIHRoZSBhY3Rpb24gd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL3dhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQuaHRtbFxuICogLSBFeGFtcGxlOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvdHJhbnNhY3Rpb25zL3NlbmRpbmctdHJhbnNhY3Rpb25zXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6XG4gKiAgIC0gUG9sbHMgW2BldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0YF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQpIG9uIGVhY2ggYmxvY2sgdW50aWwgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkLlxuICogICAtIElmIGEgVHJhbnNhY3Rpb24gaGFzIGJlZW4gcmVwbGFjZWQ6XG4gKiAgICAgLSBDYWxscyBbYGV0aF9nZXRCbG9ja0J5TnVtYmVyYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRibG9ja2J5bnVtYmVyKSBhbmQgZXh0cmFjdHMgdGhlIHRyYW5zYWN0aW9uc1xuICogICAgIC0gQ2hlY2tzIGlmIG9uZSBvZiB0aGUgVHJhbnNhY3Rpb25zIGlzIGEgcmVwbGFjZW1lbnRcbiAqICAgICAtIElmIHNvLCBjYWxscyBbYGV0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHRgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdCkuXG4gKlxuICogVGhlIGB3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0YCBhY3Rpb24gYWRkaXRpb25hbGx5IHN1cHBvcnRzIFJlcGxhY2VtZW50IGRldGVjdGlvbiAoZS5nLiBzcGVkIHVwIFRyYW5zYWN0aW9ucykuXG4gKlxuICogVHJhbnNhY3Rpb25zIGNhbiBiZSByZXBsYWNlZCB3aGVuIGEgdXNlciBtb2RpZmllcyB0aGVpciB0cmFuc2FjdGlvbiBpbiB0aGVpciB3YWxsZXQgKHRvIHNwZWVkIHVwIG9yIGNhbmNlbCkuIFRyYW5zYWN0aW9ucyBhcmUgcmVwbGFjZWQgd2hlbiB0aGV5IGFyZSBzZW50IGZyb20gdGhlIHNhbWUgbm9uY2UuXG4gKlxuICogVGhlcmUgYXJlIDMgdHlwZXMgb2YgVHJhbnNhY3Rpb24gUmVwbGFjZW1lbnQgcmVhc29uczpcbiAqXG4gKiAtIGByZXByaWNlZGA6IFRoZSBnYXMgcHJpY2UgaGFzIGJlZW4gbW9kaWZpZWQgKGUuZy4gZGlmZmVyZW50IGBtYXhGZWVQZXJHYXNgKVxuICogLSBgY2FuY2VsbGVkYDogVGhlIFRyYW5zYWN0aW9uIGhhcyBiZWVuIGNhbmNlbGxlZCAoZS5nLiBgdmFsdWUgPT09IDBuYClcbiAqIC0gYHJlcGxhY2VkYDogVGhlIFRyYW5zYWN0aW9uIGhhcyBiZWVuIHJlcGxhY2VkIChlLmcuIGRpZmZlcmVudCBgdmFsdWVgIG9yIGBkYXRhYClcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgV2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdFBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgdHJhbnNhY3Rpb24gcmVjZWlwdC4ge0BsaW5rIFdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIHdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCB0cmFuc2FjdGlvblJlY2VpcHQgPSBhd2FpdCB3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0KGNsaWVudCwge1xuICogICBoYXNoOiAnMHg0Y2E3ZWU2NTJkNTc2NzhmMjZlODg3YzE0OWFiMDczNWY0MWRlMzdiY2FkNThjOWY2ZDNlZDU4MjRmMTViNzRkJyxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0KGNsaWVudCwgeyBjb25maXJtYXRpb25zID0gMSwgaGFzaCwgb25SZXBsYWNlZCwgcG9sbGluZ0ludGVydmFsID0gY2xpZW50LnBvbGxpbmdJbnRlcnZhbCwgdGltZW91dCwgfSkge1xuICAgIGNvbnN0IG9ic2VydmVySWQgPSBzdHJpbmdpZnkoWyd3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0JywgY2xpZW50LnVpZCwgaGFzaF0pO1xuICAgIGxldCB0cmFuc2FjdGlvbjtcbiAgICBsZXQgcmVwbGFjZWRUcmFuc2FjdGlvbjtcbiAgICBsZXQgcmVjZWlwdDtcbiAgICBsZXQgcmV0cnlpbmcgPSBmYWxzZTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBpZiAodGltZW91dClcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBXYWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0VGltZW91dEVycm9yKHsgaGFzaCB9KSksIHRpbWVvdXQpO1xuICAgICAgICBjb25zdCBfdW5vYnNlcnZlID0gb2JzZXJ2ZShvYnNlcnZlcklkLCB7IG9uUmVwbGFjZWQsIHJlc29sdmUsIHJlamVjdCB9LCAoZW1pdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdW53YXRjaCA9IHdhdGNoQmxvY2tOdW1iZXIoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgZW1pdE1pc3NlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwb2xsOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgICAgICAgICBhc3luYyBvbkJsb2NrTnVtYmVyKGJsb2NrTnVtYmVyXykge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmV0cnlpbmcpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIGxldCBibG9ja051bWJlciA9IGJsb2NrTnVtYmVyXztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZG9uZSA9IGFzeW5jIChmbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW53YXRjaCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIF91bm9ic2VydmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIGFscmVhZHkgaGF2ZSBhIHZhbGlkIHJlY2VpcHQsIGxldCdzIGNoZWNrIGlmIHdlIGhhdmUgZW5vdWdoXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25maXJtYXRpb25zLiBJZiB3ZSBkbywgdGhlbiB3ZSBjYW4gcmVzb2x2ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWNlaXB0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrTnVtYmVyIC0gcmVjZWlwdC5ibG9ja051bWJlciArIDFuIDwgY29uZmlybWF0aW9ucylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKCkgPT4gZW1pdC5yZXNvbHZlKHJlY2VpcHQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIHRyYW5zYWN0aW9uIHRvIGNoZWNrIGlmIGl0J3MgYmVlbiByZXBsYWNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcmV0cnkgYXMgc29tZSBSUEMgUHJvdmlkZXJzIG1heSBiZSBzbG93IHRvIHN5bmNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwIG1pbmVkIHRyYW5zYWN0aW9ucy5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyeWluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgd2l0aFJldHJ5KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24gPSBhd2FpdCBnZXRUcmFuc2FjdGlvbihjbGllbnQsIHsgaGFzaCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLmJsb2NrTnVtYmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tOdW1iZXIgPSB0cmFuc2FjdGlvbi5ibG9ja051bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGV4cG9uZW50aWFsIGJhY2tvZmZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6ICh7IGNvdW50IH0pID0+IH5+KDEgPDwgY291bnQpICogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyeUNvdW50OiA2LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHJ5aW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIHJlY2VpcHQgdG8gY2hlY2sgaWYgaXQncyBiZWVuIHByb2Nlc3NlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpcHQgPSBhd2FpdCBnZXRUcmFuc2FjdGlvblJlY2VpcHQoY2xpZW50LCB7IGhhc2ggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGVub3VnaCBjb25maXJtYXRpb25zLiBJZiBub3QsIGNvbnRpbnVlIHBvbGxpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlybWF0aW9ucyA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja051bWJlciAtIHJlY2VpcHQuYmxvY2tOdW1iZXIgKyAxbiA8IGNvbmZpcm1hdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgoKSA9PiBlbWl0LnJlc29sdmUocmVjZWlwdCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSByZWNlaXB0IGlzIG5vdCBmb3VuZCwgdGhlIHRyYW5zYWN0aW9uIHdpbGwgYmUgcGVuZGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgaXQgaGFzIHBvdGVudGlhbGx5IGJlZW4gcmVwbGFjZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uUmVjZWlwdE5vdEZvdW5kRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWRUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExldCdzIHJldHJpZXZlIHRoZSB0cmFuc2FjdGlvbnMgZnJvbSB0aGUgY3VycmVudCBibG9jay5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGF3YWl0IGdldEJsb2NrKGNsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZVRyYW5zYWN0aW9uczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXBsYWNlbWVudFRyYW5zYWN0aW9uID0gYmxvY2sudHJhbnNhY3Rpb25zLmZpbmQoKHsgZnJvbSwgbm9uY2UgfSkgPT4gZnJvbSA9PT0gcmVwbGFjZWRUcmFuc2FjdGlvbi5mcm9tICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmNlID09PSByZXBsYWNlZFRyYW5zYWN0aW9uLm5vbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBjb3VsZG4ndCBmaW5kIGEgcmVwbGFjZW1lbnQgdHJhbnNhY3Rpb24sIGNvbnRpbnVlIHBvbGxpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXBsYWNlbWVudFRyYW5zYWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgZm91bmQgYSByZXBsYWNlbWVudCB0cmFuc2FjdGlvbiwgcmV0dXJuIGl0J3MgcmVjZWlwdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXB0ID0gYXdhaXQgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KGNsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoOiByZXBsYWNlbWVudFRyYW5zYWN0aW9uLmhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBlbm91Z2ggY29uZmlybWF0aW9ucy4gSWYgbm90LCBjb250aW51ZSBwb2xsaW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChibG9ja051bWJlciAtIHJlY2VpcHQuYmxvY2tOdW1iZXIgKyAxbiA8IGNvbmZpcm1hdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVhc29uID0gJ3JlcGxhY2VkJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVwbGFjZW1lbnRUcmFuc2FjdGlvbi50byA9PT0gcmVwbGFjZWRUcmFuc2FjdGlvbi50byAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudFRyYW5zYWN0aW9uLnZhbHVlID09PSByZXBsYWNlZFRyYW5zYWN0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiA9ICdyZXByaWNlZCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlcGxhY2VtZW50VHJhbnNhY3Rpb24uZnJvbSA9PT0gcmVwbGFjZW1lbnRUcmFuc2FjdGlvbi50byAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudFRyYW5zYWN0aW9uLnZhbHVlID09PSAwbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb24gPSAnY2FuY2VsbGVkJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQub25SZXBsYWNlZD8uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkVHJhbnNhY3Rpb246IHJlcGxhY2VkVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbjogcmVwbGFjZW1lbnRUcmFuc2FjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUmVjZWlwdDogcmVjZWlwdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQucmVzb2x2ZShyZWNlaXB0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKCkgPT4gZW1pdC5yZWplY3QoZXJyKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdW53YXRjaDtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/waitForTransactionReceipt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/watchBlockNumber.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/watchBlockNumber.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ watchBlockNumber: function() { return /* binding */ watchBlockNumber; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _utils_observe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/esm/utils/observe.js\");\n/* harmony import */ var _utils_poll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/esm/utils/poll.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _getBlockNumber_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/getBlockNumber.js\");\n\n\n\n\n\n/**\n * Watches and returns incoming block numbers.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchBlockNumber.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/watching-blocks\n * - JSON-RPC Methods:\n * - When `poll: true`, calls [`eth_blockNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blocknumber) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newHeads\"` event.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchBlockNumberParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}\n *\n * @example\n * import { createPublicClient, watchBlockNumber, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = await watchBlockNumber(client, {\n * onBlockNumber: (blockNumber) => console.log(blockNumber),\n * })\n */\nfunction watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n let prevBlockNumber;\n const pollBlockNumber = () => {\n const observerId = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n pollingInterval,\n ]);\n return (0,_utils_observe_js__WEBPACK_IMPORTED_MODULE_1__.observe)(observerId, { onBlockNumber, onError }, (emit) => (0,_utils_poll_js__WEBPACK_IMPORTED_MODULE_2__.poll)(async () => {\n try {\n const blockNumber = await (0,_getBlockNumber_js__WEBPACK_IMPORTED_MODULE_3__.getBlockNumber)(client, { maxAge: 0 });\n if (prevBlockNumber) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (blockNumber === prevBlockNumber)\n return;\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (blockNumber - prevBlockNumber > 1 && emitMissed) {\n for (let i = prevBlockNumber + 1n; i < blockNumber; i++) {\n emit.onBlockNumber(i, prevBlockNumber);\n prevBlockNumber = i;\n }\n }\n }\n // If the next block number is greater than the previous,\n // it is not in the past, and we can emit the new block number.\n if (!prevBlockNumber || blockNumber > prevBlockNumber) {\n emit.onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlockNumber = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const blockNumber = (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_4__.hexToBigInt)(data.result?.number);\n onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollBlockNumber() : subscribeBlockNumber();\n}\n//# sourceMappingURL=watchBlockNumber.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2NrTnVtYmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE4RDtBQUNiO0FBQ047QUFDVTtBQUNDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLG9GQUFvRjtBQUNwRjtBQUNBO0FBQ0EsWUFBWSw2Q0FBNkM7QUFDekQsWUFBWSxVQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxvQ0FBb0MseUhBQXlIO0FBQ3BLO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiw4REFBUztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDBEQUFPLGVBQWUsd0JBQXdCLFlBQVksb0RBQUk7QUFDN0U7QUFDQSwwQ0FBMEMsa0VBQWMsV0FBVyxXQUFXO0FBQzlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsaUJBQWlCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qiw0QkFBNEI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsdUVBQVc7QUFDdkQ7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL3dhdGNoQmxvY2tOdW1iZXIuanM/Njg5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZXhUb0JpZ0ludCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanMnO1xuaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4uLy4uL3V0aWxzL29ic2VydmUuanMnO1xuaW1wb3J0IHsgcG9sbCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbGwuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGdldEJsb2NrTnVtYmVyLCB9IGZyb20gJy4vZ2V0QmxvY2tOdW1iZXIuanMnO1xuLyoqXG4gKiBXYXRjaGVzIGFuZCByZXR1cm5zIGluY29taW5nIGJsb2NrIG51bWJlcnMuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2NrTnVtYmVyLmh0bWxcbiAqIC0gRXhhbXBsZXM6IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZ2l0aHViL3dhZ21pLWRldi92aWVtL3RyZWUvbWFpbi9leGFtcGxlcy9ibG9ja3Mvd2F0Y2hpbmctYmxvY2tzXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6XG4gKiAgIC0gV2hlbiBgcG9sbDogdHJ1ZWAsIGNhbGxzIFtgZXRoX2Jsb2NrTnVtYmVyYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9ibG9ja251bWJlcikgb24gYSBwb2xsaW5nIGludGVydmFsLlxuICogICAtIFdoZW4gYHBvbGw6IGZhbHNlYCAmIFdlYlNvY2tldCBUcmFuc3BvcnQsIHVzZXMgYSBXZWJTb2NrZXQgc3Vic2NyaXB0aW9uIHZpYSBbYGV0aF9zdWJzY3JpYmVgXShodHRwczovL2RvY3MuYWxjaGVteS5jb20vcmVmZXJlbmNlL2V0aC1zdWJzY3JpYmUtcG9seWdvbikgYW5kIHRoZSBgXCJuZXdIZWFkc1wiYCBldmVudC5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgV2F0Y2hCbG9ja051bWJlclBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGludm9rZWQgdG8gc3RvcCB3YXRjaGluZyBmb3IgbmV3IGJsb2NrIG51bWJlcnMuIHtAbGluayBXYXRjaEJsb2NrTnVtYmVyUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCB3YXRjaEJsb2NrTnVtYmVyLCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgdW53YXRjaCA9IGF3YWl0IHdhdGNoQmxvY2tOdW1iZXIoY2xpZW50LCB7XG4gKiAgIG9uQmxvY2tOdW1iZXI6IChibG9ja051bWJlcikgPT4gY29uc29sZS5sb2coYmxvY2tOdW1iZXIpLFxuICogfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQmxvY2tOdW1iZXIoY2xpZW50LCB7IGVtaXRPbkJlZ2luID0gZmFsc2UsIGVtaXRNaXNzZWQgPSBmYWxzZSwgb25CbG9ja051bWJlciwgb25FcnJvciwgcG9sbDogcG9sbF8sIHBvbGxpbmdJbnRlcnZhbCA9IGNsaWVudC5wb2xsaW5nSW50ZXJ2YWwsIH0pIHtcbiAgICBjb25zdCBlbmFibGVQb2xsaW5nID0gdHlwZW9mIHBvbGxfICE9PSAndW5kZWZpbmVkJyA/IHBvbGxfIDogY2xpZW50LnRyYW5zcG9ydC50eXBlICE9PSAnd2ViU29ja2V0JztcbiAgICBsZXQgcHJldkJsb2NrTnVtYmVyO1xuICAgIGNvbnN0IHBvbGxCbG9ja051bWJlciA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXJJZCA9IHN0cmluZ2lmeShbXG4gICAgICAgICAgICAnd2F0Y2hCbG9ja051bWJlcicsXG4gICAgICAgICAgICBjbGllbnQudWlkLFxuICAgICAgICAgICAgZW1pdE9uQmVnaW4sXG4gICAgICAgICAgICBlbWl0TWlzc2VkLFxuICAgICAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgICAgICBdKTtcbiAgICAgICAgcmV0dXJuIG9ic2VydmUob2JzZXJ2ZXJJZCwgeyBvbkJsb2NrTnVtYmVyLCBvbkVycm9yIH0sIChlbWl0KSA9PiBwb2xsKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2tOdW1iZXIgPSBhd2FpdCBnZXRCbG9ja051bWJlcihjbGllbnQsIHsgbWF4QWdlOiAwIH0pO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2QmxvY2tOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgYmxvY2sgbnVtYmVyIGlzIHRoZSBzYW1lIGFzIHRoZSBwcmV2aW91cyxcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY2FuIHNraXAuXG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9ja051bWJlciA9PT0gcHJldkJsb2NrTnVtYmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIG1pc3NlZCBvdXQgb24gc29tZSBwcmV2aW91cyBibG9ja3MsIGFuZCB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gYGVtaXRNaXNzZWRgIGZsYWcgaXMgdHJ1dGh5LCBsZXQncyBlbWl0IHRob3NlIGJsb2Nrcy5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrTnVtYmVyIC0gcHJldkJsb2NrTnVtYmVyID4gMSAmJiBlbWl0TWlzc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gcHJldkJsb2NrTnVtYmVyICsgMW47IGkgPCBibG9ja051bWJlcjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1pdC5vbkJsb2NrTnVtYmVyKGksIHByZXZCbG9ja051bWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldkJsb2NrTnVtYmVyID0gaTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbmV4dCBibG9jayBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cyxcbiAgICAgICAgICAgICAgICAvLyBpdCBpcyBub3QgaW4gdGhlIHBhc3QsIGFuZCB3ZSBjYW4gZW1pdCB0aGUgbmV3IGJsb2NrIG51bWJlci5cbiAgICAgICAgICAgICAgICBpZiAoIXByZXZCbG9ja051bWJlciB8fCBibG9ja051bWJlciA+IHByZXZCbG9ja051bWJlcikge1xuICAgICAgICAgICAgICAgICAgICBlbWl0Lm9uQmxvY2tOdW1iZXIoYmxvY2tOdW1iZXIsIHByZXZCbG9ja051bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHByZXZCbG9ja051bWJlciA9IGJsb2NrTnVtYmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBlbWl0Lm9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBlbWl0T25CZWdpbixcbiAgICAgICAgICAgIGludGVydmFsOiBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgIH0pKTtcbiAgICB9O1xuICAgIGNvbnN0IHN1YnNjcmliZUJsb2NrTnVtYmVyID0gKCkgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IHVuc3Vic2NyaWJlID0gKCkgPT4gKGFjdGl2ZSA9IGZhbHNlKTtcbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB1bnN1YnNjcmliZTogdW5zdWJzY3JpYmVfIH0gPSBhd2FpdCBjbGllbnQudHJhbnNwb3J0LnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogWyduZXdIZWFkcyddLFxuICAgICAgICAgICAgICAgICAgICBvbkRhdGEoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tOdW1iZXIgPSBoZXhUb0JpZ0ludChkYXRhLnJlc3VsdD8ubnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQmxvY2tOdW1iZXIoYmxvY2tOdW1iZXIsIHByZXZCbG9ja051bWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2QmxvY2tOdW1iZXIgPSBibG9ja051bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcihlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcj8uKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSA9IHVuc3Vic2NyaWJlXztcbiAgICAgICAgICAgICAgICBpZiAoIWFjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yPy4oZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkoKTtcbiAgICAgICAgcmV0dXJuIHVuc3Vic2NyaWJlO1xuICAgIH07XG4gICAgcmV0dXJuIGVuYWJsZVBvbGxpbmcgPyBwb2xsQmxvY2tOdW1iZXIoKSA6IHN1YnNjcmliZUJsb2NrTnVtYmVyKCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXRjaEJsb2NrTnVtYmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/watchBlockNumber.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/watchBlocks.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/watchBlocks.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ watchBlocks: function() { return /* binding */ watchBlocks; }\n/* harmony export */ });\n/* harmony import */ var _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/formatters/block.js */ \"./node_modules/viem/dist/esm/utils/formatters/block.js\");\n/* harmony import */ var _utils_observe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/esm/utils/observe.js\");\n/* harmony import */ var _utils_poll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/esm/utils/poll.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _getBlock_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBlock.js */ \"./node_modules/viem/dist/esm/actions/public/getBlock.js\");\n\n\n\n\n\n/**\n * Watches and returns information for incoming blocks.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchBlocks.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/watching-blocks\n * - JSON-RPC Methods:\n * - When `poll: true`, calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getBlockByNumber) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newHeads\"` event.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchBlocksParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlocksReturnType}\n *\n * @example\n * import { createPublicClient, watchBlocks, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = await watchBlocks(client, {\n * onBlock: (block) => console.log(block),\n * })\n */\nfunction watchBlocks(client, { blockTag = 'latest', emitMissed = false, emitOnBegin = false, onBlock, onError, includeTransactions = false, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n let prevBlock;\n const pollBlocks = () => {\n const observerId = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)([\n 'watchBlocks',\n client.uid,\n emitMissed,\n emitOnBegin,\n includeTransactions,\n pollingInterval,\n ]);\n return (0,_utils_observe_js__WEBPACK_IMPORTED_MODULE_1__.observe)(observerId, { onBlock, onError }, (emit) => (0,_utils_poll_js__WEBPACK_IMPORTED_MODULE_2__.poll)(async () => {\n try {\n const block = await (0,_getBlock_js__WEBPACK_IMPORTED_MODULE_3__.getBlock)(client, {\n blockTag,\n includeTransactions,\n });\n if (block.number && prevBlock?.number) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (block.number === prevBlock.number)\n return;\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (block.number - prevBlock.number > 1 && emitMissed) {\n for (let i = prevBlock?.number + 1n; i < block.number; i++) {\n const block = await (0,_getBlock_js__WEBPACK_IMPORTED_MODULE_3__.getBlock)(client, {\n blockNumber: i,\n includeTransactions,\n });\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n }\n if (\n // If no previous block exists, emit.\n !prevBlock?.number ||\n // If the block tag is \"pending\" with no block number, emit.\n (blockTag === 'pending' && !block?.number) ||\n // If the next block number is greater than the previous block number, emit.\n // We don't want to emit blocks in the past.\n (block.number && block.number > prevBlock.number)) {\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlocks = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const format = client.chain?.formatters?.block?.format || _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_4__.formatBlock;\n const block = format(data.result);\n onBlock(block, prevBlock);\n prevBlock = block;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollBlocks() : subscribeBlocks();\n}\n//# sourceMappingURL=watchBlocks.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2Nrcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBOEQ7QUFDYjtBQUNOO0FBQ1U7QUFDWjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixvRkFBb0Y7QUFDcEY7QUFDQTtBQUNBLFlBQVksd0NBQXdDO0FBQ3BELFlBQVksVUFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sK0JBQStCLHFLQUFxSztBQUMzTTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsOERBQVM7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDBEQUFPLGVBQWUsa0JBQWtCLFlBQVksb0RBQUk7QUFDdkU7QUFDQSxvQ0FBb0Msc0RBQVE7QUFDNUM7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGtCQUFrQjtBQUMvRSxnREFBZ0Qsc0RBQVE7QUFDeEQ7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDRCQUE0QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtGQUFrRixtRUFBVztBQUM3RjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2Nrcy5qcz9lN2NhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdEJsb2NrIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9ibG9jay5qcyc7XG5pbXBvcnQgeyBvYnNlcnZlIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JzZXJ2ZS5qcyc7XG5pbXBvcnQgeyBwb2xsIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9sbC5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmdpZnkuanMnO1xuaW1wb3J0IHsgZ2V0QmxvY2sgfSBmcm9tICcuL2dldEJsb2NrLmpzJztcbi8qKlxuICogV2F0Y2hlcyBhbmQgcmV0dXJucyBpbmZvcm1hdGlvbiBmb3IgaW5jb21pbmcgYmxvY2tzLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvd2F0Y2hCbG9ja3MuaHRtbFxuICogLSBFeGFtcGxlczogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9naXRodWIvd2FnbWktZGV2L3ZpZW0vdHJlZS9tYWluL2V4YW1wbGVzL2Jsb2Nrcy93YXRjaGluZy1ibG9ja3NcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczpcbiAqICAgLSBXaGVuIGBwb2xsOiB0cnVlYCwgY2FsbHMgW2BldGhfZ2V0QmxvY2tCeU51bWJlcmBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfZ2V0QmxvY2tCeU51bWJlcikgb24gYSBwb2xsaW5nIGludGVydmFsLlxuICogICAtIFdoZW4gYHBvbGw6IGZhbHNlYCAmIFdlYlNvY2tldCBUcmFuc3BvcnQsIHVzZXMgYSBXZWJTb2NrZXQgc3Vic2NyaXB0aW9uIHZpYSBbYGV0aF9zdWJzY3JpYmVgXShodHRwczovL2RvY3MuYWxjaGVteS5jb20vcmVmZXJlbmNlL2V0aC1zdWJzY3JpYmUtcG9seWdvbikgYW5kIHRoZSBgXCJuZXdIZWFkc1wiYCBldmVudC5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgV2F0Y2hCbG9ja3NQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBpbnZva2VkIHRvIHN0b3Agd2F0Y2hpbmcgZm9yIG5ldyBibG9jayBudW1iZXJzLiB7QGxpbmsgV2F0Y2hCbG9ja3NSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIHdhdGNoQmxvY2tzLCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVQdWJsaWNDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgdW53YXRjaCA9IGF3YWl0IHdhdGNoQmxvY2tzKGNsaWVudCwge1xuICogICBvbkJsb2NrOiAoYmxvY2spID0+IGNvbnNvbGUubG9nKGJsb2NrKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YXRjaEJsb2NrcyhjbGllbnQsIHsgYmxvY2tUYWcgPSAnbGF0ZXN0JywgZW1pdE1pc3NlZCA9IGZhbHNlLCBlbWl0T25CZWdpbiA9IGZhbHNlLCBvbkJsb2NrLCBvbkVycm9yLCBpbmNsdWRlVHJhbnNhY3Rpb25zID0gZmFsc2UsIHBvbGw6IHBvbGxfLCBwb2xsaW5nSW50ZXJ2YWwgPSBjbGllbnQucG9sbGluZ0ludGVydmFsLCB9KSB7XG4gICAgY29uc3QgZW5hYmxlUG9sbGluZyA9IHR5cGVvZiBwb2xsXyAhPT0gJ3VuZGVmaW5lZCcgPyBwb2xsXyA6IGNsaWVudC50cmFuc3BvcnQudHlwZSAhPT0gJ3dlYlNvY2tldCc7XG4gICAgbGV0IHByZXZCbG9jaztcbiAgICBjb25zdCBwb2xsQmxvY2tzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBvYnNlcnZlcklkID0gc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICd3YXRjaEJsb2NrcycsXG4gICAgICAgICAgICBjbGllbnQudWlkLFxuICAgICAgICAgICAgZW1pdE1pc3NlZCxcbiAgICAgICAgICAgIGVtaXRPbkJlZ2luLFxuICAgICAgICAgICAgaW5jbHVkZVRyYW5zYWN0aW9ucyxcbiAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgXSk7XG4gICAgICAgIHJldHVybiBvYnNlcnZlKG9ic2VydmVySWQsIHsgb25CbG9jaywgb25FcnJvciB9LCAoZW1pdCkgPT4gcG9sbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgZ2V0QmxvY2soY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGJsb2NrVGFnLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlVHJhbnNhY3Rpb25zLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChibG9jay5udW1iZXIgJiYgcHJldkJsb2NrPy5udW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgYmxvY2sgbnVtYmVyIGlzIHRoZSBzYW1lIGFzIHRoZSBwcmV2aW91cyxcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY2FuIHNraXAuXG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9jay5udW1iZXIgPT09IHByZXZCbG9jay5udW1iZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgbWlzc2VkIG91dCBvbiBzb21lIHByZXZpb3VzIGJsb2NrcywgYW5kIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBgZW1pdE1pc3NlZGAgZmxhZyBpcyB0cnV0aHksIGxldCdzIGVtaXQgdGhvc2UgYmxvY2tzLlxuICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2subnVtYmVyIC0gcHJldkJsb2NrLm51bWJlciA+IDEgJiYgZW1pdE1pc3NlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IHByZXZCbG9jaz8ubnVtYmVyICsgMW47IGkgPCBibG9jay5udW1iZXI7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgZ2V0QmxvY2soY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrTnVtYmVyOiBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlVHJhbnNhY3Rpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQub25CbG9jayhibG9jaywgcHJldkJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2QmxvY2sgPSBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgLy8gSWYgbm8gcHJldmlvdXMgYmxvY2sgZXhpc3RzLCBlbWl0LlxuICAgICAgICAgICAgICAgICFwcmV2QmxvY2s/Lm51bWJlciB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYmxvY2sgdGFnIGlzIFwicGVuZGluZ1wiIHdpdGggbm8gYmxvY2sgbnVtYmVyLCBlbWl0LlxuICAgICAgICAgICAgICAgICAgICAoYmxvY2tUYWcgPT09ICdwZW5kaW5nJyAmJiAhYmxvY2s/Lm51bWJlcikgfHxcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIG5leHQgYmxvY2sgbnVtYmVyIGlzIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMgYmxvY2sgbnVtYmVyLCBlbWl0LlxuICAgICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGVtaXQgYmxvY2tzIGluIHRoZSBwYXN0LlxuICAgICAgICAgICAgICAgICAgICAoYmxvY2subnVtYmVyICYmIGJsb2NrLm51bWJlciA+IHByZXZCbG9jay5udW1iZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGVtaXQub25CbG9jayhibG9jaywgcHJldkJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgcHJldkJsb2NrID0gYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGVtaXQub25FcnJvcj8uKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGVtaXRPbkJlZ2luLFxuICAgICAgICAgICAgaW50ZXJ2YWw6IHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgfSkpO1xuICAgIH07XG4gICAgY29uc3Qgc3Vic2NyaWJlQmxvY2tzID0gKCkgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IHVuc3Vic2NyaWJlID0gKCkgPT4gKGFjdGl2ZSA9IGZhbHNlKTtcbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB1bnN1YnNjcmliZTogdW5zdWJzY3JpYmVfIH0gPSBhd2FpdCBjbGllbnQudHJhbnNwb3J0LnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogWyduZXdIZWFkcyddLFxuICAgICAgICAgICAgICAgICAgICBvbkRhdGEoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0ID0gY2xpZW50LmNoYWluPy5mb3JtYXR0ZXJzPy5ibG9jaz8uZm9ybWF0IHx8IGZvcm1hdEJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmb3JtYXQoZGF0YS5yZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb25CbG9jayhibG9jaywgcHJldkJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZCbG9jayA9IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPy4oZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlID0gdW5zdWJzY3JpYmVfO1xuICAgICAgICAgICAgICAgIGlmICghYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIG9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgICAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gICAgfTtcbiAgICByZXR1cm4gZW5hYmxlUG9sbGluZyA/IHBvbGxCbG9ja3MoKSA6IHN1YnNjcmliZUJsb2NrcygpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2F0Y2hCbG9ja3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/watchBlocks.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/watchContractEvent.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/watchContractEvent.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ watchContractEvent: function() { return /* binding */ watchContractEvent; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/abi/getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n/* harmony import */ var _utils_observe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/esm/utils/observe.js\");\n/* harmony import */ var _utils_poll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/esm/utils/poll.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _createContractEventFilter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createContractEventFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createContractEventFilter.js\");\n/* harmony import */ var _getBlockNumber_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/getBlockNumber.js\");\n/* harmony import */ var _getFilterChanges_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getFilterChanges.js */ \"./node_modules/viem/dist/esm/actions/public/getFilterChanges.js\");\n/* harmony import */ var _getLogs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getLogs.js */ \"./node_modules/viem/dist/esm/actions/public/getLogs.js\");\n/* harmony import */ var _uninstallFilter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./uninstallFilter.js */ \"./node_modules/viem/dist/esm/actions/public/uninstallFilter.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Watches and returns emitted contract event logs.\n *\n * - Docs: https://viem.sh/docs/contract/watchContractEvent.html\n *\n * This Action will batch up all the event logs found within the [`pollingInterval`](https://viem.sh/docs/contract/watchContractEvent.html#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/contract/watchContractEvent.html#onLogs).\n *\n * `watchContractEvent` will attempt to create an [Event Filter](https://viem.sh/docs/contract/createContractEventFilter.html) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchContractEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs) instead.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchContractEventParameters}\n * @returns A function that can be invoked to stop watching for new event logs. {@link WatchContractEventReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchContractEvent } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchContractEvent(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['event Transfer(address indexed from, address indexed to, uint256 value)']),\n * eventName: 'Transfer',\n * args: { from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b' },\n * onLogs: (logs) => console.log(logs),\n * })\n */\nfunction watchContractEvent(client, { abi, address, args, batch = true, eventName, onError, onLogs, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const observerId = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)([\n 'watchContractEvent',\n address,\n args,\n batch,\n client.uid,\n eventName,\n pollingInterval,\n ]);\n const strict = strict_ ?? false;\n return (0,_utils_observe_js__WEBPACK_IMPORTED_MODULE_1__.observe)(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n let filter;\n let initialized = false;\n const unwatch = (0,_utils_poll_js__WEBPACK_IMPORTED_MODULE_2__.poll)(async () => {\n if (!initialized) {\n try {\n filter = (await (0,_createContractEventFilter_js__WEBPACK_IMPORTED_MODULE_3__.createContractEventFilter)(client, {\n abi,\n address,\n args,\n eventName,\n strict,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await (0,_getFilterChanges_js__WEBPACK_IMPORTED_MODULE_4__.getFilterChanges)(client, { filter });\n }\n else {\n // If the filter doesn't exist, we will fall back to use `getLogs`.\n // The fall back exists because some RPC Providers do not support filters.\n // Fetch the block number to use for `getLogs`.\n const blockNumber = await (0,_getBlockNumber_js__WEBPACK_IMPORTED_MODULE_5__.getBlockNumber)(client);\n // If the block number has changed, we will need to fetch the logs.\n // If the block number doesn't exist, we are yet to reach the first poll interval,\n // so do not emit any logs.\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await (0,_getLogs_js__WEBPACK_IMPORTED_MODULE_6__.getLogs)(client, {\n address,\n args,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n event: (0,_utils_abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_7__.getAbiItem)({\n abi,\n name: eventName,\n }),\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n logs.forEach((log) => emit.onLogs([log]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await (0,_uninstallFilter_js__WEBPACK_IMPORTED_MODULE_8__.uninstallFilter)(client, { filter });\n unwatch();\n };\n });\n}\n//# sourceMappingURL=watchContractEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YXRjaENvbnRyYWN0RXZlbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUE0RDtBQUNYO0FBQ047QUFDVTtBQUN1QjtBQUN2QjtBQUNJO0FBQ2xCO0FBQ2dCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLGlGQUFpRjtBQUNqRjtBQUNBO0FBQ0EsWUFBWSxxQ0FBcUM7QUFDakQsWUFBWSxVQUFVO0FBQ3RCLFlBQVkscUJBQXFCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxvREFBb0Q7QUFDakU7QUFDQSxJQUFJO0FBQ0o7QUFDTyxzQ0FBc0MsMEhBQTBIO0FBQ3ZLLHVCQUF1Qiw4REFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDBEQUFPLGVBQWUsaUJBQWlCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixvREFBSTtBQUM1QjtBQUNBO0FBQ0Esb0NBQW9DLHdGQUF5QjtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsc0VBQWdCLFdBQVcsUUFBUTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDLGtFQUFjO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLG9EQUFPO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLG9FQUFVO0FBQzdDO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHNCQUFzQixvRUFBZSxXQUFXLFFBQVE7QUFDeEQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL3dhdGNoQ29udHJhY3RFdmVudC5qcz9kMTIwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEFiaUl0ZW0sIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWJpL2dldEFiaUl0ZW0uanMnO1xuaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4uLy4uL3V0aWxzL29ic2VydmUuanMnO1xuaW1wb3J0IHsgcG9sbCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbGwuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIsIH0gZnJvbSAnLi9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzJztcbmltcG9ydCB7IGdldEJsb2NrTnVtYmVyIH0gZnJvbSAnLi9nZXRCbG9ja051bWJlci5qcyc7XG5pbXBvcnQgeyBnZXRGaWx0ZXJDaGFuZ2VzIH0gZnJvbSAnLi9nZXRGaWx0ZXJDaGFuZ2VzLmpzJztcbmltcG9ydCB7IGdldExvZ3MgfSBmcm9tICcuL2dldExvZ3MuanMnO1xuaW1wb3J0IHsgdW5pbnN0YWxsRmlsdGVyIH0gZnJvbSAnLi91bmluc3RhbGxGaWx0ZXIuanMnO1xuLyoqXG4gKiBXYXRjaGVzIGFuZCByZXR1cm5zIGVtaXR0ZWQgY29udHJhY3QgZXZlbnQgbG9ncy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L3dhdGNoQ29udHJhY3RFdmVudC5odG1sXG4gKlxuICogVGhpcyBBY3Rpb24gd2lsbCBiYXRjaCB1cCBhbGwgdGhlIGV2ZW50IGxvZ3MgZm91bmQgd2l0aGluIHRoZSBbYHBvbGxpbmdJbnRlcnZhbGBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L3dhdGNoQ29udHJhY3RFdmVudC5odG1sI3BvbGxpbmdpbnRlcnZhbC1vcHRpb25hbCksIGFuZCBpbnZva2UgdGhlbSB2aWEgW2BvbkxvZ3NgXShodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC93YXRjaENvbnRyYWN0RXZlbnQuaHRtbCNvbkxvZ3MpLlxuICpcbiAqIGB3YXRjaENvbnRyYWN0RXZlbnRgIHdpbGwgYXR0ZW1wdCB0byBjcmVhdGUgYW4gW0V2ZW50IEZpbHRlcl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3QvY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlci5odG1sKSBhbmQgbGlzdGVuIHRvIGNoYW5nZXMgdG8gdGhlIEZpbHRlciBwZXIgcG9sbGluZyBpbnRlcnZhbCwgaG93ZXZlciwgaWYgdGhlIFJQQyBQcm92aWRlciBkb2VzIG5vdCBzdXBwb3J0IEZpbHRlcnMgKGUuZy4gYGV0aF9uZXdGaWx0ZXJgKSwgdGhlbiBgd2F0Y2hDb250cmFjdEV2ZW50YCB3aWxsIGZhbGwgYmFjayB0byB1c2luZyBbYGdldExvZ3NgXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9nZXRMb2dzKSBpbnN0ZWFkLlxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBXYXRjaENvbnRyYWN0RXZlbnRQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBpbnZva2VkIHRvIHN0b3Agd2F0Y2hpbmcgZm9yIG5ldyBldmVudCBsb2dzLiB7QGxpbmsgV2F0Y2hDb250cmFjdEV2ZW50UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlUHVibGljQ2xpZW50LCBodHRwLCBwYXJzZUFiaSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyB3YXRjaENvbnRyYWN0RXZlbnQgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVB1YmxpY0NsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCB1bndhdGNoID0gd2F0Y2hDb250cmFjdEV2ZW50KGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhGQkEzOTEyQ2EwNGRkNDU4Yzg0M2UyRUUwODk2N2ZDMDRmMzU3OWMyJyxcbiAqICAgYWJpOiBwYXJzZUFiaShbJ2V2ZW50IFRyYW5zZmVyKGFkZHJlc3MgaW5kZXhlZCBmcm9tLCBhZGRyZXNzIGluZGV4ZWQgdG8sIHVpbnQyNTYgdmFsdWUpJ10pLFxuICogICBldmVudE5hbWU6ICdUcmFuc2ZlcicsXG4gKiAgIGFyZ3M6IHsgZnJvbTogJzB4Yzk2MTE0NWE1NEM5NkUzYUU5YkFBMDQ4YzRGNEQ2YjA0QzEzOTE2YicgfSxcbiAqICAgb25Mb2dzOiAobG9ncykgPT4gY29uc29sZS5sb2cobG9ncyksXG4gKiB9KVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2F0Y2hDb250cmFjdEV2ZW50KGNsaWVudCwgeyBhYmksIGFkZHJlc3MsIGFyZ3MsIGJhdGNoID0gdHJ1ZSwgZXZlbnROYW1lLCBvbkVycm9yLCBvbkxvZ3MsIHBvbGxpbmdJbnRlcnZhbCA9IGNsaWVudC5wb2xsaW5nSW50ZXJ2YWwsIHN0cmljdDogc3RyaWN0XywgfSkge1xuICAgIGNvbnN0IG9ic2VydmVySWQgPSBzdHJpbmdpZnkoW1xuICAgICAgICAnd2F0Y2hDb250cmFjdEV2ZW50JyxcbiAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgYXJncyxcbiAgICAgICAgYmF0Y2gsXG4gICAgICAgIGNsaWVudC51aWQsXG4gICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgIF0pO1xuICAgIGNvbnN0IHN0cmljdCA9IHN0cmljdF8gPz8gZmFsc2U7XG4gICAgcmV0dXJuIG9ic2VydmUob2JzZXJ2ZXJJZCwgeyBvbkxvZ3MsIG9uRXJyb3IgfSwgKGVtaXQpID0+IHtcbiAgICAgICAgbGV0IHByZXZpb3VzQmxvY2tOdW1iZXI7XG4gICAgICAgIGxldCBmaWx0ZXI7XG4gICAgICAgIGxldCBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCB1bndhdGNoID0gcG9sbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gKGF3YWl0IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhYmksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdCxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCB7IH1cbiAgICAgICAgICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbG9ncztcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBhd2FpdCBnZXRGaWx0ZXJDaGFuZ2VzKGNsaWVudCwgeyBmaWx0ZXIgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZmlsdGVyIGRvZXNuJ3QgZXhpc3QsIHdlIHdpbGwgZmFsbCBiYWNrIHRvIHVzZSBgZ2V0TG9nc2AuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBmYWxsIGJhY2sgZXhpc3RzIGJlY2F1c2Ugc29tZSBSUEMgUHJvdmlkZXJzIGRvIG5vdCBzdXBwb3J0IGZpbHRlcnMuXG4gICAgICAgICAgICAgICAgICAgIC8vIEZldGNoIHRoZSBibG9jayBudW1iZXIgdG8gdXNlIGZvciBgZ2V0TG9nc2AuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrTnVtYmVyID0gYXdhaXQgZ2V0QmxvY2tOdW1iZXIoY2xpZW50KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGJsb2NrIG51bWJlciBoYXMgY2hhbmdlZCwgd2Ugd2lsbCBuZWVkIHRvIGZldGNoIHRoZSBsb2dzLlxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYmxvY2sgbnVtYmVyIGRvZXNuJ3QgZXhpc3QsIHdlIGFyZSB5ZXQgdG8gcmVhY2ggdGhlIGZpcnN0IHBvbGwgaW50ZXJ2YWwsXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvIGRvIG5vdCBlbWl0IGFueSBsb2dzLlxuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNCbG9ja051bWJlciAmJiBwcmV2aW91c0Jsb2NrTnVtYmVyICE9PSBibG9ja051bWJlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9ncyA9IGF3YWl0IGdldExvZ3MoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb21CbG9jazogcHJldmlvdXNCbG9ja051bWJlciArIDFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvQmxvY2s6IGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBnZXRBYmlJdGVtKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0Jsb2NrTnVtYmVyID0gYmxvY2tOdW1iZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsb2dzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmIChiYXRjaClcbiAgICAgICAgICAgICAgICAgICAgZW1pdC5vbkxvZ3MobG9ncyk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBsb2dzLmZvckVhY2goKGxvZykgPT4gZW1pdC5vbkxvZ3MoW2xvZ10pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBlbWl0Lm9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgIGludGVydmFsOiBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlcilcbiAgICAgICAgICAgICAgICBhd2FpdCB1bmluc3RhbGxGaWx0ZXIoY2xpZW50LCB7IGZpbHRlciB9KTtcbiAgICAgICAgICAgIHVud2F0Y2goKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhdGNoQ29udHJhY3RFdmVudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/watchContractEvent.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/watchEvent.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/watchEvent.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ watchEvent: function() { return /* binding */ watchEvent; }\n/* harmony export */ });\n/* harmony import */ var _utils_observe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/esm/utils/observe.js\");\n/* harmony import */ var _utils_poll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/esm/utils/poll.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _createEventFilter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createEventFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createEventFilter.js\");\n/* harmony import */ var _getBlockNumber_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/getBlockNumber.js\");\n/* harmony import */ var _getFilterChanges_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getFilterChanges.js */ \"./node_modules/viem/dist/esm/actions/public/getFilterChanges.js\");\n/* harmony import */ var _getLogs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getLogs.js */ \"./node_modules/viem/dist/esm/actions/public/getLogs.js\");\n/* harmony import */ var _uninstallFilter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./uninstallFilter.js */ \"./node_modules/viem/dist/esm/actions/public/uninstallFilter.js\");\n\n\n\n\n\n\n\n\n/**\n * Watches and returns emitted [Event Logs](https://viem.sh/docs/glossary/terms.html#event-log).\n *\n * - Docs: https://viem.sh/docs/actions/public/watchEvent.html\n * - JSON-RPC Methods:\n * - **RPC Provider supports `eth_newFilter`:**\n * - Calls [`eth_newFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter) to create a filter (called on initialize).\n * - On a polling interval, it will call [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterchanges).\n * - **RPC Provider does not support `eth_newFilter`:**\n * - Calls [`eth_getLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getlogs) for each block between the polling interval.\n *\n * This Action will batch up all the Event Logs found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchEvent.html#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/actions/public/watchEvent.html#onLogs).\n *\n * `watchEvent` will attempt to create an [Event Filter](https://viem.sh/docs/actions/public/createEventFilter.html) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs.html) instead.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchEventParameters}\n * @returns A function that can be invoked to stop watching for new Event Logs. {@link WatchEventReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchEvent } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchEvent(client, {\n * onLogs: (logs) => console.log(logs),\n * })\n */\nfunction watchEvent(client, { address, args, batch = true, event, onError, onLogs, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const observerId = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)([\n 'watchEvent',\n address,\n args,\n batch,\n client.uid,\n event,\n pollingInterval,\n ]);\n const strict = strict_ ?? false;\n return (0,_utils_observe_js__WEBPACK_IMPORTED_MODULE_1__.observe)(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n let filter;\n let initialized = false;\n const unwatch = (0,_utils_poll_js__WEBPACK_IMPORTED_MODULE_2__.poll)(async () => {\n if (!initialized) {\n try {\n filter = (await (0,_createEventFilter_js__WEBPACK_IMPORTED_MODULE_3__.createEventFilter)(client, {\n address,\n args,\n event: event,\n strict,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await (0,_getFilterChanges_js__WEBPACK_IMPORTED_MODULE_4__.getFilterChanges)(client, { filter });\n }\n else {\n // If the filter doesn't exist, we will fall back to use `getLogs`.\n // The fall back exists because some RPC Providers do not support filters.\n // Fetch the block number to use for `getLogs`.\n const blockNumber = await (0,_getBlockNumber_js__WEBPACK_IMPORTED_MODULE_5__.getBlockNumber)(client);\n // If the block number has changed, we will need to fetch the logs.\n // If the block number doesn't exist, we are yet to reach the first poll interval,\n // so do not emit any logs.\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await (0,_getLogs_js__WEBPACK_IMPORTED_MODULE_6__.getLogs)(client, {\n address,\n args,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n event: event,\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n logs.forEach((log) => emit.onLogs([log]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await (0,_uninstallFilter_js__WEBPACK_IMPORTED_MODULE_7__.uninstallFilter)(client, { filter });\n unwatch();\n };\n });\n}\n//# sourceMappingURL=watchEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YXRjaEV2ZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFpRDtBQUNOO0FBQ1U7QUFDTztBQUNQO0FBQ0k7QUFDbEI7QUFDZ0I7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsaUZBQWlGO0FBQ2pGO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxhQUFhO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyw4QkFBOEIsaUhBQWlIO0FBQ3RKLHVCQUF1Qiw4REFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDBEQUFPLGVBQWUsaUJBQWlCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixvREFBSTtBQUM1QjtBQUNBO0FBQ0Esb0NBQW9DLHdFQUFpQjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLHNFQUFnQixXQUFXLFFBQVE7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QyxrRUFBYztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxvREFBTztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHNCQUFzQixvRUFBZSxXQUFXLFFBQVE7QUFDeEQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvcHVibGljL3dhdGNoRXZlbnQuanM/OGQzNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvYnNlcnZlIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JzZXJ2ZS5qcyc7XG5pbXBvcnQgeyBwb2xsIH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9sbC5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmdpZnkuanMnO1xuaW1wb3J0IHsgY3JlYXRlRXZlbnRGaWx0ZXIsIH0gZnJvbSAnLi9jcmVhdGVFdmVudEZpbHRlci5qcyc7XG5pbXBvcnQgeyBnZXRCbG9ja051bWJlciB9IGZyb20gJy4vZ2V0QmxvY2tOdW1iZXIuanMnO1xuaW1wb3J0IHsgZ2V0RmlsdGVyQ2hhbmdlcyB9IGZyb20gJy4vZ2V0RmlsdGVyQ2hhbmdlcy5qcyc7XG5pbXBvcnQgeyBnZXRMb2dzIH0gZnJvbSAnLi9nZXRMb2dzLmpzJztcbmltcG9ydCB7IHVuaW5zdGFsbEZpbHRlciB9IGZyb20gJy4vdW5pbnN0YWxsRmlsdGVyLmpzJztcbi8qKlxuICogV2F0Y2hlcyBhbmQgcmV0dXJucyBlbWl0dGVkIFtFdmVudCBMb2dzXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90ZXJtcy5odG1sI2V2ZW50LWxvZykuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy93YXRjaEV2ZW50Lmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczpcbiAqICAgLSAqKlJQQyBQcm92aWRlciBzdXBwb3J0cyBgZXRoX25ld0ZpbHRlcmA6KipcbiAqICAgICAtIENhbGxzIFtgZXRoX25ld0ZpbHRlcmBdKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLyNldGhfbmV3ZmlsdGVyKSB0byBjcmVhdGUgYSBmaWx0ZXIgKGNhbGxlZCBvbiBpbml0aWFsaXplKS5cbiAqICAgICAtIE9uIGEgcG9sbGluZyBpbnRlcnZhbCwgaXQgd2lsbCBjYWxsIFtgZXRoX2dldEZpbHRlckNoYW5nZXNgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldGZpbHRlcmNoYW5nZXMpLlxuICogICAtICoqUlBDIFByb3ZpZGVyIGRvZXMgbm90IHN1cHBvcnQgYGV0aF9uZXdGaWx0ZXJgOioqXG4gKiAgICAgLSBDYWxscyBbYGV0aF9nZXRMb2dzYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9nZXRsb2dzKSBmb3IgZWFjaCBibG9jayBiZXR3ZWVuIHRoZSBwb2xsaW5nIGludGVydmFsLlxuICpcbiAqIFRoaXMgQWN0aW9uIHdpbGwgYmF0Y2ggdXAgYWxsIHRoZSBFdmVudCBMb2dzIGZvdW5kIHdpdGhpbiB0aGUgW2Bwb2xsaW5nSW50ZXJ2YWxgXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy93YXRjaEV2ZW50Lmh0bWwjcG9sbGluZ2ludGVydmFsLW9wdGlvbmFsKSwgYW5kIGludm9rZSB0aGVtIHZpYSBbYG9uTG9nc2BdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL3dhdGNoRXZlbnQuaHRtbCNvbkxvZ3MpLlxuICpcbiAqIGB3YXRjaEV2ZW50YCB3aWxsIGF0dGVtcHQgdG8gY3JlYXRlIGFuIFtFdmVudCBGaWx0ZXJdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL2NyZWF0ZUV2ZW50RmlsdGVyLmh0bWwpIGFuZCBsaXN0ZW4gdG8gY2hhbmdlcyB0byB0aGUgRmlsdGVyIHBlciBwb2xsaW5nIGludGVydmFsLCBob3dldmVyLCBpZiB0aGUgUlBDIFByb3ZpZGVyIGRvZXMgbm90IHN1cHBvcnQgRmlsdGVycyAoZS5nLiBgZXRoX25ld0ZpbHRlcmApLCB0aGVuIGB3YXRjaEV2ZW50YCB3aWxsIGZhbGwgYmFjayB0byB1c2luZyBbYGdldExvZ3NgXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3B1YmxpYy9nZXRMb2dzLmh0bWwpIGluc3RlYWQuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFdhdGNoRXZlbnRQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBpbnZva2VkIHRvIHN0b3Agd2F0Y2hpbmcgZm9yIG5ldyBFdmVudCBMb2dzLiB7QGxpbmsgV2F0Y2hFdmVudFJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyB3YXRjaEV2ZW50IH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IHVud2F0Y2ggPSB3YXRjaEV2ZW50KGNsaWVudCwge1xuICogICBvbkxvZ3M6IChsb2dzKSA9PiBjb25zb2xlLmxvZyhsb2dzKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YXRjaEV2ZW50KGNsaWVudCwgeyBhZGRyZXNzLCBhcmdzLCBiYXRjaCA9IHRydWUsIGV2ZW50LCBvbkVycm9yLCBvbkxvZ3MsIHBvbGxpbmdJbnRlcnZhbCA9IGNsaWVudC5wb2xsaW5nSW50ZXJ2YWwsIHN0cmljdDogc3RyaWN0XywgfSkge1xuICAgIGNvbnN0IG9ic2VydmVySWQgPSBzdHJpbmdpZnkoW1xuICAgICAgICAnd2F0Y2hFdmVudCcsXG4gICAgICAgIGFkZHJlc3MsXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGJhdGNoLFxuICAgICAgICBjbGllbnQudWlkLFxuICAgICAgICBldmVudCxcbiAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgIF0pO1xuICAgIGNvbnN0IHN0cmljdCA9IHN0cmljdF8gPz8gZmFsc2U7XG4gICAgcmV0dXJuIG9ic2VydmUob2JzZXJ2ZXJJZCwgeyBvbkxvZ3MsIG9uRXJyb3IgfSwgKGVtaXQpID0+IHtcbiAgICAgICAgbGV0IHByZXZpb3VzQmxvY2tOdW1iZXI7XG4gICAgICAgIGxldCBmaWx0ZXI7XG4gICAgICAgIGxldCBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCB1bndhdGNoID0gcG9sbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gKGF3YWl0IGNyZWF0ZUV2ZW50RmlsdGVyKGNsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3QsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggeyB9XG4gICAgICAgICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IGxvZ3M7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICBsb2dzID0gYXdhaXQgZ2V0RmlsdGVyQ2hhbmdlcyhjbGllbnQsIHsgZmlsdGVyIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGZpbHRlciBkb2Vzbid0IGV4aXN0LCB3ZSB3aWxsIGZhbGwgYmFjayB0byB1c2UgYGdldExvZ3NgLlxuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgZmFsbCBiYWNrIGV4aXN0cyBiZWNhdXNlIHNvbWUgUlBDIFByb3ZpZGVycyBkbyBub3Qgc3VwcG9ydCBmaWx0ZXJzLlxuICAgICAgICAgICAgICAgICAgICAvLyBGZXRjaCB0aGUgYmxvY2sgbnVtYmVyIHRvIHVzZSBmb3IgYGdldExvZ3NgLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja051bWJlciA9IGF3YWl0IGdldEJsb2NrTnVtYmVyKGNsaWVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBibG9jayBudW1iZXIgaGFzIGNoYW5nZWQsIHdlIHdpbGwgbmVlZCB0byBmZXRjaCB0aGUgbG9ncy5cbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGJsb2NrIG51bWJlciBkb2Vzbid0IGV4aXN0LCB3ZSBhcmUgeWV0IHRvIHJlYWNoIHRoZSBmaXJzdCBwb2xsIGludGVydmFsLFxuICAgICAgICAgICAgICAgICAgICAvLyBzbyBkbyBub3QgZW1pdCBhbnkgbG9ncy5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzQmxvY2tOdW1iZXIgJiYgcHJldmlvdXNCbG9ja051bWJlciAhPT0gYmxvY2tOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBhd2FpdCBnZXRMb2dzKGNsaWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tQmxvY2s6IHByZXZpb3VzQmxvY2tOdW1iZXIgKyAxbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b0Jsb2NrOiBibG9ja051bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0Jsb2NrTnVtYmVyID0gYmxvY2tOdW1iZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsb2dzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmIChiYXRjaClcbiAgICAgICAgICAgICAgICAgICAgZW1pdC5vbkxvZ3MobG9ncyk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBsb2dzLmZvckVhY2goKGxvZykgPT4gZW1pdC5vbkxvZ3MoW2xvZ10pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBlbWl0Lm9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgIGludGVydmFsOiBwb2xsaW5nSW50ZXJ2YWwsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlcilcbiAgICAgICAgICAgICAgICBhd2FpdCB1bmluc3RhbGxGaWx0ZXIoY2xpZW50LCB7IGZpbHRlciB9KTtcbiAgICAgICAgICAgIHVud2F0Y2goKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhdGNoRXZlbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/watchEvent.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/public/watchPendingTransactions.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/public/watchPendingTransactions.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ watchPendingTransactions: function() { return /* binding */ watchPendingTransactions; }\n/* harmony export */ });\n/* harmony import */ var _utils_observe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/observe.js */ \"./node_modules/viem/dist/esm/utils/observe.js\");\n/* harmony import */ var _utils_poll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/poll.js */ \"./node_modules/viem/dist/esm/utils/poll.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _createPendingTransactionFilter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createPendingTransactionFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createPendingTransactionFilter.js\");\n/* harmony import */ var _getFilterChanges_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getFilterChanges.js */ \"./node_modules/viem/dist/esm/actions/public/getFilterChanges.js\");\n/* harmony import */ var _uninstallFilter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./uninstallFilter.js */ \"./node_modules/viem/dist/esm/actions/public/uninstallFilter.js\");\n\n\n\n\n\n\n/**\n * Watches and returns pending transaction hashes.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchPendingTransactions.html\n * - JSON-RPC Methods:\n * - When `poll: true`\n * - Calls [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter) to initialize the filter.\n * - Calls [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getFilterChanges) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newPendingTransactions\"` event.\n *\n * This Action will batch up all the pending transactions found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchPendingTransactions.html#pollinginterval-optional), and invoke them via [`onTransactions`](https://viem.sh/docs/actions/public/watchPendingTransactions.html#ontransactions).\n *\n * @param client - Client to use\n * @param parameters - {@link WatchPendingTransactionsParameters}\n * @returns A function that can be invoked to stop watching for new pending transaction hashes. {@link WatchPendingTransactionsReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchPendingTransactions } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = await watchPendingTransactions(client, {\n * onTransactions: (hashes) => console.log(hashes),\n * })\n */\nfunction watchPendingTransactions(client, { batch = true, onError, onTransactions, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n const pollPendingTransactions = () => {\n const observerId = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)([\n 'watchPendingTransactions',\n client.uid,\n batch,\n pollingInterval,\n ]);\n return (0,_utils_observe_js__WEBPACK_IMPORTED_MODULE_1__.observe)(observerId, { onTransactions, onError }, (emit) => {\n let filter;\n const unwatch = (0,_utils_poll_js__WEBPACK_IMPORTED_MODULE_2__.poll)(async () => {\n try {\n if (!filter) {\n try {\n filter = await (0,_createPendingTransactionFilter_js__WEBPACK_IMPORTED_MODULE_3__.createPendingTransactionFilter)(client);\n return;\n }\n catch (err) {\n unwatch();\n throw err;\n }\n }\n const hashes = await (0,_getFilterChanges_js__WEBPACK_IMPORTED_MODULE_4__.getFilterChanges)(client, { filter });\n if (hashes.length === 0)\n return;\n if (batch)\n emit.onTransactions(hashes);\n else\n hashes.forEach((hash) => emit.onTransactions([hash]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await (0,_uninstallFilter_js__WEBPACK_IMPORTED_MODULE_5__.uninstallFilter)(client, { filter });\n unwatch();\n };\n });\n };\n const subscribePendingTransactions = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newPendingTransactions'],\n onData(data) {\n if (!active)\n return;\n const transaction = data.result;\n onTransactions([transaction]);\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling\n ? pollPendingTransactions()\n : subscribePendingTransactions();\n}\n//# sourceMappingURL=watchPendingTransactions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3B1YmxpYy93YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFpRDtBQUNOO0FBQ1U7QUFDZ0M7QUFDNUI7QUFDRjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixpR0FBaUc7QUFDakc7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QixZQUFZLDJCQUEyQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sNENBQTRDLCtGQUErRjtBQUNsSjtBQUNBO0FBQ0EsMkJBQTJCLDhEQUFTO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDBEQUFPLGVBQWUseUJBQXlCO0FBQzlEO0FBQ0EsNEJBQTRCLG9EQUFJO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxrR0FBOEI7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsc0VBQWdCLFdBQVcsUUFBUTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSwwQkFBMEIsb0VBQWUsV0FBVyxRQUFRO0FBQzVEO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDRCQUE0QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy9wdWJsaWMvd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zLmpzPzE3MzciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4uLy4uL3V0aWxzL29ic2VydmUuanMnO1xuaW1wb3J0IHsgcG9sbCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbGwuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlciB9IGZyb20gJy4vY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyLmpzJztcbmltcG9ydCB7IGdldEZpbHRlckNoYW5nZXMgfSBmcm9tICcuL2dldEZpbHRlckNoYW5nZXMuanMnO1xuaW1wb3J0IHsgdW5pbnN0YWxsRmlsdGVyIH0gZnJvbSAnLi91bmluc3RhbGxGaWx0ZXIuanMnO1xuLyoqXG4gKiBXYXRjaGVzIGFuZCByZXR1cm5zIHBlbmRpbmcgdHJhbnNhY3Rpb24gaGFzaGVzLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy9wdWJsaWMvd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczpcbiAqICAgLSBXaGVuIGBwb2xsOiB0cnVlYFxuICogICAgIC0gQ2FsbHMgW2BldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9uZXdwZW5kaW5ndHJhbnNhY3Rpb25maWx0ZXIpIHRvIGluaXRpYWxpemUgdGhlIGZpbHRlci5cbiAqICAgICAtIENhbGxzIFtgZXRoX2dldEZpbHRlckNoYW5nZXNgXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX2dldEZpbHRlckNoYW5nZXMpIG9uIGEgcG9sbGluZyBpbnRlcnZhbC5cbiAqICAgLSBXaGVuIGBwb2xsOiBmYWxzZWAgJiBXZWJTb2NrZXQgVHJhbnNwb3J0LCB1c2VzIGEgV2ViU29ja2V0IHN1YnNjcmlwdGlvbiB2aWEgW2BldGhfc3Vic2NyaWJlYF0oaHR0cHM6Ly9kb2NzLmFsY2hlbXkuY29tL3JlZmVyZW5jZS9ldGgtc3Vic2NyaWJlLXBvbHlnb24pIGFuZCB0aGUgYFwibmV3UGVuZGluZ1RyYW5zYWN0aW9uc1wiYCBldmVudC5cbiAqXG4gKiBUaGlzIEFjdGlvbiB3aWxsIGJhdGNoIHVwIGFsbCB0aGUgcGVuZGluZyB0cmFuc2FjdGlvbnMgZm91bmQgd2l0aGluIHRoZSBbYHBvbGxpbmdJbnRlcnZhbGBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL3dhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucy5odG1sI3BvbGxpbmdpbnRlcnZhbC1vcHRpb25hbCksIGFuZCBpbnZva2UgdGhlbSB2aWEgW2BvblRyYW5zYWN0aW9uc2BdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvcHVibGljL3dhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucy5odG1sI29udHJhbnNhY3Rpb25zKS5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgV2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zUGFyYW1ldGVyc31cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCBjYW4gYmUgaW52b2tlZCB0byBzdG9wIHdhdGNoaW5nIGZvciBuZXcgcGVuZGluZyB0cmFuc2FjdGlvbiBoYXNoZXMuIHtAbGluayBXYXRjaFBlbmRpbmdUcmFuc2FjdGlvbnNSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVQdWJsaWNDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zIH0gZnJvbSAndmllbS9wdWJsaWMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IHVud2F0Y2ggPSBhd2FpdCB3YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMoY2xpZW50LCB7XG4gKiAgIG9uVHJhbnNhY3Rpb25zOiAoaGFzaGVzKSA9PiBjb25zb2xlLmxvZyhoYXNoZXMpLFxuICogfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucyhjbGllbnQsIHsgYmF0Y2ggPSB0cnVlLCBvbkVycm9yLCBvblRyYW5zYWN0aW9ucywgcG9sbDogcG9sbF8sIHBvbGxpbmdJbnRlcnZhbCA9IGNsaWVudC5wb2xsaW5nSW50ZXJ2YWwsIH0pIHtcbiAgICBjb25zdCBlbmFibGVQb2xsaW5nID0gdHlwZW9mIHBvbGxfICE9PSAndW5kZWZpbmVkJyA/IHBvbGxfIDogY2xpZW50LnRyYW5zcG9ydC50eXBlICE9PSAnd2ViU29ja2V0JztcbiAgICBjb25zdCBwb2xsUGVuZGluZ1RyYW5zYWN0aW9ucyA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXJJZCA9IHN0cmluZ2lmeShbXG4gICAgICAgICAgICAnd2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zJyxcbiAgICAgICAgICAgIGNsaWVudC51aWQsXG4gICAgICAgICAgICBiYXRjaCxcbiAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgXSk7XG4gICAgICAgIHJldHVybiBvYnNlcnZlKG9ic2VydmVySWQsIHsgb25UcmFuc2FjdGlvbnMsIG9uRXJyb3IgfSwgKGVtaXQpID0+IHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXI7XG4gICAgICAgICAgICBjb25zdCB1bndhdGNoID0gcG9sbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gYXdhaXQgY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyKGNsaWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVud2F0Y2goKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGFzaGVzID0gYXdhaXQgZ2V0RmlsdGVyQ2hhbmdlcyhjbGllbnQsIHsgZmlsdGVyIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzaGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJhdGNoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZW1pdC5vblRyYW5zYWN0aW9ucyhoYXNoZXMpO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNoZXMuZm9yRWFjaCgoaGFzaCkgPT4gZW1pdC5vblRyYW5zYWN0aW9ucyhbaGFzaF0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBlbWl0Lm9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBlbWl0T25CZWdpbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpbnRlcnZhbDogcG9sbGluZ0ludGVydmFsLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIpXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVuaW5zdGFsbEZpbHRlcihjbGllbnQsIHsgZmlsdGVyIH0pO1xuICAgICAgICAgICAgICAgIHVud2F0Y2goKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgY29uc3Qgc3Vic2NyaWJlUGVuZGluZ1RyYW5zYWN0aW9ucyA9ICgpID0+IHtcbiAgICAgICAgbGV0IGFjdGl2ZSA9IHRydWU7XG4gICAgICAgIGxldCB1bnN1YnNjcmliZSA9ICgpID0+IChhY3RpdmUgPSBmYWxzZSk7XG4gICAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdW5zdWJzY3JpYmU6IHVuc3Vic2NyaWJlXyB9ID0gYXdhaXQgY2xpZW50LnRyYW5zcG9ydC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFsnbmV3UGVuZGluZ1RyYW5zYWN0aW9ucyddLFxuICAgICAgICAgICAgICAgICAgICBvbkRhdGEoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhLnJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uVHJhbnNhY3Rpb25zKFt0cmFuc2FjdGlvbl0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPy4oZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlID0gdW5zdWJzY3JpYmVfO1xuICAgICAgICAgICAgICAgIGlmICghYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIG9uRXJyb3I/LihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgICAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gICAgfTtcbiAgICByZXR1cm4gZW5hYmxlUG9sbGluZ1xuICAgICAgICA/IHBvbGxQZW5kaW5nVHJhbnNhY3Rpb25zKClcbiAgICAgICAgOiBzdWJzY3JpYmVQZW5kaW5nVHJhbnNhY3Rpb25zKCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/public/watchPendingTransactions.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/dropTransaction.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/dropTransaction.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dropTransaction: function() { return /* binding */ dropTransaction; }\n/* harmony export */ });\n/**\n * Removes a transaction from the mempool.\n *\n * - Docs: https://viem.sh/docs/actions/test/dropTransaction.html\n *\n * @param client - Client to use\n * @param parameters - {@link DropTransactionParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { dropTransaction } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await dropTransaction(client, {\n * hash: '0xe58dceb6b20b03965bb678e27d141e151d7d4efc2334c2d6a49b9fac523f7364'\n * })\n */\nasync function dropTransaction(client, { hash }) {\n await client.request({\n method: `${client.mode}_dropTransaction`,\n params: [hash],\n });\n}\n//# sourceMappingURL=dropTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvZHJvcFRyYW5zYWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLGtCQUFrQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyx5Q0FBeUMsTUFBTTtBQUN0RDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L2Ryb3BUcmFuc2FjdGlvbi5qcz9kZmQzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVtb3ZlcyBhIHRyYW5zYWN0aW9uIGZyb20gdGhlIG1lbXBvb2wuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3QvZHJvcFRyYW5zYWN0aW9uLmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgRHJvcFRyYW5zYWN0aW9uUGFyYW1ldGVyc31cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBkcm9wVHJhbnNhY3Rpb24gfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGF3YWl0IGRyb3BUcmFuc2FjdGlvbihjbGllbnQsIHtcbiAqICAgaGFzaDogJzB4ZTU4ZGNlYjZiMjBiMDM5NjViYjY3OGUyN2QxNDFlMTUxZDdkNGVmYzIzMzRjMmQ2YTQ5YjlmYWM1MjNmNzM2NCdcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkcm9wVHJhbnNhY3Rpb24oY2xpZW50LCB7IGhhc2ggfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fZHJvcFRyYW5zYWN0aW9uYCxcbiAgICAgICAgcGFyYW1zOiBbaGFzaF0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kcm9wVHJhbnNhY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/dropTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/getAutomine.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/getAutomine.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAutomine: function() { return /* binding */ getAutomine; }\n/* harmony export */ });\n/**\n * Returns the automatic mining status of the node.\n *\n * - Docs: https://viem.sh/docs/actions/test/getAutomine.html\n *\n * @param client - Client to use\n * @returns Whether or not the node is auto mining. {@link GetAutomineReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { getAutomine } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const isAutomining = await getAutomine(client)\n */\nasync function getAutomine(client) {\n if (client.mode === 'ganache')\n return await client.request({\n method: 'eth_mining',\n });\n return await client.request({\n method: `${client.mode}_getAutomine`,\n });\n}\n//# sourceMappingURL=getAutomine.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvZ2V0QXV0b21pbmUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9nZXRBdXRvbWluZS5qcz8zYWQ5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmV0dXJucyB0aGUgYXV0b21hdGljIG1pbmluZyBzdGF0dXMgb2YgdGhlIG5vZGUuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3QvZ2V0QXV0b21pbmUuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcmV0dXJucyBXaGV0aGVyIG9yIG5vdCB0aGUgbm9kZSBpcyBhdXRvIG1pbmluZy4ge0BsaW5rIEdldEF1dG9taW5lUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRBdXRvbWluZSB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgaXNBdXRvbWluaW5nID0gYXdhaXQgZ2V0QXV0b21pbmUoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXV0b21pbmUoY2xpZW50KSB7XG4gICAgaWYgKGNsaWVudC5tb2RlID09PSAnZ2FuYWNoZScpXG4gICAgICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldGhfbWluaW5nJyxcbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fZ2V0QXV0b21pbmVgLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0QXV0b21pbmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/getAutomine.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/getTxpoolContent.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/getTxpoolContent.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTxpoolContent: function() { return /* binding */ getTxpoolContent; }\n/* harmony export */ });\n/**\n * Returns the details of all transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/getTxpoolContent.html\n *\n * @param client - Client to use\n * @returns Transaction pool content. {@link GetTxpoolContentReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { getTxpoolContent } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const content = await getTxpoolContent(client)\n */\nasync function getTxpoolContent(client) {\n return await client.request({\n method: 'txpool_content',\n });\n}\n//# sourceMappingURL=getTxpoolContent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sQ29udGVudC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxtQkFBbUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L2dldFR4cG9vbENvbnRlbnQuanM/N2QxZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJldHVybnMgdGhlIGRldGFpbHMgb2YgYWxsIHRyYW5zYWN0aW9ucyBjdXJyZW50bHkgcGVuZGluZyBmb3IgaW5jbHVzaW9uIGluIHRoZSBuZXh0IGJsb2NrKHMpLCBhcyB3ZWxsIGFzIHRoZSBvbmVzIHRoYXQgYXJlIGJlaW5nIHNjaGVkdWxlZCBmb3IgZnV0dXJlIGV4ZWN1dGlvbiBvbmx5LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L2dldFR4cG9vbENvbnRlbnQuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcmV0dXJucyBUcmFuc2FjdGlvbiBwb29sIGNvbnRlbnQuIHtAbGluayBHZXRUeHBvb2xDb250ZW50UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBnZXRUeHBvb2xDb250ZW50IH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBjb250ZW50ID0gYXdhaXQgZ2V0VHhwb29sQ29udGVudChjbGllbnQpXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUeHBvb2xDb250ZW50KGNsaWVudCkge1xuICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3R4cG9vbF9jb250ZW50JyxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFR4cG9vbENvbnRlbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/getTxpoolContent.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/getTxpoolStatus.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/getTxpoolStatus.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTxpoolStatus: function() { return /* binding */ getTxpoolStatus; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n\n/**\n * Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/getTxpoolStatus.html\n *\n * @param client - Client to use\n * @returns Transaction pool status. {@link GetTxpoolStatusReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { getTxpoolStatus } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const status = await getTxpoolStatus(client)\n */\nasync function getTxpoolStatus(client) {\n const { pending, queued } = await client.request({\n method: 'txpool_status',\n });\n return {\n pending: (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.hexToNumber)(pending),\n queued: (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.hexToNumber)(queued),\n };\n}\n//# sourceMappingURL=getTxpoolStatus.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sU3RhdHVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksa0JBQWtCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPO0FBQ1AsWUFBWSxrQkFBa0I7QUFDOUI7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUIsdUVBQVc7QUFDNUIsZ0JBQWdCLHVFQUFXO0FBQzNCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sU3RhdHVzLmpzP2E3MGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGV4VG9OdW1iZXIgfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzJztcbi8qKlxuICogUmV0dXJucyBhIHN1bW1hcnkgb2YgYWxsIHRoZSB0cmFuc2FjdGlvbnMgY3VycmVudGx5IHBlbmRpbmcgZm9yIGluY2x1c2lvbiBpbiB0aGUgbmV4dCBibG9jayhzKSwgYXMgd2VsbCBhcyB0aGUgb25lcyB0aGF0IGFyZSBiZWluZyBzY2hlZHVsZWQgZm9yIGZ1dHVyZSBleGVjdXRpb24gb25seS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9nZXRUeHBvb2xTdGF0dXMuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcmV0dXJucyBUcmFuc2FjdGlvbiBwb29sIHN0YXR1cy4ge0BsaW5rIEdldFR4cG9vbFN0YXR1c1JldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0VHhwb29sU3RhdHVzIH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBzdGF0dXMgPSBhd2FpdCBnZXRUeHBvb2xTdGF0dXMoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHhwb29sU3RhdHVzKGNsaWVudCkge1xuICAgIGNvbnN0IHsgcGVuZGluZywgcXVldWVkIH0gPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3R4cG9vbF9zdGF0dXMnLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHBlbmRpbmc6IGhleFRvTnVtYmVyKHBlbmRpbmcpLFxuICAgICAgICBxdWV1ZWQ6IGhleFRvTnVtYmVyKHF1ZXVlZCksXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFR4cG9vbFN0YXR1cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/getTxpoolStatus.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/impersonateAccount.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/impersonateAccount.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ impersonateAccount: function() { return /* binding */ impersonateAccount; }\n/* harmony export */ });\n/**\n * Impersonate an account or contract address. This lets you send transactions from that account even if you don't have access to its private key.\n *\n * - Docs: https://viem.sh/docs/actions/test/impersonateAccount.html\n *\n * @param client - Client to use\n * @param parameters - {@link ImpersonateAccountParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { impersonateAccount } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const content = await impersonateAccount(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nasync function impersonateAccount(client, { address }) {\n await client.request({\n method: `${client.mode}_impersonateAccount`,\n params: [address],\n });\n}\n//# sourceMappingURL=impersonateAccount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvaW1wZXJzb25hdGVBY2NvdW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLHFCQUFxQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyw0Q0FBNEMsU0FBUztBQUM1RDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L2ltcGVyc29uYXRlQWNjb3VudC5qcz8yNDkwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW1wZXJzb25hdGUgYW4gYWNjb3VudCBvciBjb250cmFjdCBhZGRyZXNzLiBUaGlzIGxldHMgeW91IHNlbmQgdHJhbnNhY3Rpb25zIGZyb20gdGhhdCBhY2NvdW50IGV2ZW4gaWYgeW91IGRvbid0IGhhdmUgYWNjZXNzIHRvIGl0cyBwcml2YXRlIGtleS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9pbXBlcnNvbmF0ZUFjY291bnQuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBJbXBlcnNvbmF0ZUFjY291bnRQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGltcGVyc29uYXRlQWNjb3VudCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgY29udGVudCA9IGF3YWl0IGltcGVyc29uYXRlQWNjb3VudChjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4QTBDZjc5ODgxNkQ0YjliOTg2NmI1MzMwRUVhNDZhMTgzODJmMjUxZScsXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW1wZXJzb25hdGVBY2NvdW50KGNsaWVudCwgeyBhZGRyZXNzIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X2ltcGVyc29uYXRlQWNjb3VudGAsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3NdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1wZXJzb25hdGVBY2NvdW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/impersonateAccount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/increaseTime.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/increaseTime.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ increaseTime: function() { return /* binding */ increaseTime; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Jump forward in time by the given amount of time, in seconds.\n *\n * - Docs: https://viem.sh/docs/actions/test/increaseTime.html\n *\n * @param client - Client to use\n * @param parameters – {@link IncreaseTimeParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { increaseTime } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await increaseTime(client, {\n * seconds: 420,\n * })\n */\nasync function increaseTime(client, { seconds }) {\n return await client.request({\n method: 'evm_increaseTime',\n params: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(seconds)],\n });\n}\n//# sourceMappingURL=increaseTime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvaW5jcmVhc2VUaW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksZUFBZTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxzQ0FBc0MsU0FBUztBQUN0RDtBQUNBO0FBQ0EsaUJBQWlCLHFFQUFXO0FBQzVCLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9pbmNyZWFzZVRpbWUuanM/OTQ1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbi8qKlxuICogSnVtcCBmb3J3YXJkIGluIHRpbWUgYnkgdGhlIGdpdmVuIGFtb3VudCBvZiB0aW1lLCBpbiBzZWNvbmRzLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L2luY3JlYXNlVGltZS5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgSW5jcmVhc2VUaW1lUGFyYW1ldGVyc31cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBpbmNyZWFzZVRpbWUgfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGF3YWl0IGluY3JlYXNlVGltZShjbGllbnQsIHtcbiAqICAgc2Vjb25kczogNDIwLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluY3JlYXNlVGltZShjbGllbnQsIHsgc2Vjb25kcyB9KSB7XG4gICAgcmV0dXJuIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXZtX2luY3JlYXNlVGltZScsXG4gICAgICAgIHBhcmFtczogW251bWJlclRvSGV4KHNlY29uZHMpXSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluY3JlYXNlVGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/increaseTime.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/inspectTxpool.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/inspectTxpool.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ inspectTxpool: function() { return /* binding */ inspectTxpool; }\n/* harmony export */ });\n/**\n * Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/inspectTxpool.html\n *\n * @param client - Client to use\n * @returns Transaction pool inspection data. {@link InspectTxpoolReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { inspectTxpool } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const data = await inspectTxpool(client)\n */\nasync function inspectTxpool(client) {\n return await client.request({\n method: 'txpool_inspect',\n });\n}\n//# sourceMappingURL=inspectTxpool.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvaW5zcGVjdFR4cG9vbC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L2luc3BlY3RUeHBvb2wuanM/MjUxNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJldHVybnMgYSBzdW1tYXJ5IG9mIGFsbCB0aGUgdHJhbnNhY3Rpb25zIGN1cnJlbnRseSBwZW5kaW5nIGZvciBpbmNsdXNpb24gaW4gdGhlIG5leHQgYmxvY2socyksIGFzIHdlbGwgYXMgdGhlIG9uZXMgdGhhdCBhcmUgYmVpbmcgc2NoZWR1bGVkIGZvciBmdXR1cmUgZXhlY3V0aW9uIG9ubHkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3QvaW5zcGVjdFR4cG9vbC5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEByZXR1cm5zIFRyYW5zYWN0aW9uIHBvb2wgaW5zcGVjdGlvbiBkYXRhLiB7QGxpbmsgSW5zcGVjdFR4cG9vbFJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgaW5zcGVjdFR4cG9vbCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogY29uc3QgZGF0YSA9IGF3YWl0IGluc3BlY3RUeHBvb2woY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5zcGVjdFR4cG9vbChjbGllbnQpIHtcbiAgICByZXR1cm4gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICd0eHBvb2xfaW5zcGVjdCcsXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnNwZWN0VHhwb29sLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/inspectTxpool.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/mine.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/mine.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mine: function() { return /* binding */ mine; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Mine a specified number of blocks.\n *\n * - Docs: https://viem.sh/docs/actions/test/mine.html\n *\n * @param client - Client to use\n * @param parameters – {@link MineParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { mine } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await mine(client, { blocks: 1 })\n */\nasync function mine(client, { blocks, interval }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_mine',\n params: [{ blocks: (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blocks) }],\n });\n else\n await client.request({\n method: `${client.mode}_mine`,\n params: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(blocks), (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(interval || 0)],\n });\n}\n//# sourceMappingURL=mine.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvbWluZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLE9BQU87QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSix3QkFBd0IsV0FBVztBQUNuQztBQUNPLDhCQUE4QixrQkFBa0I7QUFDdkQ7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFFBQVEscUVBQVcsVUFBVTtBQUNwRCxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHVCQUF1QixZQUFZO0FBQ25DLHFCQUFxQixxRUFBVyxVQUFVLHFFQUFXO0FBQ3JELFNBQVM7QUFDVDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9taW5lLmpzP2Q4Y2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG4vKipcbiAqIE1pbmUgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJsb2Nrcy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9taW5lLmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMg4oCTIHtAbGluayBNaW5lUGFyYW1ldGVyc31cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBtaW5lIH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBhd2FpdCBtaW5lKGNsaWVudCwgeyBibG9ja3M6IDEgfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pbmUoY2xpZW50LCB7IGJsb2NrcywgaW50ZXJ2YWwgfSkge1xuICAgIGlmIChjbGllbnQubW9kZSA9PT0gJ2dhbmFjaGUnKVxuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldm1fbWluZScsXG4gICAgICAgICAgICBwYXJhbXM6IFt7IGJsb2NrczogbnVtYmVyVG9IZXgoYmxvY2tzKSB9XSxcbiAgICAgICAgfSk7XG4gICAgZWxzZVxuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9taW5lYCxcbiAgICAgICAgICAgIHBhcmFtczogW251bWJlclRvSGV4KGJsb2NrcyksIG51bWJlclRvSGV4KGludGVydmFsIHx8IDApXSxcbiAgICAgICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1taW5lLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/mine.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/removeBlockTimestampInterval.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/removeBlockTimestampInterval.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ removeBlockTimestampInterval: function() { return /* binding */ removeBlockTimestampInterval; }\n/* harmony export */ });\n/**\n * Removes [`setBlockTimestampInterval`](https://viem.sh/docs/actions/test/setBlockTimestampInterval.html) if it exists.\n *\n * - Docs: https://viem.sh/docs/actions/test/removeBlockTimestampInterval.html\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { removeBlockTimestampInterval } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await removeBlockTimestampInterval(client)\n */\nasync function removeBlockTimestampInterval(client) {\n await client.request({\n method: `${client.mode}_removeBlockTimestampInterval`,\n });\n}\n//# sourceMappingURL=removeBlockTimestampInterval.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLCtCQUErQjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTztBQUNQO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0IsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3JlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWwuanM/Y2I4YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlbW92ZXMgW2BzZXRCbG9ja1RpbWVzdGFtcEludGVydmFsYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3NldEJsb2NrVGltZXN0YW1wSW50ZXJ2YWwuaHRtbCkgaWYgaXQgZXhpc3RzLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3JlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWwuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbChjbGllbnQpXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsKGNsaWVudCkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbGAsXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/removeBlockTimestampInterval.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/reset.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/reset.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ reset: function() { return /* binding */ reset; }\n/* harmony export */ });\n/**\n * Resets fork back to its original state.\n *\n * - Docs: https://viem.sh/docs/actions/test/reset.html\n *\n * @param client - Client to use\n * @param parameters – {@link ResetParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { reset } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await reset(client, { blockNumber: 69420n })\n */\nasync function reset(client, { blockNumber, jsonRpcUrl } = {}) {\n await client.request({\n method: `${client.mode}_reset`,\n params: [{ forking: { blockNumber: Number(blockNumber), jsonRpcUrl } }],\n });\n}\n//# sourceMappingURL=reset.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvcmVzZXQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLHlCQUF5QixxQkFBcUI7QUFDOUM7QUFDTywrQkFBK0IsMEJBQTBCLElBQUk7QUFDcEU7QUFDQSxtQkFBbUIsWUFBWTtBQUMvQixtQkFBbUIsV0FBVyxnREFBZ0Q7QUFDOUUsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3Jlc2V0LmpzP2I4OWIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNldHMgZm9yayBiYWNrIHRvIGl0cyBvcmlnaW5hbCBzdGF0ZS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9yZXNldC5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgUmVzZXRQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHJlc2V0IH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBhd2FpdCByZXNldChjbGllbnQsIHsgYmxvY2tOdW1iZXI6IDY5NDIwbiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzZXQoY2xpZW50LCB7IGJsb2NrTnVtYmVyLCBqc29uUnBjVXJsIH0gPSB7fSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fcmVzZXRgLFxuICAgICAgICBwYXJhbXM6IFt7IGZvcmtpbmc6IHsgYmxvY2tOdW1iZXI6IE51bWJlcihibG9ja051bWJlciksIGpzb25ScGNVcmwgfSB9XSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlc2V0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/reset.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/revert.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/revert.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ revert: function() { return /* binding */ revert; }\n/* harmony export */ });\n/**\n * Revert the state of the blockchain at the current block.\n *\n * - Docs: https://viem.sh/docs/actions/test/revert.html\n *\n * @param client - Client to use\n * @param parameters – {@link RevertParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { revert } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await revert(client, { id: '0x…' })\n */\nasync function revert(client, { id }) {\n await client.request({\n method: 'evm_revert',\n params: [id],\n });\n}\n//# sourceMappingURL=revert.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3QvcmV2ZXJ0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLFNBQVM7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiwwQkFBMEIsV0FBVztBQUNyQztBQUNPLGdDQUFnQyxJQUFJO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9yZXZlcnQuanM/NWE1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJldmVydCB0aGUgc3RhdGUgb2YgdGhlIGJsb2NrY2hhaW4gYXQgdGhlIGN1cnJlbnQgYmxvY2suXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3QvcmV2ZXJ0Lmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMg4oCTIHtAbGluayBSZXZlcnRQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHJldmVydCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgcmV2ZXJ0KGNsaWVudCwgeyBpZDogJzB44oCmJyB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV2ZXJ0KGNsaWVudCwgeyBpZCB9KSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldm1fcmV2ZXJ0JyxcbiAgICAgICAgcGFyYW1zOiBbaWRdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmV2ZXJ0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/revert.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/sendUnsignedTransaction.js": -/*!****************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/sendUnsignedTransaction.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sendUnsignedTransaction: function() { return /* binding */ sendUnsignedTransaction; }\n/* harmony export */ });\n/* harmony import */ var _utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/esm/utils/formatters/extract.js\");\n/* harmony import */ var _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n\n\n/**\n * Returns the details of all transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.\n *\n * - Docs: https://viem.sh/docs/actions/test/getTxpoolContent.html\n *\n * @param client - Client to use\n * @param parameters – {@link SendUnsignedTransactionParameters}\n * @returns The transaction hash. {@link SendUnsignedTransactionReturnType}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { sendUnsignedTransaction } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * const hash = await sendUnsignedTransaction(client, {\n * from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 1000000000000000000n,\n * })\n */\nasync function sendUnsignedTransaction(client, args) {\n const { accessList, data, from, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n const format = client.chain?.formatters?.transactionRequest?.format ||\n _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_0__.formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...(0,_utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_1__.extract)(rest, { format }),\n accessList,\n data,\n from,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n const hash = await client.request({\n method: 'eth_sendUnsignedTransaction',\n params: [request],\n });\n return hash;\n}\n//# sourceMappingURL=sendUnsignedTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTREO0FBQzZCO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLDBCQUEwQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ087QUFDUCxZQUFZLHVHQUF1RztBQUNuSDtBQUNBLFFBQVEsNkZBQXdCO0FBQ2hDO0FBQ0E7QUFDQSxXQUFXLHFFQUFPLFNBQVMsUUFBUTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9zZW5kVW5zaWduZWRUcmFuc2FjdGlvbi5qcz82YmQ5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dHJhY3QgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanMnO1xuaW1wb3J0IHsgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0LCB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZXF1ZXN0LmpzJztcbi8qKlxuICogUmV0dXJucyB0aGUgZGV0YWlscyBvZiBhbGwgdHJhbnNhY3Rpb25zIGN1cnJlbnRseSBwZW5kaW5nIGZvciBpbmNsdXNpb24gaW4gdGhlIG5leHQgYmxvY2socyksIGFzIHdlbGwgYXMgdGhlIG9uZXMgdGhhdCBhcmUgYmVpbmcgc2NoZWR1bGVkIGZvciBmdXR1cmUgZXhlY3V0aW9uIG9ubHkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sQ29udGVudC5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2VuZFVuc2lnbmVkVHJhbnNhY3Rpb25QYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIHRyYW5zYWN0aW9uIGhhc2guIHtAbGluayBTZW5kVW5zaWduZWRUcmFuc2FjdGlvblJldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGhhc2ggPSBhd2FpdCBzZW5kVW5zaWduZWRUcmFuc2FjdGlvbihjbGllbnQsIHtcbiAqICAgZnJvbTogJzB4ZjM5ZmQ2ZTUxYWFkODhmNmY0Y2U2YWI4ODI3Mjc5Y2ZmZmI5MjI2NicsXG4gKiAgIHRvOiAnMHg3MDk5Nzk3MGM1MTgxMmRjM2EwMTBjN2QwMWI1MGUwZDE3ZGM3OWM4JyxcbiAqICAgdmFsdWU6IDEwMDAwMDAwMDAwMDAwMDAwMDBuLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRVbnNpZ25lZFRyYW5zYWN0aW9uKGNsaWVudCwgYXJncykge1xuICAgIGNvbnN0IHsgYWNjZXNzTGlzdCwgZGF0YSwgZnJvbSwgZ2FzLCBnYXNQcmljZSwgbWF4RmVlUGVyR2FzLCBtYXhQcmlvcml0eUZlZVBlckdhcywgbm9uY2UsIHRvLCB2YWx1ZSwgLi4ucmVzdCB9ID0gYXJncztcbiAgICBjb25zdCBmb3JtYXQgPSBjbGllbnQuY2hhaW4/LmZvcm1hdHRlcnM/LnRyYW5zYWN0aW9uUmVxdWVzdD8uZm9ybWF0IHx8XG4gICAgICAgIGZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdDtcbiAgICBjb25zdCByZXF1ZXN0ID0gZm9ybWF0KHtcbiAgICAgICAgLy8gUGljayBvdXQgZXh0cmEgZGF0YSB0aGF0IG1pZ2h0IGV4aXN0IG9uIHRoZSBjaGFpbidzIHRyYW5zYWN0aW9uIHJlcXVlc3QgdHlwZS5cbiAgICAgICAgLi4uZXh0cmFjdChyZXN0LCB7IGZvcm1hdCB9KSxcbiAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZnJvbSxcbiAgICAgICAgZ2FzLFxuICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgICAgbm9uY2UsXG4gICAgICAgIHRvLFxuICAgICAgICB2YWx1ZSxcbiAgICB9KTtcbiAgICBjb25zdCBoYXNoID0gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldGhfc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24nLFxuICAgICAgICBwYXJhbXM6IFtyZXF1ZXN0XSxcbiAgICB9KTtcbiAgICByZXR1cm4gaGFzaDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlbmRVbnNpZ25lZFRyYW5zYWN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/sendUnsignedTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setAutomine.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setAutomine.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setAutomine: function() { return /* binding */ setAutomine; }\n/* harmony export */ });\n/**\n * Enables or disables the automatic mining of new blocks with each new transaction submitted to the network.\n *\n * - Docs: https://viem.sh/docs/actions/test/setAutomine.html\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setAutomine } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setAutomine(client)\n */\nasync function setAutomine(client, enabled) {\n if (client.mode === 'ganache') {\n if (enabled)\n await client.request({ method: 'miner_start' });\n else\n await client.request({ method: 'miner_stop' });\n }\n else\n await client.request({\n method: 'evm_setAutomine',\n params: [enabled],\n });\n}\n//# sourceMappingURL=setAutomine.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QXV0b21pbmUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxjQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLG1DQUFtQyx1QkFBdUI7QUFDMUQ7QUFDQSxtQ0FBbUMsc0JBQXNCO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QXV0b21pbmUuanM/MzZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGF1dG9tYXRpYyBtaW5pbmcgb2YgbmV3IGJsb2NrcyB3aXRoIGVhY2ggbmV3IHRyYW5zYWN0aW9uIHN1Ym1pdHRlZCB0byB0aGUgbmV0d29yay5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXRBdXRvbWluZS5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzZXRBdXRvbWluZSB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0QXV0b21pbmUoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0QXV0b21pbmUoY2xpZW50LCBlbmFibGVkKSB7XG4gICAgaWYgKGNsaWVudC5tb2RlID09PSAnZ2FuYWNoZScpIHtcbiAgICAgICAgaWYgKGVuYWJsZWQpXG4gICAgICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7IG1ldGhvZDogJ21pbmVyX3N0YXJ0JyB9KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgYXdhaXQgY2xpZW50LnJlcXVlc3QoeyBtZXRob2Q6ICdtaW5lcl9zdG9wJyB9KTtcbiAgICB9XG4gICAgZWxzZVxuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6ICdldm1fc2V0QXV0b21pbmUnLFxuICAgICAgICAgICAgcGFyYW1zOiBbZW5hYmxlZF0sXG4gICAgICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0QXV0b21pbmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setAutomine.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setBalance.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setBalance.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setBalance: function() { return /* binding */ setBalance; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Modifies the balance of an account.\n *\n * - Docs: https://viem.sh/docs/actions/test/setBalance.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetBalanceParameters}\n *\n * @example\n * import { createTestClient, http, parseEther } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setBalance } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setBalance(client, {\n * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * value: parseEther('1'),\n * })\n */\nasync function setBalance(client, { address, value }) {\n if (client.mode === 'ganache')\n await client.request({\n method: 'evm_setAccountBalance',\n params: [address, (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(value)],\n });\n else\n await client.request({\n method: `${client.mode}_setBalance`,\n params: [address, (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(value)],\n });\n}\n//# sourceMappingURL=setBalance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QmFsYW5jZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkscUNBQXFDO0FBQ2pELFlBQVksVUFBVTtBQUN0QixZQUFZLGFBQWE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxvQ0FBb0MsZ0JBQWdCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixxRUFBVztBQUN6QyxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHVCQUF1QixZQUFZO0FBQ25DLDhCQUE4QixxRUFBVztBQUN6QyxTQUFTO0FBQ1Q7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QmFsYW5jZS5qcz84ODM1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBNb2RpZmllcyB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3NldEJhbGFuY2UuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyDigJMge0BsaW5rIFNldEJhbGFuY2VQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwLCBwYXJzZUV0aGVyIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNldEJhbGFuY2UgfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGF3YWl0IHNldEJhbGFuY2UoY2xpZW50LCB7XG4gKiAgIGFkZHJlc3M6ICcweGE1Y2MzYzAzOTk0REI1YjBkOUE1ZUVkRDEwQ2FiYUIwODEzNjc4QUMnLFxuICogICB2YWx1ZTogcGFyc2VFdGhlcignMScpLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldEJhbGFuY2UoY2xpZW50LCB7IGFkZHJlc3MsIHZhbHVlIH0pIHtcbiAgICBpZiAoY2xpZW50Lm1vZGUgPT09ICdnYW5hY2hlJylcbiAgICAgICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiAnZXZtX3NldEFjY291bnRCYWxhbmNlJyxcbiAgICAgICAgICAgIHBhcmFtczogW2FkZHJlc3MsIG51bWJlclRvSGV4KHZhbHVlKV0sXG4gICAgICAgIH0pO1xuICAgIGVsc2VcbiAgICAgICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0QmFsYW5jZWAsXG4gICAgICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBudW1iZXJUb0hleCh2YWx1ZSldLFxuICAgICAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldEJhbGFuY2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setBalance.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setBlockGasLimit.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setBlockGasLimit.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setBlockGasLimit: function() { return /* binding */ setBlockGasLimit; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Sets the block's gas limit.\n *\n * - Docs: https://viem.sh/docs/actions/test/setBlockGasLimit.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetBlockGasLimitParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setBlockGasLimit } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setBlockGasLimit(client, { gasLimit: 420_000n })\n */\nasync function setBlockGasLimit(client, { gasLimit }) {\n await client.request({\n method: 'evm_setBlockGasLimit',\n params: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(gasLimit)],\n });\n}\n//# sourceMappingURL=setBlockGasLimit.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tHYXNMaW1pdC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLG1CQUFtQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLG9DQUFvQyxvQkFBb0I7QUFDeEQ7QUFDTywwQ0FBMEMsVUFBVTtBQUMzRDtBQUNBO0FBQ0EsaUJBQWlCLHFFQUFXO0FBQzVCLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9zZXRCbG9ja0dhc0xpbWl0LmpzPzZmYjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG4vKipcbiAqIFNldHMgdGhlIGJsb2NrJ3MgZ2FzIGxpbWl0LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3NldEJsb2NrR2FzTGltaXQuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyDigJMge0BsaW5rIFNldEJsb2NrR2FzTGltaXRQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNldEJsb2NrR2FzTGltaXQgfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGF3YWl0IHNldEJsb2NrR2FzTGltaXQoY2xpZW50LCB7IGdhc0xpbWl0OiA0MjBfMDAwbiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0QmxvY2tHYXNMaW1pdChjbGllbnQsIHsgZ2FzTGltaXQgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXZtX3NldEJsb2NrR2FzTGltaXQnLFxuICAgICAgICBwYXJhbXM6IFtudW1iZXJUb0hleChnYXNMaW1pdCldLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0QmxvY2tHYXNMaW1pdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setBlockGasLimit.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setBlockTimestampInterval.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setBlockTimestampInterval.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setBlockTimestampInterval: function() { return /* binding */ setBlockTimestampInterval; }\n/* harmony export */ });\n/**\n * Similar to [`increaseTime`](https://viem.sh/docs/actions/test/increaseTime.html), but sets a block timestamp `interval`. The timestamp of future blocks will be computed as `lastBlock_timestamp` + `interval`.\n *\n * - Docs: https://viem.sh/docs/actions/test/setBlockTimestampInterval.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetBlockTimestampIntervalParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setBlockTimestampInterval } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setBlockTimestampInterval(client, { interval: 5 })\n */\nasync function setBlockTimestampInterval(client, { interval }) {\n await client.request({\n method: `${client.mode}_setBlockTimestampInterval`,\n params: [interval],\n });\n}\n//# sourceMappingURL=setBlockTimestampInterval.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSw0QkFBNEI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSiw2Q0FBNkMsYUFBYTtBQUMxRDtBQUNPLG1EQUFtRCxVQUFVO0FBQ3BFO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0I7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcz82ZGMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2ltaWxhciB0byBbYGluY3JlYXNlVGltZWBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9pbmNyZWFzZVRpbWUuaHRtbCksIGJ1dCBzZXRzIGEgYmxvY2sgdGltZXN0YW1wIGBpbnRlcnZhbGAuIFRoZSB0aW1lc3RhbXAgb2YgZnV0dXJlIGJsb2NrcyB3aWxsIGJlIGNvbXB1dGVkIGFzIGBsYXN0QmxvY2tfdGltZXN0YW1wYCArIGBpbnRlcnZhbGAuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbFBhcmFtZXRlcnN9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbChjbGllbnQsIHsgaW50ZXJ2YWw6IDUgfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldEJsb2NrVGltZXN0YW1wSW50ZXJ2YWwoY2xpZW50LCB7IGludGVydmFsIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldEJsb2NrVGltZXN0YW1wSW50ZXJ2YWxgLFxuICAgICAgICBwYXJhbXM6IFtpbnRlcnZhbF0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXRCbG9ja1RpbWVzdGFtcEludGVydmFsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setBlockTimestampInterval.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setCode.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setCode.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setCode: function() { return /* binding */ setCode; }\n/* harmony export */ });\n/**\n * Modifies the bytecode stored at an account's address.\n *\n * - Docs: https://viem.sh/docs/actions/test/setCode.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetCodeParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setCode } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setCode(client, {\n * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',\n * bytecode: '0x60806040526000600355600019600955600c80546001600160a01b031916737a250d5630b4cf539739df…',\n * })\n */\nasync function setCode(client, { address, bytecode }) {\n await client.request({\n method: `${client.mode}_setCode`,\n params: [address, bytecode],\n });\n}\n//# sourceMappingURL=setCode.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0Q29kZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxVQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08saUNBQWlDLG1CQUFtQjtBQUMzRDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3NldENvZGUuanM/NTZjNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1vZGlmaWVzIHRoZSBieXRlY29kZSBzdG9yZWQgYXQgYW4gYWNjb3VudCdzIGFkZHJlc3MuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3Qvc2V0Q29kZS5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2V0Q29kZVBhcmFtZXRlcnN9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2V0Q29kZSB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0Q29kZShjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4ZTg0NmM2ZmNmODE3NzM0Y2E0NTI3YjI4Y2NiNGFlYTJiNjY2M2M3OScsXG4gKiAgIGJ5dGVjb2RlOiAnMHg2MDgwNjA0MDUyNjAwMDYwMDM1NTYwMDAxOTYwMDk1NTYwMGM4MDU0NjAwMTYwMDE2MGEwMWIwMzE5MTY3MzdhMjUwZDU2MzBiNGNmNTM5NzM5ZGbigKYnLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldENvZGUoY2xpZW50LCB7IGFkZHJlc3MsIGJ5dGVjb2RlIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldENvZGVgLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzLCBieXRlY29kZV0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXRDb2RlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setCode.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setCoinbase.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setCoinbase.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setCoinbase: function() { return /* binding */ setCoinbase; }\n/* harmony export */ });\n/**\n * Sets the coinbase address to be used in new blocks.\n *\n * - Docs: https://viem.sh/docs/actions/test/setCoinbase.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetCoinbaseParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setCoinbase } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setCoinbase(client, {\n * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',\n * })\n */\nasync function setCoinbase(client, { address }) {\n await client.request({\n method: `${client.mode}_setCoinbase`,\n params: [address],\n });\n}\n//# sourceMappingURL=setCoinbase.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0Q29pbmJhc2UuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxxQ0FBcUMsU0FBUztBQUNyRDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3NldENvaW5iYXNlLmpzPzdmZmYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZXRzIHRoZSBjb2luYmFzZSBhZGRyZXNzIHRvIGJlIHVzZWQgaW4gbmV3IGJsb2Nrcy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXRDb2luYmFzZS5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2V0Q29pbmJhc2VQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNldENvaW5iYXNlIH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBhd2FpdCBzZXRDb2luYmFzZShjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4ZTg0NmM2ZmNmODE3NzM0Y2E0NTI3YjI4Y2NiNGFlYTJiNjY2M2M3OScsXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0Q29pbmJhc2UoY2xpZW50LCB7IGFkZHJlc3MgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc2V0Q29pbmJhc2VgLFxuICAgICAgICBwYXJhbXM6IFthZGRyZXNzXSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldENvaW5iYXNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setCoinbase.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setIntervalMining.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setIntervalMining.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setIntervalMining: function() { return /* binding */ setIntervalMining; }\n/* harmony export */ });\n/**\n * Sets the automatic mining interval (in seconds) of blocks. Setting the interval to 0 will disable automatic mining.\n *\n * - Docs: https://viem.sh/docs/actions/test/setIntervalMining.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetIntervalMiningParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setIntervalMining } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setIntervalMining(client, { interval: 5 })\n */\nasync function setIntervalMining(client, { interval }) {\n await client.request({\n method: 'evm_setIntervalMining',\n params: [interval],\n });\n}\n//# sourceMappingURL=setIntervalMining.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0SW50ZXJ2YWxNaW5pbmcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksb0JBQW9CO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0oscUNBQXFDLGFBQWE7QUFDbEQ7QUFDTywyQ0FBMkMsVUFBVTtBQUM1RDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0SW50ZXJ2YWxNaW5pbmcuanM/YzVjNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNldHMgdGhlIGF1dG9tYXRpYyBtaW5pbmcgaW50ZXJ2YWwgKGluIHNlY29uZHMpIG9mIGJsb2Nrcy4gU2V0dGluZyB0aGUgaW50ZXJ2YWwgdG8gMCB3aWxsIGRpc2FibGUgYXV0b21hdGljIG1pbmluZy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXRJbnRlcnZhbE1pbmluZy5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2V0SW50ZXJ2YWxNaW5pbmdQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNldEludGVydmFsTWluaW5nIH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBhd2FpdCBzZXRJbnRlcnZhbE1pbmluZyhjbGllbnQsIHsgaW50ZXJ2YWw6IDUgfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldEludGVydmFsTWluaW5nKGNsaWVudCwgeyBpbnRlcnZhbCB9KSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldm1fc2V0SW50ZXJ2YWxNaW5pbmcnLFxuICAgICAgICBwYXJhbXM6IFtpbnRlcnZhbF0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXRJbnRlcnZhbE1pbmluZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setIntervalMining.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setLoggingEnabled.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setLoggingEnabled.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setLoggingEnabled: function() { return /* binding */ setLoggingEnabled; }\n/* harmony export */ });\n/**\n * Enable or disable logging on the test node network.\n *\n * - Docs: https://viem.sh/docs/actions/test/setLoggingEnabled.html\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setLoggingEnabled } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setLoggingEnabled(client)\n */\nasync function setLoggingEnabled(client, enabled) {\n await client.request({\n method: `${client.mode}_setLoggingEnabled`,\n params: [enabled],\n });\n}\n//# sourceMappingURL=setLoggingEnabled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0TG9nZ2luZ0VuYWJsZWQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxvQkFBb0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ087QUFDUDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3NldExvZ2dpbmdFbmFibGVkLmpzPzdhNDUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbmFibGUgb3IgZGlzYWJsZSBsb2dnaW5nIG9uIHRoZSB0ZXN0IG5vZGUgbmV0d29yay5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXRMb2dnaW5nRW5hYmxlZC5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzZXRMb2dnaW5nRW5hYmxlZCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0TG9nZ2luZ0VuYWJsZWQoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0TG9nZ2luZ0VuYWJsZWQoY2xpZW50LCBlbmFibGVkKSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9zZXRMb2dnaW5nRW5hYmxlZGAsXG4gICAgICAgIHBhcmFtczogW2VuYWJsZWRdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0TG9nZ2luZ0VuYWJsZWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setLoggingEnabled.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setMinGasPrice.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setMinGasPrice.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setMinGasPrice: function() { return /* binding */ setMinGasPrice; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Change the minimum gas price accepted by the network (in wei).\n *\n * - Docs: https://viem.sh/docs/actions/test/setMinGasPrice.html\n *\n * Note: `setMinGasPrice` can only be used on clients that do not have EIP-1559 enabled.\n *\n * @param client - Client to use\n * @param parameters – {@link SetBlockGasLimitParameters}\n *\n * @example\n * import { createTestClient, http, parseGwei } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setMinGasPrice } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setMinGasPrice(client, {\n * gasPrice: parseGwei('20'),\n * })\n */\nasync function setMinGasPrice(client, { gasPrice }) {\n await client.request({\n method: `${client.mode}_setMinGasPrice`,\n params: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(gasPrice)],\n });\n}\n//# sourceMappingURL=setMinGasPrice.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0TWluR2FzUHJpY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSxvQ0FBb0M7QUFDaEQsWUFBWSxVQUFVO0FBQ3RCLFlBQVksaUJBQWlCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLHdDQUF3QyxVQUFVO0FBQ3pEO0FBQ0EsbUJBQW1CLFlBQVk7QUFDL0IsaUJBQWlCLHFFQUFXO0FBQzVCLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9zZXRNaW5HYXNQcmljZS5qcz84Y2YxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBDaGFuZ2UgdGhlIG1pbmltdW0gZ2FzIHByaWNlIGFjY2VwdGVkIGJ5IHRoZSBuZXR3b3JrIChpbiB3ZWkpLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3NldE1pbkdhc1ByaWNlLmh0bWxcbiAqXG4gKiBOb3RlOiBgc2V0TWluR2FzUHJpY2VgIGNhbiBvbmx5IGJlIHVzZWQgb24gY2xpZW50cyB0aGF0IGRvIG5vdCBoYXZlIEVJUC0xNTU5IGVuYWJsZWQuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2V0QmxvY2tHYXNMaW1pdFBhcmFtZXRlcnN9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAsIHBhcnNlR3dlaSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzZXRNaW5HYXNQcmljZSB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0TWluR2FzUHJpY2UoY2xpZW50LCB7XG4gKiAgIGdhc1ByaWNlOiBwYXJzZUd3ZWkoJzIwJyksXG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0TWluR2FzUHJpY2UoY2xpZW50LCB7IGdhc1ByaWNlIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldE1pbkdhc1ByaWNlYCxcbiAgICAgICAgcGFyYW1zOiBbbnVtYmVyVG9IZXgoZ2FzUHJpY2UpXSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldE1pbkdhc1ByaWNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setMinGasPrice.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setNextBlockBaseFeePerGas.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setNextBlockBaseFeePerGas.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setNextBlockBaseFeePerGas: function() { return /* binding */ setNextBlockBaseFeePerGas; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Sets the next block's base fee per gas.\n *\n * - Docs: https://viem.sh/docs/actions/test/setNextBlockBaseFeePerGas.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetNextBlockBaseFeePerGasParameters}\n *\n * @example\n * import { createTestClient, http, parseGwei } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setNextBlockBaseFeePerGas } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setNextBlockBaseFeePerGas(client, {\n * baseFeePerGas: parseGwei('20'),\n * })\n */\nasync function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {\n await client.request({\n method: `${client.mode}_setNextBlockBaseFeePerGas`,\n params: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(baseFeePerGas)],\n });\n}\n//# sourceMappingURL=setNextBlockBaseFeePerGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVksb0NBQW9DO0FBQ2hELFlBQVksVUFBVTtBQUN0QixZQUFZLDRCQUE0QjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxtREFBbUQsZUFBZTtBQUN6RTtBQUNBLG1CQUFtQixZQUFZO0FBQy9CLGlCQUFpQixxRUFBVztBQUM1QixLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcy5qcz9hOWE2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBTZXRzIHRoZSBuZXh0IGJsb2NrJ3MgYmFzZSBmZWUgcGVyIGdhcy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzLmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMg4oCTIHtAbGluayBTZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzUGFyYW1ldGVyc31cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCwgcGFyc2VHd2VpIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXMgfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGF3YWl0IHNldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXMoY2xpZW50LCB7XG4gKiAgIGJhc2VGZWVQZXJHYXM6IHBhcnNlR3dlaSgnMjAnKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzKGNsaWVudCwgeyBiYXNlRmVlUGVyR2FzIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXNgLFxuICAgICAgICBwYXJhbXM6IFtudW1iZXJUb0hleChiYXNlRmVlUGVyR2FzKV0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setNextBlockBaseFeePerGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setNextBlockTimestamp.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setNextBlockTimestamp.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setNextBlockTimestamp: function() { return /* binding */ setNextBlockTimestamp; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Sets the next block's timestamp.\n *\n * - Docs: https://viem.sh/docs/actions/test/setNextBlockTimestamp.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetNextBlockTimestampParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setNextBlockTimestamp } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setNextBlockTimestamp(client, { timestamp: 1671744314n })\n */\nasync function setNextBlockTimestamp(client, { timestamp }) {\n await client.request({\n method: 'evm_setNextBlockTimestamp',\n params: [(0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(timestamp)],\n });\n}\n//# sourceMappingURL=setNextBlockTimestamp.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrVGltZXN0YW1wLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksd0JBQXdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0oseUNBQXlDLHdCQUF3QjtBQUNqRTtBQUNPLCtDQUErQyxXQUFXO0FBQ2pFO0FBQ0E7QUFDQSxpQkFBaUIscUVBQVc7QUFDNUIsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3NldE5leHRCbG9ja1RpbWVzdGFtcC5qcz81ZWEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBTZXRzIHRoZSBuZXh0IGJsb2NrJ3MgdGltZXN0YW1wLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3NldE5leHRCbG9ja1RpbWVzdGFtcC5odG1sXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIOKAkyB7QGxpbmsgU2V0TmV4dEJsb2NrVGltZXN0YW1wUGFyYW1ldGVyc31cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzZXROZXh0QmxvY2tUaW1lc3RhbXAgfSBmcm9tICd2aWVtL3Rlc3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiAnZm91bmRyeScsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGF3YWl0IHNldE5leHRCbG9ja1RpbWVzdGFtcChjbGllbnQsIHsgdGltZXN0YW1wOiAxNjcxNzQ0MzE0biB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0TmV4dEJsb2NrVGltZXN0YW1wKGNsaWVudCwgeyB0aW1lc3RhbXAgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnZXZtX3NldE5leHRCbG9ja1RpbWVzdGFtcCcsXG4gICAgICAgIHBhcmFtczogW251bWJlclRvSGV4KHRpbWVzdGFtcCldLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0TmV4dEJsb2NrVGltZXN0YW1wLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setNextBlockTimestamp.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setNonce.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setNonce.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setNonce: function() { return /* binding */ setNonce; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Modifies (overrides) the nonce of an account.\n *\n * - Docs: https://viem.sh/docs/actions/test/setNonce.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetNonceParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setNonce } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setNonce(client, {\n * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * nonce: 420,\n * })\n */\nasync function setNonce(client, { address, nonce }) {\n await client.request({\n method: `${client.mode}_setNonce`,\n params: [address, (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(nonce)],\n });\n}\n//# sourceMappingURL=setNonce.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0Tm9uY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxXQUFXO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sa0NBQWtDLGdCQUFnQjtBQUN6RDtBQUNBLG1CQUFtQixZQUFZO0FBQy9CLDBCQUEwQixxRUFBVztBQUNyQyxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0Tm9uY2UuanM/Nzc4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbi8qKlxuICogTW9kaWZpZXMgKG92ZXJyaWRlcykgdGhlIG5vbmNlIG9mIGFuIGFjY291bnQuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3Qvc2V0Tm9uY2UuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyDigJMge0BsaW5rIFNldE5vbmNlUGFyYW1ldGVyc31cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlVGVzdENsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzZXROb25jZSB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0Tm9uY2UoY2xpZW50LCB7XG4gKiAgIGFkZHJlc3M6ICcweGE1Y2MzYzAzOTk0REI1YjBkOUE1ZUVkRDEwQ2FiYUIwODEzNjc4QUMnLFxuICogICBub25jZTogNDIwLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldE5vbmNlKGNsaWVudCwgeyBhZGRyZXNzLCBub25jZSB9KSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9zZXROb25jZWAsXG4gICAgICAgIHBhcmFtczogW2FkZHJlc3MsIG51bWJlclRvSGV4KG5vbmNlKV0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXROb25jZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setNonce.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setRpcUrl.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setRpcUrl.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setRpcUrl: function() { return /* binding */ setRpcUrl; }\n/* harmony export */ });\n/**\n * Sets the backend RPC URL.\n *\n * - Docs: https://viem.sh/docs/actions/test/setRpcUrl.html\n *\n * @param client - Client to use\n * @param jsonRpcUrl – RPC URL\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setRpcUrl } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setRpcUrl(client, 'https://eth-mainnet.g.alchemy.com/v2')\n */\nasync function setRpcUrl(client, jsonRpcUrl) {\n await client.request({\n method: `${client.mode}_setRpcUrl`,\n params: [jsonRpcUrl],\n });\n}\n//# sourceMappingURL=setRpcUrl.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0UnBjVXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPO0FBQ1A7QUFDQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9zZXRScGNVcmwuanM/YWZiNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNldHMgdGhlIGJhY2tlbmQgUlBDIFVSTC5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXRScGNVcmwuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0ganNvblJwY1VybCDigJMgUlBDIFVSTFxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNldFJwY1VybCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc2V0UnBjVXJsKGNsaWVudCwgJ2h0dHBzOi8vZXRoLW1haW5uZXQuZy5hbGNoZW15LmNvbS92MicpXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRScGNVcmwoY2xpZW50LCBqc29uUnBjVXJsKSB7XG4gICAgYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6IGAke2NsaWVudC5tb2RlfV9zZXRScGNVcmxgLFxuICAgICAgICBwYXJhbXM6IFtqc29uUnBjVXJsXSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNldFJwY1VybC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setRpcUrl.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/setStorageAt.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/setStorageAt.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setStorageAt: function() { return /* binding */ setStorageAt; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Writes to a slot of an account's storage.\n *\n * - Docs: https://viem.sh/docs/actions/test/setStorageAt.html\n *\n * @param client - Client to use\n * @param parameters – {@link SetStorageAtParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { setStorageAt } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await setStorageAt(client, {\n * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',\n * index: 2,\n * value: '0x0000000000000000000000000000000000000000000000000000000000000069',\n * })\n */\nasync function setStorageAt(client, { address, index, value }) {\n await client.request({\n method: `${client.mode}_setStorageAt`,\n params: [\n address,\n typeof index === 'number' ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(index) : index,\n value,\n ],\n });\n}\n//# sourceMappingURL=setStorageAt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc2V0U3RvcmFnZUF0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksZUFBZTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sc0NBQXNDLHVCQUF1QjtBQUNwRTtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0E7QUFDQSx3Q0FBd0MscUVBQVc7QUFDbkQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9zZXRTdG9yYWdlQXQuanM/ZWZjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBudW1iZXJUb0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbi8qKlxuICogV3JpdGVzIHRvIGEgc2xvdCBvZiBhbiBhY2NvdW50J3Mgc3RvcmFnZS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9zZXRTdG9yYWdlQXQuaHRtbFxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyDigJMge0BsaW5rIFNldFN0b3JhZ2VBdFBhcmFtZXRlcnN9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgZm91bmRyeSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2V0U3RvcmFnZUF0IH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBhd2FpdCBzZXRTdG9yYWdlQXQoY2xpZW50LCB7XG4gKiAgIGFkZHJlc3M6ICcweGU4NDZjNmZjZjgxNzczNGNhNDUyN2IyOGNjYjRhZWEyYjY2NjNjNzknLFxuICogICBpbmRleDogMixcbiAqICAgdmFsdWU6ICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjknLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFN0b3JhZ2VBdChjbGllbnQsIHsgYWRkcmVzcywgaW5kZXgsIHZhbHVlIH0pIHtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogYCR7Y2xpZW50Lm1vZGV9X3NldFN0b3JhZ2VBdGAsXG4gICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIHR5cGVvZiBpbmRleCA9PT0gJ251bWJlcicgPyBudW1iZXJUb0hleChpbmRleCkgOiBpbmRleCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICBdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2V0U3RvcmFnZUF0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/setStorageAt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/snapshot.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/snapshot.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ snapshot: function() { return /* binding */ snapshot; }\n/* harmony export */ });\n/**\n * Snapshot the state of the blockchain at the current block.\n *\n * - Docs: https://viem.sh/docs/actions/test/snapshot.html\n *\n * @param client - Client to use\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { snapshot } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await snapshot(client)\n */\nasync function snapshot(client) {\n return await client.request({\n method: 'evm_snapshot',\n });\n}\n//# sourceMappingURL=snapshot.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc25hcHNob3QuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxXQUFXO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvdGVzdC9zbmFwc2hvdC5qcz9lZjUzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU25hcHNob3QgdGhlIHN0YXRlIG9mIHRoZSBibG9ja2NoYWluIGF0IHRoZSBjdXJyZW50IGJsb2NrLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy90ZXN0L3NuYXBzaG90Lmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHNuYXBzaG90IH0gZnJvbSAndmllbS90ZXN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVRlc3RDbGllbnQoe1xuICogICBtb2RlOiAnYW52aWwnLFxuICogICBjaGFpbjogJ2ZvdW5kcnknLFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBhd2FpdCBzbmFwc2hvdChjbGllbnQpXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzbmFwc2hvdChjbGllbnQpIHtcbiAgICByZXR1cm4gYXdhaXQgY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICdldm1fc25hcHNob3QnLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c25hcHNob3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/snapshot.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/test/stopImpersonatingAccount.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/test/stopImpersonatingAccount.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ stopImpersonatingAccount: function() { return /* binding */ stopImpersonatingAccount; }\n/* harmony export */ });\n/**\n * Stop impersonating an account after having previously used [`impersonateAccount`](https://viem.sh/docs/actions/test/impersonateAccount.html).\n *\n * - Docs: https://viem.sh/docs/actions/test/stopImpersonatingAccount.html\n *\n * @param client - Client to use\n * @param parameters – {@link StopImpersonatingAccountParameters}\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { foundry } from 'viem/chains'\n * import { stopImpersonatingAccount } from 'viem/test'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: 'foundry',\n * transport: http(),\n * })\n * await stopImpersonatingAccount(client, {\n * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * })\n */\nasync function stopImpersonatingAccount(client, { address }) {\n await client.request({\n method: `${client.mode}_stopImpersonatingAccount`,\n params: [address],\n });\n}\n//# sourceMappingURL=stopImpersonatingAccount.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3Rlc3Qvc3RvcEltcGVyc29uYXRpbmdBY2NvdW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFlBQVkseUJBQXlCO0FBQ3JDLFlBQVksVUFBVTtBQUN0QixZQUFZLDJCQUEyQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTyxrREFBa0QsU0FBUztBQUNsRTtBQUNBLG1CQUFtQixZQUFZO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vYWN0aW9ucy90ZXN0L3N0b3BJbXBlcnNvbmF0aW5nQWNjb3VudC5qcz9kZmNkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RvcCBpbXBlcnNvbmF0aW5nIGFuIGFjY291bnQgYWZ0ZXIgaGF2aW5nIHByZXZpb3VzbHkgdXNlZCBbYGltcGVyc29uYXRlQWNjb3VudGBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9pbXBlcnNvbmF0ZUFjY291bnQuaHRtbCkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3Rlc3Qvc3RvcEltcGVyc29uYXRpbmdBY2NvdW50Lmh0bWxcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMg4oCTIHtAbGluayBTdG9wSW1wZXJzb25hdGluZ0FjY291bnRQYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVUZXN0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IGZvdW5kcnkgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHN0b3BJbXBlcnNvbmF0aW5nQWNjb3VudCB9IGZyb20gJ3ZpZW0vdGVzdCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVUZXN0Q2xpZW50KHtcbiAqICAgbW9kZTogJ2FudmlsJyxcbiAqICAgY2hhaW46ICdmb3VuZHJ5JyxcbiAqICAgdHJhbnNwb3J0OiBodHRwKCksXG4gKiB9KVxuICogYXdhaXQgc3RvcEltcGVyc29uYXRpbmdBY2NvdW50KGNsaWVudCwge1xuICogICBhZGRyZXNzOiAnMHhhNWNjM2MwMzk5NERCNWIwZDlBNWVFZEQxMENhYmFCMDgxMzY3OEFDJyxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdG9wSW1wZXJzb25hdGluZ0FjY291bnQoY2xpZW50LCB7IGFkZHJlc3MgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBgJHtjbGllbnQubW9kZX1fc3RvcEltcGVyc29uYXRpbmdBY2NvdW50YCxcbiAgICAgICAgcGFyYW1zOiBbYWRkcmVzc10sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdG9wSW1wZXJzb25hdGluZ0FjY291bnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/test/stopImpersonatingAccount.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/addChain.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/addChain.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addChain: function() { return /* binding */ addChain; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/addChain.html\n * - JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085)\n *\n * @param client - Client to use\n * @param parameters - {@link AddChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { optimism } from 'viem/chains'\n * import { addChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * transport: custom(window.ethereum),\n * })\n * await addChain(client, { chain: optimism })\n */\nasync function addChain(client, { chain }) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain;\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n });\n}\n//# sourceMappingURL=addChain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9hZGRDaGFpbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osNEJBQTRCLGlCQUFpQjtBQUM3QztBQUNPLGtDQUFrQyxPQUFPO0FBQ2hELFlBQVksb0RBQW9EO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLHFFQUFXO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELEtBQUs7QUFDaEU7QUFDQSxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9hZGRDaGFpbi5qcz84YzI2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBBZGRzIGFuIEVWTSBjaGFpbiB0byB0aGUgd2FsbGV0LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy93YWxsZXQvYWRkQ2hhaW4uaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYGV0aF9hZGRFdGhlcmV1bUNoYWluYF0oaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0zMDg1KVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBBZGRDaGFpblBhcmFtZXRlcnN9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgY3VzdG9tIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG9wdGltaXNtIH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBhZGRDaGFpbiB9IGZyb20gJ3ZpZW0vd2FsbGV0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIHRyYW5zcG9ydDogY3VzdG9tKHdpbmRvdy5ldGhlcmV1bSksXG4gKiB9KVxuICogYXdhaXQgYWRkQ2hhaW4oY2xpZW50LCB7IGNoYWluOiBvcHRpbWlzbSB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkQ2hhaW4oY2xpZW50LCB7IGNoYWluIH0pIHtcbiAgICBjb25zdCB7IGlkLCBuYW1lLCBuYXRpdmVDdXJyZW5jeSwgcnBjVXJscywgYmxvY2tFeHBsb3JlcnMgfSA9IGNoYWluO1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnd2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW4nLFxuICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBudW1iZXJUb0hleChpZCksXG4gICAgICAgICAgICAgICAgY2hhaW5OYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgIG5hdGl2ZUN1cnJlbmN5LFxuICAgICAgICAgICAgICAgIHJwY1VybHM6IHJwY1VybHMuZGVmYXVsdC5odHRwLFxuICAgICAgICAgICAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiBibG9ja0V4cGxvcmVyc1xuICAgICAgICAgICAgICAgICAgICA/IE9iamVjdC52YWx1ZXMoYmxvY2tFeHBsb3JlcnMpLm1hcCgoeyB1cmwgfSkgPT4gdXJsKVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGRDaGFpbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/addChain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/deployContract.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/deployContract.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ deployContract: function() { return /* binding */ deployContract; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_encodeDeployData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/encodeDeployData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeDeployData.js\");\n/* harmony import */ var _sendTransaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sendTransaction.js */ \"./node_modules/viem/dist/esm/actions/wallet/sendTransaction.js\");\n\n\n/**\n * Deploys a contract to the network, given bytecode and constructor arguments.\n *\n * - Docs: https://viem.sh/docs/contract/deployContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/deploying-contracts\n *\n * @param client - Client to use\n * @param parameters - {@link DeployContractParameters}\n * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link DeployContractReturnType}\n *\n * @example\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { deployContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const hash = await deployContract(client, {\n * abi: [],\n * account: '0x…,\n * bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',\n * })\n */\nfunction deployContract(walletClient, { abi, args, bytecode, ...request }) {\n const calldata = (0,_utils_abi_encodeDeployData_js__WEBPACK_IMPORTED_MODULE_0__.encodeDeployData)({\n abi,\n args,\n bytecode,\n });\n return (0,_sendTransaction_js__WEBPACK_IMPORTED_MODULE_1__.sendTransaction)(walletClient, {\n ...request,\n data: calldata,\n });\n}\n//# sourceMappingURL=deployContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9kZXBsb3lDb250cmFjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBdUU7QUFDZjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiwyRkFBMkY7QUFDM0Y7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksc0JBQXNCO0FBQ2xDLFlBQVksVUFBVTtBQUN0QixZQUFZLGlCQUFpQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sd0NBQXdDLGlDQUFpQztBQUNoRixxQkFBcUIsZ0ZBQWdCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxXQUFXLG9FQUFlO0FBQzFCO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9kZXBsb3lDb250cmFjdC5qcz9mNjdkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuY29kZURlcGxveURhdGEgfSBmcm9tICcuLi8uLi91dGlscy9hYmkvZW5jb2RlRGVwbG95RGF0YS5qcyc7XG5pbXBvcnQgeyBzZW5kVHJhbnNhY3Rpb24sIH0gZnJvbSAnLi9zZW5kVHJhbnNhY3Rpb24uanMnO1xuLyoqXG4gKiBEZXBsb3lzIGEgY29udHJhY3QgdG8gdGhlIG5ldHdvcmssIGdpdmVuIGJ5dGVjb2RlIGFuZCBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC9kZXBsb3lDb250cmFjdC5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvY29udHJhY3RzL2RlcGxveWluZy1jb250cmFjdHNcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgRGVwbG95Q29udHJhY3RQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIFtUcmFuc2FjdGlvbl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZ2xvc3NhcnkvdGVybXMuaHRtbCN0cmFuc2FjdGlvbikgaGFzaC4ge0BsaW5rIERlcGxveUNvbnRyYWN0UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlV2FsbGV0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IHByaXZhdGVLZXlUb0FjY291bnQgfSBmcm9tICd2aWVtL2FjY291bnRzJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZGVwbG95Q29udHJhY3QgfSBmcm9tICd2aWVtL2NvbnRyYWN0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIGFjY291bnQ6IHByaXZhdGVLZXlUb0FjY291bnQoJzB44oCmJyksXG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKiBjb25zdCBoYXNoID0gYXdhaXQgZGVwbG95Q29udHJhY3QoY2xpZW50LCB7XG4gKiAgIGFiaTogW10sXG4gKiAgIGFjY291bnQ6ICcweOKApixcbiAqICAgYnl0ZWNvZGU6ICcweDYwODA2MDQwNTI2MDQwNTE2MTA4M2UzODAzODA2MTA4M2U4MzM5ODEwMTYwNDA4MTkwNTI2MTAuLi4nLFxuICogfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcGxveUNvbnRyYWN0KHdhbGxldENsaWVudCwgeyBhYmksIGFyZ3MsIGJ5dGVjb2RlLCAuLi5yZXF1ZXN0IH0pIHtcbiAgICBjb25zdCBjYWxsZGF0YSA9IGVuY29kZURlcGxveURhdGEoe1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGJ5dGVjb2RlLFxuICAgIH0pO1xuICAgIHJldHVybiBzZW5kVHJhbnNhY3Rpb24od2FsbGV0Q2xpZW50LCB7XG4gICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgIGRhdGE6IGNhbGxkYXRhLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVwbG95Q29udHJhY3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/deployContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/getAddresses.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/getAddresses.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAddresses: function() { return /* binding */ getAddresses; }\n/* harmony export */ });\n/* harmony import */ var _utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n\n/**\n * Returns a list of account addresses owned by the wallet or client.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getAddresses.html\n * - JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts)\n *\n * @param client - Client to use\n * @returns List of account addresses owned by the wallet or client. {@link GetAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await getAddresses(client)\n */\nasync function getAddresses(client) {\n const addresses = await client.request({ method: 'eth_accounts' });\n return addresses.map((address) => (0,_utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_0__.checksumAddress)(address));\n}\n//# sourceMappingURL=getAddresses.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9nZXRBZGRyZXNzZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0U7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0U7QUFDdEU7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNPO0FBQ1AsNkNBQTZDLHdCQUF3QjtBQUNyRSxzQ0FBc0MsNkVBQWU7QUFDckQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9nZXRBZGRyZXNzZXMuanM/ZmJkOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjaGVja3N1bUFkZHJlc3MgfSBmcm9tICcuLi8uLi91dGlscy9hZGRyZXNzL2dldEFkZHJlc3MuanMnO1xuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBhY2NvdW50IGFkZHJlc3NlcyBvd25lZCBieSB0aGUgd2FsbGV0IG9yIGNsaWVudC5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvd2FsbGV0L2dldEFkZHJlc3Nlcy5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX2FjY291bnRzYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9hY2NvdW50cylcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHJldHVybnMgTGlzdCBvZiBhY2NvdW50IGFkZHJlc3NlcyBvd25lZCBieSB0aGUgd2FsbGV0IG9yIGNsaWVudC4ge0BsaW5rIEdldEFkZHJlc3Nlc1JldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgY3VzdG9tIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IGdldEFkZHJlc3NlcyB9IGZyb20gJ3ZpZW0vd2FsbGV0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGN1c3RvbSh3aW5kb3cuZXRoZXJldW0pLFxuICogfSlcbiAqIGNvbnN0IGFjY291bnRzID0gYXdhaXQgZ2V0QWRkcmVzc2VzKGNsaWVudClcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEFkZHJlc3NlcyhjbGllbnQpIHtcbiAgICBjb25zdCBhZGRyZXNzZXMgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7IG1ldGhvZDogJ2V0aF9hY2NvdW50cycgfSk7XG4gICAgcmV0dXJuIGFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MpID0+IGNoZWNrc3VtQWRkcmVzcyhhZGRyZXNzKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRBZGRyZXNzZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/getAddresses.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/getPermissions.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/getPermissions.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getPermissions: function() { return /* binding */ getPermissions; }\n/* harmony export */ });\n/**\n * Gets the wallets current permissions.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getPermissions.html\n * - JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @returns The wallet permissions. {@link GetPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await getPermissions(client)\n */\nasync function getPermissions(client) {\n const permissions = await client.request({ method: 'wallet_getPermissions' });\n return permissions;\n}\n//# sourceMappingURL=getPermissions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9nZXRQZXJtaXNzaW9ucy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLGlCQUFpQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ087QUFDUCwrQ0FBK0MsaUNBQWlDO0FBQ2hGO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9nZXRQZXJtaXNzaW9ucy5qcz8yMTMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2V0cyB0aGUgd2FsbGV0cyBjdXJyZW50IHBlcm1pc3Npb25zLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy93YWxsZXQvZ2V0UGVybWlzc2lvbnMuaHRtbFxuICogLSBKU09OLVJQQyBNZXRob2RzOiBbYHdhbGxldF9nZXRQZXJtaXNzaW9uc2BdKGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMjI1NSlcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHJldHVybnMgVGhlIHdhbGxldCBwZXJtaXNzaW9ucy4ge0BsaW5rIEdldFBlcm1pc3Npb25zUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlV2FsbGV0Q2xpZW50LCBjdXN0b20gfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgZ2V0UGVybWlzc2lvbnMgfSBmcm9tICd2aWVtL3dhbGxldCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBjdXN0b20od2luZG93LmV0aGVyZXVtKSxcbiAqIH0pXG4gKiBjb25zdCBwZXJtaXNzaW9ucyA9IGF3YWl0IGdldFBlcm1pc3Npb25zKGNsaWVudClcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKGNsaWVudCkge1xuICAgIGNvbnN0IHBlcm1pc3Npb25zID0gYXdhaXQgY2xpZW50LnJlcXVlc3QoeyBtZXRob2Q6ICd3YWxsZXRfZ2V0UGVybWlzc2lvbnMnIH0pO1xuICAgIHJldHVybiBwZXJtaXNzaW9ucztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFBlcm1pc3Npb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/getPermissions.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/requestAddresses.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/requestAddresses.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ requestAddresses: function() { return /* binding */ requestAddresses; }\n/* harmony export */ });\n/* harmony import */ var _utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n\n/**\n * Requests a list of accounts managed by a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestAddresses.html\n * - JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102)\n *\n * Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses).\n *\n * This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts.\n *\n * @param client - Client to use\n * @returns List of accounts managed by a wallet {@link RequestAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await requestAddresses(client)\n */\nasync function requestAddresses(client) {\n const addresses = await client.request({ method: 'eth_requestAccounts' });\n return addresses.map((address) => (0,_utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_0__.getAddress)(address));\n}\n//# sourceMappingURL=requestAddresses.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9yZXF1ZXN0QWRkcmVzc2VzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStEO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLG1CQUFtQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ087QUFDUCw2Q0FBNkMsK0JBQStCO0FBQzVFLHNDQUFzQyx3RUFBVTtBQUNoRDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvd2FsbGV0L3JlcXVlc3RBZGRyZXNzZXMuanM/ZmVmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBZGRyZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWRkcmVzcy9nZXRBZGRyZXNzLmpzJztcbi8qKlxuICogUmVxdWVzdHMgYSBsaXN0IG9mIGFjY291bnRzIG1hbmFnZWQgYnkgYSB3YWxsZXQuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3dhbGxldC9yZXF1ZXN0QWRkcmVzc2VzLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfcmVxdWVzdEFjY291bnRzYF0oaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTAyKVxuICpcbiAqIFNlbmRzIGEgcmVxdWVzdCB0byB0aGUgd2FsbGV0LCBhc2tpbmcgZm9yIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSB1c2VyJ3MgYWNjb3VudHMuIEFmdGVyIHRoZSB1c2VyIGFjY2VwdHMgdGhlIHJlcXVlc3QsIGl0IHdpbGwgcmV0dXJuIGEgbGlzdCBvZiBhY2NvdW50cyAoYWRkcmVzc2VzKS5cbiAqXG4gKiBUaGlzIEFQSSBjYW4gYmUgdXNlZnVsIGZvciBkYXBwcyB0aGF0IG5lZWQgdG8gYWNjZXNzIHRoZSB1c2VyJ3MgYWNjb3VudHMgaW4gb3JkZXIgdG8gZXhlY3V0ZSB0cmFuc2FjdGlvbnMgb3IgaW50ZXJhY3Qgd2l0aCBzbWFydCBjb250cmFjdHMuXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEByZXR1cm5zIExpc3Qgb2YgYWNjb3VudHMgbWFuYWdlZCBieSBhIHdhbGxldCB7QGxpbmsgUmVxdWVzdEFkZHJlc3Nlc1JldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgY3VzdG9tIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHJlcXVlc3RBZGRyZXNzZXMgfSBmcm9tICd2aWVtL3dhbGxldCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBjdXN0b20od2luZG93LmV0aGVyZXVtKSxcbiAqIH0pXG4gKiBjb25zdCBhY2NvdW50cyA9IGF3YWl0IHJlcXVlc3RBZGRyZXNzZXMoY2xpZW50KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVxdWVzdEFkZHJlc3NlcyhjbGllbnQpIHtcbiAgICBjb25zdCBhZGRyZXNzZXMgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7IG1ldGhvZDogJ2V0aF9yZXF1ZXN0QWNjb3VudHMnIH0pO1xuICAgIHJldHVybiBhZGRyZXNzZXMubWFwKChhZGRyZXNzKSA9PiBnZXRBZGRyZXNzKGFkZHJlc3MpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3RBZGRyZXNzZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/requestAddresses.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/requestPermissions.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/requestPermissions.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ requestPermissions: function() { return /* binding */ requestPermissions; }\n/* harmony export */ });\n/**\n * Requests permissions for a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestPermissions.html\n * - JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @param parameters - {@link RequestPermissionsParameters}\n * @returns The wallet permissions. {@link RequestPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await requestPermissions(client, {\n * eth_accounts: {}\n * })\n */\nasync function requestPermissions(client, permissions) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n });\n}\n//# sourceMappingURL=requestPermissions.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9yZXF1ZXN0UGVybWlzc2lvbnMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLHFDQUFxQztBQUNyQztBQUNBO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsWUFBWSxVQUFVO0FBQ3RCLFlBQVkscUJBQXFCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvd2FsbGV0L3JlcXVlc3RQZXJtaXNzaW9ucy5qcz9lYWFmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVxdWVzdHMgcGVybWlzc2lvbnMgZm9yIGEgd2FsbGV0LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy93YWxsZXQvcmVxdWVzdFBlcm1pc3Npb25zLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2B3YWxsZXRfcmVxdWVzdFBlcm1pc3Npb25zYF0oaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0yMjU1KVxuICpcbiAqIEBwYXJhbSBjbGllbnQgLSBDbGllbnQgdG8gdXNlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBSZXF1ZXN0UGVybWlzc2lvbnNQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIHdhbGxldCBwZXJtaXNzaW9ucy4ge0BsaW5rIFJlcXVlc3RQZXJtaXNzaW9uc1JldHVyblR5cGV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgY3VzdG9tIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqIGltcG9ydCB7IHJlcXVlc3RQZXJtaXNzaW9ucyB9IGZyb20gJ3ZpZW0vd2FsbGV0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGN1c3RvbSh3aW5kb3cuZXRoZXJldW0pLFxuICogfSlcbiAqIGNvbnN0IHBlcm1pc3Npb25zID0gYXdhaXQgcmVxdWVzdFBlcm1pc3Npb25zKGNsaWVudCwge1xuICogICBldGhfYWNjb3VudHM6IHt9XG4gKiB9KVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVxdWVzdFBlcm1pc3Npb25zKGNsaWVudCwgcGVybWlzc2lvbnMpIHtcbiAgICByZXR1cm4gY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICBtZXRob2Q6ICd3YWxsZXRfcmVxdWVzdFBlcm1pc3Npb25zJyxcbiAgICAgICAgcGFyYW1zOiBbcGVybWlzc2lvbnNdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWVzdFBlcm1pc3Npb25zLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/requestPermissions.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/sendTransaction.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/sendTransaction.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sendTransaction: function() { return /* binding */ sendTransaction; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _errors_account_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/esm/errors/account.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_errors_getTransactionError_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/errors/getTransactionError.js */ \"./node_modules/viem/dist/esm/utils/errors/getTransactionError.js\");\n/* harmony import */ var _utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/formatters/extract.js */ \"./node_modules/viem/dist/esm/utils/formatters/extract.js\");\n/* harmony import */ var _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n/* harmony import */ var _utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\");\n/* harmony import */ var _utils_transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/transaction/prepareRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js\");\n/* harmony import */ var _public_getChainId_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../public/getChainId.js */ \"./node_modules/viem/dist/esm/actions/public/getChainId.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Creates, signs, and sends a new transaction to the network.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/sendTransaction.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/sending-transactions\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction)\n * - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction)\n *\n * @param client - Client to use\n * @param parameters - {@link SendTransactionParameters}\n * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link SendTransactionReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { sendTransaction } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const hash = await sendTransaction(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 1000000000000000000n,\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { sendTransaction } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const hash = await sendTransaction(client, {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 1000000000000000000n,\n * })\n */\nasync function sendTransaction(client, args) {\n const { account: account_ = client.account, chain = client.chain, accessList, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n if (!account_)\n throw new _errors_account_js__WEBPACK_IMPORTED_MODULE_0__.AccountNotFoundError({\n docsPath: '/docs/actions/wallet/sendTransaction',\n });\n const account = (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account_);\n try {\n (0,_utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_2__.assertRequest)(args);\n let chainId;\n if (chain !== null) {\n chainId = await (0,_public_getChainId_js__WEBPACK_IMPORTED_MODULE_3__.getChainId)(client);\n (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_4__.assertCurrentChain)({\n currentChainId: chainId,\n chain,\n });\n }\n if (account.type === 'local') {\n // Prepare the request for signing (assign appropriate fees, etc.)\n const request = await (0,_utils_transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_5__.prepareRequest)(client, {\n account,\n accessList,\n chain,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n ...rest,\n });\n if (!chainId)\n chainId = await (0,_public_getChainId_js__WEBPACK_IMPORTED_MODULE_3__.getChainId)(client);\n const serializer = chain?.serializers?.transaction;\n const signedRequest = (await account.signTransaction({\n ...request,\n chainId,\n }, { serializer }));\n return await client.request({\n method: 'eth_sendRawTransaction',\n params: [signedRequest],\n });\n }\n const format = chain?.formatters?.transactionRequest?.format || _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_6__.formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...(0,_utils_formatters_extract_js__WEBPACK_IMPORTED_MODULE_7__.extract)(rest, { format }),\n accessList,\n data,\n from: account.address,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n return await client.request({\n method: 'eth_sendTransaction',\n params: [request],\n });\n }\n catch (err) {\n throw (0,_utils_errors_getTransactionError_js__WEBPACK_IMPORTED_MODULE_8__.getTransactionError)(err, {\n ...args,\n account,\n chain: args.chain || undefined,\n });\n }\n}\n//# sourceMappingURL=sendTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zZW5kVHJhbnNhY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFvRTtBQUNMO0FBQ0w7QUFDc0I7QUFDcEI7QUFDNkI7QUFDaEI7QUFDRTtBQUN0QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QiwyRkFBMkY7QUFDM0Y7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLGtCQUFrQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLHNCQUFzQjtBQUNsQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxrQkFBa0I7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDTztBQUNQLFlBQVksMkpBQTJKO0FBQ3ZLO0FBQ0Esa0JBQWtCLG9FQUFvQjtBQUN0QztBQUNBLFNBQVM7QUFDVCxvQkFBb0IsNkVBQVk7QUFDaEM7QUFDQSxRQUFRLGtGQUFhO0FBQ3JCO0FBQ0E7QUFDQSw0QkFBNEIsaUVBQVU7QUFDdEMsWUFBWSxtRUFBa0I7QUFDOUI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0Msb0ZBQWM7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsZ0NBQWdDLGlFQUFVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxJQUFJLFlBQVk7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0Esd0VBQXdFLDZGQUF3QjtBQUNoRztBQUNBO0FBQ0EsZUFBZSxxRUFBTyxTQUFTLFFBQVE7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxjQUFjLHlGQUFtQjtBQUNqQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2FjdGlvbnMvd2FsbGV0L3NlbmRUcmFuc2FjdGlvbi5qcz82YmRiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQWNjb3VudCB9IGZyb20gJy4uLy4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qcyc7XG5pbXBvcnQgeyBBY2NvdW50Tm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hY2NvdW50LmpzJztcbmltcG9ydCB7IGFzc2VydEN1cnJlbnRDaGFpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2NoYWluLmpzJztcbmltcG9ydCB7IGdldFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9lcnJvcnMvZ2V0VHJhbnNhY3Rpb25FcnJvci5qcyc7XG5pbXBvcnQgeyBleHRyYWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9leHRyYWN0LmpzJztcbmltcG9ydCB7IGZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdCwgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qcyc7XG5pbXBvcnQgeyBhc3NlcnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvdHJhbnNhY3Rpb24vYXNzZXJ0UmVxdWVzdC5qcyc7XG5pbXBvcnQgeyBwcmVwYXJlUmVxdWVzdCB9IGZyb20gJy4uLy4uL3V0aWxzL3RyYW5zYWN0aW9uL3ByZXBhcmVSZXF1ZXN0LmpzJztcbmltcG9ydCB7IGdldENoYWluSWQgfSBmcm9tICcuLi9wdWJsaWMvZ2V0Q2hhaW5JZC5qcyc7XG4vKipcbiAqIENyZWF0ZXMsIHNpZ25zLCBhbmQgc2VuZHMgYSBuZXcgdHJhbnNhY3Rpb24gdG8gdGhlIG5ldHdvcmsuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3dhbGxldC9zZW5kVHJhbnNhY3Rpb24uaHRtbFxuICogLSBFeGFtcGxlczogaHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9naXRodWIvd2FnbWktZGV2L3ZpZW0vdHJlZS9tYWluL2V4YW1wbGVzL3RyYW5zYWN0aW9ucy9zZW5kaW5nLXRyYW5zYWN0aW9uc1xuICogLSBKU09OLVJQQyBNZXRob2RzOlxuICogICAtIEpTT04tUlBDIEFjY291bnRzOiBbYGV0aF9zZW5kVHJhbnNhY3Rpb25gXShodHRwczovL2V0aGVyZXVtLm9yZy9lbi9kZXZlbG9wZXJzL2RvY3MvYXBpcy9qc29uLXJwYy8jZXRoX3NlbmR0cmFuc2FjdGlvbilcbiAqICAgLSBMb2NhbCBBY2NvdW50czogW2BldGhfc2VuZFJhd1RyYW5zYWN0aW9uYF0oaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vZGV2ZWxvcGVycy9kb2NzL2FwaXMvanNvbi1ycGMvI2V0aF9zZW5kcmF3dHJhbnNhY3Rpb24pXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFNlbmRUcmFuc2FjdGlvblBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgW1RyYW5zYWN0aW9uXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90ZXJtcy5odG1sI3RyYW5zYWN0aW9uKSBoYXNoLiB7QGxpbmsgU2VuZFRyYW5zYWN0aW9uUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlV2FsbGV0Q2xpZW50LCBjdXN0b20gfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2VuZFRyYW5zYWN0aW9uIH0gZnJvbSAndmllbS93YWxsZXQnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogY3VzdG9tKHdpbmRvdy5ldGhlcmV1bSksXG4gKiB9KVxuICogY29uc3QgaGFzaCA9IGF3YWl0IHNlbmRUcmFuc2FjdGlvbihjbGllbnQsIHtcbiAqICAgYWNjb3VudDogJzB4QTBDZjc5ODgxNkQ0YjliOTg2NmI1MzMwRUVhNDZhMTgzODJmMjUxZScsXG4gKiAgIHRvOiAnMHg3MDk5Nzk3MGM1MTgxMmRjM2EwMTBjN2QwMWI1MGUwZDE3ZGM3OWM4JyxcbiAqICAgdmFsdWU6IDEwMDAwMDAwMDAwMDAwMDAwMDBuLFxuICogfSlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWNjb3VudCBIb2lzdGluZ1xuICogaW1wb3J0IHsgY3JlYXRlV2FsbGV0Q2xpZW50LCBodHRwIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IHByaXZhdGVLZXlUb0FjY291bnQgfSBmcm9tICd2aWVtL2FjY291bnRzJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2VuZFRyYW5zYWN0aW9uIH0gZnJvbSAndmllbS93YWxsZXQnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50KHtcbiAqICAgYWNjb3VudDogcHJpdmF0ZUtleVRvQWNjb3VudCgnMHjigKYnKSxcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IGhhc2ggPSBhd2FpdCBzZW5kVHJhbnNhY3Rpb24oY2xpZW50LCB7XG4gKiAgIHRvOiAnMHg3MDk5Nzk3MGM1MTgxMmRjM2EwMTBjN2QwMWI1MGUwZDE3ZGM3OWM4JyxcbiAqICAgdmFsdWU6IDEwMDAwMDAwMDAwMDAwMDAwMDBuLFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRUcmFuc2FjdGlvbihjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGFjY291bnQ6IGFjY291bnRfID0gY2xpZW50LmFjY291bnQsIGNoYWluID0gY2xpZW50LmNoYWluLCBhY2Nlc3NMaXN0LCBkYXRhLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgdG8sIHZhbHVlLCAuLi5yZXN0IH0gPSBhcmdzO1xuICAgIGlmICghYWNjb3VudF8pXG4gICAgICAgIHRocm93IG5ldyBBY2NvdW50Tm90Rm91bmRFcnJvcih7XG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2FjdGlvbnMvd2FsbGV0L3NlbmRUcmFuc2FjdGlvbicsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGFjY291bnQgPSBwYXJzZUFjY291bnQoYWNjb3VudF8pO1xuICAgIHRyeSB7XG4gICAgICAgIGFzc2VydFJlcXVlc3QoYXJncyk7XG4gICAgICAgIGxldCBjaGFpbklkO1xuICAgICAgICBpZiAoY2hhaW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoYWluSWQgPSBhd2FpdCBnZXRDaGFpbklkKGNsaWVudCk7XG4gICAgICAgICAgICBhc3NlcnRDdXJyZW50Q2hhaW4oe1xuICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFpbklkOiBjaGFpbklkLFxuICAgICAgICAgICAgICAgIGNoYWluLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjY291bnQudHlwZSA9PT0gJ2xvY2FsJykge1xuICAgICAgICAgICAgLy8gUHJlcGFyZSB0aGUgcmVxdWVzdCBmb3Igc2lnbmluZyAoYXNzaWduIGFwcHJvcHJpYXRlIGZlZXMsIGV0Yy4pXG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcHJlcGFyZVJlcXVlc3QoY2xpZW50LCB7XG4gICAgICAgICAgICAgICAgYWNjb3VudCxcbiAgICAgICAgICAgICAgICBhY2Nlc3NMaXN0LFxuICAgICAgICAgICAgICAgIGNoYWluLFxuICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgZ2FzLFxuICAgICAgICAgICAgICAgIGdhc1ByaWNlLFxuICAgICAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgICAgICAgICAgICBub25jZSxcbiAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAuLi5yZXN0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIWNoYWluSWQpXG4gICAgICAgICAgICAgICAgY2hhaW5JZCA9IGF3YWl0IGdldENoYWluSWQoY2xpZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZXIgPSBjaGFpbj8uc2VyaWFsaXplcnM/LnRyYW5zYWN0aW9uO1xuICAgICAgICAgICAgY29uc3Qgc2lnbmVkUmVxdWVzdCA9IChhd2FpdCBhY2NvdW50LnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICAgICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICAgICAgICBjaGFpbklkLFxuICAgICAgICAgICAgfSwgeyBzZXJpYWxpemVyIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3NlbmRSYXdUcmFuc2FjdGlvbicsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBbc2lnbmVkUmVxdWVzdF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXQgPSBjaGFpbj8uZm9ybWF0dGVycz8udHJhbnNhY3Rpb25SZXF1ZXN0Py5mb3JtYXQgfHwgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0O1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gZm9ybWF0KHtcbiAgICAgICAgICAgIC8vIFBpY2sgb3V0IGV4dHJhIGRhdGEgdGhhdCBtaWdodCBleGlzdCBvbiB0aGUgY2hhaW4ncyB0cmFuc2FjdGlvbiByZXF1ZXN0IHR5cGUuXG4gICAgICAgICAgICAuLi5leHRyYWN0KHJlc3QsIHsgZm9ybWF0IH0pLFxuICAgICAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBmcm9tOiBhY2NvdW50LmFkZHJlc3MsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogJ2V0aF9zZW5kVHJhbnNhY3Rpb24nLFxuICAgICAgICAgICAgcGFyYW1zOiBbcmVxdWVzdF0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IGdldFRyYW5zYWN0aW9uRXJyb3IoZXJyLCB7XG4gICAgICAgICAgICAuLi5hcmdzLFxuICAgICAgICAgICAgYWNjb3VudCxcbiAgICAgICAgICAgIGNoYWluOiBhcmdzLmNoYWluIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VuZFRyYW5zYWN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/sendTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/signMessage.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/signMessage.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ signMessage: function() { return /* binding */ signMessage; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _errors_account_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/esm/errors/account.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\n/**\n * Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256(\"\\x19Ethereum Signed Message:\\n\" + len(message) + message))`.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signMessage.html\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`personal_sign`](https://docs.metamask.io/guide/signing-data.html#personal-sign)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * With the calculated signature, you can:\n * - use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage.html) to verify the signature,\n * - use [`recoverMessageAddress`](https://viem.sh/docs/utilities/recoverMessageAddress.html) to recover the signing address from a signature.\n *\n * @param client - Client to use\n * @param parameters - {@link SignMessageParameters}\n * @returns The signed message. {@link SignMessageReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signMessage } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signMessage(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * message: 'hello world',\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, custom } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signMessage } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signMessage(client, {\n * message: 'hello world',\n * })\n */\nasync function signMessage(client, { account: account_ = client.account, message, }) {\n if (!account_)\n throw new _errors_account_js__WEBPACK_IMPORTED_MODULE_0__.AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signMessage',\n });\n const account = (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account_);\n if (account.type === 'local')\n return account.signMessage({ message });\n const message_ = (() => {\n if (typeof message === 'string')\n return (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.stringToHex)(message);\n if (message.raw instanceof Uint8Array)\n return (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.toHex)(message.raw);\n return message.raw;\n })();\n return client.request({\n method: 'personal_sign',\n params: [message_, account.address],\n });\n}\n//# sourceMappingURL=signMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zaWduTWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW9FO0FBQ0w7QUFDSTtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksc0JBQXNCO0FBQ2xDLFlBQVksVUFBVTtBQUN0QixZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08scUNBQXFDLDhDQUE4QztBQUMxRjtBQUNBLGtCQUFrQixvRUFBb0I7QUFDdEM7QUFDQSxTQUFTO0FBQ1Qsb0JBQW9CLDZFQUFZO0FBQ2hDO0FBQ0EscUNBQXFDLFNBQVM7QUFDOUM7QUFDQTtBQUNBLG1CQUFtQixxRUFBVztBQUM5QjtBQUNBLG1CQUFtQiwrREFBSztBQUN4QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zaWduTWVzc2FnZS5qcz82NjRkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQWNjb3VudCB9IGZyb20gJy4uLy4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qcyc7XG5pbXBvcnQgeyBBY2NvdW50Tm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hY2NvdW50LmpzJztcbmltcG9ydCB7IHN0cmluZ1RvSGV4LCB0b0hleCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL3RvSGV4LmpzJztcbi8qKlxuICogQ2FsY3VsYXRlcyBhbiBFdGhlcmV1bS1zcGVjaWZpYyBzaWduYXR1cmUgaW4gW0VJUC0xOTEgZm9ybWF0XShodHRwczovL2VpcHMuZXRoZXJldW0ub3JnL0VJUFMvZWlwLTE5MSk6IGBrZWNjYWsyNTYoXCJcXHgxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcblwiICsgbGVuKG1lc3NhZ2UpICsgbWVzc2FnZSkpYC5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvd2FsbGV0L3NpZ25NZXNzYWdlLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczpcbiAqICAgLSBKU09OLVJQQyBBY2NvdW50czogW2BwZXJzb25hbF9zaWduYF0oaHR0cHM6Ly9kb2NzLm1ldGFtYXNrLmlvL2d1aWRlL3NpZ25pbmctZGF0YS5odG1sI3BlcnNvbmFsLXNpZ24pXG4gKiAgIC0gTG9jYWwgQWNjb3VudHM6IFNpZ25zIGxvY2FsbHkuIE5vIEpTT04tUlBDIHJlcXVlc3QuXG4gKlxuICogV2l0aCB0aGUgY2FsY3VsYXRlZCBzaWduYXR1cmUsIHlvdSBjYW46XG4gKiAtIHVzZSBbYHZlcmlmeU1lc3NhZ2VgXShodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdmVyaWZ5TWVzc2FnZS5odG1sKSB0byB2ZXJpZnkgdGhlIHNpZ25hdHVyZSxcbiAqIC0gdXNlIFtgcmVjb3Zlck1lc3NhZ2VBZGRyZXNzYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL3JlY292ZXJNZXNzYWdlQWRkcmVzcy5odG1sKSB0byByZWNvdmVyIHRoZSBzaWduaW5nIGFkZHJlc3MgZnJvbSBhIHNpZ25hdHVyZS5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgU2lnbk1lc3NhZ2VQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgVGhlIHNpZ25lZCBtZXNzYWdlLiB7QGxpbmsgU2lnbk1lc3NhZ2VSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIGN1c3RvbSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzaWduTWVzc2FnZSB9IGZyb20gJ3ZpZW0vd2FsbGV0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGN1c3RvbSh3aW5kb3cuZXRoZXJldW0pLFxuICogfSlcbiAqIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHNpZ25NZXNzYWdlKGNsaWVudCwge1xuICogICBhY2NvdW50OiAnMHhBMENmNzk4ODE2RDRiOWI5ODY2YjUzMzBFRWE0NmExODM4MmYyNTFlJyxcbiAqICAgbWVzc2FnZTogJ2hlbGxvIHdvcmxkJyxcbiAqIH0pXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFjY291bnQgSG9pc3RpbmdcbiAqIGltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgY3VzdG9tIH0gZnJvbSAndmllbSdcbiAqIGltcG9ydCB7IHByaXZhdGVLZXlUb0FjY291bnQgfSBmcm9tICd2aWVtL2FjY291bnRzJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2lnbk1lc3NhZ2UgfSBmcm9tICd2aWVtL3dhbGxldCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICogICBhY2NvdW50OiBwcml2YXRlS2V5VG9BY2NvdW50KCcweOKApicpLFxuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBjdXN0b20od2luZG93LmV0aGVyZXVtKSxcbiAqIH0pXG4gKiBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBzaWduTWVzc2FnZShjbGllbnQsIHtcbiAqICAgbWVzc2FnZTogJ2hlbGxvIHdvcmxkJyxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduTWVzc2FnZShjbGllbnQsIHsgYWNjb3VudDogYWNjb3VudF8gPSBjbGllbnQuYWNjb3VudCwgbWVzc2FnZSwgfSkge1xuICAgIGlmICghYWNjb3VudF8pXG4gICAgICAgIHRocm93IG5ldyBBY2NvdW50Tm90Rm91bmRFcnJvcih7XG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2FjdGlvbnMvd2FsbGV0L3NpZ25NZXNzYWdlJyxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgYWNjb3VudCA9IHBhcnNlQWNjb3VudChhY2NvdW50Xyk7XG4gICAgaWYgKGFjY291bnQudHlwZSA9PT0gJ2xvY2FsJylcbiAgICAgICAgcmV0dXJuIGFjY291bnQuc2lnbk1lc3NhZ2UoeyBtZXNzYWdlIH0pO1xuICAgIGNvbnN0IG1lc3NhZ2VfID0gKCgpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJylcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmdUb0hleChtZXNzYWdlKTtcbiAgICAgICAgaWYgKG1lc3NhZ2UucmF3IGluc3RhbmNlb2YgVWludDhBcnJheSlcbiAgICAgICAgICAgIHJldHVybiB0b0hleChtZXNzYWdlLnJhdyk7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLnJhdztcbiAgICB9KSgpO1xuICAgIHJldHVybiBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ3BlcnNvbmFsX3NpZ24nLFxuICAgICAgICBwYXJhbXM6IFttZXNzYWdlXywgYWNjb3VudC5hZGRyZXNzXSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpZ25NZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/signMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/signTypedData.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/signTypedData.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ signTypedData: function() { return /* binding */ signTypedData; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _errors_account_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/esm/errors/account.js\");\n/* harmony import */ var _utils_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _utils_typedData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/typedData.js */ \"./node_modules/viem/dist/esm/utils/typedData.js\");\n\n\n\n\n\n/**\n * Signs typed data and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256(\"\\x19\\x01\" ‖ domainSeparator ‖ hashStruct(message)))`\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signTypedData.html\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data.html#signtypeddata-v4)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * @param client - Client to use\n * @param parameters - {@link SignTypedDataParameters}\n * @returns The signed data. {@link SignTypedDataReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTypedData(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signTypedData(client, {\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n */\nasync function signTypedData(client, { account: account_ = client.account, domain, message, primaryType, types: types_, }) {\n if (!account_)\n throw new _errors_account_js__WEBPACK_IMPORTED_MODULE_0__.AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTypedData',\n });\n const account = (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account_);\n const types = {\n EIP712Domain: [\n typeof domain?.name === 'string' && { name: 'name', type: 'string' },\n domain?.version && { name: 'version', type: 'string' },\n typeof domain?.chainId === 'number' && {\n name: 'chainId',\n type: 'uint256',\n },\n domain?.verifyingContract && {\n name: 'verifyingContract',\n type: 'address',\n },\n domain?.salt && { name: 'salt', type: 'bytes32' },\n ].filter(Boolean),\n ...types_,\n };\n // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc\n // as we can't statically check this with TypeScript.\n (0,_utils_typedData_js__WEBPACK_IMPORTED_MODULE_2__.validateTypedData)({\n domain,\n message,\n primaryType,\n types,\n });\n if (account.type === 'local')\n return account.signTypedData({\n domain,\n primaryType,\n types,\n message,\n });\n const typedData = (0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_3__.stringify)({ domain: domain ?? {}, primaryType, types, message }, (_, value) => ((0,_utils_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(value) ? value.toLowerCase() : value));\n return client.request({\n method: 'eth_signTypedData_v4',\n params: [account.address, typedData],\n });\n}\n//# sourceMappingURL=signTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zaWduVHlwZWREYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFvRTtBQUNMO0FBQ2I7QUFDRztBQUNRO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qiw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsV0FBVyw4QkFBOEI7QUFDekMsV0FBVyxpQ0FBaUM7QUFDNUM7QUFDQTtBQUNBLFdBQVcsOEJBQThCO0FBQ3pDLFdBQVcsNEJBQTRCO0FBQ3ZDLFdBQVcsa0NBQWtDO0FBQzdDO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsTUFBTTtBQUNOLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLHNCQUFzQjtBQUNsQyxZQUFZLFVBQVU7QUFDdEIsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLFdBQVcsOEJBQThCO0FBQ3pDLFdBQVcsaUNBQWlDO0FBQzVDO0FBQ0E7QUFDQSxXQUFXLDhCQUE4QjtBQUN6QyxXQUFXLDRCQUE0QjtBQUN2QyxXQUFXLGtDQUFrQztBQUM3QztBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBLE1BQU07QUFDTixJQUFJO0FBQ0o7QUFDTyx1Q0FBdUMsa0ZBQWtGO0FBQ2hJO0FBQ0Esa0JBQWtCLG9FQUFvQjtBQUN0QztBQUNBLFNBQVM7QUFDVCxvQkFBb0IsNkVBQVk7QUFDaEM7QUFDQTtBQUNBLGtEQUFrRCw4QkFBOEI7QUFDaEYsaUNBQWlDLGlDQUFpQztBQUNsRTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLDhCQUE4QiwrQkFBK0I7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksc0VBQWlCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxzQkFBc0IsOERBQVMsR0FBRyxvQkFBb0IsK0JBQStCLGlCQUFpQiwyREFBSztBQUMzRztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zaWduVHlwZWREYXRhLmpzP2E4YjkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBY2NvdW50IH0gZnJvbSAnLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzJztcbmltcG9ydCB7IEFjY291bnROb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FjY291bnQuanMnO1xuaW1wb3J0IHsgaXNIZXggfSBmcm9tICcuLi8uLi91dGlscy9kYXRhL2lzSGV4LmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZ2lmeS5qcyc7XG5pbXBvcnQgeyB2YWxpZGF0ZVR5cGVkRGF0YSB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVkRGF0YS5qcyc7XG4vKipcbiAqIFNpZ25zIHR5cGVkIGRhdGEgYW5kIGNhbGN1bGF0ZXMgYW4gRXRoZXJldW0tc3BlY2lmaWMgc2lnbmF0dXJlIGluIFtodHRwczovL2VpcHMuZXRoZXJldW0ub3JnL0VJUFMvZWlwLTcxMl0oaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC03MTIpOiBgc2lnbihrZWNjYWsyNTYoXCJcXHgxOVxceDAxXCIg4oCWIGRvbWFpblNlcGFyYXRvciDigJYgaGFzaFN0cnVjdChtZXNzYWdlKSkpYFxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy93YWxsZXQvc2lnblR5cGVkRGF0YS5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6XG4gKiAgIC0gSlNPTi1SUEMgQWNjb3VudHM6IFtgZXRoX3NpZ25UeXBlZERhdGFfdjRgXShodHRwczovL2RvY3MubWV0YW1hc2suaW8vZ3VpZGUvc2lnbmluZy1kYXRhLmh0bWwjc2lnbnR5cGVkZGF0YS12NClcbiAqICAgLSBMb2NhbCBBY2NvdW50czogU2lnbnMgbG9jYWxseS4gTm8gSlNPTi1SUEMgcmVxdWVzdC5cbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgU2lnblR5cGVkRGF0YVBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBUaGUgc2lnbmVkIGRhdGEuIHtAbGluayBTaWduVHlwZWREYXRhUmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlV2FsbGV0Q2xpZW50LCBjdXN0b20gfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2lnblR5cGVkRGF0YSB9IGZyb20gJ3ZpZW0vd2FsbGV0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGN1c3RvbSh3aW5kb3cuZXRoZXJldW0pLFxuICogfSlcbiAqIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHNpZ25UeXBlZERhdGEoY2xpZW50LCB7XG4gKiAgIGFjY291bnQ6ICcweEEwQ2Y3OTg4MTZENGI5Yjk4NjZiNTMzMEVFYTQ2YTE4MzgyZjI1MWUnLFxuICogICBkb21haW46IHtcbiAqICAgICBuYW1lOiAnRXRoZXIgTWFpbCcsXG4gKiAgICAgdmVyc2lvbjogJzEnLFxuICogICAgIGNoYWluSWQ6IDEsXG4gKiAgICAgdmVyaWZ5aW5nQ29udHJhY3Q6ICcweENjQ0NjY2NjQ0NDQ2NDQ0NDQ0NjQ2NDY2NDY0NDQ2NDY2NjY2NjY0MnLFxuICogICB9LFxuICogICB0eXBlczoge1xuICogICAgIFBlcnNvbjogW1xuICogICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICdzdHJpbmcnIH0sXG4gKiAgICAgICB7IG5hbWU6ICd3YWxsZXQnLCB0eXBlOiAnYWRkcmVzcycgfSxcbiAqICAgICBdLFxuICogICAgIE1haWw6IFtcbiAqICAgICAgIHsgbmFtZTogJ2Zyb20nLCB0eXBlOiAnUGVyc29uJyB9LFxuICogICAgICAgeyBuYW1lOiAndG8nLCB0eXBlOiAnUGVyc29uJyB9LFxuICogICAgICAgeyBuYW1lOiAnY29udGVudHMnLCB0eXBlOiAnc3RyaW5nJyB9LFxuICogICAgIF0sXG4gKiAgIH0sXG4gKiAgIHByaW1hcnlUeXBlOiAnTWFpbCcsXG4gKiAgIG1lc3NhZ2U6IHtcbiAqICAgICBmcm9tOiB7XG4gKiAgICAgICBuYW1lOiAnQ293JyxcbiAqICAgICAgIHdhbGxldDogJzB4Q0QyYTNkOUY5MzhFMTNDRDk0N0VjMDVBYkM3RkU3MzREZjhERDgyNicsXG4gKiAgICAgfSxcbiAqICAgICB0bzoge1xuICogICAgICAgbmFtZTogJ0JvYicsXG4gKiAgICAgICB3YWxsZXQ6ICcweGJCYkJCQkJiYkJCQmJiYkJiYkJiYmJiQkJiQmJiYmJCYkJiYkJCYkInLFxuICogICAgIH0sXG4gKiAgICAgY29udGVudHM6ICdIZWxsbywgQm9iIScsXG4gKiAgIH0sXG4gKiB9KVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBY2NvdW50IEhvaXN0aW5nXG4gKiBpbXBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIGh0dHAgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgcHJpdmF0ZUtleVRvQWNjb3VudCB9IGZyb20gJ3ZpZW0vYWNjb3VudHMnXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKiBpbXBvcnQgeyBzaWduVHlwZWREYXRhIH0gZnJvbSAndmllbS93YWxsZXQnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50KHtcbiAqICAgYWNjb3VudDogcHJpdmF0ZUtleVRvQWNjb3VudCgnMHjigKYnKSxcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHNpZ25UeXBlZERhdGEoY2xpZW50LCB7XG4gKiAgIGRvbWFpbjoge1xuICogICAgIG5hbWU6ICdFdGhlciBNYWlsJyxcbiAqICAgICB2ZXJzaW9uOiAnMScsXG4gKiAgICAgY2hhaW5JZDogMSxcbiAqICAgICB2ZXJpZnlpbmdDb250cmFjdDogJzB4Q2NDQ2NjY2NDQ0NDY0NDQ0NDQ2NDY0NjY0NjQ0NDY0NjY2NjY2NjQycsXG4gKiAgIH0sXG4gKiAgIHR5cGVzOiB7XG4gKiAgICAgUGVyc29uOiBbXG4gKiAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAqICAgICAgIHsgbmFtZTogJ3dhbGxldCcsIHR5cGU6ICdhZGRyZXNzJyB9LFxuICogICAgIF0sXG4gKiAgICAgTWFpbDogW1xuICogICAgICAgeyBuYW1lOiAnZnJvbScsIHR5cGU6ICdQZXJzb24nIH0sXG4gKiAgICAgICB7IG5hbWU6ICd0bycsIHR5cGU6ICdQZXJzb24nIH0sXG4gKiAgICAgICB7IG5hbWU6ICdjb250ZW50cycsIHR5cGU6ICdzdHJpbmcnIH0sXG4gKiAgICAgXSxcbiAqICAgfSxcbiAqICAgcHJpbWFyeVR5cGU6ICdNYWlsJyxcbiAqICAgbWVzc2FnZToge1xuICogICAgIGZyb206IHtcbiAqICAgICAgIG5hbWU6ICdDb3cnLFxuICogICAgICAgd2FsbGV0OiAnMHhDRDJhM2Q5RjkzOEUxM0NEOTQ3RWMwNUFiQzdGRTczNERmOEREODI2JyxcbiAqICAgICB9LFxuICogICAgIHRvOiB7XG4gKiAgICAgICBuYW1lOiAnQm9iJyxcbiAqICAgICAgIHdhbGxldDogJzB4YkJiQkJCQmJiQkJCYmJiQmJiQmJiYmJCQmJCYmJiYkJiQmJiQkJiQicsXG4gKiAgICAgfSxcbiAqICAgICBjb250ZW50czogJ0hlbGxvLCBCb2IhJyxcbiAqICAgfSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHlwZWREYXRhKGNsaWVudCwgeyBhY2NvdW50OiBhY2NvdW50XyA9IGNsaWVudC5hY2NvdW50LCBkb21haW4sIG1lc3NhZ2UsIHByaW1hcnlUeXBlLCB0eXBlczogdHlwZXNfLCB9KSB7XG4gICAgaWYgKCFhY2NvdW50XylcbiAgICAgICAgdGhyb3cgbmV3IEFjY291bnROb3RGb3VuZEVycm9yKHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvYWN0aW9ucy93YWxsZXQvc2lnblR5cGVkRGF0YScsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGFjY291bnQgPSBwYXJzZUFjY291bnQoYWNjb3VudF8pO1xuICAgIGNvbnN0IHR5cGVzID0ge1xuICAgICAgICBFSVA3MTJEb21haW46IFtcbiAgICAgICAgICAgIHR5cGVvZiBkb21haW4/Lm5hbWUgPT09ICdzdHJpbmcnICYmIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgZG9tYWluPy52ZXJzaW9uICYmIHsgbmFtZTogJ3ZlcnNpb24nLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgdHlwZW9mIGRvbWFpbj8uY2hhaW5JZCA9PT0gJ251bWJlcicgJiYge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdjaGFpbklkJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAndWludDI1NicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZG9tYWluPy52ZXJpZnlpbmdDb250cmFjdCAmJiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3ZlcmlmeWluZ0NvbnRyYWN0JyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYWRkcmVzcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZG9tYWluPy5zYWx0ICYmIHsgbmFtZTogJ3NhbHQnLCB0eXBlOiAnYnl0ZXMzMicgfSxcbiAgICAgICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIC4uLnR5cGVzXyxcbiAgICB9O1xuICAgIC8vIE5lZWQgdG8gZG8gYSBydW50aW1lIHZhbGlkYXRpb24gY2hlY2sgb24gYWRkcmVzc2VzLCBieXRlIHJhbmdlcywgaW50ZWdlciByYW5nZXMsIGV0Y1xuICAgIC8vIGFzIHdlIGNhbid0IHN0YXRpY2FsbHkgY2hlY2sgdGhpcyB3aXRoIFR5cGVTY3JpcHQuXG4gICAgdmFsaWRhdGVUeXBlZERhdGEoe1xuICAgICAgICBkb21haW4sXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHByaW1hcnlUeXBlLFxuICAgICAgICB0eXBlcyxcbiAgICB9KTtcbiAgICBpZiAoYWNjb3VudC50eXBlID09PSAnbG9jYWwnKVxuICAgICAgICByZXR1cm4gYWNjb3VudC5zaWduVHlwZWREYXRhKHtcbiAgICAgICAgICAgIGRvbWFpbixcbiAgICAgICAgICAgIHByaW1hcnlUeXBlLFxuICAgICAgICAgICAgdHlwZXMsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICB9KTtcbiAgICBjb25zdCB0eXBlZERhdGEgPSBzdHJpbmdpZnkoeyBkb21haW46IGRvbWFpbiA/PyB7fSwgcHJpbWFyeVR5cGUsIHR5cGVzLCBtZXNzYWdlIH0sIChfLCB2YWx1ZSkgPT4gKGlzSGV4KHZhbHVlKSA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiB2YWx1ZSkpO1xuICAgIHJldHVybiBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogJ2V0aF9zaWduVHlwZWREYXRhX3Y0JyxcbiAgICAgICAgcGFyYW1zOiBbYWNjb3VudC5hZGRyZXNzLCB0eXBlZERhdGFdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2lnblR5cGVkRGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/signTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/switchChain.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/switchChain.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ switchChain: function() { return /* binding */ switchChain; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n/**\n * Switch the target chain in a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/switchChain.html\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326)\n *\n * @param client - Client to use\n * @param parameters - {@link SwitchChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet, optimism } from 'viem/chains'\n * import { switchChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * await switchChain(client, { id: optimism.id })\n */\nasync function switchChain(client, { id }) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(id),\n },\n ],\n });\n}\n//# sourceMappingURL=switchChain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zd2l0Y2hDaGFpbi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsWUFBWSxvQkFBb0I7QUFDaEMsWUFBWSxjQUFjO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLCtCQUErQixpQkFBaUI7QUFDaEQ7QUFDTyxxQ0FBcUMsSUFBSTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixxRUFBVztBQUNwQyxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC9zd2l0Y2hDaGFpbi5qcz8wYjYxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvZW5jb2RpbmcvdG9IZXguanMnO1xuLyoqXG4gKiBTd2l0Y2ggdGhlIHRhcmdldCBjaGFpbiBpbiBhIHdhbGxldC5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvd2FsbGV0L3N3aXRjaENoYWluLmh0bWxcbiAqIC0gSlNPTi1SUEMgTWV0aG9kczogW2BldGhfc3dpdGNoRXRoZXJldW1DaGFpbmBdKGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMzMyNilcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgU3dpdGNoQ2hhaW5QYXJhbWV0ZXJzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIGN1c3RvbSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0LCBvcHRpbWlzbSB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc3dpdGNoQ2hhaW4gfSBmcm9tICd2aWVtL3dhbGxldCdcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICogICBjaGFpbjogbWFpbm5ldCxcbiAqICAgdHJhbnNwb3J0OiBjdXN0b20od2luZG93LmV0aGVyZXVtKSxcbiAqIH0pXG4gKiBhd2FpdCBzd2l0Y2hDaGFpbihjbGllbnQsIHsgaWQ6IG9wdGltaXNtLmlkIH0pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzd2l0Y2hDaGFpbihjbGllbnQsIHsgaWQgfSkge1xuICAgIGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnd2FsbGV0X3N3aXRjaEV0aGVyZXVtQ2hhaW4nLFxuICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBudW1iZXJUb0hleChpZCksXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3dpdGNoQ2hhaW4uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/switchChain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/watchAsset.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/watchAsset.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ watchAsset: function() { return /* binding */ watchAsset; }\n/* harmony export */ });\n/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/watchAsset.html\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747)\n *\n * @param client - Client to use\n * @param parameters - {@link WatchAssetParameters}\n * @returns Boolean indicating if the token was successfully added. {@link WatchAssetReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchAsset } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const success = await watchAsset(client, {\n * type: 'ERC20',\n * options: {\n * address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n * decimals: 18,\n * symbol: 'WETH',\n * },\n * })\n */\nasync function watchAsset(client, params) {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params,\n });\n return added;\n}\n//# sourceMappingURL=watchAsset.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC93YXRjaEFzc2V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixxRUFBcUU7QUFDckU7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksVUFBVTtBQUN0QixZQUFZLGFBQWE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLElBQUk7QUFDSjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC93YXRjaEFzc2V0LmpzP2QzMGEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZGRzIGFuIEVWTSBjaGFpbiB0byB0aGUgd2FsbGV0LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvYWN0aW9ucy93YWxsZXQvd2F0Y2hBc3NldC5odG1sXG4gKiAtIEpTT04tUlBDIE1ldGhvZHM6IFtgZXRoX3N3aXRjaEV0aGVyZXVtQ2hhaW5gXShodHRwczovL2VpcHMuZXRoZXJldW0ub3JnL0VJUFMvZWlwLTc0NylcbiAqXG4gKiBAcGFyYW0gY2xpZW50IC0gQ2xpZW50IHRvIHVzZVxuICogQHBhcmFtIHBhcmFtZXRlcnMgLSB7QGxpbmsgV2F0Y2hBc3NldFBhcmFtZXRlcnN9XG4gKiBAcmV0dXJucyBCb29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHRva2VuIHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuIHtAbGluayBXYXRjaEFzc2V0UmV0dXJuVHlwZX1cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgY3JlYXRlV2FsbGV0Q2xpZW50LCBjdXN0b20gfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgd2F0Y2hBc3NldCB9IGZyb20gJ3ZpZW0vd2FsbGV0J1xuICpcbiAqIGNvbnN0IGNsaWVudCA9IGNyZWF0ZVdhbGxldENsaWVudCh7XG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGN1c3RvbSh3aW5kb3cuZXRoZXJldW0pLFxuICogfSlcbiAqIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB3YXRjaEFzc2V0KGNsaWVudCwge1xuICogICB0eXBlOiAnRVJDMjAnLFxuICogICBvcHRpb25zOiB7XG4gKiAgICAgYWRkcmVzczogJzB4YzAyYWFhMzliMjIzZmU4ZDBhMGU1YzRmMjdlYWQ5MDgzYzc1NmNjMicsXG4gKiAgICAgZGVjaW1hbHM6IDE4LFxuICogICAgIHN5bWJvbDogJ1dFVEgnLFxuICogICB9LFxuICogfSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhdGNoQXNzZXQoY2xpZW50LCBwYXJhbXMpIHtcbiAgICBjb25zdCBhZGRlZCA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiAnd2FsbGV0X3dhdGNoQXNzZXQnLFxuICAgICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGFkZGVkO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2F0Y2hBc3NldC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/watchAsset.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/actions/wallet/writeContract.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/actions/wallet/writeContract.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ writeContract: function() { return /* binding */ writeContract; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _sendTransaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sendTransaction.js */ \"./node_modules/viem/dist/esm/actions/wallet/sendTransaction.js\");\n\n\n/**\n * Executes a write function on a contract.\n *\n * - Docs: https://viem.sh/docs/contract/writeContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/writing-to-contracts\n *\n * A \"write\" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms.html) is needed to be broadcast in order to change the state.\n *\n * Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet.html) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * __Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract.html#usage) before you execute it.__\n *\n * @param client - Client to use\n * @param parameters - {@link WriteContractParameters}\n * @returns A [Transaction Hash](https://viem.sh/docs/glossary/terms.html#hash). {@link WriteContractReturnType}\n *\n * @example\n * import { createWalletClient, custom, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { writeContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const hash = await writeContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),\n * functionName: 'mint',\n * args: [69420],\n * })\n *\n * @example\n * // With Validation\n * import { createWalletClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { simulateContract, writeContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const { request } = await simulateContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),\n * functionName: 'mint',\n * args: [69420],\n * }\n * const hash = await writeContract(client, request)\n */\nasync function writeContract(client, { abi, address, args, dataSuffix, functionName, ...request }) {\n const data = (0,_utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_0__.encodeFunctionData)({\n abi,\n args,\n functionName,\n });\n const hash = await (0,_sendTransaction_js__WEBPACK_IMPORTED_MODULE_1__.sendTransaction)(client, {\n data: `${data}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...request,\n });\n return hash;\n}\n//# sourceMappingURL=writeContract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC93cml0ZUNvbnRyYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0RTtBQUNwQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixrRkFBa0Y7QUFDbEY7QUFDQTtBQUNBLFlBQVksdUNBQXVDO0FBQ25ELFlBQVksVUFBVTtBQUN0QixZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLFlBQVkscUNBQXFDO0FBQ2pELFlBQVksVUFBVTtBQUN0QixZQUFZLGtDQUFrQztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixXQUFXLFVBQVU7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyx1Q0FBdUMsMERBQTBEO0FBQ3hHLGlCQUFpQixvRkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLHVCQUF1QixvRUFBZTtBQUN0QyxpQkFBaUIsS0FBSyxFQUFFLCtDQUErQztBQUN2RTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9hY3Rpb25zL3dhbGxldC93cml0ZUNvbnRyYWN0LmpzPzhiYzciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5jb2RlRnVuY3Rpb25EYXRhLCB9IGZyb20gJy4uLy4uL3V0aWxzL2FiaS9lbmNvZGVGdW5jdGlvbkRhdGEuanMnO1xuaW1wb3J0IHsgc2VuZFRyYW5zYWN0aW9uLCB9IGZyb20gJy4vc2VuZFRyYW5zYWN0aW9uLmpzJztcbi8qKlxuICogRXhlY3V0ZXMgYSB3cml0ZSBmdW5jdGlvbiBvbiBhIGNvbnRyYWN0LlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvY29udHJhY3Qvd3JpdGVDb250cmFjdC5odG1sXG4gKiAtIEV4YW1wbGVzOiBodHRwczovL3N0YWNrYmxpdHouY29tL2dpdGh1Yi93YWdtaS1kZXYvdmllbS90cmVlL21haW4vZXhhbXBsZXMvY29udHJhY3RzL3dyaXRpbmctdG8tY29udHJhY3RzXG4gKlxuICogQSBcIndyaXRlXCIgZnVuY3Rpb24gb24gYSBTb2xpZGl0eSBjb250cmFjdCBtb2RpZmllcyB0aGUgc3RhdGUgb2YgdGhlIGJsb2NrY2hhaW4uIFRoZXNlIHR5cGVzIG9mIGZ1bmN0aW9ucyByZXF1aXJlIGdhcyB0byBiZSBleGVjdXRlZCwgYW5kIGhlbmNlIGEgW1RyYW5zYWN0aW9uXShodHRwczovL3ZpZW0uc2gvZG9jcy9nbG9zc2FyeS90ZXJtcy5odG1sKSBpcyBuZWVkZWQgdG8gYmUgYnJvYWRjYXN0IGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgc3RhdGUuXG4gKlxuICogSW50ZXJuYWxseSwgdXNlcyBhIFtXYWxsZXQgQ2xpZW50XShodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL3dhbGxldC5odG1sKSB0byBjYWxsIHRoZSBbYHNlbmRUcmFuc2FjdGlvbmAgYWN0aW9uXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3dhbGxldC9zZW5kVHJhbnNhY3Rpb24uaHRtbCkgd2l0aCBbQUJJLWVuY29kZWQgYGRhdGFgXShodHRwczovL3ZpZW0uc2gvZG9jcy9jb250cmFjdC9lbmNvZGVGdW5jdGlvbkRhdGEuaHRtbCkuXG4gKlxuICogX19XYXJuaW5nOiBUaGUgYHdyaXRlYCBpbnRlcm5hbGx5IHNlbmRzIGEgdHJhbnNhY3Rpb24g4oCTIGl0IGRvZXMgbm90IHZhbGlkYXRlIGlmIHRoZSBjb250cmFjdCB3cml0ZSB3aWxsIHN1Y2NlZWQgKHRoZSBjb250cmFjdCBtYXkgdGhyb3cgYW4gZXJyb3IpLiBJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdG8gW3NpbXVsYXRlIHRoZSBjb250cmFjdCB3cml0ZSB3aXRoIGBjb250cmFjdC5zaW11bGF0ZWBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NvbnRyYWN0L3dyaXRlQ29udHJhY3QuaHRtbCN1c2FnZSkgYmVmb3JlIHlvdSBleGVjdXRlIGl0Ll9fXG4gKlxuICogQHBhcmFtIGNsaWVudCAtIENsaWVudCB0byB1c2VcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFdyaXRlQ29udHJhY3RQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgQSBbVHJhbnNhY3Rpb24gSGFzaF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZ2xvc3NhcnkvdGVybXMuaHRtbCNoYXNoKS4ge0BsaW5rIFdyaXRlQ29udHJhY3RSZXR1cm5UeXBlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIGN1c3RvbSwgcGFyc2VBYmkgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgd3JpdGVDb250cmFjdCB9IGZyb20gJ3ZpZW0vY29udHJhY3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogY3VzdG9tKHdpbmRvdy5ldGhlcmV1bSksXG4gKiB9KVxuICogY29uc3QgaGFzaCA9IGF3YWl0IHdyaXRlQ29udHJhY3QoY2xpZW50LCB7XG4gKiAgIGFkZHJlc3M6ICcweEZCQTM5MTJDYTA0ZGQ0NThjODQzZTJFRTA4OTY3ZkMwNGYzNTc5YzInLFxuICogICBhYmk6IHBhcnNlQWJpKFsnZnVuY3Rpb24gbWludCh1aW50MzIgdG9rZW5JZCkgbm9ucGF5YWJsZSddKSxcbiAqICAgZnVuY3Rpb25OYW1lOiAnbWludCcsXG4gKiAgIGFyZ3M6IFs2OTQyMF0sXG4gKiB9KVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaXRoIFZhbGlkYXRpb25cbiAqIGltcG9ydCB7IGNyZWF0ZVdhbGxldENsaWVudCwgaHR0cCwgcGFyc2VBYmkgfSBmcm9tICd2aWVtJ1xuICogaW1wb3J0IHsgbWFpbm5ldCB9IGZyb20gJ3ZpZW0vY2hhaW5zJ1xuICogaW1wb3J0IHsgc2ltdWxhdGVDb250cmFjdCwgd3JpdGVDb250cmFjdCB9IGZyb20gJ3ZpZW0vY29udHJhY3QnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXdhaXQgc2ltdWxhdGVDb250cmFjdChjbGllbnQsIHtcbiAqICAgYWRkcmVzczogJzB4RkJBMzkxMkNhMDRkZDQ1OGM4NDNlMkVFMDg5NjdmQzA0ZjM1NzljMicsXG4gKiAgIGFiaTogcGFyc2VBYmkoWydmdW5jdGlvbiBtaW50KHVpbnQzMiB0b2tlbklkKSBub25wYXlhYmxlJ10pLFxuICogICBmdW5jdGlvbk5hbWU6ICdtaW50JyxcbiAqICAgYXJnczogWzY5NDIwXSxcbiAqIH1cbiAqIGNvbnN0IGhhc2ggPSBhd2FpdCB3cml0ZUNvbnRyYWN0KGNsaWVudCwgcmVxdWVzdClcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlQ29udHJhY3QoY2xpZW50LCB7IGFiaSwgYWRkcmVzcywgYXJncywgZGF0YVN1ZmZpeCwgZnVuY3Rpb25OYW1lLCAuLi5yZXF1ZXN0IH0pIHtcbiAgICBjb25zdCBkYXRhID0gZW5jb2RlRnVuY3Rpb25EYXRhKHtcbiAgICAgICAgYWJpLFxuICAgICAgICBhcmdzLFxuICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgaGFzaCA9IGF3YWl0IHNlbmRUcmFuc2FjdGlvbihjbGllbnQsIHtcbiAgICAgICAgZGF0YTogYCR7ZGF0YX0ke2RhdGFTdWZmaXggPyBkYXRhU3VmZml4LnJlcGxhY2UoJzB4JywgJycpIDogJyd9YCxcbiAgICAgICAgdG86IGFkZHJlc3MsXG4gICAgICAgIC4uLnJlcXVlc3QsXG4gICAgfSk7XG4gICAgcmV0dXJuIGhhc2g7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13cml0ZUNvbnRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/actions/wallet/writeContract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/chains/formatters/celo.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/chains/formatters/celo.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ celoFormatters: function() { return /* binding */ celoFormatters; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/formatters/block.js */ \"./node_modules/viem/dist/esm/utils/formatters/block.js\");\n/* harmony import */ var _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n/* harmony import */ var _utils_formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/formatters/transactionReceipt.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js\");\n/* harmony import */ var _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n\n\n\n\n\n\n\nconst celoFormatters = {\n block: /*#__PURE__*/ (0,_utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_0__.defineBlock)({\n exclude: ['difficulty', 'gasLimit', 'mixHash', 'nonce', 'uncles'],\n format(args) {\n const transactions = args.transactions?.map((transaction) => {\n if (typeof transaction === 'string')\n return transaction;\n return {\n ...(0,_utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_1__.formatTransaction)(transaction),\n feeCurrency: transaction.feeCurrency,\n gatewayFee: transaction.gatewayFee\n ? (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__.hexToBigInt)(transaction.gatewayFee)\n : null,\n gatewayFeeRecipient: transaction.gatewayFeeRecipient,\n };\n });\n return {\n randomness: args.randomness,\n transactions,\n };\n },\n }),\n transaction: /*#__PURE__*/ (0,_utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_1__.defineTransaction)({\n format(args) {\n return {\n feeCurrency: args.feeCurrency,\n gatewayFee: args.gatewayFee ? (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__.hexToBigInt)(args.gatewayFee) : null,\n gatewayFeeRecipient: args.gatewayFeeRecipient,\n };\n },\n }),\n transactionReceipt: /*#__PURE__*/ (0,_utils_formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_3__.defineTransactionReceipt)({\n format(args) {\n return {\n feeCurrency: args.feeCurrency,\n gatewayFee: args.gatewayFee ? (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__.hexToBigInt)(args.gatewayFee) : null,\n gatewayFeeRecipient: args.gatewayFeeRecipient,\n };\n },\n }),\n transactionRequest: /*#__PURE__*/ (0,_utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_4__.defineTransactionRequest)({\n format(args) {\n return {\n feeCurrency: args.feeCurrency,\n gatewayFee: typeof args.gatewayFee !== 'undefined'\n ? (0,_utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_5__.numberToHex)(args.gatewayFee)\n : undefined,\n gatewayFeeRecipient: args.gatewayFeeRecipient,\n };\n },\n }),\n};\n//# sourceMappingURL=celo.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jaGFpbnMvZm9ybWF0dGVycy9jZWxvLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBMEM7QUFDb0I7QUFDRjtBQUNFO0FBQ2dDO0FBQ047QUFDQTtBQUNqRjtBQUNQLHlCQUF5Qix1RUFBVztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsbUZBQWlCO0FBQ3hDO0FBQ0E7QUFDQSwwQkFBMEIsdUVBQVc7QUFDckM7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTCwrQkFBK0IsbUZBQWlCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLDhDQUE4Qyx1RUFBVztBQUN6RDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTCxzQ0FBc0MsaUdBQXdCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLDhDQUE4Qyx1RUFBVztBQUN6RDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTCxzQ0FBc0MsaUdBQXdCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHFFQUFXO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jaGFpbnMvZm9ybWF0dGVycy9jZWxvLmpzPzczZjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt9IGZyb20gJy4uLy4uL3R5cGVzL2Zvcm1hdHRlci5qcyc7XG5pbXBvcnQgeyBoZXhUb0JpZ0ludCB9IGZyb20gJy4uLy4uL3V0aWxzL2VuY29kaW5nL2Zyb21IZXguanMnO1xuaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVCbG9jayB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvYmxvY2suanMnO1xuaW1wb3J0IHsgZGVmaW5lVHJhbnNhY3Rpb24sIGZvcm1hdFRyYW5zYWN0aW9uLCB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlY2VpcHQuanMnO1xuaW1wb3J0IHsgZGVmaW5lVHJhbnNhY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlcXVlc3QuanMnO1xuZXhwb3J0IGNvbnN0IGNlbG9Gb3JtYXR0ZXJzID0ge1xuICAgIGJsb2NrOiAvKiNfX1BVUkVfXyovIGRlZmluZUJsb2NrKHtcbiAgICAgICAgZXhjbHVkZTogWydkaWZmaWN1bHR5JywgJ2dhc0xpbWl0JywgJ21peEhhc2gnLCAnbm9uY2UnLCAndW5jbGVzJ10sXG4gICAgICAgIGZvcm1hdChhcmdzKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBhcmdzLnRyYW5zYWN0aW9ucz8ubWFwKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdHJhbnNhY3Rpb24gPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZm9ybWF0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICBmZWVDdXJyZW5jeTogdHJhbnNhY3Rpb24uZmVlQ3VycmVuY3ksXG4gICAgICAgICAgICAgICAgICAgIGdhdGV3YXlGZWU6IHRyYW5zYWN0aW9uLmdhdGV3YXlGZWVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaGV4VG9CaWdJbnQodHJhbnNhY3Rpb24uZ2F0ZXdheUZlZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZ2F0ZXdheUZlZVJlY2lwaWVudDogdHJhbnNhY3Rpb24uZ2F0ZXdheUZlZVJlY2lwaWVudCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJhbmRvbW5lc3M6IGFyZ3MucmFuZG9tbmVzcyxcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbnMsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgIH0pLFxuICAgIHRyYW5zYWN0aW9uOiAvKiNfX1BVUkVfXyovIGRlZmluZVRyYW5zYWN0aW9uKHtcbiAgICAgICAgZm9ybWF0KGFyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZmVlQ3VycmVuY3k6IGFyZ3MuZmVlQ3VycmVuY3ksXG4gICAgICAgICAgICAgICAgZ2F0ZXdheUZlZTogYXJncy5nYXRld2F5RmVlID8gaGV4VG9CaWdJbnQoYXJncy5nYXRld2F5RmVlKSA6IG51bGwsXG4gICAgICAgICAgICAgICAgZ2F0ZXdheUZlZVJlY2lwaWVudDogYXJncy5nYXRld2F5RmVlUmVjaXBpZW50LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICB0cmFuc2FjdGlvblJlY2VpcHQ6IC8qI19fUFVSRV9fKi8gZGVmaW5lVHJhbnNhY3Rpb25SZWNlaXB0KHtcbiAgICAgICAgZm9ybWF0KGFyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZmVlQ3VycmVuY3k6IGFyZ3MuZmVlQ3VycmVuY3ksXG4gICAgICAgICAgICAgICAgZ2F0ZXdheUZlZTogYXJncy5nYXRld2F5RmVlID8gaGV4VG9CaWdJbnQoYXJncy5nYXRld2F5RmVlKSA6IG51bGwsXG4gICAgICAgICAgICAgICAgZ2F0ZXdheUZlZVJlY2lwaWVudDogYXJncy5nYXRld2F5RmVlUmVjaXBpZW50LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICB0cmFuc2FjdGlvblJlcXVlc3Q6IC8qI19fUFVSRV9fKi8gZGVmaW5lVHJhbnNhY3Rpb25SZXF1ZXN0KHtcbiAgICAgICAgZm9ybWF0KGFyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZmVlQ3VycmVuY3k6IGFyZ3MuZmVlQ3VycmVuY3ksXG4gICAgICAgICAgICAgICAgZ2F0ZXdheUZlZTogdHlwZW9mIGFyZ3MuZ2F0ZXdheUZlZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgPyBudW1iZXJUb0hleChhcmdzLmdhdGV3YXlGZWUpXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGdhdGV3YXlGZWVSZWNpcGllbnQ6IGFyZ3MuZ2F0ZXdheUZlZVJlY2lwaWVudCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgfSksXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2Vsby5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/chains/formatters/celo.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/chains/formatters/optimism.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/chains/formatters/optimism.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ optimismFormatters: function() { return /* binding */ optimismFormatters; }\n/* harmony export */ });\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/formatters/block.js */ \"./node_modules/viem/dist/esm/utils/formatters/block.js\");\n/* harmony import */ var _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/formatters/transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n\n\n\n\nconst optimismFormatters = {\n block: /*#__PURE__*/ (0,_utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_0__.defineBlock)({\n format(args) {\n const transactions = args.transactions?.map((transaction) => {\n if (typeof transaction === 'string')\n return transaction;\n const formatted = (0,_utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_1__.formatTransaction)(transaction);\n if (formatted.typeHex === '0x7e') {\n formatted.isSystemTx = transaction.isSystemTx;\n formatted.mint = transaction.mint\n ? (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__.hexToBigInt)(transaction.mint)\n : undefined;\n formatted.sourceHash = transaction.sourceHash;\n formatted.type = 'deposit';\n }\n return formatted;\n });\n return {\n transactions,\n };\n },\n }),\n transaction: /*#__PURE__*/ (0,_utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_1__.defineTransaction)({\n format(args) {\n const transaction = {};\n if (args.type === '0x7e') {\n transaction.isSystemTx = args.isSystemTx;\n transaction.mint = args.mint ? (0,_utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__.hexToBigInt)(args.mint) : undefined;\n transaction.sourceHash = args.sourceHash;\n transaction.type = 'deposit';\n }\n return transaction;\n },\n }),\n};\n//# sourceMappingURL=optimism.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jaGFpbnMvZm9ybWF0dGVycy9vcHRpbWlzbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTBDO0FBQ29CO0FBQ0E7QUFDZ0M7QUFDdkY7QUFDUCx5QkFBeUIsdUVBQVc7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsbUZBQWlCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix1RUFBVztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0wsK0JBQStCLG1GQUFpQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQyx1RUFBVztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jaGFpbnMvZm9ybWF0dGVycy9vcHRpbWlzbS5qcz8wZjFhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7fSBmcm9tICcuLi8uLi90eXBlcy9mb3JtYXR0ZXIuanMnO1xuaW1wb3J0IHsgaGV4VG9CaWdJbnQgfSBmcm9tICcuLi8uLi91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzJztcbmltcG9ydCB7IGRlZmluZUJsb2NrIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy9ibG9jay5qcyc7XG5pbXBvcnQgeyBkZWZpbmVUcmFuc2FjdGlvbiwgZm9ybWF0VHJhbnNhY3Rpb24sIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvbi5qcyc7XG5leHBvcnQgY29uc3Qgb3B0aW1pc21Gb3JtYXR0ZXJzID0ge1xuICAgIGJsb2NrOiAvKiNfX1BVUkVfXyovIGRlZmluZUJsb2NrKHtcbiAgICAgICAgZm9ybWF0KGFyZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IGFyZ3MudHJhbnNhY3Rpb25zPy5tYXAoKHRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0cmFuc2FjdGlvbiA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbjtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKGZvcm1hdHRlZC50eXBlSGV4ID09PSAnMHg3ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkLmlzU3lzdGVtVHggPSB0cmFuc2FjdGlvbi5pc1N5c3RlbVR4O1xuICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQubWludCA9IHRyYW5zYWN0aW9uLm1pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaGV4VG9CaWdJbnQodHJhbnNhY3Rpb24ubWludClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQuc291cmNlSGFzaCA9IHRyYW5zYWN0aW9uLnNvdXJjZUhhc2g7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlZC50eXBlID0gJ2RlcG9zaXQnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9ucyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgdHJhbnNhY3Rpb246IC8qI19fUFVSRV9fKi8gZGVmaW5lVHJhbnNhY3Rpb24oe1xuICAgICAgICBmb3JtYXQoYXJncykge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSB7fTtcbiAgICAgICAgICAgIGlmIChhcmdzLnR5cGUgPT09ICcweDdlJykge1xuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLmlzU3lzdGVtVHggPSBhcmdzLmlzU3lzdGVtVHg7XG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24ubWludCA9IGFyZ3MubWludCA/IGhleFRvQmlnSW50KGFyZ3MubWludCkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24uc291cmNlSGFzaCA9IGFyZ3Muc291cmNlSGFzaDtcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50eXBlID0gJ2RlcG9zaXQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICAgICAgICB9LFxuICAgIH0pLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wdGltaXNtLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/chains/formatters/optimism.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/chains/index.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/esm/chains/index.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arbitrum: function() { return /* binding */ arbitrum; },\n/* harmony export */ arbitrumGoerli: function() { return /* binding */ arbitrumGoerli; },\n/* harmony export */ aurora: function() { return /* binding */ aurora; },\n/* harmony export */ auroraTestnet: function() { return /* binding */ auroraTestnet; },\n/* harmony export */ avalanche: function() { return /* binding */ avalanche; },\n/* harmony export */ avalancheFuji: function() { return /* binding */ avalancheFuji; },\n/* harmony export */ baseGoerli: function() { return /* binding */ baseGoerli; },\n/* harmony export */ boba: function() { return /* binding */ boba; },\n/* harmony export */ bronos: function() { return /* binding */ bronos; },\n/* harmony export */ bronosTestnet: function() { return /* binding */ bronosTestnet; },\n/* harmony export */ bsc: function() { return /* binding */ bsc; },\n/* harmony export */ bscTestnet: function() { return /* binding */ bscTestnet; },\n/* harmony export */ canto: function() { return /* binding */ canto; },\n/* harmony export */ celo: function() { return /* binding */ celo; },\n/* harmony export */ celoAlfajores: function() { return /* binding */ celoAlfajores; },\n/* harmony export */ celoCannoli: function() { return /* binding */ celoCannoli; },\n/* harmony export */ cronos: function() { return /* binding */ cronos; },\n/* harmony export */ crossbell: function() { return /* binding */ crossbell; },\n/* harmony export */ dfk: function() { return /* binding */ dfk; },\n/* harmony export */ dogechain: function() { return /* binding */ dogechain; },\n/* harmony export */ evmos: function() { return /* binding */ evmos; },\n/* harmony export */ evmosTestnet: function() { return /* binding */ evmosTestnet; },\n/* harmony export */ fantom: function() { return /* binding */ fantom; },\n/* harmony export */ fantomTestnet: function() { return /* binding */ fantomTestnet; },\n/* harmony export */ filecoin: function() { return /* binding */ filecoin; },\n/* harmony export */ filecoinCalibration: function() { return /* binding */ filecoinCalibration; },\n/* harmony export */ filecoinHyperspace: function() { return /* binding */ filecoinHyperspace; },\n/* harmony export */ flare: function() { return /* binding */ flare; },\n/* harmony export */ flareTestnet: function() { return /* binding */ flareTestnet; },\n/* harmony export */ foundry: function() { return /* binding */ foundry; },\n/* harmony export */ gnosis: function() { return /* binding */ gnosis; },\n/* harmony export */ gnosisChiado: function() { return /* binding */ gnosisChiado; },\n/* harmony export */ goerli: function() { return /* binding */ goerli; },\n/* harmony export */ haqqMainnet: function() { return /* binding */ haqqMainnet; },\n/* harmony export */ haqqTestedge2: function() { return /* binding */ haqqTestedge2; },\n/* harmony export */ hardhat: function() { return /* binding */ hardhat; },\n/* harmony export */ harmonyOne: function() { return /* binding */ harmonyOne; },\n/* harmony export */ iotex: function() { return /* binding */ iotex; },\n/* harmony export */ iotexTestnet: function() { return /* binding */ iotexTestnet; },\n/* harmony export */ klaytn: function() { return /* binding */ klaytn; },\n/* harmony export */ lineaTestnet: function() { return /* binding */ lineaTestnet; },\n/* harmony export */ localhost: function() { return /* binding */ localhost; },\n/* harmony export */ mainnet: function() { return /* binding */ mainnet; },\n/* harmony export */ metis: function() { return /* binding */ metis; },\n/* harmony export */ metisGoerli: function() { return /* binding */ metisGoerli; },\n/* harmony export */ moonbaseAlpha: function() { return /* binding */ moonbaseAlpha; },\n/* harmony export */ moonbeam: function() { return /* binding */ moonbeam; },\n/* harmony export */ moonriver: function() { return /* binding */ moonriver; },\n/* harmony export */ nexi: function() { return /* binding */ nexi; },\n/* harmony export */ okc: function() { return /* binding */ okc; },\n/* harmony export */ optimism: function() { return /* binding */ optimism; },\n/* harmony export */ optimismGoerli: function() { return /* binding */ optimismGoerli; },\n/* harmony export */ polygon: function() { return /* binding */ polygon; },\n/* harmony export */ polygonMumbai: function() { return /* binding */ polygonMumbai; },\n/* harmony export */ polygonZkEvm: function() { return /* binding */ polygonZkEvm; },\n/* harmony export */ polygonZkEvmTestnet: function() { return /* binding */ polygonZkEvmTestnet; },\n/* harmony export */ pulsechain: function() { return /* binding */ pulsechain; },\n/* harmony export */ pulsechainV4: function() { return /* binding */ pulsechainV4; },\n/* harmony export */ scrollTestnet: function() { return /* binding */ scrollTestnet; },\n/* harmony export */ sepolia: function() { return /* binding */ sepolia; },\n/* harmony export */ shardeumSphinx: function() { return /* binding */ shardeumSphinx; },\n/* harmony export */ skaleBlockBrawlers: function() { return /* binding */ skaleBlockBrawlers; },\n/* harmony export */ skaleCalypso: function() { return /* binding */ skaleCalypso; },\n/* harmony export */ skaleCalypsoTestnet: function() { return /* binding */ skaleCalypsoTestnet; },\n/* harmony export */ skaleChaosTestnet: function() { return /* binding */ skaleChaosTestnet; },\n/* harmony export */ skaleCryptoBlades: function() { return /* binding */ skaleCryptoBlades; },\n/* harmony export */ skaleCryptoColosseum: function() { return /* binding */ skaleCryptoColosseum; },\n/* harmony export */ skaleEuropa: function() { return /* binding */ skaleEuropa; },\n/* harmony export */ skaleEuropaTestnet: function() { return /* binding */ skaleEuropaTestnet; },\n/* harmony export */ skaleExorde: function() { return /* binding */ skaleExorde; },\n/* harmony export */ skaleHumanProtocol: function() { return /* binding */ skaleHumanProtocol; },\n/* harmony export */ skaleNebula: function() { return /* binding */ skaleNebula; },\n/* harmony export */ skaleNebulaTestnet: function() { return /* binding */ skaleNebulaTestnet; },\n/* harmony export */ skaleRazor: function() { return /* binding */ skaleRazor; },\n/* harmony export */ skaleTitan: function() { return /* binding */ skaleTitan; },\n/* harmony export */ skaleTitanTestnet: function() { return /* binding */ skaleTitanTestnet; },\n/* harmony export */ songbird: function() { return /* binding */ songbird; },\n/* harmony export */ songbirdTestnet: function() { return /* binding */ songbirdTestnet; },\n/* harmony export */ syscoin: function() { return /* binding */ syscoin; },\n/* harmony export */ taraxa: function() { return /* binding */ taraxa; },\n/* harmony export */ taraxaTestnet: function() { return /* binding */ taraxaTestnet; },\n/* harmony export */ telos: function() { return /* binding */ telos; },\n/* harmony export */ telosTestnet: function() { return /* binding */ telosTestnet; },\n/* harmony export */ thunderTestnet: function() { return /* binding */ thunderTestnet; },\n/* harmony export */ wanchain: function() { return /* binding */ wanchain; },\n/* harmony export */ wanchainTestnet: function() { return /* binding */ wanchainTestnet; },\n/* harmony export */ xdc: function() { return /* binding */ xdc; },\n/* harmony export */ xdcTestnet: function() { return /* binding */ xdcTestnet; },\n/* harmony export */ zhejiang: function() { return /* binding */ zhejiang; },\n/* harmony export */ zkSync: function() { return /* binding */ zkSync; },\n/* harmony export */ zkSyncTestnet: function() { return /* binding */ zkSyncTestnet; },\n/* harmony export */ zora: function() { return /* binding */ zora; },\n/* harmony export */ zoraTestnet: function() { return /* binding */ zoraTestnet; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_chains__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wagmi/chains */ \"./node_modules/@wagmi/chains/dist/index.mjs\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _formatters_celo_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatters/celo.js */ \"./node_modules/viem/dist/esm/chains/formatters/celo.js\");\n/* harmony import */ var _formatters_optimism_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formatters/optimism.js */ \"./node_modules/viem/dist/esm/chains/formatters/optimism.js\");\n\n\n\n\nconst arbitrum = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.arbitrum);\nconst arbitrumGoerli = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.arbitrumGoerli);\nconst aurora = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.aurora);\nconst auroraTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.auroraTestnet);\nconst avalanche = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.avalanche);\nconst avalancheFuji = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.avalancheFuji);\nconst baseGoerli = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.baseGoerli);\nconst boba = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.boba);\nconst bronos = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.bronos);\nconst bronosTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.bronosTestnet);\nconst bsc = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.bsc);\nconst bscTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.bscTestnet);\nconst canto = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.canto);\nconst celo = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.celo, {\n formatters: _formatters_celo_js__WEBPACK_IMPORTED_MODULE_2__.celoFormatters,\n});\nconst celoAlfajores = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.celoAlfajores, {\n formatters: _formatters_celo_js__WEBPACK_IMPORTED_MODULE_2__.celoFormatters,\n});\nconst celoCannoli = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.celoCannoli, {\n formatters: _formatters_celo_js__WEBPACK_IMPORTED_MODULE_2__.celoFormatters,\n});\nconst cronos = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.cronos);\nconst crossbell = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.crossbell);\nconst dfk = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.dfk);\nconst dogechain = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.dogechain);\nconst evmos = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.evmos);\nconst evmosTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.evmosTestnet);\nconst fantom = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.fantom);\nconst fantomTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.fantomTestnet);\nconst filecoin = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.filecoin);\nconst filecoinCalibration = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.filecoinCalibration);\nconst filecoinHyperspace = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.filecoinHyperspace);\nconst flare = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.flare);\nconst flareTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.flareTestnet);\nconst foundry = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.foundry);\nconst iotex = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.iotex);\nconst iotexTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.iotexTestnet);\nconst goerli = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.goerli);\nconst gnosis = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.gnosis);\nconst gnosisChiado = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.gnosisChiado);\nconst haqqMainnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.haqqMainnet);\nconst haqqTestedge2 = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.haqqTestedge2);\nconst hardhat = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.hardhat);\nconst harmonyOne = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.harmonyOne);\nconst klaytn = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.klaytn);\nconst lineaTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.lineaTestnet);\nconst localhost = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.localhost);\nconst mainnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.mainnet);\nconst metis = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.metis);\nconst metisGoerli = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.metisGoerli);\nconst moonbaseAlpha = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.moonbaseAlpha);\nconst moonbeam = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.moonbeam);\nconst moonriver = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.moonriver);\nconst nexi = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.nexi);\nconst okc = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.okc);\nconst optimism = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.optimism, {\n formatters: _formatters_optimism_js__WEBPACK_IMPORTED_MODULE_3__.optimismFormatters,\n});\nconst optimismGoerli = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.optimismGoerli, {\n formatters: _formatters_optimism_js__WEBPACK_IMPORTED_MODULE_3__.optimismFormatters,\n});\nconst polygon = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.polygon);\nconst polygonMumbai = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.polygonMumbai);\nconst polygonZkEvm = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.polygonZkEvm);\nconst polygonZkEvmTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.polygonZkEvmTestnet);\nconst pulsechain = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.pulsechain);\nconst pulsechainV4 = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.pulsechainV4);\nconst scrollTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.scrollTestnet);\nconst sepolia = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.sepolia);\nconst skaleBlockBrawlers = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleBlockBrawlers);\nconst skaleCalypso = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleCalypso);\nconst skaleCalypsoTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleCalypsoTestnet);\nconst skaleChaosTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleChaosTestnet);\nconst skaleCryptoBlades = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleCryptoBlades);\nconst skaleCryptoColosseum = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleCryptoColosseum);\nconst skaleEuropa = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleEuropa);\nconst skaleEuropaTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleEuropaTestnet);\nconst skaleExorde = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleExorde);\nconst skaleHumanProtocol = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleHumanProtocol);\nconst skaleNebula = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleNebula);\nconst skaleNebulaTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleNebulaTestnet);\nconst skaleRazor = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleRazor);\nconst skaleTitan = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleTitan);\nconst skaleTitanTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.skaleTitanTestnet);\nconst songbird = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.songbird);\nconst songbirdTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.songbirdTestnet);\nconst shardeumSphinx = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.shardeumSphinx);\nconst syscoin = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.syscoin);\nconst taraxa = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.taraxa);\nconst taraxaTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.taraxaTestnet);\nconst telos = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.telos);\nconst telosTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.telosTestnet);\nconst thunderTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.thunderTestnet);\nconst wanchain = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.wanchain);\nconst wanchainTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.wanchainTestnet);\nconst xdc = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.xdc);\nconst xdcTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.xdcTestnet);\nconst zhejiang = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.zhejiang);\nconst zkSync = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.zkSync);\nconst zkSyncTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.zkSyncTestnet);\nconst zora = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.zora);\nconst zoraTestnet = /*#__PURE__*/ (0,_utils_chain_js__WEBPACK_IMPORTED_MODULE_0__.defineChain)(_wagmi_chains__WEBPACK_IMPORTED_MODULE_1__.zoraTestnet);\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jaGFpbnMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF3QztBQUNRO0FBQ007QUFDUTtBQUN2RCwrQkFBK0IsNERBQVcsQ0FBQyxtREFBZTtBQUMxRCxxQ0FBcUMsNERBQVcsQ0FBQyx5REFBcUI7QUFDdEUsNkJBQTZCLDREQUFXLENBQUMsaURBQWE7QUFDdEQsb0NBQW9DLDREQUFXLENBQUMsd0RBQW9CO0FBQ3BFLGdDQUFnQyw0REFBVyxDQUFDLG9EQUFnQjtBQUM1RCxvQ0FBb0MsNERBQVcsQ0FBQyx3REFBb0I7QUFDcEUsaUNBQWlDLDREQUFXLENBQUMscURBQWlCO0FBQzlELDJCQUEyQiw0REFBVyxDQUFDLCtDQUFXO0FBQ2xELDZCQUE2Qiw0REFBVyxDQUFDLGlEQUFhO0FBQ3RELG9DQUFvQyw0REFBVyxDQUFDLHdEQUFvQjtBQUNwRSwwQkFBMEIsNERBQVcsQ0FBQyw4Q0FBVTtBQUNoRCxpQ0FBaUMsNERBQVcsQ0FBQyxxREFBaUI7QUFDOUQsNEJBQTRCLDREQUFXLENBQUMsZ0RBQVk7QUFDcEQsMkJBQTJCLDREQUFXLENBQUMsK0NBQVc7QUFDekQsZ0JBQWdCLCtEQUFjO0FBQzlCLENBQUM7QUFDTSxvQ0FBb0MsNERBQVcsQ0FBQyx3REFBb0I7QUFDM0UsZ0JBQWdCLCtEQUFjO0FBQzlCLENBQUM7QUFDTSxrQ0FBa0MsNERBQVcsQ0FBQyxzREFBa0I7QUFDdkUsZ0JBQWdCLCtEQUFjO0FBQzlCLENBQUM7QUFDTSw2QkFBNkIsNERBQVcsQ0FBQyxpREFBYTtBQUN0RCxnQ0FBZ0MsNERBQVcsQ0FBQyxvREFBZ0I7QUFDNUQsMEJBQTBCLDREQUFXLENBQUMsOENBQVU7QUFDaEQsZ0NBQWdDLDREQUFXLENBQUMsb0RBQWdCO0FB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REFBc0I7QUFDeEUscUNBQXFDLDREQUFXLENBQUMseURBQXFCO0FBQ3RFLDhCQUE4Qiw0REFBVyxDQUFDLGtEQUFjO0FBQ3hELDZCQUE2Qiw0REFBVyxDQUFDLGlEQUFhO0FBQ3RELG9DQUFvQyw0REFBVyxDQUFDLHdEQUFvQjtBQUNwRSw0QkFBNEIsNERBQVcsQ0FBQyxnREFBWTtBQUNwRCxtQ0FBbUMsNERBQVcsQ0FBQyx1REFBbUI7QUFDbEUscUNBQXFDLDREQUFXLENBQUMseURBQXFCO0FBQ3RFLCtCQUErQiw0REFBVyxDQUFDLG1EQUFlO0FBQzFELHNDQUFzQyw0REFBVyxDQUFDLDBEQUFzQjtBQUN4RSwwQkFBMEIsNERBQVcsQ0FBQyw4Q0FBVTtBQUNoRCxpQ0FBaUMsNERBQVcsQ0FBQyxxREFBaUI7QUFDOUQsK0JBQStCLDREQUFXLENBQUMsbURBQWU7QUFDMUQsNkJBQTZCLDREQUFXLENBQUMsaURBQWE7QUFDdEQsb0NBQW9DLDREQUFXLENBQUMsd0RBQW9CO0FBQ3BFLDJCQUEyQiw0REFBVyxDQUFDLCtDQUFXO0FBQ2xELGtDQUFrQyw0REFBVyxDQUFDLHNEQUFrQjtBQUN2RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jaGFpbnMvaW5kZXguanM/YmZiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGFpbnMgZnJvbSAnQHdhZ21pL2NoYWlucyc7XG5pbXBvcnQgeyBkZWZpbmVDaGFpbiB9IGZyb20gJy4uL3V0aWxzL2NoYWluLmpzJztcbmltcG9ydCB7IGNlbG9Gb3JtYXR0ZXJzIH0gZnJvbSAnLi9mb3JtYXR0ZXJzL2NlbG8uanMnO1xuaW1wb3J0IHsgb3B0aW1pc21Gb3JtYXR0ZXJzIH0gZnJvbSAnLi9mb3JtYXR0ZXJzL29wdGltaXNtLmpzJztcbmV4cG9ydCBjb25zdCBhcmJpdHJ1bSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmFyYml0cnVtKTtcbmV4cG9ydCBjb25zdCBhcmJpdHJ1bUdvZXJsaSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmFyYml0cnVtR29lcmxpKTtcbmV4cG9ydCBjb25zdCBhdXJvcmEgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5hdXJvcmEpO1xuZXhwb3J0IGNvbnN0IGF1cm9yYVRlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5hdXJvcmFUZXN0bmV0KTtcbmV4cG9ydCBjb25zdCBhdmFsYW5jaGUgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5hdmFsYW5jaGUpO1xuZXhwb3J0IGNvbnN0IGF2YWxhbmNoZUZ1amkgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5hdmFsYW5jaGVGdWppKTtcbmV4cG9ydCBjb25zdCBiYXNlR29lcmxpID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuYmFzZUdvZXJsaSk7XG5leHBvcnQgY29uc3QgYm9iYSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmJvYmEpO1xuZXhwb3J0IGNvbnN0IGJyb25vcyA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmJyb25vcyk7XG5leHBvcnQgY29uc3QgYnJvbm9zVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmJyb25vc1Rlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IGJzYyA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmJzYyk7XG5leHBvcnQgY29uc3QgYnNjVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmJzY1Rlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IGNhbnRvID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuY2FudG8pO1xuZXhwb3J0IGNvbnN0IGNlbG8gPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5jZWxvLCB7XG4gICAgZm9ybWF0dGVyczogY2Vsb0Zvcm1hdHRlcnMsXG59KTtcbmV4cG9ydCBjb25zdCBjZWxvQWxmYWpvcmVzID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuY2Vsb0FsZmFqb3Jlcywge1xuICAgIGZvcm1hdHRlcnM6IGNlbG9Gb3JtYXR0ZXJzLFxufSk7XG5leHBvcnQgY29uc3QgY2Vsb0Nhbm5vbGkgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5jZWxvQ2Fubm9saSwge1xuICAgIGZvcm1hdHRlcnM6IGNlbG9Gb3JtYXR0ZXJzLFxufSk7XG5leHBvcnQgY29uc3QgY3Jvbm9zID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuY3Jvbm9zKTtcbmV4cG9ydCBjb25zdCBjcm9zc2JlbGwgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5jcm9zc2JlbGwpO1xuZXhwb3J0IGNvbnN0IGRmayA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmRmayk7XG5leHBvcnQgY29uc3QgZG9nZWNoYWluID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuZG9nZWNoYWluKTtcbmV4cG9ydCBjb25zdCBldm1vcyA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmV2bW9zKTtcbmV4cG9ydCBjb25zdCBldm1vc1Rlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5ldm1vc1Rlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IGZhbnRvbSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmZhbnRvbSk7XG5leHBvcnQgY29uc3QgZmFudG9tVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmZhbnRvbVRlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IGZpbGVjb2luID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuZmlsZWNvaW4pO1xuZXhwb3J0IGNvbnN0IGZpbGVjb2luQ2FsaWJyYXRpb24gPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5maWxlY29pbkNhbGlicmF0aW9uKTtcbmV4cG9ydCBjb25zdCBmaWxlY29pbkh5cGVyc3BhY2UgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5maWxlY29pbkh5cGVyc3BhY2UpO1xuZXhwb3J0IGNvbnN0IGZsYXJlID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuZmxhcmUpO1xuZXhwb3J0IGNvbnN0IGZsYXJlVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmZsYXJlVGVzdG5ldCk7XG5leHBvcnQgY29uc3QgZm91bmRyeSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmZvdW5kcnkpO1xuZXhwb3J0IGNvbnN0IGlvdGV4ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuaW90ZXgpO1xuZXhwb3J0IGNvbnN0IGlvdGV4VGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmlvdGV4VGVzdG5ldCk7XG5leHBvcnQgY29uc3QgZ29lcmxpID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuZ29lcmxpKTtcbmV4cG9ydCBjb25zdCBnbm9zaXMgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5nbm9zaXMpO1xuZXhwb3J0IGNvbnN0IGdub3Npc0NoaWFkbyA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmdub3Npc0NoaWFkbyk7XG5leHBvcnQgY29uc3QgaGFxcU1haW5uZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5oYXFxTWFpbm5ldCk7XG5leHBvcnQgY29uc3QgaGFxcVRlc3RlZGdlMiA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmhhcXFUZXN0ZWRnZTIpO1xuZXhwb3J0IGNvbnN0IGhhcmRoYXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5oYXJkaGF0KTtcbmV4cG9ydCBjb25zdCBoYXJtb255T25lID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuaGFybW9ueU9uZSk7XG5leHBvcnQgY29uc3Qga2xheXRuID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMua2xheXRuKTtcbmV4cG9ydCBjb25zdCBsaW5lYVRlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5saW5lYVRlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IGxvY2FsaG9zdCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLmxvY2FsaG9zdCk7XG5leHBvcnQgY29uc3QgbWFpbm5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLm1haW5uZXQpO1xuZXhwb3J0IGNvbnN0IG1ldGlzID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMubWV0aXMpO1xuZXhwb3J0IGNvbnN0IG1ldGlzR29lcmxpID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMubWV0aXNHb2VybGkpO1xuZXhwb3J0IGNvbnN0IG1vb25iYXNlQWxwaGEgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5tb29uYmFzZUFscGhhKTtcbmV4cG9ydCBjb25zdCBtb29uYmVhbSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLm1vb25iZWFtKTtcbmV4cG9ydCBjb25zdCBtb29ucml2ZXIgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5tb29ucml2ZXIpO1xuZXhwb3J0IGNvbnN0IG5leGkgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5uZXhpKTtcbmV4cG9ydCBjb25zdCBva2MgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5va2MpO1xuZXhwb3J0IGNvbnN0IG9wdGltaXNtID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMub3B0aW1pc20sIHtcbiAgICBmb3JtYXR0ZXJzOiBvcHRpbWlzbUZvcm1hdHRlcnMsXG59KTtcbmV4cG9ydCBjb25zdCBvcHRpbWlzbUdvZXJsaSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLm9wdGltaXNtR29lcmxpLCB7XG4gICAgZm9ybWF0dGVyczogb3B0aW1pc21Gb3JtYXR0ZXJzLFxufSk7XG5leHBvcnQgY29uc3QgcG9seWdvbiA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnBvbHlnb24pO1xuZXhwb3J0IGNvbnN0IHBvbHlnb25NdW1iYWkgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5wb2x5Z29uTXVtYmFpKTtcbmV4cG9ydCBjb25zdCBwb2x5Z29uWmtFdm0gPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5wb2x5Z29uWmtFdm0pO1xuZXhwb3J0IGNvbnN0IHBvbHlnb25aa0V2bVRlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5wb2x5Z29uWmtFdm1UZXN0bmV0KTtcbmV4cG9ydCBjb25zdCBwdWxzZWNoYWluID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMucHVsc2VjaGFpbik7XG5leHBvcnQgY29uc3QgcHVsc2VjaGFpblY0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMucHVsc2VjaGFpblY0KTtcbmV4cG9ydCBjb25zdCBzY3JvbGxUZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuc2Nyb2xsVGVzdG5ldCk7XG5leHBvcnQgY29uc3Qgc2Vwb2xpYSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNlcG9saWEpO1xuZXhwb3J0IGNvbnN0IHNrYWxlQmxvY2tCcmF3bGVycyA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNrYWxlQmxvY2tCcmF3bGVycyk7XG5leHBvcnQgY29uc3Qgc2thbGVDYWx5cHNvID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuc2thbGVDYWx5cHNvKTtcbmV4cG9ydCBjb25zdCBza2FsZUNhbHlwc29UZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuc2thbGVDYWx5cHNvVGVzdG5ldCk7XG5leHBvcnQgY29uc3Qgc2thbGVDaGFvc1Rlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5za2FsZUNoYW9zVGVzdG5ldCk7XG5leHBvcnQgY29uc3Qgc2thbGVDcnlwdG9CbGFkZXMgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5za2FsZUNyeXB0b0JsYWRlcyk7XG5leHBvcnQgY29uc3Qgc2thbGVDcnlwdG9Db2xvc3NldW0gPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5za2FsZUNyeXB0b0NvbG9zc2V1bSk7XG5leHBvcnQgY29uc3Qgc2thbGVFdXJvcGEgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5za2FsZUV1cm9wYSk7XG5leHBvcnQgY29uc3Qgc2thbGVFdXJvcGFUZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuc2thbGVFdXJvcGFUZXN0bmV0KTtcbmV4cG9ydCBjb25zdCBza2FsZUV4b3JkZSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNrYWxlRXhvcmRlKTtcbmV4cG9ydCBjb25zdCBza2FsZUh1bWFuUHJvdG9jb2wgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5za2FsZUh1bWFuUHJvdG9jb2wpO1xuZXhwb3J0IGNvbnN0IHNrYWxlTmVidWxhID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuc2thbGVOZWJ1bGEpO1xuZXhwb3J0IGNvbnN0IHNrYWxlTmVidWxhVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNrYWxlTmVidWxhVGVzdG5ldCk7XG5leHBvcnQgY29uc3Qgc2thbGVSYXpvciA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNrYWxlUmF6b3IpO1xuZXhwb3J0IGNvbnN0IHNrYWxlVGl0YW4gPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5za2FsZVRpdGFuKTtcbmV4cG9ydCBjb25zdCBza2FsZVRpdGFuVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNrYWxlVGl0YW5UZXN0bmV0KTtcbmV4cG9ydCBjb25zdCBzb25nYmlyZCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnNvbmdiaXJkKTtcbmV4cG9ydCBjb25zdCBzb25nYmlyZFRlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5zb25nYmlyZFRlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IHNoYXJkZXVtU3BoaW54ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuc2hhcmRldW1TcGhpbngpO1xuZXhwb3J0IGNvbnN0IHN5c2NvaW4gPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy5zeXNjb2luKTtcbmV4cG9ydCBjb25zdCB0YXJheGEgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy50YXJheGEpO1xuZXhwb3J0IGNvbnN0IHRhcmF4YVRlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy50YXJheGFUZXN0bmV0KTtcbmV4cG9ydCBjb25zdCB0ZWxvcyA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnRlbG9zKTtcbmV4cG9ydCBjb25zdCB0ZWxvc1Rlc3RuZXQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy50ZWxvc1Rlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IHRodW5kZXJUZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMudGh1bmRlclRlc3RuZXQpO1xuZXhwb3J0IGNvbnN0IHdhbmNoYWluID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMud2FuY2hhaW4pO1xuZXhwb3J0IGNvbnN0IHdhbmNoYWluVGVzdG5ldCA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLndhbmNoYWluVGVzdG5ldCk7XG5leHBvcnQgY29uc3QgeGRjID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMueGRjKTtcbmV4cG9ydCBjb25zdCB4ZGNUZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMueGRjVGVzdG5ldCk7XG5leHBvcnQgY29uc3QgemhlamlhbmcgPSAvKiNfX1BVUkVfXyovIGRlZmluZUNoYWluKGNoYWlucy56aGVqaWFuZyk7XG5leHBvcnQgY29uc3QgemtTeW5jID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuemtTeW5jKTtcbmV4cG9ydCBjb25zdCB6a1N5bmNUZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuemtTeW5jVGVzdG5ldCk7XG5leHBvcnQgY29uc3Qgem9yYSA9IC8qI19fUFVSRV9fKi8gZGVmaW5lQ2hhaW4oY2hhaW5zLnpvcmEpO1xuZXhwb3J0IGNvbnN0IHpvcmFUZXN0bmV0ID0gLyojX19QVVJFX18qLyBkZWZpbmVDaGFpbihjaGFpbnMuem9yYVRlc3RuZXQpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/chains/index.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/createClient.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/createClient.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createClient: function() { return /* binding */ createClient; }\n/* harmony export */ });\n/* harmony import */ var _utils_uid_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/uid.js */ \"./node_modules/viem/dist/esm/utils/uid.js\");\n\n/**\n * @description Creates a base client with the given transport.\n */\nfunction createClient({ chain, key = 'base', name = 'Base Client', pollingInterval = 4000, transport, type = 'base', }) {\n const { config, request, value } = transport({ chain, pollingInterval });\n return {\n chain: chain,\n key,\n name,\n pollingInterval,\n request: request,\n transport: { ...config, ...value },\n type,\n uid: (0,_utils_uid_js__WEBPACK_IMPORTED_MODULE_0__.uid)(),\n };\n}\n//# sourceMappingURL=createClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2NyZWF0ZUNsaWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDTyx3QkFBd0IsOEZBQThGO0FBQzdILFlBQVkseUJBQXlCLGNBQWMsd0JBQXdCO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixxQkFBcUI7QUFDMUM7QUFDQSxhQUFhLGtEQUFHO0FBQ2hCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2NyZWF0ZUNsaWVudC5qcz8xMTRlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVpZCB9IGZyb20gJy4uL3V0aWxzL3VpZC5qcyc7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgYmFzZSBjbGllbnQgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNwb3J0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2xpZW50KHsgY2hhaW4sIGtleSA9ICdiYXNlJywgbmFtZSA9ICdCYXNlIENsaWVudCcsIHBvbGxpbmdJbnRlcnZhbCA9IDQwMDAsIHRyYW5zcG9ydCwgdHlwZSA9ICdiYXNlJywgfSkge1xuICAgIGNvbnN0IHsgY29uZmlnLCByZXF1ZXN0LCB2YWx1ZSB9ID0gdHJhbnNwb3J0KHsgY2hhaW4sIHBvbGxpbmdJbnRlcnZhbCB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBjaGFpbjogY2hhaW4sXG4gICAgICAgIGtleSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgICAgICByZXF1ZXN0OiByZXF1ZXN0LFxuICAgICAgICB0cmFuc3BvcnQ6IHsgLi4uY29uZmlnLCAuLi52YWx1ZSB9LFxuICAgICAgICB0eXBlLFxuICAgICAgICB1aWQ6IHVpZCgpLFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVDbGllbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/createClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/createPublicClient.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/createPublicClient.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPublicClient: function() { return /* binding */ createPublicClient; }\n/* harmony export */ });\n/* harmony import */ var _createClient_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createClient.js */ \"./node_modules/viem/dist/esm/clients/createClient.js\");\n/* harmony import */ var _decorators_public_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decorators/public.js */ \"./node_modules/viem/dist/esm/clients/decorators/public.js\");\n\n\n/**\n * Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro.html) configured for a [Chain](https://viem.sh/docs/clients/chains.html).\n *\n * - Docs: https://viem.sh/docs/clients/public.html\n *\n * A Public Client is an interface to \"public\" [JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/) methods such as retrieving block numbers, transactions, reading from smart contracts, etc through [Public Actions](/docs/actions/public/introduction).\n *\n * @param config - {@link PublicClientConfig}\n * @returns A Public Client. {@link PublicClient}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n */\nfunction createPublicClient({ batch, chain, key = 'public', name = 'Public Client', transport, pollingInterval, }) {\n const client = {\n batch,\n ...(0,_createClient_js__WEBPACK_IMPORTED_MODULE_0__.createClient)({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'publicClient',\n }),\n };\n return {\n ...client,\n ...(0,_decorators_public_js__WEBPACK_IMPORTED_MODULE_1__.publicActions)(client),\n };\n}\n//# sourceMappingURL=createPublicClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2NyZWF0ZVB1YmxpY0NsaWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBaUQ7QUFDTTtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQiw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBLFlBQVksMkJBQTJCO0FBQ3ZDLFlBQVksVUFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLDhCQUE4QixtRkFBbUY7QUFDeEg7QUFDQTtBQUNBLFdBQVcsOERBQVk7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFdBQVcsb0VBQWE7QUFDeEI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2NsaWVudHMvY3JlYXRlUHVibGljQ2xpZW50LmpzPzE3MzAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2xpZW50IH0gZnJvbSAnLi9jcmVhdGVDbGllbnQuanMnO1xuaW1wb3J0IHsgcHVibGljQWN0aW9ucyB9IGZyb20gJy4vZGVjb3JhdG9ycy9wdWJsaWMuanMnO1xuLyoqXG4gKiBDcmVhdGVzIGEgUHVibGljIENsaWVudCB3aXRoIGEgZ2l2ZW4gW1RyYW5zcG9ydF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY2xpZW50cy9pbnRyby5odG1sKSBjb25maWd1cmVkIGZvciBhIFtDaGFpbl0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY2xpZW50cy9jaGFpbnMuaHRtbCkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL3B1YmxpYy5odG1sXG4gKlxuICogQSBQdWJsaWMgQ2xpZW50IGlzIGFuIGludGVyZmFjZSB0byBcInB1YmxpY1wiIFtKU09OLVJQQyBBUEldKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2RldmVsb3BlcnMvZG9jcy9hcGlzL2pzb24tcnBjLykgbWV0aG9kcyBzdWNoIGFzIHJldHJpZXZpbmcgYmxvY2sgbnVtYmVycywgdHJhbnNhY3Rpb25zLCByZWFkaW5nIGZyb20gc21hcnQgY29udHJhY3RzLCBldGMgdGhyb3VnaCBbUHVibGljIEFjdGlvbnNdKC9kb2NzL2FjdGlvbnMvcHVibGljL2ludHJvZHVjdGlvbikuXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIHtAbGluayBQdWJsaWNDbGllbnRDb25maWd9XG4gKiBAcmV0dXJucyBBIFB1YmxpYyBDbGllbnQuIHtAbGluayBQdWJsaWNDbGllbnR9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgaHR0cCB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlUHVibGljQ2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogaHR0cCgpLFxuICogfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVB1YmxpY0NsaWVudCh7IGJhdGNoLCBjaGFpbiwga2V5ID0gJ3B1YmxpYycsIG5hbWUgPSAnUHVibGljIENsaWVudCcsIHRyYW5zcG9ydCwgcG9sbGluZ0ludGVydmFsLCB9KSB7XG4gICAgY29uc3QgY2xpZW50ID0ge1xuICAgICAgICBiYXRjaCxcbiAgICAgICAgLi4uY3JlYXRlQ2xpZW50KHtcbiAgICAgICAgICAgIGNoYWluLFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgICAgIHRyYW5zcG9ydCxcbiAgICAgICAgICAgIHR5cGU6ICdwdWJsaWNDbGllbnQnLFxuICAgICAgICB9KSxcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNsaWVudCxcbiAgICAgICAgLi4ucHVibGljQWN0aW9ucyhjbGllbnQpLFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVQdWJsaWNDbGllbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/createPublicClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/createTestClient.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/createTestClient.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createTestClient: function() { return /* binding */ createTestClient; }\n/* harmony export */ });\n/* harmony import */ var _createClient_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createClient.js */ \"./node_modules/viem/dist/esm/clients/createClient.js\");\n/* harmony import */ var _decorators_test_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decorators/test.js */ \"./node_modules/viem/dist/esm/clients/decorators/test.js\");\n\n\n/**\n * @description Creates a test client with a given transport.\n */\n/**\n * Creates a Test Client with a given [Transport](https://viem.sh/docs/clients/intro.html) configured for a [Chain](https://viem.sh/docs/clients/chains.html).\n *\n * - Docs: https://viem.sh/docs/clients/test.html\n *\n * A Test Client is an interface to \"test\" JSON-RPC API methods accessible through a local Ethereum test node such as [Anvil](https://book.getfoundry.sh/anvil/) or [Hardhat](https://hardhat.org/) such as mining blocks, impersonating accounts, setting fees, etc through [Test Actions](https://viem.sh/docs/actions/test/introduction.html).\n *\n * @param config - {@link TestClientConfig}\n * @returns A Test Client. {@link TestClient}\n *\n * @example\n * import { createTestClient, custom } from 'viem'\n * import { foundry } from 'viem/chains'\n *\n * const client = createTestClient({\n * mode: 'anvil',\n * chain: foundry,\n * transport: http(),\n * })\n */\nfunction createTestClient({ chain, key = 'test', name = 'Test Client', mode, pollingInterval, transport, }) {\n const client = {\n ...(0,_createClient_js__WEBPACK_IMPORTED_MODULE_0__.createClient)({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'testClient',\n }),\n mode,\n };\n return {\n ...client,\n ...(0,_decorators_test_js__WEBPACK_IMPORTED_MODULE_1__.testActions)(client),\n };\n}\n//# sourceMappingURL=createTestClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2NyZWF0ZVRlc3RDbGllbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWlEO0FBQ0U7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQSxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNPLDRCQUE0Qiw4RUFBOEU7QUFDakg7QUFDQSxXQUFXLDhEQUFZO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZ0VBQVc7QUFDdEI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2NsaWVudHMvY3JlYXRlVGVzdENsaWVudC5qcz9iNDg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNsaWVudCB9IGZyb20gJy4vY3JlYXRlQ2xpZW50LmpzJztcbmltcG9ydCB7IHRlc3RBY3Rpb25zIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3Rlc3QuanMnO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIHRlc3QgY2xpZW50IHdpdGggYSBnaXZlbiB0cmFuc3BvcnQuXG4gKi9cbi8qKlxuICogQ3JlYXRlcyBhIFRlc3QgQ2xpZW50IHdpdGggYSBnaXZlbiBbVHJhbnNwb3J0XShodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL2ludHJvLmh0bWwpIGNvbmZpZ3VyZWQgZm9yIGEgW0NoYWluXShodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL2NoYWlucy5odG1sKS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2NsaWVudHMvdGVzdC5odG1sXG4gKlxuICogQSBUZXN0IENsaWVudCBpcyBhbiBpbnRlcmZhY2UgdG8gXCJ0ZXN0XCIgSlNPTi1SUEMgQVBJIG1ldGhvZHMgYWNjZXNzaWJsZSB0aHJvdWdoIGEgbG9jYWwgRXRoZXJldW0gdGVzdCBub2RlIHN1Y2ggYXMgW0FudmlsXShodHRwczovL2Jvb2suZ2V0Zm91bmRyeS5zaC9hbnZpbC8pIG9yIFtIYXJkaGF0XShodHRwczovL2hhcmRoYXQub3JnLykgc3VjaCBhcyBtaW5pbmcgYmxvY2tzLCBpbXBlcnNvbmF0aW5nIGFjY291bnRzLCBzZXR0aW5nIGZlZXMsIGV0YyB0aHJvdWdoIFtUZXN0IEFjdGlvbnNdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2FjdGlvbnMvdGVzdC9pbnRyb2R1Y3Rpb24uaHRtbCkuXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIHtAbGluayBUZXN0Q2xpZW50Q29uZmlnfVxuICogQHJldHVybnMgQSBUZXN0IENsaWVudC4ge0BsaW5rIFRlc3RDbGllbnR9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIGN1c3RvbSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBmb3VuZHJ5IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlVGVzdENsaWVudCh7XG4gKiAgIG1vZGU6ICdhbnZpbCcsXG4gKiAgIGNoYWluOiBmb3VuZHJ5LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXN0Q2xpZW50KHsgY2hhaW4sIGtleSA9ICd0ZXN0JywgbmFtZSA9ICdUZXN0IENsaWVudCcsIG1vZGUsIHBvbGxpbmdJbnRlcnZhbCwgdHJhbnNwb3J0LCB9KSB7XG4gICAgY29uc3QgY2xpZW50ID0ge1xuICAgICAgICAuLi5jcmVhdGVDbGllbnQoe1xuICAgICAgICAgICAgY2hhaW4sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgICAgICAgICAgdHJhbnNwb3J0LFxuICAgICAgICAgICAgdHlwZTogJ3Rlc3RDbGllbnQnLFxuICAgICAgICB9KSxcbiAgICAgICAgbW9kZSxcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNsaWVudCxcbiAgICAgICAgLi4udGVzdEFjdGlvbnMoY2xpZW50KSxcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlVGVzdENsaWVudC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/createTestClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/createWalletClient.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/createWalletClient.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createWalletClient: function() { return /* binding */ createWalletClient; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _createClient_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createClient.js */ \"./node_modules/viem/dist/esm/clients/createClient.js\");\n/* harmony import */ var _decorators_wallet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decorators/wallet.js */ \"./node_modules/viem/dist/esm/clients/decorators/wallet.js\");\n\n\n\n/**\n * Creates a Wallet Client with a given [Transport](https://viem.sh/docs/clients/intro.html) configured for a [Chain](https://viem.sh/docs/clients/chains.html).\n *\n * - Docs: https://viem.sh/docs/clients/wallet.html\n *\n * A Wallet Client is an interface to interact with [Ethereum Account(s)](https://ethereum.org/en/glossary/#account) and provides the ability to retrieve accounts, execute transactions, sign messages, etc. through [Wallet Actions](https://viem.sh/docs/actions/wallet/introduction.html).\n *\n * The Wallet Client supports signing over:\n * - [JSON-RPC Accounts](https://viem.sh/docs/clients/wallet.html#json-rpc-accounts) (e.g. Browser Extension Wallets, WalletConnect, etc).\n * - [Local Accounts](https://viem.sh/docs/clients/wallet.html#local-accounts-private-key-mnemonic-etc) (e.g. private key/mnemonic wallets).\n *\n * @param config - {@link WalletClientConfig}\n * @returns A Wallet Client. {@link WalletClient}\n *\n * @example\n * // JSON-RPC Account\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * @example\n * // Local Account\n * import { createWalletClient, custom } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…')\n * chain: mainnet,\n * transport: http(),\n * })\n */\nfunction createWalletClient({ account, chain, transport, key = 'wallet', name = 'Wallet Client', pollingInterval, }) {\n const client = {\n ...(0,_createClient_js__WEBPACK_IMPORTED_MODULE_0__.createClient)({\n chain,\n key,\n name,\n pollingInterval,\n transport: (opts) => transport({ ...opts, retryCount: 0 }),\n type: 'walletClient',\n }),\n account: account ? (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account) : undefined,\n };\n return {\n ...client,\n ...(0,_decorators_wallet_js__WEBPACK_IMPORTED_MODULE_2__.walletActions)(client),\n };\n}\n//# sourceMappingURL=createWalletClient.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2NyZWF0ZVdhbGxldENsaWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWlFO0FBQ2hCO0FBQ007QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQiw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsWUFBWSxVQUFVO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksc0JBQXNCO0FBQ2xDLFlBQVksVUFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ08sOEJBQThCLHFGQUFxRjtBQUMxSDtBQUNBLFdBQVcsOERBQVk7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsd0JBQXdCO0FBQ3JFO0FBQ0EsU0FBUztBQUNULDJCQUEyQiw2RUFBWTtBQUN2QztBQUNBO0FBQ0E7QUFDQSxXQUFXLG9FQUFhO0FBQ3hCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2NyZWF0ZVdhbGxldENsaWVudC5qcz80NjJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQWNjb3VudCB9IGZyb20gJy4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qcyc7XG5pbXBvcnQgeyBjcmVhdGVDbGllbnQgfSBmcm9tICcuL2NyZWF0ZUNsaWVudC5qcyc7XG5pbXBvcnQgeyB3YWxsZXRBY3Rpb25zIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3dhbGxldC5qcyc7XG4vKipcbiAqIENyZWF0ZXMgYSBXYWxsZXQgQ2xpZW50IHdpdGggYSBnaXZlbiBbVHJhbnNwb3J0XShodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL2ludHJvLmh0bWwpIGNvbmZpZ3VyZWQgZm9yIGEgW0NoYWluXShodHRwczovL3ZpZW0uc2gvZG9jcy9jbGllbnRzL2NoYWlucy5odG1sKS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL2NsaWVudHMvd2FsbGV0Lmh0bWxcbiAqXG4gKiBBIFdhbGxldCBDbGllbnQgaXMgYW4gaW50ZXJmYWNlIHRvIGludGVyYWN0IHdpdGggW0V0aGVyZXVtIEFjY291bnQocyldKGh0dHBzOi8vZXRoZXJldW0ub3JnL2VuL2dsb3NzYXJ5LyNhY2NvdW50KSBhbmQgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gcmV0cmlldmUgYWNjb3VudHMsIGV4ZWN1dGUgdHJhbnNhY3Rpb25zLCBzaWduIG1lc3NhZ2VzLCBldGMuIHRocm91Z2ggW1dhbGxldCBBY3Rpb25zXShodHRwczovL3ZpZW0uc2gvZG9jcy9hY3Rpb25zL3dhbGxldC9pbnRyb2R1Y3Rpb24uaHRtbCkuXG4gKlxuICogVGhlIFdhbGxldCBDbGllbnQgc3VwcG9ydHMgc2lnbmluZyBvdmVyOlxuICogLSBbSlNPTi1SUEMgQWNjb3VudHNdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2NsaWVudHMvd2FsbGV0Lmh0bWwjanNvbi1ycGMtYWNjb3VudHMpIChlLmcuIEJyb3dzZXIgRXh0ZW5zaW9uIFdhbGxldHMsIFdhbGxldENvbm5lY3QsIGV0YykuXG4gKiAtIFtMb2NhbCBBY2NvdW50c10oaHR0cHM6Ly92aWVtLnNoL2RvY3MvY2xpZW50cy93YWxsZXQuaHRtbCNsb2NhbC1hY2NvdW50cy1wcml2YXRlLWtleS1tbmVtb25pYy1ldGMpIChlLmcuIHByaXZhdGUga2V5L21uZW1vbmljIHdhbGxldHMpLlxuICpcbiAqIEBwYXJhbSBjb25maWcgLSB7QGxpbmsgV2FsbGV0Q2xpZW50Q29uZmlnfVxuICogQHJldHVybnMgQSBXYWxsZXQgQ2xpZW50LiB7QGxpbmsgV2FsbGV0Q2xpZW50fVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBKU09OLVJQQyBBY2NvdW50XG4gKiBpbXBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIGN1c3RvbSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBtYWlubmV0IH0gZnJvbSAndmllbS9jaGFpbnMnXG4gKlxuICogY29uc3QgY2xpZW50ID0gY3JlYXRlV2FsbGV0Q2xpZW50KHtcbiAqICAgY2hhaW46IG1haW5uZXQsXG4gKiAgIHRyYW5zcG9ydDogY3VzdG9tKHdpbmRvdy5ldGhlcmV1bSksXG4gKiB9KVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBMb2NhbCBBY2NvdW50XG4gKiBpbXBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIGN1c3RvbSB9IGZyb20gJ3ZpZW0nXG4gKiBpbXBvcnQgeyBwcml2YXRlS2V5VG9BY2NvdW50IH0gZnJvbSAndmllbS9hY2NvdW50cydcbiAqIGltcG9ydCB7IG1haW5uZXQgfSBmcm9tICd2aWVtL2NoYWlucydcbiAqXG4gKiBjb25zdCBjbGllbnQgPSBjcmVhdGVXYWxsZXRDbGllbnQoe1xuICogICBhY2NvdW50OiBwcml2YXRlS2V5VG9BY2NvdW50KCcweOKApicpXG4gKiAgIGNoYWluOiBtYWlubmV0LFxuICogICB0cmFuc3BvcnQ6IGh0dHAoKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXYWxsZXRDbGllbnQoeyBhY2NvdW50LCBjaGFpbiwgdHJhbnNwb3J0LCBrZXkgPSAnd2FsbGV0JywgbmFtZSA9ICdXYWxsZXQgQ2xpZW50JywgcG9sbGluZ0ludGVydmFsLCB9KSB7XG4gICAgY29uc3QgY2xpZW50ID0ge1xuICAgICAgICAuLi5jcmVhdGVDbGllbnQoe1xuICAgICAgICAgICAgY2hhaW4sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgcG9sbGluZ0ludGVydmFsLFxuICAgICAgICAgICAgdHJhbnNwb3J0OiAob3B0cykgPT4gdHJhbnNwb3J0KHsgLi4ub3B0cywgcmV0cnlDb3VudDogMCB9KSxcbiAgICAgICAgICAgIHR5cGU6ICd3YWxsZXRDbGllbnQnLFxuICAgICAgICB9KSxcbiAgICAgICAgYWNjb3VudDogYWNjb3VudCA/IHBhcnNlQWNjb3VudChhY2NvdW50KSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNsaWVudCxcbiAgICAgICAgLi4ud2FsbGV0QWN0aW9ucyhjbGllbnQpLFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVXYWxsZXRDbGllbnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/createWalletClient.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/decorators/public.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/decorators/public.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publicActions: function() { return /* binding */ publicActions; }\n/* harmony export */ });\n/* harmony import */ var _actions_ens_getEnsAddress_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../actions/ens/getEnsAddress.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsAddress.js\");\n/* harmony import */ var _actions_ens_getEnsAvatar_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../actions/ens/getEnsAvatar.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsAvatar.js\");\n/* harmony import */ var _actions_ens_getEnsName_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../actions/ens/getEnsName.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsName.js\");\n/* harmony import */ var _actions_ens_getEnsResolver_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../actions/ens/getEnsResolver.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsResolver.js\");\n/* harmony import */ var _actions_ens_getEnsText_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../actions/ens/getEnsText.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsText.js\");\n/* harmony import */ var _actions_public_call_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../actions/public/call.js */ \"./node_modules/viem/dist/esm/actions/public/call.js\");\n/* harmony import */ var _actions_public_createBlockFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../actions/public/createBlockFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createBlockFilter.js\");\n/* harmony import */ var _actions_public_createContractEventFilter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../actions/public/createContractEventFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createContractEventFilter.js\");\n/* harmony import */ var _actions_public_createEventFilter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../actions/public/createEventFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createEventFilter.js\");\n/* harmony import */ var _actions_public_createPendingTransactionFilter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/public/createPendingTransactionFilter.js */ \"./node_modules/viem/dist/esm/actions/public/createPendingTransactionFilter.js\");\n/* harmony import */ var _actions_public_estimateContractGas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../actions/public/estimateContractGas.js */ \"./node_modules/viem/dist/esm/actions/public/estimateContractGas.js\");\n/* harmony import */ var _actions_public_estimateGas_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../actions/public/estimateGas.js */ \"./node_modules/viem/dist/esm/actions/public/estimateGas.js\");\n/* harmony import */ var _actions_public_getBalance_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../actions/public/getBalance.js */ \"./node_modules/viem/dist/esm/actions/public/getBalance.js\");\n/* harmony import */ var _actions_public_getBlock_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../actions/public/getBlock.js */ \"./node_modules/viem/dist/esm/actions/public/getBlock.js\");\n/* harmony import */ var _actions_public_getBlockNumber_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../actions/public/getBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/getBlockNumber.js\");\n/* harmony import */ var _actions_public_getBlockTransactionCount_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../actions/public/getBlockTransactionCount.js */ \"./node_modules/viem/dist/esm/actions/public/getBlockTransactionCount.js\");\n/* harmony import */ var _actions_public_getBytecode_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../actions/public/getBytecode.js */ \"./node_modules/viem/dist/esm/actions/public/getBytecode.js\");\n/* harmony import */ var _actions_public_getChainId_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../actions/public/getChainId.js */ \"./node_modules/viem/dist/esm/actions/public/getChainId.js\");\n/* harmony import */ var _actions_public_getFeeHistory_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../actions/public/getFeeHistory.js */ \"./node_modules/viem/dist/esm/actions/public/getFeeHistory.js\");\n/* harmony import */ var _actions_public_getFilterChanges_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../actions/public/getFilterChanges.js */ \"./node_modules/viem/dist/esm/actions/public/getFilterChanges.js\");\n/* harmony import */ var _actions_public_getFilterLogs_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../actions/public/getFilterLogs.js */ \"./node_modules/viem/dist/esm/actions/public/getFilterLogs.js\");\n/* harmony import */ var _actions_public_getGasPrice_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../actions/public/getGasPrice.js */ \"./node_modules/viem/dist/esm/actions/public/getGasPrice.js\");\n/* harmony import */ var _actions_public_getLogs_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../actions/public/getLogs.js */ \"./node_modules/viem/dist/esm/actions/public/getLogs.js\");\n/* harmony import */ var _actions_public_getStorageAt_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../actions/public/getStorageAt.js */ \"./node_modules/viem/dist/esm/actions/public/getStorageAt.js\");\n/* harmony import */ var _actions_public_getTransaction_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../actions/public/getTransaction.js */ \"./node_modules/viem/dist/esm/actions/public/getTransaction.js\");\n/* harmony import */ var _actions_public_getTransactionConfirmations_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../actions/public/getTransactionConfirmations.js */ \"./node_modules/viem/dist/esm/actions/public/getTransactionConfirmations.js\");\n/* harmony import */ var _actions_public_getTransactionCount_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../actions/public/getTransactionCount.js */ \"./node_modules/viem/dist/esm/actions/public/getTransactionCount.js\");\n/* harmony import */ var _actions_public_getTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../actions/public/getTransactionReceipt.js */ \"./node_modules/viem/dist/esm/actions/public/getTransactionReceipt.js\");\n/* harmony import */ var _actions_public_multicall_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../actions/public/multicall.js */ \"./node_modules/viem/dist/esm/actions/public/multicall.js\");\n/* harmony import */ var _actions_public_readContract_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../actions/public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n/* harmony import */ var _actions_public_simulateContract_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../actions/public/simulateContract.js */ \"./node_modules/viem/dist/esm/actions/public/simulateContract.js\");\n/* harmony import */ var _actions_public_uninstallFilter_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../actions/public/uninstallFilter.js */ \"./node_modules/viem/dist/esm/actions/public/uninstallFilter.js\");\n/* harmony import */ var _actions_public_verifyMessage_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../actions/public/verifyMessage.js */ \"./node_modules/viem/dist/esm/actions/public/verifyMessage.js\");\n/* harmony import */ var _actions_public_verifyTypedData_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../actions/public/verifyTypedData.js */ \"./node_modules/viem/dist/esm/actions/public/verifyTypedData.js\");\n/* harmony import */ var _actions_public_waitForTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../actions/public/waitForTransactionReceipt.js */ \"./node_modules/viem/dist/esm/actions/public/waitForTransactionReceipt.js\");\n/* harmony import */ var _actions_public_watchBlockNumber_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../../actions/public/watchBlockNumber.js */ \"./node_modules/viem/dist/esm/actions/public/watchBlockNumber.js\");\n/* harmony import */ var _actions_public_watchBlocks_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../actions/public/watchBlocks.js */ \"./node_modules/viem/dist/esm/actions/public/watchBlocks.js\");\n/* harmony import */ var _actions_public_watchContractEvent_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../actions/public/watchContractEvent.js */ \"./node_modules/viem/dist/esm/actions/public/watchContractEvent.js\");\n/* harmony import */ var _actions_public_watchEvent_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../actions/public/watchEvent.js */ \"./node_modules/viem/dist/esm/actions/public/watchEvent.js\");\n/* harmony import */ var _actions_public_watchPendingTransactions_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../../actions/public/watchPendingTransactions.js */ \"./node_modules/viem/dist/esm/actions/public/watchPendingTransactions.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst publicActions = (client) => ({\n call: (args) => (0,_actions_public_call_js__WEBPACK_IMPORTED_MODULE_0__.call)(client, args),\n createBlockFilter: () => (0,_actions_public_createBlockFilter_js__WEBPACK_IMPORTED_MODULE_1__.createBlockFilter)(client),\n createContractEventFilter: (args) => (0,_actions_public_createContractEventFilter_js__WEBPACK_IMPORTED_MODULE_2__.createContractEventFilter)(client, args),\n createEventFilter: (args) => (0,_actions_public_createEventFilter_js__WEBPACK_IMPORTED_MODULE_3__.createEventFilter)(client, args),\n createPendingTransactionFilter: () => (0,_actions_public_createPendingTransactionFilter_js__WEBPACK_IMPORTED_MODULE_4__.createPendingTransactionFilter)(client),\n estimateContractGas: (args) => (0,_actions_public_estimateContractGas_js__WEBPACK_IMPORTED_MODULE_5__.estimateContractGas)(client, args),\n estimateGas: (args) => (0,_actions_public_estimateGas_js__WEBPACK_IMPORTED_MODULE_6__.estimateGas)(client, args),\n getBalance: (args) => (0,_actions_public_getBalance_js__WEBPACK_IMPORTED_MODULE_7__.getBalance)(client, args),\n getBlock: (args) => (0,_actions_public_getBlock_js__WEBPACK_IMPORTED_MODULE_8__.getBlock)(client, args),\n getBlockNumber: (args) => (0,_actions_public_getBlockNumber_js__WEBPACK_IMPORTED_MODULE_9__.getBlockNumber)(client, args),\n getBlockTransactionCount: (args) => (0,_actions_public_getBlockTransactionCount_js__WEBPACK_IMPORTED_MODULE_10__.getBlockTransactionCount)(client, args),\n getBytecode: (args) => (0,_actions_public_getBytecode_js__WEBPACK_IMPORTED_MODULE_11__.getBytecode)(client, args),\n getChainId: () => (0,_actions_public_getChainId_js__WEBPACK_IMPORTED_MODULE_12__.getChainId)(client),\n getEnsAddress: (args) => (0,_actions_ens_getEnsAddress_js__WEBPACK_IMPORTED_MODULE_13__.getEnsAddress)(client, args),\n getEnsAvatar: (args) => (0,_actions_ens_getEnsAvatar_js__WEBPACK_IMPORTED_MODULE_14__.getEnsAvatar)(client, args),\n getEnsName: (args) => (0,_actions_ens_getEnsName_js__WEBPACK_IMPORTED_MODULE_15__.getEnsName)(client, args),\n getEnsResolver: (args) => (0,_actions_ens_getEnsResolver_js__WEBPACK_IMPORTED_MODULE_16__.getEnsResolver)(client, args),\n getEnsText: (args) => (0,_actions_ens_getEnsText_js__WEBPACK_IMPORTED_MODULE_17__.getEnsText)(client, args),\n getFeeHistory: (args) => (0,_actions_public_getFeeHistory_js__WEBPACK_IMPORTED_MODULE_18__.getFeeHistory)(client, args),\n getFilterChanges: (args) => (0,_actions_public_getFilterChanges_js__WEBPACK_IMPORTED_MODULE_19__.getFilterChanges)(client, args),\n getFilterLogs: (args) => (0,_actions_public_getFilterLogs_js__WEBPACK_IMPORTED_MODULE_20__.getFilterLogs)(client, args),\n getGasPrice: () => (0,_actions_public_getGasPrice_js__WEBPACK_IMPORTED_MODULE_21__.getGasPrice)(client),\n getLogs: (args) => (0,_actions_public_getLogs_js__WEBPACK_IMPORTED_MODULE_22__.getLogs)(client, args),\n getStorageAt: (args) => (0,_actions_public_getStorageAt_js__WEBPACK_IMPORTED_MODULE_23__.getStorageAt)(client, args),\n getTransaction: (args) => (0,_actions_public_getTransaction_js__WEBPACK_IMPORTED_MODULE_24__.getTransaction)(client, args),\n getTransactionConfirmations: (args) => (0,_actions_public_getTransactionConfirmations_js__WEBPACK_IMPORTED_MODULE_25__.getTransactionConfirmations)(client, args),\n getTransactionCount: (args) => (0,_actions_public_getTransactionCount_js__WEBPACK_IMPORTED_MODULE_26__.getTransactionCount)(client, args),\n getTransactionReceipt: (args) => (0,_actions_public_getTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_27__.getTransactionReceipt)(client, args),\n multicall: (args) => (0,_actions_public_multicall_js__WEBPACK_IMPORTED_MODULE_28__.multicall)(client, args),\n readContract: (args) => (0,_actions_public_readContract_js__WEBPACK_IMPORTED_MODULE_29__.readContract)(client, args),\n simulateContract: (args) => (0,_actions_public_simulateContract_js__WEBPACK_IMPORTED_MODULE_30__.simulateContract)(client, args),\n verifyMessage: (args) => (0,_actions_public_verifyMessage_js__WEBPACK_IMPORTED_MODULE_31__.verifyMessage)(client, args),\n verifyTypedData: (args) => (0,_actions_public_verifyTypedData_js__WEBPACK_IMPORTED_MODULE_32__.verifyTypedData)(client, args),\n uninstallFilter: (args) => (0,_actions_public_uninstallFilter_js__WEBPACK_IMPORTED_MODULE_33__.uninstallFilter)(client, args),\n waitForTransactionReceipt: (args) => (0,_actions_public_waitForTransactionReceipt_js__WEBPACK_IMPORTED_MODULE_34__.waitForTransactionReceipt)(client, args),\n watchBlocks: (args) => (0,_actions_public_watchBlocks_js__WEBPACK_IMPORTED_MODULE_35__.watchBlocks)(client, args),\n watchBlockNumber: (args) => (0,_actions_public_watchBlockNumber_js__WEBPACK_IMPORTED_MODULE_36__.watchBlockNumber)(client, args),\n watchContractEvent: (args) => (0,_actions_public_watchContractEvent_js__WEBPACK_IMPORTED_MODULE_37__.watchContractEvent)(client, args),\n watchEvent: (args) => (0,_actions_public_watchEvent_js__WEBPACK_IMPORTED_MODULE_38__.watchEvent)(client, args),\n watchPendingTransactions: (args) => (0,_actions_public_watchPendingTransactions_js__WEBPACK_IMPORTED_MODULE_39__.watchPendingTransactions)(client, args),\n});\n//# sourceMappingURL=public.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2RlY29yYXRvcnMvcHVibGljLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW9FO0FBQ0Y7QUFDSjtBQUNRO0FBQ1I7QUFDVDtBQUMwQjtBQUNnQjtBQUNoQjtBQUMwQjtBQUN0QjtBQUNoQjtBQUNGO0FBQ0o7QUFDWTtBQUNvQjtBQUMxQjtBQUNGO0FBQ007QUFDTTtBQUNOO0FBQ0o7QUFDUjtBQUNVO0FBQ0k7QUFDMEI7QUFDaEI7QUFDSTtBQUN4QjtBQUNNO0FBQ1E7QUFDRjtBQUNKO0FBQ0k7QUFDb0I7QUFDbEI7QUFDVjtBQUNjO0FBQ2hCO0FBQzRCO0FBQ3RGO0FBQ1Asb0JBQW9CLDZEQUFJO0FBQ3hCLDZCQUE2Qix1RkFBaUI7QUFDOUMseUNBQXlDLHVHQUF5QjtBQUNsRSxpQ0FBaUMsdUZBQWlCO0FBQ2xELDBDQUEwQyxpSEFBOEI7QUFDeEUsbUNBQW1DLDJGQUFtQjtBQUN0RCwyQkFBMkIsMkVBQVc7QUFDdEMsMEJBQTBCLHlFQUFVO0FBQ3BDLHdCQUF3QixxRUFBUTtBQUNoQyw4QkFBOEIsaUZBQWM7QUFDNUMsd0NBQXdDLHNHQUF3QjtBQUNoRSwyQkFBMkIsNEVBQVc7QUFDdEMsc0JBQXNCLDBFQUFVO0FBQ2hDLDZCQUE2Qiw2RUFBYTtBQUMxQyw0QkFBNEIsMkVBQVk7QUFDeEMsMEJBQTBCLHVFQUFVO0FBQ3BDLDhCQUE4QiwrRUFBYztBQUM1QywwQkFBMEIsdUVBQVU7QUFDcEMsNkJBQTZCLGdGQUFhO0FBQzFDLGdDQUFnQyxzRkFBZ0I7QUFDaEQsNkJBQTZCLGdGQUFhO0FBQzFDLHVCQUF1Qiw0RUFBVztBQUNsQyx1QkFBdUIsb0VBQU87QUFDOUIsNEJBQTRCLDhFQUFZO0FBQ3hDLDhCQUE4QixrRkFBYztBQUM1QywyQ0FBMkMsNEdBQTJCO0FBQ3RFLG1DQUFtQyw0RkFBbUI7QUFDdEQscUNBQXFDLGdHQUFxQjtBQUMxRCx5QkFBeUIsd0VBQVM7QUFDbEMsNEJBQTRCLDhFQUFZO0FBQ3hDLGdDQUFnQyxzRkFBZ0I7QUFDaEQsNkJBQTZCLGdGQUFhO0FBQzFDLCtCQUErQixvRkFBZTtBQUM5QywrQkFBK0Isb0ZBQWU7QUFDOUMseUNBQXlDLHdHQUF5QjtBQUNsRSwyQkFBMkIsNEVBQVc7QUFDdEMsZ0NBQWdDLHNGQUFnQjtBQUNoRCxrQ0FBa0MsMEZBQWtCO0FBQ3BELDBCQUEwQiwwRUFBVTtBQUNwQyx3Q0FBd0Msc0dBQXdCO0FBQ2hFLENBQUM7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2RlY29yYXRvcnMvcHVibGljLmpzPzRjYjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RW5zQWRkcmVzcywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2Vucy9nZXRFbnNBZGRyZXNzLmpzJztcbmltcG9ydCB7IGdldEVuc0F2YXRhciwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2Vucy9nZXRFbnNBdmF0YXIuanMnO1xuaW1wb3J0IHsgZ2V0RW5zTmFtZSwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2Vucy9nZXRFbnNOYW1lLmpzJztcbmltcG9ydCB7IGdldEVuc1Jlc29sdmVyLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvZW5zL2dldEVuc1Jlc29sdmVyLmpzJztcbmltcG9ydCB7IGdldEVuc1RleHQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9lbnMvZ2V0RW5zVGV4dC5qcyc7XG5pbXBvcnQgeyBjYWxsLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2NhbGwuanMnO1xuaW1wb3J0IHsgY3JlYXRlQmxvY2tGaWx0ZXIsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvY3JlYXRlQmxvY2tGaWx0ZXIuanMnO1xuaW1wb3J0IHsgY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlciwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9jcmVhdGVDb250cmFjdEV2ZW50RmlsdGVyLmpzJztcbmltcG9ydCB7IGNyZWF0ZUV2ZW50RmlsdGVyLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2NyZWF0ZUV2ZW50RmlsdGVyLmpzJztcbmltcG9ydCB7IGNyZWF0ZVBlbmRpbmdUcmFuc2FjdGlvbkZpbHRlciwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9jcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIuanMnO1xuaW1wb3J0IHsgZXN0aW1hdGVDb250cmFjdEdhcywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9lc3RpbWF0ZUNvbnRyYWN0R2FzLmpzJztcbmltcG9ydCB7IGVzdGltYXRlR2FzLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2VzdGltYXRlR2FzLmpzJztcbmltcG9ydCB7IGdldEJhbGFuY2UsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0QmFsYW5jZS5qcyc7XG5pbXBvcnQgeyBnZXRCbG9jaywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRCbG9jay5qcyc7XG5pbXBvcnQgeyBnZXRCbG9ja051bWJlciwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRCbG9ja051bWJlci5qcyc7XG5pbXBvcnQgeyBnZXRCbG9ja1RyYW5zYWN0aW9uQ291bnQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50LmpzJztcbmltcG9ydCB7IGdldEJ5dGVjb2RlLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2dldEJ5dGVjb2RlLmpzJztcbmltcG9ydCB7IGdldENoYWluSWQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0Q2hhaW5JZC5qcyc7XG5pbXBvcnQgeyBnZXRGZWVIaXN0b3J5LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2dldEZlZUhpc3RvcnkuanMnO1xuaW1wb3J0IHsgZ2V0RmlsdGVyQ2hhbmdlcywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRGaWx0ZXJDaGFuZ2VzLmpzJztcbmltcG9ydCB7IGdldEZpbHRlckxvZ3MsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0RmlsdGVyTG9ncy5qcyc7XG5pbXBvcnQgeyBnZXRHYXNQcmljZSwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRHYXNQcmljZS5qcyc7XG5pbXBvcnQgeyBnZXRMb2dzLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2dldExvZ3MuanMnO1xuaW1wb3J0IHsgZ2V0U3RvcmFnZUF0LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2dldFN0b3JhZ2VBdC5qcyc7XG5pbXBvcnQgeyBnZXRUcmFuc2FjdGlvbiwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRUcmFuc2FjdGlvbi5qcyc7XG5pbXBvcnQgeyBnZXRUcmFuc2FjdGlvbkNvbmZpcm1hdGlvbnMsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zLmpzJztcbmltcG9ydCB7IGdldFRyYW5zYWN0aW9uQ291bnQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db3VudC5qcyc7XG5pbXBvcnQgeyBnZXRUcmFuc2FjdGlvblJlY2VpcHQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25SZWNlaXB0LmpzJztcbmltcG9ydCB7IG11bHRpY2FsbCwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9tdWx0aWNhbGwuanMnO1xuaW1wb3J0IHsgcmVhZENvbnRyYWN0LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3JlYWRDb250cmFjdC5qcyc7XG5pbXBvcnQgeyBzaW11bGF0ZUNvbnRyYWN0LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3NpbXVsYXRlQ29udHJhY3QuanMnO1xuaW1wb3J0IHsgdW5pbnN0YWxsRmlsdGVyLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3VuaW5zdGFsbEZpbHRlci5qcyc7XG5pbXBvcnQgeyB2ZXJpZnlNZXNzYWdlLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3ZlcmlmeU1lc3NhZ2UuanMnO1xuaW1wb3J0IHsgdmVyaWZ5VHlwZWREYXRhLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3ZlcmlmeVR5cGVkRGF0YS5qcyc7XG5pbXBvcnQgeyB3YWl0Rm9yVHJhbnNhY3Rpb25SZWNlaXB0LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3dhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQuanMnO1xuaW1wb3J0IHsgd2F0Y2hCbG9ja051bWJlciwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy93YXRjaEJsb2NrTnVtYmVyLmpzJztcbmltcG9ydCB7IHdhdGNoQmxvY2tzLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL3dhdGNoQmxvY2tzLmpzJztcbmltcG9ydCB7IHdhdGNoQ29udHJhY3RFdmVudCwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy93YXRjaENvbnRyYWN0RXZlbnQuanMnO1xuaW1wb3J0IHsgd2F0Y2hFdmVudCwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy93YXRjaEV2ZW50LmpzJztcbmltcG9ydCB7IHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy93YXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMuanMnO1xuZXhwb3J0IGNvbnN0IHB1YmxpY0FjdGlvbnMgPSAoY2xpZW50KSA9PiAoe1xuICAgIGNhbGw6IChhcmdzKSA9PiBjYWxsKGNsaWVudCwgYXJncyksXG4gICAgY3JlYXRlQmxvY2tGaWx0ZXI6ICgpID0+IGNyZWF0ZUJsb2NrRmlsdGVyKGNsaWVudCksXG4gICAgY3JlYXRlQ29udHJhY3RFdmVudEZpbHRlcjogKGFyZ3MpID0+IGNyZWF0ZUNvbnRyYWN0RXZlbnRGaWx0ZXIoY2xpZW50LCBhcmdzKSxcbiAgICBjcmVhdGVFdmVudEZpbHRlcjogKGFyZ3MpID0+IGNyZWF0ZUV2ZW50RmlsdGVyKGNsaWVudCwgYXJncyksXG4gICAgY3JlYXRlUGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyOiAoKSA9PiBjcmVhdGVQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIoY2xpZW50KSxcbiAgICBlc3RpbWF0ZUNvbnRyYWN0R2FzOiAoYXJncykgPT4gZXN0aW1hdGVDb250cmFjdEdhcyhjbGllbnQsIGFyZ3MpLFxuICAgIGVzdGltYXRlR2FzOiAoYXJncykgPT4gZXN0aW1hdGVHYXMoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRCYWxhbmNlOiAoYXJncykgPT4gZ2V0QmFsYW5jZShjbGllbnQsIGFyZ3MpLFxuICAgIGdldEJsb2NrOiAoYXJncykgPT4gZ2V0QmxvY2soY2xpZW50LCBhcmdzKSxcbiAgICBnZXRCbG9ja051bWJlcjogKGFyZ3MpID0+IGdldEJsb2NrTnVtYmVyKGNsaWVudCwgYXJncyksXG4gICAgZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50OiAoYXJncykgPT4gZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50KGNsaWVudCwgYXJncyksXG4gICAgZ2V0Qnl0ZWNvZGU6IChhcmdzKSA9PiBnZXRCeXRlY29kZShjbGllbnQsIGFyZ3MpLFxuICAgIGdldENoYWluSWQ6ICgpID0+IGdldENoYWluSWQoY2xpZW50KSxcbiAgICBnZXRFbnNBZGRyZXNzOiAoYXJncykgPT4gZ2V0RW5zQWRkcmVzcyhjbGllbnQsIGFyZ3MpLFxuICAgIGdldEVuc0F2YXRhcjogKGFyZ3MpID0+IGdldEVuc0F2YXRhcihjbGllbnQsIGFyZ3MpLFxuICAgIGdldEVuc05hbWU6IChhcmdzKSA9PiBnZXRFbnNOYW1lKGNsaWVudCwgYXJncyksXG4gICAgZ2V0RW5zUmVzb2x2ZXI6IChhcmdzKSA9PiBnZXRFbnNSZXNvbHZlcihjbGllbnQsIGFyZ3MpLFxuICAgIGdldEVuc1RleHQ6IChhcmdzKSA9PiBnZXRFbnNUZXh0KGNsaWVudCwgYXJncyksXG4gICAgZ2V0RmVlSGlzdG9yeTogKGFyZ3MpID0+IGdldEZlZUhpc3RvcnkoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRGaWx0ZXJDaGFuZ2VzOiAoYXJncykgPT4gZ2V0RmlsdGVyQ2hhbmdlcyhjbGllbnQsIGFyZ3MpLFxuICAgIGdldEZpbHRlckxvZ3M6IChhcmdzKSA9PiBnZXRGaWx0ZXJMb2dzKGNsaWVudCwgYXJncyksXG4gICAgZ2V0R2FzUHJpY2U6ICgpID0+IGdldEdhc1ByaWNlKGNsaWVudCksXG4gICAgZ2V0TG9nczogKGFyZ3MpID0+IGdldExvZ3MoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRTdG9yYWdlQXQ6IChhcmdzKSA9PiBnZXRTdG9yYWdlQXQoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRUcmFuc2FjdGlvbjogKGFyZ3MpID0+IGdldFRyYW5zYWN0aW9uKGNsaWVudCwgYXJncyksXG4gICAgZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zOiAoYXJncykgPT4gZ2V0VHJhbnNhY3Rpb25Db25maXJtYXRpb25zKGNsaWVudCwgYXJncyksXG4gICAgZ2V0VHJhbnNhY3Rpb25Db3VudDogKGFyZ3MpID0+IGdldFRyYW5zYWN0aW9uQ291bnQoY2xpZW50LCBhcmdzKSxcbiAgICBnZXRUcmFuc2FjdGlvblJlY2VpcHQ6IChhcmdzKSA9PiBnZXRUcmFuc2FjdGlvblJlY2VpcHQoY2xpZW50LCBhcmdzKSxcbiAgICBtdWx0aWNhbGw6IChhcmdzKSA9PiBtdWx0aWNhbGwoY2xpZW50LCBhcmdzKSxcbiAgICByZWFkQ29udHJhY3Q6IChhcmdzKSA9PiByZWFkQ29udHJhY3QoY2xpZW50LCBhcmdzKSxcbiAgICBzaW11bGF0ZUNvbnRyYWN0OiAoYXJncykgPT4gc2ltdWxhdGVDb250cmFjdChjbGllbnQsIGFyZ3MpLFxuICAgIHZlcmlmeU1lc3NhZ2U6IChhcmdzKSA9PiB2ZXJpZnlNZXNzYWdlKGNsaWVudCwgYXJncyksXG4gICAgdmVyaWZ5VHlwZWREYXRhOiAoYXJncykgPT4gdmVyaWZ5VHlwZWREYXRhKGNsaWVudCwgYXJncyksXG4gICAgdW5pbnN0YWxsRmlsdGVyOiAoYXJncykgPT4gdW5pbnN0YWxsRmlsdGVyKGNsaWVudCwgYXJncyksXG4gICAgd2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdDogKGFyZ3MpID0+IHdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHQoY2xpZW50LCBhcmdzKSxcbiAgICB3YXRjaEJsb2NrczogKGFyZ3MpID0+IHdhdGNoQmxvY2tzKGNsaWVudCwgYXJncyksXG4gICAgd2F0Y2hCbG9ja051bWJlcjogKGFyZ3MpID0+IHdhdGNoQmxvY2tOdW1iZXIoY2xpZW50LCBhcmdzKSxcbiAgICB3YXRjaENvbnRyYWN0RXZlbnQ6IChhcmdzKSA9PiB3YXRjaENvbnRyYWN0RXZlbnQoY2xpZW50LCBhcmdzKSxcbiAgICB3YXRjaEV2ZW50OiAoYXJncykgPT4gd2F0Y2hFdmVudChjbGllbnQsIGFyZ3MpLFxuICAgIHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9uczogKGFyZ3MpID0+IHdhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucyhjbGllbnQsIGFyZ3MpLFxufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdWJsaWMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/decorators/public.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/decorators/test.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/decorators/test.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ testActions: function() { return /* binding */ testActions; }\n/* harmony export */ });\n/* harmony import */ var _actions_test_dropTransaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../actions/test/dropTransaction.js */ \"./node_modules/viem/dist/esm/actions/test/dropTransaction.js\");\n/* harmony import */ var _actions_test_getAutomine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../actions/test/getAutomine.js */ \"./node_modules/viem/dist/esm/actions/test/getAutomine.js\");\n/* harmony import */ var _actions_test_getTxpoolContent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../actions/test/getTxpoolContent.js */ \"./node_modules/viem/dist/esm/actions/test/getTxpoolContent.js\");\n/* harmony import */ var _actions_test_getTxpoolStatus_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../actions/test/getTxpoolStatus.js */ \"./node_modules/viem/dist/esm/actions/test/getTxpoolStatus.js\");\n/* harmony import */ var _actions_test_impersonateAccount_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/test/impersonateAccount.js */ \"./node_modules/viem/dist/esm/actions/test/impersonateAccount.js\");\n/* harmony import */ var _actions_test_increaseTime_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../actions/test/increaseTime.js */ \"./node_modules/viem/dist/esm/actions/test/increaseTime.js\");\n/* harmony import */ var _actions_test_inspectTxpool_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../actions/test/inspectTxpool.js */ \"./node_modules/viem/dist/esm/actions/test/inspectTxpool.js\");\n/* harmony import */ var _actions_test_mine_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../actions/test/mine.js */ \"./node_modules/viem/dist/esm/actions/test/mine.js\");\n/* harmony import */ var _actions_test_removeBlockTimestampInterval_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../actions/test/removeBlockTimestampInterval.js */ \"./node_modules/viem/dist/esm/actions/test/removeBlockTimestampInterval.js\");\n/* harmony import */ var _actions_test_reset_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../actions/test/reset.js */ \"./node_modules/viem/dist/esm/actions/test/reset.js\");\n/* harmony import */ var _actions_test_revert_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../actions/test/revert.js */ \"./node_modules/viem/dist/esm/actions/test/revert.js\");\n/* harmony import */ var _actions_test_sendUnsignedTransaction_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../actions/test/sendUnsignedTransaction.js */ \"./node_modules/viem/dist/esm/actions/test/sendUnsignedTransaction.js\");\n/* harmony import */ var _actions_test_setAutomine_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../actions/test/setAutomine.js */ \"./node_modules/viem/dist/esm/actions/test/setAutomine.js\");\n/* harmony import */ var _actions_test_setBalance_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../actions/test/setBalance.js */ \"./node_modules/viem/dist/esm/actions/test/setBalance.js\");\n/* harmony import */ var _actions_test_setBlockGasLimit_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../actions/test/setBlockGasLimit.js */ \"./node_modules/viem/dist/esm/actions/test/setBlockGasLimit.js\");\n/* harmony import */ var _actions_test_setBlockTimestampInterval_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../actions/test/setBlockTimestampInterval.js */ \"./node_modules/viem/dist/esm/actions/test/setBlockTimestampInterval.js\");\n/* harmony import */ var _actions_test_setCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../actions/test/setCode.js */ \"./node_modules/viem/dist/esm/actions/test/setCode.js\");\n/* harmony import */ var _actions_test_setCoinbase_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../actions/test/setCoinbase.js */ \"./node_modules/viem/dist/esm/actions/test/setCoinbase.js\");\n/* harmony import */ var _actions_test_setIntervalMining_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../actions/test/setIntervalMining.js */ \"./node_modules/viem/dist/esm/actions/test/setIntervalMining.js\");\n/* harmony import */ var _actions_test_setLoggingEnabled_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../actions/test/setLoggingEnabled.js */ \"./node_modules/viem/dist/esm/actions/test/setLoggingEnabled.js\");\n/* harmony import */ var _actions_test_setMinGasPrice_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../actions/test/setMinGasPrice.js */ \"./node_modules/viem/dist/esm/actions/test/setMinGasPrice.js\");\n/* harmony import */ var _actions_test_setNextBlockBaseFeePerGas_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../actions/test/setNextBlockBaseFeePerGas.js */ \"./node_modules/viem/dist/esm/actions/test/setNextBlockBaseFeePerGas.js\");\n/* harmony import */ var _actions_test_setNextBlockTimestamp_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../actions/test/setNextBlockTimestamp.js */ \"./node_modules/viem/dist/esm/actions/test/setNextBlockTimestamp.js\");\n/* harmony import */ var _actions_test_setNonce_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../actions/test/setNonce.js */ \"./node_modules/viem/dist/esm/actions/test/setNonce.js\");\n/* harmony import */ var _actions_test_setRpcUrl_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../actions/test/setRpcUrl.js */ \"./node_modules/viem/dist/esm/actions/test/setRpcUrl.js\");\n/* harmony import */ var _actions_test_setStorageAt_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../actions/test/setStorageAt.js */ \"./node_modules/viem/dist/esm/actions/test/setStorageAt.js\");\n/* harmony import */ var _actions_test_snapshot_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../actions/test/snapshot.js */ \"./node_modules/viem/dist/esm/actions/test/snapshot.js\");\n/* harmony import */ var _actions_test_stopImpersonatingAccount_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../actions/test/stopImpersonatingAccount.js */ \"./node_modules/viem/dist/esm/actions/test/stopImpersonatingAccount.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction testActions(client) {\n return {\n dropTransaction: (args) => (0,_actions_test_dropTransaction_js__WEBPACK_IMPORTED_MODULE_0__.dropTransaction)(client, args),\n getAutomine: () => (0,_actions_test_getAutomine_js__WEBPACK_IMPORTED_MODULE_1__.getAutomine)(client),\n getTxpoolContent: () => (0,_actions_test_getTxpoolContent_js__WEBPACK_IMPORTED_MODULE_2__.getTxpoolContent)(client),\n getTxpoolStatus: () => (0,_actions_test_getTxpoolStatus_js__WEBPACK_IMPORTED_MODULE_3__.getTxpoolStatus)(client),\n impersonateAccount: (args) => (0,_actions_test_impersonateAccount_js__WEBPACK_IMPORTED_MODULE_4__.impersonateAccount)(client, args),\n increaseTime: (args) => (0,_actions_test_increaseTime_js__WEBPACK_IMPORTED_MODULE_5__.increaseTime)(client, args),\n inspectTxpool: () => (0,_actions_test_inspectTxpool_js__WEBPACK_IMPORTED_MODULE_6__.inspectTxpool)(client),\n mine: (args) => (0,_actions_test_mine_js__WEBPACK_IMPORTED_MODULE_7__.mine)(client, args),\n removeBlockTimestampInterval: () => (0,_actions_test_removeBlockTimestampInterval_js__WEBPACK_IMPORTED_MODULE_8__.removeBlockTimestampInterval)(client),\n reset: (args) => (0,_actions_test_reset_js__WEBPACK_IMPORTED_MODULE_9__.reset)(client, args),\n revert: (args) => (0,_actions_test_revert_js__WEBPACK_IMPORTED_MODULE_10__.revert)(client, args),\n sendUnsignedTransaction: (args) => (0,_actions_test_sendUnsignedTransaction_js__WEBPACK_IMPORTED_MODULE_11__.sendUnsignedTransaction)(client, args),\n setAutomine: (args) => (0,_actions_test_setAutomine_js__WEBPACK_IMPORTED_MODULE_12__.setAutomine)(client, args),\n setBalance: (args) => (0,_actions_test_setBalance_js__WEBPACK_IMPORTED_MODULE_13__.setBalance)(client, args),\n setBlockGasLimit: (args) => (0,_actions_test_setBlockGasLimit_js__WEBPACK_IMPORTED_MODULE_14__.setBlockGasLimit)(client, args),\n setBlockTimestampInterval: (args) => (0,_actions_test_setBlockTimestampInterval_js__WEBPACK_IMPORTED_MODULE_15__.setBlockTimestampInterval)(client, args),\n setCode: (args) => (0,_actions_test_setCode_js__WEBPACK_IMPORTED_MODULE_16__.setCode)(client, args),\n setCoinbase: (args) => (0,_actions_test_setCoinbase_js__WEBPACK_IMPORTED_MODULE_17__.setCoinbase)(client, args),\n setIntervalMining: (args) => (0,_actions_test_setIntervalMining_js__WEBPACK_IMPORTED_MODULE_18__.setIntervalMining)(client, args),\n setLoggingEnabled: (args) => (0,_actions_test_setLoggingEnabled_js__WEBPACK_IMPORTED_MODULE_19__.setLoggingEnabled)(client, args),\n setMinGasPrice: (args) => (0,_actions_test_setMinGasPrice_js__WEBPACK_IMPORTED_MODULE_20__.setMinGasPrice)(client, args),\n setNextBlockBaseFeePerGas: (args) => (0,_actions_test_setNextBlockBaseFeePerGas_js__WEBPACK_IMPORTED_MODULE_21__.setNextBlockBaseFeePerGas)(client, args),\n setNextBlockTimestamp: (args) => (0,_actions_test_setNextBlockTimestamp_js__WEBPACK_IMPORTED_MODULE_22__.setNextBlockTimestamp)(client, args),\n setNonce: (args) => (0,_actions_test_setNonce_js__WEBPACK_IMPORTED_MODULE_23__.setNonce)(client, args),\n setRpcUrl: (args) => (0,_actions_test_setRpcUrl_js__WEBPACK_IMPORTED_MODULE_24__.setRpcUrl)(client, args),\n setStorageAt: (args) => (0,_actions_test_setStorageAt_js__WEBPACK_IMPORTED_MODULE_25__.setStorageAt)(client, args),\n snapshot: () => (0,_actions_test_snapshot_js__WEBPACK_IMPORTED_MODULE_26__.snapshot)(client),\n stopImpersonatingAccount: (args) => (0,_actions_test_stopImpersonatingAccount_js__WEBPACK_IMPORTED_MODULE_27__.stopImpersonatingAccount)(client, args),\n };\n}\n//# sourceMappingURL=test.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2RlY29yYXRvcnMvdGVzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5RTtBQUNSO0FBQ1U7QUFDRjtBQUNNO0FBQ1o7QUFDRTtBQUNuQjtBQUNnRDtBQUM5QztBQUNFO0FBQ21DO0FBQ3pCO0FBQ0Q7QUFDWTtBQUNrQjtBQUNyQztBQUNTO0FBQ1k7QUFDRDtBQUNMO0FBQ3NCO0FBQ1I7QUFDMUI7QUFDQztBQUNPO0FBQ1Q7QUFDaUM7QUFDcEY7QUFDUDtBQUNBLG1DQUFtQyxpRkFBZTtBQUNsRCwyQkFBMkIseUVBQVc7QUFDdEMsZ0NBQWdDLG1GQUFnQjtBQUNoRCwrQkFBK0IsaUZBQWU7QUFDOUMsc0NBQXNDLHVGQUFrQjtBQUN4RCxnQ0FBZ0MsMkVBQVk7QUFDNUMsNkJBQTZCLDZFQUFhO0FBQzFDLHdCQUF3QiwyREFBSTtBQUM1Qiw0Q0FBNEMsMkdBQTRCO0FBQ3hFLHlCQUF5Qiw2REFBSztBQUM5QiwwQkFBMEIsZ0VBQU07QUFDaEMsMkNBQTJDLGtHQUF1QjtBQUNsRSwrQkFBK0IsMEVBQVc7QUFDMUMsOEJBQThCLHdFQUFVO0FBQ3hDLG9DQUFvQyxvRkFBZ0I7QUFDcEQsNkNBQTZDLHNHQUF5QjtBQUN0RSwyQkFBMkIsa0VBQU87QUFDbEMsK0JBQStCLDBFQUFXO0FBQzFDLHFDQUFxQyxzRkFBaUI7QUFDdEQscUNBQXFDLHNGQUFpQjtBQUN0RCxrQ0FBa0MsZ0ZBQWM7QUFDaEQsNkNBQTZDLHNHQUF5QjtBQUN0RSx5Q0FBeUMsOEZBQXFCO0FBQzlELDRCQUE0QixvRUFBUTtBQUNwQyw2QkFBNkIsc0VBQVM7QUFDdEMsZ0NBQWdDLDRFQUFZO0FBQzVDLHdCQUF3QixvRUFBUTtBQUNoQyw0Q0FBNEMsb0dBQXdCO0FBQ3BFO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2RlY29yYXRvcnMvdGVzdC5qcz8zNWFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRyb3BUcmFuc2FjdGlvbiwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3QvZHJvcFRyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IGdldEF1dG9taW5lLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9nZXRBdXRvbWluZS5qcyc7XG5pbXBvcnQgeyBnZXRUeHBvb2xDb250ZW50LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9nZXRUeHBvb2xDb250ZW50LmpzJztcbmltcG9ydCB7IGdldFR4cG9vbFN0YXR1cywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3QvZ2V0VHhwb29sU3RhdHVzLmpzJztcbmltcG9ydCB7IGltcGVyc29uYXRlQWNjb3VudCwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3QvaW1wZXJzb25hdGVBY2NvdW50LmpzJztcbmltcG9ydCB7IGluY3JlYXNlVGltZSwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3QvaW5jcmVhc2VUaW1lLmpzJztcbmltcG9ydCB7IGluc3BlY3RUeHBvb2wsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L2luc3BlY3RUeHBvb2wuanMnO1xuaW1wb3J0IHsgbWluZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9taW5lLmpzJztcbmltcG9ydCB7IHJlbW92ZUJsb2NrVGltZXN0YW1wSW50ZXJ2YWwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3QvcmVtb3ZlQmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcyc7XG5pbXBvcnQgeyByZXNldCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9yZXNldC5qcyc7XG5pbXBvcnQgeyByZXZlcnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3QvcmV2ZXJ0LmpzJztcbmltcG9ydCB7IHNlbmRVbnNpZ25lZFRyYW5zYWN0aW9uLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9zZW5kVW5zaWduZWRUcmFuc2FjdGlvbi5qcyc7XG5pbXBvcnQgeyBzZXRBdXRvbWluZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9zZXRBdXRvbWluZS5qcyc7XG5pbXBvcnQgeyBzZXRCYWxhbmNlLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9zZXRCYWxhbmNlLmpzJztcbmltcG9ydCB7IHNldEJsb2NrR2FzTGltaXQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3NldEJsb2NrR2FzTGltaXQuanMnO1xuaW1wb3J0IHsgc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbCwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbC5qcyc7XG5pbXBvcnQgeyBzZXRDb2RlIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3NldENvZGUuanMnO1xuaW1wb3J0IHsgc2V0Q29pbmJhc2UsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3NldENvaW5iYXNlLmpzJztcbmltcG9ydCB7IHNldEludGVydmFsTWluaW5nLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9zZXRJbnRlcnZhbE1pbmluZy5qcyc7XG5pbXBvcnQgeyBzZXRMb2dnaW5nRW5hYmxlZCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9zZXRMb2dnaW5nRW5hYmxlZC5qcyc7XG5pbXBvcnQgeyBzZXRNaW5HYXNQcmljZSwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0TWluR2FzUHJpY2UuanMnO1xuaW1wb3J0IHsgc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0TmV4dEJsb2NrQmFzZUZlZVBlckdhcy5qcyc7XG5pbXBvcnQgeyBzZXROZXh0QmxvY2tUaW1lc3RhbXAsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3NldE5leHRCbG9ja1RpbWVzdGFtcC5qcyc7XG5pbXBvcnQgeyBzZXROb25jZSwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Rlc3Qvc2V0Tm9uY2UuanMnO1xuaW1wb3J0IHsgc2V0UnBjVXJsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3NldFJwY1VybC5qcyc7XG5pbXBvcnQgeyBzZXRTdG9yYWdlQXQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3NldFN0b3JhZ2VBdC5qcyc7XG5pbXBvcnQgeyBzbmFwc2hvdCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGVzdC9zbmFwc2hvdC5qcyc7XG5pbXBvcnQgeyBzdG9wSW1wZXJzb25hdGluZ0FjY291bnQsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy90ZXN0L3N0b3BJbXBlcnNvbmF0aW5nQWNjb3VudC5qcyc7XG5leHBvcnQgZnVuY3Rpb24gdGVzdEFjdGlvbnMoY2xpZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZHJvcFRyYW5zYWN0aW9uOiAoYXJncykgPT4gZHJvcFRyYW5zYWN0aW9uKGNsaWVudCwgYXJncyksXG4gICAgICAgIGdldEF1dG9taW5lOiAoKSA9PiBnZXRBdXRvbWluZShjbGllbnQpLFxuICAgICAgICBnZXRUeHBvb2xDb250ZW50OiAoKSA9PiBnZXRUeHBvb2xDb250ZW50KGNsaWVudCksXG4gICAgICAgIGdldFR4cG9vbFN0YXR1czogKCkgPT4gZ2V0VHhwb29sU3RhdHVzKGNsaWVudCksXG4gICAgICAgIGltcGVyc29uYXRlQWNjb3VudDogKGFyZ3MpID0+IGltcGVyc29uYXRlQWNjb3VudChjbGllbnQsIGFyZ3MpLFxuICAgICAgICBpbmNyZWFzZVRpbWU6IChhcmdzKSA9PiBpbmNyZWFzZVRpbWUoY2xpZW50LCBhcmdzKSxcbiAgICAgICAgaW5zcGVjdFR4cG9vbDogKCkgPT4gaW5zcGVjdFR4cG9vbChjbGllbnQpLFxuICAgICAgICBtaW5lOiAoYXJncykgPT4gbWluZShjbGllbnQsIGFyZ3MpLFxuICAgICAgICByZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsOiAoKSA9PiByZW1vdmVCbG9ja1RpbWVzdGFtcEludGVydmFsKGNsaWVudCksXG4gICAgICAgIHJlc2V0OiAoYXJncykgPT4gcmVzZXQoY2xpZW50LCBhcmdzKSxcbiAgICAgICAgcmV2ZXJ0OiAoYXJncykgPT4gcmV2ZXJ0KGNsaWVudCwgYXJncyksXG4gICAgICAgIHNlbmRVbnNpZ25lZFRyYW5zYWN0aW9uOiAoYXJncykgPT4gc2VuZFVuc2lnbmVkVHJhbnNhY3Rpb24oY2xpZW50LCBhcmdzKSxcbiAgICAgICAgc2V0QXV0b21pbmU6IChhcmdzKSA9PiBzZXRBdXRvbWluZShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRCYWxhbmNlOiAoYXJncykgPT4gc2V0QmFsYW5jZShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRCbG9ja0dhc0xpbWl0OiAoYXJncykgPT4gc2V0QmxvY2tHYXNMaW1pdChjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRCbG9ja1RpbWVzdGFtcEludGVydmFsOiAoYXJncykgPT4gc2V0QmxvY2tUaW1lc3RhbXBJbnRlcnZhbChjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRDb2RlOiAoYXJncykgPT4gc2V0Q29kZShjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRDb2luYmFzZTogKGFyZ3MpID0+IHNldENvaW5iYXNlKGNsaWVudCwgYXJncyksXG4gICAgICAgIHNldEludGVydmFsTWluaW5nOiAoYXJncykgPT4gc2V0SW50ZXJ2YWxNaW5pbmcoY2xpZW50LCBhcmdzKSxcbiAgICAgICAgc2V0TG9nZ2luZ0VuYWJsZWQ6IChhcmdzKSA9PiBzZXRMb2dnaW5nRW5hYmxlZChjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRNaW5HYXNQcmljZTogKGFyZ3MpID0+IHNldE1pbkdhc1ByaWNlKGNsaWVudCwgYXJncyksXG4gICAgICAgIHNldE5leHRCbG9ja0Jhc2VGZWVQZXJHYXM6IChhcmdzKSA9PiBzZXROZXh0QmxvY2tCYXNlRmVlUGVyR2FzKGNsaWVudCwgYXJncyksXG4gICAgICAgIHNldE5leHRCbG9ja1RpbWVzdGFtcDogKGFyZ3MpID0+IHNldE5leHRCbG9ja1RpbWVzdGFtcChjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXROb25jZTogKGFyZ3MpID0+IHNldE5vbmNlKGNsaWVudCwgYXJncyksXG4gICAgICAgIHNldFJwY1VybDogKGFyZ3MpID0+IHNldFJwY1VybChjbGllbnQsIGFyZ3MpLFxuICAgICAgICBzZXRTdG9yYWdlQXQ6IChhcmdzKSA9PiBzZXRTdG9yYWdlQXQoY2xpZW50LCBhcmdzKSxcbiAgICAgICAgc25hcHNob3Q6ICgpID0+IHNuYXBzaG90KGNsaWVudCksXG4gICAgICAgIHN0b3BJbXBlcnNvbmF0aW5nQWNjb3VudDogKGFyZ3MpID0+IHN0b3BJbXBlcnNvbmF0aW5nQWNjb3VudChjbGllbnQsIGFyZ3MpLFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10ZXN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/decorators/test.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/decorators/wallet.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/decorators/wallet.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ walletActions: function() { return /* binding */ walletActions; }\n/* harmony export */ });\n/* harmony import */ var _actions_public_getChainId_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../actions/public/getChainId.js */ \"./node_modules/viem/dist/esm/actions/public/getChainId.js\");\n/* harmony import */ var _actions_wallet_addChain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../actions/wallet/addChain.js */ \"./node_modules/viem/dist/esm/actions/wallet/addChain.js\");\n/* harmony import */ var _actions_wallet_deployContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../actions/wallet/deployContract.js */ \"./node_modules/viem/dist/esm/actions/wallet/deployContract.js\");\n/* harmony import */ var _actions_wallet_getAddresses_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../actions/wallet/getAddresses.js */ \"./node_modules/viem/dist/esm/actions/wallet/getAddresses.js\");\n/* harmony import */ var _actions_wallet_getPermissions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/wallet/getPermissions.js */ \"./node_modules/viem/dist/esm/actions/wallet/getPermissions.js\");\n/* harmony import */ var _actions_wallet_requestAddresses_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../actions/wallet/requestAddresses.js */ \"./node_modules/viem/dist/esm/actions/wallet/requestAddresses.js\");\n/* harmony import */ var _actions_wallet_requestPermissions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../actions/wallet/requestPermissions.js */ \"./node_modules/viem/dist/esm/actions/wallet/requestPermissions.js\");\n/* harmony import */ var _actions_wallet_sendTransaction_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../actions/wallet/sendTransaction.js */ \"./node_modules/viem/dist/esm/actions/wallet/sendTransaction.js\");\n/* harmony import */ var _actions_wallet_signMessage_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../actions/wallet/signMessage.js */ \"./node_modules/viem/dist/esm/actions/wallet/signMessage.js\");\n/* harmony import */ var _actions_wallet_signTypedData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../actions/wallet/signTypedData.js */ \"./node_modules/viem/dist/esm/actions/wallet/signTypedData.js\");\n/* harmony import */ var _actions_wallet_switchChain_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../actions/wallet/switchChain.js */ \"./node_modules/viem/dist/esm/actions/wallet/switchChain.js\");\n/* harmony import */ var _actions_wallet_watchAsset_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../actions/wallet/watchAsset.js */ \"./node_modules/viem/dist/esm/actions/wallet/watchAsset.js\");\n/* harmony import */ var _actions_wallet_writeContract_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../actions/wallet/writeContract.js */ \"./node_modules/viem/dist/esm/actions/wallet/writeContract.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst walletActions = (client) => ({\n addChain: (args) => (0,_actions_wallet_addChain_js__WEBPACK_IMPORTED_MODULE_0__.addChain)(client, args),\n deployContract: (args) => (0,_actions_wallet_deployContract_js__WEBPACK_IMPORTED_MODULE_1__.deployContract)(client, args),\n getAddresses: () => (0,_actions_wallet_getAddresses_js__WEBPACK_IMPORTED_MODULE_2__.getAddresses)(client),\n getChainId: () => (0,_actions_public_getChainId_js__WEBPACK_IMPORTED_MODULE_3__.getChainId)(client),\n getPermissions: () => (0,_actions_wallet_getPermissions_js__WEBPACK_IMPORTED_MODULE_4__.getPermissions)(client),\n requestAddresses: () => (0,_actions_wallet_requestAddresses_js__WEBPACK_IMPORTED_MODULE_5__.requestAddresses)(client),\n requestPermissions: (args) => (0,_actions_wallet_requestPermissions_js__WEBPACK_IMPORTED_MODULE_6__.requestPermissions)(client, args),\n sendTransaction: (args) => (0,_actions_wallet_sendTransaction_js__WEBPACK_IMPORTED_MODULE_7__.sendTransaction)(client, args),\n signMessage: (args) => (0,_actions_wallet_signMessage_js__WEBPACK_IMPORTED_MODULE_8__.signMessage)(client, args),\n signTypedData: (args) => (0,_actions_wallet_signTypedData_js__WEBPACK_IMPORTED_MODULE_9__.signTypedData)(client, args),\n switchChain: (args) => (0,_actions_wallet_switchChain_js__WEBPACK_IMPORTED_MODULE_10__.switchChain)(client, args),\n watchAsset: (args) => (0,_actions_wallet_watchAsset_js__WEBPACK_IMPORTED_MODULE_11__.watchAsset)(client, args),\n writeContract: (args) => (0,_actions_wallet_writeContract_js__WEBPACK_IMPORTED_MODULE_12__.writeContract)(client, args),\n});\n//# sourceMappingURL=wallet.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL2RlY29yYXRvcnMvd2FsbGV0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWlFO0FBQ0o7QUFDWTtBQUNKO0FBQ0k7QUFDSTtBQUNJO0FBQ047QUFDUjtBQUNJO0FBQ0o7QUFDRjtBQUNNO0FBQ2hFO0FBQ1Asd0JBQXdCLHFFQUFRO0FBQ2hDLDhCQUE4QixpRkFBYztBQUM1Qyx3QkFBd0IsNkVBQVk7QUFDcEMsc0JBQXNCLHlFQUFVO0FBQ2hDLDBCQUEwQixpRkFBYztBQUN4Qyw0QkFBNEIscUZBQWdCO0FBQzVDLGtDQUFrQyx5RkFBa0I7QUFDcEQsK0JBQStCLG1GQUFlO0FBQzlDLDJCQUEyQiwyRUFBVztBQUN0Qyw2QkFBNkIsK0VBQWE7QUFDMUMsMkJBQTJCLDRFQUFXO0FBQ3RDLDBCQUEwQiwwRUFBVTtBQUNwQyw2QkFBNkIsZ0ZBQWE7QUFDMUMsQ0FBQztBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2NsaWVudHMvZGVjb3JhdG9ycy93YWxsZXQuanM/ZDA0MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRDaGFpbklkLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2dldENoYWluSWQuanMnO1xuaW1wb3J0IHsgYWRkQ2hhaW4sIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy93YWxsZXQvYWRkQ2hhaW4uanMnO1xuaW1wb3J0IHsgZGVwbG95Q29udHJhY3QsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy93YWxsZXQvZGVwbG95Q29udHJhY3QuanMnO1xuaW1wb3J0IHsgZ2V0QWRkcmVzc2VzLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvd2FsbGV0L2dldEFkZHJlc3Nlcy5qcyc7XG5pbXBvcnQgeyBnZXRQZXJtaXNzaW9ucywgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3dhbGxldC9nZXRQZXJtaXNzaW9ucy5qcyc7XG5pbXBvcnQgeyByZXF1ZXN0QWRkcmVzc2VzLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvd2FsbGV0L3JlcXVlc3RBZGRyZXNzZXMuanMnO1xuaW1wb3J0IHsgcmVxdWVzdFBlcm1pc3Npb25zLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvd2FsbGV0L3JlcXVlc3RQZXJtaXNzaW9ucy5qcyc7XG5pbXBvcnQgeyBzZW5kVHJhbnNhY3Rpb24sIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy93YWxsZXQvc2VuZFRyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IHNpZ25NZXNzYWdlLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvd2FsbGV0L3NpZ25NZXNzYWdlLmpzJztcbmltcG9ydCB7IHNpZ25UeXBlZERhdGEsIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy93YWxsZXQvc2lnblR5cGVkRGF0YS5qcyc7XG5pbXBvcnQgeyBzd2l0Y2hDaGFpbiwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3dhbGxldC9zd2l0Y2hDaGFpbi5qcyc7XG5pbXBvcnQgeyB3YXRjaEFzc2V0LCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvd2FsbGV0L3dhdGNoQXNzZXQuanMnO1xuaW1wb3J0IHsgd3JpdGVDb250cmFjdCwgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3dhbGxldC93cml0ZUNvbnRyYWN0LmpzJztcbmV4cG9ydCBjb25zdCB3YWxsZXRBY3Rpb25zID0gKGNsaWVudCkgPT4gKHtcbiAgICBhZGRDaGFpbjogKGFyZ3MpID0+IGFkZENoYWluKGNsaWVudCwgYXJncyksXG4gICAgZGVwbG95Q29udHJhY3Q6IChhcmdzKSA9PiBkZXBsb3lDb250cmFjdChjbGllbnQsIGFyZ3MpLFxuICAgIGdldEFkZHJlc3NlczogKCkgPT4gZ2V0QWRkcmVzc2VzKGNsaWVudCksXG4gICAgZ2V0Q2hhaW5JZDogKCkgPT4gZ2V0Q2hhaW5JZChjbGllbnQpLFxuICAgIGdldFBlcm1pc3Npb25zOiAoKSA9PiBnZXRQZXJtaXNzaW9ucyhjbGllbnQpLFxuICAgIHJlcXVlc3RBZGRyZXNzZXM6ICgpID0+IHJlcXVlc3RBZGRyZXNzZXMoY2xpZW50KSxcbiAgICByZXF1ZXN0UGVybWlzc2lvbnM6IChhcmdzKSA9PiByZXF1ZXN0UGVybWlzc2lvbnMoY2xpZW50LCBhcmdzKSxcbiAgICBzZW5kVHJhbnNhY3Rpb246IChhcmdzKSA9PiBzZW5kVHJhbnNhY3Rpb24oY2xpZW50LCBhcmdzKSxcbiAgICBzaWduTWVzc2FnZTogKGFyZ3MpID0+IHNpZ25NZXNzYWdlKGNsaWVudCwgYXJncyksXG4gICAgc2lnblR5cGVkRGF0YTogKGFyZ3MpID0+IHNpZ25UeXBlZERhdGEoY2xpZW50LCBhcmdzKSxcbiAgICBzd2l0Y2hDaGFpbjogKGFyZ3MpID0+IHN3aXRjaENoYWluKGNsaWVudCwgYXJncyksXG4gICAgd2F0Y2hBc3NldDogKGFyZ3MpID0+IHdhdGNoQXNzZXQoY2xpZW50LCBhcmdzKSxcbiAgICB3cml0ZUNvbnRyYWN0OiAoYXJncykgPT4gd3JpdGVDb250cmFjdChjbGllbnQsIGFyZ3MpLFxufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YWxsZXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/decorators/wallet.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/transports/createTransport.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/transports/createTransport.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createTransport: function() { return /* binding */ createTransport; }\n/* harmony export */ });\n/* harmony import */ var _utils_buildRequest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/buildRequest.js */ \"./node_modules/viem/dist/esm/utils/buildRequest.js\");\n\n/**\n * @description Creates an transport intended to be used with a client.\n */\nfunction createTransport({ key, name, request, retryCount = 3, retryDelay = 150, timeout, type, }, value) {\n return {\n config: { key, name, request, retryCount, retryDelay, timeout, type },\n request: (0,_utils_buildRequest_js__WEBPACK_IMPORTED_MODULE_0__.buildRequest)(request, { retryCount, retryDelay }),\n value,\n };\n}\n//# sourceMappingURL=createTransport.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvY3JlYXRlVHJhbnNwb3J0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNPLDJCQUEyQixzRUFBc0U7QUFDeEc7QUFDQSxrQkFBa0IsMkRBQTJEO0FBQzdFLGlCQUFpQixvRUFBWSxZQUFZLHdCQUF3QjtBQUNqRTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvY3JlYXRlVHJhbnNwb3J0LmpzPzY2NTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnVpbGRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvYnVpbGRSZXF1ZXN0LmpzJztcbi8qKlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYW4gdHJhbnNwb3J0IGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBhIGNsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyYW5zcG9ydCh7IGtleSwgbmFtZSwgcmVxdWVzdCwgcmV0cnlDb3VudCA9IDMsIHJldHJ5RGVsYXkgPSAxNTAsIHRpbWVvdXQsIHR5cGUsIH0sIHZhbHVlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29uZmlnOiB7IGtleSwgbmFtZSwgcmVxdWVzdCwgcmV0cnlDb3VudCwgcmV0cnlEZWxheSwgdGltZW91dCwgdHlwZSB9LFxuICAgICAgICByZXF1ZXN0OiBidWlsZFJlcXVlc3QocmVxdWVzdCwgeyByZXRyeUNvdW50LCByZXRyeURlbGF5IH0pLFxuICAgICAgICB2YWx1ZSxcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlVHJhbnNwb3J0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/transports/createTransport.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/transports/custom.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/transports/custom.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ custom: function() { return /* binding */ custom; }\n/* harmony export */ });\n/* harmony import */ var _createTransport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/esm/clients/transports/createTransport.js\");\n\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nfunction custom(provider, config = {}) {\n const { key = 'custom', name = 'Custom Provider', retryDelay } = config;\n return ({ retryCount: defaultRetryCount }) => (0,_createTransport_js__WEBPACK_IMPORTED_MODULE_0__.createTransport)({\n key,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvY3VzdG9tLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXdEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNPLHFDQUFxQztBQUM1QyxZQUFZLHVEQUF1RDtBQUNuRSxjQUFjLCtCQUErQixLQUFLLG9FQUFlO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2NsaWVudHMvdHJhbnNwb3J0cy9jdXN0b20uanM/ODU4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVUcmFuc3BvcnQsIH0gZnJvbSAnLi9jcmVhdGVUcmFuc3BvcnQuanMnO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGN1c3RvbSB0cmFuc3BvcnQgZ2l2ZW4gYW4gRUlQLTExOTMgY29tcGxpYW50IGByZXF1ZXN0YCBhdHRyaWJ1dGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b20ocHJvdmlkZXIsIGNvbmZpZyA9IHt9KSB7XG4gICAgY29uc3QgeyBrZXkgPSAnY3VzdG9tJywgbmFtZSA9ICdDdXN0b20gUHJvdmlkZXInLCByZXRyeURlbGF5IH0gPSBjb25maWc7XG4gICAgcmV0dXJuICh7IHJldHJ5Q291bnQ6IGRlZmF1bHRSZXRyeUNvdW50IH0pID0+IGNyZWF0ZVRyYW5zcG9ydCh7XG4gICAgICAgIGtleSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcmVxdWVzdDogcHJvdmlkZXIucmVxdWVzdC5iaW5kKHByb3ZpZGVyKSxcbiAgICAgICAgcmV0cnlDb3VudDogY29uZmlnLnJldHJ5Q291bnQgPz8gZGVmYXVsdFJldHJ5Q291bnQsXG4gICAgICAgIHJldHJ5RGVsYXksXG4gICAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3VzdG9tLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/transports/custom.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/transports/fallback.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/transports/fallback.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fallback: function() { return /* binding */ fallback; },\n/* harmony export */ rankTransports: function() { return /* binding */ rankTransports; }\n/* harmony export */ });\n/* harmony import */ var _utils_buildRequest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/buildRequest.js */ \"./node_modules/viem/dist/esm/utils/buildRequest.js\");\n/* harmony import */ var _utils_wait_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/wait.js */ \"./node_modules/viem/dist/esm/utils/wait.js\");\n/* harmony import */ var _createTransport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/esm/clients/transports/createTransport.js\");\n\n\n\nfunction fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, retryCount, retryDelay, } = config;\n return ({ chain, pollingInterval = 4000, timeout }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = (0,_createTransport_js__WEBPACK_IMPORTED_MODULE_0__.createTransport)({\n key,\n name,\n async request({ method, params }) {\n const fetch = async (i = 0) => {\n const transport = transports[i]({ chain, retryCount: 0, timeout });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n // If the error is deterministic, we don't need to fall back.\n // So throw the error.\n if ((0,_utils_buildRequest_js__WEBPACK_IMPORTED_MODULE_1__.isDeterministicError)(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n };\n}\nfunction rankTransports({ chain, interval = 4000, onTransports, sampleCount = 10, timeout = 1000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await transport_.request({ method: 'net_listening' });\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await (0,_utils_wait_js__WEBPACK_IMPORTED_MODULE_2__.wait)(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvZmFsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBbUU7QUFDeEI7QUFDYTtBQUNqRCwwQ0FBMEM7QUFDakQsWUFBWSw2RUFBNkU7QUFDekYsY0FBYyx3Q0FBd0M7QUFDdEQ7QUFDQTtBQUNBLDBCQUEwQixvRUFBZTtBQUN6QztBQUNBO0FBQ0EsNEJBQTRCLGdCQUFnQjtBQUM1QztBQUNBLHNEQUFzRCwrQkFBK0I7QUFDckY7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0EsNEJBQTRCLDRFQUFvQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esb0RBQW9ELHNCQUFzQjtBQUMxRSxTQUFTO0FBQ1Q7QUFDQSxxRUFBcUU7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNPLDBCQUEwQixnR0FBZ0csR0FBRztBQUNwSSxZQUFZLGlFQUFpRTtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQywrQkFBK0I7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMseUJBQXlCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUZBQXlGLFNBQVM7QUFDbEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLG9EQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vY2xpZW50cy90cmFuc3BvcnRzL2ZhbGxiYWNrLmpzPzNkYjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEZXRlcm1pbmlzdGljRXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9idWlsZFJlcXVlc3QuanMnO1xuaW1wb3J0IHsgd2FpdCB9IGZyb20gJy4uLy4uL3V0aWxzL3dhaXQuanMnO1xuaW1wb3J0IHsgY3JlYXRlVHJhbnNwb3J0LCB9IGZyb20gJy4vY3JlYXRlVHJhbnNwb3J0LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBmYWxsYmFjayh0cmFuc3BvcnRzXywgY29uZmlnID0ge30pIHtcbiAgICBjb25zdCB7IGtleSA9ICdmYWxsYmFjaycsIG5hbWUgPSAnRmFsbGJhY2snLCByYW5rID0gZmFsc2UsIHJldHJ5Q291bnQsIHJldHJ5RGVsYXksIH0gPSBjb25maWc7XG4gICAgcmV0dXJuICh7IGNoYWluLCBwb2xsaW5nSW50ZXJ2YWwgPSA0MDAwLCB0aW1lb3V0IH0pID0+IHtcbiAgICAgICAgbGV0IHRyYW5zcG9ydHMgPSB0cmFuc3BvcnRzXztcbiAgICAgICAgbGV0IG9uUmVzcG9uc2UgPSAoKSA9PiB7IH07XG4gICAgICAgIGNvbnN0IHRyYW5zcG9ydCA9IGNyZWF0ZVRyYW5zcG9ydCh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgYXN5bmMgcmVxdWVzdCh7IG1ldGhvZCwgcGFyYW1zIH0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmZXRjaCA9IGFzeW5jIChpID0gMCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc3BvcnQgPSB0cmFuc3BvcnRzW2ldKHsgY2hhaW4sIHJldHJ5Q291bnQ6IDAsIHRpbWVvdXQgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRyYW5zcG9ydC5yZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvblJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25SZXNwb25zZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIGRldGVybWluaXN0aWMsIHdlIGRvbid0IG5lZWQgdG8gZmFsbCBiYWNrLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU28gdGhyb3cgdGhlIGVycm9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzRGV0ZXJtaW5pc3RpY0Vycm9yKGVycikpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UndmUgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBmYWxsYmFja3MsIHRocm93IHRoZSBlcnJvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID09PSB0cmFuc3BvcnRzLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB0cnkgdGhlIG5leHQgZmFsbGJhY2suXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2goaSArIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2goKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXRyeUNvdW50LFxuICAgICAgICAgICAgcmV0cnlEZWxheSxcbiAgICAgICAgICAgIHR5cGU6ICdmYWxsYmFjaycsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG9uUmVzcG9uc2U6IChmbikgPT4gKG9uUmVzcG9uc2UgPSBmbiksXG4gICAgICAgICAgICB0cmFuc3BvcnRzOiB0cmFuc3BvcnRzLm1hcCgoZm4pID0+IGZuKHsgY2hhaW4sIHJldHJ5Q291bnQ6IDAgfSkpLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJhbmspIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmtPcHRpb25zID0gKHR5cGVvZiByYW5rID09PSAnb2JqZWN0JyA/IHJhbmsgOiB7fSk7XG4gICAgICAgICAgICByYW5rVHJhbnNwb3J0cyh7XG4gICAgICAgICAgICAgICAgY2hhaW4sXG4gICAgICAgICAgICAgICAgaW50ZXJ2YWw6IHJhbmtPcHRpb25zLmludGVydmFsID8/IHBvbGxpbmdJbnRlcnZhbCxcbiAgICAgICAgICAgICAgICBvblRyYW5zcG9ydHM6ICh0cmFuc3BvcnRzXykgPT4gKHRyYW5zcG9ydHMgPSB0cmFuc3BvcnRzXyksXG4gICAgICAgICAgICAgICAgc2FtcGxlQ291bnQ6IHJhbmtPcHRpb25zLnNhbXBsZUNvdW50LFxuICAgICAgICAgICAgICAgIHRpbWVvdXQ6IHJhbmtPcHRpb25zLnRpbWVvdXQsXG4gICAgICAgICAgICAgICAgdHJhbnNwb3J0cyxcbiAgICAgICAgICAgICAgICB3ZWlnaHRzOiByYW5rT3B0aW9ucy53ZWlnaHRzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYW5zcG9ydDtcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJhbmtUcmFuc3BvcnRzKHsgY2hhaW4sIGludGVydmFsID0gNDAwMCwgb25UcmFuc3BvcnRzLCBzYW1wbGVDb3VudCA9IDEwLCB0aW1lb3V0ID0gMTAwMCwgdHJhbnNwb3J0cywgd2VpZ2h0cyA9IHt9LCB9KSB7XG4gICAgY29uc3QgeyBzdGFiaWxpdHk6IHN0YWJpbGl0eVdlaWdodCA9IDAuNywgbGF0ZW5jeTogbGF0ZW5jeVdlaWdodCA9IDAuMyB9ID0gd2VpZ2h0cztcbiAgICBjb25zdCBzYW1wbGVzID0gW107XG4gICAgY29uc3QgcmFua1RyYW5zcG9ydHNfID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyAxLiBUYWtlIGEgc2FtcGxlIGZyb20gZWFjaCBUcmFuc3BvcnQuXG4gICAgICAgIGNvbnN0IHNhbXBsZSA9IGF3YWl0IFByb21pc2UuYWxsKHRyYW5zcG9ydHMubWFwKGFzeW5jICh0cmFuc3BvcnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zcG9ydF8gPSB0cmFuc3BvcnQoeyBjaGFpbiwgcmV0cnlDb3VudDogMCwgdGltZW91dCB9KTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgIGxldCBlbmQ7XG4gICAgICAgICAgICBsZXQgc3VjY2VzcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdHJhbnNwb3J0Xy5yZXF1ZXN0KHsgbWV0aG9kOiAnbmV0X2xpc3RlbmluZycgfSk7XG4gICAgICAgICAgICAgICAgc3VjY2VzcyA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICAgICAgc3VjY2VzcyA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBlbmQgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGF0ZW5jeSA9IGVuZCAtIHN0YXJ0O1xuICAgICAgICAgICAgcmV0dXJuIHsgbGF0ZW5jeSwgc3VjY2VzcyB9O1xuICAgICAgICB9KSk7XG4gICAgICAgIC8vIDIuIFN0b3JlIHRoZSBzYW1wbGUuIElmIHdlIGhhdmUgbW9yZSB0aGFuIGBzYW1wbGVDb3VudGAgc2FtcGxlcywgcmVtb3ZlXG4gICAgICAgIC8vIHRoZSBvbGRlc3Qgc2FtcGxlLlxuICAgICAgICBzYW1wbGVzLnB1c2goc2FtcGxlKTtcbiAgICAgICAgaWYgKHNhbXBsZXMubGVuZ3RoID4gc2FtcGxlQ291bnQpXG4gICAgICAgICAgICBzYW1wbGVzLnNoaWZ0KCk7XG4gICAgICAgIC8vIDMuIENhbGN1bGF0ZSB0aGUgbWF4IGxhdGVuY3kgZnJvbSBzYW1wbGVzLlxuICAgICAgICBjb25zdCBtYXhMYXRlbmN5ID0gTWF0aC5tYXgoLi4uc2FtcGxlcy5tYXAoKHNhbXBsZSkgPT4gTWF0aC5tYXgoLi4uc2FtcGxlLm1hcCgoeyBsYXRlbmN5IH0pID0+IGxhdGVuY3kpKSkpO1xuICAgICAgICAvLyA0LiBDYWxjdWxhdGUgdGhlIHNjb3JlIGZvciBlYWNoIFRyYW5zcG9ydC5cbiAgICAgICAgY29uc3Qgc2NvcmVzID0gdHJhbnNwb3J0c1xuICAgICAgICAgICAgLm1hcCgoXywgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF0ZW5jaWVzID0gc2FtcGxlcy5tYXAoKHNhbXBsZSkgPT4gc2FtcGxlW2ldLmxhdGVuY3kpO1xuICAgICAgICAgICAgY29uc3QgbWVhbkxhdGVuY3kgPSBsYXRlbmNpZXMucmVkdWNlKChhY2MsIGxhdGVuY3kpID0+IGFjYyArIGxhdGVuY3ksIDApIC9cbiAgICAgICAgICAgICAgICBsYXRlbmNpZXMubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgbGF0ZW5jeVNjb3JlID0gMSAtIG1lYW5MYXRlbmN5IC8gbWF4TGF0ZW5jeTtcbiAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3NlcyA9IHNhbXBsZXMubWFwKChzYW1wbGUpID0+IHNhbXBsZVtpXS5zdWNjZXNzKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YWJpbGl0eVNjb3JlID0gc3VjY2Vzc2VzLnJlZHVjZSgoYWNjLCBzdWNjZXNzKSA9PiBhY2MgKyBzdWNjZXNzLCAwKSAvXG4gICAgICAgICAgICAgICAgc3VjY2Vzc2VzLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChzdGFiaWxpdHlTY29yZSA9PT0gMClcbiAgICAgICAgICAgICAgICByZXR1cm4gWzAsIGldO1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICBsYXRlbmN5V2VpZ2h0ICogbGF0ZW5jeVNjb3JlICsgc3RhYmlsaXR5V2VpZ2h0ICogc3RhYmlsaXR5U2NvcmUsXG4gICAgICAgICAgICAgICAgaSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0pXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYlswXSAtIGFbMF0pO1xuICAgICAgICAvLyA1LiBTb3J0IHRoZSBUcmFuc3BvcnRzIGJ5IHNjb3JlLlxuICAgICAgICBvblRyYW5zcG9ydHMoc2NvcmVzLm1hcCgoWywgaV0pID0+IHRyYW5zcG9ydHNbaV0pKTtcbiAgICAgICAgLy8gNi4gV2FpdCwgYW5kIHRoZW4gcmFuayBhZ2Fpbi5cbiAgICAgICAgYXdhaXQgd2FpdChpbnRlcnZhbCk7XG4gICAgICAgIHJhbmtUcmFuc3BvcnRzXygpO1xuICAgIH07XG4gICAgcmFua1RyYW5zcG9ydHNfKCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mYWxsYmFjay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/transports/fallback.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/transports/http.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/transports/http.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ http: function() { return /* binding */ http; }\n/* harmony export */ });\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _errors_transport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/transport.js */ \"./node_modules/viem/dist/esm/errors/transport.js\");\n/* harmony import */ var _utils_promise_createBatchScheduler_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/promise/createBatchScheduler.js */ \"./node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js\");\n/* harmony import */ var _utils_rpc_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/rpc.js */ \"./node_modules/viem/dist/esm/utils/rpc.js\");\n/* harmony import */ var _createTransport_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/esm/clients/transports/createTransport.js\");\n\n\n\n\n\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nfunction http(\n/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\nurl, config = {}) {\n const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', retryDelay, } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10000;\n const url_ = url || chain?.rpcUrls.default.http[0];\n if (!url_)\n throw new _errors_transport_js__WEBPACK_IMPORTED_MODULE_0__.UrlRequiredError();\n return (0,_createTransport_js__WEBPACK_IMPORTED_MODULE_1__.createTransport)({\n key,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const { schedule } = (0,_utils_promise_createBatchScheduler_js__WEBPACK_IMPORTED_MODULE_2__.createBatchScheduler)({\n id: `${url}`,\n wait,\n shouldSplitBatch(requests) {\n return requests.length > batchSize;\n },\n fn: (body) => _utils_rpc_js__WEBPACK_IMPORTED_MODULE_3__.rpc.http(url_, {\n body,\n fetchOptions,\n timeout,\n }),\n });\n const fn = async (body) => batch\n ? schedule(body)\n : [await _utils_rpc_js__WEBPACK_IMPORTED_MODULE_3__.rpc.http(url_, { body, fetchOptions, timeout })];\n const [{ error, result }] = await fn(body);\n if (error)\n throw new _errors_request_js__WEBPACK_IMPORTED_MODULE_4__.RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n }, {\n url,\n });\n };\n}\n//# sourceMappingURL=http.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvaHR0cC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEQ7QUFDRztBQUNzQjtBQUMxQztBQUNlO0FBQ3hEO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxnQkFBZ0I7QUFDaEIsWUFBWSx5RUFBeUU7QUFDckYsY0FBYyxtREFBbUQ7QUFDakUsZ0JBQWdCLDZCQUE2QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRUFBZ0I7QUFDdEMsZUFBZSxvRUFBZTtBQUM5QjtBQUNBO0FBQ0EsNEJBQTRCLGdCQUFnQjtBQUM1QywrQkFBK0I7QUFDL0Isd0JBQXdCLFdBQVcsRUFBRSw0RkFBb0I7QUFDekQsMkJBQTJCLElBQUk7QUFDL0I7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLGtDQUFrQyw4Q0FBRztBQUNyQztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSw2QkFBNkIsOENBQUcsY0FBYyw2QkFBNkI7QUFDM0UseUJBQXlCLGVBQWU7QUFDeEM7QUFDQSw4QkFBOEIsK0RBQWU7QUFDN0M7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvaHR0cC5qcz8zY2NmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJwY1JlcXVlc3RFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9yZXF1ZXN0LmpzJztcbmltcG9ydCB7IFVybFJlcXVpcmVkRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvdHJhbnNwb3J0LmpzJztcbmltcG9ydCB7IGNyZWF0ZUJhdGNoU2NoZWR1bGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvbWlzZS9jcmVhdGVCYXRjaFNjaGVkdWxlci5qcyc7XG5pbXBvcnQgeyBycGMgfSBmcm9tICcuLi8uLi91dGlscy9ycGMuanMnO1xuaW1wb3J0IHsgY3JlYXRlVHJhbnNwb3J0LCB9IGZyb20gJy4vY3JlYXRlVHJhbnNwb3J0LmpzJztcbi8qKlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBIVFRQIHRyYW5zcG9ydCB0aGF0IGNvbm5lY3RzIHRvIGEgSlNPTi1SUEMgQVBJLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaHR0cChcbi8qKiBVUkwgb2YgdGhlIEpTT04tUlBDIEFQSS4gRGVmYXVsdHMgdG8gdGhlIGNoYWluJ3MgcHVibGljIFJQQyBVUkwuICovXG51cmwsIGNvbmZpZyA9IHt9KSB7XG4gICAgY29uc3QgeyBiYXRjaCwgZmV0Y2hPcHRpb25zLCBrZXkgPSAnaHR0cCcsIG5hbWUgPSAnSFRUUCBKU09OLVJQQycsIHJldHJ5RGVsYXksIH0gPSBjb25maWc7XG4gICAgcmV0dXJuICh7IGNoYWluLCByZXRyeUNvdW50OiByZXRyeUNvdW50XywgdGltZW91dDogdGltZW91dF8gfSkgPT4ge1xuICAgICAgICBjb25zdCB7IGJhdGNoU2l6ZSA9IDEwMDAsIHdhaXQgPSAwIH0gPSB0eXBlb2YgYmF0Y2ggPT09ICdvYmplY3QnID8gYmF0Y2ggOiB7fTtcbiAgICAgICAgY29uc3QgcmV0cnlDb3VudCA9IGNvbmZpZy5yZXRyeUNvdW50ID8/IHJldHJ5Q291bnRfO1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gdGltZW91dF8gPz8gY29uZmlnLnRpbWVvdXQgPz8gMTAwMDA7XG4gICAgICAgIGNvbnN0IHVybF8gPSB1cmwgfHwgY2hhaW4/LnJwY1VybHMuZGVmYXVsdC5odHRwWzBdO1xuICAgICAgICBpZiAoIXVybF8pXG4gICAgICAgICAgICB0aHJvdyBuZXcgVXJsUmVxdWlyZWRFcnJvcigpO1xuICAgICAgICByZXR1cm4gY3JlYXRlVHJhbnNwb3J0KHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBhc3luYyByZXF1ZXN0KHsgbWV0aG9kLCBwYXJhbXMgfSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSB7IG1ldGhvZCwgcGFyYW1zIH07XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZSB9ID0gY3JlYXRlQmF0Y2hTY2hlZHVsZXIoe1xuICAgICAgICAgICAgICAgICAgICBpZDogYCR7dXJsfWAsXG4gICAgICAgICAgICAgICAgICAgIHdhaXQsXG4gICAgICAgICAgICAgICAgICAgIHNob3VsZFNwbGl0QmF0Y2gocmVxdWVzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXF1ZXN0cy5sZW5ndGggPiBiYXRjaFNpemU7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGZuOiAoYm9keSkgPT4gcnBjLmh0dHAodXJsXywge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZuID0gYXN5bmMgKGJvZHkpID0+IGJhdGNoXG4gICAgICAgICAgICAgICAgICAgID8gc2NoZWR1bGUoYm9keSlcbiAgICAgICAgICAgICAgICAgICAgOiBbYXdhaXQgcnBjLmh0dHAodXJsXywgeyBib2R5LCBmZXRjaE9wdGlvbnMsIHRpbWVvdXQgfSldO1xuICAgICAgICAgICAgICAgIGNvbnN0IFt7IGVycm9yLCByZXN1bHQgfV0gPSBhd2FpdCBmbihib2R5KTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBScGNSZXF1ZXN0RXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmxfLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldHJ5Q291bnQsXG4gICAgICAgICAgICByZXRyeURlbGF5LFxuICAgICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICAgIHR5cGU6ICdodHRwJyxcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgdXJsLFxuICAgICAgICB9KTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHR0cC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/transports/http.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/clients/transports/webSocket.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/clients/transports/webSocket.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ webSocket: function() { return /* binding */ webSocket; }\n/* harmony export */ });\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _errors_transport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/transport.js */ \"./node_modules/viem/dist/esm/errors/transport.js\");\n/* harmony import */ var _utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/rpc.js */ \"./node_modules/viem/dist/esm/utils/rpc.js\");\n/* harmony import */ var _createTransport_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createTransport.js */ \"./node_modules/viem/dist/esm/clients/transports/createTransport.js\");\n\n\n\n\n/**\n * @description Creates a WebSocket transport that connects to a JSON-RPC API.\n */\nfunction webSocket(\n/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\nurl, config = {}) {\n const { key = 'webSocket', name = 'WebSocket JSON-RPC', retryDelay } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10000;\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0];\n if (!url_)\n throw new _errors_transport_js__WEBPACK_IMPORTED_MODULE_0__.UrlRequiredError();\n return (0,_createTransport_js__WEBPACK_IMPORTED_MODULE_1__.createTransport)({\n key,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const socket = await (0,_utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__.getSocket)(url_);\n const { error, result } = await _utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__.rpc.webSocketAsync(socket, {\n body,\n timeout,\n });\n if (error)\n throw new _errors_request_js__WEBPACK_IMPORTED_MODULE_3__.RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'webSocket',\n }, {\n getSocket() {\n return (0,_utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__.getSocket)(url_);\n },\n async subscribe({ params, onData, onError }) {\n const socket = await (0,_utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__.getSocket)(url_);\n const { result: subscriptionId } = await new Promise((resolve, reject) => _utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__.rpc.webSocket(socket, {\n body: {\n method: 'eth_subscribe',\n params,\n },\n onResponse(response) {\n if (response.error) {\n reject(response.error);\n onError?.(response.error);\n return;\n }\n if (typeof response.id === 'number') {\n resolve(response);\n return;\n }\n if (response.method !== 'eth_subscription')\n return;\n onData(response.params);\n },\n }));\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise((resolve) => _utils_rpc_js__WEBPACK_IMPORTED_MODULE_2__.rpc.webSocket(socket, {\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onResponse: resolve,\n }));\n },\n };\n },\n });\n };\n}\n//# sourceMappingURL=webSocket.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvd2ViU29ja2V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTBEO0FBQ0c7QUFDVDtBQUNJO0FBQ3hEO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSxnQkFBZ0I7QUFDaEIsWUFBWSw2REFBNkQ7QUFDekUsY0FBYyxtREFBbUQ7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isa0VBQWdCO0FBQ3RDLGVBQWUsb0VBQWU7QUFDOUI7QUFDQTtBQUNBLDRCQUE0QixnQkFBZ0I7QUFDNUMsK0JBQStCO0FBQy9CLHFDQUFxQyx3REFBUztBQUM5Qyx3QkFBd0IsZ0JBQWdCLFFBQVEsOENBQUc7QUFDbkQ7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLDhCQUE4QiwrREFBZTtBQUM3QztBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSx1QkFBdUIsd0RBQVM7QUFDaEMsYUFBYTtBQUNiLDhCQUE4Qix5QkFBeUI7QUFDdkQscUNBQXFDLHdEQUFTO0FBQzlDLHdCQUF3Qix5QkFBeUIseUNBQXlDLDhDQUFHO0FBQzdGO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0Esd0RBQXdELDhDQUFHO0FBQzNEO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckI7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jbGllbnRzL3RyYW5zcG9ydHMvd2ViU29ja2V0LmpzPzg2MzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnBjUmVxdWVzdEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3JlcXVlc3QuanMnO1xuaW1wb3J0IHsgVXJsUmVxdWlyZWRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy90cmFuc3BvcnQuanMnO1xuaW1wb3J0IHsgZ2V0U29ja2V0LCBycGMgfSBmcm9tICcuLi8uLi91dGlscy9ycGMuanMnO1xuaW1wb3J0IHsgY3JlYXRlVHJhbnNwb3J0LCB9IGZyb20gJy4vY3JlYXRlVHJhbnNwb3J0LmpzJztcbi8qKlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBXZWJTb2NrZXQgdHJhbnNwb3J0IHRoYXQgY29ubmVjdHMgdG8gYSBKU09OLVJQQyBBUEkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3ZWJTb2NrZXQoXG4vKiogVVJMIG9mIHRoZSBKU09OLVJQQyBBUEkuIERlZmF1bHRzIHRvIHRoZSBjaGFpbidzIHB1YmxpYyBSUEMgVVJMLiAqL1xudXJsLCBjb25maWcgPSB7fSkge1xuICAgIGNvbnN0IHsga2V5ID0gJ3dlYlNvY2tldCcsIG5hbWUgPSAnV2ViU29ja2V0IEpTT04tUlBDJywgcmV0cnlEZWxheSB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoeyBjaGFpbiwgcmV0cnlDb3VudDogcmV0cnlDb3VudF8sIHRpbWVvdXQ6IHRpbWVvdXRfIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmV0cnlDb3VudCA9IGNvbmZpZy5yZXRyeUNvdW50ID8/IHJldHJ5Q291bnRfO1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gdGltZW91dF8gPz8gY29uZmlnLnRpbWVvdXQgPz8gMTAwMDA7XG4gICAgICAgIGNvbnN0IHVybF8gPSB1cmwgfHwgY2hhaW4/LnJwY1VybHMuZGVmYXVsdC53ZWJTb2NrZXQ/LlswXTtcbiAgICAgICAgaWYgKCF1cmxfKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFVybFJlcXVpcmVkRXJyb3IoKTtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVRyYW5zcG9ydCh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgYXN5bmMgcmVxdWVzdCh7IG1ldGhvZCwgcGFyYW1zIH0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0geyBtZXRob2QsIHBhcmFtcyB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvY2tldCA9IGF3YWl0IGdldFNvY2tldCh1cmxfKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9yLCByZXN1bHQgfSA9IGF3YWl0IHJwYy53ZWJTb2NrZXRBc3luYyhzb2NrZXQsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBScGNSZXF1ZXN0RXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmxfLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldHJ5Q291bnQsXG4gICAgICAgICAgICByZXRyeURlbGF5LFxuICAgICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICAgIHR5cGU6ICd3ZWJTb2NrZXQnLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBnZXRTb2NrZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFNvY2tldCh1cmxfKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyBzdWJzY3JpYmUoeyBwYXJhbXMsIG9uRGF0YSwgb25FcnJvciB9KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc29ja2V0ID0gYXdhaXQgZ2V0U29ja2V0KHVybF8pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVzdWx0OiBzdWJzY3JpcHRpb25JZCB9ID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gcnBjLndlYlNvY2tldChzb2NrZXQsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3N1YnNjcmliZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcj8uKHJlc3BvbnNlLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmlkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5tZXRob2QgIT09ICdldGhfc3Vic2NyaXB0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkRhdGEocmVzcG9uc2UucGFyYW1zKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBycGMud2ViU29ja2V0KHNvY2tldCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZXRoX3Vuc3Vic2NyaWJlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBbc3Vic2NyaXB0aW9uSWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25SZXNwb25zZTogcmVzb2x2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdlYlNvY2tldC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/clients/transports/webSocket.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/constants/abis.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/constants/abis.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ multicall3Abi: function() { return /* binding */ multicall3Abi; },\n/* harmony export */ singleAddressResolverAbi: function() { return /* binding */ singleAddressResolverAbi; },\n/* harmony export */ smartAccountAbi: function() { return /* binding */ smartAccountAbi; },\n/* harmony export */ textResolverAbi: function() { return /* binding */ textResolverAbi; },\n/* harmony export */ universalResolverAbi: function() { return /* binding */ universalResolverAbi; },\n/* harmony export */ universalSignatureValidatorAbi: function() { return /* binding */ universalSignatureValidatorAbi; }\n/* harmony export */ });\n/* [Multicall3](https://github.com/mds1/multicall) */\nconst multicall3Abi = [\n {\n inputs: [\n {\n components: [\n {\n name: 'target',\n type: 'address',\n },\n {\n name: 'allowFailure',\n type: 'bool',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n ],\n name: 'calls',\n type: 'tuple[]',\n },\n ],\n name: 'aggregate3',\n outputs: [\n {\n components: [\n {\n name: 'success',\n type: 'bool',\n },\n {\n name: 'returnData',\n type: 'bytes',\n },\n ],\n name: 'returnData',\n type: 'tuple[]',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n];\nconst universalResolverAbi = [\n {\n name: 'resolve',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [\n { name: '', type: 'bytes' },\n { name: 'address', type: 'address' },\n ],\n },\n];\nconst textResolverAbi = [\n {\n name: 'text',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes32' },\n { name: 'key', type: 'string' },\n ],\n outputs: [{ name: '', type: 'string' }],\n },\n];\nconst singleAddressResolverAbi = [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'name', type: 'bytes32' }],\n outputs: [{ name: '', type: 'address' }],\n },\n];\n// ERC-1271\n// isValidSignature(bytes32 hash, bytes signature) → bytes4 magicValue\nconst smartAccountAbi = [\n {\n name: 'isValidSignature',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'hash', type: 'bytes32' },\n { name: 'signature', type: 'bytes' },\n ],\n outputs: [{ name: '', type: 'bytes4' }],\n },\n];\n// ERC-6492 - universal deployless signature validator contract\n// constructor(address _signer, bytes32 _hash, bytes _signature) → bytes4 returnValue\n// returnValue is either 0x1 (valid) or 0x0 (invalid)\nconst universalSignatureValidatorAbi = [\n {\n inputs: [\n {\n internalType: 'address',\n name: '_signer',\n type: 'address',\n },\n {\n internalType: 'bytes32',\n name: '_hash',\n type: 'bytes32',\n },\n {\n internalType: 'bytes',\n name: '_signature',\n type: 'bytes',\n },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n];\n//# sourceMappingURL=abis.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvYWJpcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsNkJBQTZCO0FBQzNDLGNBQWMsNkJBQTZCO0FBQzNDO0FBQ0E7QUFDQSxjQUFjLHlCQUF5QjtBQUN2QyxjQUFjLGtDQUFrQztBQUNoRDtBQUNBLEtBQUs7QUFDTDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsK0JBQStCO0FBQzdDLGNBQWMsNkJBQTZCO0FBQzNDO0FBQ0Esb0JBQW9CLDBCQUEwQjtBQUM5QyxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLCtCQUErQjtBQUNsRCxvQkFBb0IsMkJBQTJCO0FBQy9DLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLCtCQUErQjtBQUM3QyxjQUFjLGtDQUFrQztBQUNoRDtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vY29uc3RhbnRzL2FiaXMuanM/MzcxYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBbTXVsdGljYWxsM10oaHR0cHM6Ly9naXRodWIuY29tL21kczEvbXVsdGljYWxsKSAqL1xuZXhwb3J0IGNvbnN0IG11bHRpY2FsbDNBYmkgPSBbXG4gICAge1xuICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnYWxsb3dGYWlsdXJlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdib29sJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhbGxEYXRhJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnY2FsbHMnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0dXBsZVtdJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIG5hbWU6ICdhZ2dyZWdhdGUzJyxcbiAgICAgICAgb3V0cHV0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jvb2wnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmV0dXJuRGF0YScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnl0ZXMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgbmFtZTogJ3JldHVybkRhdGEnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0dXBsZVtdJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRlTXV0YWJpbGl0eTogJ3ZpZXcnLFxuICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgIH0sXG5dO1xuZXhwb3J0IGNvbnN0IHVuaXZlcnNhbFJlc29sdmVyQWJpID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ3Jlc29sdmUnLFxuICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICd2aWV3JyxcbiAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ2J5dGVzJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZGF0YScsIHR5cGU6ICdieXRlcycgfSxcbiAgICAgICAgXSxcbiAgICAgICAgb3V0cHV0czogW1xuICAgICAgICAgICAgeyBuYW1lOiAnJywgdHlwZTogJ2J5dGVzJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnYWRkcmVzcycsIHR5cGU6ICdhZGRyZXNzJyB9LFxuICAgICAgICBdLFxuICAgIH0sXG5dO1xuZXhwb3J0IGNvbnN0IHRleHRSZXNvbHZlckFiaSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0JyxcbiAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICdieXRlczMyJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAna2V5JywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgXSxcbiAgICAgICAgb3V0cHV0czogW3sgbmFtZTogJycsIHR5cGU6ICdzdHJpbmcnIH1dLFxuICAgIH0sXG5dO1xuZXhwb3J0IGNvbnN0IHNpbmdsZUFkZHJlc3NSZXNvbHZlckFiaSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICdhZGRyJyxcbiAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgIGlucHV0czogW3sgbmFtZTogJ25hbWUnLCB0eXBlOiAnYnl0ZXMzMicgfV0sXG4gICAgICAgIG91dHB1dHM6IFt7IG5hbWU6ICcnLCB0eXBlOiAnYWRkcmVzcycgfV0sXG4gICAgfSxcbl07XG4vLyBFUkMtMTI3MVxuLy8gaXNWYWxpZFNpZ25hdHVyZShieXRlczMyIGhhc2gsIGJ5dGVzIHNpZ25hdHVyZSkg4oaSIGJ5dGVzNCBtYWdpY1ZhbHVlXG5leHBvcnQgY29uc3Qgc21hcnRBY2NvdW50QWJpID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ2lzVmFsaWRTaWduYXR1cmUnLFxuICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICd2aWV3JyxcbiAgICAgICAgaW5wdXRzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdoYXNoJywgdHlwZTogJ2J5dGVzMzInIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdzaWduYXR1cmUnLCB0eXBlOiAnYnl0ZXMnIH0sXG4gICAgICAgIF0sXG4gICAgICAgIG91dHB1dHM6IFt7IG5hbWU6ICcnLCB0eXBlOiAnYnl0ZXM0JyB9XSxcbiAgICB9LFxuXTtcbi8vIEVSQy02NDkyIC0gdW5pdmVyc2FsIGRlcGxveWxlc3Mgc2lnbmF0dXJlIHZhbGlkYXRvciBjb250cmFjdFxuLy8gY29uc3RydWN0b3IoYWRkcmVzcyBfc2lnbmVyLCBieXRlczMyIF9oYXNoLCBieXRlcyBfc2lnbmF0dXJlKSDihpIgYnl0ZXM0IHJldHVyblZhbHVlXG4vLyByZXR1cm5WYWx1ZSBpcyBlaXRoZXIgMHgxICh2YWxpZCkgb3IgMHgwIChpbnZhbGlkKVxuZXhwb3J0IGNvbnN0IHVuaXZlcnNhbFNpZ25hdHVyZVZhbGlkYXRvckFiaSA9IFtcbiAgICB7XG4gICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGludGVybmFsVHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdfc2lnbmVyJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYWRkcmVzcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGludGVybmFsVHlwZTogJ2J5dGVzMzInLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdfaGFzaCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J5dGVzMzInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICAgICAgbmFtZTogJ19zaWduYXR1cmUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICdub25wYXlhYmxlJyxcbiAgICAgICAgdHlwZTogJ2NvbnN0cnVjdG9yJyxcbiAgICB9LFxuXTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFiaXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/constants/abis.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/constants/address.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/esm/constants/address.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ zeroAddress: function() { return /* binding */ zeroAddress; }\n/* harmony export */ });\nconst zeroAddress = '0x0000000000000000000000000000000000000000';\n//# sourceMappingURL=address.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvYWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvYWRkcmVzcy5qcz84ZGZhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB6ZXJvQWRkcmVzcyA9ICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkcmVzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/constants/address.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/constants/contract.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/constants/contract.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ aggregate3Signature: function() { return /* binding */ aggregate3Signature; }\n/* harmony export */ });\nconst aggregate3Signature = '0x82ad56cb';\n//# sourceMappingURL=contract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvY29udHJhY3QuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vY29uc3RhbnRzL2NvbnRyYWN0LmpzP2FkMGYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGFnZ3JlZ2F0ZTNTaWduYXR1cmUgPSAnMHg4MmFkNTZjYic7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb250cmFjdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/constants/contract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/constants/contracts.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/esm/constants/contracts.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ universalSignatureValidatorByteCode: function() { return /* binding */ universalSignatureValidatorByteCode; }\n/* harmony export */ });\nconst universalSignatureValidatorByteCode = '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572';\n//# sourceMappingURL=contracts.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvY29udHJhY3RzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2NvbnN0YW50cy9jb250cmFjdHMuanM/ZGNiMiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdW5pdmVyc2FsU2lnbmF0dXJlVmFsaWRhdG9yQnl0ZUNvZGUgPSAnMHg2MDgwNjA0MDUyMzQ4MDE1NjIwMDAwMTE1NzYwMDA4MGZkNWI1MDYwNDA1MTYyMDAwNzAwMzgwMzgwNjIwMDA3MDA4MzM5ODEwMTYwNDA4MTkwNTI2MjAwMDAzNDkxNjIwMDA1NmY1NjViNjAwMDYyMDAwMDQzODQ4NDg0NjIwMDAwNGY1NjViOTA1MDgwNjAwMDUyNjAwMTYwMWZmMzViNjAwMDgwODQ2MDAxNjAwMTYwYTAxYjAzMTY4MDNiODA2MDIwMDE2MDQwNTE5MDgxMDE2MDQwNTI4MTgxNTI2MDAwOTA4MDYwMjAwMTkwOTMzYzkwNTA3ZjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2NDkyNjQ5MjY0OTI2MjAwMDBhNjg0NjIwMDA0NTE1NjViMDM2MjAwMDIxZjU3NjAwMDYwNjA4MDg1ODA2MDIwMDE5MDUxODEwMTkwNjIwMDAwYzc5MTkwNjIwMDA1Y2U1NjViODY1MTkyOTU1MDkwOTM1MDkxNTA2MDAwMDM2MjAwMDE5MjU3NjAwMDgzNjAwMTYwMDE2MGEwMWIwMzE2ODM2MDQwNTE2MjAwMDBmNTkxOTA2MjAwMDY0MzU2NWI2MDAwNjA0MDUxODA4MzAzODE2MDAwODY1YWYxOTE1MDUwM2Q4MDYwMDA4MTE0NjIwMDAxMzQ1NzYwNDA1MTkxNTA2MDFmMTk2MDNmM2QwMTE2ODIwMTYwNDA1MjNkODI1MjNkNjAwMDYwMjA4NDAxM2U2MjAwMDEzOTU2NWI2MDYwOTE1MDViNTA1MDkwNTA4MDYyMDAwMTkwNTc2MDQwNTE2MjQ2MWJjZDYwZTUxYjgxNTI2MDIwNjAwNDgyMDE1MjYwMWU2MDI0ODIwMTUyN2Y1MzY5Njc2ZTYxNzQ3NTcyNjU1NjYxNmM2OTY0NjE3NDZmNzIzYTIwNjQ2NTcwNmM2Zjc5NmQ2NTZlNzQwMDAwNjA0NDgyMDE1MjYwNjQwMTViNjA0MDUxODA5MTAzOTBmZDViNTA1YjYwNDA1MTYzMGIxMzVkM2Y2MGUxMWI4MDgyNTI5MDYwMDE2MDAxNjBhMDFiMDM4YTE2OTA2MzE2MjZiYTdlOTA2MjAwMDFjNDkwOGI5MDg2OTA2MDA0MDE2MjAwMDY2MTU2NWI2MDIwNjA0MDUxODA4MzAzODE4NjVhZmExNTgwMTU2MjAwMDFlMjU3M2Q2MDAwODAzZTNkNjAwMGZkNWI1MDUwNTA1MDYwNDA1MTNkNjAxZjE5NjAxZjgyMDExNjgyMDE4MDYwNDA1MjUwODEwMTkwNjIwMDAyMDg5MTkwNjIwMDA2OWQ1NjViNjAwMTYwMDE2MGUwMWIwMzE5MTYxNDk0NTA1MDUwNTA1MDYyMDAwNDRhNTY1YjgwNTExNTYyMDAwMmIxNTc2MDQwNTE2MzBiMTM1ZDNmNjBlMTFiODA4MjUyOTA2MDAxNjAwMTYwYTAxYjAzODcxNjkwNjMxNjI2YmE3ZTkwNjIwMDAyNTk5MDg4OTA4ODkwNjAwNDAxNjIwMDA2NjE1NjViNjAyMDYwNDA1MTgwODMwMzgxODY1YWZhMTU4MDE1NjIwMDAyNzc1NzNkNjAwMDgwM2UzZDYwMDBmZDViNTA1MDUwNTA2MDQwNTEzZDYwMWYxOTYwMWY4MjAxMTY4MjAxODA2MDQwNTI1MDgxMDE5MDYyMDAwMjlkOTE5MDYyMDAwNjlkNTY1YjYwMDE2MDAxNjBlMDFiMDMxOTE2MTQ5MTUwNTA2MjAwMDQ0YTU2NWI4MjUxNjA0MTE0NjIwMDAzMTk1NzYwNDA1MTYyNDYxYmNkNjBlNTFiODE1MjYwMjA2MDA0ODIwMTUyNjAzYTYwMjQ4MjAxNTI2MDAwODA1MTYwMjA2MjAwMDZlMDgzMzk4MTUxOTE1MjYwNDQ4MjAxNTI3ZjNhMjA2OTZlNzY2MTZjNjk2NDIwNzM2OTY3NmU2MTc0NzU3MjY1MjA2YzY1NmU2Nzc0NjgwMDAwMDAwMDAwMDA2MDY0ODIwMTUyNjA4NDAxNjIwMDAxODc1NjViNjIwMDAzMjM2MjAwMDQ2YjU2NWI1MDYwMjA4MzAxNTE2MDQwODA4NTAxNTE4NTUxODY5MzkyNjAwMDkxODU5MTkwODExMDYyMDAwMzRiNTc2MjAwMDM0YjYyMDAwNmM5NTY1YjAxNjAyMDAxNTE2MGY4MWM5MDUwNjAxYjgxMTQ4MDE1OTA2MjAwMDM2YjU3NTA4MDYwZmYxNjYwMWMxNDE1NWIxNTYyMDAwM2NmNTc2MDQwNTE2MjQ2MWJjZDYwZTUxYjgxNTI2MDIwNjAwNDgyMDE1MjYwM2I2MDI0ODIwMTUyNjAwMDgwNTE2MDIwNjIwMDA2ZTA4MzM5ODE1MTkxNTI2MDQ0ODIwMTUyN2YzYTIwNjk2ZTc2NjE2YzY5NjQyMDczNjk2NzZlNjE3NDc1NzI2NTIwNzYyMDc2NjE2Yzc1NjUwMDAwMDAwMDAwNjA2NDgyMDE1MjYwODQwMTYyMDAwMTg3NTY1YjYwNDA4MDUxNjAwMDgxNTI2MDIwODEwMTgwODM1MjhhOTA1MjYwZmY4MzE2OTE4MTAxOTE5MDkxNTI2MDYwODEwMTg0OTA1MjYwODA4MTAxODM5MDUyNjAwMTYwMDE2MGEwMWIwMzhhMTY5MDYwMDE5MDYwYTAwMTYwMjA2MDQwNTE2MDIwODEwMzkwODA4NDAzOTA4NTVhZmExNTgwMTU2MjAwMDQyZTU3M2Q2MDAwODAzZTNkNjAwMGZkNWI1MDUwNTA2MDIwNjA0MDUxMDM1MTYwMDE2MDAxNjBhMDFiMDMxNjE0OTU1MDUwNTA1MDUwNTA1YjkzOTI1MDUwNTA1NjViNjAwMDYwMjA4MjUxMTAxNTYyMDAwNDYzNTc2MDAwODBmZDViNTA4MDUxMDE1MTkwNTY1YjYwNDA1MTgwNjA2MDAxNjA0MDUyODA2MDAzOTA2MDIwODIwMjgwMzY4MzM3NTA5MTkyOTE1MDUwNTY1YjYwMDE2MDAxNjBhMDFiMDM4MTE2ODExNDYyMDAwNDlmNTc2MDAwODBmZDViNTA1NjViNjM0ZTQ4N2I3MTYwZTAxYjYwMDA1MjYwNDE2MDA0NTI2MDI0NjAwMGZkNWI2MDAwNWI4MzgxMTAxNTYyMDAwNGQ1NTc4MTgxMDE1MTgzODIwMTUyNjAyMDAxNjIwMDA0YmI1NjViNTA1MDYwMDA5MTAxNTI1NjViNjAwMDgyNjAxZjgzMDExMjYyMDAwNGYwNTc2MDAwODBmZDViODE1MTYwMDE2MDAxNjA0MDFiMDM4MDgyMTExNTYyMDAwNTBkNTc2MjAwMDUwZDYyMDAwNGEyNTY1YjYwNDA1MTYwMWY4MzAxNjAxZjE5OTA4MTE2NjAzZjAxMTY4MTAxOTA4MjgyMTE4MTgzMTAxNzE1NjIwMDA1Mzg1NzYyMDAwNTM4NjIwMDA0YTI1NjViODE2MDQwNTI4MzgxNTI4NjYwMjA4NTg4MDEwMTExMTU2MjAwMDU1MjU3NjAwMDgwZmQ1YjYyMDAwNTY1ODQ2MDIwODMwMTYwMjA4OTAxNjIwMDA0Yjg1NjViOTY5NTUwNTA1MDUwNTA1MDU2NWI2MDAwODA2MDAwNjA2MDg0ODYwMzEyMTU2MjAwMDU4NTU3NjAwMDgwZmQ1YjgzNTE2MjAwMDU5MjgxNjIwMDA0ODk1NjViNjAyMDg1MDE1MTYwNDA4NjAxNTE5MTk0NTA5MjUwNjAwMTYwMDE2MDQwMWIwMzgxMTExNTYyMDAwNWI2NTc2MDAwODBmZDViNjIwMDA1YzQ4NjgyODcwMTYyMDAwNGRlNTY1YjkxNTA1MDkyNTA5MjUwOTI1NjViNjAwMDgwNjAwMDYwNjA4NDg2MDMxMjE1NjIwMDA1ZTQ1NzYwMDA4MGZkNWI4MzUxNjIwMDA1ZjE4MTYyMDAwNDg5NTY1YjYwMjA4NTAxNTE5MDkzNTA2MDAxNjAwMTYwNDAxYjAzODA4MjExMTU2MjAwMDYwZjU3NjAwMDgwZmQ1YjYyMDAwNjFkODc4Mzg4MDE2MjAwMDRkZTU2NWI5MzUwNjA0MDg2MDE1MTkxNTA4MDgyMTExNTYyMDAwNjM0NTc2MDAwODBmZDViNTA2MjAwMDVjNDg2ODI4NzAxNjIwMDA0ZGU1NjViNjAwMDgyNTE2MjAwMDY1NzgxODQ2MDIwODcwMTYyMDAwNGI4NTY1YjkxOTA5MTAxOTI5MTUwNTA1NjViODI4MTUyNjA0MDYwMjA4MjAxNTI2MDAwODI1MTgwNjA0MDg0MDE1MjYyMDAwNjg4ODE2MDYwODUwMTYwMjA4NzAxNjIwMDA0Yjg1NjViNjAxZjAxNjAxZjE5MTY5MTkwOTEwMTYwNjAwMTkzOTI1MDUwNTA1NjViNjAwMDYwMjA4Mjg0MDMxMjE1NjIwMDA2YjA1NzYwMDA4MGZkNWI4MTUxNjAwMTYwMDE2MGUwMWIwMzE5ODExNjgxMTQ2MjAwMDQ0YTU3NjAwMDgwZmQ1YjYzNGU0ODdiNzE2MGUwMWI2MDAwNTI2MDMyNjAwNDUyNjAyNDYwMDBmZGZlNTM2OTY3NmU2MTc0NzU3MjY1NTY2MTZjNjk2NDYxNzQ2ZjcyMjM3MjY1NjM2Zjc2NjU3MjUzNjk2NzZlNjU3Mic7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb250cmFjdHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/constants/contracts.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/constants/solidity.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/constants/solidity.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ panicReasons: function() { return /* binding */ panicReasons; },\n/* harmony export */ solidityError: function() { return /* binding */ solidityError; },\n/* harmony export */ solidityPanic: function() { return /* binding */ solidityPanic; }\n/* harmony export */ });\n// https://docs.soliditylang.org/en/v0.8.16/control-structures.html#panic-via-assert-and-error-via-require\nconst panicReasons = {\n 1: 'An `assert` condition failed.',\n 17: 'Arithmic operation resulted in underflow or overflow.',\n 18: 'Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).',\n 33: 'Attempted to convert to an invalid type.',\n 34: 'Attempted to access a storage byte array that is incorrectly encoded.',\n 49: 'Performed `.pop()` on an empty array',\n 50: 'Array index is out of bounds.',\n 65: 'Allocated too much memory or created an array which is too large.',\n 81: 'Attempted to call a zero-initialized variable of internal function type.',\n};\nconst solidityError = {\n inputs: [\n {\n name: 'message',\n type: 'string',\n },\n ],\n name: 'Error',\n type: 'error',\n};\nconst solidityPanic = {\n inputs: [\n {\n name: 'reason',\n type: 'uint256',\n },\n ],\n name: 'Panic',\n type: 'error',\n};\n//# sourceMappingURL=solidity.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvc29saWRpdHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvc29saWRpdHkuanM/ODYxYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2RvY3Muc29saWRpdHlsYW5nLm9yZy9lbi92MC44LjE2L2NvbnRyb2wtc3RydWN0dXJlcy5odG1sI3BhbmljLXZpYS1hc3NlcnQtYW5kLWVycm9yLXZpYS1yZXF1aXJlXG5leHBvcnQgY29uc3QgcGFuaWNSZWFzb25zID0ge1xuICAgIDE6ICdBbiBgYXNzZXJ0YCBjb25kaXRpb24gZmFpbGVkLicsXG4gICAgMTc6ICdBcml0aG1pYyBvcGVyYXRpb24gcmVzdWx0ZWQgaW4gdW5kZXJmbG93IG9yIG92ZXJmbG93LicsXG4gICAgMTg6ICdEaXZpc2lvbiBvciBtb2R1bG8gYnkgemVybyAoZS5nLiBgNSAvIDBgIG9yIGAyMyAlIDBgKS4nLFxuICAgIDMzOiAnQXR0ZW1wdGVkIHRvIGNvbnZlcnQgdG8gYW4gaW52YWxpZCB0eXBlLicsXG4gICAgMzQ6ICdBdHRlbXB0ZWQgdG8gYWNjZXNzIGEgc3RvcmFnZSBieXRlIGFycmF5IHRoYXQgaXMgaW5jb3JyZWN0bHkgZW5jb2RlZC4nLFxuICAgIDQ5OiAnUGVyZm9ybWVkIGAucG9wKClgIG9uIGFuIGVtcHR5IGFycmF5JyxcbiAgICA1MDogJ0FycmF5IGluZGV4IGlzIG91dCBvZiBib3VuZHMuJyxcbiAgICA2NTogJ0FsbG9jYXRlZCB0b28gbXVjaCBtZW1vcnkgb3IgY3JlYXRlZCBhbiBhcnJheSB3aGljaCBpcyB0b28gbGFyZ2UuJyxcbiAgICA4MTogJ0F0dGVtcHRlZCB0byBjYWxsIGEgemVyby1pbml0aWFsaXplZCB2YXJpYWJsZSBvZiBpbnRlcm5hbCBmdW5jdGlvbiB0eXBlLicsXG59O1xuZXhwb3J0IGNvbnN0IHNvbGlkaXR5RXJyb3IgPSB7XG4gICAgaW5wdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdtZXNzYWdlJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgbmFtZTogJ0Vycm9yJyxcbiAgICB0eXBlOiAnZXJyb3InLFxufTtcbmV4cG9ydCBjb25zdCBzb2xpZGl0eVBhbmljID0ge1xuICAgIGlucHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncmVhc29uJyxcbiAgICAgICAgICAgIHR5cGU6ICd1aW50MjU2JyxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIG5hbWU6ICdQYW5pYycsXG4gICAgdHlwZTogJ2Vycm9yJyxcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zb2xpZGl0eS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/constants/solidity.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/constants/unit.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/constants/unit.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ etherUnits: function() { return /* binding */ etherUnits; },\n/* harmony export */ gweiUnits: function() { return /* binding */ gweiUnits; },\n/* harmony export */ weiUnits: function() { return /* binding */ weiUnits; }\n/* harmony export */ });\nconst etherUnits = {\n gwei: 9,\n wei: 18,\n};\nconst gweiUnits = {\n ether: -9,\n wei: 9,\n};\nconst weiUnits = {\n ether: -18,\n gwei: -9,\n};\n//# sourceMappingURL=unit.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvdW5pdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9jb25zdGFudHMvdW5pdC5qcz8zMWYzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBldGhlclVuaXRzID0ge1xuICAgIGd3ZWk6IDksXG4gICAgd2VpOiAxOCxcbn07XG5leHBvcnQgY29uc3QgZ3dlaVVuaXRzID0ge1xuICAgIGV0aGVyOiAtOSxcbiAgICB3ZWk6IDksXG59O1xuZXhwb3J0IGNvbnN0IHdlaVVuaXRzID0ge1xuICAgIGV0aGVyOiAtMTgsXG4gICAgZ3dlaTogLTksXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dW5pdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/constants/unit.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/ens.js": -/*!*******************************************!*\ - !*** ./node_modules/viem/dist/esm/ens.js ***! - \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEnsAddress: function() { return /* reexport safe */ _actions_ens_getEnsAddress_js__WEBPACK_IMPORTED_MODULE_1__.getEnsAddress; },\n/* harmony export */ getEnsAvatar: function() { return /* reexport safe */ _actions_ens_getEnsAvatar_js__WEBPACK_IMPORTED_MODULE_2__.getEnsAvatar; },\n/* harmony export */ getEnsName: function() { return /* reexport safe */ _actions_ens_getEnsName_js__WEBPACK_IMPORTED_MODULE_3__.getEnsName; },\n/* harmony export */ getEnsResolver: function() { return /* reexport safe */ _actions_ens_getEnsResolver_js__WEBPACK_IMPORTED_MODULE_4__.getEnsResolver; },\n/* harmony export */ getEnsText: function() { return /* reexport safe */ _actions_ens_getEnsText_js__WEBPACK_IMPORTED_MODULE_5__.getEnsText; },\n/* harmony export */ labelhash: function() { return /* reexport safe */ _utils_ens_labelhash_js__WEBPACK_IMPORTED_MODULE_6__.labelhash; },\n/* harmony export */ namehash: function() { return /* reexport safe */ _utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_7__.namehash; },\n/* harmony export */ normalize: function() { return /* reexport safe */ _utils_ens_normalize_js__WEBPACK_IMPORTED_MODULE_0__.normalize; }\n/* harmony export */ });\n/* harmony import */ var _utils_ens_normalize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/ens/normalize.js */ \"./node_modules/viem/dist/esm/utils/ens/normalize.js\");\n/* harmony import */ var _actions_ens_getEnsAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions/ens/getEnsAddress.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsAddress.js\");\n/* harmony import */ var _actions_ens_getEnsAvatar_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions/ens/getEnsAvatar.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsAvatar.js\");\n/* harmony import */ var _actions_ens_getEnsName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions/ens/getEnsName.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsName.js\");\n/* harmony import */ var _actions_ens_getEnsResolver_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./actions/ens/getEnsResolver.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsResolver.js\");\n/* harmony import */ var _actions_ens_getEnsText_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./actions/ens/getEnsText.js */ \"./node_modules/viem/dist/esm/actions/ens/getEnsText.js\");\n/* harmony import */ var _utils_ens_labelhash_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/ens/labelhash.js */ \"./node_modules/viem/dist/esm/utils/ens/labelhash.js\");\n/* harmony import */ var _utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/ens/namehash.js */ \"./node_modules/viem/dist/esm/utils/ens/namehash.js\");\n\n\n\n\n\n\n\n\n//# sourceMappingURL=ens.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFxRDtBQUNXO0FBQ0Y7QUFDSjtBQUNRO0FBQ1I7QUFDTDtBQUNGO0FBQ25EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vucy5qcz9jYjExIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gJy4vdXRpbHMvZW5zL25vcm1hbGl6ZS5qcyc7XG5leHBvcnQgeyBnZXRFbnNBZGRyZXNzLCB9IGZyb20gJy4vYWN0aW9ucy9lbnMvZ2V0RW5zQWRkcmVzcy5qcyc7XG5leHBvcnQgeyBnZXRFbnNBdmF0YXIsIH0gZnJvbSAnLi9hY3Rpb25zL2Vucy9nZXRFbnNBdmF0YXIuanMnO1xuZXhwb3J0IHsgZ2V0RW5zTmFtZSwgfSBmcm9tICcuL2FjdGlvbnMvZW5zL2dldEVuc05hbWUuanMnO1xuZXhwb3J0IHsgZ2V0RW5zUmVzb2x2ZXIsIH0gZnJvbSAnLi9hY3Rpb25zL2Vucy9nZXRFbnNSZXNvbHZlci5qcyc7XG5leHBvcnQgeyBnZXRFbnNUZXh0LCB9IGZyb20gJy4vYWN0aW9ucy9lbnMvZ2V0RW5zVGV4dC5qcyc7XG5leHBvcnQgeyBsYWJlbGhhc2ggfSBmcm9tICcuL3V0aWxzL2Vucy9sYWJlbGhhc2guanMnO1xuZXhwb3J0IHsgbmFtZWhhc2ggfSBmcm9tICcuL3V0aWxzL2Vucy9uYW1laGFzaC5qcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/ens.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/abi.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/abi.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbiConstructorNotFoundError: function() { return /* binding */ AbiConstructorNotFoundError; },\n/* harmony export */ AbiConstructorParamsNotFoundError: function() { return /* binding */ AbiConstructorParamsNotFoundError; },\n/* harmony export */ AbiDecodingDataSizeInvalidError: function() { return /* binding */ AbiDecodingDataSizeInvalidError; },\n/* harmony export */ AbiDecodingDataSizeTooSmallError: function() { return /* binding */ AbiDecodingDataSizeTooSmallError; },\n/* harmony export */ AbiDecodingZeroDataError: function() { return /* binding */ AbiDecodingZeroDataError; },\n/* harmony export */ AbiEncodingArrayLengthMismatchError: function() { return /* binding */ AbiEncodingArrayLengthMismatchError; },\n/* harmony export */ AbiEncodingBytesSizeMismatchError: function() { return /* binding */ AbiEncodingBytesSizeMismatchError; },\n/* harmony export */ AbiEncodingLengthMismatchError: function() { return /* binding */ AbiEncodingLengthMismatchError; },\n/* harmony export */ AbiErrorInputsNotFoundError: function() { return /* binding */ AbiErrorInputsNotFoundError; },\n/* harmony export */ AbiErrorNotFoundError: function() { return /* binding */ AbiErrorNotFoundError; },\n/* harmony export */ AbiErrorSignatureNotFoundError: function() { return /* binding */ AbiErrorSignatureNotFoundError; },\n/* harmony export */ AbiEventNotFoundError: function() { return /* binding */ AbiEventNotFoundError; },\n/* harmony export */ AbiEventSignatureEmptyTopicsError: function() { return /* binding */ AbiEventSignatureEmptyTopicsError; },\n/* harmony export */ AbiEventSignatureNotFoundError: function() { return /* binding */ AbiEventSignatureNotFoundError; },\n/* harmony export */ AbiFunctionNotFoundError: function() { return /* binding */ AbiFunctionNotFoundError; },\n/* harmony export */ AbiFunctionOutputsNotFoundError: function() { return /* binding */ AbiFunctionOutputsNotFoundError; },\n/* harmony export */ AbiFunctionSignatureNotFoundError: function() { return /* binding */ AbiFunctionSignatureNotFoundError; },\n/* harmony export */ BytesSizeMismatchError: function() { return /* binding */ BytesSizeMismatchError; },\n/* harmony export */ DecodeLogDataMismatch: function() { return /* binding */ DecodeLogDataMismatch; },\n/* harmony export */ DecodeLogTopicsMismatch: function() { return /* binding */ DecodeLogTopicsMismatch; },\n/* harmony export */ InvalidAbiDecodingTypeError: function() { return /* binding */ InvalidAbiDecodingTypeError; },\n/* harmony export */ InvalidAbiEncodingTypeError: function() { return /* binding */ InvalidAbiEncodingTypeError; },\n/* harmony export */ InvalidArrayError: function() { return /* binding */ InvalidArrayError; },\n/* harmony export */ InvalidDefinitionTypeError: function() { return /* binding */ InvalidDefinitionTypeError; },\n/* harmony export */ UnsupportedPackedAbiType: function() { return /* binding */ UnsupportedPackedAbiType; }\n/* harmony export */ });\n/* harmony import */ var _utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/abi/formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n/* harmony import */ var _utils_data_size_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\n\n\nclass AbiConstructorNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ docsPath }) {\n super([\n 'A constructor was not found on the ABI.',\n 'Make sure you are using the correct ABI and that the constructor exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiConstructorNotFoundError'\n });\n }\n}\nclass AbiConstructorParamsNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ docsPath }) {\n super([\n 'Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.',\n 'Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiConstructorParamsNotFoundError'\n });\n }\n}\nclass AbiDecodingDataSizeInvalidError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ data, size }) {\n super([\n `Data size of ${size} bytes is invalid.`,\n 'Size must be in increments of 32 bytes (size % 32 === 0).',\n ].join('\\n'), { metaMessages: [`Data: ${data} (${size} bytes)`] });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingDataSizeInvalidError'\n });\n }\n}\nclass AbiDecodingDataSizeTooSmallError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ data, params, size, }) {\n super([`Data size of ${size} bytes is too small for given parameters.`].join('\\n'), {\n metaMessages: [\n `Params: (${(0,_utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_1__.formatAbiParams)(params, { includeName: true })})`,\n `Data: ${data} (${size} bytes)`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingDataSizeTooSmallError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n this.params = params;\n this.size = size;\n }\n}\nclass AbiDecodingZeroDataError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor() {\n super('Cannot decode zero data (\"0x\") with ABI parameters.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingZeroDataError'\n });\n }\n}\nclass AbiEncodingArrayLengthMismatchError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ expectedLength, givenLength, type, }) {\n super([\n `ABI encoding array length mismatch for type ${type}.`,\n `Expected length: ${expectedLength}`,\n `Given length: ${givenLength}`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingArrayLengthMismatchError'\n });\n }\n}\nclass AbiEncodingBytesSizeMismatchError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ expectedSize, value }) {\n super(`Size of bytes \"${value}\" (bytes${(0,_utils_data_size_js__WEBPACK_IMPORTED_MODULE_2__.size)(value)}) does not match expected size (bytes${expectedSize}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingBytesSizeMismatchError'\n });\n }\n}\nclass AbiEncodingLengthMismatchError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ expectedLength, givenLength, }) {\n super([\n 'ABI encoding params/values length mismatch.',\n `Expected length (params): ${expectedLength}`,\n `Given length (values): ${givenLength}`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingLengthMismatchError'\n });\n }\n}\nclass AbiErrorInputsNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(errorName, { docsPath }) {\n super([\n `Arguments (\\`args\\`) were provided to \"${errorName}\", but \"${errorName}\" on the ABI does not contain any parameters (\\`inputs\\`).`,\n 'Cannot encode error result without knowing what the parameter types are.',\n 'Make sure you are using the correct ABI and that the inputs exist on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorInputsNotFoundError'\n });\n }\n}\nclass AbiErrorNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(errorName, { docsPath } = {}) {\n super([\n `Error ${errorName ? `\"${errorName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorNotFoundError'\n });\n }\n}\nclass AbiErrorSignatureNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded error signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorSignatureNotFoundError'\n });\n }\n}\nclass AbiEventSignatureEmptyTopicsError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ docsPath }) {\n super('Cannot extract event signature from empty topics.', {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventSignatureEmptyTopicsError'\n });\n }\n}\nclass AbiEventSignatureNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded event signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the event exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventSignatureNotFoundError'\n });\n }\n}\nclass AbiEventNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(eventName, { docsPath } = {}) {\n super([\n `Event ${eventName ? `\"${eventName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the event exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventNotFoundError'\n });\n }\n}\nclass AbiFunctionNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(functionName, { docsPath } = {}) {\n super([\n `Function ${functionName ? `\"${functionName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the function exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionNotFoundError'\n });\n }\n}\nclass AbiFunctionOutputsNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(functionName, { docsPath }) {\n super([\n `Function \"${functionName}\" does not contain any \\`outputs\\` on ABI.`,\n 'Cannot decode function result without knowing what the parameter types are.',\n 'Make sure you are using the correct ABI and that the function exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionOutputsNotFoundError'\n });\n }\n}\nclass AbiFunctionSignatureNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded function signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the function exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionSignatureNotFoundError'\n });\n }\n}\nclass BytesSizeMismatchError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ expectedSize, givenSize, }) {\n super(`Expected bytes${expectedSize}, got bytes${givenSize}.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BytesSizeMismatchError'\n });\n }\n}\nclass DecodeLogDataMismatch extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ abiItem, data, params, size, }) {\n super([\n `Data size of ${size} bytes is too small for non-indexed event parameters.`,\n ].join('\\n'), {\n metaMessages: [\n `Params: (${(0,_utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_1__.formatAbiParams)(params, { includeName: true })})`,\n `Data: ${data} (${size} bytes)`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DecodeLogDataMismatch'\n });\n Object.defineProperty(this, \"abiItem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.abiItem = abiItem;\n this.data = data;\n this.params = params;\n this.size = size;\n }\n}\nclass DecodeLogTopicsMismatch extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ abiItem, param, }) {\n super([\n `Expected a topic for indexed event parameter${param.name ? ` \"${param.name}\"` : ''} on event \"${(0,_utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_1__.formatAbiItem)(abiItem, { includeName: true })}\".`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DecodeLogTopicsMismatch'\n });\n Object.defineProperty(this, \"abiItem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.abiItem = abiItem;\n }\n}\nclass InvalidAbiEncodingTypeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(type, { docsPath }) {\n super([\n `Type \"${type}\" is not a valid encoding type.`,\n 'Please provide a valid ABI type.',\n ].join('\\n'), { docsPath });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiEncodingType'\n });\n }\n}\nclass InvalidAbiDecodingTypeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(type, { docsPath }) {\n super([\n `Type \"${type}\" is not a valid decoding type.`,\n 'Please provide a valid ABI type.',\n ].join('\\n'), { docsPath });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiDecodingType'\n });\n }\n}\nclass InvalidArrayError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(value) {\n super([`Value \"${value}\" is not a valid array.`].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidArrayError'\n });\n }\n}\nclass InvalidDefinitionTypeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(type) {\n super([\n `\"${type}\" is not a valid definition type.`,\n 'Valid types: \"function\", \"event\", \"error\"',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidDefinitionTypeError'\n });\n }\n}\nclass UnsupportedPackedAbiType extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(type) {\n super(`Type \"${type}\" is not supported for packed encoding.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnsupportedPackedAbiType'\n });\n }\n}\n//# sourceMappingURL=abi.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYWJpLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0U7QUFDbEM7QUFDUDtBQUMvQiwwQ0FBMEMsK0NBQVM7QUFDMUQsa0JBQWtCLFVBQVU7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxnREFBZ0QsK0NBQVM7QUFDaEUsa0JBQWtCLFVBQVU7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyw4Q0FBOEMsK0NBQVM7QUFDOUQsa0JBQWtCLFlBQVk7QUFDOUI7QUFDQSw0QkFBNEIsTUFBTTtBQUNsQztBQUNBLHdCQUF3Qix3QkFBd0IsTUFBTSxHQUFHLE1BQU0sVUFBVTtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTywrQ0FBK0MsK0NBQVM7QUFDL0Qsa0JBQWtCLHFCQUFxQjtBQUN2QywrQkFBK0IsTUFBTTtBQUNyQztBQUNBLDRCQUE0Qiw0RUFBZSxXQUFXLG1CQUFtQixFQUFFO0FBQzNFLDJCQUEyQixNQUFNLEdBQUcsTUFBTTtBQUMxQztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyx1Q0FBdUMsK0NBQVM7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLGtEQUFrRCwrQ0FBUztBQUNsRSxrQkFBa0Isb0NBQW9DO0FBQ3REO0FBQ0EsMkRBQTJELEtBQUs7QUFDaEUsZ0NBQWdDLGVBQWU7QUFDL0MsNkJBQTZCLFlBQVk7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxnREFBZ0QsK0NBQVM7QUFDaEUsa0JBQWtCLHFCQUFxQjtBQUN2QyxnQ0FBZ0MsTUFBTSxVQUFVLHlEQUFJLFFBQVEsdUNBQXVDLGFBQWE7QUFDaEg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sNkNBQTZDLCtDQUFTO0FBQzdELGtCQUFrQiw4QkFBOEI7QUFDaEQ7QUFDQTtBQUNBLHlDQUF5QyxlQUFlO0FBQ3hELHNDQUFzQyxZQUFZO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sMENBQTBDLCtDQUFTO0FBQzFELDZCQUE2QixVQUFVO0FBQ3ZDO0FBQ0Esc0RBQXNELFVBQVUsVUFBVSxVQUFVO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLG9DQUFvQywrQ0FBUztBQUNwRCw2QkFBNkIsV0FBVyxJQUFJO0FBQzVDO0FBQ0EscUJBQXFCLGdCQUFnQixVQUFVLFNBQVM7QUFDeEQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLDZDQUE2QywrQ0FBUztBQUM3RCw2QkFBNkIsVUFBVTtBQUN2QztBQUNBLHdDQUF3QyxVQUFVO0FBQ2xEO0FBQ0EsMEZBQTBGLFVBQVU7QUFDcEc7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxnREFBZ0QsK0NBQVM7QUFDaEUsa0JBQWtCLFVBQVU7QUFDNUI7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyw2Q0FBNkMsK0NBQVM7QUFDN0QsNkJBQTZCLFVBQVU7QUFDdkM7QUFDQSx3Q0FBd0MsVUFBVTtBQUNsRDtBQUNBLDBGQUEwRixVQUFVO0FBQ3BHO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sb0NBQW9DLCtDQUFTO0FBQ3BELDZCQUE2QixXQUFXLElBQUk7QUFDNUM7QUFDQSxxQkFBcUIsZ0JBQWdCLFVBQVUsU0FBUztBQUN4RDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sdUNBQXVDLCtDQUFTO0FBQ3ZELGdDQUFnQyxXQUFXLElBQUk7QUFDL0M7QUFDQSx3QkFBd0IsbUJBQW1CLGFBQWEsU0FBUztBQUNqRTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sOENBQThDLCtDQUFTO0FBQzlELGdDQUFnQyxVQUFVO0FBQzFDO0FBQ0EseUJBQXlCLGFBQWE7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sZ0RBQWdELCtDQUFTO0FBQ2hFLDZCQUE2QixVQUFVO0FBQ3ZDO0FBQ0EsMkNBQTJDLFVBQVU7QUFDckQ7QUFDQSwwRkFBMEYsVUFBVTtBQUNwRztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLHFDQUFxQywrQ0FBUztBQUNyRCxrQkFBa0IsMEJBQTBCO0FBQzVDLCtCQUErQixhQUFhLGFBQWEsVUFBVTtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxvQ0FBb0MsK0NBQVM7QUFDcEQsa0JBQWtCLDhCQUE4QjtBQUNoRDtBQUNBLDRCQUE0QixNQUFNO0FBQ2xDO0FBQ0E7QUFDQSw0QkFBNEIsNEVBQWUsV0FBVyxtQkFBbUIsRUFBRTtBQUMzRSwyQkFBMkIsTUFBTSxHQUFHLE1BQU07QUFDMUM7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLHNDQUFzQywrQ0FBUztBQUN0RCxrQkFBa0IsaUJBQWlCO0FBQ25DO0FBQ0EsMkRBQTJELGtCQUFrQixXQUFXLFNBQVMsWUFBWSwwRUFBYSxZQUFZLG1CQUFtQixFQUFFO0FBQzNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNPLDBDQUEwQywrQ0FBUztBQUMxRCx3QkFBd0IsVUFBVTtBQUNsQztBQUNBLHFCQUFxQixLQUFLO0FBQzFCO0FBQ0Esd0JBQXdCLFVBQVU7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sMENBQTBDLCtDQUFTO0FBQzFELHdCQUF3QixVQUFVO0FBQ2xDO0FBQ0EscUJBQXFCLEtBQUs7QUFDMUI7QUFDQSx3QkFBd0IsVUFBVTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxnQ0FBZ0MsK0NBQVM7QUFDaEQ7QUFDQSx5QkFBeUIsTUFBTTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyx5Q0FBeUMsK0NBQVM7QUFDekQ7QUFDQTtBQUNBLGdCQUFnQixLQUFLO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyx1Q0FBdUMsK0NBQVM7QUFDdkQ7QUFDQSx1QkFBdUIsS0FBSztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYWJpLmpzPzBkMTAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0QWJpSXRlbSwgZm9ybWF0QWJpUGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMvYWJpL2Zvcm1hdEFiaUl0ZW0uanMnO1xuaW1wb3J0IHsgc2l6ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGEvc2l6ZS5qcyc7XG5pbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNsYXNzIEFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgICdBIGNvbnN0cnVjdG9yIHdhcyBub3QgZm91bmQgb24gdGhlIEFCSS4nLFxuICAgICAgICAgICAgJ01ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIHRoZSBjb3JyZWN0IEFCSSBhbmQgdGhhdCB0aGUgY29uc3RydWN0b3IgZXhpc3RzIG9uIGl0LicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHtcbiAgICAgICAgICAgIGRvY3NQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgICdDb25zdHJ1Y3RvciBhcmd1bWVudHMgd2VyZSBwcm92aWRlZCAoYGFyZ3NgKSwgYnV0IGEgY29uc3RydWN0b3IgcGFyYW1ldGVycyAoYGlucHV0c2ApIHdlcmUgbm90IGZvdW5kIG9uIHRoZSBBQkkuJyxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkksIGFuZCB0aGF0IHRoZSBgaW5wdXRzYCBhdHRyaWJ1dGUgb24gdGhlIGNvbnN0cnVjdG9yIGV4aXN0cy4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlDb25zdHJ1Y3RvclBhcmFtc05vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlEZWNvZGluZ0RhdGFTaXplSW52YWxpZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRhdGEsIHNpemUgfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRGF0YSBzaXplIG9mICR7c2l6ZX0gYnl0ZXMgaXMgaW52YWxpZC5gLFxuICAgICAgICAgICAgJ1NpemUgbXVzdCBiZSBpbiBpbmNyZW1lbnRzIG9mIDMyIGJ5dGVzIChzaXplICUgMzIgPT09IDApLicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHsgbWV0YU1lc3NhZ2VzOiBbYERhdGE6ICR7ZGF0YX0gKCR7c2l6ZX0gYnl0ZXMpYF0gfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlEZWNvZGluZ0RhdGFTaXplSW52YWxpZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZGF0YSwgcGFyYW1zLCBzaXplLCB9KSB7XG4gICAgICAgIHN1cGVyKFtgRGF0YSBzaXplIG9mICR7c2l6ZX0gYnl0ZXMgaXMgdG9vIHNtYWxsIGZvciBnaXZlbiBwYXJhbWV0ZXJzLmBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgUGFyYW1zOiAoJHtmb3JtYXRBYmlQYXJhbXMocGFyYW1zLCB7IGluY2x1ZGVOYW1lOiB0cnVlIH0pfSlgLFxuICAgICAgICAgICAgICAgIGBEYXRhOiAgICR7ZGF0YX0gKCR7c2l6ZX0gYnl0ZXMpYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkYXRhXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBhcmFtc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJzaXplXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgICAgICB0aGlzLnNpemUgPSBzaXplO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlEZWNvZGluZ1plcm9EYXRhRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignQ2Fubm90IGRlY29kZSB6ZXJvIGRhdGEgKFwiMHhcIikgd2l0aCBBQkkgcGFyYW1ldGVycy4nKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaURlY29kaW5nWmVyb0RhdGFFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEFiaUVuY29kaW5nQXJyYXlMZW5ndGhNaXNtYXRjaEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGV4cGVjdGVkTGVuZ3RoLCBnaXZlbkxlbmd0aCwgdHlwZSwgfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgQUJJIGVuY29kaW5nIGFycmF5IGxlbmd0aCBtaXNtYXRjaCBmb3IgdHlwZSAke3R5cGV9LmAsXG4gICAgICAgICAgICBgRXhwZWN0ZWQgbGVuZ3RoOiAke2V4cGVjdGVkTGVuZ3RofWAsXG4gICAgICAgICAgICBgR2l2ZW4gbGVuZ3RoOiAke2dpdmVuTGVuZ3RofWAsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRW5jb2RpbmdBcnJheUxlbmd0aE1pc21hdGNoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlFbmNvZGluZ0J5dGVzU2l6ZU1pc21hdGNoRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZXhwZWN0ZWRTaXplLCB2YWx1ZSB9KSB7XG4gICAgICAgIHN1cGVyKGBTaXplIG9mIGJ5dGVzIFwiJHt2YWx1ZX1cIiAoYnl0ZXMke3NpemUodmFsdWUpfSkgZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgc2l6ZSAoYnl0ZXMke2V4cGVjdGVkU2l6ZX0pLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRW5jb2RpbmdCeXRlc1NpemVNaXNtYXRjaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGV4cGVjdGVkTGVuZ3RoLCBnaXZlbkxlbmd0aCwgfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnQUJJIGVuY29kaW5nIHBhcmFtcy92YWx1ZXMgbGVuZ3RoIG1pc21hdGNoLicsXG4gICAgICAgICAgICBgRXhwZWN0ZWQgbGVuZ3RoIChwYXJhbXMpOiAke2V4cGVjdGVkTGVuZ3RofWAsXG4gICAgICAgICAgICBgR2l2ZW4gbGVuZ3RoICh2YWx1ZXMpOiAke2dpdmVuTGVuZ3RofWAsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWJpRXJyb3JJbnB1dHNOb3RGb3VuZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihlcnJvck5hbWUsIHsgZG9jc1BhdGggfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgQXJndW1lbnRzIChcXGBhcmdzXFxgKSB3ZXJlIHByb3ZpZGVkIHRvIFwiJHtlcnJvck5hbWV9XCIsIGJ1dCBcIiR7ZXJyb3JOYW1lfVwiIG9uIHRoZSBBQkkgZG9lcyBub3QgY29udGFpbiBhbnkgcGFyYW1ldGVycyAoXFxgaW5wdXRzXFxgKS5gLFxuICAgICAgICAgICAgJ0Nhbm5vdCBlbmNvZGUgZXJyb3IgcmVzdWx0IHdpdGhvdXQga25vd2luZyB3aGF0IHRoZSBwYXJhbWV0ZXIgdHlwZXMgYXJlLicsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBpbnB1dHMgZXhpc3Qgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRXJyb3JJbnB1dHNOb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWJpRXJyb3JOb3RGb3VuZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihlcnJvck5hbWUsIHsgZG9jc1BhdGggfSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFcnJvciAke2Vycm9yTmFtZSA/IGBcIiR7ZXJyb3JOYW1lfVwiIGAgOiAnJ31ub3QgZm91bmQgb24gQUJJLmAsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBlcnJvciBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRXJyb3JOb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWJpRXJyb3JTaWduYXR1cmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihzaWduYXR1cmUsIHsgZG9jc1BhdGggfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRW5jb2RlZCBlcnJvciBzaWduYXR1cmUgXCIke3NpZ25hdHVyZX1cIiBub3QgZm91bmQgb24gQUJJLmAsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBlcnJvciBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgICAgIGBZb3UgY2FuIGxvb2sgdXAgdGhlIHNpZ25hdHVyZSBoZXJlOiBodHRwczovL29wZW5jaGFpbi54eXovc2lnbmF0dXJlcz9xdWVyeT0ke3NpZ25hdHVyZX0uYCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRXJyb3JTaWduYXR1cmVOb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRvY3NQYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoJ0Nhbm5vdCBleHRyYWN0IGV2ZW50IHNpZ25hdHVyZSBmcm9tIGVtcHR5IHRvcGljcy4nLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlFdmVudFNpZ25hdHVyZUVtcHR5VG9waWNzRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlFdmVudFNpZ25hdHVyZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHNpZ25hdHVyZSwgeyBkb2NzUGF0aCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFbmNvZGVkIGV2ZW50IHNpZ25hdHVyZSBcIiR7c2lnbmF0dXJlfVwiIG5vdCBmb3VuZCBvbiBBQkkuYCxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkkgYW5kIHRoYXQgdGhlIGV2ZW50IGV4aXN0cyBvbiBpdC4nLFxuICAgICAgICAgICAgYFlvdSBjYW4gbG9vayB1cCB0aGUgc2lnbmF0dXJlIGhlcmU6IGh0dHBzOi8vb3BlbmNoYWluLnh5ei9zaWduYXR1cmVzP3F1ZXJ5PSR7c2lnbmF0dXJlfS5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlFdmVudFNpZ25hdHVyZU5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlFdmVudE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGV2ZW50TmFtZSwgeyBkb2NzUGF0aCB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYEV2ZW50ICR7ZXZlbnROYW1lID8gYFwiJHtldmVudE5hbWV9XCIgYCA6ICcnfW5vdCBmb3VuZCBvbiBBQkkuYCxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkkgYW5kIHRoYXQgdGhlIGV2ZW50IGV4aXN0cyBvbiBpdC4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlFdmVudE5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGZ1bmN0aW9uTmFtZSwgeyBkb2NzUGF0aCB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYEZ1bmN0aW9uICR7ZnVuY3Rpb25OYW1lID8gYFwiJHtmdW5jdGlvbk5hbWV9XCIgYCA6ICcnfW5vdCBmb3VuZCBvbiBBQkkuYCxcbiAgICAgICAgICAgICdNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBBQkkgYW5kIHRoYXQgdGhlIGZ1bmN0aW9uIGV4aXN0cyBvbiBpdC4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBYmlGdW5jdGlvbk91dHB1dHNOb3RGb3VuZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWUsIHsgZG9jc1BhdGggfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRnVuY3Rpb24gXCIke2Z1bmN0aW9uTmFtZX1cIiBkb2VzIG5vdCBjb250YWluIGFueSBcXGBvdXRwdXRzXFxgIG9uIEFCSS5gLFxuICAgICAgICAgICAgJ0Nhbm5vdCBkZWNvZGUgZnVuY3Rpb24gcmVzdWx0IHdpdGhvdXQga25vd2luZyB3aGF0IHRoZSBwYXJhbWV0ZXIgdHlwZXMgYXJlLicsXG4gICAgICAgICAgICAnTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGFuZCB0aGF0IHRoZSBmdW5jdGlvbiBleGlzdHMgb24gaXQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQWJpRnVuY3Rpb25PdXRwdXRzTm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEFiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3Ioc2lnbmF0dXJlLCB7IGRvY3NQYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYEVuY29kZWQgZnVuY3Rpb24gc2lnbmF0dXJlIFwiJHtzaWduYXR1cmV9XCIgbm90IGZvdW5kIG9uIEFCSS5gLFxuICAgICAgICAgICAgJ01ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIHRoZSBjb3JyZWN0IEFCSSBhbmQgdGhhdCB0aGUgZnVuY3Rpb24gZXhpc3RzIG9uIGl0LicsXG4gICAgICAgICAgICBgWW91IGNhbiBsb29rIHVwIHRoZSBzaWduYXR1cmUgaGVyZTogaHR0cHM6Ly9vcGVuY2hhaW4ueHl6L3NpZ25hdHVyZXM/cXVlcnk9JHtzaWduYXR1cmV9LmAsXG4gICAgICAgIF0uam9pbignXFxuJyksIHtcbiAgICAgICAgICAgIGRvY3NQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEJ5dGVzU2l6ZU1pc21hdGNoRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZXhwZWN0ZWRTaXplLCBnaXZlblNpemUsIH0pIHtcbiAgICAgICAgc3VwZXIoYEV4cGVjdGVkIGJ5dGVzJHtleHBlY3RlZFNpemV9LCBnb3QgYnl0ZXMke2dpdmVuU2l6ZX0uYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdCeXRlc1NpemVNaXNtYXRjaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgRGVjb2RlTG9nRGF0YU1pc21hdGNoIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGFiaUl0ZW0sIGRhdGEsIHBhcmFtcywgc2l6ZSwgfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgRGF0YSBzaXplIG9mICR7c2l6ZX0gYnl0ZXMgaXMgdG9vIHNtYWxsIGZvciBub24taW5kZXhlZCBldmVudCBwYXJhbWV0ZXJzLmAsXG4gICAgICAgIF0uam9pbignXFxuJyksIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIGBQYXJhbXM6ICgke2Zvcm1hdEFiaVBhcmFtcyhwYXJhbXMsIHsgaW5jbHVkZU5hbWU6IHRydWUgfSl9KWAsXG4gICAgICAgICAgICAgICAgYERhdGE6ICAgJHtkYXRhfSAoJHtzaXplfSBieXRlcylgLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdEZWNvZGVMb2dEYXRhTWlzbWF0Y2gnXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJhYmlJdGVtXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImRhdGFcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwicGFyYW1zXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNpemVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hYmlJdGVtID0gYWJpSXRlbTtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIERlY29kZUxvZ1RvcGljc01pc21hdGNoIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGFiaUl0ZW0sIHBhcmFtLCB9KSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBFeHBlY3RlZCBhIHRvcGljIGZvciBpbmRleGVkIGV2ZW50IHBhcmFtZXRlciR7cGFyYW0ubmFtZSA/IGAgXCIke3BhcmFtLm5hbWV9XCJgIDogJyd9IG9uIGV2ZW50IFwiJHtmb3JtYXRBYmlJdGVtKGFiaUl0ZW0sIHsgaW5jbHVkZU5hbWU6IHRydWUgfSl9XCIuYCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdEZWNvZGVMb2dUb3BpY3NNaXNtYXRjaCdcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImFiaUl0ZW1cIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hYmlJdGVtID0gYWJpSXRlbTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgSW52YWxpZEFiaUVuY29kaW5nVHlwZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCB7IGRvY3NQYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYFR5cGUgXCIke3R5cGV9XCIgaXMgbm90IGEgdmFsaWQgZW5jb2RpbmcgdHlwZS5gLFxuICAgICAgICAgICAgJ1BsZWFzZSBwcm92aWRlIGEgdmFsaWQgQUJJIHR5cGUuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwgeyBkb2NzUGF0aCB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRBYmlFbmNvZGluZ1R5cGUnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkQWJpRGVjb2RpbmdUeXBlRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHR5cGUsIHsgZG9jc1BhdGggfSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgVHlwZSBcIiR7dHlwZX1cIiBpcyBub3QgYSB2YWxpZCBkZWNvZGluZyB0eXBlLmAsXG4gICAgICAgICAgICAnUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBBQkkgdHlwZS4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7IGRvY3NQYXRoIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEFiaURlY29kaW5nVHlwZSdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRBcnJheUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZSkge1xuICAgICAgICBzdXBlcihbYFZhbHVlIFwiJHt2YWx1ZX1cIiBpcyBub3QgYSB2YWxpZCBhcnJheS5gXS5qb2luKCdcXG4nKSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQXJyYXlFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWREZWZpbml0aW9uVHlwZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlKSB7XG4gICAgICAgIHN1cGVyKFtcbiAgICAgICAgICAgIGBcIiR7dHlwZX1cIiBpcyBub3QgYSB2YWxpZCBkZWZpbml0aW9uIHR5cGUuYCxcbiAgICAgICAgICAgICdWYWxpZCB0eXBlczogXCJmdW5jdGlvblwiLCBcImV2ZW50XCIsIFwiZXJyb3JcIicsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZERlZmluaXRpb25UeXBlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZFBhY2tlZEFiaVR5cGUgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICAgICAgc3VwZXIoYFR5cGUgXCIke3R5cGV9XCIgaXMgbm90IHN1cHBvcnRlZCBmb3IgcGFja2VkIGVuY29kaW5nLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5zdXBwb3J0ZWRQYWNrZWRBYmlUeXBlJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hYmkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/abi.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/account.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/account.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AccountNotFoundError: function() { return /* binding */ AccountNotFoundError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass AccountNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ docsPath } = {}) {\n super([\n 'Could not find an Account to execute with this Action.',\n 'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the WalletClient.',\n ].join('\\n'), {\n docsPath,\n docsSlug: 'account',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AccountNotFoundError'\n });\n }\n}\n//# sourceMappingURL=account.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYWNjb3VudC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFzQztBQUMvQixtQ0FBbUMsK0NBQVM7QUFDbkQsa0JBQWtCLFdBQVcsSUFBSTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL2FjY291bnQuanM/ZTliMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNsYXNzIEFjY291bnROb3RGb3VuZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRvY3NQYXRoIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgYW4gQWNjb3VudCB0byBleGVjdXRlIHdpdGggdGhpcyBBY3Rpb24uJyxcbiAgICAgICAgICAgICdQbGVhc2UgcHJvdmlkZSBhbiBBY2NvdW50IHdpdGggdGhlIGBhY2NvdW50YCBhcmd1bWVudCBvbiB0aGUgQWN0aW9uLCBvciBieSBzdXBwbHlpbmcgYW4gYGFjY291bnRgIHRvIHRoZSBXYWxsZXRDbGllbnQuJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgICAgICBkb2NzU2x1ZzogJ2FjY291bnQnLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0FjY291bnROb3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hY2NvdW50LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/account.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/address.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/address.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvalidAddressError: function() { return /* binding */ InvalidAddressError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass InvalidAddressError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ address }) {\n super(`Address \"${address}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAddressError'\n });\n }\n}\n//# sourceMappingURL=address.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFzQztBQUMvQixrQ0FBa0MsK0NBQVM7QUFDbEQsa0JBQWtCLFNBQVM7QUFDM0IsMEJBQTBCLFFBQVE7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL2FkZHJlc3MuanM/ZjM1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNsYXNzIEludmFsaWRBZGRyZXNzRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYWRkcmVzcyB9KSB7XG4gICAgICAgIHN1cGVyKGBBZGRyZXNzIFwiJHthZGRyZXNzfVwiIGlzIGludmFsaWQuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkQWRkcmVzc0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGRyZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/address.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/base.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/base.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseError: function() { return /* binding */ BaseError; }\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/esm/errors/utils.js\");\n\nclass BaseError extends Error {\n constructor(shortMessage, args = {}) {\n super();\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ViemError'\n });\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getVersion)()\n });\n const details = args.cause instanceof BaseError\n ? args.cause.details\n : args.cause?.message\n ? args.cause.message\n : args.details;\n const docsPath = args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n this.message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsPath\n ? [\n `Docs: https://viem.sh${docsPath}.html${args.docsSlug ? `#${args.docsSlug}` : ''}`,\n ]\n : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: ${this.version}`,\n ].join('\\n');\n if (args.cause)\n this.cause = args.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.shortMessage = shortMessage;\n }\n walk(fn) {\n return walk(this, fn);\n }\n}\nfunction walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err.cause)\n return walk(err.cause, fn);\n return err;\n}\n//# sourceMappingURL=base.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYmFzZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUF3QztBQUNqQztBQUNQLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixxREFBVTtBQUM3QixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxTQUFTLE9BQU8sb0JBQW9CLGNBQWMsT0FBTztBQUNyRztBQUNBO0FBQ0EsdUNBQXVDLFFBQVE7QUFDL0Msd0JBQXdCLGFBQWE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYmFzZS5qcz80OTc4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFZlcnNpb24gfSBmcm9tICcuL3V0aWxzLmpzJztcbmV4cG9ydCBjbGFzcyBCYXNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3Ioc2hvcnRNZXNzYWdlLCBhcmdzID0ge30pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZGV0YWlsc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkb2NzUGF0aFwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJtZXRhTWVzc2FnZXNcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic2hvcnRNZXNzYWdlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdWaWVtRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2ZXJzaW9uXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiBnZXRWZXJzaW9uKClcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBhcmdzLmNhdXNlIGluc3RhbmNlb2YgQmFzZUVycm9yXG4gICAgICAgICAgICA/IGFyZ3MuY2F1c2UuZGV0YWlsc1xuICAgICAgICAgICAgOiBhcmdzLmNhdXNlPy5tZXNzYWdlXG4gICAgICAgICAgICAgICAgPyBhcmdzLmNhdXNlLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICA6IGFyZ3MuZGV0YWlscztcbiAgICAgICAgY29uc3QgZG9jc1BhdGggPSBhcmdzLmNhdXNlIGluc3RhbmNlb2YgQmFzZUVycm9yXG4gICAgICAgICAgICA/IGFyZ3MuY2F1c2UuZG9jc1BhdGggfHwgYXJncy5kb2NzUGF0aFxuICAgICAgICAgICAgOiBhcmdzLmRvY3NQYXRoO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBbXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2UgfHwgJ0FuIGVycm9yIG9jY3VycmVkLicsXG4gICAgICAgICAgICAnJyxcbiAgICAgICAgICAgIC4uLihhcmdzLm1ldGFNZXNzYWdlcyA/IFsuLi5hcmdzLm1ldGFNZXNzYWdlcywgJyddIDogW10pLFxuICAgICAgICAgICAgLi4uKGRvY3NQYXRoXG4gICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgIGBEb2NzOiBodHRwczovL3ZpZW0uc2gke2RvY3NQYXRofS5odG1sJHthcmdzLmRvY3NTbHVnID8gYCMke2FyZ3MuZG9jc1NsdWd9YCA6ICcnfWAsXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgLi4uKGRldGFpbHMgPyBbYERldGFpbHM6ICR7ZGV0YWlsc31gXSA6IFtdKSxcbiAgICAgICAgICAgIGBWZXJzaW9uOiAke3RoaXMudmVyc2lvbn1gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpO1xuICAgICAgICBpZiAoYXJncy5jYXVzZSlcbiAgICAgICAgICAgIHRoaXMuY2F1c2UgPSBhcmdzLmNhdXNlO1xuICAgICAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmRvY3NQYXRoID0gZG9jc1BhdGg7XG4gICAgICAgIHRoaXMubWV0YU1lc3NhZ2VzID0gYXJncy5tZXRhTWVzc2FnZXM7XG4gICAgICAgIHRoaXMuc2hvcnRNZXNzYWdlID0gc2hvcnRNZXNzYWdlO1xuICAgIH1cbiAgICB3YWxrKGZuKSB7XG4gICAgICAgIHJldHVybiB3YWxrKHRoaXMsIGZuKTtcbiAgICB9XG59XG5mdW5jdGlvbiB3YWxrKGVyciwgZm4pIHtcbiAgICBpZiAoZm4/LihlcnIpKVxuICAgICAgICByZXR1cm4gZXJyO1xuICAgIGlmIChlcnIuY2F1c2UpXG4gICAgICAgIHJldHVybiB3YWxrKGVyci5jYXVzZSwgZm4pO1xuICAgIHJldHVybiBlcnI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYXNlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/base.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/block.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/block.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BlockNotFoundError: function() { return /* binding */ BlockNotFoundError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass BlockNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ blockHash, blockNumber, }) {\n let identifier = 'Block';\n if (blockHash)\n identifier = `Block at hash \"${blockHash}\"`;\n if (blockNumber)\n identifier = `Block at number \"${blockNumber}\"`;\n super(`${identifier} could not be found.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BlockNotFoundError'\n });\n }\n}\n//# sourceMappingURL=block.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvYmxvY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBc0M7QUFDL0IsaUNBQWlDLCtDQUFTO0FBQ2pELGtCQUFrQix5QkFBeUI7QUFDM0M7QUFDQTtBQUNBLDJDQUEyQyxVQUFVO0FBQ3JEO0FBQ0EsNkNBQTZDLFlBQVk7QUFDekQsaUJBQWlCLFlBQVk7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL2Jsb2NrLmpzP2U3MTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi9iYXNlLmpzJztcbmV4cG9ydCBjbGFzcyBCbG9ja05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYmxvY2tIYXNoLCBibG9ja051bWJlciwgfSkge1xuICAgICAgICBsZXQgaWRlbnRpZmllciA9ICdCbG9jayc7XG4gICAgICAgIGlmIChibG9ja0hhc2gpXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gYEJsb2NrIGF0IGhhc2ggXCIke2Jsb2NrSGFzaH1cImA7XG4gICAgICAgIGlmIChibG9ja051bWJlcilcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBgQmxvY2sgYXQgbnVtYmVyIFwiJHtibG9ja051bWJlcn1cImA7XG4gICAgICAgIHN1cGVyKGAke2lkZW50aWZpZXJ9IGNvdWxkIG5vdCBiZSBmb3VuZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0Jsb2NrTm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmxvY2suanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/block.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/ccip.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/ccip.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OffchainLookupError: function() { return /* binding */ OffchainLookupError; },\n/* harmony export */ OffchainLookupResponseMalformedError: function() { return /* binding */ OffchainLookupResponseMalformedError; },\n/* harmony export */ OffchainLookupSenderMismatchError: function() { return /* binding */ OffchainLookupSenderMismatchError; }\n/* harmony export */ });\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/esm/errors/utils.js\");\n\n\n\nclass OffchainLookupError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getUrl)(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupError'\n });\n }\n}\nclass OffchainLookupResponseMalformedError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getUrl)(url)}`,\n `Response: ${(0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__.stringify)(result)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupResponseMalformedError'\n });\n }\n}\nclass OffchainLookupSenderMismatchError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupSenderMismatchError'\n });\n }\n}\n//# sourceMappingURL=ccip.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvY2NpcC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBa0Q7QUFDWjtBQUNGO0FBQzdCLGtDQUFrQywrQ0FBUztBQUNsRCxrQkFBa0IseURBQXlEO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxpREFBTSxNQUFNO0FBQzVEO0FBQ0EsNkJBQTZCLE9BQU87QUFDcEMsMkJBQTJCLEtBQUs7QUFDaEMsd0NBQXdDLGlCQUFpQjtBQUN6RCxpQ0FBaUMsVUFBVTtBQUMzQztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxtREFBbUQsK0NBQVM7QUFDbkUsa0JBQWtCLGFBQWE7QUFDL0I7QUFDQTtBQUNBLGdDQUFnQyxpREFBTSxNQUFNO0FBQzVDLDZCQUE2Qiw4REFBUyxTQUFTO0FBQy9DO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLGdEQUFnRCwrQ0FBUztBQUNoRSxrQkFBa0IsWUFBWTtBQUM5QjtBQUNBO0FBQ0EscUNBQXFDLEdBQUc7QUFDeEMsa0RBQWtELE9BQU87QUFDekQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL2NjaXAuanM/ZTk1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuLi91dGlscy9zdHJpbmdpZnkuanMnO1xuaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi9iYXNlLmpzJztcbmltcG9ydCB7IGdldFVybCB9IGZyb20gJy4vdXRpbHMuanMnO1xuZXhwb3J0IGNsYXNzIE9mZmNoYWluTG9va3VwRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2FsbGJhY2tTZWxlY3RvciwgY2F1c2UsIGRhdGEsIGV4dHJhRGF0YSwgc2VuZGVyLCB1cmxzLCB9KSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLnNob3J0TWVzc2FnZSB8fFxuICAgICAgICAgICAgJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIGZvciBhbiBvZmZjaGFpbiByZXN1bHQuJywge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4oY2F1c2UubWV0YU1lc3NhZ2VzIHx8IFtdKSxcbiAgICAgICAgICAgICAgICBjYXVzZS5tZXRhTWVzc2FnZXM/Lmxlbmd0aCA/ICcnIDogW10sXG4gICAgICAgICAgICAgICAgJ09mZmNoYWluIEdhdGV3YXkgQ2FsbDonLFxuICAgICAgICAgICAgICAgIHVybHMgJiYgW1xuICAgICAgICAgICAgICAgICAgICAnICBHYXRld2F5IFVSTChzKTonLFxuICAgICAgICAgICAgICAgICAgICAuLi51cmxzLm1hcCgodXJsKSA9PiBgICAgICR7Z2V0VXJsKHVybCl9YCksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBgICBTZW5kZXI6ICR7c2VuZGVyfWAsXG4gICAgICAgICAgICAgICAgYCAgRGF0YTogJHtkYXRhfWAsXG4gICAgICAgICAgICAgICAgYCAgQ2FsbGJhY2sgc2VsZWN0b3I6ICR7Y2FsbGJhY2tTZWxlY3Rvcn1gLFxuICAgICAgICAgICAgICAgIGAgIEV4dHJhIGRhdGE6ICR7ZXh0cmFEYXRhfWAsXG4gICAgICAgICAgICBdLmZsYXQoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdPZmZjaGFpbkxvb2t1cEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgT2ZmY2hhaW5Mb29rdXBSZXNwb25zZU1hbGZvcm1lZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHJlc3VsdCwgdXJsIH0pIHtcbiAgICAgICAgc3VwZXIoJ09mZmNoYWluIGdhdGV3YXkgcmVzcG9uc2UgaXMgbWFsZm9ybWVkLiBSZXNwb25zZSBkYXRhIG11c3QgYmUgYSBoZXggdmFsdWUuJywge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgYEdhdGV3YXkgVVJMOiAke2dldFVybCh1cmwpfWAsXG4gICAgICAgICAgICAgICAgYFJlc3BvbnNlOiAke3N0cmluZ2lmeShyZXN1bHQpfWAsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ09mZmNoYWluTG9va3VwUmVzcG9uc2VNYWxmb3JtZWRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIE9mZmNoYWluTG9va3VwU2VuZGVyTWlzbWF0Y2hFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBzZW5kZXIsIHRvIH0pIHtcbiAgICAgICAgc3VwZXIoJ1JldmVydGVkIHNlbmRlciBhZGRyZXNzIGRvZXMgbm90IG1hdGNoIHRhcmdldCBjb250cmFjdCBhZGRyZXNzIChgdG9gKS4nLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBgQ29udHJhY3QgYWRkcmVzczogJHt0b31gLFxuICAgICAgICAgICAgICAgIGBPZmZjaGFpbkxvb2t1cCBzZW5kZXIgYWRkcmVzczogJHtzZW5kZXJ9YCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnT2ZmY2hhaW5Mb29rdXBTZW5kZXJNaXNtYXRjaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jY2lwLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/ccip.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/chain.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/chain.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainDoesNotSupportContract: function() { return /* binding */ ChainDoesNotSupportContract; },\n/* harmony export */ ChainMismatchError: function() { return /* binding */ ChainMismatchError; },\n/* harmony export */ ChainNotFoundError: function() { return /* binding */ ChainNotFoundError; },\n/* harmony export */ ClientChainNotConfiguredError: function() { return /* binding */ ClientChainNotConfiguredError; },\n/* harmony export */ InvalidChainIdError: function() { return /* binding */ InvalidChainIdError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass ChainDoesNotSupportContract extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ blockNumber, chain, contract, }) {\n super(`Chain \"${chain.name}\" does not support contract \"${contract.name}\".`, {\n metaMessages: [\n 'This could be due to any of the following:',\n ...(blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n ? [\n `- The contract \"${contract.name}\" was not deployed until block ${contract.blockCreated} (current block ${blockNumber}).`,\n ]\n : [\n `- The chain does not have the contract \"${contract.name}\" configured.`,\n ]),\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainDoesNotSupportContract'\n });\n }\n}\nclass ChainMismatchError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ chain, currentChainId, }) {\n super(`The current chain of the wallet (id: ${currentChainId}) does not match the target chain for the transaction (id: ${chain.id} – ${chain.name}).`, {\n metaMessages: [\n `Current Chain ID: ${currentChainId}`,\n `Expected Chain ID: ${chain.id} – ${chain.name}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainMismatchError'\n });\n }\n}\nclass ChainNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor() {\n super([\n 'No chain was provided to the request.',\n 'Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainNotFoundError'\n });\n }\n}\nclass ClientChainNotConfiguredError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor() {\n super('No chain was provided to the Client.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ClientChainNotConfiguredError'\n });\n }\n}\nclass InvalidChainIdError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ chainId }) {\n super(`Chain ID \"${chainId}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidChainIdError'\n });\n }\n}\n//# sourceMappingURL=chain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvY2hhaW4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXNDO0FBQy9CLDBDQUEwQywrQ0FBUztBQUMxRCxrQkFBa0IsK0JBQStCO0FBQ2pELHdCQUF3QixXQUFXLCtCQUErQixjQUFjO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxjQUFjLGlDQUFpQyx1QkFBdUIsaUJBQWlCLFlBQVk7QUFDOUk7QUFDQTtBQUNBLG1FQUFtRSxjQUFjO0FBQ2pGO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08saUNBQWlDLCtDQUFTO0FBQ2pELGtCQUFrQix3QkFBd0I7QUFDMUMsc0RBQXNELGVBQWUsNkRBQTZELFVBQVUsSUFBSSxXQUFXO0FBQzNKO0FBQ0Esc0NBQXNDLGVBQWU7QUFDckQsc0NBQXNDLFVBQVUsSUFBSSxXQUFXO0FBQy9EO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLGlDQUFpQywrQ0FBUztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sNENBQTRDLCtDQUFTO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxrQ0FBa0MsK0NBQVM7QUFDbEQsa0JBQWtCLFNBQVM7QUFDM0IsMkJBQTJCLFFBQVE7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL2NoYWluLmpzP2NlMmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi9iYXNlLmpzJztcbmV4cG9ydCBjbGFzcyBDaGFpbkRvZXNOb3RTdXBwb3J0Q29udHJhY3QgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYmxvY2tOdW1iZXIsIGNoYWluLCBjb250cmFjdCwgfSkge1xuICAgICAgICBzdXBlcihgQ2hhaW4gXCIke2NoYWluLm5hbWV9XCIgZG9lcyBub3Qgc3VwcG9ydCBjb250cmFjdCBcIiR7Y29udHJhY3QubmFtZX1cIi5gLCB7XG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAnVGhpcyBjb3VsZCBiZSBkdWUgdG8gYW55IG9mIHRoZSBmb2xsb3dpbmc6JyxcbiAgICAgICAgICAgICAgICAuLi4oYmxvY2tOdW1iZXIgJiZcbiAgICAgICAgICAgICAgICAgICAgY29udHJhY3QuYmxvY2tDcmVhdGVkICYmXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0LmJsb2NrQ3JlYXRlZCA+IGJsb2NrTnVtYmVyXG4gICAgICAgICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgICAgICAgYC0gVGhlIGNvbnRyYWN0IFwiJHtjb250cmFjdC5uYW1lfVwiIHdhcyBub3QgZGVwbG95ZWQgdW50aWwgYmxvY2sgJHtjb250cmFjdC5ibG9ja0NyZWF0ZWR9IChjdXJyZW50IGJsb2NrICR7YmxvY2tOdW1iZXJ9KS5gLFxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgYC0gVGhlIGNoYWluIGRvZXMgbm90IGhhdmUgdGhlIGNvbnRyYWN0IFwiJHtjb250cmFjdC5uYW1lfVwiIGNvbmZpZ3VyZWQuYCxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0NoYWluRG9lc05vdFN1cHBvcnRDb250cmFjdCdcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIENoYWluTWlzbWF0Y2hFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjaGFpbiwgY3VycmVudENoYWluSWQsIH0pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBjdXJyZW50IGNoYWluIG9mIHRoZSB3YWxsZXQgKGlkOiAke2N1cnJlbnRDaGFpbklkfSkgZG9lcyBub3QgbWF0Y2ggdGhlIHRhcmdldCBjaGFpbiBmb3IgdGhlIHRyYW5zYWN0aW9uIChpZDogJHtjaGFpbi5pZH0g4oCTICR7Y2hhaW4ubmFtZX0pLmAsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIGBDdXJyZW50IENoYWluIElEOiAgJHtjdXJyZW50Q2hhaW5JZH1gLFxuICAgICAgICAgICAgICAgIGBFeHBlY3RlZCBDaGFpbiBJRDogJHtjaGFpbi5pZH0g4oCTICR7Y2hhaW4ubmFtZX1gLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDaGFpbk1pc21hdGNoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBDaGFpbk5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnTm8gY2hhaW4gd2FzIHByb3ZpZGVkIHRvIHRoZSByZXF1ZXN0LicsXG4gICAgICAgICAgICAnUGxlYXNlIHByb3ZpZGUgYSBjaGFpbiB3aXRoIHRoZSBgY2hhaW5gIGFyZ3VtZW50IG9uIHRoZSBBY3Rpb24sIG9yIGJ5IHN1cHBseWluZyBhIGBjaGFpbmAgdG8gV2FsbGV0Q2xpZW50LicsXG4gICAgICAgIF0uam9pbignXFxuJykpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ2hhaW5Ob3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQ2xpZW50Q2hhaW5Ob3RDb25maWd1cmVkRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignTm8gY2hhaW4gd2FzIHByb3ZpZGVkIHRvIHRoZSBDbGllbnQuJyk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDbGllbnRDaGFpbk5vdENvbmZpZ3VyZWRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRDaGFpbklkRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2hhaW5JZCB9KSB7XG4gICAgICAgIHN1cGVyKGBDaGFpbiBJRCBcIiR7Y2hhaW5JZH1cIiBpcyBpbnZhbGlkLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZENoYWluSWRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2hhaW4uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/chain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/contract.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/contract.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CallExecutionError: function() { return /* binding */ CallExecutionError; },\n/* harmony export */ ContractFunctionExecutionError: function() { return /* binding */ ContractFunctionExecutionError; },\n/* harmony export */ ContractFunctionRevertedError: function() { return /* binding */ ContractFunctionRevertedError; },\n/* harmony export */ ContractFunctionZeroDataError: function() { return /* binding */ ContractFunctionZeroDataError; },\n/* harmony export */ RawContractError: function() { return /* binding */ RawContractError; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _constants_solidity_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../constants/solidity.js */ \"./node_modules/viem/dist/esm/constants/solidity.js\");\n/* harmony import */ var _utils_abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/abi/decodeErrorResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js\");\n/* harmony import */ var _utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/abi/formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n/* harmony import */ var _utils_abi_formatAbiItemWithArgs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/abi/formatAbiItemWithArgs.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItemWithArgs.js\");\n/* harmony import */ var _utils_abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/abi/getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n/* harmony import */ var _utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/unit/formatEther.js */ \"./node_modules/viem/dist/esm/utils/unit/formatEther.js\");\n/* harmony import */ var _utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/formatGwei.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _transaction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/esm/errors/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\nclass CallExecutionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(cause, { account: account_, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const account = account_ ? (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account_) : undefined;\n const prettyArgs = (0,_transaction_js__WEBPACK_IMPORTED_MODULE_2__.prettyPrint)({\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${(0,_utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_3__.formatEther)(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_4__.formatGwei)(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_4__.formatGwei)(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_4__.formatGwei)(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Raw Call Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'CallExecutionError'\n });\n this.cause = cause;\n }\n}\nclass ContractFunctionExecutionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(cause, { abi, args, contractAddress, docsPath, functionName, sender, }) {\n const abiItem = (0,_utils_abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_5__.getAbiItem)({ abi, args, name: functionName });\n const formattedArgs = abiItem\n ? (0,_utils_abi_formatAbiItemWithArgs_js__WEBPACK_IMPORTED_MODULE_6__.formatAbiItemWithArgs)({\n abiItem,\n args,\n includeFunctionName: false,\n includeName: false,\n })\n : undefined;\n const functionWithParams = abiItem\n ? (0,_utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_7__.formatAbiItem)(abiItem, { includeName: true })\n : undefined;\n const prettyArgs = (0,_transaction_js__WEBPACK_IMPORTED_MODULE_2__.prettyPrint)({\n address: contractAddress && (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.getContractAddress)(contractAddress),\n function: functionWithParams,\n args: formattedArgs &&\n formattedArgs !== '()' &&\n `${[...Array(functionName?.length ?? 0).keys()]\n .map(() => ' ')\n .join('')}${formattedArgs}`,\n sender,\n });\n super(cause.shortMessage ||\n `An unknown error occurred while executing the contract function \"${functionName}\".`, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Contract Call:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"abi\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"args\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"contractAddress\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"formattedArgs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"functionName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"sender\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionExecutionError'\n });\n this.abi = abi;\n this.args = args;\n this.cause = cause;\n this.contractAddress = contractAddress;\n this.functionName = functionName;\n this.sender = sender;\n }\n}\nclass ContractFunctionRevertedError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ abi, data, functionName, message, }) {\n let decodedData = undefined;\n let metaMessages;\n let reason;\n if (data && data !== '0x') {\n decodedData = (0,_utils_abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_9__.decodeErrorResult)({ abi, data });\n const { abiItem, errorName, args: errorArgs } = decodedData;\n if (errorName === 'Error') {\n reason = errorArgs[0];\n }\n else if (errorName === 'Panic') {\n const [firstArg] = errorArgs;\n reason = _constants_solidity_js__WEBPACK_IMPORTED_MODULE_10__.panicReasons[firstArg];\n }\n else {\n const errorWithParams = abiItem\n ? (0,_utils_abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_7__.formatAbiItem)(abiItem, { includeName: true })\n : undefined;\n const formattedArgs = abiItem && errorArgs\n ? (0,_utils_abi_formatAbiItemWithArgs_js__WEBPACK_IMPORTED_MODULE_6__.formatAbiItemWithArgs)({\n abiItem,\n args: errorArgs,\n includeFunctionName: false,\n includeName: false,\n })\n : undefined;\n metaMessages = [\n errorWithParams ? `Error: ${errorWithParams}` : '',\n formattedArgs && formattedArgs !== '()'\n ? ` ${[...Array(errorName?.length ?? 0).keys()]\n .map(() => ' ')\n .join('')}${formattedArgs}`\n : '',\n ];\n }\n }\n else if (message)\n reason = message;\n super(reason && reason !== 'execution reverted'\n ? [\n `The contract function \"${functionName}\" reverted with the following reason:`,\n reason,\n ].join('\\n')\n : `The contract function \"${functionName}\" reverted.`, {\n metaMessages,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionRevertedError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reason\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.reason = reason;\n this.data = decodedData;\n }\n}\nclass ContractFunctionZeroDataError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ functionName }) {\n super(`The contract function \"${functionName}\" returned no data (\"0x\").`, {\n metaMessages: [\n 'This could be due to any of the following:',\n ` - The contract does not have the function \"${functionName}\",`,\n ' - The parameters passed to the contract function may be invalid, or',\n ' - The address is not a contract.',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionZeroDataError'\n });\n }\n}\nclass RawContractError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ data, message, }) {\n super(message || '');\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 3\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RawContractError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n }\n}\n//# sourceMappingURL=contract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvY29udHJhY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFpRTtBQUNUO0FBQ2U7QUFDVDtBQUNnQjtBQUN0QjtBQUNHO0FBQ0Y7QUFDbkI7QUFDUztBQUNDO0FBQ3pDLGlDQUFpQywrQ0FBUztBQUNqRCx5QkFBeUIsZ0hBQWdIO0FBQ3pJLG1DQUFtQyw2RUFBWTtBQUMvQywyQkFBMkIsNERBQVc7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHVFQUFXLFNBQVMsRUFBRSxzQ0FBc0M7QUFDL0U7QUFDQTtBQUNBLDREQUE0RCxxRUFBVSxZQUFZO0FBQ2xGO0FBQ0EsbUJBQW1CLHFFQUFVLGdCQUFnQjtBQUM3QztBQUNBLG1CQUFtQixxRUFBVSx3QkFBd0I7QUFDckQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ08sNkNBQTZDLCtDQUFTO0FBQzdELHlCQUF5Qiw2REFBNkQ7QUFDdEYsd0JBQXdCLG9FQUFVLEdBQUcsK0JBQStCO0FBQ3BFO0FBQ0EsY0FBYywwRkFBcUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGNBQWMsMEVBQWEsWUFBWSxtQkFBbUI7QUFDMUQ7QUFDQSwyQkFBMkIsNERBQVc7QUFDdEMsd0NBQXdDLDZEQUFrQjtBQUMxRDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQSw4QkFBOEIsRUFBRSxjQUFjO0FBQzlDO0FBQ0EsU0FBUztBQUNUO0FBQ0EsZ0ZBQWdGLGFBQWE7QUFDN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyw0Q0FBNEMsK0NBQVM7QUFDNUQsa0JBQWtCLG1DQUFtQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixrRkFBaUIsR0FBRyxXQUFXO0FBQ3pELG9CQUFvQixzQ0FBc0M7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixpRUFBWTtBQUNyQztBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsMEVBQWEsWUFBWSxtQkFBbUI7QUFDbEU7QUFDQTtBQUNBLHNCQUFzQiwwRkFBcUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGdEQUFnRCxnQkFBZ0I7QUFDaEU7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQSxzQ0FBc0MsRUFBRSxjQUFjO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsYUFBYTtBQUN2RDtBQUNBO0FBQ0Esd0NBQXdDLGFBQWE7QUFDckQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDTyw0Q0FBNEMsK0NBQVM7QUFDNUQsa0JBQWtCLGNBQWM7QUFDaEMsd0NBQXdDLGFBQWE7QUFDckQ7QUFDQTtBQUNBLGdFQUFnRSxhQUFhO0FBQzdFO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTywrQkFBK0IsK0NBQVM7QUFDL0Msa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vycm9ycy9jb250cmFjdC5qcz9iMGRjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQWNjb3VudCB9IGZyb20gJy4uL2FjY291bnRzL3V0aWxzL3BhcnNlQWNjb3VudC5qcyc7XG5pbXBvcnQgeyBwYW5pY1JlYXNvbnMgfSBmcm9tICcuLi9jb25zdGFudHMvc29saWRpdHkuanMnO1xuaW1wb3J0IHsgZGVjb2RlRXJyb3JSZXN1bHQsIH0gZnJvbSAnLi4vdXRpbHMvYWJpL2RlY29kZUVycm9yUmVzdWx0LmpzJztcbmltcG9ydCB7IGZvcm1hdEFiaUl0ZW0gfSBmcm9tICcuLi91dGlscy9hYmkvZm9ybWF0QWJpSXRlbS5qcyc7XG5pbXBvcnQgeyBmb3JtYXRBYmlJdGVtV2l0aEFyZ3MgfSBmcm9tICcuLi91dGlscy9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzJztcbmltcG9ydCB7IGdldEFiaUl0ZW0gfSBmcm9tICcuLi91dGlscy9hYmkvZ2V0QWJpSXRlbS5qcyc7XG5pbXBvcnQgeyBmb3JtYXRFdGhlciB9IGZyb20gJy4uL3V0aWxzL3VuaXQvZm9ybWF0RXRoZXIuanMnO1xuaW1wb3J0IHsgZm9ybWF0R3dlaSB9IGZyb20gJy4uL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qcyc7XG5pbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuaW1wb3J0IHsgcHJldHR5UHJpbnQgfSBmcm9tICcuL3RyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IGdldENvbnRyYWN0QWRkcmVzcyB9IGZyb20gJy4vdXRpbHMuanMnO1xuZXhwb3J0IGNsYXNzIENhbGxFeGVjdXRpb25FcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UsIHsgYWNjb3VudDogYWNjb3VudF8sIGRvY3NQYXRoLCBjaGFpbiwgZGF0YSwgZ2FzLCBnYXNQcmljZSwgbWF4RmVlUGVyR2FzLCBtYXhQcmlvcml0eUZlZVBlckdhcywgbm9uY2UsIHRvLCB2YWx1ZSwgfSkge1xuICAgICAgICBjb25zdCBhY2NvdW50ID0gYWNjb3VudF8gPyBwYXJzZUFjY291bnQoYWNjb3VudF8pIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmV0dHlBcmdzID0gcHJldHR5UHJpbnQoe1xuICAgICAgICAgICAgZnJvbTogYWNjb3VudD8uYWRkcmVzcyxcbiAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgdmFsdWU6IHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHtmb3JtYXRFdGhlcih2YWx1ZSl9ICR7Y2hhaW4/Lm5hdGl2ZUN1cnJlbmN5LnN5bWJvbCB8fCAnRVRIJ31gLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgIGdhc1ByaWNlOiB0eXBlb2YgZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnICYmIGAke2Zvcm1hdEd3ZWkoZ2FzUHJpY2UpfSBnd2VpYCxcbiAgICAgICAgICAgIG1heEZlZVBlckdhczogdHlwZW9mIG1heEZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHtmb3JtYXRHd2VpKG1heEZlZVBlckdhcyl9IGd3ZWlgLFxuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBgJHtmb3JtYXRHd2VpKG1heFByaW9yaXR5RmVlUGVyR2FzKX0gZ3dlaWAsXG4gICAgICAgICAgICBub25jZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyKGNhdXNlLnNob3J0TWVzc2FnZSwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIC4uLihjYXVzZS5tZXRhTWVzc2FnZXMgPyBbLi4uY2F1c2UubWV0YU1lc3NhZ2VzLCAnICddIDogW10pLFxuICAgICAgICAgICAgICAgICdSYXcgQ2FsbCBBcmd1bWVudHM6JyxcbiAgICAgICAgICAgICAgICBwcmV0dHlBcmdzLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjYXVzZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ2FsbEV4ZWN1dGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXVzZSA9IGNhdXNlO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBDb250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlLCB7IGFiaSwgYXJncywgY29udHJhY3RBZGRyZXNzLCBkb2NzUGF0aCwgZnVuY3Rpb25OYW1lLCBzZW5kZXIsIH0pIHtcbiAgICAgICAgY29uc3QgYWJpSXRlbSA9IGdldEFiaUl0ZW0oeyBhYmksIGFyZ3MsIG5hbWU6IGZ1bmN0aW9uTmFtZSB9KTtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkQXJncyA9IGFiaUl0ZW1cbiAgICAgICAgICAgID8gZm9ybWF0QWJpSXRlbVdpdGhBcmdzKHtcbiAgICAgICAgICAgICAgICBhYmlJdGVtLFxuICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgaW5jbHVkZUZ1bmN0aW9uTmFtZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgaW5jbHVkZU5hbWU6IGZhbHNlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmdW5jdGlvbldpdGhQYXJhbXMgPSBhYmlJdGVtXG4gICAgICAgICAgICA/IGZvcm1hdEFiaUl0ZW0oYWJpSXRlbSwgeyBpbmNsdWRlTmFtZTogdHJ1ZSB9KVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHByZXR0eUFyZ3MgPSBwcmV0dHlQcmludCh7XG4gICAgICAgICAgICBhZGRyZXNzOiBjb250cmFjdEFkZHJlc3MgJiYgZ2V0Q29udHJhY3RBZGRyZXNzKGNvbnRyYWN0QWRkcmVzcyksXG4gICAgICAgICAgICBmdW5jdGlvbjogZnVuY3Rpb25XaXRoUGFyYW1zLFxuICAgICAgICAgICAgYXJnczogZm9ybWF0dGVkQXJncyAmJlxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZEFyZ3MgIT09ICcoKScgJiZcbiAgICAgICAgICAgICAgICBgJHtbLi4uQXJyYXkoZnVuY3Rpb25OYW1lPy5sZW5ndGggPz8gMCkua2V5cygpXVxuICAgICAgICAgICAgICAgICAgICAubWFwKCgpID0+ICcgJylcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpfSR7Zm9ybWF0dGVkQXJnc31gLFxuICAgICAgICAgICAgc2VuZGVyLFxuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIoY2F1c2Uuc2hvcnRNZXNzYWdlIHx8XG4gICAgICAgICAgICBgQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhlIGNvbnRyYWN0IGZ1bmN0aW9uIFwiJHtmdW5jdGlvbk5hbWV9XCIuYCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgIC4uLihjYXVzZS5tZXRhTWVzc2FnZXMgPyBbLi4uY2F1c2UubWV0YU1lc3NhZ2VzLCAnICddIDogW10pLFxuICAgICAgICAgICAgICAgICdDb250cmFjdCBDYWxsOicsXG4gICAgICAgICAgICAgICAgcHJldHR5QXJncyxcbiAgICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYWJpXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImFyZ3NcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY2F1c2VcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY29udHJhY3RBZGRyZXNzXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImZvcm1hdHRlZEFyZ3NcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZnVuY3Rpb25OYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNlbmRlclwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hYmkgPSBhYmk7XG4gICAgICAgIHRoaXMuYXJncyA9IGFyZ3M7XG4gICAgICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcbiAgICAgICAgdGhpcy5jb250cmFjdEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3M7XG4gICAgICAgIHRoaXMuZnVuY3Rpb25OYW1lID0gZnVuY3Rpb25OYW1lO1xuICAgICAgICB0aGlzLnNlbmRlciA9IHNlbmRlcjtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQ29udHJhY3RGdW5jdGlvblJldmVydGVkRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYWJpLCBkYXRhLCBmdW5jdGlvbk5hbWUsIG1lc3NhZ2UsIH0pIHtcbiAgICAgICAgbGV0IGRlY29kZWREYXRhID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgbWV0YU1lc3NhZ2VzO1xuICAgICAgICBsZXQgcmVhc29uO1xuICAgICAgICBpZiAoZGF0YSAmJiBkYXRhICE9PSAnMHgnKSB7XG4gICAgICAgICAgICBkZWNvZGVkRGF0YSA9IGRlY29kZUVycm9yUmVzdWx0KHsgYWJpLCBkYXRhIH0pO1xuICAgICAgICAgICAgY29uc3QgeyBhYmlJdGVtLCBlcnJvck5hbWUsIGFyZ3M6IGVycm9yQXJncyB9ID0gZGVjb2RlZERhdGE7XG4gICAgICAgICAgICBpZiAoZXJyb3JOYW1lID09PSAnRXJyb3InKSB7XG4gICAgICAgICAgICAgICAgcmVhc29uID0gZXJyb3JBcmdzWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3JOYW1lID09PSAnUGFuaWMnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2ZpcnN0QXJnXSA9IGVycm9yQXJncztcbiAgICAgICAgICAgICAgICByZWFzb24gPSBwYW5pY1JlYXNvbnNbZmlyc3RBcmddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JXaXRoUGFyYW1zID0gYWJpSXRlbVxuICAgICAgICAgICAgICAgICAgICA/IGZvcm1hdEFiaUl0ZW0oYWJpSXRlbSwgeyBpbmNsdWRlTmFtZTogdHJ1ZSB9KVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRBcmdzID0gYWJpSXRlbSAmJiBlcnJvckFyZ3NcbiAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXRBYmlJdGVtV2l0aEFyZ3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWJpSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M6IGVycm9yQXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVGdW5jdGlvbk5hbWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZU5hbWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBtZXRhTWVzc2FnZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIGVycm9yV2l0aFBhcmFtcyA/IGBFcnJvcjogJHtlcnJvcldpdGhQYXJhbXN9YCA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRBcmdzICYmIGZvcm1hdHRlZEFyZ3MgIT09ICcoKSdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gYCAgICAgICAke1suLi5BcnJheShlcnJvck5hbWU/Lmxlbmd0aCA/PyAwKS5rZXlzKCldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoKSA9PiAnICcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpfSR7Zm9ybWF0dGVkQXJnc31gXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobWVzc2FnZSlcbiAgICAgICAgICAgIHJlYXNvbiA9IG1lc3NhZ2U7XG4gICAgICAgIHN1cGVyKHJlYXNvbiAmJiByZWFzb24gIT09ICdleGVjdXRpb24gcmV2ZXJ0ZWQnXG4gICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICBgVGhlIGNvbnRyYWN0IGZ1bmN0aW9uIFwiJHtmdW5jdGlvbk5hbWV9XCIgcmV2ZXJ0ZWQgd2l0aCB0aGUgZm9sbG93aW5nIHJlYXNvbjpgLFxuICAgICAgICAgICAgICAgIHJlYXNvbixcbiAgICAgICAgICAgIF0uam9pbignXFxuJylcbiAgICAgICAgICAgIDogYFRoZSBjb250cmFjdCBmdW5jdGlvbiBcIiR7ZnVuY3Rpb25OYW1lfVwiIHJldmVydGVkLmAsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlcyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdDb250cmFjdEZ1bmN0aW9uUmV2ZXJ0ZWRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImRhdGFcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwicmVhc29uXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgICAgICB0aGlzLmRhdGEgPSBkZWNvZGVkRGF0YTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZnVuY3Rpb25OYW1lIH0pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBjb250cmFjdCBmdW5jdGlvbiBcIiR7ZnVuY3Rpb25OYW1lfVwiIHJldHVybmVkIG5vIGRhdGEgKFwiMHhcIikuYCwge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgJ1RoaXMgY291bGQgYmUgZHVlIHRvIGFueSBvZiB0aGUgZm9sbG93aW5nOicsXG4gICAgICAgICAgICAgICAgYCAgLSBUaGUgY29udHJhY3QgZG9lcyBub3QgaGF2ZSB0aGUgZnVuY3Rpb24gXCIke2Z1bmN0aW9uTmFtZX1cIixgLFxuICAgICAgICAgICAgICAgICcgIC0gVGhlIHBhcmFtZXRlcnMgcGFzc2VkIHRvIHRoZSBjb250cmFjdCBmdW5jdGlvbiBtYXkgYmUgaW52YWxpZCwgb3InLFxuICAgICAgICAgICAgICAgICcgIC0gVGhlIGFkZHJlc3MgaXMgbm90IGEgY29udHJhY3QuJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSYXdDb250cmFjdEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGRhdGEsIG1lc3NhZ2UsIH0pIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSB8fCAnJyk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImNvZGVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IDNcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdSYXdDb250cmFjdEVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZGF0YVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnRyYWN0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/contract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/data.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/data.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SizeExceedsPaddingSizeError: function() { return /* binding */ SizeExceedsPaddingSizeError; },\n/* harmony export */ SliceOffsetOutOfBoundsError: function() { return /* binding */ SliceOffsetOutOfBoundsError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass SliceOffsetOutOfBoundsError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ offset, position, size, }) {\n super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SliceOffsetOutOfBoundsError'\n });\n }\n}\nclass SizeExceedsPaddingSizeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SizeExceedsPaddingSizeError'\n });\n }\n}\n//# sourceMappingURL=data.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZGF0YS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0M7QUFDL0IsMENBQTBDLCtDQUFTO0FBQzFELGtCQUFrQix5QkFBeUI7QUFDM0MsdUJBQXVCLDhDQUE4QyxhQUFhLE9BQU8sNEJBQTRCLEtBQUs7QUFDMUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sMENBQTBDLCtDQUFTO0FBQzFELGtCQUFrQix5QkFBeUI7QUFDM0MsaUJBQWlCLDZCQUE2QixFQUFFO0FBQ2hEO0FBQ0EsNEJBQTRCLFFBQVEsS0FBSywwQkFBMEIsV0FBVztBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZGF0YS5qcz9lNzRjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgY2xhc3MgU2xpY2VPZmZzZXRPdXRPZkJvdW5kc0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IG9mZnNldCwgcG9zaXRpb24sIHNpemUsIH0pIHtcbiAgICAgICAgc3VwZXIoYFNsaWNlICR7cG9zaXRpb24gPT09ICdzdGFydCcgPyAnc3RhcnRpbmcnIDogJ2VuZGluZyd9IGF0IG9mZnNldCBcIiR7b2Zmc2V0fVwiIGlzIG91dC1vZi1ib3VuZHMgKHNpemU6ICR7c2l6ZX0pLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnU2xpY2VPZmZzZXRPdXRPZkJvdW5kc0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHNpemUsIHRhcmdldFNpemUsIHR5cGUsIH0pIHtcbiAgICAgICAgc3VwZXIoYCR7dHlwZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke3R5cGVcbiAgICAgICAgICAgIC5zbGljZSgxKVxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCl9IHNpemUgKCR7c2l6ZX0pIGV4Y2VlZHMgcGFkZGluZyBzaXplICgke3RhcmdldFNpemV9KS5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1NpemVFeGNlZWRzUGFkZGluZ1NpemVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/data.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/encoding.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/encoding.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DataLengthTooLongError: function() { return /* binding */ DataLengthTooLongError; },\n/* harmony export */ DataLengthTooShortError: function() { return /* binding */ DataLengthTooShortError; },\n/* harmony export */ IntegerOutOfRangeError: function() { return /* binding */ IntegerOutOfRangeError; },\n/* harmony export */ InvalidBytesBooleanError: function() { return /* binding */ InvalidBytesBooleanError; },\n/* harmony export */ InvalidHexBooleanError: function() { return /* binding */ InvalidHexBooleanError; },\n/* harmony export */ InvalidHexValueError: function() { return /* binding */ InvalidHexValueError; },\n/* harmony export */ OffsetOutOfBoundsError: function() { return /* binding */ OffsetOutOfBoundsError; },\n/* harmony export */ SizeOverflowError: function() { return /* binding */ SizeOverflowError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass DataLengthTooLongError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ consumed, length }) {\n super(`Consumed bytes (${consumed}) is shorter than data length (${length - 1}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DataLengthTooLongError'\n });\n }\n}\nclass DataLengthTooShortError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ length, dataLength }) {\n super(`Data length (${dataLength - 1}) is shorter than prefix length (${length - 1}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DataLengthTooShortError'\n });\n }\n}\nclass IntegerOutOfRangeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ max, min, signed, size, value, }) {\n super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntegerOutOfRangeError'\n });\n }\n}\nclass InvalidBytesBooleanError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(bytes) {\n super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidBytesBooleanError'\n });\n }\n}\nclass InvalidHexBooleanError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(hex) {\n super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidHexBooleanError'\n });\n }\n}\nclass InvalidHexValueError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(value) {\n super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidHexValueError'\n });\n }\n}\nclass OffsetOutOfBoundsError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ nextOffset, offset }) {\n super(`Next offset (${nextOffset}) is greater than previous offset + consumed bytes (${offset})`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffsetOutOfBoundsError'\n });\n }\n}\nclass SizeOverflowError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ givenSize, maxSize }) {\n super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SizeOverflowError'\n });\n }\n}\n//# sourceMappingURL=encoding.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZW5jb2RpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQXNDO0FBQy9CLHFDQUFxQywrQ0FBUztBQUNyRCxrQkFBa0Isa0JBQWtCO0FBQ3BDLGlDQUFpQyxTQUFTLGlDQUFpQyxXQUFXO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLHNDQUFzQywrQ0FBUztBQUN0RCxrQkFBa0Isb0JBQW9CO0FBQ3RDLDhCQUE4QixlQUFlLG1DQUFtQyxXQUFXO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLHFDQUFxQywrQ0FBUztBQUNyRCxrQkFBa0IsZ0NBQWdDO0FBQ2xELHlCQUF5QixNQUFNLG1CQUFtQixVQUFVLFNBQVMsT0FBTyxnQ0FBZ0MsT0FBTyxnQkFBZ0IsVUFBVSxLQUFLLEtBQUssSUFBSSxlQUFlLElBQUksR0FBRztBQUNqTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyx1Q0FBdUMsK0NBQVM7QUFDdkQ7QUFDQSw4QkFBOEIsTUFBTTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxxQ0FBcUMsK0NBQVM7QUFDckQ7QUFDQSw0QkFBNEIsSUFBSTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxtQ0FBbUMsK0NBQVM7QUFDbkQ7QUFDQSw0QkFBNEIsTUFBTSxzQkFBc0IsYUFBYTtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxxQ0FBcUMsK0NBQVM7QUFDckQsa0JBQWtCLG9CQUFvQjtBQUN0Qyw4QkFBOEIsV0FBVyxzREFBc0QsT0FBTztBQUN0RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxnQ0FBZ0MsK0NBQVM7QUFDaEQsa0JBQWtCLG9CQUFvQjtBQUN0QyxvQ0FBb0MsU0FBUyxxQkFBcUIsV0FBVztBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZW5jb2RpbmcuanM/ZTY5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNsYXNzIERhdGFMZW5ndGhUb29Mb25nRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY29uc3VtZWQsIGxlbmd0aCB9KSB7XG4gICAgICAgIHN1cGVyKGBDb25zdW1lZCBieXRlcyAoJHtjb25zdW1lZH0pIGlzIHNob3J0ZXIgdGhhbiBkYXRhIGxlbmd0aCAoJHtsZW5ndGggLSAxfSkuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdEYXRhTGVuZ3RoVG9vTG9uZ0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgbGVuZ3RoLCBkYXRhTGVuZ3RoIH0pIHtcbiAgICAgICAgc3VwZXIoYERhdGEgbGVuZ3RoICgke2RhdGFMZW5ndGggLSAxfSkgaXMgc2hvcnRlciB0aGFuIHByZWZpeCBsZW5ndGggKCR7bGVuZ3RoIC0gMX0pLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnRlZ2VyT3V0T2ZSYW5nZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IG1heCwgbWluLCBzaWduZWQsIHNpemUsIHZhbHVlLCB9KSB7XG4gICAgICAgIHN1cGVyKGBOdW1iZXIgXCIke3ZhbHVlfVwiIGlzIG5vdCBpbiBzYWZlICR7c2l6ZSA/IGAke3NpemUgKiA4fS1iaXQgJHtzaWduZWQgPyAnc2lnbmVkJyA6ICd1bnNpZ25lZCd9IGAgOiAnJ31pbnRlZ2VyIHJhbmdlICR7bWF4ID8gYCgke21pbn0gdG8gJHttYXh9KWAgOiBgKGFib3ZlICR7bWlufSlgfWApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW50ZWdlck91dE9mUmFuZ2VFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRCeXRlc0Jvb2xlYW5FcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoYnl0ZXMpIHtcbiAgICAgICAgc3VwZXIoYEJ5dGVzIHZhbHVlIFwiJHtieXRlc31cIiBpcyBub3QgYSB2YWxpZCBib29sZWFuLiBUaGUgYnl0ZXMgYXJyYXkgbXVzdCBjb250YWluIGEgc2luZ2xlIGJ5dGUgb2YgZWl0aGVyIGEgMCBvciAxIHZhbHVlLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEJ5dGVzQm9vbGVhbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgSW52YWxpZEhleEJvb2xlYW5FcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoaGV4KSB7XG4gICAgICAgIHN1cGVyKGBIZXggdmFsdWUgXCIke2hleH1cIiBpcyBub3QgYSB2YWxpZCBib29sZWFuLiBUaGUgaGV4IHZhbHVlIG11c3QgYmUgXCIweDBcIiAoZmFsc2UpIG9yIFwiMHgxXCIgKHRydWUpLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEhleEJvb2xlYW5FcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRIZXhWYWx1ZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZSkge1xuICAgICAgICBzdXBlcihgSGV4IHZhbHVlIFwiJHt2YWx1ZX1cIiBpcyBhbiBvZGQgbGVuZ3RoICgke3ZhbHVlLmxlbmd0aH0pLiBJdCBtdXN0IGJlIGFuIGV2ZW4gbGVuZ3RoLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZEhleFZhbHVlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBPZmZzZXRPdXRPZkJvdW5kc0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IG5leHRPZmZzZXQsIG9mZnNldCB9KSB7XG4gICAgICAgIHN1cGVyKGBOZXh0IG9mZnNldCAoJHtuZXh0T2Zmc2V0fSkgaXMgZ3JlYXRlciB0aGFuIHByZXZpb3VzIG9mZnNldCArIGNvbnN1bWVkIGJ5dGVzICgke29mZnNldH0pYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdPZmZzZXRPdXRPZkJvdW5kc0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgU2l6ZU92ZXJmbG93RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZ2l2ZW5TaXplLCBtYXhTaXplIH0pIHtcbiAgICAgICAgc3VwZXIoYFNpemUgY2Fubm90IGV4Y2VlZCAke21heFNpemV9IGJ5dGVzLiBHaXZlbiBzaXplOiAke2dpdmVuU2l6ZX0gYnl0ZXMuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdTaXplT3ZlcmZsb3dFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RpbmcuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/encoding.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/ens.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/ens.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EnsAvatarInvalidMetadataError: function() { return /* binding */ EnsAvatarInvalidMetadataError; },\n/* harmony export */ EnsAvatarInvalidNftUriError: function() { return /* binding */ EnsAvatarInvalidNftUriError; },\n/* harmony export */ EnsAvatarUnsupportedNamespaceError: function() { return /* binding */ EnsAvatarUnsupportedNamespaceError; },\n/* harmony export */ EnsAvatarUriResolutionError: function() { return /* binding */ EnsAvatarUriResolutionError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass EnsAvatarInvalidMetadataError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ data }) {\n super('Unable to extract image from metadata. The metadata may be malformed or invalid.', {\n metaMessages: [\n '- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.',\n '',\n `Provided data: ${JSON.stringify(data)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidMetadataError'\n });\n }\n}\nclass EnsAvatarInvalidNftUriError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ reason }) {\n super(`ENS NFT avatar URI is invalid. ${reason}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidNftUriError'\n });\n }\n}\nclass EnsAvatarUriResolutionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ uri }) {\n super(`Unable to resolve ENS avatar URI \"${uri}\". The URI may be malformed, invalid, or does not respond with a valid image.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUriResolutionError'\n });\n }\n}\nclass EnsAvatarUnsupportedNamespaceError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ namespace }) {\n super(`ENS NFT avatar namespace \"${namespace}\" is not supported. Must be \"erc721\" or \"erc1155\".`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUnsupportedNamespaceError'\n });\n }\n}\n//# sourceMappingURL=ens.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZW5zLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXNDO0FBQy9CLDRDQUE0QywrQ0FBUztBQUM1RCxrQkFBa0IsTUFBTTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxxQkFBcUI7QUFDdkQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sMENBQTBDLCtDQUFTO0FBQzFELGtCQUFrQixRQUFRO0FBQzFCLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLDBDQUEwQywrQ0FBUztBQUMxRCxrQkFBa0IsS0FBSztBQUN2QixtREFBbUQsSUFBSTtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxpREFBaUQsK0NBQVM7QUFDakUsa0JBQWtCLFdBQVc7QUFDN0IsMkNBQTJDLFVBQVU7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL2Vucy5qcz83Y2M0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgY2xhc3MgRW5zQXZhdGFySW52YWxpZE1ldGFkYXRhRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgZGF0YSB9KSB7XG4gICAgICAgIHN1cGVyKCdVbmFibGUgdG8gZXh0cmFjdCBpbWFnZSBmcm9tIG1ldGFkYXRhLiBUaGUgbWV0YWRhdGEgbWF5IGJlIG1hbGZvcm1lZCBvciBpbnZhbGlkLicsIHtcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgICctIE1ldGFkYXRhIG11c3QgYmUgYSBKU09OIG9iamVjdCB3aXRoIGF0IGxlYXN0IGFuIGBpbWFnZWAsIGBpbWFnZV91cmxgIG9yIGBpbWFnZV9kYXRhYCBwcm9wZXJ0eS4nLFxuICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgIGBQcm92aWRlZCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWAsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0Vuc0F2YXRhckludmFsaWRNZXRhZGF0YUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgRW5zQXZhdGFySW52YWxpZE5mdFVyaUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHJlYXNvbiB9KSB7XG4gICAgICAgIHN1cGVyKGBFTlMgTkZUIGF2YXRhciBVUkkgaXMgaW52YWxpZC4gJHtyZWFzb259YCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdFbnNBdmF0YXJJbnZhbGlkTmZ0VXJpRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBFbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgdXJpIH0pIHtcbiAgICAgICAgc3VwZXIoYFVuYWJsZSB0byByZXNvbHZlIEVOUyBhdmF0YXIgVVJJIFwiJHt1cml9XCIuIFRoZSBVUkkgbWF5IGJlIG1hbGZvcm1lZCwgaW52YWxpZCwgb3IgZG9lcyBub3QgcmVzcG9uZCB3aXRoIGEgdmFsaWQgaW1hZ2UuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdFbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBFbnNBdmF0YXJVbnN1cHBvcnRlZE5hbWVzcGFjZUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IG5hbWVzcGFjZSB9KSB7XG4gICAgICAgIHN1cGVyKGBFTlMgTkZUIGF2YXRhciBuYW1lc3BhY2UgXCIke25hbWVzcGFjZX1cIiBpcyBub3Qgc3VwcG9ydGVkLiBNdXN0IGJlIFwiZXJjNzIxXCIgb3IgXCJlcmMxMTU1XCIuYCk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdFbnNBdmF0YXJVbnN1cHBvcnRlZE5hbWVzcGFjZUVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/ens.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/estimateGas.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/estimateGas.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EstimateGasExecutionError: function() { return /* binding */ EstimateGasExecutionError; }\n/* harmony export */ });\n/* harmony import */ var _utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/unit/formatEther.js */ \"./node_modules/viem/dist/esm/utils/unit/formatEther.js\");\n/* harmony import */ var _utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/formatGwei.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _transaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n\n\n\n\nclass EstimateGasExecutionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const prettyArgs = (0,_transaction_js__WEBPACK_IMPORTED_MODULE_1__.prettyPrint)({\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${(0,_utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_2__.formatEther)(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_3__.formatGwei)(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_3__.formatGwei)(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_3__.formatGwei)(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Estimate Gas Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EstimateGasExecutionError'\n });\n this.cause = cause;\n }\n}\n//# sourceMappingURL=estimateGas.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZXN0aW1hdGVHYXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBMkQ7QUFDRjtBQUNuQjtBQUNTO0FBQ3hDLHdDQUF3QywrQ0FBUztBQUN4RCx5QkFBeUIsc0dBQXNHO0FBQy9ILDJCQUEyQiw0REFBVztBQUN0QztBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsdUVBQVcsU0FBUyxFQUFFLHNDQUFzQztBQUMvRTtBQUNBO0FBQ0EsNERBQTRELHFFQUFVLFlBQVk7QUFDbEY7QUFDQSxtQkFBbUIscUVBQVUsZ0JBQWdCO0FBQzdDO0FBQ0EsbUJBQW1CLHFFQUFVLHdCQUF3QjtBQUNyRDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvZXN0aW1hdGVHYXMuanM/OTJhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXRFdGhlciB9IGZyb20gJy4uL3V0aWxzL3VuaXQvZm9ybWF0RXRoZXIuanMnO1xuaW1wb3J0IHsgZm9ybWF0R3dlaSB9IGZyb20gJy4uL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qcyc7XG5pbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuaW1wb3J0IHsgcHJldHR5UHJpbnQgfSBmcm9tICcuL3RyYW5zYWN0aW9uLmpzJztcbmV4cG9ydCBjbGFzcyBFc3RpbWF0ZUdhc0V4ZWN1dGlvbkVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSwgeyBhY2NvdW50LCBkb2NzUGF0aCwgY2hhaW4sIGRhdGEsIGdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIG5vbmNlLCB0bywgdmFsdWUsIH0pIHtcbiAgICAgICAgY29uc3QgcHJldHR5QXJncyA9IHByZXR0eVByaW50KHtcbiAgICAgICAgICAgIGZyb206IGFjY291bnQ/LmFkZHJlc3MsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlOiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgYCR7Zm9ybWF0RXRoZXIodmFsdWUpfSAke2NoYWluPy5uYXRpdmVDdXJyZW5jeS5zeW1ib2wgfHwgJ0VUSCd9YCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZTogdHlwZW9mIGdhc1ByaWNlICE9PSAndW5kZWZpbmVkJyAmJiBgJHtmb3JtYXRHd2VpKGdhc1ByaWNlKX0gZ3dlaWAsXG4gICAgICAgICAgICBtYXhGZWVQZXJHYXM6IHR5cGVvZiBtYXhGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgYCR7Zm9ybWF0R3dlaShtYXhGZWVQZXJHYXMpfSBnd2VpYCxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiB0eXBlb2YgbWF4UHJpb3JpdHlGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgYCR7Zm9ybWF0R3dlaShtYXhQcmlvcml0eUZlZVBlckdhcyl9IGd3ZWlgLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgIH0pO1xuICAgICAgICBzdXBlcihjYXVzZS5zaG9ydE1lc3NhZ2UsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4oY2F1c2UubWV0YU1lc3NhZ2VzID8gWy4uLmNhdXNlLm1ldGFNZXNzYWdlcywgJyAnXSA6IFtdKSxcbiAgICAgICAgICAgICAgICAnRXN0aW1hdGUgR2FzIEFyZ3VtZW50czonLFxuICAgICAgICAgICAgICAgIHByZXR0eUFyZ3MsXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImNhdXNlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdFc3RpbWF0ZUdhc0V4ZWN1dGlvbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXVzZSA9IGNhdXNlO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzdGltYXRlR2FzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/estimateGas.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/log.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/log.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterTypeNotSupportedError: function() { return /* binding */ FilterTypeNotSupportedError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass FilterTypeNotSupportedError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(type) {\n super(`Filter type \"${type}\" is not supported.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FilterTypeNotSupportedError'\n });\n }\n}\n//# sourceMappingURL=log.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvbG9nLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXNDO0FBQy9CLDBDQUEwQywrQ0FBUztBQUMxRDtBQUNBLDhCQUE4QixLQUFLO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vycm9ycy9sb2cuanM/ZTE2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNsYXNzIEZpbHRlclR5cGVOb3RTdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IodHlwZSkge1xuICAgICAgICBzdXBlcihgRmlsdGVyIHR5cGUgXCIke3R5cGV9XCIgaXMgbm90IHN1cHBvcnRlZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ZpbHRlclR5cGVOb3RTdXBwb3J0ZWRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/log.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/node.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/node.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExecutionRevertedError: function() { return /* binding */ ExecutionRevertedError; },\n/* harmony export */ FeeCapTooHighError: function() { return /* binding */ FeeCapTooHighError; },\n/* harmony export */ FeeCapTooLowError: function() { return /* binding */ FeeCapTooLowError; },\n/* harmony export */ InsufficientFundsError: function() { return /* binding */ InsufficientFundsError; },\n/* harmony export */ IntrinsicGasTooHighError: function() { return /* binding */ IntrinsicGasTooHighError; },\n/* harmony export */ IntrinsicGasTooLowError: function() { return /* binding */ IntrinsicGasTooLowError; },\n/* harmony export */ NonceMaxValueError: function() { return /* binding */ NonceMaxValueError; },\n/* harmony export */ NonceTooHighError: function() { return /* binding */ NonceTooHighError; },\n/* harmony export */ NonceTooLowError: function() { return /* binding */ NonceTooLowError; },\n/* harmony export */ TipAboveFeeCapError: function() { return /* binding */ TipAboveFeeCapError; },\n/* harmony export */ TransactionTypeNotSupportedError: function() { return /* binding */ TransactionTypeNotSupportedError; },\n/* harmony export */ UnknownNodeError: function() { return /* binding */ UnknownNodeError; }\n/* harmony export */ });\n/* harmony import */ var _utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/formatGwei.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\n\n/**\n * geth: https://github.com/ethereum/go-ethereum/blob/master/core/error.go\n * https://github.com/ethereum/go-ethereum/blob/master/core/types/transaction.go#L34-L41\n *\n * erigon: https://github.com/ledgerwatch/erigon/blob/master/core/error.go\n * https://github.com/ledgerwatch/erigon/blob/master/core/types/transaction.go#L41-L46\n *\n * anvil: https://github.com/foundry-rs/foundry/blob/master/anvil/src/eth/error.rs#L108\n */\nclass ExecutionRevertedError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, message, } = {}) {\n const reason = message\n ?.replace('execution reverted: ', '')\n ?.replace('execution reverted', '');\n super(`Execution reverted ${reason ? `with reason: ${reason}` : 'for an unknown reason'}.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ExecutionRevertedError'\n });\n }\n}\nObject.defineProperty(ExecutionRevertedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 3\n});\nObject.defineProperty(ExecutionRevertedError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /execution reverted/\n});\n\nclass FeeCapTooHighError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, maxFeePerGas, } = {}) {\n super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_1__.formatGwei)(maxFeePerGas)} gwei` : ''}) cannot be higher than the maximum allowed value (2^256-1).`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeCapTooHigh'\n });\n }\n}\nObject.defineProperty(FeeCapTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/\n});\n\nclass FeeCapTooLowError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, maxFeePerGas, } = {}) {\n super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_1__.formatGwei)(maxFeePerGas)}` : ''} gwei) cannot be lower than the block base fee.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeCapTooLow'\n });\n }\n}\nObject.defineProperty(FeeCapTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/\n});\n\nclass NonceTooHighError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, nonce } = {}) {\n super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is higher than the next one expected.`, { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceTooHighError'\n });\n }\n}\nObject.defineProperty(NonceTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce too high/\n});\n\nclass NonceTooLowError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, nonce } = {}) {\n super([\n `Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is lower than the current nonce of the account.`,\n 'Try increasing the nonce or find the latest nonce with `getTransactionCount`.',\n ].join('\\n'), { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceTooLowError'\n });\n }\n}\nObject.defineProperty(NonceTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce too low|transaction already imported/\n});\n\nclass NonceMaxValueError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, nonce } = {}) {\n super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}exceeds the maximum allowed nonce.`, { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceMaxValueError'\n });\n }\n}\nObject.defineProperty(NonceMaxValueError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce has max value/\n});\n\nclass InsufficientFundsError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause } = {}) {\n super([\n 'The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.',\n ].join('\\n'), {\n cause,\n metaMessages: [\n 'This error could arise when the account does not have enough funds to:',\n ' - pay for the total gas fee,',\n ' - pay for the value to send.',\n ' ',\n 'The cost of the transaction is calculated as `gas * gas fee + value`, where:',\n ' - `gas` is the amount of gas needed for transaction to execute,',\n ' - `gas fee` is the gas fee,',\n ' - `value` is the amount of ether to send to the recipient.',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InsufficientFundsError'\n });\n }\n}\nObject.defineProperty(InsufficientFundsError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /insufficient funds/\n});\n\nclass IntrinsicGasTooHighError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, gas } = {}) {\n super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction exceeds the limit allowed for the block.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntrinsicGasTooHighError'\n });\n }\n}\nObject.defineProperty(IntrinsicGasTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /intrinsic gas too high|gas limit reached/\n});\n\nclass IntrinsicGasTooLowError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, gas } = {}) {\n super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction is too low.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntrinsicGasTooLowError'\n });\n }\n}\nObject.defineProperty(IntrinsicGasTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /intrinsic gas too low/\n});\n\nclass TransactionTypeNotSupportedError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause }) {\n super('The transaction type is not supported for this chain.', {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionTypeNotSupportedError'\n });\n }\n}\nObject.defineProperty(TransactionTypeNotSupportedError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /transaction type not valid/\n});\n\nclass TipAboveFeeCapError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause, maxPriorityFeePerGas, maxFeePerGas, } = {}) {\n super([\n `The provided tip (\\`maxPriorityFeePerGas\\`${maxPriorityFeePerGas\n ? ` = ${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_1__.formatGwei)(maxPriorityFeePerGas)} gwei`\n : ''}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_1__.formatGwei)(maxFeePerGas)} gwei` : ''}).`,\n ].join('\\n'), {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TipAboveFeeCapError'\n });\n }\n}\nObject.defineProperty(TipAboveFeeCapError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max priority fee per gas higher than max fee per gas|tip higher than fee cap/\n});\n\nclass UnknownNodeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ cause }) {\n super(`An error occurred while executing: ${cause?.message}`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownNodeError'\n });\n }\n}\n//# sourceMappingURL=node.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvbm9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUF5RDtBQUNuQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsK0NBQVM7QUFDOUMsa0JBQWtCLGtCQUFrQixJQUFJO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyx5QkFBeUIsT0FBTyw0QkFBNEI7QUFDaEc7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNpQztBQUNsQyxpQ0FBaUMsK0NBQVM7QUFDMUMsa0JBQWtCLHVCQUF1QixJQUFJO0FBQzdDLDhDQUE4QyxxQkFBcUIscUVBQVUsZ0JBQWdCLFdBQVc7QUFDeEc7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDNkI7QUFDOUIsZ0NBQWdDLCtDQUFTO0FBQ3pDLGtCQUFrQix1QkFBdUIsSUFBSTtBQUM3Qyw4Q0FBOEMscUJBQXFCLHFFQUFVLGVBQWUsUUFBUTtBQUNwRztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUM0QjtBQUM3QixnQ0FBZ0MsK0NBQVM7QUFDekMsa0JBQWtCLGVBQWUsSUFBSTtBQUNyQyxvREFBb0QsWUFBWSxNQUFNLFNBQVMsMENBQTBDLE9BQU87QUFDaEk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDNEI7QUFDN0IsK0JBQStCLCtDQUFTO0FBQ3hDLGtCQUFrQixlQUFlLElBQUk7QUFDckM7QUFDQSxrREFBa0QsWUFBWSxNQUFNLFNBQVM7QUFDN0U7QUFDQSx3QkFBd0IsT0FBTztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUMyQjtBQUM1QixpQ0FBaUMsK0NBQVM7QUFDMUMsa0JBQWtCLGVBQWUsSUFBSTtBQUNyQyxvREFBb0QsWUFBWSxNQUFNLFNBQVMsdUNBQXVDLE9BQU87QUFDN0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDNkI7QUFDOUIscUNBQXFDLCtDQUFTO0FBQzlDLGtCQUFrQixRQUFRLElBQUk7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNpQztBQUNsQyx1Q0FBdUMsK0NBQVM7QUFDaEQsa0JBQWtCLGFBQWEsSUFBSTtBQUNuQyxtQ0FBbUMsVUFBVSxJQUFJLFNBQVM7QUFDMUQ7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDbUM7QUFDcEMsc0NBQXNDLCtDQUFTO0FBQy9DLGtCQUFrQixhQUFhLElBQUk7QUFDbkMsbUNBQW1DLFVBQVUsSUFBSSxTQUFTO0FBQzFEO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2tDO0FBQ25DLCtDQUErQywrQ0FBUztBQUN4RCxrQkFBa0IsT0FBTztBQUN6QjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQzJDO0FBQzVDLGtDQUFrQywrQ0FBUztBQUMzQyxrQkFBa0IsNkNBQTZDLElBQUk7QUFDbkU7QUFDQSx5REFBeUQ7QUFDekQsd0JBQXdCLHFFQUFVLHdCQUF3QjtBQUMxRCxxQkFBcUIsdURBQXVELHFCQUFxQixxRUFBVSxnQkFBZ0IsV0FBVztBQUN0STtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQzhCO0FBQ3hCLCtCQUErQiwrQ0FBUztBQUMvQyxrQkFBa0IsT0FBTztBQUN6QixvREFBb0QsZUFBZTtBQUNuRTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvbm9kZS5qcz8zNTI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdEd3ZWkgfSBmcm9tICcuLi91dGlscy91bml0L2Zvcm1hdEd3ZWkuanMnO1xuaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi9iYXNlLmpzJztcbi8qKlxuICogZ2V0aDogICAgaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtL2dvLWV0aGVyZXVtL2Jsb2IvbWFzdGVyL2NvcmUvZXJyb3IuZ29cbiAqICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bS9nby1ldGhlcmV1bS9ibG9iL21hc3Rlci9jb3JlL3R5cGVzL3RyYW5zYWN0aW9uLmdvI0wzNC1MNDFcbiAqXG4gKiBlcmlnb246ICBodHRwczovL2dpdGh1Yi5jb20vbGVkZ2Vyd2F0Y2gvZXJpZ29uL2Jsb2IvbWFzdGVyL2NvcmUvZXJyb3IuZ29cbiAqICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9sZWRnZXJ3YXRjaC9lcmlnb24vYmxvYi9tYXN0ZXIvY29yZS90eXBlcy90cmFuc2FjdGlvbi5nbyNMNDEtTDQ2XG4gKlxuICogYW52aWw6ICAgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kcnktcnMvZm91bmRyeS9ibG9iL21hc3Rlci9hbnZpbC9zcmMvZXRoL2Vycm9yLnJzI0wxMDhcbiAqL1xuY2xhc3MgRXhlY3V0aW9uUmV2ZXJ0ZWRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSwgbWVzc2FnZSwgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IG1lc3NhZ2VcbiAgICAgICAgICAgID8ucmVwbGFjZSgnZXhlY3V0aW9uIHJldmVydGVkOiAnLCAnJylcbiAgICAgICAgICAgID8ucmVwbGFjZSgnZXhlY3V0aW9uIHJldmVydGVkJywgJycpO1xuICAgICAgICBzdXBlcihgRXhlY3V0aW9uIHJldmVydGVkICR7cmVhc29uID8gYHdpdGggcmVhc29uOiAke3JlYXNvbn1gIDogJ2ZvciBhbiB1bmtub3duIHJlYXNvbid9LmAsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0V4ZWN1dGlvblJldmVydGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFeGVjdXRpb25SZXZlcnRlZEVycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAzXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFeGVjdXRpb25SZXZlcnRlZEVycm9yLCBcIm5vZGVNZXNzYWdlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogL2V4ZWN1dGlvbiByZXZlcnRlZC9cbn0pO1xuZXhwb3J0IHsgRXhlY3V0aW9uUmV2ZXJ0ZWRFcnJvciB9O1xuY2xhc3MgRmVlQ2FwVG9vSGlnaEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlLCBtYXhGZWVQZXJHYXMsIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihgVGhlIGZlZSBjYXAgKFxcYG1heEZlZVBlckdhc1xcYCR7bWF4RmVlUGVyR2FzID8gYCA9ICR7Zm9ybWF0R3dlaShtYXhGZWVQZXJHYXMpfSBnd2VpYCA6ICcnfSkgY2Fubm90IGJlIGhpZ2hlciB0aGFuIHRoZSBtYXhpbXVtIGFsbG93ZWQgdmFsdWUgKDJeMjU2LTEpLmAsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ZlZUNhcFRvb0hpZ2gnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShGZWVDYXBUb29IaWdoRXJyb3IsIFwibm9kZU1lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAvbWF4IGZlZSBwZXIgZ2FzIGhpZ2hlciB0aGFuIDJcXF4yNTYtMXxmZWUgY2FwIGhpZ2hlciB0aGFuIDJcXF4yNTYtMS9cbn0pO1xuZXhwb3J0IHsgRmVlQ2FwVG9vSGlnaEVycm9yIH07XG5jbGFzcyBGZWVDYXBUb29Mb3dFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSwgbWF4RmVlUGVyR2FzLCB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBmZWUgY2FwIChcXGBtYXhGZWVQZXJHYXNcXGAke21heEZlZVBlckdhcyA/IGAgPSAke2Zvcm1hdEd3ZWkobWF4RmVlUGVyR2FzKX1gIDogJyd9IGd3ZWkpIGNhbm5vdCBiZSBsb3dlciB0aGFuIHRoZSBibG9jayBiYXNlIGZlZS5gLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdGZWVDYXBUb29Mb3cnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShGZWVDYXBUb29Mb3dFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9tYXggZmVlIHBlciBnYXMgbGVzcyB0aGFuIGJsb2NrIGJhc2UgZmVlfGZlZSBjYXAgbGVzcyB0aGFuIGJsb2NrIGJhc2UgZmVlfHRyYW5zYWN0aW9uIGlzIG91dGRhdGVkL1xufSk7XG5leHBvcnQgeyBGZWVDYXBUb29Mb3dFcnJvciB9O1xuY2xhc3MgTm9uY2VUb29IaWdoRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIG5vbmNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihgTm9uY2UgcHJvdmlkZWQgZm9yIHRoZSB0cmFuc2FjdGlvbiAke25vbmNlID8gYCgke25vbmNlfSkgYCA6ICcnfWlzIGhpZ2hlciB0aGFuIHRoZSBuZXh0IG9uZSBleHBlY3RlZC5gLCB7IGNhdXNlIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnTm9uY2VUb29IaWdoRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb25jZVRvb0hpZ2hFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9ub25jZSB0b28gaGlnaC9cbn0pO1xuZXhwb3J0IHsgTm9uY2VUb29IaWdoRXJyb3IgfTtcbmNsYXNzIE5vbmNlVG9vTG93RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIG5vbmNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICBgTm9uY2UgcHJvdmlkZWQgZm9yIHRoZSB0cmFuc2FjdGlvbiAke25vbmNlID8gYCgke25vbmNlfSkgYCA6ICcnfWlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgbm9uY2Ugb2YgdGhlIGFjY291bnQuYCxcbiAgICAgICAgICAgICdUcnkgaW5jcmVhc2luZyB0aGUgbm9uY2Ugb3IgZmluZCB0aGUgbGF0ZXN0IG5vbmNlIHdpdGggYGdldFRyYW5zYWN0aW9uQ291bnRgLicsXG4gICAgICAgIF0uam9pbignXFxuJyksIHsgY2F1c2UgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdOb25jZVRvb0xvd0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoTm9uY2VUb29Mb3dFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9ub25jZSB0b28gbG93fHRyYW5zYWN0aW9uIGFscmVhZHkgaW1wb3J0ZWQvXG59KTtcbmV4cG9ydCB7IE5vbmNlVG9vTG93RXJyb3IgfTtcbmNsYXNzIE5vbmNlTWF4VmFsdWVFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSwgbm9uY2UgfSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGBOb25jZSBwcm92aWRlZCBmb3IgdGhlIHRyYW5zYWN0aW9uICR7bm9uY2UgPyBgKCR7bm9uY2V9KSBgIDogJyd9ZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkIG5vbmNlLmAsIHsgY2F1c2UgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdOb25jZU1heFZhbHVlRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb25jZU1heFZhbHVlRXJyb3IsIFwibm9kZU1lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAvbm9uY2UgaGFzIG1heCB2YWx1ZS9cbn0pO1xuZXhwb3J0IHsgTm9uY2VNYXhWYWx1ZUVycm9yIH07XG5jbGFzcyBJbnN1ZmZpY2llbnRGdW5kc0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlIH0gPSB7fSkge1xuICAgICAgICBzdXBlcihbXG4gICAgICAgICAgICAnVGhlIHRvdGFsIGNvc3QgKGdhcyAqIGdhcyBmZWUgKyB2YWx1ZSkgb2YgZXhlY3V0aW5nIHRoaXMgdHJhbnNhY3Rpb24gZXhjZWVkcyB0aGUgYmFsYW5jZSBvZiB0aGUgYWNjb3VudC4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW1xuICAgICAgICAgICAgICAgICdUaGlzIGVycm9yIGNvdWxkIGFyaXNlIHdoZW4gdGhlIGFjY291bnQgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMgdG86JyxcbiAgICAgICAgICAgICAgICAnIC0gcGF5IGZvciB0aGUgdG90YWwgZ2FzIGZlZSwnLFxuICAgICAgICAgICAgICAgICcgLSBwYXkgZm9yIHRoZSB2YWx1ZSB0byBzZW5kLicsXG4gICAgICAgICAgICAgICAgJyAnLFxuICAgICAgICAgICAgICAgICdUaGUgY29zdCBvZiB0aGUgdHJhbnNhY3Rpb24gaXMgY2FsY3VsYXRlZCBhcyBgZ2FzICogZ2FzIGZlZSArIHZhbHVlYCwgd2hlcmU6JyxcbiAgICAgICAgICAgICAgICAnIC0gYGdhc2AgaXMgdGhlIGFtb3VudCBvZiBnYXMgbmVlZGVkIGZvciB0cmFuc2FjdGlvbiB0byBleGVjdXRlLCcsXG4gICAgICAgICAgICAgICAgJyAtIGBnYXMgZmVlYCBpcyB0aGUgZ2FzIGZlZSwnLFxuICAgICAgICAgICAgICAgICcgLSBgdmFsdWVgIGlzIHRoZSBhbW91bnQgb2YgZXRoZXIgdG8gc2VuZCB0byB0aGUgcmVjaXBpZW50LicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0luc3VmZmljaWVudEZ1bmRzRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnN1ZmZpY2llbnRGdW5kc0Vycm9yLCBcIm5vZGVNZXNzYWdlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogL2luc3VmZmljaWVudCBmdW5kcy9cbn0pO1xuZXhwb3J0IHsgSW5zdWZmaWNpZW50RnVuZHNFcnJvciB9O1xuY2xhc3MgSW50cmluc2ljR2FzVG9vSGlnaEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlLCBnYXMgfSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGBUaGUgYW1vdW50IG9mIGdhcyAke2dhcyA/IGAoJHtnYXN9KSBgIDogJyd9cHJvdmlkZWQgZm9yIHRoZSB0cmFuc2FjdGlvbiBleGNlZWRzIHRoZSBsaW1pdCBhbGxvd2VkIGZvciB0aGUgYmxvY2suYCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW50cmluc2ljR2FzVG9vSGlnaEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoSW50cmluc2ljR2FzVG9vSGlnaEVycm9yLCBcIm5vZGVNZXNzYWdlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogL2ludHJpbnNpYyBnYXMgdG9vIGhpZ2h8Z2FzIGxpbWl0IHJlYWNoZWQvXG59KTtcbmV4cG9ydCB7IEludHJpbnNpY0dhc1Rvb0hpZ2hFcnJvciB9O1xuY2xhc3MgSW50cmluc2ljR2FzVG9vTG93RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgY2F1c2UsIGdhcyB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoYFRoZSBhbW91bnQgb2YgZ2FzICR7Z2FzID8gYCgke2dhc30pIGAgOiAnJ31wcm92aWRlZCBmb3IgdGhlIHRyYW5zYWN0aW9uIGlzIHRvbyBsb3cuYCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW50cmluc2ljR2FzVG9vTG93RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnRyaW5zaWNHYXNUb29Mb3dFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9pbnRyaW5zaWMgZ2FzIHRvbyBsb3cvXG59KTtcbmV4cG9ydCB7IEludHJpbnNpY0dhc1Rvb0xvd0Vycm9yIH07XG5jbGFzcyBUcmFuc2FjdGlvblR5cGVOb3RTdXBwb3J0ZWRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSB9KSB7XG4gICAgICAgIHN1cGVyKCdUaGUgdHJhbnNhY3Rpb24gdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNoYWluLicsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1RyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3IsIFwibm9kZU1lc3NhZ2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAvdHJhbnNhY3Rpb24gdHlwZSBub3QgdmFsaWQvXG59KTtcbmV4cG9ydCB7IFRyYW5zYWN0aW9uVHlwZU5vdFN1cHBvcnRlZEVycm9yIH07XG5jbGFzcyBUaXBBYm92ZUZlZUNhcEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGNhdXNlLCBtYXhQcmlvcml0eUZlZVBlckdhcywgbWF4RmVlUGVyR2FzLCB9ID0ge30pIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgYFRoZSBwcm92aWRlZCB0aXAgKFxcYG1heFByaW9yaXR5RmVlUGVyR2FzXFxgJHttYXhQcmlvcml0eUZlZVBlckdhc1xuICAgICAgICAgICAgICAgID8gYCA9ICR7Zm9ybWF0R3dlaShtYXhQcmlvcml0eUZlZVBlckdhcyl9IGd3ZWlgXG4gICAgICAgICAgICAgICAgOiAnJ30pIGNhbm5vdCBiZSBoaWdoZXIgdGhhbiB0aGUgZmVlIGNhcCAoXFxgbWF4RmVlUGVyR2FzXFxgJHttYXhGZWVQZXJHYXMgPyBgID0gJHtmb3JtYXRHd2VpKG1heEZlZVBlckdhcyl9IGd3ZWlgIDogJyd9KS5gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLCB7XG4gICAgICAgICAgICBjYXVzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUaXBBYm92ZUZlZUNhcEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVGlwQWJvdmVGZWVDYXBFcnJvciwgXCJub2RlTWVzc2FnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC9tYXggcHJpb3JpdHkgZmVlIHBlciBnYXMgaGlnaGVyIHRoYW4gbWF4IGZlZSBwZXIgZ2FzfHRpcCBoaWdoZXIgdGhhbiBmZWUgY2FwL1xufSk7XG5leHBvcnQgeyBUaXBBYm92ZUZlZUNhcEVycm9yIH07XG5leHBvcnQgY2xhc3MgVW5rbm93bk5vZGVFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjYXVzZSB9KSB7XG4gICAgICAgIHN1cGVyKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmc6ICR7Y2F1c2U/Lm1lc3NhZ2V9YCwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5rbm93bk5vZGVFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9kZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/node.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/request.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/request.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HttpRequestError: function() { return /* binding */ HttpRequestError; },\n/* harmony export */ RpcRequestError: function() { return /* binding */ RpcRequestError; },\n/* harmony export */ TimeoutError: function() { return /* binding */ TimeoutError; },\n/* harmony export */ WebSocketRequestError: function() { return /* binding */ WebSocketRequestError; }\n/* harmony export */ });\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/esm/errors/utils.js\");\n\n\n\nclass HttpRequestError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ body, details, headers, status, url, }) {\n super('HTTP request failed.', {\n details,\n metaMessages: [\n status && `Status: ${status}`,\n `URL: ${(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getUrl)(url)}`,\n body && `Request body: ${(0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__.stringify)(body)}`,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'HttpRequestError'\n });\n Object.defineProperty(this, \"body\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"headers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.body = body;\n this.headers = headers;\n this.status = status;\n this.url = url;\n }\n}\nclass WebSocketRequestError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ body, details, url, }) {\n super('WebSocket request failed.', {\n details,\n metaMessages: [`URL: ${(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getUrl)(url)}`, `Request body: ${(0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__.stringify)(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WebSocketRequestError'\n });\n }\n}\nclass RpcRequestError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ body, error, url, }) {\n super('RPC Request failed.', {\n cause: error,\n details: error.message,\n metaMessages: [`URL: ${(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getUrl)(url)}`, `Request body: ${(0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__.stringify)(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RpcRequestError'\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.code = error.code;\n }\n}\nclass TimeoutError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ body, url, }) {\n super('The request took too long to respond.', {\n details: 'The request timed out.',\n metaMessages: [`URL: ${(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getUrl)(url)}`, `Request body: ${(0,_utils_stringify_js__WEBPACK_IMPORTED_MODULE_2__.stringify)(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TimeoutError'\n });\n }\n}\n//# sourceMappingURL=request.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvcmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQWtEO0FBQ1o7QUFDRjtBQUM3QiwrQkFBK0IsK0NBQVM7QUFDL0Msa0JBQWtCLHNDQUFzQztBQUN4RDtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsT0FBTztBQUM1Qyx3QkFBd0IsaURBQU0sTUFBTTtBQUNwQyx5Q0FBeUMsOERBQVMsT0FBTztBQUN6RDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sb0NBQW9DLCtDQUFTO0FBQ3BELGtCQUFrQixxQkFBcUI7QUFDdkM7QUFDQTtBQUNBLG1DQUFtQyxpREFBTSxNQUFNLG9CQUFvQiw4REFBUyxPQUFPO0FBQ25GLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyw4QkFBOEIsK0NBQVM7QUFDOUMsa0JBQWtCLG1CQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsaURBQU0sTUFBTSxvQkFBb0IsOERBQVMsT0FBTztBQUNuRixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNPLDJCQUEyQiwrQ0FBUztBQUMzQyxrQkFBa0IsWUFBWTtBQUM5QjtBQUNBO0FBQ0EsbUNBQW1DLGlEQUFNLE1BQU0sb0JBQW9CLDhEQUFTLE9BQU87QUFDbkYsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vycm9ycy9yZXF1ZXN0LmpzP2ViNGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4vYmFzZS5qcyc7XG5pbXBvcnQgeyBnZXRVcmwgfSBmcm9tICcuL3V0aWxzLmpzJztcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGJvZHksIGRldGFpbHMsIGhlYWRlcnMsIHN0YXR1cywgdXJsLCB9KSB7XG4gICAgICAgIHN1cGVyKCdIVFRQIHJlcXVlc3QgZmFpbGVkLicsIHtcbiAgICAgICAgICAgIGRldGFpbHMsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICBzdGF0dXMgJiYgYFN0YXR1czogJHtzdGF0dXN9YCxcbiAgICAgICAgICAgICAgICBgVVJMOiAke2dldFVybCh1cmwpfWAsXG4gICAgICAgICAgICAgICAgYm9keSAmJiBgUmVxdWVzdCBib2R5OiAke3N0cmluZ2lmeShib2R5KX1gLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSHR0cFJlcXVlc3RFcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImJvZHlcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiaGVhZGVyc1wiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJzdGF0dXNcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwidXJsXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG4gICAgICAgIHRoaXMuaGVhZGVycyA9IGhlYWRlcnM7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzO1xuICAgICAgICB0aGlzLnVybCA9IHVybDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgV2ViU29ja2V0UmVxdWVzdEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGJvZHksIGRldGFpbHMsIHVybCwgfSkge1xuICAgICAgICBzdXBlcignV2ViU29ja2V0IHJlcXVlc3QgZmFpbGVkLicsIHtcbiAgICAgICAgICAgIGRldGFpbHMsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtgVVJMOiAke2dldFVybCh1cmwpfWAsIGBSZXF1ZXN0IGJvZHk6ICR7c3RyaW5naWZ5KGJvZHkpfWBdLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1dlYlNvY2tldFJlcXVlc3RFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFJwY1JlcXVlc3RFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBib2R5LCBlcnJvciwgdXJsLCB9KSB7XG4gICAgICAgIHN1cGVyKCdSUEMgUmVxdWVzdCBmYWlsZWQuJywge1xuICAgICAgICAgICAgY2F1c2U6IGVycm9yLFxuICAgICAgICAgICAgZGV0YWlsczogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogW2BVUkw6ICR7Z2V0VXJsKHVybCl9YCwgYFJlcXVlc3QgYm9keTogJHtzdHJpbmdpZnkoYm9keSl9YF0sXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnUnBjUmVxdWVzdEVycm9yJ1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY29kZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvZGUgPSBlcnJvci5jb2RlO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgYm9keSwgdXJsLCB9KSB7XG4gICAgICAgIHN1cGVyKCdUaGUgcmVxdWVzdCB0b29rIHRvbyBsb25nIHRvIHJlc3BvbmQuJywge1xuICAgICAgICAgICAgZGV0YWlsczogJ1RoZSByZXF1ZXN0IHRpbWVkIG91dC4nLFxuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbYFVSTDogJHtnZXRVcmwodXJsKX1gLCBgUmVxdWVzdCBib2R5OiAke3N0cmluZ2lmeShib2R5KX1gXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdUaW1lb3V0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/request.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/rpc.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/rpc.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainDisconnectedError: function() { return /* binding */ ChainDisconnectedError; },\n/* harmony export */ InternalRpcError: function() { return /* binding */ InternalRpcError; },\n/* harmony export */ InvalidInputRpcError: function() { return /* binding */ InvalidInputRpcError; },\n/* harmony export */ InvalidParamsRpcError: function() { return /* binding */ InvalidParamsRpcError; },\n/* harmony export */ InvalidRequestRpcError: function() { return /* binding */ InvalidRequestRpcError; },\n/* harmony export */ JsonRpcVersionUnsupportedError: function() { return /* binding */ JsonRpcVersionUnsupportedError; },\n/* harmony export */ LimitExceededRpcError: function() { return /* binding */ LimitExceededRpcError; },\n/* harmony export */ MethodNotFoundRpcError: function() { return /* binding */ MethodNotFoundRpcError; },\n/* harmony export */ MethodNotSupportedRpcError: function() { return /* binding */ MethodNotSupportedRpcError; },\n/* harmony export */ ParseRpcError: function() { return /* binding */ ParseRpcError; },\n/* harmony export */ ProviderDisconnectedError: function() { return /* binding */ ProviderDisconnectedError; },\n/* harmony export */ ProviderRpcError: function() { return /* binding */ ProviderRpcError; },\n/* harmony export */ ResourceNotFoundRpcError: function() { return /* binding */ ResourceNotFoundRpcError; },\n/* harmony export */ ResourceUnavailableRpcError: function() { return /* binding */ ResourceUnavailableRpcError; },\n/* harmony export */ RpcError: function() { return /* binding */ RpcError; },\n/* harmony export */ SwitchChainError: function() { return /* binding */ SwitchChainError; },\n/* harmony export */ TransactionRejectedRpcError: function() { return /* binding */ TransactionRejectedRpcError; },\n/* harmony export */ UnauthorizedProviderError: function() { return /* binding */ UnauthorizedProviderError; },\n/* harmony export */ UnknownRpcError: function() { return /* binding */ UnknownRpcError; },\n/* harmony export */ UnsupportedProviderMethodError: function() { return /* binding */ UnsupportedProviderMethodError; },\n/* harmony export */ UserRejectedRequestError: function() { return /* binding */ UserRejectedRequestError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _request_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n\n\nconst unknownErrorCode = -1;\n/**\n * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.\n *\n * - EIP https://eips.ethereum.org/EIPS/eip-1474\n */\nclass RpcError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(cause, { code, docsPath, metaMessages, shortMessage }) {\n super(shortMessage, {\n cause,\n docsPath,\n metaMessages: metaMessages || cause?.metaMessages,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RpcError'\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = cause.name;\n this.code = (cause instanceof _request_js__WEBPACK_IMPORTED_MODULE_1__.RpcRequestError ? cause.code : code ?? unknownErrorCode);\n }\n}\n/**\n * Error subclass implementing Ethereum Provider errors per EIP-1193.\n *\n * - EIP https://eips.ethereum.org/EIPS/eip-1193\n */\nclass ProviderRpcError extends RpcError {\n constructor(cause, options) {\n super(cause, options);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ProviderRpcError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = options.data;\n }\n}\n/**\n * Subclass for a \"Parse error\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass ParseRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ParseRpcError.code,\n shortMessage: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ParseRpcError'\n });\n }\n}\nObject.defineProperty(ParseRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32700\n});\n\n/**\n * Subclass for a \"Invalid request\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InvalidRequestRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidRequestRpcError.code,\n shortMessage: 'JSON is not a valid request object.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidRequestRpcError'\n });\n }\n}\nObject.defineProperty(InvalidRequestRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32600\n});\n\n/**\n * Subclass for a \"Method not found\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass MethodNotFoundRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: MethodNotFoundRpcError.code,\n shortMessage: 'The method does not exist / is not available.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'MethodNotFoundRpcError'\n });\n }\n}\nObject.defineProperty(MethodNotFoundRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32601\n});\n\n/**\n * Subclass for an \"Invalid params\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InvalidParamsRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidParamsRpcError.code,\n shortMessage: [\n 'Invalid parameters were provided to the RPC method.',\n 'Double check you have provided the correct parameters.',\n ].join('\\n'),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParamsRpcError'\n });\n }\n}\nObject.defineProperty(InvalidParamsRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32602\n});\n\n/**\n * Subclass for an \"Internal error\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InternalRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InternalRpcError.code,\n shortMessage: 'An internal error was received.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InternalRpcError'\n });\n }\n}\nObject.defineProperty(InternalRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32603\n});\n\n/**\n * Subclass for an \"Invalid input\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InvalidInputRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidInputRpcError.code,\n shortMessage: [\n 'Missing or invalid parameters.',\n 'Double check you have provided the correct parameters.',\n ].join('\\n'),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidInputRpcError'\n });\n }\n}\nObject.defineProperty(InvalidInputRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32000\n});\n\n/**\n * Subclass for a \"Resource not found\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass ResourceNotFoundRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ResourceNotFoundRpcError.code,\n shortMessage: 'Requested resource not found.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ResourceNotFoundRpcError'\n });\n }\n}\nObject.defineProperty(ResourceNotFoundRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32001\n});\n\n/**\n * Subclass for a \"Resource unavailable\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass ResourceUnavailableRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ResourceUnavailableRpcError.code,\n shortMessage: 'Requested resource not available.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ResourceUnavailableRpcError'\n });\n }\n}\nObject.defineProperty(ResourceUnavailableRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32002\n});\n\n/**\n * Subclass for a \"Transaction rejected\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass TransactionRejectedRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: TransactionRejectedRpcError.code,\n shortMessage: 'Transaction creation failed.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionRejectedRpcError'\n });\n }\n}\nObject.defineProperty(TransactionRejectedRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32003\n});\n\n/**\n * Subclass for a \"Method not supported\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass MethodNotSupportedRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: MethodNotSupportedRpcError.code,\n shortMessage: 'Method is not implemented.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'MethodNotSupportedRpcError'\n });\n }\n}\nObject.defineProperty(MethodNotSupportedRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32004\n});\n\n/**\n * Subclass for a \"Limit exceeded\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass LimitExceededRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: LimitExceededRpcError.code,\n shortMessage: 'Request exceeds defined limit.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'LimitExceededRpcError'\n });\n }\n}\nObject.defineProperty(LimitExceededRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32005\n});\n\n/**\n * Subclass for a \"JSON-RPC version not supported\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass JsonRpcVersionUnsupportedError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: JsonRpcVersionUnsupportedError.code,\n shortMessage: 'Version of JSON-RPC protocol is not supported.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'JsonRpcVersionUnsupportedError'\n });\n }\n}\nObject.defineProperty(JsonRpcVersionUnsupportedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32006\n});\n\n/**\n * Subclass for a \"User Rejected Request\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass UserRejectedRequestError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UserRejectedRequestError.code,\n shortMessage: 'User rejected the request.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UserRejectedRequestError'\n });\n }\n}\nObject.defineProperty(UserRejectedRequestError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4001\n});\n\n/**\n * Subclass for an \"Unauthorized\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass UnauthorizedProviderError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UnauthorizedProviderError.code,\n shortMessage: 'The requested method and/or account has not been authorized by the user.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnauthorizedProviderError'\n });\n }\n}\nObject.defineProperty(UnauthorizedProviderError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4100\n});\n\n/**\n * Subclass for an \"Unsupported Method\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass UnsupportedProviderMethodError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UnsupportedProviderMethodError.code,\n shortMessage: 'The Provider does not support the requested method.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnsupportedProviderMethodError'\n });\n }\n}\nObject.defineProperty(UnsupportedProviderMethodError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4200\n});\n\n/**\n * Subclass for an \"Disconnected\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass ProviderDisconnectedError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: ProviderDisconnectedError.code,\n shortMessage: 'The Provider is disconnected from all chains.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ProviderDisconnectedError'\n });\n }\n}\nObject.defineProperty(ProviderDisconnectedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4900\n});\n\n/**\n * Subclass for an \"Chain Disconnected\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass ChainDisconnectedError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: ChainDisconnectedError.code,\n shortMessage: 'The Provider is not connected to the requested chain.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainDisconnectedError'\n });\n }\n}\nObject.defineProperty(ChainDisconnectedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4901\n});\n\n/**\n * Subclass for an \"Switch Chain\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass SwitchChainError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: SwitchChainError.code,\n shortMessage: 'An error occurred when attempting to switch chain.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SwitchChainError'\n });\n }\n}\nObject.defineProperty(SwitchChainError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4902\n});\n\n/**\n * Subclass for an unknown RPC error.\n */\nclass UnknownRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n shortMessage: 'An unknown RPC error occurred.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownRpcError'\n });\n }\n}\n//# sourceMappingURL=rpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvcnBjLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXNDO0FBQ1M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sdUJBQXVCLCtDQUFTO0FBQ3ZDLHlCQUF5Qiw0Q0FBNEM7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esc0NBQXNDLHdEQUFlO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3dCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2lDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2lDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2dDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQzJCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQytCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ21DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3NDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3NDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3FDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2dDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3lDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ21DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ29DO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ3lDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ29DO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2lDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQzJCO0FBQzVCO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vycm9ycy9ycGMuanM/NmU3YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuaW1wb3J0IHsgUnBjUmVxdWVzdEVycm9yIH0gZnJvbSAnLi9yZXF1ZXN0LmpzJztcbmNvbnN0IHVua25vd25FcnJvckNvZGUgPSAtMTtcbi8qKlxuICogRXJyb3Igc3ViY2xhc3MgaW1wbGVtZW50aW5nIEpTT04gUlBDIDIuMCBlcnJvcnMgYW5kIEV0aGVyZXVtIFJQQyBlcnJvcnMgcGVyIEVJUC0xNDc0LlxuICpcbiAqIC0gRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTQ3NFxuICovXG5leHBvcnQgY2xhc3MgUnBjRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlLCB7IGNvZGUsIGRvY3NQYXRoLCBtZXRhTWVzc2FnZXMsIHNob3J0TWVzc2FnZSB9KSB7XG4gICAgICAgIHN1cGVyKHNob3J0TWVzc2FnZSwge1xuICAgICAgICAgICAgY2F1c2UsXG4gICAgICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgICAgIG1ldGFNZXNzYWdlczogbWV0YU1lc3NhZ2VzIHx8IGNhdXNlPy5tZXRhTWVzc2FnZXMsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjb2RlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubmFtZSA9IGNhdXNlLm5hbWU7XG4gICAgICAgIHRoaXMuY29kZSA9IChjYXVzZSBpbnN0YW5jZW9mIFJwY1JlcXVlc3RFcnJvciA/IGNhdXNlLmNvZGUgOiBjb2RlID8/IHVua25vd25FcnJvckNvZGUpO1xuICAgIH1cbn1cbi8qKlxuICogRXJyb3Igc3ViY2xhc3MgaW1wbGVtZW50aW5nIEV0aGVyZXVtIFByb3ZpZGVyIGVycm9ycyBwZXIgRUlQLTExOTMuXG4gKlxuICogLSBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTkzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm92aWRlclJwY0Vycm9yIGV4dGVuZHMgUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlLCBvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCBvcHRpb25zKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Byb3ZpZGVyUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkYXRhXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGF0YSA9IG9wdGlvbnMuZGF0YTtcbiAgICB9XG59XG4vKipcbiAqIFN1YmNsYXNzIGZvciBhIFwiUGFyc2UgZXJyb3JcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIFBhcnNlUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFBhcnNlUnBjRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ0ludmFsaWQgSlNPTiB3YXMgcmVjZWl2ZWQgYnkgdGhlIHNlcnZlci4gQW4gZXJyb3Igb2NjdXJyZWQgb24gdGhlIHNlcnZlciB3aGlsZSBwYXJzaW5nIHRoZSBKU09OIHRleHQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdQYXJzZVJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUGFyc2VScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyNzAwXG59KTtcbmV4cG9ydCB7IFBhcnNlUnBjRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGEgXCJJbnZhbGlkIHJlcXVlc3RcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIEludmFsaWRSZXF1ZXN0UnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IEludmFsaWRSZXF1ZXN0UnBjRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ0pTT04gaXMgbm90IGEgdmFsaWQgcmVxdWVzdCBvYmplY3QuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkUmVxdWVzdFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoSW52YWxpZFJlcXVlc3RScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyNjAwXG59KTtcbmV4cG9ydCB7IEludmFsaWRSZXF1ZXN0UnBjRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGEgXCJNZXRob2Qgbm90IGZvdW5kXCIgRUlQLTE0NzQgZXJyb3IuXG4gKlxuICogRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTQ3NCNlcnJvci1jb2Rlc1xuICovXG5jbGFzcyBNZXRob2ROb3RGb3VuZFJwY0Vycm9yIGV4dGVuZHMgUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBNZXRob2ROb3RGb3VuZFJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdUaGUgbWV0aG9kIGRvZXMgbm90IGV4aXN0IC8gaXMgbm90IGF2YWlsYWJsZS4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ01ldGhvZE5vdEZvdW5kUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShNZXRob2ROb3RGb3VuZFJwY0Vycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAtMzI2MDFcbn0pO1xuZXhwb3J0IHsgTWV0aG9kTm90Rm91bmRScGNFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYW4gXCJJbnZhbGlkIHBhcmFtc1wiIEVJUC0xNDc0IGVycm9yLlxuICpcbiAqIEVJUCBodHRwczovL2VpcHMuZXRoZXJldW0ub3JnL0VJUFMvZWlwLTE0NzQjZXJyb3ItY29kZXNcbiAqL1xuY2xhc3MgSW52YWxpZFBhcmFtc1JwY0Vycm9yIGV4dGVuZHMgUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBJbnZhbGlkUGFyYW1zUnBjRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogW1xuICAgICAgICAgICAgICAgICdJbnZhbGlkIHBhcmFtZXRlcnMgd2VyZSBwcm92aWRlZCB0byB0aGUgUlBDIG1ldGhvZC4nLFxuICAgICAgICAgICAgICAgICdEb3VibGUgY2hlY2sgeW91IGhhdmUgcHJvdmlkZWQgdGhlIGNvcnJlY3QgcGFyYW1ldGVycy4nLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkUGFyYW1zUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnZhbGlkUGFyYW1zUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjYwMlxufSk7XG5leHBvcnQgeyBJbnZhbGlkUGFyYW1zUnBjRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGFuIFwiSW50ZXJuYWwgZXJyb3JcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIEludGVybmFsUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IEludGVybmFsUnBjRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ0FuIGludGVybmFsIGVycm9yIHdhcyByZWNlaXZlZC4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludGVybmFsUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnRlcm5hbFJwY0Vycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAtMzI2MDNcbn0pO1xuZXhwb3J0IHsgSW50ZXJuYWxScGNFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYW4gXCJJbnZhbGlkIGlucHV0XCIgRUlQLTE0NzQgZXJyb3IuXG4gKlxuICogRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTQ3NCNlcnJvci1jb2Rlc1xuICovXG5jbGFzcyBJbnZhbGlkSW5wdXRScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogSW52YWxpZElucHV0UnBjRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogW1xuICAgICAgICAgICAgICAgICdNaXNzaW5nIG9yIGludmFsaWQgcGFyYW1ldGVycy4nLFxuICAgICAgICAgICAgICAgICdEb3VibGUgY2hlY2sgeW91IGhhdmUgcHJvdmlkZWQgdGhlIGNvcnJlY3QgcGFyYW1ldGVycy4nLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkSW5wdXRScGNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEludmFsaWRJbnB1dFJwY0Vycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAtMzIwMDBcbn0pO1xuZXhwb3J0IHsgSW52YWxpZElucHV0UnBjRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGEgXCJSZXNvdXJjZSBub3QgZm91bmRcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIFJlc291cmNlTm90Rm91bmRScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdSZXF1ZXN0ZWQgcmVzb3VyY2Ugbm90IGZvdW5kLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAtMzIwMDFcbn0pO1xuZXhwb3J0IHsgUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yIH07XG4vKipcbiAqIFN1YmNsYXNzIGZvciBhIFwiUmVzb3VyY2UgdW5hdmFpbGFibGVcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogUmVzb3VyY2VVbmF2YWlsYWJsZVJwY0Vycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdSZXF1ZXN0ZWQgcmVzb3VyY2Ugbm90IGF2YWlsYWJsZS4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Jlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogLTMyMDAyXG59KTtcbmV4cG9ydCB7IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYSBcIlRyYW5zYWN0aW9uIHJlamVjdGVkXCIgRUlQLTE0NzQgZXJyb3IuXG4gKlxuICogRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTQ3NCNlcnJvci1jb2Rlc1xuICovXG5jbGFzcyBUcmFuc2FjdGlvblJlamVjdGVkUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnVHJhbnNhY3Rpb24gY3JlYXRpb24gZmFpbGVkLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiAtMzIwMDNcbn0pO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yIH07XG4vKipcbiAqIFN1YmNsYXNzIGZvciBhIFwiTWV0aG9kIG5vdCBzdXBwb3J0ZWRcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIE1ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yIGV4dGVuZHMgUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBNZXRob2ROb3RTdXBwb3J0ZWRScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnTWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ01ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwNFxufSk7XG5leHBvcnQgeyBNZXRob2ROb3RTdXBwb3J0ZWRScGNFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYSBcIkxpbWl0IGV4Y2VlZGVkXCIgRUlQLTE0NzQgZXJyb3IuXG4gKlxuICogRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTQ3NCNlcnJvci1jb2Rlc1xuICovXG5jbGFzcyBMaW1pdEV4Y2VlZGVkUnBjRXJyb3IgZXh0ZW5kcyBScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IExpbWl0RXhjZWVkZWRScGNFcnJvci5jb2RlLFxuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnUmVxdWVzdCBleGNlZWRzIGRlZmluZWQgbGltaXQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdMaW1pdEV4Y2VlZGVkUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShMaW1pdEV4Y2VlZGVkUnBjRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwNVxufSk7XG5leHBvcnQgeyBMaW1pdEV4Y2VlZGVkUnBjRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGEgXCJKU09OLVJQQyB2ZXJzaW9uIG5vdCBzdXBwb3J0ZWRcIiBFSVAtMTQ3NCBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xNDc0I2Vycm9yLWNvZGVzXG4gKi9cbmNsYXNzIEpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogSnNvblJwY1ZlcnNpb25VbnN1cHBvcnRlZEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdWZXJzaW9uIG9mIEpTT04tUlBDIHByb3RvY29sIGlzIG5vdCBzdXBwb3J0ZWQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdKc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShKc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IC0zMjAwNlxufSk7XG5leHBvcnQgeyBKc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGEgXCJVc2VyIFJlamVjdGVkIFJlcXVlc3RcIiBFSVAtMTE5MyBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTkzI3Byb3ZpZGVyLWVycm9yc1xuICovXG5jbGFzcyBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IgZXh0ZW5kcyBQcm92aWRlclJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogVXNlclJlamVjdGVkUmVxdWVzdEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdVc2VyIHJlamVjdGVkIHRoZSByZXF1ZXN0LicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVXNlclJlamVjdGVkUmVxdWVzdEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVXNlclJlamVjdGVkUmVxdWVzdEVycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiA0MDAxXG59KTtcbmV4cG9ydCB7IFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYW4gXCJVbmF1dGhvcml6ZWRcIiBFSVAtMTE5MyBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTkzI3Byb3ZpZGVyLWVycm9yc1xuICovXG5jbGFzcyBVbmF1dGhvcml6ZWRQcm92aWRlckVycm9yIGV4dGVuZHMgUHJvdmlkZXJScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ1RoZSByZXF1ZXN0ZWQgbWV0aG9kIGFuZC9vciBhY2NvdW50IGhhcyBub3QgYmVlbiBhdXRob3JpemVkIGJ5IHRoZSB1c2VyLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVW5hdXRob3JpemVkUHJvdmlkZXJFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVuYXV0aG9yaXplZFByb3ZpZGVyRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IDQxMDBcbn0pO1xuZXhwb3J0IHsgVW5hdXRob3JpemVkUHJvdmlkZXJFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYW4gXCJVbnN1cHBvcnRlZCBNZXRob2RcIiBFSVAtMTE5MyBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTkzI3Byb3ZpZGVyLWVycm9yc1xuICovXG5jbGFzcyBVbnN1cHBvcnRlZFByb3ZpZGVyTWV0aG9kRXJyb3IgZXh0ZW5kcyBQcm92aWRlclJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgY29kZTogVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdUaGUgUHJvdmlkZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgcmVxdWVzdGVkIG1ldGhvZC4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Vuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogNDIwMFxufSk7XG5leHBvcnQgeyBVbnN1cHBvcnRlZFByb3ZpZGVyTWV0aG9kRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGFuIFwiRGlzY29ubmVjdGVkXCIgRUlQLTExOTMgZXJyb3IuXG4gKlxuICogRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTE5MyNwcm92aWRlci1lcnJvcnNcbiAqL1xuY2xhc3MgUHJvdmlkZXJEaXNjb25uZWN0ZWRFcnJvciBleHRlbmRzIFByb3ZpZGVyUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBQcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdUaGUgUHJvdmlkZXIgaXMgZGlzY29ubmVjdGVkIGZyb20gYWxsIGNoYWlucy4nLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1Byb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yLCBcImNvZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIHZhbHVlOiA0OTAwXG59KTtcbmV4cG9ydCB7IFByb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3IgfTtcbi8qKlxuICogU3ViY2xhc3MgZm9yIGFuIFwiQ2hhaW4gRGlzY29ubmVjdGVkXCIgRUlQLTExOTMgZXJyb3IuXG4gKlxuICogRUlQIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTE5MyNwcm92aWRlci1lcnJvcnNcbiAqL1xuY2xhc3MgQ2hhaW5EaXNjb25uZWN0ZWRFcnJvciBleHRlbmRzIFByb3ZpZGVyUnBjRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGNhdXNlKSB7XG4gICAgICAgIHN1cGVyKGNhdXNlLCB7XG4gICAgICAgICAgICBjb2RlOiBDaGFpbkRpc2Nvbm5lY3RlZEVycm9yLmNvZGUsXG4gICAgICAgICAgICBzaG9ydE1lc3NhZ2U6ICdUaGUgUHJvdmlkZXIgaXMgbm90IGNvbm5lY3RlZCB0byB0aGUgcmVxdWVzdGVkIGNoYWluLicsXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnQ2hhaW5EaXNjb25uZWN0ZWRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KENoYWluRGlzY29ubmVjdGVkRXJyb3IsIFwiY29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6IDQ5MDFcbn0pO1xuZXhwb3J0IHsgQ2hhaW5EaXNjb25uZWN0ZWRFcnJvciB9O1xuLyoqXG4gKiBTdWJjbGFzcyBmb3IgYW4gXCJTd2l0Y2ggQ2hhaW5cIiBFSVAtMTE5MyBlcnJvci5cbiAqXG4gKiBFSVAgaHR0cHM6Ly9laXBzLmV0aGVyZXVtLm9yZy9FSVBTL2VpcC0xMTkzI3Byb3ZpZGVyLWVycm9yc1xuICovXG5jbGFzcyBTd2l0Y2hDaGFpbkVycm9yIGV4dGVuZHMgUHJvdmlkZXJScGNFcnJvciB7XG4gICAgY29uc3RydWN0b3IoY2F1c2UpIHtcbiAgICAgICAgc3VwZXIoY2F1c2UsIHtcbiAgICAgICAgICAgIGNvZGU6IFN3aXRjaENoYWluRXJyb3IuY29kZSxcbiAgICAgICAgICAgIHNob3J0TWVzc2FnZTogJ0FuIGVycm9yIG9jY3VycmVkIHdoZW4gYXR0ZW1wdGluZyB0byBzd2l0Y2ggY2hhaW4uJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdTd2l0Y2hDaGFpbkVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoU3dpdGNoQ2hhaW5FcnJvciwgXCJjb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogNDkwMlxufSk7XG5leHBvcnQgeyBTd2l0Y2hDaGFpbkVycm9yIH07XG4vKipcbiAqIFN1YmNsYXNzIGZvciBhbiB1bmtub3duIFJQQyBlcnJvci5cbiAqL1xuZXhwb3J0IGNsYXNzIFVua25vd25ScGNFcnJvciBleHRlbmRzIFJwY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSkge1xuICAgICAgICBzdXBlcihjYXVzZSwge1xuICAgICAgICAgICAgc2hvcnRNZXNzYWdlOiAnQW4gdW5rbm93biBSUEMgZXJyb3Igb2NjdXJyZWQuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdVbmtub3duUnBjRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJwYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/rpc.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/transaction.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/transaction.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FeeConflictError: function() { return /* binding */ FeeConflictError; },\n/* harmony export */ InvalidLegacyVError: function() { return /* binding */ InvalidLegacyVError; },\n/* harmony export */ InvalidSerializableTransactionError: function() { return /* binding */ InvalidSerializableTransactionError; },\n/* harmony export */ InvalidSerializedTransactionError: function() { return /* binding */ InvalidSerializedTransactionError; },\n/* harmony export */ InvalidSerializedTransactionTypeError: function() { return /* binding */ InvalidSerializedTransactionTypeError; },\n/* harmony export */ InvalidStorageKeySizeError: function() { return /* binding */ InvalidStorageKeySizeError; },\n/* harmony export */ TransactionExecutionError: function() { return /* binding */ TransactionExecutionError; },\n/* harmony export */ TransactionNotFoundError: function() { return /* binding */ TransactionNotFoundError; },\n/* harmony export */ TransactionReceiptNotFoundError: function() { return /* binding */ TransactionReceiptNotFoundError; },\n/* harmony export */ WaitForTransactionReceiptTimeoutError: function() { return /* binding */ WaitForTransactionReceiptTimeoutError; },\n/* harmony export */ prettyPrint: function() { return /* binding */ prettyPrint; }\n/* harmony export */ });\n/* harmony import */ var _utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/unit/formatEther.js */ \"./node_modules/viem/dist/esm/utils/unit/formatEther.js\");\n/* harmony import */ var _utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/unit/formatGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/formatGwei.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\n\n\nfunction prettyPrint(args) {\n const entries = Object.entries(args)\n .map(([key, value]) => {\n if (value === undefined || value === false)\n return null;\n return [key, value];\n })\n .filter(Boolean);\n const maxLength = entries.reduce((acc, [key]) => Math.max(acc, key.length), 0);\n return entries\n .map(([key, value]) => ` ${`${key}:`.padEnd(maxLength + 1)} ${value}`)\n .join('\\n');\n}\nclass FeeConflictError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor() {\n super([\n 'Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.',\n 'Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others.',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeConflictError'\n });\n }\n}\nclass InvalidLegacyVError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ v }) {\n super(`Invalid \\`v\\` value \"${v}\". Expected 27 or 28.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidLegacyVError'\n });\n }\n}\nclass InvalidSerializableTransactionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ transaction }) {\n super('Cannot infer a transaction type from provided transaction.', {\n metaMessages: [\n 'Provided Transaction:',\n '{',\n prettyPrint(transaction),\n '}',\n '',\n 'To infer the type, either provide:',\n '- a `type` to the Transaction, or',\n '- an EIP-1559 Transaction with `maxFeePerGas`, or',\n '- an EIP-2930 Transaction with `gasPrice` & `accessList`, or',\n '- a Legacy Transaction with `gasPrice`',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializableTransactionError'\n });\n }\n}\nclass InvalidSerializedTransactionTypeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ serializedType }) {\n super(`Serialized transaction type \"${serializedType}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializedTransactionType'\n });\n Object.defineProperty(this, \"serializedType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.serializedType = serializedType;\n }\n}\nclass InvalidSerializedTransactionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ attributes, serializedTransaction, type, }) {\n const missing = Object.entries(attributes)\n .map(([key, value]) => (typeof value === 'undefined' ? key : undefined))\n .filter(Boolean);\n super(`Invalid serialized transaction of type \"${type}\" was provided.`, {\n metaMessages: [\n `Serialized Transaction: \"${serializedTransaction}\"`,\n missing.length > 0 ? `Missing Attributes: ${missing.join(', ')}` : '',\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializedTransactionError'\n });\n Object.defineProperty(this, \"serializedTransaction\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"type\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.serializedTransaction = serializedTransaction;\n this.type = type;\n }\n}\nclass InvalidStorageKeySizeError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ storageKey }) {\n super(`Size for storage key \"${storageKey}\" is invalid. Expected 32 bytes. Got ${Math.floor((storageKey.length - 2) / 2)} bytes.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidStorageKeySizeError'\n });\n }\n}\nclass TransactionExecutionError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const prettyArgs = prettyPrint({\n chain: chain && `${chain?.name} (id: ${chain?.id})`,\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${(0,_utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_1__.formatEther)(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_2__.formatGwei)(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_2__.formatGwei)(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${(0,_utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_2__.formatGwei)(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Request Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionExecutionError'\n });\n this.cause = cause;\n }\n}\nclass TransactionNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ blockHash, blockNumber, blockTag, hash, index, }) {\n let identifier = 'Transaction';\n if (blockTag && index !== undefined)\n identifier = `Transaction at block time \"${blockTag}\" at index \"${index}\"`;\n if (blockHash && index !== undefined)\n identifier = `Transaction at block hash \"${blockHash}\" at index \"${index}\"`;\n if (blockNumber && index !== undefined)\n identifier = `Transaction at block number \"${blockNumber}\" at index \"${index}\"`;\n if (hash)\n identifier = `Transaction with hash \"${hash}\"`;\n super(`${identifier} could not be found.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionNotFoundError'\n });\n }\n}\nclass TransactionReceiptNotFoundError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ hash }) {\n super(`Transaction receipt with hash \"${hash}\" could not be found. The Transaction may not be processed on a block yet.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionReceiptNotFoundError'\n });\n }\n}\nclass WaitForTransactionReceiptTimeoutError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor({ hash }) {\n super(`Timed out while waiting for transaction with hash \"${hash}\" to be confirmed.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WaitForTransactionReceiptTimeoutError'\n });\n }\n}\n//# sourceMappingURL=transaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvdHJhbnNhY3Rpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMkQ7QUFDRjtBQUNuQjtBQUMvQjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLEdBQUcsSUFBSSwyQkFBMkIsRUFBRSxNQUFNO0FBQzlFO0FBQ0E7QUFDTywrQkFBK0IsK0NBQVM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLGtDQUFrQywrQ0FBUztBQUNsRCxrQkFBa0IsR0FBRztBQUNyQixzQ0FBc0MsRUFBRTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyxrREFBa0QsK0NBQVM7QUFDbEUsa0JBQWtCLGFBQWE7QUFDL0I7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLG9EQUFvRCwrQ0FBUztBQUNwRSxrQkFBa0IsZ0JBQWdCO0FBQ2xDLDhDQUE4QyxlQUFlO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDTyxnREFBZ0QsK0NBQVM7QUFDaEUsa0JBQWtCLDBDQUEwQztBQUM1RDtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsS0FBSztBQUM5RDtBQUNBLDRDQUE0QyxzQkFBc0I7QUFDbEUsNERBQTRELG1CQUFtQjtBQUMvRTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNPLHlDQUF5QywrQ0FBUztBQUN6RCxrQkFBa0IsWUFBWTtBQUM5Qix1Q0FBdUMsV0FBVyx1Q0FBdUMseUNBQXlDO0FBQ2xJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLHdDQUF3QywrQ0FBUztBQUN4RCx5QkFBeUIsc0dBQXNHO0FBQy9IO0FBQ0EsK0JBQStCLGFBQWEsT0FBTyxVQUFVO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQix1RUFBVyxTQUFTLEVBQUUsc0NBQXNDO0FBQy9FO0FBQ0E7QUFDQSw0REFBNEQscUVBQVUsWUFBWTtBQUNsRjtBQUNBLG1CQUFtQixxRUFBVSxnQkFBZ0I7QUFDN0M7QUFDQSxtQkFBbUIscUVBQVUsd0JBQXdCO0FBQ3JEO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNPLHVDQUF1QywrQ0FBUztBQUN2RCxrQkFBa0IsZ0RBQWdEO0FBQ2xFO0FBQ0E7QUFDQSx1REFBdUQsU0FBUyxjQUFjLE1BQU07QUFDcEY7QUFDQSx1REFBdUQsVUFBVSxjQUFjLE1BQU07QUFDckY7QUFDQSx5REFBeUQsWUFBWSxjQUFjLE1BQU07QUFDekY7QUFDQSxtREFBbUQsS0FBSztBQUN4RCxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTyw4Q0FBOEMsK0NBQVM7QUFDOUQsa0JBQWtCLE1BQU07QUFDeEIsZ0RBQWdELEtBQUs7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sb0RBQW9ELCtDQUFTO0FBQ3BFLGtCQUFrQixNQUFNO0FBQ3hCLG9FQUFvRSxLQUFLO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vycm9ycy90cmFuc2FjdGlvbi5qcz80ZmFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdEV0aGVyIH0gZnJvbSAnLi4vdXRpbHMvdW5pdC9mb3JtYXRFdGhlci5qcyc7XG5pbXBvcnQgeyBmb3JtYXRHd2VpIH0gZnJvbSAnLi4vdXRpbHMvdW5pdC9mb3JtYXRHd2VpLmpzJztcbmltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4vYmFzZS5qcyc7XG5leHBvcnQgZnVuY3Rpb24gcHJldHR5UHJpbnQoYXJncykge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhhcmdzKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiBba2V5LCB2YWx1ZV07XG4gICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBjb25zdCBtYXhMZW5ndGggPSBlbnRyaWVzLnJlZHVjZSgoYWNjLCBba2V5XSkgPT4gTWF0aC5tYXgoYWNjLCBrZXkubGVuZ3RoKSwgMCk7XG4gICAgcmV0dXJuIGVudHJpZXNcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgICAke2Ake2tleX06YC5wYWRFbmQobWF4TGVuZ3RoICsgMSl9ICAke3ZhbHVlfWApXG4gICAgICAgIC5qb2luKCdcXG4nKTtcbn1cbmV4cG9ydCBjbGFzcyBGZWVDb25mbGljdEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoW1xuICAgICAgICAgICAgJ0Nhbm5vdCBzcGVjaWZ5IGJvdGggYSBgZ2FzUHJpY2VgIGFuZCBhIGBtYXhGZWVQZXJHYXNgL2BtYXhQcmlvcml0eUZlZVBlckdhc2AuJyxcbiAgICAgICAgICAgICdVc2UgYG1heEZlZVBlckdhc2AvYG1heFByaW9yaXR5RmVlUGVyR2FzYCBmb3IgRUlQLTE1NTkgY29tcGF0aWJsZSBuZXR3b3JrcywgYW5kIGBnYXNQcmljZWAgZm9yIG90aGVycy4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ZlZUNvbmZsaWN0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkTGVnYWN5VkVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHYgfSkge1xuICAgICAgICBzdXBlcihgSW52YWxpZCBcXGB2XFxgIHZhbHVlIFwiJHt2fVwiLiBFeHBlY3RlZCAyNyBvciAyOC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRMZWdhY3lWRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkU2VyaWFsaXphYmxlVHJhbnNhY3Rpb25FcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyB0cmFuc2FjdGlvbiB9KSB7XG4gICAgICAgIHN1cGVyKCdDYW5ub3QgaW5mZXIgYSB0cmFuc2FjdGlvbiB0eXBlIGZyb20gcHJvdmlkZWQgdHJhbnNhY3Rpb24uJywge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgJ1Byb3ZpZGVkIFRyYW5zYWN0aW9uOicsXG4gICAgICAgICAgICAgICAgJ3snLFxuICAgICAgICAgICAgICAgIHByZXR0eVByaW50KHRyYW5zYWN0aW9uKSxcbiAgICAgICAgICAgICAgICAnfScsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgJ1RvIGluZmVyIHRoZSB0eXBlLCBlaXRoZXIgcHJvdmlkZTonLFxuICAgICAgICAgICAgICAgICctIGEgYHR5cGVgIHRvIHRoZSBUcmFuc2FjdGlvbiwgb3InLFxuICAgICAgICAgICAgICAgICctIGFuIEVJUC0xNTU5IFRyYW5zYWN0aW9uIHdpdGggYG1heEZlZVBlckdhc2AsIG9yJyxcbiAgICAgICAgICAgICAgICAnLSBhbiBFSVAtMjkzMCBUcmFuc2FjdGlvbiB3aXRoIGBnYXNQcmljZWAgJiBgYWNjZXNzTGlzdGAsIG9yJyxcbiAgICAgICAgICAgICAgICAnLSBhIExlZ2FjeSBUcmFuc2FjdGlvbiB3aXRoIGBnYXNQcmljZWAnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6ICdJbnZhbGlkU2VyaWFsaXphYmxlVHJhbnNhY3Rpb25FcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgc2VyaWFsaXplZFR5cGUgfSkge1xuICAgICAgICBzdXBlcihgU2VyaWFsaXplZCB0cmFuc2FjdGlvbiB0eXBlIFwiJHtzZXJpYWxpemVkVHlwZX1cIiBpcyBpbnZhbGlkLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUnXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJzZXJpYWxpemVkVHlwZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlcmlhbGl6ZWRUeXBlID0gc2VyaWFsaXplZFR5cGU7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25FcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBhdHRyaWJ1dGVzLCBzZXJpYWxpemVkVHJhbnNhY3Rpb24sIHR5cGUsIH0pIHtcbiAgICAgICAgY29uc3QgbWlzc2luZyA9IE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpXG4gICAgICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+ICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnID8ga2V5IDogdW5kZWZpbmVkKSlcbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIHN1cGVyKGBJbnZhbGlkIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24gb2YgdHlwZSBcIiR7dHlwZX1cIiB3YXMgcHJvdmlkZWQuYCwge1xuICAgICAgICAgICAgbWV0YU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAgICAgYFNlcmlhbGl6ZWQgVHJhbnNhY3Rpb246IFwiJHtzZXJpYWxpemVkVHJhbnNhY3Rpb259XCJgLFxuICAgICAgICAgICAgICAgIG1pc3NpbmcubGVuZ3RoID4gMCA/IGBNaXNzaW5nIEF0dHJpYnV0ZXM6ICR7bWlzc2luZy5qb2luKCcsICcpfWAgOiAnJyxcbiAgICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ0ludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25FcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNlcmlhbGl6ZWRUcmFuc2FjdGlvblwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ0eXBlXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VyaWFsaXplZFRyYW5zYWN0aW9uID0gc2VyaWFsaXplZFRyYW5zYWN0aW9uO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkU3RvcmFnZUtleVNpemVFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBzdG9yYWdlS2V5IH0pIHtcbiAgICAgICAgc3VwZXIoYFNpemUgZm9yIHN0b3JhZ2Uga2V5IFwiJHtzdG9yYWdlS2V5fVwiIGlzIGludmFsaWQuIEV4cGVjdGVkIDMyIGJ5dGVzLiBHb3QgJHtNYXRoLmZsb29yKChzdG9yYWdlS2V5Lmxlbmd0aCAtIDIpIC8gMil9IGJ5dGVzLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnSW52YWxpZFN0b3JhZ2VLZXlTaXplRXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkV4ZWN1dGlvbkVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihjYXVzZSwgeyBhY2NvdW50LCBkb2NzUGF0aCwgY2hhaW4sIGRhdGEsIGdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIG5vbmNlLCB0bywgdmFsdWUsIH0pIHtcbiAgICAgICAgY29uc3QgcHJldHR5QXJncyA9IHByZXR0eVByaW50KHtcbiAgICAgICAgICAgIGNoYWluOiBjaGFpbiAmJiBgJHtjaGFpbj8ubmFtZX0gKGlkOiAke2NoYWluPy5pZH0pYCxcbiAgICAgICAgICAgIGZyb206IGFjY291bnQ/LmFkZHJlc3MsXG4gICAgICAgICAgICB0byxcbiAgICAgICAgICAgIHZhbHVlOiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgYCR7Zm9ybWF0RXRoZXIodmFsdWUpfSAke2NoYWluPy5uYXRpdmVDdXJyZW5jeS5zeW1ib2wgfHwgJ0VUSCd9YCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBnYXMsXG4gICAgICAgICAgICBnYXNQcmljZTogdHlwZW9mIGdhc1ByaWNlICE9PSAndW5kZWZpbmVkJyAmJiBgJHtmb3JtYXRHd2VpKGdhc1ByaWNlKX0gZ3dlaWAsXG4gICAgICAgICAgICBtYXhGZWVQZXJHYXM6IHR5cGVvZiBtYXhGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgYCR7Zm9ybWF0R3dlaShtYXhGZWVQZXJHYXMpfSBnd2VpYCxcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiB0eXBlb2YgbWF4UHJpb3JpdHlGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgYCR7Zm9ybWF0R3dlaShtYXhQcmlvcml0eUZlZVBlckdhcyl9IGd3ZWlgLFxuICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgIH0pO1xuICAgICAgICBzdXBlcihjYXVzZS5zaG9ydE1lc3NhZ2UsIHtcbiAgICAgICAgICAgIGNhdXNlLFxuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgICAgICBtZXRhTWVzc2FnZXM6IFtcbiAgICAgICAgICAgICAgICAuLi4oY2F1c2UubWV0YU1lc3NhZ2VzID8gWy4uLmNhdXNlLm1ldGFNZXNzYWdlcywgJyAnXSA6IFtdKSxcbiAgICAgICAgICAgICAgICAnUmVxdWVzdCBBcmd1bWVudHM6JyxcbiAgICAgICAgICAgICAgICBwcmV0dHlBcmdzLFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjYXVzZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVHJhbnNhY3Rpb25FeGVjdXRpb25FcnJvcidcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2F1c2UgPSBjYXVzZTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IGJsb2NrSGFzaCwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBoYXNoLCBpbmRleCwgfSkge1xuICAgICAgICBsZXQgaWRlbnRpZmllciA9ICdUcmFuc2FjdGlvbic7XG4gICAgICAgIGlmIChibG9ja1RhZyAmJiBpbmRleCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgaWRlbnRpZmllciA9IGBUcmFuc2FjdGlvbiBhdCBibG9jayB0aW1lIFwiJHtibG9ja1RhZ31cIiBhdCBpbmRleCBcIiR7aW5kZXh9XCJgO1xuICAgICAgICBpZiAoYmxvY2tIYXNoICYmIGluZGV4ICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gYFRyYW5zYWN0aW9uIGF0IGJsb2NrIGhhc2ggXCIke2Jsb2NrSGFzaH1cIiBhdCBpbmRleCBcIiR7aW5kZXh9XCJgO1xuICAgICAgICBpZiAoYmxvY2tOdW1iZXIgJiYgaW5kZXggIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBgVHJhbnNhY3Rpb24gYXQgYmxvY2sgbnVtYmVyIFwiJHtibG9ja051bWJlcn1cIiBhdCBpbmRleCBcIiR7aW5kZXh9XCJgO1xuICAgICAgICBpZiAoaGFzaClcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBgVHJhbnNhY3Rpb24gd2l0aCBoYXNoIFwiJHtoYXNofVwiYDtcbiAgICAgICAgc3VwZXIoYCR7aWRlbnRpZmllcn0gY291bGQgbm90IGJlIGZvdW5kLmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25SZWNlaXB0Tm90Rm91bmRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBoYXNoIH0pIHtcbiAgICAgICAgc3VwZXIoYFRyYW5zYWN0aW9uIHJlY2VpcHQgd2l0aCBoYXNoIFwiJHtoYXNofVwiIGNvdWxkIG5vdCBiZSBmb3VuZC4gVGhlIFRyYW5zYWN0aW9uIG1heSBub3QgYmUgcHJvY2Vzc2VkIG9uIGEgYmxvY2sgeWV0LmApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiAnVHJhbnNhY3Rpb25SZWNlaXB0Tm90Rm91bmRFcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFdhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRUaW1lb3V0RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgaGFzaCB9KSB7XG4gICAgICAgIHN1cGVyKGBUaW1lZCBvdXQgd2hpbGUgd2FpdGluZyBmb3IgdHJhbnNhY3Rpb24gd2l0aCBoYXNoIFwiJHtoYXNofVwiIHRvIGJlIGNvbmZpcm1lZC5gKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogJ1dhaXRGb3JUcmFuc2FjdGlvblJlY2VpcHRUaW1lb3V0RXJyb3InXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRyYW5zYWN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/transaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/transport.js": -/*!********************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/transport.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UrlRequiredError: function() { return /* binding */ UrlRequiredError; }\n/* harmony export */ });\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n\nclass UrlRequiredError extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseError {\n constructor() {\n super('No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.', {\n docsPath: '/docs/clients/intro',\n });\n }\n}\n//# sourceMappingURL=transport.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvdHJhbnNwb3J0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXNDO0FBQy9CLCtCQUErQiwrQ0FBUztBQUMvQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL2Vycm9ycy90cmFuc3BvcnQuanM/MTA0NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tICcuL2Jhc2UuanMnO1xuZXhwb3J0IGNsYXNzIFVybFJlcXVpcmVkRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignTm8gVVJMIHdhcyBwcm92aWRlZCB0byB0aGUgVHJhbnNwb3J0LiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIFJQQyBVUkwgdG8gdGhlIFRyYW5zcG9ydC4nLCB7XG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NsaWVudHMvaW50cm8nLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmFuc3BvcnQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/transport.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/utils.js": -/*!****************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/utils.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getContractAddress: function() { return /* binding */ getContractAddress; },\n/* harmony export */ getUrl: function() { return /* binding */ getUrl; },\n/* harmony export */ getVersion: function() { return /* binding */ getVersion; }\n/* harmony export */ });\n/* harmony import */ var _version_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./version.js */ \"./node_modules/viem/dist/esm/errors/version.js\");\n\nconst getContractAddress = (address) => address;\nconst getUrl = (url) => url;\nconst getVersion = () => `viem@${_version_js__WEBPACK_IMPORTED_MODULE_0__.version}`;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF1QztBQUNoQztBQUNBO0FBQ0EsaUNBQWlDLGdEQUFPLENBQUM7QUFDaEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vZXJyb3JzL3V0aWxzLmpzPzUwNTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4vdmVyc2lvbi5qcyc7XG5leHBvcnQgY29uc3QgZ2V0Q29udHJhY3RBZGRyZXNzID0gKGFkZHJlc3MpID0+IGFkZHJlc3M7XG5leHBvcnQgY29uc3QgZ2V0VXJsID0gKHVybCkgPT4gdXJsO1xuZXhwb3J0IGNvbnN0IGdldFZlcnNpb24gPSAoKSA9PiBgdmllbUAke3ZlcnNpb259YDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/errors/version.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/errors/version.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ version: function() { return /* binding */ version; }\n/* harmony export */ });\nconst version = '1.1.7';\n//# sourceMappingURL=version.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvdmVyc2lvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9lcnJvcnMvdmVyc2lvbi5qcz9hOTE5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB2ZXJzaW9uID0gJzEuMS43Jztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlcnNpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/errors/version.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/index.js": -/*!*********************************************!*\ - !*** ./node_modules/viem/dist/esm/index.js ***! - \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbiConstructorNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiConstructorNotFoundError; },\n/* harmony export */ AbiConstructorParamsNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiConstructorParamsNotFoundError; },\n/* harmony export */ AbiDecodingDataSizeInvalidError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiDecodingDataSizeInvalidError; },\n/* harmony export */ AbiDecodingZeroDataError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiDecodingZeroDataError; },\n/* harmony export */ AbiEncodingArrayLengthMismatchError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiEncodingArrayLengthMismatchError; },\n/* harmony export */ AbiEncodingLengthMismatchError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiEncodingLengthMismatchError; },\n/* harmony export */ AbiErrorInputsNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiErrorInputsNotFoundError; },\n/* harmony export */ AbiErrorNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiErrorNotFoundError; },\n/* harmony export */ AbiErrorSignatureNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiErrorSignatureNotFoundError; },\n/* harmony export */ AbiEventNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiEventNotFoundError; },\n/* harmony export */ AbiEventSignatureEmptyTopicsError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiEventSignatureEmptyTopicsError; },\n/* harmony export */ AbiEventSignatureNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiEventSignatureNotFoundError; },\n/* harmony export */ AbiFunctionNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiFunctionNotFoundError; },\n/* harmony export */ AbiFunctionOutputsNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiFunctionOutputsNotFoundError; },\n/* harmony export */ AbiFunctionSignatureNotFoundError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.AbiFunctionSignatureNotFoundError; },\n/* harmony export */ BaseError: function() { return /* reexport safe */ _errors_base_js__WEBPACK_IMPORTED_MODULE_15__.BaseError; },\n/* harmony export */ BlockNotFoundError: function() { return /* reexport safe */ _errors_block_js__WEBPACK_IMPORTED_MODULE_16__.BlockNotFoundError; },\n/* harmony export */ CallExecutionError: function() { return /* reexport safe */ _errors_contract_js__WEBPACK_IMPORTED_MODULE_17__.CallExecutionError; },\n/* harmony export */ ChainDisconnectedError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.ChainDisconnectedError; },\n/* harmony export */ ChainDoesNotSupportContract: function() { return /* reexport safe */ _errors_chain_js__WEBPACK_IMPORTED_MODULE_19__.ChainDoesNotSupportContract; },\n/* harmony export */ CircularReferenceError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.CircularReferenceError; },\n/* harmony export */ ClientChainNotConfiguredError: function() { return /* reexport safe */ _errors_chain_js__WEBPACK_IMPORTED_MODULE_19__.ClientChainNotConfiguredError; },\n/* harmony export */ ContractFunctionExecutionError: function() { return /* reexport safe */ _errors_contract_js__WEBPACK_IMPORTED_MODULE_17__.ContractFunctionExecutionError; },\n/* harmony export */ ContractFunctionRevertedError: function() { return /* reexport safe */ _errors_contract_js__WEBPACK_IMPORTED_MODULE_17__.ContractFunctionRevertedError; },\n/* harmony export */ ContractFunctionZeroDataError: function() { return /* reexport safe */ _errors_contract_js__WEBPACK_IMPORTED_MODULE_17__.ContractFunctionZeroDataError; },\n/* harmony export */ DataLengthTooLongError: function() { return /* reexport safe */ _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__.DataLengthTooLongError; },\n/* harmony export */ DataLengthTooShortError: function() { return /* reexport safe */ _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__.DataLengthTooShortError; },\n/* harmony export */ DecodeLogTopicsMismatch: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.DecodeLogTopicsMismatch; },\n/* harmony export */ EnsAvatarUriResolutionError: function() { return /* reexport safe */ _errors_ens_js__WEBPACK_IMPORTED_MODULE_21__.EnsAvatarUriResolutionError; },\n/* harmony export */ EstimateGasExecutionError: function() { return /* reexport safe */ _errors_estimateGas_js__WEBPACK_IMPORTED_MODULE_22__.EstimateGasExecutionError; },\n/* harmony export */ ExecutionRevertedError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.ExecutionRevertedError; },\n/* harmony export */ FeeCapTooHighError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.FeeCapTooHighError; },\n/* harmony export */ FeeCapTooLowError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.FeeCapTooLowError; },\n/* harmony export */ FilterTypeNotSupportedError: function() { return /* reexport safe */ _errors_log_js__WEBPACK_IMPORTED_MODULE_24__.FilterTypeNotSupportedError; },\n/* harmony export */ HttpRequestError: function() { return /* reexport safe */ _errors_request_js__WEBPACK_IMPORTED_MODULE_25__.HttpRequestError; },\n/* harmony export */ InsufficientFundsError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.InsufficientFundsError; },\n/* harmony export */ InternalRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.InternalRpcError; },\n/* harmony export */ IntrinsicGasTooHighError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.IntrinsicGasTooHighError; },\n/* harmony export */ IntrinsicGasTooLowError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.IntrinsicGasTooLowError; },\n/* harmony export */ InvalidAbiDecodingTypeError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.InvalidAbiDecodingTypeError; },\n/* harmony export */ InvalidAbiEncodingTypeError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.InvalidAbiEncodingTypeError; },\n/* harmony export */ InvalidAbiItemError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiItemError; },\n/* harmony export */ InvalidAbiParameterError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiParameterError; },\n/* harmony export */ InvalidAbiParametersError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiParametersError; },\n/* harmony export */ InvalidAbiTypeParameterError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiTypeParameterError; },\n/* harmony export */ InvalidAddressError: function() { return /* reexport safe */ _errors_address_js__WEBPACK_IMPORTED_MODULE_26__.InvalidAddressError; },\n/* harmony export */ InvalidArrayError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.InvalidArrayError; },\n/* harmony export */ InvalidBytesBooleanError: function() { return /* reexport safe */ _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__.InvalidBytesBooleanError; },\n/* harmony export */ InvalidChainIdError: function() { return /* reexport safe */ _errors_chain_js__WEBPACK_IMPORTED_MODULE_19__.InvalidChainIdError; },\n/* harmony export */ InvalidDefinitionTypeError: function() { return /* reexport safe */ _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__.InvalidDefinitionTypeError; },\n/* harmony export */ InvalidFunctionModifierError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidFunctionModifierError; },\n/* harmony export */ InvalidHexBooleanError: function() { return /* reexport safe */ _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__.InvalidHexBooleanError; },\n/* harmony export */ InvalidHexValueError: function() { return /* reexport safe */ _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__.InvalidHexValueError; },\n/* harmony export */ InvalidInputRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.InvalidInputRpcError; },\n/* harmony export */ InvalidLegacyVError: function() { return /* reexport safe */ _errors_transaction_js__WEBPACK_IMPORTED_MODULE_27__.InvalidLegacyVError; },\n/* harmony export */ InvalidModifierError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidModifierError; },\n/* harmony export */ InvalidParameterError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidParameterError; },\n/* harmony export */ InvalidParamsRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.InvalidParamsRpcError; },\n/* harmony export */ InvalidParenthesisError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidParenthesisError; },\n/* harmony export */ InvalidRequestRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.InvalidRequestRpcError; },\n/* harmony export */ InvalidSignatureError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidSignatureError; },\n/* harmony export */ InvalidStructSignatureError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.InvalidStructSignatureError; },\n/* harmony export */ JsonRpcVersionUnsupportedError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.JsonRpcVersionUnsupportedError; },\n/* harmony export */ LimitExceededRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.LimitExceededRpcError; },\n/* harmony export */ MethodNotFoundRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.MethodNotFoundRpcError; },\n/* harmony export */ MethodNotSupportedRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.MethodNotSupportedRpcError; },\n/* harmony export */ NonceMaxValueError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.NonceMaxValueError; },\n/* harmony export */ NonceTooHighError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.NonceTooHighError; },\n/* harmony export */ NonceTooLowError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.NonceTooLowError; },\n/* harmony export */ OffsetOutOfBoundsError: function() { return /* reexport safe */ _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__.OffsetOutOfBoundsError; },\n/* harmony export */ ParseRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.ParseRpcError; },\n/* harmony export */ ProviderDisconnectedError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.ProviderDisconnectedError; },\n/* harmony export */ ProviderRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.ProviderRpcError; },\n/* harmony export */ RawContractError: function() { return /* reexport safe */ _errors_contract_js__WEBPACK_IMPORTED_MODULE_17__.RawContractError; },\n/* harmony export */ ResourceNotFoundRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.ResourceNotFoundRpcError; },\n/* harmony export */ ResourceUnavailableRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.ResourceUnavailableRpcError; },\n/* harmony export */ RpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.RpcError; },\n/* harmony export */ RpcRequestError: function() { return /* reexport safe */ _errors_request_js__WEBPACK_IMPORTED_MODULE_25__.RpcRequestError; },\n/* harmony export */ SizeExceedsPaddingSizeError: function() { return /* reexport safe */ _errors_data_js__WEBPACK_IMPORTED_MODULE_28__.SizeExceedsPaddingSizeError; },\n/* harmony export */ SolidityProtectedKeywordError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.SolidityProtectedKeywordError; },\n/* harmony export */ SwitchChainError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.SwitchChainError; },\n/* harmony export */ TimeoutError: function() { return /* reexport safe */ _errors_request_js__WEBPACK_IMPORTED_MODULE_25__.TimeoutError; },\n/* harmony export */ TipAboveFeeCapError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.TipAboveFeeCapError; },\n/* harmony export */ TransactionExecutionError: function() { return /* reexport safe */ _errors_transaction_js__WEBPACK_IMPORTED_MODULE_27__.TransactionExecutionError; },\n/* harmony export */ TransactionNotFoundError: function() { return /* reexport safe */ _errors_transaction_js__WEBPACK_IMPORTED_MODULE_27__.TransactionNotFoundError; },\n/* harmony export */ TransactionReceiptNotFoundError: function() { return /* reexport safe */ _errors_transaction_js__WEBPACK_IMPORTED_MODULE_27__.TransactionReceiptNotFoundError; },\n/* harmony export */ TransactionRejectedRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.TransactionRejectedRpcError; },\n/* harmony export */ TransactionTypeNotSupportedError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.TransactionTypeNotSupportedError; },\n/* harmony export */ UnauthorizedProviderError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.UnauthorizedProviderError; },\n/* harmony export */ UnknownNodeError: function() { return /* reexport safe */ _errors_node_js__WEBPACK_IMPORTED_MODULE_23__.UnknownNodeError; },\n/* harmony export */ UnknownRpcError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.UnknownRpcError; },\n/* harmony export */ UnknownSignatureError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.UnknownSignatureError; },\n/* harmony export */ UnknownTypeError: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.UnknownTypeError; },\n/* harmony export */ UnsupportedProviderMethodError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.UnsupportedProviderMethodError; },\n/* harmony export */ UrlRequiredError: function() { return /* reexport safe */ _errors_transport_js__WEBPACK_IMPORTED_MODULE_29__.UrlRequiredError; },\n/* harmony export */ UserRejectedRequestError: function() { return /* reexport safe */ _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__.UserRejectedRequestError; },\n/* harmony export */ WaitForTransactionReceiptTimeoutError: function() { return /* reexport safe */ _errors_transaction_js__WEBPACK_IMPORTED_MODULE_27__.WaitForTransactionReceiptTimeoutError; },\n/* harmony export */ WebSocketRequestError: function() { return /* reexport safe */ _errors_request_js__WEBPACK_IMPORTED_MODULE_25__.WebSocketRequestError; },\n/* harmony export */ assertCurrentChain: function() { return /* reexport safe */ _utils_chain_js__WEBPACK_IMPORTED_MODULE_68__.assertCurrentChain; },\n/* harmony export */ assertRequest: function() { return /* reexport safe */ _utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_61__.assertRequest; },\n/* harmony export */ assertTransactionEIP1559: function() { return /* reexport safe */ _utils_transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_62__.assertTransactionEIP1559; },\n/* harmony export */ assertTransactionEIP2930: function() { return /* reexport safe */ _utils_transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_62__.assertTransactionEIP2930; },\n/* harmony export */ assertTransactionLegacy: function() { return /* reexport safe */ _utils_transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_62__.assertTransactionLegacy; },\n/* harmony export */ boolToBytes: function() { return /* reexport safe */ _utils_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_63__.boolToBytes; },\n/* harmony export */ boolToHex: function() { return /* reexport safe */ _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_64__.boolToHex; },\n/* harmony export */ bytesToBigint: function() { return /* reexport safe */ _utils_encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_65__.bytesToBigint; },\n/* harmony export */ bytesToBool: function() { return /* reexport safe */ _utils_encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_65__.bytesToBool; },\n/* harmony export */ bytesToHex: function() { return /* reexport safe */ _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_64__.bytesToHex; },\n/* harmony export */ bytesToNumber: function() { return /* reexport safe */ _utils_encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_65__.bytesToNumber; },\n/* harmony export */ bytesToString: function() { return /* reexport safe */ _utils_encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_65__.bytesToString; },\n/* harmony export */ ccipFetch: function() { return /* reexport safe */ _utils_ccip_js__WEBPACK_IMPORTED_MODULE_66__.ccipFetch; },\n/* harmony export */ concat: function() { return /* reexport safe */ _utils_data_concat_js__WEBPACK_IMPORTED_MODULE_67__.concat; },\n/* harmony export */ concatBytes: function() { return /* reexport safe */ _utils_data_concat_js__WEBPACK_IMPORTED_MODULE_67__.concatBytes; },\n/* harmony export */ concatHex: function() { return /* reexport safe */ _utils_data_concat_js__WEBPACK_IMPORTED_MODULE_67__.concatHex; },\n/* harmony export */ createClient: function() { return /* reexport safe */ _clients_createClient_js__WEBPACK_IMPORTED_MODULE_2__.createClient; },\n/* harmony export */ createPublicClient: function() { return /* reexport safe */ _clients_createPublicClient_js__WEBPACK_IMPORTED_MODULE_6__.createPublicClient; },\n/* harmony export */ createTestClient: function() { return /* reexport safe */ _clients_createTestClient_js__WEBPACK_IMPORTED_MODULE_7__.createTestClient; },\n/* harmony export */ createTransport: function() { return /* reexport safe */ _clients_transports_createTransport_js__WEBPACK_IMPORTED_MODULE_8__.createTransport; },\n/* harmony export */ createWalletClient: function() { return /* reexport safe */ _clients_createWalletClient_js__WEBPACK_IMPORTED_MODULE_9__.createWalletClient; },\n/* harmony export */ custom: function() { return /* reexport safe */ _clients_transports_custom_js__WEBPACK_IMPORTED_MODULE_3__.custom; },\n/* harmony export */ decodeAbiParameters: function() { return /* reexport safe */ _utils_abi_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_34__.decodeAbiParameters; },\n/* harmony export */ decodeDeployData: function() { return /* reexport safe */ _utils_abi_decodeDeployData_js__WEBPACK_IMPORTED_MODULE_35__.decodeDeployData; },\n/* harmony export */ decodeErrorResult: function() { return /* reexport safe */ _utils_abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_36__.decodeErrorResult; },\n/* harmony export */ decodeEventLog: function() { return /* reexport safe */ _utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_37__.decodeEventLog; },\n/* harmony export */ decodeFunctionData: function() { return /* reexport safe */ _utils_abi_decodeFunctionData_js__WEBPACK_IMPORTED_MODULE_38__.decodeFunctionData; },\n/* harmony export */ decodeFunctionResult: function() { return /* reexport safe */ _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_39__.decodeFunctionResult; },\n/* harmony export */ defineBlock: function() { return /* reexport safe */ _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_32__.defineBlock; },\n/* harmony export */ defineChain: function() { return /* reexport safe */ _utils_chain_js__WEBPACK_IMPORTED_MODULE_68__.defineChain; },\n/* harmony export */ defineTransaction: function() { return /* reexport safe */ _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_46__.defineTransaction; },\n/* harmony export */ defineTransactionReceipt: function() { return /* reexport safe */ _utils_formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_47__.defineTransactionReceipt; },\n/* harmony export */ defineTransactionRequest: function() { return /* reexport safe */ _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_48__.defineTransactionRequest; },\n/* harmony export */ encodeAbiParameters: function() { return /* reexport safe */ _utils_abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_40__.encodeAbiParameters; },\n/* harmony export */ encodeDeployData: function() { return /* reexport safe */ _utils_abi_encodeDeployData_js__WEBPACK_IMPORTED_MODULE_41__.encodeDeployData; },\n/* harmony export */ encodeErrorResult: function() { return /* reexport safe */ _utils_abi_encodeErrorResult_js__WEBPACK_IMPORTED_MODULE_42__.encodeErrorResult; },\n/* harmony export */ encodeEventTopics: function() { return /* reexport safe */ _utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_43__.encodeEventTopics; },\n/* harmony export */ encodeFunctionData: function() { return /* reexport safe */ _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_44__.encodeFunctionData; },\n/* harmony export */ encodeFunctionResult: function() { return /* reexport safe */ _utils_abi_encodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_45__.encodeFunctionResult; },\n/* harmony export */ encodePacked: function() { return /* reexport safe */ _utils_abi_encodePacked_js__WEBPACK_IMPORTED_MODULE_69__.encodePacked; },\n/* harmony export */ etherUnits: function() { return /* reexport safe */ _constants_unit_js__WEBPACK_IMPORTED_MODULE_12__.etherUnits; },\n/* harmony export */ fallback: function() { return /* reexport safe */ _clients_transports_fallback_js__WEBPACK_IMPORTED_MODULE_4__.fallback; },\n/* harmony export */ formatBlock: function() { return /* reexport safe */ _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_32__.formatBlock; },\n/* harmony export */ formatEther: function() { return /* reexport safe */ _utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_70__.formatEther; },\n/* harmony export */ formatGwei: function() { return /* reexport safe */ _utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_71__.formatGwei; },\n/* harmony export */ formatLog: function() { return /* reexport safe */ _utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_33__.formatLog; },\n/* harmony export */ formatTransaction: function() { return /* reexport safe */ _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_46__.formatTransaction; },\n/* harmony export */ formatTransactionRequest: function() { return /* reexport safe */ _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_48__.formatTransactionRequest; },\n/* harmony export */ formatUnits: function() { return /* reexport safe */ _utils_unit_formatUnits_js__WEBPACK_IMPORTED_MODULE_72__.formatUnits; },\n/* harmony export */ fromBytes: function() { return /* reexport safe */ _utils_encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_65__.fromBytes; },\n/* harmony export */ fromHex: function() { return /* reexport safe */ _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_73__.fromHex; },\n/* harmony export */ fromRlp: function() { return /* reexport safe */ _utils_encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_74__.fromRlp; },\n/* harmony export */ getAbiItem: function() { return /* reexport safe */ _utils_abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_49__.getAbiItem; },\n/* harmony export */ getAddress: function() { return /* reexport safe */ _utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_75__.getAddress; },\n/* harmony export */ getContract: function() { return /* reexport safe */ _actions_getContract_js__WEBPACK_IMPORTED_MODULE_1__.getContract; },\n/* harmony export */ getContractAddress: function() { return /* reexport safe */ _utils_address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_50__.getContractAddress; },\n/* harmony export */ getContractError: function() { return /* reexport safe */ _utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_76__.getContractError; },\n/* harmony export */ getCreate2Address: function() { return /* reexport safe */ _utils_address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_50__.getCreate2Address; },\n/* harmony export */ getCreateAddress: function() { return /* reexport safe */ _utils_address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_50__.getCreateAddress; },\n/* harmony export */ getEventSelector: function() { return /* reexport safe */ _utils_hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_77__.getEventSelector; },\n/* harmony export */ getFunctionSelector: function() { return /* reexport safe */ _utils_hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_78__.getFunctionSelector; },\n/* harmony export */ getSerializedTransactionType: function() { return /* reexport safe */ _utils_transaction_getSerializedTransactionType_js__WEBPACK_IMPORTED_MODULE_51__.getSerializedTransactionType; },\n/* harmony export */ getTransactionType: function() { return /* reexport safe */ _utils_transaction_getTransactionType_js__WEBPACK_IMPORTED_MODULE_52__.getTransactionType; },\n/* harmony export */ gweiUnits: function() { return /* reexport safe */ _constants_unit_js__WEBPACK_IMPORTED_MODULE_12__.gweiUnits; },\n/* harmony export */ hashMessage: function() { return /* reexport safe */ _utils_signature_hashMessage_js__WEBPACK_IMPORTED_MODULE_79__.hashMessage; },\n/* harmony export */ hashTypedData: function() { return /* reexport safe */ _utils_signature_hashTypedData_js__WEBPACK_IMPORTED_MODULE_53__.hashTypedData; },\n/* harmony export */ hexToBigInt: function() { return /* reexport safe */ _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_73__.hexToBigInt; },\n/* harmony export */ hexToBool: function() { return /* reexport safe */ _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_73__.hexToBool; },\n/* harmony export */ hexToBytes: function() { return /* reexport safe */ _utils_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_63__.hexToBytes; },\n/* harmony export */ hexToNumber: function() { return /* reexport safe */ _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_73__.hexToNumber; },\n/* harmony export */ hexToString: function() { return /* reexport safe */ _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_73__.hexToString; },\n/* harmony export */ http: function() { return /* reexport safe */ _clients_transports_http_js__WEBPACK_IMPORTED_MODULE_5__.http; },\n/* harmony export */ isAddress: function() { return /* reexport safe */ _utils_address_isAddress_js__WEBPACK_IMPORTED_MODULE_80__.isAddress; },\n/* harmony export */ isAddressEqual: function() { return /* reexport safe */ _utils_address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_81__.isAddressEqual; },\n/* harmony export */ isBytes: function() { return /* reexport safe */ _utils_data_isBytes_js__WEBPACK_IMPORTED_MODULE_82__.isBytes; },\n/* harmony export */ isHash: function() { return /* reexport safe */ _utils_hash_isHash_js__WEBPACK_IMPORTED_MODULE_83__.isHash; },\n/* harmony export */ isHex: function() { return /* reexport safe */ _utils_data_isHex_js__WEBPACK_IMPORTED_MODULE_84__.isHex; },\n/* harmony export */ keccak256: function() { return /* reexport safe */ _utils_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_85__.keccak256; },\n/* harmony export */ labelhash: function() { return /* reexport safe */ _utils_ens_labelhash_js__WEBPACK_IMPORTED_MODULE_30__.labelhash; },\n/* harmony export */ multicall3Abi: function() { return /* reexport safe */ _constants_abis_js__WEBPACK_IMPORTED_MODULE_11__.multicall3Abi; },\n/* harmony export */ namehash: function() { return /* reexport safe */ _utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_31__.namehash; },\n/* harmony export */ numberToBytes: function() { return /* reexport safe */ _utils_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_63__.numberToBytes; },\n/* harmony export */ numberToHex: function() { return /* reexport safe */ _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_64__.numberToHex; },\n/* harmony export */ offchainLookup: function() { return /* reexport safe */ _utils_ccip_js__WEBPACK_IMPORTED_MODULE_66__.offchainLookup; },\n/* harmony export */ offchainLookupAbiItem: function() { return /* reexport safe */ _utils_ccip_js__WEBPACK_IMPORTED_MODULE_66__.offchainLookupAbiItem; },\n/* harmony export */ offchainLookupSignature: function() { return /* reexport safe */ _utils_ccip_js__WEBPACK_IMPORTED_MODULE_66__.offchainLookupSignature; },\n/* harmony export */ pad: function() { return /* reexport safe */ _utils_data_pad_js__WEBPACK_IMPORTED_MODULE_86__.pad; },\n/* harmony export */ padBytes: function() { return /* reexport safe */ _utils_data_pad_js__WEBPACK_IMPORTED_MODULE_86__.padBytes; },\n/* harmony export */ padHex: function() { return /* reexport safe */ _utils_data_pad_js__WEBPACK_IMPORTED_MODULE_86__.padHex; },\n/* harmony export */ parseAbi: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.parseAbi; },\n/* harmony export */ parseAbiItem: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.parseAbiItem; },\n/* harmony export */ parseAbiParameter: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.parseAbiParameter; },\n/* harmony export */ parseAbiParameters: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_0__.parseAbiParameters; },\n/* harmony export */ parseEther: function() { return /* reexport safe */ _utils_unit_parseEther_js__WEBPACK_IMPORTED_MODULE_87__.parseEther; },\n/* harmony export */ parseGwei: function() { return /* reexport safe */ _utils_unit_parseGwei_js__WEBPACK_IMPORTED_MODULE_88__.parseGwei; },\n/* harmony export */ parseTransaction: function() { return /* reexport safe */ _utils_transaction_parseTransaction_js__WEBPACK_IMPORTED_MODULE_89__.parseTransaction; },\n/* harmony export */ parseUnits: function() { return /* reexport safe */ _utils_unit_parseUnits_js__WEBPACK_IMPORTED_MODULE_90__.parseUnits; },\n/* harmony export */ prepareRequest: function() { return /* reexport safe */ _utils_transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_91__.prepareRequest; },\n/* harmony export */ recoverAddress: function() { return /* reexport safe */ _utils_signature_recoverAddress_js__WEBPACK_IMPORTED_MODULE_54__.recoverAddress; },\n/* harmony export */ recoverMessageAddress: function() { return /* reexport safe */ _utils_signature_recoverMessageAddress_js__WEBPACK_IMPORTED_MODULE_55__.recoverMessageAddress; },\n/* harmony export */ recoverPublicKey: function() { return /* reexport safe */ _utils_signature_recoverPublicKey_js__WEBPACK_IMPORTED_MODULE_56__.recoverPublicKey; },\n/* harmony export */ recoverTypedDataAddress: function() { return /* reexport safe */ _utils_signature_recoverTypedDataAddress_js__WEBPACK_IMPORTED_MODULE_57__.recoverTypedDataAddress; },\n/* harmony export */ serializeAccessList: function() { return /* reexport safe */ _utils_transaction_serializeAccessList_js__WEBPACK_IMPORTED_MODULE_92__.serializeAccessList; },\n/* harmony export */ serializeTransaction: function() { return /* reexport safe */ _utils_transaction_serializeTransaction_js__WEBPACK_IMPORTED_MODULE_93__.serializeTransaction; },\n/* harmony export */ size: function() { return /* reexport safe */ _utils_data_size_js__WEBPACK_IMPORTED_MODULE_94__.size; },\n/* harmony export */ slice: function() { return /* reexport safe */ _utils_data_slice_js__WEBPACK_IMPORTED_MODULE_95__.slice; },\n/* harmony export */ sliceBytes: function() { return /* reexport safe */ _utils_data_slice_js__WEBPACK_IMPORTED_MODULE_95__.sliceBytes; },\n/* harmony export */ sliceHex: function() { return /* reexport safe */ _utils_data_slice_js__WEBPACK_IMPORTED_MODULE_95__.sliceHex; },\n/* harmony export */ stringToBytes: function() { return /* reexport safe */ _utils_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_63__.stringToBytes; },\n/* harmony export */ stringToHex: function() { return /* reexport safe */ _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_64__.stringToHex; },\n/* harmony export */ stringify: function() { return /* reexport safe */ _utils_stringify_js__WEBPACK_IMPORTED_MODULE_96__.stringify; },\n/* harmony export */ toBytes: function() { return /* reexport safe */ _utils_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_63__.toBytes; },\n/* harmony export */ toHex: function() { return /* reexport safe */ _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_64__.toHex; },\n/* harmony export */ toRlp: function() { return /* reexport safe */ _utils_encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_58__.toRlp; },\n/* harmony export */ transactionType: function() { return /* reexport safe */ _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_46__.transactionType; },\n/* harmony export */ trim: function() { return /* reexport safe */ _utils_data_trim_js__WEBPACK_IMPORTED_MODULE_97__.trim; },\n/* harmony export */ validateTypedData: function() { return /* reexport safe */ _utils_typedData_js__WEBPACK_IMPORTED_MODULE_98__.validateTypedData; },\n/* harmony export */ verifyMessage: function() { return /* reexport safe */ _utils_signature_verifyMessage_js__WEBPACK_IMPORTED_MODULE_59__.verifyMessage; },\n/* harmony export */ verifyTypedData: function() { return /* reexport safe */ _utils_signature_verifyTypedData_js__WEBPACK_IMPORTED_MODULE_60__.verifyTypedData; },\n/* harmony export */ webSocket: function() { return /* reexport safe */ _clients_transports_webSocket_js__WEBPACK_IMPORTED_MODULE_10__.webSocket; },\n/* harmony export */ weiUnits: function() { return /* reexport safe */ _constants_unit_js__WEBPACK_IMPORTED_MODULE_12__.weiUnits; },\n/* harmony export */ zeroAddress: function() { return /* reexport safe */ _constants_address_js__WEBPACK_IMPORTED_MODULE_13__.zeroAddress; }\n/* harmony export */ });\n/* harmony import */ var abitype__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! abitype */ \"./node_modules/abitype/dist/esm/index.js\");\n/* harmony import */ var _actions_getContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions/getContract.js */ \"./node_modules/viem/dist/esm/actions/getContract.js\");\n/* harmony import */ var _clients_createClient_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./clients/createClient.js */ \"./node_modules/viem/dist/esm/clients/createClient.js\");\n/* harmony import */ var _clients_transports_custom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./clients/transports/custom.js */ \"./node_modules/viem/dist/esm/clients/transports/custom.js\");\n/* harmony import */ var _clients_transports_fallback_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./clients/transports/fallback.js */ \"./node_modules/viem/dist/esm/clients/transports/fallback.js\");\n/* harmony import */ var _clients_transports_http_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./clients/transports/http.js */ \"./node_modules/viem/dist/esm/clients/transports/http.js\");\n/* harmony import */ var _clients_createPublicClient_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./clients/createPublicClient.js */ \"./node_modules/viem/dist/esm/clients/createPublicClient.js\");\n/* harmony import */ var _clients_createTestClient_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./clients/createTestClient.js */ \"./node_modules/viem/dist/esm/clients/createTestClient.js\");\n/* harmony import */ var _clients_transports_createTransport_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./clients/transports/createTransport.js */ \"./node_modules/viem/dist/esm/clients/transports/createTransport.js\");\n/* harmony import */ var _clients_createWalletClient_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./clients/createWalletClient.js */ \"./node_modules/viem/dist/esm/clients/createWalletClient.js\");\n/* harmony import */ var _clients_transports_webSocket_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./clients/transports/webSocket.js */ \"./node_modules/viem/dist/esm/clients/transports/webSocket.js\");\n/* harmony import */ var _constants_abis_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./constants/abis.js */ \"./node_modules/viem/dist/esm/constants/abis.js\");\n/* harmony import */ var _constants_unit_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./constants/unit.js */ \"./node_modules/viem/dist/esm/constants/unit.js\");\n/* harmony import */ var _constants_address_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./constants/address.js */ \"./node_modules/viem/dist/esm/constants/address.js\");\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _errors_block_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./errors/block.js */ \"./node_modules/viem/dist/esm/errors/block.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _errors_rpc_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./errors/rpc.js */ \"./node_modules/viem/dist/esm/errors/rpc.js\");\n/* harmony import */ var _errors_chain_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./errors/chain.js */ \"./node_modules/viem/dist/esm/errors/chain.js\");\n/* harmony import */ var _errors_encoding_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./errors/encoding.js */ \"./node_modules/viem/dist/esm/errors/encoding.js\");\n/* harmony import */ var _errors_ens_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./errors/ens.js */ \"./node_modules/viem/dist/esm/errors/ens.js\");\n/* harmony import */ var _errors_estimateGas_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./errors/estimateGas.js */ \"./node_modules/viem/dist/esm/errors/estimateGas.js\");\n/* harmony import */ var _errors_node_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./errors/node.js */ \"./node_modules/viem/dist/esm/errors/node.js\");\n/* harmony import */ var _errors_log_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./errors/log.js */ \"./node_modules/viem/dist/esm/errors/log.js\");\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _errors_data_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./errors/data.js */ \"./node_modules/viem/dist/esm/errors/data.js\");\n/* harmony import */ var _errors_transport_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./errors/transport.js */ \"./node_modules/viem/dist/esm/errors/transport.js\");\n/* harmony import */ var _utils_ens_labelhash_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./utils/ens/labelhash.js */ \"./node_modules/viem/dist/esm/utils/ens/labelhash.js\");\n/* harmony import */ var _utils_ens_namehash_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./utils/ens/namehash.js */ \"./node_modules/viem/dist/esm/utils/ens/namehash.js\");\n/* harmony import */ var _utils_formatters_block_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./utils/formatters/block.js */ \"./node_modules/viem/dist/esm/utils/formatters/block.js\");\n/* harmony import */ var _utils_formatters_log_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./utils/formatters/log.js */ \"./node_modules/viem/dist/esm/utils/formatters/log.js\");\n/* harmony import */ var _utils_abi_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./utils/abi/decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n/* harmony import */ var _utils_abi_decodeDeployData_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./utils/abi/decodeDeployData.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeDeployData.js\");\n/* harmony import */ var _utils_abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./utils/abi/decodeErrorResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js\");\n/* harmony import */ var _utils_abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./utils/abi/decodeEventLog.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js\");\n/* harmony import */ var _utils_abi_decodeFunctionData_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./utils/abi/decodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionData.js\");\n/* harmony import */ var _utils_abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./utils/abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _utils_abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./utils/abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _utils_abi_encodeDeployData_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./utils/abi/encodeDeployData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeDeployData.js\");\n/* harmony import */ var _utils_abi_encodeErrorResult_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./utils/abi/encodeErrorResult.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeErrorResult.js\");\n/* harmony import */ var _utils_abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./utils/abi/encodeEventTopics.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js\");\n/* harmony import */ var _utils_abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./utils/abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _utils_abi_encodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./utils/abi/encodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionResult.js\");\n/* harmony import */ var _utils_formatters_transaction_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./utils/formatters/transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n/* harmony import */ var _utils_formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./utils/formatters/transactionReceipt.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js\");\n/* harmony import */ var _utils_formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./utils/formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n/* harmony import */ var _utils_abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./utils/abi/getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n/* harmony import */ var _utils_address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./utils/address/getContractAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getContractAddress.js\");\n/* harmony import */ var _utils_transaction_getSerializedTransactionType_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./utils/transaction/getSerializedTransactionType.js */ \"./node_modules/viem/dist/esm/utils/transaction/getSerializedTransactionType.js\");\n/* harmony import */ var _utils_transaction_getTransactionType_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./utils/transaction/getTransactionType.js */ \"./node_modules/viem/dist/esm/utils/transaction/getTransactionType.js\");\n/* harmony import */ var _utils_signature_hashTypedData_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./utils/signature/hashTypedData.js */ \"./node_modules/viem/dist/esm/utils/signature/hashTypedData.js\");\n/* harmony import */ var _utils_signature_recoverAddress_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./utils/signature/recoverAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverAddress.js\");\n/* harmony import */ var _utils_signature_recoverMessageAddress_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./utils/signature/recoverMessageAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverMessageAddress.js\");\n/* harmony import */ var _utils_signature_recoverPublicKey_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./utils/signature/recoverPublicKey.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js\");\n/* harmony import */ var _utils_signature_recoverTypedDataAddress_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./utils/signature/recoverTypedDataAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverTypedDataAddress.js\");\n/* harmony import */ var _utils_encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./utils/encoding/toRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/toRlp.js\");\n/* harmony import */ var _utils_signature_verifyMessage_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./utils/signature/verifyMessage.js */ \"./node_modules/viem/dist/esm/utils/signature/verifyMessage.js\");\n/* harmony import */ var _utils_signature_verifyTypedData_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./utils/signature/verifyTypedData.js */ \"./node_modules/viem/dist/esm/utils/signature/verifyTypedData.js\");\n/* harmony import */ var _utils_transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./utils/transaction/assertRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\");\n/* harmony import */ var _utils_transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./utils/transaction/assertTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js\");\n/* harmony import */ var _utils_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./utils/encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _utils_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./utils/encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _utils_encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./utils/encoding/fromBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromBytes.js\");\n/* harmony import */ var _utils_ccip_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./utils/ccip.js */ \"./node_modules/viem/dist/esm/utils/ccip.js\");\n/* harmony import */ var _utils_data_concat_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./utils/data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _utils_chain_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./utils/chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _utils_abi_encodePacked_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./utils/abi/encodePacked.js */ \"./node_modules/viem/dist/esm/utils/abi/encodePacked.js\");\n/* harmony import */ var _utils_unit_formatEther_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./utils/unit/formatEther.js */ \"./node_modules/viem/dist/esm/utils/unit/formatEther.js\");\n/* harmony import */ var _utils_unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./utils/unit/formatGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/formatGwei.js\");\n/* harmony import */ var _utils_unit_formatUnits_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./utils/unit/formatUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/formatUnits.js\");\n/* harmony import */ var _utils_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./utils/encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _utils_encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./utils/encoding/fromRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromRlp.js\");\n/* harmony import */ var _utils_address_getAddress_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./utils/address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n/* harmony import */ var _utils_errors_getContractError_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./utils/errors/getContractError.js */ \"./node_modules/viem/dist/esm/utils/errors/getContractError.js\");\n/* harmony import */ var _utils_hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./utils/hash/getEventSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getEventSelector.js\");\n/* harmony import */ var _utils_hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./utils/hash/getFunctionSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\");\n/* harmony import */ var _utils_signature_hashMessage_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./utils/signature/hashMessage.js */ \"./node_modules/viem/dist/esm/utils/signature/hashMessage.js\");\n/* harmony import */ var _utils_address_isAddress_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./utils/address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n/* harmony import */ var _utils_address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./utils/address/isAddressEqual.js */ \"./node_modules/viem/dist/esm/utils/address/isAddressEqual.js\");\n/* harmony import */ var _utils_data_isBytes_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./utils/data/isBytes.js */ \"./node_modules/viem/dist/esm/utils/data/isBytes.js\");\n/* harmony import */ var _utils_hash_isHash_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./utils/hash/isHash.js */ \"./node_modules/viem/dist/esm/utils/hash/isHash.js\");\n/* harmony import */ var _utils_data_isHex_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./utils/data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _utils_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./utils/hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _utils_data_pad_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./utils/data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _utils_unit_parseEther_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./utils/unit/parseEther.js */ \"./node_modules/viem/dist/esm/utils/unit/parseEther.js\");\n/* harmony import */ var _utils_unit_parseGwei_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./utils/unit/parseGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/parseGwei.js\");\n/* harmony import */ var _utils_transaction_parseTransaction_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./utils/transaction/parseTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/parseTransaction.js\");\n/* harmony import */ var _utils_unit_parseUnits_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./utils/unit/parseUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/parseUnits.js\");\n/* harmony import */ var _utils_transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./utils/transaction/prepareRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js\");\n/* harmony import */ var _utils_transaction_serializeAccessList_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./utils/transaction/serializeAccessList.js */ \"./node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js\");\n/* harmony import */ var _utils_transaction_serializeTransaction_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./utils/transaction/serializeTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/serializeTransaction.js\");\n/* harmony import */ var _utils_data_size_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./utils/data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _utils_data_slice_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./utils/data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _utils_stringify_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./utils/stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _utils_data_trim_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./utils/data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _utils_typedData_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./utils/typedData.js */ \"./node_modules/viem/dist/esm/utils/typedData.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXliO0FBQ2pZO0FBQ0U7QUFDRDtBQUNJO0FBQ1I7QUFDaUI7QUFDSjtBQUNTO0FBQ0w7QUFDUDtBQUNYO0FBQ2tCO0FBQ2pCO0FBQzJqQjtBQUNua0I7QUFDVTtBQUNvSDtBQUNtVztBQUN6WjtBQUNtRTtBQUMxSDtBQUNNO0FBQzJPO0FBQ2pQO0FBQ2dEO0FBQ3BEO0FBQ2tJO0FBQzdIO0FBQ047QUFDSjtBQUNGO0FBQ3FCO0FBQ2xCO0FBQ29CO0FBQ047QUFDRTtBQUNOO0FBQ1E7QUFDSTtBQUNGO0FBQ047QUFDRTtBQUNBO0FBQ0U7QUFDSTtBQUMrQjtBQUN0QjtBQUMwQjtBQUN2RDtBQUN5RDtBQUNiO0FBQ3BCO0FBQ1o7QUFDRTtBQUNjO0FBQ1Y7QUFDYztBQUN0QztBQUNrQjtBQUNJO0FBQ0g7QUFDbUU7QUFDMUI7QUFDVjtBQUNpQjtBQUNSO0FBQ3JDO0FBQ0w7QUFDUjtBQUNEO0FBQ0Y7QUFDRTtBQUMrQztBQUNuRDtBQUNLO0FBQ1c7QUFDRjtBQUNNO0FBQ1g7QUFDTjtBQUNVO0FBQ2pCO0FBQ0Y7QUFDRjtBQUNRO0FBQ007QUFDSjtBQUNGO0FBQ3FCO0FBQ25CO0FBQ2U7QUFDVTtBQUNHO0FBQ3hDO0FBQ3dCO0FBQ25CO0FBQ0w7QUFDYTtBQUN6RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS9pbmRleC5qcz83OTBkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENpcmN1bGFyUmVmZXJlbmNlRXJyb3IsIEludmFsaWRBYmlQYXJhbWV0ZXJFcnJvciwgSW52YWxpZEFiaVBhcmFtZXRlcnNFcnJvciwgSW52YWxpZEFiaUl0ZW1FcnJvciwgSW52YWxpZEFiaVR5cGVQYXJhbWV0ZXJFcnJvciwgSW52YWxpZEZ1bmN0aW9uTW9kaWZpZXJFcnJvciwgSW52YWxpZE1vZGlmaWVyRXJyb3IsIEludmFsaWRQYXJhbWV0ZXJFcnJvciwgSW52YWxpZFBhcmVudGhlc2lzRXJyb3IsIEludmFsaWRTaWduYXR1cmVFcnJvciwgSW52YWxpZFN0cnVjdFNpZ25hdHVyZUVycm9yLCBTb2xpZGl0eVByb3RlY3RlZEtleXdvcmRFcnJvciwgVW5rbm93blR5cGVFcnJvciwgVW5rbm93blNpZ25hdHVyZUVycm9yLCBwYXJzZUFiaSwgcGFyc2VBYmlJdGVtLCBwYXJzZUFiaVBhcmFtZXRlciwgcGFyc2VBYmlQYXJhbWV0ZXJzLCB9IGZyb20gJ2FiaXR5cGUnO1xuZXhwb3J0IHsgZ2V0Q29udHJhY3QsIH0gZnJvbSAnLi9hY3Rpb25zL2dldENvbnRyYWN0LmpzJztcbmV4cG9ydCB7IGNyZWF0ZUNsaWVudCwgfSBmcm9tICcuL2NsaWVudHMvY3JlYXRlQ2xpZW50LmpzJztcbmV4cG9ydCB7IGN1c3RvbSwgfSBmcm9tICcuL2NsaWVudHMvdHJhbnNwb3J0cy9jdXN0b20uanMnO1xuZXhwb3J0IHsgZmFsbGJhY2ssIH0gZnJvbSAnLi9jbGllbnRzL3RyYW5zcG9ydHMvZmFsbGJhY2suanMnO1xuZXhwb3J0IHsgaHR0cCwgfSBmcm9tICcuL2NsaWVudHMvdHJhbnNwb3J0cy9odHRwLmpzJztcbmV4cG9ydCB7IGNyZWF0ZVB1YmxpY0NsaWVudCwgfSBmcm9tICcuL2NsaWVudHMvY3JlYXRlUHVibGljQ2xpZW50LmpzJztcbmV4cG9ydCB7IGNyZWF0ZVRlc3RDbGllbnQsIH0gZnJvbSAnLi9jbGllbnRzL2NyZWF0ZVRlc3RDbGllbnQuanMnO1xuZXhwb3J0IHsgY3JlYXRlVHJhbnNwb3J0LCB9IGZyb20gJy4vY2xpZW50cy90cmFuc3BvcnRzL2NyZWF0ZVRyYW5zcG9ydC5qcyc7XG5leHBvcnQgeyBjcmVhdGVXYWxsZXRDbGllbnQsIH0gZnJvbSAnLi9jbGllbnRzL2NyZWF0ZVdhbGxldENsaWVudC5qcyc7XG5leHBvcnQgeyB3ZWJTb2NrZXQsIH0gZnJvbSAnLi9jbGllbnRzL3RyYW5zcG9ydHMvd2ViU29ja2V0LmpzJztcbmV4cG9ydCB7IG11bHRpY2FsbDNBYmkgfSBmcm9tICcuL2NvbnN0YW50cy9hYmlzLmpzJztcbmV4cG9ydCB7IGV0aGVyVW5pdHMsIGd3ZWlVbml0cywgd2VpVW5pdHMgfSBmcm9tICcuL2NvbnN0YW50cy91bml0LmpzJztcbmV4cG9ydCB7IHplcm9BZGRyZXNzIH0gZnJvbSAnLi9jb25zdGFudHMvYWRkcmVzcy5qcyc7XG5leHBvcnQgeyBBYmlDb25zdHJ1Y3Rvck5vdEZvdW5kRXJyb3IsIEFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvciwgQWJpRGVjb2RpbmdEYXRhU2l6ZUludmFsaWRFcnJvciwgQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yLCBBYmlFbmNvZGluZ0FycmF5TGVuZ3RoTWlzbWF0Y2hFcnJvciwgQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yLCBBYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3IsIEFiaUVycm9yTm90Rm91bmRFcnJvciwgQWJpRXJyb3JTaWduYXR1cmVOb3RGb3VuZEVycm9yLCBBYmlFdmVudE5vdEZvdW5kRXJyb3IsIEFiaUV2ZW50U2lnbmF0dXJlRW1wdHlUb3BpY3NFcnJvciwgQWJpRXZlbnRTaWduYXR1cmVOb3RGb3VuZEVycm9yLCBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IsIEFiaUZ1bmN0aW9uT3V0cHV0c05vdEZvdW5kRXJyb3IsIEFiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvciwgRGVjb2RlTG9nVG9waWNzTWlzbWF0Y2gsIEludmFsaWRBYmlEZWNvZGluZ1R5cGVFcnJvciwgSW52YWxpZEFiaUVuY29kaW5nVHlwZUVycm9yLCBJbnZhbGlkQXJyYXlFcnJvciwgSW52YWxpZERlZmluaXRpb25UeXBlRXJyb3IsIH0gZnJvbSAnLi9lcnJvcnMvYWJpLmpzJztcbmV4cG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4vZXJyb3JzL2Jhc2UuanMnO1xuZXhwb3J0IHsgQmxvY2tOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi9lcnJvcnMvYmxvY2suanMnO1xuZXhwb3J0IHsgQ2FsbEV4ZWN1dGlvbkVycm9yLCBDb250cmFjdEZ1bmN0aW9uRXhlY3V0aW9uRXJyb3IsIENvbnRyYWN0RnVuY3Rpb25SZXZlcnRlZEVycm9yLCBDb250cmFjdEZ1bmN0aW9uWmVyb0RhdGFFcnJvciwgUmF3Q29udHJhY3RFcnJvciwgfSBmcm9tICcuL2Vycm9ycy9jb250cmFjdC5qcyc7XG5leHBvcnQgeyBDaGFpbkRpc2Nvbm5lY3RlZEVycm9yLCBJbnRlcm5hbFJwY0Vycm9yLCBJbnZhbGlkSW5wdXRScGNFcnJvciwgSW52YWxpZFBhcmFtc1JwY0Vycm9yLCBJbnZhbGlkUmVxdWVzdFJwY0Vycm9yLCBKc29uUnBjVmVyc2lvblVuc3VwcG9ydGVkRXJyb3IsIExpbWl0RXhjZWVkZWRScGNFcnJvciwgTWV0aG9kTm90Rm91bmRScGNFcnJvciwgTWV0aG9kTm90U3VwcG9ydGVkUnBjRXJyb3IsIFBhcnNlUnBjRXJyb3IsIFByb3ZpZGVyRGlzY29ubmVjdGVkRXJyb3IsIFByb3ZpZGVyUnBjRXJyb3IsIFJlc291cmNlTm90Rm91bmRScGNFcnJvciwgUmVzb3VyY2VVbmF2YWlsYWJsZVJwY0Vycm9yLCBScGNFcnJvciwgVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yLCBTd2l0Y2hDaGFpbkVycm9yLCBVbmF1dGhvcml6ZWRQcm92aWRlckVycm9yLCBVbmtub3duUnBjRXJyb3IsIFVuc3VwcG9ydGVkUHJvdmlkZXJNZXRob2RFcnJvciwgVXNlclJlamVjdGVkUmVxdWVzdEVycm9yLCB9IGZyb20gJy4vZXJyb3JzL3JwYy5qcyc7XG5leHBvcnQgeyBDaGFpbkRvZXNOb3RTdXBwb3J0Q29udHJhY3QsIENsaWVudENoYWluTm90Q29uZmlndXJlZEVycm9yLCBJbnZhbGlkQ2hhaW5JZEVycm9yLCB9IGZyb20gJy4vZXJyb3JzL2NoYWluLmpzJztcbmV4cG9ydCB7IERhdGFMZW5ndGhUb29Mb25nRXJyb3IsIERhdGFMZW5ndGhUb29TaG9ydEVycm9yLCBJbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3IsIEludmFsaWRIZXhCb29sZWFuRXJyb3IsIEludmFsaWRIZXhWYWx1ZUVycm9yLCBPZmZzZXRPdXRPZkJvdW5kc0Vycm9yLCB9IGZyb20gJy4vZXJyb3JzL2VuY29kaW5nLmpzJztcbmV4cG9ydCB7IEVuc0F2YXRhclVyaVJlc29sdXRpb25FcnJvciB9IGZyb20gJy4vZXJyb3JzL2Vucy5qcyc7XG5leHBvcnQgeyBFc3RpbWF0ZUdhc0V4ZWN1dGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMvZXN0aW1hdGVHYXMuanMnO1xuZXhwb3J0IHsgRXhlY3V0aW9uUmV2ZXJ0ZWRFcnJvciwgRmVlQ2FwVG9vSGlnaEVycm9yLCBGZWVDYXBUb29Mb3dFcnJvciwgSW5zdWZmaWNpZW50RnVuZHNFcnJvciwgSW50cmluc2ljR2FzVG9vSGlnaEVycm9yLCBJbnRyaW5zaWNHYXNUb29Mb3dFcnJvciwgTm9uY2VNYXhWYWx1ZUVycm9yLCBOb25jZVRvb0hpZ2hFcnJvciwgTm9uY2VUb29Mb3dFcnJvciwgVGlwQWJvdmVGZWVDYXBFcnJvciwgVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3IsIFVua25vd25Ob2RlRXJyb3IsIH0gZnJvbSAnLi9lcnJvcnMvbm9kZS5qcyc7XG5leHBvcnQgeyBGaWx0ZXJUeXBlTm90U3VwcG9ydGVkRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9sb2cuanMnO1xuZXhwb3J0IHsgSHR0cFJlcXVlc3RFcnJvciwgUnBjUmVxdWVzdEVycm9yLCBUaW1lb3V0RXJyb3IsIFdlYlNvY2tldFJlcXVlc3RFcnJvciwgfSBmcm9tICcuL2Vycm9ycy9yZXF1ZXN0LmpzJztcbmV4cG9ydCB7IEludmFsaWRBZGRyZXNzRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9hZGRyZXNzLmpzJztcbmV4cG9ydCB7IEludmFsaWRMZWdhY3lWRXJyb3IsIFRyYW5zYWN0aW9uRXhlY3V0aW9uRXJyb3IsIFRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciwgVHJhbnNhY3Rpb25SZWNlaXB0Tm90Rm91bmRFcnJvciwgV2FpdEZvclRyYW5zYWN0aW9uUmVjZWlwdFRpbWVvdXRFcnJvciwgfSBmcm9tICcuL2Vycm9ycy90cmFuc2FjdGlvbi5qcyc7XG5leHBvcnQgeyBTaXplRXhjZWVkc1BhZGRpbmdTaXplRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9kYXRhLmpzJztcbmV4cG9ydCB7IFVybFJlcXVpcmVkRXJyb3IgfSBmcm9tICcuL2Vycm9ycy90cmFuc3BvcnQuanMnO1xuZXhwb3J0IHsgbGFiZWxoYXNoIH0gZnJvbSAnLi91dGlscy9lbnMvbGFiZWxoYXNoLmpzJztcbmV4cG9ydCB7IG5hbWVoYXNoIH0gZnJvbSAnLi91dGlscy9lbnMvbmFtZWhhc2guanMnO1xuZXhwb3J0IHsgZGVmaW5lQmxvY2ssIGZvcm1hdEJsb2NrLCB9IGZyb20gJy4vdXRpbHMvZm9ybWF0dGVycy9ibG9jay5qcyc7XG5leHBvcnQgeyBmb3JtYXRMb2cgfSBmcm9tICcuL3V0aWxzL2Zvcm1hdHRlcnMvbG9nLmpzJztcbmV4cG9ydCB7IGRlY29kZUFiaVBhcmFtZXRlcnMsIH0gZnJvbSAnLi91dGlscy9hYmkvZGVjb2RlQWJpUGFyYW1ldGVycy5qcyc7XG5leHBvcnQgeyBkZWNvZGVEZXBsb3lEYXRhLCB9IGZyb20gJy4vdXRpbHMvYWJpL2RlY29kZURlcGxveURhdGEuanMnO1xuZXhwb3J0IHsgZGVjb2RlRXJyb3JSZXN1bHQsIH0gZnJvbSAnLi91dGlscy9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanMnO1xuZXhwb3J0IHsgZGVjb2RlRXZlbnRMb2csIH0gZnJvbSAnLi91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanMnO1xuZXhwb3J0IHsgZGVjb2RlRnVuY3Rpb25EYXRhLCB9IGZyb20gJy4vdXRpbHMvYWJpL2RlY29kZUZ1bmN0aW9uRGF0YS5qcyc7XG5leHBvcnQgeyBkZWNvZGVGdW5jdGlvblJlc3VsdCwgfSBmcm9tICcuL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvblJlc3VsdC5qcyc7XG5leHBvcnQgeyBlbmNvZGVBYmlQYXJhbWV0ZXJzLCB9IGZyb20gJy4vdXRpbHMvYWJpL2VuY29kZUFiaVBhcmFtZXRlcnMuanMnO1xuZXhwb3J0IHsgZW5jb2RlRGVwbG95RGF0YSwgfSBmcm9tICcuL3V0aWxzL2FiaS9lbmNvZGVEZXBsb3lEYXRhLmpzJztcbmV4cG9ydCB7IGVuY29kZUVycm9yUmVzdWx0LCB9IGZyb20gJy4vdXRpbHMvYWJpL2VuY29kZUVycm9yUmVzdWx0LmpzJztcbmV4cG9ydCB7IGVuY29kZUV2ZW50VG9waWNzLCB9IGZyb20gJy4vdXRpbHMvYWJpL2VuY29kZUV2ZW50VG9waWNzLmpzJztcbmV4cG9ydCB7IGVuY29kZUZ1bmN0aW9uRGF0YSwgfSBmcm9tICcuL3V0aWxzL2FiaS9lbmNvZGVGdW5jdGlvbkRhdGEuanMnO1xuZXhwb3J0IHsgZW5jb2RlRnVuY3Rpb25SZXN1bHQsIH0gZnJvbSAnLi91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25SZXN1bHQuanMnO1xuZXhwb3J0IHsgZGVmaW5lVHJhbnNhY3Rpb24sIGZvcm1hdFRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvblR5cGUsIH0gZnJvbSAnLi91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uLmpzJztcbmV4cG9ydCB7IGRlZmluZVRyYW5zYWN0aW9uUmVjZWlwdCwgfSBmcm9tICcuL3V0aWxzL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZWNlaXB0LmpzJztcbmV4cG9ydCB7IGRlZmluZVRyYW5zYWN0aW9uUmVxdWVzdCwgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0LCB9IGZyb20gJy4vdXRpbHMvZm9ybWF0dGVycy90cmFuc2FjdGlvblJlcXVlc3QuanMnO1xuZXhwb3J0IHsgZ2V0QWJpSXRlbSwgfSBmcm9tICcuL3V0aWxzL2FiaS9nZXRBYmlJdGVtLmpzJztcbmV4cG9ydCB7IGdldENvbnRyYWN0QWRkcmVzcywgZ2V0Q3JlYXRlMkFkZHJlc3MsIGdldENyZWF0ZUFkZHJlc3MsIH0gZnJvbSAnLi91dGlscy9hZGRyZXNzL2dldENvbnRyYWN0QWRkcmVzcy5qcyc7XG5leHBvcnQgeyBnZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlLCB9IGZyb20gJy4vdXRpbHMvdHJhbnNhY3Rpb24vZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZS5qcyc7XG5leHBvcnQgeyBnZXRUcmFuc2FjdGlvblR5cGUsIH0gZnJvbSAnLi91dGlscy90cmFuc2FjdGlvbi9nZXRUcmFuc2FjdGlvblR5cGUuanMnO1xuZXhwb3J0IHsgaGFzaFR5cGVkRGF0YSwgfSBmcm9tICcuL3V0aWxzL3NpZ25hdHVyZS9oYXNoVHlwZWREYXRhLmpzJztcbmV4cG9ydCB7IHJlY292ZXJBZGRyZXNzLCB9IGZyb20gJy4vdXRpbHMvc2lnbmF0dXJlL3JlY292ZXJBZGRyZXNzLmpzJztcbmV4cG9ydCB7IHJlY292ZXJNZXNzYWdlQWRkcmVzcywgfSBmcm9tICcuL3V0aWxzL3NpZ25hdHVyZS9yZWNvdmVyTWVzc2FnZUFkZHJlc3MuanMnO1xuZXhwb3J0IHsgcmVjb3ZlclB1YmxpY0tleSwgfSBmcm9tICcuL3V0aWxzL3NpZ25hdHVyZS9yZWNvdmVyUHVibGljS2V5LmpzJztcbmV4cG9ydCB7IHJlY292ZXJUeXBlZERhdGFBZGRyZXNzLCB9IGZyb20gJy4vdXRpbHMvc2lnbmF0dXJlL3JlY292ZXJUeXBlZERhdGFBZGRyZXNzLmpzJztcbmV4cG9ydCB7IHRvUmxwIH0gZnJvbSAnLi91dGlscy9lbmNvZGluZy90b1JscC5qcyc7XG5leHBvcnQgeyB2ZXJpZnlNZXNzYWdlLCB9IGZyb20gJy4vdXRpbHMvc2lnbmF0dXJlL3ZlcmlmeU1lc3NhZ2UuanMnO1xuZXhwb3J0IHsgdmVyaWZ5VHlwZWREYXRhLCB9IGZyb20gJy4vdXRpbHMvc2lnbmF0dXJlL3ZlcmlmeVR5cGVkRGF0YS5qcyc7XG5leHBvcnQgeyBhc3NlcnRSZXF1ZXN0IH0gZnJvbSAnLi91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRSZXF1ZXN0LmpzJztcbmV4cG9ydCB7IGFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSwgYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwLCBhc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSwgfSBmcm9tICcuL3V0aWxzL3RyYW5zYWN0aW9uL2Fzc2VydFRyYW5zYWN0aW9uLmpzJztcbmV4cG9ydCB7IGJvb2xUb0J5dGVzLCBoZXhUb0J5dGVzLCBudW1iZXJUb0J5dGVzLCBzdHJpbmdUb0J5dGVzLCB0b0J5dGVzLCB9IGZyb20gJy4vdXRpbHMvZW5jb2RpbmcvdG9CeXRlcy5qcyc7XG5leHBvcnQgeyBib29sVG9IZXgsIGJ5dGVzVG9IZXgsIG51bWJlclRvSGV4LCBzdHJpbmdUb0hleCwgdG9IZXgsIH0gZnJvbSAnLi91dGlscy9lbmNvZGluZy90b0hleC5qcyc7XG5leHBvcnQgeyBieXRlc1RvQmlnaW50LCBieXRlc1RvQm9vbCwgYnl0ZXNUb051bWJlciwgYnl0ZXNUb1N0cmluZywgZnJvbUJ5dGVzLCB9IGZyb20gJy4vdXRpbHMvZW5jb2RpbmcvZnJvbUJ5dGVzLmpzJztcbmV4cG9ydCB7IGNjaXBGZXRjaCwgb2ZmY2hhaW5Mb29rdXAsIG9mZmNoYWluTG9va3VwQWJpSXRlbSwgb2ZmY2hhaW5Mb29rdXBTaWduYXR1cmUsIH0gZnJvbSAnLi91dGlscy9jY2lwLmpzJztcbmV4cG9ydCB7IGNvbmNhdCwgY29uY2F0Qnl0ZXMsIGNvbmNhdEhleCB9IGZyb20gJy4vdXRpbHMvZGF0YS9jb25jYXQuanMnO1xuZXhwb3J0IHsgYXNzZXJ0Q3VycmVudENoYWluLCBkZWZpbmVDaGFpbiB9IGZyb20gJy4vdXRpbHMvY2hhaW4uanMnO1xuZXhwb3J0IHsgZW5jb2RlUGFja2VkIH0gZnJvbSAnLi91dGlscy9hYmkvZW5jb2RlUGFja2VkLmpzJztcbmV4cG9ydCB7IGZvcm1hdEV0aGVyIH0gZnJvbSAnLi91dGlscy91bml0L2Zvcm1hdEV0aGVyLmpzJztcbmV4cG9ydCB7IGZvcm1hdEd3ZWkgfSBmcm9tICcuL3V0aWxzL3VuaXQvZm9ybWF0R3dlaS5qcyc7XG5leHBvcnQgeyBmb3JtYXRVbml0cyB9IGZyb20gJy4vdXRpbHMvdW5pdC9mb3JtYXRVbml0cy5qcyc7XG5leHBvcnQgeyBmcm9tSGV4LCBoZXhUb0JpZ0ludCwgaGV4VG9Cb29sLCBoZXhUb051bWJlciwgaGV4VG9TdHJpbmcsIH0gZnJvbSAnLi91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzJztcbmV4cG9ydCB7IGZyb21SbHAgfSBmcm9tICcuL3V0aWxzL2VuY29kaW5nL2Zyb21SbHAuanMnO1xuZXhwb3J0IHsgZ2V0QWRkcmVzcyB9IGZyb20gJy4vdXRpbHMvYWRkcmVzcy9nZXRBZGRyZXNzLmpzJztcbmV4cG9ydCB7IGdldENvbnRyYWN0RXJyb3IgfSBmcm9tICcuL3V0aWxzL2Vycm9ycy9nZXRDb250cmFjdEVycm9yLmpzJztcbmV4cG9ydCB7IGdldEV2ZW50U2VsZWN0b3IgfSBmcm9tICcuL3V0aWxzL2hhc2gvZ2V0RXZlbnRTZWxlY3Rvci5qcyc7XG5leHBvcnQgeyBnZXRGdW5jdGlvblNlbGVjdG9yIH0gZnJvbSAnLi91dGlscy9oYXNoL2dldEZ1bmN0aW9uU2VsZWN0b3IuanMnO1xuZXhwb3J0IHsgaGFzaE1lc3NhZ2UgfSBmcm9tICcuL3V0aWxzL3NpZ25hdHVyZS9oYXNoTWVzc2FnZS5qcyc7XG5leHBvcnQgeyBpc0FkZHJlc3MgfSBmcm9tICcuL3V0aWxzL2FkZHJlc3MvaXNBZGRyZXNzLmpzJztcbmV4cG9ydCB7IGlzQWRkcmVzc0VxdWFsIH0gZnJvbSAnLi91dGlscy9hZGRyZXNzL2lzQWRkcmVzc0VxdWFsLmpzJztcbmV4cG9ydCB7IGlzQnl0ZXMgfSBmcm9tICcuL3V0aWxzL2RhdGEvaXNCeXRlcy5qcyc7XG5leHBvcnQgeyBpc0hhc2ggfSBmcm9tICcuL3V0aWxzL2hhc2gvaXNIYXNoLmpzJztcbmV4cG9ydCB7IGlzSGV4IH0gZnJvbSAnLi91dGlscy9kYXRhL2lzSGV4LmpzJztcbmV4cG9ydCB7IGtlY2NhazI1NiB9IGZyb20gJy4vdXRpbHMvaGFzaC9rZWNjYWsyNTYuanMnO1xuZXhwb3J0IHsgcGFkLCBwYWRCeXRlcywgcGFkSGV4IH0gZnJvbSAnLi91dGlscy9kYXRhL3BhZC5qcyc7XG5leHBvcnQgeyBwYXJzZUV0aGVyIH0gZnJvbSAnLi91dGlscy91bml0L3BhcnNlRXRoZXIuanMnO1xuZXhwb3J0IHsgcGFyc2VHd2VpIH0gZnJvbSAnLi91dGlscy91bml0L3BhcnNlR3dlaS5qcyc7XG5leHBvcnQgeyBwYXJzZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi91dGlscy90cmFuc2FjdGlvbi9wYXJzZVRyYW5zYWN0aW9uLmpzJztcbmV4cG9ydCB7IHBhcnNlVW5pdHMgfSBmcm9tICcuL3V0aWxzL3VuaXQvcGFyc2VVbml0cy5qcyc7XG5leHBvcnQgeyBwcmVwYXJlUmVxdWVzdCB9IGZyb20gJy4vdXRpbHMvdHJhbnNhY3Rpb24vcHJlcGFyZVJlcXVlc3QuanMnO1xuZXhwb3J0IHsgc2VyaWFsaXplQWNjZXNzTGlzdCB9IGZyb20gJy4vdXRpbHMvdHJhbnNhY3Rpb24vc2VyaWFsaXplQWNjZXNzTGlzdC5qcyc7XG5leHBvcnQgeyBzZXJpYWxpemVUcmFuc2FjdGlvbiwgfSBmcm9tICcuL3V0aWxzL3RyYW5zYWN0aW9uL3NlcmlhbGl6ZVRyYW5zYWN0aW9uLmpzJztcbmV4cG9ydCB7IHNpemUgfSBmcm9tICcuL3V0aWxzL2RhdGEvc2l6ZS5qcyc7XG5leHBvcnQgeyBzbGljZSwgc2xpY2VCeXRlcywgc2xpY2VIZXggfSBmcm9tICcuL3V0aWxzL2RhdGEvc2xpY2UuanMnO1xuZXhwb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi91dGlscy9zdHJpbmdpZnkuanMnO1xuZXhwb3J0IHsgdHJpbSB9IGZyb20gJy4vdXRpbHMvZGF0YS90cmltLmpzJztcbmV4cG9ydCB7IHZhbGlkYXRlVHlwZWREYXRhIH0gZnJvbSAnLi91dGlscy90eXBlZERhdGEuanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/index.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeAbiParameters: function() { return /* binding */ decodeAbiParameters; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _address_getAddress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n/* harmony import */ var _data_size_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _data_trim_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n\n\n\n\n\n\n\nfunction decodeAbiParameters(params, data) {\n if (data === '0x' && params.length > 0)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiDecodingZeroDataError();\n if ((0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(data) && (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(data) < 32)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiDecodingDataSizeTooSmallError({\n data,\n params: params,\n size: (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(data),\n });\n return decodeParams({\n data,\n params: params,\n });\n}\nfunction decodeParams({ data, params, }) {\n const decodedValues = [];\n let position = 0;\n for (let i = 0; i < params.length; i++) {\n if (position >= (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(data))\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiDecodingDataSizeTooSmallError({\n data,\n params,\n size: (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(data),\n });\n const param = params[i];\n const { consumed, value } = decodeParam({ data, param, position });\n decodedValues.push(value);\n // Step across the data by the amount of data consumed by this parameter.\n position += consumed;\n }\n return decodedValues;\n}\nfunction decodeParam({ data, param, position, }) {\n const arrayComponents = (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__.getArrayComponents)(param.type);\n if (arrayComponents) {\n const [length, type] = arrayComponents;\n return decodeArray(data, {\n length,\n param: { ...param, type: type },\n position,\n });\n }\n if (param.type === 'tuple') {\n return decodeTuple(data, { param: param, position });\n }\n if (param.type === 'string') {\n return decodeString(data, { position });\n }\n if (param.type.startsWith('bytes')) {\n return decodeBytes(data, { param, position });\n }\n const value = (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + 32, { strict: true });\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n return decodeNumber(value, { param });\n }\n if (param.type === 'address') {\n return decodeAddress(value);\n }\n if (param.type === 'bool') {\n return decodeBool(value);\n }\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiDecodingTypeError(param.type, {\n docsPath: '/docs/contract/decodeAbiParameters',\n });\n}\n////////////////////////////////////////////////////////////////////\nfunction decodeAddress(value) {\n return { consumed: 32, value: (0,_address_getAddress_js__WEBPACK_IMPORTED_MODULE_4__.checksumAddress)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(value, -20)) };\n}\nfunction decodeArray(data, { param, length, position, }) {\n // If the length of the array is not known in advance (dynamic array),\n // we will need to decode the offset of the array data.\n if (!length) {\n // Get the offset of the array data.\n const offset = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + 32, { strict: true }));\n // Get the length of the array from the offset.\n const length = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset, offset + 32, { strict: true }));\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const decodedChild = decodeParam({\n data: (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset + 32),\n param,\n position: consumed,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed: 32 };\n }\n // If the length of the array is known in advance,\n // and the length of an element deeply nested in the array is not known,\n // we need to decode the offset of the array data.\n if (hasDynamicChild(param)) {\n // Get the child type of the array.\n const arrayComponents = (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__.getArrayComponents)(param.type);\n // If the child type is not known, the array is dynamic.\n const dynamicChild = !arrayComponents?.[0];\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const offset = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + 32, { strict: true }));\n const decodedChild = decodeParam({\n data: (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset),\n param,\n position: dynamicChild ? consumed : i * 32,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed: 32 };\n }\n // If the length of the array is known in advance,\n // and the length of each element in the array is known,\n // the array data is encoded contiguously after the array.\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const decodedChild = decodeParam({\n data,\n param,\n position: position + consumed,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed };\n}\nfunction decodeBool(value) {\n return { consumed: 32, value: (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToBool)(value) };\n}\nfunction decodeBytes(data, { param, position }) {\n const [_, size] = param.type.split('bytes');\n if (!size) {\n // If we don't have a size, we're dealing with a dynamic-size array\n // so we need to read the offset of the data part first.\n const offset = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + 32, { strict: true }));\n const length = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset, offset + 32, { strict: true }));\n // If there is no length, we have zero data.\n if (length === 0)\n return { consumed: 32, value: '0x' };\n const value = (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset + 32, offset + 32 + length, {\n strict: true,\n });\n return { consumed: 32, value };\n }\n const value = (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + parseInt(size), {\n strict: true,\n });\n return { consumed: 32, value };\n}\nfunction decodeNumber(value, { param }) {\n const signed = param.type.startsWith('int');\n const size = parseInt(param.type.split('int')[1] || '256');\n return {\n consumed: 32,\n value: size > 48\n ? (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToBigInt)(value, { signed })\n : (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)(value, { signed }),\n };\n}\nfunction decodeString(data, { position }) {\n const offset = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + 32, { strict: true }));\n const length = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset, offset + 32, { strict: true }));\n // If there is no length, we have zero data (empty string).\n if (length === 0)\n return { consumed: 32, value: '' };\n const value = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToString)((0,_data_trim_js__WEBPACK_IMPORTED_MODULE_6__.trim)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset + 32, offset + 32 + length, { strict: true })));\n return { consumed: 32, value };\n}\nfunction decodeTuple(data, { param, position }) {\n // Tuples can have unnamed components (i.e. they are arrays), so we must\n // determine whether the tuple is named or unnamed. In the case of a named\n // tuple, the value will be an object where each property is the name of the\n // component. In the case of an unnamed tuple, the value will be an array.\n const hasUnnamedChild = param.components.length === 0 || param.components.some(({ name }) => !name);\n // Initialize the value to an object or an array, depending on whether the\n // tuple is named or unnamed.\n const value = hasUnnamedChild ? [] : {};\n let consumed = 0;\n // If the tuple has a dynamic child, we must first decode the offset to the\n // tuple data.\n if (hasDynamicChild(param)) {\n const offset = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_5__.hexToNumber)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, position, position + 32, { strict: true }));\n // Decode each component of the tuple, starting at the offset.\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i];\n const decodedChild = decodeParam({\n data: (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_3__.slice)(data, offset),\n param: component,\n position: consumed,\n });\n consumed += decodedChild.consumed;\n value[hasUnnamedChild ? i : component?.name] = decodedChild.value;\n }\n return { consumed: 32, value };\n }\n // If the tuple has static children, we can just decode each component\n // in sequence.\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i];\n const decodedChild = decodeParam({\n data,\n param: component,\n position: position + consumed,\n });\n consumed += decodedChild.consumed;\n value[hasUnnamedChild ? i : component?.name] = decodedChild.value;\n }\n return { consumed, value };\n}\nfunction hasDynamicChild(param) {\n const { type } = param;\n if (type === 'string')\n return true;\n if (type === 'bytes')\n return true;\n if (type.endsWith('[]'))\n return true;\n if (type === 'tuple')\n return param.components?.some(hasDynamicChild);\n const arrayComponents = (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__.getArrayComponents)(param.type);\n if (arrayComponents &&\n hasDynamicChild({ ...param, type: arrayComponents[1] }))\n return true;\n return false;\n}\n//# sourceMappingURL=decodeAbiParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlQWJpUGFyYW1ldGVycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUErSDtBQUNwRTtBQUNwQjtBQUNFO0FBQ0Y7QUFDb0Q7QUFDN0I7QUFDdkQ7QUFDUDtBQUNBLGtCQUFrQixvRUFBd0I7QUFDMUMsUUFBUSxtREFBSSxVQUFVLG1EQUFJO0FBQzFCLGtCQUFrQiw0RUFBZ0M7QUFDbEQ7QUFDQTtBQUNBLGtCQUFrQixtREFBSTtBQUN0QixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esd0JBQXdCLGVBQWU7QUFDdkM7QUFDQTtBQUNBLG9CQUFvQixtQkFBbUI7QUFDdkMsd0JBQXdCLG1EQUFJO0FBQzVCLHNCQUFzQiw0RUFBZ0M7QUFDdEQ7QUFDQTtBQUNBLHNCQUFzQixtREFBSTtBQUMxQixhQUFhO0FBQ2I7QUFDQSxnQkFBZ0Isa0JBQWtCLGdCQUFnQix1QkFBdUI7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHdCQUF3QjtBQUMvQyw0QkFBNEIsMkVBQWtCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHNCQUFzQjtBQUMzQztBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsbUNBQW1DLHdCQUF3QjtBQUMzRDtBQUNBO0FBQ0Esb0NBQW9DLFVBQVU7QUFDOUM7QUFDQTtBQUNBLG1DQUFtQyxpQkFBaUI7QUFDcEQ7QUFDQSxrQkFBa0IscURBQUssa0NBQWtDLGNBQWM7QUFDdkU7QUFDQSxxQ0FBcUMsT0FBTztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsdUVBQTJCO0FBQ3pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLGFBQWEscUJBQXFCLHVFQUFlLENBQUMscURBQUs7QUFDdkQ7QUFDQSw2QkFBNkIsMEJBQTBCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGlFQUFXLENBQUMscURBQUssa0NBQWtDLGNBQWM7QUFDeEY7QUFDQSx1QkFBdUIsaUVBQVcsQ0FBQyxxREFBSyw4QkFBOEIsY0FBYztBQUNwRjtBQUNBO0FBQ0Esd0JBQXdCLFlBQVk7QUFDcEM7QUFDQSxzQkFBc0IscURBQUs7QUFDM0I7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLDJFQUFrQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixZQUFZO0FBQ3BDLDJCQUEyQixpRUFBVyxDQUFDLHFEQUFLLGtDQUFrQyxjQUFjO0FBQzVGO0FBQ0Esc0JBQXNCLHFEQUFLO0FBQzNCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixZQUFZO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYSxxQkFBcUIsK0RBQVM7QUFDM0M7QUFDQSw2QkFBNkIsaUJBQWlCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGlFQUFXLENBQUMscURBQUssa0NBQWtDLGNBQWM7QUFDeEYsdUJBQXVCLGlFQUFXLENBQUMscURBQUssOEJBQThCLGNBQWM7QUFDcEY7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixzQkFBc0IscURBQUs7QUFDM0I7QUFDQSxTQUFTO0FBQ1QsaUJBQWlCO0FBQ2pCO0FBQ0Esa0JBQWtCLHFEQUFLO0FBQ3ZCO0FBQ0EsS0FBSztBQUNMLGFBQWE7QUFDYjtBQUNBLCtCQUErQixPQUFPO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLGlFQUFXLFVBQVUsUUFBUTtBQUMzQyxjQUFjLGlFQUFXLFVBQVUsUUFBUTtBQUMzQztBQUNBO0FBQ0EsOEJBQThCLFVBQVU7QUFDeEMsbUJBQW1CLGlFQUFXLENBQUMscURBQUssa0NBQWtDLGNBQWM7QUFDcEYsbUJBQW1CLGlFQUFXLENBQUMscURBQUssOEJBQThCLGNBQWM7QUFDaEY7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixrQkFBa0IsaUVBQVcsQ0FBQyxtREFBSSxDQUFDLHFEQUFLLDRDQUE0QyxjQUFjO0FBQ2xHLGFBQWE7QUFDYjtBQUNBLDZCQUE2QixpQkFBaUI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRkFBc0YsTUFBTTtBQUM1RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixpRUFBVyxDQUFDLHFEQUFLLGtDQUFrQyxjQUFjO0FBQ3hGO0FBQ0Esd0JBQXdCLDZCQUE2QjtBQUNyRDtBQUNBO0FBQ0Esc0JBQXNCLHFEQUFLO0FBQzNCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDJFQUFrQjtBQUM5QztBQUNBLDBCQUEwQixvQ0FBb0M7QUFDOUQ7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWJpL2RlY29kZUFiaVBhcmFtZXRlcnMuanM/YzEwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlEZWNvZGluZ0RhdGFTaXplVG9vU21hbGxFcnJvciwgQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yLCBJbnZhbGlkQWJpRGVjb2RpbmdUeXBlRXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBjaGVja3N1bUFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzL2dldEFkZHJlc3MuanMnO1xuaW1wb3J0IHsgc2l6ZSB9IGZyb20gJy4uL2RhdGEvc2l6ZS5qcyc7XG5pbXBvcnQgeyBzbGljZSB9IGZyb20gJy4uL2RhdGEvc2xpY2UuanMnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJy4uL2RhdGEvdHJpbS5qcyc7XG5pbXBvcnQgeyBoZXhUb0JpZ0ludCwgaGV4VG9Cb29sLCBoZXhUb051bWJlciwgaGV4VG9TdHJpbmcsIH0gZnJvbSAnLi4vZW5jb2RpbmcvZnJvbUhleC5qcyc7XG5pbXBvcnQgeyBnZXRBcnJheUNvbXBvbmVudHMgfSBmcm9tICcuL2VuY29kZUFiaVBhcmFtZXRlcnMuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUFiaVBhcmFtZXRlcnMocGFyYW1zLCBkYXRhKSB7XG4gICAgaWYgKGRhdGEgPT09ICcweCcgJiYgcGFyYW1zLmxlbmd0aCA+IDApXG4gICAgICAgIHRocm93IG5ldyBBYmlEZWNvZGluZ1plcm9EYXRhRXJyb3IoKTtcbiAgICBpZiAoc2l6ZShkYXRhKSAmJiBzaXplKGRhdGEpIDwgMzIpXG4gICAgICAgIHRocm93IG5ldyBBYmlEZWNvZGluZ0RhdGFTaXplVG9vU21hbGxFcnJvcih7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICBzaXplOiBzaXplKGRhdGEpLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4gZGVjb2RlUGFyYW1zKHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgfSk7XG59XG5mdW5jdGlvbiBkZWNvZGVQYXJhbXMoeyBkYXRhLCBwYXJhbXMsIH0pIHtcbiAgICBjb25zdCBkZWNvZGVkVmFsdWVzID0gW107XG4gICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAocG9zaXRpb24gPj0gc2l6ZShkYXRhKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBBYmlEZWNvZGluZ0RhdGFTaXplVG9vU21hbGxFcnJvcih7XG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgc2l6ZTogc2l6ZShkYXRhKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBjb25zdCBwYXJhbSA9IHBhcmFtc1tpXTtcbiAgICAgICAgY29uc3QgeyBjb25zdW1lZCwgdmFsdWUgfSA9IGRlY29kZVBhcmFtKHsgZGF0YSwgcGFyYW0sIHBvc2l0aW9uIH0pO1xuICAgICAgICBkZWNvZGVkVmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICAvLyBTdGVwIGFjcm9zcyB0aGUgZGF0YSBieSB0aGUgYW1vdW50IG9mIGRhdGEgY29uc3VtZWQgYnkgdGhpcyBwYXJhbWV0ZXIuXG4gICAgICAgIHBvc2l0aW9uICs9IGNvbnN1bWVkO1xuICAgIH1cbiAgICByZXR1cm4gZGVjb2RlZFZhbHVlcztcbn1cbmZ1bmN0aW9uIGRlY29kZVBhcmFtKHsgZGF0YSwgcGFyYW0sIHBvc2l0aW9uLCB9KSB7XG4gICAgY29uc3QgYXJyYXlDb21wb25lbnRzID0gZ2V0QXJyYXlDb21wb25lbnRzKHBhcmFtLnR5cGUpO1xuICAgIGlmIChhcnJheUNvbXBvbmVudHMpIHtcbiAgICAgICAgY29uc3QgW2xlbmd0aCwgdHlwZV0gPSBhcnJheUNvbXBvbmVudHM7XG4gICAgICAgIHJldHVybiBkZWNvZGVBcnJheShkYXRhLCB7XG4gICAgICAgICAgICBsZW5ndGgsXG4gICAgICAgICAgICBwYXJhbTogeyAuLi5wYXJhbSwgdHlwZTogdHlwZSB9LFxuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ3R1cGxlJykge1xuICAgICAgICByZXR1cm4gZGVjb2RlVHVwbGUoZGF0YSwgeyBwYXJhbTogcGFyYW0sIHBvc2l0aW9uIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZVN0cmluZyhkYXRhLCB7IHBvc2l0aW9uIH0pO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZS5zdGFydHNXaXRoKCdieXRlcycpKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVCeXRlcyhkYXRhLCB7IHBhcmFtLCBwb3NpdGlvbiB9KTtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBzbGljZShkYXRhLCBwb3NpdGlvbiwgcG9zaXRpb24gKyAzMiwgeyBzdHJpY3Q6IHRydWUgfSk7XG4gICAgaWYgKHBhcmFtLnR5cGUuc3RhcnRzV2l0aCgndWludCcpIHx8IHBhcmFtLnR5cGUuc3RhcnRzV2l0aCgnaW50JykpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU51bWJlcih2YWx1ZSwgeyBwYXJhbSB9KTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICdhZGRyZXNzJykge1xuICAgICAgICByZXR1cm4gZGVjb2RlQWRkcmVzcyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChwYXJhbS50eXBlID09PSAnYm9vbCcpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZUJvb2wodmFsdWUpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZEFiaURlY29kaW5nVHlwZUVycm9yKHBhcmFtLnR5cGUsIHtcbiAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9kZWNvZGVBYmlQYXJhbWV0ZXJzJyxcbiAgICB9KTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5mdW5jdGlvbiBkZWNvZGVBZGRyZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHsgY29uc3VtZWQ6IDMyLCB2YWx1ZTogY2hlY2tzdW1BZGRyZXNzKHNsaWNlKHZhbHVlLCAtMjApKSB9O1xufVxuZnVuY3Rpb24gZGVjb2RlQXJyYXkoZGF0YSwgeyBwYXJhbSwgbGVuZ3RoLCBwb3NpdGlvbiwgfSkge1xuICAgIC8vIElmIHRoZSBsZW5ndGggb2YgdGhlIGFycmF5IGlzIG5vdCBrbm93biBpbiBhZHZhbmNlIChkeW5hbWljIGFycmF5KSxcbiAgICAvLyB3ZSB3aWxsIG5lZWQgdG8gZGVjb2RlIHRoZSBvZmZzZXQgb2YgdGhlIGFycmF5IGRhdGEuXG4gICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBvZmZzZXQgb2YgdGhlIGFycmF5IGRhdGEuXG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGhleFRvTnVtYmVyKHNsaWNlKGRhdGEsIHBvc2l0aW9uLCBwb3NpdGlvbiArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgICAgIC8vIEdldCB0aGUgbGVuZ3RoIG9mIHRoZSBhcnJheSBmcm9tIHRoZSBvZmZzZXQuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGhleFRvTnVtYmVyKHNsaWNlKGRhdGEsIG9mZnNldCwgb2Zmc2V0ICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICAgICAgbGV0IGNvbnN1bWVkID0gMDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZENoaWxkID0gZGVjb2RlUGFyYW0oe1xuICAgICAgICAgICAgICAgIGRhdGE6IHNsaWNlKGRhdGEsIG9mZnNldCArIDMyKSxcbiAgICAgICAgICAgICAgICBwYXJhbSxcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogY29uc3VtZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN1bWVkICs9IGRlY29kZWRDaGlsZC5jb25zdW1lZDtcbiAgICAgICAgICAgIHZhbHVlLnB1c2goZGVjb2RlZENoaWxkLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyB2YWx1ZSwgY29uc3VtZWQ6IDMyIH07XG4gICAgfVxuICAgIC8vIElmIHRoZSBsZW5ndGggb2YgdGhlIGFycmF5IGlzIGtub3duIGluIGFkdmFuY2UsXG4gICAgLy8gYW5kIHRoZSBsZW5ndGggb2YgYW4gZWxlbWVudCBkZWVwbHkgbmVzdGVkIGluIHRoZSBhcnJheSBpcyBub3Qga25vd24sXG4gICAgLy8gd2UgbmVlZCB0byBkZWNvZGUgdGhlIG9mZnNldCBvZiB0aGUgYXJyYXkgZGF0YS5cbiAgICBpZiAoaGFzRHluYW1pY0NoaWxkKHBhcmFtKSkge1xuICAgICAgICAvLyBHZXQgdGhlIGNoaWxkIHR5cGUgb2YgdGhlIGFycmF5LlxuICAgICAgICBjb25zdCBhcnJheUNvbXBvbmVudHMgPSBnZXRBcnJheUNvbXBvbmVudHMocGFyYW0udHlwZSk7XG4gICAgICAgIC8vIElmIHRoZSBjaGlsZCB0eXBlIGlzIG5vdCBrbm93biwgdGhlIGFycmF5IGlzIGR5bmFtaWMuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNDaGlsZCA9ICFhcnJheUNvbXBvbmVudHM/LlswXTtcbiAgICAgICAgbGV0IGNvbnN1bWVkID0gMDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gaGV4VG9OdW1iZXIoc2xpY2UoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWRDaGlsZCA9IGRlY29kZVBhcmFtKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBzbGljZShkYXRhLCBvZmZzZXQpLFxuICAgICAgICAgICAgICAgIHBhcmFtLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBkeW5hbWljQ2hpbGQgPyBjb25zdW1lZCA6IGkgKiAzMixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3VtZWQgKz0gZGVjb2RlZENoaWxkLmNvbnN1bWVkO1xuICAgICAgICAgICAgdmFsdWUucHVzaChkZWNvZGVkQ2hpbGQudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHZhbHVlLCBjb25zdW1lZDogMzIgfTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMga25vd24gaW4gYWR2YW5jZSxcbiAgICAvLyBhbmQgdGhlIGxlbmd0aCBvZiBlYWNoIGVsZW1lbnQgaW4gdGhlIGFycmF5IGlzIGtub3duLFxuICAgIC8vIHRoZSBhcnJheSBkYXRhIGlzIGVuY29kZWQgY29udGlndW91c2x5IGFmdGVyIHRoZSBhcnJheS5cbiAgICBsZXQgY29uc3VtZWQgPSAwO1xuICAgIGNvbnN0IHZhbHVlID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBkZWNvZGVkQ2hpbGQgPSBkZWNvZGVQYXJhbSh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24gKyBjb25zdW1lZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN1bWVkICs9IGRlY29kZWRDaGlsZC5jb25zdW1lZDtcbiAgICAgICAgdmFsdWUucHVzaChkZWNvZGVkQ2hpbGQudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZSwgY29uc3VtZWQgfTtcbn1cbmZ1bmN0aW9uIGRlY29kZUJvb2wodmFsdWUpIHtcbiAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlOiBoZXhUb0Jvb2wodmFsdWUpIH07XG59XG5mdW5jdGlvbiBkZWNvZGVCeXRlcyhkYXRhLCB7IHBhcmFtLCBwb3NpdGlvbiB9KSB7XG4gICAgY29uc3QgW18sIHNpemVdID0gcGFyYW0udHlwZS5zcGxpdCgnYnl0ZXMnKTtcbiAgICBpZiAoIXNpemUpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHNpemUsIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIGR5bmFtaWMtc2l6ZSBhcnJheVxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIHJlYWQgdGhlIG9mZnNldCBvZiB0aGUgZGF0YSBwYXJ0IGZpcnN0LlxuICAgICAgICBjb25zdCBvZmZzZXQgPSBoZXhUb051bWJlcihzbGljZShkYXRhLCBwb3NpdGlvbiwgcG9zaXRpb24gKyAzMiwgeyBzdHJpY3Q6IHRydWUgfSkpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBoZXhUb051bWJlcihzbGljZShkYXRhLCBvZmZzZXQsIG9mZnNldCArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGxlbmd0aCwgd2UgaGF2ZSB6ZXJvIGRhdGEuXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlOiAnMHgnIH07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gc2xpY2UoZGF0YSwgb2Zmc2V0ICsgMzIsIG9mZnNldCArIDMyICsgbGVuZ3RoLCB7XG4gICAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlIH07XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gc2xpY2UoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgcGFyc2VJbnQoc2l6ZSksIHtcbiAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgIH0pO1xuICAgIHJldHVybiB7IGNvbnN1bWVkOiAzMiwgdmFsdWUgfTtcbn1cbmZ1bmN0aW9uIGRlY29kZU51bWJlcih2YWx1ZSwgeyBwYXJhbSB9KSB7XG4gICAgY29uc3Qgc2lnbmVkID0gcGFyYW0udHlwZS5zdGFydHNXaXRoKCdpbnQnKTtcbiAgICBjb25zdCBzaXplID0gcGFyc2VJbnQocGFyYW0udHlwZS5zcGxpdCgnaW50JylbMV0gfHwgJzI1NicpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNvbnN1bWVkOiAzMixcbiAgICAgICAgdmFsdWU6IHNpemUgPiA0OFxuICAgICAgICAgICAgPyBoZXhUb0JpZ0ludCh2YWx1ZSwgeyBzaWduZWQgfSlcbiAgICAgICAgICAgIDogaGV4VG9OdW1iZXIodmFsdWUsIHsgc2lnbmVkIH0pLFxuICAgIH07XG59XG5mdW5jdGlvbiBkZWNvZGVTdHJpbmcoZGF0YSwgeyBwb3NpdGlvbiB9KSB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gaGV4VG9OdW1iZXIoc2xpY2UoZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgMzIsIHsgc3RyaWN0OiB0cnVlIH0pKTtcbiAgICBjb25zdCBsZW5ndGggPSBoZXhUb051bWJlcihzbGljZShkYXRhLCBvZmZzZXQsIG9mZnNldCArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgLy8gSWYgdGhlcmUgaXMgbm8gbGVuZ3RoLCB3ZSBoYXZlIHplcm8gZGF0YSAoZW1wdHkgc3RyaW5nKS5cbiAgICBpZiAobGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlOiAnJyB9O1xuICAgIGNvbnN0IHZhbHVlID0gaGV4VG9TdHJpbmcodHJpbShzbGljZShkYXRhLCBvZmZzZXQgKyAzMiwgb2Zmc2V0ICsgMzIgKyBsZW5ndGgsIHsgc3RyaWN0OiB0cnVlIH0pKSk7XG4gICAgcmV0dXJuIHsgY29uc3VtZWQ6IDMyLCB2YWx1ZSB9O1xufVxuZnVuY3Rpb24gZGVjb2RlVHVwbGUoZGF0YSwgeyBwYXJhbSwgcG9zaXRpb24gfSkge1xuICAgIC8vIFR1cGxlcyBjYW4gaGF2ZSB1bm5hbWVkIGNvbXBvbmVudHMgKGkuZS4gdGhleSBhcmUgYXJyYXlzKSwgc28gd2UgbXVzdFxuICAgIC8vIGRldGVybWluZSB3aGV0aGVyIHRoZSB0dXBsZSBpcyBuYW1lZCBvciB1bm5hbWVkLiBJbiB0aGUgY2FzZSBvZiBhIG5hbWVkXG4gICAgLy8gdHVwbGUsIHRoZSB2YWx1ZSB3aWxsIGJlIGFuIG9iamVjdCB3aGVyZSBlYWNoIHByb3BlcnR5IGlzIHRoZSBuYW1lIG9mIHRoZVxuICAgIC8vIGNvbXBvbmVudC4gSW4gdGhlIGNhc2Ugb2YgYW4gdW5uYW1lZCB0dXBsZSwgdGhlIHZhbHVlIHdpbGwgYmUgYW4gYXJyYXkuXG4gICAgY29uc3QgaGFzVW5uYW1lZENoaWxkID0gcGFyYW0uY29tcG9uZW50cy5sZW5ndGggPT09IDAgfHwgcGFyYW0uY29tcG9uZW50cy5zb21lKCh7IG5hbWUgfSkgPT4gIW5hbWUpO1xuICAgIC8vIEluaXRpYWxpemUgdGhlIHZhbHVlIHRvIGFuIG9iamVjdCBvciBhbiBhcnJheSwgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlXG4gICAgLy8gdHVwbGUgaXMgbmFtZWQgb3IgdW5uYW1lZC5cbiAgICBjb25zdCB2YWx1ZSA9IGhhc1VubmFtZWRDaGlsZCA/IFtdIDoge307XG4gICAgbGV0IGNvbnN1bWVkID0gMDtcbiAgICAvLyBJZiB0aGUgdHVwbGUgaGFzIGEgZHluYW1pYyBjaGlsZCwgd2UgbXVzdCBmaXJzdCBkZWNvZGUgdGhlIG9mZnNldCB0byB0aGVcbiAgICAvLyB0dXBsZSBkYXRhLlxuICAgIGlmIChoYXNEeW5hbWljQ2hpbGQocGFyYW0pKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGhleFRvTnVtYmVyKHNsaWNlKGRhdGEsIHBvc2l0aW9uLCBwb3NpdGlvbiArIDMyLCB7IHN0cmljdDogdHJ1ZSB9KSk7XG4gICAgICAgIC8vIERlY29kZSBlYWNoIGNvbXBvbmVudCBvZiB0aGUgdHVwbGUsIHN0YXJ0aW5nIGF0IHRoZSBvZmZzZXQuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW0uY29tcG9uZW50cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gcGFyYW0uY29tcG9uZW50c1tpXTtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWRDaGlsZCA9IGRlY29kZVBhcmFtKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBzbGljZShkYXRhLCBvZmZzZXQpLFxuICAgICAgICAgICAgICAgIHBhcmFtOiBjb21wb25lbnQsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGNvbnN1bWVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdW1lZCArPSBkZWNvZGVkQ2hpbGQuY29uc3VtZWQ7XG4gICAgICAgICAgICB2YWx1ZVtoYXNVbm5hbWVkQ2hpbGQgPyBpIDogY29tcG9uZW50Py5uYW1lXSA9IGRlY29kZWRDaGlsZC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBjb25zdW1lZDogMzIsIHZhbHVlIH07XG4gICAgfVxuICAgIC8vIElmIHRoZSB0dXBsZSBoYXMgc3RhdGljIGNoaWxkcmVuLCB3ZSBjYW4ganVzdCBkZWNvZGUgZWFjaCBjb21wb25lbnRcbiAgICAvLyBpbiBzZXF1ZW5jZS5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmFtLmNvbXBvbmVudHMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gcGFyYW0uY29tcG9uZW50c1tpXTtcbiAgICAgICAgY29uc3QgZGVjb2RlZENoaWxkID0gZGVjb2RlUGFyYW0oe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhcmFtOiBjb21wb25lbnQsXG4gICAgICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24gKyBjb25zdW1lZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN1bWVkICs9IGRlY29kZWRDaGlsZC5jb25zdW1lZDtcbiAgICAgICAgdmFsdWVbaGFzVW5uYW1lZENoaWxkID8gaSA6IGNvbXBvbmVudD8ubmFtZV0gPSBkZWNvZGVkQ2hpbGQudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB7IGNvbnN1bWVkLCB2YWx1ZSB9O1xufVxuZnVuY3Rpb24gaGFzRHluYW1pY0NoaWxkKHBhcmFtKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSBwYXJhbTtcbiAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICh0eXBlID09PSAnYnl0ZXMnKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodHlwZS5lbmRzV2l0aCgnW10nKSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKHR5cGUgPT09ICd0dXBsZScpXG4gICAgICAgIHJldHVybiBwYXJhbS5jb21wb25lbnRzPy5zb21lKGhhc0R5bmFtaWNDaGlsZCk7XG4gICAgY29uc3QgYXJyYXlDb21wb25lbnRzID0gZ2V0QXJyYXlDb21wb25lbnRzKHBhcmFtLnR5cGUpO1xuICAgIGlmIChhcnJheUNvbXBvbmVudHMgJiZcbiAgICAgICAgaGFzRHluYW1pY0NoaWxkKHsgLi4ucGFyYW0sIHR5cGU6IGFycmF5Q29tcG9uZW50c1sxXSB9KSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVjb2RlQWJpUGFyYW1ldGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/decodeDeployData.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/decodeDeployData.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeDeployData: function() { return /* binding */ decodeDeployData; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n\n\nconst docsPath = '/docs/contract/decodeDeployData';\nfunction decodeDeployData({ abi, bytecode, data, }) {\n if (data === bytecode)\n return { bytecode };\n const description = abi.find((x) => 'type' in x && x.type === 'constructor');\n if (!description)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiConstructorNotFoundError({ docsPath });\n if (!('inputs' in description))\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiConstructorParamsNotFoundError({ docsPath });\n if (!description.inputs || description.inputs.length === 0)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiConstructorParamsNotFoundError({ docsPath });\n const args = (0,_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_1__.decodeAbiParameters)(description.inputs, `0x${data.replace(bytecode, '')}`);\n return { args, bytecode };\n}\n//# sourceMappingURL=decodeDeployData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRGVwbG95RGF0YS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBc0c7QUFDdkM7QUFDL0Q7QUFDTyw0QkFBNEIsc0JBQXNCO0FBQ3pEO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxrQkFBa0IsdUVBQTJCLEdBQUcsVUFBVTtBQUMxRDtBQUNBLGtCQUFrQiw2RUFBaUMsR0FBRyxVQUFVO0FBQ2hFO0FBQ0Esa0JBQWtCLDZFQUFpQyxHQUFHLFVBQVU7QUFDaEUsaUJBQWlCLDRFQUFtQiwwQkFBMEIsMkJBQTJCO0FBQ3pGLGFBQWE7QUFDYjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2FiaS9kZWNvZGVEZXBsb3lEYXRhLmpzPzcwNTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJpQ29uc3RydWN0b3JOb3RGb3VuZEVycm9yLCBBYmlDb25zdHJ1Y3RvclBhcmFtc05vdEZvdW5kRXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBkZWNvZGVBYmlQYXJhbWV0ZXJzIH0gZnJvbSAnLi9kZWNvZGVBYmlQYXJhbWV0ZXJzLmpzJztcbmNvbnN0IGRvY3NQYXRoID0gJy9kb2NzL2NvbnRyYWN0L2RlY29kZURlcGxveURhdGEnO1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZURlcGxveURhdGEoeyBhYmksIGJ5dGVjb2RlLCBkYXRhLCB9KSB7XG4gICAgaWYgKGRhdGEgPT09IGJ5dGVjb2RlKVxuICAgICAgICByZXR1cm4geyBieXRlY29kZSB9O1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYWJpLmZpbmQoKHgpID0+ICd0eXBlJyBpbiB4ICYmIHgudHlwZSA9PT0gJ2NvbnN0cnVjdG9yJyk7XG4gICAgaWYgKCFkZXNjcmlwdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IEFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvcih7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghKCdpbnB1dHMnIGluIGRlc2NyaXB0aW9uKSlcbiAgICAgICAgdGhyb3cgbmV3IEFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvcih7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghZGVzY3JpcHRpb24uaW5wdXRzIHx8IGRlc2NyaXB0aW9uLmlucHV0cy5sZW5ndGggPT09IDApXG4gICAgICAgIHRocm93IG5ldyBBYmlDb25zdHJ1Y3RvclBhcmFtc05vdEZvdW5kRXJyb3IoeyBkb2NzUGF0aCB9KTtcbiAgICBjb25zdCBhcmdzID0gZGVjb2RlQWJpUGFyYW1ldGVycyhkZXNjcmlwdGlvbi5pbnB1dHMsIGAweCR7ZGF0YS5yZXBsYWNlKGJ5dGVjb2RlLCAnJyl9YCk7XG4gICAgcmV0dXJuIHsgYXJncywgYnl0ZWNvZGUgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlY29kZURlcGxveURhdGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/decodeDeployData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeErrorResult: function() { return /* binding */ decodeErrorResult; }\n/* harmony export */ });\n/* harmony import */ var _constants_solidity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/solidity.js */ \"./node_modules/viem/dist/esm/constants/solidity.js\");\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\");\n/* harmony import */ var _decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n/* harmony import */ var _formatAbiItem_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n\n\n\n\n\n\nfunction decodeErrorResult({ abi, data, }) {\n const signature = (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.slice)(data, 0, 4);\n if (signature === '0x')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiDecodingZeroDataError();\n const abi_ = [...(abi || []), _constants_solidity_js__WEBPACK_IMPORTED_MODULE_2__.solidityError, _constants_solidity_js__WEBPACK_IMPORTED_MODULE_2__.solidityPanic];\n const abiItem = abi_.find((x) => x.type === 'error' && signature === (0,_hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_3__.getFunctionSelector)((0,_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_4__.formatAbiItem)(x)));\n if (!abiItem)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiErrorSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeErrorResult',\n });\n return {\n abiItem,\n args: ('inputs' in abiItem && abiItem.inputs && abiItem.inputs.length > 0\n ? (0,_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_5__.decodeAbiParameters)(abiItem.inputs, (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.slice)(data, 4))\n : undefined),\n errorName: abiItem.name,\n };\n}\n//# sourceMappingURL=decodeErrorResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUEyRTtBQUNxQjtBQUN2RDtBQUM0QjtBQUNOO0FBQ1o7QUFDNUMsNkJBQTZCLFlBQVk7QUFDaEQsc0JBQXNCLHFEQUFLO0FBQzNCO0FBQ0Esa0JBQWtCLG9FQUF3QjtBQUMxQyxrQ0FBa0MsaUVBQWEsRUFBRSxpRUFBYTtBQUM5RCx5RUFBeUUsaUZBQW1CLENBQUMsZ0VBQWE7QUFDMUc7QUFDQSxrQkFBa0IsMEVBQThCO0FBQ2hEO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGNBQWMsNEVBQW1CLGlCQUFpQixxREFBSztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2FiaS9kZWNvZGVFcnJvclJlc3VsdC5qcz9hZjBjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNvbGlkaXR5RXJyb3IsIHNvbGlkaXR5UGFuaWMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvc29saWRpdHkuanMnO1xuaW1wb3J0IHsgQWJpRGVjb2RpbmdaZXJvRGF0YUVycm9yLCBBYmlFcnJvclNpZ25hdHVyZU5vdEZvdW5kRXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBzbGljZSB9IGZyb20gJy4uL2RhdGEvc2xpY2UuanMnO1xuaW1wb3J0IHsgZ2V0RnVuY3Rpb25TZWxlY3RvciB9IGZyb20gJy4uL2hhc2gvZ2V0RnVuY3Rpb25TZWxlY3Rvci5qcyc7XG5pbXBvcnQgeyBkZWNvZGVBYmlQYXJhbWV0ZXJzIH0gZnJvbSAnLi9kZWNvZGVBYmlQYXJhbWV0ZXJzLmpzJztcbmltcG9ydCB7IGZvcm1hdEFiaUl0ZW0gfSBmcm9tICcuL2Zvcm1hdEFiaUl0ZW0uanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUVycm9yUmVzdWx0KHsgYWJpLCBkYXRhLCB9KSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gc2xpY2UoZGF0YSwgMCwgNCk7XG4gICAgaWYgKHNpZ25hdHVyZSA9PT0gJzB4JylcbiAgICAgICAgdGhyb3cgbmV3IEFiaURlY29kaW5nWmVyb0RhdGFFcnJvcigpO1xuICAgIGNvbnN0IGFiaV8gPSBbLi4uKGFiaSB8fCBbXSksIHNvbGlkaXR5RXJyb3IsIHNvbGlkaXR5UGFuaWNdO1xuICAgIGNvbnN0IGFiaUl0ZW0gPSBhYmlfLmZpbmQoKHgpID0+IHgudHlwZSA9PT0gJ2Vycm9yJyAmJiBzaWduYXR1cmUgPT09IGdldEZ1bmN0aW9uU2VsZWN0b3IoZm9ybWF0QWJpSXRlbSh4KSkpO1xuICAgIGlmICghYWJpSXRlbSlcbiAgICAgICAgdGhyb3cgbmV3IEFiaUVycm9yU2lnbmF0dXJlTm90Rm91bmRFcnJvcihzaWduYXR1cmUsIHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZGVjb2RlRXJyb3JSZXN1bHQnLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhYmlJdGVtLFxuICAgICAgICBhcmdzOiAoJ2lucHV0cycgaW4gYWJpSXRlbSAmJiBhYmlJdGVtLmlucHV0cyAmJiBhYmlJdGVtLmlucHV0cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGRlY29kZUFiaVBhcmFtZXRlcnMoYWJpSXRlbS5pbnB1dHMsIHNsaWNlKGRhdGEsIDQpKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQpLFxuICAgICAgICBlcnJvck5hbWU6IGFiaUl0ZW0ubmFtZSxcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVjb2RlRXJyb3JSZXN1bHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeEventLog: function() { return /* binding */ decodeEventLog; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash/getEventSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getEventSelector.js\");\n/* harmony import */ var _decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n/* harmony import */ var _formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n\n\n\n\nconst docsPath = '/docs/contract/decodeEventLog';\nfunction decodeEventLog({ abi, data, strict: strict_, topics, }) {\n const strict = strict_ ?? true;\n const [signature, ...argTopics] = topics;\n if (!signature)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiEventSignatureEmptyTopicsError({\n docsPath,\n });\n const abiItem = abi.find((x) => x.type === 'event' &&\n signature === (0,_hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_1__.getEventSelector)((0,_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__.formatAbiItem)(x)));\n if (!(abiItem && 'name' in abiItem) || abiItem.type !== 'event')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiEventSignatureNotFoundError(signature, {\n docsPath,\n });\n const { name, inputs } = abiItem;\n const isUnnamed = inputs?.some((x) => !('name' in x && x.name));\n let args = isUnnamed ? [] : {};\n // Decode topics (indexed args).\n const indexedInputs = inputs.filter((x) => 'indexed' in x && x.indexed);\n if (argTopics.length > 0) {\n for (let i = 0; i < indexedInputs.length; i++) {\n const param = indexedInputs[i];\n const topic = argTopics[i];\n if (!topic)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.DecodeLogTopicsMismatch({\n abiItem,\n param: param,\n });\n args[param.name || i] = decodeTopic({ param, value: topic });\n }\n }\n // Decode data (non-indexed args).\n const nonIndexedInputs = inputs.filter((x) => !('indexed' in x && x.indexed));\n if (nonIndexedInputs.length > 0) {\n if (data && data !== '0x') {\n try {\n const decodedData = (0,_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_3__.decodeAbiParameters)(nonIndexedInputs, data);\n if (decodedData) {\n if (isUnnamed)\n args = [...args, ...decodedData];\n else {\n for (let i = 0; i < nonIndexedInputs.length; i++) {\n args[nonIndexedInputs[i].name] = decodedData[i];\n }\n }\n }\n }\n catch (err) {\n if (strict) {\n if (err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiDecodingDataSizeTooSmallError)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.DecodeLogDataMismatch({\n abiItem,\n data: err.data,\n params: err.params,\n size: err.size,\n });\n throw err;\n }\n }\n }\n else if (strict) {\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.DecodeLogDataMismatch({\n abiItem,\n data: '0x',\n params: nonIndexedInputs,\n size: 0,\n });\n }\n }\n return {\n eventName: name,\n args: Object.values(args).length > 0 ? args : undefined,\n };\n}\nfunction decodeTopic({ param, value }) {\n if (param.type === 'string' ||\n param.type === 'bytes' ||\n param.type === 'tuple' ||\n param.type.match(/^(.*)\\[(\\d+)?\\]$/))\n return value;\n const decodedArg = (0,_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_3__.decodeAbiParameters)([param], value) || [];\n return decodedArg[0];\n}\n//# sourceMappingURL=decodeEventLog.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBMkw7QUFDNUg7QUFDQTtBQUNaO0FBQ25EO0FBQ08sMEJBQTBCLHFDQUFxQztBQUN0RTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsNkVBQWlDO0FBQ25EO0FBQ0EsU0FBUztBQUNUO0FBQ0Esc0JBQXNCLDJFQUFnQixDQUFDLGdFQUFhO0FBQ3BEO0FBQ0Esa0JBQWtCLDBFQUE4QjtBQUNoRDtBQUNBLFNBQVM7QUFDVCxZQUFZLGVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwwQkFBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1FQUF1QjtBQUNqRDtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGtEQUFrRCxxQkFBcUI7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsNEVBQW1CO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLDZCQUE2QjtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qyw0RUFBZ0M7QUFDdkUsa0NBQWtDLGlFQUFxQjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLGlFQUFxQjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixjQUFjO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNEVBQW1CO0FBQzFDO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRXZlbnRMb2cuanM/ZTFmNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlEZWNvZGluZ0RhdGFTaXplVG9vU21hbGxFcnJvciwgQWJpRXZlbnRTaWduYXR1cmVFbXB0eVRvcGljc0Vycm9yLCBBYmlFdmVudFNpZ25hdHVyZU5vdEZvdW5kRXJyb3IsIERlY29kZUxvZ0RhdGFNaXNtYXRjaCwgRGVjb2RlTG9nVG9waWNzTWlzbWF0Y2gsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBnZXRFdmVudFNlbGVjdG9yIH0gZnJvbSAnLi4vaGFzaC9nZXRFdmVudFNlbGVjdG9yLmpzJztcbmltcG9ydCB7IGRlY29kZUFiaVBhcmFtZXRlcnMgfSBmcm9tICcuL2RlY29kZUFiaVBhcmFtZXRlcnMuanMnO1xuaW1wb3J0IHsgZm9ybWF0QWJpSXRlbSB9IGZyb20gJy4vZm9ybWF0QWJpSXRlbS5qcyc7XG5jb25zdCBkb2NzUGF0aCA9ICcvZG9jcy9jb250cmFjdC9kZWNvZGVFdmVudExvZyc7XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlRXZlbnRMb2coeyBhYmksIGRhdGEsIHN0cmljdDogc3RyaWN0XywgdG9waWNzLCB9KSB7XG4gICAgY29uc3Qgc3RyaWN0ID0gc3RyaWN0XyA/PyB0cnVlO1xuICAgIGNvbnN0IFtzaWduYXR1cmUsIC4uLmFyZ1RvcGljc10gPSB0b3BpY3M7XG4gICAgaWYgKCFzaWduYXR1cmUpXG4gICAgICAgIHRocm93IG5ldyBBYmlFdmVudFNpZ25hdHVyZUVtcHR5VG9waWNzRXJyb3Ioe1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGFiaUl0ZW0gPSBhYmkuZmluZCgoeCkgPT4geC50eXBlID09PSAnZXZlbnQnICYmXG4gICAgICAgIHNpZ25hdHVyZSA9PT0gZ2V0RXZlbnRTZWxlY3Rvcihmb3JtYXRBYmlJdGVtKHgpKSk7XG4gICAgaWYgKCEoYWJpSXRlbSAmJiAnbmFtZScgaW4gYWJpSXRlbSkgfHwgYWJpSXRlbS50eXBlICE9PSAnZXZlbnQnKVxuICAgICAgICB0aHJvdyBuZXcgQWJpRXZlbnRTaWduYXR1cmVOb3RGb3VuZEVycm9yKHNpZ25hdHVyZSwge1xuICAgICAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IHsgbmFtZSwgaW5wdXRzIH0gPSBhYmlJdGVtO1xuICAgIGNvbnN0IGlzVW5uYW1lZCA9IGlucHV0cz8uc29tZSgoeCkgPT4gISgnbmFtZScgaW4geCAmJiB4Lm5hbWUpKTtcbiAgICBsZXQgYXJncyA9IGlzVW5uYW1lZCA/IFtdIDoge307XG4gICAgLy8gRGVjb2RlIHRvcGljcyAoaW5kZXhlZCBhcmdzKS5cbiAgICBjb25zdCBpbmRleGVkSW5wdXRzID0gaW5wdXRzLmZpbHRlcigoeCkgPT4gJ2luZGV4ZWQnIGluIHggJiYgeC5pbmRleGVkKTtcbiAgICBpZiAoYXJnVG9waWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleGVkSW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbSA9IGluZGV4ZWRJbnB1dHNbaV07XG4gICAgICAgICAgICBjb25zdCB0b3BpYyA9IGFyZ1RvcGljc1tpXTtcbiAgICAgICAgICAgIGlmICghdG9waWMpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IERlY29kZUxvZ1RvcGljc01pc21hdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgYWJpSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW06IHBhcmFtLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXJnc1twYXJhbS5uYW1lIHx8IGldID0gZGVjb2RlVG9waWMoeyBwYXJhbSwgdmFsdWU6IHRvcGljIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIERlY29kZSBkYXRhIChub24taW5kZXhlZCBhcmdzKS5cbiAgICBjb25zdCBub25JbmRleGVkSW5wdXRzID0gaW5wdXRzLmZpbHRlcigoeCkgPT4gISgnaW5kZXhlZCcgaW4geCAmJiB4LmluZGV4ZWQpKTtcbiAgICBpZiAobm9uSW5kZXhlZElucHV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEgIT09ICcweCcpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2RlZERhdGEgPSBkZWNvZGVBYmlQYXJhbWV0ZXJzKG5vbkluZGV4ZWRJbnB1dHMsIGRhdGEpO1xuICAgICAgICAgICAgICAgIGlmIChkZWNvZGVkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNVbm5hbWVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9IFsuLi5hcmdzLCAuLi5kZWNvZGVkRGF0YV07XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub25JbmRleGVkSW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1tub25JbmRleGVkSW5wdXRzW2ldLm5hbWVdID0gZGVjb2RlZERhdGFbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHN0cmljdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgQWJpRGVjb2RpbmdEYXRhU2l6ZVRvb1NtYWxsRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRGVjb2RlTG9nRGF0YU1pc21hdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmlJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGVyci5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogZXJyLnBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBlcnIuc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHN0cmljdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERlY29kZUxvZ0RhdGFNaXNtYXRjaCh7XG4gICAgICAgICAgICAgICAgYWJpSXRlbSxcbiAgICAgICAgICAgICAgICBkYXRhOiAnMHgnLFxuICAgICAgICAgICAgICAgIHBhcmFtczogbm9uSW5kZXhlZElucHV0cyxcbiAgICAgICAgICAgICAgICBzaXplOiAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXZlbnROYW1lOiBuYW1lLFxuICAgICAgICBhcmdzOiBPYmplY3QudmFsdWVzKGFyZ3MpLmxlbmd0aCA+IDAgPyBhcmdzIDogdW5kZWZpbmVkLFxuICAgIH07XG59XG5mdW5jdGlvbiBkZWNvZGVUb3BpYyh7IHBhcmFtLCB2YWx1ZSB9KSB7XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICdzdHJpbmcnIHx8XG4gICAgICAgIHBhcmFtLnR5cGUgPT09ICdieXRlcycgfHxcbiAgICAgICAgcGFyYW0udHlwZSA9PT0gJ3R1cGxlJyB8fFxuICAgICAgICBwYXJhbS50eXBlLm1hdGNoKC9eKC4qKVxcWyhcXGQrKT9cXF0kLykpXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCBkZWNvZGVkQXJnID0gZGVjb2RlQWJpUGFyYW1ldGVycyhbcGFyYW1dLCB2YWx1ZSkgfHwgW107XG4gICAgcmV0dXJuIGRlY29kZWRBcmdbMF07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWNvZGVFdmVudExvZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/decodeFunctionData.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/decodeFunctionData.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeFunctionData: function() { return /* binding */ decodeFunctionData; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\");\n/* harmony import */ var _decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n/* harmony import */ var _formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n\n\n\n\n\nfunction decodeFunctionData({ abi, data, }) {\n const signature = (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.slice)(data, 0, 4);\n const description = abi.find((x) => x.type === 'function' &&\n signature === (0,_hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_1__.getFunctionSelector)((0,_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__.formatAbiItem)(x)));\n if (!description)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_3__.AbiFunctionSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeFunctionData',\n });\n return {\n functionName: description.name,\n args: ('inputs' in description &&\n description.inputs &&\n description.inputs.length > 0\n ? (0,_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__.decodeAbiParameters)(description.inputs, (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.slice)(data, 4))\n : undefined),\n };\n}\n//# sourceMappingURL=decodeFunctionData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25EYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF3RTtBQUMvQjtBQUM0QjtBQUNOO0FBQ1o7QUFDNUMsOEJBQThCLFlBQVk7QUFDakQsc0JBQXNCLHFEQUFLO0FBQzNCO0FBQ0Esc0JBQXNCLGlGQUFtQixDQUFDLGdFQUFhO0FBQ3ZEO0FBQ0Esa0JBQWtCLDZFQUFpQztBQUNuRDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyw0RUFBbUIscUJBQXFCLHFEQUFLO0FBQzNEO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2FiaS9kZWNvZGVGdW5jdGlvbkRhdGEuanM/NGZkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlGdW5jdGlvblNpZ25hdHVyZU5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWJpLmpzJztcbmltcG9ydCB7IHNsaWNlIH0gZnJvbSAnLi4vZGF0YS9zbGljZS5qcyc7XG5pbXBvcnQgeyBnZXRGdW5jdGlvblNlbGVjdG9yIH0gZnJvbSAnLi4vaGFzaC9nZXRGdW5jdGlvblNlbGVjdG9yLmpzJztcbmltcG9ydCB7IGRlY29kZUFiaVBhcmFtZXRlcnMgfSBmcm9tICcuL2RlY29kZUFiaVBhcmFtZXRlcnMuanMnO1xuaW1wb3J0IHsgZm9ybWF0QWJpSXRlbSB9IGZyb20gJy4vZm9ybWF0QWJpSXRlbS5qcyc7XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlRnVuY3Rpb25EYXRhKHsgYWJpLCBkYXRhLCB9KSB7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gc2xpY2UoZGF0YSwgMCwgNCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBhYmkuZmluZCgoeCkgPT4geC50eXBlID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHNpZ25hdHVyZSA9PT0gZ2V0RnVuY3Rpb25TZWxlY3Rvcihmb3JtYXRBYmlJdGVtKHgpKSk7XG4gICAgaWYgKCFkZXNjcmlwdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IEFiaUZ1bmN0aW9uU2lnbmF0dXJlTm90Rm91bmRFcnJvcihzaWduYXR1cmUsIHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZGVjb2RlRnVuY3Rpb25EYXRhJyxcbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBkZXNjcmlwdGlvbi5uYW1lLFxuICAgICAgICBhcmdzOiAoJ2lucHV0cycgaW4gZGVzY3JpcHRpb24gJiZcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLmlucHV0cyAmJlxuICAgICAgICAgICAgZGVzY3JpcHRpb24uaW5wdXRzLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gZGVjb2RlQWJpUGFyYW1ldGVycyhkZXNjcmlwdGlvbi5pbnB1dHMsIHNsaWNlKGRhdGEsIDQpKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQpLFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWNvZGVGdW5jdGlvbkRhdGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/decodeFunctionData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeFunctionResult: function() { return /* binding */ decodeFunctionResult; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n/* harmony import */ var _getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n\n\n\nconst docsPath = '/docs/contract/decodeFunctionResult';\nfunction decodeFunctionResult({ abi, args, functionName, data, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = (0,_getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__.getAbiItem)({\n abi,\n args,\n name: functionName,\n });\n if (!abiItem)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionNotFoundError(functionName, { docsPath });\n }\n if (abiItem.type !== 'function')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionNotFoundError(undefined, { docsPath });\n if (!abiItem.outputs)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });\n const values = (0,_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__.decodeAbiParameters)(abiItem.outputs, data);\n if (values && values.length > 1)\n return values;\n if (values && values.length === 1)\n return values[0];\n return undefined;\n}\n//# sourceMappingURL=decodeFunctionResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFpRztBQUNsQztBQUNsQjtBQUM3QztBQUNPLGdDQUFnQyxnQ0FBZ0M7QUFDdkU7QUFDQTtBQUNBLGtCQUFrQiwwREFBVTtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxzQkFBc0Isb0VBQXdCLGlCQUFpQixVQUFVO0FBQ3pFO0FBQ0E7QUFDQSxrQkFBa0Isb0VBQXdCLGNBQWMsVUFBVTtBQUNsRTtBQUNBLGtCQUFrQiwyRUFBK0IsaUJBQWlCLFVBQVU7QUFDNUUsbUJBQW1CLDRFQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanM/YzExNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IsIEFiaUZ1bmN0aW9uT3V0cHV0c05vdEZvdW5kRXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBkZWNvZGVBYmlQYXJhbWV0ZXJzIH0gZnJvbSAnLi9kZWNvZGVBYmlQYXJhbWV0ZXJzLmpzJztcbmltcG9ydCB7IGdldEFiaUl0ZW0gfSBmcm9tICcuL2dldEFiaUl0ZW0uanMnO1xuY29uc3QgZG9jc1BhdGggPSAnL2RvY3MvY29udHJhY3QvZGVjb2RlRnVuY3Rpb25SZXN1bHQnO1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUZ1bmN0aW9uUmVzdWx0KHsgYWJpLCBhcmdzLCBmdW5jdGlvbk5hbWUsIGRhdGEsIH0pIHtcbiAgICBsZXQgYWJpSXRlbSA9IGFiaVswXTtcbiAgICBpZiAoZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgIGFiaUl0ZW0gPSBnZXRBYmlJdGVtKHtcbiAgICAgICAgICAgIGFiaSxcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBuYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWFiaUl0ZW0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yKGZ1bmN0aW9uTmFtZSwgeyBkb2NzUGF0aCB9KTtcbiAgICB9XG4gICAgaWYgKGFiaUl0ZW0udHlwZSAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgdGhyb3cgbmV3IEFiaUZ1bmN0aW9uTm90Rm91bmRFcnJvcih1bmRlZmluZWQsIHsgZG9jc1BhdGggfSk7XG4gICAgaWYgKCFhYmlJdGVtLm91dHB1dHMpXG4gICAgICAgIHRocm93IG5ldyBBYmlGdW5jdGlvbk91dHB1dHNOb3RGb3VuZEVycm9yKGFiaUl0ZW0ubmFtZSwgeyBkb2NzUGF0aCB9KTtcbiAgICBjb25zdCB2YWx1ZXMgPSBkZWNvZGVBYmlQYXJhbWV0ZXJzKGFiaUl0ZW0ub3V0cHV0cywgZGF0YSk7XG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID4gMSlcbiAgICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPT09IDEpXG4gICAgICAgIHJldHVybiB2YWx1ZXNbMF07XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlY29kZUZ1bmN0aW9uUmVzdWx0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeAbiParameters: function() { return /* binding */ encodeAbiParameters; },\n/* harmony export */ getArrayComponents: function() { return /* binding */ getArrayComponents; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _data_size_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\n\n\n\n\n\n/**\n * @description Encodes a list of primitive values into an ABI-encoded hex value.\n */\nfunction encodeAbiParameters(params, values) {\n if (params.length !== values.length)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiEncodingLengthMismatchError({\n expectedLength: params.length,\n givenLength: values.length,\n });\n // Prepare the parameters to determine dynamic types to encode.\n const preparedParams = prepareParams({\n params: params,\n values,\n });\n const data = encodeParams(preparedParams);\n if (data.length === 0)\n return '0x';\n return data;\n}\nfunction prepareParams({ params, values, }) {\n const preparedParams = [];\n for (let i = 0; i < params.length; i++) {\n preparedParams.push(prepareParam({ param: params[i], value: values[i] }));\n }\n return preparedParams;\n}\nfunction prepareParam({ param, value, }) {\n const arrayComponents = getArrayComponents(param.type);\n if (arrayComponents) {\n const [length, type] = arrayComponents;\n return encodeArray(value, { length, param: { ...param, type } });\n }\n if (param.type === 'tuple') {\n return encodeTuple(value, {\n param: param,\n });\n }\n if (param.type === 'address') {\n return encodeAddress(value);\n }\n if (param.type === 'bool') {\n return encodeBool(value);\n }\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n const signed = param.type.startsWith('int');\n return encodeNumber(value, { signed });\n }\n if (param.type.startsWith('bytes')) {\n return encodeBytes(value, { param });\n }\n if (param.type === 'string') {\n return encodeString(value);\n }\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.InvalidAbiEncodingTypeError(param.type, {\n docsPath: '/docs/contract/encodeAbiParameters',\n });\n}\n/////////////////////////////////////////////////////////////////\nfunction encodeParams(preparedParams) {\n // 1. Compute the size of the static part of the parameters.\n let staticSize = 0;\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i];\n if (dynamic)\n staticSize += 32;\n else\n staticSize += (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(encoded);\n }\n // 2. Split the parameters into static and dynamic parts.\n const staticParams = [];\n const dynamicParams = [];\n let dynamicSize = 0;\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i];\n if (dynamic) {\n staticParams.push((0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(staticSize + dynamicSize, { size: 32 }));\n dynamicParams.push(encoded);\n dynamicSize += (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(encoded);\n }\n else {\n staticParams.push(encoded);\n }\n }\n // 3. Concatenate static and dynamic parts.\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_3__.concat)([...staticParams, ...dynamicParams]);\n}\n/////////////////////////////////////////////////////////////////\nfunction encodeAddress(value) {\n if (!(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_4__.isAddress)(value))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_5__.InvalidAddressError({ address: value });\n return { dynamic: false, encoded: (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)(value.toLowerCase()) };\n}\nfunction encodeArray(value, { length, param, }) {\n const dynamic = length === null;\n if (!Array.isArray(value))\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.InvalidArrayError(value);\n if (!dynamic && value.length !== length)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiEncodingArrayLengthMismatchError({\n expectedLength: length,\n givenLength: value.length,\n type: `${param.type}[${length}]`,\n });\n let dynamicChild = false;\n const preparedParams = [];\n for (let i = 0; i < value.length; i++) {\n const preparedParam = prepareParam({ param, value: value[i] });\n if (preparedParam.dynamic)\n dynamicChild = true;\n preparedParams.push(preparedParam);\n }\n if (dynamic || dynamicChild) {\n const data = encodeParams(preparedParams);\n if (dynamic) {\n const length = (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(preparedParams.length, { size: 32 });\n return {\n dynamic: true,\n encoded: preparedParams.length > 0 ? (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_3__.concat)([length, data]) : length,\n };\n }\n if (dynamicChild)\n return { dynamic: true, encoded: data };\n }\n return {\n dynamic: false,\n encoded: (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_3__.concat)(preparedParams.map(({ encoded }) => encoded)),\n };\n}\nfunction encodeBytes(value, { param }) {\n const [_, size_] = param.type.split('bytes');\n if (!size_) {\n const partsLength = Math.ceil((0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value) / 32);\n const parts = [];\n for (let i = 0; i < partsLength; i++) {\n parts.push((0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_7__.slice)(value, i * 32, (i + 1) * 32), {\n dir: 'right',\n }));\n }\n return {\n dynamic: true,\n encoded: (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_3__.concat)([\n (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)((0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)((0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value), { size: 32 })),\n ...parts,\n ]),\n };\n }\n if ((0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value) !== parseInt(size_))\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiEncodingBytesSizeMismatchError({\n expectedSize: parseInt(size_),\n value,\n });\n return { dynamic: false, encoded: (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)(value, { dir: 'right' }) };\n}\nfunction encodeBool(value) {\n return { dynamic: false, encoded: (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)((0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.boolToHex)(value)) };\n}\nfunction encodeNumber(value, { signed }) {\n return {\n dynamic: false,\n encoded: (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)(value, {\n size: 32,\n signed,\n }),\n };\n}\nfunction encodeString(value) {\n const hexValue = (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.stringToHex)(value);\n const partsLength = Math.ceil((0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(hexValue) / 32);\n const parts = [];\n for (let i = 0; i < partsLength; i++) {\n parts.push((0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_7__.slice)(hexValue, i * 32, (i + 1) * 32), {\n dir: 'right',\n }));\n }\n return {\n dynamic: true,\n encoded: (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_3__.concat)([\n (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_6__.padHex)((0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_2__.numberToHex)((0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(hexValue), { size: 32 })),\n ...parts,\n ]),\n };\n}\nfunction encodeTuple(value, { param }) {\n let dynamic = false;\n const preparedParams = [];\n for (let i = 0; i < param.components.length; i++) {\n const param_ = param.components[i];\n const index = Array.isArray(value) ? i : param_.name;\n const preparedParam = prepareParam({\n param: param_,\n value: value[index],\n });\n preparedParams.push(preparedParam);\n if (preparedParam.dynamic)\n dynamic = true;\n }\n return {\n dynamic,\n encoded: dynamic\n ? encodeParams(preparedParams)\n : (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_3__.concat)(preparedParams.map(({ encoded }) => encoded)),\n };\n}\nfunction getArrayComponents(type) {\n const matches = type.match(/^(.*)\\[(\\d+)?\\]$/);\n return matches\n ? // Return `null` if the array is dynamic.\n [matches[2] ? Number(matches[2]) : null, matches[1]]\n : undefined;\n}\n//# sourceMappingURL=encodeAbiParameters.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlQWJpUGFyYW1ldGVycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQThMO0FBQ2hJO0FBQ1Y7QUFDVDtBQUNIO0FBQ0Q7QUFDRTtBQUNrQztBQUMzRTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0Esa0JBQWtCLDBFQUE4QjtBQUNoRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsaUJBQWlCO0FBQzFDO0FBQ0Esb0JBQW9CLG1CQUFtQjtBQUN2QywyQ0FBMkMsb0NBQW9DO0FBQy9FO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixlQUFlO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxpQkFBaUIsa0JBQWtCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxRQUFRO0FBQzdDO0FBQ0E7QUFDQSxvQ0FBb0MsT0FBTztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsdUVBQTJCO0FBQ3pDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DLGdCQUFnQixtQkFBbUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1EQUFJO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DLGdCQUFnQixtQkFBbUI7QUFDbkM7QUFDQSw4QkFBOEIsK0RBQVcsNkJBQTZCLFVBQVU7QUFDaEY7QUFDQSwyQkFBMkIsbURBQUk7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx1REFBTTtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxTQUFTLGdFQUFTO0FBQ2xCLGtCQUFrQixtRUFBbUIsR0FBRyxnQkFBZ0I7QUFDeEQsYUFBYSx5QkFBeUIsb0RBQU07QUFDNUM7QUFDQSw4QkFBOEIsZ0JBQWdCO0FBQzlDO0FBQ0E7QUFDQSxrQkFBa0IsNkRBQWlCO0FBQ25DO0FBQ0Esa0JBQWtCLCtFQUFtQztBQUNyRDtBQUNBO0FBQ0EscUJBQXFCLFdBQVcsR0FBRyxPQUFPO0FBQzFDLFNBQVM7QUFDVDtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0Qyw2Q0FBNkMsd0JBQXdCO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLCtEQUFXLDBCQUEwQixVQUFVO0FBQzFFO0FBQ0E7QUFDQSxxREFBcUQsdURBQU07QUFDM0Q7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix1REFBTSx1QkFBdUIsU0FBUztBQUN2RDtBQUNBO0FBQ0EsOEJBQThCLE9BQU87QUFDckM7QUFDQTtBQUNBLHNDQUFzQyxtREFBSTtBQUMxQztBQUNBLHdCQUF3QixpQkFBaUI7QUFDekMsdUJBQXVCLG9EQUFNLENBQUMscURBQUs7QUFDbkM7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHVEQUFNO0FBQzNCLGdCQUFnQixvREFBTSxDQUFDLCtEQUFXLENBQUMsbURBQUksV0FBVyxVQUFVO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxtREFBSTtBQUNaLGtCQUFrQiw2RUFBaUM7QUFDbkQ7QUFDQTtBQUNBLFNBQVM7QUFDVCxhQUFhLHlCQUF5QixvREFBTSxVQUFVLGNBQWM7QUFDcEU7QUFDQTtBQUNBLGFBQWEseUJBQXlCLG9EQUFNLENBQUMsNkRBQVM7QUFDdEQ7QUFDQSwrQkFBK0IsUUFBUTtBQUN2QztBQUNBO0FBQ0EsaUJBQWlCLCtEQUFXO0FBQzVCO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLCtEQUFXO0FBQ2hDLGtDQUFrQyxtREFBSTtBQUN0QztBQUNBLG9CQUFvQixpQkFBaUI7QUFDckMsbUJBQW1CLG9EQUFNLENBQUMscURBQUs7QUFDL0I7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHVEQUFNO0FBQ3ZCLFlBQVksb0RBQU0sQ0FBQywrREFBVyxDQUFDLG1EQUFJLGNBQWMsVUFBVTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixPQUFPO0FBQ3JDO0FBQ0E7QUFDQSxvQkFBb0IsNkJBQTZCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsdURBQU0sdUJBQXVCLFNBQVM7QUFDcEQ7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWJpL2VuY29kZUFiaVBhcmFtZXRlcnMuanM/YzE5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlFbmNvZGluZ0FycmF5TGVuZ3RoTWlzbWF0Y2hFcnJvciwgQWJpRW5jb2RpbmdCeXRlc1NpemVNaXNtYXRjaEVycm9yLCBBYmlFbmNvZGluZ0xlbmd0aE1pc21hdGNoRXJyb3IsIEludmFsaWRBYmlFbmNvZGluZ1R5cGVFcnJvciwgSW52YWxpZEFycmF5RXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBJbnZhbGlkQWRkcmVzc0Vycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FkZHJlc3MuanMnO1xuaW1wb3J0IHsgaXNBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcy9pc0FkZHJlc3MuanMnO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vZGF0YS9jb25jYXQuanMnO1xuaW1wb3J0IHsgcGFkSGV4IH0gZnJvbSAnLi4vZGF0YS9wYWQuanMnO1xuaW1wb3J0IHsgc2l6ZSB9IGZyb20gJy4uL2RhdGEvc2l6ZS5qcyc7XG5pbXBvcnQgeyBzbGljZSB9IGZyb20gJy4uL2RhdGEvc2xpY2UuanMnO1xuaW1wb3J0IHsgYm9vbFRvSGV4LCBudW1iZXJUb0hleCwgc3RyaW5nVG9IZXggfSBmcm9tICcuLi9lbmNvZGluZy90b0hleC5qcyc7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFbmNvZGVzIGEgbGlzdCBvZiBwcmltaXRpdmUgdmFsdWVzIGludG8gYW4gQUJJLWVuY29kZWQgaGV4IHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlQWJpUGFyYW1ldGVycyhwYXJhbXMsIHZhbHVlcykge1xuICAgIGlmIChwYXJhbXMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgQWJpRW5jb2RpbmdMZW5ndGhNaXNtYXRjaEVycm9yKHtcbiAgICAgICAgICAgIGV4cGVjdGVkTGVuZ3RoOiBwYXJhbXMubGVuZ3RoLFxuICAgICAgICAgICAgZ2l2ZW5MZW5ndGg6IHZhbHVlcy5sZW5ndGgsXG4gICAgICAgIH0pO1xuICAgIC8vIFByZXBhcmUgdGhlIHBhcmFtZXRlcnMgdG8gZGV0ZXJtaW5lIGR5bmFtaWMgdHlwZXMgdG8gZW5jb2RlLlxuICAgIGNvbnN0IHByZXBhcmVkUGFyYW1zID0gcHJlcGFyZVBhcmFtcyh7XG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgICB2YWx1ZXMsXG4gICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IGVuY29kZVBhcmFtcyhwcmVwYXJlZFBhcmFtcyk7XG4gICAgaWYgKGRhdGEubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gJzB4JztcbiAgICByZXR1cm4gZGF0YTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVQYXJhbXMoeyBwYXJhbXMsIHZhbHVlcywgfSkge1xuICAgIGNvbnN0IHByZXBhcmVkUGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcHJlcGFyZWRQYXJhbXMucHVzaChwcmVwYXJlUGFyYW0oeyBwYXJhbTogcGFyYW1zW2ldLCB2YWx1ZTogdmFsdWVzW2ldIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHByZXBhcmVkUGFyYW1zO1xufVxuZnVuY3Rpb24gcHJlcGFyZVBhcmFtKHsgcGFyYW0sIHZhbHVlLCB9KSB7XG4gICAgY29uc3QgYXJyYXlDb21wb25lbnRzID0gZ2V0QXJyYXlDb21wb25lbnRzKHBhcmFtLnR5cGUpO1xuICAgIGlmIChhcnJheUNvbXBvbmVudHMpIHtcbiAgICAgICAgY29uc3QgW2xlbmd0aCwgdHlwZV0gPSBhcnJheUNvbXBvbmVudHM7XG4gICAgICAgIHJldHVybiBlbmNvZGVBcnJheSh2YWx1ZSwgeyBsZW5ndGgsIHBhcmFtOiB7IC4uLnBhcmFtLCB0eXBlIH0gfSk7XG4gICAgfVxuICAgIGlmIChwYXJhbS50eXBlID09PSAndHVwbGUnKSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVUdXBsZSh2YWx1ZSwge1xuICAgICAgICAgICAgcGFyYW06IHBhcmFtLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICdhZGRyZXNzJykge1xuICAgICAgICByZXR1cm4gZW5jb2RlQWRkcmVzcyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChwYXJhbS50eXBlID09PSAnYm9vbCcpIHtcbiAgICAgICAgcmV0dXJuIGVuY29kZUJvb2wodmFsdWUpO1xuICAgIH1cbiAgICBpZiAocGFyYW0udHlwZS5zdGFydHNXaXRoKCd1aW50JykgfHwgcGFyYW0udHlwZS5zdGFydHNXaXRoKCdpbnQnKSkge1xuICAgICAgICBjb25zdCBzaWduZWQgPSBwYXJhbS50eXBlLnN0YXJ0c1dpdGgoJ2ludCcpO1xuICAgICAgICByZXR1cm4gZW5jb2RlTnVtYmVyKHZhbHVlLCB7IHNpZ25lZCB9KTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLnR5cGUuc3RhcnRzV2l0aCgnYnl0ZXMnKSkge1xuICAgICAgICByZXR1cm4gZW5jb2RlQnl0ZXModmFsdWUsIHsgcGFyYW0gfSk7XG4gICAgfVxuICAgIGlmIChwYXJhbS50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZW5jb2RlU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludmFsaWRBYmlFbmNvZGluZ1R5cGVFcnJvcihwYXJhbS50eXBlLCB7XG4gICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZW5jb2RlQWJpUGFyYW1ldGVycycsXG4gICAgfSk7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuZnVuY3Rpb24gZW5jb2RlUGFyYW1zKHByZXBhcmVkUGFyYW1zKSB7XG4gICAgLy8gMS4gQ29tcHV0ZSB0aGUgc2l6ZSBvZiB0aGUgc3RhdGljIHBhcnQgb2YgdGhlIHBhcmFtZXRlcnMuXG4gICAgbGV0IHN0YXRpY1NpemUgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJlcGFyZWRQYXJhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeyBkeW5hbWljLCBlbmNvZGVkIH0gPSBwcmVwYXJlZFBhcmFtc1tpXTtcbiAgICAgICAgaWYgKGR5bmFtaWMpXG4gICAgICAgICAgICBzdGF0aWNTaXplICs9IDMyO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBzdGF0aWNTaXplICs9IHNpemUoZW5jb2RlZCk7XG4gICAgfVxuICAgIC8vIDIuIFNwbGl0IHRoZSBwYXJhbWV0ZXJzIGludG8gc3RhdGljIGFuZCBkeW5hbWljIHBhcnRzLlxuICAgIGNvbnN0IHN0YXRpY1BhcmFtcyA9IFtdO1xuICAgIGNvbnN0IGR5bmFtaWNQYXJhbXMgPSBbXTtcbiAgICBsZXQgZHluYW1pY1NpemUgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJlcGFyZWRQYXJhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeyBkeW5hbWljLCBlbmNvZGVkIH0gPSBwcmVwYXJlZFBhcmFtc1tpXTtcbiAgICAgICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgICAgICAgIHN0YXRpY1BhcmFtcy5wdXNoKG51bWJlclRvSGV4KHN0YXRpY1NpemUgKyBkeW5hbWljU2l6ZSwgeyBzaXplOiAzMiB9KSk7XG4gICAgICAgICAgICBkeW5hbWljUGFyYW1zLnB1c2goZW5jb2RlZCk7XG4gICAgICAgICAgICBkeW5hbWljU2l6ZSArPSBzaXplKGVuY29kZWQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc3RhdGljUGFyYW1zLnB1c2goZW5jb2RlZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gMy4gQ29uY2F0ZW5hdGUgc3RhdGljIGFuZCBkeW5hbWljIHBhcnRzLlxuICAgIHJldHVybiBjb25jYXQoWy4uLnN0YXRpY1BhcmFtcywgLi4uZHluYW1pY1BhcmFtc10pO1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmZ1bmN0aW9uIGVuY29kZUFkZHJlc3ModmFsdWUpIHtcbiAgICBpZiAoIWlzQWRkcmVzcyh2YWx1ZSkpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogdmFsdWUgfSk7XG4gICAgcmV0dXJuIHsgZHluYW1pYzogZmFsc2UsIGVuY29kZWQ6IHBhZEhleCh2YWx1ZS50b0xvd2VyQ2FzZSgpKSB9O1xufVxuZnVuY3Rpb24gZW5jb2RlQXJyYXkodmFsdWUsIHsgbGVuZ3RoLCBwYXJhbSwgfSkge1xuICAgIGNvbnN0IGR5bmFtaWMgPSBsZW5ndGggPT09IG51bGw7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcnJheUVycm9yKHZhbHVlKTtcbiAgICBpZiAoIWR5bmFtaWMgJiYgdmFsdWUubGVuZ3RoICE9PSBsZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBBYmlFbmNvZGluZ0FycmF5TGVuZ3RoTWlzbWF0Y2hFcnJvcih7XG4gICAgICAgICAgICBleHBlY3RlZExlbmd0aDogbGVuZ3RoLFxuICAgICAgICAgICAgZ2l2ZW5MZW5ndGg6IHZhbHVlLmxlbmd0aCxcbiAgICAgICAgICAgIHR5cGU6IGAke3BhcmFtLnR5cGV9WyR7bGVuZ3RofV1gLFxuICAgICAgICB9KTtcbiAgICBsZXQgZHluYW1pY0NoaWxkID0gZmFsc2U7XG4gICAgY29uc3QgcHJlcGFyZWRQYXJhbXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHByZXBhcmVkUGFyYW0gPSBwcmVwYXJlUGFyYW0oeyBwYXJhbSwgdmFsdWU6IHZhbHVlW2ldIH0pO1xuICAgICAgICBpZiAocHJlcGFyZWRQYXJhbS5keW5hbWljKVxuICAgICAgICAgICAgZHluYW1pY0NoaWxkID0gdHJ1ZTtcbiAgICAgICAgcHJlcGFyZWRQYXJhbXMucHVzaChwcmVwYXJlZFBhcmFtKTtcbiAgICB9XG4gICAgaWYgKGR5bmFtaWMgfHwgZHluYW1pY0NoaWxkKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVQYXJhbXMocHJlcGFyZWRQYXJhbXMpO1xuICAgICAgICBpZiAoZHluYW1pYykge1xuICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gbnVtYmVyVG9IZXgocHJlcGFyZWRQYXJhbXMubGVuZ3RoLCB7IHNpemU6IDMyIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkeW5hbWljOiB0cnVlLFxuICAgICAgICAgICAgICAgIGVuY29kZWQ6IHByZXBhcmVkUGFyYW1zLmxlbmd0aCA+IDAgPyBjb25jYXQoW2xlbmd0aCwgZGF0YV0pIDogbGVuZ3RoLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZHluYW1pY0NoaWxkKVxuICAgICAgICAgICAgcmV0dXJuIHsgZHluYW1pYzogdHJ1ZSwgZW5jb2RlZDogZGF0YSB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBkeW5hbWljOiBmYWxzZSxcbiAgICAgICAgZW5jb2RlZDogY29uY2F0KHByZXBhcmVkUGFyYW1zLm1hcCgoeyBlbmNvZGVkIH0pID0+IGVuY29kZWQpKSxcbiAgICB9O1xufVxuZnVuY3Rpb24gZW5jb2RlQnl0ZXModmFsdWUsIHsgcGFyYW0gfSkge1xuICAgIGNvbnN0IFtfLCBzaXplX10gPSBwYXJhbS50eXBlLnNwbGl0KCdieXRlcycpO1xuICAgIGlmICghc2l6ZV8pIHtcbiAgICAgICAgY29uc3QgcGFydHNMZW5ndGggPSBNYXRoLmNlaWwoc2l6ZSh2YWx1ZSkgLyAzMik7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcGFydHMucHVzaChwYWRIZXgoc2xpY2UodmFsdWUsIGkgKiAzMiwgKGkgKyAxKSAqIDMyKSwge1xuICAgICAgICAgICAgICAgIGRpcjogJ3JpZ2h0JyxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZHluYW1pYzogdHJ1ZSxcbiAgICAgICAgICAgIGVuY29kZWQ6IGNvbmNhdChbXG4gICAgICAgICAgICAgICAgcGFkSGV4KG51bWJlclRvSGV4KHNpemUodmFsdWUpLCB7IHNpemU6IDMyIH0pKSxcbiAgICAgICAgICAgICAgICAuLi5wYXJ0cyxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoc2l6ZSh2YWx1ZSkgIT09IHBhcnNlSW50KHNpemVfKSlcbiAgICAgICAgdGhyb3cgbmV3IEFiaUVuY29kaW5nQnl0ZXNTaXplTWlzbWF0Y2hFcnJvcih7XG4gICAgICAgICAgICBleHBlY3RlZFNpemU6IHBhcnNlSW50KHNpemVfKSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4geyBkeW5hbWljOiBmYWxzZSwgZW5jb2RlZDogcGFkSGV4KHZhbHVlLCB7IGRpcjogJ3JpZ2h0JyB9KSB9O1xufVxuZnVuY3Rpb24gZW5jb2RlQm9vbCh2YWx1ZSkge1xuICAgIHJldHVybiB7IGR5bmFtaWM6IGZhbHNlLCBlbmNvZGVkOiBwYWRIZXgoYm9vbFRvSGV4KHZhbHVlKSkgfTtcbn1cbmZ1bmN0aW9uIGVuY29kZU51bWJlcih2YWx1ZSwgeyBzaWduZWQgfSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGR5bmFtaWM6IGZhbHNlLFxuICAgICAgICBlbmNvZGVkOiBudW1iZXJUb0hleCh2YWx1ZSwge1xuICAgICAgICAgICAgc2l6ZTogMzIsXG4gICAgICAgICAgICBzaWduZWQsXG4gICAgICAgIH0pLFxuICAgIH07XG59XG5mdW5jdGlvbiBlbmNvZGVTdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBoZXhWYWx1ZSA9IHN0cmluZ1RvSGV4KHZhbHVlKTtcbiAgICBjb25zdCBwYXJ0c0xlbmd0aCA9IE1hdGguY2VpbChzaXplKGhleFZhbHVlKSAvIDMyKTtcbiAgICBjb25zdCBwYXJ0cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHNMZW5ndGg7IGkrKykge1xuICAgICAgICBwYXJ0cy5wdXNoKHBhZEhleChzbGljZShoZXhWYWx1ZSwgaSAqIDMyLCAoaSArIDEpICogMzIpLCB7XG4gICAgICAgICAgICBkaXI6ICdyaWdodCcsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZHluYW1pYzogdHJ1ZSxcbiAgICAgICAgZW5jb2RlZDogY29uY2F0KFtcbiAgICAgICAgICAgIHBhZEhleChudW1iZXJUb0hleChzaXplKGhleFZhbHVlKSwgeyBzaXplOiAzMiB9KSksXG4gICAgICAgICAgICAuLi5wYXJ0cyxcbiAgICAgICAgXSksXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGVuY29kZVR1cGxlKHZhbHVlLCB7IHBhcmFtIH0pIHtcbiAgICBsZXQgZHluYW1pYyA9IGZhbHNlO1xuICAgIGNvbnN0IHByZXBhcmVkUGFyYW1zID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbS5jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtXyA9IHBhcmFtLmNvbXBvbmVudHNbaV07XG4gICAgICAgIGNvbnN0IGluZGV4ID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBpIDogcGFyYW1fLm5hbWU7XG4gICAgICAgIGNvbnN0IHByZXBhcmVkUGFyYW0gPSBwcmVwYXJlUGFyYW0oe1xuICAgICAgICAgICAgcGFyYW06IHBhcmFtXyxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVtpbmRleF0sXG4gICAgICAgIH0pO1xuICAgICAgICBwcmVwYXJlZFBhcmFtcy5wdXNoKHByZXBhcmVkUGFyYW0pO1xuICAgICAgICBpZiAocHJlcGFyZWRQYXJhbS5keW5hbWljKVxuICAgICAgICAgICAgZHluYW1pYyA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGR5bmFtaWMsXG4gICAgICAgIGVuY29kZWQ6IGR5bmFtaWNcbiAgICAgICAgICAgID8gZW5jb2RlUGFyYW1zKHByZXBhcmVkUGFyYW1zKVxuICAgICAgICAgICAgOiBjb25jYXQocHJlcGFyZWRQYXJhbXMubWFwKCh7IGVuY29kZWQgfSkgPT4gZW5jb2RlZCkpLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0QXJyYXlDb21wb25lbnRzKHR5cGUpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdHlwZS5tYXRjaCgvXiguKilcXFsoXFxkKyk/XFxdJC8pO1xuICAgIHJldHVybiBtYXRjaGVzXG4gICAgICAgID8gLy8gUmV0dXJuIGBudWxsYCBpZiB0aGUgYXJyYXkgaXMgZHluYW1pYy5cbiAgICAgICAgICAgIFttYXRjaGVzWzJdID8gTnVtYmVyKG1hdGNoZXNbMl0pIDogbnVsbCwgbWF0Y2hlc1sxXV1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodeDeployData.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodeDeployData.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeDeployData: function() { return /* binding */ encodeDeployData; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n\n\n\nconst docsPath = '/docs/contract/encodeDeployData';\nfunction encodeDeployData({ abi, args, bytecode, }) {\n if (!args || args.length === 0)\n return bytecode;\n const description = abi.find((x) => 'type' in x && x.type === 'constructor');\n if (!description)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiConstructorNotFoundError({ docsPath });\n if (!('inputs' in description))\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiConstructorParamsNotFoundError({ docsPath });\n if (!description.inputs || description.inputs.length === 0)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiConstructorParamsNotFoundError({ docsPath });\n const data = (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_1__.encodeAbiParameters)(description.inputs, args);\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_2__.concatHex)([bytecode, data]);\n}\n//# sourceMappingURL=encodeDeployData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRGVwbG95RGF0YS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXNHO0FBQ3hEO0FBQ2lCO0FBQy9EO0FBQ08sNEJBQTRCLHNCQUFzQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix1RUFBMkIsR0FBRyxVQUFVO0FBQzFEO0FBQ0Esa0JBQWtCLDZFQUFpQyxHQUFHLFVBQVU7QUFDaEU7QUFDQSxrQkFBa0IsNkVBQWlDLEdBQUcsVUFBVTtBQUNoRSxpQkFBaUIsNEVBQW1CO0FBQ3BDLFdBQVcsMERBQVM7QUFDcEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRGVwbG95RGF0YS5qcz9jMTQ4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvciwgQWJpQ29uc3RydWN0b3JQYXJhbXNOb3RGb3VuZEVycm9yLCB9IGZyb20gJy4uLy4uL2Vycm9ycy9hYmkuanMnO1xuaW1wb3J0IHsgY29uY2F0SGV4IH0gZnJvbSAnLi4vZGF0YS9jb25jYXQuanMnO1xuaW1wb3J0IHsgZW5jb2RlQWJpUGFyYW1ldGVycyB9IGZyb20gJy4vZW5jb2RlQWJpUGFyYW1ldGVycy5qcyc7XG5jb25zdCBkb2NzUGF0aCA9ICcvZG9jcy9jb250cmFjdC9lbmNvZGVEZXBsb3lEYXRhJztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVEZXBsb3lEYXRhKHsgYWJpLCBhcmdzLCBieXRlY29kZSwgfSkge1xuICAgIGlmICghYXJncyB8fCBhcmdzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIGJ5dGVjb2RlO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYWJpLmZpbmQoKHgpID0+ICd0eXBlJyBpbiB4ICYmIHgudHlwZSA9PT0gJ2NvbnN0cnVjdG9yJyk7XG4gICAgaWYgKCFkZXNjcmlwdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IEFiaUNvbnN0cnVjdG9yTm90Rm91bmRFcnJvcih7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghKCdpbnB1dHMnIGluIGRlc2NyaXB0aW9uKSlcbiAgICAgICAgdGhyb3cgbmV3IEFiaUNvbnN0cnVjdG9yUGFyYW1zTm90Rm91bmRFcnJvcih7IGRvY3NQYXRoIH0pO1xuICAgIGlmICghZGVzY3JpcHRpb24uaW5wdXRzIHx8IGRlc2NyaXB0aW9uLmlucHV0cy5sZW5ndGggPT09IDApXG4gICAgICAgIHRocm93IG5ldyBBYmlDb25zdHJ1Y3RvclBhcmFtc05vdEZvdW5kRXJyb3IoeyBkb2NzUGF0aCB9KTtcbiAgICBjb25zdCBkYXRhID0gZW5jb2RlQWJpUGFyYW1ldGVycyhkZXNjcmlwdGlvbi5pbnB1dHMsIGFyZ3MpO1xuICAgIHJldHVybiBjb25jYXRIZXgoW2J5dGVjb2RlLCBkYXRhXSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVEZXBsb3lEYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodeDeployData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodeErrorResult.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodeErrorResult.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeErrorResult: function() { return /* binding */ encodeErrorResult; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\");\n/* harmony import */ var _encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n/* harmony import */ var _getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n\n\n\n\n\n\nconst docsPath = '/docs/contract/encodeErrorResult';\nfunction encodeErrorResult({ abi, errorName, args }) {\n let abiItem = abi[0];\n if (errorName) {\n abiItem = (0,_getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__.getAbiItem)({\n abi,\n args,\n name: errorName,\n });\n if (!abiItem)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiErrorNotFoundError(errorName, { docsPath });\n }\n if (abiItem.type !== 'error')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiErrorNotFoundError(undefined, { docsPath });\n const definition = (0,_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__.formatAbiItem)(abiItem);\n const signature = (0,_hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_3__.getFunctionSelector)(definition);\n let data = '0x';\n if (args && args.length > 0) {\n if (!abiItem.inputs)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiErrorInputsNotFoundError(abiItem.name, { docsPath });\n data = (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__.encodeAbiParameters)(abiItem.inputs, args);\n }\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_5__.concatHex)([signature, data]);\n}\n//# sourceMappingURL=encodeErrorResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRXJyb3JSZXN1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUEwRjtBQUM1QztBQUN1QjtBQUNOO0FBQ1o7QUFDTjtBQUM3QztBQUNPLDZCQUE2QixzQkFBc0I7QUFDMUQ7QUFDQTtBQUNBLGtCQUFrQiwwREFBVTtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxzQkFBc0IsaUVBQXFCLGNBQWMsVUFBVTtBQUNuRTtBQUNBO0FBQ0Esa0JBQWtCLGlFQUFxQixjQUFjLFVBQVU7QUFDL0QsdUJBQXVCLGdFQUFhO0FBQ3BDLHNCQUFzQixpRkFBbUI7QUFDekM7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHVFQUEyQixpQkFBaUIsVUFBVTtBQUM1RSxlQUFlLDRFQUFtQjtBQUNsQztBQUNBLFdBQVcsMERBQVM7QUFDcEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRXJyb3JSZXN1bHQuanM/MmRhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3IsIEFiaUVycm9yTm90Rm91bmRFcnJvciwgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWJpLmpzJztcbmltcG9ydCB7IGNvbmNhdEhleCB9IGZyb20gJy4uL2RhdGEvY29uY2F0LmpzJztcbmltcG9ydCB7IGdldEZ1bmN0aW9uU2VsZWN0b3IgfSBmcm9tICcuLi9oYXNoL2dldEZ1bmN0aW9uU2VsZWN0b3IuanMnO1xuaW1wb3J0IHsgZW5jb2RlQWJpUGFyYW1ldGVycyB9IGZyb20gJy4vZW5jb2RlQWJpUGFyYW1ldGVycy5qcyc7XG5pbXBvcnQgeyBmb3JtYXRBYmlJdGVtIH0gZnJvbSAnLi9mb3JtYXRBYmlJdGVtLmpzJztcbmltcG9ydCB7IGdldEFiaUl0ZW0gfSBmcm9tICcuL2dldEFiaUl0ZW0uanMnO1xuY29uc3QgZG9jc1BhdGggPSAnL2RvY3MvY29udHJhY3QvZW5jb2RlRXJyb3JSZXN1bHQnO1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUVycm9yUmVzdWx0KHsgYWJpLCBlcnJvck5hbWUsIGFyZ3MgfSkge1xuICAgIGxldCBhYmlJdGVtID0gYWJpWzBdO1xuICAgIGlmIChlcnJvck5hbWUpIHtcbiAgICAgICAgYWJpSXRlbSA9IGdldEFiaUl0ZW0oe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIG5hbWU6IGVycm9yTmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghYWJpSXRlbSlcbiAgICAgICAgICAgIHRocm93IG5ldyBBYmlFcnJvck5vdEZvdW5kRXJyb3IoZXJyb3JOYW1lLCB7IGRvY3NQYXRoIH0pO1xuICAgIH1cbiAgICBpZiAoYWJpSXRlbS50eXBlICE9PSAnZXJyb3InKVxuICAgICAgICB0aHJvdyBuZXcgQWJpRXJyb3JOb3RGb3VuZEVycm9yKHVuZGVmaW5lZCwgeyBkb2NzUGF0aCB9KTtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gZm9ybWF0QWJpSXRlbShhYmlJdGVtKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBnZXRGdW5jdGlvblNlbGVjdG9yKGRlZmluaXRpb24pO1xuICAgIGxldCBkYXRhID0gJzB4JztcbiAgICBpZiAoYXJncyAmJiBhcmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKCFhYmlJdGVtLmlucHV0cylcbiAgICAgICAgICAgIHRocm93IG5ldyBBYmlFcnJvcklucHV0c05vdEZvdW5kRXJyb3IoYWJpSXRlbS5uYW1lLCB7IGRvY3NQYXRoIH0pO1xuICAgICAgICBkYXRhID0gZW5jb2RlQWJpUGFyYW1ldGVycyhhYmlJdGVtLmlucHV0cywgYXJncyk7XG4gICAgfVxuICAgIHJldHVybiBjb25jYXRIZXgoW3NpZ25hdHVyZSwgZGF0YV0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RlRXJyb3JSZXN1bHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodeErrorResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeEventTopics: function() { return /* binding */ encodeEventTopics; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_log_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../errors/log.js */ \"./node_modules/viem/dist/esm/errors/log.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hash/getEventSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getEventSelector.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n/* harmony import */ var _getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n\n\n\n\n\n\n\n\nfunction encodeEventTopics({ abi, eventName, args }) {\n let abiItem = abi[0];\n if (eventName) {\n abiItem = (0,_getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__.getAbiItem)({\n abi,\n args,\n name: eventName,\n });\n if (!abiItem)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiEventNotFoundError(eventName, {\n docsPath: '/docs/contract/encodeEventTopics',\n });\n }\n if (abiItem.type !== 'event')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiEventNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeEventTopics',\n });\n const definition = (0,_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__.formatAbiItem)(abiItem);\n const signature = (0,_hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_3__.getEventSelector)(definition);\n let topics = [];\n if (args && 'inputs' in abiItem) {\n const indexedInputs = abiItem.inputs?.filter((param) => 'indexed' in param && param.indexed);\n const args_ = Array.isArray(args)\n ? args\n : Object.values(args).length > 0\n ? indexedInputs?.map((x) => args[x.name]) ?? []\n : [];\n if (args_.length > 0) {\n topics =\n indexedInputs?.map((param, i) => Array.isArray(args_[i])\n ? args_[i].map((_, j) => encodeArg({ param, value: args_[i][j] }))\n : args_[i]\n ? encodeArg({ param, value: args_[i] })\n : null) ?? [];\n }\n }\n return [signature, ...topics];\n}\nfunction encodeArg({ param, value, }) {\n if (param.type === 'string' || param.type === 'bytes')\n return (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_4__.keccak256)((0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_5__.toBytes)(value));\n if (param.type === 'tuple' || param.type.match(/^(.*)\\[(\\d+)?\\]$/))\n throw new _errors_log_js__WEBPACK_IMPORTED_MODULE_6__.FilterTypeNotSupportedError(param.type);\n return (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_7__.encodeAbiParameters)([param], [value]);\n}\n//# sourceMappingURL=encodeEventTopics.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRXZlbnRUb3BpY3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQTREO0FBQ007QUFDakI7QUFDYztBQUNkO0FBQ2M7QUFDWjtBQUNOO0FBQ3RDLDZCQUE2QixzQkFBc0I7QUFDMUQ7QUFDQTtBQUNBLGtCQUFrQiwwREFBVTtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxzQkFBc0IsaUVBQXFCO0FBQzNDO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxrQkFBa0IsaUVBQXFCO0FBQ3ZDO0FBQ0EsU0FBUztBQUNULHVCQUF1QixnRUFBYTtBQUNwQyxzQkFBc0IsMkVBQWdCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQsMkJBQTJCO0FBQ3BGO0FBQ0Esc0NBQXNDLHdCQUF3QjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGVBQWU7QUFDcEM7QUFDQSxlQUFlLDZEQUFTLENBQUMsNkRBQU87QUFDaEM7QUFDQSxrQkFBa0IsdUVBQTJCO0FBQzdDLFdBQVcsNEVBQW1CO0FBQzlCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWJpL2VuY29kZUV2ZW50VG9waWNzLmpzPzgwYTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJpRXZlbnROb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBGaWx0ZXJUeXBlTm90U3VwcG9ydGVkRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvbG9nLmpzJztcbmltcG9ydCB7IHRvQnl0ZXMgfSBmcm9tICcuLi9lbmNvZGluZy90b0J5dGVzLmpzJztcbmltcG9ydCB7IGdldEV2ZW50U2VsZWN0b3IgfSBmcm9tICcuLi9oYXNoL2dldEV2ZW50U2VsZWN0b3IuanMnO1xuaW1wb3J0IHsga2VjY2FrMjU2IH0gZnJvbSAnLi4vaGFzaC9rZWNjYWsyNTYuanMnO1xuaW1wb3J0IHsgZW5jb2RlQWJpUGFyYW1ldGVycyB9IGZyb20gJy4vZW5jb2RlQWJpUGFyYW1ldGVycy5qcyc7XG5pbXBvcnQgeyBmb3JtYXRBYmlJdGVtIH0gZnJvbSAnLi9mb3JtYXRBYmlJdGVtLmpzJztcbmltcG9ydCB7IGdldEFiaUl0ZW0gfSBmcm9tICcuL2dldEFiaUl0ZW0uanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUV2ZW50VG9waWNzKHsgYWJpLCBldmVudE5hbWUsIGFyZ3MgfSkge1xuICAgIGxldCBhYmlJdGVtID0gYWJpWzBdO1xuICAgIGlmIChldmVudE5hbWUpIHtcbiAgICAgICAgYWJpSXRlbSA9IGdldEFiaUl0ZW0oe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIG5hbWU6IGV2ZW50TmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghYWJpSXRlbSlcbiAgICAgICAgICAgIHRocm93IG5ldyBBYmlFdmVudE5vdEZvdW5kRXJyb3IoZXZlbnROYW1lLCB7XG4gICAgICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9lbmNvZGVFdmVudFRvcGljcycsXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGFiaUl0ZW0udHlwZSAhPT0gJ2V2ZW50JylcbiAgICAgICAgdGhyb3cgbmV3IEFiaUV2ZW50Tm90Rm91bmRFcnJvcih1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIGRvY3NQYXRoOiAnL2RvY3MvY29udHJhY3QvZW5jb2RlRXZlbnRUb3BpY3MnLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gZm9ybWF0QWJpSXRlbShhYmlJdGVtKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBnZXRFdmVudFNlbGVjdG9yKGRlZmluaXRpb24pO1xuICAgIGxldCB0b3BpY3MgPSBbXTtcbiAgICBpZiAoYXJncyAmJiAnaW5wdXRzJyBpbiBhYmlJdGVtKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ZWRJbnB1dHMgPSBhYmlJdGVtLmlucHV0cz8uZmlsdGVyKChwYXJhbSkgPT4gJ2luZGV4ZWQnIGluIHBhcmFtICYmIHBhcmFtLmluZGV4ZWQpO1xuICAgICAgICBjb25zdCBhcmdzXyA9IEFycmF5LmlzQXJyYXkoYXJncylcbiAgICAgICAgICAgID8gYXJnc1xuICAgICAgICAgICAgOiBPYmplY3QudmFsdWVzKGFyZ3MpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IGluZGV4ZWRJbnB1dHM/Lm1hcCgoeCkgPT4gYXJnc1t4Lm5hbWVdKSA/PyBbXVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgIGlmIChhcmdzXy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0b3BpY3MgPVxuICAgICAgICAgICAgICAgIGluZGV4ZWRJbnB1dHM/Lm1hcCgocGFyYW0sIGkpID0+IEFycmF5LmlzQXJyYXkoYXJnc19baV0pXG4gICAgICAgICAgICAgICAgICAgID8gYXJnc19baV0ubWFwKChfLCBqKSA9PiBlbmNvZGVBcmcoeyBwYXJhbSwgdmFsdWU6IGFyZ3NfW2ldW2pdIH0pKVxuICAgICAgICAgICAgICAgICAgICA6IGFyZ3NfW2ldXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGVuY29kZUFyZyh7IHBhcmFtLCB2YWx1ZTogYXJnc19baV0gfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbCkgPz8gW107XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtzaWduYXR1cmUsIC4uLnRvcGljc107XG59XG5mdW5jdGlvbiBlbmNvZGVBcmcoeyBwYXJhbSwgdmFsdWUsIH0pIHtcbiAgICBpZiAocGFyYW0udHlwZSA9PT0gJ3N0cmluZycgfHwgcGFyYW0udHlwZSA9PT0gJ2J5dGVzJylcbiAgICAgICAgcmV0dXJuIGtlY2NhazI1Nih0b0J5dGVzKHZhbHVlKSk7XG4gICAgaWYgKHBhcmFtLnR5cGUgPT09ICd0dXBsZScgfHwgcGFyYW0udHlwZS5tYXRjaCgvXiguKilcXFsoXFxkKyk/XFxdJC8pKVxuICAgICAgICB0aHJvdyBuZXcgRmlsdGVyVHlwZU5vdFN1cHBvcnRlZEVycm9yKHBhcmFtLnR5cGUpO1xuICAgIHJldHVybiBlbmNvZGVBYmlQYXJhbWV0ZXJzKFtwYXJhbV0sIFt2YWx1ZV0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5jb2RlRXZlbnRUb3BpY3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeFunctionData: function() { return /* binding */ encodeFunctionData; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hash/getFunctionSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\");\n/* harmony import */ var _encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n/* harmony import */ var _getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n\n\n\n\n\n\nfunction encodeFunctionData({ abi, args, functionName, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = (0,_getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__.getAbiItem)({\n abi,\n args,\n name: functionName,\n });\n if (!abiItem)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionNotFoundError(functionName, {\n docsPath: '/docs/contract/encodeFunctionData',\n });\n }\n if (abiItem.type !== 'function')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeFunctionData',\n });\n const definition = (0,_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_2__.formatAbiItem)(abiItem);\n const signature = (0,_hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_3__.getFunctionSelector)(definition);\n const data = 'inputs' in abiItem && abiItem.inputs\n ? (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_4__.encodeAbiParameters)(abiItem.inputs, (args ?? []))\n : undefined;\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_5__.concatHex)([signature, data ?? '0x']);\n}\n//# sourceMappingURL=encodeFunctionData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBK0Q7QUFDakI7QUFDdUI7QUFDTjtBQUNaO0FBQ047QUFDdEMsOEJBQThCLDBCQUEwQjtBQUMvRDtBQUNBO0FBQ0Esa0JBQWtCLDBEQUFVO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLHNCQUFzQixvRUFBd0I7QUFDOUM7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGtCQUFrQixvRUFBd0I7QUFDMUM7QUFDQSxTQUFTO0FBQ1QsdUJBQXVCLGdFQUFhO0FBQ3BDLHNCQUFzQixpRkFBbUI7QUFDekM7QUFDQSxVQUFVLDRFQUFtQjtBQUM3QjtBQUNBLFdBQVcsMERBQVM7QUFDcEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzP2ZlYTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBjb25jYXRIZXggfSBmcm9tICcuLi9kYXRhL2NvbmNhdC5qcyc7XG5pbXBvcnQgeyBnZXRGdW5jdGlvblNlbGVjdG9yIH0gZnJvbSAnLi4vaGFzaC9nZXRGdW5jdGlvblNlbGVjdG9yLmpzJztcbmltcG9ydCB7IGVuY29kZUFiaVBhcmFtZXRlcnMgfSBmcm9tICcuL2VuY29kZUFiaVBhcmFtZXRlcnMuanMnO1xuaW1wb3J0IHsgZm9ybWF0QWJpSXRlbSB9IGZyb20gJy4vZm9ybWF0QWJpSXRlbS5qcyc7XG5pbXBvcnQgeyBnZXRBYmlJdGVtIH0gZnJvbSAnLi9nZXRBYmlJdGVtLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVGdW5jdGlvbkRhdGEoeyBhYmksIGFyZ3MsIGZ1bmN0aW9uTmFtZSwgfSkge1xuICAgIGxldCBhYmlJdGVtID0gYWJpWzBdO1xuICAgIGlmIChmdW5jdGlvbk5hbWUpIHtcbiAgICAgICAgYWJpSXRlbSA9IGdldEFiaUl0ZW0oe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIG5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghYWJpSXRlbSlcbiAgICAgICAgICAgIHRocm93IG5ldyBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IoZnVuY3Rpb25OYW1lLCB7XG4gICAgICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9lbmNvZGVGdW5jdGlvbkRhdGEnLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChhYmlJdGVtLnR5cGUgIT09ICdmdW5jdGlvbicpXG4gICAgICAgIHRocm93IG5ldyBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IodW5kZWZpbmVkLCB7XG4gICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L2VuY29kZUZ1bmN0aW9uRGF0YScsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGRlZmluaXRpb24gPSBmb3JtYXRBYmlJdGVtKGFiaUl0ZW0pO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGdldEZ1bmN0aW9uU2VsZWN0b3IoZGVmaW5pdGlvbik7XG4gICAgY29uc3QgZGF0YSA9ICdpbnB1dHMnIGluIGFiaUl0ZW0gJiYgYWJpSXRlbS5pbnB1dHNcbiAgICAgICAgPyBlbmNvZGVBYmlQYXJhbWV0ZXJzKGFiaUl0ZW0uaW5wdXRzLCAoYXJncyA/PyBbXSkpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBjb25jYXRIZXgoW3NpZ25hdHVyZSwgZGF0YSA/PyAnMHgnXSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVGdW5jdGlvbkRhdGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodeFunctionResult.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodeFunctionResult.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeFunctionResult: function() { return /* binding */ encodeFunctionResult; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n\n\n\nconst docsPath = '/docs/contract/encodeFunctionResult';\nfunction encodeFunctionResult({ abi, functionName, result, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = (0,_getAbiItem_js__WEBPACK_IMPORTED_MODULE_0__.getAbiItem)({\n abi,\n name: functionName,\n });\n if (!abiItem)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionNotFoundError(functionName, {\n docsPath: '/docs/contract/encodeFunctionResult',\n });\n }\n if (abiItem.type !== 'function')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeFunctionResult',\n });\n if (!abiItem.outputs)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_1__.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });\n let values = Array.isArray(result) ? result : [result];\n if (abiItem.outputs.length === 0 && !values[0])\n values = [];\n return (0,_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_2__.encodeAbiParameters)(abiItem.outputs, values);\n}\n//# sourceMappingURL=encodeFunctionResult.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25SZXN1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFpRztBQUNsQztBQUNsQjtBQUM3QztBQUNPLGdDQUFnQyw0QkFBNEI7QUFDbkU7QUFDQTtBQUNBLGtCQUFrQiwwREFBVTtBQUM1QjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esc0JBQXNCLG9FQUF3QjtBQUM5QztBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0Esa0JBQWtCLG9FQUF3QjtBQUMxQztBQUNBLFNBQVM7QUFDVDtBQUNBLGtCQUFrQiwyRUFBK0IsaUJBQWlCLFVBQVU7QUFDNUU7QUFDQTtBQUNBO0FBQ0EsV0FBVyw0RUFBbUI7QUFDOUI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlRnVuY3Rpb25SZXN1bHQuanM/OTcwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlGdW5jdGlvbk5vdEZvdW5kRXJyb3IsIEFiaUZ1bmN0aW9uT3V0cHV0c05vdEZvdW5kRXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FiaS5qcyc7XG5pbXBvcnQgeyBlbmNvZGVBYmlQYXJhbWV0ZXJzIH0gZnJvbSAnLi9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzJztcbmltcG9ydCB7IGdldEFiaUl0ZW0gfSBmcm9tICcuL2dldEFiaUl0ZW0uanMnO1xuY29uc3QgZG9jc1BhdGggPSAnL2RvY3MvY29udHJhY3QvZW5jb2RlRnVuY3Rpb25SZXN1bHQnO1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUZ1bmN0aW9uUmVzdWx0KHsgYWJpLCBmdW5jdGlvbk5hbWUsIHJlc3VsdCwgfSkge1xuICAgIGxldCBhYmlJdGVtID0gYWJpWzBdO1xuICAgIGlmIChmdW5jdGlvbk5hbWUpIHtcbiAgICAgICAgYWJpSXRlbSA9IGdldEFiaUl0ZW0oe1xuICAgICAgICAgICAgYWJpLFxuICAgICAgICAgICAgbmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFhYmlJdGVtKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEFiaUZ1bmN0aW9uTm90Rm91bmRFcnJvcihmdW5jdGlvbk5hbWUsIHtcbiAgICAgICAgICAgICAgICBkb2NzUGF0aDogJy9kb2NzL2NvbnRyYWN0L2VuY29kZUZ1bmN0aW9uUmVzdWx0JyxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoYWJpSXRlbS50eXBlICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICB0aHJvdyBuZXcgQWJpRnVuY3Rpb25Ob3RGb3VuZEVycm9yKHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgZG9jc1BhdGg6ICcvZG9jcy9jb250cmFjdC9lbmNvZGVGdW5jdGlvblJlc3VsdCcsXG4gICAgICAgIH0pO1xuICAgIGlmICghYWJpSXRlbS5vdXRwdXRzKVxuICAgICAgICB0aHJvdyBuZXcgQWJpRnVuY3Rpb25PdXRwdXRzTm90Rm91bmRFcnJvcihhYmlJdGVtLm5hbWUsIHsgZG9jc1BhdGggfSk7XG4gICAgbGV0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkocmVzdWx0KSA/IHJlc3VsdCA6IFtyZXN1bHRdO1xuICAgIGlmIChhYmlJdGVtLm91dHB1dHMubGVuZ3RoID09PSAwICYmICF2YWx1ZXNbMF0pXG4gICAgICAgIHZhbHVlcyA9IFtdO1xuICAgIHJldHVybiBlbmNvZGVBYmlQYXJhbWV0ZXJzKGFiaUl0ZW0ub3V0cHV0cywgdmFsdWVzKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZUZ1bmN0aW9uUmVzdWx0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodeFunctionResult.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/encodePacked.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/encodePacked.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodePacked: function() { return /* binding */ encodePacked; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../regex.js */ \"./node_modules/viem/dist/esm/utils/regex.js\");\n\n\n\n\n\n\n\nfunction encodePacked(types, values) {\n if (types.length !== values.length)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.AbiEncodingLengthMismatchError({\n expectedLength: types.length,\n givenLength: values.length,\n });\n const data = [];\n for (let i = 0; i < types.length; i++) {\n const type = types[i];\n const value = values[i];\n data.push(encode(type, value));\n }\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_1__.concat)(data);\n}\nfunction encode(type, value, isArray = false) {\n if (type === 'address') {\n const address = value;\n if (!(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_2__.isAddress)(address))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_3__.InvalidAddressError({ address });\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_4__.pad)(address.toLowerCase(), {\n size: isArray ? 32 : null,\n });\n }\n if (type === 'string')\n return (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_5__.stringToHex)(value);\n if (type === 'bytes')\n return value;\n if (type === 'bool')\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_4__.pad)((0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_5__.boolToHex)(value), { size: isArray ? 32 : 1 });\n const intMatch = type.match(_regex_js__WEBPACK_IMPORTED_MODULE_6__.integerRegex);\n if (intMatch) {\n const [_type, baseType, bits = '256'] = intMatch;\n const size = parseInt(bits) / 8;\n return (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_5__.numberToHex)(value, {\n size: isArray ? 32 : size,\n signed: baseType === 'int',\n });\n }\n const bytesMatch = type.match(_regex_js__WEBPACK_IMPORTED_MODULE_6__.bytesRegex);\n if (bytesMatch) {\n const [_type, size] = bytesMatch;\n if (parseInt(size) !== (value.length - 2) / 2)\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.BytesSizeMismatchError({\n expectedSize: parseInt(size),\n givenSize: (value.length - 2) / 2,\n });\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_4__.pad)(value, { dir: 'right', size: isArray ? 32 : null });\n }\n const arrayMatch = type.match(_regex_js__WEBPACK_IMPORTED_MODULE_6__.arrayRegex);\n if (arrayMatch && Array.isArray(value)) {\n const [_type, childType] = arrayMatch;\n const data = [];\n for (let i = 0; i < value.length; i++) {\n data.push(encode(childType, value[i], true));\n }\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_1__.concat)(data);\n }\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.UnsupportedPackedAbiType(type);\n}\n//# sourceMappingURL=encodePacked.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZW5jb2RlUGFja2VkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQXdIO0FBQzFEO0FBQ1Y7QUFDVDtBQUNOO0FBQ3NDO0FBQ1I7QUFDNUQ7QUFDUDtBQUNBLGtCQUFrQiwwRUFBOEI7QUFDaEQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHVEQUFNO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxnRUFBUztBQUN0QixzQkFBc0IsbUVBQW1CLEdBQUcsU0FBUztBQUNyRCxlQUFlLGlEQUFHO0FBQ2xCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxlQUFlLCtEQUFXO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaURBQUcsQ0FBQyw2REFBUyxXQUFXLHdCQUF3QjtBQUMvRCxnQ0FBZ0MsbURBQVk7QUFDNUM7QUFDQTtBQUNBO0FBQ0EsZUFBZSwrREFBVztBQUMxQjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esa0NBQWtDLGlEQUFVO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRUFBc0I7QUFDNUM7QUFDQTtBQUNBLGFBQWE7QUFDYixlQUFlLGlEQUFHLFVBQVUseUNBQXlDO0FBQ3JFO0FBQ0Esa0NBQWtDLGlEQUFVO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTtBQUNBLGVBQWUsdURBQU07QUFDckI7QUFDQSxjQUFjLG9FQUF3QjtBQUN0QztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2FiaS9lbmNvZGVQYWNrZWQuanM/YWM2MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYmlFbmNvZGluZ0xlbmd0aE1pc21hdGNoRXJyb3IsIEJ5dGVzU2l6ZU1pc21hdGNoRXJyb3IsIFVuc3VwcG9ydGVkUGFja2VkQWJpVHlwZSwgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWJpLmpzJztcbmltcG9ydCB7IEludmFsaWRBZGRyZXNzRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWRkcmVzcy5qcyc7XG5pbXBvcnQgeyBpc0FkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzL2lzQWRkcmVzcy5qcyc7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuLi9kYXRhL2NvbmNhdC5qcyc7XG5pbXBvcnQgeyBwYWQgfSBmcm9tICcuLi9kYXRhL3BhZC5qcyc7XG5pbXBvcnQgeyBib29sVG9IZXgsIG51bWJlclRvSGV4LCBzdHJpbmdUb0hleCB9IGZyb20gJy4uL2VuY29kaW5nL3RvSGV4LmpzJztcbmltcG9ydCB7IGFycmF5UmVnZXgsIGJ5dGVzUmVnZXgsIGludGVnZXJSZWdleCB9IGZyb20gJy4uL3JlZ2V4LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVQYWNrZWQodHlwZXMsIHZhbHVlcykge1xuICAgIGlmICh0eXBlcy5sZW5ndGggIT09IHZhbHVlcy5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBBYmlFbmNvZGluZ0xlbmd0aE1pc21hdGNoRXJyb3Ioe1xuICAgICAgICAgICAgZXhwZWN0ZWRMZW5ndGg6IHR5cGVzLmxlbmd0aCxcbiAgICAgICAgICAgIGdpdmVuTGVuZ3RoOiB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBkYXRhID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB0eXBlID0gdHlwZXNbaV07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzW2ldO1xuICAgICAgICBkYXRhLnB1c2goZW5jb2RlKHR5cGUsIHZhbHVlKSk7XG4gICAgfVxuICAgIHJldHVybiBjb25jYXQoZGF0YSk7XG59XG5mdW5jdGlvbiBlbmNvZGUodHlwZSwgdmFsdWUsIGlzQXJyYXkgPSBmYWxzZSkge1xuICAgIGlmICh0eXBlID09PSAnYWRkcmVzcycpIHtcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9IHZhbHVlO1xuICAgICAgICBpZiAoIWlzQWRkcmVzcyhhZGRyZXNzKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzcyB9KTtcbiAgICAgICAgcmV0dXJuIHBhZChhZGRyZXNzLnRvTG93ZXJDYXNlKCksIHtcbiAgICAgICAgICAgIHNpemU6IGlzQXJyYXkgPyAzMiA6IG51bGwsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiBzdHJpbmdUb0hleCh2YWx1ZSk7XG4gICAgaWYgKHR5cGUgPT09ICdieXRlcycpXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICBpZiAodHlwZSA9PT0gJ2Jvb2wnKVxuICAgICAgICByZXR1cm4gcGFkKGJvb2xUb0hleCh2YWx1ZSksIHsgc2l6ZTogaXNBcnJheSA/IDMyIDogMSB9KTtcbiAgICBjb25zdCBpbnRNYXRjaCA9IHR5cGUubWF0Y2goaW50ZWdlclJlZ2V4KTtcbiAgICBpZiAoaW50TWF0Y2gpIHtcbiAgICAgICAgY29uc3QgW190eXBlLCBiYXNlVHlwZSwgYml0cyA9ICcyNTYnXSA9IGludE1hdGNoO1xuICAgICAgICBjb25zdCBzaXplID0gcGFyc2VJbnQoYml0cykgLyA4O1xuICAgICAgICByZXR1cm4gbnVtYmVyVG9IZXgodmFsdWUsIHtcbiAgICAgICAgICAgIHNpemU6IGlzQXJyYXkgPyAzMiA6IHNpemUsXG4gICAgICAgICAgICBzaWduZWQ6IGJhc2VUeXBlID09PSAnaW50JyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGJ5dGVzTWF0Y2ggPSB0eXBlLm1hdGNoKGJ5dGVzUmVnZXgpO1xuICAgIGlmIChieXRlc01hdGNoKSB7XG4gICAgICAgIGNvbnN0IFtfdHlwZSwgc2l6ZV0gPSBieXRlc01hdGNoO1xuICAgICAgICBpZiAocGFyc2VJbnQoc2l6ZSkgIT09ICh2YWx1ZS5sZW5ndGggLSAyKSAvIDIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgQnl0ZXNTaXplTWlzbWF0Y2hFcnJvcih7XG4gICAgICAgICAgICAgICAgZXhwZWN0ZWRTaXplOiBwYXJzZUludChzaXplKSxcbiAgICAgICAgICAgICAgICBnaXZlblNpemU6ICh2YWx1ZS5sZW5ndGggLSAyKSAvIDIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBhZCh2YWx1ZSwgeyBkaXI6ICdyaWdodCcsIHNpemU6IGlzQXJyYXkgPyAzMiA6IG51bGwgfSk7XG4gICAgfVxuICAgIGNvbnN0IGFycmF5TWF0Y2ggPSB0eXBlLm1hdGNoKGFycmF5UmVnZXgpO1xuICAgIGlmIChhcnJheU1hdGNoICYmIEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IFtfdHlwZSwgY2hpbGRUeXBlXSA9IGFycmF5TWF0Y2g7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZGF0YS5wdXNoKGVuY29kZShjaGlsZFR5cGUsIHZhbHVlW2ldLCB0cnVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbmNhdChkYXRhKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkUGFja2VkQWJpVHlwZSh0eXBlKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZVBhY2tlZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/encodePacked.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatAbiItem: function() { return /* binding */ formatAbiItem; },\n/* harmony export */ formatAbiParams: function() { return /* binding */ formatAbiParams; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n\nfunction formatAbiItem(abiItem, { includeName = false } = {}) {\n if (abiItem.type !== 'function' &&\n abiItem.type !== 'event' &&\n abiItem.type !== 'error')\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_0__.InvalidDefinitionTypeError(abiItem.type);\n return `${abiItem.name}(${formatAbiParams(abiItem.inputs, { includeName })})`;\n}\nfunction formatAbiParams(params, { includeName = false } = {}) {\n if (!params)\n return '';\n return params\n .map((param) => formatAbiParam(param, { includeName }))\n .join(includeName ? ', ' : ',');\n}\nfunction formatAbiParam(param, { includeName }) {\n if (param.type.startsWith('tuple')) {\n return `(${formatAbiParams(param.components, { includeName })})${param.type.slice('tuple'.length)}`;\n }\n return param.type + (includeName && param.name ? ` ${param.name}` : '');\n}\n//# sourceMappingURL=formatAbiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZm9ybWF0QWJpSXRlbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBaUU7QUFDMUQsa0NBQWtDLHNCQUFzQixJQUFJO0FBQ25FO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixzRUFBMEI7QUFDNUMsY0FBYyxhQUFhLEdBQUcsa0NBQWtDLGFBQWEsRUFBRTtBQUMvRTtBQUNPLG1DQUFtQyxzQkFBc0IsSUFBSTtBQUNwRTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsYUFBYTtBQUM3RDtBQUNBO0FBQ0EsaUNBQWlDLGFBQWE7QUFDOUM7QUFDQSxtQkFBbUIsb0NBQW9DLGFBQWEsRUFBRSxHQUFHLGlDQUFpQztBQUMxRztBQUNBLHlEQUF5RCxXQUFXO0FBQ3BFO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWJpL2Zvcm1hdEFiaUl0ZW0uanM/MTE1NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkRGVmaW5pdGlvblR5cGVFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hYmkuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEFiaUl0ZW0oYWJpSXRlbSwgeyBpbmNsdWRlTmFtZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIGlmIChhYmlJdGVtLnR5cGUgIT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgYWJpSXRlbS50eXBlICE9PSAnZXZlbnQnICYmXG4gICAgICAgIGFiaUl0ZW0udHlwZSAhPT0gJ2Vycm9yJylcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWREZWZpbml0aW9uVHlwZUVycm9yKGFiaUl0ZW0udHlwZSk7XG4gICAgcmV0dXJuIGAke2FiaUl0ZW0ubmFtZX0oJHtmb3JtYXRBYmlQYXJhbXMoYWJpSXRlbS5pbnB1dHMsIHsgaW5jbHVkZU5hbWUgfSl9KWA7XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QWJpUGFyYW1zKHBhcmFtcywgeyBpbmNsdWRlTmFtZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIGlmICghcGFyYW1zKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgcmV0dXJuIHBhcmFtc1xuICAgICAgICAubWFwKChwYXJhbSkgPT4gZm9ybWF0QWJpUGFyYW0ocGFyYW0sIHsgaW5jbHVkZU5hbWUgfSkpXG4gICAgICAgIC5qb2luKGluY2x1ZGVOYW1lID8gJywgJyA6ICcsJyk7XG59XG5mdW5jdGlvbiBmb3JtYXRBYmlQYXJhbShwYXJhbSwgeyBpbmNsdWRlTmFtZSB9KSB7XG4gICAgaWYgKHBhcmFtLnR5cGUuc3RhcnRzV2l0aCgndHVwbGUnKSkge1xuICAgICAgICByZXR1cm4gYCgke2Zvcm1hdEFiaVBhcmFtcyhwYXJhbS5jb21wb25lbnRzLCB7IGluY2x1ZGVOYW1lIH0pfSkke3BhcmFtLnR5cGUuc2xpY2UoJ3R1cGxlJy5sZW5ndGgpfWA7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbS50eXBlICsgKGluY2x1ZGVOYW1lICYmIHBhcmFtLm5hbWUgPyBgICR7cGFyYW0ubmFtZX1gIDogJycpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0QWJpSXRlbS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/formatAbiItemWithArgs.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/formatAbiItemWithArgs.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatAbiItemWithArgs: function() { return /* binding */ formatAbiItemWithArgs; }\n/* harmony export */ });\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n\nfunction formatAbiItemWithArgs({ abiItem, args, includeFunctionName = true, includeName = false, }) {\n if (!('name' in abiItem))\n return;\n if (!('inputs' in abiItem))\n return;\n if (!abiItem.inputs)\n return;\n return `${includeFunctionName ? abiItem.name : ''}(${abiItem.inputs\n .map((input, i) => `${includeName && input.name ? `${input.name}: ` : ''}${typeof args[i] === 'object' ? (0,_stringify_js__WEBPACK_IMPORTED_MODULE_0__.stringify)(args[i]) : args[i]}`)\n .join(', ')})`;\n}\n//# sourceMappingURL=formatAbiItemWithArgs.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTRDO0FBQ3JDLGlDQUFpQyxpRUFBaUU7QUFDekc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyx3Q0FBd0MsR0FBRztBQUN6RCw4QkFBOEIsK0JBQStCLFdBQVcsU0FBUyxFQUFFLDhCQUE4Qix3REFBUyxvQkFBb0I7QUFDOUksb0JBQW9CO0FBQ3BCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWJpL2Zvcm1hdEFiaUl0ZW1XaXRoQXJncy5qcz9hMGIwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJy4uL3N0cmluZ2lmeS5qcyc7XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QWJpSXRlbVdpdGhBcmdzKHsgYWJpSXRlbSwgYXJncywgaW5jbHVkZUZ1bmN0aW9uTmFtZSA9IHRydWUsIGluY2x1ZGVOYW1lID0gZmFsc2UsIH0pIHtcbiAgICBpZiAoISgnbmFtZScgaW4gYWJpSXRlbSkpXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAoISgnaW5wdXRzJyBpbiBhYmlJdGVtKSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmICghYWJpSXRlbS5pbnB1dHMpXG4gICAgICAgIHJldHVybjtcbiAgICByZXR1cm4gYCR7aW5jbHVkZUZ1bmN0aW9uTmFtZSA/IGFiaUl0ZW0ubmFtZSA6ICcnfSgke2FiaUl0ZW0uaW5wdXRzXG4gICAgICAgIC5tYXAoKGlucHV0LCBpKSA9PiBgJHtpbmNsdWRlTmFtZSAmJiBpbnB1dC5uYW1lID8gYCR7aW5wdXQubmFtZX06IGAgOiAnJ30ke3R5cGVvZiBhcmdzW2ldID09PSAnb2JqZWN0JyA/IHN0cmluZ2lmeShhcmdzW2ldKSA6IGFyZ3NbaV19YClcbiAgICAgICAgLmpvaW4oJywgJyl9KWA7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXRBYmlJdGVtV2l0aEFyZ3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/formatAbiItemWithArgs.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/abi/getAbiItem.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/abi/getAbiItem.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAbiItem: function() { return /* binding */ getAbiItem; },\n/* harmony export */ isArgOfType: function() { return /* binding */ isArgOfType; }\n/* harmony export */ });\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n\nfunction getAbiItem({ abi, args = [], name, }) {\n const abiItems = abi.filter((x) => 'name' in x && x.name === name);\n if (abiItems.length === 0)\n return undefined;\n if (abiItems.length === 1)\n return abiItems[0];\n for (const abiItem of abiItems) {\n if (!('inputs' in abiItem))\n continue;\n if (!args || args.length === 0) {\n if (!abiItem.inputs || abiItem.inputs.length === 0)\n return abiItem;\n continue;\n }\n if (!abiItem.inputs)\n continue;\n if (abiItem.inputs.length === 0)\n continue;\n if (abiItem.inputs.length !== args.length)\n continue;\n const matched = args.every((arg, index) => {\n const abiParameter = 'inputs' in abiItem && abiItem.inputs[index];\n if (!abiParameter)\n return false;\n return isArgOfType(arg, abiParameter);\n });\n if (matched)\n return abiItem;\n }\n return abiItems[0];\n}\nfunction isArgOfType(arg, abiParameter) {\n const argType = typeof arg;\n const abiParameterType = abiParameter.type;\n switch (abiParameterType) {\n case 'address':\n return (0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_0__.isAddress)(arg);\n case 'bool':\n return argType === 'boolean';\n case 'function':\n return argType === 'string';\n case 'string':\n return argType === 'string';\n default: {\n if (abiParameterType === 'tuple' && 'components' in abiParameter)\n return Object.values(abiParameter.components).every((component, index) => {\n return isArgOfType(Object.values(arg)[index], component);\n });\n // `(u)int<M>`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`\n // https://regexr.com/6v8hp\n if (/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(abiParameterType))\n return argType === 'number' || argType === 'bigint';\n // `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`\n // https://regexr.com/6va55\n if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType))\n return argType === 'string' || arg instanceof Uint8Array;\n // fixed-length (`<type>[M]`) and dynamic (`<type>[]`) arrays\n // https://regexr.com/6va6i\n if (/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(abiParameterType)) {\n return (Array.isArray(arg) &&\n arg.every((x) => isArgOfType(x, {\n ...abiParameter,\n // Pop off `[]` or `[M]` from end of type\n type: abiParameterType.replace(/(\\[[0-9]{0,}\\])$/, ''),\n })));\n }\n return false;\n }\n }\n}\n//# sourceMappingURL=getAbiItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hYmkvZ2V0QWJpSXRlbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBb0Q7QUFDN0Msc0JBQXNCLHVCQUF1QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsZ0VBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsSUFBSSxTQUFTLEdBQUc7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsR0FBRztBQUNwRSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2FiaS9nZXRBYmlJdGVtLmpzP2M3MjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcy9pc0FkZHJlc3MuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFiaUl0ZW0oeyBhYmksIGFyZ3MgPSBbXSwgbmFtZSwgfSkge1xuICAgIGNvbnN0IGFiaUl0ZW1zID0gYWJpLmZpbHRlcigoeCkgPT4gJ25hbWUnIGluIHggJiYgeC5uYW1lID09PSBuYW1lKTtcbiAgICBpZiAoYWJpSXRlbXMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChhYmlJdGVtcy5sZW5ndGggPT09IDEpXG4gICAgICAgIHJldHVybiBhYmlJdGVtc1swXTtcbiAgICBmb3IgKGNvbnN0IGFiaUl0ZW0gb2YgYWJpSXRlbXMpIHtcbiAgICAgICAgaWYgKCEoJ2lucHV0cycgaW4gYWJpSXRlbSkpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKCFhcmdzIHx8IGFyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBpZiAoIWFiaUl0ZW0uaW5wdXRzIHx8IGFiaUl0ZW0uaW5wdXRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICByZXR1cm4gYWJpSXRlbTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYWJpSXRlbS5pbnB1dHMpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGFiaUl0ZW0uaW5wdXRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBpZiAoYWJpSXRlbS5pbnB1dHMubGVuZ3RoICE9PSBhcmdzLmxlbmd0aClcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBtYXRjaGVkID0gYXJncy5ldmVyeSgoYXJnLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWJpUGFyYW1ldGVyID0gJ2lucHV0cycgaW4gYWJpSXRlbSAmJiBhYmlJdGVtLmlucHV0c1tpbmRleF07XG4gICAgICAgICAgICBpZiAoIWFiaVBhcmFtZXRlcilcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gaXNBcmdPZlR5cGUoYXJnLCBhYmlQYXJhbWV0ZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG1hdGNoZWQpXG4gICAgICAgICAgICByZXR1cm4gYWJpSXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIGFiaUl0ZW1zWzBdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJnT2ZUeXBlKGFyZywgYWJpUGFyYW1ldGVyKSB7XG4gICAgY29uc3QgYXJnVHlwZSA9IHR5cGVvZiBhcmc7XG4gICAgY29uc3QgYWJpUGFyYW1ldGVyVHlwZSA9IGFiaVBhcmFtZXRlci50eXBlO1xuICAgIHN3aXRjaCAoYWJpUGFyYW1ldGVyVHlwZSkge1xuICAgICAgICBjYXNlICdhZGRyZXNzJzpcbiAgICAgICAgICAgIHJldHVybiBpc0FkZHJlc3MoYXJnKTtcbiAgICAgICAgY2FzZSAnYm9vbCc6XG4gICAgICAgICAgICByZXR1cm4gYXJnVHlwZSA9PT0gJ2Jvb2xlYW4nO1xuICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICByZXR1cm4gYXJnVHlwZSA9PT0gJ3N0cmluZyc7XG4gICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICByZXR1cm4gYXJnVHlwZSA9PT0gJ3N0cmluZyc7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGlmIChhYmlQYXJhbWV0ZXJUeXBlID09PSAndHVwbGUnICYmICdjb21wb25lbnRzJyBpbiBhYmlQYXJhbWV0ZXIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoYWJpUGFyYW1ldGVyLmNvbXBvbmVudHMpLmV2ZXJ5KChjb21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpc0FyZ09mVHlwZShPYmplY3QudmFsdWVzKGFyZylbaW5kZXhdLCBjb21wb25lbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gYCh1KWludDxNPmA6ICh1bilzaWduZWQgaW50ZWdlciB0eXBlIG9mIGBNYCBiaXRzLCBgMCA8IE0gPD0gMjU2YCwgYE0gJSA4ID09IDBgXG4gICAgICAgICAgICAvLyBodHRwczovL3JlZ2V4ci5jb20vNnY4aHBcbiAgICAgICAgICAgIGlmICgvXnU/aW50KDh8MTZ8MjR8MzJ8NDB8NDh8NTZ8NjR8NzJ8ODB8ODh8OTZ8MTA0fDExMnwxMjB8MTI4fDEzNnwxNDR8MTUyfDE2MHwxNjh8MTc2fDE4NHwxOTJ8MjAwfDIwOHwyMTZ8MjI0fDIzMnwyNDB8MjQ4fDI1Nik/JC8udGVzdChhYmlQYXJhbWV0ZXJUeXBlKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJnVHlwZSA9PT0gJ251bWJlcicgfHwgYXJnVHlwZSA9PT0gJ2JpZ2ludCc7XG4gICAgICAgICAgICAvLyBgYnl0ZXM8TT5gOiBiaW5hcnkgdHlwZSBvZiBgTWAgYnl0ZXMsIGAwIDwgTSA8PSAzMmBcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vcmVnZXhyLmNvbS82dmE1NVxuICAgICAgICAgICAgaWYgKC9eYnl0ZXMoWzEtOV18MVswLTldfDJbMC05XXwzWzAtMl0pPyQvLnRlc3QoYWJpUGFyYW1ldGVyVHlwZSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFyZ1R5cGUgPT09ICdzdHJpbmcnIHx8IGFyZyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk7XG4gICAgICAgICAgICAvLyBmaXhlZC1sZW5ndGggKGA8dHlwZT5bTV1gKSBhbmQgZHluYW1pYyAoYDx0eXBlPltdYCkgYXJyYXlzXG4gICAgICAgICAgICAvLyBodHRwczovL3JlZ2V4ci5jb20vNnZhNmlcbiAgICAgICAgICAgIGlmICgvW2Etel0rWzEtOV17MCwzfShcXFtbMC05XXswLH1cXF0pKyQvLnRlc3QoYWJpUGFyYW1ldGVyVHlwZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoYXJnKSAmJlxuICAgICAgICAgICAgICAgICAgICBhcmcuZXZlcnkoKHgpID0+IGlzQXJnT2ZUeXBlKHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFiaVBhcmFtZXRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBvcCBvZmYgYFtdYCBvciBgW01dYCBmcm9tIGVuZCBvZiB0eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBhYmlQYXJhbWV0ZXJUeXBlLnJlcGxhY2UoLyhcXFtbMC05XXswLH1cXF0pJC8sICcnKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEFiaUl0ZW0uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/address/getAddress.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/address/getAddress.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ checksumAddress: function() { return /* binding */ checksumAddress; },\n/* harmony export */ getAddress: function() { return /* binding */ getAddress; }\n/* harmony export */ });\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _isAddress_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n\n\n\n\nfunction checksumAddress(address_, chainId) {\n const hexAddress = chainId\n ? `${chainId}${address_.toLowerCase()}`\n : address_.substring(2).toLowerCase();\n const hash = (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_0__.keccak256)((0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_1__.stringToBytes)(hexAddress), 'bytes');\n const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n for (let i = 0; i < 40; i += 2) {\n if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n address[i] = address[i].toUpperCase();\n }\n if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n address[i + 1] = address[i + 1].toUpperCase();\n }\n }\n return `0x${address.join('')}`;\n}\nfunction getAddress(address, chainId) {\n if (!(0,_isAddress_js__WEBPACK_IMPORTED_MODULE_2__.isAddress)(address))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_3__.InvalidAddressError({ address });\n return checksumAddress(address, chainId);\n}\n//# sourceMappingURL=getAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hZGRyZXNzL2dldEFkZHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQThEO0FBQ1A7QUFDTjtBQUNOO0FBQ3BDO0FBQ1A7QUFDQSxhQUFhLFFBQVEsRUFBRSx1QkFBdUI7QUFDOUM7QUFDQSxpQkFBaUIsNkRBQVMsQ0FBQyxtRUFBYTtBQUN4Qyx1REFBdUQsUUFBUTtBQUMvRCxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixpQkFBaUI7QUFDakM7QUFDTztBQUNQLFNBQVMsd0RBQVM7QUFDbEIsa0JBQWtCLG1FQUFtQixHQUFHLFNBQVM7QUFDakQ7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2FkZHJlc3MvZ2V0QWRkcmVzcy5qcz8wNGM2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRBZGRyZXNzRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWRkcmVzcy5qcyc7XG5pbXBvcnQgeyBzdHJpbmdUb0J5dGVzIH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9CeXRlcy5qcyc7XG5pbXBvcnQgeyBrZWNjYWsyNTYgfSBmcm9tICcuLi9oYXNoL2tlY2NhazI1Ni5qcyc7XG5pbXBvcnQgeyBpc0FkZHJlc3MgfSBmcm9tICcuL2lzQWRkcmVzcy5qcyc7XG5leHBvcnQgZnVuY3Rpb24gY2hlY2tzdW1BZGRyZXNzKGFkZHJlc3NfLCBjaGFpbklkKSB7XG4gICAgY29uc3QgaGV4QWRkcmVzcyA9IGNoYWluSWRcbiAgICAgICAgPyBgJHtjaGFpbklkfSR7YWRkcmVzc18udG9Mb3dlckNhc2UoKX1gXG4gICAgICAgIDogYWRkcmVzc18uc3Vic3RyaW5nKDIpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgaGFzaCA9IGtlY2NhazI1NihzdHJpbmdUb0J5dGVzKGhleEFkZHJlc3MpLCAnYnl0ZXMnKTtcbiAgICBjb25zdCBhZGRyZXNzID0gKGNoYWluSWQgPyBoZXhBZGRyZXNzLnN1YnN0cmluZyhgJHtjaGFpbklkfTB4YC5sZW5ndGgpIDogaGV4QWRkcmVzcykuc3BsaXQoJycpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDA7IGkgKz0gMikge1xuICAgICAgICBpZiAoaGFzaFtpID4+IDFdID4+IDQgPj0gOCAmJiBhZGRyZXNzW2ldKSB7XG4gICAgICAgICAgICBhZGRyZXNzW2ldID0gYWRkcmVzc1tpXS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgoaGFzaFtpID4+IDFdICYgMHgwZikgPj0gOCAmJiBhZGRyZXNzW2kgKyAxXSkge1xuICAgICAgICAgICAgYWRkcmVzc1tpICsgMV0gPSBhZGRyZXNzW2kgKyAxXS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgMHgke2FkZHJlc3Muam9pbignJyl9YDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZGRyZXNzKGFkZHJlc3MsIGNoYWluSWQpIHtcbiAgICBpZiAoIWlzQWRkcmVzcyhhZGRyZXNzKSlcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzIH0pO1xuICAgIHJldHVybiBjaGVja3N1bUFkZHJlc3MoYWRkcmVzcywgY2hhaW5JZCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRBZGRyZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/address/getAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/address/getContractAddress.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/address/getContractAddress.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getContractAddress: function() { return /* binding */ getContractAddress; },\n/* harmony export */ getCreate2Address: function() { return /* binding */ getCreate2Address; },\n/* harmony export */ getCreateAddress: function() { return /* binding */ getCreateAddress; }\n/* harmony export */ });\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _data_isBytes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/isBytes.js */ \"./node_modules/viem/dist/esm/utils/data/isBytes.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../encoding/toRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/toRlp.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _getAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n\n\n\n\n\n\n\n\nfunction getContractAddress(opts) {\n if (opts.opcode === 'CREATE2')\n return getCreate2Address(opts);\n return getCreateAddress(opts);\n}\nfunction getCreateAddress(opts) {\n const from = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)((0,_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.getAddress)(opts.from));\n let nonce = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(opts.nonce);\n if (nonce[0] === 0)\n nonce = new Uint8Array([]);\n return (0,_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.getAddress)(`0x${(0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)((0,_encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_3__.toRlp)([from, nonce], 'bytes')).slice(26)}`);\n}\nfunction getCreate2Address(opts) {\n const from = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)((0,_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.getAddress)(opts.from));\n const salt = (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_4__.pad)((0,_data_isBytes_js__WEBPACK_IMPORTED_MODULE_5__.isBytes)(opts.salt) ? opts.salt : (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(opts.salt), {\n size: 32,\n });\n const bytecodeHash = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)((0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(((0,_data_isBytes_js__WEBPACK_IMPORTED_MODULE_5__.isBytes)(opts.bytecode)\n ? opts.bytecode\n : (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(opts.bytecode))));\n return (0,_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.getAddress)((0,_data_slice_js__WEBPACK_IMPORTED_MODULE_6__.slice)((0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)((0,_data_concat_js__WEBPACK_IMPORTED_MODULE_7__.concat)([(0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)('0xff'), from, salt, bytecodeHash])), 12));\n}\n//# sourceMappingURL=getContractAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hZGRyZXNzL2dldENvbnRyYWN0QWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUEyQztBQUNFO0FBQ1I7QUFDSTtBQUNRO0FBQ0o7QUFDSTtBQUNKO0FBQ3RDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGlCQUFpQiw2REFBTyxDQUFDLDBEQUFVO0FBQ25DLGdCQUFnQiw2REFBTztBQUN2QjtBQUNBO0FBQ0EsV0FBVywwREFBVSxNQUFNLDZEQUFTLENBQUMseURBQUssb0NBQW9DO0FBQzlFO0FBQ087QUFDUCxpQkFBaUIsNkRBQU8sQ0FBQywwREFBVTtBQUNuQyxpQkFBaUIsaURBQUcsQ0FBQyx5REFBTywwQkFBMEIsNkRBQU87QUFDN0Q7QUFDQSxLQUFLO0FBQ0wseUJBQXlCLDZEQUFPLENBQUMsNkRBQVMsRUFBRSx5REFBTztBQUNuRDtBQUNBLFVBQVUsNkRBQU87QUFDakIsV0FBVywwREFBVSxDQUFDLHFEQUFLLENBQUMsNkRBQVMsQ0FBQyx1REFBTSxFQUFFLDZEQUFPO0FBQ3JEO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWRkcmVzcy9nZXRDb250cmFjdEFkZHJlc3MuanM/MTcxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuLi9kYXRhL2NvbmNhdC5qcyc7XG5pbXBvcnQgeyBpc0J5dGVzIH0gZnJvbSAnLi4vZGF0YS9pc0J5dGVzLmpzJztcbmltcG9ydCB7IHBhZCB9IGZyb20gJy4uL2RhdGEvcGFkLmpzJztcbmltcG9ydCB7IHNsaWNlIH0gZnJvbSAnLi4vZGF0YS9zbGljZS5qcyc7XG5pbXBvcnQgeyB0b0J5dGVzIH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9CeXRlcy5qcyc7XG5pbXBvcnQgeyB0b1JscCB9IGZyb20gJy4uL2VuY29kaW5nL3RvUmxwLmpzJztcbmltcG9ydCB7IGtlY2NhazI1NiB9IGZyb20gJy4uL2hhc2gva2VjY2FrMjU2LmpzJztcbmltcG9ydCB7IGdldEFkZHJlc3MgfSBmcm9tICcuL2dldEFkZHJlc3MuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRyYWN0QWRkcmVzcyhvcHRzKSB7XG4gICAgaWYgKG9wdHMub3Bjb2RlID09PSAnQ1JFQVRFMicpXG4gICAgICAgIHJldHVybiBnZXRDcmVhdGUyQWRkcmVzcyhvcHRzKTtcbiAgICByZXR1cm4gZ2V0Q3JlYXRlQWRkcmVzcyhvcHRzKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRDcmVhdGVBZGRyZXNzKG9wdHMpIHtcbiAgICBjb25zdCBmcm9tID0gdG9CeXRlcyhnZXRBZGRyZXNzKG9wdHMuZnJvbSkpO1xuICAgIGxldCBub25jZSA9IHRvQnl0ZXMob3B0cy5ub25jZSk7XG4gICAgaWYgKG5vbmNlWzBdID09PSAwKVxuICAgICAgICBub25jZSA9IG5ldyBVaW50OEFycmF5KFtdKTtcbiAgICByZXR1cm4gZ2V0QWRkcmVzcyhgMHgke2tlY2NhazI1Nih0b1JscChbZnJvbSwgbm9uY2VdLCAnYnl0ZXMnKSkuc2xpY2UoMjYpfWApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldENyZWF0ZTJBZGRyZXNzKG9wdHMpIHtcbiAgICBjb25zdCBmcm9tID0gdG9CeXRlcyhnZXRBZGRyZXNzKG9wdHMuZnJvbSkpO1xuICAgIGNvbnN0IHNhbHQgPSBwYWQoaXNCeXRlcyhvcHRzLnNhbHQpID8gb3B0cy5zYWx0IDogdG9CeXRlcyhvcHRzLnNhbHQpLCB7XG4gICAgICAgIHNpemU6IDMyLFxuICAgIH0pO1xuICAgIGNvbnN0IGJ5dGVjb2RlSGFzaCA9IHRvQnl0ZXMoa2VjY2FrMjU2KChpc0J5dGVzKG9wdHMuYnl0ZWNvZGUpXG4gICAgICAgID8gb3B0cy5ieXRlY29kZVxuICAgICAgICA6IHRvQnl0ZXMob3B0cy5ieXRlY29kZSkpKSk7XG4gICAgcmV0dXJuIGdldEFkZHJlc3Moc2xpY2Uoa2VjY2FrMjU2KGNvbmNhdChbdG9CeXRlcygnMHhmZicpLCBmcm9tLCBzYWx0LCBieXRlY29kZUhhc2hdKSksIDEyKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRDb250cmFjdEFkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/address/getContractAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/address/isAddress.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/address/isAddress.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAddress: function() { return /* binding */ isAddress; }\n/* harmony export */ });\nconst addressRegex = /^0x[a-fA-F0-9]{40}$/;\nfunction isAddress(address) {\n return addressRegex.test(address);\n}\n//# sourceMappingURL=isAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hZGRyZXNzL2lzQWRkcmVzcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEscUNBQXFDLEdBQUc7QUFDakM7QUFDUDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWRkcmVzcy9pc0FkZHJlc3MuanM/NGY2OCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBhZGRyZXNzUmVnZXggPSAvXjB4W2EtZkEtRjAtOV17NDB9JC87XG5leHBvcnQgZnVuY3Rpb24gaXNBZGRyZXNzKGFkZHJlc3MpIHtcbiAgICByZXR1cm4gYWRkcmVzc1JlZ2V4LnRlc3QoYWRkcmVzcyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0FkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/address/isAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/address/isAddressEqual.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/address/isAddressEqual.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isAddressEqual: function() { return /* binding */ isAddressEqual; }\n/* harmony export */ });\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _isAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n\n\nfunction isAddressEqual(a, b) {\n if (!(0,_isAddress_js__WEBPACK_IMPORTED_MODULE_0__.isAddress)(a))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_1__.InvalidAddressError({ address: a });\n if (!(0,_isAddress_js__WEBPACK_IMPORTED_MODULE_0__.isAddress)(b))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_1__.InvalidAddressError({ address: b });\n return a.toLowerCase() === b.toLowerCase();\n}\n//# sourceMappingURL=isAddressEqual.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9hZGRyZXNzL2lzQWRkcmVzc0VxdWFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE4RDtBQUNuQjtBQUNwQztBQUNQLFNBQVMsd0RBQVM7QUFDbEIsa0JBQWtCLG1FQUFtQixHQUFHLFlBQVk7QUFDcEQsU0FBUyx3REFBUztBQUNsQixrQkFBa0IsbUVBQW1CLEdBQUcsWUFBWTtBQUNwRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYWRkcmVzcy9pc0FkZHJlc3NFcXVhbC5qcz82NmFkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRBZGRyZXNzRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvYWRkcmVzcy5qcyc7XG5pbXBvcnQgeyBpc0FkZHJlc3MgfSBmcm9tICcuL2lzQWRkcmVzcy5qcyc7XG5leHBvcnQgZnVuY3Rpb24gaXNBZGRyZXNzRXF1YWwoYSwgYikge1xuICAgIGlmICghaXNBZGRyZXNzKGEpKVxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3M6IGEgfSk7XG4gICAgaWYgKCFpc0FkZHJlc3MoYikpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogYiB9KTtcbiAgICByZXR1cm4gYS50b0xvd2VyQ2FzZSgpID09PSBiLnRvTG93ZXJDYXNlKCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0FkZHJlc3NFcXVhbC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/address/isAddressEqual.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/buildRequest.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/buildRequest.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ buildRequest: function() { return /* binding */ buildRequest; },\n/* harmony export */ isDeterministicError: function() { return /* binding */ isDeterministicError; }\n/* harmony export */ });\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors/rpc.js */ \"./node_modules/viem/dist/esm/errors/rpc.js\");\n/* harmony import */ var _promise_withRetry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./promise/withRetry.js */ \"./node_modules/viem/dist/esm/utils/promise/withRetry.js\");\n\n\n\n\nconst isDeterministicError = (error) => {\n if ('code' in error)\n return (error.code !== -1 &&\n error.code !== -32004 &&\n error.code !== -32005 &&\n error.code !== -32042 &&\n error.code !== -32603);\n if (error instanceof _errors_request_js__WEBPACK_IMPORTED_MODULE_0__.HttpRequestError && error.status)\n return (error.status !== 403 &&\n error.status !== 408 &&\n error.status !== 413 &&\n error.status !== 429 &&\n error.status !== 500 &&\n error.status !== 502 &&\n error.status !== 503 &&\n error.status !== 504);\n return false;\n};\nfunction buildRequest(request, { retryDelay = 150, retryCount = 3, } = {}) {\n return (async (args) => (0,_promise_withRetry_js__WEBPACK_IMPORTED_MODULE_1__.withRetry)(async () => {\n try {\n return await request(args);\n }\n catch (err_) {\n const err = err_;\n switch (err.code) {\n // -32700\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ParseRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ParseRpcError(err);\n // -32600\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InvalidRequestRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InvalidRequestRpcError(err);\n // -32601\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.MethodNotFoundRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.MethodNotFoundRpcError(err);\n // -32602\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InvalidParamsRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InvalidParamsRpcError(err);\n // -32603\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InternalRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InternalRpcError(err);\n // -32000\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InvalidInputRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.InvalidInputRpcError(err);\n // -32001\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ResourceNotFoundRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ResourceNotFoundRpcError(err);\n // -32002\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ResourceUnavailableRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ResourceUnavailableRpcError(err);\n // -32003\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.TransactionRejectedRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.TransactionRejectedRpcError(err);\n // -32004\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.MethodNotSupportedRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.MethodNotSupportedRpcError(err);\n // -32005\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.LimitExceededRpcError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.LimitExceededRpcError(err);\n // -32006\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.JsonRpcVersionUnsupportedError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.JsonRpcVersionUnsupportedError(err);\n // 4001\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UserRejectedRequestError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UserRejectedRequestError(err);\n // 4100\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UnauthorizedProviderError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UnauthorizedProviderError(err);\n // 4200\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UnsupportedProviderMethodError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UnsupportedProviderMethodError(err);\n // 4900\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ProviderDisconnectedError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ProviderDisconnectedError(err);\n // 4901\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ChainDisconnectedError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.ChainDisconnectedError(err);\n // 4902\n case _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.SwitchChainError.code:\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.SwitchChainError(err);\n default:\n if (err_ instanceof _errors_base_js__WEBPACK_IMPORTED_MODULE_3__.BaseError)\n throw err_;\n throw new _errors_rpc_js__WEBPACK_IMPORTED_MODULE_2__.UnknownRpcError(err);\n }\n }\n }, {\n delay: ({ count, error }) => {\n // If we find a Retry-After header, let's retry after the given time.\n if (error && error instanceof _errors_request_js__WEBPACK_IMPORTED_MODULE_0__.HttpRequestError) {\n const retryAfter = error?.headers?.get('Retry-After');\n if (retryAfter?.match(/\\d/))\n return parseInt(retryAfter) * 1000;\n }\n // Otherwise, let's retry with an exponential backoff.\n return ~~(1 << count) * retryDelay;\n },\n retryCount,\n shouldRetry: ({ error }) => !isDeterministicError(error),\n }));\n}\n//# sourceMappingURL=buildRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9idWlsZFJlcXVlc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQThDO0FBQ1U7QUFDMmI7QUFDaGM7QUFDNUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsZ0VBQWdCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08saUNBQWlDLG9DQUFvQyxJQUFJO0FBQ2hGLDRCQUE0QixnRUFBUztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQix5REFBYTtBQUNsQyw4QkFBOEIseURBQWE7QUFDM0M7QUFDQSxxQkFBcUIsa0VBQXNCO0FBQzNDLDhCQUE4QixrRUFBc0I7QUFDcEQ7QUFDQSxxQkFBcUIsa0VBQXNCO0FBQzNDLDhCQUE4QixrRUFBc0I7QUFDcEQ7QUFDQSxxQkFBcUIsaUVBQXFCO0FBQzFDLDhCQUE4QixpRUFBcUI7QUFDbkQ7QUFDQSxxQkFBcUIsNERBQWdCO0FBQ3JDLDhCQUE4Qiw0REFBZ0I7QUFDOUM7QUFDQSxxQkFBcUIsZ0VBQW9CO0FBQ3pDLDhCQUE4QixnRUFBb0I7QUFDbEQ7QUFDQSxxQkFBcUIsb0VBQXdCO0FBQzdDLDhCQUE4QixvRUFBd0I7QUFDdEQ7QUFDQSxxQkFBcUIsdUVBQTJCO0FBQ2hELDhCQUE4Qix1RUFBMkI7QUFDekQ7QUFDQSxxQkFBcUIsdUVBQTJCO0FBQ2hELDhCQUE4Qix1RUFBMkI7QUFDekQ7QUFDQSxxQkFBcUIsc0VBQTBCO0FBQy9DLDhCQUE4QixzRUFBMEI7QUFDeEQ7QUFDQSxxQkFBcUIsaUVBQXFCO0FBQzFDLDhCQUE4QixpRUFBcUI7QUFDbkQ7QUFDQSxxQkFBcUIsMEVBQThCO0FBQ25ELDhCQUE4QiwwRUFBOEI7QUFDNUQ7QUFDQSxxQkFBcUIsb0VBQXdCO0FBQzdDLDhCQUE4QixvRUFBd0I7QUFDdEQ7QUFDQSxxQkFBcUIscUVBQXlCO0FBQzlDLDhCQUE4QixxRUFBeUI7QUFDdkQ7QUFDQSxxQkFBcUIsMEVBQThCO0FBQ25ELDhCQUE4QiwwRUFBOEI7QUFDNUQ7QUFDQSxxQkFBcUIscUVBQXlCO0FBQzlDLDhCQUE4QixxRUFBeUI7QUFDdkQ7QUFDQSxxQkFBcUIsa0VBQXNCO0FBQzNDLDhCQUE4QixrRUFBc0I7QUFDcEQ7QUFDQSxxQkFBcUIsNERBQWdCO0FBQ3JDLDhCQUE4Qiw0REFBZ0I7QUFDOUM7QUFDQSx3Q0FBd0Msc0RBQVM7QUFDakQ7QUFDQSw4QkFBOEIsMkRBQWU7QUFDN0M7QUFDQTtBQUNBLEtBQUs7QUFDTCxrQkFBa0IsY0FBYztBQUNoQztBQUNBLDBDQUEwQyxnRUFBZ0I7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0Esd0JBQXdCLE9BQU87QUFDL0IsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvYnVpbGRSZXF1ZXN0LmpzP2M1OGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL2Jhc2UuanMnO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3RFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9yZXF1ZXN0LmpzJztcbmltcG9ydCB7IENoYWluRGlzY29ubmVjdGVkRXJyb3IsIEludGVybmFsUnBjRXJyb3IsIEludmFsaWRJbnB1dFJwY0Vycm9yLCBJbnZhbGlkUGFyYW1zUnBjRXJyb3IsIEludmFsaWRSZXF1ZXN0UnBjRXJyb3IsIEpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvciwgTGltaXRFeGNlZWRlZFJwY0Vycm9yLCBNZXRob2ROb3RGb3VuZFJwY0Vycm9yLCBNZXRob2ROb3RTdXBwb3J0ZWRScGNFcnJvciwgUGFyc2VScGNFcnJvciwgUHJvdmlkZXJEaXNjb25uZWN0ZWRFcnJvciwgUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yLCBSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IsIFN3aXRjaENoYWluRXJyb3IsIFRyYW5zYWN0aW9uUmVqZWN0ZWRScGNFcnJvciwgVW5hdXRob3JpemVkUHJvdmlkZXJFcnJvciwgVW5rbm93blJwY0Vycm9yLCBVbnN1cHBvcnRlZFByb3ZpZGVyTWV0aG9kRXJyb3IsIFVzZXJSZWplY3RlZFJlcXVlc3RFcnJvciwgfSBmcm9tICcuLi9lcnJvcnMvcnBjLmpzJztcbmltcG9ydCB7IHdpdGhSZXRyeSB9IGZyb20gJy4vcHJvbWlzZS93aXRoUmV0cnkuanMnO1xuZXhwb3J0IGNvbnN0IGlzRGV0ZXJtaW5pc3RpY0Vycm9yID0gKGVycm9yKSA9PiB7XG4gICAgaWYgKCdjb2RlJyBpbiBlcnJvcilcbiAgICAgICAgcmV0dXJuIChlcnJvci5jb2RlICE9PSAtMSAmJlxuICAgICAgICAgICAgZXJyb3IuY29kZSAhPT0gLTMyMDA0ICYmXG4gICAgICAgICAgICBlcnJvci5jb2RlICE9PSAtMzIwMDUgJiZcbiAgICAgICAgICAgIGVycm9yLmNvZGUgIT09IC0zMjA0MiAmJlxuICAgICAgICAgICAgZXJyb3IuY29kZSAhPT0gLTMyNjAzKTtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwUmVxdWVzdEVycm9yICYmIGVycm9yLnN0YXR1cylcbiAgICAgICAgcmV0dXJuIChlcnJvci5zdGF0dXMgIT09IDQwMyAmJlxuICAgICAgICAgICAgZXJyb3Iuc3RhdHVzICE9PSA0MDggJiZcbiAgICAgICAgICAgIGVycm9yLnN0YXR1cyAhPT0gNDEzICYmXG4gICAgICAgICAgICBlcnJvci5zdGF0dXMgIT09IDQyOSAmJlxuICAgICAgICAgICAgZXJyb3Iuc3RhdHVzICE9PSA1MDAgJiZcbiAgICAgICAgICAgIGVycm9yLnN0YXR1cyAhPT0gNTAyICYmXG4gICAgICAgICAgICBlcnJvci5zdGF0dXMgIT09IDUwMyAmJlxuICAgICAgICAgICAgZXJyb3Iuc3RhdHVzICE9PSA1MDQpO1xuICAgIHJldHVybiBmYWxzZTtcbn07XG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSZXF1ZXN0KHJlcXVlc3QsIHsgcmV0cnlEZWxheSA9IDE1MCwgcmV0cnlDb3VudCA9IDMsIH0gPSB7fSkge1xuICAgIHJldHVybiAoYXN5bmMgKGFyZ3MpID0+IHdpdGhSZXRyeShhc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgcmVxdWVzdChhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyXykge1xuICAgICAgICAgICAgY29uc3QgZXJyID0gZXJyXztcbiAgICAgICAgICAgIHN3aXRjaCAoZXJyLmNvZGUpIHtcbiAgICAgICAgICAgICAgICAvLyAtMzI3MDBcbiAgICAgICAgICAgICAgICBjYXNlIFBhcnNlUnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFBhcnNlUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyAtMzI2MDBcbiAgICAgICAgICAgICAgICBjYXNlIEludmFsaWRSZXF1ZXN0UnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRSZXF1ZXN0UnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyAtMzI2MDFcbiAgICAgICAgICAgICAgICBjYXNlIE1ldGhvZE5vdEZvdW5kUnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IE1ldGhvZE5vdEZvdW5kUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyAtMzI2MDJcbiAgICAgICAgICAgICAgICBjYXNlIEludmFsaWRQYXJhbXNScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtc1JwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgLy8gLTMyNjAzXG4gICAgICAgICAgICAgICAgY2FzZSBJbnRlcm5hbFJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgLy8gLTMyMDAwXG4gICAgICAgICAgICAgICAgY2FzZSBJbnZhbGlkSW5wdXRScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZElucHV0UnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyAtMzIwMDFcbiAgICAgICAgICAgICAgICBjYXNlIFJlc291cmNlTm90Rm91bmRScGNFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVzb3VyY2VOb3RGb3VuZFJwY0Vycm9yKGVycik7XG4gICAgICAgICAgICAgICAgLy8gLTMyMDAyXG4gICAgICAgICAgICAgICAgY2FzZSBSZXNvdXJjZVVuYXZhaWxhYmxlUnBjRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlc291cmNlVW5hdmFpbGFibGVScGNFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIC8vIC0zMjAwM1xuICAgICAgICAgICAgICAgIGNhc2UgVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc2FjdGlvblJlamVjdGVkUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyAtMzIwMDRcbiAgICAgICAgICAgICAgICBjYXNlIE1ldGhvZE5vdFN1cHBvcnRlZFJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBNZXRob2ROb3RTdXBwb3J0ZWRScGNFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIC8vIC0zMjAwNVxuICAgICAgICAgICAgICAgIGNhc2UgTGltaXRFeGNlZWRlZFJwY0Vycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBMaW1pdEV4Y2VlZGVkUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyAtMzIwMDZcbiAgICAgICAgICAgICAgICBjYXNlIEpzb25ScGNWZXJzaW9uVW5zdXBwb3J0ZWRFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSnNvblJwY1ZlcnNpb25VbnN1cHBvcnRlZEVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgLy8gNDAwMVxuICAgICAgICAgICAgICAgIGNhc2UgVXNlclJlamVjdGVkUmVxdWVzdEVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBVc2VyUmVqZWN0ZWRSZXF1ZXN0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyA0MTAwXG4gICAgICAgICAgICAgICAgY2FzZSBVbmF1dGhvcml6ZWRQcm92aWRlckVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbmF1dGhvcml6ZWRQcm92aWRlckVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgLy8gNDIwMFxuICAgICAgICAgICAgICAgIGNhc2UgVW5zdXBwb3J0ZWRQcm92aWRlck1ldGhvZEVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZFByb3ZpZGVyTWV0aG9kRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAvLyA0OTAwXG4gICAgICAgICAgICAgICAgY2FzZSBQcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yLmNvZGU6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBQcm92aWRlckRpc2Nvbm5lY3RlZEVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgLy8gNDkwMVxuICAgICAgICAgICAgICAgIGNhc2UgQ2hhaW5EaXNjb25uZWN0ZWRFcnJvci5jb2RlOlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ2hhaW5EaXNjb25uZWN0ZWRFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIC8vIDQ5MDJcbiAgICAgICAgICAgICAgICBjYXNlIFN3aXRjaENoYWluRXJyb3IuY29kZTpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN3aXRjaENoYWluRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyXyBpbnN0YW5jZW9mIEJhc2VFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycl87XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbmtub3duUnBjRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIHtcbiAgICAgICAgZGVsYXk6ICh7IGNvdW50LCBlcnJvciB9KSA9PiB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBmaW5kIGEgUmV0cnktQWZ0ZXIgaGVhZGVyLCBsZXQncyByZXRyeSBhZnRlciB0aGUgZ2l2ZW4gdGltZS5cbiAgICAgICAgICAgIGlmIChlcnJvciAmJiBlcnJvciBpbnN0YW5jZW9mIEh0dHBSZXF1ZXN0RXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXRyeUFmdGVyID0gZXJyb3I/LmhlYWRlcnM/LmdldCgnUmV0cnktQWZ0ZXInKTtcbiAgICAgICAgICAgICAgICBpZiAocmV0cnlBZnRlcj8ubWF0Y2goL1xcZC8pKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQocmV0cnlBZnRlcikgKiAxMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBsZXQncyByZXRyeSB3aXRoIGFuIGV4cG9uZW50aWFsIGJhY2tvZmYuXG4gICAgICAgICAgICByZXR1cm4gfn4oMSA8PCBjb3VudCkgKiByZXRyeURlbGF5O1xuICAgICAgICB9LFxuICAgICAgICByZXRyeUNvdW50LFxuICAgICAgICBzaG91bGRSZXRyeTogKHsgZXJyb3IgfSkgPT4gIWlzRGV0ZXJtaW5pc3RpY0Vycm9yKGVycm9yKSxcbiAgICB9KSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1idWlsZFJlcXVlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/buildRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ccip.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ccip.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ccipFetch: function() { return /* binding */ ccipFetch; },\n/* harmony export */ offchainLookup: function() { return /* binding */ offchainLookup; },\n/* harmony export */ offchainLookupAbiItem: function() { return /* binding */ offchainLookupAbiItem; },\n/* harmony export */ offchainLookupSignature: function() { return /* binding */ offchainLookupSignature; }\n/* harmony export */ });\n/* harmony import */ var _actions_public_call_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actions/public/call.js */ \"./node_modules/viem/dist/esm/actions/public/call.js\");\n/* harmony import */ var _errors_ccip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors/ccip.js */ \"./node_modules/viem/dist/esm/errors/ccip.js\");\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abi/decodeErrorResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js\");\n/* harmony import */ var _abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./address/isAddressEqual.js */ \"./node_modules/viem/dist/esm/utils/address/isAddressEqual.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n\n\n\n\n\n\n\n\n\n\nconst offchainLookupSignature = '0x556f1830';\nconst offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nasync function offchainLookup(client, { blockNumber, blockTag, data, to, }) {\n const { args } = (0,_abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_0__.decodeErrorResult)({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n try {\n if (!(0,_address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_1__.isAddressEqual)(to, sender))\n throw new _errors_ccip_js__WEBPACK_IMPORTED_MODULE_2__.OffchainLookupSenderMismatchError({ sender, to });\n const result = await ccipFetch({ data: callData, sender, urls });\n const { data: data_ } = await (0,_actions_public_call_js__WEBPACK_IMPORTED_MODULE_3__.call)(client, {\n blockNumber,\n blockTag,\n data: (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_4__.concat)([\n callbackSelector,\n (0,_abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_5__.encodeAbiParameters)([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n to,\n });\n return data_;\n }\n catch (err) {\n throw new _errors_ccip_js__WEBPACK_IMPORTED_MODULE_2__.OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nasync function ccipFetch({ data, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n const method = url.includes('{sender}') || url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n try {\n const response = await fetch(url.replace('{sender}', sender).replace('{data}', data), {\n body: JSON.stringify(body),\n method,\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new _errors_request_js__WEBPACK_IMPORTED_MODULE_6__.HttpRequestError({\n body,\n details: (0,_stringify_js__WEBPACK_IMPORTED_MODULE_7__.stringify)(result.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!(0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_8__.isHex)(result)) {\n error = new _errors_ccip_js__WEBPACK_IMPORTED_MODULE_2__.OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n error = new _errors_request_js__WEBPACK_IMPORTED_MODULE_6__.HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9jY2lwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUQ7QUFDZDtBQUMrRjtBQUMxRTtBQUNPO0FBQ0k7QUFDTjtBQUNuQjtBQUNGO0FBQ0c7QUFDcEM7QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNPLHdDQUF3QyxrQ0FBa0M7QUFDakYsWUFBWSxPQUFPLEVBQUUsNEVBQWlCO0FBQ3RDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGFBQWEsMEVBQWM7QUFDM0Isc0JBQXNCLDhFQUFpQyxHQUFHLFlBQVk7QUFDdEUseUNBQXlDLDhCQUE4QjtBQUN2RSxnQkFBZ0IsY0FBYyxRQUFRLDZEQUFJO0FBQzFDO0FBQ0E7QUFDQSxrQkFBa0IsdURBQU07QUFDeEI7QUFDQSxnQkFBZ0IsZ0ZBQW1CLElBQUksZUFBZSxJQUFJLGVBQWU7QUFDekU7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0VBQW1CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ08sMkJBQTJCLHFCQUFxQjtBQUN2RDtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQSxzQ0FBc0MsT0FBTyxxQkFBcUIsS0FBSztBQUN2RSwyQ0FBMkMsZUFBZTtBQUMxRDtBQUNBLHVEQUF1RCxPQUFPLHFCQUFxQixLQUFLO0FBQ3hGO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixnRUFBZ0I7QUFDNUM7QUFDQSw2QkFBNkIsd0RBQVM7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxpQkFBaUIscURBQUs7QUFDdEIsNEJBQTRCLGlGQUFvQztBQUNoRTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0VBQWdCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2NjaXAuanM/Mjc2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYWxsIH0gZnJvbSAnLi4vYWN0aW9ucy9wdWJsaWMvY2FsbC5qcyc7XG5pbXBvcnQge30gZnJvbSAnLi4vZXJyb3JzL2Jhc2UuanMnO1xuaW1wb3J0IHsgT2ZmY2hhaW5Mb29rdXBFcnJvciwgT2ZmY2hhaW5Mb29rdXBSZXNwb25zZU1hbGZvcm1lZEVycm9yLCBPZmZjaGFpbkxvb2t1cFNlbmRlck1pc21hdGNoRXJyb3IsIH0gZnJvbSAnLi4vZXJyb3JzL2NjaXAuanMnO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3RFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9yZXF1ZXN0LmpzJztcbmltcG9ydCB7IGRlY29kZUVycm9yUmVzdWx0IH0gZnJvbSAnLi9hYmkvZGVjb2RlRXJyb3JSZXN1bHQuanMnO1xuaW1wb3J0IHsgZW5jb2RlQWJpUGFyYW1ldGVycyB9IGZyb20gJy4vYWJpL2VuY29kZUFiaVBhcmFtZXRlcnMuanMnO1xuaW1wb3J0IHsgaXNBZGRyZXNzRXF1YWwgfSBmcm9tICcuL2FkZHJlc3MvaXNBZGRyZXNzRXF1YWwuanMnO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi9kYXRhL2NvbmNhdC5qcyc7XG5pbXBvcnQgeyBpc0hleCB9IGZyb20gJy4vZGF0YS9pc0hleC5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuL3N0cmluZ2lmeS5qcyc7XG5leHBvcnQgY29uc3Qgb2ZmY2hhaW5Mb29rdXBTaWduYXR1cmUgPSAnMHg1NTZmMTgzMCc7XG5leHBvcnQgY29uc3Qgb2ZmY2hhaW5Mb29rdXBBYmlJdGVtID0ge1xuICAgIG5hbWU6ICdPZmZjaGFpbkxvb2t1cCcsXG4gICAgdHlwZTogJ2Vycm9yJyxcbiAgICBpbnB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3NlbmRlcicsXG4gICAgICAgICAgICB0eXBlOiAnYWRkcmVzcycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICd1cmxzJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmdbXScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdjYWxsRGF0YScsXG4gICAgICAgICAgICB0eXBlOiAnYnl0ZXMnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnY2FsbGJhY2tGdW5jdGlvbicsXG4gICAgICAgICAgICB0eXBlOiAnYnl0ZXM0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2V4dHJhRGF0YScsXG4gICAgICAgICAgICB0eXBlOiAnYnl0ZXMnLFxuICAgICAgICB9LFxuICAgIF0sXG59O1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9mZmNoYWluTG9va3VwKGNsaWVudCwgeyBibG9ja051bWJlciwgYmxvY2tUYWcsIGRhdGEsIHRvLCB9KSB7XG4gICAgY29uc3QgeyBhcmdzIH0gPSBkZWNvZGVFcnJvclJlc3VsdCh7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGFiaTogW29mZmNoYWluTG9va3VwQWJpSXRlbV0sXG4gICAgfSk7XG4gICAgY29uc3QgW3NlbmRlciwgdXJscywgY2FsbERhdGEsIGNhbGxiYWNrU2VsZWN0b3IsIGV4dHJhRGF0YV0gPSBhcmdzO1xuICAgIHRyeSB7XG4gICAgICAgIGlmICghaXNBZGRyZXNzRXF1YWwodG8sIHNlbmRlcikpXG4gICAgICAgICAgICB0aHJvdyBuZXcgT2ZmY2hhaW5Mb29rdXBTZW5kZXJNaXNtYXRjaEVycm9yKHsgc2VuZGVyLCB0byB9KTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2NpcEZldGNoKHsgZGF0YTogY2FsbERhdGEsIHNlbmRlciwgdXJscyB9KTtcbiAgICAgICAgY29uc3QgeyBkYXRhOiBkYXRhXyB9ID0gYXdhaXQgY2FsbChjbGllbnQsIHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgICAgICBkYXRhOiBjb25jYXQoW1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrU2VsZWN0b3IsXG4gICAgICAgICAgICAgICAgZW5jb2RlQWJpUGFyYW1ldGVycyhbeyB0eXBlOiAnYnl0ZXMnIH0sIHsgdHlwZTogJ2J5dGVzJyB9XSwgW3Jlc3VsdCwgZXh0cmFEYXRhXSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRvLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRhdGFfO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IG5ldyBPZmZjaGFpbkxvb2t1cEVycm9yKHtcbiAgICAgICAgICAgIGNhbGxiYWNrU2VsZWN0b3IsXG4gICAgICAgICAgICBjYXVzZTogZXJyLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGV4dHJhRGF0YSxcbiAgICAgICAgICAgIHNlbmRlcixcbiAgICAgICAgICAgIHVybHMsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjY2lwRmV0Y2goeyBkYXRhLCBzZW5kZXIsIHVybHMsIH0pIHtcbiAgICBsZXQgZXJyb3IgPSBuZXcgRXJyb3IoJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQuJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB1cmxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IHVybHNbaV07XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IHVybC5pbmNsdWRlcygne3NlbmRlcn0nKSB8fCB1cmwuaW5jbHVkZXMoJ3tkYXRhfScpID8gJ0dFVCcgOiAnUE9TVCc7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBtZXRob2QgPT09ICdQT1NUJyA/IHsgZGF0YSwgc2VuZGVyIH0gOiB1bmRlZmluZWQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybC5yZXBsYWNlKCd7c2VuZGVyfScsIHNlbmRlcikucmVwbGFjZSgne2RhdGF9JywgZGF0YSksIHtcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpPy5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKS5kYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gKGF3YWl0IHJlc3BvbnNlLnRleHQoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IgPSBuZXcgSHR0cFJlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbHM6IHN0cmluZ2lmeShyZXN1bHQuZXJyb3IpIHx8IHJlc3BvbnNlLnN0YXR1c1RleHQsXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzSGV4KHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICBlcnJvciA9IG5ldyBPZmZjaGFpbkxvb2t1cFJlc3BvbnNlTWFsZm9ybWVkRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgZXJyb3IgPSBuZXcgSHR0cFJlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNjaXAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ccip.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/chain.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/chain.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertCurrentChain: function() { return /* binding */ assertCurrentChain; },\n/* harmony export */ defineChain: function() { return /* binding */ defineChain; },\n/* harmony export */ getChainContractAddress: function() { return /* binding */ getChainContractAddress; }\n/* harmony export */ });\n/* harmony import */ var _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors/chain.js */ \"./node_modules/viem/dist/esm/errors/chain.js\");\n\nfunction assertCurrentChain({ chain, currentChainId, }) {\n if (!chain)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.ChainNotFoundError();\n if (currentChainId !== chain.id)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.ChainMismatchError({ chain, currentChainId });\n}\nfunction defineChain(chain, config) {\n return {\n ...chain,\n formatters: config?.formatters,\n serializers: config?.serializers,\n };\n}\nfunction getChainContractAddress({ blockNumber, chain, contract: name, }) {\n const contract = chain?.contracts?.[name];\n if (!contract)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.ChainDoesNotSupportContract({\n chain,\n contract: { name },\n });\n if (blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.ChainDoesNotSupportContract({\n blockNumber,\n chain,\n contract: {\n name,\n blockCreated: contract.blockCreated,\n },\n });\n return contract.address;\n}\n//# sourceMappingURL=chain.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9jaGFpbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTBHO0FBQ25HLDhCQUE4Qix3QkFBd0I7QUFDN0Q7QUFDQSxrQkFBa0IsZ0VBQWtCO0FBQ3BDO0FBQ0Esa0JBQWtCLGdFQUFrQixHQUFHLHVCQUF1QjtBQUM5RDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sbUNBQW1DLHFDQUFxQztBQUMvRTtBQUNBO0FBQ0Esa0JBQWtCLHlFQUEyQjtBQUM3QztBQUNBLHdCQUF3QixNQUFNO0FBQzlCLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IseUVBQTJCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9jaGFpbi5qcz8wMjRjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYWluRG9lc05vdFN1cHBvcnRDb250cmFjdCwgQ2hhaW5NaXNtYXRjaEVycm9yLCBDaGFpbk5vdEZvdW5kRXJyb3IsIH0gZnJvbSAnLi4vZXJyb3JzL2NoYWluLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRDdXJyZW50Q2hhaW4oeyBjaGFpbiwgY3VycmVudENoYWluSWQsIH0pIHtcbiAgICBpZiAoIWNoYWluKVxuICAgICAgICB0aHJvdyBuZXcgQ2hhaW5Ob3RGb3VuZEVycm9yKCk7XG4gICAgaWYgKGN1cnJlbnRDaGFpbklkICE9PSBjaGFpbi5pZClcbiAgICAgICAgdGhyb3cgbmV3IENoYWluTWlzbWF0Y2hFcnJvcih7IGNoYWluLCBjdXJyZW50Q2hhaW5JZCB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVDaGFpbihjaGFpbiwgY29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY2hhaW4sXG4gICAgICAgIGZvcm1hdHRlcnM6IGNvbmZpZz8uZm9ybWF0dGVycyxcbiAgICAgICAgc2VyaWFsaXplcnM6IGNvbmZpZz8uc2VyaWFsaXplcnMsXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGFpbkNvbnRyYWN0QWRkcmVzcyh7IGJsb2NrTnVtYmVyLCBjaGFpbiwgY29udHJhY3Q6IG5hbWUsIH0pIHtcbiAgICBjb25zdCBjb250cmFjdCA9IGNoYWluPy5jb250cmFjdHM/LltuYW1lXTtcbiAgICBpZiAoIWNvbnRyYWN0KVxuICAgICAgICB0aHJvdyBuZXcgQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0KHtcbiAgICAgICAgICAgIGNoYWluLFxuICAgICAgICAgICAgY29udHJhY3Q6IHsgbmFtZSB9LFxuICAgICAgICB9KTtcbiAgICBpZiAoYmxvY2tOdW1iZXIgJiZcbiAgICAgICAgY29udHJhY3QuYmxvY2tDcmVhdGVkICYmXG4gICAgICAgIGNvbnRyYWN0LmJsb2NrQ3JlYXRlZCA+IGJsb2NrTnVtYmVyKVxuICAgICAgICB0aHJvdyBuZXcgQ2hhaW5Eb2VzTm90U3VwcG9ydENvbnRyYWN0KHtcbiAgICAgICAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgICAgICAgY2hhaW4sXG4gICAgICAgICAgICBjb250cmFjdDoge1xuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tDcmVhdGVkOiBjb250cmFjdC5ibG9ja0NyZWF0ZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICByZXR1cm4gY29udHJhY3QuYWRkcmVzcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNoYWluLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/chain.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/contract/extractFunctionParts.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/contract/extractFunctionParts.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ extractFunctionName: function() { return /* binding */ extractFunctionName; },\n/* harmony export */ extractFunctionParams: function() { return /* binding */ extractFunctionParams; },\n/* harmony export */ extractFunctionParts: function() { return /* binding */ extractFunctionParts; },\n/* harmony export */ extractFunctionType: function() { return /* binding */ extractFunctionType; }\n/* harmony export */ });\nconst paramsRegex = /((function|event)\\s)?(.*)(\\((.*)\\))/;\nfunction extractFunctionParts(def) {\n const parts = def.match(paramsRegex);\n const type = parts?.[2] || undefined;\n const name = parts?.[3];\n const params = parts?.[5] || undefined;\n return { type, name, params };\n}\nfunction extractFunctionName(def) {\n return extractFunctionParts(def).name;\n}\nfunction extractFunctionParams(def) {\n const params = extractFunctionParts(def).params;\n const splitParams = params?.split(',').map((x) => x.trim().split(' '));\n return splitParams?.map((param) => ({\n type: param[0],\n name: param[1] === 'indexed' ? param[2] : param[1],\n ...(param[1] === 'indexed' ? { indexed: true } : {}),\n }));\n}\nfunction extractFunctionType(def) {\n return extractFunctionParts(def).type;\n}\n//# sourceMappingURL=extractFunctionParts.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9jb250cmFjdC9leHRyYWN0RnVuY3Rpb25QYXJ0cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLGdCQUFnQixJQUFJO0FBQzNELEtBQUs7QUFDTDtBQUNPO0FBQ1A7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2NvbnRyYWN0L2V4dHJhY3RGdW5jdGlvblBhcnRzLmpzPzU0N2YiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcGFyYW1zUmVnZXggPSAvKChmdW5jdGlvbnxldmVudClcXHMpPyguKikoXFwoKC4qKVxcKSkvO1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RGdW5jdGlvblBhcnRzKGRlZikge1xuICAgIGNvbnN0IHBhcnRzID0gZGVmLm1hdGNoKHBhcmFtc1JlZ2V4KTtcbiAgICBjb25zdCB0eXBlID0gcGFydHM/LlsyXSB8fCB1bmRlZmluZWQ7XG4gICAgY29uc3QgbmFtZSA9IHBhcnRzPy5bM107XG4gICAgY29uc3QgcGFyYW1zID0gcGFydHM/Lls1XSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHsgdHlwZSwgbmFtZSwgcGFyYW1zIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEZ1bmN0aW9uTmFtZShkZWYpIHtcbiAgICByZXR1cm4gZXh0cmFjdEZ1bmN0aW9uUGFydHMoZGVmKS5uYW1lO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RGdW5jdGlvblBhcmFtcyhkZWYpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBleHRyYWN0RnVuY3Rpb25QYXJ0cyhkZWYpLnBhcmFtcztcbiAgICBjb25zdCBzcGxpdFBhcmFtcyA9IHBhcmFtcz8uc3BsaXQoJywnKS5tYXAoKHgpID0+IHgudHJpbSgpLnNwbGl0KCcgJykpO1xuICAgIHJldHVybiBzcGxpdFBhcmFtcz8ubWFwKChwYXJhbSkgPT4gKHtcbiAgICAgICAgdHlwZTogcGFyYW1bMF0sXG4gICAgICAgIG5hbWU6IHBhcmFtWzFdID09PSAnaW5kZXhlZCcgPyBwYXJhbVsyXSA6IHBhcmFtWzFdLFxuICAgICAgICAuLi4ocGFyYW1bMV0gPT09ICdpbmRleGVkJyA/IHsgaW5kZXhlZDogdHJ1ZSB9IDoge30pLFxuICAgIH0pKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RnVuY3Rpb25UeXBlKGRlZikge1xuICAgIHJldHVybiBleHRyYWN0RnVuY3Rpb25QYXJ0cyhkZWYpLnR5cGU7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1leHRyYWN0RnVuY3Rpb25QYXJ0cy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/contract/extractFunctionParts.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/concat.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/concat.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ concat: function() { return /* binding */ concat; },\n/* harmony export */ concatBytes: function() { return /* binding */ concatBytes; },\n/* harmony export */ concatHex: function() { return /* binding */ concatHex; }\n/* harmony export */ });\nfunction concat(values) {\n if (typeof values[0] === 'string')\n return concatHex(values);\n return concatBytes(values);\n}\nfunction concatBytes(values) {\n let length = 0;\n for (const arr of values) {\n length += arr.length;\n }\n const result = new Uint8Array(length);\n let offset = 0;\n for (const arr of values) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\nfunction concatHex(values) {\n return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`;\n}\n//# sourceMappingURL=concat.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL2NvbmNhdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGdCQUFnQix5REFBeUQ7QUFDekU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL2NvbmNhdC5qcz85YjY3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjb25jYXQodmFsdWVzKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZXNbMF0gPT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm4gY29uY2F0SGV4KHZhbHVlcyk7XG4gICAgcmV0dXJuIGNvbmNhdEJ5dGVzKHZhbHVlcyk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29uY2F0Qnl0ZXModmFsdWVzKSB7XG4gICAgbGV0IGxlbmd0aCA9IDA7XG4gICAgZm9yIChjb25zdCBhcnIgb2YgdmFsdWVzKSB7XG4gICAgICAgIGxlbmd0aCArPSBhcnIubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpO1xuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGZvciAoY29uc3QgYXJyIG9mIHZhbHVlcykge1xuICAgICAgICByZXN1bHQuc2V0KGFyciwgb2Zmc2V0KTtcbiAgICAgICAgb2Zmc2V0ICs9IGFyci5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5leHBvcnQgZnVuY3Rpb24gY29uY2F0SGV4KHZhbHVlcykge1xuICAgIHJldHVybiBgMHgke3ZhbHVlcy5yZWR1Y2UoKGFjYywgeCkgPT4gYWNjICsgeC5yZXBsYWNlKCcweCcsICcnKSwgJycpfWA7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25jYXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/concat.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/isBytes.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/isBytes.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isBytes: function() { return /* binding */ isBytes; }\n/* harmony export */ });\nfunction isBytes(value) {\n if (!value)\n return false;\n if (typeof value !== 'object')\n return false;\n if (!('BYTES_PER_ELEMENT' in value))\n return false;\n return (value.BYTES_PER_ELEMENT === 1 && value.constructor.name === 'Uint8Array');\n}\n//# sourceMappingURL=isBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL2lzQnl0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2RhdGEvaXNCeXRlcy5qcz9jZTQzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc0J5dGVzKHZhbHVlKSB7XG4gICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCEoJ0JZVEVTX1BFUl9FTEVNRU5UJyBpbiB2YWx1ZSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gKHZhbHVlLkJZVEVTX1BFUl9FTEVNRU5UID09PSAxICYmIHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdVaW50OEFycmF5Jyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pc0J5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/isBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/isBytesEqual.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/isBytesEqual.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isBytesEqual: function() { return /* binding */ isBytesEqual; }\n/* harmony export */ });\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../index.js */ \"./node_modules/viem/dist/esm/index.js\");\n/* harmony import */ var _noble_curves_abstract_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/curves/abstract/utils */ \"./node_modules/@noble/curves/esm/abstract/utils.js\");\n\n\nfunction isBytesEqual(a_, b_) {\n const a = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.isHex)(a_) ? (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.toBytes)(a_) : a_;\n const b = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.isHex)(b_) ? (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.toBytes)(b_) : b_;\n return (0,_noble_curves_abstract_utils__WEBPACK_IMPORTED_MODULE_0__.equalBytes)(a, b);\n}\n//# sourceMappingURL=isBytesEqual.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL2lzQnl0ZXNFcXVhbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBZ0Q7QUFDVTtBQUNuRDtBQUNQLGNBQWMsZ0RBQUssT0FBTyxrREFBTztBQUNqQyxjQUFjLGdEQUFLLE9BQU8sa0RBQU87QUFDakMsV0FBVyx3RUFBVTtBQUNyQjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2RhdGEvaXNCeXRlc0VxdWFsLmpzPzE0ZDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNIZXgsIHRvQnl0ZXMgfSBmcm9tICcuLi8uLi9pbmRleC5qcyc7XG5pbXBvcnQgeyBlcXVhbEJ5dGVzIH0gZnJvbSAnQG5vYmxlL2N1cnZlcy9hYnN0cmFjdC91dGlscyc7XG5leHBvcnQgZnVuY3Rpb24gaXNCeXRlc0VxdWFsKGFfLCBiXykge1xuICAgIGNvbnN0IGEgPSBpc0hleChhXykgPyB0b0J5dGVzKGFfKSA6IGFfO1xuICAgIGNvbnN0IGIgPSBpc0hleChiXykgPyB0b0J5dGVzKGJfKSA6IGJfO1xuICAgIHJldHVybiBlcXVhbEJ5dGVzKGEsIGIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNCeXRlc0VxdWFsLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/isBytesEqual.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/isHex.js": -/*!********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/isHex.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isHex: function() { return /* binding */ isHex; }\n/* harmony export */ });\nfunction isHex(value, { strict = true } = {}) {\n if (!value)\n return false;\n if (typeof value !== 'string')\n return false;\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\n//# sourceMappingURL=isHex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL2lzSGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyx3QkFBd0IsZ0JBQWdCLElBQUk7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvZGF0YS9pc0hleC5qcz9kYjI3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc0hleCh2YWx1ZSwgeyBzdHJpY3QgPSB0cnVlIH0gPSB7fSkge1xuICAgIGlmICghdmFsdWUpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBzdHJpY3QgPyAvXjB4WzAtOWEtZkEtRl0qJC8udGVzdCh2YWx1ZSkgOiB2YWx1ZS5zdGFydHNXaXRoKCcweCcpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNIZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/isHex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/pad.js": -/*!******************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/pad.js ***! - \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pad: function() { return /* binding */ pad; },\n/* harmony export */ padBytes: function() { return /* binding */ padBytes; },\n/* harmony export */ padHex: function() { return /* binding */ padHex; }\n/* harmony export */ });\n/* harmony import */ var _errors_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/data.js */ \"./node_modules/viem/dist/esm/errors/data.js\");\n\nfunction pad(hexOrBytes, { dir, size = 32 } = {}) {\n if (typeof hexOrBytes === 'string')\n return padHex(hexOrBytes, { dir, size });\n return padBytes(hexOrBytes, { dir, size });\n}\nfunction padHex(hex_, { dir, size = 32 } = {}) {\n if (size === null)\n return hex_;\n const hex = hex_.replace('0x', '');\n if (hex.length > size * 2)\n throw new _errors_data_js__WEBPACK_IMPORTED_MODULE_0__.SizeExceedsPaddingSizeError({\n size: Math.ceil(hex.length / 2),\n targetSize: size,\n type: 'hex',\n });\n return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nfunction padBytes(bytes, { dir, size = 32 } = {}) {\n if (size === null)\n return bytes;\n if (bytes.length > size)\n throw new _errors_data_js__WEBPACK_IMPORTED_MODULE_0__.SizeExceedsPaddingSizeError({\n size: bytes.length,\n targetSize: size,\n type: 'bytes',\n });\n const paddedBytes = new Uint8Array(size);\n for (let i = 0; i < size; i++) {\n const padEnd = dir === 'right';\n paddedBytes[padEnd ? i : size - i - 1] =\n bytes[padEnd ? i : bytes.length - i - 1];\n }\n return paddedBytes;\n}\n//# sourceMappingURL=pad.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL3BhZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW1FO0FBQzVELDJCQUEyQixpQkFBaUIsSUFBSTtBQUN2RDtBQUNBLG9DQUFvQyxXQUFXO0FBQy9DLGtDQUFrQyxXQUFXO0FBQzdDO0FBQ08sd0JBQXdCLGlCQUFpQixJQUFJO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHdFQUEyQjtBQUM3QztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsZ0JBQWdCLDREQUE0RDtBQUM1RTtBQUNPLDJCQUEyQixpQkFBaUIsSUFBSTtBQUN2RDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isd0VBQTJCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG9CQUFvQixVQUFVO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2RhdGEvcGFkLmpzPzI1MWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2RhdGEuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIHBhZChoZXhPckJ5dGVzLCB7IGRpciwgc2l6ZSA9IDMyIH0gPSB7fSkge1xuICAgIGlmICh0eXBlb2YgaGV4T3JCeXRlcyA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiBwYWRIZXgoaGV4T3JCeXRlcywgeyBkaXIsIHNpemUgfSk7XG4gICAgcmV0dXJuIHBhZEJ5dGVzKGhleE9yQnl0ZXMsIHsgZGlyLCBzaXplIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHBhZEhleChoZXhfLCB7IGRpciwgc2l6ZSA9IDMyIH0gPSB7fSkge1xuICAgIGlmIChzaXplID09PSBudWxsKVxuICAgICAgICByZXR1cm4gaGV4XztcbiAgICBjb25zdCBoZXggPSBoZXhfLnJlcGxhY2UoJzB4JywgJycpO1xuICAgIGlmIChoZXgubGVuZ3RoID4gc2l6ZSAqIDIpXG4gICAgICAgIHRocm93IG5ldyBTaXplRXhjZWVkc1BhZGRpbmdTaXplRXJyb3Ioe1xuICAgICAgICAgICAgc2l6ZTogTWF0aC5jZWlsKGhleC5sZW5ndGggLyAyKSxcbiAgICAgICAgICAgIHRhcmdldFNpemU6IHNpemUsXG4gICAgICAgICAgICB0eXBlOiAnaGV4JyxcbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIGAweCR7aGV4W2RpciA9PT0gJ3JpZ2h0JyA/ICdwYWRFbmQnIDogJ3BhZFN0YXJ0J10oc2l6ZSAqIDIsICcwJyl9YDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYWRCeXRlcyhieXRlcywgeyBkaXIsIHNpemUgPSAzMiB9ID0ge30pIHtcbiAgICBpZiAoc2l6ZSA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGJ5dGVzO1xuICAgIGlmIChieXRlcy5sZW5ndGggPiBzaXplKVxuICAgICAgICB0aHJvdyBuZXcgU2l6ZUV4Y2VlZHNQYWRkaW5nU2l6ZUVycm9yKHtcbiAgICAgICAgICAgIHNpemU6IGJ5dGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHRhcmdldFNpemU6IHNpemUsXG4gICAgICAgICAgICB0eXBlOiAnYnl0ZXMnLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBwYWRkZWRCeXRlcyA9IG5ldyBVaW50OEFycmF5KHNpemUpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHBhZEVuZCA9IGRpciA9PT0gJ3JpZ2h0JztcbiAgICAgICAgcGFkZGVkQnl0ZXNbcGFkRW5kID8gaSA6IHNpemUgLSBpIC0gMV0gPVxuICAgICAgICAgICAgYnl0ZXNbcGFkRW5kID8gaSA6IGJ5dGVzLmxlbmd0aCAtIGkgLSAxXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhZGRlZEJ5dGVzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/pad.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/size.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/size.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ size: function() { return /* binding */ size; }\n/* harmony export */ });\n/* harmony import */ var _isHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n\n/**\n * @description Retrieves the size of the value (in bytes).\n *\n * @param value The value (hex or byte array) to retrieve the size of.\n * @returns The size of the value (in bytes).\n */\nfunction size(value) {\n if ((0,_isHex_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(value, { strict: false }))\n return Math.ceil((value.length - 2) / 2);\n return value.length;\n}\n//# sourceMappingURL=size.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL3NpemUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxRQUFRLGdEQUFLLFVBQVUsZUFBZTtBQUN0QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL3NpemUuanM/OTAzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0hleCB9IGZyb20gJy4vaXNIZXguanMnO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIHRoZSBzaXplIG9mIHRoZSB2YWx1ZSAoaW4gYnl0ZXMpLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgKGhleCBvciBieXRlIGFycmF5KSB0byByZXRyaWV2ZSB0aGUgc2l6ZSBvZi5cbiAqIEByZXR1cm5zIFRoZSBzaXplIG9mIHRoZSB2YWx1ZSAoaW4gYnl0ZXMpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2l6ZSh2YWx1ZSkge1xuICAgIGlmIChpc0hleCh2YWx1ZSwgeyBzdHJpY3Q6IGZhbHNlIH0pKVxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCh2YWx1ZS5sZW5ndGggLSAyKSAvIDIpO1xuICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaXplLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/size.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/slice.js": -/*!********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/slice.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ slice: function() { return /* binding */ slice; },\n/* harmony export */ sliceBytes: function() { return /* binding */ sliceBytes; },\n/* harmony export */ sliceHex: function() { return /* binding */ sliceHex; }\n/* harmony export */ });\n/* harmony import */ var _errors_data_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/data.js */ \"./node_modules/viem/dist/esm/errors/data.js\");\n/* harmony import */ var _isHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _size_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n\n\n\n/**\n * @description Returns a section of the hex or byte array given a start/end bytes offset.\n *\n * @param value The hex or byte array to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nfunction slice(value, start, end, { strict } = {}) {\n if ((0,_isHex_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(value, { strict: false }))\n return sliceHex(value, start, end, {\n strict,\n });\n return sliceBytes(value, start, end, {\n strict,\n });\n}\nfunction assertStartOffset(value, start) {\n if (typeof start === 'number' && start > 0 && start > (0,_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value) - 1)\n throw new _errors_data_js__WEBPACK_IMPORTED_MODULE_2__.SliceOffsetOutOfBoundsError({\n offset: start,\n position: 'start',\n size: (0,_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value),\n });\n}\nfunction assertEndOffset(value, start, end) {\n if (typeof start === 'number' &&\n typeof end === 'number' &&\n (0,_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value) !== end - start) {\n throw new _errors_data_js__WEBPACK_IMPORTED_MODULE_2__.SliceOffsetOutOfBoundsError({\n offset: end,\n position: 'end',\n size: (0,_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(value),\n });\n }\n}\n/**\n * @description Returns a section of the byte array given a start/end bytes offset.\n *\n * @param value The byte array to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nfunction sliceBytes(value_, start, end, { strict } = {}) {\n assertStartOffset(value_, start);\n const value = value_.slice(start, end);\n if (strict)\n assertEndOffset(value, start, end);\n return value;\n}\n/**\n * @description Returns a section of the hex value given a start/end bytes offset.\n *\n * @param value The hex value to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nfunction sliceHex(value_, start, end, { strict } = {}) {\n assertStartOffset(value_, start);\n const value = `0x${value_\n .replace('0x', '')\n .slice((start ?? 0) * 2, (end ?? value_.length) * 2)}`;\n if (strict)\n assertEndOffset(value, start, end);\n return value;\n}\n//# sourceMappingURL=slice.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL3NsaWNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFtRTtBQUNoQztBQUNGO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sb0NBQW9DLFNBQVMsSUFBSTtBQUN4RCxRQUFRLGdEQUFLLFVBQVUsZUFBZTtBQUN0QztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDBEQUEwRCw4Q0FBSTtBQUM5RCxrQkFBa0Isd0VBQTJCO0FBQzdDO0FBQ0E7QUFDQSxrQkFBa0IsOENBQUk7QUFDdEIsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSw4Q0FBSTtBQUNaLGtCQUFrQix3RUFBMkI7QUFDN0M7QUFDQTtBQUNBLGtCQUFrQiw4Q0FBSTtBQUN0QixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sMENBQTBDLFNBQVMsSUFBSTtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLHdDQUF3QyxTQUFTLElBQUk7QUFDNUQ7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSw2REFBNkQ7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL3NsaWNlLmpzP2ZjNzIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2xpY2VPZmZzZXRPdXRPZkJvdW5kc0Vycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2RhdGEuanMnO1xuaW1wb3J0IHsgaXNIZXggfSBmcm9tICcuL2lzSGV4LmpzJztcbmltcG9ydCB7IHNpemUgfSBmcm9tICcuL3NpemUuanMnO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmV0dXJucyBhIHNlY3Rpb24gb2YgdGhlIGhleCBvciBieXRlIGFycmF5IGdpdmVuIGEgc3RhcnQvZW5kIGJ5dGVzIG9mZnNldC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIGhleCBvciBieXRlIGFycmF5IHRvIHNsaWNlLlxuICogQHBhcmFtIHN0YXJ0IFRoZSBzdGFydCBvZmZzZXQgKGluIGJ5dGVzKS5cbiAqIEBwYXJhbSBlbmQgVGhlIGVuZCBvZmZzZXQgKGluIGJ5dGVzKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNsaWNlKHZhbHVlLCBzdGFydCwgZW5kLCB7IHN0cmljdCB9ID0ge30pIHtcbiAgICBpZiAoaXNIZXgodmFsdWUsIHsgc3RyaWN0OiBmYWxzZSB9KSlcbiAgICAgICAgcmV0dXJuIHNsaWNlSGV4KHZhbHVlLCBzdGFydCwgZW5kLCB7XG4gICAgICAgICAgICBzdHJpY3QsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiBzbGljZUJ5dGVzKHZhbHVlLCBzdGFydCwgZW5kLCB7XG4gICAgICAgIHN0cmljdCxcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGFzc2VydFN0YXJ0T2Zmc2V0KHZhbHVlLCBzdGFydCkge1xuICAgIGlmICh0eXBlb2Ygc3RhcnQgPT09ICdudW1iZXInICYmIHN0YXJ0ID4gMCAmJiBzdGFydCA+IHNpemUodmFsdWUpIC0gMSlcbiAgICAgICAgdGhyb3cgbmV3IFNsaWNlT2Zmc2V0T3V0T2ZCb3VuZHNFcnJvcih7XG4gICAgICAgICAgICBvZmZzZXQ6IHN0YXJ0LFxuICAgICAgICAgICAgcG9zaXRpb246ICdzdGFydCcsXG4gICAgICAgICAgICBzaXplOiBzaXplKHZhbHVlKSxcbiAgICAgICAgfSk7XG59XG5mdW5jdGlvbiBhc3NlcnRFbmRPZmZzZXQodmFsdWUsIHN0YXJ0LCBlbmQpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnbnVtYmVyJyAmJlxuICAgICAgICB0eXBlb2YgZW5kID09PSAnbnVtYmVyJyAmJlxuICAgICAgICBzaXplKHZhbHVlKSAhPT0gZW5kIC0gc3RhcnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFNsaWNlT2Zmc2V0T3V0T2ZCb3VuZHNFcnJvcih7XG4gICAgICAgICAgICBvZmZzZXQ6IGVuZCxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnZW5kJyxcbiAgICAgICAgICAgIHNpemU6IHNpemUodmFsdWUpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIGEgc2VjdGlvbiBvZiB0aGUgYnl0ZSBhcnJheSBnaXZlbiBhIHN0YXJ0L2VuZCBieXRlcyBvZmZzZXQuXG4gKlxuICogQHBhcmFtIHZhbHVlIFRoZSBieXRlIGFycmF5IHRvIHNsaWNlLlxuICogQHBhcmFtIHN0YXJ0IFRoZSBzdGFydCBvZmZzZXQgKGluIGJ5dGVzKS5cbiAqIEBwYXJhbSBlbmQgVGhlIGVuZCBvZmZzZXQgKGluIGJ5dGVzKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNsaWNlQnl0ZXModmFsdWVfLCBzdGFydCwgZW5kLCB7IHN0cmljdCB9ID0ge30pIHtcbiAgICBhc3NlcnRTdGFydE9mZnNldCh2YWx1ZV8sIHN0YXJ0KTtcbiAgICBjb25zdCB2YWx1ZSA9IHZhbHVlXy5zbGljZShzdGFydCwgZW5kKTtcbiAgICBpZiAoc3RyaWN0KVxuICAgICAgICBhc3NlcnRFbmRPZmZzZXQodmFsdWUsIHN0YXJ0LCBlbmQpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJldHVybnMgYSBzZWN0aW9uIG9mIHRoZSBoZXggdmFsdWUgZ2l2ZW4gYSBzdGFydC9lbmQgYnl0ZXMgb2Zmc2V0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgaGV4IHZhbHVlIHRvIHNsaWNlLlxuICogQHBhcmFtIHN0YXJ0IFRoZSBzdGFydCBvZmZzZXQgKGluIGJ5dGVzKS5cbiAqIEBwYXJhbSBlbmQgVGhlIGVuZCBvZmZzZXQgKGluIGJ5dGVzKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNsaWNlSGV4KHZhbHVlXywgc3RhcnQsIGVuZCwgeyBzdHJpY3QgfSA9IHt9KSB7XG4gICAgYXNzZXJ0U3RhcnRPZmZzZXQodmFsdWVfLCBzdGFydCk7XG4gICAgY29uc3QgdmFsdWUgPSBgMHgke3ZhbHVlX1xuICAgICAgICAucmVwbGFjZSgnMHgnLCAnJylcbiAgICAgICAgLnNsaWNlKChzdGFydCA/PyAwKSAqIDIsIChlbmQgPz8gdmFsdWVfLmxlbmd0aCkgKiAyKX1gO1xuICAgIGlmIChzdHJpY3QpXG4gICAgICAgIGFzc2VydEVuZE9mZnNldCh2YWx1ZSwgc3RhcnQsIGVuZCk7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2xpY2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/slice.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/data/trim.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/data/trim.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ trim: function() { return /* binding */ trim; }\n/* harmony export */ });\nfunction trim(hexOrBytes, { dir = 'left' } = {}) {\n let data = typeof hexOrBytes === 'string' ? hexOrBytes.replace('0x', '') : hexOrBytes;\n let sliceLength = 0;\n for (let i = 0; i < data.length - 1; i++) {\n if (data[dir === 'left' ? i : data.length - i - 1].toString() === '0')\n sliceLength++;\n else\n break;\n }\n data =\n dir === 'left'\n ? data.slice(sliceLength)\n : data.slice(0, data.length - sliceLength);\n if (typeof hexOrBytes === 'string') {\n if (data.length === 1 && dir === 'right')\n data = `${data}0`;\n return `0x${data.length % 2 === 1 ? `0${data}` : data}`;\n }\n return data;\n}\n//# sourceMappingURL=trim.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9kYXRhL3RyaW0uanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLDRCQUE0QixlQUFlLElBQUk7QUFDdEQ7QUFDQTtBQUNBLG9CQUFvQixxQkFBcUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixLQUFLO0FBQzNCLG9CQUFvQiw0QkFBNEIsS0FBSyxTQUFTO0FBQzlEO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2RhdGEvdHJpbS5qcz83ZDE1Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0cmltKGhleE9yQnl0ZXMsIHsgZGlyID0gJ2xlZnQnIH0gPSB7fSkge1xuICAgIGxldCBkYXRhID0gdHlwZW9mIGhleE9yQnl0ZXMgPT09ICdzdHJpbmcnID8gaGV4T3JCeXRlcy5yZXBsYWNlKCcweCcsICcnKSA6IGhleE9yQnl0ZXM7XG4gICAgbGV0IHNsaWNlTGVuZ3RoID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgIGlmIChkYXRhW2RpciA9PT0gJ2xlZnQnID8gaSA6IGRhdGEubGVuZ3RoIC0gaSAtIDFdLnRvU3RyaW5nKCkgPT09ICcwJylcbiAgICAgICAgICAgIHNsaWNlTGVuZ3RoKys7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkYXRhID1cbiAgICAgICAgZGlyID09PSAnbGVmdCdcbiAgICAgICAgICAgID8gZGF0YS5zbGljZShzbGljZUxlbmd0aClcbiAgICAgICAgICAgIDogZGF0YS5zbGljZSgwLCBkYXRhLmxlbmd0aCAtIHNsaWNlTGVuZ3RoKTtcbiAgICBpZiAodHlwZW9mIGhleE9yQnl0ZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmIChkYXRhLmxlbmd0aCA9PT0gMSAmJiBkaXIgPT09ICdyaWdodCcpXG4gICAgICAgICAgICBkYXRhID0gYCR7ZGF0YX0wYDtcbiAgICAgICAgcmV0dXJuIGAweCR7ZGF0YS5sZW5ndGggJSAyID09PSAxID8gYDAke2RhdGF9YCA6IGRhdGF9YDtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmltLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/data/trim.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/encoding/fromBytes.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/encoding/fromBytes.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytesToBigint: function() { return /* binding */ bytesToBigint; },\n/* harmony export */ bytesToBool: function() { return /* binding */ bytesToBool; },\n/* harmony export */ bytesToNumber: function() { return /* binding */ bytesToNumber; },\n/* harmony export */ bytesToString: function() { return /* binding */ bytesToString; },\n/* harmony export */ fromBytes: function() { return /* binding */ fromBytes; }\n/* harmony export */ });\n/* harmony import */ var _errors_encoding_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/esm/errors/encoding.js\");\n/* harmony import */ var _data_trim_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _fromHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\n\n/**\n * Decodes a byte array into a UTF-8 string, hex value, number, bigint or boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromBytes.html\n * - Example: https://viem.sh/docs/utilities/fromBytes.html#usage\n *\n * @param bytes Byte array to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromBytes } from 'viem'\n * const data = fromBytes(new Uint8Array([1, 164]), 'number')\n * // 420\n *\n * @example\n * import { fromBytes } from 'viem'\n * const data = fromBytes(\n * new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]),\n * 'string'\n * )\n * // 'Hello world'\n */\nfunction fromBytes(bytes, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return bytesToNumber(bytes, opts);\n if (to === 'bigint')\n return bytesToBigint(bytes, opts);\n if (to === 'boolean')\n return bytesToBool(bytes, opts);\n if (to === 'string')\n return bytesToString(bytes, opts);\n return (0,_toHex_js__WEBPACK_IMPORTED_MODULE_0__.bytesToHex)(bytes, opts);\n}\n/**\n * Decodes a byte array into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromBytes.html#bytestobigint\n *\n * @param bytes Byte array to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { bytesToBigint } from 'viem'\n * const data = bytesToBigint(new Uint8Array([1, 164]))\n * // 420n\n */\nfunction bytesToBigint(bytes, opts = {}) {\n if (typeof opts.size !== 'undefined')\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(bytes, { size: opts.size });\n const hex = (0,_toHex_js__WEBPACK_IMPORTED_MODULE_0__.bytesToHex)(bytes, opts);\n return (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.hexToBigInt)(hex);\n}\n/**\n * Decodes a byte array into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromBytes.html#bytestobool\n *\n * @param bytes Byte array to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { bytesToBool } from 'viem'\n * const data = bytesToBool(new Uint8Array([1]))\n * // true\n */\nfunction bytesToBool(bytes_, opts = {}) {\n let bytes = bytes_;\n if (typeof opts.size !== 'undefined') {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(bytes, { size: opts.size });\n bytes = (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_2__.trim)(bytes);\n }\n if (bytes.length > 1 || bytes[0] > 1)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_3__.InvalidBytesBooleanError(bytes);\n return Boolean(bytes[0]);\n}\n/**\n * Decodes a byte array into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromBytes.html#bytestonumber\n *\n * @param bytes Byte array to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { bytesToNumber } from 'viem'\n * const data = bytesToNumber(new Uint8Array([1, 164]))\n * // 420\n */\nfunction bytesToNumber(bytes, opts = {}) {\n if (typeof opts.size !== 'undefined')\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(bytes, { size: opts.size });\n const hex = (0,_toHex_js__WEBPACK_IMPORTED_MODULE_0__.bytesToHex)(bytes, opts);\n return (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.hexToNumber)(hex);\n}\n/**\n * Decodes a byte array into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromBytes.html#bytestostring\n *\n * @param bytes Byte array to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { bytesToString } from 'viem'\n * const data = bytesToString(new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]))\n * // 'Hello world'\n */\nfunction bytesToString(bytes_, opts = {}) {\n let bytes = bytes_;\n if (typeof opts.size !== 'undefined') {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(bytes, { size: opts.size });\n bytes = (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_2__.trim)(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy9mcm9tQnl0ZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQW9FO0FBQzdCO0FBQzZCO0FBQzVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFlBQVk7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFlBQVk7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxrREFBa0QsZUFBZTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHFEQUFVO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDTyx1Q0FBdUM7QUFDOUM7QUFDQSxRQUFRLHVEQUFVLFVBQVUsaUJBQWlCO0FBQzdDLGdCQUFnQixxREFBVTtBQUMxQixXQUFXLHdEQUFXO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ08sc0NBQXNDO0FBQzdDO0FBQ0E7QUFDQSxRQUFRLHVEQUFVLFVBQVUsaUJBQWlCO0FBQzdDLGdCQUFnQixtREFBSTtBQUNwQjtBQUNBO0FBQ0Esa0JBQWtCLHlFQUF3QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDTyx1Q0FBdUM7QUFDOUM7QUFDQSxRQUFRLHVEQUFVLFVBQVUsaUJBQWlCO0FBQzdDLGdCQUFnQixxREFBVTtBQUMxQixXQUFXLHdEQUFXO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGdCQUFnQjtBQUM1QjtBQUNBO0FBQ0E7QUFDTyx3Q0FBd0M7QUFDL0M7QUFDQTtBQUNBLFFBQVEsdURBQVUsVUFBVSxpQkFBaUI7QUFDN0MsZ0JBQWdCLG1EQUFJLFVBQVUsY0FBYztBQUM1QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy9mcm9tQnl0ZXMuanM/MWNmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkQnl0ZXNCb29sZWFuRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvZW5jb2RpbmcuanMnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJy4uL2RhdGEvdHJpbS5qcyc7XG5pbXBvcnQgeyBhc3NlcnRTaXplLCBoZXhUb0JpZ0ludCwgaGV4VG9OdW1iZXIgfSBmcm9tICcuL2Zyb21IZXguanMnO1xuaW1wb3J0IHsgYnl0ZXNUb0hleCB9IGZyb20gJy4vdG9IZXguanMnO1xuLyoqXG4gKiBEZWNvZGVzIGEgYnl0ZSBhcnJheSBpbnRvIGEgVVRGLTggc3RyaW5nLCBoZXggdmFsdWUsIG51bWJlciwgYmlnaW50IG9yIGJvb2xlYW4uXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZnJvbUJ5dGVzLmh0bWxcbiAqIC0gRXhhbXBsZTogaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL2Zyb21CeXRlcy5odG1sI3VzYWdlXG4gKlxuICogQHBhcmFtIGJ5dGVzIEJ5dGUgYXJyYXkgdG8gZGVjb2RlLlxuICogQHBhcmFtIHRvT3JPcHRzIFR5cGUgdG8gY29udmVydCB0byBvciBvcHRpb25zLlxuICogQHJldHVybnMgRGVjb2RlZCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgZnJvbUJ5dGVzIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBmcm9tQnl0ZXMobmV3IFVpbnQ4QXJyYXkoWzEsIDE2NF0pLCAnbnVtYmVyJylcbiAqIC8vIDQyMFxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBmcm9tQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGZyb21CeXRlcyhcbiAqICAgbmV3IFVpbnQ4QXJyYXkoWzcyLCAxMDEsIDEwOCwgMTA4LCAxMTEsIDMyLCA4NywgMTExLCAxMTQsIDEwOCwgMTAwLCAzM10pLFxuICogICAnc3RyaW5nJ1xuICogKVxuICogLy8gJ0hlbGxvIHdvcmxkJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUJ5dGVzKGJ5dGVzLCB0b09yT3B0cykge1xuICAgIGNvbnN0IG9wdHMgPSB0eXBlb2YgdG9Pck9wdHMgPT09ICdzdHJpbmcnID8geyB0bzogdG9Pck9wdHMgfSA6IHRvT3JPcHRzO1xuICAgIGNvbnN0IHRvID0gb3B0cy50bztcbiAgICBpZiAodG8gPT09ICdudW1iZXInKVxuICAgICAgICByZXR1cm4gYnl0ZXNUb051bWJlcihieXRlcywgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIGJ5dGVzVG9CaWdpbnQoYnl0ZXMsIG9wdHMpO1xuICAgIGlmICh0byA9PT0gJ2Jvb2xlYW4nKVxuICAgICAgICByZXR1cm4gYnl0ZXNUb0Jvb2woYnl0ZXMsIG9wdHMpO1xuICAgIGlmICh0byA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiBieXRlc1RvU3RyaW5nKGJ5dGVzLCBvcHRzKTtcbiAgICByZXR1cm4gYnl0ZXNUb0hleChieXRlcywgb3B0cyk7XG59XG4vKipcbiAqIERlY29kZXMgYSBieXRlIGFycmF5IGludG8gYSBiaWdpbnQuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZnJvbUJ5dGVzLmh0bWwjYnl0ZXN0b2JpZ2ludFxuICpcbiAqIEBwYXJhbSBieXRlcyBCeXRlIGFycmF5IHRvIGRlY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBCaWdJbnQgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGJ5dGVzVG9CaWdpbnQgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGJ5dGVzVG9CaWdpbnQobmV3IFVpbnQ4QXJyYXkoWzEsIDE2NF0pKVxuICogLy8gNDIwblxuICovXG5leHBvcnQgZnVuY3Rpb24gYnl0ZXNUb0JpZ2ludChieXRlcywgb3B0cyA9IHt9KSB7XG4gICAgaWYgKHR5cGVvZiBvcHRzLnNpemUgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICBhc3NlcnRTaXplKGJ5dGVzLCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICBjb25zdCBoZXggPSBieXRlc1RvSGV4KGJ5dGVzLCBvcHRzKTtcbiAgICByZXR1cm4gaGV4VG9CaWdJbnQoaGV4KTtcbn1cbi8qKlxuICogRGVjb2RlcyBhIGJ5dGUgYXJyYXkgaW50byBhIGJvb2xlYW4uXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZnJvbUJ5dGVzLmh0bWwjYnl0ZXN0b2Jvb2xcbiAqXG4gKiBAcGFyYW0gYnl0ZXMgQnl0ZSBhcnJheSB0byBkZWNvZGUuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zLlxuICogQHJldHVybnMgQm9vbGVhbiB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgYnl0ZXNUb0Jvb2wgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGJ5dGVzVG9Cb29sKG5ldyBVaW50OEFycmF5KFsxXSkpXG4gKiAvLyB0cnVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvQm9vbChieXRlc18sIG9wdHMgPSB7fSkge1xuICAgIGxldCBieXRlcyA9IGJ5dGVzXztcbiAgICBpZiAodHlwZW9mIG9wdHMuc2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgYXNzZXJ0U2l6ZShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIGJ5dGVzID0gdHJpbShieXRlcyk7XG4gICAgfVxuICAgIGlmIChieXRlcy5sZW5ndGggPiAxIHx8IGJ5dGVzWzBdID4gMSlcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRCeXRlc0Jvb2xlYW5FcnJvcihieXRlcyk7XG4gICAgcmV0dXJuIEJvb2xlYW4oYnl0ZXNbMF0pO1xufVxuLyoqXG4gKiBEZWNvZGVzIGEgYnl0ZSBhcnJheSBpbnRvIGEgbnVtYmVyLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL2Zyb21CeXRlcy5odG1sI2J5dGVzdG9udW1iZXJcbiAqXG4gKiBAcGFyYW0gYnl0ZXMgQnl0ZSBhcnJheSB0byBkZWNvZGUuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zLlxuICogQHJldHVybnMgTnVtYmVyIHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBieXRlc1RvTnVtYmVyIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBieXRlc1RvTnVtYmVyKG5ldyBVaW50OEFycmF5KFsxLCAxNjRdKSlcbiAqIC8vIDQyMFxuICovXG5leHBvcnQgZnVuY3Rpb24gYnl0ZXNUb051bWJlcihieXRlcywgb3B0cyA9IHt9KSB7XG4gICAgaWYgKHR5cGVvZiBvcHRzLnNpemUgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICBhc3NlcnRTaXplKGJ5dGVzLCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICBjb25zdCBoZXggPSBieXRlc1RvSGV4KGJ5dGVzLCBvcHRzKTtcbiAgICByZXR1cm4gaGV4VG9OdW1iZXIoaGV4KTtcbn1cbi8qKlxuICogRGVjb2RlcyBhIGJ5dGUgYXJyYXkgaW50byBhIFVURi04IHN0cmluZy5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy9mcm9tQnl0ZXMuaHRtbCNieXRlc3Rvc3RyaW5nXG4gKlxuICogQHBhcmFtIGJ5dGVzIEJ5dGUgYXJyYXkgdG8gZGVjb2RlLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAqIEByZXR1cm5zIFN0cmluZyB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgYnl0ZXNUb1N0cmluZyB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gYnl0ZXNUb1N0cmluZyhuZXcgVWludDhBcnJheShbNzIsIDEwMSwgMTA4LCAxMDgsIDExMSwgMzIsIDg3LCAxMTEsIDExNCwgMTA4LCAxMDAsIDMzXSkpXG4gKiAvLyAnSGVsbG8gd29ybGQnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvU3RyaW5nKGJ5dGVzXywgb3B0cyA9IHt9KSB7XG4gICAgbGV0IGJ5dGVzID0gYnl0ZXNfO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBhc3NlcnRTaXplKGJ5dGVzLCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgYnl0ZXMgPSB0cmltKGJ5dGVzLCB7IGRpcjogJ3JpZ2h0JyB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShieXRlcyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mcm9tQnl0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/encoding/fromBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/encoding/fromHex.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/encoding/fromHex.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertSize: function() { return /* binding */ assertSize; },\n/* harmony export */ fromHex: function() { return /* binding */ fromHex; },\n/* harmony export */ hexToBigInt: function() { return /* binding */ hexToBigInt; },\n/* harmony export */ hexToBool: function() { return /* binding */ hexToBool; },\n/* harmony export */ hexToNumber: function() { return /* binding */ hexToNumber; },\n/* harmony export */ hexToString: function() { return /* binding */ hexToString; }\n/* harmony export */ });\n/* harmony import */ var _errors_encoding_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/esm/errors/encoding.js\");\n/* harmony import */ var _data_size_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _data_trim_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _toBytes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n\n\n\n\nfunction assertSize(hexOrBytes, { size }) {\n if ((0,_data_size_js__WEBPACK_IMPORTED_MODULE_0__.size)(hexOrBytes) > size)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_1__.SizeOverflowError({\n givenSize: (0,_data_size_js__WEBPACK_IMPORTED_MODULE_0__.size)(hexOrBytes),\n maxSize: size,\n });\n}\n/**\n * Decodes a hex string into a string, number, bigint, boolean, or byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html\n * - Example: https://viem.sh/docs/utilities/fromHex.html#usage\n *\n * @param hex Hex string to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x1a4', 'number')\n * // 420\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c6421', 'string')\n * // 'Hello world'\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * to: 'string'\n * })\n * // 'Hello world'\n */\nfunction fromHex(hex, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return hexToNumber(hex, opts);\n if (to === 'bigint')\n return hexToBigInt(hex, opts);\n if (to === 'string')\n return hexToString(hex, opts);\n if (to === 'boolean')\n return hexToBool(hex, opts);\n return (0,_toBytes_js__WEBPACK_IMPORTED_MODULE_2__.hexToBytes)(hex, opts);\n}\n/**\n * Decodes a hex value into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextobigint\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x1a4', { signed: true })\n * // 420n\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420n\n */\nfunction hexToBigInt(hex, opts = {}) {\n const { signed } = opts;\n if (opts.size)\n assertSize(hex, { size: opts.size });\n const value = BigInt(hex);\n if (!signed)\n return value;\n const size = (hex.length - 2) / 2;\n const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n if (value <= max)\n return value;\n return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\n/**\n * Decodes a hex value into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextobool\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x01')\n * // true\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })\n * // true\n */\nfunction hexToBool(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(hex);\n }\n if ((0,_data_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(hex) === '0x00')\n return false;\n if ((0,_data_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(hex) === '0x01')\n return true;\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_1__.InvalidHexBooleanError(hex);\n}\n/**\n * Decodes a hex string into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextonumber\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToNumber('0x1a4')\n * // 420\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420\n */\nfunction hexToNumber(hex, opts = {}) {\n return Number(hexToBigInt(hex, opts));\n}\n/**\n * Decodes a hex value into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextostring\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c6421')\n * // 'Hello world!'\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * })\n * // 'Hello world'\n */\nfunction hexToString(hex, opts = {}) {\n let bytes = (0,_toBytes_js__WEBPACK_IMPORTED_MODULE_2__.hexToBytes)(hex);\n if (opts.size) {\n assertSize(bytes, { size: opts.size });\n bytes = (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromHex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBc0Y7QUFDdEM7QUFDVDtBQUNHO0FBQ25DLGtDQUFrQyxNQUFNO0FBQy9DLFFBQVEsbURBQUs7QUFDYixrQkFBa0Isa0VBQWlCO0FBQ25DLHVCQUF1QixtREFBSztBQUM1QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDTztBQUNQLGtEQUFrRCxlQUFlO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsdURBQVU7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQix1Q0FBdUMsY0FBYztBQUNyRDtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUIsb0dBQW9HLFVBQVU7QUFDOUc7QUFDQTtBQUNPLG1DQUFtQztBQUMxQyxZQUFZLFNBQVM7QUFDckI7QUFDQSwwQkFBMEIsaUJBQWlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLDRCQUE0QjtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCLGtHQUFrRyxVQUFVO0FBQzVHO0FBQ0E7QUFDTyxrQ0FBa0M7QUFDekM7QUFDQTtBQUNBLDBCQUEwQixpQkFBaUI7QUFDM0MsY0FBYyxtREFBSTtBQUNsQjtBQUNBLFFBQVEsbURBQUk7QUFDWjtBQUNBLFFBQVEsbURBQUk7QUFDWjtBQUNBLGNBQWMsdUVBQXNCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUIsb0dBQW9HLFVBQVU7QUFDOUc7QUFDQTtBQUNPLG1DQUFtQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ08sbUNBQW1DO0FBQzFDLGdCQUFnQix1REFBVTtBQUMxQjtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0MsZ0JBQWdCLG1EQUFJLFVBQVUsY0FBYztBQUM1QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy9mcm9tSGV4LmpzP2NkZGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZEhleEJvb2xlYW5FcnJvciwgU2l6ZU92ZXJmbG93RXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2VuY29kaW5nLmpzJztcbmltcG9ydCB7IHNpemUgYXMgc2l6ZV8gfSBmcm9tICcuLi9kYXRhL3NpemUuanMnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJy4uL2RhdGEvdHJpbS5qcyc7XG5pbXBvcnQgeyBoZXhUb0J5dGVzIH0gZnJvbSAnLi90b0J5dGVzLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRTaXplKGhleE9yQnl0ZXMsIHsgc2l6ZSB9KSB7XG4gICAgaWYgKHNpemVfKGhleE9yQnl0ZXMpID4gc2l6ZSlcbiAgICAgICAgdGhyb3cgbmV3IFNpemVPdmVyZmxvd0Vycm9yKHtcbiAgICAgICAgICAgIGdpdmVuU2l6ZTogc2l6ZV8oaGV4T3JCeXRlcyksXG4gICAgICAgICAgICBtYXhTaXplOiBzaXplLFxuICAgICAgICB9KTtcbn1cbi8qKlxuICogRGVjb2RlcyBhIGhleCBzdHJpbmcgaW50byBhIHN0cmluZywgbnVtYmVyLCBiaWdpbnQsIGJvb2xlYW4sIG9yIGJ5dGUgYXJyYXkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZnJvbUhleC5odG1sXG4gKiAtIEV4YW1wbGU6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy9mcm9tSGV4Lmh0bWwjdXNhZ2VcbiAqXG4gKiBAcGFyYW0gaGV4IEhleCBzdHJpbmcgdG8gZGVjb2RlLlxuICogQHBhcmFtIHRvT3JPcHRzIFR5cGUgdG8gY29udmVydCB0byBvciBvcHRpb25zLlxuICogQHJldHVybnMgRGVjb2RlZCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgZnJvbUhleCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gZnJvbUhleCgnMHgxYTQnLCAnbnVtYmVyJylcbiAqIC8vIDQyMFxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBmcm9tSGV4IH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBmcm9tSGV4KCcweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMScsICdzdHJpbmcnKVxuICogLy8gJ0hlbGxvIHdvcmxkJ1xuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBmcm9tSGV4IH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBmcm9tSGV4KCcweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLCB7XG4gKiAgIHNpemU6IDMyLFxuICogICB0bzogJ3N0cmluZydcbiAqIH0pXG4gKiAvLyAnSGVsbG8gd29ybGQnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tSGV4KGhleCwgdG9Pck9wdHMpIHtcbiAgICBjb25zdCBvcHRzID0gdHlwZW9mIHRvT3JPcHRzID09PSAnc3RyaW5nJyA/IHsgdG86IHRvT3JPcHRzIH0gOiB0b09yT3B0cztcbiAgICBjb25zdCB0byA9IG9wdHMudG87XG4gICAgaWYgKHRvID09PSAnbnVtYmVyJylcbiAgICAgICAgcmV0dXJuIGhleFRvTnVtYmVyKGhleCwgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIGhleFRvQmlnSW50KGhleCwgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIGhleFRvU3RyaW5nKGhleCwgb3B0cyk7XG4gICAgaWYgKHRvID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBoZXhUb0Jvb2woaGV4LCBvcHRzKTtcbiAgICByZXR1cm4gaGV4VG9CeXRlcyhoZXgsIG9wdHMpO1xufVxuLyoqXG4gKiBEZWNvZGVzIGEgaGV4IHZhbHVlIGludG8gYSBiaWdpbnQuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZnJvbUhleC5odG1sI2hleHRvYmlnaW50XG4gKlxuICogQHBhcmFtIGhleCBIZXggdmFsdWUgdG8gZGVjb2RlLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAqIEByZXR1cm5zIEJpZ0ludCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgaGV4VG9CaWdJbnQgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGhleFRvQmlnSW50KCcweDFhNCcsIHsgc2lnbmVkOiB0cnVlIH0pXG4gKiAvLyA0MjBuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGhleFRvQmlnSW50IH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBoZXhUb0JpZ0ludCgnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWE0JywgeyBzaXplOiAzMiB9KVxuICogLy8gNDIwblxuICovXG5leHBvcnQgZnVuY3Rpb24gaGV4VG9CaWdJbnQoaGV4LCBvcHRzID0ge30pIHtcbiAgICBjb25zdCB7IHNpZ25lZCB9ID0gb3B0cztcbiAgICBpZiAob3B0cy5zaXplKVxuICAgICAgICBhc3NlcnRTaXplKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgY29uc3QgdmFsdWUgPSBCaWdJbnQoaGV4KTtcbiAgICBpZiAoIXNpZ25lZClcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIGNvbnN0IHNpemUgPSAoaGV4Lmxlbmd0aCAtIDIpIC8gMjtcbiAgICBjb25zdCBtYXggPSAoMW4gPDwgKEJpZ0ludChzaXplKSAqIDhuIC0gMW4pKSAtIDFuO1xuICAgIGlmICh2YWx1ZSA8PSBtYXgpXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICByZXR1cm4gdmFsdWUgLSBCaWdJbnQoYDB4JHsnZicucGFkU3RhcnQoc2l6ZSAqIDIsICdmJyl9YCkgLSAxbjtcbn1cbi8qKlxuICogRGVjb2RlcyBhIGhleCB2YWx1ZSBpbnRvIGEgYm9vbGVhbi5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy9mcm9tSGV4Lmh0bWwjaGV4dG9ib29sXG4gKlxuICogQHBhcmFtIGhleCBIZXggdmFsdWUgdG8gZGVjb2RlLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGhleFRvQm9vbCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gaGV4VG9Cb29sKCcweDAxJylcbiAqIC8vIHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgaGV4VG9Cb29sIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBoZXhUb0Jvb2woJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMScsIHsgc2l6ZTogMzIgfSlcbiAqIC8vIHRydWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQm9vbChoZXhfLCBvcHRzID0ge30pIHtcbiAgICBsZXQgaGV4ID0gaGV4XztcbiAgICBpZiAob3B0cy5zaXplKSB7XG4gICAgICAgIGFzc2VydFNpemUoaGV4LCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgaGV4ID0gdHJpbShoZXgpO1xuICAgIH1cbiAgICBpZiAodHJpbShoZXgpID09PSAnMHgwMCcpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHJpbShoZXgpID09PSAnMHgwMScpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIHRocm93IG5ldyBJbnZhbGlkSGV4Qm9vbGVhbkVycm9yKGhleCk7XG59XG4vKipcbiAqIERlY29kZXMgYSBoZXggc3RyaW5nIGludG8gYSBudW1iZXIuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvZnJvbUhleC5odG1sI2hleHRvbnVtYmVyXG4gKlxuICogQHBhcmFtIGhleCBIZXggdmFsdWUgdG8gZGVjb2RlLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAqIEByZXR1cm5zIE51bWJlciB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgaGV4VG9OdW1iZXIgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGhleFRvTnVtYmVyKCcweDFhNCcpXG4gKiAvLyA0MjBcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgaGV4VG9OdW1iZXIgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGhleFRvQmlnSW50KCcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxYTQnLCB7IHNpemU6IDMyIH0pXG4gKiAvLyA0MjBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvTnVtYmVyKGhleCwgb3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIE51bWJlcihoZXhUb0JpZ0ludChoZXgsIG9wdHMpKTtcbn1cbi8qKlxuICogRGVjb2RlcyBhIGhleCB2YWx1ZSBpbnRvIGEgVVRGLTggc3RyaW5nLlxuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL2Zyb21IZXguaHRtbCNoZXh0b3N0cmluZ1xuICpcbiAqIEBwYXJhbSBoZXggSGV4IHZhbHVlIHRvIGRlY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBTdHJpbmcgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGhleFRvU3RyaW5nIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBoZXhUb1N0cmluZygnMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEnKVxuICogLy8gJ0hlbGxvIHdvcmxkISdcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgaGV4VG9TdHJpbmcgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGhleFRvU3RyaW5nKCcweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLCB7XG4gKiAgc2l6ZTogMzIsXG4gKiB9KVxuICogLy8gJ0hlbGxvIHdvcmxkJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGV4VG9TdHJpbmcoaGV4LCBvcHRzID0ge30pIHtcbiAgICBsZXQgYnl0ZXMgPSBoZXhUb0J5dGVzKGhleCk7XG4gICAgaWYgKG9wdHMuc2l6ZSkge1xuICAgICAgICBhc3NlcnRTaXplKGJ5dGVzLCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgYnl0ZXMgPSB0cmltKGJ5dGVzLCB7IGRpcjogJ3JpZ2h0JyB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShieXRlcyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mcm9tSGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/encoding/fromHex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/encoding/fromRlp.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/encoding/fromRlp.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fromRlp: function() { return /* binding */ fromRlp; }\n/* harmony export */ });\n/* harmony import */ var _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/esm/errors/encoding.js\");\n/* harmony import */ var _fromBytes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fromBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromBytes.js\");\n/* harmony import */ var _toBytes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _toHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\n\nfunction fromRlp(value, to) {\n const bytes = parse(value);\n const [data, consumed] = rlpToBytes(bytes);\n if (consumed < bytes.length)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__.DataLengthTooLongError({\n consumed,\n length: bytes.length,\n });\n return format(data, to);\n}\nfunction parse(value) {\n if (typeof value === 'string') {\n if (value.length > 3 && value.length % 2 !== 0)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__.InvalidHexValueError(value);\n return (0,_toBytes_js__WEBPACK_IMPORTED_MODULE_1__.hexToBytes)(value);\n }\n return value;\n}\nfunction format(bytes, to) {\n if (Array.isArray(bytes))\n return bytes.map((b) => format(b, to));\n return (to === 'hex' ? (0,_toHex_js__WEBPACK_IMPORTED_MODULE_2__.bytesToHex)(bytes) : bytes);\n}\nfunction rlpToBytes(bytes, offset = 0) {\n if (bytes.length === 0)\n return [new Uint8Array([]), 0];\n const prefix = bytes[offset];\n if (prefix <= 0x7f)\n return [new Uint8Array([bytes[offset]]), 1];\n if (prefix <= 0xb7) {\n const length = prefix - 0x80;\n const offset_ = offset + 1;\n if (offset_ + length > bytes.length)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__.DataLengthTooShortError({\n length: offset_ + length,\n dataLength: bytes.length,\n });\n return [bytes.slice(offset_, offset_ + length), 1 + length];\n }\n if (prefix <= 0xbf) {\n const lengthOfLength = prefix - 0xb7;\n const offset_ = offset + 1;\n const length = (0,_fromBytes_js__WEBPACK_IMPORTED_MODULE_3__.bytesToNumber)(bytes.slice(offset_, offset_ + lengthOfLength));\n if (offset_ + lengthOfLength + length > bytes.length)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__.DataLengthTooShortError({\n length: lengthOfLength + length,\n dataLength: bytes.length - lengthOfLength,\n });\n return [\n bytes.slice(offset_ + lengthOfLength, offset_ + lengthOfLength + length),\n 1 + lengthOfLength + length,\n ];\n }\n let lengthOfLength = 0;\n let length = prefix - 0xc0;\n if (prefix > 0xf7) {\n lengthOfLength = prefix - 0xf7;\n length = (0,_fromBytes_js__WEBPACK_IMPORTED_MODULE_3__.bytesToNumber)(bytes.slice(offset + 1, offset + 1 + lengthOfLength));\n }\n let nextOffset = offset + 1 + lengthOfLength;\n if (nextOffset > bytes.length)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__.DataLengthTooShortError({\n length: nextOffset,\n dataLength: bytes.length,\n });\n const consumed = 1 + lengthOfLength + length;\n const result = [];\n while (nextOffset < offset + consumed) {\n const decoded = rlpToBytes(bytes, nextOffset);\n result.push(decoded[0]);\n nextOffset += decoded[1];\n if (nextOffset > offset + consumed)\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_0__.OffsetOutOfBoundsError({\n nextOffset: nextOffset,\n offset: offset + consumed,\n });\n }\n return [result, consumed];\n}\n//# sourceMappingURL=fromRlp.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy9mcm9tUmxwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTBJO0FBQzNGO0FBQ0w7QUFDRjtBQUNqQztBQUNQO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix1RUFBc0I7QUFDeEM7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHFFQUFvQjtBQUMxQyxlQUFlLHVEQUFVO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixxREFBVTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHdFQUF1QjtBQUM3QztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNERBQWE7QUFDcEM7QUFDQSxzQkFBc0Isd0VBQXVCO0FBQzdDO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDREQUFhO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix3RUFBdUI7QUFDekM7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQix1RUFBc0I7QUFDNUM7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy9mcm9tUmxwLmpzPzZkMWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUxlbmd0aFRvb0xvbmdFcnJvciwgRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3IsIEludmFsaWRIZXhWYWx1ZUVycm9yLCBPZmZzZXRPdXRPZkJvdW5kc0Vycm9yLCB9IGZyb20gJy4uLy4uL2Vycm9ycy9lbmNvZGluZy5qcyc7XG5pbXBvcnQgeyBieXRlc1RvTnVtYmVyIH0gZnJvbSAnLi9mcm9tQnl0ZXMuanMnO1xuaW1wb3J0IHsgaGV4VG9CeXRlcyB9IGZyb20gJy4vdG9CeXRlcy5qcyc7XG5pbXBvcnQgeyBieXRlc1RvSGV4IH0gZnJvbSAnLi90b0hleC5qcyc7XG5leHBvcnQgZnVuY3Rpb24gZnJvbVJscCh2YWx1ZSwgdG8pIHtcbiAgICBjb25zdCBieXRlcyA9IHBhcnNlKHZhbHVlKTtcbiAgICBjb25zdCBbZGF0YSwgY29uc3VtZWRdID0gcmxwVG9CeXRlcyhieXRlcyk7XG4gICAgaWYgKGNvbnN1bWVkIDwgYnl0ZXMubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRGF0YUxlbmd0aFRvb0xvbmdFcnJvcih7XG4gICAgICAgICAgICBjb25zdW1lZCxcbiAgICAgICAgICAgIGxlbmd0aDogYnl0ZXMubGVuZ3RoLFxuICAgICAgICB9KTtcbiAgICByZXR1cm4gZm9ybWF0KGRhdGEsIHRvKTtcbn1cbmZ1bmN0aW9uIHBhcnNlKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDMgJiYgdmFsdWUubGVuZ3RoICUgMiAhPT0gMClcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkSGV4VmFsdWVFcnJvcih2YWx1ZSk7XG4gICAgICAgIHJldHVybiBoZXhUb0J5dGVzKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuZnVuY3Rpb24gZm9ybWF0KGJ5dGVzLCB0bykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGJ5dGVzKSlcbiAgICAgICAgcmV0dXJuIGJ5dGVzLm1hcCgoYikgPT4gZm9ybWF0KGIsIHRvKSk7XG4gICAgcmV0dXJuICh0byA9PT0gJ2hleCcgPyBieXRlc1RvSGV4KGJ5dGVzKSA6IGJ5dGVzKTtcbn1cbmZ1bmN0aW9uIHJscFRvQnl0ZXMoYnl0ZXMsIG9mZnNldCA9IDApIHtcbiAgICBpZiAoYnl0ZXMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gW25ldyBVaW50OEFycmF5KFtdKSwgMF07XG4gICAgY29uc3QgcHJlZml4ID0gYnl0ZXNbb2Zmc2V0XTtcbiAgICBpZiAocHJlZml4IDw9IDB4N2YpXG4gICAgICAgIHJldHVybiBbbmV3IFVpbnQ4QXJyYXkoW2J5dGVzW29mZnNldF1dKSwgMV07XG4gICAgaWYgKHByZWZpeCA8PSAweGI3KSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHByZWZpeCAtIDB4ODA7XG4gICAgICAgIGNvbnN0IG9mZnNldF8gPSBvZmZzZXQgKyAxO1xuICAgICAgICBpZiAob2Zmc2V0XyArIGxlbmd0aCA+IGJ5dGVzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBEYXRhTGVuZ3RoVG9vU2hvcnRFcnJvcih7XG4gICAgICAgICAgICAgICAgbGVuZ3RoOiBvZmZzZXRfICsgbGVuZ3RoLFxuICAgICAgICAgICAgICAgIGRhdGFMZW5ndGg6IGJ5dGVzLmxlbmd0aCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gW2J5dGVzLnNsaWNlKG9mZnNldF8sIG9mZnNldF8gKyBsZW5ndGgpLCAxICsgbGVuZ3RoXTtcbiAgICB9XG4gICAgaWYgKHByZWZpeCA8PSAweGJmKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aE9mTGVuZ3RoID0gcHJlZml4IC0gMHhiNztcbiAgICAgICAgY29uc3Qgb2Zmc2V0XyA9IG9mZnNldCArIDE7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGJ5dGVzVG9OdW1iZXIoYnl0ZXMuc2xpY2Uob2Zmc2V0Xywgb2Zmc2V0XyArIGxlbmd0aE9mTGVuZ3RoKSk7XG4gICAgICAgIGlmIChvZmZzZXRfICsgbGVuZ3RoT2ZMZW5ndGggKyBsZW5ndGggPiBieXRlcy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3Ioe1xuICAgICAgICAgICAgICAgIGxlbmd0aDogbGVuZ3RoT2ZMZW5ndGggKyBsZW5ndGgsXG4gICAgICAgICAgICAgICAgZGF0YUxlbmd0aDogYnl0ZXMubGVuZ3RoIC0gbGVuZ3RoT2ZMZW5ndGgsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGJ5dGVzLnNsaWNlKG9mZnNldF8gKyBsZW5ndGhPZkxlbmd0aCwgb2Zmc2V0XyArIGxlbmd0aE9mTGVuZ3RoICsgbGVuZ3RoKSxcbiAgICAgICAgICAgIDEgKyBsZW5ndGhPZkxlbmd0aCArIGxlbmd0aCxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgbGV0IGxlbmd0aE9mTGVuZ3RoID0gMDtcbiAgICBsZXQgbGVuZ3RoID0gcHJlZml4IC0gMHhjMDtcbiAgICBpZiAocHJlZml4ID4gMHhmNykge1xuICAgICAgICBsZW5ndGhPZkxlbmd0aCA9IHByZWZpeCAtIDB4Zjc7XG4gICAgICAgIGxlbmd0aCA9IGJ5dGVzVG9OdW1iZXIoYnl0ZXMuc2xpY2Uob2Zmc2V0ICsgMSwgb2Zmc2V0ICsgMSArIGxlbmd0aE9mTGVuZ3RoKSk7XG4gICAgfVxuICAgIGxldCBuZXh0T2Zmc2V0ID0gb2Zmc2V0ICsgMSArIGxlbmd0aE9mTGVuZ3RoO1xuICAgIGlmIChuZXh0T2Zmc2V0ID4gYnl0ZXMubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRGF0YUxlbmd0aFRvb1Nob3J0RXJyb3Ioe1xuICAgICAgICAgICAgbGVuZ3RoOiBuZXh0T2Zmc2V0LFxuICAgICAgICAgICAgZGF0YUxlbmd0aDogYnl0ZXMubGVuZ3RoLFxuICAgICAgICB9KTtcbiAgICBjb25zdCBjb25zdW1lZCA9IDEgKyBsZW5ndGhPZkxlbmd0aCArIGxlbmd0aDtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICB3aGlsZSAobmV4dE9mZnNldCA8IG9mZnNldCArIGNvbnN1bWVkKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBybHBUb0J5dGVzKGJ5dGVzLCBuZXh0T2Zmc2V0KTtcbiAgICAgICAgcmVzdWx0LnB1c2goZGVjb2RlZFswXSk7XG4gICAgICAgIG5leHRPZmZzZXQgKz0gZGVjb2RlZFsxXTtcbiAgICAgICAgaWYgKG5leHRPZmZzZXQgPiBvZmZzZXQgKyBjb25zdW1lZClcbiAgICAgICAgICAgIHRocm93IG5ldyBPZmZzZXRPdXRPZkJvdW5kc0Vycm9yKHtcbiAgICAgICAgICAgICAgICBuZXh0T2Zmc2V0OiBuZXh0T2Zmc2V0LFxuICAgICAgICAgICAgICAgIG9mZnNldDogb2Zmc2V0ICsgY29uc3VtZWQsXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIFtyZXN1bHQsIGNvbnN1bWVkXTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZyb21SbHAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/encoding/fromRlp.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/encoding/toBytes.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/encoding/toBytes.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ boolToBytes: function() { return /* binding */ boolToBytes; },\n/* harmony export */ hexToBytes: function() { return /* binding */ hexToBytes; },\n/* harmony export */ numberToBytes: function() { return /* binding */ numberToBytes; },\n/* harmony export */ stringToBytes: function() { return /* binding */ stringToBytes; },\n/* harmony export */ toBytes: function() { return /* binding */ toBytes; }\n/* harmony export */ });\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _fromHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _toHex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\n\n\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html\n * - Example: https://viem.sh/docs/utilities/toBytes.html#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes('Hello world')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nfunction toBytes(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToBytes(value, opts);\n if (typeof value === 'boolean')\n return boolToBytes(value, opts);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(value))\n return hexToBytes(value, opts);\n return stringToBytes(value, opts);\n}\n/**\n * Encodes a boolean into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#booltobytes\n *\n * @param value Boolean value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true)\n * // Uint8Array([1])\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true, { size: 32 })\n * // Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\n */\nfunction boolToBytes(value, opts = {}) {\n const bytes = new Uint8Array(1);\n bytes[0] = Number(value);\n if (typeof opts.size === 'number') {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(bytes, { size: opts.size });\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_2__.pad)(bytes, { size: opts.size });\n }\n return bytes;\n}\n/**\n * Encodes a hex string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#hextobytes\n *\n * @param hex Hex string to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nfunction hexToBytes(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(hex, { size: opts.size });\n hex = (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_2__.pad)(hex, { dir: 'right', size: opts.size });\n }\n let hexString = hex.slice(2);\n if (hexString.length % 2)\n hexString = `0${hexString}`;\n const bytes = new Uint8Array(hexString.length / 2);\n for (let index = 0; index < bytes.length; index++) {\n const start = index * 2;\n const hexByte = hexString.slice(start, start + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_3__.BaseError(`Invalid byte sequence (\"${hexByte}\" in \"${hexString}\").`);\n bytes[index] = byte;\n }\n return bytes;\n}\n/**\n * Encodes a number into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#numbertobytes\n *\n * @param value Number to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nfunction numberToBytes(value, opts) {\n const hex = (0,_toHex_js__WEBPACK_IMPORTED_MODULE_4__.numberToHex)(value, opts);\n return hexToBytes(hex);\n}\n/**\n * Encodes a UTF-8 string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#stringtobytes\n *\n * @param value String to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33])\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nfunction stringToBytes(value, opts = {}) {\n const bytes = encoder.encode(value);\n if (typeof opts.size === 'number') {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.assertSize)(bytes, { size: opts.size });\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_2__.pad)(bytes, { dir: 'right', size: opts.size });\n }\n return bytes;\n}\n//# sourceMappingURL=toBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy90b0J5dGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBaUQ7QUFDUjtBQUNKO0FBQ0s7QUFDRDtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEIsK0JBQStCLFNBQVM7QUFDeEM7QUFDQTtBQUNPLGlDQUFpQztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEscURBQUs7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQixvQ0FBb0MsVUFBVTtBQUM5QztBQUNBO0FBQ08scUNBQXFDO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLFFBQVEsdURBQVUsVUFBVSxpQkFBaUI7QUFDN0MsZUFBZSxpREFBRyxVQUFVLGlCQUFpQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksYUFBYTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksYUFBYTtBQUN6QiwyREFBMkQsVUFBVTtBQUNyRTtBQUNBO0FBQ08sbUNBQW1DO0FBQzFDO0FBQ0E7QUFDQSxRQUFRLHVEQUFVLFFBQVEsaUJBQWlCO0FBQzNDLGNBQWMsaURBQUcsUUFBUSwrQkFBK0I7QUFDeEQ7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFVBQVU7QUFDbEM7QUFDQSx3QkFBd0Isc0JBQXNCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNEQUFTLDRCQUE0QixRQUFRLFFBQVEsVUFBVTtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGdCQUFnQjtBQUM1QixxQ0FBcUMsU0FBUztBQUM5QztBQUNBO0FBQ087QUFDUCxnQkFBZ0Isc0RBQVc7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGdCQUFnQjtBQUM1QixnREFBZ0QsVUFBVTtBQUMxRDtBQUNBO0FBQ08sdUNBQXVDO0FBQzlDO0FBQ0E7QUFDQSxRQUFRLHVEQUFVLFVBQVUsaUJBQWlCO0FBQzdDLGVBQWUsaURBQUcsVUFBVSwrQkFBK0I7QUFDM0Q7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvZW5jb2RpbmcvdG9CeXRlcy5qcz80Zjk3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9iYXNlLmpzJztcbmltcG9ydCB7IGlzSGV4IH0gZnJvbSAnLi4vZGF0YS9pc0hleC5qcyc7XG5pbXBvcnQgeyBwYWQgfSBmcm9tICcuLi9kYXRhL3BhZC5qcyc7XG5pbXBvcnQgeyBhc3NlcnRTaXplIH0gZnJvbSAnLi9mcm9tSGV4LmpzJztcbmltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi90b0hleC5qcyc7XG5jb25zdCBlbmNvZGVyID0gLyojX19QVVJFX18qLyBuZXcgVGV4dEVuY29kZXIoKTtcbi8qKlxuICogRW5jb2RlcyBhIFVURi04IHN0cmluZywgaGV4IHZhbHVlLCBiaWdpbnQsIG51bWJlciBvciBib29sZWFuIHRvIGEgYnl0ZSBhcnJheS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy90b0J5dGVzLmh0bWxcbiAqIC0gRXhhbXBsZTogaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL3RvQnl0ZXMuaHRtbCN1c2FnZVxuICpcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBlbmNvZGUuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zLlxuICogQHJldHVybnMgQnl0ZSBhcnJheSB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgdG9CeXRlcyB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gdG9CeXRlcygnSGVsbG8gd29ybGQnKVxuICogLy8gVWludDhBcnJheShbNzIsIDEwMSwgMTA4LCAxMDgsIDExMSwgMzIsIDg3LCAxMTEsIDExNCwgMTA4LCAxMDAsIDMzXSlcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgdG9CeXRlcyB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gdG9CeXRlcyg0MjApXG4gKiAvLyBVaW50OEFycmF5KFsxLCAxNjRdKVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyB0b0J5dGVzIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSB0b0J5dGVzKDQyMCwgeyBzaXplOiA0IH0pXG4gKiAvLyBVaW50OEFycmF5KFswLCAwLCAxLCAxNjRdKVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9CeXRlcyh2YWx1ZSwgb3B0cyA9IHt9KSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIG51bWJlclRvQnl0ZXModmFsdWUsIG9wdHMpO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJylcbiAgICAgICAgcmV0dXJuIGJvb2xUb0J5dGVzKHZhbHVlLCBvcHRzKTtcbiAgICBpZiAoaXNIZXgodmFsdWUpKVxuICAgICAgICByZXR1cm4gaGV4VG9CeXRlcyh2YWx1ZSwgb3B0cyk7XG4gICAgcmV0dXJuIHN0cmluZ1RvQnl0ZXModmFsdWUsIG9wdHMpO1xufVxuLyoqXG4gKiBFbmNvZGVzIGEgYm9vbGVhbiBpbnRvIGEgYnl0ZSBhcnJheS5cbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy90b0J5dGVzLmh0bWwjYm9vbHRvYnl0ZXNcbiAqXG4gKiBAcGFyYW0gdmFsdWUgQm9vbGVhbiB2YWx1ZSB0byBlbmNvZGUuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zLlxuICogQHJldHVybnMgQnl0ZSBhcnJheSB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgYm9vbFRvQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGJvb2xUb0J5dGVzKHRydWUpXG4gKiAvLyBVaW50OEFycmF5KFsxXSlcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgYm9vbFRvQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGJvb2xUb0J5dGVzKHRydWUsIHsgc2l6ZTogMzIgfSlcbiAqIC8vIFVpbnQ4QXJyYXkoWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDFdKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYm9vbFRvQnl0ZXModmFsdWUsIG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoMSk7XG4gICAgYnl0ZXNbMF0gPSBOdW1iZXIodmFsdWUpO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplID09PSAnbnVtYmVyJykge1xuICAgICAgICBhc3NlcnRTaXplKGJ5dGVzLCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICAgICAgcmV0dXJuIHBhZChieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbn1cbi8qKlxuICogRW5jb2RlcyBhIGhleCBzdHJpbmcgaW50byBhIGJ5dGUgYXJyYXkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdG9CeXRlcy5odG1sI2hleHRvYnl0ZXNcbiAqXG4gKiBAcGFyYW0gaGV4IEhleCBzdHJpbmcgdG8gZW5jb2RlLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAqIEByZXR1cm5zIEJ5dGUgYXJyYXkgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGhleFRvQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGhleFRvQnl0ZXMoJzB4NDg2NTZjNmM2ZjIwNzc2ZjcyNmM2NDIxJylcbiAqIC8vIFVpbnQ4QXJyYXkoWzcyLCAxMDEsIDEwOCwgMTA4LCAxMTEsIDMyLCA4NywgMTExLCAxMTQsIDEwOCwgMTAwLCAzM10pXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGhleFRvQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGhleFRvQnl0ZXMoJzB4NDg2NTZjNmM2ZjIwNzc2ZjcyNmM2NDIxJywgeyBzaXplOiAzMiB9KVxuICogLy8gVWludDhBcnJheShbNzIsIDEwMSwgMTA4LCAxMDgsIDExMSwgMzIsIDg3LCAxMTEsIDExNCwgMTA4LCAxMDAsIDMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQnl0ZXMoaGV4Xywgb3B0cyA9IHt9KSB7XG4gICAgbGV0IGhleCA9IGhleF87XG4gICAgaWYgKG9wdHMuc2l6ZSkge1xuICAgICAgICBhc3NlcnRTaXplKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIGhleCA9IHBhZChoZXgsIHsgZGlyOiAncmlnaHQnLCBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgfVxuICAgIGxldCBoZXhTdHJpbmcgPSBoZXguc2xpY2UoMik7XG4gICAgaWYgKGhleFN0cmluZy5sZW5ndGggJSAyKVxuICAgICAgICBoZXhTdHJpbmcgPSBgMCR7aGV4U3RyaW5nfWA7XG4gICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShoZXhTdHJpbmcubGVuZ3RoIC8gMik7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGJ5dGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBzdGFydCA9IGluZGV4ICogMjtcbiAgICAgICAgY29uc3QgaGV4Qnl0ZSA9IGhleFN0cmluZy5zbGljZShzdGFydCwgc3RhcnQgKyAyKTtcbiAgICAgICAgY29uc3QgYnl0ZSA9IE51bWJlci5wYXJzZUludChoZXhCeXRlLCAxNik7XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4oYnl0ZSkgfHwgYnl0ZSA8IDApXG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFzZUVycm9yKGBJbnZhbGlkIGJ5dGUgc2VxdWVuY2UgKFwiJHtoZXhCeXRlfVwiIGluIFwiJHtoZXhTdHJpbmd9XCIpLmApO1xuICAgICAgICBieXRlc1tpbmRleF0gPSBieXRlO1xuICAgIH1cbiAgICByZXR1cm4gYnl0ZXM7XG59XG4vKipcbiAqIEVuY29kZXMgYSBudW1iZXIgaW50byBhIGJ5dGUgYXJyYXkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdG9CeXRlcy5odG1sI251bWJlcnRvYnl0ZXNcbiAqXG4gKiBAcGFyYW0gdmFsdWUgTnVtYmVyIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBCeXRlIGFycmF5IHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBudW1iZXJUb0J5dGVzIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBudW1iZXJUb0J5dGVzKDQyMClcbiAqIC8vIFVpbnQ4QXJyYXkoWzEsIDE2NF0pXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IG51bWJlclRvQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IG51bWJlclRvQnl0ZXMoNDIwLCB7IHNpemU6IDQgfSlcbiAqIC8vIFVpbnQ4QXJyYXkoWzAsIDAsIDEsIDE2NF0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJUb0J5dGVzKHZhbHVlLCBvcHRzKSB7XG4gICAgY29uc3QgaGV4ID0gbnVtYmVyVG9IZXgodmFsdWUsIG9wdHMpO1xuICAgIHJldHVybiBoZXhUb0J5dGVzKGhleCk7XG59XG4vKipcbiAqIEVuY29kZXMgYSBVVEYtOCBzdHJpbmcgaW50byBhIGJ5dGUgYXJyYXkuXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdG9CeXRlcy5odG1sI3N0cmluZ3RvYnl0ZXNcbiAqXG4gKiBAcGFyYW0gdmFsdWUgU3RyaW5nIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBCeXRlIGFycmF5IHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBzdHJpbmdUb0J5dGVzIH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBzdHJpbmdUb0J5dGVzKCdIZWxsbyB3b3JsZCEnKVxuICogLy8gVWludDhBcnJheShbNzIsIDEwMSwgMTA4LCAxMDgsIDExMSwgMzIsIDExOSwgMTExLCAxMTQsIDEwOCwgMTAwLCAzM10pXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IHN0cmluZ1RvQnl0ZXMgfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IHN0cmluZ1RvQnl0ZXMoJ0hlbGxvIHdvcmxkIScsIHsgc2l6ZTogMzIgfSlcbiAqIC8vIFVpbnQ4QXJyYXkoWzcyLCAxMDEsIDEwOCwgMTA4LCAxMTEsIDMyLCA4NywgMTExLCAxMTQsIDEwOCwgMTAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb0J5dGVzKHZhbHVlLCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBieXRlcyA9IGVuY29kZXIuZW5jb2RlKHZhbHVlKTtcbiAgICBpZiAodHlwZW9mIG9wdHMuc2l6ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgYXNzZXJ0U2l6ZShieXRlcywgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIHJldHVybiBwYWQoYnl0ZXMsIHsgZGlyOiAncmlnaHQnLCBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRvQnl0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/encoding/toBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/encoding/toHex.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/encoding/toHex.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ boolToHex: function() { return /* binding */ boolToHex; },\n/* harmony export */ bytesToHex: function() { return /* binding */ bytesToHex; },\n/* harmony export */ numberToHex: function() { return /* binding */ numberToHex; },\n/* harmony export */ stringToHex: function() { return /* binding */ stringToHex; },\n/* harmony export */ toHex: function() { return /* binding */ toHex; }\n/* harmony export */ });\n/* harmony import */ var _errors_encoding_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/encoding.js */ \"./node_modules/viem/dist/esm/errors/encoding.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _fromHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n\n\n\nconst hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\n/**\n * Encodes a string, number, bigint, or ByteArray into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html\n * - Example: https://viem.sh/docs/utilities/toHex.html#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world')\n * // '0x48656c6c6f20776f726c6421'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex(420)\n * // '0x1a4'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world', { size: 32 })\n * // '0x48656c6c6f20776f726c64210000000000000000000000000000000000000000'\n */\nfunction toHex(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToHex(value, opts);\n if (typeof value === 'string') {\n return stringToHex(value, opts);\n }\n if (typeof value === 'boolean')\n return boolToHex(value, opts);\n return bytesToHex(value, opts);\n}\n/**\n * Encodes a boolean into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#booltohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true)\n * // '0x1'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(false)\n * // '0x0'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true, { size: 32 })\n * // '0x0000000000000000000000000000000000000000000000000000000000000001'\n */\nfunction boolToHex(value, opts = {}) {\n const hex = `0x${Number(value)}`;\n if (typeof opts.size === 'number') {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.assertSize)(hex, { size: opts.size });\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_1__.pad)(hex, { size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a bytes array into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#bytestohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]), { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nfunction bytesToHex(value, opts = {}) {\n let hexString = '';\n for (let i = 0; i < value.length; i++) {\n hexString += hexes[value[i]];\n }\n const hex = `0x${hexString}`;\n if (typeof opts.size === 'number') {\n (0,_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.assertSize)(hex, { size: opts.size });\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_1__.pad)(hex, { dir: 'right', size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a number or bigint into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#numbertohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420)\n * // '0x1a4'\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420, { size: 32 })\n * // '0x00000000000000000000000000000000000000000000000000000000000001a4'\n */\nfunction numberToHex(value_, opts = {}) {\n const { signed, size } = opts;\n const value = BigInt(value_);\n let maxValue;\n if (size) {\n if (signed)\n maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n else\n maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n }\n else if (typeof value_ === 'number') {\n maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n }\n const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n if ((maxValue && value > maxValue) || value < minValue) {\n const suffix = typeof value_ === 'bigint' ? 'n' : '';\n throw new _errors_encoding_js__WEBPACK_IMPORTED_MODULE_2__.IntegerOutOfRangeError({\n max: maxValue ? `${maxValue}${suffix}` : undefined,\n min: `${minValue}${suffix}`,\n signed,\n size,\n value: `${value_}${suffix}`,\n });\n }\n const hex = `0x${(signed && value < 0\n ? (1n << BigInt(size * 8)) + BigInt(value)\n : value).toString(16)}`;\n if (size)\n return (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_1__.pad)(hex, { size });\n return hex;\n}\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#stringtohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!')\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!', { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nfunction stringToHex(value_, opts = {}) {\n const value = encoder.encode(value_);\n return bytesToHex(value, opts);\n}\n//# sourceMappingURL=toHex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy90b0hleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFrRTtBQUM3QjtBQUNLO0FBQzFDLHlDQUF5QyxhQUFhO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEIsdUNBQXVDLFVBQVU7QUFDakQ7QUFDQTtBQUNPLCtCQUErQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QixrQ0FBa0MsVUFBVTtBQUM1QztBQUNBO0FBQ08sbUNBQW1DO0FBQzFDLHFCQUFxQixjQUFjO0FBQ25DO0FBQ0EsUUFBUSx1REFBVSxRQUFRLGlCQUFpQjtBQUMzQyxlQUFlLGlEQUFHLFFBQVEsaUJBQWlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxhQUFhO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxhQUFhO0FBQ3pCLHdHQUF3RyxVQUFVO0FBQ2xIO0FBQ0E7QUFDTyxvQ0FBb0M7QUFDM0M7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQSxxQkFBcUIsVUFBVTtBQUMvQjtBQUNBLFFBQVEsdURBQVUsUUFBUSxpQkFBaUI7QUFDM0MsZUFBZSxpREFBRyxRQUFRLCtCQUErQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQixtQ0FBbUMsVUFBVTtBQUM3QztBQUNBO0FBQ08sc0NBQXNDO0FBQzdDLFlBQVksZUFBZTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHVFQUFzQjtBQUN4QywrQkFBK0IsU0FBUyxFQUFFLE9BQU87QUFDakQsb0JBQW9CLFNBQVMsRUFBRSxPQUFPO0FBQ3RDO0FBQ0E7QUFDQSxzQkFBc0IsT0FBTyxFQUFFLE9BQU87QUFDdEMsU0FBUztBQUNUO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0EsZUFBZSxpREFBRyxRQUFRLE1BQU07QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUIsOENBQThDLFVBQVU7QUFDeEQ7QUFDQTtBQUNPLHNDQUFzQztBQUM3QztBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy90b0hleC5qcz8yY2FhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVnZXJPdXRPZlJhbmdlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvZW5jb2RpbmcuanMnO1xuaW1wb3J0IHsgcGFkIH0gZnJvbSAnLi4vZGF0YS9wYWQuanMnO1xuaW1wb3J0IHsgYXNzZXJ0U2l6ZSB9IGZyb20gJy4vZnJvbUhleC5qcyc7XG5jb25zdCBoZXhlcyA9IC8qI19fUFVSRV9fKi8gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjU2IH0sIChfdiwgaSkgPT4gaS50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSk7XG4vKipcbiAqIEVuY29kZXMgYSBzdHJpbmcsIG51bWJlciwgYmlnaW50LCBvciBCeXRlQXJyYXkgaW50byBhIGhleCBzdHJpbmdcbiAqXG4gKiAtIERvY3M6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy90b0hleC5odG1sXG4gKiAtIEV4YW1wbGU6IGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy90b0hleC5odG1sI3VzYWdlXG4gKlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBIZXggdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IHRvSGV4IH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSB0b0hleCgnSGVsbG8gd29ybGQnKVxuICogLy8gJzB4NDg2NTZjNmM2ZjIwNzc2ZjcyNmM2NDIxJ1xuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyB0b0hleCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gdG9IZXgoNDIwKVxuICogLy8gJzB4MWE0J1xuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyB0b0hleCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gdG9IZXgoJ0hlbGxvIHdvcmxkJywgeyBzaXplOiAzMiB9KVxuICogLy8gJzB4NDg2NTZjNmM2ZjIwNzc2ZjcyNmM2NDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSGV4KHZhbHVlLCBvcHRzID0ge30pIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnKVxuICAgICAgICByZXR1cm4gbnVtYmVyVG9IZXgodmFsdWUsIG9wdHMpO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmdUb0hleCh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJylcbiAgICAgICAgcmV0dXJuIGJvb2xUb0hleCh2YWx1ZSwgb3B0cyk7XG4gICAgcmV0dXJuIGJ5dGVzVG9IZXgodmFsdWUsIG9wdHMpO1xufVxuLyoqXG4gKiBFbmNvZGVzIGEgYm9vbGVhbiBpbnRvIGEgaGV4IHN0cmluZ1xuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL3RvSGV4Lmh0bWwjYm9vbHRvaGV4XG4gKlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBIZXggdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGJvb2xUb0hleCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gYm9vbFRvSGV4KHRydWUpXG4gKiAvLyAnMHgxJ1xuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBib29sVG9IZXggfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGJvb2xUb0hleChmYWxzZSlcbiAqIC8vICcweDAnXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGJvb2xUb0hleCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gYm9vbFRvSGV4KHRydWUsIHsgc2l6ZTogMzIgfSlcbiAqIC8vICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib29sVG9IZXgodmFsdWUsIG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IGhleCA9IGAweCR7TnVtYmVyKHZhbHVlKX1gO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplID09PSAnbnVtYmVyJykge1xuICAgICAgICBhc3NlcnRTaXplKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIHJldHVybiBwYWQoaGV4LCB7IHNpemU6IG9wdHMuc2l6ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhleDtcbn1cbi8qKlxuICogRW5jb2RlcyBhIGJ5dGVzIGFycmF5IGludG8gYSBoZXggc3RyaW5nXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdG9IZXguaHRtbCNieXRlc3RvaGV4XG4gKlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gKiBAcmV0dXJucyBIZXggdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IGJ5dGVzVG9IZXggfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IGJ5dGVzVG9IZXgoVWludDhBcnJheS5mcm9tKFs3MiwgMTAxLCAxMDgsIDEwOCwgMTExLCAzMiwgODcsIDExMSwgMTE0LCAxMDgsIDEwMCwgMzNdKVxuICogLy8gJzB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxJ1xuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBieXRlc1RvSGV4IH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBieXRlc1RvSGV4KFVpbnQ4QXJyYXkuZnJvbShbNzIsIDEwMSwgMTA4LCAxMDgsIDExMSwgMzIsIDg3LCAxMTEsIDExNCwgMTA4LCAxMDAsIDMzXSksIHsgc2l6ZTogMzIgfSlcbiAqIC8vICcweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvSGV4KHZhbHVlLCBvcHRzID0ge30pIHtcbiAgICBsZXQgaGV4U3RyaW5nID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBoZXhTdHJpbmcgKz0gaGV4ZXNbdmFsdWVbaV1dO1xuICAgIH1cbiAgICBjb25zdCBoZXggPSBgMHgke2hleFN0cmluZ31gO1xuICAgIGlmICh0eXBlb2Ygb3B0cy5zaXplID09PSAnbnVtYmVyJykge1xuICAgICAgICBhc3NlcnRTaXplKGhleCwgeyBzaXplOiBvcHRzLnNpemUgfSk7XG4gICAgICAgIHJldHVybiBwYWQoaGV4LCB7IGRpcjogJ3JpZ2h0Jywgc2l6ZTogb3B0cy5zaXplIH0pO1xuICAgIH1cbiAgICByZXR1cm4gaGV4O1xufVxuLyoqXG4gKiBFbmNvZGVzIGEgbnVtYmVyIG9yIGJpZ2ludCBpbnRvIGEgaGV4IHN0cmluZ1xuICpcbiAqIC0gRG9jczogaHR0cHM6Ly92aWVtLnNoL2RvY3MvdXRpbGl0aWVzL3RvSGV4Lmh0bWwjbnVtYmVydG9oZXhcbiAqXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZW5jb2RlLlxuICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAqIEByZXR1cm5zIEhleCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IG51bWJlclRvSGV4KDQyMClcbiAqIC8vICcweDFhNCdcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgbnVtYmVyVG9IZXggfSBmcm9tICd2aWVtJ1xuICogY29uc3QgZGF0YSA9IG51bWJlclRvSGV4KDQyMCwgeyBzaXplOiAzMiB9KVxuICogLy8gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFhNCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG51bWJlclRvSGV4KHZhbHVlXywgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgeyBzaWduZWQsIHNpemUgfSA9IG9wdHM7XG4gICAgY29uc3QgdmFsdWUgPSBCaWdJbnQodmFsdWVfKTtcbiAgICBsZXQgbWF4VmFsdWU7XG4gICAgaWYgKHNpemUpIHtcbiAgICAgICAgaWYgKHNpZ25lZClcbiAgICAgICAgICAgIG1heFZhbHVlID0gKDFuIDw8IChCaWdJbnQoc2l6ZSkgKiA4biAtIDFuKSkgLSAxbjtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgbWF4VmFsdWUgPSAybiAqKiAoQmlnSW50KHNpemUpICogOG4pIC0gMW47XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZV8gPT09ICdudW1iZXInKSB7XG4gICAgICAgIG1heFZhbHVlID0gQmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtcbiAgICB9XG4gICAgY29uc3QgbWluVmFsdWUgPSB0eXBlb2YgbWF4VmFsdWUgPT09ICdiaWdpbnQnICYmIHNpZ25lZCA/IC1tYXhWYWx1ZSAtIDFuIDogMDtcbiAgICBpZiAoKG1heFZhbHVlICYmIHZhbHVlID4gbWF4VmFsdWUpIHx8IHZhbHVlIDwgbWluVmFsdWUpIHtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gdHlwZW9mIHZhbHVlXyA9PT0gJ2JpZ2ludCcgPyAnbicgOiAnJztcbiAgICAgICAgdGhyb3cgbmV3IEludGVnZXJPdXRPZlJhbmdlRXJyb3Ioe1xuICAgICAgICAgICAgbWF4OiBtYXhWYWx1ZSA/IGAke21heFZhbHVlfSR7c3VmZml4fWAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBtaW46IGAke21pblZhbHVlfSR7c3VmZml4fWAsXG4gICAgICAgICAgICBzaWduZWQsXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgdmFsdWU6IGAke3ZhbHVlX30ke3N1ZmZpeH1gLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGV4ID0gYDB4JHsoc2lnbmVkICYmIHZhbHVlIDwgMFxuICAgICAgICA/ICgxbiA8PCBCaWdJbnQoc2l6ZSAqIDgpKSArIEJpZ0ludCh2YWx1ZSlcbiAgICAgICAgOiB2YWx1ZSkudG9TdHJpbmcoMTYpfWA7XG4gICAgaWYgKHNpemUpXG4gICAgICAgIHJldHVybiBwYWQoaGV4LCB7IHNpemUgfSk7XG4gICAgcmV0dXJuIGhleDtcbn1cbmNvbnN0IGVuY29kZXIgPSAvKiNfX1BVUkVfXyovIG5ldyBUZXh0RW5jb2RlcigpO1xuLyoqXG4gKiBFbmNvZGVzIGEgVVRGLTggc3RyaW5nIGludG8gYSBoZXggc3RyaW5nXG4gKlxuICogLSBEb2NzOiBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdG9IZXguaHRtbCNzdHJpbmd0b2hleFxuICpcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBlbmNvZGUuXG4gKiBAcGFyYW0gb3B0cyBPcHRpb25zLlxuICogQHJldHVybnMgSGV4IHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBzdHJpbmdUb0hleCB9IGZyb20gJ3ZpZW0nXG4gKiBjb25zdCBkYXRhID0gc3RyaW5nVG9IZXgoJ0hlbGxvIFdvcmxkIScpXG4gKiAvLyAnMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEnXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IHN0cmluZ1RvSGV4IH0gZnJvbSAndmllbSdcbiAqIGNvbnN0IGRhdGEgPSBzdHJpbmdUb0hleCgnSGVsbG8gV29ybGQhJywgeyBzaXplOiAzMiB9KVxuICogLy8gJzB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ1RvSGV4KHZhbHVlXywgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgdmFsdWUgPSBlbmNvZGVyLmVuY29kZSh2YWx1ZV8pO1xuICAgIHJldHVybiBieXRlc1RvSGV4KHZhbHVlLCBvcHRzKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRvSGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/encoding/toHex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/encoding/toRlp.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/encoding/toRlp.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytesToRlp: function() { return /* binding */ bytesToRlp; },\n/* harmony export */ toRlp: function() { return /* binding */ toRlp; }\n/* harmony export */ });\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _toBytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _toHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\nfunction toRlp(hexOrBytes, to_) {\n const to = to_ || 'hex';\n return format(bytesToRlp(parse(hexOrBytes)), to);\n}\nfunction parse(hexOrBytes) {\n if (Array.isArray(hexOrBytes))\n return hexOrBytes.map(parse);\n return typeof hexOrBytes === 'string' ? (0,_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(hexOrBytes) : hexOrBytes;\n}\nfunction format(bytes, type = 'bytes') {\n return type === 'hex' ? (0,_toHex_js__WEBPACK_IMPORTED_MODULE_1__.bytesToHex)(bytes) : bytes;\n}\nfunction bytesToRlp(bytes) {\n if (Array.isArray(bytes)) {\n const encoded = (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_2__.concat)(bytes.map(bytesToRlp));\n return new Uint8Array([...encodeLength(encoded.length, 0xc0), ...encoded]);\n }\n if (bytes.length === 1 && bytes[0] < 0x80)\n return bytes;\n return new Uint8Array([...encodeLength(bytes.length, 0x80), ...bytes]);\n}\nfunction encodeLength(length, offset) {\n if (length < 56)\n return [offset + length];\n return [(0,_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(length).length + offset + 55, ...(0,_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(length)];\n}\n//# sourceMappingURL=toRlp.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy90b1JscC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUEyQztBQUNKO0FBQ0M7QUFDakM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsb0RBQU87QUFDbkQ7QUFDQTtBQUNBLDRCQUE0QixxREFBVTtBQUN0QztBQUNPO0FBQ1A7QUFDQSx3QkFBd0IsdURBQU07QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxvREFBTyxrQ0FBa0Msb0RBQU87QUFDNUQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbmNvZGluZy90b1JscC5qcz9mMjNjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uL2RhdGEvY29uY2F0LmpzJztcbmltcG9ydCB7IHRvQnl0ZXMgfSBmcm9tICcuL3RvQnl0ZXMuanMnO1xuaW1wb3J0IHsgYnl0ZXNUb0hleCB9IGZyb20gJy4vdG9IZXguanMnO1xuZXhwb3J0IGZ1bmN0aW9uIHRvUmxwKGhleE9yQnl0ZXMsIHRvXykge1xuICAgIGNvbnN0IHRvID0gdG9fIHx8ICdoZXgnO1xuICAgIHJldHVybiBmb3JtYXQoYnl0ZXNUb1JscChwYXJzZShoZXhPckJ5dGVzKSksIHRvKTtcbn1cbmZ1bmN0aW9uIHBhcnNlKGhleE9yQnl0ZXMpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShoZXhPckJ5dGVzKSlcbiAgICAgICAgcmV0dXJuIGhleE9yQnl0ZXMubWFwKHBhcnNlKTtcbiAgICByZXR1cm4gdHlwZW9mIGhleE9yQnl0ZXMgPT09ICdzdHJpbmcnID8gdG9CeXRlcyhoZXhPckJ5dGVzKSA6IGhleE9yQnl0ZXM7XG59XG5mdW5jdGlvbiBmb3JtYXQoYnl0ZXMsIHR5cGUgPSAnYnl0ZXMnKSB7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdoZXgnID8gYnl0ZXNUb0hleChieXRlcykgOiBieXRlcztcbn1cbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvUmxwKGJ5dGVzKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYnl0ZXMpKSB7XG4gICAgICAgIGNvbnN0IGVuY29kZWQgPSBjb25jYXQoYnl0ZXMubWFwKGJ5dGVzVG9SbHApKTtcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFsuLi5lbmNvZGVMZW5ndGgoZW5jb2RlZC5sZW5ndGgsIDB4YzApLCAuLi5lbmNvZGVkXSk7XG4gICAgfVxuICAgIGlmIChieXRlcy5sZW5ndGggPT09IDEgJiYgYnl0ZXNbMF0gPCAweDgwKVxuICAgICAgICByZXR1cm4gYnl0ZXM7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFsuLi5lbmNvZGVMZW5ndGgoYnl0ZXMubGVuZ3RoLCAweDgwKSwgLi4uYnl0ZXNdKTtcbn1cbmZ1bmN0aW9uIGVuY29kZUxlbmd0aChsZW5ndGgsIG9mZnNldCkge1xuICAgIGlmIChsZW5ndGggPCA1NilcbiAgICAgICAgcmV0dXJuIFtvZmZzZXQgKyBsZW5ndGhdO1xuICAgIHJldHVybiBbdG9CeXRlcyhsZW5ndGgpLmxlbmd0aCArIG9mZnNldCArIDU1LCAuLi50b0J5dGVzKGxlbmd0aCldO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9SbHAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/encoding/toRlp.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/avatar/parseAvatarRecord.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/avatar/parseAvatarRecord.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseAvatarRecord: function() { return /* binding */ parseAvatarRecord; }\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/viem/dist/esm/utils/ens/avatar/utils.js\");\n\nasync function parseAvatarRecord(client, { gatewayUrls, record, }) {\n if (/eip155:/i.test(record))\n return parseNftAvatarUri(client, { gatewayUrls, record });\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.parseAvatarUri)({ uri: record, gatewayUrls });\n}\nasync function parseNftAvatarUri(client, { gatewayUrls, record, }) {\n // parse NFT URI into properties\n const nft = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.parseNftUri)(record);\n // fetch tokenURI from the NFT contract\n const nftUri = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getNftTokenUri)(client, { nft });\n // resolve the URI from the fetched tokenURI\n const { uri: resolvedNftUri, isOnChain, isEncoded, } = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.resolveAvatarUri)({ uri: nftUri, gatewayUrls });\n // if the resolved URI is on chain, return the data\n if (isOnChain &&\n (resolvedNftUri.includes('data:application/json;base64,') ||\n resolvedNftUri.startsWith('{'))) {\n const encodedJson = isEncoded\n ? // if it is encoded, decode it\n atob(resolvedNftUri.replace('data:application/json;base64,', ''))\n : // if it isn't encoded assume it is a JSON string, but it could be anything (it will error if it is)\n resolvedNftUri;\n const decoded = JSON.parse(encodedJson);\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.parseAvatarUri)({ uri: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getJsonImage)(decoded), gatewayUrls });\n }\n let uriTokenId = nft.tokenID;\n if (nft.namespace === 'erc1155')\n uriTokenId = uriTokenId.replace('0x', '').padStart(64, '0');\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getMetadataAvatarUri)({\n gatewayUrls,\n uri: resolvedNftUri.replace(/(?:0x)?{id}/, uriTokenId),\n });\n}\n//# sourceMappingURL=parseAvatarRecord.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvYXZhdGFyL3BhcnNlQXZhdGFyUmVjb3JkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWdJO0FBQ3pILDJDQUEyQyxzQkFBc0I7QUFDeEU7QUFDQSwyQ0FBMkMscUJBQXFCO0FBQ2hFLFdBQVcseURBQWMsR0FBRywwQkFBMEI7QUFDdEQ7QUFDQSwyQ0FBMkMsc0JBQXNCO0FBQ2pFO0FBQ0EsZ0JBQWdCLHNEQUFXO0FBQzNCO0FBQ0EseUJBQXlCLHlEQUFjLFdBQVcsS0FBSztBQUN2RDtBQUNBLFlBQVksNkNBQTZDLEVBQUUsMkRBQWdCLEdBQUcsMEJBQTBCO0FBQ3hHO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5REFBYyxHQUFHLEtBQUssdURBQVksd0JBQXdCO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVywrREFBb0I7QUFDL0I7QUFDQSw2Q0FBNkMsR0FBRztBQUNoRCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvYXZhdGFyL3BhcnNlQXZhdGFyUmVjb3JkLmpzP2Q3MDAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0SnNvbkltYWdlLCBnZXRNZXRhZGF0YUF2YXRhclVyaSwgZ2V0TmZ0VG9rZW5VcmksIHBhcnNlQXZhdGFyVXJpLCBwYXJzZU5mdFVyaSwgcmVzb2x2ZUF2YXRhclVyaSwgfSBmcm9tICcuL3V0aWxzLmpzJztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJzZUF2YXRhclJlY29yZChjbGllbnQsIHsgZ2F0ZXdheVVybHMsIHJlY29yZCwgfSkge1xuICAgIGlmICgvZWlwMTU1Oi9pLnRlc3QocmVjb3JkKSlcbiAgICAgICAgcmV0dXJuIHBhcnNlTmZ0QXZhdGFyVXJpKGNsaWVudCwgeyBnYXRld2F5VXJscywgcmVjb3JkIH0pO1xuICAgIHJldHVybiBwYXJzZUF2YXRhclVyaSh7IHVyaTogcmVjb3JkLCBnYXRld2F5VXJscyB9KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHBhcnNlTmZ0QXZhdGFyVXJpKGNsaWVudCwgeyBnYXRld2F5VXJscywgcmVjb3JkLCB9KSB7XG4gICAgLy8gcGFyc2UgTkZUIFVSSSBpbnRvIHByb3BlcnRpZXNcbiAgICBjb25zdCBuZnQgPSBwYXJzZU5mdFVyaShyZWNvcmQpO1xuICAgIC8vIGZldGNoIHRva2VuVVJJIGZyb20gdGhlIE5GVCBjb250cmFjdFxuICAgIGNvbnN0IG5mdFVyaSA9IGF3YWl0IGdldE5mdFRva2VuVXJpKGNsaWVudCwgeyBuZnQgfSk7XG4gICAgLy8gcmVzb2x2ZSB0aGUgVVJJIGZyb20gdGhlIGZldGNoZWQgdG9rZW5VUklcbiAgICBjb25zdCB7IHVyaTogcmVzb2x2ZWROZnRVcmksIGlzT25DaGFpbiwgaXNFbmNvZGVkLCB9ID0gcmVzb2x2ZUF2YXRhclVyaSh7IHVyaTogbmZ0VXJpLCBnYXRld2F5VXJscyB9KTtcbiAgICAvLyBpZiB0aGUgcmVzb2x2ZWQgVVJJIGlzIG9uIGNoYWluLCByZXR1cm4gdGhlIGRhdGFcbiAgICBpZiAoaXNPbkNoYWluICYmXG4gICAgICAgIChyZXNvbHZlZE5mdFVyaS5pbmNsdWRlcygnZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwnKSB8fFxuICAgICAgICAgICAgcmVzb2x2ZWROZnRVcmkuc3RhcnRzV2l0aCgneycpKSkge1xuICAgICAgICBjb25zdCBlbmNvZGVkSnNvbiA9IGlzRW5jb2RlZFxuICAgICAgICAgICAgPyAvLyBpZiBpdCBpcyBlbmNvZGVkLCBkZWNvZGUgaXRcbiAgICAgICAgICAgICAgICBhdG9iKHJlc29sdmVkTmZ0VXJpLnJlcGxhY2UoJ2RhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsJywgJycpKVxuICAgICAgICAgICAgOiAvLyBpZiBpdCBpc24ndCBlbmNvZGVkIGFzc3VtZSBpdCBpcyBhIEpTT04gc3RyaW5nLCBidXQgaXQgY291bGQgYmUgYW55dGhpbmcgKGl0IHdpbGwgZXJyb3IgaWYgaXQgaXMpXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWROZnRVcmk7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBKU09OLnBhcnNlKGVuY29kZWRKc29uKTtcbiAgICAgICAgcmV0dXJuIHBhcnNlQXZhdGFyVXJpKHsgdXJpOiBnZXRKc29uSW1hZ2UoZGVjb2RlZCksIGdhdGV3YXlVcmxzIH0pO1xuICAgIH1cbiAgICBsZXQgdXJpVG9rZW5JZCA9IG5mdC50b2tlbklEO1xuICAgIGlmIChuZnQubmFtZXNwYWNlID09PSAnZXJjMTE1NScpXG4gICAgICAgIHVyaVRva2VuSWQgPSB1cmlUb2tlbklkLnJlcGxhY2UoJzB4JywgJycpLnBhZFN0YXJ0KDY0LCAnMCcpO1xuICAgIHJldHVybiBnZXRNZXRhZGF0YUF2YXRhclVyaSh7XG4gICAgICAgIGdhdGV3YXlVcmxzLFxuICAgICAgICB1cmk6IHJlc29sdmVkTmZ0VXJpLnJlcGxhY2UoLyg/OjB4KT97aWR9LywgdXJpVG9rZW5JZCksXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZUF2YXRhclJlY29yZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/avatar/parseAvatarRecord.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/avatar/utils.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/avatar/utils.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getGateway: function() { return /* binding */ getGateway; },\n/* harmony export */ getJsonImage: function() { return /* binding */ getJsonImage; },\n/* harmony export */ getMetadataAvatarUri: function() { return /* binding */ getMetadataAvatarUri; },\n/* harmony export */ getNftTokenUri: function() { return /* binding */ getNftTokenUri; },\n/* harmony export */ isImageUri: function() { return /* binding */ isImageUri; },\n/* harmony export */ parseAvatarUri: function() { return /* binding */ parseAvatarUri; },\n/* harmony export */ parseNftUri: function() { return /* binding */ parseNftUri; },\n/* harmony export */ resolveAvatarUri: function() { return /* binding */ resolveAvatarUri; }\n/* harmony export */ });\n/* harmony import */ var _actions_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../actions/public/readContract.js */ \"./node_modules/viem/dist/esm/actions/public/readContract.js\");\n/* harmony import */ var _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../errors/ens.js */ \"./node_modules/viem/dist/esm/errors/ens.js\");\n\n\nconst networkRegex = /(?<protocol>https?:\\/\\/[^\\/]*|ipfs:\\/|ipns:\\/|ar:\\/)?(?<root>\\/)?(?<subpath>ipfs\\/|ipns\\/)?(?<target>[\\w\\-.]+)(?<subtarget>\\/.*)?/;\nconst ipfsHashRegex = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\\/(?<target>[\\w\\-.]+))?(?<subtarget>\\/.*)?$/;\nconst base64Regex = /^data:([a-zA-Z\\-/+]*);base64,([^\"].*)/;\nconst dataURIRegex = /^data:([a-zA-Z\\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;\nasync function isImageUri(uri) {\n try {\n const res = await fetch(uri, { method: 'HEAD' });\n // retrieve content type header to check if content is image\n if (res.status === 200) {\n const contentType = res.headers.get('content-type');\n return contentType?.startsWith('image/');\n }\n return false;\n }\n catch (error) {\n // if error is not cors related then fail\n if (typeof error === 'object' && typeof error.response !== 'undefined') {\n return false;\n }\n // fail in NodeJS, since the error is not cors but any other network issue\n if (!globalThis.hasOwnProperty('Image'))\n return false;\n // in case of cors, use image api to validate if given url is an actual image\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n resolve(true);\n };\n img.onerror = () => {\n resolve(false);\n };\n img.src = uri;\n });\n }\n}\nfunction getGateway(custom, defaultGateway) {\n if (!custom)\n return defaultGateway;\n if (custom.endsWith('/'))\n return custom.slice(0, -1);\n return custom;\n}\nfunction resolveAvatarUri({ uri, gatewayUrls, }) {\n const isEncoded = base64Regex.test(uri);\n if (isEncoded)\n return { uri, isOnChain: true, isEncoded };\n const ipfsGateway = getGateway(gatewayUrls?.ipfs, 'https://ipfs.io');\n const arweaveGateway = getGateway(gatewayUrls?.arweave, 'https://arweave.net');\n const networkRegexMatch = uri.match(networkRegex);\n const { protocol, subpath, target, subtarget = '', } = networkRegexMatch?.groups || {};\n const isIPNS = protocol === 'ipns:/' || subpath === 'ipns/';\n const isIPFS = protocol === 'ipfs:/' || subpath === 'ipfs/' || ipfsHashRegex.test(uri);\n if (uri.startsWith('http') && !isIPNS && !isIPFS) {\n let replacedUri = uri;\n if (gatewayUrls?.arweave)\n replacedUri = uri.replace(/https:\\/\\/arweave.net/g, gatewayUrls?.arweave);\n return { uri: replacedUri, isOnChain: false, isEncoded: false };\n }\n if ((isIPNS || isIPFS) && target) {\n return {\n uri: `${ipfsGateway}/${isIPNS ? 'ipns' : 'ipfs'}/${target}${subtarget}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n else if (protocol === 'ar:/' && target) {\n return {\n uri: `${arweaveGateway}/${target}${subtarget || ''}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n let parsedUri = uri.replace(dataURIRegex, '');\n if (parsedUri.startsWith('<svg')) {\n // if svg, base64 encode\n parsedUri = `data:image/svg+xml;base64,${btoa(parsedUri)}`;\n }\n if (parsedUri.startsWith('data:') || parsedUri.startsWith('{')) {\n return {\n uri: parsedUri,\n isOnChain: true,\n isEncoded: false,\n };\n }\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarUriResolutionError({ uri });\n}\nfunction getJsonImage(data) {\n // validation check for json data, must include one of theses properties\n if (typeof data !== 'object' ||\n (!('image' in data) && !('image_url' in data) && !('image_data' in data))) {\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarInvalidMetadataError({ data });\n }\n return data.image || data.image_url || data.image_data;\n}\nasync function getMetadataAvatarUri({ gatewayUrls, uri, }) {\n try {\n const res = await fetch(uri).then((res) => res.json());\n const image = await parseAvatarUri({\n gatewayUrls,\n uri: getJsonImage(res),\n });\n return image;\n }\n catch {\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarUriResolutionError({ uri });\n }\n}\nasync function parseAvatarUri({ gatewayUrls, uri, }) {\n const { uri: resolvedURI, isOnChain } = resolveAvatarUri({ uri, gatewayUrls });\n if (isOnChain)\n return resolvedURI;\n // check if resolvedURI is an image, if it is return the url\n const isImage = await isImageUri(resolvedURI);\n if (isImage)\n return resolvedURI;\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarUriResolutionError({ uri });\n}\nfunction parseNftUri(uri) {\n // parse valid nft spec (CAIP-22/CAIP-29)\n // @see: https://github.com/ChainAgnostic/CAIPs/tree/master/CAIPs\n if (uri.startsWith('did:nft:')) {\n // convert DID to CAIP\n uri = uri.replace('did:nft:', '').replace(/_/g, '/');\n }\n const [reference, asset_namespace, tokenID] = uri.split('/');\n const [eip_namespace, chainID] = reference.split(':');\n const [erc_namespace, contractAddress] = asset_namespace.split(':');\n if (!eip_namespace || eip_namespace.toLowerCase() !== 'eip155')\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarInvalidNftUriError({ reason: 'Only EIP-155 supported' });\n if (!chainID)\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarInvalidNftUriError({ reason: 'Chain ID not found' });\n if (!contractAddress)\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarInvalidNftUriError({\n reason: 'Contract address not found',\n });\n if (!tokenID)\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarInvalidNftUriError({ reason: 'Token ID not found' });\n if (!erc_namespace)\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarInvalidNftUriError({ reason: 'ERC namespace not found' });\n return {\n chainID: parseInt(chainID),\n namespace: erc_namespace.toLowerCase(),\n contractAddress: contractAddress,\n tokenID,\n };\n}\nasync function getNftTokenUri(client, { nft }) {\n if (nft.namespace === 'erc721') {\n return (0,_actions_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__.readContract)(client, {\n address: nft.contractAddress,\n abi: [\n {\n name: 'tokenURI',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'tokenId', type: 'uint256' }],\n outputs: [{ name: '', type: 'string' }],\n },\n ],\n functionName: 'tokenURI',\n args: [BigInt(nft.tokenID)],\n });\n }\n if (nft.namespace === 'erc1155') {\n return (0,_actions_public_readContract_js__WEBPACK_IMPORTED_MODULE_1__.readContract)(client, {\n address: nft.contractAddress,\n abi: [\n {\n name: 'uri',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: '_id', type: 'uint256' }],\n outputs: [{ name: '', type: 'string' }],\n },\n ],\n functionName: 'uri',\n args: [BigInt(nft.tokenID)],\n });\n }\n throw new _errors_ens_js__WEBPACK_IMPORTED_MODULE_0__.EnsAvatarUnsupportedNamespaceError({ namespace: nft.namespace });\n}\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvYXZhdGFyL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBdUU7QUFDK0Y7QUFDdEs7QUFDQSxnREFBZ0QsSUFBSSxjQUFjLElBQUksV0FBVyxJQUFJLHVCQUF1QixJQUFJLFdBQVcsSUFBSTtBQUMvSCwyQ0FBMkM7QUFDM0MsOENBQThDO0FBQ3ZDO0FBQ1A7QUFDQSx1Q0FBdUMsZ0JBQWdCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLDRCQUE0QixtQkFBbUI7QUFDdEQ7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZDQUE2QztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFlBQVksR0FBRyx5QkFBeUIsR0FBRyxPQUFPLEVBQUUsVUFBVTtBQUNsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZUFBZSxHQUFHLE9BQU8sRUFBRSxnQkFBZ0I7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsU0FBUyxnQkFBZ0I7QUFDakU7QUFDQSxnRUFBZ0U7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyx1RUFBMkIsR0FBRyxLQUFLO0FBQ2pEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IseUVBQTZCLEdBQUcsTUFBTTtBQUN4RDtBQUNBO0FBQ0E7QUFDTyxzQ0FBc0MsbUJBQW1CO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHVFQUEyQixHQUFHLEtBQUs7QUFDckQ7QUFDQTtBQUNPLGdDQUFnQyxtQkFBbUI7QUFDMUQsWUFBWSw4QkFBOEIscUJBQXFCLGtCQUFrQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLHVFQUEyQixHQUFHLEtBQUs7QUFDakQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHVFQUEyQixHQUFHLGtDQUFrQztBQUNsRjtBQUNBLGtCQUFrQix1RUFBMkIsR0FBRyw4QkFBOEI7QUFDOUU7QUFDQSxrQkFBa0IsdUVBQTJCO0FBQzdDO0FBQ0EsU0FBUztBQUNUO0FBQ0Esa0JBQWtCLHVFQUEyQixHQUFHLDhCQUE4QjtBQUM5RTtBQUNBLGtCQUFrQix1RUFBMkIsR0FBRyxtQ0FBbUM7QUFDbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyx3Q0FBd0MsS0FBSztBQUNwRDtBQUNBLGVBQWUsNkVBQVk7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLGtDQUFrQztBQUNqRSxnQ0FBZ0MsMEJBQTBCO0FBQzFELGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLGVBQWUsNkVBQVk7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLDhCQUE4QjtBQUM3RCxnQ0FBZ0MsMEJBQTBCO0FBQzFELGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxjQUFjLDhFQUFrQyxHQUFHLDBCQUEwQjtBQUM3RTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2Vucy9hdmF0YXIvdXRpbHMuanM/NmFlOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkQ29udHJhY3QgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL3B1YmxpYy9yZWFkQ29udHJhY3QuanMnO1xuaW1wb3J0IHsgRW5zQXZhdGFySW52YWxpZE1ldGFkYXRhRXJyb3IsIEVuc0F2YXRhckludmFsaWROZnRVcmlFcnJvciwgRW5zQXZhdGFyVW5zdXBwb3J0ZWROYW1lc3BhY2VFcnJvciwgRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yLCB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycy9lbnMuanMnO1xuY29uc3QgbmV0d29ya1JlZ2V4ID0gLyg/PHByb3RvY29sPmh0dHBzPzpcXC9cXC9bXlxcL10qfGlwZnM6XFwvfGlwbnM6XFwvfGFyOlxcLyk/KD88cm9vdD5cXC8pPyg/PHN1YnBhdGg+aXBmc1xcL3xpcG5zXFwvKT8oPzx0YXJnZXQ+W1xcd1xcLS5dKykoPzxzdWJ0YXJnZXQ+XFwvLiopPy87XG5jb25zdCBpcGZzSGFzaFJlZ2V4ID0gL14oUW1bMS05QS1ISi1OUC1aYS1rbS16XXs0NCx9fGJbQS1aYS16Mi03XXs1OCx9fEJbQS1aMi03XXs1OCx9fHpbMS05QS1ISi1OUC1aYS1rbS16XXs0OCx9fEZbMC05QS1GXXs1MCx9KShcXC8oPzx0YXJnZXQ+W1xcd1xcLS5dKykpPyg/PHN1YnRhcmdldD5cXC8uKik/JC87XG5jb25zdCBiYXNlNjRSZWdleCA9IC9eZGF0YTooW2EtekEtWlxcLS8rXSopO2Jhc2U2NCwoW15cIl0uKikvO1xuY29uc3QgZGF0YVVSSVJlZ2V4ID0gL15kYXRhOihbYS16QS1aXFwtLytdKik/KDtbYS16QS1aMC05XS4qPyk/KCwpLztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpc0ltYWdlVXJpKHVyaSkge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVyaSwgeyBtZXRob2Q6ICdIRUFEJyB9KTtcbiAgICAgICAgLy8gcmV0cmlldmUgY29udGVudCB0eXBlIGhlYWRlciB0byBjaGVjayBpZiBjb250ZW50IGlzIGltYWdlXG4gICAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKTtcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50VHlwZT8uc3RhcnRzV2l0aCgnaW1hZ2UvJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gaWYgZXJyb3IgaXMgbm90IGNvcnMgcmVsYXRlZCB0aGVuIGZhaWxcbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIGVycm9yLnJlc3BvbnNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGZhaWwgaW4gTm9kZUpTLCBzaW5jZSB0aGUgZXJyb3IgaXMgbm90IGNvcnMgYnV0IGFueSBvdGhlciBuZXR3b3JrIGlzc3VlXG4gICAgICAgIGlmICghZ2xvYmFsVGhpcy5oYXNPd25Qcm9wZXJ0eSgnSW1hZ2UnKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgLy8gaW4gY2FzZSBvZiBjb3JzLCB1c2UgaW1hZ2UgYXBpIHRvIHZhbGlkYXRlIGlmIGdpdmVuIHVybCBpcyBhbiBhY3R1YWwgaW1hZ2VcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpbWcub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpbWcuc3JjID0gdXJpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0R2F0ZXdheShjdXN0b20sIGRlZmF1bHRHYXRld2F5KSB7XG4gICAgaWYgKCFjdXN0b20pXG4gICAgICAgIHJldHVybiBkZWZhdWx0R2F0ZXdheTtcbiAgICBpZiAoY3VzdG9tLmVuZHNXaXRoKCcvJykpXG4gICAgICAgIHJldHVybiBjdXN0b20uc2xpY2UoMCwgLTEpO1xuICAgIHJldHVybiBjdXN0b207XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUF2YXRhclVyaSh7IHVyaSwgZ2F0ZXdheVVybHMsIH0pIHtcbiAgICBjb25zdCBpc0VuY29kZWQgPSBiYXNlNjRSZWdleC50ZXN0KHVyaSk7XG4gICAgaWYgKGlzRW5jb2RlZClcbiAgICAgICAgcmV0dXJuIHsgdXJpLCBpc09uQ2hhaW46IHRydWUsIGlzRW5jb2RlZCB9O1xuICAgIGNvbnN0IGlwZnNHYXRld2F5ID0gZ2V0R2F0ZXdheShnYXRld2F5VXJscz8uaXBmcywgJ2h0dHBzOi8vaXBmcy5pbycpO1xuICAgIGNvbnN0IGFyd2VhdmVHYXRld2F5ID0gZ2V0R2F0ZXdheShnYXRld2F5VXJscz8uYXJ3ZWF2ZSwgJ2h0dHBzOi8vYXJ3ZWF2ZS5uZXQnKTtcbiAgICBjb25zdCBuZXR3b3JrUmVnZXhNYXRjaCA9IHVyaS5tYXRjaChuZXR3b3JrUmVnZXgpO1xuICAgIGNvbnN0IHsgcHJvdG9jb2wsIHN1YnBhdGgsIHRhcmdldCwgc3VidGFyZ2V0ID0gJycsIH0gPSBuZXR3b3JrUmVnZXhNYXRjaD8uZ3JvdXBzIHx8IHt9O1xuICAgIGNvbnN0IGlzSVBOUyA9IHByb3RvY29sID09PSAnaXBuczovJyB8fCBzdWJwYXRoID09PSAnaXBucy8nO1xuICAgIGNvbnN0IGlzSVBGUyA9IHByb3RvY29sID09PSAnaXBmczovJyB8fCBzdWJwYXRoID09PSAnaXBmcy8nIHx8IGlwZnNIYXNoUmVnZXgudGVzdCh1cmkpO1xuICAgIGlmICh1cmkuc3RhcnRzV2l0aCgnaHR0cCcpICYmICFpc0lQTlMgJiYgIWlzSVBGUykge1xuICAgICAgICBsZXQgcmVwbGFjZWRVcmkgPSB1cmk7XG4gICAgICAgIGlmIChnYXRld2F5VXJscz8uYXJ3ZWF2ZSlcbiAgICAgICAgICAgIHJlcGxhY2VkVXJpID0gdXJpLnJlcGxhY2UoL2h0dHBzOlxcL1xcL2Fyd2VhdmUubmV0L2csIGdhdGV3YXlVcmxzPy5hcndlYXZlKTtcbiAgICAgICAgcmV0dXJuIHsgdXJpOiByZXBsYWNlZFVyaSwgaXNPbkNoYWluOiBmYWxzZSwgaXNFbmNvZGVkOiBmYWxzZSB9O1xuICAgIH1cbiAgICBpZiAoKGlzSVBOUyB8fCBpc0lQRlMpICYmIHRhcmdldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdXJpOiBgJHtpcGZzR2F0ZXdheX0vJHtpc0lQTlMgPyAnaXBucycgOiAnaXBmcyd9LyR7dGFyZ2V0fSR7c3VidGFyZ2V0fWAsXG4gICAgICAgICAgICBpc09uQ2hhaW46IGZhbHNlLFxuICAgICAgICAgICAgaXNFbmNvZGVkOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAocHJvdG9jb2wgPT09ICdhcjovJyAmJiB0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHVyaTogYCR7YXJ3ZWF2ZUdhdGV3YXl9LyR7dGFyZ2V0fSR7c3VidGFyZ2V0IHx8ICcnfWAsXG4gICAgICAgICAgICBpc09uQ2hhaW46IGZhbHNlLFxuICAgICAgICAgICAgaXNFbmNvZGVkOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgbGV0IHBhcnNlZFVyaSA9IHVyaS5yZXBsYWNlKGRhdGFVUklSZWdleCwgJycpO1xuICAgIGlmIChwYXJzZWRVcmkuc3RhcnRzV2l0aCgnPHN2ZycpKSB7XG4gICAgICAgIC8vIGlmIHN2ZywgYmFzZTY0IGVuY29kZVxuICAgICAgICBwYXJzZWRVcmkgPSBgZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwke2J0b2EocGFyc2VkVXJpKX1gO1xuICAgIH1cbiAgICBpZiAocGFyc2VkVXJpLnN0YXJ0c1dpdGgoJ2RhdGE6JykgfHwgcGFyc2VkVXJpLnN0YXJ0c1dpdGgoJ3snKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdXJpOiBwYXJzZWRVcmksXG4gICAgICAgICAgICBpc09uQ2hhaW46IHRydWUsXG4gICAgICAgICAgICBpc0VuY29kZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRW5zQXZhdGFyVXJpUmVzb2x1dGlvbkVycm9yKHsgdXJpIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEpzb25JbWFnZShkYXRhKSB7XG4gICAgLy8gdmFsaWRhdGlvbiBjaGVjayBmb3IganNvbiBkYXRhLCBtdXN0IGluY2x1ZGUgb25lIG9mIHRoZXNlcyBwcm9wZXJ0aWVzXG4gICAgaWYgKHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JyB8fFxuICAgICAgICAoISgnaW1hZ2UnIGluIGRhdGEpICYmICEoJ2ltYWdlX3VybCcgaW4gZGF0YSkgJiYgISgnaW1hZ2VfZGF0YScgaW4gZGF0YSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFbnNBdmF0YXJJbnZhbGlkTWV0YWRhdGFFcnJvcih7IGRhdGEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLmltYWdlIHx8IGRhdGEuaW1hZ2VfdXJsIHx8IGRhdGEuaW1hZ2VfZGF0YTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRNZXRhZGF0YUF2YXRhclVyaSh7IGdhdGV3YXlVcmxzLCB1cmksIH0pIHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmkpLnRoZW4oKHJlcykgPT4gcmVzLmpzb24oKSk7XG4gICAgICAgIGNvbnN0IGltYWdlID0gYXdhaXQgcGFyc2VBdmF0YXJVcmkoe1xuICAgICAgICAgICAgZ2F0ZXdheVVybHMsXG4gICAgICAgICAgICB1cmk6IGdldEpzb25JbWFnZShyZXMpLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGltYWdlO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBFbnNBdmF0YXJVcmlSZXNvbHV0aW9uRXJyb3IoeyB1cmkgfSk7XG4gICAgfVxufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhcnNlQXZhdGFyVXJpKHsgZ2F0ZXdheVVybHMsIHVyaSwgfSkge1xuICAgIGNvbnN0IHsgdXJpOiByZXNvbHZlZFVSSSwgaXNPbkNoYWluIH0gPSByZXNvbHZlQXZhdGFyVXJpKHsgdXJpLCBnYXRld2F5VXJscyB9KTtcbiAgICBpZiAoaXNPbkNoYWluKVxuICAgICAgICByZXR1cm4gcmVzb2x2ZWRVUkk7XG4gICAgLy8gY2hlY2sgaWYgcmVzb2x2ZWRVUkkgaXMgYW4gaW1hZ2UsIGlmIGl0IGlzIHJldHVybiB0aGUgdXJsXG4gICAgY29uc3QgaXNJbWFnZSA9IGF3YWl0IGlzSW1hZ2VVcmkocmVzb2x2ZWRVUkkpO1xuICAgIGlmIChpc0ltYWdlKVxuICAgICAgICByZXR1cm4gcmVzb2x2ZWRVUkk7XG4gICAgdGhyb3cgbmV3IEVuc0F2YXRhclVyaVJlc29sdXRpb25FcnJvcih7IHVyaSB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU5mdFVyaSh1cmkpIHtcbiAgICAvLyBwYXJzZSB2YWxpZCBuZnQgc3BlYyAoQ0FJUC0yMi9DQUlQLTI5KVxuICAgIC8vIEBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9DaGFpbkFnbm9zdGljL0NBSVBzL3RyZWUvbWFzdGVyL0NBSVBzXG4gICAgaWYgKHVyaS5zdGFydHNXaXRoKCdkaWQ6bmZ0OicpKSB7XG4gICAgICAgIC8vIGNvbnZlcnQgRElEIHRvIENBSVBcbiAgICAgICAgdXJpID0gdXJpLnJlcGxhY2UoJ2RpZDpuZnQ6JywgJycpLnJlcGxhY2UoL18vZywgJy8nKTtcbiAgICB9XG4gICAgY29uc3QgW3JlZmVyZW5jZSwgYXNzZXRfbmFtZXNwYWNlLCB0b2tlbklEXSA9IHVyaS5zcGxpdCgnLycpO1xuICAgIGNvbnN0IFtlaXBfbmFtZXNwYWNlLCBjaGFpbklEXSA9IHJlZmVyZW5jZS5zcGxpdCgnOicpO1xuICAgIGNvbnN0IFtlcmNfbmFtZXNwYWNlLCBjb250cmFjdEFkZHJlc3NdID0gYXNzZXRfbmFtZXNwYWNlLnNwbGl0KCc6Jyk7XG4gICAgaWYgKCFlaXBfbmFtZXNwYWNlIHx8IGVpcF9uYW1lc3BhY2UudG9Mb3dlckNhc2UoKSAhPT0gJ2VpcDE1NScpXG4gICAgICAgIHRocm93IG5ldyBFbnNBdmF0YXJJbnZhbGlkTmZ0VXJpRXJyb3IoeyByZWFzb246ICdPbmx5IEVJUC0xNTUgc3VwcG9ydGVkJyB9KTtcbiAgICBpZiAoIWNoYWluSUQpXG4gICAgICAgIHRocm93IG5ldyBFbnNBdmF0YXJJbnZhbGlkTmZ0VXJpRXJyb3IoeyByZWFzb246ICdDaGFpbiBJRCBub3QgZm91bmQnIH0pO1xuICAgIGlmICghY29udHJhY3RBZGRyZXNzKVxuICAgICAgICB0aHJvdyBuZXcgRW5zQXZhdGFySW52YWxpZE5mdFVyaUVycm9yKHtcbiAgICAgICAgICAgIHJlYXNvbjogJ0NvbnRyYWN0IGFkZHJlc3Mgbm90IGZvdW5kJyxcbiAgICAgICAgfSk7XG4gICAgaWYgKCF0b2tlbklEKVxuICAgICAgICB0aHJvdyBuZXcgRW5zQXZhdGFySW52YWxpZE5mdFVyaUVycm9yKHsgcmVhc29uOiAnVG9rZW4gSUQgbm90IGZvdW5kJyB9KTtcbiAgICBpZiAoIWVyY19uYW1lc3BhY2UpXG4gICAgICAgIHRocm93IG5ldyBFbnNBdmF0YXJJbnZhbGlkTmZ0VXJpRXJyb3IoeyByZWFzb246ICdFUkMgbmFtZXNwYWNlIG5vdCBmb3VuZCcgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2hhaW5JRDogcGFyc2VJbnQoY2hhaW5JRCksXG4gICAgICAgIG5hbWVzcGFjZTogZXJjX25hbWVzcGFjZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6IGNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgdG9rZW5JRCxcbiAgICB9O1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE5mdFRva2VuVXJpKGNsaWVudCwgeyBuZnQgfSkge1xuICAgIGlmIChuZnQubmFtZXNwYWNlID09PSAnZXJjNzIxJykge1xuICAgICAgICByZXR1cm4gcmVhZENvbnRyYWN0KGNsaWVudCwge1xuICAgICAgICAgICAgYWRkcmVzczogbmZ0LmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgICAgIGFiaTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rva2VuVVJJJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVNdXRhYmlsaXR5OiAndmlldycsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0czogW3sgbmFtZTogJ3Rva2VuSWQnLCB0eXBlOiAndWludDI1NicgfV0sXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dHM6IFt7IG5hbWU6ICcnLCB0eXBlOiAnc3RyaW5nJyB9XSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3Rva2VuVVJJJyxcbiAgICAgICAgICAgIGFyZ3M6IFtCaWdJbnQobmZ0LnRva2VuSUQpXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChuZnQubmFtZXNwYWNlID09PSAnZXJjMTE1NScpIHtcbiAgICAgICAgcmV0dXJuIHJlYWRDb250cmFjdChjbGllbnQsIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG5mdC5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgICAgICBhYmk6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1cmknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICBzdGF0ZU11dGFiaWxpdHk6ICd2aWV3JyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiBbeyBuYW1lOiAnX2lkJywgdHlwZTogJ3VpbnQyNTYnIH1dLFxuICAgICAgICAgICAgICAgICAgICBvdXRwdXRzOiBbeyBuYW1lOiAnJywgdHlwZTogJ3N0cmluZycgfV0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWU6ICd1cmknLFxuICAgICAgICAgICAgYXJnczogW0JpZ0ludChuZnQudG9rZW5JRCldLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVuc0F2YXRhclVuc3VwcG9ydGVkTmFtZXNwYWNlRXJyb3IoeyBuYW1lc3BhY2U6IG5mdC5uYW1lc3BhY2UgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/avatar/utils.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/encodeLabelhash.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/encodeLabelhash.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodeLabelhash: function() { return /* binding */ encodeLabelhash; }\n/* harmony export */ });\nfunction encodeLabelhash(hash) {\n return `[${hash.slice(2)}]`;\n}\n//# sourceMappingURL=encodeLabelhash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvZW5jb2RlTGFiZWxoYXNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQLGVBQWUsY0FBYztBQUM3QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2Vucy9lbmNvZGVMYWJlbGhhc2guanM/ZDFkZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZW5jb2RlTGFiZWxoYXNoKGhhc2gpIHtcbiAgICByZXR1cm4gYFske2hhc2guc2xpY2UoMil9XWA7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVMYWJlbGhhc2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/encodeLabelhash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/encodedLabelToLabelhash.js": -/*!*************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/encodedLabelToLabelhash.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ encodedLabelToLabelhash: function() { return /* binding */ encodedLabelToLabelhash; }\n/* harmony export */ });\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index.js */ \"./node_modules/viem/dist/esm/utils/index.js\");\n\nfunction encodedLabelToLabelhash(label) {\n if (label.length !== 66)\n return null;\n if (label.indexOf('[') !== 0)\n return null;\n if (label.indexOf(']') !== 65)\n return null;\n const hash = `0x${label.slice(1, 65)}`;\n if (!(0,_index_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(hash))\n return null;\n return hash;\n}\n//# sourceMappingURL=encodedLabelToLabelhash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvZW5jb2RlZExhYmVsVG9MYWJlbGhhc2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFDN0I7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUJBQW1CO0FBQ3pDLFNBQVMsZ0RBQUs7QUFDZDtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvZW5jb2RlZExhYmVsVG9MYWJlbGhhc2guanM/NGI1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0hleCB9IGZyb20gJy4uL2luZGV4LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVkTGFiZWxUb0xhYmVsaGFzaChsYWJlbCkge1xuICAgIGlmIChsYWJlbC5sZW5ndGggIT09IDY2KVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAobGFiZWwuaW5kZXhPZignWycpICE9PSAwKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAobGFiZWwuaW5kZXhPZignXScpICE9PSA2NSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgaGFzaCA9IGAweCR7bGFiZWwuc2xpY2UoMSwgNjUpfWA7XG4gICAgaWYgKCFpc0hleChoYXNoKSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGhhc2g7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNvZGVkTGFiZWxUb0xhYmVsaGFzaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/encodedLabelToLabelhash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/labelhash.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/labelhash.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ labelhash: function() { return /* binding */ labelhash; }\n/* harmony export */ });\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _encodedLabelToLabelhash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encodedLabelToLabelhash.js */ \"./node_modules/viem/dist/esm/utils/ens/encodedLabelToLabelhash.js\");\n\n\n\n\n/**\n * @description Hashes ENS label\n *\n * - Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * labelhash('eth')\n * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'\n */\nfunction labelhash(label) {\n const result = new Uint8Array(32).fill(0);\n if (!label)\n return (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.bytesToHex)(result);\n return (0,_encodedLabelToLabelhash_js__WEBPACK_IMPORTED_MODULE_1__.encodedLabelToLabelhash)(label) || (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)((0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_3__.stringToBytes)(label));\n}\n//# sourceMappingURL=labelhash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvbGFiZWxoYXNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVEO0FBQ0w7QUFDRDtBQUNzQjtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSxlQUFlLDhEQUFVO0FBQ3pCLFdBQVcsb0ZBQXVCLFdBQVcsNkRBQVMsQ0FBQyxtRUFBYTtBQUNwRTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2Vucy9sYWJlbGhhc2guanM/NmJkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHJpbmdUb0J5dGVzIH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9CeXRlcy5qcyc7XG5pbXBvcnQgeyBieXRlc1RvSGV4IH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9IZXguanMnO1xuaW1wb3J0IHsga2VjY2FrMjU2IH0gZnJvbSAnLi4vaGFzaC9rZWNjYWsyNTYuanMnO1xuaW1wb3J0IHsgZW5jb2RlZExhYmVsVG9MYWJlbGhhc2ggfSBmcm9tICcuL2VuY29kZWRMYWJlbFRvTGFiZWxoYXNoLmpzJztcbi8qKlxuICogQGRlc2NyaXB0aW9uIEhhc2hlcyBFTlMgbGFiZWxcbiAqXG4gKiAtIFNpbmNlIEVOUyBsYWJlbHMgcHJvaGliaXQgY2VydGFpbiBmb3JiaWRkZW4gY2hhcmFjdGVycyAoZS5nLiB1bmRlcnNjb3JlKSBhbmQgaGF2ZSBvdGhlciB2YWxpZGF0aW9uIHJ1bGVzLCB5b3UgbGlrZWx5IHdhbnQgdG8gW25vcm1hbGl6ZSBFTlMgbGFiZWxzXShodHRwczovL2RvY3MuZW5zLmRvbWFpbnMvY29udHJhY3QtYXBpLXJlZmVyZW5jZS9uYW1lLXByb2Nlc3Npbmcjbm9ybWFsaXNpbmctbmFtZXMpIHdpdGggW1VUUy00NiBub3JtYWxpemF0aW9uXShodHRwczovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHI0NikgYmVmb3JlIHBhc3NpbmcgdGhlbSB0byBgbGFiZWxoYXNoYC4gWW91IGNhbiB1c2UgdGhlIGJ1aWx0LWluIFtgbm9ybWFsaXplYF0oaHR0cHM6Ly92aWVtLnNoL2RvY3MvZW5zL3V0aWxpdGllcy9ub3JtYWxpemUuaHRtbCkgZnVuY3Rpb24gZm9yIHRoaXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGxhYmVsaGFzaCgnZXRoJylcbiAqICcweDRmNWI4MTI3ODlmYzYwNmJlMWIzYjE2OTA4ZGIxM2ZjN2E5YWRmN2NhNzI2NDFmODRkNzViNDcwNjlkM2Q3ZjAnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbGhhc2gobGFiZWwpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVWludDhBcnJheSgzMikuZmlsbCgwKTtcbiAgICBpZiAoIWxhYmVsKVxuICAgICAgICByZXR1cm4gYnl0ZXNUb0hleChyZXN1bHQpO1xuICAgIHJldHVybiBlbmNvZGVkTGFiZWxUb0xhYmVsaGFzaChsYWJlbCkgfHwga2VjY2FrMjU2KHN0cmluZ1RvQnl0ZXMobGFiZWwpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxhYmVsaGFzaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/labelhash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/namehash.js": -/*!**********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/namehash.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ namehash: function() { return /* binding */ namehash; }\n/* harmony export */ });\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _encodedLabelToLabelhash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encodedLabelToLabelhash.js */ \"./node_modules/viem/dist/esm/utils/ens/encodedLabelToLabelhash.js\");\n\n\n\n\n\n/**\n * @description Hashes ENS name\n *\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * namehash('wagmi-dev.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @link https://eips.ethereum.org/EIPS/eip-137\n */\nfunction namehash(name) {\n let result = new Uint8Array(32).fill(0);\n if (!name)\n return (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.bytesToHex)(result);\n const labels = name.split('.');\n // Iterate in reverse order building up hash\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashFromEncodedLabel = (0,_encodedLabelToLabelhash_js__WEBPACK_IMPORTED_MODULE_1__.encodedLabelToLabelhash)(labels[i]);\n const hashed = hashFromEncodedLabel\n ? (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_2__.toBytes)(hashFromEncodedLabel)\n : (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_3__.keccak256)((0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_2__.stringToBytes)(labels[i]), 'bytes');\n result = (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_3__.keccak256)((0,_data_concat_js__WEBPACK_IMPORTED_MODULE_4__.concat)([result, hashed]), 'bytes');\n }\n return (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.bytesToHex)(result);\n}\n//# sourceMappingURL=namehash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvbmFtZWhhc2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTJDO0FBQ3FCO0FBQ2Q7QUFDRDtBQUNzQjtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0EsZUFBZSw4REFBVTtBQUN6QjtBQUNBO0FBQ0Esb0NBQW9DLFFBQVE7QUFDNUMscUNBQXFDLG9GQUF1QjtBQUM1RDtBQUNBLGNBQWMsNkRBQU87QUFDckIsY0FBYyw2REFBUyxDQUFDLG1FQUFhO0FBQ3JDLGlCQUFpQiw2REFBUyxDQUFDLHVEQUFNO0FBQ2pDO0FBQ0EsV0FBVyw4REFBVTtBQUNyQjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2Vucy9uYW1laGFzaC5qcz82Y2I5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdCB9IGZyb20gJy4uL2RhdGEvY29uY2F0LmpzJztcbmltcG9ydCB7IHN0cmluZ1RvQnl0ZXMsIHRvQnl0ZXMgfSBmcm9tICcuLi9lbmNvZGluZy90b0J5dGVzLmpzJztcbmltcG9ydCB7IGJ5dGVzVG9IZXggfSBmcm9tICcuLi9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBrZWNjYWsyNTYgfSBmcm9tICcuLi9oYXNoL2tlY2NhazI1Ni5qcyc7XG5pbXBvcnQgeyBlbmNvZGVkTGFiZWxUb0xhYmVsaGFzaCB9IGZyb20gJy4vZW5jb2RlZExhYmVsVG9MYWJlbGhhc2guanMnO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gSGFzaGVzIEVOUyBuYW1lXG4gKlxuICogLSBTaW5jZSBFTlMgbmFtZXMgcHJvaGliaXQgY2VydGFpbiBmb3JiaWRkZW4gY2hhcmFjdGVycyAoZS5nLiB1bmRlcnNjb3JlKSBhbmQgaGF2ZSBvdGhlciB2YWxpZGF0aW9uIHJ1bGVzLCB5b3UgbGlrZWx5IHdhbnQgdG8gW25vcm1hbGl6ZSBFTlMgbmFtZXNdKGh0dHBzOi8vZG9jcy5lbnMuZG9tYWlucy9jb250cmFjdC1hcGktcmVmZXJlbmNlL25hbWUtcHJvY2Vzc2luZyNub3JtYWxpc2luZy1uYW1lcykgd2l0aCBbVVRTLTQ2IG5vcm1hbGl6YXRpb25dKGh0dHBzOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjQ2KSBiZWZvcmUgcGFzc2luZyB0aGVtIHRvIGBuYW1laGFzaGAuIFlvdSBjYW4gdXNlIHRoZSBidWlsdC1pbiBbYG5vcm1hbGl6ZWBdKGh0dHBzOi8vdmllbS5zaC9kb2NzL2Vucy91dGlsaXRpZXMvbm9ybWFsaXplLmh0bWwpIGZ1bmN0aW9uIGZvciB0aGlzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBuYW1laGFzaCgnd2FnbWktZGV2LmV0aCcpXG4gKiAnMHhmMjQ2NjUxYzFiOWE2YjE0MWQxOWMyNjA0ZTlhNThmNTY3OTczODMzOTkwZjgzMGQ4ODI1MzRhNzQ3ODAxMzU5J1xuICpcbiAqIEBsaW5rIGh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtMTM3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYW1laGFzaChuYW1lKSB7XG4gICAgbGV0IHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KDMyKS5maWxsKDApO1xuICAgIGlmICghbmFtZSlcbiAgICAgICAgcmV0dXJuIGJ5dGVzVG9IZXgocmVzdWx0KTtcbiAgICBjb25zdCBsYWJlbHMgPSBuYW1lLnNwbGl0KCcuJyk7XG4gICAgLy8gSXRlcmF0ZSBpbiByZXZlcnNlIG9yZGVyIGJ1aWxkaW5nIHVwIGhhc2hcbiAgICBmb3IgKGxldCBpID0gbGFiZWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICAgIGNvbnN0IGhhc2hGcm9tRW5jb2RlZExhYmVsID0gZW5jb2RlZExhYmVsVG9MYWJlbGhhc2gobGFiZWxzW2ldKTtcbiAgICAgICAgY29uc3QgaGFzaGVkID0gaGFzaEZyb21FbmNvZGVkTGFiZWxcbiAgICAgICAgICAgID8gdG9CeXRlcyhoYXNoRnJvbUVuY29kZWRMYWJlbClcbiAgICAgICAgICAgIDoga2VjY2FrMjU2KHN0cmluZ1RvQnl0ZXMobGFiZWxzW2ldKSwgJ2J5dGVzJyk7XG4gICAgICAgIHJlc3VsdCA9IGtlY2NhazI1Nihjb25jYXQoW3Jlc3VsdCwgaGFzaGVkXSksICdieXRlcycpO1xuICAgIH1cbiAgICByZXR1cm4gYnl0ZXNUb0hleChyZXN1bHQpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmFtZWhhc2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/namehash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/normalize.js": -/*!***********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/normalize.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ normalize: function() { return /* binding */ normalize; }\n/* harmony export */ });\n/* harmony import */ var _adraffy_ens_normalize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @adraffy/ens-normalize */ \"./node_modules/@adraffy/ens-normalize/dist/index.js\");\n\n/**\n * @description Normalizes ENS name according to ENSIP-15.\n *\n * @example\n * normalize('wagmi-dev.eth')\n * 'wagmi-dev.eth'\n *\n * @see https://docs.ens.domains/contract-api-reference/name-processing#normalising-names\n * @see https://github.com/ensdomains/docs/blob/9edf9443de4333a0ea7ec658a870672d5d180d53/ens-improvement-proposals/ensip-15-normalization-standard.md\n */\nfunction normalize(name) {\n return (0,_adraffy_ens_normalize__WEBPACK_IMPORTED_MODULE_0__.ens_normalize)(name);\n}\n//# sourceMappingURL=normalize.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvbm9ybWFsaXplLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxXQUFXLHFFQUFhO0FBQ3hCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvZW5zL25vcm1hbGl6ZS5qcz8zZWMzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuc19ub3JtYWxpemUgfSBmcm9tICdAYWRyYWZmeS9lbnMtbm9ybWFsaXplJztcbi8qKlxuICogQGRlc2NyaXB0aW9uIE5vcm1hbGl6ZXMgRU5TIG5hbWUgYWNjb3JkaW5nIHRvIEVOU0lQLTE1LlxuICpcbiAqIEBleGFtcGxlXG4gKiBub3JtYWxpemUoJ3dhZ21pLWRldi5ldGgnKVxuICogJ3dhZ21pLWRldi5ldGgnXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuZW5zLmRvbWFpbnMvY29udHJhY3QtYXBpLXJlZmVyZW5jZS9uYW1lLXByb2Nlc3Npbmcjbm9ybWFsaXNpbmctbmFtZXNcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2Vuc2RvbWFpbnMvZG9jcy9ibG9iLzllZGY5NDQzZGU0MzMzYTBlYTdlYzY1OGE4NzA2NzJkNWQxODBkNTMvZW5zLWltcHJvdmVtZW50LXByb3Bvc2Fscy9lbnNpcC0xNS1ub3JtYWxpemF0aW9uLXN0YW5kYXJkLm1kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUobmFtZSkge1xuICAgIHJldHVybiBlbnNfbm9ybWFsaXplKG5hbWUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/normalize.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/ens/packetToBytes.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/ens/packetToBytes.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ packetToBytes: function() { return /* binding */ packetToBytes; }\n/* harmony export */ });\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _encodeLabelhash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encodeLabelhash.js */ \"./node_modules/viem/dist/esm/utils/ens/encodeLabelhash.js\");\n/* harmony import */ var _labelhash_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./labelhash.js */ \"./node_modules/viem/dist/esm/utils/ens/labelhash.js\");\n\n\n\n/*\n * @description Encodes a DNS packet into a ByteArray containing a UDP payload.\n */\nfunction packetToBytes(packet) {\n // strip leading and trailing `.`\n const value = packet.replace(/^\\.|\\.$/gm, '');\n if (value.length === 0)\n return new Uint8Array(1);\n const bytes = new Uint8Array((0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.stringToBytes)(value).byteLength + 2);\n let offset = 0;\n const list = value.split('.');\n for (let i = 0; i < list.length; i++) {\n let encoded = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.stringToBytes)(list[i]);\n // if the length is > 255, make the encoded label value a labelhash\n // this is compatible with the universal resolver\n if (encoded.byteLength > 255)\n encoded = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.stringToBytes)((0,_encodeLabelhash_js__WEBPACK_IMPORTED_MODULE_1__.encodeLabelhash)((0,_labelhash_js__WEBPACK_IMPORTED_MODULE_2__.labelhash)(list[i])));\n bytes[offset] = encoded.length;\n bytes.set(encoded, offset + 1);\n offset += encoded.length + 1;\n }\n if (bytes.byteLength !== offset + 1)\n return bytes.slice(0, offset + 1);\n return bytes;\n}\n//# sourceMappingURL=packetToBytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvcGFja2V0VG9CeXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXVEO0FBQ0E7QUFDWjtBQUMzQztBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLG1FQUFhO0FBQzlDO0FBQ0E7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDLHNCQUFzQixtRUFBYTtBQUNuQztBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUVBQWEsQ0FBQyxvRUFBZSxDQUFDLHdEQUFTO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lbnMvcGFja2V0VG9CeXRlcy5qcz9jOWMzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0cmluZ1RvQnl0ZXMgfSBmcm9tICcuLi9lbmNvZGluZy90b0J5dGVzLmpzJztcbmltcG9ydCB7IGVuY29kZUxhYmVsaGFzaCB9IGZyb20gJy4vZW5jb2RlTGFiZWxoYXNoLmpzJztcbmltcG9ydCB7IGxhYmVsaGFzaCB9IGZyb20gJy4vbGFiZWxoYXNoLmpzJztcbi8qXG4gKiBAZGVzY3JpcHRpb24gRW5jb2RlcyBhIEROUyBwYWNrZXQgaW50byBhIEJ5dGVBcnJheSBjb250YWluaW5nIGEgVURQIHBheWxvYWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYWNrZXRUb0J5dGVzKHBhY2tldCkge1xuICAgIC8vIHN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGAuYFxuICAgIGNvbnN0IHZhbHVlID0gcGFja2V0LnJlcGxhY2UoL15cXC58XFwuJC9nbSwgJycpO1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheSgxKTtcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KHN0cmluZ1RvQnl0ZXModmFsdWUpLmJ5dGVMZW5ndGggKyAyKTtcbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBjb25zdCBsaXN0ID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IGVuY29kZWQgPSBzdHJpbmdUb0J5dGVzKGxpc3RbaV0pO1xuICAgICAgICAvLyBpZiB0aGUgbGVuZ3RoIGlzID4gMjU1LCBtYWtlIHRoZSBlbmNvZGVkIGxhYmVsIHZhbHVlIGEgbGFiZWxoYXNoXG4gICAgICAgIC8vIHRoaXMgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSB1bml2ZXJzYWwgcmVzb2x2ZXJcbiAgICAgICAgaWYgKGVuY29kZWQuYnl0ZUxlbmd0aCA+IDI1NSlcbiAgICAgICAgICAgIGVuY29kZWQgPSBzdHJpbmdUb0J5dGVzKGVuY29kZUxhYmVsaGFzaChsYWJlbGhhc2gobGlzdFtpXSkpKTtcbiAgICAgICAgYnl0ZXNbb2Zmc2V0XSA9IGVuY29kZWQubGVuZ3RoO1xuICAgICAgICBieXRlcy5zZXQoZW5jb2RlZCwgb2Zmc2V0ICsgMSk7XG4gICAgICAgIG9mZnNldCArPSBlbmNvZGVkLmxlbmd0aCArIDE7XG4gICAgfVxuICAgIGlmIChieXRlcy5ieXRlTGVuZ3RoICE9PSBvZmZzZXQgKyAxKVxuICAgICAgICByZXR1cm4gYnl0ZXMuc2xpY2UoMCwgb2Zmc2V0ICsgMSk7XG4gICAgcmV0dXJuIGJ5dGVzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFja2V0VG9CeXRlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/ens/packetToBytes.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/errors/getCallError.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/errors/getCallError.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getCallError: function() { return /* binding */ getCallError; }\n/* harmony export */ });\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n/* harmony import */ var _getNodeError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeError.js */ \"./node_modules/viem/dist/esm/utils/errors/getNodeError.js\");\n\n\nfunction getCallError(err, { docsPath, ...args }) {\n let cause = err;\n if ((0,_getNodeError_js__WEBPACK_IMPORTED_MODULE_0__.containsNodeError)(err))\n cause = (0,_getNodeError_js__WEBPACK_IMPORTED_MODULE_0__.getNodeError)(err, args);\n return new _errors_contract_js__WEBPACK_IMPORTED_MODULE_1__.CallExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n//# sourceMappingURL=getCallError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0Q2FsbEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE4RDtBQUNNO0FBQzdELDZCQUE2QixtQkFBbUI7QUFDdkQ7QUFDQSxRQUFRLG1FQUFpQjtBQUN6QixnQkFBZ0IsOERBQVk7QUFDNUIsZUFBZSxtRUFBa0I7QUFDakM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2Vycm9ycy9nZXRDYWxsRXJyb3IuanM/YWZjNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxsRXhlY3V0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvY29udHJhY3QuanMnO1xuaW1wb3J0IHsgY29udGFpbnNOb2RlRXJyb3IsIGdldE5vZGVFcnJvciB9IGZyb20gJy4vZ2V0Tm9kZUVycm9yLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWxsRXJyb3IoZXJyLCB7IGRvY3NQYXRoLCAuLi5hcmdzIH0pIHtcbiAgICBsZXQgY2F1c2UgPSBlcnI7XG4gICAgaWYgKGNvbnRhaW5zTm9kZUVycm9yKGVycikpXG4gICAgICAgIGNhdXNlID0gZ2V0Tm9kZUVycm9yKGVyciwgYXJncyk7XG4gICAgcmV0dXJuIG5ldyBDYWxsRXhlY3V0aW9uRXJyb3IoY2F1c2UsIHtcbiAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIC4uLmFyZ3MsXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRDYWxsRXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/errors/getCallError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/errors/getContractError.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/errors/getContractError.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getContractError: function() { return /* binding */ getContractError; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _errors_contract_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/contract.js */ \"./node_modules/viem/dist/esm/errors/contract.js\");\n\n\n\nconst EXECUTION_REVERTED_ERROR_CODE = 3;\nfunction getContractError(err, { abi, address, args, docsPath, functionName, sender, }) {\n const { code, data, message, shortMessage } = (err instanceof _errors_contract_js__WEBPACK_IMPORTED_MODULE_0__.RawContractError\n ? err\n : err instanceof _errors_base_js__WEBPACK_IMPORTED_MODULE_1__.BaseError\n ? err.walk((err) => 'data' in err)\n : {});\n let cause = err;\n if (err instanceof _errors_abi_js__WEBPACK_IMPORTED_MODULE_2__.AbiDecodingZeroDataError) {\n cause = new _errors_contract_js__WEBPACK_IMPORTED_MODULE_0__.ContractFunctionZeroDataError({ functionName });\n }\n else if (code === EXECUTION_REVERTED_ERROR_CODE &&\n (data || message || shortMessage)) {\n cause = new _errors_contract_js__WEBPACK_IMPORTED_MODULE_0__.ContractFunctionRevertedError({\n abi,\n data: typeof data === 'object' ? data.data : data,\n functionName,\n message: shortMessage ?? message,\n });\n }\n return new _errors_contract_js__WEBPACK_IMPORTED_MODULE_0__.ContractFunctionExecutionError(cause, {\n abi,\n args,\n contractAddress: address,\n docsPath,\n functionName,\n sender,\n });\n}\n//# sourceMappingURL=getContractError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQStEO0FBQ2Q7QUFDMEc7QUFDM0o7QUFDTyxpQ0FBaUMscURBQXFEO0FBQzdGLFlBQVksb0NBQW9DLGtCQUFrQixpRUFBZ0I7QUFDbEY7QUFDQSx5QkFBeUIsc0RBQVM7QUFDbEM7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQSx1QkFBdUIsb0VBQXdCO0FBQy9DLG9CQUFvQiw4RUFBNkIsR0FBRyxjQUFjO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw4RUFBNkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxlQUFlLCtFQUE4QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0Q29udHJhY3RFcnJvci5qcz9jNmE4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFiaURlY29kaW5nWmVyb0RhdGFFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hYmkuanMnO1xuaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2Jhc2UuanMnO1xuaW1wb3J0IHsgQ29udHJhY3RGdW5jdGlvbkV4ZWN1dGlvbkVycm9yLCBDb250cmFjdEZ1bmN0aW9uUmV2ZXJ0ZWRFcnJvciwgQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3IsIFJhd0NvbnRyYWN0RXJyb3IsIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2NvbnRyYWN0LmpzJztcbmNvbnN0IEVYRUNVVElPTl9SRVZFUlRFRF9FUlJPUl9DT0RFID0gMztcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb250cmFjdEVycm9yKGVyciwgeyBhYmksIGFkZHJlc3MsIGFyZ3MsIGRvY3NQYXRoLCBmdW5jdGlvbk5hbWUsIHNlbmRlciwgfSkge1xuICAgIGNvbnN0IHsgY29kZSwgZGF0YSwgbWVzc2FnZSwgc2hvcnRNZXNzYWdlIH0gPSAoZXJyIGluc3RhbmNlb2YgUmF3Q29udHJhY3RFcnJvclxuICAgICAgICA/IGVyclxuICAgICAgICA6IGVyciBpbnN0YW5jZW9mIEJhc2VFcnJvclxuICAgICAgICAgICAgPyBlcnIud2FsaygoZXJyKSA9PiAnZGF0YScgaW4gZXJyKVxuICAgICAgICAgICAgOiB7fSk7XG4gICAgbGV0IGNhdXNlID0gZXJyO1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBBYmlEZWNvZGluZ1plcm9EYXRhRXJyb3IpIHtcbiAgICAgICAgY2F1c2UgPSBuZXcgQ29udHJhY3RGdW5jdGlvblplcm9EYXRhRXJyb3IoeyBmdW5jdGlvbk5hbWUgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvZGUgPT09IEVYRUNVVElPTl9SRVZFUlRFRF9FUlJPUl9DT0RFICYmXG4gICAgICAgIChkYXRhIHx8IG1lc3NhZ2UgfHwgc2hvcnRNZXNzYWdlKSkge1xuICAgICAgICBjYXVzZSA9IG5ldyBDb250cmFjdEZ1bmN0aW9uUmV2ZXJ0ZWRFcnJvcih7XG4gICAgICAgICAgICBhYmksXG4gICAgICAgICAgICBkYXRhOiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgPyBkYXRhLmRhdGEgOiBkYXRhLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgbWVzc2FnZTogc2hvcnRNZXNzYWdlID8/IG1lc3NhZ2UsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IENvbnRyYWN0RnVuY3Rpb25FeGVjdXRpb25FcnJvcihjYXVzZSwge1xuICAgICAgICBhYmksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgZG9jc1BhdGgsXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgc2VuZGVyLFxuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Q29udHJhY3RFcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/errors/getContractError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/errors/getEstimateGasError.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/errors/getEstimateGasError.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEstimateGasError: function() { return /* binding */ getEstimateGasError; }\n/* harmony export */ });\n/* harmony import */ var _errors_estimateGas_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/estimateGas.js */ \"./node_modules/viem/dist/esm/errors/estimateGas.js\");\n/* harmony import */ var _getNodeError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeError.js */ \"./node_modules/viem/dist/esm/utils/errors/getNodeError.js\");\n\n\nfunction getEstimateGasError(err, { docsPath, ...args }) {\n let cause = err;\n if ((0,_getNodeError_js__WEBPACK_IMPORTED_MODULE_0__.containsNodeError)(err))\n cause = (0,_getNodeError_js__WEBPACK_IMPORTED_MODULE_0__.getNodeError)(err, args);\n return new _errors_estimateGas_js__WEBPACK_IMPORTED_MODULE_1__.EstimateGasExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n//# sourceMappingURL=getEstimateGasError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0RXN0aW1hdGVHYXNFcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0U7QUFDSjtBQUM3RCxvQ0FBb0MsbUJBQW1CO0FBQzlEO0FBQ0EsUUFBUSxtRUFBaUI7QUFDekIsZ0JBQWdCLDhEQUFZO0FBQzVCLGVBQWUsNkVBQXlCO0FBQ3hDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0RXN0aW1hdGVHYXNFcnJvci5qcz84YmUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzdGltYXRlR2FzRXhlY3V0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvZXN0aW1hdGVHYXMuanMnO1xuaW1wb3J0IHsgY29udGFpbnNOb2RlRXJyb3IsIGdldE5vZGVFcnJvciB9IGZyb20gJy4vZ2V0Tm9kZUVycm9yLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRFc3RpbWF0ZUdhc0Vycm9yKGVyciwgeyBkb2NzUGF0aCwgLi4uYXJncyB9KSB7XG4gICAgbGV0IGNhdXNlID0gZXJyO1xuICAgIGlmIChjb250YWluc05vZGVFcnJvcihlcnIpKVxuICAgICAgICBjYXVzZSA9IGdldE5vZGVFcnJvcihlcnIsIGFyZ3MpO1xuICAgIHJldHVybiBuZXcgRXN0aW1hdGVHYXNFeGVjdXRpb25FcnJvcihjYXVzZSwge1xuICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgLi4uYXJncyxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEVzdGltYXRlR2FzRXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/errors/getEstimateGasError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/errors/getNodeError.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/errors/getNodeError.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ containsNodeError: function() { return /* binding */ containsNodeError; },\n/* harmony export */ getNodeError: function() { return /* binding */ getNodeError; }\n/* harmony export */ });\n/* harmony import */ var _errors_node_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/node.js */ \"./node_modules/viem/dist/esm/errors/node.js\");\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _errors_rpc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/rpc.js */ \"./node_modules/viem/dist/esm/errors/rpc.js\");\n\n\n\nfunction containsNodeError(err) {\n return (err instanceof _errors_rpc_js__WEBPACK_IMPORTED_MODULE_0__.TransactionRejectedRpcError ||\n err instanceof _errors_rpc_js__WEBPACK_IMPORTED_MODULE_0__.InvalidInputRpcError ||\n (err instanceof _errors_request_js__WEBPACK_IMPORTED_MODULE_1__.RpcRequestError && err.code === _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.ExecutionRevertedError.code));\n}\nfunction getNodeError(err, args) {\n const message = err.details.toLowerCase();\n if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.FeeCapTooHighError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.FeeCapTooHighError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.FeeCapTooLowError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.FeeCapTooLowError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.NonceTooHighError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.NonceTooHighError({ cause: err, nonce: args?.nonce });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.NonceTooLowError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.NonceTooLowError({ cause: err, nonce: args?.nonce });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.NonceMaxValueError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.NonceMaxValueError({ cause: err, nonce: args?.nonce });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFundsError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFundsError({ cause: err });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.IntrinsicGasTooHighError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.IntrinsicGasTooHighError({ cause: err, gas: args?.gas });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.IntrinsicGasTooLowError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.IntrinsicGasTooLowError({ cause: err, gas: args?.gas });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.TransactionTypeNotSupportedError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.TransactionTypeNotSupportedError({ cause: err });\n else if (_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.TipAboveFeeCapError.nodeMessage.test(message))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.TipAboveFeeCapError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n maxPriorityFeePerGas: args?.maxPriorityFeePerGas,\n });\n else if (message.match(_errors_node_js__WEBPACK_IMPORTED_MODULE_2__.ExecutionRevertedError.nodeMessage) ||\n ('code' in err.cause &&\n err.cause?.code === _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.ExecutionRevertedError.code))\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.ExecutionRevertedError({\n cause: err,\n message: err.cause.details || err.details,\n });\n return new _errors_node_js__WEBPACK_IMPORTED_MODULE_2__.UnknownNodeError({\n cause: err.cause.cause,\n });\n}\n//# sourceMappingURL=getNodeError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0Tm9kZUVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQW1UO0FBQ3pQO0FBQytCO0FBQ2xGO0FBQ1AsMkJBQTJCLHVFQUEyQjtBQUN0RCx1QkFBdUIsZ0VBQW9CO0FBQzNDLHdCQUF3QiwrREFBZSxpQkFBaUIsbUVBQXNCO0FBQzlFO0FBQ087QUFDUDtBQUNBLFFBQVEsK0RBQWtCO0FBQzFCLG1CQUFtQiwrREFBa0I7QUFDckM7QUFDQTtBQUNBLFNBQVM7QUFDVCxhQUFhLDhEQUFpQjtBQUM5QixtQkFBbUIsOERBQWlCO0FBQ3BDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsYUFBYSw4REFBaUI7QUFDOUIsbUJBQW1CLDhEQUFpQixHQUFHLGdDQUFnQztBQUN2RSxhQUFhLDZEQUFnQjtBQUM3QixtQkFBbUIsNkRBQWdCLEdBQUcsZ0NBQWdDO0FBQ3RFLGFBQWEsK0RBQWtCO0FBQy9CLG1CQUFtQiwrREFBa0IsR0FBRyxnQ0FBZ0M7QUFDeEUsYUFBYSxtRUFBc0I7QUFDbkMsbUJBQW1CLG1FQUFzQixHQUFHLFlBQVk7QUFDeEQsYUFBYSxxRUFBd0I7QUFDckMsbUJBQW1CLHFFQUF3QixHQUFHLDRCQUE0QjtBQUMxRSxhQUFhLG9FQUF1QjtBQUNwQyxtQkFBbUIsb0VBQXVCLEdBQUcsNEJBQTRCO0FBQ3pFLGFBQWEsNkVBQWdDO0FBQzdDLG1CQUFtQiw2RUFBZ0MsR0FBRyxZQUFZO0FBQ2xFLGFBQWEsZ0VBQW1CO0FBQ2hDLG1CQUFtQixnRUFBbUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULDJCQUEyQixtRUFBc0I7QUFDakQ7QUFDQSxnQ0FBZ0MsbUVBQXNCO0FBQ3RELG1CQUFtQixtRUFBc0I7QUFDekM7QUFDQTtBQUNBLFNBQVM7QUFDVCxlQUFlLDZEQUFnQjtBQUMvQjtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2Vycm9ycy9nZXROb2RlRXJyb3IuanM/YzU1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjdXRpb25SZXZlcnRlZEVycm9yLCBGZWVDYXBUb29IaWdoRXJyb3IsIEZlZUNhcFRvb0xvd0Vycm9yLCBJbnN1ZmZpY2llbnRGdW5kc0Vycm9yLCBJbnRyaW5zaWNHYXNUb29IaWdoRXJyb3IsIEludHJpbnNpY0dhc1Rvb0xvd0Vycm9yLCBOb25jZU1heFZhbHVlRXJyb3IsIE5vbmNlVG9vSGlnaEVycm9yLCBOb25jZVRvb0xvd0Vycm9yLCBUaXBBYm92ZUZlZUNhcEVycm9yLCBUcmFuc2FjdGlvblR5cGVOb3RTdXBwb3J0ZWRFcnJvciwgVW5rbm93bk5vZGVFcnJvciwgfSBmcm9tICcuLi8uLi9lcnJvcnMvbm9kZS5qcyc7XG5pbXBvcnQgeyBScGNSZXF1ZXN0RXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvcmVxdWVzdC5qcyc7XG5pbXBvcnQgeyBJbnZhbGlkSW5wdXRScGNFcnJvciwgVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yLCB9IGZyb20gJy4uLy4uL2Vycm9ycy9ycGMuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zTm9kZUVycm9yKGVycikge1xuICAgIHJldHVybiAoZXJyIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25SZWplY3RlZFJwY0Vycm9yIHx8XG4gICAgICAgIGVyciBpbnN0YW5jZW9mIEludmFsaWRJbnB1dFJwY0Vycm9yIHx8XG4gICAgICAgIChlcnIgaW5zdGFuY2VvZiBScGNSZXF1ZXN0RXJyb3IgJiYgZXJyLmNvZGUgPT09IEV4ZWN1dGlvblJldmVydGVkRXJyb3IuY29kZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVFcnJvcihlcnIsIGFyZ3MpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLmRldGFpbHMudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoRmVlQ2FwVG9vSGlnaEVycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgRmVlQ2FwVG9vSGlnaEVycm9yKHtcbiAgICAgICAgICAgIGNhdXNlOiBlcnIsXG4gICAgICAgICAgICBtYXhGZWVQZXJHYXM6IGFyZ3M/Lm1heEZlZVBlckdhcyxcbiAgICAgICAgfSk7XG4gICAgZWxzZSBpZiAoRmVlQ2FwVG9vTG93RXJyb3Iubm9kZU1lc3NhZ2UudGVzdChtZXNzYWdlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBGZWVDYXBUb29Mb3dFcnJvcih7XG4gICAgICAgICAgICBjYXVzZTogZXJyLFxuICAgICAgICAgICAgbWF4RmVlUGVyR2FzOiBhcmdzPy5tYXhGZWVQZXJHYXMsXG4gICAgICAgIH0pO1xuICAgIGVsc2UgaWYgKE5vbmNlVG9vSGlnaEVycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgTm9uY2VUb29IaWdoRXJyb3IoeyBjYXVzZTogZXJyLCBub25jZTogYXJncz8ubm9uY2UgfSk7XG4gICAgZWxzZSBpZiAoTm9uY2VUb29Mb3dFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IE5vbmNlVG9vTG93RXJyb3IoeyBjYXVzZTogZXJyLCBub25jZTogYXJncz8ubm9uY2UgfSk7XG4gICAgZWxzZSBpZiAoTm9uY2VNYXhWYWx1ZUVycm9yLm5vZGVNZXNzYWdlLnRlc3QobWVzc2FnZSkpXG4gICAgICAgIHJldHVybiBuZXcgTm9uY2VNYXhWYWx1ZUVycm9yKHsgY2F1c2U6IGVyciwgbm9uY2U6IGFyZ3M/Lm5vbmNlIH0pO1xuICAgIGVsc2UgaWYgKEluc3VmZmljaWVudEZ1bmRzRXJyb3Iubm9kZU1lc3NhZ2UudGVzdChtZXNzYWdlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBJbnN1ZmZpY2llbnRGdW5kc0Vycm9yKHsgY2F1c2U6IGVyciB9KTtcbiAgICBlbHNlIGlmIChJbnRyaW5zaWNHYXNUb29IaWdoRXJyb3Iubm9kZU1lc3NhZ2UudGVzdChtZXNzYWdlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBJbnRyaW5zaWNHYXNUb29IaWdoRXJyb3IoeyBjYXVzZTogZXJyLCBnYXM6IGFyZ3M/LmdhcyB9KTtcbiAgICBlbHNlIGlmIChJbnRyaW5zaWNHYXNUb29Mb3dFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IEludHJpbnNpY0dhc1Rvb0xvd0Vycm9yKHsgY2F1c2U6IGVyciwgZ2FzOiBhcmdzPy5nYXMgfSk7XG4gICAgZWxzZSBpZiAoVHJhbnNhY3Rpb25UeXBlTm90U3VwcG9ydGVkRXJyb3Iubm9kZU1lc3NhZ2UudGVzdChtZXNzYWdlKSlcbiAgICAgICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvblR5cGVOb3RTdXBwb3J0ZWRFcnJvcih7IGNhdXNlOiBlcnIgfSk7XG4gICAgZWxzZSBpZiAoVGlwQWJvdmVGZWVDYXBFcnJvci5ub2RlTWVzc2FnZS50ZXN0KG1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbmV3IFRpcEFib3ZlRmVlQ2FwRXJyb3Ioe1xuICAgICAgICAgICAgY2F1c2U6IGVycixcbiAgICAgICAgICAgIG1heEZlZVBlckdhczogYXJncz8ubWF4RmVlUGVyR2FzLFxuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IGFyZ3M/Lm1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICB9KTtcbiAgICBlbHNlIGlmIChtZXNzYWdlLm1hdGNoKEV4ZWN1dGlvblJldmVydGVkRXJyb3Iubm9kZU1lc3NhZ2UpIHx8XG4gICAgICAgICgnY29kZScgaW4gZXJyLmNhdXNlICYmXG4gICAgICAgICAgICBlcnIuY2F1c2U/LmNvZGUgPT09IEV4ZWN1dGlvblJldmVydGVkRXJyb3IuY29kZSkpXG4gICAgICAgIHJldHVybiBuZXcgRXhlY3V0aW9uUmV2ZXJ0ZWRFcnJvcih7XG4gICAgICAgICAgICBjYXVzZTogZXJyLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyLmNhdXNlLmRldGFpbHMgfHwgZXJyLmRldGFpbHMsXG4gICAgICAgIH0pO1xuICAgIHJldHVybiBuZXcgVW5rbm93bk5vZGVFcnJvcih7XG4gICAgICAgIGNhdXNlOiBlcnIuY2F1c2UuY2F1c2UsXG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXROb2RlRXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/errors/getNodeError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/errors/getTransactionError.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/errors/getTransactionError.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTransactionError: function() { return /* binding */ getTransactionError; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _getNodeError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeError.js */ \"./node_modules/viem/dist/esm/utils/errors/getNodeError.js\");\n\n\nfunction getTransactionError(err, { docsPath, ...args }) {\n let cause = err;\n if ((0,_getNodeError_js__WEBPACK_IMPORTED_MODULE_0__.containsNodeError)(err))\n cause = (0,_getNodeError_js__WEBPACK_IMPORTED_MODULE_0__.getNodeError)(err, args);\n return new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_1__.TransactionExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n//# sourceMappingURL=getTransactionError.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0VHJhbnNhY3Rpb25FcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0U7QUFDSjtBQUM3RCxvQ0FBb0MsbUJBQW1CO0FBQzlEO0FBQ0EsUUFBUSxtRUFBaUI7QUFDekIsZ0JBQWdCLDhEQUFZO0FBQzVCLGVBQWUsNkVBQXlCO0FBQ3hDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9lcnJvcnMvZ2V0VHJhbnNhY3Rpb25FcnJvci5qcz8zOTU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uRXhlY3V0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvdHJhbnNhY3Rpb24uanMnO1xuaW1wb3J0IHsgY29udGFpbnNOb2RlRXJyb3IsIGdldE5vZGVFcnJvciB9IGZyb20gJy4vZ2V0Tm9kZUVycm9yLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkVycm9yKGVyciwgeyBkb2NzUGF0aCwgLi4uYXJncyB9KSB7XG4gICAgbGV0IGNhdXNlID0gZXJyO1xuICAgIGlmIChjb250YWluc05vZGVFcnJvcihlcnIpKVxuICAgICAgICBjYXVzZSA9IGdldE5vZGVFcnJvcihlcnIsIGFyZ3MpO1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25FeGVjdXRpb25FcnJvcihjYXVzZSwge1xuICAgICAgICBkb2NzUGF0aCxcbiAgICAgICAgLi4uYXJncyxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFRyYW5zYWN0aW9uRXJyb3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/errors/getTransactionError.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createFilterRequestScope: function() { return /* binding */ createFilterRequestScope; }\n/* harmony export */ });\n/**\n * Scopes `request` to the filter ID. If the client is a fallback, it will\n * listen for responses and scope the child transport `request` function\n * to the successful filter ID.\n */\nfunction createFilterRequestScope(client, { method }) {\n const requestMap = {};\n if (client.transport.type === 'fallback')\n client.transport.onResponse?.(({ method: method_, response: id, status, transport, }) => {\n if (status === 'success' && method === method_)\n requestMap[id] = transport.request;\n });\n return ((id) => requestMap[id] || client.request);\n}\n//# sourceMappingURL=createFilterRequestScope.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9maWx0ZXJzL2NyZWF0ZUZpbHRlclJlcXVlc3RTY29wZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLDRDQUE0QyxRQUFRO0FBQzNEO0FBQ0E7QUFDQSx5Q0FBeUMsbURBQW1EO0FBQzVGO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2ZpbHRlcnMvY3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzP2U4MGIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTY29wZXMgYHJlcXVlc3RgIHRvIHRoZSBmaWx0ZXIgSUQuIElmIHRoZSBjbGllbnQgaXMgYSBmYWxsYmFjaywgaXQgd2lsbFxuICogbGlzdGVuIGZvciByZXNwb25zZXMgYW5kIHNjb3BlIHRoZSBjaGlsZCB0cmFuc3BvcnQgYHJlcXVlc3RgIGZ1bmN0aW9uXG4gKiB0byB0aGUgc3VjY2Vzc2Z1bCBmaWx0ZXIgSUQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGaWx0ZXJSZXF1ZXN0U2NvcGUoY2xpZW50LCB7IG1ldGhvZCB9KSB7XG4gICAgY29uc3QgcmVxdWVzdE1hcCA9IHt9O1xuICAgIGlmIChjbGllbnQudHJhbnNwb3J0LnR5cGUgPT09ICdmYWxsYmFjaycpXG4gICAgICAgIGNsaWVudC50cmFuc3BvcnQub25SZXNwb25zZT8uKCh7IG1ldGhvZDogbWV0aG9kXywgcmVzcG9uc2U6IGlkLCBzdGF0dXMsIHRyYW5zcG9ydCwgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ3N1Y2Nlc3MnICYmIG1ldGhvZCA9PT0gbWV0aG9kXylcbiAgICAgICAgICAgICAgICByZXF1ZXN0TWFwW2lkXSA9IHRyYW5zcG9ydC5yZXF1ZXN0O1xuICAgICAgICB9KTtcbiAgICByZXR1cm4gKChpZCkgPT4gcmVxdWVzdE1hcFtpZF0gfHwgY2xpZW50LnJlcXVlc3QpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlRmlsdGVyUmVxdWVzdFNjb3BlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/block.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/block.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineBlock: function() { return /* binding */ defineBlock; },\n/* harmony export */ formatBlock: function() { return /* binding */ formatBlock; }\n/* harmony export */ });\n/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/esm/utils/formatters/formatter.js\");\n/* harmony import */ var _transaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n\n\nfunction formatBlock(block) {\n const transactions = block.transactions?.map((transaction) => {\n if (typeof transaction === 'string')\n return transaction;\n return (0,_transaction_js__WEBPACK_IMPORTED_MODULE_0__.formatTransaction)(transaction);\n });\n return {\n ...block,\n baseFeePerGas: block.baseFeePerGas ? BigInt(block.baseFeePerGas) : null,\n difficulty: block.difficulty ? BigInt(block.difficulty) : undefined,\n gasLimit: block.gasLimit ? BigInt(block.gasLimit) : undefined,\n gasUsed: block.gasUsed ? BigInt(block.gasUsed) : undefined,\n hash: block.hash ? block.hash : null,\n logsBloom: block.logsBloom ? block.logsBloom : null,\n nonce: block.nonce ? block.nonce : null,\n number: block.number ? BigInt(block.number) : null,\n size: block.size ? BigInt(block.size) : undefined,\n timestamp: block.timestamp ? BigInt(block.timestamp) : undefined,\n transactions,\n totalDifficulty: block.totalDifficulty\n ? BigInt(block.totalDifficulty)\n : null,\n };\n}\nconst defineBlock = /*#__PURE__*/ (0,_formatter_js__WEBPACK_IMPORTED_MODULE_1__.defineFormatter)('block', formatBlock);\n//# sourceMappingURL=block.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2Jsb2NrLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBaUQ7QUFDSTtBQUM5QztBQUNQO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0VBQWlCO0FBQ2hDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxrQ0FBa0MsOERBQWU7QUFDeEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvZm9ybWF0dGVycy9ibG9jay5qcz8xZmVmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVyLmpzJztcbmltcG9ydCB7IGZvcm1hdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi5qcyc7XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QmxvY2soYmxvY2spIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBibG9jay50cmFuc2FjdGlvbnM/Lm1hcCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0cmFuc2FjdGlvbiA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgICAgIHJldHVybiBmb3JtYXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYmxvY2ssXG4gICAgICAgIGJhc2VGZWVQZXJHYXM6IGJsb2NrLmJhc2VGZWVQZXJHYXMgPyBCaWdJbnQoYmxvY2suYmFzZUZlZVBlckdhcykgOiBudWxsLFxuICAgICAgICBkaWZmaWN1bHR5OiBibG9jay5kaWZmaWN1bHR5ID8gQmlnSW50KGJsb2NrLmRpZmZpY3VsdHkpIDogdW5kZWZpbmVkLFxuICAgICAgICBnYXNMaW1pdDogYmxvY2suZ2FzTGltaXQgPyBCaWdJbnQoYmxvY2suZ2FzTGltaXQpIDogdW5kZWZpbmVkLFxuICAgICAgICBnYXNVc2VkOiBibG9jay5nYXNVc2VkID8gQmlnSW50KGJsb2NrLmdhc1VzZWQpIDogdW5kZWZpbmVkLFxuICAgICAgICBoYXNoOiBibG9jay5oYXNoID8gYmxvY2suaGFzaCA6IG51bGwsXG4gICAgICAgIGxvZ3NCbG9vbTogYmxvY2subG9nc0Jsb29tID8gYmxvY2subG9nc0Jsb29tIDogbnVsbCxcbiAgICAgICAgbm9uY2U6IGJsb2NrLm5vbmNlID8gYmxvY2subm9uY2UgOiBudWxsLFxuICAgICAgICBudW1iZXI6IGJsb2NrLm51bWJlciA/IEJpZ0ludChibG9jay5udW1iZXIpIDogbnVsbCxcbiAgICAgICAgc2l6ZTogYmxvY2suc2l6ZSA/IEJpZ0ludChibG9jay5zaXplKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdGltZXN0YW1wOiBibG9jay50aW1lc3RhbXAgPyBCaWdJbnQoYmxvY2sudGltZXN0YW1wKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdHJhbnNhY3Rpb25zLFxuICAgICAgICB0b3RhbERpZmZpY3VsdHk6IGJsb2NrLnRvdGFsRGlmZmljdWx0eVxuICAgICAgICAgICAgPyBCaWdJbnQoYmxvY2sudG90YWxEaWZmaWN1bHR5KVxuICAgICAgICAgICAgOiBudWxsLFxuICAgIH07XG59XG5leHBvcnQgY29uc3QgZGVmaW5lQmxvY2sgPSAvKiNfX1BVUkVfXyovIGRlZmluZUZvcm1hdHRlcignYmxvY2snLCBmb3JtYXRCbG9jayk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ibG9jay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/block.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/extract.js": -/*!****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/extract.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ extract: function() { return /* binding */ extract; }\n/* harmony export */ });\n/**\n * @description Picks out the keys from `value` that exist in the formatter.\n */\nfunction extract(value, { format }) {\n if (!format)\n return {};\n const keys = Object.keys(format({}));\n return keys.reduce((data, key) => {\n if (value?.hasOwnProperty(key)) {\n ;\n data[key] = value[key];\n }\n return data;\n }, {});\n}\n//# sourceMappingURL=extract.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNPLDBCQUEwQixRQUFRO0FBQ3pDO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxJQUFJO0FBQ1Q7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2V4dHJhY3QuanM/YjAwOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBQaWNrcyBvdXQgdGhlIGtleXMgZnJvbSBgdmFsdWVgIHRoYXQgZXhpc3QgaW4gdGhlIGZvcm1hdHRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3QodmFsdWUsIHsgZm9ybWF0IH0pIHtcbiAgICBpZiAoIWZvcm1hdClcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmb3JtYXQoe30pKTtcbiAgICByZXR1cm4ga2V5cy5yZWR1Y2UoKGRhdGEsIGtleSkgPT4ge1xuICAgICAgICBpZiAodmFsdWU/Lmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSwge30pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0cmFjdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/extract.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/feeHistory.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/feeHistory.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatFeeHistory: function() { return /* binding */ formatFeeHistory; }\n/* harmony export */ });\nfunction formatFeeHistory(feeHistory) {\n return {\n baseFeePerGas: feeHistory.baseFeePerGas.map((value) => BigInt(value)),\n gasUsedRatio: feeHistory.gasUsedRatio,\n oldestBlock: BigInt(feeHistory.oldestBlock),\n reward: feeHistory.reward?.map((reward) => reward.map((value) => BigInt(value))),\n };\n}\n//# sourceMappingURL=feeHistory.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2ZlZUhpc3RvcnkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2ZlZUhpc3RvcnkuanM/YWRjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZm9ybWF0RmVlSGlzdG9yeShmZWVIaXN0b3J5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYmFzZUZlZVBlckdhczogZmVlSGlzdG9yeS5iYXNlRmVlUGVyR2FzLm1hcCgodmFsdWUpID0+IEJpZ0ludCh2YWx1ZSkpLFxuICAgICAgICBnYXNVc2VkUmF0aW86IGZlZUhpc3RvcnkuZ2FzVXNlZFJhdGlvLFxuICAgICAgICBvbGRlc3RCbG9jazogQmlnSW50KGZlZUhpc3Rvcnkub2xkZXN0QmxvY2spLFxuICAgICAgICByZXdhcmQ6IGZlZUhpc3RvcnkucmV3YXJkPy5tYXAoKHJld2FyZCkgPT4gcmV3YXJkLm1hcCgodmFsdWUpID0+IEJpZ0ludCh2YWx1ZSkpKSxcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmVlSGlzdG9yeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/feeHistory.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/formatter.js": -/*!******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/formatter.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineFormatter: function() { return /* binding */ defineFormatter; }\n/* harmony export */ });\nfunction defineFormatter(type, format) {\n return ({ exclude, format: overrides, }) => {\n return {\n format: (args) => {\n const formatted = format(args);\n if (exclude) {\n for (const key of exclude) {\n delete formatted[key];\n }\n }\n return {\n ...formatted,\n ...overrides(args),\n };\n },\n type,\n };\n };\n}\n//# sourceMappingURL=formatter.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2Zvcm1hdHRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUCxjQUFjLDZCQUE2QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2Zvcm1hdHRlci5qcz9jNzJjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkZWZpbmVGb3JtYXR0ZXIodHlwZSwgZm9ybWF0KSB7XG4gICAgcmV0dXJuICh7IGV4Y2x1ZGUsIGZvcm1hdDogb3ZlcnJpZGVzLCB9KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmb3JtYXQ6IChhcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0KGFyZ3MpO1xuICAgICAgICAgICAgICAgIGlmIChleGNsdWRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGV4Y2x1ZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmb3JtYXR0ZWRba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5mb3JtYXR0ZWQsXG4gICAgICAgICAgICAgICAgICAgIC4uLm92ZXJyaWRlcyhhcmdzKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgIH07XG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/formatter.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/log.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/log.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatLog: function() { return /* binding */ formatLog; }\n/* harmony export */ });\nfunction formatLog(log, { args, eventName } = {}) {\n return {\n ...log,\n blockHash: log.blockHash ? log.blockHash : null,\n blockNumber: log.blockNumber ? BigInt(log.blockNumber) : null,\n logIndex: log.logIndex ? Number(log.logIndex) : null,\n transactionHash: log.transactionHash ? log.transactionHash : null,\n transactionIndex: log.transactionIndex\n ? Number(log.transactionIndex)\n : null,\n ...(eventName ? { args, eventName } : {}),\n };\n}\n//# sourceMappingURL=log.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL2xvZy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sMEJBQTBCLGtCQUFrQixJQUFJO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixrQkFBa0IsSUFBSTtBQUNoRDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvZm9ybWF0dGVycy9sb2cuanM/MDc4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZm9ybWF0TG9nKGxvZywgeyBhcmdzLCBldmVudE5hbWUgfSA9IHt9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubG9nLFxuICAgICAgICBibG9ja0hhc2g6IGxvZy5ibG9ja0hhc2ggPyBsb2cuYmxvY2tIYXNoIDogbnVsbCxcbiAgICAgICAgYmxvY2tOdW1iZXI6IGxvZy5ibG9ja051bWJlciA/IEJpZ0ludChsb2cuYmxvY2tOdW1iZXIpIDogbnVsbCxcbiAgICAgICAgbG9nSW5kZXg6IGxvZy5sb2dJbmRleCA/IE51bWJlcihsb2cubG9nSW5kZXgpIDogbnVsbCxcbiAgICAgICAgdHJhbnNhY3Rpb25IYXNoOiBsb2cudHJhbnNhY3Rpb25IYXNoID8gbG9nLnRyYW5zYWN0aW9uSGFzaCA6IG51bGwsXG4gICAgICAgIHRyYW5zYWN0aW9uSW5kZXg6IGxvZy50cmFuc2FjdGlvbkluZGV4XG4gICAgICAgICAgICA/IE51bWJlcihsb2cudHJhbnNhY3Rpb25JbmRleClcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgLi4uKGV2ZW50TmFtZSA/IHsgYXJncywgZXZlbnROYW1lIH0gOiB7fSksXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvZy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/log.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/transaction.js": -/*!********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/transaction.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineTransaction: function() { return /* binding */ defineTransaction; },\n/* harmony export */ formatTransaction: function() { return /* binding */ formatTransaction; },\n/* harmony export */ transactionType: function() { return /* binding */ transactionType; }\n/* harmony export */ });\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/esm/utils/formatters/formatter.js\");\n\n\nconst transactionType = {\n '0x0': 'legacy',\n '0x1': 'eip2930',\n '0x2': 'eip1559',\n};\nfunction formatTransaction(transaction) {\n const transaction_ = {\n ...transaction,\n blockHash: transaction.blockHash ? transaction.blockHash : null,\n blockNumber: transaction.blockNumber\n ? BigInt(transaction.blockNumber)\n : null,\n chainId: transaction.chainId ? (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.hexToNumber)(transaction.chainId) : undefined,\n gas: transaction.gas ? BigInt(transaction.gas) : undefined,\n gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined,\n maxFeePerGas: transaction.maxFeePerGas\n ? BigInt(transaction.maxFeePerGas)\n : undefined,\n maxPriorityFeePerGas: transaction.maxPriorityFeePerGas\n ? BigInt(transaction.maxPriorityFeePerGas)\n : undefined,\n nonce: transaction.nonce ? (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_0__.hexToNumber)(transaction.nonce) : undefined,\n to: transaction.to ? transaction.to : null,\n transactionIndex: transaction.transactionIndex\n ? Number(transaction.transactionIndex)\n : null,\n type: transaction.type ? transactionType[transaction.type] : undefined,\n typeHex: transaction.type ? transaction.type : undefined,\n value: transaction.value ? BigInt(transaction.value) : undefined,\n v: transaction.v ? BigInt(transaction.v) : undefined,\n };\n if (transaction_.type === 'legacy') {\n delete transaction_['accessList'];\n delete transaction_['maxFeePerGas'];\n delete transaction_['maxPriorityFeePerGas'];\n }\n if (transaction_.type === 'eip2930') {\n delete transaction_['maxFeePerGas'];\n delete transaction_['maxPriorityFeePerGas'];\n }\n return transaction_;\n}\nconst defineTransaction = /*#__PURE__*/ (0,_formatter_js__WEBPACK_IMPORTED_MODULE_1__.defineFormatter)('transaction', formatTransaction);\n//# sourceMappingURL=transaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXFEO0FBQ0o7QUFDMUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLGlFQUFXO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsaUVBQVc7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLHdDQUF3Qyw4REFBZTtBQUM5RCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uLmpzPzgwMGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGV4VG9OdW1iZXIgfSBmcm9tICcuLi9lbmNvZGluZy9mcm9tSGV4LmpzJztcbmltcG9ydCB7IGRlZmluZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVyLmpzJztcbmV4cG9ydCBjb25zdCB0cmFuc2FjdGlvblR5cGUgPSB7XG4gICAgJzB4MCc6ICdsZWdhY3knLFxuICAgICcweDEnOiAnZWlwMjkzMCcsXG4gICAgJzB4Mic6ICdlaXAxNTU5Jyxcbn07XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbl8gPSB7XG4gICAgICAgIC4uLnRyYW5zYWN0aW9uLFxuICAgICAgICBibG9ja0hhc2g6IHRyYW5zYWN0aW9uLmJsb2NrSGFzaCA/IHRyYW5zYWN0aW9uLmJsb2NrSGFzaCA6IG51bGwsXG4gICAgICAgIGJsb2NrTnVtYmVyOiB0cmFuc2FjdGlvbi5ibG9ja051bWJlclxuICAgICAgICAgICAgPyBCaWdJbnQodHJhbnNhY3Rpb24uYmxvY2tOdW1iZXIpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGNoYWluSWQ6IHRyYW5zYWN0aW9uLmNoYWluSWQgPyBoZXhUb051bWJlcih0cmFuc2FjdGlvbi5jaGFpbklkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzOiB0cmFuc2FjdGlvbi5nYXMgPyBCaWdJbnQodHJhbnNhY3Rpb24uZ2FzKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzUHJpY2U6IHRyYW5zYWN0aW9uLmdhc1ByaWNlID8gQmlnSW50KHRyYW5zYWN0aW9uLmdhc1ByaWNlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4RmVlUGVyR2FzOiB0cmFuc2FjdGlvbi5tYXhGZWVQZXJHYXNcbiAgICAgICAgICAgID8gQmlnSW50KHRyYW5zYWN0aW9uLm1heEZlZVBlckdhcylcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhczogdHJhbnNhY3Rpb24ubWF4UHJpb3JpdHlGZWVQZXJHYXNcbiAgICAgICAgICAgID8gQmlnSW50KHRyYW5zYWN0aW9uLm1heFByaW9yaXR5RmVlUGVyR2FzKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5vbmNlOiB0cmFuc2FjdGlvbi5ub25jZSA/IGhleFRvTnVtYmVyKHRyYW5zYWN0aW9uLm5vbmNlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdG86IHRyYW5zYWN0aW9uLnRvID8gdHJhbnNhY3Rpb24udG8gOiBudWxsLFxuICAgICAgICB0cmFuc2FjdGlvbkluZGV4OiB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZGV4XG4gICAgICAgICAgICA/IE51bWJlcih0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZGV4KVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0eXBlOiB0cmFuc2FjdGlvbi50eXBlID8gdHJhbnNhY3Rpb25UeXBlW3RyYW5zYWN0aW9uLnR5cGVdIDogdW5kZWZpbmVkLFxuICAgICAgICB0eXBlSGV4OiB0cmFuc2FjdGlvbi50eXBlID8gdHJhbnNhY3Rpb24udHlwZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdmFsdWU6IHRyYW5zYWN0aW9uLnZhbHVlID8gQmlnSW50KHRyYW5zYWN0aW9uLnZhbHVlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdjogdHJhbnNhY3Rpb24udiA/IEJpZ0ludCh0cmFuc2FjdGlvbi52KSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICAgIGlmICh0cmFuc2FjdGlvbl8udHlwZSA9PT0gJ2xlZ2FjeScpIHtcbiAgICAgICAgZGVsZXRlIHRyYW5zYWN0aW9uX1snYWNjZXNzTGlzdCddO1xuICAgICAgICBkZWxldGUgdHJhbnNhY3Rpb25fWydtYXhGZWVQZXJHYXMnXTtcbiAgICAgICAgZGVsZXRlIHRyYW5zYWN0aW9uX1snbWF4UHJpb3JpdHlGZWVQZXJHYXMnXTtcbiAgICB9XG4gICAgaWYgKHRyYW5zYWN0aW9uXy50eXBlID09PSAnZWlwMjkzMCcpIHtcbiAgICAgICAgZGVsZXRlIHRyYW5zYWN0aW9uX1snbWF4RmVlUGVyR2FzJ107XG4gICAgICAgIGRlbGV0ZSB0cmFuc2FjdGlvbl9bJ21heFByaW9yaXR5RmVlUGVyR2FzJ107XG4gICAgfVxuICAgIHJldHVybiB0cmFuc2FjdGlvbl87XG59XG5leHBvcnQgY29uc3QgZGVmaW5lVHJhbnNhY3Rpb24gPSAvKiNfX1BVUkVfXyovIGRlZmluZUZvcm1hdHRlcigndHJhbnNhY3Rpb24nLCBmb3JtYXRUcmFuc2FjdGlvbik7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmFuc2FjdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/transaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineTransactionReceipt: function() { return /* binding */ defineTransactionReceipt; },\n/* harmony export */ formatTransactionReceipt: function() { return /* binding */ formatTransactionReceipt; }\n/* harmony export */ });\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/esm/utils/formatters/formatter.js\");\n/* harmony import */ var _log_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./log.js */ \"./node_modules/viem/dist/esm/utils/formatters/log.js\");\n/* harmony import */ var _transaction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n\n\n\n\nconst statuses = {\n '0x0': 'reverted',\n '0x1': 'success',\n};\nfunction formatTransactionReceipt(transactionReceipt) {\n return {\n ...transactionReceipt,\n blockNumber: transactionReceipt.blockNumber\n ? BigInt(transactionReceipt.blockNumber)\n : null,\n contractAddress: transactionReceipt.contractAddress\n ? transactionReceipt.contractAddress\n : null,\n cumulativeGasUsed: transactionReceipt.cumulativeGasUsed\n ? BigInt(transactionReceipt.cumulativeGasUsed)\n : null,\n effectiveGasPrice: transactionReceipt.effectiveGasPrice\n ? BigInt(transactionReceipt.effectiveGasPrice)\n : null,\n gasUsed: transactionReceipt.gasUsed\n ? BigInt(transactionReceipt.gasUsed)\n : null,\n logs: transactionReceipt.logs\n ? transactionReceipt.logs.map((log) => (0,_log_js__WEBPACK_IMPORTED_MODULE_0__.formatLog)(log))\n : null,\n to: transactionReceipt.to ? transactionReceipt.to : null,\n transactionIndex: transactionReceipt.transactionIndex\n ? (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.hexToNumber)(transactionReceipt.transactionIndex)\n : null,\n status: transactionReceipt.status\n ? statuses[transactionReceipt.status]\n : null,\n type: transactionReceipt.type\n ? _transaction_js__WEBPACK_IMPORTED_MODULE_2__.transactionType[transactionReceipt.type] || transactionReceipt.type\n : null,\n };\n}\nconst defineTransactionReceipt = /*#__PURE__*/ (0,_formatter_js__WEBPACK_IMPORTED_MODULE_3__.defineFormatter)('transactionReceipt', formatTransactionReceipt);\n//# sourceMappingURL=transactionReceipt.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVjZWlwdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBcUQ7QUFDSjtBQUNaO0FBQ2M7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxrREFBUztBQUM1RDtBQUNBO0FBQ0E7QUFDQSxjQUFjLGlFQUFXO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDREQUFlO0FBQzdCO0FBQ0E7QUFDQTtBQUNPLCtDQUErQyw4REFBZTtBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVjZWlwdC5qcz83ZTg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhleFRvTnVtYmVyIH0gZnJvbSAnLi4vZW5jb2RpbmcvZnJvbUhleC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdHRlci5qcyc7XG5pbXBvcnQgeyBmb3JtYXRMb2cgfSBmcm9tICcuL2xvZy5qcyc7XG5pbXBvcnQgeyB0cmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL3RyYW5zYWN0aW9uLmpzJztcbmNvbnN0IHN0YXR1c2VzID0ge1xuICAgICcweDAnOiAncmV2ZXJ0ZWQnLFxuICAgICcweDEnOiAnc3VjY2VzcycsXG59O1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRyYW5zYWN0aW9uUmVjZWlwdCh0cmFuc2FjdGlvblJlY2VpcHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi50cmFuc2FjdGlvblJlY2VpcHQsXG4gICAgICAgIGJsb2NrTnVtYmVyOiB0cmFuc2FjdGlvblJlY2VpcHQuYmxvY2tOdW1iZXJcbiAgICAgICAgICAgID8gQmlnSW50KHRyYW5zYWN0aW9uUmVjZWlwdC5ibG9ja051bWJlcilcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiB0cmFuc2FjdGlvblJlY2VpcHQuY29udHJhY3RBZGRyZXNzXG4gICAgICAgICAgICA/IHRyYW5zYWN0aW9uUmVjZWlwdC5jb250cmFjdEFkZHJlc3NcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgY3VtdWxhdGl2ZUdhc1VzZWQ6IHRyYW5zYWN0aW9uUmVjZWlwdC5jdW11bGF0aXZlR2FzVXNlZFxuICAgICAgICAgICAgPyBCaWdJbnQodHJhbnNhY3Rpb25SZWNlaXB0LmN1bXVsYXRpdmVHYXNVc2VkKVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICBlZmZlY3RpdmVHYXNQcmljZTogdHJhbnNhY3Rpb25SZWNlaXB0LmVmZmVjdGl2ZUdhc1ByaWNlXG4gICAgICAgICAgICA/IEJpZ0ludCh0cmFuc2FjdGlvblJlY2VpcHQuZWZmZWN0aXZlR2FzUHJpY2UpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGdhc1VzZWQ6IHRyYW5zYWN0aW9uUmVjZWlwdC5nYXNVc2VkXG4gICAgICAgICAgICA/IEJpZ0ludCh0cmFuc2FjdGlvblJlY2VpcHQuZ2FzVXNlZClcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbG9nczogdHJhbnNhY3Rpb25SZWNlaXB0LmxvZ3NcbiAgICAgICAgICAgID8gdHJhbnNhY3Rpb25SZWNlaXB0LmxvZ3MubWFwKChsb2cpID0+IGZvcm1hdExvZyhsb2cpKVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0bzogdHJhbnNhY3Rpb25SZWNlaXB0LnRvID8gdHJhbnNhY3Rpb25SZWNlaXB0LnRvIDogbnVsbCxcbiAgICAgICAgdHJhbnNhY3Rpb25JbmRleDogdHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uSW5kZXhcbiAgICAgICAgICAgID8gaGV4VG9OdW1iZXIodHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uSW5kZXgpXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIHN0YXR1czogdHJhbnNhY3Rpb25SZWNlaXB0LnN0YXR1c1xuICAgICAgICAgICAgPyBzdGF0dXNlc1t0cmFuc2FjdGlvblJlY2VpcHQuc3RhdHVzXVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0eXBlOiB0cmFuc2FjdGlvblJlY2VpcHQudHlwZVxuICAgICAgICAgICAgPyB0cmFuc2FjdGlvblR5cGVbdHJhbnNhY3Rpb25SZWNlaXB0LnR5cGVdIHx8IHRyYW5zYWN0aW9uUmVjZWlwdC50eXBlXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgfTtcbn1cbmV4cG9ydCBjb25zdCBkZWZpbmVUcmFuc2FjdGlvblJlY2VpcHQgPSAvKiNfX1BVUkVfXyovIGRlZmluZUZvcm1hdHRlcigndHJhbnNhY3Rpb25SZWNlaXB0JywgZm9ybWF0VHJhbnNhY3Rpb25SZWNlaXB0KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRyYW5zYWN0aW9uUmVjZWlwdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineTransactionRequest: function() { return /* binding */ defineTransactionRequest; },\n/* harmony export */ formatTransactionRequest: function() { return /* binding */ formatTransactionRequest; }\n/* harmony export */ });\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatter.js */ \"./node_modules/viem/dist/esm/utils/formatters/formatter.js\");\n\n\nfunction formatTransactionRequest(transactionRequest) {\n return {\n ...transactionRequest,\n gas: typeof transactionRequest.gas !== 'undefined'\n ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(transactionRequest.gas)\n : undefined,\n gasPrice: typeof transactionRequest.gasPrice !== 'undefined'\n ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(transactionRequest.gasPrice)\n : undefined,\n maxFeePerGas: typeof transactionRequest.maxFeePerGas !== 'undefined'\n ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(transactionRequest.maxFeePerGas)\n : undefined,\n maxPriorityFeePerGas: typeof transactionRequest.maxPriorityFeePerGas !== 'undefined'\n ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(transactionRequest.maxPriorityFeePerGas)\n : undefined,\n nonce: typeof transactionRequest.nonce !== 'undefined'\n ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(transactionRequest.nonce)\n : undefined,\n value: typeof transactionRequest.value !== 'undefined'\n ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_0__.numberToHex)(transactionRequest.value)\n : undefined,\n };\n}\nconst defineTransactionRequest = /*#__PURE__*/ (0,_formatter_js__WEBPACK_IMPORTED_MODULE_1__.defineFormatter)('transactionRequest', formatTransactionRequest);\n//# sourceMappingURL=transactionRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQW1EO0FBQ0Y7QUFDMUM7QUFDUDtBQUNBO0FBQ0E7QUFDQSxjQUFjLCtEQUFXO0FBQ3pCO0FBQ0E7QUFDQSxjQUFjLCtEQUFXO0FBQ3pCO0FBQ0E7QUFDQSxjQUFjLCtEQUFXO0FBQ3pCO0FBQ0E7QUFDQSxjQUFjLCtEQUFXO0FBQ3pCO0FBQ0E7QUFDQSxjQUFjLCtEQUFXO0FBQ3pCO0FBQ0E7QUFDQSxjQUFjLCtEQUFXO0FBQ3pCO0FBQ0E7QUFDQTtBQUNPLCtDQUErQyw4REFBZTtBQUNyRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVxdWVzdC5qcz8zYzc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9IZXguanMnO1xuaW1wb3J0IHsgZGVmaW5lRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXR0ZXIuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdCh0cmFuc2FjdGlvblJlcXVlc3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi50cmFuc2FjdGlvblJlcXVlc3QsXG4gICAgICAgIGdhczogdHlwZW9mIHRyYW5zYWN0aW9uUmVxdWVzdC5nYXMgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/IG51bWJlclRvSGV4KHRyYW5zYWN0aW9uUmVxdWVzdC5nYXMpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FzUHJpY2U6IHR5cGVvZiB0cmFuc2FjdGlvblJlcXVlc3QuZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/IG51bWJlclRvSGV4KHRyYW5zYWN0aW9uUmVxdWVzdC5nYXNQcmljZSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhGZWVQZXJHYXM6IHR5cGVvZiB0cmFuc2FjdGlvblJlcXVlc3QubWF4RmVlUGVyR2FzICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBudW1iZXJUb0hleCh0cmFuc2FjdGlvblJlcXVlc3QubWF4RmVlUGVyR2FzKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiB0eXBlb2YgdHJhbnNhY3Rpb25SZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBudW1iZXJUb0hleCh0cmFuc2FjdGlvblJlcXVlc3QubWF4UHJpb3JpdHlGZWVQZXJHYXMpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgbm9uY2U6IHR5cGVvZiB0cmFuc2FjdGlvblJlcXVlc3Qubm9uY2UgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/IG51bWJlclRvSGV4KHRyYW5zYWN0aW9uUmVxdWVzdC5ub25jZSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB2YWx1ZTogdHlwZW9mIHRyYW5zYWN0aW9uUmVxdWVzdC52YWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgID8gbnVtYmVyVG9IZXgodHJhbnNhY3Rpb25SZXF1ZXN0LnZhbHVlKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfTtcbn1cbmV4cG9ydCBjb25zdCBkZWZpbmVUcmFuc2FjdGlvblJlcXVlc3QgPSAvKiNfX1BVUkVfXyovIGRlZmluZUZvcm1hdHRlcigndHJhbnNhY3Rpb25SZXF1ZXN0JywgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRyYW5zYWN0aW9uUmVxdWVzdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/hash/getEventSelector.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/hash/getEventSelector.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getEventSelector: function() { return /* binding */ getEventSelector; }\n/* harmony export */ });\n/* harmony import */ var _hashFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hashFunction.js */ \"./node_modules/viem/dist/esm/utils/hash/hashFunction.js\");\n\nconst getEventSelector = (event) => {\n if (typeof event === 'string')\n return (0,_hashFunction_js__WEBPACK_IMPORTED_MODULE_0__.hashFunction)(event);\n return (0,_hashFunction_js__WEBPACK_IMPORTED_MODULE_0__.hashAbiItem)(event);\n};\n//# sourceMappingURL=getEventSelector.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2dldEV2ZW50U2VsZWN0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBOEQ7QUFDdkQ7QUFDUDtBQUNBLGVBQWUsOERBQVk7QUFDM0IsV0FBVyw2REFBVztBQUN0QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2hhc2gvZ2V0RXZlbnRTZWxlY3Rvci5qcz9iMDY1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc2hBYmlJdGVtLCBoYXNoRnVuY3Rpb24gfSBmcm9tICcuL2hhc2hGdW5jdGlvbi5qcyc7XG5leHBvcnQgY29uc3QgZ2V0RXZlbnRTZWxlY3RvciA9IChldmVudCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm4gaGFzaEZ1bmN0aW9uKGV2ZW50KTtcbiAgICByZXR1cm4gaGFzaEFiaUl0ZW0oZXZlbnQpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEV2ZW50U2VsZWN0b3IuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/hash/getEventSelector.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getFunctionSelector: function() { return /* binding */ getFunctionSelector; }\n/* harmony export */ });\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _hashFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hashFunction.js */ \"./node_modules/viem/dist/esm/utils/hash/hashFunction.js\");\n\n\nconst getFunctionSelector = (fn) => {\n if (typeof fn === 'string')\n return (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.slice)((0,_hashFunction_js__WEBPACK_IMPORTED_MODULE_1__.hashFunction)(fn), 0, 4);\n return (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.slice)((0,_hashFunction_js__WEBPACK_IMPORTED_MODULE_1__.hashAbiItem)(fn), 0, 4);\n};\n//# sourceMappingURL=getFunctionSelector.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2dldEZ1bmN0aW9uU2VsZWN0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXlDO0FBQ3FCO0FBQ3ZEO0FBQ1A7QUFDQSxlQUFlLHFEQUFLLENBQUMsOERBQVk7QUFDakMsV0FBVyxxREFBSyxDQUFDLDZEQUFXO0FBQzVCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvaGFzaC9nZXRGdW5jdGlvblNlbGVjdG9yLmpzP2FjOWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2xpY2UgfSBmcm9tICcuLi9kYXRhL3NsaWNlLmpzJztcbmltcG9ydCB7IGhhc2hBYmlJdGVtLCBoYXNoRnVuY3Rpb24gfSBmcm9tICcuL2hhc2hGdW5jdGlvbi5qcyc7XG5leHBvcnQgY29uc3QgZ2V0RnVuY3Rpb25TZWxlY3RvciA9IChmbikgPT4ge1xuICAgIGlmICh0eXBlb2YgZm4gPT09ICdzdHJpbmcnKVxuICAgICAgICByZXR1cm4gc2xpY2UoaGFzaEZ1bmN0aW9uKGZuKSwgMCwgNCk7XG4gICAgcmV0dXJuIHNsaWNlKGhhc2hBYmlJdGVtKGZuKSwgMCwgNCk7XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RnVuY3Rpb25TZWxlY3Rvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/hash/hashFunction.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/hash/hashFunction.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hashAbiItem: function() { return /* binding */ hashAbiItem; },\n/* harmony export */ hashFunction: function() { return /* binding */ hashFunction; }\n/* harmony export */ });\n/* harmony import */ var _contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../contract/extractFunctionParts.js */ \"./node_modules/viem/dist/esm/utils/contract/extractFunctionParts.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _keccak256_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n\n\n\nconst hash = (value) => (0,_keccak256_js__WEBPACK_IMPORTED_MODULE_0__.keccak256)((0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_1__.toBytes)(value));\nfunction hashFunction(def) {\n const name = (0,_contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_2__.extractFunctionName)(def);\n const params = (0,_contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_2__.extractFunctionParams)(def) || [];\n return hash(`${name}(${params.map(({ type }) => type).join(',')})`);\n}\nfunction hashAbiItem(def) {\n return hash(`${def.name}(${def.inputs.map(({ type }) => type).join(',')})`);\n}\n//# sourceMappingURL=hashFunction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2hhc2hGdW5jdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFrRztBQUNqRDtBQUNOO0FBQzNDLHdCQUF3Qix3REFBUyxDQUFDLDZEQUFPO0FBQ2xDO0FBQ1AsaUJBQWlCLHNGQUFtQjtBQUNwQyxtQkFBbUIsd0ZBQXFCO0FBQ3hDLG1CQUFtQixLQUFLLEdBQUcsY0FBYyxNQUFNLHFCQUFxQjtBQUNwRTtBQUNPO0FBQ1AsbUJBQW1CLFNBQVMsR0FBRyxrQkFBa0IsTUFBTSxxQkFBcUI7QUFDNUU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2hhc2hGdW5jdGlvbi5qcz9iODQyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dHJhY3RGdW5jdGlvbk5hbWUsIGV4dHJhY3RGdW5jdGlvblBhcmFtcywgfSBmcm9tICcuLi9jb250cmFjdC9leHRyYWN0RnVuY3Rpb25QYXJ0cy5qcyc7XG5pbXBvcnQgeyB0b0J5dGVzIH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9CeXRlcy5qcyc7XG5pbXBvcnQgeyBrZWNjYWsyNTYgfSBmcm9tICcuL2tlY2NhazI1Ni5qcyc7XG5jb25zdCBoYXNoID0gKHZhbHVlKSA9PiBrZWNjYWsyNTYodG9CeXRlcyh2YWx1ZSkpO1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hGdW5jdGlvbihkZWYpIHtcbiAgICBjb25zdCBuYW1lID0gZXh0cmFjdEZ1bmN0aW9uTmFtZShkZWYpO1xuICAgIGNvbnN0IHBhcmFtcyA9IGV4dHJhY3RGdW5jdGlvblBhcmFtcyhkZWYpIHx8IFtdO1xuICAgIHJldHVybiBoYXNoKGAke25hbWV9KCR7cGFyYW1zLm1hcCgoeyB0eXBlIH0pID0+IHR5cGUpLmpvaW4oJywnKX0pYCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaGFzaEFiaUl0ZW0oZGVmKSB7XG4gICAgcmV0dXJuIGhhc2goYCR7ZGVmLm5hbWV9KCR7ZGVmLmlucHV0cy5tYXAoKHsgdHlwZSB9KSA9PiB0eXBlKS5qb2luKCcsJyl9KWApO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzaEZ1bmN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/hash/hashFunction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/hash/isHash.js": -/*!*********************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/hash/isHash.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isHash: function() { return /* binding */ isHash; }\n/* harmony export */ });\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _data_size_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n\n\nfunction isHash(hash) {\n return (0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(hash) && (0,_data_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(hash) === 32;\n}\n//# sourceMappingURL=isHash.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2lzSGFzaC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBeUM7QUFDRjtBQUNoQztBQUNQLFdBQVcscURBQUssVUFBVSxtREFBSTtBQUM5QjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2hhc2gvaXNIYXNoLmpzPzU2ZWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNIZXggfSBmcm9tICcuLi9kYXRhL2lzSGV4LmpzJztcbmltcG9ydCB7IHNpemUgfSBmcm9tICcuLi9kYXRhL3NpemUuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGlzSGFzaChoYXNoKSB7XG4gICAgcmV0dXJuIGlzSGV4KGhhc2gpICYmIHNpemUoaGFzaCkgPT09IDMyO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNIYXNoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/hash/isHash.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/hash/keccak256.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/hash/keccak256.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ keccak256: function() { return /* binding */ keccak256; }\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/hashes/sha3 */ \"./node_modules/@noble/hashes/esm/sha3.js\");\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\n\nfunction keccak256(value, to_) {\n const to = to_ || 'hex';\n const bytes = (0,_noble_hashes_sha3__WEBPACK_IMPORTED_MODULE_0__.keccak_256)((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_1__.isHex)(value, { strict: false }) ? (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_2__.toBytes)(value) : value);\n if (to === 'bytes')\n return bytes;\n return (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(bytes);\n}\n//# sourceMappingURL=keccak256.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2tlY2NhazI1Ni5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFnRDtBQUNQO0FBQ1E7QUFDSjtBQUN0QztBQUNQO0FBQ0Esa0JBQWtCLDhEQUFVLENBQUMscURBQUssVUFBVSxlQUFlLElBQUksNkRBQU87QUFDdEU7QUFDQTtBQUNBLFdBQVcseURBQUs7QUFDaEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9oYXNoL2tlY2NhazI1Ni5qcz8wODc0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtlY2Nha18yNTYgfSBmcm9tICdAbm9ibGUvaGFzaGVzL3NoYTMnO1xuaW1wb3J0IHsgaXNIZXggfSBmcm9tICcuLi9kYXRhL2lzSGV4LmpzJztcbmltcG9ydCB7IHRvQnl0ZXMgfSBmcm9tICcuLi9lbmNvZGluZy90b0J5dGVzLmpzJztcbmltcG9ydCB7IHRvSGV4IH0gZnJvbSAnLi4vZW5jb2RpbmcvdG9IZXguanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGtlY2NhazI1Nih2YWx1ZSwgdG9fKSB7XG4gICAgY29uc3QgdG8gPSB0b18gfHwgJ2hleCc7XG4gICAgY29uc3QgYnl0ZXMgPSBrZWNjYWtfMjU2KGlzSGV4KHZhbHVlLCB7IHN0cmljdDogZmFsc2UgfSkgPyB0b0J5dGVzKHZhbHVlKSA6IHZhbHVlKTtcbiAgICBpZiAodG8gPT09ICdieXRlcycpXG4gICAgICAgIHJldHVybiBieXRlcztcbiAgICByZXR1cm4gdG9IZXgoYnl0ZXMpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9a2VjY2FrMjU2LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/hash/keccak256.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/index.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/index.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrayRegex: function() { return /* reexport safe */ _regex_js__WEBPACK_IMPORTED_MODULE_3__.arrayRegex; },\n/* harmony export */ assertCurrentChain: function() { return /* reexport safe */ _chain_js__WEBPACK_IMPORTED_MODULE_2__.assertCurrentChain; },\n/* harmony export */ assertRequest: function() { return /* reexport safe */ _transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_69__.assertRequest; },\n/* harmony export */ assertTransactionEIP1559: function() { return /* reexport safe */ _transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_70__.assertTransactionEIP1559; },\n/* harmony export */ assertTransactionEIP2930: function() { return /* reexport safe */ _transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_70__.assertTransactionEIP2930; },\n/* harmony export */ assertTransactionLegacy: function() { return /* reexport safe */ _transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_70__.assertTransactionLegacy; },\n/* harmony export */ boolToBytes: function() { return /* reexport safe */ _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_44__.boolToBytes; },\n/* harmony export */ boolToHex: function() { return /* reexport safe */ _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_45__.boolToHex; },\n/* harmony export */ buildRequest: function() { return /* reexport safe */ _buildRequest_js__WEBPACK_IMPORTED_MODULE_0__.buildRequest; },\n/* harmony export */ bytesRegex: function() { return /* reexport safe */ _regex_js__WEBPACK_IMPORTED_MODULE_3__.bytesRegex; },\n/* harmony export */ bytesToBigint: function() { return /* reexport safe */ _encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_46__.bytesToBigint; },\n/* harmony export */ bytesToBool: function() { return /* reexport safe */ _encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_46__.bytesToBool; },\n/* harmony export */ bytesToHex: function() { return /* reexport safe */ _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_45__.bytesToHex; },\n/* harmony export */ bytesToNumber: function() { return /* reexport safe */ _encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_46__.bytesToNumber; },\n/* harmony export */ bytesToString: function() { return /* reexport safe */ _encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_46__.bytesToString; },\n/* harmony export */ ccipFetch: function() { return /* reexport safe */ _ccip_js__WEBPACK_IMPORTED_MODULE_1__.ccipFetch; },\n/* harmony export */ concat: function() { return /* reexport safe */ _data_concat_js__WEBPACK_IMPORTED_MODULE_30__.concat; },\n/* harmony export */ concatBytes: function() { return /* reexport safe */ _data_concat_js__WEBPACK_IMPORTED_MODULE_30__.concatBytes; },\n/* harmony export */ concatHex: function() { return /* reexport safe */ _data_concat_js__WEBPACK_IMPORTED_MODULE_30__.concatHex; },\n/* harmony export */ containsNodeError: function() { return /* reexport safe */ _errors_getNodeError_js__WEBPACK_IMPORTED_MODULE_49__.containsNodeError; },\n/* harmony export */ decodeAbiParameters: function() { return /* reexport safe */ _abi_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_7__.decodeAbiParameters; },\n/* harmony export */ decodeErrorResult: function() { return /* reexport safe */ _abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_8__.decodeErrorResult; },\n/* harmony export */ decodeEventLog: function() { return /* reexport safe */ _abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_9__.decodeEventLog; },\n/* harmony export */ decodeFunctionData: function() { return /* reexport safe */ _abi_decodeFunctionData_js__WEBPACK_IMPORTED_MODULE_10__.decodeFunctionData; },\n/* harmony export */ decodeFunctionResult: function() { return /* reexport safe */ _abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_11__.decodeFunctionResult; },\n/* harmony export */ defineBlock: function() { return /* reexport safe */ _formatters_block_js__WEBPACK_IMPORTED_MODULE_37__.defineBlock; },\n/* harmony export */ defineChain: function() { return /* reexport safe */ _chain_js__WEBPACK_IMPORTED_MODULE_2__.defineChain; },\n/* harmony export */ defineFormatter: function() { return /* reexport safe */ _formatters_formatter_js__WEBPACK_IMPORTED_MODULE_54__.defineFormatter; },\n/* harmony export */ defineTransaction: function() { return /* reexport safe */ _formatters_transaction_js__WEBPACK_IMPORTED_MODULE_38__.defineTransaction; },\n/* harmony export */ defineTransactionReceipt: function() { return /* reexport safe */ _formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_40__.defineTransactionReceipt; },\n/* harmony export */ defineTransactionRequest: function() { return /* reexport safe */ _formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_41__.defineTransactionRequest; },\n/* harmony export */ encodeAbiParameters: function() { return /* reexport safe */ _abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_12__.encodeAbiParameters; },\n/* harmony export */ encodeDeployData: function() { return /* reexport safe */ _abi_encodeDeployData_js__WEBPACK_IMPORTED_MODULE_13__.encodeDeployData; },\n/* harmony export */ encodeErrorResult: function() { return /* reexport safe */ _abi_encodeErrorResult_js__WEBPACK_IMPORTED_MODULE_14__.encodeErrorResult; },\n/* harmony export */ encodeEventTopics: function() { return /* reexport safe */ _abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_15__.encodeEventTopics; },\n/* harmony export */ encodeFunctionData: function() { return /* reexport safe */ _abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_16__.encodeFunctionData; },\n/* harmony export */ encodeFunctionResult: function() { return /* reexport safe */ _abi_encodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_17__.encodeFunctionResult; },\n/* harmony export */ encodePacked: function() { return /* reexport safe */ _abi_encodePacked_js__WEBPACK_IMPORTED_MODULE_20__.encodePacked; },\n/* harmony export */ extract: function() { return /* reexport safe */ _formatters_extract_js__WEBPACK_IMPORTED_MODULE_42__.extract; },\n/* harmony export */ extractFunctionName: function() { return /* reexport safe */ _contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_29__.extractFunctionName; },\n/* harmony export */ extractFunctionParams: function() { return /* reexport safe */ _contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_29__.extractFunctionParams; },\n/* harmony export */ extractFunctionParts: function() { return /* reexport safe */ _contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_29__.extractFunctionParts; },\n/* harmony export */ extractFunctionType: function() { return /* reexport safe */ _contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_29__.extractFunctionType; },\n/* harmony export */ formatAbiItem: function() { return /* reexport safe */ _abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_22__.formatAbiItem; },\n/* harmony export */ formatAbiItemWithArgs: function() { return /* reexport safe */ _abi_formatAbiItemWithArgs_js__WEBPACK_IMPORTED_MODULE_21__.formatAbiItemWithArgs; },\n/* harmony export */ formatAbiParams: function() { return /* reexport safe */ _abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_22__.formatAbiParams; },\n/* harmony export */ formatBlock: function() { return /* reexport safe */ _formatters_block_js__WEBPACK_IMPORTED_MODULE_37__.formatBlock; },\n/* harmony export */ formatEther: function() { return /* reexport safe */ _unit_formatEther_js__WEBPACK_IMPORTED_MODULE_75__.formatEther; },\n/* harmony export */ formatGwei: function() { return /* reexport safe */ _unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_76__.formatGwei; },\n/* harmony export */ formatLog: function() { return /* reexport safe */ _formatters_log_js__WEBPACK_IMPORTED_MODULE_39__.formatLog; },\n/* harmony export */ formatTransaction: function() { return /* reexport safe */ _formatters_transaction_js__WEBPACK_IMPORTED_MODULE_38__.formatTransaction; },\n/* harmony export */ formatTransactionRequest: function() { return /* reexport safe */ _formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_41__.formatTransactionRequest; },\n/* harmony export */ formatUnits: function() { return /* reexport safe */ _unit_formatUnits_js__WEBPACK_IMPORTED_MODULE_77__.formatUnits; },\n/* harmony export */ fromBytes: function() { return /* reexport safe */ _encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_46__.fromBytes; },\n/* harmony export */ fromHex: function() { return /* reexport safe */ _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_47__.fromHex; },\n/* harmony export */ fromRlp: function() { return /* reexport safe */ _encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_48__.fromRlp; },\n/* harmony export */ getAbiItem: function() { return /* reexport safe */ _abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_18__.getAbiItem; },\n/* harmony export */ getAddress: function() { return /* reexport safe */ _address_getAddress_js__WEBPACK_IMPORTED_MODULE_26__.getAddress; },\n/* harmony export */ getCallError: function() { return /* reexport safe */ _errors_getCallError_js__WEBPACK_IMPORTED_MODULE_50__.getCallError; },\n/* harmony export */ getChainContractAddress: function() { return /* reexport safe */ _chain_js__WEBPACK_IMPORTED_MODULE_2__.getChainContractAddress; },\n/* harmony export */ getContractAddress: function() { return /* reexport safe */ _address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_25__.getContractAddress; },\n/* harmony export */ getContractError: function() { return /* reexport safe */ _errors_getContractError_js__WEBPACK_IMPORTED_MODULE_51__.getContractError; },\n/* harmony export */ getCreate2Address: function() { return /* reexport safe */ _address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_25__.getCreate2Address; },\n/* harmony export */ getCreateAddress: function() { return /* reexport safe */ _address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_25__.getCreateAddress; },\n/* harmony export */ getEstimateGasError: function() { return /* reexport safe */ _errors_getEstimateGasError_js__WEBPACK_IMPORTED_MODULE_52__.getEstimateGasError; },\n/* harmony export */ getEventSelector: function() { return /* reexport safe */ _hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_55__.getEventSelector; },\n/* harmony export */ getFunctionSelector: function() { return /* reexport safe */ _hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_56__.getFunctionSelector; },\n/* harmony export */ getNodeError: function() { return /* reexport safe */ _errors_getNodeError_js__WEBPACK_IMPORTED_MODULE_49__.getNodeError; },\n/* harmony export */ getSerializedTransactionType: function() { return /* reexport safe */ _transaction_getSerializedTransactionType_js__WEBPACK_IMPORTED_MODULE_67__.getSerializedTransactionType; },\n/* harmony export */ getSocket: function() { return /* reexport safe */ _rpc_js__WEBPACK_IMPORTED_MODULE_4__.getSocket; },\n/* harmony export */ getTransactionError: function() { return /* reexport safe */ _errors_getTransactionError_js__WEBPACK_IMPORTED_MODULE_53__.getTransactionError; },\n/* harmony export */ getTransactionType: function() { return /* reexport safe */ _transaction_getTransactionType_js__WEBPACK_IMPORTED_MODULE_68__.getTransactionType; },\n/* harmony export */ hashMessage: function() { return /* reexport safe */ _signature_hashMessage_js__WEBPACK_IMPORTED_MODULE_66__.hashMessage; },\n/* harmony export */ hashTypedData: function() { return /* reexport safe */ _signature_hashTypedData_js__WEBPACK_IMPORTED_MODULE_59__.hashTypedData; },\n/* harmony export */ hexToBigInt: function() { return /* reexport safe */ _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_47__.hexToBigInt; },\n/* harmony export */ hexToBool: function() { return /* reexport safe */ _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_47__.hexToBool; },\n/* harmony export */ hexToBytes: function() { return /* reexport safe */ _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_44__.hexToBytes; },\n/* harmony export */ hexToNumber: function() { return /* reexport safe */ _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_47__.hexToNumber; },\n/* harmony export */ hexToString: function() { return /* reexport safe */ _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_47__.hexToString; },\n/* harmony export */ integerRegex: function() { return /* reexport safe */ _regex_js__WEBPACK_IMPORTED_MODULE_3__.integerRegex; },\n/* harmony export */ isAddress: function() { return /* reexport safe */ _address_isAddress_js__WEBPACK_IMPORTED_MODULE_27__.isAddress; },\n/* harmony export */ isAddressEqual: function() { return /* reexport safe */ _address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_28__.isAddressEqual; },\n/* harmony export */ isBytes: function() { return /* reexport safe */ _data_isBytes_js__WEBPACK_IMPORTED_MODULE_31__.isBytes; },\n/* harmony export */ isHash: function() { return /* reexport safe */ _hash_isHash_js__WEBPACK_IMPORTED_MODULE_57__.isHash; },\n/* harmony export */ isHex: function() { return /* reexport safe */ _data_isHex_js__WEBPACK_IMPORTED_MODULE_32__.isHex; },\n/* harmony export */ keccak256: function() { return /* reexport safe */ _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_58__.keccak256; },\n/* harmony export */ numberToBytes: function() { return /* reexport safe */ _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_44__.numberToBytes; },\n/* harmony export */ numberToHex: function() { return /* reexport safe */ _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_45__.numberToHex; },\n/* harmony export */ offchainLookup: function() { return /* reexport safe */ _ccip_js__WEBPACK_IMPORTED_MODULE_1__.offchainLookup; },\n/* harmony export */ offchainLookupAbiItem: function() { return /* reexport safe */ _ccip_js__WEBPACK_IMPORTED_MODULE_1__.offchainLookupAbiItem; },\n/* harmony export */ offchainLookupSignature: function() { return /* reexport safe */ _ccip_js__WEBPACK_IMPORTED_MODULE_1__.offchainLookupSignature; },\n/* harmony export */ pad: function() { return /* reexport safe */ _data_pad_js__WEBPACK_IMPORTED_MODULE_33__.pad; },\n/* harmony export */ padBytes: function() { return /* reexport safe */ _data_pad_js__WEBPACK_IMPORTED_MODULE_33__.padBytes; },\n/* harmony export */ padHex: function() { return /* reexport safe */ _data_pad_js__WEBPACK_IMPORTED_MODULE_33__.padHex; },\n/* harmony export */ parseAbi: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_19__.parseAbi; },\n/* harmony export */ parseAbiItem: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_19__.parseAbiItem; },\n/* harmony export */ parseAbiParameter: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_19__.parseAbiParameter; },\n/* harmony export */ parseAbiParameters: function() { return /* reexport safe */ abitype__WEBPACK_IMPORTED_MODULE_19__.parseAbiParameters; },\n/* harmony export */ parseAccount: function() { return /* reexport safe */ _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_23__.parseAccount; },\n/* harmony export */ parseEther: function() { return /* reexport safe */ _unit_parseEther_js__WEBPACK_IMPORTED_MODULE_79__.parseEther; },\n/* harmony export */ parseGwei: function() { return /* reexport safe */ _unit_parseGwei_js__WEBPACK_IMPORTED_MODULE_80__.parseGwei; },\n/* harmony export */ parseTransaction: function() { return /* reexport safe */ _transaction_parseTransaction_js__WEBPACK_IMPORTED_MODULE_71__.parseTransaction; },\n/* harmony export */ parseUnits: function() { return /* reexport safe */ _unit_parseUnits_js__WEBPACK_IMPORTED_MODULE_78__.parseUnits; },\n/* harmony export */ prepareRequest: function() { return /* reexport safe */ _transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_72__.prepareRequest; },\n/* harmony export */ publicKeyToAddress: function() { return /* reexport safe */ _accounts_utils_publicKeyToAddress_js__WEBPACK_IMPORTED_MODULE_24__.publicKeyToAddress; },\n/* harmony export */ recoverAddress: function() { return /* reexport safe */ _signature_recoverAddress_js__WEBPACK_IMPORTED_MODULE_60__.recoverAddress; },\n/* harmony export */ recoverMessageAddress: function() { return /* reexport safe */ _signature_recoverMessageAddress_js__WEBPACK_IMPORTED_MODULE_61__.recoverMessageAddress; },\n/* harmony export */ recoverPublicKey: function() { return /* reexport safe */ _signature_recoverPublicKey_js__WEBPACK_IMPORTED_MODULE_62__.recoverPublicKey; },\n/* harmony export */ recoverTypedDataAddress: function() { return /* reexport safe */ _signature_recoverTypedDataAddress_js__WEBPACK_IMPORTED_MODULE_63__.recoverTypedDataAddress; },\n/* harmony export */ rpc: function() { return /* reexport safe */ _rpc_js__WEBPACK_IMPORTED_MODULE_4__.rpc; },\n/* harmony export */ serializeAccessList: function() { return /* reexport safe */ _transaction_serializeAccessList_js__WEBPACK_IMPORTED_MODULE_74__.serializeAccessList; },\n/* harmony export */ serializeTransaction: function() { return /* reexport safe */ _transaction_serializeTransaction_js__WEBPACK_IMPORTED_MODULE_73__.serializeTransaction; },\n/* harmony export */ size: function() { return /* reexport safe */ _data_size_js__WEBPACK_IMPORTED_MODULE_34__.size; },\n/* harmony export */ slice: function() { return /* reexport safe */ _data_slice_js__WEBPACK_IMPORTED_MODULE_35__.slice; },\n/* harmony export */ sliceBytes: function() { return /* reexport safe */ _data_slice_js__WEBPACK_IMPORTED_MODULE_35__.sliceBytes; },\n/* harmony export */ sliceHex: function() { return /* reexport safe */ _data_slice_js__WEBPACK_IMPORTED_MODULE_35__.sliceHex; },\n/* harmony export */ stringToBytes: function() { return /* reexport safe */ _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_44__.stringToBytes; },\n/* harmony export */ stringToHex: function() { return /* reexport safe */ _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_45__.stringToHex; },\n/* harmony export */ stringify: function() { return /* reexport safe */ _stringify_js__WEBPACK_IMPORTED_MODULE_5__.stringify; },\n/* harmony export */ toBytes: function() { return /* reexport safe */ _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_44__.toBytes; },\n/* harmony export */ toHex: function() { return /* reexport safe */ _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_45__.toHex; },\n/* harmony export */ toRlp: function() { return /* reexport safe */ _encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_43__.toRlp; },\n/* harmony export */ transactionType: function() { return /* reexport safe */ _formatters_transaction_js__WEBPACK_IMPORTED_MODULE_38__.transactionType; },\n/* harmony export */ trim: function() { return /* reexport safe */ _data_trim_js__WEBPACK_IMPORTED_MODULE_36__.trim; },\n/* harmony export */ validateTypedData: function() { return /* reexport safe */ _typedData_js__WEBPACK_IMPORTED_MODULE_6__.validateTypedData; },\n/* harmony export */ verifyMessage: function() { return /* reexport safe */ _signature_verifyMessage_js__WEBPACK_IMPORTED_MODULE_64__.verifyMessage; },\n/* harmony export */ verifyTypedData: function() { return /* reexport safe */ _signature_verifyTypedData_js__WEBPACK_IMPORTED_MODULE_65__.verifyTypedData; }\n/* harmony export */ });\n/* harmony import */ var _buildRequest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./buildRequest.js */ \"./node_modules/viem/dist/esm/utils/buildRequest.js\");\n/* harmony import */ var _ccip_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ccip.js */ \"./node_modules/viem/dist/esm/utils/ccip.js\");\n/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chain.js */ \"./node_modules/viem/dist/esm/utils/chain.js\");\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./regex.js */ \"./node_modules/viem/dist/esm/utils/regex.js\");\n/* harmony import */ var _rpc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rpc.js */ \"./node_modules/viem/dist/esm/utils/rpc.js\");\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n/* harmony import */ var _typedData_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./typedData.js */ \"./node_modules/viem/dist/esm/utils/typedData.js\");\n/* harmony import */ var _abi_decodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./abi/decodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js\");\n/* harmony import */ var _abi_decodeErrorResult_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./abi/decodeErrorResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js\");\n/* harmony import */ var _abi_decodeEventLog_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./abi/decodeEventLog.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeEventLog.js\");\n/* harmony import */ var _abi_decodeFunctionData_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./abi/decodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionData.js\");\n/* harmony import */ var _abi_decodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./abi/decodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js\");\n/* harmony import */ var _abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _abi_encodeDeployData_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./abi/encodeDeployData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeDeployData.js\");\n/* harmony import */ var _abi_encodeErrorResult_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./abi/encodeErrorResult.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeErrorResult.js\");\n/* harmony import */ var _abi_encodeEventTopics_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./abi/encodeEventTopics.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js\");\n/* harmony import */ var _abi_encodeFunctionData_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./abi/encodeFunctionData.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js\");\n/* harmony import */ var _abi_encodeFunctionResult_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./abi/encodeFunctionResult.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeFunctionResult.js\");\n/* harmony import */ var _abi_getAbiItem_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./abi/getAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/getAbiItem.js\");\n/* harmony import */ var abitype__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! abitype */ \"./node_modules/abitype/dist/esm/index.js\");\n/* harmony import */ var _abi_encodePacked_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./abi/encodePacked.js */ \"./node_modules/viem/dist/esm/utils/abi/encodePacked.js\");\n/* harmony import */ var _abi_formatAbiItemWithArgs_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./abi/formatAbiItemWithArgs.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItemWithArgs.js\");\n/* harmony import */ var _abi_formatAbiItem_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./abi/formatAbiItem.js */ \"./node_modules/viem/dist/esm/utils/abi/formatAbiItem.js\");\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _accounts_utils_publicKeyToAddress_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../accounts/utils/publicKeyToAddress.js */ \"./node_modules/viem/dist/esm/accounts/utils/publicKeyToAddress.js\");\n/* harmony import */ var _address_getContractAddress_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./address/getContractAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getContractAddress.js\");\n/* harmony import */ var _address_getAddress_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n/* harmony import */ var _address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./address/isAddressEqual.js */ \"./node_modules/viem/dist/esm/utils/address/isAddressEqual.js\");\n/* harmony import */ var _contract_extractFunctionParts_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./contract/extractFunctionParts.js */ \"./node_modules/viem/dist/esm/utils/contract/extractFunctionParts.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _data_isBytes_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./data/isBytes.js */ \"./node_modules/viem/dist/esm/utils/data/isBytes.js\");\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _data_size_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _data_trim_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _formatters_block_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./formatters/block.js */ \"./node_modules/viem/dist/esm/utils/formatters/block.js\");\n/* harmony import */ var _formatters_transaction_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./formatters/transaction.js */ \"./node_modules/viem/dist/esm/utils/formatters/transaction.js\");\n/* harmony import */ var _formatters_log_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./formatters/log.js */ \"./node_modules/viem/dist/esm/utils/formatters/log.js\");\n/* harmony import */ var _formatters_transactionReceipt_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./formatters/transactionReceipt.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js\");\n/* harmony import */ var _formatters_transactionRequest_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./formatters/transactionRequest.js */ \"./node_modules/viem/dist/esm/utils/formatters/transactionRequest.js\");\n/* harmony import */ var _formatters_extract_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./formatters/extract.js */ \"./node_modules/viem/dist/esm/utils/formatters/extract.js\");\n/* harmony import */ var _encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./encoding/toRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/toRlp.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _encoding_fromBytes_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./encoding/fromBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromBytes.js\");\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./encoding/fromRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromRlp.js\");\n/* harmony import */ var _errors_getNodeError_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./errors/getNodeError.js */ \"./node_modules/viem/dist/esm/utils/errors/getNodeError.js\");\n/* harmony import */ var _errors_getCallError_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./errors/getCallError.js */ \"./node_modules/viem/dist/esm/utils/errors/getCallError.js\");\n/* harmony import */ var _errors_getContractError_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./errors/getContractError.js */ \"./node_modules/viem/dist/esm/utils/errors/getContractError.js\");\n/* harmony import */ var _errors_getEstimateGasError_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./errors/getEstimateGasError.js */ \"./node_modules/viem/dist/esm/utils/errors/getEstimateGasError.js\");\n/* harmony import */ var _errors_getTransactionError_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./errors/getTransactionError.js */ \"./node_modules/viem/dist/esm/utils/errors/getTransactionError.js\");\n/* harmony import */ var _formatters_formatter_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./formatters/formatter.js */ \"./node_modules/viem/dist/esm/utils/formatters/formatter.js\");\n/* harmony import */ var _hash_getEventSelector_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./hash/getEventSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getEventSelector.js\");\n/* harmony import */ var _hash_getFunctionSelector_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./hash/getFunctionSelector.js */ \"./node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js\");\n/* harmony import */ var _hash_isHash_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./hash/isHash.js */ \"./node_modules/viem/dist/esm/utils/hash/isHash.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _signature_hashTypedData_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./signature/hashTypedData.js */ \"./node_modules/viem/dist/esm/utils/signature/hashTypedData.js\");\n/* harmony import */ var _signature_recoverAddress_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./signature/recoverAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverAddress.js\");\n/* harmony import */ var _signature_recoverMessageAddress_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./signature/recoverMessageAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverMessageAddress.js\");\n/* harmony import */ var _signature_recoverPublicKey_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./signature/recoverPublicKey.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js\");\n/* harmony import */ var _signature_recoverTypedDataAddress_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./signature/recoverTypedDataAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverTypedDataAddress.js\");\n/* harmony import */ var _signature_verifyMessage_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./signature/verifyMessage.js */ \"./node_modules/viem/dist/esm/utils/signature/verifyMessage.js\");\n/* harmony import */ var _signature_verifyTypedData_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./signature/verifyTypedData.js */ \"./node_modules/viem/dist/esm/utils/signature/verifyTypedData.js\");\n/* harmony import */ var _signature_hashMessage_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./signature/hashMessage.js */ \"./node_modules/viem/dist/esm/utils/signature/hashMessage.js\");\n/* harmony import */ var _transaction_getSerializedTransactionType_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./transaction/getSerializedTransactionType.js */ \"./node_modules/viem/dist/esm/utils/transaction/getSerializedTransactionType.js\");\n/* harmony import */ var _transaction_getTransactionType_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./transaction/getTransactionType.js */ \"./node_modules/viem/dist/esm/utils/transaction/getTransactionType.js\");\n/* harmony import */ var _transaction_assertRequest_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./transaction/assertRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\");\n/* harmony import */ var _transaction_assertTransaction_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./transaction/assertTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js\");\n/* harmony import */ var _transaction_parseTransaction_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./transaction/parseTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/parseTransaction.js\");\n/* harmony import */ var _transaction_prepareRequest_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./transaction/prepareRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js\");\n/* harmony import */ var _transaction_serializeTransaction_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./transaction/serializeTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/serializeTransaction.js\");\n/* harmony import */ var _transaction_serializeAccessList_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./transaction/serializeAccessList.js */ \"./node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js\");\n/* harmony import */ var _unit_formatEther_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./unit/formatEther.js */ \"./node_modules/viem/dist/esm/utils/unit/formatEther.js\");\n/* harmony import */ var _unit_formatGwei_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./unit/formatGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/formatGwei.js\");\n/* harmony import */ var _unit_formatUnits_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./unit/formatUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/formatUnits.js\");\n/* harmony import */ var _unit_parseUnits_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./unit/parseUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/parseUnits.js\");\n/* harmony import */ var _unit_parseEther_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./unit/parseEther.js */ \"./node_modules/viem/dist/esm/utils/unit/parseEther.js\");\n/* harmony import */ var _unit_parseGwei_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./unit/parseGwei.js */ \"./node_modules/viem/dist/esm/utils/unit/parseGwei.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWlEO0FBQ3NEO0FBQ2hCO0FBQ3JCO0FBQ3ZCO0FBQ0E7QUFDUTtBQUNpQjtBQUNKO0FBQ047QUFDUTtBQUNJO0FBQ0Y7QUFDTjtBQUNFO0FBQ0E7QUFDRTtBQUNJO0FBQ3JCO0FBQ3dDO0FBQ3BDO0FBQ2tCO0FBQ0M7QUFDUDtBQUNZO0FBQzhCO0FBQ3REO0FBQ0Y7QUFDVTtBQUMrRTtBQUMxRTtBQUN0QjtBQUNKO0FBQ2M7QUFDaEI7QUFDd0I7QUFDeEI7QUFDNEI7QUFDbUM7QUFDckQ7QUFDK0I7QUFDMEI7QUFDdkQ7QUFDTjtBQUM0RDtBQUNWO0FBQ2lCO0FBQ1o7QUFDbkQ7QUFDMkI7QUFDbkI7QUFDUTtBQUNNO0FBQ0E7QUFDVjtBQUNFO0FBQ007QUFDMUI7QUFDTTtBQUNjO0FBQ0U7QUFDYztBQUNWO0FBQ2M7QUFDcEI7QUFDSTtBQUNUO0FBQ3FDO0FBQ3BCO0FBQ1g7QUFDbUU7QUFDN0Q7QUFDSjtBQUNhO0FBQ0g7QUFDdkI7QUFDRjtBQUNFO0FBQ0Y7QUFDQTtBQUNGO0FBQ2hEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL2luZGV4LmpzPzkyOWMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgYnVpbGRSZXF1ZXN0IH0gZnJvbSAnLi9idWlsZFJlcXVlc3QuanMnO1xuZXhwb3J0IHsgY2NpcEZldGNoLCBvZmZjaGFpbkxvb2t1cCwgb2ZmY2hhaW5Mb29rdXBBYmlJdGVtLCBvZmZjaGFpbkxvb2t1cFNpZ25hdHVyZSwgfSBmcm9tICcuL2NjaXAuanMnO1xuZXhwb3J0IHsgYXNzZXJ0Q3VycmVudENoYWluLCBkZWZpbmVDaGFpbiwgZ2V0Q2hhaW5Db250cmFjdEFkZHJlc3MsIH0gZnJvbSAnLi9jaGFpbi5qcyc7XG5leHBvcnQgeyBhcnJheVJlZ2V4LCBieXRlc1JlZ2V4LCBpbnRlZ2VyUmVnZXggfSBmcm9tICcuL3JlZ2V4LmpzJztcbmV4cG9ydCB7IGdldFNvY2tldCwgcnBjLCB9IGZyb20gJy4vcnBjLmpzJztcbmV4cG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcbmV4cG9ydCB7IHZhbGlkYXRlVHlwZWREYXRhIH0gZnJvbSAnLi90eXBlZERhdGEuanMnO1xuZXhwb3J0IHsgZGVjb2RlQWJpUGFyYW1ldGVycywgfSBmcm9tICcuL2FiaS9kZWNvZGVBYmlQYXJhbWV0ZXJzLmpzJztcbmV4cG9ydCB7IGRlY29kZUVycm9yUmVzdWx0LCB9IGZyb20gJy4vYWJpL2RlY29kZUVycm9yUmVzdWx0LmpzJztcbmV4cG9ydCB7IGRlY29kZUV2ZW50TG9nLCB9IGZyb20gJy4vYWJpL2RlY29kZUV2ZW50TG9nLmpzJztcbmV4cG9ydCB7IGRlY29kZUZ1bmN0aW9uRGF0YSwgfSBmcm9tICcuL2FiaS9kZWNvZGVGdW5jdGlvbkRhdGEuanMnO1xuZXhwb3J0IHsgZGVjb2RlRnVuY3Rpb25SZXN1bHQsIH0gZnJvbSAnLi9hYmkvZGVjb2RlRnVuY3Rpb25SZXN1bHQuanMnO1xuZXhwb3J0IHsgZW5jb2RlQWJpUGFyYW1ldGVycywgfSBmcm9tICcuL2FiaS9lbmNvZGVBYmlQYXJhbWV0ZXJzLmpzJztcbmV4cG9ydCB7IGVuY29kZURlcGxveURhdGEsIH0gZnJvbSAnLi9hYmkvZW5jb2RlRGVwbG95RGF0YS5qcyc7XG5leHBvcnQgeyBlbmNvZGVFcnJvclJlc3VsdCwgfSBmcm9tICcuL2FiaS9lbmNvZGVFcnJvclJlc3VsdC5qcyc7XG5leHBvcnQgeyBlbmNvZGVFdmVudFRvcGljcywgfSBmcm9tICcuL2FiaS9lbmNvZGVFdmVudFRvcGljcy5qcyc7XG5leHBvcnQgeyBlbmNvZGVGdW5jdGlvbkRhdGEsIH0gZnJvbSAnLi9hYmkvZW5jb2RlRnVuY3Rpb25EYXRhLmpzJztcbmV4cG9ydCB7IGVuY29kZUZ1bmN0aW9uUmVzdWx0LCB9IGZyb20gJy4vYWJpL2VuY29kZUZ1bmN0aW9uUmVzdWx0LmpzJztcbmV4cG9ydCB7IGdldEFiaUl0ZW0gfSBmcm9tICcuL2FiaS9nZXRBYmlJdGVtLmpzJztcbmV4cG9ydCB7IHBhcnNlQWJpLCBwYXJzZUFiaUl0ZW0sIHBhcnNlQWJpUGFyYW1ldGVyLCBwYXJzZUFiaVBhcmFtZXRlcnMsIH0gZnJvbSAnYWJpdHlwZSc7XG5leHBvcnQgeyBlbmNvZGVQYWNrZWQgfSBmcm9tICcuL2FiaS9lbmNvZGVQYWNrZWQuanMnO1xuZXhwb3J0IHsgZm9ybWF0QWJpSXRlbVdpdGhBcmdzIH0gZnJvbSAnLi9hYmkvZm9ybWF0QWJpSXRlbVdpdGhBcmdzLmpzJztcbmV4cG9ydCB7IGZvcm1hdEFiaUl0ZW0sIGZvcm1hdEFiaVBhcmFtcyB9IGZyb20gJy4vYWJpL2Zvcm1hdEFiaUl0ZW0uanMnO1xuZXhwb3J0IHsgcGFyc2VBY2NvdW50IH0gZnJvbSAnLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzJztcbmV4cG9ydCB7IHB1YmxpY0tleVRvQWRkcmVzcyB9IGZyb20gJy4uL2FjY291bnRzL3V0aWxzL3B1YmxpY0tleVRvQWRkcmVzcy5qcyc7XG5leHBvcnQgeyBnZXRDb250cmFjdEFkZHJlc3MsIGdldENyZWF0ZUFkZHJlc3MsIGdldENyZWF0ZTJBZGRyZXNzLCB9IGZyb20gJy4vYWRkcmVzcy9nZXRDb250cmFjdEFkZHJlc3MuanMnO1xuZXhwb3J0IHsgZ2V0QWRkcmVzcyB9IGZyb20gJy4vYWRkcmVzcy9nZXRBZGRyZXNzLmpzJztcbmV4cG9ydCB7IGlzQWRkcmVzcyB9IGZyb20gJy4vYWRkcmVzcy9pc0FkZHJlc3MuanMnO1xuZXhwb3J0IHsgaXNBZGRyZXNzRXF1YWwgfSBmcm9tICcuL2FkZHJlc3MvaXNBZGRyZXNzRXF1YWwuanMnO1xuZXhwb3J0IHsgZXh0cmFjdEZ1bmN0aW9uTmFtZSwgZXh0cmFjdEZ1bmN0aW9uUGFyYW1zLCBleHRyYWN0RnVuY3Rpb25UeXBlLCBleHRyYWN0RnVuY3Rpb25QYXJ0cywgfSBmcm9tICcuL2NvbnRyYWN0L2V4dHJhY3RGdW5jdGlvblBhcnRzLmpzJztcbmV4cG9ydCB7IGNvbmNhdCwgY29uY2F0Qnl0ZXMsIGNvbmNhdEhleCB9IGZyb20gJy4vZGF0YS9jb25jYXQuanMnO1xuZXhwb3J0IHsgaXNCeXRlcyB9IGZyb20gJy4vZGF0YS9pc0J5dGVzLmpzJztcbmV4cG9ydCB7IGlzSGV4IH0gZnJvbSAnLi9kYXRhL2lzSGV4LmpzJztcbmV4cG9ydCB7IHBhZCwgcGFkQnl0ZXMsIHBhZEhleCB9IGZyb20gJy4vZGF0YS9wYWQuanMnO1xuZXhwb3J0IHsgc2l6ZSB9IGZyb20gJy4vZGF0YS9zaXplLmpzJztcbmV4cG9ydCB7IHNsaWNlLCBzbGljZUJ5dGVzLCBzbGljZUhleCB9IGZyb20gJy4vZGF0YS9zbGljZS5qcyc7XG5leHBvcnQgeyB0cmltIH0gZnJvbSAnLi9kYXRhL3RyaW0uanMnO1xuZXhwb3J0IHsgZGVmaW5lQmxvY2ssIGZvcm1hdEJsb2NrLCB9IGZyb20gJy4vZm9ybWF0dGVycy9ibG9jay5qcyc7XG5leHBvcnQgeyBkZWZpbmVUcmFuc2FjdGlvbiwgZm9ybWF0VHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uVHlwZSwgfSBmcm9tICcuL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb24uanMnO1xuZXhwb3J0IHsgZm9ybWF0TG9nIH0gZnJvbSAnLi9mb3JtYXR0ZXJzL2xvZy5qcyc7XG5leHBvcnQgeyBkZWZpbmVUcmFuc2FjdGlvblJlY2VpcHQsIH0gZnJvbSAnLi9mb3JtYXR0ZXJzL3RyYW5zYWN0aW9uUmVjZWlwdC5qcyc7XG5leHBvcnQgeyBkZWZpbmVUcmFuc2FjdGlvblJlcXVlc3QsIGZvcm1hdFRyYW5zYWN0aW9uUmVxdWVzdCwgfSBmcm9tICcuL2Zvcm1hdHRlcnMvdHJhbnNhY3Rpb25SZXF1ZXN0LmpzJztcbmV4cG9ydCB7IGV4dHJhY3QgfSBmcm9tICcuL2Zvcm1hdHRlcnMvZXh0cmFjdC5qcyc7XG5leHBvcnQgeyB0b1JscCB9IGZyb20gJy4vZW5jb2RpbmcvdG9SbHAuanMnO1xuZXhwb3J0IHsgYm9vbFRvQnl0ZXMsIHRvQnl0ZXMsIGhleFRvQnl0ZXMsIG51bWJlclRvQnl0ZXMsIHN0cmluZ1RvQnl0ZXMsIH0gZnJvbSAnLi9lbmNvZGluZy90b0J5dGVzLmpzJztcbmV4cG9ydCB7IGJvb2xUb0hleCwgYnl0ZXNUb0hleCwgdG9IZXgsIG51bWJlclRvSGV4LCBzdHJpbmdUb0hleCwgfSBmcm9tICcuL2VuY29kaW5nL3RvSGV4LmpzJztcbmV4cG9ydCB7IGJ5dGVzVG9CaWdpbnQsIGJ5dGVzVG9Cb29sLCBieXRlc1RvTnVtYmVyLCBieXRlc1RvU3RyaW5nLCBmcm9tQnl0ZXMsIH0gZnJvbSAnLi9lbmNvZGluZy9mcm9tQnl0ZXMuanMnO1xuZXhwb3J0IHsgZnJvbUhleCwgaGV4VG9Cb29sLCBoZXhUb0JpZ0ludCwgaGV4VG9OdW1iZXIsIGhleFRvU3RyaW5nLCB9IGZyb20gJy4vZW5jb2RpbmcvZnJvbUhleC5qcyc7XG5leHBvcnQgeyBmcm9tUmxwIH0gZnJvbSAnLi9lbmNvZGluZy9mcm9tUmxwLmpzJztcbmV4cG9ydCB7IGNvbnRhaW5zTm9kZUVycm9yLCBnZXROb2RlRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9nZXROb2RlRXJyb3IuanMnO1xuZXhwb3J0IHsgZ2V0Q2FsbEVycm9yIH0gZnJvbSAnLi9lcnJvcnMvZ2V0Q2FsbEVycm9yLmpzJztcbmV4cG9ydCB7IGdldENvbnRyYWN0RXJyb3IgfSBmcm9tICcuL2Vycm9ycy9nZXRDb250cmFjdEVycm9yLmpzJztcbmV4cG9ydCB7IGdldEVzdGltYXRlR2FzRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9nZXRFc3RpbWF0ZUdhc0Vycm9yLmpzJztcbmV4cG9ydCB7IGdldFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9nZXRUcmFuc2FjdGlvbkVycm9yLmpzJztcbmV4cG9ydCB7IGRlZmluZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVycy9mb3JtYXR0ZXIuanMnO1xuZXhwb3J0IHsgZ2V0RXZlbnRTZWxlY3RvciB9IGZyb20gJy4vaGFzaC9nZXRFdmVudFNlbGVjdG9yLmpzJztcbmV4cG9ydCB7IGdldEZ1bmN0aW9uU2VsZWN0b3IgfSBmcm9tICcuL2hhc2gvZ2V0RnVuY3Rpb25TZWxlY3Rvci5qcyc7XG5leHBvcnQgeyBpc0hhc2ggfSBmcm9tICcuL2hhc2gvaXNIYXNoLmpzJztcbmV4cG9ydCB7IGtlY2NhazI1NiB9IGZyb20gJy4vaGFzaC9rZWNjYWsyNTYuanMnO1xuZXhwb3J0IHsgaGFzaFR5cGVkRGF0YSwgfSBmcm9tICcuL3NpZ25hdHVyZS9oYXNoVHlwZWREYXRhLmpzJztcbmV4cG9ydCB7IHJlY292ZXJBZGRyZXNzLCB9IGZyb20gJy4vc2lnbmF0dXJlL3JlY292ZXJBZGRyZXNzLmpzJztcbmV4cG9ydCB7IHJlY292ZXJNZXNzYWdlQWRkcmVzcywgfSBmcm9tICcuL3NpZ25hdHVyZS9yZWNvdmVyTWVzc2FnZUFkZHJlc3MuanMnO1xuZXhwb3J0IHsgcmVjb3ZlclB1YmxpY0tleSwgfSBmcm9tICcuL3NpZ25hdHVyZS9yZWNvdmVyUHVibGljS2V5LmpzJztcbmV4cG9ydCB7IHJlY292ZXJUeXBlZERhdGFBZGRyZXNzLCB9IGZyb20gJy4vc2lnbmF0dXJlL3JlY292ZXJUeXBlZERhdGFBZGRyZXNzLmpzJztcbmV4cG9ydCB7IHZlcmlmeU1lc3NhZ2UsIH0gZnJvbSAnLi9zaWduYXR1cmUvdmVyaWZ5TWVzc2FnZS5qcyc7XG5leHBvcnQgeyB2ZXJpZnlUeXBlZERhdGEsIH0gZnJvbSAnLi9zaWduYXR1cmUvdmVyaWZ5VHlwZWREYXRhLmpzJztcbmV4cG9ydCB7IGhhc2hNZXNzYWdlIH0gZnJvbSAnLi9zaWduYXR1cmUvaGFzaE1lc3NhZ2UuanMnO1xuZXhwb3J0IHsgZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZSwgfSBmcm9tICcuL3RyYW5zYWN0aW9uL2dldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUuanMnO1xuZXhwb3J0IHsgZ2V0VHJhbnNhY3Rpb25UeXBlLCB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZ2V0VHJhbnNhY3Rpb25UeXBlLmpzJztcbmV4cG9ydCB7IGFzc2VydFJlcXVlc3QgfSBmcm9tICcuL3RyYW5zYWN0aW9uL2Fzc2VydFJlcXVlc3QuanMnO1xuZXhwb3J0IHsgYXNzZXJ0VHJhbnNhY3Rpb25FSVAxNTU5LCBhc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzAsIGFzc2VydFRyYW5zYWN0aW9uTGVnYWN5LCB9IGZyb20gJy4vdHJhbnNhY3Rpb24vYXNzZXJ0VHJhbnNhY3Rpb24uanMnO1xuZXhwb3J0IHsgcGFyc2VUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vcGFyc2VUcmFuc2FjdGlvbi5qcyc7XG5leHBvcnQgeyBwcmVwYXJlUmVxdWVzdCB9IGZyb20gJy4vdHJhbnNhY3Rpb24vcHJlcGFyZVJlcXVlc3QuanMnO1xuZXhwb3J0IHsgc2VyaWFsaXplVHJhbnNhY3Rpb24sIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9zZXJpYWxpemVUcmFuc2FjdGlvbi5qcyc7XG5leHBvcnQgeyBzZXJpYWxpemVBY2Nlc3NMaXN0IH0gZnJvbSAnLi90cmFuc2FjdGlvbi9zZXJpYWxpemVBY2Nlc3NMaXN0LmpzJztcbmV4cG9ydCB7IGZvcm1hdEV0aGVyIH0gZnJvbSAnLi91bml0L2Zvcm1hdEV0aGVyLmpzJztcbmV4cG9ydCB7IGZvcm1hdEd3ZWkgfSBmcm9tICcuL3VuaXQvZm9ybWF0R3dlaS5qcyc7XG5leHBvcnQgeyBmb3JtYXRVbml0cyB9IGZyb20gJy4vdW5pdC9mb3JtYXRVbml0cy5qcyc7XG5leHBvcnQgeyBwYXJzZVVuaXRzIH0gZnJvbSAnLi91bml0L3BhcnNlVW5pdHMuanMnO1xuZXhwb3J0IHsgcGFyc2VFdGhlciB9IGZyb20gJy4vdW5pdC9wYXJzZUV0aGVyLmpzJztcbmV4cG9ydCB7IHBhcnNlR3dlaSB9IGZyb20gJy4vdW5pdC9wYXJzZUd3ZWkuanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/index.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/observe.js": -/*!*****************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/observe.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cleanupCache: function() { return /* binding */ cleanupCache; },\n/* harmony export */ listenersCache: function() { return /* binding */ listenersCache; },\n/* harmony export */ observe: function() { return /* binding */ observe; }\n/* harmony export */ });\nconst listenersCache = /*#__PURE__*/ new Map();\nconst cleanupCache = /*#__PURE__*/ new Map();\nlet callbackCount = 0;\n/**\n * @description Sets up an observer for a given function. If another function\n * is set up under the same observer id, the function will only be called once\n * for both instances of the observer.\n */\nfunction observe(observerId, callbacks, fn) {\n const callbackId = ++callbackCount;\n const getListeners = () => listenersCache.get(observerId) || [];\n const unsubscribe = () => {\n const listeners = getListeners();\n listenersCache.set(observerId, listeners.filter((cb) => cb.id !== callbackId));\n };\n const unwatch = () => {\n const cleanup = cleanupCache.get(observerId);\n if (getListeners().length === 1 && cleanup)\n cleanup();\n unsubscribe();\n };\n const listeners = getListeners();\n listenersCache.set(observerId, [\n ...listeners,\n { id: callbackId, fns: callbacks },\n ]);\n if (listeners && listeners.length > 0)\n return unwatch;\n const emit = {};\n for (const key in callbacks) {\n emit[key] = ((...args) => {\n const listeners = getListeners();\n if (listeners.length === 0)\n return;\n listeners.forEach((listener) => listener.fns[key]?.(...args));\n });\n }\n const cleanup = fn(emit);\n if (typeof cleanup === 'function')\n cleanupCache.set(observerId, cleanup);\n return unwatch;\n}\n//# sourceMappingURL=observe.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9vYnNlcnZlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsZ0NBQWdDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL29ic2VydmUuanM/ZWJlNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbGlzdGVuZXJzQ2FjaGUgPSAvKiNfX1BVUkVfXyovIG5ldyBNYXAoKTtcbmV4cG9ydCBjb25zdCBjbGVhbnVwQ2FjaGUgPSAvKiNfX1BVUkVfXyovIG5ldyBNYXAoKTtcbmxldCBjYWxsYmFja0NvdW50ID0gMDtcbi8qKlxuICogQGRlc2NyaXB0aW9uIFNldHMgdXAgYW4gb2JzZXJ2ZXIgZm9yIGEgZ2l2ZW4gZnVuY3Rpb24uIElmIGFub3RoZXIgZnVuY3Rpb25cbiAqIGlzIHNldCB1cCB1bmRlciB0aGUgc2FtZSBvYnNlcnZlciBpZCwgdGhlIGZ1bmN0aW9uIHdpbGwgb25seSBiZSBjYWxsZWQgb25jZVxuICogZm9yIGJvdGggaW5zdGFuY2VzIG9mIHRoZSBvYnNlcnZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmUob2JzZXJ2ZXJJZCwgY2FsbGJhY2tzLCBmbikge1xuICAgIGNvbnN0IGNhbGxiYWNrSWQgPSArK2NhbGxiYWNrQ291bnQ7XG4gICAgY29uc3QgZ2V0TGlzdGVuZXJzID0gKCkgPT4gbGlzdGVuZXJzQ2FjaGUuZ2V0KG9ic2VydmVySWQpIHx8IFtdO1xuICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnMoKTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KG9ic2VydmVySWQsIGxpc3RlbmVycy5maWx0ZXIoKGNiKSA9PiBjYi5pZCAhPT0gY2FsbGJhY2tJZCkpO1xuICAgIH07XG4gICAgY29uc3QgdW53YXRjaCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY2xlYW51cCA9IGNsZWFudXBDYWNoZS5nZXQob2JzZXJ2ZXJJZCk7XG4gICAgICAgIGlmIChnZXRMaXN0ZW5lcnMoKS5sZW5ndGggPT09IDEgJiYgY2xlYW51cClcbiAgICAgICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICB9O1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IGdldExpc3RlbmVycygpO1xuICAgIGxpc3RlbmVyc0NhY2hlLnNldChvYnNlcnZlcklkLCBbXG4gICAgICAgIC4uLmxpc3RlbmVycyxcbiAgICAgICAgeyBpZDogY2FsbGJhY2tJZCwgZm5zOiBjYWxsYmFja3MgfSxcbiAgICBdKTtcbiAgICBpZiAobGlzdGVuZXJzICYmIGxpc3RlbmVycy5sZW5ndGggPiAwKVxuICAgICAgICByZXR1cm4gdW53YXRjaDtcbiAgICBjb25zdCBlbWl0ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gY2FsbGJhY2tzKSB7XG4gICAgICAgIGVtaXRba2V5XSA9ICgoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzKCk7XG4gICAgICAgICAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IGxpc3RlbmVyLmZuc1trZXldPy4oLi4uYXJncykpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgY2xlYW51cCA9IGZuKGVtaXQpO1xuICAgIGlmICh0eXBlb2YgY2xlYW51cCA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgY2xlYW51cENhY2hlLnNldChvYnNlcnZlcklkLCBjbGVhbnVwKTtcbiAgICByZXR1cm4gdW53YXRjaDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9ic2VydmUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/observe.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/poll.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/poll.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ poll: function() { return /* binding */ poll; }\n/* harmony export */ });\n/* harmony import */ var _wait_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wait.js */ \"./node_modules/viem/dist/esm/utils/wait.js\");\n\n/**\n * @description Polls a function at a specified interval.\n */\nfunction poll(fn, { emitOnBegin, initialWaitTime, interval }) {\n let active = true;\n const unwatch = () => (active = false);\n const watch = async () => {\n let data;\n if (emitOnBegin)\n data = await fn({ unpoll: unwatch });\n const initialWait = (await initialWaitTime?.(data)) ?? interval;\n await (0,_wait_js__WEBPACK_IMPORTED_MODULE_0__.wait)(initialWait);\n const poll = async () => {\n if (!active)\n return;\n await fn({ unpoll: unwatch });\n await (0,_wait_js__WEBPACK_IMPORTED_MODULE_0__.wait)(interval);\n poll();\n };\n poll();\n };\n watch();\n return unwatch;\n}\n//# sourceMappingURL=poll.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9wb2xsLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNPLG9CQUFvQix3Q0FBd0M7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixpQkFBaUI7QUFDL0M7QUFDQSxjQUFjLDhDQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixpQkFBaUI7QUFDeEMsa0JBQWtCLDhDQUFJO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvcG9sbC5qcz81MzM5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdhaXQgfSBmcm9tICcuL3dhaXQuanMnO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUG9sbHMgYSBmdW5jdGlvbiBhdCBhIHNwZWNpZmllZCBpbnRlcnZhbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvbGwoZm4sIHsgZW1pdE9uQmVnaW4sIGluaXRpYWxXYWl0VGltZSwgaW50ZXJ2YWwgfSkge1xuICAgIGxldCBhY3RpdmUgPSB0cnVlO1xuICAgIGNvbnN0IHVud2F0Y2ggPSAoKSA9PiAoYWN0aXZlID0gZmFsc2UpO1xuICAgIGNvbnN0IHdhdGNoID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBsZXQgZGF0YTtcbiAgICAgICAgaWYgKGVtaXRPbkJlZ2luKVxuICAgICAgICAgICAgZGF0YSA9IGF3YWl0IGZuKHsgdW5wb2xsOiB1bndhdGNoIH0pO1xuICAgICAgICBjb25zdCBpbml0aWFsV2FpdCA9IChhd2FpdCBpbml0aWFsV2FpdFRpbWU/LihkYXRhKSkgPz8gaW50ZXJ2YWw7XG4gICAgICAgIGF3YWl0IHdhaXQoaW5pdGlhbFdhaXQpO1xuICAgICAgICBjb25zdCBwb2xsID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYXdhaXQgZm4oeyB1bnBvbGw6IHVud2F0Y2ggfSk7XG4gICAgICAgICAgICBhd2FpdCB3YWl0KGludGVydmFsKTtcbiAgICAgICAgICAgIHBvbGwoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcG9sbCgpO1xuICAgIH07XG4gICAgd2F0Y2goKTtcbiAgICByZXR1cm4gdW53YXRjaDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBvbGwuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/poll.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createBatchScheduler: function() { return /* binding */ createBatchScheduler; }\n/* harmony export */ });\nconst schedulerCache = /*#__PURE__*/ new Map();\nfunction createBatchScheduler({ fn, id, shouldSplitBatch, wait = 0, }) {\n const exec = async () => {\n const scheduler = getScheduler();\n flush();\n const args = scheduler.map(({ args }) => args);\n if (args.length === 0)\n return;\n fn(args)\n .then((data) => {\n scheduler.forEach(({ pendingPromise }, i) => pendingPromise.resolve?.([data[i], data]));\n })\n .catch((err) => {\n scheduler.forEach(({ pendingPromise }) => pendingPromise.reject?.(err));\n });\n };\n const flush = () => schedulerCache.delete(id);\n const getBatchedArgs = () => getScheduler().map(({ args }) => args);\n const getScheduler = () => schedulerCache.get(id) || [];\n const setScheduler = (item) => schedulerCache.set(id, [...getScheduler(), item]);\n return {\n flush,\n async schedule(args) {\n const pendingPromise = {};\n const promise = new Promise((resolve, reject) => {\n pendingPromise.resolve = resolve;\n pendingPromise.reject = reject;\n });\n const split = shouldSplitBatch?.([...getBatchedArgs(), args]);\n if (split)\n exec();\n const hasActiveScheduler = getScheduler().length > 0;\n if (hasActiveScheduler) {\n setScheduler({ args, pendingPromise });\n return promise;\n }\n setScheduler({ args, pendingPromise });\n setTimeout(exec, wait);\n return promise;\n },\n };\n}\n//# sourceMappingURL=createBatchScheduler.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9wcm9taXNlL2NyZWF0ZUJhdGNoU2NoZWR1bGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPLGdDQUFnQyxxQ0FBcUM7QUFDNUU7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE1BQU07QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsZ0JBQWdCO0FBQ2pELFNBQVM7QUFDVDtBQUNBLGlDQUFpQyxnQkFBZ0I7QUFDakQsU0FBUztBQUNUO0FBQ0E7QUFDQSx1REFBdUQsTUFBTTtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7QUFDQTtBQUNBLDJCQUEyQixzQkFBc0I7QUFDakQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvcHJvbWlzZS9jcmVhdGVCYXRjaFNjaGVkdWxlci5qcz85ZDQxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNjaGVkdWxlckNhY2hlID0gLyojX19QVVJFX18qLyBuZXcgTWFwKCk7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmF0Y2hTY2hlZHVsZXIoeyBmbiwgaWQsIHNob3VsZFNwbGl0QmF0Y2gsIHdhaXQgPSAwLCB9KSB7XG4gICAgY29uc3QgZXhlYyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2NoZWR1bGVyID0gZ2V0U2NoZWR1bGVyKCk7XG4gICAgICAgIGZsdXNoKCk7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBzY2hlZHVsZXIubWFwKCh7IGFyZ3MgfSkgPT4gYXJncyk7XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZm4oYXJncylcbiAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgICBzY2hlZHVsZXIuZm9yRWFjaCgoeyBwZW5kaW5nUHJvbWlzZSB9LCBpKSA9PiBwZW5kaW5nUHJvbWlzZS5yZXNvbHZlPy4oW2RhdGFbaV0sIGRhdGFdKSk7XG4gICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgc2NoZWR1bGVyLmZvckVhY2goKHsgcGVuZGluZ1Byb21pc2UgfSkgPT4gcGVuZGluZ1Byb21pc2UucmVqZWN0Py4oZXJyKSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgY29uc3QgZmx1c2ggPSAoKSA9PiBzY2hlZHVsZXJDYWNoZS5kZWxldGUoaWQpO1xuICAgIGNvbnN0IGdldEJhdGNoZWRBcmdzID0gKCkgPT4gZ2V0U2NoZWR1bGVyKCkubWFwKCh7IGFyZ3MgfSkgPT4gYXJncyk7XG4gICAgY29uc3QgZ2V0U2NoZWR1bGVyID0gKCkgPT4gc2NoZWR1bGVyQ2FjaGUuZ2V0KGlkKSB8fCBbXTtcbiAgICBjb25zdCBzZXRTY2hlZHVsZXIgPSAoaXRlbSkgPT4gc2NoZWR1bGVyQ2FjaGUuc2V0KGlkLCBbLi4uZ2V0U2NoZWR1bGVyKCksIGl0ZW1dKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmbHVzaCxcbiAgICAgICAgYXN5bmMgc2NoZWR1bGUoYXJncykge1xuICAgICAgICAgICAgY29uc3QgcGVuZGluZ1Byb21pc2UgPSB7fTtcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgcGVuZGluZ1Byb21pc2UucmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgICAgICAgICAgcGVuZGluZ1Byb21pc2UucmVqZWN0ID0gcmVqZWN0O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBzcGxpdCA9IHNob3VsZFNwbGl0QmF0Y2g/LihbLi4uZ2V0QmF0Y2hlZEFyZ3MoKSwgYXJnc10pO1xuICAgICAgICAgICAgaWYgKHNwbGl0KVxuICAgICAgICAgICAgICAgIGV4ZWMoKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc0FjdGl2ZVNjaGVkdWxlciA9IGdldFNjaGVkdWxlcigpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICBpZiAoaGFzQWN0aXZlU2NoZWR1bGVyKSB7XG4gICAgICAgICAgICAgICAgc2V0U2NoZWR1bGVyKHsgYXJncywgcGVuZGluZ1Byb21pc2UgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRTY2hlZHVsZXIoeyBhcmdzLCBwZW5kaW5nUHJvbWlzZSB9KTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZXhlYywgd2FpdCk7XG4gICAgICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlQmF0Y2hTY2hlZHVsZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/promise/withCache.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/promise/withCache.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getCache: function() { return /* binding */ getCache; },\n/* harmony export */ promiseCache: function() { return /* binding */ promiseCache; },\n/* harmony export */ responseCache: function() { return /* binding */ responseCache; },\n/* harmony export */ withCache: function() { return /* binding */ withCache; }\n/* harmony export */ });\nconst promiseCache = /*#__PURE__*/ new Map();\nconst responseCache = /*#__PURE__*/ new Map();\nfunction getCache(cacheKey) {\n const buildCache = (cacheKey, cache) => ({\n clear: () => cache.delete(cacheKey),\n get: () => cache.get(cacheKey),\n set: (data) => cache.set(cacheKey, data),\n });\n const promise = buildCache(cacheKey, promiseCache);\n const response = buildCache(cacheKey, responseCache);\n return {\n clear: () => {\n promise.clear();\n response.clear();\n },\n promise,\n response,\n };\n}\n/**\n * @description Returns the result of a given promise, and caches the result for\n * subsequent invocations against a provided cache key.\n */\nasync function withCache(fn, { cacheKey, maxAge = Infinity }) {\n const cache = getCache(cacheKey);\n // If a response exists in the cache, and it's not expired, return it\n // and do not invoke the promise.\n // If the max age is 0, the cache is disabled.\n const response = cache.response.get();\n if (response && maxAge > 0) {\n const age = new Date().getTime() - response.created.getTime();\n if (age < maxAge)\n return response.data;\n }\n let promise = cache.promise.get();\n if (!promise) {\n promise = fn();\n // Store the promise in the cache so that subsequent invocations\n // will wait for the same promise to resolve (deduping).\n cache.promise.set(promise);\n }\n try {\n const data = await promise;\n // Store the response in the cache so that subsequent invocations\n // will return the same response.\n cache.response.set({ created: new Date(), data });\n return data;\n }\n finally {\n // Clear the promise cache so that subsequent invocations will\n // invoke the promise again.\n cache.promise.clear();\n }\n}\n//# sourceMappingURL=withCache.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9wcm9taXNlL3dpdGhDYWNoZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU87QUFDQTtBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTywrQkFBK0IsNkJBQTZCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QiwyQkFBMkI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3Byb21pc2Uvd2l0aENhY2hlLmpzP2E4OTAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHByb21pc2VDYWNoZSA9IC8qI19fUFVSRV9fKi8gbmV3IE1hcCgpO1xuZXhwb3J0IGNvbnN0IHJlc3BvbnNlQ2FjaGUgPSAvKiNfX1BVUkVfXyovIG5ldyBNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWNoZShjYWNoZUtleSkge1xuICAgIGNvbnN0IGJ1aWxkQ2FjaGUgPSAoY2FjaGVLZXksIGNhY2hlKSA9PiAoe1xuICAgICAgICBjbGVhcjogKCkgPT4gY2FjaGUuZGVsZXRlKGNhY2hlS2V5KSxcbiAgICAgICAgZ2V0OiAoKSA9PiBjYWNoZS5nZXQoY2FjaGVLZXkpLFxuICAgICAgICBzZXQ6IChkYXRhKSA9PiBjYWNoZS5zZXQoY2FjaGVLZXksIGRhdGEpLFxuICAgIH0pO1xuICAgIGNvbnN0IHByb21pc2UgPSBidWlsZENhY2hlKGNhY2hlS2V5LCBwcm9taXNlQ2FjaGUpO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYnVpbGRDYWNoZShjYWNoZUtleSwgcmVzcG9uc2VDYWNoZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICAgIHByb21pc2UuY2xlYXIoKTtcbiAgICAgICAgICAgIHJlc3BvbnNlLmNsZWFyKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHByb21pc2UsXG4gICAgICAgIHJlc3BvbnNlLFxuICAgIH07XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIHRoZSByZXN1bHQgb2YgYSBnaXZlbiBwcm9taXNlLCBhbmQgY2FjaGVzIHRoZSByZXN1bHQgZm9yXG4gKiBzdWJzZXF1ZW50IGludm9jYXRpb25zIGFnYWluc3QgYSBwcm92aWRlZCBjYWNoZSBrZXkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoQ2FjaGUoZm4sIHsgY2FjaGVLZXksIG1heEFnZSA9IEluZmluaXR5IH0pIHtcbiAgICBjb25zdCBjYWNoZSA9IGdldENhY2hlKGNhY2hlS2V5KTtcbiAgICAvLyBJZiBhIHJlc3BvbnNlIGV4aXN0cyBpbiB0aGUgY2FjaGUsIGFuZCBpdCdzIG5vdCBleHBpcmVkLCByZXR1cm4gaXRcbiAgICAvLyBhbmQgZG8gbm90IGludm9rZSB0aGUgcHJvbWlzZS5cbiAgICAvLyBJZiB0aGUgbWF4IGFnZSBpcyAwLCB0aGUgY2FjaGUgaXMgZGlzYWJsZWQuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBjYWNoZS5yZXNwb25zZS5nZXQoKTtcbiAgICBpZiAocmVzcG9uc2UgJiYgbWF4QWdlID4gMCkge1xuICAgICAgICBjb25zdCBhZ2UgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHJlc3BvbnNlLmNyZWF0ZWQuZ2V0VGltZSgpO1xuICAgICAgICBpZiAoYWdlIDwgbWF4QWdlKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfVxuICAgIGxldCBwcm9taXNlID0gY2FjaGUucHJvbWlzZS5nZXQoKTtcbiAgICBpZiAoIXByb21pc2UpIHtcbiAgICAgICAgcHJvbWlzZSA9IGZuKCk7XG4gICAgICAgIC8vIFN0b3JlIHRoZSBwcm9taXNlIGluIHRoZSBjYWNoZSBzbyB0aGF0IHN1YnNlcXVlbnQgaW52b2NhdGlvbnNcbiAgICAgICAgLy8gd2lsbCB3YWl0IGZvciB0aGUgc2FtZSBwcm9taXNlIHRvIHJlc29sdmUgKGRlZHVwaW5nKS5cbiAgICAgICAgY2FjaGUucHJvbWlzZS5zZXQocHJvbWlzZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBwcm9taXNlO1xuICAgICAgICAvLyBTdG9yZSB0aGUgcmVzcG9uc2UgaW4gdGhlIGNhY2hlIHNvIHRoYXQgc3Vic2VxdWVudCBpbnZvY2F0aW9uc1xuICAgICAgICAvLyB3aWxsIHJldHVybiB0aGUgc2FtZSByZXNwb25zZS5cbiAgICAgICAgY2FjaGUucmVzcG9uc2Uuc2V0KHsgY3JlYXRlZDogbmV3IERhdGUoKSwgZGF0YSB9KTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgICAvLyBDbGVhciB0aGUgcHJvbWlzZSBjYWNoZSBzbyB0aGF0IHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgd2lsbFxuICAgICAgICAvLyBpbnZva2UgdGhlIHByb21pc2UgYWdhaW4uXG4gICAgICAgIGNhY2hlLnByb21pc2UuY2xlYXIoKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13aXRoQ2FjaGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/promise/withCache.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/promise/withRetry.js": -/*!***************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/promise/withRetry.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ withRetry: function() { return /* binding */ withRetry; }\n/* harmony export */ });\n/* harmony import */ var _wait_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../wait.js */ \"./node_modules/viem/dist/esm/utils/wait.js\");\n\nfunction withRetry(fn, { delay: delay_ = 100, retryCount = 2, shouldRetry = () => true, } = {}) {\n return new Promise((resolve, reject) => {\n const attemptRetry = async ({ count = 0 } = {}) => {\n const retry = async ({ error }) => {\n const delay = typeof delay_ === 'function' ? delay_({ count, error }) : delay_;\n if (delay)\n await (0,_wait_js__WEBPACK_IMPORTED_MODULE_0__.wait)(delay);\n attemptRetry({ count: count + 1 });\n };\n try {\n const data = await fn();\n resolve(data);\n }\n catch (err) {\n if (count < retryCount &&\n (await shouldRetry({ count, error: err })))\n return retry({ error: err });\n reject(err);\n }\n };\n attemptRetry();\n });\n}\n//# sourceMappingURL=withRetry.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9wcm9taXNlL3dpdGhSZXRyeS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrQztBQUMzQix5QkFBeUIsaUVBQWlFLElBQUk7QUFDckc7QUFDQSxzQ0FBc0MsWUFBWSxJQUFJO0FBQ3RELG1DQUFtQyxPQUFPO0FBQzFDLHNFQUFzRSxjQUFjO0FBQ3BGO0FBQ0EsMEJBQTBCLDhDQUFJO0FBQzlCLCtCQUErQixrQkFBa0I7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsbUJBQW1CO0FBQzVELG1DQUFtQyxZQUFZO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvcHJvbWlzZS93aXRoUmV0cnkuanM/NTQ5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3YWl0IH0gZnJvbSAnLi4vd2FpdC5qcyc7XG5leHBvcnQgZnVuY3Rpb24gd2l0aFJldHJ5KGZuLCB7IGRlbGF5OiBkZWxheV8gPSAxMDAsIHJldHJ5Q291bnQgPSAyLCBzaG91bGRSZXRyeSA9ICgpID0+IHRydWUsIH0gPSB7fSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dGVtcHRSZXRyeSA9IGFzeW5jICh7IGNvdW50ID0gMCB9ID0ge30pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJldHJ5ID0gYXN5bmMgKHsgZXJyb3IgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlbGF5ID0gdHlwZW9mIGRlbGF5XyA9PT0gJ2Z1bmN0aW9uJyA/IGRlbGF5Xyh7IGNvdW50LCBlcnJvciB9KSA6IGRlbGF5XztcbiAgICAgICAgICAgICAgICBpZiAoZGVsYXkpXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdhaXQoZGVsYXkpO1xuICAgICAgICAgICAgICAgIGF0dGVtcHRSZXRyeSh7IGNvdW50OiBjb3VudCArIDEgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZm4oKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IHJldHJ5Q291bnQgJiZcbiAgICAgICAgICAgICAgICAgICAgKGF3YWl0IHNob3VsZFJldHJ5KHsgY291bnQsIGVycm9yOiBlcnIgfSkpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0cnkoeyBlcnJvcjogZXJyIH0pO1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBhdHRlbXB0UmV0cnkoKTtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGhSZXRyeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/promise/withRetry.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/promise/withTimeout.js": -/*!*****************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/promise/withTimeout.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ withTimeout: function() { return /* binding */ withTimeout; }\n/* harmony export */ });\nfunction withTimeout(fn, { errorInstance, timeout, signal, }) {\n return new Promise((resolve, reject) => {\n ;\n (async () => {\n let timeoutId;\n try {\n const controller = new AbortController();\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort();\n }\n else {\n reject(errorInstance);\n }\n }, timeout);\n }\n resolve(await fn({ signal: controller?.signal }));\n }\n catch (err) {\n if (err.name === 'AbortError')\n reject(errorInstance);\n reject(err);\n }\n finally {\n clearTimeout(timeoutId);\n }\n })();\n });\n}\n//# sourceMappingURL=withTimeout.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9wcm9taXNlL3dpdGhUaW1lb3V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTywyQkFBMkIsaUNBQWlDO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxtQ0FBbUMsNEJBQTRCO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9wcm9taXNlL3dpdGhUaW1lb3V0LmpzPzc4ZmQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdpdGhUaW1lb3V0KGZuLCB7IGVycm9ySW5zdGFuY2UsIHRpbWVvdXQsIHNpZ25hbCwgfSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIDtcbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGxldCB0aW1lb3V0SWQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNpZ25hbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvckluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgdGltZW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUoYXdhaXQgZm4oeyBzaWduYWw6IGNvbnRyb2xsZXI/LnNpZ25hbCB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVyci5uYW1lID09PSAnQWJvcnRFcnJvcicpXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvckluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2l0aFRpbWVvdXQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/promise/withTimeout.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/regex.js": -/*!***************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/regex.js ***! - \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arrayRegex: function() { return /* binding */ arrayRegex; },\n/* harmony export */ bytesRegex: function() { return /* binding */ bytesRegex; },\n/* harmony export */ integerRegex: function() { return /* binding */ integerRegex; }\n/* harmony export */ });\nconst arrayRegex = /^(.*)\\[([0-9]*)\\]$/;\n// `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`\n// https://regexr.com/6va55\nconst bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;\n// `(u)int<M>`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`\n// https://regexr.com/6v8hp\nconst integerRegex = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;\n//# sourceMappingURL=regex.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9yZWdleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3JlZ2V4LmpzPzViMTciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGFycmF5UmVnZXggPSAvXiguKilcXFsoWzAtOV0qKVxcXSQvO1xuLy8gYGJ5dGVzPE0+YDogYmluYXJ5IHR5cGUgb2YgYE1gIGJ5dGVzLCBgMCA8IE0gPD0gMzJgXG4vLyBodHRwczovL3JlZ2V4ci5jb20vNnZhNTVcbmV4cG9ydCBjb25zdCBieXRlc1JlZ2V4ID0gL15ieXRlcyhbMS05XXwxWzAtOV18MlswLTldfDNbMC0yXSk/JC87XG4vLyBgKHUpaW50PE0+YDogKHVuKXNpZ25lZCBpbnRlZ2VyIHR5cGUgb2YgYE1gIGJpdHMsIGAwIDwgTSA8PSAyNTZgLCBgTSAlIDggPT0gMGBcbi8vIGh0dHBzOi8vcmVnZXhyLmNvbS82djhocFxuZXhwb3J0IGNvbnN0IGludGVnZXJSZWdleCA9IC9eKHU/aW50KSg4fDE2fDI0fDMyfDQwfDQ4fDU2fDY0fDcyfDgwfDg4fDk2fDEwNHwxMTJ8MTIwfDEyOHwxMzZ8MTQ0fDE1MnwxNjB8MTY4fDE3NnwxODR8MTkyfDIwMHwyMDh8MjE2fDIyNHwyMzJ8MjQwfDI0OHwyNTYpPyQvO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVnZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/regex.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/rpc.js": -/*!*************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/rpc.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getSocket: function() { return /* binding */ getSocket; },\n/* harmony export */ rpc: function() { return /* binding */ rpc; }\n/* harmony export */ });\n/* harmony import */ var _errors_request_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors/request.js */ \"./node_modules/viem/dist/esm/errors/request.js\");\n/* harmony import */ var _promise_createBatchScheduler_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./promise/createBatchScheduler.js */ \"./node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js\");\n/* harmony import */ var _promise_withTimeout_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./promise/withTimeout.js */ \"./node_modules/viem/dist/esm/utils/promise/withTimeout.js\");\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stringify.js */ \"./node_modules/viem/dist/esm/utils/stringify.js\");\n\n\n\n\nlet id = 0;\nasync function http(url, { body, fetchOptions = {}, timeout = 10000 }) {\n const { headers, method, signal: signal_ } = fetchOptions;\n try {\n const response = await (0,_promise_withTimeout_js__WEBPACK_IMPORTED_MODULE_0__.withTimeout)(async ({ signal }) => {\n const response = await fetch(url, {\n ...fetchOptions,\n body: Array.isArray(body)\n ? (0,_stringify_js__WEBPACK_IMPORTED_MODULE_1__.stringify)(body.map((body) => ({\n jsonrpc: '2.0',\n id: id++,\n ...body,\n })))\n : (0,_stringify_js__WEBPACK_IMPORTED_MODULE_1__.stringify)({ jsonrpc: '2.0', id: id++, ...body }),\n headers: {\n ...headers,\n 'Content-Type': 'application/json',\n },\n method: method || 'POST',\n signal: signal_ || (timeout > 0 ? signal : undefined),\n });\n return response;\n }, {\n errorInstance: new _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutError({ body, url }),\n timeout,\n signal: true,\n });\n let data;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n data = await response.json();\n }\n else {\n data = await response.text();\n }\n if (!response.ok) {\n throw new _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.HttpRequestError({\n body,\n details: (0,_stringify_js__WEBPACK_IMPORTED_MODULE_1__.stringify)(data.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n }\n return data;\n }\n catch (err) {\n if (err instanceof _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.HttpRequestError)\n throw err;\n if (err instanceof _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutError)\n throw err;\n throw new _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n}\nconst sockets = /*#__PURE__*/ new Map();\nasync function getSocket(url_) {\n const url = new URL(url_);\n const urlKey = url.toString();\n let socket = sockets.get(urlKey);\n // If the socket already exists, return it.\n if (socket)\n return socket;\n const { schedule } = (0,_promise_createBatchScheduler_js__WEBPACK_IMPORTED_MODULE_3__.createBatchScheduler)({\n id: urlKey,\n fn: async () => {\n let WebSocket = await __webpack_require__.e(/*! import() */ \"node_modules_isomorphic-ws_browser_js\").then(__webpack_require__.bind(__webpack_require__, /*! isomorphic-ws */ \"./node_modules/isomorphic-ws/browser.js\"));\n // Workaround for Vite.\n // https://github.com/vitejs/vite/issues/9703\n // TODO: Remove when issue is resolved.\n if (WebSocket.default\n ?.constructor)\n WebSocket = WebSocket\n .default;\n else\n WebSocket = WebSocket.WebSocket;\n const webSocket = new WebSocket(url);\n // Set up a cache for incoming \"synchronous\" requests.\n const requests = new Map();\n // Set up a cache for subscriptions (eth_subscribe).\n const subscriptions = new Map();\n const onMessage = ({ data }) => {\n const message = JSON.parse(data);\n const isSubscription = message.method === 'eth_subscription';\n const id = isSubscription ? message.params.subscription : message.id;\n const cache = isSubscription ? subscriptions : requests;\n const callback = cache.get(id);\n if (callback)\n callback({ data });\n if (!isSubscription)\n cache.delete(id);\n };\n const onClose = () => {\n sockets.delete(urlKey);\n webSocket.removeEventListener('close', onClose);\n webSocket.removeEventListener('message', onMessage);\n };\n // Setup event listeners for RPC & subscription responses.\n webSocket.addEventListener('close', onClose);\n webSocket.addEventListener('message', onMessage);\n // Wait for the socket to open.\n if (webSocket.readyState === WebSocket.CONNECTING) {\n await new Promise((resolve, reject) => {\n if (!webSocket)\n return;\n webSocket.onopen = resolve;\n webSocket.onerror = reject;\n });\n }\n // Create a new socket instance.\n socket = Object.assign(webSocket, {\n requests,\n subscriptions,\n });\n sockets.set(urlKey, socket);\n return [socket];\n },\n });\n const [_, [socket_]] = await schedule();\n return socket_;\n}\nfunction webSocket(socket, { body, onResponse }) {\n if (socket.readyState === socket.CLOSED ||\n socket.readyState === socket.CLOSING)\n throw new _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.WebSocketRequestError({\n body,\n url: socket.url,\n details: 'Socket is closed.',\n });\n const id_ = id++;\n const callback = ({ data }) => {\n const message = JSON.parse(data);\n if (typeof message.id === 'number' && id_ !== message.id)\n return;\n onResponse?.(message);\n // If we are subscribing to a topic, we want to set up a listener for incoming\n // messages.\n if (body.method === 'eth_subscribe' && typeof message.result === 'string') {\n socket.subscriptions.set(message.result, callback);\n }\n // If we are unsubscribing from a topic, we want to remove the listener.\n if (body.method === 'eth_unsubscribe') {\n socket.subscriptions.delete(body.params?.[0]);\n }\n };\n socket.requests.set(id_, callback);\n socket.send(JSON.stringify({ jsonrpc: '2.0', ...body, id: id_ }));\n return socket;\n}\nasync function webSocketAsync(socket, { body, timeout = 10000 }) {\n return (0,_promise_withTimeout_js__WEBPACK_IMPORTED_MODULE_0__.withTimeout)(() => new Promise((onResponse) => rpc.webSocket(socket, {\n body,\n onResponse,\n })), {\n errorInstance: new _errors_request_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutError({ body, url: socket.url }),\n timeout,\n });\n}\n///////////////////////////////////////////////////\nconst rpc = {\n http,\n webSocket,\n webSocketAsync,\n};\n//# sourceMappingURL=rpc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9ycGMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQThGO0FBQ3JCO0FBQ2xCO0FBQ1o7QUFDM0M7QUFDQSwyQkFBMkIsdUJBQXVCLG1CQUFtQjtBQUNyRSxZQUFZLG1DQUFtQztBQUMvQztBQUNBLCtCQUErQixvRUFBVyxVQUFVLFFBQVE7QUFDNUQ7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHdEQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixzQkFBc0Isd0RBQVMsR0FBRyxtQ0FBbUM7QUFDckU7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxTQUFTO0FBQ1QsK0JBQStCLDREQUFZLEdBQUcsV0FBVztBQUN6RDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsZ0VBQWdCO0FBQ3RDO0FBQ0EseUJBQXlCLHdEQUFTO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixnRUFBZ0I7QUFDM0M7QUFDQSwyQkFBMkIsNERBQVk7QUFDdkM7QUFDQSxrQkFBa0IsZ0VBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVyxFQUFFLHNGQUFvQjtBQUM3QztBQUNBO0FBQ0Esa0NBQWtDLGtNQUF1QjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLE1BQU07QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLE1BQU07QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQjtBQUMvQztBQUNBO0FBQ0Esa0JBQWtCLHFFQUFxQjtBQUN2QztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSx3QkFBd0IsTUFBTTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsa0NBQWtDO0FBQ25FO0FBQ0E7QUFDQSx3Q0FBd0MsdUJBQXVCO0FBQy9ELFdBQVcsb0VBQVc7QUFDdEI7QUFDQTtBQUNBLEtBQUs7QUFDTCwyQkFBMkIsNERBQVksR0FBRyx1QkFBdUI7QUFDakU7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9ycGMuanM/ZWE3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdEVycm9yLCBUaW1lb3V0RXJyb3IsIFdlYlNvY2tldFJlcXVlc3RFcnJvciwgfSBmcm9tICcuLi9lcnJvcnMvcmVxdWVzdC5qcyc7XG5pbXBvcnQgeyBjcmVhdGVCYXRjaFNjaGVkdWxlciB9IGZyb20gJy4vcHJvbWlzZS9jcmVhdGVCYXRjaFNjaGVkdWxlci5qcyc7XG5pbXBvcnQgeyB3aXRoVGltZW91dCB9IGZyb20gJy4vcHJvbWlzZS93aXRoVGltZW91dC5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuL3N0cmluZ2lmeS5qcyc7XG5sZXQgaWQgPSAwO1xuYXN5bmMgZnVuY3Rpb24gaHR0cCh1cmwsIHsgYm9keSwgZmV0Y2hPcHRpb25zID0ge30sIHRpbWVvdXQgPSAxMDAwMCB9KSB7XG4gICAgY29uc3QgeyBoZWFkZXJzLCBtZXRob2QsIHNpZ25hbDogc2lnbmFsXyB9ID0gZmV0Y2hPcHRpb25zO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgd2l0aFRpbWVvdXQoYXN5bmMgKHsgc2lnbmFsIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgLi4uZmV0Y2hPcHRpb25zLFxuICAgICAgICAgICAgICAgIGJvZHk6IEFycmF5LmlzQXJyYXkoYm9keSlcbiAgICAgICAgICAgICAgICAgICAgPyBzdHJpbmdpZnkoYm9keS5tYXAoKGJvZHkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBqc29ucnBjOiAnMi4wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCsrLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYm9keSxcbiAgICAgICAgICAgICAgICAgICAgfSkpKVxuICAgICAgICAgICAgICAgICAgICA6IHN0cmluZ2lmeSh7IGpzb25ycGM6ICcyLjAnLCBpZDogaWQrKywgLi4uYm9keSB9KSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtZXRob2Q6IG1ldGhvZCB8fCAnUE9TVCcsXG4gICAgICAgICAgICAgICAgc2lnbmFsOiBzaWduYWxfIHx8ICh0aW1lb3V0ID4gMCA/IHNpZ25hbCA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgZXJyb3JJbnN0YW5jZTogbmV3IFRpbWVvdXRFcnJvcih7IGJvZHksIHVybCB9KSxcbiAgICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgICBzaWduYWw6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgZGF0YTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKT8uc3RhcnRzV2l0aCgnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgICAgICAgICBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cFJlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBzdHJpbmdpZnkoZGF0YS5lcnJvcikgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dCxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXNwb25zZS5oZWFkZXJzLFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBIdHRwUmVxdWVzdEVycm9yKVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgVGltZW91dEVycm9yKVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB0aHJvdyBuZXcgSHR0cFJlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgZGV0YWlsczogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICB1cmwsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmNvbnN0IHNvY2tldHMgPSAvKiNfX1BVUkVfXyovIG5ldyBNYXAoKTtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTb2NrZXQodXJsXykge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodXJsXyk7XG4gICAgY29uc3QgdXJsS2V5ID0gdXJsLnRvU3RyaW5nKCk7XG4gICAgbGV0IHNvY2tldCA9IHNvY2tldHMuZ2V0KHVybEtleSk7XG4gICAgLy8gSWYgdGhlIHNvY2tldCBhbHJlYWR5IGV4aXN0cywgcmV0dXJuIGl0LlxuICAgIGlmIChzb2NrZXQpXG4gICAgICAgIHJldHVybiBzb2NrZXQ7XG4gICAgY29uc3QgeyBzY2hlZHVsZSB9ID0gY3JlYXRlQmF0Y2hTY2hlZHVsZXIoe1xuICAgICAgICBpZDogdXJsS2V5LFxuICAgICAgICBmbjogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgbGV0IFdlYlNvY2tldCA9IGF3YWl0IGltcG9ydCgnaXNvbW9ycGhpYy13cycpO1xuICAgICAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgVml0ZS5cbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS92aXRlanMvdml0ZS9pc3N1ZXMvOTcwM1xuICAgICAgICAgICAgLy8gVE9ETzogUmVtb3ZlIHdoZW4gaXNzdWUgaXMgcmVzb2x2ZWQuXG4gICAgICAgICAgICBpZiAoV2ViU29ja2V0LmRlZmF1bHRcbiAgICAgICAgICAgICAgICA/LmNvbnN0cnVjdG9yKVxuICAgICAgICAgICAgICAgIFdlYlNvY2tldCA9IFdlYlNvY2tldFxuICAgICAgICAgICAgICAgICAgICAuZGVmYXVsdDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBXZWJTb2NrZXQgPSBXZWJTb2NrZXQuV2ViU29ja2V0O1xuICAgICAgICAgICAgY29uc3Qgd2ViU29ja2V0ID0gbmV3IFdlYlNvY2tldCh1cmwpO1xuICAgICAgICAgICAgLy8gU2V0IHVwIGEgY2FjaGUgZm9yIGluY29taW5nIFwic3luY2hyb25vdXNcIiByZXF1ZXN0cy5cbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgLy8gU2V0IHVwIGEgY2FjaGUgZm9yIHN1YnNjcmlwdGlvbnMgKGV0aF9zdWJzY3JpYmUpLlxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGNvbnN0IG9uTWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU3Vic2NyaXB0aW9uID0gbWVzc2FnZS5tZXRob2QgPT09ICdldGhfc3Vic2NyaXB0aW9uJztcbiAgICAgICAgICAgICAgICBjb25zdCBpZCA9IGlzU3Vic2NyaXB0aW9uID8gbWVzc2FnZS5wYXJhbXMuc3Vic2NyaXB0aW9uIDogbWVzc2FnZS5pZDtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZSA9IGlzU3Vic2NyaXB0aW9uID8gc3Vic2NyaXB0aW9ucyA6IHJlcXVlc3RzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gY2FjaGUuZ2V0KGlkKTtcbiAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2spXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgZGF0YSB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzU3Vic2NyaXB0aW9uKVxuICAgICAgICAgICAgICAgICAgICBjYWNoZS5kZWxldGUoaWQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc29ja2V0cy5kZWxldGUodXJsS2V5KTtcbiAgICAgICAgICAgICAgICB3ZWJTb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xvc2UnLCBvbkNsb3NlKTtcbiAgICAgICAgICAgICAgICB3ZWJTb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gU2V0dXAgZXZlbnQgbGlzdGVuZXJzIGZvciBSUEMgJiBzdWJzY3JpcHRpb24gcmVzcG9uc2VzLlxuICAgICAgICAgICAgd2ViU29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgb25DbG9zZSk7XG4gICAgICAgICAgICB3ZWJTb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7XG4gICAgICAgICAgICAvLyBXYWl0IGZvciB0aGUgc29ja2V0IHRvIG9wZW4uXG4gICAgICAgICAgICBpZiAod2ViU29ja2V0LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DT05ORUNUSU5HKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXdlYlNvY2tldClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgd2ViU29ja2V0Lm9ub3BlbiA9IHJlc29sdmU7XG4gICAgICAgICAgICAgICAgICAgIHdlYlNvY2tldC5vbmVycm9yID0gcmVqZWN0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHNvY2tldCBpbnN0YW5jZS5cbiAgICAgICAgICAgIHNvY2tldCA9IE9iamVjdC5hc3NpZ24od2ViU29ja2V0LCB7XG4gICAgICAgICAgICAgICAgcmVxdWVzdHMsXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc29ja2V0cy5zZXQodXJsS2V5LCBzb2NrZXQpO1xuICAgICAgICAgICAgcmV0dXJuIFtzb2NrZXRdO1xuICAgICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IFtfLCBbc29ja2V0X11dID0gYXdhaXQgc2NoZWR1bGUoKTtcbiAgICByZXR1cm4gc29ja2V0Xztcbn1cbmZ1bmN0aW9uIHdlYlNvY2tldChzb2NrZXQsIHsgYm9keSwgb25SZXNwb25zZSB9KSB7XG4gICAgaWYgKHNvY2tldC5yZWFkeVN0YXRlID09PSBzb2NrZXQuQ0xPU0VEIHx8XG4gICAgICAgIHNvY2tldC5yZWFkeVN0YXRlID09PSBzb2NrZXQuQ0xPU0lORylcbiAgICAgICAgdGhyb3cgbmV3IFdlYlNvY2tldFJlcXVlc3RFcnJvcih7XG4gICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgdXJsOiBzb2NrZXQudXJsLFxuICAgICAgICAgICAgZGV0YWlsczogJ1NvY2tldCBpcyBjbG9zZWQuJyxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgaWRfID0gaWQrKztcbiAgICBjb25zdCBjYWxsYmFjayA9ICh7IGRhdGEgfSkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlLmlkID09PSAnbnVtYmVyJyAmJiBpZF8gIT09IG1lc3NhZ2UuaWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uUmVzcG9uc2U/LihtZXNzYWdlKTtcbiAgICAgICAgLy8gSWYgd2UgYXJlIHN1YnNjcmliaW5nIHRvIGEgdG9waWMsIHdlIHdhbnQgdG8gc2V0IHVwIGEgbGlzdGVuZXIgZm9yIGluY29taW5nXG4gICAgICAgIC8vIG1lc3NhZ2VzLlxuICAgICAgICBpZiAoYm9keS5tZXRob2QgPT09ICdldGhfc3Vic2NyaWJlJyAmJiB0eXBlb2YgbWVzc2FnZS5yZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzb2NrZXQuc3Vic2NyaXB0aW9ucy5zZXQobWVzc2FnZS5yZXN1bHQsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB3ZSBhcmUgdW5zdWJzY3JpYmluZyBmcm9tIGEgdG9waWMsIHdlIHdhbnQgdG8gcmVtb3ZlIHRoZSBsaXN0ZW5lci5cbiAgICAgICAgaWYgKGJvZHkubWV0aG9kID09PSAnZXRoX3Vuc3Vic2NyaWJlJykge1xuICAgICAgICAgICAgc29ja2V0LnN1YnNjcmlwdGlvbnMuZGVsZXRlKGJvZHkucGFyYW1zPy5bMF0pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBzb2NrZXQucmVxdWVzdHMuc2V0KGlkXywgY2FsbGJhY2spO1xuICAgIHNvY2tldC5zZW5kKEpTT04uc3RyaW5naWZ5KHsganNvbnJwYzogJzIuMCcsIC4uLmJvZHksIGlkOiBpZF8gfSkpO1xuICAgIHJldHVybiBzb2NrZXQ7XG59XG5hc3luYyBmdW5jdGlvbiB3ZWJTb2NrZXRBc3luYyhzb2NrZXQsIHsgYm9keSwgdGltZW91dCA9IDEwMDAwIH0pIHtcbiAgICByZXR1cm4gd2l0aFRpbWVvdXQoKCkgPT4gbmV3IFByb21pc2UoKG9uUmVzcG9uc2UpID0+IHJwYy53ZWJTb2NrZXQoc29ja2V0LCB7XG4gICAgICAgIGJvZHksXG4gICAgICAgIG9uUmVzcG9uc2UsXG4gICAgfSkpLCB7XG4gICAgICAgIGVycm9ySW5zdGFuY2U6IG5ldyBUaW1lb3V0RXJyb3IoeyBib2R5LCB1cmw6IHNvY2tldC51cmwgfSksXG4gICAgICAgIHRpbWVvdXQsXG4gICAgfSk7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmV4cG9ydCBjb25zdCBycGMgPSB7XG4gICAgaHR0cCxcbiAgICB3ZWJTb2NrZXQsXG4gICAgd2ViU29ja2V0QXN5bmMsXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cnBjLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/rpc.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/hashMessage.js": -/*!*******************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/hashMessage.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hashMessage: function() { return /* binding */ hashMessage; }\n/* harmony export */ });\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../encoding/toBytes.js */ \"./node_modules/viem/dist/esm/utils/encoding/toBytes.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n\n\n\nfunction hashMessage(message, to_) {\n const messageBytes = (() => {\n if (typeof message === 'string')\n return (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.stringToBytes)(message);\n if (message.raw instanceof Uint8Array)\n return message.raw;\n return (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.toBytes)(message.raw);\n })();\n const prefixBytes = (0,_encoding_toBytes_js__WEBPACK_IMPORTED_MODULE_0__.stringToBytes)(`\\x19Ethereum Signed Message:\\n${messageBytes.length}`);\n return (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)((0,_data_concat_js__WEBPACK_IMPORTED_MODULE_2__.concat)([prefixBytes, messageBytes]), to_);\n}\n//# sourceMappingURL=hashMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvaGFzaE1lc3NhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEyQztBQUNxQjtBQUNmO0FBQzFDO0FBQ1A7QUFDQTtBQUNBLG1CQUFtQixtRUFBYTtBQUNoQztBQUNBO0FBQ0EsZUFBZSw2REFBTztBQUN0QixLQUFLO0FBQ0wsd0JBQXdCLG1FQUFhLGtDQUFrQyxvQkFBb0I7QUFDM0YsV0FBVyw2REFBUyxDQUFDLHVEQUFNO0FBQzNCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvc2lnbmF0dXJlL2hhc2hNZXNzYWdlLmpzPzI1MTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vZGF0YS9jb25jYXQuanMnO1xuaW1wb3J0IHsgc3RyaW5nVG9CeXRlcywgdG9CeXRlcyB9IGZyb20gJy4uL2VuY29kaW5nL3RvQnl0ZXMuanMnO1xuaW1wb3J0IHsga2VjY2FrMjU2IH0gZnJvbSAnLi4vaGFzaC9rZWNjYWsyNTYuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hNZXNzYWdlKG1lc3NhZ2UsIHRvXykge1xuICAgIGNvbnN0IG1lc3NhZ2VCeXRlcyA9ICgoKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nVG9CeXRlcyhtZXNzYWdlKTtcbiAgICAgICAgaWYgKG1lc3NhZ2UucmF3IGluc3RhbmNlb2YgVWludDhBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBtZXNzYWdlLnJhdztcbiAgICAgICAgcmV0dXJuIHRvQnl0ZXMobWVzc2FnZS5yYXcpO1xuICAgIH0pKCk7XG4gICAgY29uc3QgcHJlZml4Qnl0ZXMgPSBzdHJpbmdUb0J5dGVzKGBcXHgxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcbiR7bWVzc2FnZUJ5dGVzLmxlbmd0aH1gKTtcbiAgICByZXR1cm4ga2VjY2FrMjU2KGNvbmNhdChbcHJlZml4Qnl0ZXMsIG1lc3NhZ2VCeXRlc10pLCB0b18pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzaE1lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/hashMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/hashTypedData.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/hashTypedData.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hashTypedData: function() { return /* binding */ hashTypedData; }\n/* harmony export */ });\n/* harmony import */ var _abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../abi/encodeAbiParameters.js */ \"./node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash/keccak256.js */ \"./node_modules/viem/dist/esm/utils/hash/keccak256.js\");\n/* harmony import */ var _typedData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../typedData.js */ \"./node_modules/viem/dist/esm/utils/typedData.js\");\n// Implementation forked and adapted from https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-typed-data.ts\n\n\n\n\n\nfunction hashTypedData({ domain: domain_, message, primaryType, types: types_, }) {\n const domain = typeof domain_ === 'undefined' ? {} : domain_;\n const types = {\n EIP712Domain: [\n typeof domain?.name === 'string' && { name: 'name', type: 'string' },\n domain?.version && { name: 'version', type: 'string' },\n typeof domain?.chainId === 'number' && {\n name: 'chainId',\n type: 'uint256',\n },\n domain?.verifyingContract && {\n name: 'verifyingContract',\n type: 'address',\n },\n domain?.salt && { name: 'salt', type: 'bytes32' },\n ].filter(Boolean),\n ...types_,\n };\n // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc\n // as we can't statically check this with TypeScript.\n (0,_typedData_js__WEBPACK_IMPORTED_MODULE_0__.validateTypedData)({\n domain,\n message,\n primaryType,\n types,\n });\n const parts = ['0x1901'];\n if (domain)\n parts.push(hashDomain({\n domain,\n types: types,\n }));\n if (primaryType !== 'EIP712Domain') {\n parts.push(hashStruct({\n data: message,\n primaryType: primaryType,\n types: types,\n }));\n }\n return (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)((0,_data_concat_js__WEBPACK_IMPORTED_MODULE_2__.concat)(parts));\n}\nfunction hashDomain({ domain, types, }) {\n return hashStruct({\n data: domain,\n primaryType: 'EIP712Domain',\n types,\n });\n}\nfunction hashStruct({ data, primaryType, types, }) {\n const encoded = encodeData({\n data,\n primaryType,\n types,\n });\n return (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)(encoded);\n}\nfunction encodeData({ data, primaryType, types, }) {\n const encodedTypes = [{ type: 'bytes32' }];\n const encodedValues = [hashType({ primaryType, types })];\n for (const field of types[primaryType]) {\n const [type, value] = encodeField({\n types,\n name: field.name,\n type: field.type,\n value: data[field.name],\n });\n encodedTypes.push(type);\n encodedValues.push(value);\n }\n return (0,_abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_3__.encodeAbiParameters)(encodedTypes, encodedValues);\n}\nfunction hashType({ primaryType, types, }) {\n const encodedHashType = (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_4__.toHex)(encodeType({ primaryType, types }));\n return (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)(encodedHashType);\n}\nfunction encodeType({ primaryType, types, }) {\n let result = '';\n const unsortedDeps = findTypeDependencies({ primaryType, types });\n unsortedDeps.delete(primaryType);\n const deps = [primaryType, ...Array.from(unsortedDeps).sort()];\n for (const type of deps) {\n result += `${type}(${types[type]\n .map(({ name, type: t }) => `${t} ${name}`)\n .join(',')})`;\n }\n return result;\n}\nfunction findTypeDependencies({ primaryType: primaryType_, types, }, results = new Set()) {\n const match = primaryType_.match(/^\\w*/u);\n const primaryType = match?.[0];\n if (results.has(primaryType) || types[primaryType] === undefined) {\n return results;\n }\n results.add(primaryType);\n for (const field of types[primaryType]) {\n findTypeDependencies({ primaryType: field.type, types }, results);\n }\n return results;\n}\nfunction encodeField({ types, name, type, value, }) {\n if (types[type] !== undefined) {\n return [\n { type: 'bytes32' },\n (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)(encodeData({ data: value, primaryType: type, types })),\n ];\n }\n if (type === 'bytes') {\n const prepend = value.length % 2 ? '0' : '';\n value = `0x${prepend + value.slice(2)}`;\n return [{ type: 'bytes32' }, (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)(value)];\n }\n if (type === 'string')\n return [{ type: 'bytes32' }, (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)((0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_4__.toHex)(value))];\n if (type.lastIndexOf(']') === type.length - 1) {\n const parsedType = type.slice(0, type.lastIndexOf('['));\n const typeValuePairs = value.map((item) => encodeField({\n name,\n type: parsedType,\n types,\n value: item,\n }));\n return [\n { type: 'bytes32' },\n (0,_hash_keccak256_js__WEBPACK_IMPORTED_MODULE_1__.keccak256)((0,_abi_encodeAbiParameters_js__WEBPACK_IMPORTED_MODULE_3__.encodeAbiParameters)(typeValuePairs.map(([t]) => t), typeValuePairs.map(([, v]) => v))),\n ];\n }\n return [{ type }, value];\n}\n//# sourceMappingURL=hashTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvaGFzaFR5cGVkRGF0YS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNvRTtBQUN6QjtBQUNFO0FBQ0k7QUFDRztBQUM3Qyx5QkFBeUIsdURBQXVEO0FBQ3ZGLHVEQUF1RDtBQUN2RDtBQUNBO0FBQ0Esa0RBQWtELDhCQUE4QjtBQUNoRixpQ0FBaUMsaUNBQWlDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsOEJBQThCLCtCQUErQjtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxnRUFBaUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsV0FBVyw2REFBUyxDQUFDLHVEQUFNO0FBQzNCO0FBQ0Esc0JBQXNCLGdCQUFnQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLHNCQUFzQiwyQkFBMkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsV0FBVyw2REFBUztBQUNwQjtBQUNBLHNCQUFzQiwyQkFBMkI7QUFDakQsNEJBQTRCLGlCQUFpQjtBQUM3QyxzQ0FBc0Msb0JBQW9CO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdGQUFtQjtBQUM5QjtBQUNBLG9CQUFvQixxQkFBcUI7QUFDekMsNEJBQTRCLHlEQUFLLGNBQWMsb0JBQW9CO0FBQ25FLFdBQVcsNkRBQVM7QUFDcEI7QUFDQSxzQkFBc0IscUJBQXFCO0FBQzNDO0FBQ0EsZ0RBQWdELG9CQUFvQjtBQUNwRTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsS0FBSyxHQUFHO0FBQzdCLG9CQUFvQixlQUFlLFFBQVEsR0FBRyxFQUFFLEtBQUs7QUFDckQsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxtQ0FBbUM7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsZ0NBQWdDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwyQkFBMkI7QUFDbEQ7QUFDQTtBQUNBLGNBQWMsaUJBQWlCO0FBQy9CLFlBQVksNkRBQVMsY0FBYyx1Q0FBdUM7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIseUJBQXlCO0FBQzlDLGtCQUFrQixpQkFBaUIsRUFBRSw2REFBUztBQUM5QztBQUNBO0FBQ0Esa0JBQWtCLGlCQUFpQixFQUFFLDZEQUFTLENBQUMseURBQUs7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxjQUFjLGlCQUFpQjtBQUMvQixZQUFZLDZEQUFTLENBQUMsZ0ZBQW1CO0FBQ3pDO0FBQ0E7QUFDQSxjQUFjLE1BQU07QUFDcEI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvaGFzaFR5cGVkRGF0YS5qcz85NmJmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcGxlbWVudGF0aW9uIGZvcmtlZCBhbmQgYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9NZXRhTWFzay9ldGgtc2lnLXV0aWwvYmxvYi9tYWluL3NyYy9zaWduLXR5cGVkLWRhdGEudHNcbmltcG9ydCB7IGVuY29kZUFiaVBhcmFtZXRlcnMgfSBmcm9tICcuLi9hYmkvZW5jb2RlQWJpUGFyYW1ldGVycy5qcyc7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuLi9kYXRhL2NvbmNhdC5qcyc7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gJy4uL2VuY29kaW5nL3RvSGV4LmpzJztcbmltcG9ydCB7IGtlY2NhazI1NiB9IGZyb20gJy4uL2hhc2gva2VjY2FrMjU2LmpzJztcbmltcG9ydCB7IHZhbGlkYXRlVHlwZWREYXRhIH0gZnJvbSAnLi4vdHlwZWREYXRhLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBoYXNoVHlwZWREYXRhKHsgZG9tYWluOiBkb21haW5fLCBtZXNzYWdlLCBwcmltYXJ5VHlwZSwgdHlwZXM6IHR5cGVzXywgfSkge1xuICAgIGNvbnN0IGRvbWFpbiA9IHR5cGVvZiBkb21haW5fID09PSAndW5kZWZpbmVkJyA/IHt9IDogZG9tYWluXztcbiAgICBjb25zdCB0eXBlcyA9IHtcbiAgICAgICAgRUlQNzEyRG9tYWluOiBbXG4gICAgICAgICAgICB0eXBlb2YgZG9tYWluPy5uYW1lID09PSAnc3RyaW5nJyAmJiB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgIGRvbWFpbj8udmVyc2lvbiAmJiB7IG5hbWU6ICd2ZXJzaW9uJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgIHR5cGVvZiBkb21haW4/LmNoYWluSWQgPT09ICdudW1iZXInICYmIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnY2hhaW5JZCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3VpbnQyNTYnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRvbWFpbj8udmVyaWZ5aW5nQ29udHJhY3QgJiYge1xuICAgICAgICAgICAgICAgIG5hbWU6ICd2ZXJpZnlpbmdDb250cmFjdCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRvbWFpbj8uc2FsdCAmJiB7IG5hbWU6ICdzYWx0JywgdHlwZTogJ2J5dGVzMzInIH0sXG4gICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAuLi50eXBlc18sXG4gICAgfTtcbiAgICAvLyBOZWVkIHRvIGRvIGEgcnVudGltZSB2YWxpZGF0aW9uIGNoZWNrIG9uIGFkZHJlc3NlcywgYnl0ZSByYW5nZXMsIGludGVnZXIgcmFuZ2VzLCBldGNcbiAgICAvLyBhcyB3ZSBjYW4ndCBzdGF0aWNhbGx5IGNoZWNrIHRoaXMgd2l0aCBUeXBlU2NyaXB0LlxuICAgIHZhbGlkYXRlVHlwZWREYXRhKHtcbiAgICAgICAgZG9tYWluLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBwcmltYXJ5VHlwZSxcbiAgICAgICAgdHlwZXMsXG4gICAgfSk7XG4gICAgY29uc3QgcGFydHMgPSBbJzB4MTkwMSddO1xuICAgIGlmIChkb21haW4pXG4gICAgICAgIHBhcnRzLnB1c2goaGFzaERvbWFpbih7XG4gICAgICAgICAgICBkb21haW4sXG4gICAgICAgICAgICB0eXBlczogdHlwZXMsXG4gICAgICAgIH0pKTtcbiAgICBpZiAocHJpbWFyeVR5cGUgIT09ICdFSVA3MTJEb21haW4nKSB7XG4gICAgICAgIHBhcnRzLnB1c2goaGFzaFN0cnVjdCh7XG4gICAgICAgICAgICBkYXRhOiBtZXNzYWdlLFxuICAgICAgICAgICAgcHJpbWFyeVR5cGU6IHByaW1hcnlUeXBlLFxuICAgICAgICAgICAgdHlwZXM6IHR5cGVzLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBrZWNjYWsyNTYoY29uY2F0KHBhcnRzKSk7XG59XG5mdW5jdGlvbiBoYXNoRG9tYWluKHsgZG9tYWluLCB0eXBlcywgfSkge1xuICAgIHJldHVybiBoYXNoU3RydWN0KHtcbiAgICAgICAgZGF0YTogZG9tYWluLFxuICAgICAgICBwcmltYXJ5VHlwZTogJ0VJUDcxMkRvbWFpbicsXG4gICAgICAgIHR5cGVzLFxuICAgIH0pO1xufVxuZnVuY3Rpb24gaGFzaFN0cnVjdCh7IGRhdGEsIHByaW1hcnlUeXBlLCB0eXBlcywgfSkge1xuICAgIGNvbnN0IGVuY29kZWQgPSBlbmNvZGVEYXRhKHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgcHJpbWFyeVR5cGUsXG4gICAgICAgIHR5cGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBrZWNjYWsyNTYoZW5jb2RlZCk7XG59XG5mdW5jdGlvbiBlbmNvZGVEYXRhKHsgZGF0YSwgcHJpbWFyeVR5cGUsIHR5cGVzLCB9KSB7XG4gICAgY29uc3QgZW5jb2RlZFR5cGVzID0gW3sgdHlwZTogJ2J5dGVzMzInIH1dO1xuICAgIGNvbnN0IGVuY29kZWRWYWx1ZXMgPSBbaGFzaFR5cGUoeyBwcmltYXJ5VHlwZSwgdHlwZXMgfSldO1xuICAgIGZvciAoY29uc3QgZmllbGQgb2YgdHlwZXNbcHJpbWFyeVR5cGVdKSB7XG4gICAgICAgIGNvbnN0IFt0eXBlLCB2YWx1ZV0gPSBlbmNvZGVGaWVsZCh7XG4gICAgICAgICAgICB0eXBlcyxcbiAgICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgICAgdmFsdWU6IGRhdGFbZmllbGQubmFtZV0sXG4gICAgICAgIH0pO1xuICAgICAgICBlbmNvZGVkVHlwZXMucHVzaCh0eXBlKTtcbiAgICAgICAgZW5jb2RlZFZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGVuY29kZUFiaVBhcmFtZXRlcnMoZW5jb2RlZFR5cGVzLCBlbmNvZGVkVmFsdWVzKTtcbn1cbmZ1bmN0aW9uIGhhc2hUeXBlKHsgcHJpbWFyeVR5cGUsIHR5cGVzLCB9KSB7XG4gICAgY29uc3QgZW5jb2RlZEhhc2hUeXBlID0gdG9IZXgoZW5jb2RlVHlwZSh7IHByaW1hcnlUeXBlLCB0eXBlcyB9KSk7XG4gICAgcmV0dXJuIGtlY2NhazI1NihlbmNvZGVkSGFzaFR5cGUpO1xufVxuZnVuY3Rpb24gZW5jb2RlVHlwZSh7IHByaW1hcnlUeXBlLCB0eXBlcywgfSkge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBjb25zdCB1bnNvcnRlZERlcHMgPSBmaW5kVHlwZURlcGVuZGVuY2llcyh7IHByaW1hcnlUeXBlLCB0eXBlcyB9KTtcbiAgICB1bnNvcnRlZERlcHMuZGVsZXRlKHByaW1hcnlUeXBlKTtcbiAgICBjb25zdCBkZXBzID0gW3ByaW1hcnlUeXBlLCAuLi5BcnJheS5mcm9tKHVuc29ydGVkRGVwcykuc29ydCgpXTtcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgZGVwcykge1xuICAgICAgICByZXN1bHQgKz0gYCR7dHlwZX0oJHt0eXBlc1t0eXBlXVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlOiB0IH0pID0+IGAke3R9ICR7bmFtZX1gKVxuICAgICAgICAgICAgLmpvaW4oJywnKX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGZpbmRUeXBlRGVwZW5kZW5jaWVzKHsgcHJpbWFyeVR5cGU6IHByaW1hcnlUeXBlXywgdHlwZXMsIH0sIHJlc3VsdHMgPSBuZXcgU2V0KCkpIHtcbiAgICBjb25zdCBtYXRjaCA9IHByaW1hcnlUeXBlXy5tYXRjaCgvXlxcdyovdSk7XG4gICAgY29uc3QgcHJpbWFyeVR5cGUgPSBtYXRjaD8uWzBdO1xuICAgIGlmIChyZXN1bHRzLmhhcyhwcmltYXJ5VHlwZSkgfHwgdHlwZXNbcHJpbWFyeVR5cGVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuICAgIHJlc3VsdHMuYWRkKHByaW1hcnlUeXBlKTtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHR5cGVzW3ByaW1hcnlUeXBlXSkge1xuICAgICAgICBmaW5kVHlwZURlcGVuZGVuY2llcyh7IHByaW1hcnlUeXBlOiBmaWVsZC50eXBlLCB0eXBlcyB9LCByZXN1bHRzKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG59XG5mdW5jdGlvbiBlbmNvZGVGaWVsZCh7IHR5cGVzLCBuYW1lLCB0eXBlLCB2YWx1ZSwgfSkge1xuICAgIGlmICh0eXBlc1t0eXBlXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IHR5cGU6ICdieXRlczMyJyB9LFxuICAgICAgICAgICAga2VjY2FrMjU2KGVuY29kZURhdGEoeyBkYXRhOiB2YWx1ZSwgcHJpbWFyeVR5cGU6IHR5cGUsIHR5cGVzIH0pKSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdieXRlcycpIHtcbiAgICAgICAgY29uc3QgcHJlcGVuZCA9IHZhbHVlLmxlbmd0aCAlIDIgPyAnMCcgOiAnJztcbiAgICAgICAgdmFsdWUgPSBgMHgke3ByZXBlbmQgKyB2YWx1ZS5zbGljZSgyKX1gO1xuICAgICAgICByZXR1cm4gW3sgdHlwZTogJ2J5dGVzMzInIH0sIGtlY2NhazI1Nih2YWx1ZSldO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiBbeyB0eXBlOiAnYnl0ZXMzMicgfSwga2VjY2FrMjU2KHRvSGV4KHZhbHVlKSldO1xuICAgIGlmICh0eXBlLmxhc3RJbmRleE9mKCddJykgPT09IHR5cGUubGVuZ3RoIC0gMSkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdHlwZS5zbGljZSgwLCB0eXBlLmxhc3RJbmRleE9mKCdbJykpO1xuICAgICAgICBjb25zdCB0eXBlVmFsdWVQYWlycyA9IHZhbHVlLm1hcCgoaXRlbSkgPT4gZW5jb2RlRmllbGQoe1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHR5cGU6IHBhcnNlZFR5cGUsXG4gICAgICAgICAgICB0eXBlcyxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IHR5cGU6ICdieXRlczMyJyB9LFxuICAgICAgICAgICAga2VjY2FrMjU2KGVuY29kZUFiaVBhcmFtZXRlcnModHlwZVZhbHVlUGFpcnMubWFwKChbdF0pID0+IHQpLCB0eXBlVmFsdWVQYWlycy5tYXAoKFssIHZdKSA9PiB2KSkpLFxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gW3sgdHlwZSB9LCB2YWx1ZV07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYXNoVHlwZWREYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/hashTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/recoverAddress.js": -/*!**********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/recoverAddress.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ recoverAddress: function() { return /* binding */ recoverAddress; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_publicKeyToAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../accounts/utils/publicKeyToAddress.js */ \"./node_modules/viem/dist/esm/accounts/utils/publicKeyToAddress.js\");\n/* harmony import */ var _recoverPublicKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recoverPublicKey.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js\");\n\n\nasync function recoverAddress({ hash, signature, }) {\n return (0,_accounts_utils_publicKeyToAddress_js__WEBPACK_IMPORTED_MODULE_0__.publicKeyToAddress)(await (0,_recoverPublicKey_js__WEBPACK_IMPORTED_MODULE_1__.recoverPublicKey)({ hash: hash, signature }));\n}\n//# sourceMappingURL=recoverAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3ZlckFkZHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdGO0FBQ3ZCO0FBQ2xELGdDQUFnQyxrQkFBa0I7QUFDekQsV0FBVyx5RkFBa0IsT0FBTyxzRUFBZ0IsR0FBRyx1QkFBdUI7QUFDOUU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3ZlckFkZHJlc3MuanM/NzFiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwdWJsaWNLZXlUb0FkZHJlc3MgfSBmcm9tICcuLi8uLi9hY2NvdW50cy91dGlscy9wdWJsaWNLZXlUb0FkZHJlc3MuanMnO1xuaW1wb3J0IHsgcmVjb3ZlclB1YmxpY0tleSB9IGZyb20gJy4vcmVjb3ZlclB1YmxpY0tleS5qcyc7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVjb3ZlckFkZHJlc3MoeyBoYXNoLCBzaWduYXR1cmUsIH0pIHtcbiAgICByZXR1cm4gcHVibGljS2V5VG9BZGRyZXNzKGF3YWl0IHJlY292ZXJQdWJsaWNLZXkoeyBoYXNoOiBoYXNoLCBzaWduYXR1cmUgfSkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjb3ZlckFkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/recoverAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/recoverMessageAddress.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/recoverMessageAddress.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ recoverMessageAddress: function() { return /* binding */ recoverMessageAddress; }\n/* harmony export */ });\n/* harmony import */ var _hashMessage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hashMessage.js */ \"./node_modules/viem/dist/esm/utils/signature/hashMessage.js\");\n/* harmony import */ var _recoverAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./recoverAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverAddress.js\");\n\n\nasync function recoverMessageAddress({ message, signature, }) {\n return (0,_recoverAddress_js__WEBPACK_IMPORTED_MODULE_0__.recoverAddress)({ hash: (0,_hashMessage_js__WEBPACK_IMPORTED_MODULE_1__.hashMessage)(message), signature });\n}\n//# sourceMappingURL=recoverMessageAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3Zlck1lc3NhZ2VBZGRyZXNzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUErQztBQUNNO0FBQzlDLHVDQUF1QyxxQkFBcUI7QUFDbkUsV0FBVyxrRUFBYyxHQUFHLE1BQU0sNERBQVcsc0JBQXNCO0FBQ25FO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvc2lnbmF0dXJlL3JlY292ZXJNZXNzYWdlQWRkcmVzcy5qcz80ZDMwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc2hNZXNzYWdlIH0gZnJvbSAnLi9oYXNoTWVzc2FnZS5qcyc7XG5pbXBvcnQgeyByZWNvdmVyQWRkcmVzcyB9IGZyb20gJy4vcmVjb3ZlckFkZHJlc3MuanMnO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlY292ZXJNZXNzYWdlQWRkcmVzcyh7IG1lc3NhZ2UsIHNpZ25hdHVyZSwgfSkge1xuICAgIHJldHVybiByZWNvdmVyQWRkcmVzcyh7IGhhc2g6IGhhc2hNZXNzYWdlKG1lc3NhZ2UpLCBzaWduYXR1cmUgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWNvdmVyTWVzc2FnZUFkZHJlc3MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/recoverMessageAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ recoverPublicKey: function() { return /* binding */ recoverPublicKey; }\n/* harmony export */ });\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n\n\n\nasync function recoverPublicKey({ hash, signature, }) {\n const signatureHex = (0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(signature) ? signature : (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__.toHex)(signature);\n const hashHex = (0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_0__.isHex)(hash) ? hash : (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__.toHex)(hash);\n // Derive v = recoveryId + 27 from end of the signature (27 is added when signing the message)\n // The recoveryId represents the y-coordinate on the secp256k1 elliptic curve and can have a value [0, 1].\n let v = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_2__.hexToNumber)(`0x${signatureHex.slice(130)}`);\n if (v === 0 || v === 1)\n v += 27;\n const { secp256k1 } = await __webpack_require__.e(/*! import() */ \"node_modules_noble_curves_esm_secp256k1_js\").then(__webpack_require__.bind(__webpack_require__, /*! @noble/curves/secp256k1 */ \"./node_modules/@noble/curves/esm/secp256k1.js\"));\n const publicKey = secp256k1.Signature.fromCompact(signatureHex.substring(2, 130))\n .addRecoveryBit(v - 27)\n .recoverPublicKey(hashHex.substring(2))\n .toHex(false);\n return `0x${publicKey}`;\n}\n//# sourceMappingURL=recoverPublicKey.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3ZlclB1YmxpY0tleS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXlDO0FBQ1k7QUFDUjtBQUN0QyxrQ0FBa0Msa0JBQWtCO0FBQzNELHlCQUF5QixxREFBSywwQkFBMEIseURBQUs7QUFDN0Qsb0JBQW9CLHFEQUFLLGdCQUFnQix5REFBSztBQUM5QztBQUNBO0FBQ0EsWUFBWSxpRUFBVyxNQUFNLHdCQUF3QjtBQUNyRDtBQUNBO0FBQ0EsWUFBWSxZQUFZLFFBQVEsdU5BQWlDO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFVBQVU7QUFDMUI7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3ZlclB1YmxpY0tleS5qcz82NWUwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzSGV4IH0gZnJvbSAnLi4vZGF0YS9pc0hleC5qcyc7XG5pbXBvcnQgeyBoZXhUb051bWJlciB9IGZyb20gJy4uL2VuY29kaW5nL2Zyb21IZXguanMnO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tICcuLi9lbmNvZGluZy90b0hleC5qcyc7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVjb3ZlclB1YmxpY0tleSh7IGhhc2gsIHNpZ25hdHVyZSwgfSkge1xuICAgIGNvbnN0IHNpZ25hdHVyZUhleCA9IGlzSGV4KHNpZ25hdHVyZSkgPyBzaWduYXR1cmUgOiB0b0hleChzaWduYXR1cmUpO1xuICAgIGNvbnN0IGhhc2hIZXggPSBpc0hleChoYXNoKSA/IGhhc2ggOiB0b0hleChoYXNoKTtcbiAgICAvLyBEZXJpdmUgdiA9IHJlY292ZXJ5SWQgKyAyNyBmcm9tIGVuZCBvZiB0aGUgc2lnbmF0dXJlICgyNyBpcyBhZGRlZCB3aGVuIHNpZ25pbmcgdGhlIG1lc3NhZ2UpXG4gICAgLy8gVGhlIHJlY292ZXJ5SWQgcmVwcmVzZW50cyB0aGUgeS1jb29yZGluYXRlIG9uIHRoZSBzZWNwMjU2azEgZWxsaXB0aWMgY3VydmUgYW5kIGNhbiBoYXZlIGEgdmFsdWUgWzAsIDFdLlxuICAgIGxldCB2ID0gaGV4VG9OdW1iZXIoYDB4JHtzaWduYXR1cmVIZXguc2xpY2UoMTMwKX1gKTtcbiAgICBpZiAodiA9PT0gMCB8fCB2ID09PSAxKVxuICAgICAgICB2ICs9IDI3O1xuICAgIGNvbnN0IHsgc2VjcDI1NmsxIH0gPSBhd2FpdCBpbXBvcnQoJ0Bub2JsZS9jdXJ2ZXMvc2VjcDI1NmsxJyk7XG4gICAgY29uc3QgcHVibGljS2V5ID0gc2VjcDI1NmsxLlNpZ25hdHVyZS5mcm9tQ29tcGFjdChzaWduYXR1cmVIZXguc3Vic3RyaW5nKDIsIDEzMCkpXG4gICAgICAgIC5hZGRSZWNvdmVyeUJpdCh2IC0gMjcpXG4gICAgICAgIC5yZWNvdmVyUHVibGljS2V5KGhhc2hIZXguc3Vic3RyaW5nKDIpKVxuICAgICAgICAudG9IZXgoZmFsc2UpO1xuICAgIHJldHVybiBgMHgke3B1YmxpY0tleX1gO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjb3ZlclB1YmxpY0tleS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/recoverPublicKey.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/recoverTypedDataAddress.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/recoverTypedDataAddress.js ***! - \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ recoverTypedDataAddress: function() { return /* binding */ recoverTypedDataAddress; }\n/* harmony export */ });\n/* harmony import */ var _hashTypedData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hashTypedData.js */ \"./node_modules/viem/dist/esm/utils/signature/hashTypedData.js\");\n/* harmony import */ var _recoverAddress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./recoverAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverAddress.js\");\n\n\nasync function recoverTypedDataAddress({ domain, message, primaryType, signature, types, }) {\n return (0,_recoverAddress_js__WEBPACK_IMPORTED_MODULE_0__.recoverAddress)({\n hash: (0,_hashTypedData_js__WEBPACK_IMPORTED_MODULE_1__.hashTypedData)({\n domain,\n message,\n primaryType,\n types,\n }),\n signature,\n });\n}\n//# sourceMappingURL=recoverTypedDataAddress.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW1EO0FBQ0U7QUFDOUMseUNBQXlDLGlEQUFpRDtBQUNqRyxXQUFXLGtFQUFjO0FBQ3pCLGNBQWMsZ0VBQWE7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MuanM/YzUyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYXNoVHlwZWREYXRhIH0gZnJvbSAnLi9oYXNoVHlwZWREYXRhLmpzJztcbmltcG9ydCB7IHJlY292ZXJBZGRyZXNzIH0gZnJvbSAnLi9yZWNvdmVyQWRkcmVzcy5qcyc7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVjb3ZlclR5cGVkRGF0YUFkZHJlc3MoeyBkb21haW4sIG1lc3NhZ2UsIHByaW1hcnlUeXBlLCBzaWduYXR1cmUsIHR5cGVzLCB9KSB7XG4gICAgcmV0dXJuIHJlY292ZXJBZGRyZXNzKHtcbiAgICAgICAgaGFzaDogaGFzaFR5cGVkRGF0YSh7XG4gICAgICAgICAgICBkb21haW4sXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgcHJpbWFyeVR5cGUsXG4gICAgICAgICAgICB0eXBlcyxcbiAgICAgICAgfSksXG4gICAgICAgIHNpZ25hdHVyZSxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlY292ZXJUeXBlZERhdGFBZGRyZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/recoverTypedDataAddress.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/verifyMessage.js": -/*!*********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/verifyMessage.js ***! - \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ verifyMessage: function() { return /* binding */ verifyMessage; }\n/* harmony export */ });\n/* harmony import */ var _address_getAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n/* harmony import */ var _address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../address/isAddressEqual.js */ \"./node_modules/viem/dist/esm/utils/address/isAddressEqual.js\");\n/* harmony import */ var _recoverMessageAddress_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./recoverMessageAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverMessageAddress.js\");\n\n\n\n/**\n * Verify that a message was signed by the provided address.\n *\n * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.\n * It is highly recommended to use `publicClient.verifyMessage` instead to ensure\n * wallet interoperability.\n *\n * - Docs {@link https://viem.sh/docs/utilities/verifyMessage.html}\n *\n * @param parameters - {@link VerifyMessageParameters}\n * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}\n */\nasync function verifyMessage({ address, message, signature, }) {\n return (0,_address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_0__.isAddressEqual)((0,_address_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.getAddress)(address), await (0,_recoverMessageAddress_js__WEBPACK_IMPORTED_MODULE_2__.recoverMessageAddress)({ message, signature }));\n}\n//# sourceMappingURL=verifyMessage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvdmVyaWZ5TWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXNEO0FBQ1E7QUFDSztBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLHdCQUF3QjtBQUN4QixvREFBb0Q7QUFDcEQ7QUFDTywrQkFBK0IsOEJBQThCO0FBQ3BFLFdBQVcsMEVBQWMsQ0FBQyxrRUFBVSxpQkFBaUIsZ0ZBQXFCLEdBQUcsb0JBQW9CO0FBQ2pHO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvc2lnbmF0dXJlL3ZlcmlmeU1lc3NhZ2UuanM/ZDE2NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcy9nZXRBZGRyZXNzLmpzJztcbmltcG9ydCB7IGlzQWRkcmVzc0VxdWFsIH0gZnJvbSAnLi4vYWRkcmVzcy9pc0FkZHJlc3NFcXVhbC5qcyc7XG5pbXBvcnQgeyByZWNvdmVyTWVzc2FnZUFkZHJlc3MgfSBmcm9tICcuL3JlY292ZXJNZXNzYWdlQWRkcmVzcy5qcyc7XG4vKipcbiAqIFZlcmlmeSB0aGF0IGEgbWVzc2FnZSB3YXMgc2lnbmVkIGJ5IHRoZSBwcm92aWRlZCBhZGRyZXNzLlxuICpcbiAqIE5vdGU6ICBPbmx5IHN1cHBvcnRzIEV4dGVybmFsbHkgT3duZWQgQWNjb3VudHMuIERvZXMgbm90IHN1cHBvcnQgQ29udHJhY3QgQWNjb3VudHMuXG4gKiAgICAgICAgSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRvIHVzZSBgcHVibGljQ2xpZW50LnZlcmlmeU1lc3NhZ2VgIGluc3RlYWQgdG8gZW5zdXJlXG4gKiAgICAgICAgd2FsbGV0IGludGVyb3BlcmFiaWxpdHkuXG4gKlxuICogLSBEb2NzIHtAbGluayBodHRwczovL3ZpZW0uc2gvZG9jcy91dGlsaXRpZXMvdmVyaWZ5TWVzc2FnZS5odG1sfVxuICpcbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0ge0BsaW5rIFZlcmlmeU1lc3NhZ2VQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgV2hldGhlciBvciBub3QgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZC4ge0BsaW5rIFZlcmlmeU1lc3NhZ2VSZXR1cm5UeXBlfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5TWVzc2FnZSh7IGFkZHJlc3MsIG1lc3NhZ2UsIHNpZ25hdHVyZSwgfSkge1xuICAgIHJldHVybiBpc0FkZHJlc3NFcXVhbChnZXRBZGRyZXNzKGFkZHJlc3MpLCBhd2FpdCByZWNvdmVyTWVzc2FnZUFkZHJlc3MoeyBtZXNzYWdlLCBzaWduYXR1cmUgfSkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVyaWZ5TWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/verifyMessage.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/signature/verifyTypedData.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/signature/verifyTypedData.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ verifyTypedData: function() { return /* binding */ verifyTypedData; }\n/* harmony export */ });\n/* harmony import */ var _address_getAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../address/getAddress.js */ \"./node_modules/viem/dist/esm/utils/address/getAddress.js\");\n/* harmony import */ var _address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../address/isAddressEqual.js */ \"./node_modules/viem/dist/esm/utils/address/isAddressEqual.js\");\n/* harmony import */ var _recoverTypedDataAddress_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./recoverTypedDataAddress.js */ \"./node_modules/viem/dist/esm/utils/signature/recoverTypedDataAddress.js\");\n\n\n\n/**\n * Verify that typed data was signed by the provided address.\n *\n * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.\n * It is highly recommended to use `publicClient.verifyTypedData` instead to ensure\n * wallet interoperability.\n *\n * - Docs {@link https://viem.sh/docs/utilities/verifyTypedData.html}\n *\n * @param parameters - {@link VerifyTypedDataParameters}\n * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}\n */\nasync function verifyTypedData({ address, domain, message, primaryType, signature, types, }) {\n return (0,_address_isAddressEqual_js__WEBPACK_IMPORTED_MODULE_0__.isAddressEqual)((0,_address_getAddress_js__WEBPACK_IMPORTED_MODULE_1__.getAddress)(address), await (0,_recoverTypedDataAddress_js__WEBPACK_IMPORTED_MODULE_2__.recoverTypedDataAddress)({\n domain,\n message,\n primaryType,\n signature,\n types,\n }));\n}\n//# sourceMappingURL=verifyTypedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zaWduYXR1cmUvdmVyaWZ5VHlwZWREYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBc0Q7QUFDUTtBQUNVO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0Esd0JBQXdCO0FBQ3hCLG9EQUFvRDtBQUNwRDtBQUNPLGlDQUFpQywwREFBMEQ7QUFDbEcsV0FBVywwRUFBYyxDQUFDLGtFQUFVLGlCQUFpQixvRkFBdUI7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3NpZ25hdHVyZS92ZXJpZnlUeXBlZERhdGEuanM/OGRkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcy9nZXRBZGRyZXNzLmpzJztcbmltcG9ydCB7IGlzQWRkcmVzc0VxdWFsIH0gZnJvbSAnLi4vYWRkcmVzcy9pc0FkZHJlc3NFcXVhbC5qcyc7XG5pbXBvcnQgeyByZWNvdmVyVHlwZWREYXRhQWRkcmVzcywgfSBmcm9tICcuL3JlY292ZXJUeXBlZERhdGFBZGRyZXNzLmpzJztcbi8qKlxuICogVmVyaWZ5IHRoYXQgdHlwZWQgZGF0YSB3YXMgc2lnbmVkIGJ5IHRoZSBwcm92aWRlZCBhZGRyZXNzLlxuICpcbiAqIE5vdGU6ICBPbmx5IHN1cHBvcnRzIEV4dGVybmFsbHkgT3duZWQgQWNjb3VudHMuIERvZXMgbm90IHN1cHBvcnQgQ29udHJhY3QgQWNjb3VudHMuXG4gKiAgICAgICAgSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRvIHVzZSBgcHVibGljQ2xpZW50LnZlcmlmeVR5cGVkRGF0YWAgaW5zdGVhZCB0byBlbnN1cmVcbiAqICAgICAgICB3YWxsZXQgaW50ZXJvcGVyYWJpbGl0eS5cbiAqXG4gKiAtIERvY3Mge0BsaW5rIGh0dHBzOi8vdmllbS5zaC9kb2NzL3V0aWxpdGllcy92ZXJpZnlUeXBlZERhdGEuaHRtbH1cbiAqXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIHtAbGluayBWZXJpZnlUeXBlZERhdGFQYXJhbWV0ZXJzfVxuICogQHJldHVybnMgV2hldGhlciBvciBub3QgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZC4ge0BsaW5rIFZlcmlmeVR5cGVkRGF0YVJldHVyblR5cGV9XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlUeXBlZERhdGEoeyBhZGRyZXNzLCBkb21haW4sIG1lc3NhZ2UsIHByaW1hcnlUeXBlLCBzaWduYXR1cmUsIHR5cGVzLCB9KSB7XG4gICAgcmV0dXJuIGlzQWRkcmVzc0VxdWFsKGdldEFkZHJlc3MoYWRkcmVzcyksIGF3YWl0IHJlY292ZXJUeXBlZERhdGFBZGRyZXNzKHtcbiAgICAgICAgZG9tYWluLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBwcmltYXJ5VHlwZSxcbiAgICAgICAgc2lnbmF0dXJlLFxuICAgICAgICB0eXBlcyxcbiAgICB9KSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJpZnlUeXBlZERhdGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/signature/verifyTypedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/stringify.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/stringify.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ stringify: function() { return /* binding */ stringify; }\n/* harmony export */ });\nconst stringify = (value, replacer, space) => JSON.stringify(value, (key, value_) => {\n const value = typeof value_ === 'bigint' ? value_.toString() : value_;\n return typeof replacer === 'function' ? replacer(key, value) : value;\n}, space);\n//# sourceMappingURL=stringify.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zdHJpbmdpZnkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUM7QUFDRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy9zdHJpbmdpZnkuanM/MjFlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc3RyaW5naWZ5ID0gKHZhbHVlLCByZXBsYWNlciwgc3BhY2UpID0+IEpTT04uc3RyaW5naWZ5KHZhbHVlLCAoa2V5LCB2YWx1ZV8pID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHR5cGVvZiB2YWx1ZV8gPT09ICdiaWdpbnQnID8gdmFsdWVfLnRvU3RyaW5nKCkgOiB2YWx1ZV87XG4gICAgcmV0dXJuIHR5cGVvZiByZXBsYWNlciA9PT0gJ2Z1bmN0aW9uJyA/IHJlcGxhY2VyKGtleSwgdmFsdWUpIDogdmFsdWU7XG59LCBzcGFjZSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHJpbmdpZnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/stringify.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/assertRequest.js": -/*!***********************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/assertRequest.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertRequest: function() { return /* binding */ assertRequest; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _errors_node_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../errors/node.js */ \"./node_modules/viem/dist/esm/errors/node.js\");\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n\n\n\n\n\nfunction assertRequest(args) {\n const { account: account_, gasPrice, maxFeePerGas, maxPriorityFeePerGas, to, } = args;\n const account = account_ ? (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_0__.parseAccount)(account_) : undefined;\n if (account && !(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__.isAddress)(account.address))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddressError({ address: account.address });\n if (to && !(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__.isAddress)(to))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddressError({ address: to });\n if (typeof gasPrice !== 'undefined' &&\n (typeof maxFeePerGas !== 'undefined' ||\n typeof maxPriorityFeePerGas !== 'undefined'))\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_3__.FeeConflictError();\n if (maxFeePerGas && maxFeePerGas > 2n ** 256n - 1n)\n throw new _errors_node_js__WEBPACK_IMPORTED_MODULE_4__.FeeCapTooHighError({ maxFeePerGas });\n if (maxPriorityFeePerGas &&\n maxFeePerGas &&\n maxPriorityFeePerGas > maxFeePerGas)\n throw new _errors_node_js__WEBPACK_IMPORTED_MODULE_4__.TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\n//# sourceMappingURL=assertRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRSZXF1ZXN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFvRTtBQUNOO0FBQ2lCO0FBQ2hCO0FBQ1g7QUFDN0M7QUFDUCxZQUFZLHVFQUF1RTtBQUNuRiwrQkFBK0IsNkVBQVk7QUFDM0Msb0JBQW9CLGdFQUFTO0FBQzdCLGtCQUFrQixtRUFBbUIsR0FBRywwQkFBMEI7QUFDbEUsZUFBZSxnRUFBUztBQUN4QixrQkFBa0IsbUVBQW1CLEdBQUcsYUFBYTtBQUNyRDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isb0VBQWdCO0FBQ2xDO0FBQ0Esa0JBQWtCLCtEQUFrQixHQUFHLGNBQWM7QUFDckQ7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGdFQUFtQixHQUFHLG9DQUFvQztBQUM1RTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3RyYW5zYWN0aW9uL2Fzc2VydFJlcXVlc3QuanM/YTRjMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFjY291bnQgfSBmcm9tICcuLi8uLi9hY2NvdW50cy91dGlscy9wYXJzZUFjY291bnQuanMnO1xuaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hZGRyZXNzLmpzJztcbmltcG9ydCB7IEZlZUNhcFRvb0hpZ2hFcnJvciwgVGlwQWJvdmVGZWVDYXBFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9ub2RlLmpzJztcbmltcG9ydCB7IEZlZUNvbmZsaWN0RXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvdHJhbnNhY3Rpb24uanMnO1xuaW1wb3J0IHsgaXNBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcy9pc0FkZHJlc3MuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFJlcXVlc3QoYXJncykge1xuICAgIGNvbnN0IHsgYWNjb3VudDogYWNjb3VudF8sIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCB0bywgfSA9IGFyZ3M7XG4gICAgY29uc3QgYWNjb3VudCA9IGFjY291bnRfID8gcGFyc2VBY2NvdW50KGFjY291bnRfKSA6IHVuZGVmaW5lZDtcbiAgICBpZiAoYWNjb3VudCAmJiAhaXNBZGRyZXNzKGFjY291bnQuYWRkcmVzcykpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogYWNjb3VudC5hZGRyZXNzIH0pO1xuICAgIGlmICh0byAmJiAhaXNBZGRyZXNzKHRvKSlcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzOiB0byB9KTtcbiAgICBpZiAodHlwZW9mIGdhc1ByaWNlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAodHlwZW9mIG1heEZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgICAgICAgIHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcpKVxuICAgICAgICB0aHJvdyBuZXcgRmVlQ29uZmxpY3RFcnJvcigpO1xuICAgIGlmIChtYXhGZWVQZXJHYXMgJiYgbWF4RmVlUGVyR2FzID4gMm4gKiogMjU2biAtIDFuKVxuICAgICAgICB0aHJvdyBuZXcgRmVlQ2FwVG9vSGlnaEVycm9yKHsgbWF4RmVlUGVyR2FzIH0pO1xuICAgIGlmIChtYXhQcmlvcml0eUZlZVBlckdhcyAmJlxuICAgICAgICBtYXhGZWVQZXJHYXMgJiZcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMgPiBtYXhGZWVQZXJHYXMpXG4gICAgICAgIHRocm93IG5ldyBUaXBBYm92ZUZlZUNhcEVycm9yKHsgbWF4RmVlUGVyR2FzLCBtYXhQcmlvcml0eUZlZVBlckdhcyB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFzc2VydFJlcXVlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js": -/*!***************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertTransactionEIP1559: function() { return /* binding */ assertTransactionEIP1559; },\n/* harmony export */ assertTransactionEIP2930: function() { return /* binding */ assertTransactionEIP2930; },\n/* harmony export */ assertTransactionLegacy: function() { return /* binding */ assertTransactionLegacy; }\n/* harmony export */ });\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/chain.js */ \"./node_modules/viem/dist/esm/errors/chain.js\");\n/* harmony import */ var _errors_node_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../errors/node.js */ \"./node_modules/viem/dist/esm/errors/node.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n\n\n\n\n\nfunction assertTransactionEIP1559(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n if (chainId <= 0)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.InvalidChainIdError({ chainId });\n if (to && !(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__.isAddress)(to))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddressError({ address: to });\n if (gasPrice)\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_3__.BaseError('`gasPrice` is not a valid EIP-1559 Transaction attribute.');\n if (maxFeePerGas && maxFeePerGas > 2n ** 256n - 1n)\n throw new _errors_node_js__WEBPACK_IMPORTED_MODULE_4__.FeeCapTooHighError({ maxFeePerGas });\n if (maxPriorityFeePerGas &&\n maxFeePerGas &&\n maxPriorityFeePerGas > maxFeePerGas)\n throw new _errors_node_js__WEBPACK_IMPORTED_MODULE_4__.TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\nfunction assertTransactionEIP2930(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n if (chainId <= 0)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.InvalidChainIdError({ chainId });\n if (to && !(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__.isAddress)(to))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddressError({ address: to });\n if (maxPriorityFeePerGas || maxFeePerGas)\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_3__.BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.');\n if (gasPrice && gasPrice > 2n ** 256n - 1n)\n throw new _errors_node_js__WEBPACK_IMPORTED_MODULE_4__.FeeCapTooHighError({ maxFeePerGas: gasPrice });\n}\nfunction assertTransactionLegacy(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to, accessList, } = transaction;\n if (to && !(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__.isAddress)(to))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddressError({ address: to });\n if (typeof chainId !== 'undefined' && chainId <= 0)\n throw new _errors_chain_js__WEBPACK_IMPORTED_MODULE_0__.InvalidChainIdError({ chainId });\n if (maxPriorityFeePerGas || maxFeePerGas)\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_3__.BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.');\n if (gasPrice && gasPrice > 2n ** 256n - 1n)\n throw new _errors_node_js__WEBPACK_IMPORTED_MODULE_4__.FeeCapTooHighError({ maxFeePerGas: gasPrice });\n if (accessList)\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_3__.BaseError('`accessList` is not a valid Legacy Transaction attribute.');\n}\n//# sourceMappingURL=assertTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9hc3NlcnRUcmFuc2FjdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUE4RDtBQUNiO0FBQ1c7QUFDbUI7QUFDM0I7QUFDN0M7QUFDUCxZQUFZLDREQUE0RDtBQUN4RTtBQUNBLGtCQUFrQixpRUFBbUIsR0FBRyxTQUFTO0FBQ2pELGVBQWUsZ0VBQVM7QUFDeEIsa0JBQWtCLG1FQUFtQixHQUFHLGFBQWE7QUFDckQ7QUFDQSxrQkFBa0Isc0RBQVM7QUFDM0I7QUFDQSxrQkFBa0IsK0RBQWtCLEdBQUcsY0FBYztBQUNyRDtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0VBQW1CLEdBQUcsb0NBQW9DO0FBQzVFO0FBQ087QUFDUCxZQUFZLDREQUE0RDtBQUN4RTtBQUNBLGtCQUFrQixpRUFBbUIsR0FBRyxTQUFTO0FBQ2pELGVBQWUsZ0VBQVM7QUFDeEIsa0JBQWtCLG1FQUFtQixHQUFHLGFBQWE7QUFDckQ7QUFDQSxrQkFBa0Isc0RBQVM7QUFDM0I7QUFDQSxrQkFBa0IsK0RBQWtCLEdBQUcsd0JBQXdCO0FBQy9EO0FBQ087QUFDUCxZQUFZLHlFQUF5RTtBQUNyRixlQUFlLGdFQUFTO0FBQ3hCLGtCQUFrQixtRUFBbUIsR0FBRyxhQUFhO0FBQ3JEO0FBQ0Esa0JBQWtCLGlFQUFtQixHQUFHLFNBQVM7QUFDakQ7QUFDQSxrQkFBa0Isc0RBQVM7QUFDM0I7QUFDQSxrQkFBa0IsK0RBQWtCLEdBQUcsd0JBQXdCO0FBQy9EO0FBQ0Esa0JBQWtCLHNEQUFTO0FBQzNCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvdHJhbnNhY3Rpb24vYXNzZXJ0VHJhbnNhY3Rpb24uanM/M2I2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkQWRkcmVzc0Vycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FkZHJlc3MuanMnO1xuaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2Jhc2UuanMnO1xuaW1wb3J0IHsgSW52YWxpZENoYWluSWRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9jaGFpbi5qcyc7XG5pbXBvcnQgeyBGZWVDYXBUb29IaWdoRXJyb3IsIFRpcEFib3ZlRmVlQ2FwRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvbm9kZS5qcyc7XG5pbXBvcnQgeyBpc0FkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzL2lzQWRkcmVzcy5qcyc7XG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VHJhbnNhY3Rpb25FSVAxNTU5KHRyYW5zYWN0aW9uKSB7XG4gICAgY29uc3QgeyBjaGFpbklkLCBtYXhQcmlvcml0eUZlZVBlckdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgdG8gfSA9IHRyYW5zYWN0aW9uO1xuICAgIGlmIChjaGFpbklkIDw9IDApXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQ2hhaW5JZEVycm9yKHsgY2hhaW5JZCB9KTtcbiAgICBpZiAodG8gJiYgIWlzQWRkcmVzcyh0bykpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogdG8gfSk7XG4gICAgaWYgKGdhc1ByaWNlKVxuICAgICAgICB0aHJvdyBuZXcgQmFzZUVycm9yKCdgZ2FzUHJpY2VgIGlzIG5vdCBhIHZhbGlkIEVJUC0xNTU5IFRyYW5zYWN0aW9uIGF0dHJpYnV0ZS4nKTtcbiAgICBpZiAobWF4RmVlUGVyR2FzICYmIG1heEZlZVBlckdhcyA+IDJuICoqIDI1Nm4gLSAxbilcbiAgICAgICAgdGhyb3cgbmV3IEZlZUNhcFRvb0hpZ2hFcnJvcih7IG1heEZlZVBlckdhcyB9KTtcbiAgICBpZiAobWF4UHJpb3JpdHlGZWVQZXJHYXMgJiZcbiAgICAgICAgbWF4RmVlUGVyR2FzICYmXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzID4gbWF4RmVlUGVyR2FzKVxuICAgICAgICB0aHJvdyBuZXcgVGlwQWJvdmVGZWVDYXBFcnJvcih7IG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMgfSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwKHRyYW5zYWN0aW9uKSB7XG4gICAgY29uc3QgeyBjaGFpbklkLCBtYXhQcmlvcml0eUZlZVBlckdhcywgZ2FzUHJpY2UsIG1heEZlZVBlckdhcywgdG8gfSA9IHRyYW5zYWN0aW9uO1xuICAgIGlmIChjaGFpbklkIDw9IDApXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQ2hhaW5JZEVycm9yKHsgY2hhaW5JZCB9KTtcbiAgICBpZiAodG8gJiYgIWlzQWRkcmVzcyh0bykpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKHsgYWRkcmVzczogdG8gfSk7XG4gICAgaWYgKG1heFByaW9yaXR5RmVlUGVyR2FzIHx8IG1heEZlZVBlckdhcylcbiAgICAgICAgdGhyb3cgbmV3IEJhc2VFcnJvcignYG1heEZlZVBlckdhc2AvYG1heFByaW9yaXR5RmVlUGVyR2FzYCBpcyBub3QgYSB2YWxpZCBFSVAtMjkzMCBUcmFuc2FjdGlvbiBhdHRyaWJ1dGUuJyk7XG4gICAgaWYgKGdhc1ByaWNlICYmIGdhc1ByaWNlID4gMm4gKiogMjU2biAtIDFuKVxuICAgICAgICB0aHJvdyBuZXcgRmVlQ2FwVG9vSGlnaEVycm9yKHsgbWF4RmVlUGVyR2FzOiBnYXNQcmljZSB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSh0cmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHsgY2hhaW5JZCwgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIHRvLCBhY2Nlc3NMaXN0LCB9ID0gdHJhbnNhY3Rpb247XG4gICAgaWYgKHRvICYmICFpc0FkZHJlc3ModG8pKVxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcih7IGFkZHJlc3M6IHRvIH0pO1xuICAgIGlmICh0eXBlb2YgY2hhaW5JZCAhPT0gJ3VuZGVmaW5lZCcgJiYgY2hhaW5JZCA8PSAwKVxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENoYWluSWRFcnJvcih7IGNoYWluSWQgfSk7XG4gICAgaWYgKG1heFByaW9yaXR5RmVlUGVyR2FzIHx8IG1heEZlZVBlckdhcylcbiAgICAgICAgdGhyb3cgbmV3IEJhc2VFcnJvcignYG1heEZlZVBlckdhc2AvYG1heFByaW9yaXR5RmVlUGVyR2FzYCBpcyBub3QgYSB2YWxpZCBMZWdhY3kgVHJhbnNhY3Rpb24gYXR0cmlidXRlLicpO1xuICAgIGlmIChnYXNQcmljZSAmJiBnYXNQcmljZSA+IDJuICoqIDI1Nm4gLSAxbilcbiAgICAgICAgdGhyb3cgbmV3IEZlZUNhcFRvb0hpZ2hFcnJvcih7IG1heEZlZVBlckdhczogZ2FzUHJpY2UgfSk7XG4gICAgaWYgKGFjY2Vzc0xpc3QpXG4gICAgICAgIHRocm93IG5ldyBCYXNlRXJyb3IoJ2BhY2Nlc3NMaXN0YCBpcyBub3QgYSB2YWxpZCBMZWdhY3kgVHJhbnNhY3Rpb24gYXR0cmlidXRlLicpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXNzZXJ0VHJhbnNhY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/getSerializedTransactionType.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/getSerializedTransactionType.js ***! - \**************************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getSerializedTransactionType: function() { return /* binding */ getSerializedTransactionType; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _data_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../data/slice.js */ \"./node_modules/viem/dist/esm/utils/data/slice.js\");\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n\n\n\nfunction getSerializedTransactionType(serializedTransaction) {\n const serializedType = (0,_data_slice_js__WEBPACK_IMPORTED_MODULE_0__.sliceHex)(serializedTransaction, 0, 1);\n if (serializedType === '0x02')\n return 'eip1559';\n if (serializedType === '0x01')\n return 'eip2930';\n if (serializedType !== '0x' && (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_1__.hexToNumber)(serializedType) >= 0xc0)\n return 'legacy';\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__.InvalidSerializedTransactionTypeError({ serializedType });\n}\n//# sourceMappingURL=getSerializedTransactionType.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBb0Y7QUFDeEM7QUFDUztBQUM5QztBQUNQLDJCQUEyQix3REFBUTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxpRUFBVztBQUM5QztBQUNBLGNBQWMseUZBQXFDLEdBQUcsZ0JBQWdCO0FBQ3RFO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvdHJhbnNhY3Rpb24vZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZS5qcz9jMGU3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMvdHJhbnNhY3Rpb24uanMnO1xuaW1wb3J0IHsgc2xpY2VIZXggfSBmcm9tICcuLi9kYXRhL3NsaWNlLmpzJztcbmltcG9ydCB7IGhleFRvTnVtYmVyIH0gZnJvbSAnLi4vZW5jb2RpbmcvZnJvbUhleC5qcyc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VyaWFsaXplZFRyYW5zYWN0aW9uVHlwZShzZXJpYWxpemVkVHJhbnNhY3Rpb24pIHtcbiAgICBjb25zdCBzZXJpYWxpemVkVHlwZSA9IHNsaWNlSGV4KHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiwgMCwgMSk7XG4gICAgaWYgKHNlcmlhbGl6ZWRUeXBlID09PSAnMHgwMicpXG4gICAgICAgIHJldHVybiAnZWlwMTU1OSc7XG4gICAgaWYgKHNlcmlhbGl6ZWRUeXBlID09PSAnMHgwMScpXG4gICAgICAgIHJldHVybiAnZWlwMjkzMCc7XG4gICAgaWYgKHNlcmlhbGl6ZWRUeXBlICE9PSAnMHgnICYmIGhleFRvTnVtYmVyKHNlcmlhbGl6ZWRUeXBlKSA+PSAweGMwKVxuICAgICAgICByZXR1cm4gJ2xlZ2FjeSc7XG4gICAgdGhyb3cgbmV3IEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlRXJyb3IoeyBzZXJpYWxpemVkVHlwZSB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/getSerializedTransactionType.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/getTransactionType.js": -/*!****************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/getTransactionType.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTransactionType: function() { return /* binding */ getTransactionType; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n\nfunction getTransactionType(transaction) {\n if (transaction.type)\n return transaction.type;\n if (typeof transaction.maxFeePerGas !== 'undefined' ||\n typeof transaction.maxPriorityFeePerGas !== 'undefined')\n return 'eip1559';\n if (typeof transaction.gasPrice !== 'undefined') {\n if (typeof transaction.accessList !== 'undefined')\n return 'eip2930';\n return 'legacy';\n }\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_0__.InvalidSerializableTransactionError({ transaction });\n}\n//# sourceMappingURL=getTransactionType.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9nZXRUcmFuc2FjdGlvblR5cGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBa0Y7QUFDM0U7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsdUZBQW1DLEdBQUcsYUFBYTtBQUNqRTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3RyYW5zYWN0aW9uL2dldFRyYW5zYWN0aW9uVHlwZS5qcz9lYjllIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRTZXJpYWxpemFibGVUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb24pIHtcbiAgICBpZiAodHJhbnNhY3Rpb24udHlwZSlcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLnR5cGU7XG4gICAgaWYgKHR5cGVvZiB0cmFuc2FjdGlvbi5tYXhGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAgIHR5cGVvZiB0cmFuc2FjdGlvbi5tYXhQcmlvcml0eUZlZVBlckdhcyAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybiAnZWlwMTU1OSc7XG4gICAgaWYgKHR5cGVvZiB0cmFuc2FjdGlvbi5nYXNQcmljZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0cmFuc2FjdGlvbi5hY2Nlc3NMaXN0ICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybiAnZWlwMjkzMCc7XG4gICAgICAgIHJldHVybiAnbGVnYWN5JztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludmFsaWRTZXJpYWxpemFibGVUcmFuc2FjdGlvbkVycm9yKHsgdHJhbnNhY3Rpb24gfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRUcmFuc2FjdGlvblR5cGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/getTransactionType.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/parseTransaction.js": -/*!**************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/parseTransaction.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseTransaction: function() { return /* binding */ parseTransaction; }\n/* harmony export */ });\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n/* harmony import */ var _data_isHex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/isHex.js */ \"./node_modules/viem/dist/esm/utils/data/isHex.js\");\n/* harmony import */ var _data_pad_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../data/pad.js */ \"./node_modules/viem/dist/esm/utils/data/pad.js\");\n/* harmony import */ var _data_trim_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../encoding/fromHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromHex.js\");\n/* harmony import */ var _encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../encoding/fromRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/fromRlp.js\");\n/* harmony import */ var _hash_isHash_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hash/isHash.js */ \"./node_modules/viem/dist/esm/utils/hash/isHash.js\");\n/* harmony import */ var _assertTransaction_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./assertTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js\");\n/* harmony import */ var _getSerializedTransactionType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getSerializedTransactionType.js */ \"./node_modules/viem/dist/esm/utils/transaction/getSerializedTransactionType.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction parseTransaction(serializedTransaction) {\n const type = (0,_getSerializedTransactionType_js__WEBPACK_IMPORTED_MODULE_0__.getSerializedTransactionType)(serializedTransaction);\n if (type === 'eip1559')\n return parseTransactionEIP1559(serializedTransaction);\n if (type === 'eip2930')\n return parseTransactionEIP2930(serializedTransaction);\n return parseTransactionLegacy(serializedTransaction);\n}\nfunction parseTransactionEIP1559(serializedTransaction) {\n const transactionArray = (0,_encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_1__.fromRlp)(`0x${serializedTransaction.slice(4)}`, 'hex');\n const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, v, r, s,] = transactionArray;\n if (!(transactionArray.length === 9 || transactionArray.length === 12))\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__.InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n maxPriorityFeePerGas,\n maxFeePerGas,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 9\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip1559',\n });\n const transaction = {\n chainId: (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToNumber)(chainId),\n type: 'eip1559',\n };\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(to) && to !== '0x')\n transaction.to = to;\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(gas) && gas !== '0x')\n transaction.gas = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(gas);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(data) && data !== '0x')\n transaction.data = data;\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(nonce) && nonce !== '0x')\n transaction.nonce = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToNumber)(nonce);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(value) && value !== '0x')\n transaction.value = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(value);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(maxFeePerGas) && maxFeePerGas !== '0x')\n transaction.maxFeePerGas = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(maxFeePerGas);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x')\n transaction.maxPriorityFeePerGas = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(maxPriorityFeePerGas);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n (0,_assertTransaction_js__WEBPACK_IMPORTED_MODULE_5__.assertTransactionEIP1559)(transaction);\n const signature = transactionArray.length === 12\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionEIP2930(serializedTransaction) {\n const transactionArray = (0,_encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_1__.fromRlp)(`0x${serializedTransaction.slice(4)}`, 'hex');\n const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] = transactionArray;\n if (!(transactionArray.length === 8 || transactionArray.length === 11))\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__.InvalidSerializedTransactionError({\n attributes: {\n chainId,\n nonce,\n gasPrice,\n gas,\n to,\n value,\n data,\n accessList,\n ...(transactionArray.length > 8\n ? {\n v,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'eip2930',\n });\n const transaction = {\n chainId: (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToNumber)(chainId),\n type: 'eip2930',\n };\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(to) && to !== '0x')\n transaction.to = to;\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(gas) && gas !== '0x')\n transaction.gas = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(gas);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(data) && data !== '0x')\n transaction.data = data;\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(nonce) && nonce !== '0x')\n transaction.nonce = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToNumber)(nonce);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(value) && value !== '0x')\n transaction.value = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(value);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(gasPrice) && gasPrice !== '0x')\n transaction.gasPrice = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(gasPrice);\n if (accessList.length !== 0 && accessList !== '0x')\n transaction.accessList = parseAccessList(accessList);\n (0,_assertTransaction_js__WEBPACK_IMPORTED_MODULE_5__.assertTransactionEIP2930)(transaction);\n const signature = transactionArray.length === 11\n ? parseEIP155Signature(transactionArray)\n : undefined;\n return { ...signature, ...transaction };\n}\nfunction parseTransactionLegacy(serializedTransaction) {\n const transactionArray = (0,_encoding_fromRlp_js__WEBPACK_IMPORTED_MODULE_1__.fromRlp)(serializedTransaction, 'hex');\n const [nonce, gasPrice, gas, to, value, data, chainIdOrV_, r, s] = transactionArray;\n if (!(transactionArray.length === 6 || transactionArray.length === 9))\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__.InvalidSerializedTransactionError({\n attributes: {\n nonce,\n gasPrice,\n gas,\n to,\n value,\n data,\n ...(transactionArray.length > 6\n ? {\n v: chainIdOrV_,\n r,\n s,\n }\n : {}),\n },\n serializedTransaction,\n type: 'legacy',\n });\n const transaction = {\n type: 'legacy',\n };\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(to) && to !== '0x')\n transaction.to = to;\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(gas) && gas !== '0x')\n transaction.gas = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(gas);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(data) && data !== '0x')\n transaction.data = data;\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(nonce) && nonce !== '0x')\n transaction.nonce = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToNumber)(nonce);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(value) && value !== '0x')\n transaction.value = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(value);\n if ((0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(gasPrice) && gasPrice !== '0x')\n transaction.gasPrice = (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(gasPrice);\n (0,_assertTransaction_js__WEBPACK_IMPORTED_MODULE_5__.assertTransactionLegacy)(transaction);\n if (transactionArray.length === 6)\n return transaction;\n const chainIdOrV = (0,_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__.isHex)(chainIdOrV_) && chainIdOrV_ !== '0x'\n ? (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(chainIdOrV_)\n : 0n;\n if (s === '0x' && r === '0x') {\n if (chainIdOrV > 0)\n transaction.chainId = Number(chainIdOrV);\n return transaction;\n }\n const v = chainIdOrV;\n const chainId = Number((v - 35n) / 2n);\n if (chainId > 0)\n transaction.chainId = chainId;\n else if (v !== 27n && v !== 28n)\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_2__.InvalidLegacyVError({ v });\n transaction.v = v;\n transaction.s = s;\n transaction.r = r;\n return transaction;\n}\nfunction parseAccessList(accessList_) {\n const accessList = [];\n for (let i = 0; i < accessList_.length; i++) {\n const [address, storageKeys] = accessList_[i];\n if (!(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_6__.isAddress)(address))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_7__.InvalidAddressError({ address });\n accessList.push({\n address: address,\n storageKeys: storageKeys.map((key) => ((0,_hash_isHash_js__WEBPACK_IMPORTED_MODULE_8__.isHash)(key) ? key : (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_9__.trim)(key))),\n });\n }\n return accessList;\n}\nfunction parseEIP155Signature(transactionArray) {\n const signature = transactionArray.slice(-3);\n const v = signature[0] === '0x' || (0,_encoding_fromHex_js__WEBPACK_IMPORTED_MODULE_3__.hexToBigInt)(signature[0]) === 0n ? 27n : 28n;\n return {\n r: (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_10__.padHex)(signature[1], { size: 32 }),\n s: (0,_data_pad_js__WEBPACK_IMPORTED_MODULE_10__.padHex)(signature[2], { size: 32 }),\n v,\n yParity: v === 27n ? 0 : 1,\n };\n}\n//# sourceMappingURL=parseTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9wYXJzZVRyYW5zYWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUE4RDtBQUN3QztBQUNsRDtBQUNYO0FBQ0Q7QUFDRDtBQUMyQjtBQUNqQjtBQUNOO0FBQzJFO0FBQ3BDO0FBQzNFO0FBQ1AsaUJBQWlCLDhGQUE0QjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qiw2REFBTyxNQUFNLCtCQUErQjtBQUN6RTtBQUNBO0FBQ0Esa0JBQWtCLHFGQUFpQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QixhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLGlCQUFpQixpRUFBVztBQUM1QjtBQUNBO0FBQ0EsUUFBUSxxREFBSztBQUNiO0FBQ0EsUUFBUSxxREFBSztBQUNiLDBCQUEwQixpRUFBVztBQUNyQyxRQUFRLHFEQUFLO0FBQ2I7QUFDQSxRQUFRLHFEQUFLO0FBQ2IsNEJBQTRCLGlFQUFXO0FBQ3ZDLFFBQVEscURBQUs7QUFDYiw0QkFBNEIsaUVBQVc7QUFDdkMsUUFBUSxxREFBSztBQUNiLG1DQUFtQyxpRUFBVztBQUM5QyxRQUFRLHFEQUFLO0FBQ2IsMkNBQTJDLGlFQUFXO0FBQ3REO0FBQ0E7QUFDQSxJQUFJLCtFQUF3QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLDZCQUE2Qiw2REFBTyxNQUFNLCtCQUErQjtBQUN6RTtBQUNBO0FBQ0Esa0JBQWtCLHFGQUFpQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxpQkFBaUIsaUVBQVc7QUFDNUI7QUFDQTtBQUNBLFFBQVEscURBQUs7QUFDYjtBQUNBLFFBQVEscURBQUs7QUFDYiwwQkFBMEIsaUVBQVc7QUFDckMsUUFBUSxxREFBSztBQUNiO0FBQ0EsUUFBUSxxREFBSztBQUNiLDRCQUE0QixpRUFBVztBQUN2QyxRQUFRLHFEQUFLO0FBQ2IsNEJBQTRCLGlFQUFXO0FBQ3ZDLFFBQVEscURBQUs7QUFDYiwrQkFBK0IsaUVBQVc7QUFDMUM7QUFDQTtBQUNBLElBQUksK0VBQXdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsNkJBQTZCLDZEQUFPO0FBQ3BDO0FBQ0E7QUFDQSxrQkFBa0IscUZBQWlDO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLGFBQWE7QUFDYjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFFBQVEscURBQUs7QUFDYjtBQUNBLFFBQVEscURBQUs7QUFDYiwwQkFBMEIsaUVBQVc7QUFDckMsUUFBUSxxREFBSztBQUNiO0FBQ0EsUUFBUSxxREFBSztBQUNiLDRCQUE0QixpRUFBVztBQUN2QyxRQUFRLHFEQUFLO0FBQ2IsNEJBQTRCLGlFQUFXO0FBQ3ZDLFFBQVEscURBQUs7QUFDYiwrQkFBK0IsaUVBQVc7QUFDMUMsSUFBSSw4RUFBdUI7QUFDM0I7QUFDQTtBQUNBLHVCQUF1QixxREFBSztBQUM1QixVQUFVLGlFQUFXO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsdUVBQW1CLEdBQUcsR0FBRztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix3QkFBd0I7QUFDNUM7QUFDQSxhQUFhLGdFQUFTO0FBQ3RCLHNCQUFzQixtRUFBbUIsR0FBRyxTQUFTO0FBQ3JEO0FBQ0E7QUFDQSxtREFBbUQsdURBQU0sY0FBYyxtREFBSTtBQUMzRSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpRUFBVztBQUNsRDtBQUNBLFdBQVcscURBQU0saUJBQWlCLFVBQVU7QUFDNUMsV0FBVyxxREFBTSxpQkFBaUIsVUFBVTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3RyYW5zYWN0aW9uL3BhcnNlVHJhbnNhY3Rpb24uanM/M2Y0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkQWRkcmVzc0Vycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2FkZHJlc3MuanMnO1xuaW1wb3J0IHsgSW52YWxpZExlZ2FjeVZFcnJvciwgSW52YWxpZFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkVycm9yLCB9IGZyb20gJy4uLy4uL2Vycm9ycy90cmFuc2FjdGlvbi5qcyc7XG5pbXBvcnQgeyBpc0FkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzL2lzQWRkcmVzcy5qcyc7XG5pbXBvcnQgeyBpc0hleCB9IGZyb20gJy4uL2RhdGEvaXNIZXguanMnO1xuaW1wb3J0IHsgcGFkSGV4IH0gZnJvbSAnLi4vZGF0YS9wYWQuanMnO1xuaW1wb3J0IHsgdHJpbSB9IGZyb20gJy4uL2RhdGEvdHJpbS5qcyc7XG5pbXBvcnQgeyBoZXhUb0JpZ0ludCwgaGV4VG9OdW1iZXIgfSBmcm9tICcuLi9lbmNvZGluZy9mcm9tSGV4LmpzJztcbmltcG9ydCB7IGZyb21SbHAgfSBmcm9tICcuLi9lbmNvZGluZy9mcm9tUmxwLmpzJztcbmltcG9ydCB7IGlzSGFzaCB9IGZyb20gJy4uL2hhc2gvaXNIYXNoLmpzJztcbmltcG9ydCB7IGFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSwgYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwLCBhc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSwgfSBmcm9tICcuL2Fzc2VydFRyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IGdldFNlcmlhbGl6ZWRUcmFuc2FjdGlvblR5cGUsIH0gZnJvbSAnLi9nZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHR5cGUgPSBnZXRTZXJpYWxpemVkVHJhbnNhY3Rpb25UeXBlKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgaWYgKHR5cGUgPT09ICdlaXAxNTU5JylcbiAgICAgICAgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25FSVAxNTU5KHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgaWYgKHR5cGUgPT09ICdlaXAyOTMwJylcbiAgICAgICAgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25FSVAyOTMwKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIHBhcnNlVHJhbnNhY3Rpb25MZWdhY3koc2VyaWFsaXplZFRyYW5zYWN0aW9uKTtcbn1cbmZ1bmN0aW9uIHBhcnNlVHJhbnNhY3Rpb25FSVAxNTU5KHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uQXJyYXkgPSBmcm9tUmxwKGAweCR7c2VyaWFsaXplZFRyYW5zYWN0aW9uLnNsaWNlKDQpfWAsICdoZXgnKTtcbiAgICBjb25zdCBbY2hhaW5JZCwgbm9uY2UsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBtYXhGZWVQZXJHYXMsIGdhcywgdG8sIHZhbHVlLCBkYXRhLCBhY2Nlc3NMaXN0LCB2LCByLCBzLF0gPSB0cmFuc2FjdGlvbkFycmF5O1xuICAgIGlmICghKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSA5IHx8IHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSAxMikpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3Ioe1xuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgIGNoYWluSWQsXG4gICAgICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICAgICAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICAgICAgICAgIGdhcyxcbiAgICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICAgICAgICAgICAgLi4uKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID4gOVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHYsXG4gICAgICAgICAgICAgICAgICAgICAgICByLFxuICAgICAgICAgICAgICAgICAgICAgICAgcyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXJpYWxpemVkVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICB0eXBlOiAnZWlwMTU1OScsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0ge1xuICAgICAgICBjaGFpbklkOiBoZXhUb051bWJlcihjaGFpbklkKSxcbiAgICAgICAgdHlwZTogJ2VpcDE1NTknLFxuICAgIH07XG4gICAgaWYgKGlzSGV4KHRvKSAmJiB0byAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24udG8gPSB0bztcbiAgICBpZiAoaXNIZXgoZ2FzKSAmJiBnYXMgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmdhcyA9IGhleFRvQmlnSW50KGdhcyk7XG4gICAgaWYgKGlzSGV4KGRhdGEpICYmIGRhdGEgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmRhdGEgPSBkYXRhO1xuICAgIGlmIChpc0hleChub25jZSkgJiYgbm9uY2UgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLm5vbmNlID0gaGV4VG9OdW1iZXIobm9uY2UpO1xuICAgIGlmIChpc0hleCh2YWx1ZSkgJiYgdmFsdWUgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLnZhbHVlID0gaGV4VG9CaWdJbnQodmFsdWUpO1xuICAgIGlmIChpc0hleChtYXhGZWVQZXJHYXMpICYmIG1heEZlZVBlckdhcyAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24ubWF4RmVlUGVyR2FzID0gaGV4VG9CaWdJbnQobWF4RmVlUGVyR2FzKTtcbiAgICBpZiAoaXNIZXgobWF4UHJpb3JpdHlGZWVQZXJHYXMpICYmIG1heFByaW9yaXR5RmVlUGVyR2FzICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5tYXhQcmlvcml0eUZlZVBlckdhcyA9IGhleFRvQmlnSW50KG1heFByaW9yaXR5RmVlUGVyR2FzKTtcbiAgICBpZiAoYWNjZXNzTGlzdC5sZW5ndGggIT09IDAgJiYgYWNjZXNzTGlzdCAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uYWNjZXNzTGlzdCA9IHBhcnNlQWNjZXNzTGlzdChhY2Nlc3NMaXN0KTtcbiAgICBhc3NlcnRUcmFuc2FjdGlvbkVJUDE1NTkodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSAxMlxuICAgICAgICA/IHBhcnNlRUlQMTU1U2lnbmF0dXJlKHRyYW5zYWN0aW9uQXJyYXkpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB7IC4uLnNpZ25hdHVyZSwgLi4udHJhbnNhY3Rpb24gfTtcbn1cbmZ1bmN0aW9uIHBhcnNlVHJhbnNhY3Rpb25FSVAyOTMwKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uQXJyYXkgPSBmcm9tUmxwKGAweCR7c2VyaWFsaXplZFRyYW5zYWN0aW9uLnNsaWNlKDQpfWAsICdoZXgnKTtcbiAgICBjb25zdCBbY2hhaW5JZCwgbm9uY2UsIGdhc1ByaWNlLCBnYXMsIHRvLCB2YWx1ZSwgZGF0YSwgYWNjZXNzTGlzdCwgdiwgciwgc10gPSB0cmFuc2FjdGlvbkFycmF5O1xuICAgIGlmICghKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSA4IHx8IHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSAxMSkpXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkU2VyaWFsaXplZFRyYW5zYWN0aW9uRXJyb3Ioe1xuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgIGNoYWluSWQsXG4gICAgICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICAgICAgZ2FzUHJpY2UsXG4gICAgICAgICAgICAgICAgZ2FzLFxuICAgICAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgICAgICAgICAuLi4odHJhbnNhY3Rpb25BcnJheS5sZW5ndGggPiA4XG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdixcbiAgICAgICAgICAgICAgICAgICAgICAgIHIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbixcbiAgICAgICAgICAgIHR5cGU6ICdlaXAyOTMwJyxcbiAgICAgICAgfSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB7XG4gICAgICAgIGNoYWluSWQ6IGhleFRvTnVtYmVyKGNoYWluSWQpLFxuICAgICAgICB0eXBlOiAnZWlwMjkzMCcsXG4gICAgfTtcbiAgICBpZiAoaXNIZXgodG8pICYmIHRvICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi50byA9IHRvO1xuICAgIGlmIChpc0hleChnYXMpICYmIGdhcyAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZ2FzID0gaGV4VG9CaWdJbnQoZ2FzKTtcbiAgICBpZiAoaXNIZXgoZGF0YSkgJiYgZGF0YSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZGF0YSA9IGRhdGE7XG4gICAgaWYgKGlzSGV4KG5vbmNlKSAmJiBub25jZSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24ubm9uY2UgPSBoZXhUb051bWJlcihub25jZSk7XG4gICAgaWYgKGlzSGV4KHZhbHVlKSAmJiB2YWx1ZSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24udmFsdWUgPSBoZXhUb0JpZ0ludCh2YWx1ZSk7XG4gICAgaWYgKGlzSGV4KGdhc1ByaWNlKSAmJiBnYXNQcmljZSAhPT0gJzB4JylcbiAgICAgICAgdHJhbnNhY3Rpb24uZ2FzUHJpY2UgPSBoZXhUb0JpZ0ludChnYXNQcmljZSk7XG4gICAgaWYgKGFjY2Vzc0xpc3QubGVuZ3RoICE9PSAwICYmIGFjY2Vzc0xpc3QgIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLmFjY2Vzc0xpc3QgPSBwYXJzZUFjY2Vzc0xpc3QoYWNjZXNzTGlzdCk7XG4gICAgYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwKHRyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSB0cmFuc2FjdGlvbkFycmF5Lmxlbmd0aCA9PT0gMTFcbiAgICAgICAgPyBwYXJzZUVJUDE1NVNpZ25hdHVyZSh0cmFuc2FjdGlvbkFycmF5KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4geyAuLi5zaWduYXR1cmUsIC4uLnRyYW5zYWN0aW9uIH07XG59XG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uTGVnYWN5KHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uQXJyYXkgPSBmcm9tUmxwKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiwgJ2hleCcpO1xuICAgIGNvbnN0IFtub25jZSwgZ2FzUHJpY2UsIGdhcywgdG8sIHZhbHVlLCBkYXRhLCBjaGFpbklkT3JWXywgciwgc10gPSB0cmFuc2FjdGlvbkFycmF5O1xuICAgIGlmICghKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSA2IHx8IHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSA5KSlcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRTZXJpYWxpemVkVHJhbnNhY3Rpb25FcnJvcih7XG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgbm9uY2UsXG4gICAgICAgICAgICAgICAgZ2FzUHJpY2UsXG4gICAgICAgICAgICAgICAgZ2FzLFxuICAgICAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgLi4uKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID4gNlxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHY6IGNoYWluSWRPclZfLFxuICAgICAgICAgICAgICAgICAgICAgICAgcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHMsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VyaWFsaXplZFRyYW5zYWN0aW9uLFxuICAgICAgICAgICAgdHlwZTogJ2xlZ2FjeScsXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0ge1xuICAgICAgICB0eXBlOiAnbGVnYWN5JyxcbiAgICB9O1xuICAgIGlmIChpc0hleCh0bykgJiYgdG8gIT09ICcweCcpXG4gICAgICAgIHRyYW5zYWN0aW9uLnRvID0gdG87XG4gICAgaWYgKGlzSGV4KGdhcykgJiYgZ2FzICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5nYXMgPSBoZXhUb0JpZ0ludChnYXMpO1xuICAgIGlmIChpc0hleChkYXRhKSAmJiBkYXRhICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5kYXRhID0gZGF0YTtcbiAgICBpZiAoaXNIZXgobm9uY2UpICYmIG5vbmNlICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5ub25jZSA9IGhleFRvTnVtYmVyKG5vbmNlKTtcbiAgICBpZiAoaXNIZXgodmFsdWUpICYmIHZhbHVlICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi52YWx1ZSA9IGhleFRvQmlnSW50KHZhbHVlKTtcbiAgICBpZiAoaXNIZXgoZ2FzUHJpY2UpICYmIGdhc1ByaWNlICE9PSAnMHgnKVxuICAgICAgICB0cmFuc2FjdGlvbi5nYXNQcmljZSA9IGhleFRvQmlnSW50KGdhc1ByaWNlKTtcbiAgICBhc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSh0cmFuc2FjdGlvbik7XG4gICAgaWYgKHRyYW5zYWN0aW9uQXJyYXkubGVuZ3RoID09PSA2KVxuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgY29uc3QgY2hhaW5JZE9yViA9IGlzSGV4KGNoYWluSWRPclZfKSAmJiBjaGFpbklkT3JWXyAhPT0gJzB4J1xuICAgICAgICA/IGhleFRvQmlnSW50KGNoYWluSWRPclZfKVxuICAgICAgICA6IDBuO1xuICAgIGlmIChzID09PSAnMHgnICYmIHIgPT09ICcweCcpIHtcbiAgICAgICAgaWYgKGNoYWluSWRPclYgPiAwKVxuICAgICAgICAgICAgdHJhbnNhY3Rpb24uY2hhaW5JZCA9IE51bWJlcihjaGFpbklkT3JWKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICAgIH1cbiAgICBjb25zdCB2ID0gY2hhaW5JZE9yVjtcbiAgICBjb25zdCBjaGFpbklkID0gTnVtYmVyKCh2IC0gMzVuKSAvIDJuKTtcbiAgICBpZiAoY2hhaW5JZCA+IDApXG4gICAgICAgIHRyYW5zYWN0aW9uLmNoYWluSWQgPSBjaGFpbklkO1xuICAgIGVsc2UgaWYgKHYgIT09IDI3biAmJiB2ICE9PSAyOG4pXG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkTGVnYWN5VkVycm9yKHsgdiB9KTtcbiAgICB0cmFuc2FjdGlvbi52ID0gdjtcbiAgICB0cmFuc2FjdGlvbi5zID0gcztcbiAgICB0cmFuc2FjdGlvbi5yID0gcjtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb247XG59XG5mdW5jdGlvbiBwYXJzZUFjY2Vzc0xpc3QoYWNjZXNzTGlzdF8pIHtcbiAgICBjb25zdCBhY2Nlc3NMaXN0ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY2Nlc3NMaXN0Xy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBbYWRkcmVzcywgc3RvcmFnZUtleXNdID0gYWNjZXNzTGlzdF9baV07XG4gICAgICAgIGlmICghaXNBZGRyZXNzKGFkZHJlc3MpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzIH0pO1xuICAgICAgICBhY2Nlc3NMaXN0LnB1c2goe1xuICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgICAgIHN0b3JhZ2VLZXlzOiBzdG9yYWdlS2V5cy5tYXAoKGtleSkgPT4gKGlzSGFzaChrZXkpID8ga2V5IDogdHJpbShrZXkpKSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYWNjZXNzTGlzdDtcbn1cbmZ1bmN0aW9uIHBhcnNlRUlQMTU1U2lnbmF0dXJlKHRyYW5zYWN0aW9uQXJyYXkpIHtcbiAgICBjb25zdCBzaWduYXR1cmUgPSB0cmFuc2FjdGlvbkFycmF5LnNsaWNlKC0zKTtcbiAgICBjb25zdCB2ID0gc2lnbmF0dXJlWzBdID09PSAnMHgnIHx8IGhleFRvQmlnSW50KHNpZ25hdHVyZVswXSkgPT09IDBuID8gMjduIDogMjhuO1xuICAgIHJldHVybiB7XG4gICAgICAgIHI6IHBhZEhleChzaWduYXR1cmVbMV0sIHsgc2l6ZTogMzIgfSksXG4gICAgICAgIHM6IHBhZEhleChzaWduYXR1cmVbMl0sIHsgc2l6ZTogMzIgfSksXG4gICAgICAgIHYsXG4gICAgICAgIHlQYXJpdHk6IHYgPT09IDI3biA/IDAgOiAxLFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZVRyYW5zYWN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/parseTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js": -/*!************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultTip: function() { return /* binding */ defaultTip; },\n/* harmony export */ prepareRequest: function() { return /* binding */ prepareRequest; }\n/* harmony export */ });\n/* harmony import */ var _accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../accounts/utils/parseAccount.js */ \"./node_modules/viem/dist/esm/accounts/utils/parseAccount.js\");\n/* harmony import */ var _actions_public_estimateGas_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../actions/public/estimateGas.js */ \"./node_modules/viem/dist/esm/actions/public/estimateGas.js\");\n/* harmony import */ var _actions_public_getBlock_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../actions/public/getBlock.js */ \"./node_modules/viem/dist/esm/actions/public/getBlock.js\");\n/* harmony import */ var _actions_public_getGasPrice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../actions/public/getGasPrice.js */ \"./node_modules/viem/dist/esm/actions/public/getGasPrice.js\");\n/* harmony import */ var _actions_public_getTransactionCount_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../actions/public/getTransactionCount.js */ \"./node_modules/viem/dist/esm/actions/public/getTransactionCount.js\");\n/* harmony import */ var _errors_account_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/account.js */ \"./node_modules/viem/dist/esm/errors/account.js\");\n/* harmony import */ var _errors_base_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../errors/base.js */ \"./node_modules/viem/dist/esm/errors/base.js\");\n/* harmony import */ var _assertRequest_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./assertRequest.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertRequest.js\");\n\n\n\n\n\n\n\n\nconst defaultTip = 1500000000n; // 1.5 gwei\nasync function prepareRequest(client, args) {\n const { account: account_, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, } = args;\n if (!account_)\n throw new _errors_account_js__WEBPACK_IMPORTED_MODULE_0__.AccountNotFoundError();\n const account = (0,_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__.parseAccount)(account_);\n const block = await (0,_actions_public_getBlock_js__WEBPACK_IMPORTED_MODULE_2__.getBlock)(client, { blockTag: 'latest' });\n const request = { ...args, from: account.address };\n if (typeof nonce === 'undefined')\n request.nonce = await (0,_actions_public_getTransactionCount_js__WEBPACK_IMPORTED_MODULE_3__.getTransactionCount)(client, {\n address: account.address,\n blockTag: 'pending',\n });\n if (block.baseFeePerGas) {\n if (typeof gasPrice !== 'undefined')\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_4__.BaseError('Chain does not support legacy `gasPrice`.');\n // EIP-1559 fees\n if (typeof maxFeePerGas === 'undefined') {\n // Set a buffer of 1.2x on top of the base fee to account for fluctuations.\n request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip;\n request.maxFeePerGas =\n (block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas;\n }\n else {\n if (typeof maxPriorityFeePerGas === 'undefined' &&\n maxFeePerGas < defaultTip)\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_4__.BaseError('`maxFeePerGas` cannot be less than the default `maxPriorityFeePerGas` (1.5 gwei).');\n request.maxFeePerGas = maxFeePerGas;\n request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip;\n }\n }\n else {\n if (typeof maxFeePerGas !== 'undefined' ||\n typeof maxPriorityFeePerGas !== 'undefined')\n throw new _errors_base_js__WEBPACK_IMPORTED_MODULE_4__.BaseError('Chain does not support EIP-1559 fees.');\n // Legacy fees\n if (typeof gasPrice === 'undefined')\n // Set a buffer of 1.2x on top of the base fee to account for fluctuations.\n request.gasPrice = ((await (0,_actions_public_getGasPrice_js__WEBPACK_IMPORTED_MODULE_5__.getGasPrice)(client)) * 120n) / 100n;\n }\n if (typeof gas === 'undefined')\n request.gas = await (0,_actions_public_estimateGas_js__WEBPACK_IMPORTED_MODULE_6__.estimateGas)(client, {\n ...request,\n account: { address: account.address, type: 'json-rpc' },\n });\n (0,_assertRequest_js__WEBPACK_IMPORTED_MODULE_7__.assertRequest)(request);\n return request;\n}\n//# sourceMappingURL=prepareRequest.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9wcmVwYXJlUmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQW9FO0FBQ0Q7QUFDUDtBQUNNO0FBQ2dCO0FBQ25CO0FBQ2Q7QUFDRTtBQUM1QyxnQ0FBZ0M7QUFDaEM7QUFDUCxZQUFZLCtFQUErRTtBQUMzRjtBQUNBLGtCQUFrQixvRUFBb0I7QUFDdEMsb0JBQW9CLDZFQUFZO0FBQ2hDLHdCQUF3QixxRUFBUSxXQUFXLG9CQUFvQjtBQUMvRCxzQkFBc0I7QUFDdEI7QUFDQSw4QkFBOEIsMkZBQW1CO0FBQ2pEO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLHNCQUFzQixzREFBUztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixzREFBUztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixzREFBUztBQUMvQjtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsMkVBQVc7QUFDbEQ7QUFDQTtBQUNBLDRCQUE0QiwyRUFBVztBQUN2QztBQUNBLHVCQUF1Qiw0Q0FBNEM7QUFDbkUsU0FBUztBQUNULElBQUksZ0VBQWE7QUFDakI7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3RyYW5zYWN0aW9uL3ByZXBhcmVSZXF1ZXN0LmpzPzVlZTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBY2NvdW50IH0gZnJvbSAnLi4vLi4vYWNjb3VudHMvdXRpbHMvcGFyc2VBY2NvdW50LmpzJztcbmltcG9ydCB7IGVzdGltYXRlR2FzLCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvcHVibGljL2VzdGltYXRlR2FzLmpzJztcbmltcG9ydCB7IGdldEJsb2NrIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0QmxvY2suanMnO1xuaW1wb3J0IHsgZ2V0R2FzUHJpY2UgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3B1YmxpYy9nZXRHYXNQcmljZS5qcyc7XG5pbXBvcnQgeyBnZXRUcmFuc2FjdGlvbkNvdW50IH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9wdWJsaWMvZ2V0VHJhbnNhY3Rpb25Db3VudC5qcyc7XG5pbXBvcnQgeyBBY2NvdW50Tm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hY2NvdW50LmpzJztcbmltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9iYXNlLmpzJztcbmltcG9ydCB7IGFzc2VydFJlcXVlc3QgfSBmcm9tICcuL2Fzc2VydFJlcXVlc3QuanMnO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRUaXAgPSAxNTAwMDAwMDAwbjsgLy8gMS41IGd3ZWlcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlUmVxdWVzdChjbGllbnQsIGFyZ3MpIHtcbiAgICBjb25zdCB7IGFjY291bnQ6IGFjY291bnRfLCBnYXMsIGdhc1ByaWNlLCBtYXhGZWVQZXJHYXMsIG1heFByaW9yaXR5RmVlUGVyR2FzLCBub25jZSwgfSA9IGFyZ3M7XG4gICAgaWYgKCFhY2NvdW50XylcbiAgICAgICAgdGhyb3cgbmV3IEFjY291bnROb3RGb3VuZEVycm9yKCk7XG4gICAgY29uc3QgYWNjb3VudCA9IHBhcnNlQWNjb3VudChhY2NvdW50Xyk7XG4gICAgY29uc3QgYmxvY2sgPSBhd2FpdCBnZXRCbG9jayhjbGllbnQsIHsgYmxvY2tUYWc6ICdsYXRlc3QnIH0pO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7IC4uLmFyZ3MsIGZyb206IGFjY291bnQuYWRkcmVzcyB9O1xuICAgIGlmICh0eXBlb2Ygbm9uY2UgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXF1ZXN0Lm5vbmNlID0gYXdhaXQgZ2V0VHJhbnNhY3Rpb25Db3VudChjbGllbnQsIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IGFjY291bnQuYWRkcmVzcyxcbiAgICAgICAgICAgIGJsb2NrVGFnOiAncGVuZGluZycsXG4gICAgICAgIH0pO1xuICAgIGlmIChibG9jay5iYXNlRmVlUGVyR2FzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZ2FzUHJpY2UgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEJhc2VFcnJvcignQ2hhaW4gZG9lcyBub3Qgc3VwcG9ydCBsZWdhY3kgYGdhc1ByaWNlYC4nKTtcbiAgICAgICAgLy8gRUlQLTE1NTkgZmVlc1xuICAgICAgICBpZiAodHlwZW9mIG1heEZlZVBlckdhcyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIFNldCBhIGJ1ZmZlciBvZiAxLjJ4IG9uIHRvcCBvZiB0aGUgYmFzZSBmZWUgdG8gYWNjb3VudCBmb3IgZmx1Y3R1YXRpb25zLlxuICAgICAgICAgICAgcmVxdWVzdC5tYXhQcmlvcml0eUZlZVBlckdhcyA9IG1heFByaW9yaXR5RmVlUGVyR2FzID8/IGRlZmF1bHRUaXA7XG4gICAgICAgICAgICByZXF1ZXN0Lm1heEZlZVBlckdhcyA9XG4gICAgICAgICAgICAgICAgKGJsb2NrLmJhc2VGZWVQZXJHYXMgKiAxMjBuKSAvIDEwMG4gKyByZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBtYXhQcmlvcml0eUZlZVBlckdhcyA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICBtYXhGZWVQZXJHYXMgPCBkZWZhdWx0VGlwKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXJyb3IoJ2BtYXhGZWVQZXJHYXNgIGNhbm5vdCBiZSBsZXNzIHRoYW4gdGhlIGRlZmF1bHQgYG1heFByaW9yaXR5RmVlUGVyR2FzYCAoMS41IGd3ZWkpLicpO1xuICAgICAgICAgICAgcmVxdWVzdC5tYXhGZWVQZXJHYXMgPSBtYXhGZWVQZXJHYXM7XG4gICAgICAgICAgICByZXF1ZXN0Lm1heFByaW9yaXR5RmVlUGVyR2FzID0gbWF4UHJpb3JpdHlGZWVQZXJHYXMgPz8gZGVmYXVsdFRpcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaWYgKHR5cGVvZiBtYXhGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAgICAgICB0eXBlb2YgbWF4UHJpb3JpdHlGZWVQZXJHYXMgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEJhc2VFcnJvcignQ2hhaW4gZG9lcyBub3Qgc3VwcG9ydCBFSVAtMTU1OSBmZWVzLicpO1xuICAgICAgICAvLyBMZWdhY3kgZmVlc1xuICAgICAgICBpZiAodHlwZW9mIGdhc1ByaWNlID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIC8vIFNldCBhIGJ1ZmZlciBvZiAxLjJ4IG9uIHRvcCBvZiB0aGUgYmFzZSBmZWUgdG8gYWNjb3VudCBmb3IgZmx1Y3R1YXRpb25zLlxuICAgICAgICAgICAgcmVxdWVzdC5nYXNQcmljZSA9ICgoYXdhaXQgZ2V0R2FzUHJpY2UoY2xpZW50KSkgKiAxMjBuKSAvIDEwMG47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZ2FzID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmVxdWVzdC5nYXMgPSBhd2FpdCBlc3RpbWF0ZUdhcyhjbGllbnQsIHtcbiAgICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgICBhY2NvdW50OiB7IGFkZHJlc3M6IGFjY291bnQuYWRkcmVzcywgdHlwZTogJ2pzb24tcnBjJyB9LFxuICAgICAgICB9KTtcbiAgICBhc3NlcnRSZXF1ZXN0KHJlcXVlc3QpO1xuICAgIHJldHVybiByZXF1ZXN0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlcGFyZVJlcXVlc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/prepareRequest.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ serializeAccessList: function() { return /* binding */ serializeAccessList; }\n/* harmony export */ });\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n\n\n\n\n/*\n * Serialize an EIP-2930 access list\n * @remarks\n * Use to create a transaction serializer with support for EIP-2930 access lists\n *\n * @param accessList - Array of objects of address and arrays of Storage Keys\n * @throws InvalidAddressError, InvalidStorageKeySizeError\n * @returns Array of hex strings\n */\nfunction serializeAccessList(accessList) {\n if (!accessList || accessList.length === 0)\n return [];\n const serializedAccessList = [];\n for (let i = 0; i < accessList.length; i++) {\n const { address, storageKeys } = accessList[i];\n for (let j = 0; j < storageKeys.length; j++) {\n if (storageKeys[j].length - 2 !== 64) {\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_0__.InvalidStorageKeySizeError({ storageKey: storageKeys[j] });\n }\n }\n if (!(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_1__.isAddress)(address)) {\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_2__.InvalidAddressError({ address });\n }\n serializedAccessList.push([address, storageKeys]);\n }\n return serializedAccessList;\n}\n//# sourceMappingURL=serializeAccessList.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVBY2Nlc3NMaXN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBOEQ7QUFDVztBQUNyQjtBQUNkO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHVCQUF1QjtBQUMzQyxnQkFBZ0IsdUJBQXVCO0FBQ3ZDLHdCQUF3Qix3QkFBd0I7QUFDaEQ7QUFDQSwwQkFBMEIsOEVBQTBCLEdBQUcsNEJBQTRCO0FBQ25GO0FBQ0E7QUFDQSxhQUFhLGdFQUFTO0FBQ3RCLHNCQUFzQixtRUFBbUIsR0FBRyxTQUFTO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVBY2Nlc3NMaXN0LmpzPzY3ZTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9hZGRyZXNzLmpzJztcbmltcG9ydCB7IEludmFsaWRTdG9yYWdlS2V5U2l6ZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IGlzQWRkcmVzcyB9IGZyb20gJy4uL2FkZHJlc3MvaXNBZGRyZXNzLmpzJztcbmltcG9ydCB7fSBmcm9tICcuLi9lbmNvZGluZy90b1JscC5qcyc7XG4vKlxuICogU2VyaWFsaXplIGFuICBFSVAtMjkzMCBhY2Nlc3MgbGlzdFxuICogQHJlbWFya3NcbiAqIFVzZSB0byBjcmVhdGUgYSB0cmFuc2FjdGlvbiBzZXJpYWxpemVyIHdpdGggc3VwcG9ydCBmb3IgRUlQLTI5MzAgYWNjZXNzIGxpc3RzXG4gKlxuICogQHBhcmFtIGFjY2Vzc0xpc3QgLSBBcnJheSBvZiBvYmplY3RzIG9mIGFkZHJlc3MgYW5kIGFycmF5cyBvZiBTdG9yYWdlIEtleXNcbiAqIEB0aHJvd3MgSW52YWxpZEFkZHJlc3NFcnJvciwgSW52YWxpZFN0b3JhZ2VLZXlTaXplRXJyb3JcbiAqIEByZXR1cm5zIEFycmF5IG9mIGhleCBzdHJpbmdzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVBY2Nlc3NMaXN0KGFjY2Vzc0xpc3QpIHtcbiAgICBpZiAoIWFjY2Vzc0xpc3QgfHwgYWNjZXNzTGlzdC5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBbXTtcbiAgICBjb25zdCBzZXJpYWxpemVkQWNjZXNzTGlzdCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWNjZXNzTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB7IGFkZHJlc3MsIHN0b3JhZ2VLZXlzIH0gPSBhY2Nlc3NMaXN0W2ldO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHN0b3JhZ2VLZXlzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBpZiAoc3RvcmFnZUtleXNbal0ubGVuZ3RoIC0gMiAhPT0gNjQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFN0b3JhZ2VLZXlTaXplRXJyb3IoeyBzdG9yYWdlS2V5OiBzdG9yYWdlS2V5c1tqXSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzIH0pO1xuICAgICAgICB9XG4gICAgICAgIHNlcmlhbGl6ZWRBY2Nlc3NMaXN0LnB1c2goW2FkZHJlc3MsIHN0b3JhZ2VLZXlzXSk7XG4gICAgfVxuICAgIHJldHVybiBzZXJpYWxpemVkQWNjZXNzTGlzdDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlcmlhbGl6ZUFjY2Vzc0xpc3QuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/transaction/serializeTransaction.js": -/*!******************************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/transaction/serializeTransaction.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ serializeTransaction: function() { return /* binding */ serializeTransaction; }\n/* harmony export */ });\n/* harmony import */ var _errors_transaction_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../errors/transaction.js */ \"./node_modules/viem/dist/esm/errors/transaction.js\");\n/* harmony import */ var _data_concat_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../data/concat.js */ \"./node_modules/viem/dist/esm/utils/data/concat.js\");\n/* harmony import */ var _data_trim_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data/trim.js */ \"./node_modules/viem/dist/esm/utils/data/trim.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../encoding/toRlp.js */ \"./node_modules/viem/dist/esm/utils/encoding/toRlp.js\");\n/* harmony import */ var _assertTransaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertTransaction.js */ \"./node_modules/viem/dist/esm/utils/transaction/assertTransaction.js\");\n/* harmony import */ var _getTransactionType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTransactionType.js */ \"./node_modules/viem/dist/esm/utils/transaction/getTransactionType.js\");\n/* harmony import */ var _serializeAccessList_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./serializeAccessList.js */ \"./node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js\");\n\n\n\n\n\n\n\n\nfunction serializeTransaction(transaction, signature) {\n const type = (0,_getTransactionType_js__WEBPACK_IMPORTED_MODULE_0__.getTransactionType)(transaction);\n if (type === 'eip1559')\n return serializeTransactionEIP1559(transaction, signature);\n if (type === 'eip2930')\n return serializeTransactionEIP2930(transaction, signature);\n return serializeTransactionLegacy(transaction, signature);\n}\nfunction serializeTransactionEIP1559(transaction, signature) {\n const { chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction;\n (0,_assertTransaction_js__WEBPACK_IMPORTED_MODULE_1__.assertTransactionEIP1559)(transaction);\n const serializedAccessList = (0,_serializeAccessList_js__WEBPACK_IMPORTED_MODULE_2__.serializeAccessList)(accessList);\n const serializedTransaction = [\n (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(chainId),\n nonce ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(nonce) : '0x',\n maxPriorityFeePerGas ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(maxPriorityFeePerGas) : '0x',\n maxFeePerGas ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(maxFeePerGas) : '0x',\n gas ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(gas) : '0x',\n to ?? '0x',\n value ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(value) : '0x',\n data ?? '0x',\n serializedAccessList,\n ];\n if (signature)\n serializedTransaction.push(signature.v === 27n ? '0x' : (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(1), // yParity\n (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_4__.trim)(signature.r), (0,_data_trim_js__WEBPACK_IMPORTED_MODULE_4__.trim)(signature.s));\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_5__.concatHex)([\n '0x02',\n (0,_encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_6__.toRlp)(serializedTransaction),\n ]);\n}\nfunction serializeTransactionEIP2930(transaction, signature) {\n const { chainId, gas, data, nonce, to, value, accessList, gasPrice } = transaction;\n (0,_assertTransaction_js__WEBPACK_IMPORTED_MODULE_1__.assertTransactionEIP2930)(transaction);\n const serializedAccessList = (0,_serializeAccessList_js__WEBPACK_IMPORTED_MODULE_2__.serializeAccessList)(accessList);\n const serializedTransaction = [\n (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(chainId),\n nonce ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(nonce) : '0x',\n gasPrice ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(gasPrice) : '0x',\n gas ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(gas) : '0x',\n to ?? '0x',\n value ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(value) : '0x',\n data ?? '0x',\n serializedAccessList,\n ];\n if (signature)\n serializedTransaction.push(signature.v === 27n ? '0x' : (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(1), // yParity\n signature.r, signature.s);\n return (0,_data_concat_js__WEBPACK_IMPORTED_MODULE_5__.concatHex)([\n '0x01',\n (0,_encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_6__.toRlp)(serializedTransaction),\n ]);\n}\nfunction serializeTransactionLegacy(transaction, signature) {\n const { chainId = 0, gas, data, nonce, to, value, gasPrice } = transaction;\n (0,_assertTransaction_js__WEBPACK_IMPORTED_MODULE_1__.assertTransactionLegacy)(transaction);\n let serializedTransaction = [\n nonce ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(nonce) : '0x',\n gasPrice ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(gasPrice) : '0x',\n gas ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(gas) : '0x',\n to ?? '0x',\n value ? (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(value) : '0x',\n data ?? '0x',\n ];\n if (signature) {\n let v = 27n + (signature.v === 27n ? 0n : 1n);\n if (chainId > 0)\n v = BigInt(chainId * 2) + BigInt(35n + signature.v - 27n);\n else if (signature.v !== v)\n throw new _errors_transaction_js__WEBPACK_IMPORTED_MODULE_7__.InvalidLegacyVError({ v: signature.v });\n serializedTransaction = [\n ...serializedTransaction,\n (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(v),\n signature.r,\n signature.s,\n ];\n }\n else if (chainId > 0) {\n serializedTransaction = [\n ...serializedTransaction,\n (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_3__.toHex)(chainId),\n '0x',\n '0x',\n ];\n }\n return (0,_encoding_toRlp_js__WEBPACK_IMPORTED_MODULE_6__.toRlp)(serializedTransaction);\n}\n//# sourceMappingURL=serializeTransaction.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90cmFuc2FjdGlvbi9zZXJpYWxpemVUcmFuc2FjdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBa0U7QUFDcEI7QUFDUDtBQUNNO0FBQ0E7QUFDeUU7QUFDeEQ7QUFDQztBQUN4RDtBQUNQLGlCQUFpQiwwRUFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHdGQUF3RjtBQUNwRyxJQUFJLCtFQUF3QjtBQUM1QixpQ0FBaUMsNEVBQW1CO0FBQ3BEO0FBQ0EsUUFBUSx5REFBSztBQUNiLGdCQUFnQix5REFBSztBQUNyQiwrQkFBK0IseURBQUs7QUFDcEMsdUJBQXVCLHlEQUFLO0FBQzVCLGNBQWMseURBQUs7QUFDbkI7QUFDQSxnQkFBZ0IseURBQUs7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRUFBZ0UseURBQUs7QUFDckUsUUFBUSxtREFBSSxlQUFlLG1EQUFJO0FBQy9CLFdBQVcsMERBQVM7QUFDcEI7QUFDQSxRQUFRLHlEQUFLO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2REFBNkQ7QUFDekUsSUFBSSwrRUFBd0I7QUFDNUIsaUNBQWlDLDRFQUFtQjtBQUNwRDtBQUNBLFFBQVEseURBQUs7QUFDYixnQkFBZ0IseURBQUs7QUFDckIsbUJBQW1CLHlEQUFLO0FBQ3hCLGNBQWMseURBQUs7QUFDbkI7QUFDQSxnQkFBZ0IseURBQUs7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRUFBZ0UseURBQUs7QUFDckU7QUFDQSxXQUFXLDBEQUFTO0FBQ3BCO0FBQ0EsUUFBUSx5REFBSztBQUNiO0FBQ0E7QUFDQTtBQUNBLFlBQVkscURBQXFEO0FBQ2pFLElBQUksOEVBQXVCO0FBQzNCO0FBQ0EsZ0JBQWdCLHlEQUFLO0FBQ3JCLG1CQUFtQix5REFBSztBQUN4QixjQUFjLHlEQUFLO0FBQ25CO0FBQ0EsZ0JBQWdCLHlEQUFLO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHVFQUFtQixHQUFHLGdCQUFnQjtBQUM1RDtBQUNBO0FBQ0EsWUFBWSx5REFBSztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVkseURBQUs7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHlEQUFLO0FBQ2hCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvdHJhbnNhY3Rpb24vc2VyaWFsaXplVHJhbnNhY3Rpb24uanM/NTgyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkTGVnYWN5VkVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3RyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IGNvbmNhdEhleCB9IGZyb20gJy4uL2RhdGEvY29uY2F0LmpzJztcbmltcG9ydCB7IHRyaW0gfSBmcm9tICcuLi9kYXRhL3RyaW0uanMnO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tICcuLi9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyB0b1JscCB9IGZyb20gJy4uL2VuY29kaW5nL3RvUmxwLmpzJztcbmltcG9ydCB7IGFzc2VydFRyYW5zYWN0aW9uRUlQMTU1OSwgYXNzZXJ0VHJhbnNhY3Rpb25FSVAyOTMwLCBhc3NlcnRUcmFuc2FjdGlvbkxlZ2FjeSwgfSBmcm9tICcuL2Fzc2VydFRyYW5zYWN0aW9uLmpzJztcbmltcG9ydCB7IGdldFRyYW5zYWN0aW9uVHlwZSwgfSBmcm9tICcuL2dldFRyYW5zYWN0aW9uVHlwZS5qcyc7XG5pbXBvcnQgeyBzZXJpYWxpemVBY2Nlc3NMaXN0IH0gZnJvbSAnLi9zZXJpYWxpemVBY2Nlc3NMaXN0LmpzJztcbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbiwgc2lnbmF0dXJlKSB7XG4gICAgY29uc3QgdHlwZSA9IGdldFRyYW5zYWN0aW9uVHlwZSh0cmFuc2FjdGlvbik7XG4gICAgaWYgKHR5cGUgPT09ICdlaXAxNTU5JylcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVRyYW5zYWN0aW9uRUlQMTU1OSh0cmFuc2FjdGlvbiwgc2lnbmF0dXJlKTtcbiAgICBpZiAodHlwZSA9PT0gJ2VpcDI5MzAnKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplVHJhbnNhY3Rpb25FSVAyOTMwKHRyYW5zYWN0aW9uLCBzaWduYXR1cmUpO1xuICAgIHJldHVybiBzZXJpYWxpemVUcmFuc2FjdGlvbkxlZ2FjeSh0cmFuc2FjdGlvbiwgc2lnbmF0dXJlKTtcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZVRyYW5zYWN0aW9uRUlQMTU1OSh0cmFuc2FjdGlvbiwgc2lnbmF0dXJlKSB7XG4gICAgY29uc3QgeyBjaGFpbklkLCBnYXMsIG5vbmNlLCB0bywgdmFsdWUsIG1heEZlZVBlckdhcywgbWF4UHJpb3JpdHlGZWVQZXJHYXMsIGFjY2Vzc0xpc3QsIGRhdGEsIH0gPSB0cmFuc2FjdGlvbjtcbiAgICBhc3NlcnRUcmFuc2FjdGlvbkVJUDE1NTkodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRBY2Nlc3NMaXN0ID0gc2VyaWFsaXplQWNjZXNzTGlzdChhY2Nlc3NMaXN0KTtcbiAgICBjb25zdCBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBbXG4gICAgICAgIHRvSGV4KGNoYWluSWQpLFxuICAgICAgICBub25jZSA/IHRvSGV4KG5vbmNlKSA6ICcweCcsXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzID8gdG9IZXgobWF4UHJpb3JpdHlGZWVQZXJHYXMpIDogJzB4JyxcbiAgICAgICAgbWF4RmVlUGVyR2FzID8gdG9IZXgobWF4RmVlUGVyR2FzKSA6ICcweCcsXG4gICAgICAgIGdhcyA/IHRvSGV4KGdhcykgOiAnMHgnLFxuICAgICAgICB0byA/PyAnMHgnLFxuICAgICAgICB2YWx1ZSA/IHRvSGV4KHZhbHVlKSA6ICcweCcsXG4gICAgICAgIGRhdGEgPz8gJzB4JyxcbiAgICAgICAgc2VyaWFsaXplZEFjY2Vzc0xpc3QsXG4gICAgXTtcbiAgICBpZiAoc2lnbmF0dXJlKVxuICAgICAgICBzZXJpYWxpemVkVHJhbnNhY3Rpb24ucHVzaChzaWduYXR1cmUudiA9PT0gMjduID8gJzB4JyA6IHRvSGV4KDEpLCAvLyB5UGFyaXR5XG4gICAgICAgIHRyaW0oc2lnbmF0dXJlLnIpLCB0cmltKHNpZ25hdHVyZS5zKSk7XG4gICAgcmV0dXJuIGNvbmNhdEhleChbXG4gICAgICAgICcweDAyJyxcbiAgICAgICAgdG9SbHAoc2VyaWFsaXplZFRyYW5zYWN0aW9uKSxcbiAgICBdKTtcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZVRyYW5zYWN0aW9uRUlQMjkzMCh0cmFuc2FjdGlvbiwgc2lnbmF0dXJlKSB7XG4gICAgY29uc3QgeyBjaGFpbklkLCBnYXMsIGRhdGEsIG5vbmNlLCB0bywgdmFsdWUsIGFjY2Vzc0xpc3QsIGdhc1ByaWNlIH0gPSB0cmFuc2FjdGlvbjtcbiAgICBhc3NlcnRUcmFuc2FjdGlvbkVJUDI5MzAodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRBY2Nlc3NMaXN0ID0gc2VyaWFsaXplQWNjZXNzTGlzdChhY2Nlc3NMaXN0KTtcbiAgICBjb25zdCBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBbXG4gICAgICAgIHRvSGV4KGNoYWluSWQpLFxuICAgICAgICBub25jZSA/IHRvSGV4KG5vbmNlKSA6ICcweCcsXG4gICAgICAgIGdhc1ByaWNlID8gdG9IZXgoZ2FzUHJpY2UpIDogJzB4JyxcbiAgICAgICAgZ2FzID8gdG9IZXgoZ2FzKSA6ICcweCcsXG4gICAgICAgIHRvID8/ICcweCcsXG4gICAgICAgIHZhbHVlID8gdG9IZXgodmFsdWUpIDogJzB4JyxcbiAgICAgICAgZGF0YSA/PyAnMHgnLFxuICAgICAgICBzZXJpYWxpemVkQWNjZXNzTGlzdCxcbiAgICBdO1xuICAgIGlmIChzaWduYXR1cmUpXG4gICAgICAgIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbi5wdXNoKHNpZ25hdHVyZS52ID09PSAyN24gPyAnMHgnIDogdG9IZXgoMSksIC8vIHlQYXJpdHlcbiAgICAgICAgc2lnbmF0dXJlLnIsIHNpZ25hdHVyZS5zKTtcbiAgICByZXR1cm4gY29uY2F0SGV4KFtcbiAgICAgICAgJzB4MDEnLFxuICAgICAgICB0b1JscChzZXJpYWxpemVkVHJhbnNhY3Rpb24pLFxuICAgIF0pO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplVHJhbnNhY3Rpb25MZWdhY3kodHJhbnNhY3Rpb24sIHNpZ25hdHVyZSkge1xuICAgIGNvbnN0IHsgY2hhaW5JZCA9IDAsIGdhcywgZGF0YSwgbm9uY2UsIHRvLCB2YWx1ZSwgZ2FzUHJpY2UgfSA9IHRyYW5zYWN0aW9uO1xuICAgIGFzc2VydFRyYW5zYWN0aW9uTGVnYWN5KHRyYW5zYWN0aW9uKTtcbiAgICBsZXQgc2VyaWFsaXplZFRyYW5zYWN0aW9uID0gW1xuICAgICAgICBub25jZSA/IHRvSGV4KG5vbmNlKSA6ICcweCcsXG4gICAgICAgIGdhc1ByaWNlID8gdG9IZXgoZ2FzUHJpY2UpIDogJzB4JyxcbiAgICAgICAgZ2FzID8gdG9IZXgoZ2FzKSA6ICcweCcsXG4gICAgICAgIHRvID8/ICcweCcsXG4gICAgICAgIHZhbHVlID8gdG9IZXgodmFsdWUpIDogJzB4JyxcbiAgICAgICAgZGF0YSA/PyAnMHgnLFxuICAgIF07XG4gICAgaWYgKHNpZ25hdHVyZSkge1xuICAgICAgICBsZXQgdiA9IDI3biArIChzaWduYXR1cmUudiA9PT0gMjduID8gMG4gOiAxbik7XG4gICAgICAgIGlmIChjaGFpbklkID4gMClcbiAgICAgICAgICAgIHYgPSBCaWdJbnQoY2hhaW5JZCAqIDIpICsgQmlnSW50KDM1biArIHNpZ25hdHVyZS52IC0gMjduKTtcbiAgICAgICAgZWxzZSBpZiAoc2lnbmF0dXJlLnYgIT09IHYpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZExlZ2FjeVZFcnJvcih7IHY6IHNpZ25hdHVyZS52IH0pO1xuICAgICAgICBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBbXG4gICAgICAgICAgICAuLi5zZXJpYWxpemVkVHJhbnNhY3Rpb24sXG4gICAgICAgICAgICB0b0hleCh2KSxcbiAgICAgICAgICAgIHNpZ25hdHVyZS5yLFxuICAgICAgICAgICAgc2lnbmF0dXJlLnMsXG4gICAgICAgIF07XG4gICAgfVxuICAgIGVsc2UgaWYgKGNoYWluSWQgPiAwKSB7XG4gICAgICAgIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiA9IFtcbiAgICAgICAgICAgIC4uLnNlcmlhbGl6ZWRUcmFuc2FjdGlvbixcbiAgICAgICAgICAgIHRvSGV4KGNoYWluSWQpLFxuICAgICAgICAgICAgJzB4JyxcbiAgICAgICAgICAgICcweCcsXG4gICAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiB0b1JscChzZXJpYWxpemVkVHJhbnNhY3Rpb24pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VyaWFsaXplVHJhbnNhY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/transaction/serializeTransaction.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/typedData.js": -/*!*******************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/typedData.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ validateTypedData: function() { return /* binding */ validateTypedData; }\n/* harmony export */ });\n/* harmony import */ var _errors_abi_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../errors/abi.js */ \"./node_modules/viem/dist/esm/errors/abi.js\");\n/* harmony import */ var _errors_address_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../errors/address.js */ \"./node_modules/viem/dist/esm/errors/address.js\");\n/* harmony import */ var _address_isAddress_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./address/isAddress.js */ \"./node_modules/viem/dist/esm/utils/address/isAddress.js\");\n/* harmony import */ var _data_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./data/size.js */ \"./node_modules/viem/dist/esm/utils/data/size.js\");\n/* harmony import */ var _encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encoding/toHex.js */ \"./node_modules/viem/dist/esm/utils/encoding/toHex.js\");\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./regex.js */ \"./node_modules/viem/dist/esm/utils/regex.js\");\n\n\n\n\n\n\nfunction validateTypedData({ domain, message, primaryType, types: types_, }) {\n const types = types_;\n const validateData = (struct, value_) => {\n for (const param of struct) {\n const { name, type: type_ } = param;\n const type = type_;\n const value = value_[name];\n const integerMatch = type.match(_regex_js__WEBPACK_IMPORTED_MODULE_0__.integerRegex);\n if (integerMatch &&\n (typeof value === 'number' || typeof value === 'bigint')) {\n const [_type, base, size_] = integerMatch;\n // If number cannot be cast to a sized hex value, it is out of range\n // and will throw.\n (0,_encoding_toHex_js__WEBPACK_IMPORTED_MODULE_1__.numberToHex)(value, {\n signed: base === 'int',\n size: parseInt(size_) / 8,\n });\n }\n if (type === 'address' && typeof value === 'string' && !(0,_address_isAddress_js__WEBPACK_IMPORTED_MODULE_2__.isAddress)(value))\n throw new _errors_address_js__WEBPACK_IMPORTED_MODULE_3__.InvalidAddressError({ address: value });\n const bytesMatch = type.match(_regex_js__WEBPACK_IMPORTED_MODULE_0__.bytesRegex);\n if (bytesMatch) {\n const [_type, size_] = bytesMatch;\n if (size_ && (0,_data_size_js__WEBPACK_IMPORTED_MODULE_4__.size)(value) !== parseInt(size_))\n throw new _errors_abi_js__WEBPACK_IMPORTED_MODULE_5__.BytesSizeMismatchError({\n expectedSize: parseInt(size_),\n givenSize: (0,_data_size_js__WEBPACK_IMPORTED_MODULE_4__.size)(value),\n });\n }\n const struct = types[type];\n if (struct)\n validateData(struct, value);\n }\n };\n // Validate domain types.\n if (types['EIP712Domain'] && domain)\n validateData(types['EIP712Domain'], domain);\n if (primaryType !== 'EIP712Domain') {\n // Validate message types.\n const type = types[primaryType];\n validateData(type, message);\n }\n}\n//# sourceMappingURL=typedData.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy90eXBlZERhdGEuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUEwRDtBQUNDO0FBQ1I7QUFDYjtBQUNZO0FBQ0k7QUFDL0MsNkJBQTZCLDhDQUE4QztBQUNsRjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isb0JBQW9CO0FBQ3hDO0FBQ0E7QUFDQSw0Q0FBNEMsbURBQVk7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwrREFBVztBQUMzQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0Esb0VBQW9FLGdFQUFTO0FBQzdFLDBCQUEwQixtRUFBbUIsR0FBRyxnQkFBZ0I7QUFDaEUsMENBQTBDLGlEQUFVO0FBQ3BEO0FBQ0E7QUFDQSw2QkFBNkIsbURBQUk7QUFDakMsOEJBQThCLGtFQUFzQjtBQUNwRDtBQUNBLG1DQUFtQyxtREFBSTtBQUN2QyxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvdHlwZWREYXRhLmpzPzgzMTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnl0ZXNTaXplTWlzbWF0Y2hFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9hYmkuanMnO1xuaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9hZGRyZXNzLmpzJztcbmltcG9ydCB7IGlzQWRkcmVzcyB9IGZyb20gJy4vYWRkcmVzcy9pc0FkZHJlc3MuanMnO1xuaW1wb3J0IHsgc2l6ZSB9IGZyb20gJy4vZGF0YS9zaXplLmpzJztcbmltcG9ydCB7IG51bWJlclRvSGV4IH0gZnJvbSAnLi9lbmNvZGluZy90b0hleC5qcyc7XG5pbXBvcnQgeyBieXRlc1JlZ2V4LCBpbnRlZ2VyUmVnZXggfSBmcm9tICcuL3JlZ2V4LmpzJztcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVR5cGVkRGF0YSh7IGRvbWFpbiwgbWVzc2FnZSwgcHJpbWFyeVR5cGUsIHR5cGVzOiB0eXBlc18sIH0pIHtcbiAgICBjb25zdCB0eXBlcyA9IHR5cGVzXztcbiAgICBjb25zdCB2YWxpZGF0ZURhdGEgPSAoc3RydWN0LCB2YWx1ZV8pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwYXJhbSBvZiBzdHJ1Y3QpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSwgdHlwZTogdHlwZV8gfSA9IHBhcmFtO1xuICAgICAgICAgICAgY29uc3QgdHlwZSA9IHR5cGVfO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZV9bbmFtZV07XG4gICAgICAgICAgICBjb25zdCBpbnRlZ2VyTWF0Y2ggPSB0eXBlLm1hdGNoKGludGVnZXJSZWdleCk7XG4gICAgICAgICAgICBpZiAoaW50ZWdlck1hdGNoICYmXG4gICAgICAgICAgICAgICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbX3R5cGUsIGJhc2UsIHNpemVfXSA9IGludGVnZXJNYXRjaDtcbiAgICAgICAgICAgICAgICAvLyBJZiBudW1iZXIgY2Fubm90IGJlIGNhc3QgdG8gYSBzaXplZCBoZXggdmFsdWUsIGl0IGlzIG91dCBvZiByYW5nZVxuICAgICAgICAgICAgICAgIC8vIGFuZCB3aWxsIHRocm93LlxuICAgICAgICAgICAgICAgIG51bWJlclRvSGV4KHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgICAgIHNpZ25lZDogYmFzZSA9PT0gJ2ludCcsXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHBhcnNlSW50KHNpemVfKSAvIDgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2FkZHJlc3MnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWlzQWRkcmVzcyh2YWx1ZSkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoeyBhZGRyZXNzOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgIGNvbnN0IGJ5dGVzTWF0Y2ggPSB0eXBlLm1hdGNoKGJ5dGVzUmVnZXgpO1xuICAgICAgICAgICAgaWYgKGJ5dGVzTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbX3R5cGUsIHNpemVfXSA9IGJ5dGVzTWF0Y2g7XG4gICAgICAgICAgICAgICAgaWYgKHNpemVfICYmIHNpemUodmFsdWUpICE9PSBwYXJzZUludChzaXplXykpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBCeXRlc1NpemVNaXNtYXRjaEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkU2l6ZTogcGFyc2VJbnQoc2l6ZV8pLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2l2ZW5TaXplOiBzaXplKHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzdHJ1Y3QgPSB0eXBlc1t0eXBlXTtcbiAgICAgICAgICAgIGlmIChzdHJ1Y3QpXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVEYXRhKHN0cnVjdCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvLyBWYWxpZGF0ZSBkb21haW4gdHlwZXMuXG4gICAgaWYgKHR5cGVzWydFSVA3MTJEb21haW4nXSAmJiBkb21haW4pXG4gICAgICAgIHZhbGlkYXRlRGF0YSh0eXBlc1snRUlQNzEyRG9tYWluJ10sIGRvbWFpbik7XG4gICAgaWYgKHByaW1hcnlUeXBlICE9PSAnRUlQNzEyRG9tYWluJykge1xuICAgICAgICAvLyBWYWxpZGF0ZSBtZXNzYWdlIHR5cGVzLlxuICAgICAgICBjb25zdCB0eXBlID0gdHlwZXNbcHJpbWFyeVR5cGVdO1xuICAgICAgICB2YWxpZGF0ZURhdGEodHlwZSwgbWVzc2FnZSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHlwZWREYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/typedData.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/uid.js": -/*!*************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/uid.js ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ uid: function() { return /* binding */ uid; }\n/* harmony export */ });\nconst size = 256;\nlet index = size;\nlet buffer;\nfunction uid(length = 11) {\n if (!buffer || index + length > size * 2) {\n buffer = '';\n index = 0;\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1);\n }\n }\n return buffer.substring(index, index++ + length);\n}\n//# sourceMappingURL=uid.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91aWQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFVBQVU7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3VpZC5qcz83MTdkIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNpemUgPSAyNTY7XG5sZXQgaW5kZXggPSBzaXplO1xubGV0IGJ1ZmZlcjtcbmV4cG9ydCBmdW5jdGlvbiB1aWQobGVuZ3RoID0gMTEpIHtcbiAgICBpZiAoIWJ1ZmZlciB8fCBpbmRleCArIGxlbmd0aCA+IHNpemUgKiAyKSB7XG4gICAgICAgIGJ1ZmZlciA9ICcnO1xuICAgICAgICBpbmRleCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgICAgICBidWZmZXIgKz0gKCgyNTYgKyBNYXRoLnJhbmRvbSgpICogMjU2KSB8IDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1ZmZlci5zdWJzdHJpbmcoaW5kZXgsIGluZGV4KysgKyBsZW5ndGgpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dWlkLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/uid.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/unit/formatEther.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/unit/formatEther.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatEther: function() { return /* binding */ formatEther; }\n/* harmony export */ });\n/* harmony import */ var _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/esm/constants/unit.js\");\n/* harmony import */ var _formatUnits_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/formatUnits.js\");\n\n\nfunction formatEther(wei, unit = 'wei') {\n return (0,_formatUnits_js__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(wei, _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__.etherUnits[unit]);\n}\n//# sourceMappingURL=formatEther.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L2Zvcm1hdEV0aGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFxRDtBQUNOO0FBQ3hDO0FBQ1AsV0FBVyw0REFBVyxNQUFNLDBEQUFVO0FBQ3RDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3ZpZW0vZGlzdC9lc20vdXRpbHMvdW5pdC9mb3JtYXRFdGhlci5qcz84NDRiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV0aGVyVW5pdHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdW5pdC5qcyc7XG5pbXBvcnQgeyBmb3JtYXRVbml0cyB9IGZyb20gJy4vZm9ybWF0VW5pdHMuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEV0aGVyKHdlaSwgdW5pdCA9ICd3ZWknKSB7XG4gICAgcmV0dXJuIGZvcm1hdFVuaXRzKHdlaSwgZXRoZXJVbml0c1t1bml0XSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXRFdGhlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/unit/formatEther.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/unit/formatGwei.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/unit/formatGwei.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatGwei: function() { return /* binding */ formatGwei; }\n/* harmony export */ });\n/* harmony import */ var _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/esm/constants/unit.js\");\n/* harmony import */ var _formatUnits_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/formatUnits.js\");\n\n\nfunction formatGwei(wei, unit = 'wei') {\n return (0,_formatUnits_js__WEBPACK_IMPORTED_MODULE_0__.formatUnits)(wei, _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__.gweiUnits[unit]);\n}\n//# sourceMappingURL=formatGwei.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L2Zvcm1hdEd3ZWkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW9EO0FBQ0w7QUFDeEM7QUFDUCxXQUFXLDREQUFXLE1BQU0seURBQVM7QUFDckM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L2Zvcm1hdEd3ZWkuanM/YWM1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnd2VpVW5pdHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdW5pdC5qcyc7XG5pbXBvcnQgeyBmb3JtYXRVbml0cyB9IGZyb20gJy4vZm9ybWF0VW5pdHMuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEd3ZWkod2VpLCB1bml0ID0gJ3dlaScpIHtcbiAgICByZXR1cm4gZm9ybWF0VW5pdHMod2VpLCBnd2VpVW5pdHNbdW5pdF0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0R3dlaS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/unit/formatGwei.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/unit/formatUnits.js": -/*!**************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/unit/formatUnits.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatUnits: function() { return /* binding */ formatUnits; }\n/* harmony export */ });\nfunction formatUnits(value, decimals) {\n let display = value.toString();\n const negative = display.startsWith('-');\n if (negative)\n display = display.slice(1);\n display = display.padStart(decimals, '0');\n let [integer, fraction] = [\n display.slice(0, display.length - decimals),\n display.slice(display.length - decimals),\n ];\n fraction = fraction.replace(/(0+)$/, '');\n return `${negative ? '-' : ''}${integer || '0'}${fraction ? `.${fraction}` : ''}`;\n}\n//# sourceMappingURL=formatUnits.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L2Zvcm1hdFVuaXRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxTQUFTLE9BQU87QUFDcEY7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L2Zvcm1hdFVuaXRzLmpzPzhhNjIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFVuaXRzKHZhbHVlLCBkZWNpbWFscykge1xuICAgIGxldCBkaXNwbGF5ID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICBjb25zdCBuZWdhdGl2ZSA9IGRpc3BsYXkuc3RhcnRzV2l0aCgnLScpO1xuICAgIGlmIChuZWdhdGl2ZSlcbiAgICAgICAgZGlzcGxheSA9IGRpc3BsYXkuc2xpY2UoMSk7XG4gICAgZGlzcGxheSA9IGRpc3BsYXkucGFkU3RhcnQoZGVjaW1hbHMsICcwJyk7XG4gICAgbGV0IFtpbnRlZ2VyLCBmcmFjdGlvbl0gPSBbXG4gICAgICAgIGRpc3BsYXkuc2xpY2UoMCwgZGlzcGxheS5sZW5ndGggLSBkZWNpbWFscyksXG4gICAgICAgIGRpc3BsYXkuc2xpY2UoZGlzcGxheS5sZW5ndGggLSBkZWNpbWFscyksXG4gICAgXTtcbiAgICBmcmFjdGlvbiA9IGZyYWN0aW9uLnJlcGxhY2UoLygwKykkLywgJycpO1xuICAgIHJldHVybiBgJHtuZWdhdGl2ZSA/ICctJyA6ICcnfSR7aW50ZWdlciB8fCAnMCd9JHtmcmFjdGlvbiA/IGAuJHtmcmFjdGlvbn1gIDogJyd9YDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdFVuaXRzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/unit/formatUnits.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/unit/parseEther.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/unit/parseEther.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseEther: function() { return /* binding */ parseEther; }\n/* harmony export */ });\n/* harmony import */ var _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/esm/constants/unit.js\");\n/* harmony import */ var _parseUnits_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parseUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/parseUnits.js\");\n\n\nfunction parseEther(ether, unit = 'wei') {\n return (0,_parseUnits_js__WEBPACK_IMPORTED_MODULE_0__.parseUnits)(ether, _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__.etherUnits[unit]);\n}\n//# sourceMappingURL=parseEther.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L3BhcnNlRXRoZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXFEO0FBQ1I7QUFDdEM7QUFDUCxXQUFXLDBEQUFVLFFBQVEsMERBQVU7QUFDdkM7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L3BhcnNlRXRoZXIuanM/ZDA1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBldGhlclVuaXRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3VuaXQuanMnO1xuaW1wb3J0IHsgcGFyc2VVbml0cyB9IGZyb20gJy4vcGFyc2VVbml0cy5qcyc7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFdGhlcihldGhlciwgdW5pdCA9ICd3ZWknKSB7XG4gICAgcmV0dXJuIHBhcnNlVW5pdHMoZXRoZXIsIGV0aGVyVW5pdHNbdW5pdF0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFyc2VFdGhlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/unit/parseEther.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/unit/parseGwei.js": -/*!************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/unit/parseGwei.js ***! - \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseGwei: function() { return /* binding */ parseGwei; }\n/* harmony export */ });\n/* harmony import */ var _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants/unit.js */ \"./node_modules/viem/dist/esm/constants/unit.js\");\n/* harmony import */ var _parseUnits_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parseUnits.js */ \"./node_modules/viem/dist/esm/utils/unit/parseUnits.js\");\n\n\nfunction parseGwei(ether, unit = 'wei') {\n return (0,_parseUnits_js__WEBPACK_IMPORTED_MODULE_0__.parseUnits)(ether, _constants_unit_js__WEBPACK_IMPORTED_MODULE_1__.gweiUnits[unit]);\n}\n//# sourceMappingURL=parseGwei.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L3BhcnNlR3dlaS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBb0Q7QUFDUDtBQUN0QztBQUNQLFdBQVcsMERBQVUsUUFBUSx5REFBUztBQUN0QztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy92aWVtL2Rpc3QvZXNtL3V0aWxzL3VuaXQvcGFyc2VHd2VpLmpzPzJiMjIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3dlaVVuaXRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3VuaXQuanMnO1xuaW1wb3J0IHsgcGFyc2VVbml0cyB9IGZyb20gJy4vcGFyc2VVbml0cy5qcyc7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VHd2VpKGV0aGVyLCB1bml0ID0gJ3dlaScpIHtcbiAgICByZXR1cm4gcGFyc2VVbml0cyhldGhlciwgZ3dlaVVuaXRzW3VuaXRdKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlR3dlaS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/unit/parseGwei.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/unit/parseUnits.js": -/*!*************************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/unit/parseUnits.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseUnits: function() { return /* binding */ parseUnits; }\n/* harmony export */ });\nfunction parseUnits(value, decimals) {\n let [integer, fraction = '0'] = value.split('.');\n const negative = integer.startsWith('-');\n if (negative)\n integer = integer.slice(1);\n // trim leading zeros.\n fraction = fraction.replace(/(0+)$/, '');\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n integer = `${Math.round(Number(`${integer}.${fraction}`))}`;\n fraction = '';\n }\n else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ];\n const rounded = Math.round(Number(`${unit}.${right}`));\n if (rounded > 9)\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0');\n else\n fraction = `${left}${rounded}`;\n if (fraction.length > decimals) {\n fraction = fraction.slice(1);\n integer = `${BigInt(integer) + 1n}`;\n }\n fraction = fraction.slice(0, decimals);\n }\n else {\n fraction = fraction.padEnd(decimals, '0');\n }\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`);\n}\n//# sourceMappingURL=parseUnits.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L3BhcnNlVW5pdHMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixxQkFBcUIsUUFBUSxHQUFHLFNBQVMsSUFBSTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDLEtBQUssR0FBRyxNQUFNO0FBQzNEO0FBQ0EsMEJBQTBCLHlCQUF5QjtBQUNuRDtBQUNBLDBCQUEwQixLQUFLLEVBQUUsUUFBUTtBQUN6QztBQUNBO0FBQ0EseUJBQXlCLHFCQUFxQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLFNBQVM7QUFDOUQ7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy91bml0L3BhcnNlVW5pdHMuanM/NzI3YyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcGFyc2VVbml0cyh2YWx1ZSwgZGVjaW1hbHMpIHtcbiAgICBsZXQgW2ludGVnZXIsIGZyYWN0aW9uID0gJzAnXSA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgbmVnYXRpdmUgPSBpbnRlZ2VyLnN0YXJ0c1dpdGgoJy0nKTtcbiAgICBpZiAobmVnYXRpdmUpXG4gICAgICAgIGludGVnZXIgPSBpbnRlZ2VyLnNsaWNlKDEpO1xuICAgIC8vIHRyaW0gbGVhZGluZyB6ZXJvcy5cbiAgICBmcmFjdGlvbiA9IGZyYWN0aW9uLnJlcGxhY2UoLygwKykkLywgJycpO1xuICAgIC8vIHJvdW5kIG9mZiBpZiB0aGUgZnJhY3Rpb24gaXMgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBkZWNpbWFscy5cbiAgICBpZiAoZGVjaW1hbHMgPT09IDApIHtcbiAgICAgICAgaW50ZWdlciA9IGAke01hdGgucm91bmQoTnVtYmVyKGAke2ludGVnZXJ9LiR7ZnJhY3Rpb259YCkpfWA7XG4gICAgICAgIGZyYWN0aW9uID0gJyc7XG4gICAgfVxuICAgIGVsc2UgaWYgKGZyYWN0aW9uLmxlbmd0aCA+IGRlY2ltYWxzKSB7XG4gICAgICAgIGNvbnN0IFtsZWZ0LCB1bml0LCByaWdodF0gPSBbXG4gICAgICAgICAgICBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFscyAtIDEpLFxuICAgICAgICAgICAgZnJhY3Rpb24uc2xpY2UoZGVjaW1hbHMgLSAxLCBkZWNpbWFscyksXG4gICAgICAgICAgICBmcmFjdGlvbi5zbGljZShkZWNpbWFscyksXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKE51bWJlcihgJHt1bml0fS4ke3JpZ2h0fWApKTtcbiAgICAgICAgaWYgKHJvdW5kZWQgPiA5KVxuICAgICAgICAgICAgZnJhY3Rpb24gPSBgJHtCaWdJbnQobGVmdCkgKyBCaWdJbnQoMSl9MGAucGFkU3RhcnQobGVmdC5sZW5ndGggKyAxLCAnMCcpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmcmFjdGlvbiA9IGAke2xlZnR9JHtyb3VuZGVkfWA7XG4gICAgICAgIGlmIChmcmFjdGlvbi5sZW5ndGggPiBkZWNpbWFscykge1xuICAgICAgICAgICAgZnJhY3Rpb24gPSBmcmFjdGlvbi5zbGljZSgxKTtcbiAgICAgICAgICAgIGludGVnZXIgPSBgJHtCaWdJbnQoaW50ZWdlcikgKyAxbn1gO1xuICAgICAgICB9XG4gICAgICAgIGZyYWN0aW9uID0gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbHMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgZnJhY3Rpb24gPSBmcmFjdGlvbi5wYWRFbmQoZGVjaW1hbHMsICcwJyk7XG4gICAgfVxuICAgIHJldHVybiBCaWdJbnQoYCR7bmVnYXRpdmUgPyAnLScgOiAnJ30ke2ludGVnZXJ9JHtmcmFjdGlvbn1gKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlVW5pdHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/unit/parseUnits.js\n")); - -/***/ }), - -/***/ "./node_modules/viem/dist/esm/utils/wait.js": -/*!**************************************************!*\ - !*** ./node_modules/viem/dist/esm/utils/wait.js ***! - \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ wait: function() { return /* binding */ wait; }\n/* harmony export */ });\nasync function wait(time) {\n return new Promise((res) => setTimeout(res, time));\n}\n//# sourceMappingURL=wait.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy93YWl0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdmllbS9kaXN0L2VzbS91dGlscy93YWl0LmpzP2E4Y2UiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXQodGltZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzKSA9PiBzZXRUaW1lb3V0KHJlcywgdGltZSkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FpdC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/viem/dist/esm/utils/wait.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/chains.js": -/*!*******************************************!*\ - !*** ./node_modules/wagmi/dist/chains.js ***! - \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ arbitrum: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.arbitrum; },\n/* harmony export */ arbitrumGoerli: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.arbitrumGoerli; },\n/* harmony export */ arbitrumNova: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.arbitrumNova; },\n/* harmony export */ aurora: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.aurora; },\n/* harmony export */ auroraTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.auroraTestnet; },\n/* harmony export */ avalanche: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.avalanche; },\n/* harmony export */ avalancheFuji: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.avalancheFuji; },\n/* harmony export */ base: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.base; },\n/* harmony export */ baseGoerli: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.baseGoerli; },\n/* harmony export */ boba: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.boba; },\n/* harmony export */ bronos: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.bronos; },\n/* harmony export */ bronosTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.bronosTestnet; },\n/* harmony export */ bsc: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.bsc; },\n/* harmony export */ bscTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.bscTestnet; },\n/* harmony export */ bxn: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.bxn; },\n/* harmony export */ bxnTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.bxnTestnet; },\n/* harmony export */ canto: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.canto; },\n/* harmony export */ celo: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.celo; },\n/* harmony export */ celoAlfajores: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.celoAlfajores; },\n/* harmony export */ celoCannoli: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.celoCannoli; },\n/* harmony export */ classic: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.classic; },\n/* harmony export */ cronos: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.cronos; },\n/* harmony export */ cronosTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.cronosTestnet; },\n/* harmony export */ crossbell: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.crossbell; },\n/* harmony export */ dfk: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.dfk; },\n/* harmony export */ dogechain: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.dogechain; },\n/* harmony export */ edgeware: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.edgeware; },\n/* harmony export */ edgewareTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.edgewareTestnet; },\n/* harmony export */ ekta: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.ekta; },\n/* harmony export */ ektaTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.ektaTestnet; },\n/* harmony export */ eos: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.eos; },\n/* harmony export */ eosTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.eosTestnet; },\n/* harmony export */ evmos: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.evmos; },\n/* harmony export */ evmosTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.evmosTestnet; },\n/* harmony export */ fantom: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.fantom; },\n/* harmony export */ fantomTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.fantomTestnet; },\n/* harmony export */ fibo: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.fibo; },\n/* harmony export */ filecoin: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.filecoin; },\n/* harmony export */ filecoinCalibration: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.filecoinCalibration; },\n/* harmony export */ filecoinHyperspace: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.filecoinHyperspace; },\n/* harmony export */ flare: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.flare; },\n/* harmony export */ flareTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.flareTestnet; },\n/* harmony export */ foundry: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.foundry; },\n/* harmony export */ fuse: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.fuse; },\n/* harmony export */ fuseSparknet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.fuseSparknet; },\n/* harmony export */ gnosis: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.gnosis; },\n/* harmony export */ gnosisChiado: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.gnosisChiado; },\n/* harmony export */ gobi: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.gobi; },\n/* harmony export */ goerli: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.goerli; },\n/* harmony export */ haqqMainnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.haqqMainnet; },\n/* harmony export */ haqqTestedge2: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.haqqTestedge2; },\n/* harmony export */ hardhat: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.hardhat; },\n/* harmony export */ harmonyOne: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.harmonyOne; },\n/* harmony export */ iotex: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.iotex; },\n/* harmony export */ iotexTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.iotexTestnet; },\n/* harmony export */ klaytn: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.klaytn; },\n/* harmony export */ linea: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.linea; },\n/* harmony export */ lineaTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.lineaTestnet; },\n/* harmony export */ localhost: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.localhost; },\n/* harmony export */ mainnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.mainnet; },\n/* harmony export */ mantle: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.mantle; },\n/* harmony export */ mantleTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.mantleTestnet; },\n/* harmony export */ metis: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.metis; },\n/* harmony export */ metisGoerli: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.metisGoerli; },\n/* harmony export */ mev: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.mev; },\n/* harmony export */ mevTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.mevTestnet; },\n/* harmony export */ modeTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.modeTestnet; },\n/* harmony export */ moonbaseAlpha: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.moonbaseAlpha; },\n/* harmony export */ moonbeam: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.moonbeam; },\n/* harmony export */ moonriver: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.moonriver; },\n/* harmony export */ neonDevnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.neonDevnet; },\n/* harmony export */ nexi: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.nexi; },\n/* harmony export */ nexilix: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.nexilix; },\n/* harmony export */ oasys: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.oasys; },\n/* harmony export */ okc: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.okc; },\n/* harmony export */ optimism: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.optimism; },\n/* harmony export */ optimismGoerli: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.optimismGoerli; },\n/* harmony export */ polygon: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.polygon; },\n/* harmony export */ polygonMumbai: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.polygonMumbai; },\n/* harmony export */ polygonZkEvm: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.polygonZkEvm; },\n/* harmony export */ polygonZkEvmTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.polygonZkEvmTestnet; },\n/* harmony export */ pulsechain: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.pulsechain; },\n/* harmony export */ pulsechainV4: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.pulsechainV4; },\n/* harmony export */ qMainnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.qMainnet; },\n/* harmony export */ qTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.qTestnet; },\n/* harmony export */ rollux: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.rollux; },\n/* harmony export */ rolluxTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.rolluxTestnet; },\n/* harmony export */ ronin: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.ronin; },\n/* harmony export */ saigon: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.saigon; },\n/* harmony export */ scrollSepolia: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.scrollSepolia; },\n/* harmony export */ scrollTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.scrollTestnet; },\n/* harmony export */ sepolia: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.sepolia; },\n/* harmony export */ shardeumSphinx: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.shardeumSphinx; },\n/* harmony export */ skaleBlockBrawlers: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleBlockBrawlers; },\n/* harmony export */ skaleCalypso: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCalypso; },\n/* harmony export */ skaleCalypsoTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCalypsoTestnet; },\n/* harmony export */ skaleChaosTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleChaosTestnet; },\n/* harmony export */ skaleCryptoBlades: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCryptoBlades; },\n/* harmony export */ skaleCryptoColosseum: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleCryptoColosseum; },\n/* harmony export */ skaleEuropa: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleEuropa; },\n/* harmony export */ skaleEuropaTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleEuropaTestnet; },\n/* harmony export */ skaleExorde: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleExorde; },\n/* harmony export */ skaleHumanProtocol: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleHumanProtocol; },\n/* harmony export */ skaleNebula: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleNebula; },\n/* harmony export */ skaleNebulaTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleNebulaTestnet; },\n/* harmony export */ skaleRazor: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleRazor; },\n/* harmony export */ skaleTitan: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleTitan; },\n/* harmony export */ skaleTitanTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.skaleTitanTestnet; },\n/* harmony export */ songbird: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.songbird; },\n/* harmony export */ songbirdTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.songbirdTestnet; },\n/* harmony export */ syscoin: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.syscoin; },\n/* harmony export */ syscoinTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.syscoinTestnet; },\n/* harmony export */ taikoTestnetSepolia: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.taikoTestnetSepolia; },\n/* harmony export */ taraxa: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.taraxa; },\n/* harmony export */ taraxaTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.taraxaTestnet; },\n/* harmony export */ telos: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.telos; },\n/* harmony export */ telosTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.telosTestnet; },\n/* harmony export */ thunderTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.thunderTestnet; },\n/* harmony export */ wanchain: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.wanchain; },\n/* harmony export */ wanchainTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.wanchainTestnet; },\n/* harmony export */ xdc: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.xdc; },\n/* harmony export */ xdcTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.xdcTestnet; },\n/* harmony export */ zetachainAthensTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.zetachainAthensTestnet; },\n/* harmony export */ zhejiang: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.zhejiang; },\n/* harmony export */ zkSync: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.zkSync; },\n/* harmony export */ zkSyncTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.zkSyncTestnet; },\n/* harmony export */ zora: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.zora; },\n/* harmony export */ zoraTestnet: function() { return /* reexport safe */ _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__.zoraTestnet; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_chains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/chains */ \"./node_modules/@wagmi/core/dist/chains.js\");\n\"use client\";\n\n// src/chains.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jaGFpbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7QUFrSTRCO0FBa0kxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jaGFpbnMuanM/NzFjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuLy8gc3JjL2NoYWlucy50c1xuaW1wb3J0IHtcbiAgYXJiaXRydW0sXG4gIGFyYml0cnVtR29lcmxpLFxuICBhcmJpdHJ1bU5vdmEsXG4gIGF1cm9yYSxcbiAgYXVyb3JhVGVzdG5ldCxcbiAgYXZhbGFuY2hlLFxuICBhdmFsYW5jaGVGdWppLFxuICBiYXNlLFxuICBiYXNlR29lcmxpLFxuICBib2JhLFxuICBicm9ub3MsXG4gIGJyb25vc1Rlc3RuZXQsXG4gIGJzYyxcbiAgYnNjVGVzdG5ldCxcbiAgYnhuLFxuICBieG5UZXN0bmV0LFxuICBjYW50byxcbiAgY2VsbyxcbiAgY2Vsb0FsZmFqb3JlcyxcbiAgY2Vsb0Nhbm5vbGksXG4gIGNsYXNzaWMsXG4gIGNyb25vcyxcbiAgY3Jvbm9zVGVzdG5ldCxcbiAgY3Jvc3NiZWxsLFxuICBkZmssXG4gIGRvZ2VjaGFpbixcbiAgZWRnZXdhcmUsXG4gIGVkZ2V3YXJlVGVzdG5ldCxcbiAgZW9zLFxuICBlb3NUZXN0bmV0LFxuICBla3RhLFxuICBla3RhVGVzdG5ldCxcbiAgZXZtb3MsXG4gIGV2bW9zVGVzdG5ldCxcbiAgZmFudG9tLFxuICBmYW50b21UZXN0bmV0LFxuICBmaWJvLFxuICBmaWxlY29pbixcbiAgZmlsZWNvaW5DYWxpYnJhdGlvbixcbiAgZmlsZWNvaW5IeXBlcnNwYWNlLFxuICBmbGFyZSxcbiAgZmxhcmVUZXN0bmV0LFxuICBmb3VuZHJ5LFxuICBmdXNlLFxuICBmdXNlU3BhcmtuZXQsXG4gIGdvYmksXG4gIGdvZXJsaSxcbiAgZ25vc2lzLFxuICBnbm9zaXNDaGlhZG8sXG4gIGhhcXFNYWlubmV0LFxuICBoYXFxVGVzdGVkZ2UyLFxuICBoYXJkaGF0LFxuICBoYXJtb255T25lLFxuICBpb3RleCxcbiAgaW90ZXhUZXN0bmV0LFxuICBrbGF5dG4sXG4gIGxpbmVhLFxuICBsaW5lYVRlc3RuZXQsXG4gIGxvY2FsaG9zdCxcbiAgbWFpbm5ldCxcbiAgbWFudGxlLFxuICBtYW50bGVUZXN0bmV0LFxuICBtZXRpcyxcbiAgbWV0aXNHb2VybGksXG4gIG1ldixcbiAgbWV2VGVzdG5ldCxcbiAgbW9kZVRlc3RuZXQsXG4gIG1vb25iYXNlQWxwaGEsXG4gIG1vb25iZWFtLFxuICBtb29ucml2ZXIsXG4gIG5lb25EZXZuZXQsXG4gIG5leGlsaXgsXG4gIG5leGksXG4gIG9hc3lzLFxuICBva2MsXG4gIG9wdGltaXNtLFxuICBvcHRpbWlzbUdvZXJsaSxcbiAgcG9seWdvbixcbiAgcG9seWdvbk11bWJhaSxcbiAgcG9seWdvblprRXZtLFxuICBwb2x5Z29uWmtFdm1UZXN0bmV0LFxuICBwdWxzZWNoYWluLFxuICBwdWxzZWNoYWluVjQsXG4gIHFNYWlubmV0LFxuICBxVGVzdG5ldCxcbiAgcm9sbHV4LFxuICByb2xsdXhUZXN0bmV0LFxuICByb25pbixcbiAgc2FpZ29uLFxuICBzY3JvbGxTZXBvbGlhLFxuICBzY3JvbGxUZXN0bmV0LFxuICBzZXBvbGlhLFxuICBza2FsZUJsb2NrQnJhd2xlcnMsXG4gIHNrYWxlQ2FseXBzbyxcbiAgc2thbGVDYWx5cHNvVGVzdG5ldCxcbiAgc2thbGVDaGFvc1Rlc3RuZXQsXG4gIHNrYWxlQ3J5cHRvQmxhZGVzLFxuICBza2FsZUNyeXB0b0NvbG9zc2V1bSxcbiAgc2thbGVFdXJvcGEsXG4gIHNrYWxlRXVyb3BhVGVzdG5ldCxcbiAgc2thbGVFeG9yZGUsXG4gIHNrYWxlSHVtYW5Qcm90b2NvbCxcbiAgc2thbGVOZWJ1bGEsXG4gIHNrYWxlTmVidWxhVGVzdG5ldCxcbiAgc2thbGVSYXpvcixcbiAgc2thbGVUaXRhbixcbiAgc2thbGVUaXRhblRlc3RuZXQsXG4gIHNvbmdiaXJkLFxuICBzb25nYmlyZFRlc3RuZXQsXG4gIHNoYXJkZXVtU3BoaW54LFxuICBzeXNjb2luLFxuICBzeXNjb2luVGVzdG5ldCxcbiAgdGFpa29UZXN0bmV0U2Vwb2xpYSxcbiAgdGFyYXhhLFxuICB0YXJheGFUZXN0bmV0LFxuICB0ZWxvcyxcbiAgdGVsb3NUZXN0bmV0LFxuICB0aHVuZGVyVGVzdG5ldCxcbiAgd2FuY2hhaW4sXG4gIHdhbmNoYWluVGVzdG5ldCxcbiAgeGRjLFxuICB4ZGNUZXN0bmV0LFxuICB6ZXRhY2hhaW5BdGhlbnNUZXN0bmV0LFxuICB6aGVqaWFuZyxcbiAgemtTeW5jLFxuICB6a1N5bmNUZXN0bmV0LFxuICB6b3JhLFxuICB6b3JhVGVzdG5ldFxufSBmcm9tIFwiQHdhZ21pL2NvcmUvY2hhaW5zXCI7XG5leHBvcnQge1xuICBhcmJpdHJ1bSxcbiAgYXJiaXRydW1Hb2VybGksXG4gIGFyYml0cnVtTm92YSxcbiAgYXVyb3JhLFxuICBhdXJvcmFUZXN0bmV0LFxuICBhdmFsYW5jaGUsXG4gIGF2YWxhbmNoZUZ1amksXG4gIGJhc2UsXG4gIGJhc2VHb2VybGksXG4gIGJvYmEsXG4gIGJyb25vcyxcbiAgYnJvbm9zVGVzdG5ldCxcbiAgYnNjLFxuICBic2NUZXN0bmV0LFxuICBieG4sXG4gIGJ4blRlc3RuZXQsXG4gIGNhbnRvLFxuICBjZWxvLFxuICBjZWxvQWxmYWpvcmVzLFxuICBjZWxvQ2Fubm9saSxcbiAgY2xhc3NpYyxcbiAgY3Jvbm9zLFxuICBjcm9ub3NUZXN0bmV0LFxuICBjcm9zc2JlbGwsXG4gIGRmayxcbiAgZG9nZWNoYWluLFxuICBlZGdld2FyZSxcbiAgZWRnZXdhcmVUZXN0bmV0LFxuICBla3RhLFxuICBla3RhVGVzdG5ldCxcbiAgZW9zLFxuICBlb3NUZXN0bmV0LFxuICBldm1vcyxcbiAgZXZtb3NUZXN0bmV0LFxuICBmYW50b20sXG4gIGZhbnRvbVRlc3RuZXQsXG4gIGZpYm8sXG4gIGZpbGVjb2luLFxuICBmaWxlY29pbkNhbGlicmF0aW9uLFxuICBmaWxlY29pbkh5cGVyc3BhY2UsXG4gIGZsYXJlLFxuICBmbGFyZVRlc3RuZXQsXG4gIGZvdW5kcnksXG4gIGZ1c2UsXG4gIGZ1c2VTcGFya25ldCxcbiAgZ25vc2lzLFxuICBnbm9zaXNDaGlhZG8sXG4gIGdvYmksXG4gIGdvZXJsaSxcbiAgaGFxcU1haW5uZXQsXG4gIGhhcXFUZXN0ZWRnZTIsXG4gIGhhcmRoYXQsXG4gIGhhcm1vbnlPbmUsXG4gIGlvdGV4LFxuICBpb3RleFRlc3RuZXQsXG4gIGtsYXl0bixcbiAgbGluZWEsXG4gIGxpbmVhVGVzdG5ldCxcbiAgbG9jYWxob3N0LFxuICBtYWlubmV0LFxuICBtYW50bGUsXG4gIG1hbnRsZVRlc3RuZXQsXG4gIG1ldGlzLFxuICBtZXRpc0dvZXJsaSxcbiAgbWV2LFxuICBtZXZUZXN0bmV0LFxuICBtb2RlVGVzdG5ldCxcbiAgbW9vbmJhc2VBbHBoYSxcbiAgbW9vbmJlYW0sXG4gIG1vb25yaXZlcixcbiAgbmVvbkRldm5ldCxcbiAgbmV4aSxcbiAgbmV4aWxpeCxcbiAgb2FzeXMsXG4gIG9rYyxcbiAgb3B0aW1pc20sXG4gIG9wdGltaXNtR29lcmxpLFxuICBwb2x5Z29uLFxuICBwb2x5Z29uTXVtYmFpLFxuICBwb2x5Z29uWmtFdm0sXG4gIHBvbHlnb25aa0V2bVRlc3RuZXQsXG4gIHB1bHNlY2hhaW4sXG4gIHB1bHNlY2hhaW5WNCxcbiAgcU1haW5uZXQsXG4gIHFUZXN0bmV0LFxuICByb2xsdXgsXG4gIHJvbGx1eFRlc3RuZXQsXG4gIHJvbmluLFxuICBzYWlnb24sXG4gIHNjcm9sbFNlcG9saWEsXG4gIHNjcm9sbFRlc3RuZXQsXG4gIHNlcG9saWEsXG4gIHNoYXJkZXVtU3BoaW54LFxuICBza2FsZUJsb2NrQnJhd2xlcnMsXG4gIHNrYWxlQ2FseXBzbyxcbiAgc2thbGVDYWx5cHNvVGVzdG5ldCxcbiAgc2thbGVDaGFvc1Rlc3RuZXQsXG4gIHNrYWxlQ3J5cHRvQmxhZGVzLFxuICBza2FsZUNyeXB0b0NvbG9zc2V1bSxcbiAgc2thbGVFdXJvcGEsXG4gIHNrYWxlRXVyb3BhVGVzdG5ldCxcbiAgc2thbGVFeG9yZGUsXG4gIHNrYWxlSHVtYW5Qcm90b2NvbCxcbiAgc2thbGVOZWJ1bGEsXG4gIHNrYWxlTmVidWxhVGVzdG5ldCxcbiAgc2thbGVSYXpvcixcbiAgc2thbGVUaXRhbixcbiAgc2thbGVUaXRhblRlc3RuZXQsXG4gIHNvbmdiaXJkLFxuICBzb25nYmlyZFRlc3RuZXQsXG4gIHN5c2NvaW4sXG4gIHN5c2NvaW5UZXN0bmV0LFxuICB0YWlrb1Rlc3RuZXRTZXBvbGlhLFxuICB0YXJheGEsXG4gIHRhcmF4YVRlc3RuZXQsXG4gIHRlbG9zLFxuICB0ZWxvc1Rlc3RuZXQsXG4gIHRodW5kZXJUZXN0bmV0LFxuICB3YW5jaGFpbixcbiAgd2FuY2hhaW5UZXN0bmV0LFxuICB4ZGMsXG4gIHhkY1Rlc3RuZXQsXG4gIHpldGFjaGFpbkF0aGVuc1Rlc3RuZXQsXG4gIHpoZWppYW5nLFxuICB6a1N5bmMsXG4gIHprU3luY1Rlc3RuZXQsXG4gIHpvcmEsXG4gIHpvcmFUZXN0bmV0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/chains.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/connectors/coinbaseWallet.js": -/*!**************************************************************!*\ - !*** ./node_modules/wagmi/dist/connectors/coinbaseWallet.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CoinbaseWalletConnector: function() { return /* reexport safe */ _wagmi_core_connectors_coinbaseWallet__WEBPACK_IMPORTED_MODULE_0__.CoinbaseWalletConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_connectors_coinbaseWallet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/connectors/coinbaseWallet */ \"./node_modules/@wagmi/core/dist/connectors/coinbaseWallet.js\");\n\"use client\";\n\n// src/connectors/coinbaseWallet.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL2NvaW5iYXNlV2FsbGV0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0FBRUE7QUFDZ0Y7QUFHOUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dhZ21pL2Rpc3QvY29ubmVjdG9ycy9jb2luYmFzZVdhbGxldC5qcz8xYjIxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG4vLyBzcmMvY29ubmVjdG9ycy9jb2luYmFzZVdhbGxldC50c1xuaW1wb3J0IHsgQ29pbmJhc2VXYWxsZXRDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2NvcmUvY29ubmVjdG9ycy9jb2luYmFzZVdhbGxldFwiO1xuZXhwb3J0IHtcbiAgQ29pbmJhc2VXYWxsZXRDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/connectors/coinbaseWallet.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/connectors/injected.js": -/*!********************************************************!*\ - !*** ./node_modules/wagmi/dist/connectors/injected.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InjectedConnector: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_0__.InjectedConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core */ \"./node_modules/@wagmi/core/dist/index.js\");\n\"use client\";\n\n// src/connectors/injected.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL2luamVjdGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0FBRUE7QUFDZ0Q7QUFHOUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dhZ21pL2Rpc3QvY29ubmVjdG9ycy9pbmplY3RlZC5qcz8xNWUxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG4vLyBzcmMvY29ubmVjdG9ycy9pbmplY3RlZC50c1xuaW1wb3J0IHsgSW5qZWN0ZWRDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmV4cG9ydCB7XG4gIEluamVjdGVkQ29ubmVjdG9yXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/connectors/injected.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/connectors/metaMask.js": -/*!********************************************************!*\ - !*** ./node_modules/wagmi/dist/connectors/metaMask.js ***! - \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MetaMaskConnector: function() { return /* reexport safe */ _wagmi_core_connectors_metaMask__WEBPACK_IMPORTED_MODULE_0__.MetaMaskConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_connectors_metaMask__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/connectors/metaMask */ \"./node_modules/@wagmi/core/dist/connectors/metaMask.js\");\n\"use client\";\n\n// src/connectors/metaMask.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL21ldGFNYXNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0FBRUE7QUFDb0U7QUFHbEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dhZ21pL2Rpc3QvY29ubmVjdG9ycy9tZXRhTWFzay5qcz9iZjlmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG4vLyBzcmMvY29ubmVjdG9ycy9tZXRhTWFzay50c1xuaW1wb3J0IHsgTWV0YU1hc2tDb25uZWN0b3IgfSBmcm9tIFwiQHdhZ21pL2NvcmUvY29ubmVjdG9ycy9tZXRhTWFza1wiO1xuZXhwb3J0IHtcbiAgTWV0YU1hc2tDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/connectors/metaMask.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/connectors/safe.js": -/*!****************************************************!*\ - !*** ./node_modules/wagmi/dist/connectors/safe.js ***! - \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SafeConnector: function() { return /* reexport safe */ _wagmi_core_connectors_safe__WEBPACK_IMPORTED_MODULE_0__.SafeConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_connectors_safe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/connectors/safe */ \"./node_modules/@wagmi/core/dist/connectors/safe.js\");\n\"use client\";\n\n// src/connectors/safe.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL3NhZmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFQTtBQUM0RDtBQUcxRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL3NhZmUuanM/NDM5NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuLy8gc3JjL2Nvbm5lY3RvcnMvc2FmZS50c1xuaW1wb3J0IHsgU2FmZUNvbm5lY3RvciB9IGZyb20gXCJAd2FnbWkvY29yZS9jb25uZWN0b3JzL3NhZmVcIjtcbmV4cG9ydCB7XG4gIFNhZmVDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/connectors/safe.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/connectors/walletConnect.js": -/*!*************************************************************!*\ - !*** ./node_modules/wagmi/dist/connectors/walletConnect.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectConnector: function() { return /* reexport safe */ _wagmi_core_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_0__.WalletConnectConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_connectors_walletConnect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/connectors/walletConnect */ \"./node_modules/@wagmi/core/dist/connectors/walletConnect.js\");\n\"use client\";\n\n// src/connectors/walletConnect.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL3dhbGxldENvbm5lY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFQTtBQUM4RTtBQUc1RSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL3dhbGxldENvbm5lY3QuanM/NThkMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuLy8gc3JjL2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdC50c1xuaW1wb3J0IHsgV2FsbGV0Q29ubmVjdENvbm5lY3RvciB9IGZyb20gXCJAd2FnbWkvY29yZS9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RcIjtcbmV4cG9ydCB7XG4gIFdhbGxldENvbm5lY3RDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/connectors/walletConnect.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/connectors/walletConnectLegacy.js": -/*!*******************************************************************!*\ - !*** ./node_modules/wagmi/dist/connectors/walletConnectLegacy.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WalletConnectLegacyConnector: function() { return /* reexport safe */ _wagmi_core_connectors_walletConnectLegacy__WEBPACK_IMPORTED_MODULE_0__.WalletConnectLegacyConnector; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_connectors_walletConnectLegacy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/connectors/walletConnectLegacy */ \"./node_modules/@wagmi/core/dist/connectors/walletConnectLegacy.js\");\n\"use client\";\n\n// src/connectors/walletConnectLegacy.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RMZWdhY3kuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFQTtBQUMwRjtBQUd4RiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RMZWdhY3kuanM/YTU0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuLy8gc3JjL2Nvbm5lY3RvcnMvd2FsbGV0Q29ubmVjdExlZ2FjeS50c1xuaW1wb3J0IHsgV2FsbGV0Q29ubmVjdExlZ2FjeUNvbm5lY3RvciB9IGZyb20gXCJAd2FnbWkvY29yZS9jb25uZWN0b3JzL3dhbGxldENvbm5lY3RMZWdhY3lcIjtcbmV4cG9ydCB7XG4gIFdhbGxldENvbm5lY3RMZWdhY3lDb25uZWN0b3Jcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/connectors/walletConnectLegacy.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/index.js": -/*!******************************************!*\ - !*** ./node_modules/wagmi/dist/index.js ***! - \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChainMismatchError: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.ChainMismatchError; },\n/* harmony export */ ChainNotConfiguredError: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.ChainNotConfiguredError; },\n/* harmony export */ ConfigChainsNotFound: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.ConfigChainsNotFound; },\n/* harmony export */ Connector: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.Connector; },\n/* harmony export */ ConnectorAlreadyConnectedError: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.ConnectorAlreadyConnectedError; },\n/* harmony export */ ConnectorNotFoundError: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.ConnectorNotFoundError; },\n/* harmony export */ Context: function() { return /* binding */ Context; },\n/* harmony export */ SwitchChainNotSupportedError: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.SwitchChainNotSupportedError; },\n/* harmony export */ WagmiConfig: function() { return /* binding */ WagmiConfig; },\n/* harmony export */ configureChains: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.configureChains; },\n/* harmony export */ createConfig: function() { return /* binding */ createConfig; },\n/* harmony export */ createStorage: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.createStorage; },\n/* harmony export */ deepEqual: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.deepEqual; },\n/* harmony export */ deserialize: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.deserialize; },\n/* harmony export */ erc20ABI: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.erc20ABI; },\n/* harmony export */ erc4626ABI: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.erc4626ABI; },\n/* harmony export */ erc721ABI: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.erc721ABI; },\n/* harmony export */ mainnet: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.mainnet; },\n/* harmony export */ paginatedIndexesConfig: function() { return /* binding */ paginatedIndexesConfig; },\n/* harmony export */ readContracts: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.readContracts; },\n/* harmony export */ sepolia: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.sepolia; },\n/* harmony export */ serialize: function() { return /* reexport safe */ _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.serialize; },\n/* harmony export */ useAccount: function() { return /* binding */ useAccount; },\n/* harmony export */ useBalance: function() { return /* binding */ useBalance; },\n/* harmony export */ useBlockNumber: function() { return /* binding */ useBlockNumber; },\n/* harmony export */ useChainId: function() { return /* binding */ useChainId; },\n/* harmony export */ useConfig: function() { return /* binding */ useConfig; },\n/* harmony export */ useConnect: function() { return /* binding */ useConnect; },\n/* harmony export */ useContractEvent: function() { return /* binding */ useContractEvent; },\n/* harmony export */ useContractInfiniteReads: function() { return /* binding */ useContractInfiniteReads; },\n/* harmony export */ useContractRead: function() { return /* binding */ useContractRead; },\n/* harmony export */ useContractReads: function() { return /* binding */ useContractReads; },\n/* harmony export */ useContractWrite: function() { return /* binding */ useContractWrite; },\n/* harmony export */ useDisconnect: function() { return /* binding */ useDisconnect; },\n/* harmony export */ useEnsAddress: function() { return /* binding */ useEnsAddress; },\n/* harmony export */ useEnsAvatar: function() { return /* binding */ useEnsAvatar; },\n/* harmony export */ useEnsName: function() { return /* binding */ useEnsName; },\n/* harmony export */ useEnsResolver: function() { return /* binding */ useEnsResolver; },\n/* harmony export */ useFeeData: function() { return /* binding */ useFeeData; },\n/* harmony export */ useInfiniteQuery: function() { return /* binding */ useInfiniteQuery; },\n/* harmony export */ useMutation: function() { return /* binding */ useMutation; },\n/* harmony export */ useNetwork: function() { return /* binding */ useNetwork; },\n/* harmony export */ usePrepareContractWrite: function() { return /* binding */ usePrepareContractWrite; },\n/* harmony export */ usePrepareSendTransaction: function() { return /* binding */ usePrepareSendTransaction; },\n/* harmony export */ usePublicClient: function() { return /* binding */ usePublicClient; },\n/* harmony export */ useQuery: function() { return /* binding */ useQuery; },\n/* harmony export */ useQueryClient: function() { return /* binding */ useQueryClient2; },\n/* harmony export */ useSendTransaction: function() { return /* binding */ useSendTransaction; },\n/* harmony export */ useSignMessage: function() { return /* binding */ useSignMessage; },\n/* harmony export */ useSignTypedData: function() { return /* binding */ useSignTypedData; },\n/* harmony export */ useSwitchNetwork: function() { return /* binding */ useSwitchNetwork; },\n/* harmony export */ useToken: function() { return /* binding */ useToken; },\n/* harmony export */ useTransaction: function() { return /* binding */ useTransaction; },\n/* harmony export */ useWaitForTransaction: function() { return /* binding */ useWaitForTransaction; },\n/* harmony export */ useWalletClient: function() { return /* binding */ useWalletClient; },\n/* harmony export */ useWatchPendingTransactions: function() { return /* binding */ useWatchPendingTransactions; },\n/* harmony export */ useWebSocketPublicClient: function() { return /* binding */ useWebSocketPublicClient; }\n/* harmony export */ });\n/* harmony import */ var _tanstack_query_sync_storage_persister__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tanstack/query-sync-storage-persister */ \"./node_modules/@tanstack/query-sync-storage-persister/build/lib/index.mjs\");\n/* harmony import */ var _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tanstack/react-query */ \"./node_modules/@tanstack/react-query/build/lib/index.mjs\");\n/* harmony import */ var _tanstack_react_query_persist_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tanstack/react-query-persist-client */ \"./node_modules/@tanstack/react-query-persist-client/build/lib/index.mjs\");\n/* harmony import */ var _wagmi_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wagmi/core */ \"./node_modules/@wagmi/core/dist/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! use-sync-external-store/shim/index.js */ \"./node_modules/use-sync-external-store/shim/index.js\");\n/* harmony import */ var use_sync_external_store_shim_with_selector_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! use-sync-external-store/shim/with-selector.js */ \"./node_modules/use-sync-external-store/shim/with-selector.js\");\n/* harmony import */ var _wagmi_core_internal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wagmi/core/internal */ \"./node_modules/@wagmi/core/dist/internal/index.js\");\n\"use client\";\n\n// src/config.ts\n\n\n\n\nfunction createConfig({\n queryClient = new _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.QueryClient({\n defaultOptions: {\n queries: {\n cacheTime: 1e3 * 60 * 60 * 24,\n networkMode: \"offlineFirst\",\n refetchOnWindowFocus: false,\n retry: 0\n },\n mutations: {\n networkMode: \"offlineFirst\"\n }\n }\n }),\n storage = (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.createStorage)({\n storage: typeof window !== \"undefined\" && window.localStorage ? window.localStorage : _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.noopStorage\n }),\n persister = typeof window !== \"undefined\" ? (0,_tanstack_query_sync_storage_persister__WEBPACK_IMPORTED_MODULE_2__.createSyncStoragePersister)({\n key: \"cache\",\n storage,\n serialize: (x) => x,\n deserialize: (x) => x\n }) : void 0,\n ...args\n}) {\n const config = (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.createConfig)({\n ...args,\n storage\n });\n if (persister)\n (0,_tanstack_react_query_persist_client__WEBPACK_IMPORTED_MODULE_3__.persistQueryClient)({\n queryClient,\n persister,\n dehydrateOptions: {\n shouldDehydrateQuery: (query) => query.cacheTime !== 0 && query.queryKey[0].persist !== false\n }\n });\n return Object.assign(config, { queryClient });\n}\n\n// src/context.ts\n\n\nvar Context = react__WEBPACK_IMPORTED_MODULE_4__.createContext(void 0);\nvar queryClientContext = react__WEBPACK_IMPORTED_MODULE_4__.createContext(\n void 0\n);\nfunction WagmiConfig({\n children,\n config\n}) {\n return react__WEBPACK_IMPORTED_MODULE_4__.createElement(Context.Provider, {\n children: react__WEBPACK_IMPORTED_MODULE_4__.createElement(_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.QueryClientProvider, {\n children,\n client: config.queryClient,\n context: queryClientContext\n }),\n value: config\n });\n}\nfunction useConfig() {\n const config = react__WEBPACK_IMPORTED_MODULE_4__.useContext(Context);\n if (!config)\n throw new Error(\n [\n \"`useConfig` must be used within `WagmiConfig`.\\n\",\n \"Read more: https://wagmi.sh/react/WagmiConfig\"\n ].join(\"\\n\")\n );\n return config;\n}\n\n// src/hooks/accounts/useAccount.ts\n\n\n\n// src/hooks/utils/query/useBaseQuery.ts\n\n\n\n// src/hooks/utils/useSyncExternalStore.ts\n\nvar useSyncExternalStore2 = use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_5__.useSyncExternalStore;\n\n// src/hooks/utils/query/utils.ts\nfunction isQueryKey(value) {\n return Array.isArray(value);\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n if (typeof arg2 === \"function\") {\n return { ...arg3, queryKey: arg1, queryFn: arg2 };\n }\n return { ...arg2, queryKey: arg1 };\n}\nfunction queryKeyHashFn(queryKey17) {\n return JSON.stringify(\n queryKey17,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : typeof val === \"bigint\" ? val.toString() : val\n );\n}\nfunction shouldThrowError(_useErrorBoundary, params) {\n if (typeof _useErrorBoundary === \"function\") {\n return _useErrorBoundary(...params);\n }\n return !!_useErrorBoundary;\n}\nfunction trackResult(result, observer) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n observer.trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n}\n\n// src/hooks/utils/query/useBaseQuery.ts\nfunction useBaseQuery(options, Observer) {\n const queryClient = (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.useQueryClient)({ context: options.context });\n const isRestoring = (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.useIsRestoring)();\n const errorResetBoundary = (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.useQueryErrorResetBoundary)();\n const defaultedOptions = queryClient.defaultQueryOptions({\n ...options,\n queryKeyHashFn\n });\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n if (defaultedOptions.onError) {\n defaultedOptions.onError = _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.notifyManager.batchCalls(\n defaultedOptions.onError\n );\n }\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.notifyManager.batchCalls(\n defaultedOptions.onSuccess\n );\n }\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.notifyManager.batchCalls(\n defaultedOptions.onSettled\n );\n }\n if (defaultedOptions.suspense) {\n if (typeof defaultedOptions.staleTime !== \"number\") {\n defaultedOptions.staleTime = 1e3;\n }\n }\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false;\n }\n }\n const [observer] = react__WEBPACK_IMPORTED_MODULE_4__.useState(\n () => new Observer(\n queryClient,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n useSyncExternalStore2(\n react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (onStoreChange) => isRestoring ? () => void 0 : observer.subscribe(_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n observer.setOptions(defaultedOptions, { listeners: false });\n }, [defaultedOptions, observer]);\n if (defaultedOptions.suspense && result.isLoading && result.isFetching && !isRestoring) {\n throw observer.fetchOptimistic(defaultedOptions).then(({ data }) => {\n defaultedOptions.onSuccess?.(data);\n defaultedOptions.onSettled?.(data, null);\n }).catch((error) => {\n errorResetBoundary.clearReset();\n defaultedOptions.onError?.(error);\n defaultedOptions.onSettled?.(void 0, error);\n });\n }\n if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.useErrorBoundary, [\n result.error,\n observer.getCurrentQuery()\n ])) {\n throw result.error;\n }\n const status = result.status === \"loading\" && result.fetchStatus === \"idle\" ? \"idle\" : result.status;\n const isIdle = status === \"idle\";\n const isLoading = status === \"loading\" && result.fetchStatus === \"fetching\";\n return {\n ...result,\n defaultedOptions,\n isIdle,\n isLoading,\n observer,\n status\n };\n}\n\n// src/hooks/utils/query/useInfiniteQuery.ts\n\nfunction useInfiniteQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const baseQuery = useBaseQuery(\n { context: queryClientContext, ...parsedOptions },\n _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.InfiniteQueryObserver\n );\n const result = {\n data: baseQuery.data,\n error: baseQuery.error,\n fetchNextPage: baseQuery.fetchNextPage,\n fetchStatus: baseQuery.fetchStatus,\n hasNextPage: baseQuery.hasNextPage,\n isError: baseQuery.isError,\n isFetched: baseQuery.isFetched,\n isFetchedAfterMount: baseQuery.isFetchedAfterMount,\n isFetching: baseQuery.isFetching,\n isFetchingNextPage: baseQuery.isFetchingNextPage,\n isIdle: baseQuery.isIdle,\n isLoading: baseQuery.isLoading,\n isRefetching: baseQuery.isRefetching,\n isSuccess: baseQuery.isSuccess,\n refetch: baseQuery.refetch,\n status: baseQuery.status,\n internal: {\n dataUpdatedAt: baseQuery.dataUpdatedAt,\n errorUpdatedAt: baseQuery.errorUpdatedAt,\n failureCount: baseQuery.failureCount,\n isFetchedAfterMount: baseQuery.isFetchedAfterMount,\n isLoadingError: baseQuery.isLoadingError,\n isPaused: baseQuery.isPaused,\n isPlaceholderData: baseQuery.isPlaceholderData,\n isPreviousData: baseQuery.isPreviousData,\n isRefetchError: baseQuery.isRefetchError,\n isStale: baseQuery.isStale,\n remove: baseQuery.remove\n }\n };\n return !baseQuery.defaultedOptions.notifyOnChangeProps ? trackResult(result, baseQuery.observer) : result;\n}\n\n// src/hooks/utils/query/useMutation.ts\n\nfunction useMutation(arg1, arg2, arg3) {\n const options = (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.parseMutationArgs)(arg1, arg2, arg3);\n return (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.useMutation)({ context: queryClientContext, ...options });\n}\n\n// src/hooks/utils/query/useQuery.ts\n\nfunction useQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const baseQuery = useBaseQuery({ context: queryClientContext, ...parsedOptions }, _tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.QueryObserver);\n const result = {\n data: baseQuery.data,\n error: baseQuery.error,\n fetchStatus: baseQuery.fetchStatus,\n isError: baseQuery.isError,\n isFetched: baseQuery.isFetched,\n isFetchedAfterMount: baseQuery.isFetchedAfterMount,\n isFetching: baseQuery.isFetching,\n isIdle: baseQuery.isIdle,\n isLoading: baseQuery.isLoading,\n isRefetching: baseQuery.isRefetching,\n isSuccess: baseQuery.isSuccess,\n refetch: baseQuery.refetch,\n status: baseQuery.status,\n internal: {\n dataUpdatedAt: baseQuery.dataUpdatedAt,\n errorUpdatedAt: baseQuery.errorUpdatedAt,\n failureCount: baseQuery.failureCount,\n isFetchedAfterMount: baseQuery.isFetchedAfterMount,\n isLoadingError: baseQuery.isLoadingError,\n isPaused: baseQuery.isPaused,\n isPlaceholderData: baseQuery.isPlaceholderData,\n isPreviousData: baseQuery.isPreviousData,\n isRefetchError: baseQuery.isRefetchError,\n isStale: baseQuery.isStale,\n remove: baseQuery.remove\n }\n };\n return !baseQuery.defaultedOptions.notifyOnChangeProps ? trackResult(result, baseQuery.observer) : result;\n}\n\n// src/hooks/utils/query/useQueryClient.ts\n\nvar useQueryClient2 = () => (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.useQueryClient)({ context: queryClientContext });\n\n// src/hooks/viem/usePublicClient.ts\n\n\nfunction usePublicClient({\n chainId\n} = {}) {\n return (0,use_sync_external_store_shim_with_selector_js__WEBPACK_IMPORTED_MODULE_6__.useSyncExternalStoreWithSelector)(\n (cb) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.watchPublicClient)({ chainId }, cb),\n () => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getPublicClient)({ chainId }),\n () => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getPublicClient)({ chainId }),\n (x) => x,\n (a, b) => a.uid === b.uid\n );\n}\n\n// src/hooks/viem/useWalletClient.ts\n\n\nfunction queryKey({ chainId }) {\n return [{ entity: \"walletClient\", chainId, persist: false }];\n}\nfunction queryFn({\n queryKey: [{ chainId }]\n}) {\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getWalletClient)({ chainId });\n}\nfunction useWalletClient({\n chainId: chainId_,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const { connector } = useAccount();\n const chainId = useChainId({ chainId: chainId_ });\n const walletClientQuery = useQuery(queryKey({ chainId }), queryFn, {\n cacheTime: 0,\n enabled: Boolean(connector),\n staleTime: Infinity,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n const queryClient = useQueryClient2();\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n const unwatch = (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.watchWalletClient)({ chainId }, (walletClient) => {\n if (walletClient)\n queryClient.invalidateQueries(queryKey({ chainId }));\n else\n queryClient.removeQueries(queryKey({ chainId }));\n });\n return unwatch;\n }, [queryClient, chainId]);\n return walletClientQuery;\n}\n\n// src/hooks/viem/useWebSocketPublicClient.ts\n\n\nfunction useWebSocketPublicClient({ chainId } = {}) {\n return (0,use_sync_external_store_shim_with_selector_js__WEBPACK_IMPORTED_MODULE_6__.useSyncExternalStoreWithSelector)(\n (cb) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.watchWebSocketPublicClient)({ chainId }, cb),\n () => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getWebSocketPublicClient)({ chainId }),\n () => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getWebSocketPublicClient)({ chainId }),\n (x) => x,\n (a, b) => a?.uid === b?.uid\n );\n}\n\n// src/hooks/utils/useChainId.ts\nfunction useChainId({ chainId } = {}) {\n const publicClient = usePublicClient({ chainId });\n return publicClient.chain.id;\n}\n\n// src/hooks/utils/useForceUpdate.ts\n\nfunction useForceUpdate() {\n const [, forceUpdate] = react__WEBPACK_IMPORTED_MODULE_4__.useReducer((x) => x + 1, 0);\n return forceUpdate;\n}\n\n// src/hooks/utils/useInvalidateOnBlock.ts\n\n\n// src/hooks/network-status/useBlockNumber.ts\n\n\nfunction queryKey2({ chainId, scopeKey }) {\n return [{ entity: \"blockNumber\", chainId, scopeKey }];\n}\nfunction queryFn2({\n queryKey: [{ chainId }]\n}) {\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchBlockNumber)({ chainId });\n}\nfunction useBlockNumber({\n cacheTime = 0,\n chainId: chainId_,\n enabled = true,\n scopeKey,\n staleTime,\n suspense,\n watch = false,\n onBlock,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n const publicClient = usePublicClient({ chainId });\n const webSocketPublicClient = useWebSocketPublicClient({ chainId });\n const queryClient = useQueryClient2();\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n if (!enabled)\n return;\n if (!watch && !onBlock)\n return;\n const publicClient_ = webSocketPublicClient ?? publicClient;\n const unwatch = publicClient_.watchBlockNumber({\n onBlockNumber: (blockNumber) => {\n if (watch)\n queryClient.setQueryData(queryKey2({ chainId, scopeKey }), blockNumber);\n if (onBlock)\n onBlock(blockNumber);\n },\n emitOnBegin: true\n });\n return unwatch;\n }, [\n chainId,\n scopeKey,\n onBlock,\n publicClient,\n queryClient,\n watch,\n webSocketPublicClient,\n enabled\n ]);\n return useQuery(queryKey2({ scopeKey, chainId }), queryFn2, {\n cacheTime,\n enabled,\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/network-status/useFeeData.ts\n\n\nfunction queryKey3({\n chainId,\n formatUnits,\n scopeKey\n}) {\n return [{ entity: \"feeData\", chainId, formatUnits, scopeKey }];\n}\nfunction queryFn3({\n queryKey: [{ chainId, formatUnits }]\n}) {\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchFeeData)({ chainId, formatUnits });\n}\nfunction useFeeData({\n cacheTime,\n chainId: chainId_,\n enabled = true,\n formatUnits = \"gwei\",\n scopeKey,\n staleTime,\n suspense,\n watch,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n const queryKey_ = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(\n () => queryKey3({\n chainId,\n formatUnits,\n scopeKey\n }),\n [chainId, formatUnits, scopeKey]\n );\n const feeDataQuery = useQuery(queryKey_, queryFn3, {\n cacheTime,\n enabled,\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n useInvalidateOnBlock({\n chainId,\n enabled: Boolean(enabled && watch),\n queryKey: queryKey_\n });\n return feeDataQuery;\n}\n\n// src/hooks/utils/useInvalidateOnBlock.ts\nfunction useInvalidateOnBlock({\n chainId,\n enabled,\n queryKey: queryKey17\n}) {\n const queryClient = useQueryClient2();\n const onBlock = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n () => queryClient.invalidateQueries({ queryKey: queryKey17 }, { cancelRefetch: false }),\n [queryClient, queryKey17]\n );\n useBlockNumber({\n chainId,\n enabled,\n onBlock: enabled ? onBlock : void 0,\n scopeKey: enabled ? void 0 : \"idle\"\n });\n}\n\n// src/hooks/utils/useSyncExternalStoreWithTracked.ts\n\n\n\nvar isPlainObject2 = (obj) => typeof obj === \"object\" && !Array.isArray(obj);\nfunction useSyncExternalStoreWithTracked(subscribe, getSnapshot, getServerSnapshot = getSnapshot, isEqual = _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.deepEqual) {\n const trackedKeys = react__WEBPACK_IMPORTED_MODULE_4__.useRef([]);\n const result = (0,use_sync_external_store_shim_with_selector_js__WEBPACK_IMPORTED_MODULE_6__.useSyncExternalStoreWithSelector)(\n subscribe,\n getSnapshot,\n getServerSnapshot,\n (x) => x,\n (a, b) => {\n if (isPlainObject2(a) && isPlainObject2(b) && trackedKeys.current.length) {\n for (const key of trackedKeys.current) {\n const equal = isEqual(\n a[key],\n b[key]\n );\n if (!equal)\n return false;\n }\n return true;\n }\n return isEqual(a, b);\n }\n );\n if (isPlainObject2(result)) {\n const trackedResult = { ...result };\n Object.defineProperties(\n trackedResult,\n Object.entries(trackedResult).reduce(\n (res, [key, value]) => {\n return {\n ...res,\n [key]: {\n configurable: false,\n enumerable: true,\n get: () => {\n if (!trackedKeys.current.includes(key)) {\n trackedKeys.current.push(key);\n }\n return value;\n }\n }\n };\n },\n {}\n )\n );\n return trackedResult;\n }\n return result;\n}\n\n// src/hooks/accounts/useAccount.ts\nfunction useAccount({ onConnect, onDisconnect } = {}) {\n const config = useConfig();\n const watchAccount_ = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (callback) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.watchAccount)(callback),\n [config]\n );\n const account = useSyncExternalStoreWithTracked(watchAccount_, _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getAccount);\n const previousAccountRef = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n const previousAccount = previousAccountRef.current;\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n if (previousAccount?.status !== \"connected\" && account.status === \"connected\") {\n onConnect?.({\n address: account.address,\n connector: account.connector,\n isReconnected: previousAccount?.status === \"reconnecting\" || previousAccount?.status === void 0\n });\n }\n if (previousAccount?.status === \"connected\" && account.status === \"disconnected\") {\n onDisconnect?.();\n }\n previousAccountRef.current = account;\n }, [onConnect, onDisconnect, previousAccount, account]);\n return account;\n}\n\n// src/hooks/accounts/useBalance.ts\n\n\nfunction queryKey4({\n address,\n chainId,\n formatUnits,\n scopeKey,\n token\n}) {\n return [\n {\n entity: \"balance\",\n address,\n chainId,\n formatUnits,\n scopeKey,\n token\n }\n ];\n}\nfunction queryFn4({\n queryKey: [{ address, chainId, formatUnits, token }]\n}) {\n if (!address)\n throw new Error(\"address is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchBalance)({ address, chainId, formatUnits, token });\n}\nfunction useBalance({\n address,\n cacheTime,\n chainId: chainId_,\n enabled = true,\n formatUnits,\n scopeKey,\n staleTime,\n suspense,\n token,\n watch,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n const queryKey_ = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(\n () => queryKey4({ address, chainId, formatUnits, scopeKey, token }),\n [address, chainId, formatUnits, scopeKey, token]\n );\n const balanceQuery = useQuery(queryKey_, queryFn4, {\n cacheTime,\n enabled: Boolean(enabled && address),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n useInvalidateOnBlock({\n chainId,\n enabled: Boolean(enabled && watch && address),\n queryKey: queryKey_\n });\n return balanceQuery;\n}\n\n// src/hooks/accounts/useConnect.ts\n\n\nvar mutationKey = (args) => [{ entity: \"connect\", ...args }];\nvar mutationFn = (args) => {\n const { connector, chainId } = args;\n if (!connector)\n throw new Error(\"connector is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.connect)({ connector, chainId });\n};\nfunction useConnect({\n chainId,\n connector,\n onError,\n onMutate,\n onSettled,\n onSuccess\n} = {}) {\n const config = useConfig();\n const {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate,\n mutateAsync,\n reset,\n status,\n variables\n } = useMutation(mutationKey({ connector, chainId }), mutationFn, {\n onError,\n onMutate,\n onSettled,\n onSuccess\n });\n const connect2 = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => {\n return mutate({\n chainId: args?.chainId ?? chainId,\n connector: args?.connector ?? connector\n });\n },\n [chainId, connector, mutate]\n );\n const connectAsync = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => {\n return mutateAsync({\n chainId: args?.chainId ?? chainId,\n connector: args?.connector ?? connector\n });\n },\n [chainId, connector, mutateAsync]\n );\n return {\n connect: connect2,\n connectAsync,\n connectors: config.connectors,\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n pendingConnector: variables?.connector,\n reset,\n status,\n variables\n };\n}\n\n// src/hooks/accounts/useDisconnect.ts\n\nvar mutationKey2 = [{ entity: \"disconnect\" }];\nvar mutationFn2 = () => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.disconnect)();\nfunction useDisconnect({\n onError,\n onMutate,\n onSettled,\n onSuccess\n} = {}) {\n const {\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate: disconnect2,\n mutateAsync: disconnectAsync,\n reset,\n status\n } = useMutation(mutationKey2, mutationFn2, {\n ...onError ? {\n onError(error2, _variables, context) {\n onError(error2, context);\n }\n } : {},\n onMutate,\n ...onSettled ? {\n onSettled(_data, error2, _variables, context) {\n onSettled(error2, context);\n }\n } : {},\n ...onSuccess ? {\n onSuccess(_data, _variables, context) {\n onSuccess(context);\n }\n } : {}\n });\n return {\n disconnect: disconnect2,\n disconnectAsync,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n reset,\n status\n };\n}\n\n// src/hooks/accounts/useNetwork.ts\n\n\nfunction useNetwork() {\n const config = useConfig();\n const watchNetwork_ = (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)(\n (callback) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.watchNetwork)(callback),\n [config]\n );\n return useSyncExternalStoreWithTracked(watchNetwork_, _wagmi_core__WEBPACK_IMPORTED_MODULE_1__.getNetwork);\n}\n\n// src/hooks/accounts/useSignMessage.ts\n\n\nvar mutationKey3 = (args) => [{ entity: \"signMessage\", ...args }];\nvar mutationFn3 = (args) => {\n const { message } = args;\n if (!message)\n throw new Error(\"message is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.signMessage)({ message });\n};\nfunction useSignMessage({\n message,\n onError,\n onMutate,\n onSettled,\n onSuccess\n} = {}) {\n const {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate,\n mutateAsync,\n reset,\n status,\n variables\n } = useMutation(mutationKey3({ message }), mutationFn3, {\n onError,\n onMutate,\n onSettled,\n onSuccess\n });\n const signMessage2 = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => mutate(args || { message }),\n [message, mutate]\n );\n const signMessageAsync = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => mutateAsync(args || { message }),\n [message, mutateAsync]\n );\n return {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n reset,\n signMessage: signMessage2,\n signMessageAsync,\n status,\n variables\n };\n}\n\n// src/hooks/accounts/useSignTypedData.ts\n\n\nfunction mutationKey4({ domain, types, message, primaryType }) {\n return [\n { entity: \"signTypedData\", domain, types, message, primaryType }\n ];\n}\nfunction mutationFn4(args) {\n const { domain, types, primaryType, message } = args;\n if (!domain)\n throw new Error(\"domain is required\");\n if (!types)\n throw new Error(\"types is required\");\n if (!primaryType)\n throw new Error(\"primaryType is required\");\n if (!message)\n throw new Error(\"message is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.signTypedData)({\n domain,\n message,\n primaryType,\n types\n });\n}\nfunction useSignTypedData({\n domain,\n types,\n message,\n primaryType,\n onError,\n onMutate,\n onSettled,\n onSuccess\n} = {}) {\n const {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate,\n mutateAsync,\n reset,\n status,\n variables\n } = useMutation(\n mutationKey4({\n domain,\n message,\n primaryType,\n types\n }),\n mutationFn4,\n {\n onError,\n onMutate,\n onSettled,\n onSuccess\n }\n );\n const signTypedData2 = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => mutate({\n domain: args?.domain ?? domain,\n types: args?.types ?? types,\n message: args?.message ?? message,\n primaryType: args?.primaryType ?? primaryType\n }),\n [domain, types, primaryType, message, mutate]\n );\n const signTypedDataAsync = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => mutateAsync({\n domain: args?.domain ?? domain,\n types: args?.types ?? types,\n message: args?.message ?? message,\n primaryType: args?.primaryType ?? primaryType\n }),\n [domain, types, primaryType, message, mutateAsync]\n );\n return {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n reset,\n signTypedData: signTypedData2,\n signTypedDataAsync,\n status,\n variables\n };\n}\n\n// src/hooks/accounts/useSwitchNetwork.ts\n\n\nvar mutationKey5 = (args) => [{ entity: \"switchNetwork\", ...args }];\nvar mutationFn5 = (args) => {\n const { chainId } = args;\n if (!chainId)\n throw new Error(\"chainId is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.switchNetwork)({ chainId });\n};\nfunction useSwitchNetwork({\n chainId,\n throwForSwitchChainNotSupported,\n onError,\n onMutate,\n onSettled,\n onSuccess\n} = {}) {\n const config = useConfig();\n const forceUpdate = useForceUpdate();\n const {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate,\n mutateAsync,\n reset,\n status,\n variables\n } = useMutation(mutationKey5({ chainId }), mutationFn5, {\n onError,\n onMutate,\n onSettled,\n onSuccess\n });\n const switchNetwork_ = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (chainId_) => mutate({ chainId: chainId_ ?? chainId }),\n [chainId, mutate]\n );\n const switchNetworkAsync_ = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (chainId_) => mutateAsync({ chainId: chainId_ ?? chainId }),\n [chainId, mutateAsync]\n );\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n const unwatch = config.subscribe(\n ({ chains, connector }) => ({\n chains,\n connector\n }),\n forceUpdate\n );\n return unwatch;\n }, [config, forceUpdate]);\n let switchNetwork2;\n let switchNetworkAsync;\n const supportsSwitchChain = !!config.connector?.switchChain;\n if (throwForSwitchChainNotSupported || supportsSwitchChain) {\n switchNetwork2 = switchNetwork_;\n switchNetworkAsync = switchNetworkAsync_;\n }\n return {\n chains: config.chains ?? [],\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n pendingChainId: variables?.chainId,\n reset,\n status,\n switchNetwork: switchNetwork2,\n switchNetworkAsync,\n variables\n };\n}\n\n// src/hooks/contracts/useContractEvent.ts\n\nfunction useContractEvent({\n address,\n chainId,\n abi,\n listener,\n eventName\n} = {}) {\n const publicClient = usePublicClient({ chainId });\n const webSocketPublicClient = useWebSocketPublicClient({ chainId });\n const unwatch = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n if (!abi || !address || !eventName)\n return;\n const publicClient_ = webSocketPublicClient || publicClient;\n unwatch.current = publicClient_.watchContractEvent({\n abi,\n address,\n eventName,\n onLogs: listener\n });\n return unwatch.current;\n }, [abi, address, eventName, publicClient.uid, webSocketPublicClient?.uid]);\n return unwatch.current;\n}\n\n// src/hooks/contracts/useContractInfiniteReads.ts\n\n\n\nfunction queryKey5({\n allowFailure,\n blockNumber,\n blockTag,\n cacheKey,\n scopeKey\n}) {\n return [\n {\n entity: \"readContractsInfinite\",\n allowFailure,\n blockNumber,\n blockTag,\n cacheKey,\n scopeKey\n }\n ];\n}\nfunction queryFn5({\n contracts\n}) {\n return ({\n queryKey: [{ allowFailure, blockNumber, blockTag }],\n pageParam\n }) => {\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.readContracts)({\n allowFailure,\n blockNumber,\n blockTag,\n contracts: contracts(pageParam || void 0)\n });\n };\n}\nfunction useContractInfiniteReads({\n allowFailure,\n blockNumber,\n blockTag,\n cacheKey,\n cacheTime,\n contracts,\n enabled: enabled_ = true,\n getNextPageParam,\n isDataEqual,\n keepPreviousData,\n onError,\n onSettled,\n onSuccess,\n scopeKey,\n select,\n staleTime,\n structuralSharing = (oldData, newData) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.deepEqual)(oldData, newData) ? oldData : (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.replaceEqualDeep)(oldData, newData),\n suspense\n}) {\n const queryKey_ = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(\n () => queryKey5({ allowFailure, blockNumber, blockTag, cacheKey, scopeKey }),\n [allowFailure, blockNumber, blockTag, cacheKey, scopeKey]\n );\n const enabled = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(() => {\n const enabled2 = Boolean(enabled_ && contracts);\n return enabled2;\n }, [contracts, enabled_]);\n return useInfiniteQuery(queryKey_, queryFn5({ contracts }), {\n cacheTime,\n enabled,\n getNextPageParam,\n isDataEqual,\n keepPreviousData,\n select,\n staleTime,\n structuralSharing,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\nfunction paginatedIndexesConfig(fn, {\n perPage,\n start,\n direction\n}) {\n const contracts = (page = 0) => [...Array(perPage).keys()].map((index) => {\n return direction === \"increment\" ? start + index + page * perPage : start - index - page * perPage;\n }).filter((index) => index >= 0).flatMap(fn);\n return {\n contracts,\n getNextPageParam(lastPage, pages) {\n return lastPage?.length === perPage ? pages.length : void 0;\n }\n };\n}\n\n// src/hooks/contracts/useContractRead.ts\n\n\n\nfunction queryKey6({\n account,\n address,\n args,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n scopeKey\n}) {\n return [\n {\n entity: \"readContract\",\n account,\n address,\n args,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n scopeKey\n }\n ];\n}\nfunction queryFn6({ abi }) {\n return async ({\n queryKey: [\n { account, address, args, blockNumber, blockTag, chainId, functionName }\n ]\n }) => {\n if (!abi)\n throw new Error(\"abi is required\");\n if (!address)\n throw new Error(\"address is required\");\n return await (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.readContract)({\n account,\n address,\n args,\n blockNumber,\n blockTag,\n chainId,\n abi,\n functionName\n }) ?? null;\n };\n}\nfunction useContractRead({\n abi,\n address,\n account,\n args,\n blockNumber: blockNumberOverride,\n blockTag,\n cacheOnBlock = false,\n cacheTime,\n chainId: chainId_,\n enabled: enabled_ = true,\n functionName,\n isDataEqual,\n keepPreviousData,\n onError,\n onSettled,\n onSuccess,\n scopeKey,\n select,\n staleTime,\n structuralSharing = (oldData, newData) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.deepEqual)(oldData, newData) ? oldData : (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.replaceEqualDeep)(oldData, newData),\n suspense,\n watch\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n const { data: blockNumber_ } = useBlockNumber({\n chainId,\n enabled: watch || cacheOnBlock,\n scopeKey: watch || cacheOnBlock ? void 0 : \"idle\",\n watch\n });\n const blockNumber = blockNumberOverride ?? blockNumber_;\n const queryKey_ = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(\n () => queryKey6({\n account,\n address,\n args,\n blockNumber: cacheOnBlock ? blockNumber : void 0,\n blockTag,\n chainId,\n functionName,\n scopeKey\n }),\n [\n account,\n address,\n args,\n blockNumber,\n blockTag,\n cacheOnBlock,\n chainId,\n functionName,\n scopeKey\n ]\n );\n const enabled = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(() => {\n let enabled2 = Boolean(enabled_ && abi && address && functionName);\n if (cacheOnBlock)\n enabled2 = Boolean(enabled2 && blockNumber);\n return enabled2;\n }, [abi, address, blockNumber, cacheOnBlock, enabled_, functionName]);\n useInvalidateOnBlock({\n chainId,\n enabled: Boolean(enabled && watch && !cacheOnBlock),\n queryKey: queryKey_\n });\n return useQuery(\n queryKey_,\n queryFn6({\n abi\n }),\n {\n cacheTime,\n enabled,\n isDataEqual,\n keepPreviousData,\n select,\n staleTime,\n structuralSharing,\n suspense,\n onError,\n onSettled,\n onSuccess\n }\n );\n}\n\n// src/hooks/contracts/useContractReads.ts\n\n\n\nfunction queryKey7({\n allowFailure,\n blockNumber,\n blockTag,\n chainId,\n contracts,\n scopeKey\n}) {\n return [\n {\n entity: \"readContracts\",\n allowFailure,\n blockNumber,\n blockTag,\n chainId,\n scopeKey,\n contracts: (contracts ?? []).map(({ address, args, chainId: chainId2, functionName }) => ({\n address,\n args,\n chainId: chainId2,\n functionName\n }))\n }\n ];\n}\nfunction queryFn7({ abis }) {\n return ({\n queryKey: [{ allowFailure, blockNumber, blockTag, contracts: contracts_ }]\n }) => {\n const contracts = contracts_.map((contract, i) => ({\n ...contract,\n abi: abis[i]\n }));\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.readContracts)({\n allowFailure,\n contracts,\n blockNumber,\n blockTag\n });\n };\n}\nfunction useContractReads({\n allowFailure: allowFailure_,\n blockNumber: blockNumberOverride,\n blockTag,\n cacheOnBlock = false,\n cacheTime,\n contracts,\n enabled: enabled_ = true,\n isDataEqual,\n keepPreviousData,\n onError,\n onSettled,\n onSuccess,\n scopeKey,\n select,\n staleTime,\n structuralSharing = (oldData, newData) => (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.deepEqual)(oldData, newData) ? oldData : (0,_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__.replaceEqualDeep)(oldData, newData),\n suspense,\n watch\n} = {}) {\n const allowFailure = allowFailure_ ?? true;\n const { data: blockNumber_ } = useBlockNumber({\n enabled: watch || cacheOnBlock,\n watch\n });\n const chainId = useChainId();\n const blockNumber = blockNumberOverride ?? blockNumber_;\n const queryKey_ = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(\n () => queryKey7({\n allowFailure,\n blockNumber: cacheOnBlock ? blockNumber : void 0,\n blockTag,\n chainId,\n contracts,\n scopeKey\n }),\n [\n allowFailure,\n blockNumber,\n blockTag,\n cacheOnBlock,\n chainId,\n scopeKey,\n contracts\n ]\n );\n const enabled = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(() => {\n let enabled2 = Boolean(\n enabled_ && contracts?.every(\n (x) => x.abi && x.address && x.functionName\n )\n );\n if (cacheOnBlock)\n enabled2 = Boolean(enabled2 && blockNumber);\n return enabled2;\n }, [blockNumber, cacheOnBlock, contracts, enabled_]);\n useInvalidateOnBlock({\n enabled: Boolean(enabled && watch && !cacheOnBlock),\n queryKey: queryKey_\n });\n const abis = (contracts ?? []).map(\n ({ abi }) => abi\n );\n return useQuery(queryKey_, queryFn7({ abis }), {\n cacheTime,\n enabled,\n isDataEqual,\n keepPreviousData,\n staleTime,\n select,\n structuralSharing,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/contracts/useContractWrite.ts\n\n\n\nfunction mutationKey6({\n address,\n abi,\n functionName,\n ...config\n}) {\n const {\n args,\n accessList,\n account,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n request,\n value\n } = config;\n return [\n {\n entity: \"writeContract\",\n address,\n args,\n abi,\n accessList,\n account,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n request,\n value\n }\n ];\n}\nfunction mutationFn6(config) {\n if (config.mode === \"prepared\") {\n if (!config.request)\n throw new Error(\"request is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.writeContract)({\n mode: \"prepared\",\n request: config.request\n });\n }\n if (!config.address)\n throw new Error(\"address is required\");\n if (!config.abi)\n throw new Error(\"abi is required\");\n if (!config.functionName)\n throw new Error(\"functionName is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.writeContract)({\n address: config.address,\n args: config.args,\n chainId: config.chainId,\n abi: config.abi,\n functionName: config.functionName,\n accessList: config.accessList,\n account: config.account,\n gas: config.gas,\n gasPrice: config.gasPrice,\n maxFeePerGas: config.maxFeePerGas,\n maxPriorityFeePerGas: config.maxPriorityFeePerGas,\n nonce: config.nonce,\n value: config.value\n });\n}\nfunction useContractWrite(config) {\n const { address, abi, args, chainId, functionName, mode, request } = config;\n const {\n accessList,\n account,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n } = (0,_wagmi_core_internal__WEBPACK_IMPORTED_MODULE_7__.getSendTransactionParameters)(config);\n const {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate,\n mutateAsync,\n reset,\n status,\n variables\n } = useMutation(\n mutationKey6({\n address,\n abi,\n functionName,\n chainId,\n mode,\n args,\n accessList,\n account,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n request,\n value\n }),\n mutationFn6,\n {\n onError: config.onError,\n onMutate: config.onMutate,\n onSettled: config.onSettled,\n onSuccess: config.onSuccess\n }\n );\n const write = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(() => {\n if (config.mode === \"prepared\") {\n if (!request)\n return void 0;\n return () => mutate({\n mode: \"prepared\",\n request: config.request,\n chainId: config.chainId\n });\n }\n return (overrideConfig) => mutate({\n address,\n args,\n abi,\n functionName,\n chainId,\n accessList,\n account,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value,\n ...overrideConfig\n });\n }, [\n accessList,\n account,\n abi,\n address,\n args,\n chainId,\n config.chainId,\n config.mode,\n config.request,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mutate,\n nonce,\n request,\n value\n ]);\n const writeAsync = react__WEBPACK_IMPORTED_MODULE_4__.useMemo(() => {\n if (config.mode === \"prepared\") {\n if (!request)\n return void 0;\n return () => mutateAsync({\n mode: \"prepared\",\n request: config.request\n });\n }\n return (overrideConfig) => mutateAsync({\n address,\n args,\n abi,\n chainId,\n functionName,\n accessList,\n account,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value,\n ...overrideConfig\n });\n }, [\n accessList,\n account,\n abi,\n address,\n args,\n chainId,\n config.mode,\n config.request,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mutateAsync,\n nonce,\n request,\n value\n ]);\n return {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n reset,\n status,\n variables,\n write,\n writeAsync\n };\n}\n\n// src/hooks/contracts/usePrepareContractWrite.ts\n\n\nfunction queryKey8({\n accessList,\n account,\n activeChainId,\n args,\n address,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n scopeKey,\n walletClientAddress,\n value\n}) {\n return [\n {\n entity: \"prepareContractTransaction\",\n accessList,\n account,\n activeChainId,\n address,\n args,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n scopeKey,\n walletClientAddress,\n value\n }\n ];\n}\nfunction queryFn8({\n abi,\n walletClient\n}) {\n return ({\n queryKey: [\n {\n accessList,\n account,\n args,\n address,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n }\n ]\n }) => {\n if (!abi)\n throw new Error(\"abi is required\");\n if (!address)\n throw new Error(\"address is required\");\n if (!functionName)\n throw new Error(\"functionName is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.prepareWriteContract)({\n abi,\n accessList,\n account,\n args,\n address,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n walletClient,\n value\n });\n };\n}\nfunction usePrepareContractWrite({\n address,\n abi,\n functionName,\n chainId,\n args,\n cacheTime,\n enabled = true,\n scopeKey,\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess,\n ...config\n} = {}) {\n const { chain: activeChain } = useNetwork();\n const { data: walletClient } = useWalletClient({ chainId });\n const {\n accessList,\n account,\n blockNumber,\n blockTag,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n } = (0,_wagmi_core_internal__WEBPACK_IMPORTED_MODULE_7__.getCallParameters)(config);\n const prepareContractWriteQuery = useQuery(\n queryKey8({\n accessList,\n account,\n activeChainId: activeChain?.id,\n address,\n args,\n blockNumber,\n blockTag,\n chainId,\n functionName,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n scopeKey,\n walletClientAddress: walletClient?.account.address,\n value\n }),\n queryFn8({\n abi,\n walletClient\n }),\n {\n cacheTime,\n enabled: Boolean(\n enabled && abi && address && functionName && walletClient\n ),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n }\n );\n return Object.assign(prepareContractWriteQuery, {\n config: {\n chainId,\n mode: \"prepared\",\n request: void 0,\n ...prepareContractWriteQuery.data\n }\n });\n}\n\n// src/hooks/contracts/useToken.ts\n\nfunction queryKey9({\n address,\n chainId,\n formatUnits,\n scopeKey\n}) {\n return [{ entity: \"token\", address, chainId, formatUnits, scopeKey }];\n}\nfunction queryFn9({\n queryKey: [{ address, chainId, formatUnits }]\n}) {\n if (!address)\n throw new Error(\"address is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchToken)({ address, chainId, formatUnits });\n}\nfunction useToken({\n address,\n chainId: chainId_,\n formatUnits = \"ether\",\n cacheTime,\n enabled = true,\n scopeKey,\n staleTime = 1e3 * 60 * 60 * 24,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(\n queryKey9({ address, chainId, formatUnits, scopeKey }),\n queryFn9,\n {\n cacheTime,\n enabled: Boolean(enabled && address),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n }\n );\n}\n\n// src/hooks/ens/useEnsAddress.ts\n\nfunction queryKey10({ chainId, name, scopeKey }) {\n return [{ entity: \"ensAddress\", chainId, name, scopeKey }];\n}\nfunction queryFn10({\n queryKey: [{ chainId, name }]\n}) {\n if (!name)\n throw new Error(\"name is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchEnsAddress)({ chainId, name });\n}\nfunction useEnsAddress({\n cacheTime,\n chainId: chainId_,\n enabled = true,\n name,\n scopeKey,\n staleTime = 1e3 * 60 * 60 * 24,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(queryKey10({ chainId, name, scopeKey }), queryFn10, {\n cacheTime,\n enabled: Boolean(enabled && chainId && name),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/ens/useEnsAvatar.ts\n\nfunction queryKey11({ name, chainId, scopeKey }) {\n return [{ entity: \"ensAvatar\", name, chainId, scopeKey }];\n}\nfunction queryFn11({\n queryKey: [{ name, chainId }]\n}) {\n if (!name)\n throw new Error(\"name is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchEnsAvatar)({ name, chainId });\n}\nfunction useEnsAvatar({\n cacheTime,\n chainId: chainId_,\n enabled = true,\n name,\n scopeKey,\n staleTime = 1e3 * 60 * 60 * 24,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(queryKey11({ name, chainId, scopeKey }), queryFn11, {\n cacheTime,\n enabled: Boolean(enabled && name && chainId),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/ens/useEnsName.ts\n\nfunction queryKey12({\n address,\n chainId,\n scopeKey\n}) {\n return [{ entity: \"ensName\", address, chainId, scopeKey }];\n}\nfunction queryFn12({\n queryKey: [{ address, chainId }]\n}) {\n if (!address)\n throw new Error(\"address is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchEnsName)({ address, chainId });\n}\nfunction useEnsName({\n address,\n cacheTime,\n chainId: chainId_,\n enabled = true,\n scopeKey,\n staleTime = 1e3 * 60 * 60 * 24,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(queryKey12({ address, chainId, scopeKey }), queryFn12, {\n cacheTime,\n enabled: Boolean(enabled && address && chainId),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/ens/useEnsResolver.ts\n\nfunction queryKey13({ chainId, name, scopeKey }) {\n return [\n { entity: \"ensResolver\", chainId, name, scopeKey, persist: false }\n ];\n}\nfunction queryFn13({\n queryKey: [{ chainId, name }]\n}) {\n if (!name)\n throw new Error(\"name is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchEnsResolver)({ chainId, name });\n}\nfunction useEnsResolver({\n chainId: chainId_,\n name,\n enabled = true,\n scopeKey,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(queryKey13({ chainId, name, scopeKey }), queryFn13, {\n cacheTime: 0,\n enabled: Boolean(enabled && chainId && name),\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/transactions/usePrepareSendTransaction.ts\n\nfunction queryKey14({\n accessList,\n account,\n activeChainId,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n scopeKey,\n walletClientAddress\n}) {\n return [\n {\n entity: \"prepareSendTransaction\",\n activeChainId,\n accessList,\n account,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n scopeKey,\n walletClientAddress\n }\n ];\n}\nfunction queryFn14({ walletClient }) {\n return ({\n queryKey: [\n {\n accessList,\n account,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n }\n ]\n }) => {\n if (!to)\n throw new Error(\"to is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.prepareSendTransaction)({\n accessList,\n account,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n walletClient\n });\n };\n}\nfunction usePrepareSendTransaction({\n accessList,\n account,\n chainId,\n cacheTime,\n data,\n enabled = true,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n scopeKey,\n staleTime,\n suspense,\n to,\n value,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const { chain: activeChain } = useNetwork();\n const { data: walletClient } = useWalletClient({ chainId });\n const prepareSendTransactionQuery = useQuery(\n queryKey14({\n accessList,\n activeChainId: activeChain?.id,\n account,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n scopeKey,\n to,\n value,\n walletClientAddress: walletClient?.account.address\n }),\n queryFn14({ walletClient }),\n {\n cacheTime,\n enabled: Boolean(enabled && walletClient && to),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n }\n );\n return Object.assign(prepareSendTransactionQuery, {\n config: {\n mode: \"prepared\",\n ...prepareSendTransactionQuery.isSuccess ? prepareSendTransactionQuery.data : void 0\n }\n });\n}\n\n// src/hooks/transactions/useSendTransaction.ts\n\n\nvar mutationKey7 = (args) => [{ entity: \"sendTransaction\", ...args }];\nvar mutationFn7 = ({\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 if (!to)\n throw new Error(\"to is required.\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.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};\nfunction useSendTransaction({\n accessList,\n account,\n chainId,\n data: data_,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n nonce,\n to,\n value,\n onError,\n onMutate,\n onSettled,\n onSuccess\n} = {}) {\n const {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n mutate,\n mutateAsync,\n reset,\n status,\n variables\n } = useMutation(\n mutationKey7({\n accessList,\n account,\n chainId,\n data: data_,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n nonce,\n to,\n value\n }),\n mutationFn7,\n {\n onError,\n onMutate,\n onSettled,\n onSuccess\n }\n );\n const sendTransaction2 = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => mutate({\n chainId,\n mode,\n ...args || {\n accessList,\n account,\n chainId,\n data: data_,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n nonce,\n value,\n to\n }\n }),\n [\n accessList,\n account,\n chainId,\n data_,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n mutate,\n nonce,\n to,\n value\n ]\n );\n const sendTransactionAsync = react__WEBPACK_IMPORTED_MODULE_4__.useCallback(\n (args) => mutateAsync({\n chainId,\n mode,\n ...args || {\n accessList,\n account,\n chainId,\n data: data_,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n nonce,\n value,\n to\n }\n }),\n [\n accessList,\n account,\n chainId,\n data_,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n mutateAsync,\n nonce,\n to,\n value\n ]\n );\n return {\n data,\n error,\n isError,\n isIdle,\n isLoading,\n isSuccess,\n reset,\n sendTransaction: mode === \"prepared\" && !to ? void 0 : sendTransaction2,\n sendTransactionAsync: mode === \"prepared\" && !to ? void 0 : sendTransactionAsync,\n status,\n variables\n };\n}\n\n// src/hooks/transactions/useTransaction.ts\n\nfunction queryKey15({ chainId, hash, scopeKey }) {\n return [{ entity: \"transaction\", chainId, hash, scopeKey }];\n}\nfunction queryFn15({\n queryKey: [{ chainId, hash }]\n}) {\n if (!hash)\n throw new Error(\"hash is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.fetchTransaction)({ chainId, hash });\n}\nfunction useTransaction({\n cacheTime = 0,\n chainId: chainId_,\n enabled = true,\n hash,\n scopeKey,\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(queryKey15({ chainId, hash, scopeKey }), queryFn15, {\n cacheTime,\n enabled: Boolean(enabled && hash),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n });\n}\n\n// src/hooks/transactions/useWaitForTransaction.ts\n\nfunction queryKey16({\n confirmations,\n chainId,\n hash,\n scopeKey,\n timeout\n}) {\n return [\n {\n entity: \"waitForTransaction\",\n confirmations,\n chainId,\n hash,\n scopeKey,\n timeout\n }\n ];\n}\nfunction queryFn16({\n onReplaced\n}) {\n return ({\n queryKey: [{ chainId, confirmations, hash, timeout }]\n }) => {\n if (!hash)\n throw new Error(\"hash is required\");\n return (0,_wagmi_core__WEBPACK_IMPORTED_MODULE_1__.waitForTransaction)({\n chainId,\n confirmations,\n hash,\n onReplaced,\n timeout\n });\n };\n}\nfunction useWaitForTransaction({\n chainId: chainId_,\n confirmations,\n hash,\n timeout,\n cacheTime,\n enabled = true,\n scopeKey,\n staleTime,\n suspense,\n onError,\n onReplaced,\n onSettled,\n onSuccess\n} = {}) {\n const chainId = useChainId({ chainId: chainId_ });\n return useQuery(\n queryKey16({ chainId, confirmations, hash, scopeKey, timeout }),\n queryFn16({ onReplaced }),\n {\n cacheTime,\n enabled: Boolean(enabled && hash),\n staleTime,\n suspense,\n onError,\n onSettled,\n onSuccess\n }\n );\n}\n\n// src/hooks/transactions/useWatchPendingTransactions.ts\n\nfunction useWatchPendingTransactions({\n chainId: chainId_,\n enabled = true,\n listener\n}) {\n const chainId = useChainId({ chainId: chainId_ });\n const publicClient = usePublicClient({ chainId });\n const webSocketPublicClient = useWebSocketPublicClient({ chainId });\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(() => {\n if (!enabled)\n return;\n const publicClient_ = webSocketPublicClient ?? publicClient;\n return publicClient_.watchPendingTransactions({\n onTransactions: listener\n });\n }, [enabled, listener, publicClient, webSocketPublicClient]);\n}\n\n// src/index.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUk7QUFDTiwrQkFBK0IsbUJBQW1CO0FBQ2xEO0FBQ0EsaUJBQWlCLGlEQUFpRDtBQUNsRSxnQkFBZ0IsWUFBWTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ2lDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELCtCQUErQixtQkFBbUI7QUFDbEQseUNBQXlDLFNBQVM7QUFDbEQsMkRBQTJELFNBQVM7QUFDcEUsRUFBRSw0Q0FBaUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFvQnFCO0FBMkRuQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9pbmRleC5qcz8zODY2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG4vLyBzcmMvY29uZmlnLnRzXG5pbXBvcnQgeyBjcmVhdGVTeW5jU3RvcmFnZVBlcnNpc3RlciB9IGZyb20gXCJAdGFuc3RhY2svcXVlcnktc3luYy1zdG9yYWdlLXBlcnNpc3RlclwiO1xuaW1wb3J0IHsgUXVlcnlDbGllbnQgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5XCI7XG5pbXBvcnQgeyBwZXJzaXN0UXVlcnlDbGllbnQgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5LXBlcnNpc3QtY2xpZW50XCI7XG5pbXBvcnQge1xuICBjcmVhdGVDb25maWcgYXMgY3JlYXRlQ29yZUNvbmZpZyxcbiAgY3JlYXRlU3RvcmFnZSxcbiAgbm9vcFN0b3JhZ2Vcbn0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5mdW5jdGlvbiBjcmVhdGVDb25maWcoe1xuICBxdWVyeUNsaWVudCA9IG5ldyBRdWVyeUNsaWVudCh7XG4gICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2FjaGVUaW1lOiAxZTMgKiA2MCAqIDYwICogMjQsXG4gICAgICAgIG5ldHdvcmtNb2RlOiBcIm9mZmxpbmVGaXJzdFwiLFxuICAgICAgICByZWZldGNoT25XaW5kb3dGb2N1czogZmFsc2UsXG4gICAgICAgIHJldHJ5OiAwXG4gICAgICB9LFxuICAgICAgbXV0YXRpb25zOiB7XG4gICAgICAgIG5ldHdvcmtNb2RlOiBcIm9mZmxpbmVGaXJzdFwiXG4gICAgICB9XG4gICAgfVxuICB9KSxcbiAgc3RvcmFnZSA9IGNyZWF0ZVN0b3JhZ2Uoe1xuICAgIHN0b3JhZ2U6IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2FsU3RvcmFnZSA/IHdpbmRvdy5sb2NhbFN0b3JhZ2UgOiBub29wU3RvcmFnZVxuICB9KSxcbiAgcGVyc2lzdGVyID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IGNyZWF0ZVN5bmNTdG9yYWdlUGVyc2lzdGVyKHtcbiAgICBrZXk6IFwiY2FjaGVcIixcbiAgICBzdG9yYWdlLFxuICAgIHNlcmlhbGl6ZTogKHgpID0+IHgsXG4gICAgZGVzZXJpYWxpemU6ICh4KSA9PiB4XG4gIH0pIDogdm9pZCAwLFxuICAuLi5hcmdzXG59KSB7XG4gIGNvbnN0IGNvbmZpZyA9IGNyZWF0ZUNvcmVDb25maWcoe1xuICAgIC4uLmFyZ3MsXG4gICAgc3RvcmFnZVxuICB9KTtcbiAgaWYgKHBlcnNpc3RlcilcbiAgICBwZXJzaXN0UXVlcnlDbGllbnQoe1xuICAgICAgcXVlcnlDbGllbnQsXG4gICAgICBwZXJzaXN0ZXIsXG4gICAgICBkZWh5ZHJhdGVPcHRpb25zOiB7XG4gICAgICAgIHNob3VsZERlaHlkcmF0ZVF1ZXJ5OiAocXVlcnkpID0+IHF1ZXJ5LmNhY2hlVGltZSAhPT0gMCAmJiBxdWVyeS5xdWVyeUtleVswXS5wZXJzaXN0ICE9PSBmYWxzZVxuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihjb25maWcsIHsgcXVlcnlDbGllbnQgfSk7XG59XG5cbi8vIHNyYy9jb250ZXh0LnRzXG5pbXBvcnQgeyBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG52YXIgQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQodm9pZCAwKTtcbnZhciBxdWVyeUNsaWVudENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KFxuICB2b2lkIDBcbik7XG5mdW5jdGlvbiBXYWdtaUNvbmZpZyh7XG4gIGNoaWxkcmVuLFxuICBjb25maWdcbn0pIHtcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGV4dC5Qcm92aWRlciwge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5jcmVhdGVFbGVtZW50KFF1ZXJ5Q2xpZW50UHJvdmlkZXIsIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY2xpZW50OiBjb25maWcucXVlcnlDbGllbnQsXG4gICAgICBjb250ZXh0OiBxdWVyeUNsaWVudENvbnRleHRcbiAgICB9KSxcbiAgICB2YWx1ZTogY29uZmlnXG4gIH0pO1xufVxuZnVuY3Rpb24gdXNlQ29uZmlnKCkge1xuICBjb25zdCBjb25maWcgPSBSZWFjdC51c2VDb250ZXh0KENvbnRleHQpO1xuICBpZiAoIWNvbmZpZylcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgIFwiYHVzZUNvbmZpZ2AgbXVzdCBiZSB1c2VkIHdpdGhpbiBgV2FnbWlDb25maWdgLlxcblwiLFxuICAgICAgICBcIlJlYWQgbW9yZTogaHR0cHM6Ly93YWdtaS5zaC9yZWFjdC9XYWdtaUNvbmZpZ1wiXG4gICAgICBdLmpvaW4oXCJcXG5cIilcbiAgICApO1xuICByZXR1cm4gY29uZmlnO1xufVxuXG4vLyBzcmMvaG9va3MvYWNjb3VudHMvdXNlQWNjb3VudC50c1xuaW1wb3J0IHsgZ2V0QWNjb3VudCwgd2F0Y2hBY2NvdW50IH0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5pbXBvcnQgKiBhcyBSZWFjdDkgZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9ob29rcy91dGlscy9xdWVyeS91c2VCYXNlUXVlcnkudHNcbmltcG9ydCB7XG4gIG5vdGlmeU1hbmFnZXIsXG4gIHVzZUlzUmVzdG9yaW5nLFxuICB1c2VRdWVyeUNsaWVudCxcbiAgdXNlUXVlcnlFcnJvclJlc2V0Qm91bmRhcnlcbn0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiO1xuaW1wb3J0ICogYXMgUmVhY3QyIGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvaG9va3MvdXRpbHMvdXNlU3luY0V4dGVybmFsU3RvcmUudHNcbmltcG9ydCAqIGFzIHBrZyBmcm9tIFwidXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc2hpbS9pbmRleC5qc1wiO1xudmFyIHVzZVN5bmNFeHRlcm5hbFN0b3JlMiA9IHBrZy51c2VTeW5jRXh0ZXJuYWxTdG9yZTtcblxuLy8gc3JjL2hvb2tzL3V0aWxzL3F1ZXJ5L3V0aWxzLnRzXG5mdW5jdGlvbiBpc1F1ZXJ5S2V5KHZhbHVlKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbn1cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3Qobykge1xuICBpZiAoIWhhc09iamVjdFByb3RvdHlwZShvKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBjdG9yID0gby5jb25zdHJ1Y3RvcjtcbiAgaWYgKHR5cGVvZiBjdG9yID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgY29uc3QgcHJvdCA9IGN0b3IucHJvdG90eXBlO1xuICBpZiAoIWhhc09iamVjdFByb3RvdHlwZShwcm90KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoIXByb3QuaGFzT3duUHJvcGVydHkoXCJpc1Byb3RvdHlwZU9mXCIpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gaGFzT2JqZWN0UHJvdG90eXBlKG8pIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKSA9PT0gXCJbb2JqZWN0IE9iamVjdF1cIjtcbn1cbmZ1bmN0aW9uIHBhcnNlUXVlcnlBcmdzKGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgaWYgKCFpc1F1ZXJ5S2V5KGFyZzEpKSB7XG4gICAgcmV0dXJuIGFyZzE7XG4gIH1cbiAgaWYgKHR5cGVvZiBhcmcyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4geyAuLi5hcmczLCBxdWVyeUtleTogYXJnMSwgcXVlcnlGbjogYXJnMiB9O1xuICB9XG4gIHJldHVybiB7IC4uLmFyZzIsIHF1ZXJ5S2V5OiBhcmcxIH07XG59XG5mdW5jdGlvbiBxdWVyeUtleUhhc2hGbihxdWVyeUtleTE3KSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShcbiAgICBxdWVyeUtleTE3LFxuICAgIChfLCB2YWwpID0+IGlzUGxhaW5PYmplY3QodmFsKSA/IE9iamVjdC5rZXlzKHZhbCkuc29ydCgpLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsW2tleV07XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIHt9KSA6IHR5cGVvZiB2YWwgPT09IFwiYmlnaW50XCIgPyB2YWwudG9TdHJpbmcoKSA6IHZhbFxuICApO1xufVxuZnVuY3Rpb24gc2hvdWxkVGhyb3dFcnJvcihfdXNlRXJyb3JCb3VuZGFyeSwgcGFyYW1zKSB7XG4gIGlmICh0eXBlb2YgX3VzZUVycm9yQm91bmRhcnkgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBfdXNlRXJyb3JCb3VuZGFyeSguLi5wYXJhbXMpO1xuICB9XG4gIHJldHVybiAhIV91c2VFcnJvckJvdW5kYXJ5O1xufVxuZnVuY3Rpb24gdHJhY2tSZXN1bHQocmVzdWx0LCBvYnNlcnZlcikge1xuICBjb25zdCB0cmFja2VkUmVzdWx0ID0ge307XG4gIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRyYWNrZWRSZXN1bHQsIGtleSwge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIudHJhY2tlZFByb3BzLmFkZChrZXkpO1xuICAgICAgICByZXR1cm4gcmVzdWx0W2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gdHJhY2tlZFJlc3VsdDtcbn1cblxuLy8gc3JjL2hvb2tzL3V0aWxzL3F1ZXJ5L3VzZUJhc2VRdWVyeS50c1xuZnVuY3Rpb24gdXNlQmFzZVF1ZXJ5KG9wdGlvbnMsIE9ic2VydmVyKSB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoeyBjb250ZXh0OiBvcHRpb25zLmNvbnRleHQgfSk7XG4gIGNvbnN0IGlzUmVzdG9yaW5nID0gdXNlSXNSZXN0b3JpbmcoKTtcbiAgY29uc3QgZXJyb3JSZXNldEJvdW5kYXJ5ID0gdXNlUXVlcnlFcnJvclJlc2V0Qm91bmRhcnkoKTtcbiAgY29uc3QgZGVmYXVsdGVkT3B0aW9ucyA9IHF1ZXJ5Q2xpZW50LmRlZmF1bHRRdWVyeU9wdGlvbnMoe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgcXVlcnlLZXlIYXNoRm5cbiAgfSk7XG4gIGRlZmF1bHRlZE9wdGlvbnMuX29wdGltaXN0aWNSZXN1bHRzID0gaXNSZXN0b3JpbmcgPyBcImlzUmVzdG9yaW5nXCIgOiBcIm9wdGltaXN0aWNcIjtcbiAgaWYgKGRlZmF1bHRlZE9wdGlvbnMub25FcnJvcikge1xuICAgIGRlZmF1bHRlZE9wdGlvbnMub25FcnJvciA9IG5vdGlmeU1hbmFnZXIuYmF0Y2hDYWxscyhcbiAgICAgIGRlZmF1bHRlZE9wdGlvbnMub25FcnJvclxuICAgICk7XG4gIH1cbiAgaWYgKGRlZmF1bHRlZE9wdGlvbnMub25TdWNjZXNzKSB7XG4gICAgZGVmYXVsdGVkT3B0aW9ucy5vblN1Y2Nlc3MgPSBub3RpZnlNYW5hZ2VyLmJhdGNoQ2FsbHMoXG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLm9uU3VjY2Vzc1xuICAgICk7XG4gIH1cbiAgaWYgKGRlZmF1bHRlZE9wdGlvbnMub25TZXR0bGVkKSB7XG4gICAgZGVmYXVsdGVkT3B0aW9ucy5vblNldHRsZWQgPSBub3RpZnlNYW5hZ2VyLmJhdGNoQ2FsbHMoXG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLm9uU2V0dGxlZFxuICAgICk7XG4gIH1cbiAgaWYgKGRlZmF1bHRlZE9wdGlvbnMuc3VzcGVuc2UpIHtcbiAgICBpZiAodHlwZW9mIGRlZmF1bHRlZE9wdGlvbnMuc3RhbGVUaW1lICE9PSBcIm51bWJlclwiKSB7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLnN0YWxlVGltZSA9IDFlMztcbiAgICB9XG4gIH1cbiAgaWYgKGRlZmF1bHRlZE9wdGlvbnMuc3VzcGVuc2UgfHwgZGVmYXVsdGVkT3B0aW9ucy51c2VFcnJvckJvdW5kYXJ5KSB7XG4gICAgaWYgKCFlcnJvclJlc2V0Qm91bmRhcnkuaXNSZXNldCgpKSB7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLnJldHJ5T25Nb3VudCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBjb25zdCBbb2JzZXJ2ZXJdID0gUmVhY3QyLnVzZVN0YXRlKFxuICAgICgpID0+IG5ldyBPYnNlcnZlcihcbiAgICAgIHF1ZXJ5Q2xpZW50LFxuICAgICAgZGVmYXVsdGVkT3B0aW9uc1xuICAgIClcbiAgKTtcbiAgY29uc3QgcmVzdWx0ID0gb2JzZXJ2ZXIuZ2V0T3B0aW1pc3RpY1Jlc3VsdChkZWZhdWx0ZWRPcHRpb25zKTtcbiAgdXNlU3luY0V4dGVybmFsU3RvcmUyKFxuICAgIFJlYWN0Mi51c2VDYWxsYmFjayhcbiAgICAgIChvblN0b3JlQ2hhbmdlKSA9PiBpc1Jlc3RvcmluZyA/ICgpID0+IHZvaWQgMCA6IG9ic2VydmVyLnN1YnNjcmliZShub3RpZnlNYW5hZ2VyLmJhdGNoQ2FsbHMob25TdG9yZUNoYW5nZSkpLFxuICAgICAgW29ic2VydmVyLCBpc1Jlc3RvcmluZ11cbiAgICApLFxuICAgICgpID0+IG9ic2VydmVyLmdldEN1cnJlbnRSZXN1bHQoKSxcbiAgICAoKSA9PiBvYnNlcnZlci5nZXRDdXJyZW50UmVzdWx0KClcbiAgKTtcbiAgUmVhY3QyLnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZXJyb3JSZXNldEJvdW5kYXJ5LmNsZWFyUmVzZXQoKTtcbiAgfSwgW2Vycm9yUmVzZXRCb3VuZGFyeV0pO1xuICBSZWFjdDIudXNlRWZmZWN0KCgpID0+IHtcbiAgICBvYnNlcnZlci5zZXRPcHRpb25zKGRlZmF1bHRlZE9wdGlvbnMsIHsgbGlzdGVuZXJzOiBmYWxzZSB9KTtcbiAgfSwgW2RlZmF1bHRlZE9wdGlvbnMsIG9ic2VydmVyXSk7XG4gIGlmIChkZWZhdWx0ZWRPcHRpb25zLnN1c3BlbnNlICYmIHJlc3VsdC5pc0xvYWRpbmcgJiYgcmVzdWx0LmlzRmV0Y2hpbmcgJiYgIWlzUmVzdG9yaW5nKSB7XG4gICAgdGhyb3cgb2JzZXJ2ZXIuZmV0Y2hPcHRpbWlzdGljKGRlZmF1bHRlZE9wdGlvbnMpLnRoZW4oKHsgZGF0YSB9KSA9PiB7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLm9uU3VjY2Vzcz8uKGRhdGEpO1xuICAgICAgZGVmYXVsdGVkT3B0aW9ucy5vblNldHRsZWQ/LihkYXRhLCBudWxsKTtcbiAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIGVycm9yUmVzZXRCb3VuZGFyeS5jbGVhclJlc2V0KCk7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLm9uRXJyb3I/LihlcnJvcik7XG4gICAgICBkZWZhdWx0ZWRPcHRpb25zLm9uU2V0dGxlZD8uKHZvaWQgMCwgZXJyb3IpO1xuICAgIH0pO1xuICB9XG4gIGlmIChyZXN1bHQuaXNFcnJvciAmJiAhZXJyb3JSZXNldEJvdW5kYXJ5LmlzUmVzZXQoKSAmJiAhcmVzdWx0LmlzRmV0Y2hpbmcgJiYgc2hvdWxkVGhyb3dFcnJvcihkZWZhdWx0ZWRPcHRpb25zLnVzZUVycm9yQm91bmRhcnksIFtcbiAgICByZXN1bHQuZXJyb3IsXG4gICAgb2JzZXJ2ZXIuZ2V0Q3VycmVudFF1ZXJ5KClcbiAgXSkpIHtcbiAgICB0aHJvdyByZXN1bHQuZXJyb3I7XG4gIH1cbiAgY29uc3Qgc3RhdHVzID0gcmVzdWx0LnN0YXR1cyA9PT0gXCJsb2FkaW5nXCIgJiYgcmVzdWx0LmZldGNoU3RhdHVzID09PSBcImlkbGVcIiA/IFwiaWRsZVwiIDogcmVzdWx0LnN0YXR1cztcbiAgY29uc3QgaXNJZGxlID0gc3RhdHVzID09PSBcImlkbGVcIjtcbiAgY29uc3QgaXNMb2FkaW5nID0gc3RhdHVzID09PSBcImxvYWRpbmdcIiAmJiByZXN1bHQuZmV0Y2hTdGF0dXMgPT09IFwiZmV0Y2hpbmdcIjtcbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN1bHQsXG4gICAgZGVmYXVsdGVkT3B0aW9ucyxcbiAgICBpc0lkbGUsXG4gICAgaXNMb2FkaW5nLFxuICAgIG9ic2VydmVyLFxuICAgIHN0YXR1c1xuICB9O1xufVxuXG4vLyBzcmMvaG9va3MvdXRpbHMvcXVlcnkvdXNlSW5maW5pdGVRdWVyeS50c1xuaW1wb3J0IHsgSW5maW5pdGVRdWVyeU9ic2VydmVyIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiO1xuZnVuY3Rpb24gdXNlSW5maW5pdGVRdWVyeShhcmcxLCBhcmcyLCBhcmczKSB7XG4gIGNvbnN0IHBhcnNlZE9wdGlvbnMgPSBwYXJzZVF1ZXJ5QXJncyhhcmcxLCBhcmcyLCBhcmczKTtcbiAgY29uc3QgYmFzZVF1ZXJ5ID0gdXNlQmFzZVF1ZXJ5KFxuICAgIHsgY29udGV4dDogcXVlcnlDbGllbnRDb250ZXh0LCAuLi5wYXJzZWRPcHRpb25zIH0sXG4gICAgSW5maW5pdGVRdWVyeU9ic2VydmVyXG4gICk7XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBkYXRhOiBiYXNlUXVlcnkuZGF0YSxcbiAgICBlcnJvcjogYmFzZVF1ZXJ5LmVycm9yLFxuICAgIGZldGNoTmV4dFBhZ2U6IGJhc2VRdWVyeS5mZXRjaE5leHRQYWdlLFxuICAgIGZldGNoU3RhdHVzOiBiYXNlUXVlcnkuZmV0Y2hTdGF0dXMsXG4gICAgaGFzTmV4dFBhZ2U6IGJhc2VRdWVyeS5oYXNOZXh0UGFnZSxcbiAgICBpc0Vycm9yOiBiYXNlUXVlcnkuaXNFcnJvcixcbiAgICBpc0ZldGNoZWQ6IGJhc2VRdWVyeS5pc0ZldGNoZWQsXG4gICAgaXNGZXRjaGVkQWZ0ZXJNb3VudDogYmFzZVF1ZXJ5LmlzRmV0Y2hlZEFmdGVyTW91bnQsXG4gICAgaXNGZXRjaGluZzogYmFzZVF1ZXJ5LmlzRmV0Y2hpbmcsXG4gICAgaXNGZXRjaGluZ05leHRQYWdlOiBiYXNlUXVlcnkuaXNGZXRjaGluZ05leHRQYWdlLFxuICAgIGlzSWRsZTogYmFzZVF1ZXJ5LmlzSWRsZSxcbiAgICBpc0xvYWRpbmc6IGJhc2VRdWVyeS5pc0xvYWRpbmcsXG4gICAgaXNSZWZldGNoaW5nOiBiYXNlUXVlcnkuaXNSZWZldGNoaW5nLFxuICAgIGlzU3VjY2VzczogYmFzZVF1ZXJ5LmlzU3VjY2VzcyxcbiAgICByZWZldGNoOiBiYXNlUXVlcnkucmVmZXRjaCxcbiAgICBzdGF0dXM6IGJhc2VRdWVyeS5zdGF0dXMsXG4gICAgaW50ZXJuYWw6IHtcbiAgICAgIGRhdGFVcGRhdGVkQXQ6IGJhc2VRdWVyeS5kYXRhVXBkYXRlZEF0LFxuICAgICAgZXJyb3JVcGRhdGVkQXQ6IGJhc2VRdWVyeS5lcnJvclVwZGF0ZWRBdCxcbiAgICAgIGZhaWx1cmVDb3VudDogYmFzZVF1ZXJ5LmZhaWx1cmVDb3VudCxcbiAgICAgIGlzRmV0Y2hlZEFmdGVyTW91bnQ6IGJhc2VRdWVyeS5pc0ZldGNoZWRBZnRlck1vdW50LFxuICAgICAgaXNMb2FkaW5nRXJyb3I6IGJhc2VRdWVyeS5pc0xvYWRpbmdFcnJvcixcbiAgICAgIGlzUGF1c2VkOiBiYXNlUXVlcnkuaXNQYXVzZWQsXG4gICAgICBpc1BsYWNlaG9sZGVyRGF0YTogYmFzZVF1ZXJ5LmlzUGxhY2Vob2xkZXJEYXRhLFxuICAgICAgaXNQcmV2aW91c0RhdGE6IGJhc2VRdWVyeS5pc1ByZXZpb3VzRGF0YSxcbiAgICAgIGlzUmVmZXRjaEVycm9yOiBiYXNlUXVlcnkuaXNSZWZldGNoRXJyb3IsXG4gICAgICBpc1N0YWxlOiBiYXNlUXVlcnkuaXNTdGFsZSxcbiAgICAgIHJlbW92ZTogYmFzZVF1ZXJ5LnJlbW92ZVxuICAgIH1cbiAgfTtcbiAgcmV0dXJuICFiYXNlUXVlcnkuZGVmYXVsdGVkT3B0aW9ucy5ub3RpZnlPbkNoYW5nZVByb3BzID8gdHJhY2tSZXN1bHQocmVzdWx0LCBiYXNlUXVlcnkub2JzZXJ2ZXIpIDogcmVzdWx0O1xufVxuXG4vLyBzcmMvaG9va3MvdXRpbHMvcXVlcnkvdXNlTXV0YXRpb24udHNcbmltcG9ydCB7XG4gIHBhcnNlTXV0YXRpb25BcmdzLFxuICB1c2VNdXRhdGlvbiBhcyB1c2VNdXRhdGlvbl9cbn0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiO1xuZnVuY3Rpb24gdXNlTXV0YXRpb24oYXJnMSwgYXJnMiwgYXJnMykge1xuICBjb25zdCBvcHRpb25zID0gcGFyc2VNdXRhdGlvbkFyZ3MoYXJnMSwgYXJnMiwgYXJnMyk7XG4gIHJldHVybiB1c2VNdXRhdGlvbl8oeyBjb250ZXh0OiBxdWVyeUNsaWVudENvbnRleHQsIC4uLm9wdGlvbnMgfSk7XG59XG5cbi8vIHNyYy9ob29rcy91dGlscy9xdWVyeS91c2VRdWVyeS50c1xuaW1wb3J0IHsgUXVlcnlPYnNlcnZlciB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3QtcXVlcnlcIjtcbmZ1bmN0aW9uIHVzZVF1ZXJ5KGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgY29uc3QgcGFyc2VkT3B0aW9ucyA9IHBhcnNlUXVlcnlBcmdzKGFyZzEsIGFyZzIsIGFyZzMpO1xuICBjb25zdCBiYXNlUXVlcnkgPSB1c2VCYXNlUXVlcnkoeyBjb250ZXh0OiBxdWVyeUNsaWVudENvbnRleHQsIC4uLnBhcnNlZE9wdGlvbnMgfSwgUXVlcnlPYnNlcnZlcik7XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBkYXRhOiBiYXNlUXVlcnkuZGF0YSxcbiAgICBlcnJvcjogYmFzZVF1ZXJ5LmVycm9yLFxuICAgIGZldGNoU3RhdHVzOiBiYXNlUXVlcnkuZmV0Y2hTdGF0dXMsXG4gICAgaXNFcnJvcjogYmFzZVF1ZXJ5LmlzRXJyb3IsXG4gICAgaXNGZXRjaGVkOiBiYXNlUXVlcnkuaXNGZXRjaGVkLFxuICAgIGlzRmV0Y2hlZEFmdGVyTW91bnQ6IGJhc2VRdWVyeS5pc0ZldGNoZWRBZnRlck1vdW50LFxuICAgIGlzRmV0Y2hpbmc6IGJhc2VRdWVyeS5pc0ZldGNoaW5nLFxuICAgIGlzSWRsZTogYmFzZVF1ZXJ5LmlzSWRsZSxcbiAgICBpc0xvYWRpbmc6IGJhc2VRdWVyeS5pc0xvYWRpbmcsXG4gICAgaXNSZWZldGNoaW5nOiBiYXNlUXVlcnkuaXNSZWZldGNoaW5nLFxuICAgIGlzU3VjY2VzczogYmFzZVF1ZXJ5LmlzU3VjY2VzcyxcbiAgICByZWZldGNoOiBiYXNlUXVlcnkucmVmZXRjaCxcbiAgICBzdGF0dXM6IGJhc2VRdWVyeS5zdGF0dXMsXG4gICAgaW50ZXJuYWw6IHtcbiAgICAgIGRhdGFVcGRhdGVkQXQ6IGJhc2VRdWVyeS5kYXRhVXBkYXRlZEF0LFxuICAgICAgZXJyb3JVcGRhdGVkQXQ6IGJhc2VRdWVyeS5lcnJvclVwZGF0ZWRBdCxcbiAgICAgIGZhaWx1cmVDb3VudDogYmFzZVF1ZXJ5LmZhaWx1cmVDb3VudCxcbiAgICAgIGlzRmV0Y2hlZEFmdGVyTW91bnQ6IGJhc2VRdWVyeS5pc0ZldGNoZWRBZnRlck1vdW50LFxuICAgICAgaXNMb2FkaW5nRXJyb3I6IGJhc2VRdWVyeS5pc0xvYWRpbmdFcnJvcixcbiAgICAgIGlzUGF1c2VkOiBiYXNlUXVlcnkuaXNQYXVzZWQsXG4gICAgICBpc1BsYWNlaG9sZGVyRGF0YTogYmFzZVF1ZXJ5LmlzUGxhY2Vob2xkZXJEYXRhLFxuICAgICAgaXNQcmV2aW91c0RhdGE6IGJhc2VRdWVyeS5pc1ByZXZpb3VzRGF0YSxcbiAgICAgIGlzUmVmZXRjaEVycm9yOiBiYXNlUXVlcnkuaXNSZWZldGNoRXJyb3IsXG4gICAgICBpc1N0YWxlOiBiYXNlUXVlcnkuaXNTdGFsZSxcbiAgICAgIHJlbW92ZTogYmFzZVF1ZXJ5LnJlbW92ZVxuICAgIH1cbiAgfTtcbiAgcmV0dXJuICFiYXNlUXVlcnkuZGVmYXVsdGVkT3B0aW9ucy5ub3RpZnlPbkNoYW5nZVByb3BzID8gdHJhY2tSZXN1bHQocmVzdWx0LCBiYXNlUXVlcnkub2JzZXJ2ZXIpIDogcmVzdWx0O1xufVxuXG4vLyBzcmMvaG9va3MvdXRpbHMvcXVlcnkvdXNlUXVlcnlDbGllbnQudHNcbmltcG9ydCB7IHVzZVF1ZXJ5Q2xpZW50IGFzIHVzZVF1ZXJ5Q2xpZW50XyB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3QtcXVlcnlcIjtcbnZhciB1c2VRdWVyeUNsaWVudDIgPSAoKSA9PiB1c2VRdWVyeUNsaWVudF8oeyBjb250ZXh0OiBxdWVyeUNsaWVudENvbnRleHQgfSk7XG5cbi8vIHNyYy9ob29rcy92aWVtL3VzZVB1YmxpY0NsaWVudC50c1xuaW1wb3J0IHsgZ2V0UHVibGljQ2xpZW50LCB3YXRjaFB1YmxpY0NsaWVudCB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IgfSBmcm9tIFwidXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc2hpbS93aXRoLXNlbGVjdG9yLmpzXCI7XG5mdW5jdGlvbiB1c2VQdWJsaWNDbGllbnQoe1xuICBjaGFpbklkXG59ID0ge30pIHtcbiAgcmV0dXJuIHVzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFNlbGVjdG9yKFxuICAgIChjYikgPT4gd2F0Y2hQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0sIGNiKSxcbiAgICAoKSA9PiBnZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pLFxuICAgICgpID0+IGdldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSksXG4gICAgKHgpID0+IHgsXG4gICAgKGEsIGIpID0+IGEudWlkID09PSBiLnVpZFxuICApO1xufVxuXG4vLyBzcmMvaG9va3MvdmllbS91c2VXYWxsZXRDbGllbnQudHNcbmltcG9ydCB7IGdldFdhbGxldENsaWVudCwgd2F0Y2hXYWxsZXRDbGllbnQgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MyBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5KHsgY2hhaW5JZCB9KSB7XG4gIHJldHVybiBbeyBlbnRpdHk6IFwid2FsbGV0Q2xpZW50XCIsIGNoYWluSWQsIHBlcnNpc3Q6IGZhbHNlIH1dO1xufVxuZnVuY3Rpb24gcXVlcnlGbih7XG4gIHF1ZXJ5S2V5OiBbeyBjaGFpbklkIH1dXG59KSB7XG4gIHJldHVybiBnZXRXYWxsZXRDbGllbnQoeyBjaGFpbklkIH0pO1xufVxuZnVuY3Rpb24gdXNlV2FsbGV0Q2xpZW50KHtcbiAgY2hhaW5JZDogY2hhaW5JZF8sXG4gIHN1c3BlbnNlLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IHsgY29ubmVjdG9yIH0gPSB1c2VBY2NvdW50KCk7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIGNvbnN0IHdhbGxldENsaWVudFF1ZXJ5ID0gdXNlUXVlcnkocXVlcnlLZXkoeyBjaGFpbklkIH0pLCBxdWVyeUZuLCB7XG4gICAgY2FjaGVUaW1lOiAwLFxuICAgIGVuYWJsZWQ6IEJvb2xlYW4oY29ubmVjdG9yKSxcbiAgICBzdGFsZVRpbWU6IEluZmluaXR5LFxuICAgIHN1c3BlbnNlLFxuICAgIG9uRXJyb3IsXG4gICAgb25TZXR0bGVkLFxuICAgIG9uU3VjY2Vzc1xuICB9KTtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudDIoKTtcbiAgUmVhY3QzLnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdW53YXRjaCA9IHdhdGNoV2FsbGV0Q2xpZW50KHsgY2hhaW5JZCB9LCAod2FsbGV0Q2xpZW50KSA9PiB7XG4gICAgICBpZiAod2FsbGV0Q2xpZW50KVxuICAgICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyhxdWVyeUtleSh7IGNoYWluSWQgfSkpO1xuICAgICAgZWxzZVxuICAgICAgICBxdWVyeUNsaWVudC5yZW1vdmVRdWVyaWVzKHF1ZXJ5S2V5KHsgY2hhaW5JZCB9KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVud2F0Y2g7XG4gIH0sIFtxdWVyeUNsaWVudCwgY2hhaW5JZF0pO1xuICByZXR1cm4gd2FsbGV0Q2xpZW50UXVlcnk7XG59XG5cbi8vIHNyYy9ob29rcy92aWVtL3VzZVdlYlNvY2tldFB1YmxpY0NsaWVudC50c1xuaW1wb3J0IHtcbiAgZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50LFxuICB3YXRjaFdlYlNvY2tldFB1YmxpY0NsaWVudFxufSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCB7IHVzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFNlbGVjdG9yIGFzIHVzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFNlbGVjdG9yMiB9IGZyb20gXCJ1c2Utc3luYy1leHRlcm5hbC1zdG9yZS9zaGltL3dpdGgtc2VsZWN0b3IuanNcIjtcbmZ1bmN0aW9uIHVzZVdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSA9IHt9KSB7XG4gIHJldHVybiB1c2VTeW5jRXh0ZXJuYWxTdG9yZVdpdGhTZWxlY3RvcjIoXG4gICAgKGNiKSA9PiB3YXRjaFdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSwgY2IpLFxuICAgICgpID0+IGdldFdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSksXG4gICAgKCkgPT4gZ2V0V2ViU29ja2V0UHVibGljQ2xpZW50KHsgY2hhaW5JZCB9KSxcbiAgICAoeCkgPT4geCxcbiAgICAoYSwgYikgPT4gYT8udWlkID09PSBiPy51aWRcbiAgKTtcbn1cblxuLy8gc3JjL2hvb2tzL3V0aWxzL3VzZUNoYWluSWQudHNcbmZ1bmN0aW9uIHVzZUNoYWluSWQoeyBjaGFpbklkIH0gPSB7fSkge1xuICBjb25zdCBwdWJsaWNDbGllbnQgPSB1c2VQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICByZXR1cm4gcHVibGljQ2xpZW50LmNoYWluLmlkO1xufVxuXG4vLyBzcmMvaG9va3MvdXRpbHMvdXNlRm9yY2VVcGRhdGUudHNcbmltcG9ydCAqIGFzIFJlYWN0NCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHVzZUZvcmNlVXBkYXRlKCkge1xuICBjb25zdCBbLCBmb3JjZVVwZGF0ZV0gPSBSZWFjdDQudXNlUmVkdWNlcigoeCkgPT4geCArIDEsIDApO1xuICByZXR1cm4gZm9yY2VVcGRhdGU7XG59XG5cbi8vIHNyYy9ob29rcy91dGlscy91c2VJbnZhbGlkYXRlT25CbG9jay50c1xuaW1wb3J0ICogYXMgUmVhY3Q3IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBzcmMvaG9va3MvbmV0d29yay1zdGF0dXMvdXNlQmxvY2tOdW1iZXIudHNcbmltcG9ydCB7IGZldGNoQmxvY2tOdW1iZXIgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0NSBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5Mih7IGNoYWluSWQsIHNjb3BlS2V5IH0pIHtcbiAgcmV0dXJuIFt7IGVudGl0eTogXCJibG9ja051bWJlclwiLCBjaGFpbklkLCBzY29wZUtleSB9XTtcbn1cbmZ1bmN0aW9uIHF1ZXJ5Rm4yKHtcbiAgcXVlcnlLZXk6IFt7IGNoYWluSWQgfV1cbn0pIHtcbiAgcmV0dXJuIGZldGNoQmxvY2tOdW1iZXIoeyBjaGFpbklkIH0pO1xufVxuZnVuY3Rpb24gdXNlQmxvY2tOdW1iZXIoe1xuICBjYWNoZVRpbWUgPSAwLFxuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIHNjb3BlS2V5LFxuICBzdGFsZVRpbWUsXG4gIHN1c3BlbnNlLFxuICB3YXRjaCA9IGZhbHNlLFxuICBvbkJsb2NrLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIGNvbnN0IHB1YmxpY0NsaWVudCA9IHVzZVB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHdlYlNvY2tldFB1YmxpY0NsaWVudCA9IHVzZVdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQyKCk7XG4gIFJlYWN0NS51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBpZiAoIXdhdGNoICYmICFvbkJsb2NrKVxuICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IHB1YmxpY0NsaWVudF8gPSB3ZWJTb2NrZXRQdWJsaWNDbGllbnQgPz8gcHVibGljQ2xpZW50O1xuICAgIGNvbnN0IHVud2F0Y2ggPSBwdWJsaWNDbGllbnRfLndhdGNoQmxvY2tOdW1iZXIoe1xuICAgICAgb25CbG9ja051bWJlcjogKGJsb2NrTnVtYmVyKSA9PiB7XG4gICAgICAgIGlmICh3YXRjaClcbiAgICAgICAgICBxdWVyeUNsaWVudC5zZXRRdWVyeURhdGEocXVlcnlLZXkyKHsgY2hhaW5JZCwgc2NvcGVLZXkgfSksIGJsb2NrTnVtYmVyKTtcbiAgICAgICAgaWYgKG9uQmxvY2spXG4gICAgICAgICAgb25CbG9jayhibG9ja051bWJlcik7XG4gICAgICB9LFxuICAgICAgZW1pdE9uQmVnaW46IHRydWVcbiAgICB9KTtcbiAgICByZXR1cm4gdW53YXRjaDtcbiAgfSwgW1xuICAgIGNoYWluSWQsXG4gICAgc2NvcGVLZXksXG4gICAgb25CbG9jayxcbiAgICBwdWJsaWNDbGllbnQsXG4gICAgcXVlcnlDbGllbnQsXG4gICAgd2F0Y2gsXG4gICAgd2ViU29ja2V0UHVibGljQ2xpZW50LFxuICAgIGVuYWJsZWRcbiAgXSk7XG4gIHJldHVybiB1c2VRdWVyeShxdWVyeUtleTIoeyBzY29wZUtleSwgY2hhaW5JZCB9KSwgcXVlcnlGbjIsIHtcbiAgICBjYWNoZVRpbWUsXG4gICAgZW5hYmxlZCxcbiAgICBzdGFsZVRpbWUsXG4gICAgc3VzcGVuc2UsXG4gICAgb25FcnJvcixcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xufVxuXG4vLyBzcmMvaG9va3MvbmV0d29yay1zdGF0dXMvdXNlRmVlRGF0YS50c1xuaW1wb3J0IHsgZmV0Y2hGZWVEYXRhIH0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5pbXBvcnQgKiBhcyBSZWFjdDYgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBxdWVyeUtleTMoe1xuICBjaGFpbklkLFxuICBmb3JtYXRVbml0cyxcbiAgc2NvcGVLZXlcbn0pIHtcbiAgcmV0dXJuIFt7IGVudGl0eTogXCJmZWVEYXRhXCIsIGNoYWluSWQsIGZvcm1hdFVuaXRzLCBzY29wZUtleSB9XTtcbn1cbmZ1bmN0aW9uIHF1ZXJ5Rm4zKHtcbiAgcXVlcnlLZXk6IFt7IGNoYWluSWQsIGZvcm1hdFVuaXRzIH1dXG59KSB7XG4gIHJldHVybiBmZXRjaEZlZURhdGEoeyBjaGFpbklkLCBmb3JtYXRVbml0cyB9KTtcbn1cbmZ1bmN0aW9uIHVzZUZlZURhdGEoe1xuICBjYWNoZVRpbWUsXG4gIGNoYWluSWQ6IGNoYWluSWRfLFxuICBlbmFibGVkID0gdHJ1ZSxcbiAgZm9ybWF0VW5pdHMgPSBcImd3ZWlcIixcbiAgc2NvcGVLZXksXG4gIHN0YWxlVGltZSxcbiAgc3VzcGVuc2UsXG4gIHdhdGNoLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIGNvbnN0IHF1ZXJ5S2V5XyA9IFJlYWN0Ni51c2VNZW1vKFxuICAgICgpID0+IHF1ZXJ5S2V5Myh7XG4gICAgICBjaGFpbklkLFxuICAgICAgZm9ybWF0VW5pdHMsXG4gICAgICBzY29wZUtleVxuICAgIH0pLFxuICAgIFtjaGFpbklkLCBmb3JtYXRVbml0cywgc2NvcGVLZXldXG4gICk7XG4gIGNvbnN0IGZlZURhdGFRdWVyeSA9IHVzZVF1ZXJ5KHF1ZXJ5S2V5XywgcXVlcnlGbjMsIHtcbiAgICBjYWNoZVRpbWUsXG4gICAgZW5hYmxlZCxcbiAgICBzdGFsZVRpbWUsXG4gICAgc3VzcGVuc2UsXG4gICAgb25FcnJvcixcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xuICB1c2VJbnZhbGlkYXRlT25CbG9jayh7XG4gICAgY2hhaW5JZCxcbiAgICBlbmFibGVkOiBCb29sZWFuKGVuYWJsZWQgJiYgd2F0Y2gpLFxuICAgIHF1ZXJ5S2V5OiBxdWVyeUtleV9cbiAgfSk7XG4gIHJldHVybiBmZWVEYXRhUXVlcnk7XG59XG5cbi8vIHNyYy9ob29rcy91dGlscy91c2VJbnZhbGlkYXRlT25CbG9jay50c1xuZnVuY3Rpb24gdXNlSW52YWxpZGF0ZU9uQmxvY2soe1xuICBjaGFpbklkLFxuICBlbmFibGVkLFxuICBxdWVyeUtleTogcXVlcnlLZXkxN1xufSkge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50MigpO1xuICBjb25zdCBvbkJsb2NrID0gUmVhY3Q3LnVzZUNhbGxiYWNrKFxuICAgICgpID0+IHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHF1ZXJ5S2V5MTcgfSwgeyBjYW5jZWxSZWZldGNoOiBmYWxzZSB9KSxcbiAgICBbcXVlcnlDbGllbnQsIHF1ZXJ5S2V5MTddXG4gICk7XG4gIHVzZUJsb2NrTnVtYmVyKHtcbiAgICBjaGFpbklkLFxuICAgIGVuYWJsZWQsXG4gICAgb25CbG9jazogZW5hYmxlZCA/IG9uQmxvY2sgOiB2b2lkIDAsXG4gICAgc2NvcGVLZXk6IGVuYWJsZWQgPyB2b2lkIDAgOiBcImlkbGVcIlxuICB9KTtcbn1cblxuLy8gc3JjL2hvb2tzL3V0aWxzL3VzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFRyYWNrZWQudHNcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuaW1wb3J0ICogYXMgUmVhY3Q4IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IgYXMgdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IzIH0gZnJvbSBcInVzZS1zeW5jLWV4dGVybmFsLXN0b3JlL3NoaW0vd2l0aC1zZWxlY3Rvci5qc1wiO1xudmFyIGlzUGxhaW5PYmplY3QyID0gKG9iaikgPT4gdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShvYmopO1xuZnVuY3Rpb24gdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoVHJhY2tlZChzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTZXJ2ZXJTbmFwc2hvdCA9IGdldFNuYXBzaG90LCBpc0VxdWFsID0gZGVlcEVxdWFsKSB7XG4gIGNvbnN0IHRyYWNrZWRLZXlzID0gUmVhY3Q4LnVzZVJlZihbXSk7XG4gIGNvbnN0IHJlc3VsdCA9IHVzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFNlbGVjdG9yMyhcbiAgICBzdWJzY3JpYmUsXG4gICAgZ2V0U25hcHNob3QsXG4gICAgZ2V0U2VydmVyU25hcHNob3QsXG4gICAgKHgpID0+IHgsXG4gICAgKGEsIGIpID0+IHtcbiAgICAgIGlmIChpc1BsYWluT2JqZWN0MihhKSAmJiBpc1BsYWluT2JqZWN0MihiKSAmJiB0cmFja2VkS2V5cy5jdXJyZW50Lmxlbmd0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB0cmFja2VkS2V5cy5jdXJyZW50KSB7XG4gICAgICAgICAgY29uc3QgZXF1YWwgPSBpc0VxdWFsKFxuICAgICAgICAgICAgYVtrZXldLFxuICAgICAgICAgICAgYltrZXldXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoIWVxdWFsKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlzRXF1YWwoYSwgYik7XG4gICAgfVxuICApO1xuICBpZiAoaXNQbGFpbk9iamVjdDIocmVzdWx0KSkge1xuICAgIGNvbnN0IHRyYWNrZWRSZXN1bHQgPSB7IC4uLnJlc3VsdCB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFxuICAgICAgdHJhY2tlZFJlc3VsdCxcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRyYWNrZWRSZXN1bHQpLnJlZHVjZShcbiAgICAgICAgKHJlcywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlcyxcbiAgICAgICAgICAgIFtrZXldOiB7XG4gICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgIGdldDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdHJhY2tlZEtleXMuY3VycmVudC5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgICB0cmFja2VkS2V5cy5jdXJyZW50LnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICAge31cbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB0cmFja2VkUmVzdWx0O1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHNyYy9ob29rcy9hY2NvdW50cy91c2VBY2NvdW50LnRzXG5mdW5jdGlvbiB1c2VBY2NvdW50KHsgb25Db25uZWN0LCBvbkRpc2Nvbm5lY3QgfSA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpO1xuICBjb25zdCB3YXRjaEFjY291bnRfID0gUmVhY3Q5LnVzZUNhbGxiYWNrKFxuICAgIChjYWxsYmFjaykgPT4gd2F0Y2hBY2NvdW50KGNhbGxiYWNrKSxcbiAgICBbY29uZmlnXVxuICApO1xuICBjb25zdCBhY2NvdW50ID0gdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoVHJhY2tlZCh3YXRjaEFjY291bnRfLCBnZXRBY2NvdW50KTtcbiAgY29uc3QgcHJldmlvdXNBY2NvdW50UmVmID0gUmVhY3Q5LnVzZVJlZigpO1xuICBjb25zdCBwcmV2aW91c0FjY291bnQgPSBwcmV2aW91c0FjY291bnRSZWYuY3VycmVudDtcbiAgUmVhY3Q5LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZpb3VzQWNjb3VudD8uc3RhdHVzICE9PSBcImNvbm5lY3RlZFwiICYmIGFjY291bnQuc3RhdHVzID09PSBcImNvbm5lY3RlZFwiKSB7XG4gICAgICBvbkNvbm5lY3Q/Lih7XG4gICAgICAgIGFkZHJlc3M6IGFjY291bnQuYWRkcmVzcyxcbiAgICAgICAgY29ubmVjdG9yOiBhY2NvdW50LmNvbm5lY3RvcixcbiAgICAgICAgaXNSZWNvbm5lY3RlZDogcHJldmlvdXNBY2NvdW50Py5zdGF0dXMgPT09IFwicmVjb25uZWN0aW5nXCIgfHwgcHJldmlvdXNBY2NvdW50Py5zdGF0dXMgPT09IHZvaWQgMFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwcmV2aW91c0FjY291bnQ/LnN0YXR1cyA9PT0gXCJjb25uZWN0ZWRcIiAmJiBhY2NvdW50LnN0YXR1cyA9PT0gXCJkaXNjb25uZWN0ZWRcIikge1xuICAgICAgb25EaXNjb25uZWN0Py4oKTtcbiAgICB9XG4gICAgcHJldmlvdXNBY2NvdW50UmVmLmN1cnJlbnQgPSBhY2NvdW50O1xuICB9LCBbb25Db25uZWN0LCBvbkRpc2Nvbm5lY3QsIHByZXZpb3VzQWNjb3VudCwgYWNjb3VudF0pO1xuICByZXR1cm4gYWNjb3VudDtcbn1cblxuLy8gc3JjL2hvb2tzL2FjY291bnRzL3VzZUJhbGFuY2UudHNcbmltcG9ydCB7IGZldGNoQmFsYW5jZSB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuaW1wb3J0ICogYXMgUmVhY3QxMCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5NCh7XG4gIGFkZHJlc3MsXG4gIGNoYWluSWQsXG4gIGZvcm1hdFVuaXRzLFxuICBzY29wZUtleSxcbiAgdG9rZW5cbn0pIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBlbnRpdHk6IFwiYmFsYW5jZVwiLFxuICAgICAgYWRkcmVzcyxcbiAgICAgIGNoYWluSWQsXG4gICAgICBmb3JtYXRVbml0cyxcbiAgICAgIHNjb3BlS2V5LFxuICAgICAgdG9rZW5cbiAgICB9XG4gIF07XG59XG5mdW5jdGlvbiBxdWVyeUZuNCh7XG4gIHF1ZXJ5S2V5OiBbeyBhZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cywgdG9rZW4gfV1cbn0pIHtcbiAgaWYgKCFhZGRyZXNzKVxuICAgIHRocm93IG5ldyBFcnJvcihcImFkZHJlc3MgaXMgcmVxdWlyZWRcIik7XG4gIHJldHVybiBmZXRjaEJhbGFuY2UoeyBhZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cywgdG9rZW4gfSk7XG59XG5mdW5jdGlvbiB1c2VCYWxhbmNlKHtcbiAgYWRkcmVzcyxcbiAgY2FjaGVUaW1lLFxuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIGZvcm1hdFVuaXRzLFxuICBzY29wZUtleSxcbiAgc3RhbGVUaW1lLFxuICBzdXNwZW5zZSxcbiAgdG9rZW4sXG4gIHdhdGNoLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIGNvbnN0IHF1ZXJ5S2V5XyA9IFJlYWN0MTAudXNlTWVtbyhcbiAgICAoKSA9PiBxdWVyeUtleTQoeyBhZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cywgc2NvcGVLZXksIHRva2VuIH0pLFxuICAgIFthZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cywgc2NvcGVLZXksIHRva2VuXVxuICApO1xuICBjb25zdCBiYWxhbmNlUXVlcnkgPSB1c2VRdWVyeShxdWVyeUtleV8sIHF1ZXJ5Rm40LCB7XG4gICAgY2FjaGVUaW1lLFxuICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiBhZGRyZXNzKSxcbiAgICBzdGFsZVRpbWUsXG4gICAgc3VzcGVuc2UsXG4gICAgb25FcnJvcixcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xuICB1c2VJbnZhbGlkYXRlT25CbG9jayh7XG4gICAgY2hhaW5JZCxcbiAgICBlbmFibGVkOiBCb29sZWFuKGVuYWJsZWQgJiYgd2F0Y2ggJiYgYWRkcmVzcyksXG4gICAgcXVlcnlLZXk6IHF1ZXJ5S2V5X1xuICB9KTtcbiAgcmV0dXJuIGJhbGFuY2VRdWVyeTtcbn1cblxuLy8gc3JjL2hvb2tzL2FjY291bnRzL3VzZUNvbm5lY3QudHNcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MTEgZnJvbSBcInJlYWN0XCI7XG52YXIgbXV0YXRpb25LZXkgPSAoYXJncykgPT4gW3sgZW50aXR5OiBcImNvbm5lY3RcIiwgLi4uYXJncyB9XTtcbnZhciBtdXRhdGlvbkZuID0gKGFyZ3MpID0+IHtcbiAgY29uc3QgeyBjb25uZWN0b3IsIGNoYWluSWQgfSA9IGFyZ3M7XG4gIGlmICghY29ubmVjdG9yKVxuICAgIHRocm93IG5ldyBFcnJvcihcImNvbm5lY3RvciBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIGNvbm5lY3QoeyBjb25uZWN0b3IsIGNoYWluSWQgfSk7XG59O1xuZnVuY3Rpb24gdXNlQ29ubmVjdCh7XG4gIGNoYWluSWQsXG4gIGNvbm5lY3RvcixcbiAgb25FcnJvcixcbiAgb25NdXRhdGUsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzXG59ID0ge30pIHtcbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKCk7XG4gIGNvbnN0IHtcbiAgICBkYXRhLFxuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgbXV0YXRlLFxuICAgIG11dGF0ZUFzeW5jLFxuICAgIHJlc2V0LFxuICAgIHN0YXR1cyxcbiAgICB2YXJpYWJsZXNcbiAgfSA9IHVzZU11dGF0aW9uKG11dGF0aW9uS2V5KHsgY29ubmVjdG9yLCBjaGFpbklkIH0pLCBtdXRhdGlvbkZuLCB7XG4gICAgb25FcnJvcixcbiAgICBvbk11dGF0ZSxcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xuICBjb25zdCBjb25uZWN0MiA9IFJlYWN0MTEudXNlQ2FsbGJhY2soXG4gICAgKGFyZ3MpID0+IHtcbiAgICAgIHJldHVybiBtdXRhdGUoe1xuICAgICAgICBjaGFpbklkOiBhcmdzPy5jaGFpbklkID8/IGNoYWluSWQsXG4gICAgICAgIGNvbm5lY3RvcjogYXJncz8uY29ubmVjdG9yID8/IGNvbm5lY3RvclxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY2hhaW5JZCwgY29ubmVjdG9yLCBtdXRhdGVdXG4gICk7XG4gIGNvbnN0IGNvbm5lY3RBc3luYyA9IFJlYWN0MTEudXNlQ2FsbGJhY2soXG4gICAgKGFyZ3MpID0+IHtcbiAgICAgIHJldHVybiBtdXRhdGVBc3luYyh7XG4gICAgICAgIGNoYWluSWQ6IGFyZ3M/LmNoYWluSWQgPz8gY2hhaW5JZCxcbiAgICAgICAgY29ubmVjdG9yOiBhcmdzPy5jb25uZWN0b3IgPz8gY29ubmVjdG9yXG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjaGFpbklkLCBjb25uZWN0b3IsIG11dGF0ZUFzeW5jXVxuICApO1xuICByZXR1cm4ge1xuICAgIGNvbm5lY3Q6IGNvbm5lY3QyLFxuICAgIGNvbm5lY3RBc3luYyxcbiAgICBjb25uZWN0b3JzOiBjb25maWcuY29ubmVjdG9ycyxcbiAgICBkYXRhLFxuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgcGVuZGluZ0Nvbm5lY3RvcjogdmFyaWFibGVzPy5jb25uZWN0b3IsXG4gICAgcmVzZXQsXG4gICAgc3RhdHVzLFxuICAgIHZhcmlhYmxlc1xuICB9O1xufVxuXG4vLyBzcmMvaG9va3MvYWNjb3VudHMvdXNlRGlzY29ubmVjdC50c1xuaW1wb3J0IHsgZGlzY29ubmVjdCB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xudmFyIG11dGF0aW9uS2V5MiA9IFt7IGVudGl0eTogXCJkaXNjb25uZWN0XCIgfV07XG52YXIgbXV0YXRpb25GbjIgPSAoKSA9PiBkaXNjb25uZWN0KCk7XG5mdW5jdGlvbiB1c2VEaXNjb25uZWN0KHtcbiAgb25FcnJvcixcbiAgb25NdXRhdGUsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzXG59ID0ge30pIHtcbiAgY29uc3Qge1xuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgbXV0YXRlOiBkaXNjb25uZWN0MixcbiAgICBtdXRhdGVBc3luYzogZGlzY29ubmVjdEFzeW5jLFxuICAgIHJlc2V0LFxuICAgIHN0YXR1c1xuICB9ID0gdXNlTXV0YXRpb24obXV0YXRpb25LZXkyLCBtdXRhdGlvbkZuMiwge1xuICAgIC4uLm9uRXJyb3IgPyB7XG4gICAgICBvbkVycm9yKGVycm9yMiwgX3ZhcmlhYmxlcywgY29udGV4dCkge1xuICAgICAgICBvbkVycm9yKGVycm9yMiwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSA6IHt9LFxuICAgIG9uTXV0YXRlLFxuICAgIC4uLm9uU2V0dGxlZCA/IHtcbiAgICAgIG9uU2V0dGxlZChfZGF0YSwgZXJyb3IyLCBfdmFyaWFibGVzLCBjb250ZXh0KSB7XG4gICAgICAgIG9uU2V0dGxlZChlcnJvcjIsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gOiB7fSxcbiAgICAuLi5vblN1Y2Nlc3MgPyB7XG4gICAgICBvblN1Y2Nlc3MoX2RhdGEsIF92YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICAgICAgb25TdWNjZXNzKGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gOiB7fVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBkaXNjb25uZWN0OiBkaXNjb25uZWN0MixcbiAgICBkaXNjb25uZWN0QXN5bmMsXG4gICAgZXJyb3IsXG4gICAgaXNFcnJvcixcbiAgICBpc0lkbGUsXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VjY2VzcyxcbiAgICByZXNldCxcbiAgICBzdGF0dXNcbiAgfTtcbn1cblxuLy8gc3JjL2hvb2tzL2FjY291bnRzL3VzZU5ldHdvcmsudHNcbmltcG9ydCB7IGdldE5ldHdvcmssIHdhdGNoTmV0d29yayB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgYXMgdXNlQ2FsbGJhY2s1IH0gZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiB1c2VOZXR3b3JrKCkge1xuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKTtcbiAgY29uc3Qgd2F0Y2hOZXR3b3JrXyA9IHVzZUNhbGxiYWNrNShcbiAgICAoY2FsbGJhY2spID0+IHdhdGNoTmV0d29yayhjYWxsYmFjayksXG4gICAgW2NvbmZpZ11cbiAgKTtcbiAgcmV0dXJuIHVzZVN5bmNFeHRlcm5hbFN0b3JlV2l0aFRyYWNrZWQod2F0Y2hOZXR3b3JrXywgZ2V0TmV0d29yayk7XG59XG5cbi8vIHNyYy9ob29rcy9hY2NvdW50cy91c2VTaWduTWVzc2FnZS50c1xuaW1wb3J0IHsgc2lnbk1lc3NhZ2UgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MTIgZnJvbSBcInJlYWN0XCI7XG52YXIgbXV0YXRpb25LZXkzID0gKGFyZ3MpID0+IFt7IGVudGl0eTogXCJzaWduTWVzc2FnZVwiLCAuLi5hcmdzIH1dO1xudmFyIG11dGF0aW9uRm4zID0gKGFyZ3MpID0+IHtcbiAgY29uc3QgeyBtZXNzYWdlIH0gPSBhcmdzO1xuICBpZiAoIW1lc3NhZ2UpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwibWVzc2FnZSBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIHNpZ25NZXNzYWdlKHsgbWVzc2FnZSB9KTtcbn07XG5mdW5jdGlvbiB1c2VTaWduTWVzc2FnZSh7XG4gIG1lc3NhZ2UsXG4gIG9uRXJyb3IsXG4gIG9uTXV0YXRlLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICBkYXRhLFxuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgbXV0YXRlLFxuICAgIG11dGF0ZUFzeW5jLFxuICAgIHJlc2V0LFxuICAgIHN0YXR1cyxcbiAgICB2YXJpYWJsZXNcbiAgfSA9IHVzZU11dGF0aW9uKG11dGF0aW9uS2V5Myh7IG1lc3NhZ2UgfSksIG11dGF0aW9uRm4zLCB7XG4gICAgb25FcnJvcixcbiAgICBvbk11dGF0ZSxcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xuICBjb25zdCBzaWduTWVzc2FnZTIgPSBSZWFjdDEyLnVzZUNhbGxiYWNrKFxuICAgIChhcmdzKSA9PiBtdXRhdGUoYXJncyB8fCB7IG1lc3NhZ2UgfSksXG4gICAgW21lc3NhZ2UsIG11dGF0ZV1cbiAgKTtcbiAgY29uc3Qgc2lnbk1lc3NhZ2VBc3luYyA9IFJlYWN0MTIudXNlQ2FsbGJhY2soXG4gICAgKGFyZ3MpID0+IG11dGF0ZUFzeW5jKGFyZ3MgfHwgeyBtZXNzYWdlIH0pLFxuICAgIFttZXNzYWdlLCBtdXRhdGVBc3luY11cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhLFxuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgcmVzZXQsXG4gICAgc2lnbk1lc3NhZ2U6IHNpZ25NZXNzYWdlMixcbiAgICBzaWduTWVzc2FnZUFzeW5jLFxuICAgIHN0YXR1cyxcbiAgICB2YXJpYWJsZXNcbiAgfTtcbn1cblxuLy8gc3JjL2hvb2tzL2FjY291bnRzL3VzZVNpZ25UeXBlZERhdGEudHNcbmltcG9ydCB7IHNpZ25UeXBlZERhdGEgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MTMgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBtdXRhdGlvbktleTQoeyBkb21haW4sIHR5cGVzLCBtZXNzYWdlLCBwcmltYXJ5VHlwZSB9KSB7XG4gIHJldHVybiBbXG4gICAgeyBlbnRpdHk6IFwic2lnblR5cGVkRGF0YVwiLCBkb21haW4sIHR5cGVzLCBtZXNzYWdlLCBwcmltYXJ5VHlwZSB9XG4gIF07XG59XG5mdW5jdGlvbiBtdXRhdGlvbkZuNChhcmdzKSB7XG4gIGNvbnN0IHsgZG9tYWluLCB0eXBlcywgcHJpbWFyeVR5cGUsIG1lc3NhZ2UgfSA9IGFyZ3M7XG4gIGlmICghZG9tYWluKVxuICAgIHRocm93IG5ldyBFcnJvcihcImRvbWFpbiBpcyByZXF1aXJlZFwiKTtcbiAgaWYgKCF0eXBlcylcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0eXBlcyBpcyByZXF1aXJlZFwiKTtcbiAgaWYgKCFwcmltYXJ5VHlwZSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJwcmltYXJ5VHlwZSBpcyByZXF1aXJlZFwiKTtcbiAgaWYgKCFtZXNzYWdlKVxuICAgIHRocm93IG5ldyBFcnJvcihcIm1lc3NhZ2UgaXMgcmVxdWlyZWRcIik7XG4gIHJldHVybiBzaWduVHlwZWREYXRhKHtcbiAgICBkb21haW4sXG4gICAgbWVzc2FnZSxcbiAgICBwcmltYXJ5VHlwZSxcbiAgICB0eXBlc1xuICB9KTtcbn1cbmZ1bmN0aW9uIHVzZVNpZ25UeXBlZERhdGEoe1xuICBkb21haW4sXG4gIHR5cGVzLFxuICBtZXNzYWdlLFxuICBwcmltYXJ5VHlwZSxcbiAgb25FcnJvcixcbiAgb25NdXRhdGUsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzXG59ID0ge30pIHtcbiAgY29uc3Qge1xuICAgIGRhdGEsXG4gICAgZXJyb3IsXG4gICAgaXNFcnJvcixcbiAgICBpc0lkbGUsXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VjY2VzcyxcbiAgICBtdXRhdGUsXG4gICAgbXV0YXRlQXN5bmMsXG4gICAgcmVzZXQsXG4gICAgc3RhdHVzLFxuICAgIHZhcmlhYmxlc1xuICB9ID0gdXNlTXV0YXRpb24oXG4gICAgbXV0YXRpb25LZXk0KHtcbiAgICAgIGRvbWFpbixcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBwcmltYXJ5VHlwZSxcbiAgICAgIHR5cGVzXG4gICAgfSksXG4gICAgbXV0YXRpb25GbjQsXG4gICAge1xuICAgICAgb25FcnJvcixcbiAgICAgIG9uTXV0YXRlLFxuICAgICAgb25TZXR0bGVkLFxuICAgICAgb25TdWNjZXNzXG4gICAgfVxuICApO1xuICBjb25zdCBzaWduVHlwZWREYXRhMiA9IFJlYWN0MTMudXNlQ2FsbGJhY2soXG4gICAgKGFyZ3MpID0+IG11dGF0ZSh7XG4gICAgICBkb21haW46IGFyZ3M/LmRvbWFpbiA/PyBkb21haW4sXG4gICAgICB0eXBlczogYXJncz8udHlwZXMgPz8gdHlwZXMsXG4gICAgICBtZXNzYWdlOiBhcmdzPy5tZXNzYWdlID8/IG1lc3NhZ2UsXG4gICAgICBwcmltYXJ5VHlwZTogYXJncz8ucHJpbWFyeVR5cGUgPz8gcHJpbWFyeVR5cGVcbiAgICB9KSxcbiAgICBbZG9tYWluLCB0eXBlcywgcHJpbWFyeVR5cGUsIG1lc3NhZ2UsIG11dGF0ZV1cbiAgKTtcbiAgY29uc3Qgc2lnblR5cGVkRGF0YUFzeW5jID0gUmVhY3QxMy51c2VDYWxsYmFjayhcbiAgICAoYXJncykgPT4gbXV0YXRlQXN5bmMoe1xuICAgICAgZG9tYWluOiBhcmdzPy5kb21haW4gPz8gZG9tYWluLFxuICAgICAgdHlwZXM6IGFyZ3M/LnR5cGVzID8/IHR5cGVzLFxuICAgICAgbWVzc2FnZTogYXJncz8ubWVzc2FnZSA/PyBtZXNzYWdlLFxuICAgICAgcHJpbWFyeVR5cGU6IGFyZ3M/LnByaW1hcnlUeXBlID8/IHByaW1hcnlUeXBlXG4gICAgfSksXG4gICAgW2RvbWFpbiwgdHlwZXMsIHByaW1hcnlUeXBlLCBtZXNzYWdlLCBtdXRhdGVBc3luY11cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhLFxuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgcmVzZXQsXG4gICAgc2lnblR5cGVkRGF0YTogc2lnblR5cGVkRGF0YTIsXG4gICAgc2lnblR5cGVkRGF0YUFzeW5jLFxuICAgIHN0YXR1cyxcbiAgICB2YXJpYWJsZXNcbiAgfTtcbn1cblxuLy8gc3JjL2hvb2tzL2FjY291bnRzL3VzZVN3aXRjaE5ldHdvcmsudHNcbmltcG9ydCB7IHN3aXRjaE5ldHdvcmsgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MTQgZnJvbSBcInJlYWN0XCI7XG52YXIgbXV0YXRpb25LZXk1ID0gKGFyZ3MpID0+IFt7IGVudGl0eTogXCJzd2l0Y2hOZXR3b3JrXCIsIC4uLmFyZ3MgfV07XG52YXIgbXV0YXRpb25GbjUgPSAoYXJncykgPT4ge1xuICBjb25zdCB7IGNoYWluSWQgfSA9IGFyZ3M7XG4gIGlmICghY2hhaW5JZClcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjaGFpbklkIGlzIHJlcXVpcmVkXCIpO1xuICByZXR1cm4gc3dpdGNoTmV0d29yayh7IGNoYWluSWQgfSk7XG59O1xuZnVuY3Rpb24gdXNlU3dpdGNoTmV0d29yayh7XG4gIGNoYWluSWQsXG4gIHRocm93Rm9yU3dpdGNoQ2hhaW5Ob3RTdXBwb3J0ZWQsXG4gIG9uRXJyb3IsXG4gIG9uTXV0YXRlLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpO1xuICBjb25zdCBmb3JjZVVwZGF0ZSA9IHVzZUZvcmNlVXBkYXRlKCk7XG4gIGNvbnN0IHtcbiAgICBkYXRhLFxuICAgIGVycm9yLFxuICAgIGlzRXJyb3IsXG4gICAgaXNJZGxlLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1N1Y2Nlc3MsXG4gICAgbXV0YXRlLFxuICAgIG11dGF0ZUFzeW5jLFxuICAgIHJlc2V0LFxuICAgIHN0YXR1cyxcbiAgICB2YXJpYWJsZXNcbiAgfSA9IHVzZU11dGF0aW9uKG11dGF0aW9uS2V5NSh7IGNoYWluSWQgfSksIG11dGF0aW9uRm41LCB7XG4gICAgb25FcnJvcixcbiAgICBvbk11dGF0ZSxcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xuICBjb25zdCBzd2l0Y2hOZXR3b3JrXyA9IFJlYWN0MTQudXNlQ2FsbGJhY2soXG4gICAgKGNoYWluSWRfKSA9PiBtdXRhdGUoeyBjaGFpbklkOiBjaGFpbklkXyA/PyBjaGFpbklkIH0pLFxuICAgIFtjaGFpbklkLCBtdXRhdGVdXG4gICk7XG4gIGNvbnN0IHN3aXRjaE5ldHdvcmtBc3luY18gPSBSZWFjdDE0LnVzZUNhbGxiYWNrKFxuICAgIChjaGFpbklkXykgPT4gbXV0YXRlQXN5bmMoeyBjaGFpbklkOiBjaGFpbklkXyA/PyBjaGFpbklkIH0pLFxuICAgIFtjaGFpbklkLCBtdXRhdGVBc3luY11cbiAgKTtcbiAgUmVhY3QxNC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHVud2F0Y2ggPSBjb25maWcuc3Vic2NyaWJlKFxuICAgICAgKHsgY2hhaW5zLCBjb25uZWN0b3IgfSkgPT4gKHtcbiAgICAgICAgY2hhaW5zLFxuICAgICAgICBjb25uZWN0b3JcbiAgICAgIH0pLFxuICAgICAgZm9yY2VVcGRhdGVcbiAgICApO1xuICAgIHJldHVybiB1bndhdGNoO1xuICB9LCBbY29uZmlnLCBmb3JjZVVwZGF0ZV0pO1xuICBsZXQgc3dpdGNoTmV0d29yazI7XG4gIGxldCBzd2l0Y2hOZXR3b3JrQXN5bmM7XG4gIGNvbnN0IHN1cHBvcnRzU3dpdGNoQ2hhaW4gPSAhIWNvbmZpZy5jb25uZWN0b3I/LnN3aXRjaENoYWluO1xuICBpZiAodGhyb3dGb3JTd2l0Y2hDaGFpbk5vdFN1cHBvcnRlZCB8fCBzdXBwb3J0c1N3aXRjaENoYWluKSB7XG4gICAgc3dpdGNoTmV0d29yazIgPSBzd2l0Y2hOZXR3b3JrXztcbiAgICBzd2l0Y2hOZXR3b3JrQXN5bmMgPSBzd2l0Y2hOZXR3b3JrQXN5bmNfO1xuICB9XG4gIHJldHVybiB7XG4gICAgY2hhaW5zOiBjb25maWcuY2hhaW5zID8/IFtdLFxuICAgIGRhdGEsXG4gICAgZXJyb3IsXG4gICAgaXNFcnJvcixcbiAgICBpc0lkbGUsXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VjY2VzcyxcbiAgICBwZW5kaW5nQ2hhaW5JZDogdmFyaWFibGVzPy5jaGFpbklkLFxuICAgIHJlc2V0LFxuICAgIHN0YXR1cyxcbiAgICBzd2l0Y2hOZXR3b3JrOiBzd2l0Y2hOZXR3b3JrMixcbiAgICBzd2l0Y2hOZXR3b3JrQXN5bmMsXG4gICAgdmFyaWFibGVzXG4gIH07XG59XG5cbi8vIHNyYy9ob29rcy9jb250cmFjdHMvdXNlQ29udHJhY3RFdmVudC50c1xuaW1wb3J0ICogYXMgUmVhY3QxNSBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHVzZUNvbnRyYWN0RXZlbnQoe1xuICBhZGRyZXNzLFxuICBjaGFpbklkLFxuICBhYmksXG4gIGxpc3RlbmVyLFxuICBldmVudE5hbWVcbn0gPSB7fSkge1xuICBjb25zdCBwdWJsaWNDbGllbnQgPSB1c2VQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICBjb25zdCB3ZWJTb2NrZXRQdWJsaWNDbGllbnQgPSB1c2VXZWJTb2NrZXRQdWJsaWNDbGllbnQoeyBjaGFpbklkIH0pO1xuICBjb25zdCB1bndhdGNoID0gUmVhY3QxNS51c2VSZWYoKTtcbiAgUmVhY3QxNS51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghYWJpIHx8ICFhZGRyZXNzIHx8ICFldmVudE5hbWUpXG4gICAgICByZXR1cm47XG4gICAgY29uc3QgcHVibGljQ2xpZW50XyA9IHdlYlNvY2tldFB1YmxpY0NsaWVudCB8fCBwdWJsaWNDbGllbnQ7XG4gICAgdW53YXRjaC5jdXJyZW50ID0gcHVibGljQ2xpZW50Xy53YXRjaENvbnRyYWN0RXZlbnQoe1xuICAgICAgYWJpLFxuICAgICAgYWRkcmVzcyxcbiAgICAgIGV2ZW50TmFtZSxcbiAgICAgIG9uTG9nczogbGlzdGVuZXJcbiAgICB9KTtcbiAgICByZXR1cm4gdW53YXRjaC5jdXJyZW50O1xuICB9LCBbYWJpLCBhZGRyZXNzLCBldmVudE5hbWUsIHB1YmxpY0NsaWVudC51aWQsIHdlYlNvY2tldFB1YmxpY0NsaWVudD8udWlkXSk7XG4gIHJldHVybiB1bndhdGNoLmN1cnJlbnQ7XG59XG5cbi8vIHNyYy9ob29rcy9jb250cmFjdHMvdXNlQ29udHJhY3RJbmZpbml0ZVJlYWRzLnRzXG5pbXBvcnQgeyByZXBsYWNlRXF1YWxEZWVwIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiO1xuaW1wb3J0IHsgZGVlcEVxdWFsIGFzIGRlZXBFcXVhbDIsIHJlYWRDb250cmFjdHMgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MTYgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBxdWVyeUtleTUoe1xuICBhbGxvd0ZhaWx1cmUsXG4gIGJsb2NrTnVtYmVyLFxuICBibG9ja1RhZyxcbiAgY2FjaGVLZXksXG4gIHNjb3BlS2V5XG59KSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgZW50aXR5OiBcInJlYWRDb250cmFjdHNJbmZpbml0ZVwiLFxuICAgICAgYWxsb3dGYWlsdXJlLFxuICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICBibG9ja1RhZyxcbiAgICAgIGNhY2hlS2V5LFxuICAgICAgc2NvcGVLZXlcbiAgICB9XG4gIF07XG59XG5mdW5jdGlvbiBxdWVyeUZuNSh7XG4gIGNvbnRyYWN0c1xufSkge1xuICByZXR1cm4gKHtcbiAgICBxdWVyeUtleTogW3sgYWxsb3dGYWlsdXJlLCBibG9ja051bWJlciwgYmxvY2tUYWcgfV0sXG4gICAgcGFnZVBhcmFtXG4gIH0pID0+IHtcbiAgICByZXR1cm4gcmVhZENvbnRyYWN0cyh7XG4gICAgICBhbGxvd0ZhaWx1cmUsXG4gICAgICBibG9ja051bWJlcixcbiAgICAgIGJsb2NrVGFnLFxuICAgICAgY29udHJhY3RzOiBjb250cmFjdHMocGFnZVBhcmFtIHx8IHZvaWQgMClcbiAgICB9KTtcbiAgfTtcbn1cbmZ1bmN0aW9uIHVzZUNvbnRyYWN0SW5maW5pdGVSZWFkcyh7XG4gIGFsbG93RmFpbHVyZSxcbiAgYmxvY2tOdW1iZXIsXG4gIGJsb2NrVGFnLFxuICBjYWNoZUtleSxcbiAgY2FjaGVUaW1lLFxuICBjb250cmFjdHMsXG4gIGVuYWJsZWQ6IGVuYWJsZWRfID0gdHJ1ZSxcbiAgZ2V0TmV4dFBhZ2VQYXJhbSxcbiAgaXNEYXRhRXF1YWwsXG4gIGtlZXBQcmV2aW91c0RhdGEsXG4gIG9uRXJyb3IsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzLFxuICBzY29wZUtleSxcbiAgc2VsZWN0LFxuICBzdGFsZVRpbWUsXG4gIHN0cnVjdHVyYWxTaGFyaW5nID0gKG9sZERhdGEsIG5ld0RhdGEpID0+IGRlZXBFcXVhbDIob2xkRGF0YSwgbmV3RGF0YSkgPyBvbGREYXRhIDogcmVwbGFjZUVxdWFsRGVlcChvbGREYXRhLCBuZXdEYXRhKSxcbiAgc3VzcGVuc2Vcbn0pIHtcbiAgY29uc3QgcXVlcnlLZXlfID0gUmVhY3QxNi51c2VNZW1vKFxuICAgICgpID0+IHF1ZXJ5S2V5NSh7IGFsbG93RmFpbHVyZSwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBjYWNoZUtleSwgc2NvcGVLZXkgfSksXG4gICAgW2FsbG93RmFpbHVyZSwgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBjYWNoZUtleSwgc2NvcGVLZXldXG4gICk7XG4gIGNvbnN0IGVuYWJsZWQgPSBSZWFjdDE2LnVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGVuYWJsZWQyID0gQm9vbGVhbihlbmFibGVkXyAmJiBjb250cmFjdHMpO1xuICAgIHJldHVybiBlbmFibGVkMjtcbiAgfSwgW2NvbnRyYWN0cywgZW5hYmxlZF9dKTtcbiAgcmV0dXJuIHVzZUluZmluaXRlUXVlcnkocXVlcnlLZXlfLCBxdWVyeUZuNSh7IGNvbnRyYWN0cyB9KSwge1xuICAgIGNhY2hlVGltZSxcbiAgICBlbmFibGVkLFxuICAgIGdldE5leHRQYWdlUGFyYW0sXG4gICAgaXNEYXRhRXF1YWwsXG4gICAga2VlcFByZXZpb3VzRGF0YSxcbiAgICBzZWxlY3QsXG4gICAgc3RhbGVUaW1lLFxuICAgIHN0cnVjdHVyYWxTaGFyaW5nLFxuICAgIHN1c3BlbnNlLFxuICAgIG9uRXJyb3IsXG4gICAgb25TZXR0bGVkLFxuICAgIG9uU3VjY2Vzc1xuICB9KTtcbn1cbmZ1bmN0aW9uIHBhZ2luYXRlZEluZGV4ZXNDb25maWcoZm4sIHtcbiAgcGVyUGFnZSxcbiAgc3RhcnQsXG4gIGRpcmVjdGlvblxufSkge1xuICBjb25zdCBjb250cmFjdHMgPSAocGFnZSA9IDApID0+IFsuLi5BcnJheShwZXJQYWdlKS5rZXlzKCldLm1hcCgoaW5kZXgpID0+IHtcbiAgICByZXR1cm4gZGlyZWN0aW9uID09PSBcImluY3JlbWVudFwiID8gc3RhcnQgKyBpbmRleCArIHBhZ2UgKiBwZXJQYWdlIDogc3RhcnQgLSBpbmRleCAtIHBhZ2UgKiBwZXJQYWdlO1xuICB9KS5maWx0ZXIoKGluZGV4KSA9PiBpbmRleCA+PSAwKS5mbGF0TWFwKGZuKTtcbiAgcmV0dXJuIHtcbiAgICBjb250cmFjdHMsXG4gICAgZ2V0TmV4dFBhZ2VQYXJhbShsYXN0UGFnZSwgcGFnZXMpIHtcbiAgICAgIHJldHVybiBsYXN0UGFnZT8ubGVuZ3RoID09PSBwZXJQYWdlID8gcGFnZXMubGVuZ3RoIDogdm9pZCAwO1xuICAgIH1cbiAgfTtcbn1cblxuLy8gc3JjL2hvb2tzL2NvbnRyYWN0cy91c2VDb250cmFjdFJlYWQudHNcbmltcG9ydCB7IHJlcGxhY2VFcXVhbERlZXAgYXMgcmVwbGFjZUVxdWFsRGVlcDIgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5XCI7XG5pbXBvcnQgeyBkZWVwRXF1YWwgYXMgZGVlcEVxdWFsMywgcmVhZENvbnRyYWN0IH0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5pbXBvcnQgKiBhcyBSZWFjdDE3IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gcXVlcnlLZXk2KHtcbiAgYWNjb3VudCxcbiAgYWRkcmVzcyxcbiAgYXJncyxcbiAgYmxvY2tOdW1iZXIsXG4gIGJsb2NrVGFnLFxuICBjaGFpbklkLFxuICBmdW5jdGlvbk5hbWUsXG4gIHNjb3BlS2V5XG59KSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgZW50aXR5OiBcInJlYWRDb250cmFjdFwiLFxuICAgICAgYWNjb3VudCxcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhcmdzLFxuICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICBibG9ja1RhZyxcbiAgICAgIGNoYWluSWQsXG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBzY29wZUtleVxuICAgIH1cbiAgXTtcbn1cbmZ1bmN0aW9uIHF1ZXJ5Rm42KHsgYWJpIH0pIHtcbiAgcmV0dXJuIGFzeW5jICh7XG4gICAgcXVlcnlLZXk6IFtcbiAgICAgIHsgYWNjb3VudCwgYWRkcmVzcywgYXJncywgYmxvY2tOdW1iZXIsIGJsb2NrVGFnLCBjaGFpbklkLCBmdW5jdGlvbk5hbWUgfVxuICAgIF1cbiAgfSkgPT4ge1xuICAgIGlmICghYWJpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYWJpIGlzIHJlcXVpcmVkXCIpO1xuICAgIGlmICghYWRkcmVzcylcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImFkZHJlc3MgaXMgcmVxdWlyZWRcIik7XG4gICAgcmV0dXJuIGF3YWl0IHJlYWRDb250cmFjdCh7XG4gICAgICBhY2NvdW50LFxuICAgICAgYWRkcmVzcyxcbiAgICAgIGFyZ3MsXG4gICAgICBibG9ja051bWJlcixcbiAgICAgIGJsb2NrVGFnLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGFiaSxcbiAgICAgIGZ1bmN0aW9uTmFtZVxuICAgIH0pID8/IG51bGw7XG4gIH07XG59XG5mdW5jdGlvbiB1c2VDb250cmFjdFJlYWQoe1xuICBhYmksXG4gIGFkZHJlc3MsXG4gIGFjY291bnQsXG4gIGFyZ3MsXG4gIGJsb2NrTnVtYmVyOiBibG9ja051bWJlck92ZXJyaWRlLFxuICBibG9ja1RhZyxcbiAgY2FjaGVPbkJsb2NrID0gZmFsc2UsXG4gIGNhY2hlVGltZSxcbiAgY2hhaW5JZDogY2hhaW5JZF8sXG4gIGVuYWJsZWQ6IGVuYWJsZWRfID0gdHJ1ZSxcbiAgZnVuY3Rpb25OYW1lLFxuICBpc0RhdGFFcXVhbCxcbiAga2VlcFByZXZpb3VzRGF0YSxcbiAgb25FcnJvcixcbiAgb25TZXR0bGVkLFxuICBvblN1Y2Nlc3MsXG4gIHNjb3BlS2V5LFxuICBzZWxlY3QsXG4gIHN0YWxlVGltZSxcbiAgc3RydWN0dXJhbFNoYXJpbmcgPSAob2xkRGF0YSwgbmV3RGF0YSkgPT4gZGVlcEVxdWFsMyhvbGREYXRhLCBuZXdEYXRhKSA/IG9sZERhdGEgOiByZXBsYWNlRXF1YWxEZWVwMihvbGREYXRhLCBuZXdEYXRhKSxcbiAgc3VzcGVuc2UsXG4gIHdhdGNoXG59ID0ge30pIHtcbiAgY29uc3QgY2hhaW5JZCA9IHVzZUNoYWluSWQoeyBjaGFpbklkOiBjaGFpbklkXyB9KTtcbiAgY29uc3QgeyBkYXRhOiBibG9ja051bWJlcl8gfSA9IHVzZUJsb2NrTnVtYmVyKHtcbiAgICBjaGFpbklkLFxuICAgIGVuYWJsZWQ6IHdhdGNoIHx8IGNhY2hlT25CbG9jayxcbiAgICBzY29wZUtleTogd2F0Y2ggfHwgY2FjaGVPbkJsb2NrID8gdm9pZCAwIDogXCJpZGxlXCIsXG4gICAgd2F0Y2hcbiAgfSk7XG4gIGNvbnN0IGJsb2NrTnVtYmVyID0gYmxvY2tOdW1iZXJPdmVycmlkZSA/PyBibG9ja051bWJlcl87XG4gIGNvbnN0IHF1ZXJ5S2V5XyA9IFJlYWN0MTcudXNlTWVtbyhcbiAgICAoKSA9PiBxdWVyeUtleTYoe1xuICAgICAgYWNjb3VudCxcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhcmdzLFxuICAgICAgYmxvY2tOdW1iZXI6IGNhY2hlT25CbG9jayA/IGJsb2NrTnVtYmVyIDogdm9pZCAwLFxuICAgICAgYmxvY2tUYWcsXG4gICAgICBjaGFpbklkLFxuICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgc2NvcGVLZXlcbiAgICB9KSxcbiAgICBbXG4gICAgICBhY2NvdW50LFxuICAgICAgYWRkcmVzcyxcbiAgICAgIGFyZ3MsXG4gICAgICBibG9ja051bWJlcixcbiAgICAgIGJsb2NrVGFnLFxuICAgICAgY2FjaGVPbkJsb2NrLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgIHNjb3BlS2V5XG4gICAgXVxuICApO1xuICBjb25zdCBlbmFibGVkID0gUmVhY3QxNy51c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgZW5hYmxlZDIgPSBCb29sZWFuKGVuYWJsZWRfICYmIGFiaSAmJiBhZGRyZXNzICYmIGZ1bmN0aW9uTmFtZSk7XG4gICAgaWYgKGNhY2hlT25CbG9jaylcbiAgICAgIGVuYWJsZWQyID0gQm9vbGVhbihlbmFibGVkMiAmJiBibG9ja051bWJlcik7XG4gICAgcmV0dXJuIGVuYWJsZWQyO1xuICB9LCBbYWJpLCBhZGRyZXNzLCBibG9ja051bWJlciwgY2FjaGVPbkJsb2NrLCBlbmFibGVkXywgZnVuY3Rpb25OYW1lXSk7XG4gIHVzZUludmFsaWRhdGVPbkJsb2NrKHtcbiAgICBjaGFpbklkLFxuICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiB3YXRjaCAmJiAhY2FjaGVPbkJsb2NrKSxcbiAgICBxdWVyeUtleTogcXVlcnlLZXlfXG4gIH0pO1xuICByZXR1cm4gdXNlUXVlcnkoXG4gICAgcXVlcnlLZXlfLFxuICAgIHF1ZXJ5Rm42KHtcbiAgICAgIGFiaVxuICAgIH0pLFxuICAgIHtcbiAgICAgIGNhY2hlVGltZSxcbiAgICAgIGVuYWJsZWQsXG4gICAgICBpc0RhdGFFcXVhbCxcbiAgICAgIGtlZXBQcmV2aW91c0RhdGEsXG4gICAgICBzZWxlY3QsXG4gICAgICBzdGFsZVRpbWUsXG4gICAgICBzdHJ1Y3R1cmFsU2hhcmluZyxcbiAgICAgIHN1c3BlbnNlLFxuICAgICAgb25FcnJvcixcbiAgICAgIG9uU2V0dGxlZCxcbiAgICAgIG9uU3VjY2Vzc1xuICAgIH1cbiAgKTtcbn1cblxuLy8gc3JjL2hvb2tzL2NvbnRyYWN0cy91c2VDb250cmFjdFJlYWRzLnRzXG5pbXBvcnQgeyByZXBsYWNlRXF1YWxEZWVwIGFzIHJlcGxhY2VFcXVhbERlZXAzIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiO1xuaW1wb3J0IHsgZGVlcEVxdWFsIGFzIGRlZXBFcXVhbDQsIHJlYWRDb250cmFjdHMgYXMgcmVhZENvbnRyYWN0czIgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MTggZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiBxdWVyeUtleTcoe1xuICBhbGxvd0ZhaWx1cmUsXG4gIGJsb2NrTnVtYmVyLFxuICBibG9ja1RhZyxcbiAgY2hhaW5JZCxcbiAgY29udHJhY3RzLFxuICBzY29wZUtleVxufSkge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGVudGl0eTogXCJyZWFkQ29udHJhY3RzXCIsXG4gICAgICBhbGxvd0ZhaWx1cmUsXG4gICAgICBibG9ja051bWJlcixcbiAgICAgIGJsb2NrVGFnLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIHNjb3BlS2V5LFxuICAgICAgY29udHJhY3RzOiAoY29udHJhY3RzID8/IFtdKS5tYXAoKHsgYWRkcmVzcywgYXJncywgY2hhaW5JZDogY2hhaW5JZDIsIGZ1bmN0aW9uTmFtZSB9KSA9PiAoe1xuICAgICAgICBhZGRyZXNzLFxuICAgICAgICBhcmdzLFxuICAgICAgICBjaGFpbklkOiBjaGFpbklkMixcbiAgICAgICAgZnVuY3Rpb25OYW1lXG4gICAgICB9KSlcbiAgICB9XG4gIF07XG59XG5mdW5jdGlvbiBxdWVyeUZuNyh7IGFiaXMgfSkge1xuICByZXR1cm4gKHtcbiAgICBxdWVyeUtleTogW3sgYWxsb3dGYWlsdXJlLCBibG9ja051bWJlciwgYmxvY2tUYWcsIGNvbnRyYWN0czogY29udHJhY3RzXyB9XVxuICB9KSA9PiB7XG4gICAgY29uc3QgY29udHJhY3RzID0gY29udHJhY3RzXy5tYXAoKGNvbnRyYWN0LCBpKSA9PiAoe1xuICAgICAgLi4uY29udHJhY3QsXG4gICAgICBhYmk6IGFiaXNbaV1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHJlYWRDb250cmFjdHMyKHtcbiAgICAgIGFsbG93RmFpbHVyZSxcbiAgICAgIGNvbnRyYWN0cyxcbiAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgYmxvY2tUYWdcbiAgICB9KTtcbiAgfTtcbn1cbmZ1bmN0aW9uIHVzZUNvbnRyYWN0UmVhZHMoe1xuICBhbGxvd0ZhaWx1cmU6IGFsbG93RmFpbHVyZV8sXG4gIGJsb2NrTnVtYmVyOiBibG9ja051bWJlck92ZXJyaWRlLFxuICBibG9ja1RhZyxcbiAgY2FjaGVPbkJsb2NrID0gZmFsc2UsXG4gIGNhY2hlVGltZSxcbiAgY29udHJhY3RzLFxuICBlbmFibGVkOiBlbmFibGVkXyA9IHRydWUsXG4gIGlzRGF0YUVxdWFsLFxuICBrZWVwUHJldmlvdXNEYXRhLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2VzcyxcbiAgc2NvcGVLZXksXG4gIHNlbGVjdCxcbiAgc3RhbGVUaW1lLFxuICBzdHJ1Y3R1cmFsU2hhcmluZyA9IChvbGREYXRhLCBuZXdEYXRhKSA9PiBkZWVwRXF1YWw0KG9sZERhdGEsIG5ld0RhdGEpID8gb2xkRGF0YSA6IHJlcGxhY2VFcXVhbERlZXAzKG9sZERhdGEsIG5ld0RhdGEpLFxuICBzdXNwZW5zZSxcbiAgd2F0Y2hcbn0gPSB7fSkge1xuICBjb25zdCBhbGxvd0ZhaWx1cmUgPSBhbGxvd0ZhaWx1cmVfID8/IHRydWU7XG4gIGNvbnN0IHsgZGF0YTogYmxvY2tOdW1iZXJfIH0gPSB1c2VCbG9ja051bWJlcih7XG4gICAgZW5hYmxlZDogd2F0Y2ggfHwgY2FjaGVPbkJsb2NrLFxuICAgIHdhdGNoXG4gIH0pO1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCgpO1xuICBjb25zdCBibG9ja051bWJlciA9IGJsb2NrTnVtYmVyT3ZlcnJpZGUgPz8gYmxvY2tOdW1iZXJfO1xuICBjb25zdCBxdWVyeUtleV8gPSBSZWFjdDE4LnVzZU1lbW8oXG4gICAgKCkgPT4gcXVlcnlLZXk3KHtcbiAgICAgIGFsbG93RmFpbHVyZSxcbiAgICAgIGJsb2NrTnVtYmVyOiBjYWNoZU9uQmxvY2sgPyBibG9ja051bWJlciA6IHZvaWQgMCxcbiAgICAgIGJsb2NrVGFnLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGNvbnRyYWN0cyxcbiAgICAgIHNjb3BlS2V5XG4gICAgfSksXG4gICAgW1xuICAgICAgYWxsb3dGYWlsdXJlLFxuICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICBibG9ja1RhZyxcbiAgICAgIGNhY2hlT25CbG9jayxcbiAgICAgIGNoYWluSWQsXG4gICAgICBzY29wZUtleSxcbiAgICAgIGNvbnRyYWN0c1xuICAgIF1cbiAgKTtcbiAgY29uc3QgZW5hYmxlZCA9IFJlYWN0MTgudXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGVuYWJsZWQyID0gQm9vbGVhbihcbiAgICAgIGVuYWJsZWRfICYmIGNvbnRyYWN0cz8uZXZlcnkoXG4gICAgICAgICh4KSA9PiB4LmFiaSAmJiB4LmFkZHJlc3MgJiYgeC5mdW5jdGlvbk5hbWVcbiAgICAgIClcbiAgICApO1xuICAgIGlmIChjYWNoZU9uQmxvY2spXG4gICAgICBlbmFibGVkMiA9IEJvb2xlYW4oZW5hYmxlZDIgJiYgYmxvY2tOdW1iZXIpO1xuICAgIHJldHVybiBlbmFibGVkMjtcbiAgfSwgW2Jsb2NrTnVtYmVyLCBjYWNoZU9uQmxvY2ssIGNvbnRyYWN0cywgZW5hYmxlZF9dKTtcbiAgdXNlSW52YWxpZGF0ZU9uQmxvY2soe1xuICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiB3YXRjaCAmJiAhY2FjaGVPbkJsb2NrKSxcbiAgICBxdWVyeUtleTogcXVlcnlLZXlfXG4gIH0pO1xuICBjb25zdCBhYmlzID0gKGNvbnRyYWN0cyA/PyBbXSkubWFwKFxuICAgICh7IGFiaSB9KSA9PiBhYmlcbiAgKTtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHF1ZXJ5S2V5XywgcXVlcnlGbjcoeyBhYmlzIH0pLCB7XG4gICAgY2FjaGVUaW1lLFxuICAgIGVuYWJsZWQsXG4gICAgaXNEYXRhRXF1YWwsXG4gICAga2VlcFByZXZpb3VzRGF0YSxcbiAgICBzdGFsZVRpbWUsXG4gICAgc2VsZWN0LFxuICAgIHN0cnVjdHVyYWxTaGFyaW5nLFxuICAgIHN1c3BlbnNlLFxuICAgIG9uRXJyb3IsXG4gICAgb25TZXR0bGVkLFxuICAgIG9uU3VjY2Vzc1xuICB9KTtcbn1cblxuLy8gc3JjL2hvb2tzL2NvbnRyYWN0cy91c2VDb250cmFjdFdyaXRlLnRzXG5pbXBvcnQgeyB3cml0ZUNvbnRyYWN0IH0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5pbXBvcnQgeyBnZXRTZW5kVHJhbnNhY3Rpb25QYXJhbWV0ZXJzIH0gZnJvbSBcIkB3YWdtaS9jb3JlL2ludGVybmFsXCI7XG5pbXBvcnQgKiBhcyBSZWFjdDE5IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gbXV0YXRpb25LZXk2KHtcbiAgYWRkcmVzcyxcbiAgYWJpLFxuICBmdW5jdGlvbk5hbWUsXG4gIC4uLmNvbmZpZ1xufSkge1xuICBjb25zdCB7XG4gICAgYXJncyxcbiAgICBhY2Nlc3NMaXN0LFxuICAgIGFjY291bnQsXG4gICAgZ2FzLFxuICAgIGdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhcyxcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICBub25jZSxcbiAgICByZXF1ZXN0LFxuICAgIHZhbHVlXG4gIH0gPSBjb25maWc7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgZW50aXR5OiBcIndyaXRlQ29udHJhY3RcIixcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhcmdzLFxuICAgICAgYWJpLFxuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjY291bnQsXG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBnYXMsXG4gICAgICBnYXNQcmljZSxcbiAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgbm9uY2UsXG4gICAgICByZXF1ZXN0LFxuICAgICAgdmFsdWVcbiAgICB9XG4gIF07XG59XG5mdW5jdGlvbiBtdXRhdGlvbkZuNihjb25maWcpIHtcbiAgaWYgKGNvbmZpZy5tb2RlID09PSBcInByZXBhcmVkXCIpIHtcbiAgICBpZiAoIWNvbmZpZy5yZXF1ZXN0KVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmVxdWVzdCBpcyByZXF1aXJlZFwiKTtcbiAgICByZXR1cm4gd3JpdGVDb250cmFjdCh7XG4gICAgICBtb2RlOiBcInByZXBhcmVkXCIsXG4gICAgICByZXF1ZXN0OiBjb25maWcucmVxdWVzdFxuICAgIH0pO1xuICB9XG4gIGlmICghY29uZmlnLmFkZHJlc3MpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiYWRkcmVzcyBpcyByZXF1aXJlZFwiKTtcbiAgaWYgKCFjb25maWcuYWJpKVxuICAgIHRocm93IG5ldyBFcnJvcihcImFiaSBpcyByZXF1aXJlZFwiKTtcbiAgaWYgKCFjb25maWcuZnVuY3Rpb25OYW1lKVxuICAgIHRocm93IG5ldyBFcnJvcihcImZ1bmN0aW9uTmFtZSBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIHdyaXRlQ29udHJhY3Qoe1xuICAgIGFkZHJlc3M6IGNvbmZpZy5hZGRyZXNzLFxuICAgIGFyZ3M6IGNvbmZpZy5hcmdzLFxuICAgIGNoYWluSWQ6IGNvbmZpZy5jaGFpbklkLFxuICAgIGFiaTogY29uZmlnLmFiaSxcbiAgICBmdW5jdGlvbk5hbWU6IGNvbmZpZy5mdW5jdGlvbk5hbWUsXG4gICAgYWNjZXNzTGlzdDogY29uZmlnLmFjY2Vzc0xpc3QsXG4gICAgYWNjb3VudDogY29uZmlnLmFjY291bnQsXG4gICAgZ2FzOiBjb25maWcuZ2FzLFxuICAgIGdhc1ByaWNlOiBjb25maWcuZ2FzUHJpY2UsXG4gICAgbWF4RmVlUGVyR2FzOiBjb25maWcubWF4RmVlUGVyR2FzLFxuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBjb25maWcubWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgbm9uY2U6IGNvbmZpZy5ub25jZSxcbiAgICB2YWx1ZTogY29uZmlnLnZhbHVlXG4gIH0pO1xufVxuZnVuY3Rpb24gdXNlQ29udHJhY3RXcml0ZShjb25maWcpIHtcbiAgY29uc3QgeyBhZGRyZXNzLCBhYmksIGFyZ3MsIGNoYWluSWQsIGZ1bmN0aW9uTmFtZSwgbW9kZSwgcmVxdWVzdCB9ID0gY29uZmlnO1xuICBjb25zdCB7XG4gICAgYWNjZXNzTGlzdCxcbiAgICBhY2NvdW50LFxuICAgIGdhcyxcbiAgICBnYXNQcmljZSxcbiAgICBtYXhGZWVQZXJHYXMsXG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgbm9uY2UsXG4gICAgdmFsdWVcbiAgfSA9IGdldFNlbmRUcmFuc2FjdGlvblBhcmFtZXRlcnMoY29uZmlnKTtcbiAgY29uc3Qge1xuICAgIGRhdGEsXG4gICAgZXJyb3IsXG4gICAgaXNFcnJvcixcbiAgICBpc0lkbGUsXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VjY2VzcyxcbiAgICBtdXRhdGUsXG4gICAgbXV0YXRlQXN5bmMsXG4gICAgcmVzZXQsXG4gICAgc3RhdHVzLFxuICAgIHZhcmlhYmxlc1xuICB9ID0gdXNlTXV0YXRpb24oXG4gICAgbXV0YXRpb25LZXk2KHtcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhYmksXG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBjaGFpbklkLFxuICAgICAgbW9kZSxcbiAgICAgIGFyZ3MsXG4gICAgICBhY2Nlc3NMaXN0LFxuICAgICAgYWNjb3VudCxcbiAgICAgIGdhcyxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICBub25jZSxcbiAgICAgIHJlcXVlc3QsXG4gICAgICB2YWx1ZVxuICAgIH0pLFxuICAgIG11dGF0aW9uRm42LFxuICAgIHtcbiAgICAgIG9uRXJyb3I6IGNvbmZpZy5vbkVycm9yLFxuICAgICAgb25NdXRhdGU6IGNvbmZpZy5vbk11dGF0ZSxcbiAgICAgIG9uU2V0dGxlZDogY29uZmlnLm9uU2V0dGxlZCxcbiAgICAgIG9uU3VjY2VzczogY29uZmlnLm9uU3VjY2Vzc1xuICAgIH1cbiAgKTtcbiAgY29uc3Qgd3JpdGUgPSBSZWFjdDE5LnVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChjb25maWcubW9kZSA9PT0gXCJwcmVwYXJlZFwiKSB7XG4gICAgICBpZiAoIXJlcXVlc3QpXG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICByZXR1cm4gKCkgPT4gbXV0YXRlKHtcbiAgICAgICAgbW9kZTogXCJwcmVwYXJlZFwiLFxuICAgICAgICByZXF1ZXN0OiBjb25maWcucmVxdWVzdCxcbiAgICAgICAgY2hhaW5JZDogY29uZmlnLmNoYWluSWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gKG92ZXJyaWRlQ29uZmlnKSA9PiBtdXRhdGUoe1xuICAgICAgYWRkcmVzcyxcbiAgICAgIGFyZ3MsXG4gICAgICBhYmksXG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBjaGFpbklkLFxuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjY291bnQsXG4gICAgICBnYXMsXG4gICAgICBnYXNQcmljZSxcbiAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgbm9uY2UsXG4gICAgICB2YWx1ZSxcbiAgICAgIC4uLm92ZXJyaWRlQ29uZmlnXG4gICAgfSk7XG4gIH0sIFtcbiAgICBhY2Nlc3NMaXN0LFxuICAgIGFjY291bnQsXG4gICAgYWJpLFxuICAgIGFkZHJlc3MsXG4gICAgYXJncyxcbiAgICBjaGFpbklkLFxuICAgIGNvbmZpZy5jaGFpbklkLFxuICAgIGNvbmZpZy5tb2RlLFxuICAgIGNvbmZpZy5yZXF1ZXN0LFxuICAgIGZ1bmN0aW9uTmFtZSxcbiAgICBnYXMsXG4gICAgZ2FzUHJpY2UsXG4gICAgbWF4RmVlUGVyR2FzLFxuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgIG11dGF0ZSxcbiAgICBub25jZSxcbiAgICByZXF1ZXN0LFxuICAgIHZhbHVlXG4gIF0pO1xuICBjb25zdCB3cml0ZUFzeW5jID0gUmVhY3QxOS51c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoY29uZmlnLm1vZGUgPT09IFwicHJlcGFyZWRcIikge1xuICAgICAgaWYgKCFyZXF1ZXN0KVxuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgcmV0dXJuICgpID0+IG11dGF0ZUFzeW5jKHtcbiAgICAgICAgbW9kZTogXCJwcmVwYXJlZFwiLFxuICAgICAgICByZXF1ZXN0OiBjb25maWcucmVxdWVzdFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAob3ZlcnJpZGVDb25maWcpID0+IG11dGF0ZUFzeW5jKHtcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhcmdzLFxuICAgICAgYWJpLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICBhY2NvdW50LFxuICAgICAgZ2FzLFxuICAgICAgZ2FzUHJpY2UsXG4gICAgICBtYXhGZWVQZXJHYXMsXG4gICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgIG5vbmNlLFxuICAgICAgdmFsdWUsXG4gICAgICAuLi5vdmVycmlkZUNvbmZpZ1xuICAgIH0pO1xuICB9LCBbXG4gICAgYWNjZXNzTGlzdCxcbiAgICBhY2NvdW50LFxuICAgIGFiaSxcbiAgICBhZGRyZXNzLFxuICAgIGFyZ3MsXG4gICAgY2hhaW5JZCxcbiAgICBjb25maWcubW9kZSxcbiAgICBjb25maWcucmVxdWVzdCxcbiAgICBmdW5jdGlvbk5hbWUsXG4gICAgZ2FzLFxuICAgIGdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhcyxcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICBtdXRhdGVBc3luYyxcbiAgICBub25jZSxcbiAgICByZXF1ZXN0LFxuICAgIHZhbHVlXG4gIF0pO1xuICByZXR1cm4ge1xuICAgIGRhdGEsXG4gICAgZXJyb3IsXG4gICAgaXNFcnJvcixcbiAgICBpc0lkbGUsXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VjY2VzcyxcbiAgICByZXNldCxcbiAgICBzdGF0dXMsXG4gICAgdmFyaWFibGVzLFxuICAgIHdyaXRlLFxuICAgIHdyaXRlQXN5bmNcbiAgfTtcbn1cblxuLy8gc3JjL2hvb2tzL2NvbnRyYWN0cy91c2VQcmVwYXJlQ29udHJhY3RXcml0ZS50c1xuaW1wb3J0IHsgcHJlcGFyZVdyaXRlQ29udHJhY3QgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCB7IGdldENhbGxQYXJhbWV0ZXJzIH0gZnJvbSBcIkB3YWdtaS9jb3JlL2ludGVybmFsXCI7XG5mdW5jdGlvbiBxdWVyeUtleTgoe1xuICBhY2Nlc3NMaXN0LFxuICBhY2NvdW50LFxuICBhY3RpdmVDaGFpbklkLFxuICBhcmdzLFxuICBhZGRyZXNzLFxuICBibG9ja051bWJlcixcbiAgYmxvY2tUYWcsXG4gIGNoYWluSWQsXG4gIGZ1bmN0aW9uTmFtZSxcbiAgZ2FzLFxuICBnYXNQcmljZSxcbiAgbWF4RmVlUGVyR2FzLFxuICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgbm9uY2UsXG4gIHNjb3BlS2V5LFxuICB3YWxsZXRDbGllbnRBZGRyZXNzLFxuICB2YWx1ZVxufSkge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGVudGl0eTogXCJwcmVwYXJlQ29udHJhY3RUcmFuc2FjdGlvblwiLFxuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjY291bnQsXG4gICAgICBhY3RpdmVDaGFpbklkLFxuICAgICAgYWRkcmVzcyxcbiAgICAgIGFyZ3MsXG4gICAgICBibG9ja051bWJlcixcbiAgICAgIGJsb2NrVGFnLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgIGdhcyxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICBub25jZSxcbiAgICAgIHNjb3BlS2V5LFxuICAgICAgd2FsbGV0Q2xpZW50QWRkcmVzcyxcbiAgICAgIHZhbHVlXG4gICAgfVxuICBdO1xufVxuZnVuY3Rpb24gcXVlcnlGbjgoe1xuICBhYmksXG4gIHdhbGxldENsaWVudFxufSkge1xuICByZXR1cm4gKHtcbiAgICBxdWVyeUtleTogW1xuICAgICAge1xuICAgICAgICBhY2Nlc3NMaXN0LFxuICAgICAgICBhY2NvdW50LFxuICAgICAgICBhcmdzLFxuICAgICAgICBhZGRyZXNzLFxuICAgICAgICBibG9ja051bWJlcixcbiAgICAgICAgYmxvY2tUYWcsXG4gICAgICAgIGNoYWluSWQsXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgZ2FzLFxuICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgICAgbm9uY2UsXG4gICAgICAgIHZhbHVlXG4gICAgICB9XG4gICAgXVxuICB9KSA9PiB7XG4gICAgaWYgKCFhYmkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhYmkgaXMgcmVxdWlyZWRcIik7XG4gICAgaWYgKCFhZGRyZXNzKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYWRkcmVzcyBpcyByZXF1aXJlZFwiKTtcbiAgICBpZiAoIWZ1bmN0aW9uTmFtZSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImZ1bmN0aW9uTmFtZSBpcyByZXF1aXJlZFwiKTtcbiAgICByZXR1cm4gcHJlcGFyZVdyaXRlQ29udHJhY3Qoe1xuICAgICAgYWJpLFxuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjY291bnQsXG4gICAgICBhcmdzLFxuICAgICAgYWRkcmVzcyxcbiAgICAgIGJsb2NrTnVtYmVyLFxuICAgICAgYmxvY2tUYWcsXG4gICAgICBjaGFpbklkLFxuICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgZ2FzLFxuICAgICAgZ2FzUHJpY2UsXG4gICAgICBtYXhGZWVQZXJHYXMsXG4gICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgIG5vbmNlLFxuICAgICAgd2FsbGV0Q2xpZW50LFxuICAgICAgdmFsdWVcbiAgICB9KTtcbiAgfTtcbn1cbmZ1bmN0aW9uIHVzZVByZXBhcmVDb250cmFjdFdyaXRlKHtcbiAgYWRkcmVzcyxcbiAgYWJpLFxuICBmdW5jdGlvbk5hbWUsXG4gIGNoYWluSWQsXG4gIGFyZ3MsXG4gIGNhY2hlVGltZSxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIHNjb3BlS2V5LFxuICBzdGFsZVRpbWUsXG4gIHN1c3BlbnNlLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2VzcyxcbiAgLi4uY29uZmlnXG59ID0ge30pIHtcbiAgY29uc3QgeyBjaGFpbjogYWN0aXZlQ2hhaW4gfSA9IHVzZU5ldHdvcmsoKTtcbiAgY29uc3QgeyBkYXRhOiB3YWxsZXRDbGllbnQgfSA9IHVzZVdhbGxldENsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHtcbiAgICBhY2Nlc3NMaXN0LFxuICAgIGFjY291bnQsXG4gICAgYmxvY2tOdW1iZXIsXG4gICAgYmxvY2tUYWcsXG4gICAgZ2FzLFxuICAgIGdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhcyxcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICBub25jZSxcbiAgICB2YWx1ZVxuICB9ID0gZ2V0Q2FsbFBhcmFtZXRlcnMoY29uZmlnKTtcbiAgY29uc3QgcHJlcGFyZUNvbnRyYWN0V3JpdGVRdWVyeSA9IHVzZVF1ZXJ5KFxuICAgIHF1ZXJ5S2V5OCh7XG4gICAgICBhY2Nlc3NMaXN0LFxuICAgICAgYWNjb3VudCxcbiAgICAgIGFjdGl2ZUNoYWluSWQ6IGFjdGl2ZUNoYWluPy5pZCxcbiAgICAgIGFkZHJlc3MsXG4gICAgICBhcmdzLFxuICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICBibG9ja1RhZyxcbiAgICAgIGNoYWluSWQsXG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBnYXMsXG4gICAgICBnYXNQcmljZSxcbiAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgbm9uY2UsXG4gICAgICBzY29wZUtleSxcbiAgICAgIHdhbGxldENsaWVudEFkZHJlc3M6IHdhbGxldENsaWVudD8uYWNjb3VudC5hZGRyZXNzLFxuICAgICAgdmFsdWVcbiAgICB9KSxcbiAgICBxdWVyeUZuOCh7XG4gICAgICBhYmksXG4gICAgICB3YWxsZXRDbGllbnRcbiAgICB9KSxcbiAgICB7XG4gICAgICBjYWNoZVRpbWUsXG4gICAgICBlbmFibGVkOiBCb29sZWFuKFxuICAgICAgICBlbmFibGVkICYmIGFiaSAmJiBhZGRyZXNzICYmIGZ1bmN0aW9uTmFtZSAmJiB3YWxsZXRDbGllbnRcbiAgICAgICksXG4gICAgICBzdGFsZVRpbWUsXG4gICAgICBzdXNwZW5zZSxcbiAgICAgIG9uRXJyb3IsXG4gICAgICBvblNldHRsZWQsXG4gICAgICBvblN1Y2Nlc3NcbiAgICB9XG4gICk7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHByZXBhcmVDb250cmFjdFdyaXRlUXVlcnksIHtcbiAgICBjb25maWc6IHtcbiAgICAgIGNoYWluSWQsXG4gICAgICBtb2RlOiBcInByZXBhcmVkXCIsXG4gICAgICByZXF1ZXN0OiB2b2lkIDAsXG4gICAgICAuLi5wcmVwYXJlQ29udHJhY3RXcml0ZVF1ZXJ5LmRhdGFcbiAgICB9XG4gIH0pO1xufVxuXG4vLyBzcmMvaG9va3MvY29udHJhY3RzL3VzZVRva2VuLnRzXG5pbXBvcnQgeyBmZXRjaFRva2VuIH0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5mdW5jdGlvbiBxdWVyeUtleTkoe1xuICBhZGRyZXNzLFxuICBjaGFpbklkLFxuICBmb3JtYXRVbml0cyxcbiAgc2NvcGVLZXlcbn0pIHtcbiAgcmV0dXJuIFt7IGVudGl0eTogXCJ0b2tlblwiLCBhZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cywgc2NvcGVLZXkgfV07XG59XG5mdW5jdGlvbiBxdWVyeUZuOSh7XG4gIHF1ZXJ5S2V5OiBbeyBhZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cyB9XVxufSkge1xuICBpZiAoIWFkZHJlc3MpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiYWRkcmVzcyBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIGZldGNoVG9rZW4oeyBhZGRyZXNzLCBjaGFpbklkLCBmb3JtYXRVbml0cyB9KTtcbn1cbmZ1bmN0aW9uIHVzZVRva2VuKHtcbiAgYWRkcmVzcyxcbiAgY2hhaW5JZDogY2hhaW5JZF8sXG4gIGZvcm1hdFVuaXRzID0gXCJldGhlclwiLFxuICBjYWNoZVRpbWUsXG4gIGVuYWJsZWQgPSB0cnVlLFxuICBzY29wZUtleSxcbiAgc3RhbGVUaW1lID0gMWUzICogNjAgKiA2MCAqIDI0LFxuICBzdXNwZW5zZSxcbiAgb25FcnJvcixcbiAgb25TZXR0bGVkLFxuICBvblN1Y2Nlc3Ncbn0gPSB7fSkge1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCh7IGNoYWluSWQ6IGNoYWluSWRfIH0pO1xuICByZXR1cm4gdXNlUXVlcnkoXG4gICAgcXVlcnlLZXk5KHsgYWRkcmVzcywgY2hhaW5JZCwgZm9ybWF0VW5pdHMsIHNjb3BlS2V5IH0pLFxuICAgIHF1ZXJ5Rm45LFxuICAgIHtcbiAgICAgIGNhY2hlVGltZSxcbiAgICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiBhZGRyZXNzKSxcbiAgICAgIHN0YWxlVGltZSxcbiAgICAgIHN1c3BlbnNlLFxuICAgICAgb25FcnJvcixcbiAgICAgIG9uU2V0dGxlZCxcbiAgICAgIG9uU3VjY2Vzc1xuICAgIH1cbiAgKTtcbn1cblxuLy8gc3JjL2hvb2tzL2Vucy91c2VFbnNBZGRyZXNzLnRzXG5pbXBvcnQgeyBmZXRjaEVuc0FkZHJlc3MgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5MTAoeyBjaGFpbklkLCBuYW1lLCBzY29wZUtleSB9KSB7XG4gIHJldHVybiBbeyBlbnRpdHk6IFwiZW5zQWRkcmVzc1wiLCBjaGFpbklkLCBuYW1lLCBzY29wZUtleSB9XTtcbn1cbmZ1bmN0aW9uIHF1ZXJ5Rm4xMCh7XG4gIHF1ZXJ5S2V5OiBbeyBjaGFpbklkLCBuYW1lIH1dXG59KSB7XG4gIGlmICghbmFtZSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJuYW1lIGlzIHJlcXVpcmVkXCIpO1xuICByZXR1cm4gZmV0Y2hFbnNBZGRyZXNzKHsgY2hhaW5JZCwgbmFtZSB9KTtcbn1cbmZ1bmN0aW9uIHVzZUVuc0FkZHJlc3Moe1xuICBjYWNoZVRpbWUsXG4gIGNoYWluSWQ6IGNoYWluSWRfLFxuICBlbmFibGVkID0gdHJ1ZSxcbiAgbmFtZSxcbiAgc2NvcGVLZXksXG4gIHN0YWxlVGltZSA9IDFlMyAqIDYwICogNjAgKiAyNCxcbiAgc3VzcGVuc2UsXG4gIG9uRXJyb3IsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzXG59ID0ge30pIHtcbiAgY29uc3QgY2hhaW5JZCA9IHVzZUNoYWluSWQoeyBjaGFpbklkOiBjaGFpbklkXyB9KTtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHF1ZXJ5S2V5MTAoeyBjaGFpbklkLCBuYW1lLCBzY29wZUtleSB9KSwgcXVlcnlGbjEwLCB7XG4gICAgY2FjaGVUaW1lLFxuICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiBjaGFpbklkICYmIG5hbWUpLFxuICAgIHN0YWxlVGltZSxcbiAgICBzdXNwZW5zZSxcbiAgICBvbkVycm9yLFxuICAgIG9uU2V0dGxlZCxcbiAgICBvblN1Y2Nlc3NcbiAgfSk7XG59XG5cbi8vIHNyYy9ob29rcy9lbnMvdXNlRW5zQXZhdGFyLnRzXG5pbXBvcnQgeyBmZXRjaEVuc0F2YXRhciB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuZnVuY3Rpb24gcXVlcnlLZXkxMSh7IG5hbWUsIGNoYWluSWQsIHNjb3BlS2V5IH0pIHtcbiAgcmV0dXJuIFt7IGVudGl0eTogXCJlbnNBdmF0YXJcIiwgbmFtZSwgY2hhaW5JZCwgc2NvcGVLZXkgfV07XG59XG5mdW5jdGlvbiBxdWVyeUZuMTEoe1xuICBxdWVyeUtleTogW3sgbmFtZSwgY2hhaW5JZCB9XVxufSkge1xuICBpZiAoIW5hbWUpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwibmFtZSBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIGZldGNoRW5zQXZhdGFyKHsgbmFtZSwgY2hhaW5JZCB9KTtcbn1cbmZ1bmN0aW9uIHVzZUVuc0F2YXRhcih7XG4gIGNhY2hlVGltZSxcbiAgY2hhaW5JZDogY2hhaW5JZF8sXG4gIGVuYWJsZWQgPSB0cnVlLFxuICBuYW1lLFxuICBzY29wZUtleSxcbiAgc3RhbGVUaW1lID0gMWUzICogNjAgKiA2MCAqIDI0LFxuICBzdXNwZW5zZSxcbiAgb25FcnJvcixcbiAgb25TZXR0bGVkLFxuICBvblN1Y2Nlc3Ncbn0gPSB7fSkge1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCh7IGNoYWluSWQ6IGNoYWluSWRfIH0pO1xuICByZXR1cm4gdXNlUXVlcnkocXVlcnlLZXkxMSh7IG5hbWUsIGNoYWluSWQsIHNjb3BlS2V5IH0pLCBxdWVyeUZuMTEsIHtcbiAgICBjYWNoZVRpbWUsXG4gICAgZW5hYmxlZDogQm9vbGVhbihlbmFibGVkICYmIG5hbWUgJiYgY2hhaW5JZCksXG4gICAgc3RhbGVUaW1lLFxuICAgIHN1c3BlbnNlLFxuICAgIG9uRXJyb3IsXG4gICAgb25TZXR0bGVkLFxuICAgIG9uU3VjY2Vzc1xuICB9KTtcbn1cblxuLy8gc3JjL2hvb2tzL2Vucy91c2VFbnNOYW1lLnRzXG5pbXBvcnQgeyBmZXRjaEVuc05hbWUgfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5MTIoe1xuICBhZGRyZXNzLFxuICBjaGFpbklkLFxuICBzY29wZUtleVxufSkge1xuICByZXR1cm4gW3sgZW50aXR5OiBcImVuc05hbWVcIiwgYWRkcmVzcywgY2hhaW5JZCwgc2NvcGVLZXkgfV07XG59XG5mdW5jdGlvbiBxdWVyeUZuMTIoe1xuICBxdWVyeUtleTogW3sgYWRkcmVzcywgY2hhaW5JZCB9XVxufSkge1xuICBpZiAoIWFkZHJlc3MpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiYWRkcmVzcyBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIGZldGNoRW5zTmFtZSh7IGFkZHJlc3MsIGNoYWluSWQgfSk7XG59XG5mdW5jdGlvbiB1c2VFbnNOYW1lKHtcbiAgYWRkcmVzcyxcbiAgY2FjaGVUaW1lLFxuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIHNjb3BlS2V5LFxuICBzdGFsZVRpbWUgPSAxZTMgKiA2MCAqIDYwICogMjQsXG4gIHN1c3BlbnNlLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIHJldHVybiB1c2VRdWVyeShxdWVyeUtleTEyKHsgYWRkcmVzcywgY2hhaW5JZCwgc2NvcGVLZXkgfSksIHF1ZXJ5Rm4xMiwge1xuICAgIGNhY2hlVGltZSxcbiAgICBlbmFibGVkOiBCb29sZWFuKGVuYWJsZWQgJiYgYWRkcmVzcyAmJiBjaGFpbklkKSxcbiAgICBzdGFsZVRpbWUsXG4gICAgc3VzcGVuc2UsXG4gICAgb25FcnJvcixcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xufVxuXG4vLyBzcmMvaG9va3MvZW5zL3VzZUVuc1Jlc29sdmVyLnRzXG5pbXBvcnQgeyBmZXRjaEVuc1Jlc29sdmVyIH0gZnJvbSBcIkB3YWdtaS9jb3JlXCI7XG5mdW5jdGlvbiBxdWVyeUtleTEzKHsgY2hhaW5JZCwgbmFtZSwgc2NvcGVLZXkgfSkge1xuICByZXR1cm4gW1xuICAgIHsgZW50aXR5OiBcImVuc1Jlc29sdmVyXCIsIGNoYWluSWQsIG5hbWUsIHNjb3BlS2V5LCBwZXJzaXN0OiBmYWxzZSB9XG4gIF07XG59XG5mdW5jdGlvbiBxdWVyeUZuMTMoe1xuICBxdWVyeUtleTogW3sgY2hhaW5JZCwgbmFtZSB9XVxufSkge1xuICBpZiAoIW5hbWUpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwibmFtZSBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIGZldGNoRW5zUmVzb2x2ZXIoeyBjaGFpbklkLCBuYW1lIH0pO1xufVxuZnVuY3Rpb24gdXNlRW5zUmVzb2x2ZXIoe1xuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgbmFtZSxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIHNjb3BlS2V5LFxuICBzdXNwZW5zZSxcbiAgb25FcnJvcixcbiAgb25TZXR0bGVkLFxuICBvblN1Y2Nlc3Ncbn0gPSB7fSkge1xuICBjb25zdCBjaGFpbklkID0gdXNlQ2hhaW5JZCh7IGNoYWluSWQ6IGNoYWluSWRfIH0pO1xuICByZXR1cm4gdXNlUXVlcnkocXVlcnlLZXkxMyh7IGNoYWluSWQsIG5hbWUsIHNjb3BlS2V5IH0pLCBxdWVyeUZuMTMsIHtcbiAgICBjYWNoZVRpbWU6IDAsXG4gICAgZW5hYmxlZDogQm9vbGVhbihlbmFibGVkICYmIGNoYWluSWQgJiYgbmFtZSksXG4gICAgc3VzcGVuc2UsXG4gICAgb25FcnJvcixcbiAgICBvblNldHRsZWQsXG4gICAgb25TdWNjZXNzXG4gIH0pO1xufVxuXG4vLyBzcmMvaG9va3MvdHJhbnNhY3Rpb25zL3VzZVByZXBhcmVTZW5kVHJhbnNhY3Rpb24udHNcbmltcG9ydCB7IHByZXBhcmVTZW5kVHJhbnNhY3Rpb24gfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5MTQoe1xuICBhY2Nlc3NMaXN0LFxuICBhY2NvdW50LFxuICBhY3RpdmVDaGFpbklkLFxuICBjaGFpbklkLFxuICBkYXRhLFxuICBnYXMsXG4gIGdhc1ByaWNlLFxuICBtYXhGZWVQZXJHYXMsXG4gIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICBub25jZSxcbiAgdG8sXG4gIHZhbHVlLFxuICBzY29wZUtleSxcbiAgd2FsbGV0Q2xpZW50QWRkcmVzc1xufSkge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGVudGl0eTogXCJwcmVwYXJlU2VuZFRyYW5zYWN0aW9uXCIsXG4gICAgICBhY3RpdmVDaGFpbklkLFxuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjY291bnQsXG4gICAgICBjaGFpbklkLFxuICAgICAgZGF0YSxcbiAgICAgIGdhcyxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICBub25jZSxcbiAgICAgIHRvLFxuICAgICAgdmFsdWUsXG4gICAgICBzY29wZUtleSxcbiAgICAgIHdhbGxldENsaWVudEFkZHJlc3NcbiAgICB9XG4gIF07XG59XG5mdW5jdGlvbiBxdWVyeUZuMTQoeyB3YWxsZXRDbGllbnQgfSkge1xuICByZXR1cm4gKHtcbiAgICBxdWVyeUtleTogW1xuICAgICAge1xuICAgICAgICBhY2Nlc3NMaXN0LFxuICAgICAgICBhY2NvdW50LFxuICAgICAgICBjaGFpbklkLFxuICAgICAgICBkYXRhLFxuICAgICAgICBnYXMsXG4gICAgICAgIGdhc1ByaWNlLFxuICAgICAgICBtYXhGZWVQZXJHYXMsXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICBub25jZSxcbiAgICAgICAgdG8sXG4gICAgICAgIHZhbHVlXG4gICAgICB9XG4gICAgXVxuICB9KSA9PiB7XG4gICAgaWYgKCF0bylcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInRvIGlzIHJlcXVpcmVkXCIpO1xuICAgIHJldHVybiBwcmVwYXJlU2VuZFRyYW5zYWN0aW9uKHtcbiAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICBhY2NvdW50LFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGRhdGEsXG4gICAgICBnYXMsXG4gICAgICBnYXNQcmljZSxcbiAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgbm9uY2UsXG4gICAgICB0byxcbiAgICAgIHZhbHVlLFxuICAgICAgd2FsbGV0Q2xpZW50XG4gICAgfSk7XG4gIH07XG59XG5mdW5jdGlvbiB1c2VQcmVwYXJlU2VuZFRyYW5zYWN0aW9uKHtcbiAgYWNjZXNzTGlzdCxcbiAgYWNjb3VudCxcbiAgY2hhaW5JZCxcbiAgY2FjaGVUaW1lLFxuICBkYXRhLFxuICBlbmFibGVkID0gdHJ1ZSxcbiAgZ2FzLFxuICBnYXNQcmljZSxcbiAgbWF4RmVlUGVyR2FzLFxuICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgbm9uY2UsXG4gIHNjb3BlS2V5LFxuICBzdGFsZVRpbWUsXG4gIHN1c3BlbnNlLFxuICB0byxcbiAgdmFsdWUsXG4gIG9uRXJyb3IsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzXG59ID0ge30pIHtcbiAgY29uc3QgeyBjaGFpbjogYWN0aXZlQ2hhaW4gfSA9IHVzZU5ldHdvcmsoKTtcbiAgY29uc3QgeyBkYXRhOiB3YWxsZXRDbGllbnQgfSA9IHVzZVdhbGxldENsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHByZXBhcmVTZW5kVHJhbnNhY3Rpb25RdWVyeSA9IHVzZVF1ZXJ5KFxuICAgIHF1ZXJ5S2V5MTQoe1xuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjdGl2ZUNoYWluSWQ6IGFjdGl2ZUNoYWluPy5pZCxcbiAgICAgIGFjY291bnQsXG4gICAgICBjaGFpbklkLFxuICAgICAgZGF0YSxcbiAgICAgIGdhcyxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICBub25jZSxcbiAgICAgIHNjb3BlS2V5LFxuICAgICAgdG8sXG4gICAgICB2YWx1ZSxcbiAgICAgIHdhbGxldENsaWVudEFkZHJlc3M6IHdhbGxldENsaWVudD8uYWNjb3VudC5hZGRyZXNzXG4gICAgfSksXG4gICAgcXVlcnlGbjE0KHsgd2FsbGV0Q2xpZW50IH0pLFxuICAgIHtcbiAgICAgIGNhY2hlVGltZSxcbiAgICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiB3YWxsZXRDbGllbnQgJiYgdG8pLFxuICAgICAgc3RhbGVUaW1lLFxuICAgICAgc3VzcGVuc2UsXG4gICAgICBvbkVycm9yLFxuICAgICAgb25TZXR0bGVkLFxuICAgICAgb25TdWNjZXNzXG4gICAgfVxuICApO1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmVwYXJlU2VuZFRyYW5zYWN0aW9uUXVlcnksIHtcbiAgICBjb25maWc6IHtcbiAgICAgIG1vZGU6IFwicHJlcGFyZWRcIixcbiAgICAgIC4uLnByZXBhcmVTZW5kVHJhbnNhY3Rpb25RdWVyeS5pc1N1Y2Nlc3MgPyBwcmVwYXJlU2VuZFRyYW5zYWN0aW9uUXVlcnkuZGF0YSA6IHZvaWQgMFxuICAgIH1cbiAgfSk7XG59XG5cbi8vIHNyYy9ob29rcy90cmFuc2FjdGlvbnMvdXNlU2VuZFRyYW5zYWN0aW9uLnRzXG5pbXBvcnQgeyBzZW5kVHJhbnNhY3Rpb24gfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmltcG9ydCAqIGFzIFJlYWN0MjAgZnJvbSBcInJlYWN0XCI7XG52YXIgbXV0YXRpb25LZXk3ID0gKGFyZ3MpID0+IFt7IGVudGl0eTogXCJzZW5kVHJhbnNhY3Rpb25cIiwgLi4uYXJncyB9XTtcbnZhciBtdXRhdGlvbkZuNyA9ICh7XG4gIGFjY2Vzc0xpc3QsXG4gIGFjY291bnQsXG4gIGNoYWluSWQsXG4gIGRhdGEsXG4gIGdhcyxcbiAgZ2FzUHJpY2UsXG4gIG1heEZlZVBlckdhcyxcbiAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gIG1vZGUsXG4gIG5vbmNlLFxuICB0byxcbiAgdmFsdWVcbn0pID0+IHtcbiAgaWYgKCF0bylcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0byBpcyByZXF1aXJlZC5cIik7XG4gIHJldHVybiBzZW5kVHJhbnNhY3Rpb24oe1xuICAgIGFjY2Vzc0xpc3QsXG4gICAgYWNjb3VudCxcbiAgICBjaGFpbklkLFxuICAgIGRhdGEsXG4gICAgZ2FzLFxuICAgIGdhc1ByaWNlLFxuICAgIG1heEZlZVBlckdhcyxcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICBtb2RlLFxuICAgIG5vbmNlLFxuICAgIHRvLFxuICAgIHZhbHVlXG4gIH0pO1xufTtcbmZ1bmN0aW9uIHVzZVNlbmRUcmFuc2FjdGlvbih7XG4gIGFjY2Vzc0xpc3QsXG4gIGFjY291bnQsXG4gIGNoYWluSWQsXG4gIGRhdGE6IGRhdGFfLFxuICBnYXMsXG4gIGdhc1ByaWNlLFxuICBtYXhGZWVQZXJHYXMsXG4gIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICBtb2RlLFxuICBub25jZSxcbiAgdG8sXG4gIHZhbHVlLFxuICBvbkVycm9yLFxuICBvbk11dGF0ZSxcbiAgb25TZXR0bGVkLFxuICBvblN1Y2Nlc3Ncbn0gPSB7fSkge1xuICBjb25zdCB7XG4gICAgZGF0YSxcbiAgICBlcnJvcixcbiAgICBpc0Vycm9yLFxuICAgIGlzSWRsZSxcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNTdWNjZXNzLFxuICAgIG11dGF0ZSxcbiAgICBtdXRhdGVBc3luYyxcbiAgICByZXNldCxcbiAgICBzdGF0dXMsXG4gICAgdmFyaWFibGVzXG4gIH0gPSB1c2VNdXRhdGlvbihcbiAgICBtdXRhdGlvbktleTcoe1xuICAgICAgYWNjZXNzTGlzdCxcbiAgICAgIGFjY291bnQsXG4gICAgICBjaGFpbklkLFxuICAgICAgZGF0YTogZGF0YV8sXG4gICAgICBnYXMsXG4gICAgICBnYXNQcmljZSxcbiAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgbW9kZSxcbiAgICAgIG5vbmNlLFxuICAgICAgdG8sXG4gICAgICB2YWx1ZVxuICAgIH0pLFxuICAgIG11dGF0aW9uRm43LFxuICAgIHtcbiAgICAgIG9uRXJyb3IsXG4gICAgICBvbk11dGF0ZSxcbiAgICAgIG9uU2V0dGxlZCxcbiAgICAgIG9uU3VjY2Vzc1xuICAgIH1cbiAgKTtcbiAgY29uc3Qgc2VuZFRyYW5zYWN0aW9uMiA9IFJlYWN0MjAudXNlQ2FsbGJhY2soXG4gICAgKGFyZ3MpID0+IG11dGF0ZSh7XG4gICAgICBjaGFpbklkLFxuICAgICAgbW9kZSxcbiAgICAgIC4uLmFyZ3MgfHwge1xuICAgICAgICBhY2Nlc3NMaXN0LFxuICAgICAgICBhY2NvdW50LFxuICAgICAgICBjaGFpbklkLFxuICAgICAgICBkYXRhOiBkYXRhXyxcbiAgICAgICAgZ2FzLFxuICAgICAgICBnYXNQcmljZSxcbiAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgICAgbW9kZSxcbiAgICAgICAgbm9uY2UsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICB0b1xuICAgICAgfVxuICAgIH0pLFxuICAgIFtcbiAgICAgIGFjY2Vzc0xpc3QsXG4gICAgICBhY2NvdW50LFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGRhdGFfLFxuICAgICAgZ2FzLFxuICAgICAgZ2FzUHJpY2UsXG4gICAgICBtYXhGZWVQZXJHYXMsXG4gICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgIG1vZGUsXG4gICAgICBtdXRhdGUsXG4gICAgICBub25jZSxcbiAgICAgIHRvLFxuICAgICAgdmFsdWVcbiAgICBdXG4gICk7XG4gIGNvbnN0IHNlbmRUcmFuc2FjdGlvbkFzeW5jID0gUmVhY3QyMC51c2VDYWxsYmFjayhcbiAgICAoYXJncykgPT4gbXV0YXRlQXN5bmMoe1xuICAgICAgY2hhaW5JZCxcbiAgICAgIG1vZGUsXG4gICAgICAuLi5hcmdzIHx8IHtcbiAgICAgICAgYWNjZXNzTGlzdCxcbiAgICAgICAgYWNjb3VudCxcbiAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgZGF0YTogZGF0YV8sXG4gICAgICAgIGdhcyxcbiAgICAgICAgZ2FzUHJpY2UsXG4gICAgICAgIG1heEZlZVBlckdhcyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICAgIG1vZGUsXG4gICAgICAgIG5vbmNlLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgdG9cbiAgICAgIH1cbiAgICB9KSxcbiAgICBbXG4gICAgICBhY2Nlc3NMaXN0LFxuICAgICAgYWNjb3VudCxcbiAgICAgIGNoYWluSWQsXG4gICAgICBkYXRhXyxcbiAgICAgIGdhcyxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXMsXG4gICAgICBtb2RlLFxuICAgICAgbXV0YXRlQXN5bmMsXG4gICAgICBub25jZSxcbiAgICAgIHRvLFxuICAgICAgdmFsdWVcbiAgICBdXG4gICk7XG4gIHJldHVybiB7XG4gICAgZGF0YSxcbiAgICBlcnJvcixcbiAgICBpc0Vycm9yLFxuICAgIGlzSWRsZSxcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNTdWNjZXNzLFxuICAgIHJlc2V0LFxuICAgIHNlbmRUcmFuc2FjdGlvbjogbW9kZSA9PT0gXCJwcmVwYXJlZFwiICYmICF0byA/IHZvaWQgMCA6IHNlbmRUcmFuc2FjdGlvbjIsXG4gICAgc2VuZFRyYW5zYWN0aW9uQXN5bmM6IG1vZGUgPT09IFwicHJlcGFyZWRcIiAmJiAhdG8gPyB2b2lkIDAgOiBzZW5kVHJhbnNhY3Rpb25Bc3luYyxcbiAgICBzdGF0dXMsXG4gICAgdmFyaWFibGVzXG4gIH07XG59XG5cbi8vIHNyYy9ob29rcy90cmFuc2FjdGlvbnMvdXNlVHJhbnNhY3Rpb24udHNcbmltcG9ydCB7IGZldGNoVHJhbnNhY3Rpb24gfSBmcm9tIFwiQHdhZ21pL2NvcmVcIjtcbmZ1bmN0aW9uIHF1ZXJ5S2V5MTUoeyBjaGFpbklkLCBoYXNoLCBzY29wZUtleSB9KSB7XG4gIHJldHVybiBbeyBlbnRpdHk6IFwidHJhbnNhY3Rpb25cIiwgY2hhaW5JZCwgaGFzaCwgc2NvcGVLZXkgfV07XG59XG5mdW5jdGlvbiBxdWVyeUZuMTUoe1xuICBxdWVyeUtleTogW3sgY2hhaW5JZCwgaGFzaCB9XVxufSkge1xuICBpZiAoIWhhc2gpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiaGFzaCBpcyByZXF1aXJlZFwiKTtcbiAgcmV0dXJuIGZldGNoVHJhbnNhY3Rpb24oeyBjaGFpbklkLCBoYXNoIH0pO1xufVxuZnVuY3Rpb24gdXNlVHJhbnNhY3Rpb24oe1xuICBjYWNoZVRpbWUgPSAwLFxuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIGhhc2gsXG4gIHNjb3BlS2V5LFxuICBzdGFsZVRpbWUsXG4gIHN1c3BlbnNlLFxuICBvbkVycm9yLFxuICBvblNldHRsZWQsXG4gIG9uU3VjY2Vzc1xufSA9IHt9KSB7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIHJldHVybiB1c2VRdWVyeShxdWVyeUtleTE1KHsgY2hhaW5JZCwgaGFzaCwgc2NvcGVLZXkgfSksIHF1ZXJ5Rm4xNSwge1xuICAgIGNhY2hlVGltZSxcbiAgICBlbmFibGVkOiBCb29sZWFuKGVuYWJsZWQgJiYgaGFzaCksXG4gICAgc3RhbGVUaW1lLFxuICAgIHN1c3BlbnNlLFxuICAgIG9uRXJyb3IsXG4gICAgb25TZXR0bGVkLFxuICAgIG9uU3VjY2Vzc1xuICB9KTtcbn1cblxuLy8gc3JjL2hvb2tzL3RyYW5zYWN0aW9ucy91c2VXYWl0Rm9yVHJhbnNhY3Rpb24udHNcbmltcG9ydCB7IHdhaXRGb3JUcmFuc2FjdGlvbiB9IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuZnVuY3Rpb24gcXVlcnlLZXkxNih7XG4gIGNvbmZpcm1hdGlvbnMsXG4gIGNoYWluSWQsXG4gIGhhc2gsXG4gIHNjb3BlS2V5LFxuICB0aW1lb3V0XG59KSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgZW50aXR5OiBcIndhaXRGb3JUcmFuc2FjdGlvblwiLFxuICAgICAgY29uZmlybWF0aW9ucyxcbiAgICAgIGNoYWluSWQsXG4gICAgICBoYXNoLFxuICAgICAgc2NvcGVLZXksXG4gICAgICB0aW1lb3V0XG4gICAgfVxuICBdO1xufVxuZnVuY3Rpb24gcXVlcnlGbjE2KHtcbiAgb25SZXBsYWNlZFxufSkge1xuICByZXR1cm4gKHtcbiAgICBxdWVyeUtleTogW3sgY2hhaW5JZCwgY29uZmlybWF0aW9ucywgaGFzaCwgdGltZW91dCB9XVxuICB9KSA9PiB7XG4gICAgaWYgKCFoYXNoKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaGFzaCBpcyByZXF1aXJlZFwiKTtcbiAgICByZXR1cm4gd2FpdEZvclRyYW5zYWN0aW9uKHtcbiAgICAgIGNoYWluSWQsXG4gICAgICBjb25maXJtYXRpb25zLFxuICAgICAgaGFzaCxcbiAgICAgIG9uUmVwbGFjZWQsXG4gICAgICB0aW1lb3V0XG4gICAgfSk7XG4gIH07XG59XG5mdW5jdGlvbiB1c2VXYWl0Rm9yVHJhbnNhY3Rpb24oe1xuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgY29uZmlybWF0aW9ucyxcbiAgaGFzaCxcbiAgdGltZW91dCxcbiAgY2FjaGVUaW1lLFxuICBlbmFibGVkID0gdHJ1ZSxcbiAgc2NvcGVLZXksXG4gIHN0YWxlVGltZSxcbiAgc3VzcGVuc2UsXG4gIG9uRXJyb3IsXG4gIG9uUmVwbGFjZWQsXG4gIG9uU2V0dGxlZCxcbiAgb25TdWNjZXNzXG59ID0ge30pIHtcbiAgY29uc3QgY2hhaW5JZCA9IHVzZUNoYWluSWQoeyBjaGFpbklkOiBjaGFpbklkXyB9KTtcbiAgcmV0dXJuIHVzZVF1ZXJ5KFxuICAgIHF1ZXJ5S2V5MTYoeyBjaGFpbklkLCBjb25maXJtYXRpb25zLCBoYXNoLCBzY29wZUtleSwgdGltZW91dCB9KSxcbiAgICBxdWVyeUZuMTYoeyBvblJlcGxhY2VkIH0pLFxuICAgIHtcbiAgICAgIGNhY2hlVGltZSxcbiAgICAgIGVuYWJsZWQ6IEJvb2xlYW4oZW5hYmxlZCAmJiBoYXNoKSxcbiAgICAgIHN0YWxlVGltZSxcbiAgICAgIHN1c3BlbnNlLFxuICAgICAgb25FcnJvcixcbiAgICAgIG9uU2V0dGxlZCxcbiAgICAgIG9uU3VjY2Vzc1xuICAgIH1cbiAgKTtcbn1cblxuLy8gc3JjL2hvb2tzL3RyYW5zYWN0aW9ucy91c2VXYXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMudHNcbmltcG9ydCAqIGFzIFJlYWN0MjEgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiB1c2VXYXRjaFBlbmRpbmdUcmFuc2FjdGlvbnMoe1xuICBjaGFpbklkOiBjaGFpbklkXyxcbiAgZW5hYmxlZCA9IHRydWUsXG4gIGxpc3RlbmVyXG59KSB7XG4gIGNvbnN0IGNoYWluSWQgPSB1c2VDaGFpbklkKHsgY2hhaW5JZDogY2hhaW5JZF8gfSk7XG4gIGNvbnN0IHB1YmxpY0NsaWVudCA9IHVzZVB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIGNvbnN0IHdlYlNvY2tldFB1YmxpY0NsaWVudCA9IHVzZVdlYlNvY2tldFB1YmxpY0NsaWVudCh7IGNoYWluSWQgfSk7XG4gIFJlYWN0MjEudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQpXG4gICAgICByZXR1cm47XG4gICAgY29uc3QgcHVibGljQ2xpZW50XyA9IHdlYlNvY2tldFB1YmxpY0NsaWVudCA/PyBwdWJsaWNDbGllbnQ7XG4gICAgcmV0dXJuIHB1YmxpY0NsaWVudF8ud2F0Y2hQZW5kaW5nVHJhbnNhY3Rpb25zKHtcbiAgICAgIG9uVHJhbnNhY3Rpb25zOiBsaXN0ZW5lclxuICAgIH0pO1xuICB9LCBbZW5hYmxlZCwgbGlzdGVuZXIsIHB1YmxpY0NsaWVudCwgd2ViU29ja2V0UHVibGljQ2xpZW50XSk7XG59XG5cbi8vIHNyYy9pbmRleC50c1xuaW1wb3J0IHtcbiAgQ2hhaW5NaXNtYXRjaEVycm9yLFxuICBDaGFpbk5vdENvbmZpZ3VyZWRFcnJvcixcbiAgQ29ubmVjdG9yLFxuICBDb25uZWN0b3JBbHJlYWR5Q29ubmVjdGVkRXJyb3IsXG4gIENvbm5lY3Rvck5vdEZvdW5kRXJyb3IsXG4gIENvbmZpZ0NoYWluc05vdEZvdW5kLFxuICBTd2l0Y2hDaGFpbk5vdFN1cHBvcnRlZEVycm9yLFxuICBjb25maWd1cmVDaGFpbnMsXG4gIGNyZWF0ZVN0b3JhZ2UgYXMgY3JlYXRlU3RvcmFnZTIsXG4gIGRlZXBFcXVhbCBhcyBkZWVwRXF1YWw1LFxuICBkZXNlcmlhbGl6ZSxcbiAgZXJjMjBBQkksXG4gIGVyYzcyMUFCSSxcbiAgZXJjNDYyNkFCSSxcbiAgbWFpbm5ldCxcbiAgcmVhZENvbnRyYWN0cyBhcyByZWFkQ29udHJhY3RzMyxcbiAgc2Vwb2xpYSxcbiAgc2VyaWFsaXplXG59IGZyb20gXCJAd2FnbWkvY29yZVwiO1xuZXhwb3J0IHtcbiAgQ2hhaW5NaXNtYXRjaEVycm9yLFxuICBDaGFpbk5vdENvbmZpZ3VyZWRFcnJvcixcbiAgQ29uZmlnQ2hhaW5zTm90Rm91bmQsXG4gIENvbm5lY3RvcixcbiAgQ29ubmVjdG9yQWxyZWFkeUNvbm5lY3RlZEVycm9yLFxuICBDb25uZWN0b3JOb3RGb3VuZEVycm9yLFxuICBDb250ZXh0LFxuICBTd2l0Y2hDaGFpbk5vdFN1cHBvcnRlZEVycm9yLFxuICBXYWdtaUNvbmZpZyxcbiAgY29uZmlndXJlQ2hhaW5zLFxuICBjcmVhdGVDb25maWcsXG4gIGNyZWF0ZVN0b3JhZ2UyIGFzIGNyZWF0ZVN0b3JhZ2UsXG4gIGRlZXBFcXVhbDUgYXMgZGVlcEVxdWFsLFxuICBkZXNlcmlhbGl6ZSxcbiAgZXJjMjBBQkksXG4gIGVyYzQ2MjZBQkksXG4gIGVyYzcyMUFCSSxcbiAgbWFpbm5ldCxcbiAgcGFnaW5hdGVkSW5kZXhlc0NvbmZpZyxcbiAgcmVhZENvbnRyYWN0czMgYXMgcmVhZENvbnRyYWN0cyxcbiAgc2Vwb2xpYSxcbiAgc2VyaWFsaXplLFxuICB1c2VBY2NvdW50LFxuICB1c2VCYWxhbmNlLFxuICB1c2VCbG9ja051bWJlcixcbiAgdXNlQ2hhaW5JZCxcbiAgdXNlQ29uZmlnLFxuICB1c2VDb25uZWN0LFxuICB1c2VDb250cmFjdEV2ZW50LFxuICB1c2VDb250cmFjdEluZmluaXRlUmVhZHMsXG4gIHVzZUNvbnRyYWN0UmVhZCxcbiAgdXNlQ29udHJhY3RSZWFkcyxcbiAgdXNlQ29udHJhY3RXcml0ZSxcbiAgdXNlRGlzY29ubmVjdCxcbiAgdXNlRW5zQWRkcmVzcyxcbiAgdXNlRW5zQXZhdGFyLFxuICB1c2VFbnNOYW1lLFxuICB1c2VFbnNSZXNvbHZlcixcbiAgdXNlRmVlRGF0YSxcbiAgdXNlSW5maW5pdGVRdWVyeSxcbiAgdXNlTXV0YXRpb24sXG4gIHVzZU5ldHdvcmssXG4gIHVzZVByZXBhcmVDb250cmFjdFdyaXRlLFxuICB1c2VQcmVwYXJlU2VuZFRyYW5zYWN0aW9uLFxuICB1c2VQdWJsaWNDbGllbnQsXG4gIHVzZVF1ZXJ5LFxuICB1c2VRdWVyeUNsaWVudDIgYXMgdXNlUXVlcnlDbGllbnQsXG4gIHVzZVNlbmRUcmFuc2FjdGlvbixcbiAgdXNlU2lnbk1lc3NhZ2UsXG4gIHVzZVNpZ25UeXBlZERhdGEsXG4gIHVzZVN3aXRjaE5ldHdvcmssXG4gIHVzZVRva2VuLFxuICB1c2VUcmFuc2FjdGlvbixcbiAgdXNlV2FpdEZvclRyYW5zYWN0aW9uLFxuICB1c2VXYWxsZXRDbGllbnQsXG4gIHVzZVdhdGNoUGVuZGluZ1RyYW5zYWN0aW9ucyxcbiAgdXNlV2ViU29ja2V0UHVibGljQ2xpZW50XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/index.js\n")); - -/***/ }), - -/***/ "./node_modules/wagmi/dist/providers/public.js": -/*!*****************************************************!*\ - !*** ./node_modules/wagmi/dist/providers/public.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ publicProvider: function() { return /* reexport safe */ _wagmi_core_providers_public__WEBPACK_IMPORTED_MODULE_0__.publicProvider; }\n/* harmony export */ });\n/* harmony import */ var _wagmi_core_providers_public__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wagmi/core/providers/public */ \"./node_modules/@wagmi/core/dist/providers/public.js\");\n\"use client\";\n\n// src/providers/public.ts\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2FnbWkvZGlzdC9wcm92aWRlcnMvcHVibGljLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0FBRUE7QUFDOEQ7QUFHNUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3dhZ21pL2Rpc3QvcHJvdmlkZXJzL3B1YmxpYy5qcz81ZDk0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG4vLyBzcmMvcHJvdmlkZXJzL3B1YmxpYy50c1xuaW1wb3J0IHsgcHVibGljUHJvdmlkZXIgfSBmcm9tIFwiQHdhZ21pL2NvcmUvcHJvdmlkZXJzL3B1YmxpY1wiO1xuZXhwb3J0IHtcbiAgcHVibGljUHJvdmlkZXJcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/wagmi/dist/providers/public.js\n")); - -/***/ }), - -/***/ "./node_modules/zustand/esm/middleware.mjs": -/*!*************************************************!*\ - !*** ./node_modules/zustand/esm/middleware.mjs ***! - \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ combine: function() { return /* binding */ combine; },\n/* harmony export */ createJSONStorage: function() { return /* binding */ createJSONStorage; },\n/* harmony export */ devtools: function() { return /* binding */ devtools; },\n/* harmony export */ persist: function() { return /* binding */ persist; },\n/* harmony export */ redux: function() { return /* binding */ redux; },\n/* harmony export */ subscribeWithSelector: function() { return /* binding */ subscribeWithSelector; }\n/* harmony export */ });\nconst reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api)\n return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : ( false ? 0 : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n if (( false ? 0 : void 0) !== \"production\" && enabled) {\n console.warn(\n \"[zustand devtools middleware] Please install/enable Redux devtools extension\"\n );\n }\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording)\n return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if (( false ? 0 : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools)\n return;\n if (typeof api.dispatch !== \"function\")\n return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState)\n return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0)\n f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst oldImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (e) {\n }\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize({ ...get() });\n let errorInSync;\n const thenable = thenableSerialize({ state, version: options.version }).then(\n (serializedValue) => storage.setItem(options.name, serializedValue)\n ).catch((e) => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage)\n return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((storageValue) => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\nconst newImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage)\n return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persistImpl = (config, baseOptions) => {\n if (\"getStorage\" in baseOptions || \"serialize\" in baseOptions || \"deserialize\" in baseOptions) {\n if (( false ? 0 : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.\"\n );\n }\n return oldImpl(config, baseOptions);\n }\n return newImpl(config, baseOptions);\n};\nconst persist = persistImpl;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvenVzdGFuZC9lc20vbWlkZGxld2FyZS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLDhDQUE4QztBQUM5QyxVQUFVLGtEQUFrRDtBQUM1RDtBQUNBO0FBQ0EsdURBQXVELE1BQWUsR0FBRyxDQUFvQjtBQUM3RixJQUFJO0FBQ0o7QUFDQTtBQUNBLFNBQVMsTUFBZSxHQUFHLENBQW9CO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsdUNBQXVDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsMkNBQTJDLHVDQUF1QyxxQkFBcUI7QUFDdEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsTUFBTSxHQUFHLFlBQVk7QUFDdEMsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE1BQWUsR0FBRyxDQUFvQjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9GQUFvRixpQ0FBaUMsaUJBQWlCO0FBQ3RJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLGFBQWE7QUFDOUU7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsVUFBVTtBQUNqRDtBQUNBLHlDQUF5QyxpQ0FBaUM7QUFDMUU7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUVBQWlFLGFBQWE7QUFDOUU7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLFVBQVU7QUFDakQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLE1BQWUsR0FBRyxDQUFvQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXVGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy96dXN0YW5kL2VzbS9taWRkbGV3YXJlLm1qcz9iODMwIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlZHV4SW1wbCA9IChyZWR1Y2VyLCBpbml0aWFsKSA9PiAoc2V0LCBfZ2V0LCBhcGkpID0+IHtcbiAgYXBpLmRpc3BhdGNoID0gKGFjdGlvbikgPT4ge1xuICAgIHNldCgoc3RhdGUpID0+IHJlZHVjZXIoc3RhdGUsIGFjdGlvbiksIGZhbHNlLCBhY3Rpb24pO1xuICAgIHJldHVybiBhY3Rpb247XG4gIH07XG4gIGFwaS5kaXNwYXRjaEZyb21EZXZ0b29scyA9IHRydWU7XG4gIHJldHVybiB7IGRpc3BhdGNoOiAoLi4uYSkgPT4gYXBpLmRpc3BhdGNoKC4uLmEpLCAuLi5pbml0aWFsIH07XG59O1xuY29uc3QgcmVkdXggPSByZWR1eEltcGw7XG5cbmNvbnN0IHRyYWNrZWRDb25uZWN0aW9ucyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG5jb25zdCBnZXRUcmFja2VkQ29ubmVjdGlvblN0YXRlID0gKG5hbWUpID0+IHtcbiAgY29uc3QgYXBpID0gdHJhY2tlZENvbm5lY3Rpb25zLmdldChuYW1lKTtcbiAgaWYgKCFhcGkpXG4gICAgcmV0dXJuIHt9O1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGFwaS5zdG9yZXMpLm1hcCgoW2tleSwgYXBpMl0pID0+IFtrZXksIGFwaTIuZ2V0U3RhdGUoKV0pXG4gICk7XG59O1xuY29uc3QgZXh0cmFjdENvbm5lY3Rpb25JbmZvcm1hdGlvbiA9IChzdG9yZSwgZXh0ZW5zaW9uQ29ubmVjdG9yLCBvcHRpb25zKSA9PiB7XG4gIGlmIChzdG9yZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwidW50cmFja2VkXCIsXG4gICAgICBjb25uZWN0aW9uOiBleHRlbnNpb25Db25uZWN0b3IuY29ubmVjdChvcHRpb25zKVxuICAgIH07XG4gIH1cbiAgY29uc3QgZXhpc3RpbmdDb25uZWN0aW9uID0gdHJhY2tlZENvbm5lY3Rpb25zLmdldChvcHRpb25zLm5hbWUpO1xuICBpZiAoZXhpc3RpbmdDb25uZWN0aW9uKSB7XG4gICAgcmV0dXJuIHsgdHlwZTogXCJ0cmFja2VkXCIsIHN0b3JlLCAuLi5leGlzdGluZ0Nvbm5lY3Rpb24gfTtcbiAgfVxuICBjb25zdCBuZXdDb25uZWN0aW9uID0ge1xuICAgIGNvbm5lY3Rpb246IGV4dGVuc2lvbkNvbm5lY3Rvci5jb25uZWN0KG9wdGlvbnMpLFxuICAgIHN0b3Jlczoge31cbiAgfTtcbiAgdHJhY2tlZENvbm5lY3Rpb25zLnNldChvcHRpb25zLm5hbWUsIG5ld0Nvbm5lY3Rpb24pO1xuICByZXR1cm4geyB0eXBlOiBcInRyYWNrZWRcIiwgc3RvcmUsIC4uLm5ld0Nvbm5lY3Rpb24gfTtcbn07XG5jb25zdCBkZXZ0b29sc0ltcGwgPSAoZm4sIGRldnRvb2xzT3B0aW9ucyA9IHt9KSA9PiAoc2V0LCBnZXQsIGFwaSkgPT4ge1xuICBjb25zdCB7IGVuYWJsZWQsIGFub255bW91c0FjdGlvblR5cGUsIHN0b3JlLCAuLi5vcHRpb25zIH0gPSBkZXZ0b29sc09wdGlvbnM7XG4gIGxldCBleHRlbnNpb25Db25uZWN0b3I7XG4gIHRyeSB7XG4gICAgZXh0ZW5zaW9uQ29ubmVjdG9yID0gKGVuYWJsZWQgIT0gbnVsbCA/IGVuYWJsZWQgOiAoaW1wb3J0Lm1ldGEuZW52ID8gaW1wb3J0Lm1ldGEuZW52Lk1PREUgOiB2b2lkIDApICE9PSBcInByb2R1Y3Rpb25cIikgJiYgd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX187XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxuICBpZiAoIWV4dGVuc2lvbkNvbm5lY3Rvcikge1xuICAgIGlmICgoaW1wb3J0Lm1ldGEuZW52ID8gaW1wb3J0Lm1ldGEuZW52Lk1PREUgOiB2b2lkIDApICE9PSBcInByb2R1Y3Rpb25cIiAmJiBlbmFibGVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIFwiW3p1c3RhbmQgZGV2dG9vbHMgbWlkZGxld2FyZV0gUGxlYXNlIGluc3RhbGwvZW5hYmxlIFJlZHV4IGRldnRvb2xzIGV4dGVuc2lvblwiXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZm4oc2V0LCBnZXQsIGFwaSk7XG4gIH1cbiAgY29uc3QgeyBjb25uZWN0aW9uLCAuLi5jb25uZWN0aW9uSW5mb3JtYXRpb24gfSA9IGV4dHJhY3RDb25uZWN0aW9uSW5mb3JtYXRpb24oc3RvcmUsIGV4dGVuc2lvbkNvbm5lY3Rvciwgb3B0aW9ucyk7XG4gIGxldCBpc1JlY29yZGluZyA9IHRydWU7XG4gIGFwaS5zZXRTdGF0ZSA9IChzdGF0ZSwgcmVwbGFjZSwgbmFtZU9yQWN0aW9uKSA9PiB7XG4gICAgY29uc3QgciA9IHNldChzdGF0ZSwgcmVwbGFjZSk7XG4gICAgaWYgKCFpc1JlY29yZGluZylcbiAgICAgIHJldHVybiByO1xuICAgIGNvbnN0IGFjdGlvbiA9IG5hbWVPckFjdGlvbiA9PT0gdm9pZCAwID8geyB0eXBlOiBhbm9ueW1vdXNBY3Rpb25UeXBlIHx8IFwiYW5vbnltb3VzXCIgfSA6IHR5cGVvZiBuYW1lT3JBY3Rpb24gPT09IFwic3RyaW5nXCIgPyB7IHR5cGU6IG5hbWVPckFjdGlvbiB9IDogbmFtZU9yQWN0aW9uO1xuICAgIGlmIChzdG9yZSA9PT0gdm9pZCAwKSB7XG4gICAgICBjb25uZWN0aW9uID09IG51bGwgPyB2b2lkIDAgOiBjb25uZWN0aW9uLnNlbmQoYWN0aW9uLCBnZXQoKSk7XG4gICAgICByZXR1cm4gcjtcbiAgICB9XG4gICAgY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5zZW5kKFxuICAgICAge1xuICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgIHR5cGU6IGAke3N0b3JlfS8ke2FjdGlvbi50eXBlfWBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC4uLmdldFRyYWNrZWRDb25uZWN0aW9uU3RhdGUob3B0aW9ucy5uYW1lKSxcbiAgICAgICAgW3N0b3JlXTogYXBpLmdldFN0YXRlKClcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiByO1xuICB9O1xuICBjb25zdCBzZXRTdGF0ZUZyb21EZXZ0b29scyA9ICguLi5hKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxJc1JlY29yZGluZyA9IGlzUmVjb3JkaW5nO1xuICAgIGlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgc2V0KC4uLmEpO1xuICAgIGlzUmVjb3JkaW5nID0gb3JpZ2luYWxJc1JlY29yZGluZztcbiAgfTtcbiAgY29uc3QgaW5pdGlhbFN0YXRlID0gZm4oYXBpLnNldFN0YXRlLCBnZXQsIGFwaSk7XG4gIGlmIChjb25uZWN0aW9uSW5mb3JtYXRpb24udHlwZSA9PT0gXCJ1bnRyYWNrZWRcIikge1xuICAgIGNvbm5lY3Rpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGNvbm5lY3Rpb24uaW5pdChpbml0aWFsU3RhdGUpO1xuICB9IGVsc2Uge1xuICAgIGNvbm5lY3Rpb25JbmZvcm1hdGlvbi5zdG9yZXNbY29ubmVjdGlvbkluZm9ybWF0aW9uLnN0b3JlXSA9IGFwaTtcbiAgICBjb25uZWN0aW9uID09IG51bGwgPyB2b2lkIDAgOiBjb25uZWN0aW9uLmluaXQoXG4gICAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNvbm5lY3Rpb25JbmZvcm1hdGlvbi5zdG9yZXMpLm1hcCgoW2tleSwgc3RvcmUyXSkgPT4gW1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICBrZXkgPT09IGNvbm5lY3Rpb25JbmZvcm1hdGlvbi5zdG9yZSA/IGluaXRpYWxTdGF0ZSA6IHN0b3JlMi5nZXRTdGF0ZSgpXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuICBpZiAoYXBpLmRpc3BhdGNoRnJvbURldnRvb2xzICYmIHR5cGVvZiBhcGkuZGlzcGF0Y2ggPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGxldCBkaWRXYXJuQWJvdXRSZXNlcnZlZEFjdGlvblR5cGUgPSBmYWxzZTtcbiAgICBjb25zdCBvcmlnaW5hbERpc3BhdGNoID0gYXBpLmRpc3BhdGNoO1xuICAgIGFwaS5kaXNwYXRjaCA9ICguLi5hKSA9PiB7XG4gICAgICBpZiAoKGltcG9ydC5tZXRhLmVudiA/IGltcG9ydC5tZXRhLmVudi5NT0RFIDogdm9pZCAwKSAhPT0gXCJwcm9kdWN0aW9uXCIgJiYgYVswXS50eXBlID09PSBcIl9fc2V0U3RhdGVcIiAmJiAhZGlkV2FybkFib3V0UmVzZXJ2ZWRBY3Rpb25UeXBlKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnW3p1c3RhbmQgZGV2dG9vbHMgbWlkZGxld2FyZV0gXCJfX3NldFN0YXRlXCIgYWN0aW9uIHR5cGUgaXMgcmVzZXJ2ZWQgdG8gc2V0IHN0YXRlIGZyb20gdGhlIGRldnRvb2xzLiBBdm9pZCB1c2luZyBpdC4nXG4gICAgICAgICk7XG4gICAgICAgIGRpZFdhcm5BYm91dFJlc2VydmVkQWN0aW9uVHlwZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBvcmlnaW5hbERpc3BhdGNoKC4uLmEpO1xuICAgIH07XG4gIH1cbiAgY29ubmVjdGlvbi5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgIGNhc2UgXCJBQ1RJT05cIjpcbiAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlLnBheWxvYWQgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgXCJbenVzdGFuZCBkZXZ0b29scyBtaWRkbGV3YXJlXSBVbnN1cHBvcnRlZCBhY3Rpb24gZm9ybWF0XCJcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyc2VKc29uVGhlbihcbiAgICAgICAgICBtZXNzYWdlLnBheWxvYWQsXG4gICAgICAgICAgKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSBcIl9fc2V0U3RhdGVcIikge1xuICAgICAgICAgICAgICBpZiAoc3RvcmUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICAgIHNldFN0YXRlRnJvbURldnRvb2xzKGFjdGlvbi5zdGF0ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhhY3Rpb24uc3RhdGUpLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgICAgICAgIFt6dXN0YW5kIGRldnRvb2xzIG1pZGRsZXdhcmVdIFVuc3VwcG9ydGVkIF9fc2V0U3RhdGUgYWN0aW9uIGZvcm1hdC4gXG4gICAgICAgICAgICAgICAgICAgIFdoZW4gdXNpbmcgJ3N0b3JlJyBvcHRpb24gaW4gZGV2dG9vbHMoKSwgdGhlICdzdGF0ZScgc2hvdWxkIGhhdmUgb25seSBvbmUga2V5LCB3aGljaCBpcyBhIHZhbHVlIG9mICdzdG9yZScgdGhhdCB3YXMgcGFzc2VkIGluIGRldnRvb2xzKCksXG4gICAgICAgICAgICAgICAgICAgIGFuZCB2YWx1ZSBvZiB0aGlzIG9ubHkga2V5IHNob3VsZCBiZSBhIHN0YXRlIG9iamVjdC4gRXhhbXBsZTogeyBcInR5cGVcIjogXCJfX3NldFN0YXRlXCIsIFwic3RhdGVcIjogeyBcImFiYzEyM1N0b3JlXCI6IHsgXCJmb29cIjogXCJiYXJcIiB9IH0gfVxuICAgICAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBzdGF0ZUZyb21EZXZ0b29scyA9IGFjdGlvbi5zdGF0ZVtzdG9yZV07XG4gICAgICAgICAgICAgIGlmIChzdGF0ZUZyb21EZXZ0b29scyA9PT0gdm9pZCAwIHx8IHN0YXRlRnJvbURldnRvb2xzID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhcGkuZ2V0U3RhdGUoKSkgIT09IEpTT04uc3RyaW5naWZ5KHN0YXRlRnJvbURldnRvb2xzKSkge1xuICAgICAgICAgICAgICAgIHNldFN0YXRlRnJvbURldnRvb2xzKHN0YXRlRnJvbURldnRvb2xzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWFwaS5kaXNwYXRjaEZyb21EZXZ0b29scylcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBhcGkuZGlzcGF0Y2ggIT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYXBpLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgY2FzZSBcIkRJU1BBVENIXCI6XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS5wYXlsb2FkLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFwiUkVTRVRcIjpcbiAgICAgICAgICAgIHNldFN0YXRlRnJvbURldnRvb2xzKGluaXRpYWxTdGF0ZSk7XG4gICAgICAgICAgICBpZiAoc3RvcmUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICByZXR1cm4gY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5pbml0KGFwaS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb25uZWN0aW9uID09IG51bGwgPyB2b2lkIDAgOiBjb25uZWN0aW9uLmluaXQoZ2V0VHJhY2tlZENvbm5lY3Rpb25TdGF0ZShvcHRpb25zLm5hbWUpKTtcbiAgICAgICAgICBjYXNlIFwiQ09NTUlUXCI6XG4gICAgICAgICAgICBpZiAoc3RvcmUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICBjb25uZWN0aW9uID09IG51bGwgPyB2b2lkIDAgOiBjb25uZWN0aW9uLmluaXQoYXBpLmdldFN0YXRlKCkpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5pbml0KGdldFRyYWNrZWRDb25uZWN0aW9uU3RhdGUob3B0aW9ucy5uYW1lKSk7XG4gICAgICAgICAgY2FzZSBcIlJPTExCQUNLXCI6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VKc29uVGhlbihtZXNzYWdlLnN0YXRlLCAoc3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHN0b3JlID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgICBzZXRTdGF0ZUZyb21EZXZ0b29scyhzdGF0ZSk7XG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5pbml0KGFwaS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0U3RhdGVGcm9tRGV2dG9vbHMoc3RhdGVbc3RvcmVdKTtcbiAgICAgICAgICAgICAgY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5pbml0KGdldFRyYWNrZWRDb25uZWN0aW9uU3RhdGUob3B0aW9ucy5uYW1lKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBjYXNlIFwiSlVNUF9UT19TVEFURVwiOlxuICAgICAgICAgIGNhc2UgXCJKVU1QX1RPX0FDVElPTlwiOlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlSnNvblRoZW4obWVzc2FnZS5zdGF0ZSwgKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzdG9yZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgICAgc2V0U3RhdGVGcm9tRGV2dG9vbHMoc3RhdGUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYXBpLmdldFN0YXRlKCkpICE9PSBKU09OLnN0cmluZ2lmeShzdGF0ZVtzdG9yZV0pKSB7XG4gICAgICAgICAgICAgICAgc2V0U3RhdGVGcm9tRGV2dG9vbHMoc3RhdGVbc3RvcmVdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgY2FzZSBcIklNUE9SVF9TVEFURVwiOiB7XG4gICAgICAgICAgICBjb25zdCB7IG5leHRMaWZ0ZWRTdGF0ZSB9ID0gbWVzc2FnZS5wYXlsb2FkO1xuICAgICAgICAgICAgY29uc3QgbGFzdENvbXB1dGVkU3RhdGUgPSAoX2EgPSBuZXh0TGlmdGVkU3RhdGUuY29tcHV0ZWRTdGF0ZXMuc2xpY2UoLTEpWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2Euc3RhdGU7XG4gICAgICAgICAgICBpZiAoIWxhc3RDb21wdXRlZFN0YXRlKVxuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpZiAoc3RvcmUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICBzZXRTdGF0ZUZyb21EZXZ0b29scyhsYXN0Q29tcHV0ZWRTdGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRTdGF0ZUZyb21EZXZ0b29scyhsYXN0Q29tcHV0ZWRTdGF0ZVtzdG9yZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29ubmVjdGlvbiA9PSBudWxsID8gdm9pZCAwIDogY29ubmVjdGlvbi5zZW5kKFxuICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAvLyBGSVhNRSBuby1hbnlcbiAgICAgICAgICAgICAgbmV4dExpZnRlZFN0YXRlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiUEFVU0VfUkVDT1JESU5HXCI6XG4gICAgICAgICAgICByZXR1cm4gaXNSZWNvcmRpbmcgPSAhaXNSZWNvcmRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBpbml0aWFsU3RhdGU7XG59O1xuY29uc3QgZGV2dG9vbHMgPSBkZXZ0b29sc0ltcGw7XG5jb25zdCBwYXJzZUpzb25UaGVuID0gKHN0cmluZ2lmaWVkLCBmKSA9PiB7XG4gIGxldCBwYXJzZWQ7XG4gIHRyeSB7XG4gICAgcGFyc2VkID0gSlNPTi5wYXJzZShzdHJpbmdpZmllZCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgXCJbenVzdGFuZCBkZXZ0b29scyBtaWRkbGV3YXJlXSBDb3VsZCBub3QgcGFyc2UgdGhlIHJlY2VpdmVkIGpzb25cIixcbiAgICAgIGVcbiAgICApO1xuICB9XG4gIGlmIChwYXJzZWQgIT09IHZvaWQgMClcbiAgICBmKHBhcnNlZCk7XG59O1xuXG5jb25zdCBzdWJzY3JpYmVXaXRoU2VsZWN0b3JJbXBsID0gKGZuKSA9PiAoc2V0LCBnZXQsIGFwaSkgPT4ge1xuICBjb25zdCBvcmlnU3Vic2NyaWJlID0gYXBpLnN1YnNjcmliZTtcbiAgYXBpLnN1YnNjcmliZSA9IChzZWxlY3Rvciwgb3B0TGlzdGVuZXIsIG9wdGlvbnMpID0+IHtcbiAgICBsZXQgbGlzdGVuZXIgPSBzZWxlY3RvcjtcbiAgICBpZiAob3B0TGlzdGVuZXIpIHtcbiAgICAgIGNvbnN0IGVxdWFsaXR5Rm4gPSAob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5lcXVhbGl0eUZuKSB8fCBPYmplY3QuaXM7XG4gICAgICBsZXQgY3VycmVudFNsaWNlID0gc2VsZWN0b3IoYXBpLmdldFN0YXRlKCkpO1xuICAgICAgbGlzdGVuZXIgPSAoc3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dFNsaWNlID0gc2VsZWN0b3Ioc3RhdGUpO1xuICAgICAgICBpZiAoIWVxdWFsaXR5Rm4oY3VycmVudFNsaWNlLCBuZXh0U2xpY2UpKSB7XG4gICAgICAgICAgY29uc3QgcHJldmlvdXNTbGljZSA9IGN1cnJlbnRTbGljZTtcbiAgICAgICAgICBvcHRMaXN0ZW5lcihjdXJyZW50U2xpY2UgPSBuZXh0U2xpY2UsIHByZXZpb3VzU2xpY2UpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMuZmlyZUltbWVkaWF0ZWx5KSB7XG4gICAgICAgIG9wdExpc3RlbmVyKGN1cnJlbnRTbGljZSwgY3VycmVudFNsaWNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9yaWdTdWJzY3JpYmUobGlzdGVuZXIpO1xuICB9O1xuICBjb25zdCBpbml0aWFsU3RhdGUgPSBmbihzZXQsIGdldCwgYXBpKTtcbiAgcmV0dXJuIGluaXRpYWxTdGF0ZTtcbn07XG5jb25zdCBzdWJzY3JpYmVXaXRoU2VsZWN0b3IgPSBzdWJzY3JpYmVXaXRoU2VsZWN0b3JJbXBsO1xuXG5jb25zdCBjb21iaW5lID0gKGluaXRpYWxTdGF0ZSwgY3JlYXRlKSA9PiAoLi4uYSkgPT4gT2JqZWN0LmFzc2lnbih7fSwgaW5pdGlhbFN0YXRlLCBjcmVhdGUoLi4uYSkpO1xuXG5mdW5jdGlvbiBjcmVhdGVKU09OU3RvcmFnZShnZXRTdG9yYWdlLCBvcHRpb25zKSB7XG4gIGxldCBzdG9yYWdlO1xuICB0cnkge1xuICAgIHN0b3JhZ2UgPSBnZXRTdG9yYWdlKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgcGVyc2lzdFN0b3JhZ2UgPSB7XG4gICAgZ2V0SXRlbTogKG5hbWUpID0+IHtcbiAgICAgIHZhciBfYTtcbiAgICAgIGNvbnN0IHBhcnNlID0gKHN0cjIpID0+IHtcbiAgICAgICAgaWYgKHN0cjIgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShzdHIyLCBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnJldml2ZXIpO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IHN0ciA9IChfYSA9IHN0b3JhZ2UuZ2V0SXRlbShuYW1lKSkgIT0gbnVsbCA/IF9hIDogbnVsbDtcbiAgICAgIGlmIChzdHIgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgIHJldHVybiBzdHIudGhlbihwYXJzZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFyc2Uoc3RyKTtcbiAgICB9LFxuICAgIHNldEl0ZW06IChuYW1lLCBuZXdWYWx1ZSkgPT4gc3RvcmFnZS5zZXRJdGVtKFxuICAgICAgbmFtZSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlLCBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnJlcGxhY2VyKVxuICAgICksXG4gICAgcmVtb3ZlSXRlbTogKG5hbWUpID0+IHN0b3JhZ2UucmVtb3ZlSXRlbShuYW1lKVxuICB9O1xuICByZXR1cm4gcGVyc2lzdFN0b3JhZ2U7XG59XG5jb25zdCB0b1RoZW5hYmxlID0gKGZuKSA9PiAoaW5wdXQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBmbihpbnB1dCk7XG4gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB0aGVuKG9uRnVsZmlsbGVkKSB7XG4gICAgICAgIHJldHVybiB0b1RoZW5hYmxlKG9uRnVsZmlsbGVkKShyZXN1bHQpO1xuICAgICAgfSxcbiAgICAgIGNhdGNoKF9vblJlamVjdGVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGhlbihfb25GdWxmaWxsZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgY2F0Y2gob25SZWplY3RlZCkge1xuICAgICAgICByZXR1cm4gdG9UaGVuYWJsZShvblJlamVjdGVkKShlKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59O1xuY29uc3Qgb2xkSW1wbCA9IChjb25maWcsIGJhc2VPcHRpb25zKSA9PiAoc2V0LCBnZXQsIGFwaSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBnZXRTdG9yYWdlOiAoKSA9PiBsb2NhbFN0b3JhZ2UsXG4gICAgc2VyaWFsaXplOiBKU09OLnN0cmluZ2lmeSxcbiAgICBkZXNlcmlhbGl6ZTogSlNPTi5wYXJzZSxcbiAgICBwYXJ0aWFsaXplOiAoc3RhdGUpID0+IHN0YXRlLFxuICAgIHZlcnNpb246IDAsXG4gICAgbWVyZ2U6IChwZXJzaXN0ZWRTdGF0ZSwgY3VycmVudFN0YXRlKSA9PiAoe1xuICAgICAgLi4uY3VycmVudFN0YXRlLFxuICAgICAgLi4ucGVyc2lzdGVkU3RhdGVcbiAgICB9KSxcbiAgICAuLi5iYXNlT3B0aW9uc1xuICB9O1xuICBsZXQgaGFzSHlkcmF0ZWQgPSBmYWxzZTtcbiAgY29uc3QgaHlkcmF0aW9uTGlzdGVuZXJzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgY29uc3QgZmluaXNoSHlkcmF0aW9uTGlzdGVuZXJzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgbGV0IHN0b3JhZ2U7XG4gIHRyeSB7XG4gICAgc3RvcmFnZSA9IG9wdGlvbnMuZ2V0U3RvcmFnZSgpO1xuICB9IGNhdGNoIChlKSB7XG4gIH1cbiAgaWYgKCFzdG9yYWdlKSB7XG4gICAgcmV0dXJuIGNvbmZpZyhcbiAgICAgICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgW3p1c3RhbmQgcGVyc2lzdCBtaWRkbGV3YXJlXSBVbmFibGUgdG8gdXBkYXRlIGl0ZW0gJyR7b3B0aW9ucy5uYW1lfScsIHRoZSBnaXZlbiBzdG9yYWdlIGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZS5gXG4gICAgICAgICk7XG4gICAgICAgIHNldCguLi5hcmdzKTtcbiAgICAgIH0sXG4gICAgICBnZXQsXG4gICAgICBhcGlcbiAgICApO1xuICB9XG4gIGNvbnN0IHRoZW5hYmxlU2VyaWFsaXplID0gdG9UaGVuYWJsZShvcHRpb25zLnNlcmlhbGl6ZSk7XG4gIGNvbnN0IHNldEl0ZW0gPSAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBvcHRpb25zLnBhcnRpYWxpemUoeyAuLi5nZXQoKSB9KTtcbiAgICBsZXQgZXJyb3JJblN5bmM7XG4gICAgY29uc3QgdGhlbmFibGUgPSB0aGVuYWJsZVNlcmlhbGl6ZSh7IHN0YXRlLCB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gfSkudGhlbihcbiAgICAgIChzZXJpYWxpemVkVmFsdWUpID0+IHN0b3JhZ2Uuc2V0SXRlbShvcHRpb25zLm5hbWUsIHNlcmlhbGl6ZWRWYWx1ZSlcbiAgICApLmNhdGNoKChlKSA9PiB7XG4gICAgICBlcnJvckluU3luYyA9IGU7XG4gICAgfSk7XG4gICAgaWYgKGVycm9ySW5TeW5jKSB7XG4gICAgICB0aHJvdyBlcnJvckluU3luYztcbiAgICB9XG4gICAgcmV0dXJuIHRoZW5hYmxlO1xuICB9O1xuICBjb25zdCBzYXZlZFNldFN0YXRlID0gYXBpLnNldFN0YXRlO1xuICBhcGkuc2V0U3RhdGUgPSAoc3RhdGUsIHJlcGxhY2UpID0+IHtcbiAgICBzYXZlZFNldFN0YXRlKHN0YXRlLCByZXBsYWNlKTtcbiAgICB2b2lkIHNldEl0ZW0oKTtcbiAgfTtcbiAgY29uc3QgY29uZmlnUmVzdWx0ID0gY29uZmlnKFxuICAgICguLi5hcmdzKSA9PiB7XG4gICAgICBzZXQoLi4uYXJncyk7XG4gICAgICB2b2lkIHNldEl0ZW0oKTtcbiAgICB9LFxuICAgIGdldCxcbiAgICBhcGlcbiAgKTtcbiAgbGV0IHN0YXRlRnJvbVN0b3JhZ2U7XG4gIGNvbnN0IGh5ZHJhdGUgPSAoKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGlmICghc3RvcmFnZSlcbiAgICAgIHJldHVybjtcbiAgICBoYXNIeWRyYXRlZCA9IGZhbHNlO1xuICAgIGh5ZHJhdGlvbkxpc3RlbmVycy5mb3JFYWNoKChjYikgPT4gY2IoZ2V0KCkpKTtcbiAgICBjb25zdCBwb3N0UmVoeWRyYXRpb25DYWxsYmFjayA9ICgoX2EgPSBvcHRpb25zLm9uUmVoeWRyYXRlU3RvcmFnZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwob3B0aW9ucywgZ2V0KCkpKSB8fCB2b2lkIDA7XG4gICAgcmV0dXJuIHRvVGhlbmFibGUoc3RvcmFnZS5nZXRJdGVtLmJpbmQoc3RvcmFnZSkpKG9wdGlvbnMubmFtZSkudGhlbigoc3RvcmFnZVZhbHVlKSA9PiB7XG4gICAgICBpZiAoc3RvcmFnZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmRlc2VyaWFsaXplKHN0b3JhZ2VWYWx1ZSk7XG4gICAgICB9XG4gICAgfSkudGhlbigoZGVzZXJpYWxpemVkU3RvcmFnZVZhbHVlKSA9PiB7XG4gICAgICBpZiAoZGVzZXJpYWxpemVkU3RvcmFnZVZhbHVlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVzZXJpYWxpemVkU3RvcmFnZVZhbHVlLnZlcnNpb24gPT09IFwibnVtYmVyXCIgJiYgZGVzZXJpYWxpemVkU3RvcmFnZVZhbHVlLnZlcnNpb24gIT09IG9wdGlvbnMudmVyc2lvbikge1xuICAgICAgICAgIGlmIChvcHRpb25zLm1pZ3JhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLm1pZ3JhdGUoXG4gICAgICAgICAgICAgIGRlc2VyaWFsaXplZFN0b3JhZ2VWYWx1ZS5zdGF0ZSxcbiAgICAgICAgICAgICAgZGVzZXJpYWxpemVkU3RvcmFnZVZhbHVlLnZlcnNpb25cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICBgU3RhdGUgbG9hZGVkIGZyb20gc3RvcmFnZSBjb3VsZG4ndCBiZSBtaWdyYXRlZCBzaW5jZSBubyBtaWdyYXRlIGZ1bmN0aW9uIHdhcyBwcm92aWRlZGBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBkZXNlcmlhbGl6ZWRTdG9yYWdlVmFsdWUuc3RhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KS50aGVuKChtaWdyYXRlZFN0YXRlKSA9PiB7XG4gICAgICB2YXIgX2EyO1xuICAgICAgc3RhdGVGcm9tU3RvcmFnZSA9IG9wdGlvbnMubWVyZ2UoXG4gICAgICAgIG1pZ3JhdGVkU3RhdGUsXG4gICAgICAgIChfYTIgPSBnZXQoKSkgIT0gbnVsbCA/IF9hMiA6IGNvbmZpZ1Jlc3VsdFxuICAgICAgKTtcbiAgICAgIHNldChzdGF0ZUZyb21TdG9yYWdlLCB0cnVlKTtcbiAgICAgIHJldHVybiBzZXRJdGVtKCk7XG4gICAgfSkudGhlbigoKSA9PiB7XG4gICAgICBwb3N0UmVoeWRyYXRpb25DYWxsYmFjayA9PSBudWxsID8gdm9pZCAwIDogcG9zdFJlaHlkcmF0aW9uQ2FsbGJhY2soc3RhdGVGcm9tU3RvcmFnZSwgdm9pZCAwKTtcbiAgICAgIGhhc0h5ZHJhdGVkID0gdHJ1ZTtcbiAgICAgIGZpbmlzaEh5ZHJhdGlvbkxpc3RlbmVycy5mb3JFYWNoKChjYikgPT4gY2Ioc3RhdGVGcm9tU3RvcmFnZSkpO1xuICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICBwb3N0UmVoeWRyYXRpb25DYWxsYmFjayA9PSBudWxsID8gdm9pZCAwIDogcG9zdFJlaHlkcmF0aW9uQ2FsbGJhY2sodm9pZCAwLCBlKTtcbiAgICB9KTtcbiAgfTtcbiAgYXBpLnBlcnNpc3QgPSB7XG4gICAgc2V0T3B0aW9uczogKG5ld09wdGlvbnMpID0+IHtcbiAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC4uLm5ld09wdGlvbnNcbiAgICAgIH07XG4gICAgICBpZiAobmV3T3B0aW9ucy5nZXRTdG9yYWdlKSB7XG4gICAgICAgIHN0b3JhZ2UgPSBuZXdPcHRpb25zLmdldFN0b3JhZ2UoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGNsZWFyU3RvcmFnZTogKCkgPT4ge1xuICAgICAgc3RvcmFnZSA9PSBudWxsID8gdm9pZCAwIDogc3RvcmFnZS5yZW1vdmVJdGVtKG9wdGlvbnMubmFtZSk7XG4gICAgfSxcbiAgICBnZXRPcHRpb25zOiAoKSA9PiBvcHRpb25zLFxuICAgIHJlaHlkcmF0ZTogKCkgPT4gaHlkcmF0ZSgpLFxuICAgIGhhc0h5ZHJhdGVkOiAoKSA9PiBoYXNIeWRyYXRlZCxcbiAgICBvbkh5ZHJhdGU6IChjYikgPT4ge1xuICAgICAgaHlkcmF0aW9uTGlzdGVuZXJzLmFkZChjYik7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBoeWRyYXRpb25MaXN0ZW5lcnMuZGVsZXRlKGNiKTtcbiAgICAgIH07XG4gICAgfSxcbiAgICBvbkZpbmlzaEh5ZHJhdGlvbjogKGNiKSA9PiB7XG4gICAgICBmaW5pc2hIeWRyYXRpb25MaXN0ZW5lcnMuYWRkKGNiKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGZpbmlzaEh5ZHJhdGlvbkxpc3RlbmVycy5kZWxldGUoY2IpO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG4gIGh5ZHJhdGUoKTtcbiAgcmV0dXJuIHN0YXRlRnJvbVN0b3JhZ2UgfHwgY29uZmlnUmVzdWx0O1xufTtcbmNvbnN0IG5ld0ltcGwgPSAoY29uZmlnLCBiYXNlT3B0aW9ucykgPT4gKHNldCwgZ2V0LCBhcGkpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgc3RvcmFnZTogY3JlYXRlSlNPTlN0b3JhZ2UoKCkgPT4gbG9jYWxTdG9yYWdlKSxcbiAgICBwYXJ0aWFsaXplOiAoc3RhdGUpID0+IHN0YXRlLFxuICAgIHZlcnNpb246IDAsXG4gICAgbWVyZ2U6IChwZXJzaXN0ZWRTdGF0ZSwgY3VycmVudFN0YXRlKSA9PiAoe1xuICAgICAgLi4uY3VycmVudFN0YXRlLFxuICAgICAgLi4ucGVyc2lzdGVkU3RhdGVcbiAgICB9KSxcbiAgICAuLi5iYXNlT3B0aW9uc1xuICB9O1xuICBsZXQgaGFzSHlkcmF0ZWQgPSBmYWxzZTtcbiAgY29uc3QgaHlkcmF0aW9uTGlzdGVuZXJzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgY29uc3QgZmluaXNoSHlkcmF0aW9uTGlzdGVuZXJzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgbGV0IHN0b3JhZ2UgPSBvcHRpb25zLnN0b3JhZ2U7XG4gIGlmICghc3RvcmFnZSkge1xuICAgIHJldHVybiBjb25maWcoXG4gICAgICAoLi4uYXJncykgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFt6dXN0YW5kIHBlcnNpc3QgbWlkZGxld2FyZV0gVW5hYmxlIHRvIHVwZGF0ZSBpdGVtICcke29wdGlvbnMubmFtZX0nLCB0aGUgZ2l2ZW4gc3RvcmFnZSBpcyBjdXJyZW50bHkgdW5hdmFpbGFibGUuYFxuICAgICAgICApO1xuICAgICAgICBzZXQoLi4uYXJncyk7XG4gICAgICB9LFxuICAgICAgZ2V0LFxuICAgICAgYXBpXG4gICAgKTtcbiAgfVxuICBjb25zdCBzZXRJdGVtID0gKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gb3B0aW9ucy5wYXJ0aWFsaXplKHsgLi4uZ2V0KCkgfSk7XG4gICAgcmV0dXJuIHN0b3JhZ2Uuc2V0SXRlbShvcHRpb25zLm5hbWUsIHtcbiAgICAgIHN0YXRlLFxuICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uXG4gICAgfSk7XG4gIH07XG4gIGNvbnN0IHNhdmVkU2V0U3RhdGUgPSBhcGkuc2V0U3RhdGU7XG4gIGFwaS5zZXRTdGF0ZSA9IChzdGF0ZSwgcmVwbGFjZSkgPT4ge1xuICAgIHNhdmVkU2V0U3RhdGUoc3RhdGUsIHJlcGxhY2UpO1xuICAgIHZvaWQgc2V0SXRlbSgpO1xuICB9O1xuICBjb25zdCBjb25maWdSZXN1bHQgPSBjb25maWcoXG4gICAgKC4uLmFyZ3MpID0+IHtcbiAgICAgIHNldCguLi5hcmdzKTtcbiAgICAgIHZvaWQgc2V0SXRlbSgpO1xuICAgIH0sXG4gICAgZ2V0LFxuICAgIGFwaVxuICApO1xuICBsZXQgc3RhdGVGcm9tU3RvcmFnZTtcbiAgY29uc3QgaHlkcmF0ZSA9ICgpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGlmICghc3RvcmFnZSlcbiAgICAgIHJldHVybjtcbiAgICBoYXNIeWRyYXRlZCA9IGZhbHNlO1xuICAgIGh5ZHJhdGlvbkxpc3RlbmVycy5mb3JFYWNoKChjYikgPT4ge1xuICAgICAgdmFyIF9hMjtcbiAgICAgIHJldHVybiBjYigoX2EyID0gZ2V0KCkpICE9IG51bGwgPyBfYTIgOiBjb25maWdSZXN1bHQpO1xuICAgIH0pO1xuICAgIGNvbnN0IHBvc3RSZWh5ZHJhdGlvbkNhbGxiYWNrID0gKChfYiA9IG9wdGlvbnMub25SZWh5ZHJhdGVTdG9yYWdlKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChvcHRpb25zLCAoX2EgPSBnZXQoKSkgIT0gbnVsbCA/IF9hIDogY29uZmlnUmVzdWx0KSkgfHwgdm9pZCAwO1xuICAgIHJldHVybiB0b1RoZW5hYmxlKHN0b3JhZ2UuZ2V0SXRlbS5iaW5kKHN0b3JhZ2UpKShvcHRpb25zLm5hbWUpLnRoZW4oKGRlc2VyaWFsaXplZFN0b3JhZ2VWYWx1ZSkgPT4ge1xuICAgICAgaWYgKGRlc2VyaWFsaXplZFN0b3JhZ2VWYWx1ZSkge1xuICAgICAgICBpZiAodHlwZW9mIGRlc2VyaWFsaXplZFN0b3JhZ2VWYWx1ZS52ZXJzaW9uID09PSBcIm51bWJlclwiICYmIGRlc2VyaWFsaXplZFN0b3JhZ2VWYWx1ZS52ZXJzaW9uICE9PSBvcHRpb25zLnZlcnNpb24pIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5taWdyYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5taWdyYXRlKFxuICAgICAgICAgICAgICBkZXNlcmlhbGl6ZWRTdG9yYWdlVmFsdWUuc3RhdGUsXG4gICAgICAgICAgICAgIGRlc2VyaWFsaXplZFN0b3JhZ2VWYWx1ZS52ZXJzaW9uXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYFN0YXRlIGxvYWRlZCBmcm9tIHN0b3JhZ2UgY291bGRuJ3QgYmUgbWlncmF0ZWQgc2luY2Ugbm8gbWlncmF0ZSBmdW5jdGlvbiB3YXMgcHJvdmlkZWRgXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZGVzZXJpYWxpemVkU3RvcmFnZVZhbHVlLnN0YXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkudGhlbigobWlncmF0ZWRTdGF0ZSkgPT4ge1xuICAgICAgdmFyIF9hMjtcbiAgICAgIHN0YXRlRnJvbVN0b3JhZ2UgPSBvcHRpb25zLm1lcmdlKFxuICAgICAgICBtaWdyYXRlZFN0YXRlLFxuICAgICAgICAoX2EyID0gZ2V0KCkpICE9IG51bGwgPyBfYTIgOiBjb25maWdSZXN1bHRcbiAgICAgICk7XG4gICAgICBzZXQoc3RhdGVGcm9tU3RvcmFnZSwgdHJ1ZSk7XG4gICAgICByZXR1cm4gc2V0SXRlbSgpO1xuICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgcG9zdFJlaHlkcmF0aW9uQ2FsbGJhY2sgPT0gbnVsbCA/IHZvaWQgMCA6IHBvc3RSZWh5ZHJhdGlvbkNhbGxiYWNrKHN0YXRlRnJvbVN0b3JhZ2UsIHZvaWQgMCk7XG4gICAgICBzdGF0ZUZyb21TdG9yYWdlID0gZ2V0KCk7XG4gICAgICBoYXNIeWRyYXRlZCA9IHRydWU7XG4gICAgICBmaW5pc2hIeWRyYXRpb25MaXN0ZW5lcnMuZm9yRWFjaCgoY2IpID0+IGNiKHN0YXRlRnJvbVN0b3JhZ2UpKTtcbiAgICB9KS5jYXRjaCgoZSkgPT4ge1xuICAgICAgcG9zdFJlaHlkcmF0aW9uQ2FsbGJhY2sgPT0gbnVsbCA/IHZvaWQgMCA6IHBvc3RSZWh5ZHJhdGlvbkNhbGxiYWNrKHZvaWQgMCwgZSk7XG4gICAgfSk7XG4gIH07XG4gIGFwaS5wZXJzaXN0ID0ge1xuICAgIHNldE9wdGlvbnM6IChuZXdPcHRpb25zKSA9PiB7XG4gICAgICBvcHRpb25zID0ge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAuLi5uZXdPcHRpb25zXG4gICAgICB9O1xuICAgICAgaWYgKG5ld09wdGlvbnMuc3RvcmFnZSkge1xuICAgICAgICBzdG9yYWdlID0gbmV3T3B0aW9ucy5zdG9yYWdlO1xuICAgICAgfVxuICAgIH0sXG4gICAgY2xlYXJTdG9yYWdlOiAoKSA9PiB7XG4gICAgICBzdG9yYWdlID09IG51bGwgPyB2b2lkIDAgOiBzdG9yYWdlLnJlbW92ZUl0ZW0ob3B0aW9ucy5uYW1lKTtcbiAgICB9LFxuICAgIGdldE9wdGlvbnM6ICgpID0+IG9wdGlvbnMsXG4gICAgcmVoeWRyYXRlOiAoKSA9PiBoeWRyYXRlKCksXG4gICAgaGFzSHlkcmF0ZWQ6ICgpID0+IGhhc0h5ZHJhdGVkLFxuICAgIG9uSHlkcmF0ZTogKGNiKSA9PiB7XG4gICAgICBoeWRyYXRpb25MaXN0ZW5lcnMuYWRkKGNiKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGh5ZHJhdGlvbkxpc3RlbmVycy5kZWxldGUoY2IpO1xuICAgICAgfTtcbiAgICB9LFxuICAgIG9uRmluaXNoSHlkcmF0aW9uOiAoY2IpID0+IHtcbiAgICAgIGZpbmlzaEh5ZHJhdGlvbkxpc3RlbmVycy5hZGQoY2IpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZmluaXNoSHlkcmF0aW9uTGlzdGVuZXJzLmRlbGV0ZShjYik7XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbiAgaWYgKCFvcHRpb25zLnNraXBIeWRyYXRpb24pIHtcbiAgICBoeWRyYXRlKCk7XG4gIH1cbiAgcmV0dXJuIHN0YXRlRnJvbVN0b3JhZ2UgfHwgY29uZmlnUmVzdWx0O1xufTtcbmNvbnN0IHBlcnNpc3RJbXBsID0gKGNvbmZpZywgYmFzZU9wdGlvbnMpID0+IHtcbiAgaWYgKFwiZ2V0U3RvcmFnZVwiIGluIGJhc2VPcHRpb25zIHx8IFwic2VyaWFsaXplXCIgaW4gYmFzZU9wdGlvbnMgfHwgXCJkZXNlcmlhbGl6ZVwiIGluIGJhc2VPcHRpb25zKSB7XG4gICAgaWYgKChpbXBvcnQubWV0YS5lbnYgPyBpbXBvcnQubWV0YS5lbnYuTU9ERSA6IHZvaWQgMCkgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIFwiW0RFUFJFQ0FURURdIGBnZXRTdG9yYWdlYCwgYHNlcmlhbGl6ZWAgYW5kIGBkZXNlcmlhbGl6ZWAgb3B0aW9ucyBhcmUgZGVwcmVjYXRlZC4gVXNlIGBzdG9yYWdlYCBvcHRpb24gaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9sZEltcGwoY29uZmlnLCBiYXNlT3B0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIG5ld0ltcGwoY29uZmlnLCBiYXNlT3B0aW9ucyk7XG59O1xuY29uc3QgcGVyc2lzdCA9IHBlcnNpc3RJbXBsO1xuXG5leHBvcnQgeyBjb21iaW5lLCBjcmVhdGVKU09OU3RvcmFnZSwgZGV2dG9vbHMsIHBlcnNpc3QsIHJlZHV4LCBzdWJzY3JpYmVXaXRoU2VsZWN0b3IgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/zustand/esm/middleware.mjs\n")); - -/***/ }), - -/***/ "./node_modules/zustand/esm/shallow.mjs": -/*!**********************************************!*\ - !*** ./node_modules/zustand/esm/shallow.mjs ***! - \**********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ shallow$1; },\n/* harmony export */ shallow: function() { return /* binding */ shallow; }\n/* harmony export */ });\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size)\n return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size)\n return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nvar shallow$1 = (objA, objB) => {\n if (( false ? 0 : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { shallow } from 'zustand/shallow'`.\"\n );\n }\n return shallow(objA, objB);\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvenVzdGFuZC9lc20vc2hhbGxvdy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixrQkFBa0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLE1BQWUsR0FBRyxDQUFvQjtBQUM3QztBQUNBLHdFQUF3RSxVQUFVO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBOztBQUV5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvenVzdGFuZC9lc20vc2hhbGxvdy5tanM/ODgxNSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBzaGFsbG93KG9iakEsIG9iakIpIHtcbiAgaWYgKE9iamVjdC5pcyhvYmpBLCBvYmpCKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICh0eXBlb2Ygb2JqQSAhPT0gXCJvYmplY3RcIiB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSBcIm9iamVjdFwiIHx8IG9iakIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKG9iakEgaW5zdGFuY2VvZiBNYXAgJiYgb2JqQiBpbnN0YW5jZW9mIE1hcCkge1xuICAgIGlmIChvYmpBLnNpemUgIT09IG9iakIuc2l6ZSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvYmpBKSB7XG4gICAgICBpZiAoIU9iamVjdC5pcyh2YWx1ZSwgb2JqQi5nZXQoa2V5KSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAob2JqQSBpbnN0YW5jZW9mIFNldCAmJiBvYmpCIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgaWYgKG9iakEuc2l6ZSAhPT0gb2JqQi5zaXplKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqQSkge1xuICAgICAgaWYgKCFvYmpCLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBrZXlzQSA9IE9iamVjdC5rZXlzKG9iakEpO1xuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBPYmplY3Qua2V5cyhvYmpCKS5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iakIsIGtleXNBW2ldKSB8fCAhT2JqZWN0LmlzKG9iakFba2V5c0FbaV1dLCBvYmpCW2tleXNBW2ldXSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG52YXIgc2hhbGxvdyQxID0gKG9iakEsIG9iakIpID0+IHtcbiAgaWYgKChpbXBvcnQubWV0YS5lbnYgPyBpbXBvcnQubWV0YS5lbnYuTU9ERSA6IHZvaWQgMCkgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgXCJbREVQUkVDQVRFRF0gRGVmYXVsdCBleHBvcnQgaXMgZGVwcmVjYXRlZC4gSW5zdGVhZCB1c2UgYGltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICd6dXN0YW5kL3NoYWxsb3cnYC5cIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHNoYWxsb3cob2JqQSwgb2JqQik7XG59O1xuXG5leHBvcnQgeyBzaGFsbG93JDEgYXMgZGVmYXVsdCwgc2hhbGxvdyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/zustand/esm/shallow.mjs\n")); - -/***/ }), - -/***/ "./node_modules/zustand/esm/vanilla.mjs": -/*!**********************************************!*\ - !*** ./node_modules/zustand/esm/vanilla.mjs ***! - \**********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createStore: function() { return /* binding */ createStore; },\n/* harmony export */ \"default\": function() { return /* binding */ vanilla; }\n/* harmony export */ });\nconst createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\") ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => {\n if (( false ? 0 : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"\n );\n }\n listeners.clear();\n };\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\nvar vanilla = (createState) => {\n if (( false ? 0 : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.\"\n );\n }\n return createStore(createState);\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvenVzdGFuZC9lc20vdmFuaWxsYS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdHQUF3RztBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLE1BQWUsR0FBRyxDQUFvQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sTUFBZSxHQUFHLENBQW9CO0FBQzdDO0FBQ0EsdUVBQXVFLGNBQWM7QUFDckY7QUFDQTtBQUNBO0FBQ0E7O0FBRTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy96dXN0YW5kL2VzbS92YW5pbGxhLm1qcz9kOTEyIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNyZWF0ZVN0b3JlSW1wbCA9IChjcmVhdGVTdGF0ZSkgPT4ge1xuICBsZXQgc3RhdGU7XG4gIGNvbnN0IGxpc3RlbmVycyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIGNvbnN0IHNldFN0YXRlID0gKHBhcnRpYWwsIHJlcGxhY2UpID0+IHtcbiAgICBjb25zdCBuZXh0U3RhdGUgPSB0eXBlb2YgcGFydGlhbCA9PT0gXCJmdW5jdGlvblwiID8gcGFydGlhbChzdGF0ZSkgOiBwYXJ0aWFsO1xuICAgIGlmICghT2JqZWN0LmlzKG5leHRTdGF0ZSwgc3RhdGUpKSB7XG4gICAgICBjb25zdCBwcmV2aW91c1N0YXRlID0gc3RhdGU7XG4gICAgICBzdGF0ZSA9IChyZXBsYWNlICE9IG51bGwgPyByZXBsYWNlIDogdHlwZW9mIG5leHRTdGF0ZSAhPT0gXCJvYmplY3RcIikgPyBuZXh0U3RhdGUgOiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgbmV4dFN0YXRlKTtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIoc3RhdGUsIHByZXZpb3VzU3RhdGUpKTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IGdldFN0YXRlID0gKCkgPT4gc3RhdGU7XG4gIGNvbnN0IHN1YnNjcmliZSA9IChsaXN0ZW5lcikgPT4ge1xuICAgIGxpc3RlbmVycy5hZGQobGlzdGVuZXIpO1xuICAgIHJldHVybiAoKSA9PiBsaXN0ZW5lcnMuZGVsZXRlKGxpc3RlbmVyKTtcbiAgfTtcbiAgY29uc3QgZGVzdHJveSA9ICgpID0+IHtcbiAgICBpZiAoKGltcG9ydC5tZXRhLmVudiA/IGltcG9ydC5tZXRhLmVudi5NT0RFIDogdm9pZCAwKSAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgXCJbREVQUkVDQVRFRF0gVGhlIGBkZXN0cm95YCBtZXRob2Qgd2lsbCBiZSB1bnN1cHBvcnRlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBJbnN0ZWFkIHVzZSB1bnN1YnNjcmliZSBmdW5jdGlvbiByZXR1cm5lZCBieSBzdWJzY3JpYmUuIEV2ZXJ5dGhpbmcgd2lsbCBiZSBnYXJiYWdlLWNvbGxlY3RlZCBpZiBzdG9yZSBpcyBnYXJiYWdlLWNvbGxlY3RlZC5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgbGlzdGVuZXJzLmNsZWFyKCk7XG4gIH07XG4gIGNvbnN0IGFwaSA9IHsgc2V0U3RhdGUsIGdldFN0YXRlLCBzdWJzY3JpYmUsIGRlc3Ryb3kgfTtcbiAgc3RhdGUgPSBjcmVhdGVTdGF0ZShzZXRTdGF0ZSwgZ2V0U3RhdGUsIGFwaSk7XG4gIHJldHVybiBhcGk7XG59O1xuY29uc3QgY3JlYXRlU3RvcmUgPSAoY3JlYXRlU3RhdGUpID0+IGNyZWF0ZVN0YXRlID8gY3JlYXRlU3RvcmVJbXBsKGNyZWF0ZVN0YXRlKSA6IGNyZWF0ZVN0b3JlSW1wbDtcbnZhciB2YW5pbGxhID0gKGNyZWF0ZVN0YXRlKSA9PiB7XG4gIGlmICgoaW1wb3J0Lm1ldGEuZW52ID8gaW1wb3J0Lm1ldGEuZW52Lk1PREUgOiB2b2lkIDApICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIFwiW0RFUFJFQ0FURURdIERlZmF1bHQgZXhwb3J0IGlzIGRlcHJlY2F0ZWQuIEluc3RlYWQgdXNlIGltcG9ydCB7IGNyZWF0ZVN0b3JlIH0gZnJvbSAnenVzdGFuZC92YW5pbGxhJy5cIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGNyZWF0ZVN0b3JlKGNyZWF0ZVN0YXRlKTtcbn07XG5cbmV4cG9ydCB7IGNyZWF0ZVN0b3JlLCB2YW5pbGxhIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/zustand/esm/vanilla.mjs\n")); - -/***/ }), - -/***/ "./node_modules/@safe-global/safe-apps-sdk/dist/package.json": -/*!*******************************************************************!*\ - !*** ./node_modules/@safe-global/safe-apps-sdk/dist/package.json ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -module.exports = JSON.parse('{"name":"@safe-global/safe-apps-sdk","version":"8.1.0","description":"SDK developed to integrate third-party apps with Safe app.","main":"dist/src/index.js","typings":"dist/src/index.d.ts","_files":["dist/**/*","src/**/*","CHANGELOG.md","README.md"],"sideEffects":false,"keywords":["Safe","sdk","apps"],"scripts":{"test":"jest","format-dist":"sed -i \'\' \'s/\\"files\\":/\\"_files\\":/\' dist/package.json","build":"yarn rimraf dist && tsc && yarn format-dist"},"author":"Safe (https://safe.global)","license":"MIT","dependencies":{"@safe-global/safe-gateway-typescript-sdk":"^3.5.3","viem":"^1.0.0"},"repository":{"type":"git","url":"git+https://github.com/safe-global/safe-apps-sdk.git"},"bugs":{"url":"https://github.com/safe-global/safe-apps-sdk/issues"},"homepage":"https://github.com/safe-global/safe-apps-sdk#readme","publishConfig":{"access":"public"}}'); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"), __webpack_exec__("./node_modules/next/dist/client/router.js"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/pages/_error.js b/.next/static/chunks/pages/_error.js deleted file mode 100644 index 64b1e82..0000000 --- a/.next/static/chunks/pages/_error.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_error"],{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error!": -/*!***********************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error! ***! - \***********************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! private-next-pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfZXJyb3ImcGFnZT0lMkZfZXJyb3IhIiwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsMkVBQTJCO0FBQ2xEO0FBQ0E7QUFDQSxPQUFPLElBQVU7QUFDakIsTUFBTSxVQUFVO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz84MDdiIl0sInNvdXJjZXNDb250ZW50IjpbIlxuICAgICh3aW5kb3cuX19ORVhUX1AgPSB3aW5kb3cuX19ORVhUX1AgfHwgW10pLnB1c2goW1xuICAgICAgXCIvX2Vycm9yXCIsXG4gICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlKFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19lcnJvclwiKTtcbiAgICAgIH1cbiAgICBdKTtcbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgICAgICB3aW5kb3cuX19ORVhUX1AucHVzaChbXCIvX2Vycm9yXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error!\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/pages/index.js b/.next/static/chunks/pages/index.js deleted file mode 100644 index 6245411..0000000 --- a/.next/static/chunks/pages/index.js +++ /dev/null @@ -1,355 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/index"],{ - -/***/ "./node_modules/lodash.throttle/index.js": -/*!***********************************************!*\ - !*** ./node_modules/lodash.throttle/index.js ***! - \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\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 `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\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 && (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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoLnRocm90dGxlL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCLHFCQUFNLGdCQUFnQixxQkFBTSxJQUFJLHFCQUFNLHNCQUFzQixxQkFBTTs7QUFFMUY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUSxXQUFXO0FBQzlCLFdBQVcsU0FBUztBQUNwQjtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBLFdBQVcsU0FBUztBQUNwQjtBQUNBLGFBQWEsVUFBVTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLCtDQUErQyxpQkFBaUI7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUSxXQUFXO0FBQzlCLFdBQVcsU0FBUztBQUNwQjtBQUNBLFdBQVcsU0FBUztBQUNwQjtBQUNBLGFBQWEsVUFBVTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsbUJBQW1CO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9sb2Rhc2gudGhyb3R0bGUvaW5kZXguanM/ZDFmMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGxvZGFzaCAoQ3VzdG9tIEJ1aWxkKSA8aHR0cHM6Ly9sb2Rhc2guY29tLz5cbiAqIEJ1aWxkOiBgbG9kYXNoIG1vZHVsYXJpemUgZXhwb3J0cz1cIm5wbVwiIC1vIC4vYFxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vanF1ZXJ5Lm9yZy8+XG4gKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+XG4gKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPlxuICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzXG4gKi9cblxuLyoqIFVzZWQgYXMgdGhlIGBUeXBlRXJyb3JgIG1lc3NhZ2UgZm9yIFwiRnVuY3Rpb25zXCIgbWV0aG9kcy4gKi9cbnZhciBGVU5DX0VSUk9SX1RFWFQgPSAnRXhwZWN0ZWQgYSBmdW5jdGlvbic7XG5cbi8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHZhcmlvdXMgYE51bWJlcmAgY29uc3RhbnRzLiAqL1xudmFyIE5BTiA9IDAgLyAwO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgc3ltYm9sVGFnID0gJ1tvYmplY3QgU3ltYm9sXSc7XG5cbi8qKiBVc2VkIHRvIG1hdGNoIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UuICovXG52YXIgcmVUcmltID0gL15cXHMrfFxccyskL2c7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBiYWQgc2lnbmVkIGhleGFkZWNpbWFsIHN0cmluZyB2YWx1ZXMuICovXG52YXIgcmVJc0JhZEhleCA9IC9eWy0rXTB4WzAtOWEtZl0rJC9pO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgYmluYXJ5IHN0cmluZyB2YWx1ZXMuICovXG52YXIgcmVJc0JpbmFyeSA9IC9eMGJbMDFdKyQvaTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG9jdGFsIHN0cmluZyB2YWx1ZXMuICovXG52YXIgcmVJc09jdGFsID0gL14wb1swLTddKyQvaTtcblxuLyoqIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIHdpdGhvdXQgYSBkZXBlbmRlbmN5IG9uIGByb290YC4gKi9cbnZhciBmcmVlUGFyc2VJbnQgPSBwYXJzZUludDtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBnbG9iYWxgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlR2xvYmFsID0gdHlwZW9mIGdsb2JhbCA9PSAnb2JqZWN0JyAmJiBnbG9iYWwgJiYgZ2xvYmFsLk9iamVjdCA9PT0gT2JqZWN0ICYmIGdsb2JhbDtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbnZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4vKiogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4gKi9cbnZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKipcbiAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICogb2YgdmFsdWVzLlxuICovXG52YXIgb2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU1heCA9IE1hdGgubWF4LFxuICAgIG5hdGl2ZU1pbiA9IE1hdGgubWluO1xuXG4vKipcbiAqIEdldHMgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0aGF0IGhhdmUgZWxhcHNlZCBzaW5jZVxuICogdGhlIFVuaXggZXBvY2ggKDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAyLjQuMFxuICogQGNhdGVnb3J5IERhdGVcbiAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVzdGFtcC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5kZWZlcihmdW5jdGlvbihzdGFtcCkge1xuICogICBjb25zb2xlLmxvZyhfLm5vdygpIC0gc3RhbXApO1xuICogfSwgXy5ub3coKSk7XG4gKiAvLyA9PiBMb2dzIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGl0IHRvb2sgZm9yIHRoZSBkZWZlcnJlZCBpbnZvY2F0aW9uLlxuICovXG52YXIgbm93ID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiByb290LkRhdGUubm93KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkZWJvdW5jZWQgZnVuY3Rpb24gdGhhdCBkZWxheXMgaW52b2tpbmcgYGZ1bmNgIHVudGlsIGFmdGVyIGB3YWl0YFxuICogbWlsbGlzZWNvbmRzIGhhdmUgZWxhcHNlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gd2FzXG4gKiBpbnZva2VkLiBUaGUgZGVib3VuY2VkIGZ1bmN0aW9uIGNvbWVzIHdpdGggYSBgY2FuY2VsYCBtZXRob2QgdG8gY2FuY2VsXG4gKiBkZWxheWVkIGBmdW5jYCBpbnZvY2F0aW9ucyBhbmQgYSBgZmx1c2hgIG1ldGhvZCB0byBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS5cbiAqIFByb3ZpZGUgYG9wdGlvbnNgIHRvIGluZGljYXRlIHdoZXRoZXIgYGZ1bmNgIHNob3VsZCBiZSBpbnZva2VkIG9uIHRoZVxuICogbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcgZWRnZSBvZiB0aGUgYHdhaXRgIHRpbWVvdXQuIFRoZSBgZnVuY2AgaXMgaW52b2tlZFxuICogd2l0aCB0aGUgbGFzdCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGRlYm91bmNlZCBmdW5jdGlvbi4gU3Vic2VxdWVudFxuICogY2FsbHMgdG8gdGhlIGRlYm91bmNlZCBmdW5jdGlvbiByZXR1cm4gdGhlIHJlc3VsdCBvZiB0aGUgbGFzdCBgZnVuY2BcbiAqIGludm9jYXRpb24uXG4gKlxuICogKipOb3RlOioqIElmIGBsZWFkaW5nYCBhbmQgYHRyYWlsaW5nYCBvcHRpb25zIGFyZSBgdHJ1ZWAsIGBmdW5jYCBpc1xuICogaW52b2tlZCBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dCBvbmx5IGlmIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb25cbiAqIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBgd2FpdGAgdGltZW91dC5cbiAqXG4gKiBJZiBgd2FpdGAgaXMgYDBgIGFuZCBgbGVhZGluZ2AgaXMgYGZhbHNlYCwgYGZ1bmNgIGludm9jYXRpb24gaXMgZGVmZXJyZWRcbiAqIHVudGlsIHRvIHRoZSBuZXh0IHRpY2ssIHNpbWlsYXIgdG8gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYC5cbiAqXG4gKiBTZWUgW0RhdmlkIENvcmJhY2hvJ3MgYXJ0aWNsZV0oaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9kZWJvdW5jaW5nLXRocm90dGxpbmctZXhwbGFpbmVkLWV4YW1wbGVzLylcbiAqIGZvciBkZXRhaWxzIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYF8uZGVib3VuY2VgIGFuZCBgXy50aHJvdHRsZWAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWJvdW5jZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbd2FpdD0wXSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPWZhbHNlXVxuICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIGxlYWRpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5tYXhXYWl0XVxuICogIFRoZSBtYXhpbXVtIHRpbWUgYGZ1bmNgIGlzIGFsbG93ZWQgdG8gYmUgZGVsYXllZCBiZWZvcmUgaXQncyBpbnZva2VkLlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy50cmFpbGluZz10cnVlXVxuICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBkZWJvdW5jZWQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIEF2b2lkIGNvc3RseSBjYWxjdWxhdGlvbnMgd2hpbGUgdGhlIHdpbmRvdyBzaXplIGlzIGluIGZsdXguXG4gKiBqUXVlcnkod2luZG93KS5vbigncmVzaXplJywgXy5kZWJvdW5jZShjYWxjdWxhdGVMYXlvdXQsIDE1MCkpO1xuICpcbiAqIC8vIEludm9rZSBgc2VuZE1haWxgIHdoZW4gY2xpY2tlZCwgZGVib3VuY2luZyBzdWJzZXF1ZW50IGNhbGxzLlxuICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIF8uZGVib3VuY2Uoc2VuZE1haWwsIDMwMCwge1xuICogICAnbGVhZGluZyc6IHRydWUsXG4gKiAgICd0cmFpbGluZyc6IGZhbHNlXG4gKiB9KSk7XG4gKlxuICogLy8gRW5zdXJlIGBiYXRjaExvZ2AgaXMgaW52b2tlZCBvbmNlIGFmdGVyIDEgc2Vjb25kIG9mIGRlYm91bmNlZCBjYWxscy5cbiAqIHZhciBkZWJvdW5jZWQgPSBfLmRlYm91bmNlKGJhdGNoTG9nLCAyNTAsIHsgJ21heFdhaXQnOiAxMDAwIH0pO1xuICogdmFyIHNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZSgnL3N0cmVhbScpO1xuICogalF1ZXJ5KHNvdXJjZSkub24oJ21lc3NhZ2UnLCBkZWJvdW5jZWQpO1xuICpcbiAqIC8vIENhbmNlbCB0aGUgdHJhaWxpbmcgZGVib3VuY2VkIGludm9jYXRpb24uXG4gKiBqUXVlcnkod2luZG93KS5vbigncG9wc3RhdGUnLCBkZWJvdW5jZWQuY2FuY2VsKTtcbiAqL1xuZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgb3B0aW9ucykge1xuICB2YXIgbGFzdEFyZ3MsXG4gICAgICBsYXN0VGhpcyxcbiAgICAgIG1heFdhaXQsXG4gICAgICByZXN1bHQsXG4gICAgICB0aW1lcklkLFxuICAgICAgbGFzdENhbGxUaW1lLFxuICAgICAgbGFzdEludm9rZVRpbWUgPSAwLFxuICAgICAgbGVhZGluZyA9IGZhbHNlLFxuICAgICAgbWF4aW5nID0gZmFsc2UsXG4gICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gIH1cbiAgd2FpdCA9IHRvTnVtYmVyKHdhaXQpIHx8IDA7XG4gIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgIGxlYWRpbmcgPSAhIW9wdGlvbnMubGVhZGluZztcbiAgICBtYXhpbmcgPSAnbWF4V2FpdCcgaW4gb3B0aW9ucztcbiAgICBtYXhXYWl0ID0gbWF4aW5nID8gbmF0aXZlTWF4KHRvTnVtYmVyKG9wdGlvbnMubWF4V2FpdCkgfHwgMCwgd2FpdCkgOiBtYXhXYWl0O1xuICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VGdW5jKHRpbWUpIHtcbiAgICB2YXIgYXJncyA9IGxhc3RBcmdzLFxuICAgICAgICB0aGlzQXJnID0gbGFzdFRoaXM7XG5cbiAgICBsYXN0QXJncyA9IGxhc3RUaGlzID0gdW5kZWZpbmVkO1xuICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiBsZWFkaW5nRWRnZSh0aW1lKSB7XG4gICAgLy8gUmVzZXQgYW55IGBtYXhXYWl0YCB0aW1lci5cbiAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgLy8gU3RhcnQgdGhlIHRpbWVyIGZvciB0aGUgdHJhaWxpbmcgZWRnZS5cbiAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgIC8vIEludm9rZSB0aGUgbGVhZGluZyBlZGdlLlxuICAgIHJldHVybiBsZWFkaW5nID8gaW52b2tlRnVuYyh0aW1lKSA6IHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbWFpbmluZ1dhaXQodGltZSkge1xuICAgIHZhciB0aW1lU2luY2VMYXN0Q2FsbCA9IHRpbWUgLSBsYXN0Q2FsbFRpbWUsXG4gICAgICAgIHRpbWVTaW5jZUxhc3RJbnZva2UgPSB0aW1lIC0gbGFzdEludm9rZVRpbWUsXG4gICAgICAgIHJlc3VsdCA9IHdhaXQgLSB0aW1lU2luY2VMYXN0Q2FsbDtcblxuICAgIHJldHVybiBtYXhpbmcgPyBuYXRpdmVNaW4ocmVzdWx0LCBtYXhXYWl0IC0gdGltZVNpbmNlTGFzdEludm9rZSkgOiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiBzaG91bGRJbnZva2UodGltZSkge1xuICAgIHZhciB0aW1lU2luY2VMYXN0Q2FsbCA9IHRpbWUgLSBsYXN0Q2FsbFRpbWUsXG4gICAgICAgIHRpbWVTaW5jZUxhc3RJbnZva2UgPSB0aW1lIC0gbGFzdEludm9rZVRpbWU7XG5cbiAgICAvLyBFaXRoZXIgdGhpcyBpcyB0aGUgZmlyc3QgY2FsbCwgYWN0aXZpdHkgaGFzIHN0b3BwZWQgYW5kIHdlJ3JlIGF0IHRoZVxuICAgIC8vIHRyYWlsaW5nIGVkZ2UsIHRoZSBzeXN0ZW0gdGltZSBoYXMgZ29uZSBiYWNrd2FyZHMgYW5kIHdlJ3JlIHRyZWF0aW5nXG4gICAgLy8gaXQgYXMgdGhlIHRyYWlsaW5nIGVkZ2UsIG9yIHdlJ3ZlIGhpdCB0aGUgYG1heFdhaXRgIGxpbWl0LlxuICAgIHJldHVybiAobGFzdENhbGxUaW1lID09PSB1bmRlZmluZWQgfHwgKHRpbWVTaW5jZUxhc3RDYWxsID49IHdhaXQpIHx8XG4gICAgICAodGltZVNpbmNlTGFzdENhbGwgPCAwKSB8fCAobWF4aW5nICYmIHRpbWVTaW5jZUxhc3RJbnZva2UgPj0gbWF4V2FpdCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gdGltZXJFeHBpcmVkKCkge1xuICAgIHZhciB0aW1lID0gbm93KCk7XG4gICAgaWYgKHNob3VsZEludm9rZSh0aW1lKSkge1xuICAgICAgcmV0dXJuIHRyYWlsaW5nRWRnZSh0aW1lKTtcbiAgICB9XG4gICAgLy8gUmVzdGFydCB0aGUgdGltZXIuXG4gICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCByZW1haW5pbmdXYWl0KHRpbWUpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYWlsaW5nRWRnZSh0aW1lKSB7XG4gICAgdGltZXJJZCA9IHVuZGVmaW5lZDtcblxuICAgIC8vIE9ubHkgaW52b2tlIGlmIHdlIGhhdmUgYGxhc3RBcmdzYCB3aGljaCBtZWFucyBgZnVuY2AgaGFzIGJlZW5cbiAgICAvLyBkZWJvdW5jZWQgYXQgbGVhc3Qgb25jZS5cbiAgICBpZiAodHJhaWxpbmcgJiYgbGFzdEFyZ3MpIHtcbiAgICAgIHJldHVybiBpbnZva2VGdW5jKHRpbWUpO1xuICAgIH1cbiAgICBsYXN0QXJncyA9IGxhc3RUaGlzID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiBjYW5jZWwoKSB7XG4gICAgaWYgKHRpbWVySWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgIH1cbiAgICBsYXN0SW52b2tlVGltZSA9IDA7XG4gICAgbGFzdEFyZ3MgPSBsYXN0Q2FsbFRpbWUgPSBsYXN0VGhpcyA9IHRpbWVySWQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICByZXR1cm4gdGltZXJJZCA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogdHJhaWxpbmdFZGdlKG5vdygpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRlYm91bmNlZCgpIHtcbiAgICB2YXIgdGltZSA9IG5vdygpLFxuICAgICAgICBpc0ludm9raW5nID0gc2hvdWxkSW52b2tlKHRpbWUpO1xuXG4gICAgbGFzdEFyZ3MgPSBhcmd1bWVudHM7XG4gICAgbGFzdFRoaXMgPSB0aGlzO1xuICAgIGxhc3RDYWxsVGltZSA9IHRpbWU7XG5cbiAgICBpZiAoaXNJbnZva2luZykge1xuICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gbGVhZGluZ0VkZ2UobGFzdENhbGxUaW1lKTtcbiAgICAgIH1cbiAgICAgIGlmIChtYXhpbmcpIHtcbiAgICAgICAgLy8gSGFuZGxlIGludm9jYXRpb25zIGluIGEgdGlnaHQgbG9vcC5cbiAgICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAgICAgcmV0dXJuIGludm9rZUZ1bmMobGFzdENhbGxUaW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBkZWJvdW5jZWQuY2FuY2VsID0gY2FuY2VsO1xuICBkZWJvdW5jZWQuZmx1c2ggPSBmbHVzaDtcbiAgcmV0dXJuIGRlYm91bmNlZDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdGhyb3R0bGVkIGZ1bmN0aW9uIHRoYXQgb25seSBpbnZva2VzIGBmdW5jYCBhdCBtb3N0IG9uY2UgcGVyXG4gKiBldmVyeSBgd2FpdGAgbWlsbGlzZWNvbmRzLiBUaGUgdGhyb3R0bGVkIGZ1bmN0aW9uIGNvbWVzIHdpdGggYSBgY2FuY2VsYFxuICogbWV0aG9kIHRvIGNhbmNlbCBkZWxheWVkIGBmdW5jYCBpbnZvY2F0aW9ucyBhbmQgYSBgZmx1c2hgIG1ldGhvZCB0b1xuICogaW1tZWRpYXRlbHkgaW52b2tlIHRoZW0uIFByb3ZpZGUgYG9wdGlvbnNgIHRvIGluZGljYXRlIHdoZXRoZXIgYGZ1bmNgXG4gKiBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGUgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcgZWRnZSBvZiB0aGUgYHdhaXRgXG4gKiB0aW1lb3V0LiBUaGUgYGZ1bmNgIGlzIGludm9rZWQgd2l0aCB0aGUgbGFzdCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlXG4gKiB0aHJvdHRsZWQgZnVuY3Rpb24uIFN1YnNlcXVlbnQgY2FsbHMgdG8gdGhlIHRocm90dGxlZCBmdW5jdGlvbiByZXR1cm4gdGhlXG4gKiByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gKlxuICogKipOb3RlOioqIElmIGBsZWFkaW5nYCBhbmQgYHRyYWlsaW5nYCBvcHRpb25zIGFyZSBgdHJ1ZWAsIGBmdW5jYCBpc1xuICogaW52b2tlZCBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dCBvbmx5IGlmIHRoZSB0aHJvdHRsZWQgZnVuY3Rpb25cbiAqIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBgd2FpdGAgdGltZW91dC5cbiAqXG4gKiBJZiBgd2FpdGAgaXMgYDBgIGFuZCBgbGVhZGluZ2AgaXMgYGZhbHNlYCwgYGZ1bmNgIGludm9jYXRpb24gaXMgZGVmZXJyZWRcbiAqIHVudGlsIHRvIHRoZSBuZXh0IHRpY2ssIHNpbWlsYXIgdG8gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYC5cbiAqXG4gKiBTZWUgW0RhdmlkIENvcmJhY2hvJ3MgYXJ0aWNsZV0oaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9kZWJvdW5jaW5nLXRocm90dGxpbmctZXhwbGFpbmVkLWV4YW1wbGVzLylcbiAqIGZvciBkZXRhaWxzIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYF8udGhyb3R0bGVgIGFuZCBgXy5kZWJvdW5jZWAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB0aHJvdHRsZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbd2FpdD0wXSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB0aHJvdHRsZSBpbnZvY2F0aW9ucyB0by5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPXRydWVdXG4gKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgbGVhZGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy50cmFpbGluZz10cnVlXVxuICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB0aHJvdHRsZWQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIEF2b2lkIGV4Y2Vzc2l2ZWx5IHVwZGF0aW5nIHRoZSBwb3NpdGlvbiB3aGlsZSBzY3JvbGxpbmcuXG4gKiBqUXVlcnkod2luZG93KS5vbignc2Nyb2xsJywgXy50aHJvdHRsZSh1cGRhdGVQb3NpdGlvbiwgMTAwKSk7XG4gKlxuICogLy8gSW52b2tlIGByZW5ld1Rva2VuYCB3aGVuIHRoZSBjbGljayBldmVudCBpcyBmaXJlZCwgYnV0IG5vdCBtb3JlIHRoYW4gb25jZSBldmVyeSA1IG1pbnV0ZXMuXG4gKiB2YXIgdGhyb3R0bGVkID0gXy50aHJvdHRsZShyZW5ld1Rva2VuLCAzMDAwMDAsIHsgJ3RyYWlsaW5nJzogZmFsc2UgfSk7XG4gKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgdGhyb3R0bGVkKTtcbiAqXG4gKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIHRocm90dGxlZCBpbnZvY2F0aW9uLlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3BvcHN0YXRlJywgdGhyb3R0bGVkLmNhbmNlbCk7XG4gKi9cbmZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgdmFyIGxlYWRpbmcgPSB0cnVlLFxuICAgICAgdHJhaWxpbmcgPSB0cnVlO1xuXG4gIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICB9XG4gIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgIGxlYWRpbmcgPSAnbGVhZGluZycgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy5sZWFkaW5nIDogbGVhZGluZztcbiAgICB0cmFpbGluZyA9ICd0cmFpbGluZycgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy50cmFpbGluZyA6IHRyYWlsaW5nO1xuICB9XG4gIHJldHVybiBkZWJvdW5jZShmdW5jLCB3YWl0LCB7XG4gICAgJ2xlYWRpbmcnOiBsZWFkaW5nLFxuICAgICdtYXhXYWl0Jzogd2FpdCxcbiAgICAndHJhaWxpbmcnOiB0cmFpbGluZ1xuICB9KTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyB0aGVcbiAqIFtsYW5ndWFnZSB0eXBlXShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtZWNtYXNjcmlwdC1sYW5ndWFnZS10eXBlcylcbiAqIG9mIGBPYmplY3RgLiAoZS5nLiBhcnJheXMsIGZ1bmN0aW9ucywgb2JqZWN0cywgcmVnZXhlcywgYG5ldyBOdW1iZXIoMClgLCBhbmQgYG5ldyBTdHJpbmcoJycpYClcbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdCh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoXy5ub29wKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KG51bGwpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIHJldHVybiAhIXZhbHVlICYmICh0eXBlID09ICdvYmplY3QnIHx8IHR5cGUgPT0gJ2Z1bmN0aW9uJyk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuIEEgdmFsdWUgaXMgb2JqZWN0LWxpa2UgaWYgaXQncyBub3QgYG51bGxgXG4gKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc09iamVjdExpa2Uoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc09iamVjdExpa2UobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09ICdvYmplY3QnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3ltYm9sYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc3ltYm9sLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNTeW1ib2woU3ltYm9sLml0ZXJhdG9yKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzU3ltYm9sKCdhYmMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzU3ltYm9sKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ3N5bWJvbCcgfHxcbiAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBvYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKSA9PSBzeW1ib2xUYWcpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBudW1iZXIuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBudW1iZXIuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udG9OdW1iZXIoMy4yKTtcbiAqIC8vID0+IDMuMlxuICpcbiAqIF8udG9OdW1iZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gKiAvLyA9PiA1ZS0zMjRcbiAqXG4gKiBfLnRvTnVtYmVyKEluZmluaXR5KTtcbiAqIC8vID0+IEluZmluaXR5XG4gKlxuICogXy50b051bWJlcignMy4yJyk7XG4gKiAvLyA9PiAzLjJcbiAqL1xuZnVuY3Rpb24gdG9OdW1iZXIodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAoaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgcmV0dXJuIE5BTjtcbiAgfVxuICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgdmFyIG90aGVyID0gdHlwZW9mIHZhbHVlLnZhbHVlT2YgPT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnZhbHVlT2YoKSA6IHZhbHVlO1xuICAgIHZhbHVlID0gaXNPYmplY3Qob3RoZXIpID8gKG90aGVyICsgJycpIDogb3RoZXI7XG4gIH1cbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gMCA/IHZhbHVlIDogK3ZhbHVlO1xuICB9XG4gIHZhbHVlID0gdmFsdWUucmVwbGFjZShyZVRyaW0sICcnKTtcbiAgdmFyIGlzQmluYXJ5ID0gcmVJc0JpbmFyeS50ZXN0KHZhbHVlKTtcbiAgcmV0dXJuIChpc0JpbmFyeSB8fCByZUlzT2N0YWwudGVzdCh2YWx1ZSkpXG4gICAgPyBmcmVlUGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIGlzQmluYXJ5ID8gMiA6IDgpXG4gICAgOiAocmVJc0JhZEhleC50ZXN0KHZhbHVlKSA/IE5BTiA6ICt2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdGhyb3R0bGU7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lodash.throttle/index.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/polyfills/object-assign.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/build/polyfills/object-assign.js ***! - \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar assign = Object.assign.bind(Object);\nmodule.exports = assign;\nmodule.exports[\"default\"] = module.exports;\n\n//# sourceMappingURL=object-assign.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3BvbHlmaWxscy9vYmplY3QtYXNzaWduLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBLHlCQUFzQjs7QUFFdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvb2JqZWN0LWFzc2lnbi5qcz9lN2QxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIGFzc2lnbiA9IE9iamVjdC5hc3NpZ24uYmluZChPYmplY3QpO1xubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ247XG5tb2R1bGUuZXhwb3J0cy5kZWZhdWx0ID0gbW9kdWxlLmV4cG9ydHM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9iamVjdC1hc3NpZ24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/polyfills/object-assign.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F! ***! - \***************************************************************************************************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return __webpack_require__(/*! ./pages/index.tsx */ \"./pages/index.tsx\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD0lMkZVc2VycyUyRm11YWFkaG0lMkZmcm9udGVuZCUyRnBhZ2VzJTJGaW5kZXgudHN4JnBhZ2U9JTJGISIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLDRDQUFtQjtBQUMxQztBQUNBO0FBQ0EsT0FBTyxJQUFVO0FBQ2pCLE1BQU0sVUFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/MmUwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAod2luZG93Ll9fTkVYVF9QID0gd2luZG93Ll9fTkVYVF9QIHx8IFtdKS5wdXNoKFtcbiAgICAgIFwiL1wiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIi4vcGFnZXMvaW5kZXgudHN4XCIpO1xuICAgICAgfVxuICAgIF0pO1xuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpbmRvdy5fX05FWFRfUC5wdXNoKFtcIi9cIl0pXG4gICAgICB9KTtcbiAgICB9XG4gICJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!\n")); - -/***/ }), - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full lg:max-w-full px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQTBCOzs7Ozs7MENBQ3pDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGxnOm1heC13LWZ1bGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1leHRyYWJvbGQgdGV4dC0yeGxcIj5ERVBPU0lUPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREMgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+MTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTVcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+UEFZUEFMPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }), - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQ2hFLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUczRCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBZT1VSIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgc2hvd0JhbGFuY2U9e3tcbiAgICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoYWluU3RhdHVzPVwiaWNvblwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }), - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-20 text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUF1RTtzQ0FFbkYsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIG14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTIwIHRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }), - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-20 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-20 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0yMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0yMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }), - -/***/ "./pages/index.tsx": -/*!*************************!*\ - !*** ./pages/index.tsx ***! - \*************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Navigation */ \"./pages/components/Navigation.tsx\");\n/* harmony import */ var _components_FrontPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/FrontPage */ \"./pages/components/FrontPage.tsx\");\n/* harmony import */ var _components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/DigitalWallet */ \"./pages/components/DigitalWallet.tsx\");\n/* harmony import */ var _components_CreditCard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/CreditCard */ \"./pages/components/CreditCard.tsx\");\n\n//Components\n\n\n\n\nconst Home = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"title\", {\n children: \" Buy Me a Crypto\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Navigation__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_FrontPage__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 18,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_CreditCard__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 19,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 14,\n columnNumber: 5\n }, undefined);\n};\n_c = Home;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Home);\nvar _c;\n$RefreshReg$(_c, \"Home\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9pbmRleC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxZQUFZO0FBQ3FDO0FBQ0Y7QUFDUTtBQUNOO0FBRWpELE1BQU1JLE9BQWlCO0lBQ3JCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDOzBCQUFNOzs7Ozs7MEJBQ1AsOERBQUNOLDhEQUFVQTs7Ozs7MEJBQ1gsOERBQUNDLDZEQUFTQTs7Ozs7MEJBQ1YsOERBQUNDLGlFQUFhQTs7Ozs7MEJBQ2QsOERBQUNDLDhEQUFVQTs7Ozs7Ozs7Ozs7QUFHakI7S0FWTUM7QUFZTiwrREFBZUEsSUFBSUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9pbmRleC50c3g/MDdmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcbmltcG9ydCB0eXBlIHsgTmV4dFBhZ2UgfSBmcm9tIFwibmV4dFwiO1xuaW1wb3J0IEhlYWQgZnJvbSBcIm5leHQvaGVhZFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi4vc3R5bGVzL0hvbWUubW9kdWxlLmNzc1wiO1xuXG4vL0NvbXBvbmVudHNcbmltcG9ydCBOYXZpZ2F0aW9uIGZyb20gXCIuL2NvbXBvbmVudHMvTmF2aWdhdGlvblwiO1xuaW1wb3J0IEZyb250UGFnZSBmcm9tIFwiLi9jb21wb25lbnRzL0Zyb250UGFnZVwiO1xuaW1wb3J0IERpZ2l0YWxXYWxsZXQgZnJvbSBcIi4vY29tcG9uZW50cy9EaWdpdGFsV2FsbGV0XCI7XG5pbXBvcnQgQ3JlZGl0Q2FyZCBmcm9tIFwiLi9jb21wb25lbnRzL0NyZWRpdENhcmRcIjtcblxuY29uc3QgSG9tZTogTmV4dFBhZ2UgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDx0aXRsZT4gQnV5IE1lIGEgQ3J5cHRvPC90aXRsZT5cbiAgICAgIDxOYXZpZ2F0aW9uIC8+XG4gICAgICA8RnJvbnRQYWdlIC8+XG4gICAgICA8RGlnaXRhbFdhbGxldCAvPlxuICAgICAgPENyZWRpdENhcmQgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEhvbWU7XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsIkZyb250UGFnZSIsIkRpZ2l0YWxXYWxsZXQiLCJDcmVkaXRDYXJkIiwiSG9tZSIsImRpdiIsInRpdGxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/index.tsx\n")); - -/***/ }), - -/***/ "./node_modules/prop-types/checkPropTypes.js": -/*!***************************************************!*\ - !*** ./node_modules/prop-types/checkPropTypes.js ***! - \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7O0FBRUEsSUFBSSxJQUFxQztBQUN6Qyw2QkFBNkIsbUJBQU8sQ0FBQyx5RkFBNEI7QUFDakU7QUFDQSxZQUFZLG1CQUFPLENBQUMsdURBQVc7O0FBRS9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxZQUFZO0FBQ2xCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxXQUFXO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBcUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZHQUE2RztBQUM3RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxJQUFxQztBQUMzQztBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanM/MjYyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIHByaW50V2FybmluZyA9IGZ1bmN0aW9uKCkge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG4gIHZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbiAgdmFyIGhhcyA9IHJlcXVpcmUoJy4vbGliL2hhcycpO1xuXG4gIHByaW50V2FybmluZyA9IGZ1bmN0aW9uKHRleHQpIHtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgdGV4dDtcbiAgICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxuICAgICAgLy8gVGhpcyBlcnJvciB3YXMgdGhyb3duIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHN0YWNrXG4gICAgICAvLyB0byBmaW5kIHRoZSBjYWxsc2l0ZSB0aGF0IGNhdXNlZCB0aGlzIHdhcm5pbmcgdG8gZmlyZS5cbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9IGNhdGNoICh4KSB7IC8qKi8gfVxuICB9O1xufVxuXG4vKipcbiAqIEFzc2VydCB0aGF0IHRoZSB2YWx1ZXMgbWF0Y2ggd2l0aCB0aGUgdHlwZSBzcGVjcy5cbiAqIEVycm9yIG1lc3NhZ2VzIGFyZSBtZW1vcml6ZWQgYW5kIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0eXBlU3BlY3MgTWFwIG9mIG5hbWUgdG8gYSBSZWFjdFByb3BUeXBlXG4gKiBAcGFyYW0ge29iamVjdH0gdmFsdWVzIFJ1bnRpbWUgdmFsdWVzIHRoYXQgbmVlZCB0byBiZSB0eXBlLWNoZWNrZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhdGlvbiBlLmcuIFwicHJvcFwiLCBcImNvbnRleHRcIiwgXCJjaGlsZCBjb250ZXh0XCJcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb21wb25lbnROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcGFyYW0gez9GdW5jdGlvbn0gZ2V0U3RhY2sgUmV0dXJucyB0aGUgY29tcG9uZW50IHN0YWNrLlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBnZXRTdGFjaykge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGZvciAodmFyIHR5cGVTcGVjTmFtZSBpbiB0eXBlU3BlY3MpIHtcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XG4gICAgICAgIHZhciBlcnJvcjtcbiAgICAgICAgLy8gUHJvcCB0eXBlIHZhbGlkYXRpb24gbWF5IHRocm93LiBJbiBjYXNlIHRoZXkgZG8sIHdlIGRvbid0IHdhbnQgdG9cbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxuICAgICAgICAvLyBBZnRlciB0aGVzZSBoYXZlIGJlZW4gY2xlYW5lZCB1cCwgd2UnbGwgbGV0IHRoZW0gdGhyb3cuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYmVoYXZpb3IgYXMgd2l0aG91dCB0aGlzIHN0YXRlbWVudCBleGNlcHQgd2l0aCBhIGJldHRlciBtZXNzYWdlLlxuICAgICAgICAgIGlmICh0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcihcbiAgICAgICAgICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyAnICtcbiAgICAgICAgICAgICAgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICsgJ2AuJyArXG4gICAgICAgICAgICAgICdUaGlzIG9mdGVuIGhhcHBlbnMgYmVjYXVzZSBvZiB0eXBvcyBzdWNoIGFzIGBQcm9wVHlwZXMuZnVuY3Rpb25gIGluc3RlYWQgb2YgYFByb3BUeXBlcy5mdW5jYC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVycm9yID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IgPSBleDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgJiYgIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICcgK1xuICAgICAgICAgICAgbG9jYXRpb24gKyAnIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAnICsgdHlwZW9mIGVycm9yICsgJy4gJyArXG4gICAgICAgICAgICAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArXG4gICAgICAgICAgICAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICtcbiAgICAgICAgICAgICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvci5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvci5tZXNzYWdlXSA9IHRydWU7XG5cbiAgICAgICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjayA/IGdldFN0YWNrKCkgOiAnJztcblxuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgICdGYWlsZWQgJyArIGxvY2F0aW9uICsgJyB0eXBlOiAnICsgZXJyb3IubWVzc2FnZSArIChzdGFjayAhPSBudWxsID8gc3RhY2sgOiAnJylcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVzZXRzIHdhcm5pbmcgY2FjaGUgd2hlbiB0ZXN0aW5nLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNoZWNrUHJvcFR5cGVzLnJlc2V0V2FybmluZ0NhY2hlID0gZnVuY3Rpb24oKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjaGVja1Byb3BUeXBlcztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/prop-types/checkPropTypes.js\n")); - -/***/ }), - -/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js": -/*!************************************************************!*\ - !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/next/dist/build/polyfills/object-assign.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9mYWN0b3J5V2l0aFR5cGVDaGVja2Vycy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLGtEQUFVO0FBQ2hDLGFBQWEsbUJBQU8sQ0FBQyxnRkFBZTs7QUFFcEMsMkJBQTJCLG1CQUFPLENBQUMseUZBQTRCO0FBQy9ELFVBQVUsbUJBQU8sQ0FBQyx1REFBVztBQUM3QixxQkFBcUIsbUJBQU8sQ0FBQyxxRUFBa0I7O0FBRS9DOztBQUVBLElBQUksSUFBcUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDOztBQUUzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1YsOEJBQThCO0FBQzlCLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixLQUFLO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsNEJBQTRCO0FBQzVCLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsU0FBUyxLQUFxQztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNCQUFzQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVUsSUFBcUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQkFBc0IsMkJBQTJCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTSxLQUFxQyw0RkFBNEYsQ0FBTTtBQUM3STtBQUNBOztBQUVBLG9CQUFvQixnQ0FBZ0M7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQkFBc0IsZ0NBQWdDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpSEFBaUg7QUFDakg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzP2I3NmIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBSZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcbnZhciBhc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG5cbnZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9saWIvaGFzJyk7XG52YXIgY2hlY2tQcm9wVHlwZXMgPSByZXF1aXJlKCcuL2NoZWNrUHJvcFR5cGVzJyk7XG5cbnZhciBwcmludFdhcm5pbmcgPSBmdW5jdGlvbigpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBwcmludFdhcm5pbmcgPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIHRleHQ7XG4gICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIC8vIC0tLSBXZWxjb21lIHRvIGRlYnVnZ2luZyBSZWFjdCAtLS1cbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoeCkge31cbiAgfTtcbn1cblxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvblRoYXRSZXR1cm5zTnVsbCgpIHtcbiAgcmV0dXJuIG51bGw7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oaXNWYWxpZEVsZW1lbnQsIHRocm93T25EaXJlY3RBY2Nlc3MpIHtcbiAgLyogZ2xvYmFsIFN5bWJvbCAqL1xuICB2YXIgSVRFUkFUT1JfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaXRlcmF0b3I7XG4gIHZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJzsgLy8gQmVmb3JlIFN5bWJvbCBzcGVjLlxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpdGVyYXRvciBtZXRob2QgZnVuY3Rpb24gY29udGFpbmVkIG9uIHRoZSBpdGVyYWJsZSBvYmplY3QuXG4gICAqXG4gICAqIEJlIHN1cmUgdG8gaW52b2tlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBpdGVyYWJsZSBhcyBjb250ZXh0OlxuICAgKlxuICAgKiAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG15SXRlcmFibGUpO1xuICAgKiAgICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICogICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG15SXRlcmFibGUpO1xuICAgKiAgICAgICAuLi5cbiAgICogICAgIH1cbiAgICpcbiAgICogQHBhcmFtIHs/b2JqZWN0fSBtYXliZUl0ZXJhYmxlXG4gICAqIEByZXR1cm4gez9mdW5jdGlvbn1cbiAgICovXG4gIGZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICAgIHZhciBpdGVyYXRvckZuID0gbWF5YmVJdGVyYWJsZSAmJiAoSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXSk7XG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gaXRlcmF0b3JGbjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdGlvbiBvZiBtZXRob2RzIHRoYXQgYWxsb3cgZGVjbGFyYXRpb24gYW5kIHZhbGlkYXRpb24gb2YgcHJvcHMgdGhhdCBhcmVcbiAgICogc3VwcGxpZWQgdG8gUmVhY3QgY29tcG9uZW50cy4gRXhhbXBsZSB1c2FnZTpcbiAgICpcbiAgICogICB2YXIgUHJvcHMgPSByZXF1aXJlKCdSZWFjdFByb3BUeXBlcycpO1xuICAgKiAgIHZhciBNeUFydGljbGUgPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gICAqICAgICBwcm9wVHlwZXM6IHtcbiAgICogICAgICAgLy8gQW4gb3B0aW9uYWwgc3RyaW5nIHByb3AgbmFtZWQgXCJkZXNjcmlwdGlvblwiLlxuICAgKiAgICAgICBkZXNjcmlwdGlvbjogUHJvcHMuc3RyaW5nLFxuICAgKlxuICAgKiAgICAgICAvLyBBIHJlcXVpcmVkIGVudW0gcHJvcCBuYW1lZCBcImNhdGVnb3J5XCIuXG4gICAqICAgICAgIGNhdGVnb3J5OiBQcm9wcy5vbmVPZihbJ05ld3MnLCdQaG90b3MnXSkuaXNSZXF1aXJlZCxcbiAgICpcbiAgICogICAgICAgLy8gQSBwcm9wIG5hbWVkIFwiZGlhbG9nXCIgdGhhdCByZXF1aXJlcyBhbiBpbnN0YW5jZSBvZiBEaWFsb2cuXG4gICAqICAgICAgIGRpYWxvZzogUHJvcHMuaW5zdGFuY2VPZihEaWFsb2cpLmlzUmVxdWlyZWRcbiAgICogICAgIH0sXG4gICAqICAgICByZW5kZXI6IGZ1bmN0aW9uKCkgeyAuLi4gfVxuICAgKiAgIH0pO1xuICAgKlxuICAgKiBBIG1vcmUgZm9ybWFsIHNwZWNpZmljYXRpb24gb2YgaG93IHRoZXNlIG1ldGhvZHMgYXJlIHVzZWQ6XG4gICAqXG4gICAqICAgdHlwZSA6PSBhcnJheXxib29sfGZ1bmN8b2JqZWN0fG51bWJlcnxzdHJpbmd8b25lT2YoWy4uLl0pfGluc3RhbmNlT2YoLi4uKVxuICAgKiAgIGRlY2wgOj0gUmVhY3RQcm9wVHlwZXMue3R5cGV9KC5pc1JlcXVpcmVkKT9cbiAgICpcbiAgICogRWFjaCBhbmQgZXZlcnkgZGVjbGFyYXRpb24gcHJvZHVjZXMgYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIHNpZ25hdHVyZS4gVGhpc1xuICAgKiBhbGxvd3MgdGhlIGNyZWF0aW9uIG9mIGN1c3RvbSB2YWxpZGF0aW9uIGZ1bmN0aW9ucy4gRm9yIGV4YW1wbGU6XG4gICAqXG4gICAqICB2YXIgTXlMaW5rID0gUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICAgKiAgICBwcm9wVHlwZXM6IHtcbiAgICogICAgICAvLyBBbiBvcHRpb25hbCBzdHJpbmcgb3IgVVJJIHByb3AgbmFtZWQgXCJocmVmXCIuXG4gICAqICAgICAgaHJlZjogZnVuY3Rpb24ocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lKSB7XG4gICAqICAgICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgKiAgICAgICAgaWYgKHByb3BWYWx1ZSAhPSBudWxsICYmIHR5cGVvZiBwcm9wVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAqICAgICAgICAgICAgIShwcm9wVmFsdWUgaW5zdGFuY2VvZiBVUkkpKSB7XG4gICAqICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXG4gICAqICAgICAgICAgICAgJ0V4cGVjdGVkIGEgc3RyaW5nIG9yIGFuIFVSSSBmb3IgJyArIHByb3BOYW1lICsgJyBpbiAnICtcbiAgICogICAgICAgICAgICBjb21wb25lbnROYW1lXG4gICAqICAgICAgICAgICk7XG4gICAqICAgICAgICB9XG4gICAqICAgICAgfVxuICAgKiAgICB9LFxuICAgKiAgICByZW5kZXI6IGZ1bmN0aW9uKCkgey4uLn1cbiAgICogIH0pO1xuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG5cbiAgdmFyIEFOT05ZTU9VUyA9ICc8PGFub255bW91cz4+JztcblxuICAvLyBJbXBvcnRhbnQhXG4gIC8vIEtlZXAgdGhpcyBsaXN0IGluIHN5bmMgd2l0aCBwcm9kdWN0aW9uIHZlcnNpb24gaW4gYC4vZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zLmpzYC5cbiAgdmFyIFJlYWN0UHJvcFR5cGVzID0ge1xuICAgIGFycmF5OiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignYXJyYXknKSxcbiAgICBiaWdpbnQ6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdiaWdpbnQnKSxcbiAgICBib29sOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignYm9vbGVhbicpLFxuICAgIGZ1bmM6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdmdW5jdGlvbicpLFxuICAgIG51bWJlcjogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ251bWJlcicpLFxuICAgIG9iamVjdDogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ29iamVjdCcpLFxuICAgIHN0cmluZzogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ3N0cmluZycpLFxuICAgIHN5bWJvbDogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ3N5bWJvbCcpLFxuXG4gICAgYW55OiBjcmVhdGVBbnlUeXBlQ2hlY2tlcigpLFxuICAgIGFycmF5T2Y6IGNyZWF0ZUFycmF5T2ZUeXBlQ2hlY2tlcixcbiAgICBlbGVtZW50OiBjcmVhdGVFbGVtZW50VHlwZUNoZWNrZXIoKSxcbiAgICBlbGVtZW50VHlwZTogY3JlYXRlRWxlbWVudFR5cGVUeXBlQ2hlY2tlcigpLFxuICAgIGluc3RhbmNlT2Y6IGNyZWF0ZUluc3RhbmNlVHlwZUNoZWNrZXIsXG4gICAgbm9kZTogY3JlYXRlTm9kZUNoZWNrZXIoKSxcbiAgICBvYmplY3RPZjogY3JlYXRlT2JqZWN0T2ZUeXBlQ2hlY2tlcixcbiAgICBvbmVPZjogY3JlYXRlRW51bVR5cGVDaGVja2VyLFxuICAgIG9uZU9mVHlwZTogY3JlYXRlVW5pb25UeXBlQ2hlY2tlcixcbiAgICBzaGFwZTogY3JlYXRlU2hhcGVUeXBlQ2hlY2tlcixcbiAgICBleGFjdDogY3JlYXRlU3RyaWN0U2hhcGVUeXBlQ2hlY2tlcixcbiAgfTtcblxuICAvKipcbiAgICogaW5saW5lZCBPYmplY3QuaXMgcG9seWZpbGwgdG8gYXZvaWQgcmVxdWlyaW5nIGNvbnN1bWVycyBzaGlwIHRoZWlyIG93blxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbiAgICovXG4gIC8qZXNsaW50LWRpc2FibGUgbm8tc2VsZi1jb21wYXJlKi9cbiAgZnVuY3Rpb24gaXMoeCwgeSkge1xuICAgIC8vIFNhbWVWYWx1ZSBhbGdvcml0aG1cbiAgICBpZiAoeCA9PT0geSkge1xuICAgICAgLy8gU3RlcHMgMS01LCA3LTEwXG4gICAgICAvLyBTdGVwcyA2LmItNi5lOiArMCAhPSAtMFxuICAgICAgcmV0dXJuIHggIT09IDAgfHwgMSAvIHggPT09IDEgLyB5O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdGVwIDYuYTogTmFOID09IE5hTlxuICAgICAgcmV0dXJuIHggIT09IHggJiYgeSAhPT0geTtcbiAgICB9XG4gIH1cbiAgLyplc2xpbnQtZW5hYmxlIG5vLXNlbGYtY29tcGFyZSovXG5cbiAgLyoqXG4gICAqIFdlIHVzZSBhbiBFcnJvci1saWtlIG9iamVjdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBhcyBwZW9wbGUgbWF5IGNhbGxcbiAgICogUHJvcFR5cGVzIGRpcmVjdGx5IGFuZCBpbnNwZWN0IHRoZWlyIG91dHB1dC4gSG93ZXZlciwgd2UgZG9uJ3QgdXNlIHJlYWxcbiAgICogRXJyb3JzIGFueW1vcmUuIFdlIGRvbid0IGluc3BlY3QgdGhlaXIgc3RhY2sgYW55d2F5LCBhbmQgY3JlYXRpbmcgdGhlbVxuICAgKiBpcyBwcm9oaWJpdGl2ZWx5IGV4cGVuc2l2ZSBpZiB0aGV5IGFyZSBjcmVhdGVkIHRvbyBvZnRlbiwgc3VjaCBhcyB3aGF0XG4gICAqIGhhcHBlbnMgaW4gb25lT2ZUeXBlKCkgZm9yIGFueSB0eXBlIGJlZm9yZSB0aGUgb25lIHRoYXQgbWF0Y2hlZC5cbiAgICovXG4gIGZ1bmN0aW9uIFByb3BUeXBlRXJyb3IobWVzc2FnZSwgZGF0YSkge1xuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgdGhpcy5kYXRhID0gZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgPyBkYXRhOiB7fTtcbiAgICB0aGlzLnN0YWNrID0gJyc7XG4gIH1cbiAgLy8gTWFrZSBgaW5zdGFuY2VvZiBFcnJvcmAgc3RpbGwgd29yayBmb3IgcmV0dXJuZWQgZXJyb3JzLlxuICBQcm9wVHlwZUVycm9yLnByb3RvdHlwZSA9IEVycm9yLnByb3RvdHlwZTtcblxuICBmdW5jdGlvbiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgbWFudWFsUHJvcFR5cGVDYWxsQ2FjaGUgPSB7fTtcbiAgICAgIHZhciBtYW51YWxQcm9wVHlwZVdhcm5pbmdDb3VudCA9IDA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNoZWNrVHlwZShpc1JlcXVpcmVkLCBwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIHNlY3JldCkge1xuICAgICAgY29tcG9uZW50TmFtZSA9IGNvbXBvbmVudE5hbWUgfHwgQU5PTllNT1VTO1xuICAgICAgcHJvcEZ1bGxOYW1lID0gcHJvcEZ1bGxOYW1lIHx8IHByb3BOYW1lO1xuXG4gICAgICBpZiAoc2VjcmV0ICE9PSBSZWFjdFByb3BUeXBlc1NlY3JldCkge1xuICAgICAgICBpZiAodGhyb3dPbkRpcmVjdEFjY2Vzcykge1xuICAgICAgICAgIC8vIE5ldyBiZWhhdmlvciBvbmx5IGZvciB1c2VycyBvZiBgcHJvcC10eXBlc2AgcGFja2FnZVxuICAgICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICAgICAgICAnQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAgICAgICAnVXNlIGBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoKWAgdG8gY2FsbCB0aGVtLiAnICtcbiAgICAgICAgICAgICdSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgLy8gT2xkIGJlaGF2aW9yIGZvciBwZW9wbGUgdXNpbmcgUmVhY3QuUHJvcFR5cGVzXG4gICAgICAgICAgdmFyIGNhY2hlS2V5ID0gY29tcG9uZW50TmFtZSArICc6JyArIHByb3BOYW1lO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFtYW51YWxQcm9wVHlwZUNhbGxDYWNoZVtjYWNoZUtleV0gJiZcbiAgICAgICAgICAgIC8vIEF2b2lkIHNwYW1taW5nIHRoZSBjb25zb2xlIGJlY2F1c2UgdGhleSBhcmUgb2Z0ZW4gbm90IGFjdGlvbmFibGUgZXhjZXB0IGZvciBsaWIgYXV0aG9yc1xuICAgICAgICAgICAgbWFudWFsUHJvcFR5cGVXYXJuaW5nQ291bnQgPCAzXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBwcmludFdhcm5pbmcoXG4gICAgICAgICAgICAgICdZb3UgYXJlIG1hbnVhbGx5IGNhbGxpbmcgYSBSZWFjdC5Qcm9wVHlwZXMgdmFsaWRhdGlvbiAnICtcbiAgICAgICAgICAgICAgJ2Z1bmN0aW9uIGZvciB0aGUgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBwcm9wIG9uIGAnICsgY29tcG9uZW50TmFtZSArICdgLiBUaGlzIGlzIGRlcHJlY2F0ZWQgJyArXG4gICAgICAgICAgICAgICdhbmQgd2lsbCB0aHJvdyBpbiB0aGUgc3RhbmRhbG9uZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gJyArXG4gICAgICAgICAgICAgICdZb3UgbWF5IGJlIHNlZWluZyB0aGlzIHdhcm5pbmcgZHVlIHRvIGEgdGhpcmQtcGFydHkgUHJvcFR5cGVzICcgK1xuICAgICAgICAgICAgICAnbGlicmFyeS4gU2VlIGh0dHBzOi8vZmIubWUvcmVhY3Qtd2FybmluZy1kb250LWNhbGwtcHJvcHR5cGVzICcgKyAnZm9yIGRldGFpbHMuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1hbnVhbFByb3BUeXBlQ2FsbENhY2hlW2NhY2hlS2V5XSA9IHRydWU7XG4gICAgICAgICAgICBtYW51YWxQcm9wVHlwZVdhcm5pbmdDb3VudCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGlmIChpc1JlcXVpcmVkKSB7XG4gICAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdUaGUgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIGlzIG1hcmtlZCBhcyByZXF1aXJlZCAnICsgKCdpbiBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgYnV0IGl0cyB2YWx1ZSBpcyBgbnVsbGAuJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ1RoZSAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2AgaXMgbWFya2VkIGFzIHJlcXVpcmVkIGluICcgKyAoJ2AnICsgY29tcG9uZW50TmFtZSArICdgLCBidXQgaXRzIHZhbHVlIGlzIGB1bmRlZmluZWRgLicpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjaGFpbmVkQ2hlY2tUeXBlID0gY2hlY2tUeXBlLmJpbmQobnVsbCwgZmFsc2UpO1xuICAgIGNoYWluZWRDaGVja1R5cGUuaXNSZXF1aXJlZCA9IGNoZWNrVHlwZS5iaW5kKG51bGwsIHRydWUpO1xuXG4gICAgcmV0dXJuIGNoYWluZWRDaGVja1R5cGU7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcihleHBlY3RlZFR5cGUpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIHNlY3JldCkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09IGV4cGVjdGVkVHlwZSkge1xuICAgICAgICAvLyBgcHJvcFZhbHVlYCBiZWluZyBpbnN0YW5jZSBvZiwgc2F5LCBkYXRlL3JlZ2V4cCwgcGFzcyB0aGUgJ29iamVjdCdcbiAgICAgICAgLy8gY2hlY2ssIGJ1dCB3ZSBjYW4gb2ZmZXIgYSBtb3JlIHByZWNpc2UgZXJyb3IgbWVzc2FnZSBoZXJlIHJhdGhlciB0aGFuXG4gICAgICAgIC8vICdvZiB0eXBlIGBvYmplY3RgJy5cbiAgICAgICAgdmFyIHByZWNpc2VUeXBlID0gZ2V0UHJlY2lzZVR5cGUocHJvcFZhbHVlKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoXG4gICAgICAgICAgJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcmVjaXNlVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCAnKSArICgnYCcgKyBleHBlY3RlZFR5cGUgKyAnYC4nKSxcbiAgICAgICAgICB7ZXhwZWN0ZWRUeXBlOiBleHBlY3RlZFR5cGV9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUFueVR5cGVDaGVja2VyKCkge1xuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcihlbXB0eUZ1bmN0aW9uVGhhdFJldHVybnNOdWxsKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUFycmF5T2ZUeXBlQ2hlY2tlcih0eXBlQ2hlY2tlcikge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlQ2hlY2tlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ1Byb3BlcnR5IGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgY29tcG9uZW50IGAnICsgY29tcG9uZW50TmFtZSArICdgIGhhcyBpbnZhbGlkIFByb3BUeXBlIG5vdGF0aW9uIGluc2lkZSBhcnJheU9mLicpO1xuICAgICAgfVxuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShwcm9wVmFsdWUpKSB7XG4gICAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByb3BUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGFuIGFycmF5LicpKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcFZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBlcnJvciA9IHR5cGVDaGVja2VyKHByb3BWYWx1ZSwgaSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICdbJyArIGkgKyAnXScsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudFR5cGVDaGVja2VyKCkge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIGlmICghaXNWYWxpZEVsZW1lbnQocHJvcFZhbHVlKSkge1xuICAgICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcm9wVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhIHNpbmdsZSBSZWFjdEVsZW1lbnQuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVFbGVtZW50VHlwZVR5cGVDaGVja2VyKCkge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIGlmICghUmVhY3RJcy5pc1ZhbGlkRWxlbWVudFR5cGUocHJvcFZhbHVlKSkge1xuICAgICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcm9wVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhIHNpbmdsZSBSZWFjdEVsZW1lbnQgdHlwZS4nKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlVHlwZUNoZWNrZXIoZXhwZWN0ZWRDbGFzcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgaWYgKCEocHJvcHNbcHJvcE5hbWVdIGluc3RhbmNlb2YgZXhwZWN0ZWRDbGFzcykpIHtcbiAgICAgICAgdmFyIGV4cGVjdGVkQ2xhc3NOYW1lID0gZXhwZWN0ZWRDbGFzcy5uYW1lIHx8IEFOT05ZTU9VUztcbiAgICAgICAgdmFyIGFjdHVhbENsYXNzTmFtZSA9IGdldENsYXNzTmFtZShwcm9wc1twcm9wTmFtZV0pO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBhY3R1YWxDbGFzc05hbWUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgJykgKyAoJ2luc3RhbmNlIG9mIGAnICsgZXhwZWN0ZWRDbGFzc05hbWUgKyAnYC4nKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUVudW1UeXBlQ2hlY2tlcihleHBlY3RlZFZhbHVlcykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShleHBlY3RlZFZhbHVlcykpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgICdJbnZhbGlkIGFyZ3VtZW50cyBzdXBwbGllZCB0byBvbmVPZiwgZXhwZWN0ZWQgYW4gYXJyYXksIGdvdCAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgYXJndW1lbnRzLiAnICtcbiAgICAgICAgICAgICdBIGNvbW1vbiBtaXN0YWtlIGlzIHRvIHdyaXRlIG9uZU9mKHgsIHksIHopIGluc3RlYWQgb2Ygb25lT2YoW3gsIHksIHpdKS4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmludFdhcm5pbmcoJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gb25lT2YsIGV4cGVjdGVkIGFuIGFycmF5LicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZW1wdHlGdW5jdGlvblRoYXRSZXR1cm5zTnVsbDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpcyhwcm9wVmFsdWUsIGV4cGVjdGVkVmFsdWVzW2ldKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciB2YWx1ZXNTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShleHBlY3RlZFZhbHVlcywgZnVuY3Rpb24gcmVwbGFjZXIoa2V5LCB2YWx1ZSkge1xuICAgICAgICB2YXIgdHlwZSA9IGdldFByZWNpc2VUeXBlKHZhbHVlKTtcbiAgICAgICAgaWYgKHR5cGUgPT09ICdzeW1ib2wnKSB7XG4gICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHZhbHVlIGAnICsgU3RyaW5nKHByb3BWYWx1ZSkgKyAnYCAnICsgKCdzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgb25lIG9mICcgKyB2YWx1ZXNTdHJpbmcgKyAnLicpKTtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdE9mVHlwZUNoZWNrZXIodHlwZUNoZWNrZXIpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdHlwZUNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdQcm9wZXJ0eSBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIGNvbXBvbmVudCBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCBoYXMgaW52YWxpZCBQcm9wVHlwZSBub3RhdGlvbiBpbnNpZGUgb2JqZWN0T2YuJyk7XG4gICAgICB9XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYW4gb2JqZWN0LicpKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wVmFsdWUpIHtcbiAgICAgICAgaWYgKGhhcyhwcm9wVmFsdWUsIGtleSkpIHtcbiAgICAgICAgICB2YXIgZXJyb3IgPSB0eXBlQ2hlY2tlcihwcm9wVmFsdWUsIGtleSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICcuJyArIGtleSwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVVuaW9uVHlwZUNoZWNrZXIoYXJyYXlPZlR5cGVDaGVja2Vycykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheU9mVHlwZUNoZWNrZXJzKSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IHByaW50V2FybmluZygnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBvbmVPZlR5cGUsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicpIDogdm9pZCAwO1xuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGw7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheU9mVHlwZUNoZWNrZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hlY2tlciA9IGFycmF5T2ZUeXBlQ2hlY2tlcnNbaV07XG4gICAgICBpZiAodHlwZW9mIGNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIG9uZU9mVHlwZS4gRXhwZWN0ZWQgYW4gYXJyYXkgb2YgY2hlY2sgZnVuY3Rpb25zLCBidXQgJyArXG4gICAgICAgICAgJ3JlY2VpdmVkICcgKyBnZXRQb3N0Zml4Rm9yVHlwZVdhcm5pbmcoY2hlY2tlcikgKyAnIGF0IGluZGV4ICcgKyBpICsgJy4nXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBlbXB0eUZ1bmN0aW9uVGhhdFJldHVybnNOdWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIGV4cGVjdGVkVHlwZXMgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlPZlR5cGVDaGVja2Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgY2hlY2tlciA9IGFycmF5T2ZUeXBlQ2hlY2tlcnNbaV07XG4gICAgICAgIHZhciBjaGVja2VyUmVzdWx0ID0gY2hlY2tlcihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGNoZWNrZXJSZXN1bHQgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGVja2VyUmVzdWx0LmRhdGEgJiYgaGFzKGNoZWNrZXJSZXN1bHQuZGF0YSwgJ2V4cGVjdGVkVHlwZScpKSB7XG4gICAgICAgICAgZXhwZWN0ZWRUeXBlcy5wdXNoKGNoZWNrZXJSZXN1bHQuZGF0YS5leHBlY3RlZFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2YXIgZXhwZWN0ZWRUeXBlc01lc3NhZ2UgPSAoZXhwZWN0ZWRUeXBlcy5sZW5ndGggPiAwKSA/ICcsIGV4cGVjdGVkIG9uZSBvZiB0eXBlIFsnICsgZXhwZWN0ZWRUeXBlcy5qb2luKCcsICcpICsgJ10nOiAnJztcbiAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agc3VwcGxpZWQgdG8gJyArICgnYCcgKyBjb21wb25lbnROYW1lICsgJ2AnICsgZXhwZWN0ZWRUeXBlc01lc3NhZ2UgKyAnLicpKTtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZU5vZGVDaGVja2VyKCkge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgaWYgKCFpc05vZGUocHJvcHNbcHJvcE5hbWVdKSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIHN1cHBsaWVkIHRvICcgKyAoJ2AnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhIFJlYWN0Tm9kZS4nKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGludmFsaWRWYWxpZGF0b3JFcnJvcihjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBrZXksIHR5cGUpIHtcbiAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoXG4gICAgICAoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHByb3BGdWxsTmFtZSArICcuJyArIGtleSArICdgIGlzIGludmFsaWQ7ICcgK1xuICAgICAgJ2l0IG11c3QgYmUgYSBmdW5jdGlvbiwgdXN1YWxseSBmcm9tIHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZSwgYnV0IHJlY2VpdmVkIGAnICsgdHlwZSArICdgLidcbiAgICApO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlU2hhcGVUeXBlQ2hlY2tlcihzaGFwZVR5cGVzKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlIGAnICsgcHJvcFR5cGUgKyAnYCAnICsgKCdzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYG9iamVjdGAuJykpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHNoYXBlVHlwZXMpIHtcbiAgICAgICAgdmFyIGNoZWNrZXIgPSBzaGFwZVR5cGVzW2tleV07XG4gICAgICAgIGlmICh0eXBlb2YgY2hlY2tlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsaWRhdG9yRXJyb3IoY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwga2V5LCBnZXRQcmVjaXNlVHlwZShjaGVja2VyKSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVycm9yID0gY2hlY2tlcihwcm9wVmFsdWUsIGtleSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICcuJyArIGtleSwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlU3RyaWN0U2hhcGVUeXBlQ2hlY2tlcihzaGFwZVR5cGVzKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgIGlmIChwcm9wVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlIGAnICsgcHJvcFR5cGUgKyAnYCAnICsgKCdzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYG9iamVjdGAuJykpO1xuICAgICAgfVxuICAgICAgLy8gV2UgbmVlZCB0byBjaGVjayBhbGwga2V5cyBpbiBjYXNlIHNvbWUgYXJlIHJlcXVpcmVkIGJ1dCBtaXNzaW5nIGZyb20gcHJvcHMuXG4gICAgICB2YXIgYWxsS2V5cyA9IGFzc2lnbih7fSwgcHJvcHNbcHJvcE5hbWVdLCBzaGFwZVR5cGVzKTtcbiAgICAgIGZvciAodmFyIGtleSBpbiBhbGxLZXlzKSB7XG4gICAgICAgIHZhciBjaGVja2VyID0gc2hhcGVUeXBlc1trZXldO1xuICAgICAgICBpZiAoaGFzKHNoYXBlVHlwZXMsIGtleSkgJiYgdHlwZW9mIGNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbGlkYXRvckVycm9yKGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIGtleSwgZ2V0UHJlY2lzZVR5cGUoY2hlY2tlcikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY2hlY2tlcikge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcihcbiAgICAgICAgICAgICdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBrZXkgYCcgKyBrZXkgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYC4nICtcbiAgICAgICAgICAgICdcXG5CYWQgb2JqZWN0OiAnICsgSlNPTi5zdHJpbmdpZnkocHJvcHNbcHJvcE5hbWVdLCBudWxsLCAnICAnKSArXG4gICAgICAgICAgICAnXFxuVmFsaWQga2V5czogJyArIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHNoYXBlVHlwZXMpLCBudWxsLCAnICAnKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVycm9yID0gY2hlY2tlcihwcm9wVmFsdWUsIGtleSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSArICcuJyArIGtleSwgUmVhY3RQcm9wVHlwZXNTZWNyZXQpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBpc05vZGUocHJvcFZhbHVlKSB7XG4gICAgc3dpdGNoICh0eXBlb2YgcHJvcFZhbHVlKSB7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiAhcHJvcFZhbHVlO1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBwcm9wVmFsdWUuZXZlcnkoaXNOb2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcFZhbHVlID09PSBudWxsIHx8IGlzVmFsaWRFbGVtZW50KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihwcm9wVmFsdWUpO1xuICAgICAgICBpZiAoaXRlcmF0b3JGbikge1xuICAgICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChwcm9wVmFsdWUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuICAgICAgICAgIGlmIChpdGVyYXRvckZuICE9PSBwcm9wVmFsdWUuZW50cmllcykge1xuICAgICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgICBpZiAoIWlzTm9kZShzdGVwLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJdGVyYXRvciB3aWxsIHByb3ZpZGUgZW50cnkgW2ssdl0gdHVwbGVzIHJhdGhlciB0aGFuIHZhbHVlcy5cbiAgICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgICAgdmFyIGVudHJ5ID0gc3RlcC52YWx1ZTtcbiAgICAgICAgICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc05vZGUoZW50cnlbMV0pKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzU3ltYm9sKHByb3BUeXBlLCBwcm9wVmFsdWUpIHtcbiAgICAvLyBOYXRpdmUgU3ltYm9sLlxuICAgIGlmIChwcm9wVHlwZSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIGZhbHN5IHZhbHVlIGNhbid0IGJlIGEgU3ltYm9sXG4gICAgaWYgKCFwcm9wVmFsdWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyAxOS40LjMuNSBTeW1ib2wucHJvdG90eXBlW0BAdG9TdHJpbmdUYWddID09PSAnU3ltYm9sJ1xuICAgIGlmIChwcm9wVmFsdWVbJ0BAdG9TdHJpbmdUYWcnXSA9PT0gJ1N5bWJvbCcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIEZhbGxiYWNrIGZvciBub24tc3BlYyBjb21wbGlhbnQgU3ltYm9scyB3aGljaCBhcmUgcG9seWZpbGxlZC5cbiAgICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBwcm9wVmFsdWUgaW5zdGFuY2VvZiBTeW1ib2wpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIEVxdWl2YWxlbnQgb2YgYHR5cGVvZmAgYnV0IHdpdGggc3BlY2lhbCBoYW5kbGluZyBmb3IgYXJyYXkgYW5kIHJlZ2V4cC5cbiAgZnVuY3Rpb24gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKSB7XG4gICAgdmFyIHByb3BUeXBlID0gdHlwZW9mIHByb3BWYWx1ZTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wVmFsdWUpKSB7XG4gICAgICByZXR1cm4gJ2FycmF5JztcbiAgICB9XG4gICAgaWYgKHByb3BWYWx1ZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgLy8gT2xkIHdlYmtpdHMgKGF0IGxlYXN0IHVudGlsIEFuZHJvaWQgNC4wKSByZXR1cm4gJ2Z1bmN0aW9uJyByYXRoZXIgdGhhblxuICAgICAgLy8gJ29iamVjdCcgZm9yIHR5cGVvZiBhIFJlZ0V4cC4gV2UnbGwgbm9ybWFsaXplIHRoaXMgaGVyZSBzbyB0aGF0IC9ibGEvXG4gICAgICAvLyBwYXNzZXMgUHJvcFR5cGVzLm9iamVjdC5cbiAgICAgIHJldHVybiAnb2JqZWN0JztcbiAgICB9XG4gICAgaWYgKGlzU3ltYm9sKHByb3BUeXBlLCBwcm9wVmFsdWUpKSB7XG4gICAgICByZXR1cm4gJ3N5bWJvbCc7XG4gICAgfVxuICAgIHJldHVybiBwcm9wVHlwZTtcbiAgfVxuXG4gIC8vIFRoaXMgaGFuZGxlcyBtb3JlIHR5cGVzIHRoYW4gYGdldFByb3BUeXBlYC4gT25seSB1c2VkIGZvciBlcnJvciBtZXNzYWdlcy5cbiAgLy8gU2VlIGBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcmAuXG4gIGZ1bmN0aW9uIGdldFByZWNpc2VUeXBlKHByb3BWYWx1ZSkge1xuICAgIGlmICh0eXBlb2YgcHJvcFZhbHVlID09PSAndW5kZWZpbmVkJyB8fCBwcm9wVmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJyArIHByb3BWYWx1ZTtcbiAgICB9XG4gICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICBpZiAocHJvcFR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAocHJvcFZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gJ2RhdGUnO1xuICAgICAgfSBlbHNlIGlmIChwcm9wVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgcmV0dXJuICdyZWdleHAnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcFR5cGU7XG4gIH1cblxuICAvLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcG9zdGZpeGVkIHRvIGEgd2FybmluZyBhYm91dCBhbiBpbnZhbGlkIHR5cGUuXG4gIC8vIEZvciBleGFtcGxlLCBcInVuZGVmaW5lZFwiIG9yIFwib2YgdHlwZSBhcnJheVwiXG4gIGZ1bmN0aW9uIGdldFBvc3RmaXhGb3JUeXBlV2FybmluZyh2YWx1ZSkge1xuICAgIHZhciB0eXBlID0gZ2V0UHJlY2lzZVR5cGUodmFsdWUpO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgcmV0dXJuICdhbiAnICsgdHlwZTtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICBjYXNlICdyZWdleHAnOlxuICAgICAgICByZXR1cm4gJ2EgJyArIHR5cGU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXR1cm5zIGNsYXNzIG5hbWUgb2YgdGhlIG9iamVjdCwgaWYgYW55LlxuICBmdW5jdGlvbiBnZXRDbGFzc05hbWUocHJvcFZhbHVlKSB7XG4gICAgaWYgKCFwcm9wVmFsdWUuY29uc3RydWN0b3IgfHwgIXByb3BWYWx1ZS5jb25zdHJ1Y3Rvci5uYW1lKSB7XG4gICAgICByZXR1cm4gQU5PTllNT1VTO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcFZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cblxuICBSZWFjdFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyA9IGNoZWNrUHJvcFR5cGVzO1xuICBSZWFjdFByb3BUeXBlcy5yZXNldFdhcm5pbmdDYWNoZSA9IGNoZWNrUHJvcFR5cGVzLnJlc2V0V2FybmluZ0NhY2hlO1xuICBSZWFjdFByb3BUeXBlcy5Qcm9wVHlwZXMgPSBSZWFjdFByb3BUeXBlcztcblxuICByZXR1cm4gUmVhY3RQcm9wVHlwZXM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/prop-types/factoryWithTypeCheckers.js\n")); - -/***/ }), - -/***/ "./node_modules/prop-types/index.js": -/*!******************************************!*\ - !*** ./node_modules/prop-types/index.js ***! - \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (true) {\n var ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ \"./node_modules/prop-types/factoryWithTypeCheckers.js\")(ReactIs.isElement, throwOnDirectAccess);\n} else {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSSxJQUFxQztBQUN6QyxnQkFBZ0IsbUJBQU8sQ0FBQyxrREFBVTs7QUFFbEM7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFPLENBQUMsdUZBQTJCO0FBQ3RELEVBQUUsS0FBSyxFQUlOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzP2JkZTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG5cbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgZGV2ZWxvcG1lbnQgYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgdmFyIHRocm93T25EaXJlY3RBY2Nlc3MgPSB0cnVlO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMnKShSZWFjdElzLmlzRWxlbWVudCwgdGhyb3dPbkRpcmVjdEFjY2Vzcyk7XG59IGVsc2Uge1xuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBwcm9kdWN0aW9uIGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMnKSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/prop-types/index.js\n")); - -/***/ }), - -/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": -/*!*************************************************************!*\ - !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldC5qcz9lMDk4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/prop-types/lib/ReactPropTypesSecret.js\n")); - -/***/ }), - -/***/ "./node_modules/prop-types/lib/has.js": -/*!********************************************!*\ - !*** ./node_modules/prop-types/lib/has.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -eval(__webpack_require__.ts("module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvaGFzLmpzIiwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2xpYi9oYXMuanM/ZTQ3MCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZ1bmN0aW9uLmNhbGwuYmluZChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/prop-types/lib/has.js\n")); - -/***/ }), - -/***/ "./node_modules/react-is/cjs/react-is.development.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-is/cjs/react-is.development.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtaXMvY2pzL3JlYWN0LWlzLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7Ozs7QUFJYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkVBQTJFO0FBQzNFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUI7QUFDakIsc0JBQXNCO0FBQ3RCLHVCQUF1QjtBQUN2Qix1QkFBdUI7QUFDdkIsZUFBZTtBQUNmLGtCQUFrQjtBQUNsQixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFlBQVk7QUFDWixjQUFjO0FBQ2QsZ0JBQWdCO0FBQ2hCLGtCQUFrQjtBQUNsQixnQkFBZ0I7QUFDaEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4Qix5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLGlCQUFpQjtBQUNqQixvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLGNBQWM7QUFDZCxjQUFjO0FBQ2QsZ0JBQWdCO0FBQ2hCLGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9janMvcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanM/NDk2YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGxpY2Vuc2UgUmVhY3QgdjE2LjEzLjFcbiAqIHJlYWN0LWlzLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXG52YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpIDogMHhlYWNiO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpIDogMHhlYWNkO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XG4vLyAodW5zdGFibGUpIEFQSXMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gQ2FuIHdlIHJlbW92ZSB0aGUgc3ltYm9scz9cblxudmFyIFJFQUNUX0FTWU5DX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmFzeW5jX21vZGUnKSA6IDB4ZWFjZjtcbnZhciBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbmN1cnJlbnRfbW9kZScpIDogMHhlYWNmO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpIDogMHhlYWQwO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpIDogMHhlYWQxO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKSA6IDB4ZWFkODtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJykgOiAweGVhZDM7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubGF6eScpIDogMHhlYWQ0O1xudmFyIFJFQUNUX0JMT0NLX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5ibG9jaycpIDogMHhlYWQ5O1xudmFyIFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mdW5kYW1lbnRhbCcpIDogMHhlYWQ1O1xudmFyIFJFQUNUX1JFU1BPTkRFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucmVzcG9uZGVyJykgOiAweGVhZDY7XG52YXIgUkVBQ1RfU0NPUEVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnNjb3BlJykgOiAweGVhZDc7XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgLy8gTm90ZTogaXRzIHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIGlmIGl0J3MgYSBwb2x5ZmlsbC5cbiAgdHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GVU5EQU1FTlRBTF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1JFU1BPTkRFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1NDT1BFX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQkxPQ0tfVFlQRSk7XG59XG5cbmZ1bmN0aW9uIHR5cGVPZihvYmplY3QpIHtcbiAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCkge1xuICAgIHZhciAkJHR5cGVvZiA9IG9iamVjdC4kJHR5cGVvZjtcblxuICAgIHN3aXRjaCAoJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICB2YXIgdHlwZSA9IG9iamVjdC50eXBlO1xuXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfQVNZTkNfTU9ERV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mVHlwZTtcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAkJHR5cGVvZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgIHJldHVybiAkJHR5cGVvZjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufSAvLyBBc3luY01vZGUgaXMgZGVwcmVjYXRlZCBhbG9uZyB3aXRoIGlzQXN5bmNNb2RlXG5cbnZhciBBc3luY01vZGUgPSBSRUFDVF9BU1lOQ19NT0RFX1RZUEU7XG52YXIgQ29uY3VycmVudE1vZGUgPSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSBSRUFDVF9DT05URVhUX1RZUEU7XG52YXIgQ29udGV4dFByb3ZpZGVyID0gUkVBQ1RfUFJPVklERVJfVFlQRTtcbnZhciBFbGVtZW50ID0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xudmFyIEZvcndhcmRSZWYgPSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFO1xudmFyIEZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbnZhciBMYXp5ID0gUkVBQ1RfTEFaWV9UWVBFO1xudmFyIE1lbW8gPSBSRUFDVF9NRU1PX1RZUEU7XG52YXIgUG9ydGFsID0gUkVBQ1RfUE9SVEFMX1RZUEU7XG52YXIgUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xudmFyIFN0cmljdE1vZGUgPSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFO1xudmFyIFN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbnZhciBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTcrLiBVcGRhdGUgeW91ciBjb2RlIHRvIHVzZSAnICsgJ1JlYWN0SXMuaXNDb25jdXJyZW50TW9kZSgpIGluc3RlYWQuIEl0IGhhcyB0aGUgZXhhY3Qgc2FtZSBBUEkuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB8fCB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfQVNZTkNfTU9ERV9UWVBFO1xufVxuZnVuY3Rpb24gaXNDb25jdXJyZW50TW9kZShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cblxuZXhwb3J0cy5Bc3luY01vZGUgPSBBc3luY01vZGU7XG5leHBvcnRzLkNvbmN1cnJlbnRNb2RlID0gQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLkNvbnRleHRDb25zdW1lciA9IENvbnRleHRDb25zdW1lcjtcbmV4cG9ydHMuQ29udGV4dFByb3ZpZGVyID0gQ29udGV4dFByb3ZpZGVyO1xuZXhwb3J0cy5FbGVtZW50ID0gRWxlbWVudDtcbmV4cG9ydHMuRm9yd2FyZFJlZiA9IEZvcndhcmRSZWY7XG5leHBvcnRzLkZyYWdtZW50ID0gRnJhZ21lbnQ7XG5leHBvcnRzLkxhenkgPSBMYXp5O1xuZXhwb3J0cy5NZW1vID0gTWVtbztcbmV4cG9ydHMuUG9ydGFsID0gUG9ydGFsO1xuZXhwb3J0cy5Qcm9maWxlciA9IFByb2ZpbGVyO1xuZXhwb3J0cy5TdHJpY3RNb2RlID0gU3RyaWN0TW9kZTtcbmV4cG9ydHMuU3VzcGVuc2UgPSBTdXNwZW5zZTtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-is/cjs/react-is.development.js\n")); - -/***/ }), - -/***/ "./node_modules/react-is/index.js": -/*!****************************************!*\ - !*** ./node_modules/react-is/index.js ***! - \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-is/cjs/react-is.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtaXMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLGdJQUF5RDtBQUMzRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3QtaXMvaW5kZXguanM/YjMxMyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-is/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/components/Button.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-scroll/modules/components/Button.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = __webpack_require__(/*! ../mixins/scroll-link */ \"./node_modules/react-scroll/modules/mixins/scroll-link.js\");\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ButtonElement = function (_React$Component) {\n _inherits(ButtonElement, _React$Component);\n\n function ButtonElement() {\n _classCallCheck(this, ButtonElement);\n\n return _possibleConstructorReturn(this, (ButtonElement.__proto__ || Object.getPrototypeOf(ButtonElement)).apply(this, arguments));\n }\n\n _createClass(ButtonElement, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'input',\n this.props,\n this.props.children\n );\n }\n }]);\n\n return ButtonElement;\n}(_react2.default.Component);\n\n;\n\nexports[\"default\"] = (0, _scrollLink2.default)(ButtonElement);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvY29tcG9uZW50cy9CdXR0b24uanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDOztBQUVGLGlDQUFpQywyQ0FBMkMsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHVEQUF1RCwrREFBK0QseURBQXlELHFFQUFxRSw2REFBNkQsd0JBQXdCOztBQUVqakIsYUFBYSxtQkFBTyxDQUFDLDRDQUFPOztBQUU1Qjs7QUFFQSxrQkFBa0IsbUJBQU8sQ0FBQyx3RkFBdUI7O0FBRWpEOztBQUVBLHVDQUF1Qyx1Q0FBdUM7O0FBRTlFLGtEQUFrRCwwQ0FBMEM7O0FBRTVGLGtEQUFrRCxhQUFhLHlGQUF5Rjs7QUFFeEosMkNBQTJDLCtEQUErRCx1R0FBdUcseUVBQXlFLGVBQWUsMEVBQTBFLEdBQUc7O0FBRXRYO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEOztBQUVBLGtCQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zY3JvbGwvbW9kdWxlcy9jb21wb25lbnRzL0J1dHRvbi5qcz84ZmEwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfc2Nyb2xsTGluayA9IHJlcXVpcmUoJy4uL21peGlucy9zY3JvbGwtbGluaycpO1xuXG52YXIgX3Njcm9sbExpbmsyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsTGluayk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIEJ1dHRvbkVsZW1lbnQgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoQnV0dG9uRWxlbWVudCwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gQnV0dG9uRWxlbWVudCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnV0dG9uRWxlbWVudCk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEJ1dHRvbkVsZW1lbnQuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihCdXR0b25FbGVtZW50KSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQnV0dG9uRWxlbWVudCwgW3tcbiAgICBrZXk6ICdyZW5kZXInLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gX3JlYWN0Mi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdpbnB1dCcsXG4gICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgICAgICk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEJ1dHRvbkVsZW1lbnQ7XG59KF9yZWFjdDIuZGVmYXVsdC5Db21wb25lbnQpO1xuXG47XG5cbmV4cG9ydHMuZGVmYXVsdCA9ICgwLCBfc2Nyb2xsTGluazIuZGVmYXVsdCkoQnV0dG9uRWxlbWVudCk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/components/Button.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/components/Element.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-scroll/modules/components/Element.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollElement = __webpack_require__(/*! ../mixins/scroll-element */ \"./node_modules/react-scroll/modules/mixins/scroll-element.js\");\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ElementWrapper = function (_React$Component) {\n _inherits(ElementWrapper, _React$Component);\n\n function ElementWrapper() {\n _classCallCheck(this, ElementWrapper);\n\n return _possibleConstructorReturn(this, (ElementWrapper.__proto__ || Object.getPrototypeOf(ElementWrapper)).apply(this, arguments));\n }\n\n _createClass(ElementWrapper, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n // Remove `parentBindings` from props\n var newProps = _extends({}, this.props);\n if (newProps.parentBindings) {\n delete newProps.parentBindings;\n }\n\n return _react2.default.createElement(\n 'div',\n _extends({}, newProps, { ref: function ref(el) {\n _this2.props.parentBindings.domNode = el;\n } }),\n this.props.children\n );\n }\n }]);\n\n return ElementWrapper;\n}(_react2.default.Component);\n\n;\n\nElementWrapper.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n};\n\nexports[\"default\"] = (0, _scrollElement2.default)(ElementWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvY29tcG9uZW50cy9FbGVtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixvREFBb0QsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELGlDQUFpQzs7QUFFaFAsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELCtEQUErRCx5REFBeUQscUVBQXFFLDZEQUE2RCx3QkFBd0I7O0FBRWpqQixhQUFhLG1CQUFPLENBQUMsNENBQU87O0FBRTVCOztBQUVBLHFCQUFxQixtQkFBTyxDQUFDLDhGQUEwQjs7QUFFdkQ7O0FBRUEsaUJBQWlCLG1CQUFPLENBQUMsc0RBQVk7O0FBRXJDOztBQUVBLHVDQUF1Qyx1Q0FBdUM7O0FBRTlFLGtEQUFrRCwwQ0FBMEM7O0FBRTVGLGtEQUFrRCxhQUFhLHlGQUF5Rjs7QUFFeEosMkNBQTJDLCtEQUErRCx1R0FBdUcseUVBQXlFLGVBQWUsMEVBQTBFLEdBQUc7O0FBRXRYO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLGNBQWM7QUFDakM7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNjcm9sbC9tb2R1bGVzL2NvbXBvbmVudHMvRWxlbWVudC5qcz9hMDE0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfc2Nyb2xsRWxlbWVudCA9IHJlcXVpcmUoJy4uL21peGlucy9zY3JvbGwtZWxlbWVudCcpO1xuXG52YXIgX3Njcm9sbEVsZW1lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsRWxlbWVudCk7XG5cbnZhciBfcHJvcFR5cGVzID0gcmVxdWlyZSgncHJvcC10eXBlcycpO1xuXG52YXIgX3Byb3BUeXBlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wcm9wVHlwZXMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBFbGVtZW50V3JhcHBlciA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhFbGVtZW50V3JhcHBlciwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gRWxlbWVudFdyYXBwZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVsZW1lbnRXcmFwcGVyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoRWxlbWVudFdyYXBwZXIuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihFbGVtZW50V3JhcHBlcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVsZW1lbnRXcmFwcGVyLCBbe1xuICAgIGtleTogJ3JlbmRlcicsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAvLyBSZW1vdmUgYHBhcmVudEJpbmRpbmdzYCBmcm9tIHByb3BzXG4gICAgICB2YXIgbmV3UHJvcHMgPSBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcyk7XG4gICAgICBpZiAobmV3UHJvcHMucGFyZW50QmluZGluZ3MpIHtcbiAgICAgICAgZGVsZXRlIG5ld1Byb3BzLnBhcmVudEJpbmRpbmdzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX3JlYWN0Mi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdkaXYnLFxuICAgICAgICBfZXh0ZW5kcyh7fSwgbmV3UHJvcHMsIHsgcmVmOiBmdW5jdGlvbiByZWYoZWwpIHtcbiAgICAgICAgICAgIF90aGlzMi5wcm9wcy5wYXJlbnRCaW5kaW5ncy5kb21Ob2RlID0gZWw7XG4gICAgICAgICAgfSB9KSxcbiAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlblxuICAgICAgKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWxlbWVudFdyYXBwZXI7XG59KF9yZWFjdDIuZGVmYXVsdC5Db21wb25lbnQpO1xuXG47XG5cbkVsZW1lbnRXcmFwcGVyLnByb3BUeXBlcyA9IHtcbiAgbmFtZTogX3Byb3BUeXBlczIuZGVmYXVsdC5zdHJpbmcsXG4gIGlkOiBfcHJvcFR5cGVzMi5kZWZhdWx0LnN0cmluZ1xufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gKDAsIF9zY3JvbGxFbGVtZW50Mi5kZWZhdWx0KShFbGVtZW50V3JhcHBlcik7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/components/Element.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/components/Link.js": -/*!**************************************************************!*\ - !*** ./node_modules/react-scroll/modules/components/Link.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = __webpack_require__(/*! ../mixins/scroll-link */ \"./node_modules/react-scroll/modules/mixins/scroll-link.js\");\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar LinkElement = function (_React$Component) {\n _inherits(LinkElement, _React$Component);\n\n function LinkElement() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LinkElement);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LinkElement.__proto__ || Object.getPrototypeOf(LinkElement)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () {\n return _react2.default.createElement(\n 'a',\n _this.props,\n _this.props.children\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return LinkElement;\n}(_react2.default.Component);\n\n;\n\nexports[\"default\"] = (0, _scrollLink2.default)(LinkElement);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvY29tcG9uZW50cy9MaW5rLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixhQUFhLG1CQUFPLENBQUMsNENBQU87O0FBRTVCOztBQUVBLGtCQUFrQixtQkFBTyxDQUFDLHdGQUF1Qjs7QUFFakQ7O0FBRUEsdUNBQXVDLHVDQUF1Qzs7QUFFOUUsa0RBQWtELDBDQUEwQzs7QUFFNUYsa0RBQWtELGFBQWEseUZBQXlGOztBQUV4SiwyQ0FBMkMsK0RBQStELHVHQUF1Ryx5RUFBeUUsZUFBZSwwRUFBMEUsR0FBRzs7QUFFdFg7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLG9FQUFvRSxhQUFhO0FBQ2pGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQSxrQkFBZSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvY29tcG9uZW50cy9MaW5rLmpzPzRkMjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgX3JlYWN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0KTtcblxudmFyIF9zY3JvbGxMaW5rID0gcmVxdWlyZSgnLi4vbWl4aW5zL3Njcm9sbC1saW5rJyk7XG5cbnZhciBfc2Nyb2xsTGluazIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zY3JvbGxMaW5rKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgTGlua0VsZW1lbnQgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoTGlua0VsZW1lbnQsIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIExpbmtFbGVtZW50KCkge1xuICAgIHZhciBfcmVmO1xuXG4gICAgdmFyIF90ZW1wLCBfdGhpcywgX3JldDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBMaW5rRWxlbWVudCk7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gX3JldCA9IChfdGVtcCA9IChfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfcmVmID0gTGlua0VsZW1lbnQuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihMaW5rRWxlbWVudCkpLmNhbGwuYXBwbHkoX3JlZiwgW3RoaXNdLmNvbmNhdChhcmdzKSkpLCBfdGhpcyksIF90aGlzLnJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfcmVhY3QyLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ2EnLFxuICAgICAgICBfdGhpcy5wcm9wcyxcbiAgICAgICAgX3RoaXMucHJvcHMuY2hpbGRyZW5cbiAgICAgICk7XG4gICAgfSwgX3RlbXApLCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihfdGhpcywgX3JldCk7XG4gIH1cblxuICByZXR1cm4gTGlua0VsZW1lbnQ7XG59KF9yZWFjdDIuZGVmYXVsdC5Db21wb25lbnQpO1xuXG47XG5cbmV4cG9ydHMuZGVmYXVsdCA9ICgwLCBfc2Nyb2xsTGluazIuZGVmYXVsdCkoTGlua0VsZW1lbnQpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/components/Link.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/index.js": -/*!****************************************************!*\ - !*** ./node_modules/react-scroll/modules/index.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined;\n\nvar _Link = __webpack_require__(/*! ./components/Link.js */ \"./node_modules/react-scroll/modules/components/Link.js\");\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nvar _Button = __webpack_require__(/*! ./components/Button.js */ \"./node_modules/react-scroll/modules/components/Button.js\");\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _Element = __webpack_require__(/*! ./components/Element.js */ \"./node_modules/react-scroll/modules/components/Element.js\");\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nvar _scroller = __webpack_require__(/*! ./mixins/scroller.js */ \"./node_modules/react-scroll/modules/mixins/scroller.js\");\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _scrollEvents = __webpack_require__(/*! ./mixins/scroll-events.js */ \"./node_modules/react-scroll/modules/mixins/scroll-events.js\");\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nvar _scrollSpy = __webpack_require__(/*! ./mixins/scroll-spy.js */ \"./node_modules/react-scroll/modules/mixins/scroll-spy.js\");\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _animateScroll = __webpack_require__(/*! ./mixins/animate-scroll.js */ \"./node_modules/react-scroll/modules/mixins/animate-scroll.js\");\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollLink = __webpack_require__(/*! ./mixins/scroll-link.js */ \"./node_modules/react-scroll/modules/mixins/scroll-link.js\");\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nvar _scrollElement = __webpack_require__(/*! ./mixins/scroll-element.js */ \"./node_modules/react-scroll/modules/mixins/scroll-element.js\");\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _Helpers = __webpack_require__(/*! ./mixins/Helpers.js */ \"./node_modules/react-scroll/modules/mixins/Helpers.js\");\n\nvar _Helpers2 = _interopRequireDefault(_Helpers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Link = _Link2.default;\nexports.Button = _Button2.default;\nexports.Element = _Element2.default;\nexports.scroller = _scroller2.default;\nexports.Events = _scrollEvents2.default;\nexports.scrollSpy = _scrollSpy2.default;\nexports.animateScroll = _animateScroll2.default;\nexports.ScrollLink = _scrollLink2.default;\nexports.ScrollElement = _scrollElement2.default;\nexports.Helpers = _Helpers2.default;\nexports[\"default\"] = { Link: _Link2.default, Button: _Button2.default, Element: _Element2.default, scroller: _scroller2.default, Events: _scrollEvents2.default, scrollSpy: _scrollSpy2.default, animateScroll: _animateScroll2.default, ScrollLink: _scrollLink2.default, ScrollElement: _scrollElement2.default, Helpers: _Helpers2.default };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsZUFBZSxHQUFHLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLHFCQUFxQixHQUFHLGlCQUFpQixHQUFHLGNBQWMsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLEdBQUcsY0FBYyxHQUFHLFlBQVk7O0FBRTlMLFlBQVksbUJBQU8sQ0FBQyxvRkFBc0I7O0FBRTFDOztBQUVBLGNBQWMsbUJBQU8sQ0FBQyx3RkFBd0I7O0FBRTlDOztBQUVBLGVBQWUsbUJBQU8sQ0FBQywwRkFBeUI7O0FBRWhEOztBQUVBLGdCQUFnQixtQkFBTyxDQUFDLG9GQUFzQjs7QUFFOUM7O0FBRUEsb0JBQW9CLG1CQUFPLENBQUMsOEZBQTJCOztBQUV2RDs7QUFFQSxpQkFBaUIsbUJBQU8sQ0FBQyx3RkFBd0I7O0FBRWpEOztBQUVBLHFCQUFxQixtQkFBTyxDQUFDLGdHQUE0Qjs7QUFFekQ7O0FBRUEsa0JBQWtCLG1CQUFPLENBQUMsMEZBQXlCOztBQUVuRDs7QUFFQSxxQkFBcUIsbUJBQU8sQ0FBQyxnR0FBNEI7O0FBRXpEOztBQUVBLGVBQWUsbUJBQU8sQ0FBQyxrRkFBcUI7O0FBRTVDOztBQUVBLHVDQUF1Qyx1Q0FBdUM7O0FBRTlFLFlBQVk7QUFDWixjQUFjO0FBQ2QsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsaUJBQWlCO0FBQ2pCLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZixrQkFBZSxLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zY3JvbGwvbW9kdWxlcy9pbmRleC5qcz9hMjRkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuSGVscGVycyA9IGV4cG9ydHMuU2Nyb2xsRWxlbWVudCA9IGV4cG9ydHMuU2Nyb2xsTGluayA9IGV4cG9ydHMuYW5pbWF0ZVNjcm9sbCA9IGV4cG9ydHMuc2Nyb2xsU3B5ID0gZXhwb3J0cy5FdmVudHMgPSBleHBvcnRzLnNjcm9sbGVyID0gZXhwb3J0cy5FbGVtZW50ID0gZXhwb3J0cy5CdXR0b24gPSBleHBvcnRzLkxpbmsgPSB1bmRlZmluZWQ7XG5cbnZhciBfTGluayA9IHJlcXVpcmUoJy4vY29tcG9uZW50cy9MaW5rLmpzJyk7XG5cbnZhciBfTGluazIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9MaW5rKTtcblxudmFyIF9CdXR0b24gPSByZXF1aXJlKCcuL2NvbXBvbmVudHMvQnV0dG9uLmpzJyk7XG5cbnZhciBfQnV0dG9uMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX0J1dHRvbik7XG5cbnZhciBfRWxlbWVudCA9IHJlcXVpcmUoJy4vY29tcG9uZW50cy9FbGVtZW50LmpzJyk7XG5cbnZhciBfRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9FbGVtZW50KTtcblxudmFyIF9zY3JvbGxlciA9IHJlcXVpcmUoJy4vbWl4aW5zL3Njcm9sbGVyLmpzJyk7XG5cbnZhciBfc2Nyb2xsZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsZXIpO1xuXG52YXIgX3Njcm9sbEV2ZW50cyA9IHJlcXVpcmUoJy4vbWl4aW5zL3Njcm9sbC1ldmVudHMuanMnKTtcblxudmFyIF9zY3JvbGxFdmVudHMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsRXZlbnRzKTtcblxudmFyIF9zY3JvbGxTcHkgPSByZXF1aXJlKCcuL21peGlucy9zY3JvbGwtc3B5LmpzJyk7XG5cbnZhciBfc2Nyb2xsU3B5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Njcm9sbFNweSk7XG5cbnZhciBfYW5pbWF0ZVNjcm9sbCA9IHJlcXVpcmUoJy4vbWl4aW5zL2FuaW1hdGUtc2Nyb2xsLmpzJyk7XG5cbnZhciBfYW5pbWF0ZVNjcm9sbDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hbmltYXRlU2Nyb2xsKTtcblxudmFyIF9zY3JvbGxMaW5rID0gcmVxdWlyZSgnLi9taXhpbnMvc2Nyb2xsLWxpbmsuanMnKTtcblxudmFyIF9zY3JvbGxMaW5rMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Njcm9sbExpbmspO1xuXG52YXIgX3Njcm9sbEVsZW1lbnQgPSByZXF1aXJlKCcuL21peGlucy9zY3JvbGwtZWxlbWVudC5qcycpO1xuXG52YXIgX3Njcm9sbEVsZW1lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsRWxlbWVudCk7XG5cbnZhciBfSGVscGVycyA9IHJlcXVpcmUoJy4vbWl4aW5zL0hlbHBlcnMuanMnKTtcblxudmFyIF9IZWxwZXJzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX0hlbHBlcnMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLkxpbmsgPSBfTGluazIuZGVmYXVsdDtcbmV4cG9ydHMuQnV0dG9uID0gX0J1dHRvbjIuZGVmYXVsdDtcbmV4cG9ydHMuRWxlbWVudCA9IF9FbGVtZW50Mi5kZWZhdWx0O1xuZXhwb3J0cy5zY3JvbGxlciA9IF9zY3JvbGxlcjIuZGVmYXVsdDtcbmV4cG9ydHMuRXZlbnRzID0gX3Njcm9sbEV2ZW50czIuZGVmYXVsdDtcbmV4cG9ydHMuc2Nyb2xsU3B5ID0gX3Njcm9sbFNweTIuZGVmYXVsdDtcbmV4cG9ydHMuYW5pbWF0ZVNjcm9sbCA9IF9hbmltYXRlU2Nyb2xsMi5kZWZhdWx0O1xuZXhwb3J0cy5TY3JvbGxMaW5rID0gX3Njcm9sbExpbmsyLmRlZmF1bHQ7XG5leHBvcnRzLlNjcm9sbEVsZW1lbnQgPSBfc2Nyb2xsRWxlbWVudDIuZGVmYXVsdDtcbmV4cG9ydHMuSGVscGVycyA9IF9IZWxwZXJzMi5kZWZhdWx0O1xuZXhwb3J0cy5kZWZhdWx0ID0geyBMaW5rOiBfTGluazIuZGVmYXVsdCwgQnV0dG9uOiBfQnV0dG9uMi5kZWZhdWx0LCBFbGVtZW50OiBfRWxlbWVudDIuZGVmYXVsdCwgc2Nyb2xsZXI6IF9zY3JvbGxlcjIuZGVmYXVsdCwgRXZlbnRzOiBfc2Nyb2xsRXZlbnRzMi5kZWZhdWx0LCBzY3JvbGxTcHk6IF9zY3JvbGxTcHkyLmRlZmF1bHQsIGFuaW1hdGVTY3JvbGw6IF9hbmltYXRlU2Nyb2xsMi5kZWZhdWx0LCBTY3JvbGxMaW5rOiBfc2Nyb2xsTGluazIuZGVmYXVsdCwgU2Nyb2xsRWxlbWVudDogX3Njcm9sbEVsZW1lbnQyLmRlZmF1bHQsIEhlbHBlcnM6IF9IZWxwZXJzMi5kZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/index.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/Helpers.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/Helpers.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\n/* DEPRECATED */\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar ReactDOM = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/react-scroll/modules/mixins/utils.js\");\nvar scrollSpy = __webpack_require__(/*! ./scroll-spy */ \"./node_modules/react-scroll/modules/mixins/scroll-spy.js\");\nvar defaultScroller = __webpack_require__(/*! ./scroller */ \"./node_modules/react-scroll/modules/mixins/scroller.js\");\nvar PropTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\nvar scrollHash = __webpack_require__(/*! ./scroll-hash */ \"./node_modules/react-scroll/modules/mixins/scroll-hash.js\");\n\nvar protoTypes = {\n to: PropTypes.string.isRequired,\n containerId: PropTypes.string,\n container: PropTypes.object,\n activeClass: PropTypes.string,\n spy: PropTypes.bool,\n smooth: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n offset: PropTypes.number,\n delay: PropTypes.number,\n isDynamic: PropTypes.bool,\n onClick: PropTypes.func,\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n absolute: PropTypes.bool,\n onSetActive: PropTypes.func,\n onSetInactive: PropTypes.func,\n ignoreCancelEvents: PropTypes.bool,\n hashSpy: PropTypes.bool,\n spyThrottle: PropTypes.number\n};\n\nvar Helpers = {\n Scroll: function Scroll(Component, customScroller) {\n\n console.warn(\"Helpers.Scroll is deprecated since v1.7.0\");\n\n var scroller = customScroller || defaultScroller;\n\n var Scroll = function (_React$Component) {\n _inherits(Scroll, _React$Component);\n\n function Scroll(props) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!scrollSpy.isMounted(scrollSpyContainer)) {\n scrollSpy.mount(scrollSpyContainer, this.props.spyThrottle);\n }\n\n if (this.props.hashSpy) {\n if (!scrollHash.isMounted()) {\n scrollHash.mount(scroller);\n }\n scrollHash.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n if (this.props.spy) {\n scrollSpy.addStateHandler(this.stateHandler);\n }\n\n scrollSpy.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n scrollSpy.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n\n return React.createElement(Component, props);\n }\n }]);\n\n return Scroll;\n }(React.Component);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n\n /*\r\n * give the posibility to override onClick\r\n */\n\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n\n /*\r\n * dont bubble the navigation\r\n */\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n\n /*\r\n * do the magic!\r\n */\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.stateHandler = function () {\n if (scroller.getActiveLink() !== _this2.props.to) {\n if (_this2.state !== null && _this2.state.active && _this2.props.onSetInactive) {\n _this2.props.onSetInactive();\n }\n _this2.setState({ active: false });\n }\n };\n\n this.spyHandler = function (y) {\n\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (scrollHash.isMounted() && !scrollHash.isInitialized()) {\n return;\n }\n\n var to = _this2.props.to;\n var element = null;\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemTopBound = cords.top - containerTop + y;\n elemBottomBound = elemTopBound + cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && scrollHash.getHash() === to) {\n scrollHash.changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({ active: false });\n _this2.props.onSetInactive && _this2.props.onSetInactive();\n }\n\n return scrollSpy.updateStates();\n }\n\n if (isInside && activeLink !== to) {\n scroller.setActiveLink(to);\n\n _this2.props.hashSpy && scrollHash.changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({ active: true });\n _this2.props.onSetActive && _this2.props.onSetActive(to);\n }\n return scrollSpy.updateStates();\n }\n };\n };\n\n ;\n\n Scroll.propTypes = protoTypes;\n\n Scroll.defaultProps = { offset: 0 };\n\n return Scroll;\n },\n Element: function Element(Component) {\n\n console.warn(\"Helpers.Element is deprecated since v1.7.0\");\n\n var Element = function (_React$Component2) {\n _inherits(Element, _React$Component2);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this3.childBindings = {\n domNode: null\n };\n return _this3;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n defaultScroller.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n defaultScroller.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings }));\n }\n }]);\n\n return Element;\n }(React.Component);\n\n ;\n\n Element.propTypes = {\n name: PropTypes.string,\n id: PropTypes.string\n };\n\n return Element;\n }\n};\n\nmodule.exports = Helpers;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL0hlbHBlcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7O0FBRUEsb0RBQW9ELGdCQUFnQixzQkFBc0IsT0FBTywyQkFBMkIsMEJBQTBCLHlEQUF5RCxpQ0FBaUM7O0FBRWhQLGlDQUFpQywyQ0FBMkMsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHVEQUF1RCwrREFBK0QseURBQXlELHFFQUFxRSw2REFBNkQsd0JBQXdCOztBQUVqakIsa0RBQWtELDBDQUEwQzs7QUFFNUYsa0RBQWtELGFBQWEseUZBQXlGOztBQUV4SiwyQ0FBMkMsK0RBQStELHVHQUF1Ryx5RUFBeUUsZUFBZSwwRUFBMEUsR0FBRzs7QUFFdFgsWUFBWSxtQkFBTyxDQUFDLDRDQUFPO0FBQzNCLGVBQWUsbUJBQU8sQ0FBQyxvREFBVzs7QUFFbEMsWUFBWSxtQkFBTyxDQUFDLG9FQUFTO0FBQzdCLGdCQUFnQixtQkFBTyxDQUFDLDhFQUFjO0FBQ3RDLHNCQUFzQixtQkFBTyxDQUFDLDBFQUFZO0FBQzFDLGdCQUFnQixtQkFBTyxDQUFDLHNEQUFZO0FBQ3BDLGlCQUFpQixtQkFBTyxDQUFDLGdGQUFlOztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0EseUNBQXlDO0FBQ3pDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGVBQWU7QUFDM0M7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhCQUE4QixlQUFlO0FBQzdDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsOEJBQThCLGNBQWM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLDRCQUE0Qjs7QUFFNUI7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLDJEQUEyRCxnQkFBZ0Isb0NBQW9DO0FBQy9HO0FBQ0EsT0FBTzs7QUFFUDtBQUNBLEtBQUs7O0FBRUw7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zY3JvbGwvbW9kdWxlcy9taXhpbnMvSGVscGVycy5qcz8zYjk0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKiBERVBSRUNBVEVEICovXG5cbnZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07XG5cbnZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcbnZhciBSZWFjdERPTSA9IHJlcXVpcmUoJ3JlYWN0LWRvbScpO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7XG52YXIgc2Nyb2xsU3B5ID0gcmVxdWlyZSgnLi9zY3JvbGwtc3B5Jyk7XG52YXIgZGVmYXVsdFNjcm9sbGVyID0gcmVxdWlyZSgnLi9zY3JvbGxlcicpO1xudmFyIFByb3BUeXBlcyA9IHJlcXVpcmUoJ3Byb3AtdHlwZXMnKTtcbnZhciBzY3JvbGxIYXNoID0gcmVxdWlyZSgnLi9zY3JvbGwtaGFzaCcpO1xuXG52YXIgcHJvdG9UeXBlcyA9IHtcbiAgdG86IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY29udGFpbmVySWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNvbnRhaW5lcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgYWN0aXZlQ2xhc3M6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNweTogUHJvcFR5cGVzLmJvb2wsXG4gIHNtb290aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgb2Zmc2V0OiBQcm9wVHlwZXMubnVtYmVyLFxuICBkZWxheTogUHJvcFR5cGVzLm51bWJlcixcbiAgaXNEeW5hbWljOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIGR1cmF0aW9uOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuZnVuY10pLFxuICBhYnNvbHV0ZTogUHJvcFR5cGVzLmJvb2wsXG4gIG9uU2V0QWN0aXZlOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25TZXRJbmFjdGl2ZTogUHJvcFR5cGVzLmZ1bmMsXG4gIGlnbm9yZUNhbmNlbEV2ZW50czogUHJvcFR5cGVzLmJvb2wsXG4gIGhhc2hTcHk6IFByb3BUeXBlcy5ib29sLFxuICBzcHlUaHJvdHRsZTogUHJvcFR5cGVzLm51bWJlclxufTtcblxudmFyIEhlbHBlcnMgPSB7XG4gIFNjcm9sbDogZnVuY3Rpb24gU2Nyb2xsKENvbXBvbmVudCwgY3VzdG9tU2Nyb2xsZXIpIHtcblxuICAgIGNvbnNvbGUud2FybihcIkhlbHBlcnMuU2Nyb2xsIGlzIGRlcHJlY2F0ZWQgc2luY2UgdjEuNy4wXCIpO1xuXG4gICAgdmFyIHNjcm9sbGVyID0gY3VzdG9tU2Nyb2xsZXIgfHwgZGVmYXVsdFNjcm9sbGVyO1xuXG4gICAgdmFyIFNjcm9sbCA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gICAgICBfaW5oZXJpdHMoU2Nyb2xsLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICAgICAgZnVuY3Rpb24gU2Nyb2xsKHByb3BzKSB7XG4gICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTY3JvbGwpO1xuXG4gICAgICAgIHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChTY3JvbGwuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihTY3JvbGwpKS5jYWxsKHRoaXMsIHByb3BzKSk7XG5cbiAgICAgICAgX2luaXRpYWxpc2VQcm9wcy5jYWxsKF90aGlzKTtcblxuICAgICAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICBhY3RpdmU6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICAgIH1cblxuICAgICAgX2NyZWF0ZUNsYXNzKFNjcm9sbCwgW3tcbiAgICAgICAga2V5OiAnZ2V0U2Nyb2xsU3B5Q29udGFpbmVyJyxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGdldFNjcm9sbFNweUNvbnRhaW5lcigpIHtcbiAgICAgICAgICB2YXIgY29udGFpbmVySWQgPSB0aGlzLnByb3BzLmNvbnRhaW5lcklkO1xuICAgICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLnByb3BzLmNvbnRhaW5lcjtcblxuICAgICAgICAgIGlmIChjb250YWluZXJJZCkge1xuICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29udGFpbmVyICYmIGNvbnRhaW5lci5ub2RlVHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZG9jdW1lbnQ7XG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAga2V5OiAnY29tcG9uZW50RGlkTW91bnQnLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMuc3B5IHx8IHRoaXMucHJvcHMuaGFzaFNweSkge1xuICAgICAgICAgICAgdmFyIHNjcm9sbFNweUNvbnRhaW5lciA9IHRoaXMuZ2V0U2Nyb2xsU3B5Q29udGFpbmVyKCk7XG5cbiAgICAgICAgICAgIGlmICghc2Nyb2xsU3B5LmlzTW91bnRlZChzY3JvbGxTcHlDb250YWluZXIpKSB7XG4gICAgICAgICAgICAgIHNjcm9sbFNweS5tb3VudChzY3JvbGxTcHlDb250YWluZXIsIHRoaXMucHJvcHMuc3B5VGhyb3R0bGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5oYXNoU3B5KSB7XG4gICAgICAgICAgICAgIGlmICghc2Nyb2xsSGFzaC5pc01vdW50ZWQoKSkge1xuICAgICAgICAgICAgICAgIHNjcm9sbEhhc2gubW91bnQoc2Nyb2xsZXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNjcm9sbEhhc2gubWFwQ29udGFpbmVyKHRoaXMucHJvcHMudG8sIHNjcm9sbFNweUNvbnRhaW5lcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnNweSkge1xuICAgICAgICAgICAgICBzY3JvbGxTcHkuYWRkU3RhdGVIYW5kbGVyKHRoaXMuc3RhdGVIYW5kbGVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2Nyb2xsU3B5LmFkZFNweUhhbmRsZXIodGhpcy5zcHlIYW5kbGVyLCBzY3JvbGxTcHlDb250YWluZXIpO1xuXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgY29udGFpbmVyOiBzY3JvbGxTcHlDb250YWluZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICBrZXk6ICdjb21wb25lbnRXaWxsVW5tb3VudCcsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgICAgICBzY3JvbGxTcHkudW5tb3VudCh0aGlzLnN0YXRlSGFuZGxlciwgdGhpcy5zcHlIYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICBrZXk6ICdyZW5kZXInLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgICAgIHZhciBjbGFzc05hbWUgPSBcIlwiO1xuXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUgJiYgdGhpcy5zdGF0ZS5hY3RpdmUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZSA9ICgodGhpcy5wcm9wcy5jbGFzc05hbWUgfHwgXCJcIikgKyBcIiBcIiArICh0aGlzLnByb3BzLmFjdGl2ZUNsYXNzIHx8IFwiYWN0aXZlXCIpKS50cmltKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBwcm9wcyA9IF9leHRlbmRzKHt9LCB0aGlzLnByb3BzKTtcblxuICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gcHJvdG9UeXBlcykge1xuICAgICAgICAgICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICAgICAgICAgIGRlbGV0ZSBwcm9wc1twcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwcm9wcy5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICAgICAgcHJvcHMub25DbGljayA9IHRoaXMuaGFuZGxlQ2xpY2s7XG5cbiAgICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIHByb3BzKTtcbiAgICAgICAgfVxuICAgICAgfV0pO1xuXG4gICAgICByZXR1cm4gU2Nyb2xsO1xuICAgIH0oUmVhY3QuQ29tcG9uZW50KTtcblxuICAgIHZhciBfaW5pdGlhbGlzZVByb3BzID0gZnVuY3Rpb24gX2luaXRpYWxpc2VQcm9wcygpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICB0aGlzLnNjcm9sbFRvID0gZnVuY3Rpb24gKHRvLCBwcm9wcykge1xuICAgICAgICBzY3JvbGxlci5zY3JvbGxUbyh0bywgX2V4dGVuZHMoe30sIF90aGlzMi5zdGF0ZSwgcHJvcHMpKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuaGFuZGxlQ2xpY2sgPSBmdW5jdGlvbiAoZXZlbnQpIHtcblxuICAgICAgICAvKlxyXG4gICAgICAgICAqIGdpdmUgdGhlIHBvc2liaWxpdHkgdG8gb3ZlcnJpZGUgb25DbGlja1xyXG4gICAgICAgICAqL1xuXG4gICAgICAgIGlmIChfdGhpczIucHJvcHMub25DbGljaykge1xuICAgICAgICAgIF90aGlzMi5wcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogZG9udCBidWJibGUgdGhlIG5hdmlnYXRpb25cclxuICAgICAgICAgKi9cblxuICAgICAgICBpZiAoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogZG8gdGhlIG1hZ2ljIVxyXG4gICAgICAgICAqL1xuICAgICAgICBfdGhpczIuc2Nyb2xsVG8oX3RoaXMyLnByb3BzLnRvLCBfdGhpczIucHJvcHMpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5zdGF0ZUhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChzY3JvbGxlci5nZXRBY3RpdmVMaW5rKCkgIT09IF90aGlzMi5wcm9wcy50bykge1xuICAgICAgICAgIGlmIChfdGhpczIuc3RhdGUgIT09IG51bGwgJiYgX3RoaXMyLnN0YXRlLmFjdGl2ZSAmJiBfdGhpczIucHJvcHMub25TZXRJbmFjdGl2ZSkge1xuICAgICAgICAgICAgX3RoaXMyLnByb3BzLm9uU2V0SW5hY3RpdmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgX3RoaXMyLnNldFN0YXRlKHsgYWN0aXZlOiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdGhpcy5zcHlIYW5kbGVyID0gZnVuY3Rpb24gKHkpIHtcblxuICAgICAgICB2YXIgc2Nyb2xsU3B5Q29udGFpbmVyID0gX3RoaXMyLmdldFNjcm9sbFNweUNvbnRhaW5lcigpO1xuXG4gICAgICAgIGlmIChzY3JvbGxIYXNoLmlzTW91bnRlZCgpICYmICFzY3JvbGxIYXNoLmlzSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB0byA9IF90aGlzMi5wcm9wcy50bztcbiAgICAgICAgdmFyIGVsZW1lbnQgPSBudWxsO1xuICAgICAgICB2YXIgZWxlbVRvcEJvdW5kID0gMDtcbiAgICAgICAgdmFyIGVsZW1Cb3R0b21Cb3VuZCA9IDA7XG4gICAgICAgIHZhciBjb250YWluZXJUb3AgPSAwO1xuXG4gICAgICAgIGlmIChzY3JvbGxTcHlDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lckNvcmRzID0gc2Nyb2xsU3B5Q29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnRhaW5lclRvcCA9IGNvbnRhaW5lckNvcmRzLnRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZWxlbWVudCB8fCBfdGhpczIucHJvcHMuaXNEeW5hbWljKSB7XG4gICAgICAgICAgZWxlbWVudCA9IHNjcm9sbGVyLmdldCh0byk7XG4gICAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGNvcmRzID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICBlbGVtVG9wQm91bmQgPSBjb3Jkcy50b3AgLSBjb250YWluZXJUb3AgKyB5O1xuICAgICAgICAgIGVsZW1Cb3R0b21Cb3VuZCA9IGVsZW1Ub3BCb3VuZCArIGNvcmRzLmhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBvZmZzZXRZID0geSAtIF90aGlzMi5wcm9wcy5vZmZzZXQ7XG4gICAgICAgIHZhciBpc0luc2lkZSA9IG9mZnNldFkgPj0gTWF0aC5mbG9vcihlbGVtVG9wQm91bmQpICYmIG9mZnNldFkgPCBNYXRoLmZsb29yKGVsZW1Cb3R0b21Cb3VuZCk7XG4gICAgICAgIHZhciBpc091dHNpZGUgPSBvZmZzZXRZIDwgTWF0aC5mbG9vcihlbGVtVG9wQm91bmQpIHx8IG9mZnNldFkgPj0gTWF0aC5mbG9vcihlbGVtQm90dG9tQm91bmQpO1xuICAgICAgICB2YXIgYWN0aXZlTGluayA9IHNjcm9sbGVyLmdldEFjdGl2ZUxpbmsoKTtcblxuICAgICAgICBpZiAoaXNPdXRzaWRlKSB7XG4gICAgICAgICAgaWYgKHRvID09PSBhY3RpdmVMaW5rKSB7XG4gICAgICAgICAgICBzY3JvbGxlci5zZXRBY3RpdmVMaW5rKHZvaWQgMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKF90aGlzMi5wcm9wcy5oYXNoU3B5ICYmIHNjcm9sbEhhc2guZ2V0SGFzaCgpID09PSB0bykge1xuICAgICAgICAgICAgc2Nyb2xsSGFzaC5jaGFuZ2VIYXNoKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKF90aGlzMi5wcm9wcy5zcHkgJiYgX3RoaXMyLnN0YXRlLmFjdGl2ZSkge1xuICAgICAgICAgICAgX3RoaXMyLnNldFN0YXRlKHsgYWN0aXZlOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIF90aGlzMi5wcm9wcy5vblNldEluYWN0aXZlICYmIF90aGlzMi5wcm9wcy5vblNldEluYWN0aXZlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHNjcm9sbFNweS51cGRhdGVTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0luc2lkZSAmJiBhY3RpdmVMaW5rICE9PSB0bykge1xuICAgICAgICAgIHNjcm9sbGVyLnNldEFjdGl2ZUxpbmsodG8pO1xuXG4gICAgICAgICAgX3RoaXMyLnByb3BzLmhhc2hTcHkgJiYgc2Nyb2xsSGFzaC5jaGFuZ2VIYXNoKHRvKTtcblxuICAgICAgICAgIGlmIChfdGhpczIucHJvcHMuc3B5KSB7XG4gICAgICAgICAgICBfdGhpczIuc2V0U3RhdGUoeyBhY3RpdmU6IHRydWUgfSk7XG4gICAgICAgICAgICBfdGhpczIucHJvcHMub25TZXRBY3RpdmUgJiYgX3RoaXMyLnByb3BzLm9uU2V0QWN0aXZlKHRvKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNjcm9sbFNweS51cGRhdGVTdGF0ZXMoKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgO1xuXG4gICAgU2Nyb2xsLnByb3BUeXBlcyA9IHByb3RvVHlwZXM7XG5cbiAgICBTY3JvbGwuZGVmYXVsdFByb3BzID0geyBvZmZzZXQ6IDAgfTtcblxuICAgIHJldHVybiBTY3JvbGw7XG4gIH0sXG4gIEVsZW1lbnQ6IGZ1bmN0aW9uIEVsZW1lbnQoQ29tcG9uZW50KSB7XG5cbiAgICBjb25zb2xlLndhcm4oXCJIZWxwZXJzLkVsZW1lbnQgaXMgZGVwcmVjYXRlZCBzaW5jZSB2MS43LjBcIik7XG5cbiAgICB2YXIgRWxlbWVudCA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50Mikge1xuICAgICAgX2luaGVyaXRzKEVsZW1lbnQsIF9SZWFjdCRDb21wb25lbnQyKTtcblxuICAgICAgZnVuY3Rpb24gRWxlbWVudChwcm9wcykge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWxlbWVudCk7XG5cbiAgICAgICAgdmFyIF90aGlzMyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChFbGVtZW50Ll9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoRWxlbWVudCkpLmNhbGwodGhpcywgcHJvcHMpKTtcblxuICAgICAgICBfdGhpczMuY2hpbGRCaW5kaW5ncyA9IHtcbiAgICAgICAgICBkb21Ob2RlOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBfdGhpczM7XG4gICAgICB9XG5cbiAgICAgIF9jcmVhdGVDbGFzcyhFbGVtZW50LCBbe1xuICAgICAgICBrZXk6ICdjb21wb25lbnREaWRNb3VudCcsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5yZWdpc3RlckVsZW1zKHRoaXMucHJvcHMubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAga2V5OiAnY29tcG9uZW50RGlkVXBkYXRlJyxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5uYW1lICE9PSBwcmV2UHJvcHMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckVsZW1zKHRoaXMucHJvcHMubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCB7XG4gICAgICAgIGtleTogJ2NvbXBvbmVudFdpbGxVbm1vdW50JyxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWZhdWx0U2Nyb2xsZXIudW5yZWdpc3Rlcih0aGlzLnByb3BzLm5hbWUpO1xuICAgICAgICB9XG4gICAgICB9LCB7XG4gICAgICAgIGtleTogJ3JlZ2lzdGVyRWxlbXMnLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gcmVnaXN0ZXJFbGVtcyhuYW1lKSB7XG4gICAgICAgICAgZGVmYXVsdFNjcm9sbGVyLnJlZ2lzdGVyKG5hbWUsIHRoaXMuY2hpbGRCaW5kaW5ncy5kb21Ob2RlKTtcbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICBrZXk6ICdyZW5kZXInLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHsgcGFyZW50QmluZGluZ3M6IHRoaXMuY2hpbGRCaW5kaW5ncyB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1dKTtcblxuICAgICAgcmV0dXJuIEVsZW1lbnQ7XG4gICAgfShSZWFjdC5Db21wb25lbnQpO1xuXG4gICAgO1xuXG4gICAgRWxlbWVudC5wcm9wVHlwZXMgPSB7XG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgaWQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgICB9O1xuXG4gICAgcmV0dXJuIEVsZW1lbnQ7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gSGVscGVyczsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/Helpers.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/animate-scroll.js": -/*!********************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/animate-scroll.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./node_modules/react-scroll/modules/mixins/utils.js\");\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = __webpack_require__(/*! ./smooth */ \"./node_modules/react-scroll/modules/mixins/smooth.js\");\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = __webpack_require__(/*! ./cancel-events */ \"./node_modules/react-scroll/modules/mixins/cancel-events.js\");\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = __webpack_require__(/*! ./scroll-events */ \"./node_modules/react-scroll/modules/mixins/scroll-events.js\");\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\nvar getAnimationType = function getAnimationType(options) {\n return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\nvar functionWrapper = function functionWrapper(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\nvar currentWindowProperties = function currentWindowProperties() {\n if (typeof window !== 'undefined') {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n }\n};\n\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\nvar requestAnimationFrameHelper = function () {\n return currentWindowProperties() || function (callback, element, delay) {\n window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n };\n}();\n\nvar makeData = function makeData() {\n return {\n currentPosition: 0,\n startPosition: 0,\n targetPosition: 0,\n progress: 0,\n duration: 0,\n cancel: false,\n\n target: null,\n containerElement: null,\n to: null,\n start: null,\n delta: null,\n percent: null,\n delayTimeout: null\n };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollLeft;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollTop;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollWidth - containerElement.offsetWidth;\n } else {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n var data = options.data;\n\n // Cancel on specific events\n if (!options.ignoreCancelEvents && data.cancel) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n }\n return;\n };\n\n data.delta = Math.round(data.targetPosition - data.startPosition);\n\n if (data.start === null) {\n data.start = timestamp;\n }\n\n data.progress = timestamp - data.start;\n\n data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n\n data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n if (options.horizontal) {\n data.containerElement.scrollLeft = data.currentPosition;\n } else {\n data.containerElement.scrollTop = data.currentPosition;\n }\n } else {\n if (options.horizontal) {\n window.scrollTo(data.currentPosition, 0);\n } else {\n window.scrollTo(0, data.currentPosition);\n }\n }\n\n if (data.percent < 1) {\n var easedAnimate = animateScroll.bind(null, easing, options);\n requestAnimationFrameHelper.call(window, easedAnimate);\n return;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n }\n};\n\nvar setContainer = function setContainer(options) {\n options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n options.data = options.data || makeData();\n\n window.clearTimeout(options.data.delayTimeout);\n\n _cancelEvents2.default.subscribe(function () {\n options.data.cancel = true;\n });\n\n setContainer(options);\n\n options.data.start = null;\n options.data.cancel = false;\n options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n if (options.data.startPosition === options.data.targetPosition) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n }\n return;\n }\n\n options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n\n options.data.duration = functionWrapper(options.duration)(options.data.delta);\n options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n options.data.to = to;\n options.data.target = target;\n\n var easing = getAnimationType(options);\n var easedAnimate = animateScroll.bind(null, easing, options);\n\n if (options && options.delay > 0) {\n options.data.delayTimeout = window.setTimeout(function () {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n requestAnimationFrameHelper.call(window, easedAnimate);\n }, options.delay);\n return;\n }\n\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n options = _extends({}, options);\n options.data = options.data || makeData();\n options.absolute = true;\n return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n options = proceedOptions(options);\n setContainer(options);\n animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n options = proceedOptions(options);\n setContainer(options);\n var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports[\"default\"] = {\n animateTopScroll: animateTopScroll,\n getAnimationType: getAnimationType,\n scrollToTop: scrollToTop,\n scrollToBottom: scrollToBottom,\n scrollTo: scrollTo,\n scrollMore: scrollMore\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL2FuaW1hdGUtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixvREFBb0QsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELGlDQUFpQzs7QUFFaFAsYUFBYSxtQkFBTyxDQUFDLG9FQUFTOztBQUU5Qjs7QUFFQSxjQUFjLG1CQUFPLENBQUMsc0VBQVU7O0FBRWhDOztBQUVBLG9CQUFvQixtQkFBTyxDQUFDLG9GQUFpQjs7QUFFN0M7O0FBRUEsb0JBQW9CLG1CQUFPLENBQUMsb0ZBQWlCOztBQUU3Qzs7QUFFQSx1Q0FBdUMsdUNBQXVDOztBQUU5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNjcm9sbC9tb2R1bGVzL21peGlucy9hbmltYXRlLXNjcm9sbC5qcz9iZjUzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxudmFyIF91dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcblxudmFyIF91dGlsczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF91dGlscyk7XG5cbnZhciBfc21vb3RoID0gcmVxdWlyZSgnLi9zbW9vdGgnKTtcblxudmFyIF9zbW9vdGgyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc21vb3RoKTtcblxudmFyIF9jYW5jZWxFdmVudHMgPSByZXF1aXJlKCcuL2NhbmNlbC1ldmVudHMnKTtcblxudmFyIF9jYW5jZWxFdmVudHMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2FuY2VsRXZlbnRzKTtcblxudmFyIF9zY3JvbGxFdmVudHMgPSByZXF1aXJlKCcuL3Njcm9sbC1ldmVudHMnKTtcblxudmFyIF9zY3JvbGxFdmVudHMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsRXZlbnRzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLypcclxuICogR2V0cyB0aGUgZWFzaW5nIHR5cGUgZnJvbSB0aGUgc21vb3RoIHByb3Agd2l0aGluIG9wdGlvbnMuXHJcbiAqL1xudmFyIGdldEFuaW1hdGlvblR5cGUgPSBmdW5jdGlvbiBnZXRBbmltYXRpb25UeXBlKG9wdGlvbnMpIHtcbiAgcmV0dXJuIF9zbW9vdGgyLmRlZmF1bHRbb3B0aW9ucy5zbW9vdGhdIHx8IF9zbW9vdGgyLmRlZmF1bHQuZGVmYXVsdEVhc2luZztcbn07XG4vKlxyXG4gKiBGdW5jdGlvbiBoZWxwZXJcclxuICovXG52YXIgZnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gZnVuY3Rpb25XcmFwcGVyKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyB2YWx1ZSA6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG59O1xuLypcclxuICogV3JhcHMgd2luZG93IHByb3BlcnRpZXMgdG8gYWxsb3cgc2VydmVyIHNpZGUgcmVuZGVyaW5nXHJcbiAqL1xudmFyIGN1cnJlbnRXaW5kb3dQcm9wZXJ0aWVzID0gZnVuY3Rpb24gY3VycmVudFdpbmRvd1Byb3BlcnRpZXMoKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XG4gIH1cbn07XG5cbi8qXHJcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBuZXZlciBleHRlbmQgNjBmcHMgb24gdGhlIHdlYnBhZ2UuXHJcbiAqL1xudmFyIHJlcXVlc3RBbmltYXRpb25GcmFtZUhlbHBlciA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGN1cnJlbnRXaW5kb3dQcm9wZXJ0aWVzKCkgfHwgZnVuY3Rpb24gKGNhbGxiYWNrLCBlbGVtZW50LCBkZWxheSkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCBkZWxheSB8fCAxMDAwIC8gNjAsIG5ldyBEYXRlKCkuZ2V0VGltZSgpKTtcbiAgfTtcbn0oKTtcblxudmFyIG1ha2VEYXRhID0gZnVuY3Rpb24gbWFrZURhdGEoKSB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudFBvc2l0aW9uOiAwLFxuICAgIHN0YXJ0UG9zaXRpb246IDAsXG4gICAgdGFyZ2V0UG9zaXRpb246IDAsXG4gICAgcHJvZ3Jlc3M6IDAsXG4gICAgZHVyYXRpb246IDAsXG4gICAgY2FuY2VsOiBmYWxzZSxcblxuICAgIHRhcmdldDogbnVsbCxcbiAgICBjb250YWluZXJFbGVtZW50OiBudWxsLFxuICAgIHRvOiBudWxsLFxuICAgIHN0YXJ0OiBudWxsLFxuICAgIGRlbHRhOiBudWxsLFxuICAgIHBlcmNlbnQ6IG51bGwsXG4gICAgZGVsYXlUaW1lb3V0OiBudWxsXG4gIH07XG59O1xuXG52YXIgY3VycmVudFBvc2l0aW9uWCA9IGZ1bmN0aW9uIGN1cnJlbnRQb3NpdGlvblgob3B0aW9ucykge1xuICB2YXIgY29udGFpbmVyRWxlbWVudCA9IG9wdGlvbnMuZGF0YS5jb250YWluZXJFbGVtZW50O1xuICBpZiAoY29udGFpbmVyRWxlbWVudCAmJiBjb250YWluZXJFbGVtZW50ICE9PSBkb2N1bWVudCAmJiBjb250YWluZXJFbGVtZW50ICE9PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lckVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3VwcG9ydFBhZ2VPZmZzZXQgPSB3aW5kb3cucGFnZVhPZmZzZXQgIT09IHVuZGVmaW5lZDtcbiAgICB2YXIgaXNDU1MxQ29tcGF0ID0gKGRvY3VtZW50LmNvbXBhdE1vZGUgfHwgXCJcIikgPT09IFwiQ1NTMUNvbXBhdFwiO1xuICAgIHJldHVybiBzdXBwb3J0UGFnZU9mZnNldCA/IHdpbmRvdy5wYWdlWE9mZnNldCA6IGlzQ1NTMUNvbXBhdCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O1xuICB9XG59O1xuXG52YXIgY3VycmVudFBvc2l0aW9uWSA9IGZ1bmN0aW9uIGN1cnJlbnRQb3NpdGlvblkob3B0aW9ucykge1xuICB2YXIgY29udGFpbmVyRWxlbWVudCA9IG9wdGlvbnMuZGF0YS5jb250YWluZXJFbGVtZW50O1xuICBpZiAoY29udGFpbmVyRWxlbWVudCAmJiBjb250YWluZXJFbGVtZW50ICE9PSBkb2N1bWVudCAmJiBjb250YWluZXJFbGVtZW50ICE9PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lckVsZW1lbnQuc2Nyb2xsVG9wO1xuICB9IGVsc2Uge1xuICAgIHZhciBzdXBwb3J0UGFnZU9mZnNldCA9IHdpbmRvdy5wYWdlWE9mZnNldCAhPT0gdW5kZWZpbmVkO1xuICAgIHZhciBpc0NTUzFDb21wYXQgPSAoZG9jdW1lbnQuY29tcGF0TW9kZSB8fCBcIlwiKSA9PT0gXCJDU1MxQ29tcGF0XCI7XG4gICAgcmV0dXJuIHN1cHBvcnRQYWdlT2Zmc2V0ID8gd2luZG93LnBhZ2VZT2Zmc2V0IDogaXNDU1MxQ29tcGF0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuICB9XG59O1xuXG52YXIgc2Nyb2xsQ29udGFpbmVyV2lkdGggPSBmdW5jdGlvbiBzY3JvbGxDb250YWluZXJXaWR0aChvcHRpb25zKSB7XG4gIHZhciBjb250YWluZXJFbGVtZW50ID0gb3B0aW9ucy5kYXRhLmNvbnRhaW5lckVsZW1lbnQ7XG4gIGlmIChjb250YWluZXJFbGVtZW50ICYmIGNvbnRhaW5lckVsZW1lbnQgIT09IGRvY3VtZW50ICYmIGNvbnRhaW5lckVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICByZXR1cm4gY29udGFpbmVyRWxlbWVudC5zY3JvbGxXaWR0aCAtIGNvbnRhaW5lckVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICAgIHZhciBodG1sID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXG4gICAgcmV0dXJuIE1hdGgubWF4KGJvZHkuc2Nyb2xsV2lkdGgsIGJvZHkub2Zmc2V0V2lkdGgsIGh0bWwuY2xpZW50V2lkdGgsIGh0bWwuc2Nyb2xsV2lkdGgsIGh0bWwub2Zmc2V0V2lkdGgpO1xuICB9XG59O1xuXG52YXIgc2Nyb2xsQ29udGFpbmVySGVpZ2h0ID0gZnVuY3Rpb24gc2Nyb2xsQ29udGFpbmVySGVpZ2h0KG9wdGlvbnMpIHtcbiAgdmFyIGNvbnRhaW5lckVsZW1lbnQgPSBvcHRpb25zLmRhdGEuY29udGFpbmVyRWxlbWVudDtcbiAgaWYgKGNvbnRhaW5lckVsZW1lbnQgJiYgY29udGFpbmVyRWxlbWVudCAhPT0gZG9jdW1lbnQgJiYgY29udGFpbmVyRWxlbWVudCAhPT0gZG9jdW1lbnQuYm9keSkge1xuICAgIHJldHVybiBjb250YWluZXJFbGVtZW50LnNjcm9sbEhlaWdodCAtIGNvbnRhaW5lckVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICB9IGVsc2Uge1xuICAgIHZhciBib2R5ID0gZG9jdW1lbnQuYm9keTtcbiAgICB2YXIgaHRtbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuICAgIHJldHVybiBNYXRoLm1heChib2R5LnNjcm9sbEhlaWdodCwgYm9keS5vZmZzZXRIZWlnaHQsIGh0bWwuY2xpZW50SGVpZ2h0LCBodG1sLnNjcm9sbEhlaWdodCwgaHRtbC5vZmZzZXRIZWlnaHQpO1xuICB9XG59O1xuXG52YXIgYW5pbWF0ZVNjcm9sbCA9IGZ1bmN0aW9uIGFuaW1hdGVTY3JvbGwoZWFzaW5nLCBvcHRpb25zLCB0aW1lc3RhbXApIHtcbiAgdmFyIGRhdGEgPSBvcHRpb25zLmRhdGE7XG5cbiAgLy8gQ2FuY2VsIG9uIHNwZWNpZmljIGV2ZW50c1xuICBpZiAoIW9wdGlvbnMuaWdub3JlQ2FuY2VsRXZlbnRzICYmIGRhdGEuY2FuY2VsKSB7XG4gICAgaWYgKF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnZW5kJ10pIHtcbiAgICAgIF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnZW5kJ10oZGF0YS50bywgZGF0YS50YXJnZXQsIGRhdGEuY3VycmVudFBvc2l0aW9uWSk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfTtcblxuICBkYXRhLmRlbHRhID0gTWF0aC5yb3VuZChkYXRhLnRhcmdldFBvc2l0aW9uIC0gZGF0YS5zdGFydFBvc2l0aW9uKTtcblxuICBpZiAoZGF0YS5zdGFydCA9PT0gbnVsbCkge1xuICAgIGRhdGEuc3RhcnQgPSB0aW1lc3RhbXA7XG4gIH1cblxuICBkYXRhLnByb2dyZXNzID0gdGltZXN0YW1wIC0gZGF0YS5zdGFydDtcblxuICBkYXRhLnBlcmNlbnQgPSBkYXRhLnByb2dyZXNzID49IGRhdGEuZHVyYXRpb24gPyAxIDogZWFzaW5nKGRhdGEucHJvZ3Jlc3MgLyBkYXRhLmR1cmF0aW9uKTtcblxuICBkYXRhLmN1cnJlbnRQb3NpdGlvbiA9IGRhdGEuc3RhcnRQb3NpdGlvbiArIE1hdGguY2VpbChkYXRhLmRlbHRhICogZGF0YS5wZXJjZW50KTtcblxuICBpZiAoZGF0YS5jb250YWluZXJFbGVtZW50ICYmIGRhdGEuY29udGFpbmVyRWxlbWVudCAhPT0gZG9jdW1lbnQgJiYgZGF0YS5jb250YWluZXJFbGVtZW50ICE9PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgaWYgKG9wdGlvbnMuaG9yaXpvbnRhbCkge1xuICAgICAgZGF0YS5jb250YWluZXJFbGVtZW50LnNjcm9sbExlZnQgPSBkYXRhLmN1cnJlbnRQb3NpdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0YS5jb250YWluZXJFbGVtZW50LnNjcm9sbFRvcCA9IGRhdGEuY3VycmVudFBvc2l0aW9uO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAob3B0aW9ucy5ob3Jpem9udGFsKSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oZGF0YS5jdXJyZW50UG9zaXRpb24sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgZGF0YS5jdXJyZW50UG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkYXRhLnBlcmNlbnQgPCAxKSB7XG4gICAgdmFyIGVhc2VkQW5pbWF0ZSA9IGFuaW1hdGVTY3JvbGwuYmluZChudWxsLCBlYXNpbmcsIG9wdGlvbnMpO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZUhlbHBlci5jYWxsKHdpbmRvdywgZWFzZWRBbmltYXRlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoX3Njcm9sbEV2ZW50czIuZGVmYXVsdC5yZWdpc3RlcmVkWydlbmQnXSkge1xuICAgIF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnZW5kJ10oZGF0YS50bywgZGF0YS50YXJnZXQsIGRhdGEuY3VycmVudFBvc2l0aW9uKTtcbiAgfVxufTtcblxudmFyIHNldENvbnRhaW5lciA9IGZ1bmN0aW9uIHNldENvbnRhaW5lcihvcHRpb25zKSB7XG4gIG9wdGlvbnMuZGF0YS5jb250YWluZXJFbGVtZW50ID0gIW9wdGlvbnMgPyBudWxsIDogb3B0aW9ucy5jb250YWluZXJJZCA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9wdGlvbnMuY29udGFpbmVySWQpIDogb3B0aW9ucy5jb250YWluZXIgJiYgb3B0aW9ucy5jb250YWluZXIubm9kZVR5cGUgPyBvcHRpb25zLmNvbnRhaW5lciA6IGRvY3VtZW50O1xufTtcblxudmFyIGFuaW1hdGVUb3BTY3JvbGwgPSBmdW5jdGlvbiBhbmltYXRlVG9wU2Nyb2xsKHNjcm9sbE9mZnNldCwgb3B0aW9ucywgdG8sIHRhcmdldCkge1xuICBvcHRpb25zLmRhdGEgPSBvcHRpb25zLmRhdGEgfHwgbWFrZURhdGEoKTtcblxuICB3aW5kb3cuY2xlYXJUaW1lb3V0KG9wdGlvbnMuZGF0YS5kZWxheVRpbWVvdXQpO1xuXG4gIF9jYW5jZWxFdmVudHMyLmRlZmF1bHQuc3Vic2NyaWJlKGZ1bmN0aW9uICgpIHtcbiAgICBvcHRpb25zLmRhdGEuY2FuY2VsID0gdHJ1ZTtcbiAgfSk7XG5cbiAgc2V0Q29udGFpbmVyKG9wdGlvbnMpO1xuXG4gIG9wdGlvbnMuZGF0YS5zdGFydCA9IG51bGw7XG4gIG9wdGlvbnMuZGF0YS5jYW5jZWwgPSBmYWxzZTtcbiAgb3B0aW9ucy5kYXRhLnN0YXJ0UG9zaXRpb24gPSBvcHRpb25zLmhvcml6b250YWwgPyBjdXJyZW50UG9zaXRpb25YKG9wdGlvbnMpIDogY3VycmVudFBvc2l0aW9uWShvcHRpb25zKTtcbiAgb3B0aW9ucy5kYXRhLnRhcmdldFBvc2l0aW9uID0gb3B0aW9ucy5hYnNvbHV0ZSA/IHNjcm9sbE9mZnNldCA6IHNjcm9sbE9mZnNldCArIG9wdGlvbnMuZGF0YS5zdGFydFBvc2l0aW9uO1xuXG4gIGlmIChvcHRpb25zLmRhdGEuc3RhcnRQb3NpdGlvbiA9PT0gb3B0aW9ucy5kYXRhLnRhcmdldFBvc2l0aW9uKSB7XG4gICAgaWYgKF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnZW5kJ10pIHtcbiAgICAgIF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnZW5kJ10ob3B0aW9ucy5kYXRhLnRvLCBvcHRpb25zLmRhdGEudGFyZ2V0LCBvcHRpb25zLmRhdGEuY3VycmVudFBvc2l0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgb3B0aW9ucy5kYXRhLmRlbHRhID0gTWF0aC5yb3VuZChvcHRpb25zLmRhdGEudGFyZ2V0UG9zaXRpb24gLSBvcHRpb25zLmRhdGEuc3RhcnRQb3NpdGlvbik7XG5cbiAgb3B0aW9ucy5kYXRhLmR1cmF0aW9uID0gZnVuY3Rpb25XcmFwcGVyKG9wdGlvbnMuZHVyYXRpb24pKG9wdGlvbnMuZGF0YS5kZWx0YSk7XG4gIG9wdGlvbnMuZGF0YS5kdXJhdGlvbiA9IGlzTmFOKHBhcnNlRmxvYXQob3B0aW9ucy5kYXRhLmR1cmF0aW9uKSkgPyAxMDAwIDogcGFyc2VGbG9hdChvcHRpb25zLmRhdGEuZHVyYXRpb24pO1xuICBvcHRpb25zLmRhdGEudG8gPSB0bztcbiAgb3B0aW9ucy5kYXRhLnRhcmdldCA9IHRhcmdldDtcblxuICB2YXIgZWFzaW5nID0gZ2V0QW5pbWF0aW9uVHlwZShvcHRpb25zKTtcbiAgdmFyIGVhc2VkQW5pbWF0ZSA9IGFuaW1hdGVTY3JvbGwuYmluZChudWxsLCBlYXNpbmcsIG9wdGlvbnMpO1xuXG4gIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZGVsYXkgPiAwKSB7XG4gICAgb3B0aW9ucy5kYXRhLmRlbGF5VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChfc2Nyb2xsRXZlbnRzMi5kZWZhdWx0LnJlZ2lzdGVyZWRbJ2JlZ2luJ10pIHtcbiAgICAgICAgX3Njcm9sbEV2ZW50czIuZGVmYXVsdC5yZWdpc3RlcmVkWydiZWdpbiddKG9wdGlvbnMuZGF0YS50bywgb3B0aW9ucy5kYXRhLnRhcmdldCk7XG4gICAgICB9XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVIZWxwZXIuY2FsbCh3aW5kb3csIGVhc2VkQW5pbWF0ZSk7XG4gICAgfSwgb3B0aW9ucy5kZWxheSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnYmVnaW4nXSkge1xuICAgIF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnYmVnaW4nXShvcHRpb25zLmRhdGEudG8sIG9wdGlvbnMuZGF0YS50YXJnZXQpO1xuICB9XG4gIHJlcXVlc3RBbmltYXRpb25GcmFtZUhlbHBlci5jYWxsKHdpbmRvdywgZWFzZWRBbmltYXRlKTtcbn07XG5cbnZhciBwcm9jZWVkT3B0aW9ucyA9IGZ1bmN0aW9uIHByb2NlZWRPcHRpb25zKG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IF9leHRlbmRzKHt9LCBvcHRpb25zKTtcbiAgb3B0aW9ucy5kYXRhID0gb3B0aW9ucy5kYXRhIHx8IG1ha2VEYXRhKCk7XG4gIG9wdGlvbnMuYWJzb2x1dGUgPSB0cnVlO1xuICByZXR1cm4gb3B0aW9ucztcbn07XG5cbnZhciBzY3JvbGxUb1RvcCA9IGZ1bmN0aW9uIHNjcm9sbFRvVG9wKG9wdGlvbnMpIHtcbiAgYW5pbWF0ZVRvcFNjcm9sbCgwLCBwcm9jZWVkT3B0aW9ucyhvcHRpb25zKSk7XG59O1xuXG52YXIgc2Nyb2xsVG8gPSBmdW5jdGlvbiBzY3JvbGxUbyh0b1Bvc2l0aW9uLCBvcHRpb25zKSB7XG4gIGFuaW1hdGVUb3BTY3JvbGwodG9Qb3NpdGlvbiwgcHJvY2VlZE9wdGlvbnMob3B0aW9ucykpO1xufTtcblxudmFyIHNjcm9sbFRvQm90dG9tID0gZnVuY3Rpb24gc2Nyb2xsVG9Cb3R0b20ob3B0aW9ucykge1xuICBvcHRpb25zID0gcHJvY2VlZE9wdGlvbnMob3B0aW9ucyk7XG4gIHNldENvbnRhaW5lcihvcHRpb25zKTtcbiAgYW5pbWF0ZVRvcFNjcm9sbChvcHRpb25zLmhvcml6b250YWwgPyBzY3JvbGxDb250YWluZXJXaWR0aChvcHRpb25zKSA6IHNjcm9sbENvbnRhaW5lckhlaWdodChvcHRpb25zKSwgb3B0aW9ucyk7XG59O1xuXG52YXIgc2Nyb2xsTW9yZSA9IGZ1bmN0aW9uIHNjcm9sbE1vcmUodG9Qb3NpdGlvbiwgb3B0aW9ucykge1xuICBvcHRpb25zID0gcHJvY2VlZE9wdGlvbnMob3B0aW9ucyk7XG4gIHNldENvbnRhaW5lcihvcHRpb25zKTtcbiAgdmFyIGN1cnJlbnRQb3NpdGlvbiA9IG9wdGlvbnMuaG9yaXpvbnRhbCA/IGN1cnJlbnRQb3NpdGlvblgob3B0aW9ucykgOiBjdXJyZW50UG9zaXRpb25ZKG9wdGlvbnMpO1xuICBhbmltYXRlVG9wU2Nyb2xsKHRvUG9zaXRpb24gKyBjdXJyZW50UG9zaXRpb24sIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICBhbmltYXRlVG9wU2Nyb2xsOiBhbmltYXRlVG9wU2Nyb2xsLFxuICBnZXRBbmltYXRpb25UeXBlOiBnZXRBbmltYXRpb25UeXBlLFxuICBzY3JvbGxUb1RvcDogc2Nyb2xsVG9Ub3AsXG4gIHNjcm9sbFRvQm90dG9tOiBzY3JvbGxUb0JvdHRvbSxcbiAgc2Nyb2xsVG86IHNjcm9sbFRvLFxuICBzY3JvbGxNb3JlOiBzY3JvbGxNb3JlXG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/animate-scroll.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/cancel-events.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/cancel-events.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _passiveEventListeners = __webpack_require__(/*! ./passive-event-listeners */ \"./node_modules/react-scroll/modules/mixins/passive-event-listeners.js\");\n\nvar events = ['mousedown', 'mousewheel', 'touchmove', 'keydown'];\n\nexports[\"default\"] = {\n subscribe: function subscribe(cancelEvent) {\n return typeof document !== 'undefined' && events.forEach(function (event) {\n return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent);\n });\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL2NhbmNlbC1ldmVudHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDOztBQUVGLDZCQUE2QixtQkFBTyxDQUFDLHdHQUEyQjs7QUFFaEU7O0FBRUEsa0JBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL2NhbmNlbC1ldmVudHMuanM/YzhkMyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcGFzc2l2ZUV2ZW50TGlzdGVuZXJzID0gcmVxdWlyZSgnLi9wYXNzaXZlLWV2ZW50LWxpc3RlbmVycycpO1xuXG52YXIgZXZlbnRzID0gWydtb3VzZWRvd24nLCAnbW91c2V3aGVlbCcsICd0b3VjaG1vdmUnLCAna2V5ZG93biddO1xuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gIHN1YnNjcmliZTogZnVuY3Rpb24gc3Vic2NyaWJlKGNhbmNlbEV2ZW50KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICByZXR1cm4gKDAsIF9wYXNzaXZlRXZlbnRMaXN0ZW5lcnMuYWRkUGFzc2l2ZUV2ZW50TGlzdGVuZXIpKGRvY3VtZW50LCBldmVudCwgY2FuY2VsRXZlbnQpO1xuICAgIH0pO1xuICB9XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/cancel-events.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/passive-event-listeners.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/passive-event-listeners.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n/*\r\n * Tell the browser that the event listener won't prevent a scroll.\r\n * Allowing the browser to continue scrolling without having to\r\n * to wait for the listener to return.\r\n */\nvar addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) {\n var supportsPassiveOption = function () {\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassiveOption = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return supportsPassiveOption;\n }();\n target.addEventListener(eventName, listener, supportsPassiveOption ? { passive: true } : false);\n};\n\nvar removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) {\n target.removeEventListener(eventName, listener);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Bhc3NpdmUtZXZlbnQtbGlzdGVuZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsK0JBQStCO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxNQUFNO0FBQ047QUFDQSxHQUFHO0FBQ0gseUVBQXlFLGdCQUFnQjtBQUN6Rjs7QUFFQSxpQ0FBaUMsa0NBQWtDO0FBQ25FO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNjcm9sbC9tb2R1bGVzL21peGlucy9wYXNzaXZlLWV2ZW50LWxpc3RlbmVycy5qcz9iOWQxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbi8qXHJcbiAqIFRlbGwgdGhlIGJyb3dzZXIgdGhhdCB0aGUgZXZlbnQgbGlzdGVuZXIgd29uJ3QgcHJldmVudCBhIHNjcm9sbC5cclxuICogQWxsb3dpbmcgdGhlIGJyb3dzZXIgdG8gY29udGludWUgc2Nyb2xsaW5nIHdpdGhvdXQgaGF2aW5nIHRvXHJcbiAqIHRvIHdhaXQgZm9yIHRoZSBsaXN0ZW5lciB0byByZXR1cm4uXHJcbiAqL1xudmFyIGFkZFBhc3NpdmVFdmVudExpc3RlbmVyID0gZXhwb3J0cy5hZGRQYXNzaXZlRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIGFkZFBhc3NpdmVFdmVudExpc3RlbmVyKHRhcmdldCwgZXZlbnROYW1lLCBsaXN0ZW5lcikge1xuICB2YXIgc3VwcG9ydHNQYXNzaXZlT3B0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdXBwb3J0c1Bhc3NpdmVPcHRpb24gPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgdmFyIG9wdHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdwYXNzaXZlJywge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICBzdXBwb3J0c1Bhc3NpdmVPcHRpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgICByZXR1cm4gc3VwcG9ydHNQYXNzaXZlT3B0aW9uO1xuICB9KCk7XG4gIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgbGlzdGVuZXIsIHN1cHBvcnRzUGFzc2l2ZU9wdGlvbiA/IHsgcGFzc2l2ZTogdHJ1ZSB9IDogZmFsc2UpO1xufTtcblxudmFyIHJlbW92ZVBhc3NpdmVFdmVudExpc3RlbmVyID0gZXhwb3J0cy5yZW1vdmVQYXNzaXZlRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIHJlbW92ZVBhc3NpdmVFdmVudExpc3RlbmVyKHRhcmdldCwgZXZlbnROYW1lLCBsaXN0ZW5lcikge1xuICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGxpc3RlbmVyKTtcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/passive-event-listeners.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/scroll-element.js": -/*!********************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/scroll-element.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _scroller = __webpack_require__(/*! ./scroller */ \"./node_modules/react-scroll/modules/mixins/scroller.js\");\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nexports[\"default\"] = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n _scroller2.default.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2.default.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings }));\n }\n }]);\n\n return Element;\n }(_react2.default.Component);\n\n ;\n\n Element.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n };\n\n return Element;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbC1lbGVtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixvREFBb0QsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELGlDQUFpQzs7QUFFaFAsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELCtEQUErRCx5REFBeUQscUVBQXFFLDZEQUE2RCx3QkFBd0I7O0FBRWpqQixhQUFhLG1CQUFPLENBQUMsNENBQU87O0FBRTVCOztBQUVBLGdCQUFnQixtQkFBTyxDQUFDLG9EQUFXOztBQUVuQzs7QUFFQSxnQkFBZ0IsbUJBQU8sQ0FBQywwRUFBWTs7QUFFcEM7O0FBRUEsaUJBQWlCLG1CQUFPLENBQUMsc0RBQVk7O0FBRXJDOztBQUVBLHVDQUF1Qyx1Q0FBdUM7O0FBRTlFLGtEQUFrRCwwQ0FBMEM7O0FBRTVGLGtEQUFrRCxhQUFhLHlGQUF5Rjs7QUFFeEosMkNBQTJDLCtEQUErRCx1R0FBdUcseUVBQXlFLGVBQWUsMEVBQTBFLEdBQUc7O0FBRXRYLGtCQUFlO0FBQ2Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLG1FQUFtRSxnQkFBZ0Isb0NBQW9DO0FBQ3ZIO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbC1lbGVtZW50LmpzPzcyM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9O1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfcmVhY3REb20gPSByZXF1aXJlKCdyZWFjdC1kb20nKTtcblxudmFyIF9yZWFjdERvbTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdERvbSk7XG5cbnZhciBfc2Nyb2xsZXIgPSByZXF1aXJlKCcuL3Njcm9sbGVyJyk7XG5cbnZhciBfc2Nyb2xsZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2Nyb2xsZXIpO1xuXG52YXIgX3Byb3BUeXBlcyA9IHJlcXVpcmUoJ3Byb3AtdHlwZXMnKTtcblxudmFyIF9wcm9wVHlwZXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJvcFR5cGVzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBmdW5jdGlvbiAoQ29tcG9uZW50KSB7XG4gIHZhciBFbGVtZW50ID0gZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgICBfaW5oZXJpdHMoRWxlbWVudCwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgICBmdW5jdGlvbiBFbGVtZW50KHByb3BzKSB7XG4gICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWxlbWVudCk7XG5cbiAgICAgIHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChFbGVtZW50Ll9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoRWxlbWVudCkpLmNhbGwodGhpcywgcHJvcHMpKTtcblxuICAgICAgX3RoaXMuY2hpbGRCaW5kaW5ncyA9IHtcbiAgICAgICAgZG9tTm9kZTogbnVsbFxuICAgICAgfTtcbiAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG5cbiAgICBfY3JlYXRlQ2xhc3MoRWxlbWVudCwgW3tcbiAgICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFbGVtcyh0aGlzLnByb3BzLm5hbWUpO1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogJ2NvbXBvbmVudERpZFVwZGF0ZScsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5uYW1lICE9PSBwcmV2UHJvcHMubmFtZSkge1xuICAgICAgICAgIHRoaXMucmVnaXN0ZXJFbGVtcyh0aGlzLnByb3BzLm5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiAnY29tcG9uZW50V2lsbFVubW91bnQnLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgX3Njcm9sbGVyMi5kZWZhdWx0LnVucmVnaXN0ZXIodGhpcy5wcm9wcy5uYW1lKTtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6ICdyZWdpc3RlckVsZW1zJyxcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiByZWdpc3RlckVsZW1zKG5hbWUpIHtcbiAgICAgICAgX3Njcm9sbGVyMi5kZWZhdWx0LnJlZ2lzdGVyKG5hbWUsIHRoaXMuY2hpbGRCaW5kaW5ncy5kb21Ob2RlKTtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6ICdyZW5kZXInLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdDIuZGVmYXVsdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHsgcGFyZW50QmluZGluZ3M6IHRoaXMuY2hpbGRCaW5kaW5ncyB9KSk7XG4gICAgICB9XG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIEVsZW1lbnQ7XG4gIH0oX3JlYWN0Mi5kZWZhdWx0LkNvbXBvbmVudCk7XG5cbiAgO1xuXG4gIEVsZW1lbnQucHJvcFR5cGVzID0ge1xuICAgIG5hbWU6IF9wcm9wVHlwZXMyLmRlZmF1bHQuc3RyaW5nLFxuICAgIGlkOiBfcHJvcFR5cGVzMi5kZWZhdWx0LnN0cmluZ1xuICB9O1xuXG4gIHJldHVybiBFbGVtZW50O1xufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/scroll-element.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/scroll-events.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/scroll-events.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n\tvalue: true\n}));\n\nvar Events = {\n\tregistered: {},\n\tscrollEvent: {\n\t\tregister: function register(evtName, callback) {\n\t\t\tEvents.registered[evtName] = callback;\n\t\t},\n\t\tremove: function remove(evtName) {\n\t\t\tEvents.registered[evtName] = null;\n\t\t}\n\t}\n};\n\nexports[\"default\"] = Events;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbC1ldmVudHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDOztBQUVGO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zY3JvbGwvbW9kdWxlcy9taXhpbnMvc2Nyb2xsLWV2ZW50cy5qcz9mNjZlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcblx0dmFsdWU6IHRydWVcbn0pO1xuXG52YXIgRXZlbnRzID0ge1xuXHRyZWdpc3RlcmVkOiB7fSxcblx0c2Nyb2xsRXZlbnQ6IHtcblx0XHRyZWdpc3RlcjogZnVuY3Rpb24gcmVnaXN0ZXIoZXZ0TmFtZSwgY2FsbGJhY2spIHtcblx0XHRcdEV2ZW50cy5yZWdpc3RlcmVkW2V2dE5hbWVdID0gY2FsbGJhY2s7XG5cdFx0fSxcblx0XHRyZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZShldnROYW1lKSB7XG5cdFx0XHRFdmVudHMucmVnaXN0ZXJlZFtldnROYW1lXSA9IG51bGw7XG5cdFx0fVxuXHR9XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBFdmVudHM7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/scroll-events.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/scroll-hash.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/scroll-hash.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _passiveEventListeners = __webpack_require__(/*! ./passive-event-listeners */ \"./node_modules/react-scroll/modules/mixins/passive-event-listeners.js\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./node_modules/react-scroll/modules/mixins/utils.js\");\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar scrollHash = {\n mountFlag: false,\n initialized: false,\n scroller: null,\n containers: {},\n\n mount: function mount(scroller) {\n this.scroller = scroller;\n\n this.handleHashChange = this.handleHashChange.bind(this);\n window.addEventListener('hashchange', this.handleHashChange);\n\n this.initStateFromHash();\n this.mountFlag = true;\n },\n mapContainer: function mapContainer(to, container) {\n this.containers[to] = container;\n },\n isMounted: function isMounted() {\n return this.mountFlag;\n },\n isInitialized: function isInitialized() {\n return this.initialized;\n },\n initStateFromHash: function initStateFromHash() {\n var _this = this;\n\n var hash = this.getHash();\n if (hash) {\n window.setTimeout(function () {\n _this.scrollTo(hash, true);\n _this.initialized = true;\n }, 10);\n } else {\n this.initialized = true;\n }\n },\n scrollTo: function scrollTo(to, isInit) {\n var scroller = this.scroller;\n var element = scroller.get(to);\n if (element && (isInit || to !== scroller.getActiveLink())) {\n var container = this.containers[to] || document;\n scroller.scrollTo(to, { container: container });\n }\n },\n getHash: function getHash() {\n return _utils2.default.getHash();\n },\n changeHash: function changeHash(to, saveHashHistory) {\n if (this.isInitialized() && _utils2.default.getHash() !== to) {\n _utils2.default.updateHash(to, saveHashHistory);\n }\n },\n handleHashChange: function handleHashChange() {\n this.scrollTo(this.getHash());\n },\n unmount: function unmount() {\n this.scroller = null;\n this.containers = null;\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n};\n\nexports[\"default\"] = scrollHash;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbC1oYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRiw2QkFBNkIsbUJBQU8sQ0FBQyx3R0FBMkI7O0FBRWhFLGFBQWEsbUJBQU8sQ0FBQyxvRUFBUzs7QUFFOUI7O0FBRUEsdUNBQXVDLHVDQUF1Qzs7QUFFOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7O0FBRWhCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLHNCQUFzQjtBQUNwRDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zY3JvbGwvbW9kdWxlcy9taXhpbnMvc2Nyb2xsLWhhc2guanM/Y2E0MSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfcGFzc2l2ZUV2ZW50TGlzdGVuZXJzID0gcmVxdWlyZSgnLi9wYXNzaXZlLWV2ZW50LWxpc3RlbmVycycpO1xuXG52YXIgX3V0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xuXG52YXIgX3V0aWxzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3V0aWxzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIHNjcm9sbEhhc2ggPSB7XG4gIG1vdW50RmxhZzogZmFsc2UsXG4gIGluaXRpYWxpemVkOiBmYWxzZSxcbiAgc2Nyb2xsZXI6IG51bGwsXG4gIGNvbnRhaW5lcnM6IHt9LFxuXG4gIG1vdW50OiBmdW5jdGlvbiBtb3VudChzY3JvbGxlcikge1xuICAgIHRoaXMuc2Nyb2xsZXIgPSBzY3JvbGxlcjtcblxuICAgIHRoaXMuaGFuZGxlSGFzaENoYW5nZSA9IHRoaXMuaGFuZGxlSGFzaENoYW5nZS5iaW5kKHRoaXMpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgdGhpcy5oYW5kbGVIYXNoQ2hhbmdlKTtcblxuICAgIHRoaXMuaW5pdFN0YXRlRnJvbUhhc2goKTtcbiAgICB0aGlzLm1vdW50RmxhZyA9IHRydWU7XG4gIH0sXG4gIG1hcENvbnRhaW5lcjogZnVuY3Rpb24gbWFwQ29udGFpbmVyKHRvLCBjb250YWluZXIpIHtcbiAgICB0aGlzLmNvbnRhaW5lcnNbdG9dID0gY29udGFpbmVyO1xuICB9LFxuICBpc01vdW50ZWQ6IGZ1bmN0aW9uIGlzTW91bnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb3VudEZsYWc7XG4gIH0sXG4gIGlzSW5pdGlhbGl6ZWQ6IGZ1bmN0aW9uIGlzSW5pdGlhbGl6ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZWQ7XG4gIH0sXG4gIGluaXRTdGF0ZUZyb21IYXNoOiBmdW5jdGlvbiBpbml0U3RhdGVGcm9tSGFzaCgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIGhhc2ggPSB0aGlzLmdldEhhc2goKTtcbiAgICBpZiAoaGFzaCkge1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpcy5zY3JvbGxUbyhoYXNoLCB0cnVlKTtcbiAgICAgICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgfSwgMTApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG4gIH0sXG4gIHNjcm9sbFRvOiBmdW5jdGlvbiBzY3JvbGxUbyh0bywgaXNJbml0KSB7XG4gICAgdmFyIHNjcm9sbGVyID0gdGhpcy5zY3JvbGxlcjtcbiAgICB2YXIgZWxlbWVudCA9IHNjcm9sbGVyLmdldCh0byk7XG4gICAgaWYgKGVsZW1lbnQgJiYgKGlzSW5pdCB8fCB0byAhPT0gc2Nyb2xsZXIuZ2V0QWN0aXZlTGluaygpKSkge1xuICAgICAgdmFyIGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyc1t0b10gfHwgZG9jdW1lbnQ7XG4gICAgICBzY3JvbGxlci5zY3JvbGxUbyh0bywgeyBjb250YWluZXI6IGNvbnRhaW5lciB9KTtcbiAgICB9XG4gIH0sXG4gIGdldEhhc2g6IGZ1bmN0aW9uIGdldEhhc2goKSB7XG4gICAgcmV0dXJuIF91dGlsczIuZGVmYXVsdC5nZXRIYXNoKCk7XG4gIH0sXG4gIGNoYW5nZUhhc2g6IGZ1bmN0aW9uIGNoYW5nZUhhc2godG8sIHNhdmVIYXNoSGlzdG9yeSkge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQoKSAmJiBfdXRpbHMyLmRlZmF1bHQuZ2V0SGFzaCgpICE9PSB0bykge1xuICAgICAgX3V0aWxzMi5kZWZhdWx0LnVwZGF0ZUhhc2godG8sIHNhdmVIYXNoSGlzdG9yeSk7XG4gICAgfVxuICB9LFxuICBoYW5kbGVIYXNoQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVIYXNoQ2hhbmdlKCkge1xuICAgIHRoaXMuc2Nyb2xsVG8odGhpcy5nZXRIYXNoKCkpO1xuICB9LFxuICB1bm1vdW50OiBmdW5jdGlvbiB1bm1vdW50KCkge1xuICAgIHRoaXMuc2Nyb2xsZXIgPSBudWxsO1xuICAgIHRoaXMuY29udGFpbmVycyA9IG51bGw7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2hhc2hjaGFuZ2UnLCB0aGlzLmhhbmRsZUhhc2hDaGFuZ2UpO1xuICB9XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBzY3JvbGxIYXNoOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/scroll-hash.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/scroll-link.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/scroll-link.js ***! - \*****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollSpy = __webpack_require__(/*! ./scroll-spy */ \"./node_modules/react-scroll/modules/mixins/scroll-spy.js\");\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _scroller = __webpack_require__(/*! ./scroller */ \"./node_modules/react-scroll/modules/mixins/scroller.js\");\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _scrollHash = __webpack_require__(/*! ./scroll-hash */ \"./node_modules/react-scroll/modules/mixins/scroll-hash.js\");\n\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar protoTypes = {\n to: _propTypes2.default.string.isRequired,\n containerId: _propTypes2.default.string,\n container: _propTypes2.default.object,\n activeClass: _propTypes2.default.string,\n activeStyle: _propTypes2.default.object,\n spy: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n offset: _propTypes2.default.number,\n delay: _propTypes2.default.number,\n isDynamic: _propTypes2.default.bool,\n onClick: _propTypes2.default.func,\n duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n absolute: _propTypes2.default.bool,\n onSetActive: _propTypes2.default.func,\n onSetInactive: _propTypes2.default.func,\n ignoreCancelEvents: _propTypes2.default.bool,\n hashSpy: _propTypes2.default.bool,\n saveHashHistory: _propTypes2.default.bool,\n spyThrottle: _propTypes2.default.number\n};\n\nexports[\"default\"] = function (Component, customScroller) {\n\n var scroller = customScroller || _scroller2.default;\n\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n\n function Link(props) {\n _classCallCheck(this, Link);\n\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) {\n _scrollSpy2.default.mount(scrollSpyContainer, this.props.spyThrottle);\n }\n\n if (this.props.hashSpy) {\n if (!_scrollHash2.default.isMounted()) {\n _scrollHash2.default.mount(scroller);\n }\n _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var style = {};\n\n if (this.state && this.state.active) {\n style = _extends({}, this.props.style, this.props.activeStyle);\n } else {\n style = _extends({}, this.props.style);\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.style = style;\n props.onClick = this.handleClick;\n\n return _react2.default.createElement(Component, props);\n }\n }]);\n\n return Link;\n }(_react2.default.PureComponent);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n\n /*\r\n * give the posibility to override onClick\r\n */\n\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n\n /*\r\n * dont bubble the navigation\r\n */\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n\n /*\r\n * do the magic!\r\n */\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) {\n return;\n }\n\n var horizontal = _this2.props.horizontal;\n\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = _containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var _cords = element.getBoundingClientRect();\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) {\n var _props$saveHashHistor = _this2.props.saveHashHistory,\n saveHashHistory = _props$saveHashHistor === undefined ? false : _props$saveHashHistor;\n\n _scrollHash2.default.changeHash(\"\", saveHashHistory);\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({ active: false });\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n\n var _props$saveHashHistor2 = _this2.props.saveHashHistory,\n _saveHashHistory = _props$saveHashHistor2 === undefined ? false : _props$saveHashHistor2;\n\n _this2.props.hashSpy && _scrollHash2.default.changeHash(to, _saveHashHistory);\n\n if (_this2.props.spy) {\n _this2.setState({ active: true });\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n\n ;\n\n Link.propTypes = protoTypes;\n\n Link.defaultProps = { offset: 0 };\n\n return Link;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbC1saW5rLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixvREFBb0QsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELGlDQUFpQzs7QUFFaFAsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELCtEQUErRCx5REFBeUQscUVBQXFFLDZEQUE2RCx3QkFBd0I7O0FBRWpqQixhQUFhLG1CQUFPLENBQUMsNENBQU87O0FBRTVCOztBQUVBLGlCQUFpQixtQkFBTyxDQUFDLDhFQUFjOztBQUV2Qzs7QUFFQSxnQkFBZ0IsbUJBQU8sQ0FBQywwRUFBWTs7QUFFcEM7O0FBRUEsaUJBQWlCLG1CQUFPLENBQUMsc0RBQVk7O0FBRXJDOztBQUVBLGtCQUFrQixtQkFBTyxDQUFDLGdGQUFlOztBQUV6Qzs7QUFFQSx1Q0FBdUMsdUNBQXVDOztBQUU5RSxrREFBa0QsMENBQTBDOztBQUU1RixrREFBa0QsYUFBYSx5RkFBeUY7O0FBRXhKLDJDQUEyQywrREFBK0QsdUdBQXVHLHlFQUF5RSxlQUFlLDBFQUEwRSxHQUFHOztBQUV0WDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBZTs7QUFFZjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBOztBQUVBOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCLFVBQVU7QUFDViw2QkFBNkI7QUFDN0I7O0FBRUEsK0JBQStCOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBLHVDQUF1QztBQUN2Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEIsZUFBZTtBQUMzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsNEJBQTRCLGNBQWM7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQSx3QkFBd0I7O0FBRXhCO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNjcm9sbC9tb2R1bGVzL21peGlucy9zY3JvbGwtbGluay5qcz9hZWE4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxudmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxudmFyIF9yZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbnZhciBfcmVhY3QyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVhY3QpO1xuXG52YXIgX3Njcm9sbFNweSA9IHJlcXVpcmUoJy4vc2Nyb2xsLXNweScpO1xuXG52YXIgX3Njcm9sbFNweTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zY3JvbGxTcHkpO1xuXG52YXIgX3Njcm9sbGVyID0gcmVxdWlyZSgnLi9zY3JvbGxlcicpO1xuXG52YXIgX3Njcm9sbGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Njcm9sbGVyKTtcblxudmFyIF9wcm9wVHlwZXMgPSByZXF1aXJlKCdwcm9wLXR5cGVzJyk7XG5cbnZhciBfcHJvcFR5cGVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Byb3BUeXBlcyk7XG5cbnZhciBfc2Nyb2xsSGFzaCA9IHJlcXVpcmUoJy4vc2Nyb2xsLWhhc2gnKTtcblxudmFyIF9zY3JvbGxIYXNoMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Njcm9sbEhhc2gpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBwcm90b1R5cGVzID0ge1xuICB0bzogX3Byb3BUeXBlczIuZGVmYXVsdC5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY29udGFpbmVySWQ6IF9wcm9wVHlwZXMyLmRlZmF1bHQuc3RyaW5nLFxuICBjb250YWluZXI6IF9wcm9wVHlwZXMyLmRlZmF1bHQub2JqZWN0LFxuICBhY3RpdmVDbGFzczogX3Byb3BUeXBlczIuZGVmYXVsdC5zdHJpbmcsXG4gIGFjdGl2ZVN0eWxlOiBfcHJvcFR5cGVzMi5kZWZhdWx0Lm9iamVjdCxcbiAgc3B5OiBfcHJvcFR5cGVzMi5kZWZhdWx0LmJvb2wsXG4gIGhvcml6b250YWw6IF9wcm9wVHlwZXMyLmRlZmF1bHQuYm9vbCxcbiAgc21vb3RoOiBfcHJvcFR5cGVzMi5kZWZhdWx0Lm9uZU9mVHlwZShbX3Byb3BUeXBlczIuZGVmYXVsdC5ib29sLCBfcHJvcFR5cGVzMi5kZWZhdWx0LnN0cmluZ10pLFxuICBvZmZzZXQ6IF9wcm9wVHlwZXMyLmRlZmF1bHQubnVtYmVyLFxuICBkZWxheTogX3Byb3BUeXBlczIuZGVmYXVsdC5udW1iZXIsXG4gIGlzRHluYW1pYzogX3Byb3BUeXBlczIuZGVmYXVsdC5ib29sLFxuICBvbkNsaWNrOiBfcHJvcFR5cGVzMi5kZWZhdWx0LmZ1bmMsXG4gIGR1cmF0aW9uOiBfcHJvcFR5cGVzMi5kZWZhdWx0Lm9uZU9mVHlwZShbX3Byb3BUeXBlczIuZGVmYXVsdC5udW1iZXIsIF9wcm9wVHlwZXMyLmRlZmF1bHQuZnVuY10pLFxuICBhYnNvbHV0ZTogX3Byb3BUeXBlczIuZGVmYXVsdC5ib29sLFxuICBvblNldEFjdGl2ZTogX3Byb3BUeXBlczIuZGVmYXVsdC5mdW5jLFxuICBvblNldEluYWN0aXZlOiBfcHJvcFR5cGVzMi5kZWZhdWx0LmZ1bmMsXG4gIGlnbm9yZUNhbmNlbEV2ZW50czogX3Byb3BUeXBlczIuZGVmYXVsdC5ib29sLFxuICBoYXNoU3B5OiBfcHJvcFR5cGVzMi5kZWZhdWx0LmJvb2wsXG4gIHNhdmVIYXNoSGlzdG9yeTogX3Byb3BUeXBlczIuZGVmYXVsdC5ib29sLFxuICBzcHlUaHJvdHRsZTogX3Byb3BUeXBlczIuZGVmYXVsdC5udW1iZXJcbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChDb21wb25lbnQsIGN1c3RvbVNjcm9sbGVyKSB7XG5cbiAgdmFyIHNjcm9sbGVyID0gY3VzdG9tU2Nyb2xsZXIgfHwgX3Njcm9sbGVyMi5kZWZhdWx0O1xuXG4gIHZhciBMaW5rID0gZnVuY3Rpb24gKF9SZWFjdCRQdXJlQ29tcG9uZW50KSB7XG4gICAgX2luaGVyaXRzKExpbmssIF9SZWFjdCRQdXJlQ29tcG9uZW50KTtcblxuICAgIGZ1bmN0aW9uIExpbmsocHJvcHMpIHtcbiAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBMaW5rKTtcblxuICAgICAgdmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKExpbmsuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihMaW5rKSkuY2FsbCh0aGlzLCBwcm9wcykpO1xuXG4gICAgICBfaW5pdGlhbGlzZVByb3BzLmNhbGwoX3RoaXMpO1xuXG4gICAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgYWN0aXZlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG5cbiAgICBfY3JlYXRlQ2xhc3MoTGluaywgW3tcbiAgICAgIGtleTogJ2dldFNjcm9sbFNweUNvbnRhaW5lcicsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0U2Nyb2xsU3B5Q29udGFpbmVyKCkge1xuICAgICAgICB2YXIgY29udGFpbmVySWQgPSB0aGlzLnByb3BzLmNvbnRhaW5lcklkO1xuICAgICAgICB2YXIgY29udGFpbmVyID0gdGhpcy5wcm9wcy5jb250YWluZXI7XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lcklkICYmICFjb250YWluZXIpIHtcbiAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gY29udGFpbmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRvY3VtZW50O1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuc3B5IHx8IHRoaXMucHJvcHMuaGFzaFNweSkge1xuICAgICAgICAgIHZhciBzY3JvbGxTcHlDb250YWluZXIgPSB0aGlzLmdldFNjcm9sbFNweUNvbnRhaW5lcigpO1xuXG4gICAgICAgICAgaWYgKCFfc2Nyb2xsU3B5Mi5kZWZhdWx0LmlzTW91bnRlZChzY3JvbGxTcHlDb250YWluZXIpKSB7XG4gICAgICAgICAgICBfc2Nyb2xsU3B5Mi5kZWZhdWx0Lm1vdW50KHNjcm9sbFNweUNvbnRhaW5lciwgdGhpcy5wcm9wcy5zcHlUaHJvdHRsZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMuaGFzaFNweSkge1xuICAgICAgICAgICAgaWYgKCFfc2Nyb2xsSGFzaDIuZGVmYXVsdC5pc01vdW50ZWQoKSkge1xuICAgICAgICAgICAgICBfc2Nyb2xsSGFzaDIuZGVmYXVsdC5tb3VudChzY3JvbGxlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfc2Nyb2xsSGFzaDIuZGVmYXVsdC5tYXBDb250YWluZXIodGhpcy5wcm9wcy50bywgc2Nyb2xsU3B5Q29udGFpbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfc2Nyb2xsU3B5Mi5kZWZhdWx0LmFkZFNweUhhbmRsZXIodGhpcy5zcHlIYW5kbGVyLCBzY3JvbGxTcHlDb250YWluZXIpO1xuXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBjb250YWluZXI6IHNjcm9sbFNweUNvbnRhaW5lclxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiAnY29tcG9uZW50V2lsbFVubW91bnQnLFxuICAgICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICBfc2Nyb2xsU3B5Mi5kZWZhdWx0LnVubW91bnQodGhpcy5zdGF0ZUhhbmRsZXIsIHRoaXMuc3B5SGFuZGxlcik7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiAncmVuZGVyJyxcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICAgIHZhciBjbGFzc05hbWUgPSBcIlwiO1xuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlICYmIHRoaXMuc3RhdGUuYWN0aXZlKSB7XG4gICAgICAgICAgY2xhc3NOYW1lID0gKCh0aGlzLnByb3BzLmNsYXNzTmFtZSB8fCBcIlwiKSArIFwiIFwiICsgKHRoaXMucHJvcHMuYWN0aXZlQ2xhc3MgfHwgXCJhY3RpdmVcIikpLnRyaW0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzdHlsZSA9IHt9O1xuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlICYmIHRoaXMuc3RhdGUuYWN0aXZlKSB7XG4gICAgICAgICAgc3R5bGUgPSBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcy5zdHlsZSwgdGhpcy5wcm9wcy5hY3RpdmVTdHlsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3R5bGUgPSBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcy5zdHlsZSk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgcHJvcHMgPSBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcyk7XG5cbiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBwcm90b1R5cGVzKSB7XG4gICAgICAgICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICAgICAgICBkZWxldGUgcHJvcHNbcHJvcF07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcHJvcHMuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgICBwcm9wcy5zdHlsZSA9IHN0eWxlO1xuICAgICAgICBwcm9wcy5vbkNsaWNrID0gdGhpcy5oYW5kbGVDbGljaztcblxuICAgICAgICByZXR1cm4gX3JlYWN0Mi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50LCBwcm9wcyk7XG4gICAgICB9XG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIExpbms7XG4gIH0oX3JlYWN0Mi5kZWZhdWx0LlB1cmVDb21wb25lbnQpO1xuXG4gIHZhciBfaW5pdGlhbGlzZVByb3BzID0gZnVuY3Rpb24gX2luaXRpYWxpc2VQcm9wcygpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHRoaXMuc2Nyb2xsVG8gPSBmdW5jdGlvbiAodG8sIHByb3BzKSB7XG4gICAgICBzY3JvbGxlci5zY3JvbGxUbyh0bywgX2V4dGVuZHMoe30sIF90aGlzMi5zdGF0ZSwgcHJvcHMpKTtcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVDbGljayA9IGZ1bmN0aW9uIChldmVudCkge1xuXG4gICAgICAvKlxyXG4gICAgICAgKiBnaXZlIHRoZSBwb3NpYmlsaXR5IHRvIG92ZXJyaWRlIG9uQ2xpY2tcclxuICAgICAgICovXG5cbiAgICAgIGlmIChfdGhpczIucHJvcHMub25DbGljaykge1xuICAgICAgICBfdGhpczIucHJvcHMub25DbGljayhldmVudCk7XG4gICAgICB9XG5cbiAgICAgIC8qXHJcbiAgICAgICAqIGRvbnQgYnViYmxlIHRoZSBuYXZpZ2F0aW9uXHJcbiAgICAgICAqL1xuXG4gICAgICBpZiAoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGlmIChldmVudC5wcmV2ZW50RGVmYXVsdCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgLypcclxuICAgICAgICogZG8gdGhlIG1hZ2ljIVxyXG4gICAgICAgKi9cbiAgICAgIF90aGlzMi5zY3JvbGxUbyhfdGhpczIucHJvcHMudG8sIF90aGlzMi5wcm9wcyk7XG4gICAgfTtcblxuICAgIHRoaXMuc3B5SGFuZGxlciA9IGZ1bmN0aW9uICh4LCB5KSB7XG4gICAgICB2YXIgc2Nyb2xsU3B5Q29udGFpbmVyID0gX3RoaXMyLmdldFNjcm9sbFNweUNvbnRhaW5lcigpO1xuXG4gICAgICBpZiAoX3Njcm9sbEhhc2gyLmRlZmF1bHQuaXNNb3VudGVkKCkgJiYgIV9zY3JvbGxIYXNoMi5kZWZhdWx0LmlzSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBob3Jpem9udGFsID0gX3RoaXMyLnByb3BzLmhvcml6b250YWw7XG5cbiAgICAgIHZhciB0byA9IF90aGlzMi5wcm9wcy50bztcbiAgICAgIHZhciBlbGVtZW50ID0gbnVsbDtcbiAgICAgIHZhciBpc0luc2lkZSA9IHZvaWQgMDtcbiAgICAgIHZhciBpc091dHNpZGUgPSB2b2lkIDA7XG5cbiAgICAgIGlmIChob3Jpem9udGFsKSB7XG4gICAgICAgIHZhciBlbGVtTGVmdEJvdW5kID0gMDtcbiAgICAgICAgdmFyIGVsZW1SaWdodEJvdW5kID0gMDtcbiAgICAgICAgdmFyIGNvbnRhaW5lckxlZnQgPSAwO1xuXG4gICAgICAgIGlmIChzY3JvbGxTcHlDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lckNvcmRzID0gc2Nyb2xsU3B5Q29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnRhaW5lckxlZnQgPSBjb250YWluZXJDb3Jkcy5sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFlbGVtZW50IHx8IF90aGlzMi5wcm9wcy5pc0R5bmFtaWMpIHtcbiAgICAgICAgICBlbGVtZW50ID0gc2Nyb2xsZXIuZ2V0KHRvKTtcbiAgICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgY29yZHMgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGVsZW1MZWZ0Qm91bmQgPSBjb3Jkcy5sZWZ0IC0gY29udGFpbmVyTGVmdCArIHg7XG4gICAgICAgICAgZWxlbVJpZ2h0Qm91bmQgPSBlbGVtTGVmdEJvdW5kICsgY29yZHMud2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgb2Zmc2V0WCA9IHggLSBfdGhpczIucHJvcHMub2Zmc2V0O1xuICAgICAgICBpc0luc2lkZSA9IG9mZnNldFggPj0gTWF0aC5mbG9vcihlbGVtTGVmdEJvdW5kKSAmJiBvZmZzZXRYIDwgTWF0aC5mbG9vcihlbGVtUmlnaHRCb3VuZCk7XG4gICAgICAgIGlzT3V0c2lkZSA9IG9mZnNldFggPCBNYXRoLmZsb29yKGVsZW1MZWZ0Qm91bmQpIHx8IG9mZnNldFggPj0gTWF0aC5mbG9vcihlbGVtUmlnaHRCb3VuZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgZWxlbVRvcEJvdW5kID0gMDtcbiAgICAgICAgdmFyIGVsZW1Cb3R0b21Cb3VuZCA9IDA7XG4gICAgICAgIHZhciBjb250YWluZXJUb3AgPSAwO1xuXG4gICAgICAgIGlmIChzY3JvbGxTcHlDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgICAgdmFyIF9jb250YWluZXJDb3JkcyA9IHNjcm9sbFNweUNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICBjb250YWluZXJUb3AgPSBfY29udGFpbmVyQ29yZHMudG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFlbGVtZW50IHx8IF90aGlzMi5wcm9wcy5pc0R5bmFtaWMpIHtcbiAgICAgICAgICBlbGVtZW50ID0gc2Nyb2xsZXIuZ2V0KHRvKTtcbiAgICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX2NvcmRzID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICBlbGVtVG9wQm91bmQgPSBfY29yZHMudG9wIC0gY29udGFpbmVyVG9wICsgeTtcbiAgICAgICAgICBlbGVtQm90dG9tQm91bmQgPSBlbGVtVG9wQm91bmQgKyBfY29yZHMuaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG9mZnNldFkgPSB5IC0gX3RoaXMyLnByb3BzLm9mZnNldDtcbiAgICAgICAgaXNJbnNpZGUgPSBvZmZzZXRZID49IE1hdGguZmxvb3IoZWxlbVRvcEJvdW5kKSAmJiBvZmZzZXRZIDwgTWF0aC5mbG9vcihlbGVtQm90dG9tQm91bmQpO1xuICAgICAgICBpc091dHNpZGUgPSBvZmZzZXRZIDwgTWF0aC5mbG9vcihlbGVtVG9wQm91bmQpIHx8IG9mZnNldFkgPj0gTWF0aC5mbG9vcihlbGVtQm90dG9tQm91bmQpO1xuICAgICAgfVxuXG4gICAgICB2YXIgYWN0aXZlTGluayA9IHNjcm9sbGVyLmdldEFjdGl2ZUxpbmsoKTtcblxuICAgICAgaWYgKGlzT3V0c2lkZSkge1xuICAgICAgICBpZiAodG8gPT09IGFjdGl2ZUxpbmspIHtcbiAgICAgICAgICBzY3JvbGxlci5zZXRBY3RpdmVMaW5rKHZvaWQgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoX3RoaXMyLnByb3BzLmhhc2hTcHkgJiYgX3Njcm9sbEhhc2gyLmRlZmF1bHQuZ2V0SGFzaCgpID09PSB0bykge1xuICAgICAgICAgIHZhciBfcHJvcHMkc2F2ZUhhc2hIaXN0b3IgPSBfdGhpczIucHJvcHMuc2F2ZUhhc2hIaXN0b3J5LFxuICAgICAgICAgICAgICBzYXZlSGFzaEhpc3RvcnkgPSBfcHJvcHMkc2F2ZUhhc2hIaXN0b3IgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogX3Byb3BzJHNhdmVIYXNoSGlzdG9yO1xuXG4gICAgICAgICAgX3Njcm9sbEhhc2gyLmRlZmF1bHQuY2hhbmdlSGFzaChcIlwiLCBzYXZlSGFzaEhpc3RvcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF90aGlzMi5wcm9wcy5zcHkgJiYgX3RoaXMyLnN0YXRlLmFjdGl2ZSkge1xuICAgICAgICAgIF90aGlzMi5zZXRTdGF0ZSh7IGFjdGl2ZTogZmFsc2UgfSk7XG4gICAgICAgICAgX3RoaXMyLnByb3BzLm9uU2V0SW5hY3RpdmUgJiYgX3RoaXMyLnByb3BzLm9uU2V0SW5hY3RpdmUodG8sIGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0luc2lkZSAmJiAoYWN0aXZlTGluayAhPT0gdG8gfHwgX3RoaXMyLnN0YXRlLmFjdGl2ZSA9PT0gZmFsc2UpKSB7XG4gICAgICAgIHNjcm9sbGVyLnNldEFjdGl2ZUxpbmsodG8pO1xuXG4gICAgICAgIHZhciBfcHJvcHMkc2F2ZUhhc2hIaXN0b3IyID0gX3RoaXMyLnByb3BzLnNhdmVIYXNoSGlzdG9yeSxcbiAgICAgICAgICAgIF9zYXZlSGFzaEhpc3RvcnkgPSBfcHJvcHMkc2F2ZUhhc2hIaXN0b3IyID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wcm9wcyRzYXZlSGFzaEhpc3RvcjI7XG5cbiAgICAgICAgX3RoaXMyLnByb3BzLmhhc2hTcHkgJiYgX3Njcm9sbEhhc2gyLmRlZmF1bHQuY2hhbmdlSGFzaCh0bywgX3NhdmVIYXNoSGlzdG9yeSk7XG5cbiAgICAgICAgaWYgKF90aGlzMi5wcm9wcy5zcHkpIHtcbiAgICAgICAgICBfdGhpczIuc2V0U3RhdGUoeyBhY3RpdmU6IHRydWUgfSk7XG4gICAgICAgICAgX3RoaXMyLnByb3BzLm9uU2V0QWN0aXZlICYmIF90aGlzMi5wcm9wcy5vblNldEFjdGl2ZSh0bywgZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9O1xuXG4gIDtcblxuICBMaW5rLnByb3BUeXBlcyA9IHByb3RvVHlwZXM7XG5cbiAgTGluay5kZWZhdWx0UHJvcHMgPSB7IG9mZnNldDogMCB9O1xuXG4gIHJldHVybiBMaW5rO1xufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/scroll-link.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/scroll-spy.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/scroll-spy.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _lodash = __webpack_require__(/*! lodash.throttle */ \"./node_modules/lodash.throttle/index.js\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _passiveEventListeners = __webpack_require__(/*! ./passive-event-listeners */ \"./node_modules/react-scroll/modules/mixins/passive-event-listeners.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The eventHandler will execute at a rate of 15fps by default\nvar eventThrottler = function eventThrottler(eventHandler) {\n var throttleAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 66;\n return (0, _lodash2.default)(eventHandler, throttleAmount);\n};\n\nvar scrollSpy = {\n\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n\n mount: function mount(scrollSpyContainer, throttle) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n }, throttle);\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n\n container.spyCallbacks.push(handler);\n\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.indexOf(spyHandler) > -1 && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n\n if (scrollSpy.spySetState && scrollSpy.spySetState.length && scrollSpy.spySetState.indexOf(stateHandler) > -1) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n\n\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\n\nexports[\"default\"] = scrollSpy;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbC1zcHkuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDOztBQUVGLGNBQWMsbUJBQU8sQ0FBQyxnRUFBaUI7O0FBRXZDOztBQUVBLDZCQUE2QixtQkFBTyxDQUFDLHdHQUEyQjs7QUFFaEUsdUNBQXVDLHVDQUF1Qzs7QUFFOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsa0JBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNjcm9sbC9tb2R1bGVzL21peGlucy9zY3JvbGwtc3B5LmpzP2QzODAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2xvZGFzaCA9IHJlcXVpcmUoJ2xvZGFzaC50aHJvdHRsZScpO1xuXG52YXIgX2xvZGFzaDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2Rhc2gpO1xuXG52YXIgX3Bhc3NpdmVFdmVudExpc3RlbmVycyA9IHJlcXVpcmUoJy4vcGFzc2l2ZS1ldmVudC1saXN0ZW5lcnMnKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLy8gVGhlIGV2ZW50SGFuZGxlciB3aWxsIGV4ZWN1dGUgYXQgYSByYXRlIG9mIDE1ZnBzIGJ5IGRlZmF1bHRcbnZhciBldmVudFRocm90dGxlciA9IGZ1bmN0aW9uIGV2ZW50VGhyb3R0bGVyKGV2ZW50SGFuZGxlcikge1xuICB2YXIgdGhyb3R0bGVBbW91bnQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IDY2O1xuICByZXR1cm4gKDAsIF9sb2Rhc2gyLmRlZmF1bHQpKGV2ZW50SGFuZGxlciwgdGhyb3R0bGVBbW91bnQpO1xufTtcblxudmFyIHNjcm9sbFNweSA9IHtcblxuICBzcHlDYWxsYmFja3M6IFtdLFxuICBzcHlTZXRTdGF0ZTogW10sXG4gIHNjcm9sbFNweUNvbnRhaW5lcnM6IFtdLFxuXG4gIG1vdW50OiBmdW5jdGlvbiBtb3VudChzY3JvbGxTcHlDb250YWluZXIsIHRocm90dGxlKSB7XG4gICAgaWYgKHNjcm9sbFNweUNvbnRhaW5lcikge1xuICAgICAgdmFyIGV2ZW50SGFuZGxlciA9IGV2ZW50VGhyb3R0bGVyKGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBzY3JvbGxTcHkuc2Nyb2xsSGFuZGxlcihzY3JvbGxTcHlDb250YWluZXIpO1xuICAgICAgfSwgdGhyb3R0bGUpO1xuICAgICAgc2Nyb2xsU3B5LnNjcm9sbFNweUNvbnRhaW5lcnMucHVzaChzY3JvbGxTcHlDb250YWluZXIpO1xuICAgICAgKDAsIF9wYXNzaXZlRXZlbnRMaXN0ZW5lcnMuYWRkUGFzc2l2ZUV2ZW50TGlzdGVuZXIpKHNjcm9sbFNweUNvbnRhaW5lciwgJ3Njcm9sbCcsIGV2ZW50SGFuZGxlcik7XG4gICAgfVxuICB9LFxuICBpc01vdW50ZWQ6IGZ1bmN0aW9uIGlzTW91bnRlZChzY3JvbGxTcHlDb250YWluZXIpIHtcbiAgICByZXR1cm4gc2Nyb2xsU3B5LnNjcm9sbFNweUNvbnRhaW5lcnMuaW5kZXhPZihzY3JvbGxTcHlDb250YWluZXIpICE9PSAtMTtcbiAgfSxcbiAgY3VycmVudFBvc2l0aW9uWDogZnVuY3Rpb24gY3VycmVudFBvc2l0aW9uWChzY3JvbGxTcHlDb250YWluZXIpIHtcbiAgICBpZiAoc2Nyb2xsU3B5Q29udGFpbmVyID09PSBkb2N1bWVudCkge1xuICAgICAgdmFyIHN1cHBvcnRQYWdlT2Zmc2V0ID0gd2luZG93LnBhZ2VZT2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gICAgICB2YXIgaXNDU1MxQ29tcGF0ID0gKGRvY3VtZW50LmNvbXBhdE1vZGUgfHwgXCJcIikgPT09IFwiQ1NTMUNvbXBhdFwiO1xuICAgICAgcmV0dXJuIHN1cHBvcnRQYWdlT2Zmc2V0ID8gd2luZG93LnBhZ2VYT2Zmc2V0IDogaXNDU1MxQ29tcGF0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgOiBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzY3JvbGxTcHlDb250YWluZXIuc2Nyb2xsTGVmdDtcbiAgICB9XG4gIH0sXG4gIGN1cnJlbnRQb3NpdGlvblk6IGZ1bmN0aW9uIGN1cnJlbnRQb3NpdGlvblkoc2Nyb2xsU3B5Q29udGFpbmVyKSB7XG4gICAgaWYgKHNjcm9sbFNweUNvbnRhaW5lciA9PT0gZG9jdW1lbnQpIHtcbiAgICAgIHZhciBzdXBwb3J0UGFnZU9mZnNldCA9IHdpbmRvdy5wYWdlWE9mZnNldCAhPT0gdW5kZWZpbmVkO1xuICAgICAgdmFyIGlzQ1NTMUNvbXBhdCA9IChkb2N1bWVudC5jb21wYXRNb2RlIHx8IFwiXCIpID09PSBcIkNTUzFDb21wYXRcIjtcbiAgICAgIHJldHVybiBzdXBwb3J0UGFnZU9mZnNldCA/IHdpbmRvdy5wYWdlWU9mZnNldCA6IGlzQ1NTMUNvbXBhdCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgOiBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNjcm9sbFNweUNvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgfVxuICB9LFxuICBzY3JvbGxIYW5kbGVyOiBmdW5jdGlvbiBzY3JvbGxIYW5kbGVyKHNjcm9sbFNweUNvbnRhaW5lcikge1xuICAgIHZhciBjYWxsYmFja3MgPSBzY3JvbGxTcHkuc2Nyb2xsU3B5Q29udGFpbmVyc1tzY3JvbGxTcHkuc2Nyb2xsU3B5Q29udGFpbmVycy5pbmRleE9mKHNjcm9sbFNweUNvbnRhaW5lcildLnNweUNhbGxiYWNrcyB8fCBbXTtcbiAgICBjYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgcmV0dXJuIGMoc2Nyb2xsU3B5LmN1cnJlbnRQb3NpdGlvblgoc2Nyb2xsU3B5Q29udGFpbmVyKSwgc2Nyb2xsU3B5LmN1cnJlbnRQb3NpdGlvblkoc2Nyb2xsU3B5Q29udGFpbmVyKSk7XG4gICAgfSk7XG4gIH0sXG4gIGFkZFN0YXRlSGFuZGxlcjogZnVuY3Rpb24gYWRkU3RhdGVIYW5kbGVyKGhhbmRsZXIpIHtcbiAgICBzY3JvbGxTcHkuc3B5U2V0U3RhdGUucHVzaChoYW5kbGVyKTtcbiAgfSxcbiAgYWRkU3B5SGFuZGxlcjogZnVuY3Rpb24gYWRkU3B5SGFuZGxlcihoYW5kbGVyLCBzY3JvbGxTcHlDb250YWluZXIpIHtcbiAgICB2YXIgY29udGFpbmVyID0gc2Nyb2xsU3B5LnNjcm9sbFNweUNvbnRhaW5lcnNbc2Nyb2xsU3B5LnNjcm9sbFNweUNvbnRhaW5lcnMuaW5kZXhPZihzY3JvbGxTcHlDb250YWluZXIpXTtcblxuICAgIGlmICghY29udGFpbmVyLnNweUNhbGxiYWNrcykge1xuICAgICAgY29udGFpbmVyLnNweUNhbGxiYWNrcyA9IFtdO1xuICAgIH1cblxuICAgIGNvbnRhaW5lci5zcHlDYWxsYmFja3MucHVzaChoYW5kbGVyKTtcblxuICAgIGhhbmRsZXIoc2Nyb2xsU3B5LmN1cnJlbnRQb3NpdGlvblgoc2Nyb2xsU3B5Q29udGFpbmVyKSwgc2Nyb2xsU3B5LmN1cnJlbnRQb3NpdGlvblkoc2Nyb2xsU3B5Q29udGFpbmVyKSk7XG4gIH0sXG4gIHVwZGF0ZVN0YXRlczogZnVuY3Rpb24gdXBkYXRlU3RhdGVzKCkge1xuICAgIHNjcm9sbFNweS5zcHlTZXRTdGF0ZS5mb3JFYWNoKGZ1bmN0aW9uIChzKSB7XG4gICAgICByZXR1cm4gcygpO1xuICAgIH0pO1xuICB9LFxuICB1bm1vdW50OiBmdW5jdGlvbiB1bm1vdW50KHN0YXRlSGFuZGxlciwgc3B5SGFuZGxlcikge1xuICAgIHNjcm9sbFNweS5zY3JvbGxTcHlDb250YWluZXJzLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgIHJldHVybiBjLnNweUNhbGxiYWNrcyAmJiBjLnNweUNhbGxiYWNrcy5sZW5ndGggJiYgYy5zcHlDYWxsYmFja3MuaW5kZXhPZihzcHlIYW5kbGVyKSA+IC0xICYmIGMuc3B5Q2FsbGJhY2tzLnNwbGljZShjLnNweUNhbGxiYWNrcy5pbmRleE9mKHNweUhhbmRsZXIpLCAxKTtcbiAgICB9KTtcblxuICAgIGlmIChzY3JvbGxTcHkuc3B5U2V0U3RhdGUgJiYgc2Nyb2xsU3B5LnNweVNldFN0YXRlLmxlbmd0aCAmJiBzY3JvbGxTcHkuc3B5U2V0U3RhdGUuaW5kZXhPZihzdGF0ZUhhbmRsZXIpID4gLTEpIHtcbiAgICAgIHNjcm9sbFNweS5zcHlTZXRTdGF0ZS5zcGxpY2Uoc2Nyb2xsU3B5LnNweVNldFN0YXRlLmluZGV4T2Yoc3RhdGVIYW5kbGVyKSwgMSk7XG4gICAgfVxuXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2Nyb2xsU3B5LnNjcm9sbEhhbmRsZXIpO1xuICB9LFxuXG5cbiAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUoKSB7XG4gICAgcmV0dXJuIHNjcm9sbFNweS5zY3JvbGxTcHlDb250YWluZXJzLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgIHJldHVybiBzY3JvbGxTcHkuc2Nyb2xsSGFuZGxlcihjKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gc2Nyb2xsU3B5OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/scroll-spy.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/scroller.js": -/*!**************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/scroller.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./node_modules/react-scroll/modules/mixins/utils.js\");\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _animateScroll = __webpack_require__(/*! ./animate-scroll */ \"./node_modules/react-scroll/modules/mixins/animate-scroll.js\");\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollEvents = __webpack_require__(/*! ./scroll-events */ \"./node_modules/react-scroll/modules/mixins/scroll-events.js\");\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar __mapped = {};\nvar __activeLink = void 0;\n\nexports[\"default\"] = {\n\n unmount: function unmount() {\n __mapped = {};\n },\n\n register: function register(name, element) {\n __mapped[name] = element;\n },\n\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n\n scrollTo: function scrollTo(to, props) {\n\n var target = this.get(to);\n\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n\n props = _extends({}, props, { absolute: false });\n\n var containerId = props.containerId;\n var container = props.container;\n\n var containerElement = void 0;\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n\n props.absolute = true;\n\n var horizontal = props.horizontal;\n var scrollOffset = _utils2.default.scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n if (!props.smooth) {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](to, target);\n }\n\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](to, target);\n }\n\n return;\n }\n\n /*\r\n * Animate scrolling\r\n */\n\n _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target);\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Njcm9sbGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixvREFBb0QsZ0JBQWdCLHNCQUFzQixPQUFPLDJCQUEyQiwwQkFBMEIseURBQXlELGlDQUFpQzs7QUFFaFAsYUFBYSxtQkFBTyxDQUFDLG9FQUFTOztBQUU5Qjs7QUFFQSxxQkFBcUIsbUJBQU8sQ0FBQyxzRkFBa0I7O0FBRS9DOztBQUVBLG9CQUFvQixtQkFBTyxDQUFDLG9GQUFpQjs7QUFFN0M7O0FBRUEsdUNBQXVDLHVDQUF1Qzs7QUFFOUU7QUFDQTs7QUFFQSxrQkFBZTs7QUFFZjtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUIsV0FBVyxpQkFBaUI7O0FBRW5EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXNjcm9sbC9tb2R1bGVzL21peGlucy9zY3JvbGxlci5qcz9hMzc3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxudmFyIF91dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcblxudmFyIF91dGlsczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF91dGlscyk7XG5cbnZhciBfYW5pbWF0ZVNjcm9sbCA9IHJlcXVpcmUoJy4vYW5pbWF0ZS1zY3JvbGwnKTtcblxudmFyIF9hbmltYXRlU2Nyb2xsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2FuaW1hdGVTY3JvbGwpO1xuXG52YXIgX3Njcm9sbEV2ZW50cyA9IHJlcXVpcmUoJy4vc2Nyb2xsLWV2ZW50cycpO1xuXG52YXIgX3Njcm9sbEV2ZW50czIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zY3JvbGxFdmVudHMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG52YXIgX19tYXBwZWQgPSB7fTtcbnZhciBfX2FjdGl2ZUxpbmsgPSB2b2lkIDA7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHtcblxuICB1bm1vdW50OiBmdW5jdGlvbiB1bm1vdW50KCkge1xuICAgIF9fbWFwcGVkID0ge307XG4gIH0sXG5cbiAgcmVnaXN0ZXI6IGZ1bmN0aW9uIHJlZ2lzdGVyKG5hbWUsIGVsZW1lbnQpIHtcbiAgICBfX21hcHBlZFtuYW1lXSA9IGVsZW1lbnQ7XG4gIH0sXG5cbiAgdW5yZWdpc3RlcjogZnVuY3Rpb24gdW5yZWdpc3RlcihuYW1lKSB7XG4gICAgZGVsZXRlIF9fbWFwcGVkW25hbWVdO1xuICB9LFxuXG4gIGdldDogZnVuY3Rpb24gZ2V0KG5hbWUpIHtcbiAgICByZXR1cm4gX19tYXBwZWRbbmFtZV0gfHwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmFtZSkgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUobmFtZSlbMF0gfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShuYW1lKVswXTtcbiAgfSxcblxuICBzZXRBY3RpdmVMaW5rOiBmdW5jdGlvbiBzZXRBY3RpdmVMaW5rKGxpbmspIHtcbiAgICByZXR1cm4gX19hY3RpdmVMaW5rID0gbGluaztcbiAgfSxcblxuICBnZXRBY3RpdmVMaW5rOiBmdW5jdGlvbiBnZXRBY3RpdmVMaW5rKCkge1xuICAgIHJldHVybiBfX2FjdGl2ZUxpbms7XG4gIH0sXG5cbiAgc2Nyb2xsVG86IGZ1bmN0aW9uIHNjcm9sbFRvKHRvLCBwcm9wcykge1xuXG4gICAgdmFyIHRhcmdldCA9IHRoaXMuZ2V0KHRvKTtcblxuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJ0YXJnZXQgRWxlbWVudCBub3QgZm91bmRcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHJvcHMgPSBfZXh0ZW5kcyh7fSwgcHJvcHMsIHsgYWJzb2x1dGU6IGZhbHNlIH0pO1xuXG4gICAgdmFyIGNvbnRhaW5lcklkID0gcHJvcHMuY29udGFpbmVySWQ7XG4gICAgdmFyIGNvbnRhaW5lciA9IHByb3BzLmNvbnRhaW5lcjtcblxuICAgIHZhciBjb250YWluZXJFbGVtZW50ID0gdm9pZCAwO1xuICAgIGlmIChjb250YWluZXJJZCkge1xuICAgICAgY29udGFpbmVyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUpIHtcbiAgICAgIGNvbnRhaW5lckVsZW1lbnQgPSBjb250YWluZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudDtcbiAgICB9XG5cbiAgICBwcm9wcy5hYnNvbHV0ZSA9IHRydWU7XG5cbiAgICB2YXIgaG9yaXpvbnRhbCA9IHByb3BzLmhvcml6b250YWw7XG4gICAgdmFyIHNjcm9sbE9mZnNldCA9IF91dGlsczIuZGVmYXVsdC5zY3JvbGxPZmZzZXQoY29udGFpbmVyRWxlbWVudCwgdGFyZ2V0LCBob3Jpem9udGFsKSArIChwcm9wcy5vZmZzZXQgfHwgMCk7XG5cbiAgICAvKlxyXG4gICAgICogaWYgYW5pbWF0ZSBpcyBub3QgcHJvdmlkZWQganVzdCBzY3JvbGwgaW50byB0aGUgdmlld1xyXG4gICAgICovXG4gICAgaWYgKCFwcm9wcy5zbW9vdGgpIHtcbiAgICAgIGlmIChfc2Nyb2xsRXZlbnRzMi5kZWZhdWx0LnJlZ2lzdGVyZWRbJ2JlZ2luJ10pIHtcbiAgICAgICAgX3Njcm9sbEV2ZW50czIuZGVmYXVsdC5yZWdpc3RlcmVkWydiZWdpbiddKHRvLCB0YXJnZXQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29udGFpbmVyRWxlbWVudCA9PT0gZG9jdW1lbnQpIHtcbiAgICAgICAgaWYgKHByb3BzLmhvcml6b250YWwpIHtcbiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oc2Nyb2xsT2Zmc2V0LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgc2Nyb2xsT2Zmc2V0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGFpbmVyRWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxPZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChfc2Nyb2xsRXZlbnRzMi5kZWZhdWx0LnJlZ2lzdGVyZWRbJ2VuZCddKSB7XG4gICAgICAgIF9zY3JvbGxFdmVudHMyLmRlZmF1bHQucmVnaXN0ZXJlZFsnZW5kJ10odG8sIHRhcmdldCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKlxyXG4gICAgICogQW5pbWF0ZSBzY3JvbGxpbmdcclxuICAgICAqL1xuXG4gICAgX2FuaW1hdGVTY3JvbGwyLmRlZmF1bHQuYW5pbWF0ZVRvcFNjcm9sbChzY3JvbGxPZmZzZXQsIHByb3BzLCB0bywgdGFyZ2V0KTtcbiAgfVxufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/scroller.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/smooth.js": -/*!************************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/smooth.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = {\n /*\r\n * https://github.com/oblador/angular-scroll (duScrollDefaultEasing)\r\n */\n defaultEasing: function defaultEasing(x) {\n if (x < 0.5) {\n return Math.pow(x * 2, 2) / 2;\n }\n return 1 - Math.pow((1 - x) * 2, 2) / 2;\n },\n /*\r\n * https://gist.github.com/gre/1650294\r\n */\n // no easing, no acceleration\n linear: function linear(x) {\n return x;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(x) {\n return x * (2 - x);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(x) {\n return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x;\n },\n // accelerating from zero velocity \n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n // decelerating to zero velocity π\n easeOutCubic: function easeOutCubic(x) {\n return --x * x * x + 1;\n },\n // acceleration until halfway, then deceleration \n easeInOutCubic: function easeInOutCubic(x) {\n return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1;\n },\n // accelerating from zero velocity \n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n // decelerating to zero velocity \n easeOutQuart: function easeOutQuart(x) {\n return 1 - --x * x * x * x;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(x) {\n return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(x) {\n return 1 + --x * x * x * x * x;\n },\n // acceleration until halfway, then deceleration \n easeInOutQuint: function easeInOutQuint(x) {\n return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Ntb290aC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixrQkFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3Ntb290aC5qcz82NzUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAvKlxyXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9vYmxhZG9yL2FuZ3VsYXItc2Nyb2xsIChkdVNjcm9sbERlZmF1bHRFYXNpbmcpXHJcbiAgICovXG4gIGRlZmF1bHRFYXNpbmc6IGZ1bmN0aW9uIGRlZmF1bHRFYXNpbmcoeCkge1xuICAgIGlmICh4IDwgMC41KSB7XG4gICAgICByZXR1cm4gTWF0aC5wb3coeCAqIDIsIDIpIC8gMjtcbiAgICB9XG4gICAgcmV0dXJuIDEgLSBNYXRoLnBvdygoMSAtIHgpICogMiwgMikgLyAyO1xuICB9LFxuICAvKlxyXG4gICAqIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2dyZS8xNjUwMjk0XHJcbiAgICovXG4gIC8vIG5vIGVhc2luZywgbm8gYWNjZWxlcmF0aW9uXG4gIGxpbmVhcjogZnVuY3Rpb24gbGluZWFyKHgpIHtcbiAgICByZXR1cm4geDtcbiAgfSxcbiAgLy8gYWNjZWxlcmF0aW5nIGZyb20gemVybyB2ZWxvY2l0eVxuICBlYXNlSW5RdWFkOiBmdW5jdGlvbiBlYXNlSW5RdWFkKHgpIHtcbiAgICByZXR1cm4geCAqIHg7XG4gIH0sXG4gIC8vIGRlY2VsZXJhdGluZyB0byB6ZXJvIHZlbG9jaXR5XG4gIGVhc2VPdXRRdWFkOiBmdW5jdGlvbiBlYXNlT3V0UXVhZCh4KSB7XG4gICAgcmV0dXJuIHggKiAoMiAtIHgpO1xuICB9LFxuICAvLyBhY2NlbGVyYXRpb24gdW50aWwgaGFsZndheSwgdGhlbiBkZWNlbGVyYXRpb25cbiAgZWFzZUluT3V0UXVhZDogZnVuY3Rpb24gZWFzZUluT3V0UXVhZCh4KSB7XG4gICAgcmV0dXJuIHggPCAuNSA/IDIgKiB4ICogeCA6IC0xICsgKDQgLSAyICogeCkgKiB4O1xuICB9LFxuICAvLyBhY2NlbGVyYXRpbmcgZnJvbSB6ZXJvIHZlbG9jaXR5IFxuICBlYXNlSW5DdWJpYzogZnVuY3Rpb24gZWFzZUluQ3ViaWMoeCkge1xuICAgIHJldHVybiB4ICogeCAqIHg7XG4gIH0sXG4gIC8vIGRlY2VsZXJhdGluZyB0byB6ZXJvIHZlbG9jaXR5IM+AXG4gIGVhc2VPdXRDdWJpYzogZnVuY3Rpb24gZWFzZU91dEN1YmljKHgpIHtcbiAgICByZXR1cm4gLS14ICogeCAqIHggKyAxO1xuICB9LFxuICAvLyBhY2NlbGVyYXRpb24gdW50aWwgaGFsZndheSwgdGhlbiBkZWNlbGVyYXRpb24gXG4gIGVhc2VJbk91dEN1YmljOiBmdW5jdGlvbiBlYXNlSW5PdXRDdWJpYyh4KSB7XG4gICAgcmV0dXJuIHggPCAuNSA/IDQgKiB4ICogeCAqIHggOiAoeCAtIDEpICogKDIgKiB4IC0gMikgKiAoMiAqIHggLSAyKSArIDE7XG4gIH0sXG4gIC8vIGFjY2VsZXJhdGluZyBmcm9tIHplcm8gdmVsb2NpdHkgXG4gIGVhc2VJblF1YXJ0OiBmdW5jdGlvbiBlYXNlSW5RdWFydCh4KSB7XG4gICAgcmV0dXJuIHggKiB4ICogeCAqIHg7XG4gIH0sXG4gIC8vIGRlY2VsZXJhdGluZyB0byB6ZXJvIHZlbG9jaXR5IFxuICBlYXNlT3V0UXVhcnQ6IGZ1bmN0aW9uIGVhc2VPdXRRdWFydCh4KSB7XG4gICAgcmV0dXJuIDEgLSAtLXggKiB4ICogeCAqIHg7XG4gIH0sXG4gIC8vIGFjY2VsZXJhdGlvbiB1bnRpbCBoYWxmd2F5LCB0aGVuIGRlY2VsZXJhdGlvblxuICBlYXNlSW5PdXRRdWFydDogZnVuY3Rpb24gZWFzZUluT3V0UXVhcnQoeCkge1xuICAgIHJldHVybiB4IDwgLjUgPyA4ICogeCAqIHggKiB4ICogeCA6IDEgLSA4ICogLS14ICogeCAqIHggKiB4O1xuICB9LFxuICAvLyBhY2NlbGVyYXRpbmcgZnJvbSB6ZXJvIHZlbG9jaXR5XG4gIGVhc2VJblF1aW50OiBmdW5jdGlvbiBlYXNlSW5RdWludCh4KSB7XG4gICAgcmV0dXJuIHggKiB4ICogeCAqIHggKiB4O1xuICB9LFxuICAvLyBkZWNlbGVyYXRpbmcgdG8gemVybyB2ZWxvY2l0eVxuICBlYXNlT3V0UXVpbnQ6IGZ1bmN0aW9uIGVhc2VPdXRRdWludCh4KSB7XG4gICAgcmV0dXJuIDEgKyAtLXggKiB4ICogeCAqIHggKiB4O1xuICB9LFxuICAvLyBhY2NlbGVyYXRpb24gdW50aWwgaGFsZndheSwgdGhlbiBkZWNlbGVyYXRpb24gXG4gIGVhc2VJbk91dFF1aW50OiBmdW5jdGlvbiBlYXNlSW5PdXRRdWludCh4KSB7XG4gICAgcmV0dXJuIHggPCAuNSA/IDE2ICogeCAqIHggKiB4ICogeCAqIHggOiAxICsgMTYgKiAtLXggKiB4ICogeCAqIHggKiB4O1xuICB9XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/smooth.js\n")); - -/***/ }), - -/***/ "./node_modules/react-scroll/modules/mixins/utils.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-scroll/modules/mixins/utils.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nvar updateHash = function updateHash(hash, historyUpdate) {\n var hashVal = hash.indexOf(\"#\") === 0 ? hash.substring(1) : hash;\n var hashToUpdate = hashVal ? \"#\" + hashVal : \"\";\n var curLoc = window && window.location;\n var urlToPush = hashToUpdate ? curLoc.pathname + curLoc.search + hashToUpdate : curLoc.pathname + curLoc.search;\n historyUpdate ? history.pushState(history.state, \"\", urlToPush) : history.replaceState(history.state, \"\", urlToPush);\n};\n\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\n\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\n\nvar isPositioned = function isPositioned(element) {\n return getComputedStyle(element).position !== \"static\";\n};\n\nvar getElementOffsetInfoUntil = function getElementOffsetInfoUntil(element, predicate) {\n var offsetTop = element.offsetTop;\n var currentOffsetParent = element.offsetParent;\n\n while (currentOffsetParent && !predicate(currentOffsetParent)) {\n offsetTop += currentOffsetParent.offsetTop;\n currentOffsetParent = currentOffsetParent.offsetParent;\n }\n\n return { offsetTop: offsetTop, offsetParent: currentOffsetParent };\n};\n\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n if (c === document) {\n return t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset);\n }\n\n // The offsetParent of an element, according to MDN, is its nearest positioned\n // (an element whose position is anything other than static) ancestor. The offsetTop\n // of an element is taken with respect to its offsetParent which may not neccessarily\n // be its parentElement except the parent itself is positioned.\n\n // So if containerElement is positioned, then it must be an offsetParent somewhere\n // If it happens that targetElement is a descendant of the containerElement, and there\n // is not intermediate positioned element between the two of them, i.e.\n // targetElement\"s offsetParent is the same as the containerElement, then the\n // distance between the two will be the offsetTop of the targetElement.\n // If, on the other hand, there are intermediate positioned elements between the\n // two entities, the distance between the targetElement and the containerElement\n // will be the accumulation of the offsetTop of the element and that of its\n // subsequent offsetParent until the containerElement is reached, since it\n // will also be an offsetParent at some point due to the fact that it is positioned.\n\n // If the containerElement is not positioned, then it can\"t be an offsetParent,\n // which means that the offsetTop of the targetElement would not be with respect to it.\n // However, if the two of them happen to have the same offsetParent, then\n // the distance between them will be the difference between their offsetTop\n // since they are both taken with respect to the same entity.\n // The last resort would be to accumulate their offsetTop until a common\n // offsetParent is reached (usually the document) and taking the difference\n // between the accumulated offsetTops\n\n if (isPositioned(c)) {\n if (t.offsetParent !== c) {\n var isContainerElementOrDocument = function isContainerElementOrDocument(e) {\n return e === c || e === document;\n };\n\n var _getElementOffsetInfo = getElementOffsetInfoUntil(t, isContainerElementOrDocument),\n offsetTop = _getElementOffsetInfo.offsetTop,\n offsetParent = _getElementOffsetInfo.offsetParent;\n\n if (offsetParent !== c) {\n throw new Error(\"Seems containerElement is not an ancestor of the Element\");\n }\n\n return offsetTop;\n }\n\n return t.offsetTop;\n }\n\n if (t.offsetParent === c.offsetParent) {\n return t.offsetTop - c.offsetTop;\n }\n\n var isDocument = function isDocument(e) {\n return e === document;\n };\n return getElementOffsetInfoUntil(t, isDocument).offsetTop - getElementOffsetInfoUntil(c, isDocument).offsetTop;\n }\n};\n\nexports[\"default\"] = {\n updateHash: updateHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2Nyb2xsL21vZHVsZXMvbWl4aW5zL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9yZWFjdC1zY3JvbGwvbW9kdWxlcy9taXhpbnMvdXRpbHMuanM/ZjY3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbnZhciB1cGRhdGVIYXNoID0gZnVuY3Rpb24gdXBkYXRlSGFzaChoYXNoLCBoaXN0b3J5VXBkYXRlKSB7XG4gIHZhciBoYXNoVmFsID0gaGFzaC5pbmRleE9mKFwiI1wiKSA9PT0gMCA/IGhhc2guc3Vic3RyaW5nKDEpIDogaGFzaDtcbiAgdmFyIGhhc2hUb1VwZGF0ZSA9IGhhc2hWYWwgPyBcIiNcIiArIGhhc2hWYWwgOiBcIlwiO1xuICB2YXIgY3VyTG9jID0gd2luZG93ICYmIHdpbmRvdy5sb2NhdGlvbjtcbiAgdmFyIHVybFRvUHVzaCA9IGhhc2hUb1VwZGF0ZSA/IGN1ckxvYy5wYXRobmFtZSArIGN1ckxvYy5zZWFyY2ggKyBoYXNoVG9VcGRhdGUgOiBjdXJMb2MucGF0aG5hbWUgKyBjdXJMb2Muc2VhcmNoO1xuICBoaXN0b3J5VXBkYXRlID8gaGlzdG9yeS5wdXNoU3RhdGUoaGlzdG9yeS5zdGF0ZSwgXCJcIiwgdXJsVG9QdXNoKSA6IGhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3Rvcnkuc3RhdGUsIFwiXCIsIHVybFRvUHVzaCk7XG59O1xuXG52YXIgZ2V0SGFzaCA9IGZ1bmN0aW9uIGdldEhhc2goKSB7XG4gIHJldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaC5yZXBsYWNlKC9eIy8sIFwiXCIpO1xufTtcblxudmFyIGZpbHRlckVsZW1lbnRJbkNvbnRhaW5lciA9IGZ1bmN0aW9uIGZpbHRlckVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5jb250YWlucyA/IGNvbnRhaW5lciAhPSBlbGVtZW50ICYmIGNvbnRhaW5lci5jb250YWlucyhlbGVtZW50KSA6ICEhKGNvbnRhaW5lci5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlbGVtZW50KSAmIDE2KTtcbiAgfTtcbn07XG5cbnZhciBpc1Bvc2l0aW9uZWQgPSBmdW5jdGlvbiBpc1Bvc2l0aW9uZWQoZWxlbWVudCkge1xuICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiAhPT0gXCJzdGF0aWNcIjtcbn07XG5cbnZhciBnZXRFbGVtZW50T2Zmc2V0SW5mb1VudGlsID0gZnVuY3Rpb24gZ2V0RWxlbWVudE9mZnNldEluZm9VbnRpbChlbGVtZW50LCBwcmVkaWNhdGUpIHtcbiAgdmFyIG9mZnNldFRvcCA9IGVsZW1lbnQub2Zmc2V0VG9wO1xuICB2YXIgY3VycmVudE9mZnNldFBhcmVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50O1xuXG4gIHdoaWxlIChjdXJyZW50T2Zmc2V0UGFyZW50ICYmICFwcmVkaWNhdGUoY3VycmVudE9mZnNldFBhcmVudCkpIHtcbiAgICBvZmZzZXRUb3AgKz0gY3VycmVudE9mZnNldFBhcmVudC5vZmZzZXRUb3A7XG4gICAgY3VycmVudE9mZnNldFBhcmVudCA9IGN1cnJlbnRPZmZzZXRQYXJlbnQub2Zmc2V0UGFyZW50O1xuICB9XG5cbiAgcmV0dXJuIHsgb2Zmc2V0VG9wOiBvZmZzZXRUb3AsIG9mZnNldFBhcmVudDogY3VycmVudE9mZnNldFBhcmVudCB9O1xufTtcblxudmFyIHNjcm9sbE9mZnNldCA9IGZ1bmN0aW9uIHNjcm9sbE9mZnNldChjLCB0LCBob3Jpem9udGFsKSB7XG4gIGlmIChob3Jpem9udGFsKSB7XG4gICAgcmV0dXJuIGMgPT09IGRvY3VtZW50ID8gdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgKHdpbmRvdy5zY3JvbGxYIHx8IHdpbmRvdy5wYWdlWE9mZnNldCkgOiBnZXRDb21wdXRlZFN0eWxlKGMpLnBvc2l0aW9uICE9PSBcInN0YXRpY1wiID8gdC5vZmZzZXRMZWZ0IDogdC5vZmZzZXRMZWZ0IC0gYy5vZmZzZXRMZWZ0O1xuICB9IGVsc2Uge1xuICAgIGlmIChjID09PSBkb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgKHdpbmRvdy5zY3JvbGxZIHx8IHdpbmRvdy5wYWdlWU9mZnNldCk7XG4gICAgfVxuXG4gICAgLy8gVGhlIG9mZnNldFBhcmVudCBvZiBhbiBlbGVtZW50LCBhY2NvcmRpbmcgdG8gTUROLCBpcyBpdHMgbmVhcmVzdCBwb3NpdGlvbmVkXG4gICAgLy8gKGFuIGVsZW1lbnQgd2hvc2UgcG9zaXRpb24gaXMgYW55dGhpbmcgb3RoZXIgdGhhbiBzdGF0aWMpIGFuY2VzdG9yLiBUaGUgb2Zmc2V0VG9wXG4gICAgLy8gb2YgYW4gZWxlbWVudCBpcyB0YWtlbiB3aXRoIHJlc3BlY3QgdG8gaXRzIG9mZnNldFBhcmVudCB3aGljaCBtYXkgbm90IG5lY2Nlc3NhcmlseVxuICAgIC8vIGJlIGl0cyBwYXJlbnRFbGVtZW50IGV4Y2VwdCB0aGUgcGFyZW50IGl0c2VsZiBpcyBwb3NpdGlvbmVkLlxuXG4gICAgLy8gU28gaWYgY29udGFpbmVyRWxlbWVudCBpcyBwb3NpdGlvbmVkLCB0aGVuIGl0IG11c3QgYmUgYW4gb2Zmc2V0UGFyZW50IHNvbWV3aGVyZVxuICAgIC8vIElmIGl0IGhhcHBlbnMgdGhhdCB0YXJnZXRFbGVtZW50IGlzIGEgZGVzY2VuZGFudCBvZiB0aGUgY29udGFpbmVyRWxlbWVudCwgYW5kIHRoZXJlXG4gICAgLy8gaXMgbm90IGludGVybWVkaWF0ZSBwb3NpdGlvbmVkIGVsZW1lbnQgYmV0d2VlbiB0aGUgdHdvIG9mIHRoZW0sIGkuZS5cbiAgICAvLyB0YXJnZXRFbGVtZW50XCJzIG9mZnNldFBhcmVudCBpcyB0aGUgc2FtZSBhcyB0aGUgY29udGFpbmVyRWxlbWVudCwgdGhlbiB0aGVcbiAgICAvLyBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB0d28gd2lsbCBiZSB0aGUgb2Zmc2V0VG9wIG9mIHRoZSB0YXJnZXRFbGVtZW50LlxuICAgIC8vIElmLCBvbiB0aGUgb3RoZXIgaGFuZCwgdGhlcmUgYXJlIGludGVybWVkaWF0ZSBwb3NpdGlvbmVkIGVsZW1lbnRzIGJldHdlZW4gdGhlXG4gICAgLy8gdHdvIGVudGl0aWVzLCB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdGFyZ2V0RWxlbWVudCBhbmQgdGhlIGNvbnRhaW5lckVsZW1lbnRcbiAgICAvLyB3aWxsIGJlIHRoZSBhY2N1bXVsYXRpb24gb2YgdGhlIG9mZnNldFRvcCBvZiB0aGUgZWxlbWVudCBhbmQgdGhhdCBvZiBpdHNcbiAgICAvLyBzdWJzZXF1ZW50IG9mZnNldFBhcmVudCB1bnRpbCB0aGUgY29udGFpbmVyRWxlbWVudCBpcyByZWFjaGVkLCBzaW5jZSBpdFxuICAgIC8vIHdpbGwgYWxzbyBiZSBhbiBvZmZzZXRQYXJlbnQgYXQgc29tZSBwb2ludCBkdWUgdG8gdGhlIGZhY3QgdGhhdCBpdCBpcyBwb3NpdGlvbmVkLlxuXG4gICAgLy8gSWYgdGhlIGNvbnRhaW5lckVsZW1lbnQgaXMgbm90IHBvc2l0aW9uZWQsIHRoZW4gaXQgY2FuXCJ0IGJlIGFuIG9mZnNldFBhcmVudCxcbiAgICAvLyB3aGljaCBtZWFucyB0aGF0IHRoZSBvZmZzZXRUb3Agb2YgdGhlIHRhcmdldEVsZW1lbnQgd291bGQgbm90IGJlIHdpdGggcmVzcGVjdCB0byBpdC5cbiAgICAvLyBIb3dldmVyLCBpZiB0aGUgdHdvIG9mIHRoZW0gaGFwcGVuIHRvIGhhdmUgdGhlIHNhbWUgb2Zmc2V0UGFyZW50LCB0aGVuXG4gICAgLy8gdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlbSB3aWxsIGJlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlaXIgb2Zmc2V0VG9wXG4gICAgLy8gc2luY2UgdGhleSBhcmUgYm90aCB0YWtlbiB3aXRoIHJlc3BlY3QgdG8gdGhlIHNhbWUgZW50aXR5LlxuICAgIC8vIFRoZSBsYXN0IHJlc29ydCB3b3VsZCBiZSB0byBhY2N1bXVsYXRlIHRoZWlyIG9mZnNldFRvcCB1bnRpbCBhIGNvbW1vblxuICAgIC8vIG9mZnNldFBhcmVudCBpcyByZWFjaGVkICh1c3VhbGx5IHRoZSBkb2N1bWVudCkgYW5kIHRha2luZyB0aGUgZGlmZmVyZW5jZVxuICAgIC8vIGJldHdlZW4gdGhlIGFjY3VtdWxhdGVkIG9mZnNldFRvcHNcblxuICAgIGlmIChpc1Bvc2l0aW9uZWQoYykpIHtcbiAgICAgIGlmICh0Lm9mZnNldFBhcmVudCAhPT0gYykge1xuICAgICAgICB2YXIgaXNDb250YWluZXJFbGVtZW50T3JEb2N1bWVudCA9IGZ1bmN0aW9uIGlzQ29udGFpbmVyRWxlbWVudE9yRG9jdW1lbnQoZSkge1xuICAgICAgICAgIHJldHVybiBlID09PSBjIHx8IGUgPT09IGRvY3VtZW50O1xuICAgICAgICB9O1xuXG4gICAgICAgIHZhciBfZ2V0RWxlbWVudE9mZnNldEluZm8gPSBnZXRFbGVtZW50T2Zmc2V0SW5mb1VudGlsKHQsIGlzQ29udGFpbmVyRWxlbWVudE9yRG9jdW1lbnQpLFxuICAgICAgICAgICAgb2Zmc2V0VG9wID0gX2dldEVsZW1lbnRPZmZzZXRJbmZvLm9mZnNldFRvcCxcbiAgICAgICAgICAgIG9mZnNldFBhcmVudCA9IF9nZXRFbGVtZW50T2Zmc2V0SW5mby5vZmZzZXRQYXJlbnQ7XG5cbiAgICAgICAgaWYgKG9mZnNldFBhcmVudCAhPT0gYykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNlZW1zIGNvbnRhaW5lckVsZW1lbnQgaXMgbm90IGFuIGFuY2VzdG9yIG9mIHRoZSBFbGVtZW50XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mZnNldFRvcDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHQub2Zmc2V0VG9wO1xuICAgIH1cblxuICAgIGlmICh0Lm9mZnNldFBhcmVudCA9PT0gYy5vZmZzZXRQYXJlbnQpIHtcbiAgICAgIHJldHVybiB0Lm9mZnNldFRvcCAtIGMub2Zmc2V0VG9wO1xuICAgIH1cblxuICAgIHZhciBpc0RvY3VtZW50ID0gZnVuY3Rpb24gaXNEb2N1bWVudChlKSB7XG4gICAgICByZXR1cm4gZSA9PT0gZG9jdW1lbnQ7XG4gICAgfTtcbiAgICByZXR1cm4gZ2V0RWxlbWVudE9mZnNldEluZm9VbnRpbCh0LCBpc0RvY3VtZW50KS5vZmZzZXRUb3AgLSBnZXRFbGVtZW50T2Zmc2V0SW5mb1VudGlsKGMsIGlzRG9jdW1lbnQpLm9mZnNldFRvcDtcbiAgfVxufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICB1cGRhdGVIYXNoOiB1cGRhdGVIYXNoLFxuICBnZXRIYXNoOiBnZXRIYXNoLFxuICBmaWx0ZXJFbGVtZW50SW5Db250YWluZXI6IGZpbHRlckVsZW1lbnRJbkNvbnRhaW5lcixcbiAgc2Nyb2xsT2Zmc2V0OiBzY3JvbGxPZmZzZXRcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/react-scroll/modules/mixins/utils.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"); }); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/polyfills.js b/.next/static/chunks/polyfills.js deleted file mode 100644 index 6c105ca..0000000 --- a/.next/static/chunks/polyfills.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),a={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,s=u&&!a.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:a,c={f:s},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},p="".split,d=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==h(t)?p.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(v(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!y(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!y(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,e){return b.call(t,e)},S=n.document,E=y(S)&&y(S.createElement),x=function(t){return E?S.createElement(t):{}},A=!i&&!o(function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a}),O=Object.getOwnPropertyDescriptor,R={f:i?O:function(t,e){if(t=g(t),e=m(e,!0),A)try{return O(t,e)}catch(t){}if(w(t,e))return f(!c.f.call(t,e),t[e])}},j=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,I={f:i?P:function(t,e,r){if(j(t),e=m(e,!0),j(r),A)try{return P(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},T=i?function(t,e,r){return I.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},k=function(t,e){try{T(n,t,e)}catch(r){n[t]=e}return e},L="__core-js_shared__",U=n[L]||k(L,{}),M=Function.toString;"function"!=typeof U.inspectSource&&(U.inspectSource=function(t){return M.call(t)});var _,N,C,F=U.inspectSource,B=n.WeakMap,D="function"==typeof B&&/native code/.test(F(B)),q=!1,z=e(function(t){(t.exports=function(t,e){return U[t]||(U[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})}),W=0,K=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+K).toString(36)},$=z("keys"),V=function(t){return $[t]||($[t]=G(t))},H={};if(D){var X=new(0,n.WeakMap),Y=X.get,J=X.has,Q=X.set;_=function(t,e){return Q.call(X,t,e),e},N=function(t){return Y.call(X,t)||{}},C=function(t){return J.call(X,t)}}else{var Z=V("state");H[Z]=!0,_=function(t,e){return T(t,Z,e),e},N=function(t){return w(t,Z)?t[Z]:{}},C=function(t){return w(t,Z)}}var tt,et={set:_,get:N,has:C,enforce:function(t){return C(t)?N(t):_(t,{})},getterFor:function(t){return function(e){var r;if(!y(e)||(r=N(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},rt=e(function(t){var e=et.get,r=et.enforce,o=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||T(i,"name",e),r(i).source=o.join("string"==typeof e?e:"")),t!==n?(u?!c&&t[e]&&(s=!0):delete t[e],s?t[e]=i:T(t,e,i)):s?t[e]=i:k(e,i)})(Function.prototype,"toString",function(){return"function"==typeof this&&e(this).source||F(this)})}),nt=n,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(nt[t])||ot(n[t]):nt[t]&&nt[t][e]||n[t]&&n[t][e]},at=Math.ceil,ut=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ut:at)(t)},ct=Math.min,ft=function(t){return t>0?ct(st(t),9007199254740991):0},lt=Math.max,ht=Math.min,pt=function(t,e){var r=st(t);return r<0?lt(r+e,0):ht(r,e)},dt=function(t){return function(e,r,n){var o,i=g(e),a=ft(i.length),u=pt(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},vt={includes:dt(!0),indexOf:dt(!1)},gt=vt.indexOf,yt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!w(H,r)&&w(n,r)&&i.push(r);for(;e.length>o;)w(n,r=e[o++])&&(~gt(i,r)||i.push(r));return i},mt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=mt.concat("length","prototype"),wt={f:Object.getOwnPropertyNames||function(t){return yt(t,bt)}},St={f:Object.getOwnPropertySymbols},Et=it("Reflect","ownKeys")||function(t){var e=wt.f(j(t)),r=St.f;return r?e.concat(r(t)):e},xt=function(t,e){for(var r=Et(e),n=I.f,o=R.f,i=0;i<r.length;i++){var a=r[i];w(t,a)||n(t,a,o(e,a))}},At=/#|\.prototype\./,Ot=function(t,e){var r=jt[Rt(t)];return r==It||r!=Pt&&("function"==typeof e?o(e):!!e)},Rt=Ot.normalize=function(t){return String(t).replace(At,".").toLowerCase()},jt=Ot.data={},Pt=Ot.NATIVE="N",It=Ot.POLYFILL="P",Tt=Ot,kt=R.f,Lt=function(t,e){var r,o,i,a,u,s=t.target,c=t.global,f=t.stat;if(r=c?n:f?n[s]||k(s,{}):(n[s]||{}).prototype)for(o in e){if(a=e[o],i=t.noTargetGet?(u=kt(r,o))&&u.value:r[o],!Tt(c?o:s+(f?".":"#")+o,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;xt(a,i)}(t.sham||i&&i.sham)&&T(a,"sham",!0),rt(r,o,a,t)}},Ut=function(t){return Object(v(t))},Mt=Math.min,_t=[].copyWithin||function(t,e){var r=Ut(this),n=ft(r.length),o=pt(t,n),i=pt(e,n),a=arguments.length>2?arguments[2]:void 0,u=Mt((void 0===a?n:pt(a,n))-i,n-o),s=1;for(i<o&&o<i+u&&(s=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=s,i+=s;return r},Nt=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())}),Ct=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ft=z("wks"),Bt=n.Symbol,Dt=Ct?Bt:Bt&&Bt.withoutSetter||G,qt=function(t){return w(Ft,t)||(Ft[t]=Nt&&w(Bt,t)?Bt[t]:Dt("Symbol."+t)),Ft[t]},zt=Object.keys||function(t){return yt(t,mt)},Wt=i?Object.defineProperties:function(t,e){j(t);for(var r,n=zt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},Kt=it("document","documentElement"),Gt="prototype",$t="script",Vt=V("IE_PROTO"),Ht=function(){},Xt=function(t){return"<"+$t+">"+t+"</"+$t+">"},Yt=function(){try{tt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Yt=tt?function(t){t.write(Xt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(tt):(e=x("iframe"),r="java"+$t+":",e.style.display="none",Kt.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Xt("document.F=Object")),t.close(),t.F);for(var n=mt.length;n--;)delete Yt[Gt][mt[n]];return Yt()};H[Vt]=!0;var Jt=Object.create||function(t,e){var r;return null!==t?(Ht[Gt]=j(t),r=new Ht,Ht[Gt]=null,r[Vt]=t):r=Yt(),void 0===e?r:Wt(r,e)},Qt=qt("unscopables"),Zt=Array.prototype;null==Zt[Qt]&&I.f(Zt,Qt,{configurable:!0,value:Jt(null)});var te=function(t){Zt[Qt][t]=!0};Lt({target:"Array",proto:!0},{copyWithin:_t}),te("copyWithin");var ee=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},re=function(t,e,r){if(ee(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},ne=Function.call,oe=function(t,e,r){return re(ne,n[t].prototype[e],r)};oe("Array","copyWithin"),Lt({target:"Array",proto:!0},{fill:function(t){for(var e=Ut(this),r=ft(e.length),n=arguments.length,o=pt(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:pt(i,r);a>o;)e[o++]=t;return e}}),te("fill"),oe("Array","fill");var ie=Array.isArray||function(t){return"Array"==h(t)},ae=qt("species"),ue=function(t,e){var r;return ie(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!ie(r.prototype)?y(r)&&null===(r=r[ae])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},se=[].push,ce=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,s,c,f){for(var l,h,p=Ut(u),v=d(p),g=re(s,c,3),y=ft(v.length),m=0,b=f||ue,w=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(h=g(l=v[m],m,p),t))if(e)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:se.call(w,l)}else if(o)return!1;return i?-1:n||o?o:w}},fe={forEach:ce(0),map:ce(1),filter:ce(2),some:ce(3),every:ce(4),find:ce(5),findIndex:ce(6)},le=Object.defineProperty,he={},pe=function(t){throw t},de=function(t,e){if(w(he,t))return he[t];e||(e={});var r=[][t],n=!!w(e,"ACCESSORS")&&e.ACCESSORS,a=w(e,0)?e[0]:pe,u=w(e,1)?e[1]:void 0;return he[t]=!!r&&!o(function(){if(n&&!i)return!0;var t={length:-1};n?le(t,1,{enumerable:!0,get:pe}):t[1]=1,r.call(t,a,u)})},ve=fe.find,ge="find",ye=!0,me=de(ge);ge in[]&&Array(1)[ge](function(){ye=!1}),Lt({target:"Array",proto:!0,forced:ye||!me},{find:function(t){return ve(this,t,arguments.length>1?arguments[1]:void 0)}}),te(ge),oe("Array","find");var be=fe.findIndex,we="findIndex",Se=!0,Ee=de(we);we in[]&&Array(1)[we](function(){Se=!1}),Lt({target:"Array",proto:!0,forced:Se||!Ee},{findIndex:function(t){return be(this,t,arguments.length>1?arguments[1]:void 0)}}),te(we),oe("Array","findIndex");var xe=function(t,e,r,n,o,i,a,u){for(var s,c=o,f=0,l=!!a&&re(a,u,3);f<n;){if(f in r){if(s=l?l(r[f],f,e):r[f],i>0&&ie(s))c=xe(t,e,s,ft(s.length),c,i-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[c]=s}c++}f++}return c},Ae=xe;Lt({target:"Array",proto:!0},{flatMap:function(t){var e,r=Ut(this),n=ft(r.length);return ee(t),(e=ue(r,0)).length=Ae(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),te("flatMap"),oe("Array","flatMap"),Lt({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=Ut(this),r=ft(e.length),n=ue(e,0);return n.length=Ae(n,e,e,r,0,void 0===t?1:st(t)),n}}),te("flat"),oe("Array","flat");var Oe,Re,je,Pe=function(t){return function(e,r){var n,o,i=String(v(e)),a=st(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},Ie={codeAt:Pe(!1),charAt:Pe(!0)},Te=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),ke=V("IE_PROTO"),Le=Object.prototype,Ue=Te?Object.getPrototypeOf:function(t){return t=Ut(t),w(t,ke)?t[ke]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Le:null},Me=qt("iterator"),_e=!1;[].keys&&("next"in(je=[].keys())?(Re=Ue(Ue(je)))!==Object.prototype&&(Oe=Re):_e=!0),null==Oe&&(Oe={}),w(Oe,Me)||T(Oe,Me,function(){return this});var Ne={IteratorPrototype:Oe,BUGGY_SAFARI_ITERATORS:_e},Ce=I.f,Fe=qt("toStringTag"),Be=function(t,e,r){t&&!w(t=r?t:t.prototype,Fe)&&Ce(t,Fe,{configurable:!0,value:e})},De={},qe=Ne.IteratorPrototype,ze=function(){return this},We=function(t,e,r){var n=e+" Iterator";return t.prototype=Jt(qe,{next:f(1,r)}),Be(t,n,!1),De[n]=ze,t},Ke=function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},Ge=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),Ke(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),$e=Ne.IteratorPrototype,Ve=Ne.BUGGY_SAFARI_ITERATORS,He=qt("iterator"),Xe="keys",Ye="values",Je="entries",Qe=function(){return this},Ze=function(t,e,r,n,o,i,a){We(r,e,n);var u,s,c,f=function(t){if(t===o&&v)return v;if(!Ve&&t in p)return p[t];switch(t){case Xe:case Ye:case Je:return function(){return new r(this,t)}}return function(){return new r(this)}},l=e+" Iterator",h=!1,p=t.prototype,d=p[He]||p["@@iterator"]||o&&p[o],v=!Ve&&d||f(o),g="Array"==e&&p.entries||d;if(g&&(u=Ue(g.call(new t)),$e!==Object.prototype&&u.next&&(Ue(u)!==$e&&(Ge?Ge(u,$e):"function"!=typeof u[He]&&T(u,He,Qe)),Be(u,l,!0))),o==Ye&&d&&d.name!==Ye&&(h=!0,v=function(){return d.call(this)}),p[He]!==v&&T(p,He,v),De[e]=v,o)if(s={values:f(Ye),keys:i?v:f(Xe),entries:f(Je)},a)for(c in s)(Ve||h||!(c in p))&&rt(p,c,s[c]);else Lt({target:e,proto:!0,forced:Ve||h},s);return s},tr=Ie.charAt,er="String Iterator",rr=et.set,nr=et.getterFor(er);Ze(String,"String",function(t){rr(this,{type:er,string:String(t),index:0})},function(){var t,e=nr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=tr(r,n),e.index+=t.length,{value:t,done:!1})});var or=function(t,e,r,n){try{return n?e(j(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&j(o.call(t)),e}},ir=qt("iterator"),ar=Array.prototype,ur=function(t){return void 0!==t&&(De.Array===t||ar[ir]===t)},sr=function(t,e,r){var n=m(e);n in t?I.f(t,n,f(0,r)):t[n]=r},cr={};cr[qt("toStringTag")]="z";var fr="[object z]"===String(cr),lr=qt("toStringTag"),hr="Arguments"==h(function(){return arguments}()),pr=fr?h:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),lr))?r:hr?h(e):"Object"==(n=h(e))&&"function"==typeof e.callee?"Arguments":n},dr=qt("iterator"),vr=function(t){if(null!=t)return t[dr]||t["@@iterator"]||De[pr(t)]},gr=function(t){var e,r,n,o,i,a,u=Ut(t),s="function"==typeof this?this:Array,c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=vr(u),p=0;if(l&&(f=re(f,c>2?arguments[2]:void 0,2)),null==h||s==Array&&ur(h))for(r=new s(e=ft(u.length));e>p;p++)a=l?f(u[p],p):u[p],sr(r,p,a);else for(i=(o=h.call(u)).next,r=new s;!(n=i.call(o)).done;p++)a=l?or(o,f,[n.value,p],!0):n.value,sr(r,p,a);return r.length=p,r},yr=qt("iterator"),mr=!1;try{var br=0,wr={next:function(){return{done:!!br++}},return:function(){mr=!0}};wr[yr]=function(){return this},Array.from(wr,function(){throw 2})}catch(t){}var Sr=function(t,e){if(!e&&!mr)return!1;var r=!1;try{var n={};n[yr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},Er=!Sr(function(t){Array.from(t)});Lt({target:"Array",stat:!0,forced:Er},{from:gr});var xr=vt.includes,Ar=de("indexOf",{ACCESSORS:!0,1:0});Lt({target:"Array",proto:!0,forced:!Ar},{includes:function(t){return xr(this,t,arguments.length>1?arguments[1]:void 0)}}),te("includes"),oe("Array","includes");var Or="Array Iterator",Rr=et.set,jr=et.getterFor(Or),Pr=Ze(Array,"Array",function(t,e){Rr(this,{type:Or,target:g(t),index:0,kind:e})},function(){var t=jr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}},"values");De.Arguments=De.Array,te("keys"),te("values"),te("entries"),oe("Array","values");var Ir=o(function(){function t(){}return!(Array.of.call(t)instanceof t)});Lt({target:"Array",stat:!0,forced:Ir},{of:function(){for(var t=0,e=arguments.length,r=new("function"==typeof this?this:Array)(e);e>t;)sr(r,t,arguments[t++]);return r.length=e,r}});var Tr=qt("hasInstance"),kr=Function.prototype;Tr in kr||I.f(kr,Tr,{value:function(t){if("function"!=typeof this||!y(t))return!1;if(!y(this.prototype))return t instanceof this;for(;t=Ue(t);)if(this.prototype===t)return!0;return!1}}),qt("hasInstance");var Lr=Function.prototype,Ur=Lr.toString,Mr=/^\s*function ([^ (]*)/,_r="name";i&&!(_r in Lr)&&(0,I.f)(Lr,_r,{configurable:!0,get:function(){try{return Ur.call(this).match(Mr)[1]}catch(t){return""}}});var Nr=!o(function(){return Object.isExtensible(Object.preventExtensions({}))}),Cr=e(function(t){var e=I.f,r=G("meta"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!y(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,r)){if(!o(t))return"F";if(!e)return"E";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!w(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return Nr&&a.REQUIRED&&o(t)&&!w(t,r)&&i(t),t}};H[r]=!0}),Fr=e(function(t){var e=function(t,e){this.stopped=t,this.result=e},r=t.exports=function(t,r,n,o,i){var a,u,s,c,f,l,h,p=re(r,n,o?2:1);if(i)a=t;else{if("function"!=typeof(u=vr(t)))throw TypeError("Target is not iterable");if(ur(u)){for(s=0,c=ft(t.length);c>s;s++)if((f=o?p(j(h=t[s])[0],h[1]):p(t[s]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(f=or(a,p,h.value,o))&&f&&f instanceof e)return f;return new e(!1)};r.stop=function(t){return new e(!0,t)}}),Br=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},Dr=function(t,e,r){var n,o;return Ge&&"function"==typeof(n=e.constructor)&&n!==r&&y(o=n.prototype)&&o!==r.prototype&&Ge(t,o),t},qr=function(t,e,r){var i=-1!==t.indexOf("Map"),a=-1!==t.indexOf("Weak"),u=i?"set":"add",s=n[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=c[t];rt(c,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return a&&!y(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(Tt(t,"function"!=typeof s||!(a||c.forEach&&!o(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,i,u),Cr.REQUIRED=!0;else if(Tt(t,!0)){var p=new f,d=p[u](a?{}:-0,1)!=p,v=o(function(){p.has(1)}),g=Sr(function(t){new s(t)}),m=!a&&o(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});g||((f=e(function(e,r){Br(e,f,t);var n=Dr(new s,e,f);return null!=r&&Fr(r,n[u],n,i),n})).prototype=c,c.constructor=f),(v||m)&&(h("delete"),h("has"),i&&h("get")),(m||d)&&h(u),a&&c.clear&&delete c.clear}return l[t]=f,Lt({global:!0,forced:f!=s},l),Be(f,t),a||r.setStrong(f,t,i),f},zr=function(t,e,r){for(var n in e)rt(t,n,e[n],r);return t},Wr=qt("species"),Kr=function(t){var e=it(t);i&&e&&!e[Wr]&&(0,I.f)(e,Wr,{configurable:!0,get:function(){return this}})},Gr=I.f,$r=Cr.fastKey,Vr=et.set,Hr=et.getterFor,Xr={getConstructor:function(t,e,r,n){var o=t(function(t,a){Br(t,o,e),Vr(t,{type:e,index:Jt(null),first:void 0,last:void 0,size:0}),i||(t.size=0),null!=a&&Fr(a,t[n],t,r)}),a=Hr(e),u=function(t,e,r){var n,o,u=a(t),c=s(t,e);return c?c.value=r:(u.last=c={index:o=$r(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=c),n&&(n.next=c),i?u.size++:t.size++,"F"!==o&&(u.index[o]=c)),t},s=function(t,e){var r,n=a(t),o=$r(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return zr(o.prototype,{clear:function(){for(var t=a(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,i?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=s(e,t);if(n){var o=n.next,u=n.previous;delete r.index[n.index],n.removed=!0,u&&(u.next=o),o&&(o.previous=u),r.first==n&&(r.first=o),r.last==n&&(r.last=u),i?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=re(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!s(this,t)}}),zr(o.prototype,r?{get:function(t){var e=s(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),i&&Gr(o.prototype,"size",{get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=Hr(e),i=Hr(n);Ze(t,e,function(t,e){Vr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?"keys"==e?{value:r.key,done:!1}:"values"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})},r?"entries":"values",!r,!0),Kr(e)}},Yr=qr("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Xr);fr||rt(Object.prototype,"toString",fr?{}.toString:function(){return"[object "+pr(this)+"]"},{unsafe:!0});var Jr={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Qr=qt("iterator"),Zr=qt("toStringTag"),tn=Pr.values;for(var en in Jr){var rn=n[en],nn=rn&&rn.prototype;if(nn){if(nn[Qr]!==tn)try{T(nn,Qr,tn)}catch(t){nn[Qr]=tn}if(nn[Zr]||T(nn,Zr,en),Jr[en])for(var on in Pr)if(nn[on]!==Pr[on])try{T(nn,on,Pr[on])}catch(t){nn[on]=Pr[on]}}}var an=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return ee(this),(e=void 0!==a)&&ee(a),null==t?new this:(r=[],e?(n=0,o=re(a,i>2?arguments[2]:void 0,2),Fr(t,function(t){r.push(o(t,n++))})):Fr(t,r.push,r),new this(r))};Lt({target:"Map",stat:!0},{from:an});var un=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)};Lt({target:"Map",stat:!0},{of:un});var sn=function(){for(var t,e=j(this),r=ee(e.delete),n=!0,o=0,i=arguments.length;o<i;o++)t=r.call(e,arguments[o]),n=n&&t;return!!n};Lt({target:"Map",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}});var cn=function(t){var e=vr(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return j(e.call(t))},fn=function(t){return Map.prototype.entries.call(t)};Lt({target:"Map",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return!Fr(r,function(t,r){if(!n(r,t,e))return Fr.stop()},void 0,!0,!0).stopped}});var ln=qt("species"),hn=function(t,e){var r,n=j(t).constructor;return void 0===n||null==(r=j(n)[ln])?e:ee(r)};Lt({target:"Map",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){n(r,t,e)&&i.call(o,t,r)},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop(r)},void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{findKey:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop(t)},void 0,!0,!0).result}}),Lt({target:"Map",stat:!0},{groupBy:function(t,e){var r=new this;ee(e);var n=ee(r.has),o=ee(r.get),i=ee(r.set);return Fr(t,function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])}),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{includes:function(t){return Fr(fn(j(this)),function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return Fr.stop();var n,o},void 0,!0,!0).stopped}}),Lt({target:"Map",stat:!0},{keyBy:function(t,e){var r=new this;ee(e);var n=ee(r.set);return Fr(t,function(t){n.call(r,e(t),t)}),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{keyOf:function(t){return Fr(fn(j(this)),function(e,r){if(r===t)return Fr.stop(e)},void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapKeys:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){i.call(o,n(r,t,e),r)},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapValues:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){i.call(o,t,n(r,t,e))},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{merge:function(t){for(var e=j(this),r=ee(e.set),n=0;n<arguments.length;)Fr(arguments[n++],r,e,!0);return e}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=fn(e),n=arguments.length<2,o=n?void 0:arguments[1];if(ee(t),Fr(r,function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)},void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop()},void 0,!0,!0).stopped}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{update:function(t,e){var r=j(this),n=arguments.length;ee(e);var o=r.has(t);if(!o&&n<3)throw TypeError("Updating absent value");var i=o?r.get(t):ee(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var pn=function(t,e){var r,n=j(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof e&&"function"!=typeof o)throw TypeError("At least one callback required");return n.has(t)?(r=n.get(t),"function"==typeof e&&(r=e(r),n.set(t,r))):"function"==typeof o&&(r=o(),n.set(t,r)),r};Lt({target:"Map",proto:!0,real:!0,forced:q},{upsert:pn}),Lt({target:"Map",proto:!0,real:!0,forced:q},{updateOrInsert:pn});var dn="\t\n\v\f\r                 \u2028\u2029\ufeff",vn="["+dn+"]",gn=RegExp("^"+vn+vn+"*"),yn=RegExp(vn+vn+"*$"),mn=function(t){return function(e){var r=String(v(e));return 1&t&&(r=r.replace(gn,"")),2&t&&(r=r.replace(yn,"")),r}},bn={start:mn(1),end:mn(2),trim:mn(3)},wn=wt.f,Sn=R.f,En=I.f,xn=bn.trim,An="Number",On=n[An],Rn=On.prototype,jn=h(Jt(Rn))==An,Pn=function(t){var e,r,n,o,i,a,u,s,c=m(t,!1);if("string"==typeof c&&c.length>2)if(43===(e=(c=xn(c)).charCodeAt(0))||45===e){if(88===(r=c.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=c.slice(2)).length,u=0;u<a;u++)if((s=i.charCodeAt(u))<48||s>o)return NaN;return parseInt(i,n)}return+c};if(Tt(An,!On(" 0o1")||!On("0b1")||On("+0x1"))){for(var In,Tn=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof Tn&&(jn?o(function(){Rn.valueOf.call(r)}):h(r)!=An)?Dr(new On(Pn(e)),r,Tn):Pn(e)},kn=i?wn(On):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),Ln=0;kn.length>Ln;Ln++)w(On,In=kn[Ln])&&!w(Tn,In)&&En(Tn,In,Sn(On,In));Tn.prototype=Rn,Rn.constructor=Tn,rt(n,An,Tn)}Lt({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)});var Un=n.isFinite;Lt({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Un(t)}});var Mn=Math.floor,_n=function(t){return!y(t)&&isFinite(t)&&Mn(t)===t};Lt({target:"Number",stat:!0},{isInteger:_n}),Lt({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Nn=Math.abs;Lt({target:"Number",stat:!0},{isSafeInteger:function(t){return _n(t)&&Nn(t)<=9007199254740991}}),Lt({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),Lt({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var Cn=bn.trim,Fn=n.parseFloat,Bn=1/Fn(dn+"-0")!=-Infinity?function(t){var e=Cn(String(t)),r=Fn(e);return 0===r&&"-"==e.charAt(0)?-0:r}:Fn;Lt({target:"Number",stat:!0,forced:Number.parseFloat!=Bn},{parseFloat:Bn});var Dn=bn.trim,qn=n.parseInt,zn=/^[+-]?0[Xx]/,Wn=8!==qn(dn+"08")||22!==qn(dn+"0x16")?function(t,e){var r=Dn(String(t));return qn(r,e>>>0||(zn.test(r)?16:10))}:qn;Lt({target:"Number",stat:!0,forced:Number.parseInt!=Wn},{parseInt:Wn});var Kn=c.f,Gn=function(t){return function(e){for(var r,n=g(e),o=zt(n),a=o.length,u=0,s=[];a>u;)r=o[u++],i&&!Kn.call(n,r)||s.push(t?[r,n[r]]:n[r]);return s}},$n={entries:Gn(!0),values:Gn(!1)},Vn=$n.entries;Lt({target:"Object",stat:!0},{entries:function(t){return Vn(t)}}),Lt({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){for(var e,r,n=g(t),o=R.f,i=Et(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&sr(a,e,r);return a}});var Hn=o(function(){zt(1)});Lt({target:"Object",stat:!0,forced:Hn},{keys:function(t){return zt(Ut(t))}});var Xn=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Lt({target:"Object",stat:!0},{is:Xn});var Yn=$n.values;Lt({target:"Object",stat:!0},{values:function(t){return Yn(t)}});var Jn=it("Reflect","apply"),Qn=Function.apply,Zn=!o(function(){Jn(function(){})});Lt({target:"Reflect",stat:!0,forced:Zn},{apply:function(t,e,r){return ee(t),j(r),Jn?Jn(t,e,r):Qn.call(t,e,r)}});var to=[].slice,eo={},ro=Function.bind||function(t){var e=ee(this),r=to.call(arguments,1),n=function(){var o=r.concat(to.call(arguments));return this instanceof n?function(t,e,r){if(!(e in eo)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";eo[e]=Function("C,a","return new C("+n.join(",")+")")}return eo[e](t,r)}(e,o.length,o):e.apply(t,o)};return y(e.prototype)&&(n.prototype=e.prototype),n},no=it("Reflect","construct"),oo=o(function(){function t(){}return!(no(function(){},[],t)instanceof t)}),io=!o(function(){no(function(){})}),ao=oo||io;Lt({target:"Reflect",stat:!0,forced:ao,sham:ao},{construct:function(t,e){ee(t),j(e);var r=arguments.length<3?t:ee(arguments[2]);if(io&&!oo)return no(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(ro.apply(t,n))}var o=r.prototype,i=Jt(y(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return y(a)?a:i}});var uo=o(function(){Reflect.defineProperty(I.f({},1,{value:1}),1,{value:2})});Lt({target:"Reflect",stat:!0,forced:uo,sham:!i},{defineProperty:function(t,e,r){j(t);var n=m(e,!0);j(r);try{return I.f(t,n,r),!0}catch(t){return!1}}});var so=R.f;Lt({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=so(j(t),e);return!(r&&!r.configurable)&&delete t[e]}}),Lt({target:"Reflect",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return j(e)===i?e[r]:(n=R.f(e,r))?w(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):y(o=Ue(e))?t(o,r,i):void 0}}),Lt({target:"Reflect",stat:!0,sham:!i},{getOwnPropertyDescriptor:function(t,e){return R.f(j(t),e)}}),Lt({target:"Reflect",stat:!0,sham:!Te},{getPrototypeOf:function(t){return Ue(j(t))}}),Lt({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var co=Object.isExtensible;Lt({target:"Reflect",stat:!0},{isExtensible:function(t){return j(t),!co||co(t)}}),Lt({target:"Reflect",stat:!0},{ownKeys:Et}),Lt({target:"Reflect",stat:!0,sham:!Nr},{preventExtensions:function(t){j(t);try{var e=it("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var fo=o(function(){var t=I.f({},"a",{configurable:!0});return!1!==Reflect.set(Ue(t),"a",1,t)});Lt({target:"Reflect",stat:!0,forced:fo},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=R.f(j(e),r);if(!u){if(y(i=Ue(e)))return t(i,r,n,a);u=f(0)}if(w(u,"value")){if(!1===u.writable||!y(a))return!1;if(o=R.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,I.f(a,r,o)}else I.f(a,r,f(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),Ge&&Lt({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){j(t),Ke(e);try{return Ge(t,e),!0}catch(t){return!1}}});var lo=Cr.getWeakData,ho=et.set,po=et.getterFor,vo=fe.find,go=fe.findIndex,yo=0,mo=function(t){return t.frozen||(t.frozen=new bo)},bo=function(){this.entries=[]},wo=function(t,e){return vo(t.entries,function(t){return t[0]===e})};bo.prototype={get:function(t){var e=wo(this,t);if(e)return e[1]},has:function(t){return!!wo(this,t)},set:function(t,e){var r=wo(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=go(this.entries,function(e){return e[0]===t});return~e&&this.entries.splice(e,1),!!~e}};var So={getConstructor:function(t,e,r,n){var o=t(function(t,i){Br(t,o,e),ho(t,{type:e,id:yo++,frozen:void 0}),null!=i&&Fr(i,t[n],t,r)}),i=po(e),a=function(t,e,r){var n=i(t),o=lo(j(e),!0);return!0===o?mo(n).set(e,r):o[n.id]=r,t};return zr(o.prototype,{delete:function(t){var e=i(this);if(!y(t))return!1;var r=lo(t);return!0===r?mo(e).delete(t):r&&w(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!y(t))return!1;var r=lo(t);return!0===r?mo(e).has(t):r&&w(r,e.id)}}),zr(o.prototype,r?{get:function(t){var e=i(this);if(y(t)){var r=lo(t);return!0===r?mo(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},Eo=e(function(t){var e,r=et.enforce,o=!n.ActiveXObject&&"ActiveXObject"in n,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=qr("WeakMap",a,So);if(D&&o){e=So.getConstructor(a,"WeakMap",!0),Cr.REQUIRED=!0;var s=u.prototype,c=s.delete,f=s.has,l=s.get,h=s.set;zr(s,{delete:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),c.call(this,t)||n.frozen.delete(t)}return c.call(this,t)},has:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(y(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}}),xo=z("metadata"),Ao=xo.store||(xo.store=new Eo),Oo=function(t,e,r){var n=Ao.get(t);if(!n){if(!r)return;Ao.set(t,n=new Yr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Yr)}return o},Ro={store:Ao,getMap:Oo,has:function(t,e,r){var n=Oo(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=Oo(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){Oo(r,n,!0).set(t,e)},keys:function(t,e){var r=Oo(t,e,!1),n=[];return r&&r.forEach(function(t,e){n.push(e)}),n},toKey:function(t){return void 0===t||"symbol"==typeof t?t:String(t)}},jo=Ro.toKey,Po=Ro.set;Lt({target:"Reflect",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:jo(arguments[3]);Po(t,e,j(r),n)}});var Io=Ro.toKey,To=Ro.getMap,ko=Ro.store;Lt({target:"Reflect",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:Io(arguments[2]),n=To(j(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=ko.get(e);return o.delete(r),!!o.size||ko.delete(e)}});var Lo=Ro.has,Uo=Ro.get,Mo=Ro.toKey,_o=function(t,e,r){if(Lo(t,e,r))return Uo(t,e,r);var n=Ue(e);return null!==n?_o(t,n,r):void 0};Lt({target:"Reflect",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:Mo(arguments[2]);return _o(t,j(e),r)}});var No=qr("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Xr),Co=Ro.keys,Fo=Ro.toKey,Bo=function(t,e){var r=Co(t,e),n=Ue(t);if(null===n)return r;var o,i,a=Bo(n,e);return a.length?r.length?(o=new No(r.concat(a)),Fr(o,(i=[]).push,i),i):a:r};Lt({target:"Reflect",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:Fo(arguments[1]);return Bo(j(t),e)}});var Do=Ro.get,qo=Ro.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:qo(arguments[2]);return Do(t,j(e),r)}});var zo=Ro.keys,Wo=Ro.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:Wo(arguments[1]);return zo(j(t),e)}});var Ko=Ro.has,Go=Ro.toKey,$o=function(t,e,r){if(Ko(t,e,r))return!0;var n=Ue(e);return null!==n&&$o(t,n,r)};Lt({target:"Reflect",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:Go(arguments[2]);return $o(t,j(e),r)}});var Vo=Ro.has,Ho=Ro.toKey;Lt({target:"Reflect",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Ho(arguments[2]);return Vo(t,j(e),r)}});var Xo=Ro.toKey,Yo=Ro.set;Lt({target:"Reflect",stat:!0},{metadata:function(t,e){return function(r,n){Yo(t,e,j(r),Xo(n))}}});var Jo=qt("match"),Qo=function(t){var e;return y(t)&&(void 0!==(e=t[Jo])?!!e:"RegExp"==h(t))},Zo=function(){var t=j(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function ti(t,e){return RegExp(t,e)}var ei=o(function(){var t=ti("a","y");return t.lastIndex=2,null!=t.exec("abcd")}),ri=o(function(){var t=ti("^r","gy");return t.lastIndex=2,null!=t.exec("str")}),ni={UNSUPPORTED_Y:ei,BROKEN_CARET:ri},oi=I.f,ii=wt.f,ai=et.set,ui=qt("match"),si=n.RegExp,ci=si.prototype,fi=/a/g,li=/a/g,hi=new si(fi)!==fi,pi=ni.UNSUPPORTED_Y;if(i&&Tt("RegExp",!hi||pi||o(function(){return li[ui]=!1,si(fi)!=fi||si(li)==li||"/a/i"!=si(fi,"i")}))){for(var di=function(t,e){var r,n=this instanceof di,o=Qo(t),i=void 0===e;if(!n&&o&&t.constructor===di&&i)return t;hi?o&&!i&&(t=t.source):t instanceof di&&(i&&(e=Zo.call(t)),t=t.source),pi&&(r=!!e&&e.indexOf("y")>-1)&&(e=e.replace(/y/g,""));var a=Dr(hi?new si(t,e):si(t,e),n?this:ci,di);return pi&&r&&ai(a,{sticky:r}),a},vi=function(t){t in di||oi(di,t,{configurable:!0,get:function(){return si[t]},set:function(e){si[t]=e}})},gi=ii(si),yi=0;gi.length>yi;)vi(gi[yi++]);ci.constructor=di,di.prototype=ci,rt(n,"RegExp",di)}Kr("RegExp");var mi="toString",bi=RegExp.prototype,wi=bi[mi];(o(function(){return"/a/b"!=wi.call({source:"a",flags:"b"})})||wi.name!=mi)&&rt(RegExp.prototype,mi,function(){var t=j(this),e=String(t.source),r=t.flags;return"/"+e+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in bi)?Zo.call(t):r)},{unsafe:!0});var Si=RegExp.prototype.exec,Ei=String.prototype.replace,xi=Si,Ai=function(){var t=/a/,e=/b*/g;return Si.call(t,"a"),Si.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Oi=ni.UNSUPPORTED_Y||ni.BROKEN_CARET,Ri=void 0!==/()??/.exec("")[1];(Ai||Ri||Oi)&&(xi=function(t){var e,r,n,o,i=this,a=Oi&&i.sticky,u=Zo.call(i),s=i.source,c=0,f=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(s="(?: "+s+")",f=" "+f,c++),r=new RegExp("^(?:"+s+")",u)),Ri&&(r=new RegExp("^"+s+"$(?!\\s)",u)),Ai&&(e=i.lastIndex),n=Si.call(a?r:i,f),a?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Ai&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Ri&&n&&n.length>1&&Ei.call(n[0],r,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)}),n});var ji=xi;Lt({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji}),i&&("g"!=/./g.flags||ni.UNSUPPORTED_Y)&&I.f(RegExp.prototype,"flags",{configurable:!0,get:Zo});var Pi=et.get,Ii=RegExp.prototype;i&&ni.UNSUPPORTED_Y&&(0,I.f)(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==Ii){if(this instanceof RegExp)return!!Pi(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}});var Ti,ki,Li=(Ti=!1,(ki=/[ac]/).exec=function(){return Ti=!0,/./.exec.apply(this,arguments)},!0===ki.test("abc")&&Ti),Ui=/./.test;Lt({target:"RegExp",proto:!0,forced:!Li},{test:function(t){if("function"!=typeof this.exec)return Ui.call(this,t);var e=this.exec(t);if(null!==e&&!y(e))throw new Error("RegExp exec method returned something other than an Object or null");return!!e}});var Mi=qt("species"),_i=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),Ni="$0"==="a".replace(/./,"$0"),Ci=qt("replace"),Fi=!!/./[Ci]&&""===/./[Ci]("a","$0"),Bi=!o(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Di=function(t,e,r,n){var i=qt(t),a=!o(function(){var e={};return e[i]=function(){return 7},7!=""[t](e)}),u=a&&!o(function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[Mi]=function(){return r},r.flags="",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](""),!e});if(!a||!u||"replace"===t&&(!_i||!Ni||Fi)||"split"===t&&!Bi){var s=/./[i],c=r(i,""[t],function(t,e,r,n,o){return e.exec===ji?a&&!o?{done:!0,value:s.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}},{REPLACE_KEEPS_$0:Ni,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Fi}),f=c[1];rt(String.prototype,t,c[0]),rt(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&T(RegExp.prototype[i],"sham",!0)},qi=Ie.charAt,zi=function(t,e,r){return e+(r?qi(t,e).length:1)},Wi=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==h(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Di("match",1,function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this);if(!o.global)return Wi(o,i);var a=o.unicode;o.lastIndex=0;for(var u,s=[],c=0;null!==(u=Wi(o,i));){var f=String(u[0]);s[c]=f,""===f&&(o.lastIndex=zi(i,ft(o.lastIndex),a)),c++}return 0===c?null:s}]});var Ki=Math.max,Gi=Math.min,$i=Math.floor,Vi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Di("replace",2,function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?"$":"$0";return[function(r,n){var o=v(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||"string"==typeof n&&-1===n.indexOf(a)){var s=r(e,t,this,n);if(s.done)return s.value}var c=j(t),f=String(this),l="function"==typeof n;l||(n=String(n));var h=c.global;if(h){var p=c.unicode;c.lastIndex=0}for(var d=[];;){var v=Wi(c,f);if(null===v)break;if(d.push(v),!h)break;""===String(v[0])&&(c.lastIndex=zi(f,ft(c.lastIndex),p))}for(var g,y="",m=0,b=0;b<d.length;b++){v=d[b];for(var w=String(v[0]),S=Ki(Gi(st(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var A=v.groups;if(l){var O=[w].concat(E,S,f);void 0!==A&&O.push(A);var R=String(n.apply(void 0,O))}else R=u(w,f,S,E,A,n);S>=m&&(y+=f.slice(m,S)+R,m=S+w.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,s=o.length,c=Hi;return void 0!==i&&(i=Ut(i),c=Vi),e.call(a,c,function(e,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":c=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>s){var l=$i(f/10);return 0===l?e:l<=s?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}c=o[f-1]}return void 0===c?"":c})}}),Di("search",1,function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this),a=o.lastIndex;Xn(a,0)||(o.lastIndex=0);var u=Wi(o,i);return Xn(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]});var Xi=[].push,Yi=Math.min,Ji=4294967295,Qi=!o(function(){return!RegExp(Ji,"y")});Di("split",2,function(t,e,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,r){var n=String(v(this)),o=void 0===r?Ji:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Qo(t))return e.call(n,t,o);for(var i,a,u,s=[],c=0,f=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(i=ji.call(f,n))&&!((a=f.lastIndex)>c&&(s.push(n.slice(c,i.index)),i.length>1&&i.index<n.length&&Xi.apply(s,i.slice(1)),u=i[0].length,c=a,s.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return c===n.length?!u&&f.test("")||s.push(""):s.push(n.slice(c)),s.length>o?s.slice(0,o):s}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=v(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=j(t),u=String(this),s=hn(a,RegExp),c=a.unicode,f=new s(Qi?a:"^(?:"+a.source+")",(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Qi?"y":"g")),l=void 0===o?Ji:o>>>0;if(0===l)return[];if(0===u.length)return null===Wi(f,u)?[u]:[];for(var h=0,p=0,d=[];p<u.length;){f.lastIndex=Qi?p:0;var v,g=Wi(f,Qi?u:u.slice(p));if(null===g||(v=Yi(ft(f.lastIndex+(Qi?0:p)),u.length))===h)p=zi(u,p,c);else{if(d.push(u.slice(h,p)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;p=h=v}}return d.push(u.slice(h)),d}]},!Qi),Lt({target:"Set",stat:!0},{from:an}),Lt({target:"Set",stat:!0},{of:un});var Zi=function(){for(var t=j(this),e=ee(t.add),r=0,n=arguments.length;r<n;r++)e.call(t,arguments[r]);return t};Lt({target:"Set",proto:!0,real:!0,forced:q},{addAll:function(){return Zi.apply(this,arguments)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}});var ta=function(t){return Set.prototype.values.call(t)};Lt({target:"Set",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return!Fr(r,function(t){if(!n(t,t,e))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{difference:function(t){var e=j(this),r=new(hn(e,it("Set")))(e),n=ee(r.delete);return Fr(t,function(t){n.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Set"))),i=ee(o.add);return Fr(r,function(t){n(t,t,e)&&i.call(o,t)},void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t){if(n(t,t,e))return Fr.stop(t)},void 0,!1,!0).result}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{intersection:function(t){var e=j(this),r=new(hn(e,it("Set"))),n=ee(e.has),o=ee(r.add);return Fr(t,function(t){n.call(e,t)&&o.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isDisjointFrom:function(t){var e=j(this),r=ee(e.has);return!Fr(t,function(t){if(!0===r.call(e,t))return Fr.stop()}).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSubsetOf:function(t){var e=cn(this),r=j(t),n=r.has;return"function"!=typeof n&&(r=new(it("Set"))(t),n=ee(r.has)),!Fr(e,function(t){if(!1===n.call(r,t))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSupersetOf:function(t){var e=j(this),r=ee(e.has);return!Fr(t,function(t){if(!1===r.call(e,t))return Fr.stop()}).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{join:function(t){var e=j(this),r=ta(e),n=void 0===t?",":String(t),o=[];return Fr(r,o.push,o,!1,!0),o.join(n)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{map:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Set"))),i=ee(o.add);return Fr(r,function(t){i.call(o,n(t,t,e))},void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=ta(e),n=arguments.length<2,o=n?void 0:arguments[1];if(ee(t),Fr(r,function(r){n?(n=!1,o=r):o=t(o,r,r,e)},void 0,!1,!0),n)throw TypeError("Reduce of empty set with no initial value");return o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t){if(n(t,t,e))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{symmetricDifference:function(t){var e=j(this),r=new(hn(e,it("Set")))(e),n=ee(r.delete),o=ee(r.add);return Fr(t,function(t){n.call(r,t)||o.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{union:function(t){var e=j(this),r=new(hn(e,it("Set")))(e);return Fr(t,ee(r.add),r),r}});var ea,ra,na=it("navigator","userAgent")||"",oa=n.process,ia=oa&&oa.versions,aa=ia&&ia.v8;aa?ra=(ea=aa.split("."))[0]+ea[1]:na&&(!(ea=na.match(/Edge\/(\d+)/))||ea[1]>=74)&&(ea=na.match(/Chrome\/(\d+)/))&&(ra=ea[1]);var ua=ra&&+ra,sa=qt("species"),ca=qt("isConcatSpreadable"),fa=9007199254740991,la="Maximum allowed index exceeded",ha=ua>=51||!o(function(){var t=[];return t[ca]=!1,t.concat()[0]!==t}),pa=ua>=51||!o(function(){var t=[];return(t.constructor={})[sa]=function(){return{foo:1}},1!==t.concat(Boolean).foo}),da=function(t){if(!y(t))return!1;var e=t[ca];return void 0!==e?!!e:ie(t)};Lt({target:"Array",proto:!0,forced:!ha||!pa},{concat:function(t){var e,r,n,o,i,a=Ut(this),u=ue(a,0),s=0;for(e=-1,n=arguments.length;e<n;e++)if(da(i=-1===e?a:arguments[e])){if(s+(o=ft(i.length))>fa)throw TypeError(la);for(r=0;r<o;r++,s++)r in i&&sr(u,s,i[r])}else{if(s>=fa)throw TypeError(la);sr(u,s++,i)}return u.length=s,u}});var va=wt.f,ga={}.toString,ya="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ma={f:function(t){return ya&&"[object Window]"==ga.call(t)?function(t){try{return va(t)}catch(t){return ya.slice()}}(t):va(g(t))}},ba={f:qt},wa=I.f,Sa=function(t){var e=nt.Symbol||(nt.Symbol={});w(e,t)||wa(e,t,{value:ba.f(t)})},Ea=fe.forEach,xa=V("hidden"),Aa="Symbol",Oa="prototype",Ra=qt("toPrimitive"),ja=et.set,Pa=et.getterFor(Aa),Ia=Object[Oa],Ta=n.Symbol,ka=it("JSON","stringify"),La=R.f,Ua=I.f,Ma=ma.f,_a=c.f,Na=z("symbols"),Ca=z("op-symbols"),Fa=z("string-to-symbol-registry"),Ba=z("symbol-to-string-registry"),Da=z("wks"),qa=n.QObject,za=!qa||!qa[Oa]||!qa[Oa].findChild,Wa=i&&o(function(){return 7!=Jt(Ua({},"a",{get:function(){return Ua(this,"a",{value:7}).a}})).a})?function(t,e,r){var n=La(Ia,e);n&&delete Ia[e],Ua(t,e,r),n&&t!==Ia&&Ua(Ia,e,n)}:Ua,Ka=function(t,e){var r=Na[t]=Jt(Ta[Oa]);return ja(r,{type:Aa,tag:t,description:e}),i||(r.description=e),r},Ga=Ct?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ta},$a=function(t,e,r){t===Ia&&$a(Ca,e,r),j(t);var n=m(e,!0);return j(r),w(Na,n)?(r.enumerable?(w(t,xa)&&t[xa][n]&&(t[xa][n]=!1),r=Jt(r,{enumerable:f(0,!1)})):(w(t,xa)||Ua(t,xa,f(1,{})),t[xa][n]=!0),Wa(t,n,r)):Ua(t,n,r)},Va=function(t,e){j(t);var r=g(e),n=zt(r).concat(Ja(r));return Ea(n,function(e){i&&!Ha.call(r,e)||$a(t,e,r[e])}),t},Ha=function(t){var e=m(t,!0),r=_a.call(this,e);return!(this===Ia&&w(Na,e)&&!w(Ca,e))&&(!(r||!w(this,e)||!w(Na,e)||w(this,xa)&&this[xa][e])||r)},Xa=function(t,e){var r=g(t),n=m(e,!0);if(r!==Ia||!w(Na,n)||w(Ca,n)){var o=La(r,n);return!o||!w(Na,n)||w(r,xa)&&r[xa][n]||(o.enumerable=!0),o}},Ya=function(t){var e=Ma(g(t)),r=[];return Ea(e,function(t){w(Na,t)||w(H,t)||r.push(t)}),r},Ja=function(t){var e=t===Ia,r=Ma(e?Ca:g(t)),n=[];return Ea(r,function(t){!w(Na,t)||e&&!w(Ia,t)||n.push(Na[t])}),n};if(Nt||(Ta=function(){if(this instanceof Ta)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=G(t),r=function(t){this===Ia&&r.call(Ca,t),w(this,xa)&&w(this[xa],e)&&(this[xa][e]=!1),Wa(this,e,f(1,t))};return i&&za&&Wa(Ia,e,{configurable:!0,set:r}),Ka(e,t)},rt(Ta[Oa],"toString",function(){return Pa(this).tag}),rt(Ta,"withoutSetter",function(t){return Ka(G(t),t)}),c.f=Ha,I.f=$a,R.f=Xa,wt.f=ma.f=Ya,St.f=Ja,ba.f=function(t){return Ka(qt(t),t)},i&&(Ua(Ta[Oa],"description",{configurable:!0,get:function(){return Pa(this).description}}),rt(Ia,"propertyIsEnumerable",Ha,{unsafe:!0}))),Lt({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ta}),Ea(zt(Da),function(t){Sa(t)}),Lt({target:Aa,stat:!0,forced:!Nt},{for:function(t){var e=String(t);if(w(Fa,e))return Fa[e];var r=Ta(e);return Fa[e]=r,Ba[r]=e,r},keyFor:function(t){if(!Ga(t))throw TypeError(t+" is not a symbol");if(w(Ba,t))return Ba[t]},useSetter:function(){za=!0},useSimple:function(){za=!1}}),Lt({target:"Object",stat:!0,forced:!Nt,sham:!i},{create:function(t,e){return void 0===e?Jt(t):Va(Jt(t),e)},defineProperty:$a,defineProperties:Va,getOwnPropertyDescriptor:Xa}),Lt({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:Ya,getOwnPropertySymbols:Ja}),Lt({target:"Object",stat:!0,forced:o(function(){St.f(1)})},{getOwnPropertySymbols:function(t){return St.f(Ut(t))}}),ka){var Qa=!Nt||o(function(){var t=Ta();return"[null]"!=ka([t])||"{}"!=ka({a:t})||"{}"!=ka(Object(t))});Lt({target:"JSON",stat:!0,forced:Qa},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(y(e)||void 0!==t)&&!Ga(t))return ie(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Ga(e))return e}),o[1]=e,ka.apply(null,o)}})}Ta[Oa][Ra]||T(Ta[Oa],Ra,Ta[Oa].valueOf),Be(Ta,Aa),H[xa]=!0,Sa("asyncIterator");var Za=I.f,tu=n.Symbol;if(i&&"function"==typeof tu&&(!("description"in tu.prototype)||void 0!==tu().description)){var eu={},ru=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof ru?new tu(t):void 0===t?tu():tu(t);return""===t&&(eu[e]=!0),e};xt(ru,tu);var nu=ru.prototype=tu.prototype;nu.constructor=ru;var ou=nu.toString,iu="Symbol(test)"==String(tu("test")),au=/^Symbol\((.*)\)[^)]+$/;Za(nu,"description",{configurable:!0,get:function(){var t=y(this)?this.valueOf():this,e=ou.call(t);if(w(eu,t))return"";var r=iu?e.slice(7,-1):e.replace(au,"$1");return""===r?void 0:r}}),Lt({global:!0,forced:!0},{Symbol:ru})}Sa("hasInstance"),Sa("isConcatSpreadable"),Sa("iterator"),Sa("match"),Sa("matchAll"),Sa("replace"),Sa("search"),Sa("species"),Sa("split"),Sa("toPrimitive"),Sa("toStringTag"),Sa("unscopables"),Be(Math,"Math",!0),Be(n.JSON,"JSON",!0),Sa("asyncDispose"),Sa("dispose"),Sa("observable"),Sa("patternMatch"),Sa("replaceAll"),ba.f("asyncIterator");var uu=Ie.codeAt;Lt({target:"String",proto:!0},{codePointAt:function(t){return uu(this,t)}}),oe("String","codePointAt");var su,cu=function(t){if(Qo(t))throw TypeError("The method doesn't accept regular expressions");return t},fu=qt("match"),lu=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[fu]=!1,"/./"[t](e)}catch(t){}}return!1},hu=R.f,pu="".endsWith,du=Math.min,vu=lu("endsWith"),gu=!(vu||(su=hu(String.prototype,"endsWith"),!su||su.writable));Lt({target:"String",proto:!0,forced:!gu&&!vu},{endsWith:function(t){var e=String(v(this));cu(t);var r=arguments.length>1?arguments[1]:void 0,n=ft(e.length),o=void 0===r?n:du(ft(r),n),i=String(t);return pu?pu.call(e,i,o):e.slice(o-i.length,o)===i}}),oe("String","endsWith");var yu=String.fromCharCode,mu=String.fromCodePoint;Lt({target:"String",stat:!0,forced:!!mu&&1!=mu.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],pt(e,1114111)!==e)throw RangeError(e+" is not a valid code point");r.push(e<65536?yu(e):yu(55296+((e-=65536)>>10),e%1024+56320))}return r.join("")}}),Lt({target:"String",proto:!0,forced:!lu("includes")},{includes:function(t){return!!~String(v(this)).indexOf(cu(t),arguments.length>1?arguments[1]:void 0)}}),oe("String","includes");var bu="".repeat||function(t){var e=String(v(this)),r="",n=st(t);if(n<0||Infinity==n)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},wu=Math.ceil,Su=function(t){return function(e,r,n){var o,i,a=String(v(e)),u=a.length,s=void 0===n?" ":String(n),c=ft(r);return c<=u||""==s?a:((i=bu.call(s,wu((o=c-u)/s.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},Eu={start:Su(!1),end:Su(!0)},xu=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(na),Au=Eu.start;Lt({target:"String",proto:!0,forced:xu},{padStart:function(t){return Au(this,t,arguments.length>1?arguments[1]:void 0)}}),oe("String","padStart");var Ou=Eu.end;Lt({target:"String",proto:!0,forced:xu},{padEnd:function(t){return Ou(this,t,arguments.length>1?arguments[1]:void 0)}}),oe("String","padEnd"),Lt({target:"String",stat:!0},{raw:function(t){for(var e=g(t.raw),r=ft(e.length),n=arguments.length,o=[],i=0;r>i;)o.push(String(e[i++])),i<n&&o.push(String(arguments[i]));return o.join("")}}),Lt({target:"String",proto:!0},{repeat:bu}),oe("String","repeat");var Ru=R.f,ju="".startsWith,Pu=Math.min,Iu=lu("startsWith"),Tu=!Iu&&!!function(){var t=Ru(String.prototype,"startsWith");return t&&!t.writable}();Lt({target:"String",proto:!0,forced:!Tu&&!Iu},{startsWith:function(t){var e=String(v(this));cu(t);var r=ft(Pu(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return ju?ju.call(e,n,r):e.slice(r,r+n.length)===n}}),oe("String","startsWith");var ku=function(t){return o(function(){return!!dn[t]()||"​…᠎"!="​…᠎"[t]()||dn[t].name!==t})},Lu=bn.start,Uu=ku("trimStart"),Mu=Uu?function(){return Lu(this)}:"".trimStart;Lt({target:"String",proto:!0,forced:Uu},{trimStart:Mu,trimLeft:Mu}),oe("String","trimLeft");var _u=bn.end,Nu=ku("trimEnd"),Cu=Nu?function(){return _u(this)}:"".trimEnd;Lt({target:"String",proto:!0,forced:Nu},{trimEnd:Cu,trimRight:Cu}),oe("String","trimRight");var Fu=qt("iterator"),Bu=!o(function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,r="";return t.pathname="c%20d",e.forEach(function(t,n){e.delete("b"),r+=n+t}),!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Fu]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}),Du=Object.assign,qu=Object.defineProperty,zu=!Du||o(function(){if(i&&1!==Du({b:1},Du(qu({},"a",{enumerable:!0,get:function(){qu(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!=Du({},t)[r]||zt(Du({},e)).join("")!=n})?function(t,e){for(var r=Ut(t),n=arguments.length,o=1,a=St.f,u=c.f;n>o;)for(var s,f=d(arguments[o++]),l=a?zt(f).concat(a(f)):zt(f),h=l.length,p=0;h>p;)s=l[p++],i&&!u.call(f,s)||(r[s]=f[s]);return r}:Du,Wu=2147483647,Ku=/[^\0-\u007E]/,Gu=/[.\u3002\uFF0E\uFF61]/g,$u="Overflow: input needs wider integers to process",Vu=Math.floor,Hu=String.fromCharCode,Xu=function(t){return t+22+75*(t<26)},Yu=function(t,e,r){var n=0;for(t=r?Vu(t/700):t>>1,t+=Vu(t/e);t>455;n+=36)t=Vu(t/35);return Vu(n+36*t/(t+38))},Ju=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r<n;){var o=t.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var i=t.charCodeAt(r++);56320==(64512&i)?e.push(((1023&o)<<10)+(1023&i)+65536):(e.push(o),r--)}else e.push(o)}return e}(t);var r,n,o=t.length,i=128,a=0,u=72;for(r=0;r<t.length;r++)(n=t[r])<128&&e.push(Hu(n));var s=e.length,c=s;for(s&&e.push("-");c<o;){var f=Wu;for(r=0;r<t.length;r++)(n=t[r])>=i&&n<f&&(f=n);var l=c+1;if(f-i>Vu((Wu-a)/l))throw RangeError($u);for(a+=(f-i)*l,i=f,r=0;r<t.length;r++){if((n=t[r])<i&&++a>Wu)throw RangeError($u);if(n==i){for(var h=a,p=36;;p+=36){var d=p<=u?1:p>=u+26?26:p-u;if(h<d)break;var v=h-d,g=36-d;e.push(Hu(Xu(d+v%g))),h=Vu(v/g)}e.push(Hu(Xu(h))),u=Yu(a,l,c==s),a=0,++c}}++a,++i}return e.join("")},Qu=it("fetch"),Zu=it("Headers"),ts=qt("iterator"),es="URLSearchParams",rs=es+"Iterator",ns=et.set,os=et.getterFor(es),is=et.getterFor(rs),as=/\+/g,us=Array(4),ss=function(t){return us[t-1]||(us[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},cs=function(t){try{return decodeURIComponent(t)}catch(e){return t}},fs=function(t){var e=t.replace(as," "),r=4;try{return decodeURIComponent(e)}catch(t){for(;r;)e=e.replace(ss(r--),cs);return e}},ls=/[!'()~]|%20/g,hs={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ps=function(t){return hs[t]},ds=function(t){return encodeURIComponent(t).replace(ls,ps)},vs=function(t,e){if(e)for(var r,n,o=e.split("&"),i=0;i<o.length;)(r=o[i++]).length&&(n=r.split("="),t.push({key:fs(n.shift()),value:fs(n.join("="))}))},gs=function(t){this.entries.length=0,vs(this.entries,t)},ys=function(t,e){if(t<e)throw TypeError("Not enough arguments")},ms=We(function(t,e){ns(this,{type:rs,iterator:cn(os(t).entries),kind:e})},"Iterator",function(){var t=is(this),e=t.kind,r=t.iterator.next(),n=r.value;return r.done||(r.value="keys"===e?n.key:"values"===e?n.value:[n.key,n.value]),r}),bs=function(){Br(this,bs,es);var t,e,r,n,o,i,a,u,s,c=arguments.length>0?arguments[0]:void 0,f=[];if(ns(this,{type:es,entries:f,updateURL:function(){},updateSearchParams:gs}),void 0!==c)if(y(c))if("function"==typeof(t=vr(c)))for(r=(e=t.call(c)).next;!(n=r.call(e)).done;){if((a=(i=(o=cn(j(n.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");f.push({key:a.value+"",value:u.value+""})}else for(s in c)w(c,s)&&f.push({key:s,value:c[s]+""});else vs(f,"string"==typeof c?"?"===c.charAt(0)?c.slice(1):c:c+"")},ws=bs.prototype;zr(ws,{append:function(t,e){ys(arguments.length,2);var r=os(this);r.entries.push({key:t+"",value:e+""}),r.updateURL()},delete:function(t){ys(arguments.length,1);for(var e=os(this),r=e.entries,n=t+"",o=0;o<r.length;)r[o].key===n?r.splice(o,1):o++;e.updateURL()},get:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=[],o=0;o<e.length;o++)e[o].key===r&&n.push(e[o].value);return n},has:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=0;n<e.length;)if(e[n++].key===r)return!0;return!1},set:function(t,e){ys(arguments.length,1);for(var r,n=os(this),o=n.entries,i=!1,a=t+"",u=e+"",s=0;s<o.length;s++)(r=o[s]).key===a&&(i?o.splice(s--,1):(i=!0,r.value=u));i||o.push({key:a,value:u}),n.updateURL()},sort:function(){var t,e,r,n=os(this),o=n.entries,i=o.slice();for(o.length=0,r=0;r<i.length;r++){for(t=i[r],e=0;e<r;e++)if(o[e].key>t.key){o.splice(e,0,t);break}e===r&&o.push(t)}n.updateURL()},forEach:function(t){for(var e,r=os(this).entries,n=re(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<r.length;)n((e=r[o++]).value,e.key,this)},keys:function(){return new ms(this,"keys")},values:function(){return new ms(this,"values")},entries:function(){return new ms(this,"entries")}},{enumerable:!0}),rt(ws,ts,ws.entries),rt(ws,"toString",function(){for(var t,e=os(this).entries,r=[],n=0;n<e.length;)t=e[n++],r.push(ds(t.key)+"="+ds(t.value));return r.join("&")},{enumerable:!0}),Be(bs,es),Lt({global:!0,forced:!Bu},{URLSearchParams:bs}),Bu||"function"!=typeof Qu||"function"!=typeof Zu||Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var e,r,n,o=[t];return arguments.length>1&&(y(e=arguments[1])&&pr(r=e.body)===es&&((n=e.headers?new Zu(e.headers):new Zu).has("content-type")||n.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),e=Jt(e,{body:f(0,String(r)),headers:f(0,n)})),o.push(e)),Qu.apply(this,o)}});var Ss,Es={URLSearchParams:bs,getState:os},xs=Ie.codeAt,As=n.URL,Os=Es.URLSearchParams,Rs=Es.getState,js=et.set,Ps=et.getterFor("URL"),Is=Math.floor,Ts=Math.pow,ks="Invalid scheme",Ls="Invalid host",Us="Invalid port",Ms=/[A-Za-z]/,_s=/[\d+-.A-Za-z]/,Ns=/\d/,Cs=/^(0x|0X)/,Fs=/^[0-7]+$/,Bs=/^\d+$/,Ds=/^[\dA-Fa-f]+$/,qs=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,zs=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Ws=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Ks=/[\u0009\u000A\u000D]/g,Gs=function(t,e){var r,n,o;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return Ls;if(!(r=Vs(e.slice(1,-1))))return Ls;t.host=r}else if(ec(t)){if(e=function(t){var e,r,n=[],o=t.toLowerCase().replace(Gu,".").split(".");for(e=0;e<o.length;e++)n.push(Ku.test(r=o[e])?"xn--"+Ju(r):r);return n.join(".")}(e),qs.test(e))return Ls;if(null===(r=$s(e)))return Ls;t.host=r}else{if(zs.test(e))return Ls;for(r="",n=gr(e),o=0;o<n.length;o++)r+=Zs(n[o],Xs);t.host=r}},$s=function(t){var e,r,n,o,i,a,u,s=t.split(".");if(s.length&&""==s[s.length-1]&&s.pop(),(e=s.length)>4)return t;for(r=[],n=0;n<e;n++){if(""==(o=s[n]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=Cs.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Bs:8==i?Fs:Ds).test(o))return t;a=parseInt(o,i)}r.push(a)}for(n=0;n<e;n++)if(a=r[n],n==e-1){if(a>=Ts(256,5-e))return null}else if(a>255)return null;for(u=r.pop(),n=0;n<r.length;n++)u+=r[n]*Ts(256,3-n);return u},Vs=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,f=++c}for(;h();){if(8==c)return;if(":"!=h()){for(e=r=0;r<4&&Ds.test(h());)e=16*e+parseInt(h(),16),l++,r++;if("."==h()){if(0==r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."==h()&&n<4))return;l++}if(!Ns.test(h()))return;for(;Ns.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!=c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!=c)return;return s},Hs=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)e.unshift(t%256),t=Is(t/256);return e.join(".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r&&(e=n,r=o),e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=t[r].toString(16),r<7&&(e+=":")));return"["+e+"]"}return t},Xs={},Ys=zu({},Xs,{" ":1,'"':1,"<":1,">":1,"`":1}),Js=zu({},Ys,{"#":1,"?":1,"{":1,"}":1}),Qs=zu({},Js,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Zs=function(t,e){var r=xs(t,0);return r>32&&r<127&&!w(e,t)?t:encodeURIComponent(t)},tc={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ec=function(t){return w(tc,t.scheme)},rc=function(t){return""!=t.username||""!=t.password},nc=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},oc=function(t,e){var r;return 2==t.length&&Ms.test(t.charAt(0))&&(":"==(r=t.charAt(1))||!e&&"|"==r)},ic=function(t){var e;return t.length>1&&oc(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},ac=function(t){var e=t.path,r=e.length;!r||"file"==t.scheme&&1==r&&oc(e[0],!0)||e.pop()},uc=function(t){return"."===t||"%2e"===t.toLowerCase()},sc={},cc={},fc={},lc={},hc={},pc={},dc={},vc={},gc={},yc={},mc={},bc={},wc={},Sc={},Ec={},xc={},Ac={},Oc={},Rc={},jc={},Pc={},Ic=function(t,e,r,n){var o,i,a,u,s,c=r||sc,f=0,l="",h=!1,p=!1,d=!1;for(r||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(Ws,"")),e=e.replace(Ks,""),o=gr(e);f<=o.length;){switch(i=o[f],c){case sc:if(!i||!Ms.test(i)){if(r)return ks;c=fc;continue}l+=i.toLowerCase(),c=cc;break;case cc:if(i&&(_s.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(r)return ks;l="",c=fc,f=0;continue}if(r&&(ec(t)!=w(tc,l)||"file"==l&&(rc(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,r)return void(ec(t)&&tc[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?c=Sc:ec(t)&&n&&n.scheme==t.scheme?c=lc:ec(t)?c=vc:"/"==o[f+1]?(c=hc,f++):(t.cannotBeABaseURL=!0,t.path.push(""),c=Rc)}break;case fc:if(!n||n.cannotBeABaseURL&&"#"!=i)return ks;if(n.cannotBeABaseURL&&"#"==i){t.scheme=n.scheme,t.path=n.path.slice(),t.query=n.query,t.fragment="",t.cannotBeABaseURL=!0,c=Pc;break}c="file"==n.scheme?Sc:pc;continue;case lc:if("/"!=i||"/"!=o[f+1]){c=pc;continue}c=gc,f++;break;case hc:if("/"==i){c=yc;break}c=Oc;continue;case pc:if(t.scheme=n.scheme,i==Ss)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query;else if("/"==i||"\\"==i&&ec(t))c=dc;else if("?"==i)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query="",c=jc;else{if("#"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.path.pop(),c=Oc;continue}t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=Pc}break;case dc:if(!ec(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,c=Oc;continue}c=yc}else c=gc;break;case vc:if(c=gc,"/"!=i||"/"!=l.charAt(f+1))continue;f++;break;case gc:if("/"!=i&&"\\"!=i){c=yc;continue}break;case yc:if("@"==i){h&&(l="%40"+l),h=!0,a=gr(l);for(var v=0;v<a.length;v++){var g=a[v];if(":"!=g||d){var y=Zs(g,Qs);d?t.password+=y:t.username+=y}else d=!0}l=""}else if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)){if(h&&""==l)return"Invalid authority";f-=gr(l).length+1,l="",c=mc}else l+=i;break;case mc:case bc:if(r&&"file"==t.scheme){c=xc;continue}if(":"!=i||p){if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)){if(ec(t)&&""==l)return Ls;if(r&&""==l&&(rc(t)||null!==t.port))return;if(u=Gs(t,l))return u;if(l="",c=Ac,r)return;continue}"["==i?p=!0:"]"==i&&(p=!1),l+=i}else{if(""==l)return Ls;if(u=Gs(t,l))return u;if(l="",c=wc,r==bc)return}break;case wc:if(!Ns.test(i)){if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)||r){if(""!=l){var m=parseInt(l,10);if(m>65535)return Us;t.port=ec(t)&&m===tc[t.scheme]?null:m,l=""}if(r)return;c=Ac;continue}return Us}l+=i;break;case Sc:if(t.scheme="file","/"==i||"\\"==i)c=Ec;else{if(!n||"file"!=n.scheme){c=Oc;continue}if(i==Ss)t.host=n.host,t.path=n.path.slice(),t.query=n.query;else if("?"==i)t.host=n.host,t.path=n.path.slice(),t.query="",c=jc;else{if("#"!=i){ic(o.slice(f).join(""))||(t.host=n.host,t.path=n.path.slice(),ac(t)),c=Oc;continue}t.host=n.host,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=Pc}}break;case Ec:if("/"==i||"\\"==i){c=xc;break}n&&"file"==n.scheme&&!ic(o.slice(f).join(""))&&(oc(n.path[0],!0)?t.path.push(n.path[0]):t.host=n.host),c=Oc;continue;case xc:if(i==Ss||"/"==i||"\\"==i||"?"==i||"#"==i){if(!r&&oc(l))c=Oc;else if(""==l){if(t.host="",r)return;c=Ac}else{if(u=Gs(t,l))return u;if("localhost"==t.host&&(t.host=""),r)return;l="",c=Ac}continue}l+=i;break;case Ac:if(ec(t)){if(c=Oc,"/"!=i&&"\\"!=i)continue}else if(r||"?"!=i)if(r||"#"!=i){if(i!=Ss&&(c=Oc,"/"!=i))continue}else t.fragment="",c=Pc;else t.query="",c=jc;break;case Oc:if(i==Ss||"/"==i||"\\"==i&&ec(t)||!r&&("?"==i||"#"==i)){if(".."===(s=(s=l).toLowerCase())||"%2e."===s||".%2e"===s||"%2e%2e"===s?(ac(t),"/"==i||"\\"==i&&ec(t)||t.path.push("")):uc(l)?"/"==i||"\\"==i&&ec(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&oc(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==Ss||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",c=jc):"#"==i&&(t.fragment="",c=Pc)}else l+=Zs(i,Js);break;case Rc:"?"==i?(t.query="",c=jc):"#"==i?(t.fragment="",c=Pc):i!=Ss&&(t.path[0]+=Zs(i,Xs));break;case jc:r||"#"!=i?i!=Ss&&("'"==i&&ec(t)?t.query+="%27":t.query+="#"==i?"%23":Zs(i,Xs)):(t.fragment="",c=Pc);break;case Pc:i!=Ss&&(t.fragment+=Zs(i,Ys))}f++}},Tc=function(t){var e,r,n=Br(this,Tc,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=js(n,{type:"URL"});if(void 0!==o)if(o instanceof Tc)e=Ps(o);else if(r=Ic(e={},String(o)))throw TypeError(r);if(r=Ic(u,a,null,e))throw TypeError(r);var s=u.searchParams=new Os,c=Rs(s);c.updateSearchParams(u.query),c.updateURL=function(){u.query=String(s)||null},i||(n.href=Lc.call(n),n.origin=Uc.call(n),n.protocol=Mc.call(n),n.username=_c.call(n),n.password=Nc.call(n),n.host=Cc.call(n),n.hostname=Fc.call(n),n.port=Bc.call(n),n.pathname=Dc.call(n),n.search=qc.call(n),n.searchParams=zc.call(n),n.hash=Wc.call(n))},kc=Tc.prototype,Lc=function(){var t=Ps(this),e=t.scheme,r=t.username,n=t.password,o=t.host,i=t.port,a=t.path,u=t.query,s=t.fragment,c=e+":";return null!==o?(c+="//",rc(t)&&(c+=r+(n?":"+n:"")+"@"),c+=Hs(o),null!==i&&(c+=":"+i)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(c+="?"+u),null!==s&&(c+="#"+s),c},Uc=function(){var t=Ps(this),e=t.scheme,r=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(t){return"null"}return"file"!=e&&ec(t)?e+"://"+Hs(t.host)+(null!==r?":"+r:""):"null"},Mc=function(){return Ps(this).scheme+":"},_c=function(){return Ps(this).username},Nc=function(){return Ps(this).password},Cc=function(){var t=Ps(this),e=t.host,r=t.port;return null===e?"":null===r?Hs(e):Hs(e)+":"+r},Fc=function(){var t=Ps(this).host;return null===t?"":Hs(t)},Bc=function(){var t=Ps(this).port;return null===t?"":String(t)},Dc=function(){var t=Ps(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},qc=function(){var t=Ps(this).query;return t?"?"+t:""},zc=function(){return Ps(this).searchParams},Wc=function(){var t=Ps(this).fragment;return t?"#"+t:""},Kc=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(i&&Wt(kc,{href:Kc(Lc,function(t){var e=Ps(this),r=String(t),n=Ic(e,r);if(n)throw TypeError(n);Rs(e.searchParams).updateSearchParams(e.query)}),origin:Kc(Uc),protocol:Kc(Mc,function(t){var e=Ps(this);Ic(e,String(t)+":",sc)}),username:Kc(_c,function(t){var e=Ps(this),r=gr(String(t));if(!nc(e)){e.username="";for(var n=0;n<r.length;n++)e.username+=Zs(r[n],Qs)}}),password:Kc(Nc,function(t){var e=Ps(this),r=gr(String(t));if(!nc(e)){e.password="";for(var n=0;n<r.length;n++)e.password+=Zs(r[n],Qs)}}),host:Kc(Cc,function(t){var e=Ps(this);e.cannotBeABaseURL||Ic(e,String(t),mc)}),hostname:Kc(Fc,function(t){var e=Ps(this);e.cannotBeABaseURL||Ic(e,String(t),bc)}),port:Kc(Bc,function(t){var e=Ps(this);nc(e)||(""==(t=String(t))?e.port=null:Ic(e,t,wc))}),pathname:Kc(Dc,function(t){var e=Ps(this);e.cannotBeABaseURL||(e.path=[],Ic(e,t+"",Ac))}),search:Kc(qc,function(t){var e=Ps(this);""==(t=String(t))?e.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),e.query="",Ic(e,t,jc)),Rs(e.searchParams).updateSearchParams(e.query)}),searchParams:Kc(zc),hash:Kc(Wc,function(t){var e=Ps(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),e.fragment="",Ic(e,t,Pc)):e.fragment=null})}),rt(kc,"toJSON",function(){return Lc.call(this)},{enumerable:!0}),rt(kc,"toString",function(){return Lc.call(this)},{enumerable:!0}),As){var Gc=As.createObjectURL,$c=As.revokeObjectURL;Gc&&rt(Tc,"createObjectURL",function(t){return Gc.apply(As,arguments)}),$c&&rt(Tc,"revokeObjectURL",function(t){return $c.apply(As,arguments)})}Be(Tc,"URL"),Lt({global:!0,forced:!Bu,sham:!i},{URL:Tc}),Lt({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}}),Lt({target:"WeakMap",stat:!0},{from:an}),Lt({target:"WeakMap",stat:!0},{of:un}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{upsert:pn}),qr("WeakSet",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},So),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{addAll:function(){return Zi.apply(this,arguments)}}),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}}),Lt({target:"WeakSet",stat:!0},{from:an}),Lt({target:"WeakSet",stat:!0},{of:un});var Vc,Hc,Xc,Yc=n.Promise,Jc=/(iphone|ipod|ipad).*applewebkit/i.test(na),Qc=n.location,Zc=n.setImmediate,tf=n.clearImmediate,ef=n.process,rf=n.MessageChannel,nf=n.Dispatch,of=0,af={},uf="onreadystatechange",sf=function(t){if(af.hasOwnProperty(t)){var e=af[t];delete af[t],e()}},cf=function(t){return function(){sf(t)}},ff=function(t){sf(t.data)},lf=function(t){n.postMessage(t+"",Qc.protocol+"//"+Qc.host)};Zc&&tf||(Zc=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return af[++of]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},Vc(of),of},tf=function(t){delete af[t]},"process"==h(ef)?Vc=function(t){ef.nextTick(cf(t))}:nf&&nf.now?Vc=function(t){nf.now(cf(t))}:rf&&!Jc?(Xc=(Hc=new rf).port2,Hc.port1.onmessage=ff,Vc=re(Xc.postMessage,Xc,1)):!n.addEventListener||"function"!=typeof postMessage||n.importScripts||o(lf)||"file:"===Qc.protocol?Vc=uf in x("script")?function(t){Kt.appendChild(x("script"))[uf]=function(){Kt.removeChild(this),sf(t)}}:function(t){setTimeout(cf(t),0)}:(Vc=lf,n.addEventListener("message",ff,!1)));var hf,pf,df,vf,gf,yf,mf,bf,wf={set:Zc,clear:tf},Sf=R.f,Ef=wf.set,xf=n.MutationObserver||n.WebKitMutationObserver,Af=n.process,Of=n.Promise,Rf="process"==h(Af),jf=Sf(n,"queueMicrotask"),Pf=jf&&jf.value;Pf||(hf=function(){var t,e;for(Rf&&(t=Af.domain)&&t.exit();pf;){e=pf.fn,pf=pf.next;try{e()}catch(t){throw pf?vf():df=void 0,t}}df=void 0,t&&t.enter()},Rf?vf=function(){Af.nextTick(hf)}:xf&&!Jc?(gf=!0,yf=document.createTextNode(""),new xf(hf).observe(yf,{characterData:!0}),vf=function(){yf.data=gf=!gf}):Of&&Of.resolve?(mf=Of.resolve(void 0),bf=mf.then,vf=function(){bf.call(mf,hf)}):vf=function(){Ef.call(n,hf)});var If,Tf,kf,Lf,Uf=Pf||function(t){var e={fn:t,next:void 0};df&&(df.next=e),pf||(pf=e,vf()),df=e},Mf=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n}),this.resolve=ee(e),this.reject=ee(r)},_f={f:function(t){return new Mf(t)}},Nf=function(t,e){if(j(t),y(e)&&e.constructor===t)return e;var r=_f.f(t);return(0,r.resolve)(e),r.promise},Cf=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Ff=wf.set,Bf=qt("species"),Df="Promise",qf=et.get,zf=et.set,Wf=et.getterFor(Df),Kf=Yc,Gf=n.TypeError,$f=n.document,Vf=n.process,Hf=it("fetch"),Xf=_f.f,Yf=Xf,Jf="process"==h(Vf),Qf=!!($f&&$f.createEvent&&n.dispatchEvent),Zf="unhandledrejection",tl=Tt(Df,function(){if(F(Kf)===String(Kf)){if(66===ua)return!0;if(!Jf&&"function"!=typeof PromiseRejectionEvent)return!0}if(ua>=51&&/native code/.test(Kf))return!1;var t=Kf.resolve(1),e=function(t){t(function(){},function(){})};return(t.constructor={})[Bf]=e,!(t.then(function(){})instanceof e)}),el=tl||!Sr(function(t){Kf.all(t).catch(function(){})}),rl=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},nl=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;Uf(function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,s,c,f=n[a++],l=i?f.ok:f.fail,h=f.resolve,p=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&ul(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),c=!0)),u===f.promise?p(Gf("Promise-chain cycle")):(s=rl(u))?s.call(u,h,p):h(u)):p(o)}catch(t){d&&!c&&d.exit(),p(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&il(t,e)})}},ol=function(t,e,r){var o,i;Qf?((o=$f.createEvent("Event")).promise=e,o.reason=r,o.initEvent(t,!1,!0),n.dispatchEvent(o)):o={promise:e,reason:r},(i=n["on"+t])?i(o):t===Zf&&function(t,e){var r=n.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}("Unhandled promise rejection",r)},il=function(t,e){Ff.call(n,function(){var r,n=e.value;if(al(e)&&(r=Cf(function(){Jf?Vf.emit("unhandledRejection",n,t):ol(Zf,t,n)}),e.rejection=Jf||al(e)?2:1,r.error))throw r.value})},al=function(t){return 1!==t.rejection&&!t.parent},ul=function(t,e){Ff.call(n,function(){Jf?Vf.emit("rejectionHandled",t):ol("rejectionhandled",t,e.value)})},sl=function(t,e,r,n){return function(o){t(e,r,o,n)}},cl=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,nl(t,e,!0))},fl=function(t,e,r,n){if(!e.done){e.done=!0,n&&(e=n);try{if(t===r)throw Gf("Promise can't be resolved itself");var o=rl(r);o?Uf(function(){var n={done:!1};try{o.call(r,sl(fl,t,n,e),sl(cl,t,n,e))}catch(r){cl(t,n,r,e)}}):(e.value=r,e.state=1,nl(t,e,!1))}catch(r){cl(t,{done:!1},r,e)}}};tl&&(Kf=function(t){Br(this,Kf,Df),ee(t),If.call(this);var e=qf(this);try{t(sl(fl,this,e),sl(cl,this,e))}catch(t){cl(this,e,t)}},(If=function(t){zf(this,{type:Df,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=zr(Kf.prototype,{then:function(t,e){var r=Wf(this),n=Xf(hn(this,Kf));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=Jf?Vf.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&nl(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Tf=function(){var t=new If,e=qf(t);this.promise=t,this.resolve=sl(fl,t,e),this.reject=sl(cl,t,e)},_f.f=Xf=function(t){return t===Kf||t===kf?new Tf(t):Yf(t)},"function"==typeof Yc&&(Lf=Yc.prototype.then,rt(Yc.prototype,"then",function(t,e){var r=this;return new Kf(function(t,e){Lf.call(r,t,e)}).then(t,e)},{unsafe:!0}),"function"==typeof Hf&&Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return Nf(Kf,Hf.apply(n,arguments))}}))),Lt({global:!0,wrap:!0,forced:tl},{Promise:Kf}),Be(Kf,Df,!1),Kr(Df),kf=it(Df),Lt({target:Df,stat:!0,forced:tl},{reject:function(t){var e=Xf(this);return e.reject.call(void 0,t),e.promise}}),Lt({target:Df,stat:!0,forced:tl},{resolve:function(t){return Nf(this,t)}}),Lt({target:Df,stat:!0,forced:el},{all:function(t){var e=this,r=Xf(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),i=[],a=0,u=1;Fr(t,function(t){var s=a++,c=!1;i.push(void 0),u++,r.call(e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=Xf(e),n=r.reject,o=Cf(function(){var o=ee(e.resolve);Fr(t,function(t){o.call(e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Lt({target:"Promise",stat:!0},{allSettled:function(t){var e=this,r=_f.f(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),o=[],i=0,a=1;Fr(t,function(t){var u=i++,s=!1;o.push(void 0),a++,r.call(e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var ll=!!Yc&&o(function(){Yc.prototype.finally.call({then:function(){}},function(){})});Lt({target:"Promise",proto:!0,real:!0,forced:ll},{finally:function(t){var e=hn(this,it("Promise")),r="function"==typeof t;return this.then(r?function(r){return Nf(e,t()).then(function(){return r})}:t,r?function(r){return Nf(e,t()).then(function(){throw r})}:t)}}),"function"!=typeof Yc||Yc.prototype.finally||rt(Yc.prototype,"finally",it("Promise").prototype.finally);var hl=et.set,pl=et.getterFor("AggregateError"),dl=function(t,e){var r=this;if(!(r instanceof dl))return new dl(t,e);Ge&&(r=Ge(new Error(e),Ue(r)));var n=[];return Fr(t,n.push,n),i?hl(r,{errors:n,type:"AggregateError"}):r.errors=n,void 0!==e&&T(r,"message",String(e)),r};dl.prototype=Jt(Error.prototype,{constructor:f(5,dl),message:f(5,""),name:f(5,"AggregateError")}),i&&I.f(dl.prototype,"errors",{get:function(){return pl(this).errors},configurable:!0}),Lt({global:!0},{AggregateError:dl}),Lt({target:"Promise",stat:!0},{try:function(t){var e=_f.f(this),r=Cf(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}});var vl="No one promise resolved";Lt({target:"Promise",stat:!0},{any:function(t){var e=this,r=_f.f(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),i=[],a=0,u=1,s=!1;Fr(t,function(t){var c=a++,f=!1;i.push(void 0),u++,r.call(e,t).then(function(t){f||s||(s=!0,n(t))},function(t){f||s||(f=!0,i[c]=t,--u||o(new(it("AggregateError"))(i,vl)))})}),--u||o(new(it("AggregateError"))(i,vl))});return i.error&&o(i.value),r.promise}}),oe("Promise","finally");var gl="URLSearchParams"in self,yl="Symbol"in self&&"iterator"in Symbol,ml="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),bl="FormData"in self,wl="ArrayBuffer"in self;if(wl)var Sl=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],El=ArrayBuffer.isView||function(t){return t&&Sl.indexOf(Object.prototype.toString.call(t))>-1};function xl(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Al(t){return"string"!=typeof t&&(t=String(t)),t}function Ol(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return yl&&(e[Symbol.iterator]=function(){return e}),e}function Rl(t){this.map={},t instanceof Rl?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function jl(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function Pl(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function Il(t){var e=new FileReader,r=Pl(e);return e.readAsArrayBuffer(t),r}function Tl(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function kl(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:ml&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:bl&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:gl&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():wl&&ml&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Tl(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):wl&&(ArrayBuffer.prototype.isPrototypeOf(t)||El(t))?this._bodyArrayBuffer=Tl(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):gl&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},ml&&(this.blob=function(){var t=jl(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?jl(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Il)}),this.text=function(){var t=jl(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=Pl(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},bl&&(this.formData=function(){return this.text().then(Ml)}),this.json=function(){return this.text().then(JSON.parse)},this}Rl.prototype.append=function(t,e){t=xl(t),e=Al(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},Rl.prototype.delete=function(t){delete this.map[xl(t)]},Rl.prototype.get=function(t){return t=xl(t),this.has(t)?this.map[t]:null},Rl.prototype.has=function(t){return this.map.hasOwnProperty(xl(t))},Rl.prototype.set=function(t,e){this.map[xl(t)]=Al(e)},Rl.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},Rl.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),Ol(t)},Rl.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),Ol(t)},Rl.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),Ol(t)},yl&&(Rl.prototype[Symbol.iterator]=Rl.prototype.entries);var Ll=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Ul(t,e){var r,n,o=(e=e||{}).body;if(t instanceof Ul){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Rl(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new Rl(e.headers)),this.method=(n=(r=e.method||this.method||"GET").toUpperCase(),Ll.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function Ml(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function _l(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new Rl(e.headers),this.url=e.url||"",this._initBody(t)}Ul.prototype.clone=function(){return new Ul(this,{body:this._bodyInit})},kl.call(Ul.prototype),kl.call(_l.prototype),_l.prototype.clone=function(){return new _l(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Rl(this.headers),url:this.url})},_l.error=function(){var t=new _l(null,{status:0,statusText:""});return t.type="error",t};var Nl=[301,302,303,307,308];_l.redirect=function(t,e){if(-1===Nl.indexOf(e))throw new RangeError("Invalid status code");return new _l(null,{status:e,headers:{location:t}})};var Cl=self.DOMException;try{new Cl}catch(t){(Cl=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),Cl.prototype.constructor=Cl}function Fl(t,e){return new Promise(function(r,n){var o=new Ul(t,e);if(o.signal&&o.signal.aborted)return n(new Cl("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new Rl,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new _l("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new Cl("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&ml&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}Fl.polyfill=!0,self.fetch||(self.fetch=Fl,self.Headers=Rl,self.Request=Ul,self.Response=_l);var Bl=Object.getOwnPropertySymbols,Dl=Object.prototype.hasOwnProperty,ql=Object.prototype.propertyIsEnumerable,zl=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i<arguments.length;i++){for(var a in r=Object(arguments[i]))Dl.call(r,a)&&(o[a]=r[a]);if(Bl){n=Bl(r);for(var u=0;u<n.length;u++)ql.call(r,n[u])&&(o[n[u]]=r[n[u]])}}return o};Object.assign=zl}(); diff --git a/.next/static/chunks/react-refresh.js b/.next/static/chunks/react-refresh.js deleted file mode 100644 index ad87633..0000000 --- a/.next/static/chunks/react-refresh.js +++ /dev/null @@ -1,62 +0,0 @@ -// runtime can't be in strict mode because a global variable is assign and maybe created. -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["react-refresh"],{ - -/***/ "./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js ***! - \********************************************************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n/**\n * MIT License\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// This file is copied from the Metro JavaScript bundler, with minor tweaks for\n// webpack 4 compatibility.\n//\n// https://github.com/facebook/metro/blob/d6b9685c730d0d63577db40f41369157f28dfa3a/packages/metro/src/lib/polyfills/require.js\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nfunction isSafeExport(key) {\n return (key === '__esModule' ||\n key === '__N_SSG' ||\n key === '__N_SSP' ||\n // TODO: remove this key from page config instead of allow listing it\n key === 'config');\n}\nfunction registerExportsForReactRefresh(moduleExports, moduleID) {\n runtime_1.default.register(moduleExports, moduleID + ' %exports%');\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n var exportValue = moduleExports[key];\n var typeID = moduleID + ' %exports% ' + key;\n runtime_1.default.register(exportValue, typeID);\n }\n}\nfunction getRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(runtime_1.default.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return signature;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n var exportValue = moduleExports[key];\n signature.push(key);\n signature.push(runtime_1.default.getFamilyByType(exportValue));\n }\n return signature;\n}\nfunction isReactRefreshBoundary(moduleExports) {\n if (runtime_1.default.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n if (isSafeExport(key)) {\n continue;\n }\n var exportValue = moduleExports[key];\n if (!runtime_1.default.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n}\nfunction shouldInvalidateReactRefreshBoundary(prevExports, nextExports) {\n var prevSignature = getRefreshBoundarySignature(prevExports);\n var nextSignature = getRefreshBoundarySignature(nextExports);\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (var i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n}\nvar isUpdateScheduled = false;\n// This function aggregates updates from multiple modules into a single React Refresh call.\nfunction scheduleUpdate() {\n if (isUpdateScheduled) {\n return;\n }\n isUpdateScheduled = true;\n function canApplyUpdate(status) {\n return status === 'idle';\n }\n function applyUpdate() {\n isUpdateScheduled = false;\n try {\n runtime_1.default.performReactRefresh();\n }\n catch (err) {\n console.warn('Warning: Failed to re-render. We will retry on the next Fast Refresh event.\\n' +\n err);\n }\n }\n if (canApplyUpdate(module.hot.status())) {\n // Apply update on the next tick.\n Promise.resolve().then(() => {\n applyUpdate();\n });\n return;\n }\n const statusHandler = (status) => {\n if (canApplyUpdate(status)) {\n module.hot.removeStatusHandler(statusHandler);\n applyUpdate();\n }\n };\n // Apply update once the HMR runtime's status is idle.\n module.hot.addStatusHandler(statusHandler);\n}\n// Needs to be compatible with IE11\nexports[\"default\"] = {\n registerExportsForReactRefresh: registerExportsForReactRefresh,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n getRefreshBoundarySignature: getRefreshBoundarySignature,\n scheduleUpdate: scheduleUpdate,\n};\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9pbnRlcm5hbC9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0EsOENBQTZDLEVBQUUsYUFBYSxFQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixVQUFVO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksVUFBVTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksVUFBVTtBQUNkO0FBQ0E7QUFDQSxrQkFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L2ludGVybmFsL2hlbHBlcnMuanM/NDAzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8qKlxuICogTUlUIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG52YXIgX19pbXBvcnREZWZhdWx0ID0gKHRoaXMgJiYgdGhpcy5fX2ltcG9ydERlZmF1bHQpIHx8IGZ1bmN0aW9uIChtb2QpIHtcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IFwiZGVmYXVsdFwiOiBtb2QgfTtcbn07XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vLyBUaGlzIGZpbGUgaXMgY29waWVkIGZyb20gdGhlIE1ldHJvIEphdmFTY3JpcHQgYnVuZGxlciwgd2l0aCBtaW5vciB0d2Vha3MgZm9yXG4vLyB3ZWJwYWNrIDQgY29tcGF0aWJpbGl0eS5cbi8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svbWV0cm8vYmxvYi9kNmI5Njg1YzczMGQwZDYzNTc3ZGI0MGY0MTM2OTE1N2YyOGRmYTNhL3BhY2thZ2VzL21ldHJvL3NyYy9saWIvcG9seWZpbGxzL3JlcXVpcmUuanNcbmNvbnN0IHJ1bnRpbWVfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZVwiKSk7XG5mdW5jdGlvbiBpc1NhZmVFeHBvcnQoa2V5KSB7XG4gICAgcmV0dXJuIChrZXkgPT09ICdfX2VzTW9kdWxlJyB8fFxuICAgICAgICBrZXkgPT09ICdfX05fU1NHJyB8fFxuICAgICAgICBrZXkgPT09ICdfX05fU1NQJyB8fFxuICAgICAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyBrZXkgZnJvbSBwYWdlIGNvbmZpZyBpbnN0ZWFkIG9mIGFsbG93IGxpc3RpbmcgaXRcbiAgICAgICAga2V5ID09PSAnY29uZmlnJyk7XG59XG5mdW5jdGlvbiByZWdpc3RlckV4cG9ydHNGb3JSZWFjdFJlZnJlc2gobW9kdWxlRXhwb3J0cywgbW9kdWxlSUQpIHtcbiAgICBydW50aW1lXzEuZGVmYXVsdC5yZWdpc3Rlcihtb2R1bGVFeHBvcnRzLCBtb2R1bGVJRCArICcgJWV4cG9ydHMlJyk7XG4gICAgaWYgKG1vZHVsZUV4cG9ydHMgPT0gbnVsbCB8fCB0eXBlb2YgbW9kdWxlRXhwb3J0cyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gRXhpdCBpZiB3ZSBjYW4ndCBpdGVyYXRlIG92ZXIgZXhwb3J0cy5cbiAgICAgICAgLy8gKFRoaXMgaXMgaW1wb3J0YW50IGZvciBsZWdhY3kgZW52aXJvbm1lbnRzLilcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKHZhciBrZXkgaW4gbW9kdWxlRXhwb3J0cykge1xuICAgICAgICBpZiAoaXNTYWZlRXhwb3J0KGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgdmFyIHR5cGVJRCA9IG1vZHVsZUlEICsgJyAlZXhwb3J0cyUgJyArIGtleTtcbiAgICAgICAgcnVudGltZV8xLmRlZmF1bHQucmVnaXN0ZXIoZXhwb3J0VmFsdWUsIHR5cGVJRCk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UmVmcmVzaEJvdW5kYXJ5U2lnbmF0dXJlKG1vZHVsZUV4cG9ydHMpIHtcbiAgICB2YXIgc2lnbmF0dXJlID0gW107XG4gICAgc2lnbmF0dXJlLnB1c2gocnVudGltZV8xLmRlZmF1bHQuZ2V0RmFtaWx5QnlUeXBlKG1vZHVsZUV4cG9ydHMpKTtcbiAgICBpZiAobW9kdWxlRXhwb3J0cyA9PSBudWxsIHx8IHR5cGVvZiBtb2R1bGVFeHBvcnRzICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBFeGl0IGlmIHdlIGNhbid0IGl0ZXJhdGUgb3ZlciBleHBvcnRzLlxuICAgICAgICAvLyAoVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGxlZ2FjeSBlbnZpcm9ubWVudHMuKVxuICAgICAgICByZXR1cm4gc2lnbmF0dXJlO1xuICAgIH1cbiAgICBmb3IgKHZhciBrZXkgaW4gbW9kdWxlRXhwb3J0cykge1xuICAgICAgICBpZiAoaXNTYWZlRXhwb3J0KGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgc2lnbmF0dXJlLnB1c2goa2V5KTtcbiAgICAgICAgc2lnbmF0dXJlLnB1c2gocnVudGltZV8xLmRlZmF1bHQuZ2V0RmFtaWx5QnlUeXBlKGV4cG9ydFZhbHVlKSk7XG4gICAgfVxuICAgIHJldHVybiBzaWduYXR1cmU7XG59XG5mdW5jdGlvbiBpc1JlYWN0UmVmcmVzaEJvdW5kYXJ5KG1vZHVsZUV4cG9ydHMpIHtcbiAgICBpZiAocnVudGltZV8xLmRlZmF1bHQuaXNMaWtlbHlDb21wb25lbnRUeXBlKG1vZHVsZUV4cG9ydHMpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobW9kdWxlRXhwb3J0cyA9PSBudWxsIHx8IHR5cGVvZiBtb2R1bGVFeHBvcnRzICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBFeGl0IGlmIHdlIGNhbid0IGl0ZXJhdGUgb3ZlciBleHBvcnRzLlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHZhciBoYXNFeHBvcnRzID0gZmFsc2U7XG4gICAgdmFyIGFyZUFsbEV4cG9ydHNDb21wb25lbnRzID0gdHJ1ZTtcbiAgICBmb3IgKHZhciBrZXkgaW4gbW9kdWxlRXhwb3J0cykge1xuICAgICAgICBoYXNFeHBvcnRzID0gdHJ1ZTtcbiAgICAgICAgaWYgKGlzU2FmZUV4cG9ydChrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZXhwb3J0VmFsdWUgPSBtb2R1bGVFeHBvcnRzW2tleV07XG4gICAgICAgIGlmICghcnVudGltZV8xLmRlZmF1bHQuaXNMaWtlbHlDb21wb25lbnRUeXBlKGV4cG9ydFZhbHVlKSkge1xuICAgICAgICAgICAgYXJlQWxsRXhwb3J0c0NvbXBvbmVudHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGFzRXhwb3J0cyAmJiBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cztcbn1cbmZ1bmN0aW9uIHNob3VsZEludmFsaWRhdGVSZWFjdFJlZnJlc2hCb3VuZGFyeShwcmV2RXhwb3J0cywgbmV4dEV4cG9ydHMpIHtcbiAgICB2YXIgcHJldlNpZ25hdHVyZSA9IGdldFJlZnJlc2hCb3VuZGFyeVNpZ25hdHVyZShwcmV2RXhwb3J0cyk7XG4gICAgdmFyIG5leHRTaWduYXR1cmUgPSBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmUobmV4dEV4cG9ydHMpO1xuICAgIGlmIChwcmV2U2lnbmF0dXJlLmxlbmd0aCAhPT0gbmV4dFNpZ25hdHVyZS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV4dFNpZ25hdHVyZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAocHJldlNpZ25hdHVyZVtpXSAhPT0gbmV4dFNpZ25hdHVyZVtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxudmFyIGlzVXBkYXRlU2NoZWR1bGVkID0gZmFsc2U7XG4vLyBUaGlzIGZ1bmN0aW9uIGFnZ3JlZ2F0ZXMgdXBkYXRlcyBmcm9tIG11bHRpcGxlIG1vZHVsZXMgaW50byBhIHNpbmdsZSBSZWFjdCBSZWZyZXNoIGNhbGwuXG5mdW5jdGlvbiBzY2hlZHVsZVVwZGF0ZSgpIHtcbiAgICBpZiAoaXNVcGRhdGVTY2hlZHVsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpc1VwZGF0ZVNjaGVkdWxlZCA9IHRydWU7XG4gICAgZnVuY3Rpb24gY2FuQXBwbHlVcGRhdGUoc3RhdHVzKSB7XG4gICAgICAgIHJldHVybiBzdGF0dXMgPT09ICdpZGxlJztcbiAgICB9XG4gICAgZnVuY3Rpb24gYXBwbHlVcGRhdGUoKSB7XG4gICAgICAgIGlzVXBkYXRlU2NoZWR1bGVkID0gZmFsc2U7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBydW50aW1lXzEuZGVmYXVsdC5wZXJmb3JtUmVhY3RSZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdXYXJuaW5nOiBGYWlsZWQgdG8gcmUtcmVuZGVyLiBXZSB3aWxsIHJldHJ5IG9uIHRoZSBuZXh0IEZhc3QgUmVmcmVzaCBldmVudC5cXG4nICtcbiAgICAgICAgICAgICAgICBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjYW5BcHBseVVwZGF0ZShtb2R1bGUuaG90LnN0YXR1cygpKSkge1xuICAgICAgICAvLyBBcHBseSB1cGRhdGUgb24gdGhlIG5leHQgdGljay5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBhcHBseVVwZGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdGF0dXNIYW5kbGVyID0gKHN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoY2FuQXBwbHlVcGRhdGUoc3RhdHVzKSkge1xuICAgICAgICAgICAgbW9kdWxlLmhvdC5yZW1vdmVTdGF0dXNIYW5kbGVyKHN0YXR1c0hhbmRsZXIpO1xuICAgICAgICAgICAgYXBwbHlVcGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gQXBwbHkgdXBkYXRlIG9uY2UgdGhlIEhNUiBydW50aW1lJ3Mgc3RhdHVzIGlzIGlkbGUuXG4gICAgbW9kdWxlLmhvdC5hZGRTdGF0dXNIYW5kbGVyKHN0YXR1c0hhbmRsZXIpO1xufVxuLy8gTmVlZHMgdG8gYmUgY29tcGF0aWJsZSB3aXRoIElFMTFcbmV4cG9ydHMuZGVmYXVsdCA9IHtcbiAgICByZWdpc3RlckV4cG9ydHNGb3JSZWFjdFJlZnJlc2g6IHJlZ2lzdGVyRXhwb3J0c0ZvclJlYWN0UmVmcmVzaCxcbiAgICBpc1JlYWN0UmVmcmVzaEJvdW5kYXJ5OiBpc1JlYWN0UmVmcmVzaEJvdW5kYXJ5LFxuICAgIHNob3VsZEludmFsaWRhdGVSZWFjdFJlZnJlc2hCb3VuZGFyeTogc2hvdWxkSW52YWxpZGF0ZVJlYWN0UmVmcmVzaEJvdW5kYXJ5LFxuICAgIGdldFJlZnJlc2hCb3VuZGFyeVNpZ25hdHVyZTogZ2V0UmVmcmVzaEJvdW5kYXJ5U2lnbmF0dXJlLFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWxwZXJzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js ***! - \***********************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nconst helpers_1 = __importDefault(__webpack_require__(/*! ./internal/helpers */ \"./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\"));\n// Hook into ReactDOM initialization\nruntime_1.default.injectIntoGlobalHook(self);\n// Register global helpers\nself.$RefreshHelpers$ = helpers_1.default;\n// Register a helper for module execution interception\nself.$RefreshInterceptModuleExecution$ = function (webpackModuleId) {\n var prevRefreshReg = self.$RefreshReg$;\n var prevRefreshSig = self.$RefreshSig$;\n self.$RefreshReg$ = function (type, id) {\n runtime_1.default.register(type, webpackModuleId + ' ' + id);\n };\n self.$RefreshSig$ = runtime_1.default.createSignatureFunctionForTransform;\n // Modeled after `useEffect` cleanup pattern:\n // https://react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed\n return function () {\n self.$RefreshReg$ = prevRefreshReg;\n self.$RefreshSig$ = prevRefreshSig;\n };\n};\n//# sourceMappingURL=runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Qsa0NBQWtDLG1CQUFPLENBQUMsNEdBQTBDO0FBQ3BGLGtDQUFrQyxtQkFBTyxDQUFDLGdIQUFvQjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L3J1bnRpbWUuanM/OGFiNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2ltcG9ydERlZmF1bHQgPSAodGhpcyAmJiB0aGlzLl9faW1wb3J0RGVmYXVsdCkgfHwgZnVuY3Rpb24gKG1vZCkge1xuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmNvbnN0IHJ1bnRpbWVfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZVwiKSk7XG5jb25zdCBoZWxwZXJzXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIi4vaW50ZXJuYWwvaGVscGVyc1wiKSk7XG4vLyBIb29rIGludG8gUmVhY3RET00gaW5pdGlhbGl6YXRpb25cbnJ1bnRpbWVfMS5kZWZhdWx0LmluamVjdEludG9HbG9iYWxIb29rKHNlbGYpO1xuLy8gUmVnaXN0ZXIgZ2xvYmFsIGhlbHBlcnNcbnNlbGYuJFJlZnJlc2hIZWxwZXJzJCA9IGhlbHBlcnNfMS5kZWZhdWx0O1xuLy8gUmVnaXN0ZXIgYSBoZWxwZXIgZm9yIG1vZHVsZSBleGVjdXRpb24gaW50ZXJjZXB0aW9uXG5zZWxmLiRSZWZyZXNoSW50ZXJjZXB0TW9kdWxlRXhlY3V0aW9uJCA9IGZ1bmN0aW9uICh3ZWJwYWNrTW9kdWxlSWQpIHtcbiAgICB2YXIgcHJldlJlZnJlc2hSZWcgPSBzZWxmLiRSZWZyZXNoUmVnJDtcbiAgICB2YXIgcHJldlJlZnJlc2hTaWcgPSBzZWxmLiRSZWZyZXNoU2lnJDtcbiAgICBzZWxmLiRSZWZyZXNoUmVnJCA9IGZ1bmN0aW9uICh0eXBlLCBpZCkge1xuICAgICAgICBydW50aW1lXzEuZGVmYXVsdC5yZWdpc3Rlcih0eXBlLCB3ZWJwYWNrTW9kdWxlSWQgKyAnICcgKyBpZCk7XG4gICAgfTtcbiAgICBzZWxmLiRSZWZyZXNoU2lnJCA9IHJ1bnRpbWVfMS5kZWZhdWx0LmNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtO1xuICAgIC8vIE1vZGVsZWQgYWZ0ZXIgYHVzZUVmZmVjdGAgY2xlYW51cCBwYXR0ZXJuOlxuICAgIC8vIGh0dHBzOi8vcmVhY3QuZGV2L2xlYXJuL3N5bmNocm9uaXppbmctd2l0aC1lZmZlY3RzI3N0ZXAtMy1hZGQtY2xlYW51cC1pZi1uZWVkZWRcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZWxmLiRSZWZyZXNoUmVnJCA9IHByZXZSZWZyZXNoUmVnO1xuICAgICAgICBzZWxmLiRSZWZyZXNoU2lnJCA9IHByZXZSZWZyZXNoU2lnO1xuICAgIH07XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cnVudGltZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js ***! - \************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("/**\n * @license React\n * react-refresh-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null && mountedRoots.has(root);\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return <h1>Hi</h1>;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxRUFBcUU7QUFDckU7O0FBRUE7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBLG1EQUFtRDtBQUNuRDs7QUFFQSx5QkFBeUI7O0FBRXpCO0FBQ0EsK0JBQStCOztBQUUvQiw4QkFBOEI7O0FBRTlCLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0Isa0JBQWtCO0FBQ3BDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7OztBQUdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxJ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QSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGNBQWM7QUFDN0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjOzs7QUFHZDtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7O0FBRUEsWUFBWTs7O0FBR1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFDakMscUJBQXFCO0FBQ3JCLHVCQUF1QjtBQUN2Qiw4QkFBOEI7QUFDOUIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC1yZWZyZXNoL2Nqcy9yZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanM/N2U4NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vLyBBVFRFTlRJT05cbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJyk7XG5cbnZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7IC8vIFdlIG5ldmVyIHJlbW92ZSB0aGVzZSBhc3NvY2lhdGlvbnMuXG4vLyBJdCdzIE9LIHRvIHJlZmVyZW5jZSBmYW1pbGllcywgYnV0IHVzZSBXZWFrTWFwL1NldCBmb3IgdHlwZXMuXG5cbnZhciBhbGxGYW1pbGllc0J5SUQgPSBuZXcgTWFwKCk7XG52YXIgYWxsRmFtaWxpZXNCeVR5cGUgPSBuZXcgUG9zc2libHlXZWFrTWFwKCk7XG52YXIgYWxsU2lnbmF0dXJlc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTsgLy8gVGhpcyBXZWFrTWFwIGlzIHJlYWQgYnkgUmVhY3QsIHNvIHdlIG9ubHkgcHV0IGZhbWlsaWVzXG4vLyB0aGF0IGhhdmUgYWN0dWFsbHkgYmVlbiBlZGl0ZWQgaGVyZS4gVGhpcyBrZWVwcyBjaGVja3MgZmFzdC5cbi8vICRGbG93SXNzdWVcblxudmFyIHVwZGF0ZWRGYW1pbGllc0J5VHlwZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTsgLy8gVGhpcyBpcyBjbGVhcmVkIG9uIGV2ZXJ5IHBlcmZvcm1SZWFjdFJlZnJlc2goKSBjYWxsLlxuLy8gSXQgaXMgYW4gYXJyYXkgb2YgW0ZhbWlseSwgTmV4dFR5cGVdIHR1cGxlcy5cblxudmFyIHBlbmRpbmdVcGRhdGVzID0gW107IC8vIFRoaXMgaXMgaW5qZWN0ZWQgYnkgdGhlIHJlbmRlcmVyIHZpYSBEZXZUb29scyBnbG9iYWwgaG9vay5cblxudmFyIGhlbHBlcnNCeVJlbmRlcmVySUQgPSBuZXcgTWFwKCk7XG52YXIgaGVscGVyc0J5Um9vdCA9IG5ldyBNYXAoKTsgLy8gV2Uga2VlcCB0cmFjayBvZiBtb3VudGVkIHJvb3RzIHNvIHdlIGNhbiBzY2hlZHVsZSB1cGRhdGVzLlxuXG52YXIgbW91bnRlZFJvb3RzID0gbmV3IFNldCgpOyAvLyBJZiBhIHJvb3QgY2FwdHVyZXMgYW4gZXJyb3IsIHdlIHJlbWVtYmVyIGl0IHNvIHdlIGNhbiByZXRyeSBvbiBlZGl0LlxuXG52YXIgZmFpbGVkUm9vdHMgPSBuZXcgU2V0KCk7IC8vIEluIGVudmlyb25tZW50cyB0aGF0IHN1cHBvcnQgV2Vha01hcCwgd2UgYWxzbyByZW1lbWJlciB0aGUgbGFzdCBlbGVtZW50IGZvciBldmVyeSByb290LlxuLy8gSXQgbmVlZHMgdG8gYmUgd2VhayBiZWNhdXNlIHdlIGRvIHRoaXMgZXZlbiBmb3Igcm9vdHMgdGhhdCBmYWlsZWQgdG8gbW91bnQuXG4vLyBJZiB0aGVyZSBpcyBubyBXZWFrTWFwLCB3ZSB3b24ndCBhdHRlbXB0IHRvIGRvIHJldHJ5aW5nLlxuLy8gJEZsb3dJc3N1ZVxuXG52YXIgcm9vdEVsZW1lbnRzID0gLy8gJEZsb3dJc3N1ZVxudHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBuZXcgV2Vha01hcCgpIDogbnVsbDtcbnZhciBpc1BlcmZvcm1pbmdSZWZyZXNoID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGNvbXB1dGVGdWxsS2V5KHNpZ25hdHVyZSkge1xuICBpZiAoc2lnbmF0dXJlLmZ1bGxLZXkgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc2lnbmF0dXJlLmZ1bGxLZXk7XG4gIH1cblxuICB2YXIgZnVsbEtleSA9IHNpZ25hdHVyZS5vd25LZXk7XG4gIHZhciBob29rcztcblxuICB0cnkge1xuICAgIGhvb2tzID0gc2lnbmF0dXJlLmdldEN1c3RvbUhvb2tzKCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpbiBhbiBlZGdlIGNhc2UsIGUuZy4gaWYgZXhwcmVzc2lvbiBsaWtlIEZvby51c2VTb21ldGhpbmdcbiAgICAvLyBkZXBlbmRzIG9uIEZvbyB3aGljaCBpcyBsYXppbHkgaW5pdGlhbGl6ZWQgZHVyaW5nIHJlbmRlcmluZy5cbiAgICAvLyBJbiB0aGF0IGNhc2UganVzdCBhc3N1bWUgd2UnbGwgaGF2ZSB0byByZW1vdW50LlxuICAgIHNpZ25hdHVyZS5mb3JjZVJlc2V0ID0gdHJ1ZTtcbiAgICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gICAgcmV0dXJuIGZ1bGxLZXk7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGhvb2sgPSBob29rc1tpXTtcblxuICAgIGlmICh0eXBlb2YgaG9vayAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gU29tZXRoaW5nJ3Mgd3JvbmcuIEFzc3VtZSB3ZSBuZWVkIHRvIHJlbW91bnQuXG4gICAgICBzaWduYXR1cmUuZm9yY2VSZXNldCA9IHRydWU7XG4gICAgICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gICAgICByZXR1cm4gZnVsbEtleTtcbiAgICB9XG5cbiAgICB2YXIgbmVzdGVkSG9va1NpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KGhvb2spO1xuXG4gICAgaWYgKG5lc3RlZEhvb2tTaWduYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gTm8gc2lnbmF0dXJlIG1lYW5zIEhvb2sgd2Fzbid0IGluIHRoZSBzb3VyY2UgY29kZSwgZS5nLiBpbiBhIGxpYnJhcnkuXG4gICAgICAvLyBXZSdsbCBza2lwIGl0IGJlY2F1c2Ugd2UgY2FuIGFzc3VtZSBpdCB3b24ndCBjaGFuZ2UgZHVyaW5nIHRoaXMgc2Vzc2lvbi5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBuZXN0ZWRIb29rS2V5ID0gY29tcHV0ZUZ1bGxLZXkobmVzdGVkSG9va1NpZ25hdHVyZSk7XG5cbiAgICBpZiAobmVzdGVkSG9va1NpZ25hdHVyZS5mb3JjZVJlc2V0KSB7XG4gICAgICBzaWduYXR1cmUuZm9yY2VSZXNldCA9IHRydWU7XG4gICAgfVxuXG4gICAgZnVsbEtleSArPSAnXFxuLS0tXFxuJyArIG5lc3RlZEhvb2tLZXk7XG4gIH1cblxuICBzaWduYXR1cmUuZnVsbEtleSA9IGZ1bGxLZXk7XG4gIHJldHVybiBmdWxsS2V5O1xufVxuXG5mdW5jdGlvbiBoYXZlRXF1YWxTaWduYXR1cmVzKHByZXZUeXBlLCBuZXh0VHlwZSkge1xuICB2YXIgcHJldlNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KHByZXZUeXBlKTtcbiAgdmFyIG5leHRTaWduYXR1cmUgPSBhbGxTaWduYXR1cmVzQnlUeXBlLmdldChuZXh0VHlwZSk7XG5cbiAgaWYgKHByZXZTaWduYXR1cmUgPT09IHVuZGVmaW5lZCAmJiBuZXh0U2lnbmF0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcmV2U2lnbmF0dXJlID09PSB1bmRlZmluZWQgfHwgbmV4dFNpZ25hdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvbXB1dGVGdWxsS2V5KHByZXZTaWduYXR1cmUpICE9PSBjb21wdXRlRnVsbEtleShuZXh0U2lnbmF0dXJlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChuZXh0U2lnbmF0dXJlLmZvcmNlUmVzZXQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gaXNSZWFjdENsYXNzKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGUucHJvdG90eXBlICYmIHR5cGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIGNhblByZXNlcnZlU3RhdGVCZXR3ZWVuKHByZXZUeXBlLCBuZXh0VHlwZSkge1xuICBpZiAoaXNSZWFjdENsYXNzKHByZXZUeXBlKSB8fCBpc1JlYWN0Q2xhc3MobmV4dFR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGhhdmVFcXVhbFNpZ25hdHVyZXMocHJldlR5cGUsIG5leHRUeXBlKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRmFtaWx5KHR5cGUpIHtcbiAgLy8gT25seSBjaGVjayB1cGRhdGVkIHR5cGVzIHRvIGtlZXAgbG9va3VwcyBmYXN0LlxuICByZXR1cm4gdXBkYXRlZEZhbWlsaWVzQnlUeXBlLmdldCh0eXBlKTtcbn0gLy8gSWYgd2UgZGlkbid0IGNhcmUgYWJvdXQgSUUxMSwgd2UgY291bGQgdXNlIG5ldyBNYXAvU2V0KGl0ZXJhYmxlKS5cblxuXG5mdW5jdGlvbiBjbG9uZU1hcChtYXApIHtcbiAgdmFyIGNsb25lID0gbmV3IE1hcCgpO1xuICBtYXAuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgIGNsb25lLnNldChrZXksIHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZTtcbn1cblxuZnVuY3Rpb24gY2xvbmVTZXQoc2V0KSB7XG4gIHZhciBjbG9uZSA9IG5ldyBTZXQoKTtcbiAgc2V0LmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgY2xvbmUuYWRkKHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiBjbG9uZTtcbn0gLy8gVGhpcyBpcyBhIHNhZmV0eSBtZWNoYW5pc20gdG8gcHJvdGVjdCBhZ2FpbnN0IHJvZ3VlIGdldHRlcnMgYW5kIFByb3hpZXMuXG5cblxuZnVuY3Rpb24gZ2V0UHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICB0cnkge1xuICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZS5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBlcmZvcm1SZWFjdFJlZnJlc2goKSB7XG5cbiAgaWYgKHBlbmRpbmdVcGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGlzUGVyZm9ybWluZ1JlZnJlc2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgdmFyIHN0YWxlRmFtaWxpZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIHVwZGF0ZWRGYW1pbGllcyA9IG5ldyBTZXQoKTtcbiAgICB2YXIgdXBkYXRlcyA9IHBlbmRpbmdVcGRhdGVzO1xuICAgIHBlbmRpbmdVcGRhdGVzID0gW107XG4gICAgdXBkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gX3JlZlswXSxcbiAgICAgICAgICBuZXh0VHlwZSA9IF9yZWZbMV07XG4gICAgICAvLyBOb3cgdGhhdCB3ZSBnb3QgYSByZWFsIGVkaXQsIHdlIGNhbiBjcmVhdGUgYXNzb2NpYXRpb25zXG4gICAgICAvLyB0aGF0IHdpbGwgYmUgcmVhZCBieSB0aGUgUmVhY3QgcmVjb25jaWxlci5cbiAgICAgIHZhciBwcmV2VHlwZSA9IGZhbWlseS5jdXJyZW50O1xuICAgICAgdXBkYXRlZEZhbWlsaWVzQnlUeXBlLnNldChwcmV2VHlwZSwgZmFtaWx5KTtcbiAgICAgIHVwZGF0ZWRGYW1pbGllc0J5VHlwZS5zZXQobmV4dFR5cGUsIGZhbWlseSk7XG4gICAgICBmYW1pbHkuY3VycmVudCA9IG5leHRUeXBlOyAvLyBEZXRlcm1pbmUgd2hldGhlciB0aGlzIHNob3VsZCBiZSBhIHJlLXJlbmRlciBvciBhIHJlLW1vdW50LlxuXG4gICAgICBpZiAoY2FuUHJlc2VydmVTdGF0ZUJldHdlZW4ocHJldlR5cGUsIG5leHRUeXBlKSkge1xuICAgICAgICB1cGRhdGVkRmFtaWxpZXMuYWRkKGZhbWlseSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFsZUZhbWlsaWVzLmFkZChmYW1pbHkpO1xuICAgICAgfVxuICAgIH0pOyAvLyBUT0RPOiByZW5hbWUgdGhlc2UgZmllbGRzIHRvIHNvbWV0aGluZyBtb3JlIG1lYW5pbmdmdWwuXG5cbiAgICB2YXIgdXBkYXRlID0ge1xuICAgICAgdXBkYXRlZEZhbWlsaWVzOiB1cGRhdGVkRmFtaWxpZXMsXG4gICAgICAvLyBGYW1pbGllcyB0aGF0IHdpbGwgcmUtcmVuZGVyIHByZXNlcnZpbmcgc3RhdGVcbiAgICAgIHN0YWxlRmFtaWxpZXM6IHN0YWxlRmFtaWxpZXMgLy8gRmFtaWxpZXMgdGhhdCB3aWxsIGJlIHJlbW91bnRlZFxuXG4gICAgfTtcbiAgICBoZWxwZXJzQnlSZW5kZXJlcklELmZvckVhY2goZnVuY3Rpb24gKGhlbHBlcnMpIHtcbiAgICAgIC8vIEV2ZW4gaWYgdGhlcmUgYXJlIG5vIHJvb3RzLCBzZXQgdGhlIGhhbmRsZXIgb24gZmlyc3QgdXBkYXRlLlxuICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgaWYgKm5ldyogcm9vdHMgYXJlIG1vdW50ZWQsIHRoZXknbGwgdXNlIHRoZSByZXNvbHZlIGhhbmRsZXIuXG4gICAgICBoZWxwZXJzLnNldFJlZnJlc2hIYW5kbGVyKHJlc29sdmVGYW1pbHkpO1xuICAgIH0pO1xuICAgIHZhciBkaWRFcnJvciA9IGZhbHNlO1xuICAgIHZhciBmaXJzdEVycm9yID0gbnVsbDsgLy8gV2Ugc25hcHNob3QgbWFwcyBhbmQgc2V0cyB0aGF0IGFyZSBtdXRhdGVkIGR1cmluZyBjb21taXRzLlxuICAgIC8vIElmIHdlIGRvbid0IGRvIHRoaXMsIHRoZXJlIGlzIGEgcmlzayB0aGV5IHdpbGwgYmUgbXV0YXRlZCB3aGlsZVxuICAgIC8vIHdlIGl0ZXJhdGUgb3ZlciB0aGVtLiBGb3IgZXhhbXBsZSwgdHJ5aW5nIHRvIHJlY292ZXIgYSBmYWlsZWQgcm9vdFxuICAgIC8vIG1heSBjYXVzZSBhbm90aGVyIHJvb3QgdG8gYmUgYWRkZWQgdG8gdGhlIGZhaWxlZCBsaXN0IC0tIGFuIGluZmluaXRlIGxvb3AuXG5cbiAgICB2YXIgZmFpbGVkUm9vdHNTbmFwc2hvdCA9IGNsb25lU2V0KGZhaWxlZFJvb3RzKTtcbiAgICB2YXIgbW91bnRlZFJvb3RzU25hcHNob3QgPSBjbG9uZVNldChtb3VudGVkUm9vdHMpO1xuICAgIHZhciBoZWxwZXJzQnlSb290U25hcHNob3QgPSBjbG9uZU1hcChoZWxwZXJzQnlSb290KTtcbiAgICBmYWlsZWRSb290c1NuYXBzaG90LmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdFNuYXBzaG90LmdldChyb290KTtcblxuICAgICAgaWYgKGhlbHBlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGhlbHBlcnMgZm9yIGEgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdCBSZWZyZXNoLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhaWxlZFJvb3RzLmhhcyhyb290KSkgey8vIE5vIGxvbmdlciBmYWlsZWQuXG4gICAgICB9XG5cbiAgICAgIGlmIChyb290RWxlbWVudHMgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJvb3RFbGVtZW50cy5oYXMocm9vdCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWxlbWVudCA9IHJvb3RFbGVtZW50cy5nZXQocm9vdCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGhlbHBlcnMuc2NoZWR1bGVSb290KHJvb3QsIGVsZW1lbnQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICghZGlkRXJyb3IpIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgZmlyc3RFcnJvciA9IGVycjtcbiAgICAgICAgfSAvLyBLZWVwIHRyeWluZyBvdGhlciByb290cy5cblxuICAgICAgfVxuICAgIH0pO1xuICAgIG1vdW50ZWRSb290c1NuYXBzaG90LmZvckVhY2goZnVuY3Rpb24gKHJvb3QpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5Um9vdFNuYXBzaG90LmdldChyb290KTtcblxuICAgICAgaWYgKGhlbHBlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGhlbHBlcnMgZm9yIGEgcm9vdC4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdCBSZWZyZXNoLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW1vdW50ZWRSb290cy5oYXMocm9vdCkpIHsvLyBObyBsb25nZXIgbW91bnRlZC5cbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgaGVscGVycy5zY2hlZHVsZVJlZnJlc2gocm9vdCwgdXBkYXRlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWRpZEVycm9yKSB7XG4gICAgICAgICAgZGlkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIGZpcnN0RXJyb3IgPSBlcnI7XG4gICAgICAgIH0gLy8gS2VlcCB0cnlpbmcgb3RoZXIgcm9vdHMuXG5cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgdGhyb3cgZmlyc3RFcnJvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdXBkYXRlO1xuICB9IGZpbmFsbHkge1xuICAgIGlzUGVyZm9ybWluZ1JlZnJlc2ggPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcmVnaXN0ZXIodHlwZSwgaWQpIHtcbiAge1xuICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB0eXBlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIGluIGFuIGVkZ2UgY2FzZSwgZS5nLiBpZiB3ZSByZWdpc3RlclxuICAgIC8vIHJldHVybiB2YWx1ZSBvZiBhIEhPQyBidXQgaXQgcmV0dXJucyBhIGNhY2hlZCBjb21wb25lbnQuXG4gICAgLy8gSWdub3JlIGFueXRoaW5nIGJ1dCB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGZvciBlYWNoIHR5cGUuXG5cblxuICAgIGlmIChhbGxGYW1pbGllc0J5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIENyZWF0ZSBmYW1pbHkgb3IgcmVtZW1iZXIgdG8gdXBkYXRlIGl0LlxuICAgIC8vIE5vbmUgb2YgdGhpcyBib29ra2VlcGluZyBhZmZlY3RzIHJlY29uY2lsaWF0aW9uXG4gICAgLy8gdW50aWwgdGhlIGZpcnN0IHBlcmZvcm1SZWFjdFJlZnJlc2goKSBjYWxsIGFib3ZlLlxuXG5cbiAgICB2YXIgZmFtaWx5ID0gYWxsRmFtaWxpZXNCeUlELmdldChpZCk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZhbWlseSA9IHtcbiAgICAgICAgY3VycmVudDogdHlwZVxuICAgICAgfTtcbiAgICAgIGFsbEZhbWlsaWVzQnlJRC5zZXQoaWQsIGZhbWlseSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlbmRpbmdVcGRhdGVzLnB1c2goW2ZhbWlseSwgdHlwZV0pO1xuICAgIH1cblxuICAgIGFsbEZhbWlsaWVzQnlUeXBlLnNldCh0eXBlLCBmYW1pbHkpOyAvLyBWaXNpdCBpbm5lciB0eXBlcyBiZWNhdXNlIHdlIG1pZ2h0IG5vdCBoYXZlIHJlZ2lzdGVyZWQgdGhlbS5cblxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgcmVnaXN0ZXIodHlwZS5yZW5kZXIsIGlkICsgJyRyZW5kZXInKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgICByZWdpc3Rlcih0eXBlLnR5cGUsIGlkICsgJyR0eXBlJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBzZXRTaWduYXR1cmUodHlwZSwga2V5KSB7XG4gIHZhciBmb3JjZVJlc2V0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBmYWxzZTtcbiAgdmFyIGdldEN1c3RvbUhvb2tzID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgPyBhcmd1bWVudHNbM10gOiB1bmRlZmluZWQ7XG5cbiAge1xuICAgIGlmICghYWxsU2lnbmF0dXJlc0J5VHlwZS5oYXModHlwZSkpIHtcbiAgICAgIGFsbFNpZ25hdHVyZXNCeVR5cGUuc2V0KHR5cGUsIHtcbiAgICAgICAgZm9yY2VSZXNldDogZm9yY2VSZXNldCxcbiAgICAgICAgb3duS2V5OiBrZXksXG4gICAgICAgIGZ1bGxLZXk6IG51bGwsXG4gICAgICAgIGdldEN1c3RvbUhvb2tzOiBnZXRDdXN0b21Ib29rcyB8fCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IC8vIFZpc2l0IGlubmVyIHR5cGVzIGJlY2F1c2Ugd2UgbWlnaHQgbm90IGhhdmUgc2lnbmVkIHRoZW0uXG5cblxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgc2V0U2lnbmF0dXJlKHR5cGUucmVuZGVyLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgICBzZXRTaWduYXR1cmUodHlwZS50eXBlLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyBsYXppbHkgY2FsbGVkIGR1cmluZyBmaXJzdCByZW5kZXIgZm9yIGEgdHlwZS5cbi8vIEl0IGNhcHR1cmVzIEhvb2sgbGlzdCBhdCB0aGF0IHRpbWUgc28gaW5saW5lIHJlcXVpcmVzIGRvbid0IGJyZWFrIGNvbXBhcmlzb25zLlxuXG5mdW5jdGlvbiBjb2xsZWN0Q3VzdG9tSG9va3NGb3JTaWduYXR1cmUodHlwZSkge1xuICB7XG4gICAgdmFyIHNpZ25hdHVyZSA9IGFsbFNpZ25hdHVyZXNCeVR5cGUuZ2V0KHR5cGUpO1xuXG4gICAgaWYgKHNpZ25hdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb21wdXRlRnVsbEtleShzaWduYXR1cmUpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZ2V0RmFtaWx5QnlJRChpZCkge1xuICB7XG4gICAgcmV0dXJuIGFsbEZhbWlsaWVzQnlJRC5nZXQoaWQpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRGYW1pbHlCeVR5cGUodHlwZSkge1xuICB7XG4gICAgcmV0dXJuIGFsbEZhbWlsaWVzQnlUeXBlLmdldCh0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcyhmYW1pbGllcykge1xuICB7XG4gICAgdmFyIGFmZmVjdGVkSW5zdGFuY2VzID0gbmV3IFNldCgpO1xuICAgIG1vdW50ZWRSb290cy5mb3JFYWNoKGZ1bmN0aW9uIChyb290KSB7XG4gICAgICB2YXIgaGVscGVycyA9IGhlbHBlcnNCeVJvb3QuZ2V0KHJvb3QpO1xuXG4gICAgICBpZiAoaGVscGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgaGVscGVycyBmb3IgYSByb290LiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0IFJlZnJlc2guJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciBpbnN0YW5jZXNGb3JSb290ID0gaGVscGVycy5maW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2gocm9vdCwgZmFtaWxpZXMpO1xuICAgICAgaW5zdGFuY2VzRm9yUm9vdC5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0KSB7XG4gICAgICAgIGFmZmVjdGVkSW5zdGFuY2VzLmFkZChpbnN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBhZmZlY3RlZEluc3RhbmNlcztcbiAgfVxufVxuZnVuY3Rpb24gaW5qZWN0SW50b0dsb2JhbEhvb2soZ2xvYmFsT2JqZWN0KSB7XG4gIHtcbiAgICAvLyBGb3IgUmVhY3QgTmF0aXZlLCB0aGUgZ2xvYmFsIGhvb2sgd2lsbCBiZSBzZXQgdXAgYnkgcmVxdWlyZSgncmVhY3QtZGV2dG9vbHMtY29yZScpLlxuICAgIC8vIFRoYXQgY29kZSB3aWxsIHJ1biBiZWZvcmUgdXMuIFNvIHdlIG5lZWQgdG8gbW9ua2V5cGF0Y2ggZnVuY3Rpb25zIG9uIGV4aXN0aW5nIGhvb2suXG4gICAgLy8gRm9yIFJlYWN0IFdlYiwgdGhlIGdsb2JhbCBob29rIHdpbGwgYmUgc2V0IHVwIGJ5IHRoZSBleHRlbnNpb24uXG4gICAgLy8gVGhpcyB3aWxsIGFsc28gcnVuIGJlZm9yZSB1cy5cbiAgICB2YXIgaG9vayA9IGdsb2JhbE9iamVjdC5fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187XG5cbiAgICBpZiAoaG9vayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBIb3dldmVyLCBpZiB0aGVyZSBpcyBubyBEZXZUb29scyBleHRlbnNpb24sIHdlJ2xsIG5lZWQgdG8gc2V0IHVwIHRoZSBnbG9iYWwgaG9vayBvdXJzZWx2ZXMuXG4gICAgICAvLyBOb3RlIHRoYXQgaW4gdGhpcyBjYXNlIGl0J3MgaW1wb3J0YW50IHRoYXQgcmVuZGVyZXIgY29kZSBydW5zICphZnRlciogdGhpcyBtZXRob2QgY2FsbC5cbiAgICAgIC8vIE90aGVyd2lzZSwgdGhlIHJlbmRlcmVyIHdpbGwgdGhpbmsgdGhhdCB0aGVyZSBpcyBubyBnbG9iYWwgaG9vaywgYW5kIHdvbid0IGRvIHRoZSBpbmplY3Rpb24uXG4gICAgICB2YXIgbmV4dElEID0gMDtcbiAgICAgIGdsb2JhbE9iamVjdC5fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPSBob29rID0ge1xuICAgICAgICByZW5kZXJlcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgc3VwcG9ydHNGaWJlcjogdHJ1ZSxcbiAgICAgICAgaW5qZWN0OiBmdW5jdGlvbiAoaW5qZWN0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dElEKys7XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2NoZWR1bGVGaWJlclJvb3Q6IGZ1bmN0aW9uIChpZCwgcm9vdCwgY2hpbGRyZW4pIHt9LFxuICAgICAgICBvbkNvbW1pdEZpYmVyUm9vdDogZnVuY3Rpb24gKGlkLCByb290LCBtYXliZVByaW9yaXR5TGV2ZWwsIGRpZEVycm9yKSB7fSxcbiAgICAgICAgb25Db21taXRGaWJlclVubW91bnQ6IGZ1bmN0aW9uICgpIHt9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChob29rLmlzRGlzYWJsZWQpIHtcbiAgICAgIC8vIFRoaXMgaXNuJ3QgYSByZWFsIHByb3BlcnR5IG9uIHRoZSBob29rLCBidXQgaXQgY2FuIGJlIHNldCB0byBvcHQgb3V0XG4gICAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgICBjb25zb2xlWyd3YXJuJ10oJ1NvbWV0aGluZyBoYXMgc2hpbW1lZCB0aGUgUmVhY3QgRGV2VG9vbHMgZ2xvYmFsIGhvb2sgKF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXykuICcgKyAnRmFzdCBSZWZyZXNoIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhpcyBzaGltIGFuZCB3aWxsIGJlIGRpc2FibGVkLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSGVyZSwgd2UganVzdCB3YW50IHRvIGdldCBhIHJlZmVyZW5jZSB0byBzY2hlZHVsZVJlZnJlc2guXG5cblxuICAgIHZhciBvbGRJbmplY3QgPSBob29rLmluamVjdDtcblxuICAgIGhvb2suaW5qZWN0ID0gZnVuY3Rpb24gKGluamVjdGVkKSB7XG4gICAgICB2YXIgaWQgPSBvbGRJbmplY3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICAgICAgaWYgKHR5cGVvZiBpbmplY3RlZC5zY2hlZHVsZVJlZnJlc2ggPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGluamVjdGVkLnNldFJlZnJlc2hIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRoaXMgdmVyc2lvbiBzdXBwb3J0cyBSZWFjdCBSZWZyZXNoLlxuICAgICAgICBoZWxwZXJzQnlSZW5kZXJlcklELnNldChpZCwgaW5qZWN0ZWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWQ7XG4gICAgfTsgLy8gRG8gdGhlIHNhbWUgZm9yIGFueSBhbHJlYWR5IGluamVjdGVkIHJvb3RzLlxuICAgIC8vIFRoaXMgaXMgdXNlZnVsIGlmIFJlYWN0RE9NIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNzYyNlxuXG5cbiAgICBob29rLnJlbmRlcmVycy5mb3JFYWNoKGZ1bmN0aW9uIChpbmplY3RlZCwgaWQpIHtcbiAgICAgIGlmICh0eXBlb2YgaW5qZWN0ZWQuc2NoZWR1bGVSZWZyZXNoID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbmplY3RlZC5zZXRSZWZyZXNoSGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUaGlzIHZlcnNpb24gc3VwcG9ydHMgUmVhY3QgUmVmcmVzaC5cbiAgICAgICAgaGVscGVyc0J5UmVuZGVyZXJJRC5zZXQoaWQsIGluamVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gV2UgYWxzbyB3YW50IHRvIHRyYWNrIGN1cnJlbnRseSBtb3VudGVkIHJvb3RzLlxuXG4gICAgdmFyIG9sZE9uQ29tbWl0RmliZXJSb290ID0gaG9vay5vbkNvbW1pdEZpYmVyUm9vdDtcblxuICAgIHZhciBvbGRPblNjaGVkdWxlRmliZXJSb290ID0gaG9vay5vblNjaGVkdWxlRmliZXJSb290IHx8IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgaG9vay5vblNjaGVkdWxlRmliZXJSb290ID0gZnVuY3Rpb24gKGlkLCByb290LCBjaGlsZHJlbikge1xuICAgICAgaWYgKCFpc1BlcmZvcm1pbmdSZWZyZXNoKSB7XG4gICAgICAgIC8vIElmIGl0IHdhcyBpbnRlbnRpb25hbGx5IHNjaGVkdWxlZCwgZG9uJ3QgYXR0ZW1wdCB0byByZXN0b3JlLlxuICAgICAgICAvLyBUaGlzIGluY2x1ZGVzIGludGVudGlvbmFsbHkgc2NoZWR1bGVkIHVubW91bnRzLlxuICAgICAgICBmYWlsZWRSb290cy5kZWxldGUocm9vdCk7XG5cbiAgICAgICAgaWYgKHJvb3RFbGVtZW50cyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJvb3RFbGVtZW50cy5zZXQocm9vdCwgY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvbGRPblNjaGVkdWxlRmliZXJSb290LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcblxuICAgIGhvb2sub25Db21taXRGaWJlclJvb3QgPSBmdW5jdGlvbiAoaWQsIHJvb3QsIG1heWJlUHJpb3JpdHlMZXZlbCwgZGlkRXJyb3IpIHtcbiAgICAgIHZhciBoZWxwZXJzID0gaGVscGVyc0J5UmVuZGVyZXJJRC5nZXQoaWQpO1xuXG4gICAgICBpZiAoaGVscGVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGhlbHBlcnNCeVJvb3Quc2V0KHJvb3QsIGhlbHBlcnMpO1xuICAgICAgICB2YXIgY3VycmVudCA9IHJvb3QuY3VycmVudDtcbiAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGN1cnJlbnQuYWx0ZXJuYXRlOyAvLyBXZSBuZWVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgcm9vdCBoYXMganVzdCAodW4pbW91bnRlZC5cbiAgICAgICAgLy8gVGhpcyBsb2dpYyBpcyBjb3B5LXBhc3RlZCBmcm9tIHNpbWlsYXIgbG9naWMgaW4gdGhlIERldlRvb2xzIGJhY2tlbmQuXG4gICAgICAgIC8vIElmIHRoaXMgYnJlYWtzIHdpdGggc29tZSByZWZhY3RvcmluZywgeW91J2xsIHdhbnQgdG8gdXBkYXRlIERldlRvb2xzIHRvby5cblxuICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIHdhc01vdW50ZWQgPSBhbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSAhPSBudWxsICYmIGFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmVsZW1lbnQgIT0gbnVsbCAmJiBtb3VudGVkUm9vdHMuaGFzKHJvb3QpO1xuICAgICAgICAgIHZhciBpc01vdW50ZWQgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUuZWxlbWVudCAhPSBudWxsO1xuXG4gICAgICAgICAgaWYgKCF3YXNNb3VudGVkICYmIGlzTW91bnRlZCkge1xuICAgICAgICAgICAgLy8gTW91bnQgYSBuZXcgcm9vdC5cbiAgICAgICAgICAgIG1vdW50ZWRSb290cy5hZGQocm9vdCk7XG4gICAgICAgICAgICBmYWlsZWRSb290cy5kZWxldGUocm9vdCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh3YXNNb3VudGVkICYmIGlzTW91bnRlZCkgOyBlbHNlIGlmICh3YXNNb3VudGVkICYmICFpc01vdW50ZWQpIHtcbiAgICAgICAgICAgIC8vIFVubW91bnQgYW4gZXhpc3Rpbmcgcm9vdC5cbiAgICAgICAgICAgIG1vdW50ZWRSb290cy5kZWxldGUocm9vdCk7XG5cbiAgICAgICAgICAgIGlmIChkaWRFcnJvcikge1xuICAgICAgICAgICAgICAvLyBXZSdsbCByZW1vdW50IGl0IG9uIGZ1dHVyZSBlZGl0cy5cbiAgICAgICAgICAgICAgZmFpbGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGVscGVyc0J5Um9vdC5kZWxldGUocm9vdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghd2FzTW91bnRlZCAmJiAhaXNNb3VudGVkKSB7XG4gICAgICAgICAgICBpZiAoZGlkRXJyb3IpIHtcbiAgICAgICAgICAgICAgLy8gV2UnbGwgcmVtb3VudCBpdCBvbiBmdXR1cmUgZWRpdHMuXG4gICAgICAgICAgICAgIGZhaWxlZFJvb3RzLmFkZChyb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTW91bnQgYSBuZXcgcm9vdC5cbiAgICAgICAgICBtb3VudGVkUm9vdHMuYWRkKHJvb3QpO1xuICAgICAgICB9XG4gICAgICB9IC8vIEFsd2F5cyBjYWxsIHRoZSBkZWNvcmF0ZWQgRGV2VG9vbHMgaG9vay5cblxuXG4gICAgICByZXR1cm4gb2xkT25Db21taXRGaWJlclJvb3QuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG59XG5mdW5jdGlvbiBoYXNVbnJlY292ZXJhYmxlRXJyb3JzKCkge1xuICAvLyBUT0RPOiBkZWxldGUgdGhpcyBhZnRlciByZW1vdmluZyBkZXBlbmRlbmN5IGluIFJOLlxuICByZXR1cm4gZmFsc2U7XG59IC8vIEV4cG9zZWQgZm9yIHRlc3RpbmcuXG5cbmZ1bmN0aW9uIF9nZXRNb3VudGVkUm9vdENvdW50KCkge1xuICB7XG4gICAgcmV0dXJuIG1vdW50ZWRSb290cy5zaXplO1xuICB9XG59IC8vIFRoaXMgaXMgYSB3cmFwcGVyIG92ZXIgbW9yZSBwcmltaXRpdmUgZnVuY3Rpb25zIGZvciBzZXR0aW5nIHNpZ25hdHVyZS5cbi8vIFNpZ25hdHVyZXMgbGV0IHVzIGRlY2lkZSB3aGV0aGVyIHRoZSBIb29rIG9yZGVyIGhhcyBjaGFuZ2VkIG9uIHJlZnJlc2guXG4vL1xuLy8gVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgdHJhbnNmb3JtIHRhcmdldCwgZS5nLjpcbi8vIHZhciBfcyA9IGNyZWF0ZVNpZ25hdHVyZUZ1bmN0aW9uRm9yVHJhbnNmb3JtKClcbi8vXG4vLyBmdW5jdGlvbiBIZWxsbygpIHtcbi8vICAgY29uc3QgW2Zvbywgc2V0Rm9vXSA9IHVzZVN0YXRlKDApO1xuLy8gICBjb25zdCB2YWx1ZSA9IHVzZUN1c3RvbUhvb2soKTtcbi8vICAgX3MoKTsgLyogQ2FsbCB3aXRob3V0IGFyZ3VtZW50cyB0cmlnZ2VycyBjb2xsZWN0aW5nIHRoZSBjdXN0b20gSG9vayBsaXN0LlxuLy8gICAgICAgICAgKiBUaGlzIGRvZXNuJ3QgaGFwcGVuIGR1cmluZyB0aGUgbW9kdWxlIGV2YWx1YXRpb24gYmVjYXVzZSB3ZVxuLy8gICAgICAgICAgKiBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGUgbW9kdWxlIG9yZGVyIHdpdGggaW5saW5lIHJlcXVpcmVzLlxuLy8gICAgICAgICAgKiBOZXh0IGNhbGxzIGFyZSBub29wcy4gKi9cbi8vICAgcmV0dXJuIDxoMT5IaTwvaDE+O1xuLy8gfVxuLy9cbi8vIC8qIENhbGwgd2l0aCBhcmd1bWVudHMgYXR0YWNoZXMgdGhlIHNpZ25hdHVyZSB0byB0aGUgdHlwZTogKi9cbi8vIF9zKFxuLy8gICBIZWxsbyxcbi8vICAgJ3VzZVN0YXRle1tmb28sIHNldEZvb119KDApJyxcbi8vICAgKCkgPT4gW3VzZUN1c3RvbUhvb2tdLCAvKiBMYXp5IHRvIGF2b2lkIHRyaWdnZXJpbmcgaW5saW5lIHJlcXVpcmVzICovXG4vLyApO1xuXG5mdW5jdGlvbiBjcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybSgpIHtcbiAge1xuICAgIHZhciBzYXZlZFR5cGU7XG4gICAgdmFyIGhhc0N1c3RvbUhvb2tzO1xuICAgIHZhciBkaWRDb2xsZWN0SG9va3MgPSBmYWxzZTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHR5cGUsIGtleSwgZm9yY2VSZXNldCwgZ2V0Q3VzdG9tSG9va3MpIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBXZSdyZSBpbiB0aGUgaW5pdGlhbCBwaGFzZSB0aGF0IGFzc29jaWF0ZXMgc2lnbmF0dXJlc1xuICAgICAgICAvLyB3aXRoIHRoZSBmdW5jdGlvbnMuIE5vdGUgdGhpcyBtYXkgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIC8vIGluIEhPQyBjaGFpbnMgbGlrZSBfcyhob2MxKF9zKGhvYzIoX3MoYWN0dWFsRnVuY3Rpb24pKSkpKS5cbiAgICAgICAgaWYgKCFzYXZlZFR5cGUpIHtcbiAgICAgICAgICAvLyBXZSdyZSBpbiB0aGUgaW5uZXJtb3N0IGNhbGwsIHNvIHRoaXMgaXMgdGhlIGFjdHVhbCB0eXBlLlxuICAgICAgICAgIHNhdmVkVHlwZSA9IHR5cGU7XG4gICAgICAgICAgaGFzQ3VzdG9tSG9va3MgPSB0eXBlb2YgZ2V0Q3VzdG9tSG9va3MgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIH0gLy8gU2V0IHRoZSBzaWduYXR1cmUgZm9yIGFsbCB0eXBlcyAoZXZlbiB3cmFwcGVycyEpIGluIGNhc2VcbiAgICAgICAgLy8gdGhleSBoYXZlIG5vIHNpZ25hdHVyZXMgb2YgdGhlaXIgb3duLiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAgICAgLy8gcHJvYmxlbXMgbGlrZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzIwNDE3LlxuXG5cbiAgICAgICAgaWYgKHR5cGUgIT0gbnVsbCAmJiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSkge1xuICAgICAgICAgIHNldFNpZ25hdHVyZSh0eXBlLCBrZXksIGZvcmNlUmVzZXQsIGdldEN1c3RvbUhvb2tzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UncmUgaW4gdGhlIF9zKCkgY2FsbCB3aXRob3V0IGFyZ3VtZW50cywgd2hpY2ggbWVhbnNcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgdGltZSB0byBjb2xsZWN0IGN1c3RvbSBIb29rIHNpZ25hdHVyZXMuXG4gICAgICAgIC8vIE9ubHkgZG8gdGhpcyBvbmNlLiBUaGlzIHBhdGggaXMgaG90IGFuZCBydW5zICppbnNpZGUqIGV2ZXJ5IHJlbmRlciFcbiAgICAgICAgaWYgKCFkaWRDb2xsZWN0SG9va3MgJiYgaGFzQ3VzdG9tSG9va3MpIHtcbiAgICAgICAgICBkaWRDb2xsZWN0SG9va3MgPSB0cnVlO1xuICAgICAgICAgIGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZShzYXZlZFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuZnVuY3Rpb24gaXNMaWtlbHlDb21wb25lbnRUeXBlKHR5cGUpIHtcbiAge1xuICAgIHN3aXRjaCAodHlwZW9mIHR5cGUpIHtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIEZpcnN0LCBkZWFsIHdpdGggY2xhc3Nlcy5cbiAgICAgICAgICBpZiAodHlwZS5wcm90b3R5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHR5cGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgLy8gUmVhY3QgY2xhc3MuXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgb3duTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0eXBlLnByb3RvdHlwZSk7XG5cbiAgICAgICAgICAgIGlmIChvd25OYW1lcy5sZW5ndGggPiAxIHx8IG93bk5hbWVzWzBdICE9PSAnY29uc3RydWN0b3InKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgbG9va3MgbGlrZSBhIGNsYXNzLlxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b1xuXG5cbiAgICAgICAgICAgIGlmICh0eXBlLnByb3RvdHlwZS5fX3Byb3RvX18gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgICAgICAgLy8gSXQgaGFzIGEgc3VwZXJjbGFzcy5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSAvLyBQYXNzIHRocm91Z2guXG4gICAgICAgICAgICAvLyBUaGlzIGxvb2tzIGxpa2UgYSByZWd1bGFyIGZ1bmN0aW9uIHdpdGggZW1wdHkgcHJvdG90eXBlLlxuXG4gICAgICAgICAgfSAvLyBGb3IgcGxhaW4gZnVuY3Rpb25zIGFuZCBhcnJvd3MsIHVzZSBuYW1lIGFzIGEgaGV1cmlzdGljLlxuXG5cbiAgICAgICAgICB2YXIgbmFtZSA9IHR5cGUubmFtZSB8fCB0eXBlLmRpc3BsYXlOYW1lO1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycgJiYgL15bQS1aXS8udGVzdChuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgc3dpdGNoIChnZXRQcm9wZXJ0eSh0eXBlLCAnJCR0eXBlb2YnKSkge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgICAgIC8vIERlZmluaXRlbHkgUmVhY3QgY29tcG9uZW50cy5cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnRzLl9nZXRNb3VudGVkUm9vdENvdW50ID0gX2dldE1vdW50ZWRSb290Q291bnQ7XG5leHBvcnRzLmNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZSA9IGNvbGxlY3RDdXN0b21Ib29rc0ZvclNpZ25hdHVyZTtcbmV4cG9ydHMuY3JlYXRlU2lnbmF0dXJlRnVuY3Rpb25Gb3JUcmFuc2Zvcm0gPSBjcmVhdGVTaWduYXR1cmVGdW5jdGlvbkZvclRyYW5zZm9ybTtcbmV4cG9ydHMuZmluZEFmZmVjdGVkSG9zdEluc3RhbmNlcyA9IGZpbmRBZmZlY3RlZEhvc3RJbnN0YW5jZXM7XG5leHBvcnRzLmdldEZhbWlseUJ5SUQgPSBnZXRGYW1pbHlCeUlEO1xuZXhwb3J0cy5nZXRGYW1pbHlCeVR5cGUgPSBnZXRGYW1pbHlCeVR5cGU7XG5leHBvcnRzLmhhc1VucmVjb3ZlcmFibGVFcnJvcnMgPSBoYXNVbnJlY292ZXJhYmxlRXJyb3JzO1xuZXhwb3J0cy5pbmplY3RJbnRvR2xvYmFsSG9vayA9IGluamVjdEludG9HbG9iYWxIb29rO1xuZXhwb3J0cy5pc0xpa2VseUNvbXBvbmVudFR5cGUgPSBpc0xpa2VseUNvbXBvbmVudFR5cGU7XG5leHBvcnRzLnBlcmZvcm1SZWFjdFJlZnJlc2ggPSBwZXJmb3JtUmVhY3RSZWZyZXNoO1xuZXhwb3J0cy5yZWdpc3RlciA9IHJlZ2lzdGVyO1xuZXhwb3J0cy5zZXRTaWduYXR1cmUgPSBzZXRTaWduYXR1cmU7XG4gIH0pKCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\n")); - -/***/ }), - -/***/ "./node_modules/next/dist/compiled/react-refresh/runtime.js": -/*!******************************************************************!*\ - !*** ./node_modules/next/dist/compiled/react-refresh/runtime.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -"use strict"; -eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-refresh-runtime.development.js */ \"./node_modules/next/dist/compiled/react-refresh/cjs/react-refresh-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXJlZnJlc2gvcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUMsQ0FBQztBQUNGLEVBQUUsa0xBQXNFO0FBQ3hFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lLmpzPzljNmUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LXJlZnJlc2gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1yZWZyZXNoLXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/compiled/react-refresh/runtime.js\n")); - -/***/ }) - -}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } -/******/ var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js")); -/******/ _N_E = __webpack_exports__; -/******/ } -]); \ No newline at end of file diff --git a/.next/static/chunks/webpack.js b/.next/static/chunks/webpack.js deleted file mode 100644 index 57cc33f..0000000 --- a/.next/static/chunks/webpack.js +++ /dev/null @@ -1,1320 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (function() { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ if (cachedModule.error !== undefined) throw cachedModule.error; -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ }; -/******/ __webpack_require__.i.forEach(function(handler) { handler(execOptions); }); -/******/ module = execOptions.module; -/******/ execOptions.factory.call(module.exports, module, module.exports, execOptions.require); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete __webpack_module_cache__[moduleId]; -/******/ } -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/******/ // expose the module execution interceptor -/******/ __webpack_require__.i = []; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ !function() { -/******/ var deferred = []; -/******/ __webpack_require__.O = function(result, chunkIds, fn, priority) { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var chunkIds = deferred[i][0]; -/******/ var fn = deferred[i][1]; -/******/ var priority = deferred[i][2]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ !function() { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function() { return module['default']; } : -/******/ function() { return module; }; -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ !function() { -/******/ var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; }; -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; }); -/******/ } -/******/ def['default'] = function() { return value; }; -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ !function() { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ !function() { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = function(chunkId) { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ !function() { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return "static/chunks/" + chunkId + ".js"; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get javascript update chunk filename */ -/******/ !function() { -/******/ // This function allow to reference all chunks -/******/ __webpack_require__.hu = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return "static/webpack/" + chunkId + "." + __webpack_require__.h() + ".hot-update.js"; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get update manifest filename */ -/******/ !function() { -/******/ __webpack_require__.hmrF = function() { return "static/webpack/" + __webpack_require__.h() + ".webpack.hot-update.json"; }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9255d5b6266662c0"; } -/******/ }(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ !function() { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ }(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ !function() { -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/******/ }(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ !function() { -/******/ var inProgress = {}; -/******/ var dataWebpackPrefix = "_N_E:"; -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = function(url, done, key, chunkId) { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName("script"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key); -/******/ script.src = __webpack_require__.tu(url); -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = function(prev, event) { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach(function(fn) { return fn(event); }); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ !function() { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ !function() { -/******/ __webpack_require__.nmd = function(module) { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types policy */ -/******/ !function() { -/******/ var policy; -/******/ __webpack_require__.tt = function() { -/******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet. -/******/ if (policy === undefined) { -/******/ policy = { -/******/ createScript: function(script) { return script; }, -/******/ createScriptURL: function(url) { return url; } -/******/ }; -/******/ if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) { -/******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy); -/******/ } -/******/ } -/******/ return policy; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types script */ -/******/ !function() { -/******/ __webpack_require__.ts = function(script) { return __webpack_require__.tt().createScript(script); }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/trusted types script url */ -/******/ !function() { -/******/ __webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/hot module replacement */ -/******/ !function() { -/******/ var currentModuleData = {}; -/******/ var installedModules = __webpack_require__.c; -/******/ -/******/ // module and require creation -/******/ var currentChildModule; -/******/ var currentParents = []; -/******/ -/******/ // status -/******/ var registeredStatusHandlers = []; -/******/ var currentStatus = "idle"; -/******/ -/******/ // while downloading -/******/ var blockingPromises = 0; -/******/ var blockingPromisesWaiting = []; -/******/ -/******/ // The update info -/******/ var currentUpdateApplyHandlers; -/******/ var queuedInvalidatedModules; -/******/ -/******/ // eslint-disable-next-line no-unused-vars -/******/ __webpack_require__.hmrD = currentModuleData; -/******/ -/******/ __webpack_require__.i.push(function (options) { -/******/ var module = options.module; -/******/ var require = createRequire(options.require, options.id); -/******/ module.hot = createModuleHotObject(options.id, module); -/******/ module.parents = currentParents; -/******/ module.children = []; -/******/ currentParents = []; -/******/ options.require = require; -/******/ }); -/******/ -/******/ __webpack_require__.hmrC = {}; -/******/ __webpack_require__.hmrI = {}; -/******/ -/******/ function createRequire(require, moduleId) { -/******/ var me = installedModules[moduleId]; -/******/ if (!me) return require; -/******/ var fn = function (request) { -/******/ if (me.hot.active) { -/******/ if (installedModules[request]) { -/******/ var parents = installedModules[request].parents; -/******/ if (parents.indexOf(moduleId) === -1) { -/******/ parents.push(moduleId); -/******/ } -/******/ } else { -/******/ currentParents = [moduleId]; -/******/ currentChildModule = request; -/******/ } -/******/ if (me.children.indexOf(request) === -1) { -/******/ me.children.push(request); -/******/ } -/******/ } else { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + -/******/ request + -/******/ ") from disposed module " + -/******/ moduleId -/******/ ); -/******/ currentParents = []; -/******/ } -/******/ return require(request); -/******/ }; -/******/ var createPropertyDescriptor = function (name) { -/******/ return { -/******/ configurable: true, -/******/ enumerable: true, -/******/ get: function () { -/******/ return require[name]; -/******/ }, -/******/ set: function (value) { -/******/ require[name] = value; -/******/ } -/******/ }; -/******/ }; -/******/ for (var name in require) { -/******/ if (Object.prototype.hasOwnProperty.call(require, name) && name !== "e") { -/******/ Object.defineProperty(fn, name, createPropertyDescriptor(name)); -/******/ } -/******/ } -/******/ fn.e = function (chunkId) { -/******/ return trackBlockingPromise(require.e(chunkId)); -/******/ }; -/******/ return fn; -/******/ } -/******/ -/******/ function createModuleHotObject(moduleId, me) { -/******/ var _main = currentChildModule !== moduleId; -/******/ var hot = { -/******/ // private stuff -/******/ _acceptedDependencies: {}, -/******/ _acceptedErrorHandlers: {}, -/******/ _declinedDependencies: {}, -/******/ _selfAccepted: false, -/******/ _selfDeclined: false, -/******/ _selfInvalidated: false, -/******/ _disposeHandlers: [], -/******/ _main: _main, -/******/ _requireSelf: function () { -/******/ currentParents = me.parents.slice(); -/******/ currentChildModule = _main ? undefined : moduleId; -/******/ __webpack_require__(moduleId); -/******/ }, -/******/ -/******/ // Module API -/******/ active: true, -/******/ accept: function (dep, callback, errorHandler) { -/******/ if (dep === undefined) hot._selfAccepted = true; -/******/ else if (typeof dep === "function") hot._selfAccepted = dep; -/******/ else if (typeof dep === "object" && dep !== null) { -/******/ for (var i = 0; i < dep.length; i++) { -/******/ hot._acceptedDependencies[dep[i]] = callback || function () {}; -/******/ hot._acceptedErrorHandlers[dep[i]] = errorHandler; -/******/ } -/******/ } else { -/******/ hot._acceptedDependencies[dep] = callback || function () {}; -/******/ hot._acceptedErrorHandlers[dep] = errorHandler; -/******/ } -/******/ }, -/******/ decline: function (dep) { -/******/ if (dep === undefined) hot._selfDeclined = true; -/******/ else if (typeof dep === "object" && dep !== null) -/******/ for (var i = 0; i < dep.length; i++) -/******/ hot._declinedDependencies[dep[i]] = true; -/******/ else hot._declinedDependencies[dep] = true; -/******/ }, -/******/ dispose: function (callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ addDisposeHandler: function (callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ removeDisposeHandler: function (callback) { -/******/ var idx = hot._disposeHandlers.indexOf(callback); -/******/ if (idx >= 0) hot._disposeHandlers.splice(idx, 1); -/******/ }, -/******/ invalidate: function () { -/******/ this._selfInvalidated = true; -/******/ switch (currentStatus) { -/******/ case "idle": -/******/ currentUpdateApplyHandlers = []; -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ setStatus("ready"); -/******/ break; -/******/ case "ready": -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ break; -/******/ case "prepare": -/******/ case "check": -/******/ case "dispose": -/******/ case "apply": -/******/ (queuedInvalidatedModules = queuedInvalidatedModules || []).push( -/******/ moduleId -/******/ ); -/******/ break; -/******/ default: -/******/ // ignore requests in error states -/******/ break; -/******/ } -/******/ }, -/******/ -/******/ // Management API -/******/ check: hotCheck, -/******/ apply: hotApply, -/******/ status: function (l) { -/******/ if (!l) return currentStatus; -/******/ registeredStatusHandlers.push(l); -/******/ }, -/******/ addStatusHandler: function (l) { -/******/ registeredStatusHandlers.push(l); -/******/ }, -/******/ removeStatusHandler: function (l) { -/******/ var idx = registeredStatusHandlers.indexOf(l); -/******/ if (idx >= 0) registeredStatusHandlers.splice(idx, 1); -/******/ }, -/******/ -/******/ //inherit from previous dispose call -/******/ data: currentModuleData[moduleId] -/******/ }; -/******/ currentChildModule = undefined; -/******/ return hot; -/******/ } -/******/ -/******/ function setStatus(newStatus) { -/******/ currentStatus = newStatus; -/******/ var results = []; -/******/ -/******/ for (var i = 0; i < registeredStatusHandlers.length; i++) -/******/ results[i] = registeredStatusHandlers[i].call(null, newStatus); -/******/ -/******/ return Promise.all(results); -/******/ } -/******/ -/******/ function unblock() { -/******/ if (--blockingPromises === 0) { -/******/ setStatus("ready").then(function () { -/******/ if (blockingPromises === 0) { -/******/ var list = blockingPromisesWaiting; -/******/ blockingPromisesWaiting = []; -/******/ for (var i = 0; i < list.length; i++) { -/******/ list[i](); -/******/ } -/******/ } -/******/ }); -/******/ } -/******/ } -/******/ -/******/ function trackBlockingPromise(promise) { -/******/ switch (currentStatus) { -/******/ case "ready": -/******/ setStatus("prepare"); -/******/ /* fallthrough */ -/******/ case "prepare": -/******/ blockingPromises++; -/******/ promise.then(unblock, unblock); -/******/ return promise; -/******/ default: -/******/ return promise; -/******/ } -/******/ } -/******/ -/******/ function waitForBlockingPromises(fn) { -/******/ if (blockingPromises === 0) return fn(); -/******/ return new Promise(function (resolve) { -/******/ blockingPromisesWaiting.push(function () { -/******/ resolve(fn()); -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function hotCheck(applyOnUpdate) { -/******/ if (currentStatus !== "idle") { -/******/ throw new Error("check() is only allowed in idle status"); -/******/ } -/******/ return setStatus("check") -/******/ .then(__webpack_require__.hmrM) -/******/ .then(function (update) { -/******/ if (!update) { -/******/ return setStatus(applyInvalidatedModules() ? "ready" : "idle").then( -/******/ function () { -/******/ return null; -/******/ } -/******/ ); -/******/ } -/******/ -/******/ return setStatus("prepare").then(function () { -/******/ var updatedModules = []; -/******/ currentUpdateApplyHandlers = []; -/******/ -/******/ return Promise.all( -/******/ Object.keys(__webpack_require__.hmrC).reduce(function ( -/******/ promises, -/******/ key -/******/ ) { -/******/ __webpack_require__.hmrC[key]( -/******/ update.c, -/******/ update.r, -/******/ update.m, -/******/ promises, -/******/ currentUpdateApplyHandlers, -/******/ updatedModules -/******/ ); -/******/ return promises; -/******/ }, -/******/ []) -/******/ ).then(function () { -/******/ return waitForBlockingPromises(function () { -/******/ if (applyOnUpdate) { -/******/ return internalApply(applyOnUpdate); -/******/ } else { -/******/ return setStatus("ready").then(function () { -/******/ return updatedModules; -/******/ }); -/******/ } -/******/ }); -/******/ }); -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function hotApply(options) { -/******/ if (currentStatus !== "ready") { -/******/ return Promise.resolve().then(function () { -/******/ throw new Error( -/******/ "apply() is only allowed in ready status (state: " + -/******/ currentStatus + -/******/ ")" -/******/ ); -/******/ }); -/******/ } -/******/ return internalApply(options); -/******/ } -/******/ -/******/ function internalApply(options) { -/******/ options = options || {}; -/******/ -/******/ applyInvalidatedModules(); -/******/ -/******/ var results = currentUpdateApplyHandlers.map(function (handler) { -/******/ return handler(options); -/******/ }); -/******/ currentUpdateApplyHandlers = undefined; -/******/ -/******/ var errors = results -/******/ .map(function (r) { -/******/ return r.error; -/******/ }) -/******/ .filter(Boolean); -/******/ -/******/ if (errors.length > 0) { -/******/ return setStatus("abort").then(function () { -/******/ throw errors[0]; -/******/ }); -/******/ } -/******/ -/******/ // Now in "dispose" phase -/******/ var disposePromise = setStatus("dispose"); -/******/ -/******/ results.forEach(function (result) { -/******/ if (result.dispose) result.dispose(); -/******/ }); -/******/ -/******/ // Now in "apply" phase -/******/ var applyPromise = setStatus("apply"); -/******/ -/******/ var error; -/******/ var reportError = function (err) { -/******/ if (!error) error = err; -/******/ }; -/******/ -/******/ var outdatedModules = []; -/******/ results.forEach(function (result) { -/******/ if (result.apply) { -/******/ var modules = result.apply(reportError); -/******/ if (modules) { -/******/ for (var i = 0; i < modules.length; i++) { -/******/ outdatedModules.push(modules[i]); -/******/ } -/******/ } -/******/ } -/******/ }); -/******/ -/******/ return Promise.all([disposePromise, applyPromise]).then(function () { -/******/ // handle errors in accept handlers and self accepted module load -/******/ if (error) { -/******/ return setStatus("fail").then(function () { -/******/ throw error; -/******/ }); -/******/ } -/******/ -/******/ if (queuedInvalidatedModules) { -/******/ return internalApply(options).then(function (list) { -/******/ outdatedModules.forEach(function (moduleId) { -/******/ if (list.indexOf(moduleId) < 0) list.push(moduleId); -/******/ }); -/******/ return list; -/******/ }); -/******/ } -/******/ -/******/ return setStatus("idle").then(function () { -/******/ return outdatedModules; -/******/ }); -/******/ }); -/******/ } -/******/ -/******/ function applyInvalidatedModules() { -/******/ if (queuedInvalidatedModules) { -/******/ if (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = []; -/******/ Object.keys(__webpack_require__.hmrI).forEach(function (key) { -/******/ queuedInvalidatedModules.forEach(function (moduleId) { -/******/ __webpack_require__.hmrI[key]( -/******/ moduleId, -/******/ currentUpdateApplyHandlers -/******/ ); -/******/ }); -/******/ }); -/******/ queuedInvalidatedModules = undefined; -/******/ return true; -/******/ } -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ !function() { -/******/ __webpack_require__.p = "/_next/"; -/******/ }(); -/******/ -/******/ /* webpack/runtime/react refresh */ -/******/ !function() { -/******/ if (__webpack_require__.i) { -/******/ __webpack_require__.i.push(function(options) { -/******/ var originalFactory = options.factory; -/******/ options.factory = function(moduleObject, moduleExports, webpackRequire) { -/******/ var hasRefresh = typeof self !== "undefined" && !!self.$RefreshInterceptModuleExecution$; -/******/ var cleanup = hasRefresh ? self.$RefreshInterceptModuleExecution$(moduleObject.id) : function() {}; -/******/ try { -/******/ originalFactory.call(this, moduleObject, moduleExports, webpackRequire); -/******/ } finally { -/******/ cleanup(); -/******/ } -/******/ } -/******/ }) -/******/ } -/******/ }(); -/******/ -/******/ /* webpack/runtime/compat */ -/******/ -/******/ -/******/ // noop fns to prevent runtime errors during initialization -/******/ if (typeof self !== "undefined") { -/******/ self.$RefreshReg$ = function () {}; -/******/ self.$RefreshSig$ = function () { -/******/ return function (type) { -/******/ return type; -/******/ }; -/******/ }; -/******/ } -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ !function() { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || { -/******/ "webpack": 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = function(chunkId, promises) { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means "already installed". -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if("webpack" != chunkId) { -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; }); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId); -/******/ } else installedChunks[chunkId] = 0; -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ var currentUpdatedModulesList; -/******/ var waitingUpdateResolves = {}; -/******/ function loadUpdateChunk(chunkId, updatedModulesList) { -/******/ currentUpdatedModulesList = updatedModulesList; -/******/ return new Promise(function(resolve, reject) { -/******/ waitingUpdateResolves[chunkId] = resolve; -/******/ // start update chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.hu(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId] = undefined -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading hot update chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ reject(error); -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded); -/******/ }); -/******/ } -/******/ -/******/ self["webpackHotUpdate_N_E"] = function(chunkId, moreModules, runtime) { -/******/ for(var moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ currentUpdate[moduleId] = moreModules[moduleId]; -/******/ if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId); -/******/ } -/******/ } -/******/ if(runtime) currentUpdateRuntime.push(runtime); -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId](); -/******/ waitingUpdateResolves[chunkId] = undefined; -/******/ } -/******/ }; -/******/ -/******/ var currentUpdateChunks; -/******/ var currentUpdate; -/******/ var currentUpdateRemovedChunks; -/******/ var currentUpdateRuntime; -/******/ function applyHandler(options) { -/******/ if (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr; -/******/ currentUpdateChunks = undefined; -/******/ function getAffectedModuleEffects(updateModuleId) { -/******/ var outdatedModules = [updateModuleId]; -/******/ var outdatedDependencies = {}; -/******/ -/******/ var queue = outdatedModules.map(function (id) { -/******/ return { -/******/ chain: [id], -/******/ id: id -/******/ }; -/******/ }); -/******/ while (queue.length > 0) { -/******/ var queueItem = queue.pop(); -/******/ var moduleId = queueItem.id; -/******/ var chain = queueItem.chain; -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if ( -/******/ !module || -/******/ (module.hot._selfAccepted && !module.hot._selfInvalidated) -/******/ ) -/******/ continue; -/******/ if (module.hot._selfDeclined) { -/******/ return { -/******/ type: "self-declined", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ if (module.hot._main) { -/******/ return { -/******/ type: "unaccepted", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ for (var i = 0; i < module.parents.length; i++) { -/******/ var parentId = module.parents[i]; -/******/ var parent = __webpack_require__.c[parentId]; -/******/ if (!parent) continue; -/******/ if (parent.hot._declinedDependencies[moduleId]) { -/******/ return { -/******/ type: "declined", -/******/ chain: chain.concat([parentId]), -/******/ moduleId: moduleId, -/******/ parentId: parentId -/******/ }; -/******/ } -/******/ if (outdatedModules.indexOf(parentId) !== -1) continue; -/******/ if (parent.hot._acceptedDependencies[moduleId]) { -/******/ if (!outdatedDependencies[parentId]) -/******/ outdatedDependencies[parentId] = []; -/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]); -/******/ continue; -/******/ } -/******/ delete outdatedDependencies[parentId]; -/******/ outdatedModules.push(parentId); -/******/ queue.push({ -/******/ chain: chain.concat([parentId]), -/******/ id: parentId -/******/ }); -/******/ } -/******/ } -/******/ -/******/ return { -/******/ type: "accepted", -/******/ moduleId: updateModuleId, -/******/ outdatedModules: outdatedModules, -/******/ outdatedDependencies: outdatedDependencies -/******/ }; -/******/ } -/******/ -/******/ function addAllToSet(a, b) { -/******/ for (var i = 0; i < b.length; i++) { -/******/ var item = b[i]; -/******/ if (a.indexOf(item) === -1) a.push(item); -/******/ } -/******/ } -/******/ -/******/ // at begin all updates modules are outdated -/******/ // the "outdated" status can propagate to parents if they don't accept the children -/******/ var outdatedDependencies = {}; -/******/ var outdatedModules = []; -/******/ var appliedUpdate = {}; -/******/ -/******/ var warnUnexpectedRequire = function warnUnexpectedRequire(module) { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + module.id + ") to disposed module" -/******/ ); -/******/ }; -/******/ -/******/ for (var moduleId in currentUpdate) { -/******/ if (__webpack_require__.o(currentUpdate, moduleId)) { -/******/ var newModuleFactory = currentUpdate[moduleId]; -/******/ /** @type {TODO} */ -/******/ var result; -/******/ if (newModuleFactory) { -/******/ result = getAffectedModuleEffects(moduleId); -/******/ } else { -/******/ result = { -/******/ type: "disposed", -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ /** @type {Error|false} */ -/******/ var abortError = false; -/******/ var doApply = false; -/******/ var doDispose = false; -/******/ var chainInfo = ""; -/******/ if (result.chain) { -/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> "); -/******/ } -/******/ switch (result.type) { -/******/ case "self-declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of self decline: " + -/******/ result.moduleId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of declined dependency: " + -/******/ result.moduleId + -/******/ " in " + -/******/ result.parentId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "unaccepted": -/******/ if (options.onUnaccepted) options.onUnaccepted(result); -/******/ if (!options.ignoreUnaccepted) -/******/ abortError = new Error( -/******/ "Aborted because " + moduleId + " is not accepted" + chainInfo -/******/ ); -/******/ break; -/******/ case "accepted": -/******/ if (options.onAccepted) options.onAccepted(result); -/******/ doApply = true; -/******/ break; -/******/ case "disposed": -/******/ if (options.onDisposed) options.onDisposed(result); -/******/ doDispose = true; -/******/ break; -/******/ default: -/******/ throw new Error("Unexception type " + result.type); -/******/ } -/******/ if (abortError) { -/******/ return { -/******/ error: abortError -/******/ }; -/******/ } -/******/ if (doApply) { -/******/ appliedUpdate[moduleId] = newModuleFactory; -/******/ addAllToSet(outdatedModules, result.outdatedModules); -/******/ for (moduleId in result.outdatedDependencies) { -/******/ if (__webpack_require__.o(result.outdatedDependencies, moduleId)) { -/******/ if (!outdatedDependencies[moduleId]) -/******/ outdatedDependencies[moduleId] = []; -/******/ addAllToSet( -/******/ outdatedDependencies[moduleId], -/******/ result.outdatedDependencies[moduleId] -/******/ ); -/******/ } -/******/ } -/******/ } -/******/ if (doDispose) { -/******/ addAllToSet(outdatedModules, [result.moduleId]); -/******/ appliedUpdate[moduleId] = warnUnexpectedRequire; -/******/ } -/******/ } -/******/ } -/******/ currentUpdate = undefined; -/******/ -/******/ // Store self accepted outdated modules to require them later by the module system -/******/ var outdatedSelfAcceptedModules = []; -/******/ for (var j = 0; j < outdatedModules.length; j++) { -/******/ var outdatedModuleId = outdatedModules[j]; -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if ( -/******/ module && -/******/ (module.hot._selfAccepted || module.hot._main) && -/******/ // removed self-accepted modules should not be required -/******/ appliedUpdate[outdatedModuleId] !== warnUnexpectedRequire && -/******/ // when called invalidate self-accepting is not possible -/******/ !module.hot._selfInvalidated -/******/ ) { -/******/ outdatedSelfAcceptedModules.push({ -/******/ module: outdatedModuleId, -/******/ require: module.hot._requireSelf, -/******/ errorHandler: module.hot._selfAccepted -/******/ }); -/******/ } -/******/ } -/******/ -/******/ var moduleOutdatedDependencies; -/******/ -/******/ return { -/******/ dispose: function () { -/******/ currentUpdateRemovedChunks.forEach(function (chunkId) { -/******/ delete installedChunks[chunkId]; -/******/ }); -/******/ currentUpdateRemovedChunks = undefined; -/******/ -/******/ var idx; -/******/ var queue = outdatedModules.slice(); -/******/ while (queue.length > 0) { -/******/ var moduleId = queue.pop(); -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if (!module) continue; -/******/ -/******/ var data = {}; -/******/ -/******/ // Call dispose handlers -/******/ var disposeHandlers = module.hot._disposeHandlers; -/******/ for (j = 0; j < disposeHandlers.length; j++) { -/******/ disposeHandlers[j].call(null, data); -/******/ } -/******/ __webpack_require__.hmrD[moduleId] = data; -/******/ -/******/ // disable module (this disables requires from this module) -/******/ module.hot.active = false; -/******/ -/******/ // remove module from cache -/******/ delete __webpack_require__.c[moduleId]; -/******/ -/******/ // when disposing there is no need to call dispose handler -/******/ delete outdatedDependencies[moduleId]; -/******/ -/******/ // remove "parents" references from all children -/******/ for (j = 0; j < module.children.length; j++) { -/******/ var child = __webpack_require__.c[module.children[j]]; -/******/ if (!child) continue; -/******/ idx = child.parents.indexOf(moduleId); -/******/ if (idx >= 0) { -/******/ child.parents.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ -/******/ // remove outdated dependency from module children -/******/ var dependency; -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ for (j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ dependency = moduleOutdatedDependencies[j]; -/******/ idx = module.children.indexOf(dependency); -/******/ if (idx >= 0) module.children.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ }, -/******/ apply: function (reportError) { -/******/ // insert new code -/******/ for (var updateModuleId in appliedUpdate) { -/******/ if (__webpack_require__.o(appliedUpdate, updateModuleId)) { -/******/ __webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId]; -/******/ } -/******/ } -/******/ -/******/ // run new runtime modules -/******/ for (var i = 0; i < currentUpdateRuntime.length; i++) { -/******/ currentUpdateRuntime[i](__webpack_require__); -/******/ } -/******/ -/******/ // call accept handlers -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ var callbacks = []; -/******/ var errorHandlers = []; -/******/ var dependenciesForCallbacks = []; -/******/ for (var j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ var dependency = moduleOutdatedDependencies[j]; -/******/ var acceptCallback = -/******/ module.hot._acceptedDependencies[dependency]; -/******/ var errorHandler = -/******/ module.hot._acceptedErrorHandlers[dependency]; -/******/ if (acceptCallback) { -/******/ if (callbacks.indexOf(acceptCallback) !== -1) continue; -/******/ callbacks.push(acceptCallback); -/******/ errorHandlers.push(errorHandler); -/******/ dependenciesForCallbacks.push(dependency); -/******/ } -/******/ } -/******/ for (var k = 0; k < callbacks.length; k++) { -/******/ try { -/******/ callbacks[k].call(null, moduleOutdatedDependencies); -/******/ } catch (err) { -/******/ if (typeof errorHandlers[k] === "function") { -/******/ try { -/******/ errorHandlers[k](err, { -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-error-handler-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Load self accepted modules -/******/ for (var o = 0; o < outdatedSelfAcceptedModules.length; o++) { -/******/ var item = outdatedSelfAcceptedModules[o]; -/******/ var moduleId = item.module; -/******/ try { -/******/ item.require(moduleId); -/******/ } catch (err) { -/******/ if (typeof item.errorHandler === "function") { -/******/ try { -/******/ item.errorHandler(err, { -/******/ moduleId: moduleId, -/******/ module: __webpack_require__.c[moduleId] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-error-handler-errored", -/******/ moduleId: moduleId, -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-errored", -/******/ moduleId: moduleId, -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ return outdatedModules; -/******/ } -/******/ }; -/******/ } -/******/ __webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) { -/******/ if (!currentUpdate) { -/******/ currentUpdate = {}; -/******/ currentUpdateRuntime = []; -/******/ currentUpdateRemovedChunks = []; -/******/ applyHandlers.push(applyHandler); -/******/ } -/******/ if (!__webpack_require__.o(currentUpdate, moduleId)) { -/******/ currentUpdate[moduleId] = __webpack_require__.m[moduleId]; -/******/ } -/******/ }; -/******/ __webpack_require__.hmrC.jsonp = function ( -/******/ chunkIds, -/******/ removedChunks, -/******/ removedModules, -/******/ promises, -/******/ applyHandlers, -/******/ updatedModulesList -/******/ ) { -/******/ applyHandlers.push(applyHandler); -/******/ currentUpdateChunks = {}; -/******/ currentUpdateRemovedChunks = removedChunks; -/******/ currentUpdate = removedModules.reduce(function (obj, key) { -/******/ obj[key] = false; -/******/ return obj; -/******/ }, {}); -/******/ currentUpdateRuntime = []; -/******/ chunkIds.forEach(function (chunkId) { -/******/ if ( -/******/ __webpack_require__.o(installedChunks, chunkId) && -/******/ installedChunks[chunkId] !== undefined -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId, updatedModulesList)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } else { -/******/ currentUpdateChunks[chunkId] = false; -/******/ } -/******/ }); -/******/ if (__webpack_require__.f) { -/******/ __webpack_require__.f.jsonpHmr = function (chunkId, promises) { -/******/ if ( -/******/ currentUpdateChunks && -/******/ __webpack_require__.o(currentUpdateChunks, chunkId) && -/******/ !currentUpdateChunks[chunkId] -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } -/******/ }; -/******/ } -/******/ }; -/******/ -/******/ __webpack_require__.hmrM = function() { -/******/ if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API"); -/******/ return fetch(__webpack_require__.p + __webpack_require__.hmrF()).then(function(response) { -/******/ if(response.status === 404) return; // no update available -/******/ if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText); -/******/ return response.json(); -/******/ }); -/******/ }; -/******/ -/******/ __webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; }; -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = function(parentChunkLoadingFunction, data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var runtime = data[2]; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ }(); -/******/ -/******/ /* webpack/runtime/nonce */ -/******/ !function() { -/******/ __webpack_require__.nc = undefined; -/******/ }(); -/******/ -/************************************************************************/ -/******/ -/******/ // module cache are used so entry inlining is disabled -/******/ -/******/ })() -; \ No newline at end of file diff --git a/.next/static/development/_buildManifest.js b/.next/static/development/_buildManifest.js deleted file mode 100644 index c83bf37..0000000 --- a/.next/static/development/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST = {__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static\u002Fchunks\u002Fpages\u002Findex.js"],"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],sortedPages:["\u002F","\u002F_app","\u002F_error"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() \ No newline at end of file diff --git a/.next/static/development/_ssgManifest.js b/.next/static/development/_ssgManifest.js deleted file mode 100644 index 2260768..0000000 --- a/.next/static/development/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__SSG_MANIFEST=new Set;self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/.next/static/webpack/002e8064e453b218.webpack.hot-update.json b/.next/static/webpack/002e8064e453b218.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/002e8064e453b218.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/008674ec0cfd2335.webpack.hot-update.json b/.next/static/webpack/008674ec0cfd2335.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/008674ec0cfd2335.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/01b43f2673b55a3c.webpack.hot-update.json b/.next/static/webpack/01b43f2673b55a3c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/01b43f2673b55a3c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/02389c602f3ec049.webpack.hot-update.json b/.next/static/webpack/02389c602f3ec049.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/02389c602f3ec049.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/032fc0c9066bf5ba.webpack.hot-update.json b/.next/static/webpack/032fc0c9066bf5ba.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/032fc0c9066bf5ba.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/0337d486514c296b.webpack.hot-update.json b/.next/static/webpack/0337d486514c296b.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/0337d486514c296b.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/042f6214136ad457.webpack.hot-update.json b/.next/static/webpack/042f6214136ad457.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/042f6214136ad457.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/05497f15c68464cf.webpack.hot-update.json b/.next/static/webpack/05497f15c68464cf.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/05497f15c68464cf.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/05eb566eca3a3ea5.webpack.hot-update.json b/.next/static/webpack/05eb566eca3a3ea5.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/05eb566eca3a3ea5.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/07823529cbd4cfb2.webpack.hot-update.json b/.next/static/webpack/07823529cbd4cfb2.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/07823529cbd4cfb2.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/086649770259920c.webpack.hot-update.json b/.next/static/webpack/086649770259920c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/086649770259920c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/0896a6c38750ec26.webpack.hot-update.json b/.next/static/webpack/0896a6c38750ec26.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/0896a6c38750ec26.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/09b4e8b0f887f4fa.webpack.hot-update.json b/.next/static/webpack/09b4e8b0f887f4fa.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/09b4e8b0f887f4fa.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/0b86fe584fb076bd.webpack.hot-update.json b/.next/static/webpack/0b86fe584fb076bd.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/0b86fe584fb076bd.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/0fbd74e3d93f320f.webpack.hot-update.json b/.next/static/webpack/0fbd74e3d93f320f.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/0fbd74e3d93f320f.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/10b36ac441dac5dc.webpack.hot-update.json b/.next/static/webpack/10b36ac441dac5dc.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/10b36ac441dac5dc.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/11ce1628712e307d.webpack.hot-update.json b/.next/static/webpack/11ce1628712e307d.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/11ce1628712e307d.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/1381f4730e097865.webpack.hot-update.json b/.next/static/webpack/1381f4730e097865.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/1381f4730e097865.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/13acb1d4b4873337.webpack.hot-update.json b/.next/static/webpack/13acb1d4b4873337.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/13acb1d4b4873337.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/141c8160297295e7.webpack.hot-update.json b/.next/static/webpack/141c8160297295e7.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/141c8160297295e7.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/16a518fb228eaec2.webpack.hot-update.json b/.next/static/webpack/16a518fb228eaec2.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/16a518fb228eaec2.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/188bedeaa1f99835.webpack.hot-update.json b/.next/static/webpack/188bedeaa1f99835.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/188bedeaa1f99835.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/19509170981a5a4e.webpack.hot-update.json b/.next/static/webpack/19509170981a5a4e.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/19509170981a5a4e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/19b50144c8538157.webpack.hot-update.json b/.next/static/webpack/19b50144c8538157.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/19b50144c8538157.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/1a1734f2a965f8da.webpack.hot-update.json b/.next/static/webpack/1a1734f2a965f8da.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/1a1734f2a965f8da.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/1ce780c0b2235d9c.webpack.hot-update.json b/.next/static/webpack/1ce780c0b2235d9c.webpack.hot-update.json deleted file mode 100644 index c0c2d29..0000000 --- a/.next/static/webpack/1ce780c0b2235d9c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":["/_error"],"m":["./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"]} \ No newline at end of file diff --git a/.next/static/webpack/1e6718b3eb0621b9.webpack.hot-update.json b/.next/static/webpack/1e6718b3eb0621b9.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/1e6718b3eb0621b9.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/1e89062a764da16f.webpack.hot-update.json b/.next/static/webpack/1e89062a764da16f.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/1e89062a764da16f.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/20e491e987b3039d.webpack.hot-update.json b/.next/static/webpack/20e491e987b3039d.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/20e491e987b3039d.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/20e7437b12a4122b.webpack.hot-update.json b/.next/static/webpack/20e7437b12a4122b.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/20e7437b12a4122b.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/21ddf2a69c239eb1.webpack.hot-update.json b/.next/static/webpack/21ddf2a69c239eb1.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/21ddf2a69c239eb1.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/23d73ae551f264d4.webpack.hot-update.json b/.next/static/webpack/23d73ae551f264d4.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/23d73ae551f264d4.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/24561d6553c24ef6.webpack.hot-update.json b/.next/static/webpack/24561d6553c24ef6.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/24561d6553c24ef6.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/255783de1f61254a.webpack.hot-update.json b/.next/static/webpack/255783de1f61254a.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/255783de1f61254a.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/26267a0dda9a8a09.webpack.hot-update.json b/.next/static/webpack/26267a0dda9a8a09.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/26267a0dda9a8a09.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/27c696b198541ed7.webpack.hot-update.json b/.next/static/webpack/27c696b198541ed7.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/27c696b198541ed7.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/280875cbfe75f200.webpack.hot-update.json b/.next/static/webpack/280875cbfe75f200.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/280875cbfe75f200.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/28bbc69e5a79d6b6.webpack.hot-update.json b/.next/static/webpack/28bbc69e5a79d6b6.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/28bbc69e5a79d6b6.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/28c2d3a6e72be3ab.webpack.hot-update.json b/.next/static/webpack/28c2d3a6e72be3ab.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/28c2d3a6e72be3ab.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/302ad97cefc27d54.webpack.hot-update.json b/.next/static/webpack/302ad97cefc27d54.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/302ad97cefc27d54.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/3035ea8eb1c9f3e8.webpack.hot-update.json b/.next/static/webpack/3035ea8eb1c9f3e8.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/3035ea8eb1c9f3e8.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/322bf423faa06a96.webpack.hot-update.json b/.next/static/webpack/322bf423faa06a96.webpack.hot-update.json deleted file mode 100644 index 3823c4c..0000000 --- a/.next/static/webpack/322bf423faa06a96.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/33cbcf4d35454e91.webpack.hot-update.json b/.next/static/webpack/33cbcf4d35454e91.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/33cbcf4d35454e91.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/34ba0db0af6ba4ea.webpack.hot-update.json b/.next/static/webpack/34ba0db0af6ba4ea.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/34ba0db0af6ba4ea.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/352546102a8c09da.webpack.hot-update.json b/.next/static/webpack/352546102a8c09da.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/352546102a8c09da.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/358ee48a9d3ad0ee.webpack.hot-update.json b/.next/static/webpack/358ee48a9d3ad0ee.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/358ee48a9d3ad0ee.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/36bd8944c9784adb.webpack.hot-update.json b/.next/static/webpack/36bd8944c9784adb.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/36bd8944c9784adb.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/389cf1fb2d6f3171.webpack.hot-update.json b/.next/static/webpack/389cf1fb2d6f3171.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/389cf1fb2d6f3171.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/39db4be69d7ed858.webpack.hot-update.json b/.next/static/webpack/39db4be69d7ed858.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/39db4be69d7ed858.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/3a9748865d6d3a6e.webpack.hot-update.json b/.next/static/webpack/3a9748865d6d3a6e.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/3a9748865d6d3a6e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/3ea268d7b7c83c60.webpack.hot-update.json b/.next/static/webpack/3ea268d7b7c83c60.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/3ea268d7b7c83c60.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/3ebe80c631dabfde.webpack.hot-update.json b/.next/static/webpack/3ebe80c631dabfde.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/3ebe80c631dabfde.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/41a064fdc666e54c.webpack.hot-update.json b/.next/static/webpack/41a064fdc666e54c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/41a064fdc666e54c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/44feb58936b7deef.webpack.hot-update.json b/.next/static/webpack/44feb58936b7deef.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/44feb58936b7deef.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/454809644c55f18e.webpack.hot-update.json b/.next/static/webpack/454809644c55f18e.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/454809644c55f18e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/45b222373bd8dbf0.webpack.hot-update.json b/.next/static/webpack/45b222373bd8dbf0.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/45b222373bd8dbf0.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4637f68796e08f32.webpack.hot-update.json b/.next/static/webpack/4637f68796e08f32.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/4637f68796e08f32.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/473e98242cc1b3af.webpack.hot-update.json b/.next/static/webpack/473e98242cc1b3af.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/473e98242cc1b3af.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4aac568db9e9f4b4.webpack.hot-update.json b/.next/static/webpack/4aac568db9e9f4b4.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/4aac568db9e9f4b4.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4ca06a577aee70ad.webpack.hot-update.json b/.next/static/webpack/4ca06a577aee70ad.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/4ca06a577aee70ad.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4d31881fd1dfa024.webpack.hot-update.json b/.next/static/webpack/4d31881fd1dfa024.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/4d31881fd1dfa024.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/4f6421e34186b7fe.webpack.hot-update.json b/.next/static/webpack/4f6421e34186b7fe.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/4f6421e34186b7fe.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/50a697ce48addd48.webpack.hot-update.json b/.next/static/webpack/50a697ce48addd48.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/50a697ce48addd48.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/50c1c3fbba88df86.webpack.hot-update.json b/.next/static/webpack/50c1c3fbba88df86.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/50c1c3fbba88df86.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/511e390c345698c3.webpack.hot-update.json b/.next/static/webpack/511e390c345698c3.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/511e390c345698c3.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/51523594674f7938.webpack.hot-update.json b/.next/static/webpack/51523594674f7938.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/51523594674f7938.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/522f827c604454d7.webpack.hot-update.json b/.next/static/webpack/522f827c604454d7.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/522f827c604454d7.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/525a9b8520483ec2.webpack.hot-update.json b/.next/static/webpack/525a9b8520483ec2.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/525a9b8520483ec2.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/54b2de2a17ba5311.webpack.hot-update.json b/.next/static/webpack/54b2de2a17ba5311.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/54b2de2a17ba5311.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/54d8bb023c0d5b17.webpack.hot-update.json b/.next/static/webpack/54d8bb023c0d5b17.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/54d8bb023c0d5b17.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/54f9065dabeedc9c.webpack.hot-update.json b/.next/static/webpack/54f9065dabeedc9c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/54f9065dabeedc9c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5b4fe5b0bbd869a5.webpack.hot-update.json b/.next/static/webpack/5b4fe5b0bbd869a5.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/5b4fe5b0bbd869a5.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5bc845ba9c13d124.webpack.hot-update.json b/.next/static/webpack/5bc845ba9c13d124.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/5bc845ba9c13d124.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5cb45b3d54cbfbb1.webpack.hot-update.json b/.next/static/webpack/5cb45b3d54cbfbb1.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/5cb45b3d54cbfbb1.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5df2843b4e4bc270.webpack.hot-update.json b/.next/static/webpack/5df2843b4e4bc270.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/5df2843b4e4bc270.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5e2f0b557233717d.webpack.hot-update.json b/.next/static/webpack/5e2f0b557233717d.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/5e2f0b557233717d.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5e55ba3fc3b5cdb3.webpack.hot-update.json b/.next/static/webpack/5e55ba3fc3b5cdb3.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/5e55ba3fc3b5cdb3.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/5f0908807c89f3b0.webpack.hot-update.json b/.next/static/webpack/5f0908807c89f3b0.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/5f0908807c89f3b0.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/607f9f6084ae1e2a.webpack.hot-update.json b/.next/static/webpack/607f9f6084ae1e2a.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/607f9f6084ae1e2a.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/6300efb38a547520.webpack.hot-update.json b/.next/static/webpack/6300efb38a547520.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/6300efb38a547520.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/658dc40eba135cea.webpack.hot-update.json b/.next/static/webpack/658dc40eba135cea.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/658dc40eba135cea.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/65c97617c95cd0e9.webpack.hot-update.json b/.next/static/webpack/65c97617c95cd0e9.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/65c97617c95cd0e9.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/65e3d6c38b1072df.webpack.hot-update.json b/.next/static/webpack/65e3d6c38b1072df.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/65e3d6c38b1072df.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/66ff179cf39f8623.webpack.hot-update.json b/.next/static/webpack/66ff179cf39f8623.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/66ff179cf39f8623.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/67ac0cbdda4dffbb.webpack.hot-update.json b/.next/static/webpack/67ac0cbdda4dffbb.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/67ac0cbdda4dffbb.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/6c39406d82eb5b3c.webpack.hot-update.json b/.next/static/webpack/6c39406d82eb5b3c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/6c39406d82eb5b3c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/6d29f649177dd226.webpack.hot-update.json b/.next/static/webpack/6d29f649177dd226.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/6d29f649177dd226.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/6e3dd436ac74db7c.webpack.hot-update.json b/.next/static/webpack/6e3dd436ac74db7c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/6e3dd436ac74db7c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/72d20fb9812d76da.webpack.hot-update.json b/.next/static/webpack/72d20fb9812d76da.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/72d20fb9812d76da.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/72e2b448366c394e.webpack.hot-update.json b/.next/static/webpack/72e2b448366c394e.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/72e2b448366c394e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/737edf065ac563c2.webpack.hot-update.json b/.next/static/webpack/737edf065ac563c2.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/737edf065ac563c2.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/74348e2f514a41bf.webpack.hot-update.json b/.next/static/webpack/74348e2f514a41bf.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/74348e2f514a41bf.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7657b55d7081ba2c.webpack.hot-update.json b/.next/static/webpack/7657b55d7081ba2c.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/7657b55d7081ba2c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/766465ad53c72386.webpack.hot-update.json b/.next/static/webpack/766465ad53c72386.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/766465ad53c72386.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/776ae571a0c57170.webpack.hot-update.json b/.next/static/webpack/776ae571a0c57170.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/776ae571a0c57170.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/77a599599ca1939b.webpack.hot-update.json b/.next/static/webpack/77a599599ca1939b.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/77a599599ca1939b.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7aa088698e1a021f.webpack.hot-update.json b/.next/static/webpack/7aa088698e1a021f.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/7aa088698e1a021f.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7cbc635862a04c63.webpack.hot-update.json b/.next/static/webpack/7cbc635862a04c63.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/7cbc635862a04c63.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7d520466f7086d5e.webpack.hot-update.json b/.next/static/webpack/7d520466f7086d5e.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/7d520466f7086d5e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7decf96855cc1328.webpack.hot-update.json b/.next/static/webpack/7decf96855cc1328.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/7decf96855cc1328.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7f0023ca4bc0734b.webpack.hot-update.json b/.next/static/webpack/7f0023ca4bc0734b.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/7f0023ca4bc0734b.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/7f03054d60092415.webpack.hot-update.json b/.next/static/webpack/7f03054d60092415.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/7f03054d60092415.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/806880082f2dba01.webpack.hot-update.json b/.next/static/webpack/806880082f2dba01.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/806880082f2dba01.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/82b477fc386f6fb0.webpack.hot-update.json b/.next/static/webpack/82b477fc386f6fb0.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/82b477fc386f6fb0.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/869431085d1825c1.webpack.hot-update.json b/.next/static/webpack/869431085d1825c1.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/869431085d1825c1.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/88258a1a9d4c9d1e.webpack.hot-update.json b/.next/static/webpack/88258a1a9d4c9d1e.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/88258a1a9d4c9d1e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/8a8f2b069779ba46.webpack.hot-update.json b/.next/static/webpack/8a8f2b069779ba46.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/8a8f2b069779ba46.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/908d65d825cada63.webpack.hot-update.json b/.next/static/webpack/908d65d825cada63.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/908d65d825cada63.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/9122f7d9be6d34a7.webpack.hot-update.json b/.next/static/webpack/9122f7d9be6d34a7.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/9122f7d9be6d34a7.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/93dbe55ece8c13f4.webpack.hot-update.json b/.next/static/webpack/93dbe55ece8c13f4.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/93dbe55ece8c13f4.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/9aac99e67893eabb.webpack.hot-update.json b/.next/static/webpack/9aac99e67893eabb.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/9aac99e67893eabb.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/9c68ac49c5d24342.webpack.hot-update.json b/.next/static/webpack/9c68ac49c5d24342.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/9c68ac49c5d24342.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/9c7b40043473296e.webpack.hot-update.json b/.next/static/webpack/9c7b40043473296e.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/9c7b40043473296e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/9e961e88b4e2e33d.webpack.hot-update.json b/.next/static/webpack/9e961e88b4e2e33d.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/9e961e88b4e2e33d.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/a00924cbb60f1cbc.webpack.hot-update.json b/.next/static/webpack/a00924cbb60f1cbc.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/a00924cbb60f1cbc.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/a32913853f280c25.webpack.hot-update.json b/.next/static/webpack/a32913853f280c25.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/a32913853f280c25.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/aa22dc4a53efc29f.webpack.hot-update.json b/.next/static/webpack/aa22dc4a53efc29f.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/aa22dc4a53efc29f.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/aa59be09deb42163.webpack.hot-update.json b/.next/static/webpack/aa59be09deb42163.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/aa59be09deb42163.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/acd8fe74dc9c0534.webpack.hot-update.json b/.next/static/webpack/acd8fe74dc9c0534.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/acd8fe74dc9c0534.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/b277eb81f90d9720.webpack.hot-update.json b/.next/static/webpack/b277eb81f90d9720.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/b277eb81f90d9720.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/b911a801bc9370e6.webpack.hot-update.json b/.next/static/webpack/b911a801bc9370e6.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/b911a801bc9370e6.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/bc490b18154f621a.webpack.hot-update.json b/.next/static/webpack/bc490b18154f621a.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/bc490b18154f621a.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/c1152517c49bd5ab.webpack.hot-update.json b/.next/static/webpack/c1152517c49bd5ab.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/c1152517c49bd5ab.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/c15f102af7ce1d36.webpack.hot-update.json b/.next/static/webpack/c15f102af7ce1d36.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/c15f102af7ce1d36.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/c85bd30d60a2d896.webpack.hot-update.json b/.next/static/webpack/c85bd30d60a2d896.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/c85bd30d60a2d896.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/c9b80114855277b4.webpack.hot-update.json b/.next/static/webpack/c9b80114855277b4.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/c9b80114855277b4.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/cb2439d8f4679961.webpack.hot-update.json b/.next/static/webpack/cb2439d8f4679961.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/cb2439d8f4679961.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/cca3eaaa78446588.webpack.hot-update.json b/.next/static/webpack/cca3eaaa78446588.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/cca3eaaa78446588.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/cdef531fb4faa14c.webpack.hot-update.json b/.next/static/webpack/cdef531fb4faa14c.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/cdef531fb4faa14c.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/d2257d29a907f6a8.webpack.hot-update.json b/.next/static/webpack/d2257d29a907f6a8.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/d2257d29a907f6a8.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/d72496e2657b8921.webpack.hot-update.json b/.next/static/webpack/d72496e2657b8921.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/d72496e2657b8921.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/d85c564cade50119.webpack.hot-update.json b/.next/static/webpack/d85c564cade50119.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/d85c564cade50119.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/d93a7311d91f2431.webpack.hot-update.json b/.next/static/webpack/d93a7311d91f2431.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/d93a7311d91f2431.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/dafb1c9068442956.webpack.hot-update.json b/.next/static/webpack/dafb1c9068442956.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/dafb1c9068442956.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/db6748bcc8e17ff8.webpack.hot-update.json b/.next/static/webpack/db6748bcc8e17ff8.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/db6748bcc8e17ff8.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/dc1c5660c34af963.webpack.hot-update.json b/.next/static/webpack/dc1c5660c34af963.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/dc1c5660c34af963.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/dc9ef52e26682f41.webpack.hot-update.json b/.next/static/webpack/dc9ef52e26682f41.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/dc9ef52e26682f41.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/de1bf79a4bd8f040.webpack.hot-update.json b/.next/static/webpack/de1bf79a4bd8f040.webpack.hot-update.json deleted file mode 100644 index 3823c4c..0000000 --- a/.next/static/webpack/de1bf79a4bd8f040.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e01ace179d49138b.webpack.hot-update.json b/.next/static/webpack/e01ace179d49138b.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/e01ace179d49138b.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e058ce8398e93d59.webpack.hot-update.json b/.next/static/webpack/e058ce8398e93d59.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/e058ce8398e93d59.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e0dd459bde91438f.webpack.hot-update.json b/.next/static/webpack/e0dd459bde91438f.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/e0dd459bde91438f.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e5dfa9e301d4af58.webpack.hot-update.json b/.next/static/webpack/e5dfa9e301d4af58.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/e5dfa9e301d4af58.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e87f983ea05170e2.webpack.hot-update.json b/.next/static/webpack/e87f983ea05170e2.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/e87f983ea05170e2.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/e8cdf480eb772682.webpack.hot-update.json b/.next/static/webpack/e8cdf480eb772682.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/e8cdf480eb772682.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ea443f774833fa42.webpack.hot-update.json b/.next/static/webpack/ea443f774833fa42.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/ea443f774833fa42.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ea4bbb3606182f89.webpack.hot-update.json b/.next/static/webpack/ea4bbb3606182f89.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ea4bbb3606182f89.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ea6bee58e98aa337.webpack.hot-update.json b/.next/static/webpack/ea6bee58e98aa337.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ea6bee58e98aa337.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ebf7d916a55a4f61.webpack.hot-update.json b/.next/static/webpack/ebf7d916a55a4f61.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ebf7d916a55a4f61.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ec4f2a555bdd08b8.webpack.hot-update.json b/.next/static/webpack/ec4f2a555bdd08b8.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ec4f2a555bdd08b8.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ed1bc5aa5acb62ec.webpack.hot-update.json b/.next/static/webpack/ed1bc5aa5acb62ec.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ed1bc5aa5acb62ec.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ed3a1e585815b5e8.webpack.hot-update.json b/.next/static/webpack/ed3a1e585815b5e8.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ed3a1e585815b5e8.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ed7bb9d252c5fc7d.webpack.hot-update.json b/.next/static/webpack/ed7bb9d252c5fc7d.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ed7bb9d252c5fc7d.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ed9db3d45f6e7579.webpack.hot-update.json b/.next/static/webpack/ed9db3d45f6e7579.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/ed9db3d45f6e7579.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ed9e22f313940496.webpack.hot-update.json b/.next/static/webpack/ed9e22f313940496.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ed9e22f313940496.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ee95abeb45bdeb7a.webpack.hot-update.json b/.next/static/webpack/ee95abeb45bdeb7a.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ee95abeb45bdeb7a.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/eeaaa79881cb53bb.webpack.hot-update.json b/.next/static/webpack/eeaaa79881cb53bb.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/eeaaa79881cb53bb.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/ef59b09d799e017e.webpack.hot-update.json b/.next/static/webpack/ef59b09d799e017e.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/ef59b09d799e017e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f011c824fc466035.webpack.hot-update.json b/.next/static/webpack/f011c824fc466035.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/f011c824fc466035.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f0458b23b83ee00e.webpack.hot-update.json b/.next/static/webpack/f0458b23b83ee00e.webpack.hot-update.json deleted file mode 100644 index 3823c4c..0000000 --- a/.next/static/webpack/f0458b23b83ee00e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f0bbad6337067697.webpack.hot-update.json b/.next/static/webpack/f0bbad6337067697.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/f0bbad6337067697.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f1f288f2f518456e.webpack.hot-update.json b/.next/static/webpack/f1f288f2f518456e.webpack.hot-update.json deleted file mode 100644 index da3cf80..0000000 --- a/.next/static/webpack/f1f288f2f518456e.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f2e206045ad8a77b.webpack.hot-update.json b/.next/static/webpack/f2e206045ad8a77b.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/f2e206045ad8a77b.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f35e0926e721b926.webpack.hot-update.json b/.next/static/webpack/f35e0926e721b926.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/f35e0926e721b926.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f42001c2e8c65f93.webpack.hot-update.json b/.next/static/webpack/f42001c2e8c65f93.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/f42001c2e8c65f93.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/f7c73b2c474884c5.webpack.hot-update.json b/.next/static/webpack/f7c73b2c474884c5.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/f7c73b2c474884c5.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/fa1738f1a66becb3.webpack.hot-update.json b/.next/static/webpack/fa1738f1a66becb3.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/fa1738f1a66becb3.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/fa71c63448037219.webpack.hot-update.json b/.next/static/webpack/fa71c63448037219.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/fa71c63448037219.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/fce5a199b1bc57a9.webpack.hot-update.json b/.next/static/webpack/fce5a199b1bc57a9.webpack.hot-update.json deleted file mode 100644 index b8e520e..0000000 --- a/.next/static/webpack/fce5a199b1bc57a9.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/_app","pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/fd84a9cbca8b5d38.webpack.hot-update.json b/.next/static/webpack/fd84a9cbca8b5d38.webpack.hot-update.json deleted file mode 100644 index 45437ff..0000000 --- a/.next/static/webpack/fd84a9cbca8b5d38.webpack.hot-update.json +++ /dev/null @@ -1 +0,0 @@ -{"c":["pages/index","webpack"],"r":[],"m":[]} \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.002e8064e453b218.hot-update.js b/.next/static/webpack/pages/_app.002e8064e453b218.hot-update.js deleted file mode 100644 index db9d938..0000000 --- a/.next/static/webpack/pages/_app.002e8064e453b218.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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CZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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UUFBUSxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFL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QXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDeDJvRDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm1iLTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ubWItNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmxpbmUtYmxvY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTIge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWNvbnRlbnQtYmV0d2VlbiB7XFxuICBwbGFjZS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci1iLTIge1xcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLW5ldXRyYWwtMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDUgMjQ1IDI0NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmxhY2sge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMTAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpob3ZlciB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmZvY3VzIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uZm9jdXNcXFxcOnJpbmctMDpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG4uYWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTphY3RpdmUge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItbmV1dHJhbC02MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1uZXV0cmFsLTcwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0IDY0IDY0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtZ3JheS00MDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtd2hpdGUge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC0yMDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyMjkgMjI5IDIyOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC01MCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1MCAyNTAgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6c2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC41XFxcXClcXFxcXSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC41KTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06aG92ZXIge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpmb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06Zm9jdXMge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDphY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmdyaWQge1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxV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QUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSwwRUFBbUI7RUFBbkIsOEZBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsK0VBQW1CO0VBQW5CLG9HQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1DQUFtQjtFQUFuQiwwREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7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O0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.042f6214136ad457.hot-update.js b/.next/static/webpack/pages/_app.042f6214136ad457.hot-update.js deleted file mode 100644 index 67451d4..0000000 --- a/.next/static/webpack/pages/_app.042f6214136ad457.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n color: #00f900;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n color: #00f900;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsV0FBVyxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLFdBQVcsT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFL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LCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLG1CQUFtQixHQUFHLGlDQUFpQyxrQkFBa0IsdUJBQXVCLGlDQUFpQyxjQUFjLHlCQUF5QixtQkFBbUIsR0FBRyxpQ0FBaUMsZ0JBQWdCLFlBQVksbUJBQW1CLEdBQUcsdUJBQXVCLGFBQWEsbUJBQW1CLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxtQkFBbUIsR0FBRyx1QkFBdUIsYUFBYSxZQUFZLG1CQUFtQixHQUFHLDBCQUEwQjtBQUN4KzRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VB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QW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFB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QUNFLFNBQVM7RUFDVCxVQUFVO0VBQ1YsY0FBYztBQUNoQjtBQUNBO0VBQ0UsUUFBUTtFQUNSLE9BQU87RUFDUCxjQUFjO0FBQ2hCO0FBN2RBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.07823529cbd4cfb2.hot-update.js b/.next/static/webpack/pages/_app.07823529cbd4cfb2.hot-update.js deleted file mode 100644 index ff70eff..0000000 --- a/.next/static/webpack/pages/_app.07823529cbd4cfb2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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A;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFN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NkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUNybW9EO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubWItMiB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcbi5tYi00IHtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmlubGluZS1ibG9jayB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci1iLTIge1xcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLW5ldXRyYWwtMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDUgMjQ1IDI0NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmxhY2sge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMTAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpob3ZlciB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmZvY3VzIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uZm9jdXNcXFxcOnJpbmctMDpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG4uYWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTphY3RpdmUge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItbmV1dHJhbC02MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1uZXV0cmFsLTcwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0IDY0IDY0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtZ3JheS00MDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtd2hpdGUge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC0yMDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyMjkgMjI5IDIyOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC01MCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1MCAyNTAgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6c2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC41XFxcXClcXFxcXSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC41KTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06aG92ZXIge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpmb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06Zm9jdXMge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDphY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmdyaWQge1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYztBQUVkO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtB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Q0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0U7SUFDRSxtQ0FBbUM7RUFDckM7QUFDRjtBQUNBO0VBQ0U7O0lBRUUsOEJBQThCO0lBQzlCLFVBQVU7RUFDWjtFQUNBOztJQUVFLFFBQVE7SUFDUixZQUFZO0VBQ2Q7RUFDQTtJQUNFLFFBQVE7SUFDUixVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQXBiQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsaURDQUE7SURBQSwyRENBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.09b4e8b0f887f4fa.hot-update.js b/.next/static/webpack/pages/_app.09b4e8b0f887f4fa.hot-update.js deleted file mode 100644 index 32b8de4..0000000 --- a/.next/static/webpack/pages/_app.09b4e8b0f887f4fa.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsV0FBVyxXQUFXLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLE1BQU0sV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUss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QUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQ243b0Q7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tYi0yIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuLm1iLTQge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4ubWF4LXctc20ge1xcbiAgbWF4LXdpZHRoOiAyNHJlbTtcXG59XFxuLmdyaWQtY29scy0yIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1jb250ZW50LWJldHdlZW4ge1xcbiAgcGxhY2UtY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLnJvdW5kZWQge1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLWItMiB7XFxuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTQwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItbmV1dHJhbC0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0NSAyNDUgMjQ1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibGFjayB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWJsdWUtNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOSAyNDYgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS00MDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctd2hpdGUge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0xMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0yMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnB4LTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XFxufVxcbi5wYi0yIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XFxufVxcbi5wdC0yIHtcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XFxufVxcbi5wdC0yXFxcXC41IHtcXG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLnRleHQtYmFzZSB7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbn1cXG4udGV4dC14bCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS43NXJlbTtcXG59XFxuLnRleHQteHMge1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDFyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4uZm9udC1ub3JtYWwge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLnVwcGVyY2FzZSB7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcbn1cXG4ubGVhZGluZy1ub3JtYWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuLmxlYWRpbmctdGlnaHQge1xcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XFxufVxcbi50cmFja2luZy10aWdodCB7XFxuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS03MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktOTAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNyAyNCAzOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTYwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC04MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDM4IDM4IDM4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uc2hhZG93LVxcXFxbMF8ycHhfMTVweF8tM3B4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA3XFxcXClcXFxcMmMgMF8xMHB4XzIwcHhfLTJweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wNFxcXFwpXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgMnB4IDE1cHggLTNweCByZ2JhKDAsMCwwLDAuMDcpLDAgMTBweCAyMHB4IC0ycHggcmdiYSgwLDAsMCwwLjA0KTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMnB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDEwcHggMjBweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uc2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfXFxcXCMzYjcxY2FcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggIzNiNzFjYTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4udHJhbnNpdGlvbiB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbn1cXG4uZHVyYXRpb24tMTUwIHtcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbn1cXG4uZWFzZS1pbi1vdXQge1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmhvdmVyIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06Zm9jdXMge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5mb2N1c1xcXFw6cmluZy0wOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbi5hY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1uZXV0cmFsLTYwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1ncmF5LTgwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLW5ldXRyYWwtNzAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjQgNjQgNjQgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1ncmF5LTQwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC13aGl0ZSB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTIwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDIyOSAyMjkgMjI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTUwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjUwIDI1MCAyNTAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpzaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjVcXFxcKVxcXFxdIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjUpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpiZy1ncmF5LTcwMDpob3ZlciB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpob3ZlciB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpmb2N1cyB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06YWN0aXZlIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwi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QUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5C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QUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsaURDQUE7SURBQSwyRENBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.0fbd74e3d93f320f.hot-update.js b/.next/static/webpack/pages/_app.0fbd74e3d93f320f.hot-update.js deleted file mode 100644 index b42d54a..0000000 --- a/.next/static/webpack/pages/_app.0fbd74e3d93f320f.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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BCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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USxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxX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QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDejFuRDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm1iLTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ubWItNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmxpbmUtYmxvY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLnJvdW5kZWQtbGcge1xcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xcbn1cXG4ucm91bmRlZCB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItYi0yIHtcXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktNDAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0yMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1uZXV0cmFsLTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQ1IDI0NSAyNDUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsYWNrIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctYmx1ZS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM5IDI0NiAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTQwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy13aGl0ZSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4ucHgtMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4ucHktODAge1xcbiAgcGFkZGluZy10b3A6IDIwcmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xcbn1cXG4ucHgtNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcXG59XFxuLnBiLTIge1xcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcXG59XFxuLnB0LTIge1xcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcXG59XFxuLnB0LTJcXFxcLjUge1xcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4udGV4dC1iYXNlIHtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XFxufVxcbi50ZXh0LXhsIHtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xcbn1cXG4udGV4dC14cyB7XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi5mb250LW5vcm1hbCB7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4udXBwZXJjYXNlIHtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxufVxcbi5sZWFkaW5nLW5vcm1hbCB7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG4ubGVhZGluZy10aWdodCB7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG59XFxuLnRyYWNraW5nLXRpZ2h0IHtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTcwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS05MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtNjAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTgwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMzggMzggMzggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG4uc2hhZG93IHtcXG4gIC0tdHctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzJweF8xNXB4Xy0zcHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDdcXFxcKVxcXFwyYyAwXzEwcHhfMjBweF8tMnB4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA0XFxcXClcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCAycHggMTVweCAtM3B4IHJnYmEoMCwwLDAsMC4wNyksMCAxMHB4IDIwcHggLTJweCByZ2JhKDAsMCwwLDAuMDQpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAycHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMTBweCAyMHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9cXFxcIzNiNzFjYVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCAjM2I3MWNhO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi50cmFuc2l0aW9uIHtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5kdXJhdGlvbi0xNTAge1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5lYXNlLWluLW91dCB7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWdyYXktMTAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06aG92ZXIge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpmb2N1cyB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmZvY3VzXFxcXDpyaW5nLTA6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuLmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06YWN0aXZlIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLW5ldXRyYWwtNjAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctbmV1dHJhbC03MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2NCA2NCA2NCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LWdyYXktNDAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LXdoaXRlIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtMjAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjI5IDIyOSAyMjkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtNTAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTAgMjUwIDI1MCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuNVxcXFwpXFxcXF0ge1xcbiAgICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuNSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmhvdmVyIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Zm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmZvY3VzIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTphY3RpdmUge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFj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bUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxlQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQiw4RkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwrRUFBbUI7RUFBbkIsb0dBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUNBQW1CO0VBQW5CLDBEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGdLQUFtQjtFQUFuQix3SkFBbUI7RUFBbkIsaUxBQW1CO0VBQW5CLHdEQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7O0FBRW5COztFQUVFLFVBQVU7RUFDVixTQUFTO0VBQ1Q7d0VBQ3NFO0VBQ3RFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0U7O2tCQUVnQjtFQUNoQixzQkFBc0I7RUFFdEIsbUJBQW1CO0VBS25CLHdCQUF3QjtFQUN4QixnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFOztrQkFFZ0I7RUFDaEIsNEJBQTRCO0VBRTVCLG1CQUFtQjtFQUtuQix5QkFBeUI7RUFDekIsZ0JBQWdCO0FBQ2xCOztBQUVBLHNDQUFzQztBQUN0Qyw4Q0FBOEM7O0FBRTlDO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtFQUN2QiwrQ0FBK0M7RUFDL0MsbUJBQW1CO0VBQ25CLDBDQUEwQztFQUMxQyxrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLE9BQU87RUFDUCw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLHdCQUF3QjtFQUN4Qiw2REFBNkQ7RUFDN0Qsa0JBQWtCO0VBQ2xCLHlDQUF5QztFQUN6QyxtQ0FBbUM7RUFDbkM7MkVBQ3lFO0FBQzNFO0FBQ0E7RUFDRTtJQUNFLHNFQUFzRTtFQUN4RTtBQUNGO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLHlCQUF5QjtFQUN6QixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLHlCQUF5QjtFQUN6QixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsa0JBQWtCO0FBQ3BCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBOztFQUVFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsTUFBTTtFQUNOLGtDQUFrQztFQUNsQyx3QkFBd0I7RUFDeEIsWUFBWTtFQUNaLDBFQUEwRTtFQUMxRSxzQkFBc0I7RUFDdEIsbUNBQW1DO0FBQ3JDO0FBQ0E7RUFDRSx3QkFBd0I7QUFDMUI7QUFDQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFO0lBQ0UsbUNBQW1DO0VBQ3JDO0FBQ0Y7QUFDQTtFQUNFOztJQUVFLDhCQUE4QjtJQUM5QixVQUFVO0VBQ1o7RUFDQTs7SUFFRSxRQUFRO0lBQ1IsWUFBWTtFQUNkO0VBQ0E7SUFDRSxRQUFRO0lBQ1IsVUFBVTtFQUNaO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsWUFBWTtFQUNkO0FBQ0Y7QUFwYkE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTs7RUFBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLGlEQ0FBO0lEQUEsMkRDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.16a518fb228eaec2.hot-update.js b/.next/static/webpack/pages/_app.16a518fb228eaec2.hot-update.js deleted file mode 100644 index 8b37762..0000000 --- a/.next/static/webpack/pages/_app.16a518fb228eaec2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywyQkFBMkIsdUJBQXVCLHdEQUF3RCxHQUFHLDJCQUEyQix1QkFBdUIsOERBQThELEdBQUcsNkJBQTZCLHlCQUF5QixxREFBcUQsR0FBRyw2QkFBNkIseUJBQXlCLCtDQUErQyxHQUFHLCtCQUErQixtQ0FBbUMsd0JBQXdCLEdBQUcsdUJBQXVCLGdIQUFnSCw4R0FBOEcsaUdBQWlHLEdBQUcsb0NBQW9DLDRCQUE0QixHQUFHLDZCQUE2QixtQkFBbUIscUJBQXFCLEtBQUssb0JBQW9CLGtCQUFrQixLQUFLLHNCQUFzQixzQkFBc0IscUJBQXFCLEtBQUssK0JBQStCLHlCQUF5Qix5QkFBeUIsS0FBSyxHQUFHLDhCQUE4QixxQkFBcUIsZUFBZSxLQUFLLGtCQUFrQixvQkFBb0IsS0FBSyxzQkFBc0Isb0JBQW9CLEtBQUssMEJBQTBCLDBCQUEwQixLQUFLLEdBQUcsU0FBUyxrR0FBa0csWUFBWSxNQUFNLE9BQU8scUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxXQUFXLE1BQU0sV0FBVyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixxQkFBcUIsVUFBVSxvQkFBb0IscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsV0FBVyxXQUFXLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLE1BQU0sV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUss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QUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUNsaHpDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4ucHgtMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7Ozs7RUFBQSxjQUFjLEVBQWQsTUFBYztF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VTtFQUNaO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsWUFBWTtFQUNkO0FBQ0Y7QUFwYkE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.1e6718b3eb0621b9.hot-update.js b/.next/static/webpack/pages/_app.1e6718b3eb0621b9.hot-update.js deleted file mode 100644 index 5ea0bf2..0000000 --- a/.next/static/webpack/pages/_app.1e6718b3eb0621b9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! wagmi */ \"./node_modules/wagmi/dist/index.js\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi/chains */ \"./node_modules/wagmi/dist/chains.js\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/providers/public */ \"./node_modules/wagmi/dist/providers/public.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp(param) {\n let { Component, pageProps } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_3__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.lightTheme)({\n accentColor: \"yellow\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n_c = MyApp;\n/* harmony default export */ __webpack_exports__[\"default\"] = (MyApp);\nvar _c;\n$RefreshReg$(_c, \"MyApp\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ1k7QUFNWDtBQUVtQztBQVM3QztBQUNrQztBQUV4RCxNQUFNLEVBQUVjLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxxQkFBcUIsRUFBRSxHQUFHYixzREFBZUEsQ0FDckU7SUFDRUssaURBQU9BO0lBQ1BFLGlEQUFPQTtJQUNQRCxrREFBUUE7SUFDUkgsa0RBQVFBO0lBQ1JLLDhDQUFJQTtJQUNKSixnREFBTUE7SUFDTkssaURBQU9BO09BQ0hLLE9BQU9BLENBQUNDLEdBQUcsQ0FBQ0MsMkJBQTJCLEtBQUssU0FBUztRQUFDWixnREFBTUE7S0FBQyxHQUFHLEVBQUU7Q0FDdkUsRUFDRDtJQUFDTSxzRUFBY0E7Q0FBRztBQUdwQixNQUFNLEVBQUVPLFVBQVUsRUFBRSxHQUFHcEIseUVBQWlCQSxDQUFDO0lBQ3ZDcUIsU0FBUztJQUNUQyxXQUFXO0lBQ1hSO0FBQ0Y7QUFFQSxNQUFNUyxjQUFjbkIsbURBQVlBLENBQUM7SUFDL0JvQixhQUFhO0lBQ2JKO0lBQ0FMO0lBQ0FDO0FBQ0Y7QUFFQSxTQUFTUyxNQUFNLEtBQWtDO1FBQWxDLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFZLEdBQWxDO0lBQ2IscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0tBdEJTRjtBQXdCVCwrREFBZUEsS0FBS0EsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwieWVsbG93XCIsXG4gICAgICAgICAgYWNjZW50Q29sb3JGb3JlZ3JvdW5kOiBcIndoaXRlXCIsXG4gICAgICAgICAgZm9udFN0YWNrOiBcInN5c3RlbVwiLFxuICAgICAgICAgIG92ZXJsYXlCbHVyOiBcInNtYWxsXCIsXG4gICAgICAgIH0pfVxuICAgICAgICBtb2RhbFNpemU9XCJjb21wYWN0XCJcbiAgICAgICAgY2hhaW5zPXtjaGFpbnN9PlxuICAgICAgICA8Q29tcG9uZW50IHsuLi5wYWdlUHJvcHN9IC8+XG4gICAgICA8L1JhaW5ib3dLaXRQcm92aWRlcj5cbiAgICA8L1dhZ21pQ29uZmlnPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNeUFwcDtcbiJdLCJuYW1lcyI6WyJnZXREZWZhdWx0V2FsbGV0cyIsIlJhaW5ib3dLaXRQcm92aWRlciIsImxpZ2h0VGhlbWUiLCJjb25maWd1cmVDaGFpbnMiLCJjcmVhdGVDb25maWciLCJXYWdtaUNvbmZpZyIsImFyYml0cnVtIiwiZ29lcmxpIiwibWFpbm5ldCIsIm9wdGltaXNtIiwicG9seWdvbiIsInpvcmEiLCJzZXBvbGlhIiwicHVibGljUHJvdmlkZXIiLCJjaGFpbnMiLCJwdWJsaWNDbGllbnQiLCJ3ZWJTb2NrZXRQdWJsaWNDbGllbnQiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfRU5BQkxFX1RFU1RORVRTIiwiY29ubmVjdG9ycyIsImFwcE5hbWUiLCJwcm9qZWN0SWQiLCJ3YWdtaUNvbmZpZyIsImF1dG9Db25uZWN0IiwiTXlBcHAiLCJDb21wb25lbnQiLCJwYWdlUHJvcHMiLCJjb25maWciLCJkaXYiLCJjbGFzc05hbWUiLCJ0aGVtZSIsImFjY2VudENvbG9yIiwiYWNjZW50Q29sb3JGb3JlZ3JvdW5kIiwiZm9udFN0YWNrIiwib3ZlcmxheUJsdXIiLCJtb2RhbFNpemUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.1e89062a764da16f.hot-update.js b/.next/static/webpack/pages/_app.1e89062a764da16f.hot-update.js deleted file mode 100644 index 13fd297..0000000 --- a/.next/static/webpack/pages/_app.1e89062a764da16f.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sYUFBYSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLE1BQU0sYUFBYSxXQUFXLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxLQUFLLHdDQUF3Qyx1QkFBdUIsc0JBQXNCLGlCQUFpQixlQUFlLGNBQWMsd0pBQXdKLHdCQUF3QixHQUFHLE9BQU8sbUJBQW1CLDBCQUEwQixHQUFHLE9BQU8sMkJBQTJCLEdBQUcsWUFBWSxtQkFBbUIsR0FBRywwQkFBMEIsb0JBQW9CLGlCQUFpQixtQkFBbUIsNkJBQTZCLDRCQUE0Qix3QkFBd0IscUNBQXFDLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLDZCQUE2QixxQkFBcUIsR0FBRyx1QkFBdUIsb0JBQW9CLGlCQUFpQixtQkFBbUIsbUNBQW1DLDRCQUE0Qix3QkFBd0Isc0NBQXNDLG1DQUFtQyxrQ0FBa0MsaUNBQWlDLDhCQUE4QixxQkFBcUIsR0FBRywrREFBK0Qsb0JBQW9CLFdBQVcsWUFBWSxnQkFBZ0IsaUJBQWlCLDhCQUE4QixHQUFHLFdBQVcsdUNBQXVDLDRCQUE0Qiw0QkFBNEIsb0RBQW9ELHdCQUF3QiwrQ0FBK0MsdUJBQXVCLDJCQUEyQixZQUFZLG1DQUFtQyxvQ0FBb0MsNkJBQTZCLGtFQUFrRSx1QkFBdUIsOENBQThDLHdDQUF3Qyx5SkFBeUosR0FBRyx3Q0FBd0MsV0FBVyw2RUFBNkUsS0FBSyxHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiwyQkFBMkIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLHdCQUF3Qix3QkFBd0IsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsMkJBQTJCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHVCQUF1Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLEdBQUcsaUNBQWlDLGdCQUFnQixZQUFZLG1CQUFtQixHQUFHLHVCQUF1QixhQUFhLG1CQUFtQixHQUFHLGlDQUFpQyxjQUFjLGVBQWUsbUJBQW1CLEdBQUcsdUJBQXVCLGFBQWEsWUFBWSxtQkFBbUIsR0FBRywwQkFBMEI7QUFDdDQ0QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmdyaWQtY29scy0xIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8g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QUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFt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QUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG59XFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNDphZnRlciB7XFxuICByaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuLnN0eWxlNTpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.20e491e987b3039d.hot-update.js b/.next/static/webpack/pages/_app.20e491e987b3039d.hot-update.js deleted file mode 100644 index b484304..0000000 --- a/.next/static/webpack/pages/_app.20e491e987b3039d.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"AAAA;;CAAc,CAAd;;;CAAc;;AAAd;;;EAAA,sBAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,mBAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,gBAAc;AAAA;;AAAd;;;;;;;CAAc;;AAAd;EAAA,gBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gBAAc,EAAd,MAAc;EAAd,cAAc;KAAd,WAAc,EAAd,MAAc;EAAd,4NAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,+BAAc,EAAd,MAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,yCAAc;UAAd,iCAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;EAAA,kBAAc;EAAd,oBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;EAAd,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,mBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,+GAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,cAAc;EAAd,cAAc;EAAd,kBAAc;EAAd,wBAAc;AAAA;;AAAd;EAAA,eAAc;AAAA;;AAAd;EAAA,WAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;EAAd,yBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;EAAA,oBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gCAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,SAAc,EAAd,MAAc;EAAd,UAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,oBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,0BAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,aAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,YAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,6BAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,0BAAc,EAAd,MAAc;EAAd,aAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,kBAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;;;;;;;;EAAA,SAAc;AAAA;;AAAd;EAAA,SAAc;EAAd,UAAc;AAAA;;AAAd;EAAA,UAAc;AAAA;;AAAd;;;EAAA,gBAAc;EAAd,SAAc;EAAd,UAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,UAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,eAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;;;;EAAA,cAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;EAAd,YAAc;AAAA;;AAAd,wEAAc;AAAd;EAAA,aAAc;AAAA;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;AAEd;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;UAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,0EAAmB;EAAnB,8FAAmB;EAAnB;AAAmB;;AAEnB;;EAEE,UAAU;EACV,SAAS;EACT;wEACsE;EACtE,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE;;kBAEgB;EAChB,sBAAsB;EAEtB,mBAAmB;EAKnB,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE;;kBAEgB;EAChB,4BAA4B;EAE5B,mBAAmB;EAKnB,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA,8CAA8C;;AAE9C;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,yBAAyB;AAC3B;;AAEA;EACE,kCAAkC;EAClC,uBAAuB;EACvB,uBAAuB;EACvB,+CAA+C;EAC/C,mBAAmB;EACnB,0CAA0C;EAC1C,kBAAkB;EAClB,sBAAsB;EACtB,OAAO;EACP,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,6DAA6D;EAC7D,kBAAkB;EAClB,yCAAyC;EACzC,mCAAmC;EACnC;2EACyE;AAC3E;AACA;EACE;IACE,sEAAsE;EACxE;AACF;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;;EAEE,kBAAkB;EAClB,WAAW;EACX,MAAM;EACN,kCAAkC;EAClC,wBAAwB;EACxB,YAAY;EACZ,0EAA0E;EAC1E,sBAAsB;EACtB,mCAAmC;AACrC;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,mCAAmC;EACrC;AACF;AACA;EACE;;IAEE,8BAA8B;IAC9B,UAAU;EACZ;EACA;;IAEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;;AAEA,sCAAsC;;AAEtC,WAAW;AACX;;EAEE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,4BAA4B;EAC5B,SAAS;EACT,oBAAoB;AACtB;;AAEA,WAAW;AACX;EACE,WAAW;EACX,OAAO;AACT;AACA;EACE,QAAQ;AACV;;AAEA,WAAW;AACX;EACE,SAAS;EACT,UAAU;AACZ;AACA;EACE,QAAQ;EACR,OAAO;AACT;AAvdA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsTUFBTSxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxL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a0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLEdBQUcsaUNBQWlDLGdCQUFnQixZQUFZLEdBQUcsdUJBQXVCLGFBQWEsR0FBRyxpQ0FBaUMsY0FBYyxlQUFlLEdBQUcsdUJBQXVCLGFBQWEsWUFBWSxHQUFHLDBCQUEwQjtBQUNsczRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7Ozs7OztFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztFQUFkLFlBQWM7QUFBQTs7QUFBZCx3RUFBYztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYzs7QUFBZDtFQUFBLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxtQkFBYztFQUFkLG1CQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsYUFBYztFQUFkLGtCQUFjO0VBQWQsc0NBQWM7RUFBZCw4QkFBYztFQUFkLDZCQUFjO0VBQWQsNEJBQWM7RUFBZCxlQUFjO0VBQWQsb0JBQWM7RUFBZCxzQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCxrQkFBYztFQUFkLDJCQUFjO0VBQWQsNEJBQWM7RUFBZCxzQ0FBYztFQUFkLGtDQUFjO0VBQWQsMkJBQWM7RUFBZCxzQkFBYztFQUFkLDhCQUFjO0VBQWQsWUFBYztFQUFkLGtCQUFjO0VBQWQsZ0JBQWM7RUFBZCxpQkFBYztFQUFkLGtCQUFjO0VBQWQsY0FBYztFQUFkLGdCQUFjO0VBQWQsYUFBYztFQUFkLG1CQUFjO0VBQWQscUJBQWM7RUFBZCwyQkFBYztFQUFkLHlCQUFjO0VBQWQsMEJBQWM7RUFBZCwyQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCx5QkFBYztFQUFkO0FBQWM7QUFFZDtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLDhGQUFtQjtFQUFuQjtBQUFtQjs7QUFFbkI7O0VBRUUsVUFBVTtFQUNWLFNBQVM7RUFDVDt3RUFDc0U7RUFDdEUsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRTs7a0JBRWdCO0VBQ2hCLHNCQUFzQjtFQUV0QixtQkFBbUI7RUFLbkIsd0JBQXdCO0VBQ3hCLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0U7O2tCQUVnQjtFQUNoQiw0QkFBNEI7RUFFNUIsbUJBQW1CO0VBS25CLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7O0FBRUEsOENBQThDOztBQUU5QztFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBQ1oseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLHVCQUF1QjtFQUN2Qix1QkFBdUI7RUFDdkIsK0NBQStDO0VBQy9DLG1CQUFtQjtFQUNuQiwwQ0FBMEM7RUFDMUMsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixPQUFPO0VBQ1AsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQix3QkFBd0I7RUFDeEIsNkRBQTZEO0VBQzdELGtCQUFrQjtFQUNsQix5Q0FBeUM7RUFDekMsbUNBQW1DO0VBQ25DOzJFQUN5RTtBQUMzRTtBQUNBO0VBQ0U7SUFDRSxzRUFBc0U7RUFDeEU7QUFDRjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixtQkFBbUI7RUFDbkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTs7RUFFRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLE1BQU07RUFDTixrQ0FBa0M7RUFDbEMsd0JBQXdCO0VBQ3hCLFlBQVk7RUFDWiwwRUFBMEU7RUFDMUUsc0JBQXNCO0VBQ3RCLG1DQUFtQztBQUNyQztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRTtJQUNFLG1DQUFtQztFQUNyQztBQUNGO0FBQ0E7RUFDRTs7SUFFRSw4QkFBOEI7SUFDOUIsVUFBVTtFQUNaO0VBQ0E7O0lBRUUsUUFBUTtJQUNSLFlBQVk7RUFDZDtFQUNBO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RUFDWjtBQUNGO0FBQ0E7RUFDRTtJQUNFLFlBQVk7RUFDZDtBQUNGOztBQUVBLHNDQUFzQzs7QUFFdEMsV0FBVztBQUNYOztFQUVFLGtCQUFrQjtFQUNsQixxQkFBcUI7QUFDdkI7QUFDQTs7RUFFRSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLDRCQUE0QjtFQUM1QixTQUFTO0VBQ1Qsb0JBQW9CO0FBQ3RCOztBQUVBLFdBQVc7QUFDWDtFQUNFLFdBQVc7RUFDWCxPQUFPO0FBQ1Q7QUFDQTtFQUNFLFFBQVE7QUFDVjs7QUFFQSxXQUFXO0FBQ1g7RUFDRSxTQUFTO0VBQ1QsVUFBVTtBQUNaO0FBQ0E7RUFDRSxRQUFRO0VBQ1IsT0FBTztBQUNUO0FBdmRBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.23d73ae551f264d4.hot-update.js b/.next/static/webpack/pages/_app.23d73ae551f264d4.hot-update.js deleted file mode 100644 index a7b8efc..0000000 --- a/.next/static/webpack/pages/_app.23d73ae551f264d4.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-violet-600:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(124 58 237 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-violet-300:focus {\\n --tw-ring-opacity: 1;\\n --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity));\\n}\\n.active\\\\:bg-violet-700:active {\\n --tw-bg-opacity: 1;\\n background-color: rgb(109 40 217 / var(--tw-bg-opacity));\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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AEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFL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QXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDcGdxRDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm1iLTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ubWItNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmxpbmUtYmxvY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaW5saW5lLWZsZXgge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxufVxcbi5ncmlkIHtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5ncmlkLWNvbHMtMiB7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XFxufVxcbi5ncmlkLWNvbHMtMSB7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4ucGxhY2UtY29udGVudC1iZXR3ZWVuIHtcXG4gIHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci1iLTIge1xcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLW5ldXRyYWwtMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDUgMjQ1IDI0NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmxhY2sge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMTAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXZpb2xldC02MDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyNCA1OCAyMzcgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmhvdmVyIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06Zm9jdXMge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5mb2N1c1xcXFw6cmluZy0wOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5mb2N1c1xcXFw6cmluZy12aW9sZXQtMzAwOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vcGFjaXR5OiAxO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoMTk2IDE4MSAyNTMgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKTtcXG59XFxuLmFjdGl2ZVxcXFw6YmctdmlvbGV0LTcwMDphY3RpdmUge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwOSA0MCAyMTcgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbi5hY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1uZXV0cmFsLTYwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1ncmF5LTgwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLW5ldXRyYWwtNzAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjQgNjQgNjQgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1ncmF5LTQwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC13aGl0ZSB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTIwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDIyOSAyMjkgMjI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTUwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjUwIDI1MCAyNTAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpzaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjVcXFxcKVxcXFxdIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjUpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpiZy1ncmF5LTcwMDpob3ZlciB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpob3ZlciB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpmb2N1cyB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06YWN0aXZlIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FB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O0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VB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QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTs7RUFBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLGlEQ0FBO0lEQUEsMkRDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.24561d6553c24ef6.hot-update.js b/.next/static/webpack/pages/_app.24561d6553c24ef6.hot-update.js deleted file mode 100644 index bfc4426..0000000 --- a/.next/static/webpack/pages/_app.24561d6553c24ef6.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"AAAA;;CAAc,CAAd;;;CAAc;;AAAd;;;EAAA,sBAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,mBAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,gBAAc;AAAA;;AAAd;;;;;;;CAAc;;AAAd;EAAA,gBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gBAAc,EAAd,MAAc;EAAd,cAAc;KAAd,WAAc,EAAd,MAAc;EAAd,4NAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,+BAAc,EAAd,MAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,yCAAc;UAAd,iCAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;EAAA,kBAAc;EAAd,oBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;EAAd,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,mBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,+GAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,cAAc;EAAd,cAAc;EAAd,kBAAc;EAAd,wBAAc;AAAA;;AAAd;EAAA,eAAc;AAAA;;AAAd;EAAA,WAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;EAAd,yBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;EAAA,oBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gCAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,SAAc,EAAd,MAAc;EAAd,UAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,oBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,0BAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,aAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,YAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,6BAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,0BAAc,EAAd,MAAc;EAAd,aAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,kBAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;;;;;;;;EAAA,SAAc;AAAA;;AAAd;EAAA,SAAc;EAAd,UAAc;AAAA;;AAAd;EAAA,UAAc;AAAA;;AAAd;;;EAAA,gBAAc;EAAd,SAAc;EAAd,UAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,UAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,eAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;;;;EAAA,cAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;EAAd,YAAc;AAAA;;AAAd,wEAAc;AAAd;EAAA,aAAc;AAAA;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;AAEd;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;UAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;;AAEnB;;EAEE,UAAU;EACV,SAAS;EACT;wEACsE;EACtE,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE;;kBAEgB;EAChB,sBAAsB;EAEtB,mBAAmB;EAKnB,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE;;kBAEgB;EAChB,4BAA4B;EAE5B,mBAAmB;EAKnB,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA,sCAAsC;AACtC,8CAA8C;;AAE9C;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,yBAAyB;AAC3B;;AAEA;EACE,kCAAkC;EAClC,uBAAuB;EACvB,uBAAuB;EACvB,+CAA+C;EAC/C,mBAAmB;EACnB,0CAA0C;EAC1C,kBAAkB;EAClB,sBAAsB;EACtB,OAAO;EACP,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,6DAA6D;EAC7D,kBAAkB;EAClB,yCAAyC;EACzC,mCAAmC;EACnC;2EACyE;AAC3E;AACA;EACE;IACE,sEAAsE;EACxE;AACF;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;;EAEE,kBAAkB;EAClB,WAAW;EACX,MAAM;EACN,kCAAkC;EAClC,wBAAwB;EACxB,YAAY;EACZ,0EAA0E;EAC1E,sBAAsB;EACtB,mCAAmC;AACrC;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,mCAAmC;EACrC;AACF;AACA;EACE;;IAEE,8BAA8B;IAC9B,UAAU;EACZ;EACA;;IAEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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d0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywyQkFBMkIsdUJBQXVCLHdEQUF3RCxHQUFHLDJCQUEyQix1QkFBdUIsOERBQThELEdBQUcsNkJBQTZCLHlCQUF5QixxREFBcUQsR0FBRyw2QkFBNkIseUJBQXlCLCtDQUErQyxHQUFHLCtCQUErQixtQ0FBbUMsd0JBQXdCLEdBQUcsdUJBQXVCLGdIQUFnSCw4R0FBOEcsaUdBQWlHLEdBQUcsb0NBQW9DLDRCQUE0QixHQUFHLDZCQUE2QixtQkFBbUIscUJBQXFCLEtBQUssb0JBQW9CLGtCQUFrQixLQUFLLHNCQUFzQixzQkFBc0IscUJBQXFCLEtBQUssK0JBQStCLHlCQUF5Qix5QkFBeUIsS0FBSyxHQUFHLDhCQUE4QixxQkFBcUIsZUFBZSxLQUFLLGtCQUFrQixvQkFBb0IsS0FBSyxzQkFBc0Isb0JBQW9CLEtBQUssMEJBQTBCLDBCQUEwQixLQUFLLEdBQUcsU0FBUyxrR0FBa0csWUFBWSxNQUFNLE9BQU8scUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxXQUFXLE1BQU0sV0FBVyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixxQkFBcUIsVUFBVSxvQkFBb0IscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsV0FBVyxXQUFXLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sS0FBSyxLQUFLLE1BQU0sS0FBSyxLQUFL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RyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDdDR5QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7Ozs7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7RUFBZCxZQUFjO0FBQUE7O0FBQWQsd0VBQWM7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDtFQUFBLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxtQkFBYztFQUFkLG1CQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFB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Q0FBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.27c696b198541ed7.hot-update.js b/.next/static/webpack/pages/_app.27c696b198541ed7.hot-update.js deleted file mode 100644 index 2e116e3..0000000 --- a/.next/static/webpack/pages/_app.27c696b198541ed7.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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VyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixxQkFBcUIsVUFBVSxvQkFBb0IscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsV0FBVyxXQUFXLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FB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R0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQ3RtMEM7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYztBQUVkO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FB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RjtBQXBiQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.28c2d3a6e72be3ab.hot-update.js b/.next/static/webpack/pages/_app.28c2d3a6e72be3ab.hot-update.js deleted file mode 100644 index d4f2c39..0000000 --- a/.next/static/webpack/pages/_app.28c2d3a6e72be3ab.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"AAAA;;CAAc,CAAd;;;CAAc;;AAAd;;;EAAA,sBAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,mBAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,gBAAc;AAAA;;AAAd;;;;;;;CAAc;;AAAd;EAAA,gBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gBAAc,EAAd,MAAc;EAAd,cAAc;KAAd,WAAc,EAAd,MAAc;EAAd,4NAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,+BAAc,EAAd,MAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,yCAAc;UAAd,iCAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;EAAA,kBAAc;EAAd,oBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;EAAd,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,mBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,+GAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,cAAc;EAAd,cAAc;EAAd,kBAAc;EAAd,wBAAc;AAAA;;AAAd;EAAA,eAAc;AAAA;;AAAd;EAAA,WAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;EAAd,yBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;EAAA,oBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gCAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,SAAc,EAAd,MAAc;EAAd,UAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,oBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,0BAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,aAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,YAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,6BAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,0BAAc,EAAd,MAAc;EAAd,aAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,kBAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;;;;;;;;EAAA,SAAc;AAAA;;AAAd;EAAA,SAAc;EAAd,UAAc;AAAA;;AAAd;EAAA,UAAc;AAAA;;AAAd;;;EAAA,gBAAc;EAAd,SAAc;EAAd,UAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,UAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,eAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;;;;EAAA,cAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;EAAd,YAAc;AAAA;;AAAd,wEAAc;AAAd;EAAA,aAAc;AAAA;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;AAEd;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;UAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA,eAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,0EAAmB;EAAnB,8FAAmB;EAAnB;AAAmB;AAAnB;EAAA,+EAAmB;EAAnB,oGAAmB;EAAnB;AAAmB;AAAnB;EAAA,mCAAmB;EAAnB,0DAAmB;EAAnB;AAAmB;AAAnB;EAAA,gKAAmB;EAAnB,wJAAmB;EAAnB,iLAAmB;EAAnB,wDAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;;AAEnB;;EAEE,UAAU;EACV,SAAS;EACT;wEACsE;EACtE,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE;;kBAEgB;EAChB,sBAAsB;EAEtB,mBAAmB;EAKnB,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE;;kBAEgB;EAChB,4BAA4B;EAE5B,mBAAmB;EAKnB,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA,sCAAsC;AACtC,8CAA8C;;AAE9C;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,yBAAyB;AAC3B;;AAEA;EACE,kCAAkC;EAClC,uBAAuB;EACvB,uBAAuB;EACvB,+CAA+C;EAC/C,mBAAmB;EACnB,0CAA0C;EAC1C,kBAAkB;EAClB,sBAAsB;EACtB,OAAO;EACP,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,6DAA6D;EAC7D,kBAAkB;EAClB,yCAAyC;EACzC,mCAAmC;EACnC;2EACyE;AAC3E;AACA;EACE;IACE,sEAAsE;EACxE;AACF;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;;EAEE,kBAAkB;EAClB,WAAW;EACX,MAAM;EACN,kCAAkC;EAClC,wBAAwB;EACxB,YAAY;EACZ,0EAA0E;EAC1E,sBAAsB;EACtB,mCAAmC;AACrC;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,mCAAmC;EACrC;AACF;AACA;EACE;;IAEE,8BAA8B;IAC9B,UAAU;EACZ;EACA;;IAEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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TSxLQUFLLFVBQVUsV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdB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QUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDemtwRDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm1iLTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ubWItNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmxpbmUtYmxvY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaW5saW5lLWZsZXgge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxufVxcbi5ncmlkIHtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5ncmlkLWNvbHMtMiB7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XFxufVxcbi5ncmlkLWNvbHMtMSB7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4ucGxhY2UtY29udGVudC1iZXR3ZWVuIHtcXG4gIHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci1iLTIge1xcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLW5ldXRyYWwtMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDUgMjQ1IDI0NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmxhY2sge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMTAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpob3ZlciB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmZvY3VzIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uZm9jdXNcXFxcOnJpbmctMDpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG4uYWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTphY3RpdmUge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItbmV1dHJhbC02MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1uZXV0cmFsLTcwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0IDY0IDY0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtZ3JheS00MDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtd2hpdGUge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC0yMDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyMjkgMjI5IDIyOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC01MCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1MCAyNTAgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6c2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC41XFxcXClcXFxcXSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC41KTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06aG92ZXIge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpmb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06Zm9jdXMge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDphY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmdyaWQge1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYztBQUVkO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FB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RTtJQUNFLFlBQVk7RUFDZDtBQUNGO0FBcGJBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.302ad97cefc27d54.hot-update.js b/.next/static/webpack/pages/_app.302ad97cefc27d54.hot-update.js deleted file mode 100644 index b4131c9..0000000 --- a/.next/static/webpack/pages/_app.302ad97cefc27d54.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-violet-600:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(124 58 237 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-sky-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(3 105 161 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-violet-300:focus {\\n --tw-ring-opacity: 1;\\n --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity));\\n}\\n.active\\\\:bg-violet-700:active {\\n --tw-bg-opacity: 1;\\n background-color: rgb(109 40 217 / var(--tw-bg-opacity));\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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AEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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TUFBTSxLQUFLLG9CQUFvQixvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLFVBQVUsV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FB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ZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tYi0yIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuLm1iLTQge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTIge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWNvbnRlbnQtYmV0d2VlbiB7XFxuICBwbGFjZS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1iZXR3ZWVuIHtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmdhcC00IHtcXG4gIGdhcDogMXJlbTtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLnJvdW5kZWQtbGcge1xcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xcbn1cXG4ucm91bmRlZCB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItYi0yIHtcXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktNDAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0yMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1uZXV0cmFsLTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQ1IDI0NSAyNDUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsYWNrIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctYmx1ZS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM5IDI0NiAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTQwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy13aGl0ZSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTEwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4ucHgtMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4ucHktODAge1xcbiAgcGFkZGluZy10b3A6IDIwcmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xcbn1cXG4ucHgtNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcXG59XFxuLnBiLTIge1xcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcXG59XFxuLnB0LTIge1xcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcXG59XFxuLnB0LTJcXFxcLjUge1xcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4udGV4dC1iYXNlIHtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XFxufVxcbi50ZXh0LXhsIHtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xcbn1cXG4udGV4dC14cyB7XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi5mb250LW5vcm1hbCB7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4udXBwZXJjYXNlIHtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxufVxcbi5sZWFkaW5nLW5vcm1hbCB7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG4ubGVhZGluZy10aWdodCB7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG59XFxuLnRyYWNraW5nLXRpZ2h0IHtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTcwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS05MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtNjAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTgwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMzggMzggMzggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG4uc2hhZG93IHtcXG4gIC0tdHctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzJweF8xNXB4Xy0zcHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDdcXFxcKVxcXFwyYyAwXzEwcHhfMjBweF8tMnB4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA0XFxcXClcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCAycHggMTVweCAtM3B4IHJnYmEoMCwwLDAsMC4wNyksMCAxMHB4IDIwcHggLTJweCByZ2JhKDAsMCwwLDAuMDQpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAycHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMTBweCAyMHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9cXFxcIzNiNzFjYVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCAjM2I3MWNhO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi50cmFuc2l0aW9uIHtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5kdXJhdGlvbi0xNTAge1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5lYXNlLWluLW91dCB7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWdyYXktMTAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy12aW9sZXQtNjAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMjQgNTggMjM3IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXNreS03MDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMgMTA1IDE2MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06aG92ZXIge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpmb2N1cyB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmZvY3VzXFxcXDpyaW5nLTA6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmZvY3VzXFxcXDpyaW5nLXZpb2xldC0zMDA6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9wYWNpdHk6IDE7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYigxOTYgMTgxIDI1MyAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpO1xcbn1cXG4uYWN0aXZlXFxcXDpiZy12aW9sZXQtNzAwOmFjdGl2ZSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTA5IDQwIDIxNyAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuLmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06YWN0aXZlIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLW5ldXRyYWwtNjAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctbmV1dHJhbC03MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2NCA2NCA2NCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LWdyYXktNDAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LXdoaXRlIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtMjAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjI5IDIyOSAyMjkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtNTAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTAgMjUwIDI1MCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuNVxcXFwpXFxcXF0ge1xcbiAgICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuNSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmhvdmVyIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Zm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmZvY3VzIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTphY3RpdmUge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVz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QW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEs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QUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.4aac568db9e9f4b4.hot-update.js b/.next/static/webpack/pages/_app.4aac568db9e9f4b4.hot-update.js deleted file mode 100644 index 2c13114..0000000 --- a/.next/static/webpack/pages/_app.4aac568db9e9f4b4.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLFdBQVcsT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFL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LCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLHVCQUF1QixLQUFLLGlDQUFpQyxrQkFBa0IsdUJBQXVCLGlDQUFpQyxjQUFjLHlCQUF5QixtQkFBbUIsR0FBRyxpQ0FBaUMsZ0JBQWdCLFlBQVksbUJBQW1CLEdBQUcsdUJBQXVCLGFBQWEsbUJBQW1CLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxtQkFBbUIsR0FBRyx1QkFBdUIsYUFBYSxZQUFZLG1CQUFtQixHQUFHLDBCQUEwQjtBQUN0LzRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLyogY29sb3I6ICMwMGY5MDA7ICovXFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxj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QW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFu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VztBQUNYO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixjQUFjO0FBQ2hCO0FBQ0E7RUFDRSxRQUFRO0VBQ1IsT0FBTztFQUNQLGNBQWM7QUFDaEI7QUE3ZEE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAvKiBjb2xvcjogIzAwZjkwMDsgKi9cXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.511e390c345698c3.hot-update.js b/.next/static/webpack/pages/_app.511e390c345698c3.hot-update.js deleted file mode 100644 index 0287395..0000000 --- a/.next/static/webpack/pages/_app.511e390c345698c3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after a:hover {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after a:hover {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after a:hover {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after a:hover {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLFdBQVcsT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFL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LCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLHVCQUF1QixLQUFLLGlDQUFpQyxrQkFBa0IsdUJBQXVCLGlDQUFpQyxjQUFjLHlCQUF5QixtQkFBbUIsR0FBRyxpQ0FBaUMsZ0JBQWdCLFlBQVksbUJBQW1CLEdBQUcsK0JBQStCLGFBQWEsbUJBQW1CLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxtQkFBbUIsR0FBRywrQkFBK0IsYUFBYSxZQUFZLG1CQUFtQixHQUFHLDBCQUEwQjtBQUN0aDVDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLyogY29sb3I6ICMwMGY5MDA7ICovXFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIGE6aG92ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIgYTpob3ZlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NB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bUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5C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O0FBQ2hCOztBQUVBLFdBQVc7QUFDWDtFQUNFLFNBQVM7RUFDVCxVQUFVO0VBQ1YsY0FBYztBQUNoQjtBQUNBO0VBQ0UsUUFBUTtFQUNSLE9BQU87RUFDUCxjQUFjO0FBQ2hCO0FBN2RBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLyogY29sb3I6ICMwMGY5MDA7ICovXFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIGE6aG92ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIgYTpob3ZlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.5bc845ba9c13d124.hot-update.js b/.next/static/webpack/pages/_app.5bc845ba9c13d124.hot-update.js deleted file mode 100644 index 1511452..0000000 --- a/.next/static/webpack/pages/_app.5bc845ba9c13d124.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! wagmi */ \"./node_modules/wagmi/dist/index.js\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi/chains */ \"./node_modules/wagmi/dist/chains.js\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/providers/public */ \"./node_modules/wagmi/dist/providers/public.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp(param) {\n let { Component, pageProps } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_3__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n_c = MyApp;\n/* harmony default export */ __webpack_exports__[\"default\"] = (MyApp);\nvar _c;\n$RefreshReg$(_c, \"MyApp\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ1k7QUFNWDtBQUVtQztBQVM3QztBQUNrQztBQUV4RCxNQUFNLEVBQUVjLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxxQkFBcUIsRUFBRSxHQUFHYixzREFBZUEsQ0FDckU7SUFDRUssaURBQU9BO0lBQ1BFLGlEQUFPQTtJQUNQRCxrREFBUUE7SUFDUkgsa0RBQVFBO0lBQ1JLLDhDQUFJQTtJQUNKSixnREFBTUE7SUFDTkssaURBQU9BO09BQ0hLLE9BQU9BLENBQUNDLEdBQUcsQ0FBQ0MsMkJBQTJCLEtBQUssU0FBUztRQUFDWixnREFBTUE7S0FBQyxHQUFHLEVBQUU7Q0FDdkUsRUFDRDtJQUFDTSxzRUFBY0E7Q0FBRztBQUdwQixNQUFNLEVBQUVPLFVBQVUsRUFBRSxHQUFHcEIseUVBQWlCQSxDQUFDO0lBQ3ZDcUIsU0FBUztJQUNUQyxXQUFXO0lBQ1hSO0FBQ0Y7QUFFQSxNQUFNUyxjQUFjbkIsbURBQVlBLENBQUM7SUFDL0JvQixhQUFhO0lBQ2JKO0lBQ0FMO0lBQ0FDO0FBQ0Y7QUFFQSxTQUFTUyxNQUFNLEtBQWtDO1FBQWxDLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFZLEdBQWxDO0lBQ2IscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0tBdEJTRjtBQXdCVCwrREFBZUEsS0FBS0EsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.5cb45b3d54cbfbb1.hot-update.js b/.next/static/webpack/pages/_app.5cb45b3d54cbfbb1.hot-update.js deleted file mode 100644 index d1d8c8d..0000000 --- a/.next/static/webpack/pages/_app.5cb45b3d54cbfbb1.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QUFNLE1BQU0sS0FBSyxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsV0FBVyxXQUFXLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLE1BQU0sV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUss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Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUNyK3lDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7Ozs7OztFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztFQUFkLFlB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LG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.5df2843b4e4bc270.hot-update.js b/.next/static/webpack/pages/_app.5df2843b4e4bc270.hot-update.js deleted file mode 100644 index f9a5677..0000000 --- a/.next/static/webpack/pages/_app.5df2843b4e4bc270.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywrTUFBK00scUJBQXFCLEdBQUcsbUZBQW1GLDZCQUE2QixHQUFHLGlKQUFpSixpQkFBaUIsR0FBRyw2SEFBNkgsbUNBQW1DLGlDQUFpQyxVQUFVLG9HQUFvRyw2QkFBNkIsR0FBRyxxS0FBcUssZ0NBQWdDLDBCQUEwQixVQUFVLHNFQUFzRSx1QkFBdUIsR0FBRyw0SkFBNEosY0FBYyxHQUFHLGNBQWMsY0FBYyxlQUFlLEdBQUcsWUFBWSxlQUFlLEdBQUcsb0JBQW9CLHFCQUFxQixjQUFjLGVBQWUsR0FBRyx3REFBd0QsZUFBZSxHQUFHLDZFQUE2RSxxQkFBcUIsR0FBRyxrUUFBa1EsZ0JBQWdCLDJCQUEyQixVQUFVLGdEQUFnRCxnQkFBZ0IsMkJBQTJCLFVBQVUsK0VBQStFLG9CQUFvQixHQUFHLGlGQUFpRixvQkFBb0IsR0FBRyxtYkFBbWIsb0JBQW9CLG1DQUFtQyxVQUFVLHdLQUF3SyxvQkFBb0IsaUJBQWlCLEdBQUcseUZBQXlGLGtCQUFrQixHQUFHLDBCQUEwQiw2QkFBNkIsNkJBQTZCLHdCQUF3Qix3QkFBd0IsbUJBQW1CLG1CQUFtQixtQkFBbUIsb0JBQW9CLG9CQUFvQixrQkFBa0Isa0JBQWtCLHVCQUF1QiwyQ0FBMkMsbUNBQW1DLGtDQUFrQyxpQ0FBaUMsb0JBQW9CLHlCQUF5QiwyQkFBMkIsNEJBQTRCLDZCQUE2Qix1QkFBdUIsZ0NBQWdDLGlDQUFpQywyQ0FBMkMsdUNBQXVDLGdDQUFnQywyQkFBMkIsbUNBQW1DLGlCQUFpQix1QkFBdUIscUJBQXFCLHNCQUFzQix1QkFBdUIsbUJBQW1CLHFCQUFxQixrQkFBa0Isd0JBQXdCLDBCQUEwQixnQ0FBZ0MsOEJBQThCLCtCQUErQixnQ0FBZ0MsNEJBQTRCLDZCQUE2Qiw4QkFBOEIsMkJBQTJCLEdBQUcsZ0JBQWdCLDZCQUE2Qiw2QkFBNkIsd0JBQXdCLHdCQUF3QixtQkFBbUIsbUJBQW1CLG1CQUFtQixvQkFBb0Isb0JBQW9CLGtCQUFrQixrQkFBa0IsdUJBQXVCLDJDQUEyQyxtQ0FBbUMsa0NBQWtDLGlDQUFpQyxvQkFBb0IseUJBQXlCLDJCQUEyQiw0QkFBNEIsNkJBQTZCLHVCQUF1QixnQ0FBZ0MsaUNBQWlDLDJDQUEyQyx1Q0FBdUMsZ0NBQWdDLDJCQUEyQixtQ0FBbUMsaUJBQWlCLHVCQUF1QixxQkFBcUIsc0JBQXNCLHVCQUF1QixtQkFBbUIscUJBQXFCLGtCQUFrQix3QkFBd0IsMEJBQTBCLGdDQUFnQyw4QkFBOEIsK0JBQStCLGdDQUFnQyw0QkFBNEIsNkJBQTZCLDhCQUE4QiwyQkFBMkIsR0FBRyxhQUFhLHVCQUF1QixHQUFHLGFBQWEsdUJBQXVCLEdBQUcsWUFBWSxlQUFlLEdBQUcsWUFBWSxnQkFBZ0IsR0FBRyxhQUFhLGdCQUFnQixHQUFHLGFBQWEsaUJBQWlCLEdBQUcsV0FBVyxjQUFjLEdBQUcsV0FBVyxlQUFlLEdBQUcsUUFBUSxnQkFBZ0IsR0FBRyxTQUFTLG1CQUFtQixHQUFHLFlBQVksc0JBQXNCLHVCQUF1QixHQUFHLFVBQVUsdUJBQXVCLEdBQUcsVUFBVSxxQkFBcUIsR0FBRyxTQUFTLHFCQUFxQixHQUFHLFNBQVMscUJBQXFCLEdBQUcsVUFBVSxtQkFBbUIsR0FBRyxTQUFTLGtCQUFrQixHQUFHLGdCQUFnQix5QkFBeUIsR0FBRyxTQUFTLGtCQUFrQixHQUFHLFFBQVEsbUJBQW1CLEdBQUcsUUFBUSxrQkFBa0IsR0FBRyxXQUFXLGdCQUFnQixHQUFHLGNBQWMscUJBQXFCLEdBQUcsb0JBQW9CLHNCQUFzQixHQUFHLGFBQWEscUJBQXFCLEdBQUcsYUFBYSxxQkFBcUIsR0FBRyxnQkFBZ0IscURBQXFELEdBQUcsY0FBYyxvQkFBb0IsR0FBRyx1QkFBdUIsd0JBQXdCLEdBQUcsaUJBQWlCLHdCQUF3QixHQUFHLG1CQUFtQiw0QkFBNEIsR0FBRyxvQkFBb0IsbUNBQW1DLEdBQUcsVUFBVSxjQUFjLEdBQUcsZ0JBQWdCLDBCQUEwQixHQUFHLGVBQWUsMEJBQTBCLEdBQUcsV0FBVyxzQkFBc0IsR0FBRyxhQUFhLHNCQUFzQixHQUFHLHVCQUF1QiwyQkFBMkIsd0RBQXdELEdBQUcsd0JBQXdCLDJCQUEyQiw0REFBNEQsR0FBRyxvQkFBb0IsMkJBQTJCLDREQUE0RCxHQUFHLG9CQUFvQiwyQkFBMkIsOERBQThELEdBQUcsdUJBQXVCLHVCQUF1QiwwREFBMEQsR0FBRyxnQkFBZ0IsdUJBQXVCLDhEQUE4RCxHQUFHLGlCQUFpQixrQ0FBa0Msa0NBQWtDLEdBQUcsUUFBUSxvQkFBb0IsR0FBRyxRQUFRLGtCQUFrQixHQUFHLFVBQVUsdUJBQXVCLHdCQUF3QixHQUFHLFNBQVMsdUJBQXVCLHdCQUF3QixHQUFHLFNBQVMsMEJBQTBCLDJCQUEyQixHQUFHLFNBQVMseUJBQXlCLDRCQUE0QixHQUFHLFVBQVUsc0JBQXNCLHlCQUF5QixHQUFHLGdCQUFnQix1QkFBdUIsR0FBRyxhQUFhLHNCQUFzQixzQkFBc0IsR0FBRyxhQUFhLHdCQUF3Qix5QkFBeUIsR0FBRyxZQUFZLHdCQUF3Qix5QkFBeUIsR0FBRyxjQUFjLHFCQUFxQixHQUFHLG1CQUFtQixxQkFBcUIsR0FBRyxnQkFBZ0IscUJBQXFCLEdBQUcseUJBQXlCLHlCQUF5QixxREFBcUQsR0FBRyxlQUFlLHlCQUF5QiwrQ0FBK0MsR0FBRyxrQkFBa0IseUJBQXlCLHFEQUFxRCxHQUFHLGVBQWUseUJBQXlCLHFEQUFxRCxHQUFHLGNBQWMsb0NBQW9DLEdBQUcsV0FBVywrRUFBK0UsbUdBQW1HLDRHQUE0RyxHQUFHLGlCQUFpQixlQUFlLGNBQWMsd0pBQXdKLHdCQUF3QixHQUFHLE9BQU8sbUJBQW1CLDBCQUEwQixHQUFHLE9BQU8sMkJBQTJCLEdBQUcsWUFBWSxtQkFBbUIsR0FBRywwQkFBMEIsb0JBQW9CLGlCQUFpQixtQkFBbUIsNkJBQTZCLHdCQUF3Qiw2QkFBNkIscUJBQXFCLEdBQUcsdUJBQXVCLG9CQUFvQixpQkFBaUIsbUJBQW1CLG1DQUFtQyx3QkFBd0IsOEJBQThCLHFCQUFxQixHQUFHLCtEQUErRCxvQkFBb0IsV0FBVyxZQUFZLGdCQUFnQixpQkFBaUIsOEJBQThCLEdBQUcsV0FBVyx1Q0FBdUMsNEJBQTRCLDRCQUE0QixvREFBb0Qsd0JBQXdCLCtDQUErQyx1QkFBdUIsMkJBQTJCLFlBQVksbUNBQW1DLG9DQUFvQyw2QkFBNkIsa0VBQWtFLHVCQUF1Qiw4Q0FBOEMsd0NBQXdDLHlKQUF5SixHQUFHLHdDQUF3QyxXQUFXLDZFQUE2RSxLQUFLLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDJCQUEyQix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsd0JBQXdCLHdCQUF3QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsMkJBQTJCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsdUJBQXVCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsZ0ZBQWdGLHVCQUF1QiwwQkFBMEIsR0FBRyxpQ0FBaUMsa0JBQWtCLHVCQUF1QixpQ0FBaUMsY0FBYyx5QkFBeUIsR0FBRyxpQ0FBaUMsZ0JBQWdCLFlBQVksR0FBRyx1QkFBdUIsYUFBYSxtQkFBbUIsR0FBRyxpQ0FBaUMsY0FBYyxlQUFlLEdBQUcsdUJBQXVCLGFBQWEsWUFBWSxtQkFBbUIsR0FBRywyQkFBMkIsdUJBQXVCLHdEQUF3RCxHQUFHLDhCQUE4Qix1QkFBdUIsOERBQThELEdBQUcsNkJBQTZCLHlCQUF5QixxREFBcUQsR0FBRywrQkFBK0IsbUNBQW1DLHdCQUF3QixHQUFHLHVCQUF1QixnSEFBZ0gsOEdBQThHLGlHQUFpRyxHQUFHLG9DQUFvQyw0QkFBNEIsR0FBRyx1Q0FBdUMsK0JBQStCLDZCQUE2Qiw2REFBNkQsS0FBSywyQkFBMkIseUJBQXlCLDZEQUE2RCxLQUFLLHlDQUF5Qyx5QkFBeUIsNkRBQTZELEtBQUssR0FBRyw2QkFBNkIsbUJBQW1CLHFCQUFxQixLQUFLLG9CQUFvQixrQkFBa0IsS0FBSyxzQkFBc0Isc0JBQXNCLHFCQUFxQixLQUFLLCtCQUErQix5QkFBeUIseUJBQXlCLEtBQUssR0FBRyw4QkFBOEIscUJBQXFCLGVBQWUsS0FBSyxrQkFBa0Isb0JBQW9CLEtBQUssa0JBQWtCLG9CQUFvQixLQUFLLHNCQUFzQixvQkFBb0IsS0FBSywwQkFBMEIsMEJBQTBCLEtBQUssR0FBRyxTQUFTLGtHQUFrRyxZQUFZLE1BQU0sT0FBTyxxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLFdBQVcsTUFBTSxXQUFXLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLHFCQUFxQixVQUFVLG9CQUFvQixxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLGFBQWEsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxNQUFNLGFBQWEsV0FBVyxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLE9BQU8sVUFBVSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLE9BQU8sVUFBVSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtB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LEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLEdBQUcsaUNBQWlDLGdCQUFnQixZQUFZLEdBQUcsdUJBQXVCLGFBQWEsbUJBQW1CLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxHQUFHLHVCQUF1QixhQUFhLFlBQVksbUJBQW1CLEdBQUcsMEJBQTBCO0FBQ3B5NEM7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaW5saW5lLWZsZXgge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxufVxcbi5ncmlkIHtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXctc20ge1xcbiAgbWF4LXdpZHRoOiAyNHJlbTtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5ncmlkLWNvbHMtMSB7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1iZXR3ZWVuIHtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmdhcC00IHtcXG4gIGdhcDogMXJlbTtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLnJvdW5kZWQtbGcge1xcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0yMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG4uc2hhZG93IHtcXG4gIC0tdHctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG59XFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNDphZnRlciB7XFxuICByaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JB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O0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLDhGQUFt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QSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTs7RUFBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.5f0908807c89f3b0.hot-update.js b/.next/static/webpack/pages/_app.5f0908807c89f3b0.hot-update.js deleted file mode 100644 index 87213a2..0000000 --- a/.next/static/webpack/pages/_app.5f0908807c89f3b0.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after a {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after a {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after a {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after a {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLFdBQVcsT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxLQUFLLHdDQUF3Qyx1QkFBdUIsc0JBQXNCLGlCQUFpQixlQUFlLGNBQWMsd0pBQXdKLHdCQUF3QixHQUFHLE9BQU8sbUJBQW1CLDBCQUEwQixHQUFHLE9BQU8sMkJBQTJCLEdBQUcsWUFBWSxtQkFBbUIsR0FBRywwQkFBMEIsb0JBQW9CLGlCQUFpQixtQkFBbUIsNkJBQTZCLDRCQUE0Qix3QkFBd0IscUNBQXFDLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLDZCQUE2QixxQkFBcUIsR0FBRyx1QkFBdUIsb0JBQW9CLGlCQUFpQixtQkFBbUIsbUNBQW1DLDRCQUE0Qix3QkFBd0Isc0NBQXNDLG1DQUFtQyxrQ0FBa0MsaUNBQWlDLDhCQUE4QixxQkFBcUIsR0FBRywrREFBK0Qsb0JBQW9CLFdBQVcsWUFBWSxnQkFBZ0IsaUJBQWlCLDhCQUE4QixHQUFHLFdBQVcsdUNBQXVDLDRCQUE0Qiw0QkFBNEIsb0RBQW9ELHdCQUF3QiwrQ0FBK0MsdUJBQXVCLDJCQUEyQixZQUFZLG1DQUFtQyxvQ0FBb0MsNkJBQTZCLGtFQUFrRSx1QkFBdUIsOENBQThDLHdDQUF3Qyx5SkFBeUosR0FBRyx3Q0FBd0MsV0FBVyw2RUFBNkUsS0FBSyxHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiwyQkFBMkIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLHdCQUF3Qix3QkFBd0IsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsMkJBQTJCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHVCQUF1Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLHVCQUF1QixLQUFLLGlDQUFpQyxrQkFBa0IsdUJBQXVCLGlDQUFpQyxjQUFjLHlCQUF5QixtQkFBbUIsR0FBRyxpQ0FBaUMsZ0JBQWdCLFlBQVksbUJBQW1CLEdBQUcseUJBQXlCLGFBQWEsbUJBQW1CLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxtQkFBbUIsR0FBRyx5QkFBeUIsYUFBYSxZQUFZLG1CQUFtQixHQUFHLDBCQUEwQjtBQUM5LzRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLyogY29sb3I6ICMwMGY5MDA7ICovXFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIGEge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIgYSB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VB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QTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7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LFdBQVc7QUFDWDtFQUNFLFNBQVM7RUFDVCxVQUFVO0VBQ1YsY0FBYztBQUNoQjtBQUNBO0VBQ0UsUUFBUTtFQUNSLE9BQU87RUFDUCxjQUFjO0FBQ2hCO0FBN2RBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLyogY29sb3I6ICMwMGY5MDA7ICovXFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIGEge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIgYSB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.6300efb38a547520.hot-update.js b/.next/static/webpack/pages/_app.6300efb38a547520.hot-update.js deleted file mode 100644 index 6291b12..0000000 --- a/.next/static/webpack/pages/_app.6300efb38a547520.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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CAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUss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LHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDcHJvRDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm1iLTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ubWItNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmxpbmUtYmxvY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWNvbnRlbnQtYmV0d2VlbiB7XFxuICBwbGFjZS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci1iLTIge1xcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLW5ldXRyYWwtMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDUgMjQ1IDI0NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmxhY2sge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMTAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpob3ZlciB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmZvY3VzIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uZm9jdXNcXFxcOnJpbmctMDpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG4uYWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTphY3RpdmUge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItbmV1dHJhbC02MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1uZXV0cmFsLTcwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0IDY0IDY0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtZ3JheS00MDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtd2hpdGUge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC0yMDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyMjkgMjI5IDIyOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC01MCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1MCAyNTAgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6c2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC41XFxcXClcXFxcXSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC41KTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06aG92ZXIge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpmb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06Zm9jdXMge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDphY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmdyaWQge1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFB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QW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FB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LE1BQU07RUFDTixrQ0FBa0M7RUFDbEMsd0JBQXdCO0VBQ3hCLFlBQVk7RUFDWiwwRUFBMEU7RUFDMUUsc0JBQXNCO0VBQ3RCLG1DQUFtQztBQUNyQztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRTtJQUNFLG1DQUFtQztFQUNyQztBQUNGO0FBQ0E7RUFDRTs7SUFFRSw4QkFBOEI7SUFDOUIsVUFBVTtFQUNaO0VBQ0E7O0lBRUUsUUFBUTtJQUNSLFlBQVk7RUFDZDtFQUNBO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RUFDWjtBQUNGO0FBQ0E7RUFDRTtJQUNFLFlBQVk7RUFDZDtBQUNGO0FBcGJBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.67ac0cbdda4dffbb.hot-update.js b/.next/static/webpack/pages/_app.67ac0cbdda4dffbb.hot-update.js deleted file mode 100644 index d765b34..0000000 --- a/.next/static/webpack/pages/_app.67ac0cbdda4dffbb.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sYUFBYSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLE1BQU0sYUFBYSxXQUFXLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksV0FBVyxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsTUFBTSxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFL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LHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLG1CQUFtQixHQUFHLGlDQUFpQyxnQkFBZ0IsWUFBWSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxHQUFHLHVCQUF1QixhQUFhLFlBQVksR0FBRywwQkFBMEI7QUFDbnY0QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmdyaWQtY29scy0xIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxt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O0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMEVBQW1CO0VBQW5CLDhGQUFtQjtFQUFuQjtBQUFtQjs7QUFFbkI7O0VBRUUsVUFBVTtFQUNWLFNB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QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.6d29f649177dd226.hot-update.js b/.next/static/webpack/pages/_app.6d29f649177dd226.hot-update.js deleted file mode 100644 index f91ba1c..0000000 --- a/.next/static/webpack/pages/_app.6d29f649177dd226.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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TyxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLFVBQVUsV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVB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QUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUN0dHpDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztB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c0I7RUFDdEIsb0JBQW9CO0FBQ3RCO0FBQ0E7O0VBRUUsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxNQUFNO0VBQ04sa0NBQWtDO0VBQ2xDLHdCQUF3QjtFQUN4QixZQUFZO0VBQ1osMEVBQTBFO0VBQzFFLHNCQUFzQjtFQUN0QixtQ0FBbUM7QUFDckM7QUFDQTtFQUNFLHdCQUF3QjtBQUMxQjtBQUNBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0U7SUFDRSxtQ0FBbUM7RUFDckM7QUFDRjtBQUNBO0VBQ0U7O0lBRUUsOEJBQThCO0lBQzlCLFVBQVU7RUFDWjtFQUNBOztJQUVFLFFBQVE7SUFDUixZQUFZO0VBQ2Q7RUFDQTtJQUNFLFFBQVE7SUFDUixVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQXBiQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.7cbc635862a04c63.hot-update.js b/.next/static/webpack/pages/_app.7cbc635862a04c63.hot-update.js deleted file mode 100644 index 4d6370f..0000000 --- a/.next/static/webpack/pages/_app.7cbc635862a04c63.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"AAAA;;CAAc,CAAd;;;CAAc;;AAAd;;;EAAA,sBAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,mBAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,gBAAc;AAAA;;AAAd;;;;;;;CAAc;;AAAd;EAAA,gBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gBAAc,EAAd,MAAc;EAAd,cAAc;KAAd,WAAc,EAAd,MAAc;EAAd,4NAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,+BAAc,EAAd,MAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,yCAAc;UAAd,iCAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;EAAA,kBAAc;EAAd,oBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;EAAd,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,mBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,+GAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,cAAc;EAAd,cAAc;EAAd,kBAAc;EAAd,wBAAc;AAAA;;AAAd;EAAA,eAAc;AAAA;;AAAd;EAAA,WAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;EAAd,yBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;EAAA,oBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gCAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,SAAc,EAAd,MAAc;EAAd,UAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,oBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,0BAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,aAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,YAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,6BAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,0BAAc,EAAd,MAAc;EAAd,aAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,kBAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;;;;;;;;EAAA,SAAc;AAAA;;AAAd;EAAA,SAAc;EAAd,UAAc;AAAA;;AAAd;EAAA,UAAc;AAAA;;AAAd;;;EAAA,gBAAc;EAAd,SAAc;EAAd,UAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,UAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,eAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;;;;EAAA,cAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;EAAd,YAAc;AAAA;;AAAd,wEAAc;AAAd;EAAA,aAAc;AAAA;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;AAEd;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;UAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,0EAAmB;EAAnB,8FAAmB;EAAnB;AAAmB;;AAEnB;;EAEE,UAAU;EACV,SAAS;EACT;wEACsE;EACtE,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE;;kBAEgB;EAChB,sBAAsB;EAEtB,mBAAmB;EAKnB,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE;;kBAEgB;EAChB,4BAA4B;EAE5B,mBAAmB;EAKnB,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA,sCAAsC;AACtC,8CAA8C;;AAE9C;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,yBAAyB;AAC3B;;AAEA;EACE,kCAAkC;EAClC,uBAAuB;EACvB,uBAAuB;EACvB,+CAA+C;EAC/C,mBAAmB;EACnB,0CAA0C;EAC1C,kBAAkB;EAClB,sBAAsB;EACtB,OAAO;EACP,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,6DAA6D;EAC7D,kBAAkB;EAClB,yCAAyC;EACzC,mCAAmC;EACnC;2EACyE;AAC3E;AACA;EACE;IACE,sEAAsE;EACxE;AACF;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;;EAEE,kBAAkB;EAClB,WAAW;EACX,MAAM;EACN,kCAAkC;EAClC,wBAAwB;EACxB,YAAY;EACZ,0EAA0E;EAC1E,sBAAsB;EACtB,mCAAmC;AACrC;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,mCAAmC;EACrC;AACF;AACA;EACE;;IAEE,8BAA8B;IAC9B,UAAU;EACZ;EACA;;IAEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FB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NkIsd0JBQXdCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQzU0NEM7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tYi0yIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4uZm9udC1ub3JtYWwge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLnRyYWNraW5nLXRpZ2h0IHtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTcwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS05MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LWdyYXktNDAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LXdoaXRlIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYztBQUVkO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEs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XCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.7d520466f7086d5e.hot-update.js b/.next/static/webpack/pages/_app.7d520466f7086d5e.hot-update.js deleted file mode 100644 index d5d9efb..0000000 --- a/.next/static/webpack/pages/_app.7d520466f7086d5e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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AA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywrTUFBK00scUJBQXFCLEdBQUcsbUZBQW1GLDZCQUE2QixHQUFHLGlKQUFpSixpQkFBaUIsR0FBRyw2SEFBNkgsbUNBQW1DLGlDQUFpQyxVQUFVLG9HQUFvRyw2QkFBNkIsR0FBRyxxS0FBcUssZ0NBQWdDLDBCQUEwQixVQUFVLHNFQUFzRSx1QkFBdUIsR0FBRyw0SkFBNEosY0FBYyxHQUFHLGNBQWMsY0FBYyxlQUFlLEdBQUcsWUFBWSxlQUFlLEdBQUcsb0JBQW9CLHFCQUFxQixjQUFjLGVBQWUsR0FBRyx3REFBd0QsZUFBZSxHQUFHLDZFQUE2RSxxQkFBcUIsR0FBRyxrUUFBa1EsZ0JBQWdCLDJCQUEyQixVQUFVLGdEQUFnRCxnQkFBZ0IsMkJBQTJCLFVBQVUsK0VBQStFLG9CQUFvQixHQUFHLGlGQUFpRixvQkFBb0IsR0FBRyxtYkFBbWIsb0JBQW9CLG1DQUFtQyxVQUFVLHdLQUF3SyxvQkFBb0IsaUJBQWlCLEdBQUcseUZBQXlGLGtCQUFrQixHQUFHLDBCQUEwQiw2QkFBNkIsNkJBQTZCLHdCQUF3Qix3QkFBd0IsbUJBQW1CLG1CQUFtQixtQkFBbUIsb0JBQW9CLG9CQUFvQixrQkFBa0Isa0JBQWtCLHVCQUF1QiwyQ0FBMkMsbUNBQW1DLGtDQUFrQyxpQ0FBaUMsb0JBQW9CLHlCQUF5QiwyQkFBMkIsNEJBQTRCLDZCQUE2Qix1QkFBdUIsZ0NBQWdDLGlDQUFpQywyQ0FBMkMsdUNBQXVDLGdDQUFnQywyQkFBMkIsbUNBQW1DLGlCQUFpQix1QkFBdUIscUJBQXFCLHNCQUFzQix1QkFBdUIsbUJBQW1CLHFCQUFxQixrQkFBa0Isd0JBQXdCLDBCQUEwQixnQ0FBZ0MsOEJBQThCLCtCQUErQixnQ0FBZ0MsNEJBQTRCLDZCQUE2Qiw4QkFBOEIsMkJBQTJCLEdBQUcsZ0JBQWdCLDZCQUE2Qiw2QkFBNkIsd0JBQXdCLHdCQUF3QixtQkFBbUIsbUJBQW1CLG1CQUFtQixvQkFBb0Isb0JBQW9CLGtCQUFrQixrQkFBa0IsdUJBQXVCLDJDQUEyQyxtQ0FBbUMsa0NBQWtDLGlDQUFpQyxvQkFBb0IseUJBQXlCLDJCQUEyQiw0QkFBNEIsNkJBQTZCLHVCQUF1QixnQ0FBZ0MsaUNBQWlDLDJDQUEyQyx1Q0FBdUMsZ0NBQWdDLDJCQUEyQixtQ0FBbUMsaUJBQWlCLHVCQUF1QixxQkFBcUIsc0JBQXNCLHVCQUF1QixtQkFBbUIscUJBQXFCLGtCQUFrQix3QkFBd0IsMEJBQTBCLGdDQUFnQyw4QkFBOEIsK0JBQStCLGdDQUFnQyw0QkFBNEIsNkJBQTZCLDhCQUE4QiwyQkFBMkIsR0FBRyxhQUFhLHVCQUF1QixHQUFHLGFBQWEsdUJBQXVCLEdBQUcsWUFBWSxlQUFlLEdBQUcsWUFBWSxnQkFBZ0IsR0FBRyxhQUFhLGdCQUFnQixHQUFHLGFBQWEsaUJBQWlCLEdBQUcsV0FBVyxnQkFBZ0IsR0FBRyxXQUFXLGVBQWUsR0FBRyxXQUFXLGNBQWMsR0FBRyxRQUFRLGdCQUFnQixHQUFHLFNBQVMsbUJBQW1CLEdBQUcsWUFBWSxzQkFBc0IsdUJBQXVCLEdBQUcsU0FBUyx5QkFBeUIsR0FBRyxTQUFTLHFCQUFxQixHQUFHLFNBQVMscUJBQXFCLEdBQUcsVUFBVSx1QkFBdUIsR0FBRyxVQUFVLHFCQUFxQixHQUFHLFNBQVMsMEJBQTBCLEdBQUcsU0FBUyx3QkFBd0IsR0FBRyxVQUFVLG1CQUFtQixHQUFHLGlCQUFpQiwwQkFBMEIsR0FBRyxTQUFTLGtCQUFrQixHQUFHLFFBQVEsbUJBQW1CLEdBQUcsUUFBUSxrQkFBa0IsR0FBRyxXQUFXLGdCQUFnQixHQUFHLGNBQWMscUJBQXFCLEdBQUcsb0JBQW9CLHNCQUFzQixHQUFHLGFBQWEscUJBQXFCLEdBQUcsYUFBYSxxQkFBcUIsR0FBRyxjQUFjLG9CQUFvQixHQUFHLHVCQUF1Qix3QkFBd0IsR0FBRyxpQkFBaUIsd0JBQXdCLEdBQUcsbUJBQW1CLDRCQUE0QixHQUFHLGdCQUFnQiwwQkFBMEIsR0FBRyxlQUFlLDBCQUEwQixHQUFHLFlBQVksMkJBQTJCLEdBQUcsYUFBYSxzQkFBc0IsR0FBRyxXQUFXLHNCQUFzQixHQUFHLGVBQWUsNkJBQTZCLEdBQUcsdUJBQXVCLDJCQUEyQix3REFBd0QsR0FBRyx3QkFBd0IsMkJBQTJCLDREQUE0RCxHQUFHLG9CQUFvQiwyQkFBMkIsNERBQTRELEdBQUcsb0JBQW9CLDJCQUEyQiw4REFBOEQsR0FBRyxvQkFBb0IsMkJBQTJCLDhEQUE4RCxHQUFHLHVCQUF1QiwyQkFBMkIsOERBQThELEdBQUcsaUJBQWlCLDJCQUEyQix3REFBd0QsR0FBRyxvQkFBb0IsMkJBQTJCLDhEQUE4RCxHQUFHLHVCQUF1Qix1QkFBdUIsMERBQTBELEdBQUcsZUFBZSx1QkFBdUIsOERBQThELEdBQUcsZUFBZSx1QkFBdUIsOERBQThELEdBQUcsZ0JBQWdCLHVCQUF1Qiw4REFBOEQsR0FBRyxhQUFhLHVCQUF1Qiw4REFBOEQsR0FBRyxnQkFBZ0IsdUJBQXVCLDhEQUE4RCxHQUFHLGlCQUFpQixrQ0FBa0Msa0NBQWtDLEdBQUcsUUFBUSxrQkFBa0IsR0FBRyxRQUFRLG9CQUFvQixHQUFHLFVBQVUsdUJBQXVCLHdCQUF3QixHQUFHLFNBQVMsdUJBQXVCLHdCQUF3QixHQUFHLFNBQVMsMEJBQTBCLDJCQUEyQixHQUFHLFNBQVMseUJBQXlCLDRCQUE0QixHQUFHLFVBQVUsc0JBQXNCLHlCQUF5QixHQUFHLFNBQVMsMEJBQTBCLDJCQUEyQixHQUFHLFVBQVUsdUJBQXVCLDBCQUEwQixHQUFHLFNBQVMseUJBQXlCLDBCQUEwQixHQUFHLFNBQVMsMkJBQTJCLEdBQUcsU0FBUyx3QkFBd0IsR0FBRyxhQUFhLDBCQUEwQixHQUFHLGdCQUFnQix1QkFBdUIsR0FBRyxhQUFhLHNCQUFzQixzQkFBc0IsR0FBRyxhQUFhLHdCQUF3Qix5QkFBeUIsR0FBRyxZQUFZLHdCQUF3Qix5QkFBeUIsR0FBRyxjQUFjLG9CQUFvQix3QkFBd0IsR0FBRyxZQUFZLHVCQUF1Qix5QkFBeUIsR0FBRyxZQUFZLHVCQUF1QixzQkFBc0IsR0FBRyxjQUFjLHFCQUFxQixHQUFHLG1CQUFtQixxQkFBcUIsR0FBRyxnQkFBZ0IscUJBQXFCLEdBQUcsZ0JBQWdCLHFCQUFxQixHQUFHLGNBQWMsOEJBQThCLEdBQUcsbUJBQW1CLHFCQUFxQixHQUFHLGtCQUFrQixzQkFBc0IsR0FBRyxtQkFBbUIsNkJBQTZCLEdBQUcseUJBQXlCLHlCQUF5QixxREFBcUQsR0FBRyxlQUFlLHlCQUF5QiwrQ0FBK0MsR0FBRyxrQkFBa0IseUJBQXlCLHFEQUFxRCxHQUFHLGVBQWUseUJBQXlCLHFEQUFxRCxHQUFHLGtCQUFrQix5QkFBeUIsa0RBQWtELEdBQUcsa0JBQWtCLHlCQUF5QixrREFBa0QsR0FBRyxxQkFBcUIseUJBQXlCLGtEQUFrRCxHQUFHLHFCQUFxQix5QkFBeUIsa0RBQWtELEdBQUcsY0FBYyxvQ0FBb0MsR0FBRyxXQUFXLCtFQUErRSxtR0FBbUcsNEdBQTRHLEdBQUcsNEhBQTRILG9GQUFvRix5R0FBeUcsNEdBQTRHLEdBQUcsMENBQTBDLHdDQUF3QywrREFBK0QsNEdBQTRHLEdBQUcsZUFBZSxxS0FBcUssNkpBQTZKLHNMQUFzTCw2REFBNkQsK0JBQStCLEdBQUcsaUJBQWlCLCtCQUErQixHQUFHLGdCQUFnQiw2REFBNkQsR0FBRyxpQkFBaUIsZUFBZSxjQUFjLHdKQUF3Six3QkFBd0IsR0FBRyxPQUFPLG1CQUFtQiwwQkFBMEIsR0FBRyxPQUFPLDJCQUEyQixHQUFHLFlBQVksbUJBQW1CLEdBQUcsMEJBQTBCLG9CQUFvQixpQkFBaUIsbUJBQW1CLDZCQUE2Qix3QkFBd0IsNkJBQTZCLHFCQUFxQixHQUFHLHVCQUF1QixvQkFBb0IsaUJBQWlCLG1CQUFtQixtQ0FBbUMsd0JBQXdCLDhCQUE4QixxQkFBcUIsR0FBRyx3R0FBd0csb0JBQW9CLFdBQVcsWUFBWSxnQkFBZ0IsaUJBQWlCLDhCQUE4QixHQUFHLFdBQVcsdUNBQXVDLDRCQUE0Qiw0QkFBNEIsb0RBQW9ELHdCQUF3QiwrQ0FBK0MsdUJBQXVCLDJCQUEyQixZQUFZLG1DQUFtQyxvQ0FBb0MsNkJBQTZCLGtFQUFrRSx1QkFBdUIsOENBQThDLHdDQUF3Qyx5SkFBeUosR0FBRyx3Q0FBd0MsV0FBVyw2RUFBNkUsS0FBSyxHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiwyQkFBMkIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLHdCQUF3Qix3QkFBd0IsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsMkJBQTJCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHVCQUF1Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZC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QVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLE1BQU0sV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUss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LHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQy85bkQ7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tYi0yIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuLm1iLTQge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4ubWF4LXctc20ge1xcbiAgbWF4LXdpZHRoOiAyNHJlbTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLnJvdW5kZWQge1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLWItMiB7XFxuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTQwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItbmV1dHJhbC0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0NSAyNDUgMjQ1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibGFjayB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWJsdWUtNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOSAyNDYgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS00MDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctd2hpdGUge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0xMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnB4LTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XFxufVxcbi5wYi0yIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XFxufVxcbi5wdC0yIHtcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XFxufVxcbi5wdC0yXFxcXC41IHtcXG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLnRleHQtYmFzZSB7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbn1cXG4udGV4dC14bCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS43NXJlbTtcXG59XFxuLnRleHQteHMge1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDFyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4uZm9udC1ub3JtYWwge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLnVwcGVyY2FzZSB7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcbn1cXG4ubGVhZGluZy1ub3JtYWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuLmxlYWRpbmctdGlnaHQge1xcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XFxufVxcbi50cmFja2luZy10aWdodCB7XFxuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS03MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktOTAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNyAyNCAzOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTYwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC04MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDM4IDM4IDM4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uc2hhZG93LVxcXFxbMF8ycHhfMTVweF8tM3B4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA3XFxcXClcXFxcMmMgMF8xMHB4XzIwcHhfLTJweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wNFxcXFwpXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgMnB4IDE1cHggLTNweCByZ2JhKDAsMCwwLDAuMDcpLDAgMTBweCAyMHB4IC0ycHggcmdiYSgwLDAsMCwwLjA0KTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMnB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDEwcHggMjBweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uc2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfXFxcXCMzYjcxY2FcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggIzNiNzFjYTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4udHJhbnNpdGlvbiB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbn1cXG4uZHVyYXRpb24tMTUwIHtcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbn1cXG4uZWFzZS1pbi1vdXQge1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmhvdmVyIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06Zm9jdXMge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5mb2N1c1xcXFw6cmluZy0wOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbi5hY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1uZXV0cmFsLTYwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1ncmF5LTgwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLW5ldXRyYWwtNzAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjQgNjQgNjQgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1ncmF5LTQwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC13aGl0ZSB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTIwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDIyOSAyMjkgMjI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTUwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjUwIDI1MCAyNTAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpzaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjVcXFxcKVxcXFxdIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjUpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpiZy1ncmF5LTcwMDpob3ZlciB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpob3ZlciB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpmb2N1cyB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06YWN0aXZlIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFk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QTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1C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O0FBcGJBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.88258a1a9d4c9d1e.hot-update.js b/.next/static/webpack/pages/_app.88258a1a9d4c9d1e.hot-update.js deleted file mode 100644 index c951112..0000000 --- a/.next/static/webpack/pages/_app.88258a1a9d4c9d1e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdB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LHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUMzc25EO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubWItMiB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcbi5tYi00IHtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmlubGluZS1ibG9jayB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci1iLTIge1xcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS00MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTIwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLW5ldXRyYWwtMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDUgMjQ1IDI0NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmxhY2sge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctYmx1ZS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM5IDI0NiAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTQwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy13aGl0ZSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4ucHgtMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4ucHktODAge1xcbiAgcGFkZGluZy10b3A6IDIwcmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xcbn1cXG4ucHgtNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcXG59XFxuLnBiLTIge1xcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcXG59XFxuLnB0LTIge1xcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcXG59XFxuLnB0LTJcXFxcLjUge1xcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4udGV4dC1iYXNlIHtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XFxufVxcbi50ZXh0LXhsIHtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xcbn1cXG4udGV4dC14cyB7XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi5mb250LW5vcm1hbCB7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4udXBwZXJjYXNlIHtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxufVxcbi5sZWFkaW5nLW5vcm1hbCB7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG4ubGVhZGluZy10aWdodCB7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG59XFxuLnRyYWNraW5nLXRpZ2h0IHtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTcwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS05MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtNjAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTgwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMzggMzggMzggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG4uc2hhZG93IHtcXG4gIC0tdHctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzJweF8xNXB4Xy0zcHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDdcXFxcKVxcXFwyYyAwXzEwcHhfMjBweF8tMnB4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA0XFxcXClcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCAycHggMTVweCAtM3B4IHJnYmEoMCwwLDAsMC4wNyksMCAxMHB4IDIwcHggLTJweCByZ2JhKDAsMCwwLDAuMDQpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAycHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMTBweCAyMHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9cXFxcIzNiNzFjYVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCAjM2I3MWNhO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi50cmFuc2l0aW9uIHtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5kdXJhdGlvbi0xNTAge1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5lYXNlLWluLW91dCB7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWdyYXktMTAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06aG92ZXIge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpmb2N1cyB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmZvY3VzXFxcXDpyaW5nLTA6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuLmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06YWN0aXZlIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLW5ldXRyYWwtNjAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctbmV1dHJhbC03MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2NCA2NCA2NCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LWdyYXktNDAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LXdoaXRlIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtMjAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjI5IDIyOSAyMjkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtNTAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTAgMjUwIDI1MCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuNVxcXFwpXFxcXF0ge1xcbiAgICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuNSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmhvdmVyIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Zm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmZvY3VzIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTphY3RpdmUge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIs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RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FB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Q0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLGlEQ0FBO0lEQUEsMkRDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.93dbe55ece8c13f4.hot-update.js b/.next/static/webpack/pages/_app.93dbe55ece8c13f4.hot-update.js deleted file mode 100644 index 56f98a2..0000000 --- a/.next/static/webpack/pages/_app.93dbe55ece8c13f4.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid #00f900;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:max-w-full {\\n max-width: 100%;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid #00f900;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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T0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sYUFBYSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLE1BQU0sYUFBYSxXQUFXLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLE1BQU0sVUFBVSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1B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dUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRyxnRkFBZ0YsdUJBQXVCLDBCQUEwQixHQUFHLGlDQUFpQyxrQkFBa0IsdUJBQXVCLHFDQUFxQyxjQUFjLHlCQUF5QixHQUFHLGlDQUFpQyxnQkFBZ0IsWUFBWSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxHQUFHLHVCQUF1QixhQUFhLFlBQVksR0FBRywwQkFBMEI7QUFDN3c0QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmdyaWQtY29scy0xIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGY5MDA7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG59XFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNDphZnRlciB7XFxuICByaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG59XFxuLnN0eWxlNTpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWdyYXktMTAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1ncmF5LTgwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpiZy1ncmF5LTcwMDpob3ZlciB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmdyaWQge1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOm1heC13LWZ1bGwge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7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O0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSww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QUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwZjkwMDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.9aac99e67893eabb.hot-update.js b/.next/static/webpack/pages/_app.9aac99e67893eabb.hot-update.js deleted file mode 100644 index a6b4005..0000000 --- a/.next/static/webpack/pages/_app.9aac99e67893eabb.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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eUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDJCQUEyQix1QkFBdUIsd0RBQXdELEdBQUcsMkJBQTJCLHVCQUF1Qiw4REFBOEQsR0FBRyw2QkFBNkIseUJBQXlCLHFEQUFxRCxHQUFHLDZCQUE2Qix5QkFBeUIsK0NBQStDLEdBQUcsK0JBQStCLG1DQUFtQyx3QkFBd0IsR0FBRyx1QkFBdUIsZ0hBQWdILDhHQUE4RyxpR0FBaUcsR0FBRyxvQ0FBb0MsNEJBQTRCLEdBQUcsNkJBQTZCLG1CQUFtQixxQkFBcUIsS0FBSyxvQkFBb0Isa0JBQWtCLEtBQUssc0JBQXNCLHNCQUFzQixxQkFBcUIsS0FBSywrQkFBK0IseUJBQXlCLHlCQUF5QixLQUFLLEdBQUcsOEJBQThCLHFCQUFxQixlQUFlLEtBQUssa0JBQWtCLG9CQUFvQixLQUFLLHNCQUFzQixvQkFBb0IsS0FBSywwQkFBMEIsMEJBQTBCLEtBQUssR0FBRyxTQUFTLGtHQUFrRyxZQUFZLE1BQU0sT0FBTyxxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLFdBQVcsTUFBTSxXQUFXLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLHFCQUFxQixVQUFVLG9CQUFvQixxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFL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NkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDbnF6QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMs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RUFDeEIsWUFBWTtFQUNaLDBFQUEwRTtFQUMxRSxzQkFBc0I7RUFDdEIsbUNBQW1DO0FBQ3JDO0FBQ0E7RUFDRSx3QkFBd0I7QUFDMUI7QUFDQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFO0lBQ0UsbUNBQW1DO0VBQ3JDO0FBQ0Y7QUFDQTtFQUNFOztJQUVFLDhCQUE4QjtJQUM5QixVQUFVO0VBQ1o7RUFDQTs7SUFFRSxRQUFRO0lBQ1IsWUFBWTtFQUNkO0VBQ0E7SUFDRSxRQUFRO0lBQ1IsVUFBVTtFQUNaO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsWUFBWTtFQUNkO0FBQ0Y7QUFwYkE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.acd8fe74dc9c0534.hot-update.js b/.next/static/webpack/pages/_app.acd8fe74dc9c0534.hot-update.js deleted file mode 100644 index 1a7141a..0000000 --- a/.next/static/webpack/pages/_app.acd8fe74dc9c0534.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-content-between {\\n place-content: space-between;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.border-black {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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Y;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;AApbA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxL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QXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUNoL29EO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubWItMiB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcbi5tYi00IHtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmlubGluZS1ibG9jayB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4ubWF4LXctc20ge1xcbiAgbWF4LXdpZHRoOiAyNHJlbTtcXG59XFxuLmdyaWQtY29scy0yIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1jb250ZW50LWJldHdlZW4ge1xcbiAgcGxhY2UtY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLnJvdW5kZWQge1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLWItMiB7XFxuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTQwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItbmV1dHJhbC0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0NSAyNDUgMjQ1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibGFjayB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWJsdWUtNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOSAyNDYgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS00MDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctd2hpdGUge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0xMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0yMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnB4LTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XFxufVxcbi5wYi0yIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XFxufVxcbi5wdC0yIHtcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XFxufVxcbi5wdC0yXFxcXC41IHtcXG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLnRleHQtYmFzZSB7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS41cmVtO1xcbn1cXG4udGV4dC14bCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS43NXJlbTtcXG59XFxuLnRleHQteHMge1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDFyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4uZm9udC1ub3JtYWwge1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLnVwcGVyY2FzZSB7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcbn1cXG4ubGVhZGluZy1ub3JtYWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG59XFxuLmxlYWRpbmctdGlnaHQge1xcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XFxufVxcbi50cmFja2luZy10aWdodCB7XFxuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS03MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktOTAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNyAyNCAzOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTYwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC04MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDM4IDM4IDM4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uc2hhZG93LVxcXFxbMF8ycHhfMTVweF8tM3B4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA3XFxcXClcXFxcMmMgMF8xMHB4XzIwcHhfLTJweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wNFxcXFwpXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgMnB4IDE1cHggLTNweCByZ2JhKDAsMCwwLDAuMDcpLDAgMTBweCAyMHB4IC0ycHggcmdiYSgwLDAsMCwwLjA0KTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMnB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDEwcHggMjBweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uc2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfXFxcXCMzYjcxY2FcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggIzNiNzFjYTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4udHJhbnNpdGlvbiB7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbn1cXG4uZHVyYXRpb24tMTUwIHtcXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xcbn1cXG4uZWFzZS1pbi1vdXQge1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmhvdmVyIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06Zm9jdXMge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5mb2N1c1xcXFw6cmluZy0wOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbi5hY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1uZXV0cmFsLTYwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1ncmF5LTgwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLW5ldXRyYWwtNzAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjQgNjQgNjQgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1ncmF5LTQwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC13aGl0ZSB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTIwMCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDIyOSAyMjkgMjI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6dGV4dC1uZXV0cmFsLTUwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjUwIDI1MCAyNTAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpzaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjVcXFxcKVxcXFxdIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjUpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpiZy1ncmF5LTcwMDpob3ZlciB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpob3ZlciB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTpmb2N1cyB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06YWN0aXZlIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7Ozs7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7RUFBZCxZQUFjO0FBQUE7O0FBQWQsd0VBQWM7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDtFQUFBLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxtQkFBYztFQUFkLG1CQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsYUFBYztFQUFkLGtCQUFjO0VBQWQsc0NBQWM7RUFBZCw4QkFBYztFQUFkLDZCQUFjO0VBQWQsNEJBQWM7RUFBZCxlQUFjO0VBQWQsb0JBQWM7RUFBZCxzQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCxrQkFBYztFQUFkLDJCQUFjO0VBQWQsNEJBQWM7RUFBZCxzQ0FBYztFQUFkLGtDQUFjO0VBQWQsMkJBQWM7RUFBZCxzQkFBYztFQUFkLDhCQUFjO0VBQWQsWUFBYztFQUFkLGtCQUFjO0VBQWQsZ0JBQWM7RUFBZCxpQkFBYztFQUFkLGtCQUFjO0VBQWQsY0FBYztFQUFkLGdCQUFjO0VBQWQsYUFBYztFQUFkLG1CQUFjO0VBQWQscUJBQWM7RUFBZCwyQkFBYztFQUFkLHlCQUFjO0VBQWQsMEJBQWM7RUFBZCwyQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCx5QkFBYztFQUFkO0FBQWM7O0FBQWQ7RUFBQSx3QkFBYztFQUFkLHdCQUFjO0VBQWQsbUJBQWM7RUFBZCxtQkFBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGFBQWM7RUFBZCxrQkFBYztFQUFkLHNDQUFjO0VBQWQsOEJBQWM7RUFBZCw2QkFBYztFQUFkLDRCQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBQWQsc0JBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQsa0JBQWM7RUFBZCwyQkFBYztFQUFkLDRCQUFjO0VBQWQsc0NBQWM7RUFBZCxrQ0FBYztFQUFkLDJCQUFjO0VBQWQsc0JBQWM7RUFBZCw4QkFBYztFQUFkLFlBQWM7RUFBZCxrQkFBYztFQUFkLGdCQUFjO0VBQWQsaUJBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7RUFBZCxnQkFBYztFQUFkLGFBQWM7RUFBZCxtQkFBYztFQUFkLHFCQUFjO0VBQWQsMkJBQWM7RUFBZCx5QkFBYztFQUFkLDBCQUFjO0VBQWQsMkJBQWM7RUFBZCx1QkFBYztFQUFkLHdCQUFjO0VBQWQseUJBQWM7RUFBZDtBQUFjO0FBRWQ7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSwwRUFBbUI7RUFBbkIsOEZBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsK0VBQW1CO0VBQW5CLG9HQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1DQUFtQjtFQUFuQiwwREFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxnS0FBbUI7RUFBbkIsd0pBQW1CO0VBQW5CLGlMQUFtQjtFQUFuQix3REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1COztBQUVuQjs7RUFFRSxVQUFVO0VBQ1YsU0FBUztFQUNUO3dFQUNzRTtFQUN0RSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFOztrQkFFZ0I7RUFDaEIsc0JBQXNCO0VBRXRCLG1CQUFtQjtFQUtuQix3QkFBd0I7RUFDeEIsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRTs7a0JBRWdCO0VBQ2hCLDRCQUE0QjtFQUU1QixtQkFBbUI7RUFLbkIseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQjs7QUFFQSxzQ0FBc0M7QUFDdEMsOENBQThDOztBQUU5QztFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBQ1oseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLHVCQUF1QjtFQUN2Qix1QkFBdUI7RUFDdkIsK0NBQStDO0VBQy9DLG1CQUFtQjtFQUNuQiwwQ0FBMEM7RUFDMUMsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixPQUFPO0VBQ1AsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQix3QkFBd0I7RUFDeEIsNkRBQTZEO0VBQzdELGtCQUFrQjtFQUNsQix5Q0FBeUM7RUFDekMsbUNBQW1DO0VBQ25DOzJFQUN5RTtBQUMzRTtBQUNBO0VBQ0U7SUFDRSxzRUFBc0U7RUFDeEU7QUFDRjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixtQkFBbUI7RUFDbkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTs7RUFFRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLE1BQU07RUFDTixrQ0FBa0M7RUFDbEMsd0JBQXdCO0VBQ3hCLFlBQVk7RUFDWiwwRUFBMEU7RUFDMUUsc0JBQXNCO0VBQ3RCLG1DQUFtQztBQUNyQztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRTtJQUNFLG1DQUFtQztFQUNyQztBQUNGO0FBQ0E7RUFDRTs7SUFFRSw4QkFBOEI7SUFDOUIsVUFBVTtFQUNaO0VBQ0E7O0lBRUUsUUFBUTtJQUNSLFlBQVk7RUFDZDtFQUNBO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RUFDWjtBQUNGO0FBQ0E7RUFDRTtJQUNFLFlBQVk7RUFDZDtBQUNGO0FBcGJBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.b277eb81f90d9720.hot-update.js b/.next/static/webpack/pages/_app.b277eb81f90d9720.hot-update.js deleted file mode 100644 index f4ffeb9..0000000 --- a/.next/static/webpack/pages/_app.b277eb81f90d9720.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid #00f900;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid #00f900;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsTUFBTSxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxL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a0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIscUNBQXFDLGNBQWMseUJBQXlCLEdBQUcsaUNBQWlDLGdCQUFnQixZQUFZLEdBQUcsdUJBQXVCLGFBQWEsR0FBRyxpQ0FBaUMsY0FBYyxlQUFlLEdBQUcsdUJBQXVCLGFBQWEsWUFBWSxHQUFHLDBCQUEwQjtBQUMxczRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwZjkwMDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQs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QTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGY5MDA7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG59XFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNDphZnRlciB7XFxuICByaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG59XFxuLnN0eWxlNTpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.c15f102af7ce1d36.hot-update.js b/.next/static/webpack/pages/_app.c15f102af7ce1d36.hot-update.js deleted file mode 100644 index 4403e28..0000000 --- a/.next/static/webpack/pages/_app.c15f102af7ce1d36.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid black;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-sky-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(3 105 161 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-violet-600:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(124 58 237 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-violet-300:focus {\\n --tw-ring-opacity: 1;\\n --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity));\\n}\\n.active\\\\:bg-violet-700:active {\\n --tw-bg-opacity: 1;\\n background-color: rgb(109 40 217 / var(--tw-bg-opacity));\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid black;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLGFBQWEsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxNQUFNLGFBQWEsV0FBVyxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLE9BQU8sVUFBVSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxNQUFNLFVBQVUsS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLE1BQU0sV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtB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MEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRyxnRkFBZ0YsdUJBQXVCLDBCQUEwQixHQUFHLGlDQUFpQyxrQkFBa0IsdUJBQXVCLG1DQUFtQyxjQUFjLHlCQUF5QixHQUFHLGlDQUFpQyxnQkFBZ0IsWUFBWSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxHQUFHLHVCQUF1QixhQUFhLFlBQVksR0FBRywwQkFBMEI7QUFDOXc1QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmdyaWQtY29scy0xIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctc2t5LTcwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMyAxMDUgMTYxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXZpb2xldC02MDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyNCA1OCAyMzcgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5mb2N1c1xcXFw6cmluZy12aW9sZXQtMzAwOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vcGFjaXR5OiAxO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoMTk2IDE4MSAyNTMgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKTtcXG59XFxuLmFjdGl2ZVxcXFw6YmctdmlvbGV0LTcwMDphY3RpdmUge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwOSA0MCAyMTcgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7Ozs7OztFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztFQUFkLFlBQWM7QUFBQTs7QUFBZCx3RUFBYztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYzs7QUFBZDtFQUFBLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxtQkFBYztFQUFkLG1CQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsYUFBYztFQUFkLGtCQUFjO0VBQWQsc0NBQWM7RUFBZCw4QkFBYztFQUFkLDZCQUFjO0VBQWQsNEJBQWM7RUFBZCxlQUFjO0VBQWQsb0JBQWM7RUFBZCxzQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCxrQkFBYztFQUFkLDJCQUFjO0VBQWQsNEJBQWM7RUFBZCxzQ0FBYztFQUFkLGtDQUFjO0VBQWQsMkJBQWM7RUFBZCxzQkFBYztFQUFkLDhCQUFjO0VBQWQsWUFBYztFQUFkLGtCQUFjO0VBQWQsZ0JBQWM7RUFBZCxpQkFBYztFQUFkLGtCQUFjO0VBQWQsY0FBYztFQUFkLGdCQUFjO0VBQWQsYUFBYztFQUFkLG1CQUFjO0VBQWQscUJBQWM7RUFBZCwyQkFBYztFQUFkLHlCQUFjO0VBQWQsMEJBQWM7RUFBZCwyQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCx5QkFBYztFQUFkO0FBQWM7QUFFZDtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFt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REFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjaztcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.c85bd30d60a2d896.hot-update.js b/.next/static/webpack/pages/_app.c85bd30d60a2d896.hot-update.js deleted file mode 100644 index 2c13114..0000000 --- a/.next/static/webpack/pages/_app.c85bd30d60a2d896.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n /* color: #00f900; */\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLFdBQVcsT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxLQUFLLHdDQUF3Qyx1QkFBdUIsc0JBQXNCLGlCQUFpQixlQUFlLGNBQWMsd0pBQXdKLHdCQUF3QixHQUFHLE9BQU8sbUJBQW1CLDBCQUEwQixHQUFHLE9BQU8sMkJBQTJCLEdBQUcsWUFBWSxtQkFBbUIsR0FBRywwQkFBMEIsb0JBQW9CLGlCQUFpQixtQkFBbUIsNkJBQTZCLDRCQUE0Qix3QkFBd0IscUNBQXFDLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLDZCQUE2QixxQkFBcUIsR0FBRyx1QkFBdUIsb0JBQW9CLGlCQUFpQixtQkFBbUIsbUNBQW1DLDRCQUE0Qix3QkFBd0Isc0NBQXNDLG1DQUFtQyxrQ0FBa0MsaUNBQWlDLDhCQUE4QixxQkFBcUIsR0FBRywrREFBK0Qsb0JBQW9CLFdBQVcsWUFBWSxnQkFBZ0IsaUJBQWlCLDhCQUE4QixHQUFHLFdBQVcsdUNBQXVDLDRCQUE0Qiw0QkFBNEIsb0RBQW9ELHdCQUF3QiwrQ0FBK0MsdUJBQXVCLDJCQUEyQixZQUFZLG1DQUFtQyxvQ0FBb0MsNkJBQTZCLGtFQUFrRSx1QkFBdUIsOENBQThDLHdDQUF3Qyx5SkFBeUosR0FBRyx3Q0FBd0MsV0FBVyw2RUFBNkUsS0FBSyxHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiwyQkFBMkIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLHdCQUF3Qix3QkFBd0IsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsMkJBQTJCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHVCQUF1Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLHVCQUF1QixLQUFLLGlDQUFpQyxrQkFBa0IsdUJBQXVCLGlDQUFpQyxjQUFjLHlCQUF5QixtQkFBbUIsR0FBRyxpQ0FBaUMsZ0JBQWdCLFlBQVksbUJBQW1CLEdBQUcsdUJBQXVCLGFBQWEsbUJBQW1CLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxtQkFBbUIsR0FBRyx1QkFBdUIsYUFBYSxZQUFZLG1CQUFtQixHQUFHLDBCQUEwQjtBQUN0LzRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgLyogY29sb3I6ICMwMGY5MDA7ICovXFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxj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QW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFu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VztBQUNYO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixjQUFjO0FBQ2hCO0FBQ0E7RUFDRSxRQUFRO0VBQ1IsT0FBTztFQUNQLGNBQWM7QUFDaEI7QUE3ZEE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAvKiBjb2xvcjogIzAwZjkwMDsgKi9cXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.cdef531fb4faa14c.hot-update.js b/.next/static/webpack/pages/_app.cdef531fb4faa14c.hot-update.js deleted file mode 100644 index f374988..0000000 --- a/.next/static/webpack/pages/_app.cdef531fb4faa14c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n color: #00f900;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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LE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLGFBQWEsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxNQUFNLGFBQWEsV0FBVyxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLFdBQVcsT0FBTyxVQUFVLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxN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MEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLG1CQUFtQixHQUFHLGlDQUFpQyxnQkFBZ0IsWUFBWSxtQkFBbUIsR0FBRyx1QkFBdUIsYUFBYSxtQkFBbUIsR0FBRyxpQ0FBaUMsY0FBYyxlQUFlLG1CQUFtQixHQUFHLHVCQUF1QixhQUFhLFlBQVksbUJBQW1CLEdBQUcsMEJBQTBCO0FBQ3Y3NEM7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaW5saW5lLWZsZXgge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxufVxcbi5ncmlkIHtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXctc20ge1xcbiAgbWF4LXdpZHRoOiAyNHJlbTtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5ncmlkLWNvbHMtMSB7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4ucGxhY2UtaXRlbXMtY2VudGVyIHtcXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1iZXR3ZWVuIHtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmdhcC00IHtcXG4gIGdhcDogMXJlbTtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLnJvdW5kZWQtbGcge1xcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS0yMDAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG4uc2hhZG93IHtcXG4gIC0tdHctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFB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QUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtF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RUFDUixPQUFPO0VBQ1AsY0FBYztBQUNoQjtBQTVkQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTs7RUFBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.d72496e2657b8921.hot-update.js b/.next/static/webpack/pages/_app.d72496e2657b8921.hot-update.js deleted file mode 100644 index 068c9d2..0000000 --- a/.next/static/webpack/pages/_app.d72496e2657b8921.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUIsTUFBTSxNQUFNLFdBQVcsTUFBTSxXQUFXLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLHFCQUFxQixVQUFVLG9CQUFvQixxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxTQUFTLHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdB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QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUNwdjBDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5pdGVtcy1jZW50ZXIge1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTQwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5weC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xcbn1cXG4ucHgtNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDFyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xcbn1cXG4ucHgtNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xcbn1cXG4ucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xcbn1cXG4ucHktMzIge1xcbiAgcGFkZGluZy10b3A6IDhyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcXG59XFxuLnB4LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcXG59XFxuLnB5LTgwIHtcXG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcXG59XFxuLnRleHQtY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnRleHQtMnhsIHtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDJyZW07XFxufVxcbi50ZXh0LTN4bCB7XFxuICBmb250LXNpemU6IDEuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XFxufVxcbi50ZXh0LXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi50ZXh0LVxcXFxbXFxcXCM4MjgyODJcXFxcXSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTMwIDEzMCAxMzAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtYmxhY2sge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNDAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC13aGl0ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpoLXNjcmVlbiB7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGdcXFxcOml0ZW1zLWNlbnRlciB7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly9zdHlsZXMvZ2xvYmFscy5jc3NcIixcIjxubyBzb3VyY2U+XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztDQUFjLENBQWQ7OztDQUFjOztBQUFkOzs7RUFBQSxzQkFBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG1CQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7Ozs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7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QjtBQUNBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0U7SUFDRSxtQ0FBbUM7RUFDckM7QUFDRjtBQUNBO0VBQ0U7O0lBRUUsOEJBQThCO0lBQzlCLFVBQVU7RUFDWjtFQUNBOztJQUVFLFFBQVE7SUFDUixZQUFZO0VBQ2Q7RUFDQTtJQUNFLFFBQVE7SUFDUixVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQXBiQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.d85c564cade50119.hot-update.js b/.next/static/webpack/pages/_app.d85c564cade50119.hot-update.js deleted file mode 100644 index 4dbfeca..0000000 --- a/.next/static/webpack/pages/_app.d85c564cade50119.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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A,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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LHFCQUFxQixxQkFBcUIscUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLG9CQUFvQixvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0saUJBQWlCLFVBQVUsTUFBTSxLQUFLLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLE9BQU8sV0FBVyxVQUFVLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxZQUFZLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxZQUFZLGNBQWMsTUFBTSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLE9BQU8sTUFBTSxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE1BQU0sTUFBTSxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLE1BQU0sWUFBWSxXQUFXLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLE1BQU0sV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FB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LHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQ3RrbkQ7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tYi0yIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuLm1iLTQge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4ubWF4LXctc20ge1xcbiAgbWF4LXdpZHRoOiAyNHJlbTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLnJvdW5kZWQge1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlci13aWR0aDogMXB4O1xcbn1cXG4uYm9yZGVyLWItMiB7XFxuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XFxufVxcbi5ib3JkZXItXFxcXFtibGFja1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItXFxcXFt5ZWxsb3dcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjU1IDI1NSAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ibHVlLTYwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1ncmF5LTQwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItbmV1dHJhbC0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0NSAyNDUgMjQ1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctYmx1ZS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM5IDI0NiAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTQwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy13aGl0ZSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4ucHgtMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4ucHktODAge1xcbiAgcGFkZGluZy10b3A6IDIwcmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xcbn1cXG4ucHgtNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcXG59XFxuLnBiLTIge1xcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcXG59XFxuLnB0LTIge1xcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcXG59XFxuLnB0LTJcXFxcLjUge1xcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4udGV4dC1iYXNlIHtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XFxufVxcbi50ZXh0LXhsIHtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xcbn1cXG4udGV4dC14cyB7XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMXJlbTtcXG59XFxuLmZvbnQtYm9sZCB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZm9udC1leHRyYWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLmZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbi5mb250LW5vcm1hbCB7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4udXBwZXJjYXNlIHtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XFxufVxcbi5sZWFkaW5nLW5vcm1hbCB7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbn1cXG4ubGVhZGluZy10aWdodCB7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG59XFxuLnRyYWNraW5nLXRpZ2h0IHtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTcwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS05MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtNjAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1uZXV0cmFsLTgwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMzggMzggMzggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnVuZGVybGluZSB7XFxuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xcbn1cXG4uc2hhZG93IHtcXG4gIC0tdHctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzJweF8xNXB4Xy0zcHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDdcXFxcKVxcXFwyYyAwXzEwcHhfMjBweF8tMnB4X3JnYmFcXFxcKDBcXFxcMmMgMFxcXFwyYyAwXFxcXDJjIDBcXFxcLjA0XFxcXClcXFxcXSB7XFxuICAtLXR3LXNoYWRvdzogMCAycHggMTVweCAtM3B4IHJnYmEoMCwwLDAsMC4wNyksMCAxMHB4IDIwcHggLTJweCByZ2JhKDAsMCwwLDAuMDQpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAycHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMTBweCAyMHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5zaGFkb3ctXFxcXFswXzRweF85cHhfLTRweF9cXFxcIzNiNzFjYVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCAjM2I3MWNhO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi50cmFuc2l0aW9uIHtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5kdXJhdGlvbi0xNTAge1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XFxufVxcbi5lYXNlLWluLW91dCB7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWdyYXktMTAwOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06aG92ZXIge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLmZvY3VzXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpmb2N1cyB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOm91dGxpbmUtbm9uZTpmb2N1cyB7XFxuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lLW9mZnNldDogMnB4O1xcbn1cXG4uZm9jdXNcXFxcOnJpbmc6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmZvY3VzXFxcXDpyaW5nLTA6Zm9jdXMge1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7XFxuICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTtcXG59XFxuLmFjdGl2ZVxcXFw6dGV4dC1vcGFjaXR5LTc1OmFjdGl2ZSB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMC43NTtcXG59XFxuLmFjdGl2ZVxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4zXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXF06YWN0aXZlIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLW5ldXRyYWwtNjAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoODIgODIgODIgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctbmV1dHJhbC03MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2NCA2NCA2NCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LWdyYXktNDAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LXdoaXRlIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtMjAwIHtcXG4gICAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiByZ2IoMjI5IDIyOSAyMjkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDp0ZXh0LW5ldXRyYWwtNTAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTAgMjUwIDI1MCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuNVxcXFwpXFxcXF0ge1xcbiAgICAtLXR3LXNoYWRvdzogMCA0cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuNSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmhvdmVyIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6Zm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmZvY3VzIHtcXG4gICAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjIpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4xKTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4xXFxcXClcXFxcXTphY3RpdmUge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMs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RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFB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QjtBQUN0QjtBQUNBOztFQUVFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsTUFBTTtFQUNOLGtDQUFrQztFQUNsQyx3QkFBd0I7RUFDeEIsWUFBWTtFQUNaLDBFQUEwRTtFQUMxRSxzQkFBc0I7RUFDdEIsbUNBQW1DO0FBQ3JDO0FBQ0E7RUFDRSx3QkFBd0I7QUFDMUI7QUFDQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFO0lBQ0UsbUNBQW1DO0VBQ3JDO0FBQ0Y7QUFDQTtFQUNFOztJQUVFLDhCQUE4QjtJQUM5QixVQUFVO0VBQ1o7RUFDQTs7SUFFRSxRQUFRO0lBQ1IsWUFBWTtFQUNkO0VBQ0E7SUFDRSxRQUFRO0lBQ1IsVUFBVTtFQUNaO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsWUFBWTtFQUNkO0FBQ0Y7QUFwYkE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTs7RUFBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHVCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLHFCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLGlEQ0FBO0lEQUEsMkRDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.d93a7311d91f2431.hot-update.js b/.next/static/webpack/pages/_app.d93a7311d91f2431.hot-update.js deleted file mode 100644 index a9c8fda..0000000 --- a/.next/static/webpack/pages/_app.d93a7311d91f2431.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywyQkFBMkIsdUJBQXVCLHdEQUF3RCxHQUFHLDJCQUEyQix1QkFBdUIsOERBQThELEdBQUcsNkJBQTZCLHlCQUF5QixxREFBcUQsR0FBRyw2QkFBNkIseUJBQXlCLCtDQUErQyxHQUFHLCtCQUErQixtQ0FBbUMsd0JBQXdCLEdBQUcsdUJBQXVCLGdIQUFnSCw4R0FBOEcsaUdBQWlHLEdBQUcsb0NBQW9DLDRCQUE0QixHQUFHLDZCQUE2QixtQkFBbUIscUJBQXFCLEtBQUssb0JBQW9CLGtCQUFrQixLQUFLLHNCQUFzQixzQkFBc0IscUJBQXFCLEtBQUssK0JBQStCLHlCQUF5Qix5QkFBeUIsS0FBSyxHQUFHLDhCQUE4QixxQkFBcUIsZUFBZSxLQUFLLGtCQUFrQixvQkFBb0IsS0FBSyxzQkFBc0Isb0JBQW9CLEtBQUssMEJBQTBCLDBCQUEwQixLQUFLLEdBQUcsU0FBUyxrR0FBa0csWUFBWSxNQUFNLE9BQU8scUJBQXFCLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxXQUFXLE1BQU0sV0FBVyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixxQkFBcUIsVUFBVSxvQkFBb0IscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0IscUJBQXFCLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLFVBQVUsV0FBVyxXQUFXLE1BQU0sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixxQkFBcUIsTUFBTSxRQUFRLE1BQU0sU0FBUyxxQkFBcUIscUJBQXFCLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxL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LDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQzltekM7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFB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eUJBQXlCO0FBQzNCOztBQUVBO0VBQ0U7SUFDRSxtQ0FBbUM7RUFDckM7QUFDRjtBQUNBO0VBQ0U7O0lBRUUsOEJBQThCO0lBQzlCLFVBQVU7RUFDWjtFQUNBOztJQUVFLFFBQVE7SUFDUixZQUFZO0VBQ2Q7RUFDQTtJQUNFLFFBQVE7SUFDUixVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQXBiQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.e058ce8398e93d59.hot-update.js b/.next/static/webpack/pages/_app.e058ce8398e93d59.hot-update.js deleted file mode 100644 index 23fb2c9..0000000 --- a/.next/static/webpack/pages/_app.e058ce8398e93d59.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n text-decoration-color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n text-decoration-color: #00f900;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sYUFBYSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLE1BQU0sYUFBYSxXQUFXLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsTUFBTSxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFL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LHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLG1DQUFtQyxHQUFHLGlDQUFpQyxnQkFBZ0IsWUFBWSxHQUFHLHVCQUF1QixhQUFhLEdBQUcsaUNBQWlDLGNBQWMsZUFBZSxHQUFHLHVCQUF1QixhQUFhLFlBQVksR0FBRywwQkFBMEI7QUFDcng0QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLmdyaWQtY29scy0xIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcXG59XFxuLmZsZXgtd3JhcCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5wbGFjZS1pdGVtcy1jZW50ZXIge1xcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZ2FwLTQge1xcbiAgZ2FwOiAxcmVtO1xcbn1cXG4ucm91bmRlZC0zeGwge1xcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xcbn1cXG4ucm91bmRlZC1sZyB7XFxuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktMTAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTIwMCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtNiB7XFxuICBwYWRkaW5nOiAxLjVyZW07XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNCxcXG4uc3R5bGU1IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLnN0eWxlNDphZnRlcixcXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcXG4gIHRvcDogMTAwJTtcXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0OmFmdGVyIHtcXG4gIHJpZ2h0OiAxMDAlO1xcbiAgbGVmdDogMDtcXG59XFxuLnN0eWxlNDpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuXFxuICAuZGFya1xcXFw6Ym9yZGVyLWdyYXktNzAwIHtcXG4gICAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOmJnLWdyYXktODAwIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6aG92ZXJcXFxcOmJnLWdyYXktNzAwOmhvdmVyIHtcXG4gICAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6Z3JpZCB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMs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QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEscUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLDBFQUFtQjtFQUFuQiw4RkFBbUI7RUFBbkI7QUFBbUI7O0FBRW5COztF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O0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7Q0FBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQsXFxuLnN0eWxlNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5zdHlsZTQ6YWZ0ZXIsXFxuLnN0eWxlNTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XFxuICB0b3A6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcXG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU0ICovXFxuLnN0eWxlNDphZnRlciB7XFxuICByaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxufVxcblxcbi8qIHN0eWxlNSAqL1xcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgbGVmdDogNTAlO1xcbiAgcmlnaHQ6IDUwJTtcXG59XFxuLnN0eWxlNTpob3ZlcjphZnRlciB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.e5dfa9e301d4af58.hot-update.js b/.next/static/webpack/pages/_app.e5dfa9e301d4af58.hot-update.js deleted file mode 100644 index 1511452..0000000 --- a/.next/static/webpack/pages/_app.e5dfa9e301d4af58.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./pages/_app.tsx": -/*!************************!*\ - !*** ./pages/_app.tsx ***! - \************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/globals.css */ \"./styles/globals.css\");\n/* harmony import */ var _styles_globals_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_globals_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit/styles.css */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.css\");\n/* harmony import */ var _rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_rainbow_me_rainbowkit_styles_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n/* harmony import */ var wagmi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! wagmi */ \"./node_modules/wagmi/dist/index.js\");\n/* harmony import */ var wagmi_chains__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wagmi/chains */ \"./node_modules/wagmi/dist/chains.js\");\n/* harmony import */ var wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! wagmi/providers/public */ \"./node_modules/wagmi/dist/providers/public.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"./node_modules/next/dist/build/polyfills/process.js\");\n\n\n\n\n\n\n\nconst { chains, publicClient, webSocketPublicClient } = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.configureChains)([\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.mainnet,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.polygon,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.optimism,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.arbitrum,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.zora,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli,\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.sepolia,\n ...process.env.NEXT_PUBLIC_ENABLE_TESTNETS === \"true\" ? [\n wagmi_chains__WEBPACK_IMPORTED_MODULE_4__.goerli\n ] : []\n], [\n (0,wagmi_providers_public__WEBPACK_IMPORTED_MODULE_5__.publicProvider)()\n]);\nconst { connectors } = (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.getDefaultWallets)({\n appName: \"buymeacrypto\",\n projectId: \"18c4fce12d591123893a43169198ebbe\",\n chains\n});\nconst wagmiConfig = (0,wagmi__WEBPACK_IMPORTED_MODULE_3__.createConfig)({\n autoConnect: true,\n connectors,\n publicClient,\n webSocketPublicClient\n});\nfunction MyApp(param) {\n let { Component, pageProps } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(wagmi__WEBPACK_IMPORTED_MODULE_3__.WagmiConfig, {\n config: wagmiConfig,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 55,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 56,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"star\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.RainbowKitProvider, {\n theme: (0,_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_6__.lightTheme)({\n accentColor: \"#00f900\",\n accentColorForeground: \"white\",\n fontStack: \"system\",\n overlayBlur: \"small\"\n }),\n modalSize: \"compact\",\n chains: chains,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, {\n ...pageProps\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/_app.tsx\",\n lineNumber: 51,\n columnNumber: 5\n }, this);\n}\n_c = MyApp;\n/* harmony default export */ __webpack_exports__[\"default\"] = (MyApp);\nvar _c;\n$RefreshReg$(_c, \"MyApp\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9fYXBwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ1k7QUFNWDtBQUVtQztBQVM3QztBQUNrQztBQUV4RCxNQUFNLEVBQUVjLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxxQkFBcUIsRUFBRSxHQUFHYixzREFBZUEsQ0FDckU7SUFDRUssaURBQU9BO0lBQ1BFLGlEQUFPQTtJQUNQRCxrREFBUUE7SUFDUkgsa0RBQVFBO0lBQ1JLLDhDQUFJQTtJQUNKSixnREFBTUE7SUFDTkssaURBQU9BO09BQ0hLLE9BQU9BLENBQUNDLEdBQUcsQ0FBQ0MsMkJBQTJCLEtBQUssU0FBUztRQUFDWixnREFBTUE7S0FBQyxHQUFHLEVBQUU7Q0FDdkUsRUFDRDtJQUFDTSxzRUFBY0E7Q0FBRztBQUdwQixNQUFNLEVBQUVPLFVBQVUsRUFBRSxHQUFHcEIseUVBQWlCQSxDQUFDO0lBQ3ZDcUIsU0FBUztJQUNUQyxXQUFXO0lBQ1hSO0FBQ0Y7QUFFQSxNQUFNUyxjQUFjbkIsbURBQVlBLENBQUM7SUFDL0JvQixhQUFhO0lBQ2JKO0lBQ0FMO0lBQ0FDO0FBQ0Y7QUFFQSxTQUFTUyxNQUFNLEtBQWtDO1FBQWxDLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFZLEdBQWxDO0lBQ2IscUJBQ0UsOERBQUN0Qiw4Q0FBV0E7UUFBQ3VCLFFBQVFMOzswQkFDbkIsOERBQUNNO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7MEJBQ2YsOERBQUM3QixzRUFBa0JBO2dCQUNqQjhCLE9BQU83QixrRUFBVUEsQ0FBQztvQkFDaEI4QixhQUFhO29CQUNiQyx1QkFBdUI7b0JBQ3ZCQyxXQUFXO29CQUNYQyxhQUFhO2dCQUNmO2dCQUNBQyxXQUFVO2dCQUNWdEIsUUFBUUE7MEJBQ1IsNEVBQUNZO29CQUFXLEdBQUdDLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSWhDO0tBdEJTRjtBQXdCVCwrREFBZUEsS0FBS0EsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9fYXBwLnRzeD8yZmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3N0eWxlcy9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdC9zdHlsZXMuY3NzXCI7XG5pbXBvcnQge1xuICBnZXREZWZhdWx0V2FsbGV0cyxcbiAgUmFpbmJvd0tpdFByb3ZpZGVyLFxuICBkYXJrVGhlbWUsXG4gIGxpZ2h0VGhlbWUsXG59IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFwcFByb3BzIH0gZnJvbSBcIm5leHQvYXBwXCI7XG5pbXBvcnQgeyBjb25maWd1cmVDaGFpbnMsIGNyZWF0ZUNvbmZpZywgV2FnbWlDb25maWcgfSBmcm9tIFwid2FnbWlcIjtcbmltcG9ydCB7XG4gIGFyYml0cnVtLFxuICBnb2VybGksXG4gIG1haW5uZXQsXG4gIG9wdGltaXNtLFxuICBwb2x5Z29uLFxuICB6b3JhLFxuICBzZXBvbGlhLFxufSBmcm9tIFwid2FnbWkvY2hhaW5zXCI7XG5pbXBvcnQgeyBwdWJsaWNQcm92aWRlciB9IGZyb20gXCJ3YWdtaS9wcm92aWRlcnMvcHVibGljXCI7XG5cbmNvbnN0IHsgY2hhaW5zLCBwdWJsaWNDbGllbnQsIHdlYlNvY2tldFB1YmxpY0NsaWVudCB9ID0gY29uZmlndXJlQ2hhaW5zKFxuICBbXG4gICAgbWFpbm5ldCxcbiAgICBwb2x5Z29uLFxuICAgIG9wdGltaXNtLFxuICAgIGFyYml0cnVtLFxuICAgIHpvcmEsXG4gICAgZ29lcmxpLFxuICAgIHNlcG9saWEsXG4gICAgLi4uKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyA9PT0gXCJ0cnVlXCIgPyBbZ29lcmxpXSA6IFtdKSxcbiAgXSxcbiAgW3B1YmxpY1Byb3ZpZGVyKCldXG4pO1xuXG5jb25zdCB7IGNvbm5lY3RvcnMgfSA9IGdldERlZmF1bHRXYWxsZXRzKHtcbiAgYXBwTmFtZTogXCJidXltZWFjcnlwdG9cIixcbiAgcHJvamVjdElkOiBcIjE4YzRmY2UxMmQ1OTExMjM4OTNhNDMxNjkxOThlYmJlXCIsXG4gIGNoYWlucyxcbn0pO1xuXG5jb25zdCB3YWdtaUNvbmZpZyA9IGNyZWF0ZUNvbmZpZyh7XG4gIGF1dG9Db25uZWN0OiB0cnVlLFxuICBjb25uZWN0b3JzLFxuICBwdWJsaWNDbGllbnQsXG4gIHdlYlNvY2tldFB1YmxpY0NsaWVudCxcbn0pO1xuXG5mdW5jdGlvbiBNeUFwcCh7IENvbXBvbmVudCwgcGFnZVByb3BzIH06IEFwcFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdhZ21pQ29uZmlnIGNvbmZpZz17d2FnbWlDb25maWd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGFyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0YXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhclwiPjwvZGl2PlxuICAgICAgPFJhaW5ib3dLaXRQcm92aWRlclxuICAgICAgICB0aGVtZT17bGlnaHRUaGVtZSh7XG4gICAgICAgICAgYWNjZW50Q29sb3I6IFwiIzAwZjkwMFwiLFxuICAgICAgICAgIGFjY2VudENvbG9yRm9yZWdyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICAgIGZvbnRTdGFjazogXCJzeXN0ZW1cIixcbiAgICAgICAgICBvdmVybGF5Qmx1cjogXCJzbWFsbFwiLFxuICAgICAgICB9KX1cbiAgICAgICAgbW9kYWxTaXplPVwiY29tcGFjdFwiXG4gICAgICAgIGNoYWlucz17Y2hhaW5zfT5cbiAgICAgICAgPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICAgICAgPC9SYWluYm93S2l0UHJvdmlkZXI+XG4gICAgPC9XYWdtaUNvbmZpZz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXlBcHA7XG4iXSwibmFtZXMiOlsiZ2V0RGVmYXVsdFdhbGxldHMiLCJSYWluYm93S2l0UHJvdmlkZXIiLCJsaWdodFRoZW1lIiwiY29uZmlndXJlQ2hhaW5zIiwiY3JlYXRlQ29uZmlnIiwiV2FnbWlDb25maWciLCJhcmJpdHJ1bSIsImdvZXJsaSIsIm1haW5uZXQiLCJvcHRpbWlzbSIsInBvbHlnb24iLCJ6b3JhIiwic2Vwb2xpYSIsInB1YmxpY1Byb3ZpZGVyIiwiY2hhaW5zIiwicHVibGljQ2xpZW50Iiwid2ViU29ja2V0UHVibGljQ2xpZW50IiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0VOQUJMRV9URVNUTkVUUyIsImNvbm5lY3RvcnMiLCJhcHBOYW1lIiwicHJvamVjdElkIiwid2FnbWlDb25maWciLCJhdXRvQ29ubmVjdCIsIk15QXBwIiwiQ29tcG9uZW50IiwicGFnZVByb3BzIiwiY29uZmlnIiwiZGl2IiwiY2xhc3NOYW1lIiwidGhlbWUiLCJhY2NlbnRDb2xvciIsImFjY2VudENvbG9yRm9yZWdyb3VuZCIsImZvbnRTdGFjayIsIm92ZXJsYXlCbHVyIiwibW9kYWxTaXplIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/_app.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.ea443f774833fa42.hot-update.js b/.next/static/webpack/pages/_app.ea443f774833fa42.hot-update.js deleted file mode 100644 index 5618dbb..0000000 --- a/.next/static/webpack/pages/_app.ea443f774833fa42.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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K0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMkJBQTJCLHVCQUF1Qix3REFBd0QsR0FBRywyQkFBMkIsdUJBQXVCLDhEQUE4RCxHQUFHLDZCQUE2Qix5QkFBeUIscURBQXFELEdBQUcsNkJBQTZCLHlCQUF5QiwrQ0FBK0MsR0FBRywrQkFBK0IsbUNBQW1DLHdCQUF3QixHQUFHLHVCQUF1QixnSEFBZ0gsOEdBQThHLGlHQUFpRyxHQUFHLG9DQUFvQyw0QkFBNEIsR0FBRyw2QkFBNkIsbUJBQW1CLHFCQUFxQixLQUFLLG9CQUFvQixrQkFBa0IsS0FBSyxzQkFBc0Isc0JBQXNCLHFCQUFxQixLQUFLLCtCQUErQix5QkFBeUIseUJBQXlCLEtBQUssR0FBRyw4QkFBOEIscUJBQXFCLGVBQWUsS0FBSyxrQkFBa0Isb0JBQW9CLEtBQUssc0JBQXNCLG9CQUFvQixLQUFLLDBCQUEwQiwwQkFBMEIsS0FBSyxHQUFHLFNBQVMsa0dBQWtHLFlBQVksTUFBTSxPQUFPLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sV0FBVyxNQUFNLFdBQVcsTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIscUJBQXFCLFVBQVUsb0JBQW9CLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLFVBQVUsV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFN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QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDaCt6QztBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ncmF5LTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWJsdWUtNTAge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOSAyNDYgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctY2xpcC10ZXh0IHtcXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxufVxcbi5wLTgge1xcbiAgcGFkZGluZzogMnJlbTtcXG59XFxuLnB4LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XFxufVxcbi5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XFxufVxcbi5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XFxufVxcbi5weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XFxufVxcbi5weS0zMiB7XFxuICBwYWRkaW5nLXRvcDogOHJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xcbn1cXG4ucHgtMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4ucHktODAge1xcbiAgcGFkZGluZy10b3A6IDIwcmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xcbn1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbn1cXG4udGV4dC0yeGwge1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBsaW5lLWhlaWdodDogMnJlbTtcXG59XFxuLnRleHQtM3hsIHtcXG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcXG59XFxuLnRleHQtc20ge1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLnRleHQtXFxcXFtcXFxcIzgyODI4MlxcXFxdIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigxMzAgMTMwIDEzMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ibGFjayB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtZ3JheS00MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LXdoaXRlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcbi5ob3ZlclxcXFw6YmctYmxhY2s6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOmJnLXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtYmxhY2s6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQs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QUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1COztBQUVuQjs7RUFFRSxVQUFVO0VBQ1YsU0FBUztFQUNUO3dFQUNzRTtFQUN0RSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFOztrQkFFZ0I7RUFDaEIsc0JBQXNCO0VBRXRCLG1CQUFtQjtFQUtuQix3QkFBd0I7RUFDeEIsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRTs7a0JBRWdCO0VBQ2hCLDRCQUE0QjtFQUU1QixtQkFBbUI7RUFLbkIseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQjs7QUFFQSxzQ0FBc0M7QUFDdEMsOENBQThDOztBQUU5QztFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBQ1oseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLHVCQUF1QjtFQUN2Qix1QkFBdUI7RUFDdkIsK0NBQStDO0VBQy9DLG1CQUFtQjtFQUNuQiwwQ0FBMEM7RUFDMUMsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixPQUFPO0VBQ1AsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQix3QkFBd0I7RUFDeEIsNkRBQTZEO0VBQzdELGtCQUFrQjtFQUNsQix5Q0FBeUM7RUFDekMsbUNBQW1DO0VBQ25DOzJFQUN5RTtBQUMzRTtBQUNBO0VBQ0U7SUFDRSxzRUFBc0U7RUFDeEU7QUFDRjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixtQkFBbUI7RUFDbkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7QUFDdEI7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtBQUN0QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7QUFDQTs7RUFFRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLE1BQU07RUFDTixrQ0FBa0M7RUFDbEMsd0JBQXdCO0VBQ3hCLFlBQVk7RUFDWiwwRUFBMEU7RUFDMUUsc0JBQXNCO0VBQ3RCLG1DQUFtQztBQUNyQztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRTtJQUNFLG1DQUFtQztFQUNyQztBQUNGO0FBQ0E7RUFDRTs7SUFFRSw4QkFBOEI7SUFDOUIsVUFBVTtFQUNaO0VBQ0E7O0lBRUUsUUFBUTtJQUNSLFlBQVk7RUFDZDtFQUNBO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RUFDWjtBQUNGO0FBQ0E7RUFDRTtJQUNFLFlBQVk7RUFDZDtBQUNGO0FBcGJBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSwrQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.ed9db3d45f6e7579.hot-update.js b/.next/static/webpack/pages/_app.ed9db3d45f6e7579.hot-update.js deleted file mode 100644 index a868bf3..0000000 --- a/.next/static/webpack/pages/_app.ed9db3d45f6e7579.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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QXdCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMkJBQTJCLHVCQUF1Qix3REFBd0QsR0FBRywyQkFBMkIsdUJBQXVCLDhEQUE4RCxHQUFHLDZCQUE2Qix5QkFBeUIscURBQXFELEdBQUcsNkJBQTZCLHlCQUF5QiwrQ0FBK0MsR0FBRywrQkFBK0IsbUNBQW1DLHdCQUF3QixHQUFHLHVCQUF1QixnSEFBZ0gsOEdBQThHLGlHQUFpRyxHQUFHLG9DQUFvQyw0QkFBNEIsR0FBRyw2QkFBNkIsbUJBQW1CLHFCQUFxQixLQUFLLG9CQUFvQixrQkFBa0IsS0FBSyxzQkFBc0Isc0JBQXNCLHFCQUFxQixLQUFLLCtCQUErQix5QkFBeUIseUJBQXlCLEtBQUssR0FBRyw4QkFBOEIscUJBQXFCLGVBQWUsS0FBSyxrQkFBa0Isb0JBQW9CLEtBQUssc0JBQXNCLG9CQUFvQixLQUFLLDBCQUEwQiwwQkFBMEIsS0FBSyxHQUFHLFNBQVMsa0dBQWtHLFlBQVksTUFBTSxPQUFPLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sV0FBVyxNQUFNLFdBQVcsTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIscUJBQXFCLFVBQVUsb0JBQW9CLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLFVBQVUsV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFB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NkIsd0JBQXdCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDJCQUEyQix5QkFBeUIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGtCQUFrQixXQUFXLHVDQUF1Qyw2QkFBNkIsaUJBQWlCLCtFQUErRSwyQkFBMkIsd0NBQXdDLEdBQUcsaUJBQWlCLDZCQUE2QixHQUFHLGdCQUFnQiw4QkFBOEIsR0FBRyxxQkFBcUIsUUFBUSwwQ0FBMEMsS0FBSyxHQUFHLHdCQUF3QixnQkFBZ0IscUNBQXFDLGlCQUFpQixLQUFLLGlCQUFpQixlQUFlLG1CQUFtQixLQUFLLFVBQVUsZUFBZSxpQkFBaUIsS0FBSyxHQUFHLG9CQUFvQixTQUFTLG1CQUFtQixLQUFLLEdBQUcsMEJBQTBCO0FBQzMxekM7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zdHlsZXMvZ2xvYmFscy5jc3M/MDRkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKHRydWUpO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLypcXG4hIHRhaWx3aW5kY3NzIHYzLjMuMyB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb21cXG4qLy8qXFxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcXG4yLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNilcXG4qL1xcblxcbiosXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXFxuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xvcjogI2U1ZTdlYjsgLyogMiAqL1xcbn1cXG5cXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIC0tdHctY29udGVudDogJyc7XFxufVxcblxcbi8qXFxuMS4gVXNlIGEgY29uc2lzdGVudCBzZW5zaWJsZSBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXFxuMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cXG40LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSBieSBkZWZhdWx0LlxcbjUuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbjYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5odG1sIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDEgKi9cXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xcbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgLW8tdGFiLXNpemU6IDQ7XFxuICAgICB0YWItc2l6ZTogNDsgLyogMyAqL1xcbiAgZm9udC1mYW1pbHk6IHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEFyaWFsLCBcXFwiTm90byBTYW5zXFxcIiwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIsIFxcXCJOb3RvIENvbG9yIEVtb2ppXFxcIjsgLyogNCAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IC8qIDUgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBub3JtYWw7IC8qIDYgKi9cXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gSW5oZXJpdCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXMgYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXFxuKi9cXG5cXG5ib2R5IHtcXG4gIG1hcmdpbjogMDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXFxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXFxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmhyIHtcXG4gIGhlaWdodDogMDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYWJicjp3aGVyZShbdGl0bGVdKSB7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXFxuKi9cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICBmb250LXNpemU6IGluaGVyaXQ7XFxuICBmb250LXdlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxcbiovXFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuYixcXG5zdHJvbmcge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG59XFxuXFxuLypcXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxcbjIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmNvZGUsXFxua2JkLFxcbnNhbXAsXFxucHJlIHtcXG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXFxcIkxpYmVyYXRpb24gTW9ub1xcXCIsIFxcXCJDb3VyaWVyIE5ld1xcXCIsIG1vbm9zcGFjZTsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnNtYWxsIHtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zdWIsXFxuc3VwIHtcXG4gIGZvbnQtc2l6ZTogNzUlO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbnN1YiB7XFxuICBib3R0b206IC0wLjI1ZW07XFxufVxcblxcbnN1cCB7XFxuICB0b3A6IC0wLjVlbTtcXG59XFxuXFxuLypcXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcXG4zLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRhYmxlIHtcXG4gIHRleHQtaW5kZW50OiAwOyAvKiAxICovXFxuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDMgKi9cXG59XFxuXFxuLypcXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXFxuMy4gUmVtb3ZlIGRlZmF1bHQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5idXR0b24sXFxuaW5wdXQsXFxub3B0Z3JvdXAsXFxuc2VsZWN0LFxcbnRleHRhcmVhIHtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIG1hcmdpbjogMDsgLyogMiAqL1xcbiAgcGFkZGluZzogMDsgLyogMyAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbmJ1dHRvbixcXG5zZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzLlxcbiovXFxuXFxuYnV0dG9uLFxcblt0eXBlPSdidXR0b24nXSxcXG5bdHlwZT0ncmVzZXQnXSxcXG5bdHlwZT0nc3VibWl0J10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiAyICovXFxufVxcblxcbi8qXFxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cXG4qL1xcblxcbjotbW96LWZvY3VzcmluZyB7XFxuICBvdXRsaW5lOiBhdXRvO1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgYWRkaXRpb25hbCBgOmludmFsaWRgIHN0eWxlcyBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvMmY5ZWFjZDlkM2Q5OTVjOTM3YjQyNTFhNTU1N2Q5NWQ0OTRjOWJlMS9sYXlvdXQvc3R5bGUvcmVzL2Zvcm1zLmNzcyNMNzI4LUw3MzcpXFxuKi9cXG5cXG46LW1vei11aS1pbnZhbGlkIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxufVxcblxcbi8qXFxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXFxuKi9cXG5cXG5bdHlwZT0nc2VhcmNoJ10ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxcbiovXFxuXFxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4qL1xcblxcbnN1bW1hcnkge1xcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xcbn1cXG5cXG4vKlxcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cXG4qL1xcblxcbmJsb2NrcXVvdGUsXFxuZGwsXFxuZGQsXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYsXFxuaHIsXFxuZmlndXJlLFxcbnAsXFxucHJlIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuXFxuZmllbGRzZXQge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxubGVnZW5kIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbm9sLFxcbnVsLFxcbm1lbnUge1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUmVzZXQgZGVmYXVsdCBzdHlsaW5nIGZvciBkaWFsb2dzLlxcbiovXFxuZGlhbG9nIHtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbi8qXFxuUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50ZXh0YXJlYSB7XFxuICByZXNpemU6IHZlcnRpY2FsO1xcbn1cXG5cXG4vKlxcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXFxuMi4gU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBncmF5IDQwMCBjb2xvci5cXG4qL1xcblxcbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG5pbnB1dDo6cGxhY2Vob2xkZXIsXFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbi8qXFxuU2V0IHRoZSBkZWZhdWx0IGN1cnNvciBmb3IgYnV0dG9ucy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bcm9sZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG5cXG4vKlxcbk1ha2Ugc3VyZSBkaXNhYmxlZCBidXR0b25zIGRvbid0IGdldCB0aGUgcG9pbnRlciBjdXJzb3IuXFxuKi9cXG46ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5cXG4vKlxcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4yLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmUgc2Vuc2libHkgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMClcXG4gICBUaGlzIGNhbiB0cmlnZ2VyIGEgcG9vcmx5IGNvbnNpZGVyZWQgbGludCBlcnJvciBpbiBzb21lIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXFxuKi9cXG5cXG5pbWcsXFxuc3ZnLFxcbnZpZGVvLFxcbmNhbnZhcyxcXG5hdWRpbyxcXG5pZnJhbWUsXFxuZW1iZWQsXFxub2JqZWN0IHtcXG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXFxufVxcblxcbi8qXFxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbiovXFxuXFxuaW1nLFxcbnZpZGVvIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLyogTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xcbltoaWRkZW5dIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbiosIDo6YmVmb3JlLCA6OmFmdGVyIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcblxcbjo6YmFja2Ryb3Age1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuLmFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLnJlbGF0aXZlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmxlZnQtMjAge1xcbiAgbGVmdDogNXJlbTtcXG59XFxuLmxlZnQtNjAge1xcbiAgbGVmdDogMTVyZW07XFxufVxcbi5yaWdodC0yMCB7XFxuICByaWdodDogNXJlbTtcXG59XFxuLnJpZ2h0LTYwIHtcXG4gIHJpZ2h0OiAxNXJlbTtcXG59XFxuLnRvcC0xMCB7XFxuICB0b3A6IDIuNXJlbTtcXG59XFxuLnRvcC00MCB7XFxuICB0b3A6IDEwcmVtO1xcbn1cXG4udG9wLTIwIHtcXG4gIHRvcDogNXJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmgtNiB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnctNiB7XFxuICB3aWR0aDogMS41cmVtO1xcbn1cXG4udy1mdWxsIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4ubWF4LXctM3hsIHtcXG4gIG1heC13aWR0aDogNDhyZW07XFxufVxcbi5tYXgtdy1zY3JlZW4teGwge1xcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLml0ZW1zLWNlbnRlciB7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uanVzdGlmeS1jZW50ZXIge1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5ib3JkZXItNCB7XFxuICBib3JkZXItd2lkdGg6IDRweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xcblxcbiAgLnNtXFxcXDpibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp3LWF1dG8ge1xcbiAgICB3aWR0aDogYXV0bztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC01eGwge1xcbiAgICBmb250LXNpemU6IDNyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LXhsXFxcXC9yZWxheGVkIHtcXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XFxuICB9XFxufVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcXG5cXG4gIC5sZ1xcXFw6b3JkZXItMiB7XFxuICAgIG9yZGVyOiAyO1xcbiAgfVxcblxcbiAgLmxnXFxcXDpmbGV4IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFB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QTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2QkFBbUI7VUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsb0JBQW1CO0VBQW5CO0FBQW1C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c0NvbnRlbnRcIjpbXCJAdGFpbHdpbmQgYmFzZTtcXG5AdGFpbHdpbmQgY29tcG9uZW50cztcXG5AdGFpbHdpbmQgdXRpbGl0aWVzO1xcblxcbmh0bWwsXFxuYm9keSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgT3h5Z2VuLFxcbiAgICBVYnVudHUsIENhbnRhcmVsbCwgRmlyYSBTYW5zLCBEcm9pZCBTYW5zLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XFxufVxcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbG9yIHtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cXG4uaW1hZ2Utcm91bmRlZC1yaWdodCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZTtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcblxcbi5zdGFycyB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEyMCU7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG4uc3RhciB7XFxuICAtLXN0YXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2ZW07XFxuICAtLXN0YXItdGFpbC1oZWlnaHQ6IDJweDtcXG4gIC0tc3Rhci13aWR0aDogY2FsYyh2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKSAvIDYpO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5cztcXG4gIC0tdGFpbC1mYWRlLWR1cmF0aW9uOiB2YXIoLS1mYWxsLWR1cmF0aW9uKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgaGVpZ2h0OiB2YXIoLS1zdGFyLXRhaWwtaGVpZ2h0KTtcXG4gIGNvbG9yOiB2YXIoLS1zdGFyLWNvbG9yKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggY3VycmVudENvbG9yKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA0ZW0sIDAsIDApO1xcbiAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZSxcXG4gICAgdGFpbC1mYWRlIHZhcigtLXRhaWwtZmFkZS1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgZWFzZS1vdXQgaW5maW5pdGU7XFxufVxcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAuc3RhciB7XFxuICAgIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGU7XFxuICB9XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNzAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjE1MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNzRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC45OXM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNjM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0NS45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNTg2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MDVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjUzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIyLjg5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDhzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjY0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1MS44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjExN3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMzU5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS40OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjM0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUyLjQ4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjUxMXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMzgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1OS4zNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjgyOXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMDA5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NS4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yOTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjkwN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY0LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTMxcztcXG4gIC0tZmFsbC1kZWxheTogOS4wMThzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxOS42NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljc1MnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuNDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuODJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4xNzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjA3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEwLjk2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuODY5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40MmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNS4zdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTE4cztcXG4gIC0tZmFsbC1kZWxheTogOC42MTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4LjUydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuOTk3cztcXG4gIC0tZmFsbC1kZWxheTogMi41MDJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU3LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjQ3OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuMzQxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjU0cztcXG4gIC0tZmFsbC1kZWxheTogNy45NzRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5NC4wM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMxcztcXG4gIC0tZmFsbC1kZWxheTogMy41NDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy44NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjgycztcXG4gIC0tZmFsbC1kZWxheTogNy44ODNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi41OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjEzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNDk5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjRlbTtcXG4gIC0tdG9wLW9mZnNldDogODIuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC40ODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Ny4zM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjI5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIuNjZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yM3M7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTEzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNDguOTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjU3cztcXG4gIC0tZmFsbC1kZWxheTogNy43OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjllbTtcXG4gIC0tdG9wLW9mZnNldDogMjkuNTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMDI3cztcXG4gIC0tZmFsbC1kZWxheTogNS4yNjJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDIwLjg4dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDguMDUycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNjllbTtcXG4gIC0tdG9wLW9mZnNldDogMTMuNTV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTYxcztcXG4gIC0tZmFsbC1kZWxheTogMy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3LjQydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjMwM3M7XFxuICAtLWZhbGwtZGVsYXk6IDEuMTk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU2NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY3LjMydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzA0cztcXG4gIC0tZmFsbC1kZWxheTogNi41NjZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMyLjYydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzg5cztcXG4gIC0tZmFsbC1kZWxheTogMC40MjhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk5Ljczdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjUzM3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuMjQ5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTFlbTtcXG4gIC0tdG9wLW9mZnNldDogOTguODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zNjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg3NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE2Ljg0dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjQ3cztcXG4gIC0tZmFsbC1kZWxheTogMy4yM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU1LjE5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuMTQ5cztcXG4gIC0tZmFsbC1kZWxheTogMi44OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjczZW07XFxuICAtLXRvcC1vZmZzZXQ6IDkwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTI2cztcXG4gIC0tZmFsbC1kZWxheTogNC42NzFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MC41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjI2cztcXG4gIC0tZmFsbC1kZWxheTogNC40NzhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNS41N3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS44MDZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjczNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc2Ljcydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNTIzcztcXG4gIC0tZmFsbC1kZWxheTogMi4xNzNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4yM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljg4OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNzU3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuNDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4xNThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjE2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTEuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjIzN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjM1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2Ljgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNjI0cztcXG4gIC0tZmFsbC1kZWxheTogNy44NXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM2LjAydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMzk5cztcXG4gIC0tZmFsbC1kZWxheTogOS44NDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0MC4zN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4zOTVzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4xOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNy4yM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4wMTNzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjEwM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljk2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQzLjkxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODczcztcXG4gIC0tZmFsbC1kZWxheTogNy4wNjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA2MS43OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjY4NXM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNDkycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjMuODZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS42NThzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjM0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDc3LjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41OHM7XFxuICAtLWZhbGwtZGVsYXk6IDUuNjc5cztcXG59XFxuLnN0YXI6OmJlZm9yZSxcXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiBjYWxjKHZhcigtLXN0YXItd2lkdGgpIC8gLTIpO1xcbiAgd2lkdGg6IHZhcigtLXN0YXItd2lkdGgpO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCwgY3VycmVudENvbG9yLCB0cmFuc3BhcmVudCk7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgYW5pbWF0aW9uOiBibGluayAycyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi5zdGFyOjpiZWZvcmUge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbn1cXG4uc3Rhcjo6YWZ0ZXIge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuQGtleWZyYW1lcyBmYWxsIHtcXG4gIHRvIHtcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBlbSwgMCwgMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgdGFpbC1mYWRlIHtcXG4gIDAlLFxcbiAgNTAlIHtcXG4gICAgd2lkdGg6IHZhcigtLXN0YXItdGFpbC1sZW5ndGgpO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcbiAgNzAlLFxcbiAgODAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDAuNDtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMDtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBibGluayB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAwLjY7XFxuICB9XFxufVxcblwiLG51bGxdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.f011c824fc466035.hot-update.js b/.next/static/webpack/pages/_app.f011c824fc466035.hot-update.js deleted file mode 100644 index 94e2c29..0000000 --- a/.next/static/webpack/pages/_app.f011c824fc466035.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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d0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix1QkFBdUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsMkJBQTJCLHlCQUF5QixHQUFHLGdDQUFnQyx1QkFBdUIsa0JBQWtCLFdBQVcsdUNBQXVDLDZCQUE2QixpQkFBaUIsK0VBQStFLDJCQUEyQix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywyQkFBMkIsdUJBQXVCLHdEQUF3RCxHQUFHLDJCQUEyQix1QkFBdUIsOERBQThELEdBQUcsNkJBQTZCLHlCQUF5QixxREFBcUQsR0FBRywrQkFBK0IsbUNBQW1DLHdCQUF3QixHQUFHLHVCQUF1QixnSEFBZ0gsOEdBQThHLGlHQUFpRyxHQUFHLG9DQUFvQyw0QkFBNEIsR0FBRyw2QkFBNkIsbUJBQW1CLHFCQUFxQixLQUFLLG9CQUFvQixrQkFBa0IsS0FBSyxzQkFBc0Isc0JBQXNCLHFCQUFxQixLQUFLLCtCQUErQix5QkFBeUIseUJBQXlCLEtBQUssR0FBRyw4QkFBOEIscUJBQXFCLGVBQWUsS0FBSyxrQkFBa0Isb0JBQW9CLEtBQUssc0JBQXNCLG9CQUFvQixLQUFLLDBCQUEwQiwwQkFBMEIsS0FBSyxHQUFHLFNBQVMsa0dBQWtHLFlBQVksTUFBTSxPQUFPLHFCQUFxQixvQkFBb0IscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sV0FBVyxNQUFNLFdBQVcsTUFBTSxLQUFLLHFCQUFxQixxQkFBcUIscUJBQXFCLFVBQVUsb0JBQW9CLHFCQUFxQixxQkFBcUIscUJBQXFCLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLHFCQUFxQixNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLFVBQVUsV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssVUFBVSxXQUFXLE1BQU0sTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE9BQU8sTUFBTSxRQUFRLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLFdBQVcsV0FBVyxNQUFNLEtBQUssVUFBVSxNQUFNLEtBQUssVUFBVSxNQUFNLFFBQVEsTUFBTSxLQUFLLG9CQUFvQixxQkFBcUIscUJBQXFCLE1BQU0sUUFBUSxNQUFNLFNBQVMscUJBQXFCLHFCQUFxQixxQkFBcUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEtBQUssS0FBSyxLQUFLLHdDQUF3Qyx1QkFBdUIsc0JBQXNCLGlCQUFpQixlQUFlLGNBQWMsd0pBQXdKLHdCQUF3QixHQUFHLE9BQU8sbUJBQW1CLDBCQUEwQixHQUFHLE9BQU8sMkJBQTJCLEdBQUcsWUFBWSxtQkFBbUIsR0FBRywwQkFBMEIsb0JBQW9CLGlCQUFpQixtQkFBbUIsNkJBQTZCLDRCQUE0Qix3QkFBd0IscUNBQXFDLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLDZCQUE2QixxQkFBcUIsR0FBRyx1QkFBdUIsb0JBQW9CLGlCQUFpQixtQkFBbUIsbUNBQW1DLDRCQUE0Qix3QkFBd0Isc0NBQXNDLG1DQUFtQyxrQ0FBa0MsaUNBQWlDLDhCQUE4QixxQkFBcUIsR0FBRyx3R0FBd0csb0JBQW9CLFdBQVcsWUFBWSxnQkFBZ0IsaUJBQWlCLDhCQUE4QixHQUFHLFdBQVcsdUNBQXVDLDRCQUE0Qiw0QkFBNEIsb0RBQW9ELHdCQUF3QiwrQ0FBK0MsdUJBQXVCLDJCQUEyQixZQUFZLG1DQUFtQyxvQ0FBb0MsNkJBQTZCLGtFQUFrRSx1QkFBdUIsOENBQThDLHdDQUF3Qyx5SkFBeUosR0FBRyx3Q0FBd0MsV0FBVyw2RUFBNkUsS0FBSyxHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiwyQkFBMkIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiwrQkFBK0IsMEJBQTBCLHdCQUF3Qix3QkFBd0IsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHNCQUFzQiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyxzQkFBc0IsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsc0JBQXNCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsMkJBQTJCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDJCQUEyQix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHVCQUF1Qiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUNwd3lDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLm0tMCB7XFxuICBtYXJnaW46IDBweDtcXG59XFxuLm0tMTAge1xcbiAgbWFyZ2luOiAyLjVyZW07XFxufVxcbi5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG4ubXItMiB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcXG59XFxuLm10LTQge1xcbiAgbWFyZ2luLXRvcDogMXJlbTtcXG59XFxuLm10LTgge1xcbiAgbWFyZ2luLXRvcDogMnJlbTtcXG59XFxuLmJsb2NrIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5iZy1cXFxcW1xcXFwjMDBGOTAwXFxcXF0ge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMjQ5IDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1jbGlwLXRleHQge1xcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuLmhvdmVyXFxcXDpiZy1ibGFjazpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6Ymctd2hpdGU6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FB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RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtB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Y2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.f0bbad6337067697.hot-update.js b/.next/static/webpack/pages/_app.f0bbad6337067697.hot-update.js deleted file mode 100644 index 923d98c..0000000 --- a/.next/static/webpack/pages/_app.f0bbad6337067697.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n color: #00f900;\\n}\\n.style4:hover:after {\\n right: 0;\\n color: #00f900;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n color: #00f900;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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TSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE9BQU8sVUFBVSxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0s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QUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsOEJBQThCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHVCQUF1QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLHlCQUF5QiwyQkFBMkIseUJBQXlCLEdBQUcsZ0NBQWdDLHVCQUF1QixrQkFBa0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLEdBQUcsaUNBQWlDLGdCQUFnQixZQUFZLG1CQUFtQixHQUFHLHVCQUF1QixhQUFhLG1CQUFtQixHQUFHLGlDQUFpQyxjQUFjLGVBQWUsR0FBRyx1QkFBdUIsYUFBYSxZQUFZLG1CQUFtQixHQUFHLDBCQUEwQjtBQUNyMTRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7Ozs7OztFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztFQUFkLFlBQWM7QUFBQTs7QUFBZCx3RUFBYztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQ7QUFBYzs7QUFBZDtFQUFBLHdCQUFjO0VBQWQsd0JBQWM7RUFBZCxtQkFBYztFQUFkLG1CQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxjQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsYUFBYztFQUFkLGtCQUFjO0VBQWQsc0NBQWM7RUFBZCw4QkFBYztFQUFkLDZCQUFjO0VBQWQsNEJBQWM7RUFBZCxlQUFjO0VBQWQsb0JBQWM7RUFBZCxzQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCxrQkFBYztFQUFkLDJCQUFjO0VBQWQsNEJBQWM7RUFBZCxzQ0FBYztFQUFkLGtDQUFjO0VBQWQsMkJBQWM7RUFBZCxzQkFBYztFQUFkLDhCQUFjO0VBQWQsWUFBYztFQUFkLGtCQUFjO0VBQWQsZ0JBQWM7RUFBZCxpQkFBYztFQUFkLGtCQUFjO0VBQWQsY0FBYztFQUFkLGdCQUFjO0VBQWQsYUFBYztFQUFkLG1CQUFjO0VBQWQscUJBQWM7RUFBZCwyQkFBYztFQUFkLHlCQUFjO0VBQWQsMEJBQWM7RUFBZCwyQkFBYztFQUFkLHVCQUFjO0VBQWQsd0JBQWM7RUFBZCx5QkFBYztFQUFkO0FBQWM7QUFFZDtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtF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Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcbi5zdHlsZTQ6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLyogc3R5bGU1ICovXFxuLnN0eWxlNTphZnRlciB7XFxuICBsZWZ0OiA1MCU7XFxuICByaWdodDogNTAlO1xcbn1cXG4uc3R5bGU1OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogMDtcXG4gIGNvbG9yOiAjMDBmOTAwO1xcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.f1f288f2f518456e.hot-update.js b/.next/static/webpack/pages/_app.f1f288f2f518456e.hot-update.js deleted file mode 100644 index b484304..0000000 --- a/.next/static/webpack/pages/_app.f1f288f2f518456e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.block {\\n display: block;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.grid-cols-1 {\\n grid-template-columns: repeat(1, minmax(0, 1fr));\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-4 {\\n gap: 1rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-200 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:grid {\\n display: grid;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"AAAA;;CAAc,CAAd;;;CAAc;;AAAd;;;EAAA,sBAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,mBAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,gBAAc;AAAA;;AAAd;;;;;;;CAAc;;AAAd;EAAA,gBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gBAAc,EAAd,MAAc;EAAd,cAAc;KAAd,WAAc,EAAd,MAAc;EAAd,4NAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,+BAAc,EAAd,MAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,SAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,yCAAc;UAAd,iCAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;EAAA,kBAAc;EAAd,oBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;EAAd,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,mBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,+GAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,cAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,cAAc;EAAd,cAAc;EAAd,kBAAc;EAAd,wBAAc;AAAA;;AAAd;EAAA,eAAc;AAAA;;AAAd;EAAA,WAAc;AAAA;;AAAd;;;;CAAc;;AAAd;EAAA,cAAc,EAAd,MAAc;EAAd,qBAAc,EAAd,MAAc;EAAd,yBAAc,EAAd,MAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;EAAA,oBAAc,EAAd,MAAc;EAAd,8BAAc,EAAd,MAAc;EAAd,gCAAc,EAAd,MAAc;EAAd,eAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;EAAd,SAAc,EAAd,MAAc;EAAd,UAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,oBAAc;AAAA;;AAAd;;;CAAc;;AAAd;;;;EAAA,0BAAc,EAAd,MAAc;EAAd,6BAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,aAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,YAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,6BAAc,EAAd,MAAc;EAAd,oBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,wBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,0BAAc,EAAd,MAAc;EAAd,aAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,kBAAc;AAAA;;AAAd;;CAAc;;AAAd;;;;;;;;;;;;;EAAA,SAAc;AAAA;;AAAd;EAAA,SAAc;EAAd,UAAc;AAAA;;AAAd;EAAA,UAAc;AAAA;;AAAd;;;EAAA,gBAAc;EAAd,SAAc;EAAd,UAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,UAAc;AAAA;;AAAd;;CAAc;;AAAd;EAAA,gBAAc;AAAA;;AAAd;;;CAAc;;AAAd;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;EAAA,UAAc,EAAd,MAAc;EAAd,cAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;AAAA;;AAAd;;CAAc;AAAd;EAAA,eAAc;AAAA;;AAAd;;;;CAAc;;AAAd;;;;;;;;EAAA,cAAc,EAAd,MAAc;EAAd,sBAAc,EAAd,MAAc;AAAA;;AAAd;;CAAc;;AAAd;;EAAA,eAAc;EAAd,YAAc;AAAA;;AAAd,wEAAc;AAAd;EAAA,aAAc;AAAA;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;;AAAd;EAAA,wBAAc;EAAd,wBAAc;EAAd,mBAAc;EAAd,mBAAc;EAAd,cAAc;EAAd,cAAc;EAAd,cAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,aAAc;EAAd,kBAAc;EAAd,sCAAc;EAAd,8BAAc;EAAd,6BAAc;EAAd,4BAAc;EAAd,eAAc;EAAd,oBAAc;EAAd,sBAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,kBAAc;EAAd,2BAAc;EAAd,4BAAc;EAAd,sCAAc;EAAd,kCAAc;EAAd,2BAAc;EAAd,sBAAc;EAAd,8BAAc;EAAd,YAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,iBAAc;EAAd,kBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,aAAc;EAAd,mBAAc;EAAd,qBAAc;EAAd,2BAAc;EAAd,yBAAc;EAAd,0BAAc;EAAd,2BAAc;EAAd,uBAAc;EAAd,wBAAc;EAAd,yBAAc;EAAd;AAAc;AAEd;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;UAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,qBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA,mBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,0EAAmB;EAAnB,8FAAmB;EAAnB;AAAmB;;AAEnB;;EAEE,UAAU;EACV,SAAS;EACT;wEACsE;EACtE,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE;;kBAEgB;EAChB,sBAAsB;EAEtB,mBAAmB;EAKnB,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE;;kBAEgB;EAChB,4BAA4B;EAE5B,mBAAmB;EAKnB,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA,8CAA8C;;AAE9C;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,yBAAyB;AAC3B;;AAEA;EACE,kCAAkC;EAClC,uBAAuB;EACvB,uBAAuB;EACvB,+CAA+C;EAC/C,mBAAmB;EACnB,0CAA0C;EAC1C,kBAAkB;EAClB,sBAAsB;EACtB,OAAO;EACP,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,6DAA6D;EAC7D,kBAAkB;EAClB,yCAAyC;EACzC,mCAAmC;EACnC;2EACyE;AAC3E;AACA;EACE;IACE,sEAAsE;EACxE;AACF;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,wBAAwB;EACxB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,qBAAqB;EACrB,uBAAuB;EACvB,oBAAoB;AACtB;AACA;EACE,0BAA0B;EAC1B,oBAAoB;EACpB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;;EAEE,kBAAkB;EAClB,WAAW;EACX,MAAM;EACN,kCAAkC;EAClC,wBAAwB;EACxB,YAAY;EACZ,0EAA0E;EAC1E,sBAAsB;EACtB,mCAAmC;AACrC;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,mCAAmC;EACrC;AACF;AACA;EACE;;IAEE,8BAA8B;IAC9B,UAAU;EACZ;EACA;;IAEE,QAAQ;IACR,YAAY;EACd;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,YAAY;EACd;AACF;;AAEA,sCAAsC;;AAEtC,WAAW;AACX;;EAEE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,4BAA4B;EAC5B,SAAS;EACT,oBAAoB;AACtB;;AAEA,WAAW;AACX;EACE,WAAW;EACX,OAAO;AACT;AACA;EACE,QAAQ;AACV;;AAEA,WAAW;AACX;EACE,SAAS;EACT,UAAU;AACZ;AACA;EACE,QAAQ;EACR,OAAO;AACT;AAvdA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,mBCAA;EDAA;CCAA;ADAA;EAAA,qBCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\\n/* --------------------------------- */\\n\\n/* style4 */\\n.style4,\\n.style5 {\\n position: relative;\\n display: inline-block;\\n}\\n.style4:after,\\n.style5:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-bottom: 2px solid red;\\n top: 100%;\\n transition: all 0.4s;\\n}\\n\\n/* style4 */\\n.style4:after {\\n right: 100%;\\n left: 0;\\n}\\n.style4:hover:after {\\n right: 0;\\n}\\n\\n/* style5 */\\n.style5:after {\\n left: 50%;\\n right: 50%;\\n}\\n.style5:hover:after {\\n right: 0;\\n left: 0;\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sT0FBTyxPQUFPLFVBQVUsVUFBVSxLQUFLLE9BQU8sYUFBYSxPQUFPLEtBQUssVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsT0FBTyxhQUFhLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssTUFBTSxhQUFhLFdBQVcsTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxPQUFPLFVBQVUsS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsTUFBTSxVQUFVLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxL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a0IsV0FBVyx1Q0FBdUMsNkJBQTZCLGlCQUFpQiwrRUFBK0UsMkJBQTJCLHdDQUF3QyxHQUFHLGlCQUFpQiw2QkFBNkIsR0FBRyxnQkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLGdGQUFnRix1QkFBdUIsMEJBQTBCLEdBQUcsaUNBQWlDLGtCQUFrQix1QkFBdUIsaUNBQWlDLGNBQWMseUJBQXlCLEdBQUcsaUNBQWlDLGdCQUFnQixZQUFZLEdBQUcsdUJBQXVCLGFBQWEsR0FBRyxpQ0FBaUMsY0FBYyxlQUFlLEdBQUcsdUJBQXVCLGFBQWEsWUFBWSxHQUFHLDBCQUEwQjtBQUNsczRDO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm10LTEwIHtcXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcXG59XFxuLm10LTIwIHtcXG4gIG1hcmdpbi10b3A6IDVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZsZXgge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmlubGluZS1mbGV4IHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbn1cXG4uZ3JpZCB7XFxuICBkaXNwbGF5OiBncmlkO1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5tYXgtdy14bCB7XFxuICBtYXgtd2lkdGg6IDM2cmVtO1xcbn1cXG4uZ3JpZC1jb2xzLTEge1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmp1c3RpZnktYmV0d2VlbiB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5nYXAtNCB7XFxuICBnYXA6IDFyZW07XFxufVxcbi5yb3VuZGVkLTN4bCB7XFxuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XFxufVxcbi5yb3VuZGVkLWxnIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcXG59XFxuLmJvcmRlciB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG59XFxuLmJvcmRlci00IHtcXG4gIGJvcmRlci13aWR0aDogNHB4O1xcbn1cXG4uYm9yZGVyLVxcXFxbYmxhY2tcXFxcXSB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLVxcXFxbeWVsbG93XFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI1NSAyNTUgMCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItYmx1ZS02MDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0xMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJnLVxcXFxbXFxcXCMwMEY5MDBcXFxcXSB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAyNDkgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktMjAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC02IHtcXG4gIHBhZGRpbmc6IDEuNXJlbTtcXG59XFxuLnAtOCB7XFxuICBwYWRkaW5nOiAycmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi5mb250LWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmZvbnQtZXh0cmFib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5mb250LW1lZGl1bSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi51bmRlcmxpbmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcXG59XFxuLnNoYWRvdyB7XFxuICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy1ncmF5LTEwMDpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC13aGl0ZTpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmZvY3VzXFxcXDpvdXRsaW5lLW5vbmU6Zm9jdXMge1xcbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG59XFxuLmZvY3VzXFxcXDpyaW5nOmZvY3VzIHtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7XFxufVxcbi5hY3RpdmVcXFxcOnRleHQtb3BhY2l0eS03NTphY3RpdmUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDAuNzU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItZ3JheS03MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XFxuXFxuICAuc21cXFxcOmJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICB9XFxuXFxuICAuc21cXFxcOnctYXV0byB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgfVxcblxcbiAgLnNtXFxcXDp0ZXh0LTV4bCB7XFxuICAgIGZvbnQtc2l6ZTogM3JlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQteGxcXFxcL3JlbGF4ZWQge1xcbiAgICBmb250LXNpemU6IDEuMjVyZW07XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcXG4gIH1cXG59XFxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xcblxcbiAgLmxnXFxcXDpvcmRlci0yIHtcXG4gICAgb3JkZXI6IDI7XFxuICB9XFxuXFxuICAubGdcXFxcOmZsZXgge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgfVxcblxcbiAgLmxnXFxcXDpncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aC1zY3JlZW4ge1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgfVxcblxcbiAgLmxnXFxcXDppdGVtcy1jZW50ZXIge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vc3R5bGVzL2dsb2JhbHMuY3NzXCIsXCI8bm8gc291cmNlPlwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCw0TkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsK0dBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDtFQUFBLGVBQWM7QUFBQTs7QUFBZDtFQUFBLFdBQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7RUFBZCx5QkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsb0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGFBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLFlBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSw2QkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsYUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGtCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7Ozs7Ozs7Ozs7RUFBQSxTQUFjO0FBQUE7O0FBQWQ7RUFBQSxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOzs7RUFBQSxnQkFBYztFQUFkLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztFQUFBLFVBQWMsRUFBZCxNQUFj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QUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUEsZ0JDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBO0NBQUE7QURBQTs7RUFBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4vKiBzdHlsZTQgKi9cXG4uc3R5bGU0LFxcbi5zdHlsZTUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uc3R5bGU0OmFmdGVyLFxcbi5zdHlsZTU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xcbiAgdG9wOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XFxufVxcblxcbi8qIHN0eWxlNCAqL1xcbi5zdHlsZTQ6YWZ0ZXIge1xcbiAgcmlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uc3R5bGU0OmhvdmVyOmFmdGVyIHtcXG4gIHJpZ2h0OiAwO1xcbn1cXG5cXG4vKiBzdHlsZTUgKi9cXG4uc3R5bGU1OmFmdGVyIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIHJpZ2h0OiA1MCU7XFxufVxcbi5zdHlsZTU6aG92ZXI6YWZ0ZXIge1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.fa71c63448037219.hot-update.js b/.next/static/webpack/pages/_app.fa71c63448037219.hot-update.js deleted file mode 100644 index 77c6ba2..0000000 --- a/.next/static/webpack/pages/_app.fa71c63448037219.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.place-items-center {\\n place-items: center;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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A,gGCAA;EDAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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cUIsb0JBQW9CLHFCQUFxQixxQkFBcUIsb0JBQW9CLG9CQUFvQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sT0FBTyxNQUFNLFFBQVEscUJBQXFCLHFCQUFxQixxQkFBcUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxVQUFVLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxNQUFNLE1BQU0sTUFBTSxVQUFVLE1BQU0sT0FBTyxNQUFNLEtBQUsscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIsb0JBQW9CLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxpQkFBaUIsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQU0sT0FBTyxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sT0FBTyxNQUFNLEtBQUssb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLE1BQU0sUUFBUSxNQUFNLFlBQVksb0JBQW9CLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLFdBQVcsS0FBSyxVQUFVLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxPQUFPLE9BQU8sVUFBVSxVQUFVLEtBQUssT0FBTyxhQUFhLE9BQU8sS0FBSyxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksT0FBTyxLQUFLLFVBQVUsT0FBTyxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sS0FBSyxNQUFNLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLFlBQVksY0FBYyxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLE1BQU0sS0FBSyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsTUFBTSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssTUFBTSxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsVUFBVSxLQUFLLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLE1BQU0sS0FBSyxLQUFLLE1B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Qix3Q0FBd0MsR0FBRyxpQkFBaUIsNkJBQTZCLEdBQUcsZ0JBQWdCLDhCQUE4QixHQUFHLHFCQUFxQixRQUFRLDBDQUEwQyxLQUFLLEdBQUcsd0JBQXdCLGdCQUFnQixxQ0FBcUMsaUJBQWlCLEtBQUssaUJBQWlCLGVBQWUsbUJBQW1CLEtBQUssVUFBVSxlQUFlLGlCQUFpQixLQUFLLEdBQUcsb0JBQW9CLFNBQVMsbUJBQW1CLEtBQUssR0FBRywwQkFBMEI7QUFDM2duRDtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3N0eWxlcy9nbG9iYWxzLmNzcz8wNGRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL2Nzcy1sb2FkZXIvc3JjL3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18odHJ1ZSk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKlxcbiEgdGFpbHdpbmRjc3MgdjMuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbVxcbiovLypcXG4xLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxcbiovXFxuXFxuKixcXG46OmJlZm9yZSxcXG46OmFmdGVyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViOyAvKiAyICovXFxufVxcblxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgLS10dy1jb250ZW50OiAnJztcXG59XFxuXFxuLypcXG4xLiBVc2UgYSBjb25zaXN0ZW50IHNlbnNpYmxlIGxpbmUtaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxcbjQuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXFxuNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXFxuNi4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC12YXJpYXRpb24tc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG4qL1xcblxcbmh0bWwge1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXFxuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXFxuICAtby10YWItc2l6ZTogNDtcXG4gICAgIHRhYi1zaXplOiA0OyAvKiAzICovXFxuICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgQXJpYWwsIFxcXCJOb3RvIFNhbnNcXFwiLCBzYW5zLXNlcmlmLCBcXFwiQXBwbGUgQ29sb3IgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgRW1vamlcXFwiLCBcXFwiU2Vnb2UgVUkgU3ltYm9sXFxcIiwgXFxcIk5vdG8gQ29sb3IgRW1vamlcXFwiOyAvKiA0ICovXFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgLyogNSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsgLyogNiAqL1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cXG4qL1xcblxcbmJvZHkge1xcbiAgbWFyZ2luOiAwOyAvKiAxICovXFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcXG4zLiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHIge1xcbiAgaGVpZ2h0OiAwOyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAvKiAzICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cXG4qL1xcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcblJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXFxuKi9cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5iLFxcbnN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQgZmFtaWx5IGJ5IGRlZmF1bHQuXFxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuY29kZSxcXG5rYmQsXFxuc2FtcCxcXG5wcmUge1xcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyAvKiAxICovXFxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxufVxcblxcbi8qXFxuUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbnN1YixcXG5zdXAge1xcbiAgZm9udC1zaXplOiA3NSU7XFxuICBsaW5lLWhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuc3ViIHtcXG4gIGJvdHRvbTogLTAuMjVlbTtcXG59XFxuXFxuc3VwIHtcXG4gIHRvcDogLTAuNWVtO1xcbn1cXG5cXG4vKlxcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXFxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxcbiovXFxuXFxudGFibGUge1xcbiAgdGV4dC1pbmRlbnQ6IDA7IC8qIDEgKi9cXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xcbn1cXG5cXG4vKlxcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cXG4qL1xcblxcbmJ1dHRvbixcXG5pbnB1dCxcXG5vcHRncm91cCxcXG5zZWxlY3QsXFxudGV4dGFyZWEge1xcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAxICovXFxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xcbiAgbWFyZ2luOiAwOyAvKiAyICovXFxuICBwYWRkaW5nOiAwOyAvKiAzICovXFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxcbiovXFxuXFxuYnV0dG9uLFxcbnNlbGVjdCB7XFxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxcbjIuIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3R5cGU9J2J1dHRvbiddLFxcblt0eXBlPSdyZXNldCddLFxcblt0eXBlPSdzdWJtaXQnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Vc2UgdGhlIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlIGZvciBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzLlxcbiovXFxuXFxuOi1tb3otZm9jdXNyaW5nIHtcXG4gIG91dGxpbmU6IGF1dG87XFxufVxcblxcbi8qXFxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIGA6aW52YWxpZGAgc3R5bGVzIGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczNylcXG4qL1xcblxcbjotbW96LXVpLWludmFsaWQge1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cXG4qL1xcblxcbnByb2dyZXNzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG59XFxuXFxuLypcXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gIGhlaWdodDogYXV0bztcXG59XFxuXFxuLypcXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cXG4qL1xcblxcblt0eXBlPSdzZWFyY2gnXSB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXFxuKi9cXG5cXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxcbiovXFxuXFxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxcbiovXFxuXFxuc3VtbWFyeSB7XFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxufVxcblxcbi8qXFxuUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxcbiovXFxuXFxuYmxvY2txdW90ZSxcXG5kbCxcXG5kZCxcXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNixcXG5ocixcXG5maWd1cmUsXFxucCxcXG5wcmUge1xcbiAgbWFyZ2luOiAwO1xcbn1cXG5cXG5maWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5sZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxub2wsXFxudWwsXFxubWVudSB7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5SZXNldCBkZWZhdWx0IHN0eWxpbmcgZm9yIGRpYWxvZ3MuXFxuKi9cXG5kaWFsb2cge1xcbiAgcGFkZGluZzogMDtcXG59XFxuXFxuLypcXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cXG4qL1xcblxcbnRleHRhcmVhIHtcXG4gIHJlc2l6ZTogdmVydGljYWw7XFxufVxcblxcbi8qXFxuMS4gUmVzZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgb3BhY2l0eSBpbiBGaXJlZm94LiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9pc3N1ZXMvMzMwMClcXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxcbiovXFxuXFxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIG9wYWNpdHk6IDE7IC8qIDEgKi9cXG4gIGNvbG9yOiAjOWNhM2FmOyAvKiAyICovXFxufVxcblxcbmlucHV0OjpwbGFjZWhvbGRlcixcXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxcbiovXFxuXFxuYnV0dG9uLFxcbltyb2xlPVxcXCJidXR0b25cXFwiXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcblxcbi8qXFxuTWFrZSBzdXJlIGRpc2FibGVkIGJ1dHRvbnMgZG9uJ3QgZ2V0IHRoZSBwb2ludGVyIGN1cnNvci5cXG4qL1xcbjpkaXNhYmxlZCB7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcblxcbi8qXFxuMS4gTWFrZSByZXBsYWNlZCBlbGVtZW50cyBgZGlzcGxheTogYmxvY2tgIGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxcbiAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50IGVycm9yIGluIHNvbWUgdG9vbHMgYnV0IGlzIGluY2x1ZGVkIGJ5IGRlc2lnbi5cXG4qL1xcblxcbmltZyxcXG5zdmcsXFxudmlkZW8sXFxuY2FudmFzLFxcbmF1ZGlvLFxcbmlmcmFtZSxcXG5lbWJlZCxcXG5vYmplY3Qge1xcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cXG59XFxuXFxuLypcXG5Db25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuKi9cXG5cXG5pbWcsXFxudmlkZW8ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKiBNYWtlIGVsZW1lbnRzIHdpdGggdGhlIEhUTUwgaGlkZGVuIGF0dHJpYnV0ZSBzdGF5IGhpZGRlbiBieSBkZWZhdWx0ICovXFxuW2hpZGRlbl0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy14OiAwO1xcbiAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteDogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXk6IDA7XFxuICAtLXR3LXJvdGF0ZTogMDtcXG4gIC0tdHctc2tldy14OiAwO1xcbiAgLS10dy1za2V3LXk6IDA7XFxuICAtLXR3LXNjYWxlLXg6IDE7XFxuICAtLXR3LXNjYWxlLXk6IDE7XFxuICAtLXR3LXBhbi14OiAgO1xcbiAgLS10dy1wYW4teTogIDtcXG4gIC0tdHctcGluY2gtem9vbTogIDtcXG4gIC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xcbiAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1vcmRpbmFsOiAgO1xcbiAgLS10dy1zbGFzaGVkLXplcm86ICA7XFxuICAtLXR3LW51bWVyaWMtZmlndXJlOiAgO1xcbiAgLS10dy1udW1lcmljLXNwYWNpbmc6ICA7XFxuICAtLXR3LW51bWVyaWMtZnJhY3Rpb246ICA7XFxuICAtLXR3LXJpbmctaW5zZXQ6ICA7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XFxuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xcbiAgLS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIDAuNSk7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtcXG4gIC0tdHctYmx1cjogIDtcXG4gIC0tdHctYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctY29udHJhc3Q6ICA7XFxuICAtLXR3LWdyYXlzY2FsZTogIDtcXG4gIC0tdHctaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctaW52ZXJ0OiAgO1xcbiAgLS10dy1zYXR1cmF0ZTogIDtcXG4gIC0tdHctc2VwaWE6ICA7XFxuICAtLXR3LWRyb3Atc2hhZG93OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ibHVyOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1jb250cmFzdDogIDtcXG4gIC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1pbnZlcnQ6ICA7XFxuICAtLXR3LWJhY2tkcm9wLW9wYWNpdHk6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zZXBpYTogIDtcXG59XFxuXFxuOjpiYWNrZHJvcCB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG4uYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4ucmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4ubGVmdC0yMCB7XFxuICBsZWZ0OiA1cmVtO1xcbn1cXG4ubGVmdC02MCB7XFxuICBsZWZ0OiAxNXJlbTtcXG59XFxuLnJpZ2h0LTIwIHtcXG4gIHJpZ2h0OiA1cmVtO1xcbn1cXG4ucmlnaHQtNjAge1xcbiAgcmlnaHQ6IDE1cmVtO1xcbn1cXG4udG9wLTEwIHtcXG4gIHRvcDogMi41cmVtO1xcbn1cXG4udG9wLTQwIHtcXG4gIHRvcDogMTByZW07XFxufVxcbi50b3AtMjAge1xcbiAgdG9wOiA1cmVtO1xcbn1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMHB4O1xcbn1cXG4ubS0xMCB7XFxuICBtYXJnaW46IDIuNXJlbTtcXG59XFxuLm14LWF1dG8ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xcbn1cXG4ubXQtNCB7XFxuICBtYXJnaW4tdG9wOiAxcmVtO1xcbn1cXG4ubXQtOCB7XFxuICBtYXJnaW4tdG9wOiAycmVtO1xcbn1cXG4ubXQtMTAge1xcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xcbn1cXG4ubXQtMjAge1xcbiAgbWFyZ2luLXRvcDogNXJlbTtcXG59XFxuLm1iLTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ubWItNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbn1cXG4uYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmxpbmUtYmxvY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uaC02IHtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4udy02IHtcXG4gIHdpZHRoOiAxLjVyZW07XFxufVxcbi53LWZ1bGwge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5tYXgtdy0zeGwge1xcbiAgbWF4LXdpZHRoOiA0OHJlbTtcXG59XFxuLm1heC13LXNjcmVlbi14bCB7XFxuICBtYXgtd2lkdGg6IDEyODBweDtcXG59XFxuLm1heC13LXhsIHtcXG4gIG1heC13aWR0aDogMzZyZW07XFxufVxcbi5tYXgtdy1zbSB7XFxuICBtYXgtd2lkdGg6IDI0cmVtO1xcbn1cXG4uZmxleC13cmFwIHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XFxuICBwbGFjZS1pdGVtczogY2VudGVyO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLnJvdW5kZWQtbGcge1xcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xcbn1cXG4ucm91bmRlZCB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItYi0yIHtcXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktNDAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0yMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1uZXV0cmFsLTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQ1IDI0NSAyNDUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpob3ZlciB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmZvY3VzIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uZm9jdXNcXFxcOnJpbmctMDpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG4uYWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTphY3RpdmUge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItbmV1dHJhbC02MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1uZXV0cmFsLTcwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0IDY0IDY0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtZ3JheS00MDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtd2hpdGUge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC0yMDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyMjkgMjI5IDIyOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC01MCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1MCAyNTAgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6c2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC41XFxcXClcXFxcXSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC41KTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06aG92ZXIge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpmb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06Zm9jdXMge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDphY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsK0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7OztDQUFjOztBQUFkO0VBQUEsU0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEseUNBQWM7VUFBZCxpQ0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7RUFBQSxrQkFBYztFQUFkLG9CQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0VBQWQsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxtQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsY0FBYztFQUFkLGNBQWM7RUFBZCxrQkFBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7RUFBQSxlQUFjO0FBQUE7O0FBQWQ7RUFBQSxXQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0VBQWQseUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDs7Ozs7RUFBQSxvQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQ0FBYyxFQUFkLE1BQWM7RUFBZCxlQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQsU0FBYyxFQUFkLE1BQWM7RUFBZCxVQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG9CQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkOzs7O0VBQUEsMEJBQWMsRUFBZCxNQUFjO0VBQWQsNkJBQWMsRUFBZCxNQUFjO0VBQWQsc0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxhQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxZQUFjO0FBQUE7O0FBQWQ7OztDQUFjOztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx3QkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLGFBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxrQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOzs7Ozs7Ozs7Ozs7O0VBQUEsU0FBYztBQUFBOztBQUFkO0VBQUEsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDtFQUFBLFVBQWM7QUFBQTs7QUFBZDs7O0VBQUEsZ0JBQWM7RUFBZCxTQUFjO0VBQWQsVUFBYztBQUFBOztBQUFkOztDQUFjO0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFVBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsZUFBYztBQUFBOztBQUFkOztDQUFjO0FB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QjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsNkJBQW1CO1VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFB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RUFDWiwwRUFBMEU7RUFDMUUsc0JBQXNCO0VBQ3RCLG1DQUFtQztBQUNyQztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRTtJQUNFLG1DQUFtQztFQUNyQztBQUNGO0FBQ0E7RUFDRTs7SUFFRSw4QkFBOEI7SUFDOUIsVUFBVTtFQUNaO0VBQ0E7O0lBRUUsUUFBUTtJQUNSLFlBQVk7RUFDZDtFQUNBO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RUFDWjtBQUNGO0FBQ0E7RUFDRTtJQUNFLFlBQVk7RUFDZDtBQUNGO0FBcGJBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsK0JDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLG1GQ0FBO0VEQUEsZ0dDQUE7RURBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxpRENBQTtJREFBLDJEQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLGdCQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBO0NBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHRhaWx3aW5kIGJhc2U7XFxuQHRhaWx3aW5kIGNvbXBvbmVudHM7XFxuQHRhaWx3aW5kIHV0aWxpdGllcztcXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5pbWFnZS1yb3VuZGVkLWxlZnQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWV2aW9sZXQ7XFxuICAtbXMtYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG5cIixudWxsXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/_app.fce5a199b1bc57a9.hot-update.js b/.next/static/webpack/pages/_app.fce5a199b1bc57a9.hot-update.js deleted file mode 100644 index 44c6aa4..0000000 --- a/.next/static/webpack/pages/_app.fce5a199b1bc57a9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/_app",{ - -/***/ "./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js */ \"./node_modules/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js\");\n/* harmony import */ var _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_next_dist_build_webpack_loaders_css_loader_src_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured `sans` font-family by default.\\n5. Use the user's configured `sans` font-feature-settings by default.\\n6. Use the user's configured `sans` font-variation-settings by default.\\n*/\\n\\nhtml {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured `mono` font family by default.\\n2. Correct the odd `em` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; /* 1 */\\n font-size: 1em; /* 2 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to `inherit` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden] {\\n display: none;\\n}\\n\\n*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.left-20 {\\n left: 5rem;\\n}\\n.left-60 {\\n left: 15rem;\\n}\\n.right-20 {\\n right: 5rem;\\n}\\n.right-60 {\\n right: 15rem;\\n}\\n.top-10 {\\n top: 2.5rem;\\n}\\n.top-40 {\\n top: 10rem;\\n}\\n.top-20 {\\n top: 5rem;\\n}\\n.m-0 {\\n margin: 0px;\\n}\\n.m-10 {\\n margin: 2.5rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mr-2 {\\n margin-right: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.mt-8 {\\n margin-top: 2rem;\\n}\\n.mt-10 {\\n margin-top: 2.5rem;\\n}\\n.mt-20 {\\n margin-top: 5rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.flex {\\n display: flex;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.max-w-3xl {\\n max-width: 48rem;\\n}\\n.max-w-screen-xl {\\n max-width: 1280px;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-sm {\\n max-width: 24rem;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-lg {\\n border-radius: 0.5rem;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.border-4 {\\n border-width: 4px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[black\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(0 0 0 / var(--tw-border-opacity));\\n}\\n.border-\\\\[yellow\\\\] {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 0 / var(--tw-border-opacity));\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\\n}\\n.border-gray-400 {\\n --tw-border-opacity: 1;\\n border-color: rgb(156 163 175 / var(--tw-border-opacity));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\\n}\\n.border-neutral-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(245 245 245 / var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#00F900\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 249 0 / var(--tw-bg-opacity));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\\n}\\n.bg-gray-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.bg-clip-text {\\n -webkit-background-clip: text;\\n background-clip: text;\\n}\\n.p-8 {\\n padding: 2rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-12 {\\n padding-left: 3rem;\\n padding-right: 3rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-32 {\\n padding-top: 8rem;\\n padding-bottom: 8rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.py-80 {\\n padding-top: 20rem;\\n padding-bottom: 20rem;\\n}\\n.px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-2\\\\.5 {\\n padding-top: 0.625rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-3xl {\\n font-size: 1.875rem;\\n line-height: 2.25rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-xl {\\n font-size: 1.25rem;\\n line-height: 1.75rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-extrabold {\\n font-weight: 800;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-normal {\\n font-weight: 400;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.leading-normal {\\n line-height: 1.5;\\n}\\n.leading-tight {\\n line-height: 1.25;\\n}\\n.tracking-tight {\\n letter-spacing: -0.025em;\\n}\\n.text-\\\\[\\\\#828282\\\\] {\\n --tw-text-opacity: 1;\\n color: rgb(130 130 130 / var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity));\\n}\\n.text-neutral-600 {\\n --tw-text-opacity: 1;\\n color: rgb(82 82 82 / var(--tw-text-opacity));\\n}\\n.text-neutral-800 {\\n --tw-text-opacity: 1;\\n color: rgb(38 38 38 / var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_2px_15px_-3px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.07\\\\)\\\\2c 0_10px_20px_-2px_rgba\\\\(0\\\\2c 0\\\\2c 0\\\\2c 0\\\\.04\\\\)\\\\] {\\n --tw-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);\\n --tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.shadow-\\\\[0_4px_9px_-4px_\\\\#3b71ca\\\\] {\\n --tw-shadow: 0 4px 9px -4px #3b71ca;\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-150 {\\n transition-duration: 150ms;\\n}\\n.ease-in-out {\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n border-radius: 30px;\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n border-radius: 30px;\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n.hover\\\\:bg-black:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-white:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-white:hover {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n}\\n.hover\\\\:text-black:hover {\\n --tw-text-opacity: 1;\\n color: rgb(0 0 0 / var(--tw-text-opacity));\\n}\\n.hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-0:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\\n}\\n.active\\\\:text-opacity-75:active {\\n --tw-text-opacity: 0.75;\\n}\\n.active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.3\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n@media (prefers-color-scheme: dark) {\\n\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:border-neutral-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(82 82 82 / var(--tw-border-opacity));\\n }\\n\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:bg-neutral-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 229 229 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:text-neutral-50 {\\n --tw-text-opacity: 1;\\n color: rgb(250 250 250 / var(--tw-text-opacity));\\n }\\n\\n .dark\\\\:shadow-\\\\[0_4px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.5\\\\)\\\\] {\\n --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5);\\n --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\\n }\\n\\n .dark\\\\:hover\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:hover {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:focus\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:focus {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n\\n .dark\\\\:active\\\\:shadow-\\\\[0_8px_9px_-4px_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.2\\\\)\\\\2c 0_4px_18px_0_rgba\\\\(59\\\\2c 113\\\\2c 202\\\\2c 0\\\\.1\\\\)\\\\]:active {\\n --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.2),0 4px 18px 0 rgba(59,113,202,0.1);\\n --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n }\\n}\\n@media (min-width: 640px) {\\n\\n .sm\\\\:block {\\n display: block;\\n }\\n\\n .sm\\\\:w-auto {\\n width: auto;\\n }\\n\\n .sm\\\\:text-5xl {\\n font-size: 3rem;\\n line-height: 1;\\n }\\n\\n .sm\\\\:text-xl\\\\/relaxed {\\n font-size: 1.25rem;\\n line-height: 1.625;\\n }\\n}\\n@media (min-width: 1024px) {\\n\\n .lg\\\\:order-2 {\\n order: 2;\\n }\\n\\n .lg\\\\:flex {\\n display: flex;\\n }\\n\\n .lg\\\\:h-screen {\\n height: 100vh;\\n }\\n\\n .lg\\\\:items-center {\\n align-items: center;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://styles/globals.css\",\"<no source>\"],\"names\":[],\"mappings\":\"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;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;EAAA,+BCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA,4GCAA;EDAA,0GCAA;EDAA;CCAA;ADAA;EAAA;CCAA;ADAA;EAAA,mFCAA;EDAA,gGCAA;EDAA;CCAA;ADAA;;EAAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,uBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,qBCAA;IDAA;GCAA;;EDAA;IAAA,iDCAA;IDAA,2DCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;;EDAA;IAAA,mFCAA;IDAA,gGCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA,gBCAA;IDAA;GCAA;;EDAA;IAAA,mBCAA;IDAA;GCAA;CAAA;ADAA;;EAAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;;EDAA;IAAA;GCAA;CAAA\",\"sourcesContent\":[\"@tailwind base;\\n@tailwind components;\\n@tailwind utilities;\\n\\nhtml,\\nbody {\\n padding: 0;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\\n Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\\n background: #ededed;\\n}\\n\\na {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.color {\\n color: #00f900;\\n}\\n\\n.image-rounded-right {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blue;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(45deg);\\n -moz-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n -o-transform: rotate(45deg);\\n transform: rotate(45deg);\\n overflow: hidden;\\n}\\n.image-rounded-left {\\n /* margin: 50px;\\n width: 150px;\\n height: 150px; */\\n border: 3px solid blueviolet;\\n -ms-border-radius: 10px;\\n border-radius: 30px;\\n -webkit-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n overflow: hidden;\\n}\\n\\n/* --------------------------------- */\\n/* ----------------------------------------- */\\n\\n.stars {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 120%;\\n transform: rotate(-45deg);\\n}\\n\\n.star {\\n --star-color: var(--primary-color);\\n --star-tail-length: 6em;\\n --star-tail-height: 2px;\\n --star-width: calc(var(--star-tail-length) / 6);\\n --fall-duration: 9s;\\n --tail-fade-duration: var(--fall-duration);\\n position: absolute;\\n top: var(--top-offset);\\n left: 0;\\n width: var(--star-tail-length);\\n height: var(--star-tail-height);\\n color: var(--star-color);\\n background: linear-gradient(45deg, currentColor, transparent);\\n border-radius: 50%;\\n filter: drop-shadow(0 0 6px currentColor);\\n transform: translate3d(104em, 0, 0);\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite,\\n tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite;\\n}\\n@media screen and (max-width: 750px) {\\n .star {\\n animation: fall var(--fall-duration) var(--fall-delay) linear infinite;\\n }\\n}\\n.star:nth-child(1) {\\n --star-tail-length: 7.16em;\\n --top-offset: 70.06vh;\\n --fall-duration: 6.334s;\\n --fall-delay: 7.151s;\\n}\\n.star:nth-child(2) {\\n --star-tail-length: 6.74em;\\n --top-offset: 82.07vh;\\n --fall-duration: 8.99s;\\n --fall-delay: 6.636s;\\n}\\n.star:nth-child(3) {\\n --star-tail-length: 6.16em;\\n --top-offset: 45.9vh;\\n --fall-duration: 8.586s;\\n --fall-delay: 8.705s;\\n}\\n.star:nth-child(4) {\\n --star-tail-length: 5.53em;\\n --top-offset: 22.89vh;\\n --fall-duration: 8s;\\n --fall-delay: 2.64s;\\n}\\n.star:nth-child(5) {\\n --star-tail-length: 5.04em;\\n --top-offset: 51.81vh;\\n --fall-duration: 6.117s;\\n --fall-delay: 1.359s;\\n}\\n.star:nth-child(6) {\\n --star-tail-length: 5.76em;\\n --top-offset: 61.49vh;\\n --fall-duration: 8.349s;\\n --fall-delay: 7.123s;\\n}\\n.star:nth-child(7) {\\n --star-tail-length: 5.2em;\\n --top-offset: 52.48vh;\\n --fall-duration: 10.511s;\\n --fall-delay: 0.382s;\\n}\\n.star:nth-child(8) {\\n --star-tail-length: 5.62em;\\n --top-offset: 59.35vh;\\n --fall-duration: 6.829s;\\n --fall-delay: 5.009s;\\n}\\n.star:nth-child(9) {\\n --star-tail-length: 5.13em;\\n --top-offset: 65.07vh;\\n --fall-duration: 10.294s;\\n --fall-delay: 8.907s;\\n}\\n.star:nth-child(10) {\\n --star-tail-length: 7.16em;\\n --top-offset: 64.52vh;\\n --fall-duration: 9.131s;\\n --fall-delay: 9.018s;\\n}\\n.star:nth-child(11) {\\n --star-tail-length: 7.16em;\\n --top-offset: 19.65vh;\\n --fall-duration: 8.752s;\\n --fall-delay: 4.719s;\\n}\\n.star:nth-child(12) {\\n --star-tail-length: 7.47em;\\n --top-offset: 17.82vh;\\n --fall-duration: 7.171s;\\n --fall-delay: 7.861s;\\n}\\n.star:nth-child(13) {\\n --star-tail-length: 7.07em;\\n --top-offset: 10.96vh;\\n --fall-duration: 9.869s;\\n --fall-delay: 2.894s;\\n}\\n.star:nth-child(14) {\\n --star-tail-length: 5.42em;\\n --top-offset: 35.3vh;\\n --fall-duration: 7.918s;\\n --fall-delay: 8.617s;\\n}\\n.star:nth-child(15) {\\n --star-tail-length: 5.45em;\\n --top-offset: 8.52vh;\\n --fall-duration: 7.997s;\\n --fall-delay: 2.502s;\\n}\\n.star:nth-child(16) {\\n --star-tail-length: 6.6em;\\n --top-offset: 57.07vh;\\n --fall-duration: 11.478s;\\n --fall-delay: 5.341s;\\n}\\n.star:nth-child(17) {\\n --star-tail-length: 5.69em;\\n --top-offset: 33.9vh;\\n --fall-duration: 6.54s;\\n --fall-delay: 7.974s;\\n}\\n.star:nth-child(18) {\\n --star-tail-length: 6.88em;\\n --top-offset: 94.03vh;\\n --fall-duration: 8.31s;\\n --fall-delay: 3.543s;\\n}\\n.star:nth-child(19) {\\n --star-tail-length: 5.31em;\\n --top-offset: 37.85vh;\\n --fall-duration: 8.82s;\\n --fall-delay: 7.883s;\\n}\\n.star:nth-child(20) {\\n --star-tail-length: 6.58em;\\n --top-offset: 87vh;\\n --fall-duration: 6.134s;\\n --fall-delay: 2.499s;\\n}\\n.star:nth-child(21) {\\n --star-tail-length: 5.64em;\\n --top-offset: 82.81vh;\\n --fall-duration: 10.958s;\\n --fall-delay: 0.482s;\\n}\\n.star:nth-child(22) {\\n --star-tail-length: 5.02em;\\n --top-offset: 87.33vh;\\n --fall-duration: 10.957s;\\n --fall-delay: 0.223s;\\n}\\n.star:nth-child(23) {\\n --star-tail-length: 7.29em;\\n --top-offset: 2.66vh;\\n --fall-duration: 7.23s;\\n --fall-delay: 6.513s;\\n}\\n.star:nth-child(24) {\\n --star-tail-length: 7.13em;\\n --top-offset: 48.92vh;\\n --fall-duration: 10.257s;\\n --fall-delay: 7.79s;\\n}\\n.star:nth-child(25) {\\n --star-tail-length: 5.9em;\\n --top-offset: 29.56vh;\\n --fall-duration: 10.027s;\\n --fall-delay: 5.262s;\\n}\\n.star:nth-child(26) {\\n --star-tail-length: 6.8em;\\n --top-offset: 20.88vh;\\n --fall-duration: 10.457s;\\n --fall-delay: 8.052s;\\n}\\n.star:nth-child(27) {\\n --star-tail-length: 6.69em;\\n --top-offset: 13.55vh;\\n --fall-duration: 11.561s;\\n --fall-delay: 3.85s;\\n}\\n.star:nth-child(28) {\\n --star-tail-length: 7.34em;\\n --top-offset: 17.42vh;\\n --fall-duration: 11.303s;\\n --fall-delay: 1.194s;\\n}\\n.star:nth-child(29) {\\n --star-tail-length: 5.09em;\\n --top-offset: 33.9vh;\\n --fall-duration: 11.823s;\\n --fall-delay: 3.565s;\\n}\\n.star:nth-child(30) {\\n --star-tail-length: 6.88em;\\n --top-offset: 67.32vh;\\n --fall-duration: 8.304s;\\n --fall-delay: 6.566s;\\n}\\n.star:nth-child(31) {\\n --star-tail-length: 5.2em;\\n --top-offset: 32.62vh;\\n --fall-duration: 6.389s;\\n --fall-delay: 0.428s;\\n}\\n.star:nth-child(32) {\\n --star-tail-length: 5.2em;\\n --top-offset: 99.73vh;\\n --fall-duration: 11.533s;\\n --fall-delay: 9.249s;\\n}\\n.star:nth-child(33) {\\n --star-tail-length: 6.11em;\\n --top-offset: 98.86vh;\\n --fall-duration: 6.363s;\\n --fall-delay: 9.875s;\\n}\\n.star:nth-child(34) {\\n --star-tail-length: 7.15em;\\n --top-offset: 16.84vh;\\n --fall-duration: 7.247s;\\n --fall-delay: 3.23s;\\n}\\n.star:nth-child(35) {\\n --star-tail-length: 5.48em;\\n --top-offset: 55.19vh;\\n --fall-duration: 9.149s;\\n --fall-delay: 2.88s;\\n}\\n.star:nth-child(36) {\\n --star-tail-length: 5.73em;\\n --top-offset: 90.06vh;\\n --fall-duration: 6.526s;\\n --fall-delay: 4.671s;\\n}\\n.star:nth-child(37) {\\n --star-tail-length: 5.59em;\\n --top-offset: 60.5vh;\\n --fall-duration: 6.626s;\\n --fall-delay: 4.478s;\\n}\\n.star:nth-child(38) {\\n --star-tail-length: 7.32em;\\n --top-offset: 25.57vh;\\n --fall-duration: 11.806s;\\n --fall-delay: 8.736s;\\n}\\n.star:nth-child(39) {\\n --star-tail-length: 6.94em;\\n --top-offset: 76.72vh;\\n --fall-duration: 9.523s;\\n --fall-delay: 2.173s;\\n}\\n.star:nth-child(40) {\\n --star-tail-length: 5.23em;\\n --top-offset: 33.83vh;\\n --fall-duration: 8.888s;\\n --fall-delay: 5.757s;\\n}\\n.star:nth-child(41) {\\n --star-tail-length: 7.12em;\\n --top-offset: 26.46vh;\\n --fall-duration: 8.158s;\\n --fall-delay: 0.16s;\\n}\\n.star:nth-child(42) {\\n --star-tail-length: 7.36em;\\n --top-offset: 11.83vh;\\n --fall-duration: 6.457s;\\n --fall-delay: 0.237s;\\n}\\n.star:nth-child(43) {\\n --star-tail-length: 5.35em;\\n --top-offset: 26.81vh;\\n --fall-duration: 8.624s;\\n --fall-delay: 7.85s;\\n}\\n.star:nth-child(44) {\\n --star-tail-length: 6.95em;\\n --top-offset: 36.02vh;\\n --fall-duration: 7.399s;\\n --fall-delay: 9.847s;\\n}\\n.star:nth-child(45) {\\n --star-tail-length: 6.09em;\\n --top-offset: 40.37vh;\\n --fall-duration: 10.395s;\\n --fall-delay: 9.4s;\\n}\\n.star:nth-child(46) {\\n --star-tail-length: 5.18em;\\n --top-offset: 37.23vh;\\n --fall-duration: 11.013s;\\n --fall-delay: 0.103s;\\n}\\n.star:nth-child(47) {\\n --star-tail-length: 6.96em;\\n --top-offset: 43.91vh;\\n --fall-duration: 6.873s;\\n --fall-delay: 7.061s;\\n}\\n.star:nth-child(48) {\\n --star-tail-length: 6.17em;\\n --top-offset: 61.79vh;\\n --fall-duration: 6.685s;\\n --fall-delay: 5.492s;\\n}\\n.star:nth-child(49) {\\n --star-tail-length: 6.19em;\\n --top-offset: 63.86vh;\\n --fall-duration: 9.658s;\\n --fall-delay: 7.719s;\\n}\\n.star:nth-child(50) {\\n --star-tail-length: 6.34em;\\n --top-offset: 77.5vh;\\n --fall-duration: 8.58s;\\n --fall-delay: 5.679s;\\n}\\n.star::before,\\n.star::after {\\n position: absolute;\\n content: \\\"\\\";\\n top: 0;\\n left: calc(var(--star-width) / -2);\\n width: var(--star-width);\\n height: 100%;\\n background: linear-gradient(45deg, transparent, currentColor, transparent);\\n border-radius: inherit;\\n animation: blink 2s linear infinite;\\n}\\n.star::before {\\n transform: rotate(45deg);\\n}\\n.star::after {\\n transform: rotate(-45deg);\\n}\\n\\n@keyframes fall {\\n to {\\n transform: translate3d(-30em, 0, 0);\\n }\\n}\\n@keyframes tail-fade {\\n 0%,\\n 50% {\\n width: var(--star-tail-length);\\n opacity: 1;\\n }\\n 70%,\\n 80% {\\n width: 0;\\n opacity: 0.4;\\n }\\n 100% {\\n width: 0;\\n opacity: 0;\\n }\\n}\\n@keyframes blink {\\n 50% {\\n opacity: 0.6;\\n }\\n}\\n\",null],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9jc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS5vbmVPZlsxM10udXNlWzFdIS4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzFdLm9uZU9mWzEzXS51c2VbMl0hLi9zdHlsZXMvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDd0g7QUFDeEgsOEJBQThCLGtIQUEyQjtBQUN6RDtBQUNBLDBYQUEwWCw0QkFBNEIsNEJBQTRCLGdDQUFnQyxrQ0FBa0MsVUFBVSx3QkFBd0IscUJBQXFCLEdBQUcscVlBQXFZLHNCQUFzQiwyQ0FBMkMsNkJBQTZCLDBCQUEwQixvQkFBb0IsdVBBQXVQLDBDQUEwQyw0Q0FBNEMsVUFBVSxnS0FBZ0ssZUFBZSxpQ0FBaUMsVUFBVSwyTkFBMk4sZUFBZSwyQkFBMkIsa0NBQWtDLFVBQVUsaUdBQWlHLDhDQUE4Qyw4Q0FBOEMsR0FBRyxrR0FBa0csdUJBQXVCLHlCQUF5QixHQUFHLGlGQUFpRixtQkFBbUIsNkJBQTZCLEdBQUcsMkVBQTJFLHdCQUF3QixHQUFHLDBKQUEwSix5SEFBeUgsMkJBQTJCLFVBQVUsaUVBQWlFLG1CQUFtQixHQUFHLDJHQUEyRyxtQkFBbUIsbUJBQW1CLHVCQUF1Qiw2QkFBNkIsR0FBRyxTQUFTLG9CQUFvQixHQUFHLFNBQVMsZ0JBQWdCLEdBQUcsZ2JBQWdiLG9CQUFvQixrQ0FBa0Msc0NBQXNDLFVBQVUsa01BQWtNLDBCQUEwQiwyQ0FBMkMsNkNBQTZDLDRCQUE0QixpQ0FBaUMsaUNBQWlDLDJCQUEyQixzQkFBc0IsdUJBQXVCLFVBQVUsOEZBQThGLHlCQUF5QixHQUFHLG1MQUFtTCxnQ0FBZ0MsMENBQTBDLG1DQUFtQyxVQUFVLCtGQUErRixrQkFBa0IsR0FBRywr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LDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsd0JBQXdCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLDhCQUE4QiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1Qiw4QkFBOEIsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQix5QkFBeUIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDZCQUE2Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix3QkFBd0IsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNEJBQTRCLHdCQUF3QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw2QkFBNkIsdUJBQXVCLEdBQUcsdUJBQXVCLCtCQUErQiwwQkFBMEIsNkJBQTZCLHlCQUF5QixHQUFHLHVCQUF1QiwrQkFBK0IsMEJBQTBCLDRCQUE0Qix5QkFBeUIsR0FBRyx1QkFBdUIsK0JBQStCLDBCQUEwQiw0QkFBNEIseUJBQXlCLEdBQUcs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QUFxQixvQkFBb0Isb0JBQW9CLG9CQUFvQixNQUFNLE1BQU0sTUFBTSxNQUFNLFdBQVcsTUFBTSxPQUFPLE1BQU0sUUFBUSxxQkFBcUIscUJBQXFCLHFCQUFxQixNQUFNLE1BQU0sTUFBTSxLQUFLLFVBQVUsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE1BQU0sTUFBTSxNQUFNLFVBQVUsTUFBTSxPQUFPLE1BQU0sS0FBSyxxQkFBcUIscUJBQXFCLE1BQU0sTUFBTSxNQUFNLEtBQUssV0FBVyxNQUFNLE9BQU8sTUFBTSxLQUFLLHFCQUFxQixvQkFBb0IsTUFBTSxNQUFNLE1BQU0sS0FBSyxXQUFXLE1BQU0sTUFBTSxNQUFNLGlCQUFpQixVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxPQUFPLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLEtBQUssVUFBVSxNQUFNLE1BQU0sTUFBTSxLQUFLLFdBQVcsTUFBTSxPQUFPLE1BQU0sS0FBSyxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxvQkFBb0Isb0JBQW9CLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsTUFBTSxRQUFRLE1BQU0sWUFBWSxvQkFBb0IscUJBQXFCLE1BQU0sTUFBTSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sV0FBVyxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sWUFBWSxNQUFNLE1BQU0sTUFBTSxZQUFZLE1BQU0sTUFBTSxNQUFNLFlBQVksTUFBTSxNQUFNLE1BQU0sS0FBSyxNQUFNLE1BQU0sWUFBWSxhQUFhLE1BQU0sTUFBTSxNQUFNLFlBQVksYUFBYSxNQUFNLE1BQU0sTUFBTSxZQUFZLGFBQWEsTUFBTSxNQUFNLE1BQU0sWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLE9BQU8sT0FBTyxVQUFVLFVBQVUsS0FBSyxPQUFPLGFBQWEsT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssTUFBTSxPQUFPLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxLQUFLLE1BQU0sT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxjQUFjLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksTUFBTSxLQUFLLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxNQUFNLE1BQU0sWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsWUFBWSxhQUFhLGFBQWEsTUFBTSxLQUFLLFlBQVksTUFBTSxLQUFLLFlBQVksT0FBTyxLQUFLLEtBQUssWUFBWSxNQUFNLEtBQUssS0FBSyxNQUFNLFlBQVksV0FBVyxLQUFLLE1BQU0sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxNQUFNLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLEtBQUssV0FBVyxXQUFXLEtBQUssS0FBSyxLQUFLLFdBQVcsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxNQUFNLEtBQUssV0FBVyxXQUFXLEtBQUssTUFBTSxLQUFLLFdBQVcsV0FBVyxLQUFLLE1BQU0sS0FBSyxXQUFXLFdBQVcsS0FBSyxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLFdBQVcsS0FBSyxN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QkFBZ0IsOEJBQThCLEdBQUcscUJBQXFCLFFBQVEsMENBQTBDLEtBQUssR0FBRyx3QkFBd0IsZ0JBQWdCLHFDQUFxQyxpQkFBaUIsS0FBSyxpQkFBaUIsZUFBZSxtQkFBbUIsS0FBSyxVQUFVLGVBQWUsaUJBQWlCLEtBQUssR0FBRyxvQkFBb0IsU0FBUyxtQkFBbUIsS0FBSyxHQUFHLDBCQUEwQjtBQUN4OG1EO0FBQ0EsK0RBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3R5bGVzL2dsb2JhbHMuY3NzPzA0ZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvY3NzLWxvYWRlci9zcmMvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyh0cnVlKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuISB0YWlsd2luZGNzcyB2My4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tXFxuKi8vKlxcbjEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzQpXFxuMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTYpXFxuKi9cXG5cXG4qLFxcbjo6YmVmb3JlLFxcbjo6YWZ0ZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xcbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXFxuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXFxuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7IC8qIDIgKi9cXG59XFxuXFxuOjpiZWZvcmUsXFxuOjphZnRlciB7XFxuICAtLXR3LWNvbnRlbnQ6ICcnO1xcbn1cXG5cXG4vKlxcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxcbjMuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUuXFxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cXG41LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYnkgZGVmYXVsdC5cXG42LiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxcbiovXFxuXFxuaHRtbCB7XFxuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIC1vLXRhYi1zaXplOiA0O1xcbiAgICAgdGFiLXNpemU6IDQ7IC8qIDMgKi9cXG4gIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgXFxcIk5vdG8gU2Fuc1xcXCIsIHNhbnMtc2VyaWYsIFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBFbW9qaVxcXCIsIFxcXCJTZWdvZSBVSSBTeW1ib2xcXFwiLCBcXFwiTm90byBDb2xvciBFbW9qaVxcXCI7IC8qIDQgKi9cXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOyAvKiA1ICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsOyAvKiA2ICovXFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxcbjIuIEluaGVyaXQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxcbiovXFxuXFxuYm9keSB7XFxuICBtYXJnaW46IDA7IC8qIDEgKi9cXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxcbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxcbjMuIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG5ociB7XFxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5BZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmFiYnI6d2hlcmUoW3RpdGxlXSkge1xcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGRlZmF1bHQgZm9udCBzaXplIGFuZCB3ZWlnaHQgZm9yIGhlYWRpbmdzLlxcbiovXFxuXFxuaDEsXFxuaDIsXFxuaDMsXFxuaDQsXFxuaDUsXFxuaDYge1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuUmVzZXQgbGlua3MgdG8gb3B0aW1pemUgZm9yIG9wdC1pbiBzdHlsaW5nIGluc3RlYWQgb2Ygb3B0LW91dC5cXG4qL1xcblxcbmEge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cXG4qL1xcblxcbmIsXFxuc3Ryb25nIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XFxufVxcblxcbi8qXFxuMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgbW9ub2AgZm9udCBmYW1pbHkgYnkgZGVmYXVsdC5cXG4yLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5jb2RlLFxcbmtiZCxcXG5zYW1wLFxcbnByZSB7XFxuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFxcXCJMaWJlcmF0aW9uIE1vbm9cXFwiLCBcXFwiQ291cmllciBOZXdcXFwiLCBtb25vc3BhY2U7IC8qIDEgKi9cXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXFxuKi9cXG5cXG5zbWFsbCB7XFxuICBmb250LXNpemU6IDgwJTtcXG59XFxuXFxuLypcXG5QcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuc3ViLFxcbnN1cCB7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG5zdWIge1xcbiAgYm90dG9tOiAtMC4yNWVtO1xcbn1cXG5cXG5zdXAge1xcbiAgdG9wOiAtMC41ZW07XFxufVxcblxcbi8qXFxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXFxuMy4gUmVtb3ZlIGdhcHMgYmV0d2VlbiB0YWJsZSBib3JkZXJzIGJ5IGRlZmF1bHQuXFxuKi9cXG5cXG50YWJsZSB7XFxuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXFxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAzICovXFxufVxcblxcbi8qXFxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXFxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxcbjMuIFJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxcbiovXFxuXFxuYnV0dG9uLFxcbmlucHV0LFxcbm9wdGdyb3VwLFxcbnNlbGVjdCxcXG50ZXh0YXJlYSB7XFxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXFxuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDsgLyogMSAqL1xcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXFxuICBmb250LXdlaWdodDogaW5oZXJpdDsgLyogMSAqL1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKi9cXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXFxuICBtYXJnaW46IDA7IC8qIDIgKi9cXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXFxuKi9cXG5cXG5idXR0b24sXFxuc2VsZWN0IHtcXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXFxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cXG4qL1xcblxcbmJ1dHRvbixcXG5bdHlwZT0nYnV0dG9uJ10sXFxuW3R5cGU9J3Jlc2V0J10sXFxuW3R5cGU9J3N1Ym1pdCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblVzZSB0aGUgbW9kZXJuIEZpcmVmb3ggZm9jdXMgc3R5bGUgZm9yIGFsbCBmb2N1c2FibGUgZWxlbWVudHMuXFxuKi9cXG5cXG46LW1vei1mb2N1c3Jpbmcge1xcbiAgb3V0bGluZTogYXV0bztcXG59XFxuXFxuLypcXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxcbiovXFxuXFxuOi1tb3otdWktaW52YWxpZCB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5cXG4vKlxcbkFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lIGFuZCBGaXJlZm94LlxcbiovXFxuXFxucHJvZ3Jlc3Mge1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbn1cXG5cXG4vKlxcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cXG4qL1xcblxcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG4vKlxcbjEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxcbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxcbiovXFxuXFxuW3R5cGU9J3NlYXJjaCddIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXFxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cXG4qL1xcblxcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxufVxcblxcbi8qXFxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXFxuKi9cXG5cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXFxuICBmb250OiBpbmhlcml0OyAvKiAyICovXFxufVxcblxcbi8qXFxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXFxuKi9cXG5cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG59XFxuXFxuLypcXG5SZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXFxuKi9cXG5cXG5ibG9ja3F1b3RlLFxcbmRsLFxcbmRkLFxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2LFxcbmhyLFxcbmZpZ3VyZSxcXG5wLFxcbnByZSB7XFxuICBtYXJnaW46IDA7XFxufVxcblxcbmZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcblxcbmxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG5vbCxcXG51bCxcXG5tZW51IHtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblJlc2V0IGRlZmF1bHQgc3R5bGluZyBmb3IgZGlhbG9ncy5cXG4qL1xcbmRpYWxvZyB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG5cXG4vKlxcblByZXZlbnQgcmVzaXppbmcgdGV4dGFyZWFzIGhvcml6b250YWxseSBieSBkZWZhdWx0LlxcbiovXFxuXFxudGV4dGFyZWEge1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcXG59XFxuXFxuLypcXG4xLiBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxcbjIuIFNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBjb2xvciB0byB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgZ3JheSA0MDAgY29sb3IuXFxuKi9cXG5cXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xcbiAgY29sb3I6ICM5Y2EzYWY7IC8qIDIgKi9cXG59XFxuXFxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XFxuICBvcGFjaXR5OiAxOyAvKiAxICovXFxuICBjb2xvcjogIzljYTNhZjsgLyogMiAqL1xcbn1cXG5cXG4vKlxcblNldCB0aGUgZGVmYXVsdCBjdXJzb3IgZm9yIGJ1dHRvbnMuXFxuKi9cXG5cXG5idXR0b24sXFxuW3JvbGU9XFxcImJ1dHRvblxcXCJdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuXFxuLypcXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxcbiovXFxuOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXFxuLypcXG4xLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXFxuMi4gQWRkIGB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlYCB0byBhbGlnbiByZXBsYWNlZCBlbGVtZW50cyBtb3JlIHNlbnNpYmx5IGJ5IGRlZmF1bHQuIChodHRwczovL2dpdGh1Yi5jb20vamVuc2ltbW9ucy9jc3NyZW1lZHkvaXNzdWVzLzE0I2lzc3VlY29tbWVudC02MzQ5MzQyMTApXFxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxcbiovXFxuXFxuaW1nLFxcbnN2ZyxcXG52aWRlbyxcXG5jYW52YXMsXFxuYXVkaW8sXFxuaWZyYW1lLFxcbmVtYmVkLFxcbm9iamVjdCB7XFxuICBkaXNwbGF5OiBibG9jazsgLyogMSAqL1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xcbn1cXG5cXG4vKlxcbkNvbnN0cmFpbiBpbWFnZXMgYW5kIHZpZGVvcyB0byB0aGUgcGFyZW50IHdpZHRoIGFuZCBwcmVzZXJ2ZSB0aGVpciBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcXG4qL1xcblxcbmltZyxcXG52aWRlbyB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxufVxcblxcbi8qIE1ha2UgZWxlbWVudHMgd2l0aCB0aGUgSFRNTCBoaWRkZW4gYXR0cmlidXRlIHN0YXkgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4qLCA6OmJlZm9yZSwgOjphZnRlciB7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7XFxuICAtLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xcbiAgLS10dy10cmFuc2xhdGUteTogMDtcXG4gIC0tdHctcm90YXRlOiAwO1xcbiAgLS10dy1za2V3LXg6IDA7XFxuICAtLXR3LXNrZXcteTogMDtcXG4gIC0tdHctc2NhbGUteDogMTtcXG4gIC0tdHctc2NhbGUteTogMTtcXG4gIC0tdHctcGFuLXg6ICA7XFxuICAtLXR3LXBhbi15OiAgO1xcbiAgLS10dy1waW5jaC16b29tOiAgO1xcbiAgLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7XFxuICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246ICA7XFxuICAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246ICA7XFxuICAtLXR3LW9yZGluYWw6ICA7XFxuICAtLXR3LXNsYXNoZWQtemVybzogIDtcXG4gIC0tdHctbnVtZXJpYy1maWd1cmU6ICA7XFxuICAtLXR3LW51bWVyaWMtc3BhY2luZzogIDtcXG4gIC0tdHctbnVtZXJpYy1mcmFjdGlvbjogIDtcXG4gIC0tdHctcmluZy1pbnNldDogIDtcXG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcXG4gIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XFxuICAtLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gMC41KTtcXG4gIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdzogMCAwICMwMDAwO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO1xcbiAgLS10dy1ibHVyOiAgO1xcbiAgLS10dy1icmlnaHRuZXNzOiAgO1xcbiAgLS10dy1jb250cmFzdDogIDtcXG4gIC0tdHctZ3JheXNjYWxlOiAgO1xcbiAgLS10dy1odWUtcm90YXRlOiAgO1xcbiAgLS10dy1pbnZlcnQ6ICA7XFxuICAtLXR3LXNhdHVyYXRlOiAgO1xcbiAgLS10dy1zZXBpYTogIDtcXG4gIC0tdHctZHJvcC1zaGFkb3c6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJsdXI6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWludmVydDogIDtcXG4gIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6ICA7XFxuICAtLXR3LWJhY2tkcm9wLXNlcGlhOiAgO1xcbn1cXG5cXG46OmJhY2tkcm9wIHtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDtcXG4gIC0tdHctYm9yZGVyLXNwYWNpbmcteTogMDtcXG4gIC0tdHctdHJhbnNsYXRlLXg6IDA7XFxuICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xcbiAgLS10dy1yb3RhdGU6IDA7XFxuICAtLXR3LXNrZXcteDogMDtcXG4gIC0tdHctc2tldy15OiAwO1xcbiAgLS10dy1zY2FsZS14OiAxO1xcbiAgLS10dy1zY2FsZS15OiAxO1xcbiAgLS10dy1wYW4teDogIDtcXG4gIC0tdHctcGFuLXk6ICA7XFxuICAtLXR3LXBpbmNoLXpvb206ICA7XFxuICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTtcXG4gIC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogIDtcXG4gIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiAgO1xcbiAgLS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogIDtcXG4gIC0tdHctb3JkaW5hbDogIDtcXG4gIC0tdHctc2xhc2hlZC16ZXJvOiAgO1xcbiAgLS10dy1udW1lcmljLWZpZ3VyZTogIDtcXG4gIC0tdHctbnVtZXJpYy1zcGFjaW5nOiAgO1xcbiAgLS10dy1udW1lcmljLWZyYWN0aW9uOiAgO1xcbiAgLS10dy1yaW5nLWluc2V0OiAgO1xcbiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4O1xcbiAgLS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjtcXG4gIC0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAwLjUpO1xcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcXG4gIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7XFxuICAtLXR3LWJsdXI6ICA7XFxuICAtLXR3LWJyaWdodG5lc3M6ICA7XFxuICAtLXR3LWNvbnRyYXN0OiAgO1xcbiAgLS10dy1ncmF5c2NhbGU6ICA7XFxuICAtLXR3LWh1ZS1yb3RhdGU6ICA7XFxuICAtLXR3LWludmVydDogIDtcXG4gIC0tdHctc2F0dXJhdGU6ICA7XFxuICAtLXR3LXNlcGlhOiAgO1xcbiAgLS10dy1kcm9wLXNoYWRvdzogIDtcXG4gIC0tdHctYmFja2Ryb3AtYmx1cjogIDtcXG4gIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogIDtcXG4gIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6ICA7XFxuICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiAgO1xcbiAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogIDtcXG4gIC0tdHctYmFja2Ryb3Atc2VwaWE6ICA7XFxufVxcbi5hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5sZWZ0LTIwIHtcXG4gIGxlZnQ6IDVyZW07XFxufVxcbi5sZWZ0LTYwIHtcXG4gIGxlZnQ6IDE1cmVtO1xcbn1cXG4ucmlnaHQtMjAge1xcbiAgcmlnaHQ6IDVyZW07XFxufVxcbi5yaWdodC02MCB7XFxuICByaWdodDogMTVyZW07XFxufVxcbi50b3AtMTAge1xcbiAgdG9wOiAyLjVyZW07XFxufVxcbi50b3AtNDAge1xcbiAgdG9wOiAxMHJlbTtcXG59XFxuLnRvcC0yMCB7XFxuICB0b3A6IDVyZW07XFxufVxcbi5tLTAge1xcbiAgbWFyZ2luOiAwcHg7XFxufVxcbi5tLTEwIHtcXG4gIG1hcmdpbjogMi41cmVtO1xcbn1cXG4ubXgtYXV0byB7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG59XFxuLm1yLTIge1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XFxufVxcbi5tdC00IHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxufVxcbi5tdC04IHtcXG4gIG1hcmdpbi10b3A6IDJyZW07XFxufVxcbi5tdC0xMCB7XFxuICBtYXJnaW4tdG9wOiAyLjVyZW07XFxufVxcbi5tdC0yMCB7XFxuICBtYXJnaW4tdG9wOiA1cmVtO1xcbn1cXG4ubWItMiB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcbi5tYi00IHtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XFxufVxcbi5ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmlubGluZS1ibG9jayB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5mbGV4IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5oLTYge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxufVxcbi53LTYge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG59XFxuLnctZnVsbCB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLm1heC13LTN4bCB7XFxuICBtYXgtd2lkdGg6IDQ4cmVtO1xcbn1cXG4ubWF4LXctc2NyZWVuLXhsIHtcXG4gIG1heC13aWR0aDogMTI4MHB4O1xcbn1cXG4ubWF4LXcteGwge1xcbiAgbWF4LXdpZHRoOiAzNnJlbTtcXG59XFxuLm1heC13LXNtIHtcXG4gIG1heC13aWR0aDogMjRyZW07XFxufVxcbi5mbGV4LXdyYXAge1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbn1cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLnJvdW5kZWQtM3hsIHtcXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcXG59XFxuLnJvdW5kZWQtbGcge1xcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xcbn1cXG4ucm91bmRlZCB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbn1cXG4uYm9yZGVyLTQge1xcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XFxufVxcbi5ib3JkZXIge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxufVxcbi5ib3JkZXItYi0yIHtcXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcXG59XFxuLmJvcmRlci1cXFxcW2JsYWNrXFxcXF0ge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1cXFxcW3llbGxvd1xcXFxdIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigyNTUgMjU1IDAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWJsdWUtNjAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigzNyA5OSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYm9yZGVyLWdyYXktNDAwIHtcXG4gIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICBib3JkZXItY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxufVxcbi5ib3JkZXItZ3JheS0yMDAge1xcbiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG59XFxuLmJvcmRlci1uZXV0cmFsLTEwMCB7XFxuICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjQ1IDI0NSAyNDUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpO1xcbn1cXG4uYmctXFxcXFtcXFxcIzAwRjkwMFxcXFxdIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDI0OSAwIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uYmctZ3JheS01MCB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5iZy1ibHVlLTUwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkgMjQ2IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWdyYXktNDAwIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLXdoaXRlIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmJnLWNsaXAtdGV4dCB7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xcbn1cXG4ucC04IHtcXG4gIHBhZGRpbmc6IDJyZW07XFxufVxcbi5wLTYge1xcbiAgcGFkZGluZzogMS41cmVtO1xcbn1cXG4ucHgtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcXG59XFxuLnB4LTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcXG59XFxuLnB4LTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcXG59XFxuLnB5LTMge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG59XFxuLnB5LTMyIHtcXG4gIHBhZGRpbmctdG9wOiA4cmVtO1xcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XFxufVxcbi5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5weS04MCB7XFxuICBwYWRkaW5nLXRvcDogMjByZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XFxufVxcbi5weC02IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xcbn1cXG4ucGItMiB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xcbn1cXG4ucHQtMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xcbn1cXG4ucHQtMlxcXFwuNSB7XFxuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XFxufVxcbi50ZXh0LWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi50ZXh0LTJ4bCB7XFxuICBmb250LXNpemU6IDEuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xcbn1cXG4udGV4dC0zeGwge1xcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xcbn1cXG4udGV4dC1zbSB7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XFxufVxcbi50ZXh0LWJhc2Uge1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcXG59XFxuLnRleHQteGwge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XFxufVxcbi50ZXh0LXhzIHtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xcbn1cXG4uZm9udC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5mb250LWV4dHJhYm9sZCB7XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4uZm9udC1tZWRpdW0ge1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuLmZvbnQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi51cHBlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcXG59XFxuLmxlYWRpbmctbm9ybWFsIHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxufVxcbi5sZWFkaW5nLXRpZ2h0IHtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbn1cXG4udHJhY2tpbmctdGlnaHQge1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xcbn1cXG4udGV4dC1cXFxcW1xcXFwjODI4MjgyXFxcXF0ge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDEzMCAxMzAgMTMwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWJsYWNrIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTQwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtd2hpdGUge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LWdyYXktNzAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udGV4dC1ncmF5LTkwMCB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLnRleHQtbmV1dHJhbC02MDAge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDgyIDgyIDgyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi50ZXh0LW5ldXRyYWwtODAwIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgY29sb3I6IHJnYigzOCAzOCAzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbn1cXG4udW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XFxufVxcbi5zaGFkb3cge1xcbiAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfMnB4XzE1cHhfLTNweF9yZ2JhXFxcXCgwXFxcXDJjIDBcXFxcMmMgMFxcXFwyYyAwXFxcXC4wN1xcXFwpXFxcXDJjIDBfMTBweF8yMHB4Xy0ycHhfcmdiYVxcXFwoMFxcXFwyYyAwXFxcXDJjIDBcXFxcMmMgMFxcXFwuMDRcXFxcKVxcXFxdIHtcXG4gIC0tdHctc2hhZG93OiAwIDJweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwwLjA3KSwwIDEwcHggMjBweCAtMnB4IHJnYmEoMCwwLDAsMC4wNCk7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDJweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCAxMHB4IDIwcHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnNoYWRvdy1cXFxcWzBfNHB4XzlweF8tNHB4X1xcXFwjM2I3MWNhXFxcXF0ge1xcbiAgLS10dy1zaGFkb3c6IDAgNHB4IDlweCAtNHB4ICMzYjcxY2E7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDRweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuLnRyYW5zaXRpb24ge1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjtcXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIGZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmR1cmF0aW9uLTE1MCB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcXG59XFxuLmVhc2UtaW4tb3V0IHtcXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xcbn1cXG5cXG5odG1sLFxcbmJvZHkge1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbixcXG4gICAgVWJ1bnR1LCBDYW50YXJlbGwsIEZpcmEgU2FucywgRHJvaWQgU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XFxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb2xvciB7XFxuICBjb2xvcjogIzAwZjkwMDtcXG59XFxuXFxuLmltYWdlLXJvdW5kZWQtcmlnaHQge1xcbiAgLyogbWFyZ2luOiA1MHB4O1xcbiAgd2lkdGg6IDE1MHB4O1xcbiAgaGVpZ2h0OiAxNTBweDsgKi9cXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsdWU7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmltYWdlLXJvdW5kZWQtbGVmdCB7XFxuICAvKiBtYXJnaW46IDUwcHg7XFxuICB3aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE1MHB4OyAqL1xcbiAgYm9yZGVyOiAzcHggc29saWQgYmx1ZXZpb2xldDtcXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cXG5cXG4uc3RhcnMge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMjAlO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG59XFxuXFxuLnN0YXIge1xcbiAgLS1zdGFyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNmVtO1xcbiAgLS1zdGFyLXRhaWwtaGVpZ2h0OiAycHg7XFxuICAtLXN0YXItd2lkdGg6IGNhbGModmFyKC0tc3Rhci10YWlsLWxlbmd0aCkgLyA2KTtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOXM7XFxuICAtLXRhaWwtZmFkZS1kdXJhdGlvbjogdmFyKC0tZmFsbC1kdXJhdGlvbik7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gIGhlaWdodDogdmFyKC0tc3Rhci10YWlsLWhlaWdodCk7XFxuICBjb2xvcjogdmFyKC0tc3Rhci1jb2xvcik7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNnB4IGN1cnJlbnRDb2xvcik7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNGVtLCAwLCAwKTtcXG4gIGFuaW1hdGlvbjogZmFsbCB2YXIoLS1mYWxsLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBsaW5lYXIgaW5maW5pdGUsXFxuICAgIHRhaWwtZmFkZSB2YXIoLS10YWlsLWZhZGUtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGVhc2Utb3V0IGluZmluaXRlO1xcbn1cXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgLnN0YXIge1xcbiAgICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlO1xcbiAgfVxcbn1cXG4uc3RhcjpudGgtY2hpbGQoMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDcwLjA2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzM0cztcXG4gIC0tZmFsbC1kZWxheTogNy4xNTFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljc0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjYzNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDUuOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4NnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzA1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS41M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMi44OXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4cztcXG4gIC0tZmFsbC1kZWxheTogMi42NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDRlbTtcXG4gIC0tdG9wLW9mZnNldDogNTEuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjM1OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNDl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjEyM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Mi40OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC41MTFzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjM4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTkuMzV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44MjlzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjAwOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMTNlbTtcXG4gIC0tdG9wLW9mZnNldDogNjUuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMjk0cztcXG4gIC0tZmFsbC1kZWxheTogOC45MDdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2NC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjEzMXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuMDE4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDExKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogMTkuNjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC43NTJzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjcxOXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjQ3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE3Ljgydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMTcxcztcXG4gIC0tZmFsbC1kZWxheTogNy44NjFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4wN2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMC45NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5Ljg2OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODk0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzUuM3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjkxOHM7XFxuICAtLWZhbGwtZGVsYXk6IDguNjE3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDVlbTtcXG4gIC0tdG9wLW9mZnNldDogOC41MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3Ljk5N3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuNTAycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1Ny4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS40NzhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjM0MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41NHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuOTc0cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogOTQuMDN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTQzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDE5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzFlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuODV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44MnM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODgzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuNThlbTtcXG4gIC0tdG9wLW9mZnNldDogODd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4xMzRzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjQ5OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjY0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDgyLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDgycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMDJlbTtcXG4gIC0tdG9wLW9mZnNldDogODcuMzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuOTU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4yOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyLjY2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDcuMjNzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjUxM3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ4Ljkydmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS45ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI5LjU2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjAyN3M7XFxuICAtLWZhbGwtZGVsYXk6IDUuMjYycztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyMC44OHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC40NTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjA1MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjY5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDEzLjU1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjU2MXM7XFxuICAtLWZhbGwtZGVsYXk6IDMuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjgpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy40MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS4zMDNzO1xcbiAgLS1mYWxsLWRlbGF5OiAxLjE5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODIzcztcXG4gIC0tZmFsbC1kZWxheTogMy41NjVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi44OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2Ny4zMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjMwNHM7XFxuICAtLWZhbGwtZGVsYXk6IDYuNTY2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMxKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMi42MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM4OXM7XFxuICAtLWZhbGwtZGVsYXk6IDAuNDI4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMyKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OS43M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41MzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjI0OXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjExZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk4Ljg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMzYzcztcXG4gIC0tZmFsbC1kZWxheTogOS44NzVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNi44NHZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjI0N3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzUpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS40OGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA1NS4xOXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjE0OXM7XFxuICAtLWZhbGwtZGVsYXk6IDIuODhzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzYpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS43M2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA5MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjUyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNjcxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTllbTtcXG4gIC0tdG9wLW9mZnNldDogNjAuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjYyNnM7XFxuICAtLWZhbGwtZGVsYXk6IDQuNDc4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzJlbTtcXG4gIC0tdG9wLW9mZnNldDogMjUuNTd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuODA2cztcXG4gIC0tZmFsbC1kZWxheTogOC43MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ni43MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjUyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDIuMTczcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMjNlbTtcXG4gIC0tdG9wLW9mZnNldDogMzMuODN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC44ODhzO1xcbiAgLS1mYWxsLWRlbGF5OiA1Ljc1N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjEyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI2LjQ2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMTU4cztcXG4gIC0tZmFsbC1kZWxheTogMC4xNnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Mikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjM2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDExLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogMC4yMzdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4zNWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjYyNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODVzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzNi4wMnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjM5OXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuODQ3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMDllbTtcXG4gIC0tdG9wLW9mZnNldDogNDAuMzd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuMzk1cztcXG4gIC0tZmFsbC1kZWxheTogOS40cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMThlbTtcXG4gIC0tdG9wLW9mZnNldDogMzcuMjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMDEzcztcXG4gIC0tZmFsbC1kZWxheTogMC4xMDNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi45NmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA0My45MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2Ljg3M3M7XFxuICAtLWZhbGwtZGVsYXk6IDcuMDYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMTdlbTtcXG4gIC0tdG9wLW9mZnNldDogNjEuNzl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42ODVzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjQ5MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYzLjg2dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDkuNjU4cztcXG4gIC0tZmFsbC1kZWxheTogNy43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNTApIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4zNGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3Ny41dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNThzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjY3OXM7XFxufVxcbi5zdGFyOjpiZWZvcmUsXFxuLnN0YXI6OmFmdGVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogY2FsYyh2YXIoLS1zdGFyLXdpZHRoKSAvIC0yKTtcXG4gIHdpZHRoOiB2YXIoLS1zdGFyLXdpZHRoKTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpO1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gIGFuaW1hdGlvbjogYmxpbmsgMnMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uc3Rhcjo6YmVmb3JlIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuLnN0YXI6OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbkBrZXlmcmFtZXMgZmFsbCB7XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwZW0sIDAsIDApO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIHRhaWwtZmFkZSB7XFxuICAwJSxcXG4gIDUwJSB7XFxuICAgIHdpZHRoOiB2YXIoLS1zdGFyLXRhaWwtbGVuZ3RoKTtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG4gIDcwJSxcXG4gIDgwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICB9XFxuICAxMDAlIHtcXG4gICAgd2lkdGg6IDA7XFxuICAgIG9wYWNpdHk6IDA7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgYmxpbmsge1xcbiAgNTAlIHtcXG4gICAgb3BhY2l0eTogMC42O1xcbiAgfVxcbn1cXG4uaG92ZXJcXFxcOmJnLWJsYWNrOmhvdmVyIHtcXG4gIC0tdHctYmctb3BhY2l0eTogMTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpiZy13aGl0ZTpob3ZlciB7XFxuICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6YmctZ3JheS0xMDA6aG92ZXIge1xcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbn1cXG4uaG92ZXJcXFxcOnRleHQtd2hpdGU6aG92ZXIge1xcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XFxuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxufVxcbi5ob3ZlclxcXFw6dGV4dC1ibGFjazpob3ZlciB7XFxuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gIGNvbG9yOiByZ2IoMCAwIDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTtcXG59XFxuLmhvdmVyXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTpob3ZlciB7XFxuICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMyksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjIpO1xcbiAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggMThweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbn1cXG4uZm9jdXNcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuM1xcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjJcXFxcKVxcXFxdOmZvY3VzIHtcXG4gIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4zKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMik7XFxuICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdyk7XFxufVxcbi5mb2N1c1xcXFw6b3V0bGluZS1ub25lOmZvY3VzIHtcXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XFxufVxcbi5mb2N1c1xcXFw6cmluZzpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uZm9jdXNcXFxcOnJpbmctMDpmb2N1cyB7XFxuICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTtcXG4gIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApO1xcbn1cXG4uYWN0aXZlXFxcXDp0ZXh0LW9wYWNpdHktNzU6YWN0aXZlIHtcXG4gIC0tdHctdGV4dC1vcGFjaXR5OiAwLjc1O1xcbn1cXG4uYWN0aXZlXFxcXDpzaGFkb3ctXFxcXFswXzhweF85cHhfLTRweF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjNcXFxcKVxcXFwyYyAwXzRweF8xOHB4XzBfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcXTphY3RpdmUge1xcbiAgLS10dy1zaGFkb3c6IDAgOHB4IDlweCAtNHB4IHJnYmEoNTksMTEzLDIwMiwwLjMpLDAgNHB4IDE4cHggMCByZ2JhKDU5LDExMywyMDIsMC4yKTtcXG4gIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcblxcbiAgLmRhcmtcXFxcOmJvcmRlci1ncmF5LTcwMCB7XFxuICAgIC0tdHctYm9yZGVyLW9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1jb2xvcjogcmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpib3JkZXItbmV1dHJhbC02MDAge1xcbiAgICAtLXR3LWJvcmRlci1vcGFjaXR5OiAxO1xcbiAgICBib3JkZXItY29sb3I6IHJnYig4MiA4MiA4MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6YmctZ3JheS04MDAge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpiZy1uZXV0cmFsLTcwMCB7XFxuICAgIC0tdHctYmctb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0IDY0IDY0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtZ3JheS00MDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtd2hpdGUge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC0yMDAge1xcbiAgICAtLXR3LXRleHQtb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHJnYigyMjkgMjI5IDIyOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO1xcbiAgfVxcblxcbiAgLmRhcmtcXFxcOnRleHQtbmV1dHJhbC01MCB7XFxuICAgIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xcbiAgICBjb2xvcjogcmdiKDI1MCAyNTAgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7XFxuICB9XFxuXFxuICAuZGFya1xcXFw6c2hhZG93LVxcXFxbMF80cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC41XFxcXClcXFxcXSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDRweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC41KTtcXG4gICAgLS10dy1zaGFkb3ctY29sb3JlZDogMCA0cHggOXB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6YmctZ3JheS03MDA6aG92ZXIge1xcbiAgICAtLXR3LWJnLW9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpob3ZlclxcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06aG92ZXIge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDpmb2N1c1xcXFw6c2hhZG93LVxcXFxbMF84cHhfOXB4Xy00cHhfcmdiYVxcXFwoNTlcXFxcMmMgMTEzXFxcXDJjIDIwMlxcXFwyYyAwXFxcXC4yXFxcXClcXFxcMmMgMF80cHhfMThweF8wX3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMVxcXFwpXFxcXF06Zm9jdXMge1xcbiAgICAtLXR3LXNoYWRvdzogMCA4cHggOXB4IC00cHggcmdiYSg1OSwxMTMsMjAyLDAuMiksMCA0cHggMThweCAwIHJnYmEoNTksMTEzLDIwMiwwLjEpO1xcbiAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCA5cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCAxOHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTtcXG4gIH1cXG5cXG4gIC5kYXJrXFxcXDphY3RpdmVcXFxcOnNoYWRvdy1cXFxcWzBfOHB4XzlweF8tNHB4X3JnYmFcXFxcKDU5XFxcXDJjIDExM1xcXFwyYyAyMDJcXFxcMmMgMFxcXFwuMlxcXFwpXFxcXDJjIDBfNHB4XzE4cHhfMF9yZ2JhXFxcXCg1OVxcXFwyYyAxMTNcXFxcMmMgMjAyXFxcXDJjIDBcXFxcLjFcXFxcKVxcXFxdOmFjdGl2ZSB7XFxuICAgIC0tdHctc2hhZG93OiAwIDhweCA5cHggLTRweCByZ2JhKDU5LDExMywyMDIsMC4yKSwwIDRweCAxOHB4IDAgcmdiYSg1OSwxMTMsMjAyLDAuMSk7XFxuICAgIC0tdHctc2hhZG93LWNvbG9yZWQ6IDAgOHB4IDlweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgNHB4IDE4cHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcXG5cXG4gIC5zbVxcXFw6YmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dy1hdXRvIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICB9XFxuXFxuICAuc21cXFxcOnRleHQtNXhsIHtcXG4gICAgZm9udC1zaXplOiAzcmVtO1xcbiAgICBsaW5lLWhlaWdodDogMTtcXG4gIH1cXG5cXG4gIC5zbVxcXFw6dGV4dC14bFxcXFwvcmVsYXhlZCB7XFxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuXFxuICAubGdcXFxcOm9yZGVyLTIge1xcbiAgICBvcmRlcjogMjtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6ZmxleCB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICB9XFxuXFxuICAubGdcXFxcOmgtc2NyZWVuIHtcXG4gICAgaGVpZ2h0OiAxMDB2aDtcXG4gIH1cXG5cXG4gIC5sZ1xcXFw6aXRlbXMtY2VudGVyIHtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovL3N0eWxlcy9nbG9iYWxzLmNzc1wiLFwiPG5vIHNvdXJjZT5cIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7OztDQUFjOztBQUFkO0VBQUEsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0JBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYztLQUFkLFdBQWMsRUFBZCxNQUFjO0VBQWQsNE5BQWMsRUFBZCxNQUFj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LHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLDZCQUFtQjtVQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxpQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGVBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VB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RSxtQ0FBbUM7RUFDckM7QUFDRjtBQUNBO0VBQ0U7O0lBRUUsOEJBQThCO0lBQzlCLFVBQVU7RUFDWjtFQUNBOztJQUVFLFFBQVE7SUFDUixZQUFZO0VBQ2Q7RUFDQTtJQUNFLFFBQVE7SUFDUixVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjtBQXBiQTtFQUFBLG1CQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsbUZDQUE7RURBQSxnR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLCtCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLDRHQ0FBO0VEQUEsMEdDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7RUFBQSxtRkNBQTtFREFBLGdHQ0FBO0VEQUE7Q0NBQTtBREFBOztFQUFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsdUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEscUJDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsaURDQUE7SURBQSwyRENBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtRkNBQTtJREFBLGdHQ0FBO0lEQUE7R0NBQTs7RURBQTtJQUFBLG1GQ0FBO0lEQUEsZ0dDQUE7SURBQTtHQ0FBOztFREFBO0lBQUEsbUZDQUE7SURBQSxnR0NBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQSxnQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB0YWlsd2luZCBiYXNlO1xcbkB0YWlsd2luZCBjb21wb25lbnRzO1xcbkB0YWlsd2luZCB1dGlsaXRpZXM7XFxuXFxuaHRtbCxcXG5ib2R5IHtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgUm9ib3RvLCBPeHlnZW4sXFxuICAgIFVidW50dSwgQ2FudGFyZWxsLCBGaXJhIFNhbnMsIERyb2lkIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcXG59XFxuXFxuYSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29sb3Ige1xcbiAgY29sb3I6ICMwMGY5MDA7XFxufVxcblxcbi5pbWFnZS1yb3VuZGVkLXJpZ2h0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVlO1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uaW1hZ2Utcm91bmRlZC1sZWZ0IHtcXG4gIC8qIG1hcmdpbjogNTBweDtcXG4gIHdpZHRoOiAxNTBweDtcXG4gIGhlaWdodDogMTUwcHg7ICovXFxuICBib3JkZXI6IDNweCBzb2xpZCBibHVldmlvbGV0O1xcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXFxuXFxuLnN0YXJzIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTIwJTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcblxcbi5zdGFyIHtcXG4gIC0tc3Rhci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDZlbTtcXG4gIC0tc3Rhci10YWlsLWhlaWdodDogMnB4O1xcbiAgLS1zdGFyLXdpZHRoOiBjYWxjKHZhcigtLXN0YXItdGFpbC1sZW5ndGgpIC8gNik7XFxuICAtLWZhbGwtZHVyYXRpb246IDlzO1xcbiAgLS10YWlsLWZhZGUtZHVyYXRpb246IHZhcigtLWZhbGwtZHVyYXRpb24pO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiB2YXIoLS10b3Atb2Zmc2V0KTtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICBoZWlnaHQ6IHZhcigtLXN0YXItdGFpbC1oZWlnaHQpO1xcbiAgY29sb3I6IHZhcigtLXN0YXItY29sb3IpO1xcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCBjdXJyZW50Q29sb3IpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDRlbSwgMCwgMCk7XFxuICBhbmltYXRpb246IGZhbGwgdmFyKC0tZmFsbC1kdXJhdGlvbikgdmFyKC0tZmFsbC1kZWxheSkgbGluZWFyIGluZmluaXRlLFxcbiAgICB0YWlsLWZhZGUgdmFyKC0tdGFpbC1mYWRlLWR1cmF0aW9uKSB2YXIoLS1mYWxsLWRlbGF5KSBlYXNlLW91dCBpbmZpbml0ZTtcXG59XFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcXG4gIC5zdGFyIHtcXG4gICAgYW5pbWF0aW9uOiBmYWxsIHZhcigtLWZhbGwtZHVyYXRpb24pIHZhcigtLWZhbGwtZGVsYXkpIGxpbmVhciBpbmZpbml0ZTtcXG4gIH1cXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiA3MC4wNnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjMzNHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuMTUxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi43NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi4wN3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4Ljk5cztcXG4gIC0tZmFsbC1kZWxheTogNi42MzZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQ1Ljl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC41ODZzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjcwNXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNTNlbTtcXG4gIC0tdG9wLW9mZnNldDogMjIuODl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOHM7XFxuICAtLWZhbGwtZGVsYXk6IDIuNjRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjA0ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDUxLjgxdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTE3cztcXG4gIC0tZmFsbC1kZWxheTogMS4zNTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1Ljc2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjQ5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzQ5cztcXG4gIC0tZmFsbC1kZWxheTogNy4xMjNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogNTIuNDh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNTExcztcXG4gIC0tZmFsbC1kZWxheTogMC4zODJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjYyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDU5LjM1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuODI5cztcXG4gIC0tZmFsbC1kZWxheTogNS4wMDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjEzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDY1LjA3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjI5NHM7XFxuICAtLWZhbGwtZGVsYXk6IDguOTA3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNjQuNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiA5LjAxOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjE2ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDE5LjY1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguNzUycztcXG4gIC0tZmFsbC1kZWxheTogNC43MTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy40N2VtO1xcbiAgLS10b3Atb2Zmc2V0OiAxNy44MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjE3MXM7XFxuICAtLWZhbGwtZGVsYXk6IDcuODYxcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDEzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMDdlbTtcXG4gIC0tdG9wLW9mZnNldDogMTAuOTZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS44NjlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg5NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM1LjN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45MThzO1xcbiAgLS1mYWxsLWRlbGF5OiA4LjYxN3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjQ1ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDguNTJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy45OTdzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjUwMnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjZlbTtcXG4gIC0tdG9wLW9mZnNldDogNTcuMDd2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNDc4cztcXG4gIC0tZmFsbC1kZWxheTogNS4zNDFzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMTcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNTRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljk3NHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2Ljg4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDk0LjAzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguMzFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjU0M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgxOSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjMxZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3Ljg1dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODJzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg4M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjU4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuMTM0cztcXG4gIC0tZmFsbC1kZWxheTogMi40OTlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS42NGVtO1xcbiAgLS10b3Atb2Zmc2V0OiA4Mi44MXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC45NThzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQ4MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjAyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDg3LjMzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjk1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDIzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMjllbTtcXG4gIC0tdG9wLW9mZnNldDogMi42NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA3LjIzcztcXG4gIC0tZmFsbC1kZWxheTogNi41MTNzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjQpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xM2VtO1xcbiAgLS10b3Atb2Zmc2V0OiA0OC45MnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4yNTdzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljc5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyOS41NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMC4wMjdzO1xcbiAgLS1mYWxsLWRlbGF5OiA1LjI2MnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgyNikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjhlbTtcXG4gIC0tdG9wLW9mZnNldDogMjAuODh2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTAuNDU3cztcXG4gIC0tZmFsbC1kZWxheTogOC4wNTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjcpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi42OWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMy41NXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiAxMS41NjFzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDI4KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogMTcuNDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuMzAzcztcXG4gIC0tZmFsbC1kZWxheTogMS4xOTRzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMjkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNS4wOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiAzMy45dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgyM3M7XFxuICAtLWZhbGwtZGVsYXk6IDMuNTY1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDMwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuODhlbTtcXG4gIC0tdG9wLW9mZnNldDogNjcuMzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC4zMDRzO1xcbiAgLS1mYWxsLWRlbGF5OiA2LjU2NnM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogMzIuNjJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi4zODlzO1xcbiAgLS1mYWxsLWRlbGF5OiAwLjQyOHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzMikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjJlbTtcXG4gIC0tdG9wLW9mZnNldDogOTkuNzN2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogMTEuNTMzcztcXG4gIC0tZmFsbC1kZWxheTogOS4yNDlzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoMzMpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xMWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA5OC44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjM2M3M7XFxuICAtLWZhbGwtZGVsYXk6IDkuODc1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDcuMTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMTYuODR2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4yNDdzO1xcbiAgLS1mYWxsLWRlbGF5OiAzLjIzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM1KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNDhlbTtcXG4gIC0tdG9wLW9mZnNldDogNTUuMTl2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS4xNDlzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjg4cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM2KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuNzNlbTtcXG4gIC0tdG9wLW9mZnNldDogOTAuMDZ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi41MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjY3MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzNykge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjU5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYwLjV2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi42MjZzO1xcbiAgLS1mYWxsLWRlbGF5OiA0LjQ3OHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCgzOCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA3LjMyZW07XFxuICAtLXRvcC1vZmZzZXQ6IDI1LjU3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjgwNnM7XFxuICAtLWZhbGwtZGVsYXk6IDguNzM2cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDM5KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzYuNzJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOS41MjNzO1xcbiAgLS1mYWxsLWRlbGF5OiAyLjE3M3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0MCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjIzZW07XFxuICAtLXRvcC1vZmZzZXQ6IDMzLjgzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDguODg4cztcXG4gIC0tZmFsbC1kZWxheTogNS43NTdzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDEpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4xMmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAyNi40NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjE1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTZzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDIpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNy4zNmVtO1xcbiAgLS10b3Atb2Zmc2V0OiAxMS44M3ZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA2LjQ1N3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMjM3cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQzKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDUuMzVlbTtcXG4gIC0tdG9wLW9mZnNldDogMjYuODF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogOC42MjRzO1xcbiAgLS1mYWxsLWRlbGF5OiA3Ljg1cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ0KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTVlbTtcXG4gIC0tdG9wLW9mZnNldDogMzYuMDJ2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNy4zOTlzO1xcbiAgLS1mYWxsLWRlbGF5OiA5Ljg0N3M7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0NSkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjA5ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDQwLjM3dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDEwLjM5NXM7XFxuICAtLWZhbGwtZGVsYXk6IDkuNHM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0Nikge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA1LjE4ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDM3LjIzdmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDExLjAxM3M7XFxuICAtLWZhbGwtZGVsYXk6IDAuMTAzcztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDQ3KSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuOTZlbTtcXG4gIC0tdG9wLW9mZnNldDogNDMuOTF2aDtcXG4gIC0tZmFsbC1kdXJhdGlvbjogNi44NzNzO1xcbiAgLS1mYWxsLWRlbGF5OiA3LjA2MXM7XFxufVxcbi5zdGFyOm50aC1jaGlsZCg0OCkge1xcbiAgLS1zdGFyLXRhaWwtbGVuZ3RoOiA2LjE3ZW07XFxuICAtLXRvcC1vZmZzZXQ6IDYxLjc5dmg7XFxuICAtLWZhbGwtZHVyYXRpb246IDYuNjg1cztcXG4gIC0tZmFsbC1kZWxheTogNS40OTJzO1xcbn1cXG4uc3RhcjpudGgtY2hpbGQoNDkpIHtcXG4gIC0tc3Rhci10YWlsLWxlbmd0aDogNi4xOWVtO1xcbiAgLS10b3Atb2Zmc2V0OiA2My44NnZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA5LjY1OHM7XFxuICAtLWZhbGwtZGVsYXk6IDcuNzE5cztcXG59XFxuLnN0YXI6bnRoLWNoaWxkKDUwKSB7XFxuICAtLXN0YXItdGFpbC1sZW5ndGg6IDYuMzRlbTtcXG4gIC0tdG9wLW9mZnNldDogNzcuNXZoO1xcbiAgLS1mYWxsLWR1cmF0aW9uOiA4LjU4cztcXG4gIC0tZmFsbC1kZWxheTogNS42NzlzO1xcbn1cXG4uc3Rhcjo6YmVmb3JlLFxcbi5zdGFyOjphZnRlciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IGNhbGModmFyKC0tc3Rhci13aWR0aCkgLyAtMik7XFxuICB3aWR0aDogdmFyKC0tc3Rhci13aWR0aCk7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50LCBjdXJyZW50Q29sb3IsIHRyYW5zcGFyZW50KTtcXG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICBhbmltYXRpb246IGJsaW5rIDJzIGxpbmVhciBpbmZpbml0ZTtcXG59XFxuLnN0YXI6OmJlZm9yZSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxufVxcbi5zdGFyOjphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIGZhbGwge1xcbiAgdG8ge1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMGVtLCAwLCAwKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyB0YWlsLWZhZGUge1xcbiAgMCUsXFxuICA1MCUge1xcbiAgICB3aWR0aDogdmFyKC0tc3Rhci10YWlsLWxlbmd0aCk7XFxuICAgIG9wYWNpdHk6IDE7XFxuICB9XFxuICA3MCUsXFxuICA4MCUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgb3BhY2l0eTogMC40O1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcXG4gIDUwJSB7XFxuICAgIG9wYWNpdHk6IDAuNjtcXG4gIH1cXG59XFxuXCIsbnVsbF0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!./styles/globals.css\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.002e8064e453b218.hot-update.js b/.next/static/webpack/pages/index.002e8064e453b218.hot-update.js deleted file mode 100644 index 10f06c3..0000000 --- a/.next/static/webpack/pages/index.002e8064e453b218.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-4 place-content-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"03\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"04\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWJNRDtBQWVOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMiBnYXAtNCBwbGFjZS1jb250ZW50LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAzPC9kaXY+XG4gICAgICAgICAgPGRpdj4wNDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.008674ec0cfd2335.hot-update.js b/.next/static/webpack/pages/index.008674ec0cfd2335.hot-update.js deleted file mode 100644 index ac71891..0000000 --- a/.next/static/webpack/pages/index.008674ec0cfd2335.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 bg-gray-400 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUNiLDRFQUFDQztnQkFBRUQsV0FBVTswQkFBZ007Ozs7Ozs7Ozs7Ozs7Ozs7QUFNck47S0FWTUY7QUFZTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLWdyYXktNDAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.01b43f2673b55a3c.hot-update.js b/.next/static/webpack/pages/index.01b43f2673b55a3c.hot-update.js deleted file mode 100644 index 2e540ec..0000000 --- a/.next/static/webpack/pages/index.01b43f2673b55a3c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"03\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"04\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWJNRDtBQWVOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAzPC9kaXY+XG4gICAgICAgICAgPGRpdj4wNDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.02389c602f3ec049.hot-update.js b/.next/static/webpack/pages/index.02389c602f3ec049.hot-update.js deleted file mode 100644 index 1dbab2a..0000000 --- a/.next/static/webpack/pages/index.02389c602f3ec049.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:flex lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.032fc0c9066bf5ba.hot-update.js b/.next/static/webpack/pages/index.032fc0c9066bf5ba.hot-update.js deleted file mode 100644 index 2565245..0000000 --- a/.next/static/webpack/pages/index.032fc0c9066bf5ba.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQStGOzs7Ozs7MENBRzVHLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBK0Y7Ozs7OzswQ0FHNUcsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUErRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVF4SDtLQXRCTUY7QUF3Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXZpb2xldC02MDAgYWN0aXZlOmJnLXZpb2xldC03MDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgZm9jdXM6cmluZy12aW9sZXQtMzAwXCI+XG4gICAgICAgICAgICAgIEZJQVRcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXZpb2xldC02MDAgYWN0aXZlOmJnLXZpb2xldC03MDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgZm9jdXM6cmluZy12aW9sZXQtMzAwXCI+XG4gICAgICAgICAgICAgIE9OQ0hBSU4gREVQT1NJVFxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaG92ZXI6YmctdmlvbGV0LTYwMCBhY3RpdmU6YmctdmlvbGV0LTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBmb2N1czpyaW5nLXZpb2xldC0zMDBcIj5cbiAgICAgICAgICAgICAgUEFZUEFMXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.0337d486514c296b.hot-update.js b/.next/static/webpack/pages/index.0337d486514c296b.hot-update.js deleted file mode 100644 index 4cdc97b..0000000 --- a/.next/static/webpack/pages/index.0337d486514c296b.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs4QkFBb0w7Ozs7Ozs7Ozs7OzBCQUtuTSw4REFBQ0U7Z0JBQUdGLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0FkTUg7QUFnQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTggZmxleCBpdGVtcy1jZW50ZXIgbGc6b3JkZXItMiBhYnNvbHV0ZSB0b3AtMTAgcmlnaHQtMjAgXCI+XG4gICAgICAgIDxhIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtYmxhY2sgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgIERhc2hib2FyZFxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.05497f15c68464cf.hot-update.js b/.next/static/webpack/pages/index.05497f15c68464cf.hot-update.js deleted file mode 100644 index d1fb8ca..0000000 --- a/.next/static/webpack/pages/index.05497f15c68464cf.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline\",\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQVk7Ozs7Ozs7Ozs7OztrQ0FFN0IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7OzswQ0FDdEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sQztLQXBCTUY7QUFzQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIERFUE9TSVRcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+QkFMQU5DRTo8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+VVNEQzwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.05eb566eca3a3ea5.hot-update.js b/.next/static/webpack/pages/index.05eb566eca3a3ea5.hot-update.js deleted file mode 100644 index 80ddb3d..0000000 --- a/.next/static/webpack/pages/index.05eb566eca3a3ea5.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezEuNX1cbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02IGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMDAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEwLTExLjk2MyAwbTExLjk2MyAwQTguOTY2IDguOTY2IDAgMDExMiAyMWE4Ljk2NiA4Ljk2NiAwIDAxLTUuOTgyLTIuMjc1TTE1IDkuNzVhMyAzIDAgMTEtNiAwIDMgMyAwIDAxNiAwelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwic3ZnIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.07823529cbd4cfb2.hot-update.js b/.next/static/webpack/pages/index.07823529cbd4cfb2.hot-update.js deleted file mode 100644 index 270e4c7..0000000 --- a/.next/static/webpack/pages/index.07823529cbd4cfb2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.086649770259920c.hot-update.js b/.next/static/webpack/pages/index.086649770259920c.hot-update.js deleted file mode 100644 index e2bddd4..0000000 --- a/.next/static/webpack/pages/index.086649770259920c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBa087Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNQO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgU09DSUFMIElOVkVTVElOR1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.0896a6c38750ec26.hot-update.js b/.next/static/webpack/pages/index.0896a6c38750ec26.hot-update.js deleted file mode 100644 index db4ebb3..0000000 --- a/.next/static/webpack/pages/index.0896a6c38750ec26.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0xMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.09b4e8b0f887f4fa.hot-update.js b/.next/static/webpack/pages/index.09b4e8b0f887f4fa.hot-update.js deleted file mode 100644 index 0343531..0000000 --- a/.next/static/webpack/pages/index.09b4e8b0f887f4fa.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQVhNRDtBQWFOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.0b86fe584fb076bd.hot-update.js b/.next/static/webpack/pages/index.0b86fe584fb076bd.hot-update.js deleted file mode 100644 index f44fef8..0000000 --- a/.next/static/webpack/pages/index.0b86fe584fb076bd.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style4\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQTBCOzs7Ozs7MENBQ3ZDLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBbUI7Ozs7OzswQ0FDaEMsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUErRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVF4SDtLQWxCTUY7QUFvQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU0XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDBcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJob3ZlcjpiZy12aW9sZXQtNjAwIGFjdGl2ZTpiZy12aW9sZXQtNzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGZvY3VzOnJpbmctdmlvbGV0LTMwMFwiPlxuICAgICAgICAgICAgICBQQVlQQUxcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.0fbd74e3d93f320f.hot-update.js b/.next/static/webpack/pages/index.0fbd74e3d93f320f.hot-update.js deleted file mode 100644 index b957c62..0000000 --- a/.next/static/webpack/pages/index.0fbd74e3d93f320f.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.10b36ac441dac5dc.hot-update.js b/.next/static/webpack/pages/index.10b36ac441dac5dc.hot-update.js deleted file mode 100644 index 745abf7..0000000 --- a/.next/static/webpack/pages/index.10b36ac441dac5dc.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 15,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQy9ELDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc1RCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNHOzRCQUFFSCxXQUFVO3NDQUNYLDRFQUFDSCxpRUFBYUE7Z0NBQ1pPLGFBQWE7b0NBQ1hDLGFBQWE7b0NBQ2JDLGFBQWE7Z0NBQ2Y7Z0NBQ0FDLGFBQVk7Z0NBQ1pDLE9BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXRCO0tBMUJNVjtBQTRCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgRE8gWU9VIEhBVkUgQSA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBqdXN0aWZ5IHRvcC02MDBcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgICBzaG93QmFsYW5jZT17e1xuICAgICAgICAgICAgICAgICAgc21hbGxTY3JlZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBjaGFpblN0YXR1cz1cImljb25cIlxuICAgICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkNvbm5lY3RCdXR0b24iLCJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiYSIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.11ce1628712e307d.hot-update.js b/.next/static/webpack/pages/index.11ce1628712e307d.hot-update.js deleted file mode 100644 index 0114d6b..0000000 --- a/.next/static/webpack/pages/index.11ce1628712e307d.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4 font-extrabold\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBd0M7MENBRXJELDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00IGZvbnQtZXh0cmFib2xkXCI+XG4gICAgICAgICAgICBERVBPU0lUXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREMgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+MTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTVcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+UEFZUEFMPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.1381f4730e097865.hot-update.js b/.next/static/webpack/pages/index.1381f4730e097865.hot-update.js deleted file mode 100644 index 8247b95..0000000 --- a/.next/static/webpack/pages/index.1381f4730e097865.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center place-content-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"03\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"04\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWJNRDtBQWVOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgcGxhY2UtY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAzPC9kaXY+XG4gICAgICAgICAgPGRpdj4wNDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.13acb1d4b4873337.hot-update.js b/.next/static/webpack/pages/index.13acb1d4b4873337.hot-update.js deleted file mode 100644 index 64e6a33..0000000 --- a/.next/static/webpack/pages/index.13acb1d4b4873337.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQ2IsNEVBQUNEOzhDQUFJOzs7Ozs7Ozs7Ozs7Ozs7OztrQ0FHVCw4REFBQ0E7d0JBQUlDLFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7OzswQ0FDdEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWxDO0tBdEJNRjtBQXdCTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgREVQT1NJVFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbFwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREM8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.141c8160297295e7.hot-update.js b/.next/static/webpack/pages/index.141c8160297295e7.hot-update.js deleted file mode 100644 index c301d3b..0000000 --- a/.next/static/webpack/pages/index.141c8160297295e7.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7Ozs7Ozs7O2tDQUVwQiw4REFBQ0Q7d0JBQUlDLFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7OzswQ0FDdEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWxDO0tBbkJNRjtBQXFCTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgREVQT1NJVFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTVcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+UEFZUEFMPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.16a518fb228eaec2.hot-update.js b/.next/static/webpack/pages/index.16a518fb228eaec2.hot-update.js deleted file mode 100644 index 5c845cb..0000000 --- a/.next/static/webpack/pages/index.16a518fb228eaec2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-20 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0yMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0xMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.188bedeaa1f99835.hot-update.js b/.next/static/webpack/pages/index.188bedeaa1f99835.hot-update.js deleted file mode 100644 index 950e765..0000000 --- a/.next/static/webpack/pages/index.188bedeaa1f99835.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \" block w-full rounded-3xl border-blue-600 bg-gray-50 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBZ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXpOO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIiBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLWdyYXktNTAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.19509170981a5a4e.hot-update.js b/.next/static/webpack/pages/index.19509170981a5a4e.hot-update.js deleted file mode 100644 index 8c84758..0000000 --- a/.next/static/webpack/pages/index.19509170981a5a4e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBRWIsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQVpNRDtBQWNOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.19b50144c8538157.hot-update.js b/.next/static/webpack/pages/index.19b50144c8538157.hot-update.js deleted file mode 100644 index a32d994..0000000 --- a/.next/static/webpack/pages/index.19b50144c8538157.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"mx-auto block w-full rounded-3xl border-blue-600 bg-gray-400 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUNiLDRFQUFDQztnQkFBRUQsV0FBVTswQkFBd007Ozs7Ozs7Ozs7Ozs7Ozs7QUFNN047S0FWTUY7QUFZTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJteC1hdXRvIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctZ3JheS00MDAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgIFNPQ0lBTCBJTlZFU1RJTkdcbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.1a1734f2a965f8da.hot-update.js b/.next/static/webpack/pages/index.1a1734f2a965f8da.hot-update.js deleted file mode 100644 index 3438d2c..0000000 --- a/.next/static/webpack/pages/index.1a1734f2a965f8da.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNDO3dCQUFHRCxXQUFVO2tDQUF1RTs7Ozs7O2tDQUdyRiw4REFBQ0U7d0JBQUVGLFdBQVU7a0NBQStDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXRFO0tBaEJNRjtBQWtCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.1ce780c0b2235d9c.hot-update.js b/.next/static/webpack/pages/index.1ce780c0b2235d9c.hot-update.js deleted file mode 100644 index b724df7..0000000 --- a/.next/static/webpack/pages/index.1ce780c0b2235d9c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\nvar _s = $RefreshSig$();\n\n\nconst DigitalWallet = ()=>{\n _s();\n const [connect, setConnect] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n function ConnectYes() {\n console.log(\"his\");\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n children: \"hiiiiiiiii\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 5\n }, this);\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-black\",\n children: [\n \"hEYSDFDS \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_2__.ConnectButton, {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 12,\n columnNumber: 16\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n }\n function ConnectNo() {\n console.log(\"NO\");\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_2__.ConnectButton, {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 18,\n columnNumber: 5\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 27,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 26,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 25,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n onClick: ConnectNo,\n children: \"NO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 31,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n onClick: ConnectYes,\n children: \"YES\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 37,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 30,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 24,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 23,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, undefined);\n};\n_s(DigitalWallet, \"Xy5p1UBMPkg9Vj52sy1shWMW8iQ=\");\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVEO0FBQ2Y7QUFFeEMsTUFBTUcsZ0JBQWdCOztJQUNwQixNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR0gsK0NBQVFBLENBQUM7SUFFdkMsU0FBU0k7UUFDUEMsUUFBUUMsR0FBRyxDQUFDO3NCQUNaLDhEQUFDQztzQkFBRzs7Ozs7O3NCQUVKLDhEQUFDQztZQUFJQyxXQUFVOztnQkFBYTs4QkFDakIsOERBQUNYLGlFQUFhQTs7Ozs7Ozs7Ozs7SUFFM0I7SUFFQSxTQUFTWTtRQUNQTCxRQUFRQyxHQUFHLENBQUM7c0JBQ1osOERBQUNSLGlFQUFhQTs7Ozs7SUFDaEI7SUFFQSxxQkFDRSw4REFBQ1U7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNFOzRCQUFHRixXQUFVOztnQ0FBaUU7OENBQy9ELDhEQUFDRztvQ0FBS0gsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc1RCw4REFBQ0Q7d0JBQUlDLFdBQVU7OzBDQUNiLDhEQUFDSTtnQ0FDQ0osV0FBVTtnQ0FDVkssU0FBU0o7MENBQVc7Ozs7OzswQ0FJdEIsOERBQUNHO2dDQUNDSixXQUFVO2dDQUNWSyxTQUFTVjswQ0FBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFuQztHQTNDTUg7S0FBQUE7QUE2Q04sK0RBQWVBLGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9EaWdpdGFsV2FsbGV0LnRzeD83Mzk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIGNvbnN0IFtjb25uZWN0LCBzZXRDb25uZWN0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGZ1bmN0aW9uIENvbm5lY3RZZXMoKSB7XG4gICAgY29uc29sZS5sb2coXCJoaXNcIik7XG4gICAgPGgyPmhpaWlpaWlpaWk8L2gyPjtcblxuICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1ibGFja1wiPlxuICAgICAgaEVZU0RGRFMgPENvbm5lY3RCdXR0b24gLz5cbiAgICA8L2Rpdj47XG4gIH1cblxuICBmdW5jdGlvbiBDb25uZWN0Tm8oKSB7XG4gICAgY29uc29sZS5sb2coXCJOT1wiKTtcbiAgICA8Q29ubmVjdEJ1dHRvbiAvPjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgRE8gWU9VIEhBVkUgQSA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBqdXN0aWZ5IHRvcC02MDBcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtDb25uZWN0Tm99PlxuICAgICAgICAgICAgICBOT1xuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCJcbiAgICAgICAgICAgICAgb25DbGljaz17Q29ubmVjdFllc30+XG4gICAgICAgICAgICAgIFlFU1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIkRpZ2l0YWxXYWxsZXQiLCJjb25uZWN0Iiwic2V0Q29ubmVjdCIsIkNvbm5lY3RZZXMiLCJjb25zb2xlIiwibG9nIiwiaDIiLCJkaXYiLCJjbGFzc05hbWUiLCJDb25uZWN0Tm8iLCJoMSIsInNwYW4iLCJhIiwib25DbGljayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.20e7437b12a4122b.hot-update.js b/.next/static/webpack/pages/index.20e7437b12a4122b.hot-update.js deleted file mode 100644 index 599fdd0..0000000 --- a/.next/static/webpack/pages/index.20e7437b12a4122b.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCIgaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.21ddf2a69c239eb1.hot-update.js b/.next/static/webpack/pages/index.21ddf2a69c239eb1.hot-update.js deleted file mode 100644 index 9ac5af5..0000000 --- a/.next/static/webpack/pages/index.21ddf2a69c239eb1.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO2tDQUNDLDRFQUFDRTtzQ0FBRTs7Ozs7Ozs7Ozs7a0NBRUwsOERBQUNBO2tDQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2I7S0FmTUg7QUFpQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGE+RklBVDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YT5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.23d73ae551f264d4.hot-update.js b/.next/static/webpack/pages/index.23d73ae551f264d4.hot-update.js deleted file mode 100644 index 763af84..0000000 --- a/.next/static/webpack/pages/index.23d73ae551f264d4.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQStGOzs7Ozs7MENBRzVHLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBRzs7Ozs7OzBDQUNoQiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNNUI7S0FsQk1GO0FBb0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj5ERVBPU0lUPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJob3ZlcjpiZy12aW9sZXQtNjAwIGFjdGl2ZTpiZy12aW9sZXQtNzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGZvY3VzOnJpbmctdmlvbGV0LTMwMFwiPlxuICAgICAgICAgICAgICBGSUFUXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJcIj5QQVlQQUw8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.24561d6553c24ef6.hot-update.js b/.next/static/webpack/pages/index.24561d6553c24ef6.hot-update.js deleted file mode 100644 index 82fa821..0000000 --- a/.next/static/webpack/pages/index.24561d6553c24ef6.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-white hover:text-black focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBSWpNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEwsV0FBVTtrQ0FDViw0RUFBQ007NEJBQ0NDLFVBQVM7NEJBQ1RDLEdBQUU7NEJBQ0ZDLFVBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtmLDhEQUFDQztnQkFBR1YsV0FBVTswQkFBNEQ7Ozs7Ozs7Ozs7OztBQUtoRjtLQTFCTUg7QUE0Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLXdoaXRlIGhvdmVyOnRleHQtYmxhY2sgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBkPVwiTTE4LjY4NSAxOS4wOTdBOS43MjMgOS43MjMgMCAwMDIxLjc1IDEyYzAtNS4zODUtNC4zNjUtOS43NS05Ljc1LTkuNzVTMi4yNSA2LjYxNSAyLjI1IDEyYTkuNzIzIDkuNzIzIDAgMDAzLjA2NSA3LjA5N0E5LjcxNiA5LjcxNiAwIDAwMTIgMjEuNzVhOS43MTYgOS43MTYgMCAwMDYuNjg1LTIuNjUzem0tMTIuNTQtMS4yODVBNy40ODYgNy40ODYgMCAwMTEyIDE1YTcuNDg2IDcuNDg2IDAgMDE1Ljg1NSAyLjgxMkE4LjIyNCA4LjIyNCAwIDAxMTIgMjAuMjVhOC4yMjQgOC4yMjQgMCAwMS01Ljg1NS0yLjQzOHpNMTUuNzUgOWEzLjc1IDMuNzUgMCAxMS03LjUgMCAzLjc1IDMuNzUgMCAwMTcuNSAwelwiXG4gICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.255783de1f61254a.hot-update.js b/.next/static/webpack/pages/index.255783de1f61254a.hot-update.js deleted file mode 100644 index 8c84758..0000000 --- a/.next/static/webpack/pages/index.255783de1f61254a.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBRWIsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQVpNRDtBQWNOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.26267a0dda9a8a09.hot-update.js b/.next/static/webpack/pages/index.26267a0dda9a8a09.hot-update.js deleted file mode 100644 index b53a2f7..0000000 --- a/.next/static/webpack/pages/index.26267a0dda9a8a09.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"place-content-betweenblock max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"03\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"04\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWJNRDtBQWVOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGxhY2UtY29udGVudC1iZXR3ZWVuYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAzPC9kaXY+XG4gICAgICAgICAgPGRpdj4wNDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.27c696b198541ed7.hot-update.js b/.next/static/webpack/pages/index.27c696b198541ed7.hot-update.js deleted file mode 100644 index 6071881..0000000 --- a/.next/static/webpack/pages/index.27c696b198541ed7.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 bg-gray-400 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBZ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXpOO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1ncmF5LTQwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICAgIFNPQ0lBTCBJTlZFU1RJTkdcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.280875cbfe75f200.hot-update.js b/.next/static/webpack/pages/index.280875cbfe75f200.hot-update.js deleted file mode 100644 index 71722d5..0000000 --- a/.next/static/webpack/pages/index.280875cbfe75f200.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO2tDQUNDLDRFQUFDRTtzQ0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWY7S0FkTUg7QUFnQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGE+RklBVDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.28bbc69e5a79d6b6.hot-update.js b/.next/static/webpack/pages/index.28bbc69e5a79d6b6.hot-update.js deleted file mode 100644 index 522df45..0000000 --- a/.next/static/webpack/pages/index.28bbc69e5a79d6b6.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6 px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNiBweC01XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMDAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEwLTExLjk2MyAwbTExLjk2MyAwQTguOTY2IDguOTY2IDAgMDExMiAyMWE4Ljk2NiA4Ljk2NiAwIDAxLTUuOTgyLTIuMjc1TTE1IDkuNzVhMyAzIDAgMTEtNiAwIDMgMyAwIDAxNiAwelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwic3ZnIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.28c2d3a6e72be3ab.hot-update.js b/.next/static/webpack/pages/index.28c2d3a6e72be3ab.hot-update.js deleted file mode 100644 index fc9a562..0000000 --- a/.next/static/webpack/pages/index.28c2d3a6e72be3ab.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7MENBQUU7Ozs7OzswQ0FDSCw4REFBQ0E7Z0NBQUVELFdBQVU7MENBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNNUI7S0FmTUY7QUFpQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhPkZJQVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.302ad97cefc27d54.hot-update.js b/.next/static/webpack/pages/index.302ad97cefc27d54.hot-update.js deleted file mode 100644 index eb0e2c4..0000000 --- a/.next/static/webpack/pages/index.302ad97cefc27d54.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQW1COzs7Ozs7MENBQ2hDLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBbUI7Ozs7OzswQ0FDaEMsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUErRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVF4SDtLQWxCTUY7QUFvQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDBcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaG92ZXI6Ymctc2t5LTcwMFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXZpb2xldC02MDAgYWN0aXZlOmJnLXZpb2xldC03MDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgZm9jdXM6cmluZy12aW9sZXQtMzAwXCI+XG4gICAgICAgICAgICAgIFBBWVBBTFxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.3035ea8eb1c9f3e8.hot-update.js b/.next/static/webpack/pages/index.3035ea8eb1c9f3e8.hot-update.js deleted file mode 100644 index 5526d3b..0000000 --- a/.next/static/webpack/pages/index.3035ea8eb1c9f3e8.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDRDs0QkFBSUMsV0FBVTtzQ0FBRzs7Ozs7Ozs7Ozs7a0NBRXBCLDhEQUFDRDt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0FsQk1GO0FBb0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNVwiPkZJQVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5QQVlQQUw8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.33cbcf4d35454e91.hot-update.js b/.next/static/webpack/pages/index.33cbcf4d35454e91.hot-update.js deleted file mode 100644 index 2d9c4b6..0000000 --- a/.next/static/webpack/pages/index.33cbcf4d35454e91.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.34ba0db0af6ba4ea.hot-update.js b/.next/static/webpack/pages/index.34ba0db0af6ba4ea.hot-update.js deleted file mode 100644 index b49e415..0000000 --- a/.next/static/webpack/pages/index.34ba0db0af6ba4ea.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"absolute\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBOzswQ0FDQyw4REFBQ0U7MENBQUU7Ozs7OzswQ0FDSCw4REFBQ0E7Z0NBQUVELFdBQVU7MENBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNcEM7S0FmTUY7QUFpQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGE+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImFic29sdXRlXCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.352546102a8c09da.hot-update.js b/.next/static/webpack/pages/index.352546102a8c09da.hot-update.js deleted file mode 100644 index bb26078..0000000 --- a/.next/static/webpack/pages/index.352546102a8c09da.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7OzswQ0FDdEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sQztLQWhCTUY7QUFrQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNVwiPkZJQVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5QQVlQQUw8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.358ee48a9d3ad0ee.hot-update.js b/.next/static/webpack/pages/index.358ee48a9d3ad0ee.hot-update.js deleted file mode 100644 index f36c19f..0000000 --- a/.next/static/webpack/pages/index.358ee48a9d3ad0ee.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQWlNOzs7Ozs7a0NBSTlNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEwsV0FBVTtrQ0FDViw0RUFBQ007NEJBQ0NDLFVBQVM7NEJBQ1RDLEdBQUU7NEJBQ0ZDLFVBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtmLDhEQUFDQztnQkFBR1YsV0FBVTswQkFBNEQ7Ozs7Ozs7Ozs7OztBQUtoRjtLQTFCTUg7QUE0Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cblxuICAgICAgICA8c3ZnXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgZD1cIk0xOC42ODUgMTkuMDk3QTkuNzIzIDkuNzIzIDAgMDAyMS43NSAxMmMwLTUuMzg1LTQuMzY1LTkuNzUtOS43NS05Ljc1UzIuMjUgNi42MTUgMi4yNSAxMmE5LjcyMyA5LjcyMyAwIDAwMy4wNjUgNy4wOTdBOS43MTYgOS43MTYgMCAwMDEyIDIxLjc1YTkuNzE2IDkuNzE2IDAgMDA2LjY4NS0yLjY1M3ptLTEyLjU0LTEuMjg1QTcuNDg2IDcuNDg2IDAgMDExMiAxNWE3LjQ4NiA3LjQ4NiAwIDAxNS44NTUgMi44MTJBOC4yMjQgOC4yMjQgMCAwMTEyIDIwLjI1YTguMjI0IDguMjI0IDAgMDEtNS44NTUtMi40Mzh6TTE1Ljc1IDlhMy43NSAzLjc1IDAgMTEtNy41IDAgMy43NSAzLjc1IDAgMDE3LjUgMHpcIlxuICAgICAgICAgICAgY2xpcFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0xMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwicGF0aCIsImZpbGxSdWxlIiwiZCIsImNsaXBSdWxlIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.36bd8944c9784adb.hot-update.js b/.next/static/webpack/pages/index.36bd8944c9784adb.hot-update.js deleted file mode 100644 index 130ee89..0000000 --- a/.next/static/webpack/pages/index.36bd8944c9784adb.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" place-content-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIHBsYWNlLWNvbnRlbnQtYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.389cf1fb2d6f3171.hot-update.js b/.next/static/webpack/pages/index.389cf1fb2d6f3171.hot-update.js deleted file mode 100644 index db4ebb3..0000000 --- a/.next/static/webpack/pages/index.389cf1fb2d6f3171.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0xMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.39db4be69d7ed858.hot-update.js b/.next/static/webpack/pages/index.39db4be69d7ed858.hot-update.js deleted file mode 100644 index 3b02d13..0000000 --- a/.next/static/webpack/pages/index.39db4be69d7ed858.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl \",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 22,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 23,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQ0NDLFdBQVU7MENBQ3RCOzs7Ozs7MENBR1UsOERBQUNEO2dDQUFJQyxXQUFVOzBDQUFHOzs7Ozs7MENBQ2xCLDhEQUFDRDtnQ0FBSUMsV0FBVTs7a0RBQ2IsOERBQUNEO2tEQUFJOzs7Ozs7a0RBQ0wsOERBQUNBO2tEQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBR1QsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7OzswQ0FDdEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sQztLQTNCTUY7QUE2Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9udC1leHRyYWJvbGQgdGV4dC0yeGxcblwiPlxuICAgICAgICAgICAgICBERVBPU0lUXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+QkFMQU5DRTo8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidW5kZXJsaW5lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgIDxkaXY+VVNEQyA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdj4xPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNVwiPkZJQVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5QQVlQQUw8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.3a9748865d6d3a6e.hot-update.js b/.next/static/webpack/pages/index.3a9748865d6d3a6e.hot-update.js deleted file mode 100644 index 745abf7..0000000 --- a/.next/static/webpack/pages/index.3a9748865d6d3a6e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 15,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQy9ELDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc1RCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNHOzRCQUFFSCxXQUFVO3NDQUNYLDRFQUFDSCxpRUFBYUE7Z0NBQ1pPLGFBQWE7b0NBQ1hDLGFBQWE7b0NBQ2JDLGFBQWE7Z0NBQ2Y7Z0NBQ0FDLGFBQVk7Z0NBQ1pDLE9BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXRCO0tBMUJNVjtBQTRCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgRE8gWU9VIEhBVkUgQSA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBqdXN0aWZ5IHRvcC02MDBcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgICBzaG93QmFsYW5jZT17e1xuICAgICAgICAgICAgICAgICAgc21hbGxTY3JlZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBjaGFpblN0YXR1cz1cImljb25cIlxuICAgICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkNvbm5lY3RCdXR0b24iLCJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiYSIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.3ea268d7b7c83c60.hot-update.js b/.next/static/webpack/pages/index.3ea268d7b7c83c60.hot-update.js deleted file mode 100644 index 8b5d337..0000000 --- a/.next/static/webpack/pages/index.3ea268d7b7c83c60.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full lg justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQTBCOzs7Ozs7MENBQ3pDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBsZyBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtZXh0cmFib2xkIHRleHQtMnhsXCI+REVQT1NJVDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PjE8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.3ebe80c631dabfde.hot-update.js b/.next/static/webpack/pages/index.3ebe80c631dabfde.hot-update.js deleted file mode 100644 index 8b2b195..0000000 --- a/.next/static/webpack/pages/index.3ebe80c631dabfde.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left block w-full rounded-3xl border-blue-600 bg-gray-50 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBa047Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNPO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLWdyYXktNTAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.41a064fdc666e54c.hot-update.js b/.next/static/webpack/pages/index.41a064fdc666e54c.hot-update.js deleted file mode 100644 index 8916a44..0000000 --- a/.next/static/webpack/pages/index.41a064fdc666e54c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \" mx-auto block w-full rounded-3xl border-blue-600 bg-gray-400 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUNiLDRFQUFDQztnQkFBRUQsV0FBVTswQkFBeU07Ozs7Ozs7Ozs7Ozs7Ozs7QUFNOU47S0FWTUY7QUFZTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCIgbXgtYXV0byBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLWdyYXktNDAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.44feb58936b7deef.hot-update.js b/.next/static/webpack/pages/index.44feb58936b7deef.hot-update.js deleted file mode 100644 index 3765dd3..0000000 --- a/.next/static/webpack/pages/index.44feb58936b7deef.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-10 text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUF1RTtzQ0FFbkYsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIG14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTEwIHRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.454809644c55f18e.hot-update.js b/.next/static/webpack/pages/index.454809644c55f18e.hot-update.js deleted file mode 100644 index 51605be..0000000 --- a/.next/static/webpack/pages/index.454809644c55f18e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQTBCOzs7Ozs7MENBQ3pDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtZXh0cmFib2xkIHRleHQtMnhsXCI+REVQT1NJVDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PjE8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.45b222373bd8dbf0.hot-update.js b/.next/static/webpack/pages/index.45b222373bd8dbf0.hot-update.js deleted file mode 100644 index 1ba86da..0000000 --- a/.next/static/webpack/pages/index.45b222373bd8dbf0.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7MENBQUU7Ozs7OzswQ0FDSCw4REFBQ0E7Z0NBQUVELFdBQVU7MENBQUc7Ozs7OzswQ0FDaEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTTVCO0tBaEJNRjtBQWtCTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXY+REVQT1NJVDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGE+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIlwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIlwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.4637f68796e08f32.hot-update.js b/.next/static/webpack/pages/index.4637f68796e08f32.hot-update.js deleted file mode 100644 index 447667a..0000000 --- a/.next/static/webpack/pages/index.4637f68796e08f32.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold lg\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQW9COzs7Ozs7MENBQ25DLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtZXh0cmFib2xkIGxnXCI+REVQT1NJVDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PjE8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.473e98242cc1b3af.hot-update.js b/.next/static/webpack/pages/index.473e98242cc1b3af.hot-update.js deleted file mode 100644 index 52be440..0000000 --- a/.next/static/webpack/pages/index.473e98242cc1b3af.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.4ca06a577aee70ad.hot-update.js b/.next/static/webpack/pages/index.4ca06a577aee70ad.hot-update.js deleted file mode 100644 index 99bb552..0000000 --- a/.next/static/webpack/pages/index.4ca06a577aee70ad.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"place-content-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"03\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"04\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWJNRDtBQWVOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGxhY2UtY29udGVudC1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXY+MDE8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAyPC9kaXY+XG4gICAgICAgICAgPGRpdj4wMzwvZGl2PlxuICAgICAgICAgIDxkaXY+MDQ8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.4d31881fd1dfa024.hot-update.js b/.next/static/webpack/pages/index.4d31881fd1dfa024.hot-update.js deleted file mode 100644 index 95740f7..0000000 --- a/.next/static/webpack/pages/index.4d31881fd1dfa024.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 22,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F6Qk1GO0FBMkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICBERVBPU0lUXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREM8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+VVNEQzwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PlVTREM8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.4f6421e34186b7fe.hot-update.js b/.next/static/webpack/pages/index.4f6421e34186b7fe.hot-update.js deleted file mode 100644 index 52c1d38..0000000 --- a/.next/static/webpack/pages/index.4f6421e34186b7fe.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4 font-extrabold\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQWlCOzs7Ozs7MENBQ2hDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00IGZvbnQtZXh0cmFib2xkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtZXh0cmFib2xkXCI+REVQT1NJVDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PjE8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.50a697ce48addd48.hot-update.js b/.next/static/webpack/pages/index.50a697ce48addd48.hot-update.js deleted file mode 100644 index 3218495..0000000 --- a/.next/static/webpack/pages/index.50a697ce48addd48.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBRWIsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWZNRDtBQWlCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAyPC9kaXY+XG4gICAgICAgICAgPGRpdj4wMjwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.50c1c3fbba88df86.hot-update.js b/.next/static/webpack/pages/index.50c1c3fbba88df86.hot-update.js deleted file mode 100644 index 80744fa..0000000 --- a/.next/static/webpack/pages/index.50c1c3fbba88df86.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQ2hFLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUczRCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgICBDT05ORUNUIFlPVVIgPHNwYW4gY2xhc3NOYW1lPVwiY29sb3JcIj5XRUIzIFdBTExFVDwvc3Bhbj4/XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUganVzdGlmeSB0b3AtNjAwXCI+XG4gICAgICAgICAgICA8Q29ubmVjdEJ1dHRvblxuICAgICAgICAgICAgICBzaG93QmFsYW5jZT17e1xuICAgICAgICAgICAgICAgIHNtYWxsU2NyZWVuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsYXJnZVNjcmVlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgY2hhaW5TdGF0dXM9XCJpY29uXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJDb25uZWN0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkNvbm5lY3RCdXR0b24iLCJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwic2hvd0JhbGFuY2UiLCJzbWFsbFNjcmVlbiIsImxhcmdlU2NyZWVuIiwiY2hhaW5TdGF0dXMiLCJsYWJlbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.51523594674f7938.hot-update.js b/.next/static/webpack/pages/index.51523594674f7938.hot-update.js deleted file mode 100644 index 155e8b2..0000000 --- a/.next/static/webpack/pages/index.51523594674f7938.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-15 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUFpRTtzQ0FFN0UsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTE1IG14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.522f827c604454d7.hot-update.js b/.next/static/webpack/pages/index.522f827c604454d7.hot-update.js deleted file mode 100644 index 8ec3bf2..0000000 --- a/.next/static/webpack/pages/index.522f827c604454d7.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICBERVBPU0lUXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREMgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+MTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTVcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+UEFZUEFMPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.525a9b8520483ec2.hot-update.js b/.next/static/webpack/pages/index.525a9b8520483ec2.hot-update.js deleted file mode 100644 index 8729feb..0000000 --- a/.next/static/webpack/pages/index.525a9b8520483ec2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-white hover:bg-white hover:text-black focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 18,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBSWpNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0E1Qk1IO0FBOEJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZSBob3Zlcjp0ZXh0LWJsYWNrIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cblxuICAgICAgICA8c3ZnXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.54b2de2a17ba5311.hot-update.js b/.next/static/webpack/pages/index.54b2de2a17ba5311.hot-update.js deleted file mode 100644 index 38dba95..0000000 --- a/.next/static/webpack/pages/index.54b2de2a17ba5311.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBOzswQ0FDQyw4REFBQ0U7MENBQUU7Ozs7OzswQ0FDSCw4REFBQ0E7Z0NBQUVELFdBQVU7MENBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNNUI7S0FmTUY7QUFpQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGE+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIlwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.54d8bb023c0d5b17.hot-update.js b/.next/static/webpack/pages/index.54d8bb023c0d5b17.hot-update.js deleted file mode 100644 index 7b8b9a2..0000000 --- a/.next/static/webpack/pages/index.54d8bb023c0d5b17.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 15,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQy9ELDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc1RCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNHOzRCQUFFSCxXQUFVO3NDQUNYLDRFQUFDSCxpRUFBYUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPNUI7S0FuQk1DO0FBcUJOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRGlnaXRhbFdhbGxldC50c3g/NzM5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgICBETyBZT1UgSEFWRSBBIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZC1sZWZ0IGltYWdlLXJvdW5kZWQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgICA8Q29ubmVjdEJ1dHRvbiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.54f9065dabeedc9c.hot-update.js b/.next/static/webpack/pages/index.54f9065dabeedc9c.hot-update.js deleted file mode 100644 index 4e55122..0000000 --- a/.next/static/webpack/pages/index.54f9065dabeedc9c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6 mt-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezEuNX1cbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02IG10LThcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0xMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.5b4fe5b0bbd869a5.hot-update.js b/.next/static/webpack/pages/index.5b4fe5b0bbd869a5.hot-update.js deleted file mode 100644 index 52be440..0000000 --- a/.next/static/webpack/pages/index.5b4fe5b0bbd869a5.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.5cb45b3d54cbfbb1.hot-update.js b/.next/static/webpack/pages/index.5cb45b3d54cbfbb1.hot-update.js deleted file mode 100644 index 6e4f788..0000000 --- a/.next/static/webpack/pages/index.5cb45b3d54cbfbb1.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6 px-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNiBweC0xXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMDAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEwLTExLjk2MyAwbTExLjk2MyAwQTguOTY2IDguOTY2IDAgMDExMiAyMWE4Ljk2NiA4Ljk2NiAwIDAxLTUuOTgyLTIuMjc1TTE1IDkuNzVhMyAzIDAgMTEtNiAwIDMgMyAwIDAxNiAwelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwic3ZnIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.5e2f0b557233717d.hot-update.js b/.next/static/webpack/pages/index.5e2f0b557233717d.hot-update.js deleted file mode 100644 index 0899f68..0000000 --- a/.next/static/webpack/pages/index.5e2f0b557233717d.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-gray-100 dark:bg-gray-800\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQXFDOzs7Ozs7MENBQ2xELDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBRzs7Ozs7OzBDQUNoQiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNNUI7S0FoQk1GO0FBa0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj5ERVBPU0lUPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwXCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIlwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIlwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.5e55ba3fc3b5cdb3.hot-update.js b/.next/static/webpack/pages/index.5e55ba3fc3b5cdb3.hot-update.js deleted file mode 100644 index c0820c5..0000000 --- a/.next/static/webpack/pages/index.5e55ba3fc3b5cdb3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 18,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBSWpNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0E1Qk1IO0FBOEJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cblxuICAgICAgICA8c3ZnXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.607f9f6084ae1e2a.hot-update.js b/.next/static/webpack/pages/index.607f9f6084ae1e2a.hot-update.js deleted file mode 100644 index 5aa1902..0000000 --- a/.next/static/webpack/pages/index.607f9f6084ae1e2a.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezEuNX1cbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMDAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEwLTExLjk2MyAwbTExLjk2MyAwQTguOTY2IDguOTY2IDAgMDExMiAyMWE4Ljk2NiA4Ljk2NiAwIDAxLTUuOTgyLTIuMjc1TTE1IDkuNzVhMyAzIDAgMTEtNiAwIDMgMyAwIDAxNiAwelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwic3ZnIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.6300efb38a547520.hot-update.js b/.next/static/webpack/pages/index.6300efb38a547520.hot-update.js deleted file mode 100644 index d5e0688..0000000 --- a/.next/static/webpack/pages/index.6300efb38a547520.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center place-content-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgcGxhY2UtY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICBOb3Rld29ydGh5IHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIDIwMjFcbiAgICAgICAgICA8L2g1PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICBIZXJlIGFyZSB0aGUgYmlnZ2VzdCBlbnRlcnByaXNlIHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIG9mIDIwMjEgc29cbiAgICAgICAgICAgIGZhciwgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.658dc40eba135cea.hot-update.js b/.next/static/webpack/pages/index.658dc40eba135cea.hot-update.js deleted file mode 100644 index 522df45..0000000 --- a/.next/static/webpack/pages/index.658dc40eba135cea.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6 px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNiBweC01XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMDAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEwLTExLjk2MyAwbTExLjk2MyAwQTguOTY2IDguOTY2IDAgMDExMiAyMWE4Ljk2NiA4Ljk2NiAwIDAxLTUuOTgyLTIuMjc1TTE1IDkuNzVhMyAzIDAgMTEtNiAwIDMgMyAwIDAxNiAwelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwic3ZnIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.65c97617c95cd0e9.hot-update.js b/.next/static/webpack/pages/index.65c97617c95cd0e9.hot-update.js deleted file mode 100644 index f6e854e..0000000 --- a/.next/static/webpack/pages/index.65c97617c95cd0e9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICBOb3Rld29ydGh5IHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIDIwMjFcbiAgICAgICAgICA8L2g1PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICBIZXJlIGFyZSB0aGUgYmlnZ2VzdCBlbnRlcnByaXNlIHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIG9mIDIwMjEgc29cbiAgICAgICAgICAgIGZhciwgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.65e3d6c38b1072df.hot-update.js b/.next/static/webpack/pages/index.65e3d6c38b1072df.hot-update.js deleted file mode 100644 index 699f073..0000000 --- a/.next/static/webpack/pages/index.65e3d6c38b1072df.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCIgZmxleCBpdGVtcy1jZW50ZXIgbGc6b3JkZXItMiBhYnNvbHV0ZSB0b3AtMTAgcmlnaHQtMjAgXCI+XG4gICAgICAgIDxhIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtYmxhY2sgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgIERhc2hib2FyZFxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInctNiBoLTZcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0xMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.66ff179cf39f8623.hot-update.js b/.next/static/webpack/pages/index.66ff179cf39f8623.hot-update.js deleted file mode 100644 index c84d591..0000000 --- a/.next/static/webpack/pages/index.66ff179cf39f8623.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQ2hFLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUczRCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBZT1VSIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgc2hvd0JhbGFuY2U9e3tcbiAgICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoYWluU3RhdHVzPVwiaWNvblwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.6c39406d82eb5b3c.hot-update.js b/.next/static/webpack/pages/index.6c39406d82eb5b3c.hot-update.js deleted file mode 100644 index 5aa1902..0000000 --- a/.next/static/webpack/pages/index.6c39406d82eb5b3c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezEuNX1cbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMDAxMiAxNS43NWE3LjQ4OCA3LjQ4OCAwIDAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEwLTExLjk2MyAwbTExLjk2MyAwQTguOTY2IDguOTY2IDAgMDExMiAyMWE4Ljk2NiA4Ljk2NiAwIDAxLTUuOTgyLTIuMjc1TTE1IDkuNzVhMyAzIDAgMTEtNiAwIDMgMyAwIDAxNiAwelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LVsjODI4MjgyXSBhYnNvbHV0ZSB0b3AtMTAgbGVmdC0yMFwiPlxuICAgICAgICBCVVkgTUUgQSBDUllQVE9cbiAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0aW9uO1xuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb24iLCJoZWFkZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwic3ZnIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlIiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.6d29f649177dd226.hot-update.js b/.next/static/webpack/pages/index.6d29f649177dd226.hot-update.js deleted file mode 100644 index 4fb436c..0000000 --- a/.next/static/webpack/pages/index.6d29f649177dd226.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-20 text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUF1RTtzQ0FFbkYsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIG14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTIwIHRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.6e3dd436ac74db7c.hot-update.js b/.next/static/webpack/pages/index.6e3dd436ac74db7c.hot-update.js deleted file mode 100644 index 4c16206..0000000 --- a/.next/static/webpack/pages/index.6e3dd436ac74db7c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUFpRTtzQ0FFN0UsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTggbXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICBJTlZFU1QgSU4gQ1JZUFRPIFdJVEhcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzbTpibG9ja1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY29sb3JcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lIGJvcmRlci1bYmxhY2tdXCI+RDwvc3Bhbj5PTExBUiZuYnNwO1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ1bmRlcmxpbmVcIj5DPC9zcGFuPk9TVCZuYnNwO1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ1bmRlcmxpbmVcIj5BPC9zcGFuPlZFUkFHRSZuYnNwO1xuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgQVBQUk9BQ0ggT04gREVYRVNcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm14LWF1dG8gbXQtNCBtYXgtdy14bCBzbTp0ZXh0LXhsL3JlbGF4ZWQgdGV4dC1bIzgyODI4Ml1cIj5cbiAgICAgICAgICBVc2UgQUkgQ3J5cHRvIEFkdmlzb3IgdG8gbWFrZSBhIHJpZ2h0IGNob2ljZVxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggZmxleC13cmFwIG0tMTAganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIG0tMCByb3VuZGVkLTN4bCBib3JkZXItW3llbGxvd10gYm9yZGVyLTQgcC04IGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCJcbiAgICAgICAgICAgIHRvPVwiZGlnaXRhbFdhbGxldFwiXG4gICAgICAgICAgICBzcHk9e3RydWV9XG4gICAgICAgICAgICBzbW9vdGg9e3RydWV9XG4gICAgICAgICAgICBvZmZzZXQ9ezUwfVxuICAgICAgICAgICAgZHVyYXRpb249ezUwMH0+XG4gICAgICAgICAgICBFWFBMT1JFXG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInB4LTVcIj5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bS43NS0xMS4yNWEuNzUuNzUgMCAwMC0xLjUgMHY0LjU5TDcuMyA5LjI0YS43NS43NSAwIDAwLTEuMSAxLjAybDMuMjUgMy41YS43NS43NSAwIDAwMS4xIDBsMy4yNS0zLjVhLjc1Ljc1IDAgMTAtMS4xLTEuMDJsLTEuOTUgMi4xVjYuNzV6XCJcbiAgICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBsZWZ0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgIFNPQ0lBTCBJTlZFU1RJTkdcbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgcmlnaHQtNjAgdG9wLTQwXCI+XG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZC1yaWdodCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTVEFLSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRnJvbnRQYWdlO1xuIl0sIm5hbWVzIjpbIkxpbmsiLCJGcm9udFBhZ2UiLCJoYW5kbGVTY3JvbGwiLCJlIiwiZWxlbSIsInByZXZlbnREZWZhdWx0IiwidGFyZ2V0SWQiLCJjdXJyZW50VGFyZ2V0IiwiaHJlZiIsInJlcGxhY2UiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwid2luZG93Iiwic2Nyb2xsVG8iLCJ0b3AiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJiZWhhdmlvciIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInAiLCJ0byIsInNweSIsInNtb290aCIsIm9mZnNldCIsImR1cmF0aW9uIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInBhdGgiLCJmaWxsLXJ1bGUiLCJkIiwiY2xpcC1ydWxlIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.72d20fb9812d76da.hot-update.js b/.next/static/webpack/pages/index.72d20fb9812d76da.hot-update.js deleted file mode 100644 index 4a57a88..0000000 --- a/.next/static/webpack/pages/index.72d20fb9812d76da.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left block w-full rounded-3xl border-blue-600 bg-gray-50 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBbU47Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTVPO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCAgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1ncmF5LTUwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgU09DSUFMIElOVkVTVElOR1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.72e2b448366c394e.hot-update.js b/.next/static/webpack/pages/index.72e2b448366c394e.hot-update.js deleted file mode 100644 index 18e9930..0000000 --- a/.next/static/webpack/pages/index.72e2b448366c394e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQ2hFLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUczRCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBZT1VSIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgc2hvd0JhbGFuY2U9e3tcbiAgICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoYWluU3RhdHVzPVwiaWNvblwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.737edf065ac563c2.hot-update.js b/.next/static/webpack/pages/index.737edf065ac563c2.hot-update.js deleted file mode 100644 index 8bedceb..0000000 --- a/.next/static/webpack/pages/index.737edf065ac563c2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style4\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300 style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQTBCOzs7Ozs7MENBQ3ZDLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBMEI7Ozs7OzswQ0FDdkMsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFzRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVEvSDtLQWxCTUY7QUFvQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU0XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaG92ZXI6YmctdmlvbGV0LTYwMCBhY3RpdmU6YmctdmlvbGV0LTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBmb2N1czpyaW5nLXZpb2xldC0zMDAgc3R5bGU0XCI+XG4gICAgICAgICAgICAgIFBBWVBBTFxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.74348e2f514a41bf.hot-update.js b/.next/static/webpack/pages/index.74348e2f514a41bf.hot-update.js deleted file mode 100644 index 7e71208..0000000 --- a/.next/static/webpack/pages/index.74348e2f514a41bf.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300 style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQTBCOzs7Ozs7MENBQ3ZDLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBMEI7Ozs7OzswQ0FDdkMsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFzRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVEvSDtLQWxCTUY7QUFvQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaG92ZXI6YmctdmlvbGV0LTYwMCBhY3RpdmU6YmctdmlvbGV0LTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBmb2N1czpyaW5nLXZpb2xldC0zMDAgc3R5bGU0XCI+XG4gICAgICAgICAgICAgIFBBWVBBTFxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7657b55d7081ba2c.hot-update.js b/.next/static/webpack/pages/index.7657b55d7081ba2c.hot-update.js deleted file mode 100644 index 419e3a6..0000000 --- a/.next/static/webpack/pages/index.7657b55d7081ba2c.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs4QkFBb0w7Ozs7Ozs7Ozs7OzBCQUtuTSw4REFBQ0U7Z0JBQUdGLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0FkTUg7QUFnQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.766465ad53c72386.hot-update.js b/.next/static/webpack/pages/index.766465ad53c72386.hot-update.js deleted file mode 100644 index c84d591..0000000 --- a/.next/static/webpack/pages/index.766465ad53c72386.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQ2hFLDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUczRCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBZT1VSIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgc2hvd0JhbGFuY2U9e3tcbiAgICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoYWluU3RhdHVzPVwiaWNvblwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.776ae571a0c57170.hot-update.js b/.next/static/webpack/pages/index.776ae571a0c57170.hot-update.js deleted file mode 100644 index 8953cbe..0000000 --- a/.next/static/webpack/pages/index.776ae571a0c57170.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.77a599599ca1939b.hot-update.js b/.next/static/webpack/pages/index.77a599599ca1939b.hot-update.js deleted file mode 100644 index 5c5139c..0000000 --- a/.next/static/webpack/pages/index.77a599599ca1939b.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"NO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"YES\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUMvRCw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHNUQsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0c7Z0NBQUVILFdBQVU7MENBQWtPOzs7Ozs7MENBSS9PLDhEQUFDRztnQ0FBRUgsV0FBVTswQ0FBa087Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRM1A7S0F2Qk1GO0FBeUJOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRGlnaXRhbFdhbGxldC50c3g/NzM5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgICBETyBZT1UgSEFWRSBBIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZC1sZWZ0IGltYWdlLXJvdW5kZWQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgICBOT1xuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICAgIFlFU1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7aa088698e1a021f.hot-update.js b/.next/static/webpack/pages/index.7aa088698e1a021f.hot-update.js deleted file mode 100644 index eb17c3a..0000000 --- a/.next/static/webpack/pages/index.7aa088698e1a021f.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O0FBSXZCO0tBUk1GO0FBVU4sK0RBQWVBLGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBEaWdpdGFsV2FsbGV0ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7cbc635862a04c63.hot-update.js b/.next/static/webpack/pages/index.7cbc635862a04c63.hot-update.js deleted file mode 100644 index 63cdca7..0000000 --- a/.next/static/webpack/pages/index.7cbc635862a04c63.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUNoRSw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHM0QsOERBQUNHO3dCQUNDQyxNQUFLO3dCQUNMSixXQUFVOzswQ0FDViw4REFBQ0s7Z0NBQUdMLFdBQVU7MENBQXVFOzs7Ozs7MENBR3JGLDhEQUFDTTtnQ0FBRU4sV0FBVTswQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTeEU7S0F6Qk1GO0FBMkJOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgICBDT05ORUNUIFlPVVIgPHNwYW4gY2xhc3NOYW1lPVwiY29sb3JcIj5XRUIzIFdBTExFVDwvc3Bhbj4/XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgICBOb3Rld29ydGh5IHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIDIwMjFcbiAgICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgICBIZXJlIGFyZSB0aGUgYmlnZ2VzdCBlbnRlcnByaXNlIHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIG9mIDIwMjEgc29cbiAgICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiYSIsImhyZWYiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7d520466f7086d5e.hot-update.js b/.next/static/webpack/pages/index.7d520466f7086d5e.hot-update.js deleted file mode 100644 index b9b436f..0000000 --- a/.next/static/webpack/pages/index.7d520466f7086d5e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-100 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0xMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7decf96855cc1328.hot-update.js b/.next/static/webpack/pages/index.7decf96855cc1328.hot-update.js deleted file mode 100644 index c13da08..0000000 --- a/.next/static/webpack/pages/index.7decf96855cc1328.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"03\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBRWIsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQWJNRDtBQWVOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdj4wMTwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAzPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7f0023ca4bc0734b.hot-update.js b/.next/static/webpack/pages/index.7f0023ca4bc0734b.hot-update.js deleted file mode 100644 index e1f3ac0..0000000 --- a/.next/static/webpack/pages/index.7f0023ca4bc0734b.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-white hover:bg-white hover:text-black focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBSWpNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEwsV0FBVTtrQ0FDViw0RUFBQ007NEJBQ0NDLFVBQVM7NEJBQ1RDLEdBQUU7NEJBQ0ZDLFVBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtmLDhEQUFDQztnQkFBR1YsV0FBVTswQkFBNEQ7Ozs7Ozs7Ozs7OztBQUtoRjtLQTFCTUg7QUE0Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLXdoaXRlIGhvdmVyOnRleHQtYmxhY2sgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBkPVwiTTE4LjY4NSAxOS4wOTdBOS43MjMgOS43MjMgMCAwMDIxLjc1IDEyYzAtNS4zODUtNC4zNjUtOS43NS05Ljc1LTkuNzVTMi4yNSA2LjYxNSAyLjI1IDEyYTkuNzIzIDkuNzIzIDAgMDAzLjA2NSA3LjA5N0E5LjcxNiA5LjcxNiAwIDAwMTIgMjEuNzVhOS43MTYgOS43MTYgMCAwMDYuNjg1LTIuNjUzem0tMTIuNTQtMS4yODVBNy40ODYgNy40ODYgMCAwMTEyIDE1YTcuNDg2IDcuNDg2IDAgMDE1Ljg1NSAyLjgxMkE4LjIyNCA4LjIyNCAwIDAxMTIgMjAuMjVhOC4yMjQgOC4yMjQgMCAwMS01Ljg1NS0yLjQzOHpNMTUuNzUgOWEzLjc1IDMuNzUgMCAxMS03LjUgMCAzLjc1IDMuNzUgMCAwMTcuNSAwelwiXG4gICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.7f03054d60092415.hot-update.js b/.next/static/webpack/pages/index.7f03054d60092415.hot-update.js deleted file mode 100644 index 744baa2..0000000 --- a/.next/static/webpack/pages/index.7f03054d60092415.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQWlCOzs7Ozs7MENBQ2hDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtZXh0cmFib2xkXCI+REVQT1NJVDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PjE8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.806880082f2dba01.hot-update.js b/.next/static/webpack/pages/index.806880082f2dba01.hot-update.js deleted file mode 100644 index 48134a8..0000000 --- a/.next/static/webpack/pages/index.806880082f2dba01.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-400 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTQwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.82b477fc386f6fb0.hot-update.js b/.next/static/webpack/pages/index.82b477fc386f6fb0.hot-update.js deleted file mode 100644 index 241108f..0000000 --- a/.next/static/webpack/pages/index.82b477fc386f6fb0.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUFpRTtzQ0FFN0UsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.869431085d1825c1.hot-update.js b/.next/static/webpack/pages/index.869431085d1825c1.hot-update.js deleted file mode 100644 index 4c2f007..0000000 --- a/.next/static/webpack/pages/index.869431085d1825c1.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBOzswQ0FDQyw4REFBQ0U7MENBQUU7Ozs7OzswQ0FDSCw4REFBQ0E7MENBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNZjtLQWZNSDtBQWlCTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXY+REVQT1NJVDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YT5GSUFUPC9hPlxuICAgICAgICAgICAgPGE+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.88258a1a9d4c9d1e.hot-update.js b/.next/static/webpack/pages/index.88258a1a9d4c9d1e.hot-update.js deleted file mode 100644 index 723e504..0000000 --- a/.next/static/webpack/pages/index.88258a1a9d4c9d1e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-black rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ibGFjayByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.8a8f2b069779ba46.hot-update.js b/.next/static/webpack/pages/index.8a8f2b069779ba46.hot-update.js deleted file mode 100644 index 2005272..0000000 --- a/.next/static/webpack/pages/index.8a8f2b069779ba46.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.908d65d825cada63.hot-update.js b/.next/static/webpack/pages/index.908d65d825cada63.hot-update.js deleted file mode 100644 index 5f1d4eb..0000000 --- a/.next/static/webpack/pages/index.908d65d825cada63.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTswQkFDYiw0RUFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDQzs0QkFBR0QsV0FBVTtzQ0FBdUU7Ozs7OztzQ0FHckYsOERBQUNFOzRCQUFFRixXQUFVO3NDQUErQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3hFO0tBbEJNRjtBQW9CTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.9122f7d9be6d34a7.hot-update.js b/.next/static/webpack/pages/index.9122f7d9be6d34a7.hot-update.js deleted file mode 100644 index b01efdd..0000000 --- a/.next/static/webpack/pages/index.9122f7d9be6d34a7.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs7Ozs7a0NBQ2YsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUdELFdBQVU7MENBQXVFOzs7Ozs7MENBR3JGLDhEQUFDRTtnQ0FBRUYsV0FBVTswQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTeEU7S0FuQk1GO0FBcUJOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.93dbe55ece8c13f4.hot-update.js b/.next/static/webpack/pages/index.93dbe55ece8c13f4.hot-update.js deleted file mode 100644 index e6d03bc..0000000 --- a/.next/static/webpack/pages/index.93dbe55ece8c13f4.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full lg:max-w-full px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQTBCOzs7Ozs7MENBQ3pDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGxnOm1heC13LWZ1bGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1leHRyYWJvbGQgdGV4dC0yeGxcIj5ERVBPU0lUPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREMgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+MTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTVcIj5GSUFUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU0XCI+UEFZUEFMPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.9aac99e67893eabb.hot-update.js b/.next/static/webpack/pages/index.9aac99e67893eabb.hot-update.js deleted file mode 100644 index 5e808f5..0000000 --- a/.next/static/webpack/pages/index.9aac99e67893eabb.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-10 mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUFpRTtzQ0FFN0UsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEwIG14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.9c68ac49c5d24342.hot-update.js b/.next/static/webpack/pages/index.9c68ac49c5d24342.hot-update.js deleted file mode 100644 index 5b9355f..0000000 --- a/.next/static/webpack/pages/index.9c68ac49c5d24342.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mr-2\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 14,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQU87Ozs7OztrQ0FFdEIsOERBQUNDO3dCQUNDQyxPQUFNO3dCQUNOQyxTQUFRO3dCQUNSQyxNQUFLO3dCQUNMSixXQUFVO2tDQUNWLDRFQUFDSzs0QkFDQ0MsVUFBUzs0QkFDVEMsR0FBRTs0QkFDRkMsVUFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBS2YsOERBQUNDO2dCQUFHVCxXQUFVOzBCQUE0RDs7Ozs7Ozs7Ozs7O0FBS2hGO0tBeEJNSDtBQTBCTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4PzIxMmIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IE5hdmlnYXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGhlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgbGc6b3JkZXItMiBhYnNvbHV0ZSB0b3AtMTAgcmlnaHQtMjAgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXItMlwiPkRhc2hib2FyZDwvZGl2PlxuXG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBkPVwiTTE4LjY4NSAxOS4wOTdBOS43MjMgOS43MjMgMCAwMDIxLjc1IDEyYzAtNS4zODUtNC4zNjUtOS43NS05Ljc1LTkuNzVTMi4yNSA2LjYxNSAyLjI1IDEyYTkuNzIzIDkuNzIzIDAgMDAzLjA2NSA3LjA5N0E5LjcxNiA5LjcxNiAwIDAwMTIgMjEuNzVhOS43MTYgOS43MTYgMCAwMDYuNjg1LTIuNjUzem0tMTIuNTQtMS4yODVBNy40ODYgNy40ODYgMCAwMTEyIDE1YTcuNDg2IDcuNDg2IDAgMDE1Ljg1NSAyLjgxMkE4LjIyNCA4LjIyNCAwIDAxMTIgMjAuMjVhOC4yMjQgOC4yMjQgMCAwMS01Ljg1NS0yLjQzOHpNMTUuNzUgOWEzLjc1IDMuNzUgMCAxMS03LjUgMCAzLjc1IDMuNzUgMCAwMTcuNSAwelwiXG4gICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInBhdGgiLCJmaWxsUnVsZSIsImQiLCJjbGlwUnVsZSIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.9c7b40043473296e.hot-update.js b/.next/static/webpack/pages/index.9c7b40043473296e.hot-update.js deleted file mode 100644 index 5f1d4eb..0000000 --- a/.next/static/webpack/pages/index.9c7b40043473296e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTswQkFDYiw0RUFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDQzs0QkFBR0QsV0FBVTtzQ0FBdUU7Ozs7OztzQ0FHckYsOERBQUNFOzRCQUFFRixXQUFVO3NDQUErQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3hFO0tBbEJNRjtBQW9CTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.9e961e88b4e2e33d.hot-update.js b/.next/static/webpack/pages/index.9e961e88b4e2e33d.hot-update.js deleted file mode 100644 index 245fb7f..0000000 --- a/.next/static/webpack/pages/index.9e961e88b4e2e33d.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICBERVBPU0lUXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8ZGl2PlVTREM8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNVwiPkZJQVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5QQVlQQUw8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.a00924cbb60f1cbc.hot-update.js b/.next/static/webpack/pages/index.a00924cbb60f1cbc.hot-update.js deleted file mode 100644 index 52be440..0000000 --- a/.next/static/webpack/pages/index.a00924cbb60f1cbc.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.a32913853f280c25.hot-update.js b/.next/static/webpack/pages/index.a32913853f280c25.hot-update.js deleted file mode 100644 index 6a5ac00..0000000 --- a/.next/static/webpack/pages/index.a32913853f280c25.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-20 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-20 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBR2pNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsTUFBSzt3QkFDTEMsU0FBUTt3QkFDUkMsYUFBYTt3QkFDYkMsUUFBTzt3QkFDUFAsV0FBVTtrQ0FDViw0RUFBQ1E7NEJBQ0NDLGVBQWM7NEJBQ2RDLGdCQUFlOzRCQUNmQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLUiw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0yMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgIDwvYT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICBkPVwiTTE3Ljk4MiAxOC43MjVBNy40ODggNy40ODggMCAwMDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMDAtNS45ODIgMi45NzVtMTEuOTYzIDBhOSA5IDAgMTAtMTEuOTYzIDBtMTEuOTYzIDBBOC45NjYgOC45NjYgMCAwMTEyIDIxYTguOTY2IDguOTY2IDAgMDEtNS45ODItMi4yNzVNMTUgOS43NWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtWyM4MjgyODJdIGFic29sdXRlIHRvcC0yMCBsZWZ0LTIwXCI+XG4gICAgICAgIEJVWSBNRSBBIENSWVBUT1xuICAgICAgPC9oMT5cbiAgICA8L2hlYWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRpb247XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImhlYWRlciIsImRpdiIsImNsYXNzTmFtZSIsImEiLCJzdmciLCJ4bWxucyIsImZpbGwiLCJ2aWV3Qm94Iiwic3Ryb2tlV2lkdGgiLCJzdHJva2UiLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsImgxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.aa22dc4a53efc29f.hot-update.js b/.next/static/webpack/pages/index.aa22dc4a53efc29f.hot-update.js deleted file mode 100644 index 4a28825..0000000 --- a/.next/static/webpack/pages/index.aa22dc4a53efc29f.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6 center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC04IGZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezEuNX1cbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02IGNlbnRlclwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.aa59be09deb42163.hot-update.js b/.next/static/webpack/pages/index.aa59be09deb42163.hot-update.js deleted file mode 100644 index d815de1..0000000 --- a/.next/static/webpack/pages/index.aa59be09deb42163.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUNoRSw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHM0QsOERBQUNHO3dCQUFFSCxXQUFVO2tDQUFrTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU96UDtLQWpCTUY7QUFtQk4sK0RBQWVBLGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBEaWdpdGFsV2FsbGV0ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgICAgIENPTk5FQ1QgWU9VUiA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZC1sZWZ0IGltYWdlLXJvdW5kZWQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU09DSUFMIElOVkVTVElOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.acd8fe74dc9c0534.hot-update.js b/.next/static/webpack/pages/index.acd8fe74dc9c0534.hot-update.js deleted file mode 100644 index f30250d..0000000 --- a/.next/static/webpack/pages/index.acd8fe74dc9c0534.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBRWIsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQVpNRDtBQWNOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PjAxPC9kaXY+XG4gICAgICAgICAgPGRpdj4wMjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.b911a801bc9370e6.hot-update.js b/.next/static/webpack/pages/index.b911a801bc9370e6.hot-update.js deleted file mode 100644 index eb76af0..0000000 --- a/.next/static/webpack/pages/index.b911a801bc9370e6.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-400 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS00MDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.bc490b18154f621a.hot-update.js b/.next/static/webpack/pages/index.bc490b18154f621a.hot-update.js deleted file mode 100644 index 6313d6a..0000000 --- a/.next/static/webpack/pages/index.bc490b18154f621a.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style4\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-sky-700 style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"hover:bg-violet-600 active:bg-violet-700 focus:outline-none focus:ring focus:ring-violet-300 \",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQTBCOzs7Ozs7MENBQ3ZDLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBMEI7Ozs7OzswQ0FDdkMsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFnRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVF6SDtLQWxCTUY7QUFvQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PkRFUE9TSVQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU0XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImhvdmVyOmJnLXNreS03MDAgc3R5bGU0XCI+T05DSEFJTiBERVBPU0lUPC9hPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaG92ZXI6YmctdmlvbGV0LTYwMCBhY3RpdmU6YmctdmlvbGV0LTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBmb2N1czpyaW5nLXZpb2xldC0zMDAgXCI+XG4gICAgICAgICAgICAgIFBBWVBBTFxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.c1152517c49bd5ab.hot-update.js b/.next/static/webpack/pages/index.c1152517c49bd5ab.hot-update.js deleted file mode 100644 index f7295f6..0000000 --- a/.next/static/webpack/pages/index.c1152517c49bd5ab.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT TO YOUR\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 30\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQzlELDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc3RCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBUTyBZT1VSPHNwYW4gY2xhc3NOYW1lPVwiY29sb3JcIj5XRUIzIFdBTExFVDwvc3Bhbj4/XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUganVzdGlmeSB0b3AtNjAwXCI+XG4gICAgICAgICAgICA8Q29ubmVjdEJ1dHRvblxuICAgICAgICAgICAgICBzaG93QmFsYW5jZT17e1xuICAgICAgICAgICAgICAgIHNtYWxsU2NyZWVuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsYXJnZVNjcmVlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgY2hhaW5TdGF0dXM9XCJpY29uXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJDb25uZWN0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkNvbm5lY3RCdXR0b24iLCJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwic2hvd0JhbGFuY2UiLCJzbWFsbFNjcmVlbiIsImxhcmdlU2NyZWVuIiwiY2hhaW5TdGF0dXMiLCJsYWJlbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.c9b80114855277b4.hot-update.js b/.next/static/webpack/pages/index.c9b80114855277b4.hot-update.js deleted file mode 100644 index 4c4e0ac..0000000 --- a/.next/static/webpack/pages/index.c9b80114855277b4.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTswQkFDYiw0RUFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDQzs0QkFBR0QsV0FBVTtzQ0FBdUU7Ozs7OztzQ0FHckYsOERBQUNFOzRCQUFFRixXQUFVO3NDQUErQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3hFO0tBbEJNRjtBQW9CTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.cb2439d8f4679961.hot-update.js b/.next/static/webpack/pages/index.cb2439d8f4679961.hot-update.js deleted file mode 100644 index ca7d8e3..0000000 --- a/.next/static/webpack/pages/index.cb2439d8f4679961.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.cca3eaaa78446588.hot-update.js b/.next/static/webpack/pages/index.cca3eaaa78446588.hot-update.js deleted file mode 100644 index 7178fe1..0000000 --- a/.next/static/webpack/pages/index.cca3eaaa78446588.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQXFOOzs7Ozs7a0NBSWxPLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEwsV0FBVTtrQ0FDViw0RUFBQ007NEJBQ0NDLFVBQVM7NEJBQ1RDLEdBQUU7NEJBQ0ZDLFVBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtmLDhEQUFDQztnQkFBR1YsV0FBVTswQkFBNEQ7Ozs7Ozs7Ozs7OztBQUtoRjtLQTFCTUg7QUE0Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLXJpZ2h0IGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBkPVwiTTE4LjY4NSAxOS4wOTdBOS43MjMgOS43MjMgMCAwMDIxLjc1IDEyYzAtNS4zODUtNC4zNjUtOS43NS05Ljc1LTkuNzVTMi4yNSA2LjYxNSAyLjI1IDEyYTkuNzIzIDkuNzIzIDAgMDAzLjA2NSA3LjA5N0E5LjcxNiA5LjcxNiAwIDAwMTIgMjEuNzVhOS43MTYgOS43MTYgMCAwMDYuNjg1LTIuNjUzem0tMTIuNTQtMS4yODVBNy40ODYgNy40ODYgMCAwMTEyIDE1YTcuNDg2IDcuNDg2IDAgMDE1Ljg1NSAyLjgxMkE4LjIyNCA4LjIyNCAwIDAxMTIgMjAuMjVhOC4yMjQgOC4yMjQgMCAwMS01Ljg1NS0yLjQzOHpNMTUuNzUgOWEzLjc1IDMuNzUgMCAxMS03LjUgMCAzLjc1IDMuNzUgMCAwMTcuNSAwelwiXG4gICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.d2257d29a907f6a8.hot-update.js b/.next/static/webpack/pages/index.d2257d29a907f6a8.hot-update.js deleted file mode 100644 index 1347b1b..0000000 --- a/.next/static/webpack/pages/index.d2257d29a907f6a8.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 bg-blue-50 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBK0w7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXhOO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1ibHVlLTUwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgU09DSUFMIElOVkVTVElOR1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3JlZGl0Q2FyZDtcbiJdLCJuYW1lcyI6WyJDcmVkaXRDYXJkIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.d72496e2657b8921.hot-update.js b/.next/static/webpack/pages/index.d72496e2657b8921.hot-update.js deleted file mode 100644 index aec38bc..0000000 --- a/.next/static/webpack/pages/index.d72496e2657b8921.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded block w-full rounded-3xl border-gray-400 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUNoRSw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHM0QsOERBQUNHO3dCQUFFSCxXQUFVO2tDQUErTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU90TztLQWpCTUY7QUFtQk4sK0RBQWVBLGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBEaWdpdGFsV2FsbGV0ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgICAgIENPTk5FQ1QgWU9VUiA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWdyYXktNDAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.d85c564cade50119.hot-update.js b/.next/static/webpack/pages/index.d85c564cade50119.hot-update.js deleted file mode 100644 index eeef358..0000000 --- a/.next/static/webpack/pages/index.d85c564cade50119.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayBtYXgtdy1zbSBwLTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgZmFyLCBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.d93a7311d91f2431.hot-update.js b/.next/static/webpack/pages/index.d93a7311d91f2431.hot-update.js deleted file mode 100644 index 259ccb5..0000000 --- a/.next/static/webpack/pages/index.d93a7311d91f2431.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/FrontPage.tsx": -/*!****************************************!*\ - !*** ./pages/components/FrontPage.tsx ***! - \****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-scroll */ \"./node_modules/react-scroll/modules/index.js\");\n\n\nconst FrontPage = ()=>{\n const handleScroll = (e)=>{\n var _elem;\n e.preventDefault();\n //remove everything before the hash\n const targetId = e.currentTarget.href.replace(/.*\\#/, \"\");\n const elem = document.getElementById(targetId);\n window.scrollTo({\n top: (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.getBoundingClientRect().top,\n behavior: \"smooth\"\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-80 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"INVEST IN CRYPTO WITH\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline border-[black]\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 22,\n columnNumber: 15\n }, undefined),\n \"OLLAR\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"C\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 23,\n columnNumber: 15\n }, undefined),\n \"OST\\xa0\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"underline\",\n children: \"A\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 24,\n columnNumber: 15\n }, undefined),\n \"VERAGE\\xa0\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, undefined),\n \"APPROACH ON DEXES\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 20,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mx-auto mt-4 max-w-xl sm:text-xl/relaxed text-[#828282]\",\n children: \"Use AI Crypto Advisor to make a right choice\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 flex flex-wrap m-10 justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_scroll__WEBPACK_IMPORTED_MODULE_1__.Link, {\n className: \"block w-full m-0 rounded-3xl border-[yellow] border-4 p-8 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n to: \"digitalWallet\",\n spy: true,\n smooth: true,\n offset: 50,\n duration: 500,\n children: [\n \"EXPLORE\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n className: \"px-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z\",\n \"clip-rule\": \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 56,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute right-60 top-40\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-right block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"STAKING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/FrontPage.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = FrontPage;\n/* harmony default export */ __webpack_exports__[\"default\"] = (FrontPage);\nvar _c;\n$RefreshReg$(_c, \"FrontPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0Zyb250UGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0M7QUFFcEMsTUFBTUMsWUFBWTtJQUNoQixNQUFNQyxlQUFlLENBQUNDO1lBTWJDO1FBTFBELEVBQUVFLGNBQWM7UUFDaEIsbUNBQW1DO1FBQ25DLE1BQU1DLFdBQVdILEVBQUVJLGFBQWEsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLENBQUMsUUFBUTtRQUN0RCxNQUFNTCxPQUFPTSxTQUFTQyxjQUFjLENBQUNMO1FBQ3JDTSxPQUFPQyxRQUFRLENBQUM7WUFDZEMsR0FBRyxHQUFFVixRQUFBQSxrQkFBQUEsNEJBQUFBLE1BQU1XLHFCQUFxQixHQUFHRCxHQUFHO1lBQ3RDRSxVQUFVO1FBQ1o7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7O3dCQUFpRTtzQ0FFN0UsOERBQUNFOzRCQUFLRixXQUFVOzs4Q0FDZCw4REFBQ0U7b0NBQUtGLFdBQVU7O3NEQUNkLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBMkI7Ozs7Ozt3Q0FBUTtzREFDbkQsOERBQUNFOzRDQUFLRixXQUFVO3NEQUFZOzs7Ozs7d0NBQVE7c0RBQ3BDLDhEQUFDRTs0Q0FBS0YsV0FBVTtzREFBWTs7Ozs7O3dDQUFROzs7Ozs7O2dDQUMvQjs7Ozs7Ozs7Ozs7Ozs4QkFJWCw4REFBQ0c7b0JBQUVILFdBQVU7OEJBQTBEOzs7Ozs7OEJBSXZFLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ2xCLDhDQUFJQTt3QkFDSGtCLFdBQVU7d0JBQ1ZJLElBQUc7d0JBQ0hDLEtBQUs7d0JBQ0xDLFFBQVE7d0JBQ1JDLFFBQVE7d0JBQ1JDLFVBQVU7OzRCQUFLOzBDQUVmLDhEQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTFosV0FBVTswQ0FDViw0RUFBQ2E7b0NBQ0NDLGFBQVU7b0NBQ1ZDLEdBQUU7b0NBQ0ZDLGFBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTWxCLDhEQUFDakI7b0JBQUlDLFdBQVU7OEJBQ2IsNEVBQUNpQjt3QkFBRWpCLFdBQVU7a0NBQWtPOzs7Ozs7Ozs7Ozs4QkFLalAsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDaUI7d0JBQUVqQixXQUFVO2tDQUFxTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU81TztLQW5FTWpCO0FBcUVOLCtEQUFlQSxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRnJvbnRQYWdlLnRzeD8yOGQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtc2Nyb2xsXCI7XG5cbmNvbnN0IEZyb250UGFnZSA9ICgpID0+IHtcbiAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBoYXNoXG4gICAgY29uc3QgdGFyZ2V0SWQgPSBlLmN1cnJlbnRUYXJnZXQuaHJlZi5yZXBsYWNlKC8uKlxcIy8sIFwiXCIpO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogZWxlbT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktODAgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgSU5WRVNUIElOIENSWVBUTyBXSVRIXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic206YmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZSBib3JkZXItW2JsYWNrXVwiPkQ8L3NwYW4+T0xMQVImbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+Qzwvc3Bhbj5PU1QmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+QTwvc3Bhbj5WRVJBR0UmbmJzcDtcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEFQUFJPQUNIIE9OIERFWEVTXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJteC1hdXRvIG10LTQgbWF4LXcteGwgc206dGV4dC14bC9yZWxheGVkIHRleHQtWyM4MjgyODJdXCI+XG4gICAgICAgICAgVXNlIEFJIENyeXB0byBBZHZpc29yIHRvIG1ha2UgYSByaWdodCBjaG9pY2VcbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtOCBmbGV4IGZsZXgtd3JhcCBtLTEwIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCBtLTAgcm91bmRlZC0zeGwgYm9yZGVyLVt5ZWxsb3ddIGJvcmRlci00IHAtOCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiXG4gICAgICAgICAgICB0bz1cImRpZ2l0YWxXYWxsZXRcIlxuICAgICAgICAgICAgc3B5PXt0cnVlfVxuICAgICAgICAgICAgc21vb3RoPXt0cnVlfVxuICAgICAgICAgICAgb2Zmc2V0PXs1MH1cbiAgICAgICAgICAgIGR1cmF0aW9uPXs1MDB9PlxuICAgICAgICAgICAgRVhQTE9SRVxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJweC01XCI+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0uNzUtMTEuMjVhLjc1Ljc1IDAgMDAtMS41IDB2NC41OUw3LjMgOS4yNGEuNzUuNzUgMCAwMC0xLjEgMS4wMmwzLjI1IDMuNWEuNzUuNzUgMCAwMDEuMSAwbDMuMjUtMy41YS43NS43NSAwIDEwLTEuMS0xLjAybC0xLjk1IDIuMVY2Ljc1elwiXG4gICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC02MCB0b3AtNDBcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTYwIHRvcC00MFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtcmlnaHQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgU1RBS0lOR1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZyb250UGFnZTtcbiJdLCJuYW1lcyI6WyJMaW5rIiwiRnJvbnRQYWdlIiwiaGFuZGxlU2Nyb2xsIiwiZSIsImVsZW0iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldElkIiwiY3VycmVudFRhcmdldCIsImhyZWYiLCJyZXBsYWNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIndpbmRvdyIsInNjcm9sbFRvIiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYmVoYXZpb3IiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJwIiwidG8iLCJzcHkiLCJzbW9vdGgiLCJvZmZzZXQiLCJkdXJhdGlvbiIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbC1ydWxlIiwiZCIsImNsaXAtcnVsZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/FrontPage.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.dafb1c9068442956.hot-update.js b/.next/static/webpack/pages/index.dafb1c9068442956.hot-update.js deleted file mode 100644 index 9e7a63c..0000000 --- a/.next/static/webpack/pages/index.dafb1c9068442956.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block rounded-lg bg-white shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] dark:bg-neutral-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"border-b-2 border-neutral-100 px-6 py-3 text-xl font-medium leading-tight dark:border-neutral-600 dark:text-neutral-50\",\n children: \"Featured\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-xl font-medium leading-tight text-neutral-800 dark:text-neutral-50\",\n children: \"Special title treatment\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-4 text-base text-neutral-600 dark:text-neutral-200\",\n children: \"With supporting text below as a natural lead-in to additional content.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-block rounded bg-primary px-6 pb-2 pt-2.5 text-xs font-medium uppercase leading-normal text-white shadow-[0_4px_9px_-4px_#3b71ca] transition duration-150 ease-in-out hover:bg-primary-600 hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:bg-primary-600 focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:outline-none focus:ring-0 active:bg-primary-700 active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] dark:shadow-[0_4px_9px_-4px_rgba(59,113,202,0.5)] dark:hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)]\",\n \"data-te-ripple-init\": true,\n \"data-te-ripple-color\": \"light\",\n children: \"Go somewhere\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXlIOzs7Ozs7a0NBR3ZJLDhEQUFDRDt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFHRCxXQUFVOzBDQUErRTs7Ozs7OzBDQUc3Riw4REFBQ0U7Z0NBQUVGLFdBQVU7MENBQXdEOzs7Ozs7MENBSXJFLDhEQUFDRztnQ0FDQ0MsTUFBSztnQ0FDTEosV0FBVTtnQ0FDVksscUJBQW1CO2dDQUNuQkMsd0JBQXFCOzBDQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNDO0tBNUJNUjtBQThCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayByb3VuZGVkLWxnIGJnLXdoaXRlIHNoYWRvdy1bMF8ycHhfMTVweF8tM3B4X3JnYmEoMCwwLDAsMC4wNyksMF8xMHB4XzIwcHhfLTJweF9yZ2JhKDAsMCwwLDAuMDQpXSBkYXJrOmJnLW5ldXRyYWwtNzAwXCI+XG4gICAgICAgICAgPGg1IGNsYXNzTmFtZT1cImJvcmRlci1iLTIgYm9yZGVyLW5ldXRyYWwtMTAwIHB4LTYgcHktMyB0ZXh0LXhsIGZvbnQtbWVkaXVtIGxlYWRpbmctdGlnaHQgZGFyazpib3JkZXItbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtNTBcIj5cbiAgICAgICAgICAgIEZlYXR1cmVkXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNlwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC14bCBmb250LW1lZGl1bSBsZWFkaW5nLXRpZ2h0IHRleHQtbmV1dHJhbC04MDAgZGFyazp0ZXh0LW5ldXRyYWwtNTBcIj5cbiAgICAgICAgICAgICAgU3BlY2lhbCB0aXRsZSB0cmVhdG1lbnRcbiAgICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYi00IHRleHQtYmFzZSB0ZXh0LW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTIwMFwiPlxuICAgICAgICAgICAgICBXaXRoIHN1cHBvcnRpbmcgdGV4dCBiZWxvdyBhcyBhIG5hdHVyYWwgbGVhZC1pbiB0byBhZGRpdGlvbmFsXG4gICAgICAgICAgICAgIGNvbnRlbnQuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtYmxvY2sgcm91bmRlZCBiZy1wcmltYXJ5IHB4LTYgcGItMiBwdC0yLjUgdGV4dC14cyBmb250LW1lZGl1bSB1cHBlcmNhc2UgbGVhZGluZy1ub3JtYWwgdGV4dC13aGl0ZSBzaGFkb3ctWzBfNHB4XzlweF8tNHB4XyMzYjcxY2FdIHRyYW5zaXRpb24gZHVyYXRpb24tMTUwIGVhc2UtaW4tb3V0IGhvdmVyOmJnLXByaW1hcnktNjAwIGhvdmVyOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMyksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjIpXSBmb2N1czpiZy1wcmltYXJ5LTYwMCBmb2N1czpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjMpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4yKV0gZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBhY3RpdmU6YmctcHJpbWFyeS03MDAgYWN0aXZlOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMyksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjIpXSBkYXJrOnNoYWRvdy1bMF80cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuNSldIGRhcms6aG92ZXI6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4yKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMSldIGRhcms6Zm9jdXM6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4yKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMSldIGRhcms6YWN0aXZlOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMiksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjEpXVwiXG4gICAgICAgICAgICAgIGRhdGEtdGUtcmlwcGxlLWluaXRcbiAgICAgICAgICAgICAgZGF0YS10ZS1yaXBwbGUtY29sb3I9XCJsaWdodFwiPlxuICAgICAgICAgICAgICBHbyBzb21ld2hlcmVcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDUiLCJwIiwiYnV0dG9uIiwidHlwZSIsImRhdGEtdGUtcmlwcGxlLWluaXQiLCJkYXRhLXRlLXJpcHBsZS1jb2xvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.db6748bcc8e17ff8.hot-update.js b/.next/static/webpack/pages/index.db6748bcc8e17ff8.hot-update.js deleted file mode 100644 index 7f18b32..0000000 --- a/.next/static/webpack/pages/index.db6748bcc8e17ff8.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICBERVBPU0lUXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPkJBTEFOQ0U6PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVuZGVybGluZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgIDxkaXY+VVNEQzwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PlVTREM8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.dc1c5660c34af963.hot-update.js b/.next/static/webpack/pages/index.dc1c5660c34af963.hot-update.js deleted file mode 100644 index a4a281e..0000000 --- a/.next/static/webpack/pages/index.dc1c5660c34af963.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBSWpNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEwsV0FBVTtrQ0FDViw0RUFBQ007NEJBQ0NDLFVBQVM7NEJBQ1RDLEdBQUU7NEJBQ0ZDLFVBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtmLDhEQUFDQztnQkFBR1YsV0FBVTswQkFBNEQ7Ozs7Ozs7Ozs7OztBQUtoRjtLQTFCTUg7QUE0Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBkPVwiTTE4LjY4NSAxOS4wOTdBOS43MjMgOS43MjMgMCAwMDIxLjc1IDEyYzAtNS4zODUtNC4zNjUtOS43NS05Ljc1LTkuNzVTMi4yNSA2LjYxNSAyLjI1IDEyYTkuNzIzIDkuNzIzIDAgMDAzLjA2NSA3LjA5N0E5LjcxNiA5LjcxNiAwIDAwMTIgMjEuNzVhOS43MTYgOS43MTYgMCAwMDYuNjg1LTIuNjUzem0tMTIuNTQtMS4yODVBNy40ODYgNy40ODYgMCAwMTEyIDE1YTcuNDg2IDcuNDg2IDAgMDE1Ljg1NSAyLjgxMkE4LjIyNCA4LjIyNCAwIDAxMTIgMjAuMjVhOC4yMjQgOC4yMjQgMCAwMS01Ljg1NS0yLjQzOHpNMTUuNzUgOWEzLjc1IDMuNzUgMCAxMS03LjUgMCAzLjc1IDMuNzUgMCAwMTcuNSAwelwiXG4gICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.dc9ef52e26682f41.hot-update.js b/.next/static/webpack/pages/index.dc9ef52e26682f41.hot-update.js deleted file mode 100644 index 23223a3..0000000 --- a/.next/static/webpack/pages/index.dc9ef52e26682f41.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO2tDQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2Y7S0FaTUQ7QUFjTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXY+MDE8L2Rpdj5cbiAgICAgICAgICA8ZGl2PjAyPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.e01ace179d49138b.hot-update.js b/.next/static/webpack/pages/index.e01ace179d49138b.hot-update.js deleted file mode 100644 index 5c5139c..0000000 --- a/.next/static/webpack/pages/index.e01ace179d49138b.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"NO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"YES\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUMvRCw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHNUQsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0c7Z0NBQUVILFdBQVU7MENBQWtPOzs7Ozs7MENBSS9PLDhEQUFDRztnQ0FBRUgsV0FBVTswQ0FBa087Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRM1A7S0F2Qk1GO0FBeUJOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRGlnaXRhbFdhbGxldC50c3g/NzM5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgICBETyBZT1UgSEFWRSBBIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZC1sZWZ0IGltYWdlLXJvdW5kZWQgYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBiZy1bIzAwRjkwMF0gcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgICBOT1xuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICAgIFlFU1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.e0dd459bde91438f.hot-update.js b/.next/static/webpack/pages/index.e0dd459bde91438f.hot-update.js deleted file mode 100644 index 25ea2b4..0000000 --- a/.next/static/webpack/pages/index.e0dd459bde91438f.hot-update.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGFBQWE7SUFDakIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUNoRSw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHM0QsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDSCxpRUFBYUE7NEJBQ1pNLGFBQWE7Z0NBQ1hDLGFBQWE7Z0NBQ2JDLGFBQWE7NEJBQ2Y7NEJBQ0FDLGFBQVk7NEJBQ1pDLE9BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9wQjtLQXhCTVQ7QUEwQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgICAgIENPTk5FQ1QgWU9VUiA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBqdXN0aWZ5IHRvcC02MDBcIj5cbiAgICAgICAgICAgIDxDb25uZWN0QnV0dG9uXG4gICAgICAgICAgICAgIHNob3dCYWxhbmNlPXt7XG4gICAgICAgICAgICAgICAgc21hbGxTY3JlZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxhcmdlU2NyZWVuOiB0cnVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBjaGFpblN0YXR1cz1cImljb25cIlxuICAgICAgICAgICAgICBsYWJlbD1cIkNvbm5lY3RcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ29ubmVjdEJ1dHRvbiIsIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJzaG93QmFsYW5jZSIsInNtYWxsU2NyZWVuIiwibGFyZ2VTY3JlZW4iLCJjaGFpblN0YXR1cyIsImxhYmVsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }), - -/***/ "./pages/index.tsx": -/*!*************************!*\ - !*** ./pages/index.tsx ***! - \*************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Navigation */ \"./pages/components/Navigation.tsx\");\n/* harmony import */ var _components_FrontPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/FrontPage */ \"./pages/components/FrontPage.tsx\");\n/* harmony import */ var _components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/DigitalWallet */ \"./pages/components/DigitalWallet.tsx\");\n/* harmony import */ var _components_CreditCard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/CreditCard */ \"./pages/components/CreditCard.tsx\");\n\n//Components\n\n\n\n\nconst Home = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"title\", {\n children: \" Buy Me a Crypto\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Navigation__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_FrontPage__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_DigitalWallet__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 18,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_CreditCard__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 19,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/index.tsx\",\n lineNumber: 14,\n columnNumber: 5\n }, undefined);\n};\n_c = Home;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Home);\nvar _c;\n$RefreshReg$(_c, \"Home\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9pbmRleC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxZQUFZO0FBQ3FDO0FBQ0Y7QUFDUTtBQUNOO0FBRWpELE1BQU1JLE9BQWlCO0lBQ3JCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDOzBCQUFNOzs7Ozs7MEJBQ1AsOERBQUNOLDhEQUFVQTs7Ozs7MEJBQ1gsOERBQUNDLDZEQUFTQTs7Ozs7MEJBQ1YsOERBQUNDLGlFQUFhQTs7Ozs7MEJBQ2QsOERBQUNDLDhEQUFVQTs7Ozs7Ozs7Ozs7QUFHakI7S0FWTUM7QUFZTiwrREFBZUEsSUFBSUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9pbmRleC50c3g/MDdmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcbmltcG9ydCB0eXBlIHsgTmV4dFBhZ2UgfSBmcm9tIFwibmV4dFwiO1xuaW1wb3J0IEhlYWQgZnJvbSBcIm5leHQvaGVhZFwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi4vc3R5bGVzL0hvbWUubW9kdWxlLmNzc1wiO1xuXG4vL0NvbXBvbmVudHNcbmltcG9ydCBOYXZpZ2F0aW9uIGZyb20gXCIuL2NvbXBvbmVudHMvTmF2aWdhdGlvblwiO1xuaW1wb3J0IEZyb250UGFnZSBmcm9tIFwiLi9jb21wb25lbnRzL0Zyb250UGFnZVwiO1xuaW1wb3J0IERpZ2l0YWxXYWxsZXQgZnJvbSBcIi4vY29tcG9uZW50cy9EaWdpdGFsV2FsbGV0XCI7XG5pbXBvcnQgQ3JlZGl0Q2FyZCBmcm9tIFwiLi9jb21wb25lbnRzL0NyZWRpdENhcmRcIjtcblxuY29uc3QgSG9tZTogTmV4dFBhZ2UgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDx0aXRsZT4gQnV5IE1lIGEgQ3J5cHRvPC90aXRsZT5cbiAgICAgIDxOYXZpZ2F0aW9uIC8+XG4gICAgICA8RnJvbnRQYWdlIC8+XG4gICAgICA8RGlnaXRhbFdhbGxldCAvPlxuICAgICAgPENyZWRpdENhcmQgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEhvbWU7XG4iXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsIkZyb250UGFnZSIsIkRpZ2l0YWxXYWxsZXQiLCJDcmVkaXRDYXJkIiwiSG9tZSIsImRpdiIsInRpdGxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/index.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.e87f983ea05170e2.hot-update.js b/.next/static/webpack/pages/index.e87f983ea05170e2.hot-update.js deleted file mode 100644 index 4f64109..0000000 --- a/.next/static/webpack/pages/index.e87f983ea05170e2.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n \"DEPOSIT\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underlined\",\n children: \"USDC\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzs0QkFBeUI7MENBRXRDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQWE7Ozs7Ozs7Ozs7OztrQ0FFOUIsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7OzswQ0FDdEIsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sQztLQXBCTUY7QUFzQk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBDcmVkaXRDYXJkID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpncmlkIGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgICAgey8qIC8vY2FyZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIERFUE9TSVRcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+QkFMQU5DRTo8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidW5kZXJsaW5lZFwiPlVTREM8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNVwiPkZJQVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5PTkNIQUlOIERFUE9TSVQ8L2E+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzdHlsZTRcIj5QQVlQQUw8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.e8cdf480eb772682.hot-update.js b/.next/static/webpack/pages/index.e8cdf480eb772682.hot-update.js deleted file mode 100644 index f30250d..0000000 --- a/.next/static/webpack/pages/index.e8cdf480eb772682.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"01\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBRWIsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7a0NBQUk7Ozs7OztrQ0FDTCw4REFBQ0E7a0NBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLZjtLQVpNRDtBQWNOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBibG9jayBtYXgtdy1zbSBwLTYgYmctZ3JheS0yMDAgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLWxnIHNoYWRvdyBob3ZlcjpiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwIGRhcms6aG92ZXI6YmctZ3JheS03MDBcIj5cbiAgICAgICAgICA8ZGl2PjAxPC9kaXY+XG4gICAgICAgICAgPGRpdj4wMjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ea443f774833fa42.hot-update.js b/.next/static/webpack/pages/index.ea443f774833fa42.hot-update.js deleted file mode 100644 index 6738b13..0000000 --- a/.next/static/webpack/pages/index.ea443f774833fa42.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \" block w-full rounded-3xl border-blue-600 bg-blue-50 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBZ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXpOO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cIiBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLWJsdWUtNTAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ea4bbb3606182f89.hot-update.js b/.next/static/webpack/pages/index.ea4bbb3606182f89.hot-update.js deleted file mode 100644 index 5f1d4eb..0000000 --- a/.next/static/webpack/pages/index.ea4bbb3606182f89.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTswQkFDYiw0RUFBQ0Q7b0JBQUlDLFdBQVU7O3NDQUNiLDhEQUFDQzs0QkFBR0QsV0FBVTtzQ0FBdUU7Ozs7OztzQ0FHckYsOERBQUNFOzRCQUFFRixXQUFVO3NDQUErQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3hFO0tBbEJNRjtBQW9CTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgIE5vdGV3b3J0aHkgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgMjAyMVxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgIEhlcmUgYXJlIHRoZSBiaWdnZXN0IGVudGVycHJpc2UgdGVjaG5vbG9neSBhY3F1aXNpdGlvbnMgb2YgMjAyMSBzb1xuICAgICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ea6bee58e98aa337.hot-update.js b/.next/static/webpack/pages/index.ea6bee58e98aa337.hot-update.js deleted file mode 100644 index a7b9815..0000000 --- a/.next/static/webpack/pages/index.ea6bee58e98aa337.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUNoRSw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHM0QsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0c7Z0NBQUdILFdBQVU7MENBQXVFOzs7Ozs7MENBR3JGLDhEQUFDSTtnQ0FBRUosV0FBVTswQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTeEU7S0F2Qk1GO0FBeUJOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwIGJnLWNsaXAtdGV4dCB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTV4bFwiPlxuICAgICAgICAgICAgICBDT05ORUNUIFlPVVIgPHNwYW4gY2xhc3NOYW1lPVwiY29sb3JcIj5XRUIzIFdBTExFVDwvc3Bhbj4/XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMiB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgICA8L2g1PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1ub3JtYWwgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICAgIGZhciwgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJEaWdpdGFsV2FsbGV0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJzcGFuIiwiaDUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ebf7d916a55a4f61.hot-update.js b/.next/static/webpack/pages/index.ebf7d916a55a4f61.hot-update.js deleted file mode 100644 index dce2d1c..0000000 --- a/.next/static/webpack/pages/index.ebf7d916a55a4f61.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"02\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO2tDQUFJOzs7Ozs7a0NBQ0wsOERBQUNBO2tDQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2Y7S0FaTUQ7QUFjTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmdyaWQgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyIFwiPlxuICAgICAgICB7LyogLy9jYXJkICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGwganVzdGlmeS1iZXR3ZWVuIGJsb2NrIG1heC13LXNtIHAtNiBiZy1ncmF5LTIwMCBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxkaXY+REVQT1NJVDwvZGl2PlxuICAgICAgICAgIDxkaXY+MDI8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ec4f2a555bdd08b8.hot-update.js b/.next/static/webpack/pages/index.ec4f2a555bdd08b8.hot-update.js deleted file mode 100644 index 8a446b5..0000000 --- a/.next/static/webpack/pages/index.ec4f2a555bdd08b8.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \" mt-8 flex items-center lg:order-2 absolute top-10 right-20 \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: [\n \"Dashboard\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOzBCQUNiLDRFQUFDQztvQkFBRUQsV0FBVTs7d0JBQW9MO3NDQUUvTCw4REFBQ0U7NEJBQ0NDLE9BQU07NEJBQ05DLE1BQUs7NEJBQ0xDLFNBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLFFBQU87NEJBQ1BQLFdBQVU7c0NBQ1YsNEVBQUNRO2dDQUNDQyxlQUFjO2dDQUNkQyxnQkFBZTtnQ0FDZkMsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNViw4REFBQ0M7Z0JBQUdaLFdBQVU7MEJBQTREOzs7Ozs7Ozs7Ozs7QUFLaEY7S0EzQk1IO0FBNkJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvTmF2aWdhdGlvbi50c3g/MjEyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCIgbXQtOCBmbGV4IGl0ZW1zLWNlbnRlciBsZzpvcmRlci0yIGFic29sdXRlIHRvcC0xMCByaWdodC0yMCBcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwiYmxvY2sgdy1mdWxsIHJvdW5kZWQtM3hsIGJvcmRlci1ibHVlLTYwMCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibGFjayBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgRGFzaGJvYXJkXG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy02IGgtNlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGQ9XCJNMTcuOTgyIDE4LjcyNUE3LjQ4OCA3LjQ4OCAwIDAwMTIgMTUuNzVhNy40ODggNy40ODggMCAwMC01Ljk4MiAyLjk3NW0xMS45NjMgMGE5IDkgMCAxMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAxMTIgMjFhOC45NjYgOC45NjYgMCAwMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJzdHJva2VXaWR0aCIsInN0cm9rZSIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkIiwiaDEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ed1bc5aa5acb62ec.hot-update.js b/.next/static/webpack/pages/index.ed1bc5aa5acb62ec.hot-update.js deleted file mode 100644 index e6cbadf..0000000 --- a/.next/static/webpack/pages/index.ed1bc5aa5acb62ec.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ed3a1e585815b5e8.hot-update.js b/.next/static/webpack/pages/index.ed3a1e585815b5e8.hot-update.js deleted file mode 100644 index bdf0cea..0000000 --- a/.next/static/webpack/pages/index.ed3a1e585815b5e8.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\nvar _s = $RefreshSig$();\n\n\nconst DigitalWallet = ()=>{\n _s();\n const [connect, setConnect] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_2__.ConnectButton, {}, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 42\n }, undefined));\n setConnect(connect);\n function ConnectYes() {\n connect;\n }\n function ConnectNo() {}\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 21,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n onClick: ConnectNo,\n children: \"NO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 25,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n onClick: ConnectYes,\n children: \"YES\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 31,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_s(DigitalWallet, \"3eFNRVeLmqP+xQ3kTaqKSmmw/zc=\");\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVEO0FBRWY7QUFFeEMsTUFBTUcsZ0JBQWdCOztJQUNwQixNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR0gsK0NBQVFBLGVBQUMsOERBQUNGLGlFQUFhQTs7Ozs7SUFDckRLLFdBQVdEO0lBRVgsU0FBU0U7UUFDUEY7SUFDRjtJQUVBLFNBQVNHLGFBQWE7SUFFdEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUMvRCw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHNUQsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0c7Z0NBQ0NILFdBQVU7Z0NBQ1ZJLFNBQVNOOzBDQUFXOzs7Ozs7MENBSXRCLDhEQUFDSztnQ0FDQ0gsV0FBVTtnQ0FDVkksU0FBU1A7MENBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRbkM7R0FwQ01IO0tBQUFBO0FBc0NOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvRGlnaXRhbFdhbGxldC50c3g/NzM5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIGNvbnN0IFtjb25uZWN0LCBzZXRDb25uZWN0XSA9IHVzZVN0YXRlKDxDb25uZWN0QnV0dG9uIC8+KTtcbiAgc2V0Q29ubmVjdChjb25uZWN0KTtcblxuICBmdW5jdGlvbiBDb25uZWN0WWVzKCkge1xuICAgIGNvbm5lY3Q7XG4gIH1cblxuICBmdW5jdGlvbiBDb25uZWN0Tm8oKSB7fVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgRE8gWU9VIEhBVkUgQSA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBqdXN0aWZ5IHRvcC02MDBcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctWyMwMEY5MDBdIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtDb25uZWN0Tm99PlxuICAgICAgICAgICAgICBOT1xuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCJcbiAgICAgICAgICAgICAgb25DbGljaz17Q29ubmVjdFllc30+XG4gICAgICAgICAgICAgIFlFU1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIkRpZ2l0YWxXYWxsZXQiLCJjb25uZWN0Iiwic2V0Q29ubmVjdCIsIkNvbm5lY3RZZXMiLCJDb25uZWN0Tm8iLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJhIiwib25DbGljayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ed7bb9d252c5fc7d.hot-update.js b/.next/static/webpack/pages/index.ed7bb9d252c5fc7d.hot-update.js deleted file mode 100644 index 51605be..0000000 --- a/.next/static/webpack/pages/index.ed7bb9d252c5fc7d.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-extrabold text-2xl\",\n children: \"DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: \"BALANCE:\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"underline inline-flex items-center w-full justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"USDC \"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"1\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 14,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style5\",\n children: \"FIAT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"ONCHAIN DEPOSIT\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"style4\",\n children: \"PAYPAL\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 17,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtZQUFJQyxXQUFVO3NCQUViLDRFQUFDRDtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7MENBQTBCOzs7Ozs7MENBQ3pDLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FBRzs7Ozs7OzBDQUNsQiw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNiLDhEQUFDRDtrREFBSTs7Ozs7O2tEQUNMLDhEQUFDQTtrREFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tDQUdULDhEQUFDQTt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFFRCxXQUFVOzBDQUFTOzs7Ozs7MENBQ3RCLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBUzs7Ozs7OzBDQUN0Qiw4REFBQ0M7Z0NBQUVELFdBQVU7MENBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNbEM7S0F2Qk1GO0FBeUJOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIHsvKiAvL2NhcmQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvbnQtZXh0cmFib2xkIHRleHQtMnhsXCI+REVQT1NJVDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5CQUxBTkNFOjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdj5VU0RDIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2PjE8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtNFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3R5bGU1XCI+RklBVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPk9OQ0hBSU4gREVQT1NJVDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInN0eWxlNFwiPlBBWVBBTDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ed9db3d45f6e7579.hot-update.js b/.next/static/webpack/pages/index.ed9db3d45f6e7579.hot-update.js deleted file mode 100644 index 45731a9..0000000 --- a/.next/static/webpack/pages/index.ed9db3d45f6e7579.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-gray-50 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDRDtzQkFDQyw0RUFBQ0E7Z0JBQUlDLFdBQVU7MEJBQ2IsNEVBQUNEO29CQUFJQyxXQUFVOzhCQUNiLDRFQUFDQzt3QkFBRUQsV0FBVTtrQ0FBZ087Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXpQO0tBZE1GO0FBZ0JOLCtEQUFlQSxVQUFVQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgQ3JlZGl0Q2FyZCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIGxnOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy0zeGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImltYWdlLXJvdW5kZWQtbGVmdCBpbWFnZS1yb3VuZGVkIGJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctZ3JheS01MCBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICAgIFNPQ0lBTCBJTlZFU1RJTkdcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENyZWRpdENhcmQ7XG4iXSwibmFtZXMiOlsiQ3JlZGl0Q2FyZCIsImRpdiIsImNsYXNzTmFtZSIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ed9e22f313940496.hot-update.js b/.next/static/webpack/pages/index.ed9e22f313940496.hot-update.js deleted file mode 100644 index 9a64177..0000000 --- a/.next/static/webpack/pages/index.ed9e22f313940496.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded-left image-rounded block w-full rounded-3xl border-blue-600 bg-[#00F900] px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUMvRCw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHNUQsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDRzs0QkFBRUgsV0FBVTtzQ0FBa087Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVEzUDtLQW5CTUY7QUFxQk4sK0RBQWVBLGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9EaWdpdGFsV2FsbGV0LnRzeD83Mzk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBEaWdpdGFsV2FsbGV0ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgICAgIERPIFlPVSBIQVZFIEEgPHNwYW4gY2xhc3NOYW1lPVwiY29sb3JcIj5XRUIzIFdBTExFVDwvc3Bhbj4/XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUganVzdGlmeSB0b3AtNjAwXCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJpbWFnZS1yb3VuZGVkLWxlZnQgaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLVsjMDBGOTAwXSBweC0xMiBweS0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC13aGl0ZSBob3ZlcjpiZy1ibGFjayBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nIGFjdGl2ZTp0ZXh0LW9wYWNpdHktNzUgc206dy1hdXRvXCI+XG4gICAgICAgICAgICAgIENvbm5lY3RcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsImEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ee95abeb45bdeb7a.hot-update.js b/.next/static/webpack/pages/index.ee95abeb45bdeb7a.hot-update.js deleted file mode 100644 index ca7d8e3..0000000 --- a/.next/static/webpack/pages/index.ee95abeb45bdeb7a.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IGxnOmgtc2NyZWVuIHBsYWNlLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.eeaaa79881cb53bb.hot-update.js b/.next/static/webpack/pages/index.eeaaa79881cb53bb.hot-update.js deleted file mode 100644 index 9aa5f4f..0000000 --- a/.next/static/webpack/pages/index.eeaaa79881cb53bb.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiBsZzpmbGV4IFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrIG1heC13LXNtIHAtNiBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93IGhvdmVyOmJnLWdyYXktMTAwIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQtMnhsIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgTm90ZXdvcnRoeSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyAyMDIxXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW5vcm1hbCB0ZXh0LWdyYXktNzAwIGRhcms6dGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgSGVyZSBhcmUgdGhlIGJpZ2dlc3QgZW50ZXJwcmlzZSB0ZWNobm9sb2d5IGFjcXVpc2l0aW9ucyBvZiAyMDIxIHNvXG4gICAgICAgICAgICBmYXIsIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.ef59b09d799e017e.hot-update.js b/.next/static/webpack/pages/index.ef59b09d799e017e.hot-update.js deleted file mode 100644 index 24adc94..0000000 --- a/.next/static/webpack/pages/index.ef59b09d799e017e.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst CreditCard = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 bg-gray-400 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = CreditCard;\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreditCard);\nvar _c;\n$RefreshReg$(_c, \"CreditCard\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNiLDRFQUFDQztZQUFFRCxXQUFVO3NCQUFnTTs7Ozs7Ozs7Ozs7QUFLbk47S0FSTUY7QUFVTiwrREFBZUEsVUFBVUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IENyZWRpdENhcmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgIDxhIGNsYXNzTmFtZT1cImJsb2NrIHctZnVsbCByb3VuZGVkLTN4bCBib3JkZXItYmx1ZS02MDAgYmctZ3JheS00MDAgcHgtMTIgcHktMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUgaG92ZXI6YmctYmxhY2sgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZyBhY3RpdmU6dGV4dC1vcGFjaXR5LTc1IHNtOnctYXV0b1wiPlxuICAgICAgICBTT0NJQUwgSU5WRVNUSU5HXG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDcmVkaXRDYXJkO1xuIl0sIm5hbWVzIjpbIkNyZWRpdENhcmQiLCJkaXYiLCJjbGFzc05hbWUiLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.f011c824fc466035.hot-update.js b/.next/static/webpack/pages/index.f011c824fc466035.hot-update.js deleted file mode 100644 index 9197c09..0000000 --- a/.next/static/webpack/pages/index.f011c824fc466035.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/Navigation.tsx": -/*!*****************************************!*\ - !*** ./pages/components/Navigation.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst Navigation = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center lg:order-2 absolute top-10 right-20 \",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-white hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"Dashboard\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n className: \"w-6 h-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0021.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 003.065 7.097A9.716 9.716 0 0012 21.75a9.716 9.716 0 006.685-2.653zm-12.54-1.285A7.486 7.486 0 0112 15a7.486 7.486 0 015.855 2.812A8.224 8.224 0 0112 20.25a8.224 8.224 0 01-5.855-2.438zM15.75 9a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 16,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold text-[#828282] absolute top-10 left-20\",\n children: \"BUY ME A CRYPTO\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/Navigation.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = Navigation;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Navigation);\nvar _c;\n$RefreshReg$(_c, \"Navigation\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL05hdmlnYXRpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxhQUFhO0lBQ2pCLHFCQUNFLDhEQUFDQzs7MEJBQ0MsOERBQUNDO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQW9MOzs7Ozs7a0NBSWpNLDhEQUFDRTt3QkFDQ0MsT0FBTTt3QkFDTkMsU0FBUTt3QkFDUkMsTUFBSzt3QkFDTEwsV0FBVTtrQ0FDViw0RUFBQ007NEJBQ0NDLFVBQVM7NEJBQ1RDLEdBQUU7NEJBQ0ZDLFVBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUtmLDhEQUFDQztnQkFBR1YsV0FBVTswQkFBNEQ7Ozs7Ozs7Ozs7OztBQUtoRjtLQTFCTUg7QUE0Qk4sK0RBQWVBLFVBQVVBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9OYXZpZ2F0aW9uLnRzeD8yMTJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxoZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGxnOm9yZGVyLTIgYWJzb2x1dGUgdG9wLTEwIHJpZ2h0LTIwIFwiPlxuICAgICAgICA8YSBjbGFzc05hbWU9XCJibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrIGhvdmVyOmJnLXdoaXRlIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICBEYXNoYm9hcmRcbiAgICAgICAgPC9hPlxuXG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ3LTYgaC02XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBkPVwiTTE4LjY4NSAxOS4wOTdBOS43MjMgOS43MjMgMCAwMDIxLjc1IDEyYzAtNS4zODUtNC4zNjUtOS43NS05Ljc1LTkuNzVTMi4yNSA2LjYxNSAyLjI1IDEyYTkuNzIzIDkuNzIzIDAgMDAzLjA2NSA3LjA5N0E5LjcxNiA5LjcxNiAwIDAwMTIgMjEuNzVhOS43MTYgOS43MTYgMCAwMDYuNjg1LTIuNjUzem0tMTIuNTQtMS4yODVBNy40ODYgNy40ODYgMCAwMTEyIDE1YTcuNDg2IDcuNDg2IDAgMDE1Ljg1NSAyLjgxMkE4LjIyNCA4LjIyNCAwIDAxMTIgMjAuMjVhOC4yMjQgOC4yMjQgMCAwMS01Ljg1NS0yLjQzOHpNMTUuNzUgOWEzLjc1IDMuNzUgMCAxMS03LjUgMCAzLjc1IDMuNzUgMCAwMTcuNSAwelwiXG4gICAgICAgICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1bIzgyODI4Ml0gYWJzb2x1dGUgdG9wLTEwIGxlZnQtMjBcIj5cbiAgICAgICAgQlVZIE1FIEEgQ1JZUFRPXG4gICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdLCJuYW1lcyI6WyJOYXZpZ2F0aW9uIiwiaGVhZGVyIiwiZGl2IiwiY2xhc3NOYW1lIiwiYSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJwYXRoIiwiZmlsbFJ1bGUiLCJkIiwiY2xpcFJ1bGUiLCJoMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/Navigation.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.f2e206045ad8a77b.hot-update.js b/.next/static/webpack/pages/index.f2e206045ad8a77b.hot-update.js deleted file mode 100644 index 355b91b..0000000 --- a/.next/static/webpack/pages/index.f2e206045ad8a77b.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT TO YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 31\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQzdELDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc5RCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgQ09OTkVDVCBUTyBZT1VSIDxzcGFuIGNsYXNzTmFtZT1cImNvbG9yXCI+V0VCMyBXQUxMRVQ8L3NwYW4+P1xuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGp1c3RpZnkgdG9wLTYwMFwiPlxuICAgICAgICAgICAgPENvbm5lY3RCdXR0b25cbiAgICAgICAgICAgICAgc2hvd0JhbGFuY2U9e3tcbiAgICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgbGFyZ2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoYWluU3RhdHVzPVwiaWNvblwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ29ubmVjdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlnaXRhbFdhbGxldDtcbiJdLCJuYW1lcyI6WyJDb25uZWN0QnV0dG9uIiwiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwic3BhbiIsInNob3dCYWxhbmNlIiwic21hbGxTY3JlZW4iLCJsYXJnZVNjcmVlbiIsImNoYWluU3RhdHVzIiwibGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.f35e0926e721b926.hot-update.js b/.next/static/webpack/pages/index.f35e0926e721b926.hot-update.js deleted file mode 100644 index 2eb7340..0000000 --- a/.next/static/webpack/pages/index.f35e0926e721b926.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:h-screen place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy1zY3JlZW4teGwgcHgtNCBweS0zMiAgbGc6aC1zY3JlZW4gcGxhY2UtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICBOb3Rld29ydGh5IHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIDIwMjFcbiAgICAgICAgICA8L2g1PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICBIZXJlIGFyZSB0aGUgYmlnZ2VzdCBlbnRlcnByaXNlIHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIG9mIDIwMjEgc29cbiAgICAgICAgICAgIGZhciwgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.f42001c2e8c65f93.hot-update.js b/.next/static/webpack/pages/index.f42001c2e8c65f93.hot-update.js deleted file mode 100644 index 041c2d7..0000000 --- a/.next/static/webpack/pages/index.f42001c2e8c65f93.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-screen-xl px-4 py-32 lg:grid lg:h-screen place-items-center \",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white\",\n children: \"Noteworthy technology acquisitions 2021\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-normal text-gray-700 dark:text-gray-400\",\n children: \"Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXVFOzs7Ozs7a0NBR3JGLDhEQUFDRTt3QkFBRUYsV0FBVTtrQ0FBK0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdEU7S0FoQk1GO0FBa0JOLCtEQUFlQSxhQUFhQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2NvbXBvbmVudHMvQ3JlZGl0Q2FyZC50c3g/Zjk3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0QnV0dG9uIH0gZnJvbSBcIkByYWluYm93LW1lL3JhaW5ib3draXRcIjtcblxuY29uc3QgRGlnaXRhbFdhbGxldCA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRpZ2l0YWxXYWxsZXRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6Z3JpZCBsZzpoLXNjcmVlbiBwbGFjZS1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgbWF4LXctc20gcC02IGJnLWdyYXktMjAwIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1sZyBzaGFkb3cgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMCBkYXJrOmhvdmVyOmJnLWdyYXktNzAwXCI+XG4gICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC0yeGwgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICBOb3Rld29ydGh5IHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIDIwMjFcbiAgICAgICAgICA8L2g1PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsIHRleHQtZ3JheS03MDAgZGFyazp0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICBIZXJlIGFyZSB0aGUgYmlnZ2VzdCBlbnRlcnByaXNlIHRlY2hub2xvZ3kgYWNxdWlzaXRpb25zIG9mIDIwMjEgc29cbiAgICAgICAgICAgIGZhciwgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.f7c73b2c474884c5.hot-update.js b/.next/static/webpack/pages/index.f7c73b2c474884c5.hot-update.js deleted file mode 100644 index 3873657..0000000 --- a/.next/static/webpack/pages/index.f7c73b2c474884c5.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/DigitalWallet.tsx": -/*!********************************************!*\ - !*** ./pages/components/DigitalWallet.tsx ***! - \********************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @rainbow-me/rainbowkit */ \"./node_modules/@rainbow-me/rainbowkit/dist/index.js\");\n\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"DO YOU HAVE A \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 10,\n columnNumber: 29\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative justify top-600\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_rainbow_me_rainbowkit__WEBPACK_IMPORTED_MODULE_1__.ConnectButton, {\n showBalance: {\n smallScreen: false,\n largeScreen: true\n },\n chainStatus: \"icon\",\n label: \"Connect\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 14,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVEO0FBRXZELE1BQU1DLGdCQUFnQjtJQUNwQixxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFDYiw0RUFBQ0Q7c0JBQ0MsNEVBQUNBO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNDOzRCQUFHRCxXQUFVOztnQ0FBaUU7OENBQy9ELDhEQUFDRTtvQ0FBS0YsV0FBVTs4Q0FBUTs7Ozs7O2dDQUFrQjs7Ozs7Ozs7Ozs7O2tDQUc1RCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ2IsNEVBQUNILGlFQUFhQTs0QkFDWk0sYUFBYTtnQ0FDWEMsYUFBYTtnQ0FDYkMsYUFBYTs0QkFDZjs0QkFDQUMsYUFBWTs0QkFDWkMsT0FBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BCO0tBeEJNVDtBQTBCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0RpZ2l0YWxXYWxsZXQudHN4PzczOTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctM3hsIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMCBiZy1jbGlwLXRleHQgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgc206dGV4dC01eGxcIj5cbiAgICAgICAgICAgICAgRE8gWU9VIEhBVkUgQSA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBqdXN0aWZ5IHRvcC02MDBcIj5cbiAgICAgICAgICAgIDxDb25uZWN0QnV0dG9uXG4gICAgICAgICAgICAgIHNob3dCYWxhbmNlPXt7XG4gICAgICAgICAgICAgICAgc21hbGxTY3JlZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxhcmdlU2NyZWVuOiB0cnVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBjaGFpblN0YXR1cz1cImljb25cIlxuICAgICAgICAgICAgICBsYWJlbD1cIkNvbm5lY3RcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiQ29ubmVjdEJ1dHRvbiIsIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJzaG93QmFsYW5jZSIsInNtYWxsU2NyZWVuIiwibGFyZ2VTY3JlZW4iLCJjaGFpblN0YXR1cyIsImxhYmVsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/DigitalWallet.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.fa1738f1a66becb3.hot-update.js b/.next/static/webpack/pages/index.fa1738f1a66becb3.hot-update.js deleted file mode 100644 index 3d08ced..0000000 --- a/.next/static/webpack/pages/index.fa1738f1a66becb3.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-3xl text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl\",\n children: [\n \"CONNECT YOUR \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"color\",\n children: \"WEB3 WALLET\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 10,\n columnNumber: 28\n }, undefined),\n \"?\"\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 9,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"image-rounded block w-full rounded-3xl border-blue-600 bg-gray-400 px-12 py-3 text-sm font-medium text-white hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto\",\n children: \"SOCIAL INVESTING\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 13,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO3NCQUNDLDRFQUFDQTtnQkFBSUMsV0FBVTs7a0NBQ2IsOERBQUNEO3dCQUFJQyxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBR0QsV0FBVTs7Z0NBQWlFOzhDQUNoRSw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQVE7Ozs7OztnQ0FBa0I7Ozs7Ozs7Ozs7OztrQ0FHM0QsOERBQUNHO3dCQUFFSCxXQUFVO2tDQUE4TTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9yTztLQWpCTUY7QUFtQk4sK0RBQWVBLGFBQWFBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vcGFnZXMvY29tcG9uZW50cy9DcmVkaXRDYXJkLnRzeD9mOTc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RCdXR0b24gfSBmcm9tIFwiQHJhaW5ib3ctbWUvcmFpbmJvd2tpdFwiO1xuXG5jb25zdCBEaWdpdGFsV2FsbGV0ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlnaXRhbFdhbGxldFwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LXNjcmVlbi14bCBweC00IHB5LTMyIGxnOmZsZXggbGc6aC1zY3JlZW4gbGc6aXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTN4bCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDAgYmctY2xpcC10ZXh0IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHNtOnRleHQtNXhsXCI+XG4gICAgICAgICAgICAgIENPTk5FQ1QgWU9VUiA8c3BhbiBjbGFzc05hbWU9XCJjb2xvclwiPldFQjMgV0FMTEVUPC9zcGFuPj9cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaW1hZ2Utcm91bmRlZCBibG9jayB3LWZ1bGwgcm91bmRlZC0zeGwgYm9yZGVyLWJsdWUtNjAwIGJnLWdyYXktNDAwIHB4LTEyIHB5LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmcgYWN0aXZlOnRleHQtb3BhY2l0eS03NSBzbTp3LWF1dG9cIj5cbiAgICAgICAgICAgIFNPQ0lBTCBJTlZFU1RJTkdcbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoMSIsInNwYW4iLCJhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.fa71c63448037219.hot-update.js b/.next/static/webpack/pages/index.fa71c63448037219.hot-update.js deleted file mode 100644 index ce2450f..0000000 --- a/.next/static/webpack/pages/index.fa71c63448037219.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center place-items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block rounded-lg bg-white shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] dark:bg-neutral-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"border-b-2 border-neutral-100 px-6 py-3 text-xl font-medium leading-tight dark:border-neutral-600 dark:text-neutral-50\",\n children: \"Featured\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-xl font-medium leading-tight text-neutral-800 dark:text-neutral-50\",\n children: \"Special title treatment\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-4 text-base text-neutral-600 dark:text-neutral-200\",\n children: \"With supporting text below as a natural lead-in to additional content.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-block rounded bg-primary px-6 pb-2 pt-2.5 text-xs font-medium uppercase leading-normal text-white shadow-[0_4px_9px_-4px_#3b71ca] transition duration-150 ease-in-out hover:bg-primary-600 hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:bg-primary-600 focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:outline-none focus:ring-0 active:bg-primary-700 active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] dark:shadow-[0_4px_9px_-4px_rgba(59,113,202,0.5)] dark:hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)]\",\n \"data-te-ripple-init\": true,\n \"data-te-ripple-color\": \"light\",\n children: \"Go somewhere\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXlIOzs7Ozs7a0NBR3ZJLDhEQUFDRDt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFHRCxXQUFVOzBDQUErRTs7Ozs7OzBDQUc3Riw4REFBQ0U7Z0NBQUVGLFdBQVU7MENBQXdEOzs7Ozs7MENBSXJFLDhEQUFDRztnQ0FDQ0MsTUFBSztnQ0FDTEosV0FBVTtnQ0FDVksscUJBQW1CO2dDQUNuQkMsd0JBQXFCOzBDQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNDO0tBNUJNUjtBQThCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXIgcGxhY2UtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2sgcm91bmRlZC1sZyBiZy13aGl0ZSBzaGFkb3ctWzBfMnB4XzE1cHhfLTNweF9yZ2JhKDAsMCwwLDAuMDcpLDBfMTBweF8yMHB4Xy0ycHhfcmdiYSgwLDAsMCwwLjA0KV0gZGFyazpiZy1uZXV0cmFsLTcwMFwiPlxuICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJib3JkZXItYi0yIGJvcmRlci1uZXV0cmFsLTEwMCBweC02IHB5LTMgdGV4dC14bCBmb250LW1lZGl1bSBsZWFkaW5nLXRpZ2h0IGRhcms6Ym9yZGVyLW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTUwXCI+XG4gICAgICAgICAgICBGZWF0dXJlZFxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTZcIj5cbiAgICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJtYi0yIHRleHQteGwgZm9udC1tZWRpdW0gbGVhZGluZy10aWdodCB0ZXh0LW5ldXRyYWwtODAwIGRhcms6dGV4dC1uZXV0cmFsLTUwXCI+XG4gICAgICAgICAgICAgIFNwZWNpYWwgdGl0bGUgdHJlYXRtZW50XG4gICAgICAgICAgICA8L2g1PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibWItNCB0ZXh0LWJhc2UgdGV4dC1uZXV0cmFsLTYwMCBkYXJrOnRleHQtbmV1dHJhbC0yMDBcIj5cbiAgICAgICAgICAgICAgV2l0aCBzdXBwb3J0aW5nIHRleHQgYmVsb3cgYXMgYSBuYXR1cmFsIGxlYWQtaW4gdG8gYWRkaXRpb25hbFxuICAgICAgICAgICAgICBjb250ZW50LlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWJsb2NrIHJvdW5kZWQgYmctcHJpbWFyeSBweC02IHBiLTIgcHQtMi41IHRleHQteHMgZm9udC1tZWRpdW0gdXBwZXJjYXNlIGxlYWRpbmctbm9ybWFsIHRleHQtd2hpdGUgc2hhZG93LVswXzRweF85cHhfLTRweF8jM2I3MWNhXSB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCBlYXNlLWluLW91dCBob3ZlcjpiZy1wcmltYXJ5LTYwMCBob3ZlcjpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjMpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4yKV0gZm9jdXM6YmctcHJpbWFyeS02MDAgZm9jdXM6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4zKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMildIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTAgYWN0aXZlOmJnLXByaW1hcnktNzAwIGFjdGl2ZTpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjMpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4yKV0gZGFyazpzaGFkb3ctWzBfNHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjUpXSBkYXJrOmhvdmVyOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMiksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjEpXSBkYXJrOmZvY3VzOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMiksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjEpXSBkYXJrOmFjdGl2ZTpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjIpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4xKV1cIlxuICAgICAgICAgICAgICBkYXRhLXRlLXJpcHBsZS1pbml0XG4gICAgICAgICAgICAgIGRhdGEtdGUtcmlwcGxlLWNvbG9yPVwibGlnaHRcIj5cbiAgICAgICAgICAgICAgR28gc29tZXdoZXJlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpZ2l0YWxXYWxsZXQ7XG4iXSwibmFtZXMiOlsiRGlnaXRhbFdhbGxldCIsImRpdiIsImNsYXNzTmFtZSIsImg1IiwicCIsImJ1dHRvbiIsInR5cGUiLCJkYXRhLXRlLXJpcHBsZS1pbml0IiwiZGF0YS10ZS1yaXBwbGUtY29sb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.fce5a199b1bc57a9.hot-update.js b/.next/static/webpack/pages/index.fce5a199b1bc57a9.hot-update.js deleted file mode 100644 index 352ad03..0000000 --- a/.next/static/webpack/pages/index.fce5a199b1bc57a9.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n class: \"block rounded-lg bg-white shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] dark:bg-neutral-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n class: \"border-b-2 border-neutral-100 px-6 py-3 text-xl font-medium leading-tight dark:border-neutral-600 dark:text-neutral-50\",\n children: \"Featured\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n class: \"p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n class: \"mb-2 text-xl font-medium leading-tight text-neutral-800 dark:text-neutral-50\",\n children: \"Special title treatment\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n class: \"mb-4 text-base text-neutral-600 dark:text-neutral-200\",\n children: \"With supporting text below as a natural lead-in to additional content.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n href: \"#\",\n class: \"inline-block rounded bg-primary px-6 pb-2 pt-2.5 text-xs font-medium uppercase leading-normal text-white shadow-[0_4px_9px_-4px_#3b71ca] transition duration-150 ease-in-out hover:bg-primary-600 hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:bg-primary-600 focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:outline-none focus:ring-0 active:bg-primary-700 active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] dark:shadow-[0_4px_9px_-4px_rgba(59,113,202,0.5)] dark:hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)]\",\n \"data-te-ripple-init\": true,\n \"data-te-ripple-color\": \"light\",\n children: \"Go somewhere\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJRSxPQUFNOztrQ0FDVCw4REFBQ0M7d0JBQUdELE9BQU07a0NBQXlIOzs7Ozs7a0NBR25JLDhEQUFDRjt3QkFBSUUsT0FBTTs7MENBQ1QsOERBQUNDO2dDQUFHRCxPQUFNOzBDQUErRTs7Ozs7OzBDQUd6Riw4REFBQ0U7Z0NBQUVGLE9BQU07MENBQXdEOzs7Ozs7MENBSWpFLDhEQUFDRztnQ0FDQ0MsTUFBSztnQ0FDTEMsTUFBSztnQ0FDTEwsT0FBTTtnQ0FDTk0scUJBQW1CO2dDQUNuQkMsd0JBQXFCOzBDQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNDO0tBN0JNVjtBQStCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrIHJvdW5kZWQtbGcgYmctd2hpdGUgc2hhZG93LVswXzJweF8xNXB4Xy0zcHhfcmdiYSgwLDAsMCwwLjA3KSwwXzEwcHhfMjBweF8tMnB4X3JnYmEoMCwwLDAsMC4wNCldIGRhcms6YmctbmV1dHJhbC03MDBcIj5cbiAgICAgICAgICA8aDUgY2xhc3M9XCJib3JkZXItYi0yIGJvcmRlci1uZXV0cmFsLTEwMCBweC02IHB5LTMgdGV4dC14bCBmb250LW1lZGl1bSBsZWFkaW5nLXRpZ2h0IGRhcms6Ym9yZGVyLW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTUwXCI+XG4gICAgICAgICAgICBGZWF0dXJlZFxuICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtNlwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzPVwibWItMiB0ZXh0LXhsIGZvbnQtbWVkaXVtIGxlYWRpbmctdGlnaHQgdGV4dC1uZXV0cmFsLTgwMCBkYXJrOnRleHQtbmV1dHJhbC01MFwiPlxuICAgICAgICAgICAgICBTcGVjaWFsIHRpdGxlIHRyZWF0bWVudFxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwibWItNCB0ZXh0LWJhc2UgdGV4dC1uZXV0cmFsLTYwMCBkYXJrOnRleHQtbmV1dHJhbC0yMDBcIj5cbiAgICAgICAgICAgICAgV2l0aCBzdXBwb3J0aW5nIHRleHQgYmVsb3cgYXMgYSBuYXR1cmFsIGxlYWQtaW4gdG8gYWRkaXRpb25hbFxuICAgICAgICAgICAgICBjb250ZW50LlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayByb3VuZGVkIGJnLXByaW1hcnkgcHgtNiBwYi0yIHB0LTIuNSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHVwcGVyY2FzZSBsZWFkaW5nLW5vcm1hbCB0ZXh0LXdoaXRlIHNoYWRvdy1bMF80cHhfOXB4Xy00cHhfIzNiNzFjYV0gdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAgZWFzZS1pbi1vdXQgaG92ZXI6YmctcHJpbWFyeS02MDAgaG92ZXI6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4zKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMildIGZvY3VzOmJnLXByaW1hcnktNjAwIGZvY3VzOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMyksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjIpXSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0wIGFjdGl2ZTpiZy1wcmltYXJ5LTcwMCBhY3RpdmU6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4zKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMildIGRhcms6c2hhZG93LVswXzRweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC41KV0gZGFyazpob3ZlcjpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjIpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4xKV0gZGFyazpmb2N1czpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjIpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4xKV0gZGFyazphY3RpdmU6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4yKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMSldXCJcbiAgICAgICAgICAgICAgZGF0YS10ZS1yaXBwbGUtaW5pdFxuICAgICAgICAgICAgICBkYXRhLXRlLXJpcHBsZS1jb2xvcj1cImxpZ2h0XCI+XG4gICAgICAgICAgICAgIEdvIHNvbWV3aGVyZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJjbGFzcyIsImg1IiwicCIsImJ1dHRvbiIsInR5cGUiLCJocmVmIiwiZGF0YS10ZS1yaXBwbGUtaW5pdCIsImRhdGEtdGUtcmlwcGxlLWNvbG9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/pages/index.fd84a9cbca8b5d38.hot-update.js b/.next/static/webpack/pages/index.fd84a9cbca8b5d38.hot-update.js deleted file mode 100644 index 17ee4af..0000000 --- a/.next/static/webpack/pages/index.fd84a9cbca8b5d38.hot-update.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("pages/index",{ - -/***/ "./pages/components/CreditCard.tsx": -/*!*****************************************!*\ - !*** ./pages/components/CreditCard.tsx ***! - \*****************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nconst DigitalWallet = ()=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"digitalWallet\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"block rounded-lg bg-white shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] dark:bg-neutral-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"border-b-2 border-neutral-100 px-6 py-3 text-xl font-medium leading-tight dark:border-neutral-600 dark:text-neutral-50\",\n children: \"Featured\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 8,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h5\", {\n className: \"mb-2 text-xl font-medium leading-tight text-neutral-800 dark:text-neutral-50\",\n children: \"Special title treatment\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-4 text-base text-neutral-600 dark:text-neutral-200\",\n children: \"With supporting text below as a natural lead-in to additional content.\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n href: \"#\",\n className: \"inline-block rounded bg-primary px-6 pb-2 pt-2.5 text-xs font-medium uppercase leading-normal text-white shadow-[0_4px_9px_-4px_#3b71ca] transition duration-150 ease-in-out hover:bg-primary-600 hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:bg-primary-600 focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:outline-none focus:ring-0 active:bg-primary-700 active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] dark:shadow-[0_4px_9px_-4px_rgba(59,113,202,0.5)] dark:hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)]\",\n \"data-te-ripple-init\": true,\n \"data-te-ripple-color\": \"light\",\n children: \"Go somewhere\"\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 19,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/muaadhm/frontend/pages/components/CreditCard.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined);\n};\n_c = DigitalWallet;\n/* harmony default export */ __webpack_exports__[\"default\"] = (DigitalWallet);\nvar _c;\n$RefreshReg$(_c, \"DigitalWallet\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNQSxnQkFBZ0I7SUFDcEIscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDYiw4REFBQ0M7d0JBQUdELFdBQVU7a0NBQXlIOzs7Ozs7a0NBR3ZJLDhEQUFDRDt3QkFBSUMsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFHRCxXQUFVOzBDQUErRTs7Ozs7OzBDQUc3Riw4REFBQ0U7Z0NBQUVGLFdBQVU7MENBQXdEOzs7Ozs7MENBSXJFLDhEQUFDRztnQ0FDQ0MsTUFBSztnQ0FDTEMsTUFBSztnQ0FDTEwsV0FBVTtnQ0FDVk0scUJBQW1CO2dDQUNuQkMsd0JBQXFCOzBDQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNDO0tBN0JNVDtBQStCTiwrREFBZUEsYUFBYUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9wYWdlcy9jb21wb25lbnRzL0NyZWRpdENhcmQudHN4P2Y5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdEJ1dHRvbiB9IGZyb20gXCJAcmFpbmJvdy1tZS9yYWluYm93a2l0XCI7XG5cbmNvbnN0IERpZ2l0YWxXYWxsZXQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkaWdpdGFsV2FsbGV0XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbWF4LXctc2NyZWVuLXhsIHB4LTQgcHktMzIgbGc6ZmxleCBsZzpoLXNjcmVlbiBsZzppdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9jayByb3VuZGVkLWxnIGJnLXdoaXRlIHNoYWRvdy1bMF8ycHhfMTVweF8tM3B4X3JnYmEoMCwwLDAsMC4wNyksMF8xMHB4XzIwcHhfLTJweF9yZ2JhKDAsMCwwLDAuMDQpXSBkYXJrOmJnLW5ldXRyYWwtNzAwXCI+XG4gICAgICAgICAgPGg1IGNsYXNzTmFtZT1cImJvcmRlci1iLTIgYm9yZGVyLW5ldXRyYWwtMTAwIHB4LTYgcHktMyB0ZXh0LXhsIGZvbnQtbWVkaXVtIGxlYWRpbmctdGlnaHQgZGFyazpib3JkZXItbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtNTBcIj5cbiAgICAgICAgICAgIEZlYXR1cmVkXG4gICAgICAgICAgPC9oNT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNlwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cIm1iLTIgdGV4dC14bCBmb250LW1lZGl1bSBsZWFkaW5nLXRpZ2h0IHRleHQtbmV1dHJhbC04MDAgZGFyazp0ZXh0LW5ldXRyYWwtNTBcIj5cbiAgICAgICAgICAgICAgU3BlY2lhbCB0aXRsZSB0cmVhdG1lbnRcbiAgICAgICAgICAgIDwvaDU+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYi00IHRleHQtYmFzZSB0ZXh0LW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTIwMFwiPlxuICAgICAgICAgICAgICBXaXRoIHN1cHBvcnRpbmcgdGV4dCBiZWxvdyBhcyBhIG5hdHVyYWwgbGVhZC1pbiB0byBhZGRpdGlvbmFsXG4gICAgICAgICAgICAgIGNvbnRlbnQuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1ibG9jayByb3VuZGVkIGJnLXByaW1hcnkgcHgtNiBwYi0yIHB0LTIuNSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHVwcGVyY2FzZSBsZWFkaW5nLW5vcm1hbCB0ZXh0LXdoaXRlIHNoYWRvdy1bMF80cHhfOXB4Xy00cHhfIzNiNzFjYV0gdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAgZWFzZS1pbi1vdXQgaG92ZXI6YmctcHJpbWFyeS02MDAgaG92ZXI6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4zKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMildIGZvY3VzOmJnLXByaW1hcnktNjAwIGZvY3VzOnNoYWRvdy1bMF84cHhfOXB4Xy00cHhfcmdiYSg1OSwxMTMsMjAyLDAuMyksMF80cHhfMThweF8wX3JnYmEoNTksMTEzLDIwMiwwLjIpXSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0wIGFjdGl2ZTpiZy1wcmltYXJ5LTcwMCBhY3RpdmU6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4zKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMildIGRhcms6c2hhZG93LVswXzRweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC41KV0gZGFyazpob3ZlcjpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjIpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4xKV0gZGFyazpmb2N1czpzaGFkb3ctWzBfOHB4XzlweF8tNHB4X3JnYmEoNTksMTEzLDIwMiwwLjIpLDBfNHB4XzE4cHhfMF9yZ2JhKDU5LDExMywyMDIsMC4xKV0gZGFyazphY3RpdmU6c2hhZG93LVswXzhweF85cHhfLTRweF9yZ2JhKDU5LDExMywyMDIsMC4yKSwwXzRweF8xOHB4XzBfcmdiYSg1OSwxMTMsMjAyLDAuMSldXCJcbiAgICAgICAgICAgICAgZGF0YS10ZS1yaXBwbGUtaW5pdFxuICAgICAgICAgICAgICBkYXRhLXRlLXJpcHBsZS1jb2xvcj1cImxpZ2h0XCI+XG4gICAgICAgICAgICAgIEdvIHNvbWV3aGVyZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWdpdGFsV2FsbGV0O1xuIl0sIm5hbWVzIjpbIkRpZ2l0YWxXYWxsZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJoNSIsInAiLCJidXR0b24iLCJ0eXBlIiwiaHJlZiIsImRhdGEtdGUtcmlwcGxlLWluaXQiLCJkYXRhLXRlLXJpcHBsZS1jb2xvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./pages/components/CreditCard.tsx\n")); - -/***/ }) - -}); \ No newline at end of file diff --git a/.next/static/webpack/webpack.002e8064e453b218.hot-update.js b/.next/static/webpack/webpack.002e8064e453b218.hot-update.js deleted file mode 100644 index a6e6035..0000000 --- a/.next/static/webpack/webpack.002e8064e453b218.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "09b4e8b0f887f4fa"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.008674ec0cfd2335.hot-update.js b/.next/static/webpack/webpack.008674ec0cfd2335.hot-update.js deleted file mode 100644 index 60ce28a..0000000 --- a/.next/static/webpack/webpack.008674ec0cfd2335.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "41a064fdc666e54c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.01b43f2673b55a3c.hot-update.js b/.next/static/webpack/webpack.01b43f2673b55a3c.hot-update.js deleted file mode 100644 index 86c06d6..0000000 --- a/.next/static/webpack/webpack.01b43f2673b55a3c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "1381f4730e097865"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.02389c602f3ec049.hot-update.js b/.next/static/webpack/webpack.02389c602f3ec049.hot-update.js deleted file mode 100644 index f8754e6..0000000 --- a/.next/static/webpack/webpack.02389c602f3ec049.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "d85c564cade50119"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.032fc0c9066bf5ba.hot-update.js b/.next/static/webpack/webpack.032fc0c9066bf5ba.hot-update.js deleted file mode 100644 index a4ebd44..0000000 --- a/.next/static/webpack/webpack.032fc0c9066bf5ba.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "302ad97cefc27d54"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.0337d486514c296b.hot-update.js b/.next/static/webpack/webpack.0337d486514c296b.hot-update.js deleted file mode 100644 index 2f4b68d..0000000 --- a/.next/static/webpack/webpack.0337d486514c296b.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "33cbcf4d35454e91"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.042f6214136ad457.hot-update.js b/.next/static/webpack/webpack.042f6214136ad457.hot-update.js deleted file mode 100644 index 5c7e5eb..0000000 --- a/.next/static/webpack/webpack.042f6214136ad457.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4aac568db9e9f4b4"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.05497f15c68464cf.hot-update.js b/.next/static/webpack/webpack.05497f15c68464cf.hot-update.js deleted file mode 100644 index 495e405..0000000 --- a/.next/static/webpack/webpack.05497f15c68464cf.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "13acb1d4b4873337"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.05eb566eca3a3ea5.hot-update.js b/.next/static/webpack/webpack.05eb566eca3a3ea5.hot-update.js deleted file mode 100644 index 28d9f8d..0000000 --- a/.next/static/webpack/webpack.05eb566eca3a3ea5.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "6c39406d82eb5b3c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.07823529cbd4cfb2.hot-update.js b/.next/static/webpack/webpack.07823529cbd4cfb2.hot-update.js deleted file mode 100644 index c6e294c..0000000 --- a/.next/static/webpack/webpack.07823529cbd4cfb2.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "6300efb38a547520"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.086649770259920c.hot-update.js b/.next/static/webpack/webpack.086649770259920c.hot-update.js deleted file mode 100644 index d75f54c..0000000 --- a/.next/static/webpack/webpack.086649770259920c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ed9db3d45f6e7579"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.0896a6c38750ec26.hot-update.js b/.next/static/webpack/webpack.0896a6c38750ec26.hot-update.js deleted file mode 100644 index 99e41d9..0000000 --- a/.next/static/webpack/webpack.0896a6c38750ec26.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7657b55d7081ba2c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.09b4e8b0f887f4fa.hot-update.js b/.next/static/webpack/webpack.09b4e8b0f887f4fa.hot-update.js deleted file mode 100644 index cf36df8..0000000 --- a/.next/static/webpack/webpack.09b4e8b0f887f4fa.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "acd8fe74dc9c0534"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.0b86fe584fb076bd.hot-update.js b/.next/static/webpack/webpack.0b86fe584fb076bd.hot-update.js deleted file mode 100644 index d3625ca..0000000 --- a/.next/static/webpack/webpack.0b86fe584fb076bd.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "bc490b18154f621a"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.0fbd74e3d93f320f.hot-update.js b/.next/static/webpack/webpack.0fbd74e3d93f320f.hot-update.js deleted file mode 100644 index 31b6ab4..0000000 --- a/.next/static/webpack/webpack.0fbd74e3d93f320f.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "b911a801bc9370e6"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.10b36ac441dac5dc.hot-update.js b/.next/static/webpack/webpack.10b36ac441dac5dc.hot-update.js deleted file mode 100644 index 11ee014..0000000 --- a/.next/static/webpack/webpack.10b36ac441dac5dc.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f7c73b2c474884c5"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.11ce1628712e307d.hot-update.js b/.next/static/webpack/webpack.11ce1628712e307d.hot-update.js deleted file mode 100644 index 1ed6bce..0000000 --- a/.next/static/webpack/webpack.11ce1628712e307d.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4f6421e34186b7fe"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.1381f4730e097865.hot-update.js b/.next/static/webpack/webpack.1381f4730e097865.hot-update.js deleted file mode 100644 index b853256..0000000 --- a/.next/static/webpack/webpack.1381f4730e097865.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "26267a0dda9a8a09"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.13acb1d4b4873337.hot-update.js b/.next/static/webpack/webpack.13acb1d4b4873337.hot-update.js deleted file mode 100644 index 41667fd..0000000 --- a/.next/static/webpack/webpack.13acb1d4b4873337.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "db6748bcc8e17ff8"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.141c8160297295e7.hot-update.js b/.next/static/webpack/webpack.141c8160297295e7.hot-update.js deleted file mode 100644 index 2a92839..0000000 --- a/.next/static/webpack/webpack.141c8160297295e7.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e87f983ea05170e2"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.16a518fb228eaec2.hot-update.js b/.next/static/webpack/webpack.16a518fb228eaec2.hot-update.js deleted file mode 100644 index c4872b0..0000000 --- a/.next/static/webpack/webpack.16a518fb228eaec2.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "a32913853f280c25"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.188bedeaa1f99835.hot-update.js b/.next/static/webpack/webpack.188bedeaa1f99835.hot-update.js deleted file mode 100644 index b835f53..0000000 --- a/.next/static/webpack/webpack.188bedeaa1f99835.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ea443f774833fa42"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.19509170981a5a4e.hot-update.js b/.next/static/webpack/webpack.19509170981a5a4e.hot-update.js deleted file mode 100644 index c4b3965..0000000 --- a/.next/static/webpack/webpack.19509170981a5a4e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7decf96855cc1328"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.19b50144c8538157.hot-update.js b/.next/static/webpack/webpack.19b50144c8538157.hot-update.js deleted file mode 100644 index 44b8bc3..0000000 --- a/.next/static/webpack/webpack.19b50144c8538157.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "72e2b448366c394e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.1a1734f2a965f8da.hot-update.js b/.next/static/webpack/webpack.1a1734f2a965f8da.hot-update.js deleted file mode 100644 index 8955107..0000000 --- a/.next/static/webpack/webpack.1a1734f2a965f8da.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9c7b40043473296e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.1ce780c0b2235d9c.hot-update.js b/.next/static/webpack/webpack.1ce780c0b2235d9c.hot-update.js deleted file mode 100644 index e44a549..0000000 --- a/.next/static/webpack/webpack.1ce780c0b2235d9c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ed3a1e585815b5e8"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.1e6718b3eb0621b9.hot-update.js b/.next/static/webpack/webpack.1e6718b3eb0621b9.hot-update.js deleted file mode 100644 index ea226ac..0000000 --- a/.next/static/webpack/webpack.1e6718b3eb0621b9.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e5dfa9e301d4af58"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.1e89062a764da16f.hot-update.js b/.next/static/webpack/webpack.1e89062a764da16f.hot-update.js deleted file mode 100644 index b375bef..0000000 --- a/.next/static/webpack/webpack.1e89062a764da16f.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "cdef531fb4faa14c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.20e491e987b3039d.hot-update.js b/.next/static/webpack/webpack.20e491e987b3039d.hot-update.js deleted file mode 100644 index 6f5462c..0000000 --- a/.next/static/webpack/webpack.20e491e987b3039d.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e058ce8398e93d59"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.20e7437b12a4122b.hot-update.js b/.next/static/webpack/webpack.20e7437b12a4122b.hot-update.js deleted file mode 100644 index 094e75a..0000000 --- a/.next/static/webpack/webpack.20e7437b12a4122b.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "0896a6c38750ec26"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.21ddf2a69c239eb1.hot-update.js b/.next/static/webpack/webpack.21ddf2a69c239eb1.hot-update.js deleted file mode 100644 index ab56c59..0000000 --- a/.next/static/webpack/webpack.21ddf2a69c239eb1.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "34ba0db0af6ba4ea"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.23d73ae551f264d4.hot-update.js b/.next/static/webpack/webpack.23d73ae551f264d4.hot-update.js deleted file mode 100644 index 38cd1f5..0000000 --- a/.next/static/webpack/webpack.23d73ae551f264d4.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "032fc0c9066bf5ba"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.24561d6553c24ef6.hot-update.js b/.next/static/webpack/webpack.24561d6553c24ef6.hot-update.js deleted file mode 100644 index b2d68bd..0000000 --- a/.next/static/webpack/webpack.24561d6553c24ef6.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7f0023ca4bc0734b"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.255783de1f61254a.hot-update.js b/.next/static/webpack/webpack.255783de1f61254a.hot-update.js deleted file mode 100644 index c33f692..0000000 --- a/.next/static/webpack/webpack.255783de1f61254a.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "dc9ef52e26682f41"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.26267a0dda9a8a09.hot-update.js b/.next/static/webpack/webpack.26267a0dda9a8a09.hot-update.js deleted file mode 100644 index b579ef7..0000000 --- a/.next/static/webpack/webpack.26267a0dda9a8a09.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4ca06a577aee70ad"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.27c696b198541ed7.hot-update.js b/.next/static/webpack/webpack.27c696b198541ed7.hot-update.js deleted file mode 100644 index 7ff1bf1..0000000 --- a/.next/static/webpack/webpack.27c696b198541ed7.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ef59b09d799e017e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.280875cbfe75f200.hot-update.js b/.next/static/webpack/webpack.280875cbfe75f200.hot-update.js deleted file mode 100644 index e0097a9..0000000 --- a/.next/static/webpack/webpack.280875cbfe75f200.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "869431085d1825c1"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.28bbc69e5a79d6b6.hot-update.js b/.next/static/webpack/webpack.28bbc69e5a79d6b6.hot-update.js deleted file mode 100644 index 8d78b04..0000000 --- a/.next/static/webpack/webpack.28bbc69e5a79d6b6.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "65e3d6c38b1072df"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.28c2d3a6e72be3ab.hot-update.js b/.next/static/webpack/webpack.28c2d3a6e72be3ab.hot-update.js deleted file mode 100644 index a4b4e3f..0000000 --- a/.next/static/webpack/webpack.28c2d3a6e72be3ab.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "45b222373bd8dbf0"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.302ad97cefc27d54.hot-update.js b/.next/static/webpack/webpack.302ad97cefc27d54.hot-update.js deleted file mode 100644 index 4804664..0000000 --- a/.next/static/webpack/webpack.302ad97cefc27d54.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "0b86fe584fb076bd"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.3035ea8eb1c9f3e8.hot-update.js b/.next/static/webpack/webpack.3035ea8eb1c9f3e8.hot-update.js deleted file mode 100644 index 79549db..0000000 --- a/.next/static/webpack/webpack.3035ea8eb1c9f3e8.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "141c8160297295e7"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.322bf423faa06a96.hot-update.js b/.next/static/webpack/webpack.322bf423faa06a96.hot-update.js deleted file mode 100644 index 7f58840..0000000 --- a/.next/static/webpack/webpack.322bf423faa06a96.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "1ce780c0b2235d9c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.33cbcf4d35454e91.hot-update.js b/.next/static/webpack/webpack.33cbcf4d35454e91.hot-update.js deleted file mode 100644 index 891c74a..0000000 --- a/.next/static/webpack/webpack.33cbcf4d35454e91.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "389cf1fb2d6f3171"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.34ba0db0af6ba4ea.hot-update.js b/.next/static/webpack/webpack.34ba0db0af6ba4ea.hot-update.js deleted file mode 100644 index f80a581..0000000 --- a/.next/static/webpack/webpack.34ba0db0af6ba4ea.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "54b2de2a17ba5311"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.352546102a8c09da.hot-update.js b/.next/static/webpack/webpack.352546102a8c09da.hot-update.js deleted file mode 100644 index ba74de8..0000000 --- a/.next/static/webpack/webpack.352546102a8c09da.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "20e491e987b3039d"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.358ee48a9d3ad0ee.hot-update.js b/.next/static/webpack/webpack.358ee48a9d3ad0ee.hot-update.js deleted file mode 100644 index 22dcc8f..0000000 --- a/.next/static/webpack/webpack.358ee48a9d3ad0ee.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "dc1c5660c34af963"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.36bd8944c9784adb.hot-update.js b/.next/static/webpack/webpack.36bd8944c9784adb.hot-update.js deleted file mode 100644 index 5e41977..0000000 --- a/.next/static/webpack/webpack.36bd8944c9784adb.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7aa088698e1a021f"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.389cf1fb2d6f3171.hot-update.js b/.next/static/webpack/webpack.389cf1fb2d6f3171.hot-update.js deleted file mode 100644 index 69611d3..0000000 --- a/.next/static/webpack/webpack.389cf1fb2d6f3171.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "16a518fb228eaec2"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.39db4be69d7ed858.hot-update.js b/.next/static/webpack/webpack.39db4be69d7ed858.hot-update.js deleted file mode 100644 index 6dbe028..0000000 --- a/.next/static/webpack/webpack.39db4be69d7ed858.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "454809644c55f18e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.3a9748865d6d3a6e.hot-update.js b/.next/static/webpack/webpack.3a9748865d6d3a6e.hot-update.js deleted file mode 100644 index 7c2759f..0000000 --- a/.next/static/webpack/webpack.3a9748865d6d3a6e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5bc845ba9c13d124"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.3ea268d7b7c83c60.hot-update.js b/.next/static/webpack/webpack.3ea268d7b7c83c60.hot-update.js deleted file mode 100644 index dd92d37..0000000 --- a/.next/static/webpack/webpack.3ea268d7b7c83c60.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ed7bb9d252c5fc7d"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.3ebe80c631dabfde.hot-update.js b/.next/static/webpack/webpack.3ebe80c631dabfde.hot-update.js deleted file mode 100644 index 63854b6..0000000 --- a/.next/static/webpack/webpack.3ebe80c631dabfde.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "188bedeaa1f99835"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.41a064fdc666e54c.hot-update.js b/.next/static/webpack/webpack.41a064fdc666e54c.hot-update.js deleted file mode 100644 index ea59353..0000000 --- a/.next/static/webpack/webpack.41a064fdc666e54c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "19b50144c8538157"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.44feb58936b7deef.hot-update.js b/.next/static/webpack/webpack.44feb58936b7deef.hot-update.js deleted file mode 100644 index 2d07f89..0000000 --- a/.next/static/webpack/webpack.44feb58936b7deef.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "6d29f649177dd226"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.454809644c55f18e.hot-update.js b/.next/static/webpack/webpack.454809644c55f18e.hot-update.js deleted file mode 100644 index 926aea7..0000000 --- a/.next/static/webpack/webpack.454809644c55f18e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "3ea268d7b7c83c60"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.45b222373bd8dbf0.hot-update.js b/.next/static/webpack/webpack.45b222373bd8dbf0.hot-update.js deleted file mode 100644 index a96fb41..0000000 --- a/.next/static/webpack/webpack.45b222373bd8dbf0.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5e2f0b557233717d"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4637f68796e08f32.hot-update.js b/.next/static/webpack/webpack.4637f68796e08f32.hot-update.js deleted file mode 100644 index f36b184..0000000 --- a/.next/static/webpack/webpack.4637f68796e08f32.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "39db4be69d7ed858"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.473e98242cc1b3af.hot-update.js b/.next/static/webpack/webpack.473e98242cc1b3af.hot-update.js deleted file mode 100644 index 90dc972..0000000 --- a/.next/static/webpack/webpack.473e98242cc1b3af.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "eeaaa79881cb53bb"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4aac568db9e9f4b4.hot-update.js b/.next/static/webpack/webpack.4aac568db9e9f4b4.hot-update.js deleted file mode 100644 index 2460969..0000000 --- a/.next/static/webpack/webpack.4aac568db9e9f4b4.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5f0908807c89f3b0"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4ca06a577aee70ad.hot-update.js b/.next/static/webpack/webpack.4ca06a577aee70ad.hot-update.js deleted file mode 100644 index e7c9d65..0000000 --- a/.next/static/webpack/webpack.4ca06a577aee70ad.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "002e8064e453b218"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4d31881fd1dfa024.hot-update.js b/.next/static/webpack/webpack.4d31881fd1dfa024.hot-update.js deleted file mode 100644 index 53b75cc..0000000 --- a/.next/static/webpack/webpack.4d31881fd1dfa024.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "522f827c604454d7"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.4f6421e34186b7fe.hot-update.js b/.next/static/webpack/webpack.4f6421e34186b7fe.hot-update.js deleted file mode 100644 index 3eeadc2..0000000 --- a/.next/static/webpack/webpack.4f6421e34186b7fe.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7f03054d60092415"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.50a697ce48addd48.hot-update.js b/.next/static/webpack/webpack.50a697ce48addd48.hot-update.js deleted file mode 100644 index f091e3f..0000000 --- a/.next/static/webpack/webpack.50a697ce48addd48.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e8cdf480eb772682"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.50c1c3fbba88df86.hot-update.js b/.next/static/webpack/webpack.50c1c3fbba88df86.hot-update.js deleted file mode 100644 index c05c98d..0000000 --- a/.next/static/webpack/webpack.50c1c3fbba88df86.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "766465ad53c72386"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.511e390c345698c3.hot-update.js b/.next/static/webpack/webpack.511e390c345698c3.hot-update.js deleted file mode 100644 index c124c0f..0000000 --- a/.next/static/webpack/webpack.511e390c345698c3.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "c85bd30d60a2d896"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.51523594674f7938.hot-update.js b/.next/static/webpack/webpack.51523594674f7938.hot-update.js deleted file mode 100644 index 0c0db48..0000000 --- a/.next/static/webpack/webpack.51523594674f7938.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9aac99e67893eabb"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.522f827c604454d7.hot-update.js b/.next/static/webpack/webpack.522f827c604454d7.hot-update.js deleted file mode 100644 index 13548ab..0000000 --- a/.next/static/webpack/webpack.522f827c604454d7.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "11ce1628712e307d"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.525a9b8520483ec2.hot-update.js b/.next/static/webpack/webpack.525a9b8520483ec2.hot-update.js deleted file mode 100644 index 29ce211..0000000 --- a/.next/static/webpack/webpack.525a9b8520483ec2.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5e55ba3fc3b5cdb3"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.54b2de2a17ba5311.hot-update.js b/.next/static/webpack/webpack.54b2de2a17ba5311.hot-update.js deleted file mode 100644 index 2ebdc49..0000000 --- a/.next/static/webpack/webpack.54b2de2a17ba5311.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "28c2d3a6e72be3ab"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.54d8bb023c0d5b17.hot-update.js b/.next/static/webpack/webpack.54d8bb023c0d5b17.hot-update.js deleted file mode 100644 index ed69e5a..0000000 --- a/.next/static/webpack/webpack.54d8bb023c0d5b17.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9c68ac49c5d24342"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.54f9065dabeedc9c.hot-update.js b/.next/static/webpack/webpack.54f9065dabeedc9c.hot-update.js deleted file mode 100644 index aea36a8..0000000 --- a/.next/static/webpack/webpack.54f9065dabeedc9c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "aa22dc4a53efc29f"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5b4fe5b0bbd869a5.hot-update.js b/.next/static/webpack/webpack.5b4fe5b0bbd869a5.hot-update.js deleted file mode 100644 index 9159675..0000000 --- a/.next/static/webpack/webpack.5b4fe5b0bbd869a5.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "fce5a199b1bc57a9"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5bc845ba9c13d124.hot-update.js b/.next/static/webpack/webpack.5bc845ba9c13d124.hot-update.js deleted file mode 100644 index f328522..0000000 --- a/.next/static/webpack/webpack.5bc845ba9c13d124.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "1e6718b3eb0621b9"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5cb45b3d54cbfbb1.hot-update.js b/.next/static/webpack/webpack.5cb45b3d54cbfbb1.hot-update.js deleted file mode 100644 index f95a867..0000000 --- a/.next/static/webpack/webpack.5cb45b3d54cbfbb1.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "28bbc69e5a79d6b6"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5df2843b4e4bc270.hot-update.js b/.next/static/webpack/webpack.5df2843b4e4bc270.hot-update.js deleted file mode 100644 index b0d23ef..0000000 --- a/.next/static/webpack/webpack.5df2843b4e4bc270.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f0bbad6337067697"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5e2f0b557233717d.hot-update.js b/.next/static/webpack/webpack.5e2f0b557233717d.hot-update.js deleted file mode 100644 index f5f99a5..0000000 --- a/.next/static/webpack/webpack.5e2f0b557233717d.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "23d73ae551f264d4"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5e55ba3fc3b5cdb3.hot-update.js b/.next/static/webpack/webpack.5e55ba3fc3b5cdb3.hot-update.js deleted file mode 100644 index dbd0247..0000000 --- a/.next/static/webpack/webpack.5e55ba3fc3b5cdb3.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "20e7437b12a4122b"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.5f0908807c89f3b0.hot-update.js b/.next/static/webpack/webpack.5f0908807c89f3b0.hot-update.js deleted file mode 100644 index a8cabcf..0000000 --- a/.next/static/webpack/webpack.5f0908807c89f3b0.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "511e390c345698c3"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.607f9f6084ae1e2a.hot-update.js b/.next/static/webpack/webpack.607f9f6084ae1e2a.hot-update.js deleted file mode 100644 index d148c9b..0000000 --- a/.next/static/webpack/webpack.607f9f6084ae1e2a.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "54f9065dabeedc9c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.6300efb38a547520.hot-update.js b/.next/static/webpack/webpack.6300efb38a547520.hot-update.js deleted file mode 100644 index 19cc993..0000000 --- a/.next/static/webpack/webpack.6300efb38a547520.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f42001c2e8c65f93"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.658dc40eba135cea.hot-update.js b/.next/static/webpack/webpack.658dc40eba135cea.hot-update.js deleted file mode 100644 index b998026..0000000 --- a/.next/static/webpack/webpack.658dc40eba135cea.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5cb45b3d54cbfbb1"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.65c97617c95cd0e9.hot-update.js b/.next/static/webpack/webpack.65c97617c95cd0e9.hot-update.js deleted file mode 100644 index d3de9b5..0000000 --- a/.next/static/webpack/webpack.65c97617c95cd0e9.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f35e0926e721b926"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.65e3d6c38b1072df.hot-update.js b/.next/static/webpack/webpack.65e3d6c38b1072df.hot-update.js deleted file mode 100644 index 77aa0d3..0000000 --- a/.next/static/webpack/webpack.65e3d6c38b1072df.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ec4f2a555bdd08b8"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.66ff179cf39f8623.hot-update.js b/.next/static/webpack/webpack.66ff179cf39f8623.hot-update.js deleted file mode 100644 index 5fe036c..0000000 --- a/.next/static/webpack/webpack.66ff179cf39f8623.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "cca3eaaa78446588"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.67ac0cbdda4dffbb.hot-update.js b/.next/static/webpack/webpack.67ac0cbdda4dffbb.hot-update.js deleted file mode 100644 index ab1b874..0000000 --- a/.next/static/webpack/webpack.67ac0cbdda4dffbb.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5df2843b4e4bc270"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.6c39406d82eb5b3c.hot-update.js b/.next/static/webpack/webpack.6c39406d82eb5b3c.hot-update.js deleted file mode 100644 index 5203027..0000000 --- a/.next/static/webpack/webpack.6c39406d82eb5b3c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "0337d486514c296b"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.6d29f649177dd226.hot-update.js b/.next/static/webpack/webpack.6d29f649177dd226.hot-update.js deleted file mode 100644 index 6c26b6a..0000000 --- a/.next/static/webpack/webpack.6d29f649177dd226.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e0dd459bde91438f"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.6e3dd436ac74db7c.hot-update.js b/.next/static/webpack/webpack.6e3dd436ac74db7c.hot-update.js deleted file mode 100644 index 9c6ccad..0000000 --- a/.next/static/webpack/webpack.6e3dd436ac74db7c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "51523594674f7938"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.72d20fb9812d76da.hot-update.js b/.next/static/webpack/webpack.72d20fb9812d76da.hot-update.js deleted file mode 100644 index 8a849cb..0000000 --- a/.next/static/webpack/webpack.72d20fb9812d76da.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "3ebe80c631dabfde"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.72e2b448366c394e.hot-update.js b/.next/static/webpack/webpack.72e2b448366c394e.hot-update.js deleted file mode 100644 index a08939d..0000000 --- a/.next/static/webpack/webpack.72e2b448366c394e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "aa59be09deb42163"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.737edf065ac563c2.hot-update.js b/.next/static/webpack/webpack.737edf065ac563c2.hot-update.js deleted file mode 100644 index 800a614..0000000 --- a/.next/static/webpack/webpack.737edf065ac563c2.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "c15f102af7ce1d36"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.74348e2f514a41bf.hot-update.js b/.next/static/webpack/webpack.74348e2f514a41bf.hot-update.js deleted file mode 100644 index 739fc80..0000000 --- a/.next/static/webpack/webpack.74348e2f514a41bf.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "352546102a8c09da"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7657b55d7081ba2c.hot-update.js b/.next/static/webpack/webpack.7657b55d7081ba2c.hot-update.js deleted file mode 100644 index d75b0b0..0000000 --- a/.next/static/webpack/webpack.7657b55d7081ba2c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "8a8f2b069779ba46"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.766465ad53c72386.hot-update.js b/.next/static/webpack/webpack.766465ad53c72386.hot-update.js deleted file mode 100644 index f7561a3..0000000 --- a/.next/static/webpack/webpack.766465ad53c72386.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "d2257d29a907f6a8"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.776ae571a0c57170.hot-update.js b/.next/static/webpack/webpack.776ae571a0c57170.hot-update.js deleted file mode 100644 index e0bb861..0000000 --- a/.next/static/webpack/webpack.776ae571a0c57170.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "36bd8944c9784adb"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.77a599599ca1939b.hot-update.js b/.next/static/webpack/webpack.77a599599ca1939b.hot-update.js deleted file mode 100644 index 5c98d54..0000000 --- a/.next/static/webpack/webpack.77a599599ca1939b.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "10b36ac441dac5dc"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7aa088698e1a021f.hot-update.js b/.next/static/webpack/webpack.7aa088698e1a021f.hot-update.js deleted file mode 100644 index 2a11b6e..0000000 --- a/.next/static/webpack/webpack.7aa088698e1a021f.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "01b43f2673b55a3c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7cbc635862a04c63.hot-update.js b/.next/static/webpack/webpack.7cbc635862a04c63.hot-update.js deleted file mode 100644 index 2b666ac..0000000 --- a/.next/static/webpack/webpack.7cbc635862a04c63.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ea6bee58e98aa337"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7d520466f7086d5e.hot-update.js b/.next/static/webpack/webpack.7d520466f7086d5e.hot-update.js deleted file mode 100644 index 8046951..0000000 --- a/.next/static/webpack/webpack.7d520466f7086d5e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "07823529cbd4cfb2"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7decf96855cc1328.hot-update.js b/.next/static/webpack/webpack.7decf96855cc1328.hot-update.js deleted file mode 100644 index dd31ade..0000000 --- a/.next/static/webpack/webpack.7decf96855cc1328.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "255783de1f61254a"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7f0023ca4bc0734b.hot-update.js b/.next/static/webpack/webpack.7f0023ca4bc0734b.hot-update.js deleted file mode 100644 index b2103db..0000000 --- a/.next/static/webpack/webpack.7f0023ca4bc0734b.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "525a9b8520483ec2"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.7f03054d60092415.hot-update.js b/.next/static/webpack/webpack.7f03054d60092415.hot-update.js deleted file mode 100644 index 9e7ece4..0000000 --- a/.next/static/webpack/webpack.7f03054d60092415.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4637f68796e08f32"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.806880082f2dba01.hot-update.js b/.next/static/webpack/webpack.806880082f2dba01.hot-update.js deleted file mode 100644 index 084be5a..0000000 --- a/.next/static/webpack/webpack.806880082f2dba01.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "88258a1a9d4c9d1e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.82b477fc386f6fb0.hot-update.js b/.next/static/webpack/webpack.82b477fc386f6fb0.hot-update.js deleted file mode 100644 index 4803626..0000000 --- a/.next/static/webpack/webpack.82b477fc386f6fb0.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "6e3dd436ac74db7c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.869431085d1825c1.hot-update.js b/.next/static/webpack/webpack.869431085d1825c1.hot-update.js deleted file mode 100644 index 57a318b..0000000 --- a/.next/static/webpack/webpack.869431085d1825c1.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "21ddf2a69c239eb1"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.88258a1a9d4c9d1e.hot-update.js b/.next/static/webpack/webpack.88258a1a9d4c9d1e.hot-update.js deleted file mode 100644 index e90853f..0000000 --- a/.next/static/webpack/webpack.88258a1a9d4c9d1e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "0fbd74e3d93f320f"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.8a8f2b069779ba46.hot-update.js b/.next/static/webpack/webpack.8a8f2b069779ba46.hot-update.js deleted file mode 100644 index 3467ef5..0000000 --- a/.next/static/webpack/webpack.8a8f2b069779ba46.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "658dc40eba135cea"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.908d65d825cada63.hot-update.js b/.next/static/webpack/webpack.908d65d825cada63.hot-update.js deleted file mode 100644 index 871da84..0000000 --- a/.next/static/webpack/webpack.908d65d825cada63.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "5b4fe5b0bbd869a5"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.9122f7d9be6d34a7.hot-update.js b/.next/static/webpack/webpack.9122f7d9be6d34a7.hot-update.js deleted file mode 100644 index 8bc49fe..0000000 --- a/.next/static/webpack/webpack.9122f7d9be6d34a7.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ea4bbb3606182f89"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.93dbe55ece8c13f4.hot-update.js b/.next/static/webpack/webpack.93dbe55ece8c13f4.hot-update.js deleted file mode 100644 index 85bc149..0000000 --- a/.next/static/webpack/webpack.93dbe55ece8c13f4.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9255d5b6266662c0"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.9aac99e67893eabb.hot-update.js b/.next/static/webpack/webpack.9aac99e67893eabb.hot-update.js deleted file mode 100644 index f79a549..0000000 --- a/.next/static/webpack/webpack.9aac99e67893eabb.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "44feb58936b7deef"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.9c68ac49c5d24342.hot-update.js b/.next/static/webpack/webpack.9c68ac49c5d24342.hot-update.js deleted file mode 100644 index 03e5602..0000000 --- a/.next/static/webpack/webpack.9c68ac49c5d24342.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "3a9748865d6d3a6e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.9c7b40043473296e.hot-update.js b/.next/static/webpack/webpack.9c7b40043473296e.hot-update.js deleted file mode 100644 index b2dd8fb..0000000 --- a/.next/static/webpack/webpack.9c7b40043473296e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "c9b80114855277b4"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.9e961e88b4e2e33d.hot-update.js b/.next/static/webpack/webpack.9e961e88b4e2e33d.hot-update.js deleted file mode 100644 index 13c5080..0000000 --- a/.next/static/webpack/webpack.9e961e88b4e2e33d.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "4d31881fd1dfa024"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.a00924cbb60f1cbc.hot-update.js b/.next/static/webpack/webpack.a00924cbb60f1cbc.hot-update.js deleted file mode 100644 index 3c4c6fb..0000000 --- a/.next/static/webpack/webpack.a00924cbb60f1cbc.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ee95abeb45bdeb7a"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.a32913853f280c25.hot-update.js b/.next/static/webpack/webpack.a32913853f280c25.hot-update.js deleted file mode 100644 index d8a5c98..0000000 --- a/.next/static/webpack/webpack.a32913853f280c25.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "d93a7311d91f2431"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.aa22dc4a53efc29f.hot-update.js b/.next/static/webpack/webpack.aa22dc4a53efc29f.hot-update.js deleted file mode 100644 index 871a220..0000000 --- a/.next/static/webpack/webpack.aa22dc4a53efc29f.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "05eb566eca3a3ea5"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.aa59be09deb42163.hot-update.js b/.next/static/webpack/webpack.aa59be09deb42163.hot-update.js deleted file mode 100644 index 92f2589..0000000 --- a/.next/static/webpack/webpack.aa59be09deb42163.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "d72496e2657b8921"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.acd8fe74dc9c0534.hot-update.js b/.next/static/webpack/webpack.acd8fe74dc9c0534.hot-update.js deleted file mode 100644 index 09b56f2..0000000 --- a/.next/static/webpack/webpack.acd8fe74dc9c0534.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "50a697ce48addd48"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.b277eb81f90d9720.hot-update.js b/.next/static/webpack/webpack.b277eb81f90d9720.hot-update.js deleted file mode 100644 index c5b4a43..0000000 --- a/.next/static/webpack/webpack.b277eb81f90d9720.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "3035ea8eb1c9f3e8"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.b911a801bc9370e6.hot-update.js b/.next/static/webpack/webpack.b911a801bc9370e6.hot-update.js deleted file mode 100644 index 5a77aef..0000000 --- a/.next/static/webpack/webpack.b911a801bc9370e6.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7d520466f7086d5e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.bc490b18154f621a.hot-update.js b/.next/static/webpack/webpack.bc490b18154f621a.hot-update.js deleted file mode 100644 index 612cb57..0000000 --- a/.next/static/webpack/webpack.bc490b18154f621a.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "737edf065ac563c2"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.c1152517c49bd5ab.hot-update.js b/.next/static/webpack/webpack.c1152517c49bd5ab.hot-update.js deleted file mode 100644 index 6a3d6b1..0000000 --- a/.next/static/webpack/webpack.c1152517c49bd5ab.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f2e206045ad8a77b"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.c15f102af7ce1d36.hot-update.js b/.next/static/webpack/webpack.c15f102af7ce1d36.hot-update.js deleted file mode 100644 index 90984cd..0000000 --- a/.next/static/webpack/webpack.c15f102af7ce1d36.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "74348e2f514a41bf"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.c85bd30d60a2d896.hot-update.js b/.next/static/webpack/webpack.c85bd30d60a2d896.hot-update.js deleted file mode 100644 index 388abd8..0000000 --- a/.next/static/webpack/webpack.c85bd30d60a2d896.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f1f288f2f518456e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.c9b80114855277b4.hot-update.js b/.next/static/webpack/webpack.c9b80114855277b4.hot-update.js deleted file mode 100644 index c0501b2..0000000 --- a/.next/static/webpack/webpack.c9b80114855277b4.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "908d65d825cada63"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.cb2439d8f4679961.hot-update.js b/.next/static/webpack/webpack.cb2439d8f4679961.hot-update.js deleted file mode 100644 index 9ece073..0000000 --- a/.next/static/webpack/webpack.cb2439d8f4679961.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "02389c602f3ec049"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.cca3eaaa78446588.hot-update.js b/.next/static/webpack/webpack.cca3eaaa78446588.hot-update.js deleted file mode 100644 index 64190e8..0000000 --- a/.next/static/webpack/webpack.cca3eaaa78446588.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "358ee48a9d3ad0ee"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.cdef531fb4faa14c.hot-update.js b/.next/static/webpack/webpack.cdef531fb4faa14c.hot-update.js deleted file mode 100644 index ac30de6..0000000 --- a/.next/static/webpack/webpack.cdef531fb4faa14c.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "042f6214136ad457"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.d2257d29a907f6a8.hot-update.js b/.next/static/webpack/webpack.d2257d29a907f6a8.hot-update.js deleted file mode 100644 index a53cb5d..0000000 --- a/.next/static/webpack/webpack.d2257d29a907f6a8.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "27c696b198541ed7"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.d72496e2657b8921.hot-update.js b/.next/static/webpack/webpack.d72496e2657b8921.hot-update.js deleted file mode 100644 index d63d841..0000000 --- a/.next/static/webpack/webpack.d72496e2657b8921.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "fa1738f1a66becb3"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.d85c564cade50119.hot-update.js b/.next/static/webpack/webpack.d85c564cade50119.hot-update.js deleted file mode 100644 index da8aecb..0000000 --- a/.next/static/webpack/webpack.d85c564cade50119.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "806880082f2dba01"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.d93a7311d91f2431.hot-update.js b/.next/static/webpack/webpack.d93a7311d91f2431.hot-update.js deleted file mode 100644 index 9f2da69..0000000 --- a/.next/static/webpack/webpack.d93a7311d91f2431.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "82b477fc386f6fb0"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.dafb1c9068442956.hot-update.js b/.next/static/webpack/webpack.dafb1c9068442956.hot-update.js deleted file mode 100644 index 94d7498..0000000 --- a/.next/static/webpack/webpack.dafb1c9068442956.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "fa71c63448037219"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.db6748bcc8e17ff8.hot-update.js b/.next/static/webpack/webpack.db6748bcc8e17ff8.hot-update.js deleted file mode 100644 index 457983d..0000000 --- a/.next/static/webpack/webpack.db6748bcc8e17ff8.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9e961e88b4e2e33d"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.dc1c5660c34af963.hot-update.js b/.next/static/webpack/webpack.dc1c5660c34af963.hot-update.js deleted file mode 100644 index a12bcae..0000000 --- a/.next/static/webpack/webpack.dc1c5660c34af963.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "f011c824fc466035"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.dc9ef52e26682f41.hot-update.js b/.next/static/webpack/webpack.dc9ef52e26682f41.hot-update.js deleted file mode 100644 index 3fa1f29..0000000 --- a/.next/static/webpack/webpack.dc9ef52e26682f41.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ebf7d916a55a4f61"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.de1bf79a4bd8f040.hot-update.js b/.next/static/webpack/webpack.de1bf79a4bd8f040.hot-update.js deleted file mode 100644 index e06b44b..0000000 --- a/.next/static/webpack/webpack.de1bf79a4bd8f040.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "e01ace179d49138b"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e01ace179d49138b.hot-update.js b/.next/static/webpack/webpack.e01ace179d49138b.hot-update.js deleted file mode 100644 index 4bb3d18..0000000 --- a/.next/static/webpack/webpack.e01ace179d49138b.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ed9e22f313940496"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e058ce8398e93d59.hot-update.js b/.next/static/webpack/webpack.e058ce8398e93d59.hot-update.js deleted file mode 100644 index b9a6820..0000000 --- a/.next/static/webpack/webpack.e058ce8398e93d59.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "67ac0cbdda4dffbb"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e0dd459bde91438f.hot-update.js b/.next/static/webpack/webpack.e0dd459bde91438f.hot-update.js deleted file mode 100644 index 7da7291..0000000 --- a/.next/static/webpack/webpack.e0dd459bde91438f.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "086649770259920c"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e5dfa9e301d4af58.hot-update.js b/.next/static/webpack/webpack.e5dfa9e301d4af58.hot-update.js deleted file mode 100644 index 9b49893..0000000 --- a/.next/static/webpack/webpack.e5dfa9e301d4af58.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "77a599599ca1939b"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e87f983ea05170e2.hot-update.js b/.next/static/webpack/webpack.e87f983ea05170e2.hot-update.js deleted file mode 100644 index 90c003b..0000000 --- a/.next/static/webpack/webpack.e87f983ea05170e2.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "05497f15c68464cf"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.e8cdf480eb772682.hot-update.js b/.next/static/webpack/webpack.e8cdf480eb772682.hot-update.js deleted file mode 100644 index 9cb5917..0000000 --- a/.next/static/webpack/webpack.e8cdf480eb772682.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "19509170981a5a4e"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ea443f774833fa42.hot-update.js b/.next/static/webpack/webpack.ea443f774833fa42.hot-update.js deleted file mode 100644 index 7d30832..0000000 --- a/.next/static/webpack/webpack.ea443f774833fa42.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "50c1c3fbba88df86"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ea4bbb3606182f89.hot-update.js b/.next/static/webpack/webpack.ea4bbb3606182f89.hot-update.js deleted file mode 100644 index db55fa3..0000000 --- a/.next/static/webpack/webpack.ea4bbb3606182f89.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "1a1734f2a965f8da"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ea6bee58e98aa337.hot-update.js b/.next/static/webpack/webpack.ea6bee58e98aa337.hot-update.js deleted file mode 100644 index e1e1da1..0000000 --- a/.next/static/webpack/webpack.ea6bee58e98aa337.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "9122f7d9be6d34a7"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ebf7d916a55a4f61.hot-update.js b/.next/static/webpack/webpack.ebf7d916a55a4f61.hot-update.js deleted file mode 100644 index 615ef38..0000000 --- a/.next/static/webpack/webpack.ebf7d916a55a4f61.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "280875cbfe75f200"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ec4f2a555bdd08b8.hot-update.js b/.next/static/webpack/webpack.ec4f2a555bdd08b8.hot-update.js deleted file mode 100644 index 63bd65b..0000000 --- a/.next/static/webpack/webpack.ec4f2a555bdd08b8.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "607f9f6084ae1e2a"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ed1bc5aa5acb62ec.hot-update.js b/.next/static/webpack/webpack.ed1bc5aa5acb62ec.hot-update.js deleted file mode 100644 index 8599138..0000000 --- a/.next/static/webpack/webpack.ed1bc5aa5acb62ec.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "a00924cbb60f1cbc"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ed3a1e585815b5e8.hot-update.js b/.next/static/webpack/webpack.ed3a1e585815b5e8.hot-update.js deleted file mode 100644 index f4faf92..0000000 --- a/.next/static/webpack/webpack.ed3a1e585815b5e8.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "de1bf79a4bd8f040"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ed7bb9d252c5fc7d.hot-update.js b/.next/static/webpack/webpack.ed7bb9d252c5fc7d.hot-update.js deleted file mode 100644 index a04facf..0000000 --- a/.next/static/webpack/webpack.ed7bb9d252c5fc7d.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "93dbe55ece8c13f4"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ed9db3d45f6e7579.hot-update.js b/.next/static/webpack/webpack.ed9db3d45f6e7579.hot-update.js deleted file mode 100644 index d2c209d..0000000 --- a/.next/static/webpack/webpack.ed9db3d45f6e7579.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "72d20fb9812d76da"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ed9e22f313940496.hot-update.js b/.next/static/webpack/webpack.ed9e22f313940496.hot-update.js deleted file mode 100644 index 1a574a2..0000000 --- a/.next/static/webpack/webpack.ed9e22f313940496.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "54d8bb023c0d5b17"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ee95abeb45bdeb7a.hot-update.js b/.next/static/webpack/webpack.ee95abeb45bdeb7a.hot-update.js deleted file mode 100644 index d3092dc..0000000 --- a/.next/static/webpack/webpack.ee95abeb45bdeb7a.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "65c97617c95cd0e9"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.eeaaa79881cb53bb.hot-update.js b/.next/static/webpack/webpack.eeaaa79881cb53bb.hot-update.js deleted file mode 100644 index bf7db5e..0000000 --- a/.next/static/webpack/webpack.eeaaa79881cb53bb.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "ed1bc5aa5acb62ec"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.ef59b09d799e017e.hot-update.js b/.next/static/webpack/webpack.ef59b09d799e017e.hot-update.js deleted file mode 100644 index 2e40232..0000000 --- a/.next/static/webpack/webpack.ef59b09d799e017e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "008674ec0cfd2335"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f011c824fc466035.hot-update.js b/.next/static/webpack/webpack.f011c824fc466035.hot-update.js deleted file mode 100644 index a668614..0000000 --- a/.next/static/webpack/webpack.f011c824fc466035.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "24561d6553c24ef6"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f0458b23b83ee00e.hot-update.js b/.next/static/webpack/webpack.f0458b23b83ee00e.hot-update.js deleted file mode 100644 index d23501b..0000000 --- a/.next/static/webpack/webpack.f0458b23b83ee00e.hot-update.js +++ /dev/null @@ -1,725 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/compat get default export */ -/******/ !function() { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function() { return module['default']; } : -/******/ function() { return module; }; -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ !function() { -/******/ var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; }; -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; }); -/******/ } -/******/ def['default'] = function() { return value; }; -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ !function() { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ !function() { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = function(chunkId) { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ !function() { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = function(chunkId) { -/******/ // return url for filenames based on template -/******/ return "static/chunks/" + chunkId + ".js"; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "322bf423faa06a96"; } -/******/ }(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ !function() { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ }(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ !function() { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ !function() { -/******/ __webpack_require__.nmd = function(module) { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/compat */ -/******/ -/******/ -/******/ // noop fns to prevent runtime errors during initialization -/******/ if (typeof self !== "undefined") { -/******/ self.$RefreshReg$ = function () {}; -/******/ self.$RefreshSig$ = function () { -/******/ return function (type) { -/******/ return type; -/******/ }; -/******/ }; -/******/ } -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ !function() { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || { -/******/ "webpack": 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = function(chunkId, promises) { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means "already installed". -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if("webpack" != chunkId) { -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; }); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId); -/******/ } else installedChunks[chunkId] = 0; -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ var currentUpdatedModulesList; -/******/ var waitingUpdateResolves = {}; -/******/ function loadUpdateChunk(chunkId, updatedModulesList) { -/******/ currentUpdatedModulesList = updatedModulesList; -/******/ return new Promise(function(resolve, reject) { -/******/ waitingUpdateResolves[chunkId] = resolve; -/******/ // start update chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.hu(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = function(event) { -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId] = undefined -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading hot update chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ reject(error); -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded); -/******/ }); -/******/ } -/******/ -/******/ self["webpackHotUpdate_N_E"] = function(chunkId, moreModules, runtime) { -/******/ for(var moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ currentUpdate[moduleId] = moreModules[moduleId]; -/******/ if(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId); -/******/ } -/******/ } -/******/ if(runtime) currentUpdateRuntime.push(runtime); -/******/ if(waitingUpdateResolves[chunkId]) { -/******/ waitingUpdateResolves[chunkId](); -/******/ waitingUpdateResolves[chunkId] = undefined; -/******/ } -/******/ }; -/******/ -/******/ var currentUpdateChunks; -/******/ var currentUpdate; -/******/ var currentUpdateRemovedChunks; -/******/ var currentUpdateRuntime; -/******/ function applyHandler(options) { -/******/ if (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr; -/******/ currentUpdateChunks = undefined; -/******/ function getAffectedModuleEffects(updateModuleId) { -/******/ var outdatedModules = [updateModuleId]; -/******/ var outdatedDependencies = {}; -/******/ -/******/ var queue = outdatedModules.map(function (id) { -/******/ return { -/******/ chain: [id], -/******/ id: id -/******/ }; -/******/ }); -/******/ while (queue.length > 0) { -/******/ var queueItem = queue.pop(); -/******/ var moduleId = queueItem.id; -/******/ var chain = queueItem.chain; -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if ( -/******/ !module || -/******/ (module.hot._selfAccepted && !module.hot._selfInvalidated) -/******/ ) -/******/ continue; -/******/ if (module.hot._selfDeclined) { -/******/ return { -/******/ type: "self-declined", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ if (module.hot._main) { -/******/ return { -/******/ type: "unaccepted", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ for (var i = 0; i < module.parents.length; i++) { -/******/ var parentId = module.parents[i]; -/******/ var parent = __webpack_require__.c[parentId]; -/******/ if (!parent) continue; -/******/ if (parent.hot._declinedDependencies[moduleId]) { -/******/ return { -/******/ type: "declined", -/******/ chain: chain.concat([parentId]), -/******/ moduleId: moduleId, -/******/ parentId: parentId -/******/ }; -/******/ } -/******/ if (outdatedModules.indexOf(parentId) !== -1) continue; -/******/ if (parent.hot._acceptedDependencies[moduleId]) { -/******/ if (!outdatedDependencies[parentId]) -/******/ outdatedDependencies[parentId] = []; -/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]); -/******/ continue; -/******/ } -/******/ delete outdatedDependencies[parentId]; -/******/ outdatedModules.push(parentId); -/******/ queue.push({ -/******/ chain: chain.concat([parentId]), -/******/ id: parentId -/******/ }); -/******/ } -/******/ } -/******/ -/******/ return { -/******/ type: "accepted", -/******/ moduleId: updateModuleId, -/******/ outdatedModules: outdatedModules, -/******/ outdatedDependencies: outdatedDependencies -/******/ }; -/******/ } -/******/ -/******/ function addAllToSet(a, b) { -/******/ for (var i = 0; i < b.length; i++) { -/******/ var item = b[i]; -/******/ if (a.indexOf(item) === -1) a.push(item); -/******/ } -/******/ } -/******/ -/******/ // at begin all updates modules are outdated -/******/ // the "outdated" status can propagate to parents if they don't accept the children -/******/ var outdatedDependencies = {}; -/******/ var outdatedModules = []; -/******/ var appliedUpdate = {}; -/******/ -/******/ var warnUnexpectedRequire = function warnUnexpectedRequire(module) { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + module.id + ") to disposed module" -/******/ ); -/******/ }; -/******/ -/******/ for (var moduleId in currentUpdate) { -/******/ if (__webpack_require__.o(currentUpdate, moduleId)) { -/******/ var newModuleFactory = currentUpdate[moduleId]; -/******/ /** @type {TODO} */ -/******/ var result; -/******/ if (newModuleFactory) { -/******/ result = getAffectedModuleEffects(moduleId); -/******/ } else { -/******/ result = { -/******/ type: "disposed", -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ /** @type {Error|false} */ -/******/ var abortError = false; -/******/ var doApply = false; -/******/ var doDispose = false; -/******/ var chainInfo = ""; -/******/ if (result.chain) { -/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> "); -/******/ } -/******/ switch (result.type) { -/******/ case "self-declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of self decline: " + -/******/ result.moduleId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of declined dependency: " + -/******/ result.moduleId + -/******/ " in " + -/******/ result.parentId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "unaccepted": -/******/ if (options.onUnaccepted) options.onUnaccepted(result); -/******/ if (!options.ignoreUnaccepted) -/******/ abortError = new Error( -/******/ "Aborted because " + moduleId + " is not accepted" + chainInfo -/******/ ); -/******/ break; -/******/ case "accepted": -/******/ if (options.onAccepted) options.onAccepted(result); -/******/ doApply = true; -/******/ break; -/******/ case "disposed": -/******/ if (options.onDisposed) options.onDisposed(result); -/******/ doDispose = true; -/******/ break; -/******/ default: -/******/ throw new Error("Unexception type " + result.type); -/******/ } -/******/ if (abortError) { -/******/ return { -/******/ error: abortError -/******/ }; -/******/ } -/******/ if (doApply) { -/******/ appliedUpdate[moduleId] = newModuleFactory; -/******/ addAllToSet(outdatedModules, result.outdatedModules); -/******/ for (moduleId in result.outdatedDependencies) { -/******/ if (__webpack_require__.o(result.outdatedDependencies, moduleId)) { -/******/ if (!outdatedDependencies[moduleId]) -/******/ outdatedDependencies[moduleId] = []; -/******/ addAllToSet( -/******/ outdatedDependencies[moduleId], -/******/ result.outdatedDependencies[moduleId] -/******/ ); -/******/ } -/******/ } -/******/ } -/******/ if (doDispose) { -/******/ addAllToSet(outdatedModules, [result.moduleId]); -/******/ appliedUpdate[moduleId] = warnUnexpectedRequire; -/******/ } -/******/ } -/******/ } -/******/ currentUpdate = undefined; -/******/ -/******/ // Store self accepted outdated modules to require them later by the module system -/******/ var outdatedSelfAcceptedModules = []; -/******/ for (var j = 0; j < outdatedModules.length; j++) { -/******/ var outdatedModuleId = outdatedModules[j]; -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if ( -/******/ module && -/******/ (module.hot._selfAccepted || module.hot._main) && -/******/ // removed self-accepted modules should not be required -/******/ appliedUpdate[outdatedModuleId] !== warnUnexpectedRequire && -/******/ // when called invalidate self-accepting is not possible -/******/ !module.hot._selfInvalidated -/******/ ) { -/******/ outdatedSelfAcceptedModules.push({ -/******/ module: outdatedModuleId, -/******/ require: module.hot._requireSelf, -/******/ errorHandler: module.hot._selfAccepted -/******/ }); -/******/ } -/******/ } -/******/ -/******/ var moduleOutdatedDependencies; -/******/ -/******/ return { -/******/ dispose: function () { -/******/ currentUpdateRemovedChunks.forEach(function (chunkId) { -/******/ delete installedChunks[chunkId]; -/******/ }); -/******/ currentUpdateRemovedChunks = undefined; -/******/ -/******/ var idx; -/******/ var queue = outdatedModules.slice(); -/******/ while (queue.length > 0) { -/******/ var moduleId = queue.pop(); -/******/ var module = __webpack_require__.c[moduleId]; -/******/ if (!module) continue; -/******/ -/******/ var data = {}; -/******/ -/******/ // Call dispose handlers -/******/ var disposeHandlers = module.hot._disposeHandlers; -/******/ for (j = 0; j < disposeHandlers.length; j++) { -/******/ disposeHandlers[j].call(null, data); -/******/ } -/******/ __webpack_require__.hmrD[moduleId] = data; -/******/ -/******/ // disable module (this disables requires from this module) -/******/ module.hot.active = false; -/******/ -/******/ // remove module from cache -/******/ delete __webpack_require__.c[moduleId]; -/******/ -/******/ // when disposing there is no need to call dispose handler -/******/ delete outdatedDependencies[moduleId]; -/******/ -/******/ // remove "parents" references from all children -/******/ for (j = 0; j < module.children.length; j++) { -/******/ var child = __webpack_require__.c[module.children[j]]; -/******/ if (!child) continue; -/******/ idx = child.parents.indexOf(moduleId); -/******/ if (idx >= 0) { -/******/ child.parents.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ -/******/ // remove outdated dependency from module children -/******/ var dependency; -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ for (j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ dependency = moduleOutdatedDependencies[j]; -/******/ idx = module.children.indexOf(dependency); -/******/ if (idx >= 0) module.children.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ }, -/******/ apply: function (reportError) { -/******/ // insert new code -/******/ for (var updateModuleId in appliedUpdate) { -/******/ if (__webpack_require__.o(appliedUpdate, updateModuleId)) { -/******/ __webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId]; -/******/ } -/******/ } -/******/ -/******/ // run new runtime modules -/******/ for (var i = 0; i < currentUpdateRuntime.length; i++) { -/******/ currentUpdateRuntime[i](__webpack_require__); -/******/ } -/******/ -/******/ // call accept handlers -/******/ for (var outdatedModuleId in outdatedDependencies) { -/******/ if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) { -/******/ var module = __webpack_require__.c[outdatedModuleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = -/******/ outdatedDependencies[outdatedModuleId]; -/******/ var callbacks = []; -/******/ var errorHandlers = []; -/******/ var dependenciesForCallbacks = []; -/******/ for (var j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ var dependency = moduleOutdatedDependencies[j]; -/******/ var acceptCallback = -/******/ module.hot._acceptedDependencies[dependency]; -/******/ var errorHandler = -/******/ module.hot._acceptedErrorHandlers[dependency]; -/******/ if (acceptCallback) { -/******/ if (callbacks.indexOf(acceptCallback) !== -1) continue; -/******/ callbacks.push(acceptCallback); -/******/ errorHandlers.push(errorHandler); -/******/ dependenciesForCallbacks.push(dependency); -/******/ } -/******/ } -/******/ for (var k = 0; k < callbacks.length; k++) { -/******/ try { -/******/ callbacks[k].call(null, moduleOutdatedDependencies); -/******/ } catch (err) { -/******/ if (typeof errorHandlers[k] === "function") { -/******/ try { -/******/ errorHandlers[k](err, { -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-error-handler-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-errored", -/******/ moduleId: outdatedModuleId, -/******/ dependencyId: dependenciesForCallbacks[k], -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Load self accepted modules -/******/ for (var o = 0; o < outdatedSelfAcceptedModules.length; o++) { -/******/ var item = outdatedSelfAcceptedModules[o]; -/******/ var moduleId = item.module; -/******/ try { -/******/ item.require(moduleId); -/******/ } catch (err) { -/******/ if (typeof item.errorHandler === "function") { -/******/ try { -/******/ item.errorHandler(err, { -/******/ moduleId: moduleId, -/******/ module: __webpack_require__.c[moduleId] -/******/ }); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-error-handler-errored", -/******/ moduleId: moduleId, -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err2); -/******/ reportError(err); -/******/ } -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-errored", -/******/ moduleId: moduleId, -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ reportError(err); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ return outdatedModules; -/******/ } -/******/ }; -/******/ } -/******/ __webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) { -/******/ if (!currentUpdate) { -/******/ currentUpdate = {}; -/******/ currentUpdateRuntime = []; -/******/ currentUpdateRemovedChunks = []; -/******/ applyHandlers.push(applyHandler); -/******/ } -/******/ if (!__webpack_require__.o(currentUpdate, moduleId)) { -/******/ currentUpdate[moduleId] = __webpack_require__.m[moduleId]; -/******/ } -/******/ }; -/******/ __webpack_require__.hmrC.jsonp = function ( -/******/ chunkIds, -/******/ removedChunks, -/******/ removedModules, -/******/ promises, -/******/ applyHandlers, -/******/ updatedModulesList -/******/ ) { -/******/ applyHandlers.push(applyHandler); -/******/ currentUpdateChunks = {}; -/******/ currentUpdateRemovedChunks = removedChunks; -/******/ currentUpdate = removedModules.reduce(function (obj, key) { -/******/ obj[key] = false; -/******/ return obj; -/******/ }, {}); -/******/ currentUpdateRuntime = []; -/******/ chunkIds.forEach(function (chunkId) { -/******/ if ( -/******/ __webpack_require__.o(installedChunks, chunkId) && -/******/ installedChunks[chunkId] !== undefined -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId, updatedModulesList)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } else { -/******/ currentUpdateChunks[chunkId] = false; -/******/ } -/******/ }); -/******/ if (__webpack_require__.f) { -/******/ __webpack_require__.f.jsonpHmr = function (chunkId, promises) { -/******/ if ( -/******/ currentUpdateChunks && -/******/ __webpack_require__.o(currentUpdateChunks, chunkId) && -/******/ !currentUpdateChunks[chunkId] -/******/ ) { -/******/ promises.push(loadUpdateChunk(chunkId)); -/******/ currentUpdateChunks[chunkId] = true; -/******/ } -/******/ }; -/******/ } -/******/ }; -/******/ -/******/ __webpack_require__.hmrM = function() { -/******/ if (typeof fetch === "undefined") throw new Error("No browser support: need fetch API"); -/******/ return fetch(__webpack_require__.p + __webpack_require__.hmrF()).then(function(response) { -/******/ if(response.status === 404) return; // no update available -/******/ if(!response.ok) throw new Error("Failed to fetch update manifest " + response.statusText); -/******/ return response.json(); -/******/ }); -/******/ }; -/******/ -/******/ __webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; }; -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = function(parentChunkLoadingFunction, data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var runtime = data[2]; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ }(); -/******/ -/******/ /* webpack/runtime/nonce */ -/******/ !function() { -/******/ __webpack_require__.nc = undefined; -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f0bbad6337067697.hot-update.js b/.next/static/webpack/webpack.f0bbad6337067697.hot-update.js deleted file mode 100644 index 8f25f45..0000000 --- a/.next/static/webpack/webpack.f0bbad6337067697.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "1e89062a764da16f"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f1f288f2f518456e.hot-update.js b/.next/static/webpack/webpack.f1f288f2f518456e.hot-update.js deleted file mode 100644 index 4b9897c..0000000 --- a/.next/static/webpack/webpack.f1f288f2f518456e.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "b277eb81f90d9720"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f2e206045ad8a77b.hot-update.js b/.next/static/webpack/webpack.f2e206045ad8a77b.hot-update.js deleted file mode 100644 index 3de946d..0000000 --- a/.next/static/webpack/webpack.f2e206045ad8a77b.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "66ff179cf39f8623"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f35e0926e721b926.hot-update.js b/.next/static/webpack/webpack.f35e0926e721b926.hot-update.js deleted file mode 100644 index b1603d6..0000000 --- a/.next/static/webpack/webpack.f35e0926e721b926.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "cb2439d8f4679961"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f42001c2e8c65f93.hot-update.js b/.next/static/webpack/webpack.f42001c2e8c65f93.hot-update.js deleted file mode 100644 index 02c83f7..0000000 --- a/.next/static/webpack/webpack.f42001c2e8c65f93.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "776ae571a0c57170"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.f7c73b2c474884c5.hot-update.js b/.next/static/webpack/webpack.f7c73b2c474884c5.hot-update.js deleted file mode 100644 index b892c1c..0000000 --- a/.next/static/webpack/webpack.f7c73b2c474884c5.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "c1152517c49bd5ab"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.fa1738f1a66becb3.hot-update.js b/.next/static/webpack/webpack.fa1738f1a66becb3.hot-update.js deleted file mode 100644 index 82faaf7..0000000 --- a/.next/static/webpack/webpack.fa1738f1a66becb3.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "7cbc635862a04c63"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.fa71c63448037219.hot-update.js b/.next/static/webpack/webpack.fa71c63448037219.hot-update.js deleted file mode 100644 index 7350a2a..0000000 --- a/.next/static/webpack/webpack.fa71c63448037219.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "473e98242cc1b3af"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.fce5a199b1bc57a9.hot-update.js b/.next/static/webpack/webpack.fce5a199b1bc57a9.hot-update.js deleted file mode 100644 index 9c86ab5..0000000 --- a/.next/static/webpack/webpack.fce5a199b1bc57a9.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "fd84a9cbca8b5d38"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/static/webpack/webpack.fd84a9cbca8b5d38.hot-update.js b/.next/static/webpack/webpack.fd84a9cbca8b5d38.hot-update.js deleted file mode 100644 index 6991975..0000000 --- a/.next/static/webpack/webpack.fd84a9cbca8b5d38.hot-update.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -self["webpackHotUpdate_N_E"]("webpack",{}, -/******/ function(__webpack_require__) { // webpackRuntimeModules -/******/ /* webpack/runtime/getFullHash */ -/******/ !function() { -/******/ __webpack_require__.h = function() { return "dafb1c9068442956"; } -/******/ }(); -/******/ -/******/ } -); \ No newline at end of file diff --git a/.next/trace b/.next/trace deleted file mode 100644 index 6ac99c3..0000000 --- a/.next/trace +++ /dev/null @@ -1,185 +0,0 @@ -[{"traceId":"f3118a7bad57c10e","name":"hot-reloader","id":1,"timestamp":2738305172,"duration":85,"tags":{"version":"13.4.13"},"startTime":1691870220651},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"start","id":2,"timestamp":2738306355,"duration":3,"tags":{},"startTime":1691870220652},{"traceId":"f3118a7bad57c10e","parentId":2,"name":"get-version-info","id":3,"timestamp":2738306693,"duration":3584449,"tags":{},"startTime":1691870220652},{"traceId":"f3118a7bad57c10e","parentId":2,"name":"clean","id":4,"timestamp":2741891223,"duration":18495,"tags":{},"startTime":1691870224237},{"traceId":"f3118a7bad57c10e","parentId":5,"name":"get-page-paths","id":6,"timestamp":2741915221,"duration":2306,"tags":{},"startTime":1691870224261},{"traceId":"f3118a7bad57c10e","parentId":5,"name":"create-pages-mapping","id":7,"timestamp":2741917571,"duration":627,"tags":{},"startTime":1691870224263},{"traceId":"f3118a7bad57c10e","parentId":5,"name":"create-entrypoints","id":8,"timestamp":2741918233,"duration":6807,"tags":{},"startTime":1691870224264},{"traceId":"f3118a7bad57c10e","parentId":5,"name":"generate-webpack-config","id":9,"timestamp":2741925093,"duration":153967,"tags":{},"startTime":1691870224271},{"traceId":"f3118a7bad57c10e","parentId":2,"name":"get-webpack-config","id":5,"timestamp":2741915059,"duration":164038,"tags":{},"startTime":1691870224261},{"traceId":"f3118a7bad57c10e","parentId":11,"name":"add-entry","id":12,"timestamp":2742203454,"duration":245638,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870224549},{"traceId":"f3118a7bad57c10e","parentId":10,"name":"make","id":11,"timestamp":2742201267,"duration":248427,"tags":{},"startTime":1691870224547},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"chunk-graph","id":14,"timestamp":2742455692,"duration":3827,"tags":{},"startTime":1691870224801},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"optimize-modules","id":16,"timestamp":2742459725,"duration":43,"tags":{},"startTime":1691870224805},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"optimize-chunks","id":17,"timestamp":2742459913,"duration":530,"tags":{},"startTime":1691870224806},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"optimize-tree","id":18,"timestamp":2742460558,"duration":174,"tags":{},"startTime":1691870224806},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"optimize-chunk-modules","id":19,"timestamp":2742460846,"duration":175,"tags":{},"startTime":1691870224806},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"optimize","id":15,"timestamp":2742459647,"duration":1628,"tags":{},"startTime":1691870224805},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"module-hash","id":20,"timestamp":2742463526,"duration":4724,"tags":{},"startTime":1691870224809},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"code-generation","id":21,"timestamp":2742468348,"duration":1382,"tags":{},"startTime":1691870224814},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"hash","id":22,"timestamp":2742476159,"duration":18743,"tags":{},"startTime":1691870224822},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"code-generation-jobs","id":23,"timestamp":2742494899,"duration":1071,"tags":{},"startTime":1691870224841},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"module-assets","id":24,"timestamp":2742495906,"duration":166,"tags":{},"startTime":1691870224842},{"traceId":"f3118a7bad57c10e","parentId":13,"name":"create-chunk-assets","id":25,"timestamp":2742496093,"duration":5172,"tags":{},"startTime":1691870224842},{"traceId":"f3118a7bad57c10e","parentId":10,"name":"NextJsBuildManifest-generateClientManifest","id":27,"timestamp":2742504072,"duration":1299,"tags":{},"startTime":1691870224850},{"traceId":"f3118a7bad57c10e","parentId":10,"name":"NextJsBuildManifest-createassets","id":26,"timestamp":2742503207,"duration":2196,"tags":{},"startTime":1691870224849},{"traceId":"f3118a7bad57c10e","parentId":10,"name":"seal","id":13,"timestamp":2742455035,"duration":52122,"tags":{},"startTime":1691870224801},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":10,"timestamp":2742189485,"duration":318129,"tags":{"name":"client"},"startTime":1691870224535},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":28,"timestamp":2742508201,"duration":12505,"tags":{},"startTime":1691870224854},{"traceId":"f3118a7bad57c10e","parentId":29,"name":"make","id":30,"timestamp":2742535198,"duration":2045,"tags":{},"startTime":1691870224881},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"chunk-graph","id":32,"timestamp":2742537604,"duration":51,"tags":{},"startTime":1691870224883},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"optimize-modules","id":34,"timestamp":2742537703,"duration":8,"tags":{},"startTime":1691870224883},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"optimize-chunks","id":35,"timestamp":2742537802,"duration":102,"tags":{},"startTime":1691870224883},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"optimize-tree","id":36,"timestamp":2742537990,"duration":15,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"optimize-chunk-modules","id":37,"timestamp":2742538081,"duration":14,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"optimize","id":33,"timestamp":2742537690,"duration":534,"tags":{},"startTime":1691870224883},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"module-hash","id":38,"timestamp":2742538559,"duration":19,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"code-generation","id":39,"timestamp":2742538602,"duration":14,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"hash","id":40,"timestamp":2742538690,"duration":118,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"code-generation-jobs","id":41,"timestamp":2742538808,"duration":94,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"module-assets","id":42,"timestamp":2742538887,"duration":25,"tags":{},"startTime":1691870224884},{"traceId":"f3118a7bad57c10e","parentId":31,"name":"create-chunk-assets","id":43,"timestamp":2742538925,"duration":31,"tags":{},"startTime":1691870224885},{"traceId":"f3118a7bad57c10e","parentId":29,"name":"seal","id":31,"timestamp":2742537536,"duration":2256,"tags":{},"startTime":1691870224883},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":29,"timestamp":2742534144,"duration":5751,"tags":{"name":"server"},"startTime":1691870224880},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":44,"timestamp":2742540077,"duration":1439,"tags":{},"startTime":1691870224886},{"traceId":"f3118a7bad57c10e","parentId":45,"name":"make","id":46,"timestamp":2742549887,"duration":349,"tags":{},"startTime":1691870224895},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"chunk-graph","id":48,"timestamp":2742551149,"duration":70,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"optimize-modules","id":50,"timestamp":2742551271,"duration":10,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"optimize-chunks","id":51,"timestamp":2742551310,"duration":17,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"optimize-tree","id":52,"timestamp":2742551362,"duration":12,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"optimize-chunk-modules","id":53,"timestamp":2742551399,"duration":10,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"optimize","id":49,"timestamp":2742551253,"duration":190,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"module-hash","id":54,"timestamp":2742551791,"duration":29,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"code-generation","id":55,"timestamp":2742551845,"duration":15,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"hash","id":56,"timestamp":2742551925,"duration":156,"tags":{},"startTime":1691870224898},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"code-generation-jobs","id":57,"timestamp":2742552080,"duration":41,"tags":{},"startTime":1691870224898},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"module-assets","id":58,"timestamp":2742552110,"duration":18,"tags":{},"startTime":1691870224898},{"traceId":"f3118a7bad57c10e","parentId":47,"name":"create-chunk-assets","id":59,"timestamp":2742552136,"duration":25,"tags":{},"startTime":1691870224898},{"traceId":"f3118a7bad57c10e","parentId":45,"name":"seal","id":47,"timestamp":2742550939,"duration":1963,"tags":{},"startTime":1691870224897},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":45,"timestamp":2742548079,"duration":4887,"tags":{"name":"edge-server"},"startTime":1691870224894},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":60,"timestamp":2742553044,"duration":1225,"tags":{},"startTime":1691870224899}] -[{"traceId":"f3118a7bad57c10e","parentId":65,"name":"add-entry","id":66,"timestamp":2742799838,"duration":193166,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870225145},{"traceId":"f3118a7bad57c10e","parentId":64,"name":"make","id":65,"timestamp":2742798621,"duration":194470,"tags":{},"startTime":1691870225144},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"chunk-graph","id":68,"timestamp":2742993571,"duration":473,"tags":{},"startTime":1691870225339},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"optimize-modules","id":70,"timestamp":2742994102,"duration":12,"tags":{},"startTime":1691870225340},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"optimize-chunks","id":71,"timestamp":2742994143,"duration":41,"tags":{},"startTime":1691870225340},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"optimize-tree","id":72,"timestamp":2742998104,"duration":45,"tags":{},"startTime":1691870225344},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"optimize-chunk-modules","id":73,"timestamp":2742998205,"duration":15,"tags":{},"startTime":1691870225344},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"optimize","id":69,"timestamp":2742994082,"duration":4285,"tags":{},"startTime":1691870225340},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"module-hash","id":74,"timestamp":2742999161,"duration":55,"tags":{},"startTime":1691870225345},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"code-generation","id":75,"timestamp":2742999245,"duration":161,"tags":{},"startTime":1691870225345},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"hash","id":76,"timestamp":2743001245,"duration":5354,"tags":{},"startTime":1691870225347},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"code-generation-jobs","id":77,"timestamp":2743006597,"duration":362,"tags":{},"startTime":1691870225352},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"module-assets","id":78,"timestamp":2743006929,"duration":52,"tags":{},"startTime":1691870225353},{"traceId":"f3118a7bad57c10e","parentId":67,"name":"create-chunk-assets","id":79,"timestamp":2743006996,"duration":440,"tags":{},"startTime":1691870225353},{"traceId":"f3118a7bad57c10e","parentId":64,"name":"NextJsBuildManifest-generateClientManifest","id":81,"timestamp":2743009515,"duration":183,"tags":{},"startTime":1691870225355},{"traceId":"f3118a7bad57c10e","parentId":64,"name":"NextJsBuildManifest-createassets","id":80,"timestamp":2743009374,"duration":344,"tags":{},"startTime":1691870225355},{"traceId":"f3118a7bad57c10e","parentId":64,"name":"seal","id":67,"timestamp":2742993478,"duration":16607,"tags":{},"startTime":1691870225339},{"traceId":"f3118a7bad57c10e","parentId":61,"name":"webpack-compilation","id":64,"timestamp":2742797340,"duration":212842,"tags":{"name":"client"},"startTime":1691870225143},{"traceId":"f3118a7bad57c10e","parentId":61,"name":"emit","id":82,"timestamp":2743010301,"duration":88885,"tags":{},"startTime":1691870225356},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":61,"timestamp":2742786804,"duration":314460,"tags":{"trigger":"manual"},"startTime":1691870225132},{"traceId":"f3118a7bad57c10e","parentId":83,"name":"make","id":84,"timestamp":2743144202,"duration":567,"tags":{},"startTime":1691870225490},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"chunk-graph","id":86,"timestamp":2743145058,"duration":58,"tags":{},"startTime":1691870225491},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"optimize-modules","id":88,"timestamp":2743145157,"duration":13,"tags":{},"startTime":1691870225491},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"optimize-chunks","id":89,"timestamp":2743145201,"duration":20,"tags":{},"startTime":1691870225491},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"optimize-tree","id":90,"timestamp":2743145249,"duration":16,"tags":{},"startTime":1691870225491},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"optimize-chunk-modules","id":91,"timestamp":2743145942,"duration":30,"tags":{},"startTime":1691870225492},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"optimize","id":87,"timestamp":2743145144,"duration":903,"tags":{},"startTime":1691870225491},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"module-hash","id":92,"timestamp":2743146540,"duration":22,"tags":{},"startTime":1691870225492},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"code-generation","id":93,"timestamp":2743146591,"duration":17,"tags":{},"startTime":1691870225492},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"hash","id":94,"timestamp":2743146683,"duration":153,"tags":{},"startTime":1691870225492},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"code-generation-jobs","id":95,"timestamp":2743146835,"duration":55,"tags":{},"startTime":1691870225492},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"module-assets","id":96,"timestamp":2743146873,"duration":23,"tags":{},"startTime":1691870225492},{"traceId":"f3118a7bad57c10e","parentId":85,"name":"create-chunk-assets","id":97,"timestamp":2743146909,"duration":29,"tags":{},"startTime":1691870225493},{"traceId":"f3118a7bad57c10e","parentId":83,"name":"seal","id":85,"timestamp":2743144974,"duration":2336,"tags":{},"startTime":1691870225491},{"traceId":"f3118a7bad57c10e","parentId":62,"name":"webpack-compilation","id":83,"timestamp":2743142757,"duration":4620,"tags":{"name":"server"},"startTime":1691870225488},{"traceId":"f3118a7bad57c10e","parentId":62,"name":"emit","id":98,"timestamp":2743147425,"duration":1283,"tags":{},"startTime":1691870225493},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":62,"timestamp":2742787444,"duration":362225,"tags":{"trigger":"manual"},"startTime":1691870225133},{"traceId":"f3118a7bad57c10e","parentId":99,"name":"make","id":100,"timestamp":2743165067,"duration":1056,"tags":{},"startTime":1691870225511},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"chunk-graph","id":102,"timestamp":2743167762,"duration":94,"tags":{},"startTime":1691870225513},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"optimize-modules","id":104,"timestamp":2743167914,"duration":20,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"optimize-chunks","id":105,"timestamp":2743167969,"duration":49,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"optimize-tree","id":106,"timestamp":2743168057,"duration":14,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"optimize-chunk-modules","id":107,"timestamp":2743168099,"duration":13,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"optimize","id":103,"timestamp":2743167893,"duration":256,"tags":{},"startTime":1691870225513},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"module-hash","id":108,"timestamp":2743168374,"duration":20,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"code-generation","id":109,"timestamp":2743168416,"duration":17,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"hash","id":110,"timestamp":2743168504,"duration":95,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"code-generation-jobs","id":111,"timestamp":2743168598,"duration":41,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"module-assets","id":112,"timestamp":2743168629,"duration":20,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":101,"name":"create-chunk-assets","id":113,"timestamp":2743168659,"duration":28,"tags":{},"startTime":1691870225514},{"traceId":"f3118a7bad57c10e","parentId":99,"name":"seal","id":101,"timestamp":2743166780,"duration":2599,"tags":{},"startTime":1691870225512},{"traceId":"f3118a7bad57c10e","parentId":63,"name":"webpack-compilation","id":99,"timestamp":2743158455,"duration":10982,"tags":{"name":"edge-server"},"startTime":1691870225504},{"traceId":"f3118a7bad57c10e","parentId":63,"name":"emit","id":114,"timestamp":2743169488,"duration":1901,"tags":{},"startTime":1691870225515},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-edge-server","id":63,"timestamp":2742787607,"duration":394310,"tags":{"trigger":"manual"},"startTime":1691870225133}] -[{"traceId":"f3118a7bad57c10e","parentId":118,"name":"add-entry","id":119,"timestamp":2793206945,"duration":152173,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870275553},{"traceId":"f3118a7bad57c10e","parentId":118,"name":"add-entry","id":123,"timestamp":2793207587,"duration":1447646,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691870275553},{"traceId":"f3118a7bad57c10e","parentId":118,"name":"add-entry","id":120,"timestamp":2793207459,"duration":1678944,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691870275553},{"traceId":"f3118a7bad57c10e","parentId":118,"name":"add-entry","id":122,"timestamp":2793207554,"duration":1678869,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691870275553},{"traceId":"f3118a7bad57c10e","parentId":125,"name":"read-resource","id":126,"timestamp":2794955152,"duration":30199,"tags":{},"startTime":1691870277301},{"traceId":"f3118a7bad57c10e","parentId":128,"name":"next-swc-transform","id":129,"timestamp":2794965604,"duration":2943699,"tags":{},"startTime":1691870277311},{"traceId":"f3118a7bad57c10e","parentId":127,"name":"next-swc-loader","id":128,"timestamp":2794964399,"duration":2944926,"tags":{},"startTime":1691870277310},{"traceId":"f3118a7bad57c10e","parentId":117,"name":"build-module-tsx","id":127,"timestamp":2794957414,"duration":2999762,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691870277303},{"traceId":"f3118a7bad57c10e","parentId":130,"name":"postcss-process","id":131,"timestamp":2797336923,"duration":938915,"tags":{},"startTime":1691870279683},{"traceId":"f3118a7bad57c10e","parentId":125,"name":"postcss-loader","id":130,"timestamp":2794985886,"duration":3293194,"tags":{},"startTime":1691870277332},{"traceId":"f3118a7bad57c10e","parentId":125,"name":"css-loader","id":132,"timestamp":2798279453,"duration":116280,"tags":{"astUsed":"true"},"startTime":1691870280625},{"traceId":"f3118a7bad57c10e","parentId":117,"name":"build-module-css","id":125,"timestamp":2794934237,"duration":3473574,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691870277280},{"traceId":"f3118a7bad57c10e","parentId":118,"name":"add-entry","id":124,"timestamp":2793207624,"duration":5480467,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691870275553},{"traceId":"f3118a7bad57c10e","parentId":118,"name":"add-entry","id":121,"timestamp":2793207517,"duration":6334127,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691870275553},{"traceId":"f3118a7bad57c10e","parentId":117,"name":"make","id":118,"timestamp":2793203714,"duration":6338146,"tags":{},"startTime":1691870275549},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"chunk-graph","id":134,"timestamp":2799603300,"duration":97530,"tags":{},"startTime":1691870281949},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"optimize-modules","id":136,"timestamp":2799701046,"duration":53,"tags":{},"startTime":1691870282047},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"optimize-chunks","id":137,"timestamp":2799701224,"duration":1712,"tags":{},"startTime":1691870282047},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"optimize-tree","id":138,"timestamp":2799703075,"duration":211,"tags":{},"startTime":1691870282049},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"optimize-chunk-modules","id":139,"timestamp":2799703423,"duration":206,"tags":{},"startTime":1691870282049},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"optimize","id":135,"timestamp":2799700945,"duration":15535,"tags":{},"startTime":1691870282047},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"module-hash","id":140,"timestamp":2799786116,"duration":105350,"tags":{},"startTime":1691870282132},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"code-generation","id":141,"timestamp":2799891560,"duration":23912,"tags":{},"startTime":1691870282237},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"hash","id":142,"timestamp":2799948333,"duration":27149,"tags":{},"startTime":1691870282294},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"code-generation-jobs","id":143,"timestamp":2799975479,"duration":3609,"tags":{},"startTime":1691870282321},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"module-assets","id":144,"timestamp":2799978869,"duration":3201,"tags":{},"startTime":1691870282324},{"traceId":"f3118a7bad57c10e","parentId":133,"name":"create-chunk-assets","id":145,"timestamp":2799982113,"duration":5127,"tags":{},"startTime":1691870282328},{"traceId":"f3118a7bad57c10e","parentId":117,"name":"NextJsBuildManifest-generateClientManifest","id":147,"timestamp":2799994670,"duration":1351,"tags":{},"startTime":1691870282340},{"traceId":"f3118a7bad57c10e","parentId":117,"name":"NextJsBuildManifest-createassets","id":146,"timestamp":2799993668,"duration":2380,"tags":{},"startTime":1691870282339},{"traceId":"f3118a7bad57c10e","parentId":117,"name":"seal","id":133,"timestamp":2799588445,"duration":418870,"tags":{},"startTime":1691870281934},{"traceId":"f3118a7bad57c10e","parentId":115,"name":"webpack-compilation","id":117,"timestamp":2793193077,"duration":6814608,"tags":{"name":"client"},"startTime":1691870275539},{"traceId":"f3118a7bad57c10e","parentId":115,"name":"emit","id":148,"timestamp":2800008156,"duration":120078,"tags":{},"startTime":1691870282354},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":115,"timestamp":2793185128,"duration":6949105,"tags":{"trigger":"manual"},"startTime":1691870275531},{"traceId":"f3118a7bad57c10e","parentId":150,"name":"add-entry","id":151,"timestamp":2800184533,"duration":406070,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870282530},{"traceId":"f3118a7bad57c10e","parentId":150,"name":"add-entry","id":152,"timestamp":2800184685,"duration":405941,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870282530},{"traceId":"f3118a7bad57c10e","parentId":150,"name":"add-entry","id":153,"timestamp":2800184727,"duration":405904,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870282530},{"traceId":"f3118a7bad57c10e","parentId":156,"name":"next-swc-transform","id":157,"timestamp":2800589826,"duration":8897,"tags":{},"startTime":1691870282935},{"traceId":"f3118a7bad57c10e","parentId":155,"name":"next-swc-loader","id":156,"timestamp":2800589415,"duration":9325,"tags":{},"startTime":1691870282935},{"traceId":"f3118a7bad57c10e","parentId":149,"name":"build-module-tsx","id":155,"timestamp":2800588029,"duration":17589,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691870282934},{"traceId":"f3118a7bad57c10e","parentId":150,"name":"add-entry","id":154,"timestamp":2800184764,"duration":421317,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870282530},{"traceId":"f3118a7bad57c10e","parentId":149,"name":"make","id":150,"timestamp":2800143106,"duration":463008,"tags":{},"startTime":1691870282489},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"chunk-graph","id":159,"timestamp":2800607782,"duration":974,"tags":{},"startTime":1691870282953},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"optimize-modules","id":161,"timestamp":2800608817,"duration":14,"tags":{},"startTime":1691870282954},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"optimize-chunks","id":162,"timestamp":2800609992,"duration":6778,"tags":{},"startTime":1691870282956},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"optimize-tree","id":163,"timestamp":2800616944,"duration":29,"tags":{},"startTime":1691870282963},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"optimize-chunk-modules","id":164,"timestamp":2800617240,"duration":42,"tags":{},"startTime":1691870282963},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"optimize","id":160,"timestamp":2800608796,"duration":11986,"tags":{},"startTime":1691870282954},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"module-hash","id":165,"timestamp":2800621740,"duration":1237,"tags":{},"startTime":1691870282967},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"code-generation","id":166,"timestamp":2800623020,"duration":31531,"tags":{},"startTime":1691870282969},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"hash","id":167,"timestamp":2800660746,"duration":6221,"tags":{},"startTime":1691870283006},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"code-generation-jobs","id":168,"timestamp":2800666965,"duration":1013,"tags":{},"startTime":1691870283013},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"module-assets","id":169,"timestamp":2800667907,"duration":132,"tags":{},"startTime":1691870283014},{"traceId":"f3118a7bad57c10e","parentId":158,"name":"create-chunk-assets","id":170,"timestamp":2800668053,"duration":1892,"tags":{},"startTime":1691870283014},{"traceId":"f3118a7bad57c10e","parentId":149,"name":"seal","id":158,"timestamp":2800607553,"duration":64619,"tags":{},"startTime":1691870282953},{"traceId":"f3118a7bad57c10e","parentId":116,"name":"webpack-compilation","id":149,"timestamp":2800142144,"duration":530099,"tags":{"name":"server"},"startTime":1691870282488},{"traceId":"f3118a7bad57c10e","parentId":116,"name":"emit","id":171,"timestamp":2800672370,"duration":47792,"tags":{},"startTime":1691870283018},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":116,"timestamp":2793185492,"duration":7564697,"tags":{"trigger":"manual"},"startTime":1691870275531}] -[{"traceId":"f3118a7bad57c10e","parentId":174,"name":"add-entry","id":175,"timestamp":2800911420,"duration":17679,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870283257},{"traceId":"f3118a7bad57c10e","parentId":174,"name":"add-entry","id":179,"timestamp":2800911825,"duration":23197,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691870283257},{"traceId":"f3118a7bad57c10e","parentId":174,"name":"add-entry","id":178,"timestamp":2800911801,"duration":24088,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691870283257},{"traceId":"f3118a7bad57c10e","parentId":182,"name":"read-resource","id":183,"timestamp":2800932913,"duration":4176,"tags":{},"startTime":1691870283279},{"traceId":"f3118a7bad57c10e","parentId":184,"name":"postcss-process","id":185,"timestamp":2800937184,"duration":111516,"tags":{},"startTime":1691870283283},{"traceId":"f3118a7bad57c10e","parentId":182,"name":"postcss-loader","id":184,"timestamp":2800937146,"duration":112508,"tags":{},"startTime":1691870283283},{"traceId":"f3118a7bad57c10e","parentId":182,"name":"css-loader","id":186,"timestamp":2801049698,"duration":31757,"tags":{"astUsed":"true"},"startTime":1691870283395},{"traceId":"f3118a7bad57c10e","parentId":173,"name":"build-module-css","id":182,"timestamp":2800932365,"duration":176807,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691870283278},{"traceId":"f3118a7bad57c10e","parentId":174,"name":"add-entry","id":176,"timestamp":2800911710,"duration":206616,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691870283257},{"traceId":"f3118a7bad57c10e","parentId":174,"name":"add-entry","id":180,"timestamp":2800911848,"duration":229920,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691870283257},{"traceId":"f3118a7bad57c10e","parentId":174,"name":"add-entry","id":177,"timestamp":2800911756,"duration":354162,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691870283257},{"traceId":"f3118a7bad57c10e","parentId":173,"name":"make","id":174,"timestamp":2800895751,"duration":370405,"tags":{},"startTime":1691870283241},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"chunk-graph","id":188,"timestamp":2801275021,"duration":32855,"tags":{},"startTime":1691870283621},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"optimize-modules","id":190,"timestamp":2801307955,"duration":17,"tags":{},"startTime":1691870283654},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"optimize-chunks","id":191,"timestamp":2801308007,"duration":876,"tags":{},"startTime":1691870283654},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"optimize-tree","id":192,"timestamp":2801308940,"duration":19,"tags":{},"startTime":1691870283655},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"optimize-chunk-modules","id":193,"timestamp":2801308999,"duration":13,"tags":{},"startTime":1691870283655},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"optimize","id":189,"timestamp":2801307930,"duration":17161,"tags":{},"startTime":1691870283654},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"module-hash","id":194,"timestamp":2801342614,"duration":9731,"tags":{},"startTime":1691870283688},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"code-generation","id":195,"timestamp":2801352396,"duration":13281,"tags":{},"startTime":1691870283698},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"hash","id":196,"timestamp":2801399353,"duration":25814,"tags":{},"startTime":1691870283745},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"code-generation-jobs","id":197,"timestamp":2801425151,"duration":452,"tags":{},"startTime":1691870283771},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"module-assets","id":198,"timestamp":2801425534,"duration":965,"tags":{},"startTime":1691870283771},{"traceId":"f3118a7bad57c10e","parentId":187,"name":"create-chunk-assets","id":199,"timestamp":2801426539,"duration":1233,"tags":{},"startTime":1691870283772},{"traceId":"f3118a7bad57c10e","parentId":173,"name":"NextJsBuildManifest-generateClientManifest","id":201,"timestamp":2801430808,"duration":343,"tags":{},"startTime":1691870283776},{"traceId":"f3118a7bad57c10e","parentId":173,"name":"NextJsBuildManifest-createassets","id":200,"timestamp":2801430133,"duration":1035,"tags":{},"startTime":1691870283776},{"traceId":"f3118a7bad57c10e","parentId":173,"name":"seal","id":187,"timestamp":2801270989,"duration":162491,"tags":{},"startTime":1691870283617},{"traceId":"f3118a7bad57c10e","parentId":172,"name":"webpack-compilation","id":173,"timestamp":2800872374,"duration":561178,"tags":{"name":"client"},"startTime":1691870283218},{"traceId":"f3118a7bad57c10e","parentId":172,"name":"emit","id":202,"timestamp":2801433589,"duration":23221,"tags":{},"startTime":1691870283779},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":203,"timestamp":2801457936,"duration":58,"tags":{"trigger":"manual"},"startTime":1691870283804},{"traceId":"f3118a7bad57c10e","parentId":205,"name":"add-entry","id":206,"timestamp":2801473432,"duration":18571,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870283819},{"traceId":"f3118a7bad57c10e","parentId":205,"name":"add-entry","id":207,"timestamp":2801473526,"duration":18494,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870283819},{"traceId":"f3118a7bad57c10e","parentId":205,"name":"add-entry","id":209,"timestamp":2801473630,"duration":18395,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870283819},{"traceId":"f3118a7bad57c10e","parentId":205,"name":"add-entry","id":208,"timestamp":2801473571,"duration":18717,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870283819},{"traceId":"f3118a7bad57c10e","parentId":204,"name":"make","id":205,"timestamp":2801464407,"duration":27936,"tags":{},"startTime":1691870283810},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"chunk-graph","id":211,"timestamp":2801493693,"duration":685,"tags":{},"startTime":1691870283839},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"optimize-modules","id":213,"timestamp":2801494445,"duration":17,"tags":{},"startTime":1691870283840},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"optimize-chunks","id":214,"timestamp":2801494493,"duration":59,"tags":{},"startTime":1691870283840},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"optimize-tree","id":215,"timestamp":2801494588,"duration":11,"tags":{},"startTime":1691870283840},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"optimize-chunk-modules","id":216,"timestamp":2801494626,"duration":10,"tags":{},"startTime":1691870283840},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"optimize","id":212,"timestamp":2801494423,"duration":336,"tags":{},"startTime":1691870283840},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"module-hash","id":217,"timestamp":2801497825,"duration":87,"tags":{},"startTime":1691870283843},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"code-generation","id":218,"timestamp":2801497938,"duration":221,"tags":{},"startTime":1691870283844},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"hash","id":219,"timestamp":2801499215,"duration":4846,"tags":{},"startTime":1691870283845},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"code-generation-jobs","id":220,"timestamp":2801504059,"duration":138,"tags":{},"startTime":1691870283850},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"module-assets","id":221,"timestamp":2801504168,"duration":63,"tags":{},"startTime":1691870283850},{"traceId":"f3118a7bad57c10e","parentId":210,"name":"create-chunk-assets","id":222,"timestamp":2801504240,"duration":215,"tags":{},"startTime":1691870283850},{"traceId":"f3118a7bad57c10e","parentId":204,"name":"seal","id":210,"timestamp":2801492889,"duration":12103,"tags":{},"startTime":1691870283839},{"traceId":"f3118a7bad57c10e","parentId":181,"name":"webpack-compilation","id":204,"timestamp":2801463542,"duration":41513,"tags":{"name":"server"},"startTime":1691870283809},{"traceId":"f3118a7bad57c10e","parentId":181,"name":"emit","id":223,"timestamp":2801505089,"duration":4523,"tags":{},"startTime":1691870283851},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":181,"timestamp":2800913964,"duration":597233,"tags":{"trigger":"manual"},"startTime":1691870283260},{"traceId":"f3118a7bad57c10e","parentId":225,"name":"add-entry","id":226,"timestamp":2801519805,"duration":16230,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870283865},{"traceId":"f3118a7bad57c10e","parentId":225,"name":"add-entry","id":230,"timestamp":2801519939,"duration":17968,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691870283866},{"traceId":"f3118a7bad57c10e","parentId":225,"name":"add-entry","id":229,"timestamp":2801519930,"duration":19221,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691870283866},{"traceId":"f3118a7bad57c10e","parentId":225,"name":"add-entry","id":227,"timestamp":2801519890,"duration":21144,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691870283866},{"traceId":"f3118a7bad57c10e","parentId":225,"name":"add-entry","id":231,"timestamp":2801519972,"duration":41364,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691870283866},{"traceId":"f3118a7bad57c10e","parentId":225,"name":"add-entry","id":228,"timestamp":2801519903,"duration":99511,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691870283866},{"traceId":"f3118a7bad57c10e","parentId":224,"name":"make","id":225,"timestamp":2801516714,"duration":102773,"tags":{},"startTime":1691870283862},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"chunk-graph","id":233,"timestamp":2801625322,"duration":13722,"tags":{},"startTime":1691870283971},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"optimize-modules","id":235,"timestamp":2801639117,"duration":17,"tags":{},"startTime":1691870283985},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"optimize-chunks","id":236,"timestamp":2801639166,"duration":382,"tags":{},"startTime":1691870283985},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"optimize-tree","id":237,"timestamp":2801639593,"duration":13,"tags":{},"startTime":1691870283985},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"optimize-chunk-modules","id":238,"timestamp":2801639631,"duration":11,"tags":{},"startTime":1691870283985},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"optimize","id":234,"timestamp":2801639091,"duration":10335,"tags":{},"startTime":1691870283985},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"module-hash","id":239,"timestamp":2801683627,"duration":2328,"tags":{},"startTime":1691870284029},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"code-generation","id":240,"timestamp":2801685994,"duration":6733,"tags":{},"startTime":1691870284032},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"hash","id":241,"timestamp":2801706402,"duration":15280,"tags":{},"startTime":1691870284052},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"code-generation-jobs","id":242,"timestamp":2801721679,"duration":470,"tags":{},"startTime":1691870284067},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"module-assets","id":243,"timestamp":2801722100,"duration":685,"tags":{},"startTime":1691870284068},{"traceId":"f3118a7bad57c10e","parentId":232,"name":"create-chunk-assets","id":244,"timestamp":2801722800,"duration":1655,"tags":{},"startTime":1691870284068},{"traceId":"f3118a7bad57c10e","parentId":224,"name":"NextJsBuildManifest-generateClientManifest","id":246,"timestamp":2801727400,"duration":718,"tags":{},"startTime":1691870284073},{"traceId":"f3118a7bad57c10e","parentId":224,"name":"NextJsBuildManifest-createassets","id":245,"timestamp":2801726139,"duration":2006,"tags":{},"startTime":1691870284072},{"traceId":"f3118a7bad57c10e","parentId":224,"name":"seal","id":232,"timestamp":2801621845,"duration":109567,"tags":{},"startTime":1691870283967},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":224,"timestamp":2801515798,"duration":215699,"tags":{"name":"client"},"startTime":1691870283861},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":247,"timestamp":2801731537,"duration":26405,"tags":{},"startTime":1691870284077},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":203,"timestamp":2801457936,"duration":307761,"tags":{"trigger":"manual"},"startTime":1691870283804}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":248,"timestamp":2808037884,"duration":1,"tags":{},"startTime":1691870290384},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":253,"timestamp":2810155866,"duration":180563,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870292501},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":257,"timestamp":2810156003,"duration":552414,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691870292502},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":256,"timestamp":2810155995,"duration":826488,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691870292502},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":258,"timestamp":2810156013,"duration":879344,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691870292502},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":254,"timestamp":2810155970,"duration":886362,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691870292502},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":259,"timestamp":2810156020,"duration":996303,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691870292502},{"traceId":"f3118a7bad57c10e","parentId":252,"name":"add-entry","id":255,"timestamp":2810155986,"duration":1452938,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691870292502},{"traceId":"f3118a7bad57c10e","parentId":251,"name":"make","id":252,"timestamp":2810152988,"duration":1456106,"tags":{},"startTime":1691870292499},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"chunk-graph","id":261,"timestamp":2811623745,"duration":66831,"tags":{},"startTime":1691870293969},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"optimize-modules","id":263,"timestamp":2811690739,"duration":44,"tags":{},"startTime":1691870294036},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"optimize-chunks","id":264,"timestamp":2811690877,"duration":478,"tags":{},"startTime":1691870294037},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"optimize-tree","id":265,"timestamp":2811691451,"duration":49,"tags":{},"startTime":1691870294037},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"optimize-chunk-modules","id":266,"timestamp":2811691602,"duration":297,"tags":{},"startTime":1691870294037},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"optimize","id":262,"timestamp":2811690673,"duration":3841,"tags":{},"startTime":1691870294036},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"module-hash","id":267,"timestamp":2811721320,"duration":12783,"tags":{},"startTime":1691870294067},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"code-generation","id":268,"timestamp":2811734158,"duration":39187,"tags":{},"startTime":1691870294080},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"hash","id":269,"timestamp":2811786226,"duration":29397,"tags":{},"startTime":1691870294132},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"code-generation-jobs","id":270,"timestamp":2811815618,"duration":16985,"tags":{},"startTime":1691870294161},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"module-assets","id":271,"timestamp":2811832500,"duration":1452,"tags":{},"startTime":1691870294178},{"traceId":"f3118a7bad57c10e","parentId":260,"name":"create-chunk-assets","id":272,"timestamp":2811834007,"duration":16182,"tags":{},"startTime":1691870294180},{"traceId":"f3118a7bad57c10e","parentId":251,"name":"NextJsBuildManifest-generateClientManifest","id":274,"timestamp":2811857154,"duration":3340,"tags":{},"startTime":1691870294203},{"traceId":"f3118a7bad57c10e","parentId":251,"name":"NextJsBuildManifest-createassets","id":273,"timestamp":2811856511,"duration":4013,"tags":{},"startTime":1691870294202},{"traceId":"f3118a7bad57c10e","parentId":251,"name":"seal","id":260,"timestamp":2811612718,"duration":260493,"tags":{},"startTime":1691870293958},{"traceId":"f3118a7bad57c10e","parentId":249,"name":"webpack-compilation","id":251,"timestamp":2810151502,"duration":1721803,"tags":{"name":"client"},"startTime":1691870292497},{"traceId":"f3118a7bad57c10e","parentId":249,"name":"emit","id":275,"timestamp":2811873340,"duration":105220,"tags":{},"startTime":1691870294219},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":249,"timestamp":2810141890,"duration":1851763,"tags":{"trigger":"manual"},"startTime":1691870292488},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":278,"timestamp":2812087380,"duration":1,"tags":{},"startTime":1691870294433},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":284,"timestamp":1691870292514000,"duration":2047000,"tags":{"clientId":1691870290363},"startTime":1691870294585},{"traceId":"f3118a7bad57c10e","parentId":277,"name":"add-entry","id":279,"timestamp":2812102415,"duration":409055,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870294448},{"traceId":"f3118a7bad57c10e","parentId":277,"name":"add-entry","id":280,"timestamp":2812102504,"duration":408989,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870294448},{"traceId":"f3118a7bad57c10e","parentId":277,"name":"add-entry","id":282,"timestamp":2812102525,"duration":408975,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870294448},{"traceId":"f3118a7bad57c10e","parentId":277,"name":"add-entry","id":283,"timestamp":2812102532,"duration":409040,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870294448},{"traceId":"f3118a7bad57c10e","parentId":277,"name":"add-entry","id":281,"timestamp":2812102517,"duration":409713,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870294448},{"traceId":"f3118a7bad57c10e","parentId":276,"name":"make","id":277,"timestamp":2812015759,"duration":498641,"tags":{},"startTime":1691870294361},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"chunk-graph","id":286,"timestamp":2812515334,"duration":35580,"tags":{},"startTime":1691870294861},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"optimize-modules","id":288,"timestamp":2812550997,"duration":17,"tags":{},"startTime":1691870294897},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"optimize-chunks","id":289,"timestamp":2812551172,"duration":226,"tags":{},"startTime":1691870294897},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"optimize-tree","id":290,"timestamp":2812551505,"duration":23,"tags":{},"startTime":1691870294897},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"optimize-chunk-modules","id":291,"timestamp":2812551620,"duration":19,"tags":{},"startTime":1691870294897},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"optimize","id":287,"timestamp":2812550968,"duration":883,"tags":{},"startTime":1691870294897},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"module-hash","id":292,"timestamp":2812556989,"duration":332,"tags":{},"startTime":1691870294903},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"code-generation","id":293,"timestamp":2812557357,"duration":377,"tags":{},"startTime":1691870294903},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"hash","id":294,"timestamp":2812569860,"duration":25898,"tags":{},"startTime":1691870294915},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"code-generation-jobs","id":295,"timestamp":2812595753,"duration":297,"tags":{},"startTime":1691870294941},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"module-assets","id":296,"timestamp":2812596003,"duration":313,"tags":{},"startTime":1691870294942},{"traceId":"f3118a7bad57c10e","parentId":285,"name":"create-chunk-assets","id":297,"timestamp":2812596345,"duration":32454,"tags":{},"startTime":1691870294942},{"traceId":"f3118a7bad57c10e","parentId":276,"name":"seal","id":285,"timestamp":2812515171,"duration":114726,"tags":{},"startTime":1691870294861},{"traceId":"f3118a7bad57c10e","parentId":250,"name":"webpack-compilation","id":276,"timestamp":2812013006,"duration":616960,"tags":{"name":"server"},"startTime":1691870294359},{"traceId":"f3118a7bad57c10e","parentId":250,"name":"emit","id":298,"timestamp":2812630078,"duration":4608,"tags":{},"startTime":1691870294976},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":250,"timestamp":2810142238,"duration":2495508,"tags":{"trigger":"manual"},"startTime":1691870292488}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":299,"timestamp":2824853425,"duration":0,"tags":{},"startTime":1691870307199},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":300,"timestamp":2835856603,"duration":1,"tags":{},"startTime":1691870318202},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":301,"timestamp":2846903606,"duration":1,"tags":{},"startTime":1691870329249},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":302,"timestamp":3305007673,"duration":2,"tags":{},"startTime":1691870787353},{"traceId":"f3118a7bad57c10e","parentId":306,"name":"add-entry","id":307,"timestamp":3426382974,"duration":47626,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691870908729},{"traceId":"f3118a7bad57c10e","parentId":306,"name":"add-entry","id":311,"timestamp":3426383150,"duration":66569,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691870908729},{"traceId":"f3118a7bad57c10e","parentId":314,"name":"next-swc-transform","id":315,"timestamp":3426439235,"duration":11462,"tags":{},"startTime":1691870908785},{"traceId":"f3118a7bad57c10e","parentId":313,"name":"next-swc-loader","id":314,"timestamp":3426437642,"duration":13070,"tags":{},"startTime":1691870908783},{"traceId":"f3118a7bad57c10e","parentId":305,"name":"build-module-tsx","id":313,"timestamp":3426431956,"duration":52570,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691870908778},{"traceId":"f3118a7bad57c10e","parentId":306,"name":"add-entry","id":310,"timestamp":3426383138,"duration":103041,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691870908729},{"traceId":"f3118a7bad57c10e","parentId":316,"name":"read-resource","id":317,"timestamp":3426444715,"duration":117380,"tags":{},"startTime":1691870908791},{"traceId":"f3118a7bad57c10e","parentId":318,"name":"postcss-process","id":319,"timestamp":3426562305,"duration":405211,"tags":{},"startTime":1691870908908},{"traceId":"f3118a7bad57c10e","parentId":316,"name":"postcss-loader","id":318,"timestamp":3426562223,"duration":407087,"tags":{},"startTime":1691870908908},{"traceId":"f3118a7bad57c10e","parentId":316,"name":"css-loader","id":320,"timestamp":3426969458,"duration":126667,"tags":{"astUsed":"true"},"startTime":1691870909315},{"traceId":"f3118a7bad57c10e","parentId":305,"name":"build-module-css","id":316,"timestamp":3426443402,"duration":671236,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691870908789},{"traceId":"f3118a7bad57c10e","parentId":306,"name":"add-entry","id":308,"timestamp":3426383109,"duration":998676,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691870908729},{"traceId":"f3118a7bad57c10e","parentId":306,"name":"add-entry","id":312,"timestamp":3426383164,"duration":1207333,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691870908729},{"traceId":"f3118a7bad57c10e","parentId":306,"name":"add-entry","id":309,"timestamp":3426383129,"duration":1264639,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691870908729},{"traceId":"f3118a7bad57c10e","parentId":305,"name":"make","id":306,"timestamp":3426342563,"duration":1305367,"tags":{},"startTime":1691870908688},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"chunk-graph","id":322,"timestamp":3427656166,"duration":16130,"tags":{},"startTime":1691870910002},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"optimize-modules","id":324,"timestamp":3427672456,"duration":52,"tags":{},"startTime":1691870910018},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"optimize-chunks","id":325,"timestamp":3427672608,"duration":784,"tags":{},"startTime":1691870910018},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"optimize-tree","id":326,"timestamp":3427673496,"duration":59,"tags":{},"startTime":1691870910019},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"optimize-chunk-modules","id":327,"timestamp":3427673644,"duration":49,"tags":{},"startTime":1691870910019},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"optimize","id":323,"timestamp":3427672386,"duration":5237,"tags":{},"startTime":1691870910018},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"module-hash","id":328,"timestamp":3427723649,"duration":11300,"tags":{},"startTime":1691870910069},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"code-generation","id":329,"timestamp":3427735741,"duration":50918,"tags":{},"startTime":1691870910082},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"hash","id":330,"timestamp":3427814594,"duration":35515,"tags":{},"startTime":1691870910160},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"code-generation-jobs","id":331,"timestamp":3427850105,"duration":491,"tags":{},"startTime":1691870910196},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"module-assets","id":332,"timestamp":3427850539,"duration":1019,"tags":{},"startTime":1691870910196},{"traceId":"f3118a7bad57c10e","parentId":321,"name":"create-chunk-assets","id":333,"timestamp":3427851593,"duration":19277,"tags":{},"startTime":1691870910197},{"traceId":"f3118a7bad57c10e","parentId":305,"name":"NextJsBuildManifest-generateClientManifest","id":335,"timestamp":3427879214,"duration":526,"tags":{},"startTime":1691870910225},{"traceId":"f3118a7bad57c10e","parentId":305,"name":"NextJsBuildManifest-createassets","id":334,"timestamp":3427878576,"duration":1180,"tags":{},"startTime":1691870910224},{"traceId":"f3118a7bad57c10e","parentId":305,"name":"seal","id":321,"timestamp":3427651375,"duration":234415,"tags":{},"startTime":1691870909997},{"traceId":"f3118a7bad57c10e","parentId":303,"name":"webpack-compilation","id":305,"timestamp":3426326086,"duration":1559868,"tags":{"name":"client"},"startTime":1691870908672},{"traceId":"f3118a7bad57c10e","parentId":303,"name":"emit","id":336,"timestamp":3427886093,"duration":44431,"tags":{},"startTime":1691870910232},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":303,"timestamp":3426308203,"duration":1639098,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691870908654},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":339,"timestamp":3427981833,"duration":0,"tags":{},"startTime":1691870910328},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":344,"timestamp":1691870908657000,"duration":1903000,"tags":{"clientId":1691870290363},"startTime":1691870910564},{"traceId":"f3118a7bad57c10e","parentId":338,"name":"add-entry","id":340,"timestamp":3428155484,"duration":72956,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870910501},{"traceId":"f3118a7bad57c10e","parentId":338,"name":"add-entry","id":341,"timestamp":3428155586,"duration":72875,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870910501},{"traceId":"f3118a7bad57c10e","parentId":338,"name":"add-entry","id":342,"timestamp":3428155601,"duration":73411,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870910501},{"traceId":"f3118a7bad57c10e","parentId":346,"name":"next-swc-transform","id":347,"timestamp":3428219974,"duration":11351,"tags":{},"startTime":1691870910566},{"traceId":"f3118a7bad57c10e","parentId":345,"name":"next-swc-loader","id":346,"timestamp":3428219633,"duration":11709,"tags":{},"startTime":1691870910565},{"traceId":"f3118a7bad57c10e","parentId":337,"name":"build-module-tsx","id":345,"timestamp":3428218905,"duration":21420,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691870910565},{"traceId":"f3118a7bad57c10e","parentId":338,"name":"add-entry","id":343,"timestamp":3428155611,"duration":85396,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691870910501},{"traceId":"f3118a7bad57c10e","parentId":337,"name":"make","id":338,"timestamp":3427959004,"duration":282043,"tags":{},"startTime":1691870910305},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"chunk-graph","id":349,"timestamp":3428241914,"duration":419,"tags":{},"startTime":1691870910588},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"optimize-modules","id":351,"timestamp":3428242409,"duration":10,"tags":{},"startTime":1691870910588},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"optimize-chunks","id":352,"timestamp":3428242546,"duration":103,"tags":{},"startTime":1691870910588},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"optimize-tree","id":353,"timestamp":3428242735,"duration":16,"tags":{},"startTime":1691870910589},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"optimize-chunk-modules","id":354,"timestamp":3428242831,"duration":13,"tags":{},"startTime":1691870910589},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"optimize","id":350,"timestamp":3428242389,"duration":641,"tags":{},"startTime":1691870910588},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"module-hash","id":355,"timestamp":3428243417,"duration":235,"tags":{},"startTime":1691870910589},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"code-generation","id":356,"timestamp":3428243676,"duration":1805,"tags":{},"startTime":1691870910589},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"hash","id":357,"timestamp":3428247024,"duration":2258,"tags":{},"startTime":1691870910593},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"code-generation-jobs","id":358,"timestamp":3428249280,"duration":158,"tags":{},"startTime":1691870910595},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"module-assets","id":359,"timestamp":3428249411,"duration":61,"tags":{},"startTime":1691870910595},{"traceId":"f3118a7bad57c10e","parentId":348,"name":"create-chunk-assets","id":360,"timestamp":3428249481,"duration":9365,"tags":{},"startTime":1691870910595},{"traceId":"f3118a7bad57c10e","parentId":337,"name":"seal","id":348,"timestamp":3428241759,"duration":17958,"tags":{},"startTime":1691870910588},{"traceId":"f3118a7bad57c10e","parentId":304,"name":"webpack-compilation","id":337,"timestamp":3427958131,"duration":301660,"tags":{"name":"server"},"startTime":1691870910304},{"traceId":"f3118a7bad57c10e","parentId":304,"name":"emit","id":361,"timestamp":3428259840,"duration":13607,"tags":{},"startTime":1691870910606},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":304,"timestamp":3426309152,"duration":1965911,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691870908655}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":362,"timestamp":3711861617,"duration":0,"tags":{},"startTime":1691871194272},{"traceId":"f3118a7bad57c10e","parentId":366,"name":"add-entry","id":367,"timestamp":3747389513,"duration":25544,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871229801},{"traceId":"f3118a7bad57c10e","parentId":366,"name":"add-entry","id":371,"timestamp":3747389714,"duration":32418,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871229801},{"traceId":"f3118a7bad57c10e","parentId":366,"name":"add-entry","id":370,"timestamp":3747389706,"duration":33173,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871229801},{"traceId":"f3118a7bad57c10e","parentId":376,"name":"read-resource","id":377,"timestamp":3747421588,"duration":3638,"tags":{},"startTime":1691871229833},{"traceId":"f3118a7bad57c10e","parentId":374,"name":"next-swc-transform","id":375,"timestamp":3747417699,"duration":46606,"tags":{},"startTime":1691871229829},{"traceId":"f3118a7bad57c10e","parentId":373,"name":"next-swc-loader","id":374,"timestamp":3747416981,"duration":47347,"tags":{},"startTime":1691871229828},{"traceId":"f3118a7bad57c10e","parentId":365,"name":"build-module-tsx","id":373,"timestamp":3747416213,"duration":50934,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871229827},{"traceId":"f3118a7bad57c10e","parentId":366,"name":"add-entry","id":368,"timestamp":3747389670,"duration":81303,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871229801},{"traceId":"f3118a7bad57c10e","parentId":378,"name":"postcss-process","id":379,"timestamp":3747425614,"duration":171549,"tags":{},"startTime":1691871229837},{"traceId":"f3118a7bad57c10e","parentId":376,"name":"postcss-loader","id":378,"timestamp":3747425538,"duration":172638,"tags":{},"startTime":1691871229837},{"traceId":"f3118a7bad57c10e","parentId":376,"name":"css-loader","id":380,"timestamp":3747598224,"duration":33566,"tags":{"astUsed":"true"},"startTime":1691871230009},{"traceId":"f3118a7bad57c10e","parentId":365,"name":"build-module-css","id":376,"timestamp":3747418530,"duration":229926,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871229830},{"traceId":"f3118a7bad57c10e","parentId":366,"name":"add-entry","id":372,"timestamp":3747389728,"duration":308658,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871229801},{"traceId":"f3118a7bad57c10e","parentId":366,"name":"add-entry","id":369,"timestamp":3747389692,"duration":655468,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871229801},{"traceId":"f3118a7bad57c10e","parentId":365,"name":"make","id":366,"timestamp":3747387219,"duration":658004,"tags":{},"startTime":1691871229798},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"chunk-graph","id":382,"timestamp":3748053757,"duration":34483,"tags":{},"startTime":1691871230465},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"optimize-modules","id":384,"timestamp":3748088405,"duration":43,"tags":{},"startTime":1691871230500},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"optimize-chunks","id":385,"timestamp":3748088643,"duration":536,"tags":{},"startTime":1691871230500},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"optimize-tree","id":386,"timestamp":3748089281,"duration":47,"tags":{},"startTime":1691871230500},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"optimize-chunk-modules","id":387,"timestamp":3748089431,"duration":57,"tags":{},"startTime":1691871230501},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"optimize","id":383,"timestamp":3748088329,"duration":14216,"tags":{},"startTime":1691871230500},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"module-hash","id":388,"timestamp":3748127142,"duration":5595,"tags":{},"startTime":1691871230538},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"code-generation","id":389,"timestamp":3748132829,"duration":21108,"tags":{},"startTime":1691871230544},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"hash","id":390,"timestamp":3748165243,"duration":17739,"tags":{},"startTime":1691871230576},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"code-generation-jobs","id":391,"timestamp":3748182979,"duration":215,"tags":{},"startTime":1691871230594},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"module-assets","id":392,"timestamp":3748183152,"duration":855,"tags":{},"startTime":1691871230594},{"traceId":"f3118a7bad57c10e","parentId":381,"name":"create-chunk-assets","id":393,"timestamp":3748184045,"duration":2658,"tags":{},"startTime":1691871230595},{"traceId":"f3118a7bad57c10e","parentId":365,"name":"NextJsBuildManifest-generateClientManifest","id":395,"timestamp":3748191135,"duration":162,"tags":{},"startTime":1691871230602},{"traceId":"f3118a7bad57c10e","parentId":365,"name":"NextJsBuildManifest-createassets","id":394,"timestamp":3748190943,"duration":370,"tags":{},"startTime":1691871230602},{"traceId":"f3118a7bad57c10e","parentId":365,"name":"seal","id":381,"timestamp":3748048601,"duration":146610,"tags":{},"startTime":1691871230460},{"traceId":"f3118a7bad57c10e","parentId":363,"name":"webpack-compilation","id":365,"timestamp":3747382451,"duration":812893,"tags":{"name":"client"},"startTime":1691871229794},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":363,"timestamp":3747366557,"duration":833887,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871229778},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":398,"timestamp":3748214689,"duration":2,"tags":{"errorCount":1},"startTime":1691871230626},{"traceId":"f3118a7bad57c10e","parentId":404,"name":"next-swc-transform","id":405,"timestamp":3748231713,"duration":3114,"tags":{},"startTime":1691871230643},{"traceId":"f3118a7bad57c10e","parentId":403,"name":"next-swc-loader","id":404,"timestamp":3748231356,"duration":3488,"tags":{},"startTime":1691871230643},{"traceId":"f3118a7bad57c10e","parentId":396,"name":"build-module-tsx","id":403,"timestamp":3748230922,"duration":4144,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871230642},{"traceId":"f3118a7bad57c10e","parentId":397,"name":"add-entry","id":399,"timestamp":3748217794,"duration":17542,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871230629},{"traceId":"f3118a7bad57c10e","parentId":397,"name":"add-entry","id":400,"timestamp":3748217883,"duration":17463,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871230629},{"traceId":"f3118a7bad57c10e","parentId":397,"name":"add-entry","id":402,"timestamp":3748217904,"duration":17446,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871230629},{"traceId":"f3118a7bad57c10e","parentId":397,"name":"add-entry","id":401,"timestamp":3748217896,"duration":17775,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871230629},{"traceId":"f3118a7bad57c10e","parentId":396,"name":"make","id":397,"timestamp":3748207252,"duration":28469,"tags":{},"startTime":1691871230618},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"chunk-graph","id":407,"timestamp":3748236821,"duration":415,"tags":{},"startTime":1691871230648},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"optimize-modules","id":409,"timestamp":3748237297,"duration":14,"tags":{},"startTime":1691871230649},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"optimize-chunks","id":410,"timestamp":3748237448,"duration":172,"tags":{},"startTime":1691871230649},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"optimize-tree","id":411,"timestamp":3748237724,"duration":16,"tags":{},"startTime":1691871230649},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"optimize-chunk-modules","id":412,"timestamp":3748237831,"duration":18,"tags":{},"startTime":1691871230649},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"optimize","id":408,"timestamp":3748237276,"duration":789,"tags":{},"startTime":1691871230648},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"module-hash","id":413,"timestamp":3748238517,"duration":227,"tags":{},"startTime":1691871230650},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"code-generation","id":414,"timestamp":3748238779,"duration":1053,"tags":{},"startTime":1691871230650},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"hash","id":415,"timestamp":3748241842,"duration":2317,"tags":{},"startTime":1691871230653},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"code-generation-jobs","id":416,"timestamp":3748244156,"duration":289,"tags":{},"startTime":1691871230655},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"module-assets","id":417,"timestamp":3748244399,"duration":324,"tags":{},"startTime":1691871230656},{"traceId":"f3118a7bad57c10e","parentId":406,"name":"create-chunk-assets","id":418,"timestamp":3748244753,"duration":2505,"tags":{},"startTime":1691871230656},{"traceId":"f3118a7bad57c10e","parentId":396,"name":"seal","id":406,"timestamp":3748236615,"duration":11702,"tags":{},"startTime":1691871230648},{"traceId":"f3118a7bad57c10e","parentId":364,"name":"webpack-compilation","id":396,"timestamp":3748206698,"duration":41693,"tags":{"name":"server"},"startTime":1691871230618},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":364,"timestamp":3747367340,"duration":885333,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871229779}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":419,"timestamp":3748261162,"duration":0,"tags":{"errorCount":1},"startTime":1691871230672},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":420,"timestamp":3831861205,"duration":0,"tags":{"errorCount":1},"startTime":1691871314275},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":425,"timestamp":3880927559,"duration":0,"tags":{"errorCount":1},"startTime":1691871363343},{"traceId":"f3118a7bad57c10e","parentId":424,"name":"add-entry","id":426,"timestamp":3880933398,"duration":27018,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871363349},{"traceId":"f3118a7bad57c10e","parentId":424,"name":"add-entry","id":430,"timestamp":3880933609,"duration":31510,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871363349},{"traceId":"f3118a7bad57c10e","parentId":424,"name":"add-entry","id":429,"timestamp":3880933598,"duration":33459,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871363349},{"traceId":"f3118a7bad57c10e","parentId":435,"name":"read-resource","id":436,"timestamp":3880963463,"duration":4335,"tags":{},"startTime":1691871363379},{"traceId":"f3118a7bad57c10e","parentId":433,"name":"next-swc-transform","id":434,"timestamp":3880962356,"duration":23813,"tags":{},"startTime":1691871363378},{"traceId":"f3118a7bad57c10e","parentId":432,"name":"next-swc-loader","id":433,"timestamp":3880962035,"duration":24157,"tags":{},"startTime":1691871363377},{"traceId":"f3118a7bad57c10e","parentId":423,"name":"build-module-tsx","id":432,"timestamp":3880961379,"duration":25063,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871363377},{"traceId":"f3118a7bad57c10e","parentId":437,"name":"postcss-process","id":438,"timestamp":3880967957,"duration":83442,"tags":{},"startTime":1691871363383},{"traceId":"f3118a7bad57c10e","parentId":435,"name":"postcss-loader","id":437,"timestamp":3880967885,"duration":85523,"tags":{},"startTime":1691871363383},{"traceId":"f3118a7bad57c10e","parentId":435,"name":"css-loader","id":439,"timestamp":3881053472,"duration":43125,"tags":{"astUsed":"true"},"startTime":1691871363469},{"traceId":"f3118a7bad57c10e","parentId":423,"name":"build-module-css","id":435,"timestamp":3880963111,"duration":148712,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871363378},{"traceId":"f3118a7bad57c10e","parentId":424,"name":"add-entry","id":427,"timestamp":3880933565,"duration":181241,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871363349},{"traceId":"f3118a7bad57c10e","parentId":424,"name":"add-entry","id":431,"timestamp":3880933622,"duration":192582,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871363349},{"traceId":"f3118a7bad57c10e","parentId":424,"name":"add-entry","id":428,"timestamp":3880933587,"duration":434055,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871363349},{"traceId":"f3118a7bad57c10e","parentId":423,"name":"make","id":424,"timestamp":3880927252,"duration":440449,"tags":{},"startTime":1691871363342},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"chunk-graph","id":441,"timestamp":3881375170,"duration":34331,"tags":{},"startTime":1691871363790},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"optimize-modules","id":443,"timestamp":3881416705,"duration":56,"tags":{},"startTime":1691871363832},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"optimize-chunks","id":444,"timestamp":3881423154,"duration":3164,"tags":{},"startTime":1691871363838},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"optimize-tree","id":445,"timestamp":3881426446,"duration":62,"tags":{},"startTime":1691871363842},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"optimize-chunk-modules","id":446,"timestamp":3881426652,"duration":169,"tags":{},"startTime":1691871363842},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"optimize","id":442,"timestamp":3881416592,"duration":13751,"tags":{},"startTime":1691871363832},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"module-hash","id":447,"timestamp":3881446547,"duration":3695,"tags":{},"startTime":1691871363862},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"code-generation","id":448,"timestamp":3881450292,"duration":11818,"tags":{},"startTime":1691871363865},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"hash","id":449,"timestamp":3881476051,"duration":16445,"tags":{},"startTime":1691871363891},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"code-generation-jobs","id":450,"timestamp":3881492493,"duration":245,"tags":{},"startTime":1691871363908},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"module-assets","id":451,"timestamp":3881492682,"duration":752,"tags":{},"startTime":1691871363908},{"traceId":"f3118a7bad57c10e","parentId":440,"name":"create-chunk-assets","id":452,"timestamp":3881493455,"duration":1628,"tags":{},"startTime":1691871363909},{"traceId":"f3118a7bad57c10e","parentId":423,"name":"NextJsBuildManifest-generateClientManifest","id":454,"timestamp":3881499249,"duration":504,"tags":{},"startTime":1691871363914},{"traceId":"f3118a7bad57c10e","parentId":423,"name":"NextJsBuildManifest-createassets","id":453,"timestamp":3881499074,"duration":698,"tags":{},"startTime":1691871363914},{"traceId":"f3118a7bad57c10e","parentId":423,"name":"seal","id":440,"timestamp":3881370548,"duration":132106,"tags":{},"startTime":1691871363786},{"traceId":"f3118a7bad57c10e","parentId":421,"name":"webpack-compilation","id":423,"timestamp":3880926591,"duration":576128,"tags":{"name":"client"},"startTime":1691871363342},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":421,"timestamp":3880910774,"duration":595337,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871363326},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":457,"timestamp":3881519905,"duration":0,"tags":{"errorCount":1},"startTime":1691871363935},{"traceId":"f3118a7bad57c10e","parentId":463,"name":"next-swc-transform","id":464,"timestamp":3881542686,"duration":2433,"tags":{},"startTime":1691871363958},{"traceId":"f3118a7bad57c10e","parentId":462,"name":"next-swc-loader","id":463,"timestamp":3881542217,"duration":2919,"tags":{},"startTime":1691871363957},{"traceId":"f3118a7bad57c10e","parentId":455,"name":"build-module-tsx","id":462,"timestamp":3881541664,"duration":3645,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871363957},{"traceId":"f3118a7bad57c10e","parentId":456,"name":"add-entry","id":458,"timestamp":3881527537,"duration":18047,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871363943},{"traceId":"f3118a7bad57c10e","parentId":456,"name":"add-entry","id":459,"timestamp":3881527630,"duration":17965,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871363943},{"traceId":"f3118a7bad57c10e","parentId":456,"name":"add-entry","id":461,"timestamp":3881527651,"duration":17948,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871363943},{"traceId":"f3118a7bad57c10e","parentId":456,"name":"add-entry","id":460,"timestamp":3881527644,"duration":18776,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871363943},{"traceId":"f3118a7bad57c10e","parentId":455,"name":"make","id":456,"timestamp":3881512145,"duration":34365,"tags":{},"startTime":1691871363927},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"chunk-graph","id":466,"timestamp":3881547488,"duration":379,"tags":{},"startTime":1691871363963},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"optimize-modules","id":468,"timestamp":3881547920,"duration":9,"tags":{},"startTime":1691871363963},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"optimize-chunks","id":469,"timestamp":3881548067,"duration":112,"tags":{},"startTime":1691871363963},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"optimize-tree","id":470,"timestamp":3881548269,"duration":18,"tags":{},"startTime":1691871363963},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"optimize-chunk-modules","id":471,"timestamp":3881548369,"duration":17,"tags":{},"startTime":1691871363964},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"optimize","id":467,"timestamp":3881547902,"duration":826,"tags":{},"startTime":1691871363963},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"module-hash","id":472,"timestamp":3881549239,"duration":208,"tags":{},"startTime":1691871363964},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"code-generation","id":473,"timestamp":3881549477,"duration":243,"tags":{},"startTime":1691871363965},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"hash","id":474,"timestamp":3881550873,"duration":2077,"tags":{},"startTime":1691871363966},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"code-generation-jobs","id":475,"timestamp":3881552947,"duration":144,"tags":{},"startTime":1691871363968},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"module-assets","id":476,"timestamp":3881553061,"duration":66,"tags":{},"startTime":1691871363968},{"traceId":"f3118a7bad57c10e","parentId":465,"name":"create-chunk-assets","id":477,"timestamp":3881553138,"duration":319,"tags":{},"startTime":1691871363968},{"traceId":"f3118a7bad57c10e","parentId":455,"name":"seal","id":465,"timestamp":3881547311,"duration":7071,"tags":{},"startTime":1691871363963},{"traceId":"f3118a7bad57c10e","parentId":422,"name":"webpack-compilation","id":455,"timestamp":3881511637,"duration":42799,"tags":{"name":"server"},"startTime":1691871363927},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":422,"timestamp":3880911287,"duration":646636,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871363326}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":478,"timestamp":3881560402,"duration":0,"tags":{"errorCount":1},"startTime":1691871363976},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":481,"timestamp":3887079411,"duration":0,"tags":{"errorCount":1},"startTime":1691871369495},{"traceId":"f3118a7bad57c10e","parentId":483,"name":"add-entry","id":484,"timestamp":3887088494,"duration":22809,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871369504},{"traceId":"f3118a7bad57c10e","parentId":491,"name":"next-swc-transform","id":492,"timestamp":3887112706,"duration":2029,"tags":{},"startTime":1691871369528},{"traceId":"f3118a7bad57c10e","parentId":490,"name":"next-swc-loader","id":491,"timestamp":3887112536,"duration":2218,"tags":{},"startTime":1691871369528},{"traceId":"f3118a7bad57c10e","parentId":482,"name":"build-module-tsx","id":490,"timestamp":3887112001,"duration":2973,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871369527},{"traceId":"f3118a7bad57c10e","parentId":483,"name":"add-entry","id":488,"timestamp":3887088596,"duration":26712,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871369504},{"traceId":"f3118a7bad57c10e","parentId":483,"name":"add-entry","id":487,"timestamp":3887088589,"duration":29107,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871369504},{"traceId":"f3118a7bad57c10e","parentId":493,"name":"read-resource","id":494,"timestamp":3887114071,"duration":6292,"tags":{},"startTime":1691871369529},{"traceId":"f3118a7bad57c10e","parentId":495,"name":"postcss-process","id":496,"timestamp":3887120478,"duration":265806,"tags":{},"startTime":1691871369536},{"traceId":"f3118a7bad57c10e","parentId":493,"name":"postcss-loader","id":495,"timestamp":3887120432,"duration":266149,"tags":{},"startTime":1691871369536},{"traceId":"f3118a7bad57c10e","parentId":493,"name":"css-loader","id":497,"timestamp":3887386630,"duration":19271,"tags":{"astUsed":"true"},"startTime":1691871369802},{"traceId":"f3118a7bad57c10e","parentId":482,"name":"build-module-css","id":493,"timestamp":3887113662,"duration":309939,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871369529},{"traceId":"f3118a7bad57c10e","parentId":483,"name":"add-entry","id":485,"timestamp":3887088569,"duration":335907,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871369504},{"traceId":"f3118a7bad57c10e","parentId":483,"name":"add-entry","id":489,"timestamp":3887088604,"duration":351774,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871369504},{"traceId":"f3118a7bad57c10e","parentId":483,"name":"add-entry","id":486,"timestamp":3887088581,"duration":474920,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871369504},{"traceId":"f3118a7bad57c10e","parentId":482,"name":"make","id":483,"timestamp":3887087395,"duration":476151,"tags":{},"startTime":1691871369503},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"chunk-graph","id":499,"timestamp":3887571107,"duration":15511,"tags":{},"startTime":1691871369986},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"optimize-modules","id":501,"timestamp":3887586677,"duration":8,"tags":{},"startTime":1691871370002},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"optimize-chunks","id":502,"timestamp":3887586705,"duration":414,"tags":{},"startTime":1691871370002},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"optimize-tree","id":503,"timestamp":3887587158,"duration":15,"tags":{},"startTime":1691871370003},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"optimize-chunk-modules","id":504,"timestamp":3887587209,"duration":13,"tags":{},"startTime":1691871370003},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"optimize","id":500,"timestamp":3887586660,"duration":3173,"tags":{},"startTime":1691871370002},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"module-hash","id":505,"timestamp":3887625038,"duration":2819,"tags":{},"startTime":1691871370040},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"code-generation","id":506,"timestamp":3887627905,"duration":10269,"tags":{},"startTime":1691871370043},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"hash","id":507,"timestamp":3887679537,"duration":21141,"tags":{},"startTime":1691871370095},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"code-generation-jobs","id":508,"timestamp":3887700676,"duration":618,"tags":{},"startTime":1691871370116},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"module-assets","id":509,"timestamp":3887700809,"duration":1605,"tags":{},"startTime":1691871370116},{"traceId":"f3118a7bad57c10e","parentId":498,"name":"create-chunk-assets","id":510,"timestamp":3887702454,"duration":929,"tags":{},"startTime":1691871370118},{"traceId":"f3118a7bad57c10e","parentId":482,"name":"NextJsBuildManifest-generateClientManifest","id":512,"timestamp":3887710958,"duration":112,"tags":{},"startTime":1691871370126},{"traceId":"f3118a7bad57c10e","parentId":482,"name":"NextJsBuildManifest-createassets","id":511,"timestamp":3887710804,"duration":280,"tags":{},"startTime":1691871370126},{"traceId":"f3118a7bad57c10e","parentId":482,"name":"seal","id":498,"timestamp":3887566106,"duration":147168,"tags":{},"startTime":1691871369981},{"traceId":"f3118a7bad57c10e","parentId":479,"name":"webpack-compilation","id":482,"timestamp":3887086769,"duration":626572,"tags":{"name":"client"},"startTime":1691871369502},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":479,"timestamp":3887076696,"duration":640741,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871369492},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":515,"timestamp":3887724705,"duration":0,"tags":{"errorCount":1},"startTime":1691871370140},{"traceId":"f3118a7bad57c10e","parentId":521,"name":"next-swc-transform","id":522,"timestamp":3887736613,"duration":1103,"tags":{},"startTime":1691871370152},{"traceId":"f3118a7bad57c10e","parentId":520,"name":"next-swc-loader","id":521,"timestamp":3887736484,"duration":1248,"tags":{},"startTime":1691871370152},{"traceId":"f3118a7bad57c10e","parentId":513,"name":"build-module-tsx","id":520,"timestamp":3887736134,"duration":1758,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871370152},{"traceId":"f3118a7bad57c10e","parentId":514,"name":"add-entry","id":516,"timestamp":3887725308,"duration":14623,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871370141},{"traceId":"f3118a7bad57c10e","parentId":514,"name":"add-entry","id":517,"timestamp":3887725380,"duration":14568,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871370141},{"traceId":"f3118a7bad57c10e","parentId":514,"name":"add-entry","id":519,"timestamp":3887725400,"duration":14552,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871370141},{"traceId":"f3118a7bad57c10e","parentId":514,"name":"add-entry","id":518,"timestamp":3887725392,"duration":14818,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871370141},{"traceId":"f3118a7bad57c10e","parentId":513,"name":"make","id":514,"timestamp":3887720067,"duration":20190,"tags":{},"startTime":1691871370135},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"chunk-graph","id":524,"timestamp":3887740749,"duration":276,"tags":{},"startTime":1691871370156},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"optimize-modules","id":526,"timestamp":3887741059,"duration":6,"tags":{},"startTime":1691871370156},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"optimize-chunks","id":527,"timestamp":3887741082,"duration":37,"tags":{},"startTime":1691871370156},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"optimize-tree","id":528,"timestamp":3887741145,"duration":13,"tags":{},"startTime":1691871370157},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"optimize-chunk-modules","id":529,"timestamp":3887741182,"duration":6,"tags":{},"startTime":1691871370157},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"optimize","id":525,"timestamp":3887741048,"duration":210,"tags":{},"startTime":1691871370156},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"module-hash","id":530,"timestamp":3887742137,"duration":186,"tags":{},"startTime":1691871370158},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"code-generation","id":531,"timestamp":3887742351,"duration":216,"tags":{},"startTime":1691871370158},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"hash","id":532,"timestamp":3887743447,"duration":1147,"tags":{},"startTime":1691871370159},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"code-generation-jobs","id":533,"timestamp":3887744592,"duration":97,"tags":{},"startTime":1691871370160},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"module-assets","id":534,"timestamp":3887744668,"duration":48,"tags":{},"startTime":1691871370160},{"traceId":"f3118a7bad57c10e","parentId":523,"name":"create-chunk-assets","id":535,"timestamp":3887744726,"duration":163,"tags":{},"startTime":1691871370160},{"traceId":"f3118a7bad57c10e","parentId":513,"name":"seal","id":523,"timestamp":3887740578,"duration":4865,"tags":{},"startTime":1691871370156},{"traceId":"f3118a7bad57c10e","parentId":480,"name":"webpack-compilation","id":513,"timestamp":3887719704,"duration":25835,"tags":{"name":"server"},"startTime":1691871370135},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":480,"timestamp":3887076928,"duration":689636,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871369492}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":536,"timestamp":3887774554,"duration":0,"tags":{"errorCount":1},"startTime":1691871370190},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":537,"timestamp":3933848652,"duration":0,"tags":{"errorCount":1},"startTime":1691871416265},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":540,"timestamp":4101166716,"duration":0,"tags":{"errorCount":1},"startTime":1691871583589},{"traceId":"f3118a7bad57c10e","parentId":548,"name":"next-swc-transform","id":549,"timestamp":4101231542,"duration":12322,"tags":{},"startTime":1691871583653},{"traceId":"f3118a7bad57c10e","parentId":547,"name":"next-swc-loader","id":548,"timestamp":4101231103,"duration":12778,"tags":{},"startTime":1691871583653},{"traceId":"f3118a7bad57c10e","parentId":541,"name":"build-module-tsx","id":547,"timestamp":4101228607,"duration":27144,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871583650},{"traceId":"f3118a7bad57c10e","parentId":542,"name":"add-entry","id":543,"timestamp":4101178615,"duration":80124,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871583600},{"traceId":"f3118a7bad57c10e","parentId":542,"name":"add-entry","id":544,"timestamp":4101178805,"duration":79952,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871583601},{"traceId":"f3118a7bad57c10e","parentId":542,"name":"add-entry","id":546,"timestamp":4101178835,"duration":79979,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871583601},{"traceId":"f3118a7bad57c10e","parentId":542,"name":"add-entry","id":545,"timestamp":4101178823,"duration":81320,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871583601},{"traceId":"f3118a7bad57c10e","parentId":541,"name":"make","id":542,"timestamp":4101169121,"duration":91121,"tags":{},"startTime":1691871583591},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"chunk-graph","id":551,"timestamp":4101260741,"duration":1716,"tags":{},"startTime":1691871583683},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"optimize-modules","id":553,"timestamp":4101262523,"duration":12,"tags":{},"startTime":1691871583684},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"optimize-chunks","id":554,"timestamp":4101262564,"duration":56,"tags":{},"startTime":1691871583684},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"optimize-tree","id":555,"timestamp":4101262658,"duration":14,"tags":{},"startTime":1691871583684},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"optimize-chunk-modules","id":556,"timestamp":4101262703,"duration":11,"tags":{},"startTime":1691871583685},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"optimize","id":552,"timestamp":4101262501,"duration":321,"tags":{},"startTime":1691871583684},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"module-hash","id":557,"timestamp":4101263311,"duration":1571,"tags":{},"startTime":1691871583685},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"code-generation","id":558,"timestamp":4101264937,"duration":7404,"tags":{},"startTime":1691871583687},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"hash","id":559,"timestamp":4101278646,"duration":9791,"tags":{},"startTime":1691871583700},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"code-generation-jobs","id":560,"timestamp":4101288435,"duration":236,"tags":{},"startTime":1691871583710},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"module-assets","id":561,"timestamp":4101288652,"duration":60,"tags":{},"startTime":1691871583710},{"traceId":"f3118a7bad57c10e","parentId":550,"name":"create-chunk-assets","id":562,"timestamp":4101288721,"duration":10111,"tags":{},"startTime":1691871583711},{"traceId":"f3118a7bad57c10e","parentId":541,"name":"seal","id":550,"timestamp":4101260624,"duration":44816,"tags":{},"startTime":1691871583682},{"traceId":"f3118a7bad57c10e","parentId":538,"name":"webpack-compilation","id":541,"timestamp":4101168645,"duration":136849,"tags":{"name":"server"},"startTime":1691871583590},{"traceId":"f3118a7bad57c10e","parentId":538,"name":"emit","id":563,"timestamp":4101305635,"duration":23150,"tags":{},"startTime":1691871583727},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":538,"timestamp":4101157708,"duration":173659,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871583580},{"traceId":"f3118a7bad57c10e","parentId":565,"name":"add-entry","id":566,"timestamp":4101360838,"duration":21220,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871583783},{"traceId":"f3118a7bad57c10e","parentId":565,"name":"add-entry","id":570,"timestamp":4101360950,"duration":28619,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871583783},{"traceId":"f3118a7bad57c10e","parentId":565,"name":"add-entry","id":569,"timestamp":4101360937,"duration":29526,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871583783},{"traceId":"f3118a7bad57c10e","parentId":573,"name":"next-swc-transform","id":574,"timestamp":4101386331,"duration":4327,"tags":{},"startTime":1691871583808},{"traceId":"f3118a7bad57c10e","parentId":572,"name":"next-swc-loader","id":573,"timestamp":4101386072,"duration":4593,"tags":{},"startTime":1691871583808},{"traceId":"f3118a7bad57c10e","parentId":564,"name":"build-module-tsx","id":572,"timestamp":4101385696,"duration":25889,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871583808},{"traceId":"f3118a7bad57c10e","parentId":575,"name":"read-resource","id":576,"timestamp":4101388919,"duration":25425,"tags":{},"startTime":1691871583811},{"traceId":"f3118a7bad57c10e","parentId":577,"name":"postcss-process","id":578,"timestamp":4101414452,"duration":744676,"tags":{},"startTime":1691871583836},{"traceId":"f3118a7bad57c10e","parentId":575,"name":"postcss-loader","id":577,"timestamp":4101414414,"duration":745506,"tags":{},"startTime":1691871583836},{"traceId":"f3118a7bad57c10e","parentId":575,"name":"css-loader","id":579,"timestamp":4102159979,"duration":271694,"tags":{"astUsed":"true"},"startTime":1691871584582},{"traceId":"f3118a7bad57c10e","parentId":564,"name":"build-module-css","id":575,"timestamp":4101388417,"duration":1075259,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871583810},{"traceId":"f3118a7bad57c10e","parentId":565,"name":"add-entry","id":567,"timestamp":4101360910,"duration":1111821,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871583783},{"traceId":"f3118a7bad57c10e","parentId":565,"name":"add-entry","id":571,"timestamp":4101360961,"duration":1160186,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871583783},{"traceId":"f3118a7bad57c10e","parentId":565,"name":"add-entry","id":568,"timestamp":4101360924,"duration":1500068,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871583783},{"traceId":"f3118a7bad57c10e","parentId":564,"name":"make","id":565,"timestamp":4101356303,"duration":1504737,"tags":{},"startTime":1691871583778},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"chunk-graph","id":581,"timestamp":4102883731,"duration":30297,"tags":{},"startTime":1691871585306},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"optimize-modules","id":583,"timestamp":4102914093,"duration":13,"tags":{},"startTime":1691871585336},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"optimize-chunks","id":584,"timestamp":4102914135,"duration":458,"tags":{},"startTime":1691871585336},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"optimize-tree","id":585,"timestamp":4102914637,"duration":19,"tags":{},"startTime":1691871585336},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"optimize-chunk-modules","id":586,"timestamp":4102914697,"duration":12,"tags":{},"startTime":1691871585337},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"optimize","id":582,"timestamp":4102914073,"duration":6350,"tags":{},"startTime":1691871585336},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"module-hash","id":587,"timestamp":4102951306,"duration":2829,"tags":{},"startTime":1691871585373},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"code-generation","id":588,"timestamp":4102954178,"duration":27392,"tags":{},"startTime":1691871585376},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"hash","id":589,"timestamp":4103059063,"duration":72841,"tags":{},"startTime":1691871585481},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"code-generation-jobs","id":590,"timestamp":4103131901,"duration":310,"tags":{},"startTime":1691871585554},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"module-assets","id":591,"timestamp":4103132174,"duration":1243,"tags":{},"startTime":1691871585554},{"traceId":"f3118a7bad57c10e","parentId":580,"name":"create-chunk-assets","id":592,"timestamp":4103133473,"duration":13068,"tags":{},"startTime":1691871585555},{"traceId":"f3118a7bad57c10e","parentId":564,"name":"NextJsBuildManifest-generateClientManifest","id":594,"timestamp":4103161479,"duration":772,"tags":{},"startTime":1691871585583},{"traceId":"f3118a7bad57c10e","parentId":564,"name":"NextJsBuildManifest-createassets","id":593,"timestamp":4103160150,"duration":2127,"tags":{},"startTime":1691871585582},{"traceId":"f3118a7bad57c10e","parentId":564,"name":"seal","id":580,"timestamp":4102864977,"duration":302352,"tags":{},"startTime":1691871585287},{"traceId":"f3118a7bad57c10e","parentId":539,"name":"webpack-compilation","id":564,"timestamp":4101355869,"duration":1811552,"tags":{"name":"client"},"startTime":1691871583778},{"traceId":"f3118a7bad57c10e","parentId":539,"name":"emit","id":595,"timestamp":4103167691,"duration":89514,"tags":{},"startTime":1691871585590},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":539,"timestamp":4101159497,"duration":2100449,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871583581}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":596,"timestamp":4103281468,"duration":0,"tags":{},"startTime":1691871585703},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":597,"timestamp":1691871583584000,"duration":2246000,"tags":{"clientId":1691870290363},"startTime":1691871585833},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":602,"timestamp":4111758815,"duration":16118,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":606,"timestamp":4111758949,"duration":17648,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":608,"timestamp":4111758970,"duration":17649,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":605,"timestamp":4111758938,"duration":18486,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":603,"timestamp":4111758911,"duration":22968,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":607,"timestamp":4111758963,"duration":38696,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":601,"name":"add-entry","id":604,"timestamp":4111758929,"duration":151755,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871594181},{"traceId":"f3118a7bad57c10e","parentId":600,"name":"make","id":601,"timestamp":4111750678,"duration":160099,"tags":{},"startTime":1691871594173},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"chunk-graph","id":610,"timestamp":4111924913,"duration":6247,"tags":{},"startTime":1691871594347},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"optimize-modules","id":612,"timestamp":4111931212,"duration":6,"tags":{},"startTime":1691871594353},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"optimize-chunks","id":613,"timestamp":4111931239,"duration":336,"tags":{},"startTime":1691871594353},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"optimize-tree","id":614,"timestamp":4111931610,"duration":14,"tags":{},"startTime":1691871594354},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"optimize-chunk-modules","id":615,"timestamp":4111931649,"duration":7,"tags":{},"startTime":1691871594354},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"optimize","id":611,"timestamp":4111931197,"duration":7449,"tags":{},"startTime":1691871594353},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"module-hash","id":616,"timestamp":4111944872,"duration":20636,"tags":{},"startTime":1691871594367},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"code-generation","id":617,"timestamp":4111965577,"duration":55957,"tags":{},"startTime":1691871594388},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"hash","id":618,"timestamp":4112031063,"duration":28421,"tags":{},"startTime":1691871594453},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"code-generation-jobs","id":619,"timestamp":4112059482,"duration":223,"tags":{},"startTime":1691871594482},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"module-assets","id":620,"timestamp":4112059675,"duration":906,"tags":{},"startTime":1691871594482},{"traceId":"f3118a7bad57c10e","parentId":609,"name":"create-chunk-assets","id":621,"timestamp":4112060622,"duration":2520,"tags":{},"startTime":1691871594483},{"traceId":"f3118a7bad57c10e","parentId":600,"name":"NextJsBuildManifest-generateClientManifest","id":623,"timestamp":4112070445,"duration":157,"tags":{},"startTime":1691871594493},{"traceId":"f3118a7bad57c10e","parentId":600,"name":"NextJsBuildManifest-createassets","id":622,"timestamp":4112070254,"duration":376,"tags":{},"startTime":1691871594492},{"traceId":"f3118a7bad57c10e","parentId":600,"name":"seal","id":609,"timestamp":4111914169,"duration":163328,"tags":{},"startTime":1691871594336},{"traceId":"f3118a7bad57c10e","parentId":598,"name":"webpack-compilation","id":600,"timestamp":4111749894,"duration":327671,"tags":{"name":"client"},"startTime":1691871594172},{"traceId":"f3118a7bad57c10e","parentId":598,"name":"emit","id":624,"timestamp":4112077606,"duration":33231,"tags":{},"startTime":1691871594500},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":598,"timestamp":4111744270,"duration":367403,"tags":{"trigger":"manual"},"startTime":1691871594166},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":627,"timestamp":4112124912,"duration":0,"tags":{},"startTime":1691871594547},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":633,"timestamp":1691871594167000,"duration":434000,"tags":{"clientId":1691870290363},"startTime":1691871594638},{"traceId":"f3118a7bad57c10e","parentId":626,"name":"add-entry","id":628,"timestamp":4112127555,"duration":122510,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871594550},{"traceId":"f3118a7bad57c10e","parentId":626,"name":"add-entry","id":629,"timestamp":4112127629,"duration":122461,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871594550},{"traceId":"f3118a7bad57c10e","parentId":626,"name":"add-entry","id":630,"timestamp":4112127642,"duration":122455,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871594550},{"traceId":"f3118a7bad57c10e","parentId":626,"name":"add-entry","id":631,"timestamp":4112127650,"duration":122453,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871594550},{"traceId":"f3118a7bad57c10e","parentId":626,"name":"add-entry","id":632,"timestamp":4112127658,"duration":122449,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871594550},{"traceId":"f3118a7bad57c10e","parentId":625,"name":"make","id":626,"timestamp":4112114481,"duration":135695,"tags":{},"startTime":1691871594537},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"chunk-graph","id":635,"timestamp":4112253817,"duration":747,"tags":{},"startTime":1691871594676},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"optimize-modules","id":637,"timestamp":4112254607,"duration":8,"tags":{},"startTime":1691871594677},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"optimize-chunks","id":638,"timestamp":4112254636,"duration":48,"tags":{},"startTime":1691871594677},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"optimize-tree","id":639,"timestamp":4112254715,"duration":19,"tags":{},"startTime":1691871594677},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"optimize-chunk-modules","id":640,"timestamp":4112254762,"duration":7,"tags":{},"startTime":1691871594677},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"optimize","id":636,"timestamp":4112254593,"duration":366,"tags":{},"startTime":1691871594677},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"module-hash","id":641,"timestamp":4112255587,"duration":335,"tags":{},"startTime":1691871594678},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"code-generation","id":642,"timestamp":4112255950,"duration":368,"tags":{},"startTime":1691871594678},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"hash","id":643,"timestamp":4112264068,"duration":2139,"tags":{},"startTime":1691871594686},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"code-generation-jobs","id":644,"timestamp":4112266204,"duration":10405,"tags":{},"startTime":1691871594688},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"module-assets","id":645,"timestamp":4112276587,"duration":66,"tags":{},"startTime":1691871594699},{"traceId":"f3118a7bad57c10e","parentId":634,"name":"create-chunk-assets","id":646,"timestamp":4112276666,"duration":246,"tags":{},"startTime":1691871594699},{"traceId":"f3118a7bad57c10e","parentId":625,"name":"seal","id":634,"timestamp":4112253690,"duration":23819,"tags":{},"startTime":1691871594676},{"traceId":"f3118a7bad57c10e","parentId":599,"name":"webpack-compilation","id":625,"timestamp":4112113825,"duration":163734,"tags":{"name":"server"},"startTime":1691871594536},{"traceId":"f3118a7bad57c10e","parentId":599,"name":"emit","id":647,"timestamp":4112277595,"duration":45847,"tags":{},"startTime":1691871594700},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":599,"timestamp":4111744814,"duration":579978,"tags":{"trigger":"manual"},"startTime":1691871594167}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":648,"timestamp":4113761800,"duration":1,"tags":{},"startTime":1691871596184},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":649,"timestamp":4276721620,"duration":0,"tags":{},"startTime":1691871759149},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":654,"timestamp":4308077255,"duration":15823,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871790505},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":658,"timestamp":4308077618,"duration":22800,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871790506},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":660,"timestamp":4308077635,"duration":22807,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871790506},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":657,"timestamp":4308077610,"duration":23376,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871790506},{"traceId":"f3118a7bad57c10e","parentId":664,"name":"read-resource","id":665,"timestamp":4308099861,"duration":3682,"tags":{},"startTime":1691871790528},{"traceId":"f3118a7bad57c10e","parentId":662,"name":"next-swc-transform","id":663,"timestamp":4308096027,"duration":82709,"tags":{},"startTime":1691871790524},{"traceId":"f3118a7bad57c10e","parentId":661,"name":"next-swc-loader","id":662,"timestamp":4308095305,"duration":83445,"tags":{},"startTime":1691871790523},{"traceId":"f3118a7bad57c10e","parentId":652,"name":"build-module-tsx","id":661,"timestamp":4308094369,"duration":107708,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871790522},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":655,"timestamp":4308077578,"duration":126861,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871790506},{"traceId":"f3118a7bad57c10e","parentId":666,"name":"postcss-process","id":667,"timestamp":4308103782,"duration":168781,"tags":{},"startTime":1691871790532},{"traceId":"f3118a7bad57c10e","parentId":664,"name":"postcss-loader","id":666,"timestamp":4308103735,"duration":170000,"tags":{},"startTime":1691871790532},{"traceId":"f3118a7bad57c10e","parentId":664,"name":"css-loader","id":668,"timestamp":4308273845,"duration":26545,"tags":{"astUsed":"true"},"startTime":1691871790702},{"traceId":"f3118a7bad57c10e","parentId":652,"name":"build-module-css","id":664,"timestamp":4308099132,"duration":218107,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871790527},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":659,"timestamp":4308077628,"duration":273896,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871790506},{"traceId":"f3118a7bad57c10e","parentId":653,"name":"add-entry","id":656,"timestamp":4308077600,"duration":493933,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871790506},{"traceId":"f3118a7bad57c10e","parentId":652,"name":"make","id":653,"timestamp":4308073780,"duration":497909,"tags":{},"startTime":1691871790502},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"chunk-graph","id":670,"timestamp":4308586339,"duration":58151,"tags":{},"startTime":1691871791014},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"optimize-modules","id":672,"timestamp":4308644687,"duration":45,"tags":{},"startTime":1691871791073},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"optimize-chunks","id":673,"timestamp":4308644829,"duration":786,"tags":{},"startTime":1691871791073},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"optimize-tree","id":674,"timestamp":4308645722,"duration":50,"tags":{},"startTime":1691871791074},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"optimize-chunk-modules","id":675,"timestamp":4308645877,"duration":48,"tags":{},"startTime":1691871791074},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"optimize","id":671,"timestamp":4308644609,"duration":10469,"tags":{},"startTime":1691871791073},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"module-hash","id":676,"timestamp":4308695306,"duration":3488,"tags":{},"startTime":1691871791123},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"code-generation","id":677,"timestamp":4308698858,"duration":14367,"tags":{},"startTime":1691871791127},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"hash","id":678,"timestamp":4308734342,"duration":26863,"tags":{},"startTime":1691871791162},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"code-generation-jobs","id":679,"timestamp":4308761202,"duration":389,"tags":{},"startTime":1691871791189},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"module-assets","id":680,"timestamp":4308761535,"duration":779,"tags":{},"startTime":1691871791190},{"traceId":"f3118a7bad57c10e","parentId":669,"name":"create-chunk-assets","id":681,"timestamp":4308762349,"duration":7844,"tags":{},"startTime":1691871791190},{"traceId":"f3118a7bad57c10e","parentId":652,"name":"NextJsBuildManifest-generateClientManifest","id":683,"timestamp":4308778824,"duration":3028,"tags":{},"startTime":1691871791207},{"traceId":"f3118a7bad57c10e","parentId":652,"name":"NextJsBuildManifest-createassets","id":682,"timestamp":4308777189,"duration":4691,"tags":{},"startTime":1691871791205},{"traceId":"f3118a7bad57c10e","parentId":652,"name":"seal","id":669,"timestamp":4308576701,"duration":210131,"tags":{},"startTime":1691871791005},{"traceId":"f3118a7bad57c10e","parentId":650,"name":"webpack-compilation","id":652,"timestamp":4308071724,"duration":715180,"tags":{"name":"client"},"startTime":1691871790500},{"traceId":"f3118a7bad57c10e","parentId":650,"name":"emit","id":684,"timestamp":4308787026,"duration":189508,"tags":{},"startTime":1691871791215},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":650,"timestamp":4308058776,"duration":919768,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871790487},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":687,"timestamp":4308995018,"duration":0,"tags":{},"startTime":1691871791423},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-full-reload","id":693,"timestamp":4309055718,"duration":0,"tags":{"stackTrace":""},"startTime":1691871791484},{"traceId":"f3118a7bad57c10e","parentId":695,"name":"next-swc-transform","id":696,"timestamp":4309070590,"duration":39599,"tags":{},"startTime":1691871791499},{"traceId":"f3118a7bad57c10e","parentId":694,"name":"next-swc-loader","id":695,"timestamp":4309063253,"duration":46979,"tags":{},"startTime":1691871791491},{"traceId":"f3118a7bad57c10e","parentId":685,"name":"build-module-tsx","id":694,"timestamp":4309062895,"duration":64718,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871791491},{"traceId":"f3118a7bad57c10e","parentId":686,"name":"add-entry","id":688,"timestamp":4309001161,"duration":160671,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871791429},{"traceId":"f3118a7bad57c10e","parentId":686,"name":"add-entry","id":689,"timestamp":4309001292,"duration":160559,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871791429},{"traceId":"f3118a7bad57c10e","parentId":686,"name":"add-entry","id":690,"timestamp":4309001307,"duration":160548,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871791429},{"traceId":"f3118a7bad57c10e","parentId":686,"name":"add-entry","id":692,"timestamp":4309001324,"duration":160538,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871791429},{"traceId":"f3118a7bad57c10e","parentId":686,"name":"add-entry","id":691,"timestamp":4309001315,"duration":160606,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871791429},{"traceId":"f3118a7bad57c10e","parentId":685,"name":"make","id":686,"timestamp":4308986796,"duration":175157,"tags":{},"startTime":1691871791415},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"chunk-graph","id":698,"timestamp":4309173378,"duration":1614,"tags":{},"startTime":1691871791601},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"optimize-modules","id":700,"timestamp":4309175291,"duration":10,"tags":{},"startTime":1691871791603},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"optimize-chunks","id":701,"timestamp":4309175456,"duration":119,"tags":{},"startTime":1691871791603},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"optimize-tree","id":702,"timestamp":4309175665,"duration":13,"tags":{},"startTime":1691871791604},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"optimize-chunk-modules","id":703,"timestamp":4309175756,"duration":10,"tags":{},"startTime":1691871791604},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"optimize","id":699,"timestamp":4309175274,"duration":674,"tags":{},"startTime":1691871791603},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"module-hash","id":704,"timestamp":4309176361,"duration":240,"tags":{},"startTime":1691871791604},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"code-generation","id":705,"timestamp":4309176628,"duration":1362,"tags":{},"startTime":1691871791605},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"hash","id":706,"timestamp":4309194098,"duration":147496,"tags":{},"startTime":1691871791622},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"code-generation-jobs","id":707,"timestamp":4309341592,"duration":204,"tags":{},"startTime":1691871791770},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"module-assets","id":708,"timestamp":4309341775,"duration":66,"tags":{},"startTime":1691871791770},{"traceId":"f3118a7bad57c10e","parentId":697,"name":"create-chunk-assets","id":709,"timestamp":4309341855,"duration":17656,"tags":{},"startTime":1691871791770},{"traceId":"f3118a7bad57c10e","parentId":685,"name":"seal","id":697,"timestamp":4309173246,"duration":186946,"tags":{},"startTime":1691871791601},{"traceId":"f3118a7bad57c10e","parentId":651,"name":"webpack-compilation","id":685,"timestamp":4308986119,"duration":374121,"tags":{"name":"server"},"startTime":1691871791414},{"traceId":"f3118a7bad57c10e","parentId":651,"name":"emit","id":710,"timestamp":4309360345,"duration":8291,"tags":{},"startTime":1691871791788},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":712,"timestamp":4309370028,"duration":33,"tags":{"trigger":"manual"},"startTime":1691871791798},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":715,"timestamp":4309375497,"duration":15030,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":719,"timestamp":4309375608,"duration":18565,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":721,"timestamp":4309375624,"duration":18578,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":718,"timestamp":4309375600,"duration":20429,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":716,"timestamp":4309375579,"duration":25377,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":720,"timestamp":4309375616,"duration":45522,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":714,"name":"add-entry","id":717,"timestamp":4309375591,"duration":154768,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871791804},{"traceId":"f3118a7bad57c10e","parentId":713,"name":"make","id":714,"timestamp":4309373299,"duration":157165,"tags":{},"startTime":1691871791801},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"chunk-graph","id":723,"timestamp":4309660494,"duration":97574,"tags":{},"startTime":1691871792089},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"optimize-modules","id":725,"timestamp":4309758134,"duration":8,"tags":{},"startTime":1691871792186},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"optimize-chunks","id":726,"timestamp":4309758163,"duration":399,"tags":{},"startTime":1691871792186},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"optimize-tree","id":727,"timestamp":4309759307,"duration":23,"tags":{},"startTime":1691871792187},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"optimize-chunk-modules","id":728,"timestamp":4309759372,"duration":9,"tags":{},"startTime":1691871792187},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"optimize","id":724,"timestamp":4309758117,"duration":3124,"tags":{},"startTime":1691871792186},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"module-hash","id":729,"timestamp":4309826031,"duration":3843,"tags":{},"startTime":1691871792254},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"code-generation","id":730,"timestamp":4309829920,"duration":64393,"tags":{},"startTime":1691871792258},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"hash","id":731,"timestamp":4309988907,"duration":40531,"tags":{},"startTime":1691871792417},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"code-generation-jobs","id":732,"timestamp":4310029436,"duration":235,"tags":{},"startTime":1691871792457},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"module-assets","id":733,"timestamp":4310029629,"duration":10927,"tags":{},"startTime":1691871792458},{"traceId":"f3118a7bad57c10e","parentId":722,"name":"create-chunk-assets","id":734,"timestamp":4310040607,"duration":20339,"tags":{},"startTime":1691871792469},{"traceId":"f3118a7bad57c10e","parentId":713,"name":"NextJsBuildManifest-generateClientManifest","id":736,"timestamp":4310062755,"duration":148,"tags":{},"startTime":1691871792491},{"traceId":"f3118a7bad57c10e","parentId":713,"name":"NextJsBuildManifest-createassets","id":735,"timestamp":4310062576,"duration":340,"tags":{},"startTime":1691871792491},{"traceId":"f3118a7bad57c10e","parentId":713,"name":"seal","id":722,"timestamp":4309629546,"duration":445089,"tags":{},"startTime":1691871792058},{"traceId":"f3118a7bad57c10e","parentId":711,"name":"webpack-compilation","id":713,"timestamp":4309372833,"duration":701871,"tags":{"name":"client"},"startTime":1691871791801},{"traceId":"f3118a7bad57c10e","parentId":711,"name":"emit","id":737,"timestamp":4310074745,"duration":31285,"tags":{},"startTime":1691871792503},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":711,"timestamp":4309365717,"duration":741165,"tags":{"trigger":"manual"},"startTime":1691871791794},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":740,"timestamp":4310113011,"duration":0,"tags":{},"startTime":1691871792541},{"traceId":"f3118a7bad57c10e","parentId":739,"name":"add-entry","id":741,"timestamp":4310114328,"duration":226326,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871792542},{"traceId":"f3118a7bad57c10e","parentId":739,"name":"add-entry","id":742,"timestamp":4310114422,"duration":226250,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871792542},{"traceId":"f3118a7bad57c10e","parentId":739,"name":"add-entry","id":743,"timestamp":4310114436,"duration":226240,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871792543},{"traceId":"f3118a7bad57c10e","parentId":739,"name":"add-entry","id":744,"timestamp":4310114445,"duration":226235,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871792543},{"traceId":"f3118a7bad57c10e","parentId":739,"name":"add-entry","id":745,"timestamp":4310114453,"duration":226230,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871792543},{"traceId":"f3118a7bad57c10e","parentId":738,"name":"make","id":739,"timestamp":4310108899,"duration":231858,"tags":{},"startTime":1691871792537},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"chunk-graph","id":747,"timestamp":4310343574,"duration":353,"tags":{},"startTime":1691871792772},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"optimize-modules","id":749,"timestamp":4310344141,"duration":49,"tags":{},"startTime":1691871792772},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"optimize-chunks","id":750,"timestamp":4310344217,"duration":56,"tags":{},"startTime":1691871792772},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"optimize-tree","id":751,"timestamp":4310344306,"duration":7,"tags":{},"startTime":1691871792772},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"optimize-chunk-modules","id":752,"timestamp":4310344332,"duration":7,"tags":{},"startTime":1691871792772}] -[{"traceId":"f3118a7bad57c10e","parentId":746,"name":"optimize","id":748,"timestamp":4310344124,"duration":1221,"tags":{},"startTime":1691871792772},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"module-hash","id":753,"timestamp":4310345636,"duration":55,"tags":{},"startTime":1691871792774},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"code-generation","id":754,"timestamp":4310345708,"duration":193,"tags":{},"startTime":1691871792774},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"hash","id":755,"timestamp":4310347083,"duration":4378,"tags":{},"startTime":1691871792775},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"code-generation-jobs","id":756,"timestamp":4310351459,"duration":116,"tags":{},"startTime":1691871792780},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"module-assets","id":757,"timestamp":4310351560,"duration":295,"tags":{},"startTime":1691871792780},{"traceId":"f3118a7bad57c10e","parentId":746,"name":"create-chunk-assets","id":758,"timestamp":4310351891,"duration":240,"tags":{},"startTime":1691871792780},{"traceId":"f3118a7bad57c10e","parentId":738,"name":"seal","id":746,"timestamp":4310343128,"duration":10373,"tags":{},"startTime":1691871792771},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":738,"timestamp":4310108523,"duration":245040,"tags":{"name":"server"},"startTime":1691871792537},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":759,"timestamp":4310353601,"duration":12866,"tags":{},"startTime":1691871792782},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":712,"timestamp":4309370028,"duration":999348,"tags":{"trigger":"manual"},"startTime":1691871791798}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":760,"timestamp":4311936858,"duration":0,"tags":{},"startTime":1691871794365},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":765,"timestamp":4336837926,"duration":30980,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":769,"timestamp":4336838108,"duration":36978,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":771,"timestamp":4336838130,"duration":36979,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":773,"name":"next-swc-transform","id":774,"timestamp":4336872654,"duration":4242,"tags":{},"startTime":1691871819302},{"traceId":"f3118a7bad57c10e","parentId":772,"name":"next-swc-loader","id":773,"timestamp":4336870323,"duration":6587,"tags":{},"startTime":1691871819299},{"traceId":"f3118a7bad57c10e","parentId":763,"name":"build-module-tsx","id":772,"timestamp":4336869879,"duration":18584,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871819299},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":768,"timestamp":4336838095,"duration":50866,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":775,"name":"read-resource","id":776,"timestamp":4336873625,"duration":19014,"tags":{},"startTime":1691871819302},{"traceId":"f3118a7bad57c10e","parentId":777,"name":"postcss-process","id":778,"timestamp":4336892759,"duration":97961,"tags":{},"startTime":1691871819322},{"traceId":"f3118a7bad57c10e","parentId":775,"name":"postcss-loader","id":777,"timestamp":4336892715,"duration":99016,"tags":{},"startTime":1691871819322},{"traceId":"f3118a7bad57c10e","parentId":775,"name":"css-loader","id":779,"timestamp":4336991810,"duration":34462,"tags":{"astUsed":"true"},"startTime":1691871819421},{"traceId":"f3118a7bad57c10e","parentId":763,"name":"build-module-css","id":775,"timestamp":4336873322,"duration":166493,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871819302},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":766,"timestamp":4336838065,"duration":205759,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":770,"timestamp":4336838119,"duration":223467,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":764,"name":"add-entry","id":767,"timestamp":4336838082,"duration":842752,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871819267},{"traceId":"f3118a7bad57c10e","parentId":763,"name":"make","id":764,"timestamp":4336823265,"duration":857627,"tags":{},"startTime":1691871819252},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"chunk-graph","id":781,"timestamp":4337697436,"duration":46110,"tags":{},"startTime":1691871820126},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"optimize-modules","id":783,"timestamp":4337743608,"duration":9,"tags":{},"startTime":1691871820173},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"optimize-chunks","id":784,"timestamp":4337743644,"duration":725,"tags":{},"startTime":1691871820173},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"optimize-tree","id":785,"timestamp":4337746764,"duration":20,"tags":{},"startTime":1691871820176},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"optimize-chunk-modules","id":786,"timestamp":4337746835,"duration":9,"tags":{},"startTime":1691871820176},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"optimize","id":782,"timestamp":4337743588,"duration":16893,"tags":{},"startTime":1691871820172},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"module-hash","id":787,"timestamp":4337796804,"duration":3064,"tags":{},"startTime":1691871820226},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"code-generation","id":788,"timestamp":4337799925,"duration":61762,"tags":{},"startTime":1691871820229},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"hash","id":789,"timestamp":4338043336,"duration":21902,"tags":{},"startTime":1691871820472},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"code-generation-jobs","id":790,"timestamp":4338065236,"duration":482,"tags":{},"startTime":1691871820494},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"module-assets","id":791,"timestamp":4338065677,"duration":7506,"tags":{},"startTime":1691871820495},{"traceId":"f3118a7bad57c10e","parentId":780,"name":"create-chunk-assets","id":792,"timestamp":4338073238,"duration":3592,"tags":{},"startTime":1691871820502},{"traceId":"f3118a7bad57c10e","parentId":763,"name":"NextJsBuildManifest-generateClientManifest","id":794,"timestamp":4338090302,"duration":171,"tags":{},"startTime":1691871820519},{"traceId":"f3118a7bad57c10e","parentId":763,"name":"NextJsBuildManifest-createassets","id":793,"timestamp":4338090081,"duration":406,"tags":{},"startTime":1691871820519},{"traceId":"f3118a7bad57c10e","parentId":763,"name":"seal","id":780,"timestamp":4337693466,"duration":401811,"tags":{},"startTime":1691871820122},{"traceId":"f3118a7bad57c10e","parentId":761,"name":"webpack-compilation","id":763,"timestamp":4336822721,"duration":1272630,"tags":{"name":"client"},"startTime":1691871819252},{"traceId":"f3118a7bad57c10e","parentId":761,"name":"emit","id":795,"timestamp":4338095391,"duration":100856,"tags":{},"startTime":1691871820524},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":761,"timestamp":4336813591,"duration":1384906,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871819242},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":798,"timestamp":4338240767,"duration":0,"tags":{},"startTime":1691871820670},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":804,"timestamp":1691871819244000,"duration":1498000,"tags":{"clientId":1691871794348},"startTime":1691871820761},{"traceId":"f3118a7bad57c10e","parentId":797,"name":"add-entry","id":799,"timestamp":4338245753,"duration":104974,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871820675},{"traceId":"f3118a7bad57c10e","parentId":797,"name":"add-entry","id":800,"timestamp":4338245827,"duration":104922,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871820675},{"traceId":"f3118a7bad57c10e","parentId":797,"name":"add-entry","id":801,"timestamp":4338245841,"duration":104925,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871820675},{"traceId":"f3118a7bad57c10e","parentId":797,"name":"add-entry","id":803,"timestamp":4338245857,"duration":104915,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871820675},{"traceId":"f3118a7bad57c10e","parentId":806,"name":"next-swc-transform","id":807,"timestamp":4338347671,"duration":7825,"tags":{},"startTime":1691871820777},{"traceId":"f3118a7bad57c10e","parentId":805,"name":"next-swc-loader","id":806,"timestamp":4338347363,"duration":8150,"tags":{},"startTime":1691871820776},{"traceId":"f3118a7bad57c10e","parentId":796,"name":"build-module-tsx","id":805,"timestamp":4338346566,"duration":24164,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871820775},{"traceId":"f3118a7bad57c10e","parentId":797,"name":"add-entry","id":802,"timestamp":4338245848,"duration":125743,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871820675},{"traceId":"f3118a7bad57c10e","parentId":796,"name":"make","id":797,"timestamp":4338211771,"duration":159861,"tags":{},"startTime":1691871820641},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"chunk-graph","id":809,"timestamp":4338372308,"duration":747,"tags":{},"startTime":1691871820801},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"optimize-modules","id":811,"timestamp":4338373113,"duration":10,"tags":{},"startTime":1691871820802},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"optimize-chunks","id":812,"timestamp":4338373149,"duration":76,"tags":{},"startTime":1691871820802},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"optimize-tree","id":813,"timestamp":4338373263,"duration":11,"tags":{},"startTime":1691871820802},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"optimize-chunk-modules","id":814,"timestamp":4338373303,"duration":7,"tags":{},"startTime":1691871820802},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"optimize","id":810,"timestamp":4338373097,"duration":428,"tags":{},"startTime":1691871820802},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"module-hash","id":815,"timestamp":4338374072,"duration":251,"tags":{},"startTime":1691871820803},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"code-generation","id":816,"timestamp":4338374355,"duration":770,"tags":{},"startTime":1691871820803},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"hash","id":817,"timestamp":4338376550,"duration":1888,"tags":{},"startTime":1691871820805},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"code-generation-jobs","id":818,"timestamp":4338378436,"duration":122,"tags":{},"startTime":1691871820807},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"module-assets","id":819,"timestamp":4338378540,"duration":40,"tags":{},"startTime":1691871820807},{"traceId":"f3118a7bad57c10e","parentId":808,"name":"create-chunk-assets","id":820,"timestamp":4338378623,"duration":8177,"tags":{},"startTime":1691871820808},{"traceId":"f3118a7bad57c10e","parentId":796,"name":"seal","id":808,"timestamp":4338372019,"duration":15138,"tags":{},"startTime":1691871820801},{"traceId":"f3118a7bad57c10e","parentId":762,"name":"webpack-compilation","id":796,"timestamp":4338211184,"duration":176020,"tags":{"name":"server"},"startTime":1691871820640},{"traceId":"f3118a7bad57c10e","parentId":762,"name":"emit","id":821,"timestamp":4338387239,"duration":5777,"tags":{},"startTime":1691871820816},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":762,"timestamp":4336814327,"duration":1579707,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871819243}] -[{"traceId":"f3118a7bad57c10e","parentId":825,"name":"add-entry","id":826,"timestamp":4360567885,"duration":21701,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871842999},{"traceId":"f3118a7bad57c10e","parentId":825,"name":"add-entry","id":827,"timestamp":4360567965,"duration":21639,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871842999},{"traceId":"f3118a7bad57c10e","parentId":825,"name":"add-entry","id":828,"timestamp":4360567982,"duration":21626,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871842999},{"traceId":"f3118a7bad57c10e","parentId":825,"name":"add-entry","id":829,"timestamp":4360567993,"duration":21618,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871842999},{"traceId":"f3118a7bad57c10e","parentId":832,"name":"next-swc-transform","id":833,"timestamp":4360585126,"duration":4714,"tags":{},"startTime":1691871843016},{"traceId":"f3118a7bad57c10e","parentId":831,"name":"next-swc-loader","id":832,"timestamp":4360584939,"duration":4914,"tags":{},"startTime":1691871843016},{"traceId":"f3118a7bad57c10e","parentId":824,"name":"build-module-tsx","id":831,"timestamp":4360584694,"duration":7550,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871843016},{"traceId":"f3118a7bad57c10e","parentId":825,"name":"add-entry","id":830,"timestamp":4360568021,"duration":25419,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871842999},{"traceId":"f3118a7bad57c10e","parentId":824,"name":"make","id":825,"timestamp":4360566137,"duration":27345,"tags":{},"startTime":1691871842997},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"chunk-graph","id":835,"timestamp":4360594034,"duration":492,"tags":{},"startTime":1691871843025},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"optimize-modules","id":837,"timestamp":4360594573,"duration":6,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"optimize-chunks","id":838,"timestamp":4360594611,"duration":56,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"optimize-tree","id":839,"timestamp":4360594702,"duration":12,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"optimize-chunk-modules","id":840,"timestamp":4360594739,"duration":10,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"optimize","id":836,"timestamp":4360594556,"duration":270,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"module-hash","id":841,"timestamp":4360595139,"duration":232,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"code-generation","id":842,"timestamp":4360595396,"duration":3132,"tags":{},"startTime":1691871843026},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"hash","id":843,"timestamp":4360602147,"duration":1629,"tags":{},"startTime":1691871843033},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"code-generation-jobs","id":844,"timestamp":4360603773,"duration":140,"tags":{},"startTime":1691871843035},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"module-assets","id":845,"timestamp":4360603895,"duration":38,"tags":{},"startTime":1691871843035},{"traceId":"f3118a7bad57c10e","parentId":834,"name":"create-chunk-assets","id":846,"timestamp":4360603942,"duration":2279,"tags":{},"startTime":1691871843035},{"traceId":"f3118a7bad57c10e","parentId":824,"name":"seal","id":834,"timestamp":4360593880,"duration":12716,"tags":{},"startTime":1691871843025},{"traceId":"f3118a7bad57c10e","parentId":822,"name":"webpack-compilation","id":824,"timestamp":4360565597,"duration":41052,"tags":{"name":"server"},"startTime":1691871842997},{"traceId":"f3118a7bad57c10e","parentId":822,"name":"emit","id":847,"timestamp":4360606689,"duration":16761,"tags":{},"startTime":1691871843038},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":822,"timestamp":4360558318,"duration":67837,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871842989},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":850,"timestamp":4360631663,"duration":10540,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":854,"timestamp":4360631758,"duration":15107,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":856,"timestamp":4360631772,"duration":15110,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":853,"timestamp":4360631751,"duration":15838,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":860,"name":"read-resource","id":861,"timestamp":4360646437,"duration":13735,"tags":{},"startTime":1691871843077},{"traceId":"f3118a7bad57c10e","parentId":858,"name":"next-swc-transform","id":859,"timestamp":4360644594,"duration":53877,"tags":{},"startTime":1691871843076},{"traceId":"f3118a7bad57c10e","parentId":857,"name":"next-swc-loader","id":858,"timestamp":4360644234,"duration":54251,"tags":{},"startTime":1691871843075},{"traceId":"f3118a7bad57c10e","parentId":848,"name":"build-module-tsx","id":857,"timestamp":4360643002,"duration":68740,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871843074},{"traceId":"f3118a7bad57c10e","parentId":862,"name":"postcss-process","id":863,"timestamp":4360660475,"duration":452255,"tags":{},"startTime":1691871843091},{"traceId":"f3118a7bad57c10e","parentId":860,"name":"postcss-loader","id":862,"timestamp":4360660413,"duration":452728,"tags":{},"startTime":1691871843091},{"traceId":"f3118a7bad57c10e","parentId":860,"name":"css-loader","id":864,"timestamp":4361113207,"duration":65138,"tags":{"astUsed":"true"},"startTime":1691871843545},{"traceId":"f3118a7bad57c10e","parentId":848,"name":"build-module-css","id":860,"timestamp":4360646174,"duration":534797,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871843077},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":851,"timestamp":4360631731,"duration":560617,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":855,"timestamp":4360631766,"duration":614192,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":849,"name":"add-entry","id":852,"timestamp":4360631743,"duration":968343,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871843063},{"traceId":"f3118a7bad57c10e","parentId":848,"name":"make","id":849,"timestamp":4360629360,"duration":970778,"tags":{},"startTime":1691871843060},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"chunk-graph","id":866,"timestamp":4361615569,"duration":43916,"tags":{},"startTime":1691871844048},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"optimize-modules","id":868,"timestamp":4361659546,"duration":16,"tags":{},"startTime":1691871844092},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"optimize-chunks","id":869,"timestamp":4361659595,"duration":649,"tags":{},"startTime":1691871844092},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"optimize-tree","id":870,"timestamp":4361660600,"duration":34,"tags":{},"startTime":1691871844093},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"optimize-chunk-modules","id":871,"timestamp":4361660701,"duration":13,"tags":{},"startTime":1691871844093},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"optimize","id":867,"timestamp":4361659529,"duration":4094,"tags":{},"startTime":1691871844092},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"module-hash","id":872,"timestamp":4361692692,"duration":3299,"tags":{},"startTime":1691871844125},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"code-generation","id":873,"timestamp":4361696042,"duration":13070,"tags":{},"startTime":1691871844128},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"hash","id":874,"timestamp":4361722253,"duration":9726,"tags":{},"startTime":1691871844154},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"code-generation-jobs","id":875,"timestamp":4361731977,"duration":335,"tags":{},"startTime":1691871844164},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"module-assets","id":876,"timestamp":4361732264,"duration":416,"tags":{},"startTime":1691871844164},{"traceId":"f3118a7bad57c10e","parentId":865,"name":"create-chunk-assets","id":877,"timestamp":4361732707,"duration":3569,"tags":{},"startTime":1691871844165},{"traceId":"f3118a7bad57c10e","parentId":848,"name":"NextJsBuildManifest-generateClientManifest","id":879,"timestamp":4361741061,"duration":162,"tags":{},"startTime":1691871844173},{"traceId":"f3118a7bad57c10e","parentId":848,"name":"NextJsBuildManifest-createassets","id":878,"timestamp":4361740865,"duration":371,"tags":{},"startTime":1691871844173},{"traceId":"f3118a7bad57c10e","parentId":848,"name":"seal","id":865,"timestamp":4361603682,"duration":141206,"tags":{},"startTime":1691871844036},{"traceId":"f3118a7bad57c10e","parentId":823,"name":"webpack-compilation","id":848,"timestamp":4360628934,"duration":1116018,"tags":{"name":"client"},"startTime":1691871843060},{"traceId":"f3118a7bad57c10e","parentId":823,"name":"emit","id":880,"timestamp":4361744996,"duration":28242,"tags":{},"startTime":1691871844177},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":823,"timestamp":4360558556,"duration":1216441,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871842989}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":881,"timestamp":4361786962,"duration":0,"tags":{},"startTime":1691871844219},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":882,"timestamp":1691871842990000,"duration":1274000,"tags":{"clientId":1691871794348},"startTime":1691871844265},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":887,"timestamp":4428300847,"duration":16260,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":891,"timestamp":4428301072,"duration":27353,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":893,"timestamp":4428301088,"duration":27358,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":890,"timestamp":4428301065,"duration":29378,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":897,"name":"read-resource","id":898,"timestamp":4428325850,"duration":5450,"tags":{},"startTime":1691871910776},{"traceId":"f3118a7bad57c10e","parentId":895,"name":"next-swc-transform","id":896,"timestamp":4428322466,"duration":42602,"tags":{},"startTime":1691871910772},{"traceId":"f3118a7bad57c10e","parentId":894,"name":"next-swc-loader","id":895,"timestamp":4428321798,"duration":43287,"tags":{},"startTime":1691871910772},{"traceId":"f3118a7bad57c10e","parentId":885,"name":"build-module-tsx","id":894,"timestamp":4428319058,"duration":74021,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691871910769},{"traceId":"f3118a7bad57c10e","parentId":899,"name":"postcss-process","id":900,"timestamp":4428331524,"duration":276258,"tags":{},"startTime":1691871910781},{"traceId":"f3118a7bad57c10e","parentId":897,"name":"postcss-loader","id":899,"timestamp":4428331485,"duration":278107,"tags":{},"startTime":1691871910781},{"traceId":"f3118a7bad57c10e","parentId":897,"name":"css-loader","id":901,"timestamp":4428609719,"duration":86735,"tags":{"astUsed":"true"},"startTime":1691871911060},{"traceId":"f3118a7bad57c10e","parentId":885,"name":"build-module-css","id":897,"timestamp":4428323742,"duration":406007,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871910774},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":888,"timestamp":4428301040,"duration":434312,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":892,"timestamp":4428301081,"duration":448203,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":886,"name":"add-entry","id":889,"timestamp":4428301056,"duration":673467,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871910751},{"traceId":"f3118a7bad57c10e","parentId":885,"name":"make","id":886,"timestamp":4428297743,"duration":676903,"tags":{},"startTime":1691871910748},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"chunk-graph","id":903,"timestamp":4428983591,"duration":83136,"tags":{},"startTime":1691871911433},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"optimize-modules","id":905,"timestamp":4429066891,"duration":47,"tags":{},"startTime":1691871911517},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"optimize-chunks","id":906,"timestamp":4429067027,"duration":436,"tags":{},"startTime":1691871911517},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"optimize-tree","id":907,"timestamp":4429067569,"duration":49,"tags":{},"startTime":1691871911517},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"optimize-chunk-modules","id":908,"timestamp":4429067710,"duration":46,"tags":{},"startTime":1691871911518},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"optimize","id":904,"timestamp":4429066809,"duration":9861,"tags":{},"startTime":1691871911517},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"module-hash","id":909,"timestamp":4429152458,"duration":7308,"tags":{},"startTime":1691871911602},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"code-generation","id":910,"timestamp":4429159824,"duration":42882,"tags":{},"startTime":1691871911610},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"hash","id":911,"timestamp":4429227713,"duration":23463,"tags":{},"startTime":1691871911678},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"code-generation-jobs","id":912,"timestamp":4429251172,"duration":349,"tags":{},"startTime":1691871911701},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"module-assets","id":913,"timestamp":4429251462,"duration":541,"tags":{},"startTime":1691871911701},{"traceId":"f3118a7bad57c10e","parentId":902,"name":"create-chunk-assets","id":914,"timestamp":4429252044,"duration":11393,"tags":{},"startTime":1691871911702},{"traceId":"f3118a7bad57c10e","parentId":885,"name":"NextJsBuildManifest-generateClientManifest","id":916,"timestamp":4429268782,"duration":140,"tags":{},"startTime":1691871911719},{"traceId":"f3118a7bad57c10e","parentId":885,"name":"NextJsBuildManifest-createassets","id":915,"timestamp":4429268546,"duration":392,"tags":{},"startTime":1691871911718},{"traceId":"f3118a7bad57c10e","parentId":885,"name":"seal","id":902,"timestamp":4428978251,"duration":295849,"tags":{},"startTime":1691871911428},{"traceId":"f3118a7bad57c10e","parentId":883,"name":"webpack-compilation","id":885,"timestamp":4428296170,"duration":978007,"tags":{"name":"client"},"startTime":1691871910746},{"traceId":"f3118a7bad57c10e","parentId":883,"name":"emit","id":917,"timestamp":4429274240,"duration":69376,"tags":{},"startTime":1691871911724},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":883,"timestamp":4428284071,"duration":1066322,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691871910734},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":920,"timestamp":4429414737,"duration":0,"tags":{},"startTime":1691871911865},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":926,"timestamp":1691871910735000,"duration":1177000,"tags":{"clientId":1691871794348},"startTime":1691871911913},{"traceId":"f3118a7bad57c10e","parentId":919,"name":"add-entry","id":921,"timestamp":4429418910,"duration":74339,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871911869},{"traceId":"f3118a7bad57c10e","parentId":919,"name":"add-entry","id":922,"timestamp":4429418984,"duration":74287,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871911869},{"traceId":"f3118a7bad57c10e","parentId":919,"name":"add-entry","id":923,"timestamp":4429418996,"duration":74278,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871911869},{"traceId":"f3118a7bad57c10e","parentId":919,"name":"add-entry","id":925,"timestamp":4429419011,"duration":74267,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871911869},{"traceId":"f3118a7bad57c10e","parentId":928,"name":"next-swc-transform","id":929,"timestamp":4429486700,"duration":12268,"tags":{},"startTime":1691871911937},{"traceId":"f3118a7bad57c10e","parentId":927,"name":"next-swc-loader","id":928,"timestamp":4429486381,"duration":12608,"tags":{},"startTime":1691871911936},{"traceId":"f3118a7bad57c10e","parentId":918,"name":"build-module-tsx","id":927,"timestamp":4429485960,"duration":18991,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691871911936},{"traceId":"f3118a7bad57c10e","parentId":919,"name":"add-entry","id":924,"timestamp":4429419004,"duration":89215,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871911869},{"traceId":"f3118a7bad57c10e","parentId":918,"name":"make","id":919,"timestamp":4429353870,"duration":154473,"tags":{},"startTime":1691871911804},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"chunk-graph","id":931,"timestamp":4429509491,"duration":536,"tags":{},"startTime":1691871911959},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"optimize-modules","id":933,"timestamp":4429510103,"duration":6,"tags":{},"startTime":1691871911960},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"optimize-chunks","id":934,"timestamp":4429510250,"duration":107,"tags":{},"startTime":1691871911960},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"optimize-tree","id":935,"timestamp":4429511381,"duration":38,"tags":{},"startTime":1691871911961},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"optimize-chunk-modules","id":936,"timestamp":4429511564,"duration":17,"tags":{},"startTime":1691871911961},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"optimize","id":932,"timestamp":4429510085,"duration":1726,"tags":{},"startTime":1691871911960},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"module-hash","id":937,"timestamp":4429512239,"duration":247,"tags":{},"startTime":1691871911962},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"code-generation","id":938,"timestamp":4429512515,"duration":1648,"tags":{},"startTime":1691871911962},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"hash","id":939,"timestamp":4429516575,"duration":3047,"tags":{},"startTime":1691871911966},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"code-generation-jobs","id":940,"timestamp":4429519619,"duration":200,"tags":{},"startTime":1691871911970},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"module-assets","id":941,"timestamp":4429519799,"duration":56,"tags":{},"startTime":1691871911970},{"traceId":"f3118a7bad57c10e","parentId":930,"name":"create-chunk-assets","id":942,"timestamp":4429519868,"duration":6661,"tags":{},"startTime":1691871911970},{"traceId":"f3118a7bad57c10e","parentId":918,"name":"seal","id":930,"timestamp":4429509373,"duration":18670,"tags":{},"startTime":1691871911959},{"traceId":"f3118a7bad57c10e","parentId":884,"name":"webpack-compilation","id":918,"timestamp":4429353196,"duration":174911,"tags":{"name":"server"},"startTime":1691871911803},{"traceId":"f3118a7bad57c10e","parentId":884,"name":"emit","id":943,"timestamp":4429528228,"duration":18938,"tags":{},"startTime":1691871911978},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":884,"timestamp":4428285187,"duration":1264613,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691871910735}] -[{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":948,"timestamp":4440998069,"duration":11553,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871923448},{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":952,"timestamp":4440998186,"duration":14014,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871923449},{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":954,"timestamp":4440998201,"duration":14016,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871923449},{"traceId":"f3118a7bad57c10e","parentId":958,"name":"read-resource","id":959,"timestamp":4441011886,"duration":819,"tags":{},"startTime":1691871923462},{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":951,"timestamp":4440998179,"duration":23940,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871923449},{"traceId":"f3118a7bad57c10e","parentId":956,"name":"next-swc-transform","id":957,"timestamp":4441010972,"duration":11561,"tags":{},"startTime":1691871923461},{"traceId":"f3118a7bad57c10e","parentId":955,"name":"next-swc-loader","id":956,"timestamp":4441010824,"duration":11717,"tags":{},"startTime":1691871923461},{"traceId":"f3118a7bad57c10e","parentId":946,"name":"build-module-tsx","id":955,"timestamp":4441010429,"duration":58583,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871923461},{"traceId":"f3118a7bad57c10e","parentId":960,"name":"postcss-process","id":961,"timestamp":4441012801,"duration":137361,"tags":{},"startTime":1691871923463},{"traceId":"f3118a7bad57c10e","parentId":958,"name":"postcss-loader","id":960,"timestamp":4441012774,"duration":137963,"tags":{},"startTime":1691871923463},{"traceId":"f3118a7bad57c10e","parentId":958,"name":"css-loader","id":962,"timestamp":4441151042,"duration":31054,"tags":{"astUsed":"true"},"startTime":1691871923601},{"traceId":"f3118a7bad57c10e","parentId":946,"name":"build-module-css","id":958,"timestamp":4441011562,"duration":172406,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871923462},{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":949,"timestamp":4440998158,"duration":188582,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871923448},{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":953,"timestamp":4440998195,"duration":202271,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871923449},{"traceId":"f3118a7bad57c10e","parentId":947,"name":"add-entry","id":950,"timestamp":4440998171,"duration":313966,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871923449},{"traceId":"f3118a7bad57c10e","parentId":946,"name":"make","id":947,"timestamp":4440941785,"duration":370407,"tags":{},"startTime":1691871923392},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"chunk-graph","id":964,"timestamp":4441317273,"duration":5875,"tags":{},"startTime":1691871923768},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"optimize-modules","id":966,"timestamp":4441323201,"duration":7,"tags":{},"startTime":1691871923774},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"optimize-chunks","id":967,"timestamp":4441323229,"duration":411,"tags":{},"startTime":1691871923774},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"optimize-tree","id":968,"timestamp":4441323702,"duration":12,"tags":{},"startTime":1691871923774},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"optimize-chunk-modules","id":969,"timestamp":4441323751,"duration":7,"tags":{},"startTime":1691871923774},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"optimize","id":965,"timestamp":4441323187,"duration":1980,"tags":{},"startTime":1691871923774},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"module-hash","id":970,"timestamp":4441338518,"duration":2273,"tags":{},"startTime":1691871923789},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"code-generation","id":971,"timestamp":4441340841,"duration":6299,"tags":{},"startTime":1691871923791},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"hash","id":972,"timestamp":4441356959,"duration":21138,"tags":{},"startTime":1691871923807},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"code-generation-jobs","id":973,"timestamp":4441378094,"duration":278,"tags":{},"startTime":1691871923828},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"module-assets","id":974,"timestamp":4441378333,"duration":399,"tags":{},"startTime":1691871923829},{"traceId":"f3118a7bad57c10e","parentId":963,"name":"create-chunk-assets","id":975,"timestamp":4441378756,"duration":6388,"tags":{},"startTime":1691871923829},{"traceId":"f3118a7bad57c10e","parentId":946,"name":"NextJsBuildManifest-generateClientManifest","id":977,"timestamp":4441389229,"duration":127,"tags":{},"startTime":1691871923840},{"traceId":"f3118a7bad57c10e","parentId":946,"name":"NextJsBuildManifest-createassets","id":976,"timestamp":4441389053,"duration":319,"tags":{},"startTime":1691871923839},{"traceId":"f3118a7bad57c10e","parentId":946,"name":"seal","id":963,"timestamp":4441313967,"duration":79462,"tags":{},"startTime":1691871923764},{"traceId":"f3118a7bad57c10e","parentId":944,"name":"webpack-compilation","id":946,"timestamp":4440941371,"duration":452120,"tags":{"name":"client"},"startTime":1691871923392},{"traceId":"f3118a7bad57c10e","parentId":944,"name":"emit","id":978,"timestamp":4441393533,"duration":226363,"tags":{},"startTime":1691871923844},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":944,"timestamp":4440931730,"duration":788342,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871923382},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":981,"timestamp":4441743263,"duration":0,"tags":{},"startTime":1691871924194},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":987,"timestamp":1691871923385000,"duration":850000,"tags":{"clientId":1691871794348},"startTime":1691871924241},{"traceId":"f3118a7bad57c10e","parentId":980,"name":"add-entry","id":982,"timestamp":4441755182,"duration":45663,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871924206},{"traceId":"f3118a7bad57c10e","parentId":980,"name":"add-entry","id":983,"timestamp":4441755304,"duration":45560,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871924206},{"traceId":"f3118a7bad57c10e","parentId":980,"name":"add-entry","id":984,"timestamp":4441755319,"duration":45549,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871924206},{"traceId":"f3118a7bad57c10e","parentId":980,"name":"add-entry","id":986,"timestamp":4441755335,"duration":45536,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871924206},{"traceId":"f3118a7bad57c10e","parentId":989,"name":"next-swc-transform","id":990,"timestamp":4441797728,"duration":5487,"tags":{},"startTime":1691871924248},{"traceId":"f3118a7bad57c10e","parentId":988,"name":"next-swc-loader","id":989,"timestamp":4441797423,"duration":5810,"tags":{},"startTime":1691871924248},{"traceId":"f3118a7bad57c10e","parentId":979,"name":"build-module-tsx","id":988,"timestamp":4441796514,"duration":10580,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871924247},{"traceId":"f3118a7bad57c10e","parentId":980,"name":"add-entry","id":985,"timestamp":4441755327,"duration":54026,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871924206},{"traceId":"f3118a7bad57c10e","parentId":979,"name":"make","id":980,"timestamp":4441721868,"duration":87529,"tags":{},"startTime":1691871924172},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"chunk-graph","id":992,"timestamp":4441809838,"duration":716,"tags":{},"startTime":1691871924260},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"optimize-modules","id":994,"timestamp":4441810623,"duration":9,"tags":{},"startTime":1691871924261},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"optimize-chunks","id":995,"timestamp":4441810654,"duration":37,"tags":{},"startTime":1691871924261},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"optimize-tree","id":996,"timestamp":4441810723,"duration":9,"tags":{},"startTime":1691871924261},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"optimize-chunk-modules","id":997,"timestamp":4441810751,"duration":6,"tags":{},"startTime":1691871924261},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"optimize","id":993,"timestamp":4441810608,"duration":244,"tags":{},"startTime":1691871924261},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"module-hash","id":998,"timestamp":4441811130,"duration":236,"tags":{},"startTime":1691871924261},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"code-generation","id":999,"timestamp":4441811385,"duration":2832,"tags":{},"startTime":1691871924262},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"hash","id":1000,"timestamp":4441815272,"duration":1638,"tags":{},"startTime":1691871924266},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"code-generation-jobs","id":1001,"timestamp":4441816907,"duration":130,"tags":{},"startTime":1691871924267},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"module-assets","id":1002,"timestamp":4441817023,"duration":46,"tags":{},"startTime":1691871924267},{"traceId":"f3118a7bad57c10e","parentId":991,"name":"create-chunk-assets","id":1003,"timestamp":4441817078,"duration":1554,"tags":{},"startTime":1691871924267},{"traceId":"f3118a7bad57c10e","parentId":979,"name":"seal","id":991,"timestamp":4441809727,"duration":9426,"tags":{},"startTime":1691871924260},{"traceId":"f3118a7bad57c10e","parentId":945,"name":"webpack-compilation","id":979,"timestamp":4441721486,"duration":97711,"tags":{"name":"server"},"startTime":1691871924172},{"traceId":"f3118a7bad57c10e","parentId":945,"name":"emit","id":1004,"timestamp":4441819228,"duration":6792,"tags":{},"startTime":1691871924270},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":945,"timestamp":4440932091,"duration":894786,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871923382}] -[{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1009,"timestamp":4459128357,"duration":28930,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871941579},{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1013,"timestamp":4459128549,"duration":34775,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871941579},{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1015,"timestamp":4459128571,"duration":34773,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871941580},{"traceId":"f3118a7bad57c10e","parentId":1019,"name":"read-resource","id":1020,"timestamp":4459162318,"duration":4023,"tags":{},"startTime":1691871941613},{"traceId":"f3118a7bad57c10e","parentId":1017,"name":"next-swc-transform","id":1018,"timestamp":4459161566,"duration":24591,"tags":{},"startTime":1691871941613},{"traceId":"f3118a7bad57c10e","parentId":1016,"name":"next-swc-loader","id":1017,"timestamp":4459161296,"duration":24875,"tags":{},"startTime":1691871941612},{"traceId":"f3118a7bad57c10e","parentId":1007,"name":"build-module-tsx","id":1016,"timestamp":4459160966,"duration":37529,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871941612},{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1012,"timestamp":4459128538,"duration":71472,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871941579},{"traceId":"f3118a7bad57c10e","parentId":1021,"name":"postcss-process","id":1022,"timestamp":4459166443,"duration":87419,"tags":{},"startTime":1691871941617},{"traceId":"f3118a7bad57c10e","parentId":1019,"name":"postcss-loader","id":1021,"timestamp":4459166402,"duration":88413,"tags":{},"startTime":1691871941617},{"traceId":"f3118a7bad57c10e","parentId":1019,"name":"css-loader","id":1023,"timestamp":4459254876,"duration":21797,"tags":{"astUsed":"true"},"startTime":1691871941706},{"traceId":"f3118a7bad57c10e","parentId":1007,"name":"build-module-css","id":1019,"timestamp":4459162134,"duration":127554,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871941613},{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1010,"timestamp":4459128507,"duration":164568,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871941579},{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1014,"timestamp":4459128563,"duration":179817,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871941580},{"traceId":"f3118a7bad57c10e","parentId":1008,"name":"add-entry","id":1011,"timestamp":4459128528,"duration":792541,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871941579},{"traceId":"f3118a7bad57c10e","parentId":1007,"name":"make","id":1008,"timestamp":4459126080,"duration":795031,"tags":{},"startTime":1691871941577},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"chunk-graph","id":1025,"timestamp":4459935232,"duration":120444,"tags":{},"startTime":1691871942386},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"optimize-modules","id":1027,"timestamp":4460055733,"duration":13,"tags":{},"startTime":1691871942507},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"optimize-chunks","id":1028,"timestamp":4460055777,"duration":333,"tags":{},"startTime":1691871942507},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"optimize-tree","id":1029,"timestamp":4460056151,"duration":11,"tags":{},"startTime":1691871942507},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"optimize-chunk-modules","id":1030,"timestamp":4460056199,"duration":12,"tags":{},"startTime":1691871942507},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"optimize","id":1026,"timestamp":4460055713,"duration":13809,"tags":{},"startTime":1691871942507},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"module-hash","id":1031,"timestamp":4460103697,"duration":2679,"tags":{},"startTime":1691871942555},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"code-generation","id":1032,"timestamp":4460106420,"duration":21103,"tags":{},"startTime":1691871942557},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"hash","id":1033,"timestamp":4460135434,"duration":16161,"tags":{},"startTime":1691871942586},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"code-generation-jobs","id":1034,"timestamp":4460151593,"duration":218,"tags":{},"startTime":1691871942603},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"module-assets","id":1035,"timestamp":4460151757,"duration":394,"tags":{},"startTime":1691871942603},{"traceId":"f3118a7bad57c10e","parentId":1024,"name":"create-chunk-assets","id":1036,"timestamp":4460152169,"duration":956,"tags":{},"startTime":1691871942603},{"traceId":"f3118a7bad57c10e","parentId":1007,"name":"NextJsBuildManifest-generateClientManifest","id":1038,"timestamp":4460161843,"duration":195,"tags":{},"startTime":1691871942613},{"traceId":"f3118a7bad57c10e","parentId":1007,"name":"NextJsBuildManifest-createassets","id":1037,"timestamp":4460161488,"duration":574,"tags":{},"startTime":1691871942612},{"traceId":"f3118a7bad57c10e","parentId":1007,"name":"seal","id":1024,"timestamp":4459923470,"duration":241132,"tags":{},"startTime":1691871942374},{"traceId":"f3118a7bad57c10e","parentId":1005,"name":"webpack-compilation","id":1007,"timestamp":4459125574,"duration":1039107,"tags":{"name":"client"},"startTime":1691871941577},{"traceId":"f3118a7bad57c10e","parentId":1005,"name":"emit","id":1039,"timestamp":4460164731,"duration":17710,"tags":{},"startTime":1691871942616},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1005,"timestamp":4459116783,"duration":1067418,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871941568},{"traceId":"f3118a7bad57c10e","parentId":1041,"name":"add-entry","id":1042,"timestamp":4460204943,"duration":20029,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871942656},{"traceId":"f3118a7bad57c10e","parentId":1041,"name":"add-entry","id":1043,"timestamp":4460205023,"duration":19973,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871942656},{"traceId":"f3118a7bad57c10e","parentId":1041,"name":"add-entry","id":1044,"timestamp":4460205036,"duration":19964,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871942656},{"traceId":"f3118a7bad57c10e","parentId":1041,"name":"add-entry","id":1046,"timestamp":4460205053,"duration":19952,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871942656},{"traceId":"f3118a7bad57c10e","parentId":1048,"name":"next-swc-transform","id":1049,"timestamp":4460219431,"duration":5689,"tags":{},"startTime":1691871942670},{"traceId":"f3118a7bad57c10e","parentId":1047,"name":"next-swc-loader","id":1048,"timestamp":4460219164,"duration":5961,"tags":{},"startTime":1691871942670},{"traceId":"f3118a7bad57c10e","parentId":1040,"name":"build-module-tsx","id":1047,"timestamp":4460218874,"duration":10340,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691871942670},{"traceId":"f3118a7bad57c10e","parentId":1041,"name":"add-entry","id":1045,"timestamp":4460205044,"duration":27897,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871942656},{"traceId":"f3118a7bad57c10e","parentId":1040,"name":"make","id":1041,"timestamp":4460186096,"duration":46896,"tags":{},"startTime":1691871942637},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"chunk-graph","id":1051,"timestamp":4460234107,"duration":542,"tags":{},"startTime":1691871942685},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"optimize-modules","id":1053,"timestamp":4460234704,"duration":11,"tags":{},"startTime":1691871942686},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"optimize-chunks","id":1054,"timestamp":4460234740,"duration":37,"tags":{},"startTime":1691871942686},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"optimize-tree","id":1055,"timestamp":4460234813,"duration":12,"tags":{},"startTime":1691871942686},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"optimize-chunk-modules","id":1056,"timestamp":4460234885,"duration":8,"tags":{},"startTime":1691871942686},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"optimize","id":1052,"timestamp":4460234683,"duration":324,"tags":{},"startTime":1691871942686},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"module-hash","id":1057,"timestamp":4460235411,"duration":261,"tags":{},"startTime":1691871942686},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"code-generation","id":1058,"timestamp":4460235697,"duration":270,"tags":{},"startTime":1691871942687},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"hash","id":1059,"timestamp":4460236911,"duration":1588,"tags":{},"startTime":1691871942688},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"code-generation-jobs","id":1060,"timestamp":4460238496,"duration":127,"tags":{},"startTime":1691871942689},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"module-assets","id":1061,"timestamp":4460238607,"duration":43,"tags":{},"startTime":1691871942690},{"traceId":"f3118a7bad57c10e","parentId":1050,"name":"create-chunk-assets","id":1062,"timestamp":4460238660,"duration":227,"tags":{},"startTime":1691871942690},{"traceId":"f3118a7bad57c10e","parentId":1040,"name":"seal","id":1050,"timestamp":4460233926,"duration":5256,"tags":{},"startTime":1691871942685},{"traceId":"f3118a7bad57c10e","parentId":1006,"name":"webpack-compilation","id":1040,"timestamp":4460185733,"duration":53493,"tags":{"name":"server"},"startTime":1691871942637},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1064,"timestamp":4460252039,"duration":7,"tags":{},"startTime":1691871942703},{"traceId":"f3118a7bad57c10e","parentId":1006,"name":"emit","id":1063,"timestamp":4460239253,"duration":16400,"tags":{},"startTime":1691871942690},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1006,"timestamp":4459117582,"duration":1149199,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691871941569}] -[{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1069,"timestamp":4498717608,"duration":16749,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1073,"timestamp":4498717720,"duration":18570,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1075,"timestamp":4498717747,"duration":18562,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1072,"timestamp":4498717713,"duration":21214,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1070,"timestamp":4498717684,"duration":28468,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1077,"name":"next-swc-transform","id":1078,"timestamp":4498763540,"duration":77152,"tags":{},"startTime":1691871981216},{"traceId":"f3118a7bad57c10e","parentId":1076,"name":"next-swc-loader","id":1077,"timestamp":4498763368,"duration":77340,"tags":{},"startTime":1691871981216},{"traceId":"f3118a7bad57c10e","parentId":1067,"name":"build-module-tsx","id":1076,"timestamp":4498762882,"duration":102620,"tags":{"name":"/Users/muaadhm/frontend/pages/_app.tsx","layer":"null"},"startTime":1691871981215},{"traceId":"f3118a7bad57c10e","parentId":1079,"name":"read-resource","id":1080,"timestamp":4499773474,"duration":30762,"tags":{},"startTime":1691871982226},{"traceId":"f3118a7bad57c10e","parentId":1081,"name":"postcss-process","id":1082,"timestamp":4499804364,"duration":552066,"tags":{},"startTime":1691871982257},{"traceId":"f3118a7bad57c10e","parentId":1079,"name":"postcss-loader","id":1081,"timestamp":4499804332,"duration":572931,"tags":{},"startTime":1691871982257},{"traceId":"f3118a7bad57c10e","parentId":1079,"name":"css-loader","id":1083,"timestamp":4500377344,"duration":94926,"tags":{"astUsed":"true"},"startTime":1691871982830},{"traceId":"f3118a7bad57c10e","parentId":1067,"name":"build-module-css","id":1079,"timestamp":4499770423,"duration":723112,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871982223},{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1071,"timestamp":4498717700,"duration":1858034,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1068,"name":"add-entry","id":1074,"timestamp":4498717735,"duration":1917905,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871981170},{"traceId":"f3118a7bad57c10e","parentId":1067,"name":"make","id":1068,"timestamp":4498714690,"duration":1920998,"tags":{},"startTime":1691871981167},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"chunk-graph","id":1085,"timestamp":4500653442,"duration":113538,"tags":{},"startTime":1691871983106},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"optimize-modules","id":1087,"timestamp":4500767099,"duration":14,"tags":{},"startTime":1691871983219},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"optimize-chunks","id":1088,"timestamp":4500767142,"duration":253,"tags":{},"startTime":1691871983219},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"optimize-tree","id":1089,"timestamp":4500767433,"duration":11,"tags":{},"startTime":1691871983220},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"optimize-chunk-modules","id":1090,"timestamp":4500767476,"duration":8,"tags":{},"startTime":1691871983220},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"optimize","id":1086,"timestamp":4500767077,"duration":2227,"tags":{},"startTime":1691871983219},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"module-hash","id":1091,"timestamp":4500802392,"duration":5715,"tags":{},"startTime":1691871983255},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"code-generation","id":1092,"timestamp":4500808148,"duration":77786,"tags":{},"startTime":1691871983260},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"hash","id":1093,"timestamp":4500910498,"duration":72791,"tags":{},"startTime":1691871983363},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"code-generation-jobs","id":1094,"timestamp":4500983286,"duration":402,"tags":{},"startTime":1691871983436},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"module-assets","id":1095,"timestamp":4500983642,"duration":2249,"tags":{},"startTime":1691871983436},{"traceId":"f3118a7bad57c10e","parentId":1084,"name":"create-chunk-assets","id":1096,"timestamp":4500985951,"duration":585199,"tags":{},"startTime":1691871983438},{"traceId":"f3118a7bad57c10e","parentId":1067,"name":"NextJsBuildManifest-generateClientManifest","id":1098,"timestamp":4501576592,"duration":283,"tags":{},"startTime":1691871984029},{"traceId":"f3118a7bad57c10e","parentId":1067,"name":"NextJsBuildManifest-createassets","id":1097,"timestamp":4501576339,"duration":565,"tags":{},"startTime":1691871984029},{"traceId":"f3118a7bad57c10e","parentId":1067,"name":"seal","id":1084,"timestamp":4500638171,"duration":949733,"tags":{},"startTime":1691871983090},{"traceId":"f3118a7bad57c10e","parentId":1065,"name":"webpack-compilation","id":1067,"timestamp":4498714139,"duration":2873833,"tags":{"name":"client"},"startTime":1691871981166},{"traceId":"f3118a7bad57c10e","parentId":1065,"name":"emit","id":1099,"timestamp":4501588007,"duration":402938,"tags":{},"startTime":1691871984040},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1065,"timestamp":4498704061,"duration":3289110,"tags":{"trigger":"/Users/muaadhm/frontend/pages/_app.tsx"},"startTime":1691871981156},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1103,"timestamp":4502024298,"duration":0,"tags":{},"startTime":1691871984477},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1109,"timestamp":1691871984476000,"duration":93000,"tags":{"clientId":1691871794348},"startTime":1691871984632},{"traceId":"f3118a7bad57c10e","parentId":1111,"name":"next-swc-transform","id":1112,"timestamp":4502202443,"duration":12475,"tags":{},"startTime":1691871984655},{"traceId":"f3118a7bad57c10e","parentId":1110,"name":"next-swc-loader","id":1111,"timestamp":4502202002,"duration":12934,"tags":{},"startTime":1691871984654},{"traceId":"f3118a7bad57c10e","parentId":1100,"name":"build-module-tsx","id":1110,"timestamp":4502201704,"duration":18564,"tags":{"name":"/Users/muaadhm/frontend/pages/_app.tsx","layer":"null"},"startTime":1691871984654},{"traceId":"f3118a7bad57c10e","parentId":1101,"name":"add-entry","id":1104,"timestamp":4502034590,"duration":479232,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871984487},{"traceId":"f3118a7bad57c10e","parentId":1101,"name":"add-entry","id":1105,"timestamp":4502034702,"duration":479143,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871984487},{"traceId":"f3118a7bad57c10e","parentId":1101,"name":"add-entry","id":1106,"timestamp":4502034717,"duration":479133,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871984487},{"traceId":"f3118a7bad57c10e","parentId":1101,"name":"add-entry","id":1107,"timestamp":4502034725,"duration":479128,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871984487},{"traceId":"f3118a7bad57c10e","parentId":1101,"name":"add-entry","id":1108,"timestamp":4502034733,"duration":479124,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871984487},{"traceId":"f3118a7bad57c10e","parentId":1100,"name":"make","id":1101,"timestamp":4502016729,"duration":497168,"tags":{},"startTime":1691871984469},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"chunk-graph","id":1114,"timestamp":4502514564,"duration":736,"tags":{},"startTime":1691871984967},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"optimize-modules","id":1116,"timestamp":4502515343,"duration":8,"tags":{},"startTime":1691871984968},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"optimize-chunks","id":1117,"timestamp":4502515370,"duration":32,"tags":{},"startTime":1691871984968},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"optimize-tree","id":1118,"timestamp":4502515434,"duration":9,"tags":{},"startTime":1691871984968},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"optimize-chunk-modules","id":1119,"timestamp":4502515474,"duration":7,"tags":{},"startTime":1691871984968},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"optimize","id":1115,"timestamp":4502515328,"duration":242,"tags":{},"startTime":1691871984968},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"module-hash","id":1120,"timestamp":4502515890,"duration":655,"tags":{},"startTime":1691871984968},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"code-generation","id":1121,"timestamp":4502516579,"duration":2947,"tags":{},"startTime":1691871984969},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"hash","id":1122,"timestamp":4502520535,"duration":1578,"tags":{},"startTime":1691871984973},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"code-generation-jobs","id":1123,"timestamp":4502522109,"duration":110,"tags":{},"startTime":1691871984974},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"module-assets","id":1124,"timestamp":4502522206,"duration":43,"tags":{},"startTime":1691871984974},{"traceId":"f3118a7bad57c10e","parentId":1113,"name":"create-chunk-assets","id":1125,"timestamp":4502522258,"duration":83125,"tags":{},"startTime":1691871984975},{"traceId":"f3118a7bad57c10e","parentId":1100,"name":"seal","id":1113,"timestamp":4502514400,"duration":91346,"tags":{},"startTime":1691871984967},{"traceId":"f3118a7bad57c10e","parentId":1066,"name":"webpack-compilation","id":1100,"timestamp":4502013776,"duration":592018,"tags":{"name":"server"},"startTime":1691871984466},{"traceId":"f3118a7bad57c10e","parentId":1066,"name":"emit","id":1126,"timestamp":4502605825,"duration":17882,"tags":{},"startTime":1691871985058},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1066,"timestamp":4498704785,"duration":3919991,"tags":{"trigger":"/Users/muaadhm/frontend/pages/_app.tsx"},"startTime":1691871981157},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-reload-page","id":1129,"timestamp":4502672860,"duration":0,"tags":{},"startTime":1691871985125},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1130,"timestamp":4502676017,"duration":45346,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871985128},{"traceId":"f3118a7bad57c10e","parentId":1137,"name":"read-resource","id":1138,"timestamp":4502724428,"duration":55,"tags":{},"startTime":1691871985177},{"traceId":"f3118a7bad57c10e","parentId":1139,"name":"postcss-process","id":1140,"timestamp":4502724560,"duration":212783,"tags":{},"startTime":1691871985177},{"traceId":"f3118a7bad57c10e","parentId":1137,"name":"postcss-loader","id":1139,"timestamp":4502724538,"duration":213971,"tags":{},"startTime":1691871985177},{"traceId":"f3118a7bad57c10e","parentId":1137,"name":"css-loader","id":1141,"timestamp":4502938584,"duration":148973,"tags":{"astUsed":"true"},"startTime":1691871985391},{"traceId":"f3118a7bad57c10e","parentId":1127,"name":"build-module-css","id":1137,"timestamp":4502724140,"duration":479313,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691871985176},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1134,"timestamp":4502676417,"duration":530885,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871985129},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1136,"timestamp":4502676434,"duration":530883,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871985129},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1133,"timestamp":4502676409,"duration":532937,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871985129},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1131,"timestamp":4502676373,"duration":543411,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871985129},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1135,"timestamp":4502676427,"duration":557760,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871985129},{"traceId":"f3118a7bad57c10e","parentId":1128,"name":"add-entry","id":1132,"timestamp":4502676399,"duration":830018,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871985129},{"traceId":"f3118a7bad57c10e","parentId":1127,"name":"make","id":1128,"timestamp":4502671454,"duration":835025,"tags":{},"startTime":1691871985124},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"chunk-graph","id":1144,"timestamp":4503526832,"duration":288170,"tags":{},"startTime":1691871985979},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"optimize-modules","id":1146,"timestamp":4503815055,"duration":8,"tags":{},"startTime":1691871986267},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"optimize-chunks","id":1147,"timestamp":4503815083,"duration":247,"tags":{},"startTime":1691871986267},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"optimize-tree","id":1148,"timestamp":4503815370,"duration":10,"tags":{},"startTime":1691871986268},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"optimize-chunk-modules","id":1149,"timestamp":4503815410,"duration":8,"tags":{},"startTime":1691871986268},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"optimize","id":1145,"timestamp":4503815039,"duration":5211,"tags":{},"startTime":1691871986267},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"module-hash","id":1150,"timestamp":4503834524,"duration":1868,"tags":{},"startTime":1691871986287},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"code-generation","id":1151,"timestamp":4503836431,"duration":26269,"tags":{},"startTime":1691871986289},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"hash","id":1152,"timestamp":4503876473,"duration":32239,"tags":{},"startTime":1691871986329},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"code-generation-jobs","id":1153,"timestamp":4503908709,"duration":237,"tags":{},"startTime":1691871986361},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"module-assets","id":1154,"timestamp":4503908904,"duration":943,"tags":{},"startTime":1691871986361},{"traceId":"f3118a7bad57c10e","parentId":1143,"name":"create-chunk-assets","id":1155,"timestamp":4503909945,"duration":8843,"tags":{},"startTime":1691871986362},{"traceId":"f3118a7bad57c10e","parentId":1127,"name":"NextJsBuildManifest-generateClientManifest","id":1157,"timestamp":4503920373,"duration":185,"tags":{},"startTime":1691871986373},{"traceId":"f3118a7bad57c10e","parentId":1127,"name":"NextJsBuildManifest-createassets","id":1156,"timestamp":4503920228,"duration":349,"tags":{},"startTime":1691871986373},{"traceId":"f3118a7bad57c10e","parentId":1127,"name":"seal","id":1143,"timestamp":4503508866,"duration":413287,"tags":{},"startTime":1691871985961},{"traceId":"f3118a7bad57c10e","parentId":1102,"name":"webpack-compilation","id":1127,"timestamp":4502671037,"duration":1251180,"tags":{"name":"client"},"startTime":1691871985123},{"traceId":"f3118a7bad57c10e","parentId":1102,"name":"emit","id":1158,"timestamp":4503922252,"duration":51571,"tags":{},"startTime":1691871986375},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1159,"timestamp":4503975419,"duration":902,"tags":{"trigger":"manual"},"startTime":1691871986428},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1162,"timestamp":4504002935,"duration":0,"tags":{},"startTime":1691871986455},{"traceId":"f3118a7bad57c10e","parentId":1161,"name":"add-entry","id":1163,"timestamp":4504004457,"duration":55582,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871986457},{"traceId":"f3118a7bad57c10e","parentId":1161,"name":"add-entry","id":1164,"timestamp":4504004527,"duration":55533,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871986457},{"traceId":"f3118a7bad57c10e","parentId":1161,"name":"add-entry","id":1165,"timestamp":4504004540,"duration":55525,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871986457},{"traceId":"f3118a7bad57c10e","parentId":1161,"name":"add-entry","id":1166,"timestamp":4504004548,"duration":55726,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871986457},{"traceId":"f3118a7bad57c10e","parentId":1161,"name":"add-entry","id":1167,"timestamp":4504004556,"duration":55725,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691871986457},{"traceId":"f3118a7bad57c10e","parentId":1160,"name":"make","id":1161,"timestamp":4503986949,"duration":73414,"tags":{},"startTime":1691871986439},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"chunk-graph","id":1169,"timestamp":4504070147,"duration":352,"tags":{},"startTime":1691871986522}] -[{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"optimize-modules","id":1171,"timestamp":4504071145,"duration":8,"tags":{},"startTime":1691871986523},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"optimize-chunks","id":1172,"timestamp":4504071231,"duration":49,"tags":{},"startTime":1691871986524},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"optimize-tree","id":1173,"timestamp":4504071317,"duration":7,"tags":{},"startTime":1691871986524},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"optimize-chunk-modules","id":1174,"timestamp":4504073800,"duration":36,"tags":{},"startTime":1691871986526},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"optimize","id":1170,"timestamp":4504071127,"duration":2819,"tags":{},"startTime":1691871986523},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"module-hash","id":1175,"timestamp":4504074217,"duration":59,"tags":{},"startTime":1691871986527},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"code-generation","id":1176,"timestamp":4504074291,"duration":173,"tags":{},"startTime":1691871986527},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"hash","id":1177,"timestamp":4504075373,"duration":1200,"tags":{},"startTime":1691871986528},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"code-generation-jobs","id":1178,"timestamp":4504076571,"duration":99,"tags":{},"startTime":1691871986529},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"module-assets","id":1179,"timestamp":4504076658,"duration":36,"tags":{},"startTime":1691871986529},{"traceId":"f3118a7bad57c10e","parentId":1168,"name":"create-chunk-assets","id":1180,"timestamp":4504076701,"duration":409,"tags":{},"startTime":1691871986529},{"traceId":"f3118a7bad57c10e","parentId":1160,"name":"seal","id":1168,"timestamp":4504069954,"duration":14661,"tags":{},"startTime":1691871986522},{"traceId":"f3118a7bad57c10e","parentId":1142,"name":"webpack-compilation","id":1160,"timestamp":4503981089,"duration":103572,"tags":{"name":"server"},"startTime":1691871986433},{"traceId":"f3118a7bad57c10e","parentId":1142,"name":"emit","id":1181,"timestamp":4504084693,"duration":2790,"tags":{},"startTime":1691871986537},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1142,"timestamp":4503207122,"duration":880821,"tags":{"trigger":"manual"},"startTime":1691871985659},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1184,"timestamp":4504093202,"duration":29640,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1188,"timestamp":4504093314,"duration":47521,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1190,"timestamp":4504093331,"duration":47522,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1187,"timestamp":4504093307,"duration":50047,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1185,"timestamp":4504093271,"duration":54351,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1189,"timestamp":4504093322,"duration":59576,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1183,"name":"add-entry","id":1186,"timestamp":4504093297,"duration":189567,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691871986546},{"traceId":"f3118a7bad57c10e","parentId":1182,"name":"make","id":1183,"timestamp":4504090694,"duration":192256,"tags":{},"startTime":1691871986543},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"chunk-graph","id":1192,"timestamp":4504290307,"duration":159631,"tags":{},"startTime":1691871986743},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"optimize-modules","id":1194,"timestamp":4504449992,"duration":7,"tags":{},"startTime":1691871986902},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"optimize-chunks","id":1195,"timestamp":4504450115,"duration":474,"tags":{},"startTime":1691871986902},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"optimize-tree","id":1196,"timestamp":4504450640,"duration":11,"tags":{},"startTime":1691871986903},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"optimize-chunk-modules","id":1197,"timestamp":4504450673,"duration":7,"tags":{},"startTime":1691871986903},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"optimize","id":1193,"timestamp":4504449977,"duration":2159,"tags":{},"startTime":1691871986902},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"module-hash","id":1198,"timestamp":4504459640,"duration":16096,"tags":{},"startTime":1691871986912},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"code-generation","id":1199,"timestamp":4504475782,"duration":6442,"tags":{},"startTime":1691871986928},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"hash","id":1200,"timestamp":4504508755,"duration":40519,"tags":{},"startTime":1691871986961},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"code-generation-jobs","id":1201,"timestamp":4504549271,"duration":176,"tags":{},"startTime":1691871987002},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"module-assets","id":1202,"timestamp":4504549413,"duration":380,"tags":{},"startTime":1691871987002},{"traceId":"f3118a7bad57c10e","parentId":1191,"name":"create-chunk-assets","id":1203,"timestamp":4504549815,"duration":1637,"tags":{},"startTime":1691871987002},{"traceId":"f3118a7bad57c10e","parentId":1182,"name":"NextJsBuildManifest-generateClientManifest","id":1205,"timestamp":4504553173,"duration":149,"tags":{},"startTime":1691871987006},{"traceId":"f3118a7bad57c10e","parentId":1182,"name":"NextJsBuildManifest-createassets","id":1204,"timestamp":4504553003,"duration":337,"tags":{},"startTime":1691871987005},{"traceId":"f3118a7bad57c10e","parentId":1182,"name":"seal","id":1191,"timestamp":4504286114,"duration":270683,"tags":{},"startTime":1691871986738},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":1182,"timestamp":4504090304,"duration":466582,"tags":{"name":"client"},"startTime":1691871986543},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":1206,"timestamp":4504556937,"duration":129401,"tags":{},"startTime":1691871987009},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1159,"timestamp":4503975419,"duration":715085,"tags":{"trigger":"manual"},"startTime":1691871986428}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1207,"timestamp":4504722163,"duration":0,"tags":{},"startTime":1691871987175},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1208,"timestamp":4506692498,"duration":0,"tags":{},"startTime":1691871989145},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1213,"timestamp":4522599309,"duration":38907,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1217,"timestamp":4522599496,"duration":42559,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1219,"timestamp":4522599520,"duration":42555,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1216,"timestamp":4522599484,"duration":44787,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1214,"timestamp":4522599454,"duration":69261,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1221,"name":"next-swc-transform","id":1222,"timestamp":4522702372,"duration":14856,"tags":{},"startTime":1691872005155},{"traceId":"f3118a7bad57c10e","parentId":1220,"name":"next-swc-loader","id":1221,"timestamp":4522701942,"duration":15303,"tags":{},"startTime":1691872005155},{"traceId":"f3118a7bad57c10e","parentId":1211,"name":"build-module-tsx","id":1220,"timestamp":4522701453,"duration":45644,"tags":{"name":"/Users/muaadhm/frontend/pages/_app.tsx","layer":"null"},"startTime":1691872005154},{"traceId":"f3118a7bad57c10e","parentId":1223,"name":"read-resource","id":1224,"timestamp":4522758861,"duration":23352,"tags":{},"startTime":1691872005212},{"traceId":"f3118a7bad57c10e","parentId":1225,"name":"postcss-process","id":1226,"timestamp":4522782318,"duration":588728,"tags":{},"startTime":1691872005235},{"traceId":"f3118a7bad57c10e","parentId":1223,"name":"postcss-loader","id":1225,"timestamp":4522782280,"duration":589512,"tags":{},"startTime":1691872005235},{"traceId":"f3118a7bad57c10e","parentId":1223,"name":"css-loader","id":1227,"timestamp":4523371859,"duration":51250,"tags":{"astUsed":"true"},"startTime":1691872005825},{"traceId":"f3118a7bad57c10e","parentId":1211,"name":"build-module-css","id":1223,"timestamp":4522754968,"duration":687893,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872005208},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1215,"timestamp":4522599474,"duration":1104181,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1212,"name":"add-entry","id":1218,"timestamp":4522599510,"duration":1407471,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872005052},{"traceId":"f3118a7bad57c10e","parentId":1211,"name":"make","id":1212,"timestamp":4522593358,"duration":1413677,"tags":{},"startTime":1691872005046},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"chunk-graph","id":1229,"timestamp":4524017337,"duration":57055,"tags":{},"startTime":1691872006470},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"optimize-modules","id":1231,"timestamp":4524074553,"duration":20,"tags":{},"startTime":1691872006527},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"optimize-chunks","id":1232,"timestamp":4524074605,"duration":259,"tags":{},"startTime":1691872006528},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"optimize-tree","id":1233,"timestamp":4524074907,"duration":16,"tags":{},"startTime":1691872006528},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"optimize-chunk-modules","id":1234,"timestamp":4524074961,"duration":11,"tags":{},"startTime":1691872006528},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"optimize","id":1230,"timestamp":4524074431,"duration":3412,"tags":{},"startTime":1691872006527},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"module-hash","id":1235,"timestamp":4524170181,"duration":6633,"tags":{},"startTime":1691872006623},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"code-generation","id":1236,"timestamp":4524176859,"duration":32048,"tags":{},"startTime":1691872006630},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"hash","id":1237,"timestamp":4524223021,"duration":48303,"tags":{},"startTime":1691872006676},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"code-generation-jobs","id":1238,"timestamp":4524271321,"duration":387,"tags":{},"startTime":1691872006724},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"module-assets","id":1239,"timestamp":4524271642,"duration":410,"tags":{},"startTime":1691872006725},{"traceId":"f3118a7bad57c10e","parentId":1228,"name":"create-chunk-assets","id":1240,"timestamp":4524272072,"duration":29388,"tags":{},"startTime":1691872006725},{"traceId":"f3118a7bad57c10e","parentId":1211,"name":"NextJsBuildManifest-generateClientManifest","id":1242,"timestamp":4524310118,"duration":158,"tags":{},"startTime":1691872006763},{"traceId":"f3118a7bad57c10e","parentId":1211,"name":"NextJsBuildManifest-createassets","id":1241,"timestamp":4524309979,"duration":320,"tags":{},"startTime":1691872006763},{"traceId":"f3118a7bad57c10e","parentId":1211,"name":"seal","id":1228,"timestamp":4524009905,"duration":333458,"tags":{},"startTime":1691872006463},{"traceId":"f3118a7bad57c10e","parentId":1209,"name":"webpack-compilation","id":1211,"timestamp":4522592806,"duration":1750694,"tags":{"name":"client"},"startTime":1691872005046},{"traceId":"f3118a7bad57c10e","parentId":1209,"name":"emit","id":1243,"timestamp":4524343553,"duration":113053,"tags":{},"startTime":1691872006796},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1209,"timestamp":4522583328,"duration":1874471,"tags":{"trigger":"/Users/muaadhm/frontend/pages/_app.tsx"},"startTime":1691872005036},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1247,"timestamp":4524504597,"duration":11,"tags":{},"startTime":1691872006958},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1256,"timestamp":1691872006957000,"duration":120000,"tags":{"clientId":1691871989101},"startTime":1691872007078},{"traceId":"f3118a7bad57c10e","parentId":1254,"name":"next-swc-transform","id":1255,"timestamp":4524608857,"duration":22506,"tags":{},"startTime":1691872007062},{"traceId":"f3118a7bad57c10e","parentId":1253,"name":"next-swc-loader","id":1254,"timestamp":4524608591,"duration":22787,"tags":{},"startTime":1691872007062},{"traceId":"f3118a7bad57c10e","parentId":1244,"name":"build-module-tsx","id":1253,"timestamp":4524608219,"duration":29187,"tags":{"name":"/Users/muaadhm/frontend/pages/_app.tsx","layer":"null"},"startTime":1691872007061},{"traceId":"f3118a7bad57c10e","parentId":1245,"name":"add-entry","id":1248,"timestamp":4524507925,"duration":134298,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872006961},{"traceId":"f3118a7bad57c10e","parentId":1245,"name":"add-entry","id":1249,"timestamp":4524507998,"duration":134242,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872006961},{"traceId":"f3118a7bad57c10e","parentId":1245,"name":"add-entry","id":1250,"timestamp":4524508012,"duration":134232,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872006961},{"traceId":"f3118a7bad57c10e","parentId":1245,"name":"add-entry","id":1251,"timestamp":4524508024,"duration":134227,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872006961},{"traceId":"f3118a7bad57c10e","parentId":1245,"name":"add-entry","id":1252,"timestamp":4524508032,"duration":134222,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872006961},{"traceId":"f3118a7bad57c10e","parentId":1244,"name":"make","id":1245,"timestamp":4524468037,"duration":174247,"tags":{},"startTime":1691872006921},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"chunk-graph","id":1258,"timestamp":4524642834,"duration":635,"tags":{},"startTime":1691872007096},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"optimize-modules","id":1260,"timestamp":4524643509,"duration":6,"tags":{},"startTime":1691872007096},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"optimize-chunks","id":1261,"timestamp":4524643533,"duration":34,"tags":{},"startTime":1691872007096},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"optimize-tree","id":1262,"timestamp":4524643599,"duration":7,"tags":{},"startTime":1691872007097},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"optimize-chunk-modules","id":1263,"timestamp":4524643625,"duration":6,"tags":{},"startTime":1691872007097},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"optimize","id":1259,"timestamp":4524643496,"duration":236,"tags":{},"startTime":1691872007096},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"module-hash","id":1264,"timestamp":4524644024,"duration":2325,"tags":{},"startTime":1691872007097},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"code-generation","id":1265,"timestamp":4524646396,"duration":1875,"tags":{},"startTime":1691872007099},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"hash","id":1266,"timestamp":4524649188,"duration":29176,"tags":{},"startTime":1691872007102},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"code-generation-jobs","id":1267,"timestamp":4524678361,"duration":129,"tags":{},"startTime":1691872007131},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"module-assets","id":1268,"timestamp":4524678471,"duration":45,"tags":{},"startTime":1691872007131},{"traceId":"f3118a7bad57c10e","parentId":1257,"name":"create-chunk-assets","id":1269,"timestamp":4524678529,"duration":10557,"tags":{},"startTime":1691872007131},{"traceId":"f3118a7bad57c10e","parentId":1244,"name":"seal","id":1257,"timestamp":4524642736,"duration":46887,"tags":{},"startTime":1691872007096},{"traceId":"f3118a7bad57c10e","parentId":1210,"name":"webpack-compilation","id":1244,"timestamp":4524466898,"duration":222776,"tags":{"name":"server"},"startTime":1691872006920},{"traceId":"f3118a7bad57c10e","parentId":1210,"name":"emit","id":1270,"timestamp":4524689713,"duration":20197,"tags":{},"startTime":1691872007143},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1210,"timestamp":4522584833,"duration":2125759,"tags":{"trigger":"/Users/muaadhm/frontend/pages/_app.tsx"},"startTime":1691872005038},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-reload-page","id":1273,"timestamp":4524740981,"duration":0,"tags":{},"startTime":1691872007194},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1274,"timestamp":4524743085,"duration":60499,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1281,"name":"read-resource","id":1282,"timestamp":4524807953,"duration":60,"tags":{},"startTime":1691872007261},{"traceId":"f3118a7bad57c10e","parentId":1283,"name":"postcss-process","id":1284,"timestamp":4524808104,"duration":264888,"tags":{},"startTime":1691872007261},{"traceId":"f3118a7bad57c10e","parentId":1281,"name":"postcss-loader","id":1283,"timestamp":4524808083,"duration":265507,"tags":{},"startTime":1691872007261},{"traceId":"f3118a7bad57c10e","parentId":1281,"name":"css-loader","id":1285,"timestamp":4525073648,"duration":70793,"tags":{"astUsed":"true"},"startTime":1691872007527},{"traceId":"f3118a7bad57c10e","parentId":1271,"name":"build-module-css","id":1281,"timestamp":4524807641,"duration":353578,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872007261},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1278,"timestamp":4524743200,"duration":449092,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1280,"timestamp":4524743220,"duration":449087,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1277,"timestamp":4524743188,"duration":505675,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1275,"timestamp":4524743164,"duration":515592,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1279,"timestamp":4524743209,"duration":546802,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1272,"name":"add-entry","id":1276,"timestamp":4524743176,"duration":737254,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872007196},{"traceId":"f3118a7bad57c10e","parentId":1271,"name":"make","id":1272,"timestamp":4524738358,"duration":742124,"tags":{},"startTime":1691872007191},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"chunk-graph","id":1288,"timestamp":4525487989,"duration":6698,"tags":{},"startTime":1691872007941},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"optimize-modules","id":1290,"timestamp":4525494737,"duration":7,"tags":{},"startTime":1691872007948},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"optimize-chunks","id":1291,"timestamp":4525494763,"duration":1774,"tags":{},"startTime":1691872007948},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"optimize-tree","id":1292,"timestamp":4525496598,"duration":15,"tags":{},"startTime":1691872007950},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"optimize-chunk-modules","id":1293,"timestamp":4525496649,"duration":8,"tags":{},"startTime":1691872007950},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"optimize","id":1289,"timestamp":4525494722,"duration":3624,"tags":{},"startTime":1691872007948},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"module-hash","id":1294,"timestamp":4525559337,"duration":30320,"tags":{},"startTime":1691872008012},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"code-generation","id":1295,"timestamp":4525589701,"duration":53808,"tags":{},"startTime":1691872008043},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"hash","id":1296,"timestamp":4525673051,"duration":34227,"tags":{},"startTime":1691872008126},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"code-generation-jobs","id":1297,"timestamp":4525707275,"duration":182,"tags":{},"startTime":1691872008160},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"module-assets","id":1298,"timestamp":4525707427,"duration":431,"tags":{},"startTime":1691872008160},{"traceId":"f3118a7bad57c10e","parentId":1287,"name":"create-chunk-assets","id":1299,"timestamp":4525707876,"duration":857,"tags":{},"startTime":1691872008161},{"traceId":"f3118a7bad57c10e","parentId":1271,"name":"NextJsBuildManifest-generateClientManifest","id":1301,"timestamp":4525710005,"duration":260,"tags":{},"startTime":1691872008163},{"traceId":"f3118a7bad57c10e","parentId":1271,"name":"NextJsBuildManifest-createassets","id":1300,"timestamp":4525709891,"duration":403,"tags":{},"startTime":1691872008163},{"traceId":"f3118a7bad57c10e","parentId":1271,"name":"seal","id":1287,"timestamp":4525484375,"duration":237761,"tags":{},"startTime":1691872007937},{"traceId":"f3118a7bad57c10e","parentId":1246,"name":"webpack-compilation","id":1271,"timestamp":4524737251,"duration":984950,"tags":{"name":"client"},"startTime":1691872007190},{"traceId":"f3118a7bad57c10e","parentId":1246,"name":"emit","id":1302,"timestamp":4525722253,"duration":22801,"tags":{},"startTime":1691872008175},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1303,"timestamp":4525755210,"duration":484,"tags":{"trigger":"manual"},"startTime":1691872008208},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1306,"timestamp":4525770632,"duration":0,"tags":{},"startTime":1691872008224},{"traceId":"f3118a7bad57c10e","parentId":1305,"name":"add-entry","id":1307,"timestamp":4525772195,"duration":122825,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872008225},{"traceId":"f3118a7bad57c10e","parentId":1305,"name":"add-entry","id":1308,"timestamp":4525772274,"duration":122807,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872008225},{"traceId":"f3118a7bad57c10e","parentId":1305,"name":"add-entry","id":1309,"timestamp":4525772288,"duration":122802,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872008225},{"traceId":"f3118a7bad57c10e","parentId":1305,"name":"add-entry","id":1310,"timestamp":4525772295,"duration":122798,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872008225},{"traceId":"f3118a7bad57c10e","parentId":1305,"name":"add-entry","id":1311,"timestamp":4525772316,"duration":122780,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872008225}] -[{"traceId":"f3118a7bad57c10e","parentId":1304,"name":"make","id":1305,"timestamp":4525757896,"duration":145689,"tags":{},"startTime":1691872008211},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"chunk-graph","id":1313,"timestamp":4525904045,"duration":303,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"optimize-modules","id":1315,"timestamp":4525904378,"duration":5,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"optimize-chunks","id":1316,"timestamp":4525904399,"duration":31,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"optimize-tree","id":1317,"timestamp":4525904456,"duration":7,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"optimize-chunk-modules","id":1318,"timestamp":4525904480,"duration":6,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"optimize","id":1314,"timestamp":4525904369,"duration":185,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"module-hash","id":1319,"timestamp":4525904792,"duration":49,"tags":{},"startTime":1691872008358},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"code-generation","id":1320,"timestamp":4525904854,"duration":195,"tags":{},"startTime":1691872008358},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"hash","id":1321,"timestamp":4525910282,"duration":1275,"tags":{},"startTime":1691872008363},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"code-generation-jobs","id":1322,"timestamp":4525911555,"duration":8537,"tags":{},"startTime":1691872008365},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"module-assets","id":1323,"timestamp":4525920067,"duration":66,"tags":{},"startTime":1691872008373},{"traceId":"f3118a7bad57c10e","parentId":1312,"name":"create-chunk-assets","id":1324,"timestamp":4525920144,"duration":283,"tags":{},"startTime":1691872008373},{"traceId":"f3118a7bad57c10e","parentId":1304,"name":"seal","id":1312,"timestamp":4525903930,"duration":16824,"tags":{},"startTime":1691872008357},{"traceId":"f3118a7bad57c10e","parentId":1286,"name":"webpack-compilation","id":1304,"timestamp":4525757545,"duration":163250,"tags":{"name":"server"},"startTime":1691872008211},{"traceId":"f3118a7bad57c10e","parentId":1286,"name":"emit","id":1325,"timestamp":4525920825,"duration":53723,"tags":{},"startTime":1691872008374},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1286,"timestamp":4525191022,"duration":784028,"tags":{"trigger":"manual"},"startTime":1691872007644},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1328,"timestamp":4525991417,"duration":103219,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872008444},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1332,"timestamp":4525991519,"duration":119298,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872008444},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1334,"timestamp":4525991534,"duration":119300,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872008445},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1331,"timestamp":4525991511,"duration":130536,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872008444},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1329,"timestamp":4525991491,"duration":133242,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872008444},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1333,"timestamp":4525991527,"duration":150141,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872008445},{"traceId":"f3118a7bad57c10e","parentId":1327,"name":"add-entry","id":1330,"timestamp":4525991503,"duration":268314,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872008444},{"traceId":"f3118a7bad57c10e","parentId":1326,"name":"make","id":1327,"timestamp":4525978537,"duration":281367,"tags":{},"startTime":1691872008432},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"chunk-graph","id":1336,"timestamp":4526272394,"duration":15630,"tags":{},"startTime":1691872008725},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"optimize-modules","id":1338,"timestamp":4526288078,"duration":8,"tags":{},"startTime":1691872008741},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"optimize-chunks","id":1339,"timestamp":4526288106,"duration":230,"tags":{},"startTime":1691872008741},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"optimize-tree","id":1340,"timestamp":4526288371,"duration":10,"tags":{},"startTime":1691872008741},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"optimize-chunk-modules","id":1341,"timestamp":4526288403,"duration":13,"tags":{},"startTime":1691872008741},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"optimize","id":1337,"timestamp":4526288061,"duration":1600,"tags":{},"startTime":1691872008741},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"module-hash","id":1342,"timestamp":4526357955,"duration":5344,"tags":{},"startTime":1691872008811},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"code-generation","id":1343,"timestamp":4526363348,"duration":27888,"tags":{},"startTime":1691872008816},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"hash","id":1344,"timestamp":4526402375,"duration":24848,"tags":{},"startTime":1691872008855},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"code-generation-jobs","id":1345,"timestamp":4526427220,"duration":259,"tags":{},"startTime":1691872008880},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"module-assets","id":1346,"timestamp":4526427369,"duration":31986,"tags":{},"startTime":1691872008880},{"traceId":"f3118a7bad57c10e","parentId":1335,"name":"create-chunk-assets","id":1347,"timestamp":4526459971,"duration":1100,"tags":{},"startTime":1691872008913},{"traceId":"f3118a7bad57c10e","parentId":1326,"name":"NextJsBuildManifest-generateClientManifest","id":1349,"timestamp":4526462681,"duration":120,"tags":{},"startTime":1691872008916},{"traceId":"f3118a7bad57c10e","parentId":1326,"name":"NextJsBuildManifest-createassets","id":1348,"timestamp":4526462558,"duration":260,"tags":{},"startTime":1691872008916},{"traceId":"f3118a7bad57c10e","parentId":1326,"name":"seal","id":1335,"timestamp":4526265099,"duration":387253,"tags":{},"startTime":1691872008718},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":1326,"timestamp":4525977908,"duration":674513,"tags":{"name":"client"},"startTime":1691872008431},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":1350,"timestamp":4526652458,"duration":282755,"tags":{},"startTime":1691872009105},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1303,"timestamp":4525755210,"duration":1213064,"tags":{"trigger":"manual"},"startTime":1691872008208}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1351,"timestamp":4527140363,"duration":0,"tags":{},"startTime":1691872009593},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1356,"timestamp":4530118043,"duration":7405,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1360,"timestamp":4530118203,"duration":8912,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1362,"timestamp":4530118220,"duration":8913,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1359,"timestamp":4530118196,"duration":9517,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1357,"timestamp":4530118170,"duration":12653,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1364,"name":"next-swc-transform","id":1365,"timestamp":4530262537,"duration":23675,"tags":{},"startTime":1691872012716},{"traceId":"f3118a7bad57c10e","parentId":1363,"name":"next-swc-loader","id":1364,"timestamp":4530262176,"duration":24048,"tags":{},"startTime":1691872012715},{"traceId":"f3118a7bad57c10e","parentId":1354,"name":"build-module-tsx","id":1363,"timestamp":4530260859,"duration":124461,"tags":{"name":"/Users/muaadhm/frontend/pages/_app.tsx","layer":"null"},"startTime":1691872012714},{"traceId":"f3118a7bad57c10e","parentId":1366,"name":"read-resource","id":1367,"timestamp":4530442609,"duration":25798,"tags":{},"startTime":1691872012896},{"traceId":"f3118a7bad57c10e","parentId":1368,"name":"postcss-process","id":1369,"timestamp":4530468514,"duration":641228,"tags":{},"startTime":1691872012922},{"traceId":"f3118a7bad57c10e","parentId":1366,"name":"postcss-loader","id":1368,"timestamp":4530468488,"duration":642217,"tags":{},"startTime":1691872012922},{"traceId":"f3118a7bad57c10e","parentId":1366,"name":"css-loader","id":1370,"timestamp":4531110761,"duration":181496,"tags":{"astUsed":"true"},"startTime":1691872013564},{"traceId":"f3118a7bad57c10e","parentId":1354,"name":"build-module-css","id":1366,"timestamp":4530442394,"duration":854231,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872012896},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1358,"timestamp":4530118187,"duration":1182305,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1355,"name":"add-entry","id":1361,"timestamp":4530118213,"duration":1269805,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872012571},{"traceId":"f3118a7bad57c10e","parentId":1354,"name":"make","id":1355,"timestamp":4530115082,"duration":1272979,"tags":{},"startTime":1691872012568},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"chunk-graph","id":1372,"timestamp":4531394749,"duration":140718,"tags":{},"startTime":1691872013848},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"optimize-modules","id":1374,"timestamp":4531535525,"duration":13,"tags":{},"startTime":1691872013989},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"optimize-chunks","id":1375,"timestamp":4531535559,"duration":231,"tags":{},"startTime":1691872013989},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"optimize-tree","id":1376,"timestamp":4531535826,"duration":33,"tags":{},"startTime":1691872013989},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"optimize-chunk-modules","id":1377,"timestamp":4531535897,"duration":12,"tags":{},"startTime":1691872013989},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"optimize","id":1373,"timestamp":4531535506,"duration":2141,"tags":{},"startTime":1691872013989},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"module-hash","id":1378,"timestamp":4531639405,"duration":4144,"tags":{},"startTime":1691872014093},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"code-generation","id":1379,"timestamp":4531643598,"duration":8063,"tags":{},"startTime":1691872014097},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"hash","id":1380,"timestamp":4531657529,"duration":13991,"tags":{},"startTime":1691872014111},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"code-generation-jobs","id":1381,"timestamp":4531671517,"duration":219,"tags":{},"startTime":1691872014125},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"module-assets","id":1382,"timestamp":4531671704,"duration":536,"tags":{},"startTime":1691872014125},{"traceId":"f3118a7bad57c10e","parentId":1371,"name":"create-chunk-assets","id":1383,"timestamp":4531672270,"duration":76404,"tags":{},"startTime":1691872014125},{"traceId":"f3118a7bad57c10e","parentId":1354,"name":"NextJsBuildManifest-generateClientManifest","id":1385,"timestamp":4531765511,"duration":128,"tags":{},"startTime":1691872014219},{"traceId":"f3118a7bad57c10e","parentId":1354,"name":"NextJsBuildManifest-createassets","id":1384,"timestamp":4531765365,"duration":288,"tags":{},"startTime":1691872014219},{"traceId":"f3118a7bad57c10e","parentId":1354,"name":"seal","id":1371,"timestamp":4531390422,"duration":383403,"tags":{},"startTime":1691872013844},{"traceId":"f3118a7bad57c10e","parentId":1352,"name":"webpack-compilation","id":1354,"timestamp":4530113473,"duration":1662898,"tags":{"name":"client"},"startTime":1691872012567},{"traceId":"f3118a7bad57c10e","parentId":1352,"name":"emit","id":1386,"timestamp":4531776434,"duration":241726,"tags":{},"startTime":1691872014230},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1352,"timestamp":4530084496,"duration":1935675,"tags":{"trigger":"/Users/muaadhm/frontend/pages/_app.tsx"},"startTime":1691872012538},{"traceId":"f3118a7bad57c10e","parentId":1396,"name":"next-swc-transform","id":1397,"timestamp":4532140184,"duration":13050,"tags":{},"startTime":1691872014593},{"traceId":"f3118a7bad57c10e","parentId":1395,"name":"next-swc-loader","id":1396,"timestamp":4532139835,"duration":13422,"tags":{},"startTime":1691872014593},{"traceId":"f3118a7bad57c10e","parentId":1387,"name":"build-module-tsx","id":1395,"timestamp":4532139388,"duration":17886,"tags":{"name":"/Users/muaadhm/frontend/pages/_app.tsx","layer":"null"},"startTime":1691872014593},{"traceId":"f3118a7bad57c10e","parentId":1388,"name":"add-entry","id":1390,"timestamp":4532036553,"duration":146703,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872014490},{"traceId":"f3118a7bad57c10e","parentId":1388,"name":"add-entry","id":1391,"timestamp":4532039799,"duration":143480,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872014493},{"traceId":"f3118a7bad57c10e","parentId":1388,"name":"add-entry","id":1392,"timestamp":4532039822,"duration":143464,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872014493},{"traceId":"f3118a7bad57c10e","parentId":1388,"name":"add-entry","id":1393,"timestamp":4532039830,"duration":143460,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872014493},{"traceId":"f3118a7bad57c10e","parentId":1388,"name":"add-entry","id":1394,"timestamp":4532039838,"duration":143455,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872014493},{"traceId":"f3118a7bad57c10e","parentId":1387,"name":"make","id":1388,"timestamp":4532022610,"duration":160724,"tags":{},"startTime":1691872014476},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"chunk-graph","id":1399,"timestamp":4532184009,"duration":1286,"tags":{},"startTime":1691872014637},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"optimize-modules","id":1401,"timestamp":4532185387,"duration":10,"tags":{},"startTime":1691872014639},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"optimize-chunks","id":1402,"timestamp":4532185422,"duration":57,"tags":{},"startTime":1691872014639},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"optimize-tree","id":1403,"timestamp":4532185520,"duration":10,"tags":{},"startTime":1691872014639},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"optimize-chunk-modules","id":1404,"timestamp":4532185554,"duration":8,"tags":{},"startTime":1691872014639},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"optimize","id":1400,"timestamp":4532185362,"duration":317,"tags":{},"startTime":1691872014639},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"module-hash","id":1405,"timestamp":4532186027,"duration":562,"tags":{},"startTime":1691872014639},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"code-generation","id":1406,"timestamp":4532186618,"duration":13517,"tags":{},"startTime":1691872014640},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"hash","id":1407,"timestamp":4532203281,"duration":1266,"tags":{},"startTime":1691872014656},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"code-generation-jobs","id":1408,"timestamp":4532204544,"duration":107,"tags":{},"startTime":1691872014658},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"module-assets","id":1409,"timestamp":4532204637,"duration":36,"tags":{},"startTime":1691872014658},{"traceId":"f3118a7bad57c10e","parentId":1398,"name":"create-chunk-assets","id":1410,"timestamp":4532204681,"duration":43850,"tags":{},"startTime":1691872014658},{"traceId":"f3118a7bad57c10e","parentId":1387,"name":"seal","id":1398,"timestamp":4532183894,"duration":65731,"tags":{},"startTime":1691872014637},{"traceId":"f3118a7bad57c10e","parentId":1353,"name":"webpack-compilation","id":1387,"timestamp":4532022255,"duration":227430,"tags":{"name":"server"},"startTime":1691872014475},{"traceId":"f3118a7bad57c10e","parentId":1353,"name":"emit","id":1411,"timestamp":4532249722,"duration":110220,"tags":{},"startTime":1691872014703},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1353,"timestamp":4530085225,"duration":2275976,"tags":{"trigger":"/Users/muaadhm/frontend/pages/_app.tsx"},"startTime":1691872012538},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1414,"timestamp":4532374807,"duration":18114,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1421,"name":"read-resource","id":1422,"timestamp":4532394929,"duration":48,"tags":{},"startTime":1691872014848},{"traceId":"f3118a7bad57c10e","parentId":1423,"name":"postcss-process","id":1424,"timestamp":4532395108,"duration":196978,"tags":{},"startTime":1691872014848},{"traceId":"f3118a7bad57c10e","parentId":1421,"name":"postcss-loader","id":1423,"timestamp":4532395043,"duration":197408,"tags":{},"startTime":1691872014848},{"traceId":"f3118a7bad57c10e","parentId":1421,"name":"css-loader","id":1425,"timestamp":4532593124,"duration":27365,"tags":{"astUsed":"true"},"startTime":1691872015046},{"traceId":"f3118a7bad57c10e","parentId":1412,"name":"build-module-css","id":1421,"timestamp":4532394736,"duration":237564,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872014848},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1418,"timestamp":4532374897,"duration":296760,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1420,"timestamp":4532374912,"duration":296761,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1417,"timestamp":4532374889,"duration":298911,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1415,"timestamp":4532374870,"duration":300380,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1426,"timestamp":4532710307,"duration":112,"tags":{},"startTime":1691872015164},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1419,"timestamp":4532374905,"duration":394308,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1427,"timestamp":4532769766,"duration":0,"tags":{},"startTime":1691872015223},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-reload-page","id":1428,"timestamp":4532769803,"duration":0,"tags":{},"startTime":1691872015223},{"traceId":"f3118a7bad57c10e","parentId":1413,"name":"add-entry","id":1416,"timestamp":4532374881,"duration":729547,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872014828},{"traceId":"f3118a7bad57c10e","parentId":1412,"name":"make","id":1413,"timestamp":4532368175,"duration":736314,"tags":{},"startTime":1691872014821},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"chunk-graph","id":1431,"timestamp":4533110129,"duration":28663,"tags":{},"startTime":1691872015563},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"optimize-modules","id":1433,"timestamp":4533138844,"duration":13,"tags":{},"startTime":1691872015592},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"optimize-chunks","id":1434,"timestamp":4533138878,"duration":216,"tags":{},"startTime":1691872015592},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"optimize-tree","id":1435,"timestamp":4533139133,"duration":14,"tags":{},"startTime":1691872015592},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"optimize-chunk-modules","id":1436,"timestamp":4533139180,"duration":8,"tags":{},"startTime":1691872015592},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"optimize","id":1432,"timestamp":4533138827,"duration":2316,"tags":{},"startTime":1691872015592},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"module-hash","id":1437,"timestamp":4533193079,"duration":29322,"tags":{},"startTime":1691872015646},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"code-generation","id":1438,"timestamp":4533222450,"duration":19466,"tags":{},"startTime":1691872015676},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"hash","id":1439,"timestamp":4533255501,"duration":164204,"tags":{},"startTime":1691872015709},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"code-generation-jobs","id":1440,"timestamp":4533419703,"duration":871,"tags":{},"startTime":1691872015873},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"module-assets","id":1441,"timestamp":4533420534,"duration":399,"tags":{},"startTime":1691872015874},{"traceId":"f3118a7bad57c10e","parentId":1430,"name":"create-chunk-assets","id":1442,"timestamp":4533420949,"duration":757,"tags":{},"startTime":1691872015874},{"traceId":"f3118a7bad57c10e","parentId":1412,"name":"NextJsBuildManifest-generateClientManifest","id":1444,"timestamp":4533442170,"duration":162,"tags":{},"startTime":1691872015895},{"traceId":"f3118a7bad57c10e","parentId":1412,"name":"NextJsBuildManifest-createassets","id":1443,"timestamp":4533442017,"duration":329,"tags":{},"startTime":1691872015895},{"traceId":"f3118a7bad57c10e","parentId":1412,"name":"seal","id":1430,"timestamp":4533106520,"duration":337406,"tags":{},"startTime":1691872015560},{"traceId":"f3118a7bad57c10e","parentId":1389,"name":"webpack-compilation","id":1412,"timestamp":4532367166,"duration":1076818,"tags":{"name":"client"},"startTime":1691872014820},{"traceId":"f3118a7bad57c10e","parentId":1389,"name":"emit","id":1445,"timestamp":4533444017,"duration":21746,"tags":{},"startTime":1691872015897},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1446,"timestamp":4533467408,"duration":392,"tags":{"trigger":"manual"},"startTime":1691872015921},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1454,"timestamp":4533658678,"duration":0,"tags":{},"startTime":1691872016112},{"traceId":"f3118a7bad57c10e","parentId":1448,"name":"add-entry","id":1449,"timestamp":4533518406,"duration":283598,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872015972},{"traceId":"f3118a7bad57c10e","parentId":1448,"name":"add-entry","id":1450,"timestamp":4533518469,"duration":283556,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872015972},{"traceId":"f3118a7bad57c10e","parentId":1448,"name":"add-entry","id":1451,"timestamp":4533518481,"duration":283552,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872015972},{"traceId":"f3118a7bad57c10e","parentId":1448,"name":"add-entry","id":1452,"timestamp":4533518488,"duration":283548,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872015972},{"traceId":"f3118a7bad57c10e","parentId":1448,"name":"add-entry","id":1453,"timestamp":4533518495,"duration":283544,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872015972},{"traceId":"f3118a7bad57c10e","parentId":1447,"name":"make","id":1448,"timestamp":4533502779,"duration":299318,"tags":{},"startTime":1691872015956}] -[{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"chunk-graph","id":1456,"timestamp":4533802703,"duration":350,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"optimize-modules","id":1458,"timestamp":4533803087,"duration":6,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"optimize-chunks","id":1459,"timestamp":4533803109,"duration":41,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"optimize-tree","id":1460,"timestamp":4533803178,"duration":7,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"optimize-chunk-modules","id":1461,"timestamp":4533803206,"duration":6,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"optimize","id":1457,"timestamp":4533803076,"duration":218,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"module-hash","id":1462,"timestamp":4533803560,"duration":55,"tags":{},"startTime":1691872016257},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"code-generation","id":1463,"timestamp":4533803630,"duration":178,"tags":{},"startTime":1691872016257},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"hash","id":1464,"timestamp":4533804491,"duration":1309,"tags":{},"startTime":1691872016258},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"code-generation-jobs","id":1465,"timestamp":4533805797,"duration":106,"tags":{},"startTime":1691872016259},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"module-assets","id":1466,"timestamp":4533805887,"duration":39,"tags":{},"startTime":1691872016259},{"traceId":"f3118a7bad57c10e","parentId":1455,"name":"create-chunk-assets","id":1467,"timestamp":4533805934,"duration":185,"tags":{},"startTime":1691872016259},{"traceId":"f3118a7bad57c10e","parentId":1447,"name":"seal","id":1455,"timestamp":4533802606,"duration":3803,"tags":{},"startTime":1691872016256},{"traceId":"f3118a7bad57c10e","parentId":1429,"name":"webpack-compilation","id":1447,"timestamp":4533502313,"duration":304135,"tags":{"name":"server"},"startTime":1691872015956},{"traceId":"f3118a7bad57c10e","parentId":1429,"name":"emit","id":1468,"timestamp":4533806473,"duration":20818,"tags":{},"startTime":1691872016260},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1429,"timestamp":4533063085,"duration":764711,"tags":{"trigger":"manual"},"startTime":1691872015516},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1471,"timestamp":4533833939,"duration":13733,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1475,"timestamp":4533834029,"duration":18067,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1477,"timestamp":4533834043,"duration":18068,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1474,"timestamp":4533834021,"duration":19211,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1472,"timestamp":4533833999,"duration":21117,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1476,"timestamp":4533834037,"duration":27143,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1470,"name":"add-entry","id":1473,"timestamp":4533834010,"duration":225083,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872016287},{"traceId":"f3118a7bad57c10e","parentId":1469,"name":"make","id":1470,"timestamp":4533831279,"duration":227889,"tags":{},"startTime":1691872016284},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"chunk-graph","id":1479,"timestamp":4534077739,"duration":151025,"tags":{},"startTime":1691872016531},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"optimize-modules","id":1481,"timestamp":4534228816,"duration":7,"tags":{},"startTime":1691872016682},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"optimize-chunks","id":1482,"timestamp":4534228846,"duration":235,"tags":{},"startTime":1691872016682},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"optimize-tree","id":1483,"timestamp":4534229117,"duration":9,"tags":{},"startTime":1691872016682},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"optimize-chunk-modules","id":1484,"timestamp":4534229149,"duration":6,"tags":{},"startTime":1691872016682},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"optimize","id":1480,"timestamp":4534228797,"duration":2461,"tags":{},"startTime":1691872016682},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"module-hash","id":1485,"timestamp":4534238893,"duration":31955,"tags":{},"startTime":1691872016692},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"code-generation","id":1486,"timestamp":4534270892,"duration":6381,"tags":{},"startTime":1691872016724},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"hash","id":1487,"timestamp":4534293686,"duration":113699,"tags":{},"startTime":1691872016747},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"code-generation-jobs","id":1488,"timestamp":4534407383,"duration":160,"tags":{},"startTime":1691872016861},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"module-assets","id":1489,"timestamp":4534407515,"duration":351,"tags":{},"startTime":1691872016861},{"traceId":"f3118a7bad57c10e","parentId":1478,"name":"create-chunk-assets","id":1490,"timestamp":4534407880,"duration":1212,"tags":{},"startTime":1691872016861},{"traceId":"f3118a7bad57c10e","parentId":1469,"name":"NextJsBuildManifest-generateClientManifest","id":1492,"timestamp":4534410465,"duration":109,"tags":{},"startTime":1691872016864},{"traceId":"f3118a7bad57c10e","parentId":1469,"name":"NextJsBuildManifest-createassets","id":1491,"timestamp":4534410342,"duration":479,"tags":{},"startTime":1691872016864},{"traceId":"f3118a7bad57c10e","parentId":1469,"name":"seal","id":1478,"timestamp":4534060735,"duration":355571,"tags":{},"startTime":1691872016514},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-compilation","id":1469,"timestamp":4533830742,"duration":586022,"tags":{"name":"client"},"startTime":1691872016284},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"emit","id":1493,"timestamp":4534416916,"duration":222457,"tags":{},"startTime":1691872016870},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1446,"timestamp":4533467408,"duration":1186555,"tags":{"trigger":"manual"},"startTime":1691872015921}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1494,"timestamp":4534666486,"duration":0,"tags":{},"startTime":1691872017120},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-full-reload","id":1495,"timestamp":4534802866,"duration":0,"tags":{"stackTrace":"Error: apply() is only allowed in ready status (state: prepare)\n at http://localhost:3000/_next/static/chunks/webpack.js?ts=1691872009752:594:21"},"startTime":1691872017256},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1496,"timestamp":4539061838,"duration":0,"tags":{},"startTime":1691872021515},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1497,"timestamp":4681517628,"duration":0,"tags":{},"startTime":1691872163975},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1502,"timestamp":4710606232,"duration":22888,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1510,"name":"next-swc-transform","id":1511,"timestamp":4710631305,"duration":3679,"tags":{},"startTime":1691872193090},{"traceId":"f3118a7bad57c10e","parentId":1509,"name":"next-swc-loader","id":1510,"timestamp":4710630836,"duration":4167,"tags":{},"startTime":1691872193089},{"traceId":"f3118a7bad57c10e","parentId":1500,"name":"build-module-tsx","id":1509,"timestamp":4710630034,"duration":87806,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872193089},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1506,"timestamp":4710606520,"duration":111944,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1508,"timestamp":4710606541,"duration":111939,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1505,"timestamp":4710606509,"duration":114585,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1512,"name":"read-resource","id":1513,"timestamp":4710634514,"duration":87047,"tags":{},"startTime":1691872193093},{"traceId":"f3118a7bad57c10e","parentId":1514,"name":"postcss-process","id":1515,"timestamp":4710721759,"duration":149446,"tags":{},"startTime":1691872193180},{"traceId":"f3118a7bad57c10e","parentId":1512,"name":"postcss-loader","id":1514,"timestamp":4710721722,"duration":349923,"tags":{},"startTime":1691872193180},{"traceId":"f3118a7bad57c10e","parentId":1512,"name":"css-loader","id":1516,"timestamp":4711071769,"duration":214827,"tags":{"astUsed":"true"},"startTime":1691872193530},{"traceId":"f3118a7bad57c10e","parentId":1500,"name":"build-module-css","id":1512,"timestamp":4710634043,"duration":689061,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872193093},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1503,"timestamp":4710606473,"duration":733892,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1507,"timestamp":4710606533,"duration":893628,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1501,"name":"add-entry","id":1504,"timestamp":4710606498,"duration":1427467,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872193065},{"traceId":"f3118a7bad57c10e","parentId":1500,"name":"make","id":1501,"timestamp":4710603788,"duration":1430219,"tags":{},"startTime":1691872193062},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"chunk-graph","id":1518,"timestamp":4712048577,"duration":114470,"tags":{},"startTime":1691872194507},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"optimize-modules","id":1520,"timestamp":4712163206,"duration":43,"tags":{},"startTime":1691872194622},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"optimize-chunks","id":1521,"timestamp":4712163359,"duration":8590,"tags":{},"startTime":1691872194622},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"optimize-tree","id":1522,"timestamp":4712172110,"duration":69,"tags":{},"startTime":1691872194631},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"optimize-chunk-modules","id":1523,"timestamp":4712172285,"duration":52,"tags":{},"startTime":1691872194631},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"optimize","id":1519,"timestamp":4712163137,"duration":15175,"tags":{},"startTime":1691872194622},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"module-hash","id":1524,"timestamp":4712201464,"duration":10430,"tags":{},"startTime":1691872194660},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"code-generation","id":1525,"timestamp":4712212011,"duration":36451,"tags":{},"startTime":1691872194671},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"hash","id":1526,"timestamp":4712262413,"duration":26208,"tags":{},"startTime":1691872194721},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"code-generation-jobs","id":1527,"timestamp":4712288618,"duration":918,"tags":{},"startTime":1691872194747},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"module-assets","id":1528,"timestamp":4712289486,"duration":429,"tags":{},"startTime":1691872194748},{"traceId":"f3118a7bad57c10e","parentId":1517,"name":"create-chunk-assets","id":1529,"timestamp":4712289998,"duration":7168,"tags":{},"startTime":1691872194749},{"traceId":"f3118a7bad57c10e","parentId":1500,"name":"NextJsBuildManifest-generateClientManifest","id":1531,"timestamp":4712506076,"duration":440,"tags":{},"startTime":1691872194965},{"traceId":"f3118a7bad57c10e","parentId":1500,"name":"NextJsBuildManifest-createassets","id":1530,"timestamp":4712505939,"duration":593,"tags":{},"startTime":1691872194965},{"traceId":"f3118a7bad57c10e","parentId":1500,"name":"seal","id":1517,"timestamp":4712036524,"duration":517797,"tags":{},"startTime":1691872194495},{"traceId":"f3118a7bad57c10e","parentId":1498,"name":"webpack-compilation","id":1500,"timestamp":4710602997,"duration":1951391,"tags":{"name":"client"},"startTime":1691872193062},{"traceId":"f3118a7bad57c10e","parentId":1498,"name":"emit","id":1532,"timestamp":4712554431,"duration":64799,"tags":{},"startTime":1691872195013},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1498,"timestamp":4710590035,"duration":2031329,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872193049},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1535,"timestamp":4712650550,"duration":0,"tags":{},"startTime":1691872195109},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1541,"timestamp":1691872193051000,"duration":2114000,"tags":{"clientId":1691872020568},"startTime":1691872195223},{"traceId":"f3118a7bad57c10e","parentId":1534,"name":"add-entry","id":1536,"timestamp":4712653063,"duration":128114,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872195112},{"traceId":"f3118a7bad57c10e","parentId":1534,"name":"add-entry","id":1537,"timestamp":4712653142,"duration":128051,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872195112},{"traceId":"f3118a7bad57c10e","parentId":1534,"name":"add-entry","id":1538,"timestamp":4712653156,"duration":128041,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872195112},{"traceId":"f3118a7bad57c10e","parentId":1534,"name":"add-entry","id":1539,"timestamp":4712653163,"duration":128036,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872195112},{"traceId":"f3118a7bad57c10e","parentId":1543,"name":"next-swc-transform","id":1544,"timestamp":4712777015,"duration":5308,"tags":{},"startTime":1691872195236},{"traceId":"f3118a7bad57c10e","parentId":1542,"name":"next-swc-loader","id":1543,"timestamp":4712776727,"duration":5608,"tags":{},"startTime":1691872195235},{"traceId":"f3118a7bad57c10e","parentId":1533,"name":"build-module-tsx","id":1542,"timestamp":4712776361,"duration":10686,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872195235},{"traceId":"f3118a7bad57c10e","parentId":1534,"name":"add-entry","id":1540,"timestamp":4712653171,"duration":136641,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872195112},{"traceId":"f3118a7bad57c10e","parentId":1533,"name":"make","id":1534,"timestamp":4712624120,"duration":165735,"tags":{},"startTime":1691872195083},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"chunk-graph","id":1546,"timestamp":4712790450,"duration":559,"tags":{},"startTime":1691872195249},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"optimize-modules","id":1548,"timestamp":4712791053,"duration":6,"tags":{},"startTime":1691872195250},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"optimize-chunks","id":1549,"timestamp":4712791273,"duration":149,"tags":{},"startTime":1691872195250},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"optimize-tree","id":1550,"timestamp":4712791525,"duration":14,"tags":{},"startTime":1691872195250},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"optimize-chunk-modules","id":1551,"timestamp":4712791621,"duration":10,"tags":{},"startTime":1691872195250},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"optimize","id":1547,"timestamp":4712791040,"duration":773,"tags":{},"startTime":1691872195250},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"module-hash","id":1552,"timestamp":4712792181,"duration":216,"tags":{},"startTime":1691872195251},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"code-generation","id":1553,"timestamp":4712792419,"duration":5955,"tags":{},"startTime":1691872195251},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"hash","id":1554,"timestamp":4712800051,"duration":4119,"tags":{},"startTime":1691872195259},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"code-generation-jobs","id":1555,"timestamp":4712804168,"duration":156,"tags":{},"startTime":1691872195263},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"module-assets","id":1556,"timestamp":4712804307,"duration":45,"tags":{},"startTime":1691872195263},{"traceId":"f3118a7bad57c10e","parentId":1545,"name":"create-chunk-assets","id":1557,"timestamp":4712804363,"duration":9422,"tags":{},"startTime":1691872195263},{"traceId":"f3118a7bad57c10e","parentId":1533,"name":"seal","id":1545,"timestamp":4712790342,"duration":24110,"tags":{},"startTime":1691872195249},{"traceId":"f3118a7bad57c10e","parentId":1499,"name":"webpack-compilation","id":1533,"timestamp":4712622961,"duration":191545,"tags":{"name":"server"},"startTime":1691872195082},{"traceId":"f3118a7bad57c10e","parentId":1499,"name":"emit","id":1558,"timestamp":4712814626,"duration":16058,"tags":{},"startTime":1691872195273},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1499,"timestamp":4710592384,"duration":2240844,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872193051}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1559,"timestamp":4834847710,"duration":2,"tags":{},"startTime":1691872317310},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1560,"timestamp":4971965559,"duration":0,"tags":{},"startTime":1691872454432},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1561,"timestamp":5001494747,"duration":0,"tags":{},"startTime":1691872483962},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1566,"timestamp":5006591748,"duration":32617,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1570,"timestamp":5006592057,"duration":40948,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1572,"timestamp":5006592084,"duration":40940,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1569,"timestamp":5006592042,"duration":41588,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1576,"name":"read-resource","id":1577,"timestamp":5006629918,"duration":5432,"tags":{},"startTime":1691872489097},{"traceId":"f3118a7bad57c10e","parentId":1574,"name":"next-swc-transform","id":1575,"timestamp":5006626800,"duration":47696,"tags":{},"startTime":1691872489094},{"traceId":"f3118a7bad57c10e","parentId":1573,"name":"next-swc-loader","id":1574,"timestamp":5006626116,"duration":48394,"tags":{},"startTime":1691872489094},{"traceId":"f3118a7bad57c10e","parentId":1564,"name":"build-module-tsx","id":1573,"timestamp":5006625388,"duration":72058,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872489093},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1567,"timestamp":5006591995,"duration":192166,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1578,"name":"postcss-process","id":1579,"timestamp":5006635578,"duration":331108,"tags":{},"startTime":1691872489103},{"traceId":"f3118a7bad57c10e","parentId":1576,"name":"postcss-loader","id":1578,"timestamp":5006635534,"duration":332921,"tags":{},"startTime":1691872489103},{"traceId":"f3118a7bad57c10e","parentId":1576,"name":"css-loader","id":1580,"timestamp":5006968571,"duration":59954,"tags":{"astUsed":"true"},"startTime":1691872489436},{"traceId":"f3118a7bad57c10e","parentId":1564,"name":"build-module-css","id":1576,"timestamp":5006629422,"duration":414543,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872489097},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1571,"timestamp":5006592071,"duration":1239753,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1565,"name":"add-entry","id":1568,"timestamp":5006592023,"duration":1550107,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872489059},{"traceId":"f3118a7bad57c10e","parentId":1564,"name":"make","id":1565,"timestamp":5006588799,"duration":1553383,"tags":{},"startTime":1691872489056},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"chunk-graph","id":1582,"timestamp":5008155855,"duration":51862,"tags":{},"startTime":1691872490623},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"optimize-modules","id":1584,"timestamp":5008207871,"duration":48,"tags":{},"startTime":1691872490675},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"optimize-chunks","id":1585,"timestamp":5008208024,"duration":317,"tags":{},"startTime":1691872490675},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"optimize-tree","id":1586,"timestamp":5008208439,"duration":58,"tags":{},"startTime":1691872490676},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"optimize-chunk-modules","id":1587,"timestamp":5008208604,"duration":51,"tags":{},"startTime":1691872490676},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"optimize","id":1583,"timestamp":5008207803,"duration":12766,"tags":{},"startTime":1691872490675},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"module-hash","id":1588,"timestamp":5008274411,"duration":2663,"tags":{},"startTime":1691872490742},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"code-generation","id":1589,"timestamp":5008277117,"duration":29538,"tags":{},"startTime":1691872490745},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"hash","id":1590,"timestamp":5008373862,"duration":52419,"tags":{},"startTime":1691872490841},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"code-generation-jobs","id":1591,"timestamp":5008426279,"duration":351,"tags":{},"startTime":1691872490894},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"module-assets","id":1592,"timestamp":5008426583,"duration":446,"tags":{},"startTime":1691872490894},{"traceId":"f3118a7bad57c10e","parentId":1581,"name":"create-chunk-assets","id":1593,"timestamp":5008427050,"duration":12430,"tags":{},"startTime":1691872490895},{"traceId":"f3118a7bad57c10e","parentId":1564,"name":"NextJsBuildManifest-generateClientManifest","id":1595,"timestamp":5008455582,"duration":456,"tags":{},"startTime":1691872490923},{"traceId":"f3118a7bad57c10e","parentId":1564,"name":"NextJsBuildManifest-createassets","id":1594,"timestamp":5008455453,"duration":601,"tags":{},"startTime":1691872490923},{"traceId":"f3118a7bad57c10e","parentId":1564,"name":"seal","id":1581,"timestamp":5008144957,"duration":340528,"tags":{},"startTime":1691872490612},{"traceId":"f3118a7bad57c10e","parentId":1562,"name":"webpack-compilation","id":1564,"timestamp":5006586230,"duration":1899325,"tags":{"name":"client"},"startTime":1691872489054},{"traceId":"f3118a7bad57c10e","parentId":1562,"name":"emit","id":1596,"timestamp":5008485592,"duration":64900,"tags":{},"startTime":1691872490953},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1562,"timestamp":5006578269,"duration":1979176,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872489046},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1599,"timestamp":5008644332,"duration":0,"tags":{},"startTime":1691872491112},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1605,"timestamp":1691872489047000,"duration":2135000,"tags":{"clientId":1691872020568},"startTime":1691872491208},{"traceId":"f3118a7bad57c10e","parentId":1598,"name":"add-entry","id":1600,"timestamp":5008652163,"duration":104594,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872491120},{"traceId":"f3118a7bad57c10e","parentId":1598,"name":"add-entry","id":1601,"timestamp":5008652249,"duration":104529,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872491120},{"traceId":"f3118a7bad57c10e","parentId":1598,"name":"add-entry","id":1602,"timestamp":5008652264,"duration":104518,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872491120},{"traceId":"f3118a7bad57c10e","parentId":1598,"name":"add-entry","id":1604,"timestamp":5008652279,"duration":104507,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872491120},{"traceId":"f3118a7bad57c10e","parentId":1607,"name":"next-swc-transform","id":1608,"timestamp":5008752329,"duration":13836,"tags":{},"startTime":1691872491220},{"traceId":"f3118a7bad57c10e","parentId":1606,"name":"next-swc-loader","id":1607,"timestamp":5008752100,"duration":14081,"tags":{},"startTime":1691872491220},{"traceId":"f3118a7bad57c10e","parentId":1597,"name":"build-module-tsx","id":1606,"timestamp":5008751702,"duration":22120,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872491219},{"traceId":"f3118a7bad57c10e","parentId":1598,"name":"add-entry","id":1603,"timestamp":5008652271,"duration":123337,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872491120},{"traceId":"f3118a7bad57c10e","parentId":1597,"name":"make","id":1598,"timestamp":5008600762,"duration":174884,"tags":{},"startTime":1691872491068},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"chunk-graph","id":1610,"timestamp":5008776396,"duration":356,"tags":{},"startTime":1691872491244},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"optimize-modules","id":1612,"timestamp":5008776789,"duration":6,"tags":{},"startTime":1691872491244},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"optimize-chunks","id":1613,"timestamp":5008776914,"duration":75,"tags":{},"startTime":1691872491244},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"optimize-tree","id":1614,"timestamp":5008777073,"duration":11,"tags":{},"startTime":1691872491245},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"optimize-chunk-modules","id":1615,"timestamp":5008777159,"duration":10,"tags":{},"startTime":1691872491245},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"optimize","id":1611,"timestamp":5008776777,"duration":563,"tags":{},"startTime":1691872491244},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"module-hash","id":1616,"timestamp":5008777675,"duration":210,"tags":{},"startTime":1691872491245},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"code-generation","id":1617,"timestamp":5008777906,"duration":5106,"tags":{},"startTime":1691872491245},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"hash","id":1618,"timestamp":5008784344,"duration":5759,"tags":{},"startTime":1691872491252},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"code-generation-jobs","id":1619,"timestamp":5008790101,"duration":154,"tags":{},"startTime":1691872491258},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"module-assets","id":1620,"timestamp":5008790239,"duration":44,"tags":{},"startTime":1691872491258},{"traceId":"f3118a7bad57c10e","parentId":1609,"name":"create-chunk-assets","id":1621,"timestamp":5008790292,"duration":2409,"tags":{},"startTime":1691872491258},{"traceId":"f3118a7bad57c10e","parentId":1597,"name":"seal","id":1609,"timestamp":5008776289,"duration":21281,"tags":{},"startTime":1691872491244},{"traceId":"f3118a7bad57c10e","parentId":1563,"name":"webpack-compilation","id":1597,"timestamp":5008574064,"duration":223573,"tags":{"name":"server"},"startTime":1691872491042},{"traceId":"f3118a7bad57c10e","parentId":1563,"name":"emit","id":1622,"timestamp":5008797757,"duration":4687,"tags":{},"startTime":1691872491265},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1563,"timestamp":5006578795,"duration":2226683,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872489046}] -[{"traceId":"f3118a7bad57c10e","parentId":1626,"name":"add-entry","id":1627,"timestamp":5049587456,"duration":26722,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872532056},{"traceId":"f3118a7bad57c10e","parentId":1626,"name":"add-entry","id":1628,"timestamp":5049587583,"duration":26616,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872532056},{"traceId":"f3118a7bad57c10e","parentId":1626,"name":"add-entry","id":1629,"timestamp":5049587596,"duration":26607,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872532056},{"traceId":"f3118a7bad57c10e","parentId":1626,"name":"add-entry","id":1631,"timestamp":5049587611,"duration":28243,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872532056},{"traceId":"f3118a7bad57c10e","parentId":1633,"name":"next-swc-transform","id":1634,"timestamp":5049607281,"duration":12703,"tags":{},"startTime":1691872532076},{"traceId":"f3118a7bad57c10e","parentId":1632,"name":"next-swc-loader","id":1633,"timestamp":5049607122,"duration":12879,"tags":{},"startTime":1691872532076},{"traceId":"f3118a7bad57c10e","parentId":1625,"name":"build-module-tsx","id":1632,"timestamp":5049606789,"duration":22986,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872532075},{"traceId":"f3118a7bad57c10e","parentId":1626,"name":"add-entry","id":1630,"timestamp":5049587603,"duration":43186,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872532056},{"traceId":"f3118a7bad57c10e","parentId":1625,"name":"make","id":1626,"timestamp":5049582489,"duration":48417,"tags":{},"startTime":1691872532051},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"chunk-graph","id":1636,"timestamp":5049631519,"duration":490,"tags":{},"startTime":1691872532100},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"optimize-modules","id":1638,"timestamp":5049632055,"duration":9,"tags":{},"startTime":1691872532101},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"optimize-chunks","id":1639,"timestamp":5049632087,"duration":41,"tags":{},"startTime":1691872532101},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"optimize-tree","id":1640,"timestamp":5049632164,"duration":7,"tags":{},"startTime":1691872532101},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"optimize-chunk-modules","id":1641,"timestamp":5049632199,"duration":10,"tags":{},"startTime":1691872532101},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"optimize","id":1637,"timestamp":5049632042,"duration":255,"tags":{},"startTime":1691872532101},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"module-hash","id":1642,"timestamp":5049632655,"duration":264,"tags":{},"startTime":1691872532101},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"code-generation","id":1643,"timestamp":5049632944,"duration":804,"tags":{},"startTime":1691872532102},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"hash","id":1644,"timestamp":5049634925,"duration":1598,"tags":{},"startTime":1691872532104},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"code-generation-jobs","id":1645,"timestamp":5049636521,"duration":115,"tags":{},"startTime":1691872532105},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"module-assets","id":1646,"timestamp":5049636622,"duration":41,"tags":{},"startTime":1691872532105},{"traceId":"f3118a7bad57c10e","parentId":1635,"name":"create-chunk-assets","id":1647,"timestamp":5049636672,"duration":1510,"tags":{},"startTime":1691872532105},{"traceId":"f3118a7bad57c10e","parentId":1625,"name":"seal","id":1635,"timestamp":5049631383,"duration":7305,"tags":{},"startTime":1691872532100},{"traceId":"f3118a7bad57c10e","parentId":1623,"name":"webpack-compilation","id":1625,"timestamp":5049580983,"duration":57753,"tags":{"name":"server"},"startTime":1691872532050},{"traceId":"f3118a7bad57c10e","parentId":1623,"name":"emit","id":1648,"timestamp":5049638770,"duration":9300,"tags":{},"startTime":1691872532107},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1623,"timestamp":5049567749,"duration":81660,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872532036},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1651,"timestamp":5049657147,"duration":32674,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1655,"timestamp":5049657263,"duration":36902,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1657,"timestamp":5049657285,"duration":36897,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1654,"timestamp":5049657253,"duration":37653,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1659,"name":"next-swc-transform","id":1660,"timestamp":5049691500,"duration":4720,"tags":{},"startTime":1691872532160},{"traceId":"f3118a7bad57c10e","parentId":1658,"name":"next-swc-loader","id":1659,"timestamp":5049691351,"duration":4888,"tags":{},"startTime":1691872532160},{"traceId":"f3118a7bad57c10e","parentId":1649,"name":"build-module-tsx","id":1658,"timestamp":5049690855,"duration":21590,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872532160},{"traceId":"f3118a7bad57c10e","parentId":1661,"name":"read-resource","id":1662,"timestamp":5049693610,"duration":22012,"tags":{},"startTime":1691872532162},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1652,"timestamp":5049657228,"duration":96097,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1663,"name":"postcss-process","id":1664,"timestamp":5049715744,"duration":162554,"tags":{},"startTime":1691872532184},{"traceId":"f3118a7bad57c10e","parentId":1661,"name":"postcss-loader","id":1663,"timestamp":5049715711,"duration":162905,"tags":{},"startTime":1691872532184},{"traceId":"f3118a7bad57c10e","parentId":1661,"name":"css-loader","id":1665,"timestamp":5049878672,"duration":459412,"tags":{"astUsed":"true"},"startTime":1691872532347},{"traceId":"f3118a7bad57c10e","parentId":1649,"name":"build-module-css","id":1661,"timestamp":5049693290,"duration":656909,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872532162},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1656,"timestamp":5049657275,"duration":734229,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1650,"name":"add-entry","id":1653,"timestamp":5049657244,"duration":1132124,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872532126},{"traceId":"f3118a7bad57c10e","parentId":1649,"name":"make","id":1650,"timestamp":5049654517,"duration":1134896,"tags":{},"startTime":1691872532123},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"chunk-graph","id":1667,"timestamp":5050797354,"duration":30954,"tags":{},"startTime":1691872533266},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"optimize-modules","id":1669,"timestamp":5050828357,"duration":10,"tags":{},"startTime":1691872533297},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"optimize-chunks","id":1670,"timestamp":5050828388,"duration":219,"tags":{},"startTime":1691872533297},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"optimize-tree","id":1671,"timestamp":5050828646,"duration":12,"tags":{},"startTime":1691872533297},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"optimize-chunk-modules","id":1672,"timestamp":5050828692,"duration":7,"tags":{},"startTime":1691872533297},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"optimize","id":1668,"timestamp":5050828342,"duration":1807,"tags":{},"startTime":1691872533297},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"module-hash","id":1673,"timestamp":5050853678,"duration":5924,"tags":{},"startTime":1691872533322},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"code-generation","id":1674,"timestamp":5050859659,"duration":18641,"tags":{},"startTime":1691872533328},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"hash","id":1675,"timestamp":5050893451,"duration":81105,"tags":{},"startTime":1691872533362},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"code-generation-jobs","id":1676,"timestamp":5050974553,"duration":243,"tags":{},"startTime":1691872533443},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"module-assets","id":1677,"timestamp":5050974743,"duration":397,"tags":{},"startTime":1691872533443},{"traceId":"f3118a7bad57c10e","parentId":1666,"name":"create-chunk-assets","id":1678,"timestamp":5050975160,"duration":2367,"tags":{},"startTime":1691872533444},{"traceId":"f3118a7bad57c10e","parentId":1649,"name":"NextJsBuildManifest-generateClientManifest","id":1680,"timestamp":5050989582,"duration":106,"tags":{},"startTime":1691872533458},{"traceId":"f3118a7bad57c10e","parentId":1649,"name":"NextJsBuildManifest-createassets","id":1679,"timestamp":5050989471,"duration":228,"tags":{},"startTime":1691872533458},{"traceId":"f3118a7bad57c10e","parentId":1649,"name":"seal","id":1666,"timestamp":5050791163,"duration":202660,"tags":{},"startTime":1691872533260},{"traceId":"f3118a7bad57c10e","parentId":1624,"name":"webpack-compilation","id":1649,"timestamp":5049654004,"duration":1339878,"tags":{"name":"client"},"startTime":1691872532123},{"traceId":"f3118a7bad57c10e","parentId":1624,"name":"emit","id":1681,"timestamp":5050993915,"duration":233376,"tags":{},"startTime":1691872533463},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1624,"timestamp":5049567948,"duration":1662529,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872532037}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1682,"timestamp":5051254400,"duration":0,"tags":{},"startTime":1691872533723},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1683,"timestamp":1691872532037000,"duration":1740000,"tags":{"clientId":1691872020568},"startTime":1691872533818},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1688,"timestamp":5131305395,"duration":45841,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1692,"timestamp":5131305717,"duration":52294,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1694,"timestamp":5131305733,"duration":52294,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1691,"timestamp":5131305709,"duration":53379,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1698,"name":"read-resource","id":1699,"timestamp":5131357634,"duration":2025,"tags":{},"startTime":1691872613829},{"traceId":"f3118a7bad57c10e","parentId":1696,"name":"next-swc-transform","id":1697,"timestamp":5131353697,"duration":35562,"tags":{},"startTime":1691872613825},{"traceId":"f3118a7bad57c10e","parentId":1695,"name":"next-swc-loader","id":1696,"timestamp":5131352858,"duration":36412,"tags":{},"startTime":1691872613824},{"traceId":"f3118a7bad57c10e","parentId":1686,"name":"build-module-tsx","id":1695,"timestamp":5131352363,"duration":50477,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872613824},{"traceId":"f3118a7bad57c10e","parentId":1700,"name":"postcss-process","id":1701,"timestamp":5131359746,"duration":100547,"tags":{},"startTime":1691872613831},{"traceId":"f3118a7bad57c10e","parentId":1698,"name":"postcss-loader","id":1700,"timestamp":5131359714,"duration":101407,"tags":{},"startTime":1691872613831},{"traceId":"f3118a7bad57c10e","parentId":1698,"name":"css-loader","id":1702,"timestamp":5131461179,"duration":22008,"tags":{"astUsed":"true"},"startTime":1691872613932},{"traceId":"f3118a7bad57c10e","parentId":1686,"name":"build-module-css","id":1698,"timestamp":5131357289,"duration":139548,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872613828},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1689,"timestamp":5131305679,"duration":194543,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1693,"timestamp":5131305726,"duration":216983,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1687,"name":"add-entry","id":1690,"timestamp":5131305699,"duration":622581,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872613777},{"traceId":"f3118a7bad57c10e","parentId":1686,"name":"make","id":1687,"timestamp":5131301146,"duration":627182,"tags":{},"startTime":1691872613772},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"chunk-graph","id":1704,"timestamp":5131935060,"duration":22454,"tags":{},"startTime":1691872614406},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"optimize-modules","id":1706,"timestamp":5131957661,"duration":48,"tags":{},"startTime":1691872614429},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"optimize-chunks","id":1707,"timestamp":5131957804,"duration":310,"tags":{},"startTime":1691872614429},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"optimize-tree","id":1708,"timestamp":5131958209,"duration":46,"tags":{},"startTime":1691872614429},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"optimize-chunk-modules","id":1709,"timestamp":5131958350,"duration":51,"tags":{},"startTime":1691872614430},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"optimize","id":1705,"timestamp":5131957598,"duration":3190,"tags":{},"startTime":1691872614429},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"module-hash","id":1710,"timestamp":5131984571,"duration":5576,"tags":{},"startTime":1691872614456},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"code-generation","id":1711,"timestamp":5131990300,"duration":20972,"tags":{},"startTime":1691872614461},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"hash","id":1712,"timestamp":5132029774,"duration":20174,"tags":{},"startTime":1691872614501},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"code-generation-jobs","id":1713,"timestamp":5132049945,"duration":528,"tags":{},"startTime":1691872614521},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"module-assets","id":1714,"timestamp":5132050422,"duration":412,"tags":{},"startTime":1691872614522},{"traceId":"f3118a7bad57c10e","parentId":1703,"name":"create-chunk-assets","id":1715,"timestamp":5132050852,"duration":8517,"tags":{},"startTime":1691872614522},{"traceId":"f3118a7bad57c10e","parentId":1686,"name":"NextJsBuildManifest-generateClientManifest","id":1717,"timestamp":5132066020,"duration":416,"tags":{},"startTime":1691872614537},{"traceId":"f3118a7bad57c10e","parentId":1686,"name":"NextJsBuildManifest-createassets","id":1716,"timestamp":5132065903,"duration":544,"tags":{},"startTime":1691872614537},{"traceId":"f3118a7bad57c10e","parentId":1686,"name":"seal","id":1703,"timestamp":5131931210,"duration":145574,"tags":{},"startTime":1691872614402},{"traceId":"f3118a7bad57c10e","parentId":1684,"name":"webpack-compilation","id":1686,"timestamp":5131300728,"duration":776120,"tags":{"name":"client"},"startTime":1691872613772},{"traceId":"f3118a7bad57c10e","parentId":1684,"name":"emit","id":1718,"timestamp":5132076888,"duration":37232,"tags":{},"startTime":1691872614548},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1684,"timestamp":5131291762,"duration":823782,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872613763},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1721,"timestamp":5132132879,"duration":0,"tags":{},"startTime":1691872614604},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1727,"timestamp":1691872613764000,"duration":878000,"tags":{"clientId":1691872020568},"startTime":1691872614655},{"traceId":"f3118a7bad57c10e","parentId":1729,"name":"next-swc-transform","id":1730,"timestamp":5132202637,"duration":4594,"tags":{},"startTime":1691872614674},{"traceId":"f3118a7bad57c10e","parentId":1728,"name":"next-swc-loader","id":1729,"timestamp":5132202431,"duration":4810,"tags":{},"startTime":1691872614674},{"traceId":"f3118a7bad57c10e","parentId":1719,"name":"build-module-tsx","id":1728,"timestamp":5132202052,"duration":16129,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872614673},{"traceId":"f3118a7bad57c10e","parentId":1720,"name":"add-entry","id":1722,"timestamp":5132135975,"duration":87358,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872614607},{"traceId":"f3118a7bad57c10e","parentId":1720,"name":"add-entry","id":1723,"timestamp":5132136154,"duration":87194,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872614607},{"traceId":"f3118a7bad57c10e","parentId":1720,"name":"add-entry","id":1724,"timestamp":5132136629,"duration":86726,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872614608},{"traceId":"f3118a7bad57c10e","parentId":1720,"name":"add-entry","id":1725,"timestamp":5132136648,"duration":86713,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872614608},{"traceId":"f3118a7bad57c10e","parentId":1720,"name":"add-entry","id":1726,"timestamp":5132136658,"duration":86706,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872614608},{"traceId":"f3118a7bad57c10e","parentId":1719,"name":"make","id":1720,"timestamp":5132123862,"duration":99536,"tags":{},"startTime":1691872614595},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"chunk-graph","id":1732,"timestamp":5132224179,"duration":659,"tags":{},"startTime":1691872614695},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"optimize-modules","id":1734,"timestamp":5132224889,"duration":10,"tags":{},"startTime":1691872614696},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"optimize-chunks","id":1735,"timestamp":5132225052,"duration":92,"tags":{},"startTime":1691872614696},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"optimize-tree","id":1736,"timestamp":5132225235,"duration":10,"tags":{},"startTime":1691872614696},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"optimize-chunk-modules","id":1737,"timestamp":5132225327,"duration":13,"tags":{},"startTime":1691872614696},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"optimize","id":1733,"timestamp":5132224874,"duration":656,"tags":{},"startTime":1691872614696},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"module-hash","id":1738,"timestamp":5132225965,"duration":289,"tags":{},"startTime":1691872614697},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"code-generation","id":1739,"timestamp":5132226280,"duration":1400,"tags":{},"startTime":1691872614697},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"hash","id":1740,"timestamp":5132229175,"duration":4355,"tags":{},"startTime":1691872614700},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"code-generation-jobs","id":1741,"timestamp":5132233528,"duration":195,"tags":{},"startTime":1691872614705},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"module-assets","id":1742,"timestamp":5132233699,"duration":55,"tags":{},"startTime":1691872614705},{"traceId":"f3118a7bad57c10e","parentId":1731,"name":"create-chunk-assets","id":1743,"timestamp":5132233769,"duration":6741,"tags":{},"startTime":1691872614705},{"traceId":"f3118a7bad57c10e","parentId":1719,"name":"seal","id":1731,"timestamp":5132223961,"duration":17588,"tags":{},"startTime":1691872614695},{"traceId":"f3118a7bad57c10e","parentId":1685,"name":"webpack-compilation","id":1719,"timestamp":5132118916,"duration":122727,"tags":{"name":"server"},"startTime":1691872614590},{"traceId":"f3118a7bad57c10e","parentId":1685,"name":"emit","id":1744,"timestamp":5132241763,"duration":4971,"tags":{},"startTime":1691872614713},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1685,"timestamp":5131292469,"duration":955646,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872613764}] -[{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1749,"timestamp":5141417292,"duration":60034,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1753,"timestamp":5141417410,"duration":70731,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1755,"timestamp":5141417433,"duration":70729,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1752,"timestamp":5141417400,"duration":83077,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1757,"name":"next-swc-transform","id":1758,"timestamp":5141478872,"duration":21820,"tags":{},"startTime":1691872623950},{"traceId":"f3118a7bad57c10e","parentId":1756,"name":"next-swc-loader","id":1757,"timestamp":5141478702,"duration":21995,"tags":{},"startTime":1691872623950},{"traceId":"f3118a7bad57c10e","parentId":1747,"name":"build-module-tsx","id":1756,"timestamp":5141478228,"duration":32502,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872623950},{"traceId":"f3118a7bad57c10e","parentId":1759,"name":"read-resource","id":1760,"timestamp":5141479914,"duration":32316,"tags":{},"startTime":1691872623951},{"traceId":"f3118a7bad57c10e","parentId":1761,"name":"postcss-process","id":1762,"timestamp":5141512370,"duration":145809,"tags":{},"startTime":1691872623984},{"traceId":"f3118a7bad57c10e","parentId":1759,"name":"postcss-loader","id":1761,"timestamp":5141512302,"duration":146411,"tags":{},"startTime":1691872623984},{"traceId":"f3118a7bad57c10e","parentId":1759,"name":"css-loader","id":1763,"timestamp":5141658779,"duration":44849,"tags":{"astUsed":"true"},"startTime":1691872624130},{"traceId":"f3118a7bad57c10e","parentId":1747,"name":"build-module-css","id":1759,"timestamp":5141479598,"duration":227706,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872623951},{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1750,"timestamp":5141417376,"duration":305851,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1754,"timestamp":5141417423,"duration":322543,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1748,"name":"add-entry","id":1751,"timestamp":5141417392,"duration":1044662,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872623889},{"traceId":"f3118a7bad57c10e","parentId":1747,"name":"make","id":1748,"timestamp":5141394129,"duration":1067978,"tags":{},"startTime":1691872623866},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"chunk-graph","id":1765,"timestamp":5142467577,"duration":33421,"tags":{},"startTime":1691872624939},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"optimize-modules","id":1767,"timestamp":5142501055,"duration":9,"tags":{},"startTime":1691872624973},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"optimize-chunks","id":1768,"timestamp":5142501091,"duration":316,"tags":{},"startTime":1691872624973},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"optimize-tree","id":1769,"timestamp":5142501456,"duration":12,"tags":{},"startTime":1691872624973},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"optimize-chunk-modules","id":1770,"timestamp":5142501508,"duration":10,"tags":{},"startTime":1691872624973},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"optimize","id":1766,"timestamp":5142501036,"duration":3143,"tags":{},"startTime":1691872624973},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"module-hash","id":1771,"timestamp":5142521258,"duration":43781,"tags":{},"startTime":1691872624993},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"code-generation","id":1772,"timestamp":5142565080,"duration":32668,"tags":{},"startTime":1691872625037},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"hash","id":1773,"timestamp":5142612455,"duration":35891,"tags":{},"startTime":1691872625084},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"code-generation-jobs","id":1774,"timestamp":5142648343,"duration":220,"tags":{},"startTime":1691872625120},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"module-assets","id":1775,"timestamp":5142648530,"duration":358,"tags":{},"startTime":1691872625120},{"traceId":"f3118a7bad57c10e","parentId":1764,"name":"create-chunk-assets","id":1776,"timestamp":5142648902,"duration":2338,"tags":{},"startTime":1691872625120},{"traceId":"f3118a7bad57c10e","parentId":1747,"name":"NextJsBuildManifest-generateClientManifest","id":1778,"timestamp":5142670533,"duration":110,"tags":{},"startTime":1691872625142},{"traceId":"f3118a7bad57c10e","parentId":1747,"name":"NextJsBuildManifest-createassets","id":1777,"timestamp":5142670413,"duration":240,"tags":{},"startTime":1691872625142},{"traceId":"f3118a7bad57c10e","parentId":1747,"name":"seal","id":1764,"timestamp":5142463967,"duration":218235,"tags":{},"startTime":1691872624935},{"traceId":"f3118a7bad57c10e","parentId":1745,"name":"webpack-compilation","id":1747,"timestamp":5141393630,"duration":1288631,"tags":{"name":"client"},"startTime":1691872623865},{"traceId":"f3118a7bad57c10e","parentId":1745,"name":"emit","id":1779,"timestamp":5142682298,"duration":103530,"tags":{},"startTime":1691872625154},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1745,"timestamp":5141382006,"duration":1404788,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872623853},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1782,"timestamp":5142834455,"duration":0,"tags":{},"startTime":1691872625306},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1788,"timestamp":1691872623856000,"duration":1554000,"tags":{"clientId":1691872020568},"startTime":1691872625421},{"traceId":"f3118a7bad57c10e","parentId":1781,"name":"add-entry","id":1783,"timestamp":5142837300,"duration":124439,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872625309},{"traceId":"f3118a7bad57c10e","parentId":1781,"name":"add-entry","id":1784,"timestamp":5142843424,"duration":118331,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872625315},{"traceId":"f3118a7bad57c10e","parentId":1781,"name":"add-entry","id":1785,"timestamp":5142843471,"duration":118287,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872625315},{"traceId":"f3118a7bad57c10e","parentId":1781,"name":"add-entry","id":1787,"timestamp":5142843488,"duration":118273,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872625315},{"traceId":"f3118a7bad57c10e","parentId":1790,"name":"next-swc-transform","id":1791,"timestamp":5142950985,"duration":23837,"tags":{},"startTime":1691872625422},{"traceId":"f3118a7bad57c10e","parentId":1789,"name":"next-swc-loader","id":1790,"timestamp":5142950846,"duration":23988,"tags":{},"startTime":1691872625422},{"traceId":"f3118a7bad57c10e","parentId":1780,"name":"build-module-tsx","id":1789,"timestamp":5142950545,"duration":26702,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872625422},{"traceId":"f3118a7bad57c10e","parentId":1781,"name":"add-entry","id":1786,"timestamp":5142843480,"duration":135044,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872625315},{"traceId":"f3118a7bad57c10e","parentId":1780,"name":"make","id":1781,"timestamp":5142804099,"duration":174461,"tags":{},"startTime":1691872625276},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"chunk-graph","id":1793,"timestamp":5142979137,"duration":399,"tags":{},"startTime":1691872625451},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"optimize-modules","id":1795,"timestamp":5142979571,"duration":6,"tags":{},"startTime":1691872625451},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"optimize-chunks","id":1796,"timestamp":5142979593,"duration":31,"tags":{},"startTime":1691872625451},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"optimize-tree","id":1797,"timestamp":5142979656,"duration":7,"tags":{},"startTime":1691872625451},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"optimize-chunk-modules","id":1798,"timestamp":5142979684,"duration":6,"tags":{},"startTime":1691872625451},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"optimize","id":1794,"timestamp":5142979560,"duration":206,"tags":{},"startTime":1691872625451},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"module-hash","id":1799,"timestamp":5142980085,"duration":217,"tags":{},"startTime":1691872625452},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"code-generation","id":1800,"timestamp":5142980319,"duration":1090,"tags":{},"startTime":1691872625452},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"hash","id":1801,"timestamp":5142982301,"duration":2628,"tags":{},"startTime":1691872625454},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"code-generation-jobs","id":1802,"timestamp":5142984927,"duration":109,"tags":{},"startTime":1691872625456},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"module-assets","id":1803,"timestamp":5142985022,"duration":38,"tags":{},"startTime":1691872625457},{"traceId":"f3118a7bad57c10e","parentId":1792,"name":"create-chunk-assets","id":1804,"timestamp":5142985067,"duration":1134,"tags":{},"startTime":1691872625457},{"traceId":"f3118a7bad57c10e","parentId":1780,"name":"seal","id":1792,"timestamp":5142979008,"duration":7726,"tags":{},"startTime":1691872625450},{"traceId":"f3118a7bad57c10e","parentId":1746,"name":"webpack-compilation","id":1780,"timestamp":5142803750,"duration":183033,"tags":{"name":"server"},"startTime":1691872625275},{"traceId":"f3118a7bad57c10e","parentId":1746,"name":"emit","id":1805,"timestamp":5142986817,"duration":7743,"tags":{},"startTime":1691872625458},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1746,"timestamp":5141382347,"duration":1613055,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872623854}] -[{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1810,"timestamp":5156201975,"duration":8823,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1814,"timestamp":5156202089,"duration":11876,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1816,"timestamp":5156202102,"duration":11875,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1813,"timestamp":5156202082,"duration":13752,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1820,"name":"read-resource","id":1821,"timestamp":5156213680,"duration":3692,"tags":{},"startTime":1691872638686},{"traceId":"f3118a7bad57c10e","parentId":1818,"name":"next-swc-transform","id":1819,"timestamp":5156212749,"duration":21289,"tags":{},"startTime":1691872638685},{"traceId":"f3118a7bad57c10e","parentId":1817,"name":"next-swc-loader","id":1818,"timestamp":5156212525,"duration":21523,"tags":{},"startTime":1691872638684},{"traceId":"f3118a7bad57c10e","parentId":1808,"name":"build-module-tsx","id":1817,"timestamp":5156212035,"duration":24958,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872638684},{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1811,"timestamp":5156202046,"duration":44429,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1822,"name":"postcss-process","id":1823,"timestamp":5156217471,"duration":115574,"tags":{},"startTime":1691872638689},{"traceId":"f3118a7bad57c10e","parentId":1820,"name":"postcss-loader","id":1822,"timestamp":5156217440,"duration":115929,"tags":{},"startTime":1691872638689},{"traceId":"f3118a7bad57c10e","parentId":1820,"name":"css-loader","id":1824,"timestamp":5156333428,"duration":35239,"tags":{"astUsed":"true"},"startTime":1691872638805},{"traceId":"f3118a7bad57c10e","parentId":1808,"name":"build-module-css","id":1820,"timestamp":5156213460,"duration":157047,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691872638685},{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1815,"timestamp":5156202096,"duration":180127,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1809,"name":"add-entry","id":1812,"timestamp":5156202072,"duration":272613,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691872638674},{"traceId":"f3118a7bad57c10e","parentId":1808,"name":"make","id":1809,"timestamp":5156199893,"duration":274833,"tags":{},"startTime":1691872638672},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"chunk-graph","id":1826,"timestamp":5156480617,"duration":28168,"tags":{},"startTime":1691872638953},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"optimize-modules","id":1828,"timestamp":5156508847,"duration":10,"tags":{},"startTime":1691872638981},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"optimize-chunks","id":1829,"timestamp":5156508881,"duration":466,"tags":{},"startTime":1691872638981},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"optimize-tree","id":1830,"timestamp":5156509396,"duration":15,"tags":{},"startTime":1691872638981},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"optimize-chunk-modules","id":1831,"timestamp":5156509450,"duration":16,"tags":{},"startTime":1691872638981},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"optimize","id":1827,"timestamp":5156508823,"duration":2384,"tags":{},"startTime":1691872638981},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"module-hash","id":1832,"timestamp":5156535480,"duration":24173,"tags":{},"startTime":1691872639007},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"code-generation","id":1833,"timestamp":5156559691,"duration":25592,"tags":{},"startTime":1691872639032},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"hash","id":1834,"timestamp":5156593730,"duration":14464,"tags":{},"startTime":1691872639066},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"code-generation-jobs","id":1835,"timestamp":5156608190,"duration":340,"tags":{},"startTime":1691872639080},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"module-assets","id":1836,"timestamp":5156608492,"duration":397,"tags":{},"startTime":1691872639080},{"traceId":"f3118a7bad57c10e","parentId":1825,"name":"create-chunk-assets","id":1837,"timestamp":5156608907,"duration":12801,"tags":{},"startTime":1691872639081},{"traceId":"f3118a7bad57c10e","parentId":1808,"name":"NextJsBuildManifest-generateClientManifest","id":1839,"timestamp":5156628754,"duration":157,"tags":{},"startTime":1691872639101},{"traceId":"f3118a7bad57c10e","parentId":1808,"name":"NextJsBuildManifest-createassets","id":1838,"timestamp":5156628650,"duration":272,"tags":{},"startTime":1691872639101},{"traceId":"f3118a7bad57c10e","parentId":1808,"name":"seal","id":1825,"timestamp":5156476624,"duration":157562,"tags":{},"startTime":1691872638949},{"traceId":"f3118a7bad57c10e","parentId":1806,"name":"webpack-compilation","id":1808,"timestamp":5156199504,"duration":434745,"tags":{"name":"client"},"startTime":1691872638671},{"traceId":"f3118a7bad57c10e","parentId":1806,"name":"emit","id":1840,"timestamp":5156634278,"duration":486018,"tags":{},"startTime":1691872639106},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1806,"timestamp":5156191993,"duration":929429,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872638664},{"traceId":"f3118a7bad57c10e","parentId":1842,"name":"add-entry","id":1843,"timestamp":5157137838,"duration":18983,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872639610},{"traceId":"f3118a7bad57c10e","parentId":1842,"name":"add-entry","id":1844,"timestamp":5157137924,"duration":18915,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872639610},{"traceId":"f3118a7bad57c10e","parentId":1842,"name":"add-entry","id":1845,"timestamp":5157137937,"duration":18907,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872639610},{"traceId":"f3118a7bad57c10e","parentId":1842,"name":"add-entry","id":1847,"timestamp":5157137952,"duration":18895,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872639610},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1851,"timestamp":5157163008,"duration":0,"tags":{},"startTime":1691872639635},{"traceId":"f3118a7bad57c10e","parentId":1849,"name":"next-swc-transform","id":1850,"timestamp":5157152983,"duration":12552,"tags":{},"startTime":1691872639625},{"traceId":"f3118a7bad57c10e","parentId":1848,"name":"next-swc-loader","id":1849,"timestamp":5157152780,"duration":12768,"tags":{},"startTime":1691872639625},{"traceId":"f3118a7bad57c10e","parentId":1841,"name":"build-module-tsx","id":1848,"timestamp":5157152498,"duration":15862,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691872639624},{"traceId":"f3118a7bad57c10e","parentId":1842,"name":"add-entry","id":1846,"timestamp":5157137944,"duration":32949,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691872639610},{"traceId":"f3118a7bad57c10e","parentId":1841,"name":"make","id":1842,"timestamp":5157123376,"duration":47560,"tags":{},"startTime":1691872639595},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"chunk-graph","id":1853,"timestamp":5157171380,"duration":782,"tags":{},"startTime":1691872639643},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"optimize-modules","id":1855,"timestamp":5157172214,"duration":13,"tags":{},"startTime":1691872639644},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"optimize-chunks","id":1856,"timestamp":5157172245,"duration":44,"tags":{},"startTime":1691872639644},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"optimize-tree","id":1857,"timestamp":5157172335,"duration":15,"tags":{},"startTime":1691872639644},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"optimize-chunk-modules","id":1858,"timestamp":5157172374,"duration":8,"tags":{},"startTime":1691872639644},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"optimize","id":1854,"timestamp":5157172194,"duration":295,"tags":{},"startTime":1691872639644},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"module-hash","id":1859,"timestamp":5157172813,"duration":264,"tags":{},"startTime":1691872639645},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"code-generation","id":1860,"timestamp":5157173101,"duration":1451,"tags":{},"startTime":1691872639645},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"hash","id":1861,"timestamp":5157177046,"duration":2574,"tags":{},"startTime":1691872639649},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"code-generation-jobs","id":1862,"timestamp":5157179614,"duration":155,"tags":{},"startTime":1691872639652},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"module-assets","id":1863,"timestamp":5157179753,"duration":44,"tags":{},"startTime":1691872639652},{"traceId":"f3118a7bad57c10e","parentId":1852,"name":"create-chunk-assets","id":1864,"timestamp":5157179805,"duration":1981,"tags":{},"startTime":1691872639652},{"traceId":"f3118a7bad57c10e","parentId":1841,"name":"seal","id":1852,"timestamp":5157171262,"duration":10825,"tags":{},"startTime":1691872639643},{"traceId":"f3118a7bad57c10e","parentId":1807,"name":"webpack-compilation","id":1841,"timestamp":5157123002,"duration":59123,"tags":{"name":"server"},"startTime":1691872639595},{"traceId":"f3118a7bad57c10e","parentId":1807,"name":"emit","id":1865,"timestamp":5157182627,"duration":214843,"tags":{},"startTime":1691872639655},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1807,"timestamp":5156192453,"duration":1253980,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691872638664}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1866,"timestamp":1691872638665000,"duration":1308000,"tags":{"clientId":1691872020568},"startTime":1691872639974},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1867,"timestamp":5511859896,"duration":0,"tags":{},"startTime":1691872994284},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1868,"timestamp":5631857737,"duration":0,"tags":{},"startTime":1691873114282},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1869,"timestamp":5653484941,"duration":0,"tags":{},"startTime":1691873135909},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1870,"timestamp":5811859700,"duration":0,"tags":{},"startTime":1691873294284},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1871,"timestamp":5931852981,"duration":0,"tags":{},"startTime":1691873414277},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1872,"timestamp":5997218607,"duration":0,"tags":{},"startTime":1691873479643},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1877,"timestamp":6063652608,"duration":39351,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1881,"timestamp":6063652975,"duration":43903,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1883,"timestamp":6063652993,"duration":43899,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1880,"timestamp":6063652964,"duration":47184,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1887,"name":"read-resource","id":1888,"timestamp":6063695852,"duration":6252,"tags":{},"startTime":1691873546120},{"traceId":"f3118a7bad57c10e","parentId":1885,"name":"next-swc-transform","id":1886,"timestamp":6063694383,"duration":33381,"tags":{},"startTime":1691873546119},{"traceId":"f3118a7bad57c10e","parentId":1884,"name":"next-swc-loader","id":1885,"timestamp":6063694045,"duration":33734,"tags":{},"startTime":1691873546118},{"traceId":"f3118a7bad57c10e","parentId":1875,"name":"build-module-tsx","id":1884,"timestamp":6063693158,"duration":53970,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873546118},{"traceId":"f3118a7bad57c10e","parentId":1889,"name":"postcss-process","id":1890,"timestamp":6063702370,"duration":160853,"tags":{},"startTime":1691873546127},{"traceId":"f3118a7bad57c10e","parentId":1887,"name":"postcss-loader","id":1889,"timestamp":6063702307,"duration":165710,"tags":{},"startTime":1691873546127},{"traceId":"f3118a7bad57c10e","parentId":1887,"name":"css-loader","id":1891,"timestamp":6063868131,"duration":34641,"tags":{"astUsed":"true"},"startTime":1691873546293},{"traceId":"f3118a7bad57c10e","parentId":1875,"name":"build-module-css","id":1887,"timestamp":6063695208,"duration":221054,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873546120},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1878,"timestamp":6063652919,"duration":271155,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1882,"timestamp":6063652986,"duration":609122,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1876,"name":"add-entry","id":1879,"timestamp":6063652950,"duration":1126274,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873546077},{"traceId":"f3118a7bad57c10e","parentId":1875,"name":"make","id":1876,"timestamp":6063646390,"duration":1132894,"tags":{},"startTime":1691873546071},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"chunk-graph","id":1893,"timestamp":6064797651,"duration":192102,"tags":{},"startTime":1691873547222},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"optimize-modules","id":1895,"timestamp":6064990042,"duration":61,"tags":{},"startTime":1691873547414},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"optimize-chunks","id":1896,"timestamp":6064990200,"duration":335,"tags":{},"startTime":1691873547415},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"optimize-tree","id":1897,"timestamp":6064990629,"duration":46,"tags":{},"startTime":1691873547415},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"optimize-chunk-modules","id":1898,"timestamp":6064990768,"duration":49,"tags":{},"startTime":1691873547415},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"optimize","id":1894,"timestamp":6064989834,"duration":3199,"tags":{},"startTime":1691873547414},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"module-hash","id":1899,"timestamp":6065020737,"duration":2109,"tags":{},"startTime":1691873547445},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"code-generation","id":1900,"timestamp":6065022880,"duration":29046,"tags":{},"startTime":1691873547447},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"hash","id":1901,"timestamp":6065095520,"duration":70459,"tags":{},"startTime":1691873547520},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"code-generation-jobs","id":1902,"timestamp":6065165976,"duration":425,"tags":{},"startTime":1691873547590},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"module-assets","id":1903,"timestamp":6065166333,"duration":418,"tags":{},"startTime":1691873547591},{"traceId":"f3118a7bad57c10e","parentId":1892,"name":"create-chunk-assets","id":1904,"timestamp":6065166770,"duration":16916,"tags":{},"startTime":1691873547591},{"traceId":"f3118a7bad57c10e","parentId":1875,"name":"NextJsBuildManifest-generateClientManifest","id":1906,"timestamp":6065226633,"duration":512,"tags":{},"startTime":1691873547651},{"traceId":"f3118a7bad57c10e","parentId":1875,"name":"NextJsBuildManifest-createassets","id":1905,"timestamp":6065226368,"duration":791,"tags":{},"startTime":1691873547651},{"traceId":"f3118a7bad57c10e","parentId":1875,"name":"seal","id":1892,"timestamp":6064792809,"duration":455314,"tags":{},"startTime":1691873547217},{"traceId":"f3118a7bad57c10e","parentId":1873,"name":"webpack-compilation","id":1875,"timestamp":6063645504,"duration":1602692,"tags":{"name":"client"},"startTime":1691873546070},{"traceId":"f3118a7bad57c10e","parentId":1873,"name":"emit","id":1907,"timestamp":6065248233,"duration":280159,"tags":{},"startTime":1691873547673},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1873,"timestamp":6063634589,"duration":1896939,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873546059},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1910,"timestamp":6065618275,"duration":0,"tags":{},"startTime":1691873548043},{"traceId":"f3118a7bad57c10e","parentId":1909,"name":"add-entry","id":1911,"timestamp":6065628857,"duration":35417,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873548053},{"traceId":"f3118a7bad57c10e","parentId":1909,"name":"add-entry","id":1912,"timestamp":6065628977,"duration":35318,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873548053},{"traceId":"f3118a7bad57c10e","parentId":1909,"name":"add-entry","id":1913,"timestamp":6065628990,"duration":35311,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873548053},{"traceId":"f3118a7bad57c10e","parentId":1909,"name":"add-entry","id":1915,"timestamp":6065629006,"duration":35299,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873548053},{"traceId":"f3118a7bad57c10e","parentId":1917,"name":"next-swc-transform","id":1918,"timestamp":6065659108,"duration":13360,"tags":{},"startTime":1691873548084},{"traceId":"f3118a7bad57c10e","parentId":1916,"name":"next-swc-loader","id":1917,"timestamp":6065658893,"duration":13596,"tags":{},"startTime":1691873548083},{"traceId":"f3118a7bad57c10e","parentId":1908,"name":"build-module-tsx","id":1916,"timestamp":6065658475,"duration":19269,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873548083},{"traceId":"f3118a7bad57c10e","parentId":1909,"name":"add-entry","id":1914,"timestamp":6065628998,"duration":99111,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873548053},{"traceId":"f3118a7bad57c10e","parentId":1908,"name":"make","id":1909,"timestamp":6065545804,"duration":182344,"tags":{},"startTime":1691873547970},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"chunk-graph","id":1920,"timestamp":6065728794,"duration":739,"tags":{},"startTime":1691873548153},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"optimize-modules","id":1922,"timestamp":6065729579,"duration":8,"tags":{},"startTime":1691873548154},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"optimize-chunks","id":1923,"timestamp":6065729738,"duration":95,"tags":{},"startTime":1691873548154},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"optimize-tree","id":1924,"timestamp":6065729924,"duration":13,"tags":{},"startTime":1691873548154},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"optimize-chunk-modules","id":1925,"timestamp":6065730022,"duration":11,"tags":{},"startTime":1691873548154},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"optimize","id":1921,"timestamp":6065729565,"duration":747,"tags":{},"startTime":1691873548154},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"module-hash","id":1926,"timestamp":6065730706,"duration":793,"tags":{},"startTime":1691873548155},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"code-generation","id":1927,"timestamp":6065731534,"duration":6462,"tags":{},"startTime":1691873548156},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"hash","id":1928,"timestamp":6065741339,"duration":4287,"tags":{},"startTime":1691873548166},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"code-generation-jobs","id":1929,"timestamp":6065745623,"duration":146,"tags":{},"startTime":1691873548170},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"module-assets","id":1930,"timestamp":6065745755,"duration":42,"tags":{},"startTime":1691873548170},{"traceId":"f3118a7bad57c10e","parentId":1919,"name":"create-chunk-assets","id":1931,"timestamp":6065745812,"duration":3412,"tags":{},"startTime":1691873548170},{"traceId":"f3118a7bad57c10e","parentId":1908,"name":"seal","id":1919,"timestamp":6065728677,"duration":21196,"tags":{},"startTime":1691873548153},{"traceId":"f3118a7bad57c10e","parentId":1874,"name":"webpack-compilation","id":1908,"timestamp":6065544576,"duration":205346,"tags":{"name":"server"},"startTime":1691873547969},{"traceId":"f3118a7bad57c10e","parentId":1874,"name":"emit","id":1932,"timestamp":6065750027,"duration":51551,"tags":{},"startTime":1691873548174},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1874,"timestamp":6063635424,"duration":2180683,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873546060}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1933,"timestamp":1691873546061000,"duration":2166000,"tags":{"clientId":1691872020568},"startTime":1691873548255},{"traceId":"f3118a7bad57c10e","parentId":1944,"name":"next-swc-transform","id":1945,"timestamp":6072881571,"duration":8161,"tags":{},"startTime":1691873555306},{"traceId":"f3118a7bad57c10e","parentId":1943,"name":"next-swc-loader","id":1944,"timestamp":6072881413,"duration":8327,"tags":{},"startTime":1691873555306},{"traceId":"f3118a7bad57c10e","parentId":1936,"name":"build-module-tsx","id":1943,"timestamp":6072881076,"duration":11476,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873555306},{"traceId":"f3118a7bad57c10e","parentId":1937,"name":"add-entry","id":1938,"timestamp":6072832202,"duration":62324,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873555257},{"traceId":"f3118a7bad57c10e","parentId":1937,"name":"add-entry","id":1939,"timestamp":6072832278,"duration":62261,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873555257},{"traceId":"f3118a7bad57c10e","parentId":1937,"name":"add-entry","id":1940,"timestamp":6072832289,"duration":62253,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873555257},{"traceId":"f3118a7bad57c10e","parentId":1937,"name":"add-entry","id":1941,"timestamp":6072832296,"duration":62253,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873555257},{"traceId":"f3118a7bad57c10e","parentId":1937,"name":"add-entry","id":1942,"timestamp":6072832303,"duration":62261,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873555257},{"traceId":"f3118a7bad57c10e","parentId":1936,"name":"make","id":1937,"timestamp":6072830738,"duration":63857,"tags":{},"startTime":1691873555255},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"chunk-graph","id":1947,"timestamp":6072895078,"duration":807,"tags":{},"startTime":1691873555320},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"optimize-modules","id":1949,"timestamp":6072895962,"duration":6,"tags":{},"startTime":1691873555320},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"optimize-chunks","id":1950,"timestamp":6072895990,"duration":45,"tags":{},"startTime":1691873555320},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"optimize-tree","id":1951,"timestamp":6072896068,"duration":10,"tags":{},"startTime":1691873555321},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"optimize-chunk-modules","id":1952,"timestamp":6072896102,"duration":6,"tags":{},"startTime":1691873555321},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"optimize","id":1948,"timestamp":6072895942,"duration":255,"tags":{},"startTime":1691873555320},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"module-hash","id":1953,"timestamp":6072896637,"duration":229,"tags":{},"startTime":1691873555321},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"code-generation","id":1954,"timestamp":6072896888,"duration":593,"tags":{},"startTime":1691873555321},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"hash","id":1955,"timestamp":6072898420,"duration":2778,"tags":{},"startTime":1691873555323},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"code-generation-jobs","id":1956,"timestamp":6072901193,"duration":190,"tags":{},"startTime":1691873555326},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"module-assets","id":1957,"timestamp":6072901363,"duration":45,"tags":{},"startTime":1691873555326},{"traceId":"f3118a7bad57c10e","parentId":1946,"name":"create-chunk-assets","id":1958,"timestamp":6072901415,"duration":3659,"tags":{},"startTime":1691873555326},{"traceId":"f3118a7bad57c10e","parentId":1936,"name":"seal","id":1946,"timestamp":6072894949,"duration":11744,"tags":{},"startTime":1691873555319},{"traceId":"f3118a7bad57c10e","parentId":1934,"name":"webpack-compilation","id":1936,"timestamp":6072830210,"duration":76534,"tags":{"name":"server"},"startTime":1691873555255},{"traceId":"f3118a7bad57c10e","parentId":1934,"name":"emit","id":1959,"timestamp":6072906778,"duration":4767,"tags":{},"startTime":1691873555331},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1934,"timestamp":6072823115,"duration":88959,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873555248},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1962,"timestamp":6072919638,"duration":7274,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1966,"timestamp":6072919764,"duration":13040,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1967,"timestamp":6072919775,"duration":13040,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1965,"timestamp":6072919753,"duration":13683,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1970,"name":"next-swc-transform","id":1971,"timestamp":6072930393,"duration":8094,"tags":{},"startTime":1691873555355},{"traceId":"f3118a7bad57c10e","parentId":1969,"name":"next-swc-loader","id":1970,"timestamp":6072930007,"duration":8487,"tags":{},"startTime":1691873555354},{"traceId":"f3118a7bad57c10e","parentId":1960,"name":"build-module-tsx","id":1969,"timestamp":6072928168,"duration":15842,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873555353},{"traceId":"f3118a7bad57c10e","parentId":1972,"name":"read-resource","id":1973,"timestamp":6072931899,"duration":12197,"tags":{},"startTime":1691873555356},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1963,"timestamp":6072919728,"duration":47600,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1974,"name":"postcss-process","id":1975,"timestamp":6072944172,"duration":74214,"tags":{},"startTime":1691873555369},{"traceId":"f3118a7bad57c10e","parentId":1972,"name":"postcss-loader","id":1974,"timestamp":6072944143,"duration":75190,"tags":{},"startTime":1691873555369},{"traceId":"f3118a7bad57c10e","parentId":1972,"name":"css-loader","id":1976,"timestamp":6073019395,"duration":44175,"tags":{"astUsed":"true"},"startTime":1691873555444},{"traceId":"f3118a7bad57c10e","parentId":1960,"name":"build-module-css","id":1972,"timestamp":6072931576,"duration":134053,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873555356},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1968,"timestamp":6072919782,"duration":606552,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1961,"name":"add-entry","id":1964,"timestamp":6072919744,"duration":1499052,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873555344},{"traceId":"f3118a7bad57c10e","parentId":1960,"name":"make","id":1961,"timestamp":6072917308,"duration":1501536,"tags":{},"startTime":1691873555342},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"chunk-graph","id":1978,"timestamp":6074430016,"duration":25632,"tags":{},"startTime":1691873556854},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"optimize-modules","id":1980,"timestamp":6074455691,"duration":8,"tags":{},"startTime":1691873556880},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"optimize-chunks","id":1981,"timestamp":6074455721,"duration":232,"tags":{},"startTime":1691873556880},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"optimize-tree","id":1982,"timestamp":6074455987,"duration":9,"tags":{},"startTime":1691873556880},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"optimize-chunk-modules","id":1983,"timestamp":6074456027,"duration":6,"tags":{},"startTime":1691873556880},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"optimize","id":1979,"timestamp":6074455677,"duration":2665,"tags":{},"startTime":1691873556880},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"module-hash","id":1984,"timestamp":6074540624,"duration":2842,"tags":{},"startTime":1691873556965},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"code-generation","id":1985,"timestamp":6074543505,"duration":72075,"tags":{},"startTime":1691873556968},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"hash","id":1986,"timestamp":6074638994,"duration":45110,"tags":{},"startTime":1691873557063},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"code-generation-jobs","id":1987,"timestamp":6074684102,"duration":10728,"tags":{},"startTime":1691873557109},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"module-assets","id":1988,"timestamp":6074694788,"duration":529,"tags":{},"startTime":1691873557119},{"traceId":"f3118a7bad57c10e","parentId":1977,"name":"create-chunk-assets","id":1989,"timestamp":6074695522,"duration":2646,"tags":{},"startTime":1691873557120},{"traceId":"f3118a7bad57c10e","parentId":1960,"name":"NextJsBuildManifest-generateClientManifest","id":1991,"timestamp":6074715001,"duration":195,"tags":{},"startTime":1691873557139},{"traceId":"f3118a7bad57c10e","parentId":1960,"name":"NextJsBuildManifest-createassets","id":1990,"timestamp":6074714783,"duration":422,"tags":{},"startTime":1691873557139},{"traceId":"f3118a7bad57c10e","parentId":1960,"name":"seal","id":1977,"timestamp":6074423419,"duration":306114,"tags":{},"startTime":1691873556848},{"traceId":"f3118a7bad57c10e","parentId":1935,"name":"webpack-compilation","id":1960,"timestamp":6072916771,"duration":1812826,"tags":{"name":"client"},"startTime":1691873555341},{"traceId":"f3118a7bad57c10e","parentId":1935,"name":"emit","id":1992,"timestamp":6074729634,"duration":182198,"tags":{},"startTime":1691873557154},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1935,"timestamp":6072823630,"duration":2090715,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873555248}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":1993,"timestamp":6074980811,"duration":0,"tags":{},"startTime":1691873557405},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":1994,"timestamp":1691873555249000,"duration":2339000,"tags":{"clientId":1691872020568},"startTime":1691873557607},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":1999,"timestamp":6085117037,"duration":77382,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873567541},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":2003,"timestamp":6085117211,"duration":81284,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873567542},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":2004,"timestamp":6085117224,"duration":81283,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873567542},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":2002,"timestamp":6085117200,"duration":82151,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873567542},{"traceId":"f3118a7bad57c10e","parentId":2009,"name":"read-resource","id":2010,"timestamp":6085197810,"duration":2050,"tags":{},"startTime":1691873567622},{"traceId":"f3118a7bad57c10e","parentId":2007,"name":"next-swc-transform","id":2008,"timestamp":6085195739,"duration":34512,"tags":{},"startTime":1691873567620},{"traceId":"f3118a7bad57c10e","parentId":2006,"name":"next-swc-loader","id":2007,"timestamp":6085195526,"duration":34733,"tags":{},"startTime":1691873567620},{"traceId":"f3118a7bad57c10e","parentId":1997,"name":"build-module-tsx","id":2006,"timestamp":6085195186,"duration":237597,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873567620},{"traceId":"f3118a7bad57c10e","parentId":2011,"name":"postcss-process","id":2012,"timestamp":6085199937,"duration":672851,"tags":{},"startTime":1691873567624},{"traceId":"f3118a7bad57c10e","parentId":2009,"name":"postcss-loader","id":2011,"timestamp":6085199905,"duration":673672,"tags":{},"startTime":1691873567624},{"traceId":"f3118a7bad57c10e","parentId":2009,"name":"css-loader","id":2013,"timestamp":6085873627,"duration":172843,"tags":{"astUsed":"true"},"startTime":1691873568298},{"traceId":"f3118a7bad57c10e","parentId":1997,"name":"build-module-css","id":2009,"timestamp":6085197622,"duration":869300,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873567622},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":2000,"timestamp":6085117172,"duration":962967,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873567542},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":2005,"timestamp":6085117231,"duration":1046764,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873567542},{"traceId":"f3118a7bad57c10e","parentId":1998,"name":"add-entry","id":2001,"timestamp":6085117187,"duration":1607809,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873567542},{"traceId":"f3118a7bad57c10e","parentId":1997,"name":"make","id":1998,"timestamp":6085085150,"duration":1639881,"tags":{},"startTime":1691873567510},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"chunk-graph","id":2015,"timestamp":6086732584,"duration":66437,"tags":{},"startTime":1691873569157},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"optimize-modules","id":2017,"timestamp":6086799072,"duration":8,"tags":{},"startTime":1691873569224},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"optimize-chunks","id":2018,"timestamp":6086799107,"duration":3186,"tags":{},"startTime":1691873569224},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"optimize-tree","id":2019,"timestamp":6086802339,"duration":16,"tags":{},"startTime":1691873569227},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"optimize-chunk-modules","id":2020,"timestamp":6086802391,"duration":8,"tags":{},"startTime":1691873569227},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"optimize","id":2016,"timestamp":6086799053,"duration":5787,"tags":{},"startTime":1691873569223},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"module-hash","id":2021,"timestamp":6086822102,"duration":19964,"tags":{},"startTime":1691873569247},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"code-generation","id":2022,"timestamp":6086842109,"duration":40699,"tags":{},"startTime":1691873569267},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"hash","id":2023,"timestamp":6086891179,"duration":75630,"tags":{},"startTime":1691873569316},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"code-generation-jobs","id":2024,"timestamp":6086966807,"duration":230,"tags":{},"startTime":1691873569391},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"module-assets","id":2025,"timestamp":6086966992,"duration":383,"tags":{},"startTime":1691873569391},{"traceId":"f3118a7bad57c10e","parentId":2014,"name":"create-chunk-assets","id":2026,"timestamp":6086967389,"duration":2946,"tags":{},"startTime":1691873569392},{"traceId":"f3118a7bad57c10e","parentId":1997,"name":"NextJsBuildManifest-generateClientManifest","id":2028,"timestamp":6086981297,"duration":164,"tags":{},"startTime":1691873569406},{"traceId":"f3118a7bad57c10e","parentId":1997,"name":"NextJsBuildManifest-createassets","id":2027,"timestamp":6086981115,"duration":355,"tags":{},"startTime":1691873569406},{"traceId":"f3118a7bad57c10e","parentId":1997,"name":"seal","id":2014,"timestamp":6086726873,"duration":268222,"tags":{},"startTime":1691873569151},{"traceId":"f3118a7bad57c10e","parentId":1995,"name":"webpack-compilation","id":1997,"timestamp":6085084600,"duration":1910569,"tags":{"name":"client"},"startTime":1691873567509},{"traceId":"f3118a7bad57c10e","parentId":1995,"name":"emit","id":2029,"timestamp":6086995212,"duration":60342,"tags":{},"startTime":1691873569420},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":1995,"timestamp":6085066975,"duration":1989767,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873567491},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2032,"timestamp":6087078617,"duration":0,"tags":{},"startTime":1691873569503},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2038,"timestamp":1691873567493000,"duration":2051000,"tags":{"clientId":1691872020568},"startTime":1691873569552},{"traceId":"f3118a7bad57c10e","parentId":2031,"name":"add-entry","id":2033,"timestamp":6087090517,"duration":50832,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873569515},{"traceId":"f3118a7bad57c10e","parentId":2031,"name":"add-entry","id":2034,"timestamp":6087090594,"duration":50773,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873569515},{"traceId":"f3118a7bad57c10e","parentId":2031,"name":"add-entry","id":2035,"timestamp":6087090607,"duration":50763,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873569515},{"traceId":"f3118a7bad57c10e","parentId":2031,"name":"add-entry","id":2037,"timestamp":6087090621,"duration":50752,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873569515},{"traceId":"f3118a7bad57c10e","parentId":2040,"name":"next-swc-transform","id":2041,"timestamp":6087133576,"duration":12643,"tags":{},"startTime":1691873569558},{"traceId":"f3118a7bad57c10e","parentId":2039,"name":"next-swc-loader","id":2040,"timestamp":6087133374,"duration":12854,"tags":{},"startTime":1691873569558},{"traceId":"f3118a7bad57c10e","parentId":2030,"name":"build-module-tsx","id":2039,"timestamp":6087133040,"duration":79497,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873569557},{"traceId":"f3118a7bad57c10e","parentId":2031,"name":"add-entry","id":2036,"timestamp":6087090614,"duration":125805,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873569515},{"traceId":"f3118a7bad57c10e","parentId":2030,"name":"make","id":2031,"timestamp":6087060357,"duration":156101,"tags":{},"startTime":1691873569485},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"chunk-graph","id":2043,"timestamp":6087224632,"duration":624,"tags":{},"startTime":1691873569649},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"optimize-modules","id":2045,"timestamp":6087225297,"duration":7,"tags":{},"startTime":1691873569650},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"optimize-chunks","id":2046,"timestamp":6087225324,"duration":39,"tags":{},"startTime":1691873569650},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"optimize-tree","id":2047,"timestamp":6087225440,"duration":4908,"tags":{},"startTime":1691873569650},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"optimize-chunk-modules","id":2048,"timestamp":6087230416,"duration":17,"tags":{},"startTime":1691873569655},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"optimize","id":2044,"timestamp":6087225283,"duration":5269,"tags":{},"startTime":1691873569650},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"module-hash","id":2049,"timestamp":6087230904,"duration":246,"tags":{},"startTime":1691873569655},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"code-generation","id":2050,"timestamp":6087231168,"duration":671,"tags":{},"startTime":1691873569656},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"hash","id":2051,"timestamp":6087233600,"duration":9060,"tags":{},"startTime":1691873569658},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"code-generation-jobs","id":2052,"timestamp":6087242659,"duration":122,"tags":{},"startTime":1691873569667},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"module-assets","id":2053,"timestamp":6087242764,"duration":43,"tags":{},"startTime":1691873569667},{"traceId":"f3118a7bad57c10e","parentId":2042,"name":"create-chunk-assets","id":2054,"timestamp":6087242815,"duration":5824,"tags":{},"startTime":1691873569667},{"traceId":"f3118a7bad57c10e","parentId":2030,"name":"seal","id":2042,"timestamp":6087224422,"duration":24606,"tags":{},"startTime":1691873569649},{"traceId":"f3118a7bad57c10e","parentId":1996,"name":"webpack-compilation","id":2030,"timestamp":6087059455,"duration":189618,"tags":{"name":"server"},"startTime":1691873569484},{"traceId":"f3118a7bad57c10e","parentId":1996,"name":"emit","id":2055,"timestamp":6087249102,"duration":13496,"tags":{},"startTime":1691873569674},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":1996,"timestamp":6085067435,"duration":2196449,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873567492}] -[{"traceId":"f3118a7bad57c10e","parentId":2066,"name":"next-swc-transform","id":2067,"timestamp":6112576138,"duration":11064,"tags":{},"startTime":1691873595001},{"traceId":"f3118a7bad57c10e","parentId":2065,"name":"next-swc-loader","id":2066,"timestamp":6112575860,"duration":11350,"tags":{},"startTime":1691873595000},{"traceId":"f3118a7bad57c10e","parentId":2058,"name":"build-module-tsx","id":2065,"timestamp":6112575436,"duration":21571,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873595000},{"traceId":"f3118a7bad57c10e","parentId":2059,"name":"add-entry","id":2060,"timestamp":6112520846,"duration":78021,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873594945},{"traceId":"f3118a7bad57c10e","parentId":2059,"name":"add-entry","id":2061,"timestamp":6112521056,"duration":77825,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873594946},{"traceId":"f3118a7bad57c10e","parentId":2059,"name":"add-entry","id":2062,"timestamp":6112521077,"duration":77807,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873594946},{"traceId":"f3118a7bad57c10e","parentId":2059,"name":"add-entry","id":2063,"timestamp":6112521086,"duration":77801,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873594946},{"traceId":"f3118a7bad57c10e","parentId":2059,"name":"add-entry","id":2064,"timestamp":6112521097,"duration":77792,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873594946},{"traceId":"f3118a7bad57c10e","parentId":2058,"name":"make","id":2059,"timestamp":6112517416,"duration":81522,"tags":{},"startTime":1691873594942},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"chunk-graph","id":2069,"timestamp":6112599800,"duration":837,"tags":{},"startTime":1691873595024},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"optimize-modules","id":2071,"timestamp":6112600770,"duration":40,"tags":{},"startTime":1691873595025},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"optimize-chunks","id":2072,"timestamp":6112600901,"duration":84,"tags":{},"startTime":1691873595025},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"optimize-tree","id":2073,"timestamp":6112601076,"duration":47,"tags":{},"startTime":1691873595026},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"optimize-chunk-modules","id":2074,"timestamp":6112601198,"duration":41,"tags":{},"startTime":1691873595026},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"optimize","id":2070,"timestamp":6112600702,"duration":728,"tags":{},"startTime":1691873595025},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"module-hash","id":2075,"timestamp":6112602098,"duration":278,"tags":{},"startTime":1691873595027},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"code-generation","id":2076,"timestamp":6112602398,"duration":2818,"tags":{},"startTime":1691873595027},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"hash","id":2077,"timestamp":6112610436,"duration":3007,"tags":{},"startTime":1691873595035},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"code-generation-jobs","id":2078,"timestamp":6112613440,"duration":205,"tags":{},"startTime":1691873595038},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"module-assets","id":2079,"timestamp":6112613622,"duration":55,"tags":{},"startTime":1691873595038},{"traceId":"f3118a7bad57c10e","parentId":2068,"name":"create-chunk-assets","id":2080,"timestamp":6112613685,"duration":2089,"tags":{},"startTime":1691873595038},{"traceId":"f3118a7bad57c10e","parentId":2058,"name":"seal","id":2068,"timestamp":6112599514,"duration":17129,"tags":{},"startTime":1691873595024},{"traceId":"f3118a7bad57c10e","parentId":2056,"name":"webpack-compilation","id":2058,"timestamp":6112516903,"duration":99809,"tags":{"name":"server"},"startTime":1691873594941},{"traceId":"f3118a7bad57c10e","parentId":2056,"name":"emit","id":2081,"timestamp":6112616752,"duration":26041,"tags":{},"startTime":1691873595041},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2056,"timestamp":6112509182,"duration":135264,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873594934},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2084,"timestamp":6112650743,"duration":14129,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2088,"timestamp":6112650855,"duration":19610,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2089,"timestamp":6112650867,"duration":19611,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2087,"timestamp":6112650848,"duration":20159,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2092,"name":"next-swc-transform","id":2093,"timestamp":6112666574,"duration":7954,"tags":{},"startTime":1691873595091},{"traceId":"f3118a7bad57c10e","parentId":2091,"name":"next-swc-loader","id":2092,"timestamp":6112666425,"duration":8111,"tags":{},"startTime":1691873595091},{"traceId":"f3118a7bad57c10e","parentId":2082,"name":"build-module-tsx","id":2091,"timestamp":6112665866,"duration":21450,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873595090},{"traceId":"f3118a7bad57c10e","parentId":2094,"name":"read-resource","id":2095,"timestamp":6112668033,"duration":21603,"tags":{},"startTime":1691873595092},{"traceId":"f3118a7bad57c10e","parentId":2096,"name":"postcss-process","id":2097,"timestamp":6112689840,"duration":744174,"tags":{},"startTime":1691873595114},{"traceId":"f3118a7bad57c10e","parentId":2094,"name":"postcss-loader","id":2096,"timestamp":6112689803,"duration":745260,"tags":{},"startTime":1691873595114},{"traceId":"f3118a7bad57c10e","parentId":2094,"name":"css-loader","id":2098,"timestamp":6113435162,"duration":455306,"tags":{"astUsed":"true"},"startTime":1691873595860},{"traceId":"f3118a7bad57c10e","parentId":2082,"name":"build-module-css","id":2094,"timestamp":6112667467,"duration":1233172,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873595092},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2085,"timestamp":6112650820,"duration":1296631,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2090,"timestamp":6112650877,"duration":1317865,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2083,"name":"add-entry","id":2086,"timestamp":6112650837,"duration":1696352,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873595075},{"traceId":"f3118a7bad57c10e","parentId":2082,"name":"make","id":2083,"timestamp":6112647448,"duration":1699780,"tags":{},"startTime":1691873595072},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"chunk-graph","id":2100,"timestamp":6114363312,"duration":35389,"tags":{},"startTime":1691873596788},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"optimize-modules","id":2102,"timestamp":6114398748,"duration":11,"tags":{},"startTime":1691873596823},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"optimize-chunks","id":2103,"timestamp":6114399336,"duration":400,"tags":{},"startTime":1691873596824},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"optimize-tree","id":2104,"timestamp":6114400517,"duration":35,"tags":{},"startTime":1691873596825},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"optimize-chunk-modules","id":2105,"timestamp":6114400696,"duration":18,"tags":{},"startTime":1691873596825},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"optimize","id":2101,"timestamp":6114398733,"duration":17526,"tags":{},"startTime":1691873596823},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"module-hash","id":2106,"timestamp":6114432244,"duration":2811,"tags":{},"startTime":1691873596857},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"code-generation","id":2107,"timestamp":6114435091,"duration":31194,"tags":{},"startTime":1691873596860},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"hash","id":2108,"timestamp":6114480094,"duration":11714,"tags":{},"startTime":1691873596905},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"code-generation-jobs","id":2109,"timestamp":6114491807,"duration":2881,"tags":{},"startTime":1691873596916},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"module-assets","id":2110,"timestamp":6114494622,"duration":722,"tags":{},"startTime":1691873596919},{"traceId":"f3118a7bad57c10e","parentId":2099,"name":"create-chunk-assets","id":2111,"timestamp":6114495394,"duration":218269,"tags":{},"startTime":1691873596920},{"traceId":"f3118a7bad57c10e","parentId":2082,"name":"NextJsBuildManifest-generateClientManifest","id":2113,"timestamp":6114728609,"duration":478,"tags":{},"startTime":1691873597153},{"traceId":"f3118a7bad57c10e","parentId":2082,"name":"NextJsBuildManifest-createassets","id":2112,"timestamp":6114728473,"duration":626,"tags":{},"startTime":1691873597153},{"traceId":"f3118a7bad57c10e","parentId":2082,"name":"seal","id":2099,"timestamp":6114349624,"duration":385893,"tags":{},"startTime":1691873596774},{"traceId":"f3118a7bad57c10e","parentId":2057,"name":"webpack-compilation","id":2082,"timestamp":6112646788,"duration":2088792,"tags":{"name":"client"},"startTime":1691873595071},{"traceId":"f3118a7bad57c10e","parentId":2057,"name":"emit","id":2114,"timestamp":6114735622,"duration":97018,"tags":{},"startTime":1691873597160},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2057,"timestamp":6112509602,"duration":2341052,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873594934}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2115,"timestamp":6114869164,"duration":0,"tags":{},"startTime":1691873597294},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2116,"timestamp":1691873594935000,"duration":2583000,"tags":{"clientId":1691872020568},"startTime":1691873597526},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2121,"timestamp":6152540147,"duration":10964,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2125,"timestamp":6152540292,"duration":14236,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2127,"timestamp":6152540311,"duration":14226,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2124,"timestamp":6152540282,"duration":15163,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2131,"name":"read-resource","id":2132,"timestamp":6152554148,"duration":2858,"tags":{},"startTime":1691873634979},{"traceId":"f3118a7bad57c10e","parentId":2129,"name":"next-swc-transform","id":2130,"timestamp":6152553097,"duration":29242,"tags":{},"startTime":1691873634978},{"traceId":"f3118a7bad57c10e","parentId":2128,"name":"next-swc-loader","id":2129,"timestamp":6152552871,"duration":29475,"tags":{},"startTime":1691873634977},{"traceId":"f3118a7bad57c10e","parentId":2119,"name":"build-module-tsx","id":2128,"timestamp":6152552339,"duration":36597,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873634977},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2122,"timestamp":6152540256,"duration":52045,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2133,"name":"postcss-process","id":2134,"timestamp":6152557099,"duration":559507,"tags":{},"startTime":1691873634982},{"traceId":"f3118a7bad57c10e","parentId":2131,"name":"postcss-loader","id":2133,"timestamp":6152557068,"duration":562128,"tags":{},"startTime":1691873634982},{"traceId":"f3118a7bad57c10e","parentId":2131,"name":"css-loader","id":2135,"timestamp":6153119253,"duration":149842,"tags":{"astUsed":"true"},"startTime":1691873635544},{"traceId":"f3118a7bad57c10e","parentId":2119,"name":"build-module-css","id":2131,"timestamp":6152553803,"duration":725182,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873634978},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2126,"timestamp":6152540302,"duration":772889,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2120,"name":"add-entry","id":2123,"timestamp":6152540269,"duration":1545856,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873634965},{"traceId":"f3118a7bad57c10e","parentId":2119,"name":"make","id":2120,"timestamp":6152537622,"duration":1548539,"tags":{},"startTime":1691873634962},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"chunk-graph","id":2137,"timestamp":6154097676,"duration":53433,"tags":{},"startTime":1691873636522},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"optimize-modules","id":2139,"timestamp":6154151152,"duration":7,"tags":{},"startTime":1691873636576},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"optimize-chunks","id":2140,"timestamp":6154151232,"duration":246,"tags":{},"startTime":1691873636576},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"optimize-tree","id":2141,"timestamp":6154151514,"duration":9,"tags":{},"startTime":1691873636576},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"optimize-chunk-modules","id":2142,"timestamp":6154151554,"duration":6,"tags":{},"startTime":1691873636576},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"optimize","id":2138,"timestamp":6154151139,"duration":15680,"tags":{},"startTime":1691873636576},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"module-hash","id":2143,"timestamp":6154217224,"duration":2878,"tags":{},"startTime":1691873636642},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"code-generation","id":2144,"timestamp":6154220135,"duration":19826,"tags":{},"startTime":1691873636645},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"hash","id":2145,"timestamp":6154287863,"duration":24881,"tags":{},"startTime":1691873636712},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"code-generation-jobs","id":2146,"timestamp":6154312742,"duration":296,"tags":{},"startTime":1691873636737},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"module-assets","id":2147,"timestamp":6154312995,"duration":1606,"tags":{},"startTime":1691873636737},{"traceId":"f3118a7bad57c10e","parentId":2136,"name":"create-chunk-assets","id":2148,"timestamp":6154314638,"duration":68823,"tags":{},"startTime":1691873636739},{"traceId":"f3118a7bad57c10e","parentId":2119,"name":"NextJsBuildManifest-generateClientManifest","id":2150,"timestamp":6154407220,"duration":9523,"tags":{},"startTime":1691873636832},{"traceId":"f3118a7bad57c10e","parentId":2119,"name":"NextJsBuildManifest-createassets","id":2149,"timestamp":6154407106,"duration":9652,"tags":{},"startTime":1691873636832},{"traceId":"f3118a7bad57c10e","parentId":2119,"name":"seal","id":2136,"timestamp":6154087953,"duration":340502,"tags":{},"startTime":1691873636512},{"traceId":"f3118a7bad57c10e","parentId":2117,"name":"webpack-compilation","id":2119,"timestamp":6152537032,"duration":1891477,"tags":{"name":"client"},"startTime":1691873634962},{"traceId":"f3118a7bad57c10e","parentId":2117,"name":"emit","id":2151,"timestamp":6154428543,"duration":156652,"tags":{},"startTime":1691873636853},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2117,"timestamp":6152529521,"duration":2057423,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873634954},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2154,"timestamp":6154622867,"duration":0,"tags":{},"startTime":1691873637047},{"traceId":"f3118a7bad57c10e","parentId":2153,"name":"add-entry","id":2155,"timestamp":6154703153,"duration":101938,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873637128},{"traceId":"f3118a7bad57c10e","parentId":2153,"name":"add-entry","id":2156,"timestamp":6154703237,"duration":101865,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873637128},{"traceId":"f3118a7bad57c10e","parentId":2153,"name":"add-entry","id":2157,"timestamp":6154703250,"duration":101855,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873637128},{"traceId":"f3118a7bad57c10e","parentId":2153,"name":"add-entry","id":2159,"timestamp":6154703265,"duration":101843,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873637128},{"traceId":"f3118a7bad57c10e","parentId":2161,"name":"next-swc-transform","id":2162,"timestamp":6154800791,"duration":14193,"tags":{},"startTime":1691873637225},{"traceId":"f3118a7bad57c10e","parentId":2160,"name":"next-swc-loader","id":2161,"timestamp":6154800583,"duration":14409,"tags":{},"startTime":1691873637225},{"traceId":"f3118a7bad57c10e","parentId":2152,"name":"build-module-tsx","id":2160,"timestamp":6154800177,"duration":18710,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873637225},{"traceId":"f3118a7bad57c10e","parentId":2153,"name":"add-entry","id":2158,"timestamp":6154703257,"duration":118493,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873637128},{"traceId":"f3118a7bad57c10e","parentId":2152,"name":"make","id":2153,"timestamp":6154594122,"duration":227666,"tags":{},"startTime":1691873637019},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"chunk-graph","id":2164,"timestamp":6154822235,"duration":453,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"optimize-modules","id":2166,"timestamp":6154822725,"duration":5,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"optimize-chunks","id":2167,"timestamp":6154822746,"duration":32,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"optimize-tree","id":2168,"timestamp":6154822806,"duration":6,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"optimize-chunk-modules","id":2169,"timestamp":6154822833,"duration":6,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"optimize","id":2165,"timestamp":6154822713,"duration":214,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"module-hash","id":2170,"timestamp":6154823175,"duration":180,"tags":{},"startTime":1691873637248},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"code-generation","id":2171,"timestamp":6154823371,"duration":570,"tags":{},"startTime":1691873637248},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"hash","id":2172,"timestamp":6154825473,"duration":4275,"tags":{},"startTime":1691873637250},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"code-generation-jobs","id":2173,"timestamp":6154829746,"duration":102,"tags":{},"startTime":1691873637254},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"module-assets","id":2174,"timestamp":6154829835,"duration":37,"tags":{},"startTime":1691873637254},{"traceId":"f3118a7bad57c10e","parentId":2163,"name":"create-chunk-assets","id":2175,"timestamp":6154829882,"duration":968,"tags":{},"startTime":1691873637254},{"traceId":"f3118a7bad57c10e","parentId":2152,"name":"seal","id":2163,"timestamp":6154822127,"duration":9167,"tags":{},"startTime":1691873637247},{"traceId":"f3118a7bad57c10e","parentId":2118,"name":"webpack-compilation","id":2152,"timestamp":6154593001,"duration":238330,"tags":{"name":"server"},"startTime":1691873637017},{"traceId":"f3118a7bad57c10e","parentId":2118,"name":"emit","id":2176,"timestamp":6154831354,"duration":16754,"tags":{},"startTime":1691873637256},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2118,"timestamp":6152529979,"duration":2323823,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873634954}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2177,"timestamp":1691873634955000,"duration":2387000,"tags":{"clientId":1691872020568},"startTime":1691873637353},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2182,"timestamp":6163465733,"duration":27823,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2186,"timestamp":6163465896,"duration":34298,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2188,"timestamp":6163465919,"duration":34288,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2185,"timestamp":6163465886,"duration":34843,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2192,"name":"read-resource","id":2193,"timestamp":6163499502,"duration":1324,"tags":{},"startTime":1691873645924},{"traceId":"f3118a7bad57c10e","parentId":2190,"name":"next-swc-transform","id":2191,"timestamp":6163495604,"duration":38032,"tags":{},"startTime":1691873645920},{"traceId":"f3118a7bad57c10e","parentId":2189,"name":"next-swc-loader","id":2190,"timestamp":6163495386,"duration":38261,"tags":{},"startTime":1691873645920},{"traceId":"f3118a7bad57c10e","parentId":2180,"name":"build-module-tsx","id":2189,"timestamp":6163494618,"duration":68054,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873645919},{"traceId":"f3118a7bad57c10e","parentId":2194,"name":"postcss-process","id":2195,"timestamp":6163500909,"duration":556543,"tags":{},"startTime":1691873645925},{"traceId":"f3118a7bad57c10e","parentId":2192,"name":"postcss-loader","id":2194,"timestamp":6163500873,"duration":564292,"tags":{},"startTime":1691873645925},{"traceId":"f3118a7bad57c10e","parentId":2192,"name":"css-loader","id":2196,"timestamp":6164065219,"duration":250507,"tags":{"astUsed":"true"},"startTime":1691873646490},{"traceId":"f3118a7bad57c10e","parentId":2180,"name":"build-module-css","id":2192,"timestamp":6163499292,"duration":835045,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873645924},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2183,"timestamp":6163465858,"duration":988286,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2187,"timestamp":6163465909,"duration":1123181,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2181,"name":"add-entry","id":2184,"timestamp":6163465877,"duration":1721575,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873645890},{"traceId":"f3118a7bad57c10e","parentId":2180,"name":"make","id":2181,"timestamp":6163464324,"duration":1723312,"tags":{},"startTime":1691873645889},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"chunk-graph","id":2198,"timestamp":6165234421,"duration":69252,"tags":{},"startTime":1691873647659},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"optimize-modules","id":2200,"timestamp":6165303715,"duration":8,"tags":{},"startTime":1691873647728},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"optimize-chunks","id":2201,"timestamp":6165303740,"duration":297,"tags":{},"startTime":1691873647728},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"optimize-tree","id":2202,"timestamp":6165304074,"duration":11,"tags":{},"startTime":1691873647729},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"optimize-chunk-modules","id":2203,"timestamp":6165304117,"duration":7,"tags":{},"startTime":1691873647729},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"optimize","id":2199,"timestamp":6165303701,"duration":12057,"tags":{},"startTime":1691873647728},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"module-hash","id":2204,"timestamp":6165354181,"duration":12604,"tags":{},"startTime":1691873647779},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"code-generation","id":2205,"timestamp":6165366844,"duration":18407,"tags":{},"startTime":1691873647791},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"hash","id":2206,"timestamp":6165419296,"duration":66158,"tags":{},"startTime":1691873647844},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"code-generation-jobs","id":2207,"timestamp":6165485452,"duration":432,"tags":{},"startTime":1691873647910},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"module-assets","id":2208,"timestamp":6165485657,"duration":574,"tags":{},"startTime":1691873647910},{"traceId":"f3118a7bad57c10e","parentId":2197,"name":"create-chunk-assets","id":2209,"timestamp":6165486257,"duration":3628,"tags":{},"startTime":1691873647911},{"traceId":"f3118a7bad57c10e","parentId":2180,"name":"NextJsBuildManifest-generateClientManifest","id":2211,"timestamp":6165518256,"duration":146,"tags":{},"startTime":1691873647943},{"traceId":"f3118a7bad57c10e","parentId":2180,"name":"NextJsBuildManifest-createassets","id":2210,"timestamp":6165518143,"duration":267,"tags":{},"startTime":1691873647943},{"traceId":"f3118a7bad57c10e","parentId":2180,"name":"seal","id":2197,"timestamp":6165201171,"duration":329968,"tags":{},"startTime":1691873647626},{"traceId":"f3118a7bad57c10e","parentId":2178,"name":"webpack-compilation","id":2180,"timestamp":6163463268,"duration":2067936,"tags":{"name":"client"},"startTime":1691873645888},{"traceId":"f3118a7bad57c10e","parentId":2178,"name":"emit","id":2212,"timestamp":6165531262,"duration":65468,"tags":{},"startTime":1691873647956},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2178,"timestamp":6163445639,"duration":2153049,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873645870},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2215,"timestamp":6165636386,"duration":0,"tags":{},"startTime":1691873648061},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2221,"timestamp":1691873645872000,"duration":2298000,"tags":{"clientId":1691872020568},"startTime":1691873648196},{"traceId":"f3118a7bad57c10e","parentId":2223,"name":"next-swc-transform","id":2224,"timestamp":6165787604,"duration":17228,"tags":{},"startTime":1691873648212},{"traceId":"f3118a7bad57c10e","parentId":2222,"name":"next-swc-loader","id":2223,"timestamp":6165787395,"duration":17445,"tags":{},"startTime":1691873648212},{"traceId":"f3118a7bad57c10e","parentId":2213,"name":"build-module-tsx","id":2222,"timestamp":6165787092,"duration":77420,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873648212},{"traceId":"f3118a7bad57c10e","parentId":2214,"name":"add-entry","id":2216,"timestamp":6165650865,"duration":215231,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873648075},{"traceId":"f3118a7bad57c10e","parentId":2214,"name":"add-entry","id":2217,"timestamp":6165650947,"duration":215160,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873648075},{"traceId":"f3118a7bad57c10e","parentId":2214,"name":"add-entry","id":2218,"timestamp":6165650965,"duration":215144,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873648075},{"traceId":"f3118a7bad57c10e","parentId":2214,"name":"add-entry","id":2220,"timestamp":6165650983,"duration":215129,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873648075},{"traceId":"f3118a7bad57c10e","parentId":2214,"name":"add-entry","id":2219,"timestamp":6165650976,"duration":215187,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873648075},{"traceId":"f3118a7bad57c10e","parentId":2213,"name":"make","id":2214,"timestamp":6165603876,"duration":263823,"tags":{},"startTime":1691873648028},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"chunk-graph","id":2226,"timestamp":6165880692,"duration":704,"tags":{},"startTime":1691873648305},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"optimize-modules","id":2228,"timestamp":6165881468,"duration":6,"tags":{},"startTime":1691873648306},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"optimize-chunks","id":2229,"timestamp":6165881492,"duration":31,"tags":{},"startTime":1691873648306},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"optimize-tree","id":2230,"timestamp":6165881552,"duration":7,"tags":{},"startTime":1691873648306},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"optimize-chunk-modules","id":2231,"timestamp":6165881581,"duration":7,"tags":{},"startTime":1691873648306},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"optimize","id":2227,"timestamp":6165881456,"duration":234,"tags":{},"startTime":1691873648306},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"module-hash","id":2232,"timestamp":6165882005,"duration":344,"tags":{},"startTime":1691873648306},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"code-generation","id":2233,"timestamp":6165882366,"duration":891,"tags":{},"startTime":1691873648307},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"hash","id":2234,"timestamp":6165884455,"duration":2101,"tags":{},"startTime":1691873648309},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"code-generation-jobs","id":2235,"timestamp":6165886554,"duration":113,"tags":{},"startTime":1691873648311},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"module-assets","id":2236,"timestamp":6165886652,"duration":41,"tags":{},"startTime":1691873648311},{"traceId":"f3118a7bad57c10e","parentId":2225,"name":"create-chunk-assets","id":2237,"timestamp":6165886700,"duration":1827,"tags":{},"startTime":1691873648311},{"traceId":"f3118a7bad57c10e","parentId":2213,"name":"seal","id":2225,"timestamp":6165880473,"duration":8398,"tags":{},"startTime":1691873648305},{"traceId":"f3118a7bad57c10e","parentId":2179,"name":"webpack-compilation","id":2213,"timestamp":6165603355,"duration":285562,"tags":{"name":"server"},"startTime":1691873648028},{"traceId":"f3118a7bad57c10e","parentId":2179,"name":"emit","id":2238,"timestamp":6165888952,"duration":12565,"tags":{},"startTime":1691873648313},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2179,"timestamp":6163447505,"duration":2455675,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873645872}] -[{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2243,"timestamp":6216112333,"duration":15633,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2247,"timestamp":6216112575,"duration":18722,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2249,"timestamp":6216112590,"duration":18718,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2253,"name":"read-resource","id":2254,"timestamp":6216130929,"duration":1645,"tags":{},"startTime":1691873698619},{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2246,"timestamp":6216112564,"duration":41351,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2251,"name":"next-swc-transform","id":2252,"timestamp":6216129676,"duration":24704,"tags":{},"startTime":1691873698618},{"traceId":"f3118a7bad57c10e","parentId":2250,"name":"next-swc-loader","id":2251,"timestamp":6216129454,"duration":24929,"tags":{},"startTime":1691873698618},{"traceId":"f3118a7bad57c10e","parentId":2241,"name":"build-module-tsx","id":2250,"timestamp":6216128920,"duration":126637,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873698617},{"traceId":"f3118a7bad57c10e","parentId":2255,"name":"postcss-process","id":2256,"timestamp":6216132810,"duration":348382,"tags":{},"startTime":1691873698621},{"traceId":"f3118a7bad57c10e","parentId":2253,"name":"postcss-loader","id":2255,"timestamp":6216132768,"duration":349500,"tags":{},"startTime":1691873698621},{"traceId":"f3118a7bad57c10e","parentId":2253,"name":"css-loader","id":2257,"timestamp":6216482367,"duration":75603,"tags":{"astUsed":"true"},"startTime":1691873698971},{"traceId":"f3118a7bad57c10e","parentId":2241,"name":"build-module-css","id":2253,"timestamp":6216130457,"duration":464829,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873698619},{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2244,"timestamp":6216112539,"duration":486403,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2248,"timestamp":6216112583,"duration":865582,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2242,"name":"add-entry","id":2245,"timestamp":6216112556,"duration":1418014,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873698601},{"traceId":"f3118a7bad57c10e","parentId":2241,"name":"make","id":2242,"timestamp":6216097494,"duration":1433127,"tags":{},"startTime":1691873698586},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"chunk-graph","id":2259,"timestamp":6217542700,"duration":59298,"tags":{},"startTime":1691873700031},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"optimize-modules","id":2261,"timestamp":6217602165,"duration":43,"tags":{},"startTime":1691873700091},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"optimize-chunks","id":2262,"timestamp":6217602302,"duration":332,"tags":{},"startTime":1691873700091},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"optimize-tree","id":2263,"timestamp":6217602734,"duration":51,"tags":{},"startTime":1691873700091},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"optimize-chunk-modules","id":2264,"timestamp":6217603097,"duration":75,"tags":{},"startTime":1691873700092},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"optimize","id":2260,"timestamp":6217602096,"duration":3455,"tags":{},"startTime":1691873700091},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"module-hash","id":2265,"timestamp":6217655041,"duration":12863,"tags":{},"startTime":1691873700143},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"code-generation","id":2266,"timestamp":6217667940,"duration":21914,"tags":{},"startTime":1691873700156},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"hash","id":2267,"timestamp":6217718233,"duration":35867,"tags":{},"startTime":1691873700207},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"code-generation-jobs","id":2268,"timestamp":6217754097,"duration":383,"tags":{},"startTime":1691873700243},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"module-assets","id":2269,"timestamp":6217754429,"duration":395,"tags":{},"startTime":1691873700243},{"traceId":"f3118a7bad57c10e","parentId":2258,"name":"create-chunk-assets","id":2270,"timestamp":6217754838,"duration":17612,"tags":{},"startTime":1691873700243},{"traceId":"f3118a7bad57c10e","parentId":2241,"name":"NextJsBuildManifest-generateClientManifest","id":2272,"timestamp":6217777626,"duration":129,"tags":{},"startTime":1691873700266},{"traceId":"f3118a7bad57c10e","parentId":2241,"name":"NextJsBuildManifest-createassets","id":2271,"timestamp":6217777465,"duration":299,"tags":{},"startTime":1691873700266},{"traceId":"f3118a7bad57c10e","parentId":2241,"name":"seal","id":2258,"timestamp":6217533826,"duration":271323,"tags":{},"startTime":1691873700022},{"traceId":"f3118a7bad57c10e","parentId":2239,"name":"webpack-compilation","id":2241,"timestamp":6216096723,"duration":1708481,"tags":{"name":"client"},"startTime":1691873698585},{"traceId":"f3118a7bad57c10e","parentId":2239,"name":"emit","id":2273,"timestamp":6217805247,"duration":86791,"tags":{},"startTime":1691873700294},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2239,"timestamp":6216088476,"duration":1805581,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873698577},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2276,"timestamp":6217925515,"duration":0,"tags":{},"startTime":1691873700414},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2282,"timestamp":1691873698578000,"duration":2005000,"tags":{"clientId":1691872020568},"startTime":1691873700588},{"traceId":"f3118a7bad57c10e","parentId":2275,"name":"add-entry","id":2277,"timestamp":6217941434,"duration":179965,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873700430},{"traceId":"f3118a7bad57c10e","parentId":2275,"name":"add-entry","id":2278,"timestamp":6217941511,"duration":179907,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873700430},{"traceId":"f3118a7bad57c10e","parentId":2275,"name":"add-entry","id":2279,"timestamp":6217941524,"duration":179898,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873700430},{"traceId":"f3118a7bad57c10e","parentId":2275,"name":"add-entry","id":2281,"timestamp":6217941537,"duration":179887,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873700430},{"traceId":"f3118a7bad57c10e","parentId":2284,"name":"next-swc-transform","id":2285,"timestamp":6218117231,"duration":23423,"tags":{},"startTime":1691873700606},{"traceId":"f3118a7bad57c10e","parentId":2283,"name":"next-swc-loader","id":2284,"timestamp":6218117089,"duration":23574,"tags":{},"startTime":1691873700606},{"traceId":"f3118a7bad57c10e","parentId":2274,"name":"build-module-tsx","id":2283,"timestamp":6218116661,"duration":33340,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873700605},{"traceId":"f3118a7bad57c10e","parentId":2275,"name":"add-entry","id":2280,"timestamp":6217941531,"duration":211813,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873700430},{"traceId":"f3118a7bad57c10e","parentId":2274,"name":"make","id":2275,"timestamp":6217905123,"duration":248257,"tags":{},"startTime":1691873700394},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"chunk-graph","id":2287,"timestamp":6218153996,"duration":2298,"tags":{},"startTime":1691873700642},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"optimize-modules","id":2289,"timestamp":6218156350,"duration":5,"tags":{},"startTime":1691873700645},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"optimize-chunks","id":2290,"timestamp":6218156497,"duration":307,"tags":{},"startTime":1691873700645},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"optimize-tree","id":2291,"timestamp":6218156914,"duration":13,"tags":{},"startTime":1691873700645},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"optimize-chunk-modules","id":2292,"timestamp":6218157013,"duration":10,"tags":{},"startTime":1691873700645},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"optimize","id":2288,"timestamp":6218156335,"duration":887,"tags":{},"startTime":1691873700645},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"module-hash","id":2293,"timestamp":6218157588,"duration":198,"tags":{},"startTime":1691873700646},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"code-generation","id":2294,"timestamp":6218157803,"duration":578,"tags":{},"startTime":1691873700646},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"hash","id":2295,"timestamp":6218159645,"duration":4162,"tags":{},"startTime":1691873700648},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"code-generation-jobs","id":2296,"timestamp":6218163804,"duration":186,"tags":{},"startTime":1691873700652},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"module-assets","id":2297,"timestamp":6218163972,"duration":51,"tags":{},"startTime":1691873700652},{"traceId":"f3118a7bad57c10e","parentId":2286,"name":"create-chunk-assets","id":2298,"timestamp":6218164033,"duration":4595,"tags":{},"startTime":1691873700652},{"traceId":"f3118a7bad57c10e","parentId":2274,"name":"seal","id":2286,"timestamp":6218153889,"duration":15651,"tags":{},"startTime":1691873700642},{"traceId":"f3118a7bad57c10e","parentId":2240,"name":"webpack-compilation","id":2274,"timestamp":6217900447,"duration":269144,"tags":{"name":"server"},"startTime":1691873700389},{"traceId":"f3118a7bad57c10e","parentId":2240,"name":"emit","id":2299,"timestamp":6218169625,"duration":10504,"tags":{},"startTime":1691873700658},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2240,"timestamp":6216088850,"duration":2095471,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873698577}] -[{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2304,"timestamp":6274716600,"duration":11810,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2308,"timestamp":6274717232,"duration":18402,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2310,"timestamp":6274717301,"duration":18345,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2312,"name":"next-swc-transform","id":2313,"timestamp":6274729862,"duration":6249,"tags":{},"startTime":1691873757220},{"traceId":"f3118a7bad57c10e","parentId":2311,"name":"next-swc-loader","id":2312,"timestamp":6274729665,"duration":6451,"tags":{},"startTime":1691873757220},{"traceId":"f3118a7bad57c10e","parentId":2302,"name":"build-module-tsx","id":2311,"timestamp":6274729219,"duration":10499,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873757219},{"traceId":"f3118a7bad57c10e","parentId":2314,"name":"read-resource","id":2315,"timestamp":6274730843,"duration":10004,"tags":{},"startTime":1691873757221},{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2307,"timestamp":6274717224,"duration":32748,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2316,"name":"postcss-process","id":2317,"timestamp":6274740933,"duration":126655,"tags":{},"startTime":1691873757231},{"traceId":"f3118a7bad57c10e","parentId":2314,"name":"postcss-loader","id":2316,"timestamp":6274740906,"duration":127147,"tags":{},"startTime":1691873757231},{"traceId":"f3118a7bad57c10e","parentId":2314,"name":"css-loader","id":2318,"timestamp":6274868108,"duration":26054,"tags":{"astUsed":"true"},"startTime":1691873757358},{"traceId":"f3118a7bad57c10e","parentId":2302,"name":"build-module-css","id":2314,"timestamp":6274730526,"duration":165582,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873757221},{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2305,"timestamp":6274717183,"duration":184462,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2309,"timestamp":6274717289,"duration":200916,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2303,"name":"add-entry","id":2306,"timestamp":6274717212,"duration":1253970,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873757207},{"traceId":"f3118a7bad57c10e","parentId":2302,"name":"make","id":2303,"timestamp":6274714251,"duration":1256966,"tags":{},"startTime":1691873757204},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"chunk-graph","id":2320,"timestamp":6275989759,"duration":91325,"tags":{},"startTime":1691873758480},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"optimize-modules","id":2322,"timestamp":6276081129,"duration":11,"tags":{},"startTime":1691873758571},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"optimize-chunks","id":2323,"timestamp":6276081165,"duration":237,"tags":{},"startTime":1691873758571},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"optimize-tree","id":2324,"timestamp":6276081438,"duration":9,"tags":{},"startTime":1691873758571},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"optimize-chunk-modules","id":2325,"timestamp":6276081483,"duration":10,"tags":{},"startTime":1691873758572},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"optimize","id":2321,"timestamp":6276081115,"duration":7626,"tags":{},"startTime":1691873758571},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"module-hash","id":2326,"timestamp":6276125328,"duration":2846,"tags":{},"startTime":1691873758615},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"code-generation","id":2327,"timestamp":6276128209,"duration":32358,"tags":{},"startTime":1691873758618},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"hash","id":2328,"timestamp":6276224462,"duration":22726,"tags":{},"startTime":1691873758714},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"code-generation-jobs","id":2329,"timestamp":6276247185,"duration":1004,"tags":{},"startTime":1691873758737},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"module-assets","id":2330,"timestamp":6276247958,"duration":910,"tags":{},"startTime":1691873758738},{"traceId":"f3118a7bad57c10e","parentId":2319,"name":"create-chunk-assets","id":2331,"timestamp":6276248903,"duration":5294,"tags":{},"startTime":1691873758739},{"traceId":"f3118a7bad57c10e","parentId":2302,"name":"NextJsBuildManifest-generateClientManifest","id":2333,"timestamp":6276260513,"duration":165,"tags":{},"startTime":1691873758751},{"traceId":"f3118a7bad57c10e","parentId":2302,"name":"NextJsBuildManifest-createassets","id":2332,"timestamp":6276260386,"duration":301,"tags":{},"startTime":1691873758750},{"traceId":"f3118a7bad57c10e","parentId":2302,"name":"seal","id":2319,"timestamp":6275974612,"duration":303990,"tags":{},"startTime":1691873758465},{"traceId":"f3118a7bad57c10e","parentId":2300,"name":"webpack-compilation","id":2302,"timestamp":6274713727,"duration":1564931,"tags":{"name":"client"},"startTime":1691873757204},{"traceId":"f3118a7bad57c10e","parentId":2300,"name":"emit","id":2334,"timestamp":6276278692,"duration":86549,"tags":{},"startTime":1691873758769},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2300,"timestamp":6274703062,"duration":1666210,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873757193},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2337,"timestamp":6276389320,"duration":0,"tags":{},"startTime":1691873758879},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2343,"timestamp":1691873757194000,"duration":1744000,"tags":{"clientId":1691872020568},"startTime":1691873758949},{"traceId":"f3118a7bad57c10e","parentId":2336,"name":"add-entry","id":2338,"timestamp":6276392284,"duration":102993,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873758882},{"traceId":"f3118a7bad57c10e","parentId":2336,"name":"add-entry","id":2339,"timestamp":6276392369,"duration":102919,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873758882},{"traceId":"f3118a7bad57c10e","parentId":2336,"name":"add-entry","id":2340,"timestamp":6276392381,"duration":102910,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873758882},{"traceId":"f3118a7bad57c10e","parentId":2336,"name":"add-entry","id":2342,"timestamp":6276392395,"duration":102898,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873758882},{"traceId":"f3118a7bad57c10e","parentId":2345,"name":"next-swc-transform","id":2346,"timestamp":6276489563,"duration":12557,"tags":{},"startTime":1691873758980},{"traceId":"f3118a7bad57c10e","parentId":2344,"name":"next-swc-loader","id":2345,"timestamp":6276489352,"duration":12775,"tags":{},"startTime":1691873758979},{"traceId":"f3118a7bad57c10e","parentId":2335,"name":"build-module-tsx","id":2344,"timestamp":6276464366,"duration":41232,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873758954},{"traceId":"f3118a7bad57c10e","parentId":2336,"name":"add-entry","id":2341,"timestamp":6276392388,"duration":114773,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873758882},{"traceId":"f3118a7bad57c10e","parentId":2335,"name":"make","id":2336,"timestamp":6276373487,"duration":133765,"tags":{},"startTime":1691873758864},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"chunk-graph","id":2348,"timestamp":6276507827,"duration":5556,"tags":{},"startTime":1691873758998},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"optimize-modules","id":2350,"timestamp":6276513421,"duration":6,"tags":{},"startTime":1691873759003},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"optimize-chunks","id":2351,"timestamp":6276514078,"duration":100,"tags":{},"startTime":1691873759004},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"optimize-tree","id":2352,"timestamp":6276514215,"duration":8,"tags":{},"startTime":1691873759004},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"optimize-chunk-modules","id":2353,"timestamp":6276514241,"duration":6,"tags":{},"startTime":1691873759004},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"optimize","id":2349,"timestamp":6276513408,"duration":941,"tags":{},"startTime":1691873759003},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"module-hash","id":2354,"timestamp":6276514617,"duration":179,"tags":{},"startTime":1691873759005},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"code-generation","id":2355,"timestamp":6276514809,"duration":506,"tags":{},"startTime":1691873759005},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"hash","id":2356,"timestamp":6276516163,"duration":2236,"tags":{},"startTime":1691873759006},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"code-generation-jobs","id":2357,"timestamp":6276518398,"duration":89,"tags":{},"startTime":1691873759008},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"module-assets","id":2358,"timestamp":6276518474,"duration":34,"tags":{},"startTime":1691873759009},{"traceId":"f3118a7bad57c10e","parentId":2347,"name":"create-chunk-assets","id":2359,"timestamp":6276518514,"duration":992,"tags":{},"startTime":1691873759009},{"traceId":"f3118a7bad57c10e","parentId":2335,"name":"seal","id":2347,"timestamp":6276507722,"duration":12065,"tags":{},"startTime":1691873758998},{"traceId":"f3118a7bad57c10e","parentId":2301,"name":"webpack-compilation","id":2335,"timestamp":6276372318,"duration":147505,"tags":{"name":"server"},"startTime":1691873758862},{"traceId":"f3118a7bad57c10e","parentId":2301,"name":"emit","id":2360,"timestamp":6276519845,"duration":9388,"tags":{},"startTime":1691873759010},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2301,"timestamp":6274703440,"duration":1826711,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873757193}] -[{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2365,"timestamp":6317914818,"duration":16210,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2369,"timestamp":6317914977,"duration":20296,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2371,"timestamp":6317914999,"duration":20291,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2375,"name":"read-resource","id":2376,"timestamp":6317934942,"duration":900,"tags":{},"startTime":1691873800426},{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2368,"timestamp":6317914969,"duration":50634,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2373,"name":"next-swc-transform","id":2374,"timestamp":6317934105,"duration":31826,"tags":{},"startTime":1691873800425},{"traceId":"f3118a7bad57c10e","parentId":2372,"name":"next-swc-loader","id":2373,"timestamp":6317932310,"duration":33626,"tags":{},"startTime":1691873800423},{"traceId":"f3118a7bad57c10e","parentId":2363,"name":"build-module-tsx","id":2372,"timestamp":6317931960,"duration":83095,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873800423},{"traceId":"f3118a7bad57c10e","parentId":2377,"name":"postcss-process","id":2378,"timestamp":6317935933,"duration":218503,"tags":{},"startTime":1691873800427},{"traceId":"f3118a7bad57c10e","parentId":2375,"name":"postcss-loader","id":2377,"timestamp":6317935894,"duration":220295,"tags":{},"startTime":1691873800427},{"traceId":"f3118a7bad57c10e","parentId":2375,"name":"css-loader","id":2379,"timestamp":6318156247,"duration":369066,"tags":{"astUsed":"true"},"startTime":1691873800647},{"traceId":"f3118a7bad57c10e","parentId":2363,"name":"build-module-css","id":2375,"timestamp":6317934744,"duration":612349,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873800426},{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2366,"timestamp":6317914940,"duration":647338,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2370,"timestamp":6317914989,"duration":713651,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2364,"name":"add-entry","id":2367,"timestamp":6317914958,"duration":1260979,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873800406},{"traceId":"f3118a7bad57c10e","parentId":2363,"name":"make","id":2364,"timestamp":6317911569,"duration":1264402,"tags":{},"startTime":1691873800403},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"chunk-graph","id":2381,"timestamp":6319181898,"duration":67058,"tags":{},"startTime":1691873801673},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"optimize-modules","id":2383,"timestamp":6319249004,"duration":12,"tags":{},"startTime":1691873801740},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"optimize-chunks","id":2384,"timestamp":6319249042,"duration":232,"tags":{},"startTime":1691873801740},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"optimize-tree","id":2385,"timestamp":6319249318,"duration":10,"tags":{},"startTime":1691873801741},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"optimize-chunk-modules","id":2386,"timestamp":6319249362,"duration":10,"tags":{},"startTime":1691873801741},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"optimize","id":2382,"timestamp":6319248984,"duration":31191,"tags":{},"startTime":1691873801740},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"module-hash","id":2387,"timestamp":6319315709,"duration":14692,"tags":{},"startTime":1691873801807},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"code-generation","id":2388,"timestamp":6319330443,"duration":35261,"tags":{},"startTime":1691873801822},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"hash","id":2389,"timestamp":6319380814,"duration":33002,"tags":{},"startTime":1691873801872},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"code-generation-jobs","id":2390,"timestamp":6319413813,"duration":222,"tags":{},"startTime":1691873801905},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"module-assets","id":2391,"timestamp":6319413990,"duration":383,"tags":{},"startTime":1691873801905},{"traceId":"f3118a7bad57c10e","parentId":2380,"name":"create-chunk-assets","id":2392,"timestamp":6319414386,"duration":2261,"tags":{},"startTime":1691873801906},{"traceId":"f3118a7bad57c10e","parentId":2363,"name":"NextJsBuildManifest-generateClientManifest","id":2394,"timestamp":6319429933,"duration":170,"tags":{},"startTime":1691873801921},{"traceId":"f3118a7bad57c10e","parentId":2363,"name":"NextJsBuildManifest-createassets","id":2393,"timestamp":6319429818,"duration":294,"tags":{},"startTime":1691873801921},{"traceId":"f3118a7bad57c10e","parentId":2363,"name":"seal","id":2380,"timestamp":6319178077,"duration":287809,"tags":{},"startTime":1691873801669},{"traceId":"f3118a7bad57c10e","parentId":2361,"name":"webpack-compilation","id":2363,"timestamp":6317911063,"duration":1554878,"tags":{"name":"client"},"startTime":1691873800402},{"traceId":"f3118a7bad57c10e","parentId":2361,"name":"emit","id":2395,"timestamp":6319465978,"duration":95947,"tags":{},"startTime":1691873801957},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2361,"timestamp":6317902858,"duration":1660621,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873800394},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2398,"timestamp":6319599624,"duration":0,"tags":{},"startTime":1691873802091},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2404,"timestamp":1691873800395000,"duration":1781000,"tags":{"clientId":1691872020568},"startTime":1691873802186},{"traceId":"f3118a7bad57c10e","parentId":2397,"name":"add-entry","id":2399,"timestamp":6319615465,"duration":91935,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873802107},{"traceId":"f3118a7bad57c10e","parentId":2397,"name":"add-entry","id":2400,"timestamp":6319615563,"duration":91850,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873802107},{"traceId":"f3118a7bad57c10e","parentId":2397,"name":"add-entry","id":2401,"timestamp":6319615577,"duration":91839,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873802107},{"traceId":"f3118a7bad57c10e","parentId":2397,"name":"add-entry","id":2403,"timestamp":6319615594,"duration":91826,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873802107},{"traceId":"f3118a7bad57c10e","parentId":2406,"name":"next-swc-transform","id":2407,"timestamp":6319696959,"duration":15681,"tags":{},"startTime":1691873802188},{"traceId":"f3118a7bad57c10e","parentId":2405,"name":"next-swc-loader","id":2406,"timestamp":6319696761,"duration":15887,"tags":{},"startTime":1691873802188},{"traceId":"f3118a7bad57c10e","parentId":2396,"name":"build-module-tsx","id":2405,"timestamp":6319696394,"duration":19825,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873802188},{"traceId":"f3118a7bad57c10e","parentId":2397,"name":"add-entry","id":2402,"timestamp":6319615586,"duration":115044,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873802107},{"traceId":"f3118a7bad57c10e","parentId":2396,"name":"make","id":2397,"timestamp":6319576049,"duration":154636,"tags":{},"startTime":1691873802067},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"chunk-graph","id":2409,"timestamp":6319731183,"duration":481,"tags":{},"startTime":1691873802222},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"optimize-modules","id":2411,"timestamp":6319731700,"duration":5,"tags":{},"startTime":1691873802223},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"optimize-chunks","id":2412,"timestamp":6319731726,"duration":38,"tags":{},"startTime":1691873802223},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"optimize-tree","id":2413,"timestamp":6319731793,"duration":7,"tags":{},"startTime":1691873802223},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"optimize-chunk-modules","id":2414,"timestamp":6319731821,"duration":9,"tags":{},"startTime":1691873802223},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"optimize","id":2410,"timestamp":6319731687,"duration":245,"tags":{},"startTime":1691873802223},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"module-hash","id":2415,"timestamp":6319732587,"duration":264,"tags":{},"startTime":1691873802224},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"code-generation","id":2416,"timestamp":6319732872,"duration":649,"tags":{},"startTime":1691873802224},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"hash","id":2417,"timestamp":6319735254,"duration":8334,"tags":{},"startTime":1691873802226},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"code-generation-jobs","id":2418,"timestamp":6319743586,"duration":120,"tags":{},"startTime":1691873802235},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"module-assets","id":2419,"timestamp":6319743689,"duration":41,"tags":{},"startTime":1691873802235},{"traceId":"f3118a7bad57c10e","parentId":2408,"name":"create-chunk-assets","id":2420,"timestamp":6319743747,"duration":2497,"tags":{},"startTime":1691873802235},{"traceId":"f3118a7bad57c10e","parentId":2396,"name":"seal","id":2408,"timestamp":6319731060,"duration":15543,"tags":{},"startTime":1691873802222},{"traceId":"f3118a7bad57c10e","parentId":2362,"name":"webpack-compilation","id":2396,"timestamp":6319575212,"duration":171435,"tags":{"name":"server"},"startTime":1691873802066},{"traceId":"f3118a7bad57c10e","parentId":2362,"name":"emit","id":2421,"timestamp":6319746681,"duration":9373,"tags":{},"startTime":1691873802238},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2362,"timestamp":6317903459,"duration":1855661,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873800395}] -[{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2426,"timestamp":6325250533,"duration":11998,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2430,"timestamp":6325250648,"duration":14533,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2432,"timestamp":6325250668,"duration":14522,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2429,"timestamp":6325250638,"duration":15262,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2436,"name":"read-resource","id":2437,"timestamp":6325264846,"duration":1278,"tags":{},"startTime":1691873807756},{"traceId":"f3118a7bad57c10e","parentId":2434,"name":"next-swc-transform","id":2435,"timestamp":6325263943,"duration":17185,"tags":{},"startTime":1691873807755},{"traceId":"f3118a7bad57c10e","parentId":2433,"name":"next-swc-loader","id":2434,"timestamp":6325263794,"duration":17343,"tags":{},"startTime":1691873807755},{"traceId":"f3118a7bad57c10e","parentId":2424,"name":"build-module-tsx","id":2433,"timestamp":6325263428,"duration":62417,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873807755},{"traceId":"f3118a7bad57c10e","parentId":2438,"name":"postcss-process","id":2439,"timestamp":6325266209,"duration":147500,"tags":{},"startTime":1691873807758},{"traceId":"f3118a7bad57c10e","parentId":2436,"name":"postcss-loader","id":2438,"timestamp":6325266184,"duration":148048,"tags":{},"startTime":1691873807758},{"traceId":"f3118a7bad57c10e","parentId":2436,"name":"css-loader","id":2440,"timestamp":6325414277,"duration":43572,"tags":{"astUsed":"true"},"startTime":1691873807906},{"traceId":"f3118a7bad57c10e","parentId":2424,"name":"build-module-css","id":2436,"timestamp":6325264631,"duration":195648,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873807756},{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2427,"timestamp":6325250614,"duration":226711,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2431,"timestamp":6325250659,"duration":247083,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2425,"name":"add-entry","id":2428,"timestamp":6325250626,"duration":505528,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873807742},{"traceId":"f3118a7bad57c10e","parentId":2424,"name":"make","id":2425,"timestamp":6325247696,"duration":508494,"tags":{},"startTime":1691873807739},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"chunk-graph","id":2442,"timestamp":6325761431,"duration":10194,"tags":{},"startTime":1691873808253},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"optimize-modules","id":2444,"timestamp":6325771668,"duration":6,"tags":{},"startTime":1691873808263},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"optimize-chunks","id":2445,"timestamp":6325771692,"duration":236,"tags":{},"startTime":1691873808263},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"optimize-tree","id":2446,"timestamp":6325771959,"duration":8,"tags":{},"startTime":1691873808263},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"optimize-chunk-modules","id":2447,"timestamp":6325771995,"duration":6,"tags":{},"startTime":1691873808263},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"optimize","id":2443,"timestamp":6325771653,"duration":1871,"tags":{},"startTime":1691873808263},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"module-hash","id":2448,"timestamp":6325783955,"duration":2520,"tags":{},"startTime":1691873808275},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"code-generation","id":2449,"timestamp":6325786517,"duration":19425,"tags":{},"startTime":1691873808278},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"hash","id":2450,"timestamp":6325812296,"duration":11723,"tags":{},"startTime":1691873808304},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"code-generation-jobs","id":2451,"timestamp":6325824017,"duration":251,"tags":{},"startTime":1691873808315},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"module-assets","id":2452,"timestamp":6325824231,"duration":380,"tags":{},"startTime":1691873808316},{"traceId":"f3118a7bad57c10e","parentId":2441,"name":"create-chunk-assets","id":2453,"timestamp":6325824625,"duration":5228,"tags":{},"startTime":1691873808316},{"traceId":"f3118a7bad57c10e","parentId":2424,"name":"NextJsBuildManifest-generateClientManifest","id":2455,"timestamp":6325839461,"duration":103,"tags":{},"startTime":1691873808331},{"traceId":"f3118a7bad57c10e","parentId":2424,"name":"NextJsBuildManifest-createassets","id":2454,"timestamp":6325839361,"duration":211,"tags":{},"startTime":1691873808331},{"traceId":"f3118a7bad57c10e","parentId":2424,"name":"seal","id":2441,"timestamp":6325757972,"duration":88480,"tags":{},"startTime":1691873808249},{"traceId":"f3118a7bad57c10e","parentId":2422,"name":"webpack-compilation","id":2424,"timestamp":6325247174,"duration":599349,"tags":{"name":"client"},"startTime":1691873807739},{"traceId":"f3118a7bad57c10e","parentId":2422,"name":"emit","id":2456,"timestamp":6325860230,"duration":31576,"tags":{},"startTime":1691873808352},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2422,"timestamp":6325236104,"duration":656485,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873807727},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2459,"timestamp":6325902424,"duration":0,"tags":{},"startTime":1691873808394},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2465,"timestamp":1691873807730000,"duration":693000,"tags":{"clientId":1691872020568},"startTime":1691873808429},{"traceId":"f3118a7bad57c10e","parentId":2458,"name":"add-entry","id":2460,"timestamp":6325910243,"duration":38638,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873808402},{"traceId":"f3118a7bad57c10e","parentId":2458,"name":"add-entry","id":2461,"timestamp":6325910321,"duration":38572,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873808402},{"traceId":"f3118a7bad57c10e","parentId":2458,"name":"add-entry","id":2462,"timestamp":6325910339,"duration":38558,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873808402},{"traceId":"f3118a7bad57c10e","parentId":2458,"name":"add-entry","id":2464,"timestamp":6325910428,"duration":38471,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873808402},{"traceId":"f3118a7bad57c10e","parentId":2467,"name":"next-swc-transform","id":2468,"timestamp":6325944989,"duration":5075,"tags":{},"startTime":1691873808436},{"traceId":"f3118a7bad57c10e","parentId":2466,"name":"next-swc-loader","id":2467,"timestamp":6325944851,"duration":5223,"tags":{},"startTime":1691873808436},{"traceId":"f3118a7bad57c10e","parentId":2457,"name":"build-module-tsx","id":2466,"timestamp":6325944641,"duration":6884,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873808436},{"traceId":"f3118a7bad57c10e","parentId":2458,"name":"add-entry","id":2463,"timestamp":6325910398,"duration":44414,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873808402},{"traceId":"f3118a7bad57c10e","parentId":2457,"name":"make","id":2458,"timestamp":6325897427,"duration":57420,"tags":{},"startTime":1691873808389},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"chunk-graph","id":2470,"timestamp":6325955272,"duration":345,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"optimize-modules","id":2472,"timestamp":6325955642,"duration":5,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"optimize-chunks","id":2473,"timestamp":6325955661,"duration":29,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"optimize-tree","id":2474,"timestamp":6325955715,"duration":6,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"optimize-chunk-modules","id":2475,"timestamp":6325955738,"duration":5,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"optimize","id":2471,"timestamp":6325955632,"duration":180,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"module-hash","id":2476,"timestamp":6325956055,"duration":181,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"code-generation","id":2477,"timestamp":6325956251,"duration":525,"tags":{},"startTime":1691873808448},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"hash","id":2478,"timestamp":6325964448,"duration":1424,"tags":{},"startTime":1691873808456},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"code-generation-jobs","id":2479,"timestamp":6325965870,"duration":96,"tags":{},"startTime":1691873808457},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"module-assets","id":2480,"timestamp":6325965953,"duration":37,"tags":{},"startTime":1691873808457},{"traceId":"f3118a7bad57c10e","parentId":2469,"name":"create-chunk-assets","id":2481,"timestamp":6325965997,"duration":1180,"tags":{},"startTime":1691873808457},{"traceId":"f3118a7bad57c10e","parentId":2457,"name":"seal","id":2469,"timestamp":6325955179,"duration":13299,"tags":{},"startTime":1691873808447},{"traceId":"f3118a7bad57c10e","parentId":2423,"name":"webpack-compilation","id":2457,"timestamp":6325896940,"duration":71596,"tags":{"name":"server"},"startTime":1691873808388},{"traceId":"f3118a7bad57c10e","parentId":2423,"name":"emit","id":2482,"timestamp":6325968585,"duration":19703,"tags":{},"startTime":1691873808460},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2423,"timestamp":6325239456,"duration":749703,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873807731}] -[{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2487,"timestamp":6339478712,"duration":7214,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873821970},{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2491,"timestamp":6339478828,"duration":9692,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873821971},{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2493,"timestamp":6339478842,"duration":9687,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873821971},{"traceId":"f3118a7bad57c10e","parentId":2497,"name":"read-resource","id":2498,"timestamp":6339488189,"duration":1003,"tags":{},"startTime":1691873821980},{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2490,"timestamp":6339478821,"duration":19728,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873821971},{"traceId":"f3118a7bad57c10e","parentId":2495,"name":"next-swc-transform","id":2496,"timestamp":6339487257,"duration":15799,"tags":{},"startTime":1691873821979},{"traceId":"f3118a7bad57c10e","parentId":2494,"name":"next-swc-loader","id":2495,"timestamp":6339487110,"duration":15953,"tags":{},"startTime":1691873821979},{"traceId":"f3118a7bad57c10e","parentId":2485,"name":"build-module-tsx","id":2494,"timestamp":6339486590,"duration":20941,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873821978},{"traceId":"f3118a7bad57c10e","parentId":2499,"name":"postcss-process","id":2500,"timestamp":6339489266,"duration":141865,"tags":{},"startTime":1691873821981},{"traceId":"f3118a7bad57c10e","parentId":2497,"name":"postcss-loader","id":2499,"timestamp":6339489242,"duration":142229,"tags":{},"startTime":1691873821981},{"traceId":"f3118a7bad57c10e","parentId":2497,"name":"css-loader","id":2501,"timestamp":6339631521,"duration":63332,"tags":{"astUsed":"true"},"startTime":1691873822123},{"traceId":"f3118a7bad57c10e","parentId":2485,"name":"build-module-css","id":2497,"timestamp":6339487954,"duration":208814,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873821980},{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2488,"timestamp":6339478787,"duration":221688,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873821971},{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2492,"timestamp":6339478837,"duration":241304,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873821971},{"traceId":"f3118a7bad57c10e","parentId":2486,"name":"add-entry","id":2489,"timestamp":6339478813,"duration":408224,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873821971},{"traceId":"f3118a7bad57c10e","parentId":2485,"name":"make","id":2486,"timestamp":6339477680,"duration":409411,"tags":{},"startTime":1691873821969},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"chunk-graph","id":2503,"timestamp":6339893591,"duration":6400,"tags":{},"startTime":1691873822385},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"optimize-modules","id":2505,"timestamp":6339900033,"duration":10,"tags":{},"startTime":1691873822392},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"optimize-chunks","id":2506,"timestamp":6339900061,"duration":218,"tags":{},"startTime":1691873822392},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"optimize-tree","id":2507,"timestamp":6339900310,"duration":11,"tags":{},"startTime":1691873822392},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"optimize-chunk-modules","id":2508,"timestamp":6339900353,"duration":12,"tags":{},"startTime":1691873822392},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"optimize","id":2504,"timestamp":6339900019,"duration":1671,"tags":{},"startTime":1691873822392},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"module-hash","id":2509,"timestamp":6339922469,"duration":2017,"tags":{},"startTime":1691873822414},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"code-generation","id":2510,"timestamp":6339924521,"duration":29110,"tags":{},"startTime":1691873822416},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"hash","id":2511,"timestamp":6339976389,"duration":24673,"tags":{},"startTime":1691873822468},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"code-generation-jobs","id":2512,"timestamp":6340001060,"duration":344,"tags":{},"startTime":1691873822493},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"module-assets","id":2513,"timestamp":6340001368,"duration":376,"tags":{},"startTime":1691873822493},{"traceId":"f3118a7bad57c10e","parentId":2502,"name":"create-chunk-assets","id":2514,"timestamp":6340001756,"duration":2276,"tags":{},"startTime":1691873822494},{"traceId":"f3118a7bad57c10e","parentId":2485,"name":"NextJsBuildManifest-generateClientManifest","id":2516,"timestamp":6340007950,"duration":111,"tags":{},"startTime":1691873822500},{"traceId":"f3118a7bad57c10e","parentId":2485,"name":"NextJsBuildManifest-createassets","id":2515,"timestamp":6340007839,"duration":231,"tags":{},"startTime":1691873822500},{"traceId":"f3118a7bad57c10e","parentId":2485,"name":"seal","id":2502,"timestamp":6339889961,"duration":122377,"tags":{},"startTime":1691873822382},{"traceId":"f3118a7bad57c10e","parentId":2483,"name":"webpack-compilation","id":2485,"timestamp":6339477287,"duration":535111,"tags":{"name":"client"},"startTime":1691873821969},{"traceId":"f3118a7bad57c10e","parentId":2483,"name":"emit","id":2517,"timestamp":6340012451,"duration":48693,"tags":{},"startTime":1691873822504},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2483,"timestamp":6339468753,"duration":593234,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873821961},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2520,"timestamp":6340078200,"duration":0,"tags":{},"startTime":1691873822570},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2526,"timestamp":1691873821961000,"duration":667000,"tags":{"clientId":1691872020568},"startTime":1691873822629},{"traceId":"f3118a7bad57c10e","parentId":2528,"name":"next-swc-transform","id":2529,"timestamp":6340153404,"duration":9655,"tags":{},"startTime":1691873822645},{"traceId":"f3118a7bad57c10e","parentId":2527,"name":"next-swc-loader","id":2528,"timestamp":6340153249,"duration":9816,"tags":{},"startTime":1691873822645},{"traceId":"f3118a7bad57c10e","parentId":2518,"name":"build-module-tsx","id":2527,"timestamp":6340153012,"duration":11440,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873822645},{"traceId":"f3118a7bad57c10e","parentId":2519,"name":"add-entry","id":2521,"timestamp":6340080452,"duration":86336,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873822572},{"traceId":"f3118a7bad57c10e","parentId":2519,"name":"add-entry","id":2522,"timestamp":6340080516,"duration":86283,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873822572},{"traceId":"f3118a7bad57c10e","parentId":2519,"name":"add-entry","id":2523,"timestamp":6340080528,"duration":86274,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873822572},{"traceId":"f3118a7bad57c10e","parentId":2519,"name":"add-entry","id":2525,"timestamp":6340080541,"duration":86264,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873822572},{"traceId":"f3118a7bad57c10e","parentId":2519,"name":"add-entry","id":2524,"timestamp":6340080535,"duration":86319,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873822572},{"traceId":"f3118a7bad57c10e","parentId":2518,"name":"make","id":2519,"timestamp":6340066310,"duration":100571,"tags":{},"startTime":1691873822558},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"chunk-graph","id":2531,"timestamp":6340173046,"duration":688,"tags":{},"startTime":1691873822665},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"optimize-modules","id":2533,"timestamp":6340173766,"duration":6,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"optimize-chunks","id":2534,"timestamp":6340173823,"duration":33,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"optimize-tree","id":2535,"timestamp":6340173886,"duration":8,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"optimize-chunk-modules","id":2536,"timestamp":6340173913,"duration":8,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"optimize","id":2532,"timestamp":6340173754,"duration":240,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"module-hash","id":2537,"timestamp":6340174372,"duration":313,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"code-generation","id":2538,"timestamp":6340174703,"duration":3315,"tags":{},"startTime":1691873822666},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"hash","id":2539,"timestamp":6340180426,"duration":50226,"tags":{},"startTime":1691873822672},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"code-generation-jobs","id":2540,"timestamp":6340230650,"duration":114,"tags":{},"startTime":1691873822722},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"module-assets","id":2541,"timestamp":6340230748,"duration":42,"tags":{},"startTime":1691873822723},{"traceId":"f3118a7bad57c10e","parentId":2530,"name":"create-chunk-assets","id":2542,"timestamp":6340230798,"duration":1583,"tags":{},"startTime":1691873822723},{"traceId":"f3118a7bad57c10e","parentId":2518,"name":"seal","id":2530,"timestamp":6340167259,"duration":65485,"tags":{},"startTime":1691873822659},{"traceId":"f3118a7bad57c10e","parentId":2484,"name":"webpack-compilation","id":2518,"timestamp":6340065899,"duration":166893,"tags":{"name":"server"},"startTime":1691873822558},{"traceId":"f3118a7bad57c10e","parentId":2484,"name":"emit","id":2543,"timestamp":6340232867,"duration":100243,"tags":{},"startTime":1691873822725},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2484,"timestamp":6339469279,"duration":864992,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873821961}] -[{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2548,"timestamp":6343206783,"duration":8197,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2552,"timestamp":6343206897,"duration":10539,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2553,"timestamp":6343206905,"duration":10542,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2551,"timestamp":6343206891,"duration":11187,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2558,"name":"read-resource","id":2559,"timestamp":6343217116,"duration":1048,"tags":{},"startTime":1691873825709},{"traceId":"f3118a7bad57c10e","parentId":2556,"name":"next-swc-transform","id":2557,"timestamp":6343216178,"duration":13439,"tags":{},"startTime":1691873825708},{"traceId":"f3118a7bad57c10e","parentId":2555,"name":"next-swc-loader","id":2556,"timestamp":6343215979,"duration":13644,"tags":{},"startTime":1691873825708},{"traceId":"f3118a7bad57c10e","parentId":2546,"name":"build-module-tsx","id":2555,"timestamp":6343215670,"duration":102963,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873825708},{"traceId":"f3118a7bad57c10e","parentId":2560,"name":"postcss-process","id":2561,"timestamp":6343218231,"duration":246753,"tags":{},"startTime":1691873825710},{"traceId":"f3118a7bad57c10e","parentId":2558,"name":"postcss-loader","id":2560,"timestamp":6343218209,"duration":247195,"tags":{},"startTime":1691873825710},{"traceId":"f3118a7bad57c10e","parentId":2558,"name":"css-loader","id":2562,"timestamp":6343465453,"duration":47226,"tags":{"astUsed":"true"},"startTime":1691873825957},{"traceId":"f3118a7bad57c10e","parentId":2546,"name":"build-module-css","id":2558,"timestamp":6343216762,"duration":301962,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873825709},{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2549,"timestamp":6343206870,"duration":315506,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2554,"timestamp":6343206911,"duration":326598,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2547,"name":"add-entry","id":2550,"timestamp":6343206883,"duration":459808,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873825699},{"traceId":"f3118a7bad57c10e","parentId":2546,"name":"make","id":2547,"timestamp":6343205754,"duration":460970,"tags":{},"startTime":1691873825698},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"chunk-graph","id":2564,"timestamp":6343690895,"duration":125316,"tags":{},"startTime":1691873826183},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"optimize-modules","id":2566,"timestamp":6343816252,"duration":10,"tags":{},"startTime":1691873826308},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"optimize-chunks","id":2567,"timestamp":6343816284,"duration":202,"tags":{},"startTime":1691873826308},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"optimize-tree","id":2568,"timestamp":6343816517,"duration":12,"tags":{},"startTime":1691873826308},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"optimize-chunk-modules","id":2569,"timestamp":6343816558,"duration":7,"tags":{},"startTime":1691873826308},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"optimize","id":2565,"timestamp":6343816238,"duration":31809,"tags":{},"startTime":1691873826308},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"module-hash","id":2570,"timestamp":6343964614,"duration":2557,"tags":{},"startTime":1691873826456},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"code-generation","id":2571,"timestamp":6343967206,"duration":19761,"tags":{},"startTime":1691873826459},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"hash","id":2572,"timestamp":6344050175,"duration":100646,"tags":{},"startTime":1691873826542},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"code-generation-jobs","id":2573,"timestamp":6344150818,"duration":219,"tags":{},"startTime":1691873826643},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"module-assets","id":2574,"timestamp":6344151002,"duration":465,"tags":{},"startTime":1691873826643},{"traceId":"f3118a7bad57c10e","parentId":2563,"name":"create-chunk-assets","id":2575,"timestamp":6344151498,"duration":13468,"tags":{},"startTime":1691873826643},{"traceId":"f3118a7bad57c10e","parentId":2546,"name":"NextJsBuildManifest-generateClientManifest","id":2577,"timestamp":6344172895,"duration":138,"tags":{},"startTime":1691873826665},{"traceId":"f3118a7bad57c10e","parentId":2546,"name":"NextJsBuildManifest-createassets","id":2576,"timestamp":6344170769,"duration":2273,"tags":{},"startTime":1691873826663},{"traceId":"f3118a7bad57c10e","parentId":2546,"name":"seal","id":2563,"timestamp":6343676403,"duration":507469,"tags":{},"startTime":1691873826168},{"traceId":"f3118a7bad57c10e","parentId":2544,"name":"webpack-compilation","id":2546,"timestamp":6343205305,"duration":978618,"tags":{"name":"client"},"startTime":1691873825697},{"traceId":"f3118a7bad57c10e","parentId":2544,"name":"emit","id":2578,"timestamp":6344183950,"duration":211867,"tags":{},"startTime":1691873826676},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2544,"timestamp":6343196099,"duration":1200517,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873825688},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2589,"timestamp":6344498405,"duration":0,"tags":{},"startTime":1691873826990},{"traceId":"f3118a7bad57c10e","parentId":2587,"name":"next-swc-transform","id":2588,"timestamp":6344431131,"duration":67364,"tags":{},"startTime":1691873826923},{"traceId":"f3118a7bad57c10e","parentId":2586,"name":"next-swc-loader","id":2587,"timestamp":6344430996,"duration":67502,"tags":{},"startTime":1691873826923},{"traceId":"f3118a7bad57c10e","parentId":2579,"name":"build-module-tsx","id":2586,"timestamp":6344430286,"duration":85582,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873826922},{"traceId":"f3118a7bad57c10e","parentId":2580,"name":"add-entry","id":2581,"timestamp":6344405012,"duration":124536,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873826897},{"traceId":"f3118a7bad57c10e","parentId":2580,"name":"add-entry","id":2582,"timestamp":6344405077,"duration":124483,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873826897},{"traceId":"f3118a7bad57c10e","parentId":2580,"name":"add-entry","id":2583,"timestamp":6344405088,"duration":124494,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873826897},{"traceId":"f3118a7bad57c10e","parentId":2580,"name":"add-entry","id":2585,"timestamp":6344405101,"duration":124609,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873826897},{"traceId":"f3118a7bad57c10e","parentId":2580,"name":"add-entry","id":2584,"timestamp":6344405094,"duration":126728,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873826897},{"traceId":"f3118a7bad57c10e","parentId":2579,"name":"make","id":2580,"timestamp":6344398285,"duration":133571,"tags":{},"startTime":1691873826890},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"chunk-graph","id":2591,"timestamp":6344532256,"duration":326,"tags":{},"startTime":1691873827024},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"optimize-modules","id":2593,"timestamp":6344532604,"duration":8,"tags":{},"startTime":1691873827024},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"optimize-chunks","id":2594,"timestamp":6344532629,"duration":27,"tags":{},"startTime":1691873827025},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"optimize-tree","id":2595,"timestamp":6344532678,"duration":6,"tags":{},"startTime":1691873827025},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"optimize-chunk-modules","id":2596,"timestamp":6344532703,"duration":6,"tags":{},"startTime":1691873827025},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"optimize","id":2592,"timestamp":6344532596,"duration":16626,"tags":{},"startTime":1691873827024},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"module-hash","id":2597,"timestamp":6344578805,"duration":191,"tags":{},"startTime":1691873827071},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"code-generation","id":2598,"timestamp":6344579012,"duration":1350,"tags":{},"startTime":1691873827071},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"hash","id":2599,"timestamp":6344582289,"duration":1036,"tags":{},"startTime":1691873827074},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"code-generation-jobs","id":2600,"timestamp":6344583323,"duration":78,"tags":{},"startTime":1691873827075},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"module-assets","id":2601,"timestamp":6344583391,"duration":29,"tags":{},"startTime":1691873827075},{"traceId":"f3118a7bad57c10e","parentId":2590,"name":"create-chunk-assets","id":2602,"timestamp":6344583426,"duration":1026,"tags":{},"startTime":1691873827075},{"traceId":"f3118a7bad57c10e","parentId":2579,"name":"seal","id":2590,"timestamp":6344532163,"duration":52570,"tags":{},"startTime":1691873827024},{"traceId":"f3118a7bad57c10e","parentId":2545,"name":"webpack-compilation","id":2579,"timestamp":6344397967,"duration":186801,"tags":{"name":"server"},"startTime":1691873826890},{"traceId":"f3118a7bad57c10e","parentId":2545,"name":"emit","id":2603,"timestamp":6344584789,"duration":99966,"tags":{},"startTime":1691873827077},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2545,"timestamp":6343196562,"duration":1503972,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873825688}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2604,"timestamp":1691873825689000,"duration":1535000,"tags":{"clientId":1691872020568},"startTime":1691873827226},{"traceId":"f3118a7bad57c10e","parentId":2615,"name":"next-swc-transform","id":2616,"timestamp":6381786203,"duration":3186,"tags":{},"startTime":1691873864279},{"traceId":"f3118a7bad57c10e","parentId":2614,"name":"next-swc-loader","id":2615,"timestamp":6381785992,"duration":3404,"tags":{},"startTime":1691873864279},{"traceId":"f3118a7bad57c10e","parentId":2607,"name":"build-module-tsx","id":2614,"timestamp":6381785662,"duration":9279,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873864279},{"traceId":"f3118a7bad57c10e","parentId":2608,"name":"add-entry","id":2609,"timestamp":6381750271,"duration":46485,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873864243},{"traceId":"f3118a7bad57c10e","parentId":2608,"name":"add-entry","id":2610,"timestamp":6381750397,"duration":46377,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873864243},{"traceId":"f3118a7bad57c10e","parentId":2608,"name":"add-entry","id":2611,"timestamp":6381750410,"duration":46368,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873864243},{"traceId":"f3118a7bad57c10e","parentId":2608,"name":"add-entry","id":2613,"timestamp":6381750433,"duration":46349,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873864243},{"traceId":"f3118a7bad57c10e","parentId":2608,"name":"add-entry","id":2612,"timestamp":6381750421,"duration":46374,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873864243},{"traceId":"f3118a7bad57c10e","parentId":2607,"name":"make","id":2608,"timestamp":6381738141,"duration":58691,"tags":{},"startTime":1691873864231},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"chunk-graph","id":2618,"timestamp":6381797400,"duration":1038,"tags":{},"startTime":1691873864290},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"optimize-modules","id":2620,"timestamp":6381798489,"duration":12,"tags":{},"startTime":1691873864291},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"optimize-chunks","id":2621,"timestamp":6381798527,"duration":44,"tags":{},"startTime":1691873864291},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"optimize-tree","id":2622,"timestamp":6381798603,"duration":13,"tags":{},"startTime":1691873864292},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"optimize-chunk-modules","id":2623,"timestamp":6381801399,"duration":58,"tags":{},"startTime":1691873864294},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"optimize","id":2619,"timestamp":6381798472,"duration":3117,"tags":{},"startTime":1691873864291},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"module-hash","id":2624,"timestamp":6381801973,"duration":238,"tags":{},"startTime":1691873864295},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"code-generation","id":2625,"timestamp":6381802228,"duration":778,"tags":{},"startTime":1691873864295},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"hash","id":2626,"timestamp":6381803969,"duration":1776,"tags":{},"startTime":1691873864297},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"code-generation-jobs","id":2627,"timestamp":6381805743,"duration":232,"tags":{},"startTime":1691873864299},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"module-assets","id":2628,"timestamp":6381805863,"duration":142,"tags":{},"startTime":1691873864299},{"traceId":"f3118a7bad57c10e","parentId":2617,"name":"create-chunk-assets","id":2629,"timestamp":6381806014,"duration":3288,"tags":{},"startTime":1691873864299},{"traceId":"f3118a7bad57c10e","parentId":2607,"name":"seal","id":2617,"timestamp":6381797243,"duration":12510,"tags":{},"startTime":1691873864290},{"traceId":"f3118a7bad57c10e","parentId":2605,"name":"webpack-compilation","id":2607,"timestamp":6381737716,"duration":72099,"tags":{"name":"server"},"startTime":1691873864231},{"traceId":"f3118a7bad57c10e","parentId":2605,"name":"emit","id":2630,"timestamp":6381809851,"duration":4949,"tags":{},"startTime":1691873864303},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2605,"timestamp":6381730603,"duration":84975,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873864224},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2633,"timestamp":6381830124,"duration":15328,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2637,"timestamp":6381830335,"duration":19665,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2639,"timestamp":6381830409,"duration":19600,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2636,"timestamp":6381830325,"duration":20171,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2643,"name":"read-resource","id":2644,"timestamp":6381849709,"duration":2938,"tags":{},"startTime":1691873864343},{"traceId":"f3118a7bad57c10e","parentId":2641,"name":"next-swc-transform","id":2642,"timestamp":6381846843,"duration":59243,"tags":{},"startTime":1691873864340},{"traceId":"f3118a7bad57c10e","parentId":2640,"name":"next-swc-loader","id":2641,"timestamp":6381846714,"duration":59379,"tags":{},"startTime":1691873864340},{"traceId":"f3118a7bad57c10e","parentId":2631,"name":"build-module-tsx","id":2640,"timestamp":6381846369,"duration":83514,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873864339},{"traceId":"f3118a7bad57c10e","parentId":2645,"name":"postcss-process","id":2646,"timestamp":6381852769,"duration":305136,"tags":{},"startTime":1691873864346},{"traceId":"f3118a7bad57c10e","parentId":2643,"name":"postcss-loader","id":2645,"timestamp":6381852709,"duration":306272,"tags":{},"startTime":1691873864346},{"traceId":"f3118a7bad57c10e","parentId":2643,"name":"css-loader","id":2647,"timestamp":6382159031,"duration":41409,"tags":{"astUsed":"true"},"startTime":1691873864652},{"traceId":"f3118a7bad57c10e","parentId":2631,"name":"build-module-css","id":2643,"timestamp":6381849498,"duration":362592,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873864342},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2634,"timestamp":6381830199,"duration":393401,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2638,"timestamp":6381830348,"duration":415738,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2632,"name":"add-entry","id":2635,"timestamp":6381830251,"duration":754684,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873864323},{"traceId":"f3118a7bad57c10e","parentId":2631,"name":"make","id":2632,"timestamp":6381820632,"duration":764341,"tags":{},"startTime":1691873864314},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"chunk-graph","id":2649,"timestamp":6382601332,"duration":50130,"tags":{},"startTime":1691873865094},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"optimize-modules","id":2651,"timestamp":6382651507,"duration":15,"tags":{},"startTime":1691873865144},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"optimize-chunks","id":2652,"timestamp":6382651551,"duration":251,"tags":{},"startTime":1691873865144},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"optimize-tree","id":2653,"timestamp":6382651837,"duration":18,"tags":{},"startTime":1691873865145},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"optimize-chunk-modules","id":2654,"timestamp":6382651890,"duration":11,"tags":{},"startTime":1691873865145},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"optimize","id":2650,"timestamp":6382651488,"duration":2598,"tags":{},"startTime":1691873865144},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"module-hash","id":2655,"timestamp":6382687801,"duration":8711,"tags":{},"startTime":1691873865181},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"code-generation","id":2656,"timestamp":6382696545,"duration":14848,"tags":{},"startTime":1691873865189},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"hash","id":2657,"timestamp":6382819963,"duration":19409,"tags":{},"startTime":1691873865313},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"code-generation-jobs","id":2658,"timestamp":6382839369,"duration":254,"tags":{},"startTime":1691873865332},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"module-assets","id":2659,"timestamp":6382839579,"duration":435,"tags":{},"startTime":1691873865333},{"traceId":"f3118a7bad57c10e","parentId":2648,"name":"create-chunk-assets","id":2660,"timestamp":6382840030,"duration":12957,"tags":{},"startTime":1691873865333},{"traceId":"f3118a7bad57c10e","parentId":2631,"name":"NextJsBuildManifest-generateClientManifest","id":2662,"timestamp":6382862344,"duration":161,"tags":{},"startTime":1691873865355},{"traceId":"f3118a7bad57c10e","parentId":2631,"name":"NextJsBuildManifest-createassets","id":2661,"timestamp":6382862185,"duration":328,"tags":{},"startTime":1691873865355},{"traceId":"f3118a7bad57c10e","parentId":2631,"name":"seal","id":2648,"timestamp":6382593663,"duration":338737,"tags":{},"startTime":1691873865087},{"traceId":"f3118a7bad57c10e","parentId":2606,"name":"webpack-compilation","id":2631,"timestamp":6381817989,"duration":1114463,"tags":{"name":"client"},"startTime":1691873864311},{"traceId":"f3118a7bad57c10e","parentId":2606,"name":"emit","id":2663,"timestamp":6382932488,"duration":70072,"tags":{},"startTime":1691873865425},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2606,"timestamp":6381730901,"duration":1585998,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873864224}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2664,"timestamp":6383339729,"duration":0,"tags":{},"startTime":1691873865833},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2665,"timestamp":1691873864227000,"duration":1915000,"tags":{"clientId":1691872020568},"startTime":1691873866209},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2670,"timestamp":6387412319,"duration":9374,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2674,"timestamp":6387412419,"duration":12142,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2676,"timestamp":6387412433,"duration":12139,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2673,"timestamp":6387412409,"duration":13263,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2680,"name":"read-resource","id":2681,"timestamp":6387424162,"duration":1551,"tags":{},"startTime":1691873869917},{"traceId":"f3118a7bad57c10e","parentId":2678,"name":"next-swc-transform","id":2679,"timestamp":6387423173,"duration":17420,"tags":{},"startTime":1691873869916},{"traceId":"f3118a7bad57c10e","parentId":2677,"name":"next-swc-loader","id":2678,"timestamp":6387422951,"duration":17654,"tags":{},"startTime":1691873869916},{"traceId":"f3118a7bad57c10e","parentId":2668,"name":"build-module-tsx","id":2677,"timestamp":6387422614,"duration":43763,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873869916},{"traceId":"f3118a7bad57c10e","parentId":2682,"name":"postcss-process","id":2683,"timestamp":6387425793,"duration":166788,"tags":{},"startTime":1691873869919},{"traceId":"f3118a7bad57c10e","parentId":2680,"name":"postcss-loader","id":2682,"timestamp":6387425767,"duration":167218,"tags":{},"startTime":1691873869919},{"traceId":"f3118a7bad57c10e","parentId":2680,"name":"css-loader","id":2684,"timestamp":6387593034,"duration":23556,"tags":{"astUsed":"true"},"startTime":1691873870086},{"traceId":"f3118a7bad57c10e","parentId":2668,"name":"build-module-css","id":2680,"timestamp":6387423912,"duration":196213,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873869917},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2671,"timestamp":6387412390,"duration":211350,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2675,"timestamp":6387412427,"duration":233475,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2669,"name":"add-entry","id":2672,"timestamp":6387412402,"duration":935700,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873869905},{"traceId":"f3118a7bad57c10e","parentId":2668,"name":"make","id":2669,"timestamp":6387411380,"duration":936758,"tags":{},"startTime":1691873869904},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"chunk-graph","id":2686,"timestamp":6388355234,"duration":19926,"tags":{},"startTime":1691873870848},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"optimize-modules","id":2688,"timestamp":6388375205,"duration":6,"tags":{},"startTime":1691873870868},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"optimize-chunks","id":2689,"timestamp":6388375232,"duration":219,"tags":{},"startTime":1691873870868},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"optimize-tree","id":2690,"timestamp":6388375484,"duration":8,"tags":{},"startTime":1691873870869},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"optimize-chunk-modules","id":2691,"timestamp":6388375519,"duration":6,"tags":{},"startTime":1691873870869},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"optimize","id":2687,"timestamp":6388375188,"duration":1705,"tags":{},"startTime":1691873870868},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"module-hash","id":2692,"timestamp":6388413368,"duration":3393,"tags":{},"startTime":1691873870906},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"code-generation","id":2693,"timestamp":6388416799,"duration":51051,"tags":{},"startTime":1691873870910},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"hash","id":2694,"timestamp":6388480472,"duration":84062,"tags":{},"startTime":1691873870974},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"code-generation-jobs","id":2695,"timestamp":6388564532,"duration":233,"tags":{},"startTime":1691873871058},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"module-assets","id":2696,"timestamp":6388564716,"duration":406,"tags":{},"startTime":1691873871058},{"traceId":"f3118a7bad57c10e","parentId":2685,"name":"create-chunk-assets","id":2697,"timestamp":6388565140,"duration":69392,"tags":{},"startTime":1691873871058},{"traceId":"f3118a7bad57c10e","parentId":2668,"name":"NextJsBuildManifest-generateClientManifest","id":2699,"timestamp":6388651692,"duration":108,"tags":{},"startTime":1691873871145},{"traceId":"f3118a7bad57c10e","parentId":2668,"name":"NextJsBuildManifest-createassets","id":2698,"timestamp":6388651573,"duration":235,"tags":{},"startTime":1691873871145},{"traceId":"f3118a7bad57c10e","parentId":2668,"name":"seal","id":2685,"timestamp":6388351564,"duration":314951,"tags":{},"startTime":1691873870845},{"traceId":"f3118a7bad57c10e","parentId":2666,"name":"webpack-compilation","id":2668,"timestamp":6387410891,"duration":1255681,"tags":{"name":"client"},"startTime":1691873869904},{"traceId":"f3118a7bad57c10e","parentId":2666,"name":"emit","id":2700,"timestamp":6388666609,"duration":71987,"tags":{},"startTime":1691873871160},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2666,"timestamp":6387402041,"duration":1337426,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873869895},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2703,"timestamp":6388765694,"duration":0,"tags":{},"startTime":1691873871259},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2709,"timestamp":1691873869896000,"duration":1467000,"tags":{"clientId":1691872020568},"startTime":1691873871390},{"traceId":"f3118a7bad57c10e","parentId":2702,"name":"add-entry","id":2704,"timestamp":6388767654,"duration":169341,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873871261},{"traceId":"f3118a7bad57c10e","parentId":2702,"name":"add-entry","id":2705,"timestamp":6388767715,"duration":169294,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873871261},{"traceId":"f3118a7bad57c10e","parentId":2702,"name":"add-entry","id":2706,"timestamp":6388767726,"duration":169286,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873871261},{"traceId":"f3118a7bad57c10e","parentId":2702,"name":"add-entry","id":2708,"timestamp":6388767739,"duration":169275,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873871261},{"traceId":"f3118a7bad57c10e","parentId":2711,"name":"next-swc-transform","id":2712,"timestamp":6388926368,"duration":17835,"tags":{},"startTime":1691873871419},{"traceId":"f3118a7bad57c10e","parentId":2710,"name":"next-swc-loader","id":2711,"timestamp":6388926242,"duration":17969,"tags":{},"startTime":1691873871419},{"traceId":"f3118a7bad57c10e","parentId":2701,"name":"build-module-tsx","id":2710,"timestamp":6388925948,"duration":20199,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873871419},{"traceId":"f3118a7bad57c10e","parentId":2702,"name":"add-entry","id":2707,"timestamp":6388767733,"duration":179505,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873871261},{"traceId":"f3118a7bad57c10e","parentId":2701,"name":"make","id":2702,"timestamp":6388753734,"duration":193538,"tags":{},"startTime":1691873871247},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"chunk-graph","id":2714,"timestamp":6388947767,"duration":347,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"optimize-modules","id":2716,"timestamp":6388948141,"duration":4,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"optimize-chunks","id":2717,"timestamp":6388948163,"duration":29,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"optimize-tree","id":2718,"timestamp":6388948220,"duration":7,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"optimize-chunk-modules","id":2719,"timestamp":6388948243,"duration":5,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"optimize","id":2715,"timestamp":6388948131,"duration":202,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"module-hash","id":2720,"timestamp":6388949069,"duration":319,"tags":{},"startTime":1691873871442},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"code-generation","id":2721,"timestamp":6388949410,"duration":560,"tags":{},"startTime":1691873871443},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"hash","id":2722,"timestamp":6388950718,"duration":1166,"tags":{},"startTime":1691873871444},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"code-generation-jobs","id":2723,"timestamp":6388951883,"duration":88,"tags":{},"startTime":1691873871445},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"module-assets","id":2724,"timestamp":6388951959,"duration":33,"tags":{},"startTime":1691873871445},{"traceId":"f3118a7bad57c10e","parentId":2713,"name":"create-chunk-assets","id":2725,"timestamp":6388951999,"duration":13109,"tags":{},"startTime":1691873871445},{"traceId":"f3118a7bad57c10e","parentId":2701,"name":"seal","id":2713,"timestamp":6388947667,"duration":17956,"tags":{},"startTime":1691873871441},{"traceId":"f3118a7bad57c10e","parentId":2667,"name":"webpack-compilation","id":2701,"timestamp":6388753334,"duration":212332,"tags":{"name":"server"},"startTime":1691873871246},{"traceId":"f3118a7bad57c10e","parentId":2667,"name":"emit","id":2726,"timestamp":6388965699,"duration":3466,"tags":{},"startTime":1691873871459},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2667,"timestamp":6387402416,"duration":1567592,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873869895}] -[{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2731,"timestamp":6392418642,"duration":13551,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2735,"timestamp":6392418752,"duration":15792,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2737,"timestamp":6392418765,"duration":15790,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2734,"timestamp":6392418746,"duration":17626,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2741,"name":"read-resource","id":2742,"timestamp":6392433873,"duration":2555,"tags":{},"startTime":1691873874927},{"traceId":"f3118a7bad57c10e","parentId":2739,"name":"next-swc-transform","id":2740,"timestamp":6392433131,"duration":13608,"tags":{},"startTime":1691873874926},{"traceId":"f3118a7bad57c10e","parentId":2738,"name":"next-swc-loader","id":2739,"timestamp":6392433033,"duration":13712,"tags":{},"startTime":1691873874926},{"traceId":"f3118a7bad57c10e","parentId":2729,"name":"build-module-tsx","id":2738,"timestamp":6392432822,"duration":43643,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873874926},{"traceId":"f3118a7bad57c10e","parentId":2743,"name":"postcss-process","id":2744,"timestamp":6392436505,"duration":146699,"tags":{},"startTime":1691873874930},{"traceId":"f3118a7bad57c10e","parentId":2741,"name":"postcss-loader","id":2743,"timestamp":6392436479,"duration":147031,"tags":{},"startTime":1691873874930},{"traceId":"f3118a7bad57c10e","parentId":2741,"name":"css-loader","id":2745,"timestamp":6392583569,"duration":36283,"tags":{"astUsed":"true"},"startTime":1691873875077},{"traceId":"f3118a7bad57c10e","parentId":2729,"name":"build-module-css","id":2741,"timestamp":6392433638,"duration":188316,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873874927},{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2732,"timestamp":6392418728,"duration":211099,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2736,"timestamp":6392418760,"duration":221665,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2730,"name":"add-entry","id":2733,"timestamp":6392418739,"duration":481005,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873874912},{"traceId":"f3118a7bad57c10e","parentId":2729,"name":"make","id":2730,"timestamp":6392400991,"duration":498787,"tags":{},"startTime":1691873874894},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"chunk-graph","id":2747,"timestamp":6392906646,"duration":49674,"tags":{},"startTime":1691873875400},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"optimize-modules","id":2749,"timestamp":6392956361,"duration":10,"tags":{},"startTime":1691873875450},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"optimize-chunks","id":2750,"timestamp":6392956396,"duration":471,"tags":{},"startTime":1691873875450},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"optimize-tree","id":2751,"timestamp":6392956903,"duration":16,"tags":{},"startTime":1691873875450},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"optimize-chunk-modules","id":2752,"timestamp":6392956953,"duration":7,"tags":{},"startTime":1691873875450},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"optimize","id":2748,"timestamp":6392956346,"duration":2486,"tags":{},"startTime":1691873875450},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"module-hash","id":2753,"timestamp":6392986494,"duration":2000,"tags":{},"startTime":1691873875480},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"code-generation","id":2754,"timestamp":6392989602,"duration":23102,"tags":{},"startTime":1691873875483},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"hash","id":2755,"timestamp":6393018877,"duration":14927,"tags":{},"startTime":1691873875512},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"code-generation-jobs","id":2756,"timestamp":6393033800,"duration":326,"tags":{},"startTime":1691873875527},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"module-assets","id":2757,"timestamp":6393034084,"duration":401,"tags":{},"startTime":1691873875527},{"traceId":"f3118a7bad57c10e","parentId":2746,"name":"create-chunk-assets","id":2758,"timestamp":6393034501,"duration":7033,"tags":{},"startTime":1691873875528},{"traceId":"f3118a7bad57c10e","parentId":2729,"name":"NextJsBuildManifest-generateClientManifest","id":2760,"timestamp":6393048156,"duration":187,"tags":{},"startTime":1691873875541},{"traceId":"f3118a7bad57c10e","parentId":2729,"name":"NextJsBuildManifest-createassets","id":2759,"timestamp":6393048015,"duration":338,"tags":{},"startTime":1691873875541},{"traceId":"f3118a7bad57c10e","parentId":2729,"name":"seal","id":2746,"timestamp":6392902654,"duration":165933,"tags":{},"startTime":1691873875396},{"traceId":"f3118a7bad57c10e","parentId":2727,"name":"webpack-compilation","id":2729,"timestamp":6392400613,"duration":668029,"tags":{"name":"client"},"startTime":1691873874894},{"traceId":"f3118a7bad57c10e","parentId":2727,"name":"emit","id":2761,"timestamp":6393068672,"duration":38231,"tags":{},"startTime":1691873875562},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2727,"timestamp":6392387870,"duration":723716,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873874881},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2764,"timestamp":6393127781,"duration":0,"tags":{},"startTime":1691873875621},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2770,"timestamp":1691873874882000,"duration":768000,"tags":{"clientId":1691872020568},"startTime":1691873875651},{"traceId":"f3118a7bad57c10e","parentId":2763,"name":"add-entry","id":2765,"timestamp":6393142089,"duration":29649,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873875635},{"traceId":"f3118a7bad57c10e","parentId":2763,"name":"add-entry","id":2766,"timestamp":6393142167,"duration":29583,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873875635},{"traceId":"f3118a7bad57c10e","parentId":2763,"name":"add-entry","id":2767,"timestamp":6393142181,"duration":29573,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873875635},{"traceId":"f3118a7bad57c10e","parentId":2763,"name":"add-entry","id":2769,"timestamp":6393142194,"duration":29564,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873875635},{"traceId":"f3118a7bad57c10e","parentId":2772,"name":"next-swc-transform","id":2773,"timestamp":6393169406,"duration":4223,"tags":{},"startTime":1691873875663},{"traceId":"f3118a7bad57c10e","parentId":2771,"name":"next-swc-loader","id":2772,"timestamp":6393169161,"duration":4476,"tags":{},"startTime":1691873875662},{"traceId":"f3118a7bad57c10e","parentId":2762,"name":"build-module-tsx","id":2771,"timestamp":6393168759,"duration":17592,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873875662},{"traceId":"f3118a7bad57c10e","parentId":2763,"name":"add-entry","id":2768,"timestamp":6393142188,"duration":51815,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873875635},{"traceId":"f3118a7bad57c10e","parentId":2762,"name":"make","id":2763,"timestamp":6393114685,"duration":79362,"tags":{},"startTime":1691873875608},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"chunk-graph","id":2775,"timestamp":6393194558,"duration":433,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"optimize-modules","id":2777,"timestamp":6393195024,"duration":5,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"optimize-chunks","id":2778,"timestamp":6393195048,"duration":32,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"optimize-tree","id":2779,"timestamp":6393195108,"duration":7,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"optimize-chunk-modules","id":2780,"timestamp":6393195137,"duration":7,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"optimize","id":2776,"timestamp":6393195012,"duration":225,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"module-hash","id":2781,"timestamp":6393195499,"duration":209,"tags":{},"startTime":1691873875689},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"code-generation","id":2782,"timestamp":6393195728,"duration":775,"tags":{},"startTime":1691873875689},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"hash","id":2783,"timestamp":6393197899,"duration":1454,"tags":{},"startTime":1691873875691},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"code-generation-jobs","id":2784,"timestamp":6393199351,"duration":100,"tags":{},"startTime":1691873875693},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"module-assets","id":2785,"timestamp":6393199437,"duration":39,"tags":{},"startTime":1691873875693},{"traceId":"f3118a7bad57c10e","parentId":2774,"name":"create-chunk-assets","id":2786,"timestamp":6393199482,"duration":1679,"tags":{},"startTime":1691873875693},{"traceId":"f3118a7bad57c10e","parentId":2762,"name":"seal","id":2774,"timestamp":6393194447,"duration":7055,"tags":{},"startTime":1691873875688},{"traceId":"f3118a7bad57c10e","parentId":2728,"name":"webpack-compilation","id":2762,"timestamp":6393114349,"duration":87194,"tags":{"name":"server"},"startTime":1691873875608},{"traceId":"f3118a7bad57c10e","parentId":2728,"name":"emit","id":2787,"timestamp":6393201569,"duration":8658,"tags":{},"startTime":1691873875695},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2728,"timestamp":6392388175,"duration":838833,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873874881}] -[{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2792,"timestamp":6436409553,"duration":15114,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2796,"timestamp":6436409715,"duration":22512,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2797,"timestamp":6436409723,"duration":22515,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2800,"name":"next-swc-transform","id":2801,"timestamp":6436426279,"duration":7553,"tags":{},"startTime":1691873918921},{"traceId":"f3118a7bad57c10e","parentId":2799,"name":"next-swc-loader","id":2800,"timestamp":6436426047,"duration":7791,"tags":{},"startTime":1691873918920},{"traceId":"f3118a7bad57c10e","parentId":2790,"name":"build-module-tsx","id":2799,"timestamp":6436425675,"duration":16125,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873918920},{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2795,"timestamp":6436409704,"duration":32246,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2802,"name":"read-resource","id":2803,"timestamp":6436431167,"duration":10994,"tags":{},"startTime":1691873918926},{"traceId":"f3118a7bad57c10e","parentId":2804,"name":"postcss-process","id":2805,"timestamp":6436443776,"duration":189193,"tags":{},"startTime":1691873918938},{"traceId":"f3118a7bad57c10e","parentId":2802,"name":"postcss-loader","id":2804,"timestamp":6436443727,"duration":191226,"tags":{},"startTime":1691873918938},{"traceId":"f3118a7bad57c10e","parentId":2802,"name":"css-loader","id":2806,"timestamp":6436635006,"duration":37675,"tags":{"astUsed":"true"},"startTime":1691873919129},{"traceId":"f3118a7bad57c10e","parentId":2790,"name":"build-module-css","id":2802,"timestamp":6436430636,"duration":253420,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873918925},{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2793,"timestamp":6436409675,"duration":277219,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2798,"timestamp":6436409733,"duration":317744,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2791,"name":"add-entry","id":2794,"timestamp":6436409692,"duration":679851,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873918904},{"traceId":"f3118a7bad57c10e","parentId":2790,"name":"make","id":2791,"timestamp":6436408084,"duration":681497,"tags":{},"startTime":1691873918902},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"chunk-graph","id":2808,"timestamp":6437096443,"duration":41949,"tags":{},"startTime":1691873919591},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"optimize-modules","id":2810,"timestamp":6437138444,"duration":16,"tags":{},"startTime":1691873919633},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"optimize-chunks","id":2811,"timestamp":6437138487,"duration":242,"tags":{},"startTime":1691873919633},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"optimize-tree","id":2812,"timestamp":6437138765,"duration":21,"tags":{},"startTime":1691873919633},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"optimize-chunk-modules","id":2813,"timestamp":6437138822,"duration":10,"tags":{},"startTime":1691873919633},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"optimize","id":2809,"timestamp":6437138425,"duration":36395,"tags":{},"startTime":1691873919633},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"module-hash","id":2814,"timestamp":6437247444,"duration":4770,"tags":{},"startTime":1691873919742},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"code-generation","id":2815,"timestamp":6437252274,"duration":18215,"tags":{},"startTime":1691873919747},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"hash","id":2816,"timestamp":6437280480,"duration":31161,"tags":{},"startTime":1691873919775},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"code-generation-jobs","id":2817,"timestamp":6437311635,"duration":310,"tags":{},"startTime":1691873919806},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"module-assets","id":2818,"timestamp":6437311877,"duration":452,"tags":{},"startTime":1691873919806},{"traceId":"f3118a7bad57c10e","parentId":2807,"name":"create-chunk-assets","id":2819,"timestamp":6437312348,"duration":2345,"tags":{},"startTime":1691873919807},{"traceId":"f3118a7bad57c10e","parentId":2790,"name":"NextJsBuildManifest-generateClientManifest","id":2821,"timestamp":6437321702,"duration":289,"tags":{},"startTime":1691873919816},{"traceId":"f3118a7bad57c10e","parentId":2790,"name":"NextJsBuildManifest-createassets","id":2820,"timestamp":6437321577,"duration":424,"tags":{},"startTime":1691873919816},{"traceId":"f3118a7bad57c10e","parentId":2790,"name":"seal","id":2807,"timestamp":6437091752,"duration":245152,"tags":{},"startTime":1691873919586},{"traceId":"f3118a7bad57c10e","parentId":2788,"name":"webpack-compilation","id":2790,"timestamp":6436407379,"duration":929577,"tags":{"name":"client"},"startTime":1691873918902},{"traceId":"f3118a7bad57c10e","parentId":2788,"name":"emit","id":2822,"timestamp":6437336993,"duration":33709,"tags":{},"startTime":1691873919831},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2788,"timestamp":6436399630,"duration":979301,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873918894},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2825,"timestamp":6437400094,"duration":0,"tags":{},"startTime":1691873919895},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2831,"timestamp":1691873918895000,"duration":1142000,"tags":{"clientId":1691872020568},"startTime":1691873920051},{"traceId":"f3118a7bad57c10e","parentId":2833,"name":"next-swc-transform","id":2834,"timestamp":6437579430,"duration":9898,"tags":{},"startTime":1691873920074},{"traceId":"f3118a7bad57c10e","parentId":2832,"name":"next-swc-loader","id":2833,"timestamp":6437579216,"duration":10119,"tags":{},"startTime":1691873920074},{"traceId":"f3118a7bad57c10e","parentId":2823,"name":"build-module-tsx","id":2832,"timestamp":6437578938,"duration":13632,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873920073},{"traceId":"f3118a7bad57c10e","parentId":2824,"name":"add-entry","id":2826,"timestamp":6437406359,"duration":195177,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873919901},{"traceId":"f3118a7bad57c10e","parentId":2824,"name":"add-entry","id":2827,"timestamp":6437406456,"duration":195092,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873919901},{"traceId":"f3118a7bad57c10e","parentId":2824,"name":"add-entry","id":2828,"timestamp":6437406475,"duration":195075,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873919901},{"traceId":"f3118a7bad57c10e","parentId":2824,"name":"add-entry","id":2830,"timestamp":6437406496,"duration":195057,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873919901},{"traceId":"f3118a7bad57c10e","parentId":2824,"name":"add-entry","id":2829,"timestamp":6437406486,"duration":195390,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873919901},{"traceId":"f3118a7bad57c10e","parentId":2823,"name":"make","id":2824,"timestamp":6437381155,"duration":220749,"tags":{},"startTime":1691873919876},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"chunk-graph","id":2836,"timestamp":6437602368,"duration":316,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"optimize-modules","id":2838,"timestamp":6437602707,"duration":5,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"optimize-chunks","id":2839,"timestamp":6437602728,"duration":27,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"optimize-tree","id":2840,"timestamp":6437602780,"duration":6,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"optimize-chunk-modules","id":2841,"timestamp":6437602805,"duration":6,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"optimize","id":2837,"timestamp":6437602698,"duration":205,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"module-hash","id":2842,"timestamp":6437603222,"duration":170,"tags":{},"startTime":1691873920098},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"code-generation","id":2843,"timestamp":6437603405,"duration":553,"tags":{},"startTime":1691873920098},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"hash","id":2844,"timestamp":6437604645,"duration":1686,"tags":{},"startTime":1691873920099},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"code-generation-jobs","id":2845,"timestamp":6437606330,"duration":93,"tags":{},"startTime":1691873920101},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"module-assets","id":2846,"timestamp":6437606410,"duration":34,"tags":{},"startTime":1691873920101},{"traceId":"f3118a7bad57c10e","parentId":2835,"name":"create-chunk-assets","id":2847,"timestamp":6437606450,"duration":1105,"tags":{},"startTime":1691873920101},{"traceId":"f3118a7bad57c10e","parentId":2823,"name":"seal","id":2835,"timestamp":6437602268,"duration":5584,"tags":{},"startTime":1691873920097},{"traceId":"f3118a7bad57c10e","parentId":2789,"name":"webpack-compilation","id":2823,"timestamp":6437380796,"duration":227091,"tags":{"name":"server"},"startTime":1691873919875},{"traceId":"f3118a7bad57c10e","parentId":2789,"name":"emit","id":2848,"timestamp":6437607920,"duration":4810,"tags":{},"startTime":1691873920102},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2789,"timestamp":6436400162,"duration":1213460,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873918895}] -[{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2853,"timestamp":6438366101,"duration":9798,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2857,"timestamp":6438366302,"duration":14280,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2859,"timestamp":6438366318,"duration":14276,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2856,"timestamp":6438366296,"duration":15233,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2863,"name":"read-resource","id":2864,"timestamp":6438379462,"duration":2310,"tags":{},"startTime":1691873920874},{"traceId":"f3118a7bad57c10e","parentId":2861,"name":"next-swc-transform","id":2862,"timestamp":6438377294,"duration":24840,"tags":{},"startTime":1691873920872},{"traceId":"f3118a7bad57c10e","parentId":2860,"name":"next-swc-loader","id":2861,"timestamp":6438376951,"duration":25190,"tags":{},"startTime":1691873920871},{"traceId":"f3118a7bad57c10e","parentId":2851,"name":"build-module-tsx","id":2860,"timestamp":6438376562,"duration":40259,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873920871},{"traceId":"f3118a7bad57c10e","parentId":2865,"name":"postcss-process","id":2866,"timestamp":6438381848,"duration":178265,"tags":{},"startTime":1691873920876},{"traceId":"f3118a7bad57c10e","parentId":2863,"name":"postcss-loader","id":2865,"timestamp":6438381825,"duration":187926,"tags":{},"startTime":1691873920876},{"traceId":"f3118a7bad57c10e","parentId":2863,"name":"css-loader","id":2867,"timestamp":6438569802,"duration":51269,"tags":{"astUsed":"true"},"startTime":1691873921064},{"traceId":"f3118a7bad57c10e","parentId":2851,"name":"build-module-css","id":2863,"timestamp":6438379243,"duration":244672,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873920874},{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2854,"timestamp":6438366269,"duration":260134,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2858,"timestamp":6438366312,"duration":304846,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2852,"name":"add-entry","id":2855,"timestamp":6438366288,"duration":432523,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873920861},{"traceId":"f3118a7bad57c10e","parentId":2851,"name":"make","id":2852,"timestamp":6438365101,"duration":433751,"tags":{},"startTime":1691873920860},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"chunk-graph","id":2869,"timestamp":6438805113,"duration":19987,"tags":{},"startTime":1691873921300},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"optimize-modules","id":2871,"timestamp":6438825152,"duration":9,"tags":{},"startTime":1691873921320},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"optimize-chunks","id":2872,"timestamp":6438825186,"duration":458,"tags":{},"startTime":1691873921320},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"optimize-tree","id":2873,"timestamp":6438825686,"duration":13,"tags":{},"startTime":1691873921320},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"optimize-chunk-modules","id":2874,"timestamp":6438825732,"duration":9,"tags":{},"startTime":1691873921320},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"optimize","id":2870,"timestamp":6438825136,"duration":2845,"tags":{},"startTime":1691873921320},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"module-hash","id":2875,"timestamp":6438844995,"duration":2493,"tags":{},"startTime":1691873921339},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"code-generation","id":2876,"timestamp":6438847528,"duration":25338,"tags":{},"startTime":1691873921342},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"hash","id":2877,"timestamp":6438881693,"duration":19787,"tags":{},"startTime":1691873921376},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"code-generation-jobs","id":2878,"timestamp":6438901477,"duration":207,"tags":{},"startTime":1691873921396},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"module-assets","id":2879,"timestamp":6438901655,"duration":349,"tags":{},"startTime":1691873921396},{"traceId":"f3118a7bad57c10e","parentId":2868,"name":"create-chunk-assets","id":2880,"timestamp":6438902013,"duration":17785,"tags":{},"startTime":1691873921396},{"traceId":"f3118a7bad57c10e","parentId":2851,"name":"NextJsBuildManifest-generateClientManifest","id":2882,"timestamp":6438935371,"duration":559,"tags":{},"startTime":1691873921430},{"traceId":"f3118a7bad57c10e","parentId":2851,"name":"NextJsBuildManifest-createassets","id":2881,"timestamp":6438934791,"duration":1190,"tags":{},"startTime":1691873921429},{"traceId":"f3118a7bad57c10e","parentId":2851,"name":"seal","id":2868,"timestamp":6438801088,"duration":149988,"tags":{},"startTime":1691873921296},{"traceId":"f3118a7bad57c10e","parentId":2849,"name":"webpack-compilation","id":2851,"timestamp":6438364042,"duration":587098,"tags":{"name":"client"},"startTime":1691873920858},{"traceId":"f3118a7bad57c10e","parentId":2849,"name":"emit","id":2883,"timestamp":6438951176,"duration":56221,"tags":{},"startTime":1691873921446},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2849,"timestamp":6438350594,"duration":671544,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873920845},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2886,"timestamp":6439033475,"duration":0,"tags":{},"startTime":1691873921528},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2892,"timestamp":1691873920846000,"duration":723000,"tags":{"clientId":1691872020568},"startTime":1691873921573},{"traceId":"f3118a7bad57c10e","parentId":2894,"name":"next-swc-transform","id":2895,"timestamp":6439098563,"duration":3265,"tags":{},"startTime":1691873921593},{"traceId":"f3118a7bad57c10e","parentId":2893,"name":"next-swc-loader","id":2894,"timestamp":6439098421,"duration":3414,"tags":{},"startTime":1691873921593},{"traceId":"f3118a7bad57c10e","parentId":2884,"name":"build-module-tsx","id":2893,"timestamp":6439098002,"duration":5207,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873921592},{"traceId":"f3118a7bad57c10e","parentId":2885,"name":"add-entry","id":2887,"timestamp":6439047188,"duration":56079,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873921542},{"traceId":"f3118a7bad57c10e","parentId":2885,"name":"add-entry","id":2888,"timestamp":6439047259,"duration":56012,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873921542},{"traceId":"f3118a7bad57c10e","parentId":2885,"name":"add-entry","id":2889,"timestamp":6439047271,"duration":56003,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873921542},{"traceId":"f3118a7bad57c10e","parentId":2885,"name":"add-entry","id":2891,"timestamp":6439047285,"duration":55992,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873921542},{"traceId":"f3118a7bad57c10e","parentId":2885,"name":"add-entry","id":2890,"timestamp":6439047278,"duration":56965,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873921542},{"traceId":"f3118a7bad57c10e","parentId":2884,"name":"make","id":2885,"timestamp":6439029350,"duration":74930,"tags":{},"startTime":1691873921524},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"chunk-graph","id":2897,"timestamp":6439104768,"duration":1599,"tags":{},"startTime":1691873921599},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"optimize-modules","id":2899,"timestamp":6439106403,"duration":5,"tags":{},"startTime":1691873921601},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"optimize-chunks","id":2900,"timestamp":6439106429,"duration":32,"tags":{},"startTime":1691873921601},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"optimize-tree","id":2901,"timestamp":6439106490,"duration":7,"tags":{},"startTime":1691873921601},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"optimize-chunk-modules","id":2902,"timestamp":6439106519,"duration":6,"tags":{},"startTime":1691873921601},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"optimize","id":2898,"timestamp":6439106391,"duration":210,"tags":{},"startTime":1691873921601},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"module-hash","id":2903,"timestamp":6439106861,"duration":182,"tags":{},"startTime":1691873921601},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"code-generation","id":2904,"timestamp":6439107058,"duration":2164,"tags":{},"startTime":1691873921602},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"hash","id":2905,"timestamp":6439110224,"duration":1895,"tags":{},"startTime":1691873921605},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"code-generation-jobs","id":2906,"timestamp":6439112117,"duration":86,"tags":{},"startTime":1691873921607},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"module-assets","id":2907,"timestamp":6439112191,"duration":30,"tags":{},"startTime":1691873921607},{"traceId":"f3118a7bad57c10e","parentId":2896,"name":"create-chunk-assets","id":2908,"timestamp":6439112228,"duration":975,"tags":{},"startTime":1691873921607},{"traceId":"f3118a7bad57c10e","parentId":2884,"name":"seal","id":2896,"timestamp":6439104671,"duration":9080,"tags":{},"startTime":1691873921599},{"traceId":"f3118a7bad57c10e","parentId":2850,"name":"webpack-compilation","id":2884,"timestamp":6439028940,"duration":84873,"tags":{"name":"server"},"startTime":1691873921523},{"traceId":"f3118a7bad57c10e","parentId":2850,"name":"emit","id":2909,"timestamp":6439113862,"duration":16747,"tags":{},"startTime":1691873921608},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2850,"timestamp":6438351840,"duration":784701,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873920846}] -[{"traceId":"f3118a7bad57c10e","parentId":2920,"name":"next-swc-transform","id":2921,"timestamp":6449732044,"duration":6263,"tags":{},"startTime":1691873932227},{"traceId":"f3118a7bad57c10e","parentId":2919,"name":"next-swc-loader","id":2920,"timestamp":6449731903,"duration":7086,"tags":{},"startTime":1691873932227},{"traceId":"f3118a7bad57c10e","parentId":2912,"name":"build-module-tsx","id":2919,"timestamp":6449731564,"duration":9283,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873932226},{"traceId":"f3118a7bad57c10e","parentId":2913,"name":"add-entry","id":2914,"timestamp":6449685068,"duration":58714,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873932180},{"traceId":"f3118a7bad57c10e","parentId":2913,"name":"add-entry","id":2915,"timestamp":6449685142,"duration":58650,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873932180},{"traceId":"f3118a7bad57c10e","parentId":2913,"name":"add-entry","id":2916,"timestamp":6449685152,"duration":58643,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873932180},{"traceId":"f3118a7bad57c10e","parentId":2913,"name":"add-entry","id":2917,"timestamp":6449685159,"duration":58638,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873932180},{"traceId":"f3118a7bad57c10e","parentId":2913,"name":"add-entry","id":2918,"timestamp":6449685165,"duration":58633,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873932180},{"traceId":"f3118a7bad57c10e","parentId":2912,"name":"make","id":2913,"timestamp":6449682175,"duration":61653,"tags":{},"startTime":1691873932177},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"chunk-graph","id":2923,"timestamp":6449744384,"duration":499,"tags":{},"startTime":1691873932239},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"optimize-modules","id":2925,"timestamp":6449744917,"duration":5,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"optimize-chunks","id":2926,"timestamp":6449744939,"duration":35,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"optimize-tree","id":2927,"timestamp":6449745007,"duration":8,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"optimize-chunk-modules","id":2928,"timestamp":6449745036,"duration":5,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"optimize","id":2924,"timestamp":6449744904,"duration":214,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"module-hash","id":2929,"timestamp":6449745389,"duration":198,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"code-generation","id":2930,"timestamp":6449745603,"duration":496,"tags":{},"startTime":1691873932240},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"hash","id":2931,"timestamp":6449746989,"duration":2740,"tags":{},"startTime":1691873932242},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"code-generation-jobs","id":2932,"timestamp":6449749728,"duration":91,"tags":{},"startTime":1691873932244},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"module-assets","id":2933,"timestamp":6449749806,"duration":32,"tags":{},"startTime":1691873932245},{"traceId":"f3118a7bad57c10e","parentId":2922,"name":"create-chunk-assets","id":2934,"timestamp":6449749844,"duration":1169,"tags":{},"startTime":1691873932245},{"traceId":"f3118a7bad57c10e","parentId":2912,"name":"seal","id":2922,"timestamp":6449744274,"duration":7033,"tags":{},"startTime":1691873932239},{"traceId":"f3118a7bad57c10e","parentId":2910,"name":"webpack-compilation","id":2912,"timestamp":6449681858,"duration":69485,"tags":{"name":"server"},"startTime":1691873932177},{"traceId":"f3118a7bad57c10e","parentId":2910,"name":"emit","id":2935,"timestamp":6449751369,"duration":17757,"tags":{},"startTime":1691873932246},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2910,"timestamp":6449674928,"duration":94679,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873932170},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2938,"timestamp":6449776585,"duration":6902,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2942,"timestamp":6449776701,"duration":8857,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2943,"timestamp":6449776708,"duration":8858,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2941,"timestamp":6449776695,"duration":9509,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2948,"name":"read-resource","id":2949,"timestamp":6449785300,"duration":2075,"tags":{},"startTime":1691873932280},{"traceId":"f3118a7bad57c10e","parentId":2946,"name":"next-swc-transform","id":2947,"timestamp":6449784370,"duration":12729,"tags":{},"startTime":1691873932279},{"traceId":"f3118a7bad57c10e","parentId":2945,"name":"next-swc-loader","id":2946,"timestamp":6449784220,"duration":12886,"tags":{},"startTime":1691873932279},{"traceId":"f3118a7bad57c10e","parentId":2936,"name":"build-module-tsx","id":2945,"timestamp":6449784021,"duration":15838,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873932279},{"traceId":"f3118a7bad57c10e","parentId":2950,"name":"postcss-process","id":2951,"timestamp":6449787452,"duration":70612,"tags":{},"startTime":1691873932282},{"traceId":"f3118a7bad57c10e","parentId":2948,"name":"postcss-loader","id":2950,"timestamp":6449787428,"duration":70942,"tags":{},"startTime":1691873932282},{"traceId":"f3118a7bad57c10e","parentId":2948,"name":"css-loader","id":2952,"timestamp":6449858418,"duration":13029,"tags":{"astUsed":"true"},"startTime":1691873932353},{"traceId":"f3118a7bad57c10e","parentId":2936,"name":"build-module-css","id":2948,"timestamp":6449785092,"duration":89437,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873932280},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2939,"timestamp":6449776675,"duration":102055,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2944,"timestamp":6449776714,"duration":132536,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2937,"name":"add-entry","id":2940,"timestamp":6449776688,"duration":573253,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873932271},{"traceId":"f3118a7bad57c10e","parentId":2936,"name":"make","id":2937,"timestamp":6449772733,"duration":577245,"tags":{},"startTime":1691873932267},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"chunk-graph","id":2954,"timestamp":6450355483,"duration":26996,"tags":{},"startTime":1691873932850},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"optimize-modules","id":2956,"timestamp":6450382519,"duration":6,"tags":{},"startTime":1691873932877},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"optimize-chunks","id":2957,"timestamp":6450382597,"duration":225,"tags":{},"startTime":1691873932877},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"optimize-tree","id":2958,"timestamp":6450382856,"duration":9,"tags":{},"startTime":1691873932878},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"optimize-chunk-modules","id":2959,"timestamp":6450382896,"duration":6,"tags":{},"startTime":1691873932878},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"optimize","id":2955,"timestamp":6450382505,"duration":3052,"tags":{},"startTime":1691873932877},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"module-hash","id":2960,"timestamp":6450400033,"duration":5124,"tags":{},"startTime":1691873932895},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"code-generation","id":2961,"timestamp":6450405193,"duration":20420,"tags":{},"startTime":1691873932900},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"hash","id":2962,"timestamp":6450443420,"duration":111444,"tags":{},"startTime":1691873932938},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"code-generation-jobs","id":2963,"timestamp":6450554861,"duration":4389,"tags":{},"startTime":1691873933050},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"module-assets","id":2964,"timestamp":6450559210,"duration":387,"tags":{},"startTime":1691873933054},{"traceId":"f3118a7bad57c10e","parentId":2953,"name":"create-chunk-assets","id":2965,"timestamp":6450559611,"duration":28583,"tags":{},"startTime":1691873933054},{"traceId":"f3118a7bad57c10e","parentId":2936,"name":"NextJsBuildManifest-generateClientManifest","id":2967,"timestamp":6450618931,"duration":1857,"tags":{},"startTime":1691873933114},{"traceId":"f3118a7bad57c10e","parentId":2936,"name":"NextJsBuildManifest-createassets","id":2966,"timestamp":6450618824,"duration":1982,"tags":{},"startTime":1691873933114},{"traceId":"f3118a7bad57c10e","parentId":2936,"name":"seal","id":2953,"timestamp":6450351638,"duration":274269,"tags":{},"startTime":1691873932846},{"traceId":"f3118a7bad57c10e","parentId":2911,"name":"webpack-compilation","id":2936,"timestamp":6449772304,"duration":853714,"tags":{"name":"client"},"startTime":1691873932267},{"traceId":"f3118a7bad57c10e","parentId":2911,"name":"emit","id":2968,"timestamp":6450626094,"duration":265771,"tags":{},"startTime":1691873933121},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2911,"timestamp":6449675156,"duration":1219151,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873932170}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":2969,"timestamp":6450938272,"duration":2,"tags":{},"startTime":1691873933433},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":2970,"timestamp":1691873932171000,"duration":1299000,"tags":{"clientId":1691872020568},"startTime":1691873933472},{"traceId":"f3118a7bad57c10e","parentId":2981,"name":"next-swc-transform","id":2982,"timestamp":6455207169,"duration":4418,"tags":{},"startTime":1691873937702},{"traceId":"f3118a7bad57c10e","parentId":2980,"name":"next-swc-loader","id":2981,"timestamp":6455206972,"duration":4624,"tags":{},"startTime":1691873937702},{"traceId":"f3118a7bad57c10e","parentId":2973,"name":"build-module-tsx","id":2980,"timestamp":6455206716,"duration":9184,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873937702},{"traceId":"f3118a7bad57c10e","parentId":2974,"name":"add-entry","id":2975,"timestamp":6455185381,"duration":35565,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873937680},{"traceId":"f3118a7bad57c10e","parentId":2974,"name":"add-entry","id":2976,"timestamp":6455185597,"duration":35360,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873937681},{"traceId":"f3118a7bad57c10e","parentId":2974,"name":"add-entry","id":2977,"timestamp":6455185620,"duration":35341,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873937681},{"traceId":"f3118a7bad57c10e","parentId":2974,"name":"add-entry","id":2978,"timestamp":6455185627,"duration":35335,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873937681},{"traceId":"f3118a7bad57c10e","parentId":2974,"name":"add-entry","id":2979,"timestamp":6455185634,"duration":36609,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873937681},{"traceId":"f3118a7bad57c10e","parentId":2973,"name":"make","id":2974,"timestamp":6455182487,"duration":39872,"tags":{},"startTime":1691873937677},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"chunk-graph","id":2984,"timestamp":6455223142,"duration":559,"tags":{},"startTime":1691873937718},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"optimize-modules","id":2986,"timestamp":6455223732,"duration":8,"tags":{},"startTime":1691873937719},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"optimize-chunks","id":2987,"timestamp":6455223759,"duration":32,"tags":{},"startTime":1691873937719},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"optimize-tree","id":2988,"timestamp":6455223818,"duration":11,"tags":{},"startTime":1691873937719},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"optimize-chunk-modules","id":2989,"timestamp":6455223848,"duration":6,"tags":{},"startTime":1691873937719},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"optimize","id":2985,"timestamp":6455223722,"duration":218,"tags":{},"startTime":1691873937719},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"module-hash","id":2990,"timestamp":6455224273,"duration":312,"tags":{},"startTime":1691873937719},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"code-generation","id":2991,"timestamp":6455224603,"duration":623,"tags":{},"startTime":1691873937720},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"hash","id":2992,"timestamp":6455226085,"duration":1487,"tags":{},"startTime":1691873937721},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"code-generation-jobs","id":2993,"timestamp":6455227570,"duration":95,"tags":{},"startTime":1691873937722},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"module-assets","id":2994,"timestamp":6455227654,"duration":37,"tags":{},"startTime":1691873937723},{"traceId":"f3118a7bad57c10e","parentId":2983,"name":"create-chunk-assets","id":2995,"timestamp":6455227697,"duration":2564,"tags":{},"startTime":1691873937723},{"traceId":"f3118a7bad57c10e","parentId":2973,"name":"seal","id":2983,"timestamp":6455223030,"duration":7549,"tags":{},"startTime":1691873937718},{"traceId":"f3118a7bad57c10e","parentId":2971,"name":"webpack-compilation","id":2973,"timestamp":6455182123,"duration":48497,"tags":{"name":"server"},"startTime":1691873937677},{"traceId":"f3118a7bad57c10e","parentId":2971,"name":"emit","id":2996,"timestamp":6455230643,"duration":44247,"tags":{},"startTime":1691873937726},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":2971,"timestamp":6455173099,"duration":102221,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873937668},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":2999,"timestamp":6455279740,"duration":9692,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":3003,"timestamp":6455279834,"duration":11985,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":3004,"timestamp":6455279842,"duration":11987,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":3002,"timestamp":6455279827,"duration":12881,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":3009,"name":"read-resource","id":3010,"timestamp":6455291547,"duration":1912,"tags":{},"startTime":1691873937786},{"traceId":"f3118a7bad57c10e","parentId":3007,"name":"next-swc-transform","id":3008,"timestamp":6455290592,"duration":75364,"tags":{},"startTime":1691873937786},{"traceId":"f3118a7bad57c10e","parentId":3006,"name":"next-swc-loader","id":3007,"timestamp":6455290484,"duration":75479,"tags":{},"startTime":1691873937785},{"traceId":"f3118a7bad57c10e","parentId":2997,"name":"build-module-tsx","id":3006,"timestamp":6455290192,"duration":78737,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873937785},{"traceId":"f3118a7bad57c10e","parentId":3011,"name":"postcss-process","id":3012,"timestamp":6455293529,"duration":221928,"tags":{},"startTime":1691873937788},{"traceId":"f3118a7bad57c10e","parentId":3009,"name":"postcss-loader","id":3011,"timestamp":6455293503,"duration":222641,"tags":{},"startTime":1691873937788},{"traceId":"f3118a7bad57c10e","parentId":3009,"name":"css-loader","id":3013,"timestamp":6455516189,"duration":30306,"tags":{"astUsed":"true"},"startTime":1691873938011},{"traceId":"f3118a7bad57c10e","parentId":2997,"name":"build-module-css","id":3009,"timestamp":6455291349,"duration":259362,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873937786},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":3000,"timestamp":6455279809,"duration":303165,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":3005,"timestamp":6455279848,"duration":318373,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":2998,"name":"add-entry","id":3001,"timestamp":6455279820,"duration":723043,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873937775},{"traceId":"f3118a7bad57c10e","parentId":2997,"name":"make","id":2998,"timestamp":6455277723,"duration":725173,"tags":{},"startTime":1691873937773},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"chunk-graph","id":3015,"timestamp":6456010357,"duration":147650,"tags":{},"startTime":1691873938505},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"optimize-modules","id":3017,"timestamp":6456158047,"duration":6,"tags":{},"startTime":1691873938653},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"optimize-chunks","id":3018,"timestamp":6456158073,"duration":32434,"tags":{},"startTime":1691873938653},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"optimize-tree","id":3019,"timestamp":6456190546,"duration":12,"tags":{},"startTime":1691873938685},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"optimize-chunk-modules","id":3020,"timestamp":6456190586,"duration":7,"tags":{},"startTime":1691873938686},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"optimize","id":3016,"timestamp":6456158033,"duration":34276,"tags":{},"startTime":1691873938653},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"module-hash","id":3021,"timestamp":6456307125,"duration":1912,"tags":{},"startTime":1691873938802},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"code-generation","id":3022,"timestamp":6456309067,"duration":27072,"tags":{},"startTime":1691873938804},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"hash","id":3023,"timestamp":6456342219,"duration":48179,"tags":{},"startTime":1691873938837},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"code-generation-jobs","id":3024,"timestamp":6456390396,"duration":214,"tags":{},"startTime":1691873938885},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"module-assets","id":3025,"timestamp":6456390577,"duration":611,"tags":{},"startTime":1691873938886},{"traceId":"f3118a7bad57c10e","parentId":3014,"name":"create-chunk-assets","id":3026,"timestamp":6456391232,"duration":2419,"tags":{},"startTime":1691873938886},{"traceId":"f3118a7bad57c10e","parentId":2997,"name":"NextJsBuildManifest-generateClientManifest","id":3028,"timestamp":6456405045,"duration":113,"tags":{},"startTime":1691873938900},{"traceId":"f3118a7bad57c10e","parentId":2997,"name":"NextJsBuildManifest-createassets","id":3027,"timestamp":6456404934,"duration":232,"tags":{},"startTime":1691873938900},{"traceId":"f3118a7bad57c10e","parentId":2997,"name":"seal","id":3014,"timestamp":6456004857,"duration":405884,"tags":{},"startTime":1691873938500},{"traceId":"f3118a7bad57c10e","parentId":2972,"name":"webpack-compilation","id":2997,"timestamp":6455277368,"duration":1133469,"tags":{"name":"client"},"startTime":1691873937772},{"traceId":"f3118a7bad57c10e","parentId":2972,"name":"emit","id":3029,"timestamp":6456410867,"duration":74520,"tags":{},"startTime":1691873938906},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":2972,"timestamp":6455173295,"duration":1314400,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873937668}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3030,"timestamp":6456503072,"duration":0,"tags":{},"startTime":1691873938998},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3031,"timestamp":1691873937669000,"duration":1367000,"tags":{"clientId":1691872020568},"startTime":1691873939037},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3036,"timestamp":6466694380,"duration":15345,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3040,"timestamp":6466694544,"duration":17370,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3042,"timestamp":6466694558,"duration":17368,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3046,"name":"read-resource","id":3047,"timestamp":6466711623,"duration":741,"tags":{},"startTime":1691873949207},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3039,"timestamp":6466694537,"duration":224632,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3044,"name":"next-swc-transform","id":3045,"timestamp":6466710871,"duration":277336,"tags":{},"startTime":1691873949206},{"traceId":"f3118a7bad57c10e","parentId":3043,"name":"next-swc-loader","id":3044,"timestamp":6466710657,"duration":277558,"tags":{},"startTime":1691873949206},{"traceId":"f3118a7bad57c10e","parentId":3034,"name":"build-module-tsx","id":3043,"timestamp":6466710365,"duration":417474,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873949206},{"traceId":"f3118a7bad57c10e","parentId":3048,"name":"postcss-process","id":3049,"timestamp":6466712446,"duration":1124820,"tags":{},"startTime":1691873949208},{"traceId":"f3118a7bad57c10e","parentId":3046,"name":"postcss-loader","id":3048,"timestamp":6466712409,"duration":1125593,"tags":{},"startTime":1691873949208},{"traceId":"f3118a7bad57c10e","parentId":3046,"name":"css-loader","id":3050,"timestamp":6467838044,"duration":88399,"tags":{"astUsed":"true"},"startTime":1691873950333},{"traceId":"f3118a7bad57c10e","parentId":3034,"name":"build-module-css","id":3046,"timestamp":6466711433,"duration":1216917,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873949207},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3037,"timestamp":6466694515,"duration":1240047,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3041,"timestamp":6466694552,"duration":1253985,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3035,"name":"add-entry","id":3038,"timestamp":6466694529,"duration":1746634,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873949190},{"traceId":"f3118a7bad57c10e","parentId":3034,"name":"make","id":3035,"timestamp":6466692807,"duration":1748391,"tags":{},"startTime":1691873949188},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"chunk-graph","id":3052,"timestamp":6468455845,"duration":179360,"tags":{},"startTime":1691873950951},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"optimize-modules","id":3054,"timestamp":6468635243,"duration":10,"tags":{},"startTime":1691873951131},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"optimize-chunks","id":3055,"timestamp":6468635275,"duration":269,"tags":{},"startTime":1691873951131},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"optimize-tree","id":3056,"timestamp":6468635581,"duration":15,"tags":{},"startTime":1691873951131},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"optimize-chunk-modules","id":3057,"timestamp":6468635636,"duration":7,"tags":{},"startTime":1691873951131},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"optimize","id":3053,"timestamp":6468635230,"duration":3658,"tags":{},"startTime":1691873951131},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"module-hash","id":3058,"timestamp":6468673741,"duration":2580,"tags":{},"startTime":1691873951169},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"code-generation","id":3059,"timestamp":6468676357,"duration":67080,"tags":{},"startTime":1691873951172},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"hash","id":3060,"timestamp":6468770527,"duration":55249,"tags":{},"startTime":1691873951266},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"code-generation-jobs","id":3061,"timestamp":6468825773,"duration":215,"tags":{},"startTime":1691873951321},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"module-assets","id":3062,"timestamp":6468825936,"duration":402,"tags":{},"startTime":1691873951321},{"traceId":"f3118a7bad57c10e","parentId":3051,"name":"create-chunk-assets","id":3063,"timestamp":6468826353,"duration":12024,"tags":{},"startTime":1691873951322},{"traceId":"f3118a7bad57c10e","parentId":3034,"name":"NextJsBuildManifest-generateClientManifest","id":3065,"timestamp":6468850987,"duration":167,"tags":{},"startTime":1691873951346},{"traceId":"f3118a7bad57c10e","parentId":3034,"name":"NextJsBuildManifest-createassets","id":3064,"timestamp":6468850862,"duration":302,"tags":{},"startTime":1691873951346},{"traceId":"f3118a7bad57c10e","parentId":3034,"name":"seal","id":3051,"timestamp":6468449425,"duration":408185,"tags":{},"startTime":1691873950945},{"traceId":"f3118a7bad57c10e","parentId":3032,"name":"webpack-compilation","id":3034,"timestamp":6466692390,"duration":2165299,"tags":{"name":"client"},"startTime":1691873949188},{"traceId":"f3118a7bad57c10e","parentId":3032,"name":"emit","id":3066,"timestamp":6468857718,"duration":60795,"tags":{},"startTime":1691873951353},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3032,"timestamp":6466683854,"duration":2235925,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873949179},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3069,"timestamp":6468957098,"duration":0,"tags":{},"startTime":1691873951452},{"traceId":"f3118a7bad57c10e","parentId":3076,"name":"next-swc-transform","id":3077,"timestamp":6469065250,"duration":17141,"tags":{},"startTime":1691873951561},{"traceId":"f3118a7bad57c10e","parentId":3075,"name":"next-swc-loader","id":3076,"timestamp":6469064986,"duration":17415,"tags":{},"startTime":1691873951560},{"traceId":"f3118a7bad57c10e","parentId":3067,"name":"build-module-tsx","id":3075,"timestamp":6469064654,"duration":24295,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873951560},{"traceId":"f3118a7bad57c10e","parentId":3068,"name":"add-entry","id":3070,"timestamp":6468988224,"duration":104581,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873951484},{"traceId":"f3118a7bad57c10e","parentId":3068,"name":"add-entry","id":3071,"timestamp":6468988289,"duration":104529,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873951484},{"traceId":"f3118a7bad57c10e","parentId":3068,"name":"add-entry","id":3072,"timestamp":6468988301,"duration":104521,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873951484},{"traceId":"f3118a7bad57c10e","parentId":3068,"name":"add-entry","id":3074,"timestamp":6468988315,"duration":104514,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873951484},{"traceId":"f3118a7bad57c10e","parentId":3068,"name":"add-entry","id":3073,"timestamp":6468988308,"duration":107262,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873951484},{"traceId":"f3118a7bad57c10e","parentId":3067,"name":"make","id":3068,"timestamp":6468923828,"duration":171780,"tags":{},"startTime":1691873951419},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"chunk-graph","id":3079,"timestamp":6469097478,"duration":2125,"tags":{},"startTime":1691873951593},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"optimize-modules","id":3081,"timestamp":6469099646,"duration":6,"tags":{},"startTime":1691873951595},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"optimize-chunks","id":3082,"timestamp":6469099676,"duration":47,"tags":{},"startTime":1691873951595},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"optimize-tree","id":3083,"timestamp":6469099755,"duration":11,"tags":{},"startTime":1691873951595},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"optimize-chunk-modules","id":3084,"timestamp":6469099787,"duration":9,"tags":{},"startTime":1691873951595},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"optimize","id":3080,"timestamp":6469099631,"duration":279,"tags":{},"startTime":1691873951595},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"module-hash","id":3085,"timestamp":6469100221,"duration":208,"tags":{},"startTime":1691873951596},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"code-generation","id":3086,"timestamp":6469100447,"duration":600,"tags":{},"startTime":1691873951596},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"hash","id":3087,"timestamp":6469103871,"duration":10402,"tags":{},"startTime":1691873951599},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"code-generation-jobs","id":3088,"timestamp":6469114271,"duration":112,"tags":{},"startTime":1691873951610},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"module-assets","id":3089,"timestamp":6469114370,"duration":58,"tags":{},"startTime":1691873951610},{"traceId":"f3118a7bad57c10e","parentId":3078,"name":"create-chunk-assets","id":3090,"timestamp":6469114437,"duration":1425,"tags":{},"startTime":1691873951610},{"traceId":"f3118a7bad57c10e","parentId":3067,"name":"seal","id":3078,"timestamp":6469097327,"duration":18823,"tags":{},"startTime":1691873951593},{"traceId":"f3118a7bad57c10e","parentId":3033,"name":"webpack-compilation","id":3067,"timestamp":6468923467,"duration":192718,"tags":{"name":"server"},"startTime":1691873951419},{"traceId":"f3118a7bad57c10e","parentId":3033,"name":"emit","id":3091,"timestamp":6469116207,"duration":6003,"tags":{},"startTime":1691873951611},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3033,"timestamp":6466684140,"duration":2438901,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873949179}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3092,"timestamp":1691873949180000,"duration":2470000,"tags":{"clientId":1691872020568},"startTime":1691873951665},{"traceId":"f3118a7bad57c10e","parentId":3096,"name":"add-entry","id":3097,"timestamp":6514336287,"duration":37649,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873996833},{"traceId":"f3118a7bad57c10e","parentId":3096,"name":"add-entry","id":3098,"timestamp":6514336375,"duration":37575,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873996833},{"traceId":"f3118a7bad57c10e","parentId":3096,"name":"add-entry","id":3099,"timestamp":6514336386,"duration":37566,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873996833},{"traceId":"f3118a7bad57c10e","parentId":3096,"name":"add-entry","id":3100,"timestamp":6514336394,"duration":37850,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873996833},{"traceId":"f3118a7bad57c10e","parentId":3103,"name":"next-swc-transform","id":3104,"timestamp":6514370334,"duration":23583,"tags":{},"startTime":1691873996867},{"traceId":"f3118a7bad57c10e","parentId":3102,"name":"next-swc-loader","id":3103,"timestamp":6514370206,"duration":23718,"tags":{},"startTime":1691873996867},{"traceId":"f3118a7bad57c10e","parentId":3095,"name":"build-module-tsx","id":3102,"timestamp":6514370017,"duration":27805,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873996867},{"traceId":"f3118a7bad57c10e","parentId":3096,"name":"add-entry","id":3101,"timestamp":6514336401,"duration":62074,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691873996833},{"traceId":"f3118a7bad57c10e","parentId":3095,"name":"make","id":3096,"timestamp":6514331422,"duration":67084,"tags":{},"startTime":1691873996828},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"chunk-graph","id":3106,"timestamp":6514400657,"duration":1507,"tags":{},"startTime":1691873996897},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"optimize-modules","id":3108,"timestamp":6514402204,"duration":8,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"optimize-chunks","id":3109,"timestamp":6514402236,"duration":40,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"optimize-tree","id":3110,"timestamp":6514402306,"duration":10,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"optimize-chunk-modules","id":3111,"timestamp":6514402336,"duration":8,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"optimize","id":3107,"timestamp":6514402191,"duration":229,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"module-hash","id":3112,"timestamp":6514402702,"duration":201,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"code-generation","id":3113,"timestamp":6514402919,"duration":509,"tags":{},"startTime":1691873996899},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"hash","id":3114,"timestamp":6514404217,"duration":1626,"tags":{},"startTime":1691873996901},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"code-generation-jobs","id":3115,"timestamp":6514405841,"duration":99,"tags":{},"startTime":1691873996902},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"module-assets","id":3116,"timestamp":6514405926,"duration":32,"tags":{},"startTime":1691873996902},{"traceId":"f3118a7bad57c10e","parentId":3105,"name":"create-chunk-assets","id":3117,"timestamp":6514405964,"duration":1147,"tags":{},"startTime":1691873996902},{"traceId":"f3118a7bad57c10e","parentId":3095,"name":"seal","id":3105,"timestamp":6514399299,"duration":8154,"tags":{},"startTime":1691873996896},{"traceId":"f3118a7bad57c10e","parentId":3093,"name":"webpack-compilation","id":3095,"timestamp":6514331049,"duration":76447,"tags":{"name":"server"},"startTime":1691873996828},{"traceId":"f3118a7bad57c10e","parentId":3093,"name":"emit","id":3118,"timestamp":6514407528,"duration":6599,"tags":{},"startTime":1691873996904},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3093,"timestamp":6514324771,"duration":89866,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873996821},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3121,"timestamp":6514429189,"duration":16126,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3125,"timestamp":6514429270,"duration":19339,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3127,"timestamp":6514429284,"duration":19335,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3124,"timestamp":6514429264,"duration":21403,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3131,"name":"read-resource","id":3132,"timestamp":6514448037,"duration":5697,"tags":{},"startTime":1691873996945},{"traceId":"f3118a7bad57c10e","parentId":3129,"name":"next-swc-transform","id":3130,"timestamp":6514446563,"duration":173120,"tags":{},"startTime":1691873996943},{"traceId":"f3118a7bad57c10e","parentId":3128,"name":"next-swc-loader","id":3129,"timestamp":6514446427,"duration":173263,"tags":{},"startTime":1691873996943},{"traceId":"f3118a7bad57c10e","parentId":3119,"name":"build-module-tsx","id":3128,"timestamp":6514446106,"duration":195744,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691873996943},{"traceId":"f3118a7bad57c10e","parentId":3133,"name":"postcss-process","id":3134,"timestamp":6514453821,"duration":303658,"tags":{},"startTime":1691873996950},{"traceId":"f3118a7bad57c10e","parentId":3131,"name":"postcss-loader","id":3133,"timestamp":6514453787,"duration":305203,"tags":{},"startTime":1691873996950},{"traceId":"f3118a7bad57c10e","parentId":3131,"name":"css-loader","id":3135,"timestamp":6514759036,"duration":67711,"tags":{"astUsed":"true"},"startTime":1691873997256},{"traceId":"f3118a7bad57c10e","parentId":3119,"name":"build-module-css","id":3131,"timestamp":6514447791,"duration":429624,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691873996944},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3122,"timestamp":6514429247,"duration":497632,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3126,"timestamp":6514429277,"duration":553237,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3120,"name":"add-entry","id":3123,"timestamp":6514429256,"duration":797628,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691873996926},{"traceId":"f3118a7bad57c10e","parentId":3119,"name":"make","id":3120,"timestamp":6514427315,"duration":799604,"tags":{},"startTime":1691873996924},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"chunk-graph","id":3137,"timestamp":6515238622,"duration":14934,"tags":{},"startTime":1691873997735},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"optimize-modules","id":3139,"timestamp":6515253601,"duration":10,"tags":{},"startTime":1691873997750},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"optimize-chunks","id":3140,"timestamp":6515253642,"duration":2900,"tags":{},"startTime":1691873997750},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"optimize-tree","id":3141,"timestamp":6515256585,"duration":29,"tags":{},"startTime":1691873997753},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"optimize-chunk-modules","id":3142,"timestamp":6515256657,"duration":10,"tags":{},"startTime":1691873997753},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"optimize","id":3138,"timestamp":6515253585,"duration":18011,"tags":{},"startTime":1691873997750},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"module-hash","id":3143,"timestamp":6515290764,"duration":3647,"tags":{},"startTime":1691873997787},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"code-generation","id":3144,"timestamp":6515294448,"duration":20710,"tags":{},"startTime":1691873997791},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"hash","id":3145,"timestamp":6515322957,"duration":20624,"tags":{},"startTime":1691873997820},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"code-generation-jobs","id":3146,"timestamp":6515343579,"duration":234,"tags":{},"startTime":1691873997840},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"module-assets","id":3147,"timestamp":6515343774,"duration":7146,"tags":{},"startTime":1691873997840},{"traceId":"f3118a7bad57c10e","parentId":3136,"name":"create-chunk-assets","id":3148,"timestamp":6515350956,"duration":47010,"tags":{},"startTime":1691873997848},{"traceId":"f3118a7bad57c10e","parentId":3119,"name":"NextJsBuildManifest-generateClientManifest","id":3150,"timestamp":6515409346,"duration":264,"tags":{},"startTime":1691873997906},{"traceId":"f3118a7bad57c10e","parentId":3119,"name":"NextJsBuildManifest-createassets","id":3149,"timestamp":6515408278,"duration":1343,"tags":{},"startTime":1691873997905},{"traceId":"f3118a7bad57c10e","parentId":3119,"name":"seal","id":3136,"timestamp":6515228712,"duration":185513,"tags":{},"startTime":1691873997725},{"traceId":"f3118a7bad57c10e","parentId":3094,"name":"webpack-compilation","id":3119,"timestamp":6514426926,"duration":987353,"tags":{"name":"client"},"startTime":1691873996923},{"traceId":"f3118a7bad57c10e","parentId":3094,"name":"emit","id":3151,"timestamp":6515414359,"duration":92851,"tags":{},"startTime":1691873997911},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3094,"timestamp":6514324973,"duration":1197363,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691873996821}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3152,"timestamp":6515547253,"duration":0,"tags":{},"startTime":1691873998044},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3153,"timestamp":1691873996822000,"duration":1253000,"tags":{"clientId":1691872020568},"startTime":1691873998076},{"traceId":"f3118a7bad57c10e","parentId":3164,"name":"next-swc-transform","id":3165,"timestamp":6693573809,"duration":3383,"tags":{},"startTime":1691874176075},{"traceId":"f3118a7bad57c10e","parentId":3163,"name":"next-swc-loader","id":3164,"timestamp":6693573413,"duration":3786,"tags":{},"startTime":1691874176075},{"traceId":"f3118a7bad57c10e","parentId":3156,"name":"build-module-tsx","id":3163,"timestamp":6693573014,"duration":10139,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874176074},{"traceId":"f3118a7bad57c10e","parentId":3157,"name":"add-entry","id":3158,"timestamp":6693553363,"duration":31827,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874176055},{"traceId":"f3118a7bad57c10e","parentId":3157,"name":"add-entry","id":3159,"timestamp":6693553699,"duration":31507,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874176055},{"traceId":"f3118a7bad57c10e","parentId":3157,"name":"add-entry","id":3160,"timestamp":6693553726,"duration":31483,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874176055},{"traceId":"f3118a7bad57c10e","parentId":3157,"name":"add-entry","id":3161,"timestamp":6693553735,"duration":31484,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874176055},{"traceId":"f3118a7bad57c10e","parentId":3157,"name":"add-entry","id":3162,"timestamp":6693553743,"duration":31479,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874176055},{"traceId":"f3118a7bad57c10e","parentId":3156,"name":"make","id":3157,"timestamp":6693550699,"duration":34560,"tags":{},"startTime":1691874176052},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"chunk-graph","id":3167,"timestamp":6693586269,"duration":972,"tags":{},"startTime":1691874176088},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"optimize-modules","id":3169,"timestamp":6693587551,"duration":131,"tags":{},"startTime":1691874176089},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"optimize-chunks","id":3170,"timestamp":6693587806,"duration":180,"tags":{},"startTime":1691874176089},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"optimize-tree","id":3171,"timestamp":6693588100,"duration":49,"tags":{},"startTime":1691874176090},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"optimize-chunk-modules","id":3172,"timestamp":6693588233,"duration":49,"tags":{},"startTime":1691874176090},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"optimize","id":3168,"timestamp":6693587310,"duration":1166,"tags":{},"startTime":1691874176089},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"module-hash","id":3173,"timestamp":6693589154,"duration":285,"tags":{},"startTime":1691874176091},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"code-generation","id":3174,"timestamp":6693589465,"duration":785,"tags":{},"startTime":1691874176091},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"hash","id":3175,"timestamp":6693592109,"duration":2041,"tags":{},"startTime":1691874176094},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"code-generation-jobs","id":3176,"timestamp":6693594148,"duration":223,"tags":{},"startTime":1691874176096},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"module-assets","id":3177,"timestamp":6693594350,"duration":49,"tags":{},"startTime":1691874176096},{"traceId":"f3118a7bad57c10e","parentId":3166,"name":"create-chunk-assets","id":3178,"timestamp":6693594410,"duration":41625,"tags":{},"startTime":1691874176096},{"traceId":"f3118a7bad57c10e","parentId":3156,"name":"seal","id":3166,"timestamp":6693585992,"duration":51682,"tags":{},"startTime":1691874176087},{"traceId":"f3118a7bad57c10e","parentId":3154,"name":"webpack-compilation","id":3156,"timestamp":6693550359,"duration":87361,"tags":{"name":"server"},"startTime":1691874176052},{"traceId":"f3118a7bad57c10e","parentId":3154,"name":"emit","id":3179,"timestamp":6693637753,"duration":15498,"tags":{},"startTime":1691874176139},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3154,"timestamp":6693539766,"duration":114828,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874176041},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3182,"timestamp":6693665290,"duration":32000,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3190,"name":"next-swc-transform","id":3191,"timestamp":6693698727,"duration":3590,"tags":{},"startTime":1691874176200},{"traceId":"f3118a7bad57c10e","parentId":3189,"name":"next-swc-loader","id":3190,"timestamp":6693698612,"duration":3714,"tags":{},"startTime":1691874176200},{"traceId":"f3118a7bad57c10e","parentId":3180,"name":"build-module-tsx","id":3189,"timestamp":6693698189,"duration":25010,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874176200},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3186,"timestamp":6693665430,"duration":58130,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3188,"timestamp":6693665456,"duration":58113,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3185,"timestamp":6693665421,"duration":59432,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3192,"name":"read-resource","id":3193,"timestamp":6693701861,"duration":25681,"tags":{},"startTime":1691874176203},{"traceId":"f3118a7bad57c10e","parentId":3194,"name":"postcss-process","id":3195,"timestamp":6693727740,"duration":655644,"tags":{},"startTime":1691874176229},{"traceId":"f3118a7bad57c10e","parentId":3192,"name":"postcss-loader","id":3194,"timestamp":6693727695,"duration":657015,"tags":{},"startTime":1691874176229},{"traceId":"f3118a7bad57c10e","parentId":3192,"name":"css-loader","id":3196,"timestamp":6694384760,"duration":110478,"tags":{"astUsed":"true"},"startTime":1691874176886},{"traceId":"f3118a7bad57c10e","parentId":3180,"name":"build-module-css","id":3192,"timestamp":6693701525,"duration":801889,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874176203},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3183,"timestamp":6693665387,"duration":842185,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3187,"timestamp":6693665444,"duration":868241,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3181,"name":"add-entry","id":3184,"timestamp":6693665406,"duration":1046648,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874176167},{"traceId":"f3118a7bad57c10e","parentId":3180,"name":"make","id":3181,"timestamp":6693661760,"duration":1050330,"tags":{},"startTime":1691874176163},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"chunk-graph","id":3198,"timestamp":6694720536,"duration":36287,"tags":{},"startTime":1691874177222},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"optimize-modules","id":3200,"timestamp":6694756871,"duration":7,"tags":{},"startTime":1691874177258},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"optimize-chunks","id":3201,"timestamp":6694757021,"duration":306,"tags":{},"startTime":1691874177258},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"optimize-tree","id":3202,"timestamp":6694757421,"duration":13,"tags":{},"startTime":1691874177259},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"optimize-chunk-modules","id":3203,"timestamp":6694757521,"duration":10,"tags":{},"startTime":1691874177259},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"optimize","id":3199,"timestamp":6694756855,"duration":4791,"tags":{},"startTime":1691874177258},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"module-hash","id":3204,"timestamp":6694786049,"duration":2602,"tags":{},"startTime":1691874177287},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"code-generation","id":3205,"timestamp":6694788690,"duration":36638,"tags":{},"startTime":1691874177290},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"hash","id":3206,"timestamp":6694872756,"duration":20426,"tags":{},"startTime":1691874177374},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"code-generation-jobs","id":3207,"timestamp":6694893180,"duration":371,"tags":{},"startTime":1691874177395},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"module-assets","id":3208,"timestamp":6694893503,"duration":4093,"tags":{},"startTime":1691874177395},{"traceId":"f3118a7bad57c10e","parentId":3197,"name":"create-chunk-assets","id":3209,"timestamp":6694897631,"duration":7315,"tags":{},"startTime":1691874177399},{"traceId":"f3118a7bad57c10e","parentId":3180,"name":"NextJsBuildManifest-generateClientManifest","id":3211,"timestamp":6694909578,"duration":165,"tags":{},"startTime":1691874177411},{"traceId":"f3118a7bad57c10e","parentId":3180,"name":"NextJsBuildManifest-createassets","id":3210,"timestamp":6694909446,"duration":307,"tags":{},"startTime":1691874177411},{"traceId":"f3118a7bad57c10e","parentId":3180,"name":"seal","id":3197,"timestamp":6694713922,"duration":216753,"tags":{},"startTime":1691874177215},{"traceId":"f3118a7bad57c10e","parentId":3155,"name":"webpack-compilation","id":3180,"timestamp":6693657054,"duration":1273681,"tags":{"name":"client"},"startTime":1691874176158},{"traceId":"f3118a7bad57c10e","parentId":3155,"name":"emit","id":3212,"timestamp":6694930773,"duration":166318,"tags":{},"startTime":1691874177432},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3155,"timestamp":6693540168,"duration":1563356,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874176042}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3213,"timestamp":6695142611,"duration":0,"tags":{},"startTime":1691874177644},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3214,"timestamp":1691874176042000,"duration":1641000,"tags":{"clientId":1691872020568},"startTime":1691874177698},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3219,"timestamp":6696687304,"duration":11728,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3227,"name":"next-swc-transform","id":3228,"timestamp":6696702688,"duration":1582,"tags":{},"startTime":1691874179204},{"traceId":"f3118a7bad57c10e","parentId":3226,"name":"next-swc-loader","id":3227,"timestamp":6696702491,"duration":1788,"tags":{},"startTime":1691874179204},{"traceId":"f3118a7bad57c10e","parentId":3217,"name":"build-module-tsx","id":3226,"timestamp":6696701919,"duration":3140,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874179203},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3223,"timestamp":6696687473,"duration":17810,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3224,"timestamp":6696687482,"duration":17810,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3222,"timestamp":6696687467,"duration":19050,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3229,"name":"read-resource","id":3230,"timestamp":6696703951,"duration":3169,"tags":{},"startTime":1691874179205},{"traceId":"f3118a7bad57c10e","parentId":3231,"name":"postcss-process","id":3232,"timestamp":6696707198,"duration":117681,"tags":{},"startTime":1691874179209},{"traceId":"f3118a7bad57c10e","parentId":3229,"name":"postcss-loader","id":3231,"timestamp":6696707171,"duration":118423,"tags":{},"startTime":1691874179209},{"traceId":"f3118a7bad57c10e","parentId":3229,"name":"css-loader","id":3233,"timestamp":6696825629,"duration":60264,"tags":{"astUsed":"true"},"startTime":1691874179327},{"traceId":"f3118a7bad57c10e","parentId":3217,"name":"build-module-css","id":3229,"timestamp":6696703644,"duration":196536,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874179205},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3220,"timestamp":6696687442,"duration":215708,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3225,"timestamp":6696687488,"duration":234736,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3218,"name":"add-entry","id":3221,"timestamp":6696687459,"duration":429889,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874179189},{"traceId":"f3118a7bad57c10e","parentId":3217,"name":"make","id":3218,"timestamp":6696686253,"duration":431133,"tags":{},"startTime":1691874179188},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"chunk-graph","id":3235,"timestamp":6697138431,"duration":19345,"tags":{},"startTime":1691874179640},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"optimize-modules","id":3237,"timestamp":6697157822,"duration":11,"tags":{},"startTime":1691874179659},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"optimize-chunks","id":3238,"timestamp":6697157857,"duration":218,"tags":{},"startTime":1691874179659},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"optimize-tree","id":3239,"timestamp":6697158107,"duration":11,"tags":{},"startTime":1691874179660},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"optimize-chunk-modules","id":3240,"timestamp":6697158195,"duration":11,"tags":{},"startTime":1691874179660},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"optimize","id":3236,"timestamp":6697157805,"duration":16904,"tags":{},"startTime":1691874179659},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"module-hash","id":3241,"timestamp":6697240853,"duration":2103,"tags":{},"startTime":1691874179742},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"code-generation","id":3242,"timestamp":6697242987,"duration":30399,"tags":{},"startTime":1691874179745},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"hash","id":3243,"timestamp":6697300677,"duration":12679,"tags":{},"startTime":1691874179802},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"code-generation-jobs","id":3244,"timestamp":6697313353,"duration":190,"tags":{},"startTime":1691874179815},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"module-assets","id":3245,"timestamp":6697313510,"duration":357,"tags":{},"startTime":1691874179815},{"traceId":"f3118a7bad57c10e","parentId":3234,"name":"create-chunk-assets","id":3246,"timestamp":6697313878,"duration":18575,"tags":{},"startTime":1691874179815},{"traceId":"f3118a7bad57c10e","parentId":3217,"name":"NextJsBuildManifest-generateClientManifest","id":3248,"timestamp":6697336608,"duration":113,"tags":{},"startTime":1691874179838},{"traceId":"f3118a7bad57c10e","parentId":3217,"name":"NextJsBuildManifest-createassets","id":3247,"timestamp":6697336484,"duration":245,"tags":{},"startTime":1691874179838},{"traceId":"f3118a7bad57c10e","parentId":3217,"name":"seal","id":3234,"timestamp":6697120181,"duration":220360,"tags":{},"startTime":1691874179622},{"traceId":"f3118a7bad57c10e","parentId":3215,"name":"webpack-compilation","id":3217,"timestamp":6696685845,"duration":654759,"tags":{"name":"client"},"startTime":1691874179187},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3215,"timestamp":6696677086,"duration":705565,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874179179},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":3251,"timestamp":6697450385,"duration":0,"tags":{"errorCount":1},"startTime":1691874179952},{"traceId":"f3118a7bad57c10e","parentId":3258,"name":"next-swc-transform","id":3259,"timestamp":6697478793,"duration":2449,"tags":{},"startTime":1691874179980},{"traceId":"f3118a7bad57c10e","parentId":3257,"name":"next-swc-loader","id":3258,"timestamp":6697478573,"duration":2679,"tags":{},"startTime":1691874179980},{"traceId":"f3118a7bad57c10e","parentId":3249,"name":"build-module-tsx","id":3257,"timestamp":6697477822,"duration":3581,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874179979},{"traceId":"f3118a7bad57c10e","parentId":3250,"name":"add-entry","id":3252,"timestamp":6697451223,"duration":33062,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874179953},{"traceId":"f3118a7bad57c10e","parentId":3250,"name":"add-entry","id":3253,"timestamp":6697451298,"duration":32997,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874179953},{"traceId":"f3118a7bad57c10e","parentId":3250,"name":"add-entry","id":3254,"timestamp":6697451311,"duration":33006,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874179953},{"traceId":"f3118a7bad57c10e","parentId":3250,"name":"add-entry","id":3255,"timestamp":6697451317,"duration":33003,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874179953},{"traceId":"f3118a7bad57c10e","parentId":3250,"name":"add-entry","id":3256,"timestamp":6697451323,"duration":32999,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874179953},{"traceId":"f3118a7bad57c10e","parentId":3249,"name":"make","id":3250,"timestamp":6697393168,"duration":91192,"tags":{},"startTime":1691874179895},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"chunk-graph","id":3261,"timestamp":6697484775,"duration":419,"tags":{},"startTime":1691874179986},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"optimize-modules","id":3263,"timestamp":6697485221,"duration":5,"tags":{},"startTime":1691874179987},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"optimize-chunks","id":3264,"timestamp":6697485240,"duration":27,"tags":{},"startTime":1691874179987},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"optimize-tree","id":3265,"timestamp":6697485292,"duration":6,"tags":{},"startTime":1691874179987},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"optimize-chunk-modules","id":3266,"timestamp":6697485314,"duration":5,"tags":{},"startTime":1691874179987},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"optimize","id":3262,"timestamp":6697485210,"duration":4018,"tags":{},"startTime":1691874179987},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"module-hash","id":3267,"timestamp":6697489530,"duration":155,"tags":{},"startTime":1691874179991},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"code-generation","id":3268,"timestamp":6697489699,"duration":314,"tags":{},"startTime":1691874179991},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"hash","id":3269,"timestamp":6697490815,"duration":1538,"tags":{},"startTime":1691874179992},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"code-generation-jobs","id":3270,"timestamp":6697492351,"duration":82,"tags":{},"startTime":1691874179994},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"module-assets","id":3271,"timestamp":6697492420,"duration":36,"tags":{},"startTime":1691874179994},{"traceId":"f3118a7bad57c10e","parentId":3260,"name":"create-chunk-assets","id":3272,"timestamp":6697492463,"duration":691,"tags":{},"startTime":1691874179994},{"traceId":"f3118a7bad57c10e","parentId":3249,"name":"seal","id":3260,"timestamp":6697484680,"duration":9124,"tags":{},"startTime":1691874179986},{"traceId":"f3118a7bad57c10e","parentId":3216,"name":"webpack-compilation","id":3249,"timestamp":6697392828,"duration":101031,"tags":{"name":"server"},"startTime":1691874179894},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3216,"timestamp":6696677463,"duration":824622,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874179179}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":3273,"timestamp":6697504763,"duration":0,"tags":{"errorCount":1},"startTime":1691874180006},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-error","id":3276,"timestamp":6698951012,"duration":0,"tags":{"errorCount":1},"startTime":1691874181453},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3279,"timestamp":6698981256,"duration":56155,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3283,"timestamp":6698981367,"duration":61220,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3285,"timestamp":6698981384,"duration":61215,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3287,"name":"next-swc-transform","id":3288,"timestamp":6699038409,"duration":19680,"tags":{},"startTime":1691874181540},{"traceId":"f3118a7bad57c10e","parentId":3286,"name":"next-swc-loader","id":3287,"timestamp":6699038302,"duration":19796,"tags":{},"startTime":1691874181540},{"traceId":"f3118a7bad57c10e","parentId":3277,"name":"build-module-tsx","id":3286,"timestamp":6699038049,"duration":24462,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874181540},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3282,"timestamp":6698981360,"duration":90364,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3289,"name":"read-resource","id":3290,"timestamp":6699039264,"duration":32572,"tags":{},"startTime":1691874181541},{"traceId":"f3118a7bad57c10e","parentId":3291,"name":"postcss-process","id":3292,"timestamp":6699071907,"duration":119145,"tags":{},"startTime":1691874181573},{"traceId":"f3118a7bad57c10e","parentId":3289,"name":"postcss-loader","id":3291,"timestamp":6699071880,"duration":119543,"tags":{},"startTime":1691874181573},{"traceId":"f3118a7bad57c10e","parentId":3289,"name":"css-loader","id":3293,"timestamp":6699191465,"duration":452101,"tags":{"astUsed":"true"},"startTime":1691874181693},{"traceId":"f3118a7bad57c10e","parentId":3277,"name":"build-module-css","id":3289,"timestamp":6699039056,"duration":606332,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874181541},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3280,"timestamp":6698981326,"duration":711177,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3284,"timestamp":6698981374,"duration":813042,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3278,"name":"add-entry","id":3281,"timestamp":6698981351,"duration":1088607,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874181483},{"traceId":"f3118a7bad57c10e","parentId":3277,"name":"make","id":3278,"timestamp":6698957243,"duration":1112751,"tags":{},"startTime":1691874181459},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"chunk-graph","id":3295,"timestamp":6700075907,"duration":146063,"tags":{},"startTime":1691874182578},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"optimize-modules","id":3297,"timestamp":6700222011,"duration":7,"tags":{},"startTime":1691874182724},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"optimize-chunks","id":3298,"timestamp":6700222035,"duration":213,"tags":{},"startTime":1691874182724},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"optimize-tree","id":3299,"timestamp":6700222276,"duration":8,"tags":{},"startTime":1691874182724},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"optimize-chunk-modules","id":3300,"timestamp":6700222314,"duration":6,"tags":{},"startTime":1691874182724},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"optimize","id":3296,"timestamp":6700221997,"duration":19098,"tags":{},"startTime":1691874182724},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"module-hash","id":3301,"timestamp":6700257559,"duration":34536,"tags":{},"startTime":1691874182759},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"code-generation","id":3302,"timestamp":6700292133,"duration":65083,"tags":{},"startTime":1691874182794},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"hash","id":3303,"timestamp":6700403719,"duration":64141,"tags":{},"startTime":1691874182905},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"code-generation-jobs","id":3304,"timestamp":6700467859,"duration":201,"tags":{},"startTime":1691874182969},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"module-assets","id":3305,"timestamp":6700468026,"duration":435,"tags":{},"startTime":1691874182970},{"traceId":"f3118a7bad57c10e","parentId":3294,"name":"create-chunk-assets","id":3306,"timestamp":6700468481,"duration":6642,"tags":{},"startTime":1691874182970},{"traceId":"f3118a7bad57c10e","parentId":3277,"name":"NextJsBuildManifest-generateClientManifest","id":3308,"timestamp":6700520847,"duration":101,"tags":{},"startTime":1691874183022},{"traceId":"f3118a7bad57c10e","parentId":3277,"name":"NextJsBuildManifest-createassets","id":3307,"timestamp":6700520721,"duration":234,"tags":{},"startTime":1691874183022},{"traceId":"f3118a7bad57c10e","parentId":3277,"name":"seal","id":3294,"timestamp":6700071865,"duration":452286,"tags":{},"startTime":1691874182573},{"traceId":"f3118a7bad57c10e","parentId":3274,"name":"webpack-compilation","id":3277,"timestamp":6698956853,"duration":1567458,"tags":{"name":"client"},"startTime":1691874181458},{"traceId":"f3118a7bad57c10e","parentId":3274,"name":"emit","id":3309,"timestamp":6700524407,"duration":152338,"tags":{},"startTime":1691874183026},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3274,"timestamp":6698948688,"duration":1728920,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874181450},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3312,"timestamp":6700712985,"duration":0,"tags":{},"startTime":1691874183215},{"traceId":"f3118a7bad57c10e","parentId":3311,"name":"add-entry","id":3313,"timestamp":6700714972,"duration":33204,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874183217},{"traceId":"f3118a7bad57c10e","parentId":3311,"name":"add-entry","id":3314,"timestamp":6700715137,"duration":33051,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874183217},{"traceId":"f3118a7bad57c10e","parentId":3311,"name":"add-entry","id":3315,"timestamp":6700715162,"duration":33029,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874183217},{"traceId":"f3118a7bad57c10e","parentId":3311,"name":"add-entry","id":3317,"timestamp":6700715220,"duration":32974,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874183217},{"traceId":"f3118a7bad57c10e","parentId":3319,"name":"next-swc-transform","id":3320,"timestamp":6700742254,"duration":13415,"tags":{},"startTime":1691874183244},{"traceId":"f3118a7bad57c10e","parentId":3318,"name":"next-swc-loader","id":3319,"timestamp":6700742133,"duration":13555,"tags":{},"startTime":1691874183244},{"traceId":"f3118a7bad57c10e","parentId":3310,"name":"build-module-tsx","id":3318,"timestamp":6700741941,"duration":15603,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874183244},{"traceId":"f3118a7bad57c10e","parentId":3311,"name":"add-entry","id":3316,"timestamp":6700715173,"duration":47126,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874183217},{"traceId":"f3118a7bad57c10e","parentId":3310,"name":"make","id":3311,"timestamp":6700686766,"duration":75616,"tags":{},"startTime":1691874183188},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"chunk-graph","id":3322,"timestamp":6700764300,"duration":414,"tags":{},"startTime":1691874183266},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"optimize-modules","id":3324,"timestamp":6700764744,"duration":5,"tags":{},"startTime":1691874183266},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"optimize-chunks","id":3325,"timestamp":6700764764,"duration":29,"tags":{},"startTime":1691874183266},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"optimize-tree","id":3326,"timestamp":6700764822,"duration":7,"tags":{},"startTime":1691874183266},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"optimize-chunk-modules","id":3327,"timestamp":6700764847,"duration":6,"tags":{},"startTime":1691874183266},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"optimize","id":3323,"timestamp":6700764734,"duration":193,"tags":{},"startTime":1691874183266},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"module-hash","id":3328,"timestamp":6700765183,"duration":175,"tags":{},"startTime":1691874183267},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"code-generation","id":3329,"timestamp":6700765373,"duration":522,"tags":{},"startTime":1691874183267},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"hash","id":3330,"timestamp":6700768204,"duration":2176,"tags":{},"startTime":1691874183270},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"code-generation-jobs","id":3331,"timestamp":6700770378,"duration":188,"tags":{},"startTime":1691874183272},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"module-assets","id":3332,"timestamp":6700770450,"duration":142,"tags":{},"startTime":1691874183272},{"traceId":"f3118a7bad57c10e","parentId":3321,"name":"create-chunk-assets","id":3333,"timestamp":6700770600,"duration":1063,"tags":{},"startTime":1691874183272},{"traceId":"f3118a7bad57c10e","parentId":3310,"name":"seal","id":3321,"timestamp":6700762931,"duration":9165,"tags":{},"startTime":1691874183265},{"traceId":"f3118a7bad57c10e","parentId":3275,"name":"webpack-compilation","id":3310,"timestamp":6700686409,"duration":86274,"tags":{"name":"server"},"startTime":1691874183188},{"traceId":"f3118a7bad57c10e","parentId":3275,"name":"emit","id":3334,"timestamp":6700772724,"duration":16288,"tags":{},"startTime":1691874183274},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3275,"timestamp":6698949126,"duration":1841926,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874181451}] -[{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3339,"timestamp":6709774013,"duration":15603,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3347,"name":"next-swc-transform","id":3348,"timestamp":6709791129,"duration":2942,"tags":{},"startTime":1691874192293},{"traceId":"f3118a7bad57c10e","parentId":3346,"name":"next-swc-loader","id":3347,"timestamp":6709790908,"duration":3170,"tags":{},"startTime":1691874192293},{"traceId":"f3118a7bad57c10e","parentId":3337,"name":"build-module-tsx","id":3346,"timestamp":6709790504,"duration":11593,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874192292},{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3343,"timestamp":6709774171,"duration":28089,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3344,"timestamp":6709774184,"duration":28083,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3349,"name":"read-resource","id":3350,"timestamp":6709793753,"duration":18337,"tags":{},"startTime":1691874192296},{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3342,"timestamp":6709774160,"duration":75042,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3351,"name":"postcss-process","id":3352,"timestamp":6709816641,"duration":172444,"tags":{},"startTime":1691874192319},{"traceId":"f3118a7bad57c10e","parentId":3349,"name":"postcss-loader","id":3351,"timestamp":6709816525,"duration":173350,"tags":{},"startTime":1691874192318},{"traceId":"f3118a7bad57c10e","parentId":3349,"name":"css-loader","id":3353,"timestamp":6709989919,"duration":20577,"tags":{"astUsed":"true"},"startTime":1691874192492},{"traceId":"f3118a7bad57c10e","parentId":3337,"name":"build-module-css","id":3349,"timestamp":6709793542,"duration":259636,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874192295},{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3340,"timestamp":6709774135,"duration":291671,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3345,"timestamp":6709774190,"duration":303885,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3338,"name":"add-entry","id":3341,"timestamp":6709774152,"duration":581964,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874192276},{"traceId":"f3118a7bad57c10e","parentId":3337,"name":"make","id":3338,"timestamp":6709770769,"duration":585389,"tags":{},"startTime":1691874192273},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"chunk-graph","id":3355,"timestamp":6710370289,"duration":19420,"tags":{},"startTime":1691874192872},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"optimize-modules","id":3357,"timestamp":6710389754,"duration":11,"tags":{},"startTime":1691874192892},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"optimize-chunks","id":3358,"timestamp":6710389791,"duration":223,"tags":{},"startTime":1691874192892},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"optimize-tree","id":3359,"timestamp":6710390051,"duration":10,"tags":{},"startTime":1691874192892},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"optimize-chunk-modules","id":3360,"timestamp":6710390092,"duration":10,"tags":{},"startTime":1691874192892},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"optimize","id":3356,"timestamp":6710389740,"duration":2222,"tags":{},"startTime":1691874192892},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"module-hash","id":3361,"timestamp":6710438809,"duration":4559,"tags":{},"startTime":1691874192941},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"code-generation","id":3362,"timestamp":6710443403,"duration":21198,"tags":{},"startTime":1691874192945},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"hash","id":3363,"timestamp":6710476591,"duration":13377,"tags":{},"startTime":1691874192978},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"code-generation-jobs","id":3364,"timestamp":6710489965,"duration":290,"tags":{},"startTime":1691874192992},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"module-assets","id":3365,"timestamp":6710490195,"duration":409,"tags":{},"startTime":1691874192992},{"traceId":"f3118a7bad57c10e","parentId":3354,"name":"create-chunk-assets","id":3366,"timestamp":6710490620,"duration":2184,"tags":{},"startTime":1691874192992},{"traceId":"f3118a7bad57c10e","parentId":3337,"name":"NextJsBuildManifest-generateClientManifest","id":3368,"timestamp":6710497599,"duration":151,"tags":{},"startTime":1691874192999},{"traceId":"f3118a7bad57c10e","parentId":3337,"name":"NextJsBuildManifest-createassets","id":3367,"timestamp":6710497402,"duration":357,"tags":{},"startTime":1691874192999},{"traceId":"f3118a7bad57c10e","parentId":3337,"name":"seal","id":3354,"timestamp":6710358930,"duration":148192,"tags":{},"startTime":1691874192861},{"traceId":"f3118a7bad57c10e","parentId":3335,"name":"webpack-compilation","id":3337,"timestamp":6709770284,"duration":736895,"tags":{"name":"client"},"startTime":1691874192272},{"traceId":"f3118a7bad57c10e","parentId":3335,"name":"emit","id":3369,"timestamp":6710507215,"duration":29625,"tags":{},"startTime":1691874193009},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3335,"timestamp":6709761544,"duration":776621,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874192263},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3372,"timestamp":6710563348,"duration":0,"tags":{},"startTime":1691874193065},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3378,"timestamp":1691874192264000,"duration":832000,"tags":{"clientId":1691872020568},"startTime":1691874193097},{"traceId":"f3118a7bad57c10e","parentId":3371,"name":"add-entry","id":3373,"timestamp":6710566372,"duration":53761,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874193068},{"traceId":"f3118a7bad57c10e","parentId":3371,"name":"add-entry","id":3374,"timestamp":6710566454,"duration":53699,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874193068},{"traceId":"f3118a7bad57c10e","parentId":3371,"name":"add-entry","id":3375,"timestamp":6710566470,"duration":53687,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874193068},{"traceId":"f3118a7bad57c10e","parentId":3371,"name":"add-entry","id":3377,"timestamp":6710566483,"duration":53679,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874193068},{"traceId":"f3118a7bad57c10e","parentId":3380,"name":"next-swc-transform","id":3381,"timestamp":6710613604,"duration":9738,"tags":{},"startTime":1691874193115},{"traceId":"f3118a7bad57c10e","parentId":3379,"name":"next-swc-loader","id":3380,"timestamp":6710613361,"duration":9991,"tags":{},"startTime":1691874193115},{"traceId":"f3118a7bad57c10e","parentId":3370,"name":"build-module-tsx","id":3379,"timestamp":6710613037,"duration":13083,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874193115},{"traceId":"f3118a7bad57c10e","parentId":3371,"name":"add-entry","id":3376,"timestamp":6710566476,"duration":62159,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874193068},{"traceId":"f3118a7bad57c10e","parentId":3370,"name":"make","id":3371,"timestamp":6710543267,"duration":85403,"tags":{},"startTime":1691874193045},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"chunk-graph","id":3383,"timestamp":6710629095,"duration":439,"tags":{},"startTime":1691874193131},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"optimize-modules","id":3385,"timestamp":6710629565,"duration":6,"tags":{},"startTime":1691874193131},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"optimize-chunks","id":3386,"timestamp":6710629586,"duration":28,"tags":{},"startTime":1691874193131},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"optimize-tree","id":3387,"timestamp":6710629642,"duration":9,"tags":{},"startTime":1691874193132},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"optimize-chunk-modules","id":3388,"timestamp":6710629670,"duration":6,"tags":{},"startTime":1691874193132},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"optimize","id":3384,"timestamp":6710629553,"duration":213,"tags":{},"startTime":1691874193131},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"module-hash","id":3389,"timestamp":6710630030,"duration":246,"tags":{},"startTime":1691874193132},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"code-generation","id":3390,"timestamp":6710630292,"duration":2133,"tags":{},"startTime":1691874193132},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"hash","id":3391,"timestamp":6710633278,"duration":1459,"tags":{},"startTime":1691874193135},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"code-generation-jobs","id":3392,"timestamp":6710634735,"duration":94,"tags":{},"startTime":1691874193137},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"module-assets","id":3393,"timestamp":6710634816,"duration":37,"tags":{},"startTime":1691874193137},{"traceId":"f3118a7bad57c10e","parentId":3382,"name":"create-chunk-assets","id":3394,"timestamp":6710634860,"duration":1025,"tags":{},"startTime":1691874193137},{"traceId":"f3118a7bad57c10e","parentId":3370,"name":"seal","id":3382,"timestamp":6710628989,"duration":7183,"tags":{},"startTime":1691874193131},{"traceId":"f3118a7bad57c10e","parentId":3336,"name":"webpack-compilation","id":3370,"timestamp":6710542920,"duration":93285,"tags":{"name":"server"},"startTime":1691874193045},{"traceId":"f3118a7bad57c10e","parentId":3336,"name":"emit","id":3395,"timestamp":6710636232,"duration":9982,"tags":{},"startTime":1691874193138},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3336,"timestamp":6709761947,"duration":885164,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874192264}] -[{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3400,"timestamp":6711514708,"duration":10457,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3404,"timestamp":6711514811,"duration":16261,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3406,"timestamp":6711514828,"duration":16256,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3403,"timestamp":6711514800,"duration":17259,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3410,"name":"read-resource","id":3411,"timestamp":6711529426,"duration":2991,"tags":{},"startTime":1691874194031},{"traceId":"f3118a7bad57c10e","parentId":3408,"name":"next-swc-transform","id":3409,"timestamp":6711527961,"duration":31650,"tags":{},"startTime":1691874194030},{"traceId":"f3118a7bad57c10e","parentId":3407,"name":"next-swc-loader","id":3408,"timestamp":6711527813,"duration":31806,"tags":{},"startTime":1691874194030},{"traceId":"f3118a7bad57c10e","parentId":3398,"name":"build-module-tsx","id":3407,"timestamp":6711527267,"duration":44282,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874194029},{"traceId":"f3118a7bad57c10e","parentId":3412,"name":"postcss-process","id":3413,"timestamp":6711532495,"duration":134478,"tags":{},"startTime":1691874194034},{"traceId":"f3118a7bad57c10e","parentId":3410,"name":"postcss-loader","id":3412,"timestamp":6711532469,"duration":134923,"tags":{},"startTime":1691874194034},{"traceId":"f3118a7bad57c10e","parentId":3410,"name":"css-loader","id":3414,"timestamp":6711667429,"duration":38869,"tags":{"astUsed":"true"},"startTime":1691874194169},{"traceId":"f3118a7bad57c10e","parentId":3398,"name":"build-module-css","id":3410,"timestamp":6711529171,"duration":179166,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874194031},{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3401,"timestamp":6711514778,"duration":196122,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3405,"timestamp":6711514822,"duration":206698,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3399,"name":"add-entry","id":3402,"timestamp":6711514793,"duration":887627,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874194017},{"traceId":"f3118a7bad57c10e","parentId":3398,"name":"make","id":3399,"timestamp":6711512528,"duration":889994,"tags":{},"startTime":1691874194014},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"chunk-graph","id":3416,"timestamp":6712423802,"duration":50862,"tags":{},"startTime":1691874194926},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"optimize-modules","id":3418,"timestamp":6712474706,"duration":6,"tags":{},"startTime":1691874194977},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"optimize-chunks","id":3419,"timestamp":6712474730,"duration":213,"tags":{},"startTime":1691874194977},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"optimize-tree","id":3420,"timestamp":6712474972,"duration":8,"tags":{},"startTime":1691874194977},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"optimize-chunk-modules","id":3421,"timestamp":6712475024,"duration":7,"tags":{},"startTime":1691874194977},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"optimize","id":3417,"timestamp":6712474691,"duration":1712,"tags":{},"startTime":1691874194977},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"module-hash","id":3422,"timestamp":6712506841,"duration":2148,"tags":{},"startTime":1691874195009},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"code-generation","id":3423,"timestamp":6712509021,"duration":129207,"tags":{},"startTime":1691874195011},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"hash","id":3424,"timestamp":6712671807,"duration":32013,"tags":{},"startTime":1691874195174},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"code-generation-jobs","id":3425,"timestamp":6712703818,"duration":212,"tags":{},"startTime":1691874195206},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"module-assets","id":3426,"timestamp":6712703998,"duration":370,"tags":{},"startTime":1691874195206},{"traceId":"f3118a7bad57c10e","parentId":3415,"name":"create-chunk-assets","id":3427,"timestamp":6712705323,"duration":2580,"tags":{},"startTime":1691874195207},{"traceId":"f3118a7bad57c10e","parentId":3398,"name":"NextJsBuildManifest-generateClientManifest","id":3429,"timestamp":6712720966,"duration":93,"tags":{},"startTime":1691874195223},{"traceId":"f3118a7bad57c10e","parentId":3398,"name":"NextJsBuildManifest-createassets","id":3428,"timestamp":6712720808,"duration":259,"tags":{},"startTime":1691874195223},{"traceId":"f3118a7bad57c10e","parentId":3398,"name":"seal","id":3415,"timestamp":6712410257,"duration":314995,"tags":{},"startTime":1691874194912},{"traceId":"f3118a7bad57c10e","parentId":3396,"name":"webpack-compilation","id":3398,"timestamp":6711511934,"duration":1213373,"tags":{"name":"client"},"startTime":1691874194014},{"traceId":"f3118a7bad57c10e","parentId":3396,"name":"emit","id":3430,"timestamp":6712725342,"duration":48299,"tags":{},"startTime":1691874195227},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3396,"timestamp":6711500910,"duration":1305394,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874194003},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3433,"timestamp":6712867223,"duration":0,"tags":{},"startTime":1691874195369},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3439,"timestamp":1691874194005000,"duration":1418000,"tags":{"clientId":1691872020568},"startTime":1691874195424},{"traceId":"f3118a7bad57c10e","parentId":3441,"name":"next-swc-transform","id":3442,"timestamp":6712969541,"duration":2945,"tags":{},"startTime":1691874195471},{"traceId":"f3118a7bad57c10e","parentId":3440,"name":"next-swc-loader","id":3441,"timestamp":6712969422,"duration":3071,"tags":{},"startTime":1691874195471},{"traceId":"f3118a7bad57c10e","parentId":3431,"name":"build-module-tsx","id":3440,"timestamp":6712969203,"duration":4926,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874195471},{"traceId":"f3118a7bad57c10e","parentId":3432,"name":"add-entry","id":3434,"timestamp":6712887338,"duration":89429,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874195389},{"traceId":"f3118a7bad57c10e","parentId":3432,"name":"add-entry","id":3435,"timestamp":6712887406,"duration":89372,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874195389},{"traceId":"f3118a7bad57c10e","parentId":3432,"name":"add-entry","id":3436,"timestamp":6712887418,"duration":89362,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874195389},{"traceId":"f3118a7bad57c10e","parentId":3432,"name":"add-entry","id":3438,"timestamp":6712887431,"duration":89352,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874195389},{"traceId":"f3118a7bad57c10e","parentId":3432,"name":"add-entry","id":3437,"timestamp":6712887424,"duration":89611,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874195389},{"traceId":"f3118a7bad57c10e","parentId":3431,"name":"make","id":3432,"timestamp":6712858974,"duration":118095,"tags":{},"startTime":1691874195361},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"chunk-graph","id":3444,"timestamp":6712985523,"duration":360,"tags":{},"startTime":1691874195487},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"optimize-modules","id":3446,"timestamp":6712985911,"duration":5,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"optimize-chunks","id":3447,"timestamp":6712985931,"duration":26,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"optimize-tree","id":3448,"timestamp":6712985983,"duration":6,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"optimize-chunk-modules","id":3449,"timestamp":6712986007,"duration":7,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"optimize","id":3445,"timestamp":6712985901,"duration":179,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"module-hash","id":3450,"timestamp":6712986311,"duration":163,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"code-generation","id":3451,"timestamp":6712986487,"duration":446,"tags":{},"startTime":1691874195488},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"hash","id":3452,"timestamp":6712987523,"duration":13372,"tags":{},"startTime":1691874195489},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"code-generation-jobs","id":3453,"timestamp":6713000893,"duration":141,"tags":{},"startTime":1691874195503},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"module-assets","id":3454,"timestamp":6713001020,"duration":40,"tags":{},"startTime":1691874195503},{"traceId":"f3118a7bad57c10e","parentId":3443,"name":"create-chunk-assets","id":3455,"timestamp":6713001067,"duration":2327,"tags":{},"startTime":1691874195503},{"traceId":"f3118a7bad57c10e","parentId":3431,"name":"seal","id":3443,"timestamp":6712985417,"duration":18255,"tags":{},"startTime":1691874195487},{"traceId":"f3118a7bad57c10e","parentId":3397,"name":"webpack-compilation","id":3431,"timestamp":6712858617,"duration":145091,"tags":{"name":"server"},"startTime":1691874195361},{"traceId":"f3118a7bad57c10e","parentId":3397,"name":"emit","id":3456,"timestamp":6713003738,"duration":6390,"tags":{},"startTime":1691874195506},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3397,"timestamp":6711503352,"duration":1507631,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874194005}] -[{"traceId":"f3118a7bad57c10e","parentId":3467,"name":"next-swc-transform","id":3468,"timestamp":6724080243,"duration":4117,"tags":{},"startTime":1691874206582},{"traceId":"f3118a7bad57c10e","parentId":3466,"name":"next-swc-loader","id":3467,"timestamp":6724080114,"duration":4256,"tags":{},"startTime":1691874206582},{"traceId":"f3118a7bad57c10e","parentId":3459,"name":"build-module-tsx","id":3466,"timestamp":6724079892,"duration":6868,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874206582},{"traceId":"f3118a7bad57c10e","parentId":3460,"name":"add-entry","id":3461,"timestamp":6724063281,"duration":26166,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874206566},{"traceId":"f3118a7bad57c10e","parentId":3460,"name":"add-entry","id":3462,"timestamp":6724063368,"duration":26089,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874206566},{"traceId":"f3118a7bad57c10e","parentId":3460,"name":"add-entry","id":3463,"timestamp":6724063385,"duration":26075,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874206566},{"traceId":"f3118a7bad57c10e","parentId":3460,"name":"add-entry","id":3464,"timestamp":6724063393,"duration":26069,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874206566},{"traceId":"f3118a7bad57c10e","parentId":3460,"name":"add-entry","id":3465,"timestamp":6724063402,"duration":26062,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874206566},{"traceId":"f3118a7bad57c10e","parentId":3459,"name":"make","id":3460,"timestamp":6724061734,"duration":27755,"tags":{},"startTime":1691874206564},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"chunk-graph","id":3470,"timestamp":6724089845,"duration":334,"tags":{},"startTime":1691874206592},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"optimize-modules","id":3472,"timestamp":6724090204,"duration":7,"tags":{},"startTime":1691874206592},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"optimize-chunks","id":3473,"timestamp":6724090227,"duration":24,"tags":{},"startTime":1691874206592},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"optimize-tree","id":3474,"timestamp":6724090272,"duration":8,"tags":{},"startTime":1691874206593},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"optimize-chunk-modules","id":3475,"timestamp":6724090297,"duration":11,"tags":{},"startTime":1691874206593},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"optimize","id":3471,"timestamp":6724090195,"duration":177,"tags":{},"startTime":1691874206592},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"module-hash","id":3476,"timestamp":6724090605,"duration":159,"tags":{},"startTime":1691874206593},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"code-generation","id":3477,"timestamp":6724090776,"duration":437,"tags":{},"startTime":1691874206593},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"hash","id":3478,"timestamp":6724092871,"duration":2538,"tags":{},"startTime":1691874206595},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"code-generation-jobs","id":3479,"timestamp":6724095408,"duration":156,"tags":{},"startTime":1691874206598},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"module-assets","id":3480,"timestamp":6724095538,"duration":93,"tags":{},"startTime":1691874206598},{"traceId":"f3118a7bad57c10e","parentId":3469,"name":"create-chunk-assets","id":3481,"timestamp":6724095644,"duration":1188,"tags":{},"startTime":1691874206598},{"traceId":"f3118a7bad57c10e","parentId":3459,"name":"seal","id":3469,"timestamp":6724089749,"duration":7418,"tags":{},"startTime":1691874206592},{"traceId":"f3118a7bad57c10e","parentId":3457,"name":"webpack-compilation","id":3459,"timestamp":6724061370,"duration":35837,"tags":{"name":"server"},"startTime":1691874206564},{"traceId":"f3118a7bad57c10e","parentId":3457,"name":"emit","id":3482,"timestamp":6724097241,"duration":13681,"tags":{},"startTime":1691874206599},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3457,"timestamp":6724054206,"duration":57168,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874206556},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3485,"timestamp":6724115758,"duration":11642,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3493,"name":"next-swc-transform","id":3494,"timestamp":6724128332,"duration":7069,"tags":{},"startTime":1691874206631},{"traceId":"f3118a7bad57c10e","parentId":3492,"name":"next-swc-loader","id":3493,"timestamp":6724128231,"duration":7178,"tags":{},"startTime":1691874206630},{"traceId":"f3118a7bad57c10e","parentId":3483,"name":"build-module-tsx","id":3492,"timestamp":6724128009,"duration":11482,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874206630},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3489,"timestamp":6724115846,"duration":23903,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3491,"timestamp":6724115859,"duration":23896,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3488,"timestamp":6724115839,"duration":25075,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3495,"name":"read-resource","id":3496,"timestamp":6724129965,"duration":12078,"tags":{},"startTime":1691874206632},{"traceId":"f3118a7bad57c10e","parentId":3497,"name":"postcss-process","id":3498,"timestamp":6724142215,"duration":429976,"tags":{},"startTime":1691874206644},{"traceId":"f3118a7bad57c10e","parentId":3495,"name":"postcss-loader","id":3497,"timestamp":6724142158,"duration":431113,"tags":{},"startTime":1691874206644},{"traceId":"f3118a7bad57c10e","parentId":3495,"name":"css-loader","id":3499,"timestamp":6724573627,"duration":99238,"tags":{"astUsed":"true"},"startTime":1691874207076},{"traceId":"f3118a7bad57c10e","parentId":3483,"name":"build-module-css","id":3495,"timestamp":6724129748,"duration":545389,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874206632},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3486,"timestamp":6724115820,"duration":640667,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3490,"timestamp":6724115853,"duration":677549,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3484,"name":"add-entry","id":3487,"timestamp":6724115833,"duration":906990,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874206618},{"traceId":"f3118a7bad57c10e","parentId":3483,"name":"make","id":3484,"timestamp":6724114111,"duration":908763,"tags":{},"startTime":1691874206616},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"chunk-graph","id":3501,"timestamp":6725038853,"duration":21936,"tags":{},"startTime":1691874207541},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"optimize-modules","id":3503,"timestamp":6725060851,"duration":68,"tags":{},"startTime":1691874207563},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"optimize-chunks","id":3504,"timestamp":6725060953,"duration":4014,"tags":{},"startTime":1691874207563},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"optimize-tree","id":3505,"timestamp":6725065016,"duration":15,"tags":{},"startTime":1691874207567},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"optimize-chunk-modules","id":3506,"timestamp":6725065069,"duration":8,"tags":{},"startTime":1691874207567},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"optimize","id":3502,"timestamp":6725060830,"duration":76736,"tags":{},"startTime":1691874207563},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"module-hash","id":3507,"timestamp":6725156275,"duration":1960,"tags":{},"startTime":1691874207659},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"code-generation","id":3508,"timestamp":6725158265,"duration":6745,"tags":{},"startTime":1691874207661},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"hash","id":3509,"timestamp":6725187818,"duration":18865,"tags":{},"startTime":1691874207690},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"code-generation-jobs","id":3510,"timestamp":6725206681,"duration":216,"tags":{},"startTime":1691874207709},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"module-assets","id":3511,"timestamp":6725206862,"duration":363,"tags":{},"startTime":1691874207709},{"traceId":"f3118a7bad57c10e","parentId":3500,"name":"create-chunk-assets","id":3512,"timestamp":6725207238,"duration":2104,"tags":{},"startTime":1691874207710},{"traceId":"f3118a7bad57c10e","parentId":3483,"name":"NextJsBuildManifest-generateClientManifest","id":3514,"timestamp":6725220861,"duration":97,"tags":{},"startTime":1691874207723},{"traceId":"f3118a7bad57c10e","parentId":3483,"name":"NextJsBuildManifest-createassets","id":3513,"timestamp":6725220751,"duration":215,"tags":{},"startTime":1691874207723},{"traceId":"f3118a7bad57c10e","parentId":3483,"name":"seal","id":3500,"timestamp":6725024861,"duration":199793,"tags":{},"startTime":1691874207527},{"traceId":"f3118a7bad57c10e","parentId":3458,"name":"webpack-compilation","id":3483,"timestamp":6724113691,"duration":1111032,"tags":{"name":"client"},"startTime":1691874206616},{"traceId":"f3118a7bad57c10e","parentId":3458,"name":"emit","id":3515,"timestamp":6725224805,"duration":281648,"tags":{},"startTime":1691874207727},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3458,"timestamp":6724054653,"duration":1466901,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874206557}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3516,"timestamp":6725538097,"duration":0,"tags":{},"startTime":1691874208040},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3517,"timestamp":1691874206560000,"duration":1569000,"tags":{"clientId":1691872020568},"startTime":1691874208130},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3522,"timestamp":6737566700,"duration":14311,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874220069},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3526,"timestamp":6737566906,"duration":20189,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874220070},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3528,"timestamp":6737566929,"duration":20179,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874220070},{"traceId":"f3118a7bad57c10e","parentId":3530,"name":"next-swc-transform","id":3531,"timestamp":6737582823,"duration":4468,"tags":{},"startTime":1691874220085},{"traceId":"f3118a7bad57c10e","parentId":3529,"name":"next-swc-loader","id":3530,"timestamp":6737582466,"duration":4829,"tags":{},"startTime":1691874220085},{"traceId":"f3118a7bad57c10e","parentId":3520,"name":"build-module-tsx","id":3529,"timestamp":6737582076,"duration":12284,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874220085},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3525,"timestamp":6737566899,"duration":29013,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874220070},{"traceId":"f3118a7bad57c10e","parentId":3532,"name":"read-resource","id":3533,"timestamp":6737586782,"duration":9756,"tags":{},"startTime":1691874220089},{"traceId":"f3118a7bad57c10e","parentId":3534,"name":"postcss-process","id":3535,"timestamp":6737596623,"duration":173594,"tags":{},"startTime":1691874220099},{"traceId":"f3118a7bad57c10e","parentId":3532,"name":"postcss-loader","id":3534,"timestamp":6737596585,"duration":174814,"tags":{},"startTime":1691874220099},{"traceId":"f3118a7bad57c10e","parentId":3532,"name":"css-loader","id":3536,"timestamp":6737771444,"duration":37791,"tags":{"astUsed":"true"},"startTime":1691874220274},{"traceId":"f3118a7bad57c10e","parentId":3520,"name":"build-module-css","id":3532,"timestamp":6737586585,"duration":321169,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874220089},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3523,"timestamp":6737566865,"duration":351582,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874220069},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3527,"timestamp":6737566920,"duration":368589,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874220070},{"traceId":"f3118a7bad57c10e","parentId":3521,"name":"add-entry","id":3524,"timestamp":6737566887,"duration":628812,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874220070},{"traceId":"f3118a7bad57c10e","parentId":3520,"name":"make","id":3521,"timestamp":6737564655,"duration":631455,"tags":{},"startTime":1691874220067},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"chunk-graph","id":3538,"timestamp":6738204840,"duration":64371,"tags":{},"startTime":1691874220707},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"optimize-modules","id":3540,"timestamp":6738269265,"duration":18,"tags":{},"startTime":1691874220772},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"optimize-chunks","id":3541,"timestamp":6738269887,"duration":1778,"tags":{},"startTime":1691874220773},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"optimize-tree","id":3542,"timestamp":6738271728,"duration":638,"tags":{},"startTime":1691874220774},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"optimize-chunk-modules","id":3543,"timestamp":6738272430,"duration":15,"tags":{},"startTime":1691874220775},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"optimize","id":3539,"timestamp":6738269248,"duration":5058,"tags":{},"startTime":1691874220772},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"module-hash","id":3544,"timestamp":6738408556,"duration":13292,"tags":{},"startTime":1691874220911},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"code-generation","id":3545,"timestamp":6738421928,"duration":13936,"tags":{},"startTime":1691874220925},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"hash","id":3546,"timestamp":6738448473,"duration":48648,"tags":{},"startTime":1691874220951},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"code-generation-jobs","id":3547,"timestamp":6738497118,"duration":219,"tags":{},"startTime":1691874221000},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"module-assets","id":3548,"timestamp":6738497297,"duration":404,"tags":{},"startTime":1691874221000},{"traceId":"f3118a7bad57c10e","parentId":3537,"name":"create-chunk-assets","id":3549,"timestamp":6738497718,"duration":38369,"tags":{},"startTime":1691874221000},{"traceId":"f3118a7bad57c10e","parentId":3520,"name":"NextJsBuildManifest-generateClientManifest","id":3551,"timestamp":6738543448,"duration":151,"tags":{},"startTime":1691874221046},{"traceId":"f3118a7bad57c10e","parentId":3520,"name":"NextJsBuildManifest-createassets","id":3550,"timestamp":6738543333,"duration":275,"tags":{},"startTime":1691874221046},{"traceId":"f3118a7bad57c10e","parentId":3520,"name":"seal","id":3537,"timestamp":6738199691,"duration":351839,"tags":{},"startTime":1691874220702},{"traceId":"f3118a7bad57c10e","parentId":3518,"name":"webpack-compilation","id":3520,"timestamp":6737564017,"duration":987577,"tags":{"name":"client"},"startTime":1691874220067},{"traceId":"f3118a7bad57c10e","parentId":3518,"name":"emit","id":3552,"timestamp":6738551638,"duration":81033,"tags":{},"startTime":1691874221054},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3518,"timestamp":6737555084,"duration":1079886,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874220058},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3555,"timestamp":6738689246,"duration":0,"tags":{},"startTime":1691874221192},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3561,"timestamp":1691874220059000,"duration":1178000,"tags":{"clientId":1691872020568},"startTime":1691874221248},{"traceId":"f3118a7bad57c10e","parentId":3554,"name":"add-entry","id":3556,"timestamp":6738692828,"duration":79896,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874221195},{"traceId":"f3118a7bad57c10e","parentId":3554,"name":"add-entry","id":3557,"timestamp":6738692908,"duration":79834,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874221196},{"traceId":"f3118a7bad57c10e","parentId":3554,"name":"add-entry","id":3558,"timestamp":6738692924,"duration":79822,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874221196},{"traceId":"f3118a7bad57c10e","parentId":3554,"name":"add-entry","id":3560,"timestamp":6738692942,"duration":79808,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874221196},{"traceId":"f3118a7bad57c10e","parentId":3563,"name":"next-swc-transform","id":3564,"timestamp":6738751149,"duration":21762,"tags":{},"startTime":1691874221254},{"traceId":"f3118a7bad57c10e","parentId":3562,"name":"next-swc-loader","id":3563,"timestamp":6738750901,"duration":22014,"tags":{},"startTime":1691874221254},{"traceId":"f3118a7bad57c10e","parentId":3553,"name":"build-module-tsx","id":3562,"timestamp":6738750586,"duration":32484,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874221253},{"traceId":"f3118a7bad57c10e","parentId":3554,"name":"add-entry","id":3559,"timestamp":6738692932,"duration":91079,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874221196},{"traceId":"f3118a7bad57c10e","parentId":3553,"name":"make","id":3554,"timestamp":6738639356,"duration":144692,"tags":{},"startTime":1691874221142},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"chunk-graph","id":3566,"timestamp":6738784576,"duration":529,"tags":{},"startTime":1691874221287},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"optimize-modules","id":3568,"timestamp":6738785139,"duration":5,"tags":{},"startTime":1691874221288},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"optimize-chunks","id":3569,"timestamp":6738785173,"duration":32,"tags":{},"startTime":1691874221288},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"optimize-tree","id":3570,"timestamp":6738785231,"duration":6,"tags":{},"startTime":1691874221288},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"optimize-chunk-modules","id":3571,"timestamp":6738785265,"duration":6,"tags":{},"startTime":1691874221288},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"optimize","id":3567,"timestamp":6738785125,"duration":254,"tags":{},"startTime":1691874221288},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"module-hash","id":3572,"timestamp":6738785816,"duration":232,"tags":{},"startTime":1691874221288},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"code-generation","id":3573,"timestamp":6738786070,"duration":936,"tags":{},"startTime":1691874221289},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"hash","id":3574,"timestamp":6738787900,"duration":1356,"tags":{},"startTime":1691874221291},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"code-generation-jobs","id":3575,"timestamp":6738789255,"duration":111,"tags":{},"startTime":1691874221292},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"module-assets","id":3576,"timestamp":6738789350,"duration":36,"tags":{},"startTime":1691874221292},{"traceId":"f3118a7bad57c10e","parentId":3565,"name":"create-chunk-assets","id":3577,"timestamp":6738789393,"duration":1238,"tags":{},"startTime":1691874221292},{"traceId":"f3118a7bad57c10e","parentId":3553,"name":"seal","id":3565,"timestamp":6738784440,"duration":6509,"tags":{},"startTime":1691874221287},{"traceId":"f3118a7bad57c10e","parentId":3519,"name":"webpack-compilation","id":3553,"timestamp":6738638897,"duration":152089,"tags":{"name":"server"},"startTime":1691874221142},{"traceId":"f3118a7bad57c10e","parentId":3519,"name":"emit","id":3578,"timestamp":6738791014,"duration":6387,"tags":{},"startTime":1691874221294},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3519,"timestamp":6737555479,"duration":1250097,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874220058}] -[{"traceId":"f3118a7bad57c10e","parentId":3582,"name":"add-entry","id":3583,"timestamp":6744962069,"duration":31791,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874227465},{"traceId":"f3118a7bad57c10e","parentId":3582,"name":"add-entry","id":3584,"timestamp":6744962132,"duration":31740,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874227465},{"traceId":"f3118a7bad57c10e","parentId":3582,"name":"add-entry","id":3585,"timestamp":6744962142,"duration":31733,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874227465},{"traceId":"f3118a7bad57c10e","parentId":3582,"name":"add-entry","id":3586,"timestamp":6744962148,"duration":31736,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874227465},{"traceId":"f3118a7bad57c10e","parentId":3589,"name":"next-swc-transform","id":3590,"timestamp":6744992031,"duration":2260,"tags":{},"startTime":1691874227495},{"traceId":"f3118a7bad57c10e","parentId":3588,"name":"next-swc-loader","id":3589,"timestamp":6744991883,"duration":2412,"tags":{},"startTime":1691874227495},{"traceId":"f3118a7bad57c10e","parentId":3581,"name":"build-module-tsx","id":3588,"timestamp":6744991626,"duration":4134,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874227494},{"traceId":"f3118a7bad57c10e","parentId":3582,"name":"add-entry","id":3587,"timestamp":6744962155,"duration":35012,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874227465},{"traceId":"f3118a7bad57c10e","parentId":3581,"name":"make","id":3582,"timestamp":6744932003,"duration":65194,"tags":{},"startTime":1691874227435},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"chunk-graph","id":3592,"timestamp":6744997631,"duration":857,"tags":{},"startTime":1691874227500},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"optimize-modules","id":3594,"timestamp":6745000699,"duration":13,"tags":{},"startTime":1691874227504},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"optimize-chunks","id":3595,"timestamp":6745000738,"duration":56,"tags":{},"startTime":1691874227504},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"optimize-tree","id":3596,"timestamp":6745000824,"duration":7,"tags":{},"startTime":1691874227504},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"optimize-chunk-modules","id":3597,"timestamp":6745000849,"duration":5,"tags":{},"startTime":1691874227504},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"optimize","id":3593,"timestamp":6745000651,"duration":284,"tags":{},"startTime":1691874227503},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"module-hash","id":3598,"timestamp":6745001199,"duration":181,"tags":{},"startTime":1691874227504},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"code-generation","id":3599,"timestamp":6745001394,"duration":1286,"tags":{},"startTime":1691874227504},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"hash","id":3600,"timestamp":6745003316,"duration":1152,"tags":{},"startTime":1691874227506},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"code-generation-jobs","id":3601,"timestamp":6745004467,"duration":88,"tags":{},"startTime":1691874227507},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"module-assets","id":3602,"timestamp":6745004544,"duration":30,"tags":{},"startTime":1691874227507},{"traceId":"f3118a7bad57c10e","parentId":3591,"name":"create-chunk-assets","id":3603,"timestamp":6745004580,"duration":1479,"tags":{},"startTime":1691874227507},{"traceId":"f3118a7bad57c10e","parentId":3581,"name":"seal","id":3591,"timestamp":6744997531,"duration":8834,"tags":{},"startTime":1691874227500},{"traceId":"f3118a7bad57c10e","parentId":3579,"name":"webpack-compilation","id":3581,"timestamp":6744931610,"duration":74796,"tags":{"name":"server"},"startTime":1691874227434},{"traceId":"f3118a7bad57c10e","parentId":3579,"name":"emit","id":3604,"timestamp":6745006438,"duration":7983,"tags":{},"startTime":1691874227509},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3579,"timestamp":6744922487,"duration":92496,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874227425},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3607,"timestamp":6745023838,"duration":8924,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3611,"timestamp":6745023941,"duration":12318,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3613,"timestamp":6745023959,"duration":12310,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3610,"timestamp":6745023932,"duration":12929,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3617,"name":"read-resource","id":3618,"timestamp":6745035163,"duration":4670,"tags":{},"startTime":1691874227538},{"traceId":"f3118a7bad57c10e","parentId":3615,"name":"next-swc-transform","id":3616,"timestamp":6745034120,"duration":183182,"tags":{},"startTime":1691874227537},{"traceId":"f3118a7bad57c10e","parentId":3614,"name":"next-swc-loader","id":3615,"timestamp":6745033991,"duration":183321,"tags":{},"startTime":1691874227537},{"traceId":"f3118a7bad57c10e","parentId":3605,"name":"build-module-tsx","id":3614,"timestamp":6745033672,"duration":273720,"tags":{"name":"/Users/muaadhm/frontend/pages/components/Navigation.tsx","layer":"null"},"startTime":1691874227536},{"traceId":"f3118a7bad57c10e","parentId":3619,"name":"postcss-process","id":3620,"timestamp":6745039917,"duration":664996,"tags":{},"startTime":1691874227543},{"traceId":"f3118a7bad57c10e","parentId":3617,"name":"postcss-loader","id":3619,"timestamp":6745039889,"duration":665501,"tags":{},"startTime":1691874227543},{"traceId":"f3118a7bad57c10e","parentId":3617,"name":"css-loader","id":3621,"timestamp":6745705432,"duration":137522,"tags":{"astUsed":"true"},"startTime":1691874228208},{"traceId":"f3118a7bad57c10e","parentId":3605,"name":"build-module-css","id":3617,"timestamp":6745034977,"duration":822099,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874227538},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3608,"timestamp":6745023909,"duration":847439,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3612,"timestamp":6745023953,"duration":889151,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3606,"name":"add-entry","id":3609,"timestamp":6745023924,"duration":1142786,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874227527},{"traceId":"f3118a7bad57c10e","parentId":3605,"name":"make","id":3606,"timestamp":6745021489,"duration":1145255,"tags":{},"startTime":1691874227524},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"chunk-graph","id":3623,"timestamp":6746172682,"duration":24401,"tags":{},"startTime":1691874228676},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"optimize-modules","id":3625,"timestamp":6746197132,"duration":6,"tags":{},"startTime":1691874228700},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"optimize-chunks","id":3626,"timestamp":6746197163,"duration":246,"tags":{},"startTime":1691874228700},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"optimize-tree","id":3627,"timestamp":6746197446,"duration":12,"tags":{},"startTime":1691874228700},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"optimize-chunk-modules","id":3628,"timestamp":6746197488,"duration":7,"tags":{},"startTime":1691874228700},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"optimize","id":3624,"timestamp":6746197116,"duration":4483,"tags":{},"startTime":1691874228700},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"module-hash","id":3629,"timestamp":6746209886,"duration":16196,"tags":{},"startTime":1691874228713},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"code-generation","id":3630,"timestamp":6746226127,"duration":17511,"tags":{},"startTime":1691874228729},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"hash","id":3631,"timestamp":6746307143,"duration":15451,"tags":{},"startTime":1691874228810},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"code-generation-jobs","id":3632,"timestamp":6746322592,"duration":229,"tags":{},"startTime":1691874228825},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"module-assets","id":3633,"timestamp":6746322786,"duration":468,"tags":{},"startTime":1691874228826},{"traceId":"f3118a7bad57c10e","parentId":3622,"name":"create-chunk-assets","id":3634,"timestamp":6746323277,"duration":2958,"tags":{},"startTime":1691874228826},{"traceId":"f3118a7bad57c10e","parentId":3605,"name":"NextJsBuildManifest-generateClientManifest","id":3636,"timestamp":6746339253,"duration":93,"tags":{},"startTime":1691874228842},{"traceId":"f3118a7bad57c10e","parentId":3605,"name":"NextJsBuildManifest-createassets","id":3635,"timestamp":6746339144,"duration":211,"tags":{},"startTime":1691874228842},{"traceId":"f3118a7bad57c10e","parentId":3605,"name":"seal","id":3622,"timestamp":6746168478,"duration":207069,"tags":{},"startTime":1691874228671},{"traceId":"f3118a7bad57c10e","parentId":3580,"name":"webpack-compilation","id":3605,"timestamp":6745019970,"duration":1355638,"tags":{"name":"client"},"startTime":1691874227523},{"traceId":"f3118a7bad57c10e","parentId":3580,"name":"emit","id":3637,"timestamp":6746375649,"duration":28617,"tags":{},"startTime":1691874228879},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3580,"timestamp":6744924700,"duration":1483412,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/Navigation.tsx"},"startTime":1691874227428}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3638,"timestamp":6746430050,"duration":0,"tags":{},"startTime":1691874228933},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3639,"timestamp":1691874227428000,"duration":1570000,"tags":{"clientId":1691872020568},"startTime":1691874229001},{"traceId":"f3118a7bad57c10e","parentId":3643,"name":"add-entry","id":3644,"timestamp":6774939694,"duration":37979,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874257443},{"traceId":"f3118a7bad57c10e","parentId":3643,"name":"add-entry","id":3645,"timestamp":6774939817,"duration":37868,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874257443},{"traceId":"f3118a7bad57c10e","parentId":3643,"name":"add-entry","id":3646,"timestamp":6774939835,"duration":37855,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874257443},{"traceId":"f3118a7bad57c10e","parentId":3643,"name":"add-entry","id":3648,"timestamp":6774939854,"duration":38117,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874257443},{"traceId":"f3118a7bad57c10e","parentId":3650,"name":"next-swc-transform","id":3651,"timestamp":6774966302,"duration":12165,"tags":{},"startTime":1691874257470},{"traceId":"f3118a7bad57c10e","parentId":3649,"name":"next-swc-loader","id":3650,"timestamp":6774966093,"duration":12381,"tags":{},"startTime":1691874257470},{"traceId":"f3118a7bad57c10e","parentId":3642,"name":"build-module-tsx","id":3649,"timestamp":6774965829,"duration":37218,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874257469},{"traceId":"f3118a7bad57c10e","parentId":3643,"name":"add-entry","id":3647,"timestamp":6774939843,"duration":112532,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874257443},{"traceId":"f3118a7bad57c10e","parentId":3642,"name":"make","id":3643,"timestamp":6774938503,"duration":113907,"tags":{},"startTime":1691874257442},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"chunk-graph","id":3653,"timestamp":6775052995,"duration":1152,"tags":{},"startTime":1691874257557},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"optimize-modules","id":3655,"timestamp":6775054181,"duration":10,"tags":{},"startTime":1691874257558},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"optimize-chunks","id":3656,"timestamp":6775054236,"duration":31,"tags":{},"startTime":1691874257558},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"optimize-tree","id":3657,"timestamp":6775054414,"duration":14,"tags":{},"startTime":1691874257558},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"optimize-chunk-modules","id":3658,"timestamp":6775054448,"duration":7,"tags":{},"startTime":1691874257558},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"optimize","id":3654,"timestamp":6775054168,"duration":394,"tags":{},"startTime":1691874257558},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"module-hash","id":3659,"timestamp":6775054979,"duration":381,"tags":{},"startTime":1691874257559},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"code-generation","id":3660,"timestamp":6775055378,"duration":9975,"tags":{},"startTime":1691874257559},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"hash","id":3661,"timestamp":6775066756,"duration":2971,"tags":{},"startTime":1691874257570},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"code-generation-jobs","id":3662,"timestamp":6775069726,"duration":221,"tags":{},"startTime":1691874257573},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"module-assets","id":3663,"timestamp":6775069930,"duration":46,"tags":{},"startTime":1691874257574},{"traceId":"f3118a7bad57c10e","parentId":3652,"name":"create-chunk-assets","id":3664,"timestamp":6775069988,"duration":10909,"tags":{},"startTime":1691874257574},{"traceId":"f3118a7bad57c10e","parentId":3642,"name":"seal","id":3652,"timestamp":6775052847,"duration":28411,"tags":{},"startTime":1691874257556},{"traceId":"f3118a7bad57c10e","parentId":3640,"name":"webpack-compilation","id":3642,"timestamp":6774938068,"duration":143362,"tags":{"name":"server"},"startTime":1691874257442},{"traceId":"f3118a7bad57c10e","parentId":3640,"name":"emit","id":3665,"timestamp":6775081462,"duration":163875,"tags":{},"startTime":1691874257585},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3640,"timestamp":6774930507,"duration":316075,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874257434},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3668,"timestamp":6775264613,"duration":12678,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874257768},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3672,"timestamp":6775264893,"duration":18586,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874257769},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3674,"timestamp":6775264908,"duration":18589,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874257769},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3671,"timestamp":6775264885,"duration":19500,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874257769},{"traceId":"f3118a7bad57c10e","parentId":3678,"name":"read-resource","id":3679,"timestamp":6775283093,"duration":2433,"tags":{},"startTime":1691874257787},{"traceId":"f3118a7bad57c10e","parentId":3676,"name":"next-swc-transform","id":3677,"timestamp":6775279368,"duration":27277,"tags":{},"startTime":1691874257783},{"traceId":"f3118a7bad57c10e","parentId":3675,"name":"next-swc-loader","id":3676,"timestamp":6775279135,"duration":27517,"tags":{},"startTime":1691874257783},{"traceId":"f3118a7bad57c10e","parentId":3666,"name":"build-module-tsx","id":3675,"timestamp":6775278620,"duration":52698,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874257782},{"traceId":"f3118a7bad57c10e","parentId":3680,"name":"postcss-process","id":3681,"timestamp":6775285629,"duration":476539,"tags":{},"startTime":1691874257789},{"traceId":"f3118a7bad57c10e","parentId":3678,"name":"postcss-loader","id":3680,"timestamp":6775285587,"duration":477634,"tags":{},"startTime":1691874257789},{"traceId":"f3118a7bad57c10e","parentId":3678,"name":"css-loader","id":3682,"timestamp":6775763266,"duration":265741,"tags":{"astUsed":"true"},"startTime":1691874258267},{"traceId":"f3118a7bad57c10e","parentId":3666,"name":"build-module-css","id":3678,"timestamp":6775282731,"duration":757540,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874257786},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3669,"timestamp":6775264853,"duration":1050418,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874257769},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3673,"timestamp":6775264902,"duration":1664580,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874257769},{"traceId":"f3118a7bad57c10e","parentId":3667,"name":"add-entry","id":3670,"timestamp":6775264876,"duration":2007156,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874257769},{"traceId":"f3118a7bad57c10e","parentId":3666,"name":"make","id":3667,"timestamp":6775250303,"duration":2021775,"tags":{},"startTime":1691874257754},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"chunk-graph","id":3684,"timestamp":6777280107,"duration":82455,"tags":{},"startTime":1691874259784},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"optimize-modules","id":3686,"timestamp":6777362606,"duration":11,"tags":{},"startTime":1691874259866},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"optimize-chunks","id":3687,"timestamp":6777362639,"duration":232,"tags":{},"startTime":1691874259866},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"optimize-tree","id":3688,"timestamp":6777362902,"duration":15,"tags":{},"startTime":1691874259867},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"optimize-chunk-modules","id":3689,"timestamp":6777362950,"duration":7,"tags":{},"startTime":1691874259867},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"optimize","id":3685,"timestamp":6777362592,"duration":2208,"tags":{},"startTime":1691874259866},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"module-hash","id":3690,"timestamp":6777407962,"duration":5614,"tags":{},"startTime":1691874259912},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"code-generation","id":3691,"timestamp":6777413618,"duration":31681,"tags":{},"startTime":1691874259917},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"hash","id":3692,"timestamp":6777494325,"duration":66971,"tags":{},"startTime":1691874259998},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"code-generation-jobs","id":3693,"timestamp":6777561293,"duration":240,"tags":{},"startTime":1691874260065},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"module-assets","id":3694,"timestamp":6777561475,"duration":415,"tags":{},"startTime":1691874260065},{"traceId":"f3118a7bad57c10e","parentId":3683,"name":"create-chunk-assets","id":3695,"timestamp":6777561905,"duration":34188,"tags":{},"startTime":1691874260066},{"traceId":"f3118a7bad57c10e","parentId":3666,"name":"NextJsBuildManifest-generateClientManifest","id":3697,"timestamp":6777609449,"duration":151,"tags":{},"startTime":1691874260113},{"traceId":"f3118a7bad57c10e","parentId":3666,"name":"NextJsBuildManifest-createassets","id":3696,"timestamp":6777609330,"duration":278,"tags":{},"startTime":1691874260113},{"traceId":"f3118a7bad57c10e","parentId":3666,"name":"seal","id":3683,"timestamp":6777275260,"duration":340030,"tags":{},"startTime":1691874259779},{"traceId":"f3118a7bad57c10e","parentId":3641,"name":"webpack-compilation","id":3666,"timestamp":6775249718,"duration":2365644,"tags":{"name":"client"},"startTime":1691874257753},{"traceId":"f3118a7bad57c10e","parentId":3641,"name":"emit","id":3698,"timestamp":6777615396,"duration":65802,"tags":{},"startTime":1691874260119},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3641,"timestamp":6774930737,"duration":2761085,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874257434}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3699,"timestamp":6777713170,"duration":0,"tags":{},"startTime":1691874260217},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3700,"timestamp":1691874257435000,"duration":2886000,"tags":{"clientId":1691872020568},"startTime":1691874260326},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3705,"timestamp":6785027122,"duration":30928,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3709,"timestamp":6785027263,"duration":39942,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3711,"timestamp":6785027289,"duration":39927,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3713,"name":"next-swc-transform","id":3714,"timestamp":6785059895,"duration":18456,"tags":{},"startTime":1691874267564},{"traceId":"f3118a7bad57c10e","parentId":3712,"name":"next-swc-loader","id":3713,"timestamp":6785059424,"duration":18933,"tags":{},"startTime":1691874267563},{"traceId":"f3118a7bad57c10e","parentId":3703,"name":"build-module-tsx","id":3712,"timestamp":6785058755,"duration":26608,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874267563},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3708,"timestamp":6785027256,"duration":70959,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3715,"name":"read-resource","id":3716,"timestamp":6785060796,"duration":37512,"tags":{},"startTime":1691874267565},{"traceId":"f3118a7bad57c10e","parentId":3717,"name":"postcss-process","id":3718,"timestamp":6785098374,"duration":242371,"tags":{},"startTime":1691874267602},{"traceId":"f3118a7bad57c10e","parentId":3715,"name":"postcss-loader","id":3717,"timestamp":6785098351,"duration":242774,"tags":{},"startTime":1691874267602},{"traceId":"f3118a7bad57c10e","parentId":3715,"name":"css-loader","id":3719,"timestamp":6785341159,"duration":86883,"tags":{"astUsed":"true"},"startTime":1691874267845},{"traceId":"f3118a7bad57c10e","parentId":3703,"name":"build-module-css","id":3715,"timestamp":6785060476,"duration":369591,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874267564},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3706,"timestamp":6785027233,"duration":410721,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3710,"timestamp":6785027282,"duration":453833,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3704,"name":"add-entry","id":3707,"timestamp":6785027248,"duration":547993,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874267531},{"traceId":"f3118a7bad57c10e","parentId":3703,"name":"make","id":3704,"timestamp":6785020258,"duration":555018,"tags":{},"startTime":1691874267524},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"chunk-graph","id":3721,"timestamp":6785581260,"duration":8484,"tags":{},"startTime":1691874268085},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"optimize-modules","id":3723,"timestamp":6785589787,"duration":7,"tags":{},"startTime":1691874268094},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"optimize-chunks","id":3724,"timestamp":6785589816,"duration":183,"tags":{},"startTime":1691874268094},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"optimize-tree","id":3725,"timestamp":6785590030,"duration":9,"tags":{},"startTime":1691874268094},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"optimize-chunk-modules","id":3726,"timestamp":6785590066,"duration":7,"tags":{},"startTime":1691874268094},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"optimize","id":3722,"timestamp":6785589772,"duration":2641,"tags":{},"startTime":1691874268094},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"module-hash","id":3727,"timestamp":6785613059,"duration":2410,"tags":{},"startTime":1691874268117},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"code-generation","id":3728,"timestamp":6785615506,"duration":6358,"tags":{},"startTime":1691874268119},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"hash","id":3729,"timestamp":6785637439,"duration":20827,"tags":{},"startTime":1691874268141},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"code-generation-jobs","id":3730,"timestamp":6785658264,"duration":203,"tags":{},"startTime":1691874268162},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"module-assets","id":3731,"timestamp":6785658435,"duration":375,"tags":{},"startTime":1691874268162},{"traceId":"f3118a7bad57c10e","parentId":3720,"name":"create-chunk-assets","id":3732,"timestamp":6785658827,"duration":4448,"tags":{},"startTime":1691874268163},{"traceId":"f3118a7bad57c10e","parentId":3703,"name":"NextJsBuildManifest-generateClientManifest","id":3734,"timestamp":6785667861,"duration":109,"tags":{},"startTime":1691874268172},{"traceId":"f3118a7bad57c10e","parentId":3703,"name":"NextJsBuildManifest-createassets","id":3733,"timestamp":6785667743,"duration":234,"tags":{},"startTime":1691874268172},{"traceId":"f3118a7bad57c10e","parentId":3703,"name":"seal","id":3720,"timestamp":6785577284,"duration":94971,"tags":{},"startTime":1691874268081},{"traceId":"f3118a7bad57c10e","parentId":3701,"name":"webpack-compilation","id":3703,"timestamp":6785019755,"duration":652549,"tags":{"name":"client"},"startTime":1691874267524},{"traceId":"f3118a7bad57c10e","parentId":3701,"name":"emit","id":3735,"timestamp":6785672336,"duration":21456,"tags":{},"startTime":1691874268176},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3701,"timestamp":6785009368,"duration":685248,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874267513},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3738,"timestamp":6785713707,"duration":0,"tags":{},"startTime":1691874268218},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3744,"timestamp":1691874267514000,"duration":735000,"tags":{"clientId":1691872020568},"startTime":1691874268259},{"traceId":"f3118a7bad57c10e","parentId":3746,"name":"next-swc-transform","id":3747,"timestamp":6785762080,"duration":7520,"tags":{},"startTime":1691874268266},{"traceId":"f3118a7bad57c10e","parentId":3745,"name":"next-swc-loader","id":3746,"timestamp":6785761950,"duration":7658,"tags":{},"startTime":1691874268266},{"traceId":"f3118a7bad57c10e","parentId":3736,"name":"build-module-tsx","id":3745,"timestamp":6785761645,"duration":11144,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874268266},{"traceId":"f3118a7bad57c10e","parentId":3737,"name":"add-entry","id":3739,"timestamp":6785716232,"duration":57576,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874268220},{"traceId":"f3118a7bad57c10e","parentId":3737,"name":"add-entry","id":3740,"timestamp":6785716291,"duration":57528,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874268220},{"traceId":"f3118a7bad57c10e","parentId":3737,"name":"add-entry","id":3741,"timestamp":6785716302,"duration":57520,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874268220},{"traceId":"f3118a7bad57c10e","parentId":3737,"name":"add-entry","id":3743,"timestamp":6785716315,"duration":57512,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874268220},{"traceId":"f3118a7bad57c10e","parentId":3737,"name":"add-entry","id":3742,"timestamp":6785716308,"duration":58422,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874268220},{"traceId":"f3118a7bad57c10e","parentId":3736,"name":"make","id":3737,"timestamp":6785702299,"duration":72483,"tags":{},"startTime":1691874268206},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"chunk-graph","id":3749,"timestamp":6785777208,"duration":358,"tags":{},"startTime":1691874268281},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"optimize-modules","id":3751,"timestamp":6785777591,"duration":4,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"optimize-chunks","id":3752,"timestamp":6785777612,"duration":26,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"optimize-tree","id":3753,"timestamp":6785777664,"duration":6,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"optimize-chunk-modules","id":3754,"timestamp":6785777690,"duration":6,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"optimize","id":3750,"timestamp":6785777582,"duration":199,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"module-hash","id":3755,"timestamp":6785778216,"duration":197,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"code-generation","id":3756,"timestamp":6785778427,"duration":849,"tags":{},"startTime":1691874268282},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"hash","id":3757,"timestamp":6785779930,"duration":2105,"tags":{},"startTime":1691874268284},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"code-generation-jobs","id":3758,"timestamp":6785782035,"duration":94,"tags":{},"startTime":1691874268286},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"module-assets","id":3759,"timestamp":6785782116,"duration":37,"tags":{},"startTime":1691874268286},{"traceId":"f3118a7bad57c10e","parentId":3748,"name":"create-chunk-assets","id":3760,"timestamp":6785782160,"duration":1547,"tags":{},"startTime":1691874268286},{"traceId":"f3118a7bad57c10e","parentId":3736,"name":"seal","id":3748,"timestamp":6785777093,"duration":8615,"tags":{},"startTime":1691874268281},{"traceId":"f3118a7bad57c10e","parentId":3702,"name":"webpack-compilation","id":3736,"timestamp":6785701868,"duration":83895,"tags":{"name":"server"},"startTime":1691874268206},{"traceId":"f3118a7bad57c10e","parentId":3702,"name":"emit","id":3761,"timestamp":6785785793,"duration":4454,"tags":{},"startTime":1691874268290},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3702,"timestamp":6785009651,"duration":783622,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874267514}] -[{"traceId":"f3118a7bad57c10e","parentId":3765,"name":"add-entry","id":3766,"timestamp":6803810783,"duration":14228,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874286315},{"traceId":"f3118a7bad57c10e","parentId":3765,"name":"add-entry","id":3767,"timestamp":6803810848,"duration":14175,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874286315},{"traceId":"f3118a7bad57c10e","parentId":3765,"name":"add-entry","id":3768,"timestamp":6803810858,"duration":14168,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874286315},{"traceId":"f3118a7bad57c10e","parentId":3765,"name":"add-entry","id":3769,"timestamp":6803810864,"duration":14410,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874286315},{"traceId":"f3118a7bad57c10e","parentId":3772,"name":"next-swc-transform","id":3773,"timestamp":6803822768,"duration":24170,"tags":{},"startTime":1691874286327},{"traceId":"f3118a7bad57c10e","parentId":3771,"name":"next-swc-loader","id":3772,"timestamp":6803822657,"duration":24288,"tags":{},"startTime":1691874286327},{"traceId":"f3118a7bad57c10e","parentId":3764,"name":"build-module-tsx","id":3771,"timestamp":6803822494,"duration":28016,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874286327},{"traceId":"f3118a7bad57c10e","parentId":3765,"name":"add-entry","id":3770,"timestamp":6803810871,"duration":51572,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874286315},{"traceId":"f3118a7bad57c10e","parentId":3764,"name":"make","id":3765,"timestamp":6803806861,"duration":55614,"tags":{},"startTime":1691874286311},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"chunk-graph","id":3775,"timestamp":6803862890,"duration":330,"tags":{},"startTime":1691874286367},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"optimize-modules","id":3777,"timestamp":6803863241,"duration":4,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"optimize-chunks","id":3778,"timestamp":6803863260,"duration":25,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"optimize-tree","id":3779,"timestamp":6803863306,"duration":6,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"optimize-chunk-modules","id":3780,"timestamp":6803863330,"duration":5,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"optimize","id":3776,"timestamp":6803863233,"duration":166,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"module-hash","id":3781,"timestamp":6803863619,"duration":176,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"code-generation","id":3782,"timestamp":6803863808,"duration":619,"tags":{},"startTime":1691874286368},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"hash","id":3783,"timestamp":6803866386,"duration":1415,"tags":{},"startTime":1691874286371},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"code-generation-jobs","id":3784,"timestamp":6803867800,"duration":91,"tags":{},"startTime":1691874286372},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"module-assets","id":3785,"timestamp":6803867880,"duration":31,"tags":{},"startTime":1691874286372},{"traceId":"f3118a7bad57c10e","parentId":3774,"name":"create-chunk-assets","id":3786,"timestamp":6803867918,"duration":2035,"tags":{},"startTime":1691874286372},{"traceId":"f3118a7bad57c10e","parentId":3764,"name":"seal","id":3774,"timestamp":6803862795,"duration":7528,"tags":{},"startTime":1691874286367},{"traceId":"f3118a7bad57c10e","parentId":3762,"name":"webpack-compilation","id":3764,"timestamp":6803806497,"duration":63869,"tags":{"name":"server"},"startTime":1691874286311},{"traceId":"f3118a7bad57c10e","parentId":3762,"name":"emit","id":3787,"timestamp":6803870396,"duration":6533,"tags":{},"startTime":1691874286375},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3762,"timestamp":6803799010,"duration":78599,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874286303},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3790,"timestamp":6803891861,"duration":8650,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3794,"timestamp":6803891966,"duration":11291,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3796,"timestamp":6803891980,"duration":11288,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3793,"timestamp":6803891960,"duration":12335,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3800,"name":"read-resource","id":3801,"timestamp":6803902491,"duration":2661,"tags":{},"startTime":1691874286407},{"traceId":"f3118a7bad57c10e","parentId":3798,"name":"next-swc-transform","id":3799,"timestamp":6803901442,"duration":27490,"tags":{},"startTime":1691874286406},{"traceId":"f3118a7bad57c10e","parentId":3797,"name":"next-swc-loader","id":3798,"timestamp":6803901341,"duration":27599,"tags":{},"startTime":1691874286406},{"traceId":"f3118a7bad57c10e","parentId":3788,"name":"build-module-tsx","id":3797,"timestamp":6803901143,"duration":38215,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874286406},{"traceId":"f3118a7bad57c10e","parentId":3802,"name":"postcss-process","id":3803,"timestamp":6803905239,"duration":457230,"tags":{},"startTime":1691874286410},{"traceId":"f3118a7bad57c10e","parentId":3800,"name":"postcss-loader","id":3802,"timestamp":6803905209,"duration":458768,"tags":{},"startTime":1691874286410},{"traceId":"f3118a7bad57c10e","parentId":3800,"name":"css-loader","id":3804,"timestamp":6804364041,"duration":84074,"tags":{"astUsed":"true"},"startTime":1691874286868},{"traceId":"f3118a7bad57c10e","parentId":3788,"name":"build-module-css","id":3800,"timestamp":6803902285,"duration":553410,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874286407},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3791,"timestamp":6803891927,"duration":593358,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3795,"timestamp":6803891974,"duration":665889,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3789,"name":"add-entry","id":3792,"timestamp":6803891951,"duration":870949,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874286396},{"traceId":"f3118a7bad57c10e","parentId":3788,"name":"make","id":3789,"timestamp":6803880457,"duration":882483,"tags":{},"startTime":1691874286385},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"chunk-graph","id":3806,"timestamp":6804770676,"duration":39094,"tags":{},"startTime":1691874287275},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"optimize-modules","id":3808,"timestamp":6804809813,"duration":6,"tags":{},"startTime":1691874287314},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"optimize-chunks","id":3809,"timestamp":6804809839,"duration":212,"tags":{},"startTime":1691874287314},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"optimize-tree","id":3810,"timestamp":6804810084,"duration":9,"tags":{},"startTime":1691874287315},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"optimize-chunk-modules","id":3811,"timestamp":6804810124,"duration":6,"tags":{},"startTime":1691874287315},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"optimize","id":3807,"timestamp":6804809798,"duration":1882,"tags":{},"startTime":1691874287314},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"module-hash","id":3812,"timestamp":6804906732,"duration":3073,"tags":{},"startTime":1691874287411},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"code-generation","id":3813,"timestamp":6804909840,"duration":29929,"tags":{},"startTime":1691874287414},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"hash","id":3814,"timestamp":6804949347,"duration":28141,"tags":{},"startTime":1691874287454},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"code-generation-jobs","id":3815,"timestamp":6804977487,"duration":2266,"tags":{},"startTime":1691874287482},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"module-assets","id":3816,"timestamp":6804977648,"duration":2462,"tags":{},"startTime":1691874287482},{"traceId":"f3118a7bad57c10e","parentId":3805,"name":"create-chunk-assets","id":3817,"timestamp":6804980139,"duration":4536,"tags":{},"startTime":1691874287485},{"traceId":"f3118a7bad57c10e","parentId":3788,"name":"NextJsBuildManifest-generateClientManifest","id":3819,"timestamp":6804990031,"duration":92,"tags":{},"startTime":1691874287494},{"traceId":"f3118a7bad57c10e","parentId":3788,"name":"NextJsBuildManifest-createassets","id":3818,"timestamp":6804989932,"duration":200,"tags":{},"startTime":1691874287494},{"traceId":"f3118a7bad57c10e","parentId":3788,"name":"seal","id":3805,"timestamp":6804765150,"duration":229113,"tags":{},"startTime":1691874287270},{"traceId":"f3118a7bad57c10e","parentId":3763,"name":"webpack-compilation","id":3788,"timestamp":6803879772,"duration":1114540,"tags":{"name":"client"},"startTime":1691874286384},{"traceId":"f3118a7bad57c10e","parentId":3763,"name":"emit","id":3820,"timestamp":6804994340,"duration":221665,"tags":{},"startTime":1691874287499},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3763,"timestamp":6803799165,"duration":1428648,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874286304}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3821,"timestamp":6805243252,"duration":0,"tags":{},"startTime":1691874287748},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3822,"timestamp":1691874286304000,"duration":1482000,"tags":{"clientId":1691872020568},"startTime":1691874287787},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3827,"timestamp":6810911937,"duration":11451,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3831,"timestamp":6810912047,"duration":14376,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3833,"timestamp":6810912063,"duration":14371,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3830,"timestamp":6810912041,"duration":15091,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3837,"name":"read-resource","id":3838,"timestamp":6810926164,"duration":1004,"tags":{},"startTime":1691874293431},{"traceId":"f3118a7bad57c10e","parentId":3835,"name":"next-swc-transform","id":3836,"timestamp":6810925379,"duration":15796,"tags":{},"startTime":1691874293430},{"traceId":"f3118a7bad57c10e","parentId":3834,"name":"next-swc-loader","id":3835,"timestamp":6810925157,"duration":16024,"tags":{},"startTime":1691874293430},{"traceId":"f3118a7bad57c10e","parentId":3825,"name":"build-module-tsx","id":3834,"timestamp":6810924830,"duration":21413,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874293429},{"traceId":"f3118a7bad57c10e","parentId":3839,"name":"postcss-process","id":3840,"timestamp":6810927230,"duration":337054,"tags":{},"startTime":1691874293432},{"traceId":"f3118a7bad57c10e","parentId":3837,"name":"postcss-loader","id":3839,"timestamp":6810927207,"duration":337671,"tags":{},"startTime":1691874293432},{"traceId":"f3118a7bad57c10e","parentId":3837,"name":"css-loader","id":3841,"timestamp":6811264918,"duration":217176,"tags":{"astUsed":"true"},"startTime":1691874293770},{"traceId":"f3118a7bad57c10e","parentId":3825,"name":"build-module-css","id":3837,"timestamp":6810925963,"duration":564042,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874293431},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3828,"timestamp":6810912018,"duration":580610,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3832,"timestamp":6810912056,"duration":746896,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3826,"name":"add-entry","id":3829,"timestamp":6810912033,"duration":959189,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874293417},{"traceId":"f3118a7bad57c10e","parentId":3825,"name":"make","id":3826,"timestamp":6810910868,"duration":963785,"tags":{},"startTime":1691874293415},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"chunk-graph","id":3843,"timestamp":6811911108,"duration":34951,"tags":{},"startTime":1691874294416},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"optimize-modules","id":3845,"timestamp":6811946099,"duration":10,"tags":{},"startTime":1691874294451},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"optimize-chunks","id":3846,"timestamp":6811946129,"duration":176,"tags":{},"startTime":1691874294451},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"optimize-tree","id":3847,"timestamp":6811946334,"duration":13,"tags":{},"startTime":1691874294451},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"optimize-chunk-modules","id":3848,"timestamp":6811946375,"duration":7,"tags":{},"startTime":1691874294451},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"optimize","id":3844,"timestamp":6811946086,"duration":11108,"tags":{},"startTime":1691874294451},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"module-hash","id":3849,"timestamp":6811977199,"duration":20372,"tags":{},"startTime":1691874294482},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"code-generation","id":3850,"timestamp":6811997607,"duration":16894,"tags":{},"startTime":1691874294502},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"hash","id":3851,"timestamp":6812040525,"duration":20429,"tags":{},"startTime":1691874294545},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"code-generation-jobs","id":3852,"timestamp":6812060952,"duration":203,"tags":{},"startTime":1691874294566},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"module-assets","id":3853,"timestamp":6812061127,"duration":368,"tags":{},"startTime":1691874294566},{"traceId":"f3118a7bad57c10e","parentId":3842,"name":"create-chunk-assets","id":3854,"timestamp":6812061510,"duration":3050,"tags":{},"startTime":1691874294566},{"traceId":"f3118a7bad57c10e","parentId":3825,"name":"NextJsBuildManifest-generateClientManifest","id":3856,"timestamp":6812081369,"duration":108,"tags":{},"startTime":1691874294586},{"traceId":"f3118a7bad57c10e","parentId":3825,"name":"NextJsBuildManifest-createassets","id":3855,"timestamp":6812081261,"duration":224,"tags":{},"startTime":1691874294586},{"traceId":"f3118a7bad57c10e","parentId":3825,"name":"seal","id":3842,"timestamp":6811898541,"duration":192804,"tags":{},"startTime":1691874294403},{"traceId":"f3118a7bad57c10e","parentId":3823,"name":"webpack-compilation","id":3825,"timestamp":6810910459,"duration":1180940,"tags":{"name":"client"},"startTime":1691874293415},{"traceId":"f3118a7bad57c10e","parentId":3823,"name":"emit","id":3857,"timestamp":6812091432,"duration":39922,"tags":{},"startTime":1691874294596},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3823,"timestamp":6810901033,"duration":1244836,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874293406},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3860,"timestamp":6812158468,"duration":0,"tags":{},"startTime":1691874294663},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3866,"timestamp":1691874293406000,"duration":1307000,"tags":{"clientId":1691872020568},"startTime":1691874294720},{"traceId":"f3118a7bad57c10e","parentId":3868,"name":"next-swc-transform","id":3869,"timestamp":6812230375,"duration":4302,"tags":{},"startTime":1691874294735},{"traceId":"f3118a7bad57c10e","parentId":3867,"name":"next-swc-loader","id":3868,"timestamp":6812230253,"duration":4432,"tags":{},"startTime":1691874294735},{"traceId":"f3118a7bad57c10e","parentId":3858,"name":"build-module-tsx","id":3867,"timestamp":6812229976,"duration":11617,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874294735},{"traceId":"f3118a7bad57c10e","parentId":3859,"name":"add-entry","id":3861,"timestamp":6812161651,"duration":83043,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874294666},{"traceId":"f3118a7bad57c10e","parentId":3859,"name":"add-entry","id":3862,"timestamp":6812161712,"duration":82994,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874294666},{"traceId":"f3118a7bad57c10e","parentId":3859,"name":"add-entry","id":3863,"timestamp":6812161724,"duration":82985,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874294666},{"traceId":"f3118a7bad57c10e","parentId":3859,"name":"add-entry","id":3865,"timestamp":6812161737,"duration":82979,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874294666},{"traceId":"f3118a7bad57c10e","parentId":3859,"name":"add-entry","id":3864,"timestamp":6812161730,"duration":83335,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874294666},{"traceId":"f3118a7bad57c10e","parentId":3858,"name":"make","id":3859,"timestamp":6812147662,"duration":97565,"tags":{},"startTime":1691874294652},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"chunk-graph","id":3871,"timestamp":6812245682,"duration":514,"tags":{},"startTime":1691874294750},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"optimize-modules","id":3873,"timestamp":6812246227,"duration":5,"tags":{},"startTime":1691874294751},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"optimize-chunks","id":3874,"timestamp":6812246249,"duration":29,"tags":{},"startTime":1691874294751},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"optimize-tree","id":3875,"timestamp":6812246307,"duration":6,"tags":{},"startTime":1691874294751},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"optimize-chunk-modules","id":3876,"timestamp":6812246331,"duration":5,"tags":{},"startTime":1691874294751},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"optimize","id":3872,"timestamp":6812246216,"duration":214,"tags":{},"startTime":1691874294751},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"module-hash","id":3877,"timestamp":6812246661,"duration":200,"tags":{},"startTime":1691874294751},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"code-generation","id":3878,"timestamp":6812246874,"duration":771,"tags":{},"startTime":1691874294752},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"hash","id":3879,"timestamp":6812259283,"duration":34444,"tags":{},"startTime":1691874294764},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"code-generation-jobs","id":3880,"timestamp":6812293726,"duration":102,"tags":{},"startTime":1691874294798},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"module-assets","id":3881,"timestamp":6812293816,"duration":38,"tags":{},"startTime":1691874294798},{"traceId":"f3118a7bad57c10e","parentId":3870,"name":"create-chunk-assets","id":3882,"timestamp":6812293860,"duration":17753,"tags":{},"startTime":1691874294799},{"traceId":"f3118a7bad57c10e","parentId":3858,"name":"seal","id":3870,"timestamp":6812245581,"duration":83988,"tags":{},"startTime":1691874294750},{"traceId":"f3118a7bad57c10e","parentId":3824,"name":"webpack-compilation","id":3858,"timestamp":6812147312,"duration":182294,"tags":{"name":"server"},"startTime":1691874294652},{"traceId":"f3118a7bad57c10e","parentId":3824,"name":"emit","id":3883,"timestamp":6812329632,"duration":18612,"tags":{},"startTime":1691874294834},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3824,"timestamp":6810901521,"duration":1447463,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874293406}] -[{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3888,"timestamp":6816220375,"duration":29774,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3892,"timestamp":6816220698,"duration":32285,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3894,"timestamp":6816220718,"duration":32329,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3898,"name":"read-resource","id":3899,"timestamp":6816252364,"duration":5928,"tags":{},"startTime":1691874298757},{"traceId":"f3118a7bad57c10e","parentId":3896,"name":"next-swc-transform","id":3897,"timestamp":6816251494,"duration":27302,"tags":{},"startTime":1691874298756},{"traceId":"f3118a7bad57c10e","parentId":3895,"name":"next-swc-loader","id":3896,"timestamp":6816251272,"duration":27531,"tags":{},"startTime":1691874298756},{"traceId":"f3118a7bad57c10e","parentId":3886,"name":"build-module-tsx","id":3895,"timestamp":6816250940,"duration":55459,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874298756},{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3891,"timestamp":6816220686,"duration":86727,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3900,"name":"postcss-process","id":3901,"timestamp":6816258372,"duration":110759,"tags":{},"startTime":1691874298763},{"traceId":"f3118a7bad57c10e","parentId":3898,"name":"postcss-loader","id":3900,"timestamp":6816258342,"duration":112838,"tags":{},"startTime":1691874298763},{"traceId":"f3118a7bad57c10e","parentId":3898,"name":"css-loader","id":3902,"timestamp":6816371227,"duration":28297,"tags":{"astUsed":"true"},"startTime":1691874298876},{"traceId":"f3118a7bad57c10e","parentId":3886,"name":"build-module-css","id":3898,"timestamp":6816252173,"duration":154330,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874298757},{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3889,"timestamp":6816220646,"duration":186831,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3893,"timestamp":6816220711,"duration":208805,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3887,"name":"add-entry","id":3890,"timestamp":6816220676,"duration":286355,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874298725},{"traceId":"f3118a7bad57c10e","parentId":3886,"name":"make","id":3887,"timestamp":6816211791,"duration":295281,"tags":{},"startTime":1691874298717},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"chunk-graph","id":3904,"timestamp":6816529771,"duration":299093,"tags":{},"startTime":1691874299035},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"optimize-modules","id":3906,"timestamp":6816828928,"duration":11,"tags":{},"startTime":1691874299334},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"optimize-chunks","id":3907,"timestamp":6816828963,"duration":232,"tags":{},"startTime":1691874299334},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"optimize-tree","id":3908,"timestamp":6816829228,"duration":14,"tags":{},"startTime":1691874299334},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"optimize-chunk-modules","id":3909,"timestamp":6816829269,"duration":32,"tags":{},"startTime":1691874299334},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"optimize","id":3905,"timestamp":6816828911,"duration":2868,"tags":{},"startTime":1691874299334},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"module-hash","id":3910,"timestamp":6817012323,"duration":2992,"tags":{},"startTime":1691874299517},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"code-generation","id":3911,"timestamp":6817015352,"duration":46639,"tags":{},"startTime":1691874299520},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"hash","id":3912,"timestamp":6817077803,"duration":133799,"tags":{},"startTime":1691874299583},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"code-generation-jobs","id":3913,"timestamp":6817211597,"duration":654,"tags":{},"startTime":1691874299716},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"module-assets","id":3914,"timestamp":6817212189,"duration":452,"tags":{},"startTime":1691874299717},{"traceId":"f3118a7bad57c10e","parentId":3903,"name":"create-chunk-assets","id":3915,"timestamp":6817212664,"duration":33208,"tags":{},"startTime":1691874299717},{"traceId":"f3118a7bad57c10e","parentId":3886,"name":"NextJsBuildManifest-generateClientManifest","id":3917,"timestamp":6817279255,"duration":135,"tags":{},"startTime":1691874299784},{"traceId":"f3118a7bad57c10e","parentId":3886,"name":"NextJsBuildManifest-createassets","id":3916,"timestamp":6817278985,"duration":413,"tags":{},"startTime":1691874299784},{"traceId":"f3118a7bad57c10e","parentId":3886,"name":"seal","id":3903,"timestamp":6816513031,"duration":770325,"tags":{},"startTime":1691874299018},{"traceId":"f3118a7bad57c10e","parentId":3884,"name":"webpack-compilation","id":3886,"timestamp":6816211066,"duration":1072353,"tags":{"name":"client"},"startTime":1691874298716},{"traceId":"f3118a7bad57c10e","parentId":3884,"name":"emit","id":3918,"timestamp":6817283459,"duration":264848,"tags":{},"startTime":1691874299788},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3884,"timestamp":6816200593,"duration":1348953,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874298705},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":3921,"timestamp":6817659197,"duration":0,"tags":{},"startTime":1691874300164},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":3927,"timestamp":1691874298707000,"duration":1509000,"tags":{"clientId":1691872020568},"startTime":1691874300219},{"traceId":"f3118a7bad57c10e","parentId":3920,"name":"add-entry","id":3922,"timestamp":6817661682,"duration":67063,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874300166},{"traceId":"f3118a7bad57c10e","parentId":3920,"name":"add-entry","id":3923,"timestamp":6817661794,"duration":66965,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874300167},{"traceId":"f3118a7bad57c10e","parentId":3920,"name":"add-entry","id":3924,"timestamp":6817661806,"duration":66956,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874300167},{"traceId":"f3118a7bad57c10e","parentId":3920,"name":"add-entry","id":3926,"timestamp":6817661819,"duration":66946,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874300167},{"traceId":"f3118a7bad57c10e","parentId":3929,"name":"next-swc-transform","id":3930,"timestamp":6817719622,"duration":14400,"tags":{},"startTime":1691874300224},{"traceId":"f3118a7bad57c10e","parentId":3928,"name":"next-swc-loader","id":3929,"timestamp":6817719405,"duration":14624,"tags":{},"startTime":1691874300224},{"traceId":"f3118a7bad57c10e","parentId":3919,"name":"build-module-tsx","id":3928,"timestamp":6817719127,"duration":20129,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874300224},{"traceId":"f3118a7bad57c10e","parentId":3920,"name":"add-entry","id":3925,"timestamp":6817661813,"duration":79171,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874300167},{"traceId":"f3118a7bad57c10e","parentId":3919,"name":"make","id":3920,"timestamp":6817560126,"duration":180902,"tags":{},"startTime":1691874300065},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"chunk-graph","id":3932,"timestamp":6817741628,"duration":583,"tags":{},"startTime":1691874300246},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"optimize-modules","id":3934,"timestamp":6817742242,"duration":8,"tags":{},"startTime":1691874300247},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"optimize-chunks","id":3935,"timestamp":6817742269,"duration":30,"tags":{},"startTime":1691874300247},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"optimize-tree","id":3936,"timestamp":6817742325,"duration":17,"tags":{},"startTime":1691874300247},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"optimize-chunk-modules","id":3937,"timestamp":6817742361,"duration":6,"tags":{},"startTime":1691874300247},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"optimize","id":3933,"timestamp":6817742232,"duration":222,"tags":{},"startTime":1691874300247},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"module-hash","id":3938,"timestamp":6817742729,"duration":288,"tags":{},"startTime":1691874300248},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"code-generation","id":3939,"timestamp":6817743034,"duration":990,"tags":{},"startTime":1691874300248},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"hash","id":3940,"timestamp":6817744868,"duration":2528,"tags":{},"startTime":1691874300250},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"code-generation-jobs","id":3941,"timestamp":6817747395,"duration":147,"tags":{},"startTime":1691874300252},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"module-assets","id":3942,"timestamp":6817747500,"duration":72,"tags":{},"startTime":1691874300252},{"traceId":"f3118a7bad57c10e","parentId":3931,"name":"create-chunk-assets","id":3943,"timestamp":6817747578,"duration":12373,"tags":{},"startTime":1691874300252},{"traceId":"f3118a7bad57c10e","parentId":3919,"name":"seal","id":3931,"timestamp":6817741520,"duration":18744,"tags":{},"startTime":1691874300246},{"traceId":"f3118a7bad57c10e","parentId":3885,"name":"webpack-compilation","id":3919,"timestamp":6817559587,"duration":200721,"tags":{"name":"server"},"startTime":1691874300064},{"traceId":"f3118a7bad57c10e","parentId":3885,"name":"emit","id":3944,"timestamp":6817760337,"duration":4100,"tags":{},"startTime":1691874300265},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3885,"timestamp":6816201511,"duration":1563916,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874298706}] -[{"traceId":"f3118a7bad57c10e","parentId":3955,"name":"next-swc-transform","id":3956,"timestamp":6831000189,"duration":8362,"tags":{},"startTime":1691874313505},{"traceId":"f3118a7bad57c10e","parentId":3954,"name":"next-swc-loader","id":3955,"timestamp":6831000047,"duration":8520,"tags":{},"startTime":1691874313505},{"traceId":"f3118a7bad57c10e","parentId":3947,"name":"build-module-tsx","id":3954,"timestamp":6830999835,"duration":12854,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874313505},{"traceId":"f3118a7bad57c10e","parentId":3948,"name":"add-entry","id":3949,"timestamp":6830980633,"duration":34880,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874313486},{"traceId":"f3118a7bad57c10e","parentId":3948,"name":"add-entry","id":3950,"timestamp":6830980850,"duration":34673,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874313486},{"traceId":"f3118a7bad57c10e","parentId":3948,"name":"add-entry","id":3951,"timestamp":6830980864,"duration":34663,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874313486},{"traceId":"f3118a7bad57c10e","parentId":3948,"name":"add-entry","id":3953,"timestamp":6830980886,"duration":34648,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874313486},{"traceId":"f3118a7bad57c10e","parentId":3948,"name":"add-entry","id":3952,"timestamp":6830980875,"duration":34797,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874313486},{"traceId":"f3118a7bad57c10e","parentId":3947,"name":"make","id":3948,"timestamp":6830978588,"duration":37114,"tags":{},"startTime":1691874313484},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"chunk-graph","id":3958,"timestamp":6831016659,"duration":726,"tags":{},"startTime":1691874313522},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"optimize-modules","id":3960,"timestamp":6831017419,"duration":8,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"optimize-chunks","id":3961,"timestamp":6831017451,"duration":35,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"optimize-tree","id":3962,"timestamp":6831017518,"duration":10,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"optimize-chunk-modules","id":3963,"timestamp":6831017548,"duration":5,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"optimize","id":3959,"timestamp":6831017408,"duration":228,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"module-hash","id":3964,"timestamp":6831017967,"duration":238,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"code-generation","id":3965,"timestamp":6831018223,"duration":963,"tags":{},"startTime":1691874313523},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"hash","id":3966,"timestamp":6831019915,"duration":1596,"tags":{},"startTime":1691874313525},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"code-generation-jobs","id":3967,"timestamp":6831021509,"duration":146,"tags":{},"startTime":1691874313527},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"module-assets","id":3968,"timestamp":6831021639,"duration":35,"tags":{},"startTime":1691874313527},{"traceId":"f3118a7bad57c10e","parentId":3957,"name":"create-chunk-assets","id":3969,"timestamp":6831021686,"duration":1695,"tags":{},"startTime":1691874313527},{"traceId":"f3118a7bad57c10e","parentId":3947,"name":"seal","id":3957,"timestamp":6831016522,"duration":7151,"tags":{},"startTime":1691874313522},{"traceId":"f3118a7bad57c10e","parentId":3945,"name":"webpack-compilation","id":3947,"timestamp":6830977998,"duration":45712,"tags":{"name":"server"},"startTime":1691874313483},{"traceId":"f3118a7bad57c10e","parentId":3945,"name":"emit","id":3970,"timestamp":6831023739,"duration":20662,"tags":{},"startTime":1691874313529},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":3945,"timestamp":6830970182,"duration":74719,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874313475},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3973,"timestamp":6831053181,"duration":17106,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3977,"timestamp":6831053294,"duration":22626,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3979,"timestamp":6831053315,"duration":22617,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3976,"timestamp":6831053287,"duration":23335,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3983,"name":"read-resource","id":3984,"timestamp":6831075266,"duration":2083,"tags":{},"startTime":1691874313580},{"traceId":"f3118a7bad57c10e","parentId":3981,"name":"next-swc-transform","id":3982,"timestamp":6831072296,"duration":59334,"tags":{},"startTime":1691874313577},{"traceId":"f3118a7bad57c10e","parentId":3980,"name":"next-swc-loader","id":3981,"timestamp":6831072173,"duration":59464,"tags":{},"startTime":1691874313577},{"traceId":"f3118a7bad57c10e","parentId":3971,"name":"build-module-tsx","id":3980,"timestamp":6831071761,"duration":65814,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874313577},{"traceId":"f3118a7bad57c10e","parentId":3985,"name":"postcss-process","id":3986,"timestamp":6831077447,"duration":164495,"tags":{},"startTime":1691874313583},{"traceId":"f3118a7bad57c10e","parentId":3983,"name":"postcss-loader","id":3985,"timestamp":6831077401,"duration":165081,"tags":{},"startTime":1691874313583},{"traceId":"f3118a7bad57c10e","parentId":3983,"name":"css-loader","id":3987,"timestamp":6831242664,"duration":306184,"tags":{"astUsed":"true"},"startTime":1691874313748},{"traceId":"f3118a7bad57c10e","parentId":3971,"name":"build-module-css","id":3983,"timestamp":6831074825,"duration":506947,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874313580},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3974,"timestamp":6831053259,"duration":560448,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3978,"timestamp":6831053305,"duration":759026,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3972,"name":"add-entry","id":3975,"timestamp":6831053275,"duration":1026988,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874313558},{"traceId":"f3118a7bad57c10e","parentId":3971,"name":"make","id":3972,"timestamp":6831050454,"duration":1029843,"tags":{},"startTime":1691874313556},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"chunk-graph","id":3989,"timestamp":6832085873,"duration":59836,"tags":{},"startTime":1691874314591},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"optimize-modules","id":3991,"timestamp":6832145752,"duration":6,"tags":{},"startTime":1691874314651},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"optimize-chunks","id":3992,"timestamp":6832145779,"duration":190,"tags":{},"startTime":1691874314651},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"optimize-tree","id":3993,"timestamp":6832146001,"duration":8,"tags":{},"startTime":1691874314651},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"optimize-chunk-modules","id":3994,"timestamp":6832146035,"duration":6,"tags":{},"startTime":1691874314651},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"optimize","id":3990,"timestamp":6832145736,"duration":2259,"tags":{},"startTime":1691874314651},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"module-hash","id":3995,"timestamp":6832226328,"duration":5767,"tags":{},"startTime":1691874314732},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"code-generation","id":3996,"timestamp":6832232129,"duration":30760,"tags":{},"startTime":1691874314737},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"hash","id":3997,"timestamp":6832284546,"duration":29550,"tags":{},"startTime":1691874314790},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"code-generation-jobs","id":3998,"timestamp":6832314095,"duration":201,"tags":{},"startTime":1691874314819},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"module-assets","id":3999,"timestamp":6832314271,"duration":380,"tags":{},"startTime":1691874314819},{"traceId":"f3118a7bad57c10e","parentId":3988,"name":"create-chunk-assets","id":4000,"timestamp":6832314669,"duration":2796,"tags":{},"startTime":1691874314820},{"traceId":"f3118a7bad57c10e","parentId":3971,"name":"NextJsBuildManifest-generateClientManifest","id":4002,"timestamp":6832329128,"duration":17682,"tags":{},"startTime":1691874314834},{"traceId":"f3118a7bad57c10e","parentId":3971,"name":"NextJsBuildManifest-createassets","id":4001,"timestamp":6832327553,"duration":19270,"tags":{},"startTime":1691874314833},{"traceId":"f3118a7bad57c10e","parentId":3971,"name":"seal","id":3988,"timestamp":6832082117,"duration":268927,"tags":{},"startTime":1691874314587},{"traceId":"f3118a7bad57c10e","parentId":3946,"name":"webpack-compilation","id":3971,"timestamp":6831049255,"duration":1301846,"tags":{"name":"client"},"startTime":1691874313554},{"traceId":"f3118a7bad57c10e","parentId":3946,"name":"emit","id":4003,"timestamp":6832351140,"duration":47032,"tags":{},"startTime":1691874314856},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":3946,"timestamp":6830970382,"duration":1429760,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874313476}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4004,"timestamp":6832462500,"duration":0,"tags":{},"startTime":1691874314968},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4005,"timestamp":1691874313476000,"duration":1564000,"tags":{"clientId":1691872020568},"startTime":1691874315050},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4010,"timestamp":6860325773,"duration":26361,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4014,"timestamp":6860325868,"duration":28526,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4016,"timestamp":6860325882,"duration":28521,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4013,"timestamp":6860325862,"duration":29735,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4020,"name":"read-resource","id":4021,"timestamp":6860354078,"duration":1819,"tags":{},"startTime":1691874342860},{"traceId":"f3118a7bad57c10e","parentId":4022,"name":"postcss-process","id":4023,"timestamp":6860355967,"duration":95561,"tags":{},"startTime":1691874342862},{"traceId":"f3118a7bad57c10e","parentId":4020,"name":"postcss-loader","id":4022,"timestamp":6860355942,"duration":95977,"tags":{},"startTime":1691874342862},{"traceId":"f3118a7bad57c10e","parentId":4020,"name":"css-loader","id":4024,"timestamp":6860452061,"duration":366525,"tags":{"astUsed":"true"},"startTime":1691874342958},{"traceId":"f3118a7bad57c10e","parentId":4008,"name":"build-module-css","id":4020,"timestamp":6860353854,"duration":470720,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874342860},{"traceId":"f3118a7bad57c10e","parentId":4018,"name":"next-swc-transform","id":4019,"timestamp":6860353293,"duration":477759,"tags":{},"startTime":1691874342859},{"traceId":"f3118a7bad57c10e","parentId":4017,"name":"next-swc-loader","id":4018,"timestamp":6860353182,"duration":477878,"tags":{},"startTime":1691874342859},{"traceId":"f3118a7bad57c10e","parentId":4008,"name":"build-module-tsx","id":4017,"timestamp":6860352864,"duration":547648,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874342859},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4011,"timestamp":6860325843,"duration":586301,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4015,"timestamp":6860325876,"duration":827255,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4009,"name":"add-entry","id":4012,"timestamp":6860325855,"duration":951726,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874342832},{"traceId":"f3118a7bad57c10e","parentId":4008,"name":"make","id":4009,"timestamp":6860314053,"duration":963574,"tags":{},"startTime":1691874342820},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"chunk-graph","id":4026,"timestamp":6861287812,"duration":28510,"tags":{},"startTime":1691874343794},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"optimize-modules","id":4028,"timestamp":6861316362,"duration":6,"tags":{},"startTime":1691874343822},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"optimize-chunks","id":4029,"timestamp":6861316388,"duration":214,"tags":{},"startTime":1691874343822},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"optimize-tree","id":4030,"timestamp":6861316631,"duration":9,"tags":{},"startTime":1691874343823},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"optimize-chunk-modules","id":4031,"timestamp":6861316669,"duration":6,"tags":{},"startTime":1691874343823},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"optimize","id":4027,"timestamp":6861316349,"duration":1885,"tags":{},"startTime":1691874343822},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"module-hash","id":4032,"timestamp":6861415241,"duration":3414,"tags":{},"startTime":1691874343921},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"code-generation","id":4033,"timestamp":6861418690,"duration":47629,"tags":{},"startTime":1691874343925},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"hash","id":4034,"timestamp":6861478806,"duration":53514,"tags":{},"startTime":1691874343985},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"code-generation-jobs","id":4035,"timestamp":6861532319,"duration":232,"tags":{},"startTime":1691874344038},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"module-assets","id":4036,"timestamp":6861532509,"duration":400,"tags":{},"startTime":1691874344039},{"traceId":"f3118a7bad57c10e","parentId":4025,"name":"create-chunk-assets","id":4037,"timestamp":6861532926,"duration":82913,"tags":{},"startTime":1691874344039},{"traceId":"f3118a7bad57c10e","parentId":4008,"name":"NextJsBuildManifest-generateClientManifest","id":4039,"timestamp":6861618896,"duration":89,"tags":{},"startTime":1691874344125},{"traceId":"f3118a7bad57c10e","parentId":4008,"name":"NextJsBuildManifest-createassets","id":4038,"timestamp":6861618799,"duration":193,"tags":{},"startTime":1691874344125},{"traceId":"f3118a7bad57c10e","parentId":4008,"name":"seal","id":4025,"timestamp":6861280246,"duration":356553,"tags":{},"startTime":1691874343786},{"traceId":"f3118a7bad57c10e","parentId":4006,"name":"webpack-compilation","id":4008,"timestamp":6860313659,"duration":1323197,"tags":{"name":"client"},"startTime":1691874342820},{"traceId":"f3118a7bad57c10e","parentId":4006,"name":"emit","id":4040,"timestamp":6861636886,"duration":155702,"tags":{},"startTime":1691874344143},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4006,"timestamp":6860304096,"duration":1489755,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874342810},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4043,"timestamp":6861852120,"duration":0,"tags":{},"startTime":1691874344358},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4049,"timestamp":1691874342811000,"duration":1593000,"tags":{"clientId":1691872020568},"startTime":1691874344407},{"traceId":"f3118a7bad57c10e","parentId":4042,"name":"add-entry","id":4044,"timestamp":6861858219,"duration":52170,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874344364},{"traceId":"f3118a7bad57c10e","parentId":4042,"name":"add-entry","id":4045,"timestamp":6861858282,"duration":52121,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874344364},{"traceId":"f3118a7bad57c10e","parentId":4042,"name":"add-entry","id":4046,"timestamp":6861858294,"duration":52111,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874344364},{"traceId":"f3118a7bad57c10e","parentId":4042,"name":"add-entry","id":4048,"timestamp":6861858309,"duration":52099,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874344364},{"traceId":"f3118a7bad57c10e","parentId":4051,"name":"next-swc-transform","id":4052,"timestamp":6861906692,"duration":19105,"tags":{},"startTime":1691874344413},{"traceId":"f3118a7bad57c10e","parentId":4050,"name":"next-swc-loader","id":4051,"timestamp":6861906314,"duration":19491,"tags":{},"startTime":1691874344412},{"traceId":"f3118a7bad57c10e","parentId":4041,"name":"build-module-tsx","id":4050,"timestamp":6861906123,"duration":23133,"tags":{"name":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx","layer":"null"},"startTime":1691874344412},{"traceId":"f3118a7bad57c10e","parentId":4042,"name":"add-entry","id":4047,"timestamp":6861858302,"duration":77149,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874344364},{"traceId":"f3118a7bad57c10e","parentId":4041,"name":"make","id":4042,"timestamp":6861800309,"duration":135188,"tags":{},"startTime":1691874344306},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"chunk-graph","id":4054,"timestamp":6861935931,"duration":340,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"optimize-modules","id":4056,"timestamp":6861936293,"duration":4,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"optimize-chunks","id":4057,"timestamp":6861936317,"duration":26,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"optimize-tree","id":4058,"timestamp":6861936364,"duration":6,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"optimize-chunk-modules","id":4059,"timestamp":6861936389,"duration":6,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"optimize","id":4055,"timestamp":6861936285,"duration":178,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"module-hash","id":4060,"timestamp":6861936685,"duration":193,"tags":{},"startTime":1691874344443},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"code-generation","id":4061,"timestamp":6861936892,"duration":815,"tags":{},"startTime":1691874344443},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"hash","id":4062,"timestamp":6861938442,"duration":2432,"tags":{},"startTime":1691874344444},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"code-generation-jobs","id":4063,"timestamp":6861940873,"duration":676,"tags":{},"startTime":1691874344447},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"module-assets","id":4064,"timestamp":6861941533,"duration":51,"tags":{},"startTime":1691874344448},{"traceId":"f3118a7bad57c10e","parentId":4053,"name":"create-chunk-assets","id":4065,"timestamp":6861941591,"duration":1630,"tags":{},"startTime":1691874344448},{"traceId":"f3118a7bad57c10e","parentId":4041,"name":"seal","id":4053,"timestamp":6861935836,"duration":7708,"tags":{},"startTime":1691874344442},{"traceId":"f3118a7bad57c10e","parentId":4007,"name":"webpack-compilation","id":4041,"timestamp":6861799702,"duration":143879,"tags":{"name":"server"},"startTime":1691874344306},{"traceId":"f3118a7bad57c10e","parentId":4007,"name":"emit","id":4066,"timestamp":6861943642,"duration":6451,"tags":{},"startTime":1691874344450},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4007,"timestamp":6860304389,"duration":1647489,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/FrontPage.tsx"},"startTime":1691874342810}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4067,"timestamp":7011852469,"duration":0,"tags":{},"startTime":1691874494363},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4068,"timestamp":7131857984,"duration":0,"tags":{},"startTime":1691874614390},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4072,"timestamp":7152850795,"duration":39920,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874635384},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4076,"timestamp":7152851057,"duration":43060,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874635385},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4078,"timestamp":7152851076,"duration":43055,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874635385},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4075,"timestamp":7152851046,"duration":48642,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874635385},{"traceId":"f3118a7bad57c10e","parentId":4079,"name":"read-resource","id":4080,"timestamp":7152893692,"duration":6344,"tags":{},"startTime":1691874635427},{"traceId":"f3118a7bad57c10e","parentId":4081,"name":"postcss-process","id":4082,"timestamp":7152900229,"duration":138869,"tags":{},"startTime":1691874635434},{"traceId":"f3118a7bad57c10e","parentId":4079,"name":"postcss-loader","id":4081,"timestamp":7152900177,"duration":139702,"tags":{},"startTime":1691874635434},{"traceId":"f3118a7bad57c10e","parentId":4079,"name":"css-loader","id":4083,"timestamp":7153039921,"duration":172011,"tags":{"astUsed":"true"},"startTime":1691874635574},{"traceId":"f3118a7bad57c10e","parentId":4070,"name":"build-module-css","id":4079,"timestamp":7152892798,"duration":336280,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874635426},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4073,"timestamp":7152851015,"duration":389385,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874635385},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4077,"timestamp":7152851069,"duration":459530,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874635385},{"traceId":"f3118a7bad57c10e","parentId":4071,"name":"add-entry","id":4074,"timestamp":7152851037,"duration":910221,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874635385},{"traceId":"f3118a7bad57c10e","parentId":4070,"name":"make","id":4071,"timestamp":7152839973,"duration":921333,"tags":{},"startTime":1691874635374},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"chunk-graph","id":4085,"timestamp":7153769776,"duration":21112,"tags":{},"startTime":1691874636303},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"optimize-modules","id":4087,"timestamp":7153791048,"duration":43,"tags":{},"startTime":1691874636325},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"optimize-chunks","id":4088,"timestamp":7153791187,"duration":310,"tags":{},"startTime":1691874636325},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"optimize-tree","id":4089,"timestamp":7153791592,"duration":52,"tags":{},"startTime":1691874636325},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"optimize-chunk-modules","id":4090,"timestamp":7153791735,"duration":43,"tags":{},"startTime":1691874636325},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"optimize","id":4086,"timestamp":7153790978,"duration":4436,"tags":{},"startTime":1691874636325},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"module-hash","id":4091,"timestamp":7153822993,"duration":95464,"tags":{},"startTime":1691874636357},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"code-generation","id":4092,"timestamp":7153918495,"duration":19481,"tags":{},"startTime":1691874636452},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"hash","id":4093,"timestamp":7153949567,"duration":19091,"tags":{},"startTime":1691874636483},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"code-generation-jobs","id":4094,"timestamp":7153968657,"duration":192,"tags":{},"startTime":1691874636502},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"module-assets","id":4095,"timestamp":7153968821,"duration":339,"tags":{},"startTime":1691874636503},{"traceId":"f3118a7bad57c10e","parentId":4084,"name":"create-chunk-assets","id":4096,"timestamp":7153969170,"duration":898,"tags":{},"startTime":1691874636503},{"traceId":"f3118a7bad57c10e","parentId":4070,"name":"NextJsBuildManifest-generateClientManifest","id":4098,"timestamp":7153972634,"duration":163,"tags":{},"startTime":1691874636506},{"traceId":"f3118a7bad57c10e","parentId":4070,"name":"NextJsBuildManifest-createassets","id":4097,"timestamp":7153972234,"duration":571,"tags":{},"startTime":1691874636506},{"traceId":"f3118a7bad57c10e","parentId":4070,"name":"seal","id":4084,"timestamp":7153764961,"duration":212510,"tags":{},"startTime":1691874636299},{"traceId":"f3118a7bad57c10e","parentId":4069,"name":"webpack-compilation","id":4070,"timestamp":7152839108,"duration":1138432,"tags":{"name":"client"},"startTime":1691874635373},{"traceId":"f3118a7bad57c10e","parentId":4069,"name":"emit","id":4099,"timestamp":7153977587,"duration":24904,"tags":{},"startTime":1691874636511},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4069,"timestamp":7152829040,"duration":1180847,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691874635363}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4100,"timestamp":7154335237,"duration":0,"tags":{},"startTime":1691874636869},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4104,"timestamp":7165754519,"duration":16073,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4108,"timestamp":7165754679,"duration":17852,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4110,"timestamp":7165754707,"duration":17833,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4107,"timestamp":7165754668,"duration":18336,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4111,"name":"read-resource","id":4112,"timestamp":7165772159,"duration":3161,"tags":{},"startTime":1691874648306},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4105,"timestamp":7165754635,"duration":51220,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4113,"name":"postcss-process","id":4114,"timestamp":7165775424,"duration":82287,"tags":{},"startTime":1691874648310},{"traceId":"f3118a7bad57c10e","parentId":4111,"name":"postcss-loader","id":4113,"timestamp":7165775387,"duration":82700,"tags":{},"startTime":1691874648310},{"traceId":"f3118a7bad57c10e","parentId":4111,"name":"css-loader","id":4115,"timestamp":7165858122,"duration":21240,"tags":{"astUsed":"true"},"startTime":1691874648392},{"traceId":"f3118a7bad57c10e","parentId":4102,"name":"build-module-css","id":4111,"timestamp":7165771658,"duration":121125,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874648306},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4109,"timestamp":7165754697,"duration":150584,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4103,"name":"add-entry","id":4106,"timestamp":7165754655,"duration":225427,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874648289},{"traceId":"f3118a7bad57c10e","parentId":4102,"name":"make","id":4103,"timestamp":7165751819,"duration":228299,"tags":{},"startTime":1691874648286},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"chunk-graph","id":4117,"timestamp":7165992155,"duration":13422,"tags":{},"startTime":1691874648526},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"optimize-modules","id":4119,"timestamp":7166005631,"duration":7,"tags":{},"startTime":1691874648540},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"optimize-chunks","id":4120,"timestamp":7166005857,"duration":362,"tags":{},"startTime":1691874648540},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"optimize-tree","id":4121,"timestamp":7166006312,"duration":18,"tags":{},"startTime":1691874648540},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"optimize-chunk-modules","id":4122,"timestamp":7166006424,"duration":15,"tags":{},"startTime":1691874648541},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"optimize","id":4118,"timestamp":7166005612,"duration":2270,"tags":{},"startTime":1691874648540},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"module-hash","id":4123,"timestamp":7166014567,"duration":3249,"tags":{},"startTime":1691874648549},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"code-generation","id":4124,"timestamp":7166017889,"duration":10293,"tags":{},"startTime":1691874648552},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"hash","id":4125,"timestamp":7166034565,"duration":15756,"tags":{},"startTime":1691874648569},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"code-generation-jobs","id":4126,"timestamp":7166050319,"duration":710,"tags":{},"startTime":1691874648585},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"module-assets","id":4127,"timestamp":7166050966,"duration":559,"tags":{},"startTime":1691874648585},{"traceId":"f3118a7bad57c10e","parentId":4116,"name":"create-chunk-assets","id":4128,"timestamp":7166051545,"duration":2850,"tags":{},"startTime":1691874648586},{"traceId":"f3118a7bad57c10e","parentId":4102,"name":"NextJsBuildManifest-generateClientManifest","id":4130,"timestamp":7166056561,"duration":266,"tags":{},"startTime":1691874648591},{"traceId":"f3118a7bad57c10e","parentId":4102,"name":"NextJsBuildManifest-createassets","id":4129,"timestamp":7166056419,"duration":420,"tags":{},"startTime":1691874648591},{"traceId":"f3118a7bad57c10e","parentId":4102,"name":"seal","id":4116,"timestamp":7165985149,"duration":73803,"tags":{},"startTime":1691874648519},{"traceId":"f3118a7bad57c10e","parentId":4101,"name":"webpack-compilation","id":4102,"timestamp":7165751304,"duration":307737,"tags":{"name":"client"},"startTime":1691874648285},{"traceId":"f3118a7bad57c10e","parentId":4101,"name":"emit","id":4131,"timestamp":7166059084,"duration":33115,"tags":{},"startTime":1691874648593},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4101,"timestamp":7165741953,"duration":353854,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691874648276}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4132,"timestamp":7166114138,"duration":0,"tags":{},"startTime":1691874648648},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4136,"timestamp":7199933336,"duration":24658,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4140,"timestamp":7199933445,"duration":26552,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4141,"timestamp":7199933453,"duration":26618,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4139,"timestamp":7199933438,"duration":27369,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4143,"name":"read-resource","id":4144,"timestamp":7199959711,"duration":1289,"tags":{},"startTime":1691874682495},{"traceId":"f3118a7bad57c10e","parentId":4145,"name":"postcss-process","id":4146,"timestamp":7199961109,"duration":92032,"tags":{},"startTime":1691874682496},{"traceId":"f3118a7bad57c10e","parentId":4143,"name":"postcss-loader","id":4145,"timestamp":7199961064,"duration":92366,"tags":{},"startTime":1691874682496},{"traceId":"f3118a7bad57c10e","parentId":4143,"name":"css-loader","id":4147,"timestamp":7200053467,"duration":19810,"tags":{"astUsed":"true"},"startTime":1691874682589},{"traceId":"f3118a7bad57c10e","parentId":4134,"name":"build-module-css","id":4143,"timestamp":7199959489,"duration":116911,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874682495},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4137,"timestamp":7199933406,"duration":143498,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4142,"timestamp":7199933462,"duration":154001,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4135,"name":"add-entry","id":4138,"timestamp":7199933429,"duration":272388,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874682469},{"traceId":"f3118a7bad57c10e","parentId":4134,"name":"make","id":4135,"timestamp":7199912024,"duration":293830,"tags":{},"startTime":1691874682447},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"chunk-graph","id":4149,"timestamp":7200213436,"duration":11713,"tags":{},"startTime":1691874682749},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"optimize-modules","id":4151,"timestamp":7200225198,"duration":7,"tags":{},"startTime":1691874682760},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"optimize-chunks","id":4152,"timestamp":7200225227,"duration":255,"tags":{},"startTime":1691874682761},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"optimize-tree","id":4153,"timestamp":7200225519,"duration":9,"tags":{},"startTime":1691874682761},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"optimize-chunk-modules","id":4154,"timestamp":7200225567,"duration":7,"tags":{},"startTime":1691874682761},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"optimize","id":4150,"timestamp":7200225180,"duration":1825,"tags":{},"startTime":1691874682760},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"module-hash","id":4155,"timestamp":7200240387,"duration":4557,"tags":{},"startTime":1691874682776},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"code-generation","id":4156,"timestamp":7200244984,"duration":10739,"tags":{},"startTime":1691874682780},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"hash","id":4157,"timestamp":7200274217,"duration":12526,"tags":{},"startTime":1691874682810},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"code-generation-jobs","id":4158,"timestamp":7200286742,"duration":187,"tags":{},"startTime":1691874682822},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"module-assets","id":4159,"timestamp":7200286887,"duration":345,"tags":{},"startTime":1691874682822},{"traceId":"f3118a7bad57c10e","parentId":4148,"name":"create-chunk-assets","id":4160,"timestamp":7200287242,"duration":753,"tags":{},"startTime":1691874682823},{"traceId":"f3118a7bad57c10e","parentId":4134,"name":"NextJsBuildManifest-generateClientManifest","id":4162,"timestamp":7200289620,"duration":85,"tags":{},"startTime":1691874682825},{"traceId":"f3118a7bad57c10e","parentId":4134,"name":"NextJsBuildManifest-createassets","id":4161,"timestamp":7200289534,"duration":178,"tags":{},"startTime":1691874682825},{"traceId":"f3118a7bad57c10e","parentId":4134,"name":"seal","id":4148,"timestamp":7200207302,"duration":84110,"tags":{},"startTime":1691874682743},{"traceId":"f3118a7bad57c10e","parentId":4133,"name":"webpack-compilation","id":4134,"timestamp":7199911463,"duration":380003,"tags":{"name":"client"},"startTime":1691874682447},{"traceId":"f3118a7bad57c10e","parentId":4133,"name":"emit","id":4163,"timestamp":7200291500,"duration":148960,"tags":{},"startTime":1691874682827},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4133,"timestamp":7199899999,"duration":551976,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691874682435}] -[{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4168,"timestamp":7210727947,"duration":32922,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4172,"timestamp":7210728121,"duration":39959,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4174,"timestamp":7210728144,"duration":39950,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4175,"name":"read-resource","id":4176,"timestamp":7210764716,"duration":11354,"tags":{},"startTime":1691874693300},{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4171,"timestamp":7210728113,"duration":69660,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4177,"name":"postcss-process","id":4178,"timestamp":7210776293,"duration":95771,"tags":{},"startTime":1691874693312},{"traceId":"f3118a7bad57c10e","parentId":4175,"name":"postcss-loader","id":4177,"timestamp":7210776123,"duration":96732,"tags":{},"startTime":1691874693312},{"traceId":"f3118a7bad57c10e","parentId":4175,"name":"css-loader","id":4179,"timestamp":7210872891,"duration":31938,"tags":{"astUsed":"true"},"startTime":1691874693409},{"traceId":"f3118a7bad57c10e","parentId":4166,"name":"build-module-css","id":4175,"timestamp":7210764365,"duration":154691,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691874693300},{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4169,"timestamp":7210728079,"duration":193439,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4181,"name":"next-swc-transform","id":4182,"timestamp":7210924507,"duration":7801,"tags":{},"startTime":1691874693460},{"traceId":"f3118a7bad57c10e","parentId":4180,"name":"next-swc-loader","id":4181,"timestamp":7210924164,"duration":8155,"tags":{},"startTime":1691874693460},{"traceId":"f3118a7bad57c10e","parentId":4166,"name":"build-module-tsx","id":4180,"timestamp":7210923896,"duration":17333,"tags":{"name":"/Users/muaadhm/frontend/pages/index.tsx","layer":"null"},"startTime":1691874693460},{"traceId":"f3118a7bad57c10e","parentId":4184,"name":"next-swc-transform","id":4185,"timestamp":7211605336,"duration":4472,"tags":{},"startTime":1691874694141},{"traceId":"f3118a7bad57c10e","parentId":4183,"name":"next-swc-loader","id":4184,"timestamp":7211605134,"duration":4682,"tags":{},"startTime":1691874694141},{"traceId":"f3118a7bad57c10e","parentId":4180,"name":"build-module-tsx","id":4183,"timestamp":7211604375,"duration":14050,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691874694140},{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4173,"timestamp":7210728133,"duration":959563,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4167,"name":"add-entry","id":4170,"timestamp":7210728098,"duration":1431565,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691874693264},{"traceId":"f3118a7bad57c10e","parentId":4166,"name":"make","id":4167,"timestamp":7210714849,"duration":1444857,"tags":{},"startTime":1691874693250},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"chunk-graph","id":4187,"timestamp":7212169925,"duration":44604,"tags":{},"startTime":1691874694706},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"optimize-modules","id":4189,"timestamp":7212214666,"duration":60,"tags":{},"startTime":1691874694750},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"optimize-chunks","id":4190,"timestamp":7212214813,"duration":290,"tags":{},"startTime":1691874694750},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"optimize-tree","id":4191,"timestamp":7212215190,"duration":47,"tags":{},"startTime":1691874694751},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"optimize-chunk-modules","id":4192,"timestamp":7212215338,"duration":43,"tags":{},"startTime":1691874694751},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"optimize","id":4188,"timestamp":7212214603,"duration":2614,"tags":{},"startTime":1691874694750},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"module-hash","id":4193,"timestamp":7212239319,"duration":6326,"tags":{},"startTime":1691874694775},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"code-generation","id":4194,"timestamp":7212245686,"duration":29616,"tags":{},"startTime":1691874694781},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"hash","id":4195,"timestamp":7212283800,"duration":48394,"tags":{},"startTime":1691874694819},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"code-generation-jobs","id":4196,"timestamp":7212332192,"duration":291,"tags":{},"startTime":1691874694868},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"module-assets","id":4197,"timestamp":7212332440,"duration":403,"tags":{},"startTime":1691874694868},{"traceId":"f3118a7bad57c10e","parentId":4186,"name":"create-chunk-assets","id":4198,"timestamp":7212332866,"duration":4277,"tags":{},"startTime":1691874694869},{"traceId":"f3118a7bad57c10e","parentId":4166,"name":"NextJsBuildManifest-generateClientManifest","id":4200,"timestamp":7212341680,"duration":160,"tags":{},"startTime":1691874694877},{"traceId":"f3118a7bad57c10e","parentId":4166,"name":"NextJsBuildManifest-createassets","id":4199,"timestamp":7212341550,"duration":299,"tags":{},"startTime":1691874694877},{"traceId":"f3118a7bad57c10e","parentId":4166,"name":"seal","id":4186,"timestamp":7212163060,"duration":183379,"tags":{},"startTime":1691874694699},{"traceId":"f3118a7bad57c10e","parentId":4164,"name":"webpack-compilation","id":4166,"timestamp":7210713681,"duration":1632822,"tags":{"name":"client"},"startTime":1691874693249},{"traceId":"f3118a7bad57c10e","parentId":4164,"name":"emit","id":4201,"timestamp":7212346538,"duration":19178,"tags":{},"startTime":1691874694882},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4164,"timestamp":7210705108,"duration":1661577,"tags":{"trigger":"/Users/muaadhm/frontend/pages/index.tsx"},"startTime":1691874693241},{"traceId":"f3118a7bad57c10e","parentId":4210,"name":"next-swc-transform","id":4211,"timestamp":7212390849,"duration":2168,"tags":{},"startTime":1691874694927},{"traceId":"f3118a7bad57c10e","parentId":4209,"name":"next-swc-loader","id":4210,"timestamp":7212390722,"duration":2302,"tags":{},"startTime":1691874694926},{"traceId":"f3118a7bad57c10e","parentId":4202,"name":"build-module-tsx","id":4209,"timestamp":7212390366,"duration":4528,"tags":{"name":"/Users/muaadhm/frontend/pages/index.tsx","layer":"null"},"startTime":1691874694926},{"traceId":"f3118a7bad57c10e","parentId":4203,"name":"add-entry","id":4204,"timestamp":7212377389,"duration":37579,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874694913},{"traceId":"f3118a7bad57c10e","parentId":4203,"name":"add-entry","id":4205,"timestamp":7212377495,"duration":37490,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874694913},{"traceId":"f3118a7bad57c10e","parentId":4203,"name":"add-entry","id":4206,"timestamp":7212377507,"duration":37483,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874694913},{"traceId":"f3118a7bad57c10e","parentId":4203,"name":"add-entry","id":4208,"timestamp":7212377521,"duration":37475,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874694913},{"traceId":"f3118a7bad57c10e","parentId":4213,"name":"next-swc-transform","id":4214,"timestamp":7212487863,"duration":22162,"tags":{},"startTime":1691874695024},{"traceId":"f3118a7bad57c10e","parentId":4212,"name":"next-swc-loader","id":4213,"timestamp":7212487730,"duration":22303,"tags":{},"startTime":1691874695023},{"traceId":"f3118a7bad57c10e","parentId":4209,"name":"build-module-tsx","id":4212,"timestamp":7212487554,"duration":24589,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691874695023},{"traceId":"f3118a7bad57c10e","parentId":4203,"name":"add-entry","id":4207,"timestamp":7212377514,"duration":294093,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691874694913},{"traceId":"f3118a7bad57c10e","parentId":4202,"name":"make","id":4203,"timestamp":7212368353,"duration":303292,"tags":{},"startTime":1691874694904},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"chunk-graph","id":4216,"timestamp":7212672524,"duration":1054,"tags":{},"startTime":1691874695208},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"optimize-modules","id":4218,"timestamp":7212673615,"duration":8,"tags":{},"startTime":1691874695209},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"optimize-chunks","id":4219,"timestamp":7212673800,"duration":190,"tags":{},"startTime":1691874695209},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"optimize-tree","id":4220,"timestamp":7212674076,"duration":14,"tags":{},"startTime":1691874695210},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"optimize-chunk-modules","id":4221,"timestamp":7212674181,"duration":11,"tags":{},"startTime":1691874695210},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"optimize","id":4217,"timestamp":7212673602,"duration":772,"tags":{},"startTime":1691874695209},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"module-hash","id":4222,"timestamp":7212689542,"duration":365,"tags":{},"startTime":1691874695225},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"code-generation","id":4223,"timestamp":7212689929,"duration":5656,"tags":{},"startTime":1691874695226},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"hash","id":4224,"timestamp":7212697051,"duration":6207,"tags":{},"startTime":1691874695233},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"code-generation-jobs","id":4225,"timestamp":7212703256,"duration":145,"tags":{},"startTime":1691874695239},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"module-assets","id":4226,"timestamp":7212703385,"duration":41,"tags":{},"startTime":1691874695239},{"traceId":"f3118a7bad57c10e","parentId":4215,"name":"create-chunk-assets","id":4227,"timestamp":7212703435,"duration":9374,"tags":{},"startTime":1691874695239},{"traceId":"f3118a7bad57c10e","parentId":4202,"name":"seal","id":4215,"timestamp":7212672384,"duration":41101,"tags":{},"startTime":1691874695208},{"traceId":"f3118a7bad57c10e","parentId":4165,"name":"webpack-compilation","id":4202,"timestamp":7212368018,"duration":345519,"tags":{"name":"server"},"startTime":1691874694904},{"traceId":"f3118a7bad57c10e","parentId":4165,"name":"emit","id":4228,"timestamp":7212713575,"duration":80802,"tags":{},"startTime":1691874695249},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4165,"timestamp":7210705391,"duration":2092477,"tags":{"trigger":"/Users/muaadhm/frontend/pages/index.tsx"},"startTime":1691874693241}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4229,"timestamp":7218217676,"duration":0,"tags":{},"startTime":1691874700754},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4230,"timestamp":1691874648278000,"duration":52526000,"tags":{"clientId":1691872020568},"startTime":1691874700809},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4231,"timestamp":7431849589,"duration":0,"tags":{},"startTime":1691874914392},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4232,"timestamp":7551860208,"duration":0,"tags":{},"startTime":1691875034406},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4233,"timestamp":7671865021,"duration":0,"tags":{},"startTime":1691875154414},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4234,"timestamp":7791863449,"duration":0,"tags":{},"startTime":1691875274417},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4235,"timestamp":7911879964,"duration":0,"tags":{},"startTime":1691875394437},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4236,"timestamp":8031900340,"duration":0,"tags":{},"startTime":1691875514419},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4237,"timestamp":8151871026,"duration":0,"tags":{},"startTime":1691875634383},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4238,"timestamp":8271853812,"duration":0,"tags":{},"startTime":1691875754366},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4239,"timestamp":8371754272,"duration":0,"tags":{},"startTime":1691875854267},{"traceId":"f3118a7bad57c10e","parentId":4250,"name":"next-swc-transform","id":4251,"timestamp":8451797626,"duration":5722,"tags":{},"startTime":1691875934310},{"traceId":"f3118a7bad57c10e","parentId":4249,"name":"next-swc-loader","id":4250,"timestamp":8451796942,"duration":6414,"tags":{},"startTime":1691875934310},{"traceId":"f3118a7bad57c10e","parentId":4242,"name":"build-module-tsx","id":4249,"timestamp":8451795404,"duration":17195,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875934308},{"traceId":"f3118a7bad57c10e","parentId":4243,"name":"add-entry","id":4244,"timestamp":8451728769,"duration":87891,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875934241},{"traceId":"f3118a7bad57c10e","parentId":4243,"name":"add-entry","id":4245,"timestamp":8451730294,"duration":86391,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875934243},{"traceId":"f3118a7bad57c10e","parentId":4243,"name":"add-entry","id":4246,"timestamp":8451730324,"duration":86369,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875934243},{"traceId":"f3118a7bad57c10e","parentId":4243,"name":"add-entry","id":4247,"timestamp":8451730342,"duration":86354,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875934243},{"traceId":"f3118a7bad57c10e","parentId":4243,"name":"add-entry","id":4248,"timestamp":8451730358,"duration":86459,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875934243},{"traceId":"f3118a7bad57c10e","parentId":4242,"name":"make","id":4243,"timestamp":8451717774,"duration":99183,"tags":{},"startTime":1691875934230},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"chunk-graph","id":4253,"timestamp":8451818637,"duration":1607,"tags":{},"startTime":1691875934331},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"optimize-modules","id":4255,"timestamp":8451820325,"duration":10,"tags":{},"startTime":1691875934333},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"optimize-chunks","id":4256,"timestamp":8451820375,"duration":113,"tags":{},"startTime":1691875934333},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"optimize-tree","id":4257,"timestamp":8451820537,"duration":108,"tags":{},"startTime":1691875934333},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"optimize-chunk-modules","id":4258,"timestamp":8451820688,"duration":87,"tags":{},"startTime":1691875934333},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"optimize","id":4254,"timestamp":8451820288,"duration":939,"tags":{},"startTime":1691875934333},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"module-hash","id":4259,"timestamp":8451822414,"duration":1364,"tags":{},"startTime":1691875934335},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"code-generation","id":4260,"timestamp":8451823820,"duration":3466,"tags":{},"startTime":1691875934336},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"hash","id":4261,"timestamp":8451829923,"duration":5494,"tags":{},"startTime":1691875934343},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"code-generation-jobs","id":4262,"timestamp":8451835416,"duration":167,"tags":{},"startTime":1691875934348},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"module-assets","id":4263,"timestamp":8451835570,"duration":79,"tags":{},"startTime":1691875934348},{"traceId":"f3118a7bad57c10e","parentId":4252,"name":"create-chunk-assets","id":4264,"timestamp":8451835671,"duration":7259,"tags":{},"startTime":1691875934348},{"traceId":"f3118a7bad57c10e","parentId":4242,"name":"seal","id":4252,"timestamp":8451818423,"duration":26899,"tags":{},"startTime":1691875934331},{"traceId":"f3118a7bad57c10e","parentId":4240,"name":"webpack-compilation","id":4242,"timestamp":8451707812,"duration":137681,"tags":{"name":"server"},"startTime":1691875934220},{"traceId":"f3118a7bad57c10e","parentId":4240,"name":"emit","id":4265,"timestamp":8451845606,"duration":18251,"tags":{},"startTime":1691875934358},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4240,"timestamp":8451676078,"duration":192520,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875934189},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4268,"timestamp":8451900078,"duration":19430,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4276,"name":"next-swc-transform","id":4277,"timestamp":8451930231,"duration":4343,"tags":{},"startTime":1691875934443},{"traceId":"f3118a7bad57c10e","parentId":4275,"name":"next-swc-loader","id":4276,"timestamp":8451930079,"duration":4505,"tags":{},"startTime":1691875934443},{"traceId":"f3118a7bad57c10e","parentId":4266,"name":"build-module-tsx","id":4275,"timestamp":8451929613,"duration":25419,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875934442},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4272,"timestamp":8451900215,"duration":55104,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4274,"timestamp":8451900234,"duration":55094,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4271,"timestamp":8451900204,"duration":56825,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4278,"name":"read-resource","id":4279,"timestamp":8451934126,"duration":25199,"tags":{},"startTime":1691875934447},{"traceId":"f3118a7bad57c10e","parentId":4280,"name":"postcss-process","id":4281,"timestamp":8451960803,"duration":326016,"tags":{},"startTime":1691875934473},{"traceId":"f3118a7bad57c10e","parentId":4278,"name":"postcss-loader","id":4280,"timestamp":8451960570,"duration":327551,"tags":{},"startTime":1691875934473},{"traceId":"f3118a7bad57c10e","parentId":4278,"name":"css-loader","id":4282,"timestamp":8452288171,"duration":98373,"tags":{"astUsed":"true"},"startTime":1691875934801},{"traceId":"f3118a7bad57c10e","parentId":4266,"name":"build-module-css","id":4278,"timestamp":8451933670,"duration":463611,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691875934446},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4269,"timestamp":8451900174,"duration":512124,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4273,"timestamp":8451900224,"duration":674126,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4267,"name":"add-entry","id":4270,"timestamp":8451900189,"duration":1937292,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691875934413},{"traceId":"f3118a7bad57c10e","parentId":4266,"name":"make","id":4267,"timestamp":8451888768,"duration":1948750,"tags":{},"startTime":1691875934401},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"chunk-graph","id":4284,"timestamp":8453844656,"duration":99409,"tags":{},"startTime":1691875936357},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"optimize-modules","id":4286,"timestamp":8453944113,"duration":8,"tags":{},"startTime":1691875936457},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"optimize-chunks","id":4287,"timestamp":8453944143,"duration":223,"tags":{},"startTime":1691875936457},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"optimize-tree","id":4288,"timestamp":8453944401,"duration":8,"tags":{},"startTime":1691875936457},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"optimize-chunk-modules","id":4289,"timestamp":8453944444,"duration":10,"tags":{},"startTime":1691875936457},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"optimize","id":4285,"timestamp":8453944096,"duration":11283,"tags":{},"startTime":1691875936457},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"module-hash","id":4290,"timestamp":8454182410,"duration":16229,"tags":{},"startTime":1691875936695},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"code-generation","id":4291,"timestamp":8454198677,"duration":42742,"tags":{},"startTime":1691875936711},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"hash","id":4292,"timestamp":8454291782,"duration":101206,"tags":{},"startTime":1691875936804},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"code-generation-jobs","id":4293,"timestamp":8454392984,"duration":249,"tags":{},"startTime":1691875936906},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"module-assets","id":4294,"timestamp":8454393191,"duration":401,"tags":{},"startTime":1691875936906},{"traceId":"f3118a7bad57c10e","parentId":4283,"name":"create-chunk-assets","id":4295,"timestamp":8454393608,"duration":31991,"tags":{},"startTime":1691875936906},{"traceId":"f3118a7bad57c10e","parentId":4266,"name":"NextJsBuildManifest-generateClientManifest","id":4297,"timestamp":8454454192,"duration":171,"tags":{},"startTime":1691875936967},{"traceId":"f3118a7bad57c10e","parentId":4266,"name":"NextJsBuildManifest-createassets","id":4296,"timestamp":8454454050,"duration":322,"tags":{},"startTime":1691875936967},{"traceId":"f3118a7bad57c10e","parentId":4266,"name":"seal","id":4283,"timestamp":8453839882,"duration":630925,"tags":{},"startTime":1691875936353},{"traceId":"f3118a7bad57c10e","parentId":4241,"name":"webpack-compilation","id":4266,"timestamp":8451887701,"duration":2583162,"tags":{"name":"client"},"startTime":1691875934400},{"traceId":"f3118a7bad57c10e","parentId":4241,"name":"emit","id":4298,"timestamp":8454470902,"duration":58333,"tags":{},"startTime":1691875936984},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4241,"timestamp":8451677936,"duration":2855009,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875934191}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4299,"timestamp":8454581452,"duration":0,"tags":{},"startTime":1691875937094},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4300,"timestamp":1691875934193000,"duration":2997000,"tags":{"clientId":1691872020568},"startTime":1691875937204},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4305,"timestamp":8486096118,"duration":55567,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4309,"timestamp":8486096236,"duration":59873,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4310,"timestamp":8486096243,"duration":59875,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4313,"name":"next-swc-transform","id":4314,"timestamp":8486153605,"duration":27527,"tags":{},"startTime":1691875968666},{"traceId":"f3118a7bad57c10e","parentId":4312,"name":"next-swc-loader","id":4313,"timestamp":8486153363,"duration":27776,"tags":{},"startTime":1691875968666},{"traceId":"f3118a7bad57c10e","parentId":4303,"name":"build-module-tsx","id":4312,"timestamp":8486152857,"duration":39937,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875968666},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4308,"timestamp":8486096230,"duration":100839,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4315,"name":"read-resource","id":4316,"timestamp":8486155652,"duration":47633,"tags":{},"startTime":1691875968668},{"traceId":"f3118a7bad57c10e","parentId":4317,"name":"postcss-process","id":4318,"timestamp":8486203385,"duration":191774,"tags":{},"startTime":1691875968716},{"traceId":"f3118a7bad57c10e","parentId":4315,"name":"postcss-loader","id":4317,"timestamp":8486203357,"duration":192970,"tags":{},"startTime":1691875968716},{"traceId":"f3118a7bad57c10e","parentId":4315,"name":"css-loader","id":4319,"timestamp":8486396367,"duration":221310,"tags":{"astUsed":"true"},"startTime":1691875968909},{"traceId":"f3118a7bad57c10e","parentId":4303,"name":"build-module-css","id":4315,"timestamp":8486155311,"duration":478716,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691875968668},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4306,"timestamp":8486096209,"duration":546133,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4311,"timestamp":8486096249,"duration":575290,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4304,"name":"add-entry","id":4307,"timestamp":8486096222,"duration":685900,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691875968609},{"traceId":"f3118a7bad57c10e","parentId":4303,"name":"make","id":4304,"timestamp":8486086090,"duration":696076,"tags":{},"startTime":1691875968599},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"chunk-graph","id":4321,"timestamp":8486792640,"duration":14550,"tags":{},"startTime":1691875969305},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"optimize-modules","id":4323,"timestamp":8486807407,"duration":22,"tags":{},"startTime":1691875969320},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"optimize-chunks","id":4324,"timestamp":8486807453,"duration":250,"tags":{},"startTime":1691875969320},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"optimize-tree","id":4325,"timestamp":8486807736,"duration":9,"tags":{},"startTime":1691875969321},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"optimize-chunk-modules","id":4326,"timestamp":8486807775,"duration":7,"tags":{},"startTime":1691875969321},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"optimize","id":4322,"timestamp":8486807261,"duration":1901,"tags":{},"startTime":1691875969320},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"module-hash","id":4327,"timestamp":8486823945,"duration":2381,"tags":{},"startTime":1691875969337},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"code-generation","id":4328,"timestamp":8486826367,"duration":40367,"tags":{},"startTime":1691875969339},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"hash","id":4329,"timestamp":8486886072,"duration":16865,"tags":{},"startTime":1691875969399},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"code-generation-jobs","id":4330,"timestamp":8486902936,"duration":250,"tags":{},"startTime":1691875969416},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"module-assets","id":4331,"timestamp":8486903137,"duration":1233,"tags":{},"startTime":1691875969416},{"traceId":"f3118a7bad57c10e","parentId":4320,"name":"create-chunk-assets","id":4332,"timestamp":8486904416,"duration":44803,"tags":{},"startTime":1691875969417},{"traceId":"f3118a7bad57c10e","parentId":4303,"name":"NextJsBuildManifest-generateClientManifest","id":4334,"timestamp":8486959415,"duration":97,"tags":{},"startTime":1691875969472},{"traceId":"f3118a7bad57c10e","parentId":4303,"name":"NextJsBuildManifest-createassets","id":4333,"timestamp":8486959302,"duration":218,"tags":{},"startTime":1691875969472},{"traceId":"f3118a7bad57c10e","parentId":4303,"name":"seal","id":4320,"timestamp":8486784262,"duration":182978,"tags":{},"startTime":1691875969297},{"traceId":"f3118a7bad57c10e","parentId":4301,"name":"webpack-compilation","id":4303,"timestamp":8486085548,"duration":881749,"tags":{"name":"client"},"startTime":1691875968598},{"traceId":"f3118a7bad57c10e","parentId":4301,"name":"emit","id":4335,"timestamp":8486967334,"duration":294411,"tags":{},"startTime":1691875969480},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4301,"timestamp":8486077267,"duration":1189455,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875968590},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4338,"timestamp":8487395941,"duration":0,"tags":{},"startTime":1691875969909},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4344,"timestamp":1691875968591000,"duration":1640000,"tags":{"clientId":1691872020568},"startTime":1691875970320},{"traceId":"f3118a7bad57c10e","parentId":4346,"name":"next-swc-transform","id":4347,"timestamp":8487866620,"duration":55627,"tags":{},"startTime":1691875970379},{"traceId":"f3118a7bad57c10e","parentId":4345,"name":"next-swc-loader","id":4346,"timestamp":8487866408,"duration":55845,"tags":{},"startTime":1691875970379},{"traceId":"f3118a7bad57c10e","parentId":4336,"name":"build-module-tsx","id":4345,"timestamp":8487866026,"duration":59040,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875970379},{"traceId":"f3118a7bad57c10e","parentId":4337,"name":"add-entry","id":4339,"timestamp":8487401236,"duration":533280,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875969914},{"traceId":"f3118a7bad57c10e","parentId":4337,"name":"add-entry","id":4340,"timestamp":8487401331,"duration":533197,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875969914},{"traceId":"f3118a7bad57c10e","parentId":4337,"name":"add-entry","id":4341,"timestamp":8487401355,"duration":533177,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875969914},{"traceId":"f3118a7bad57c10e","parentId":4337,"name":"add-entry","id":4343,"timestamp":8487401379,"duration":533160,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875969914},{"traceId":"f3118a7bad57c10e","parentId":4337,"name":"add-entry","id":4342,"timestamp":8487401367,"duration":533256,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875969914},{"traceId":"f3118a7bad57c10e","parentId":4336,"name":"make","id":4337,"timestamp":8487311973,"duration":622678,"tags":{},"startTime":1691875969825},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"chunk-graph","id":4349,"timestamp":8487935854,"duration":712,"tags":{},"startTime":1691875970449},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"optimize-modules","id":4351,"timestamp":8487936602,"duration":8,"tags":{},"startTime":1691875970449},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"optimize-chunks","id":4352,"timestamp":8487936628,"duration":34,"tags":{},"startTime":1691875970449},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"optimize-tree","id":4353,"timestamp":8487936693,"duration":9,"tags":{},"startTime":1691875970449},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"optimize-chunk-modules","id":4354,"timestamp":8487936722,"duration":8,"tags":{},"startTime":1691875970449},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"optimize","id":4350,"timestamp":8487936589,"duration":243,"tags":{},"startTime":1691875970449},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"module-hash","id":4355,"timestamp":8487937141,"duration":1453,"tags":{},"startTime":1691875970450},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"code-generation","id":4356,"timestamp":8487938667,"duration":2279,"tags":{},"startTime":1691875970451},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"hash","id":4357,"timestamp":8487941827,"duration":1082,"tags":{},"startTime":1691875970455},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"code-generation-jobs","id":4358,"timestamp":8487942908,"duration":107,"tags":{},"startTime":1691875970456},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"module-assets","id":4359,"timestamp":8487943004,"duration":36,"tags":{},"startTime":1691875970456},{"traceId":"f3118a7bad57c10e","parentId":4348,"name":"create-chunk-assets","id":4360,"timestamp":8487943046,"duration":2923,"tags":{},"startTime":1691875970456},{"traceId":"f3118a7bad57c10e","parentId":4336,"name":"seal","id":4348,"timestamp":8487935722,"duration":24389,"tags":{},"startTime":1691875970448},{"traceId":"f3118a7bad57c10e","parentId":4302,"name":"webpack-compilation","id":4336,"timestamp":8487311301,"duration":648864,"tags":{"name":"server"},"startTime":1691875969824},{"traceId":"f3118a7bad57c10e","parentId":4302,"name":"emit","id":4361,"timestamp":8487960205,"duration":75106,"tags":{},"startTime":1691875970473},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4302,"timestamp":8486077838,"duration":1965042,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875968591}] -[{"traceId":"f3118a7bad57c10e","parentId":4372,"name":"next-swc-transform","id":4373,"timestamp":8510670687,"duration":7234,"tags":{},"startTime":1691875993184},{"traceId":"f3118a7bad57c10e","parentId":4371,"name":"next-swc-loader","id":4372,"timestamp":8510670386,"duration":7544,"tags":{},"startTime":1691875993183},{"traceId":"f3118a7bad57c10e","parentId":4364,"name":"build-module-tsx","id":4371,"timestamp":8510669604,"duration":15625,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875993182},{"traceId":"f3118a7bad57c10e","parentId":4365,"name":"add-entry","id":4366,"timestamp":8510623327,"duration":62675,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875993136},{"traceId":"f3118a7bad57c10e","parentId":4365,"name":"add-entry","id":4367,"timestamp":8510623463,"duration":62549,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875993136},{"traceId":"f3118a7bad57c10e","parentId":4365,"name":"add-entry","id":4368,"timestamp":8510623482,"duration":62536,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875993136},{"traceId":"f3118a7bad57c10e","parentId":4365,"name":"add-entry","id":4369,"timestamp":8510623490,"duration":62538,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875993136},{"traceId":"f3118a7bad57c10e","parentId":4365,"name":"add-entry","id":4370,"timestamp":8510623501,"duration":63338,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875993136},{"traceId":"f3118a7bad57c10e","parentId":4364,"name":"make","id":4365,"timestamp":8510619864,"duration":67015,"tags":{},"startTime":1691875993133},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"chunk-graph","id":4375,"timestamp":8510687459,"duration":2599,"tags":{},"startTime":1691875993200},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"optimize-modules","id":4377,"timestamp":8510690099,"duration":29,"tags":{},"startTime":1691875993203},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"optimize-chunks","id":4378,"timestamp":8510690152,"duration":39,"tags":{},"startTime":1691875993203},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"optimize-tree","id":4379,"timestamp":8510690221,"duration":11,"tags":{},"startTime":1691875993203},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"optimize-chunk-modules","id":4380,"timestamp":8510690252,"duration":6,"tags":{},"startTime":1691875993203},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"optimize","id":4376,"timestamp":8510690084,"duration":279,"tags":{},"startTime":1691875993203},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"module-hash","id":4381,"timestamp":8510690698,"duration":238,"tags":{},"startTime":1691875993204},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"code-generation","id":4382,"timestamp":8510690954,"duration":1867,"tags":{},"startTime":1691875993204},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"hash","id":4383,"timestamp":8510693812,"duration":1487,"tags":{},"startTime":1691875993207},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"code-generation-jobs","id":4384,"timestamp":8510695297,"duration":159,"tags":{},"startTime":1691875993208},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"module-assets","id":4385,"timestamp":8510695441,"duration":44,"tags":{},"startTime":1691875993208},{"traceId":"f3118a7bad57c10e","parentId":4374,"name":"create-chunk-assets","id":4386,"timestamp":8510695493,"duration":1095,"tags":{},"startTime":1691875993208},{"traceId":"f3118a7bad57c10e","parentId":4364,"name":"seal","id":4374,"timestamp":8510687302,"duration":9566,"tags":{},"startTime":1691875993200},{"traceId":"f3118a7bad57c10e","parentId":4362,"name":"webpack-compilation","id":4364,"timestamp":8510619176,"duration":77729,"tags":{"name":"server"},"startTime":1691875993132},{"traceId":"f3118a7bad57c10e","parentId":4362,"name":"emit","id":4387,"timestamp":8510696940,"duration":4493,"tags":{},"startTime":1691875993210},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4362,"timestamp":8510609474,"duration":92680,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875993122},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4390,"timestamp":8510708031,"duration":11863,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4394,"timestamp":8510708129,"duration":17686,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4396,"timestamp":8510708146,"duration":17682,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4398,"name":"next-swc-transform","id":4399,"timestamp":8510721640,"duration":4474,"tags":{},"startTime":1691875993234},{"traceId":"f3118a7bad57c10e","parentId":4397,"name":"next-swc-loader","id":4398,"timestamp":8510721482,"duration":4635,"tags":{},"startTime":1691875993234},{"traceId":"f3118a7bad57c10e","parentId":4388,"name":"build-module-tsx","id":4397,"timestamp":8510720872,"duration":9768,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875993234},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4393,"timestamp":8510708120,"duration":23280,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4400,"name":"read-resource","id":4401,"timestamp":8510723759,"duration":10278,"tags":{},"startTime":1691875993237},{"traceId":"f3118a7bad57c10e","parentId":4402,"name":"postcss-process","id":4403,"timestamp":8510734103,"duration":65739,"tags":{},"startTime":1691875993247},{"traceId":"f3118a7bad57c10e","parentId":4400,"name":"postcss-loader","id":4402,"timestamp":8510734076,"duration":66769,"tags":{},"startTime":1691875993247},{"traceId":"f3118a7bad57c10e","parentId":4400,"name":"css-loader","id":4404,"timestamp":8510800885,"duration":20854,"tags":{"astUsed":"true"},"startTime":1691875993314},{"traceId":"f3118a7bad57c10e","parentId":4388,"name":"build-module-css","id":4400,"timestamp":8510723290,"duration":109098,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691875993236},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4391,"timestamp":8510708098,"duration":130102,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4395,"timestamp":8510708137,"duration":157513,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4389,"name":"add-entry","id":4392,"timestamp":8510708109,"duration":685894,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691875993221},{"traceId":"f3118a7bad57c10e","parentId":4388,"name":"make","id":4389,"timestamp":8510704755,"duration":689286,"tags":{},"startTime":1691875993218},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"chunk-graph","id":4406,"timestamp":8511414905,"duration":69086,"tags":{},"startTime":1691875993928},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"optimize-modules","id":4408,"timestamp":8511484038,"duration":11,"tags":{},"startTime":1691875993997},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"optimize-chunks","id":4409,"timestamp":8511484073,"duration":235,"tags":{},"startTime":1691875993997},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"optimize-tree","id":4410,"timestamp":8511484346,"duration":9,"tags":{},"startTime":1691875993997},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"optimize-chunk-modules","id":4411,"timestamp":8511484389,"duration":11,"tags":{},"startTime":1691875993997},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"optimize","id":4407,"timestamp":8511484023,"duration":9673,"tags":{},"startTime":1691875993997},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"module-hash","id":4412,"timestamp":8511527334,"duration":2807,"tags":{},"startTime":1691875994040},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"code-generation","id":4413,"timestamp":8511530179,"duration":33716,"tags":{},"startTime":1691875994043},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"hash","id":4414,"timestamp":8511578954,"duration":21455,"tags":{},"startTime":1691875994092},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"code-generation-jobs","id":4415,"timestamp":8511600408,"duration":168249,"tags":{},"startTime":1691875994113},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"module-assets","id":4416,"timestamp":8511768582,"duration":429,"tags":{},"startTime":1691875994281},{"traceId":"f3118a7bad57c10e","parentId":4405,"name":"create-chunk-assets","id":4417,"timestamp":8511769036,"duration":144355,"tags":{},"startTime":1691875994282},{"traceId":"f3118a7bad57c10e","parentId":4388,"name":"NextJsBuildManifest-generateClientManifest","id":4419,"timestamp":8511995244,"duration":2367,"tags":{},"startTime":1691875994508},{"traceId":"f3118a7bad57c10e","parentId":4388,"name":"NextJsBuildManifest-createassets","id":4418,"timestamp":8511995108,"duration":2515,"tags":{},"startTime":1691875994508},{"traceId":"f3118a7bad57c10e","parentId":4388,"name":"seal","id":4405,"timestamp":8511400421,"duration":614068,"tags":{},"startTime":1691875993913},{"traceId":"f3118a7bad57c10e","parentId":4363,"name":"webpack-compilation","id":4388,"timestamp":8510704351,"duration":1310199,"tags":{"name":"client"},"startTime":1691875993217},{"traceId":"f3118a7bad57c10e","parentId":4363,"name":"emit","id":4420,"timestamp":8512014580,"duration":42455,"tags":{},"startTime":1691875994527},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4363,"timestamp":8510610284,"duration":1457842,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875993123}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4421,"timestamp":8512108795,"duration":1,"tags":{},"startTime":1691875994622},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4422,"timestamp":1691875993124000,"duration":1538000,"tags":{"clientId":1691872020568},"startTime":1691875994662},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4427,"timestamp":8513007952,"duration":13656,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4431,"timestamp":8513008065,"duration":16971,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4433,"timestamp":8513008081,"duration":16972,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4430,"timestamp":8513008058,"duration":17688,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4437,"name":"read-resource","id":4438,"timestamp":8513024629,"duration":1468,"tags":{},"startTime":1691875995537},{"traceId":"f3118a7bad57c10e","parentId":4435,"name":"next-swc-transform","id":4436,"timestamp":8513023160,"duration":21265,"tags":{},"startTime":1691875995536},{"traceId":"f3118a7bad57c10e","parentId":4434,"name":"next-swc-loader","id":4435,"timestamp":8513022930,"duration":21502,"tags":{},"startTime":1691875995536},{"traceId":"f3118a7bad57c10e","parentId":4425,"name":"build-module-tsx","id":4434,"timestamp":8513022601,"duration":30216,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875995535},{"traceId":"f3118a7bad57c10e","parentId":4439,"name":"postcss-process","id":4440,"timestamp":8513026171,"duration":437009,"tags":{},"startTime":1691875995539},{"traceId":"f3118a7bad57c10e","parentId":4437,"name":"postcss-loader","id":4439,"timestamp":8513026148,"duration":437351,"tags":{},"startTime":1691875995539},{"traceId":"f3118a7bad57c10e","parentId":4437,"name":"css-loader","id":4441,"timestamp":8513463533,"duration":182110,"tags":{"astUsed":"true"},"startTime":1691875995976},{"traceId":"f3118a7bad57c10e","parentId":4425,"name":"build-module-css","id":4437,"timestamp":8513024421,"duration":623517,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691875995537},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4428,"timestamp":8513008037,"duration":646577,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4432,"timestamp":8513008075,"duration":687314,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4426,"name":"add-entry","id":4429,"timestamp":8513008050,"duration":948584,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691875995521},{"traceId":"f3118a7bad57c10e","parentId":4425,"name":"make","id":4426,"timestamp":8513006276,"duration":950394,"tags":{},"startTime":1691875995519},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"chunk-graph","id":4443,"timestamp":8513964654,"duration":22904,"tags":{},"startTime":1691875996478},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"optimize-modules","id":4445,"timestamp":8513987603,"duration":7,"tags":{},"startTime":1691875996500},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"optimize-chunks","id":4446,"timestamp":8513987627,"duration":217,"tags":{},"startTime":1691875996500},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"optimize-tree","id":4447,"timestamp":8513987876,"duration":9,"tags":{},"startTime":1691875996501},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"optimize-chunk-modules","id":4448,"timestamp":8513987911,"duration":6,"tags":{},"startTime":1691875996501},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"optimize","id":4444,"timestamp":8513987588,"duration":1745,"tags":{},"startTime":1691875996500},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"module-hash","id":4449,"timestamp":8514006011,"duration":3071,"tags":{},"startTime":1691875996519},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"code-generation","id":4450,"timestamp":8514009116,"duration":14010,"tags":{},"startTime":1691875996522},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"hash","id":4451,"timestamp":8514027967,"duration":14346,"tags":{},"startTime":1691875996541},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"code-generation-jobs","id":4452,"timestamp":8514042311,"duration":199,"tags":{},"startTime":1691875996555},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"module-assets","id":4453,"timestamp":8514042477,"duration":341,"tags":{},"startTime":1691875996555},{"traceId":"f3118a7bad57c10e","parentId":4442,"name":"create-chunk-assets","id":4454,"timestamp":8514042835,"duration":2507,"tags":{},"startTime":1691875996556},{"traceId":"f3118a7bad57c10e","parentId":4425,"name":"NextJsBuildManifest-generateClientManifest","id":4456,"timestamp":8514057833,"duration":119,"tags":{},"startTime":1691875996571},{"traceId":"f3118a7bad57c10e","parentId":4425,"name":"NextJsBuildManifest-createassets","id":4455,"timestamp":8514057744,"duration":236,"tags":{},"startTime":1691875996571},{"traceId":"f3118a7bad57c10e","parentId":4425,"name":"seal","id":4442,"timestamp":8513959635,"duration":102022,"tags":{},"startTime":1691875996472},{"traceId":"f3118a7bad57c10e","parentId":4423,"name":"webpack-compilation","id":4425,"timestamp":8513005700,"duration":1056015,"tags":{"name":"client"},"startTime":1691875995519},{"traceId":"f3118a7bad57c10e","parentId":4423,"name":"emit","id":4457,"timestamp":8514061747,"duration":61361,"tags":{},"startTime":1691875996575},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4423,"timestamp":8512996005,"duration":1128396,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875995509},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4460,"timestamp":8514143759,"duration":0,"tags":{},"startTime":1691875996657},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4466,"timestamp":1691875995509000,"duration":1212000,"tags":{"clientId":1691872020568},"startTime":1691875996722},{"traceId":"f3118a7bad57c10e","parentId":4468,"name":"next-swc-transform","id":4469,"timestamp":8514246967,"duration":4095,"tags":{},"startTime":1691875996760},{"traceId":"f3118a7bad57c10e","parentId":4467,"name":"next-swc-loader","id":4468,"timestamp":8514246831,"duration":4238,"tags":{},"startTime":1691875996760},{"traceId":"f3118a7bad57c10e","parentId":4458,"name":"build-module-tsx","id":4467,"timestamp":8514246538,"duration":5976,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691875996759},{"traceId":"f3118a7bad57c10e","parentId":4459,"name":"add-entry","id":4461,"timestamp":8514162486,"duration":95280,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875996675},{"traceId":"f3118a7bad57c10e","parentId":4459,"name":"add-entry","id":4462,"timestamp":8514162550,"duration":95227,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875996675},{"traceId":"f3118a7bad57c10e","parentId":4459,"name":"add-entry","id":4463,"timestamp":8514162562,"duration":95218,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875996675},{"traceId":"f3118a7bad57c10e","parentId":4459,"name":"add-entry","id":4465,"timestamp":8514162575,"duration":95211,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875996675},{"traceId":"f3118a7bad57c10e","parentId":4459,"name":"add-entry","id":4464,"timestamp":8514162569,"duration":95311,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691875996675},{"traceId":"f3118a7bad57c10e","parentId":4458,"name":"make","id":4459,"timestamp":8514129555,"duration":128350,"tags":{},"startTime":1691875996642},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"chunk-graph","id":4471,"timestamp":8514258567,"duration":555,"tags":{},"startTime":1691875996771},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"optimize-modules","id":4473,"timestamp":8514259156,"duration":5,"tags":{},"startTime":1691875996772},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"optimize-chunks","id":4474,"timestamp":8514259178,"duration":27,"tags":{},"startTime":1691875996772},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"optimize-tree","id":4475,"timestamp":8514259232,"duration":6,"tags":{},"startTime":1691875996772},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"optimize-chunk-modules","id":4476,"timestamp":8514259255,"duration":6,"tags":{},"startTime":1691875996772},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"optimize","id":4472,"timestamp":8514259144,"duration":229,"tags":{},"startTime":1691875996772},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"module-hash","id":4477,"timestamp":8514259646,"duration":183,"tags":{},"startTime":1691875996772},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"code-generation","id":4478,"timestamp":8514259844,"duration":1313,"tags":{},"startTime":1691875996773},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"hash","id":4479,"timestamp":8514261878,"duration":961,"tags":{},"startTime":1691875996775},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"code-generation-jobs","id":4480,"timestamp":8514262837,"duration":79,"tags":{},"startTime":1691875996776},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"module-assets","id":4481,"timestamp":8514262907,"duration":31,"tags":{},"startTime":1691875996776},{"traceId":"f3118a7bad57c10e","parentId":4470,"name":"create-chunk-assets","id":4482,"timestamp":8514262944,"duration":1306,"tags":{},"startTime":1691875996776},{"traceId":"f3118a7bad57c10e","parentId":4458,"name":"seal","id":4470,"timestamp":8514258256,"duration":6312,"tags":{},"startTime":1691875996771},{"traceId":"f3118a7bad57c10e","parentId":4424,"name":"webpack-compilation","id":4458,"timestamp":8514129202,"duration":135399,"tags":{"name":"server"},"startTime":1691875996642},{"traceId":"f3118a7bad57c10e","parentId":4424,"name":"emit","id":4483,"timestamp":8514264626,"duration":16389,"tags":{},"startTime":1691875996777},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4424,"timestamp":8512997261,"duration":1287606,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691875995510}] -[{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4488,"timestamp":8525698953,"duration":52643,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4492,"timestamp":8525699071,"duration":59122,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4493,"timestamp":8525699082,"duration":59123,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4496,"name":"next-swc-transform","id":4497,"timestamp":8525752697,"duration":8893,"tags":{},"startTime":1691876008266},{"traceId":"f3118a7bad57c10e","parentId":4495,"name":"next-swc-loader","id":4496,"timestamp":8525752577,"duration":9021,"tags":{},"startTime":1691876008265},{"traceId":"f3118a7bad57c10e","parentId":4486,"name":"build-module-tsx","id":4495,"timestamp":8525752323,"duration":12033,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876008265},{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4491,"timestamp":8525699064,"duration":72212,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4498,"name":"read-resource","id":4499,"timestamp":8525753659,"duration":17808,"tags":{},"startTime":1691876008267},{"traceId":"f3118a7bad57c10e","parentId":4500,"name":"postcss-process","id":4501,"timestamp":8525771552,"duration":150039,"tags":{},"startTime":1691876008284},{"traceId":"f3118a7bad57c10e","parentId":4498,"name":"postcss-loader","id":4500,"timestamp":8525771520,"duration":150569,"tags":{},"startTime":1691876008284},{"traceId":"f3118a7bad57c10e","parentId":4498,"name":"css-loader","id":4502,"timestamp":8525922155,"duration":28384,"tags":{"astUsed":"true"},"startTime":1691876008435},{"traceId":"f3118a7bad57c10e","parentId":4486,"name":"build-module-css","id":4498,"timestamp":8525753310,"duration":198940,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876008266},{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4489,"timestamp":8525699026,"duration":254839,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4494,"timestamp":8525699090,"duration":430852,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4487,"name":"add-entry","id":4490,"timestamp":8525699054,"duration":738234,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876008212},{"traceId":"f3118a7bad57c10e","parentId":4486,"name":"make","id":4487,"timestamp":8525670562,"duration":766762,"tags":{},"startTime":1691876008183},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"chunk-graph","id":4504,"timestamp":8526448168,"duration":15799,"tags":{},"startTime":1691876008961},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"optimize-modules","id":4506,"timestamp":8526464006,"duration":6,"tags":{},"startTime":1691876008977},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"optimize-chunks","id":4507,"timestamp":8526464031,"duration":185,"tags":{},"startTime":1691876008977},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"optimize-tree","id":4508,"timestamp":8526464268,"duration":9,"tags":{},"startTime":1691876008977},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"optimize-chunk-modules","id":4509,"timestamp":8526465131,"duration":24,"tags":{},"startTime":1691876008978},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"optimize","id":4505,"timestamp":8526463992,"duration":13349,"tags":{},"startTime":1691876008977},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"module-hash","id":4510,"timestamp":8526609372,"duration":2166,"tags":{},"startTime":1691876009122},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"code-generation","id":4511,"timestamp":8526611572,"duration":16206,"tags":{},"startTime":1691876009124},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"hash","id":4512,"timestamp":8526633224,"duration":15003,"tags":{},"startTime":1691876009146},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"code-generation-jobs","id":4513,"timestamp":8526648226,"duration":224,"tags":{},"startTime":1691876009161},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"module-assets","id":4514,"timestamp":8526648423,"duration":366,"tags":{},"startTime":1691876009161},{"traceId":"f3118a7bad57c10e","parentId":4503,"name":"create-chunk-assets","id":4515,"timestamp":8526648803,"duration":1941,"tags":{},"startTime":1691876009162},{"traceId":"f3118a7bad57c10e","parentId":4486,"name":"NextJsBuildManifest-generateClientManifest","id":4517,"timestamp":8526663177,"duration":94,"tags":{},"startTime":1691876009176},{"traceId":"f3118a7bad57c10e","parentId":4486,"name":"NextJsBuildManifest-createassets","id":4516,"timestamp":8526663069,"duration":211,"tags":{},"startTime":1691876009176},{"traceId":"f3118a7bad57c10e","parentId":4486,"name":"seal","id":4503,"timestamp":8526444186,"duration":237756,"tags":{},"startTime":1691876008957},{"traceId":"f3118a7bad57c10e","parentId":4484,"name":"webpack-compilation","id":4486,"timestamp":8525670156,"duration":1011838,"tags":{"name":"client"},"startTime":1691876008183},{"traceId":"f3118a7bad57c10e","parentId":4484,"name":"emit","id":4518,"timestamp":8526682029,"duration":182963,"tags":{},"startTime":1691876009195},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4484,"timestamp":8525657118,"duration":1208618,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876008170},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4521,"timestamp":8526881097,"duration":0,"tags":{},"startTime":1691876009394},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4527,"timestamp":1691876008171000,"duration":1266000,"tags":{"clientId":1691872020568},"startTime":1691876009442},{"traceId":"f3118a7bad57c10e","parentId":4520,"name":"add-entry","id":4522,"timestamp":8526893638,"duration":53018,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876009407},{"traceId":"f3118a7bad57c10e","parentId":4520,"name":"add-entry","id":4523,"timestamp":8526893702,"duration":52965,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876009407},{"traceId":"f3118a7bad57c10e","parentId":4520,"name":"add-entry","id":4524,"timestamp":8526893713,"duration":52956,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876009407},{"traceId":"f3118a7bad57c10e","parentId":4520,"name":"add-entry","id":4526,"timestamp":8526893740,"duration":52933,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876009407},{"traceId":"f3118a7bad57c10e","parentId":4529,"name":"next-swc-transform","id":4530,"timestamp":8526943758,"duration":13840,"tags":{},"startTime":1691876009457},{"traceId":"f3118a7bad57c10e","parentId":4528,"name":"next-swc-loader","id":4529,"timestamp":8526943624,"duration":13982,"tags":{},"startTime":1691876009457},{"traceId":"f3118a7bad57c10e","parentId":4519,"name":"build-module-tsx","id":4528,"timestamp":8526943445,"duration":15319,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876009456},{"traceId":"f3118a7bad57c10e","parentId":4520,"name":"add-entry","id":4525,"timestamp":8526893720,"duration":66246,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876009407},{"traceId":"f3118a7bad57c10e","parentId":4519,"name":"make","id":4520,"timestamp":8526876993,"duration":83004,"tags":{},"startTime":1691876009390},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"chunk-graph","id":4532,"timestamp":8526960404,"duration":346,"tags":{},"startTime":1691876009473},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"optimize-modules","id":4534,"timestamp":8526960776,"duration":7,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"optimize-chunks","id":4535,"timestamp":8526960799,"duration":25,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"optimize-tree","id":4536,"timestamp":8526960846,"duration":8,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"optimize-chunk-modules","id":4537,"timestamp":8526960873,"duration":11,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"optimize","id":4533,"timestamp":8526960767,"duration":245,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"module-hash","id":4538,"timestamp":8526961302,"duration":178,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"code-generation","id":4539,"timestamp":8526961494,"duration":407,"tags":{},"startTime":1691876009474},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"hash","id":4540,"timestamp":8526962578,"duration":1117,"tags":{},"startTime":1691876009475},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"code-generation-jobs","id":4541,"timestamp":8526963694,"duration":93,"tags":{},"startTime":1691876009477},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"module-assets","id":4542,"timestamp":8526963775,"duration":37,"tags":{},"startTime":1691876009477},{"traceId":"f3118a7bad57c10e","parentId":4531,"name":"create-chunk-assets","id":4543,"timestamp":8526963819,"duration":3347,"tags":{},"startTime":1691876009477},{"traceId":"f3118a7bad57c10e","parentId":4519,"name":"seal","id":4531,"timestamp":8526960297,"duration":7182,"tags":{},"startTime":1691876009473},{"traceId":"f3118a7bad57c10e","parentId":4485,"name":"webpack-compilation","id":4519,"timestamp":8526876639,"duration":90876,"tags":{"name":"server"},"startTime":1691876009390},{"traceId":"f3118a7bad57c10e","parentId":4485,"name":"emit","id":4544,"timestamp":8526967538,"duration":6280,"tags":{},"startTime":1691876009480},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4485,"timestamp":8525657364,"duration":1318678,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876008170}] -[{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4549,"timestamp":8541587328,"duration":8043,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4553,"timestamp":8541587427,"duration":10642,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4554,"timestamp":8541587440,"duration":10637,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4552,"timestamp":8541587415,"duration":12023,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4559,"name":"read-resource","id":4560,"timestamp":8541597061,"duration":3158,"tags":{},"startTime":1691876024110},{"traceId":"f3118a7bad57c10e","parentId":4557,"name":"next-swc-transform","id":4558,"timestamp":8541596361,"duration":10261,"tags":{},"startTime":1691876024109},{"traceId":"f3118a7bad57c10e","parentId":4556,"name":"next-swc-loader","id":4557,"timestamp":8541596261,"duration":10369,"tags":{},"startTime":1691876024109},{"traceId":"f3118a7bad57c10e","parentId":4547,"name":"build-module-tsx","id":4556,"timestamp":8541596039,"duration":13150,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876024109},{"traceId":"f3118a7bad57c10e","parentId":4561,"name":"postcss-process","id":4562,"timestamp":8541600303,"duration":714299,"tags":{},"startTime":1691876024113},{"traceId":"f3118a7bad57c10e","parentId":4559,"name":"postcss-loader","id":4561,"timestamp":8541600276,"duration":714808,"tags":{},"startTime":1691876024113},{"traceId":"f3118a7bad57c10e","parentId":4559,"name":"css-loader","id":4563,"timestamp":8542315120,"duration":63517,"tags":{"astUsed":"true"},"startTime":1691876024828},{"traceId":"f3118a7bad57c10e","parentId":4547,"name":"build-module-css","id":4559,"timestamp":8541596880,"duration":784530,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876024110},{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4550,"timestamp":8541587399,"duration":800021,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4555,"timestamp":8541587447,"duration":827194,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4548,"name":"add-entry","id":4551,"timestamp":8541587408,"duration":1091712,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876024100},{"traceId":"f3118a7bad57c10e","parentId":4547,"name":"make","id":4548,"timestamp":8541546868,"duration":1132284,"tags":{},"startTime":1691876024060},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"chunk-graph","id":4565,"timestamp":8542694031,"duration":70972,"tags":{},"startTime":1691876025207},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"optimize-modules","id":4567,"timestamp":8542765045,"duration":17,"tags":{},"startTime":1691876025278},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"optimize-chunks","id":4568,"timestamp":8542765084,"duration":238,"tags":{},"startTime":1691876025278},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"optimize-tree","id":4569,"timestamp":8542765355,"duration":14,"tags":{},"startTime":1691876025278},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"optimize-chunk-modules","id":4570,"timestamp":8542765400,"duration":7,"tags":{},"startTime":1691876025278},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"optimize","id":4566,"timestamp":8542765032,"duration":14227,"tags":{},"startTime":1691876025278},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"module-hash","id":4571,"timestamp":8542798398,"duration":15263,"tags":{},"startTime":1691876025311},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"code-generation","id":4572,"timestamp":8542813758,"duration":20066,"tags":{},"startTime":1691876025327},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"hash","id":4573,"timestamp":8542846249,"duration":44511,"tags":{},"startTime":1691876025359},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"code-generation-jobs","id":4574,"timestamp":8542890758,"duration":199,"tags":{},"startTime":1691876025404},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"module-assets","id":4575,"timestamp":8542890931,"duration":373,"tags":{},"startTime":1691876025404},{"traceId":"f3118a7bad57c10e","parentId":4564,"name":"create-chunk-assets","id":4576,"timestamp":8542891315,"duration":24081,"tags":{},"startTime":1691876025404},{"traceId":"f3118a7bad57c10e","parentId":4547,"name":"NextJsBuildManifest-generateClientManifest","id":4578,"timestamp":8542929617,"duration":120,"tags":{},"startTime":1691876025443},{"traceId":"f3118a7bad57c10e","parentId":4547,"name":"NextJsBuildManifest-createassets","id":4577,"timestamp":8542929482,"duration":263,"tags":{},"startTime":1691876025442},{"traceId":"f3118a7bad57c10e","parentId":4547,"name":"seal","id":4564,"timestamp":8542681144,"duration":258433,"tags":{},"startTime":1691876025194},{"traceId":"f3118a7bad57c10e","parentId":4545,"name":"webpack-compilation","id":4547,"timestamp":8541546471,"duration":1393167,"tags":{"name":"client"},"startTime":1691876024059},{"traceId":"f3118a7bad57c10e","parentId":4545,"name":"emit","id":4579,"timestamp":8542939675,"duration":237994,"tags":{},"startTime":1691876025453},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4545,"timestamp":8541535902,"duration":1643013,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876024049},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4582,"timestamp":8543198697,"duration":0,"tags":{},"startTime":1691876025712},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4588,"timestamp":1691876024057000,"duration":1737000,"tags":{"clientId":1691872020568},"startTime":1691876025795},{"traceId":"f3118a7bad57c10e","parentId":4581,"name":"add-entry","id":4583,"timestamp":8543208557,"duration":91471,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876025722},{"traceId":"f3118a7bad57c10e","parentId":4581,"name":"add-entry","id":4584,"timestamp":8543208634,"duration":91405,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876025722},{"traceId":"f3118a7bad57c10e","parentId":4581,"name":"add-entry","id":4585,"timestamp":8543208646,"duration":91397,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876025722},{"traceId":"f3118a7bad57c10e","parentId":4581,"name":"add-entry","id":4587,"timestamp":8543208659,"duration":91386,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876025722},{"traceId":"f3118a7bad57c10e","parentId":4590,"name":"next-swc-transform","id":4591,"timestamp":8543295635,"duration":16883,"tags":{},"startTime":1691876025809},{"traceId":"f3118a7bad57c10e","parentId":4589,"name":"next-swc-loader","id":4590,"timestamp":8543295421,"duration":17105,"tags":{},"startTime":1691876025808},{"traceId":"f3118a7bad57c10e","parentId":4580,"name":"build-module-tsx","id":4589,"timestamp":8543295144,"duration":19705,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876025808},{"traceId":"f3118a7bad57c10e","parentId":4581,"name":"add-entry","id":4586,"timestamp":8543208653,"duration":106779,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876025722},{"traceId":"f3118a7bad57c10e","parentId":4580,"name":"make","id":4581,"timestamp":8543182553,"duration":132913,"tags":{},"startTime":1691876025695},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"chunk-graph","id":4593,"timestamp":8543315900,"duration":529,"tags":{},"startTime":1691876025829},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"optimize-modules","id":4595,"timestamp":8543316457,"duration":9,"tags":{},"startTime":1691876025829},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"optimize-chunks","id":4596,"timestamp":8543316490,"duration":29,"tags":{},"startTime":1691876025829},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"optimize-tree","id":4597,"timestamp":8543316543,"duration":11,"tags":{},"startTime":1691876025829},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"optimize-chunk-modules","id":4598,"timestamp":8543316571,"duration":6,"tags":{},"startTime":1691876025830},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"optimize","id":4594,"timestamp":8543316447,"duration":217,"tags":{},"startTime":1691876025829},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"module-hash","id":4599,"timestamp":8543319651,"duration":208,"tags":{},"startTime":1691876025833},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"code-generation","id":4600,"timestamp":8543319875,"duration":815,"tags":{},"startTime":1691876025833},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"hash","id":4601,"timestamp":8543321897,"duration":1418,"tags":{},"startTime":1691876025835},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"code-generation-jobs","id":4602,"timestamp":8543323314,"duration":111,"tags":{},"startTime":1691876025836},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"module-assets","id":4603,"timestamp":8543323412,"duration":45,"tags":{},"startTime":1691876025836},{"traceId":"f3118a7bad57c10e","parentId":4592,"name":"create-chunk-assets","id":4604,"timestamp":8543323464,"duration":2376,"tags":{},"startTime":1691876025836},{"traceId":"f3118a7bad57c10e","parentId":4580,"name":"seal","id":4592,"timestamp":8543315785,"duration":10344,"tags":{},"startTime":1691876025829},{"traceId":"f3118a7bad57c10e","parentId":4546,"name":"webpack-compilation","id":4580,"timestamp":8543182216,"duration":143945,"tags":{"name":"server"},"startTime":1691876025695},{"traceId":"f3118a7bad57c10e","parentId":4546,"name":"emit","id":4605,"timestamp":8543326184,"duration":4089,"tags":{},"startTime":1691876025839},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4546,"timestamp":8541536266,"duration":1794877,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876024049}] -[{"traceId":"f3118a7bad57c10e","parentId":4616,"name":"next-swc-transform","id":4617,"timestamp":8583550016,"duration":3690,"tags":{},"startTime":1691876066063},{"traceId":"f3118a7bad57c10e","parentId":4615,"name":"next-swc-loader","id":4616,"timestamp":8583549688,"duration":4026,"tags":{},"startTime":1691876066063},{"traceId":"f3118a7bad57c10e","parentId":4608,"name":"build-module-tsx","id":4615,"timestamp":8583549353,"duration":10449,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691876066062},{"traceId":"f3118a7bad57c10e","parentId":4609,"name":"add-entry","id":4610,"timestamp":8583507362,"duration":53947,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876066020},{"traceId":"f3118a7bad57c10e","parentId":4609,"name":"add-entry","id":4611,"timestamp":8583508003,"duration":53319,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876066021},{"traceId":"f3118a7bad57c10e","parentId":4609,"name":"add-entry","id":4612,"timestamp":8583508034,"duration":53292,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876066021},{"traceId":"f3118a7bad57c10e","parentId":4609,"name":"add-entry","id":4613,"timestamp":8583508043,"duration":53335,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876066021},{"traceId":"f3118a7bad57c10e","parentId":4609,"name":"add-entry","id":4614,"timestamp":8583508054,"duration":53609,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876066021},{"traceId":"f3118a7bad57c10e","parentId":4608,"name":"make","id":4609,"timestamp":8583493723,"duration":67966,"tags":{},"startTime":1691876066007},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"chunk-graph","id":4619,"timestamp":8583562469,"duration":875,"tags":{},"startTime":1691876066076},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"optimize-modules","id":4621,"timestamp":8583563482,"duration":41,"tags":{},"startTime":1691876066077},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"optimize-chunks","id":4622,"timestamp":8583563608,"duration":68,"tags":{},"startTime":1691876066077},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"optimize-tree","id":4623,"timestamp":8583563751,"duration":43,"tags":{},"startTime":1691876066077},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"optimize-chunk-modules","id":4624,"timestamp":8583563863,"duration":39,"tags":{},"startTime":1691876066077},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"optimize","id":4620,"timestamp":8583563423,"duration":667,"tags":{},"startTime":1691876066076},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"module-hash","id":4625,"timestamp":8583665801,"duration":270,"tags":{},"startTime":1691876066179},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"code-generation","id":4626,"timestamp":8583666094,"duration":1113,"tags":{},"startTime":1691876066179},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"hash","id":4627,"timestamp":8583670018,"duration":2188,"tags":{},"startTime":1691876066183},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"code-generation-jobs","id":4628,"timestamp":8583672204,"duration":187,"tags":{},"startTime":1691876066185},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"module-assets","id":4629,"timestamp":8583672372,"duration":47,"tags":{},"startTime":1691876066185},{"traceId":"f3118a7bad57c10e","parentId":4618,"name":"create-chunk-assets","id":4630,"timestamp":8583672431,"duration":3529,"tags":{},"startTime":1691876066185},{"traceId":"f3118a7bad57c10e","parentId":4608,"name":"seal","id":4618,"timestamp":8583562204,"duration":114663,"tags":{},"startTime":1691876066075},{"traceId":"f3118a7bad57c10e","parentId":4606,"name":"webpack-compilation","id":4608,"timestamp":8583493209,"duration":183709,"tags":{"name":"server"},"startTime":1691876066006},{"traceId":"f3118a7bad57c10e","parentId":4606,"name":"emit","id":4631,"timestamp":8583676954,"duration":23392,"tags":{},"startTime":1691876066190},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4606,"timestamp":8583484117,"duration":217496,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691876065997},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4634,"timestamp":8583713593,"duration":14616,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4638,"timestamp":8583713698,"duration":19941,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4640,"timestamp":8583713718,"duration":19934,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4637,"timestamp":8583713688,"duration":20636,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4644,"name":"read-resource","id":4645,"timestamp":8583732960,"duration":4304,"tags":{},"startTime":1691876066246},{"traceId":"f3118a7bad57c10e","parentId":4642,"name":"next-swc-transform","id":4643,"timestamp":8583729784,"duration":38758,"tags":{},"startTime":1691876066243},{"traceId":"f3118a7bad57c10e","parentId":4641,"name":"next-swc-loader","id":4642,"timestamp":8583729654,"duration":38894,"tags":{},"startTime":1691876066243},{"traceId":"f3118a7bad57c10e","parentId":4632,"name":"build-module-tsx","id":4641,"timestamp":8583729204,"duration":50706,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691876066242},{"traceId":"f3118a7bad57c10e","parentId":4646,"name":"postcss-process","id":4647,"timestamp":8583737426,"duration":118293,"tags":{},"startTime":1691876066250},{"traceId":"f3118a7bad57c10e","parentId":4644,"name":"postcss-loader","id":4646,"timestamp":8583737386,"duration":119465,"tags":{},"startTime":1691876066250},{"traceId":"f3118a7bad57c10e","parentId":4644,"name":"css-loader","id":4648,"timestamp":8583856884,"duration":192648,"tags":{"astUsed":"true"},"startTime":1691876066370},{"traceId":"f3118a7bad57c10e","parentId":4632,"name":"build-module-css","id":4644,"timestamp":8583732554,"duration":368890,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876066246},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4635,"timestamp":8583713665,"duration":415294,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4639,"timestamp":8583713710,"duration":470712,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4633,"name":"add-entry","id":4636,"timestamp":8583713677,"duration":985594,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876066227},{"traceId":"f3118a7bad57c10e","parentId":4632,"name":"make","id":4633,"timestamp":8583711018,"duration":988291,"tags":{},"startTime":1691876066224},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"chunk-graph","id":4650,"timestamp":8584708145,"duration":55519,"tags":{},"startTime":1691876067221},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"optimize-modules","id":4652,"timestamp":8584763711,"duration":12,"tags":{},"startTime":1691876067277},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"optimize-chunks","id":4653,"timestamp":8584765160,"duration":374,"tags":{},"startTime":1691876067278},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"optimize-tree","id":4654,"timestamp":8584765638,"duration":16,"tags":{},"startTime":1691876067279},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"optimize-chunk-modules","id":4655,"timestamp":8584765757,"duration":16,"tags":{},"startTime":1691876067279},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"optimize","id":4651,"timestamp":8584763696,"duration":4183,"tags":{},"startTime":1691876067277},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"module-hash","id":4656,"timestamp":8584786988,"duration":7770,"tags":{},"startTime":1691876067300},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"code-generation","id":4657,"timestamp":8584794799,"duration":23793,"tags":{},"startTime":1691876067308},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"hash","id":4658,"timestamp":8584835667,"duration":23295,"tags":{},"startTime":1691876067349},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"code-generation-jobs","id":4659,"timestamp":8584858960,"duration":333,"tags":{},"startTime":1691876067372},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"module-assets","id":4660,"timestamp":8584859247,"duration":457,"tags":{},"startTime":1691876067372},{"traceId":"f3118a7bad57c10e","parentId":4649,"name":"create-chunk-assets","id":4661,"timestamp":8584859719,"duration":10978,"tags":{},"startTime":1691876067373},{"traceId":"f3118a7bad57c10e","parentId":4632,"name":"NextJsBuildManifest-generateClientManifest","id":4663,"timestamp":8584874888,"duration":159,"tags":{},"startTime":1691876067388},{"traceId":"f3118a7bad57c10e","parentId":4632,"name":"NextJsBuildManifest-createassets","id":4662,"timestamp":8584874763,"duration":295,"tags":{},"startTime":1691876067388},{"traceId":"f3118a7bad57c10e","parentId":4632,"name":"seal","id":4649,"timestamp":8584702353,"duration":179018,"tags":{},"startTime":1691876067215},{"traceId":"f3118a7bad57c10e","parentId":4607,"name":"webpack-compilation","id":4632,"timestamp":8583703629,"duration":1177812,"tags":{"name":"client"},"startTime":1691876066217},{"traceId":"f3118a7bad57c10e","parentId":4607,"name":"emit","id":4664,"timestamp":8584881482,"duration":19323,"tags":{},"startTime":1691876067395},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4607,"timestamp":8583484570,"duration":1419177,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691876065998}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4665,"timestamp":8584918046,"duration":0,"tags":{},"startTime":1691876067431},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4666,"timestamp":1691876065998000,"duration":1483000,"tags":{"clientId":1691872020568},"startTime":1691876067481},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4671,"timestamp":8604434209,"duration":14176,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876086947},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4675,"timestamp":8604434389,"duration":19090,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876086948},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4677,"timestamp":8604434408,"duration":19082,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876086948},{"traceId":"f3118a7bad57c10e","parentId":4679,"name":"next-swc-transform","id":4680,"timestamp":8604450135,"duration":10038,"tags":{},"startTime":1691876086963},{"traceId":"f3118a7bad57c10e","parentId":4678,"name":"next-swc-loader","id":4679,"timestamp":8604449867,"duration":10313,"tags":{},"startTime":1691876086963},{"traceId":"f3118a7bad57c10e","parentId":4669,"name":"build-module-tsx","id":4678,"timestamp":8604449388,"duration":18441,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691876086963},{"traceId":"f3118a7bad57c10e","parentId":4681,"name":"read-resource","id":4682,"timestamp":8604451649,"duration":16449,"tags":{},"startTime":1691876086965},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4674,"timestamp":8604434366,"duration":70164,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876086947},{"traceId":"f3118a7bad57c10e","parentId":4683,"name":"postcss-process","id":4684,"timestamp":8604468161,"duration":105582,"tags":{},"startTime":1691876086981},{"traceId":"f3118a7bad57c10e","parentId":4681,"name":"postcss-loader","id":4683,"timestamp":8604468137,"duration":105985,"tags":{},"startTime":1691876086981},{"traceId":"f3118a7bad57c10e","parentId":4681,"name":"css-loader","id":4685,"timestamp":8604574156,"duration":27054,"tags":{"astUsed":"true"},"startTime":1691876087087},{"traceId":"f3118a7bad57c10e","parentId":4669,"name":"build-module-css","id":4681,"timestamp":8604451317,"duration":151996,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876086964},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4672,"timestamp":8604434303,"duration":169872,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876086947},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4676,"timestamp":8604434402,"duration":182622,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876086948},{"traceId":"f3118a7bad57c10e","parentId":4670,"name":"add-entry","id":4673,"timestamp":8604434317,"duration":236693,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876086947},{"traceId":"f3118a7bad57c10e","parentId":4669,"name":"make","id":4670,"timestamp":8604432627,"duration":238414,"tags":{},"startTime":1691876086946},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"chunk-graph","id":4687,"timestamp":8604677905,"duration":11317,"tags":{},"startTime":1691876087191},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"optimize-modules","id":4689,"timestamp":8604689268,"duration":7,"tags":{},"startTime":1691876087202},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"optimize-chunks","id":4690,"timestamp":8604689294,"duration":174,"tags":{},"startTime":1691876087202},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"optimize-tree","id":4691,"timestamp":8604689496,"duration":8,"tags":{},"startTime":1691876087203},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"optimize-chunk-modules","id":4692,"timestamp":8604689534,"duration":6,"tags":{},"startTime":1691876087203},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"optimize","id":4688,"timestamp":8604689254,"duration":1707,"tags":{},"startTime":1691876087202},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"module-hash","id":4693,"timestamp":8604698787,"duration":2135,"tags":{},"startTime":1691876087212},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"code-generation","id":4694,"timestamp":8604700951,"duration":7715,"tags":{},"startTime":1691876087214},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"hash","id":4695,"timestamp":8604714662,"duration":15296,"tags":{},"startTime":1691876087228},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"code-generation-jobs","id":4696,"timestamp":8604729957,"duration":177,"tags":{},"startTime":1691876087243},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"module-assets","id":4697,"timestamp":8604730109,"duration":493,"tags":{},"startTime":1691876087243},{"traceId":"f3118a7bad57c10e","parentId":4686,"name":"create-chunk-assets","id":4698,"timestamp":8604730620,"duration":2031,"tags":{},"startTime":1691876087244},{"traceId":"f3118a7bad57c10e","parentId":4669,"name":"NextJsBuildManifest-generateClientManifest","id":4700,"timestamp":8604735493,"duration":85,"tags":{},"startTime":1691876087249},{"traceId":"f3118a7bad57c10e","parentId":4669,"name":"NextJsBuildManifest-createassets","id":4699,"timestamp":8604735406,"duration":179,"tags":{},"startTime":1691876087249},{"traceId":"f3118a7bad57c10e","parentId":4669,"name":"seal","id":4686,"timestamp":8604673403,"duration":66039,"tags":{},"startTime":1691876087187},{"traceId":"f3118a7bad57c10e","parentId":4667,"name":"webpack-compilation","id":4669,"timestamp":8604432235,"duration":307255,"tags":{"name":"client"},"startTime":1691876086945},{"traceId":"f3118a7bad57c10e","parentId":4667,"name":"emit","id":4701,"timestamp":8604739523,"duration":26964,"tags":{},"startTime":1691876087253},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4667,"timestamp":8604423944,"duration":348480,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691876086937},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4704,"timestamp":8604778292,"duration":0,"tags":{},"startTime":1691876087291},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4710,"timestamp":1691876086938000,"duration":387000,"tags":{"clientId":1691872020568},"startTime":1691876087332},{"traceId":"f3118a7bad57c10e","parentId":4712,"name":"next-swc-transform","id":4713,"timestamp":8604821709,"duration":3439,"tags":{},"startTime":1691876087335},{"traceId":"f3118a7bad57c10e","parentId":4711,"name":"next-swc-loader","id":4712,"timestamp":8604821556,"duration":3600,"tags":{},"startTime":1691876087335},{"traceId":"f3118a7bad57c10e","parentId":4702,"name":"build-module-tsx","id":4711,"timestamp":8604821186,"duration":6875,"tags":{"name":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx","layer":"null"},"startTime":1691876087334},{"traceId":"f3118a7bad57c10e","parentId":4703,"name":"add-entry","id":4705,"timestamp":8604779979,"duration":48149,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876087293},{"traceId":"f3118a7bad57c10e","parentId":4703,"name":"add-entry","id":4706,"timestamp":8604780042,"duration":48091,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876087293},{"traceId":"f3118a7bad57c10e","parentId":4703,"name":"add-entry","id":4707,"timestamp":8604780054,"duration":48095,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876087293},{"traceId":"f3118a7bad57c10e","parentId":4703,"name":"add-entry","id":4709,"timestamp":8604780065,"duration":48089,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876087293},{"traceId":"f3118a7bad57c10e","parentId":4703,"name":"add-entry","id":4708,"timestamp":8604780059,"duration":49520,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876087293},{"traceId":"f3118a7bad57c10e","parentId":4702,"name":"make","id":4703,"timestamp":8604774035,"duration":55577,"tags":{},"startTime":1691876087287},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"chunk-graph","id":4715,"timestamp":8604830009,"duration":344,"tags":{},"startTime":1691876087343},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"optimize-modules","id":4717,"timestamp":8604830377,"duration":5,"tags":{},"startTime":1691876087344},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"optimize-chunks","id":4718,"timestamp":8604830396,"duration":25,"tags":{},"startTime":1691876087344},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"optimize-tree","id":4719,"timestamp":8604830443,"duration":6,"tags":{},"startTime":1691876087344},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"optimize-chunk-modules","id":4720,"timestamp":8604830464,"duration":5,"tags":{},"startTime":1691876087344},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"optimize","id":4716,"timestamp":8604830367,"duration":196,"tags":{},"startTime":1691876087343},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"module-hash","id":4721,"timestamp":8604830806,"duration":183,"tags":{},"startTime":1691876087344},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"code-generation","id":4722,"timestamp":8604831003,"duration":712,"tags":{},"startTime":1691876087344},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"hash","id":4723,"timestamp":8604832650,"duration":1144,"tags":{},"startTime":1691876087346},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"code-generation-jobs","id":4724,"timestamp":8604833792,"duration":96,"tags":{},"startTime":1691876087347},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"module-assets","id":4725,"timestamp":8604833877,"duration":34,"tags":{},"startTime":1691876087347},{"traceId":"f3118a7bad57c10e","parentId":4714,"name":"create-chunk-assets","id":4726,"timestamp":8604833918,"duration":1395,"tags":{},"startTime":1691876087347},{"traceId":"f3118a7bad57c10e","parentId":4702,"name":"seal","id":4714,"timestamp":8604829915,"duration":5867,"tags":{},"startTime":1691876087343},{"traceId":"f3118a7bad57c10e","parentId":4668,"name":"webpack-compilation","id":4702,"timestamp":8604773731,"duration":62091,"tags":{"name":"server"},"startTime":1691876087287},{"traceId":"f3118a7bad57c10e","parentId":4668,"name":"emit","id":4727,"timestamp":8604835850,"duration":8814,"tags":{},"startTime":1691876087349},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4668,"timestamp":8604424549,"duration":438610,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/DigitalWallet.tsx"},"startTime":1691876086938}] -[{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4732,"timestamp":8609524806,"duration":7747,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4736,"timestamp":8609524929,"duration":9760,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4738,"timestamp":8609524944,"duration":9756,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4735,"timestamp":8609524922,"duration":10946,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4742,"name":"read-resource","id":4743,"timestamp":8609534379,"duration":1578,"tags":{},"startTime":1691876092048},{"traceId":"f3118a7bad57c10e","parentId":4740,"name":"next-swc-transform","id":4741,"timestamp":8609533622,"duration":12303,"tags":{},"startTime":1691876092047},{"traceId":"f3118a7bad57c10e","parentId":4739,"name":"next-swc-loader","id":4740,"timestamp":8609533516,"duration":12416,"tags":{},"startTime":1691876092047},{"traceId":"f3118a7bad57c10e","parentId":4730,"name":"build-module-tsx","id":4739,"timestamp":8609533290,"duration":15098,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876092046},{"traceId":"f3118a7bad57c10e","parentId":4744,"name":"postcss-process","id":4745,"timestamp":8609536028,"duration":101082,"tags":{},"startTime":1691876092049},{"traceId":"f3118a7bad57c10e","parentId":4742,"name":"postcss-loader","id":4744,"timestamp":8609536001,"duration":101520,"tags":{},"startTime":1691876092049},{"traceId":"f3118a7bad57c10e","parentId":4742,"name":"css-loader","id":4746,"timestamp":8609637557,"duration":11955,"tags":{"astUsed":"true"},"startTime":1691876092151},{"traceId":"f3118a7bad57c10e","parentId":4730,"name":"build-module-css","id":4742,"timestamp":8609534184,"duration":116921,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876092047},{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4733,"timestamp":8609524863,"duration":127996,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4737,"timestamp":8609524938,"duration":133899,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4731,"name":"add-entry","id":4734,"timestamp":8609524913,"duration":203016,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876092038},{"traceId":"f3118a7bad57c10e","parentId":4730,"name":"make","id":4731,"timestamp":8609523422,"duration":204546,"tags":{},"startTime":1691876092037},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"chunk-graph","id":4748,"timestamp":8609733937,"duration":13084,"tags":{},"startTime":1691876092247},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"optimize-modules","id":4750,"timestamp":8609747059,"duration":6,"tags":{},"startTime":1691876092260},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"optimize-chunks","id":4751,"timestamp":8609747082,"duration":153,"tags":{},"startTime":1691876092260},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"optimize-tree","id":4752,"timestamp":8609747263,"duration":7,"tags":{},"startTime":1691876092260},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"optimize-chunk-modules","id":4753,"timestamp":8609747299,"duration":7,"tags":{},"startTime":1691876092260},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"optimize","id":4749,"timestamp":8609747046,"duration":1505,"tags":{},"startTime":1691876092260},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"module-hash","id":4754,"timestamp":8609753540,"duration":1718,"tags":{},"startTime":1691876092267},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"code-generation","id":4755,"timestamp":8609755284,"duration":5565,"tags":{},"startTime":1691876092268},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"hash","id":4756,"timestamp":8609768666,"duration":9118,"tags":{},"startTime":1691876092282},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"code-generation-jobs","id":4757,"timestamp":8609777782,"duration":223,"tags":{},"startTime":1691876092291},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"module-assets","id":4758,"timestamp":8609777971,"duration":387,"tags":{},"startTime":1691876092291},{"traceId":"f3118a7bad57c10e","parentId":4747,"name":"create-chunk-assets","id":4759,"timestamp":8609778369,"duration":9191,"tags":{},"startTime":1691876092292},{"traceId":"f3118a7bad57c10e","parentId":4730,"name":"NextJsBuildManifest-generateClientManifest","id":4761,"timestamp":8609790641,"duration":134,"tags":{},"startTime":1691876092304},{"traceId":"f3118a7bad57c10e","parentId":4730,"name":"NextJsBuildManifest-createassets","id":4760,"timestamp":8609790424,"duration":603,"tags":{},"startTime":1691876092304},{"traceId":"f3118a7bad57c10e","parentId":4730,"name":"seal","id":4747,"timestamp":8609730073,"duration":64392,"tags":{},"startTime":1691876092243},{"traceId":"f3118a7bad57c10e","parentId":4728,"name":"webpack-compilation","id":4730,"timestamp":8609523034,"duration":271482,"tags":{"name":"client"},"startTime":1691876092036},{"traceId":"f3118a7bad57c10e","parentId":4728,"name":"emit","id":4762,"timestamp":8609794545,"duration":21791,"tags":{},"startTime":1691876092308},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4728,"timestamp":8609513923,"duration":303365,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876092027},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4765,"timestamp":8609827094,"duration":0,"tags":{},"startTime":1691876092340},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4771,"timestamp":1691876092028000,"duration":391000,"tags":{"clientId":1691872020568},"startTime":1691876092499},{"traceId":"f3118a7bad57c10e","parentId":4773,"name":"next-swc-transform","id":4774,"timestamp":8610153006,"duration":14774,"tags":{},"startTime":1691876092666},{"traceId":"f3118a7bad57c10e","parentId":4772,"name":"next-swc-loader","id":4773,"timestamp":8610152890,"duration":14908,"tags":{},"startTime":1691876092666},{"traceId":"f3118a7bad57c10e","parentId":4763,"name":"build-module-tsx","id":4772,"timestamp":8610152704,"duration":17537,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876092666},{"traceId":"f3118a7bad57c10e","parentId":4764,"name":"add-entry","id":4766,"timestamp":8609859734,"duration":316265,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876092373},{"traceId":"f3118a7bad57c10e","parentId":4764,"name":"add-entry","id":4767,"timestamp":8609859808,"duration":316202,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876092373},{"traceId":"f3118a7bad57c10e","parentId":4764,"name":"add-entry","id":4768,"timestamp":8609859827,"duration":316185,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876092373},{"traceId":"f3118a7bad57c10e","parentId":4764,"name":"add-entry","id":4770,"timestamp":8609859854,"duration":316161,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876092373},{"traceId":"f3118a7bad57c10e","parentId":4764,"name":"add-entry","id":4769,"timestamp":8609859834,"duration":316227,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876092373},{"traceId":"f3118a7bad57c10e","parentId":4763,"name":"make","id":4764,"timestamp":8609821489,"duration":354600,"tags":{},"startTime":1691876092335},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"chunk-graph","id":4776,"timestamp":8610184422,"duration":852,"tags":{},"startTime":1691876092698},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"optimize-modules","id":4778,"timestamp":8610185309,"duration":8,"tags":{},"startTime":1691876092698},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"optimize-chunks","id":4779,"timestamp":8610185332,"duration":28,"tags":{},"startTime":1691876092698},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"optimize-tree","id":4780,"timestamp":8610185388,"duration":9,"tags":{},"startTime":1691876092699},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"optimize-chunk-modules","id":4781,"timestamp":8610185415,"duration":581,"tags":{},"startTime":1691876092699},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"optimize","id":4777,"timestamp":8610185297,"duration":835,"tags":{},"startTime":1691876092698},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"module-hash","id":4782,"timestamp":8610186428,"duration":186,"tags":{},"startTime":1691876092700},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"code-generation","id":4783,"timestamp":8610186629,"duration":15602,"tags":{},"startTime":1691876092700},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"hash","id":4784,"timestamp":8610202891,"duration":2803,"tags":{},"startTime":1691876092716},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"code-generation-jobs","id":4785,"timestamp":8610205692,"duration":98,"tags":{},"startTime":1691876092719},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"module-assets","id":4786,"timestamp":8610205778,"duration":38,"tags":{},"startTime":1691876092719},{"traceId":"f3118a7bad57c10e","parentId":4775,"name":"create-chunk-assets","id":4787,"timestamp":8610205824,"duration":957,"tags":{},"startTime":1691876092719},{"traceId":"f3118a7bad57c10e","parentId":4763,"name":"seal","id":4775,"timestamp":8610184072,"duration":22966,"tags":{},"startTime":1691876092697},{"traceId":"f3118a7bad57c10e","parentId":4729,"name":"webpack-compilation","id":4763,"timestamp":8609820983,"duration":386087,"tags":{"name":"server"},"startTime":1691876092334},{"traceId":"f3118a7bad57c10e","parentId":4729,"name":"emit","id":4788,"timestamp":8610207092,"duration":96023,"tags":{},"startTime":1691876092720},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4729,"timestamp":8609514318,"duration":792289,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876092027}] -[{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4793,"timestamp":8651555767,"duration":104307,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4797,"timestamp":8651555862,"duration":106941,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4798,"timestamp":8651555870,"duration":106946,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4796,"timestamp":8651555852,"duration":108274,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4803,"name":"read-resource","id":4804,"timestamp":8651662456,"duration":3653,"tags":{},"startTime":1691876134176},{"traceId":"f3118a7bad57c10e","parentId":4801,"name":"next-swc-transform","id":4802,"timestamp":8651661569,"duration":23860,"tags":{},"startTime":1691876134175},{"traceId":"f3118a7bad57c10e","parentId":4800,"name":"next-swc-loader","id":4801,"timestamp":8651661336,"duration":24101,"tags":{},"startTime":1691876134175},{"traceId":"f3118a7bad57c10e","parentId":4791,"name":"build-module-tsx","id":4800,"timestamp":8651661013,"duration":58650,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876134174},{"traceId":"f3118a7bad57c10e","parentId":4805,"name":"postcss-process","id":4806,"timestamp":8651666187,"duration":118355,"tags":{},"startTime":1691876134179},{"traceId":"f3118a7bad57c10e","parentId":4803,"name":"postcss-loader","id":4805,"timestamp":8651666161,"duration":120228,"tags":{},"startTime":1691876134179},{"traceId":"f3118a7bad57c10e","parentId":4803,"name":"css-loader","id":4807,"timestamp":8651786429,"duration":19253,"tags":{"astUsed":"true"},"startTime":1691876134300},{"traceId":"f3118a7bad57c10e","parentId":4791,"name":"build-module-css","id":4803,"timestamp":8651662245,"duration":145570,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876134176},{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4794,"timestamp":8651555832,"duration":254140,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4799,"timestamp":8651555878,"duration":265263,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4792,"name":"add-entry","id":4795,"timestamp":8651555844,"duration":348164,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876134069},{"traceId":"f3118a7bad57c10e","parentId":4791,"name":"make","id":4792,"timestamp":8651517467,"duration":386579,"tags":{},"startTime":1691876134031},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"chunk-graph","id":4809,"timestamp":8651909324,"duration":30549,"tags":{},"startTime":1691876134423},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"optimize-modules","id":4811,"timestamp":8651939919,"duration":14,"tags":{},"startTime":1691876134453},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"optimize-chunks","id":4812,"timestamp":8651939961,"duration":258,"tags":{},"startTime":1691876134453},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"optimize-tree","id":4813,"timestamp":8651940299,"duration":16,"tags":{},"startTime":1691876134454},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"optimize-chunk-modules","id":4814,"timestamp":8651940356,"duration":11,"tags":{},"startTime":1691876134454},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"optimize","id":4810,"timestamp":8651939903,"duration":2775,"tags":{},"startTime":1691876134453},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"module-hash","id":4815,"timestamp":8651995975,"duration":6369,"tags":{},"startTime":1691876134509},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"code-generation","id":4816,"timestamp":8652002379,"duration":23847,"tags":{},"startTime":1691876134516},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"hash","id":4817,"timestamp":8652032800,"duration":14343,"tags":{},"startTime":1691876134546},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"code-generation-jobs","id":4818,"timestamp":8652047141,"duration":284,"tags":{},"startTime":1691876134560},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"module-assets","id":4819,"timestamp":8652047385,"duration":415,"tags":{},"startTime":1691876134561},{"traceId":"f3118a7bad57c10e","parentId":4808,"name":"create-chunk-assets","id":4820,"timestamp":8652047812,"duration":30080,"tags":{},"startTime":1691876134561},{"traceId":"f3118a7bad57c10e","parentId":4791,"name":"NextJsBuildManifest-generateClientManifest","id":4822,"timestamp":8652081631,"duration":1092,"tags":{},"startTime":1691876134595},{"traceId":"f3118a7bad57c10e","parentId":4791,"name":"NextJsBuildManifest-createassets","id":4821,"timestamp":8652081472,"duration":1263,"tags":{},"startTime":1691876134595},{"traceId":"f3118a7bad57c10e","parentId":4791,"name":"seal","id":4808,"timestamp":8651905823,"duration":180341,"tags":{},"startTime":1691876134419},{"traceId":"f3118a7bad57c10e","parentId":4789,"name":"webpack-compilation","id":4791,"timestamp":8651516667,"duration":569553,"tags":{"name":"client"},"startTime":1691876134030},{"traceId":"f3118a7bad57c10e","parentId":4789,"name":"emit","id":4823,"timestamp":8652086248,"duration":159089,"tags":{},"startTime":1691876134600},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4789,"timestamp":8651508446,"duration":738024,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876134022},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4826,"timestamp":8652257355,"duration":0,"tags":{},"startTime":1691876134771},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4835,"timestamp":1691876134023000,"duration":794000,"tags":{"clientId":1691872020568},"startTime":1691876134870},{"traceId":"f3118a7bad57c10e","parentId":4825,"name":"add-entry","id":4827,"timestamp":8652259668,"duration":100329,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876134773},{"traceId":"f3118a7bad57c10e","parentId":4825,"name":"add-entry","id":4828,"timestamp":8652259740,"duration":100273,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876134773},{"traceId":"f3118a7bad57c10e","parentId":4825,"name":"add-entry","id":4829,"timestamp":8652259752,"duration":100265,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876134773},{"traceId":"f3118a7bad57c10e","parentId":4825,"name":"add-entry","id":4831,"timestamp":8652259765,"duration":100255,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876134773},{"traceId":"f3118a7bad57c10e","parentId":4833,"name":"next-swc-transform","id":4834,"timestamp":8652335428,"duration":26117,"tags":{},"startTime":1691876134849},{"traceId":"f3118a7bad57c10e","parentId":4832,"name":"next-swc-loader","id":4833,"timestamp":8652335193,"duration":26359,"tags":{},"startTime":1691876134848},{"traceId":"f3118a7bad57c10e","parentId":4824,"name":"build-module-tsx","id":4832,"timestamp":8652332629,"duration":31132,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876134846},{"traceId":"f3118a7bad57c10e","parentId":4825,"name":"add-entry","id":4830,"timestamp":8652259759,"duration":107703,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876134773},{"traceId":"f3118a7bad57c10e","parentId":4824,"name":"make","id":4825,"timestamp":8652251269,"duration":116229,"tags":{},"startTime":1691876134765},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"chunk-graph","id":4837,"timestamp":8652367937,"duration":617,"tags":{},"startTime":1691876134881},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"optimize-modules","id":4839,"timestamp":8652368584,"duration":9,"tags":{},"startTime":1691876134882},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"optimize-chunks","id":4840,"timestamp":8652368611,"duration":30,"tags":{},"startTime":1691876134882},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"optimize-tree","id":4841,"timestamp":8652368665,"duration":11,"tags":{},"startTime":1691876134882},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"optimize-chunk-modules","id":4842,"timestamp":8652368693,"duration":5,"tags":{},"startTime":1691876134882},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"optimize","id":4838,"timestamp":8652368573,"duration":213,"tags":{},"startTime":1691876134882},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"module-hash","id":4843,"timestamp":8652369061,"duration":212,"tags":{},"startTime":1691876134882},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"code-generation","id":4844,"timestamp":8652369288,"duration":560,"tags":{},"startTime":1691876134883},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"hash","id":4845,"timestamp":8652370692,"duration":1252,"tags":{},"startTime":1691876134884},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"code-generation-jobs","id":4846,"timestamp":8652371943,"duration":93,"tags":{},"startTime":1691876134885},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"module-assets","id":4847,"timestamp":8652372024,"duration":37,"tags":{},"startTime":1691876134885},{"traceId":"f3118a7bad57c10e","parentId":4836,"name":"create-chunk-assets","id":4848,"timestamp":8652372068,"duration":994,"tags":{},"startTime":1691876134885},{"traceId":"f3118a7bad57c10e","parentId":4824,"name":"seal","id":4836,"timestamp":8652367824,"duration":5502,"tags":{},"startTime":1691876134881},{"traceId":"f3118a7bad57c10e","parentId":4790,"name":"webpack-compilation","id":4824,"timestamp":8652250931,"duration":122425,"tags":{"name":"server"},"startTime":1691876134764},{"traceId":"f3118a7bad57c10e","parentId":4790,"name":"emit","id":4849,"timestamp":8652373377,"duration":7999,"tags":{},"startTime":1691876134887},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4790,"timestamp":8651508902,"duration":873326,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876134022}] -[{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4854,"timestamp":8696627382,"duration":37829,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4858,"timestamp":8696627547,"duration":44232,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4860,"timestamp":8696627565,"duration":44227,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4864,"name":"read-resource","id":4865,"timestamp":8696671404,"duration":1336,"tags":{},"startTime":1691876179185},{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4857,"timestamp":8696627536,"duration":70886,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4862,"name":"next-swc-transform","id":4863,"timestamp":8696667150,"duration":32128,"tags":{},"startTime":1691876179181},{"traceId":"f3118a7bad57c10e","parentId":4861,"name":"next-swc-loader","id":4862,"timestamp":8696666866,"duration":32421,"tags":{},"startTime":1691876179180},{"traceId":"f3118a7bad57c10e","parentId":4852,"name":"build-module-tsx","id":4861,"timestamp":8696665988,"duration":45361,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876179179},{"traceId":"f3118a7bad57c10e","parentId":4866,"name":"postcss-process","id":4867,"timestamp":8696672812,"duration":121696,"tags":{},"startTime":1691876179186},{"traceId":"f3118a7bad57c10e","parentId":4864,"name":"postcss-loader","id":4866,"timestamp":8696672778,"duration":122841,"tags":{},"startTime":1691876179186},{"traceId":"f3118a7bad57c10e","parentId":4864,"name":"css-loader","id":4868,"timestamp":8696795658,"duration":22043,"tags":{"astUsed":"true"},"startTime":1691876179309},{"traceId":"f3118a7bad57c10e","parentId":4852,"name":"build-module-css","id":4864,"timestamp":8696671195,"duration":153892,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876179185},{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4855,"timestamp":8696627510,"duration":204567,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4859,"timestamp":8696627556,"duration":219634,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4853,"name":"add-entry","id":4856,"timestamp":8696627524,"duration":505019,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876179141},{"traceId":"f3118a7bad57c10e","parentId":4852,"name":"make","id":4853,"timestamp":8696622753,"duration":509828,"tags":{},"startTime":1691876179136},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"chunk-graph","id":4870,"timestamp":8697228797,"duration":143046,"tags":{},"startTime":1691876179742},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"optimize-modules","id":4872,"timestamp":8697372026,"duration":80,"tags":{},"startTime":1691876179885},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"optimize-chunks","id":4873,"timestamp":8697372142,"duration":1751,"tags":{},"startTime":1691876179886},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"optimize-tree","id":4874,"timestamp":8697373955,"duration":27,"tags":{},"startTime":1691876179887},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"optimize-chunk-modules","id":4875,"timestamp":8697374020,"duration":12,"tags":{},"startTime":1691876179887},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"optimize","id":4871,"timestamp":8697371955,"duration":10740,"tags":{},"startTime":1691876179885},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"module-hash","id":4876,"timestamp":8697508785,"duration":14858,"tags":{},"startTime":1691876180022},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"code-generation","id":4877,"timestamp":8697523686,"duration":78982,"tags":{},"startTime":1691876180037},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"hash","id":4878,"timestamp":8697610840,"duration":321602,"tags":{},"startTime":1691876180124},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"code-generation-jobs","id":4879,"timestamp":8697932441,"duration":201,"tags":{},"startTime":1691876180446},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"module-assets","id":4880,"timestamp":8697932609,"duration":669,"tags":{},"startTime":1691876180446},{"traceId":"f3118a7bad57c10e","parentId":4869,"name":"create-chunk-assets","id":4881,"timestamp":8697935750,"duration":2329,"tags":{},"startTime":1691876180449},{"traceId":"f3118a7bad57c10e","parentId":4852,"name":"NextJsBuildManifest-generateClientManifest","id":4883,"timestamp":8697941466,"duration":146,"tags":{},"startTime":1691876180455},{"traceId":"f3118a7bad57c10e","parentId":4852,"name":"NextJsBuildManifest-createassets","id":4882,"timestamp":8697941348,"duration":271,"tags":{},"startTime":1691876180455},{"traceId":"f3118a7bad57c10e","parentId":4852,"name":"seal","id":4869,"timestamp":8697135896,"duration":899671,"tags":{},"startTime":1691876179649},{"traceId":"f3118a7bad57c10e","parentId":4850,"name":"webpack-compilation","id":4852,"timestamp":8696622282,"duration":1413350,"tags":{"name":"client"},"startTime":1691876179136},{"traceId":"f3118a7bad57c10e","parentId":4850,"name":"emit","id":4884,"timestamp":8698035675,"duration":101419,"tags":{},"startTime":1691876180549},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4850,"timestamp":8696606604,"duration":1532993,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876179120},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4887,"timestamp":8698278892,"duration":0,"tags":{},"startTime":1691876180792},{"traceId":"f3118a7bad57c10e","parentId":4886,"name":"add-entry","id":4888,"timestamp":8698283061,"duration":41598,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876180796},{"traceId":"f3118a7bad57c10e","parentId":4886,"name":"add-entry","id":4889,"timestamp":8698283157,"duration":41514,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876180797},{"traceId":"f3118a7bad57c10e","parentId":4886,"name":"add-entry","id":4890,"timestamp":8698283178,"duration":41496,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876180797},{"traceId":"f3118a7bad57c10e","parentId":4886,"name":"add-entry","id":4892,"timestamp":8698283196,"duration":41480,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876180797},{"traceId":"f3118a7bad57c10e","parentId":4894,"name":"next-swc-transform","id":4895,"timestamp":8698319977,"duration":13344,"tags":{},"startTime":1691876180833},{"traceId":"f3118a7bad57c10e","parentId":4893,"name":"next-swc-loader","id":4894,"timestamp":8698319755,"duration":13576,"tags":{},"startTime":1691876180833},{"traceId":"f3118a7bad57c10e","parentId":4885,"name":"build-module-tsx","id":4893,"timestamp":8698319465,"duration":18072,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876180833},{"traceId":"f3118a7bad57c10e","parentId":4886,"name":"add-entry","id":4891,"timestamp":8698283188,"duration":56233,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876180797},{"traceId":"f3118a7bad57c10e","parentId":4885,"name":"make","id":4886,"timestamp":8698142630,"duration":196826,"tags":{},"startTime":1691876180656},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"chunk-graph","id":4897,"timestamp":8698340176,"duration":1087,"tags":{},"startTime":1691876180854},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"optimize-modules","id":4899,"timestamp":8698341314,"duration":8,"tags":{},"startTime":1691876180855},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"optimize-chunks","id":4900,"timestamp":8698341348,"duration":45,"tags":{},"startTime":1691876180855},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"optimize-tree","id":4901,"timestamp":8698341426,"duration":11,"tags":{},"startTime":1691876180855},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"optimize-chunk-modules","id":4902,"timestamp":8698341463,"duration":6,"tags":{},"startTime":1691876180855},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"optimize","id":4898,"timestamp":8698341292,"duration":282,"tags":{},"startTime":1691876180855},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"module-hash","id":4903,"timestamp":8698341890,"duration":198,"tags":{},"startTime":1691876180855},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"code-generation","id":4904,"timestamp":8698342105,"duration":528,"tags":{},"startTime":1691876180856},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"hash","id":4905,"timestamp":8698343406,"duration":1559,"tags":{},"startTime":1691876180857},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"code-generation-jobs","id":4906,"timestamp":8698344963,"duration":99,"tags":{},"startTime":1691876180858},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"module-assets","id":4907,"timestamp":8698345047,"duration":34,"tags":{},"startTime":1691876180858},{"traceId":"f3118a7bad57c10e","parentId":4896,"name":"create-chunk-assets","id":4908,"timestamp":8698345091,"duration":1264,"tags":{},"startTime":1691876180859},{"traceId":"f3118a7bad57c10e","parentId":4885,"name":"seal","id":4896,"timestamp":8698339830,"duration":6835,"tags":{},"startTime":1691876180853},{"traceId":"f3118a7bad57c10e","parentId":4851,"name":"webpack-compilation","id":4885,"timestamp":8698142172,"duration":204531,"tags":{"name":"server"},"startTime":1691876180656},{"traceId":"f3118a7bad57c10e","parentId":4851,"name":"emit","id":4909,"timestamp":8698346726,"duration":11011,"tags":{},"startTime":1691876180860},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4851,"timestamp":8696606967,"duration":1752417,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876179120}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4910,"timestamp":1691876179121000,"duration":1758000,"tags":{"clientId":1691872020568},"startTime":1691876180881},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4915,"timestamp":8718664957,"duration":8936,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876201178},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4919,"timestamp":8718665099,"duration":11965,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876201179},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4920,"timestamp":8718665107,"duration":11970,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876201179},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4918,"timestamp":8718665092,"duration":13578,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876201179},{"traceId":"f3118a7bad57c10e","parentId":4925,"name":"read-resource","id":4926,"timestamp":8718676156,"duration":2554,"tags":{},"startTime":1691876201190},{"traceId":"f3118a7bad57c10e","parentId":4923,"name":"next-swc-transform","id":4924,"timestamp":8718675371,"duration":37859,"tags":{},"startTime":1691876201189},{"traceId":"f3118a7bad57c10e","parentId":4922,"name":"next-swc-loader","id":4923,"timestamp":8718675160,"duration":38076,"tags":{},"startTime":1691876201189},{"traceId":"f3118a7bad57c10e","parentId":4913,"name":"build-module-tsx","id":4922,"timestamp":8718674787,"duration":51163,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876201188},{"traceId":"f3118a7bad57c10e","parentId":4927,"name":"postcss-process","id":4928,"timestamp":8718678781,"duration":207504,"tags":{},"startTime":1691876201192},{"traceId":"f3118a7bad57c10e","parentId":4925,"name":"postcss-loader","id":4927,"timestamp":8718678746,"duration":208129,"tags":{},"startTime":1691876201192},{"traceId":"f3118a7bad57c10e","parentId":4925,"name":"css-loader","id":4929,"timestamp":8718886911,"duration":52322,"tags":{"astUsed":"true"},"startTime":1691876201400},{"traceId":"f3118a7bad57c10e","parentId":4913,"name":"build-module-css","id":4925,"timestamp":8718675968,"duration":265609,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876201189},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4916,"timestamp":8718665072,"duration":278380,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876201179},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4921,"timestamp":8718665113,"duration":302008,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876201179},{"traceId":"f3118a7bad57c10e","parentId":4914,"name":"add-entry","id":4917,"timestamp":8718665085,"duration":550242,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876201179},{"traceId":"f3118a7bad57c10e","parentId":4913,"name":"make","id":4914,"timestamp":8718662928,"duration":552435,"tags":{},"startTime":1691876201176},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"chunk-graph","id":4931,"timestamp":8719223253,"duration":228085,"tags":{},"startTime":1691876201737},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"optimize-modules","id":4933,"timestamp":8719451388,"duration":14,"tags":{},"startTime":1691876201965},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"optimize-chunks","id":4934,"timestamp":8719451429,"duration":1449,"tags":{},"startTime":1691876201965},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"optimize-tree","id":4935,"timestamp":8719452921,"duration":19,"tags":{},"startTime":1691876201966},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"optimize-chunk-modules","id":4936,"timestamp":8719452972,"duration":11,"tags":{},"startTime":1691876201966},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"optimize","id":4932,"timestamp":8719451373,"duration":4725,"tags":{},"startTime":1691876201965},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"module-hash","id":4937,"timestamp":8719844203,"duration":11376,"tags":{},"startTime":1691876202358},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"code-generation","id":4938,"timestamp":8719856011,"duration":35571,"tags":{},"startTime":1691876202369},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"hash","id":4939,"timestamp":8720100337,"duration":24145,"tags":{},"startTime":1691876202614},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"code-generation-jobs","id":4940,"timestamp":8720124480,"duration":233,"tags":{},"startTime":1691876202638},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"module-assets","id":4941,"timestamp":8720124682,"duration":364,"tags":{},"startTime":1691876202638},{"traceId":"f3118a7bad57c10e","parentId":4930,"name":"create-chunk-assets","id":4942,"timestamp":8720125067,"duration":8028,"tags":{},"startTime":1691876202639},{"traceId":"f3118a7bad57c10e","parentId":4913,"name":"NextJsBuildManifest-generateClientManifest","id":4944,"timestamp":8720147386,"duration":117,"tags":{},"startTime":1691876202661},{"traceId":"f3118a7bad57c10e","parentId":4913,"name":"NextJsBuildManifest-createassets","id":4943,"timestamp":8720147268,"duration":242,"tags":{},"startTime":1691876202661},{"traceId":"f3118a7bad57c10e","parentId":4913,"name":"seal","id":4930,"timestamp":8719217710,"duration":943945,"tags":{},"startTime":1691876201731},{"traceId":"f3118a7bad57c10e","parentId":4911,"name":"webpack-compilation","id":4913,"timestamp":8718662052,"duration":1499661,"tags":{"name":"client"},"startTime":1691876201176},{"traceId":"f3118a7bad57c10e","parentId":4911,"name":"emit","id":4945,"timestamp":8720161751,"duration":59113,"tags":{},"startTime":1691876202675},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4911,"timestamp":8718654120,"duration":1571526,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876201168},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":4948,"timestamp":8720271129,"duration":0,"tags":{},"startTime":1691876202785},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":4954,"timestamp":1691876201170000,"duration":1783000,"tags":{"clientId":1691872020568},"startTime":1691876203020},{"traceId":"f3118a7bad57c10e","parentId":4947,"name":"add-entry","id":4949,"timestamp":8720362364,"duration":162405,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876202876},{"traceId":"f3118a7bad57c10e","parentId":4947,"name":"add-entry","id":4950,"timestamp":8720362448,"duration":162333,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876202876},{"traceId":"f3118a7bad57c10e","parentId":4947,"name":"add-entry","id":4951,"timestamp":8720362468,"duration":162316,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876202876},{"traceId":"f3118a7bad57c10e","parentId":4947,"name":"add-entry","id":4953,"timestamp":8720362490,"duration":162296,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876202876},{"traceId":"f3118a7bad57c10e","parentId":4956,"name":"next-swc-transform","id":4957,"timestamp":8720518178,"duration":15344,"tags":{},"startTime":1691876203032},{"traceId":"f3118a7bad57c10e","parentId":4955,"name":"next-swc-loader","id":4956,"timestamp":8720517928,"duration":15602,"tags":{},"startTime":1691876203031},{"traceId":"f3118a7bad57c10e","parentId":4946,"name":"build-module-tsx","id":4955,"timestamp":8720512407,"duration":25878,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876203026},{"traceId":"f3118a7bad57c10e","parentId":4947,"name":"add-entry","id":4952,"timestamp":8720362479,"duration":177607,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876202876},{"traceId":"f3118a7bad57c10e","parentId":4946,"name":"make","id":4947,"timestamp":8720228649,"duration":311473,"tags":{},"startTime":1691876202742},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"chunk-graph","id":4959,"timestamp":8720540563,"duration":636,"tags":{},"startTime":1691876203054},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"optimize-modules","id":4961,"timestamp":8720541232,"duration":9,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"optimize-chunks","id":4962,"timestamp":8720541260,"duration":28,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"optimize-tree","id":4963,"timestamp":8720541312,"duration":11,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"optimize-chunk-modules","id":4964,"timestamp":8720541343,"duration":7,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"optimize","id":4960,"timestamp":8720541220,"duration":216,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"module-hash","id":4965,"timestamp":8720541704,"duration":190,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"code-generation","id":4966,"timestamp":8720541909,"duration":1827,"tags":{},"startTime":1691876203055},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"hash","id":4967,"timestamp":8720546677,"duration":2292,"tags":{},"startTime":1691876203060},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"code-generation-jobs","id":4968,"timestamp":8720548967,"duration":129,"tags":{},"startTime":1691876203062},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"module-assets","id":4969,"timestamp":8720549083,"duration":41,"tags":{},"startTime":1691876203063},{"traceId":"f3118a7bad57c10e","parentId":4958,"name":"create-chunk-assets","id":4970,"timestamp":8720549131,"duration":1594,"tags":{},"startTime":1691876203063},{"traceId":"f3118a7bad57c10e","parentId":4946,"name":"seal","id":4958,"timestamp":8720540453,"duration":10780,"tags":{},"startTime":1691876203054},{"traceId":"f3118a7bad57c10e","parentId":4912,"name":"webpack-compilation","id":4946,"timestamp":8720228246,"duration":323040,"tags":{"name":"server"},"startTime":1691876202742},{"traceId":"f3118a7bad57c10e","parentId":4912,"name":"emit","id":4971,"timestamp":8720551322,"duration":7731,"tags":{},"startTime":1691876203065},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4912,"timestamp":8718654743,"duration":1906429,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876201168}] -[{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4976,"timestamp":8748578801,"duration":22097,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876231092},{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4980,"timestamp":8748578962,"duration":29688,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876231093},{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4982,"timestamp":8748578984,"duration":29681,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876231093},{"traceId":"f3118a7bad57c10e","parentId":4984,"name":"next-swc-transform","id":4985,"timestamp":8748604695,"duration":7228,"tags":{},"startTime":1691876231118},{"traceId":"f3118a7bad57c10e","parentId":4983,"name":"next-swc-loader","id":4984,"timestamp":8748602190,"duration":9739,"tags":{},"startTime":1691876231116},{"traceId":"f3118a7bad57c10e","parentId":4974,"name":"build-module-tsx","id":4983,"timestamp":8748601858,"duration":17702,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876231115},{"traceId":"f3118a7bad57c10e","parentId":4986,"name":"read-resource","id":4987,"timestamp":8748605643,"duration":14376,"tags":{},"startTime":1691876231119},{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4979,"timestamp":8748578956,"duration":69079,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876231093},{"traceId":"f3118a7bad57c10e","parentId":4988,"name":"postcss-process","id":4989,"timestamp":8748620114,"duration":88709,"tags":{},"startTime":1691876231134},{"traceId":"f3118a7bad57c10e","parentId":4986,"name":"postcss-loader","id":4988,"timestamp":8748620070,"duration":89764,"tags":{},"startTime":1691876231134},{"traceId":"f3118a7bad57c10e","parentId":4986,"name":"css-loader","id":4990,"timestamp":8748709874,"duration":30659,"tags":{"astUsed":"true"},"startTime":1691876231223},{"traceId":"f3118a7bad57c10e","parentId":4974,"name":"build-module-css","id":4986,"timestamp":8748605326,"duration":144521,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876231119},{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4977,"timestamp":8748578930,"duration":172427,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876231092},{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4981,"timestamp":8748578975,"duration":193693,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876231093},{"traceId":"f3118a7bad57c10e","parentId":4975,"name":"add-entry","id":4978,"timestamp":8748578944,"duration":1067160,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876231093},{"traceId":"f3118a7bad57c10e","parentId":4974,"name":"make","id":4975,"timestamp":8748569605,"duration":1076537,"tags":{},"startTime":1691876231083},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"chunk-graph","id":4992,"timestamp":8749716475,"duration":31556,"tags":{},"startTime":1691876232230},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"optimize-modules","id":4994,"timestamp":8749748085,"duration":15,"tags":{},"startTime":1691876232262},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"optimize-chunks","id":4995,"timestamp":8749748162,"duration":237,"tags":{},"startTime":1691876232262},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"optimize-tree","id":4996,"timestamp":8749748436,"duration":18,"tags":{},"startTime":1691876232262},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"optimize-chunk-modules","id":4997,"timestamp":8749748496,"duration":12,"tags":{},"startTime":1691876232262},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"optimize","id":4993,"timestamp":8749748065,"duration":2291,"tags":{},"startTime":1691876232262},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"module-hash","id":4998,"timestamp":8749827230,"duration":2757,"tags":{},"startTime":1691876232341},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"code-generation","id":4999,"timestamp":8749830022,"duration":113428,"tags":{},"startTime":1691876232344},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"hash","id":5000,"timestamp":8749957378,"duration":35084,"tags":{},"startTime":1691876232471},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"code-generation-jobs","id":5001,"timestamp":8749992460,"duration":200,"tags":{},"startTime":1691876232506},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"module-assets","id":5002,"timestamp":8749992634,"duration":2561,"tags":{},"startTime":1691876232506},{"traceId":"f3118a7bad57c10e","parentId":4991,"name":"create-chunk-assets","id":5003,"timestamp":8749995231,"duration":15385,"tags":{},"startTime":1691876232509},{"traceId":"f3118a7bad57c10e","parentId":4974,"name":"NextJsBuildManifest-generateClientManifest","id":5005,"timestamp":8750027005,"duration":150,"tags":{},"startTime":1691876232541},{"traceId":"f3118a7bad57c10e","parentId":4974,"name":"NextJsBuildManifest-createassets","id":5004,"timestamp":8750026893,"duration":270,"tags":{},"startTime":1691876232540},{"traceId":"f3118a7bad57c10e","parentId":4974,"name":"seal","id":4991,"timestamp":8749647942,"duration":383548,"tags":{},"startTime":1691876232162},{"traceId":"f3118a7bad57c10e","parentId":4972,"name":"webpack-compilation","id":4974,"timestamp":8748569105,"duration":1462445,"tags":{"name":"client"},"startTime":1691876231083},{"traceId":"f3118a7bad57c10e","parentId":4972,"name":"emit","id":5006,"timestamp":8750031585,"duration":66402,"tags":{},"startTime":1691876232545},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":4972,"timestamp":8748557006,"duration":1551583,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876231071},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5009,"timestamp":8750130172,"duration":0,"tags":{},"startTime":1691876232644},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5015,"timestamp":1691876231071000,"duration":1633000,"tags":{"clientId":1691872020568},"startTime":1691876232723},{"traceId":"f3118a7bad57c10e","parentId":5017,"name":"next-swc-transform","id":5018,"timestamp":8750242867,"duration":13377,"tags":{},"startTime":1691876232756},{"traceId":"f3118a7bad57c10e","parentId":5016,"name":"next-swc-loader","id":5017,"timestamp":8750242614,"duration":13637,"tags":{},"startTime":1691876232756},{"traceId":"f3118a7bad57c10e","parentId":5007,"name":"build-module-tsx","id":5016,"timestamp":8750242337,"duration":16896,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876232756},{"traceId":"f3118a7bad57c10e","parentId":5008,"name":"add-entry","id":5010,"timestamp":8750141589,"duration":118089,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876232655},{"traceId":"f3118a7bad57c10e","parentId":5008,"name":"add-entry","id":5011,"timestamp":8750141656,"duration":118185,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876232655},{"traceId":"f3118a7bad57c10e","parentId":5008,"name":"add-entry","id":5012,"timestamp":8750141667,"duration":118178,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876232655},{"traceId":"f3118a7bad57c10e","parentId":5008,"name":"add-entry","id":5014,"timestamp":8750141680,"duration":118169,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876232655},{"traceId":"f3118a7bad57c10e","parentId":5008,"name":"add-entry","id":5013,"timestamp":8750141673,"duration":118684,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876232655},{"traceId":"f3118a7bad57c10e","parentId":5007,"name":"make","id":5008,"timestamp":8750112016,"duration":148375,"tags":{},"startTime":1691876232626},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"chunk-graph","id":5020,"timestamp":8750260819,"duration":506,"tags":{},"startTime":1691876232774},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"optimize-modules","id":5022,"timestamp":8750261358,"duration":5,"tags":{},"startTime":1691876232775},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"optimize-chunks","id":5023,"timestamp":8750261382,"duration":29,"tags":{},"startTime":1691876232775},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"optimize-tree","id":5024,"timestamp":8750261440,"duration":7,"tags":{},"startTime":1691876232775},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"optimize-chunk-modules","id":5025,"timestamp":8750261467,"duration":6,"tags":{},"startTime":1691876232775},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"optimize","id":5021,"timestamp":8750261346,"duration":229,"tags":{},"startTime":1691876232775},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"module-hash","id":5026,"timestamp":8750261918,"duration":182,"tags":{},"startTime":1691876232775},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"code-generation","id":5027,"timestamp":8750262113,"duration":994,"tags":{},"startTime":1691876232776},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"hash","id":5028,"timestamp":8750272508,"duration":1999,"tags":{},"startTime":1691876232786},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"code-generation-jobs","id":5029,"timestamp":8750274506,"duration":92,"tags":{},"startTime":1691876232788},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"module-assets","id":5030,"timestamp":8750274586,"duration":36,"tags":{},"startTime":1691876232788},{"traceId":"f3118a7bad57c10e","parentId":5019,"name":"create-chunk-assets","id":5031,"timestamp":8750274629,"duration":1004,"tags":{},"startTime":1691876232788},{"traceId":"f3118a7bad57c10e","parentId":5007,"name":"seal","id":5019,"timestamp":8750260721,"duration":15386,"tags":{},"startTime":1691876232774},{"traceId":"f3118a7bad57c10e","parentId":4973,"name":"webpack-compilation","id":5007,"timestamp":8750111564,"duration":164586,"tags":{"name":"server"},"startTime":1691876232625},{"traceId":"f3118a7bad57c10e","parentId":4973,"name":"emit","id":5032,"timestamp":8750276175,"duration":15024,"tags":{},"startTime":1691876232790},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":4973,"timestamp":8748557595,"duration":1734687,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876231071}] -[{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5037,"timestamp":8774631488,"duration":8012,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5041,"timestamp":8774631589,"duration":11085,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5042,"timestamp":8774631596,"duration":11089,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5040,"timestamp":8774631583,"duration":13286,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5047,"name":"read-resource","id":5048,"timestamp":8774641775,"duration":3164,"tags":{},"startTime":1691876257155},{"traceId":"f3118a7bad57c10e","parentId":5045,"name":"next-swc-transform","id":5046,"timestamp":8774640738,"duration":20382,"tags":{},"startTime":1691876257154},{"traceId":"f3118a7bad57c10e","parentId":5044,"name":"next-swc-loader","id":5045,"timestamp":8774640593,"duration":20535,"tags":{},"startTime":1691876257154},{"traceId":"f3118a7bad57c10e","parentId":5035,"name":"build-module-tsx","id":5044,"timestamp":8774640250,"duration":26207,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876257154},{"traceId":"f3118a7bad57c10e","parentId":5049,"name":"postcss-process","id":5050,"timestamp":8774645027,"duration":99884,"tags":{},"startTime":1691876257159},{"traceId":"f3118a7bad57c10e","parentId":5047,"name":"postcss-loader","id":5049,"timestamp":8774644986,"duration":110125,"tags":{},"startTime":1691876257159},{"traceId":"f3118a7bad57c10e","parentId":5047,"name":"css-loader","id":5051,"timestamp":8774755167,"duration":33855,"tags":{"astUsed":"true"},"startTime":1691876257269},{"traceId":"f3118a7bad57c10e","parentId":5035,"name":"build-module-css","id":5047,"timestamp":8774641373,"duration":157805,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876257155},{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5038,"timestamp":8774631563,"duration":173601,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5043,"timestamp":8774631603,"duration":189557,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5036,"name":"add-entry","id":5039,"timestamp":8774631573,"duration":278918,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876257145},{"traceId":"f3118a7bad57c10e","parentId":5035,"name":"make","id":5036,"timestamp":8774626314,"duration":284208,"tags":{},"startTime":1691876257140},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"chunk-graph","id":5053,"timestamp":8774919787,"duration":6878,"tags":{},"startTime":1691876257433},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"optimize-modules","id":5055,"timestamp":8774926710,"duration":6,"tags":{},"startTime":1691876257440},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"optimize-chunks","id":5056,"timestamp":8774926741,"duration":190,"tags":{},"startTime":1691876257440},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"optimize-tree","id":5057,"timestamp":8774926962,"duration":11,"tags":{},"startTime":1691876257441},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"optimize-chunk-modules","id":5058,"timestamp":8774927001,"duration":7,"tags":{},"startTime":1691876257441},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"optimize","id":5054,"timestamp":8774926695,"duration":1604,"tags":{},"startTime":1691876257440},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"module-hash","id":5059,"timestamp":8774935707,"duration":6228,"tags":{},"startTime":1691876257449},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"code-generation","id":5060,"timestamp":8774941980,"duration":7611,"tags":{},"startTime":1691876257456},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"hash","id":5061,"timestamp":8774960314,"duration":20476,"tags":{},"startTime":1691876257474},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"code-generation-jobs","id":5062,"timestamp":8774980788,"duration":239,"tags":{},"startTime":1691876257494},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"module-assets","id":5063,"timestamp":8774980975,"duration":420,"tags":{},"startTime":1691876257495},{"traceId":"f3118a7bad57c10e","parentId":5052,"name":"create-chunk-assets","id":5064,"timestamp":8774981413,"duration":2346,"tags":{},"startTime":1691876257495},{"traceId":"f3118a7bad57c10e","parentId":5035,"name":"NextJsBuildManifest-generateClientManifest","id":5066,"timestamp":8774987235,"duration":102,"tags":{},"startTime":1691876257501},{"traceId":"f3118a7bad57c10e","parentId":5035,"name":"NextJsBuildManifest-createassets","id":5065,"timestamp":8774987135,"duration":211,"tags":{},"startTime":1691876257501},{"traceId":"f3118a7bad57c10e","parentId":5035,"name":"seal","id":5052,"timestamp":8774912539,"duration":79057,"tags":{},"startTime":1691876257426},{"traceId":"f3118a7bad57c10e","parentId":5033,"name":"webpack-compilation","id":5035,"timestamp":8774625878,"duration":365779,"tags":{"name":"client"},"startTime":1691876257140},{"traceId":"f3118a7bad57c10e","parentId":5033,"name":"emit","id":5067,"timestamp":8774991689,"duration":14877,"tags":{},"startTime":1691876257505},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5033,"timestamp":8774615570,"duration":391760,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876257129},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5071,"timestamp":8775017418,"duration":0,"tags":{},"startTime":1691876257531},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5080,"timestamp":1691876257530000,"duration":35000,"tags":{"clientId":1691872020568},"startTime":1691876257567},{"traceId":"f3118a7bad57c10e","parentId":5078,"name":"next-swc-transform","id":5079,"timestamp":8775052463,"duration":2955,"tags":{},"startTime":1691876257566},{"traceId":"f3118a7bad57c10e","parentId":5077,"name":"next-swc-loader","id":5078,"timestamp":8775051779,"duration":3644,"tags":{},"startTime":1691876257565},{"traceId":"f3118a7bad57c10e","parentId":5068,"name":"build-module-tsx","id":5077,"timestamp":8775051590,"duration":4975,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876257565},{"traceId":"f3118a7bad57c10e","parentId":5069,"name":"add-entry","id":5072,"timestamp":8775022725,"duration":34168,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876257536},{"traceId":"f3118a7bad57c10e","parentId":5069,"name":"add-entry","id":5073,"timestamp":8775022819,"duration":34081,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876257536},{"traceId":"f3118a7bad57c10e","parentId":5069,"name":"add-entry","id":5074,"timestamp":8775022839,"duration":34063,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876257536},{"traceId":"f3118a7bad57c10e","parentId":5069,"name":"add-entry","id":5076,"timestamp":8775022859,"duration":34045,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876257537},{"traceId":"f3118a7bad57c10e","parentId":5069,"name":"add-entry","id":5075,"timestamp":8775022849,"duration":34242,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876257536},{"traceId":"f3118a7bad57c10e","parentId":5068,"name":"make","id":5069,"timestamp":8775009825,"duration":47288,"tags":{},"startTime":1691876257523},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"chunk-graph","id":5082,"timestamp":8775057470,"duration":305,"tags":{},"startTime":1691876257571},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"optimize-modules","id":5084,"timestamp":8775057794,"duration":4,"tags":{},"startTime":1691876257571},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"optimize-chunks","id":5085,"timestamp":8775057812,"duration":23,"tags":{},"startTime":1691876257571},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"optimize-tree","id":5086,"timestamp":8775057852,"duration":5,"tags":{},"startTime":1691876257571},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"optimize-chunk-modules","id":5087,"timestamp":8775057872,"duration":4,"tags":{},"startTime":1691876257572},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"optimize","id":5083,"timestamp":8775057787,"duration":150,"tags":{},"startTime":1691876257571},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"module-hash","id":5088,"timestamp":8775058142,"duration":150,"tags":{},"startTime":1691876257572},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"code-generation","id":5089,"timestamp":8775058303,"duration":345,"tags":{},"startTime":1691876257572},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"hash","id":5090,"timestamp":8775059272,"duration":1234,"tags":{},"startTime":1691876257573},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"code-generation-jobs","id":5091,"timestamp":8775060505,"duration":78,"tags":{},"startTime":1691876257574},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"module-assets","id":5092,"timestamp":8775060574,"duration":30,"tags":{},"startTime":1691876257574},{"traceId":"f3118a7bad57c10e","parentId":5081,"name":"create-chunk-assets","id":5093,"timestamp":8775060609,"duration":789,"tags":{},"startTime":1691876257574},{"traceId":"f3118a7bad57c10e","parentId":5068,"name":"seal","id":5081,"timestamp":8775057385,"duration":4247,"tags":{},"startTime":1691876257571},{"traceId":"f3118a7bad57c10e","parentId":5034,"name":"webpack-compilation","id":5068,"timestamp":8775009172,"duration":52507,"tags":{"name":"server"},"startTime":1691876257523},{"traceId":"f3118a7bad57c10e","parentId":5034,"name":"emit","id":5094,"timestamp":8775061700,"duration":3517,"tags":{},"startTime":1691876257575},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5034,"timestamp":8774615932,"duration":449704,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876257130},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5097,"timestamp":8775069638,"duration":29909,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5107,"name":"read-resource","id":5108,"timestamp":8775135238,"duration":200,"tags":{},"startTime":1691876257649},{"traceId":"f3118a7bad57c10e","parentId":5105,"name":"next-swc-transform","id":5106,"timestamp":8775101530,"duration":59664,"tags":{},"startTime":1691876257615},{"traceId":"f3118a7bad57c10e","parentId":5104,"name":"next-swc-loader","id":5105,"timestamp":8775101390,"duration":59811,"tags":{},"startTime":1691876257615},{"traceId":"f3118a7bad57c10e","parentId":5095,"name":"build-module-tsx","id":5104,"timestamp":8775100762,"duration":67385,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876257614},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5101,"timestamp":8775069726,"duration":99163,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5103,"timestamp":8775069740,"duration":99159,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5100,"timestamp":8775069720,"duration":104680,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5098,"timestamp":8775069700,"duration":121396,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5109,"name":"postcss-process","id":5110,"timestamp":8775135497,"duration":142824,"tags":{},"startTime":1691876257649},{"traceId":"f3118a7bad57c10e","parentId":5107,"name":"postcss-loader","id":5109,"timestamp":8775135473,"duration":143232,"tags":{},"startTime":1691876257649},{"traceId":"f3118a7bad57c10e","parentId":5107,"name":"css-loader","id":5111,"timestamp":8775278743,"duration":16359,"tags":{"astUsed":"true"},"startTime":1691876257792},{"traceId":"f3118a7bad57c10e","parentId":5095,"name":"build-module-css","id":5107,"timestamp":8775135025,"duration":161764,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876257649},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5102,"timestamp":8775069734,"duration":241058,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5096,"name":"add-entry","id":5099,"timestamp":8775069712,"duration":352032,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876257583},{"traceId":"f3118a7bad57c10e","parentId":5095,"name":"make","id":5096,"timestamp":8775068094,"duration":353693,"tags":{},"startTime":1691876257582},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"chunk-graph","id":5113,"timestamp":8775448748,"duration":67230,"tags":{},"startTime":1691876257962},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"optimize-modules","id":5115,"timestamp":8775516025,"duration":15,"tags":{},"startTime":1691876258030},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"optimize-chunks","id":5116,"timestamp":8775516067,"duration":228,"tags":{},"startTime":1691876258030},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"optimize-tree","id":5117,"timestamp":8775516326,"duration":13,"tags":{},"startTime":1691876258030},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"optimize-chunk-modules","id":5118,"timestamp":8775516376,"duration":10,"tags":{},"startTime":1691876258030},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"optimize","id":5114,"timestamp":8775516012,"duration":11074,"tags":{},"startTime":1691876258030},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"module-hash","id":5119,"timestamp":8775561735,"duration":3313,"tags":{},"startTime":1691876258075},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"code-generation","id":5120,"timestamp":8775565082,"duration":19349,"tags":{},"startTime":1691876258079},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"hash","id":5121,"timestamp":8775598421,"duration":18997,"tags":{},"startTime":1691876258112},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"code-generation-jobs","id":5122,"timestamp":8775617413,"duration":209,"tags":{},"startTime":1691876258131},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"module-assets","id":5123,"timestamp":8775617594,"duration":367,"tags":{},"startTime":1691876258131},{"traceId":"f3118a7bad57c10e","parentId":5112,"name":"create-chunk-assets","id":5124,"timestamp":8775617975,"duration":9230,"tags":{},"startTime":1691876258132},{"traceId":"f3118a7bad57c10e","parentId":5095,"name":"NextJsBuildManifest-generateClientManifest","id":5126,"timestamp":8775628934,"duration":142,"tags":{},"startTime":1691876258143},{"traceId":"f3118a7bad57c10e","parentId":5095,"name":"NextJsBuildManifest-createassets","id":5125,"timestamp":8775628830,"duration":253,"tags":{},"startTime":1691876258142},{"traceId":"f3118a7bad57c10e","parentId":5095,"name":"seal","id":5112,"timestamp":8775428235,"duration":202450,"tags":{},"startTime":1691876257942},{"traceId":"f3118a7bad57c10e","parentId":5070,"name":"webpack-compilation","id":5095,"timestamp":8775067654,"duration":563085,"tags":{"name":"client"},"startTime":1691876257581},{"traceId":"f3118a7bad57c10e","parentId":5070,"name":"emit","id":5127,"timestamp":8775630769,"duration":170652,"tags":{},"startTime":1691876258144},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5070,"timestamp":8775016107,"duration":794889,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876257530}] -[{"traceId":"f3118a7bad57c10e","parentId":5139,"name":"next-swc-transform","id":5140,"timestamp":8795018858,"duration":4382,"tags":{},"startTime":1691876277533},{"traceId":"f3118a7bad57c10e","parentId":5138,"name":"next-swc-loader","id":5139,"timestamp":8795018601,"duration":4647,"tags":{},"startTime":1691876277532},{"traceId":"f3118a7bad57c10e","parentId":5131,"name":"build-module-tsx","id":5138,"timestamp":8795018367,"duration":14406,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876277532},{"traceId":"f3118a7bad57c10e","parentId":5132,"name":"add-entry","id":5133,"timestamp":8794957469,"duration":131026,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876277471},{"traceId":"f3118a7bad57c10e","parentId":5132,"name":"add-entry","id":5134,"timestamp":8794957597,"duration":130913,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876277471},{"traceId":"f3118a7bad57c10e","parentId":5132,"name":"add-entry","id":5135,"timestamp":8794957611,"duration":130903,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876277471},{"traceId":"f3118a7bad57c10e","parentId":5132,"name":"add-entry","id":5136,"timestamp":8794957622,"duration":130895,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876277471},{"traceId":"f3118a7bad57c10e","parentId":5132,"name":"add-entry","id":5137,"timestamp":8794957634,"duration":150752,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876277471},{"traceId":"f3118a7bad57c10e","parentId":5131,"name":"make","id":5132,"timestamp":8794955328,"duration":153095,"tags":{},"startTime":1691876277469},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"chunk-graph","id":5142,"timestamp":8795109095,"duration":2002,"tags":{},"startTime":1691876277623},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"optimize-modules","id":5144,"timestamp":8795111153,"duration":15,"tags":{},"startTime":1691876277625},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"optimize-chunks","id":5145,"timestamp":8795111201,"duration":50,"tags":{},"startTime":1691876277625},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"optimize-tree","id":5146,"timestamp":8795111283,"duration":86,"tags":{},"startTime":1691876277625},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"optimize-chunk-modules","id":5147,"timestamp":8795111398,"duration":12,"tags":{},"startTime":1691876277625},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"optimize","id":5143,"timestamp":8795111133,"duration":395,"tags":{},"startTime":1691876277625},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"module-hash","id":5148,"timestamp":8795116936,"duration":405,"tags":{},"startTime":1691876277631},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"code-generation","id":5149,"timestamp":8795117386,"duration":2003,"tags":{},"startTime":1691876277631},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"hash","id":5150,"timestamp":8795120763,"duration":2211,"tags":{},"startTime":1691876277634},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"code-generation-jobs","id":5151,"timestamp":8795122972,"duration":276,"tags":{},"startTime":1691876277637},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"module-assets","id":5152,"timestamp":8795123233,"duration":47,"tags":{},"startTime":1691876277637},{"traceId":"f3118a7bad57c10e","parentId":5141,"name":"create-chunk-assets","id":5153,"timestamp":8795123287,"duration":5912,"tags":{},"startTime":1691876277637},{"traceId":"f3118a7bad57c10e","parentId":5131,"name":"seal","id":5141,"timestamp":8795108923,"duration":20827,"tags":{},"startTime":1691876277623},{"traceId":"f3118a7bad57c10e","parentId":5129,"name":"webpack-compilation","id":5131,"timestamp":8794954911,"duration":174881,"tags":{"name":"server"},"startTime":1691876277469},{"traceId":"f3118a7bad57c10e","parentId":5129,"name":"emit","id":5154,"timestamp":8795129823,"duration":42253,"tags":{},"startTime":1691876277644},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5129,"timestamp":8794948358,"duration":225687,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876277462},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5157,"timestamp":8795205344,"duration":16666,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5165,"name":"next-swc-transform","id":5166,"timestamp":8795223579,"duration":4165,"tags":{},"startTime":1691876277737},{"traceId":"f3118a7bad57c10e","parentId":5164,"name":"next-swc-loader","id":5165,"timestamp":8795223393,"duration":4360,"tags":{},"startTime":1691876277737},{"traceId":"f3118a7bad57c10e","parentId":5155,"name":"build-module-tsx","id":5164,"timestamp":8795222949,"duration":11727,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876277737},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5161,"timestamp":8795205505,"duration":29438,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5163,"timestamp":8795205532,"duration":29423,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5160,"timestamp":8795205496,"duration":32460,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5167,"name":"read-resource","id":5168,"timestamp":8795227246,"duration":26523,"tags":{},"startTime":1691876277741},{"traceId":"f3118a7bad57c10e","parentId":5169,"name":"postcss-process","id":5170,"timestamp":8795253903,"duration":895547,"tags":{},"startTime":1691876277768},{"traceId":"f3118a7bad57c10e","parentId":5167,"name":"postcss-loader","id":5169,"timestamp":8795253859,"duration":905043,"tags":{},"startTime":1691876277768},{"traceId":"f3118a7bad57c10e","parentId":5167,"name":"css-loader","id":5171,"timestamp":8796158943,"duration":39325,"tags":{"astUsed":"true"},"startTime":1691876278673},{"traceId":"f3118a7bad57c10e","parentId":5155,"name":"build-module-css","id":5167,"timestamp":8795226808,"duration":987762,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876277741},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5158,"timestamp":8795205459,"duration":1023421,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5162,"timestamp":8795205520,"duration":1056021,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5156,"name":"add-entry","id":5159,"timestamp":8795205480,"duration":1133404,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876277719},{"traceId":"f3118a7bad57c10e","parentId":5155,"name":"make","id":5156,"timestamp":8795181877,"duration":1157043,"tags":{},"startTime":1691876277696},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"chunk-graph","id":5173,"timestamp":8796347211,"duration":15302,"tags":{},"startTime":1691876278861},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"optimize-modules","id":5175,"timestamp":8796362561,"duration":11,"tags":{},"startTime":1691876278876},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"optimize-chunks","id":5176,"timestamp":8796362599,"duration":13262,"tags":{},"startTime":1691876278876},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"optimize-tree","id":5177,"timestamp":8796375905,"duration":20,"tags":{},"startTime":1691876278890},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"optimize-chunk-modules","id":5178,"timestamp":8796375963,"duration":8,"tags":{},"startTime":1691876278890},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"optimize","id":5174,"timestamp":8796362545,"duration":15209,"tags":{},"startTime":1691876278876},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"module-hash","id":5179,"timestamp":8796389965,"duration":21132,"tags":{},"startTime":1691876278904},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"code-generation","id":5180,"timestamp":8796411131,"duration":19656,"tags":{},"startTime":1691876278925},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"hash","id":5181,"timestamp":8796445920,"duration":16198,"tags":{},"startTime":1691876278960},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"code-generation-jobs","id":5182,"timestamp":8796462116,"duration":208,"tags":{},"startTime":1691876278976},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"module-assets","id":5183,"timestamp":8796462298,"duration":354,"tags":{},"startTime":1691876278976},{"traceId":"f3118a7bad57c10e","parentId":5172,"name":"create-chunk-assets","id":5184,"timestamp":8796462663,"duration":2234,"tags":{},"startTime":1691876278976},{"traceId":"f3118a7bad57c10e","parentId":5155,"name":"NextJsBuildManifest-generateClientManifest","id":5186,"timestamp":8796468844,"duration":160,"tags":{},"startTime":1691876278983},{"traceId":"f3118a7bad57c10e","parentId":5155,"name":"NextJsBuildManifest-createassets","id":5185,"timestamp":8796468723,"duration":292,"tags":{},"startTime":1691876278982},{"traceId":"f3118a7bad57c10e","parentId":5155,"name":"seal","id":5172,"timestamp":8796342978,"duration":153561,"tags":{},"startTime":1691876278857},{"traceId":"f3118a7bad57c10e","parentId":5130,"name":"webpack-compilation","id":5155,"timestamp":8795178052,"duration":1318543,"tags":{"name":"client"},"startTime":1691876277692},{"traceId":"f3118a7bad57c10e","parentId":5130,"name":"emit","id":5187,"timestamp":8796496737,"duration":36682,"tags":{},"startTime":1691876279010},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5130,"timestamp":8794948670,"duration":1590332,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876277462}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5188,"timestamp":8796553054,"duration":0,"tags":{},"startTime":1691876279067},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5189,"timestamp":1691876277463000,"duration":1671000,"tags":{"clientId":1691872020568},"startTime":1691876279136},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5194,"timestamp":8843414358,"duration":28269,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876325928},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5198,"timestamp":8843414637,"duration":32839,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876325928},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5200,"timestamp":8843414662,"duration":32825,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876325929},{"traceId":"f3118a7bad57c10e","parentId":5204,"name":"read-resource","id":5205,"timestamp":8843447141,"duration":822,"tags":{},"startTime":1691876325961},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5197,"timestamp":8843414627,"duration":53888,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876325928},{"traceId":"f3118a7bad57c10e","parentId":5202,"name":"next-swc-transform","id":5203,"timestamp":8843444816,"duration":24357,"tags":{},"startTime":1691876325959},{"traceId":"f3118a7bad57c10e","parentId":5201,"name":"next-swc-loader","id":5202,"timestamp":8843444583,"duration":24596,"tags":{},"startTime":1691876325958},{"traceId":"f3118a7bad57c10e","parentId":5192,"name":"build-module-tsx","id":5201,"timestamp":8843444138,"duration":34532,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876325958},{"traceId":"f3118a7bad57c10e","parentId":5206,"name":"postcss-process","id":5207,"timestamp":8843448031,"duration":234058,"tags":{},"startTime":1691876325962},{"traceId":"f3118a7bad57c10e","parentId":5204,"name":"postcss-loader","id":5206,"timestamp":8843447999,"duration":234839,"tags":{},"startTime":1691876325962},{"traceId":"f3118a7bad57c10e","parentId":5204,"name":"css-loader","id":5208,"timestamp":8843682871,"duration":50798,"tags":{"astUsed":"true"},"startTime":1691876326197},{"traceId":"f3118a7bad57c10e","parentId":5192,"name":"build-module-css","id":5204,"timestamp":8843446827,"duration":297007,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876325961},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5195,"timestamp":8843414589,"duration":343144,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876325928},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5199,"timestamp":8843414651,"duration":367363,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876325929},{"traceId":"f3118a7bad57c10e","parentId":5193,"name":"add-entry","id":5196,"timestamp":8843414614,"duration":1301144,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876325928},{"traceId":"f3118a7bad57c10e","parentId":5192,"name":"make","id":5193,"timestamp":8843410925,"duration":1304867,"tags":{},"startTime":1691876325925},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"chunk-graph","id":5210,"timestamp":8844729050,"duration":50787,"tags":{},"startTime":1691876327243},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"optimize-modules","id":5212,"timestamp":8844779882,"duration":15,"tags":{},"startTime":1691876327294},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"optimize-chunks","id":5213,"timestamp":8844779922,"duration":221,"tags":{},"startTime":1691876327294},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"optimize-tree","id":5214,"timestamp":8844780177,"duration":15,"tags":{},"startTime":1691876327294},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"optimize-chunk-modules","id":5215,"timestamp":8844780227,"duration":11,"tags":{},"startTime":1691876327294},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"optimize","id":5211,"timestamp":8844779868,"duration":2520,"tags":{},"startTime":1691876327294},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"module-hash","id":5216,"timestamp":8844832486,"duration":2647,"tags":{},"startTime":1691876327346},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"code-generation","id":5217,"timestamp":8844835169,"duration":26165,"tags":{},"startTime":1691876327349},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"hash","id":5218,"timestamp":8844884448,"duration":36085,"tags":{},"startTime":1691876327398},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"code-generation-jobs","id":5219,"timestamp":8844920530,"duration":189,"tags":{},"startTime":1691876327434},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"module-assets","id":5220,"timestamp":8844920693,"duration":357,"tags":{},"startTime":1691876327435},{"traceId":"f3118a7bad57c10e","parentId":5209,"name":"create-chunk-assets","id":5221,"timestamp":8844921061,"duration":2126,"tags":{},"startTime":1691876327435},{"traceId":"f3118a7bad57c10e","parentId":5192,"name":"NextJsBuildManifest-generateClientManifest","id":5223,"timestamp":8844932732,"duration":148,"tags":{},"startTime":1691876327447},{"traceId":"f3118a7bad57c10e","parentId":5192,"name":"NextJsBuildManifest-createassets","id":5222,"timestamp":8844932618,"duration":271,"tags":{},"startTime":1691876327446},{"traceId":"f3118a7bad57c10e","parentId":5192,"name":"seal","id":5209,"timestamp":8844717943,"duration":219035,"tags":{},"startTime":1691876327232},{"traceId":"f3118a7bad57c10e","parentId":5190,"name":"webpack-compilation","id":5192,"timestamp":8843410363,"duration":1526686,"tags":{"name":"client"},"startTime":1691876325924},{"traceId":"f3118a7bad57c10e","parentId":5190,"name":"emit","id":5224,"timestamp":8844937091,"duration":31341,"tags":{},"startTime":1691876327451},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5190,"timestamp":8843401023,"duration":1568751,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876325915},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5227,"timestamp":8845082563,"duration":0,"tags":{},"startTime":1691876327596},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5233,"timestamp":1691876325916000,"duration":1776000,"tags":{"clientId":1691872020568},"startTime":1691876327723},{"traceId":"f3118a7bad57c10e","parentId":5226,"name":"add-entry","id":5228,"timestamp":8845087154,"duration":140604,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876327601},{"traceId":"f3118a7bad57c10e","parentId":5226,"name":"add-entry","id":5229,"timestamp":8845087271,"duration":140501,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876327601},{"traceId":"f3118a7bad57c10e","parentId":5226,"name":"add-entry","id":5230,"timestamp":8845087283,"duration":140491,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876327601},{"traceId":"f3118a7bad57c10e","parentId":5226,"name":"add-entry","id":5232,"timestamp":8845087297,"duration":140482,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876327601},{"traceId":"f3118a7bad57c10e","parentId":5235,"name":"next-swc-transform","id":5236,"timestamp":8845219994,"duration":23189,"tags":{},"startTime":1691876327734},{"traceId":"f3118a7bad57c10e","parentId":5234,"name":"next-swc-loader","id":5235,"timestamp":8845219744,"duration":23446,"tags":{},"startTime":1691876327734},{"traceId":"f3118a7bad57c10e","parentId":5225,"name":"build-module-tsx","id":5234,"timestamp":8845219172,"duration":28249,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876327733},{"traceId":"f3118a7bad57c10e","parentId":5226,"name":"add-entry","id":5231,"timestamp":8845087290,"duration":166213,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876327601},{"traceId":"f3118a7bad57c10e","parentId":5225,"name":"make","id":5226,"timestamp":8844984335,"duration":269202,"tags":{},"startTime":1691876327498},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"chunk-graph","id":5238,"timestamp":8845253971,"duration":2269,"tags":{},"startTime":1691876327768},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"optimize-modules","id":5240,"timestamp":8845256278,"duration":5,"tags":{},"startTime":1691876327770},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"optimize-chunks","id":5241,"timestamp":8845256302,"duration":36,"tags":{},"startTime":1691876327770},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"optimize-tree","id":5242,"timestamp":8845256368,"duration":7,"tags":{},"startTime":1691876327770},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"optimize-chunk-modules","id":5243,"timestamp":8845256391,"duration":5,"tags":{},"startTime":1691876327770},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"optimize","id":5239,"timestamp":8845256265,"duration":224,"tags":{},"startTime":1691876327770},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"module-hash","id":5244,"timestamp":8845256859,"duration":185,"tags":{},"startTime":1691876327771},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"code-generation","id":5245,"timestamp":8845257060,"duration":1150,"tags":{},"startTime":1691876327771},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"hash","id":5246,"timestamp":8845259278,"duration":1820,"tags":{},"startTime":1691876327773},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"code-generation-jobs","id":5247,"timestamp":8845261096,"duration":103,"tags":{},"startTime":1691876327775},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"module-assets","id":5248,"timestamp":8845261186,"duration":39,"tags":{},"startTime":1691876327775},{"traceId":"f3118a7bad57c10e","parentId":5237,"name":"create-chunk-assets","id":5249,"timestamp":8845261232,"duration":1475,"tags":{},"startTime":1691876327775},{"traceId":"f3118a7bad57c10e","parentId":5225,"name":"seal","id":5237,"timestamp":8845253869,"duration":9361,"tags":{},"startTime":1691876327768},{"traceId":"f3118a7bad57c10e","parentId":5191,"name":"webpack-compilation","id":5225,"timestamp":8844983983,"duration":279287,"tags":{"name":"server"},"startTime":1691876327498},{"traceId":"f3118a7bad57c10e","parentId":5191,"name":"emit","id":5250,"timestamp":8845263298,"duration":15650,"tags":{},"startTime":1691876327777},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5191,"timestamp":8843401435,"duration":1878531,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876325915}] -[{"traceId":"f3118a7bad57c10e","parentId":5261,"name":"next-swc-transform","id":5262,"timestamp":8859588436,"duration":4420,"tags":{},"startTime":1691876342102},{"traceId":"f3118a7bad57c10e","parentId":5260,"name":"next-swc-loader","id":5261,"timestamp":8859588285,"duration":4576,"tags":{},"startTime":1691876342102},{"traceId":"f3118a7bad57c10e","parentId":5253,"name":"build-module-tsx","id":5260,"timestamp":8859587907,"duration":11139,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876342102},{"traceId":"f3118a7bad57c10e","parentId":5254,"name":"add-entry","id":5255,"timestamp":8859546003,"duration":56890,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876342060},{"traceId":"f3118a7bad57c10e","parentId":5254,"name":"add-entry","id":5256,"timestamp":8859546095,"duration":56810,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876342060},{"traceId":"f3118a7bad57c10e","parentId":5254,"name":"add-entry","id":5257,"timestamp":8859546108,"duration":56799,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876342060},{"traceId":"f3118a7bad57c10e","parentId":5254,"name":"add-entry","id":5259,"timestamp":8859546130,"duration":56785,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876342060},{"traceId":"f3118a7bad57c10e","parentId":5254,"name":"add-entry","id":5258,"timestamp":8859546121,"duration":57037,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876342060},{"traceId":"f3118a7bad57c10e","parentId":5253,"name":"make","id":5254,"timestamp":8859542067,"duration":61127,"tags":{},"startTime":1691876342056},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"chunk-graph","id":5264,"timestamp":8859603681,"duration":805,"tags":{},"startTime":1691876342118},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"optimize-modules","id":5266,"timestamp":8859604529,"duration":6,"tags":{},"startTime":1691876342118},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"optimize-chunks","id":5267,"timestamp":8859604560,"duration":38,"tags":{},"startTime":1691876342118},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"optimize-tree","id":5268,"timestamp":8859604627,"duration":11,"tags":{},"startTime":1691876342119},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"optimize-chunk-modules","id":5269,"timestamp":8859604659,"duration":9,"tags":{},"startTime":1691876342119},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"optimize","id":5265,"timestamp":8859604512,"duration":233,"tags":{},"startTime":1691876342118},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"module-hash","id":5270,"timestamp":8859605066,"duration":222,"tags":{},"startTime":1691876342119},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"code-generation","id":5271,"timestamp":8859605303,"duration":537,"tags":{},"startTime":1691876342119},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"hash","id":5272,"timestamp":8859606713,"duration":1649,"tags":{},"startTime":1691876342121},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"code-generation-jobs","id":5273,"timestamp":8859608360,"duration":127,"tags":{},"startTime":1691876342122},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"module-assets","id":5274,"timestamp":8859608464,"duration":41,"tags":{},"startTime":1691876342122},{"traceId":"f3118a7bad57c10e","parentId":5263,"name":"create-chunk-assets","id":5275,"timestamp":8859608515,"duration":4980,"tags":{},"startTime":1691876342122},{"traceId":"f3118a7bad57c10e","parentId":5253,"name":"seal","id":5263,"timestamp":8859603552,"duration":10461,"tags":{},"startTime":1691876342117},{"traceId":"f3118a7bad57c10e","parentId":5251,"name":"webpack-compilation","id":5253,"timestamp":8859541352,"duration":72704,"tags":{"name":"server"},"startTime":1691876342055},{"traceId":"f3118a7bad57c10e","parentId":5251,"name":"emit","id":5276,"timestamp":8859614091,"duration":5874,"tags":{},"startTime":1691876342128},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5251,"timestamp":8859534709,"duration":85947,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876342049},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5279,"timestamp":8859630741,"duration":21834,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5283,"timestamp":8859630884,"duration":24988,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5285,"timestamp":8859630902,"duration":24979,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5282,"timestamp":8859630874,"duration":25930,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5287,"name":"next-swc-transform","id":5288,"timestamp":8859653801,"duration":3188,"tags":{},"startTime":1691876342168},{"traceId":"f3118a7bad57c10e","parentId":5286,"name":"next-swc-loader","id":5287,"timestamp":8859653670,"duration":3323,"tags":{},"startTime":1691876342168},{"traceId":"f3118a7bad57c10e","parentId":5277,"name":"build-module-tsx","id":5286,"timestamp":8859653266,"duration":9341,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876342167},{"traceId":"f3118a7bad57c10e","parentId":5289,"name":"read-resource","id":5290,"timestamp":8859655457,"duration":8069,"tags":{},"startTime":1691876342169},{"traceId":"f3118a7bad57c10e","parentId":5291,"name":"postcss-process","id":5292,"timestamp":8859663615,"duration":554884,"tags":{},"startTime":1691876342178},{"traceId":"f3118a7bad57c10e","parentId":5289,"name":"postcss-loader","id":5291,"timestamp":8859663576,"duration":555695,"tags":{},"startTime":1691876342177},{"traceId":"f3118a7bad57c10e","parentId":5289,"name":"css-loader","id":5293,"timestamp":8860219316,"duration":227773,"tags":{"astUsed":"true"},"startTime":1691876342733},{"traceId":"f3118a7bad57c10e","parentId":5277,"name":"build-module-css","id":5289,"timestamp":8859655134,"duration":812417,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876342169},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5280,"timestamp":8859630850,"duration":841770,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5284,"timestamp":8859630895,"duration":887316,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5278,"name":"add-entry","id":5281,"timestamp":8859630865,"duration":1120309,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876342145},{"traceId":"f3118a7bad57c10e","parentId":5277,"name":"make","id":5278,"timestamp":8859628351,"duration":1122859,"tags":{},"startTime":1691876342142},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"chunk-graph","id":5295,"timestamp":8860766322,"duration":9858,"tags":{},"startTime":1691876343280},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"optimize-modules","id":5297,"timestamp":8860776222,"duration":6,"tags":{},"startTime":1691876343290},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"optimize-chunks","id":5298,"timestamp":8860776247,"duration":210,"tags":{},"startTime":1691876343290},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"optimize-tree","id":5299,"timestamp":8860776489,"duration":9,"tags":{},"startTime":1691876343290},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"optimize-chunk-modules","id":5300,"timestamp":8860776528,"duration":6,"tags":{},"startTime":1691876343290},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"optimize","id":5296,"timestamp":8860776207,"duration":3266,"tags":{},"startTime":1691876343290},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"module-hash","id":5301,"timestamp":8860804438,"duration":2342,"tags":{},"startTime":1691876343318},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"code-generation","id":5302,"timestamp":8860806815,"duration":17130,"tags":{},"startTime":1691876343321},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"hash","id":5303,"timestamp":8860830217,"duration":10300,"tags":{},"startTime":1691876343344},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"code-generation-jobs","id":5304,"timestamp":8860840516,"duration":11246,"tags":{},"startTime":1691876343354},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"module-assets","id":5305,"timestamp":8860851724,"duration":835,"tags":{},"startTime":1691876343366},{"traceId":"f3118a7bad57c10e","parentId":5294,"name":"create-chunk-assets","id":5306,"timestamp":8860852597,"duration":77244,"tags":{},"startTime":1691876343366},{"traceId":"f3118a7bad57c10e","parentId":5277,"name":"NextJsBuildManifest-generateClientManifest","id":5308,"timestamp":8860934115,"duration":91,"tags":{},"startTime":1691876343448},{"traceId":"f3118a7bad57c10e","parentId":5277,"name":"NextJsBuildManifest-createassets","id":5307,"timestamp":8860934013,"duration":200,"tags":{},"startTime":1691876343448},{"traceId":"f3118a7bad57c10e","parentId":5277,"name":"seal","id":5294,"timestamp":8860754977,"duration":182594,"tags":{},"startTime":1691876343269},{"traceId":"f3118a7bad57c10e","parentId":5252,"name":"webpack-compilation","id":5277,"timestamp":8859627797,"duration":1309826,"tags":{"name":"client"},"startTime":1691876342142},{"traceId":"f3118a7bad57c10e","parentId":5252,"name":"emit","id":5309,"timestamp":8860937653,"duration":98963,"tags":{},"startTime":1691876343452},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5252,"timestamp":8859534895,"duration":1506683,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876342049}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5310,"timestamp":8861052087,"duration":0,"tags":{},"startTime":1691876343566},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5311,"timestamp":1691876342050000,"duration":1587000,"tags":{"clientId":1691872020568},"startTime":1691876343641},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5316,"timestamp":8890346463,"duration":14830,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876372860},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5320,"timestamp":8890346641,"duration":16839,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876372861},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5322,"timestamp":8890346659,"duration":16833,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876372861},{"traceId":"f3118a7bad57c10e","parentId":5324,"name":"next-swc-transform","id":5325,"timestamp":8890362379,"duration":3088,"tags":{},"startTime":1691876372876},{"traceId":"f3118a7bad57c10e","parentId":5323,"name":"next-swc-loader","id":5324,"timestamp":8890362175,"duration":3300,"tags":{},"startTime":1691876372876},{"traceId":"f3118a7bad57c10e","parentId":5314,"name":"build-module-tsx","id":5323,"timestamp":8890361981,"duration":6372,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876372876},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5319,"timestamp":8890346634,"duration":24566,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876372861},{"traceId":"f3118a7bad57c10e","parentId":5326,"name":"read-resource","id":5327,"timestamp":8890363192,"duration":9187,"tags":{},"startTime":1691876372877},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5317,"timestamp":8890346591,"duration":45950,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876372861},{"traceId":"f3118a7bad57c10e","parentId":5328,"name":"postcss-process","id":5329,"timestamp":8890372440,"duration":214135,"tags":{},"startTime":1691876372886},{"traceId":"f3118a7bad57c10e","parentId":5326,"name":"postcss-loader","id":5328,"timestamp":8890372417,"duration":214503,"tags":{},"startTime":1691876372886},{"traceId":"f3118a7bad57c10e","parentId":5326,"name":"css-loader","id":5330,"timestamp":8890586955,"duration":17039,"tags":{"astUsed":"true"},"startTime":1691876373101},{"traceId":"f3118a7bad57c10e","parentId":5314,"name":"build-module-css","id":5326,"timestamp":8890362962,"duration":242880,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876372877},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5321,"timestamp":8890346652,"duration":273219,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876372861},{"traceId":"f3118a7bad57c10e","parentId":5315,"name":"add-entry","id":5318,"timestamp":8890346624,"duration":507183,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876372861},{"traceId":"f3118a7bad57c10e","parentId":5314,"name":"make","id":5315,"timestamp":8890337707,"duration":516130,"tags":{},"startTime":1691876372852},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"chunk-graph","id":5332,"timestamp":8890860317,"duration":27566,"tags":{},"startTime":1691876373374},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"optimize-modules","id":5334,"timestamp":8890888035,"duration":18,"tags":{},"startTime":1691876373402},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"optimize-chunks","id":5335,"timestamp":8890888079,"duration":248,"tags":{},"startTime":1691876373402},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"optimize-tree","id":5336,"timestamp":8890888361,"duration":14,"tags":{},"startTime":1691876373402},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"optimize-chunk-modules","id":5337,"timestamp":8890888407,"duration":10,"tags":{},"startTime":1691876373402},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"optimize","id":5333,"timestamp":8890887914,"duration":2404,"tags":{},"startTime":1691876373402},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"module-hash","id":5338,"timestamp":8890907048,"duration":8894,"tags":{},"startTime":1691876373421},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"code-generation","id":5339,"timestamp":8890915978,"duration":19684,"tags":{},"startTime":1691876373430},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"hash","id":5340,"timestamp":8890953874,"duration":15169,"tags":{},"startTime":1691876373468},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"code-generation-jobs","id":5341,"timestamp":8890969041,"duration":260,"tags":{},"startTime":1691876373483},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"module-assets","id":5342,"timestamp":8890969264,"duration":414,"tags":{},"startTime":1691876373483},{"traceId":"f3118a7bad57c10e","parentId":5331,"name":"create-chunk-assets","id":5343,"timestamp":8890969697,"duration":2425,"tags":{},"startTime":1691876373484},{"traceId":"f3118a7bad57c10e","parentId":5314,"name":"NextJsBuildManifest-generateClientManifest","id":5345,"timestamp":8890977824,"duration":163,"tags":{},"startTime":1691876373492},{"traceId":"f3118a7bad57c10e","parentId":5314,"name":"NextJsBuildManifest-createassets","id":5344,"timestamp":8890977700,"duration":295,"tags":{},"startTime":1691876373492},{"traceId":"f3118a7bad57c10e","parentId":5314,"name":"seal","id":5331,"timestamp":8890856021,"duration":126482,"tags":{},"startTime":1691876373370},{"traceId":"f3118a7bad57c10e","parentId":5312,"name":"webpack-compilation","id":5314,"timestamp":8890337223,"duration":645333,"tags":{"name":"client"},"startTime":1691876372851},{"traceId":"f3118a7bad57c10e","parentId":5312,"name":"emit","id":5346,"timestamp":8890982582,"duration":28817,"tags":{},"startTime":1691876373497},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5312,"timestamp":8890328752,"duration":683832,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876372843},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5349,"timestamp":8891023032,"duration":0,"tags":{},"startTime":1691876373537},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5355,"timestamp":1691876372844000,"duration":801000,"tags":{"clientId":1691872020568},"startTime":1691876373647},{"traceId":"f3118a7bad57c10e","parentId":5357,"name":"next-swc-transform","id":5358,"timestamp":8891155403,"duration":2486,"tags":{},"startTime":1691876373669},{"traceId":"f3118a7bad57c10e","parentId":5356,"name":"next-swc-loader","id":5357,"timestamp":8891155195,"duration":2701,"tags":{},"startTime":1691876373669},{"traceId":"f3118a7bad57c10e","parentId":5347,"name":"build-module-tsx","id":5356,"timestamp":8891154945,"duration":5570,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876373669},{"traceId":"f3118a7bad57c10e","parentId":5348,"name":"add-entry","id":5350,"timestamp":8891029211,"duration":132626,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876373543},{"traceId":"f3118a7bad57c10e","parentId":5348,"name":"add-entry","id":5351,"timestamp":8891029278,"duration":132571,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876373543},{"traceId":"f3118a7bad57c10e","parentId":5348,"name":"add-entry","id":5352,"timestamp":8891029289,"duration":132563,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876373543},{"traceId":"f3118a7bad57c10e","parentId":5348,"name":"add-entry","id":5354,"timestamp":8891029306,"duration":132551,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876373543},{"traceId":"f3118a7bad57c10e","parentId":5348,"name":"add-entry","id":5353,"timestamp":8891029299,"duration":132752,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876373543},{"traceId":"f3118a7bad57c10e","parentId":5347,"name":"make","id":5348,"timestamp":8891017081,"duration":144998,"tags":{},"startTime":1691876373531},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"chunk-graph","id":5360,"timestamp":8891162700,"duration":382,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"optimize-modules","id":5362,"timestamp":8891163109,"duration":5,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"optimize-chunks","id":5363,"timestamp":8891163129,"duration":27,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"optimize-tree","id":5364,"timestamp":8891163186,"duration":7,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"optimize-chunk-modules","id":5365,"timestamp":8891163211,"duration":5,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"optimize","id":5361,"timestamp":8891163098,"duration":207,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"module-hash","id":5366,"timestamp":8891165411,"duration":179,"tags":{},"startTime":1691876373679},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"code-generation","id":5367,"timestamp":8891165606,"duration":630,"tags":{},"startTime":1691876373680},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"hash","id":5368,"timestamp":8891167725,"duration":1374,"tags":{},"startTime":1691876373682},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"code-generation-jobs","id":5369,"timestamp":8891169098,"duration":86,"tags":{},"startTime":1691876373683},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"module-assets","id":5370,"timestamp":8891169172,"duration":36,"tags":{},"startTime":1691876373683},{"traceId":"f3118a7bad57c10e","parentId":5359,"name":"create-chunk-assets","id":5371,"timestamp":8891169214,"duration":1355,"tags":{},"startTime":1691876373683},{"traceId":"f3118a7bad57c10e","parentId":5347,"name":"seal","id":5359,"timestamp":8891162594,"duration":8266,"tags":{},"startTime":1691876373677},{"traceId":"f3118a7bad57c10e","parentId":5313,"name":"webpack-compilation","id":5347,"timestamp":8891016435,"duration":154455,"tags":{"name":"server"},"startTime":1691876373530},{"traceId":"f3118a7bad57c10e","parentId":5313,"name":"emit","id":5372,"timestamp":8891170909,"duration":3851,"tags":{},"startTime":1691876373685},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5313,"timestamp":8890329675,"duration":845835,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876372844}] -[{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5377,"timestamp":9079997411,"duration":18858,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5381,"timestamp":9079997730,"duration":23789,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5383,"timestamp":9079997773,"duration":23757,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5380,"timestamp":9079997715,"duration":24536,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5387,"name":"read-resource","id":5388,"timestamp":9080020949,"duration":2064,"tags":{},"startTime":1691876562536},{"traceId":"f3118a7bad57c10e","parentId":5385,"name":"next-swc-transform","id":5386,"timestamp":9080019565,"duration":88379,"tags":{},"startTime":1691876562534},{"traceId":"f3118a7bad57c10e","parentId":5384,"name":"next-swc-loader","id":5385,"timestamp":9080018938,"duration":89015,"tags":{},"startTime":1691876562534},{"traceId":"f3118a7bad57c10e","parentId":5375,"name":"build-module-tsx","id":5384,"timestamp":9080017487,"duration":139282,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876562532},{"traceId":"f3118a7bad57c10e","parentId":5389,"name":"postcss-process","id":5390,"timestamp":9080023243,"duration":290582,"tags":{},"startTime":1691876562538},{"traceId":"f3118a7bad57c10e","parentId":5387,"name":"postcss-loader","id":5389,"timestamp":9080023158,"duration":291507,"tags":{},"startTime":1691876562538},{"traceId":"f3118a7bad57c10e","parentId":5387,"name":"css-loader","id":5391,"timestamp":9080314697,"duration":26574,"tags":{"astUsed":"true"},"startTime":1691876562829},{"traceId":"f3118a7bad57c10e","parentId":5375,"name":"build-module-css","id":5387,"timestamp":9080020565,"duration":332004,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876562535},{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5378,"timestamp":9079997669,"duration":356601,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5382,"timestamp":9079997760,"duration":371824,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5376,"name":"add-entry","id":5379,"timestamp":9079997702,"duration":539351,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876562512},{"traceId":"f3118a7bad57c10e","parentId":5375,"name":"make","id":5376,"timestamp":9079983734,"duration":553353,"tags":{},"startTime":1691876562498},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"chunk-graph","id":5393,"timestamp":9080545031,"duration":83714,"tags":{},"startTime":1691876563060},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"optimize-modules","id":5395,"timestamp":9080628903,"duration":45,"tags":{},"startTime":1691876563143},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"optimize-chunks","id":5396,"timestamp":9080629038,"duration":523,"tags":{},"startTime":1691876563144},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"optimize-tree","id":5397,"timestamp":9080629690,"duration":58,"tags":{},"startTime":1691876563144},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"optimize-chunk-modules","id":5398,"timestamp":9080629848,"duration":48,"tags":{},"startTime":1691876563144},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"optimize","id":5394,"timestamp":9080628835,"duration":3126,"tags":{},"startTime":1691876563143},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"module-hash","id":5399,"timestamp":9080661611,"duration":3233,"tags":{},"startTime":1691876563176},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"code-generation","id":5400,"timestamp":9080664893,"duration":17634,"tags":{},"startTime":1691876563179},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"hash","id":5401,"timestamp":9080696372,"duration":51975,"tags":{},"startTime":1691876563211},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"code-generation-jobs","id":5402,"timestamp":9080748343,"duration":371,"tags":{},"startTime":1691876563263},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"module-assets","id":5403,"timestamp":9080748662,"duration":420,"tags":{},"startTime":1691876563263},{"traceId":"f3118a7bad57c10e","parentId":5392,"name":"create-chunk-assets","id":5404,"timestamp":9080749098,"duration":26332,"tags":{},"startTime":1691876563264},{"traceId":"f3118a7bad57c10e","parentId":5375,"name":"NextJsBuildManifest-generateClientManifest","id":5406,"timestamp":9080780361,"duration":135,"tags":{},"startTime":1691876563295},{"traceId":"f3118a7bad57c10e","parentId":5375,"name":"NextJsBuildManifest-createassets","id":5405,"timestamp":9080780157,"duration":347,"tags":{},"startTime":1691876563295},{"traceId":"f3118a7bad57c10e","parentId":5375,"name":"seal","id":5392,"timestamp":9080539648,"duration":246607,"tags":{},"startTime":1691876563054},{"traceId":"f3118a7bad57c10e","parentId":5373,"name":"webpack-compilation","id":5375,"timestamp":9079982801,"duration":803523,"tags":{"name":"client"},"startTime":1691876562497},{"traceId":"f3118a7bad57c10e","parentId":5373,"name":"emit","id":5407,"timestamp":9080786378,"duration":287082,"tags":{},"startTime":1691876563301},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5373,"timestamp":9079968543,"duration":1111472,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876562483},{"traceId":"f3118a7bad57c10e","parentId":5409,"name":"add-entry","id":5410,"timestamp":9081117525,"duration":43391,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876563632},{"traceId":"f3118a7bad57c10e","parentId":5409,"name":"add-entry","id":5411,"timestamp":9081117648,"duration":43283,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876563632},{"traceId":"f3118a7bad57c10e","parentId":5409,"name":"add-entry","id":5412,"timestamp":9081117662,"duration":43273,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876563632},{"traceId":"f3118a7bad57c10e","parentId":5409,"name":"add-entry","id":5414,"timestamp":9081117675,"duration":43264,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876563632},{"traceId":"f3118a7bad57c10e","parentId":5416,"name":"next-swc-transform","id":5417,"timestamp":9081157932,"duration":4794,"tags":{},"startTime":1691876563673},{"traceId":"f3118a7bad57c10e","parentId":5415,"name":"next-swc-loader","id":5416,"timestamp":9081157715,"duration":5019,"tags":{},"startTime":1691876563672},{"traceId":"f3118a7bad57c10e","parentId":5408,"name":"build-module-tsx","id":5415,"timestamp":9081157243,"duration":9489,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876563672},{"traceId":"f3118a7bad57c10e","parentId":5409,"name":"add-entry","id":5413,"timestamp":9081117669,"duration":52675,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876563632},{"traceId":"f3118a7bad57c10e","parentId":5408,"name":"make","id":5409,"timestamp":9081081506,"duration":88875,"tags":{},"startTime":1691876563596},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"chunk-graph","id":5419,"timestamp":9081171823,"duration":554,"tags":{},"startTime":1691876563686},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"optimize-modules","id":5421,"timestamp":9081172453,"duration":7,"tags":{},"startTime":1691876563687},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"optimize-chunks","id":5422,"timestamp":9081172583,"duration":79,"tags":{},"startTime":1691876563687},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"optimize-tree","id":5423,"timestamp":9081172741,"duration":14,"tags":{},"startTime":1691876563687},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"optimize-chunk-modules","id":5424,"timestamp":9081172825,"duration":9,"tags":{},"startTime":1691876563687},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"optimize","id":5420,"timestamp":9081172440,"duration":562,"tags":{},"startTime":1691876563687},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"module-hash","id":5425,"timestamp":9081173401,"duration":216,"tags":{},"startTime":1691876563688},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"code-generation","id":5426,"timestamp":9081173633,"duration":1998,"tags":{},"startTime":1691876563688},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"hash","id":5427,"timestamp":9081176789,"duration":6176,"tags":{},"startTime":1691876563691},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"code-generation-jobs","id":5428,"timestamp":9081182964,"duration":150,"tags":{},"startTime":1691876563698},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"module-assets","id":5429,"timestamp":9081183100,"duration":53,"tags":{},"startTime":1691876563698},{"traceId":"f3118a7bad57c10e","parentId":5418,"name":"create-chunk-assets","id":5430,"timestamp":9081183160,"duration":1752,"tags":{},"startTime":1691876563698},{"traceId":"f3118a7bad57c10e","parentId":5408,"name":"seal","id":5418,"timestamp":9081171711,"duration":13828,"tags":{},"startTime":1691876563686},{"traceId":"f3118a7bad57c10e","parentId":5374,"name":"webpack-compilation","id":5408,"timestamp":9081081154,"duration":104432,"tags":{"name":"server"},"startTime":1691876563596},{"traceId":"f3118a7bad57c10e","parentId":5374,"name":"emit","id":5431,"timestamp":9081185617,"duration":6759,"tags":{},"startTime":1691876563700},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5374,"timestamp":9079969204,"duration":1226757,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876562484}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5432,"timestamp":9083841609,"duration":0,"tags":{},"startTime":1691876566356},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5433,"timestamp":1691876372844000,"duration":193572000,"tags":{"clientId":1691872020568},"startTime":1691876566417},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5438,"timestamp":9120477642,"duration":18211,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5442,"timestamp":9120477825,"duration":23581,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5444,"timestamp":9120477848,"duration":23571,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5441,"timestamp":9120477817,"duration":24178,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5446,"name":"next-swc-transform","id":5447,"timestamp":9120497912,"duration":5513,"tags":{},"startTime":1691876603099},{"traceId":"f3118a7bad57c10e","parentId":5445,"name":"next-swc-loader","id":5446,"timestamp":9120497689,"duration":5742,"tags":{},"startTime":1691876603099},{"traceId":"f3118a7bad57c10e","parentId":5436,"name":"build-module-tsx","id":5445,"timestamp":9120497253,"duration":20173,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876603099},{"traceId":"f3118a7bad57c10e","parentId":5448,"name":"read-resource","id":5449,"timestamp":9120501080,"duration":16611,"tags":{},"startTime":1691876603102},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5439,"timestamp":9120477784,"duration":145003,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5450,"name":"postcss-process","id":5451,"timestamp":9120517762,"duration":184916,"tags":{},"startTime":1691876603119},{"traceId":"f3118a7bad57c10e","parentId":5448,"name":"postcss-loader","id":5450,"timestamp":9120517732,"duration":185798,"tags":{},"startTime":1691876603119},{"traceId":"f3118a7bad57c10e","parentId":5448,"name":"css-loader","id":5452,"timestamp":9120703567,"duration":33848,"tags":{"astUsed":"true"},"startTime":1691876603305},{"traceId":"f3118a7bad57c10e","parentId":5436,"name":"build-module-css","id":5448,"timestamp":9120500716,"duration":251696,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876603102},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5443,"timestamp":9120477837,"duration":343909,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5437,"name":"add-entry","id":5440,"timestamp":9120477805,"duration":866068,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876603079},{"traceId":"f3118a7bad57c10e","parentId":5436,"name":"make","id":5437,"timestamp":9120474920,"duration":868988,"tags":{},"startTime":1691876603076},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"chunk-graph","id":5454,"timestamp":9121352535,"duration":47973,"tags":{},"startTime":1691876603954},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"optimize-modules","id":5456,"timestamp":9121400560,"duration":35,"tags":{},"startTime":1691876604002},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"optimize-chunks","id":5457,"timestamp":9121400661,"duration":239,"tags":{},"startTime":1691876604002},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"optimize-tree","id":5458,"timestamp":9121400935,"duration":13,"tags":{},"startTime":1691876604002},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"optimize-chunk-modules","id":5459,"timestamp":9121400982,"duration":7,"tags":{},"startTime":1691876604002},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"optimize","id":5455,"timestamp":9121400541,"duration":3882,"tags":{},"startTime":1691876604002},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"module-hash","id":5460,"timestamp":9121430744,"duration":29900,"tags":{},"startTime":1691876604032},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"code-generation","id":5461,"timestamp":9121460697,"duration":148145,"tags":{},"startTime":1691876604062},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"hash","id":5462,"timestamp":9121644024,"duration":49354,"tags":{},"startTime":1691876604245},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"code-generation-jobs","id":5463,"timestamp":9121693376,"duration":781,"tags":{},"startTime":1691876604295},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"module-assets","id":5464,"timestamp":9121693903,"duration":780,"tags":{},"startTime":1691876604295},{"traceId":"f3118a7bad57c10e","parentId":5453,"name":"create-chunk-assets","id":5465,"timestamp":9121694717,"duration":6647,"tags":{},"startTime":1691876604296},{"traceId":"f3118a7bad57c10e","parentId":5436,"name":"NextJsBuildManifest-generateClientManifest","id":5467,"timestamp":9121709824,"duration":237,"tags":{},"startTime":1691876604311},{"traceId":"f3118a7bad57c10e","parentId":5436,"name":"NextJsBuildManifest-createassets","id":5466,"timestamp":9121709709,"duration":362,"tags":{},"startTime":1691876604311},{"traceId":"f3118a7bad57c10e","parentId":5436,"name":"seal","id":5453,"timestamp":9121346119,"duration":373969,"tags":{},"startTime":1691876603948},{"traceId":"f3118a7bad57c10e","parentId":5434,"name":"webpack-compilation","id":5436,"timestamp":9120474446,"duration":1245698,"tags":{"name":"client"},"startTime":1691876603076},{"traceId":"f3118a7bad57c10e","parentId":5434,"name":"emit","id":5468,"timestamp":9121720174,"duration":61478,"tags":{},"startTime":1691876604322},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5434,"timestamp":9120466320,"duration":1318090,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876603068},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5471,"timestamp":9121799961,"duration":0,"tags":{},"startTime":1691876604401},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5477,"timestamp":1691876603069000,"duration":1408000,"tags":{"clientId":1691872020568},"startTime":1691876604487},{"traceId":"f3118a7bad57c10e","parentId":5470,"name":"add-entry","id":5472,"timestamp":9121805617,"duration":89194,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876604407},{"traceId":"f3118a7bad57c10e","parentId":5470,"name":"add-entry","id":5473,"timestamp":9121805705,"duration":89119,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876604407},{"traceId":"f3118a7bad57c10e","parentId":5470,"name":"add-entry","id":5474,"timestamp":9121805717,"duration":89110,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876604407},{"traceId":"f3118a7bad57c10e","parentId":5470,"name":"add-entry","id":5476,"timestamp":9121805730,"duration":89099,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876604407},{"traceId":"f3118a7bad57c10e","parentId":5479,"name":"next-swc-transform","id":5480,"timestamp":9121890980,"duration":10062,"tags":{},"startTime":1691876604492},{"traceId":"f3118a7bad57c10e","parentId":5478,"name":"next-swc-loader","id":5479,"timestamp":9121890329,"duration":10721,"tags":{},"startTime":1691876604492},{"traceId":"f3118a7bad57c10e","parentId":5469,"name":"build-module-tsx","id":5478,"timestamp":9121889426,"duration":29693,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876604491},{"traceId":"f3118a7bad57c10e","parentId":5470,"name":"add-entry","id":5475,"timestamp":9121805723,"duration":114278,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876604407},{"traceId":"f3118a7bad57c10e","parentId":5469,"name":"make","id":5470,"timestamp":9121790466,"duration":129575,"tags":{},"startTime":1691876604392},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"chunk-graph","id":5482,"timestamp":9121920527,"duration":609,"tags":{},"startTime":1691876604522},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"optimize-modules","id":5484,"timestamp":9121921181,"duration":9,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"optimize-chunks","id":5485,"timestamp":9121921213,"duration":32,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"optimize-tree","id":5486,"timestamp":9121921275,"duration":11,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"optimize-chunk-modules","id":5487,"timestamp":9121921305,"duration":5,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"optimize","id":5483,"timestamp":9121921163,"duration":244,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"module-hash","id":5488,"timestamp":9121921719,"duration":213,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"code-generation","id":5489,"timestamp":9121921946,"duration":763,"tags":{},"startTime":1691876604523},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"hash","id":5490,"timestamp":9121923799,"duration":3873,"tags":{},"startTime":1691876604525},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"code-generation-jobs","id":5491,"timestamp":9121927672,"duration":103,"tags":{},"startTime":1691876604529},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"module-assets","id":5492,"timestamp":9121927759,"duration":37,"tags":{},"startTime":1691876604529},{"traceId":"f3118a7bad57c10e","parentId":5481,"name":"create-chunk-assets","id":5493,"timestamp":9121927808,"duration":4824,"tags":{},"startTime":1691876604529},{"traceId":"f3118a7bad57c10e","parentId":5469,"name":"seal","id":5481,"timestamp":9121920397,"duration":12746,"tags":{},"startTime":1691876604522},{"traceId":"f3118a7bad57c10e","parentId":5435,"name":"webpack-compilation","id":5469,"timestamp":9121789821,"duration":143400,"tags":{"name":"server"},"startTime":1691876604391},{"traceId":"f3118a7bad57c10e","parentId":5435,"name":"emit","id":5494,"timestamp":9121933247,"duration":19475,"tags":{},"startTime":1691876604535},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5435,"timestamp":9120466743,"duration":1487701,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876603068}] -[{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5499,"timestamp":9163497476,"duration":11840,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5503,"timestamp":9163497605,"duration":14692,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5505,"timestamp":9163497626,"duration":14680,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5502,"timestamp":9163497596,"duration":16183,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5509,"name":"read-resource","id":5510,"timestamp":9163511904,"duration":2023,"tags":{},"startTime":1691876646115},{"traceId":"f3118a7bad57c10e","parentId":5507,"name":"next-swc-transform","id":5508,"timestamp":9163510829,"duration":21065,"tags":{},"startTime":1691876646113},{"traceId":"f3118a7bad57c10e","parentId":5506,"name":"next-swc-loader","id":5507,"timestamp":9163510695,"duration":21212,"tags":{},"startTime":1691876646113},{"traceId":"f3118a7bad57c10e","parentId":5497,"name":"build-module-tsx","id":5506,"timestamp":9163510373,"duration":25554,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876646113},{"traceId":"f3118a7bad57c10e","parentId":5511,"name":"postcss-process","id":5512,"timestamp":9163514016,"duration":200872,"tags":{},"startTime":1691876646117},{"traceId":"f3118a7bad57c10e","parentId":5509,"name":"postcss-loader","id":5511,"timestamp":9163513974,"duration":201383,"tags":{},"startTime":1691876646117},{"traceId":"f3118a7bad57c10e","parentId":5509,"name":"css-loader","id":5513,"timestamp":9163715399,"duration":32117,"tags":{"astUsed":"true"},"startTime":1691876646318},{"traceId":"f3118a7bad57c10e","parentId":5497,"name":"build-module-css","id":5509,"timestamp":9163511628,"duration":239913,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876646114},{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5500,"timestamp":9163497570,"duration":255831,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5504,"timestamp":9163497617,"duration":271242,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5498,"name":"add-entry","id":5501,"timestamp":9163497581,"duration":388625,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876646100},{"traceId":"f3118a7bad57c10e","parentId":5497,"name":"make","id":5498,"timestamp":9163496330,"duration":390086,"tags":{},"startTime":1691876646099},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"chunk-graph","id":5515,"timestamp":9163899036,"duration":42001,"tags":{},"startTime":1691876646502},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"optimize-modules","id":5517,"timestamp":9163941079,"duration":6,"tags":{},"startTime":1691876646544},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"optimize-chunks","id":5518,"timestamp":9163941103,"duration":207,"tags":{},"startTime":1691876646544},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"optimize-tree","id":5519,"timestamp":9163941338,"duration":7,"tags":{},"startTime":1691876646544},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"optimize-chunk-modules","id":5520,"timestamp":9163941371,"duration":6,"tags":{},"startTime":1691876646544},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"optimize","id":5516,"timestamp":9163941066,"duration":3043,"tags":{},"startTime":1691876646544},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"module-hash","id":5521,"timestamp":9163956822,"duration":3466,"tags":{},"startTime":1691876646560},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"code-generation","id":5522,"timestamp":9163960326,"duration":111083,"tags":{},"startTime":1691876646563},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"hash","id":5523,"timestamp":9164085613,"duration":38919,"tags":{},"startTime":1691876646688},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"code-generation-jobs","id":5524,"timestamp":9164124530,"duration":271,"tags":{},"startTime":1691876646727},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"module-assets","id":5525,"timestamp":9164124753,"duration":813,"tags":{},"startTime":1691876646727},{"traceId":"f3118a7bad57c10e","parentId":5514,"name":"create-chunk-assets","id":5526,"timestamp":9164125604,"duration":4014,"tags":{},"startTime":1691876646728},{"traceId":"f3118a7bad57c10e","parentId":5497,"name":"NextJsBuildManifest-generateClientManifest","id":5528,"timestamp":9164136252,"duration":103,"tags":{},"startTime":1691876646739},{"traceId":"f3118a7bad57c10e","parentId":5497,"name":"NextJsBuildManifest-createassets","id":5527,"timestamp":9164136137,"duration":227,"tags":{},"startTime":1691876646739},{"traceId":"f3118a7bad57c10e","parentId":5497,"name":"seal","id":5514,"timestamp":9163889089,"duration":253845,"tags":{},"startTime":1691876646492},{"traceId":"f3118a7bad57c10e","parentId":5495,"name":"webpack-compilation","id":5497,"timestamp":9163495874,"duration":647125,"tags":{"name":"client"},"startTime":1691876646099},{"traceId":"f3118a7bad57c10e","parentId":5495,"name":"emit","id":5529,"timestamp":9164143038,"duration":188992,"tags":{},"startTime":1691876646746},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5495,"timestamp":9163487342,"duration":848795,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876646090},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5532,"timestamp":9164355588,"duration":0,"tags":{},"startTime":1691876646958},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5538,"timestamp":1691876646091000,"duration":948000,"tags":{"clientId":1691872020568},"startTime":1691876647301},{"traceId":"f3118a7bad57c10e","parentId":5540,"name":"next-swc-transform","id":5541,"timestamp":9164714659,"duration":14425,"tags":{},"startTime":1691876647317},{"traceId":"f3118a7bad57c10e","parentId":5539,"name":"next-swc-loader","id":5540,"timestamp":9164714375,"duration":14715,"tags":{},"startTime":1691876647317},{"traceId":"f3118a7bad57c10e","parentId":5530,"name":"build-module-tsx","id":5539,"timestamp":9164714110,"duration":17904,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876647317},{"traceId":"f3118a7bad57c10e","parentId":5531,"name":"add-entry","id":5533,"timestamp":9164364360,"duration":367738,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876646967},{"traceId":"f3118a7bad57c10e","parentId":5531,"name":"add-entry","id":5534,"timestamp":9164364486,"duration":367620,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876646967},{"traceId":"f3118a7bad57c10e","parentId":5531,"name":"add-entry","id":5535,"timestamp":9164364499,"duration":367611,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876646967},{"traceId":"f3118a7bad57c10e","parentId":5531,"name":"add-entry","id":5537,"timestamp":9164364513,"duration":367600,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876646967},{"traceId":"f3118a7bad57c10e","parentId":5531,"name":"add-entry","id":5536,"timestamp":9164364506,"duration":381785,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876646967},{"traceId":"f3118a7bad57c10e","parentId":5530,"name":"make","id":5531,"timestamp":9164342230,"duration":404098,"tags":{},"startTime":1691876646945},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"chunk-graph","id":5543,"timestamp":9164746868,"duration":1226,"tags":{},"startTime":1691876647350},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"optimize-modules","id":5545,"timestamp":9164748170,"duration":9,"tags":{},"startTime":1691876647351},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"optimize-chunks","id":5546,"timestamp":9164748197,"duration":48,"tags":{},"startTime":1691876647351},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"optimize-tree","id":5547,"timestamp":9164748276,"duration":8,"tags":{},"startTime":1691876647351},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"optimize-chunk-modules","id":5548,"timestamp":9164748301,"duration":6,"tags":{},"startTime":1691876647351},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"optimize","id":5544,"timestamp":9164748154,"duration":464,"tags":{},"startTime":1691876647351},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"module-hash","id":5549,"timestamp":9164750866,"duration":4150,"tags":{},"startTime":1691876647354},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"code-generation","id":5550,"timestamp":9164755046,"duration":639,"tags":{},"startTime":1691876647358},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"hash","id":5551,"timestamp":9164756545,"duration":2905,"tags":{},"startTime":1691876647359},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"code-generation-jobs","id":5552,"timestamp":9164759448,"duration":137,"tags":{},"startTime":1691876647362},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"module-assets","id":5553,"timestamp":9164759569,"duration":45,"tags":{},"startTime":1691876647362},{"traceId":"f3118a7bad57c10e","parentId":5542,"name":"create-chunk-assets","id":5554,"timestamp":9164759624,"duration":5626,"tags":{},"startTime":1691876647362},{"traceId":"f3118a7bad57c10e","parentId":5530,"name":"seal","id":5542,"timestamp":9164746755,"duration":18980,"tags":{},"startTime":1691876647349},{"traceId":"f3118a7bad57c10e","parentId":5496,"name":"webpack-compilation","id":5530,"timestamp":9164340988,"duration":424795,"tags":{"name":"server"},"startTime":1691876646944},{"traceId":"f3118a7bad57c10e","parentId":5496,"name":"emit","id":5555,"timestamp":9164765814,"duration":14469,"tags":{},"startTime":1691876647369},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5496,"timestamp":9163487796,"duration":1293432,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876646090}] -[{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5560,"timestamp":9168727549,"duration":20788,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5564,"timestamp":9168727644,"duration":25722,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5565,"timestamp":9168727652,"duration":25728,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5563,"timestamp":9168727638,"duration":27656,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5570,"name":"read-resource","id":5571,"timestamp":9168752294,"duration":3137,"tags":{},"startTime":1691876651355},{"traceId":"f3118a7bad57c10e","parentId":5568,"name":"next-swc-transform","id":5569,"timestamp":9168750670,"duration":20965,"tags":{},"startTime":1691876651353},{"traceId":"f3118a7bad57c10e","parentId":5567,"name":"next-swc-loader","id":5568,"timestamp":9168750558,"duration":21084,"tags":{},"startTime":1691876651353},{"traceId":"f3118a7bad57c10e","parentId":5558,"name":"build-module-tsx","id":5567,"timestamp":9168750244,"duration":24715,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876651353},{"traceId":"f3118a7bad57c10e","parentId":5572,"name":"postcss-process","id":5573,"timestamp":9168755499,"duration":111978,"tags":{},"startTime":1691876651358},{"traceId":"f3118a7bad57c10e","parentId":5570,"name":"postcss-loader","id":5572,"timestamp":9168755475,"duration":112601,"tags":{},"startTime":1691876651358},{"traceId":"f3118a7bad57c10e","parentId":5570,"name":"css-loader","id":5574,"timestamp":9168868119,"duration":22405,"tags":{"astUsed":"true"},"startTime":1691876651471},{"traceId":"f3118a7bad57c10e","parentId":5558,"name":"build-module-css","id":5570,"timestamp":9168751875,"duration":141976,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876651355},{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5561,"timestamp":9168727621,"duration":170910,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5566,"timestamp":9168727658,"duration":181670,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5559,"name":"add-entry","id":5562,"timestamp":9168727631,"duration":325648,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876651330},{"traceId":"f3118a7bad57c10e","parentId":5558,"name":"make","id":5559,"timestamp":9168713106,"duration":340215,"tags":{},"startTime":1691876651316},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"chunk-graph","id":5576,"timestamp":9169059648,"duration":22755,"tags":{},"startTime":1691876651662},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"optimize-modules","id":5578,"timestamp":9169082453,"duration":6,"tags":{},"startTime":1691876651685},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"optimize-chunks","id":5579,"timestamp":9169082855,"duration":291,"tags":{},"startTime":1691876651686},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"optimize-tree","id":5580,"timestamp":9169083189,"duration":10,"tags":{},"startTime":1691876651686},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"optimize-chunk-modules","id":5581,"timestamp":9169083229,"duration":7,"tags":{},"startTime":1691876651686},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"optimize","id":5577,"timestamp":9169082435,"duration":157199,"tags":{},"startTime":1691876651685},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"module-hash","id":5582,"timestamp":9169260595,"duration":11215,"tags":{},"startTime":1691876651863},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"code-generation","id":5583,"timestamp":9169271850,"duration":19252,"tags":{},"startTime":1691876651875},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"hash","id":5584,"timestamp":9169307690,"duration":18157,"tags":{},"startTime":1691876651911},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"code-generation-jobs","id":5585,"timestamp":9169325845,"duration":195,"tags":{},"startTime":1691876651929},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"module-assets","id":5586,"timestamp":9169326016,"duration":353,"tags":{},"startTime":1691876651929},{"traceId":"f3118a7bad57c10e","parentId":5575,"name":"create-chunk-assets","id":5587,"timestamp":9169326380,"duration":6069,"tags":{},"startTime":1691876651929},{"traceId":"f3118a7bad57c10e","parentId":5558,"name":"NextJsBuildManifest-generateClientManifest","id":5589,"timestamp":9169342008,"duration":111,"tags":{},"startTime":1691876651945},{"traceId":"f3118a7bad57c10e","parentId":5558,"name":"NextJsBuildManifest-createassets","id":5588,"timestamp":9169341895,"duration":232,"tags":{},"startTime":1691876651945},{"traceId":"f3118a7bad57c10e","parentId":5558,"name":"seal","id":5575,"timestamp":9169055946,"duration":297569,"tags":{},"startTime":1691876651659},{"traceId":"f3118a7bad57c10e","parentId":5556,"name":"webpack-compilation","id":5558,"timestamp":9168712753,"duration":640825,"tags":{"name":"client"},"startTime":1691876651316},{"traceId":"f3118a7bad57c10e","parentId":5556,"name":"emit","id":5590,"timestamp":9169353608,"duration":43954,"tags":{},"startTime":1691876651956},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5556,"timestamp":9168702570,"duration":703373,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876651305},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5593,"timestamp":9169419591,"duration":0,"tags":{},"startTime":1691876652022},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5599,"timestamp":1691876651306000,"duration":789000,"tags":{"clientId":1691872020568},"startTime":1691876652110},{"traceId":"f3118a7bad57c10e","parentId":5592,"name":"add-entry","id":5594,"timestamp":9169432418,"duration":94615,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876652035},{"traceId":"f3118a7bad57c10e","parentId":5592,"name":"add-entry","id":5595,"timestamp":9169432513,"duration":94546,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876652035},{"traceId":"f3118a7bad57c10e","parentId":5592,"name":"add-entry","id":5596,"timestamp":9169432534,"duration":94530,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876652035},{"traceId":"f3118a7bad57c10e","parentId":5592,"name":"add-entry","id":5598,"timestamp":9169432565,"duration":94503,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876652035},{"traceId":"f3118a7bad57c10e","parentId":5601,"name":"next-swc-transform","id":5602,"timestamp":9169522531,"duration":18502,"tags":{},"startTime":1691876652125},{"traceId":"f3118a7bad57c10e","parentId":5600,"name":"next-swc-loader","id":5601,"timestamp":9169522399,"duration":18643,"tags":{},"startTime":1691876652125},{"traceId":"f3118a7bad57c10e","parentId":5591,"name":"build-module-tsx","id":5600,"timestamp":9169517707,"duration":24598,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876652121},{"traceId":"f3118a7bad57c10e","parentId":5592,"name":"add-entry","id":5597,"timestamp":9169432541,"duration":110349,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876652035},{"traceId":"f3118a7bad57c10e","parentId":5591,"name":"make","id":5592,"timestamp":9169408478,"duration":134439,"tags":{},"startTime":1691876652011},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"chunk-graph","id":5604,"timestamp":9169543316,"duration":350,"tags":{},"startTime":1691876652146},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"optimize-modules","id":5606,"timestamp":9169543689,"duration":4,"tags":{},"startTime":1691876652147},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"optimize-chunks","id":5607,"timestamp":9169543708,"duration":26,"tags":{},"startTime":1691876652147},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"optimize-tree","id":5608,"timestamp":9169543757,"duration":6,"tags":{},"startTime":1691876652147},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"optimize-chunk-modules","id":5609,"timestamp":9169543783,"duration":5,"tags":{},"startTime":1691876652147},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"optimize","id":5605,"timestamp":9169543681,"duration":176,"tags":{},"startTime":1691876652147},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"module-hash","id":5610,"timestamp":9169544077,"duration":4802,"tags":{},"startTime":1691876652147},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"code-generation","id":5611,"timestamp":9169548927,"duration":3405,"tags":{},"startTime":1691876652152},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"hash","id":5612,"timestamp":9169552988,"duration":998,"tags":{},"startTime":1691876652156},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"code-generation-jobs","id":5613,"timestamp":9169553985,"duration":90,"tags":{},"startTime":1691876652157},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"module-assets","id":5614,"timestamp":9169554065,"duration":34,"tags":{},"startTime":1691876652157},{"traceId":"f3118a7bad57c10e","parentId":5603,"name":"create-chunk-assets","id":5615,"timestamp":9169554105,"duration":1497,"tags":{},"startTime":1691876652157},{"traceId":"f3118a7bad57c10e","parentId":5591,"name":"seal","id":5603,"timestamp":9169543222,"duration":13947,"tags":{},"startTime":1691876652146},{"traceId":"f3118a7bad57c10e","parentId":5557,"name":"webpack-compilation","id":5591,"timestamp":9169407897,"duration":149322,"tags":{"name":"server"},"startTime":1691876652011},{"traceId":"f3118a7bad57c10e","parentId":5557,"name":"emit","id":5616,"timestamp":9169557248,"duration":19229,"tags":{},"startTime":1691876652160},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5557,"timestamp":9168702917,"duration":874444,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876651306}] -[{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5621,"timestamp":9186878961,"duration":18945,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876669482},{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5625,"timestamp":9186879117,"duration":28602,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876669482},{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5627,"timestamp":9186879135,"duration":28596,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876669483},{"traceId":"f3118a7bad57c10e","parentId":5629,"name":"next-swc-transform","id":5630,"timestamp":9186905334,"duration":2626,"tags":{},"startTime":1691876669509},{"traceId":"f3118a7bad57c10e","parentId":5628,"name":"next-swc-loader","id":5629,"timestamp":9186900883,"duration":7081,"tags":{},"startTime":1691876669504},{"traceId":"f3118a7bad57c10e","parentId":5619,"name":"build-module-tsx","id":5628,"timestamp":9186899195,"duration":19423,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876669503},{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5624,"timestamp":9186879107,"duration":43101,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876669482},{"traceId":"f3118a7bad57c10e","parentId":5631,"name":"read-resource","id":5632,"timestamp":9186907043,"duration":16449,"tags":{},"startTime":1691876669510},{"traceId":"f3118a7bad57c10e","parentId":5633,"name":"postcss-process","id":5634,"timestamp":9186924400,"duration":134590,"tags":{},"startTime":1691876669528},{"traceId":"f3118a7bad57c10e","parentId":5631,"name":"postcss-loader","id":5633,"timestamp":9186924297,"duration":135783,"tags":{},"startTime":1691876669528},{"traceId":"f3118a7bad57c10e","parentId":5631,"name":"css-loader","id":5635,"timestamp":9187060114,"duration":37056,"tags":{"astUsed":"true"},"startTime":1691876669663},{"traceId":"f3118a7bad57c10e","parentId":5619,"name":"build-module-css","id":5631,"timestamp":9186906836,"duration":201291,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876669510},{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5622,"timestamp":9186879082,"duration":234202,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876669482},{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5626,"timestamp":9186879129,"duration":248812,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876669483},{"traceId":"f3118a7bad57c10e","parentId":5620,"name":"add-entry","id":5623,"timestamp":9186879099,"duration":746818,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876669482},{"traceId":"f3118a7bad57c10e","parentId":5619,"name":"make","id":5620,"timestamp":9186877910,"duration":748044,"tags":{},"startTime":1691876669481},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"chunk-graph","id":5637,"timestamp":9187659093,"duration":97301,"tags":{},"startTime":1691876670262},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"optimize-modules","id":5639,"timestamp":9187756448,"duration":8,"tags":{},"startTime":1691876670360},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"optimize-chunks","id":5640,"timestamp":9187756483,"duration":233,"tags":{},"startTime":1691876670360},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"optimize-tree","id":5641,"timestamp":9187756821,"duration":23,"tags":{},"startTime":1691876670360},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"optimize-chunk-modules","id":5642,"timestamp":9187756886,"duration":8495,"tags":{},"startTime":1691876670360},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"optimize","id":5638,"timestamp":9187756421,"duration":11226,"tags":{},"startTime":1691876670360},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"module-hash","id":5643,"timestamp":9187820930,"duration":3737,"tags":{},"startTime":1691876670424},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"code-generation","id":5644,"timestamp":9187824704,"duration":35081,"tags":{},"startTime":1691876670428},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"hash","id":5645,"timestamp":9187906280,"duration":121903,"tags":{},"startTime":1691876670510},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"code-generation-jobs","id":5646,"timestamp":9188028182,"duration":192,"tags":{},"startTime":1691876670632},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"module-assets","id":5647,"timestamp":9188028341,"duration":362,"tags":{},"startTime":1691876670632},{"traceId":"f3118a7bad57c10e","parentId":5636,"name":"create-chunk-assets","id":5648,"timestamp":9188028714,"duration":10141,"tags":{},"startTime":1691876670632},{"traceId":"f3118a7bad57c10e","parentId":5619,"name":"NextJsBuildManifest-generateClientManifest","id":5650,"timestamp":9188116166,"duration":246,"tags":{},"startTime":1691876670720},{"traceId":"f3118a7bad57c10e","parentId":5619,"name":"NextJsBuildManifest-createassets","id":5649,"timestamp":9188116032,"duration":407,"tags":{},"startTime":1691876670719},{"traceId":"f3118a7bad57c10e","parentId":5619,"name":"seal","id":5636,"timestamp":9187631931,"duration":489961,"tags":{},"startTime":1691876670235},{"traceId":"f3118a7bad57c10e","parentId":5617,"name":"webpack-compilation","id":5619,"timestamp":9186877433,"duration":1244516,"tags":{"name":"client"},"startTime":1691876669481},{"traceId":"f3118a7bad57c10e","parentId":5617,"name":"emit","id":5651,"timestamp":9188121985,"duration":38157,"tags":{},"startTime":1691876670725},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5617,"timestamp":9186868394,"duration":1302441,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876669472},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5654,"timestamp":9188224080,"duration":0,"tags":{},"startTime":1691876670828},{"traceId":"f3118a7bad57c10e","parentId":5653,"name":"add-entry","id":5655,"timestamp":9188252130,"duration":67979,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876670856},{"traceId":"f3118a7bad57c10e","parentId":5653,"name":"add-entry","id":5656,"timestamp":9188252789,"duration":67332,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876670856},{"traceId":"f3118a7bad57c10e","parentId":5653,"name":"add-entry","id":5657,"timestamp":9188252875,"duration":67248,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876670856},{"traceId":"f3118a7bad57c10e","parentId":5653,"name":"add-entry","id":5659,"timestamp":9188252894,"duration":67238,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876670856},{"traceId":"f3118a7bad57c10e","parentId":5661,"name":"next-swc-transform","id":5662,"timestamp":9188313630,"duration":13166,"tags":{},"startTime":1691876670917},{"traceId":"f3118a7bad57c10e","parentId":5660,"name":"next-swc-loader","id":5661,"timestamp":9188313384,"duration":13421,"tags":{},"startTime":1691876670917},{"traceId":"f3118a7bad57c10e","parentId":5652,"name":"build-module-tsx","id":5660,"timestamp":9188313026,"duration":17696,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876670916},{"traceId":"f3118a7bad57c10e","parentId":5653,"name":"add-entry","id":5658,"timestamp":9188252886,"duration":80331,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876670856},{"traceId":"f3118a7bad57c10e","parentId":5652,"name":"make","id":5653,"timestamp":9188192953,"duration":140310,"tags":{},"startTime":1691876670796},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"chunk-graph","id":5664,"timestamp":9188333826,"duration":634,"tags":{},"startTime":1691876670937},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"optimize-modules","id":5666,"timestamp":9188334502,"duration":10,"tags":{},"startTime":1691876670938},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"optimize-chunks","id":5667,"timestamp":9188334536,"duration":35,"tags":{},"startTime":1691876670938},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"optimize-tree","id":5668,"timestamp":9188334604,"duration":11,"tags":{},"startTime":1691876670938},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"optimize-chunk-modules","id":5669,"timestamp":9188334639,"duration":6,"tags":{},"startTime":1691876670938},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"optimize","id":5665,"timestamp":9188334489,"duration":269,"tags":{},"startTime":1691876670938},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"module-hash","id":5670,"timestamp":9188335519,"duration":423,"tags":{},"startTime":1691876670939},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"code-generation","id":5671,"timestamp":9188335963,"duration":833,"tags":{},"startTime":1691876670939},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"hash","id":5672,"timestamp":9188337762,"duration":8038,"tags":{},"startTime":1691876670941},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"code-generation-jobs","id":5673,"timestamp":9188345799,"duration":116,"tags":{},"startTime":1691876670949},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"module-assets","id":5674,"timestamp":9188345901,"duration":37,"tags":{},"startTime":1691876670949},{"traceId":"f3118a7bad57c10e","parentId":5663,"name":"create-chunk-assets","id":5675,"timestamp":9188345944,"duration":1305,"tags":{},"startTime":1691876670949},{"traceId":"f3118a7bad57c10e","parentId":5652,"name":"seal","id":5663,"timestamp":9188333692,"duration":13860,"tags":{},"startTime":1691876670937},{"traceId":"f3118a7bad57c10e","parentId":5618,"name":"webpack-compilation","id":5652,"timestamp":9188192605,"duration":154988,"tags":{"name":"server"},"startTime":1691876670796},{"traceId":"f3118a7bad57c10e","parentId":5618,"name":"emit","id":5676,"timestamp":9188347623,"duration":7837,"tags":{},"startTime":1691876670951},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5618,"timestamp":9186869122,"duration":1487336,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876669472}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5677,"timestamp":1691876669473000,"duration":1505000,"tags":{"clientId":1691872020568},"startTime":1691876670979},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5682,"timestamp":9203858330,"duration":25439,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5686,"timestamp":9203858452,"duration":31328,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5687,"timestamp":9203858465,"duration":31325,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5685,"timestamp":9203858439,"duration":36141,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5690,"name":"next-swc-transform","id":5691,"timestamp":9203885665,"duration":9058,"tags":{},"startTime":1691876686490},{"traceId":"f3118a7bad57c10e","parentId":5689,"name":"next-swc-loader","id":5690,"timestamp":9203885516,"duration":9210,"tags":{},"startTime":1691876686489},{"traceId":"f3118a7bad57c10e","parentId":5680,"name":"build-module-tsx","id":5689,"timestamp":9203885138,"duration":14574,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876686489},{"traceId":"f3118a7bad57c10e","parentId":5692,"name":"read-resource","id":5693,"timestamp":9203887386,"duration":12611,"tags":{},"startTime":1691876686491},{"traceId":"f3118a7bad57c10e","parentId":5694,"name":"postcss-process","id":5695,"timestamp":9203900058,"duration":86863,"tags":{},"startTime":1691876686504},{"traceId":"f3118a7bad57c10e","parentId":5692,"name":"postcss-loader","id":5694,"timestamp":9203900037,"duration":87405,"tags":{},"startTime":1691876686504},{"traceId":"f3118a7bad57c10e","parentId":5692,"name":"css-loader","id":5696,"timestamp":9203987471,"duration":28804,"tags":{"astUsed":"true"},"startTime":1691876686591},{"traceId":"f3118a7bad57c10e","parentId":5680,"name":"build-module-css","id":5692,"timestamp":9203886603,"duration":150794,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876686490},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5683,"timestamp":9203858410,"duration":180031,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5688,"timestamp":9203858474,"duration":189973,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5681,"name":"add-entry","id":5684,"timestamp":9203858429,"duration":235910,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876686462},{"traceId":"f3118a7bad57c10e","parentId":5680,"name":"make","id":5681,"timestamp":9203843958,"duration":250423,"tags":{},"startTime":1691876686448},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"chunk-graph","id":5698,"timestamp":9204099174,"duration":5829,"tags":{},"startTime":1691876686703},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"optimize-modules","id":5700,"timestamp":9204105044,"duration":6,"tags":{},"startTime":1691876686709},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"optimize-chunks","id":5701,"timestamp":9204105173,"duration":203,"tags":{},"startTime":1691876686709},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"optimize-tree","id":5702,"timestamp":9204105407,"duration":411,"tags":{},"startTime":1691876686709},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"optimize-chunk-modules","id":5703,"timestamp":9204105871,"duration":11,"tags":{},"startTime":1691876686710},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"optimize","id":5699,"timestamp":9204105030,"duration":2379,"tags":{},"startTime":1691876686709},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"module-hash","id":5704,"timestamp":9204113222,"duration":1792,"tags":{},"startTime":1691876686717},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"code-generation","id":5705,"timestamp":9204115041,"duration":19681,"tags":{},"startTime":1691876686719},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"hash","id":5706,"timestamp":9204149749,"duration":9234,"tags":{},"startTime":1691876686754},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"code-generation-jobs","id":5707,"timestamp":9204158980,"duration":199,"tags":{},"startTime":1691876686763},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"module-assets","id":5708,"timestamp":9204159152,"duration":422,"tags":{},"startTime":1691876686763},{"traceId":"f3118a7bad57c10e","parentId":5697,"name":"create-chunk-assets","id":5709,"timestamp":9204159612,"duration":1934,"tags":{},"startTime":1691876686764},{"traceId":"f3118a7bad57c10e","parentId":5680,"name":"NextJsBuildManifest-generateClientManifest","id":5711,"timestamp":9204165344,"duration":103,"tags":{},"startTime":1691876686769},{"traceId":"f3118a7bad57c10e","parentId":5680,"name":"NextJsBuildManifest-createassets","id":5710,"timestamp":9204165099,"duration":356,"tags":{},"startTime":1691876686769},{"traceId":"f3118a7bad57c10e","parentId":5680,"name":"seal","id":5697,"timestamp":9204095944,"duration":73472,"tags":{},"startTime":1691876686700},{"traceId":"f3118a7bad57c10e","parentId":5678,"name":"webpack-compilation","id":5680,"timestamp":9203842842,"duration":326628,"tags":{"name":"client"},"startTime":1691876686447},{"traceId":"f3118a7bad57c10e","parentId":5678,"name":"emit","id":5712,"timestamp":9204169505,"duration":17882,"tags":{},"startTime":1691876686773},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5678,"timestamp":9203831296,"duration":357100,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876686435},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5715,"timestamp":9204205339,"duration":0,"tags":{},"startTime":1691876686809},{"traceId":"f3118a7bad57c10e","parentId":5714,"name":"add-entry","id":5716,"timestamp":9204211055,"duration":378026,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876686815},{"traceId":"f3118a7bad57c10e","parentId":5714,"name":"add-entry","id":5717,"timestamp":9204211229,"duration":377863,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876686815},{"traceId":"f3118a7bad57c10e","parentId":5714,"name":"add-entry","id":5718,"timestamp":9204211357,"duration":377739,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876686815},{"traceId":"f3118a7bad57c10e","parentId":5714,"name":"add-entry","id":5720,"timestamp":9204211377,"duration":377721,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876686815},{"traceId":"f3118a7bad57c10e","parentId":5722,"name":"next-swc-transform","id":5723,"timestamp":9204584903,"duration":12859,"tags":{},"startTime":1691876687189},{"traceId":"f3118a7bad57c10e","parentId":5721,"name":"next-swc-loader","id":5722,"timestamp":9204584767,"duration":13005,"tags":{},"startTime":1691876687189},{"traceId":"f3118a7bad57c10e","parentId":5713,"name":"build-module-tsx","id":5721,"timestamp":9204584406,"duration":15327,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876687188},{"traceId":"f3118a7bad57c10e","parentId":5714,"name":"add-entry","id":5719,"timestamp":9204211370,"duration":397589,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876686815},{"traceId":"f3118a7bad57c10e","parentId":5713,"name":"make","id":5714,"timestamp":9204193001,"duration":416012,"tags":{},"startTime":1691876686797},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"chunk-graph","id":5725,"timestamp":9204609785,"duration":394,"tags":{},"startTime":1691876687214},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"optimize-modules","id":5727,"timestamp":9204610207,"duration":4,"tags":{},"startTime":1691876687214},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"optimize-chunks","id":5728,"timestamp":9204610227,"duration":27,"tags":{},"startTime":1691876687214},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"optimize-tree","id":5729,"timestamp":9204610281,"duration":7,"tags":{},"startTime":1691876687214},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"optimize-chunk-modules","id":5730,"timestamp":9204610304,"duration":5,"tags":{},"startTime":1691876687214},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"optimize","id":5726,"timestamp":9204610197,"duration":242,"tags":{},"startTime":1691876687214},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"module-hash","id":5731,"timestamp":9204610696,"duration":184,"tags":{},"startTime":1691876687215},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"code-generation","id":5732,"timestamp":9204610895,"duration":1087,"tags":{},"startTime":1691876687215},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"hash","id":5733,"timestamp":9204612675,"duration":1341,"tags":{},"startTime":1691876687217},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"code-generation-jobs","id":5734,"timestamp":9204614014,"duration":99,"tags":{},"startTime":1691876687218},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"module-assets","id":5735,"timestamp":9204614102,"duration":35,"tags":{},"startTime":1691876687218},{"traceId":"f3118a7bad57c10e","parentId":5724,"name":"create-chunk-assets","id":5736,"timestamp":9204614160,"duration":982,"tags":{},"startTime":1691876687218},{"traceId":"f3118a7bad57c10e","parentId":5713,"name":"seal","id":5724,"timestamp":9204609563,"duration":5867,"tags":{},"startTime":1691876687213},{"traceId":"f3118a7bad57c10e","parentId":5679,"name":"webpack-compilation","id":5713,"timestamp":9204192643,"duration":422823,"tags":{"name":"server"},"startTime":1691876686797},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5738,"timestamp":1691876686436000,"duration":776000,"tags":{"clientId":1691872020568},"startTime":1691876687220},{"traceId":"f3118a7bad57c10e","parentId":5679,"name":"emit","id":5737,"timestamp":9204615492,"duration":62902,"tags":{},"startTime":1691876687219},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5679,"timestamp":9203831858,"duration":847284,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876686436}] -[{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5743,"timestamp":9211348910,"duration":19522,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5747,"timestamp":9211349037,"duration":23062,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5749,"timestamp":9211349052,"duration":23058,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5746,"timestamp":9211349030,"duration":23664,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5753,"name":"read-resource","id":5754,"timestamp":9211371251,"duration":1635,"tags":{},"startTime":1691876693975},{"traceId":"f3118a7bad57c10e","parentId":5751,"name":"next-swc-transform","id":5752,"timestamp":9211370110,"duration":11458,"tags":{},"startTime":1691876693974},{"traceId":"f3118a7bad57c10e","parentId":5750,"name":"next-swc-loader","id":5751,"timestamp":9211369969,"duration":11606,"tags":{},"startTime":1691876693974},{"traceId":"f3118a7bad57c10e","parentId":5741,"name":"build-module-tsx","id":5750,"timestamp":9211369628,"duration":14769,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876693974},{"traceId":"f3118a7bad57c10e","parentId":5755,"name":"postcss-process","id":5756,"timestamp":9211372946,"duration":81969,"tags":{},"startTime":1691876693977},{"traceId":"f3118a7bad57c10e","parentId":5753,"name":"postcss-loader","id":5755,"timestamp":9211372921,"duration":82332,"tags":{},"startTime":1691876693977},{"traceId":"f3118a7bad57c10e","parentId":5753,"name":"css-loader","id":5757,"timestamp":9211455286,"duration":14002,"tags":{"astUsed":"true"},"startTime":1691876694059},{"traceId":"f3118a7bad57c10e","parentId":5741,"name":"build-module-css","id":5753,"timestamp":9211370880,"duration":101138,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876693975},{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5744,"timestamp":9211348981,"duration":124187,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5748,"timestamp":9211349046,"duration":135549,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5742,"name":"add-entry","id":5745,"timestamp":9211349020,"duration":198442,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876693953},{"traceId":"f3118a7bad57c10e","parentId":5741,"name":"make","id":5742,"timestamp":9211345153,"duration":202340,"tags":{},"startTime":1691876693949},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"chunk-graph","id":5759,"timestamp":9211553842,"duration":5220,"tags":{},"startTime":1691876694158},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"optimize-modules","id":5761,"timestamp":9211559110,"duration":9,"tags":{},"startTime":1691876694163},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"optimize-chunks","id":5762,"timestamp":9211559138,"duration":446,"tags":{},"startTime":1691876694163},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"optimize-tree","id":5763,"timestamp":9211559612,"duration":13,"tags":{},"startTime":1691876694164},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"optimize-chunk-modules","id":5764,"timestamp":9211559656,"duration":12,"tags":{},"startTime":1691876694164},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"optimize","id":5760,"timestamp":9211559095,"duration":1864,"tags":{},"startTime":1691876694163},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"module-hash","id":5765,"timestamp":9211565970,"duration":1862,"tags":{},"startTime":1691876694170},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"code-generation","id":5766,"timestamp":9211567859,"duration":5277,"tags":{},"startTime":1691876694172},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"hash","id":5767,"timestamp":9211584792,"duration":8535,"tags":{},"startTime":1691876694189},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"code-generation-jobs","id":5768,"timestamp":9211593325,"duration":189,"tags":{},"startTime":1691876694197},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"module-assets","id":5769,"timestamp":9211593489,"duration":363,"tags":{},"startTime":1691876694198},{"traceId":"f3118a7bad57c10e","parentId":5758,"name":"create-chunk-assets","id":5770,"timestamp":9211593864,"duration":1872,"tags":{},"startTime":1691876694198},{"traceId":"f3118a7bad57c10e","parentId":5741,"name":"NextJsBuildManifest-generateClientManifest","id":5772,"timestamp":9211598776,"duration":123,"tags":{},"startTime":1691876694203},{"traceId":"f3118a7bad57c10e","parentId":5741,"name":"NextJsBuildManifest-createassets","id":5771,"timestamp":9211598681,"duration":226,"tags":{},"startTime":1691876694203},{"traceId":"f3118a7bad57c10e","parentId":5741,"name":"seal","id":5758,"timestamp":9211550400,"duration":57603,"tags":{},"startTime":1691876694155},{"traceId":"f3118a7bad57c10e","parentId":5739,"name":"webpack-compilation","id":5741,"timestamp":9211344733,"duration":263325,"tags":{"name":"client"},"startTime":1691876693949},{"traceId":"f3118a7bad57c10e","parentId":5739,"name":"emit","id":5773,"timestamp":9211608087,"duration":209212,"tags":{},"startTime":1691876694212},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5739,"timestamp":9211332284,"duration":488340,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876693936},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5776,"timestamp":9211832001,"duration":0,"tags":{},"startTime":1691876694436},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5782,"timestamp":1691876693937000,"duration":536000,"tags":{"clientId":1691872020568},"startTime":1691876694474},{"traceId":"f3118a7bad57c10e","parentId":5784,"name":"next-swc-transform","id":5785,"timestamp":9211879410,"duration":2603,"tags":{},"startTime":1691876694484},{"traceId":"f3118a7bad57c10e","parentId":5783,"name":"next-swc-loader","id":5784,"timestamp":9211879207,"duration":2814,"tags":{},"startTime":1691876694483},{"traceId":"f3118a7bad57c10e","parentId":5774,"name":"build-module-tsx","id":5783,"timestamp":9211878951,"duration":6789,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876694483},{"traceId":"f3118a7bad57c10e","parentId":5775,"name":"add-entry","id":5777,"timestamp":9211840565,"duration":45700,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876694445},{"traceId":"f3118a7bad57c10e","parentId":5775,"name":"add-entry","id":5778,"timestamp":9211840637,"duration":45640,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876694445},{"traceId":"f3118a7bad57c10e","parentId":5775,"name":"add-entry","id":5779,"timestamp":9211840648,"duration":45633,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876694445},{"traceId":"f3118a7bad57c10e","parentId":5775,"name":"add-entry","id":5781,"timestamp":9211840661,"duration":45624,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876694445},{"traceId":"f3118a7bad57c10e","parentId":5775,"name":"add-entry","id":5780,"timestamp":9211840654,"duration":45872,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876694445},{"traceId":"f3118a7bad57c10e","parentId":5774,"name":"make","id":5775,"timestamp":9211822773,"duration":63781,"tags":{},"startTime":1691876694427},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"chunk-graph","id":5787,"timestamp":9211887012,"duration":505,"tags":{},"startTime":1691876694491},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"optimize-modules","id":5789,"timestamp":9211887542,"duration":38,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"optimize-chunks","id":5790,"timestamp":9211887598,"duration":27,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"optimize-tree","id":5791,"timestamp":9211887648,"duration":11,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"optimize-chunk-modules","id":5792,"timestamp":9211887678,"duration":6,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"optimize","id":5788,"timestamp":9211887532,"duration":234,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"module-hash","id":5793,"timestamp":9211888029,"duration":199,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"code-generation","id":5794,"timestamp":9211888242,"duration":574,"tags":{},"startTime":1691876694492},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"hash","id":5795,"timestamp":9211889623,"duration":1347,"tags":{},"startTime":1691876694494},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"code-generation-jobs","id":5796,"timestamp":9211890968,"duration":95,"tags":{},"startTime":1691876694495},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"module-assets","id":5797,"timestamp":9211891049,"duration":42,"tags":{},"startTime":1691876694495},{"traceId":"f3118a7bad57c10e","parentId":5786,"name":"create-chunk-assets","id":5798,"timestamp":9211891098,"duration":2792,"tags":{},"startTime":1691876694495},{"traceId":"f3118a7bad57c10e","parentId":5774,"name":"seal","id":5786,"timestamp":9211886865,"duration":7346,"tags":{},"startTime":1691876694491},{"traceId":"f3118a7bad57c10e","parentId":5740,"name":"webpack-compilation","id":5774,"timestamp":9211822456,"duration":71796,"tags":{"name":"server"},"startTime":1691876694427},{"traceId":"f3118a7bad57c10e","parentId":5740,"name":"emit","id":5799,"timestamp":9211894315,"duration":5649,"tags":{},"startTime":1691876694498},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5740,"timestamp":9211332719,"duration":568184,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876693937}] -[{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5804,"timestamp":9221050752,"duration":51270,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5808,"timestamp":9221050903,"duration":59203,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5810,"timestamp":9221050925,"duration":59394,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5812,"name":"next-swc-transform","id":5813,"timestamp":9221106328,"duration":7774,"tags":{},"startTime":1691876703711},{"traceId":"f3118a7bad57c10e","parentId":5811,"name":"next-swc-loader","id":5812,"timestamp":9221106092,"duration":8016,"tags":{},"startTime":1691876703710},{"traceId":"f3118a7bad57c10e","parentId":5802,"name":"build-module-tsx","id":5811,"timestamp":9221105740,"duration":18766,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876703710},{"traceId":"f3118a7bad57c10e","parentId":5814,"name":"read-resource","id":5815,"timestamp":9221107229,"duration":17453,"tags":{},"startTime":1691876703712},{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5807,"timestamp":9221050897,"duration":119346,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5816,"name":"postcss-process","id":5817,"timestamp":9221124767,"duration":121419,"tags":{},"startTime":1691876703729},{"traceId":"f3118a7bad57c10e","parentId":5814,"name":"postcss-loader","id":5816,"timestamp":9221124728,"duration":122266,"tags":{},"startTime":1691876703729},{"traceId":"f3118a7bad57c10e","parentId":5814,"name":"css-loader","id":5818,"timestamp":9221247027,"duration":25392,"tags":{"astUsed":"true"},"startTime":1691876703851},{"traceId":"f3118a7bad57c10e","parentId":5802,"name":"build-module-css","id":5814,"timestamp":9221107025,"duration":175373,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876703711},{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5805,"timestamp":9221050869,"duration":235307,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5809,"timestamp":9221050916,"duration":248801,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5803,"name":"add-entry","id":5806,"timestamp":9221050886,"duration":724492,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876703655},{"traceId":"f3118a7bad57c10e","parentId":5802,"name":"make","id":5803,"timestamp":9221028917,"duration":746512,"tags":{},"startTime":1691876703633},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"chunk-graph","id":5820,"timestamp":9221832535,"duration":86322,"tags":{},"startTime":1691876704437},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"optimize-modules","id":5822,"timestamp":9221918905,"duration":14,"tags":{},"startTime":1691876704523},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"optimize-chunks","id":5823,"timestamp":9221918942,"duration":452,"tags":{},"startTime":1691876704523},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"optimize-tree","id":5824,"timestamp":9221919442,"duration":1735,"tags":{},"startTime":1691876704524},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"optimize-chunk-modules","id":5825,"timestamp":9221921320,"duration":28,"tags":{},"startTime":1691876704526},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"optimize","id":5821,"timestamp":9221918885,"duration":4763,"tags":{},"startTime":1691876704523},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"module-hash","id":5826,"timestamp":9221994847,"duration":1931,"tags":{},"startTime":1691876704599},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"code-generation","id":5827,"timestamp":9221996806,"duration":54499,"tags":{},"startTime":1691876704601},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"hash","id":5828,"timestamp":9222058537,"duration":28704,"tags":{},"startTime":1691876704663},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"code-generation-jobs","id":5829,"timestamp":9222087239,"duration":238,"tags":{},"startTime":1691876704692},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"module-assets","id":5830,"timestamp":9222087438,"duration":394,"tags":{},"startTime":1691876704692},{"traceId":"f3118a7bad57c10e","parentId":5819,"name":"create-chunk-assets","id":5831,"timestamp":9222087849,"duration":5769,"tags":{},"startTime":1691876704692},{"traceId":"f3118a7bad57c10e","parentId":5802,"name":"NextJsBuildManifest-generateClientManifest","id":5833,"timestamp":9222099159,"duration":2804,"tags":{},"startTime":1691876704704},{"traceId":"f3118a7bad57c10e","parentId":5802,"name":"NextJsBuildManifest-createassets","id":5832,"timestamp":9222098388,"duration":3770,"tags":{},"startTime":1691876704703},{"traceId":"f3118a7bad57c10e","parentId":5802,"name":"seal","id":5819,"timestamp":9221783991,"duration":357633,"tags":{},"startTime":1691876704388},{"traceId":"f3118a7bad57c10e","parentId":5800,"name":"webpack-compilation","id":5802,"timestamp":9221028439,"duration":1113249,"tags":{"name":"client"},"startTime":1691876703633},{"traceId":"f3118a7bad57c10e","parentId":5800,"name":"emit","id":5834,"timestamp":9222141735,"duration":87381,"tags":{},"startTime":1691876704746},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5800,"timestamp":9221018158,"duration":1225959,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876703623},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5837,"timestamp":9222283845,"duration":0,"tags":{},"startTime":1691876704888},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5843,"timestamp":1691876703624000,"duration":1330000,"tags":{"clientId":1691872020568},"startTime":1691876704985},{"traceId":"f3118a7bad57c10e","parentId":5836,"name":"add-entry","id":5838,"timestamp":9222290973,"duration":127374,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876704895},{"traceId":"f3118a7bad57c10e","parentId":5836,"name":"add-entry","id":5839,"timestamp":9222291052,"duration":127307,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876704895},{"traceId":"f3118a7bad57c10e","parentId":5836,"name":"add-entry","id":5840,"timestamp":9222291064,"duration":127298,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876704895},{"traceId":"f3118a7bad57c10e","parentId":5836,"name":"add-entry","id":5842,"timestamp":9222291083,"duration":127282,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876704896},{"traceId":"f3118a7bad57c10e","parentId":5845,"name":"next-swc-transform","id":5846,"timestamp":9222413104,"duration":22892,"tags":{},"startTime":1691876705018},{"traceId":"f3118a7bad57c10e","parentId":5844,"name":"next-swc-loader","id":5845,"timestamp":9222411692,"duration":24313,"tags":{},"startTime":1691876705016},{"traceId":"f3118a7bad57c10e","parentId":5835,"name":"build-module-tsx","id":5844,"timestamp":9222411384,"duration":49771,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876705016},{"traceId":"f3118a7bad57c10e","parentId":5836,"name":"add-entry","id":5841,"timestamp":9222291074,"duration":187419,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876704896},{"traceId":"f3118a7bad57c10e","parentId":5835,"name":"make","id":5836,"timestamp":9222246301,"duration":232234,"tags":{},"startTime":1691876704851},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"chunk-graph","id":5848,"timestamp":9222480237,"duration":498,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"optimize-modules","id":5850,"timestamp":9222480778,"duration":5,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"optimize-chunks","id":5851,"timestamp":9222480808,"duration":44,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"optimize-tree","id":5852,"timestamp":9222480887,"duration":8,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"optimize-chunk-modules","id":5853,"timestamp":9222480920,"duration":10,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"optimize","id":5849,"timestamp":9222480761,"duration":280,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"module-hash","id":5854,"timestamp":9222481742,"duration":293,"tags":{},"startTime":1691876705086},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"code-generation","id":5855,"timestamp":9222482062,"duration":1474,"tags":{},"startTime":1691876705087},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"hash","id":5856,"timestamp":9222490527,"duration":2535,"tags":{},"startTime":1691876705095},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"code-generation-jobs","id":5857,"timestamp":9222493060,"duration":135,"tags":{},"startTime":1691876705098},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"module-assets","id":5858,"timestamp":9222493179,"duration":42,"tags":{},"startTime":1691876705098},{"traceId":"f3118a7bad57c10e","parentId":5847,"name":"create-chunk-assets","id":5859,"timestamp":9222493232,"duration":1377,"tags":{},"startTime":1691876705098},{"traceId":"f3118a7bad57c10e","parentId":5835,"name":"seal","id":5847,"timestamp":9222480083,"duration":18967,"tags":{},"startTime":1691876705085},{"traceId":"f3118a7bad57c10e","parentId":5801,"name":"webpack-compilation","id":5835,"timestamp":9222245860,"duration":253233,"tags":{"name":"server"},"startTime":1691876704850},{"traceId":"f3118a7bad57c10e","parentId":5801,"name":"emit","id":5860,"timestamp":9222499123,"duration":28547,"tags":{},"startTime":1691876705104},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5801,"timestamp":9221018718,"duration":1522707,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876703623}] -[{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5865,"timestamp":9322257112,"duration":51736,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5869,"timestamp":9322257375,"duration":60222,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5870,"timestamp":9322257387,"duration":60224,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5868,"timestamp":9322257368,"duration":63915,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5875,"name":"read-resource","id":5876,"timestamp":9322316589,"duration":5206,"tags":{},"startTime":1691876804924},{"traceId":"f3118a7bad57c10e","parentId":5873,"name":"next-swc-transform","id":5874,"timestamp":9322311104,"duration":35783,"tags":{},"startTime":1691876804919},{"traceId":"f3118a7bad57c10e","parentId":5872,"name":"next-swc-loader","id":5873,"timestamp":9322310839,"duration":36054,"tags":{},"startTime":1691876804918},{"traceId":"f3118a7bad57c10e","parentId":5863,"name":"build-module-tsx","id":5872,"timestamp":9322310362,"duration":46879,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876804918},{"traceId":"f3118a7bad57c10e","parentId":5877,"name":"postcss-process","id":5878,"timestamp":9322321932,"duration":142222,"tags":{},"startTime":1691876804929},{"traceId":"f3118a7bad57c10e","parentId":5875,"name":"postcss-loader","id":5877,"timestamp":9322321901,"duration":143089,"tags":{},"startTime":1691876804929},{"traceId":"f3118a7bad57c10e","parentId":5875,"name":"css-loader","id":5879,"timestamp":9322465021,"duration":25842,"tags":{"astUsed":"true"},"startTime":1691876805072},{"traceId":"f3118a7bad57c10e","parentId":5863,"name":"build-module-css","id":5875,"timestamp":9322316256,"duration":184369,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876804924},{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5866,"timestamp":9322257339,"duration":244966,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5871,"timestamp":9322257396,"duration":261209,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5864,"name":"add-entry","id":5867,"timestamp":9322257355,"duration":627094,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876804865},{"traceId":"f3118a7bad57c10e","parentId":5863,"name":"make","id":5864,"timestamp":9322252521,"duration":631961,"tags":{},"startTime":1691876804860},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"chunk-graph","id":5881,"timestamp":9322900039,"duration":33446,"tags":{},"startTime":1691876805507},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"optimize-modules","id":5883,"timestamp":9322933621,"duration":47,"tags":{},"startTime":1691876805541},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"optimize-chunks","id":5884,"timestamp":9322933771,"duration":285,"tags":{},"startTime":1691876805541},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"optimize-tree","id":5885,"timestamp":9322934143,"duration":49,"tags":{},"startTime":1691876805542},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"optimize-chunk-modules","id":5886,"timestamp":9322934287,"duration":50,"tags":{},"startTime":1691876805542},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"optimize","id":5882,"timestamp":9322933554,"duration":4951,"tags":{},"startTime":1691876805541},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"module-hash","id":5887,"timestamp":9322957175,"duration":3279,"tags":{},"startTime":1691876805565},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"code-generation","id":5888,"timestamp":9322960498,"duration":55571,"tags":{},"startTime":1691876805568},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"hash","id":5889,"timestamp":9323029164,"duration":26058,"tags":{},"startTime":1691876805637},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"code-generation-jobs","id":5890,"timestamp":9323055220,"duration":261,"tags":{},"startTime":1691876805663},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"module-assets","id":5891,"timestamp":9323055453,"duration":387,"tags":{},"startTime":1691876805663},{"traceId":"f3118a7bad57c10e","parentId":5880,"name":"create-chunk-assets","id":5892,"timestamp":9323055853,"duration":5964,"tags":{},"startTime":1691876805663},{"traceId":"f3118a7bad57c10e","parentId":5863,"name":"NextJsBuildManifest-generateClientManifest","id":5894,"timestamp":9323066047,"duration":146,"tags":{},"startTime":1691876805674},{"traceId":"f3118a7bad57c10e","parentId":5863,"name":"NextJsBuildManifest-createassets","id":5893,"timestamp":9323065934,"duration":268,"tags":{},"startTime":1691876805673},{"traceId":"f3118a7bad57c10e","parentId":5863,"name":"seal","id":5880,"timestamp":9322891189,"duration":183703,"tags":{},"startTime":1691876805499},{"traceId":"f3118a7bad57c10e","parentId":5861,"name":"webpack-compilation","id":5863,"timestamp":9322251510,"duration":823437,"tags":{"name":"client"},"startTime":1691876804859},{"traceId":"f3118a7bad57c10e","parentId":5861,"name":"emit","id":5895,"timestamp":9323075073,"duration":23367,"tags":{},"startTime":1691876805683},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5861,"timestamp":9322236961,"duration":872200,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876804844},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5898,"timestamp":9323119919,"duration":0,"tags":{},"startTime":1691876805727},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5904,"timestamp":1691876804846000,"duration":982000,"tags":{"clientId":1691872020568},"startTime":1691876805841},{"traceId":"f3118a7bad57c10e","parentId":5897,"name":"add-entry","id":5899,"timestamp":9323129731,"duration":244877,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876805737},{"traceId":"f3118a7bad57c10e","parentId":5897,"name":"add-entry","id":5900,"timestamp":9323129814,"duration":244806,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876805737},{"traceId":"f3118a7bad57c10e","parentId":5897,"name":"add-entry","id":5901,"timestamp":9323129826,"duration":244796,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876805737},{"traceId":"f3118a7bad57c10e","parentId":5897,"name":"add-entry","id":5903,"timestamp":9323129839,"duration":244786,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876805737},{"traceId":"f3118a7bad57c10e","parentId":5906,"name":"next-swc-transform","id":5907,"timestamp":9323369266,"duration":23867,"tags":{},"startTime":1691876805977},{"traceId":"f3118a7bad57c10e","parentId":5905,"name":"next-swc-loader","id":5906,"timestamp":9323359652,"duration":33493,"tags":{},"startTime":1691876805967},{"traceId":"f3118a7bad57c10e","parentId":5896,"name":"build-module-tsx","id":5905,"timestamp":9323358841,"duration":41132,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876805966},{"traceId":"f3118a7bad57c10e","parentId":5897,"name":"add-entry","id":5902,"timestamp":9323129832,"duration":270738,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876805737},{"traceId":"f3118a7bad57c10e","parentId":5896,"name":"make","id":5897,"timestamp":9323111395,"duration":289208,"tags":{},"startTime":1691876805719},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"chunk-graph","id":5909,"timestamp":9323401213,"duration":455,"tags":{},"startTime":1691876806009},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"optimize-modules","id":5911,"timestamp":9323401700,"duration":5,"tags":{},"startTime":1691876806009},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"optimize-chunks","id":5912,"timestamp":9323401826,"duration":75,"tags":{},"startTime":1691876806009},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"optimize-tree","id":5913,"timestamp":9323401980,"duration":9,"tags":{},"startTime":1691876806009},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"optimize-chunk-modules","id":5914,"timestamp":9323402078,"duration":9,"tags":{},"startTime":1691876806010},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"optimize","id":5910,"timestamp":9323401688,"duration":577,"tags":{},"startTime":1691876806009},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"module-hash","id":5915,"timestamp":9323404973,"duration":204,"tags":{},"startTime":1691876806012},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"code-generation","id":5916,"timestamp":9323405196,"duration":642,"tags":{},"startTime":1691876806013},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"hash","id":5917,"timestamp":9323407093,"duration":1749,"tags":{},"startTime":1691876806015},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"code-generation-jobs","id":5918,"timestamp":9323408841,"duration":157,"tags":{},"startTime":1691876806016},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"module-assets","id":5919,"timestamp":9323408983,"duration":41,"tags":{},"startTime":1691876806016},{"traceId":"f3118a7bad57c10e","parentId":5908,"name":"create-chunk-assets","id":5920,"timestamp":9323409031,"duration":3062,"tags":{},"startTime":1691876806016},{"traceId":"f3118a7bad57c10e","parentId":5896,"name":"seal","id":5908,"timestamp":9323401108,"duration":11739,"tags":{},"startTime":1691876806009},{"traceId":"f3118a7bad57c10e","parentId":5862,"name":"webpack-compilation","id":5896,"timestamp":9323110845,"duration":302043,"tags":{"name":"server"},"startTime":1691876805718},{"traceId":"f3118a7bad57c10e","parentId":5862,"name":"emit","id":5921,"timestamp":9323412918,"duration":6344,"tags":{},"startTime":1691876806020},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5862,"timestamp":9322237357,"duration":1183442,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876804845}] -[{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5926,"timestamp":9336335457,"duration":9116,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5930,"timestamp":9336335548,"duration":11368,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5932,"timestamp":9336335562,"duration":11362,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5936,"name":"read-resource","id":5937,"timestamp":9336346600,"duration":969,"tags":{},"startTime":1691876818954},{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5929,"timestamp":9336335542,"duration":39519,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5934,"name":"next-swc-transform","id":5935,"timestamp":9336345742,"duration":29668,"tags":{},"startTime":1691876818954},{"traceId":"f3118a7bad57c10e","parentId":5933,"name":"next-swc-loader","id":5934,"timestamp":9336345622,"duration":29792,"tags":{},"startTime":1691876818953},{"traceId":"f3118a7bad57c10e","parentId":5924,"name":"build-module-tsx","id":5933,"timestamp":9336345227,"duration":45421,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876818953},{"traceId":"f3118a7bad57c10e","parentId":5938,"name":"postcss-process","id":5939,"timestamp":9336347644,"duration":258070,"tags":{},"startTime":1691876818956},{"traceId":"f3118a7bad57c10e","parentId":5936,"name":"postcss-loader","id":5938,"timestamp":9336347609,"duration":258803,"tags":{},"startTime":1691876818955},{"traceId":"f3118a7bad57c10e","parentId":5936,"name":"css-loader","id":5940,"timestamp":9336606456,"duration":24181,"tags":{"astUsed":"true"},"startTime":1691876819214},{"traceId":"f3118a7bad57c10e","parentId":5924,"name":"build-module-css","id":5936,"timestamp":9336346297,"duration":294203,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876818954},{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5927,"timestamp":9336335525,"duration":310404,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5931,"timestamp":9336335556,"duration":323797,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5925,"name":"add-entry","id":5928,"timestamp":9336335535,"duration":384346,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876818943},{"traceId":"f3118a7bad57c10e","parentId":5924,"name":"make","id":5925,"timestamp":9336333999,"duration":385922,"tags":{},"startTime":1691876818942},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"chunk-graph","id":5942,"timestamp":9336724936,"duration":6732,"tags":{},"startTime":1691876819333},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"optimize-modules","id":5944,"timestamp":9336731706,"duration":6,"tags":{},"startTime":1691876819340},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"optimize-chunks","id":5945,"timestamp":9336731729,"duration":310,"tags":{},"startTime":1691876819340},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"optimize-tree","id":5946,"timestamp":9336732070,"duration":9,"tags":{},"startTime":1691876819340},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"optimize-chunk-modules","id":5947,"timestamp":9336732106,"duration":6,"tags":{},"startTime":1691876819340},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"optimize","id":5943,"timestamp":9336731693,"duration":1728,"tags":{},"startTime":1691876819340},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"module-hash","id":5948,"timestamp":9336754449,"duration":2486,"tags":{},"startTime":1691876819362},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"code-generation","id":5949,"timestamp":9336757138,"duration":67798,"tags":{},"startTime":1691876819365},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"hash","id":5950,"timestamp":9336842043,"duration":34862,"tags":{},"startTime":1691876819450},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"code-generation-jobs","id":5951,"timestamp":9336876901,"duration":892,"tags":{},"startTime":1691876819485},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"module-assets","id":5952,"timestamp":9336877751,"duration":470,"tags":{},"startTime":1691876819486},{"traceId":"f3118a7bad57c10e","parentId":5941,"name":"create-chunk-assets","id":5953,"timestamp":9336878241,"duration":28337,"tags":{},"startTime":1691876819486},{"traceId":"f3118a7bad57c10e","parentId":5924,"name":"NextJsBuildManifest-generateClientManifest","id":5955,"timestamp":9336910214,"duration":103,"tags":{},"startTime":1691876819518},{"traceId":"f3118a7bad57c10e","parentId":5924,"name":"NextJsBuildManifest-createassets","id":5954,"timestamp":9336910118,"duration":206,"tags":{},"startTime":1691876819518},{"traceId":"f3118a7bad57c10e","parentId":5924,"name":"seal","id":5941,"timestamp":9336721501,"duration":194498,"tags":{},"startTime":1691876819329},{"traceId":"f3118a7bad57c10e","parentId":5922,"name":"webpack-compilation","id":5924,"timestamp":9336333638,"duration":582607,"tags":{"name":"client"},"startTime":1691876818941},{"traceId":"f3118a7bad57c10e","parentId":5922,"name":"emit","id":5956,"timestamp":9336916284,"duration":50820,"tags":{},"startTime":1691876819524},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5922,"timestamp":9336326614,"duration":641406,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876818934},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":5959,"timestamp":9336990418,"duration":0,"tags":{},"startTime":1691876819598},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":5965,"timestamp":1691876818935000,"duration":731000,"tags":{"clientId":1691872020568},"startTime":1691876819757},{"traceId":"f3118a7bad57c10e","parentId":5958,"name":"add-entry","id":5960,"timestamp":9336992658,"duration":166112,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876819601},{"traceId":"f3118a7bad57c10e","parentId":5958,"name":"add-entry","id":5961,"timestamp":9336992757,"duration":166023,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876819601},{"traceId":"f3118a7bad57c10e","parentId":5958,"name":"add-entry","id":5962,"timestamp":9336992846,"duration":165936,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876819601},{"traceId":"f3118a7bad57c10e","parentId":5958,"name":"add-entry","id":5964,"timestamp":9336992869,"duration":165916,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876819601},{"traceId":"f3118a7bad57c10e","parentId":5967,"name":"next-swc-transform","id":5968,"timestamp":9337156326,"duration":17650,"tags":{},"startTime":1691876819764},{"traceId":"f3118a7bad57c10e","parentId":5966,"name":"next-swc-loader","id":5967,"timestamp":9337156205,"duration":17779,"tags":{},"startTime":1691876819764},{"traceId":"f3118a7bad57c10e","parentId":5957,"name":"build-module-tsx","id":5966,"timestamp":9337155704,"duration":24006,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876819764},{"traceId":"f3118a7bad57c10e","parentId":5958,"name":"add-entry","id":5963,"timestamp":9336992859,"duration":188636,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876819601},{"traceId":"f3118a7bad57c10e","parentId":5957,"name":"make","id":5958,"timestamp":9336977655,"duration":203874,"tags":{},"startTime":1691876819586},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"chunk-graph","id":5970,"timestamp":9337181955,"duration":341,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"optimize-modules","id":5972,"timestamp":9337182320,"duration":5,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"optimize-chunks","id":5973,"timestamp":9337182341,"duration":25,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"optimize-tree","id":5974,"timestamp":9337182390,"duration":6,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"optimize-chunk-modules","id":5975,"timestamp":9337182413,"duration":5,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"optimize","id":5971,"timestamp":9337182311,"duration":233,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"module-hash","id":5976,"timestamp":9337182818,"duration":180,"tags":{},"startTime":1691876819791},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"code-generation","id":5977,"timestamp":9337183012,"duration":474,"tags":{},"startTime":1691876819791},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"hash","id":5978,"timestamp":9337186613,"duration":2546,"tags":{},"startTime":1691876819794},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"code-generation-jobs","id":5979,"timestamp":9337189154,"duration":141,"tags":{},"startTime":1691876819797},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"module-assets","id":5980,"timestamp":9337189281,"duration":41,"tags":{},"startTime":1691876819797},{"traceId":"f3118a7bad57c10e","parentId":5969,"name":"create-chunk-assets","id":5981,"timestamp":9337189329,"duration":997,"tags":{},"startTime":1691876819797},{"traceId":"f3118a7bad57c10e","parentId":5957,"name":"seal","id":5969,"timestamp":9337181858,"duration":8901,"tags":{},"startTime":1691876819790},{"traceId":"f3118a7bad57c10e","parentId":5923,"name":"webpack-compilation","id":5957,"timestamp":9336977249,"duration":213563,"tags":{"name":"server"},"startTime":1691876819585},{"traceId":"f3118a7bad57c10e","parentId":5923,"name":"emit","id":5982,"timestamp":9337190833,"duration":7639,"tags":{},"startTime":1691876819799},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5923,"timestamp":9336326971,"duration":872293,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876818935}] -[{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5987,"timestamp":9347236972,"duration":8048,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5991,"timestamp":9347237089,"duration":12034,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5993,"timestamp":9347237102,"duration":12034,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5997,"name":"read-resource","id":5998,"timestamp":9347247771,"duration":2095,"tags":{},"startTime":1691876829856},{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5990,"timestamp":9347237082,"duration":22254,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5999,"name":"postcss-process","id":6000,"timestamp":9347249938,"duration":93581,"tags":{},"startTime":1691876829858},{"traceId":"f3118a7bad57c10e","parentId":5997,"name":"postcss-loader","id":5999,"timestamp":9347249912,"duration":93990,"tags":{},"startTime":1691876829858},{"traceId":"f3118a7bad57c10e","parentId":5997,"name":"css-loader","id":6001,"timestamp":9347343935,"duration":15466,"tags":{"astUsed":"true"},"startTime":1691876829952},{"traceId":"f3118a7bad57c10e","parentId":5985,"name":"build-module-css","id":5997,"timestamp":9347247487,"duration":113796,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876829856},{"traceId":"f3118a7bad57c10e","parentId":5995,"name":"next-swc-transform","id":5996,"timestamp":9347246818,"duration":181298,"tags":{},"startTime":1691876829855},{"traceId":"f3118a7bad57c10e","parentId":5994,"name":"next-swc-loader","id":5995,"timestamp":9347246706,"duration":181418,"tags":{},"startTime":1691876829855},{"traceId":"f3118a7bad57c10e","parentId":5985,"name":"build-module-tsx","id":5994,"timestamp":9347246470,"duration":188408,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876829855},{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5988,"timestamp":9347237049,"duration":248727,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5992,"timestamp":9347237096,"duration":365383,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5986,"name":"add-entry","id":5989,"timestamp":9347237074,"duration":448046,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876829845},{"traceId":"f3118a7bad57c10e","parentId":5985,"name":"make","id":5986,"timestamp":9347224068,"duration":461082,"tags":{},"startTime":1691876829832},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"chunk-graph","id":6003,"timestamp":9347690280,"duration":15096,"tags":{},"startTime":1691876830298},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"optimize-modules","id":6005,"timestamp":9347705414,"duration":8,"tags":{},"startTime":1691876830314},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"optimize-chunks","id":6006,"timestamp":9347705440,"duration":194,"tags":{},"startTime":1691876830314},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"optimize-tree","id":6007,"timestamp":9347705663,"duration":9,"tags":{},"startTime":1691876830314},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"optimize-chunk-modules","id":6008,"timestamp":9347705702,"duration":6,"tags":{},"startTime":1691876830314},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"optimize","id":6004,"timestamp":9347705401,"duration":2007,"tags":{},"startTime":1691876830314},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"module-hash","id":6009,"timestamp":9347720745,"duration":5660,"tags":{},"startTime":1691876830329},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"code-generation","id":6010,"timestamp":9347726437,"duration":9332,"tags":{},"startTime":1691876830335},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"hash","id":6011,"timestamp":9347753841,"duration":10417,"tags":{},"startTime":1691876830362},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"code-generation-jobs","id":6012,"timestamp":9347764256,"duration":200,"tags":{},"startTime":1691876830372},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"module-assets","id":6013,"timestamp":9347764424,"duration":362,"tags":{},"startTime":1691876830373},{"traceId":"f3118a7bad57c10e","parentId":6002,"name":"create-chunk-assets","id":6014,"timestamp":9347764799,"duration":1980,"tags":{},"startTime":1691876830373},{"traceId":"f3118a7bad57c10e","parentId":5985,"name":"NextJsBuildManifest-generateClientManifest","id":6016,"timestamp":9347772633,"duration":123,"tags":{},"startTime":1691876830381},{"traceId":"f3118a7bad57c10e","parentId":5985,"name":"NextJsBuildManifest-createassets","id":6015,"timestamp":9347770794,"duration":1971,"tags":{},"startTime":1691876830379},{"traceId":"f3118a7bad57c10e","parentId":5985,"name":"seal","id":6002,"timestamp":9347686649,"duration":93981,"tags":{},"startTime":1691876830295},{"traceId":"f3118a7bad57c10e","parentId":5983,"name":"webpack-compilation","id":5985,"timestamp":9347223368,"duration":557323,"tags":{"name":"client"},"startTime":1691876829832},{"traceId":"f3118a7bad57c10e","parentId":5983,"name":"emit","id":6017,"timestamp":9347780723,"duration":19016,"tags":{},"startTime":1691876830389},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":5983,"timestamp":9347212312,"duration":589454,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876829820},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6020,"timestamp":9347811494,"duration":0,"tags":{},"startTime":1691876830420},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6026,"timestamp":1691876829823000,"duration":654000,"tags":{"clientId":1691872020568},"startTime":1691876830492},{"traceId":"f3118a7bad57c10e","parentId":6028,"name":"next-swc-transform","id":6029,"timestamp":9347887476,"duration":3928,"tags":{},"startTime":1691876830496},{"traceId":"f3118a7bad57c10e","parentId":6027,"name":"next-swc-loader","id":6028,"timestamp":9347887319,"duration":4091,"tags":{},"startTime":1691876830496},{"traceId":"f3118a7bad57c10e","parentId":6018,"name":"build-module-tsx","id":6027,"timestamp":9347887056,"duration":5800,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876830495},{"traceId":"f3118a7bad57c10e","parentId":6019,"name":"add-entry","id":6021,"timestamp":9347820283,"duration":80217,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876830428},{"traceId":"f3118a7bad57c10e","parentId":6019,"name":"add-entry","id":6022,"timestamp":9347820361,"duration":80148,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876830429},{"traceId":"f3118a7bad57c10e","parentId":6019,"name":"add-entry","id":6023,"timestamp":9347820373,"duration":80139,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876830429},{"traceId":"f3118a7bad57c10e","parentId":6019,"name":"add-entry","id":6024,"timestamp":9347820379,"duration":80134,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876830429},{"traceId":"f3118a7bad57c10e","parentId":6019,"name":"add-entry","id":6025,"timestamp":9347820386,"duration":80345,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876830429},{"traceId":"f3118a7bad57c10e","parentId":6018,"name":"make","id":6019,"timestamp":9347804762,"duration":95990,"tags":{},"startTime":1691876830413},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"chunk-graph","id":6031,"timestamp":9347901105,"duration":335,"tags":{},"startTime":1691876830509},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"optimize-modules","id":6033,"timestamp":9347901460,"duration":5,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"optimize-chunks","id":6034,"timestamp":9347901478,"duration":23,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"optimize-tree","id":6035,"timestamp":9347901519,"duration":6,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"optimize-chunk-modules","id":6036,"timestamp":9347901541,"duration":5,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"optimize","id":6032,"timestamp":9347901452,"duration":170,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"module-hash","id":6037,"timestamp":9347901828,"duration":163,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"code-generation","id":6038,"timestamp":9347902003,"duration":489,"tags":{},"startTime":1691876830510},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"hash","id":6039,"timestamp":9347903427,"duration":4794,"tags":{},"startTime":1691876830512},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"code-generation-jobs","id":6040,"timestamp":9347908220,"duration":100,"tags":{},"startTime":1691876830516},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"module-assets","id":6041,"timestamp":9347908309,"duration":36,"tags":{},"startTime":1691876830517},{"traceId":"f3118a7bad57c10e","parentId":6030,"name":"create-chunk-assets","id":6042,"timestamp":9347908351,"duration":3351,"tags":{},"startTime":1691876830517},{"traceId":"f3118a7bad57c10e","parentId":6018,"name":"seal","id":6030,"timestamp":9347901017,"duration":11035,"tags":{},"startTime":1691876830509},{"traceId":"f3118a7bad57c10e","parentId":5984,"name":"webpack-compilation","id":6018,"timestamp":9347804161,"duration":107925,"tags":{"name":"server"},"startTime":1691876830412},{"traceId":"f3118a7bad57c10e","parentId":5984,"name":"emit","id":6043,"timestamp":9347912107,"duration":6916,"tags":{},"startTime":1691876830520},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":5984,"timestamp":9347213404,"duration":714092,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876829822}] -[{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6048,"timestamp":9351376091,"duration":10879,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876833984},{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6052,"timestamp":9351376185,"duration":14599,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876833984},{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6053,"timestamp":9351376194,"duration":14599,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876833985},{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6051,"timestamp":9351376180,"duration":21042,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876833984},{"traceId":"f3118a7bad57c10e","parentId":6056,"name":"next-swc-transform","id":6057,"timestamp":9351388279,"duration":9483,"tags":{},"startTime":1691876833997},{"traceId":"f3118a7bad57c10e","parentId":6055,"name":"next-swc-loader","id":6056,"timestamp":9351388145,"duration":9624,"tags":{},"startTime":1691876833996},{"traceId":"f3118a7bad57c10e","parentId":6046,"name":"build-module-tsx","id":6055,"timestamp":9351387790,"duration":13486,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876833996},{"traceId":"f3118a7bad57c10e","parentId":6058,"name":"read-resource","id":6059,"timestamp":9351389148,"duration":12945,"tags":{},"startTime":1691876833997},{"traceId":"f3118a7bad57c10e","parentId":6060,"name":"postcss-process","id":6061,"timestamp":9351402156,"duration":86701,"tags":{},"startTime":1691876834010},{"traceId":"f3118a7bad57c10e","parentId":6058,"name":"postcss-loader","id":6060,"timestamp":9351402132,"duration":87096,"tags":{},"startTime":1691876834010},{"traceId":"f3118a7bad57c10e","parentId":6058,"name":"css-loader","id":6062,"timestamp":9351489260,"duration":18346,"tags":{"astUsed":"true"},"startTime":1691876834098},{"traceId":"f3118a7bad57c10e","parentId":6046,"name":"build-module-css","id":6058,"timestamp":9351388861,"duration":120539,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876833997},{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6049,"timestamp":9351376163,"duration":134686,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876833984},{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6054,"timestamp":9351376199,"duration":142276,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876833985},{"traceId":"f3118a7bad57c10e","parentId":6047,"name":"add-entry","id":6050,"timestamp":9351376173,"duration":201917,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876833984},{"traceId":"f3118a7bad57c10e","parentId":6046,"name":"make","id":6047,"timestamp":9351372000,"duration":206123,"tags":{},"startTime":1691876833980},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"chunk-graph","id":6064,"timestamp":9351582957,"duration":12560,"tags":{},"startTime":1691876834191},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"optimize-modules","id":6066,"timestamp":9351595560,"duration":8,"tags":{},"startTime":1691876834204},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"optimize-chunks","id":6067,"timestamp":9351595586,"duration":204,"tags":{},"startTime":1691876834204},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"optimize-tree","id":6068,"timestamp":9351595821,"duration":8,"tags":{},"startTime":1691876834204},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"optimize-chunk-modules","id":6069,"timestamp":9351595860,"duration":6,"tags":{},"startTime":1691876834204},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"optimize","id":6065,"timestamp":9351595546,"duration":1653,"tags":{},"startTime":1691876834204},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"module-hash","id":6070,"timestamp":9351602488,"duration":1727,"tags":{},"startTime":1691876834211},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"code-generation","id":6071,"timestamp":9351604239,"duration":5440,"tags":{},"startTime":1691876834213},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"hash","id":6072,"timestamp":9351614609,"duration":8943,"tags":{},"startTime":1691876834223},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"code-generation-jobs","id":6073,"timestamp":9351623550,"duration":183,"tags":{},"startTime":1691876834232},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"module-assets","id":6074,"timestamp":9351623705,"duration":377,"tags":{},"startTime":1691876834232},{"traceId":"f3118a7bad57c10e","parentId":6063,"name":"create-chunk-assets","id":6075,"timestamp":9351624092,"duration":7111,"tags":{},"startTime":1691876834232},{"traceId":"f3118a7bad57c10e","parentId":6046,"name":"NextJsBuildManifest-generateClientManifest","id":6077,"timestamp":9351634500,"duration":100,"tags":{},"startTime":1691876834243},{"traceId":"f3118a7bad57c10e","parentId":6046,"name":"NextJsBuildManifest-createassets","id":6076,"timestamp":9351634354,"duration":254,"tags":{},"startTime":1691876834243},{"traceId":"f3118a7bad57c10e","parentId":6046,"name":"seal","id":6063,"timestamp":9351579734,"duration":58821,"tags":{},"startTime":1691876834188},{"traceId":"f3118a7bad57c10e","parentId":6044,"name":"webpack-compilation","id":6046,"timestamp":9351371538,"duration":267066,"tags":{"name":"client"},"startTime":1691876833980},{"traceId":"f3118a7bad57c10e","parentId":6044,"name":"emit","id":6078,"timestamp":9351638630,"duration":464695,"tags":{},"startTime":1691876834247},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6044,"timestamp":9351359199,"duration":745303,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876833968},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6081,"timestamp":9352159197,"duration":0,"tags":{},"startTime":1691876834768},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6087,"timestamp":1691876833969000,"duration":859000,"tags":{"clientId":1691872020568},"startTime":1691876834845},{"traceId":"f3118a7bad57c10e","parentId":6080,"name":"add-entry","id":6082,"timestamp":9352193970,"duration":59063,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876834802},{"traceId":"f3118a7bad57c10e","parentId":6080,"name":"add-entry","id":6083,"timestamp":9352194052,"duration":58995,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876834802},{"traceId":"f3118a7bad57c10e","parentId":6080,"name":"add-entry","id":6084,"timestamp":9352194065,"duration":58986,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876834802},{"traceId":"f3118a7bad57c10e","parentId":6080,"name":"add-entry","id":6086,"timestamp":9352194078,"duration":58976,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876834802},{"traceId":"f3118a7bad57c10e","parentId":6089,"name":"next-swc-transform","id":6090,"timestamp":9352244257,"duration":14098,"tags":{},"startTime":1691876834853},{"traceId":"f3118a7bad57c10e","parentId":6088,"name":"next-swc-loader","id":6089,"timestamp":9352244038,"duration":14326,"tags":{},"startTime":1691876834852},{"traceId":"f3118a7bad57c10e","parentId":6079,"name":"build-module-tsx","id":6088,"timestamp":9352243735,"duration":23964,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876834852},{"traceId":"f3118a7bad57c10e","parentId":6080,"name":"add-entry","id":6085,"timestamp":9352194071,"duration":75756,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876834802},{"traceId":"f3118a7bad57c10e","parentId":6079,"name":"make","id":6080,"timestamp":9352143087,"duration":126777,"tags":{},"startTime":1691876834751},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"chunk-graph","id":6092,"timestamp":9352270338,"duration":583,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"optimize-modules","id":6094,"timestamp":9352270950,"duration":6,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"optimize-chunks","id":6095,"timestamp":9352270972,"duration":26,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"optimize-tree","id":6096,"timestamp":9352271022,"duration":7,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"optimize-chunk-modules","id":6097,"timestamp":9352271045,"duration":5,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"optimize","id":6093,"timestamp":9352270940,"duration":196,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"module-hash","id":6098,"timestamp":9352271405,"duration":210,"tags":{},"startTime":1691876834880},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"code-generation","id":6099,"timestamp":9352271630,"duration":4181,"tags":{},"startTime":1691876834880},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"hash","id":6100,"timestamp":9352276935,"duration":1372,"tags":{},"startTime":1691876834885},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"code-generation-jobs","id":6101,"timestamp":9352278306,"duration":107,"tags":{},"startTime":1691876834887},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"module-assets","id":6102,"timestamp":9352278400,"duration":1743,"tags":{},"startTime":1691876834887},{"traceId":"f3118a7bad57c10e","parentId":6091,"name":"create-chunk-assets","id":6103,"timestamp":9352280265,"duration":4980,"tags":{},"startTime":1691876834889},{"traceId":"f3118a7bad57c10e","parentId":6079,"name":"seal","id":6091,"timestamp":9352270231,"duration":15321,"tags":{},"startTime":1691876834879},{"traceId":"f3118a7bad57c10e","parentId":6045,"name":"webpack-compilation","id":6079,"timestamp":9352142686,"duration":142898,"tags":{"name":"server"},"startTime":1691876834751},{"traceId":"f3118a7bad57c10e","parentId":6045,"name":"emit","id":6104,"timestamp":9352285604,"duration":7474,"tags":{},"startTime":1691876834894},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6045,"timestamp":9351359753,"duration":934308,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876833968}] -[{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6109,"timestamp":9392003195,"duration":21947,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6113,"timestamp":9392003350,"duration":27035,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6115,"timestamp":9392003368,"duration":27031,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6112,"timestamp":9392003341,"duration":28190,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6119,"name":"read-resource","id":6120,"timestamp":9392030110,"duration":2055,"tags":{},"startTime":1691876874640},{"traceId":"f3118a7bad57c10e","parentId":6117,"name":"next-swc-transform","id":6118,"timestamp":9392028023,"duration":23518,"tags":{},"startTime":1691876874638},{"traceId":"f3118a7bad57c10e","parentId":6116,"name":"next-swc-loader","id":6117,"timestamp":9392027789,"duration":23761,"tags":{},"startTime":1691876874637},{"traceId":"f3118a7bad57c10e","parentId":6107,"name":"build-module-tsx","id":6116,"timestamp":9392027432,"duration":36150,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876874637},{"traceId":"f3118a7bad57c10e","parentId":6121,"name":"postcss-process","id":6122,"timestamp":9392032249,"duration":167922,"tags":{},"startTime":1691876874642},{"traceId":"f3118a7bad57c10e","parentId":6119,"name":"postcss-loader","id":6121,"timestamp":9392032212,"duration":179286,"tags":{},"startTime":1691876874642},{"traceId":"f3118a7bad57c10e","parentId":6119,"name":"css-loader","id":6123,"timestamp":9392211539,"duration":203865,"tags":{"astUsed":"true"},"startTime":1691876874821},{"traceId":"f3118a7bad57c10e","parentId":6107,"name":"build-module-css","id":6119,"timestamp":9392029908,"duration":406401,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876874639},{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6110,"timestamp":9392003317,"duration":434085,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6114,"timestamp":9392003359,"duration":504835,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6108,"name":"add-entry","id":6111,"timestamp":9392003330,"duration":795603,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876874613},{"traceId":"f3118a7bad57c10e","parentId":6107,"name":"make","id":6108,"timestamp":9392000610,"duration":798365,"tags":{},"startTime":1691876874610},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"chunk-graph","id":6125,"timestamp":9392806791,"duration":19204,"tags":{},"startTime":1691876875416},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"optimize-modules","id":6127,"timestamp":9392826035,"duration":8,"tags":{},"startTime":1691876875436},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"optimize-chunks","id":6128,"timestamp":9392826062,"duration":209,"tags":{},"startTime":1691876875436},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"optimize-tree","id":6129,"timestamp":9392826300,"duration":9,"tags":{},"startTime":1691876875436},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"optimize-chunk-modules","id":6130,"timestamp":9392826338,"duration":9,"tags":{},"startTime":1691876875436},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"optimize","id":6126,"timestamp":9392826020,"duration":2178,"tags":{},"startTime":1691876875436},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"module-hash","id":6131,"timestamp":9392847200,"duration":12519,"tags":{},"startTime":1691876875457},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"code-generation","id":6132,"timestamp":9392859751,"duration":18774,"tags":{},"startTime":1691876875469},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"hash","id":6133,"timestamp":9392888034,"duration":114817,"tags":{},"startTime":1691876875498},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"code-generation-jobs","id":6134,"timestamp":9393002846,"duration":756,"tags":{},"startTime":1691876875612},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"module-assets","id":6135,"timestamp":9393003556,"duration":415,"tags":{},"startTime":1691876875613},{"traceId":"f3118a7bad57c10e","parentId":6124,"name":"create-chunk-assets","id":6136,"timestamp":9393003989,"duration":34541,"tags":{},"startTime":1691876875614},{"traceId":"f3118a7bad57c10e","parentId":6107,"name":"NextJsBuildManifest-generateClientManifest","id":6138,"timestamp":9393044072,"duration":150,"tags":{},"startTime":1691876875654},{"traceId":"f3118a7bad57c10e","parentId":6107,"name":"NextJsBuildManifest-createassets","id":6137,"timestamp":9393043798,"duration":433,"tags":{},"startTime":1691876875653},{"traceId":"f3118a7bad57c10e","parentId":6107,"name":"seal","id":6124,"timestamp":9392802348,"duration":245952,"tags":{},"startTime":1691876875412},{"traceId":"f3118a7bad57c10e","parentId":6105,"name":"webpack-compilation","id":6107,"timestamp":9392000144,"duration":1048219,"tags":{"name":"client"},"startTime":1691876874610},{"traceId":"f3118a7bad57c10e","parentId":6105,"name":"emit","id":6139,"timestamp":9393048404,"duration":61329,"tags":{},"startTime":1691876875658},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6105,"timestamp":9391991385,"duration":1122191,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876874601},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6142,"timestamp":9393137697,"duration":0,"tags":{},"startTime":1691876875747},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6148,"timestamp":1691876874601000,"duration":1207000,"tags":{"clientId":1691872020568},"startTime":1691876875814},{"traceId":"f3118a7bad57c10e","parentId":6150,"name":"next-swc-transform","id":6151,"timestamp":9393218598,"duration":5352,"tags":{},"startTime":1691876875828},{"traceId":"f3118a7bad57c10e","parentId":6149,"name":"next-swc-loader","id":6150,"timestamp":9393218349,"duration":5609,"tags":{},"startTime":1691876875828},{"traceId":"f3118a7bad57c10e","parentId":6140,"name":"build-module-tsx","id":6149,"timestamp":9393216925,"duration":21790,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876875826},{"traceId":"f3118a7bad57c10e","parentId":6141,"name":"add-entry","id":6143,"timestamp":9393142542,"duration":97907,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876875752},{"traceId":"f3118a7bad57c10e","parentId":6141,"name":"add-entry","id":6144,"timestamp":9393142637,"duration":97823,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876875752},{"traceId":"f3118a7bad57c10e","parentId":6141,"name":"add-entry","id":6145,"timestamp":9393142662,"duration":97800,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876875752},{"traceId":"f3118a7bad57c10e","parentId":6141,"name":"add-entry","id":6147,"timestamp":9393142690,"duration":97774,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876875752},{"traceId":"f3118a7bad57c10e","parentId":6141,"name":"add-entry","id":6146,"timestamp":9393142674,"duration":97841,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876875752},{"traceId":"f3118a7bad57c10e","parentId":6140,"name":"make","id":6141,"timestamp":9393119196,"duration":121347,"tags":{},"startTime":1691876875729},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"chunk-graph","id":6153,"timestamp":9393241016,"duration":7966,"tags":{},"startTime":1691876875851},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"optimize-modules","id":6155,"timestamp":9393249028,"duration":18,"tags":{},"startTime":1691876875859},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"optimize-chunks","id":6156,"timestamp":9393249068,"duration":40,"tags":{},"startTime":1691876875859},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"optimize-tree","id":6157,"timestamp":9393249143,"duration":12,"tags":{},"startTime":1691876875859},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"optimize-chunk-modules","id":6158,"timestamp":9393249178,"duration":6,"tags":{},"startTime":1691876875859},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"optimize","id":6154,"timestamp":9393249013,"duration":279,"tags":{},"startTime":1691876875859},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"module-hash","id":6159,"timestamp":9393249874,"duration":248,"tags":{},"startTime":1691876875859},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"code-generation","id":6160,"timestamp":9393250147,"duration":835,"tags":{},"startTime":1691876875860},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"hash","id":6161,"timestamp":9393252700,"duration":8710,"tags":{},"startTime":1691876875862},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"code-generation-jobs","id":6162,"timestamp":9393261409,"duration":192,"tags":{},"startTime":1691876875871},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"module-assets","id":6163,"timestamp":9393261583,"duration":43,"tags":{},"startTime":1691876875871},{"traceId":"f3118a7bad57c10e","parentId":6152,"name":"create-chunk-assets","id":6164,"timestamp":9393261632,"duration":10345,"tags":{},"startTime":1691876875871},{"traceId":"f3118a7bad57c10e","parentId":6140,"name":"seal","id":6152,"timestamp":9393240889,"duration":31461,"tags":{},"startTime":1691876875850},{"traceId":"f3118a7bad57c10e","parentId":6106,"name":"webpack-compilation","id":6140,"timestamp":9393115640,"duration":156750,"tags":{"name":"server"},"startTime":1691876875725},{"traceId":"f3118a7bad57c10e","parentId":6106,"name":"emit","id":6165,"timestamp":9393272422,"duration":16632,"tags":{},"startTime":1691876875882},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6106,"timestamp":9391991906,"duration":1298150,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876874601}] -[{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6170,"timestamp":9413066325,"duration":13846,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876895676},{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6174,"timestamp":9413066422,"duration":18218,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876895677},{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6176,"timestamp":9413066435,"duration":18215,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876895677},{"traceId":"f3118a7bad57c10e","parentId":6178,"name":"next-swc-transform","id":6179,"timestamp":9413081469,"duration":7571,"tags":{},"startTime":1691876895692},{"traceId":"f3118a7bad57c10e","parentId":6177,"name":"next-swc-loader","id":6178,"timestamp":9413081328,"duration":7722,"tags":{},"startTime":1691876895691},{"traceId":"f3118a7bad57c10e","parentId":6168,"name":"build-module-tsx","id":6177,"timestamp":9413080972,"duration":12398,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876895691},{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6173,"timestamp":9413066417,"duration":27467,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876895677},{"traceId":"f3118a7bad57c10e","parentId":6180,"name":"read-resource","id":6181,"timestamp":9413082501,"duration":12756,"tags":{},"startTime":1691876895693},{"traceId":"f3118a7bad57c10e","parentId":6182,"name":"postcss-process","id":6183,"timestamp":9413095322,"duration":146028,"tags":{},"startTime":1691876895705},{"traceId":"f3118a7bad57c10e","parentId":6180,"name":"postcss-loader","id":6182,"timestamp":9413095298,"duration":146344,"tags":{},"startTime":1691876895705},{"traceId":"f3118a7bad57c10e","parentId":6180,"name":"css-loader","id":6184,"timestamp":9413241674,"duration":33853,"tags":{"astUsed":"true"},"startTime":1691876895852},{"traceId":"f3118a7bad57c10e","parentId":6168,"name":"build-module-css","id":6180,"timestamp":9413082072,"duration":195666,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876895692},{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6171,"timestamp":9413066398,"duration":212820,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876895677},{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6175,"timestamp":9413066430,"duration":230170,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876895677},{"traceId":"f3118a7bad57c10e","parentId":6169,"name":"add-entry","id":6172,"timestamp":9413066409,"duration":305120,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876895677},{"traceId":"f3118a7bad57c10e","parentId":6168,"name":"make","id":6169,"timestamp":9413063957,"duration":307602,"tags":{},"startTime":1691876895674},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"chunk-graph","id":6186,"timestamp":9413378670,"duration":10748,"tags":{},"startTime":1691876895989},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"optimize-modules","id":6188,"timestamp":9413389462,"duration":6,"tags":{},"startTime":1691876896000},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"optimize-chunks","id":6189,"timestamp":9413389491,"duration":212,"tags":{},"startTime":1691876896000},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"optimize-tree","id":6190,"timestamp":9413389735,"duration":11,"tags":{},"startTime":1691876896000},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"optimize-chunk-modules","id":6191,"timestamp":9413389777,"duration":7,"tags":{},"startTime":1691876896000},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"optimize","id":6187,"timestamp":9413389447,"duration":3771,"tags":{},"startTime":1691876896000},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"module-hash","id":6192,"timestamp":9413466664,"duration":3989,"tags":{},"startTime":1691876896077},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"code-generation","id":6193,"timestamp":9413470690,"duration":16872,"tags":{},"startTime":1691876896081},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"hash","id":6194,"timestamp":9413496803,"duration":32979,"tags":{},"startTime":1691876896107},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"code-generation-jobs","id":6195,"timestamp":9413529780,"duration":181,"tags":{},"startTime":1691876896140},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"module-assets","id":6196,"timestamp":9413529938,"duration":350,"tags":{},"startTime":1691876896140},{"traceId":"f3118a7bad57c10e","parentId":6185,"name":"create-chunk-assets","id":6197,"timestamp":9413530297,"duration":2182,"tags":{},"startTime":1691876896140},{"traceId":"f3118a7bad57c10e","parentId":6168,"name":"NextJsBuildManifest-generateClientManifest","id":6199,"timestamp":9413537352,"duration":82,"tags":{},"startTime":1691876896148},{"traceId":"f3118a7bad57c10e","parentId":6168,"name":"NextJsBuildManifest-createassets","id":6198,"timestamp":9413537261,"duration":180,"tags":{},"startTime":1691876896147},{"traceId":"f3118a7bad57c10e","parentId":6168,"name":"seal","id":6185,"timestamp":9413373613,"duration":167681,"tags":{},"startTime":1691876895984},{"traceId":"f3118a7bad57c10e","parentId":6166,"name":"webpack-compilation","id":6168,"timestamp":9413063596,"duration":477748,"tags":{"name":"client"},"startTime":1691876895674},{"traceId":"f3118a7bad57c10e","parentId":6166,"name":"emit","id":6200,"timestamp":9413541377,"duration":23515,"tags":{},"startTime":1691876896152},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6166,"timestamp":9413055371,"duration":513316,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876895666},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6203,"timestamp":9413584433,"duration":0,"tags":{},"startTime":1691876896195},{"traceId":"f3118a7bad57c10e","parentId":6202,"name":"add-entry","id":6204,"timestamp":9413585818,"duration":55039,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876896196},{"traceId":"f3118a7bad57c10e","parentId":6202,"name":"add-entry","id":6205,"timestamp":9413585872,"duration":54998,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876896196},{"traceId":"f3118a7bad57c10e","parentId":6202,"name":"add-entry","id":6206,"timestamp":9413585883,"duration":54991,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876896196},{"traceId":"f3118a7bad57c10e","parentId":6202,"name":"add-entry","id":6207,"timestamp":9413585900,"duration":54976,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876896196},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6212,"timestamp":1691876895667000,"duration":579000,"tags":{"clientId":1691872020568},"startTime":1691876896256},{"traceId":"f3118a7bad57c10e","parentId":6210,"name":"next-swc-transform","id":6211,"timestamp":9413628599,"duration":17084,"tags":{},"startTime":1691876896239},{"traceId":"f3118a7bad57c10e","parentId":6209,"name":"next-swc-loader","id":6210,"timestamp":9413628467,"duration":17219,"tags":{},"startTime":1691876896239},{"traceId":"f3118a7bad57c10e","parentId":6201,"name":"build-module-tsx","id":6209,"timestamp":9413628280,"duration":19539,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876896238},{"traceId":"f3118a7bad57c10e","parentId":6202,"name":"add-entry","id":6208,"timestamp":9413585938,"duration":65247,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876896196},{"traceId":"f3118a7bad57c10e","parentId":6201,"name":"make","id":6202,"timestamp":9413572601,"duration":78624,"tags":{},"startTime":1691876896183},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"chunk-graph","id":6214,"timestamp":9413653311,"duration":1683,"tags":{},"startTime":1691876896263},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"optimize-modules","id":6216,"timestamp":9413655032,"duration":10,"tags":{},"startTime":1691876896265},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"optimize-chunks","id":6217,"timestamp":9413655059,"duration":38,"tags":{},"startTime":1691876896265},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"optimize-tree","id":6218,"timestamp":9413655184,"duration":14,"tags":{},"startTime":1691876896265},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"optimize-chunk-modules","id":6219,"timestamp":9413655219,"duration":6,"tags":{},"startTime":1691876896265},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"optimize","id":6215,"timestamp":9413655019,"duration":301,"tags":{},"startTime":1691876896265},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"module-hash","id":6220,"timestamp":9413655599,"duration":190,"tags":{},"startTime":1691876896266},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"code-generation","id":6221,"timestamp":9413655803,"duration":458,"tags":{},"startTime":1691876896266},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"hash","id":6222,"timestamp":9413656928,"duration":1553,"tags":{},"startTime":1691876896267},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"code-generation-jobs","id":6223,"timestamp":9413658480,"duration":319,"tags":{},"startTime":1691876896269},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"module-assets","id":6224,"timestamp":9413658773,"duration":58,"tags":{},"startTime":1691876896269},{"traceId":"f3118a7bad57c10e","parentId":6213,"name":"create-chunk-assets","id":6225,"timestamp":9413658844,"duration":1049,"tags":{},"startTime":1691876896269},{"traceId":"f3118a7bad57c10e","parentId":6201,"name":"seal","id":6213,"timestamp":9413653209,"duration":7004,"tags":{},"startTime":1691876896263},{"traceId":"f3118a7bad57c10e","parentId":6167,"name":"webpack-compilation","id":6201,"timestamp":9413572243,"duration":88008,"tags":{"name":"server"},"startTime":1691876896182},{"traceId":"f3118a7bad57c10e","parentId":6167,"name":"emit","id":6226,"timestamp":9413660279,"duration":16175,"tags":{},"startTime":1691876896270},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6167,"timestamp":9413055883,"duration":621569,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876895666}] -[{"traceId":"f3118a7bad57c10e","parentId":6237,"name":"next-swc-transform","id":6238,"timestamp":9422941883,"duration":3392,"tags":{},"startTime":1691876905552},{"traceId":"f3118a7bad57c10e","parentId":6236,"name":"next-swc-loader","id":6237,"timestamp":9422941739,"duration":3544,"tags":{},"startTime":1691876905552},{"traceId":"f3118a7bad57c10e","parentId":6229,"name":"build-module-tsx","id":6236,"timestamp":9422941532,"duration":4917,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876905552},{"traceId":"f3118a7bad57c10e","parentId":6230,"name":"add-entry","id":6231,"timestamp":9422903017,"duration":43612,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876905513},{"traceId":"f3118a7bad57c10e","parentId":6230,"name":"add-entry","id":6232,"timestamp":9422903116,"duration":43520,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876905514},{"traceId":"f3118a7bad57c10e","parentId":6230,"name":"add-entry","id":6233,"timestamp":9422903179,"duration":43460,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876905514},{"traceId":"f3118a7bad57c10e","parentId":6230,"name":"add-entry","id":6234,"timestamp":9422903210,"duration":44324,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876905514},{"traceId":"f3118a7bad57c10e","parentId":6230,"name":"add-entry","id":6235,"timestamp":9422903224,"duration":50282,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876905514},{"traceId":"f3118a7bad57c10e","parentId":6229,"name":"make","id":6230,"timestamp":9422894444,"duration":59121,"tags":{},"startTime":1691876905505},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"chunk-graph","id":6240,"timestamp":9422954790,"duration":355,"tags":{},"startTime":1691876905565},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"optimize-modules","id":6242,"timestamp":9422955178,"duration":8,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"optimize-chunks","id":6243,"timestamp":9422955201,"duration":26,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"optimize-tree","id":6244,"timestamp":9422955253,"duration":8,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"optimize-chunk-modules","id":6245,"timestamp":9422955279,"duration":12,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"optimize","id":6241,"timestamp":9422955164,"duration":195,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"module-hash","id":6246,"timestamp":9422955673,"duration":340,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"code-generation","id":6247,"timestamp":9422956032,"duration":422,"tags":{},"startTime":1691876905566},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"hash","id":6248,"timestamp":9422957026,"duration":999,"tags":{},"startTime":1691876905567},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"code-generation-jobs","id":6249,"timestamp":9422958024,"duration":231,"tags":{},"startTime":1691876905568},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"module-assets","id":6250,"timestamp":9422958239,"duration":36,"tags":{},"startTime":1691876905569},{"traceId":"f3118a7bad57c10e","parentId":6239,"name":"create-chunk-assets","id":6251,"timestamp":9422958284,"duration":1067,"tags":{},"startTime":1691876905569},{"traceId":"f3118a7bad57c10e","parentId":6229,"name":"seal","id":6239,"timestamp":9422954684,"duration":7260,"tags":{},"startTime":1691876905565},{"traceId":"f3118a7bad57c10e","parentId":6227,"name":"webpack-compilation","id":6229,"timestamp":9422894065,"duration":67915,"tags":{"name":"server"},"startTime":1691876905505},{"traceId":"f3118a7bad57c10e","parentId":6227,"name":"emit","id":6252,"timestamp":9422962009,"duration":29288,"tags":{},"startTime":1691876905572},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6227,"timestamp":9422884959,"duration":106946,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876905495},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6255,"timestamp":9423007085,"duration":29936,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6263,"name":"next-swc-transform","id":6264,"timestamp":9423039185,"duration":10232,"tags":{},"startTime":1691876905650},{"traceId":"f3118a7bad57c10e","parentId":6262,"name":"next-swc-loader","id":6263,"timestamp":9423039071,"duration":10353,"tags":{},"startTime":1691876905650},{"traceId":"f3118a7bad57c10e","parentId":6253,"name":"build-module-tsx","id":6262,"timestamp":9423038026,"duration":18114,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876905648},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6259,"timestamp":9423007172,"duration":49224,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6261,"timestamp":9423007199,"duration":49204,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6258,"timestamp":9423007167,"duration":50343,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6265,"name":"read-resource","id":6266,"timestamp":9423048845,"duration":9588,"tags":{},"startTime":1691876905659},{"traceId":"f3118a7bad57c10e","parentId":6267,"name":"postcss-process","id":6268,"timestamp":9423058512,"duration":559279,"tags":{},"startTime":1691876905669},{"traceId":"f3118a7bad57c10e","parentId":6265,"name":"postcss-loader","id":6267,"timestamp":9423058482,"duration":560341,"tags":{},"startTime":1691876905669},{"traceId":"f3118a7bad57c10e","parentId":6265,"name":"css-loader","id":6269,"timestamp":9423618974,"duration":46373,"tags":{"astUsed":"true"},"startTime":1691876906229},{"traceId":"f3118a7bad57c10e","parentId":6253,"name":"build-module-css","id":6265,"timestamp":9423047207,"duration":626170,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876905658},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6256,"timestamp":9423007151,"duration":897012,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6260,"timestamp":9423007193,"duration":949803,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6254,"name":"add-entry","id":6257,"timestamp":9423007161,"duration":1189659,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876905618},{"traceId":"f3118a7bad57c10e","parentId":6253,"name":"make","id":6254,"timestamp":9422995725,"duration":1201128,"tags":{},"startTime":1691876905606},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"chunk-graph","id":6271,"timestamp":9424204539,"duration":86318,"tags":{},"startTime":1691876906815},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"optimize-modules","id":6273,"timestamp":9424290896,"duration":10,"tags":{},"startTime":1691876906901},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"optimize-chunks","id":6274,"timestamp":9424290926,"duration":203,"tags":{},"startTime":1691876906901},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"optimize-tree","id":6275,"timestamp":9424291161,"duration":14,"tags":{},"startTime":1691876906902},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"optimize-chunk-modules","id":6276,"timestamp":9424291207,"duration":7,"tags":{},"startTime":1691876906902},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"optimize","id":6272,"timestamp":9424290883,"duration":10976,"tags":{},"startTime":1691876906901},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"module-hash","id":6277,"timestamp":9424325059,"duration":13167,"tags":{},"startTime":1691876906936},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"code-generation","id":6278,"timestamp":9424338276,"duration":32472,"tags":{},"startTime":1691876906949},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"hash","id":6279,"timestamp":9424376676,"duration":25142,"tags":{},"startTime":1691876906987},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"code-generation-jobs","id":6280,"timestamp":9424401816,"duration":233,"tags":{},"startTime":1691876907012},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"module-assets","id":6281,"timestamp":9424402012,"duration":404,"tags":{},"startTime":1691876907013},{"traceId":"f3118a7bad57c10e","parentId":6270,"name":"create-chunk-assets","id":6282,"timestamp":9424402434,"duration":1938,"tags":{},"startTime":1691876907013},{"traceId":"f3118a7bad57c10e","parentId":6253,"name":"NextJsBuildManifest-generateClientManifest","id":6284,"timestamp":9424408094,"duration":115,"tags":{},"startTime":1691876907019},{"traceId":"f3118a7bad57c10e","parentId":6253,"name":"NextJsBuildManifest-createassets","id":6283,"timestamp":9424407976,"duration":241,"tags":{},"startTime":1691876907018},{"traceId":"f3118a7bad57c10e","parentId":6253,"name":"seal","id":6270,"timestamp":9424199501,"duration":219766,"tags":{},"startTime":1691876906810},{"traceId":"f3118a7bad57c10e","parentId":6228,"name":"webpack-compilation","id":6253,"timestamp":9422995095,"duration":1424236,"tags":{"name":"client"},"startTime":1691876905606},{"traceId":"f3118a7bad57c10e","parentId":6228,"name":"emit","id":6285,"timestamp":9424419813,"duration":38501,"tags":{},"startTime":1691876907030},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6228,"timestamp":9422885135,"duration":1577541,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876905496}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6286,"timestamp":9424486550,"duration":0,"tags":{},"startTime":1691876907097},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6287,"timestamp":1691876905496000,"duration":1656000,"tags":{"clientId":1691872020568},"startTime":1691876907154},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6292,"timestamp":9433597525,"duration":34204,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6296,"timestamp":9433597694,"duration":44127,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6297,"timestamp":9433597710,"duration":44125,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6295,"timestamp":9433597683,"duration":45273,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6302,"name":"read-resource","id":6303,"timestamp":9433640558,"duration":2957,"tags":{},"startTime":1691876916251},{"traceId":"f3118a7bad57c10e","parentId":6300,"name":"next-swc-transform","id":6301,"timestamp":9433633984,"duration":72442,"tags":{},"startTime":1691876916245},{"traceId":"f3118a7bad57c10e","parentId":6299,"name":"next-swc-loader","id":6300,"timestamp":9433633565,"duration":72870,"tags":{},"startTime":1691876916244},{"traceId":"f3118a7bad57c10e","parentId":6290,"name":"build-module-tsx","id":6299,"timestamp":9433633070,"duration":88259,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876916244},{"traceId":"f3118a7bad57c10e","parentId":6304,"name":"postcss-process","id":6305,"timestamp":9433643935,"duration":806932,"tags":{},"startTime":1691876916255},{"traceId":"f3118a7bad57c10e","parentId":6302,"name":"postcss-loader","id":6304,"timestamp":9433643888,"duration":807974,"tags":{},"startTime":1691876916255},{"traceId":"f3118a7bad57c10e","parentId":6302,"name":"css-loader","id":6306,"timestamp":9434458745,"duration":179178,"tags":{"astUsed":"true"},"startTime":1691876917070},{"traceId":"f3118a7bad57c10e","parentId":6290,"name":"build-module-css","id":6302,"timestamp":9433640179,"duration":1013602,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876916251},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6293,"timestamp":9433597654,"duration":1066653,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6298,"timestamp":9433597722,"duration":1080076,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6291,"name":"add-entry","id":6294,"timestamp":9433597670,"duration":1299970,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876916208},{"traceId":"f3118a7bad57c10e","parentId":6290,"name":"make","id":6291,"timestamp":9433485277,"duration":1412411,"tags":{},"startTime":1691876916096},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"chunk-graph","id":6308,"timestamp":9434909306,"duration":45446,"tags":{},"startTime":1691876917520},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"optimize-modules","id":6310,"timestamp":9434954797,"duration":15,"tags":{},"startTime":1691876917566},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"optimize-chunks","id":6311,"timestamp":9434954840,"duration":234,"tags":{},"startTime":1691876917566},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"optimize-tree","id":6312,"timestamp":9434955108,"duration":20,"tags":{},"startTime":1691876917566},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"optimize-chunk-modules","id":6313,"timestamp":9434955161,"duration":12,"tags":{},"startTime":1691876917566},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"optimize","id":6309,"timestamp":9434954782,"duration":2288,"tags":{},"startTime":1691876917566},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"module-hash","id":6314,"timestamp":9434998841,"duration":6833,"tags":{},"startTime":1691876917610},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"code-generation","id":6315,"timestamp":9435005707,"duration":17471,"tags":{},"startTime":1691876917617},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"hash","id":6316,"timestamp":9435037217,"duration":22492,"tags":{},"startTime":1691876917648},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"code-generation-jobs","id":6317,"timestamp":9435059707,"duration":227,"tags":{},"startTime":1691876917671},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"module-assets","id":6318,"timestamp":9435059882,"duration":549,"tags":{},"startTime":1691876917671},{"traceId":"f3118a7bad57c10e","parentId":6307,"name":"create-chunk-assets","id":6319,"timestamp":9435060457,"duration":11725,"tags":{},"startTime":1691876917671},{"traceId":"f3118a7bad57c10e","parentId":6290,"name":"NextJsBuildManifest-generateClientManifest","id":6321,"timestamp":9435076153,"duration":132,"tags":{},"startTime":1691876917687},{"traceId":"f3118a7bad57c10e","parentId":6290,"name":"NextJsBuildManifest-createassets","id":6320,"timestamp":9435075899,"duration":396,"tags":{},"startTime":1691876917687},{"traceId":"f3118a7bad57c10e","parentId":6290,"name":"seal","id":6307,"timestamp":9434900051,"duration":186054,"tags":{},"startTime":1691876917511},{"traceId":"f3118a7bad57c10e","parentId":6288,"name":"webpack-compilation","id":6290,"timestamp":9433484446,"duration":1601715,"tags":{"name":"client"},"startTime":1691876916095},{"traceId":"f3118a7bad57c10e","parentId":6288,"name":"emit","id":6322,"timestamp":9435086197,"duration":188534,"tags":{},"startTime":1691876917697},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6288,"timestamp":9433467189,"duration":1808924,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876916078},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6325,"timestamp":9435299050,"duration":0,"tags":{},"startTime":1691876917910},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6331,"timestamp":1691876916094000,"duration":1856000,"tags":{"clientId":1691872020568},"startTime":1691876917952},{"traceId":"f3118a7bad57c10e","parentId":6333,"name":"next-swc-transform","id":6334,"timestamp":9435360246,"duration":4865,"tags":{},"startTime":1691876917971},{"traceId":"f3118a7bad57c10e","parentId":6332,"name":"next-swc-loader","id":6333,"timestamp":9435360029,"duration":5088,"tags":{},"startTime":1691876917971},{"traceId":"f3118a7bad57c10e","parentId":6323,"name":"build-module-tsx","id":6332,"timestamp":9435359555,"duration":10475,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876917970},{"traceId":"f3118a7bad57c10e","parentId":6324,"name":"add-entry","id":6326,"timestamp":9435305336,"duration":67271,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876917916},{"traceId":"f3118a7bad57c10e","parentId":6324,"name":"add-entry","id":6327,"timestamp":9435305412,"duration":67208,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876917916},{"traceId":"f3118a7bad57c10e","parentId":6324,"name":"add-entry","id":6328,"timestamp":9435305424,"duration":67199,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876917916},{"traceId":"f3118a7bad57c10e","parentId":6324,"name":"add-entry","id":6330,"timestamp":9435305438,"duration":67192,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876917916},{"traceId":"f3118a7bad57c10e","parentId":6324,"name":"add-entry","id":6329,"timestamp":9435305431,"duration":67262,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876917916},{"traceId":"f3118a7bad57c10e","parentId":6323,"name":"make","id":6324,"timestamp":9435287020,"duration":85699,"tags":{},"startTime":1691876917898},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"chunk-graph","id":6336,"timestamp":9435373203,"duration":594,"tags":{},"startTime":1691876917984},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"optimize-modules","id":6338,"timestamp":9435373823,"duration":9,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"optimize-chunks","id":6339,"timestamp":9435373849,"duration":27,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"optimize-tree","id":6340,"timestamp":9435373901,"duration":10,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"optimize-chunk-modules","id":6341,"timestamp":9435373928,"duration":6,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"optimize","id":6337,"timestamp":9435373813,"duration":206,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"module-hash","id":6342,"timestamp":9435374289,"duration":198,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"code-generation","id":6343,"timestamp":9435374502,"duration":584,"tags":{},"startTime":1691876917985},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"hash","id":6344,"timestamp":9435376048,"duration":2254,"tags":{},"startTime":1691876917987},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"code-generation-jobs","id":6345,"timestamp":9435378301,"duration":106,"tags":{},"startTime":1691876917989},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"module-assets","id":6346,"timestamp":9435378397,"duration":38,"tags":{},"startTime":1691876917989},{"traceId":"f3118a7bad57c10e","parentId":6335,"name":"create-chunk-assets","id":6347,"timestamp":9435378441,"duration":1027,"tags":{},"startTime":1691876917989},{"traceId":"f3118a7bad57c10e","parentId":6323,"name":"seal","id":6335,"timestamp":9435373085,"duration":9613,"tags":{},"startTime":1691876917984},{"traceId":"f3118a7bad57c10e","parentId":6289,"name":"webpack-compilation","id":6323,"timestamp":9435286342,"duration":96403,"tags":{"name":"server"},"startTime":1691876917897},{"traceId":"f3118a7bad57c10e","parentId":6289,"name":"emit","id":6348,"timestamp":9435382777,"duration":9517,"tags":{},"startTime":1691876917994},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6289,"timestamp":9433468134,"duration":1926080,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876916079}] -[{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6353,"timestamp":9438178456,"duration":12095,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6357,"timestamp":9438178551,"duration":14493,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6359,"timestamp":9438178565,"duration":14491,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6356,"timestamp":9438178546,"duration":17303,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6363,"name":"read-resource","id":6364,"timestamp":9438192751,"duration":3508,"tags":{},"startTime":1691876920804},{"traceId":"f3118a7bad57c10e","parentId":6361,"name":"next-swc-transform","id":6362,"timestamp":9438191730,"duration":32353,"tags":{},"startTime":1691876920803},{"traceId":"f3118a7bad57c10e","parentId":6360,"name":"next-swc-loader","id":6361,"timestamp":9438191521,"duration":32569,"tags":{},"startTime":1691876920802},{"traceId":"f3118a7bad57c10e","parentId":6351,"name":"build-module-tsx","id":6360,"timestamp":9438191234,"duration":47769,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876920802},{"traceId":"f3118a7bad57c10e","parentId":6365,"name":"postcss-process","id":6366,"timestamp":9438196324,"duration":148981,"tags":{},"startTime":1691876920807},{"traceId":"f3118a7bad57c10e","parentId":6363,"name":"postcss-loader","id":6365,"timestamp":9438196299,"duration":150104,"tags":{},"startTime":1691876920807},{"traceId":"f3118a7bad57c10e","parentId":6363,"name":"css-loader","id":6367,"timestamp":9438346439,"duration":54045,"tags":{"astUsed":"true"},"startTime":1691876920957},{"traceId":"f3118a7bad57c10e","parentId":6351,"name":"build-module-css","id":6363,"timestamp":9438192548,"duration":219260,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876920803},{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6354,"timestamp":9438178528,"duration":233620,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6358,"timestamp":9438178559,"duration":248930,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6352,"name":"add-entry","id":6355,"timestamp":9438178539,"duration":996815,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876920789},{"traceId":"f3118a7bad57c10e","parentId":6351,"name":"make","id":6352,"timestamp":9438176843,"duration":998548,"tags":{},"startTime":1691876920788},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"chunk-graph","id":6369,"timestamp":9439187046,"duration":50124,"tags":{},"startTime":1691876921798},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"optimize-modules","id":6371,"timestamp":9439237208,"duration":10,"tags":{},"startTime":1691876921848},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"optimize-chunks","id":6372,"timestamp":9439237240,"duration":191,"tags":{},"startTime":1691876921848},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"optimize-tree","id":6373,"timestamp":9439237461,"duration":14,"tags":{},"startTime":1691876921848},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"optimize-chunk-modules","id":6374,"timestamp":9439237504,"duration":7,"tags":{},"startTime":1691876921848},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"optimize","id":6370,"timestamp":9439237195,"duration":16380,"tags":{},"startTime":1691876921848},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"module-hash","id":6375,"timestamp":9439274222,"duration":1939,"tags":{},"startTime":1691876921885},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"code-generation","id":6376,"timestamp":9439276190,"duration":31955,"tags":{},"startTime":1691876921887},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"hash","id":6377,"timestamp":9439316975,"duration":58212,"tags":{},"startTime":1691876921928},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"code-generation-jobs","id":6378,"timestamp":9439375186,"duration":201,"tags":{},"startTime":1691876921986},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"module-assets","id":6379,"timestamp":9439375361,"duration":378,"tags":{},"startTime":1691876921986},{"traceId":"f3118a7bad57c10e","parentId":6368,"name":"create-chunk-assets","id":6380,"timestamp":9439375754,"duration":13654,"tags":{},"startTime":1691876921987},{"traceId":"f3118a7bad57c10e","parentId":6351,"name":"NextJsBuildManifest-generateClientManifest","id":6382,"timestamp":9439394170,"duration":111,"tags":{},"startTime":1691876922005},{"traceId":"f3118a7bad57c10e","parentId":6351,"name":"NextJsBuildManifest-createassets","id":6381,"timestamp":9439394056,"duration":284,"tags":{},"startTime":1691876922005},{"traceId":"f3118a7bad57c10e","parentId":6351,"name":"seal","id":6368,"timestamp":9439177366,"duration":228666,"tags":{},"startTime":1691876921788},{"traceId":"f3118a7bad57c10e","parentId":6349,"name":"webpack-compilation","id":6351,"timestamp":9438176438,"duration":1229646,"tags":{"name":"client"},"startTime":1691876920787},{"traceId":"f3118a7bad57c10e","parentId":6349,"name":"emit","id":6383,"timestamp":9439406121,"duration":30998,"tags":{},"startTime":1691876922017},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6349,"timestamp":9438160775,"duration":1277792,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876920772},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6386,"timestamp":9439470357,"duration":0,"tags":{},"startTime":1691876922081},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6392,"timestamp":1691876920772000,"duration":1383000,"tags":{"clientId":1691872020568},"startTime":1691876922158},{"traceId":"f3118a7bad57c10e","parentId":6385,"name":"add-entry","id":6387,"timestamp":9439491716,"duration":150460,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876922103},{"traceId":"f3118a7bad57c10e","parentId":6385,"name":"add-entry","id":6388,"timestamp":9439491781,"duration":150408,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876922103},{"traceId":"f3118a7bad57c10e","parentId":6385,"name":"add-entry","id":6389,"timestamp":9439491804,"duration":150387,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876922103},{"traceId":"f3118a7bad57c10e","parentId":6385,"name":"add-entry","id":6391,"timestamp":9439491817,"duration":150377,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876922103},{"traceId":"f3118a7bad57c10e","parentId":6394,"name":"next-swc-transform","id":6395,"timestamp":9439622328,"duration":23750,"tags":{},"startTime":1691876922233},{"traceId":"f3118a7bad57c10e","parentId":6393,"name":"next-swc-loader","id":6394,"timestamp":9439621180,"duration":24905,"tags":{},"startTime":1691876922232},{"traceId":"f3118a7bad57c10e","parentId":6384,"name":"build-module-tsx","id":6393,"timestamp":9439620827,"duration":27102,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876922232},{"traceId":"f3118a7bad57c10e","parentId":6385,"name":"add-entry","id":6390,"timestamp":9439491811,"duration":168554,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876922103},{"traceId":"f3118a7bad57c10e","parentId":6384,"name":"make","id":6385,"timestamp":9439441642,"duration":218794,"tags":{},"startTime":1691876922053},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"chunk-graph","id":6397,"timestamp":9439661001,"duration":14473,"tags":{},"startTime":1691876922272},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"optimize-modules","id":6399,"timestamp":9439675862,"duration":11,"tags":{},"startTime":1691876922287},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"optimize-chunks","id":6400,"timestamp":9439675898,"duration":47,"tags":{},"startTime":1691876922287},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"optimize-tree","id":6401,"timestamp":9439675975,"duration":7,"tags":{},"startTime":1691876922287},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"optimize-chunk-modules","id":6402,"timestamp":9439676001,"duration":5,"tags":{},"startTime":1691876922287},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"optimize","id":6398,"timestamp":9439675788,"duration":323,"tags":{},"startTime":1691876922287},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"module-hash","id":6403,"timestamp":9439676376,"duration":174,"tags":{},"startTime":1691876922287},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"code-generation","id":6404,"timestamp":9439676562,"duration":3689,"tags":{},"startTime":1691876922288},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"hash","id":6405,"timestamp":9439681196,"duration":1169,"tags":{},"startTime":1691876922292},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"code-generation-jobs","id":6406,"timestamp":9439682364,"duration":88,"tags":{},"startTime":1691876922293},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"module-assets","id":6407,"timestamp":9439682441,"duration":34,"tags":{},"startTime":1691876922293},{"traceId":"f3118a7bad57c10e","parentId":6396,"name":"create-chunk-assets","id":6408,"timestamp":9439682482,"duration":3973,"tags":{},"startTime":1691876922293},{"traceId":"f3118a7bad57c10e","parentId":6384,"name":"seal","id":6396,"timestamp":9439660904,"duration":26077,"tags":{},"startTime":1691876922272},{"traceId":"f3118a7bad57c10e","parentId":6350,"name":"webpack-compilation","id":6384,"timestamp":9439440804,"duration":246214,"tags":{"name":"server"},"startTime":1691876922052},{"traceId":"f3118a7bad57c10e","parentId":6350,"name":"emit","id":6409,"timestamp":9439687043,"duration":4712,"tags":{},"startTime":1691876922298},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6350,"timestamp":9438163419,"duration":1529317,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876920774}] -[{"traceId":"f3118a7bad57c10e","parentId":6413,"name":"add-entry","id":6414,"timestamp":9444080801,"duration":41870,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876926692},{"traceId":"f3118a7bad57c10e","parentId":6413,"name":"add-entry","id":6415,"timestamp":9444080869,"duration":41822,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876926692},{"traceId":"f3118a7bad57c10e","parentId":6413,"name":"add-entry","id":6416,"timestamp":9444080878,"duration":41816,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876926692},{"traceId":"f3118a7bad57c10e","parentId":6413,"name":"add-entry","id":6418,"timestamp":9444080902,"duration":41811,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876926692},{"traceId":"f3118a7bad57c10e","parentId":6420,"name":"next-swc-transform","id":6421,"timestamp":9444118193,"duration":5084,"tags":{},"startTime":1691876926729},{"traceId":"f3118a7bad57c10e","parentId":6419,"name":"next-swc-loader","id":6420,"timestamp":9444118047,"duration":5241,"tags":{},"startTime":1691876926729},{"traceId":"f3118a7bad57c10e","parentId":6412,"name":"build-module-tsx","id":6419,"timestamp":9444117776,"duration":7761,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876926729},{"traceId":"f3118a7bad57c10e","parentId":6413,"name":"add-entry","id":6417,"timestamp":9444080884,"duration":50656,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876926692},{"traceId":"f3118a7bad57c10e","parentId":6412,"name":"make","id":6413,"timestamp":9444069938,"duration":61643,"tags":{},"startTime":1691876926681},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"chunk-graph","id":6423,"timestamp":9444131958,"duration":310,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"optimize-modules","id":6425,"timestamp":9444132290,"duration":5,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"optimize-chunks","id":6426,"timestamp":9444132309,"duration":27,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"optimize-tree","id":6427,"timestamp":9444132356,"duration":6,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"optimize-chunk-modules","id":6428,"timestamp":9444132377,"duration":5,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"optimize","id":6424,"timestamp":9444132281,"duration":165,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"module-hash","id":6429,"timestamp":9444132671,"duration":160,"tags":{},"startTime":1691876926744},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"code-generation","id":6430,"timestamp":9444132843,"duration":428,"tags":{},"startTime":1691876926744},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"hash","id":6431,"timestamp":9444134027,"duration":1214,"tags":{},"startTime":1691876926745},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"code-generation-jobs","id":6432,"timestamp":9444135240,"duration":100,"tags":{},"startTime":1691876926746},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"module-assets","id":6433,"timestamp":9444135327,"duration":35,"tags":{},"startTime":1691876926746},{"traceId":"f3118a7bad57c10e","parentId":6422,"name":"create-chunk-assets","id":6434,"timestamp":9444135368,"duration":1044,"tags":{},"startTime":1691876926746},{"traceId":"f3118a7bad57c10e","parentId":6412,"name":"seal","id":6422,"timestamp":9444131867,"duration":4841,"tags":{},"startTime":1691876926743},{"traceId":"f3118a7bad57c10e","parentId":6410,"name":"webpack-compilation","id":6412,"timestamp":9444069593,"duration":67147,"tags":{"name":"server"},"startTime":1691876926681},{"traceId":"f3118a7bad57c10e","parentId":6410,"name":"emit","id":6435,"timestamp":9444136762,"duration":10684,"tags":{},"startTime":1691876926748},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6410,"timestamp":9444063152,"duration":84910,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876926674},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6438,"timestamp":9444153013,"duration":6498,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6442,"timestamp":9444153123,"duration":8673,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6444,"timestamp":9444153137,"duration":8669,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6441,"timestamp":9444153117,"duration":9128,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6448,"name":"read-resource","id":6449,"timestamp":9444161475,"duration":1517,"tags":{},"startTime":1691876926773},{"traceId":"f3118a7bad57c10e","parentId":6446,"name":"next-swc-transform","id":6447,"timestamp":9444160523,"duration":18954,"tags":{},"startTime":1691876926772},{"traceId":"f3118a7bad57c10e","parentId":6445,"name":"next-swc-loader","id":6446,"timestamp":9444160413,"duration":19071,"tags":{},"startTime":1691876926772},{"traceId":"f3118a7bad57c10e","parentId":6436,"name":"build-module-tsx","id":6445,"timestamp":9444160204,"duration":21601,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876926771},{"traceId":"f3118a7bad57c10e","parentId":6450,"name":"postcss-process","id":6451,"timestamp":9444163067,"duration":79049,"tags":{},"startTime":1691876926774},{"traceId":"f3118a7bad57c10e","parentId":6448,"name":"postcss-loader","id":6450,"timestamp":9444163040,"duration":80403,"tags":{},"startTime":1691876926774},{"traceId":"f3118a7bad57c10e","parentId":6448,"name":"css-loader","id":6452,"timestamp":9444243485,"duration":15624,"tags":{"astUsed":"true"},"startTime":1691876926855},{"traceId":"f3118a7bad57c10e","parentId":6436,"name":"build-module-css","id":6448,"timestamp":9444161267,"duration":100168,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876926772},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6439,"timestamp":9444153100,"duration":120761,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6443,"timestamp":9444153130,"duration":127530,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6437,"name":"add-entry","id":6440,"timestamp":9444153111,"duration":184137,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876926764},{"traceId":"f3118a7bad57c10e","parentId":6436,"name":"make","id":6437,"timestamp":9444150666,"duration":186625,"tags":{},"startTime":1691876926762},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"chunk-graph","id":6454,"timestamp":9444373233,"duration":146390,"tags":{},"startTime":1691876926984},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"optimize-modules","id":6456,"timestamp":9444519665,"duration":6,"tags":{},"startTime":1691876927131},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"optimize-chunks","id":6457,"timestamp":9444519690,"duration":1909,"tags":{},"startTime":1691876927131},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"optimize-tree","id":6458,"timestamp":9444521719,"duration":46,"tags":{},"startTime":1691876927133},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"optimize-chunk-modules","id":6459,"timestamp":9444521859,"duration":22,"tags":{},"startTime":1691876927133},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"optimize","id":6455,"timestamp":9444519650,"duration":14556,"tags":{},"startTime":1691876927131},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"module-hash","id":6460,"timestamp":9444586566,"duration":8334,"tags":{},"startTime":1691876927198},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"code-generation","id":6461,"timestamp":9444594934,"duration":16935,"tags":{},"startTime":1691876927206},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"hash","id":6462,"timestamp":9444623481,"duration":49197,"tags":{},"startTime":1691876927235},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"code-generation-jobs","id":6463,"timestamp":9444672663,"duration":1116,"tags":{},"startTime":1691876927284},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"module-assets","id":6464,"timestamp":9444673749,"duration":373,"tags":{},"startTime":1691876927285},{"traceId":"f3118a7bad57c10e","parentId":6453,"name":"create-chunk-assets","id":6465,"timestamp":9444674136,"duration":1792,"tags":{},"startTime":1691876927285},{"traceId":"f3118a7bad57c10e","parentId":6436,"name":"NextJsBuildManifest-generateClientManifest","id":6467,"timestamp":9444685049,"duration":100,"tags":{},"startTime":1691876927296},{"traceId":"f3118a7bad57c10e","parentId":6436,"name":"NextJsBuildManifest-createassets","id":6466,"timestamp":9444684941,"duration":216,"tags":{},"startTime":1691876927296},{"traceId":"f3118a7bad57c10e","parentId":6436,"name":"seal","id":6453,"timestamp":9444338739,"duration":356157,"tags":{},"startTime":1691876926950},{"traceId":"f3118a7bad57c10e","parentId":6411,"name":"webpack-compilation","id":6436,"timestamp":9444150307,"duration":544641,"tags":{"name":"client"},"startTime":1691876926761},{"traceId":"f3118a7bad57c10e","parentId":6411,"name":"emit","id":6468,"timestamp":9444694975,"duration":154908,"tags":{},"startTime":1691876927306},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6411,"timestamp":9444063488,"duration":795558,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876926675}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6469,"timestamp":9444890845,"duration":0,"tags":{},"startTime":1691876927502},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6470,"timestamp":1691876926675000,"duration":878000,"tags":{"clientId":1691872020568},"startTime":1691876927559},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6475,"timestamp":9453308287,"duration":21429,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6479,"timestamp":9453308369,"duration":24288,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6480,"timestamp":9453308376,"duration":24291,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6478,"timestamp":9453308364,"duration":26637,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6483,"name":"next-swc-transform","id":6484,"timestamp":9453330743,"duration":5626,"tags":{},"startTime":1691876935942},{"traceId":"f3118a7bad57c10e","parentId":6482,"name":"next-swc-loader","id":6483,"timestamp":9453330641,"duration":5736,"tags":{},"startTime":1691876935942},{"traceId":"f3118a7bad57c10e","parentId":6473,"name":"build-module-tsx","id":6482,"timestamp":9453330420,"duration":12305,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876935942},{"traceId":"f3118a7bad57c10e","parentId":6485,"name":"read-resource","id":6486,"timestamp":9453331870,"duration":11108,"tags":{},"startTime":1691876935943},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6476,"timestamp":9453308346,"duration":57531,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6487,"name":"postcss-process","id":6488,"timestamp":9453343035,"duration":89130,"tags":{},"startTime":1691876935954},{"traceId":"f3118a7bad57c10e","parentId":6485,"name":"postcss-loader","id":6487,"timestamp":9453343010,"duration":89672,"tags":{},"startTime":1691876935954},{"traceId":"f3118a7bad57c10e","parentId":6485,"name":"css-loader","id":6489,"timestamp":9453432720,"duration":17426,"tags":{"astUsed":"true"},"startTime":1691876936044},{"traceId":"f3118a7bad57c10e","parentId":6473,"name":"build-module-css","id":6485,"timestamp":9453331288,"duration":120515,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876935943},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6481,"timestamp":9453308385,"duration":157523,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6474,"name":"add-entry","id":6477,"timestamp":9453308357,"duration":219990,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876935920},{"traceId":"f3118a7bad57c10e","parentId":6473,"name":"make","id":6474,"timestamp":9453299166,"duration":229212,"tags":{},"startTime":1691876935911},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"chunk-graph","id":6491,"timestamp":9453533013,"duration":6294,"tags":{},"startTime":1691876936144},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"optimize-modules","id":6493,"timestamp":9453539341,"duration":6,"tags":{},"startTime":1691876936151},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"optimize-chunks","id":6494,"timestamp":9453539364,"duration":145,"tags":{},"startTime":1691876936151},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"optimize-tree","id":6495,"timestamp":9453539536,"duration":8,"tags":{},"startTime":1691876936151},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"optimize-chunk-modules","id":6496,"timestamp":9453539572,"duration":6,"tags":{},"startTime":1691876936151},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"optimize","id":6492,"timestamp":9453539328,"duration":1526,"tags":{},"startTime":1691876936151},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"module-hash","id":6497,"timestamp":9453546164,"duration":3447,"tags":{},"startTime":1691876936158},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"code-generation","id":6498,"timestamp":9453549644,"duration":14347,"tags":{},"startTime":1691876936161},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"hash","id":6499,"timestamp":9453569435,"duration":36725,"tags":{},"startTime":1691876936181},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"code-generation-jobs","id":6500,"timestamp":9453606158,"duration":279,"tags":{},"startTime":1691876936218},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"module-assets","id":6501,"timestamp":9453606408,"duration":427,"tags":{},"startTime":1691876936218},{"traceId":"f3118a7bad57c10e","parentId":6490,"name":"create-chunk-assets","id":6502,"timestamp":9453606853,"duration":2551,"tags":{},"startTime":1691876936218},{"traceId":"f3118a7bad57c10e","parentId":6473,"name":"NextJsBuildManifest-generateClientManifest","id":6504,"timestamp":9453613459,"duration":219,"tags":{},"startTime":1691876936225},{"traceId":"f3118a7bad57c10e","parentId":6473,"name":"NextJsBuildManifest-createassets","id":6503,"timestamp":9453613353,"duration":336,"tags":{},"startTime":1691876936225},{"traceId":"f3118a7bad57c10e","parentId":6473,"name":"seal","id":6490,"timestamp":9453529742,"duration":87334,"tags":{},"startTime":1691876936141},{"traceId":"f3118a7bad57c10e","parentId":6471,"name":"webpack-compilation","id":6473,"timestamp":9453298703,"duration":318430,"tags":{"name":"client"},"startTime":1691876935910},{"traceId":"f3118a7bad57c10e","parentId":6471,"name":"emit","id":6505,"timestamp":9453617278,"duration":472514,"tags":{},"startTime":1691876936229},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6471,"timestamp":9453287163,"duration":805255,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876935899},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6508,"timestamp":9454126176,"duration":0,"tags":{},"startTime":1691876936738},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6514,"timestamp":1691876935899000,"duration":938000,"tags":{"clientId":1691872020568},"startTime":1691876936920},{"traceId":"f3118a7bad57c10e","parentId":6507,"name":"add-entry","id":6509,"timestamp":9454132186,"duration":202117,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876936744},{"traceId":"f3118a7bad57c10e","parentId":6507,"name":"add-entry","id":6510,"timestamp":9454132262,"duration":202058,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876936744},{"traceId":"f3118a7bad57c10e","parentId":6507,"name":"add-entry","id":6511,"timestamp":9454132274,"duration":202049,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876936744},{"traceId":"f3118a7bad57c10e","parentId":6507,"name":"add-entry","id":6513,"timestamp":9454132288,"duration":202039,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876936744},{"traceId":"f3118a7bad57c10e","parentId":6516,"name":"next-swc-transform","id":6517,"timestamp":9454313389,"duration":23874,"tags":{},"startTime":1691876936925},{"traceId":"f3118a7bad57c10e","parentId":6515,"name":"next-swc-loader","id":6516,"timestamp":9454313174,"duration":24098,"tags":{},"startTime":1691876936925},{"traceId":"f3118a7bad57c10e","parentId":6506,"name":"build-module-tsx","id":6515,"timestamp":9454312903,"duration":26641,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876936924},{"traceId":"f3118a7bad57c10e","parentId":6507,"name":"add-entry","id":6512,"timestamp":9454132281,"duration":213873,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876936744},{"traceId":"f3118a7bad57c10e","parentId":6506,"name":"make","id":6507,"timestamp":9454106982,"duration":239209,"tags":{},"startTime":1691876936718},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"chunk-graph","id":6519,"timestamp":9454346613,"duration":4447,"tags":{},"startTime":1691876936958},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"optimize-modules","id":6521,"timestamp":9454351097,"duration":9,"tags":{},"startTime":1691876936962},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"optimize-chunks","id":6522,"timestamp":9454351127,"duration":33,"tags":{},"startTime":1691876936963},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"optimize-tree","id":6523,"timestamp":9454351187,"duration":11,"tags":{},"startTime":1691876936963},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"optimize-chunk-modules","id":6524,"timestamp":9454351218,"duration":6,"tags":{},"startTime":1691876936963},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"optimize","id":6520,"timestamp":9454351085,"duration":235,"tags":{},"startTime":1691876936962},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"module-hash","id":6525,"timestamp":9454351599,"duration":535,"tags":{},"startTime":1691876936963},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"code-generation","id":6526,"timestamp":9454354147,"duration":720,"tags":{},"startTime":1691876936966},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"hash","id":6527,"timestamp":9454355761,"duration":1184,"tags":{},"startTime":1691876936967},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"code-generation-jobs","id":6528,"timestamp":9454356943,"duration":96,"tags":{},"startTime":1691876936968},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"module-assets","id":6529,"timestamp":9454357029,"duration":47,"tags":{},"startTime":1691876936968},{"traceId":"f3118a7bad57c10e","parentId":6518,"name":"create-chunk-assets","id":6530,"timestamp":9454357086,"duration":1135,"tags":{},"startTime":1691876936968},{"traceId":"f3118a7bad57c10e","parentId":6506,"name":"seal","id":6518,"timestamp":9454346503,"duration":11998,"tags":{},"startTime":1691876936958},{"traceId":"f3118a7bad57c10e","parentId":6472,"name":"webpack-compilation","id":6506,"timestamp":9454106177,"duration":252356,"tags":{"name":"server"},"startTime":1691876936718},{"traceId":"f3118a7bad57c10e","parentId":6472,"name":"emit","id":6531,"timestamp":9454358553,"duration":13893,"tags":{},"startTime":1691876936970},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6472,"timestamp":9453288092,"duration":1085156,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876935899}] -[{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6536,"timestamp":9467812527,"duration":18043,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876950424},{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6540,"timestamp":9467812698,"duration":22410,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876950424},{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6541,"timestamp":9467812710,"duration":22409,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876950425},{"traceId":"f3118a7bad57c10e","parentId":6544,"name":"next-swc-transform","id":6545,"timestamp":9467832169,"duration":3470,"tags":{},"startTime":1691876950444},{"traceId":"f3118a7bad57c10e","parentId":6543,"name":"next-swc-loader","id":6544,"timestamp":9467831928,"duration":3717,"tags":{},"startTime":1691876950444},{"traceId":"f3118a7bad57c10e","parentId":6534,"name":"build-module-tsx","id":6543,"timestamp":9467831590,"duration":13712,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876950443},{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6539,"timestamp":9467812688,"duration":50916,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876950424},{"traceId":"f3118a7bad57c10e","parentId":6546,"name":"read-resource","id":6547,"timestamp":9467834799,"duration":29010,"tags":{},"startTime":1691876950447},{"traceId":"f3118a7bad57c10e","parentId":6548,"name":"postcss-process","id":6549,"timestamp":9467863883,"duration":112739,"tags":{},"startTime":1691876950476},{"traceId":"f3118a7bad57c10e","parentId":6546,"name":"postcss-loader","id":6548,"timestamp":9467863848,"duration":114041,"tags":{},"startTime":1691876950476},{"traceId":"f3118a7bad57c10e","parentId":6546,"name":"css-loader","id":6550,"timestamp":9467977930,"duration":26372,"tags":{"astUsed":"true"},"startTime":1691876950590},{"traceId":"f3118a7bad57c10e","parentId":6534,"name":"build-module-css","id":6546,"timestamp":9467834612,"duration":181446,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876950446},{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6537,"timestamp":9467812662,"duration":204546,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876950424},{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6542,"timestamp":9467812716,"duration":221570,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876950425},{"traceId":"f3118a7bad57c10e","parentId":6535,"name":"add-entry","id":6538,"timestamp":9467812680,"duration":812372,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876950424},{"traceId":"f3118a7bad57c10e","parentId":6534,"name":"make","id":6535,"timestamp":9467811296,"duration":813837,"tags":{},"startTime":1691876950423},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"chunk-graph","id":6552,"timestamp":9468635685,"duration":128031,"tags":{},"startTime":1691876951248},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"optimize-modules","id":6554,"timestamp":9468763770,"duration":12,"tags":{},"startTime":1691876951376},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"optimize-chunks","id":6555,"timestamp":9468763817,"duration":265,"tags":{},"startTime":1691876951376},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"optimize-tree","id":6556,"timestamp":9468764115,"duration":18,"tags":{},"startTime":1691876951376},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"optimize-chunk-modules","id":6557,"timestamp":9468764169,"duration":11,"tags":{},"startTime":1691876951376},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"optimize","id":6553,"timestamp":9468763751,"duration":11523,"tags":{},"startTime":1691876951376},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"module-hash","id":6558,"timestamp":9468812145,"duration":32245,"tags":{},"startTime":1691876951424},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"code-generation","id":6559,"timestamp":9468844424,"duration":25928,"tags":{},"startTime":1691876951456},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"hash","id":6560,"timestamp":9468881133,"duration":30948,"tags":{},"startTime":1691876951493},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"code-generation-jobs","id":6561,"timestamp":9468912080,"duration":521,"tags":{},"startTime":1691876951524},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"module-assets","id":6562,"timestamp":9468912547,"duration":397,"tags":{},"startTime":1691876951524},{"traceId":"f3118a7bad57c10e","parentId":6551,"name":"create-chunk-assets","id":6563,"timestamp":9468912960,"duration":10408,"tags":{},"startTime":1691876951525},{"traceId":"f3118a7bad57c10e","parentId":6534,"name":"NextJsBuildManifest-generateClientManifest","id":6565,"timestamp":9468934712,"duration":172,"tags":{},"startTime":1691876951547},{"traceId":"f3118a7bad57c10e","parentId":6534,"name":"NextJsBuildManifest-createassets","id":6564,"timestamp":9468934602,"duration":291,"tags":{},"startTime":1691876951546},{"traceId":"f3118a7bad57c10e","parentId":6534,"name":"seal","id":6551,"timestamp":9468627148,"duration":316493,"tags":{},"startTime":1691876951239},{"traceId":"f3118a7bad57c10e","parentId":6532,"name":"webpack-compilation","id":6534,"timestamp":9467810816,"duration":1132885,"tags":{"name":"client"},"startTime":1691876950423},{"traceId":"f3118a7bad57c10e","parentId":6532,"name":"emit","id":6566,"timestamp":9468943735,"duration":34967,"tags":{},"startTime":1691876951556},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6532,"timestamp":9467802008,"duration":1177857,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876950414},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6574,"timestamp":9469008574,"duration":0,"tags":{},"startTime":1691876951620},{"traceId":"f3118a7bad57c10e","parentId":6568,"name":"add-entry","id":6569,"timestamp":9468996047,"duration":17527,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876951608},{"traceId":"f3118a7bad57c10e","parentId":6568,"name":"add-entry","id":6570,"timestamp":9468996119,"duration":17467,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876951608},{"traceId":"f3118a7bad57c10e","parentId":6568,"name":"add-entry","id":6571,"timestamp":9468996135,"duration":17453,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876951608},{"traceId":"f3118a7bad57c10e","parentId":6568,"name":"add-entry","id":6573,"timestamp":9468996153,"duration":17438,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876951608},{"traceId":"f3118a7bad57c10e","parentId":6576,"name":"next-swc-transform","id":6577,"timestamp":9469010535,"duration":3384,"tags":{},"startTime":1691876951622},{"traceId":"f3118a7bad57c10e","parentId":6575,"name":"next-swc-loader","id":6576,"timestamp":9469010298,"duration":3625,"tags":{},"startTime":1691876951622},{"traceId":"f3118a7bad57c10e","parentId":6567,"name":"build-module-tsx","id":6575,"timestamp":9469010012,"duration":9288,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876951622},{"traceId":"f3118a7bad57c10e","parentId":6568,"name":"add-entry","id":6572,"timestamp":9468996143,"duration":24879,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876951608},{"traceId":"f3118a7bad57c10e","parentId":6567,"name":"make","id":6568,"timestamp":9468982419,"duration":38642,"tags":{},"startTime":1691876951594},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"chunk-graph","id":6579,"timestamp":9469021550,"duration":925,"tags":{},"startTime":1691876951633},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"optimize-modules","id":6581,"timestamp":9469022518,"duration":5,"tags":{},"startTime":1691876951634},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"optimize-chunks","id":6582,"timestamp":9469022550,"duration":44,"tags":{},"startTime":1691876951634},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"optimize-tree","id":6583,"timestamp":9469022626,"duration":7,"tags":{},"startTime":1691876951634},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"optimize-chunk-modules","id":6584,"timestamp":9469022658,"duration":10,"tags":{},"startTime":1691876951634},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"optimize","id":6580,"timestamp":9469022502,"duration":291,"tags":{},"startTime":1691876951634},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"module-hash","id":6585,"timestamp":9469023180,"duration":219,"tags":{},"startTime":1691876951635},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"code-generation","id":6586,"timestamp":9469023419,"duration":699,"tags":{},"startTime":1691876951635},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"hash","id":6587,"timestamp":9469024983,"duration":2823,"tags":{},"startTime":1691876951637},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"code-generation-jobs","id":6588,"timestamp":9469027805,"duration":195,"tags":{},"startTime":1691876951640},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"module-assets","id":6589,"timestamp":9469027982,"duration":43,"tags":{},"startTime":1691876951640},{"traceId":"f3118a7bad57c10e","parentId":6578,"name":"create-chunk-assets","id":6590,"timestamp":9469028035,"duration":1171,"tags":{},"startTime":1691876951640},{"traceId":"f3118a7bad57c10e","parentId":6567,"name":"seal","id":6578,"timestamp":9469021426,"duration":8510,"tags":{},"startTime":1691876951633},{"traceId":"f3118a7bad57c10e","parentId":6533,"name":"webpack-compilation","id":6567,"timestamp":9468982080,"duration":47898,"tags":{"name":"server"},"startTime":1691876951594},{"traceId":"f3118a7bad57c10e","parentId":6533,"name":"emit","id":6591,"timestamp":9469030012,"duration":15452,"tags":{},"startTime":1691876951642},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6533,"timestamp":9467802390,"duration":1244040,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876950414}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6592,"timestamp":1691876950414000,"duration":1291000,"tags":{"clientId":1691872020568},"startTime":1691876951706},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6597,"timestamp":9478901568,"duration":11060,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6601,"timestamp":9478901682,"duration":22886,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6602,"timestamp":9478901695,"duration":22882,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6600,"timestamp":9478901669,"duration":24505,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6605,"name":"next-swc-transform","id":6606,"timestamp":9478914531,"duration":12736,"tags":{},"startTime":1691876961527},{"traceId":"f3118a7bad57c10e","parentId":6604,"name":"next-swc-loader","id":6605,"timestamp":9478914389,"duration":12885,"tags":{},"startTime":1691876961527},{"traceId":"f3118a7bad57c10e","parentId":6595,"name":"build-module-tsx","id":6604,"timestamp":9478913528,"duration":18743,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876961526},{"traceId":"f3118a7bad57c10e","parentId":6607,"name":"read-resource","id":6608,"timestamp":9478923936,"duration":10054,"tags":{},"startTime":1691876961536},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6598,"timestamp":9478901642,"duration":60173,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6609,"name":"postcss-process","id":6610,"timestamp":9478934058,"duration":97755,"tags":{},"startTime":1691876961546},{"traceId":"f3118a7bad57c10e","parentId":6607,"name":"postcss-loader","id":6609,"timestamp":9478934035,"duration":98531,"tags":{},"startTime":1691876961546},{"traceId":"f3118a7bad57c10e","parentId":6607,"name":"css-loader","id":6611,"timestamp":9479032608,"duration":30859,"tags":{"astUsed":"true"},"startTime":1691876961645},{"traceId":"f3118a7bad57c10e","parentId":6595,"name":"build-module-css","id":6607,"timestamp":9478923336,"duration":142278,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876961535},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6603,"timestamp":9478901709,"duration":171823,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6596,"name":"add-entry","id":6599,"timestamp":9478901659,"duration":262465,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876961514},{"traceId":"f3118a7bad57c10e","parentId":6595,"name":"make","id":6596,"timestamp":9478897761,"duration":266398,"tags":{},"startTime":1691876961510},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"chunk-graph","id":6613,"timestamp":9479169925,"duration":14420,"tags":{},"startTime":1691876961782},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"optimize-modules","id":6615,"timestamp":9479184386,"duration":6,"tags":{},"startTime":1691876961797},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"optimize-chunks","id":6616,"timestamp":9479184411,"duration":211,"tags":{},"startTime":1691876961797},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"optimize-tree","id":6617,"timestamp":9479184651,"duration":9,"tags":{},"startTime":1691876961797},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"optimize-chunk-modules","id":6618,"timestamp":9479184688,"duration":7,"tags":{},"startTime":1691876961797},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"optimize","id":6614,"timestamp":9479184373,"duration":1716,"tags":{},"startTime":1691876961797},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"module-hash","id":6619,"timestamp":9479233386,"duration":7901,"tags":{},"startTime":1691876961846},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"code-generation","id":6620,"timestamp":9479241324,"duration":13893,"tags":{},"startTime":1691876961853},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"hash","id":6621,"timestamp":9479271865,"duration":45118,"tags":{},"startTime":1691876961884},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"code-generation-jobs","id":6622,"timestamp":9479316982,"duration":220,"tags":{},"startTime":1691876961929},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"module-assets","id":6623,"timestamp":9479317174,"duration":382,"tags":{},"startTime":1691876961929},{"traceId":"f3118a7bad57c10e","parentId":6612,"name":"create-chunk-assets","id":6624,"timestamp":9479317567,"duration":5266,"tags":{},"startTime":1691876961930},{"traceId":"f3118a7bad57c10e","parentId":6595,"name":"NextJsBuildManifest-generateClientManifest","id":6626,"timestamp":9479335351,"duration":91,"tags":{},"startTime":1691876961947},{"traceId":"f3118a7bad57c10e","parentId":6595,"name":"NextJsBuildManifest-createassets","id":6625,"timestamp":9479335255,"duration":194,"tags":{},"startTime":1691876961947},{"traceId":"f3118a7bad57c10e","parentId":6595,"name":"seal","id":6612,"timestamp":9479165963,"duration":174162,"tags":{},"startTime":1691876961778},{"traceId":"f3118a7bad57c10e","parentId":6593,"name":"webpack-compilation","id":6595,"timestamp":9478896765,"duration":443430,"tags":{"name":"client"},"startTime":1691876961509},{"traceId":"f3118a7bad57c10e","parentId":6593,"name":"emit","id":6627,"timestamp":9479340230,"duration":52605,"tags":{},"startTime":1691876961952},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6593,"timestamp":9478885921,"duration":507779,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876961498},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6630,"timestamp":9479424243,"duration":0,"tags":{},"startTime":1691876962036},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6636,"timestamp":1691876961499000,"duration":584000,"tags":{"clientId":1691872020568},"startTime":1691876962177},{"traceId":"f3118a7bad57c10e","parentId":6638,"name":"next-swc-transform","id":6639,"timestamp":9479577843,"duration":4653,"tags":{},"startTime":1691876962190},{"traceId":"f3118a7bad57c10e","parentId":6637,"name":"next-swc-loader","id":6638,"timestamp":9479577711,"duration":4792,"tags":{},"startTime":1691876962190},{"traceId":"f3118a7bad57c10e","parentId":6628,"name":"build-module-tsx","id":6637,"timestamp":9479577531,"duration":7171,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876962190},{"traceId":"f3118a7bad57c10e","parentId":6629,"name":"add-entry","id":6631,"timestamp":9479429699,"duration":202298,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876962042},{"traceId":"f3118a7bad57c10e","parentId":6629,"name":"add-entry","id":6632,"timestamp":9479429759,"duration":202261,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876962042},{"traceId":"f3118a7bad57c10e","parentId":6629,"name":"add-entry","id":6633,"timestamp":9479429770,"duration":202253,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876962042},{"traceId":"f3118a7bad57c10e","parentId":6629,"name":"add-entry","id":6635,"timestamp":9479429782,"duration":202244,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876962042},{"traceId":"f3118a7bad57c10e","parentId":6629,"name":"add-entry","id":6634,"timestamp":9479429776,"duration":202578,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876962042},{"traceId":"f3118a7bad57c10e","parentId":6628,"name":"make","id":6629,"timestamp":9479414769,"duration":217618,"tags":{},"startTime":1691876962027},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"chunk-graph","id":6641,"timestamp":9479632935,"duration":316,"tags":{},"startTime":1691876962245},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"optimize-modules","id":6643,"timestamp":9479633274,"duration":4,"tags":{},"startTime":1691876962245},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"optimize-chunks","id":6644,"timestamp":9479633293,"duration":26,"tags":{},"startTime":1691876962245},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"optimize-tree","id":6645,"timestamp":9479633343,"duration":6,"tags":{},"startTime":1691876962245},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"optimize-chunk-modules","id":6646,"timestamp":9479633367,"duration":5,"tags":{},"startTime":1691876962246},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"optimize","id":6642,"timestamp":9479633265,"duration":10992,"tags":{},"startTime":1691876962245},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"module-hash","id":6647,"timestamp":9479644558,"duration":177,"tags":{},"startTime":1691876962257},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"code-generation","id":6648,"timestamp":9479644748,"duration":26068,"tags":{},"startTime":1691876962257},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"hash","id":6649,"timestamp":9479671558,"duration":2691,"tags":{},"startTime":1691876962284},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"code-generation-jobs","id":6650,"timestamp":9479674247,"duration":215,"tags":{},"startTime":1691876962286},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"module-assets","id":6651,"timestamp":9479674432,"duration":104,"tags":{},"startTime":1691876962287},{"traceId":"f3118a7bad57c10e","parentId":6640,"name":"create-chunk-assets","id":6652,"timestamp":9479674558,"duration":2709,"tags":{},"startTime":1691876962287},{"traceId":"f3118a7bad57c10e","parentId":6628,"name":"seal","id":6640,"timestamp":9479632841,"duration":44706,"tags":{},"startTime":1691876962245},{"traceId":"f3118a7bad57c10e","parentId":6594,"name":"webpack-compilation","id":6628,"timestamp":9479414260,"duration":263319,"tags":{"name":"server"},"startTime":1691876962026},{"traceId":"f3118a7bad57c10e","parentId":6594,"name":"emit","id":6653,"timestamp":9479677603,"duration":20033,"tags":{},"startTime":1691876962290},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6594,"timestamp":9478886457,"duration":812052,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876961499}] -[{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6658,"timestamp":9491284921,"duration":18299,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691876973897},{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6662,"timestamp":9491285014,"duration":24181,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691876973898},{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6664,"timestamp":9491285034,"duration":24172,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691876973898},{"traceId":"f3118a7bad57c10e","parentId":6668,"name":"read-resource","id":6669,"timestamp":9491307474,"duration":2639,"tags":{},"startTime":1691876973920},{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6661,"timestamp":9491285008,"duration":35578,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691876973898},{"traceId":"f3118a7bad57c10e","parentId":6666,"name":"next-swc-transform","id":6667,"timestamp":9491304262,"duration":17021,"tags":{},"startTime":1691876973917},{"traceId":"f3118a7bad57c10e","parentId":6665,"name":"next-swc-loader","id":6666,"timestamp":9491304134,"duration":17155,"tags":{},"startTime":1691876973917},{"traceId":"f3118a7bad57c10e","parentId":6656,"name":"build-module-tsx","id":6665,"timestamp":9491303921,"duration":30312,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876973916},{"traceId":"f3118a7bad57c10e","parentId":6670,"name":"postcss-process","id":6671,"timestamp":9491310185,"duration":124072,"tags":{},"startTime":1691876973923},{"traceId":"f3118a7bad57c10e","parentId":6668,"name":"postcss-loader","id":6670,"timestamp":9491310158,"duration":124470,"tags":{},"startTime":1691876973923},{"traceId":"f3118a7bad57c10e","parentId":6668,"name":"css-loader","id":6672,"timestamp":9491434661,"duration":21462,"tags":{"astUsed":"true"},"startTime":1691876974047},{"traceId":"f3118a7bad57c10e","parentId":6656,"name":"build-module-css","id":6668,"timestamp":9491306746,"duration":151173,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691876973919},{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6659,"timestamp":9491284993,"duration":174591,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691876973897},{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6663,"timestamp":9491285029,"duration":181292,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691876973898},{"traceId":"f3118a7bad57c10e","parentId":6657,"name":"add-entry","id":6660,"timestamp":9491285002,"duration":227299,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691876973898},{"traceId":"f3118a7bad57c10e","parentId":6656,"name":"make","id":6657,"timestamp":9491283402,"duration":228930,"tags":{},"startTime":1691876973896},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"chunk-graph","id":6674,"timestamp":9491517079,"duration":5970,"tags":{},"startTime":1691876974130},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"optimize-modules","id":6676,"timestamp":9491523086,"duration":5,"tags":{},"startTime":1691876974136},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"optimize-chunks","id":6677,"timestamp":9491523159,"duration":199,"tags":{},"startTime":1691876974136},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"optimize-tree","id":6678,"timestamp":9491523385,"duration":8,"tags":{},"startTime":1691876974136},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"optimize-chunk-modules","id":6679,"timestamp":9491523421,"duration":7,"tags":{},"startTime":1691876974136},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"optimize","id":6675,"timestamp":9491523073,"duration":2463,"tags":{},"startTime":1691876974136},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"module-hash","id":6680,"timestamp":9491530897,"duration":2673,"tags":{},"startTime":1691876974143},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"code-generation","id":6681,"timestamp":9491533603,"duration":13262,"tags":{},"startTime":1691876974146},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"hash","id":6682,"timestamp":9491552951,"duration":11986,"tags":{},"startTime":1691876974165},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"code-generation-jobs","id":6683,"timestamp":9491564936,"duration":205,"tags":{},"startTime":1691876974177},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"module-assets","id":6684,"timestamp":9491565112,"duration":368,"tags":{},"startTime":1691876974178},{"traceId":"f3118a7bad57c10e","parentId":6673,"name":"create-chunk-assets","id":6685,"timestamp":9491565492,"duration":2862,"tags":{},"startTime":1691876974178},{"traceId":"f3118a7bad57c10e","parentId":6656,"name":"NextJsBuildManifest-generateClientManifest","id":6687,"timestamp":9491571734,"duration":92,"tags":{},"startTime":1691876974184},{"traceId":"f3118a7bad57c10e","parentId":6656,"name":"NextJsBuildManifest-createassets","id":6686,"timestamp":9491571595,"duration":240,"tags":{},"startTime":1691876974184},{"traceId":"f3118a7bad57c10e","parentId":6656,"name":"seal","id":6673,"timestamp":9491513803,"duration":67611,"tags":{},"startTime":1691876974126},{"traceId":"f3118a7bad57c10e","parentId":6654,"name":"webpack-compilation","id":6656,"timestamp":9491283055,"duration":298506,"tags":{"name":"client"},"startTime":1691876973896},{"traceId":"f3118a7bad57c10e","parentId":6654,"name":"emit","id":6688,"timestamp":9491581598,"duration":323586,"tags":{},"startTime":1691876974194},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6654,"timestamp":9491275290,"duration":637113,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876973888},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6691,"timestamp":9492060404,"duration":0,"tags":{},"startTime":1691876974673},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6697,"timestamp":1691876973889000,"duration":957000,"tags":{"clientId":1691872020568},"startTime":1691876974855},{"traceId":"f3118a7bad57c10e","parentId":6690,"name":"add-entry","id":6692,"timestamp":9492062910,"duration":201983,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876974675},{"traceId":"f3118a7bad57c10e","parentId":6690,"name":"add-entry","id":6693,"timestamp":9492062979,"duration":201926,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876974676},{"traceId":"f3118a7bad57c10e","parentId":6690,"name":"add-entry","id":6694,"timestamp":9492062992,"duration":201917,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876974676},{"traceId":"f3118a7bad57c10e","parentId":6690,"name":"add-entry","id":6696,"timestamp":9492063009,"duration":201902,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876974676},{"traceId":"f3118a7bad57c10e","parentId":6699,"name":"next-swc-transform","id":6700,"timestamp":9492258159,"duration":13045,"tags":{},"startTime":1691876974871},{"traceId":"f3118a7bad57c10e","parentId":6698,"name":"next-swc-loader","id":6699,"timestamp":9492249269,"duration":21942,"tags":{},"startTime":1691876974862},{"traceId":"f3118a7bad57c10e","parentId":6689,"name":"build-module-tsx","id":6698,"timestamp":9492248184,"duration":27399,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691876974861},{"traceId":"f3118a7bad57c10e","parentId":6690,"name":"add-entry","id":6695,"timestamp":9492063000,"duration":213327,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691876974676},{"traceId":"f3118a7bad57c10e","parentId":6689,"name":"make","id":6690,"timestamp":9492011962,"duration":264406,"tags":{},"startTime":1691876974624},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"chunk-graph","id":6702,"timestamp":9492276809,"duration":616,"tags":{},"startTime":1691876974889},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"optimize-modules","id":6704,"timestamp":9492277458,"duration":15,"tags":{},"startTime":1691876974890},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"optimize-chunks","id":6705,"timestamp":9492277491,"duration":30,"tags":{},"startTime":1691876974890},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"optimize-tree","id":6706,"timestamp":9492277547,"duration":11,"tags":{},"startTime":1691876974890},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"optimize-chunk-modules","id":6707,"timestamp":9492277576,"duration":6,"tags":{},"startTime":1691876974890},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"optimize","id":6703,"timestamp":9492277446,"duration":224,"tags":{},"startTime":1691876974890},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"module-hash","id":6708,"timestamp":9492278023,"duration":214,"tags":{},"startTime":1691876974891},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"code-generation","id":6709,"timestamp":9492278253,"duration":596,"tags":{},"startTime":1691876974891},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"hash","id":6710,"timestamp":9492279831,"duration":2908,"tags":{},"startTime":1691876974892},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"code-generation-jobs","id":6711,"timestamp":9492282738,"duration":107,"tags":{},"startTime":1691876974895},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"module-assets","id":6712,"timestamp":9492282832,"duration":44,"tags":{},"startTime":1691876974895},{"traceId":"f3118a7bad57c10e","parentId":6701,"name":"create-chunk-assets","id":6713,"timestamp":9492282883,"duration":1727,"tags":{},"startTime":1691876974895},{"traceId":"f3118a7bad57c10e","parentId":6689,"name":"seal","id":6701,"timestamp":9492276690,"duration":8209,"tags":{},"startTime":1691876974889},{"traceId":"f3118a7bad57c10e","parentId":6655,"name":"webpack-compilation","id":6689,"timestamp":9492011060,"duration":273874,"tags":{"name":"server"},"startTime":1691876974624},{"traceId":"f3118a7bad57c10e","parentId":6655,"name":"emit","id":6714,"timestamp":9492284955,"duration":7286,"tags":{},"startTime":1691876974897},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6655,"timestamp":9491275831,"duration":1017737,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691876973888}] -[{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6719,"timestamp":9533122953,"duration":18810,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6723,"timestamp":9533123110,"duration":24640,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6724,"timestamp":9533123119,"duration":24643,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6727,"name":"next-swc-transform","id":6728,"timestamp":9533145065,"duration":3901,"tags":{},"startTime":1691877015759},{"traceId":"f3118a7bad57c10e","parentId":6726,"name":"next-swc-loader","id":6727,"timestamp":9533143419,"duration":5554,"tags":{},"startTime":1691877015757},{"traceId":"f3118a7bad57c10e","parentId":6717,"name":"build-module-tsx","id":6726,"timestamp":9533143038,"duration":22362,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877015757},{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6722,"timestamp":9533123099,"duration":42631,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6729,"name":"read-resource","id":6730,"timestamp":9533146290,"duration":21434,"tags":{},"startTime":1691877015760},{"traceId":"f3118a7bad57c10e","parentId":6731,"name":"postcss-process","id":6732,"timestamp":9533167806,"duration":143466,"tags":{},"startTime":1691877015782},{"traceId":"f3118a7bad57c10e","parentId":6729,"name":"postcss-loader","id":6731,"timestamp":9533167772,"duration":144314,"tags":{},"startTime":1691877015782},{"traceId":"f3118a7bad57c10e","parentId":6729,"name":"css-loader","id":6733,"timestamp":9533312117,"duration":30228,"tags":{"astUsed":"true"},"startTime":1691877015926},{"traceId":"f3118a7bad57c10e","parentId":6717,"name":"build-module-css","id":6729,"timestamp":9533146088,"duration":206433,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877015760},{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6720,"timestamp":9533123072,"duration":233199,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6725,"timestamp":9533123128,"duration":248576,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6718,"name":"add-entry","id":6721,"timestamp":9533123085,"duration":578229,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877015737},{"traceId":"f3118a7bad57c10e","parentId":6717,"name":"make","id":6718,"timestamp":9533121858,"duration":579492,"tags":{},"startTime":1691877015736},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"chunk-graph","id":6735,"timestamp":9533708396,"duration":44632,"tags":{},"startTime":1691877016322},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"optimize-modules","id":6737,"timestamp":9533753094,"duration":15,"tags":{},"startTime":1691877016367},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"optimize-chunks","id":6738,"timestamp":9533753139,"duration":344,"tags":{},"startTime":1691877016367},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"optimize-tree","id":6739,"timestamp":9533753516,"duration":20,"tags":{},"startTime":1691877016367},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"optimize-chunk-modules","id":6740,"timestamp":9533753572,"duration":10,"tags":{},"startTime":1691877016367},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"optimize","id":6736,"timestamp":9533753070,"duration":3276,"tags":{},"startTime":1691877016367},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"module-hash","id":6741,"timestamp":9533781923,"duration":5193,"tags":{},"startTime":1691877016396},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"code-generation","id":6742,"timestamp":9533787155,"duration":27978,"tags":{},"startTime":1691877016401},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"hash","id":6743,"timestamp":9533823339,"duration":19642,"tags":{},"startTime":1691877016437},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"code-generation-jobs","id":6744,"timestamp":9533842973,"duration":1202,"tags":{},"startTime":1691877016457},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"module-assets","id":6745,"timestamp":9533844074,"duration":1207,"tags":{},"startTime":1691877016458},{"traceId":"f3118a7bad57c10e","parentId":6734,"name":"create-chunk-assets","id":6746,"timestamp":9533845436,"duration":26265,"tags":{},"startTime":1691877016459},{"traceId":"f3118a7bad57c10e","parentId":6717,"name":"NextJsBuildManifest-generateClientManifest","id":6748,"timestamp":9533884258,"duration":148,"tags":{},"startTime":1691877016498},{"traceId":"f3118a7bad57c10e","parentId":6717,"name":"NextJsBuildManifest-createassets","id":6747,"timestamp":9533884147,"duration":267,"tags":{},"startTime":1691877016498},{"traceId":"f3118a7bad57c10e","parentId":6717,"name":"seal","id":6734,"timestamp":9533704556,"duration":183057,"tags":{},"startTime":1691877016318},{"traceId":"f3118a7bad57c10e","parentId":6715,"name":"webpack-compilation","id":6717,"timestamp":9533121385,"duration":766277,"tags":{"name":"client"},"startTime":1691877015735},{"traceId":"f3118a7bad57c10e","parentId":6715,"name":"emit","id":6749,"timestamp":9533887692,"duration":53140,"tags":{},"startTime":1691877016501},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6715,"timestamp":9533111862,"duration":834832,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877015726},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6752,"timestamp":9533961902,"duration":0,"tags":{},"startTime":1691877016576},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6758,"timestamp":1691877015726000,"duration":905000,"tags":{"clientId":1691872020568},"startTime":1691877016644},{"traceId":"f3118a7bad57c10e","parentId":6760,"name":"next-swc-transform","id":6761,"timestamp":9534037197,"duration":2671,"tags":{},"startTime":1691877016651},{"traceId":"f3118a7bad57c10e","parentId":6759,"name":"next-swc-loader","id":6760,"timestamp":9534036962,"duration":2913,"tags":{},"startTime":1691877016651},{"traceId":"f3118a7bad57c10e","parentId":6750,"name":"build-module-tsx","id":6759,"timestamp":9534036674,"duration":12976,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877016650},{"traceId":"f3118a7bad57c10e","parentId":6751,"name":"add-entry","id":6753,"timestamp":9533965944,"duration":84066,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877016580},{"traceId":"f3118a7bad57c10e","parentId":6751,"name":"add-entry","id":6754,"timestamp":9533966009,"duration":84013,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877016580},{"traceId":"f3118a7bad57c10e","parentId":6751,"name":"add-entry","id":6755,"timestamp":9533966023,"duration":84002,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877016580},{"traceId":"f3118a7bad57c10e","parentId":6751,"name":"add-entry","id":6757,"timestamp":9533966038,"duration":83989,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877016580},{"traceId":"f3118a7bad57c10e","parentId":6751,"name":"add-entry","id":6756,"timestamp":9533966029,"duration":84224,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877016580},{"traceId":"f3118a7bad57c10e","parentId":6750,"name":"make","id":6751,"timestamp":9533950377,"duration":99900,"tags":{},"startTime":1691877016564},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"chunk-graph","id":6763,"timestamp":9534050733,"duration":1026,"tags":{},"startTime":1691877016665},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"optimize-modules","id":6765,"timestamp":9534051801,"duration":9,"tags":{},"startTime":1691877016666},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"optimize-chunks","id":6766,"timestamp":9534051834,"duration":40,"tags":{},"startTime":1691877016666},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"optimize-tree","id":6767,"timestamp":9534051906,"duration":11,"tags":{},"startTime":1691877016666},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"optimize-chunk-modules","id":6768,"timestamp":9534051939,"duration":10,"tags":{},"startTime":1691877016666},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"optimize","id":6764,"timestamp":9534051788,"duration":257,"tags":{},"startTime":1691877016666},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"module-hash","id":6769,"timestamp":9534052605,"duration":221,"tags":{},"startTime":1691877016666},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"code-generation","id":6770,"timestamp":9534052847,"duration":606,"tags":{},"startTime":1691877016667},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"hash","id":6771,"timestamp":9534054495,"duration":2511,"tags":{},"startTime":1691877016668},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"code-generation-jobs","id":6772,"timestamp":9534057005,"duration":122,"tags":{},"startTime":1691877016671},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"module-assets","id":6773,"timestamp":9534057110,"duration":41,"tags":{},"startTime":1691877016671},{"traceId":"f3118a7bad57c10e","parentId":6762,"name":"create-chunk-assets","id":6774,"timestamp":9534057360,"duration":3989,"tags":{},"startTime":1691877016671},{"traceId":"f3118a7bad57c10e","parentId":6750,"name":"seal","id":6762,"timestamp":9534050611,"duration":11089,"tags":{},"startTime":1691877016664},{"traceId":"f3118a7bad57c10e","parentId":6716,"name":"webpack-compilation","id":6750,"timestamp":9533950072,"duration":111669,"tags":{"name":"server"},"startTime":1691877016564},{"traceId":"f3118a7bad57c10e","parentId":6716,"name":"emit","id":6775,"timestamp":9534061772,"duration":7282,"tags":{},"startTime":1691877016676},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6716,"timestamp":9533112595,"duration":957316,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877015726}] -[{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6780,"timestamp":9559424744,"duration":30850,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877042039},{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6784,"timestamp":9559425207,"duration":35331,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877042040},{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6786,"timestamp":9559425230,"duration":35318,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877042040},{"traceId":"f3118a7bad57c10e","parentId":6790,"name":"read-resource","id":6791,"timestamp":9559459368,"duration":2525,"tags":{},"startTime":1691877042074},{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6783,"timestamp":9559425199,"duration":72909,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877042040},{"traceId":"f3118a7bad57c10e","parentId":6788,"name":"next-swc-transform","id":6789,"timestamp":9559457866,"duration":40903,"tags":{},"startTime":1691877042072},{"traceId":"f3118a7bad57c10e","parentId":6787,"name":"next-swc-loader","id":6788,"timestamp":9559457634,"duration":41140,"tags":{},"startTime":1691877042072},{"traceId":"f3118a7bad57c10e","parentId":6778,"name":"build-module-tsx","id":6787,"timestamp":9559456616,"duration":48612,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877042071},{"traceId":"f3118a7bad57c10e","parentId":6792,"name":"postcss-process","id":6793,"timestamp":9559461961,"duration":217205,"tags":{},"startTime":1691877042077},{"traceId":"f3118a7bad57c10e","parentId":6790,"name":"postcss-loader","id":6792,"timestamp":9559461937,"duration":217728,"tags":{},"startTime":1691877042076},{"traceId":"f3118a7bad57c10e","parentId":6790,"name":"css-loader","id":6794,"timestamp":9559679703,"duration":72725,"tags":{"astUsed":"true"},"startTime":1691877042294},{"traceId":"f3118a7bad57c10e","parentId":6778,"name":"build-module-css","id":6790,"timestamp":9559459144,"duration":305817,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877042074},{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6781,"timestamp":9559425152,"duration":342656,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877042040},{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6785,"timestamp":9559425221,"duration":426324,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877042040},{"traceId":"f3118a7bad57c10e","parentId":6779,"name":"add-entry","id":6782,"timestamp":9559425186,"duration":565201,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877042040},{"traceId":"f3118a7bad57c10e","parentId":6778,"name":"make","id":6779,"timestamp":9559415265,"duration":575159,"tags":{},"startTime":1691877042030},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"chunk-graph","id":6796,"timestamp":9560002464,"duration":18093,"tags":{},"startTime":1691877042617},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"optimize-modules","id":6798,"timestamp":9560020606,"duration":10,"tags":{},"startTime":1691877042635},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"optimize-chunks","id":6799,"timestamp":9560020639,"duration":221,"tags":{},"startTime":1691877042635},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"optimize-tree","id":6800,"timestamp":9560020892,"duration":633,"tags":{},"startTime":1691877042635},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"optimize-chunk-modules","id":6801,"timestamp":9560021591,"duration":14,"tags":{},"startTime":1691877042636},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"optimize","id":6797,"timestamp":9560020593,"duration":21392,"tags":{},"startTime":1691877042635},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"module-hash","id":6802,"timestamp":9560056471,"duration":2786,"tags":{},"startTime":1691877042671},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"code-generation","id":6803,"timestamp":9560059300,"duration":11223,"tags":{},"startTime":1691877042674},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"hash","id":6804,"timestamp":9560102566,"duration":15073,"tags":{},"startTime":1691877042717},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"code-generation-jobs","id":6805,"timestamp":9560117637,"duration":215,"tags":{},"startTime":1691877042732},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"module-assets","id":6806,"timestamp":9560117821,"duration":362,"tags":{},"startTime":1691877042732},{"traceId":"f3118a7bad57c10e","parentId":6795,"name":"create-chunk-assets","id":6807,"timestamp":9560118195,"duration":2209,"tags":{},"startTime":1691877042733},{"traceId":"f3118a7bad57c10e","parentId":6778,"name":"NextJsBuildManifest-generateClientManifest","id":6809,"timestamp":9560129693,"duration":125,"tags":{},"startTime":1691877042744},{"traceId":"f3118a7bad57c10e","parentId":6778,"name":"NextJsBuildManifest-createassets","id":6808,"timestamp":9560129569,"duration":257,"tags":{},"startTime":1691877042744},{"traceId":"f3118a7bad57c10e","parentId":6778,"name":"seal","id":6795,"timestamp":9559992485,"duration":141525,"tags":{},"startTime":1691877042607},{"traceId":"f3118a7bad57c10e","parentId":6776,"name":"webpack-compilation","id":6778,"timestamp":9559414828,"duration":719292,"tags":{"name":"client"},"startTime":1691877042029},{"traceId":"f3118a7bad57c10e","parentId":6776,"name":"emit","id":6810,"timestamp":9560134162,"duration":28892,"tags":{},"startTime":1691877042749},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6776,"timestamp":9559407546,"duration":763703,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877042022},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6813,"timestamp":9560181337,"duration":0,"tags":{},"startTime":1691877042796},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6819,"timestamp":1691877042023000,"duration":939000,"tags":{"clientId":1691872020568},"startTime":1691877042970},{"traceId":"f3118a7bad57c10e","parentId":6821,"name":"next-swc-transform","id":6822,"timestamp":9560361107,"duration":3109,"tags":{},"startTime":1691877042976},{"traceId":"f3118a7bad57c10e","parentId":6820,"name":"next-swc-loader","id":6821,"timestamp":9560360915,"duration":3306,"tags":{},"startTime":1691877042975},{"traceId":"f3118a7bad57c10e","parentId":6811,"name":"build-module-tsx","id":6820,"timestamp":9560360668,"duration":5964,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877042975},{"traceId":"f3118a7bad57c10e","parentId":6812,"name":"add-entry","id":6814,"timestamp":9560201987,"duration":165640,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877042817},{"traceId":"f3118a7bad57c10e","parentId":6812,"name":"add-entry","id":6815,"timestamp":9560202075,"duration":165560,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877042817},{"traceId":"f3118a7bad57c10e","parentId":6812,"name":"add-entry","id":6816,"timestamp":9560202093,"duration":165544,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877042817},{"traceId":"f3118a7bad57c10e","parentId":6812,"name":"add-entry","id":6818,"timestamp":9560202112,"duration":165528,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877042817},{"traceId":"f3118a7bad57c10e","parentId":6812,"name":"add-entry","id":6817,"timestamp":9560202104,"duration":165573,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877042817},{"traceId":"f3118a7bad57c10e","parentId":6811,"name":"make","id":6812,"timestamp":9560173422,"duration":194277,"tags":{},"startTime":1691877042788},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"chunk-graph","id":6824,"timestamp":9560368069,"duration":550,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"optimize-modules","id":6826,"timestamp":9560368642,"duration":9,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"optimize-chunks","id":6827,"timestamp":9560368668,"duration":26,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"optimize-tree","id":6828,"timestamp":9560368714,"duration":11,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"optimize-chunk-modules","id":6829,"timestamp":9560368743,"duration":6,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"optimize","id":6825,"timestamp":9560368633,"duration":192,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"module-hash","id":6830,"timestamp":9560369063,"duration":190,"tags":{},"startTime":1691877042984},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"code-generation","id":6831,"timestamp":9560369268,"duration":833,"tags":{},"startTime":1691877042984},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"hash","id":6832,"timestamp":9560370808,"duration":2027,"tags":{},"startTime":1691877042985},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"code-generation-jobs","id":6833,"timestamp":9560372833,"duration":96,"tags":{},"startTime":1691877042987},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"module-assets","id":6834,"timestamp":9560372919,"duration":35,"tags":{},"startTime":1691877042987},{"traceId":"f3118a7bad57c10e","parentId":6823,"name":"create-chunk-assets","id":6835,"timestamp":9560372961,"duration":920,"tags":{},"startTime":1691877042988},{"traceId":"f3118a7bad57c10e","parentId":6811,"name":"seal","id":6823,"timestamp":9560367969,"duration":6138,"tags":{},"startTime":1691877042983},{"traceId":"f3118a7bad57c10e","parentId":6777,"name":"webpack-compilation","id":6811,"timestamp":9560172976,"duration":201159,"tags":{"name":"server"},"startTime":1691877042788},{"traceId":"f3118a7bad57c10e","parentId":6777,"name":"emit","id":6836,"timestamp":9560374153,"duration":3741,"tags":{},"startTime":1691877042989},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6777,"timestamp":9559407956,"duration":970973,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877042023}] -[{"traceId":"f3118a7bad57c10e","parentId":6847,"name":"next-swc-transform","id":6848,"timestamp":9573380985,"duration":11265,"tags":{},"startTime":1691877055996},{"traceId":"f3118a7bad57c10e","parentId":6846,"name":"next-swc-loader","id":6847,"timestamp":9573380754,"duration":11503,"tags":{},"startTime":1691877055996},{"traceId":"f3118a7bad57c10e","parentId":6839,"name":"build-module-tsx","id":6846,"timestamp":9573380404,"duration":24915,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877055995},{"traceId":"f3118a7bad57c10e","parentId":6840,"name":"add-entry","id":6841,"timestamp":9573307251,"duration":107146,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877055922},{"traceId":"f3118a7bad57c10e","parentId":6840,"name":"add-entry","id":6842,"timestamp":9573307370,"duration":107043,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877055922},{"traceId":"f3118a7bad57c10e","parentId":6840,"name":"add-entry","id":6843,"timestamp":9573307383,"duration":107033,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877055922},{"traceId":"f3118a7bad57c10e","parentId":6840,"name":"add-entry","id":6844,"timestamp":9573307394,"duration":107024,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877055922},{"traceId":"f3118a7bad57c10e","parentId":6840,"name":"add-entry","id":6845,"timestamp":9573307404,"duration":107017,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877055922},{"traceId":"f3118a7bad57c10e","parentId":6839,"name":"make","id":6840,"timestamp":9573304833,"duration":109621,"tags":{},"startTime":1691877055920},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"chunk-graph","id":6850,"timestamp":9573415022,"duration":1904,"tags":{},"startTime":1691877056030},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"optimize-modules","id":6852,"timestamp":9573416992,"duration":83,"tags":{},"startTime":1691877056032},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"optimize-chunks","id":6853,"timestamp":9573417128,"duration":2121,"tags":{},"startTime":1691877056032},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"optimize-tree","id":6854,"timestamp":9573419303,"duration":25,"tags":{},"startTime":1691877056034},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"optimize-chunk-modules","id":6855,"timestamp":9573419354,"duration":12,"tags":{},"startTime":1691877056034},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"optimize","id":6851,"timestamp":9573416972,"duration":2516,"tags":{},"startTime":1691877056032},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"module-hash","id":6856,"timestamp":9573419867,"duration":390,"tags":{},"startTime":1691877056035},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"code-generation","id":6857,"timestamp":9573420285,"duration":3621,"tags":{},"startTime":1691877056035},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"hash","id":6858,"timestamp":9573425650,"duration":3857,"tags":{},"startTime":1691877056041},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"code-generation-jobs","id":6859,"timestamp":9573429505,"duration":127,"tags":{},"startTime":1691877056044},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"module-assets","id":6860,"timestamp":9573429618,"duration":41,"tags":{},"startTime":1691877056045},{"traceId":"f3118a7bad57c10e","parentId":6849,"name":"create-chunk-assets","id":6861,"timestamp":9573429666,"duration":2003,"tags":{},"startTime":1691877056045},{"traceId":"f3118a7bad57c10e","parentId":6839,"name":"seal","id":6849,"timestamp":9573414885,"duration":17162,"tags":{},"startTime":1691877056030},{"traceId":"f3118a7bad57c10e","parentId":6837,"name":"webpack-compilation","id":6839,"timestamp":9573304426,"duration":127662,"tags":{"name":"server"},"startTime":1691877055919},{"traceId":"f3118a7bad57c10e","parentId":6837,"name":"emit","id":6862,"timestamp":9573432114,"duration":9609,"tags":{},"startTime":1691877056047},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6837,"timestamp":9573297194,"duration":145759,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877055912},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6865,"timestamp":9573449835,"duration":10076,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6869,"timestamp":9573449949,"duration":16326,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6871,"timestamp":9573449967,"duration":16319,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6873,"name":"next-swc-transform","id":6874,"timestamp":9573461120,"duration":5424,"tags":{},"startTime":1691877056076},{"traceId":"f3118a7bad57c10e","parentId":6872,"name":"next-swc-loader","id":6873,"timestamp":9573461000,"duration":5547,"tags":{},"startTime":1691877056076},{"traceId":"f3118a7bad57c10e","parentId":6863,"name":"build-module-tsx","id":6872,"timestamp":9573460672,"duration":18112,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877056076},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6868,"timestamp":9573449939,"duration":29336,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6875,"name":"read-resource","id":6876,"timestamp":9573462192,"duration":22730,"tags":{},"startTime":1691877056077},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6866,"timestamp":9573449908,"duration":398710,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6877,"name":"postcss-process","id":6878,"timestamp":9573485012,"duration":698216,"tags":{},"startTime":1691877056100},{"traceId":"f3118a7bad57c10e","parentId":6875,"name":"postcss-loader","id":6877,"timestamp":9573484972,"duration":699478,"tags":{},"startTime":1691877056100},{"traceId":"f3118a7bad57c10e","parentId":6875,"name":"css-loader","id":6879,"timestamp":9574184491,"duration":208450,"tags":{"astUsed":"true"},"startTime":1691877056799},{"traceId":"f3118a7bad57c10e","parentId":6863,"name":"build-module-css","id":6875,"timestamp":9573462005,"duration":974194,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877056077},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6870,"timestamp":9573449961,"duration":1197713,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6864,"name":"add-entry","id":6867,"timestamp":9573449931,"duration":1671185,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877056065},{"traceId":"f3118a7bad57c10e","parentId":6863,"name":"make","id":6864,"timestamp":9573446003,"duration":1675147,"tags":{},"startTime":1691877056061},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"chunk-graph","id":6881,"timestamp":9575133499,"duration":21971,"tags":{},"startTime":1691877057749},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"optimize-modules","id":6883,"timestamp":9575155509,"duration":11,"tags":{},"startTime":1691877057771},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"optimize-chunks","id":6884,"timestamp":9575155540,"duration":25588,"tags":{},"startTime":1691877057771},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"optimize-tree","id":6885,"timestamp":9575181175,"duration":21,"tags":{},"startTime":1691877057796},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"optimize-chunk-modules","id":6886,"timestamp":9575181232,"duration":8,"tags":{},"startTime":1691877057796},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"optimize","id":6882,"timestamp":9575155495,"duration":27500,"tags":{},"startTime":1691877057771},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"module-hash","id":6887,"timestamp":9575201910,"duration":13820,"tags":{},"startTime":1691877057817},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"code-generation","id":6888,"timestamp":9575215767,"duration":26208,"tags":{},"startTime":1691877057831},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"hash","id":6889,"timestamp":9575252977,"duration":15101,"tags":{},"startTime":1691877057868},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"code-generation-jobs","id":6890,"timestamp":9575268076,"duration":294,"tags":{},"startTime":1691877057883},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"module-assets","id":6891,"timestamp":9575268328,"duration":383,"tags":{},"startTime":1691877057883},{"traceId":"f3118a7bad57c10e","parentId":6880,"name":"create-chunk-assets","id":6892,"timestamp":9575268723,"duration":31921,"tags":{},"startTime":1691877057884},{"traceId":"f3118a7bad57c10e","parentId":6863,"name":"NextJsBuildManifest-generateClientManifest","id":6894,"timestamp":9575304818,"duration":117,"tags":{},"startTime":1691877057920},{"traceId":"f3118a7bad57c10e","parentId":6863,"name":"NextJsBuildManifest-createassets","id":6893,"timestamp":9575304694,"duration":249,"tags":{},"startTime":1691877057920},{"traceId":"f3118a7bad57c10e","parentId":6863,"name":"seal","id":6880,"timestamp":9575128214,"duration":186063,"tags":{},"startTime":1691877057743},{"traceId":"f3118a7bad57c10e","parentId":6838,"name":"webpack-compilation","id":6863,"timestamp":9573445537,"duration":1868795,"tags":{"name":"client"},"startTime":1691877056061},{"traceId":"f3118a7bad57c10e","parentId":6838,"name":"emit","id":6895,"timestamp":9575314372,"duration":52250,"tags":{},"startTime":1691877057929},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6838,"timestamp":9573297442,"duration":2070892,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877055912}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6896,"timestamp":9575395440,"duration":0,"tags":{},"startTime":1691877058010},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6897,"timestamp":1691877055913000,"duration":2174000,"tags":{"clientId":1691872020568},"startTime":1691877058094},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6902,"timestamp":9588008258,"duration":20934,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6906,"timestamp":9588008765,"duration":25144,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6907,"timestamp":9588008778,"duration":25144,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6905,"timestamp":9588008754,"duration":25636,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6910,"name":"next-swc-transform","id":6911,"timestamp":9588031262,"duration":3894,"tags":{},"startTime":1691877070647},{"traceId":"f3118a7bad57c10e","parentId":6909,"name":"next-swc-loader","id":6910,"timestamp":9588031028,"duration":4135,"tags":{},"startTime":1691877070646},{"traceId":"f3118a7bad57c10e","parentId":6900,"name":"build-module-tsx","id":6909,"timestamp":9588030590,"duration":14104,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877070646},{"traceId":"f3118a7bad57c10e","parentId":6912,"name":"read-resource","id":6913,"timestamp":9588033594,"duration":24064,"tags":{},"startTime":1691877070649},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6903,"timestamp":9588008710,"duration":79238,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6914,"name":"postcss-process","id":6915,"timestamp":9588057747,"duration":106767,"tags":{},"startTime":1691877070673},{"traceId":"f3118a7bad57c10e","parentId":6912,"name":"postcss-loader","id":6914,"timestamp":9588057710,"duration":107798,"tags":{},"startTime":1691877070673},{"traceId":"f3118a7bad57c10e","parentId":6912,"name":"css-loader","id":6916,"timestamp":9588165546,"duration":33545,"tags":{"astUsed":"true"},"startTime":1691877070781},{"traceId":"f3118a7bad57c10e","parentId":6900,"name":"build-module-css","id":6912,"timestamp":9588033279,"duration":174579,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877070649},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6908,"timestamp":9588008785,"duration":215906,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6901,"name":"add-entry","id":6904,"timestamp":9588008744,"duration":842446,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877070624},{"traceId":"f3118a7bad57c10e","parentId":6900,"name":"make","id":6901,"timestamp":9587994253,"duration":856971,"tags":{},"startTime":1691877070610},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"chunk-graph","id":6918,"timestamp":9588859573,"duration":37643,"tags":{},"startTime":1691877071475},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"optimize-modules","id":6920,"timestamp":9588897371,"duration":44,"tags":{},"startTime":1691877071513},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"optimize-chunks","id":6921,"timestamp":9588897511,"duration":297,"tags":{},"startTime":1691877071513},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"optimize-tree","id":6922,"timestamp":9588897899,"duration":52,"tags":{},"startTime":1691877071513},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"optimize-chunk-modules","id":6923,"timestamp":9588898043,"duration":44,"tags":{},"startTime":1691877071513},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"optimize","id":6919,"timestamp":9588897296,"duration":52317,"tags":{},"startTime":1691877071513},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"module-hash","id":6924,"timestamp":9589159712,"duration":5311,"tags":{},"startTime":1691877071775},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"code-generation","id":6925,"timestamp":9589165062,"duration":34967,"tags":{},"startTime":1691877071781},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"hash","id":6926,"timestamp":9589215063,"duration":18646,"tags":{},"startTime":1691877071831},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"code-generation-jobs","id":6927,"timestamp":9589233707,"duration":309,"tags":{},"startTime":1691877071849},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"module-assets","id":6928,"timestamp":9589233983,"duration":370,"tags":{},"startTime":1691877071849},{"traceId":"f3118a7bad57c10e","parentId":6917,"name":"create-chunk-assets","id":6929,"timestamp":9589234366,"duration":31475,"tags":{},"startTime":1691877071850},{"traceId":"f3118a7bad57c10e","parentId":6900,"name":"NextJsBuildManifest-generateClientManifest","id":6931,"timestamp":9589271490,"duration":144,"tags":{},"startTime":1691877071887},{"traceId":"f3118a7bad57c10e","parentId":6900,"name":"NextJsBuildManifest-createassets","id":6930,"timestamp":9589271378,"duration":264,"tags":{},"startTime":1691877071887},{"traceId":"f3118a7bad57c10e","parentId":6900,"name":"seal","id":6917,"timestamp":9588853363,"duration":428399,"tags":{},"startTime":1691877071469},{"traceId":"f3118a7bad57c10e","parentId":6898,"name":"webpack-compilation","id":6900,"timestamp":9587993755,"duration":1288070,"tags":{"name":"client"},"startTime":1691877070609},{"traceId":"f3118a7bad57c10e","parentId":6898,"name":"emit","id":6932,"timestamp":9589281862,"duration":53953,"tags":{},"startTime":1691877071897},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6898,"timestamp":9587984146,"duration":1357328,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877070600},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6935,"timestamp":9589380890,"duration":0,"tags":{},"startTime":1691877071996},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":6941,"timestamp":1691877070601000,"duration":1485000,"tags":{"clientId":1691872020568},"startTime":1691877072091},{"traceId":"f3118a7bad57c10e","parentId":6943,"name":"next-swc-transform","id":6944,"timestamp":9589491907,"duration":4947,"tags":{},"startTime":1691877072107},{"traceId":"f3118a7bad57c10e","parentId":6942,"name":"next-swc-loader","id":6943,"timestamp":9589491644,"duration":5217,"tags":{},"startTime":1691877072107},{"traceId":"f3118a7bad57c10e","parentId":6933,"name":"build-module-tsx","id":6942,"timestamp":9589491230,"duration":11556,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877072107},{"traceId":"f3118a7bad57c10e","parentId":6934,"name":"add-entry","id":6936,"timestamp":9589397553,"duration":106402,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877072013},{"traceId":"f3118a7bad57c10e","parentId":6934,"name":"add-entry","id":6937,"timestamp":9589397642,"duration":106323,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877072013},{"traceId":"f3118a7bad57c10e","parentId":6934,"name":"add-entry","id":6938,"timestamp":9589397655,"duration":106313,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877072013},{"traceId":"f3118a7bad57c10e","parentId":6934,"name":"add-entry","id":6940,"timestamp":9589397676,"duration":106296,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877072013},{"traceId":"f3118a7bad57c10e","parentId":6934,"name":"add-entry","id":6939,"timestamp":9589397665,"duration":106358,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877072013},{"traceId":"f3118a7bad57c10e","parentId":6933,"name":"make","id":6934,"timestamp":9589343343,"duration":160709,"tags":{},"startTime":1691877071959},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"chunk-graph","id":6946,"timestamp":9589504672,"duration":438,"tags":{},"startTime":1691877072120},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"optimize-modules","id":6948,"timestamp":9589505148,"duration":8,"tags":{},"startTime":1691877072121},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"optimize-chunks","id":6949,"timestamp":9589505276,"duration":90,"tags":{},"startTime":1691877072121},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"optimize-tree","id":6950,"timestamp":9589505447,"duration":11,"tags":{},"startTime":1691877072121},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"optimize-chunk-modules","id":6951,"timestamp":9589505538,"duration":9,"tags":{},"startTime":1691877072121},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"optimize","id":6947,"timestamp":9589505134,"duration":594,"tags":{},"startTime":1691877072121},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"module-hash","id":6952,"timestamp":9589509614,"duration":277,"tags":{},"startTime":1691877072125},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"code-generation","id":6953,"timestamp":9589509923,"duration":3846,"tags":{},"startTime":1691877072125},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"hash","id":6954,"timestamp":9589515027,"duration":1941,"tags":{},"startTime":1691877072130},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"code-generation-jobs","id":6955,"timestamp":9589516967,"duration":305,"tags":{},"startTime":1691877072132},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"module-assets","id":6956,"timestamp":9589517242,"duration":70,"tags":{},"startTime":1691877072133},{"traceId":"f3118a7bad57c10e","parentId":6945,"name":"create-chunk-assets","id":6957,"timestamp":9589517325,"duration":1737,"tags":{},"startTime":1691877072133},{"traceId":"f3118a7bad57c10e","parentId":6933,"name":"seal","id":6945,"timestamp":9589504536,"duration":15149,"tags":{},"startTime":1691877072120},{"traceId":"f3118a7bad57c10e","parentId":6899,"name":"webpack-compilation","id":6933,"timestamp":9589342939,"duration":176792,"tags":{"name":"server"},"startTime":1691877071958},{"traceId":"f3118a7bad57c10e","parentId":6899,"name":"emit","id":6958,"timestamp":9589519755,"duration":9992,"tags":{},"startTime":1691877072135},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6899,"timestamp":9587984688,"duration":1546410,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877070600}] -[{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6963,"timestamp":9625509228,"duration":53599,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6967,"timestamp":9625509347,"duration":62796,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6969,"timestamp":9625509369,"duration":62785,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6971,"name":"next-swc-transform","id":6972,"timestamp":9625566888,"duration":11221,"tags":{},"startTime":1691877108183},{"traceId":"f3118a7bad57c10e","parentId":6970,"name":"next-swc-loader","id":6971,"timestamp":9625563944,"duration":14171,"tags":{},"startTime":1691877108180},{"traceId":"f3118a7bad57c10e","parentId":6961,"name":"build-module-tsx","id":6970,"timestamp":9625563486,"duration":19290,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877108180},{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6966,"timestamp":9625509340,"duration":78865,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6973,"name":"read-resource","id":6974,"timestamp":9625568383,"duration":20435,"tags":{},"startTime":1691877108185},{"traceId":"f3118a7bad57c10e","parentId":6975,"name":"postcss-process","id":6976,"timestamp":9625588889,"duration":288120,"tags":{},"startTime":1691877108205},{"traceId":"f3118a7bad57c10e","parentId":6973,"name":"postcss-loader","id":6975,"timestamp":9625588864,"duration":288680,"tags":{},"startTime":1691877108205},{"traceId":"f3118a7bad57c10e","parentId":6973,"name":"css-loader","id":6977,"timestamp":9625877588,"duration":109435,"tags":{"astUsed":"true"},"startTime":1691877108494},{"traceId":"f3118a7bad57c10e","parentId":6961,"name":"build-module-css","id":6973,"timestamp":9625567879,"duration":431164,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877108184},{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6964,"timestamp":9625509318,"duration":498086,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6968,"timestamp":9625509357,"duration":516560,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6962,"name":"add-entry","id":6965,"timestamp":9625509329,"duration":936422,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877108126},{"traceId":"f3118a7bad57c10e","parentId":6961,"name":"make","id":6962,"timestamp":9625501983,"duration":943848,"tags":{},"startTime":1691877108119},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"chunk-graph","id":6979,"timestamp":9626481493,"duration":225007,"tags":{},"startTime":1691877109098},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"optimize-modules","id":6981,"timestamp":9626706549,"duration":12,"tags":{},"startTime":1691877109323},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"optimize-chunks","id":6982,"timestamp":9626706587,"duration":234,"tags":{},"startTime":1691877109323},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"optimize-tree","id":6983,"timestamp":9626706854,"duration":10,"tags":{},"startTime":1691877109323},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"optimize-chunk-modules","id":6984,"timestamp":9626706897,"duration":15,"tags":{},"startTime":1691877109323},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"optimize","id":6980,"timestamp":9626706534,"duration":14218,"tags":{},"startTime":1691877109323},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"module-hash","id":6985,"timestamp":9626785723,"duration":3999,"tags":{},"startTime":1691877109402},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"code-generation","id":6986,"timestamp":9626789756,"duration":340513,"tags":{},"startTime":1691877109406},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"hash","id":6987,"timestamp":9627158584,"duration":17221,"tags":{},"startTime":1691877109775},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"code-generation-jobs","id":6988,"timestamp":9627175803,"duration":253,"tags":{},"startTime":1691877109792},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"module-assets","id":6989,"timestamp":9627176024,"duration":391,"tags":{},"startTime":1691877109793},{"traceId":"f3118a7bad57c10e","parentId":6978,"name":"create-chunk-assets","id":6990,"timestamp":9627176431,"duration":2464,"tags":{},"startTime":1691877109793},{"traceId":"f3118a7bad57c10e","parentId":6961,"name":"NextJsBuildManifest-generateClientManifest","id":6992,"timestamp":9627186889,"duration":155,"tags":{},"startTime":1691877109803},{"traceId":"f3118a7bad57c10e","parentId":6961,"name":"NextJsBuildManifest-createassets","id":6991,"timestamp":9627186772,"duration":281,"tags":{},"startTime":1691877109803},{"traceId":"f3118a7bad57c10e","parentId":6961,"name":"seal","id":6978,"timestamp":9626448101,"duration":785185,"tags":{},"startTime":1691877109065},{"traceId":"f3118a7bad57c10e","parentId":6959,"name":"webpack-compilation","id":6961,"timestamp":9625501279,"duration":1732057,"tags":{"name":"client"},"startTime":1691877108118},{"traceId":"f3118a7bad57c10e","parentId":6959,"name":"emit","id":6993,"timestamp":9627233365,"duration":44389,"tags":{},"startTime":1691877109850},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":6959,"timestamp":9625492211,"duration":1786918,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877108109},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":6996,"timestamp":9627290327,"duration":0,"tags":{},"startTime":1691877109907},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7002,"timestamp":1691877108110000,"duration":1931000,"tags":{"clientId":1691872020568},"startTime":1691877110054},{"traceId":"f3118a7bad57c10e","parentId":7004,"name":"next-swc-transform","id":7005,"timestamp":9627467677,"duration":31177,"tags":{},"startTime":1691877110084},{"traceId":"f3118a7bad57c10e","parentId":7003,"name":"next-swc-loader","id":7004,"timestamp":9627467465,"duration":31395,"tags":{},"startTime":1691877110084},{"traceId":"f3118a7bad57c10e","parentId":6994,"name":"build-module-tsx","id":7003,"timestamp":9627467098,"duration":36571,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877110084},{"traceId":"f3118a7bad57c10e","parentId":6995,"name":"add-entry","id":6997,"timestamp":9627300918,"duration":205525,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877109918},{"traceId":"f3118a7bad57c10e","parentId":6995,"name":"add-entry","id":6998,"timestamp":9627300997,"duration":205458,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877109918},{"traceId":"f3118a7bad57c10e","parentId":6995,"name":"add-entry","id":6999,"timestamp":9627301008,"duration":205450,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877109918},{"traceId":"f3118a7bad57c10e","parentId":6995,"name":"add-entry","id":7001,"timestamp":9627301117,"duration":205343,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877109918},{"traceId":"f3118a7bad57c10e","parentId":6995,"name":"add-entry","id":7000,"timestamp":9627301106,"duration":205424,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877109918},{"traceId":"f3118a7bad57c10e","parentId":6994,"name":"make","id":6995,"timestamp":9627282360,"duration":224198,"tags":{},"startTime":1691877109899},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"chunk-graph","id":7007,"timestamp":9627506954,"duration":311,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"optimize-modules","id":7009,"timestamp":9627507287,"duration":5,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"optimize-chunks","id":7010,"timestamp":9627507306,"duration":26,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"optimize-tree","id":7011,"timestamp":9627507356,"duration":7,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"optimize-chunk-modules","id":7012,"timestamp":9627507382,"duration":6,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"optimize","id":7008,"timestamp":9627507278,"duration":195,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"module-hash","id":7013,"timestamp":9627507721,"duration":189,"tags":{},"startTime":1691877110124},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"code-generation","id":7014,"timestamp":9627507983,"duration":522,"tags":{},"startTime":1691877110125},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"hash","id":7015,"timestamp":9627509326,"duration":5612,"tags":{},"startTime":1691877110126},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"code-generation-jobs","id":7016,"timestamp":9627514935,"duration":100,"tags":{},"startTime":1691877110132},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"module-assets","id":7017,"timestamp":9627515024,"duration":40,"tags":{},"startTime":1691877110132},{"traceId":"f3118a7bad57c10e","parentId":7006,"name":"create-chunk-assets","id":7018,"timestamp":9627515070,"duration":1244,"tags":{},"startTime":1691877110132},{"traceId":"f3118a7bad57c10e","parentId":6994,"name":"seal","id":7006,"timestamp":9627506860,"duration":9905,"tags":{},"startTime":1691877110123},{"traceId":"f3118a7bad57c10e","parentId":6960,"name":"webpack-compilation","id":6994,"timestamp":9627281942,"duration":234861,"tags":{"name":"server"},"startTime":1691877109899},{"traceId":"f3118a7bad57c10e","parentId":6960,"name":"emit","id":7019,"timestamp":9627516827,"duration":12918,"tags":{},"startTime":1691877110133},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":6960,"timestamp":9625492522,"duration":2038350,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877108109}] -[{"traceId":"f3118a7bad57c10e","parentId":7030,"name":"next-swc-transform","id":7031,"timestamp":9642902852,"duration":7275,"tags":{},"startTime":1691877125520},{"traceId":"f3118a7bad57c10e","parentId":7029,"name":"next-swc-loader","id":7030,"timestamp":9642902630,"duration":7505,"tags":{},"startTime":1691877125520},{"traceId":"f3118a7bad57c10e","parentId":7022,"name":"build-module-tsx","id":7029,"timestamp":9642902347,"duration":12187,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877125519},{"traceId":"f3118a7bad57c10e","parentId":7023,"name":"add-entry","id":7024,"timestamp":9642840993,"duration":75011,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877125458},{"traceId":"f3118a7bad57c10e","parentId":7023,"name":"add-entry","id":7025,"timestamp":9642841121,"duration":74899,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877125458},{"traceId":"f3118a7bad57c10e","parentId":7023,"name":"add-entry","id":7026,"timestamp":9642841138,"duration":74884,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877125458},{"traceId":"f3118a7bad57c10e","parentId":7023,"name":"add-entry","id":7027,"timestamp":9642841146,"duration":74942,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877125458},{"traceId":"f3118a7bad57c10e","parentId":7023,"name":"add-entry","id":7028,"timestamp":9642841157,"duration":75601,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877125458},{"traceId":"f3118a7bad57c10e","parentId":7022,"name":"make","id":7023,"timestamp":9642825166,"duration":91627,"tags":{},"startTime":1691877125442},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"chunk-graph","id":7033,"timestamp":9642917375,"duration":688,"tags":{},"startTime":1691877125534},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"optimize-modules","id":7035,"timestamp":9642918094,"duration":9,"tags":{},"startTime":1691877125535},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"optimize-chunks","id":7036,"timestamp":9642918123,"duration":37,"tags":{},"startTime":1691877125535},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"optimize-tree","id":7037,"timestamp":9642918187,"duration":10,"tags":{},"startTime":1691877125535},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"optimize-chunk-modules","id":7038,"timestamp":9642918218,"duration":9,"tags":{},"startTime":1691877125535},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"optimize","id":7034,"timestamp":9642918083,"duration":234,"tags":{},"startTime":1691877125535},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"module-hash","id":7039,"timestamp":9642918657,"duration":1605,"tags":{},"startTime":1691877125536},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"code-generation","id":7040,"timestamp":9642920301,"duration":892,"tags":{},"startTime":1691877125537},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"hash","id":7041,"timestamp":9642922288,"duration":1900,"tags":{},"startTime":1691877125539},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"code-generation-jobs","id":7042,"timestamp":9642924186,"duration":140,"tags":{},"startTime":1691877125541},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"module-assets","id":7043,"timestamp":9642924307,"duration":47,"tags":{},"startTime":1691877125541},{"traceId":"f3118a7bad57c10e","parentId":7032,"name":"create-chunk-assets","id":7044,"timestamp":9642924365,"duration":1269,"tags":{},"startTime":1691877125541},{"traceId":"f3118a7bad57c10e","parentId":7022,"name":"seal","id":7032,"timestamp":9642917240,"duration":8706,"tags":{},"startTime":1691877125534},{"traceId":"f3118a7bad57c10e","parentId":7020,"name":"webpack-compilation","id":7022,"timestamp":9642824618,"duration":101360,"tags":{"name":"server"},"startTime":1691877125442},{"traceId":"f3118a7bad57c10e","parentId":7020,"name":"emit","id":7045,"timestamp":9642926006,"duration":4323,"tags":{},"startTime":1691877125543},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7020,"timestamp":9642816367,"duration":114751,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877125433},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7048,"timestamp":9642936450,"duration":10660,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7052,"timestamp":9642936565,"duration":13779,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7054,"timestamp":9642936582,"duration":13774,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7051,"timestamp":9642936557,"duration":14453,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7058,"name":"read-resource","id":7059,"timestamp":9642950001,"duration":2194,"tags":{},"startTime":1691877125567},{"traceId":"f3118a7bad57c10e","parentId":7056,"name":"next-swc-transform","id":7057,"timestamp":9642948562,"duration":23698,"tags":{},"startTime":1691877125566},{"traceId":"f3118a7bad57c10e","parentId":7055,"name":"next-swc-loader","id":7056,"timestamp":9642948398,"duration":23869,"tags":{},"startTime":1691877125565},{"traceId":"f3118a7bad57c10e","parentId":7046,"name":"build-module-tsx","id":7055,"timestamp":9642948037,"duration":33072,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877125565},{"traceId":"f3118a7bad57c10e","parentId":7060,"name":"postcss-process","id":7061,"timestamp":9642952297,"duration":386494,"tags":{},"startTime":1691877125569},{"traceId":"f3118a7bad57c10e","parentId":7058,"name":"postcss-loader","id":7060,"timestamp":9642952254,"duration":389790,"tags":{},"startTime":1691877125569},{"traceId":"f3118a7bad57c10e","parentId":7058,"name":"css-loader","id":7062,"timestamp":9643342092,"duration":143025,"tags":{"astUsed":"true"},"startTime":1691877125959},{"traceId":"f3118a7bad57c10e","parentId":7046,"name":"build-module-css","id":7058,"timestamp":9642949744,"duration":557871,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877125567},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7049,"timestamp":9642936528,"duration":917463,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7053,"timestamp":9642936575,"duration":1034138,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7047,"name":"add-entry","id":7050,"timestamp":9642936547,"duration":1176060,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877125554},{"traceId":"f3118a7bad57c10e","parentId":7046,"name":"make","id":7047,"timestamp":9642933639,"duration":1179010,"tags":{},"startTime":1691877125551},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"chunk-graph","id":7064,"timestamp":9644122327,"duration":33483,"tags":{},"startTime":1691877126739},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"optimize-modules","id":7066,"timestamp":9644155847,"duration":7,"tags":{},"startTime":1691877126773},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"optimize-chunks","id":7067,"timestamp":9644155872,"duration":198,"tags":{},"startTime":1691877126773},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"optimize-tree","id":7068,"timestamp":9644156101,"duration":9,"tags":{},"startTime":1691877126773},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"optimize-chunk-modules","id":7069,"timestamp":9644156138,"duration":6,"tags":{},"startTime":1691877126773},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"optimize","id":7065,"timestamp":9644155834,"duration":11727,"tags":{},"startTime":1691877126773},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"module-hash","id":7070,"timestamp":9644200896,"duration":2629,"tags":{},"startTime":1691877126818},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"code-generation","id":7071,"timestamp":9644203557,"duration":18534,"tags":{},"startTime":1691877126821},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"hash","id":7072,"timestamp":9644236245,"duration":67482,"tags":{},"startTime":1691877126853},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"code-generation-jobs","id":7073,"timestamp":9644303725,"duration":361,"tags":{},"startTime":1691877126921},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"module-assets","id":7074,"timestamp":9644303938,"duration":691,"tags":{},"startTime":1691877126921},{"traceId":"f3118a7bad57c10e","parentId":7063,"name":"create-chunk-assets","id":7075,"timestamp":9644304661,"duration":61411,"tags":{},"startTime":1691877126922},{"traceId":"f3118a7bad57c10e","parentId":7046,"name":"NextJsBuildManifest-generateClientManifest","id":7077,"timestamp":9644373892,"duration":126,"tags":{},"startTime":1691877126991},{"traceId":"f3118a7bad57c10e","parentId":7046,"name":"NextJsBuildManifest-createassets","id":7076,"timestamp":9644373753,"duration":273,"tags":{},"startTime":1691877126991},{"traceId":"f3118a7bad57c10e","parentId":7046,"name":"seal","id":7063,"timestamp":9644117241,"duration":275738,"tags":{},"startTime":1691877126734},{"traceId":"f3118a7bad57c10e","parentId":7021,"name":"webpack-compilation","id":7046,"timestamp":9642933283,"duration":1459754,"tags":{"name":"client"},"startTime":1691877125550},{"traceId":"f3118a7bad57c10e","parentId":7021,"name":"emit","id":7078,"timestamp":9644393075,"duration":109497,"tags":{},"startTime":1691877127010},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7021,"timestamp":9642816755,"duration":1688071,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877125434}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7079,"timestamp":9644538911,"duration":0,"tags":{},"startTime":1691877127156},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7080,"timestamp":1691877125435000,"duration":1816000,"tags":{"clientId":1691872020568},"startTime":1691877127255},{"traceId":"f3118a7bad57c10e","parentId":7091,"name":"next-swc-transform","id":7092,"timestamp":9650084727,"duration":5364,"tags":{},"startTime":1691877132702},{"traceId":"f3118a7bad57c10e","parentId":7090,"name":"next-swc-loader","id":7091,"timestamp":9650084473,"duration":5624,"tags":{},"startTime":1691877132702},{"traceId":"f3118a7bad57c10e","parentId":7083,"name":"build-module-tsx","id":7090,"timestamp":9650084162,"duration":9803,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877132701},{"traceId":"f3118a7bad57c10e","parentId":7084,"name":"add-entry","id":7085,"timestamp":9650055258,"duration":41554,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877132673},{"traceId":"f3118a7bad57c10e","parentId":7084,"name":"add-entry","id":7086,"timestamp":9650055347,"duration":41477,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877132673},{"traceId":"f3118a7bad57c10e","parentId":7084,"name":"add-entry","id":7087,"timestamp":9650055359,"duration":41468,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877132673},{"traceId":"f3118a7bad57c10e","parentId":7084,"name":"add-entry","id":7088,"timestamp":9650055365,"duration":41465,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877132673},{"traceId":"f3118a7bad57c10e","parentId":7084,"name":"add-entry","id":7089,"timestamp":9650055372,"duration":41460,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877132673},{"traceId":"f3118a7bad57c10e","parentId":7083,"name":"make","id":7084,"timestamp":9650032104,"duration":64770,"tags":{},"startTime":1691877132649},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"chunk-graph","id":7094,"timestamp":9650097360,"duration":444,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"optimize-modules","id":7096,"timestamp":9650097840,"duration":5,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"optimize-chunks","id":7097,"timestamp":9650097866,"duration":34,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"optimize-tree","id":7098,"timestamp":9650097929,"duration":7,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"optimize-chunk-modules","id":7099,"timestamp":9650097957,"duration":9,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"optimize","id":7095,"timestamp":9650097825,"duration":244,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"module-hash","id":7100,"timestamp":9650098421,"duration":1483,"tags":{},"startTime":1691877132716},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"code-generation","id":7101,"timestamp":9650099986,"duration":2374,"tags":{},"startTime":1691877132717},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"hash","id":7102,"timestamp":9650104068,"duration":1653,"tags":{},"startTime":1691877132721},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"code-generation-jobs","id":7103,"timestamp":9650105720,"duration":104,"tags":{},"startTime":1691877132723},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"module-assets","id":7104,"timestamp":9650105814,"duration":35,"tags":{},"startTime":1691877132723},{"traceId":"f3118a7bad57c10e","parentId":7093,"name":"create-chunk-assets","id":7105,"timestamp":9650105856,"duration":1262,"tags":{},"startTime":1691877132723},{"traceId":"f3118a7bad57c10e","parentId":7083,"name":"seal","id":7093,"timestamp":9650097235,"duration":10401,"tags":{},"startTime":1691877132715},{"traceId":"f3118a7bad57c10e","parentId":7081,"name":"webpack-compilation","id":7083,"timestamp":9650031685,"duration":76001,"tags":{"name":"server"},"startTime":1691877132649},{"traceId":"f3118a7bad57c10e","parentId":7081,"name":"emit","id":7106,"timestamp":9650107721,"duration":15361,"tags":{},"startTime":1691877132725},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7081,"timestamp":9650021465,"duration":102175,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877132639},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7109,"timestamp":9650128432,"duration":7077,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7117,"name":"next-swc-transform","id":7118,"timestamp":9650138324,"duration":9665,"tags":{},"startTime":1691877132756},{"traceId":"f3118a7bad57c10e","parentId":7116,"name":"next-swc-loader","id":7117,"timestamp":9650138157,"duration":9838,"tags":{},"startTime":1691877132755},{"traceId":"f3118a7bad57c10e","parentId":7107,"name":"build-module-tsx","id":7116,"timestamp":9650137422,"duration":13925,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877132755},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7113,"timestamp":9650128537,"duration":22951,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7114,"timestamp":9650128549,"duration":22944,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7112,"timestamp":9650128526,"duration":23724,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7119,"name":"read-resource","id":7120,"timestamp":9650147790,"duration":5095,"tags":{},"startTime":1691877132765},{"traceId":"f3118a7bad57c10e","parentId":7121,"name":"postcss-process","id":7122,"timestamp":9650152945,"duration":110648,"tags":{},"startTime":1691877132770},{"traceId":"f3118a7bad57c10e","parentId":7119,"name":"postcss-loader","id":7121,"timestamp":9650152922,"duration":113104,"tags":{},"startTime":1691877132770},{"traceId":"f3118a7bad57c10e","parentId":7119,"name":"css-loader","id":7123,"timestamp":9650266072,"duration":214105,"tags":{"astUsed":"true"},"startTime":1691877132883},{"traceId":"f3118a7bad57c10e","parentId":7107,"name":"build-module-css","id":7119,"timestamp":9650147604,"duration":353793,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877132765},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7110,"timestamp":9650128501,"duration":385449,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7115,"timestamp":9650128555,"duration":421461,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7108,"name":"add-entry","id":7111,"timestamp":9650128519,"duration":569601,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877132746},{"traceId":"f3118a7bad57c10e","parentId":7107,"name":"make","id":7108,"timestamp":9650126552,"duration":571601,"tags":{},"startTime":1691877132744},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"chunk-graph","id":7125,"timestamp":9650706894,"duration":12523,"tags":{},"startTime":1691877133324},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"optimize-modules","id":7127,"timestamp":9650719506,"duration":8,"tags":{},"startTime":1691877133337},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"optimize-chunks","id":7128,"timestamp":9650719532,"duration":625,"tags":{},"startTime":1691877133337},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"optimize-tree","id":7129,"timestamp":9650720244,"duration":23,"tags":{},"startTime":1691877133338},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"optimize-chunk-modules","id":7130,"timestamp":9650720326,"duration":14,"tags":{},"startTime":1691877133338},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"optimize","id":7126,"timestamp":9650719488,"duration":2441,"tags":{},"startTime":1691877133337},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"module-hash","id":7131,"timestamp":9650742221,"duration":3918,"tags":{},"startTime":1691877133360},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"code-generation","id":7132,"timestamp":9650746170,"duration":8830,"tags":{},"startTime":1691877133363},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"hash","id":7133,"timestamp":9650761941,"duration":15157,"tags":{},"startTime":1691877133379},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"code-generation-jobs","id":7134,"timestamp":9650777095,"duration":228,"tags":{},"startTime":1691877133394},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"module-assets","id":7135,"timestamp":9650777295,"duration":363,"tags":{},"startTime":1691877133395},{"traceId":"f3118a7bad57c10e","parentId":7124,"name":"create-chunk-assets","id":7136,"timestamp":9650777672,"duration":28356,"tags":{},"startTime":1691877133395},{"traceId":"f3118a7bad57c10e","parentId":7107,"name":"NextJsBuildManifest-generateClientManifest","id":7138,"timestamp":9650808934,"duration":140,"tags":{},"startTime":1691877133426},{"traceId":"f3118a7bad57c10e","parentId":7107,"name":"NextJsBuildManifest-createassets","id":7137,"timestamp":9650808851,"duration":233,"tags":{},"startTime":1691877133426},{"traceId":"f3118a7bad57c10e","parentId":7107,"name":"seal","id":7124,"timestamp":9650702329,"duration":114060,"tags":{},"startTime":1691877133320},{"traceId":"f3118a7bad57c10e","parentId":7082,"name":"webpack-compilation","id":7107,"timestamp":9650126115,"duration":690334,"tags":{"name":"client"},"startTime":1691877132743},{"traceId":"f3118a7bad57c10e","parentId":7082,"name":"emit","id":7139,"timestamp":9650816491,"duration":139627,"tags":{},"startTime":1691877133434},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7082,"timestamp":9650022228,"duration":937427,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877132639}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7140,"timestamp":9650972071,"duration":0,"tags":{},"startTime":1691877133589},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7141,"timestamp":1691877132641000,"duration":1125000,"tags":{"clientId":1691872020568},"startTime":1691877133767},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7146,"timestamp":9756907428,"duration":34039,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7150,"timestamp":9756907701,"duration":40753,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7152,"timestamp":9756907716,"duration":40753,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7149,"timestamp":9756907693,"duration":43348,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7156,"name":"read-resource","id":7157,"timestamp":9756946643,"duration":6298,"tags":{},"startTime":1691877239567},{"traceId":"f3118a7bad57c10e","parentId":7154,"name":"next-swc-transform","id":7155,"timestamp":9756945386,"duration":26802,"tags":{},"startTime":1691877239566},{"traceId":"f3118a7bad57c10e","parentId":7153,"name":"next-swc-loader","id":7154,"timestamp":9756944758,"duration":27437,"tags":{},"startTime":1691877239565},{"traceId":"f3118a7bad57c10e","parentId":7144,"name":"build-module-tsx","id":7153,"timestamp":9756944337,"duration":37750,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877239565},{"traceId":"f3118a7bad57c10e","parentId":7158,"name":"postcss-process","id":7159,"timestamp":9756953086,"duration":111329,"tags":{},"startTime":1691877239574},{"traceId":"f3118a7bad57c10e","parentId":7156,"name":"postcss-loader","id":7158,"timestamp":9756953053,"duration":113721,"tags":{},"startTime":1691877239574},{"traceId":"f3118a7bad57c10e","parentId":7156,"name":"css-loader","id":7160,"timestamp":9757066815,"duration":39260,"tags":{"astUsed":"true"},"startTime":1691877239687},{"traceId":"f3118a7bad57c10e","parentId":7144,"name":"build-module-css","id":7156,"timestamp":9756946245,"duration":168235,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877239567},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7147,"timestamp":9756907665,"duration":209564,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7151,"timestamp":9756907709,"duration":224714,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7145,"name":"add-entry","id":7148,"timestamp":9756907685,"duration":350538,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877239528},{"traceId":"f3118a7bad57c10e","parentId":7144,"name":"make","id":7145,"timestamp":9756904169,"duration":354099,"tags":{},"startTime":1691877239525},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"chunk-graph","id":7162,"timestamp":9757265856,"duration":12725,"tags":{},"startTime":1691877239886},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"optimize-modules","id":7164,"timestamp":9757278714,"duration":56,"tags":{},"startTime":1691877239899},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"optimize-chunks","id":7165,"timestamp":9757278855,"duration":257,"tags":{},"startTime":1691877239899},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"optimize-tree","id":7166,"timestamp":9757279192,"duration":55,"tags":{},"startTime":1691877239900},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"optimize-chunk-modules","id":7167,"timestamp":9757279335,"duration":42,"tags":{},"startTime":1691877239900},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"optimize","id":7163,"timestamp":9757278654,"duration":2623,"tags":{},"startTime":1691877239899},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"module-hash","id":7168,"timestamp":9757313758,"duration":4794,"tags":{},"startTime":1691877239934},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"code-generation","id":7169,"timestamp":9757318591,"duration":16545,"tags":{},"startTime":1691877239939},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"hash","id":7170,"timestamp":9757350708,"duration":27606,"tags":{},"startTime":1691877239971},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"code-generation-jobs","id":7171,"timestamp":9757378310,"duration":1536,"tags":{},"startTime":1691877239999},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"module-assets","id":7172,"timestamp":9757379693,"duration":523,"tags":{},"startTime":1691877240000},{"traceId":"f3118a7bad57c10e","parentId":7161,"name":"create-chunk-assets","id":7173,"timestamp":9757380240,"duration":125184,"tags":{},"startTime":1691877240001},{"traceId":"f3118a7bad57c10e","parentId":7144,"name":"NextJsBuildManifest-generateClientManifest","id":7175,"timestamp":9757533789,"duration":148,"tags":{},"startTime":1691877240154},{"traceId":"f3118a7bad57c10e","parentId":7144,"name":"NextJsBuildManifest-createassets","id":7174,"timestamp":9757525122,"duration":8824,"tags":{},"startTime":1691877240146},{"traceId":"f3118a7bad57c10e","parentId":7144,"name":"seal","id":7161,"timestamp":9757260429,"duration":286635,"tags":{},"startTime":1691877239881},{"traceId":"f3118a7bad57c10e","parentId":7142,"name":"webpack-compilation","id":7144,"timestamp":9756903813,"duration":643312,"tags":{"name":"client"},"startTime":1691877239524},{"traceId":"f3118a7bad57c10e","parentId":7142,"name":"emit","id":7176,"timestamp":9757547156,"duration":57685,"tags":{},"startTime":1691877240168},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7142,"timestamp":9756894412,"duration":717370,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877239515},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7179,"timestamp":9757634109,"duration":0,"tags":{},"startTime":1691877240255},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7185,"timestamp":1691877239516000,"duration":948000,"tags":{"clientId":1691872020568},"startTime":1691877240470},{"traceId":"f3118a7bad57c10e","parentId":7178,"name":"add-entry","id":7180,"timestamp":9757686819,"duration":171976,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877240307},{"traceId":"f3118a7bad57c10e","parentId":7178,"name":"add-entry","id":7181,"timestamp":9757686940,"duration":172067,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877240307},{"traceId":"f3118a7bad57c10e","parentId":7178,"name":"add-entry","id":7182,"timestamp":9757686955,"duration":172059,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877240307},{"traceId":"f3118a7bad57c10e","parentId":7178,"name":"add-entry","id":7184,"timestamp":9757686972,"duration":172046,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877240307},{"traceId":"f3118a7bad57c10e","parentId":7187,"name":"next-swc-transform","id":7188,"timestamp":9757854577,"duration":6948,"tags":{},"startTime":1691877240475},{"traceId":"f3118a7bad57c10e","parentId":7186,"name":"next-swc-loader","id":7187,"timestamp":9757854403,"duration":7131,"tags":{},"startTime":1691877240475},{"traceId":"f3118a7bad57c10e","parentId":7177,"name":"build-module-tsx","id":7186,"timestamp":9757854040,"duration":12119,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877240475},{"traceId":"f3118a7bad57c10e","parentId":7178,"name":"add-entry","id":7183,"timestamp":9757686963,"duration":179639,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877240307},{"traceId":"f3118a7bad57c10e","parentId":7177,"name":"make","id":7178,"timestamp":9757616806,"duration":249821,"tags":{},"startTime":1691877240237},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"chunk-graph","id":7190,"timestamp":9757867231,"duration":657,"tags":{},"startTime":1691877240488},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"optimize-modules","id":7192,"timestamp":9757867917,"duration":7,"tags":{},"startTime":1691877240488},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"optimize-chunks","id":7193,"timestamp":9757868047,"duration":75,"tags":{},"startTime":1691877240489},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"optimize-tree","id":7194,"timestamp":9757868892,"duration":554,"tags":{},"startTime":1691877240489},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"optimize-chunk-modules","id":7195,"timestamp":9757869674,"duration":19,"tags":{},"startTime":1691877240490},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"optimize","id":7191,"timestamp":9757867906,"duration":1990,"tags":{},"startTime":1691877240488},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"module-hash","id":7196,"timestamp":9757870260,"duration":221,"tags":{},"startTime":1691877240491},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"code-generation","id":7197,"timestamp":9757870500,"duration":559,"tags":{},"startTime":1691877240491},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"hash","id":7198,"timestamp":9757872246,"duration":4940,"tags":{},"startTime":1691877240493},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"code-generation-jobs","id":7199,"timestamp":9757877184,"duration":139,"tags":{},"startTime":1691877240498},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"module-assets","id":7200,"timestamp":9757877309,"duration":42,"tags":{},"startTime":1691877240498},{"traceId":"f3118a7bad57c10e","parentId":7189,"name":"create-chunk-assets","id":7201,"timestamp":9757877358,"duration":6520,"tags":{},"startTime":1691877240498},{"traceId":"f3118a7bad57c10e","parentId":7177,"name":"seal","id":7189,"timestamp":9757867123,"duration":17383,"tags":{},"startTime":1691877240488},{"traceId":"f3118a7bad57c10e","parentId":7143,"name":"webpack-compilation","id":7177,"timestamp":9757614067,"duration":270483,"tags":{"name":"server"},"startTime":1691877240235},{"traceId":"f3118a7bad57c10e","parentId":7143,"name":"emit","id":7202,"timestamp":9757884575,"duration":10677,"tags":{},"startTime":1691877240505},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7143,"timestamp":9756895171,"duration":1003150,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877239516}] -[{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7207,"timestamp":9763174721,"duration":24461,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877245795},{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7211,"timestamp":9763174849,"duration":27113,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877245796},{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7212,"timestamp":9763174857,"duration":27115,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877245796},{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7210,"timestamp":9763174843,"duration":29120,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877245796},{"traceId":"f3118a7bad57c10e","parentId":7217,"name":"read-resource","id":7218,"timestamp":9763201641,"duration":3945,"tags":{},"startTime":1691877245822},{"traceId":"f3118a7bad57c10e","parentId":7215,"name":"next-swc-transform","id":7216,"timestamp":9763200675,"duration":19008,"tags":{},"startTime":1691877245821},{"traceId":"f3118a7bad57c10e","parentId":7214,"name":"next-swc-loader","id":7215,"timestamp":9763200547,"duration":19142,"tags":{},"startTime":1691877245821},{"traceId":"f3118a7bad57c10e","parentId":7205,"name":"build-module-tsx","id":7214,"timestamp":9763200116,"duration":46109,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877245821},{"traceId":"f3118a7bad57c10e","parentId":7219,"name":"postcss-process","id":7220,"timestamp":9763205663,"duration":125867,"tags":{},"startTime":1691877245826},{"traceId":"f3118a7bad57c10e","parentId":7217,"name":"postcss-loader","id":7219,"timestamp":9763205637,"duration":126440,"tags":{},"startTime":1691877245826},{"traceId":"f3118a7bad57c10e","parentId":7217,"name":"css-loader","id":7221,"timestamp":9763332107,"duration":21398,"tags":{"astUsed":"true"},"startTime":1691877245953},{"traceId":"f3118a7bad57c10e","parentId":7205,"name":"build-module-css","id":7217,"timestamp":9763201326,"duration":163519,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877245822},{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7208,"timestamp":9763174822,"duration":190467,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877245795},{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7213,"timestamp":9763174863,"duration":203327,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877245796},{"traceId":"f3118a7bad57c10e","parentId":7206,"name":"add-entry","id":7209,"timestamp":9763174836,"duration":267014,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877245795},{"traceId":"f3118a7bad57c10e","parentId":7205,"name":"make","id":7206,"timestamp":9763172357,"duration":269529,"tags":{},"startTime":1691877245793},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"chunk-graph","id":7223,"timestamp":9763446604,"duration":31212,"tags":{},"startTime":1691877246067},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"optimize-modules","id":7225,"timestamp":9763477866,"duration":7,"tags":{},"startTime":1691877246099},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"optimize-chunks","id":7226,"timestamp":9763477890,"duration":196,"tags":{},"startTime":1691877246099},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"optimize-tree","id":7227,"timestamp":9763478115,"duration":8,"tags":{},"startTime":1691877246099},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"optimize-chunk-modules","id":7228,"timestamp":9763478152,"duration":6,"tags":{},"startTime":1691877246099},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"optimize","id":7224,"timestamp":9763477848,"duration":7924,"tags":{},"startTime":1691877246099},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"module-hash","id":7229,"timestamp":9763501465,"duration":1998,"tags":{},"startTime":1691877246122},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"code-generation","id":7230,"timestamp":9763503495,"duration":118644,"tags":{},"startTime":1691877246124},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"hash","id":7231,"timestamp":9763666324,"duration":41645,"tags":{},"startTime":1691877246287},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"code-generation-jobs","id":7232,"timestamp":9763707966,"duration":1389,"tags":{},"startTime":1691877246329},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"module-assets","id":7233,"timestamp":9763709218,"duration":1778,"tags":{},"startTime":1691877246330},{"traceId":"f3118a7bad57c10e","parentId":7222,"name":"create-chunk-assets","id":7234,"timestamp":9763711071,"duration":4951,"tags":{},"startTime":1691877246332},{"traceId":"f3118a7bad57c10e","parentId":7205,"name":"NextJsBuildManifest-generateClientManifest","id":7236,"timestamp":9763722649,"duration":104,"tags":{},"startTime":1691877246343},{"traceId":"f3118a7bad57c10e","parentId":7205,"name":"NextJsBuildManifest-createassets","id":7235,"timestamp":9763722543,"duration":218,"tags":{},"startTime":1691877246343},{"traceId":"f3118a7bad57c10e","parentId":7205,"name":"seal","id":7222,"timestamp":9763443305,"duration":288725,"tags":{},"startTime":1691877246064},{"traceId":"f3118a7bad57c10e","parentId":7203,"name":"webpack-compilation","id":7205,"timestamp":9763171953,"duration":560131,"tags":{"name":"client"},"startTime":1691877245793},{"traceId":"f3118a7bad57c10e","parentId":7203,"name":"emit","id":7237,"timestamp":9763732115,"duration":57939,"tags":{},"startTime":1691877246353},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7203,"timestamp":9763164160,"duration":628292,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877245785},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7240,"timestamp":9763811645,"duration":0,"tags":{},"startTime":1691877246432},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7246,"timestamp":1691877245786000,"duration":774000,"tags":{"clientId":1691872020568},"startTime":1691877246569},{"traceId":"f3118a7bad57c10e","parentId":7239,"name":"add-entry","id":7241,"timestamp":9763825031,"duration":154593,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877246446},{"traceId":"f3118a7bad57c10e","parentId":7239,"name":"add-entry","id":7242,"timestamp":9763825361,"duration":154274,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877246446},{"traceId":"f3118a7bad57c10e","parentId":7239,"name":"add-entry","id":7243,"timestamp":9763825407,"duration":154231,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877246446},{"traceId":"f3118a7bad57c10e","parentId":7239,"name":"add-entry","id":7245,"timestamp":9763825434,"duration":154206,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877246446},{"traceId":"f3118a7bad57c10e","parentId":7248,"name":"next-swc-transform","id":7249,"timestamp":9763972808,"duration":7700,"tags":{},"startTime":1691877246593},{"traceId":"f3118a7bad57c10e","parentId":7247,"name":"next-swc-loader","id":7248,"timestamp":9763972665,"duration":7850,"tags":{},"startTime":1691877246593},{"traceId":"f3118a7bad57c10e","parentId":7238,"name":"build-module-tsx","id":7247,"timestamp":9763972347,"duration":10459,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877246593},{"traceId":"f3118a7bad57c10e","parentId":7239,"name":"add-entry","id":7244,"timestamp":9763825419,"duration":159076,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877246446},{"traceId":"f3118a7bad57c10e","parentId":7238,"name":"make","id":7239,"timestamp":9763798105,"duration":186425,"tags":{},"startTime":1691877246419},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"chunk-graph","id":7251,"timestamp":9763984967,"duration":1396,"tags":{},"startTime":1691877246606},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"optimize-modules","id":7253,"timestamp":9763986405,"duration":5,"tags":{},"startTime":1691877246607},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"optimize-chunks","id":7254,"timestamp":9763986454,"duration":36,"tags":{},"startTime":1691877246607},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"optimize-tree","id":7255,"timestamp":9763986521,"duration":7,"tags":{},"startTime":1691877246607},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"optimize-chunk-modules","id":7256,"timestamp":9763986551,"duration":16,"tags":{},"startTime":1691877246607},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"optimize","id":7252,"timestamp":9763986389,"duration":262,"tags":{},"startTime":1691877246607},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"module-hash","id":7257,"timestamp":9763986963,"duration":221,"tags":{},"startTime":1691877246608},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"code-generation","id":7258,"timestamp":9763987203,"duration":505,"tags":{},"startTime":1691877246608},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"hash","id":7259,"timestamp":9763989347,"duration":2460,"tags":{},"startTime":1691877246610},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"code-generation-jobs","id":7260,"timestamp":9763991806,"duration":114,"tags":{},"startTime":1691877246612},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"module-assets","id":7261,"timestamp":9763991904,"duration":494,"tags":{},"startTime":1691877246613},{"traceId":"f3118a7bad57c10e","parentId":7250,"name":"create-chunk-assets","id":7262,"timestamp":9763992475,"duration":1620,"tags":{},"startTime":1691877246613},{"traceId":"f3118a7bad57c10e","parentId":7238,"name":"seal","id":7250,"timestamp":9763984845,"duration":9714,"tags":{},"startTime":1691877246606},{"traceId":"f3118a7bad57c10e","parentId":7204,"name":"webpack-compilation","id":7238,"timestamp":9763796850,"duration":197747,"tags":{"name":"server"},"startTime":1691877246418},{"traceId":"f3118a7bad57c10e","parentId":7204,"name":"emit","id":7263,"timestamp":9763994623,"duration":12556,"tags":{},"startTime":1691877246615},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7204,"timestamp":9763164786,"duration":843334,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877245785}] -[{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7268,"timestamp":9768039097,"duration":13485,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7272,"timestamp":9768039242,"duration":16769,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7274,"timestamp":9768039263,"duration":16765,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7278,"name":"read-resource","id":7279,"timestamp":9768054763,"duration":8185,"tags":{},"startTime":1691877250676},{"traceId":"f3118a7bad57c10e","parentId":7276,"name":"next-swc-transform","id":7277,"timestamp":9768053920,"duration":31711,"tags":{},"startTime":1691877250675},{"traceId":"f3118a7bad57c10e","parentId":7275,"name":"next-swc-loader","id":7276,"timestamp":9768053693,"duration":31945,"tags":{},"startTime":1691877250674},{"traceId":"f3118a7bad57c10e","parentId":7266,"name":"build-module-tsx","id":7275,"timestamp":9768053368,"duration":46336,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877250674},{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7271,"timestamp":9768039235,"duration":64681,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7280,"name":"postcss-process","id":7281,"timestamp":9768063030,"duration":146998,"tags":{},"startTime":1691877250684},{"traceId":"f3118a7bad57c10e","parentId":7278,"name":"postcss-loader","id":7280,"timestamp":9768062995,"duration":148549,"tags":{},"startTime":1691877250684},{"traceId":"f3118a7bad57c10e","parentId":7278,"name":"css-loader","id":7282,"timestamp":9768211592,"duration":30277,"tags":{"astUsed":"true"},"startTime":1691877250832},{"traceId":"f3118a7bad57c10e","parentId":7266,"name":"build-module-css","id":7278,"timestamp":9768054580,"duration":196543,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877250675},{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7269,"timestamp":9768039211,"duration":214802,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7273,"timestamp":9768039253,"duration":226719,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7267,"name":"add-entry","id":7270,"timestamp":9768039224,"duration":483473,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877250660},{"traceId":"f3118a7bad57c10e","parentId":7266,"name":"make","id":7267,"timestamp":9768037656,"duration":485075,"tags":{},"startTime":1691877250658},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"chunk-graph","id":7284,"timestamp":9768529036,"duration":48101,"tags":{},"startTime":1691877251150},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"optimize-modules","id":7286,"timestamp":9768577188,"duration":9,"tags":{},"startTime":1691877251198},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"optimize-chunks","id":7287,"timestamp":9768577226,"duration":244,"tags":{},"startTime":1691877251198},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"optimize-tree","id":7288,"timestamp":9768577508,"duration":14,"tags":{},"startTime":1691877251198},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"optimize-chunk-modules","id":7289,"timestamp":9768577559,"duration":8,"tags":{},"startTime":1691877251198},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"optimize","id":7285,"timestamp":9768577168,"duration":2435,"tags":{},"startTime":1691877251198},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"module-hash","id":7290,"timestamp":9768613562,"duration":7224,"tags":{},"startTime":1691877251234},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"code-generation","id":7291,"timestamp":9768624975,"duration":18010,"tags":{},"startTime":1691877251246},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"hash","id":7292,"timestamp":9768649796,"duration":35079,"tags":{},"startTime":1691877251271},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"code-generation-jobs","id":7293,"timestamp":9768684873,"duration":259,"tags":{},"startTime":1691877251306},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"module-assets","id":7294,"timestamp":9768685095,"duration":404,"tags":{},"startTime":1691877251306},{"traceId":"f3118a7bad57c10e","parentId":7283,"name":"create-chunk-assets","id":7295,"timestamp":9768685523,"duration":5366,"tags":{},"startTime":1691877251306},{"traceId":"f3118a7bad57c10e","parentId":7266,"name":"NextJsBuildManifest-generateClientManifest","id":7297,"timestamp":9768699659,"duration":175,"tags":{},"startTime":1691877251320},{"traceId":"f3118a7bad57c10e","parentId":7266,"name":"NextJsBuildManifest-createassets","id":7296,"timestamp":9768699456,"duration":391,"tags":{},"startTime":1691877251320},{"traceId":"f3118a7bad57c10e","parentId":7266,"name":"seal","id":7283,"timestamp":9768524512,"duration":185187,"tags":{},"startTime":1691877251145},{"traceId":"f3118a7bad57c10e","parentId":7264,"name":"webpack-compilation","id":7266,"timestamp":9768037219,"duration":672539,"tags":{"name":"client"},"startTime":1691877250658},{"traceId":"f3118a7bad57c10e","parentId":7264,"name":"emit","id":7298,"timestamp":9768709794,"duration":45276,"tags":{},"startTime":1691877251331},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7264,"timestamp":9768028469,"duration":736074,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877250649},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7301,"timestamp":9768780294,"duration":0,"tags":{},"startTime":1691877251401},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7307,"timestamp":1691877250650000,"duration":782000,"tags":{"clientId":1691872020568},"startTime":1691877251434},{"traceId":"f3118a7bad57c10e","parentId":7300,"name":"add-entry","id":7302,"timestamp":9768797132,"duration":54524,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877251418},{"traceId":"f3118a7bad57c10e","parentId":7300,"name":"add-entry","id":7303,"timestamp":9768797205,"duration":54468,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877251418},{"traceId":"f3118a7bad57c10e","parentId":7300,"name":"add-entry","id":7304,"timestamp":9768797265,"duration":54410,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877251418},{"traceId":"f3118a7bad57c10e","parentId":7300,"name":"add-entry","id":7306,"timestamp":9768797284,"duration":54394,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877251418},{"traceId":"f3118a7bad57c10e","parentId":7309,"name":"next-swc-transform","id":7310,"timestamp":9768847535,"duration":6968,"tags":{},"startTime":1691877251468},{"traceId":"f3118a7bad57c10e","parentId":7308,"name":"next-swc-loader","id":7309,"timestamp":9768847298,"duration":7213,"tags":{},"startTime":1691877251468},{"traceId":"f3118a7bad57c10e","parentId":7299,"name":"build-module-tsx","id":7308,"timestamp":9768847001,"duration":18411,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877251468},{"traceId":"f3118a7bad57c10e","parentId":7300,"name":"add-entry","id":7305,"timestamp":9768797277,"duration":68811,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877251418},{"traceId":"f3118a7bad57c10e","parentId":7299,"name":"make","id":7300,"timestamp":9768767312,"duration":98806,"tags":{},"startTime":1691877251388},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"chunk-graph","id":7312,"timestamp":9768866718,"duration":557,"tags":{},"startTime":1691877251488},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"optimize-modules","id":7314,"timestamp":9768867315,"duration":6,"tags":{},"startTime":1691877251488},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"optimize-chunks","id":7315,"timestamp":9768867347,"duration":35,"tags":{},"startTime":1691877251488},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"optimize-tree","id":7316,"timestamp":9768867411,"duration":6,"tags":{},"startTime":1691877251488},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"optimize-chunk-modules","id":7317,"timestamp":9768867440,"duration":9,"tags":{},"startTime":1691877251488},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"optimize","id":7313,"timestamp":9768867298,"duration":356,"tags":{},"startTime":1691877251488},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"module-hash","id":7318,"timestamp":9768874894,"duration":247,"tags":{},"startTime":1691877251496},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"code-generation","id":7319,"timestamp":9768875163,"duration":583,"tags":{},"startTime":1691877251496},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"hash","id":7320,"timestamp":9768883090,"duration":3383,"tags":{},"startTime":1691877251504},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"code-generation-jobs","id":7321,"timestamp":9768886472,"duration":128,"tags":{},"startTime":1691877251507},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"module-assets","id":7322,"timestamp":9768886583,"duration":48,"tags":{},"startTime":1691877251507},{"traceId":"f3118a7bad57c10e","parentId":7311,"name":"create-chunk-assets","id":7323,"timestamp":9768886644,"duration":1182,"tags":{},"startTime":1691877251507},{"traceId":"f3118a7bad57c10e","parentId":7299,"name":"seal","id":7311,"timestamp":9768866574,"duration":21590,"tags":{},"startTime":1691877251487},{"traceId":"f3118a7bad57c10e","parentId":7265,"name":"webpack-compilation","id":7299,"timestamp":9768766975,"duration":121227,"tags":{"name":"server"},"startTime":1691877251388},{"traceId":"f3118a7bad57c10e","parentId":7265,"name":"emit","id":7324,"timestamp":9768888229,"duration":6717,"tags":{},"startTime":1691877251509},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7265,"timestamp":9768029088,"duration":867530,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877250650}] -[{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7329,"timestamp":9770392668,"duration":21388,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7333,"timestamp":9770392773,"duration":24130,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7335,"timestamp":9770392792,"duration":24181,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7332,"timestamp":9770392763,"duration":32708,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7337,"name":"next-swc-transform","id":7338,"timestamp":9770415501,"duration":10266,"tags":{},"startTime":1691877253036},{"traceId":"f3118a7bad57c10e","parentId":7336,"name":"next-swc-loader","id":7337,"timestamp":9770415363,"duration":10408,"tags":{},"startTime":1691877253036},{"traceId":"f3118a7bad57c10e","parentId":7327,"name":"build-module-tsx","id":7336,"timestamp":9770415035,"duration":14882,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877253036},{"traceId":"f3118a7bad57c10e","parentId":7339,"name":"read-resource","id":7340,"timestamp":9770416434,"duration":14580,"tags":{},"startTime":1691877253037},{"traceId":"f3118a7bad57c10e","parentId":7341,"name":"postcss-process","id":7342,"timestamp":9770431086,"duration":130535,"tags":{},"startTime":1691877253052},{"traceId":"f3118a7bad57c10e","parentId":7339,"name":"postcss-loader","id":7341,"timestamp":9770431064,"duration":130994,"tags":{},"startTime":1691877253052},{"traceId":"f3118a7bad57c10e","parentId":7339,"name":"css-loader","id":7343,"timestamp":9770562092,"duration":26372,"tags":{"astUsed":"true"},"startTime":1691877253183},{"traceId":"f3118a7bad57c10e","parentId":7327,"name":"build-module-css","id":7339,"timestamp":9770416223,"duration":174327,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877253037},{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7330,"timestamp":9770392742,"duration":199707,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7334,"timestamp":9770392786,"duration":209038,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7328,"name":"add-entry","id":7331,"timestamp":9770392757,"duration":269943,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877253014},{"traceId":"f3118a7bad57c10e","parentId":7327,"name":"make","id":7328,"timestamp":9770390395,"duration":272333,"tags":{},"startTime":1691877253011},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"chunk-graph","id":7345,"timestamp":9770668704,"duration":8850,"tags":{},"startTime":1691877253290},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"optimize-modules","id":7347,"timestamp":9770677593,"duration":6,"tags":{},"startTime":1691877253298},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"optimize-chunks","id":7348,"timestamp":9770677616,"duration":192,"tags":{},"startTime":1691877253299},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"optimize-tree","id":7349,"timestamp":9770677834,"duration":8,"tags":{},"startTime":1691877253299},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"optimize-chunk-modules","id":7350,"timestamp":9770677870,"duration":6,"tags":{},"startTime":1691877253299},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"optimize","id":7346,"timestamp":9770677578,"duration":11339,"tags":{},"startTime":1691877253298},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"module-hash","id":7351,"timestamp":9770713073,"duration":158408,"tags":{},"startTime":1691877253334},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"code-generation","id":7352,"timestamp":9770871526,"duration":101412,"tags":{},"startTime":1691877253492},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"hash","id":7353,"timestamp":9770988935,"duration":43537,"tags":{},"startTime":1691877253610},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"code-generation-jobs","id":7354,"timestamp":9771032470,"duration":233,"tags":{},"startTime":1691877253653},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"module-assets","id":7355,"timestamp":9771032676,"duration":381,"tags":{},"startTime":1691877253654},{"traceId":"f3118a7bad57c10e","parentId":7344,"name":"create-chunk-assets","id":7356,"timestamp":9771033070,"duration":8015,"tags":{},"startTime":1691877253654},{"traceId":"f3118a7bad57c10e","parentId":7327,"name":"NextJsBuildManifest-generateClientManifest","id":7358,"timestamp":9771113168,"duration":102,"tags":{},"startTime":1691877253734},{"traceId":"f3118a7bad57c10e","parentId":7327,"name":"NextJsBuildManifest-createassets","id":7357,"timestamp":9771107321,"duration":5961,"tags":{},"startTime":1691877253728},{"traceId":"f3118a7bad57c10e","parentId":7327,"name":"seal","id":7344,"timestamp":9770664275,"duration":465868,"tags":{},"startTime":1691877253285},{"traceId":"f3118a7bad57c10e","parentId":7325,"name":"webpack-compilation","id":7327,"timestamp":9770389947,"duration":740265,"tags":{"name":"client"},"startTime":1691877253011},{"traceId":"f3118a7bad57c10e","parentId":7325,"name":"emit","id":7359,"timestamp":9771130254,"duration":42855,"tags":{},"startTime":1691877253751},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7325,"timestamp":9770381481,"duration":890901,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877253002},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7362,"timestamp":9771361276,"duration":0,"tags":{},"startTime":1691877253982},{"traceId":"f3118a7bad57c10e","parentId":7369,"name":"next-swc-transform","id":7370,"timestamp":9771424957,"duration":9562,"tags":{},"startTime":1691877254046},{"traceId":"f3118a7bad57c10e","parentId":7368,"name":"next-swc-loader","id":7369,"timestamp":9771424839,"duration":9687,"tags":{},"startTime":1691877254046},{"traceId":"f3118a7bad57c10e","parentId":7360,"name":"build-module-tsx","id":7368,"timestamp":9771424661,"duration":12900,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877254046},{"traceId":"f3118a7bad57c10e","parentId":7361,"name":"add-entry","id":7363,"timestamp":9771386155,"duration":52366,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877254007},{"traceId":"f3118a7bad57c10e","parentId":7361,"name":"add-entry","id":7364,"timestamp":9771386232,"duration":52299,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877254007},{"traceId":"f3118a7bad57c10e","parentId":7361,"name":"add-entry","id":7365,"timestamp":9771386246,"duration":52287,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877254007},{"traceId":"f3118a7bad57c10e","parentId":7361,"name":"add-entry","id":7367,"timestamp":9771386275,"duration":52261,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877254007},{"traceId":"f3118a7bad57c10e","parentId":7361,"name":"add-entry","id":7366,"timestamp":9771386254,"duration":52918,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877254007},{"traceId":"f3118a7bad57c10e","parentId":7360,"name":"make","id":7361,"timestamp":9771305475,"duration":133733,"tags":{},"startTime":1691877253926},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"chunk-graph","id":7372,"timestamp":9771439631,"duration":332,"tags":{},"startTime":1691877254061},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"optimize-modules","id":7374,"timestamp":9771439988,"duration":7,"tags":{},"startTime":1691877254061},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"optimize-chunks","id":7375,"timestamp":9771440010,"duration":26,"tags":{},"startTime":1691877254061},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"optimize-tree","id":7376,"timestamp":9771440061,"duration":6,"tags":{},"startTime":1691877254061},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"optimize-chunk-modules","id":7377,"timestamp":9771440087,"duration":6,"tags":{},"startTime":1691877254061},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"optimize","id":7373,"timestamp":9771439978,"duration":189,"tags":{},"startTime":1691877254061},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"module-hash","id":7378,"timestamp":9771441207,"duration":196,"tags":{},"startTime":1691877254062},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"code-generation","id":7379,"timestamp":9771441417,"duration":458,"tags":{},"startTime":1691877254062},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"hash","id":7380,"timestamp":9771442783,"duration":972,"tags":{},"startTime":1691877254064},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"code-generation-jobs","id":7381,"timestamp":9771443753,"duration":87,"tags":{},"startTime":1691877254065},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"module-assets","id":7382,"timestamp":9771443830,"duration":29,"tags":{},"startTime":1691877254065},{"traceId":"f3118a7bad57c10e","parentId":7371,"name":"create-chunk-assets","id":7383,"timestamp":9771443866,"duration":904,"tags":{},"startTime":1691877254065},{"traceId":"f3118a7bad57c10e","parentId":7360,"name":"seal","id":7371,"timestamp":9771439527,"duration":5508,"tags":{},"startTime":1691877254060},{"traceId":"f3118a7bad57c10e","parentId":7326,"name":"webpack-compilation","id":7360,"timestamp":9771305140,"duration":139926,"tags":{"name":"server"},"startTime":1691877253926},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7385,"timestamp":1691877253004000,"duration":1057000,"tags":{"clientId":1691872020568},"startTime":1691877254067},{"traceId":"f3118a7bad57c10e","parentId":7326,"name":"emit","id":7384,"timestamp":9771445093,"duration":3564,"tags":{},"startTime":1691877254066},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7326,"timestamp":9770382012,"duration":1069459,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877253003}] -[{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7390,"timestamp":9784688986,"duration":7642,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7394,"timestamp":9784689090,"duration":9850,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7396,"timestamp":9784689104,"duration":9845,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7400,"name":"read-resource","id":7401,"timestamp":9784698612,"duration":864,"tags":{},"startTime":1691877267320},{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7393,"timestamp":9784689084,"duration":19062,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7398,"name":"next-swc-transform","id":7399,"timestamp":9784697858,"duration":10589,"tags":{},"startTime":1691877267319},{"traceId":"f3118a7bad57c10e","parentId":7397,"name":"next-swc-loader","id":7398,"timestamp":9784697746,"duration":10707,"tags":{},"startTime":1691877267319},{"traceId":"f3118a7bad57c10e","parentId":7388,"name":"build-module-tsx","id":7397,"timestamp":9784697264,"duration":15040,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877267319},{"traceId":"f3118a7bad57c10e","parentId":7402,"name":"postcss-process","id":7403,"timestamp":9784699543,"duration":127530,"tags":{},"startTime":1691877267321},{"traceId":"f3118a7bad57c10e","parentId":7400,"name":"postcss-loader","id":7402,"timestamp":9784699518,"duration":127945,"tags":{},"startTime":1691877267321},{"traceId":"f3118a7bad57c10e","parentId":7400,"name":"css-loader","id":7404,"timestamp":9784827497,"duration":17038,"tags":{"astUsed":"true"},"startTime":1691877267449},{"traceId":"f3118a7bad57c10e","parentId":7388,"name":"build-module-css","id":7400,"timestamp":9784698414,"duration":147957,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877267320},{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7391,"timestamp":9784689053,"duration":165733,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7395,"timestamp":9784689097,"duration":174247,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7389,"name":"add-entry","id":7392,"timestamp":9784689077,"duration":658782,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877267310},{"traceId":"f3118a7bad57c10e","parentId":7388,"name":"make","id":7389,"timestamp":9784687065,"duration":660832,"tags":{},"startTime":1691877267308},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"chunk-graph","id":7406,"timestamp":9785360018,"duration":14297,"tags":{},"startTime":1691877267981},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"optimize-modules","id":7408,"timestamp":9785374358,"duration":10,"tags":{},"startTime":1691877267996},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"optimize-chunks","id":7409,"timestamp":9785374442,"duration":1035,"tags":{},"startTime":1691877267996},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"optimize-tree","id":7410,"timestamp":9785375557,"duration":28,"tags":{},"startTime":1691877267997},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"optimize-chunk-modules","id":7411,"timestamp":9785375627,"duration":15,"tags":{},"startTime":1691877267997},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"optimize","id":7407,"timestamp":9785374343,"duration":4834,"tags":{},"startTime":1691877267996},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"module-hash","id":7412,"timestamp":9785402960,"duration":2993,"tags":{},"startTime":1691877268024},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"code-generation","id":7413,"timestamp":9785405988,"duration":60463,"tags":{},"startTime":1691877268027},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"hash","id":7414,"timestamp":9785490358,"duration":95787,"tags":{},"startTime":1691877268112},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"code-generation-jobs","id":7415,"timestamp":9785586143,"duration":188,"tags":{},"startTime":1691877268207},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"module-assets","id":7416,"timestamp":9785586307,"duration":388,"tags":{},"startTime":1691877268208},{"traceId":"f3118a7bad57c10e","parentId":7405,"name":"create-chunk-assets","id":7417,"timestamp":9785586713,"duration":27709,"tags":{},"startTime":1691877268208},{"traceId":"f3118a7bad57c10e","parentId":7388,"name":"NextJsBuildManifest-generateClientManifest","id":7419,"timestamp":9785617721,"duration":87,"tags":{},"startTime":1691877268239},{"traceId":"f3118a7bad57c10e","parentId":7388,"name":"NextJsBuildManifest-createassets","id":7418,"timestamp":9785617632,"duration":185,"tags":{},"startTime":1691877268239},{"traceId":"f3118a7bad57c10e","parentId":7388,"name":"seal","id":7405,"timestamp":9785349785,"duration":271687,"tags":{},"startTime":1691877267971},{"traceId":"f3118a7bad57c10e","parentId":7386,"name":"webpack-compilation","id":7388,"timestamp":9784686544,"duration":934991,"tags":{"name":"client"},"startTime":1691877267308},{"traceId":"f3118a7bad57c10e","parentId":7386,"name":"emit","id":7420,"timestamp":9785621561,"duration":170660,"tags":{},"startTime":1691877268243},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7386,"timestamp":9784678537,"duration":1115760,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877267300},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7423,"timestamp":9785930728,"duration":0,"tags":{},"startTime":1691877268552},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7429,"timestamp":1691877267301000,"duration":1320000,"tags":{"clientId":1691872020568},"startTime":1691877268627},{"traceId":"f3118a7bad57c10e","parentId":7422,"name":"add-entry","id":7424,"timestamp":9785960146,"duration":54781,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877268581},{"traceId":"f3118a7bad57c10e","parentId":7422,"name":"add-entry","id":7425,"timestamp":9785960224,"duration":54715,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877268582},{"traceId":"f3118a7bad57c10e","parentId":7422,"name":"add-entry","id":7426,"timestamp":9785960233,"duration":54708,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877268582},{"traceId":"f3118a7bad57c10e","parentId":7422,"name":"add-entry","id":7428,"timestamp":9785960247,"duration":54697,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877268582},{"traceId":"f3118a7bad57c10e","parentId":7431,"name":"next-swc-transform","id":7432,"timestamp":9786012215,"duration":12728,"tags":{},"startTime":1691877268634},{"traceId":"f3118a7bad57c10e","parentId":7430,"name":"next-swc-loader","id":7431,"timestamp":9786011676,"duration":13274,"tags":{},"startTime":1691877268633},{"traceId":"f3118a7bad57c10e","parentId":7421,"name":"build-module-tsx","id":7430,"timestamp":9786011422,"duration":19868,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877268633},{"traceId":"f3118a7bad57c10e","parentId":7422,"name":"add-entry","id":7427,"timestamp":9785960241,"duration":71630,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877268582},{"traceId":"f3118a7bad57c10e","parentId":7421,"name":"make","id":7422,"timestamp":9785800348,"duration":231555,"tags":{},"startTime":1691877268422},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"chunk-graph","id":7434,"timestamp":9786032527,"duration":836,"tags":{},"startTime":1691877268654},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"optimize-modules","id":7436,"timestamp":9786033397,"duration":10,"tags":{},"startTime":1691877268655},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"optimize-chunks","id":7437,"timestamp":9786035292,"duration":68,"tags":{},"startTime":1691877268657},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"optimize-tree","id":7438,"timestamp":9786035400,"duration":20,"tags":{},"startTime":1691877268657},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"optimize-chunk-modules","id":7439,"timestamp":9786035442,"duration":8,"tags":{},"startTime":1691877268657},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"optimize","id":7435,"timestamp":9786033385,"duration":2170,"tags":{},"startTime":1691877268655},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"module-hash","id":7440,"timestamp":9786035846,"duration":205,"tags":{},"startTime":1691877268657},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"code-generation","id":7441,"timestamp":9786036068,"duration":1934,"tags":{},"startTime":1691877268657},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"hash","id":7442,"timestamp":9786038803,"duration":1218,"tags":{},"startTime":1691877268660},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"code-generation-jobs","id":7443,"timestamp":9786040019,"duration":1232,"tags":{},"startTime":1691877268661},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"module-assets","id":7444,"timestamp":9786041198,"duration":143,"tags":{},"startTime":1691877268663},{"traceId":"f3118a7bad57c10e","parentId":7433,"name":"create-chunk-assets","id":7445,"timestamp":9786041427,"duration":1474,"tags":{},"startTime":1691877268663},{"traceId":"f3118a7bad57c10e","parentId":7421,"name":"seal","id":7433,"timestamp":9786032387,"duration":12638,"tags":{},"startTime":1691877268654},{"traceId":"f3118a7bad57c10e","parentId":7387,"name":"webpack-compilation","id":7421,"timestamp":9785799672,"duration":245401,"tags":{"name":"server"},"startTime":1691877268421},{"traceId":"f3118a7bad57c10e","parentId":7387,"name":"emit","id":7446,"timestamp":9786045100,"duration":4550,"tags":{},"startTime":1691877268666},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7387,"timestamp":9784679570,"duration":1375207,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877267301}] -[{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7451,"timestamp":9809155641,"duration":36341,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7459,"name":"next-swc-transform","id":7460,"timestamp":9809195753,"duration":7044,"tags":{},"startTime":1691877291818},{"traceId":"f3118a7bad57c10e","parentId":7458,"name":"next-swc-loader","id":7459,"timestamp":9809195492,"duration":7311,"tags":{},"startTime":1691877291818},{"traceId":"f3118a7bad57c10e","parentId":7449,"name":"build-module-tsx","id":7458,"timestamp":9809193005,"duration":16676,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877291815},{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7455,"timestamp":9809155800,"duration":54014,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7457,"timestamp":9809155817,"duration":54005,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7454,"timestamp":9809155791,"duration":67651,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7461,"name":"read-resource","id":7462,"timestamp":9809202442,"duration":23335,"tags":{},"startTime":1691877291824},{"traceId":"f3118a7bad57c10e","parentId":7463,"name":"postcss-process","id":7464,"timestamp":9809225851,"duration":146408,"tags":{},"startTime":1691877291848},{"traceId":"f3118a7bad57c10e","parentId":7461,"name":"postcss-loader","id":7463,"timestamp":9809225818,"duration":149101,"tags":{},"startTime":1691877291848},{"traceId":"f3118a7bad57c10e","parentId":7461,"name":"css-loader","id":7465,"timestamp":9809374956,"duration":42319,"tags":{"astUsed":"true"},"startTime":1691877291997},{"traceId":"f3118a7bad57c10e","parentId":7449,"name":"build-module-css","id":7461,"timestamp":9809200650,"duration":231017,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877291823},{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7452,"timestamp":9809155768,"duration":277129,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7456,"timestamp":9809155808,"duration":369379,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7450,"name":"add-entry","id":7453,"timestamp":9809155781,"duration":650867,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877291778},{"traceId":"f3118a7bad57c10e","parentId":7449,"name":"make","id":7450,"timestamp":9809135332,"duration":671356,"tags":{},"startTime":1691877291757},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"chunk-graph","id":7467,"timestamp":9809814483,"duration":127755,"tags":{},"startTime":1691877292437},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"optimize-modules","id":7469,"timestamp":9809942287,"duration":11,"tags":{},"startTime":1691877292564},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"optimize-chunks","id":7470,"timestamp":9809986983,"duration":281,"tags":{},"startTime":1691877292609},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"optimize-tree","id":7471,"timestamp":9809987302,"duration":19,"tags":{},"startTime":1691877292609},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"optimize-chunk-modules","id":7472,"timestamp":9809987353,"duration":7,"tags":{},"startTime":1691877292609},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"optimize","id":7468,"timestamp":9809942273,"duration":49658,"tags":{},"startTime":1691877292564},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"module-hash","id":7473,"timestamp":9810013196,"duration":8709,"tags":{},"startTime":1691877292635},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"code-generation","id":7474,"timestamp":9810021937,"duration":15501,"tags":{},"startTime":1691877292644},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"hash","id":7475,"timestamp":9810047153,"duration":16966,"tags":{},"startTime":1691877292669},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"code-generation-jobs","id":7476,"timestamp":9810064114,"duration":318,"tags":{},"startTime":1691877292686},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"module-assets","id":7477,"timestamp":9810064377,"duration":1595,"tags":{},"startTime":1691877292686},{"traceId":"f3118a7bad57c10e","parentId":7466,"name":"create-chunk-assets","id":7478,"timestamp":9810066003,"duration":7521,"tags":{},"startTime":1691877292688},{"traceId":"f3118a7bad57c10e","parentId":7449,"name":"NextJsBuildManifest-generateClientManifest","id":7480,"timestamp":9810080845,"duration":390,"tags":{},"startTime":1691877292703},{"traceId":"f3118a7bad57c10e","parentId":7449,"name":"NextJsBuildManifest-createassets","id":7479,"timestamp":9810080527,"duration":719,"tags":{},"startTime":1691877292703},{"traceId":"f3118a7bad57c10e","parentId":7449,"name":"seal","id":7466,"timestamp":9809808985,"duration":278454,"tags":{},"startTime":1691877292431},{"traceId":"f3118a7bad57c10e","parentId":7447,"name":"webpack-compilation","id":7449,"timestamp":9809134893,"duration":952609,"tags":{"name":"client"},"startTime":1691877291757},{"traceId":"f3118a7bad57c10e","parentId":7447,"name":"emit","id":7481,"timestamp":9810087537,"duration":135397,"tags":{},"startTime":1691877292710},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7447,"timestamp":9809126110,"duration":1112785,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877291748},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7484,"timestamp":9810272468,"duration":0,"tags":{},"startTime":1691877292895},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7490,"timestamp":1691877291749000,"duration":1177000,"tags":{"clientId":1691872020568},"startTime":1691877292938},{"traceId":"f3118a7bad57c10e","parentId":7483,"name":"add-entry","id":7485,"timestamp":9810275301,"duration":54835,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877292897},{"traceId":"f3118a7bad57c10e","parentId":7483,"name":"add-entry","id":7486,"timestamp":9810275369,"duration":54781,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877292897},{"traceId":"f3118a7bad57c10e","parentId":7483,"name":"add-entry","id":7487,"timestamp":9810275381,"duration":54777,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877292897},{"traceId":"f3118a7bad57c10e","parentId":7483,"name":"add-entry","id":7489,"timestamp":9810275392,"duration":54769,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877292897},{"traceId":"f3118a7bad57c10e","parentId":7492,"name":"next-swc-transform","id":7493,"timestamp":9810325421,"duration":13405,"tags":{},"startTime":1691877292947},{"traceId":"f3118a7bad57c10e","parentId":7491,"name":"next-swc-loader","id":7492,"timestamp":9810325043,"duration":13795,"tags":{},"startTime":1691877292947},{"traceId":"f3118a7bad57c10e","parentId":7482,"name":"build-module-tsx","id":7491,"timestamp":9810324708,"duration":17757,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877292947},{"traceId":"f3118a7bad57c10e","parentId":7483,"name":"add-entry","id":7488,"timestamp":9810275386,"duration":74531,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877292897},{"traceId":"f3118a7bad57c10e","parentId":7482,"name":"make","id":7483,"timestamp":9810264302,"duration":85655,"tags":{},"startTime":1691877292886},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"chunk-graph","id":7495,"timestamp":9810350433,"duration":1848,"tags":{},"startTime":1691877292973},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"optimize-modules","id":7497,"timestamp":9810352327,"duration":14,"tags":{},"startTime":1691877292974},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"optimize-chunks","id":7498,"timestamp":9810352372,"duration":39,"tags":{},"startTime":1691877292974},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"optimize-tree","id":7499,"timestamp":9810352444,"duration":12,"tags":{},"startTime":1691877292975},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"optimize-chunk-modules","id":7500,"timestamp":9810352479,"duration":10,"tags":{},"startTime":1691877292975},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"optimize","id":7496,"timestamp":9810352312,"duration":287,"tags":{},"startTime":1691877292974},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"module-hash","id":7501,"timestamp":9810353057,"duration":245,"tags":{},"startTime":1691877292975},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"code-generation","id":7502,"timestamp":9810353322,"duration":638,"tags":{},"startTime":1691877292975},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"hash","id":7503,"timestamp":9810354863,"duration":3510,"tags":{},"startTime":1691877292977},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"code-generation-jobs","id":7504,"timestamp":9810358372,"duration":585,"tags":{},"startTime":1691877292980},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"module-assets","id":7505,"timestamp":9810358939,"duration":94,"tags":{},"startTime":1691877292981},{"traceId":"f3118a7bad57c10e","parentId":7494,"name":"create-chunk-assets","id":7506,"timestamp":9810359057,"duration":6659,"tags":{},"startTime":1691877292981},{"traceId":"f3118a7bad57c10e","parentId":7482,"name":"seal","id":7494,"timestamp":9810350310,"duration":15988,"tags":{},"startTime":1691877292972},{"traceId":"f3118a7bad57c10e","parentId":7448,"name":"webpack-compilation","id":7482,"timestamp":9810263949,"duration":102391,"tags":{"name":"server"},"startTime":1691877292886},{"traceId":"f3118a7bad57c10e","parentId":7448,"name":"emit","id":7507,"timestamp":9810366370,"duration":5661,"tags":{},"startTime":1691877292988},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7448,"timestamp":9809126651,"duration":1248795,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877291749}] -[{"traceId":"f3118a7bad57c10e","parentId":7518,"name":"next-swc-transform","id":7519,"timestamp":9836385905,"duration":2464,"tags":{},"startTime":1691877319009},{"traceId":"f3118a7bad57c10e","parentId":7517,"name":"next-swc-loader","id":7518,"timestamp":9836385754,"duration":2623,"tags":{},"startTime":1691877319009},{"traceId":"f3118a7bad57c10e","parentId":7510,"name":"build-module-tsx","id":7517,"timestamp":9836385529,"duration":4711,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877319008},{"traceId":"f3118a7bad57c10e","parentId":7511,"name":"add-entry","id":7512,"timestamp":9836363284,"duration":34539,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877318986},{"traceId":"f3118a7bad57c10e","parentId":7511,"name":"add-entry","id":7513,"timestamp":9836363358,"duration":34477,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877318986},{"traceId":"f3118a7bad57c10e","parentId":7511,"name":"add-entry","id":7514,"timestamp":9836363370,"duration":34466,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877318986},{"traceId":"f3118a7bad57c10e","parentId":7511,"name":"add-entry","id":7515,"timestamp":9836363376,"duration":34465,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877318986},{"traceId":"f3118a7bad57c10e","parentId":7511,"name":"add-entry","id":7516,"timestamp":9836363389,"duration":34456,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877318986},{"traceId":"f3118a7bad57c10e","parentId":7510,"name":"make","id":7511,"timestamp":9836360631,"duration":37249,"tags":{},"startTime":1691877318983},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"chunk-graph","id":7521,"timestamp":9836398364,"duration":410,"tags":{},"startTime":1691877319021},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"optimize-modules","id":7523,"timestamp":9836398807,"duration":5,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"optimize-chunks","id":7524,"timestamp":9836398832,"duration":41,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"optimize-tree","id":7525,"timestamp":9836398910,"duration":11,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"optimize-chunk-modules","id":7526,"timestamp":9836398945,"duration":11,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"optimize","id":7522,"timestamp":9836398795,"duration":258,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"module-hash","id":7527,"timestamp":9836399304,"duration":195,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"code-generation","id":7528,"timestamp":9836399514,"duration":459,"tags":{},"startTime":1691877319022},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"hash","id":7529,"timestamp":9836400552,"duration":997,"tags":{},"startTime":1691877319023},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"code-generation-jobs","id":7530,"timestamp":9836401547,"duration":86,"tags":{},"startTime":1691877319024},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"module-assets","id":7531,"timestamp":9836401622,"duration":27,"tags":{},"startTime":1691877319024},{"traceId":"f3118a7bad57c10e","parentId":7520,"name":"create-chunk-assets","id":7532,"timestamp":9836401655,"duration":927,"tags":{},"startTime":1691877319025},{"traceId":"f3118a7bad57c10e","parentId":7510,"name":"seal","id":7520,"timestamp":9836398256,"duration":4619,"tags":{},"startTime":1691877319021},{"traceId":"f3118a7bad57c10e","parentId":7508,"name":"webpack-compilation","id":7510,"timestamp":9836360153,"duration":42752,"tags":{"name":"server"},"startTime":1691877318983},{"traceId":"f3118a7bad57c10e","parentId":7508,"name":"emit","id":7533,"timestamp":9836402929,"duration":4601,"tags":{},"startTime":1691877319026},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7508,"timestamp":9836353284,"duration":54679,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877318976},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7536,"timestamp":9836413159,"duration":14425,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7540,"timestamp":9836413245,"duration":17286,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7542,"timestamp":9836413256,"duration":17283,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7539,"timestamp":9836413240,"duration":17847,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7546,"name":"read-resource","id":7547,"timestamp":9836430240,"duration":2412,"tags":{},"startTime":1691877319053},{"traceId":"f3118a7bad57c10e","parentId":7544,"name":"next-swc-transform","id":7545,"timestamp":9836428966,"duration":22079,"tags":{},"startTime":1691877319052},{"traceId":"f3118a7bad57c10e","parentId":7543,"name":"next-swc-loader","id":7544,"timestamp":9836428818,"duration":22233,"tags":{},"startTime":1691877319052},{"traceId":"f3118a7bad57c10e","parentId":7534,"name":"build-module-tsx","id":7543,"timestamp":9836428489,"duration":82403,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877319051},{"traceId":"f3118a7bad57c10e","parentId":7548,"name":"postcss-process","id":7549,"timestamp":9836432736,"duration":328052,"tags":{},"startTime":1691877319056},{"traceId":"f3118a7bad57c10e","parentId":7546,"name":"postcss-loader","id":7548,"timestamp":9836432709,"duration":328780,"tags":{},"startTime":1691877319056},{"traceId":"f3118a7bad57c10e","parentId":7546,"name":"css-loader","id":7550,"timestamp":9836761562,"duration":53623,"tags":{"astUsed":"true"},"startTime":1691877319384},{"traceId":"f3118a7bad57c10e","parentId":7534,"name":"build-module-css","id":7546,"timestamp":9836430032,"duration":387866,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877319053},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7537,"timestamp":9836413224,"duration":416096,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7541,"timestamp":9836413252,"duration":434993,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7535,"name":"add-entry","id":7538,"timestamp":9836413233,"duration":796428,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877319036},{"traceId":"f3118a7bad57c10e","parentId":7534,"name":"make","id":7535,"timestamp":9836410745,"duration":798950,"tags":{},"startTime":1691877319034},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"chunk-graph","id":7552,"timestamp":9837238930,"duration":60746,"tags":{},"startTime":1691877319862},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"optimize-modules","id":7554,"timestamp":9837299712,"duration":6,"tags":{},"startTime":1691877319923},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"optimize-chunks","id":7555,"timestamp":9837299737,"duration":188,"tags":{},"startTime":1691877319923},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"optimize-tree","id":7556,"timestamp":9837299954,"duration":8,"tags":{},"startTime":1691877319923},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"optimize-chunk-modules","id":7557,"timestamp":9837299991,"duration":6,"tags":{},"startTime":1691877319923},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"optimize","id":7553,"timestamp":9837299698,"duration":77180,"tags":{},"startTime":1691877319923},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"module-hash","id":7558,"timestamp":9837475156,"duration":18967,"tags":{},"startTime":1691877320098},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"code-generation","id":7559,"timestamp":9837494157,"duration":34340,"tags":{},"startTime":1691877320117},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"hash","id":7560,"timestamp":9837560643,"duration":143658,"tags":{},"startTime":1691877320184},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"code-generation-jobs","id":7561,"timestamp":9837704300,"duration":203,"tags":{},"startTime":1691877320327},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"module-assets","id":7562,"timestamp":9837704460,"duration":362,"tags":{},"startTime":1691877320327},{"traceId":"f3118a7bad57c10e","parentId":7551,"name":"create-chunk-assets","id":7563,"timestamp":9837704833,"duration":1739,"tags":{},"startTime":1691877320328},{"traceId":"f3118a7bad57c10e","parentId":7534,"name":"NextJsBuildManifest-generateClientManifest","id":7565,"timestamp":9837712242,"duration":102,"tags":{},"startTime":1691877320335},{"traceId":"f3118a7bad57c10e","parentId":7534,"name":"NextJsBuildManifest-createassets","id":7564,"timestamp":9837712129,"duration":222,"tags":{},"startTime":1691877320335},{"traceId":"f3118a7bad57c10e","parentId":7534,"name":"seal","id":7551,"timestamp":9837227806,"duration":491035,"tags":{},"startTime":1691877319851},{"traceId":"f3118a7bad57c10e","parentId":7509,"name":"webpack-compilation","id":7534,"timestamp":9836410397,"duration":1308508,"tags":{"name":"client"},"startTime":1691877319033},{"traceId":"f3118a7bad57c10e","parentId":7509,"name":"emit","id":7566,"timestamp":9837718942,"duration":353417,"tags":{},"startTime":1691877320342},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7509,"timestamp":9836353496,"duration":1940664,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877318976}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7567,"timestamp":9838391929,"duration":0,"tags":{},"startTime":1691877321015},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7568,"timestamp":1691877318977000,"duration":2073000,"tags":{"clientId":1691872020568},"startTime":1691877321057},{"traceId":"f3118a7bad57c10e","parentId":7572,"name":"add-entry","id":7573,"timestamp":9848859505,"duration":52484,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877331483},{"traceId":"f3118a7bad57c10e","parentId":7572,"name":"add-entry","id":7574,"timestamp":9848859608,"duration":52393,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877331483},{"traceId":"f3118a7bad57c10e","parentId":7572,"name":"add-entry","id":7575,"timestamp":9848859622,"duration":52382,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877331483},{"traceId":"f3118a7bad57c10e","parentId":7572,"name":"add-entry","id":7577,"timestamp":9848859634,"duration":57035,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877331483},{"traceId":"f3118a7bad57c10e","parentId":7579,"name":"next-swc-transform","id":7580,"timestamp":9848909138,"duration":10899,"tags":{},"startTime":1691877331532},{"traceId":"f3118a7bad57c10e","parentId":7578,"name":"next-swc-loader","id":7579,"timestamp":9848908912,"duration":11133,"tags":{},"startTime":1691877331532},{"traceId":"f3118a7bad57c10e","parentId":7571,"name":"build-module-tsx","id":7578,"timestamp":9848908573,"duration":18927,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877331532},{"traceId":"f3118a7bad57c10e","parentId":7572,"name":"add-entry","id":7576,"timestamp":9848859628,"duration":72118,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877331483},{"traceId":"f3118a7bad57c10e","parentId":7571,"name":"make","id":7572,"timestamp":9848858274,"duration":73505,"tags":{},"startTime":1691877331482},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"chunk-graph","id":7582,"timestamp":9848933565,"duration":5756,"tags":{},"startTime":1691877331557},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"optimize-modules","id":7584,"timestamp":9848939362,"duration":13,"tags":{},"startTime":1691877331563},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"optimize-chunks","id":7585,"timestamp":9848939401,"duration":38,"tags":{},"startTime":1691877331563},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"optimize-tree","id":7586,"timestamp":9848939621,"duration":20,"tags":{},"startTime":1691877331563},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"optimize-chunk-modules","id":7587,"timestamp":9848939664,"duration":6,"tags":{},"startTime":1691877331563},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"optimize","id":7583,"timestamp":9848939344,"duration":436,"tags":{},"startTime":1691877331563},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"module-hash","id":7588,"timestamp":9848943965,"duration":473,"tags":{},"startTime":1691877331567},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"code-generation","id":7589,"timestamp":9848944470,"duration":1490,"tags":{},"startTime":1691877331568},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"hash","id":7590,"timestamp":9848951862,"duration":1740,"tags":{},"startTime":1691877331575},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"code-generation-jobs","id":7591,"timestamp":9848953601,"duration":127,"tags":{},"startTime":1691877331577},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"module-assets","id":7592,"timestamp":9848953713,"duration":40,"tags":{},"startTime":1691877331577},{"traceId":"f3118a7bad57c10e","parentId":7581,"name":"create-chunk-assets","id":7593,"timestamp":9848953763,"duration":14673,"tags":{},"startTime":1691877331577},{"traceId":"f3118a7bad57c10e","parentId":7571,"name":"seal","id":7581,"timestamp":9848933049,"duration":35711,"tags":{},"startTime":1691877331556},{"traceId":"f3118a7bad57c10e","parentId":7569,"name":"webpack-compilation","id":7571,"timestamp":9848857927,"duration":110871,"tags":{"name":"server"},"startTime":1691877331481},{"traceId":"f3118a7bad57c10e","parentId":7569,"name":"emit","id":7594,"timestamp":9848968881,"duration":7449,"tags":{},"startTime":1691877331592},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7569,"timestamp":9848850161,"duration":126888,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877331473},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7597,"timestamp":9848988969,"duration":13325,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7601,"timestamp":9848989088,"duration":18578,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7603,"timestamp":9848989102,"duration":18575,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7600,"timestamp":9848989080,"duration":19294,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7605,"name":"next-swc-transform","id":7606,"timestamp":9849003652,"duration":4955,"tags":{},"startTime":1691877331627},{"traceId":"f3118a7bad57c10e","parentId":7604,"name":"next-swc-loader","id":7605,"timestamp":9849003528,"duration":5086,"tags":{},"startTime":1691877331627},{"traceId":"f3118a7bad57c10e","parentId":7595,"name":"build-module-tsx","id":7604,"timestamp":9849003218,"duration":33701,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877331626},{"traceId":"f3118a7bad57c10e","parentId":7607,"name":"read-resource","id":7608,"timestamp":9849007031,"duration":33442,"tags":{},"startTime":1691877331630},{"traceId":"f3118a7bad57c10e","parentId":7609,"name":"postcss-process","id":7610,"timestamp":9849040646,"duration":103481,"tags":{},"startTime":1691877331664},{"traceId":"f3118a7bad57c10e","parentId":7607,"name":"postcss-loader","id":7609,"timestamp":9849040522,"duration":104643,"tags":{},"startTime":1691877331664},{"traceId":"f3118a7bad57c10e","parentId":7607,"name":"css-loader","id":7611,"timestamp":9849149161,"duration":55013,"tags":{"astUsed":"true"},"startTime":1691877331772},{"traceId":"f3118a7bad57c10e","parentId":7595,"name":"build-module-css","id":7607,"timestamp":9849006824,"duration":209667,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877331630},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7598,"timestamp":9848989052,"duration":251004,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7602,"timestamp":9848989096,"duration":514029,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7596,"name":"add-entry","id":7599,"timestamp":9848989070,"duration":669560,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877331612},{"traceId":"f3118a7bad57c10e","parentId":7595,"name":"make","id":7596,"timestamp":9848979440,"duration":679226,"tags":{},"startTime":1691877331603},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"chunk-graph","id":7613,"timestamp":9849667114,"duration":13615,"tags":{},"startTime":1691877332290},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"optimize-modules","id":7615,"timestamp":9849680873,"duration":16,"tags":{},"startTime":1691877332304},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"optimize-chunks","id":7616,"timestamp":9849680953,"duration":212,"tags":{},"startTime":1691877332304},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"optimize-tree","id":7617,"timestamp":9849681194,"duration":13,"tags":{},"startTime":1691877332304},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"optimize-chunk-modules","id":7618,"timestamp":9849681238,"duration":7,"tags":{},"startTime":1691877332304},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"optimize","id":7614,"timestamp":9849680756,"duration":2204,"tags":{},"startTime":1691877332304},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"module-hash","id":7619,"timestamp":9849701641,"duration":2864,"tags":{},"startTime":1691877332325},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"code-generation","id":7620,"timestamp":9849704542,"duration":13486,"tags":{},"startTime":1691877332328},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"hash","id":7621,"timestamp":9849735587,"duration":12611,"tags":{},"startTime":1691877332359},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"code-generation-jobs","id":7622,"timestamp":9849748197,"duration":287,"tags":{},"startTime":1691877332371},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"module-assets","id":7623,"timestamp":9849748437,"duration":392,"tags":{},"startTime":1691877332372},{"traceId":"f3118a7bad57c10e","parentId":7612,"name":"create-chunk-assets","id":7624,"timestamp":9849748843,"duration":2599,"tags":{},"startTime":1691877332372},{"traceId":"f3118a7bad57c10e","parentId":7595,"name":"NextJsBuildManifest-generateClientManifest","id":7626,"timestamp":9849756438,"duration":126,"tags":{},"startTime":1691877332380},{"traceId":"f3118a7bad57c10e","parentId":7595,"name":"NextJsBuildManifest-createassets","id":7625,"timestamp":9849756270,"duration":304,"tags":{},"startTime":1691877332380},{"traceId":"f3118a7bad57c10e","parentId":7595,"name":"seal","id":7612,"timestamp":9849660530,"duration":100238,"tags":{},"startTime":1691877332284},{"traceId":"f3118a7bad57c10e","parentId":7570,"name":"webpack-compilation","id":7595,"timestamp":9848979083,"duration":781742,"tags":{"name":"client"},"startTime":1691877331602},{"traceId":"f3118a7bad57c10e","parentId":7570,"name":"emit","id":7627,"timestamp":9849760853,"duration":19634,"tags":{},"startTime":1691877332384},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7570,"timestamp":9848850357,"duration":934908,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877331474}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7628,"timestamp":9849816871,"duration":0,"tags":{},"startTime":1691877332440},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7629,"timestamp":1691877331475000,"duration":1141000,"tags":{"clientId":1691872020568},"startTime":1691877332617},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7634,"timestamp":9850403054,"duration":28793,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877333026},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7638,"timestamp":9850403425,"duration":31809,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877333027},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7640,"timestamp":9850403451,"duration":31792,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877333027},{"traceId":"f3118a7bad57c10e","parentId":7642,"name":"next-swc-transform","id":7643,"timestamp":9850433438,"duration":2875,"tags":{},"startTime":1691877333057},{"traceId":"f3118a7bad57c10e","parentId":7641,"name":"next-swc-loader","id":7642,"timestamp":9850432939,"duration":3382,"tags":{},"startTime":1691877333056},{"traceId":"f3118a7bad57c10e","parentId":7632,"name":"build-module-tsx","id":7641,"timestamp":9850432542,"duration":11615,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877333056},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7637,"timestamp":9850403415,"duration":40886,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877333027},{"traceId":"f3118a7bad57c10e","parentId":7644,"name":"read-resource","id":7645,"timestamp":9850434626,"duration":10102,"tags":{},"startTime":1691877333058},{"traceId":"f3118a7bad57c10e","parentId":7646,"name":"postcss-process","id":7647,"timestamp":9850444793,"duration":115478,"tags":{},"startTime":1691877333068},{"traceId":"f3118a7bad57c10e","parentId":7644,"name":"postcss-loader","id":7646,"timestamp":9850444764,"duration":116028,"tags":{},"startTime":1691877333068},{"traceId":"f3118a7bad57c10e","parentId":7644,"name":"css-loader","id":7648,"timestamp":9850560827,"duration":21862,"tags":{"astUsed":"true"},"startTime":1691877333184},{"traceId":"f3118a7bad57c10e","parentId":7632,"name":"build-module-css","id":7644,"timestamp":9850434426,"duration":159402,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877333058},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7635,"timestamp":9850403343,"duration":193902,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877333027},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7639,"timestamp":9850403442,"duration":497657,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877333027},{"traceId":"f3118a7bad57c10e","parentId":7633,"name":"add-entry","id":7636,"timestamp":9850403400,"duration":858149,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877333027},{"traceId":"f3118a7bad57c10e","parentId":7632,"name":"make","id":7633,"timestamp":9850400538,"duration":861056,"tags":{},"startTime":1691877333024},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"chunk-graph","id":7650,"timestamp":9851273726,"duration":47433,"tags":{},"startTime":1691877333897},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"optimize-modules","id":7652,"timestamp":9851321200,"duration":11,"tags":{},"startTime":1691877333945},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"optimize-chunks","id":7653,"timestamp":9851321356,"duration":214,"tags":{},"startTime":1691877333945},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"optimize-tree","id":7654,"timestamp":9851321600,"duration":14,"tags":{},"startTime":1691877333945},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"optimize-chunk-modules","id":7655,"timestamp":9851321646,"duration":7,"tags":{},"startTime":1691877333945},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"optimize","id":7651,"timestamp":9851321183,"duration":2756,"tags":{},"startTime":1691877333944},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"module-hash","id":7656,"timestamp":9851420922,"duration":12102,"tags":{},"startTime":1691877334044},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"code-generation","id":7657,"timestamp":9851433062,"duration":18921,"tags":{},"startTime":1691877334056},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"hash","id":7658,"timestamp":9851468441,"duration":42333,"tags":{},"startTime":1691877334092},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"code-generation-jobs","id":7659,"timestamp":9851510773,"duration":224,"tags":{},"startTime":1691877334134},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"module-assets","id":7660,"timestamp":9851510958,"duration":376,"tags":{},"startTime":1691877334134},{"traceId":"f3118a7bad57c10e","parentId":7649,"name":"create-chunk-assets","id":7661,"timestamp":9851511346,"duration":70639,"tags":{},"startTime":1691877334135},{"traceId":"f3118a7bad57c10e","parentId":7632,"name":"NextJsBuildManifest-generateClientManifest","id":7663,"timestamp":9851587837,"duration":116,"tags":{},"startTime":1691877334211},{"traceId":"f3118a7bad57c10e","parentId":7632,"name":"NextJsBuildManifest-createassets","id":7662,"timestamp":9851587713,"duration":250,"tags":{},"startTime":1691877334211},{"traceId":"f3118a7bad57c10e","parentId":7632,"name":"seal","id":7649,"timestamp":9851268319,"duration":328606,"tags":{},"startTime":1691877333892},{"traceId":"f3118a7bad57c10e","parentId":7630,"name":"webpack-compilation","id":7632,"timestamp":9850399828,"duration":1197163,"tags":{"name":"client"},"startTime":1691877333023},{"traceId":"f3118a7bad57c10e","parentId":7630,"name":"emit","id":7664,"timestamp":9851597030,"duration":22809,"tags":{},"startTime":1691877334220},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7630,"timestamp":9850370378,"duration":1250718,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877332994},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7667,"timestamp":9851641356,"duration":0,"tags":{},"startTime":1691877334265},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7673,"timestamp":1691877332995000,"duration":1308000,"tags":{"clientId":1691872020568},"startTime":1691877334306},{"traceId":"f3118a7bad57c10e","parentId":7675,"name":"next-swc-transform","id":7676,"timestamp":9851687989,"duration":5197,"tags":{},"startTime":1691877334311},{"traceId":"f3118a7bad57c10e","parentId":7674,"name":"next-swc-loader","id":7675,"timestamp":9851687779,"duration":5414,"tags":{},"startTime":1691877334311},{"traceId":"f3118a7bad57c10e","parentId":7665,"name":"build-module-tsx","id":7674,"timestamp":9851687517,"duration":11757,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877334311},{"traceId":"f3118a7bad57c10e","parentId":7666,"name":"add-entry","id":7668,"timestamp":9851648781,"duration":60444,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877334272},{"traceId":"f3118a7bad57c10e","parentId":7666,"name":"add-entry","id":7669,"timestamp":9851648855,"duration":60384,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877334272},{"traceId":"f3118a7bad57c10e","parentId":7666,"name":"add-entry","id":7670,"timestamp":9851648866,"duration":60377,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877334272},{"traceId":"f3118a7bad57c10e","parentId":7666,"name":"add-entry","id":7671,"timestamp":9851648872,"duration":60375,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877334272},{"traceId":"f3118a7bad57c10e","parentId":7666,"name":"add-entry","id":7672,"timestamp":9851648877,"duration":60372,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877334272},{"traceId":"f3118a7bad57c10e","parentId":7665,"name":"make","id":7666,"timestamp":9851632848,"duration":76459,"tags":{},"startTime":1691877334256},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"chunk-graph","id":7678,"timestamp":9851709733,"duration":855,"tags":{},"startTime":1691877334333},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"optimize-modules","id":7680,"timestamp":9851710628,"duration":7,"tags":{},"startTime":1691877334334},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"optimize-chunks","id":7681,"timestamp":9851710654,"duration":39,"tags":{},"startTime":1691877334334},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"optimize-tree","id":7682,"timestamp":9851710721,"duration":7,"tags":{},"startTime":1691877334334},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"optimize-chunk-modules","id":7683,"timestamp":9851710750,"duration":7,"tags":{},"startTime":1691877334334},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"optimize","id":7679,"timestamp":9851710611,"duration":243,"tags":{},"startTime":1691877334334},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"module-hash","id":7684,"timestamp":9851711213,"duration":186,"tags":{},"startTime":1691877334335},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"code-generation","id":7685,"timestamp":9851711413,"duration":1350,"tags":{},"startTime":1691877334335},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"hash","id":7686,"timestamp":9851714331,"duration":1542,"tags":{},"startTime":1691877334338},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"code-generation-jobs","id":7687,"timestamp":9851715871,"duration":101,"tags":{},"startTime":1691877334339},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"module-assets","id":7688,"timestamp":9851715960,"duration":39,"tags":{},"startTime":1691877334339},{"traceId":"f3118a7bad57c10e","parentId":7677,"name":"create-chunk-assets","id":7689,"timestamp":9851716005,"duration":1051,"tags":{},"startTime":1691877334339},{"traceId":"f3118a7bad57c10e","parentId":7665,"name":"seal","id":7677,"timestamp":9851709631,"duration":7686,"tags":{},"startTime":1691877334333},{"traceId":"f3118a7bad57c10e","parentId":7631,"name":"webpack-compilation","id":7665,"timestamp":9851630353,"duration":86996,"tags":{"name":"server"},"startTime":1691877334254},{"traceId":"f3118a7bad57c10e","parentId":7631,"name":"emit","id":7690,"timestamp":9851717642,"duration":4086,"tags":{},"startTime":1691877334341},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7631,"timestamp":9850374592,"duration":1347962,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877332998}] -[{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7695,"timestamp":9866799768,"duration":12843,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7699,"timestamp":9866799852,"duration":17179,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7701,"timestamp":9866799863,"duration":17200,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7705,"name":"read-resource","id":7706,"timestamp":9866815187,"duration":4178,"tags":{},"startTime":1691877349439},{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7698,"timestamp":9866799847,"duration":55610,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7703,"name":"next-swc-transform","id":7704,"timestamp":9866813900,"duration":42722,"tags":{},"startTime":1691877349438},{"traceId":"f3118a7bad57c10e","parentId":7702,"name":"next-swc-loader","id":7703,"timestamp":9866813749,"duration":42881,"tags":{},"startTime":1691877349438},{"traceId":"f3118a7bad57c10e","parentId":7693,"name":"build-module-tsx","id":7702,"timestamp":9866813398,"duration":51457,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877349437},{"traceId":"f3118a7bad57c10e","parentId":7707,"name":"postcss-process","id":7708,"timestamp":9866819434,"duration":125060,"tags":{},"startTime":1691877349443},{"traceId":"f3118a7bad57c10e","parentId":7705,"name":"postcss-loader","id":7707,"timestamp":9866819408,"duration":125652,"tags":{},"startTime":1691877349443},{"traceId":"f3118a7bad57c10e","parentId":7705,"name":"css-loader","id":7709,"timestamp":9866945144,"duration":24327,"tags":{"astUsed":"true"},"startTime":1691877349569},{"traceId":"f3118a7bad57c10e","parentId":7693,"name":"build-module-css","id":7705,"timestamp":9866814954,"duration":161229,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877349439},{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7696,"timestamp":9866799831,"duration":179680,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7700,"timestamp":9866799859,"duration":187596,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7694,"name":"add-entry","id":7697,"timestamp":9866799840,"duration":251656,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877349424},{"traceId":"f3118a7bad57c10e","parentId":7693,"name":"make","id":7694,"timestamp":9866786978,"duration":264552,"tags":{},"startTime":1691877349411},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"chunk-graph","id":7711,"timestamp":9867057567,"duration":18029,"tags":{},"startTime":1691877349681},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"optimize-modules","id":7713,"timestamp":9867075638,"duration":7,"tags":{},"startTime":1691877349699},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"optimize-chunks","id":7714,"timestamp":9867075663,"duration":215,"tags":{},"startTime":1691877349699},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"optimize-tree","id":7715,"timestamp":9867075906,"duration":8,"tags":{},"startTime":1691877349700},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"optimize-chunk-modules","id":7716,"timestamp":9867075942,"duration":6,"tags":{},"startTime":1691877349700},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"optimize","id":7712,"timestamp":9867075622,"duration":1724,"tags":{},"startTime":1691877349699},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"module-hash","id":7717,"timestamp":9867083871,"duration":2959,"tags":{},"startTime":1691877349708},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"code-generation","id":7718,"timestamp":9867086866,"duration":5592,"tags":{},"startTime":1691877349711},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"hash","id":7719,"timestamp":9867098186,"duration":9126,"tags":{},"startTime":1691877349722},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"code-generation-jobs","id":7720,"timestamp":9867107310,"duration":176,"tags":{},"startTime":1691877349731},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"module-assets","id":7721,"timestamp":9867107464,"duration":329,"tags":{},"startTime":1691877349731},{"traceId":"f3118a7bad57c10e","parentId":7710,"name":"create-chunk-assets","id":7722,"timestamp":9867107802,"duration":18823,"tags":{},"startTime":1691877349732},{"traceId":"f3118a7bad57c10e","parentId":7693,"name":"NextJsBuildManifest-generateClientManifest","id":7724,"timestamp":9867132136,"duration":89,"tags":{},"startTime":1691877349756},{"traceId":"f3118a7bad57c10e","parentId":7693,"name":"NextJsBuildManifest-createassets","id":7723,"timestamp":9867132039,"duration":193,"tags":{},"startTime":1691877349756},{"traceId":"f3118a7bad57c10e","parentId":7693,"name":"seal","id":7710,"timestamp":9867053255,"duration":83064,"tags":{},"startTime":1691877349677},{"traceId":"f3118a7bad57c10e","parentId":7691,"name":"webpack-compilation","id":7693,"timestamp":9866786629,"duration":349739,"tags":{"name":"client"},"startTime":1691877349410},{"traceId":"f3118a7bad57c10e","parentId":7691,"name":"emit","id":7725,"timestamp":9867136396,"duration":301738,"tags":{},"startTime":1691877349760},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7691,"timestamp":9866770470,"duration":669904,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877349394},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7728,"timestamp":9867497357,"duration":0,"tags":{},"startTime":1691877350127},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7734,"timestamp":1691877349395000,"duration":801000,"tags":{"clientId":1691872020568},"startTime":1691877350203},{"traceId":"f3118a7bad57c10e","parentId":7736,"name":"next-swc-transform","id":7737,"timestamp":9867591406,"duration":4756,"tags":{},"startTime":1691877350215},{"traceId":"f3118a7bad57c10e","parentId":7735,"name":"next-swc-loader","id":7736,"timestamp":9867591188,"duration":4982,"tags":{},"startTime":1691877350215},{"traceId":"f3118a7bad57c10e","parentId":7726,"name":"build-module-tsx","id":7735,"timestamp":9867590923,"duration":10902,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877350215},{"traceId":"f3118a7bad57c10e","parentId":7727,"name":"add-entry","id":7729,"timestamp":9867507700,"duration":94658,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877350131},{"traceId":"f3118a7bad57c10e","parentId":7727,"name":"add-entry","id":7730,"timestamp":9867507773,"duration":94597,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877350132},{"traceId":"f3118a7bad57c10e","parentId":7727,"name":"add-entry","id":7731,"timestamp":9867507783,"duration":94591,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877350132},{"traceId":"f3118a7bad57c10e","parentId":7727,"name":"add-entry","id":7732,"timestamp":9867507793,"duration":94583,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877350132},{"traceId":"f3118a7bad57c10e","parentId":7727,"name":"add-entry","id":7733,"timestamp":9867507800,"duration":95126,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877350132},{"traceId":"f3118a7bad57c10e","parentId":7726,"name":"make","id":7727,"timestamp":9867448031,"duration":154924,"tags":{},"startTime":1691877350072},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"chunk-graph","id":7739,"timestamp":9867603366,"duration":579,"tags":{},"startTime":1691877350227},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"optimize-modules","id":7741,"timestamp":9867603973,"duration":10,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"optimize-chunks","id":7742,"timestamp":9867603999,"duration":26,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"optimize-tree","id":7743,"timestamp":9867604049,"duration":11,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"optimize-chunk-modules","id":7744,"timestamp":9867604077,"duration":6,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"optimize","id":7740,"timestamp":9867603962,"duration":201,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"module-hash","id":7745,"timestamp":9867604403,"duration":177,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"code-generation","id":7746,"timestamp":9867604593,"duration":613,"tags":{},"startTime":1691877350228},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"hash","id":7747,"timestamp":9867606314,"duration":1077,"tags":{},"startTime":1691877350230},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"code-generation-jobs","id":7748,"timestamp":9867607390,"duration":84,"tags":{},"startTime":1691877350231},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"module-assets","id":7749,"timestamp":9867607464,"duration":32,"tags":{},"startTime":1691877350231},{"traceId":"f3118a7bad57c10e","parentId":7738,"name":"create-chunk-assets","id":7750,"timestamp":9867607501,"duration":955,"tags":{},"startTime":1691877350231},{"traceId":"f3118a7bad57c10e","parentId":7726,"name":"seal","id":7738,"timestamp":9867603252,"duration":5479,"tags":{},"startTime":1691877350227},{"traceId":"f3118a7bad57c10e","parentId":7692,"name":"webpack-compilation","id":7726,"timestamp":9867447434,"duration":161329,"tags":{"name":"server"},"startTime":1691877350071},{"traceId":"f3118a7bad57c10e","parentId":7692,"name":"emit","id":7751,"timestamp":9867608782,"duration":4110,"tags":{},"startTime":1691877350233},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7692,"timestamp":9866770901,"duration":842934,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877349395}] -[{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7756,"timestamp":9943061243,"duration":12232,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7760,"timestamp":9943061399,"duration":14754,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7762,"timestamp":9943061417,"duration":14747,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7759,"timestamp":9943061392,"duration":16108,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7764,"name":"next-swc-transform","id":7765,"timestamp":9943074905,"duration":3786,"tags":{},"startTime":1691877425701},{"traceId":"f3118a7bad57c10e","parentId":7763,"name":"next-swc-loader","id":7764,"timestamp":9943074655,"duration":4043,"tags":{},"startTime":1691877425701},{"traceId":"f3118a7bad57c10e","parentId":7754,"name":"build-module-tsx","id":7763,"timestamp":9943074243,"duration":27103,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877425700},{"traceId":"f3118a7bad57c10e","parentId":7766,"name":"read-resource","id":7767,"timestamp":9943075798,"duration":25592,"tags":{},"startTime":1691877425702},{"traceId":"f3118a7bad57c10e","parentId":7768,"name":"postcss-process","id":7769,"timestamp":9943101535,"duration":131939,"tags":{},"startTime":1691877425728},{"traceId":"f3118a7bad57c10e","parentId":7766,"name":"postcss-loader","id":7768,"timestamp":9943101497,"duration":133278,"tags":{},"startTime":1691877425728},{"traceId":"f3118a7bad57c10e","parentId":7766,"name":"css-loader","id":7770,"timestamp":9943234809,"duration":31378,"tags":{"astUsed":"true"},"startTime":1691877425861},{"traceId":"f3118a7bad57c10e","parentId":7754,"name":"build-module-css","id":7766,"timestamp":9943075490,"duration":203476,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877425702},{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7757,"timestamp":9943061373,"duration":219075,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7761,"timestamp":9943061410,"duration":235495,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7755,"name":"add-entry","id":7758,"timestamp":9943061385,"duration":653276,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877425687},{"traceId":"f3118a7bad57c10e","parentId":7754,"name":"make","id":7755,"timestamp":9943054687,"duration":660014,"tags":{},"startTime":1691877425681},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"chunk-graph","id":7772,"timestamp":9943729335,"duration":54404,"tags":{},"startTime":1691877426355},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"optimize-modules","id":7774,"timestamp":9943783780,"duration":11,"tags":{},"startTime":1691877426410},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"optimize-chunks","id":7775,"timestamp":9943783811,"duration":423,"tags":{},"startTime":1691877426410},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"optimize-tree","id":7776,"timestamp":9943784270,"duration":20,"tags":{},"startTime":1691877426410},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"optimize-chunk-modules","id":7777,"timestamp":9943784319,"duration":7,"tags":{},"startTime":1691877426410},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"optimize","id":7773,"timestamp":9943783763,"duration":3580,"tags":{},"startTime":1691877426410},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"module-hash","id":7778,"timestamp":9943813134,"duration":16894,"tags":{},"startTime":1691877426439},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"code-generation","id":7779,"timestamp":9943830071,"duration":52702,"tags":{},"startTime":1691877426456},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"hash","id":7780,"timestamp":9943890834,"duration":34228,"tags":{},"startTime":1691877426517},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"code-generation-jobs","id":7781,"timestamp":9943925061,"duration":214,"tags":{},"startTime":1691877426551},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"module-assets","id":7782,"timestamp":9943925227,"duration":374,"tags":{},"startTime":1691877426551},{"traceId":"f3118a7bad57c10e","parentId":7771,"name":"create-chunk-assets","id":7783,"timestamp":9943925612,"duration":20007,"tags":{},"startTime":1691877426552},{"traceId":"f3118a7bad57c10e","parentId":7754,"name":"NextJsBuildManifest-generateClientManifest","id":7785,"timestamp":9944021155,"duration":314,"tags":{},"startTime":1691877426647},{"traceId":"f3118a7bad57c10e","parentId":7754,"name":"NextJsBuildManifest-createassets","id":7784,"timestamp":9944020988,"duration":493,"tags":{},"startTime":1691877426647},{"traceId":"f3118a7bad57c10e","parentId":7754,"name":"seal","id":7771,"timestamp":9943717198,"duration":308812,"tags":{},"startTime":1691877426343},{"traceId":"f3118a7bad57c10e","parentId":7752,"name":"webpack-compilation","id":7754,"timestamp":9943053722,"duration":972342,"tags":{"name":"client"},"startTime":1691877425680},{"traceId":"f3118a7bad57c10e","parentId":7752,"name":"emit","id":7786,"timestamp":9944026103,"duration":133287,"tags":{},"startTime":1691877426652},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7752,"timestamp":9943043951,"duration":1132849,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877425670},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7789,"timestamp":9944203544,"duration":1,"tags":{},"startTime":1691877426830},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7795,"timestamp":1691877425671000,"duration":1292000,"tags":{"clientId":1691872020568},"startTime":1691877426982},{"traceId":"f3118a7bad57c10e","parentId":7797,"name":"next-swc-transform","id":7798,"timestamp":9944380412,"duration":9702,"tags":{},"startTime":1691877427007},{"traceId":"f3118a7bad57c10e","parentId":7796,"name":"next-swc-loader","id":7797,"timestamp":9944380231,"duration":9891,"tags":{},"startTime":1691877427006},{"traceId":"f3118a7bad57c10e","parentId":7787,"name":"build-module-tsx","id":7796,"timestamp":9944379845,"duration":14476,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877427006},{"traceId":"f3118a7bad57c10e","parentId":7788,"name":"add-entry","id":7790,"timestamp":9944249036,"duration":152209,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877426875},{"traceId":"f3118a7bad57c10e","parentId":7788,"name":"add-entry","id":7791,"timestamp":9944249125,"duration":152140,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877426875},{"traceId":"f3118a7bad57c10e","parentId":7788,"name":"add-entry","id":7792,"timestamp":9944249144,"duration":152125,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877426875},{"traceId":"f3118a7bad57c10e","parentId":7788,"name":"add-entry","id":7793,"timestamp":9944249154,"duration":152119,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877426875},{"traceId":"f3118a7bad57c10e","parentId":7788,"name":"add-entry","id":7794,"timestamp":9944249166,"duration":152111,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877426875},{"traceId":"f3118a7bad57c10e","parentId":7787,"name":"make","id":7788,"timestamp":9944179686,"duration":221643,"tags":{},"startTime":1691877426806},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"chunk-graph","id":7800,"timestamp":9944401896,"duration":1958,"tags":{},"startTime":1691877427028},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"optimize-modules","id":7802,"timestamp":9944403906,"duration":14,"tags":{},"startTime":1691877427030},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"optimize-chunks","id":7803,"timestamp":9944403943,"duration":43,"tags":{},"startTime":1691877427030},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"optimize-tree","id":7804,"timestamp":9944404019,"duration":343,"tags":{},"startTime":1691877427030},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"optimize-chunk-modules","id":7805,"timestamp":9944404423,"duration":14,"tags":{},"startTime":1691877427031},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"optimize","id":7801,"timestamp":9944403886,"duration":666,"tags":{},"startTime":1691877427030},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"module-hash","id":7806,"timestamp":9944406071,"duration":736,"tags":{},"startTime":1691877427032},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"code-generation","id":7807,"timestamp":9944407692,"duration":1857,"tags":{},"startTime":1691877427034},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"hash","id":7808,"timestamp":9944410780,"duration":4660,"tags":{},"startTime":1691877427037},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"code-generation-jobs","id":7809,"timestamp":9944415438,"duration":330,"tags":{},"startTime":1691877427042},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"module-assets","id":7810,"timestamp":9944415751,"duration":118,"tags":{},"startTime":1691877427042},{"traceId":"f3118a7bad57c10e","parentId":7799,"name":"create-chunk-assets","id":7811,"timestamp":9944415882,"duration":21215,"tags":{},"startTime":1691877427042},{"traceId":"f3118a7bad57c10e","parentId":7787,"name":"seal","id":7799,"timestamp":9944401756,"duration":35976,"tags":{},"startTime":1691877427028},{"traceId":"f3118a7bad57c10e","parentId":7753,"name":"webpack-compilation","id":7787,"timestamp":9944178560,"duration":259216,"tags":{"name":"server"},"startTime":1691877426805},{"traceId":"f3118a7bad57c10e","parentId":7753,"name":"emit","id":7812,"timestamp":9944437809,"duration":22746,"tags":{},"startTime":1691877427064},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7753,"timestamp":9943044363,"duration":1420617,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877425670}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7813,"timestamp":10111852630,"duration":0,"tags":{},"startTime":1691877594530},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7818,"timestamp":10179741203,"duration":30773,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7822,"timestamp":10179741613,"duration":36999,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7824,"timestamp":10179741645,"duration":36985,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7821,"timestamp":10179741584,"duration":38898,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7826,"name":"next-swc-transform","id":7827,"timestamp":10179776734,"duration":4123,"tags":{},"startTime":1691877662456},{"traceId":"f3118a7bad57c10e","parentId":7825,"name":"next-swc-loader","id":7826,"timestamp":10179776393,"duration":4468,"tags":{},"startTime":1691877662456},{"traceId":"f3118a7bad57c10e","parentId":7816,"name":"build-module-tsx","id":7825,"timestamp":10179775284,"duration":16135,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877662455},{"traceId":"f3118a7bad57c10e","parentId":7828,"name":"read-resource","id":7829,"timestamp":10179778230,"duration":13230,"tags":{},"startTime":1691877662458},{"traceId":"f3118a7bad57c10e","parentId":7830,"name":"postcss-process","id":7831,"timestamp":10179791536,"duration":114247,"tags":{},"startTime":1691877662471},{"traceId":"f3118a7bad57c10e","parentId":7828,"name":"postcss-loader","id":7830,"timestamp":10179791501,"duration":123979,"tags":{},"startTime":1691877662471},{"traceId":"f3118a7bad57c10e","parentId":7828,"name":"css-loader","id":7832,"timestamp":10179915700,"duration":45787,"tags":{"astUsed":"true"},"startTime":1691877662595},{"traceId":"f3118a7bad57c10e","parentId":7816,"name":"build-module-css","id":7828,"timestamp":10179777790,"duration":207139,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877662457},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7819,"timestamp":10179741417,"duration":247515,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7823,"timestamp":10179741627,"duration":279809,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7817,"name":"add-entry","id":7820,"timestamp":10179741508,"duration":527177,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877662421},{"traceId":"f3118a7bad57c10e","parentId":7816,"name":"make","id":7817,"timestamp":10179727554,"duration":541176,"tags":{},"startTime":1691877662407},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"chunk-graph","id":7834,"timestamp":10180282324,"duration":17361,"tags":{},"startTime":1691877662962},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"optimize-modules","id":7836,"timestamp":10180299837,"duration":59,"tags":{},"startTime":1691877662980},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"optimize-chunks","id":7837,"timestamp":10180299934,"duration":256,"tags":{},"startTime":1691877662980},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"optimize-tree","id":7838,"timestamp":10180300222,"duration":14,"tags":{},"startTime":1691877662980},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"optimize-chunk-modules","id":7839,"timestamp":10180300267,"duration":7,"tags":{},"startTime":1691877662980},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"optimize","id":7835,"timestamp":10180299710,"duration":2516,"tags":{},"startTime":1691877662979},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"module-hash","id":7840,"timestamp":10180325430,"duration":7213,"tags":{},"startTime":1691877663005},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"code-generation","id":7841,"timestamp":10180332678,"duration":12180,"tags":{},"startTime":1691877663012},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"hash","id":7842,"timestamp":10180358761,"duration":25057,"tags":{},"startTime":1691877663038},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"code-generation-jobs","id":7843,"timestamp":10180383817,"duration":227,"tags":{},"startTime":1691877663063},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"module-assets","id":7844,"timestamp":10180384005,"duration":405,"tags":{},"startTime":1691877663064},{"traceId":"f3118a7bad57c10e","parentId":7833,"name":"create-chunk-assets","id":7845,"timestamp":10180384426,"duration":30230,"tags":{},"startTime":1691877663064},{"traceId":"f3118a7bad57c10e","parentId":7816,"name":"NextJsBuildManifest-generateClientManifest","id":7847,"timestamp":10180422443,"duration":245,"tags":{},"startTime":1691877663102},{"traceId":"f3118a7bad57c10e","parentId":7816,"name":"NextJsBuildManifest-createassets","id":7846,"timestamp":10180422011,"duration":702,"tags":{},"startTime":1691877663102},{"traceId":"f3118a7bad57c10e","parentId":7816,"name":"seal","id":7833,"timestamp":10180276527,"duration":152612,"tags":{},"startTime":1691877662956},{"traceId":"f3118a7bad57c10e","parentId":7814,"name":"webpack-compilation","id":7816,"timestamp":10179722634,"duration":706570,"tags":{"name":"client"},"startTime":1691877662402},{"traceId":"f3118a7bad57c10e","parentId":7814,"name":"emit","id":7848,"timestamp":10180429237,"duration":181157,"tags":{},"startTime":1691877663109},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7814,"timestamp":10179706698,"duration":907276,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877662386},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7851,"timestamp":10180630845,"duration":0,"tags":{},"startTime":1691877663311},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7857,"timestamp":1691877662388000,"duration":1097000,"tags":{"clientId":1691872020568},"startTime":1691877663493},{"traceId":"f3118a7bad57c10e","parentId":7859,"name":"next-swc-transform","id":7860,"timestamp":10180838678,"duration":4659,"tags":{},"startTime":1691877663518},{"traceId":"f3118a7bad57c10e","parentId":7858,"name":"next-swc-loader","id":7859,"timestamp":10180838459,"duration":4888,"tags":{},"startTime":1691877663518},{"traceId":"f3118a7bad57c10e","parentId":7849,"name":"build-module-tsx","id":7858,"timestamp":10180836877,"duration":29732,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877663517},{"traceId":"f3118a7bad57c10e","parentId":7850,"name":"add-entry","id":7852,"timestamp":10180635376,"duration":238086,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877663315},{"traceId":"f3118a7bad57c10e","parentId":7850,"name":"add-entry","id":7853,"timestamp":10180635558,"duration":237919,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877663315},{"traceId":"f3118a7bad57c10e","parentId":7850,"name":"add-entry","id":7854,"timestamp":10180635572,"duration":237908,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877663315},{"traceId":"f3118a7bad57c10e","parentId":7850,"name":"add-entry","id":7855,"timestamp":10180635579,"duration":237904,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877663315},{"traceId":"f3118a7bad57c10e","parentId":7850,"name":"add-entry","id":7856,"timestamp":10180635585,"duration":237902,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877663315},{"traceId":"f3118a7bad57c10e","parentId":7849,"name":"make","id":7850,"timestamp":10180622532,"duration":250992,"tags":{},"startTime":1691877663302},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"chunk-graph","id":7862,"timestamp":10180874052,"duration":623,"tags":{},"startTime":1691877663554},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"optimize-modules","id":7864,"timestamp":10180874707,"duration":9,"tags":{},"startTime":1691877663554},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"optimize-chunks","id":7865,"timestamp":10180874734,"duration":32,"tags":{},"startTime":1691877663554},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"optimize-tree","id":7866,"timestamp":10180874792,"duration":11,"tags":{},"startTime":1691877663554},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"optimize-chunk-modules","id":7867,"timestamp":10180874821,"duration":6,"tags":{},"startTime":1691877663555},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"optimize","id":7863,"timestamp":10180874694,"duration":222,"tags":{},"startTime":1691877663554},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"module-hash","id":7868,"timestamp":10180875182,"duration":205,"tags":{},"startTime":1691877663555},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"code-generation","id":7869,"timestamp":10180875402,"duration":591,"tags":{},"startTime":1691877663555},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"hash","id":7870,"timestamp":10180877675,"duration":44706,"tags":{},"startTime":1691877663557},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"code-generation-jobs","id":7871,"timestamp":10180922371,"duration":748,"tags":{},"startTime":1691877663602},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"module-assets","id":7872,"timestamp":10180923102,"duration":56,"tags":{},"startTime":1691877663603},{"traceId":"f3118a7bad57c10e","parentId":7861,"name":"create-chunk-assets","id":7873,"timestamp":10180923165,"duration":1505,"tags":{},"startTime":1691877663603},{"traceId":"f3118a7bad57c10e","parentId":7849,"name":"seal","id":7861,"timestamp":10180873942,"duration":51181,"tags":{},"startTime":1691877663554},{"traceId":"f3118a7bad57c10e","parentId":7815,"name":"webpack-compilation","id":7849,"timestamp":10180622209,"duration":302950,"tags":{"name":"server"},"startTime":1691877663302},{"traceId":"f3118a7bad57c10e","parentId":7815,"name":"emit","id":7874,"timestamp":10180925183,"duration":14937,"tags":{},"startTime":1691877663605},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7815,"timestamp":10179707534,"duration":1235950,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877662387}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7875,"timestamp":10190238244,"duration":0,"tags":{},"startTime":1691877672918},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7880,"timestamp":10200580256,"duration":17349,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7884,"timestamp":10200580422,"duration":21476,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7885,"timestamp":10200580431,"duration":21484,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7883,"timestamp":10200580412,"duration":22183,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7890,"name":"read-resource","id":7891,"timestamp":10200601577,"duration":1086,"tags":{},"startTime":1691877683282},{"traceId":"f3118a7bad57c10e","parentId":7888,"name":"next-swc-transform","id":7889,"timestamp":10200599173,"duration":28380,"tags":{},"startTime":1691877683279},{"traceId":"f3118a7bad57c10e","parentId":7887,"name":"next-swc-loader","id":7888,"timestamp":10200598933,"duration":28627,"tags":{},"startTime":1691877683279},{"traceId":"f3118a7bad57c10e","parentId":7878,"name":"build-module-tsx","id":7887,"timestamp":10200598503,"duration":38410,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877683279},{"traceId":"f3118a7bad57c10e","parentId":7892,"name":"postcss-process","id":7893,"timestamp":10200602735,"duration":662971,"tags":{},"startTime":1691877683283},{"traceId":"f3118a7bad57c10e","parentId":7890,"name":"postcss-loader","id":7892,"timestamp":10200602699,"duration":663938,"tags":{},"startTime":1691877683283},{"traceId":"f3118a7bad57c10e","parentId":7890,"name":"css-loader","id":7894,"timestamp":10201266675,"duration":177462,"tags":{"astUsed":"true"},"startTime":1691877683947},{"traceId":"f3118a7bad57c10e","parentId":7878,"name":"build-module-css","id":7890,"timestamp":10200601271,"duration":973952,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877683282},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7881,"timestamp":10200580389,"duration":1029531,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7886,"timestamp":10200580440,"duration":1056607,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7879,"name":"add-entry","id":7882,"timestamp":10200580401,"duration":1552415,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877683261},{"traceId":"f3118a7bad57c10e","parentId":7878,"name":"make","id":7879,"timestamp":10200567460,"duration":1565395,"tags":{},"startTime":1691877683248},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"chunk-graph","id":7896,"timestamp":10202140946,"duration":45360,"tags":{},"startTime":1691877684821},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"optimize-modules","id":7898,"timestamp":10202186354,"duration":17,"tags":{},"startTime":1691877684867},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"optimize-chunks","id":7899,"timestamp":10202186396,"duration":482,"tags":{},"startTime":1691877684867},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"optimize-tree","id":7900,"timestamp":10202186927,"duration":22,"tags":{},"startTime":1691877684867},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"optimize-chunk-modules","id":7901,"timestamp":10202186990,"duration":12,"tags":{},"startTime":1691877684867},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"optimize","id":7897,"timestamp":10202186337,"duration":4991,"tags":{},"startTime":1691877684867},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"module-hash","id":7902,"timestamp":10202257886,"duration":20252,"tags":{},"startTime":1691877684938},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"code-generation","id":7903,"timestamp":10202278186,"duration":61717,"tags":{},"startTime":1691877684959},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"hash","id":7904,"timestamp":10202346619,"duration":86263,"tags":{},"startTime":1691877685027},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"code-generation-jobs","id":7905,"timestamp":10202432880,"duration":237,"tags":{},"startTime":1691877685113},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"module-assets","id":7906,"timestamp":10202433078,"duration":393,"tags":{},"startTime":1691877685113},{"traceId":"f3118a7bad57c10e","parentId":7895,"name":"create-chunk-assets","id":7907,"timestamp":10202433492,"duration":2265,"tags":{},"startTime":1691877685114},{"traceId":"f3118a7bad57c10e","parentId":7878,"name":"NextJsBuildManifest-generateClientManifest","id":7909,"timestamp":10202459453,"duration":16128,"tags":{},"startTime":1691877685140},{"traceId":"f3118a7bad57c10e","parentId":7878,"name":"NextJsBuildManifest-createassets","id":7908,"timestamp":10202459339,"duration":16509,"tags":{},"startTime":1691877685140},{"traceId":"f3118a7bad57c10e","parentId":7878,"name":"seal","id":7895,"timestamp":10202135087,"duration":345078,"tags":{},"startTime":1691877684815},{"traceId":"f3118a7bad57c10e","parentId":7876,"name":"webpack-compilation","id":7878,"timestamp":10200565048,"duration":1915174,"tags":{"name":"client"},"startTime":1691877683245},{"traceId":"f3118a7bad57c10e","parentId":7876,"name":"emit","id":7910,"timestamp":10202480255,"duration":76478,"tags":{},"startTime":1691877685161},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7876,"timestamp":10200555245,"duration":2019399,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877683236},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7913,"timestamp":10202608948,"duration":0,"tags":{},"startTime":1691877685289},{"traceId":"f3118a7bad57c10e","parentId":7912,"name":"add-entry","id":7914,"timestamp":10202612005,"duration":53794,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877685292},{"traceId":"f3118a7bad57c10e","parentId":7912,"name":"add-entry","id":7915,"timestamp":10202612081,"duration":53729,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877685292},{"traceId":"f3118a7bad57c10e","parentId":7912,"name":"add-entry","id":7916,"timestamp":10202612092,"duration":53721,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877685292},{"traceId":"f3118a7bad57c10e","parentId":7912,"name":"add-entry","id":7918,"timestamp":10202612104,"duration":53712,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877685292},{"traceId":"f3118a7bad57c10e","parentId":7920,"name":"next-swc-transform","id":7921,"timestamp":10202657935,"duration":14213,"tags":{},"startTime":1691877685338},{"traceId":"f3118a7bad57c10e","parentId":7919,"name":"next-swc-loader","id":7920,"timestamp":10202657314,"duration":14841,"tags":{},"startTime":1691877685338},{"traceId":"f3118a7bad57c10e","parentId":7911,"name":"build-module-tsx","id":7919,"timestamp":10202655711,"duration":23110,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877685336},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7922,"timestamp":1691877683237000,"duration":2118000,"tags":{"clientId":1691877671858},"startTime":1691877685360},{"traceId":"f3118a7bad57c10e","parentId":7912,"name":"add-entry","id":7917,"timestamp":10202612097,"duration":74767,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877685292},{"traceId":"f3118a7bad57c10e","parentId":7911,"name":"make","id":7912,"timestamp":10202589046,"duration":97876,"tags":{},"startTime":1691877685269},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"chunk-graph","id":7924,"timestamp":10202689092,"duration":697,"tags":{},"startTime":1691877685369},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"optimize-modules","id":7926,"timestamp":10202689839,"duration":6,"tags":{},"startTime":1691877685370},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"optimize-chunks","id":7927,"timestamp":10202689922,"duration":42,"tags":{},"startTime":1691877685370},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"optimize-tree","id":7928,"timestamp":10202689993,"duration":12,"tags":{},"startTime":1691877685370},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"optimize-chunk-modules","id":7929,"timestamp":10202690048,"duration":14,"tags":{},"startTime":1691877685370},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"optimize","id":7925,"timestamp":10202689812,"duration":362,"tags":{},"startTime":1691877685370},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"module-hash","id":7930,"timestamp":10202690493,"duration":250,"tags":{},"startTime":1691877685371},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"code-generation","id":7931,"timestamp":10202690762,"duration":1931,"tags":{},"startTime":1691877685371},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"hash","id":7932,"timestamp":10202694031,"duration":1704,"tags":{},"startTime":1691877685374},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"code-generation-jobs","id":7933,"timestamp":10202695733,"duration":1384,"tags":{},"startTime":1691877685376},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"module-assets","id":7934,"timestamp":10202697096,"duration":50,"tags":{},"startTime":1691877685377},{"traceId":"f3118a7bad57c10e","parentId":7923,"name":"create-chunk-assets","id":7935,"timestamp":10202697158,"duration":1280,"tags":{},"startTime":1691877685378},{"traceId":"f3118a7bad57c10e","parentId":7911,"name":"seal","id":7923,"timestamp":10202688964,"duration":13019,"tags":{},"startTime":1691877685369},{"traceId":"f3118a7bad57c10e","parentId":7877,"name":"webpack-compilation","id":7911,"timestamp":10202580367,"duration":121666,"tags":{"name":"server"},"startTime":1691877685261},{"traceId":"f3118a7bad57c10e","parentId":7877,"name":"emit","id":7936,"timestamp":10202702067,"duration":8258,"tags":{},"startTime":1691877685382},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7877,"timestamp":10200555643,"duration":2155652,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877683236}] -[{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7941,"timestamp":10217276541,"duration":23369,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7945,"timestamp":10217276654,"duration":26123,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7946,"timestamp":10217276670,"duration":26118,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7944,"timestamp":10217276644,"duration":28174,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7949,"name":"next-swc-transform","id":7950,"timestamp":10217301483,"duration":10070,"tags":{},"startTime":1691877699982},{"traceId":"f3118a7bad57c10e","parentId":7948,"name":"next-swc-loader","id":7949,"timestamp":10217301339,"duration":10238,"tags":{},"startTime":1691877699982},{"traceId":"f3118a7bad57c10e","parentId":7939,"name":"build-module-tsx","id":7948,"timestamp":10217300997,"duration":16302,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877699982},{"traceId":"f3118a7bad57c10e","parentId":7951,"name":"read-resource","id":7952,"timestamp":10217302470,"duration":17726,"tags":{},"startTime":1691877699983},{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7942,"timestamp":10217276622,"duration":86759,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7953,"name":"postcss-process","id":7954,"timestamp":10217320274,"duration":155289,"tags":{},"startTime":1691877700001},{"traceId":"f3118a7bad57c10e","parentId":7951,"name":"postcss-loader","id":7953,"timestamp":10217320250,"duration":156095,"tags":{},"startTime":1691877700001},{"traceId":"f3118a7bad57c10e","parentId":7951,"name":"css-loader","id":7955,"timestamp":10217476382,"duration":44029,"tags":{"astUsed":"true"},"startTime":1691877700157},{"traceId":"f3118a7bad57c10e","parentId":7939,"name":"build-module-css","id":7951,"timestamp":10217302247,"duration":220320,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877699983},{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7947,"timestamp":10217276678,"duration":264689,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7940,"name":"add-entry","id":7943,"timestamp":10217276638,"duration":730791,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877699957},{"traceId":"f3118a7bad57c10e","parentId":7939,"name":"make","id":7940,"timestamp":10217268609,"duration":738874,"tags":{},"startTime":1691877699949},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"chunk-graph","id":7957,"timestamp":10218036910,"duration":44187,"tags":{},"startTime":1691877700718},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"optimize-modules","id":7959,"timestamp":10218081137,"duration":7,"tags":{},"startTime":1691877700762},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"optimize-chunks","id":7960,"timestamp":10218081162,"duration":189,"tags":{},"startTime":1691877700762},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"optimize-tree","id":7961,"timestamp":10218081380,"duration":8,"tags":{},"startTime":1691877700762},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"optimize-chunk-modules","id":7962,"timestamp":10218081416,"duration":6,"tags":{},"startTime":1691877700762},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"optimize","id":7958,"timestamp":10218081119,"duration":9064,"tags":{},"startTime":1691877700762},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"module-hash","id":7963,"timestamp":10218195240,"duration":48505,"tags":{},"startTime":1691877700876},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"code-generation","id":7964,"timestamp":10218253915,"duration":138375,"tags":{},"startTime":1691877700935},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"hash","id":7965,"timestamp":10218520637,"duration":56079,"tags":{},"startTime":1691877701201},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"code-generation-jobs","id":7966,"timestamp":10218576714,"duration":208,"tags":{},"startTime":1691877701258},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"module-assets","id":7967,"timestamp":10218576897,"duration":369,"tags":{},"startTime":1691877701258},{"traceId":"f3118a7bad57c10e","parentId":7956,"name":"create-chunk-assets","id":7968,"timestamp":10218577278,"duration":17752,"tags":{},"startTime":1691877701258},{"traceId":"f3118a7bad57c10e","parentId":7939,"name":"NextJsBuildManifest-generateClientManifest","id":7970,"timestamp":10218627184,"duration":102,"tags":{},"startTime":1691877701308},{"traceId":"f3118a7bad57c10e","parentId":7939,"name":"NextJsBuildManifest-createassets","id":7969,"timestamp":10218626915,"duration":379,"tags":{},"startTime":1691877701308},{"traceId":"f3118a7bad57c10e","parentId":7939,"name":"seal","id":7956,"timestamp":10218020475,"duration":657522,"tags":{},"startTime":1691877700701},{"traceId":"f3118a7bad57c10e","parentId":7937,"name":"webpack-compilation","id":7939,"timestamp":10217268027,"duration":1410037,"tags":{"name":"client"},"startTime":1691877699949},{"traceId":"f3118a7bad57c10e","parentId":7937,"name":"emit","id":7971,"timestamp":10218678102,"duration":48016,"tags":{},"startTime":1691877701359},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7937,"timestamp":10217259374,"duration":1467635,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877699940},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":7974,"timestamp":10218745043,"duration":0,"tags":{},"startTime":1691877701426},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":7980,"timestamp":1691877699941000,"duration":1596000,"tags":{"clientId":1691877671858},"startTime":1691877701543},{"traceId":"f3118a7bad57c10e","parentId":7973,"name":"add-entry","id":7975,"timestamp":10218778239,"duration":138742,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877701459},{"traceId":"f3118a7bad57c10e","parentId":7973,"name":"add-entry","id":7976,"timestamp":10218778312,"duration":138683,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877701459},{"traceId":"f3118a7bad57c10e","parentId":7973,"name":"add-entry","id":7977,"timestamp":10218802745,"duration":114253,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877701484},{"traceId":"f3118a7bad57c10e","parentId":7973,"name":"add-entry","id":7979,"timestamp":10218802772,"duration":114230,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877701484},{"traceId":"f3118a7bad57c10e","parentId":7982,"name":"next-swc-transform","id":7983,"timestamp":10218906804,"duration":19458,"tags":{},"startTime":1691877701588},{"traceId":"f3118a7bad57c10e","parentId":7981,"name":"next-swc-loader","id":7982,"timestamp":10218906675,"duration":19598,"tags":{},"startTime":1691877701588},{"traceId":"f3118a7bad57c10e","parentId":7972,"name":"build-module-tsx","id":7981,"timestamp":10218906411,"duration":21403,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877701587},{"traceId":"f3118a7bad57c10e","parentId":7973,"name":"add-entry","id":7978,"timestamp":10218802764,"duration":127014,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877701484},{"traceId":"f3118a7bad57c10e","parentId":7972,"name":"make","id":7973,"timestamp":10218739965,"duration":189855,"tags":{},"startTime":1691877701421},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"chunk-graph","id":7985,"timestamp":10218930288,"duration":310,"tags":{},"startTime":1691877701611},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"optimize-modules","id":7987,"timestamp":10218930621,"duration":7,"tags":{},"startTime":1691877701611},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"optimize-chunks","id":7988,"timestamp":10218930642,"duration":27,"tags":{},"startTime":1691877701611},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"optimize-tree","id":7989,"timestamp":10218930695,"duration":6,"tags":{},"startTime":1691877701612},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"optimize-chunk-modules","id":7990,"timestamp":10218930721,"duration":6,"tags":{},"startTime":1691877701612},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"optimize","id":7986,"timestamp":10218930612,"duration":188,"tags":{},"startTime":1691877701611},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"module-hash","id":7991,"timestamp":10218931046,"duration":176,"tags":{},"startTime":1691877701612},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"code-generation","id":7992,"timestamp":10218931233,"duration":601,"tags":{},"startTime":1691877701612},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"hash","id":7993,"timestamp":10218932472,"duration":1479,"tags":{},"startTime":1691877701613},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"code-generation-jobs","id":7994,"timestamp":10218933943,"duration":165,"tags":{},"startTime":1691877701615},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"module-assets","id":7995,"timestamp":10218934092,"duration":43,"tags":{},"startTime":1691877701615},{"traceId":"f3118a7bad57c10e","parentId":7984,"name":"create-chunk-assets","id":7996,"timestamp":10218934142,"duration":1372,"tags":{},"startTime":1691877701615},{"traceId":"f3118a7bad57c10e","parentId":7972,"name":"seal","id":7984,"timestamp":10218930190,"duration":5645,"tags":{},"startTime":1691877701611},{"traceId":"f3118a7bad57c10e","parentId":7938,"name":"webpack-compilation","id":7972,"timestamp":10218739341,"duration":196531,"tags":{"name":"server"},"startTime":1691877701420},{"traceId":"f3118a7bad57c10e","parentId":7938,"name":"emit","id":7997,"timestamp":10218935895,"duration":5604,"tags":{},"startTime":1691877701617},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7938,"timestamp":10217259775,"duration":1682779,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877699941}] -[{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8002,"timestamp":10243845092,"duration":14309,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8006,"timestamp":10243845199,"duration":17222,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8008,"timestamp":10243845211,"duration":17222,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8005,"timestamp":10243845193,"duration":19031,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8012,"name":"read-resource","id":8013,"timestamp":10243861898,"duration":2526,"tags":{},"startTime":1691877726543},{"traceId":"f3118a7bad57c10e","parentId":8010,"name":"next-swc-transform","id":8011,"timestamp":10243860977,"duration":14173,"tags":{},"startTime":1691877726543},{"traceId":"f3118a7bad57c10e","parentId":8009,"name":"next-swc-loader","id":8010,"timestamp":10243860865,"duration":14292,"tags":{},"startTime":1691877726542},{"traceId":"f3118a7bad57c10e","parentId":8000,"name":"build-module-tsx","id":8009,"timestamp":10243860631,"duration":16956,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877726542},{"traceId":"f3118a7bad57c10e","parentId":8014,"name":"postcss-process","id":8015,"timestamp":10243864487,"duration":120557,"tags":{},"startTime":1691877726546},{"traceId":"f3118a7bad57c10e","parentId":8012,"name":"postcss-loader","id":8014,"timestamp":10243864462,"duration":120968,"tags":{},"startTime":1691877726546},{"traceId":"f3118a7bad57c10e","parentId":8012,"name":"css-loader","id":8016,"timestamp":10243985464,"duration":27209,"tags":{"astUsed":"true"},"startTime":1691877726667},{"traceId":"f3118a7bad57c10e","parentId":8000,"name":"build-module-css","id":8012,"timestamp":10243861541,"duration":153222,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877726543},{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8003,"timestamp":10243845159,"duration":171221,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8007,"timestamp":10243845206,"duration":178000,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8001,"name":"add-entry","id":8004,"timestamp":10243845185,"duration":255638,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877726527},{"traceId":"f3118a7bad57c10e","parentId":8000,"name":"make","id":8001,"timestamp":10243841507,"duration":259350,"tags":{},"startTime":1691877726523},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"chunk-graph","id":8018,"timestamp":10244108689,"duration":9782,"tags":{},"startTime":1691877726790},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"optimize-modules","id":8020,"timestamp":10244118521,"duration":12,"tags":{},"startTime":1691877726800},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"optimize-chunks","id":8021,"timestamp":10244118557,"duration":182,"tags":{},"startTime":1691877726800},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"optimize-tree","id":8022,"timestamp":10244118768,"duration":10,"tags":{},"startTime":1691877726800},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"optimize-chunk-modules","id":8023,"timestamp":10244118810,"duration":6,"tags":{},"startTime":1691877726800},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"optimize","id":8019,"timestamp":10244118503,"duration":1526,"tags":{},"startTime":1691877726800},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"module-hash","id":8024,"timestamp":10244128535,"duration":9684,"tags":{},"startTime":1691877726810},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"code-generation","id":8025,"timestamp":10244138252,"duration":5142,"tags":{},"startTime":1691877726820},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"hash","id":8026,"timestamp":10244148611,"duration":8637,"tags":{},"startTime":1691877726830},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"code-generation-jobs","id":8027,"timestamp":10244157245,"duration":205,"tags":{},"startTime":1691877726839},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"module-assets","id":8028,"timestamp":10244157421,"duration":438,"tags":{},"startTime":1691877726839},{"traceId":"f3118a7bad57c10e","parentId":8017,"name":"create-chunk-assets","id":8029,"timestamp":10244157877,"duration":1789,"tags":{},"startTime":1691877726839},{"traceId":"f3118a7bad57c10e","parentId":8000,"name":"NextJsBuildManifest-generateClientManifest","id":8031,"timestamp":10244162344,"duration":86,"tags":{},"startTime":1691877726844},{"traceId":"f3118a7bad57c10e","parentId":8000,"name":"NextJsBuildManifest-createassets","id":8030,"timestamp":10244162255,"duration":182,"tags":{},"startTime":1691877726844},{"traceId":"f3118a7bad57c10e","parentId":8000,"name":"seal","id":8017,"timestamp":10244102700,"duration":63381,"tags":{},"startTime":1691877726784},{"traceId":"f3118a7bad57c10e","parentId":7998,"name":"webpack-compilation","id":8000,"timestamp":10243841099,"duration":325029,"tags":{"name":"client"},"startTime":1691877726523},{"traceId":"f3118a7bad57c10e","parentId":7998,"name":"emit","id":8032,"timestamp":10244166155,"duration":15419,"tags":{},"startTime":1691877726848},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":7998,"timestamp":10243831873,"duration":350546,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877726513},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8035,"timestamp":10244210448,"duration":0,"tags":{},"startTime":1691877726892},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8041,"timestamp":1691877726514000,"duration":648000,"tags":{"clientId":1691877671858},"startTime":1691877727171},{"traceId":"f3118a7bad57c10e","parentId":8043,"name":"next-swc-transform","id":8044,"timestamp":10244600143,"duration":16215,"tags":{},"startTime":1691877727282},{"traceId":"f3118a7bad57c10e","parentId":8042,"name":"next-swc-loader","id":8043,"timestamp":10244599983,"duration":16384,"tags":{},"startTime":1691877727282},{"traceId":"f3118a7bad57c10e","parentId":8033,"name":"build-module-tsx","id":8042,"timestamp":10244599632,"duration":37401,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877727281},{"traceId":"f3118a7bad57c10e","parentId":8034,"name":"add-entry","id":8036,"timestamp":10244275372,"duration":364461,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877726957},{"traceId":"f3118a7bad57c10e","parentId":8034,"name":"add-entry","id":8037,"timestamp":10244276738,"duration":363111,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877726958},{"traceId":"f3118a7bad57c10e","parentId":8034,"name":"add-entry","id":8038,"timestamp":10244276761,"duration":363093,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877726958},{"traceId":"f3118a7bad57c10e","parentId":8034,"name":"add-entry","id":8040,"timestamp":10244276789,"duration":363067,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877726958},{"traceId":"f3118a7bad57c10e","parentId":8034,"name":"add-entry","id":8039,"timestamp":10244276768,"duration":363152,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877726958},{"traceId":"f3118a7bad57c10e","parentId":8033,"name":"make","id":8034,"timestamp":10244185943,"duration":454013,"tags":{},"startTime":1691877726868},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"chunk-graph","id":8046,"timestamp":10244645466,"duration":592,"tags":{},"startTime":1691877727327},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"optimize-modules","id":8048,"timestamp":10244646089,"duration":11,"tags":{},"startTime":1691877727328},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"optimize-chunks","id":8049,"timestamp":10244646117,"duration":28,"tags":{},"startTime":1691877727328},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"optimize-tree","id":8050,"timestamp":10244646172,"duration":12,"tags":{},"startTime":1691877727328},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"optimize-chunk-modules","id":8051,"timestamp":10244646213,"duration":7,"tags":{},"startTime":1691877727328},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"optimize","id":8047,"timestamp":10244646076,"duration":229,"tags":{},"startTime":1691877727328},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"module-hash","id":8052,"timestamp":10244646577,"duration":206,"tags":{},"startTime":1691877727328},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"code-generation","id":8053,"timestamp":10244647843,"duration":748,"tags":{},"startTime":1691877727329},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"hash","id":8054,"timestamp":10244649378,"duration":1060,"tags":{},"startTime":1691877727331},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"code-generation-jobs","id":8055,"timestamp":10244650436,"duration":96,"tags":{},"startTime":1691877727332},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"module-assets","id":8056,"timestamp":10244650520,"duration":37,"tags":{},"startTime":1691877727332},{"traceId":"f3118a7bad57c10e","parentId":8045,"name":"create-chunk-assets","id":8057,"timestamp":10244650563,"duration":1259,"tags":{},"startTime":1691877727332},{"traceId":"f3118a7bad57c10e","parentId":8033,"name":"seal","id":8045,"timestamp":10244645309,"duration":6841,"tags":{},"startTime":1691877727327},{"traceId":"f3118a7bad57c10e","parentId":7999,"name":"webpack-compilation","id":8033,"timestamp":10244185504,"duration":466681,"tags":{"name":"server"},"startTime":1691877726867},{"traceId":"f3118a7bad57c10e","parentId":7999,"name":"emit","id":8058,"timestamp":10244652206,"duration":12268,"tags":{},"startTime":1691877727334},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":7999,"timestamp":10243832592,"duration":833180,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877726514}] -[{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8063,"timestamp":10259134515,"duration":38988,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8071,"name":"next-swc-transform","id":8072,"timestamp":10259177258,"duration":5557,"tags":{},"startTime":1691877741859},{"traceId":"f3118a7bad57c10e","parentId":8070,"name":"next-swc-loader","id":8071,"timestamp":10259176163,"duration":6658,"tags":{},"startTime":1691877741858},{"traceId":"f3118a7bad57c10e","parentId":8061,"name":"build-module-tsx","id":8070,"timestamp":10259175704,"duration":14589,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877741858},{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8067,"timestamp":10259134683,"duration":56398,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8069,"timestamp":10259134700,"duration":56395,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8073,"name":"read-resource","id":8074,"timestamp":10259182312,"duration":17833,"tags":{},"startTime":1691877741864},{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8066,"timestamp":10259134669,"duration":102891,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8075,"name":"postcss-process","id":8076,"timestamp":10259200222,"duration":725829,"tags":{},"startTime":1691877741882},{"traceId":"f3118a7bad57c10e","parentId":8073,"name":"postcss-loader","id":8075,"timestamp":10259200188,"duration":726902,"tags":{},"startTime":1691877741882},{"traceId":"f3118a7bad57c10e","parentId":8073,"name":"css-loader","id":8077,"timestamp":10259927130,"duration":118968,"tags":{"astUsed":"true"},"startTime":1691877742609},{"traceId":"f3118a7bad57c10e","parentId":8061,"name":"build-module-css","id":8073,"timestamp":10259182120,"duration":961515,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877741864},{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8064,"timestamp":10259134643,"duration":1044989,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8068,"timestamp":10259134694,"duration":1072255,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8062,"name":"add-entry","id":8065,"timestamp":10259134661,"duration":1454361,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877741817},{"traceId":"f3118a7bad57c10e","parentId":8061,"name":"make","id":8062,"timestamp":10259124999,"duration":1464056,"tags":{},"startTime":1691877741807},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"chunk-graph","id":8079,"timestamp":10260604424,"duration":24367,"tags":{},"startTime":1691877743287},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"optimize-modules","id":8081,"timestamp":10260628832,"duration":12,"tags":{},"startTime":1691877743311},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"optimize-chunks","id":8082,"timestamp":10260628867,"duration":209,"tags":{},"startTime":1691877743311},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"optimize-tree","id":8083,"timestamp":10260629105,"duration":13,"tags":{},"startTime":1691877743311},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"optimize-chunk-modules","id":8084,"timestamp":10260629154,"duration":7,"tags":{},"startTime":1691877743311},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"optimize","id":8080,"timestamp":10260628817,"duration":2254,"tags":{},"startTime":1691877743311},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"module-hash","id":8085,"timestamp":10260663737,"duration":49835,"tags":{},"startTime":1691877743346},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"code-generation","id":8086,"timestamp":10260713614,"duration":26694,"tags":{},"startTime":1691877743396},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"hash","id":8087,"timestamp":10260748195,"duration":33218,"tags":{},"startTime":1691877743430},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"code-generation-jobs","id":8088,"timestamp":10260781412,"duration":213,"tags":{},"startTime":1691877743464},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"module-assets","id":8089,"timestamp":10260781596,"duration":417,"tags":{},"startTime":1691877743464},{"traceId":"f3118a7bad57c10e","parentId":8078,"name":"create-chunk-assets","id":8090,"timestamp":10260782029,"duration":9653,"tags":{},"startTime":1691877743464},{"traceId":"f3118a7bad57c10e","parentId":8061,"name":"NextJsBuildManifest-generateClientManifest","id":8092,"timestamp":10260807156,"duration":171,"tags":{},"startTime":1691877743489},{"traceId":"f3118a7bad57c10e","parentId":8061,"name":"NextJsBuildManifest-createassets","id":8091,"timestamp":10260806984,"duration":379,"tags":{},"startTime":1691877743489},{"traceId":"f3118a7bad57c10e","parentId":8061,"name":"seal","id":8078,"timestamp":10260593242,"duration":218940,"tags":{},"startTime":1691877743275},{"traceId":"f3118a7bad57c10e","parentId":8059,"name":"webpack-compilation","id":8061,"timestamp":10259124483,"duration":1687760,"tags":{"name":"client"},"startTime":1691877741807},{"traceId":"f3118a7bad57c10e","parentId":8059,"name":"emit","id":8093,"timestamp":10260812281,"duration":35535,"tags":{},"startTime":1691877743494},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8059,"timestamp":10259110924,"duration":1741853,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877741793},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8096,"timestamp":10260866742,"duration":0,"tags":{},"startTime":1691877743549},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8102,"timestamp":1691877741794000,"duration":1821000,"tags":{"clientId":1691877671858},"startTime":1691877743621},{"traceId":"f3118a7bad57c10e","parentId":8095,"name":"add-entry","id":8097,"timestamp":10260890157,"duration":73384,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877743572},{"traceId":"f3118a7bad57c10e","parentId":8095,"name":"add-entry","id":8098,"timestamp":10260890220,"duration":73331,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877743572},{"traceId":"f3118a7bad57c10e","parentId":8095,"name":"add-entry","id":8099,"timestamp":10260890230,"duration":73332,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877743572},{"traceId":"f3118a7bad57c10e","parentId":8095,"name":"add-entry","id":8101,"timestamp":10260890240,"duration":73325,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877743572},{"traceId":"f3118a7bad57c10e","parentId":8104,"name":"next-swc-transform","id":8105,"timestamp":10260960788,"duration":4164,"tags":{},"startTime":1691877743643},{"traceId":"f3118a7bad57c10e","parentId":8103,"name":"next-swc-loader","id":8104,"timestamp":10260957686,"duration":7273,"tags":{},"startTime":1691877743640},{"traceId":"f3118a7bad57c10e","parentId":8094,"name":"build-module-tsx","id":8103,"timestamp":10260956975,"duration":11145,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877743639},{"traceId":"f3118a7bad57c10e","parentId":8095,"name":"add-entry","id":8100,"timestamp":10260890234,"duration":89929,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877743572},{"traceId":"f3118a7bad57c10e","parentId":8094,"name":"make","id":8095,"timestamp":10260857027,"duration":123187,"tags":{},"startTime":1691877743539},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"chunk-graph","id":8107,"timestamp":10260980708,"duration":5078,"tags":{},"startTime":1691877743663},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"optimize-modules","id":8109,"timestamp":10260985832,"duration":9,"tags":{},"startTime":1691877743668},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"optimize-chunks","id":8110,"timestamp":10260985868,"duration":45,"tags":{},"startTime":1691877743668},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"optimize-tree","id":8111,"timestamp":10260985945,"duration":11,"tags":{},"startTime":1691877743668},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"optimize-chunk-modules","id":8112,"timestamp":10260985980,"duration":7,"tags":{},"startTime":1691877743668},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"optimize","id":8108,"timestamp":10260985818,"duration":274,"tags":{},"startTime":1691877743668},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"module-hash","id":8113,"timestamp":10260986415,"duration":593,"tags":{},"startTime":1691877743669},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"code-generation","id":8114,"timestamp":10260987034,"duration":613,"tags":{},"startTime":1691877743669},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"hash","id":8115,"timestamp":10260988618,"duration":1881,"tags":{},"startTime":1691877743671},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"code-generation-jobs","id":8116,"timestamp":10260990498,"duration":109,"tags":{},"startTime":1691877743673},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"module-assets","id":8117,"timestamp":10260990592,"duration":41,"tags":{},"startTime":1691877743673},{"traceId":"f3118a7bad57c10e","parentId":8106,"name":"create-chunk-assets","id":8118,"timestamp":10260990643,"duration":1616,"tags":{},"startTime":1691877743673},{"traceId":"f3118a7bad57c10e","parentId":8094,"name":"seal","id":8106,"timestamp":10260980580,"duration":13200,"tags":{},"startTime":1691877743663},{"traceId":"f3118a7bad57c10e","parentId":8060,"name":"webpack-compilation","id":8094,"timestamp":10260856360,"duration":137473,"tags":{"name":"server"},"startTime":1691877743538},{"traceId":"f3118a7bad57c10e","parentId":8060,"name":"emit","id":8119,"timestamp":10260993868,"duration":12493,"tags":{},"startTime":1691877743676},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8060,"timestamp":10259111289,"duration":1896276,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877741793}] -[{"traceId":"f3118a7bad57c10e","parentId":8130,"name":"next-swc-transform","id":8131,"timestamp":10268061000,"duration":5193,"tags":{},"startTime":1691877750743},{"traceId":"f3118a7bad57c10e","parentId":8129,"name":"next-swc-loader","id":8130,"timestamp":10268060717,"duration":5485,"tags":{},"startTime":1691877750743},{"traceId":"f3118a7bad57c10e","parentId":8122,"name":"build-module-tsx","id":8129,"timestamp":10268060416,"duration":9531,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877750743},{"traceId":"f3118a7bad57c10e","parentId":8123,"name":"add-entry","id":8124,"timestamp":10268018648,"duration":51372,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877750701},{"traceId":"f3118a7bad57c10e","parentId":8123,"name":"add-entry","id":8125,"timestamp":10268018757,"duration":51272,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877750701},{"traceId":"f3118a7bad57c10e","parentId":8123,"name":"add-entry","id":8126,"timestamp":10268018768,"duration":51263,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877750701},{"traceId":"f3118a7bad57c10e","parentId":8123,"name":"add-entry","id":8128,"timestamp":10268018780,"duration":51754,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877750701},{"traceId":"f3118a7bad57c10e","parentId":8123,"name":"add-entry","id":8127,"timestamp":10268018774,"duration":51997,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877750701},{"traceId":"f3118a7bad57c10e","parentId":8122,"name":"make","id":8123,"timestamp":10268012569,"duration":58227,"tags":{},"startTime":1691877750695},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"chunk-graph","id":8133,"timestamp":10268071227,"duration":596,"tags":{},"startTime":1691877750754},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"optimize-modules","id":8135,"timestamp":10268071851,"duration":10,"tags":{},"startTime":1691877750754},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"optimize-chunks","id":8136,"timestamp":10268071879,"duration":27,"tags":{},"startTime":1691877750754},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"optimize-tree","id":8137,"timestamp":10268071930,"duration":10,"tags":{},"startTime":1691877750754},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"optimize-chunk-modules","id":8138,"timestamp":10268071961,"duration":6,"tags":{},"startTime":1691877750754},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"optimize","id":8134,"timestamp":10268071840,"duration":223,"tags":{},"startTime":1691877750754},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"module-hash","id":8139,"timestamp":10268072400,"duration":226,"tags":{},"startTime":1691877750755},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"code-generation","id":8140,"timestamp":10268072641,"duration":575,"tags":{},"startTime":1691877750755},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"hash","id":8141,"timestamp":10268074053,"duration":1270,"tags":{},"startTime":1691877750756},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"code-generation-jobs","id":8142,"timestamp":10268075322,"duration":108,"tags":{},"startTime":1691877750758},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"module-assets","id":8143,"timestamp":10268075418,"duration":41,"tags":{},"startTime":1691877750758},{"traceId":"f3118a7bad57c10e","parentId":8132,"name":"create-chunk-assets","id":8144,"timestamp":10268075467,"duration":2848,"tags":{},"startTime":1691877750758},{"traceId":"f3118a7bad57c10e","parentId":8122,"name":"seal","id":8132,"timestamp":10268071101,"duration":7845,"tags":{},"startTime":1691877750753},{"traceId":"f3118a7bad57c10e","parentId":8120,"name":"webpack-compilation","id":8122,"timestamp":10268012259,"duration":66792,"tags":{"name":"server"},"startTime":1691877750695},{"traceId":"f3118a7bad57c10e","parentId":8120,"name":"emit","id":8145,"timestamp":10268079139,"duration":5817,"tags":{},"startTime":1691877750761},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8120,"timestamp":10268005493,"duration":80207,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877750688},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8148,"timestamp":10268089497,"duration":7361,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8152,"timestamp":10268089581,"duration":9880,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8154,"timestamp":10268089597,"duration":9875,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8151,"timestamp":10268089574,"duration":10560,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8158,"name":"read-resource","id":8159,"timestamp":10268098892,"duration":2222,"tags":{},"startTime":1691877750781},{"traceId":"f3118a7bad57c10e","parentId":8156,"name":"next-swc-transform","id":8157,"timestamp":10268097962,"duration":27563,"tags":{},"startTime":1691877750780},{"traceId":"f3118a7bad57c10e","parentId":8155,"name":"next-swc-loader","id":8156,"timestamp":10268097855,"duration":27678,"tags":{},"startTime":1691877750780},{"traceId":"f3118a7bad57c10e","parentId":8146,"name":"build-module-tsx","id":8155,"timestamp":10268097582,"duration":32264,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877750780},{"traceId":"f3118a7bad57c10e","parentId":8160,"name":"postcss-process","id":8161,"timestamp":10268101180,"duration":97885,"tags":{},"startTime":1691877750783},{"traceId":"f3118a7bad57c10e","parentId":8158,"name":"postcss-loader","id":8160,"timestamp":10268101156,"duration":98363,"tags":{},"startTime":1691877750783},{"traceId":"f3118a7bad57c10e","parentId":8158,"name":"css-loader","id":8162,"timestamp":10268199553,"duration":30906,"tags":{"astUsed":"true"},"startTime":1691877750882},{"traceId":"f3118a7bad57c10e","parentId":8146,"name":"build-module-css","id":8158,"timestamp":10268098727,"duration":134069,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877750781},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8149,"timestamp":10268089557,"duration":158337,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8153,"timestamp":10268089591,"duration":169870,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8147,"name":"add-entry","id":8150,"timestamp":10268089568,"duration":243757,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877750772},{"traceId":"f3118a7bad57c10e","parentId":8146,"name":"make","id":8147,"timestamp":10268087956,"duration":245404,"tags":{},"startTime":1691877750770},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"chunk-graph","id":8164,"timestamp":10268338754,"duration":11932,"tags":{},"startTime":1691877751021},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"optimize-modules","id":8166,"timestamp":10268350731,"duration":8,"tags":{},"startTime":1691877751033},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"optimize-chunks","id":8167,"timestamp":10268350762,"duration":214,"tags":{},"startTime":1691877751033},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"optimize-tree","id":8168,"timestamp":10268351008,"duration":10,"tags":{},"startTime":1691877751033},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"optimize-chunk-modules","id":8169,"timestamp":10268351049,"duration":8,"tags":{},"startTime":1691877751033},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"optimize","id":8165,"timestamp":10268350713,"duration":2252,"tags":{},"startTime":1691877751033},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"module-hash","id":8170,"timestamp":10268363296,"duration":2483,"tags":{},"startTime":1691877751046},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"code-generation","id":8171,"timestamp":10268365813,"duration":32795,"tags":{},"startTime":1691877751048},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"hash","id":8172,"timestamp":10268411605,"duration":11021,"tags":{},"startTime":1691877751094},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"code-generation-jobs","id":8173,"timestamp":10268422623,"duration":361,"tags":{},"startTime":1691877751105},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"module-assets","id":8174,"timestamp":10268422951,"duration":413,"tags":{},"startTime":1691877751105},{"traceId":"f3118a7bad57c10e","parentId":8163,"name":"create-chunk-assets","id":8175,"timestamp":10268423382,"duration":3105,"tags":{},"startTime":1691877751106},{"traceId":"f3118a7bad57c10e","parentId":8146,"name":"NextJsBuildManifest-generateClientManifest","id":8177,"timestamp":10268430422,"duration":104,"tags":{},"startTime":1691877751113},{"traceId":"f3118a7bad57c10e","parentId":8146,"name":"NextJsBuildManifest-createassets","id":8176,"timestamp":10268430317,"duration":216,"tags":{},"startTime":1691877751113},{"traceId":"f3118a7bad57c10e","parentId":8146,"name":"seal","id":8163,"timestamp":10268335011,"duration":101785,"tags":{},"startTime":1691877751017},{"traceId":"f3118a7bad57c10e","parentId":8121,"name":"webpack-compilation","id":8146,"timestamp":10268087628,"duration":349217,"tags":{"name":"client"},"startTime":1691877750770},{"traceId":"f3118a7bad57c10e","parentId":8121,"name":"emit","id":8178,"timestamp":10268436874,"duration":36653,"tags":{},"startTime":1691877751119},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8121,"timestamp":10268005850,"duration":599596,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877750688}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8179,"timestamp":10268630495,"duration":0,"tags":{},"startTime":1691877751313},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8180,"timestamp":1691877750689000,"duration":723000,"tags":{"clientId":1691877671858},"startTime":1691877751414},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8185,"timestamp":10298436244,"duration":22702,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877781119},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8189,"timestamp":10298436400,"duration":29671,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877781120},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8190,"timestamp":10298436412,"duration":29670,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877781120},{"traceId":"f3118a7bad57c10e","parentId":8195,"name":"read-resource","id":8196,"timestamp":10298465652,"duration":960,"tags":{},"startTime":1691877781149},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8188,"timestamp":10298436394,"duration":49976,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877781120},{"traceId":"f3118a7bad57c10e","parentId":8193,"name":"next-swc-transform","id":8194,"timestamp":10298461009,"duration":25984,"tags":{},"startTime":1691877781144},{"traceId":"f3118a7bad57c10e","parentId":8192,"name":"next-swc-loader","id":8193,"timestamp":10298460718,"duration":26281,"tags":{},"startTime":1691877781144},{"traceId":"f3118a7bad57c10e","parentId":8183,"name":"build-module-tsx","id":8192,"timestamp":10298460246,"duration":34722,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877781143},{"traceId":"f3118a7bad57c10e","parentId":8197,"name":"postcss-process","id":8198,"timestamp":10298466692,"duration":158982,"tags":{},"startTime":1691877781150},{"traceId":"f3118a7bad57c10e","parentId":8195,"name":"postcss-loader","id":8197,"timestamp":10298466654,"duration":163609,"tags":{},"startTime":1691877781150},{"traceId":"f3118a7bad57c10e","parentId":8195,"name":"css-loader","id":8199,"timestamp":10298630351,"duration":49267,"tags":{"astUsed":"true"},"startTime":1691877781314},{"traceId":"f3118a7bad57c10e","parentId":8183,"name":"build-module-css","id":8195,"timestamp":10298465448,"duration":227270,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877781149},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8186,"timestamp":10298436369,"duration":261656,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877781120},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8191,"timestamp":10298436421,"duration":272653,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877781120},{"traceId":"f3118a7bad57c10e","parentId":8184,"name":"add-entry","id":8187,"timestamp":10298436383,"duration":540096,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877781120},{"traceId":"f3118a7bad57c10e","parentId":8183,"name":"make","id":8184,"timestamp":10298431338,"duration":545172,"tags":{},"startTime":1691877781115},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"chunk-graph","id":8201,"timestamp":10298991234,"duration":37752,"tags":{},"startTime":1691877781674},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"optimize-modules","id":8203,"timestamp":10299029034,"duration":11,"tags":{},"startTime":1691877781712},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"optimize-chunks","id":8204,"timestamp":10299029073,"duration":263,"tags":{},"startTime":1691877781712},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"optimize-tree","id":8205,"timestamp":10299029371,"duration":21,"tags":{},"startTime":1691877781713},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"optimize-chunk-modules","id":8206,"timestamp":10299029427,"duration":7,"tags":{},"startTime":1691877781713},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"optimize","id":8202,"timestamp":10299029015,"duration":2302,"tags":{},"startTime":1691877781712},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"module-hash","id":8207,"timestamp":10299064881,"duration":11189,"tags":{},"startTime":1691877781748},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"code-generation","id":8208,"timestamp":10299076107,"duration":13653,"tags":{},"startTime":1691877781759},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"hash","id":8209,"timestamp":10299098750,"duration":14508,"tags":{},"startTime":1691877781782},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"code-generation-jobs","id":8210,"timestamp":10299113256,"duration":209,"tags":{},"startTime":1691877781796},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"module-assets","id":8211,"timestamp":10299113431,"duration":363,"tags":{},"startTime":1691877781797},{"traceId":"f3118a7bad57c10e","parentId":8200,"name":"create-chunk-assets","id":8212,"timestamp":10299113806,"duration":2010,"tags":{},"startTime":1691877781797},{"traceId":"f3118a7bad57c10e","parentId":8183,"name":"NextJsBuildManifest-generateClientManifest","id":8214,"timestamp":10299118916,"duration":135,"tags":{},"startTime":1691877781802},{"traceId":"f3118a7bad57c10e","parentId":8183,"name":"NextJsBuildManifest-createassets","id":8213,"timestamp":10299118810,"duration":249,"tags":{},"startTime":1691877781802},{"traceId":"f3118a7bad57c10e","parentId":8183,"name":"seal","id":8200,"timestamp":10298981222,"duration":141378,"tags":{},"startTime":1691877781664},{"traceId":"f3118a7bad57c10e","parentId":8181,"name":"webpack-compilation","id":8183,"timestamp":10298430868,"duration":691779,"tags":{"name":"client"},"startTime":1691877781114},{"traceId":"f3118a7bad57c10e","parentId":8181,"name":"emit","id":8215,"timestamp":10299122681,"duration":29810,"tags":{},"startTime":1691877781806},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8181,"timestamp":10298419481,"duration":734254,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877781103},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8218,"timestamp":10299172556,"duration":0,"tags":{},"startTime":1691877781856},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8224,"timestamp":1691877781104000,"duration":798000,"tags":{"clientId":1691877671858},"startTime":1691877781925},{"traceId":"f3118a7bad57c10e","parentId":8226,"name":"next-swc-transform","id":8227,"timestamp":10299262822,"duration":8665,"tags":{},"startTime":1691877781946},{"traceId":"f3118a7bad57c10e","parentId":8225,"name":"next-swc-loader","id":8226,"timestamp":10299262612,"duration":8884,"tags":{},"startTime":1691877781946},{"traceId":"f3118a7bad57c10e","parentId":8216,"name":"build-module-tsx","id":8225,"timestamp":10299262331,"duration":17040,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877781946},{"traceId":"f3118a7bad57c10e","parentId":8217,"name":"add-entry","id":8219,"timestamp":10299177128,"duration":102372,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877781860},{"traceId":"f3118a7bad57c10e","parentId":8217,"name":"add-entry","id":8220,"timestamp":10299177201,"duration":102306,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877781860},{"traceId":"f3118a7bad57c10e","parentId":8217,"name":"add-entry","id":8221,"timestamp":10299177213,"duration":102297,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877781860},{"traceId":"f3118a7bad57c10e","parentId":8217,"name":"add-entry","id":8223,"timestamp":10299177226,"duration":102288,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877781860},{"traceId":"f3118a7bad57c10e","parentId":8217,"name":"add-entry","id":8222,"timestamp":10299177220,"duration":102786,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877781860},{"traceId":"f3118a7bad57c10e","parentId":8216,"name":"make","id":8217,"timestamp":10299155960,"duration":124071,"tags":{},"startTime":1691877781839},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"chunk-graph","id":8229,"timestamp":10299280455,"duration":402,"tags":{},"startTime":1691877781964},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"optimize-modules","id":8231,"timestamp":10299280885,"duration":9,"tags":{},"startTime":1691877781964},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"optimize-chunks","id":8232,"timestamp":10299282284,"duration":114,"tags":{},"startTime":1691877781966},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"optimize-tree","id":8233,"timestamp":10299282442,"duration":13,"tags":{},"startTime":1691877781966},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"optimize-chunk-modules","id":8234,"timestamp":10299282481,"duration":7,"tags":{},"startTime":1691877781966},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"optimize","id":8230,"timestamp":10299280874,"duration":2094,"tags":{},"startTime":1691877781964},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"module-hash","id":8235,"timestamp":10299285394,"duration":237,"tags":{},"startTime":1691877781969},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"code-generation","id":8236,"timestamp":10299285649,"duration":1306,"tags":{},"startTime":1691877781969},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"hash","id":8237,"timestamp":10299288060,"duration":1509,"tags":{},"startTime":1691877781971},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"code-generation-jobs","id":8238,"timestamp":10299289568,"duration":98,"tags":{},"startTime":1691877781973},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"module-assets","id":8239,"timestamp":10299289652,"duration":34,"tags":{},"startTime":1691877781973},{"traceId":"f3118a7bad57c10e","parentId":8228,"name":"create-chunk-assets","id":8240,"timestamp":10299289695,"duration":2119,"tags":{},"startTime":1691877781973},{"traceId":"f3118a7bad57c10e","parentId":8216,"name":"seal","id":8228,"timestamp":10299280336,"duration":11938,"tags":{},"startTime":1691877781964},{"traceId":"f3118a7bad57c10e","parentId":8182,"name":"webpack-compilation","id":8216,"timestamp":10299155373,"duration":136938,"tags":{"name":"server"},"startTime":1691877781839},{"traceId":"f3118a7bad57c10e","parentId":8182,"name":"emit","id":8241,"timestamp":10299292340,"duration":4707,"tags":{},"startTime":1691877781976},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8182,"timestamp":10298419798,"duration":880155,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877781103}] -[{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8246,"timestamp":10326519697,"duration":15836,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8250,"timestamp":10326519804,"duration":18261,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8252,"timestamp":10326519822,"duration":18254,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8256,"name":"read-resource","id":8257,"timestamp":10326537804,"duration":1349,"tags":{},"startTime":1691877809222},{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8249,"timestamp":10326519794,"duration":33059,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8254,"name":"next-swc-transform","id":8255,"timestamp":10326536916,"duration":16707,"tags":{},"startTime":1691877809221},{"traceId":"f3118a7bad57c10e","parentId":8253,"name":"next-swc-loader","id":8254,"timestamp":10326536770,"duration":16858,"tags":{},"startTime":1691877809221},{"traceId":"f3118a7bad57c10e","parentId":8244,"name":"build-module-tsx","id":8253,"timestamp":10326536443,"duration":30044,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877809221},{"traceId":"f3118a7bad57c10e","parentId":8258,"name":"postcss-process","id":8259,"timestamp":10326539266,"duration":269581,"tags":{},"startTime":1691877809223},{"traceId":"f3118a7bad57c10e","parentId":8256,"name":"postcss-loader","id":8258,"timestamp":10326539217,"duration":270739,"tags":{},"startTime":1691877809223},{"traceId":"f3118a7bad57c10e","parentId":8256,"name":"css-loader","id":8260,"timestamp":10326809997,"duration":229741,"tags":{"astUsed":"true"},"startTime":1691877809494},{"traceId":"f3118a7bad57c10e","parentId":8244,"name":"build-module-css","id":8256,"timestamp":10326537589,"duration":504714,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877809222},{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8247,"timestamp":10326519772,"duration":525695,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8251,"timestamp":10326519814,"duration":557217,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8245,"name":"add-entry","id":8248,"timestamp":10326519787,"duration":737489,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877809204},{"traceId":"f3118a7bad57c10e","parentId":8244,"name":"make","id":8245,"timestamp":10326516968,"duration":740344,"tags":{},"startTime":1691877809201},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"chunk-graph","id":8262,"timestamp":10327267122,"duration":33383,"tags":{},"startTime":1691877809951},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"optimize-modules","id":8264,"timestamp":10327300542,"duration":6,"tags":{},"startTime":1691877809985},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"optimize-chunks","id":8265,"timestamp":10327300568,"duration":199,"tags":{},"startTime":1691877809985},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"optimize-tree","id":8266,"timestamp":10327300796,"duration":8,"tags":{},"startTime":1691877809985},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"optimize-chunk-modules","id":8267,"timestamp":10327300837,"duration":6,"tags":{},"startTime":1691877809985},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"optimize","id":8263,"timestamp":10327300528,"duration":2110,"tags":{},"startTime":1691877809985},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"module-hash","id":8268,"timestamp":10327684074,"duration":2704,"tags":{},"startTime":1691877810368},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"code-generation","id":8269,"timestamp":10327686816,"duration":19841,"tags":{},"startTime":1691877810371},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"hash","id":8270,"timestamp":10327713189,"duration":21565,"tags":{},"startTime":1691877810397},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"code-generation-jobs","id":8271,"timestamp":10327734752,"duration":220,"tags":{},"startTime":1691877810419},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"module-assets","id":8272,"timestamp":10327734920,"duration":380,"tags":{},"startTime":1691877810419},{"traceId":"f3118a7bad57c10e","parentId":8261,"name":"create-chunk-assets","id":8273,"timestamp":10327735312,"duration":25005,"tags":{},"startTime":1691877810419},{"traceId":"f3118a7bad57c10e","parentId":8244,"name":"NextJsBuildManifest-generateClientManifest","id":8275,"timestamp":10327775518,"duration":101,"tags":{},"startTime":1691877810460},{"traceId":"f3118a7bad57c10e","parentId":8244,"name":"NextJsBuildManifest-createassets","id":8274,"timestamp":10327775401,"duration":227,"tags":{},"startTime":1691877810460},{"traceId":"f3118a7bad57c10e","parentId":8244,"name":"seal","id":8261,"timestamp":10327259774,"duration":528949,"tags":{},"startTime":1691877809944},{"traceId":"f3118a7bad57c10e","parentId":8242,"name":"webpack-compilation","id":8244,"timestamp":10326516523,"duration":1272787,"tags":{"name":"client"},"startTime":1691877809201},{"traceId":"f3118a7bad57c10e","parentId":8242,"name":"emit","id":8276,"timestamp":10327789355,"duration":313513,"tags":{},"startTime":1691877810473},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8242,"timestamp":10326507216,"duration":1598444,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877809191},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8279,"timestamp":10328279808,"duration":0,"tags":{},"startTime":1691877810964},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8285,"timestamp":1691877809192000,"duration":1858000,"tags":{"clientId":1691877671858},"startTime":1691877811052},{"traceId":"f3118a7bad57c10e","parentId":8278,"name":"add-entry","id":8280,"timestamp":10328283449,"duration":91253,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877810968},{"traceId":"f3118a7bad57c10e","parentId":8278,"name":"add-entry","id":8281,"timestamp":10328283549,"duration":91167,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877810968},{"traceId":"f3118a7bad57c10e","parentId":8278,"name":"add-entry","id":8282,"timestamp":10328283559,"duration":91161,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877810968},{"traceId":"f3118a7bad57c10e","parentId":8278,"name":"add-entry","id":8284,"timestamp":10328283572,"duration":91151,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877810968},{"traceId":"f3118a7bad57c10e","parentId":8287,"name":"next-swc-transform","id":8288,"timestamp":10328368984,"duration":12555,"tags":{},"startTime":1691877811053},{"traceId":"f3118a7bad57c10e","parentId":8286,"name":"next-swc-loader","id":8287,"timestamp":10328368776,"duration":12771,"tags":{},"startTime":1691877811053},{"traceId":"f3118a7bad57c10e","parentId":8277,"name":"build-module-tsx","id":8286,"timestamp":10328368510,"duration":15809,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877811053},{"traceId":"f3118a7bad57c10e","parentId":8278,"name":"add-entry","id":8283,"timestamp":10328283566,"duration":117656,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877810968},{"traceId":"f3118a7bad57c10e","parentId":8277,"name":"make","id":8278,"timestamp":10328134615,"duration":266643,"tags":{},"startTime":1691877810819},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"chunk-graph","id":8290,"timestamp":10328401682,"duration":1441,"tags":{},"startTime":1691877811086},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"optimize-modules","id":8292,"timestamp":10328403156,"duration":10,"tags":{},"startTime":1691877811087},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"optimize-chunks","id":8293,"timestamp":10328403186,"duration":32,"tags":{},"startTime":1691877811087},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"optimize-tree","id":8294,"timestamp":10328403244,"duration":11,"tags":{},"startTime":1691877811087},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"optimize-chunk-modules","id":8295,"timestamp":10328403273,"duration":7,"tags":{},"startTime":1691877811087},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"optimize","id":8291,"timestamp":10328403144,"duration":225,"tags":{},"startTime":1691877811087},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"module-hash","id":8296,"timestamp":10328403649,"duration":209,"tags":{},"startTime":1691877811088},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"code-generation","id":8297,"timestamp":10328403878,"duration":555,"tags":{},"startTime":1691877811088},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"hash","id":8298,"timestamp":10328405234,"duration":81584,"tags":{},"startTime":1691877811089},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"code-generation-jobs","id":8299,"timestamp":10328486816,"duration":8817,"tags":{},"startTime":1691877811171},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"module-assets","id":8300,"timestamp":10328495612,"duration":67,"tags":{},"startTime":1691877811180},{"traceId":"f3118a7bad57c10e","parentId":8289,"name":"create-chunk-assets","id":8301,"timestamp":10328495686,"duration":4073,"tags":{},"startTime":1691877811180},{"traceId":"f3118a7bad57c10e","parentId":8277,"name":"seal","id":8289,"timestamp":10328401567,"duration":98475,"tags":{},"startTime":1691877811086},{"traceId":"f3118a7bad57c10e","parentId":8243,"name":"webpack-compilation","id":8277,"timestamp":10328132556,"duration":367517,"tags":{"name":"server"},"startTime":1691877810817},{"traceId":"f3118a7bad57c10e","parentId":8243,"name":"emit","id":8302,"timestamp":10328500100,"duration":7770,"tags":{},"startTime":1691877811184},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8243,"timestamp":10326507576,"duration":2001778,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877809192}] -[{"traceId":"f3118a7bad57c10e","parentId":8313,"name":"next-swc-transform","id":8314,"timestamp":10373526007,"duration":5296,"tags":{},"startTime":1691877856211},{"traceId":"f3118a7bad57c10e","parentId":8312,"name":"next-swc-loader","id":8313,"timestamp":10373525709,"duration":5602,"tags":{},"startTime":1691877856211},{"traceId":"f3118a7bad57c10e","parentId":8305,"name":"build-module-tsx","id":8312,"timestamp":10373525422,"duration":12369,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877856211},{"traceId":"f3118a7bad57c10e","parentId":8306,"name":"add-entry","id":8307,"timestamp":10373486347,"duration":52815,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877856172},{"traceId":"f3118a7bad57c10e","parentId":8306,"name":"add-entry","id":8308,"timestamp":10373486904,"duration":52278,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877856172},{"traceId":"f3118a7bad57c10e","parentId":8306,"name":"add-entry","id":8309,"timestamp":10373486958,"duration":52228,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877856172},{"traceId":"f3118a7bad57c10e","parentId":8306,"name":"add-entry","id":8310,"timestamp":10373486981,"duration":52208,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877856172},{"traceId":"f3118a7bad57c10e","parentId":8306,"name":"add-entry","id":8311,"timestamp":10373487004,"duration":52313,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877856172},{"traceId":"f3118a7bad57c10e","parentId":8305,"name":"make","id":8306,"timestamp":10373471520,"duration":67837,"tags":{},"startTime":1691877856157},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"chunk-graph","id":8316,"timestamp":10373540286,"duration":727,"tags":{},"startTime":1691877856226},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"optimize-modules","id":8318,"timestamp":10373541049,"duration":10,"tags":{},"startTime":1691877856227},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"optimize-chunks","id":8319,"timestamp":10373541083,"duration":34,"tags":{},"startTime":1691877856227},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"optimize-tree","id":8320,"timestamp":10373541147,"duration":12,"tags":{},"startTime":1691877856227},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"optimize-chunk-modules","id":8321,"timestamp":10373541179,"duration":9,"tags":{},"startTime":1691877856227},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"optimize","id":8317,"timestamp":10373541034,"duration":255,"tags":{},"startTime":1691877856227},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"module-hash","id":8322,"timestamp":10373543228,"duration":260,"tags":{},"startTime":1691877856229},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"code-generation","id":8323,"timestamp":10373543505,"duration":723,"tags":{},"startTime":1691877856229},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"hash","id":8324,"timestamp":10373545181,"duration":1544,"tags":{},"startTime":1691877856231},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"code-generation-jobs","id":8325,"timestamp":10373546723,"duration":189,"tags":{},"startTime":1691877856232},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"module-assets","id":8326,"timestamp":10373546897,"duration":48,"tags":{},"startTime":1691877856232},{"traceId":"f3118a7bad57c10e","parentId":8315,"name":"create-chunk-assets","id":8327,"timestamp":10373546952,"duration":1361,"tags":{},"startTime":1691877856232},{"traceId":"f3118a7bad57c10e","parentId":8305,"name":"seal","id":8315,"timestamp":10373540133,"duration":8857,"tags":{},"startTime":1691877856226},{"traceId":"f3118a7bad57c10e","parentId":8303,"name":"webpack-compilation","id":8305,"timestamp":10373471082,"duration":77953,"tags":{"name":"server"},"startTime":1691877856157},{"traceId":"f3118a7bad57c10e","parentId":8303,"name":"emit","id":8328,"timestamp":10373549066,"duration":9711,"tags":{},"startTime":1691877856235},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8303,"timestamp":10373464390,"duration":95298,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877856150},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8331,"timestamp":10373566643,"duration":15778,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8335,"timestamp":10373566764,"duration":21460,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8336,"timestamp":10373566775,"duration":21462,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8334,"timestamp":10373566754,"duration":22037,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8341,"name":"read-resource","id":8342,"timestamp":10373585119,"duration":4886,"tags":{},"startTime":1691877856271},{"traceId":"f3118a7bad57c10e","parentId":8339,"name":"next-swc-transform","id":8340,"timestamp":10373584003,"duration":24342,"tags":{},"startTime":1691877856269},{"traceId":"f3118a7bad57c10e","parentId":8338,"name":"next-swc-loader","id":8339,"timestamp":10373583870,"duration":24482,"tags":{},"startTime":1691877856269},{"traceId":"f3118a7bad57c10e","parentId":8329,"name":"build-module-tsx","id":8338,"timestamp":10373583392,"duration":53396,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877856269},{"traceId":"f3118a7bad57c10e","parentId":8343,"name":"postcss-process","id":8344,"timestamp":10373590074,"duration":515539,"tags":{},"startTime":1691877856276},{"traceId":"f3118a7bad57c10e","parentId":8341,"name":"postcss-loader","id":8343,"timestamp":10373590043,"duration":516918,"tags":{},"startTime":1691877856276},{"traceId":"f3118a7bad57c10e","parentId":8341,"name":"css-loader","id":8345,"timestamp":10374107007,"duration":54125,"tags":{"astUsed":"true"},"startTime":1691877856792},{"traceId":"f3118a7bad57c10e","parentId":8329,"name":"build-module-css","id":8341,"timestamp":10373584927,"duration":589665,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877856270},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8332,"timestamp":10373566731,"duration":625536,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8337,"timestamp":10373566781,"duration":663797,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8330,"name":"add-entry","id":8333,"timestamp":10373566747,"duration":1391874,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877856252},{"traceId":"f3118a7bad57c10e","parentId":8329,"name":"make","id":8330,"timestamp":10373562228,"duration":1396435,"tags":{},"startTime":1691877856248},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"chunk-graph","id":8347,"timestamp":10374966117,"duration":197460,"tags":{},"startTime":1691877857652},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"optimize-modules","id":8349,"timestamp":10375163625,"duration":11,"tags":{},"startTime":1691877857849},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"optimize-chunks","id":8350,"timestamp":10375163663,"duration":221,"tags":{},"startTime":1691877857849},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"optimize-tree","id":8351,"timestamp":10375163921,"duration":18,"tags":{},"startTime":1691877857849},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"optimize-chunk-modules","id":8352,"timestamp":10375163973,"duration":10,"tags":{},"startTime":1691877857849},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"optimize","id":8348,"timestamp":10375163607,"duration":8406,"tags":{},"startTime":1691877857849},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"module-hash","id":8353,"timestamp":10375233101,"duration":3490,"tags":{},"startTime":1691877857919},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"code-generation","id":8354,"timestamp":10375236622,"duration":42262,"tags":{},"startTime":1691877857922},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"hash","id":8355,"timestamp":10375290804,"duration":40446,"tags":{},"startTime":1691877857976},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"code-generation-jobs","id":8356,"timestamp":10375331247,"duration":191,"tags":{},"startTime":1691877858017},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"module-assets","id":8357,"timestamp":10375331411,"duration":349,"tags":{},"startTime":1691877858017},{"traceId":"f3118a7bad57c10e","parentId":8346,"name":"create-chunk-assets","id":8358,"timestamp":10375331771,"duration":5480,"tags":{},"startTime":1691877858017},{"traceId":"f3118a7bad57c10e","parentId":8329,"name":"NextJsBuildManifest-generateClientManifest","id":8360,"timestamp":10375342178,"duration":151,"tags":{},"startTime":1691877858028},{"traceId":"f3118a7bad57c10e","parentId":8329,"name":"NextJsBuildManifest-createassets","id":8359,"timestamp":10375342068,"duration":270,"tags":{},"startTime":1691877858028},{"traceId":"f3118a7bad57c10e","parentId":8329,"name":"seal","id":8346,"timestamp":10374960979,"duration":389494,"tags":{},"startTime":1691877857646},{"traceId":"f3118a7bad57c10e","parentId":8304,"name":"webpack-compilation","id":8329,"timestamp":10373561786,"duration":1788739,"tags":{"name":"client"},"startTime":1691877856247},{"traceId":"f3118a7bad57c10e","parentId":8304,"name":"emit","id":8361,"timestamp":10375350552,"duration":30548,"tags":{},"startTime":1691877858036},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8304,"timestamp":10373465105,"duration":1932026,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877856151}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8362,"timestamp":10375520755,"duration":0,"tags":{},"startTime":1691877858206},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8363,"timestamp":1691877856152000,"duration":2119000,"tags":{"clientId":1691877671858},"startTime":1691877858283},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8368,"timestamp":10401661570,"duration":24150,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8372,"timestamp":10401661836,"duration":29547,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8374,"timestamp":10401661856,"duration":29540,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8371,"timestamp":10401661829,"duration":30188,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8378,"name":"read-resource","id":8379,"timestamp":10401690782,"duration":1297,"tags":{},"startTime":1691877884377},{"traceId":"f3118a7bad57c10e","parentId":8376,"name":"next-swc-transform","id":8377,"timestamp":10401687827,"duration":41438,"tags":{},"startTime":1691877884374},{"traceId":"f3118a7bad57c10e","parentId":8375,"name":"next-swc-loader","id":8376,"timestamp":10401687445,"duration":41828,"tags":{},"startTime":1691877884374},{"traceId":"f3118a7bad57c10e","parentId":8366,"name":"build-module-tsx","id":8375,"timestamp":10401686983,"duration":58825,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877884373},{"traceId":"f3118a7bad57c10e","parentId":8380,"name":"postcss-process","id":8381,"timestamp":10401692233,"duration":171099,"tags":{},"startTime":1691877884379},{"traceId":"f3118a7bad57c10e","parentId":8378,"name":"postcss-loader","id":8380,"timestamp":10401692200,"duration":172285,"tags":{},"startTime":1691877884379},{"traceId":"f3118a7bad57c10e","parentId":8378,"name":"css-loader","id":8382,"timestamp":10401864520,"duration":56458,"tags":{"astUsed":"true"},"startTime":1691877884551},{"traceId":"f3118a7bad57c10e","parentId":8366,"name":"build-module-css","id":8378,"timestamp":10401690458,"duration":257983,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877884377},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8369,"timestamp":10401661798,"duration":457625,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8373,"timestamp":10401661847,"duration":590152,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8367,"name":"add-entry","id":8370,"timestamp":10401661817,"duration":1361930,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877884348},{"traceId":"f3118a7bad57c10e","parentId":8366,"name":"make","id":8367,"timestamp":10401659942,"duration":1363840,"tags":{},"startTime":1691877884346},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"chunk-graph","id":8384,"timestamp":10403032097,"duration":21867,"tags":{},"startTime":1691877885718},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"optimize-modules","id":8386,"timestamp":10403054102,"duration":48,"tags":{},"startTime":1691877885740},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"optimize-chunks","id":8387,"timestamp":10403054246,"duration":3751,"tags":{},"startTime":1691877885741},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"optimize-tree","id":8388,"timestamp":10403058227,"duration":68,"tags":{},"startTime":1691877885745},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"optimize-chunk-modules","id":8389,"timestamp":10403058397,"duration":51,"tags":{},"startTime":1691877885745},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"optimize","id":8385,"timestamp":10403054033,"duration":6315,"tags":{},"startTime":1691877885740},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"module-hash","id":8390,"timestamp":10403122139,"duration":4734,"tags":{},"startTime":1691877885808},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"code-generation","id":8391,"timestamp":10403126910,"duration":39755,"tags":{},"startTime":1691877885813},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"hash","id":8392,"timestamp":10403178194,"duration":24594,"tags":{},"startTime":1691877885865},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"code-generation-jobs","id":8393,"timestamp":10403202785,"duration":2148,"tags":{},"startTime":1691877885889},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"module-assets","id":8394,"timestamp":10403204882,"duration":455,"tags":{},"startTime":1691877885891},{"traceId":"f3118a7bad57c10e","parentId":8383,"name":"create-chunk-assets","id":8395,"timestamp":10403205361,"duration":6067,"tags":{},"startTime":1691877885892},{"traceId":"f3118a7bad57c10e","parentId":8366,"name":"NextJsBuildManifest-generateClientManifest","id":8397,"timestamp":10403215598,"duration":155,"tags":{},"startTime":1691877885902},{"traceId":"f3118a7bad57c10e","parentId":8366,"name":"NextJsBuildManifest-createassets","id":8396,"timestamp":10403215471,"duration":291,"tags":{},"startTime":1691877885902},{"traceId":"f3118a7bad57c10e","parentId":8366,"name":"seal","id":8383,"timestamp":10403025914,"duration":194884,"tags":{},"startTime":1691877885712},{"traceId":"f3118a7bad57c10e","parentId":8364,"name":"webpack-compilation","id":8366,"timestamp":10401659470,"duration":1561379,"tags":{"name":"client"},"startTime":1691877884346},{"traceId":"f3118a7bad57c10e","parentId":8364,"name":"emit","id":8398,"timestamp":10403220886,"duration":30235,"tags":{},"startTime":1691877885907},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8364,"timestamp":10401650807,"duration":1603757,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877884337},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8401,"timestamp":10403266742,"duration":0,"tags":{},"startTime":1691877885953},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8407,"timestamp":1691877884338000,"duration":1642000,"tags":{"clientId":1691877671858},"startTime":1691877885989},{"traceId":"f3118a7bad57c10e","parentId":8400,"name":"add-entry","id":8402,"timestamp":10403270254,"duration":39695,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877885957},{"traceId":"f3118a7bad57c10e","parentId":8400,"name":"add-entry","id":8403,"timestamp":10403270333,"duration":39629,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877885957},{"traceId":"f3118a7bad57c10e","parentId":8400,"name":"add-entry","id":8404,"timestamp":10403270344,"duration":39622,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877885957},{"traceId":"f3118a7bad57c10e","parentId":8400,"name":"add-entry","id":8406,"timestamp":10403270355,"duration":39612,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877885957},{"traceId":"f3118a7bad57c10e","parentId":8409,"name":"next-swc-transform","id":8410,"timestamp":10403306481,"duration":3596,"tags":{},"startTime":1691877885993},{"traceId":"f3118a7bad57c10e","parentId":8408,"name":"next-swc-loader","id":8409,"timestamp":10403306250,"duration":3829,"tags":{},"startTime":1691877885993},{"traceId":"f3118a7bad57c10e","parentId":8399,"name":"build-module-tsx","id":8408,"timestamp":10403305886,"duration":13824,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877885992},{"traceId":"f3118a7bad57c10e","parentId":8400,"name":"add-entry","id":8405,"timestamp":10403270349,"duration":49909,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877885957},{"traceId":"f3118a7bad57c10e","parentId":8399,"name":"make","id":8400,"timestamp":10403259368,"duration":60919,"tags":{},"startTime":1691877885946},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"chunk-graph","id":8412,"timestamp":10403324898,"duration":656,"tags":{},"startTime":1691877886011},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"optimize-modules","id":8414,"timestamp":10403325610,"duration":10,"tags":{},"startTime":1691877886012},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"optimize-chunks","id":8415,"timestamp":10403325760,"duration":93,"tags":{},"startTime":1691877886012},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"optimize-tree","id":8416,"timestamp":10403325943,"duration":16,"tags":{},"startTime":1691877886012},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"optimize-chunk-modules","id":8417,"timestamp":10403326031,"duration":8,"tags":{},"startTime":1691877886012},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"optimize","id":8413,"timestamp":10403325595,"duration":634,"tags":{},"startTime":1691877886012},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"module-hash","id":8418,"timestamp":10403326634,"duration":258,"tags":{},"startTime":1691877886013},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"code-generation","id":8419,"timestamp":10403326912,"duration":639,"tags":{},"startTime":1691877886013},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"hash","id":8420,"timestamp":10403328807,"duration":1938,"tags":{},"startTime":1691877886015},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"code-generation-jobs","id":8421,"timestamp":10403330744,"duration":265,"tags":{},"startTime":1691877886017},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"module-assets","id":8422,"timestamp":10403330991,"duration":44,"tags":{},"startTime":1691877886017},{"traceId":"f3118a7bad57c10e","parentId":8411,"name":"create-chunk-assets","id":8423,"timestamp":10403331046,"duration":1676,"tags":{},"startTime":1691877886017},{"traceId":"f3118a7bad57c10e","parentId":8399,"name":"seal","id":8411,"timestamp":10403324725,"duration":8656,"tags":{},"startTime":1691877886011},{"traceId":"f3118a7bad57c10e","parentId":8365,"name":"webpack-compilation","id":8399,"timestamp":10403258421,"duration":75005,"tags":{"name":"server"},"startTime":1691877885945},{"traceId":"f3118a7bad57c10e","parentId":8365,"name":"emit","id":8424,"timestamp":10403333458,"duration":4625,"tags":{},"startTime":1691877886020},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8365,"timestamp":10401651262,"duration":1689615,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877884338}] -[{"traceId":"f3118a7bad57c10e","parentId":8435,"name":"next-swc-transform","id":8436,"timestamp":10416678395,"duration":5237,"tags":{},"startTime":1691877899365},{"traceId":"f3118a7bad57c10e","parentId":8434,"name":"next-swc-loader","id":8435,"timestamp":10416678255,"duration":5385,"tags":{},"startTime":1691877899365},{"traceId":"f3118a7bad57c10e","parentId":8427,"name":"build-module-tsx","id":8434,"timestamp":10416677939,"duration":10986,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877899365},{"traceId":"f3118a7bad57c10e","parentId":8428,"name":"add-entry","id":8429,"timestamp":10416663670,"duration":27322,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877899350},{"traceId":"f3118a7bad57c10e","parentId":8428,"name":"add-entry","id":8430,"timestamp":10416663751,"duration":27254,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877899351},{"traceId":"f3118a7bad57c10e","parentId":8428,"name":"add-entry","id":8431,"timestamp":10416663761,"duration":27246,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877899351},{"traceId":"f3118a7bad57c10e","parentId":8428,"name":"add-entry","id":8432,"timestamp":10416663771,"duration":27239,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877899351},{"traceId":"f3118a7bad57c10e","parentId":8428,"name":"add-entry","id":8433,"timestamp":10416663781,"duration":27244,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691877899351},{"traceId":"f3118a7bad57c10e","parentId":8427,"name":"make","id":8428,"timestamp":10416662101,"duration":28950,"tags":{},"startTime":1691877899349},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"chunk-graph","id":8438,"timestamp":10416691491,"duration":401,"tags":{},"startTime":1691877899378},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"optimize-modules","id":8440,"timestamp":10416691927,"duration":5,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"optimize-chunks","id":8441,"timestamp":10416691956,"duration":31,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"optimize-tree","id":8442,"timestamp":10416692013,"duration":6,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"optimize-chunk-modules","id":8443,"timestamp":10416692039,"duration":9,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"optimize","id":8439,"timestamp":10416691910,"duration":214,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"module-hash","id":8444,"timestamp":10416692409,"duration":209,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"code-generation","id":8445,"timestamp":10416692635,"duration":577,"tags":{},"startTime":1691877899379},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"hash","id":8446,"timestamp":10416694090,"duration":1377,"tags":{},"startTime":1691877899381},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"code-generation-jobs","id":8447,"timestamp":10416695466,"duration":117,"tags":{},"startTime":1691877899382},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"module-assets","id":8448,"timestamp":10416695568,"duration":34,"tags":{},"startTime":1691877899382},{"traceId":"f3118a7bad57c10e","parentId":8437,"name":"create-chunk-assets","id":8449,"timestamp":10416695609,"duration":1285,"tags":{},"startTime":1691877899382},{"traceId":"f3118a7bad57c10e","parentId":8427,"name":"seal","id":8437,"timestamp":10416691366,"duration":6028,"tags":{},"startTime":1691877899378},{"traceId":"f3118a7bad57c10e","parentId":8425,"name":"webpack-compilation","id":8427,"timestamp":10416661699,"duration":35742,"tags":{"name":"server"},"startTime":1691877899348},{"traceId":"f3118a7bad57c10e","parentId":8425,"name":"emit","id":8450,"timestamp":10416697476,"duration":4283,"tags":{},"startTime":1691877899384},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8425,"timestamp":10416653543,"duration":48816,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877899340},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8453,"timestamp":10416712930,"duration":6710,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8457,"timestamp":10416713062,"duration":9693,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8458,"timestamp":10416713071,"duration":9693,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8456,"timestamp":10416713054,"duration":10248,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8463,"name":"read-resource","id":8464,"timestamp":10416722490,"duration":1467,"tags":{},"startTime":1691877899409},{"traceId":"f3118a7bad57c10e","parentId":8461,"name":"next-swc-transform","id":8462,"timestamp":10416720887,"duration":16984,"tags":{},"startTime":1691877899408},{"traceId":"f3118a7bad57c10e","parentId":8460,"name":"next-swc-loader","id":8461,"timestamp":10416720760,"duration":17121,"tags":{},"startTime":1691877899408},{"traceId":"f3118a7bad57c10e","parentId":8451,"name":"build-module-tsx","id":8460,"timestamp":10416720358,"duration":22038,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691877899407},{"traceId":"f3118a7bad57c10e","parentId":8465,"name":"postcss-process","id":8466,"timestamp":10416724026,"duration":219112,"tags":{},"startTime":1691877899411},{"traceId":"f3118a7bad57c10e","parentId":8463,"name":"postcss-loader","id":8465,"timestamp":10416724002,"duration":219678,"tags":{},"startTime":1691877899411},{"traceId":"f3118a7bad57c10e","parentId":8463,"name":"css-loader","id":8467,"timestamp":10416943717,"duration":139954,"tags":{"astUsed":"true"},"startTime":1691877899630},{"traceId":"f3118a7bad57c10e","parentId":8451,"name":"build-module-css","id":8463,"timestamp":10416722174,"duration":364857,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691877899409},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8454,"timestamp":10416713026,"duration":382094,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8459,"timestamp":10416713078,"duration":544333,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8452,"name":"add-entry","id":8455,"timestamp":10416713043,"duration":953822,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691877899400},{"traceId":"f3118a7bad57c10e","parentId":8451,"name":"make","id":8452,"timestamp":10416705496,"duration":961404,"tags":{},"startTime":1691877899392},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"chunk-graph","id":8469,"timestamp":10417871832,"duration":45860,"tags":{},"startTime":1691877900559},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"optimize-modules","id":8471,"timestamp":10417917734,"duration":6,"tags":{},"startTime":1691877900605},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"optimize-chunks","id":8472,"timestamp":10417917757,"duration":220,"tags":{},"startTime":1691877900605},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"optimize-tree","id":8473,"timestamp":10417918008,"duration":8,"tags":{},"startTime":1691877900605},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"optimize-chunk-modules","id":8474,"timestamp":10417918046,"duration":6,"tags":{},"startTime":1691877900605},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"optimize","id":8470,"timestamp":10417917717,"duration":5192,"tags":{},"startTime":1691877900605},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"module-hash","id":8475,"timestamp":10417940117,"duration":3512,"tags":{},"startTime":1691877900627},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"code-generation","id":8476,"timestamp":10417943661,"duration":43895,"tags":{},"startTime":1691877900630},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"hash","id":8477,"timestamp":10418004157,"duration":20995,"tags":{},"startTime":1691877900691},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"code-generation-jobs","id":8478,"timestamp":10418025150,"duration":209,"tags":{},"startTime":1691877900712},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"module-assets","id":8479,"timestamp":10418025335,"duration":379,"tags":{},"startTime":1691877900712},{"traceId":"f3118a7bad57c10e","parentId":8468,"name":"create-chunk-assets","id":8480,"timestamp":10418025750,"duration":11739,"tags":{},"startTime":1691877900713},{"traceId":"f3118a7bad57c10e","parentId":8451,"name":"NextJsBuildManifest-generateClientManifest","id":8482,"timestamp":10418059535,"duration":97,"tags":{},"startTime":1691877900746},{"traceId":"f3118a7bad57c10e","parentId":8451,"name":"NextJsBuildManifest-createassets","id":8481,"timestamp":10418059435,"duration":203,"tags":{},"startTime":1691877900746},{"traceId":"f3118a7bad57c10e","parentId":8451,"name":"seal","id":8468,"timestamp":10417806123,"duration":265031,"tags":{},"startTime":1691877900493},{"traceId":"f3118a7bad57c10e","parentId":8426,"name":"webpack-compilation","id":8451,"timestamp":10416705009,"duration":1366196,"tags":{"name":"client"},"startTime":1691877899392},{"traceId":"f3118a7bad57c10e","parentId":8426,"name":"emit","id":8483,"timestamp":10418071242,"duration":42362,"tags":{},"startTime":1691877900758},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8426,"timestamp":10416653787,"duration":1464108,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691877899341}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8484,"timestamp":10418126797,"duration":0,"tags":{},"startTime":1691877900814},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8485,"timestamp":1691877899341000,"duration":1589000,"tags":{"clientId":1691877671858},"startTime":1691877900932},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8486,"timestamp":10525356166,"duration":0,"tags":{},"startTime":1691878008046},{"traceId":"f3118a7bad57c10e","parentId":8497,"name":"next-swc-transform","id":8498,"timestamp":10594431400,"duration":4097,"tags":{},"startTime":1691878077123},{"traceId":"f3118a7bad57c10e","parentId":8496,"name":"next-swc-loader","id":8497,"timestamp":10594428097,"duration":7412,"tags":{},"startTime":1691878077120},{"traceId":"f3118a7bad57c10e","parentId":8489,"name":"build-module-tsx","id":8496,"timestamp":10594427683,"duration":13754,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878077120},{"traceId":"f3118a7bad57c10e","parentId":8490,"name":"add-entry","id":8491,"timestamp":10594368174,"duration":76805,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878077060},{"traceId":"f3118a7bad57c10e","parentId":8490,"name":"add-entry","id":8492,"timestamp":10594368409,"duration":76583,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878077061},{"traceId":"f3118a7bad57c10e","parentId":8490,"name":"add-entry","id":8493,"timestamp":10594368428,"duration":76567,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878077061},{"traceId":"f3118a7bad57c10e","parentId":8490,"name":"add-entry","id":8494,"timestamp":10594368444,"duration":76552,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878077061},{"traceId":"f3118a7bad57c10e","parentId":8490,"name":"add-entry","id":8495,"timestamp":10594368455,"duration":78008,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878077061},{"traceId":"f3118a7bad57c10e","parentId":8489,"name":"make","id":8490,"timestamp":10594362556,"duration":83945,"tags":{},"startTime":1691878077055},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"chunk-graph","id":8500,"timestamp":10594449748,"duration":820,"tags":{},"startTime":1691878077142},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"optimize-modules","id":8502,"timestamp":10594450704,"duration":40,"tags":{},"startTime":1691878077143},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"optimize-chunks","id":8503,"timestamp":10594450839,"duration":72,"tags":{},"startTime":1691878077143},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"optimize-tree","id":8504,"timestamp":10594450986,"duration":38,"tags":{},"startTime":1691878077143},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"optimize-chunk-modules","id":8505,"timestamp":10594451092,"duration":41,"tags":{},"startTime":1691878077143},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"optimize","id":8501,"timestamp":10594450640,"duration":659,"tags":{},"startTime":1691878077143},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"module-hash","id":8506,"timestamp":10594452040,"duration":254,"tags":{},"startTime":1691878077144},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"code-generation","id":8507,"timestamp":10594452313,"duration":789,"tags":{},"startTime":1691878077144},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"hash","id":8508,"timestamp":10594455462,"duration":4848,"tags":{},"startTime":1691878077148},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"code-generation-jobs","id":8509,"timestamp":10594460309,"duration":340,"tags":{},"startTime":1691878077152},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"module-assets","id":8510,"timestamp":10594460629,"duration":48,"tags":{},"startTime":1691878077153},{"traceId":"f3118a7bad57c10e","parentId":8499,"name":"create-chunk-assets","id":8511,"timestamp":10594460685,"duration":1484,"tags":{},"startTime":1691878077153},{"traceId":"f3118a7bad57c10e","parentId":8489,"name":"seal","id":8499,"timestamp":10594447691,"duration":15055,"tags":{},"startTime":1691878077140},{"traceId":"f3118a7bad57c10e","parentId":8487,"name":"webpack-compilation","id":8489,"timestamp":10594361958,"duration":100822,"tags":{"name":"server"},"startTime":1691878077054},{"traceId":"f3118a7bad57c10e","parentId":8487,"name":"emit","id":8512,"timestamp":10594462804,"duration":4427,"tags":{},"startTime":1691878077155},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8487,"timestamp":10594355339,"duration":112879,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878077047},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8515,"timestamp":10594475773,"duration":11524,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8519,"timestamp":10594475894,"duration":15923,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8521,"timestamp":10594475955,"duration":15874,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8523,"name":"next-swc-transform","id":8524,"timestamp":10594489837,"duration":2443,"tags":{},"startTime":1691878077182},{"traceId":"f3118a7bad57c10e","parentId":8522,"name":"next-swc-loader","id":8523,"timestamp":10594489716,"duration":2579,"tags":{},"startTime":1691878077182},{"traceId":"f3118a7bad57c10e","parentId":8513,"name":"build-module-tsx","id":8522,"timestamp":10594489331,"duration":12939,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878077181},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8518,"timestamp":10594475883,"duration":26879,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8525,"name":"read-resource","id":8526,"timestamp":10594491248,"duration":12714,"tags":{},"startTime":1691878077183},{"traceId":"f3118a7bad57c10e","parentId":8527,"name":"postcss-process","id":8528,"timestamp":10594504085,"duration":94314,"tags":{},"startTime":1691878077196},{"traceId":"f3118a7bad57c10e","parentId":8525,"name":"postcss-loader","id":8527,"timestamp":10594504057,"duration":95338,"tags":{},"startTime":1691878077196},{"traceId":"f3118a7bad57c10e","parentId":8525,"name":"css-loader","id":8529,"timestamp":10594599429,"duration":31262,"tags":{"astUsed":"true"},"startTime":1691878077292},{"traceId":"f3118a7bad57c10e","parentId":8513,"name":"build-module-css","id":8525,"timestamp":10594490934,"duration":153885,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878077183},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8516,"timestamp":10594475857,"duration":179784,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8520,"timestamp":10594475904,"duration":215268,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8514,"name":"add-entry","id":8517,"timestamp":10594475874,"duration":447888,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878077168},{"traceId":"f3118a7bad57c10e","parentId":8513,"name":"make","id":8514,"timestamp":10594472136,"duration":451661,"tags":{},"startTime":1691878077164},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"chunk-graph","id":8531,"timestamp":10594933156,"duration":12698,"tags":{},"startTime":1691878077625},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"optimize-modules","id":8533,"timestamp":10594945906,"duration":14,"tags":{},"startTime":1691878077638},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"optimize-chunks","id":8534,"timestamp":10594946073,"duration":306,"tags":{},"startTime":1691878077638},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"optimize-tree","id":8535,"timestamp":10594946472,"duration":13,"tags":{},"startTime":1691878077639},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"optimize-chunk-modules","id":8536,"timestamp":10594946583,"duration":16,"tags":{},"startTime":1691878077639},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"optimize","id":8532,"timestamp":10594945890,"duration":6005,"tags":{},"startTime":1691878077638},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"module-hash","id":8537,"timestamp":10594975989,"duration":2187,"tags":{},"startTime":1691878077668},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"code-generation","id":8538,"timestamp":10594978204,"duration":8672,"tags":{},"startTime":1691878077670},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"hash","id":8539,"timestamp":10595001803,"duration":19254,"tags":{},"startTime":1691878077694},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"code-generation-jobs","id":8540,"timestamp":10595021055,"duration":1058,"tags":{},"startTime":1691878077713},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"module-assets","id":8541,"timestamp":10595021307,"duration":1159,"tags":{},"startTime":1691878077713},{"traceId":"f3118a7bad57c10e","parentId":8530,"name":"create-chunk-assets","id":8542,"timestamp":10595022489,"duration":3586,"tags":{},"startTime":1691878077715},{"traceId":"f3118a7bad57c10e","parentId":8513,"name":"NextJsBuildManifest-generateClientManifest","id":8544,"timestamp":10595030312,"duration":143,"tags":{},"startTime":1691878077722},{"traceId":"f3118a7bad57c10e","parentId":8513,"name":"NextJsBuildManifest-createassets","id":8543,"timestamp":10595030211,"duration":252,"tags":{},"startTime":1691878077722},{"traceId":"f3118a7bad57c10e","parentId":8513,"name":"seal","id":8530,"timestamp":10594926149,"duration":108238,"tags":{},"startTime":1691878077618},{"traceId":"f3118a7bad57c10e","parentId":8488,"name":"webpack-compilation","id":8513,"timestamp":10594471737,"duration":562701,"tags":{"name":"client"},"startTime":1691878077164},{"traceId":"f3118a7bad57c10e","parentId":8488,"name":"emit","id":8545,"timestamp":10595034469,"duration":22647,"tags":{},"startTime":1691878077727},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8488,"timestamp":10594355734,"duration":706033,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878077048}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8546,"timestamp":10595093517,"duration":0,"tags":{},"startTime":1691878077786},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8547,"timestamp":1691878077049000,"duration":778000,"tags":{"clientId":1691877671858},"startTime":1691878077829},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8552,"timestamp":10606229705,"duration":27817,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8556,"timestamp":10606229829,"duration":32207,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8557,"timestamp":10606229841,"duration":32205,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8555,"timestamp":10606229820,"duration":32979,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8562,"name":"read-resource","id":8563,"timestamp":10606261649,"duration":1716,"tags":{},"startTime":1691878088954},{"traceId":"f3118a7bad57c10e","parentId":8560,"name":"next-swc-transform","id":8561,"timestamp":10606260480,"duration":92986,"tags":{},"startTime":1691878088953},{"traceId":"f3118a7bad57c10e","parentId":8559,"name":"next-swc-loader","id":8560,"timestamp":10606260217,"duration":93257,"tags":{},"startTime":1691878088953},{"traceId":"f3118a7bad57c10e","parentId":8550,"name":"build-module-tsx","id":8559,"timestamp":10606258498,"duration":109099,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878088951},{"traceId":"f3118a7bad57c10e","parentId":8564,"name":"postcss-process","id":8565,"timestamp":10606263484,"duration":250815,"tags":{},"startTime":1691878088956},{"traceId":"f3118a7bad57c10e","parentId":8562,"name":"postcss-loader","id":8564,"timestamp":10606263453,"duration":251604,"tags":{},"startTime":1691878088956},{"traceId":"f3118a7bad57c10e","parentId":8562,"name":"css-loader","id":8566,"timestamp":10606515105,"duration":416631,"tags":{"astUsed":"true"},"startTime":1691878089208},{"traceId":"f3118a7bad57c10e","parentId":8550,"name":"build-module-css","id":8562,"timestamp":10606261315,"duration":692247,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878088954},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8553,"timestamp":10606229797,"duration":742016,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8558,"timestamp":10606229846,"duration":769276,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8551,"name":"add-entry","id":8554,"timestamp":10606229813,"duration":957104,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878088922},{"traceId":"f3118a7bad57c10e","parentId":8550,"name":"make","id":8551,"timestamp":10606223513,"duration":963440,"tags":{},"startTime":1691878088916},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"chunk-graph","id":8568,"timestamp":10607202241,"duration":7974,"tags":{},"startTime":1691878089895},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"optimize-modules","id":8570,"timestamp":10607210264,"duration":7,"tags":{},"startTime":1691878089903},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"optimize-chunks","id":8571,"timestamp":10607210288,"duration":198,"tags":{},"startTime":1691878089903},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"optimize-tree","id":8572,"timestamp":10607210513,"duration":8,"tags":{},"startTime":1691878089903},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"optimize-chunk-modules","id":8573,"timestamp":10607210549,"duration":6,"tags":{},"startTime":1691878089903},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"optimize","id":8569,"timestamp":10607210248,"duration":1653,"tags":{},"startTime":1691878089903},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"module-hash","id":8574,"timestamp":10607218909,"duration":2016,"tags":{},"startTime":1691878089911},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"code-generation","id":8575,"timestamp":10607220954,"duration":17158,"tags":{},"startTime":1691878089913},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"hash","id":8576,"timestamp":10607244350,"duration":75704,"tags":{},"startTime":1691878089937},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"code-generation-jobs","id":8577,"timestamp":10607320052,"duration":176,"tags":{},"startTime":1691878090013},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"module-assets","id":8578,"timestamp":10607320202,"duration":352,"tags":{},"startTime":1691878090013},{"traceId":"f3118a7bad57c10e","parentId":8567,"name":"create-chunk-assets","id":8579,"timestamp":10607320566,"duration":17982,"tags":{},"startTime":1691878090013},{"traceId":"f3118a7bad57c10e","parentId":8550,"name":"NextJsBuildManifest-generateClientManifest","id":8581,"timestamp":10607373485,"duration":96,"tags":{},"startTime":1691878090066},{"traceId":"f3118a7bad57c10e","parentId":8550,"name":"NextJsBuildManifest-createassets","id":8580,"timestamp":10607373379,"duration":210,"tags":{},"startTime":1691878090066},{"traceId":"f3118a7bad57c10e","parentId":8550,"name":"seal","id":8567,"timestamp":10607192620,"duration":193354,"tags":{},"startTime":1691878089885},{"traceId":"f3118a7bad57c10e","parentId":8548,"name":"webpack-compilation","id":8550,"timestamp":10606220412,"duration":1165612,"tags":{"name":"client"},"startTime":1691878088913},{"traceId":"f3118a7bad57c10e","parentId":8548,"name":"emit","id":8582,"timestamp":10607386055,"duration":32377,"tags":{},"startTime":1691878090079},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8548,"timestamp":10606206848,"duration":1212421,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878088899},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8585,"timestamp":10607433645,"duration":0,"tags":{},"startTime":1691878090126},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8591,"timestamp":1691878088900000,"duration":1283000,"tags":{"clientId":1691877671858},"startTime":1691878090187},{"traceId":"f3118a7bad57c10e","parentId":8584,"name":"add-entry","id":8586,"timestamp":10607435577,"duration":67381,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878090128},{"traceId":"f3118a7bad57c10e","parentId":8584,"name":"add-entry","id":8587,"timestamp":10607435641,"duration":67327,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878090128},{"traceId":"f3118a7bad57c10e","parentId":8584,"name":"add-entry","id":8588,"timestamp":10607435651,"duration":67333,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878090128},{"traceId":"f3118a7bad57c10e","parentId":8584,"name":"add-entry","id":8589,"timestamp":10607435656,"duration":67330,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878090128},{"traceId":"f3118a7bad57c10e","parentId":8593,"name":"next-swc-transform","id":8594,"timestamp":10607500854,"duration":2444,"tags":{},"startTime":1691878090193},{"traceId":"f3118a7bad57c10e","parentId":8592,"name":"next-swc-loader","id":8593,"timestamp":10607500727,"duration":2575,"tags":{},"startTime":1691878090193},{"traceId":"f3118a7bad57c10e","parentId":8583,"name":"build-module-tsx","id":8592,"timestamp":10607500323,"duration":4467,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878090193},{"traceId":"f3118a7bad57c10e","parentId":8584,"name":"add-entry","id":8590,"timestamp":10607435661,"duration":69549,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878090128},{"traceId":"f3118a7bad57c10e","parentId":8583,"name":"make","id":8584,"timestamp":10607428352,"duration":76882,"tags":{},"startTime":1691878090121},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"chunk-graph","id":8596,"timestamp":10607505582,"duration":309,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"optimize-modules","id":8598,"timestamp":10607505914,"duration":5,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"optimize-chunks","id":8599,"timestamp":10607505932,"duration":26,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"optimize-tree","id":8600,"timestamp":10607505979,"duration":6,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"optimize-chunk-modules","id":8601,"timestamp":10607506002,"duration":5,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"optimize","id":8597,"timestamp":10607505904,"duration":197,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"module-hash","id":8602,"timestamp":10607506340,"duration":168,"tags":{},"startTime":1691878090199},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"code-generation","id":8603,"timestamp":10607506521,"duration":469,"tags":{},"startTime":1691878090199},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"hash","id":8604,"timestamp":10607507792,"duration":4729,"tags":{},"startTime":1691878090200},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"code-generation-jobs","id":8605,"timestamp":10607512520,"duration":84,"tags":{},"startTime":1691878090205},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"module-assets","id":8606,"timestamp":10607512593,"duration":34,"tags":{},"startTime":1691878090205},{"traceId":"f3118a7bad57c10e","parentId":8595,"name":"create-chunk-assets","id":8607,"timestamp":10607512633,"duration":1096,"tags":{},"startTime":1691878090205},{"traceId":"f3118a7bad57c10e","parentId":8583,"name":"seal","id":8595,"timestamp":10607505493,"duration":8744,"tags":{},"startTime":1691878090198},{"traceId":"f3118a7bad57c10e","parentId":8549,"name":"webpack-compilation","id":8583,"timestamp":10607422092,"duration":92351,"tags":{"name":"server"},"startTime":1691878090115},{"traceId":"f3118a7bad57c10e","parentId":8549,"name":"emit","id":8608,"timestamp":10607514479,"duration":5644,"tags":{},"startTime":1691878090207},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8549,"timestamp":10606207139,"duration":1313753,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878088900}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8609,"timestamp":10791855825,"duration":0,"tags":{},"startTime":1691878274554},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8610,"timestamp":10898184598,"duration":0,"tags":{},"startTime":1691878380886},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8611,"timestamp":10901476169,"duration":4,"tags":{},"startTime":1691878384177},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8612,"timestamp":10903592962,"duration":6,"tags":{},"startTime":1691878386294},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8613,"timestamp":10913856294,"duration":0,"tags":{},"startTime":1691878396611},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8618,"timestamp":10921157636,"duration":40722,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878403912},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8622,"timestamp":10921157881,"duration":49665,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878403913},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8624,"timestamp":10921157894,"duration":49664,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878403913},{"traceId":"f3118a7bad57c10e","parentId":8626,"name":"next-swc-transform","id":8627,"timestamp":10921200339,"duration":7563,"tags":{},"startTime":1691878403955},{"traceId":"f3118a7bad57c10e","parentId":8625,"name":"next-swc-loader","id":8626,"timestamp":10921199810,"duration":8097,"tags":{},"startTime":1691878403955},{"traceId":"f3118a7bad57c10e","parentId":8616,"name":"build-module-tsx","id":8625,"timestamp":10921199348,"duration":20474,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878403954},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8621,"timestamp":10921157875,"duration":63281,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878403913},{"traceId":"f3118a7bad57c10e","parentId":8628,"name":"read-resource","id":8629,"timestamp":10921204505,"duration":20704,"tags":{},"startTime":1691878403959},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8619,"timestamp":10921157853,"duration":109170,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878403913},{"traceId":"f3118a7bad57c10e","parentId":8630,"name":"postcss-process","id":8631,"timestamp":10921225368,"duration":429775,"tags":{},"startTime":1691878403980},{"traceId":"f3118a7bad57c10e","parentId":8628,"name":"postcss-loader","id":8630,"timestamp":10921225335,"duration":443180,"tags":{},"startTime":1691878403980},{"traceId":"f3118a7bad57c10e","parentId":8628,"name":"css-loader","id":8632,"timestamp":10921668557,"duration":101295,"tags":{"astUsed":"true"},"startTime":1691878404423},{"traceId":"f3118a7bad57c10e","parentId":8616,"name":"build-module-css","id":8628,"timestamp":10921204123,"duration":591611,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878403959},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8623,"timestamp":10921157889,"duration":687215,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878403913},{"traceId":"f3118a7bad57c10e","parentId":8617,"name":"add-entry","id":8620,"timestamp":10921157868,"duration":889758,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878403913},{"traceId":"f3118a7bad57c10e","parentId":8616,"name":"make","id":8617,"timestamp":10921152322,"duration":895341,"tags":{},"startTime":1691878403907},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"chunk-graph","id":8634,"timestamp":10922099758,"duration":102290,"tags":{},"startTime":1691878404855},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"optimize-modules","id":8636,"timestamp":10922202506,"duration":62,"tags":{},"startTime":1691878404957},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"optimize-chunks","id":8637,"timestamp":10922202661,"duration":432,"tags":{},"startTime":1691878404957},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"optimize-tree","id":8638,"timestamp":10922203223,"duration":65,"tags":{},"startTime":1691878404958},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"optimize-chunk-modules","id":8639,"timestamp":10922203397,"duration":48,"tags":{},"startTime":1691878404958},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"optimize","id":8635,"timestamp":10922202320,"duration":4826,"tags":{},"startTime":1691878404957},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"module-hash","id":8640,"timestamp":10922267960,"duration":4036,"tags":{},"startTime":1691878405023},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"code-generation","id":8641,"timestamp":10922272030,"duration":10718,"tags":{},"startTime":1691878405027},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"hash","id":8642,"timestamp":10922306243,"duration":30017,"tags":{},"startTime":1691878405061},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"code-generation-jobs","id":8643,"timestamp":10922336257,"duration":2085,"tags":{},"startTime":1691878405091},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"module-assets","id":8644,"timestamp":10922338282,"duration":407,"tags":{},"startTime":1691878405093},{"traceId":"f3118a7bad57c10e","parentId":8633,"name":"create-chunk-assets","id":8645,"timestamp":10922338703,"duration":22947,"tags":{},"startTime":1691878405094},{"traceId":"f3118a7bad57c10e","parentId":8616,"name":"NextJsBuildManifest-generateClientManifest","id":8647,"timestamp":10922366300,"duration":267,"tags":{},"startTime":1691878405121},{"traceId":"f3118a7bad57c10e","parentId":8616,"name":"NextJsBuildManifest-createassets","id":8646,"timestamp":10922366173,"duration":406,"tags":{},"startTime":1691878405121},{"traceId":"f3118a7bad57c10e","parentId":8616,"name":"seal","id":8633,"timestamp":10922053320,"duration":317713,"tags":{},"startTime":1691878404808},{"traceId":"f3118a7bad57c10e","parentId":8614,"name":"webpack-compilation","id":8616,"timestamp":10921151951,"duration":1219141,"tags":{"name":"client"},"startTime":1691878403907},{"traceId":"f3118a7bad57c10e","parentId":8614,"name":"emit","id":8648,"timestamp":10922371123,"duration":48472,"tags":{},"startTime":1691878405126},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8614,"timestamp":10921143410,"duration":1277987,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878403898},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8651,"timestamp":10922433951,"duration":0,"tags":{},"startTime":1691878405189},{"traceId":"f3118a7bad57c10e","parentId":8650,"name":"add-entry","id":8652,"timestamp":10922440456,"duration":37906,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878405195},{"traceId":"f3118a7bad57c10e","parentId":8650,"name":"add-entry","id":8653,"timestamp":10922440528,"duration":37846,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878405195},{"traceId":"f3118a7bad57c10e","parentId":8650,"name":"add-entry","id":8654,"timestamp":10922440538,"duration":37839,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878405195},{"traceId":"f3118a7bad57c10e","parentId":8650,"name":"add-entry","id":8655,"timestamp":10922440544,"duration":37836,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878405195},{"traceId":"f3118a7bad57c10e","parentId":8658,"name":"next-swc-transform","id":8659,"timestamp":10922473074,"duration":9738,"tags":{},"startTime":1691878405228},{"traceId":"f3118a7bad57c10e","parentId":8657,"name":"next-swc-loader","id":8658,"timestamp":10922472843,"duration":9976,"tags":{},"startTime":1691878405228},{"traceId":"f3118a7bad57c10e","parentId":8649,"name":"build-module-tsx","id":8657,"timestamp":10922472482,"duration":22060,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878405227},{"traceId":"f3118a7bad57c10e","parentId":8650,"name":"add-entry","id":8656,"timestamp":10922440549,"duration":61392,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878405195},{"traceId":"f3118a7bad57c10e","parentId":8649,"name":"make","id":8650,"timestamp":10922424569,"duration":77413,"tags":{},"startTime":1691878405179},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"chunk-graph","id":8661,"timestamp":10922504957,"duration":460,"tags":{},"startTime":1691878405260},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"optimize-modules","id":8663,"timestamp":10922505460,"duration":9,"tags":{},"startTime":1691878405260},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"optimize-chunks","id":8664,"timestamp":10922505613,"duration":81,"tags":{},"startTime":1691878405260},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"optimize-tree","id":8665,"timestamp":10922505786,"duration":14,"tags":{},"startTime":1691878405261},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"optimize-chunk-modules","id":8666,"timestamp":10922505875,"duration":9,"tags":{},"startTime":1691878405261},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"optimize","id":8662,"timestamp":10922505439,"duration":628,"tags":{},"startTime":1691878405260},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"module-hash","id":8667,"timestamp":10922535014,"duration":230,"tags":{},"startTime":1691878405290},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"code-generation","id":8668,"timestamp":10922535266,"duration":632,"tags":{},"startTime":1691878405290},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"hash","id":8669,"timestamp":10922539201,"duration":8662,"tags":{},"startTime":1691878405294},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"code-generation-jobs","id":8670,"timestamp":10922547862,"duration":171,"tags":{},"startTime":1691878405303},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"module-assets","id":8671,"timestamp":10922548015,"duration":45,"tags":{},"startTime":1691878405303},{"traceId":"f3118a7bad57c10e","parentId":8660,"name":"create-chunk-assets","id":8672,"timestamp":10922548067,"duration":8715,"tags":{},"startTime":1691878405303},{"traceId":"f3118a7bad57c10e","parentId":8649,"name":"seal","id":8660,"timestamp":10922503463,"duration":54019,"tags":{},"startTime":1691878405258},{"traceId":"f3118a7bad57c10e","parentId":8615,"name":"webpack-compilation","id":8649,"timestamp":10922423890,"duration":133636,"tags":{"name":"server"},"startTime":1691878405179},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8674,"timestamp":1691878403900000,"duration":1384000,"tags":{"clientId":1691878386313},"startTime":1691878405313},{"traceId":"f3118a7bad57c10e","parentId":8615,"name":"emit","id":8673,"timestamp":10922557549,"duration":5732,"tags":{},"startTime":1691878405312},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8615,"timestamp":10921143848,"duration":1422260,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878403899}] -[{"traceId":"f3118a7bad57c10e","parentId":8678,"name":"add-entry","id":8679,"timestamp":10955762304,"duration":25348,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878438518},{"traceId":"f3118a7bad57c10e","parentId":8678,"name":"add-entry","id":8680,"timestamp":10955762384,"duration":25284,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878438518},{"traceId":"f3118a7bad57c10e","parentId":8678,"name":"add-entry","id":8681,"timestamp":10955762394,"duration":25277,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878438518},{"traceId":"f3118a7bad57c10e","parentId":8678,"name":"add-entry","id":8682,"timestamp":10955762404,"duration":26619,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878438518},{"traceId":"f3118a7bad57c10e","parentId":8685,"name":"next-swc-transform","id":8686,"timestamp":10955783508,"duration":12175,"tags":{},"startTime":1691878438539},{"traceId":"f3118a7bad57c10e","parentId":8684,"name":"next-swc-loader","id":8685,"timestamp":10955783230,"duration":12462,"tags":{},"startTime":1691878438539},{"traceId":"f3118a7bad57c10e","parentId":8677,"name":"build-module-tsx","id":8684,"timestamp":10955782896,"duration":17545,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878438539},{"traceId":"f3118a7bad57c10e","parentId":8678,"name":"add-entry","id":8683,"timestamp":10955762413,"duration":39255,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878438518},{"traceId":"f3118a7bad57c10e","parentId":8677,"name":"make","id":8678,"timestamp":10955759555,"duration":42146,"tags":{},"startTime":1691878438515},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"chunk-graph","id":8688,"timestamp":10955802217,"duration":422,"tags":{},"startTime":1691878438558},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"optimize-modules","id":8690,"timestamp":10955802671,"duration":9,"tags":{},"startTime":1691878438558},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"optimize-chunks","id":8691,"timestamp":10955802702,"duration":36,"tags":{},"startTime":1691878438559},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"optimize-tree","id":8692,"timestamp":10955802769,"duration":18,"tags":{},"startTime":1691878438559},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"optimize-chunk-modules","id":8693,"timestamp":10955802808,"duration":9,"tags":{},"startTime":1691878438559},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"optimize","id":8689,"timestamp":10955802659,"duration":241,"tags":{},"startTime":1691878438558},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"module-hash","id":8694,"timestamp":10955803259,"duration":228,"tags":{},"startTime":1691878438559},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"code-generation","id":8695,"timestamp":10955803506,"duration":1044,"tags":{},"startTime":1691878438559},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"hash","id":8696,"timestamp":10955806009,"duration":3978,"tags":{},"startTime":1691878438562},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"code-generation-jobs","id":8697,"timestamp":10955809986,"duration":165,"tags":{},"startTime":1691878438566},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"module-assets","id":8698,"timestamp":10955810129,"duration":43,"tags":{},"startTime":1691878438566},{"traceId":"f3118a7bad57c10e","parentId":8687,"name":"create-chunk-assets","id":8699,"timestamp":10955810183,"duration":1848,"tags":{},"startTime":1691878438566},{"traceId":"f3118a7bad57c10e","parentId":8677,"name":"seal","id":8687,"timestamp":10955802081,"duration":10756,"tags":{},"startTime":1691878438558},{"traceId":"f3118a7bad57c10e","parentId":8675,"name":"webpack-compilation","id":8677,"timestamp":10955759149,"duration":53735,"tags":{"name":"server"},"startTime":1691878438515},{"traceId":"f3118a7bad57c10e","parentId":8675,"name":"emit","id":8700,"timestamp":10955812910,"duration":14944,"tags":{},"startTime":1691878438569},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8675,"timestamp":10955751333,"duration":77275,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878438507},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8703,"timestamp":10955834941,"duration":11104,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8707,"timestamp":10955835205,"duration":17027,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8709,"timestamp":10955835217,"duration":17025,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8706,"timestamp":10955835199,"duration":17823,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8713,"name":"read-resource","id":8714,"timestamp":10955849939,"duration":16857,"tags":{},"startTime":1691878438606},{"traceId":"f3118a7bad57c10e","parentId":8711,"name":"next-swc-transform","id":8712,"timestamp":10955847349,"duration":78302,"tags":{},"startTime":1691878438603},{"traceId":"f3118a7bad57c10e","parentId":8710,"name":"next-swc-loader","id":8711,"timestamp":10955847238,"duration":78421,"tags":{},"startTime":1691878438603},{"traceId":"f3118a7bad57c10e","parentId":8701,"name":"build-module-tsx","id":8710,"timestamp":10955846845,"duration":242820,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878438603},{"traceId":"f3118a7bad57c10e","parentId":8715,"name":"postcss-process","id":8716,"timestamp":10955866896,"duration":545303,"tags":{},"startTime":1691878438623},{"traceId":"f3118a7bad57c10e","parentId":8713,"name":"postcss-loader","id":8715,"timestamp":10955866862,"duration":547485,"tags":{},"startTime":1691878438623},{"traceId":"f3118a7bad57c10e","parentId":8713,"name":"css-loader","id":8717,"timestamp":10956414397,"duration":45317,"tags":{"astUsed":"true"},"startTime":1691878439170},{"traceId":"f3118a7bad57c10e","parentId":8701,"name":"build-module-css","id":8713,"timestamp":10955849621,"duration":612184,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878438605},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8704,"timestamp":10955835177,"duration":928085,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8708,"timestamp":10955835212,"duration":1134256,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8702,"name":"add-entry","id":8705,"timestamp":10955835192,"duration":1371005,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878438591},{"traceId":"f3118a7bad57c10e","parentId":8701,"name":"make","id":8702,"timestamp":10955832215,"duration":1374232,"tags":{},"startTime":1691878438588},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"chunk-graph","id":8719,"timestamp":10957227729,"duration":31104,"tags":{},"startTime":1691878439984},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"optimize-modules","id":8721,"timestamp":10957258874,"duration":8,"tags":{},"startTime":1691878440015},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"optimize-chunks","id":8722,"timestamp":10957258900,"duration":193,"tags":{},"startTime":1691878440015},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"optimize-tree","id":8723,"timestamp":10957259173,"duration":10,"tags":{},"startTime":1691878440015},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"optimize-chunk-modules","id":8724,"timestamp":10957259219,"duration":7,"tags":{},"startTime":1691878440015},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"optimize","id":8720,"timestamp":10957258857,"duration":4348,"tags":{},"startTime":1691878440015},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"module-hash","id":8725,"timestamp":10957319822,"duration":2344,"tags":{},"startTime":1691878440076},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"code-generation","id":8726,"timestamp":10957322262,"duration":52766,"tags":{},"startTime":1691878440078},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"hash","id":8727,"timestamp":10957381343,"duration":56208,"tags":{},"startTime":1691878440137},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"code-generation-jobs","id":8728,"timestamp":10957437549,"duration":231,"tags":{},"startTime":1691878440193},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"module-assets","id":8729,"timestamp":10957437741,"duration":421,"tags":{},"startTime":1691878440194},{"traceId":"f3118a7bad57c10e","parentId":8718,"name":"create-chunk-assets","id":8730,"timestamp":10957438185,"duration":4147,"tags":{},"startTime":1691878440194},{"traceId":"f3118a7bad57c10e","parentId":8701,"name":"NextJsBuildManifest-generateClientManifest","id":8732,"timestamp":10957452305,"duration":167,"tags":{},"startTime":1691878440208},{"traceId":"f3118a7bad57c10e","parentId":8701,"name":"NextJsBuildManifest-createassets","id":8731,"timestamp":10957452135,"duration":347,"tags":{},"startTime":1691878440208},{"traceId":"f3118a7bad57c10e","parentId":8701,"name":"seal","id":8718,"timestamp":10957211591,"duration":247938,"tags":{},"startTime":1691878439967},{"traceId":"f3118a7bad57c10e","parentId":8676,"name":"webpack-compilation","id":8701,"timestamp":10955831828,"duration":1627758,"tags":{"name":"client"},"startTime":1691878438588},{"traceId":"f3118a7bad57c10e","parentId":8676,"name":"emit","id":8733,"timestamp":10957459618,"duration":232882,"tags":{},"startTime":1691878440215},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8676,"timestamp":10955751472,"duration":1943888,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878438507}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8734,"timestamp":10957710558,"duration":0,"tags":{},"startTime":1691878440466},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8735,"timestamp":1691878438508000,"duration":1996000,"tags":{"clientId":1691878386313},"startTime":1691878440505},{"traceId":"f3118a7bad57c10e","parentId":8739,"name":"add-entry","id":8740,"timestamp":11008958752,"duration":37885,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878491716},{"traceId":"f3118a7bad57c10e","parentId":8739,"name":"add-entry","id":8741,"timestamp":11008958875,"duration":37779,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878491716},{"traceId":"f3118a7bad57c10e","parentId":8739,"name":"add-entry","id":8742,"timestamp":11008958892,"duration":37766,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878491716},{"traceId":"f3118a7bad57c10e","parentId":8739,"name":"add-entry","id":8743,"timestamp":11008958898,"duration":38050,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878491716},{"traceId":"f3118a7bad57c10e","parentId":8746,"name":"next-swc-transform","id":8747,"timestamp":11008990229,"duration":8825,"tags":{},"startTime":1691878491748},{"traceId":"f3118a7bad57c10e","parentId":8745,"name":"next-swc-loader","id":8746,"timestamp":11008990014,"duration":9048,"tags":{},"startTime":1691878491747},{"traceId":"f3118a7bad57c10e","parentId":8738,"name":"build-module-tsx","id":8745,"timestamp":11008989747,"duration":26639,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878491747},{"traceId":"f3118a7bad57c10e","parentId":8739,"name":"add-entry","id":8744,"timestamp":11008958909,"duration":59335,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878491716},{"traceId":"f3118a7bad57c10e","parentId":8738,"name":"make","id":8739,"timestamp":11008956897,"duration":61381,"tags":{},"startTime":1691878491714},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"chunk-graph","id":8749,"timestamp":11009023796,"duration":5650,"tags":{},"startTime":1691878491781},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"optimize-modules","id":8751,"timestamp":11009029490,"duration":657,"tags":{},"startTime":1691878491787},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"optimize-chunks","id":8752,"timestamp":11009030368,"duration":332,"tags":{},"startTime":1691878491788},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"optimize-tree","id":8753,"timestamp":11009030826,"duration":23,"tags":{},"startTime":1691878491788},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"optimize-chunk-modules","id":8754,"timestamp":11009030885,"duration":8,"tags":{},"startTime":1691878491788},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"optimize","id":8750,"timestamp":11009029473,"duration":1548,"tags":{},"startTime":1691878491787},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"module-hash","id":8755,"timestamp":11009035459,"duration":270,"tags":{},"startTime":1691878491793},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"code-generation","id":8756,"timestamp":11009035748,"duration":906,"tags":{},"startTime":1691878491793},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"hash","id":8757,"timestamp":11009038028,"duration":2354,"tags":{},"startTime":1691878491795},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"code-generation-jobs","id":8758,"timestamp":11009040380,"duration":158,"tags":{},"startTime":1691878491798},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"module-assets","id":8759,"timestamp":11009040522,"duration":45,"tags":{},"startTime":1691878491798},{"traceId":"f3118a7bad57c10e","parentId":8748,"name":"create-chunk-assets","id":8760,"timestamp":11009040578,"duration":2215,"tags":{},"startTime":1691878491798},{"traceId":"f3118a7bad57c10e","parentId":8738,"name":"seal","id":8748,"timestamp":11009023647,"duration":19527,"tags":{},"startTime":1691878491781},{"traceId":"f3118a7bad57c10e","parentId":8736,"name":"webpack-compilation","id":8738,"timestamp":11008956282,"duration":86931,"tags":{"name":"server"},"startTime":1691878491714},{"traceId":"f3118a7bad57c10e","parentId":8736,"name":"emit","id":8761,"timestamp":11009043251,"duration":11299,"tags":{},"startTime":1691878491801},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8736,"timestamp":11008949296,"duration":105928,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878491707},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8764,"timestamp":11009062135,"duration":10707,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8772,"name":"next-swc-transform","id":8773,"timestamp":11009074145,"duration":3224,"tags":{},"startTime":1691878491832},{"traceId":"f3118a7bad57c10e","parentId":8771,"name":"next-swc-loader","id":8772,"timestamp":11009074015,"duration":3361,"tags":{},"startTime":1691878491831},{"traceId":"f3118a7bad57c10e","parentId":8762,"name":"build-module-tsx","id":8771,"timestamp":11009073702,"duration":10648,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878491831},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8768,"timestamp":11009062224,"duration":22399,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8770,"timestamp":11009062238,"duration":22393,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8767,"timestamp":11009062216,"duration":23488,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8774,"name":"read-resource","id":8775,"timestamp":11009077053,"duration":10841,"tags":{},"startTime":1691878491834},{"traceId":"f3118a7bad57c10e","parentId":8776,"name":"postcss-process","id":8777,"timestamp":11009087976,"duration":97701,"tags":{},"startTime":1691878491845},{"traceId":"f3118a7bad57c10e","parentId":8774,"name":"postcss-loader","id":8776,"timestamp":11009087940,"duration":99119,"tags":{},"startTime":1691878491845},{"traceId":"f3118a7bad57c10e","parentId":8774,"name":"css-loader","id":8778,"timestamp":11009187099,"duration":28153,"tags":{"astUsed":"true"},"startTime":1691878491945},{"traceId":"f3118a7bad57c10e","parentId":8762,"name":"build-module-css","id":8774,"timestamp":11009076782,"duration":146815,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878491834},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8765,"timestamp":11009062196,"duration":171468,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8769,"timestamp":11009062233,"duration":196620,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8763,"name":"add-entry","id":8766,"timestamp":11009062209,"duration":426736,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878491820},{"traceId":"f3118a7bad57c10e","parentId":8762,"name":"make","id":8763,"timestamp":11009058420,"duration":430609,"tags":{},"startTime":1691878491816},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"chunk-graph","id":8780,"timestamp":11009498644,"duration":240503,"tags":{},"startTime":1691878492256},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"optimize-modules","id":8782,"timestamp":11009739207,"duration":9,"tags":{},"startTime":1691878492497},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"optimize-chunks","id":8783,"timestamp":11009739240,"duration":868,"tags":{},"startTime":1691878492497},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"optimize-tree","id":8784,"timestamp":11009740151,"duration":12,"tags":{},"startTime":1691878492498},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"optimize-chunk-modules","id":8785,"timestamp":11009740253,"duration":14,"tags":{},"startTime":1691878492498},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"optimize","id":8781,"timestamp":11009739188,"duration":3472,"tags":{},"startTime":1691878492497},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"module-hash","id":8786,"timestamp":11009774494,"duration":12318,"tags":{},"startTime":1691878492532},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"code-generation","id":8787,"timestamp":11009786845,"duration":35525,"tags":{},"startTime":1691878492544},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"hash","id":8788,"timestamp":11009831823,"duration":21539,"tags":{},"startTime":1691878492589},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"code-generation-jobs","id":8789,"timestamp":11009853359,"duration":213,"tags":{},"startTime":1691878492611},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"module-assets","id":8790,"timestamp":11009853545,"duration":350,"tags":{},"startTime":1691878492611},{"traceId":"f3118a7bad57c10e","parentId":8779,"name":"create-chunk-assets","id":8791,"timestamp":11009853905,"duration":9240,"tags":{},"startTime":1691878492611},{"traceId":"f3118a7bad57c10e","parentId":8762,"name":"NextJsBuildManifest-generateClientManifest","id":8793,"timestamp":11009869612,"duration":151,"tags":{},"startTime":1691878492627},{"traceId":"f3118a7bad57c10e","parentId":8762,"name":"NextJsBuildManifest-createassets","id":8792,"timestamp":11009869488,"duration":284,"tags":{},"startTime":1691878492627},{"traceId":"f3118a7bad57c10e","parentId":8762,"name":"seal","id":8779,"timestamp":11009491497,"duration":382111,"tags":{},"startTime":1691878492249},{"traceId":"f3118a7bad57c10e","parentId":8737,"name":"webpack-compilation","id":8762,"timestamp":11009057979,"duration":815682,"tags":{"name":"client"},"startTime":1691878491815},{"traceId":"f3118a7bad57c10e","parentId":8737,"name":"emit","id":8794,"timestamp":11009873692,"duration":34887,"tags":{},"startTime":1691878492631},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8737,"timestamp":11008949585,"duration":960900,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878491707}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8795,"timestamp":11009926136,"duration":0,"tags":{},"startTime":1691878492684},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8796,"timestamp":1691878491708000,"duration":1008000,"tags":{"clientId":1691878386313},"startTime":1691878492718},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8797,"timestamp":11032191485,"duration":0,"tags":{},"startTime":1691878514950},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8802,"timestamp":11113378521,"duration":20517,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8806,"timestamp":11113378771,"duration":25411,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8808,"timestamp":11113378792,"duration":25401,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8805,"timestamp":11113378765,"duration":25994,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8812,"name":"read-resource","id":8813,"timestamp":11113403859,"duration":1895,"tags":{},"startTime":1691878596164},{"traceId":"f3118a7bad57c10e","parentId":8810,"name":"next-swc-transform","id":8811,"timestamp":11113402804,"duration":29148,"tags":{},"startTime":1691878596163},{"traceId":"f3118a7bad57c10e","parentId":8809,"name":"next-swc-loader","id":8810,"timestamp":11113400869,"duration":31092,"tags":{},"startTime":1691878596161},{"traceId":"f3118a7bad57c10e","parentId":8800,"name":"build-module-tsx","id":8809,"timestamp":11113400136,"duration":51781,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878596161},{"traceId":"f3118a7bad57c10e","parentId":8814,"name":"postcss-process","id":8815,"timestamp":11113405912,"duration":437007,"tags":{},"startTime":1691878596166},{"traceId":"f3118a7bad57c10e","parentId":8812,"name":"postcss-loader","id":8814,"timestamp":11113405878,"duration":438379,"tags":{},"startTime":1691878596166},{"traceId":"f3118a7bad57c10e","parentId":8812,"name":"css-loader","id":8816,"timestamp":11113844295,"duration":372396,"tags":{"astUsed":"true"},"startTime":1691878596605},{"traceId":"f3118a7bad57c10e","parentId":8800,"name":"build-module-css","id":8812,"timestamp":11113403532,"duration":960417,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878596164},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8803,"timestamp":11113378732,"duration":1001406,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8807,"timestamp":11113378783,"duration":1084109,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8801,"name":"add-entry","id":8804,"timestamp":11113378753,"duration":2060682,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878596139},{"traceId":"f3118a7bad57c10e","parentId":8800,"name":"make","id":8801,"timestamp":11113375906,"duration":2063562,"tags":{},"startTime":1691878596136},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"chunk-graph","id":8818,"timestamp":11115446664,"duration":101253,"tags":{},"startTime":1691878598207},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"optimize-modules","id":8820,"timestamp":11115548059,"duration":41,"tags":{},"startTime":1691878598309},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"optimize-chunks","id":8821,"timestamp":11115548195,"duration":294,"tags":{},"startTime":1691878598309},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"optimize-tree","id":8822,"timestamp":11115548576,"duration":50,"tags":{},"startTime":1691878598309},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"optimize-chunk-modules","id":8823,"timestamp":11115548717,"duration":43,"tags":{},"startTime":1691878598309},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"optimize","id":8819,"timestamp":11115547992,"duration":3805,"tags":{},"startTime":1691878598309},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"module-hash","id":8824,"timestamp":11115694989,"duration":5919,"tags":{},"startTime":1691878598456},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"code-generation","id":8825,"timestamp":11115700950,"duration":55631,"tags":{},"startTime":1691878598462},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"hash","id":8826,"timestamp":11115873957,"duration":28635,"tags":{},"startTime":1691878598635},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"code-generation-jobs","id":8827,"timestamp":11115902588,"duration":365,"tags":{},"startTime":1691878598663},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"module-assets","id":8828,"timestamp":11115902913,"duration":407,"tags":{},"startTime":1691878598664},{"traceId":"f3118a7bad57c10e","parentId":8817,"name":"create-chunk-assets","id":8829,"timestamp":11115903341,"duration":73947,"tags":{},"startTime":1691878598664},{"traceId":"f3118a7bad57c10e","parentId":8800,"name":"NextJsBuildManifest-generateClientManifest","id":8831,"timestamp":11115984804,"duration":159,"tags":{},"startTime":1691878598745},{"traceId":"f3118a7bad57c10e","parentId":8800,"name":"NextJsBuildManifest-createassets","id":8830,"timestamp":11115984681,"duration":324,"tags":{},"startTime":1691878598745},{"traceId":"f3118a7bad57c10e","parentId":8800,"name":"seal","id":8817,"timestamp":11115442432,"duration":546804,"tags":{},"startTime":1691878598203},{"traceId":"f3118a7bad57c10e","parentId":8798,"name":"webpack-compilation","id":8800,"timestamp":11113375007,"duration":2614283,"tags":{"name":"client"},"startTime":1691878596136},{"traceId":"f3118a7bad57c10e","parentId":8798,"name":"emit","id":8832,"timestamp":11115989321,"duration":449303,"tags":{},"startTime":1691878598750},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8798,"timestamp":11113361165,"duration":3082257,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878596122},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8835,"timestamp":11116474453,"duration":0,"tags":{},"startTime":1691878599235},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8841,"timestamp":1691878596123000,"duration":3185000,"tags":{"clientId":1691878514722},"startTime":1691878599323},{"traceId":"f3118a7bad57c10e","parentId":8834,"name":"add-entry","id":8836,"timestamp":11116477118,"duration":91078,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878599238},{"traceId":"f3118a7bad57c10e","parentId":8834,"name":"add-entry","id":8837,"timestamp":11116477206,"duration":91005,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878599238},{"traceId":"f3118a7bad57c10e","parentId":8834,"name":"add-entry","id":8838,"timestamp":11116477221,"duration":90993,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878599238},{"traceId":"f3118a7bad57c10e","parentId":8834,"name":"add-entry","id":8840,"timestamp":11116477237,"duration":90980,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878599238},{"traceId":"f3118a7bad57c10e","parentId":8843,"name":"next-swc-transform","id":8844,"timestamp":11116565008,"duration":12753,"tags":{},"startTime":1691878599326},{"traceId":"f3118a7bad57c10e","parentId":8842,"name":"next-swc-loader","id":8843,"timestamp":11116564745,"duration":13033,"tags":{},"startTime":1691878599325},{"traceId":"f3118a7bad57c10e","parentId":8833,"name":"build-module-tsx","id":8842,"timestamp":11116564340,"duration":22171,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878599325},{"traceId":"f3118a7bad57c10e","parentId":8834,"name":"add-entry","id":8839,"timestamp":11116477230,"duration":111027,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878599238},{"traceId":"f3118a7bad57c10e","parentId":8833,"name":"make","id":8834,"timestamp":11116445807,"duration":142491,"tags":{},"startTime":1691878599206},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"chunk-graph","id":8846,"timestamp":11116589445,"duration":445,"tags":{},"startTime":1691878599350},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"optimize-modules","id":8848,"timestamp":11116589928,"duration":58,"tags":{},"startTime":1691878599351},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"optimize-chunks","id":8849,"timestamp":11116590302,"duration":117,"tags":{},"startTime":1691878599351},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"optimize-tree","id":8850,"timestamp":11116590515,"duration":17,"tags":{},"startTime":1691878599351},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"optimize-chunk-modules","id":8851,"timestamp":11116590614,"duration":17,"tags":{},"startTime":1691878599351},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"optimize","id":8847,"timestamp":11116589916,"duration":913,"tags":{},"startTime":1691878599351},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"module-hash","id":8852,"timestamp":11116591633,"duration":285,"tags":{},"startTime":1691878599352},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"code-generation","id":8853,"timestamp":11116591979,"duration":828,"tags":{},"startTime":1691878599353},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"hash","id":8854,"timestamp":11116594044,"duration":2537,"tags":{},"startTime":1691878599355},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"code-generation-jobs","id":8855,"timestamp":11116596580,"duration":157,"tags":{},"startTime":1691878599357},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"module-assets","id":8856,"timestamp":11116596718,"duration":43,"tags":{},"startTime":1691878599357},{"traceId":"f3118a7bad57c10e","parentId":8845,"name":"create-chunk-assets","id":8857,"timestamp":11116596772,"duration":2314,"tags":{},"startTime":1691878599357},{"traceId":"f3118a7bad57c10e","parentId":8833,"name":"seal","id":8845,"timestamp":11116589266,"duration":10554,"tags":{},"startTime":1691878599350},{"traceId":"f3118a7bad57c10e","parentId":8799,"name":"webpack-compilation","id":8833,"timestamp":11116445447,"duration":154505,"tags":{"name":"server"},"startTime":1691878599206},{"traceId":"f3118a7bad57c10e","parentId":8799,"name":"emit","id":8858,"timestamp":11116599992,"duration":7707,"tags":{},"startTime":1691878599361},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8799,"timestamp":11113361560,"duration":3248041,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878596122}] -[{"traceId":"f3118a7bad57c10e","parentId":8869,"name":"next-swc-transform","id":8870,"timestamp":11140261482,"duration":5152,"tags":{},"startTime":1691878623023},{"traceId":"f3118a7bad57c10e","parentId":8868,"name":"next-swc-loader","id":8869,"timestamp":11140261347,"duration":5296,"tags":{},"startTime":1691878623023},{"traceId":"f3118a7bad57c10e","parentId":8861,"name":"build-module-tsx","id":8868,"timestamp":11140260851,"duration":7698,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878623022},{"traceId":"f3118a7bad57c10e","parentId":8862,"name":"add-entry","id":8863,"timestamp":11140236330,"duration":33528,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878622998},{"traceId":"f3118a7bad57c10e","parentId":8862,"name":"add-entry","id":8864,"timestamp":11140236445,"duration":33424,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878622998},{"traceId":"f3118a7bad57c10e","parentId":8862,"name":"add-entry","id":8865,"timestamp":11140236461,"duration":33412,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878622998},{"traceId":"f3118a7bad57c10e","parentId":8862,"name":"add-entry","id":8866,"timestamp":11140236467,"duration":33407,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878622998},{"traceId":"f3118a7bad57c10e","parentId":8862,"name":"add-entry","id":8867,"timestamp":11140236477,"duration":33412,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878622998},{"traceId":"f3118a7bad57c10e","parentId":8861,"name":"make","id":8862,"timestamp":11140231956,"duration":37960,"tags":{},"startTime":1691878622993},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"chunk-graph","id":8872,"timestamp":11140270277,"duration":338,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"optimize-modules","id":8874,"timestamp":11140270638,"duration":5,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"optimize-chunks","id":8875,"timestamp":11140270658,"duration":27,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"optimize-tree","id":8876,"timestamp":11140270708,"duration":6,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"optimize-chunk-modules","id":8877,"timestamp":11140270731,"duration":5,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"optimize","id":8873,"timestamp":11140270629,"duration":172,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"module-hash","id":8878,"timestamp":11140271105,"duration":184,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"code-generation","id":8879,"timestamp":11140271303,"duration":498,"tags":{},"startTime":1691878623033},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"hash","id":8880,"timestamp":11140272597,"duration":1213,"tags":{},"startTime":1691878623034},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"code-generation-jobs","id":8881,"timestamp":11140273809,"duration":102,"tags":{},"startTime":1691878623035},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"module-assets","id":8882,"timestamp":11140273898,"duration":30,"tags":{},"startTime":1691878623035},{"traceId":"f3118a7bad57c10e","parentId":8871,"name":"create-chunk-assets","id":8883,"timestamp":11140273934,"duration":1138,"tags":{},"startTime":1691878623035},{"traceId":"f3118a7bad57c10e","parentId":8861,"name":"seal","id":8871,"timestamp":11140270175,"duration":5388,"tags":{},"startTime":1691878623032},{"traceId":"f3118a7bad57c10e","parentId":8859,"name":"webpack-compilation","id":8861,"timestamp":11140231547,"duration":44054,"tags":{"name":"server"},"startTime":1691878622993},{"traceId":"f3118a7bad57c10e","parentId":8859,"name":"emit","id":8884,"timestamp":11140275626,"duration":4025,"tags":{},"startTime":1691878623037},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8859,"timestamp":11140224293,"duration":55816,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878622986},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8887,"timestamp":11140291994,"duration":12273,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8891,"timestamp":11140292110,"duration":15217,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8893,"timestamp":11140292126,"duration":15210,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8890,"timestamp":11140292101,"duration":15752,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8897,"name":"read-resource","id":8898,"timestamp":11140307019,"duration":1807,"tags":{},"startTime":1691878623068},{"traceId":"f3118a7bad57c10e","parentId":8895,"name":"next-swc-transform","id":8896,"timestamp":11140305683,"duration":18406,"tags":{},"startTime":1691878623067},{"traceId":"f3118a7bad57c10e","parentId":8894,"name":"next-swc-loader","id":8895,"timestamp":11140305546,"duration":18550,"tags":{},"startTime":1691878623067},{"traceId":"f3118a7bad57c10e","parentId":8885,"name":"build-module-tsx","id":8894,"timestamp":11140305116,"duration":23275,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878623066},{"traceId":"f3118a7bad57c10e","parentId":8899,"name":"postcss-process","id":8900,"timestamp":11140308906,"duration":944200,"tags":{},"startTime":1691878623070},{"traceId":"f3118a7bad57c10e","parentId":8897,"name":"postcss-loader","id":8899,"timestamp":11140308881,"duration":945206,"tags":{},"startTime":1691878623070},{"traceId":"f3118a7bad57c10e","parentId":8897,"name":"css-loader","id":8901,"timestamp":11141254155,"duration":81269,"tags":{"astUsed":"true"},"startTime":1691878624016},{"traceId":"f3118a7bad57c10e","parentId":8885,"name":"build-module-css","id":8897,"timestamp":11140306692,"duration":1032561,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878623068},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8888,"timestamp":11140292079,"duration":1182103,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8892,"timestamp":11140292120,"duration":1242914,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8886,"name":"add-entry","id":8889,"timestamp":11140292094,"duration":1540944,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878623053},{"traceId":"f3118a7bad57c10e","parentId":8885,"name":"make","id":8886,"timestamp":11140282613,"duration":1550460,"tags":{},"startTime":1691878623044},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"chunk-graph","id":8903,"timestamp":11141849639,"duration":172159,"tags":{},"startTime":1691878624611},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"optimize-modules","id":8905,"timestamp":11142021841,"duration":11,"tags":{},"startTime":1691878624783},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"optimize-chunks","id":8906,"timestamp":11142021875,"duration":226,"tags":{},"startTime":1691878624783},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"optimize-tree","id":8907,"timestamp":11142022135,"duration":9,"tags":{},"startTime":1691878624784},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"optimize-chunk-modules","id":8908,"timestamp":11142022179,"duration":7,"tags":{},"startTime":1691878624784},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"optimize","id":8904,"timestamp":11142021828,"duration":17851,"tags":{},"startTime":1691878624783},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"module-hash","id":8909,"timestamp":11142112033,"duration":6712,"tags":{},"startTime":1691878624873},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"code-generation","id":8910,"timestamp":11142118794,"duration":36485,"tags":{},"startTime":1691878624880},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"hash","id":8911,"timestamp":11142174074,"duration":32777,"tags":{},"startTime":1691878624935},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"code-generation-jobs","id":8912,"timestamp":11142206849,"duration":186,"tags":{},"startTime":1691878624968},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"module-assets","id":8913,"timestamp":11142207011,"duration":351,"tags":{},"startTime":1691878624968},{"traceId":"f3118a7bad57c10e","parentId":8902,"name":"create-chunk-assets","id":8914,"timestamp":11142207372,"duration":47818,"tags":{},"startTime":1691878624969},{"traceId":"f3118a7bad57c10e","parentId":8885,"name":"NextJsBuildManifest-generateClientManifest","id":8916,"timestamp":11142266472,"duration":114,"tags":{},"startTime":1691878625028},{"traceId":"f3118a7bad57c10e","parentId":8885,"name":"NextJsBuildManifest-createassets","id":8915,"timestamp":11142266332,"duration":261,"tags":{},"startTime":1691878625028},{"traceId":"f3118a7bad57c10e","parentId":8885,"name":"seal","id":8902,"timestamp":11141836223,"duration":449021,"tags":{},"startTime":1691878624598},{"traceId":"f3118a7bad57c10e","parentId":8860,"name":"webpack-compilation","id":8885,"timestamp":11140282240,"duration":2004369,"tags":{"name":"client"},"startTime":1691878623044},{"traceId":"f3118a7bad57c10e","parentId":8860,"name":"emit","id":8917,"timestamp":11142286661,"duration":47313,"tags":{},"startTime":1691878625048},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8860,"timestamp":11140224433,"duration":2113397,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878622986}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8918,"timestamp":11142357488,"duration":0,"tags":{},"startTime":1691878625119},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8919,"timestamp":1691878622986000,"duration":2348000,"tags":{"clientId":1691878514722},"startTime":1691878625336},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8924,"timestamp":11259664948,"duration":30197,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8928,"timestamp":11259665236,"duration":40606,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8930,"timestamp":11259665255,"duration":40602,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8932,"name":"next-swc-transform","id":8933,"timestamp":11259702626,"duration":7220,"tags":{},"startTime":1691878742468},{"traceId":"f3118a7bad57c10e","parentId":8931,"name":"next-swc-loader","id":8932,"timestamp":11259699112,"duration":10740,"tags":{},"startTime":1691878742464},{"traceId":"f3118a7bad57c10e","parentId":8922,"name":"build-module-tsx","id":8931,"timestamp":11259698658,"duration":25555,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878742464},{"traceId":"f3118a7bad57c10e","parentId":8934,"name":"read-resource","id":8935,"timestamp":11259703867,"duration":22914,"tags":{},"startTime":1691878742469},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8927,"timestamp":11259665225,"duration":81869,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8936,"name":"postcss-process","id":8937,"timestamp":11259727064,"duration":158612,"tags":{},"startTime":1691878742492},{"traceId":"f3118a7bad57c10e","parentId":8934,"name":"postcss-loader","id":8936,"timestamp":11259727006,"duration":159774,"tags":{},"startTime":1691878742492},{"traceId":"f3118a7bad57c10e","parentId":8934,"name":"css-loader","id":8938,"timestamp":11259886818,"duration":43893,"tags":{"astUsed":"true"},"startTime":1691878742652},{"traceId":"f3118a7bad57c10e","parentId":8922,"name":"build-module-css","id":8934,"timestamp":11259703478,"duration":252407,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691878742468},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8925,"timestamp":11259665190,"duration":303692,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8929,"timestamp":11259665249,"duration":336408,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8923,"name":"add-entry","id":8926,"timestamp":11259665213,"duration":682876,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691878742430},{"traceId":"f3118a7bad57c10e","parentId":8922,"name":"make","id":8923,"timestamp":11259650823,"duration":697300,"tags":{},"startTime":1691878742416},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"chunk-graph","id":8940,"timestamp":11260359175,"duration":43139,"tags":{},"startTime":1691878743124},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"optimize-modules","id":8942,"timestamp":11260402619,"duration":51,"tags":{},"startTime":1691878743168},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"optimize-chunks","id":8943,"timestamp":11260402758,"duration":266,"tags":{},"startTime":1691878743168},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"optimize-tree","id":8944,"timestamp":11260403112,"duration":46,"tags":{},"startTime":1691878743168},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"optimize-chunk-modules","id":8945,"timestamp":11260403712,"duration":336,"tags":{},"startTime":1691878743169},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"optimize","id":8941,"timestamp":11260402382,"duration":3843,"tags":{},"startTime":1691878743167},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"module-hash","id":8946,"timestamp":11260424072,"duration":4251,"tags":{},"startTime":1691878743189},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"code-generation","id":8947,"timestamp":11260428360,"duration":21043,"tags":{},"startTime":1691878743193},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"hash","id":8948,"timestamp":11260459341,"duration":11988,"tags":{},"startTime":1691878743224},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"code-generation-jobs","id":8949,"timestamp":11260471327,"duration":244,"tags":{},"startTime":1691878743236},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"module-assets","id":8950,"timestamp":11260471536,"duration":366,"tags":{},"startTime":1691878743236},{"traceId":"f3118a7bad57c10e","parentId":8939,"name":"create-chunk-assets","id":8951,"timestamp":11260471914,"duration":25757,"tags":{},"startTime":1691878743237},{"traceId":"f3118a7bad57c10e","parentId":8922,"name":"NextJsBuildManifest-generateClientManifest","id":8953,"timestamp":11260501522,"duration":152,"tags":{},"startTime":1691878743266},{"traceId":"f3118a7bad57c10e","parentId":8922,"name":"NextJsBuildManifest-createassets","id":8952,"timestamp":11260501391,"duration":291,"tags":{},"startTime":1691878743266},{"traceId":"f3118a7bad57c10e","parentId":8922,"name":"seal","id":8939,"timestamp":11260350756,"duration":154456,"tags":{},"startTime":1691878743116},{"traceId":"f3118a7bad57c10e","parentId":8920,"name":"webpack-compilation","id":8922,"timestamp":11259650074,"duration":855187,"tags":{"name":"client"},"startTime":1691878742415},{"traceId":"f3118a7bad57c10e","parentId":8920,"name":"emit","id":8954,"timestamp":11260505296,"duration":36897,"tags":{},"startTime":1691878743270},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8920,"timestamp":11259640175,"duration":904081,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878742405},{"traceId":"f3118a7bad57c10e","parentId":8956,"name":"add-entry","id":8957,"timestamp":11260556651,"duration":24023,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878743322},{"traceId":"f3118a7bad57c10e","parentId":8956,"name":"add-entry","id":8958,"timestamp":11260556752,"duration":23934,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878743322},{"traceId":"f3118a7bad57c10e","parentId":8956,"name":"add-entry","id":8959,"timestamp":11260556770,"duration":23918,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878743322},{"traceId":"f3118a7bad57c10e","parentId":8956,"name":"add-entry","id":8961,"timestamp":11260556791,"duration":23899,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878743322},{"traceId":"f3118a7bad57c10e","parentId":8963,"name":"next-swc-transform","id":8964,"timestamp":11260575495,"duration":5317,"tags":{},"startTime":1691878743340},{"traceId":"f3118a7bad57c10e","parentId":8962,"name":"next-swc-loader","id":8963,"timestamp":11260575256,"duration":5558,"tags":{},"startTime":1691878743340},{"traceId":"f3118a7bad57c10e","parentId":8955,"name":"build-module-tsx","id":8962,"timestamp":11260574881,"duration":10466,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691878743340},{"traceId":"f3118a7bad57c10e","parentId":8956,"name":"add-entry","id":8960,"timestamp":11260556783,"duration":37224,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691878743322},{"traceId":"f3118a7bad57c10e","parentId":8955,"name":"make","id":8956,"timestamp":11260546078,"duration":47974,"tags":{},"startTime":1691878743311},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"chunk-graph","id":8966,"timestamp":11260594726,"duration":468,"tags":{},"startTime":1691878743360},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"optimize-modules","id":8968,"timestamp":11260595235,"duration":5,"tags":{},"startTime":1691878743360},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"optimize-chunks","id":8969,"timestamp":11260595372,"duration":89,"tags":{},"startTime":1691878743360},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"optimize-tree","id":8970,"timestamp":11260595551,"duration":10,"tags":{},"startTime":1691878743361},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"optimize-chunk-modules","id":8971,"timestamp":11260595642,"duration":14,"tags":{},"startTime":1691878743361},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"optimize","id":8967,"timestamp":11260595218,"duration":796,"tags":{},"startTime":1691878743360},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"module-hash","id":8972,"timestamp":11260596495,"duration":300,"tags":{},"startTime":1691878743361},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"code-generation","id":8973,"timestamp":11260596819,"duration":615,"tags":{},"startTime":1691878743362},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"hash","id":8974,"timestamp":11260598683,"duration":7703,"tags":{},"startTime":1691878743364},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"code-generation-jobs","id":8975,"timestamp":11260606385,"duration":167,"tags":{},"startTime":1691878743371},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"module-assets","id":8976,"timestamp":11260606532,"duration":45,"tags":{},"startTime":1691878743371},{"traceId":"f3118a7bad57c10e","parentId":8965,"name":"create-chunk-assets","id":8977,"timestamp":11260606588,"duration":2514,"tags":{},"startTime":1691878743372},{"traceId":"f3118a7bad57c10e","parentId":8955,"name":"seal","id":8965,"timestamp":11260594581,"duration":17456,"tags":{},"startTime":1691878743360},{"traceId":"f3118a7bad57c10e","parentId":8921,"name":"webpack-compilation","id":8955,"timestamp":11260545659,"duration":66468,"tags":{"name":"server"},"startTime":1691878743311},{"traceId":"f3118a7bad57c10e","parentId":8921,"name":"emit","id":8978,"timestamp":11260612262,"duration":56188,"tags":{},"startTime":1691878743377},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8921,"timestamp":11259640427,"duration":1029683,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691878742405}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8979,"timestamp":11271008276,"duration":0,"tags":{},"startTime":1691878753774},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":8980,"timestamp":1691878622986000,"duration":130852000,"tags":{"clientId":1691878514722},"startTime":1691878753847},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8981,"timestamp":11451875772,"duration":0,"tags":{},"startTime":1691878934646},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":8982,"timestamp":11571850720,"duration":0,"tags":{},"startTime":1691879054625},{"traceId":"f3118a7bad57c10e","parentId":8993,"name":"next-swc-transform","id":8994,"timestamp":11685448092,"duration":6186,"tags":{},"startTime":1691879168226},{"traceId":"f3118a7bad57c10e","parentId":8992,"name":"next-swc-loader","id":8993,"timestamp":11685447488,"duration":6797,"tags":{},"startTime":1691879168225},{"traceId":"f3118a7bad57c10e","parentId":8985,"name":"build-module-tsx","id":8992,"timestamp":11685446157,"duration":17741,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879168224},{"traceId":"f3118a7bad57c10e","parentId":8986,"name":"add-entry","id":8987,"timestamp":11685371293,"duration":96960,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879168149},{"traceId":"f3118a7bad57c10e","parentId":8986,"name":"add-entry","id":8988,"timestamp":11685372430,"duration":95850,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879168150},{"traceId":"f3118a7bad57c10e","parentId":8986,"name":"add-entry","id":8989,"timestamp":11685372468,"duration":95831,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879168150},{"traceId":"f3118a7bad57c10e","parentId":8986,"name":"add-entry","id":8990,"timestamp":11685372481,"duration":95821,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879168150},{"traceId":"f3118a7bad57c10e","parentId":8986,"name":"add-entry","id":8991,"timestamp":11685372490,"duration":96494,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879168150},{"traceId":"f3118a7bad57c10e","parentId":8985,"name":"make","id":8986,"timestamp":11685356931,"duration":112213,"tags":{},"startTime":1691879168135},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"chunk-graph","id":8996,"timestamp":11685470637,"duration":1256,"tags":{},"startTime":1691879168248},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"optimize-modules","id":8998,"timestamp":11685472018,"duration":39,"tags":{},"startTime":1691879168250},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"optimize-chunks","id":8999,"timestamp":11685472176,"duration":114,"tags":{},"startTime":1691879168250},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"optimize-tree","id":9000,"timestamp":11685472369,"duration":40,"tags":{},"startTime":1691879168250},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"optimize-chunk-modules","id":9001,"timestamp":11685472483,"duration":51,"tags":{},"startTime":1691879168250},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"optimize","id":8997,"timestamp":11685471950,"duration":1053,"tags":{},"startTime":1691879168250},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"module-hash","id":9002,"timestamp":11685474292,"duration":859,"tags":{},"startTime":1691879168252},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"code-generation","id":9003,"timestamp":11685475177,"duration":1801,"tags":{},"startTime":1691879168253},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"hash","id":9004,"timestamp":11685479610,"duration":3971,"tags":{},"startTime":1691879168257},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"code-generation-jobs","id":9005,"timestamp":11685483580,"duration":184,"tags":{},"startTime":1691879168261},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"module-assets","id":9006,"timestamp":11685483749,"duration":73,"tags":{},"startTime":1691879168261},{"traceId":"f3118a7bad57c10e","parentId":8995,"name":"create-chunk-assets","id":9007,"timestamp":11685483838,"duration":5019,"tags":{},"startTime":1691879168262},{"traceId":"f3118a7bad57c10e","parentId":8985,"name":"seal","id":8995,"timestamp":11685470337,"duration":19661,"tags":{},"startTime":1691879168248},{"traceId":"f3118a7bad57c10e","parentId":8983,"name":"webpack-compilation","id":8985,"timestamp":11685353783,"duration":136365,"tags":{"name":"server"},"startTime":1691879168131},{"traceId":"f3118a7bad57c10e","parentId":8983,"name":"emit","id":9008,"timestamp":11685490237,"duration":13285,"tags":{},"startTime":1691879168268},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":8983,"timestamp":11685326822,"duration":178265,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879168105},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9011,"timestamp":11685524021,"duration":19615,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9015,"timestamp":11685524139,"duration":23780,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9016,"timestamp":11685524150,"duration":23781,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9014,"timestamp":11685524130,"duration":25746,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9019,"name":"next-swc-transform","id":9020,"timestamp":11685545755,"duration":4402,"tags":{},"startTime":1691879168323},{"traceId":"f3118a7bad57c10e","parentId":9018,"name":"next-swc-loader","id":9019,"timestamp":11685545638,"duration":4522,"tags":{},"startTime":1691879168323},{"traceId":"f3118a7bad57c10e","parentId":9009,"name":"build-module-tsx","id":9018,"timestamp":11685545183,"duration":12710,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879168323},{"traceId":"f3118a7bad57c10e","parentId":9021,"name":"read-resource","id":9022,"timestamp":11685547431,"duration":18263,"tags":{},"startTime":1691879168325},{"traceId":"f3118a7bad57c10e","parentId":9023,"name":"postcss-process","id":9024,"timestamp":11685565976,"duration":144972,"tags":{},"startTime":1691879168344},{"traceId":"f3118a7bad57c10e","parentId":9021,"name":"postcss-loader","id":9023,"timestamp":11685565874,"duration":147993,"tags":{},"startTime":1691879168344},{"traceId":"f3118a7bad57c10e","parentId":9021,"name":"css-loader","id":9025,"timestamp":11685713923,"duration":67714,"tags":{"astUsed":"true"},"startTime":1691879168492},{"traceId":"f3118a7bad57c10e","parentId":9009,"name":"build-module-css","id":9021,"timestamp":11685547047,"duration":251229,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879168325},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9012,"timestamp":11685524108,"duration":280318,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9017,"timestamp":11685524157,"duration":301772,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9010,"name":"add-entry","id":9013,"timestamp":11685524123,"duration":627993,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879168302},{"traceId":"f3118a7bad57c10e","parentId":9009,"name":"make","id":9010,"timestamp":11685519619,"duration":632540,"tags":{},"startTime":1691879168297},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"chunk-graph","id":9027,"timestamp":11686164072,"duration":31182,"tags":{},"startTime":1691879168942},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"optimize-modules","id":9029,"timestamp":11686195307,"duration":10,"tags":{},"startTime":1691879168973},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"optimize-chunks","id":9030,"timestamp":11686195476,"duration":326,"tags":{},"startTime":1691879168973},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"optimize-tree","id":9031,"timestamp":11686196176,"duration":26,"tags":{},"startTime":1691879168974},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"optimize-chunk-modules","id":9032,"timestamp":11686196312,"duration":12,"tags":{},"startTime":1691879168974},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"optimize","id":9028,"timestamp":11686195287,"duration":3464,"tags":{},"startTime":1691879168973},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"module-hash","id":9033,"timestamp":11686213311,"duration":2017,"tags":{},"startTime":1691879168991},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"code-generation","id":9034,"timestamp":11686215357,"duration":17682,"tags":{},"startTime":1691879168993},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"hash","id":9035,"timestamp":11686245549,"duration":14262,"tags":{},"startTime":1691879169023},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"code-generation-jobs","id":9036,"timestamp":11686259809,"duration":309,"tags":{},"startTime":1691879169038},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"module-assets","id":9037,"timestamp":11686260080,"duration":374,"tags":{},"startTime":1691879169038},{"traceId":"f3118a7bad57c10e","parentId":9026,"name":"create-chunk-assets","id":9038,"timestamp":11686260464,"duration":3150,"tags":{},"startTime":1691879169038},{"traceId":"f3118a7bad57c10e","parentId":9009,"name":"NextJsBuildManifest-generateClientManifest","id":9040,"timestamp":11686268663,"duration":142,"tags":{},"startTime":1691879169046},{"traceId":"f3118a7bad57c10e","parentId":9009,"name":"NextJsBuildManifest-createassets","id":9039,"timestamp":11686268553,"duration":260,"tags":{},"startTime":1691879169046},{"traceId":"f3118a7bad57c10e","parentId":9009,"name":"seal","id":9026,"timestamp":11686155218,"duration":117592,"tags":{},"startTime":1691879168933},{"traceId":"f3118a7bad57c10e","parentId":8984,"name":"webpack-compilation","id":9009,"timestamp":11685519027,"duration":753836,"tags":{"name":"client"},"startTime":1691879168297},{"traceId":"f3118a7bad57c10e","parentId":8984,"name":"emit","id":9041,"timestamp":11686272893,"duration":21633,"tags":{},"startTime":1691879169051},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":8984,"timestamp":11685329050,"duration":971047,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879168107}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9042,"timestamp":11691869628,"duration":0,"tags":{},"startTime":1691879174648},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9043,"timestamp":1691878622986000,"duration":551711000,"tags":{"clientId":1691878514722},"startTime":1691879174698},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9048,"timestamp":11695934784,"duration":11171,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9052,"timestamp":11695934900,"duration":14526,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9053,"timestamp":11695934911,"duration":14524,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9051,"timestamp":11695934894,"duration":15677,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9056,"name":"next-swc-transform","id":9057,"timestamp":11695947679,"duration":4416,"tags":{},"startTime":1691879178726},{"traceId":"f3118a7bad57c10e","parentId":9055,"name":"next-swc-loader","id":9056,"timestamp":11695947433,"duration":4674,"tags":{},"startTime":1691879178725},{"traceId":"f3118a7bad57c10e","parentId":9046,"name":"build-module-tsx","id":9055,"timestamp":11695946985,"duration":14385,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879178725},{"traceId":"f3118a7bad57c10e","parentId":9058,"name":"read-resource","id":9059,"timestamp":11695949092,"duration":13539,"tags":{},"startTime":1691879178727},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9049,"timestamp":11695934868,"duration":54268,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9060,"name":"postcss-process","id":9061,"timestamp":11695962705,"duration":172071,"tags":{},"startTime":1691879178741},{"traceId":"f3118a7bad57c10e","parentId":9058,"name":"postcss-loader","id":9060,"timestamp":11695962681,"duration":172837,"tags":{},"startTime":1691879178741},{"traceId":"f3118a7bad57c10e","parentId":9058,"name":"css-loader","id":9062,"timestamp":11696135560,"duration":44020,"tags":{"astUsed":"true"},"startTime":1691879178914},{"traceId":"f3118a7bad57c10e","parentId":9046,"name":"build-module-css","id":9058,"timestamp":11695948763,"duration":233396,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879178727},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9054,"timestamp":11695934921,"duration":258422,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9047,"name":"add-entry","id":9050,"timestamp":11695934884,"duration":330296,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879178713},{"traceId":"f3118a7bad57c10e","parentId":9046,"name":"make","id":9047,"timestamp":11695933652,"duration":331563,"tags":{},"startTime":1691879178712},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"chunk-graph","id":9064,"timestamp":11696272951,"duration":14276,"tags":{},"startTime":1691879179051},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"optimize-modules","id":9066,"timestamp":11696287275,"duration":8,"tags":{},"startTime":1691879179065},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"optimize-chunks","id":9067,"timestamp":11696287301,"duration":244,"tags":{},"startTime":1691879179065},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"optimize-tree","id":9068,"timestamp":11696287582,"duration":10,"tags":{},"startTime":1691879179066},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"optimize-chunk-modules","id":9069,"timestamp":11696287621,"duration":7,"tags":{},"startTime":1691879179066},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"optimize","id":9065,"timestamp":11696287259,"duration":1712,"tags":{},"startTime":1691879179065},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"module-hash","id":9070,"timestamp":11696296051,"duration":2079,"tags":{},"startTime":1691879179074},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"code-generation","id":9071,"timestamp":11696298166,"duration":15546,"tags":{},"startTime":1691879179076},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"hash","id":9072,"timestamp":11696320858,"duration":15229,"tags":{},"startTime":1691879179099},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"code-generation-jobs","id":9073,"timestamp":11696336085,"duration":169,"tags":{},"startTime":1691879179114},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"module-assets","id":9074,"timestamp":11696336231,"duration":332,"tags":{},"startTime":1691879179114},{"traceId":"f3118a7bad57c10e","parentId":9063,"name":"create-chunk-assets","id":9075,"timestamp":11696336571,"duration":2499,"tags":{},"startTime":1691879179115},{"traceId":"f3118a7bad57c10e","parentId":9046,"name":"NextJsBuildManifest-generateClientManifest","id":9077,"timestamp":11696343757,"duration":146,"tags":{},"startTime":1691879179122},{"traceId":"f3118a7bad57c10e","parentId":9046,"name":"NextJsBuildManifest-createassets","id":9076,"timestamp":11696343603,"duration":308,"tags":{},"startTime":1691879179122},{"traceId":"f3118a7bad57c10e","parentId":9046,"name":"seal","id":9063,"timestamp":11696267480,"duration":83922,"tags":{},"startTime":1691879179046},{"traceId":"f3118a7bad57c10e","parentId":9044,"name":"webpack-compilation","id":9046,"timestamp":11695933153,"duration":418300,"tags":{"name":"client"},"startTime":1691879178711},{"traceId":"f3118a7bad57c10e","parentId":9044,"name":"emit","id":9078,"timestamp":11696351482,"duration":34995,"tags":{},"startTime":1691879179130},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9044,"timestamp":11695924676,"duration":462856,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879178703},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9081,"timestamp":11696395801,"duration":0,"tags":{},"startTime":1691879179174},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9087,"timestamp":1691879178704000,"duration":502000,"tags":{"clientId":1691878514722},"startTime":1691879179221},{"traceId":"f3118a7bad57c10e","parentId":9089,"name":"next-swc-transform","id":9090,"timestamp":11696451878,"duration":4146,"tags":{},"startTime":1691879179230},{"traceId":"f3118a7bad57c10e","parentId":9088,"name":"next-swc-loader","id":9089,"timestamp":11696451750,"duration":4281,"tags":{},"startTime":1691879179230},{"traceId":"f3118a7bad57c10e","parentId":9079,"name":"build-module-tsx","id":9088,"timestamp":11696451412,"duration":6423,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879179229},{"traceId":"f3118a7bad57c10e","parentId":9080,"name":"add-entry","id":9082,"timestamp":11696402647,"duration":55259,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879179181},{"traceId":"f3118a7bad57c10e","parentId":9080,"name":"add-entry","id":9083,"timestamp":11696402714,"duration":55198,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879179181},{"traceId":"f3118a7bad57c10e","parentId":9080,"name":"add-entry","id":9084,"timestamp":11696402724,"duration":55206,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879179181},{"traceId":"f3118a7bad57c10e","parentId":9080,"name":"add-entry","id":9085,"timestamp":11696402729,"duration":55205,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879179181},{"traceId":"f3118a7bad57c10e","parentId":9080,"name":"add-entry","id":9086,"timestamp":11696402735,"duration":55928,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879179181},{"traceId":"f3118a7bad57c10e","parentId":9079,"name":"make","id":9080,"timestamp":11696391789,"duration":66901,"tags":{},"startTime":1691879179170},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"chunk-graph","id":9092,"timestamp":11696459065,"duration":317,"tags":{},"startTime":1691879179237},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"optimize-modules","id":9094,"timestamp":11696459407,"duration":5,"tags":{},"startTime":1691879179237},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"optimize-chunks","id":9095,"timestamp":11696459424,"duration":24,"tags":{},"startTime":1691879179237},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"optimize-tree","id":9096,"timestamp":11696459469,"duration":6,"tags":{},"startTime":1691879179238},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"optimize-chunk-modules","id":9097,"timestamp":11696459488,"duration":5,"tags":{},"startTime":1691879179238},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"optimize","id":9093,"timestamp":11696459397,"duration":175,"tags":{},"startTime":1691879179237},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"module-hash","id":9098,"timestamp":11696459799,"duration":172,"tags":{},"startTime":1691879179238},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"code-generation","id":9099,"timestamp":11696459983,"duration":664,"tags":{},"startTime":1691879179238},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"hash","id":9100,"timestamp":11696461538,"duration":1072,"tags":{},"startTime":1691879179240},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"code-generation-jobs","id":9101,"timestamp":11696462609,"duration":90,"tags":{},"startTime":1691879179241},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"module-assets","id":9102,"timestamp":11696462688,"duration":32,"tags":{},"startTime":1691879179241},{"traceId":"f3118a7bad57c10e","parentId":9091,"name":"create-chunk-assets","id":9103,"timestamp":11696462726,"duration":1117,"tags":{},"startTime":1691879179241},{"traceId":"f3118a7bad57c10e","parentId":9079,"name":"seal","id":9091,"timestamp":11696458974,"duration":5355,"tags":{},"startTime":1691879179237},{"traceId":"f3118a7bad57c10e","parentId":9045,"name":"webpack-compilation","id":9079,"timestamp":11696391342,"duration":73022,"tags":{"name":"server"},"startTime":1691879179169},{"traceId":"f3118a7bad57c10e","parentId":9045,"name":"emit","id":9104,"timestamp":11696464386,"duration":5840,"tags":{},"startTime":1691879179242},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9045,"timestamp":11695925188,"duration":546005,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879178703}] -[{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9109,"timestamp":11697108492,"duration":9543,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9113,"timestamp":11697108770,"duration":12251,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9115,"timestamp":11697108790,"duration":12241,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9112,"timestamp":11697108760,"duration":12872,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9119,"name":"read-resource","id":9120,"timestamp":11697120285,"duration":1613,"tags":{},"startTime":1691879179898},{"traceId":"f3118a7bad57c10e","parentId":9117,"name":"next-swc-transform","id":9118,"timestamp":11697119005,"duration":24652,"tags":{},"startTime":1691879179897},{"traceId":"f3118a7bad57c10e","parentId":9116,"name":"next-swc-loader","id":9117,"timestamp":11697118897,"duration":24769,"tags":{},"startTime":1691879179897},{"traceId":"f3118a7bad57c10e","parentId":9107,"name":"build-module-tsx","id":9116,"timestamp":11697118685,"duration":35015,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879179897},{"traceId":"f3118a7bad57c10e","parentId":9121,"name":"postcss-process","id":9122,"timestamp":11697121989,"duration":129314,"tags":{},"startTime":1691879179900},{"traceId":"f3118a7bad57c10e","parentId":9119,"name":"postcss-loader","id":9121,"timestamp":11697121961,"duration":129767,"tags":{},"startTime":1691879179900},{"traceId":"f3118a7bad57c10e","parentId":9119,"name":"css-loader","id":9123,"timestamp":11697251764,"duration":15385,"tags":{"astUsed":"true"},"startTime":1691879180030},{"traceId":"f3118a7bad57c10e","parentId":9107,"name":"build-module-css","id":9119,"timestamp":11697120085,"duration":148993,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879179898},{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9110,"timestamp":11697108702,"duration":167936,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9114,"timestamp":11697108780,"duration":174186,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9108,"name":"add-entry","id":9111,"timestamp":11697108745,"duration":216835,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879179887},{"traceId":"f3118a7bad57c10e","parentId":9107,"name":"make","id":9108,"timestamp":11697105670,"duration":219941,"tags":{},"startTime":1691879179884},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"chunk-graph","id":9125,"timestamp":11697331812,"duration":5858,"tags":{},"startTime":1691879180110},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"optimize-modules","id":9127,"timestamp":11697337710,"duration":7,"tags":{},"startTime":1691879180116},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"optimize-chunks","id":9128,"timestamp":11697337736,"duration":159,"tags":{},"startTime":1691879180116},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"optimize-tree","id":9129,"timestamp":11697337923,"duration":8,"tags":{},"startTime":1691879180116},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"optimize-chunk-modules","id":9130,"timestamp":11697337960,"duration":6,"tags":{},"startTime":1691879180116},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"optimize","id":9126,"timestamp":11697337695,"duration":1596,"tags":{},"startTime":1691879180116},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"module-hash","id":9131,"timestamp":11697344754,"duration":1865,"tags":{},"startTime":1691879180123},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"code-generation","id":9132,"timestamp":11697346664,"duration":15942,"tags":{},"startTime":1691879180125},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"hash","id":9133,"timestamp":11697369407,"duration":9516,"tags":{},"startTime":1691879180147},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"code-generation-jobs","id":9134,"timestamp":11697378921,"duration":177,"tags":{},"startTime":1691879180157},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"module-assets","id":9135,"timestamp":11697379073,"duration":352,"tags":{},"startTime":1691879180157},{"traceId":"f3118a7bad57c10e","parentId":9124,"name":"create-chunk-assets","id":9136,"timestamp":11697379435,"duration":1898,"tags":{},"startTime":1691879180157},{"traceId":"f3118a7bad57c10e","parentId":9107,"name":"NextJsBuildManifest-generateClientManifest","id":9138,"timestamp":11697384863,"duration":86,"tags":{},"startTime":1691879180163},{"traceId":"f3118a7bad57c10e","parentId":9107,"name":"NextJsBuildManifest-createassets","id":9137,"timestamp":11697384775,"duration":181,"tags":{},"startTime":1691879180163},{"traceId":"f3118a7bad57c10e","parentId":9107,"name":"seal","id":9124,"timestamp":11697327485,"duration":60947,"tags":{},"startTime":1691879180106},{"traceId":"f3118a7bad57c10e","parentId":9105,"name":"webpack-compilation","id":9107,"timestamp":11697105223,"duration":283266,"tags":{"name":"client"},"startTime":1691879179883},{"traceId":"f3118a7bad57c10e","parentId":9105,"name":"emit","id":9139,"timestamp":11697388512,"duration":105435,"tags":{},"startTime":1691879180167},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9105,"timestamp":11697093361,"duration":402778,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879179871},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9142,"timestamp":11697590618,"duration":0,"tags":{},"startTime":1691879180369},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9148,"timestamp":1691879179872000,"duration":528000,"tags":{"clientId":1691878514722},"startTime":1691879180409},{"traceId":"f3118a7bad57c10e","parentId":9150,"name":"next-swc-transform","id":9151,"timestamp":11697646165,"duration":3057,"tags":{},"startTime":1691879180424},{"traceId":"f3118a7bad57c10e","parentId":9149,"name":"next-swc-loader","id":9150,"timestamp":11697645832,"duration":3396,"tags":{},"startTime":1691879180424},{"traceId":"f3118a7bad57c10e","parentId":9140,"name":"build-module-tsx","id":9149,"timestamp":11697645551,"duration":8463,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879180424},{"traceId":"f3118a7bad57c10e","parentId":9141,"name":"add-entry","id":9143,"timestamp":11697594325,"duration":60985,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879180372},{"traceId":"f3118a7bad57c10e","parentId":9141,"name":"add-entry","id":9144,"timestamp":11697594464,"duration":60888,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879180373},{"traceId":"f3118a7bad57c10e","parentId":9141,"name":"add-entry","id":9145,"timestamp":11697594479,"duration":60881,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879180373},{"traceId":"f3118a7bad57c10e","parentId":9141,"name":"add-entry","id":9147,"timestamp":11697594494,"duration":60870,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879180373},{"traceId":"f3118a7bad57c10e","parentId":9141,"name":"add-entry","id":9146,"timestamp":11697594487,"duration":61240,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879180373},{"traceId":"f3118a7bad57c10e","parentId":9140,"name":"make","id":9141,"timestamp":11697505439,"duration":150318,"tags":{},"startTime":1691879180284},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"chunk-graph","id":9153,"timestamp":11697656706,"duration":606,"tags":{},"startTime":1691879180435},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"optimize-modules","id":9155,"timestamp":11697657343,"duration":7,"tags":{},"startTime":1691879180435},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"optimize-chunks","id":9156,"timestamp":11697657548,"duration":53,"tags":{},"startTime":1691879180436},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"optimize-tree","id":9157,"timestamp":11697657636,"duration":11,"tags":{},"startTime":1691879180436},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"optimize-chunk-modules","id":9158,"timestamp":11697657667,"duration":9,"tags":{},"startTime":1691879180436},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"optimize","id":9154,"timestamp":11697657332,"duration":446,"tags":{},"startTime":1691879180435},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"module-hash","id":9159,"timestamp":11697658078,"duration":234,"tags":{},"startTime":1691879180436},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"code-generation","id":9160,"timestamp":11697658327,"duration":553,"tags":{},"startTime":1691879180436},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"hash","id":9161,"timestamp":11697659854,"duration":986,"tags":{},"startTime":1691879180438},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"code-generation-jobs","id":9162,"timestamp":11697660839,"duration":87,"tags":{},"startTime":1691879180439},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"module-assets","id":9163,"timestamp":11697660915,"duration":30,"tags":{},"startTime":1691879180439},{"traceId":"f3118a7bad57c10e","parentId":9152,"name":"create-chunk-assets","id":9164,"timestamp":11697660951,"duration":1059,"tags":{},"startTime":1691879180439},{"traceId":"f3118a7bad57c10e","parentId":9140,"name":"seal","id":9152,"timestamp":11697656586,"duration":5678,"tags":{},"startTime":1691879180435},{"traceId":"f3118a7bad57c10e","parentId":9106,"name":"webpack-compilation","id":9140,"timestamp":11697504792,"duration":157504,"tags":{"name":"server"},"startTime":1691879180283},{"traceId":"f3118a7bad57c10e","parentId":9106,"name":"emit","id":9165,"timestamp":11697662314,"duration":4951,"tags":{},"startTime":1691879180440},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9106,"timestamp":11697095090,"duration":572991,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879179873}] -[{"traceId":"f3118a7bad57c10e","parentId":9175,"name":"read-resource","id":9176,"timestamp":11788584709,"duration":16647,"tags":{},"startTime":1691879271366},{"traceId":"f3118a7bad57c10e","parentId":9168,"name":"build-module-css","id":9175,"timestamp":11788577779,"duration":27848,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879271359},{"traceId":"f3118a7bad57c10e","parentId":9169,"name":"add-entry","id":9170,"timestamp":11788506956,"duration":102212,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879271288},{"traceId":"f3118a7bad57c10e","parentId":9169,"name":"add-entry","id":9171,"timestamp":11788507378,"duration":101818,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879271288},{"traceId":"f3118a7bad57c10e","parentId":9169,"name":"add-entry","id":9172,"timestamp":11788507402,"duration":101811,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879271288},{"traceId":"f3118a7bad57c10e","parentId":9169,"name":"add-entry","id":9173,"timestamp":11788507463,"duration":101753,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879271288},{"traceId":"f3118a7bad57c10e","parentId":9169,"name":"add-entry","id":9174,"timestamp":11788507474,"duration":102648,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879271288},{"traceId":"f3118a7bad57c10e","parentId":9168,"name":"make","id":9169,"timestamp":11788491002,"duration":119160,"tags":{},"startTime":1691879271272},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"chunk-graph","id":9178,"timestamp":11788611288,"duration":1630,"tags":{},"startTime":1691879271392},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"optimize-modules","id":9180,"timestamp":11788613071,"duration":47,"tags":{},"startTime":1691879271394},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"optimize-chunks","id":9181,"timestamp":11788613209,"duration":92,"tags":{},"startTime":1691879271394},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"optimize-tree","id":9182,"timestamp":11788613400,"duration":45,"tags":{},"startTime":1691879271394},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"optimize-chunk-modules","id":9183,"timestamp":11788613533,"duration":44,"tags":{},"startTime":1691879271394},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"optimize","id":9179,"timestamp":11788613002,"duration":1095,"tags":{},"startTime":1691879271394},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"module-hash","id":9184,"timestamp":11788614912,"duration":290,"tags":{},"startTime":1691879271396},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"code-generation","id":9185,"timestamp":11788615226,"duration":1453,"tags":{},"startTime":1691879271396},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"hash","id":9186,"timestamp":11788619413,"duration":4394,"tags":{},"startTime":1691879271400},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"code-generation-jobs","id":9187,"timestamp":11788623806,"duration":194,"tags":{},"startTime":1691879271405},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"module-assets","id":9188,"timestamp":11788623982,"duration":51,"tags":{},"startTime":1691879271405},{"traceId":"f3118a7bad57c10e","parentId":9177,"name":"create-chunk-assets","id":9189,"timestamp":11788624048,"duration":363,"tags":{},"startTime":1691879271405},{"traceId":"f3118a7bad57c10e","parentId":9168,"name":"seal","id":9177,"timestamp":11788610834,"duration":14623,"tags":{},"startTime":1691879271392},{"traceId":"f3118a7bad57c10e","parentId":9166,"name":"webpack-compilation","id":9168,"timestamp":11788490600,"duration":134912,"tags":{"name":"server"},"startTime":1691879271271},{"traceId":"f3118a7bad57c10e","parentId":9166,"name":"emit","id":9190,"timestamp":11788625552,"duration":7700,"tags":{},"startTime":1691879271406},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9166,"timestamp":11788470304,"duration":165261,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879271251},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9193,"timestamp":11788646912,"duration":24283,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9200,"name":"read-resource","id":9201,"timestamp":11788673472,"duration":81,"tags":{},"startTime":1691879271454},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9197,"timestamp":11788647038,"duration":225210,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9199,"timestamp":11788647060,"duration":225198,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9196,"timestamp":11788647032,"duration":226335,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9202,"name":"postcss-process","id":9203,"timestamp":11788673629,"duration":315335,"tags":{},"startTime":1691879271454},{"traceId":"f3118a7bad57c10e","parentId":9200,"name":"postcss-loader","id":9202,"timestamp":11788673597,"duration":316628,"tags":{},"startTime":1691879271454},{"traceId":"f3118a7bad57c10e","parentId":9200,"name":"css-loader","id":9204,"timestamp":11788990261,"duration":27711,"tags":{"astUsed":"true"},"startTime":1691879271771},{"traceId":"f3118a7bad57c10e","parentId":9191,"name":"build-module-css","id":9200,"timestamp":11788673037,"duration":360347,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879271454},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9194,"timestamp":11788647008,"duration":394702,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9198,"timestamp":11788647050,"duration":409406,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9192,"name":"add-entry","id":9195,"timestamp":11788647020,"duration":580395,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879271428},{"traceId":"f3118a7bad57c10e","parentId":9191,"name":"make","id":9192,"timestamp":11788638359,"duration":589092,"tags":{},"startTime":1691879271419},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"chunk-graph","id":9206,"timestamp":11789239117,"duration":34830,"tags":{},"startTime":1691879272020},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"optimize-modules","id":9208,"timestamp":11789273990,"duration":8,"tags":{},"startTime":1691879272055},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"optimize-chunks","id":9209,"timestamp":11789274140,"duration":244,"tags":{},"startTime":1691879272055},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"optimize-tree","id":9210,"timestamp":11789274471,"duration":14,"tags":{},"startTime":1691879272055},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"optimize-chunk-modules","id":9211,"timestamp":11789274574,"duration":14,"tags":{},"startTime":1691879272055},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"optimize","id":9207,"timestamp":11789273974,"duration":2686,"tags":{},"startTime":1691879272055},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"module-hash","id":9212,"timestamp":11789321596,"duration":3196,"tags":{},"startTime":1691879272102},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"code-generation","id":9213,"timestamp":11789324835,"duration":9287,"tags":{},"startTime":1691879272106},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"hash","id":9214,"timestamp":11789348687,"duration":11789,"tags":{},"startTime":1691879272130},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"code-generation-jobs","id":9215,"timestamp":11789360474,"duration":380,"tags":{},"startTime":1691879272141},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"module-assets","id":9216,"timestamp":11789360813,"duration":376,"tags":{},"startTime":1691879272142},{"traceId":"f3118a7bad57c10e","parentId":9205,"name":"create-chunk-assets","id":9217,"timestamp":11789361213,"duration":17389,"tags":{},"startTime":1691879272142},{"traceId":"f3118a7bad57c10e","parentId":9191,"name":"NextJsBuildManifest-generateClientManifest","id":9219,"timestamp":11789384266,"duration":190,"tags":{},"startTime":1691879272165},{"traceId":"f3118a7bad57c10e","parentId":9191,"name":"NextJsBuildManifest-createassets","id":9218,"timestamp":11789384049,"duration":416,"tags":{},"startTime":1691879272165},{"traceId":"f3118a7bad57c10e","parentId":9191,"name":"seal","id":9205,"timestamp":11789233657,"duration":155130,"tags":{},"startTime":1691879272014},{"traceId":"f3118a7bad57c10e","parentId":9167,"name":"webpack-compilation","id":9191,"timestamp":11788637935,"duration":750916,"tags":{"name":"client"},"startTime":1691879271419},{"traceId":"f3118a7bad57c10e","parentId":9167,"name":"emit","id":9220,"timestamp":11789388899,"duration":53938,"tags":{},"startTime":1691879272170},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9167,"timestamp":11788470610,"duration":974484,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879271251}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9221,"timestamp":11811865052,"duration":0,"tags":{},"startTime":1691879294647},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9222,"timestamp":1691879179872000,"duration":114837000,"tags":{"clientId":1691878514722},"startTime":1691879294713},{"traceId":"f3118a7bad57c10e","parentId":9233,"name":"next-swc-transform","id":9234,"timestamp":11814173907,"duration":2463,"tags":{},"startTime":1691879296955},{"traceId":"f3118a7bad57c10e","parentId":9232,"name":"next-swc-loader","id":9233,"timestamp":11814173529,"duration":2851,"tags":{},"startTime":1691879296955},{"traceId":"f3118a7bad57c10e","parentId":9225,"name":"build-module-tsx","id":9232,"timestamp":11814173164,"duration":8413,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879296955},{"traceId":"f3118a7bad57c10e","parentId":9226,"name":"add-entry","id":9227,"timestamp":11814122280,"duration":62025,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879296904},{"traceId":"f3118a7bad57c10e","parentId":9226,"name":"add-entry","id":9228,"timestamp":11814122421,"duration":61894,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879296904},{"traceId":"f3118a7bad57c10e","parentId":9226,"name":"add-entry","id":9229,"timestamp":11814122435,"duration":61883,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879296904},{"traceId":"f3118a7bad57c10e","parentId":9226,"name":"add-entry","id":9231,"timestamp":11814122480,"duration":61840,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879296904},{"traceId":"f3118a7bad57c10e","parentId":9226,"name":"add-entry","id":9230,"timestamp":11814122445,"duration":62142,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879296904},{"traceId":"f3118a7bad57c10e","parentId":9225,"name":"make","id":9226,"timestamp":11814119555,"duration":65063,"tags":{},"startTime":1691879296901},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"chunk-graph","id":9236,"timestamp":11814185132,"duration":691,"tags":{},"startTime":1691879296967},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"optimize-modules","id":9238,"timestamp":11814185857,"duration":9,"tags":{},"startTime":1691879296967},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"optimize-chunks","id":9239,"timestamp":11814185888,"duration":33,"tags":{},"startTime":1691879296967},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"optimize-tree","id":9240,"timestamp":11814185962,"duration":11,"tags":{},"startTime":1691879296968},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"optimize-chunk-modules","id":9241,"timestamp":11814185994,"duration":8,"tags":{},"startTime":1691879296968},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"optimize","id":9237,"timestamp":11814185846,"duration":257,"tags":{},"startTime":1691879296967},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"module-hash","id":9242,"timestamp":11814186429,"duration":248,"tags":{},"startTime":1691879296968},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"code-generation","id":9243,"timestamp":11814186696,"duration":792,"tags":{},"startTime":1691879296968},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"hash","id":9244,"timestamp":11814190196,"duration":1816,"tags":{},"startTime":1691879296972},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"code-generation-jobs","id":9245,"timestamp":11814192011,"duration":137,"tags":{},"startTime":1691879296974},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"module-assets","id":9246,"timestamp":11814192131,"duration":44,"tags":{},"startTime":1691879296974},{"traceId":"f3118a7bad57c10e","parentId":9235,"name":"create-chunk-assets","id":9247,"timestamp":11814192182,"duration":1714,"tags":{},"startTime":1691879296974},{"traceId":"f3118a7bad57c10e","parentId":9225,"name":"seal","id":9235,"timestamp":11814184999,"duration":9704,"tags":{},"startTime":1691879296967},{"traceId":"f3118a7bad57c10e","parentId":9223,"name":"webpack-compilation","id":9225,"timestamp":11814119090,"duration":75659,"tags":{"name":"server"},"startTime":1691879296901},{"traceId":"f3118a7bad57c10e","parentId":9223,"name":"emit","id":9248,"timestamp":11814194780,"duration":14204,"tags":{},"startTime":1691879296976},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9223,"timestamp":11814110773,"duration":101722,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879296892},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9251,"timestamp":11814227112,"duration":12967,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9255,"timestamp":11814227259,"duration":15770,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9256,"timestamp":11814227274,"duration":15766,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9254,"timestamp":11814227249,"duration":16378,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9259,"name":"next-swc-transform","id":9260,"timestamp":11814241550,"duration":3109,"tags":{},"startTime":1691879297023},{"traceId":"f3118a7bad57c10e","parentId":9258,"name":"next-swc-loader","id":9259,"timestamp":11814241426,"duration":3238,"tags":{},"startTime":1691879297023},{"traceId":"f3118a7bad57c10e","parentId":9249,"name":"build-module-tsx","id":9258,"timestamp":11814241033,"duration":13667,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879297023},{"traceId":"f3118a7bad57c10e","parentId":9261,"name":"read-resource","id":9262,"timestamp":11814242734,"duration":12328,"tags":{},"startTime":1691879297024},{"traceId":"f3118a7bad57c10e","parentId":9263,"name":"postcss-process","id":9264,"timestamp":11814255132,"duration":88237,"tags":{},"startTime":1691879297037},{"traceId":"f3118a7bad57c10e","parentId":9261,"name":"postcss-loader","id":9263,"timestamp":11814255102,"duration":89111,"tags":{},"startTime":1691879297037},{"traceId":"f3118a7bad57c10e","parentId":9261,"name":"css-loader","id":9265,"timestamp":11814344245,"duration":25477,"tags":{"astUsed":"true"},"startTime":1691879297126},{"traceId":"f3118a7bad57c10e","parentId":9249,"name":"build-module-css","id":9261,"timestamp":11814242528,"duration":138228,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879297024},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9252,"timestamp":11814227215,"duration":188462,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9257,"timestamp":11814227281,"duration":414310,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9250,"name":"add-entry","id":9253,"timestamp":11814227238,"duration":654618,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879297009},{"traceId":"f3118a7bad57c10e","parentId":9249,"name":"make","id":9250,"timestamp":11814219329,"duration":662577,"tags":{},"startTime":1691879297001},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"chunk-graph","id":9267,"timestamp":11814905905,"duration":105792,"tags":{},"startTime":1691879297687},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"optimize-modules","id":9269,"timestamp":11815011750,"duration":9,"tags":{},"startTime":1691879297793},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"optimize-chunks","id":9270,"timestamp":11815011783,"duration":226,"tags":{},"startTime":1691879297793},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"optimize-tree","id":9271,"timestamp":11815012043,"duration":10,"tags":{},"startTime":1691879297794},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"optimize-chunk-modules","id":9272,"timestamp":11815012087,"duration":11,"tags":{},"startTime":1691879297794},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"optimize","id":9268,"timestamp":11815011730,"duration":3261,"tags":{},"startTime":1691879297793},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"module-hash","id":9273,"timestamp":11815057116,"duration":3302,"tags":{},"startTime":1691879297839},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"code-generation","id":9274,"timestamp":11815060454,"duration":32865,"tags":{},"startTime":1691879297842},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"hash","id":9275,"timestamp":11815105058,"duration":12895,"tags":{},"startTime":1691879297887},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"code-generation-jobs","id":9276,"timestamp":11815117950,"duration":208,"tags":{},"startTime":1691879297900},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"module-assets","id":9277,"timestamp":11815118130,"duration":374,"tags":{},"startTime":1691879297900},{"traceId":"f3118a7bad57c10e","parentId":9266,"name":"create-chunk-assets","id":9278,"timestamp":11815118520,"duration":2345,"tags":{},"startTime":1691879297900},{"traceId":"f3118a7bad57c10e","parentId":9249,"name":"NextJsBuildManifest-generateClientManifest","id":9280,"timestamp":11815127612,"duration":152,"tags":{},"startTime":1691879297909},{"traceId":"f3118a7bad57c10e","parentId":9249,"name":"NextJsBuildManifest-createassets","id":9279,"timestamp":11815127490,"duration":283,"tags":{},"startTime":1691879297909},{"traceId":"f3118a7bad57c10e","parentId":9249,"name":"seal","id":9266,"timestamp":11814884627,"duration":259983,"tags":{},"startTime":1691879297666},{"traceId":"f3118a7bad57c10e","parentId":9224,"name":"webpack-compilation","id":9249,"timestamp":11814218722,"duration":925951,"tags":{"name":"client"},"startTime":1691879297000},{"traceId":"f3118a7bad57c10e","parentId":9224,"name":"emit","id":9281,"timestamp":11815144709,"duration":83530,"tags":{},"startTime":1691879297926},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9224,"timestamp":11814111210,"duration":1148416,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879296893}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9282,"timestamp":11815307218,"duration":0,"tags":{},"startTime":1691879298089},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9283,"timestamp":1691879296894000,"duration":1225000,"tags":{"clientId":1691878514722},"startTime":1691879298121},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9288,"timestamp":11842036631,"duration":49862,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9292,"timestamp":11842036735,"duration":52601,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9293,"timestamp":11842036743,"duration":52602,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9291,"timestamp":11842036730,"duration":53489,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9298,"name":"read-resource","id":9299,"timestamp":11842089012,"duration":1413,"tags":{},"startTime":1691879324851},{"traceId":"f3118a7bad57c10e","parentId":9296,"name":"next-swc-transform","id":9297,"timestamp":11842088236,"duration":106497,"tags":{},"startTime":1691879324850},{"traceId":"f3118a7bad57c10e","parentId":9295,"name":"next-swc-loader","id":9296,"timestamp":11842088010,"duration":106729,"tags":{},"startTime":1691879324850},{"traceId":"f3118a7bad57c10e","parentId":9286,"name":"build-module-tsx","id":9295,"timestamp":11842087660,"duration":120952,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879324850},{"traceId":"f3118a7bad57c10e","parentId":9300,"name":"postcss-process","id":9301,"timestamp":11842090486,"duration":270214,"tags":{},"startTime":1691879324853},{"traceId":"f3118a7bad57c10e","parentId":9298,"name":"postcss-loader","id":9300,"timestamp":11842090463,"duration":270595,"tags":{},"startTime":1691879324853},{"traceId":"f3118a7bad57c10e","parentId":9298,"name":"css-loader","id":9302,"timestamp":11842361096,"duration":46130,"tags":{"astUsed":"true"},"startTime":1691879325123},{"traceId":"f3118a7bad57c10e","parentId":9286,"name":"build-module-css","id":9298,"timestamp":11842088822,"duration":320721,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879324851},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9289,"timestamp":11842036701,"duration":396153,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9294,"timestamp":11842036749,"duration":412373,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9287,"name":"add-entry","id":9290,"timestamp":11842036723,"duration":479405,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879324799},{"traceId":"f3118a7bad57c10e","parentId":9286,"name":"make","id":9287,"timestamp":11842024621,"duration":491547,"tags":{},"startTime":1691879324787},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"chunk-graph","id":9304,"timestamp":11842522955,"duration":6736,"tags":{},"startTime":1691879325285},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"optimize-modules","id":9306,"timestamp":11842529732,"duration":7,"tags":{},"startTime":1691879325291},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"optimize-chunks","id":9307,"timestamp":11842529768,"duration":348,"tags":{},"startTime":1691879325292},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"optimize-tree","id":9308,"timestamp":11842530172,"duration":12,"tags":{},"startTime":1691879325292},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"optimize-chunk-modules","id":9309,"timestamp":11842530225,"duration":11,"tags":{},"startTime":1691879325292},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"optimize","id":9305,"timestamp":11842529715,"duration":2007,"tags":{},"startTime":1691879325291},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"module-hash","id":9310,"timestamp":11842542324,"duration":2661,"tags":{},"startTime":1691879325304},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"code-generation","id":9311,"timestamp":11842545018,"duration":7579,"tags":{},"startTime":1691879325307},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"hash","id":9312,"timestamp":11842562650,"duration":14121,"tags":{},"startTime":1691879325324},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"code-generation-jobs","id":9313,"timestamp":11842576769,"duration":264,"tags":{},"startTime":1691879325338},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"module-assets","id":9314,"timestamp":11842576979,"duration":461,"tags":{},"startTime":1691879325339},{"traceId":"f3118a7bad57c10e","parentId":9303,"name":"create-chunk-assets","id":9315,"timestamp":11842577461,"duration":2140,"tags":{},"startTime":1691879325339},{"traceId":"f3118a7bad57c10e","parentId":9286,"name":"NextJsBuildManifest-generateClientManifest","id":9317,"timestamp":11842582533,"duration":88,"tags":{},"startTime":1691879325344},{"traceId":"f3118a7bad57c10e","parentId":9286,"name":"NextJsBuildManifest-createassets","id":9316,"timestamp":11842582443,"duration":186,"tags":{},"startTime":1691879325344},{"traceId":"f3118a7bad57c10e","parentId":9286,"name":"seal","id":9303,"timestamp":11842518360,"duration":68400,"tags":{},"startTime":1691879325280},{"traceId":"f3118a7bad57c10e","parentId":9284,"name":"webpack-compilation","id":9286,"timestamp":11842023860,"duration":562955,"tags":{"name":"client"},"startTime":1691879324786},{"traceId":"f3118a7bad57c10e","parentId":9284,"name":"emit","id":9318,"timestamp":11842586843,"duration":19729,"tags":{},"startTime":1691879325349},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9284,"timestamp":11842013953,"duration":593513,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879324776},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9321,"timestamp":11842619946,"duration":0,"tags":{},"startTime":1691879325382},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9327,"timestamp":1691879324777000,"duration":770000,"tags":{"clientId":1691878514722},"startTime":1691879325549},{"traceId":"f3118a7bad57c10e","parentId":9320,"name":"add-entry","id":9322,"timestamp":11842668151,"duration":140164,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879325430},{"traceId":"f3118a7bad57c10e","parentId":9320,"name":"add-entry","id":9323,"timestamp":11842668233,"duration":140094,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879325430},{"traceId":"f3118a7bad57c10e","parentId":9320,"name":"add-entry","id":9324,"timestamp":11842668246,"duration":140085,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879325430},{"traceId":"f3118a7bad57c10e","parentId":9320,"name":"add-entry","id":9326,"timestamp":11842668265,"duration":140067,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879325430},{"traceId":"f3118a7bad57c10e","parentId":9329,"name":"next-swc-transform","id":9330,"timestamp":11842801791,"duration":9424,"tags":{},"startTime":1691879325563},{"traceId":"f3118a7bad57c10e","parentId":9328,"name":"next-swc-loader","id":9329,"timestamp":11842801532,"duration":9693,"tags":{},"startTime":1691879325563},{"traceId":"f3118a7bad57c10e","parentId":9319,"name":"build-module-tsx","id":9328,"timestamp":11842800965,"duration":13818,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879325562},{"traceId":"f3118a7bad57c10e","parentId":9320,"name":"add-entry","id":9325,"timestamp":11842668257,"duration":146954,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879325430},{"traceId":"f3118a7bad57c10e","parentId":9319,"name":"make","id":9320,"timestamp":11842611033,"duration":204206,"tags":{},"startTime":1691879325373},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"chunk-graph","id":9332,"timestamp":11842815641,"duration":507,"tags":{},"startTime":1691879325577},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"optimize-modules","id":9334,"timestamp":11842816175,"duration":7,"tags":{},"startTime":1691879325578},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"optimize-chunks","id":9335,"timestamp":11842816198,"duration":81,"tags":{},"startTime":1691879325578},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"optimize-tree","id":9336,"timestamp":11842816305,"duration":8,"tags":{},"startTime":1691879325578},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"optimize-chunk-modules","id":9337,"timestamp":11842816328,"duration":6,"tags":{},"startTime":1691879325578},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"optimize","id":9333,"timestamp":11842816164,"duration":258,"tags":{},"startTime":1691879325578},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"module-hash","id":9338,"timestamp":11842816840,"duration":1255,"tags":{},"startTime":1691879325578},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"code-generation","id":9339,"timestamp":11842818132,"duration":642,"tags":{},"startTime":1691879325580},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"hash","id":9340,"timestamp":11842820688,"duration":1161,"tags":{},"startTime":1691879325582},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"code-generation-jobs","id":9341,"timestamp":11842821847,"duration":83,"tags":{},"startTime":1691879325583},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"module-assets","id":9342,"timestamp":11842821920,"duration":31,"tags":{},"startTime":1691879325583},{"traceId":"f3118a7bad57c10e","parentId":9331,"name":"create-chunk-assets","id":9343,"timestamp":11842821958,"duration":1367,"tags":{},"startTime":1691879325583},{"traceId":"f3118a7bad57c10e","parentId":9319,"name":"seal","id":9331,"timestamp":11842815529,"duration":8069,"tags":{},"startTime":1691879325577},{"traceId":"f3118a7bad57c10e","parentId":9285,"name":"webpack-compilation","id":9319,"timestamp":11842610412,"duration":213216,"tags":{"name":"server"},"startTime":1691879325372},{"traceId":"f3118a7bad57c10e","parentId":9285,"name":"emit","id":9344,"timestamp":11842823646,"duration":3517,"tags":{},"startTime":1691879325585},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9285,"timestamp":11842014257,"duration":813859,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879324777}] -[{"traceId":"f3118a7bad57c10e","parentId":9354,"name":"read-resource","id":9355,"timestamp":11876635272,"duration":2974,"tags":{},"startTime":1691879359383},{"traceId":"f3118a7bad57c10e","parentId":9347,"name":"build-module-css","id":9354,"timestamp":11876635002,"duration":4252,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879359383},{"traceId":"f3118a7bad57c10e","parentId":9348,"name":"add-entry","id":9349,"timestamp":11876603505,"duration":36817,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879359351},{"traceId":"f3118a7bad57c10e","parentId":9348,"name":"add-entry","id":9350,"timestamp":11876603655,"duration":36679,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879359351},{"traceId":"f3118a7bad57c10e","parentId":9348,"name":"add-entry","id":9351,"timestamp":11876603669,"duration":36668,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879359351},{"traceId":"f3118a7bad57c10e","parentId":9348,"name":"add-entry","id":9352,"timestamp":11876603686,"duration":36656,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879359351},{"traceId":"f3118a7bad57c10e","parentId":9348,"name":"add-entry","id":9353,"timestamp":11876603698,"duration":36646,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879359351},{"traceId":"f3118a7bad57c10e","parentId":9347,"name":"make","id":9348,"timestamp":11876601525,"duration":38850,"tags":{},"startTime":1691879359349},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"chunk-graph","id":9357,"timestamp":11876640865,"duration":713,"tags":{},"startTime":1691879359388},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"optimize-modules","id":9359,"timestamp":11876641616,"duration":8,"tags":{},"startTime":1691879359389},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"optimize-chunks","id":9360,"timestamp":11876641662,"duration":35,"tags":{},"startTime":1691879359389},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"optimize-tree","id":9361,"timestamp":11876641726,"duration":9,"tags":{},"startTime":1691879359389},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"optimize-chunk-modules","id":9362,"timestamp":11876641756,"duration":9,"tags":{},"startTime":1691879359389},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"optimize","id":9358,"timestamp":11876641600,"duration":263,"tags":{},"startTime":1691879359389},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"module-hash","id":9363,"timestamp":11876644664,"duration":244,"tags":{},"startTime":1691879359392},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"code-generation","id":9364,"timestamp":11876644927,"duration":1527,"tags":{},"startTime":1691879359392},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"hash","id":9365,"timestamp":11876647388,"duration":1932,"tags":{},"startTime":1691879359395},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"code-generation-jobs","id":9366,"timestamp":11876649318,"duration":124,"tags":{},"startTime":1691879359397},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"module-assets","id":9367,"timestamp":11876649427,"duration":41,"tags":{},"startTime":1691879359397},{"traceId":"f3118a7bad57c10e","parentId":9356,"name":"create-chunk-assets","id":9368,"timestamp":11876649477,"duration":422,"tags":{},"startTime":1691879359397},{"traceId":"f3118a7bad57c10e","parentId":9347,"name":"seal","id":9356,"timestamp":11876640723,"duration":9496,"tags":{},"startTime":1691879359388},{"traceId":"f3118a7bad57c10e","parentId":9345,"name":"webpack-compilation","id":9347,"timestamp":11876601090,"duration":49162,"tags":{"name":"server"},"startTime":1691879359349},{"traceId":"f3118a7bad57c10e","parentId":9345,"name":"emit","id":9369,"timestamp":11876650277,"duration":4350,"tags":{},"startTime":1691879359398},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9345,"timestamp":11876593161,"duration":62257,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879359341},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9372,"timestamp":11876670975,"duration":37938,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879359418},{"traceId":"f3118a7bad57c10e","parentId":9379,"name":"read-resource","id":9380,"timestamp":11876711091,"duration":86,"tags":{},"startTime":1691879359459},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9376,"timestamp":11876671278,"duration":170969,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879359419},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9378,"timestamp":11876672354,"duration":169906,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879359420},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9375,"timestamp":11876671272,"duration":171737,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879359419},{"traceId":"f3118a7bad57c10e","parentId":9381,"name":"postcss-process","id":9382,"timestamp":11876711256,"duration":252137,"tags":{},"startTime":1691879359459},{"traceId":"f3118a7bad57c10e","parentId":9379,"name":"postcss-loader","id":9381,"timestamp":11876711223,"duration":252939,"tags":{},"startTime":1691879359459},{"traceId":"f3118a7bad57c10e","parentId":9379,"name":"css-loader","id":9383,"timestamp":11876964195,"duration":24150,"tags":{"astUsed":"true"},"startTime":1691879359712},{"traceId":"f3118a7bad57c10e","parentId":9370,"name":"build-module-css","id":9379,"timestamp":11876710780,"duration":289713,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879359458},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9373,"timestamp":11876671241,"duration":629738,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879359419},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9377,"timestamp":11876671296,"duration":697225,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879359419},{"traceId":"f3118a7bad57c10e","parentId":9371,"name":"add-entry","id":9374,"timestamp":11876671261,"duration":1536059,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879359419},{"traceId":"f3118a7bad57c10e","parentId":9370,"name":"make","id":9371,"timestamp":11876662244,"duration":1545111,"tags":{},"startTime":1691879359410},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"chunk-graph","id":9385,"timestamp":11878217991,"duration":96146,"tags":{},"startTime":1691879360965},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"optimize-modules","id":9387,"timestamp":11878314179,"duration":11,"tags":{},"startTime":1691879361062},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"optimize-chunks","id":9388,"timestamp":11878314214,"duration":2409,"tags":{},"startTime":1691879361062},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"optimize-tree","id":9389,"timestamp":11878316668,"duration":13,"tags":{},"startTime":1691879361064},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"optimize-chunk-modules","id":9390,"timestamp":11878316795,"duration":15,"tags":{},"startTime":1691879361064},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"optimize","id":9386,"timestamp":11878314165,"duration":87615,"tags":{},"startTime":1691879361062},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"module-hash","id":9391,"timestamp":11878422536,"duration":33831,"tags":{},"startTime":1691879361170},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"code-generation","id":9392,"timestamp":11878456413,"duration":43243,"tags":{},"startTime":1691879361204},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"hash","id":9393,"timestamp":11878539924,"duration":20697,"tags":{},"startTime":1691879361287},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"code-generation-jobs","id":9394,"timestamp":11878560619,"duration":230,"tags":{},"startTime":1691879361308},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"module-assets","id":9395,"timestamp":11878560812,"duration":472,"tags":{},"startTime":1691879361308},{"traceId":"f3118a7bad57c10e","parentId":9384,"name":"create-chunk-assets","id":9396,"timestamp":11878561309,"duration":49928,"tags":{},"startTime":1691879361309},{"traceId":"f3118a7bad57c10e","parentId":9370,"name":"NextJsBuildManifest-generateClientManifest","id":9398,"timestamp":11878634714,"duration":175,"tags":{},"startTime":1691879361382},{"traceId":"f3118a7bad57c10e","parentId":9370,"name":"NextJsBuildManifest-createassets","id":9397,"timestamp":11878634518,"duration":380,"tags":{},"startTime":1691879361382},{"traceId":"f3118a7bad57c10e","parentId":9370,"name":"seal","id":9384,"timestamp":11878208864,"duration":441202,"tags":{},"startTime":1691879360956},{"traceId":"f3118a7bad57c10e","parentId":9346,"name":"webpack-compilation","id":9370,"timestamp":11876659648,"duration":1990476,"tags":{"name":"client"},"startTime":1691879359407},{"traceId":"f3118a7bad57c10e","parentId":9346,"name":"emit","id":9399,"timestamp":11878650162,"duration":212485,"tags":{},"startTime":1691879361397},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9346,"timestamp":11876593413,"duration":2272357,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879359341}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9400,"timestamp":11878919469,"duration":0,"tags":{},"startTime":1691879361667},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9401,"timestamp":1691879359342000,"duration":2428000,"tags":{"clientId":1691878514722},"startTime":1691879361771},{"traceId":"f3118a7bad57c10e","parentId":9411,"name":"read-resource","id":9412,"timestamp":11918876324,"duration":1743,"tags":{},"startTime":1691879401623},{"traceId":"f3118a7bad57c10e","parentId":9404,"name":"build-module-css","id":9411,"timestamp":11918875934,"duration":3301,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879401622},{"traceId":"f3118a7bad57c10e","parentId":9405,"name":"add-entry","id":9406,"timestamp":11918831296,"duration":50184,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879401578},{"traceId":"f3118a7bad57c10e","parentId":9405,"name":"add-entry","id":9407,"timestamp":11918831500,"duration":50013,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879401578},{"traceId":"f3118a7bad57c10e","parentId":9405,"name":"add-entry","id":9408,"timestamp":11918831517,"duration":50004,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879401578},{"traceId":"f3118a7bad57c10e","parentId":9405,"name":"add-entry","id":9409,"timestamp":11918831523,"duration":50001,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879401578},{"traceId":"f3118a7bad57c10e","parentId":9405,"name":"add-entry","id":9410,"timestamp":11918831533,"duration":50006,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879401578},{"traceId":"f3118a7bad57c10e","parentId":9404,"name":"make","id":9405,"timestamp":11918802869,"duration":78701,"tags":{},"startTime":1691879401549},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"chunk-graph","id":9414,"timestamp":11918882278,"duration":682,"tags":{},"startTime":1691879401629},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"optimize-modules","id":9416,"timestamp":11918883067,"duration":40,"tags":{},"startTime":1691879401629},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"optimize-chunks","id":9417,"timestamp":11918883188,"duration":63,"tags":{},"startTime":1691879401629},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"optimize-tree","id":9418,"timestamp":11918883381,"duration":47,"tags":{},"startTime":1691879401630},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"optimize-chunk-modules","id":9419,"timestamp":11918883498,"duration":41,"tags":{},"startTime":1691879401630},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"optimize","id":9415,"timestamp":11918883017,"duration":732,"tags":{},"startTime":1691879401629},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"module-hash","id":9420,"timestamp":11918884375,"duration":222,"tags":{},"startTime":1691879401631},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"code-generation","id":9421,"timestamp":11918884614,"duration":325,"tags":{},"startTime":1691879401631},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"hash","id":9422,"timestamp":11918887646,"duration":2103,"tags":{},"startTime":1691879401634},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"code-generation-jobs","id":9423,"timestamp":11918889748,"duration":167,"tags":{},"startTime":1691879401636},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"module-assets","id":9424,"timestamp":11918889900,"duration":45,"tags":{},"startTime":1691879401636},{"traceId":"f3118a7bad57c10e","parentId":9413,"name":"create-chunk-assets","id":9425,"timestamp":11918889952,"duration":318,"tags":{},"startTime":1691879401636},{"traceId":"f3118a7bad57c10e","parentId":9404,"name":"seal","id":9413,"timestamp":11918882046,"duration":8776,"tags":{},"startTime":1691879401628},{"traceId":"f3118a7bad57c10e","parentId":9402,"name":"webpack-compilation","id":9404,"timestamp":11918802465,"duration":88396,"tags":{"name":"server"},"startTime":1691879401549},{"traceId":"f3118a7bad57c10e","parentId":9402,"name":"emit","id":9426,"timestamp":11918890885,"duration":5443,"tags":{},"startTime":1691879401637},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9402,"timestamp":11918794502,"duration":103221,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879401541},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9429,"timestamp":11918904617,"duration":14700,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9436,"name":"read-resource","id":9437,"timestamp":11918922553,"duration":80,"tags":{},"startTime":1691879401669},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9433,"timestamp":11918904719,"duration":598528,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9435,"timestamp":11918904730,"duration":598529,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9432,"timestamp":11918904715,"duration":600114,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9438,"name":"postcss-process","id":9439,"timestamp":11918922714,"duration":1308772,"tags":{},"startTime":1691879401669},{"traceId":"f3118a7bad57c10e","parentId":9436,"name":"postcss-loader","id":9438,"timestamp":11918922683,"duration":1312249,"tags":{},"startTime":1691879401669},{"traceId":"f3118a7bad57c10e","parentId":9436,"name":"css-loader","id":9440,"timestamp":11920234973,"duration":40561,"tags":{"astUsed":"true"},"startTime":1691879402981},{"traceId":"f3118a7bad57c10e","parentId":9427,"name":"build-module-css","id":9436,"timestamp":11918922092,"duration":1370872,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879401668},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9430,"timestamp":11918904696,"duration":1540033,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9434,"timestamp":11918904726,"duration":1636648,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9428,"name":"add-entry","id":9431,"timestamp":11918904707,"duration":1754935,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879401651},{"traceId":"f3118a7bad57c10e","parentId":9427,"name":"make","id":9428,"timestamp":11918902658,"duration":1757023,"tags":{},"startTime":1691879401649},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"chunk-graph","id":9442,"timestamp":11920665971,"duration":12137,"tags":{},"startTime":1691879403412},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"optimize-modules","id":9444,"timestamp":11920678145,"duration":9,"tags":{},"startTime":1691879403424},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"optimize-chunks","id":9445,"timestamp":11920678294,"duration":263,"tags":{},"startTime":1691879403425},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"optimize-tree","id":9446,"timestamp":11920678644,"duration":12,"tags":{},"startTime":1691879403425},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"optimize-chunk-modules","id":9447,"timestamp":11920678749,"duration":11,"tags":{},"startTime":1691879403425},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"optimize","id":9443,"timestamp":11920678132,"duration":2742,"tags":{},"startTime":1691879403424},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"module-hash","id":9448,"timestamp":11920699343,"duration":2039,"tags":{},"startTime":1691879403446},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"code-generation","id":9449,"timestamp":11920701411,"duration":53422,"tags":{},"startTime":1691879403448},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"hash","id":9450,"timestamp":11920792969,"duration":45349,"tags":{},"startTime":1691879403539},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"code-generation-jobs","id":9451,"timestamp":11920838316,"duration":652,"tags":{},"startTime":1691879403585},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"module-assets","id":9452,"timestamp":11920838920,"duration":515,"tags":{},"startTime":1691879403585},{"traceId":"f3118a7bad57c10e","parentId":9441,"name":"create-chunk-assets","id":9453,"timestamp":11920839470,"duration":28135,"tags":{},"startTime":1691879403586},{"traceId":"f3118a7bad57c10e","parentId":9427,"name":"NextJsBuildManifest-generateClientManifest","id":9455,"timestamp":11920872462,"duration":166,"tags":{},"startTime":1691879403619},{"traceId":"f3118a7bad57c10e","parentId":9427,"name":"NextJsBuildManifest-createassets","id":9454,"timestamp":11920872338,"duration":299,"tags":{},"startTime":1691879403619},{"traceId":"f3118a7bad57c10e","parentId":9427,"name":"seal","id":9441,"timestamp":11920661560,"duration":217514,"tags":{},"startTime":1691879403408},{"traceId":"f3118a7bad57c10e","parentId":9403,"name":"webpack-compilation","id":9427,"timestamp":11918902332,"duration":1976990,"tags":{"name":"client"},"startTime":1691879401649},{"traceId":"f3118a7bad57c10e","parentId":9403,"name":"emit","id":9456,"timestamp":11920879359,"duration":42556,"tags":{},"startTime":1691879403626},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9403,"timestamp":11918794794,"duration":2131311,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879401541}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9457,"timestamp":11920947250,"duration":0,"tags":{},"startTime":1691879403693},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9458,"timestamp":1691879401542000,"duration":2243000,"tags":{"clientId":1691878514722},"startTime":1691879403786},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9463,"timestamp":11954226919,"duration":31796,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879436973},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9467,"timestamp":11954227066,"duration":36600,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879436974},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9469,"timestamp":11954227109,"duration":36568,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879436974},{"traceId":"f3118a7bad57c10e","parentId":9470,"name":"read-resource","id":9471,"timestamp":11954262524,"duration":4875,"tags":{},"startTime":1691879437009},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9466,"timestamp":11954227048,"duration":191505,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879436974},{"traceId":"f3118a7bad57c10e","parentId":9472,"name":"postcss-process","id":9473,"timestamp":11954267683,"duration":237457,"tags":{},"startTime":1691879437014},{"traceId":"f3118a7bad57c10e","parentId":9470,"name":"postcss-loader","id":9472,"timestamp":11954267652,"duration":237938,"tags":{},"startTime":1691879437014},{"traceId":"f3118a7bad57c10e","parentId":9470,"name":"css-loader","id":9474,"timestamp":11954505627,"duration":52433,"tags":{"astUsed":"true"},"startTime":1691879437252},{"traceId":"f3118a7bad57c10e","parentId":9461,"name":"build-module-css","id":9470,"timestamp":11954262093,"duration":307872,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879437009},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9464,"timestamp":11954227029,"duration":349313,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879436973},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9468,"timestamp":11954227077,"duration":491003,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879436974},{"traceId":"f3118a7bad57c10e","parentId":9462,"name":"add-entry","id":9465,"timestamp":11954227040,"duration":622454,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879436973},{"traceId":"f3118a7bad57c10e","parentId":9461,"name":"make","id":9462,"timestamp":11954220278,"duration":629263,"tags":{},"startTime":1691879436967},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"chunk-graph","id":9476,"timestamp":11954856788,"duration":21684,"tags":{},"startTime":1691879437603},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"optimize-modules","id":9478,"timestamp":11954878525,"duration":8,"tags":{},"startTime":1691879437625},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"optimize-chunks","id":9479,"timestamp":11954878550,"duration":330,"tags":{},"startTime":1691879437625},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"optimize-tree","id":9480,"timestamp":11954879073,"duration":105,"tags":{},"startTime":1691879437626},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"optimize-chunk-modules","id":9481,"timestamp":11954881603,"duration":32,"tags":{},"startTime":1691879437628},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"optimize","id":9477,"timestamp":11954878510,"duration":6819,"tags":{},"startTime":1691879437625},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"module-hash","id":9482,"timestamp":11954912260,"duration":39069,"tags":{},"startTime":1691879437659},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"code-generation","id":9483,"timestamp":11954951502,"duration":39492,"tags":{},"startTime":1691879437698},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"hash","id":9484,"timestamp":11955002741,"duration":14522,"tags":{},"startTime":1691879437749},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"code-generation-jobs","id":9485,"timestamp":11955017262,"duration":186,"tags":{},"startTime":1691879437764},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"module-assets","id":9486,"timestamp":11955017414,"duration":354,"tags":{},"startTime":1691879437764},{"traceId":"f3118a7bad57c10e","parentId":9475,"name":"create-chunk-assets","id":9487,"timestamp":11955017778,"duration":23529,"tags":{},"startTime":1691879437764},{"traceId":"f3118a7bad57c10e","parentId":9461,"name":"NextJsBuildManifest-generateClientManifest","id":9489,"timestamp":11955051334,"duration":225,"tags":{},"startTime":1691879437798},{"traceId":"f3118a7bad57c10e","parentId":9461,"name":"NextJsBuildManifest-createassets","id":9488,"timestamp":11955051212,"duration":357,"tags":{},"startTime":1691879437798},{"traceId":"f3118a7bad57c10e","parentId":9461,"name":"seal","id":9475,"timestamp":11954851616,"duration":203302,"tags":{},"startTime":1691879437598},{"traceId":"f3118a7bad57c10e","parentId":9459,"name":"webpack-compilation","id":9461,"timestamp":11954219773,"duration":835196,"tags":{"name":"client"},"startTime":1691879436966},{"traceId":"f3118a7bad57c10e","parentId":9459,"name":"emit","id":9490,"timestamp":11955054998,"duration":65941,"tags":{},"startTime":1691879437801},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9459,"timestamp":11954211527,"duration":910753,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879436958},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9493,"timestamp":11955138711,"duration":0,"tags":{},"startTime":1691879437885},{"traceId":"f3118a7bad57c10e","parentId":9499,"name":"read-resource","id":9500,"timestamp":11955235455,"duration":94,"tags":{},"startTime":1691879437982},{"traceId":"f3118a7bad57c10e","parentId":9491,"name":"build-module-css","id":9499,"timestamp":11955234665,"duration":2660,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879437981},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9501,"timestamp":1691879436959000,"duration":1003000,"tags":{"clientId":1691878514722},"startTime":1691879437985},{"traceId":"f3118a7bad57c10e","parentId":9492,"name":"add-entry","id":9494,"timestamp":11955153521,"duration":86896,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879437900},{"traceId":"f3118a7bad57c10e","parentId":9492,"name":"add-entry","id":9495,"timestamp":11955153601,"duration":86828,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879437900},{"traceId":"f3118a7bad57c10e","parentId":9492,"name":"add-entry","id":9496,"timestamp":11955153616,"duration":86816,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879437900},{"traceId":"f3118a7bad57c10e","parentId":9492,"name":"add-entry","id":9497,"timestamp":11955153621,"duration":86813,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879437900},{"traceId":"f3118a7bad57c10e","parentId":9492,"name":"add-entry","id":9498,"timestamp":11955153634,"duration":86803,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879437900},{"traceId":"f3118a7bad57c10e","parentId":9491,"name":"make","id":9492,"timestamp":11955127526,"duration":112948,"tags":{},"startTime":1691879437874},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"chunk-graph","id":9503,"timestamp":11955241281,"duration":8625,"tags":{},"startTime":1691879437988},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"optimize-modules","id":9505,"timestamp":11955249957,"duration":10,"tags":{},"startTime":1691879437996},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"optimize-chunks","id":9506,"timestamp":11955249991,"duration":36,"tags":{},"startTime":1691879437996},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"optimize-tree","id":9507,"timestamp":11955250057,"duration":11,"tags":{},"startTime":1691879437997},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"optimize-chunk-modules","id":9508,"timestamp":11955250087,"duration":5,"tags":{},"startTime":1691879437997},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"optimize","id":9504,"timestamp":11955249942,"duration":250,"tags":{},"startTime":1691879437996},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"module-hash","id":9509,"timestamp":11955250574,"duration":47843,"tags":{},"startTime":1691879437997},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"code-generation","id":9510,"timestamp":11955298448,"duration":257,"tags":{},"startTime":1691879438045},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"hash","id":9511,"timestamp":11955302419,"duration":14703,"tags":{},"startTime":1691879438049},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"code-generation-jobs","id":9512,"timestamp":11955317119,"duration":1101,"tags":{},"startTime":1691879438064},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"module-assets","id":9513,"timestamp":11955318198,"duration":54,"tags":{},"startTime":1691879438065},{"traceId":"f3118a7bad57c10e","parentId":9502,"name":"create-chunk-assets","id":9514,"timestamp":11955318268,"duration":337,"tags":{},"startTime":1691879438065},{"traceId":"f3118a7bad57c10e","parentId":9491,"name":"seal","id":9502,"timestamp":11955241115,"duration":77971,"tags":{},"startTime":1691879437988},{"traceId":"f3118a7bad57c10e","parentId":9460,"name":"webpack-compilation","id":9491,"timestamp":11955125498,"duration":193627,"tags":{"name":"server"},"startTime":1691879437872},{"traceId":"f3118a7bad57c10e","parentId":9460,"name":"emit","id":9515,"timestamp":11955319150,"duration":3432,"tags":{},"startTime":1691879438066},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9460,"timestamp":11954212159,"duration":1114122,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879436959}] -[{"traceId":"f3118a7bad57c10e","parentId":9525,"name":"read-resource","id":9526,"timestamp":11980798959,"duration":2595,"tags":{},"startTime":1691879463546},{"traceId":"f3118a7bad57c10e","parentId":9518,"name":"build-module-css","id":9525,"timestamp":11980798686,"duration":3576,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879463545},{"traceId":"f3118a7bad57c10e","parentId":9519,"name":"add-entry","id":9520,"timestamp":11980773409,"duration":33064,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879463520},{"traceId":"f3118a7bad57c10e","parentId":9519,"name":"add-entry","id":9521,"timestamp":11980773610,"duration":32874,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879463520},{"traceId":"f3118a7bad57c10e","parentId":9519,"name":"add-entry","id":9522,"timestamp":11980773627,"duration":32860,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879463520},{"traceId":"f3118a7bad57c10e","parentId":9519,"name":"add-entry","id":9524,"timestamp":11980773644,"duration":32846,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879463520},{"traceId":"f3118a7bad57c10e","parentId":9519,"name":"add-entry","id":9523,"timestamp":11980773638,"duration":32865,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879463520},{"traceId":"f3118a7bad57c10e","parentId":9518,"name":"make","id":9519,"timestamp":11980771130,"duration":35406,"tags":{},"startTime":1691879463518},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"chunk-graph","id":9528,"timestamp":11980807697,"duration":762,"tags":{},"startTime":1691879463554},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"optimize-modules","id":9530,"timestamp":11980808500,"duration":8,"tags":{},"startTime":1691879463555},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"optimize-chunks","id":9531,"timestamp":11980808529,"duration":38,"tags":{},"startTime":1691879463555},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"optimize-tree","id":9532,"timestamp":11980808594,"duration":11,"tags":{},"startTime":1691879463555},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"optimize-chunk-modules","id":9533,"timestamp":11980808624,"duration":8,"tags":{},"startTime":1691879463555},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"optimize","id":9529,"timestamp":11980808484,"duration":256,"tags":{},"startTime":1691879463555},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"module-hash","id":9534,"timestamp":11980809526,"duration":1528,"tags":{},"startTime":1691879463556},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"code-generation","id":9535,"timestamp":11980811102,"duration":565,"tags":{},"startTime":1691879463558},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"hash","id":9536,"timestamp":11980817999,"duration":1893,"tags":{},"startTime":1691879463565},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"code-generation-jobs","id":9537,"timestamp":11980819891,"duration":143,"tags":{},"startTime":1691879463567},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"module-assets","id":9538,"timestamp":11980820018,"duration":48,"tags":{},"startTime":1691879463567},{"traceId":"f3118a7bad57c10e","parentId":9527,"name":"create-chunk-assets","id":9539,"timestamp":11980820075,"duration":357,"tags":{},"startTime":1691879463567},{"traceId":"f3118a7bad57c10e","parentId":9518,"name":"seal","id":9527,"timestamp":11980807307,"duration":13480,"tags":{},"startTime":1691879463554},{"traceId":"f3118a7bad57c10e","parentId":9516,"name":"webpack-compilation","id":9518,"timestamp":11980770708,"duration":50125,"tags":{"name":"server"},"startTime":1691879463517},{"traceId":"f3118a7bad57c10e","parentId":9516,"name":"emit","id":9540,"timestamp":11980820860,"duration":4244,"tags":{},"startTime":1691879463568},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9516,"timestamp":11980763130,"duration":63036,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879463510},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9543,"timestamp":11980832888,"duration":21098,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9550,"name":"read-resource","id":9551,"timestamp":11980857977,"duration":190,"tags":{},"startTime":1691879463605},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9547,"timestamp":11980832968,"duration":149247,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9549,"timestamp":11980832979,"duration":149249,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9546,"timestamp":11980832964,"duration":149989,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9552,"name":"postcss-process","id":9553,"timestamp":11980858260,"duration":206641,"tags":{},"startTime":1691879463605},{"traceId":"f3118a7bad57c10e","parentId":9550,"name":"postcss-loader","id":9552,"timestamp":11980858223,"duration":207668,"tags":{},"startTime":1691879463605},{"traceId":"f3118a7bad57c10e","parentId":9550,"name":"css-loader","id":9554,"timestamp":11981065927,"duration":28961,"tags":{"astUsed":"true"},"startTime":1691879463813},{"traceId":"f3118a7bad57c10e","parentId":9541,"name":"build-module-css","id":9550,"timestamp":11980857423,"duration":246979,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879463604},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9544,"timestamp":11980832950,"duration":339262,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9548,"timestamp":11980832975,"duration":431087,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9542,"name":"add-entry","id":9545,"timestamp":11980832959,"duration":522704,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879463580},{"traceId":"f3118a7bad57c10e","parentId":9541,"name":"make","id":9542,"timestamp":11980830611,"duration":525083,"tags":{},"startTime":1691879463577},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"chunk-graph","id":9556,"timestamp":11981365903,"duration":11930,"tags":{},"startTime":1691879464113},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"optimize-modules","id":9558,"timestamp":11981377885,"duration":9,"tags":{},"startTime":1691879464125},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"optimize-chunks","id":9559,"timestamp":11981378410,"duration":254,"tags":{},"startTime":1691879464125},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"optimize-tree","id":9560,"timestamp":11981378699,"duration":9,"tags":{},"startTime":1691879464125},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"optimize-chunk-modules","id":9561,"timestamp":11981378739,"duration":8,"tags":{},"startTime":1691879464125},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"optimize","id":9557,"timestamp":11981377865,"duration":2653,"tags":{},"startTime":1691879464125},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"module-hash","id":9562,"timestamp":11981419919,"duration":1930,"tags":{},"startTime":1691879464167},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"code-generation","id":9563,"timestamp":11981421877,"duration":15307,"tags":{},"startTime":1691879464169},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"hash","id":9564,"timestamp":11981442786,"duration":12092,"tags":{},"startTime":1691879464189},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"code-generation-jobs","id":9565,"timestamp":11981454876,"duration":221,"tags":{},"startTime":1691879464202},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"module-assets","id":9566,"timestamp":11981455065,"duration":342,"tags":{},"startTime":1691879464202},{"traceId":"f3118a7bad57c10e","parentId":9555,"name":"create-chunk-assets","id":9567,"timestamp":11981455416,"duration":16526,"tags":{},"startTime":1691879464202},{"traceId":"f3118a7bad57c10e","parentId":9541,"name":"NextJsBuildManifest-generateClientManifest","id":9569,"timestamp":11981476412,"duration":188,"tags":{},"startTime":1691879464223},{"traceId":"f3118a7bad57c10e","parentId":9541,"name":"NextJsBuildManifest-createassets","id":9568,"timestamp":11981476283,"duration":329,"tags":{},"startTime":1691879464223},{"traceId":"f3118a7bad57c10e","parentId":9541,"name":"seal","id":9555,"timestamp":11981357835,"duration":126428,"tags":{},"startTime":1691879464105},{"traceId":"f3118a7bad57c10e","parentId":9517,"name":"webpack-compilation","id":9541,"timestamp":11980830246,"duration":654064,"tags":{"name":"client"},"startTime":1691879463577},{"traceId":"f3118a7bad57c10e","parentId":9517,"name":"emit","id":9570,"timestamp":11981484344,"duration":27669,"tags":{},"startTime":1691879464231},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9517,"timestamp":11980763672,"duration":808878,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879463510}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9571,"timestamp":11981597746,"duration":0,"tags":{},"startTime":1691879464344},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9572,"timestamp":1691879463513000,"duration":869000,"tags":{"clientId":1691878514722},"startTime":1691879464383},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9577,"timestamp":11992891720,"duration":29677,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9581,"timestamp":11992891806,"duration":32220,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9582,"timestamp":11992891814,"duration":32222,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9584,"name":"read-resource","id":9585,"timestamp":11992923463,"duration":2459,"tags":{},"startTime":1691879475670},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9580,"timestamp":11992891799,"duration":195253,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9586,"name":"postcss-process","id":9587,"timestamp":11992926018,"duration":231060,"tags":{},"startTime":1691879475673},{"traceId":"f3118a7bad57c10e","parentId":9584,"name":"postcss-loader","id":9586,"timestamp":11992925986,"duration":231495,"tags":{},"startTime":1691879475673},{"traceId":"f3118a7bad57c10e","parentId":9584,"name":"css-loader","id":9588,"timestamp":11993157516,"duration":36657,"tags":{"astUsed":"true"},"startTime":1691879475904},{"traceId":"f3118a7bad57c10e","parentId":9575,"name":"build-module-css","id":9584,"timestamp":11992923074,"duration":285036,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879475670},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9578,"timestamp":11992891784,"duration":317282,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9583,"timestamp":11992891818,"duration":345429,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9576,"name":"add-entry","id":9579,"timestamp":11992891794,"duration":443293,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879475639},{"traceId":"f3118a7bad57c10e","parentId":9575,"name":"make","id":9576,"timestamp":11992878574,"duration":456607,"tags":{},"startTime":1691879475625},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"chunk-graph","id":9590,"timestamp":11993343107,"duration":11363,"tags":{},"startTime":1691879476090},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"optimize-modules","id":9592,"timestamp":11993354510,"duration":6,"tags":{},"startTime":1691879476101},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"optimize-chunks","id":9593,"timestamp":11993354532,"duration":5198,"tags":{},"startTime":1691879476101},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"optimize-tree","id":9594,"timestamp":11993359776,"duration":12,"tags":{},"startTime":1691879476107},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"optimize-chunk-modules","id":9595,"timestamp":11993359819,"duration":7,"tags":{},"startTime":1691879476107},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"optimize","id":9591,"timestamp":11993354496,"duration":7057,"tags":{},"startTime":1691879476101},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"module-hash","id":9596,"timestamp":11993608966,"duration":33888,"tags":{},"startTime":1691879476356},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"code-generation","id":9597,"timestamp":11993642887,"duration":97675,"tags":{},"startTime":1691879476390},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"hash","id":9598,"timestamp":11993760551,"duration":99527,"tags":{},"startTime":1691879476507},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"code-generation-jobs","id":9599,"timestamp":11993860075,"duration":486,"tags":{},"startTime":1691879476607},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"module-assets","id":9600,"timestamp":11993860527,"duration":4882,"tags":{},"startTime":1691879476607},{"traceId":"f3118a7bad57c10e","parentId":9589,"name":"create-chunk-assets","id":9601,"timestamp":11993865447,"duration":93545,"tags":{},"startTime":1691879476612},{"traceId":"f3118a7bad57c10e","parentId":9575,"name":"NextJsBuildManifest-generateClientManifest","id":9603,"timestamp":11994267580,"duration":99,"tags":{},"startTime":1691879477014},{"traceId":"f3118a7bad57c10e","parentId":9575,"name":"NextJsBuildManifest-createassets","id":9602,"timestamp":11994267477,"duration":209,"tags":{},"startTime":1691879477014},{"traceId":"f3118a7bad57c10e","parentId":9575,"name":"seal","id":9589,"timestamp":11993338925,"duration":941216,"tags":{},"startTime":1691879476086},{"traceId":"f3118a7bad57c10e","parentId":9573,"name":"webpack-compilation","id":9575,"timestamp":11992878134,"duration":1402056,"tags":{"name":"client"},"startTime":1691879475625},{"traceId":"f3118a7bad57c10e","parentId":9573,"name":"emit","id":9604,"timestamp":11994280226,"duration":284399,"tags":{},"startTime":1691879477027},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9573,"timestamp":11992867463,"duration":1720465,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879475614},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9607,"timestamp":11994642329,"duration":0,"tags":{},"startTime":1691879477389},{"traceId":"f3118a7bad57c10e","parentId":9613,"name":"read-resource","id":9614,"timestamp":11994717230,"duration":74,"tags":{},"startTime":1691879477464},{"traceId":"f3118a7bad57c10e","parentId":9605,"name":"build-module-css","id":9613,"timestamp":11994716906,"duration":835,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879477464},{"traceId":"f3118a7bad57c10e","parentId":9606,"name":"add-entry","id":9608,"timestamp":11994660268,"duration":60418,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879477407},{"traceId":"f3118a7bad57c10e","parentId":9606,"name":"add-entry","id":9609,"timestamp":11994660561,"duration":60135,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879477407},{"traceId":"f3118a7bad57c10e","parentId":9606,"name":"add-entry","id":9610,"timestamp":11994660599,"duration":60100,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879477407},{"traceId":"f3118a7bad57c10e","parentId":9606,"name":"add-entry","id":9611,"timestamp":11994660611,"duration":60090,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879477407},{"traceId":"f3118a7bad57c10e","parentId":9606,"name":"add-entry","id":9612,"timestamp":11994660620,"duration":60083,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879477407},{"traceId":"f3118a7bad57c10e","parentId":9605,"name":"make","id":9606,"timestamp":11994592122,"duration":128609,"tags":{},"startTime":1691879477339},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"chunk-graph","id":9616,"timestamp":11994760961,"duration":712,"tags":{},"startTime":1691879477508},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"optimize-modules","id":9618,"timestamp":11994761715,"duration":11,"tags":{},"startTime":1691879477509},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"optimize-chunks","id":9619,"timestamp":11994761749,"duration":106,"tags":{},"startTime":1691879477509},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"optimize-tree","id":9620,"timestamp":11994761888,"duration":9,"tags":{},"startTime":1691879477509},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"optimize-chunk-modules","id":9621,"timestamp":11994761922,"duration":7,"tags":{},"startTime":1691879477509},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"optimize","id":9617,"timestamp":11994761700,"duration":693,"tags":{},"startTime":1691879477509},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"module-hash","id":9622,"timestamp":11994763248,"duration":323,"tags":{},"startTime":1691879477510},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"code-generation","id":9623,"timestamp":11994763592,"duration":316,"tags":{},"startTime":1691879477510},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"hash","id":9624,"timestamp":11994765102,"duration":2289,"tags":{},"startTime":1691879477512},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"code-generation-jobs","id":9625,"timestamp":11994767389,"duration":122,"tags":{},"startTime":1691879477514},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"module-assets","id":9626,"timestamp":11994767497,"duration":41,"tags":{},"startTime":1691879477514},{"traceId":"f3118a7bad57c10e","parentId":9615,"name":"create-chunk-assets","id":9627,"timestamp":11994767546,"duration":309,"tags":{},"startTime":1691879477514},{"traceId":"f3118a7bad57c10e","parentId":9605,"name":"seal","id":9615,"timestamp":11994721030,"duration":47156,"tags":{},"startTime":1691879477468},{"traceId":"f3118a7bad57c10e","parentId":9574,"name":"webpack-compilation","id":9605,"timestamp":11994591731,"duration":176490,"tags":{"name":"server"},"startTime":1691879477339},{"traceId":"f3118a7bad57c10e","parentId":9574,"name":"emit","id":9628,"timestamp":11994768249,"duration":33220,"tags":{},"startTime":1691879477515},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9574,"timestamp":11992867810,"duration":1935834,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879475615}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9629,"timestamp":1691879475616000,"duration":2014000,"tags":{"clientId":1691878514722},"startTime":1691879477630},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9634,"timestamp":12001216438,"duration":30806,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879483963},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9638,"timestamp":12001216610,"duration":34549,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879483964},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9640,"timestamp":12001216622,"duration":34550,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879483964},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9637,"timestamp":12001216606,"duration":35622,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879483963},{"traceId":"f3118a7bad57c10e","parentId":9641,"name":"read-resource","id":9642,"timestamp":12001250713,"duration":2145,"tags":{},"startTime":1691879483998},{"traceId":"f3118a7bad57c10e","parentId":9643,"name":"postcss-process","id":9644,"timestamp":12001253080,"duration":179035,"tags":{},"startTime":1691879484000},{"traceId":"f3118a7bad57c10e","parentId":9641,"name":"postcss-loader","id":9643,"timestamp":12001253049,"duration":182252,"tags":{},"startTime":1691879484000},{"traceId":"f3118a7bad57c10e","parentId":9641,"name":"css-loader","id":9645,"timestamp":12001435348,"duration":14697,"tags":{"astUsed":"true"},"startTime":1691879484182},{"traceId":"f3118a7bad57c10e","parentId":9632,"name":"build-module-css","id":9641,"timestamp":12001250103,"duration":203903,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879483997},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9635,"timestamp":12001216588,"duration":238727,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879483963},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9639,"timestamp":12001216617,"duration":245193,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879483964},{"traceId":"f3118a7bad57c10e","parentId":9633,"name":"add-entry","id":9636,"timestamp":12001216600,"duration":362785,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879483963},{"traceId":"f3118a7bad57c10e","parentId":9632,"name":"make","id":9633,"timestamp":12001203409,"duration":376160,"tags":{},"startTime":1691879483950},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"chunk-graph","id":9647,"timestamp":12001588192,"duration":12814,"tags":{},"startTime":1691879484335},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"optimize-modules","id":9649,"timestamp":12001601045,"duration":8,"tags":{},"startTime":1691879484348},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"optimize-chunks","id":9650,"timestamp":12001601071,"duration":195,"tags":{},"startTime":1691879484348},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"optimize-tree","id":9651,"timestamp":12001601295,"duration":9,"tags":{},"startTime":1691879484348},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"optimize-chunk-modules","id":9652,"timestamp":12001601333,"duration":7,"tags":{},"startTime":1691879484348},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"optimize","id":9648,"timestamp":12001601031,"duration":2278,"tags":{},"startTime":1691879484348},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"module-hash","id":9653,"timestamp":12001620982,"duration":2251,"tags":{},"startTime":1691879484368},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"code-generation","id":9654,"timestamp":12001623270,"duration":27946,"tags":{},"startTime":1691879484370},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"hash","id":9655,"timestamp":12001665728,"duration":13183,"tags":{},"startTime":1691879484413},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"code-generation-jobs","id":9656,"timestamp":12001678909,"duration":269,"tags":{},"startTime":1691879484426},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"module-assets","id":9657,"timestamp":12001679139,"duration":417,"tags":{},"startTime":1691879484426},{"traceId":"f3118a7bad57c10e","parentId":9646,"name":"create-chunk-assets","id":9658,"timestamp":12001679570,"duration":183525,"tags":{},"startTime":1691879484426},{"traceId":"f3118a7bad57c10e","parentId":9632,"name":"NextJsBuildManifest-generateClientManifest","id":9660,"timestamp":12001877887,"duration":552,"tags":{},"startTime":1691879484625},{"traceId":"f3118a7bad57c10e","parentId":9632,"name":"NextJsBuildManifest-createassets","id":9659,"timestamp":12001877502,"duration":950,"tags":{},"startTime":1691879484624},{"traceId":"f3118a7bad57c10e","parentId":9632,"name":"seal","id":9646,"timestamp":12001583220,"duration":311969,"tags":{},"startTime":1691879484330},{"traceId":"f3118a7bad57c10e","parentId":9630,"name":"webpack-compilation","id":9632,"timestamp":12001203029,"duration":692218,"tags":{"name":"client"},"startTime":1691879483950},{"traceId":"f3118a7bad57c10e","parentId":9630,"name":"emit","id":9661,"timestamp":12001895282,"duration":263724,"tags":{},"startTime":1691879484642},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9630,"timestamp":12001194336,"duration":981042,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879483941},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9664,"timestamp":12002223491,"duration":0,"tags":{},"startTime":1691879484970},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9670,"timestamp":1691879483943000,"duration":1205000,"tags":{"clientId":1691878514722},"startTime":1691879485175},{"traceId":"f3118a7bad57c10e","parentId":9671,"name":"read-resource","id":9672,"timestamp":12002448263,"duration":9753,"tags":{},"startTime":1691879485195},{"traceId":"f3118a7bad57c10e","parentId":9662,"name":"build-module-css","id":9671,"timestamp":12002446158,"duration":12338,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879485193},{"traceId":"f3118a7bad57c10e","parentId":9663,"name":"add-entry","id":9665,"timestamp":12002231575,"duration":231218,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879484978},{"traceId":"f3118a7bad57c10e","parentId":9663,"name":"add-entry","id":9666,"timestamp":12002231797,"duration":231015,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879484979},{"traceId":"f3118a7bad57c10e","parentId":9663,"name":"add-entry","id":9667,"timestamp":12002231854,"duration":230962,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879484979},{"traceId":"f3118a7bad57c10e","parentId":9663,"name":"add-entry","id":9668,"timestamp":12002231930,"duration":230888,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879484979},{"traceId":"f3118a7bad57c10e","parentId":9663,"name":"add-entry","id":9669,"timestamp":12002231958,"duration":230863,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879484979},{"traceId":"f3118a7bad57c10e","parentId":9662,"name":"make","id":9663,"timestamp":12002178134,"duration":284906,"tags":{},"startTime":1691879484925},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"chunk-graph","id":9674,"timestamp":12002464859,"duration":7959,"tags":{},"startTime":1691879485212},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"optimize-modules","id":9676,"timestamp":12002472860,"duration":6,"tags":{},"startTime":1691879485220},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"optimize-chunks","id":9677,"timestamp":12002472885,"duration":43,"tags":{},"startTime":1691879485220},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"optimize-tree","id":9678,"timestamp":12002472963,"duration":7,"tags":{},"startTime":1691879485220},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"optimize-chunk-modules","id":9679,"timestamp":12002480303,"duration":1900,"tags":{},"startTime":1691879485227},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"optimize","id":9675,"timestamp":12002472847,"duration":9625,"tags":{},"startTime":1691879485220},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"module-hash","id":9680,"timestamp":12002490434,"duration":188,"tags":{},"startTime":1691879485237},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"code-generation","id":9681,"timestamp":12002490638,"duration":207,"tags":{},"startTime":1691879485238},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"hash","id":9682,"timestamp":12002498753,"duration":1149,"tags":{},"startTime":1691879485246},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"code-generation-jobs","id":9683,"timestamp":12002499900,"duration":91,"tags":{},"startTime":1691879485247},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"module-assets","id":9684,"timestamp":12002499981,"duration":33,"tags":{},"startTime":1691879485247},{"traceId":"f3118a7bad57c10e","parentId":9673,"name":"create-chunk-assets","id":9685,"timestamp":12002500020,"duration":163,"tags":{},"startTime":1691879485247},{"traceId":"f3118a7bad57c10e","parentId":9662,"name":"seal","id":9673,"timestamp":12002464744,"duration":40716,"tags":{},"startTime":1691879485212},{"traceId":"f3118a7bad57c10e","parentId":9631,"name":"webpack-compilation","id":9662,"timestamp":12002177725,"duration":327776,"tags":{"name":"server"},"startTime":1691879484925},{"traceId":"f3118a7bad57c10e","parentId":9631,"name":"emit","id":9686,"timestamp":12002505529,"duration":16603,"tags":{},"startTime":1691879485252},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9631,"timestamp":12001194864,"duration":1329193,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879483942}] -[{"traceId":"f3118a7bad57c10e","parentId":9696,"name":"read-resource","id":9697,"timestamp":12013500023,"duration":4442,"tags":{},"startTime":1691879496247},{"traceId":"f3118a7bad57c10e","parentId":9688,"name":"build-module-css","id":9696,"timestamp":12013499749,"duration":5437,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879496247},{"traceId":"f3118a7bad57c10e","parentId":9689,"name":"add-entry","id":9691,"timestamp":12013442073,"duration":68392,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879496189},{"traceId":"f3118a7bad57c10e","parentId":9689,"name":"add-entry","id":9692,"timestamp":12013442198,"duration":68332,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879496189},{"traceId":"f3118a7bad57c10e","parentId":9689,"name":"add-entry","id":9693,"timestamp":12013442209,"duration":68329,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879496189},{"traceId":"f3118a7bad57c10e","parentId":9689,"name":"add-entry","id":9694,"timestamp":12013442218,"duration":68323,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879496189},{"traceId":"f3118a7bad57c10e","parentId":9689,"name":"add-entry","id":9695,"timestamp":12013442226,"duration":68318,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879496189},{"traceId":"f3118a7bad57c10e","parentId":9688,"name":"make","id":9689,"timestamp":12013435618,"duration":74998,"tags":{},"startTime":1691879496183},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"chunk-graph","id":9699,"timestamp":12013515482,"duration":2740,"tags":{},"startTime":1691879496262},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"optimize-modules","id":9701,"timestamp":12013518421,"duration":20,"tags":{},"startTime":1691879496265},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"optimize-chunks","id":9702,"timestamp":12013518512,"duration":153,"tags":{},"startTime":1691879496266},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"optimize-tree","id":9703,"timestamp":12013518702,"duration":14,"tags":{},"startTime":1691879496266},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"optimize-chunk-modules","id":9704,"timestamp":12013518736,"duration":78,"tags":{},"startTime":1691879496266},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"optimize","id":9700,"timestamp":12013518363,"duration":711,"tags":{},"startTime":1691879496265},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"module-hash","id":9705,"timestamp":12013519469,"duration":243,"tags":{},"startTime":1691879496266},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"code-generation","id":9706,"timestamp":12013519733,"duration":410,"tags":{},"startTime":1691879496267},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"hash","id":9707,"timestamp":12013523503,"duration":4876,"tags":{},"startTime":1691879496271},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"code-generation-jobs","id":9708,"timestamp":12013528348,"duration":227,"tags":{},"startTime":1691879496275},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"module-assets","id":9709,"timestamp":12013528557,"duration":57,"tags":{},"startTime":1691879496276},{"traceId":"f3118a7bad57c10e","parentId":9698,"name":"create-chunk-assets","id":9710,"timestamp":12013528621,"duration":272,"tags":{},"startTime":1691879496276},{"traceId":"f3118a7bad57c10e","parentId":9688,"name":"seal","id":9698,"timestamp":12013511698,"duration":17546,"tags":{},"startTime":1691879496259},{"traceId":"f3118a7bad57c10e","parentId":9687,"name":"webpack-compilation","id":9688,"timestamp":12013435195,"duration":94093,"tags":{"name":"server"},"startTime":1691879496182},{"traceId":"f3118a7bad57c10e","parentId":9687,"name":"emit","id":9711,"timestamp":12013529315,"duration":4556,"tags":{},"startTime":1691879496276},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9687,"timestamp":12013428325,"duration":106349,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879496175},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9714,"timestamp":12013540863,"duration":11773,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9721,"name":"read-resource","id":9722,"timestamp":12013557221,"duration":70,"tags":{},"startTime":1691879496304},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9718,"timestamp":12013540959,"duration":188923,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9720,"timestamp":12013540970,"duration":188926,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9717,"timestamp":12013540954,"duration":190105,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9723,"name":"postcss-process","id":9724,"timestamp":12013557356,"duration":268273,"tags":{},"startTime":1691879496304},{"traceId":"f3118a7bad57c10e","parentId":9721,"name":"postcss-loader","id":9723,"timestamp":12013557329,"duration":269710,"tags":{},"startTime":1691879496304},{"traceId":"f3118a7bad57c10e","parentId":9721,"name":"css-loader","id":9725,"timestamp":12013827079,"duration":43857,"tags":{"astUsed":"true"},"startTime":1691879496574},{"traceId":"f3118a7bad57c10e","parentId":9712,"name":"build-module-css","id":9721,"timestamp":12013556854,"duration":371421,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879496304},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9715,"timestamp":12013540927,"duration":624029,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9719,"timestamp":12013540965,"duration":657794,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9713,"name":"add-entry","id":9716,"timestamp":12013540948,"duration":783013,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879496288},{"traceId":"f3118a7bad57c10e","parentId":9712,"name":"make","id":9713,"timestamp":12013538970,"duration":785026,"tags":{},"startTime":1691879496286},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"chunk-graph","id":9727,"timestamp":12014330281,"duration":19949,"tags":{},"startTime":1691879497077},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"optimize-modules","id":9729,"timestamp":12014350936,"duration":12,"tags":{},"startTime":1691879497098},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"optimize-chunks","id":9730,"timestamp":12014350971,"duration":254,"tags":{},"startTime":1691879497098},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"optimize-tree","id":9731,"timestamp":12014351256,"duration":9,"tags":{},"startTime":1691879497098},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"optimize-chunk-modules","id":9732,"timestamp":12014351302,"duration":7,"tags":{},"startTime":1691879497098},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"optimize","id":9728,"timestamp":12014350914,"duration":2471,"tags":{},"startTime":1691879497098},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"module-hash","id":9733,"timestamp":12014374251,"duration":2368,"tags":{},"startTime":1691879497121},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"code-generation","id":9734,"timestamp":12014376656,"duration":17438,"tags":{},"startTime":1691879497124},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"hash","id":9735,"timestamp":12014402984,"duration":12869,"tags":{},"startTime":1691879497150},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"code-generation-jobs","id":9736,"timestamp":12014415852,"duration":295,"tags":{},"startTime":1691879497163},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"module-assets","id":9737,"timestamp":12014416112,"duration":357,"tags":{},"startTime":1691879497163},{"traceId":"f3118a7bad57c10e","parentId":9726,"name":"create-chunk-assets","id":9738,"timestamp":12014416479,"duration":21682,"tags":{},"startTime":1691879497163},{"traceId":"f3118a7bad57c10e","parentId":9712,"name":"NextJsBuildManifest-generateClientManifest","id":9740,"timestamp":12014444217,"duration":811,"tags":{},"startTime":1691879497191},{"traceId":"f3118a7bad57c10e","parentId":9712,"name":"NextJsBuildManifest-createassets","id":9739,"timestamp":12014444062,"duration":980,"tags":{},"startTime":1691879497191},{"traceId":"f3118a7bad57c10e","parentId":9712,"name":"seal","id":9726,"timestamp":12014325834,"duration":124922,"tags":{},"startTime":1691879497073},{"traceId":"f3118a7bad57c10e","parentId":9690,"name":"webpack-compilation","id":9712,"timestamp":12013538629,"duration":912182,"tags":{"name":"client"},"startTime":1691879496286},{"traceId":"f3118a7bad57c10e","parentId":9690,"name":"emit","id":9741,"timestamp":12014450848,"duration":48175,"tags":{},"startTime":1691879497198},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9690,"timestamp":12013435915,"duration":1074415,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879496183}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9742,"timestamp":12014523825,"duration":0,"tags":{},"startTime":1691879497271},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9743,"timestamp":1691879496184000,"duration":1150000,"tags":{"clientId":1691878514722},"startTime":1691879497336},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9748,"timestamp":12016752662,"duration":25722,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9752,"timestamp":12016752769,"duration":28373,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9754,"timestamp":12016752786,"duration":28365,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9751,"timestamp":12016752760,"duration":29288,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9755,"name":"read-resource","id":9756,"timestamp":12016780826,"duration":1647,"tags":{},"startTime":1691879499528},{"traceId":"f3118a7bad57c10e","parentId":9757,"name":"postcss-process","id":9758,"timestamp":12016782550,"duration":1083370,"tags":{},"startTime":1691879499530},{"traceId":"f3118a7bad57c10e","parentId":9755,"name":"postcss-loader","id":9757,"timestamp":12016782523,"duration":1084409,"tags":{},"startTime":1691879499530},{"traceId":"f3118a7bad57c10e","parentId":9755,"name":"css-loader","id":9759,"timestamp":12017873981,"duration":133733,"tags":{"astUsed":"true"},"startTime":1691879500621},{"traceId":"f3118a7bad57c10e","parentId":9746,"name":"build-module-css","id":9755,"timestamp":12016780491,"duration":1252183,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879499528},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9749,"timestamp":12016752741,"duration":1286086,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9753,"timestamp":12016752779,"duration":1304165,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9747,"name":"add-entry","id":9750,"timestamp":12016752755,"duration":1457904,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879499500},{"traceId":"f3118a7bad57c10e","parentId":9746,"name":"make","id":9747,"timestamp":12016744926,"duration":1465768,"tags":{},"startTime":1691879499492},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"chunk-graph","id":9761,"timestamp":12018217458,"duration":15165,"tags":{},"startTime":1691879500965},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"optimize-modules","id":9763,"timestamp":12018232659,"duration":6,"tags":{},"startTime":1691879500980},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"optimize-chunks","id":9764,"timestamp":12018232681,"duration":175,"tags":{},"startTime":1691879500980},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"optimize-tree","id":9765,"timestamp":12018232885,"duration":8,"tags":{},"startTime":1691879500980},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"optimize-chunk-modules","id":9766,"timestamp":12018232920,"duration":6,"tags":{},"startTime":1691879500980},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"optimize","id":9762,"timestamp":12018232646,"duration":4159,"tags":{},"startTime":1691879500980},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"module-hash","id":9767,"timestamp":12018255940,"duration":3056,"tags":{},"startTime":1691879501003},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"code-generation","id":9768,"timestamp":12018259032,"duration":8897,"tags":{},"startTime":1691879501006},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"hash","id":9769,"timestamp":12018277266,"duration":17425,"tags":{},"startTime":1691879501024},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"code-generation-jobs","id":9770,"timestamp":12018294690,"duration":215,"tags":{},"startTime":1691879501042},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"module-assets","id":9771,"timestamp":12018294878,"duration":430,"tags":{},"startTime":1691879501042},{"traceId":"f3118a7bad57c10e","parentId":9760,"name":"create-chunk-assets","id":9772,"timestamp":12018295325,"duration":22606,"tags":{},"startTime":1691879501042},{"traceId":"f3118a7bad57c10e","parentId":9746,"name":"NextJsBuildManifest-generateClientManifest","id":9774,"timestamp":12018327290,"duration":91,"tags":{},"startTime":1691879501074},{"traceId":"f3118a7bad57c10e","parentId":9746,"name":"NextJsBuildManifest-createassets","id":9773,"timestamp":12018327192,"duration":196,"tags":{},"startTime":1691879501074},{"traceId":"f3118a7bad57c10e","parentId":9746,"name":"seal","id":9760,"timestamp":12018212894,"duration":119901,"tags":{},"startTime":1691879500960},{"traceId":"f3118a7bad57c10e","parentId":9744,"name":"webpack-compilation","id":9746,"timestamp":12016744423,"duration":1588430,"tags":{"name":"client"},"startTime":1691879499491},{"traceId":"f3118a7bad57c10e","parentId":9744,"name":"emit","id":9775,"timestamp":12018332889,"duration":68543,"tags":{},"startTime":1691879501080},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9744,"timestamp":12016736385,"duration":1669428,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879499483},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9778,"timestamp":12018423512,"duration":0,"tags":{},"startTime":1691879501171},{"traceId":"f3118a7bad57c10e","parentId":9784,"name":"read-resource","id":9785,"timestamp":12018698614,"duration":831,"tags":{},"startTime":1691879501446},{"traceId":"f3118a7bad57c10e","parentId":9776,"name":"build-module-css","id":9784,"timestamp":12018697952,"duration":1954,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879501445},{"traceId":"f3118a7bad57c10e","parentId":9777,"name":"add-entry","id":9779,"timestamp":12018555199,"duration":181541,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879501302},{"traceId":"f3118a7bad57c10e","parentId":9777,"name":"add-entry","id":9780,"timestamp":12018555265,"duration":181487,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879501302},{"traceId":"f3118a7bad57c10e","parentId":9777,"name":"add-entry","id":9781,"timestamp":12018555276,"duration":181479,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879501302},{"traceId":"f3118a7bad57c10e","parentId":9777,"name":"add-entry","id":9782,"timestamp":12018555281,"duration":181475,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879501302},{"traceId":"f3118a7bad57c10e","parentId":9777,"name":"add-entry","id":9783,"timestamp":12018555288,"duration":181471,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879501302},{"traceId":"f3118a7bad57c10e","parentId":9776,"name":"make","id":9777,"timestamp":12018407323,"duration":329468,"tags":{},"startTime":1691879501154},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"chunk-graph","id":9787,"timestamp":12018741217,"duration":866,"tags":{},"startTime":1691879501488},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"optimize-modules","id":9789,"timestamp":12018742120,"duration":7,"tags":{},"startTime":1691879501489},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"optimize-chunks","id":9790,"timestamp":12018742145,"duration":32,"tags":{},"startTime":1691879501489},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"optimize-tree","id":9791,"timestamp":12018742205,"duration":8,"tags":{},"startTime":1691879501489},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"optimize-chunk-modules","id":9792,"timestamp":12018742231,"duration":6,"tags":{},"startTime":1691879501489},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"optimize","id":9788,"timestamp":12018742107,"duration":219,"tags":{},"startTime":1691879501489},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"module-hash","id":9793,"timestamp":12018742595,"duration":8884,"tags":{},"startTime":1691879501490},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"code-generation","id":9794,"timestamp":12018751508,"duration":281,"tags":{},"startTime":1691879501499},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"hash","id":9795,"timestamp":12018761825,"duration":1996,"tags":{},"startTime":1691879501509},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"code-generation-jobs","id":9796,"timestamp":12018763820,"duration":117,"tags":{},"startTime":1691879501511},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"module-assets","id":9797,"timestamp":12018763925,"duration":38,"tags":{},"startTime":1691879501511},{"traceId":"f3118a7bad57c10e","parentId":9786,"name":"create-chunk-assets","id":9798,"timestamp":12018763970,"duration":211,"tags":{},"startTime":1691879501511},{"traceId":"f3118a7bad57c10e","parentId":9776,"name":"seal","id":9786,"timestamp":12018741087,"duration":24343,"tags":{},"startTime":1691879501488},{"traceId":"f3118a7bad57c10e","parentId":9745,"name":"webpack-compilation","id":9776,"timestamp":12018406998,"duration":358469,"tags":{"name":"server"},"startTime":1691879501154},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9800,"timestamp":1691879499485000,"duration":2046000,"tags":{"clientId":1691878514722},"startTime":1691879501546},{"traceId":"f3118a7bad57c10e","parentId":9745,"name":"emit","id":9799,"timestamp":12018765497,"duration":48245,"tags":{},"startTime":1691879501513},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9745,"timestamp":12016736694,"duration":2078637,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879499484}] -[{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9805,"timestamp":12023138969,"duration":14274,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9809,"timestamp":12023139119,"duration":16107,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9811,"timestamp":12023139130,"duration":16107,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9808,"timestamp":12023139114,"duration":17168,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9812,"name":"read-resource","id":9813,"timestamp":12023154893,"duration":2584,"tags":{},"startTime":1691879505902},{"traceId":"f3118a7bad57c10e","parentId":9814,"name":"postcss-process","id":9815,"timestamp":12023157732,"duration":369763,"tags":{},"startTime":1691879505905},{"traceId":"f3118a7bad57c10e","parentId":9812,"name":"postcss-loader","id":9814,"timestamp":12023157534,"duration":370462,"tags":{},"startTime":1691879505905},{"traceId":"f3118a7bad57c10e","parentId":9812,"name":"css-loader","id":9816,"timestamp":12023528044,"duration":152109,"tags":{"astUsed":"true"},"startTime":1691879506275},{"traceId":"f3118a7bad57c10e","parentId":9803,"name":"build-module-css","id":9812,"timestamp":12023154459,"duration":539937,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879505902},{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9806,"timestamp":12023139097,"duration":555962,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9810,"timestamp":12023139125,"duration":609432,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9804,"name":"add-entry","id":9807,"timestamp":12023139109,"duration":795486,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879505886},{"traceId":"f3118a7bad57c10e","parentId":9803,"name":"make","id":9804,"timestamp":12023119022,"duration":815693,"tags":{},"startTime":1691879505866},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"chunk-graph","id":9818,"timestamp":12023959685,"duration":35221,"tags":{},"startTime":1691879506707},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"optimize-modules","id":9820,"timestamp":12023994944,"duration":8,"tags":{},"startTime":1691879506742},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"optimize-chunks","id":9821,"timestamp":12023994969,"duration":188,"tags":{},"startTime":1691879506742},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"optimize-tree","id":9822,"timestamp":12023995186,"duration":9,"tags":{},"startTime":1691879506742},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"optimize-chunk-modules","id":9823,"timestamp":12023995224,"duration":7,"tags":{},"startTime":1691879506742},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"optimize","id":9819,"timestamp":12023994929,"duration":25955,"tags":{},"startTime":1691879506742},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"module-hash","id":9824,"timestamp":12024040473,"duration":1969,"tags":{},"startTime":1691879506788},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"code-generation","id":9825,"timestamp":12024042475,"duration":134103,"tags":{},"startTime":1691879506790},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"hash","id":9826,"timestamp":12024199071,"duration":14827,"tags":{},"startTime":1691879506946},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"code-generation-jobs","id":9827,"timestamp":12024213894,"duration":414,"tags":{},"startTime":1691879506961},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"module-assets","id":9828,"timestamp":12024214164,"duration":1011,"tags":{},"startTime":1691879506961},{"traceId":"f3118a7bad57c10e","parentId":9817,"name":"create-chunk-assets","id":9829,"timestamp":12024215209,"duration":75629,"tags":{},"startTime":1691879506962},{"traceId":"f3118a7bad57c10e","parentId":9803,"name":"NextJsBuildManifest-generateClientManifest","id":9831,"timestamp":12024295844,"duration":192,"tags":{},"startTime":1691879507043},{"traceId":"f3118a7bad57c10e","parentId":9803,"name":"NextJsBuildManifest-createassets","id":9830,"timestamp":12024295570,"duration":475,"tags":{},"startTime":1691879507043},{"traceId":"f3118a7bad57c10e","parentId":9803,"name":"seal","id":9817,"timestamp":12023953766,"duration":356104,"tags":{},"startTime":1691879506701},{"traceId":"f3118a7bad57c10e","parentId":9801,"name":"webpack-compilation","id":9803,"timestamp":12023118668,"duration":1191897,"tags":{"name":"client"},"startTime":1691879505866},{"traceId":"f3118a7bad57c10e","parentId":9801,"name":"emit","id":9832,"timestamp":12024310605,"duration":71864,"tags":{},"startTime":1691879507058},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9801,"timestamp":12023110241,"duration":1273255,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879505857},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9835,"timestamp":12024564748,"duration":0,"tags":{},"startTime":1691879507312},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9841,"timestamp":1691879505858000,"duration":1566000,"tags":{"clientId":1691878514722},"startTime":1691879507460},{"traceId":"f3118a7bad57c10e","parentId":9842,"name":"read-resource","id":9843,"timestamp":12024726133,"duration":66,"tags":{},"startTime":1691879507473},{"traceId":"f3118a7bad57c10e","parentId":9833,"name":"build-module-css","id":9842,"timestamp":12024725896,"duration":611,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879507473},{"traceId":"f3118a7bad57c10e","parentId":9834,"name":"add-entry","id":9836,"timestamp":12024577860,"duration":158535,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879507325},{"traceId":"f3118a7bad57c10e","parentId":9834,"name":"add-entry","id":9837,"timestamp":12024577917,"duration":158489,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879507325},{"traceId":"f3118a7bad57c10e","parentId":9834,"name":"add-entry","id":9838,"timestamp":12024577926,"duration":158483,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879507325},{"traceId":"f3118a7bad57c10e","parentId":9834,"name":"add-entry","id":9839,"timestamp":12024577931,"duration":158481,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879507325},{"traceId":"f3118a7bad57c10e","parentId":9834,"name":"add-entry","id":9840,"timestamp":12024577936,"duration":158477,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879507325},{"traceId":"f3118a7bad57c10e","parentId":9833,"name":"make","id":9834,"timestamp":12024551742,"duration":184703,"tags":{},"startTime":1691879507299},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"chunk-graph","id":9845,"timestamp":12024736844,"duration":427,"tags":{},"startTime":1691879507484},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"optimize-modules","id":9847,"timestamp":12024737300,"duration":6,"tags":{},"startTime":1691879507484},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"optimize-chunks","id":9848,"timestamp":12024737321,"duration":27,"tags":{},"startTime":1691879507484},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"optimize-tree","id":9849,"timestamp":12024737374,"duration":6,"tags":{},"startTime":1691879507484},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"optimize-chunk-modules","id":9850,"timestamp":12024737397,"duration":5,"tags":{},"startTime":1691879507485},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"optimize","id":9846,"timestamp":12024737288,"duration":200,"tags":{},"startTime":1691879507484},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"module-hash","id":9851,"timestamp":12024737738,"duration":174,"tags":{},"startTime":1691879507485},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"code-generation","id":9852,"timestamp":12024737926,"duration":204,"tags":{},"startTime":1691879507485},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"hash","id":9853,"timestamp":12024738737,"duration":1363,"tags":{},"startTime":1691879507486},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"code-generation-jobs","id":9854,"timestamp":12024740099,"duration":91,"tags":{},"startTime":1691879507487},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"module-assets","id":9855,"timestamp":12024740180,"duration":34,"tags":{},"startTime":1691879507487},{"traceId":"f3118a7bad57c10e","parentId":9844,"name":"create-chunk-assets","id":9856,"timestamp":12024740220,"duration":431,"tags":{},"startTime":1691879507487},{"traceId":"f3118a7bad57c10e","parentId":9833,"name":"seal","id":9844,"timestamp":12024736742,"duration":4220,"tags":{},"startTime":1691879507484},{"traceId":"f3118a7bad57c10e","parentId":9802,"name":"webpack-compilation","id":9833,"timestamp":12024389858,"duration":351154,"tags":{"name":"server"},"startTime":1691879507137},{"traceId":"f3118a7bad57c10e","parentId":9802,"name":"emit","id":9857,"timestamp":12024741035,"duration":8882,"tags":{},"startTime":1691879507488},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9802,"timestamp":12023110794,"duration":1640001,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879505858}] -[{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9862,"timestamp":12092193131,"duration":48556,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9866,"timestamp":12092193367,"duration":54321,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9867,"timestamp":12092193374,"duration":54326,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9869,"name":"read-resource","id":9870,"timestamp":12092247335,"duration":2610,"tags":{},"startTime":1691879574995},{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9865,"timestamp":12092193358,"duration":176087,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9871,"name":"postcss-process","id":9872,"timestamp":12092250041,"duration":199015,"tags":{},"startTime":1691879574998},{"traceId":"f3118a7bad57c10e","parentId":9869,"name":"postcss-loader","id":9871,"timestamp":12092250005,"duration":199947,"tags":{},"startTime":1691879574998},{"traceId":"f3118a7bad57c10e","parentId":9869,"name":"css-loader","id":9873,"timestamp":12092449990,"duration":54741,"tags":{"astUsed":"true"},"startTime":1691879575198},{"traceId":"f3118a7bad57c10e","parentId":9860,"name":"build-module-css","id":9869,"timestamp":12092246888,"duration":274678,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879574995},{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9863,"timestamp":12092193333,"duration":330754,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9868,"timestamp":12092193382,"duration":422412,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9861,"name":"add-entry","id":9864,"timestamp":12092193353,"duration":546865,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879574941},{"traceId":"f3118a7bad57c10e","parentId":9860,"name":"make","id":9861,"timestamp":12092189872,"duration":550377,"tags":{},"startTime":1691879574938},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"chunk-graph","id":9875,"timestamp":12092745470,"duration":9405,"tags":{},"startTime":1691879575493},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"optimize-modules","id":9877,"timestamp":12092755005,"duration":40,"tags":{},"startTime":1691879575503},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"optimize-chunks","id":9878,"timestamp":12092755131,"duration":251,"tags":{},"startTime":1691879575503},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"optimize-tree","id":9879,"timestamp":12092755460,"duration":47,"tags":{},"startTime":1691879575503},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"optimize-chunk-modules","id":9880,"timestamp":12092755591,"duration":42,"tags":{},"startTime":1691879575503},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"optimize","id":9876,"timestamp":12092754946,"duration":2513,"tags":{},"startTime":1691879575503},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"module-hash","id":9881,"timestamp":12092777870,"duration":2064,"tags":{},"startTime":1691879575526},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"code-generation","id":9882,"timestamp":12092785653,"duration":19773,"tags":{},"startTime":1691879575533},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"hash","id":9883,"timestamp":12092814230,"duration":14597,"tags":{},"startTime":1691879575562},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"code-generation-jobs","id":9884,"timestamp":12092828825,"duration":690,"tags":{},"startTime":1691879575577},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"module-assets","id":9885,"timestamp":12092829452,"duration":409,"tags":{},"startTime":1691879575577},{"traceId":"f3118a7bad57c10e","parentId":9874,"name":"create-chunk-assets","id":9886,"timestamp":12092829874,"duration":12864,"tags":{},"startTime":1691879575578},{"traceId":"f3118a7bad57c10e","parentId":9860,"name":"NextJsBuildManifest-generateClientManifest","id":9888,"timestamp":12092847631,"duration":171,"tags":{},"startTime":1691879575595},{"traceId":"f3118a7bad57c10e","parentId":9860,"name":"NextJsBuildManifest-createassets","id":9887,"timestamp":12092847478,"duration":401,"tags":{},"startTime":1691879575595},{"traceId":"f3118a7bad57c10e","parentId":9860,"name":"seal","id":9874,"timestamp":12092741892,"duration":110934,"tags":{},"startTime":1691879575490},{"traceId":"f3118a7bad57c10e","parentId":9858,"name":"webpack-compilation","id":9860,"timestamp":12092189400,"duration":663479,"tags":{"name":"client"},"startTime":1691879574937},{"traceId":"f3118a7bad57c10e","parentId":9858,"name":"emit","id":9889,"timestamp":12092852914,"duration":65877,"tags":{},"startTime":1691879575601},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9858,"timestamp":12092180082,"duration":746208,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879574928},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9892,"timestamp":12092949424,"duration":0,"tags":{},"startTime":1691879575697},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9898,"timestamp":1691879574929000,"duration":814000,"tags":{"clientId":1691878514722},"startTime":1691879575760},{"traceId":"f3118a7bad57c10e","parentId":9899,"name":"read-resource","id":9900,"timestamp":12093021005,"duration":75,"tags":{},"startTime":1691879575769},{"traceId":"f3118a7bad57c10e","parentId":9890,"name":"build-module-css","id":9899,"timestamp":12093020592,"duration":961,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879575768},{"traceId":"f3118a7bad57c10e","parentId":9891,"name":"add-entry","id":9893,"timestamp":12092960529,"duration":64126,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879575708},{"traceId":"f3118a7bad57c10e","parentId":9891,"name":"add-entry","id":9894,"timestamp":12092960759,"duration":63917,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879575709},{"traceId":"f3118a7bad57c10e","parentId":9891,"name":"add-entry","id":9895,"timestamp":12092960774,"duration":63906,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879575709},{"traceId":"f3118a7bad57c10e","parentId":9891,"name":"add-entry","id":9896,"timestamp":12092960779,"duration":63903,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879575709},{"traceId":"f3118a7bad57c10e","parentId":9891,"name":"add-entry","id":9897,"timestamp":12092960783,"duration":63901,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879575709},{"traceId":"f3118a7bad57c10e","parentId":9890,"name":"make","id":9891,"timestamp":12092930023,"duration":94702,"tags":{},"startTime":1691879575678},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"chunk-graph","id":9902,"timestamp":12093026275,"duration":1093,"tags":{},"startTime":1691879575774},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"optimize-modules","id":9904,"timestamp":12093027411,"duration":6,"tags":{},"startTime":1691879575775},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"optimize-chunks","id":9905,"timestamp":12093027557,"duration":87,"tags":{},"startTime":1691879575775},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"optimize-tree","id":9906,"timestamp":12093027800,"duration":19,"tags":{},"startTime":1691879575776},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"optimize-chunk-modules","id":9907,"timestamp":12093027922,"duration":11,"tags":{},"startTime":1691879575776},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"optimize","id":9903,"timestamp":12093027397,"duration":740,"tags":{},"startTime":1691879575775},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"module-hash","id":9908,"timestamp":12093028486,"duration":184,"tags":{},"startTime":1691879575776},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"code-generation","id":9909,"timestamp":12093028685,"duration":831,"tags":{},"startTime":1691879575776},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"hash","id":9910,"timestamp":12093030619,"duration":10739,"tags":{},"startTime":1691879575778},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"code-generation-jobs","id":9911,"timestamp":12093041356,"duration":152,"tags":{},"startTime":1691879575789},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"module-assets","id":9912,"timestamp":12093041494,"duration":40,"tags":{},"startTime":1691879575789},{"traceId":"f3118a7bad57c10e","parentId":9901,"name":"create-chunk-assets","id":9913,"timestamp":12093041541,"duration":297,"tags":{},"startTime":1691879575789},{"traceId":"f3118a7bad57c10e","parentId":9890,"name":"seal","id":9901,"timestamp":12093026149,"duration":16267,"tags":{},"startTime":1691879575774},{"traceId":"f3118a7bad57c10e","parentId":9859,"name":"webpack-compilation","id":9890,"timestamp":12092927890,"duration":114564,"tags":{"name":"server"},"startTime":1691879575676},{"traceId":"f3118a7bad57c10e","parentId":9859,"name":"emit","id":9914,"timestamp":12093042481,"duration":4475,"tags":{},"startTime":1691879575790},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9859,"timestamp":12092180657,"duration":877845,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879574928}] -[{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9919,"timestamp":12208439729,"duration":27878,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9923,"timestamp":12208439978,"duration":33322,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9925,"timestamp":12208439994,"duration":33318,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9926,"name":"read-resource","id":9927,"timestamp":12208472503,"duration":4053,"tags":{},"startTime":1691879691221},{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9922,"timestamp":12208439971,"duration":204549,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9928,"name":"postcss-process","id":9929,"timestamp":12208476671,"duration":322918,"tags":{},"startTime":1691879691226},{"traceId":"f3118a7bad57c10e","parentId":9926,"name":"postcss-loader","id":9928,"timestamp":12208476627,"duration":326086,"tags":{},"startTime":1691879691226},{"traceId":"f3118a7bad57c10e","parentId":9926,"name":"css-loader","id":9930,"timestamp":12208802759,"duration":72803,"tags":{"astUsed":"true"},"startTime":1691879691552},{"traceId":"f3118a7bad57c10e","parentId":9917,"name":"build-module-css","id":9926,"timestamp":12208471937,"duration":428618,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879691221},{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9920,"timestamp":12208439946,"duration":495532,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9924,"timestamp":12208439985,"duration":563808,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9918,"name":"add-entry","id":9921,"timestamp":12208439965,"duration":751692,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879691189},{"traceId":"f3118a7bad57c10e","parentId":9917,"name":"make","id":9918,"timestamp":12208437284,"duration":754408,"tags":{},"startTime":1691879691186},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"chunk-graph","id":9932,"timestamp":12209202235,"duration":19015,"tags":{},"startTime":1691879691951},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"optimize-modules","id":9934,"timestamp":12209221842,"duration":161,"tags":{},"startTime":1691879691971},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"optimize-chunks","id":9935,"timestamp":12209222130,"duration":290,"tags":{},"startTime":1691879691971},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"optimize-tree","id":9936,"timestamp":12209222510,"duration":45,"tags":{},"startTime":1691879691971},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"optimize-chunk-modules","id":9937,"timestamp":12209222639,"duration":44,"tags":{},"startTime":1691879691972},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"optimize","id":9933,"timestamp":12209221412,"duration":3218,"tags":{},"startTime":1691879691970},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"module-hash","id":9938,"timestamp":12209248219,"duration":10314,"tags":{},"startTime":1691879691997},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"code-generation","id":9939,"timestamp":12209258625,"duration":10767,"tags":{},"startTime":1691879692008},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"hash","id":9940,"timestamp":12209279456,"duration":18764,"tags":{},"startTime":1691879692028},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"code-generation-jobs","id":9941,"timestamp":12209298213,"duration":294,"tags":{},"startTime":1691879692047},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"module-assets","id":9942,"timestamp":12209298471,"duration":371,"tags":{},"startTime":1691879692047},{"traceId":"f3118a7bad57c10e","parentId":9931,"name":"create-chunk-assets","id":9943,"timestamp":12209298854,"duration":172743,"tags":{},"startTime":1691879692048},{"traceId":"f3118a7bad57c10e","parentId":9917,"name":"NextJsBuildManifest-generateClientManifest","id":9945,"timestamp":12209480623,"duration":179,"tags":{},"startTime":1691879692230},{"traceId":"f3118a7bad57c10e","parentId":9917,"name":"NextJsBuildManifest-createassets","id":9944,"timestamp":12209480427,"duration":388,"tags":{},"startTime":1691879692229},{"traceId":"f3118a7bad57c10e","parentId":9917,"name":"seal","id":9931,"timestamp":12209196602,"duration":291828,"tags":{},"startTime":1691879691945},{"traceId":"f3118a7bad57c10e","parentId":9915,"name":"webpack-compilation","id":9917,"timestamp":12208436842,"duration":1051652,"tags":{"name":"client"},"startTime":1691879691186},{"traceId":"f3118a7bad57c10e","parentId":9915,"name":"emit","id":9946,"timestamp":12209488534,"duration":131236,"tags":{},"startTime":1691879692237},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9915,"timestamp":12208427763,"duration":1195775,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879691177},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":9949,"timestamp":12209655970,"duration":0,"tags":{},"startTime":1691879692405},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":9955,"timestamp":1691879691179000,"duration":1287000,"tags":{"clientId":1691878514722},"startTime":1691879692489},{"traceId":"f3118a7bad57c10e","parentId":9956,"name":"read-resource","id":9957,"timestamp":12209752534,"duration":113,"tags":{},"startTime":1691879692501},{"traceId":"f3118a7bad57c10e","parentId":9947,"name":"build-module-css","id":9956,"timestamp":12209751983,"duration":2090,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879692501},{"traceId":"f3118a7bad57c10e","parentId":9948,"name":"add-entry","id":9950,"timestamp":12209662853,"duration":98145,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879692412},{"traceId":"f3118a7bad57c10e","parentId":9948,"name":"add-entry","id":9951,"timestamp":12209662942,"duration":98103,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879692412},{"traceId":"f3118a7bad57c10e","parentId":9948,"name":"add-entry","id":9952,"timestamp":12209662952,"duration":98100,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879692412},{"traceId":"f3118a7bad57c10e","parentId":9948,"name":"add-entry","id":9953,"timestamp":12209662956,"duration":98102,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879692412},{"traceId":"f3118a7bad57c10e","parentId":9948,"name":"add-entry","id":9954,"timestamp":12209662962,"duration":98103,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879692412},{"traceId":"f3118a7bad57c10e","parentId":9947,"name":"make","id":9948,"timestamp":12209633310,"duration":127893,"tags":{},"startTime":1691879692382},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"chunk-graph","id":9959,"timestamp":12209762519,"duration":708,"tags":{},"startTime":1691879692511},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"optimize-modules","id":9961,"timestamp":12209763271,"duration":9,"tags":{},"startTime":1691879692512},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"optimize-chunks","id":9962,"timestamp":12209763629,"duration":300,"tags":{},"startTime":1691879692513},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"optimize-tree","id":9963,"timestamp":12209764245,"duration":25,"tags":{},"startTime":1691879692513},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"optimize-chunk-modules","id":9964,"timestamp":12209764463,"duration":16,"tags":{},"startTime":1691879692513},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"optimize","id":9960,"timestamp":12209763252,"duration":1532,"tags":{},"startTime":1691879692512},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"module-hash","id":9965,"timestamp":12209766809,"duration":254,"tags":{},"startTime":1691879692516},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"code-generation","id":9966,"timestamp":12209767080,"duration":257,"tags":{},"startTime":1691879692516},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"hash","id":9967,"timestamp":12209769090,"duration":10655,"tags":{},"startTime":1691879692518},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"code-generation-jobs","id":9968,"timestamp":12209779743,"duration":225,"tags":{},"startTime":1691879692529},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"module-assets","id":9969,"timestamp":12209779952,"duration":48,"tags":{},"startTime":1691879692529},{"traceId":"f3118a7bad57c10e","parentId":9958,"name":"create-chunk-assets","id":9970,"timestamp":12209780008,"duration":449,"tags":{},"startTime":1691879692529},{"traceId":"f3118a7bad57c10e","parentId":9947,"name":"seal","id":9958,"timestamp":12209762381,"duration":26319,"tags":{},"startTime":1691879692511},{"traceId":"f3118a7bad57c10e","parentId":9916,"name":"webpack-compilation","id":9947,"timestamp":12209632904,"duration":155877,"tags":{"name":"server"},"startTime":1691879692382},{"traceId":"f3118a7bad57c10e","parentId":9916,"name":"emit","id":9971,"timestamp":12209788821,"duration":17417,"tags":{},"startTime":1691879692538},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9916,"timestamp":12208428672,"duration":1384676,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879691178}] -[{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9976,"timestamp":12215698795,"duration":31708,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9980,"timestamp":12215698912,"duration":34256,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9981,"timestamp":12215698918,"duration":34259,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9983,"name":"read-resource","id":9984,"timestamp":12215732778,"duration":2583,"tags":{},"startTime":1691879698482},{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9979,"timestamp":12215698904,"duration":172481,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9985,"name":"postcss-process","id":9986,"timestamp":12215735448,"duration":229265,"tags":{},"startTime":1691879698484},{"traceId":"f3118a7bad57c10e","parentId":9983,"name":"postcss-loader","id":9985,"timestamp":12215735420,"duration":229730,"tags":{},"startTime":1691879698484},{"traceId":"f3118a7bad57c10e","parentId":9983,"name":"css-loader","id":9987,"timestamp":12215965188,"duration":239889,"tags":{"astUsed":"true"},"startTime":1691879698714},{"traceId":"f3118a7bad57c10e","parentId":9974,"name":"build-module-css","id":9983,"timestamp":12215732358,"duration":505445,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879698481},{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9977,"timestamp":12215698883,"duration":539659,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9982,"timestamp":12215698930,"duration":611982,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9975,"name":"add-entry","id":9978,"timestamp":12215698899,"duration":1016757,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879698448},{"traceId":"f3118a7bad57c10e","parentId":9974,"name":"make","id":9975,"timestamp":12215691593,"duration":1024108,"tags":{},"startTime":1691879698441},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"chunk-graph","id":9989,"timestamp":12216724404,"duration":19361,"tags":{},"startTime":1691879699473},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"optimize-modules","id":9991,"timestamp":12216743811,"duration":6,"tags":{},"startTime":1691879699493},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"optimize-chunks","id":9992,"timestamp":12216743834,"duration":740,"tags":{},"startTime":1691879699493},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"optimize-tree","id":9993,"timestamp":12216744616,"duration":13,"tags":{},"startTime":1691879699494},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"optimize-chunk-modules","id":9994,"timestamp":12216744662,"duration":8,"tags":{},"startTime":1691879699494},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"optimize","id":9990,"timestamp":12216743798,"duration":7893,"tags":{},"startTime":1691879699493},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"module-hash","id":9995,"timestamp":12216787630,"duration":2912,"tags":{},"startTime":1691879699537},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"code-generation","id":9996,"timestamp":12216790574,"duration":14339,"tags":{},"startTime":1691879699540},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"hash","id":9997,"timestamp":12216821230,"duration":18364,"tags":{},"startTime":1691879699570},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"code-generation-jobs","id":9998,"timestamp":12216839592,"duration":178,"tags":{},"startTime":1691879699589},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"module-assets","id":9999,"timestamp":12216839747,"duration":419,"tags":{},"startTime":1691879699589},{"traceId":"f3118a7bad57c10e","parentId":9988,"name":"create-chunk-assets","id":10000,"timestamp":12216840180,"duration":35342,"tags":{},"startTime":1691879699589},{"traceId":"f3118a7bad57c10e","parentId":9974,"name":"NextJsBuildManifest-generateClientManifest","id":10002,"timestamp":12216880554,"duration":90,"tags":{},"startTime":1691879699630},{"traceId":"f3118a7bad57c10e","parentId":9974,"name":"NextJsBuildManifest-createassets","id":10001,"timestamp":12216880456,"duration":195,"tags":{},"startTime":1691879699629},{"traceId":"f3118a7bad57c10e","parentId":9974,"name":"seal","id":9988,"timestamp":12216719422,"duration":165533,"tags":{},"startTime":1691879699468},{"traceId":"f3118a7bad57c10e","parentId":9972,"name":"webpack-compilation","id":9974,"timestamp":12215691118,"duration":1194945,"tags":{"name":"client"},"startTime":1691879698440},{"traceId":"f3118a7bad57c10e","parentId":9972,"name":"emit","id":10003,"timestamp":12216886135,"duration":72416,"tags":{},"startTime":1691879699635},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":9972,"timestamp":12215678633,"duration":1283255,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879698428},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10006,"timestamp":12216975108,"duration":0,"tags":{},"startTime":1691879699724},{"traceId":"f3118a7bad57c10e","parentId":10012,"name":"read-resource","id":10013,"timestamp":12217295116,"duration":189,"tags":{},"startTime":1691879700044},{"traceId":"f3118a7bad57c10e","parentId":10004,"name":"build-module-css","id":10012,"timestamp":12217294764,"duration":956,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879700044},{"traceId":"f3118a7bad57c10e","parentId":10005,"name":"add-entry","id":10007,"timestamp":12217092099,"duration":208895,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879699841},{"traceId":"f3118a7bad57c10e","parentId":10005,"name":"add-entry","id":10008,"timestamp":12217092170,"duration":208844,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879699841},{"traceId":"f3118a7bad57c10e","parentId":10005,"name":"add-entry","id":10009,"timestamp":12217092181,"duration":208836,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879699841},{"traceId":"f3118a7bad57c10e","parentId":10005,"name":"add-entry","id":10010,"timestamp":12217092186,"duration":208832,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879699841},{"traceId":"f3118a7bad57c10e","parentId":10005,"name":"add-entry","id":10011,"timestamp":12217092193,"duration":208828,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879699841},{"traceId":"f3118a7bad57c10e","parentId":10004,"name":"make","id":10005,"timestamp":12216968347,"duration":332716,"tags":{},"startTime":1691879699717},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"chunk-graph","id":10015,"timestamp":12217301565,"duration":1140,"tags":{},"startTime":1691879700051},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"optimize-modules","id":10017,"timestamp":12217302747,"duration":7,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"optimize-chunks","id":10018,"timestamp":12217302772,"duration":32,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"optimize-tree","id":10019,"timestamp":12217302831,"duration":10,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"optimize-chunk-modules","id":10020,"timestamp":12217302859,"duration":10,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"optimize","id":10016,"timestamp":12217302734,"duration":226,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"module-hash","id":10021,"timestamp":12217303224,"duration":257,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"code-generation","id":10022,"timestamp":12217303496,"duration":197,"tags":{},"startTime":1691879700052},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"hash","id":10023,"timestamp":12217304676,"duration":1989,"tags":{},"startTime":1691879700054},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"code-generation-jobs","id":10024,"timestamp":12217306664,"duration":115,"tags":{},"startTime":1691879700056},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"module-assets","id":10025,"timestamp":12217306766,"duration":40,"tags":{},"startTime":1691879700056},{"traceId":"f3118a7bad57c10e","parentId":10014,"name":"create-chunk-assets","id":10026,"timestamp":12217306812,"duration":199,"tags":{},"startTime":1691879700056},{"traceId":"f3118a7bad57c10e","parentId":10004,"name":"seal","id":10014,"timestamp":12217301451,"duration":6000,"tags":{},"startTime":1691879700050},{"traceId":"f3118a7bad57c10e","parentId":9973,"name":"webpack-compilation","id":10004,"timestamp":12216964847,"duration":342651,"tags":{"name":"server"},"startTime":1691879699714},{"traceId":"f3118a7bad57c10e","parentId":9973,"name":"emit","id":10027,"timestamp":12217307524,"duration":3649,"tags":{},"startTime":1691879700056},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":9973,"timestamp":12215679152,"duration":1633046,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879698428}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10028,"timestamp":1691879698429000,"duration":1654000,"tags":{"clientId":1691878514722},"startTime":1691879700083},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10033,"timestamp":12239848154,"duration":30601,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879722597},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10037,"timestamp":12239848697,"duration":36751,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879722598},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10038,"timestamp":12239848712,"duration":36750,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879722598},{"traceId":"f3118a7bad57c10e","parentId":10040,"name":"read-resource","id":10041,"timestamp":12239882957,"duration":8754,"tags":{},"startTime":1691879722632},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10036,"timestamp":12239848692,"duration":159083,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879722598},{"traceId":"f3118a7bad57c10e","parentId":10042,"name":"postcss-process","id":10043,"timestamp":12239891792,"duration":250811,"tags":{},"startTime":1691879722641},{"traceId":"f3118a7bad57c10e","parentId":10040,"name":"postcss-loader","id":10042,"timestamp":12239891761,"duration":251658,"tags":{},"startTime":1691879722641},{"traceId":"f3118a7bad57c10e","parentId":10040,"name":"css-loader","id":10044,"timestamp":12240143456,"duration":28419,"tags":{"astUsed":"true"},"startTime":1691879722893},{"traceId":"f3118a7bad57c10e","parentId":10031,"name":"build-module-css","id":10040,"timestamp":12239882599,"duration":304455,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879722632},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10034,"timestamp":12239848654,"duration":340875,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879722598},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10039,"timestamp":12239848718,"duration":611050,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879722598},{"traceId":"f3118a7bad57c10e","parentId":10032,"name":"add-entry","id":10035,"timestamp":12239848681,"duration":1231776,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879722598},{"traceId":"f3118a7bad57c10e","parentId":10031,"name":"make","id":10032,"timestamp":12239827919,"duration":1252576,"tags":{},"startTime":1691879722577},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"chunk-graph","id":10046,"timestamp":12241088964,"duration":72169,"tags":{},"startTime":1691879723838},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"optimize-modules","id":10048,"timestamp":12241161186,"duration":12,"tags":{},"startTime":1691879723910},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"optimize-chunks","id":10049,"timestamp":12241163635,"duration":293,"tags":{},"startTime":1691879723913},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"optimize-tree","id":10050,"timestamp":12241163965,"duration":14,"tags":{},"startTime":1691879723913},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"optimize-chunk-modules","id":10051,"timestamp":12241164060,"duration":10,"tags":{},"startTime":1691879723913},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"optimize","id":10047,"timestamp":12241161169,"duration":20557,"tags":{},"startTime":1691879723910},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"module-hash","id":10052,"timestamp":12241215236,"duration":13112,"tags":{},"startTime":1691879723964},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"code-generation","id":10053,"timestamp":12241228387,"duration":72161,"tags":{},"startTime":1691879723978},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"hash","id":10054,"timestamp":12241565015,"duration":22360,"tags":{},"startTime":1691879724314},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"code-generation-jobs","id":10055,"timestamp":12241587372,"duration":296,"tags":{},"startTime":1691879724337},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"module-assets","id":10056,"timestamp":12241587602,"duration":694,"tags":{},"startTime":1691879724337},{"traceId":"f3118a7bad57c10e","parentId":10045,"name":"create-chunk-assets","id":10057,"timestamp":12241588326,"duration":92756,"tags":{},"startTime":1691879724338},{"traceId":"f3118a7bad57c10e","parentId":10031,"name":"NextJsBuildManifest-generateClientManifest","id":10059,"timestamp":12241747815,"duration":190,"tags":{},"startTime":1691879724497},{"traceId":"f3118a7bad57c10e","parentId":10031,"name":"NextJsBuildManifest-createassets","id":10058,"timestamp":12241747659,"duration":357,"tags":{},"startTime":1691879724497},{"traceId":"f3118a7bad57c10e","parentId":10031,"name":"seal","id":10045,"timestamp":12241082731,"duration":682611,"tags":{},"startTime":1691879723832},{"traceId":"f3118a7bad57c10e","parentId":10029,"name":"webpack-compilation","id":10031,"timestamp":12239826733,"duration":1938673,"tags":{"name":"client"},"startTime":1691879722576},{"traceId":"f3118a7bad57c10e","parentId":10029,"name":"emit","id":10060,"timestamp":12241765445,"duration":125835,"tags":{},"startTime":1691879724515},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10029,"timestamp":12239816939,"duration":2078748,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879722566},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10063,"timestamp":12241941648,"duration":0,"tags":{},"startTime":1691879724691},{"traceId":"f3118a7bad57c10e","parentId":10069,"name":"read-resource","id":10070,"timestamp":12242022442,"duration":67,"tags":{},"startTime":1691879724772},{"traceId":"f3118a7bad57c10e","parentId":10061,"name":"build-module-css","id":10069,"timestamp":12242022187,"duration":818,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879724771},{"traceId":"f3118a7bad57c10e","parentId":10062,"name":"add-entry","id":10064,"timestamp":12241957145,"duration":76451,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879724706},{"traceId":"f3118a7bad57c10e","parentId":10062,"name":"add-entry","id":10065,"timestamp":12241957224,"duration":76382,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879724706},{"traceId":"f3118a7bad57c10e","parentId":10062,"name":"add-entry","id":10066,"timestamp":12241957235,"duration":76374,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879724706},{"traceId":"f3118a7bad57c10e","parentId":10062,"name":"add-entry","id":10067,"timestamp":12241957239,"duration":76372,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879724706},{"traceId":"f3118a7bad57c10e","parentId":10062,"name":"add-entry","id":10068,"timestamp":12241957244,"duration":76369,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879724706},{"traceId":"f3118a7bad57c10e","parentId":10061,"name":"make","id":10062,"timestamp":12241901172,"duration":132482,"tags":{},"startTime":1691879724650},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"chunk-graph","id":10072,"timestamp":12242034146,"duration":2791,"tags":{},"startTime":1691879724783},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"optimize-modules","id":10074,"timestamp":12242036984,"duration":6,"tags":{},"startTime":1691879724786},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"optimize-chunks","id":10075,"timestamp":12242037006,"duration":384,"tags":{},"startTime":1691879724786},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"optimize-tree","id":10076,"timestamp":12242037435,"duration":161,"tags":{},"startTime":1691879724787},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"optimize-chunk-modules","id":10077,"timestamp":12242037625,"duration":8,"tags":{},"startTime":1691879724787},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"optimize","id":10073,"timestamp":12242036960,"duration":886,"tags":{},"startTime":1691879724786},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"module-hash","id":10078,"timestamp":12242038123,"duration":172,"tags":{},"startTime":1691879724787},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"code-generation","id":10079,"timestamp":12242038309,"duration":27181,"tags":{},"startTime":1691879724788},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"hash","id":10080,"timestamp":12242066218,"duration":11570,"tags":{},"startTime":1691879724815},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"code-generation-jobs","id":10081,"timestamp":12242077787,"duration":16594,"tags":{},"startTime":1691879724827},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"module-assets","id":10082,"timestamp":12242094363,"duration":60,"tags":{},"startTime":1691879724844},{"traceId":"f3118a7bad57c10e","parentId":10071,"name":"create-chunk-assets","id":10083,"timestamp":12242094433,"duration":5340,"tags":{},"startTime":1691879724844},{"traceId":"f3118a7bad57c10e","parentId":10061,"name":"seal","id":10071,"timestamp":12242033966,"duration":66116,"tags":{},"startTime":1691879724783},{"traceId":"f3118a7bad57c10e","parentId":10030,"name":"webpack-compilation","id":10061,"timestamp":12241900743,"duration":199374,"tags":{"name":"server"},"startTime":1691879724650},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10085,"timestamp":1691879722567000,"duration":2300000,"tags":{"clientId":1691878514722},"startTime":1691879724874},{"traceId":"f3118a7bad57c10e","parentId":10030,"name":"emit","id":10084,"timestamp":12242100143,"duration":25914,"tags":{},"startTime":1691879724849},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10030,"timestamp":12239817744,"duration":2314633,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879722567}] -[{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10090,"timestamp":12272502046,"duration":37403,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10094,"timestamp":12272502202,"duration":40839,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10095,"timestamp":12272502211,"duration":40841,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10097,"name":"read-resource","id":10098,"timestamp":12272542672,"duration":872,"tags":{},"startTime":1691879755292},{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10093,"timestamp":12272502197,"duration":166830,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10099,"name":"postcss-process","id":10100,"timestamp":12272543648,"duration":240302,"tags":{},"startTime":1691879755293},{"traceId":"f3118a7bad57c10e","parentId":10097,"name":"postcss-loader","id":10099,"timestamp":12272543605,"duration":241806,"tags":{},"startTime":1691879755293},{"traceId":"f3118a7bad57c10e","parentId":10097,"name":"css-loader","id":10101,"timestamp":12272785463,"duration":25516,"tags":{"astUsed":"true"},"startTime":1691879755535},{"traceId":"f3118a7bad57c10e","parentId":10088,"name":"build-module-css","id":10097,"timestamp":12272542210,"duration":279197,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879755292},{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10091,"timestamp":12272502177,"duration":320240,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10096,"timestamp":12272502215,"duration":473942,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10089,"name":"add-entry","id":10092,"timestamp":12272502188,"duration":1507475,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879755252},{"traceId":"f3118a7bad57c10e","parentId":10088,"name":"make","id":10089,"timestamp":12272485840,"duration":1523861,"tags":{},"startTime":1691879755235},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"chunk-graph","id":10103,"timestamp":12274034291,"duration":83733,"tags":{},"startTime":1691879756784},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"optimize-modules","id":10105,"timestamp":12274118872,"duration":83,"tags":{},"startTime":1691879756868},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"optimize-chunks","id":10106,"timestamp":12274127569,"duration":369,"tags":{},"startTime":1691879756877},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"optimize-tree","id":10107,"timestamp":12274128042,"duration":55,"tags":{},"startTime":1691879756878},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"optimize-chunk-modules","id":10108,"timestamp":12274128192,"duration":51,"tags":{},"startTime":1691879756878},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"optimize","id":10104,"timestamp":12274118260,"duration":14612,"tags":{},"startTime":1691879756868},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"module-hash","id":10109,"timestamp":12274196112,"duration":3856,"tags":{},"startTime":1691879756946},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"code-generation","id":10110,"timestamp":12274200003,"duration":32192,"tags":{},"startTime":1691879756950},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"hash","id":10111,"timestamp":12274259960,"duration":61780,"tags":{},"startTime":1691879757009},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"code-generation-jobs","id":10112,"timestamp":12274321736,"duration":367,"tags":{},"startTime":1691879757071},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"module-assets","id":10113,"timestamp":12274322046,"duration":421,"tags":{},"startTime":1691879757072},{"traceId":"f3118a7bad57c10e","parentId":10102,"name":"create-chunk-assets","id":10114,"timestamp":12274322489,"duration":46147,"tags":{},"startTime":1691879757072},{"traceId":"f3118a7bad57c10e","parentId":10088,"name":"NextJsBuildManifest-generateClientManifest","id":10116,"timestamp":12274380105,"duration":185,"tags":{},"startTime":1691879757130},{"traceId":"f3118a7bad57c10e","parentId":10088,"name":"NextJsBuildManifest-createassets","id":10115,"timestamp":12274379932,"duration":366,"tags":{},"startTime":1691879757129},{"traceId":"f3118a7bad57c10e","parentId":10088,"name":"seal","id":10102,"timestamp":12274013953,"duration":371197,"tags":{},"startTime":1691879756763},{"traceId":"f3118a7bad57c10e","parentId":10086,"name":"webpack-compilation","id":10088,"timestamp":12272485315,"duration":1899899,"tags":{"name":"client"},"startTime":1691879755235},{"traceId":"f3118a7bad57c10e","parentId":10086,"name":"emit","id":10117,"timestamp":12274385255,"duration":130214,"tags":{},"startTime":1691879757135},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10086,"timestamp":12272474664,"duration":2049197,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879755224},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10120,"timestamp":12274578187,"duration":0,"tags":{},"startTime":1691879757328},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10126,"timestamp":1691879755225000,"duration":2204000,"tags":{"clientId":1691878514722},"startTime":1691879757445},{"traceId":"f3118a7bad57c10e","parentId":10127,"name":"read-resource","id":10128,"timestamp":12274703627,"duration":68,"tags":{},"startTime":1691879757453},{"traceId":"f3118a7bad57c10e","parentId":10118,"name":"build-module-css","id":10127,"timestamp":12274703263,"duration":960,"tags":{"name":"/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879757453},{"traceId":"f3118a7bad57c10e","parentId":10119,"name":"add-entry","id":10121,"timestamp":12274583577,"duration":127617,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879757333},{"traceId":"f3118a7bad57c10e","parentId":10119,"name":"add-entry","id":10122,"timestamp":12274583667,"duration":127542,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879757333},{"traceId":"f3118a7bad57c10e","parentId":10119,"name":"add-entry","id":10123,"timestamp":12274583682,"duration":127529,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879757333},{"traceId":"f3118a7bad57c10e","parentId":10119,"name":"add-entry","id":10124,"timestamp":12274583687,"duration":127526,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879757333},{"traceId":"f3118a7bad57c10e","parentId":10119,"name":"add-entry","id":10125,"timestamp":12274583696,"duration":127519,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879757333},{"traceId":"f3118a7bad57c10e","parentId":10118,"name":"make","id":10119,"timestamp":12274525765,"duration":185486,"tags":{},"startTime":1691879757275},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"chunk-graph","id":10130,"timestamp":12274712845,"duration":462,"tags":{},"startTime":1691879757462},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"optimize-modules","id":10132,"timestamp":12274713345,"duration":7,"tags":{},"startTime":1691879757463},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"optimize-chunks","id":10133,"timestamp":12274713497,"duration":2081,"tags":{},"startTime":1691879757463},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"optimize-tree","id":10134,"timestamp":12274715685,"duration":15,"tags":{},"startTime":1691879757465},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"optimize-chunk-modules","id":10135,"timestamp":12274715777,"duration":9,"tags":{},"startTime":1691879757465},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"optimize","id":10131,"timestamp":12274713331,"duration":2649,"tags":{},"startTime":1691879757463},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"module-hash","id":10136,"timestamp":12274716323,"duration":190,"tags":{},"startTime":1691879757466},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"code-generation","id":10137,"timestamp":12274716529,"duration":283,"tags":{},"startTime":1691879757466},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"hash","id":10138,"timestamp":12274717773,"duration":10549,"tags":{},"startTime":1691879757467},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"code-generation-jobs","id":10139,"timestamp":12274728320,"duration":344,"tags":{},"startTime":1691879757478},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"module-assets","id":10140,"timestamp":12274728645,"duration":52,"tags":{},"startTime":1691879757478},{"traceId":"f3118a7bad57c10e","parentId":10129,"name":"create-chunk-assets","id":10141,"timestamp":12274728705,"duration":335,"tags":{},"startTime":1691879757478},{"traceId":"f3118a7bad57c10e","parentId":10118,"name":"seal","id":10129,"timestamp":12274712732,"duration":16995,"tags":{},"startTime":1691879757462},{"traceId":"f3118a7bad57c10e","parentId":10087,"name":"webpack-compilation","id":10118,"timestamp":12274525348,"duration":204494,"tags":{"name":"server"},"startTime":1691879757275},{"traceId":"f3118a7bad57c10e","parentId":10087,"name":"emit","id":10142,"timestamp":12274729893,"duration":15623,"tags":{},"startTime":1691879757479},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10087,"timestamp":12272475416,"duration":2274301,"tags":{"trigger":"/Users/muaadhm/frontend/styles/globals.css"},"startTime":1691879755225}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10143,"timestamp":12395852979,"duration":0,"tags":{},"startTime":1691879878604},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10148,"timestamp":12457006533,"duration":33992,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10152,"timestamp":12457006759,"duration":37516,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10153,"timestamp":12457006782,"duration":37506,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10151,"timestamp":12457006754,"duration":39530,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10156,"name":"next-swc-transform","id":10157,"timestamp":12457042074,"duration":5576,"tags":{},"startTime":1691879939793},{"traceId":"f3118a7bad57c10e","parentId":10155,"name":"next-swc-loader","id":10156,"timestamp":12457041739,"duration":5926,"tags":{},"startTime":1691879939793},{"traceId":"f3118a7bad57c10e","parentId":10146,"name":"build-module-tsx","id":10155,"timestamp":12457041357,"duration":27903,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879939793},{"traceId":"f3118a7bad57c10e","parentId":10158,"name":"read-resource","id":10159,"timestamp":12457043552,"duration":27057,"tags":{},"startTime":1691879939795},{"traceId":"f3118a7bad57c10e","parentId":10160,"name":"postcss-process","id":10161,"timestamp":12457070690,"duration":373168,"tags":{},"startTime":1691879939822},{"traceId":"f3118a7bad57c10e","parentId":10158,"name":"postcss-loader","id":10160,"timestamp":12457070658,"duration":455149,"tags":{},"startTime":1691879939822},{"traceId":"f3118a7bad57c10e","parentId":10158,"name":"css-loader","id":10162,"timestamp":12457525848,"duration":146438,"tags":{"astUsed":"true"},"startTime":1691879940277},{"traceId":"f3118a7bad57c10e","parentId":10146,"name":"build-module-css","id":10158,"timestamp":12457043189,"duration":693259,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879939794},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10149,"timestamp":12457006730,"duration":913538,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10154,"timestamp":12457006791,"duration":1118373,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10147,"name":"add-entry","id":10150,"timestamp":12457006748,"duration":1460535,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879939758},{"traceId":"f3118a7bad57c10e","parentId":10146,"name":"make","id":10147,"timestamp":12456968240,"duration":1499086,"tags":{},"startTime":1691879939719},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"chunk-graph","id":10164,"timestamp":12458480989,"duration":16893,"tags":{},"startTime":1691879941232},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"optimize-modules","id":10166,"timestamp":12458498525,"duration":72,"tags":{},"startTime":1691879941250},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"optimize-chunks","id":10167,"timestamp":12458498713,"duration":341,"tags":{},"startTime":1691879941250},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"optimize-tree","id":10168,"timestamp":12458499154,"duration":55,"tags":{},"startTime":1691879941250},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"optimize-chunk-modules","id":10169,"timestamp":12458499333,"duration":54,"tags":{},"startTime":1691879941251},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"optimize","id":10165,"timestamp":12458498431,"duration":3262,"tags":{},"startTime":1691879941250},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"module-hash","id":10170,"timestamp":12458532671,"duration":4383,"tags":{},"startTime":1691879941284},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"code-generation","id":10171,"timestamp":12458537102,"duration":28958,"tags":{},"startTime":1691879941288},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"hash","id":10172,"timestamp":12458575580,"duration":11713,"tags":{},"startTime":1691879941327},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"code-generation-jobs","id":10173,"timestamp":12458587291,"duration":234,"tags":{},"startTime":1691879941339},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"module-assets","id":10174,"timestamp":12458587498,"duration":356,"tags":{},"startTime":1691879941339},{"traceId":"f3118a7bad57c10e","parentId":10163,"name":"create-chunk-assets","id":10175,"timestamp":12458587864,"duration":2828,"tags":{},"startTime":1691879941339},{"traceId":"f3118a7bad57c10e","parentId":10146,"name":"NextJsBuildManifest-generateClientManifest","id":10177,"timestamp":12458595362,"duration":106,"tags":{},"startTime":1691879941347},{"traceId":"f3118a7bad57c10e","parentId":10146,"name":"NextJsBuildManifest-createassets","id":10176,"timestamp":12458595250,"duration":225,"tags":{},"startTime":1691879941347},{"traceId":"f3118a7bad57c10e","parentId":10146,"name":"seal","id":10163,"timestamp":12458471033,"duration":129011,"tags":{},"startTime":1691879941222},{"traceId":"f3118a7bad57c10e","parentId":10144,"name":"webpack-compilation","id":10146,"timestamp":12456967775,"duration":1632321,"tags":{"name":"client"},"startTime":1691879939719},{"traceId":"f3118a7bad57c10e","parentId":10144,"name":"emit","id":10178,"timestamp":12458600131,"duration":20557,"tags":{},"startTime":1691879941351},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10144,"timestamp":12456958215,"duration":1664372,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879939709},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10181,"timestamp":12458635265,"duration":0,"tags":{},"startTime":1691879941387},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10190,"timestamp":1691879939710000,"duration":1718000,"tags":{"clientId":1691878514722},"startTime":1691879941432},{"traceId":"f3118a7bad57c10e","parentId":10180,"name":"add-entry","id":10182,"timestamp":12458641375,"duration":41962,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879941393},{"traceId":"f3118a7bad57c10e","parentId":10180,"name":"add-entry","id":10183,"timestamp":12458641448,"duration":41901,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879941393},{"traceId":"f3118a7bad57c10e","parentId":10180,"name":"add-entry","id":10184,"timestamp":12458641458,"duration":41894,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879941393},{"traceId":"f3118a7bad57c10e","parentId":10180,"name":"add-entry","id":10186,"timestamp":12458641467,"duration":41888,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879941393},{"traceId":"f3118a7bad57c10e","parentId":10188,"name":"next-swc-transform","id":10189,"timestamp":12458680148,"duration":4600,"tags":{},"startTime":1691879941431},{"traceId":"f3118a7bad57c10e","parentId":10187,"name":"next-swc-loader","id":10188,"timestamp":12458679930,"duration":4824,"tags":{},"startTime":1691879941431},{"traceId":"f3118a7bad57c10e","parentId":10179,"name":"build-module-tsx","id":10187,"timestamp":12458679573,"duration":9289,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879941431},{"traceId":"f3118a7bad57c10e","parentId":10180,"name":"add-entry","id":10185,"timestamp":12458641462,"duration":146228,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879941393},{"traceId":"f3118a7bad57c10e","parentId":10179,"name":"make","id":10180,"timestamp":12458628391,"duration":159331,"tags":{},"startTime":1691879941380},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"chunk-graph","id":10192,"timestamp":12458788593,"duration":3077,"tags":{},"startTime":1691879941540},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"optimize-modules","id":10194,"timestamp":12458791719,"duration":9,"tags":{},"startTime":1691879941543},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"optimize-chunks","id":10195,"timestamp":12458791981,"duration":99,"tags":{},"startTime":1691879941543},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"optimize-tree","id":10196,"timestamp":12458792176,"duration":14,"tags":{},"startTime":1691879941543},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"optimize-chunk-modules","id":10197,"timestamp":12458792292,"duration":12,"tags":{},"startTime":1691879941544},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"optimize","id":10193,"timestamp":12458791699,"duration":819,"tags":{},"startTime":1691879941543},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"module-hash","id":10198,"timestamp":12458793087,"duration":403,"tags":{},"startTime":1691879941544},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"code-generation","id":10199,"timestamp":12458793512,"duration":5812,"tags":{},"startTime":1691879941545},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"hash","id":10200,"timestamp":12458807035,"duration":4401,"tags":{},"startTime":1691879941558},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"code-generation-jobs","id":10201,"timestamp":12458811434,"duration":343,"tags":{},"startTime":1691879941563},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"module-assets","id":10202,"timestamp":12458811758,"duration":2729,"tags":{},"startTime":1691879941563},{"traceId":"f3118a7bad57c10e","parentId":10191,"name":"create-chunk-assets","id":10203,"timestamp":12458814530,"duration":2438,"tags":{},"startTime":1691879941566},{"traceId":"f3118a7bad57c10e","parentId":10179,"name":"seal","id":10191,"timestamp":12458788320,"duration":29342,"tags":{},"startTime":1691879941540},{"traceId":"f3118a7bad57c10e","parentId":10145,"name":"webpack-compilation","id":10179,"timestamp":12458628068,"duration":189649,"tags":{"name":"server"},"startTime":1691879941379},{"traceId":"f3118a7bad57c10e","parentId":10145,"name":"emit","id":10204,"timestamp":12458817754,"duration":138044,"tags":{},"startTime":1691879941569},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10145,"timestamp":12456958582,"duration":2004672,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879939710}] -[{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10209,"timestamp":12480562944,"duration":41016,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691879963314},{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10213,"timestamp":12480563116,"duration":46789,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691879963315},{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10215,"timestamp":12480563131,"duration":46784,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691879963315},{"traceId":"f3118a7bad57c10e","parentId":10217,"name":"next-swc-transform","id":10218,"timestamp":12480605978,"duration":4938,"tags":{},"startTime":1691879963357},{"traceId":"f3118a7bad57c10e","parentId":10216,"name":"next-swc-loader","id":10217,"timestamp":12480605753,"duration":5170,"tags":{},"startTime":1691879963357},{"traceId":"f3118a7bad57c10e","parentId":10207,"name":"build-module-tsx","id":10216,"timestamp":12480605316,"duration":24186,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879963357},{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10212,"timestamp":12480563108,"duration":69599,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691879963315},{"traceId":"f3118a7bad57c10e","parentId":10219,"name":"read-resource","id":10220,"timestamp":12480609562,"duration":23206,"tags":{},"startTime":1691879963361},{"traceId":"f3118a7bad57c10e","parentId":10221,"name":"postcss-process","id":10222,"timestamp":12480632846,"duration":595567,"tags":{},"startTime":1691879963384},{"traceId":"f3118a7bad57c10e","parentId":10219,"name":"postcss-loader","id":10221,"timestamp":12480632811,"duration":605399,"tags":{},"startTime":1691879963384},{"traceId":"f3118a7bad57c10e","parentId":10219,"name":"css-loader","id":10223,"timestamp":12481238251,"duration":195624,"tags":{"astUsed":"true"},"startTime":1691879963990},{"traceId":"f3118a7bad57c10e","parentId":10207,"name":"build-module-css","id":10219,"timestamp":12480609182,"duration":838537,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691879963361},{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10210,"timestamp":12480563087,"duration":887122,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691879963315},{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10214,"timestamp":12480563124,"duration":908686,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691879963315},{"traceId":"f3118a7bad57c10e","parentId":10208,"name":"add-entry","id":10211,"timestamp":12480563102,"duration":1282993,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691879963315},{"traceId":"f3118a7bad57c10e","parentId":10207,"name":"make","id":10208,"timestamp":12480548217,"duration":1297916,"tags":{},"startTime":1691879963300},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"chunk-graph","id":10225,"timestamp":12481854428,"duration":25529,"tags":{},"startTime":1691879964606},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"optimize-modules","id":10227,"timestamp":12481880013,"duration":17,"tags":{},"startTime":1691879964631},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"optimize-chunks","id":10228,"timestamp":12481880059,"duration":264,"tags":{},"startTime":1691879964632},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"optimize-tree","id":10229,"timestamp":12481880360,"duration":12,"tags":{},"startTime":1691879964632},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"optimize-chunk-modules","id":10230,"timestamp":12481887584,"duration":34,"tags":{},"startTime":1691879964639},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"optimize","id":10226,"timestamp":12481879994,"duration":11441,"tags":{},"startTime":1691879964631},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"module-hash","id":10231,"timestamp":12481915676,"duration":8881,"tags":{},"startTime":1691879964667},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"code-generation","id":10232,"timestamp":12481924591,"duration":22375,"tags":{},"startTime":1691879964676},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"hash","id":10233,"timestamp":12481959697,"duration":18008,"tags":{},"startTime":1691879964711},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"code-generation-jobs","id":10234,"timestamp":12481977702,"duration":2026,"tags":{},"startTime":1691879964729},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"module-assets","id":10235,"timestamp":12481979688,"duration":391,"tags":{},"startTime":1691879964731},{"traceId":"f3118a7bad57c10e","parentId":10224,"name":"create-chunk-assets","id":10236,"timestamp":12481980093,"duration":2360,"tags":{},"startTime":1691879964732},{"traceId":"f3118a7bad57c10e","parentId":10207,"name":"NextJsBuildManifest-generateClientManifest","id":10238,"timestamp":12481991777,"duration":146,"tags":{},"startTime":1691879964743},{"traceId":"f3118a7bad57c10e","parentId":10207,"name":"NextJsBuildManifest-createassets","id":10237,"timestamp":12481991664,"duration":268,"tags":{},"startTime":1691879964743},{"traceId":"f3118a7bad57c10e","parentId":10207,"name":"seal","id":10224,"timestamp":12481848076,"duration":148970,"tags":{},"startTime":1691879964600},{"traceId":"f3118a7bad57c10e","parentId":10205,"name":"webpack-compilation","id":10207,"timestamp":12480547766,"duration":1449333,"tags":{"name":"client"},"startTime":1691879963299},{"traceId":"f3118a7bad57c10e","parentId":10205,"name":"emit","id":10239,"timestamp":12481997137,"duration":29923,"tags":{},"startTime":1691879964749},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10205,"timestamp":12480540605,"duration":1489159,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879963292},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10242,"timestamp":12482057942,"duration":0,"tags":{},"startTime":1691879964809},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10248,"timestamp":1691879963293000,"duration":1559000,"tags":{"clientId":1691878514722},"startTime":1691879964866},{"traceId":"f3118a7bad57c10e","parentId":10241,"name":"add-entry","id":10243,"timestamp":12482063325,"duration":62501,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879964815},{"traceId":"f3118a7bad57c10e","parentId":10241,"name":"add-entry","id":10244,"timestamp":12482063420,"duration":62416,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879964815},{"traceId":"f3118a7bad57c10e","parentId":10241,"name":"add-entry","id":10245,"timestamp":12482063430,"duration":62415,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879964815},{"traceId":"f3118a7bad57c10e","parentId":10241,"name":"add-entry","id":10247,"timestamp":12482063439,"duration":62408,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879964815},{"traceId":"f3118a7bad57c10e","parentId":10250,"name":"next-swc-transform","id":10251,"timestamp":12482123302,"duration":2658,"tags":{},"startTime":1691879964875},{"traceId":"f3118a7bad57c10e","parentId":10249,"name":"next-swc-loader","id":10250,"timestamp":12482122938,"duration":3026,"tags":{},"startTime":1691879964874},{"traceId":"f3118a7bad57c10e","parentId":10240,"name":"build-module-tsx","id":10249,"timestamp":12482122542,"duration":11435,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691879964874},{"traceId":"f3118a7bad57c10e","parentId":10241,"name":"add-entry","id":10246,"timestamp":12482063435,"duration":71349,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691879964815},{"traceId":"f3118a7bad57c10e","parentId":10240,"name":"make","id":10241,"timestamp":12482040466,"duration":94356,"tags":{},"startTime":1691879964792},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"chunk-graph","id":10253,"timestamp":12482139631,"duration":965,"tags":{},"startTime":1691879964891},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"optimize-modules","id":10255,"timestamp":12482140638,"duration":6,"tags":{},"startTime":1691879964892},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"optimize-chunks","id":10256,"timestamp":12482140665,"duration":38,"tags":{},"startTime":1691879964892},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"optimize-tree","id":10257,"timestamp":12482140731,"duration":10,"tags":{},"startTime":1691879964892},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"optimize-chunk-modules","id":10258,"timestamp":12482140763,"duration":9,"tags":{},"startTime":1691879964892},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"optimize","id":10254,"timestamp":12482140621,"duration":252,"tags":{},"startTime":1691879964892},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"module-hash","id":10259,"timestamp":12482141187,"duration":230,"tags":{},"startTime":1691879964893},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"code-generation","id":10260,"timestamp":12482141436,"duration":729,"tags":{},"startTime":1691879964893},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"hash","id":10261,"timestamp":12482143304,"duration":2611,"tags":{},"startTime":1691879964895},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"code-generation-jobs","id":10262,"timestamp":12482145913,"duration":226,"tags":{},"startTime":1691879964897},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"module-assets","id":10263,"timestamp":12482146125,"duration":43,"tags":{},"startTime":1691879964898},{"traceId":"f3118a7bad57c10e","parentId":10252,"name":"create-chunk-assets","id":10264,"timestamp":12482146175,"duration":1219,"tags":{},"startTime":1691879964898},{"traceId":"f3118a7bad57c10e","parentId":10240,"name":"seal","id":10252,"timestamp":12482139503,"duration":8361,"tags":{},"startTime":1691879964891},{"traceId":"f3118a7bad57c10e","parentId":10206,"name":"webpack-compilation","id":10240,"timestamp":12482040096,"duration":107807,"tags":{"name":"server"},"startTime":1691879964792},{"traceId":"f3118a7bad57c10e","parentId":10206,"name":"emit","id":10265,"timestamp":12482147931,"duration":9081,"tags":{},"startTime":1691879964899},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10206,"timestamp":12480541025,"duration":1616907,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691879963292}] -[{"traceId":"f3118a7bad57c10e","parentId":10269,"name":"add-entry","id":10270,"timestamp":12545067856,"duration":35563,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880027820},{"traceId":"f3118a7bad57c10e","parentId":10269,"name":"add-entry","id":10271,"timestamp":12545067977,"duration":35457,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880027820},{"traceId":"f3118a7bad57c10e","parentId":10269,"name":"add-entry","id":10272,"timestamp":12545067988,"duration":35449,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880027820},{"traceId":"f3118a7bad57c10e","parentId":10276,"name":"next-swc-transform","id":10277,"timestamp":12545098227,"duration":5566,"tags":{},"startTime":1691880027850},{"traceId":"f3118a7bad57c10e","parentId":10275,"name":"next-swc-loader","id":10276,"timestamp":12545098013,"duration":5785,"tags":{},"startTime":1691880027850},{"traceId":"f3118a7bad57c10e","parentId":10268,"name":"build-module-tsx","id":10275,"timestamp":12545097724,"duration":9470,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880027850},{"traceId":"f3118a7bad57c10e","parentId":10269,"name":"add-entry","id":10274,"timestamp":12545068003,"duration":44192,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880027820},{"traceId":"f3118a7bad57c10e","parentId":10269,"name":"add-entry","id":10273,"timestamp":12545067997,"duration":44356,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880027820},{"traceId":"f3118a7bad57c10e","parentId":10268,"name":"make","id":10269,"timestamp":12545065275,"duration":47116,"tags":{},"startTime":1691880027817},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"chunk-graph","id":10279,"timestamp":12545113968,"duration":742,"tags":{},"startTime":1691880027866},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"optimize-modules","id":10281,"timestamp":12545114746,"duration":6,"tags":{},"startTime":1691880027867},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"optimize-chunks","id":10282,"timestamp":12545114818,"duration":39,"tags":{},"startTime":1691880027867},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"optimize-tree","id":10283,"timestamp":12545114922,"duration":8,"tags":{},"startTime":1691880027867},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"optimize-chunk-modules","id":10284,"timestamp":12545114956,"duration":10,"tags":{},"startTime":1691880027867},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"optimize","id":10280,"timestamp":12545114732,"duration":337,"tags":{},"startTime":1691880027867},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"module-hash","id":10285,"timestamp":12545115588,"duration":789,"tags":{},"startTime":1691880027868},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"code-generation","id":10286,"timestamp":12545116410,"duration":2832,"tags":{},"startTime":1691880027868},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"hash","id":10287,"timestamp":12545120109,"duration":1250,"tags":{},"startTime":1691880027872},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"code-generation-jobs","id":10288,"timestamp":12545121358,"duration":102,"tags":{},"startTime":1691880027873},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"module-assets","id":10289,"timestamp":12545121447,"duration":41,"tags":{},"startTime":1691880027874},{"traceId":"f3118a7bad57c10e","parentId":10278,"name":"create-chunk-assets","id":10290,"timestamp":12545121495,"duration":1213,"tags":{},"startTime":1691880027874},{"traceId":"f3118a7bad57c10e","parentId":10268,"name":"seal","id":10278,"timestamp":12545113812,"duration":9267,"tags":{},"startTime":1691880027866},{"traceId":"f3118a7bad57c10e","parentId":10266,"name":"webpack-compilation","id":10268,"timestamp":12545064853,"duration":58266,"tags":{"name":"server"},"startTime":1691880027817},{"traceId":"f3118a7bad57c10e","parentId":10266,"name":"emit","id":10291,"timestamp":12545123143,"duration":7922,"tags":{},"startTime":1691880027875},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10266,"timestamp":12545058645,"duration":74373,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880027811},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10294,"timestamp":12545141723,"duration":7352,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10302,"name":"next-swc-transform","id":10303,"timestamp":12545150865,"duration":41745,"tags":{},"startTime":1691880027903},{"traceId":"f3118a7bad57c10e","parentId":10301,"name":"next-swc-loader","id":10302,"timestamp":12545150716,"duration":41908,"tags":{},"startTime":1691880027903},{"traceId":"f3118a7bad57c10e","parentId":10292,"name":"build-module-tsx","id":10301,"timestamp":12545150295,"duration":53428,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880027902},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10298,"timestamp":12545141820,"duration":62132,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10299,"timestamp":12545141828,"duration":62132,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10297,"timestamp":12545141814,"duration":71088,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10304,"name":"read-resource","id":10305,"timestamp":12545152343,"duration":69686,"tags":{},"startTime":1691880027904},{"traceId":"f3118a7bad57c10e","parentId":10306,"name":"postcss-process","id":10307,"timestamp":12545222098,"duration":290770,"tags":{},"startTime":1691880027974},{"traceId":"f3118a7bad57c10e","parentId":10304,"name":"postcss-loader","id":10306,"timestamp":12545222074,"duration":291166,"tags":{},"startTime":1691880027974},{"traceId":"f3118a7bad57c10e","parentId":10304,"name":"css-loader","id":10308,"timestamp":12545513270,"duration":76566,"tags":{"astUsed":"true"},"startTime":1691880028265},{"traceId":"f3118a7bad57c10e","parentId":10292,"name":"build-module-css","id":10304,"timestamp":12545151995,"duration":445247,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880027904},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10295,"timestamp":12545141797,"duration":469691,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10300,"timestamp":12545141832,"duration":498604,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10293,"name":"add-entry","id":10296,"timestamp":12545141809,"duration":786847,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880027894},{"traceId":"f3118a7bad57c10e","parentId":10292,"name":"make","id":10293,"timestamp":12545136413,"duration":792276,"tags":{},"startTime":1691880027888},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"chunk-graph","id":10310,"timestamp":12545934909,"duration":345715,"tags":{},"startTime":1691880028687},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"optimize-modules","id":10312,"timestamp":12546280661,"duration":8,"tags":{},"startTime":1691880029033},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"optimize-chunks","id":10313,"timestamp":12546280686,"duration":201,"tags":{},"startTime":1691880029033},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"optimize-tree","id":10314,"timestamp":12546280918,"duration":9,"tags":{},"startTime":1691880029033},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"optimize-chunk-modules","id":10315,"timestamp":12546281290,"duration":16,"tags":{},"startTime":1691880029033},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"optimize","id":10311,"timestamp":12546280647,"duration":3267,"tags":{},"startTime":1691880029033},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"module-hash","id":10316,"timestamp":12546295870,"duration":3501,"tags":{},"startTime":1691880029048},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"code-generation","id":10317,"timestamp":12546299409,"duration":21386,"tags":{},"startTime":1691880029052},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"hash","id":10318,"timestamp":12546329464,"duration":12885,"tags":{},"startTime":1691880029082},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"code-generation-jobs","id":10319,"timestamp":12546342346,"duration":269,"tags":{},"startTime":1691880029094},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"module-assets","id":10320,"timestamp":12546342574,"duration":396,"tags":{},"startTime":1691880029095},{"traceId":"f3118a7bad57c10e","parentId":10309,"name":"create-chunk-assets","id":10321,"timestamp":12546342983,"duration":2912,"tags":{},"startTime":1691880029095},{"traceId":"f3118a7bad57c10e","parentId":10292,"name":"NextJsBuildManifest-generateClientManifest","id":10323,"timestamp":12546458509,"duration":175,"tags":{},"startTime":1691880029211},{"traceId":"f3118a7bad57c10e","parentId":10292,"name":"NextJsBuildManifest-createassets","id":10322,"timestamp":12546458352,"duration":339,"tags":{},"startTime":1691880029210},{"traceId":"f3118a7bad57c10e","parentId":10292,"name":"seal","id":10309,"timestamp":12545930187,"duration":532705,"tags":{},"startTime":1691880028682},{"traceId":"f3118a7bad57c10e","parentId":10267,"name":"webpack-compilation","id":10292,"timestamp":12545136041,"duration":1326996,"tags":{"name":"client"},"startTime":1691880027888},{"traceId":"f3118a7bad57c10e","parentId":10267,"name":"emit","id":10324,"timestamp":12546463082,"duration":41713,"tags":{},"startTime":1691880029215},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10267,"timestamp":12545058814,"duration":1448546,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880027811}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10325,"timestamp":12546517447,"duration":0,"tags":{},"startTime":1691880029270},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10326,"timestamp":1691880027811000,"duration":1504000,"tags":{"clientId":1691878514722},"startTime":1691880029316},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10331,"timestamp":12597643322,"duration":35355,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10335,"timestamp":12597643412,"duration":39196,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10337,"timestamp":12597643423,"duration":39209,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10334,"timestamp":12597643408,"duration":41904,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10339,"name":"next-swc-transform","id":10340,"timestamp":12597680606,"duration":8279,"tags":{},"startTime":1691880080433},{"traceId":"f3118a7bad57c10e","parentId":10338,"name":"next-swc-loader","id":10339,"timestamp":12597680329,"duration":8586,"tags":{},"startTime":1691880080433},{"traceId":"f3118a7bad57c10e","parentId":10329,"name":"build-module-tsx","id":10338,"timestamp":12597679936,"duration":16491,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880080433},{"traceId":"f3118a7bad57c10e","parentId":10341,"name":"read-resource","id":10342,"timestamp":12597681839,"duration":15591,"tags":{},"startTime":1691880080434},{"traceId":"f3118a7bad57c10e","parentId":10343,"name":"postcss-process","id":10344,"timestamp":12597697512,"duration":83975,"tags":{},"startTime":1691880080450},{"traceId":"f3118a7bad57c10e","parentId":10341,"name":"postcss-loader","id":10343,"timestamp":12597697484,"duration":84388,"tags":{},"startTime":1691880080450},{"traceId":"f3118a7bad57c10e","parentId":10341,"name":"css-loader","id":10345,"timestamp":12597781905,"duration":24537,"tags":{"astUsed":"true"},"startTime":1691880080534},{"traceId":"f3118a7bad57c10e","parentId":10329,"name":"build-module-css","id":10341,"timestamp":12597681601,"duration":127110,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880080434},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10332,"timestamp":12597643395,"duration":166486,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10336,"timestamp":12597643419,"duration":181907,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10330,"name":"add-entry","id":10333,"timestamp":12597643404,"duration":287286,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880080396},{"traceId":"f3118a7bad57c10e","parentId":10329,"name":"make","id":10330,"timestamp":12597636200,"duration":294528,"tags":{},"startTime":1691880080389},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"chunk-graph","id":10347,"timestamp":12597946522,"duration":12398,"tags":{},"startTime":1691880080699},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"optimize-modules","id":10349,"timestamp":12597958958,"duration":7,"tags":{},"startTime":1691880080712},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"optimize-chunks","id":10350,"timestamp":12597958981,"duration":194,"tags":{},"startTime":1691880080712},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"optimize-tree","id":10351,"timestamp":12597959203,"duration":9,"tags":{},"startTime":1691880080712},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"optimize-chunk-modules","id":10352,"timestamp":12597959238,"duration":7,"tags":{},"startTime":1691880080712},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"optimize","id":10348,"timestamp":12597958943,"duration":1973,"tags":{},"startTime":1691880080712},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"module-hash","id":10353,"timestamp":12597973127,"duration":5258,"tags":{},"startTime":1691880080726},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"code-generation","id":10354,"timestamp":12597978416,"duration":7246,"tags":{},"startTime":1691880080731},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"hash","id":10355,"timestamp":12597999215,"duration":14590,"tags":{},"startTime":1691880080752},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"code-generation-jobs","id":10356,"timestamp":12598013803,"duration":202,"tags":{},"startTime":1691880080766},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"module-assets","id":10357,"timestamp":12598013971,"duration":344,"tags":{},"startTime":1691880080767},{"traceId":"f3118a7bad57c10e","parentId":10346,"name":"create-chunk-assets","id":10358,"timestamp":12598014324,"duration":153913,"tags":{},"startTime":1691880080767},{"traceId":"f3118a7bad57c10e","parentId":10329,"name":"NextJsBuildManifest-generateClientManifest","id":10360,"timestamp":12598220141,"duration":412,"tags":{},"startTime":1691880080973},{"traceId":"f3118a7bad57c10e","parentId":10329,"name":"NextJsBuildManifest-createassets","id":10359,"timestamp":12598220028,"duration":562,"tags":{},"startTime":1691880080973},{"traceId":"f3118a7bad57c10e","parentId":10329,"name":"seal","id":10346,"timestamp":12597934602,"duration":300483,"tags":{},"startTime":1691880080687},{"traceId":"f3118a7bad57c10e","parentId":10327,"name":"webpack-compilation","id":10329,"timestamp":12597635133,"duration":600007,"tags":{"name":"client"},"startTime":1691880080388},{"traceId":"f3118a7bad57c10e","parentId":10327,"name":"emit","id":10361,"timestamp":12598235170,"duration":197660,"tags":{},"startTime":1691880080988},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10327,"timestamp":12597626621,"duration":807153,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880080379},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10364,"timestamp":12598452849,"duration":0,"tags":{},"startTime":1691880081205},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10370,"timestamp":1691880080380000,"duration":900000,"tags":{"clientId":1691878514722},"startTime":1691880081299},{"traceId":"f3118a7bad57c10e","parentId":10372,"name":"next-swc-transform","id":10373,"timestamp":12598564122,"duration":3455,"tags":{},"startTime":1691880081317},{"traceId":"f3118a7bad57c10e","parentId":10371,"name":"next-swc-loader","id":10372,"timestamp":12598563990,"duration":3593,"tags":{},"startTime":1691880081317},{"traceId":"f3118a7bad57c10e","parentId":10362,"name":"build-module-tsx","id":10371,"timestamp":12598563380,"duration":37566,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880081316},{"traceId":"f3118a7bad57c10e","parentId":10363,"name":"add-entry","id":10365,"timestamp":12598462998,"duration":138375,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880081216},{"traceId":"f3118a7bad57c10e","parentId":10363,"name":"add-entry","id":10366,"timestamp":12598463142,"duration":138240,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880081216},{"traceId":"f3118a7bad57c10e","parentId":10363,"name":"add-entry","id":10367,"timestamp":12598463154,"duration":138230,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880081216},{"traceId":"f3118a7bad57c10e","parentId":10363,"name":"add-entry","id":10369,"timestamp":12598463168,"duration":138221,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880081216},{"traceId":"f3118a7bad57c10e","parentId":10363,"name":"add-entry","id":10368,"timestamp":12598463162,"duration":151898,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880081216},{"traceId":"f3118a7bad57c10e","parentId":10362,"name":"make","id":10363,"timestamp":12598446181,"duration":168911,"tags":{},"startTime":1691880081199},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"chunk-graph","id":10375,"timestamp":12598615486,"duration":7472,"tags":{},"startTime":1691880081368},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"optimize-modules","id":10377,"timestamp":12598623056,"duration":17,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"optimize-chunks","id":10378,"timestamp":12598623092,"duration":40,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"optimize-tree","id":10379,"timestamp":12598623161,"duration":7,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"optimize-chunk-modules","id":10380,"timestamp":12598623185,"duration":5,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"optimize","id":10376,"timestamp":12598622983,"duration":320,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"module-hash","id":10381,"timestamp":12598623600,"duration":215,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"code-generation","id":10382,"timestamp":12598623832,"duration":17079,"tags":{},"startTime":1691880081376},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"hash","id":10383,"timestamp":12598641833,"duration":4590,"tags":{},"startTime":1691880081394},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"code-generation-jobs","id":10384,"timestamp":12598646421,"duration":97,"tags":{},"startTime":1691880081399},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"module-assets","id":10385,"timestamp":12598646506,"duration":37,"tags":{},"startTime":1691880081399},{"traceId":"f3118a7bad57c10e","parentId":10374,"name":"create-chunk-assets","id":10386,"timestamp":12598646567,"duration":1170,"tags":{},"startTime":1691880081399},{"traceId":"f3118a7bad57c10e","parentId":10362,"name":"seal","id":10374,"timestamp":12598615391,"duration":32632,"tags":{},"startTime":1691880081368},{"traceId":"f3118a7bad57c10e","parentId":10328,"name":"webpack-compilation","id":10362,"timestamp":12598445839,"duration":202220,"tags":{"name":"server"},"startTime":1691880081198},{"traceId":"f3118a7bad57c10e","parentId":10328,"name":"emit","id":10387,"timestamp":12598648081,"duration":14543,"tags":{},"startTime":1691880081401},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10328,"timestamp":12597626877,"duration":1037024,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880080379}] -[{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10392,"timestamp":12647203869,"duration":30408,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10396,"timestamp":12647203983,"duration":33044,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10397,"timestamp":12647203990,"duration":33047,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10395,"timestamp":12647203976,"duration":35769,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10400,"name":"next-swc-transform","id":10401,"timestamp":12647235607,"duration":6317,"tags":{},"startTime":1691880129989},{"traceId":"f3118a7bad57c10e","parentId":10399,"name":"next-swc-loader","id":10400,"timestamp":12647235489,"duration":6441,"tags":{},"startTime":1691880129989},{"traceId":"f3118a7bad57c10e","parentId":10390,"name":"build-module-tsx","id":10399,"timestamp":12647235268,"duration":9893,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880129988},{"traceId":"f3118a7bad57c10e","parentId":10402,"name":"read-resource","id":10403,"timestamp":12647236351,"duration":33847,"tags":{},"startTime":1691880129989},{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10393,"timestamp":12647203942,"duration":87424,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10404,"name":"postcss-process","id":10405,"timestamp":12647270286,"duration":93750,"tags":{},"startTime":1691880130023},{"traceId":"f3118a7bad57c10e","parentId":10402,"name":"postcss-loader","id":10404,"timestamp":12647270254,"duration":94142,"tags":{},"startTime":1691880130023},{"traceId":"f3118a7bad57c10e","parentId":10402,"name":"css-loader","id":10406,"timestamp":12647364427,"duration":18444,"tags":{"astUsed":"true"},"startTime":1691880130117},{"traceId":"f3118a7bad57c10e","parentId":10390,"name":"build-module-css","id":10402,"timestamp":12647236184,"duration":149508,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880129989},{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10398,"timestamp":12647203999,"duration":199450,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10391,"name":"add-entry","id":10394,"timestamp":12647203970,"duration":535187,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880129957},{"traceId":"f3118a7bad57c10e","parentId":10390,"name":"make","id":10391,"timestamp":12647198859,"duration":540333,"tags":{},"startTime":1691880129952},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"chunk-graph","id":10408,"timestamp":12647748484,"duration":31894,"tags":{},"startTime":1691880130502},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"optimize-modules","id":10410,"timestamp":12647780417,"duration":8,"tags":{},"startTime":1691880130533},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"optimize-chunks","id":10411,"timestamp":12647780442,"duration":195,"tags":{},"startTime":1691880130534},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"optimize-tree","id":10412,"timestamp":12647780665,"duration":9,"tags":{},"startTime":1691880130534},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"optimize-chunk-modules","id":10413,"timestamp":12647780702,"duration":6,"tags":{},"startTime":1691880130534},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"optimize","id":10409,"timestamp":12647780402,"duration":1962,"tags":{},"startTime":1691880130533},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"module-hash","id":10414,"timestamp":12647825143,"duration":3051,"tags":{},"startTime":1691880130578},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"code-generation","id":10415,"timestamp":12647828233,"duration":25134,"tags":{},"startTime":1691880130581},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"hash","id":10416,"timestamp":12647861804,"duration":29966,"tags":{},"startTime":1691880130615},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"code-generation-jobs","id":10417,"timestamp":12647891768,"duration":452,"tags":{},"startTime":1691880130645},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"module-assets","id":10418,"timestamp":12647892013,"duration":577,"tags":{},"startTime":1691880130645},{"traceId":"f3118a7bad57c10e","parentId":10407,"name":"create-chunk-assets","id":10419,"timestamp":12647892612,"duration":2982,"tags":{},"startTime":1691880130646},{"traceId":"f3118a7bad57c10e","parentId":10390,"name":"NextJsBuildManifest-generateClientManifest","id":10421,"timestamp":12647903798,"duration":168,"tags":{},"startTime":1691880130657},{"traceId":"f3118a7bad57c10e","parentId":10390,"name":"NextJsBuildManifest-createassets","id":10420,"timestamp":12647903650,"duration":324,"tags":{},"startTime":1691880130657},{"traceId":"f3118a7bad57c10e","parentId":10390,"name":"seal","id":10407,"timestamp":12647742089,"duration":168946,"tags":{},"startTime":1691880130495},{"traceId":"f3118a7bad57c10e","parentId":10388,"name":"webpack-compilation","id":10390,"timestamp":12647198424,"duration":712674,"tags":{"name":"client"},"startTime":1691880129951},{"traceId":"f3118a7bad57c10e","parentId":10388,"name":"emit","id":10422,"timestamp":12647911134,"duration":28836,"tags":{},"startTime":1691880130664},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10388,"timestamp":12647189534,"duration":751927,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880129943},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10425,"timestamp":12647952456,"duration":0,"tags":{},"startTime":1691880130706},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10431,"timestamp":1691880129944000,"duration":784000,"tags":{"clientId":1691878514722},"startTime":1691880130745},{"traceId":"f3118a7bad57c10e","parentId":10424,"name":"add-entry","id":10426,"timestamp":12647954563,"duration":45391,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880130708},{"traceId":"f3118a7bad57c10e","parentId":10424,"name":"add-entry","id":10427,"timestamp":12647954623,"duration":45348,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880130708},{"traceId":"f3118a7bad57c10e","parentId":10424,"name":"add-entry","id":10428,"timestamp":12647954632,"duration":45343,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880130708},{"traceId":"f3118a7bad57c10e","parentId":10424,"name":"add-entry","id":10430,"timestamp":12647954641,"duration":45338,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880130708},{"traceId":"f3118a7bad57c10e","parentId":10433,"name":"next-swc-transform","id":10434,"timestamp":12647995909,"duration":5942,"tags":{},"startTime":1691880130749},{"traceId":"f3118a7bad57c10e","parentId":10432,"name":"next-swc-loader","id":10433,"timestamp":12647995686,"duration":6173,"tags":{},"startTime":1691880130749},{"traceId":"f3118a7bad57c10e","parentId":10423,"name":"build-module-tsx","id":10432,"timestamp":12647995387,"duration":9530,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880130748},{"traceId":"f3118a7bad57c10e","parentId":10424,"name":"add-entry","id":10429,"timestamp":12647954636,"duration":51225,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880130708},{"traceId":"f3118a7bad57c10e","parentId":10423,"name":"make","id":10424,"timestamp":12647946042,"duration":59853,"tags":{},"startTime":1691880130699},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"chunk-graph","id":10436,"timestamp":12648006355,"duration":336,"tags":{},"startTime":1691880130759},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"optimize-modules","id":10438,"timestamp":12648006714,"duration":5,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"optimize-chunks","id":10439,"timestamp":12648006733,"duration":27,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"optimize-tree","id":10440,"timestamp":12648006784,"duration":6,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"optimize-chunk-modules","id":10441,"timestamp":12648006805,"duration":6,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"optimize","id":10437,"timestamp":12648006705,"duration":201,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"module-hash","id":10442,"timestamp":12648007156,"duration":261,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"code-generation","id":10443,"timestamp":12648007433,"duration":542,"tags":{},"startTime":1691880130760},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"hash","id":10444,"timestamp":12648008784,"duration":4064,"tags":{},"startTime":1691880130762},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"code-generation-jobs","id":10445,"timestamp":12648012846,"duration":92,"tags":{},"startTime":1691880130766},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"module-assets","id":10446,"timestamp":12648012927,"duration":33,"tags":{},"startTime":1691880130766},{"traceId":"f3118a7bad57c10e","parentId":10435,"name":"create-chunk-assets","id":10447,"timestamp":12648012966,"duration":1051,"tags":{},"startTime":1691880130766},{"traceId":"f3118a7bad57c10e","parentId":10423,"name":"seal","id":10435,"timestamp":12648006253,"duration":8016,"tags":{},"startTime":1691880130759},{"traceId":"f3118a7bad57c10e","parentId":10389,"name":"webpack-compilation","id":10423,"timestamp":12647944916,"duration":69385,"tags":{"name":"server"},"startTime":1691880130698},{"traceId":"f3118a7bad57c10e","parentId":10389,"name":"emit","id":10448,"timestamp":12648014324,"duration":5510,"tags":{},"startTime":1691880130767},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10389,"timestamp":12647189915,"duration":831987,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880129943}] -[{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10453,"timestamp":12661249748,"duration":31086,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10457,"timestamp":12661249910,"duration":36421,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10458,"timestamp":12661249917,"duration":36437,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10461,"name":"next-swc-transform","id":10462,"timestamp":12661282759,"duration":7469,"tags":{},"startTime":1691880144036},{"traceId":"f3118a7bad57c10e","parentId":10460,"name":"next-swc-loader","id":10461,"timestamp":12661282379,"duration":7857,"tags":{},"startTime":1691880144036},{"traceId":"f3118a7bad57c10e","parentId":10451,"name":"build-module-tsx","id":10460,"timestamp":12661281890,"duration":18228,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880144035},{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10456,"timestamp":12661249897,"duration":51891,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10463,"name":"read-resource","id":10464,"timestamp":12661285693,"duration":16553,"tags":{},"startTime":1691880144039},{"traceId":"f3118a7bad57c10e","parentId":10465,"name":"postcss-process","id":10466,"timestamp":12661302311,"duration":105453,"tags":{},"startTime":1691880144056},{"traceId":"f3118a7bad57c10e","parentId":10463,"name":"postcss-loader","id":10465,"timestamp":12661302281,"duration":106656,"tags":{},"startTime":1691880144055},{"traceId":"f3118a7bad57c10e","parentId":10463,"name":"css-loader","id":10467,"timestamp":12661408973,"duration":31834,"tags":{"astUsed":"true"},"startTime":1691880144162},{"traceId":"f3118a7bad57c10e","parentId":10451,"name":"build-module-css","id":10463,"timestamp":12661285509,"duration":164927,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880144039},{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10454,"timestamp":12661249877,"duration":203272,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10459,"timestamp":12661249925,"duration":214518,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10452,"name":"add-entry","id":10455,"timestamp":12661249892,"duration":840217,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880144003},{"traceId":"f3118a7bad57c10e","parentId":10451,"name":"make","id":10452,"timestamp":12661241058,"duration":849299,"tags":{},"startTime":1691880143994},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"chunk-graph","id":10469,"timestamp":12662175832,"duration":27002,"tags":{},"startTime":1691880144929},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"optimize-modules","id":10471,"timestamp":12662202885,"duration":10,"tags":{},"startTime":1691880144956},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"optimize-chunks","id":10472,"timestamp":12662202918,"duration":301,"tags":{},"startTime":1691880144956},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"optimize-tree","id":10473,"timestamp":12662203258,"duration":13,"tags":{},"startTime":1691880144956},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"optimize-chunk-modules","id":10474,"timestamp":12662203306,"duration":8,"tags":{},"startTime":1691880144957},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"optimize","id":10470,"timestamp":12662202866,"duration":2227,"tags":{},"startTime":1691880144956},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"module-hash","id":10475,"timestamp":12662235725,"duration":9645,"tags":{},"startTime":1691880144989},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"code-generation","id":10476,"timestamp":12662245402,"duration":12154,"tags":{},"startTime":1691880144999},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"hash","id":10477,"timestamp":12662267396,"duration":18334,"tags":{},"startTime":1691880145021},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"code-generation-jobs","id":10478,"timestamp":12662285728,"duration":233,"tags":{},"startTime":1691880145039},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"module-assets","id":10479,"timestamp":12662285929,"duration":390,"tags":{},"startTime":1691880145039},{"traceId":"f3118a7bad57c10e","parentId":10468,"name":"create-chunk-assets","id":10480,"timestamp":12662286338,"duration":8746,"tags":{},"startTime":1691880145040},{"traceId":"f3118a7bad57c10e","parentId":10451,"name":"NextJsBuildManifest-generateClientManifest","id":10482,"timestamp":12662299163,"duration":167,"tags":{},"startTime":1691880145052},{"traceId":"f3118a7bad57c10e","parentId":10451,"name":"NextJsBuildManifest-createassets","id":10481,"timestamp":12662299024,"duration":315,"tags":{},"startTime":1691880145052},{"traceId":"f3118a7bad57c10e","parentId":10451,"name":"seal","id":10468,"timestamp":12662168943,"duration":134874,"tags":{},"startTime":1691880144922},{"traceId":"f3118a7bad57c10e","parentId":10449,"name":"webpack-compilation","id":10451,"timestamp":12661240582,"duration":1063294,"tags":{"name":"client"},"startTime":1691880143994},{"traceId":"f3118a7bad57c10e","parentId":10449,"name":"emit","id":10483,"timestamp":12662303914,"duration":29734,"tags":{},"startTime":1691880145057},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10449,"timestamp":12661228903,"duration":1106061,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880143982},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10486,"timestamp":12662434775,"duration":0,"tags":{},"startTime":1691880145188},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10492,"timestamp":1691880143983000,"duration":1266000,"tags":{"clientId":1691878514722},"startTime":1691880145264},{"traceId":"f3118a7bad57c10e","parentId":10485,"name":"add-entry","id":10487,"timestamp":12662468392,"duration":59383,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880145222},{"traceId":"f3118a7bad57c10e","parentId":10485,"name":"add-entry","id":10488,"timestamp":12662468460,"duration":59328,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880145222},{"traceId":"f3118a7bad57c10e","parentId":10485,"name":"add-entry","id":10489,"timestamp":12662468470,"duration":59321,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880145222},{"traceId":"f3118a7bad57c10e","parentId":10485,"name":"add-entry","id":10491,"timestamp":12662468480,"duration":59318,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880145222},{"traceId":"f3118a7bad57c10e","parentId":10494,"name":"next-swc-transform","id":10495,"timestamp":12662521219,"duration":13340,"tags":{},"startTime":1691880145274},{"traceId":"f3118a7bad57c10e","parentId":10493,"name":"next-swc-loader","id":10494,"timestamp":12662520897,"duration":13670,"tags":{},"startTime":1691880145274},{"traceId":"f3118a7bad57c10e","parentId":10484,"name":"build-module-tsx","id":10493,"timestamp":12662520401,"duration":21291,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880145274},{"traceId":"f3118a7bad57c10e","parentId":10485,"name":"add-entry","id":10490,"timestamp":12662468475,"duration":73857,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880145222},{"traceId":"f3118a7bad57c10e","parentId":10484,"name":"make","id":10485,"timestamp":12662336619,"duration":205750,"tags":{},"startTime":1691880145090},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"chunk-graph","id":10497,"timestamp":12662542834,"duration":528,"tags":{},"startTime":1691880145296},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"optimize-modules","id":10499,"timestamp":12662543445,"duration":11,"tags":{},"startTime":1691880145297},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"optimize-chunks","id":10500,"timestamp":12662543479,"duration":36,"tags":{},"startTime":1691880145297},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"optimize-tree","id":10501,"timestamp":12662543546,"duration":11,"tags":{},"startTime":1691880145297},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"optimize-chunk-modules","id":10502,"timestamp":12662543576,"duration":8,"tags":{},"startTime":1691880145297},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"optimize","id":10498,"timestamp":12662543389,"duration":297,"tags":{},"startTime":1691880145297},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"module-hash","id":10503,"timestamp":12662544026,"duration":313,"tags":{},"startTime":1691880145297},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"code-generation","id":10504,"timestamp":12662544366,"duration":759,"tags":{},"startTime":1691880145298},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"hash","id":10505,"timestamp":12662546501,"duration":1774,"tags":{},"startTime":1691880145300},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"code-generation-jobs","id":10506,"timestamp":12662548273,"duration":111,"tags":{},"startTime":1691880145301},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"module-assets","id":10507,"timestamp":12662548373,"duration":38,"tags":{},"startTime":1691880145302},{"traceId":"f3118a7bad57c10e","parentId":10496,"name":"create-chunk-assets","id":10508,"timestamp":12662548422,"duration":1396,"tags":{},"startTime":1691880145302},{"traceId":"f3118a7bad57c10e","parentId":10484,"name":"seal","id":10496,"timestamp":12662542708,"duration":7414,"tags":{},"startTime":1691880145296},{"traceId":"f3118a7bad57c10e","parentId":10450,"name":"webpack-compilation","id":10484,"timestamp":12662336084,"duration":214073,"tags":{"name":"server"},"startTime":1691880145089},{"traceId":"f3118a7bad57c10e","parentId":10450,"name":"emit","id":10509,"timestamp":12662550186,"duration":8266,"tags":{},"startTime":1691880145303},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10450,"timestamp":12661229498,"duration":1330700,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880143983}] -[{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10514,"timestamp":12682541743,"duration":64990,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10518,"timestamp":12682541922,"duration":71473,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10519,"timestamp":12682541929,"duration":71478,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10522,"name":"next-swc-transform","id":10523,"timestamp":12682608526,"duration":9000,"tags":{},"startTime":1691880165362},{"traceId":"f3118a7bad57c10e","parentId":10521,"name":"next-swc-loader","id":10522,"timestamp":12682608267,"duration":9267,"tags":{},"startTime":1691880165362},{"traceId":"f3118a7bad57c10e","parentId":10512,"name":"build-module-tsx","id":10521,"timestamp":12682607658,"duration":22399,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880165361},{"traceId":"f3118a7bad57c10e","parentId":10524,"name":"read-resource","id":10525,"timestamp":12682613009,"duration":18002,"tags":{},"startTime":1691880165366},{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10517,"timestamp":12682541914,"duration":114497,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10526,"name":"postcss-process","id":10527,"timestamp":12682631085,"duration":136748,"tags":{},"startTime":1691880165384},{"traceId":"f3118a7bad57c10e","parentId":10524,"name":"postcss-loader","id":10526,"timestamp":12682631055,"duration":137614,"tags":{},"startTime":1691880165384},{"traceId":"f3118a7bad57c10e","parentId":10524,"name":"css-loader","id":10528,"timestamp":12682768704,"duration":62625,"tags":{"astUsed":"true"},"startTime":1691880165522},{"traceId":"f3118a7bad57c10e","parentId":10512,"name":"build-module-css","id":10524,"timestamp":12682612711,"duration":253059,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880165366},{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10515,"timestamp":12682541892,"duration":329455,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10520,"timestamp":12682541937,"duration":357152,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10513,"name":"add-entry","id":10516,"timestamp":12682541908,"duration":1170144,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880165295},{"traceId":"f3118a7bad57c10e","parentId":10512,"name":"make","id":10513,"timestamp":12682529386,"duration":1182702,"tags":{},"startTime":1691880165283},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"chunk-graph","id":10530,"timestamp":12683724069,"duration":49098,"tags":{},"startTime":1691880166477},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"optimize-modules","id":10532,"timestamp":12683773306,"duration":47,"tags":{},"startTime":1691880166527},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"optimize-chunks","id":10533,"timestamp":12683773445,"duration":273,"tags":{},"startTime":1691880166527},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"optimize-tree","id":10534,"timestamp":12683773804,"duration":51,"tags":{},"startTime":1691880166527},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"optimize-chunk-modules","id":10535,"timestamp":12683773944,"duration":52,"tags":{},"startTime":1691880166527},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"optimize","id":10531,"timestamp":12683773232,"duration":32672,"tags":{},"startTime":1691880166527},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"module-hash","id":10536,"timestamp":12683847285,"duration":22631,"tags":{},"startTime":1691880166601},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"code-generation","id":10537,"timestamp":12683869953,"duration":24025,"tags":{},"startTime":1691880166623},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"hash","id":10538,"timestamp":12683910909,"duration":17012,"tags":{},"startTime":1691880166664},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"code-generation-jobs","id":10539,"timestamp":12683927918,"duration":267,"tags":{},"startTime":1691880166681},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"module-assets","id":10540,"timestamp":12683928151,"duration":394,"tags":{},"startTime":1691880166682},{"traceId":"f3118a7bad57c10e","parentId":10529,"name":"create-chunk-assets","id":10541,"timestamp":12683928560,"duration":7075,"tags":{},"startTime":1691880166682},{"traceId":"f3118a7bad57c10e","parentId":10512,"name":"NextJsBuildManifest-generateClientManifest","id":10543,"timestamp":12683941243,"duration":239,"tags":{},"startTime":1691880166695},{"traceId":"f3118a7bad57c10e","parentId":10512,"name":"NextJsBuildManifest-createassets","id":10542,"timestamp":12683941041,"duration":451,"tags":{},"startTime":1691880166694},{"traceId":"f3118a7bad57c10e","parentId":10512,"name":"seal","id":10529,"timestamp":12683713931,"duration":241370,"tags":{},"startTime":1691880166467},{"traceId":"f3118a7bad57c10e","parentId":10510,"name":"webpack-compilation","id":10512,"timestamp":12682528912,"duration":1426452,"tags":{"name":"client"},"startTime":1691880165282},{"traceId":"f3118a7bad57c10e","parentId":10510,"name":"emit","id":10544,"timestamp":12683955402,"duration":50983,"tags":{},"startTime":1691880166709},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10510,"timestamp":12682512859,"duration":1498089,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880165266},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10547,"timestamp":12684045086,"duration":0,"tags":{},"startTime":1691880166799},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10553,"timestamp":1691880165267000,"duration":1584000,"tags":{"clientId":1691878514722},"startTime":1691880166855},{"traceId":"f3118a7bad57c10e","parentId":10546,"name":"add-entry","id":10548,"timestamp":12684056212,"duration":72276,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880166810},{"traceId":"f3118a7bad57c10e","parentId":10546,"name":"add-entry","id":10549,"timestamp":12684056292,"duration":72206,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880166810},{"traceId":"f3118a7bad57c10e","parentId":10546,"name":"add-entry","id":10550,"timestamp":12684056358,"duration":72141,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880166810},{"traceId":"f3118a7bad57c10e","parentId":10546,"name":"add-entry","id":10552,"timestamp":12684056374,"duration":72128,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880166810},{"traceId":"f3118a7bad57c10e","parentId":10555,"name":"next-swc-transform","id":10556,"timestamp":12684122868,"duration":13663,"tags":{},"startTime":1691880166876},{"traceId":"f3118a7bad57c10e","parentId":10554,"name":"next-swc-loader","id":10555,"timestamp":12684122642,"duration":13896,"tags":{},"startTime":1691880166876},{"traceId":"f3118a7bad57c10e","parentId":10545,"name":"build-module-tsx","id":10554,"timestamp":12684122116,"duration":19379,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880166876},{"traceId":"f3118a7bad57c10e","parentId":10546,"name":"add-entry","id":10551,"timestamp":12684056369,"duration":88453,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880166810},{"traceId":"f3118a7bad57c10e","parentId":10545,"name":"make","id":10546,"timestamp":12684021388,"duration":123464,"tags":{},"startTime":1691880166775},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"chunk-graph","id":10558,"timestamp":12684145442,"duration":5532,"tags":{},"startTime":1691880166899},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"optimize-modules","id":10560,"timestamp":12684151017,"duration":6,"tags":{},"startTime":1691880166904},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"optimize-chunks","id":10561,"timestamp":12684151164,"duration":663,"tags":{},"startTime":1691880166905},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"optimize-tree","id":10562,"timestamp":12684151925,"duration":13,"tags":{},"startTime":1691880166905},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"optimize-chunk-modules","id":10563,"timestamp":12684152031,"duration":10,"tags":{},"startTime":1691880166905},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"optimize","id":10559,"timestamp":12684151003,"duration":1233,"tags":{},"startTime":1691880166904},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"module-hash","id":10564,"timestamp":12684152632,"duration":233,"tags":{},"startTime":1691880166906},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"code-generation","id":10565,"timestamp":12684152885,"duration":621,"tags":{},"startTime":1691880166906},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"hash","id":10566,"timestamp":12684154642,"duration":2624,"tags":{},"startTime":1691880166908},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"code-generation-jobs","id":10567,"timestamp":12684157261,"duration":232,"tags":{},"startTime":1691880166911},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"module-assets","id":10568,"timestamp":12684157475,"duration":50,"tags":{},"startTime":1691880166911},{"traceId":"f3118a7bad57c10e","parentId":10557,"name":"create-chunk-assets","id":10569,"timestamp":12684157531,"duration":2882,"tags":{},"startTime":1691880166911},{"traceId":"f3118a7bad57c10e","parentId":10545,"name":"seal","id":10557,"timestamp":12684145336,"duration":15721,"tags":{},"startTime":1691880166899},{"traceId":"f3118a7bad57c10e","parentId":10511,"name":"webpack-compilation","id":10545,"timestamp":12684021040,"duration":140060,"tags":{"name":"server"},"startTime":1691880166774},{"traceId":"f3118a7bad57c10e","parentId":10511,"name":"emit","id":10570,"timestamp":12684161128,"duration":10893,"tags":{},"startTime":1691880166915},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10511,"timestamp":12682513235,"duration":1663238,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880165267}] -[{"traceId":"f3118a7bad57c10e","parentId":10574,"name":"add-entry","id":10575,"timestamp":12691120021,"duration":25204,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880173873},{"traceId":"f3118a7bad57c10e","parentId":10574,"name":"add-entry","id":10576,"timestamp":12691120092,"duration":25143,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880173874},{"traceId":"f3118a7bad57c10e","parentId":10574,"name":"add-entry","id":10577,"timestamp":12691120104,"duration":25134,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880173874},{"traceId":"f3118a7bad57c10e","parentId":10574,"name":"add-entry","id":10579,"timestamp":12691120117,"duration":25124,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880173874},{"traceId":"f3118a7bad57c10e","parentId":10581,"name":"next-swc-transform","id":10582,"timestamp":12691141334,"duration":4436,"tags":{},"startTime":1691880173895},{"traceId":"f3118a7bad57c10e","parentId":10580,"name":"next-swc-loader","id":10581,"timestamp":12691141203,"duration":4574,"tags":{},"startTime":1691880173895},{"traceId":"f3118a7bad57c10e","parentId":10573,"name":"build-module-tsx","id":10580,"timestamp":12691140891,"duration":7731,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880173894},{"traceId":"f3118a7bad57c10e","parentId":10574,"name":"add-entry","id":10578,"timestamp":12691120109,"duration":31440,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880173874},{"traceId":"f3118a7bad57c10e","parentId":10573,"name":"make","id":10574,"timestamp":12691119022,"duration":32568,"tags":{},"startTime":1691880173873},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"chunk-graph","id":10584,"timestamp":12691152459,"duration":433,"tags":{},"startTime":1691880173906},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"optimize-modules","id":10586,"timestamp":12691152927,"duration":5,"tags":{},"startTime":1691880173906},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"optimize-chunks","id":10587,"timestamp":12691152955,"duration":32,"tags":{},"startTime":1691880173906},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"optimize-tree","id":10588,"timestamp":12691153018,"duration":7,"tags":{},"startTime":1691880173906},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"optimize-chunk-modules","id":10589,"timestamp":12691153045,"duration":9,"tags":{},"startTime":1691880173907},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"optimize","id":10585,"timestamp":12691152913,"duration":226,"tags":{},"startTime":1691880173906},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"module-hash","id":10590,"timestamp":12691154027,"duration":418,"tags":{},"startTime":1691880173908},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"code-generation","id":10591,"timestamp":12691154477,"duration":621,"tags":{},"startTime":1691880173908},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"hash","id":10592,"timestamp":12691156098,"duration":1386,"tags":{},"startTime":1691880173910},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"code-generation-jobs","id":10593,"timestamp":12691157479,"duration":131,"tags":{},"startTime":1691880173911},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"module-assets","id":10594,"timestamp":12691157594,"duration":35,"tags":{},"startTime":1691880173911},{"traceId":"f3118a7bad57c10e","parentId":10583,"name":"create-chunk-assets","id":10595,"timestamp":12691157635,"duration":2770,"tags":{},"startTime":1691880173911},{"traceId":"f3118a7bad57c10e","parentId":10573,"name":"seal","id":10583,"timestamp":12691152322,"duration":8663,"tags":{},"startTime":1691880173906},{"traceId":"f3118a7bad57c10e","parentId":10571,"name":"webpack-compilation","id":10573,"timestamp":12691118565,"duration":42465,"tags":{"name":"server"},"startTime":1691880173872},{"traceId":"f3118a7bad57c10e","parentId":10571,"name":"emit","id":10596,"timestamp":12691161062,"duration":44071,"tags":{},"startTime":1691880173915},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10571,"timestamp":12691111087,"duration":94557,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880173865},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10599,"timestamp":12691224161,"duration":38369,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10603,"timestamp":12691224341,"duration":53102,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10605,"timestamp":12691224358,"duration":53094,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10602,"timestamp":12691224336,"duration":100660,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10607,"name":"next-swc-transform","id":10608,"timestamp":12691272387,"duration":53788,"tags":{},"startTime":1691880174026},{"traceId":"f3118a7bad57c10e","parentId":10606,"name":"next-swc-loader","id":10607,"timestamp":12691265478,"duration":60704,"tags":{},"startTime":1691880174019},{"traceId":"f3118a7bad57c10e","parentId":10597,"name":"build-module-tsx","id":10606,"timestamp":12691264779,"duration":86097,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880174018},{"traceId":"f3118a7bad57c10e","parentId":10609,"name":"read-resource","id":10610,"timestamp":12691276518,"duration":75593,"tags":{},"startTime":1691880174030},{"traceId":"f3118a7bad57c10e","parentId":10611,"name":"postcss-process","id":10612,"timestamp":12691352227,"duration":567090,"tags":{},"startTime":1691880174106},{"traceId":"f3118a7bad57c10e","parentId":10609,"name":"postcss-loader","id":10611,"timestamp":12691352154,"duration":567468,"tags":{},"startTime":1691880174106},{"traceId":"f3118a7bad57c10e","parentId":10609,"name":"css-loader","id":10613,"timestamp":12691919654,"duration":47317,"tags":{"astUsed":"true"},"startTime":1691880174673},{"traceId":"f3118a7bad57c10e","parentId":10597,"name":"build-module-css","id":10609,"timestamp":12691275271,"duration":703523,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880174029},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10600,"timestamp":12691224312,"duration":767319,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10604,"timestamp":12691224351,"duration":797698,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10598,"name":"add-entry","id":10601,"timestamp":12691224327,"duration":1004097,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880173978},{"traceId":"f3118a7bad57c10e","parentId":10597,"name":"make","id":10598,"timestamp":12691212863,"duration":1015595,"tags":{},"startTime":1691880173966},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"chunk-graph","id":10615,"timestamp":12692237862,"duration":20405,"tags":{},"startTime":1691880174991},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"optimize-modules","id":10617,"timestamp":12692258304,"duration":6,"tags":{},"startTime":1691880175012},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"optimize-chunks","id":10618,"timestamp":12692258326,"duration":438,"tags":{},"startTime":1691880175012},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"optimize-tree","id":10619,"timestamp":12692258809,"duration":11,"tags":{},"startTime":1691880175012},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"optimize-chunk-modules","id":10620,"timestamp":12692258853,"duration":6,"tags":{},"startTime":1691880175012},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"optimize","id":10616,"timestamp":12692258291,"duration":3102,"tags":{},"startTime":1691880175012},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"module-hash","id":10621,"timestamp":12692279599,"duration":2047,"tags":{},"startTime":1691880175033},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"code-generation","id":10622,"timestamp":12692281674,"duration":43730,"tags":{},"startTime":1691880175035},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"hash","id":10623,"timestamp":12692341338,"duration":21648,"tags":{},"startTime":1691880175095},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"code-generation-jobs","id":10624,"timestamp":12692362985,"duration":194,"tags":{},"startTime":1691880175116},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"module-assets","id":10625,"timestamp":12692363154,"duration":366,"tags":{},"startTime":1691880175117},{"traceId":"f3118a7bad57c10e","parentId":10614,"name":"create-chunk-assets","id":10626,"timestamp":12692363532,"duration":15315,"tags":{},"startTime":1691880175117},{"traceId":"f3118a7bad57c10e","parentId":10597,"name":"NextJsBuildManifest-generateClientManifest","id":10628,"timestamp":12692382412,"duration":94,"tags":{},"startTime":1691880175136},{"traceId":"f3118a7bad57c10e","parentId":10597,"name":"NextJsBuildManifest-createassets","id":10627,"timestamp":12692382313,"duration":201,"tags":{},"startTime":1691880175136},{"traceId":"f3118a7bad57c10e","parentId":10597,"name":"seal","id":10614,"timestamp":12692233309,"duration":162342,"tags":{},"startTime":1691880174987},{"traceId":"f3118a7bad57c10e","parentId":10572,"name":"webpack-compilation","id":10597,"timestamp":12691209741,"duration":1185959,"tags":{"name":"client"},"startTime":1691880173963},{"traceId":"f3118a7bad57c10e","parentId":10572,"name":"emit","id":10629,"timestamp":12692395728,"duration":96627,"tags":{},"startTime":1691880175149},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10572,"timestamp":12691111241,"duration":1393662,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880173865}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10630,"timestamp":12692521113,"duration":0,"tags":{},"startTime":1691880175275},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10631,"timestamp":1691880173865000,"duration":1463000,"tags":{"clientId":1691878514722},"startTime":1691880175344},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10636,"timestamp":12726638130,"duration":9285,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10640,"timestamp":12726638224,"duration":11163,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10641,"timestamp":12726638230,"duration":11164,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10639,"timestamp":12726638219,"duration":11777,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10646,"name":"read-resource","id":10647,"timestamp":12726649139,"duration":1158,"tags":{},"startTime":1691880209403},{"traceId":"f3118a7bad57c10e","parentId":10644,"name":"next-swc-transform","id":10645,"timestamp":12726648391,"duration":11294,"tags":{},"startTime":1691880209402},{"traceId":"f3118a7bad57c10e","parentId":10643,"name":"next-swc-loader","id":10644,"timestamp":12726648287,"duration":11405,"tags":{},"startTime":1691880209402},{"traceId":"f3118a7bad57c10e","parentId":10634,"name":"build-module-tsx","id":10643,"timestamp":12726648091,"duration":26163,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880209402},{"traceId":"f3118a7bad57c10e","parentId":10648,"name":"postcss-process","id":10649,"timestamp":12726650359,"duration":123755,"tags":{},"startTime":1691880209404},{"traceId":"f3118a7bad57c10e","parentId":10646,"name":"postcss-loader","id":10648,"timestamp":12726650335,"duration":124136,"tags":{},"startTime":1691880209404},{"traceId":"f3118a7bad57c10e","parentId":10646,"name":"css-loader","id":10650,"timestamp":12726774509,"duration":55561,"tags":{"astUsed":"true"},"startTime":1691880209528},{"traceId":"f3118a7bad57c10e","parentId":10634,"name":"build-module-css","id":10646,"timestamp":12726648956,"duration":187709,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880209403},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10637,"timestamp":12726638192,"duration":200825,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10642,"timestamp":12726638234,"duration":222082,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10635,"name":"add-entry","id":10638,"timestamp":12726638213,"duration":879549,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880209392},{"traceId":"f3118a7bad57c10e","parentId":10634,"name":"make","id":10635,"timestamp":12726637086,"duration":880710,"tags":{},"startTime":1691880209391},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"chunk-graph","id":10652,"timestamp":12727523601,"duration":41536,"tags":{},"startTime":1691880210277},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"optimize-modules","id":10654,"timestamp":12727565183,"duration":10,"tags":{},"startTime":1691880210319},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"optimize-chunks","id":10655,"timestamp":12727565214,"duration":207,"tags":{},"startTime":1691880210319},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"optimize-tree","id":10656,"timestamp":12727565452,"duration":11,"tags":{},"startTime":1691880210319},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"optimize-chunk-modules","id":10657,"timestamp":12727565491,"duration":10,"tags":{},"startTime":1691880210319},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"optimize","id":10653,"timestamp":12727565161,"duration":4052,"tags":{},"startTime":1691880210319},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"module-hash","id":10658,"timestamp":12727580226,"duration":2411,"tags":{},"startTime":1691880210334},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"code-generation","id":10659,"timestamp":12727582668,"duration":66158,"tags":{},"startTime":1691880210336},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"hash","id":10660,"timestamp":12727658094,"duration":19779,"tags":{},"startTime":1691880210412},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"code-generation-jobs","id":10661,"timestamp":12727677872,"duration":1477,"tags":{},"startTime":1691880210432},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"module-assets","id":10662,"timestamp":12727679294,"duration":407,"tags":{},"startTime":1691880210433},{"traceId":"f3118a7bad57c10e","parentId":10651,"name":"create-chunk-assets","id":10663,"timestamp":12727679715,"duration":10799,"tags":{},"startTime":1691880210434},{"traceId":"f3118a7bad57c10e","parentId":10634,"name":"NextJsBuildManifest-generateClientManifest","id":10665,"timestamp":12727698811,"duration":116,"tags":{},"startTime":1691880210453},{"traceId":"f3118a7bad57c10e","parentId":10634,"name":"NextJsBuildManifest-createassets","id":10664,"timestamp":12727697680,"duration":1254,"tags":{},"startTime":1691880210452},{"traceId":"f3118a7bad57c10e","parentId":10634,"name":"seal","id":10651,"timestamp":12727519583,"duration":187858,"tags":{},"startTime":1691880210273},{"traceId":"f3118a7bad57c10e","parentId":10632,"name":"webpack-compilation","id":10634,"timestamp":12726636739,"duration":1070753,"tags":{"name":"client"},"startTime":1691880209391},{"traceId":"f3118a7bad57c10e","parentId":10632,"name":"emit","id":10666,"timestamp":12727707524,"duration":63596,"tags":{},"startTime":1691880210461},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10632,"timestamp":12726629261,"duration":1142873,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880209383},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10669,"timestamp":12727782299,"duration":0,"tags":{},"startTime":1691880210536},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10675,"timestamp":1691880209385000,"duration":1330000,"tags":{"clientId":1691878514722},"startTime":1691880210717},{"traceId":"f3118a7bad57c10e","parentId":10668,"name":"add-entry","id":10670,"timestamp":12727893318,"duration":87494,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880210647},{"traceId":"f3118a7bad57c10e","parentId":10668,"name":"add-entry","id":10671,"timestamp":12727893377,"duration":87449,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880210647},{"traceId":"f3118a7bad57c10e","parentId":10668,"name":"add-entry","id":10672,"timestamp":12727893401,"duration":87428,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880210647},{"traceId":"f3118a7bad57c10e","parentId":10668,"name":"add-entry","id":10674,"timestamp":12727893428,"duration":87403,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880210647},{"traceId":"f3118a7bad57c10e","parentId":10677,"name":"next-swc-transform","id":10678,"timestamp":12727975168,"duration":22876,"tags":{},"startTime":1691880210729},{"traceId":"f3118a7bad57c10e","parentId":10676,"name":"next-swc-loader","id":10677,"timestamp":12727974962,"duration":23088,"tags":{},"startTime":1691880210729},{"traceId":"f3118a7bad57c10e","parentId":10667,"name":"build-module-tsx","id":10676,"timestamp":12727974705,"duration":26121,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880210729},{"traceId":"f3118a7bad57c10e","parentId":10668,"name":"add-entry","id":10673,"timestamp":12727893409,"duration":110676,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880210647},{"traceId":"f3118a7bad57c10e","parentId":10667,"name":"make","id":10668,"timestamp":12727776416,"duration":227706,"tags":{},"startTime":1691880210530},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"chunk-graph","id":10680,"timestamp":12728005523,"duration":631,"tags":{},"startTime":1691880210759},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"optimize-modules","id":10682,"timestamp":12728006211,"duration":41,"tags":{},"startTime":1691880210760},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"optimize-chunks","id":10683,"timestamp":12728006278,"duration":35,"tags":{},"startTime":1691880210760},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"optimize-tree","id":10684,"timestamp":12728006341,"duration":41,"tags":{},"startTime":1691880210760},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"optimize-chunk-modules","id":10685,"timestamp":12728006402,"duration":9,"tags":{},"startTime":1691880210760},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"optimize","id":10681,"timestamp":12728006172,"duration":330,"tags":{},"startTime":1691880210760},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"module-hash","id":10686,"timestamp":12728006814,"duration":262,"tags":{},"startTime":1691880210761},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"code-generation","id":10687,"timestamp":12728007093,"duration":645,"tags":{},"startTime":1691880210761},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"hash","id":10688,"timestamp":12728008736,"duration":1152,"tags":{},"startTime":1691880210763},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"code-generation-jobs","id":10689,"timestamp":12728009887,"duration":89,"tags":{},"startTime":1691880210764},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"module-assets","id":10690,"timestamp":12728009965,"duration":36,"tags":{},"startTime":1691880210764},{"traceId":"f3118a7bad57c10e","parentId":10679,"name":"create-chunk-assets","id":10691,"timestamp":12728010007,"duration":1447,"tags":{},"startTime":1691880210764},{"traceId":"f3118a7bad57c10e","parentId":10667,"name":"seal","id":10679,"timestamp":12728004462,"duration":7389,"tags":{},"startTime":1691880210758},{"traceId":"f3118a7bad57c10e","parentId":10633,"name":"webpack-compilation","id":10667,"timestamp":12727775403,"duration":236484,"tags":{"name":"server"},"startTime":1691880210529},{"traceId":"f3118a7bad57c10e","parentId":10633,"name":"emit","id":10692,"timestamp":12728012460,"duration":3689,"tags":{},"startTime":1691880210766},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10633,"timestamp":12726629700,"duration":1388830,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880209384}] -[{"traceId":"f3118a7bad57c10e","parentId":10703,"name":"next-swc-transform","id":10704,"timestamp":12778110542,"duration":5973,"tags":{},"startTime":1691880260865},{"traceId":"f3118a7bad57c10e","parentId":10702,"name":"next-swc-loader","id":10703,"timestamp":12778110312,"duration":6211,"tags":{},"startTime":1691880260865},{"traceId":"f3118a7bad57c10e","parentId":10695,"name":"build-module-tsx","id":10702,"timestamp":12778110033,"duration":16372,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880260864},{"traceId":"f3118a7bad57c10e","parentId":10696,"name":"add-entry","id":10697,"timestamp":12778059847,"duration":67777,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880260814},{"traceId":"f3118a7bad57c10e","parentId":10696,"name":"add-entry","id":10698,"timestamp":12778059974,"duration":67664,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880260814},{"traceId":"f3118a7bad57c10e","parentId":10696,"name":"add-entry","id":10699,"timestamp":12778059985,"duration":67657,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880260814},{"traceId":"f3118a7bad57c10e","parentId":10696,"name":"add-entry","id":10700,"timestamp":12778059993,"duration":67652,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880260814},{"traceId":"f3118a7bad57c10e","parentId":10696,"name":"add-entry","id":10701,"timestamp":12778059999,"duration":68498,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880260814},{"traceId":"f3118a7bad57c10e","parentId":10695,"name":"make","id":10696,"timestamp":12778055290,"duration":73257,"tags":{},"startTime":1691880260810},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"chunk-graph","id":10706,"timestamp":12778129231,"duration":752,"tags":{},"startTime":1691880260884},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"optimize-modules","id":10708,"timestamp":12778130024,"duration":11,"tags":{},"startTime":1691880260884},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"optimize-chunks","id":10709,"timestamp":12778130058,"duration":38,"tags":{},"startTime":1691880260884},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"optimize-tree","id":10710,"timestamp":12778130127,"duration":20,"tags":{},"startTime":1691880260884},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"optimize-chunk-modules","id":10711,"timestamp":12778130165,"duration":8,"tags":{},"startTime":1691880260884},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"optimize","id":10707,"timestamp":12778130007,"duration":257,"tags":{},"startTime":1691880260884},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"module-hash","id":10712,"timestamp":12778134661,"duration":278,"tags":{},"startTime":1691880260889},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"code-generation","id":10713,"timestamp":12778134962,"duration":1191,"tags":{},"startTime":1691880260889},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"hash","id":10714,"timestamp":12778137112,"duration":1898,"tags":{},"startTime":1691880260891},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"code-generation-jobs","id":10715,"timestamp":12778139008,"duration":142,"tags":{},"startTime":1691880260893},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"module-assets","id":10716,"timestamp":12778139133,"duration":46,"tags":{},"startTime":1691880260893},{"traceId":"f3118a7bad57c10e","parentId":10705,"name":"create-chunk-assets","id":10717,"timestamp":12778139189,"duration":1629,"tags":{},"startTime":1691880260893},{"traceId":"f3118a7bad57c10e","parentId":10695,"name":"seal","id":10705,"timestamp":12778129087,"duration":12070,"tags":{},"startTime":1691880260883},{"traceId":"f3118a7bad57c10e","parentId":10693,"name":"webpack-compilation","id":10695,"timestamp":12778054855,"duration":86347,"tags":{"name":"server"},"startTime":1691880260809},{"traceId":"f3118a7bad57c10e","parentId":10693,"name":"emit","id":10718,"timestamp":12778141228,"duration":13766,"tags":{},"startTime":1691880260896},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10693,"timestamp":12778048137,"duration":107634,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880260802},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10721,"timestamp":12778163647,"duration":15415,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10725,"timestamp":12778163757,"duration":21479,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10727,"timestamp":12778163772,"duration":21477,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10724,"timestamp":12778163748,"duration":22086,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10729,"name":"next-swc-transform","id":10730,"timestamp":12778180559,"duration":6201,"tags":{},"startTime":1691880260935},{"traceId":"f3118a7bad57c10e","parentId":10728,"name":"next-swc-loader","id":10729,"timestamp":12778180422,"duration":6344,"tags":{},"startTime":1691880260935},{"traceId":"f3118a7bad57c10e","parentId":10719,"name":"build-module-tsx","id":10728,"timestamp":12778179994,"duration":16747,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880260934},{"traceId":"f3118a7bad57c10e","parentId":10731,"name":"read-resource","id":10732,"timestamp":12778182782,"duration":18703,"tags":{},"startTime":1691880260937},{"traceId":"f3118a7bad57c10e","parentId":10733,"name":"postcss-process","id":10734,"timestamp":12778201594,"duration":89378,"tags":{},"startTime":1691880260956},{"traceId":"f3118a7bad57c10e","parentId":10731,"name":"postcss-loader","id":10733,"timestamp":12778201538,"duration":90617,"tags":{},"startTime":1691880260956},{"traceId":"f3118a7bad57c10e","parentId":10731,"name":"css-loader","id":10735,"timestamp":12778292194,"duration":36101,"tags":{"astUsed":"true"},"startTime":1691880261047},{"traceId":"f3118a7bad57c10e","parentId":10719,"name":"build-module-css","id":10731,"timestamp":12778182385,"duration":166731,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880260937},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10722,"timestamp":12778163727,"duration":195049,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10726,"timestamp":12778163764,"duration":214228,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10720,"name":"add-entry","id":10723,"timestamp":12778163742,"duration":707844,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880260918},{"traceId":"f3118a7bad57c10e","parentId":10719,"name":"make","id":10720,"timestamp":12778158341,"duration":713280,"tags":{},"startTime":1691880260913},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"chunk-graph","id":10737,"timestamp":12778882671,"duration":29816,"tags":{},"startTime":1691880261637},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"optimize-modules","id":10739,"timestamp":12778912549,"duration":15,"tags":{},"startTime":1691880261667},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"optimize-chunks","id":10740,"timestamp":12778912594,"duration":266,"tags":{},"startTime":1691880261667},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"optimize-tree","id":10741,"timestamp":12778912901,"duration":21,"tags":{},"startTime":1691880261667},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"optimize-chunk-modules","id":10742,"timestamp":12778912964,"duration":9,"tags":{},"startTime":1691880261667},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"optimize","id":10738,"timestamp":12778912522,"duration":291487,"tags":{},"startTime":1691880261667},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"module-hash","id":10743,"timestamp":12779328636,"duration":11593,"tags":{},"startTime":1691880262083},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"code-generation","id":10744,"timestamp":12779340264,"duration":29079,"tags":{},"startTime":1691880262095},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"hash","id":10745,"timestamp":12779430969,"duration":38129,"tags":{},"startTime":1691880262185},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"code-generation-jobs","id":10746,"timestamp":12779469095,"duration":561,"tags":{},"startTime":1691880262223},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"module-assets","id":10747,"timestamp":12779469624,"duration":423,"tags":{},"startTime":1691880262224},{"traceId":"f3118a7bad57c10e","parentId":10736,"name":"create-chunk-assets","id":10748,"timestamp":12779470067,"duration":4370,"tags":{},"startTime":1691880262224},{"traceId":"f3118a7bad57c10e","parentId":10719,"name":"NextJsBuildManifest-generateClientManifest","id":10750,"timestamp":12779481097,"duration":170,"tags":{},"startTime":1691880262235},{"traceId":"f3118a7bad57c10e","parentId":10719,"name":"NextJsBuildManifest-createassets","id":10749,"timestamp":12779480945,"duration":330,"tags":{},"startTime":1691880262235},{"traceId":"f3118a7bad57c10e","parentId":10719,"name":"seal","id":10736,"timestamp":12778873916,"duration":623083,"tags":{},"startTime":1691880261628},{"traceId":"f3118a7bad57c10e","parentId":10694,"name":"webpack-compilation","id":10719,"timestamp":12778157986,"duration":1339082,"tags":{"name":"client"},"startTime":1691880260912},{"traceId":"f3118a7bad57c10e","parentId":10694,"name":"emit","id":10751,"timestamp":12779497108,"duration":71617,"tags":{},"startTime":1691880262251},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10694,"timestamp":12778048647,"duration":1522343,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880260803}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10752,"timestamp":12779589088,"duration":0,"tags":{},"startTime":1691880262343},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10753,"timestamp":1691880260804000,"duration":1596000,"tags":{"clientId":1691878514722},"startTime":1691880262402},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10758,"timestamp":12810878213,"duration":14425,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10762,"timestamp":12810878306,"duration":17011,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10763,"timestamp":12810878312,"duration":17014,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10761,"timestamp":12810878302,"duration":20521,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10766,"name":"next-swc-transform","id":10767,"timestamp":12810894023,"duration":5370,"tags":{},"startTime":1691880293649},{"traceId":"f3118a7bad57c10e","parentId":10765,"name":"next-swc-loader","id":10766,"timestamp":12810893742,"duration":5657,"tags":{},"startTime":1691880293648},{"traceId":"f3118a7bad57c10e","parentId":10756,"name":"build-module-tsx","id":10765,"timestamp":12810893344,"duration":13049,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880293648},{"traceId":"f3118a7bad57c10e","parentId":10768,"name":"read-resource","id":10769,"timestamp":12810895027,"duration":13909,"tags":{},"startTime":1691880293650},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10759,"timestamp":12810878288,"duration":58077,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10770,"name":"postcss-process","id":10771,"timestamp":12810909015,"duration":106240,"tags":{},"startTime":1691880293664},{"traceId":"f3118a7bad57c10e","parentId":10768,"name":"postcss-loader","id":10770,"timestamp":12810908988,"duration":106603,"tags":{},"startTime":1691880293664},{"traceId":"f3118a7bad57c10e","parentId":10768,"name":"css-loader","id":10772,"timestamp":12811015624,"duration":48576,"tags":{"astUsed":"true"},"startTime":1691880293770},{"traceId":"f3118a7bad57c10e","parentId":10756,"name":"build-module-css","id":10768,"timestamp":12810894721,"duration":171544,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880293649},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10764,"timestamp":12810878317,"duration":216759,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10757,"name":"add-entry","id":10760,"timestamp":12810878297,"duration":393344,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880293633},{"traceId":"f3118a7bad57c10e","parentId":10756,"name":"make","id":10757,"timestamp":12810866087,"duration":405590,"tags":{},"startTime":1691880293621},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"chunk-graph","id":10774,"timestamp":12811296170,"duration":16551,"tags":{},"startTime":1691880294051},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"optimize-modules","id":10776,"timestamp":12811312763,"duration":7,"tags":{},"startTime":1691880294067},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"optimize-chunks","id":10777,"timestamp":12811312787,"duration":200,"tags":{},"startTime":1691880294067},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"optimize-tree","id":10778,"timestamp":12811313017,"duration":9,"tags":{},"startTime":1691880294068},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"optimize-chunk-modules","id":10779,"timestamp":12811313054,"duration":6,"tags":{},"startTime":1691880294068},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"optimize","id":10775,"timestamp":12811312746,"duration":1745,"tags":{},"startTime":1691880294067},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"module-hash","id":10780,"timestamp":12811336191,"duration":8428,"tags":{},"startTime":1691880294091},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"code-generation","id":10781,"timestamp":12811344655,"duration":17511,"tags":{},"startTime":1691880294099},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"hash","id":10782,"timestamp":12811375338,"duration":24237,"tags":{},"startTime":1691880294130},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"code-generation-jobs","id":10783,"timestamp":12811399573,"duration":222,"tags":{},"startTime":1691880294154},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"module-assets","id":10784,"timestamp":12811399741,"duration":424,"tags":{},"startTime":1691880294154},{"traceId":"f3118a7bad57c10e","parentId":10773,"name":"create-chunk-assets","id":10785,"timestamp":12811400179,"duration":8418,"tags":{},"startTime":1691880294155},{"traceId":"f3118a7bad57c10e","parentId":10756,"name":"NextJsBuildManifest-generateClientManifest","id":10787,"timestamp":12811418594,"duration":104,"tags":{},"startTime":1691880294173},{"traceId":"f3118a7bad57c10e","parentId":10756,"name":"NextJsBuildManifest-createassets","id":10786,"timestamp":12811417909,"duration":796,"tags":{},"startTime":1691880294173},{"traceId":"f3118a7bad57c10e","parentId":10756,"name":"seal","id":10773,"timestamp":12811282153,"duration":142961,"tags":{},"startTime":1691880294037},{"traceId":"f3118a7bad57c10e","parentId":10754,"name":"webpack-compilation","id":10756,"timestamp":12810865698,"duration":559473,"tags":{"name":"client"},"startTime":1691880293620},{"traceId":"f3118a7bad57c10e","parentId":10754,"name":"emit","id":10788,"timestamp":12811425205,"duration":24692,"tags":{},"startTime":1691880294180},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10754,"timestamp":12810856406,"duration":594897,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880293611},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10791,"timestamp":12811467814,"duration":0,"tags":{},"startTime":1691880294222},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10797,"timestamp":1691880293613000,"duration":745000,"tags":{"clientId":1691878514722},"startTime":1691880294373},{"traceId":"f3118a7bad57c10e","parentId":10799,"name":"next-swc-transform","id":10800,"timestamp":12811659806,"duration":3425,"tags":{},"startTime":1691880294414},{"traceId":"f3118a7bad57c10e","parentId":10798,"name":"next-swc-loader","id":10799,"timestamp":12811659434,"duration":3804,"tags":{},"startTime":1691880294414},{"traceId":"f3118a7bad57c10e","parentId":10789,"name":"build-module-tsx","id":10798,"timestamp":12811659175,"duration":7039,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880294414},{"traceId":"f3118a7bad57c10e","parentId":10790,"name":"add-entry","id":10792,"timestamp":12811539062,"duration":128719,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880294294},{"traceId":"f3118a7bad57c10e","parentId":10790,"name":"add-entry","id":10793,"timestamp":12811539133,"duration":128658,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880294294},{"traceId":"f3118a7bad57c10e","parentId":10790,"name":"add-entry","id":10794,"timestamp":12811539145,"duration":128649,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880294294},{"traceId":"f3118a7bad57c10e","parentId":10790,"name":"add-entry","id":10796,"timestamp":12811539158,"duration":128641,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880294294},{"traceId":"f3118a7bad57c10e","parentId":10790,"name":"add-entry","id":10795,"timestamp":12811539151,"duration":128700,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880294294},{"traceId":"f3118a7bad57c10e","parentId":10789,"name":"make","id":10790,"timestamp":12811458371,"duration":209504,"tags":{},"startTime":1691880294213},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"chunk-graph","id":10802,"timestamp":12811668273,"duration":1142,"tags":{},"startTime":1691880294423},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"optimize-modules","id":10804,"timestamp":12811670005,"duration":23,"tags":{},"startTime":1691880294425},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"optimize-chunks","id":10805,"timestamp":12811670052,"duration":62,"tags":{},"startTime":1691880294425},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"optimize-tree","id":10806,"timestamp":12811670193,"duration":15,"tags":{},"startTime":1691880294425},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"optimize-chunk-modules","id":10807,"timestamp":12811670228,"duration":7,"tags":{},"startTime":1691880294425},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"optimize","id":10803,"timestamp":12811669962,"duration":377,"tags":{},"startTime":1691880294425},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"module-hash","id":10808,"timestamp":12811670638,"duration":232,"tags":{},"startTime":1691880294425},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"code-generation","id":10809,"timestamp":12811670887,"duration":875,"tags":{},"startTime":1691880294426},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"hash","id":10810,"timestamp":12811672619,"duration":1542,"tags":{},"startTime":1691880294427},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"code-generation-jobs","id":10811,"timestamp":12811674160,"duration":94,"tags":{},"startTime":1691880294429},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"module-assets","id":10812,"timestamp":12811674244,"duration":34,"tags":{},"startTime":1691880294429},{"traceId":"f3118a7bad57c10e","parentId":10801,"name":"create-chunk-assets","id":10813,"timestamp":12811674283,"duration":1221,"tags":{},"startTime":1691880294429},{"traceId":"f3118a7bad57c10e","parentId":10789,"name":"seal","id":10801,"timestamp":12811668169,"duration":7756,"tags":{},"startTime":1691880294423},{"traceId":"f3118a7bad57c10e","parentId":10755,"name":"webpack-compilation","id":10789,"timestamp":12811457990,"duration":217970,"tags":{"name":"server"},"startTime":1691880294213},{"traceId":"f3118a7bad57c10e","parentId":10755,"name":"emit","id":10814,"timestamp":12811675990,"duration":5953,"tags":{},"startTime":1691880294431},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10755,"timestamp":12810856769,"duration":826242,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880293611}] -[{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10819,"timestamp":12813281516,"duration":7194,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10823,"timestamp":12813281731,"duration":9007,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10825,"timestamp":12813281743,"duration":9004,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10829,"name":"read-resource","id":10830,"timestamp":12813290458,"duration":745,"tags":{},"startTime":1691880296045},{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10822,"timestamp":12813281726,"duration":26501,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10827,"name":"next-swc-transform","id":10828,"timestamp":12813289735,"duration":18795,"tags":{},"startTime":1691880296044},{"traceId":"f3118a7bad57c10e","parentId":10826,"name":"next-swc-loader","id":10827,"timestamp":12813289622,"duration":18913,"tags":{},"startTime":1691880296044},{"traceId":"f3118a7bad57c10e","parentId":10817,"name":"build-module-tsx","id":10826,"timestamp":12813289352,"duration":31234,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880296044},{"traceId":"f3118a7bad57c10e","parentId":10831,"name":"postcss-process","id":10832,"timestamp":12813291265,"duration":151327,"tags":{},"startTime":1691880296046},{"traceId":"f3118a7bad57c10e","parentId":10829,"name":"postcss-loader","id":10831,"timestamp":12813291241,"duration":151985,"tags":{},"startTime":1691880296046},{"traceId":"f3118a7bad57c10e","parentId":10829,"name":"css-loader","id":10833,"timestamp":12813443260,"duration":21657,"tags":{"astUsed":"true"},"startTime":1691880296198},{"traceId":"f3118a7bad57c10e","parentId":10817,"name":"build-module-css","id":10829,"timestamp":12813290274,"duration":176804,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880296045},{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10820,"timestamp":12813281579,"duration":192993,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10824,"timestamp":12813281738,"duration":201138,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10818,"name":"add-entry","id":10821,"timestamp":12813281715,"duration":304224,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880296036},{"traceId":"f3118a7bad57c10e","parentId":10817,"name":"make","id":10818,"timestamp":12813279916,"duration":306059,"tags":{},"startTime":1691880296035},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"chunk-graph","id":10835,"timestamp":12813592837,"duration":75157,"tags":{},"startTime":1691880296347},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"optimize-modules","id":10837,"timestamp":12813668046,"duration":7,"tags":{},"startTime":1691880296423},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"optimize-chunks","id":10838,"timestamp":12813668071,"duration":275,"tags":{},"startTime":1691880296423},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"optimize-tree","id":10839,"timestamp":12813668390,"duration":12,"tags":{},"startTime":1691880296423},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"optimize-chunk-modules","id":10840,"timestamp":12813668437,"duration":9,"tags":{},"startTime":1691880296423},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"optimize","id":10836,"timestamp":12813668029,"duration":6340,"tags":{},"startTime":1691880296423},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"module-hash","id":10841,"timestamp":12813694625,"duration":2179,"tags":{},"startTime":1691880296449},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"code-generation","id":10842,"timestamp":12813696843,"duration":10839,"tags":{},"startTime":1691880296451},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"hash","id":10843,"timestamp":12813715580,"duration":9925,"tags":{},"startTime":1691880296470},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"code-generation-jobs","id":10844,"timestamp":12813725502,"duration":180,"tags":{},"startTime":1691880296480},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"module-assets","id":10845,"timestamp":12813725659,"duration":334,"tags":{},"startTime":1691880296480},{"traceId":"f3118a7bad57c10e","parentId":10834,"name":"create-chunk-assets","id":10846,"timestamp":12813726002,"duration":2042,"tags":{},"startTime":1691880296481},{"traceId":"f3118a7bad57c10e","parentId":10817,"name":"NextJsBuildManifest-generateClientManifest","id":10848,"timestamp":12813735895,"duration":116,"tags":{},"startTime":1691880296491},{"traceId":"f3118a7bad57c10e","parentId":10817,"name":"NextJsBuildManifest-createassets","id":10847,"timestamp":12813735771,"duration":248,"tags":{},"startTime":1691880296490},{"traceId":"f3118a7bad57c10e","parentId":10817,"name":"seal","id":10834,"timestamp":12813588823,"duration":151920,"tags":{},"startTime":1691880296343},{"traceId":"f3118a7bad57c10e","parentId":10815,"name":"webpack-compilation","id":10817,"timestamp":12813279462,"duration":461342,"tags":{"name":"client"},"startTime":1691880296034},{"traceId":"f3118a7bad57c10e","parentId":10815,"name":"emit","id":10849,"timestamp":12813740840,"duration":25118,"tags":{},"startTime":1691880296495},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10815,"timestamp":12813271635,"duration":495389,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880296026},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10852,"timestamp":12813777397,"duration":0,"tags":{},"startTime":1691880296532},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10861,"timestamp":1691880296027000,"duration":540000,"tags":{"clientId":1691878514722},"startTime":1691880296570},{"traceId":"f3118a7bad57c10e","parentId":10851,"name":"add-entry","id":10853,"timestamp":12813785000,"duration":31020,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880296540},{"traceId":"f3118a7bad57c10e","parentId":10851,"name":"add-entry","id":10854,"timestamp":12813785060,"duration":30972,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880296540},{"traceId":"f3118a7bad57c10e","parentId":10851,"name":"add-entry","id":10855,"timestamp":12813785069,"duration":30964,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880296540},{"traceId":"f3118a7bad57c10e","parentId":10851,"name":"add-entry","id":10857,"timestamp":12813785091,"duration":30945,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880296540},{"traceId":"f3118a7bad57c10e","parentId":10859,"name":"next-swc-transform","id":10860,"timestamp":12813813734,"duration":3421,"tags":{},"startTime":1691880296568},{"traceId":"f3118a7bad57c10e","parentId":10858,"name":"next-swc-loader","id":10859,"timestamp":12813813499,"duration":3665,"tags":{},"startTime":1691880296568},{"traceId":"f3118a7bad57c10e","parentId":10850,"name":"build-module-tsx","id":10858,"timestamp":12813813294,"duration":5812,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880296568},{"traceId":"f3118a7bad57c10e","parentId":10851,"name":"add-entry","id":10856,"timestamp":12813785074,"duration":34491,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880296540},{"traceId":"f3118a7bad57c10e","parentId":10850,"name":"make","id":10851,"timestamp":12813770051,"duration":49547,"tags":{},"startTime":1691880296525},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"chunk-graph","id":10863,"timestamp":12813820165,"duration":331,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"optimize-modules","id":10865,"timestamp":12813820520,"duration":5,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"optimize-chunks","id":10866,"timestamp":12813820539,"duration":25,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"optimize-tree","id":10867,"timestamp":12813820590,"duration":6,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"optimize-chunk-modules","id":10868,"timestamp":12813820614,"duration":5,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"optimize","id":10864,"timestamp":12813820511,"duration":178,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"module-hash","id":10869,"timestamp":12813820909,"duration":178,"tags":{},"startTime":1691880296576},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"code-generation","id":10870,"timestamp":12813821100,"duration":456,"tags":{},"startTime":1691880296576},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"hash","id":10871,"timestamp":12813822209,"duration":1095,"tags":{},"startTime":1691880296577},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"code-generation-jobs","id":10872,"timestamp":12813823304,"duration":91,"tags":{},"startTime":1691880296578},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"module-assets","id":10873,"timestamp":12813823384,"duration":33,"tags":{},"startTime":1691880296578},{"traceId":"f3118a7bad57c10e","parentId":10862,"name":"create-chunk-assets","id":10874,"timestamp":12813823423,"duration":1035,"tags":{},"startTime":1691880296578},{"traceId":"f3118a7bad57c10e","parentId":10850,"name":"seal","id":10862,"timestamp":12813820054,"duration":4654,"tags":{},"startTime":1691880296575},{"traceId":"f3118a7bad57c10e","parentId":10816,"name":"webpack-compilation","id":10850,"timestamp":12813769647,"duration":55092,"tags":{"name":"server"},"startTime":1691880296524},{"traceId":"f3118a7bad57c10e","parentId":10816,"name":"emit","id":10875,"timestamp":12813824758,"duration":5075,"tags":{},"startTime":1691880296579},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10816,"timestamp":12813272123,"duration":558442,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880296027}] -[{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10880,"timestamp":12847541950,"duration":27035,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880330319},{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10884,"timestamp":12847542108,"duration":33873,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880330320},{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10885,"timestamp":12847542119,"duration":33873,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880330320},{"traceId":"f3118a7bad57c10e","parentId":10888,"name":"next-swc-transform","id":10889,"timestamp":12847572512,"duration":4763,"tags":{},"startTime":1691880330350},{"traceId":"f3118a7bad57c10e","parentId":10887,"name":"next-swc-loader","id":10888,"timestamp":12847570605,"duration":6676,"tags":{},"startTime":1691880330348},{"traceId":"f3118a7bad57c10e","parentId":10878,"name":"build-module-tsx","id":10887,"timestamp":12847570217,"duration":17024,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880330348},{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10883,"timestamp":12847542103,"duration":46348,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880330320},{"traceId":"f3118a7bad57c10e","parentId":10890,"name":"read-resource","id":10891,"timestamp":12847575650,"duration":12951,"tags":{},"startTime":1691880330353},{"traceId":"f3118a7bad57c10e","parentId":10892,"name":"postcss-process","id":10893,"timestamp":12847590619,"duration":151516,"tags":{},"startTime":1691880330368},{"traceId":"f3118a7bad57c10e","parentId":10890,"name":"postcss-loader","id":10892,"timestamp":12847590570,"duration":152384,"tags":{},"startTime":1691880330368},{"traceId":"f3118a7bad57c10e","parentId":10890,"name":"css-loader","id":10894,"timestamp":12847742989,"duration":53027,"tags":{"astUsed":"true"},"startTime":1691880330521},{"traceId":"f3118a7bad57c10e","parentId":10878,"name":"build-module-css","id":10890,"timestamp":12847575423,"duration":235512,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880330353},{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10881,"timestamp":12847542080,"duration":271332,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880330320},{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10886,"timestamp":12847542127,"duration":295580,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880330320},{"traceId":"f3118a7bad57c10e","parentId":10879,"name":"add-entry","id":10882,"timestamp":12847542097,"duration":722918,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880330320},{"traceId":"f3118a7bad57c10e","parentId":10878,"name":"make","id":10879,"timestamp":12847540318,"duration":724733,"tags":{},"startTime":1691880330318},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"chunk-graph","id":10896,"timestamp":12848275826,"duration":19300,"tags":{},"startTime":1691880331053},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"optimize-modules","id":10898,"timestamp":12848295182,"duration":11,"tags":{},"startTime":1691880331073},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"optimize-chunks","id":10899,"timestamp":12848295224,"duration":217,"tags":{},"startTime":1691880331073},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"optimize-tree","id":10900,"timestamp":12848295472,"duration":17,"tags":{},"startTime":1691880331073},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"optimize-chunk-modules","id":10901,"timestamp":12848295523,"duration":11,"tags":{},"startTime":1691880331073},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"optimize","id":10897,"timestamp":12848295162,"duration":3118,"tags":{},"startTime":1691880331073},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"module-hash","id":10902,"timestamp":12848330434,"duration":4895,"tags":{},"startTime":1691880331108},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"code-generation","id":10903,"timestamp":12848335373,"duration":31683,"tags":{},"startTime":1691880331113},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"hash","id":10904,"timestamp":12848380862,"duration":15883,"tags":{},"startTime":1691880331159},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"code-generation-jobs","id":10905,"timestamp":12848396743,"duration":286,"tags":{},"startTime":1691880331174},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"module-assets","id":10906,"timestamp":12848396999,"duration":351,"tags":{},"startTime":1691880331175},{"traceId":"f3118a7bad57c10e","parentId":10895,"name":"create-chunk-assets","id":10907,"timestamp":12848397361,"duration":2068,"tags":{},"startTime":1691880331175},{"traceId":"f3118a7bad57c10e","parentId":10878,"name":"NextJsBuildManifest-generateClientManifest","id":10909,"timestamp":12848402751,"duration":168,"tags":{},"startTime":1691880331180},{"traceId":"f3118a7bad57c10e","parentId":10878,"name":"NextJsBuildManifest-createassets","id":10908,"timestamp":12848402475,"duration":453,"tags":{},"startTime":1691880331180},{"traceId":"f3118a7bad57c10e","parentId":10878,"name":"seal","id":10895,"timestamp":12848266821,"duration":147621,"tags":{},"startTime":1691880331044},{"traceId":"f3118a7bad57c10e","parentId":10876,"name":"webpack-compilation","id":10878,"timestamp":12847539845,"duration":874656,"tags":{"name":"client"},"startTime":1691880330317},{"traceId":"f3118a7bad57c10e","parentId":10876,"name":"emit","id":10910,"timestamp":12848414537,"duration":43691,"tags":{},"startTime":1691880331192},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10876,"timestamp":12847530816,"duration":932956,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880330308},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10913,"timestamp":12848476699,"duration":0,"tags":{},"startTime":1691880331254},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10919,"timestamp":1691880330309000,"duration":977000,"tags":{"clientId":1691878514722},"startTime":1691880331291},{"traceId":"f3118a7bad57c10e","parentId":10912,"name":"add-entry","id":10914,"timestamp":12848480629,"duration":45266,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880331258},{"traceId":"f3118a7bad57c10e","parentId":10912,"name":"add-entry","id":10915,"timestamp":12848480695,"duration":45212,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880331258},{"traceId":"f3118a7bad57c10e","parentId":10912,"name":"add-entry","id":10916,"timestamp":12848480713,"duration":45196,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880331258},{"traceId":"f3118a7bad57c10e","parentId":10912,"name":"add-entry","id":10918,"timestamp":12848480723,"duration":45193,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880331258},{"traceId":"f3118a7bad57c10e","parentId":10921,"name":"next-swc-transform","id":10922,"timestamp":12848518325,"duration":8722,"tags":{},"startTime":1691880331296},{"traceId":"f3118a7bad57c10e","parentId":10920,"name":"next-swc-loader","id":10921,"timestamp":12848518108,"duration":8946,"tags":{},"startTime":1691880331296},{"traceId":"f3118a7bad57c10e","parentId":10911,"name":"build-module-tsx","id":10920,"timestamp":12848517838,"duration":16116,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880331296},{"traceId":"f3118a7bad57c10e","parentId":10912,"name":"add-entry","id":10917,"timestamp":12848480718,"duration":56440,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880331258},{"traceId":"f3118a7bad57c10e","parentId":10911,"name":"make","id":10912,"timestamp":12848466094,"duration":71110,"tags":{},"startTime":1691880331244},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"chunk-graph","id":10924,"timestamp":12848537730,"duration":3710,"tags":{},"startTime":1691880331315},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"optimize-modules","id":10926,"timestamp":12848541485,"duration":7,"tags":{},"startTime":1691880331319},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"optimize-chunks","id":10927,"timestamp":12848541514,"duration":41,"tags":{},"startTime":1691880331319},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"optimize-tree","id":10928,"timestamp":12848541588,"duration":7,"tags":{},"startTime":1691880331319},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"optimize-chunk-modules","id":10929,"timestamp":12848541616,"duration":9,"tags":{},"startTime":1691880331319},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"optimize","id":10925,"timestamp":12848541465,"duration":264,"tags":{},"startTime":1691880331319},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"module-hash","id":10930,"timestamp":12848542771,"duration":381,"tags":{},"startTime":1691880331321},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"code-generation","id":10931,"timestamp":12848543171,"duration":688,"tags":{},"startTime":1691880331321},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"hash","id":10932,"timestamp":12848544812,"duration":2885,"tags":{},"startTime":1691880331323},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"code-generation-jobs","id":10933,"timestamp":12848547695,"duration":123,"tags":{},"startTime":1691880331325},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"module-assets","id":10934,"timestamp":12848547804,"duration":38,"tags":{},"startTime":1691880331326},{"traceId":"f3118a7bad57c10e","parentId":10923,"name":"create-chunk-assets","id":10935,"timestamp":12848547848,"duration":2178,"tags":{},"startTime":1691880331326},{"traceId":"f3118a7bad57c10e","parentId":10911,"name":"seal","id":10923,"timestamp":12848537595,"duration":12753,"tags":{},"startTime":1691880331315},{"traceId":"f3118a7bad57c10e","parentId":10877,"name":"webpack-compilation","id":10911,"timestamp":12848465784,"duration":84601,"tags":{"name":"server"},"startTime":1691880331243},{"traceId":"f3118a7bad57c10e","parentId":10877,"name":"emit","id":10936,"timestamp":12848550413,"duration":13246,"tags":{},"startTime":1691880331328},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10877,"timestamp":12847531336,"duration":1035689,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880330309}] -[{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10941,"timestamp":12883268978,"duration":48130,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10945,"timestamp":12883269216,"duration":52682,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10947,"timestamp":12883269230,"duration":52679,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10949,"name":"next-swc-transform","id":10950,"timestamp":12883318946,"duration":3723,"tags":{},"startTime":1691880366101},{"traceId":"f3118a7bad57c10e","parentId":10948,"name":"next-swc-loader","id":10949,"timestamp":12883318714,"duration":3960,"tags":{},"startTime":1691880366101},{"traceId":"f3118a7bad57c10e","parentId":10939,"name":"build-module-tsx","id":10948,"timestamp":12883318286,"duration":30295,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880366100},{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10944,"timestamp":12883269207,"duration":80233,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10951,"name":"read-resource","id":10952,"timestamp":12883321382,"duration":31256,"tags":{},"startTime":1691880366103},{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10942,"timestamp":12883269183,"duration":147376,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10953,"name":"postcss-process","id":10954,"timestamp":12883352723,"duration":129574,"tags":{},"startTime":1691880366135},{"traceId":"f3118a7bad57c10e","parentId":10951,"name":"postcss-loader","id":10953,"timestamp":12883352685,"duration":130540,"tags":{},"startTime":1691880366135},{"traceId":"f3118a7bad57c10e","parentId":10951,"name":"css-loader","id":10955,"timestamp":12883483261,"duration":26107,"tags":{"astUsed":"true"},"startTime":1691880366265},{"traceId":"f3118a7bad57c10e","parentId":10939,"name":"build-module-css","id":10951,"timestamp":12883320967,"duration":211682,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880366103},{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10946,"timestamp":12883269223,"duration":290378,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10940,"name":"add-entry","id":10943,"timestamp":12883269201,"duration":728779,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880366051},{"traceId":"f3118a7bad57c10e","parentId":10939,"name":"make","id":10940,"timestamp":12883262681,"duration":735333,"tags":{},"startTime":1691880366045},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"chunk-graph","id":10957,"timestamp":12884004918,"duration":54870,"tags":{},"startTime":1691880366787},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"optimize-modules","id":10959,"timestamp":12884061411,"duration":54,"tags":{},"startTime":1691880366843},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"optimize-chunks","id":10960,"timestamp":12884061575,"duration":331,"tags":{},"startTime":1691880366844},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"optimize-tree","id":10961,"timestamp":12884061996,"duration":55,"tags":{},"startTime":1691880366844},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"optimize-chunk-modules","id":10962,"timestamp":12884062146,"duration":51,"tags":{},"startTime":1691880366844},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"optimize","id":10958,"timestamp":12884061312,"duration":3553,"tags":{},"startTime":1691880366843},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"module-hash","id":10963,"timestamp":12884092404,"duration":8463,"tags":{},"startTime":1691880366874},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"code-generation","id":10964,"timestamp":12884100910,"duration":20511,"tags":{},"startTime":1691880366883},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"hash","id":10965,"timestamp":12884135672,"duration":19087,"tags":{},"startTime":1691880366918},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"code-generation-jobs","id":10966,"timestamp":12884154756,"duration":299,"tags":{},"startTime":1691880366937},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"module-assets","id":10967,"timestamp":12884155018,"duration":1928,"tags":{},"startTime":1691880366937},{"traceId":"f3118a7bad57c10e","parentId":10956,"name":"create-chunk-assets","id":10968,"timestamp":12884156986,"duration":3044,"tags":{},"startTime":1691880366939},{"traceId":"f3118a7bad57c10e","parentId":10939,"name":"NextJsBuildManifest-generateClientManifest","id":10970,"timestamp":12884164229,"duration":144,"tags":{},"startTime":1691880366946},{"traceId":"f3118a7bad57c10e","parentId":10939,"name":"NextJsBuildManifest-createassets","id":10969,"timestamp":12884164120,"duration":261,"tags":{},"startTime":1691880366946},{"traceId":"f3118a7bad57c10e","parentId":10939,"name":"seal","id":10956,"timestamp":12884000337,"duration":169830,"tags":{},"startTime":1691880366782},{"traceId":"f3118a7bad57c10e","parentId":10937,"name":"webpack-compilation","id":10939,"timestamp":12883262199,"duration":908033,"tags":{"name":"client"},"startTime":1691880366044},{"traceId":"f3118a7bad57c10e","parentId":10937,"name":"emit","id":10971,"timestamp":12884170272,"duration":32784,"tags":{},"startTime":1691880366952},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10937,"timestamp":12883250960,"duration":954180,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880366033},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":10974,"timestamp":12884228795,"duration":0,"tags":{},"startTime":1691880367011},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":10980,"timestamp":1691880366034000,"duration":1012000,"tags":{"clientId":1691878514722},"startTime":1691880367047},{"traceId":"f3118a7bad57c10e","parentId":10973,"name":"add-entry","id":10975,"timestamp":12884231659,"duration":260013,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880367014},{"traceId":"f3118a7bad57c10e","parentId":10973,"name":"add-entry","id":10976,"timestamp":12884231739,"duration":259952,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880367014},{"traceId":"f3118a7bad57c10e","parentId":10973,"name":"add-entry","id":10977,"timestamp":12884231767,"duration":259935,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880367014},{"traceId":"f3118a7bad57c10e","parentId":10973,"name":"add-entry","id":10979,"timestamp":12884231780,"duration":259924,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880367014},{"traceId":"f3118a7bad57c10e","parentId":10982,"name":"next-swc-transform","id":10983,"timestamp":12884486433,"duration":8519,"tags":{},"startTime":1691880367268},{"traceId":"f3118a7bad57c10e","parentId":10981,"name":"next-swc-loader","id":10982,"timestamp":12884486197,"duration":8762,"tags":{},"startTime":1691880367268},{"traceId":"f3118a7bad57c10e","parentId":10972,"name":"build-module-tsx","id":10981,"timestamp":12884485815,"duration":13881,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880367268},{"traceId":"f3118a7bad57c10e","parentId":10973,"name":"add-entry","id":10978,"timestamp":12884231774,"duration":269381,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880367014},{"traceId":"f3118a7bad57c10e","parentId":10972,"name":"make","id":10973,"timestamp":12884210651,"duration":290549,"tags":{},"startTime":1691880366993},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"chunk-graph","id":10985,"timestamp":12884501943,"duration":467,"tags":{},"startTime":1691880367284},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"optimize-modules","id":10987,"timestamp":12884502455,"duration":6,"tags":{},"startTime":1691880367284},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"optimize-chunks","id":10988,"timestamp":12884502593,"duration":90,"tags":{},"startTime":1691880367285},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"optimize-tree","id":10989,"timestamp":12884502763,"duration":15,"tags":{},"startTime":1691880367285},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"optimize-chunk-modules","id":10990,"timestamp":12884502865,"duration":13,"tags":{},"startTime":1691880367285},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"optimize","id":10986,"timestamp":12884502436,"duration":628,"tags":{},"startTime":1691880367284},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"module-hash","id":10991,"timestamp":12884503600,"duration":248,"tags":{},"startTime":1691880367286},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"code-generation","id":10992,"timestamp":12884503874,"duration":866,"tags":{},"startTime":1691880367286},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"hash","id":10993,"timestamp":12884506368,"duration":2303,"tags":{},"startTime":1691880367288},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"code-generation-jobs","id":10994,"timestamp":12884508669,"duration":178,"tags":{},"startTime":1691880367291},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"module-assets","id":10995,"timestamp":12884508828,"duration":49,"tags":{},"startTime":1691880367291},{"traceId":"f3118a7bad57c10e","parentId":10984,"name":"create-chunk-assets","id":10996,"timestamp":12884508886,"duration":2163,"tags":{},"startTime":1691880367291},{"traceId":"f3118a7bad57c10e","parentId":10972,"name":"seal","id":10984,"timestamp":12884501798,"duration":12515,"tags":{},"startTime":1691880367284},{"traceId":"f3118a7bad57c10e","parentId":10938,"name":"webpack-compilation","id":10972,"timestamp":12884209681,"duration":304711,"tags":{"name":"server"},"startTime":1691880366992},{"traceId":"f3118a7bad57c10e","parentId":10938,"name":"emit","id":10997,"timestamp":12884514506,"duration":7011,"tags":{},"startTime":1691880367296},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10938,"timestamp":12883251315,"duration":1274458,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880366033}] -[{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11002,"timestamp":12888707905,"duration":9852,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11006,"timestamp":12888708040,"duration":12932,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11008,"timestamp":12888708051,"duration":12935,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11005,"timestamp":12888708036,"duration":14484,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11012,"name":"read-resource","id":11013,"timestamp":12888720427,"duration":2257,"tags":{},"startTime":1691880371503},{"traceId":"f3118a7bad57c10e","parentId":11010,"name":"next-swc-transform","id":11011,"timestamp":12888719271,"duration":48352,"tags":{},"startTime":1691880371501},{"traceId":"f3118a7bad57c10e","parentId":11009,"name":"next-swc-loader","id":11010,"timestamp":12888718957,"duration":48673,"tags":{},"startTime":1691880371501},{"traceId":"f3118a7bad57c10e","parentId":11000,"name":"build-module-tsx","id":11009,"timestamp":12888718538,"duration":59531,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880371501},{"traceId":"f3118a7bad57c10e","parentId":11014,"name":"postcss-process","id":11015,"timestamp":12888722754,"duration":167398,"tags":{},"startTime":1691880371505},{"traceId":"f3118a7bad57c10e","parentId":11012,"name":"postcss-loader","id":11014,"timestamp":12888722728,"duration":168025,"tags":{},"startTime":1691880371505},{"traceId":"f3118a7bad57c10e","parentId":11012,"name":"css-loader","id":11016,"timestamp":12888890788,"duration":30180,"tags":{"astUsed":"true"},"startTime":1691880371673},{"traceId":"f3118a7bad57c10e","parentId":11000,"name":"build-module-css","id":11012,"timestamp":12888720033,"duration":203124,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880371502},{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11003,"timestamp":12888708020,"duration":217336,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11007,"timestamp":12888708046,"duration":253909,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11001,"name":"add-entry","id":11004,"timestamp":12888708031,"duration":506157,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880371490},{"traceId":"f3118a7bad57c10e","parentId":11000,"name":"make","id":11001,"timestamp":12888706544,"duration":507675,"tags":{},"startTime":1691880371489},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"chunk-graph","id":11018,"timestamp":12889224696,"duration":114462,"tags":{},"startTime":1691880372007},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"optimize-modules","id":11020,"timestamp":12889339211,"duration":13,"tags":{},"startTime":1691880372121},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"optimize-chunks","id":11021,"timestamp":12889339249,"duration":271,"tags":{},"startTime":1691880372121},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"optimize-tree","id":11022,"timestamp":12889339558,"duration":11,"tags":{},"startTime":1691880372122},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"optimize-chunk-modules","id":11023,"timestamp":12889339603,"duration":9,"tags":{},"startTime":1691880372122},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"optimize","id":11019,"timestamp":12889339192,"duration":2909,"tags":{},"startTime":1691880372121},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"module-hash","id":11024,"timestamp":12889367261,"duration":7600,"tags":{},"startTime":1691880372149},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"code-generation","id":11025,"timestamp":12889374905,"duration":51905,"tags":{},"startTime":1691880372157},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"hash","id":11026,"timestamp":12889433462,"duration":10260,"tags":{},"startTime":1691880372216},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"code-generation-jobs","id":11027,"timestamp":12889443719,"duration":10877,"tags":{},"startTime":1691880372226},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"module-assets","id":11028,"timestamp":12889454563,"duration":387,"tags":{},"startTime":1691880372237},{"traceId":"f3118a7bad57c10e","parentId":11017,"name":"create-chunk-assets","id":11029,"timestamp":12889454965,"duration":2867,"tags":{},"startTime":1691880372237},{"traceId":"f3118a7bad57c10e","parentId":11000,"name":"NextJsBuildManifest-generateClientManifest","id":11031,"timestamp":12889468249,"duration":127,"tags":{},"startTime":1691880372250},{"traceId":"f3118a7bad57c10e","parentId":11000,"name":"NextJsBuildManifest-createassets","id":11030,"timestamp":12889467894,"duration":491,"tags":{},"startTime":1691880372250},{"traceId":"f3118a7bad57c10e","parentId":11000,"name":"seal","id":11017,"timestamp":12889216739,"duration":256194,"tags":{},"startTime":1691880371999},{"traceId":"f3118a7bad57c10e","parentId":10998,"name":"webpack-compilation","id":11000,"timestamp":12888706160,"duration":766837,"tags":{"name":"client"},"startTime":1691880371488},{"traceId":"f3118a7bad57c10e","parentId":10998,"name":"emit","id":11032,"timestamp":12889473032,"duration":31037,"tags":{},"startTime":1691880372255},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":10998,"timestamp":12888697595,"duration":807683,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880371480},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":11035,"timestamp":12889519888,"duration":0,"tags":{},"startTime":1691880372302},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":11041,"timestamp":1691880371481000,"duration":1048000,"tags":{"clientId":1691878514722},"startTime":1691880372536},{"traceId":"f3118a7bad57c10e","parentId":11034,"name":"add-entry","id":11036,"timestamp":12889661567,"duration":138734,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880372444},{"traceId":"f3118a7bad57c10e","parentId":11034,"name":"add-entry","id":11037,"timestamp":12889661630,"duration":138683,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880372444},{"traceId":"f3118a7bad57c10e","parentId":11034,"name":"add-entry","id":11038,"timestamp":12889661640,"duration":138690,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880372444},{"traceId":"f3118a7bad57c10e","parentId":11034,"name":"add-entry","id":11040,"timestamp":12889661649,"duration":138684,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880372444},{"traceId":"f3118a7bad57c10e","parentId":11043,"name":"next-swc-transform","id":11044,"timestamp":12889793618,"duration":8601,"tags":{},"startTime":1691880372576},{"traceId":"f3118a7bad57c10e","parentId":11042,"name":"next-swc-loader","id":11043,"timestamp":12889793485,"duration":8741,"tags":{},"startTime":1691880372576},{"traceId":"f3118a7bad57c10e","parentId":11033,"name":"build-module-tsx","id":11042,"timestamp":12889792948,"duration":11421,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880372575},{"traceId":"f3118a7bad57c10e","parentId":11034,"name":"add-entry","id":11039,"timestamp":12889661644,"duration":143949,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880372444},{"traceId":"f3118a7bad57c10e","parentId":11033,"name":"make","id":11034,"timestamp":12889512136,"duration":293497,"tags":{},"startTime":1691880372294},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"chunk-graph","id":11046,"timestamp":12889807929,"duration":3064,"tags":{},"startTime":1691880372590},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"optimize-modules","id":11048,"timestamp":12889811029,"duration":5,"tags":{},"startTime":1691880372593},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"optimize-chunks","id":11049,"timestamp":12889811049,"duration":29,"tags":{},"startTime":1691880372593},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"optimize-tree","id":11050,"timestamp":12889812573,"duration":19,"tags":{},"startTime":1691880372595},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"optimize-chunk-modules","id":11051,"timestamp":12889812633,"duration":7,"tags":{},"startTime":1691880372595},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"optimize","id":11047,"timestamp":12889811016,"duration":1733,"tags":{},"startTime":1691880372593},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"module-hash","id":11052,"timestamp":12889813009,"duration":189,"tags":{},"startTime":1691880372595},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"code-generation","id":11053,"timestamp":12889813210,"duration":536,"tags":{},"startTime":1691880372595},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"hash","id":11054,"timestamp":12889814569,"duration":1060,"tags":{},"startTime":1691880372597},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"code-generation-jobs","id":11055,"timestamp":12889815628,"duration":82,"tags":{},"startTime":1691880372598},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"module-assets","id":11056,"timestamp":12889815698,"duration":34,"tags":{},"startTime":1691880372598},{"traceId":"f3118a7bad57c10e","parentId":11045,"name":"create-chunk-assets","id":11057,"timestamp":12889815739,"duration":2272,"tags":{},"startTime":1691880372598},{"traceId":"f3118a7bad57c10e","parentId":11033,"name":"seal","id":11045,"timestamp":12889807817,"duration":10754,"tags":{},"startTime":1691880372590},{"traceId":"f3118a7bad57c10e","parentId":10999,"name":"webpack-compilation","id":11033,"timestamp":12889511832,"duration":306781,"tags":{"name":"server"},"startTime":1691880372294},{"traceId":"f3118a7bad57c10e","parentId":10999,"name":"emit","id":11058,"timestamp":12889818641,"duration":5752,"tags":{},"startTime":1691880372601},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":10999,"timestamp":12888698084,"duration":1128133,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880371480}] -[{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11063,"timestamp":12930737254,"duration":22422,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11067,"timestamp":12930737400,"duration":26335,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11069,"timestamp":12930737415,"duration":26333,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11066,"timestamp":12930737391,"duration":27698,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11073,"name":"read-resource","id":11074,"timestamp":12930763434,"duration":1837,"tags":{},"startTime":1691880413547},{"traceId":"f3118a7bad57c10e","parentId":11071,"name":"next-swc-transform","id":11072,"timestamp":12930761335,"duration":24585,"tags":{},"startTime":1691880413545},{"traceId":"f3118a7bad57c10e","parentId":11070,"name":"next-swc-loader","id":11071,"timestamp":12930761048,"duration":24881,"tags":{},"startTime":1691880413544},{"traceId":"f3118a7bad57c10e","parentId":11061,"name":"build-module-tsx","id":11070,"timestamp":12930760714,"duration":38290,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880413544},{"traceId":"f3118a7bad57c10e","parentId":11075,"name":"postcss-process","id":11076,"timestamp":12930765347,"duration":537200,"tags":{},"startTime":1691880413549},{"traceId":"f3118a7bad57c10e","parentId":11073,"name":"postcss-loader","id":11075,"timestamp":12930765312,"duration":538577,"tags":{},"startTime":1691880413549},{"traceId":"f3118a7bad57c10e","parentId":11073,"name":"css-loader","id":11077,"timestamp":12931303926,"duration":34824,"tags":{"astUsed":"true"},"startTime":1691880414087},{"traceId":"f3118a7bad57c10e","parentId":11061,"name":"build-module-css","id":11073,"timestamp":12930763240,"duration":595865,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880413547},{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11064,"timestamp":12930737375,"duration":629583,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11068,"timestamp":12930737410,"duration":646608,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11062,"name":"add-entry","id":11065,"timestamp":12930737387,"duration":1094120,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880413521},{"traceId":"f3118a7bad57c10e","parentId":11061,"name":"make","id":11062,"timestamp":12930734476,"duration":1097066,"tags":{},"startTime":1691880413518},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"chunk-graph","id":11079,"timestamp":12931873865,"duration":48817,"tags":{},"startTime":1691880414657},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"optimize-modules","id":11081,"timestamp":12931922733,"duration":9,"tags":{},"startTime":1691880414706},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"optimize-chunks","id":11082,"timestamp":12931922771,"duration":239,"tags":{},"startTime":1691880414706},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"optimize-tree","id":11083,"timestamp":12931923044,"duration":9,"tags":{},"startTime":1691880414706},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"optimize-chunk-modules","id":11084,"timestamp":12931923091,"duration":8,"tags":{},"startTime":1691880414706},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"optimize","id":11080,"timestamp":12931922712,"duration":10265,"tags":{},"startTime":1691880414706},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"module-hash","id":11085,"timestamp":12931972200,"duration":3085,"tags":{},"startTime":1691880414756},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"code-generation","id":11086,"timestamp":12931975332,"duration":40280,"tags":{},"startTime":1691880414759},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"hash","id":11087,"timestamp":12932022471,"duration":20113,"tags":{},"startTime":1691880414806},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"code-generation-jobs","id":11088,"timestamp":12932042581,"duration":307,"tags":{},"startTime":1691880414826},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"module-assets","id":11089,"timestamp":12932042849,"duration":1240,"tags":{},"startTime":1691880414826},{"traceId":"f3118a7bad57c10e","parentId":11078,"name":"create-chunk-assets","id":11090,"timestamp":12932044189,"duration":35405,"tags":{},"startTime":1691880414828},{"traceId":"f3118a7bad57c10e","parentId":11061,"name":"NextJsBuildManifest-generateClientManifest","id":11092,"timestamp":12932187777,"duration":149,"tags":{},"startTime":1691880414971},{"traceId":"f3118a7bad57c10e","parentId":11061,"name":"NextJsBuildManifest-createassets","id":11091,"timestamp":12932187665,"duration":269,"tags":{},"startTime":1691880414971},{"traceId":"f3118a7bad57c10e","parentId":11061,"name":"seal","id":11078,"timestamp":12931833731,"duration":371402,"tags":{},"startTime":1691880414617},{"traceId":"f3118a7bad57c10e","parentId":11059,"name":"webpack-compilation","id":11061,"timestamp":12930734018,"duration":1471173,"tags":{"name":"client"},"startTime":1691880413517},{"traceId":"f3118a7bad57c10e","parentId":11059,"name":"emit","id":11093,"timestamp":12932205232,"duration":36489,"tags":{},"startTime":1691880414989},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":11059,"timestamp":12930723936,"duration":1519529,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880413507},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":11096,"timestamp":12932271217,"duration":0,"tags":{},"startTime":1691880415055},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":11102,"timestamp":1691880413508000,"duration":1620000,"tags":{"clientId":1691878514722},"startTime":1691880415138},{"traceId":"f3118a7bad57c10e","parentId":11095,"name":"add-entry","id":11097,"timestamp":12932275292,"duration":119747,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880415059},{"traceId":"f3118a7bad57c10e","parentId":11095,"name":"add-entry","id":11098,"timestamp":12932275371,"duration":123274,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880415059},{"traceId":"f3118a7bad57c10e","parentId":11095,"name":"add-entry","id":11099,"timestamp":12932275381,"duration":123279,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880415059},{"traceId":"f3118a7bad57c10e","parentId":11095,"name":"add-entry","id":11101,"timestamp":12932275392,"duration":123272,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880415059},{"traceId":"f3118a7bad57c10e","parentId":11104,"name":"next-swc-transform","id":11105,"timestamp":12932388986,"duration":13103,"tags":{},"startTime":1691880415172},{"traceId":"f3118a7bad57c10e","parentId":11103,"name":"next-swc-loader","id":11104,"timestamp":12932388768,"duration":13327,"tags":{},"startTime":1691880415172},{"traceId":"f3118a7bad57c10e","parentId":11094,"name":"build-module-tsx","id":11103,"timestamp":12932388492,"duration":18601,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880415172},{"traceId":"f3118a7bad57c10e","parentId":11095,"name":"add-entry","id":11100,"timestamp":12932275387,"duration":133234,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880415059},{"traceId":"f3118a7bad57c10e","parentId":11094,"name":"make","id":11095,"timestamp":12932253511,"duration":155158,"tags":{},"startTime":1691880415037},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"chunk-graph","id":11107,"timestamp":12932409259,"duration":763,"tags":{},"startTime":1691880415193},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"optimize-modules","id":11109,"timestamp":12932410103,"duration":12,"tags":{},"startTime":1691880415193},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"optimize-chunks","id":11110,"timestamp":12932410154,"duration":272,"tags":{},"startTime":1691880415193},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"optimize-tree","id":11111,"timestamp":12932410472,"duration":60,"tags":{},"startTime":1691880415194},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"optimize-chunk-modules","id":11112,"timestamp":12932410569,"duration":8,"tags":{},"startTime":1691880415194},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"optimize","id":11108,"timestamp":12932410062,"duration":638,"tags":{},"startTime":1691880415193},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"module-hash","id":11113,"timestamp":12932411111,"duration":230,"tags":{},"startTime":1691880415194},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"code-generation","id":11114,"timestamp":12932411361,"duration":690,"tags":{},"startTime":1691880415195},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"hash","id":11115,"timestamp":12932412858,"duration":5414,"tags":{},"startTime":1691880415196},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"code-generation-jobs","id":11116,"timestamp":12932418271,"duration":121,"tags":{},"startTime":1691880415202},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"module-assets","id":11117,"timestamp":12932418377,"duration":40,"tags":{},"startTime":1691880415202},{"traceId":"f3118a7bad57c10e","parentId":11106,"name":"create-chunk-assets","id":11118,"timestamp":12932418425,"duration":1887,"tags":{},"startTime":1691880415202},{"traceId":"f3118a7bad57c10e","parentId":11094,"name":"seal","id":11106,"timestamp":12932409130,"duration":11618,"tags":{},"startTime":1691880415192},{"traceId":"f3118a7bad57c10e","parentId":11060,"name":"webpack-compilation","id":11094,"timestamp":12932253071,"duration":167729,"tags":{"name":"server"},"startTime":1691880415036},{"traceId":"f3118a7bad57c10e","parentId":11060,"name":"emit","id":11119,"timestamp":12932420835,"duration":9256,"tags":{},"startTime":1691880415204},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":11060,"timestamp":12930724326,"duration":1715314,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880413508}] -[{"traceId":"f3118a7bad57c10e","parentId":11130,"name":"next-swc-transform","id":11131,"timestamp":12936773379,"duration":7749,"tags":{},"startTime":1691880419557},{"traceId":"f3118a7bad57c10e","parentId":11129,"name":"next-swc-loader","id":11130,"timestamp":12936773127,"duration":8008,"tags":{},"startTime":1691880419557},{"traceId":"f3118a7bad57c10e","parentId":11122,"name":"build-module-tsx","id":11129,"timestamp":12936772718,"duration":13746,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880419556},{"traceId":"f3118a7bad57c10e","parentId":11123,"name":"add-entry","id":11124,"timestamp":12936733879,"duration":54132,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880419517},{"traceId":"f3118a7bad57c10e","parentId":11123,"name":"add-entry","id":11125,"timestamp":12936734001,"duration":54022,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880419517},{"traceId":"f3118a7bad57c10e","parentId":11123,"name":"add-entry","id":11126,"timestamp":12936734012,"duration":54014,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880419517},{"traceId":"f3118a7bad57c10e","parentId":11123,"name":"add-entry","id":11127,"timestamp":12936734017,"duration":54011,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880419517},{"traceId":"f3118a7bad57c10e","parentId":11123,"name":"add-entry","id":11128,"timestamp":12936734022,"duration":55749,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880419517},{"traceId":"f3118a7bad57c10e","parentId":11122,"name":"make","id":11123,"timestamp":12936720258,"duration":69552,"tags":{},"startTime":1691880419504},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"chunk-graph","id":11133,"timestamp":12936790375,"duration":1329,"tags":{},"startTime":1691880419574},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"optimize-modules","id":11135,"timestamp":12936791745,"duration":6,"tags":{},"startTime":1691880419575},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"optimize-chunks","id":11136,"timestamp":12936791777,"duration":37,"tags":{},"startTime":1691880419575},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"optimize-tree","id":11137,"timestamp":12936791843,"duration":7,"tags":{},"startTime":1691880419575},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"optimize-chunk-modules","id":11138,"timestamp":12936791869,"duration":9,"tags":{},"startTime":1691880419575},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"optimize","id":11134,"timestamp":12936791729,"duration":352,"tags":{},"startTime":1691880419575},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"module-hash","id":11139,"timestamp":12936792549,"duration":1338,"tags":{},"startTime":1691880419576},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"code-generation","id":11140,"timestamp":12936793915,"duration":766,"tags":{},"startTime":1691880419577},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"hash","id":11141,"timestamp":12936795610,"duration":2705,"tags":{},"startTime":1691880419579},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"code-generation-jobs","id":11142,"timestamp":12936798314,"duration":172,"tags":{},"startTime":1691880419582},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"module-assets","id":11143,"timestamp":12936798442,"duration":74,"tags":{},"startTime":1691880419582},{"traceId":"f3118a7bad57c10e","parentId":11132,"name":"create-chunk-assets","id":11144,"timestamp":12936798524,"duration":1403,"tags":{},"startTime":1691880419582},{"traceId":"f3118a7bad57c10e","parentId":11122,"name":"seal","id":11132,"timestamp":12936790214,"duration":10017,"tags":{},"startTime":1691880419574},{"traceId":"f3118a7bad57c10e","parentId":11120,"name":"webpack-compilation","id":11122,"timestamp":12936719891,"duration":80379,"tags":{"name":"server"},"startTime":1691880419503},{"traceId":"f3118a7bad57c10e","parentId":11120,"name":"emit","id":11145,"timestamp":12936800294,"duration":27985,"tags":{},"startTime":1691880419584},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":11120,"timestamp":12936709940,"duration":119588,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880419493},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11148,"timestamp":12936836540,"duration":13356,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11152,"timestamp":12936836658,"duration":19016,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11153,"timestamp":12936836667,"duration":19018,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11151,"timestamp":12936836652,"duration":20390,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11158,"name":"read-resource","id":11159,"timestamp":12936855334,"duration":4725,"tags":{},"startTime":1691880419639},{"traceId":"f3118a7bad57c10e","parentId":11156,"name":"next-swc-transform","id":11157,"timestamp":12936854114,"duration":25411,"tags":{},"startTime":1691880419638},{"traceId":"f3118a7bad57c10e","parentId":11155,"name":"next-swc-loader","id":11156,"timestamp":12936853973,"duration":25560,"tags":{},"startTime":1691880419637},{"traceId":"f3118a7bad57c10e","parentId":11146,"name":"build-module-tsx","id":11155,"timestamp":12936853639,"duration":51039,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880419637},{"traceId":"f3118a7bad57c10e","parentId":11160,"name":"postcss-process","id":11161,"timestamp":12936860179,"duration":497407,"tags":{},"startTime":1691880419644},{"traceId":"f3118a7bad57c10e","parentId":11158,"name":"postcss-loader","id":11160,"timestamp":12936860142,"duration":498097,"tags":{},"startTime":1691880419644},{"traceId":"f3118a7bad57c10e","parentId":11158,"name":"css-loader","id":11162,"timestamp":12937358280,"duration":218059,"tags":{"astUsed":"true"},"startTime":1691880420142},{"traceId":"f3118a7bad57c10e","parentId":11146,"name":"build-module-css","id":11158,"timestamp":12936855109,"duration":729510,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880419639},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11149,"timestamp":12936836633,"duration":786566,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11154,"timestamp":12936836675,"duration":874179,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11147,"name":"add-entry","id":11150,"timestamp":12936836643,"duration":1152902,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880419620},{"traceId":"f3118a7bad57c10e","parentId":11146,"name":"make","id":11147,"timestamp":12936832247,"duration":1157339,"tags":{},"startTime":1691880419616},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"chunk-graph","id":11164,"timestamp":12938000761,"duration":178279,"tags":{},"startTime":1691880420784},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"optimize-modules","id":11166,"timestamp":12938179086,"duration":9,"tags":{},"startTime":1691880420963},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"optimize-chunks","id":11167,"timestamp":12938179115,"duration":225,"tags":{},"startTime":1691880420963},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"optimize-tree","id":11168,"timestamp":12938179373,"duration":10,"tags":{},"startTime":1691880420963},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"optimize-chunk-modules","id":11169,"timestamp":12938179413,"duration":8,"tags":{},"startTime":1691880420963},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"optimize","id":11165,"timestamp":12938179070,"duration":2309,"tags":{},"startTime":1691880420963},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"module-hash","id":11170,"timestamp":12938205791,"duration":4694,"tags":{},"startTime":1691880420989},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"code-generation","id":11171,"timestamp":12938210523,"duration":35390,"tags":{},"startTime":1691880420994},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"hash","id":11172,"timestamp":12938259018,"duration":37253,"tags":{},"startTime":1691880421042},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"code-generation-jobs","id":11173,"timestamp":12938296269,"duration":217,"tags":{},"startTime":1691880421080},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"module-assets","id":11174,"timestamp":12938296459,"duration":6012,"tags":{},"startTime":1691880421080},{"traceId":"f3118a7bad57c10e","parentId":11163,"name":"create-chunk-assets","id":11175,"timestamp":12938302506,"duration":2336,"tags":{},"startTime":1691880421086},{"traceId":"f3118a7bad57c10e","parentId":11146,"name":"NextJsBuildManifest-generateClientManifest","id":11177,"timestamp":12938308645,"duration":213,"tags":{},"startTime":1691880421092},{"traceId":"f3118a7bad57c10e","parentId":11146,"name":"NextJsBuildManifest-createassets","id":11176,"timestamp":12938308483,"duration":388,"tags":{},"startTime":1691880421092},{"traceId":"f3118a7bad57c10e","parentId":11146,"name":"seal","id":11163,"timestamp":12937995902,"duration":324776,"tags":{},"startTime":1691880420779},{"traceId":"f3118a7bad57c10e","parentId":11121,"name":"webpack-compilation","id":11146,"timestamp":12936831781,"duration":1488951,"tags":{"name":"client"},"startTime":1691880419615},{"traceId":"f3118a7bad57c10e","parentId":11121,"name":"emit","id":11178,"timestamp":12938320767,"duration":86963,"tags":{},"startTime":1691880421104},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":11121,"timestamp":12936710221,"duration":1714508,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880419494}] -[{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-success","id":11179,"timestamp":12938473042,"duration":0,"tags":{},"startTime":1691880421257},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"client-hmr-latency","id":11180,"timestamp":1691880419494000,"duration":1830000,"tags":{"clientId":1691878514722},"startTime":1691880421327},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11185,"timestamp":13023770272,"duration":15593,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11189,"timestamp":13023770502,"duration":19722,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11191,"timestamp":13023770514,"duration":19720,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11188,"timestamp":13023770494,"duration":21378,"tags":{"request":"/Users/muaadhm/frontend/node_modules/next/dist/client/router.js"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11195,"name":"read-resource","id":11196,"timestamp":13023789940,"duration":2269,"tags":{},"startTime":1691880506575},{"traceId":"f3118a7bad57c10e","parentId":11193,"name":"next-swc-transform","id":11194,"timestamp":13023788517,"duration":41667,"tags":{},"startTime":1691880506574},{"traceId":"f3118a7bad57c10e","parentId":11192,"name":"next-swc-loader","id":11193,"timestamp":13023787555,"duration":42636,"tags":{},"startTime":1691880506573},{"traceId":"f3118a7bad57c10e","parentId":11183,"name":"build-module-tsx","id":11192,"timestamp":13023786973,"duration":90110,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880506572},{"traceId":"f3118a7bad57c10e","parentId":11197,"name":"postcss-process","id":11198,"timestamp":13023792285,"duration":176666,"tags":{},"startTime":1691880506578},{"traceId":"f3118a7bad57c10e","parentId":11195,"name":"postcss-loader","id":11197,"timestamp":13023792254,"duration":179368,"tags":{},"startTime":1691880506578},{"traceId":"f3118a7bad57c10e","parentId":11195,"name":"css-loader","id":11199,"timestamp":13023971662,"duration":33963,"tags":{"astUsed":"true"},"startTime":1691880506757},{"traceId":"f3118a7bad57c10e","parentId":11183,"name":"build-module-css","id":11195,"timestamp":13023789615,"duration":226314,"tags":{"name":"/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[1]!/Users/muaadhm/frontend/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[1].oneOf[13].use[2]!/Users/muaadhm/frontend/styles/globals.css","layer":"null"},"startTime":1691880506575},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11186,"timestamp":13023770473,"duration":248721,"tags":{"request":"./node_modules/next/dist/client/next-dev.js"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11190,"timestamp":13023770510,"duration":265576,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fmuaadhm%2Ffrontend%2Fpages%2Findex.tsx&page=%2F!"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11184,"name":"add-entry","id":11187,"timestamp":13023770488,"duration":693306,"tags":{"request":"next-client-pages-loader?absolutePagePath=private-next-pages%2F_app&page=%2F_app!"},"startTime":1691880506556},{"traceId":"f3118a7bad57c10e","parentId":11183,"name":"make","id":11184,"timestamp":13023766340,"duration":697492,"tags":{},"startTime":1691880506552},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"chunk-graph","id":11201,"timestamp":13024477972,"duration":21493,"tags":{},"startTime":1691880507263},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"optimize-modules","id":11203,"timestamp":13024499641,"duration":54,"tags":{},"startTime":1691880507285},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"optimize-chunks","id":11204,"timestamp":13024499792,"duration":349,"tags":{},"startTime":1691880507285},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"optimize-tree","id":11205,"timestamp":13024500243,"duration":52,"tags":{},"startTime":1691880507286},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"optimize-chunk-modules","id":11206,"timestamp":13024500388,"duration":1311,"tags":{},"startTime":1691880507286},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"optimize","id":11202,"timestamp":13024499562,"duration":10960,"tags":{},"startTime":1691880507285},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"module-hash","id":11207,"timestamp":13024575251,"duration":12739,"tags":{},"startTime":1691880507361},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"code-generation","id":11208,"timestamp":13024588023,"duration":40829,"tags":{},"startTime":1691880507373},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"hash","id":11209,"timestamp":13024643465,"duration":50752,"tags":{},"startTime":1691880507429},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"code-generation-jobs","id":11210,"timestamp":13024694215,"duration":300,"tags":{},"startTime":1691880507480},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"module-assets","id":11211,"timestamp":13024694476,"duration":377,"tags":{},"startTime":1691880507480},{"traceId":"f3118a7bad57c10e","parentId":11200,"name":"create-chunk-assets","id":11212,"timestamp":13024694868,"duration":45659,"tags":{},"startTime":1691880507480},{"traceId":"f3118a7bad57c10e","parentId":11183,"name":"NextJsBuildManifest-generateClientManifest","id":11214,"timestamp":13024744215,"duration":100,"tags":{},"startTime":1691880507530},{"traceId":"f3118a7bad57c10e","parentId":11183,"name":"NextJsBuildManifest-createassets","id":11213,"timestamp":13024744108,"duration":215,"tags":{},"startTime":1691880507529},{"traceId":"f3118a7bad57c10e","parentId":11183,"name":"seal","id":11200,"timestamp":13024466676,"duration":281735,"tags":{},"startTime":1691880507252},{"traceId":"f3118a7bad57c10e","parentId":11181,"name":"webpack-compilation","id":11183,"timestamp":13023764064,"duration":984407,"tags":{"name":"client"},"startTime":1691880506549},{"traceId":"f3118a7bad57c10e","parentId":11181,"name":"emit","id":11215,"timestamp":13024748511,"duration":423350,"tags":{},"startTime":1691880507534},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-client","id":11181,"timestamp":13023755524,"duration":1418538,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880506541},{"traceId":"f3118a7bad57c10e","parentId":11217,"name":"add-entry","id":11218,"timestamp":13025193375,"duration":109974,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_app&preferredRegion=&absolutePagePath=private-next-pages%2F_app&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880507979},{"traceId":"f3118a7bad57c10e","parentId":11217,"name":"add-entry","id":11219,"timestamp":13025193497,"duration":109868,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_document&preferredRegion=&absolutePagePath=private-next-pages%2F_document&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880507979},{"traceId":"f3118a7bad57c10e","parentId":11217,"name":"add-entry","id":11220,"timestamp":13025193511,"duration":109965,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=private-next-pages%2F_error&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880507979},{"traceId":"f3118a7bad57c10e","parentId":11217,"name":"add-entry","id":11222,"timestamp":13025193652,"duration":109832,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=.%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880507979},{"traceId":"f3118a7bad57c10e","parentId":11224,"name":"next-swc-transform","id":11225,"timestamp":13025298053,"duration":11260,"tags":{},"startTime":1691880508083},{"traceId":"f3118a7bad57c10e","parentId":11223,"name":"next-swc-loader","id":11224,"timestamp":13025297835,"duration":11519,"tags":{},"startTime":1691880508083},{"traceId":"f3118a7bad57c10e","parentId":11216,"name":"build-module-tsx","id":11223,"timestamp":13025296932,"duration":49910,"tags":{"name":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx","layer":"null"},"startTime":1691880508082},{"traceId":"f3118a7bad57c10e","parentId":11217,"name":"add-entry","id":11221,"timestamp":13025193518,"duration":155754,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F&preferredRegion=&absolutePagePath=.%2Fpages%2Findex.tsx&absoluteAppPath=private-next-pages%2F_app&absoluteDocumentPath=private-next-pages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1691880507979},{"traceId":"f3118a7bad57c10e","parentId":11216,"name":"make","id":11217,"timestamp":13025175509,"duration":174033,"tags":{},"startTime":1691880507961},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"chunk-graph","id":11227,"timestamp":13025409417,"duration":1243,"tags":{},"startTime":1691880508195},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"optimize-modules","id":11229,"timestamp":13025410690,"duration":8,"tags":{},"startTime":1691880508196},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"optimize-chunks","id":11230,"timestamp":13025410831,"duration":119,"tags":{},"startTime":1691880508196},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"optimize-tree","id":11231,"timestamp":13025411036,"duration":12,"tags":{},"startTime":1691880508196},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"optimize-chunk-modules","id":11232,"timestamp":13025411118,"duration":8,"tags":{},"startTime":1691880508196},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"optimize","id":11228,"timestamp":13025410680,"duration":621,"tags":{},"startTime":1691880508196},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"module-hash","id":11233,"timestamp":13025412937,"duration":3916,"tags":{},"startTime":1691880508198},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"code-generation","id":11234,"timestamp":13025418052,"duration":661,"tags":{},"startTime":1691880508203},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"hash","id":11235,"timestamp":13025420058,"duration":14177,"tags":{},"startTime":1691880508205},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"code-generation-jobs","id":11236,"timestamp":13025434234,"duration":138,"tags":{},"startTime":1691880508220},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"module-assets","id":11237,"timestamp":13025434360,"duration":40,"tags":{},"startTime":1691880508220},{"traceId":"f3118a7bad57c10e","parentId":11226,"name":"create-chunk-assets","id":11238,"timestamp":13025434407,"duration":10157,"tags":{},"startTime":1691880508220},{"traceId":"f3118a7bad57c10e","parentId":11216,"name":"seal","id":11226,"timestamp":13025409305,"duration":35848,"tags":{},"startTime":1691880508195},{"traceId":"f3118a7bad57c10e","parentId":11182,"name":"webpack-compilation","id":11216,"timestamp":13025175114,"duration":270075,"tags":{"name":"server"},"startTime":1691880507960},{"traceId":"f3118a7bad57c10e","parentId":11182,"name":"emit","id":11239,"timestamp":13025445212,"duration":46845,"tags":{},"startTime":1691880508231},{"traceId":"f3118a7bad57c10e","parentId":1,"name":"webpack-invalidated-server","id":11182,"timestamp":13023755733,"duration":1738637,"tags":{"trigger":"/Users/muaadhm/frontend/pages/components/CreditCard.tsx"},"startTime":1691880506541}] diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..c408571 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,19 @@ +{ + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "quoteProps": "consistent", + "endOfLine": "lf", + "importOrder": [ + "^(child_process|crypto|events|fs|http|https|os|path)(\\/(.*))?$", + "<THIRD_PARTY_MODULES>", + "^~(\\/(.*))?$", + "^@(\\/(.*))?$", + "^@app(\\/(.*))?$", + "^[./]" + ], + "experimentalBabelParserPluginsList": [ + "jsx", + "typescript" + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d7d66be..1b956af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,13 +17,21 @@ "wagmi": "~1.3.2" }, "devDependencies": { + "@eslint-kit/eslint-config-base": "^5.0.2", + "@eslint-kit/eslint-config-node": "^2.0.0", + "@eslint-kit/eslint-config-patch": "^1.0.0", + "@eslint-kit/eslint-config-prettier": "^5.0.0", + "@eslint-kit/eslint-config-react": "^3.0.0", + "@eslint-kit/eslint-config-typescript": "^5.2.0", "@types/node": "^18.16.12", "@types/react": "^18.2.6", "@types/react-scroll": "^1.8.7", + "@typescript-eslint/parser": "^6.3.0", "autoprefixer": "^10.4.14", - "eslint": "^8.15.0", + "eslint": "7.32.0", "eslint-config-next": "^13.4.3", "postcss": "^8.4.27", + "prettier": "2.3.0", "tailwindcss": "^3.3.3", "typescript": "^5.0.4" } @@ -54,6 +62,579 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", + "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.10", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.10", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", + "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/traverse": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", + "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/runtime": { "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", @@ -65,6 +646,74 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, "node_modules/@coinbase/wallet-sdk": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz", @@ -97,89 +746,463 @@ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@eslint-kit/eslint-config-base": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@eslint-kit/eslint-config-base/-/eslint-config-base-5.0.2.tgz", + "integrity": "sha512-Ar8yMXKhWUoo6dJYsbIBgLyzClkhfFqhmh3h5WtM3VqoDpX/Lt5RxtEq46RmowP33+NFwyzBYjixXiT9/ggROA==", + "dev": true, + "dependencies": { + "eslint-plugin-import": "2.23.2", + "eslint-plugin-sonarjs": "0.7.0", + "eslint-plugin-unicorn": "32.0.1" + }, + "peerDependencies": { + "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/eslint-plugin-import": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz", + "integrity": "sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "contains-path": "^1.0.0", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.1", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.4.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.3", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-base/node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-kit/eslint-config-node": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@eslint-kit/eslint-config-node/-/eslint-config-node-2.0.0.tgz", + "integrity": "sha512-NijY2BJkQGDvch7EHTmfOpKhvuYaItiBV+a56kwTB9uPh969Nqp5AumVcGcP9ZKrT8DJh7FOTw9B1CuGY3SyGA==", + "dev": true, + "peerDependencies": { + "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0" + } + }, + "node_modules/@eslint-kit/eslint-config-patch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@eslint-kit/eslint-config-patch/-/eslint-config-patch-1.0.0.tgz", + "integrity": "sha512-b3pODxIVCfXz/q5n/C6NeB5rOjNwS+IKtMAIbi9qk4Pz9wrYgTgjaiOCxj5aEfT0gE49t7/bjvZv2tWlSe171Q==", + "dev": true, + "dependencies": { + "@rushstack/eslint-patch": "1.0.6" + }, + "peerDependencies": { + "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0" + } + }, + "node_modules/@eslint-kit/eslint-config-patch/node_modules/@rushstack/eslint-patch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.0.6.tgz", + "integrity": "sha512-Myxw//kzromB9yWgS8qYGuGVf91oBUUJpNvy5eM50sqvmKLbKjwLxohJnkWGTeeI9v9IBMtPLxz5Gc60FIfvCA==", + "dev": true + }, + "node_modules/@eslint-kit/eslint-config-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@eslint-kit/eslint-config-prettier/-/eslint-config-prettier-5.0.0.tgz", + "integrity": "sha512-MTmAUZFfSjnVs6ZGPsHmLwr3kYOPip4YuRPR6obcHfq7aob5wBmbUQwWyHa561rBABCySnA884hLLcfXztsGkw==", + "dev": true, + "dependencies": { + "@trivago/prettier-plugin-sort-imports": "3.2.0", + "eslint-plugin-prettier": "4.0.0" + }, + "peerDependencies": { + "eslint": "^8.9.0" + } + }, + "node_modules/@eslint-kit/eslint-config-react": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@eslint-kit/eslint-config-react/-/eslint-config-react-3.0.0.tgz", + "integrity": "sha512-DBV0TXA+OaJSqIBX9LNF/u4fkvqiWUo6NmRKt5vJYfwczzHRqONF2+UUAahAouWuF6XNFmf/cHkXLIxZDBIfRQ==", + "dev": true, + "dependencies": { + "eslint-plugin-react": "7.23.2", + "eslint-plugin-react-hooks": "4.2.0" + }, + "peerDependencies": { + "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0" + } + }, + "node_modules/@eslint-kit/eslint-config-react/node_modules/eslint-plugin-react": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", + "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.3", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.3", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.4" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/@eslint-kit/eslint-config-react/node_modules/eslint-plugin-react-hooks": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", + "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@eslint-kit/eslint-config-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@eslint-kit/eslint-config-typescript": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@eslint-kit/eslint-config-typescript/-/eslint-config-typescript-5.2.0.tgz", + "integrity": "sha512-0PzXd7E9ureX2BPnjcFDlRJjwWU0N68L9fJJ+KQrHB82f5mKdeVJ38cHWpqrQaufIj54nLRODt9LCjkvVQM7DA==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "5.19.0", + "@typescript-eslint/parser": "5.19.0" + }, + "peerDependencies": { + "eslint": "^8.9.0" + } + }, + "node_modules/@eslint-kit/eslint-config-typescript/node_modules/@typescript-eslint/parser": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.19.0.tgz", + "integrity": "sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", + "debug": "^4.3.2" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "node_modules/@eslint-kit/eslint-config-typescript/node_modules/@typescript-eslint/scope-manager": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@eslint-kit/eslint-config-typescript/node_modules/@typescript-eslint/types": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", "dev": true, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@eslint-kit/eslint-config-typescript/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", + "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@eslint-kit/eslint-config-typescript/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "dependencies": { "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", - "minimatch": "^3.0.5" + "minimatch": "^3.0.4" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -504,6 +1527,15 @@ "node": ">= 10" } }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, "node_modules/@noble/curves": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.0.0.tgz", @@ -966,6 +1998,24 @@ "@tanstack/react-query": "^4.32.6" } }, + "node_modules/@trivago/prettier-plugin-sort-imports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-3.2.0.tgz", + "integrity": "sha512-DnwLe+z8t/dZX5xBbYZV1+C5STkyK/P6SSq3Nk6NXlJZsgvDZX2eN4ND7bMFgGV/NL/YChWzcNf6ziGba1ktQQ==", + "dev": true, + "dependencies": { + "@babel/core": "7.13.10", + "@babel/generator": "7.13.9", + "@babel/parser": "7.14.6", + "@babel/traverse": "7.13.0", + "@babel/types": "7.13.0", + "javascript-natural-sort": "0.7.1", + "lodash": "4.17.21" + }, + "peerDependencies": { + "prettier": "2.x" + } + }, "node_modules/@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", @@ -982,6 +2032,12 @@ "@types/ms": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -998,17 +2054,23 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.5.tgz", "integrity": "sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA==" }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, "node_modules/@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "devOptional": true + "dev": true }, "node_modules/@types/react": { "version": "18.2.20", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", - "devOptional": true, + "dev": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -1028,7 +2090,7 @@ "version": "0.16.3", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "devOptional": true + "dev": true }, "node_modules/@types/trusted-types": { "version": "2.0.3", @@ -1043,6 +2105,86 @@ "@types/node": "*" } }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz", + "integrity": "sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/type-utils": "5.19.0", + "@typescript-eslint/utils": "5.19.0", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/parser": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.3.0.tgz", @@ -1088,6 +2230,32 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz", + "integrity": "sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.19.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/types": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.3.0.tgz", @@ -1128,6 +2296,104 @@ } } }, + "node_modules/@typescript-eslint/utils": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", + "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", + "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.19.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/visitor-keys": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz", @@ -1852,9 +3118,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1909,6 +3175,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1957,10 +3232,13 @@ "dev": true }, "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } }, "node_modules/aria-query": { "version": "5.3.0", @@ -2106,6 +3384,15 @@ "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/async-mutex": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", @@ -2364,6 +3651,18 @@ "node": ">=6.14.2" } }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -2486,6 +3785,33 @@ "node": ">= 6" } }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -2536,6 +3862,37 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/contains-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-1.0.0.tgz", + "integrity": "sha512-nsTUCGt1AyU3dHIfoE/vgbaU6GMV/FVZgVGpg4x4DnWggpelA9qGqaR9z7SbTM0O17F09F1Oo1bsEmCu+bl0fg==", + "dev": true, + "dependencies": { + "normalize-path": "^2.1.1", + "path-starts-with": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/contains-path/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, "node_modules/copy-to-clipboard": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", @@ -2726,15 +4083,15 @@ "dev": true }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, "node_modules/duplexify": { @@ -2786,6 +4143,28 @@ "node": ">=10.13.0" } }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es-abstract": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", @@ -2902,66 +4281,66 @@ } }, "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.0" } }, "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.3.2", + "debug": "^4.0.1", "doctrine": "^3.0.0", + "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", + "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.0.4", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^10.12.0 || >=12.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3105,18 +4484,6 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -3165,6 +4532,27 @@ "semver": "bin/semver.js" } }, + "node_modules/eslint-plugin-prettier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, "node_modules/eslint-plugin-react": { "version": "7.33.1", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", @@ -3206,18 +4594,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.4", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", @@ -3244,49 +4620,306 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/eslint-plugin-sonarjs": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.7.0.tgz", + "integrity": "sha512-vi6zGkd5Eznc32AQlleWUOMrMeDiUih9wR7nPPfrDCyVRmwYNHIBRPZGv1EgXwELwaPghCSvoAoHoR7uSbBF/Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "32.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-32.0.1.tgz", + "integrity": "sha512-LaZ9utnXtOJjnoDkpm+nQsONUUmyRR0WD6PGROSdQRRW3LRmgK/ZP8wxjW+Ai+2uolKTtuJzLx2mvbIeIoLqpg==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1", + "clean-regexp": "^1.0.0", + "eslint-template-visitor": "^2.3.2", + "eslint-utils": "^2.1.0", + "import-modules": "^2.1.0", + "is-builtin-module": "^3.1.0", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.23", + "reserved-words": "^0.1.2", + "safe-regex": "^2.1.1", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=7.23.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-template-visitor": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz", + "integrity": "sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "eslint-visitor-keys": "^2.0.0", + "esquery": "^1.3.1", + "multimap": "^1.1.0" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-template-visitor/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4" } }, "node_modules/esquery": { @@ -3415,6 +5048,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", @@ -3520,19 +5159,15 @@ } }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/flat-cache": { @@ -3618,6 +5253,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -3627,6 +5268,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -3723,18 +5373,12 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/globalthis": { @@ -3788,12 +5432,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3884,6 +5522,12 @@ "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -3936,6 +5580,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-modules": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", + "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4011,6 +5667,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -4051,6 +5713,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -4168,15 +5845,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -4286,6 +5954,12 @@ "ws": "*" } }, + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", + "dev": true + }, "node_modules/jayson": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz", @@ -4359,17 +6033,42 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "node_modules/json-rpc-engine": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", @@ -4544,21 +6243,51 @@ "@types/trusted-types": "^2.0.2" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", @@ -4575,6 +6304,12 @@ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4676,6 +6411,12 @@ "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, + "node_modules/multimap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz", + "integrity": "sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==", + "dev": true + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -4819,6 +6560,27 @@ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -4998,33 +6760,28 @@ "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-try": { @@ -5047,6 +6804,24 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -5079,6 +6854,30 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-starts-with": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-1.0.0.tgz", + "integrity": "sha512-CQVfSVN+llYh2D0HWG0jUGJ1ua9VbQyANgIo7cBis37FcpKiN13qh7UxttQqXtgcMZgzjpk/9RktoN6up/XLBQ==", + "dev": true, + "dependencies": { + "normalize-path": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-starts-with/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -5130,31 +6929,119 @@ "sonic-boom": "^2.2.1", "thread-stream": "^0.15.1" }, - "bin": { - "pino": "bin.js" + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "dependencies": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/pino-abstract-transport": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", - "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "node_modules/pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, "dependencies": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/pino-std-serializers": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", - "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + "node_modules/pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=4" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" } }, "node_modules/pngjs": { @@ -5314,11 +7201,44 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/process-warning": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5550,6 +7470,47 @@ "node": ">=0.10.0" } }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -5588,6 +7549,15 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", @@ -5605,6 +7575,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -5613,11 +7601,26 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, + "node_modules/reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.4", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", @@ -5778,6 +7781,15 @@ "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" }, + "node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -5882,6 +7894,23 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/sonic-boom": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", @@ -5890,6 +7919,15 @@ "atomic-sleep": "^1.0.0" } }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -5898,6 +7936,38 @@ "node": ">=0.10.0" } }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, "node_modules/split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -5914,6 +7984,12 @@ "node": ">= 10.x" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, "node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -6167,6 +8243,44 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/tailwindcss": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", @@ -6258,6 +8372,15 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -6315,6 +8438,27 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6328,15 +8472,12 @@ } }, "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/typed-array-buffer": { @@ -6416,6 +8557,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6573,6 +8715,22 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/valtio": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.11.0.tgz", @@ -6823,66 +8981,6 @@ "node": ">=6" } }, - "node_modules/yargs/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/zod": { "version": "3.21.4", "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", diff --git a/package.json b/package.json index 5507fff..ca8850b 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ }, "dependencies": { "@rainbow-me/rainbowkit": "^1.0.8", + "@transak/transak-sdk": "^1.3.0", + "axios": "^1.4.0", "next": "^13.4.3", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -18,13 +20,21 @@ "wagmi": "~1.3.2" }, "devDependencies": { + "@eslint-kit/eslint-config-base": "^5.0.2", + "@eslint-kit/eslint-config-node": "^2.0.0", + "@eslint-kit/eslint-config-patch": "^1.0.0", + "@eslint-kit/eslint-config-prettier": "^5.0.0", + "@eslint-kit/eslint-config-react": "^3.0.0", + "@eslint-kit/eslint-config-typescript": "^5.2.0", "@types/node": "^18.16.12", "@types/react": "^18.2.6", "@types/react-scroll": "^1.8.7", + "@typescript-eslint/parser": "^6.3.0", "autoprefixer": "^10.4.14", - "eslint": "^8.15.0", + "eslint": "7.32.0", "eslint-config-next": "^13.4.3", "postcss": "^8.4.27", + "prettier": "2.3.0", "tailwindcss": "^3.3.3", "typescript": "^5.0.4" } diff --git a/pages/.DS_Store b/pages/.DS_Store new file mode 100644 index 0000000..96f934e Binary files /dev/null and b/pages/.DS_Store differ diff --git a/pages/_app.tsx b/pages/_app.tsx index 6abba2b..91deeca 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,50 +1,38 @@ -import "../styles/globals.css"; -import "@rainbow-me/rainbowkit/styles.css"; import { getDefaultWallets, RainbowKitProvider, darkTheme, lightTheme, -} from "@rainbow-me/rainbowkit"; -import type { AppProps } from "next/app"; -import { configureChains, createConfig, WagmiConfig } from "wagmi"; -import { - arbitrum, - goerli, - mainnet, - optimism, - polygon, - zora, - sepolia, -} from "wagmi/chains"; -import { publicProvider } from "wagmi/providers/public"; +} from '@rainbow-me/rainbowkit' +import '@rainbow-me/rainbowkit/styles.css' +import type { AppProps } from 'next/app' +import { configureChains, createConfig, WagmiConfig } from 'wagmi' +import { goerli, optimism, base } from 'wagmi/chains' +import { publicProvider } from 'wagmi/providers/public' +import '../styles/globals.css' const { chains, publicClient, webSocketPublicClient } = configureChains( [ - mainnet, - polygon, optimism, - arbitrum, - zora, + base, goerli, - sepolia, - ...(process.env.NEXT_PUBLIC_ENABLE_TESTNETS === "true" ? [goerli] : []), + ...(process.env.NEXT_PUBLIC_ENABLE_TESTNETS === 'true' ? [goerli] : []), ], [publicProvider()] -); +) const { connectors } = getDefaultWallets({ - appName: "buymeacrypto", - projectId: "18c4fce12d591123893a43169198ebbe", + appName: 'buymeacrypto', + projectId: '18c4fce12d591123893a43169198ebbe', chains, -}); +}) const wagmiConfig = createConfig({ autoConnect: true, connectors, publicClient, webSocketPublicClient, -}); +}) function MyApp({ Component, pageProps }: AppProps) { return ( @@ -56,18 +44,19 @@ function MyApp({ Component, pageProps }: AppProps) { <div className="star"></div> <div className="star"></div> <RainbowKitProvider - theme={lightTheme({ - accentColor: "#00f900", - accentColorForeground: "white", - fontStack: "system", - overlayBlur: "small", + theme={darkTheme({ + accentColor: '#00f900', + accentColorForeground: 'white', + fontStack: 'system', + overlayBlur: 'small', })} modalSize="compact" - chains={chains}> + chains={chains} + > <Component {...pageProps} /> </RainbowKitProvider> </WagmiConfig> - ); + ) } -export default MyApp; +export default MyApp diff --git a/pages/components/.DS_Store b/pages/components/.DS_Store new file mode 100644 index 0000000..c491079 Binary files /dev/null and b/pages/components/.DS_Store differ diff --git a/pages/components/CreditCard.tsx b/pages/components/CreditCard.tsx index 29ca3ad..9f8e5c4 100644 --- a/pages/components/CreditCard.tsx +++ b/pages/components/CreditCard.tsx @@ -1,28 +1,7 @@ -import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { ConnectButton } from '@rainbow-me/rainbowkit' const CreditCard = () => { - return ( - <div className="digitalWallet"> - <div className="w-full lg:max-w-full px-4 py-32 lg:grid lg:h-screen place-items-center "> - {/* //card */} - <div className="inline-flex items-center w-full justify-between block max-w-sm p-6 bg-gray-200 border border-gray-100 rounded-lg shadow hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700"> - <div className="grid grid-cols-1 gap-4"> - <div className="font-extrabold text-2xl">DEPOSIT</div> - <div className="">BALANCE:</div> - <div className="underline inline-flex items-center w-full justify-between"> - <div>USDC </div> - <div>1</div> - </div> - </div> - <div className="grid grid-cols-1 gap-4"> - <a className="style5">FIAT</a> - <a className="style4">ONCHAIN DEPOSIT</a> - <a className="style4">PAYPAL</a> - </div> - </div> - </div> - </div> - ); -}; + return <div className="digitalWallet"></div> +} -export default CreditCard; +export default CreditCard diff --git a/pages/components/DigitalWallet.tsx b/pages/components/DigitalWallet.tsx deleted file mode 100644 index 2ed4e06..0000000 --- a/pages/components/DigitalWallet.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { ConnectButton } from "@rainbow-me/rainbowkit"; - -const DigitalWallet = () => { - return ( - <div className="digitalWallet"> - <div> - <div className="mx-auto max-w-screen-xl px-4 py-32 lg:flex lg:h-screen lg:items-center"> - <div className="mx-auto max-w-3xl text-center"> - <h1 className="text-gray-400 bg-clip-text text-3xl font-extrabold sm:text-5xl"> - CONNECT YOUR <span className="color">WEB3 WALLET</span>? - </h1> - </div> - <div className="relative justify top-600"> - <ConnectButton - showBalance={{ - smallScreen: false, - largeScreen: true, - }} - chainStatus="icon" - label="Connect" - /> - </div> - </div> - </div> - </div> - ); -}; - -export default DigitalWallet; diff --git a/pages/components/Navigation.tsx b/pages/components/Navigation.tsx index 75be6fb..0c96506 100644 --- a/pages/components/Navigation.tsx +++ b/pages/components/Navigation.tsx @@ -1,32 +1,35 @@ -import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { ConnectButton } from '@rainbow-me/rainbowkit' const Navigation = () => { return ( <header> - <div className="flex items-center lg:order-2 absolute top-20 right-20 "> - <a className="block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto"> + <div className="flex items-center lg:order-2 absolute right-20 "> + <button className="block w-full rounded-3xl border-blue-600 px-12 py-3 text-sm font-medium text-black hover:bg-black hover:text-white focus:outline-none focus:ring active:text-opacity-75 sm:w-auto"> Dashboard - </a> - <svg - xmlns="http://www.w3.org/2000/svg" - fill="none" - viewBox="0 0 24 24" - strokeWidth={1.5} - stroke="currentColor" - className="w-6 h-6"> - <path - strokeLinecap="round" - strokeLinejoin="round" - d="M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z" - /> - </svg> + </button> + <button> + <svg + xmlns="http://www.w3.org/2000/svg" + fill="none" + viewBox="0 0 24 24" + strokeWidth={1.5} + stroke="currentColor" + className="w-6 h-6" + > + <path + strokeLinecap="round" + strokeLinejoin="round" + d="M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z" + /> + </svg> + </button> </div> - <h1 className="text-2xl font-bold text-[#828282] absolute top-20 left-20"> + <h1 className="text-2xl font-bold text-[#828282] absolute left-20"> BUY ME A CRYPTO </h1> </header> - ); -}; + ) +} -export default Navigation; +export default Navigation diff --git a/pages/components/steps/step-four.tsx b/pages/components/steps/step-four.tsx new file mode 100644 index 0000000..3764195 --- /dev/null +++ b/pages/components/steps/step-four.tsx @@ -0,0 +1,201 @@ +import Image from 'next/image' +import React, { useEffect, useState } from 'react' +import arb from '../../../public/arb.png' +import lido from '../../../public/lido.png' +import link from '../../../public/link.png' +import op from '../../../public/op.png' +import snx from '../../../public/snx.png' +import usdc from '../../../public/usdc.png' +import wbtc from '../../../public/wbtc.png' +import weth from '../../../public/weth.png' +import wld from '../../../public/wld.png' +import wmatic from '../../../public/wmatic.png' + +function StepFour() { + const [tokens, setTokens] = useState([ + { name: 'Optimism', address: '0x', image: op, key: 'op' }, + { name: 'Arbitrum', address: '0x', image: arb, key: 'arb' }, + { name: 'Lido Dao', address: '0x', image: lido, key: 'lido' }, + { name: 'Wrapped Matic', address: '0x', image: wmatic, key: 'wmatic' }, + { name: 'USD COIN', address: '0x', image: usdc, key: 'usdc' }, + { name: 'Chainlink', address: '0x', image: link, key: 'link' }, + { name: 'WETH', address: '0x', image: weth, key: 'weth' }, + { name: 'Wrapped Bitcoin', address: '0x', image: wbtc, key: 'wbtc' }, + { name: 'Synthetix Network', address: '0x', image: snx, key: 'snx' }, + { name: 'WORLDCOIN', address: '0x', image: wld, key: 'wld' }, + ]) + const [strategy, setStratydy] = useState([ + { + name: 'Low Risk', + address: '0x', + image: [wbtc, weth], + key: 'low', + }, + { + name: 'Middle Risk', + address: '0x', + image: [lido, op, arb], + key: 'middle', + }, + { + name: 'High Risk', + address: '0x', + image: [wld, snx, link], + key: 'heig', + }, + ]) + const [choosed, setChoosed] = useState<any>([]) + const addChoose = (key: any) => { + setChooseStrategyString('') + const check = choosed.find((post: any) => key.key === post.key) + if (check) { + setChoosed((prev: any) => + prev.filter((post: any) => post.key !== key.key) + ) + return + } + setChoosed((prev: any) => [key, ...prev]) + } + const getActive = (key: string) => { + const check = choosed.find((post: any) => key === post.key) + if (check) return true + } + + const [chooseStrategyString, setChooseStrategyString] = useState('') + const chooseStrategy = (key: any) => { + setChooseStrategyString(key) + switch (key) { + case 'low': + setChoosed([ + { name: 'Wrapped Bitcoin', address: '0x', image: wbtc, key: 'wbtc' }, + { name: 'WETH', address: '0x', image: weth, key: 'weth' }, + ]) + break + case 'middle': + setChoosed([ + { name: 'Lido Dao', address: '0x', image: lido, key: 'lido' }, + { name: 'Optimism', address: '0x', image: op, key: 'op' }, + { name: 'Arbitrum', address: '0x', image: arb, key: 'arb' }, + ]) + break + case 'heig': + setChoosed([ + { name: 'Synthetix Network', address: '0x', image: snx, key: 'snx' }, + { name: 'WORLDCOIN', address: '0x', image: wld, key: 'wld' }, + { name: 'Chainlink', address: '0x', image: link, key: 'link' }, + ]) + break + default: + return + } + } + return ( + <div className="w-11/12 mt-20 mx-auto"> + <div className="flex mb-10 text-bold items-center justify-between"> + <p className="text-6xl">Step 4</p> + <p> + Get your digital + <br /> wallet + </p> + </div> + <div> + <div className="mx-auto bg-steps px-20 py-10 rounded-2xl"> + <div className=""> + <div className="font-extrabold text-white mb-10 text-5xl"> + Choose Token + </div> + <div className="grid grid-cols-5 gap-24 items-center justify-between"> + {tokens?.map((post) => ( + <button + onClick={() => addChoose(post)} + style={getActive(post.key) ? { borderWidth: '8px' } : {}} + className="bg-slate-200 mx-auto border-green-400 transition w-36 h-36 bg flex flex-col items-center justify-center rounded-2xl hover:border-8" + > + <Image src={post.image} alt="" width={60} height={60} /> + <p className="text-2xl">{post.name}</p> + </button> + ))} + </div> + <p className="font-extrabold text-white mb-10 mt-10 text-5xl"> + Choose your DCA bundle strategy + </p> + <div className="flex"> + {strategy?.map((post) => ( + <button + style={ + chooseStrategyString === post.key + ? { borderWidth: '8px' } + : {} + } + onClick={() => chooseStrategy(post.key)} + className="bg-slate-200 gap-4 mx-auto border-green-400 transition w-1/4 h-36 bg flex flex-col items-center justify-center rounded-2xl hover:border-8" + > + <p className="flex"> + {post.image?.map((img) => ( + <Image src={img} alt="" width={40} height={40} /> + ))} + </p> + <p className="text-3xl">{post.name}</p> + </button> + ))} + </div> + <p className="font-extrabold text-white mb-10 mt-10 text-5xl"> + CHECK AND APPROVE INVESTMENT + </p> + <div className="flex"></div> + <div className="text-white flex items-cetner justify-between"> + <div className=""> + <p className="text-xl mb-3">Invesment sum</p> + <input + className="bg-gray-200 text-black px-5 rounded-2xl py-2" + type="text" + placeholder="$5000" + /> + </div> + <div className=""> + <p className="text-xl mb-3">one-time paymant</p> + <input + className="bg-gray-200 text-black px-5 rounded-2xl py-2" + type="text" + placeholder="$5000" + /> + </div> + <div className=""> + <p className="text-xl mb-3">Tokens</p> + <div className="flex"> + {choosed?.map((post: any) => ( + <Image src={post.image} alt="" width={30} height={30} /> + ))} + </div> + </div> + + <div className=""> + <p className="text-xl mb-3">Buy crypto every:</p> + <select className="bg-gray-200 text-black px-5 rounded-2xl py-2"> + <option>hour</option> + <option>day</option> + <option>week</option> + <option>month</option> + </select> + </div> + <div className="flex flex-col gap-2"> + <p> + <button className="w-full bg-white text-black px-5 rounded-2xl py-2"> + Refuel + </button> + </p> + <p> + <button className="bg-green-500 text-black px-5 rounded-2xl py-2"> + Start Invesment + </button> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + ) +} + +export default StepFour diff --git a/pages/components/steps/step-one.tsx b/pages/components/steps/step-one.tsx new file mode 100644 index 0000000..d289a89 --- /dev/null +++ b/pages/components/steps/step-one.tsx @@ -0,0 +1,34 @@ +import { ConnectButton } from '@rainbow-me/rainbowkit' + +const StepOne = () => { + return ( + <div className="w-11/12 mx-auto"> + <div className="flex mb-10 text-bold items-center justify-between"> + <p className="text-6xl">Step 1</p> + <p> + Get your digital + <br /> wallet + </p> + </div> + <div> + <div className="mx-auto bg-slate-200 p-4 py-10 rounded-2xl"> + <div className="flex items-center justify-between"> + <h1 className="text-black bg-clip-text text-3xl font-bold sm:text-5xl"> + Connect your web3 wallet + </h1> + <ConnectButton + showBalance={{ + smallScreen: false, + largeScreen: true, + }} + chainStatus="icon" + label="Connect" + /> + </div> + </div> + </div> + </div> + ) +} + +export default StepOne diff --git a/pages/components/steps/step-three.tsx b/pages/components/steps/step-three.tsx new file mode 100644 index 0000000..a78695b --- /dev/null +++ b/pages/components/steps/step-three.tsx @@ -0,0 +1,79 @@ +import React, { useEffect, useState } from 'react' +import Image from 'next/image' +import op from '../../../public/op.png' +import arb from '../../../public/arb.png' +import lido from '../../../public/lido.png' +import link from '../../../public/link.png' +import snx from '../../../public/snx.png' +import usdc from '../../../public/usdc.png' +import wbtc from '../../../public/wbtc.png' +import weth from '../../../public/weth.png' +import wld from '../../../public/wld.png' +import wmatic from '../../../public/wmatic.png' + +function StepThree() { + const [tokens, setTokens] = useState([ + {"name":"Optimism","address":"0x","image":op,"key":"op"}, + {"name":"Arbitrum","address":"0x","image":arb,"key":"arb"}, + {"name":"Lido Dao","address":"0x","image":lido,"key":"lido"}, + {"name":"Wrapped Matic","address":"0x","image":wmatic,"key":"wmatic"}, + {"name":"USD COIN","address":"0x","image":usdc,"key":"usdc"}, + {"name":"Chainlink","address":"0x","image":link,"key":"link"}, + {"name":"WETH","address":"0x","image":weth,"key":"weth"}, + {"name":"Wrapped Bitcoin","address":"0x","image":wbtc,"key":"wbtc"}, + {"name":"Synthetix Network","address":"0x","image":snx,"key":"snx"}, + {"name":"WORLDCOIN","address":"0x","image":wld,"key":"wld"}]) + const [choosed, setChoosed] = useState<null | string>(null) + return ( + <div className="w-11/12 mt-20 mx-auto"> + <div className="flex mb-10 text-bold items-center justify-between"> + <p className="text-6xl">Step 3</p> + <p> + Get your digital + <br /> wallet + </p> + </div> + <div> + <div className="mx-auto bg-steps px-20 py-10 rounded-2xl"> + <div className=""> + <div className="font-extrabold text-white mb-10 text-5xl">Choose Token</div> + <div className='grid grid-cols-5 gap-24 items-center justify-between'> + {tokens?.map(post => + <button + onClick={() => setChoosed(post.key)} + style={post.key === choosed ? {borderWidth: '8px'}:{}} + className='bg-slate-200 mx-auto border-green-400 transition w-36 h-36 bg flex flex-col items-center justify-center rounded-2xl hover:border-8'> + <Image src={post.image} alt="" width={60} height={60}/> + <p className='text-2xl'>{post.name}</p> + </button>)} + + </div> + {choosed && + <div className='w-full mt-10 text-white'> + <div className='flex justify-between w-full '> + <h2 className='text-5xl'>ask a crypto assistant</h2> + <div> + <div> + Who is Satoshi? + </div> + <div> + Who is Satoshi? + </div> + <div> + Who is Satoshi? + </div> + </div> + </div> + <div className='w-full h-44 rounded-lg bg-gray-200 relative'> + <input className="w-4/5 translate-x-2/4 bg-gray-600 text-white px-5 py-2 rounded-lg right-2/4 absolute bottom-2 left-50" /> + </div> + </div> + } + </div> + </div> + </div> + </div> + ) +} + +export default StepThree diff --git a/pages/components/steps/step-two.jsx b/pages/components/steps/step-two.jsx new file mode 100644 index 0000000..d5ef2b4 --- /dev/null +++ b/pages/components/steps/step-two.jsx @@ -0,0 +1,72 @@ +import { ConnectButton } from '@rainbow-me/rainbowkit' +import transakSDK from '@transak/transak-sdk' + +const settings = { + apiKey: 'cf5868eb-a8bb-45c8-a2db-4309e5f8b412', // Your API Key + environment: 'STAGING', // STAGING/PRODUCTION + defaultCryptoCurrency: 'ETH', + themeColor: '000000', // App theme color + hostURL: 'window.location.origin', + widgetHeight: '500px', + widgetWidth: '500px', +} + +export function openTransak() { + const transak = new transakSDK(settings) + + transak.init() + + // To get all the events + transak.on(transak.ALL_EVENTS, (data) => { + console.log(data) + }) + + // This will trigger when the user closed the widget + transak.on(transak.EVENTS.TRANSAK_WIDGET_CLOSE, (eventData) => { + console.log(eventData) + transak.close() + }) + + // This will trigger when the user marks payment is made. + transak.on(transak.EVENTS.TRANSAK_ORDER_SUCCESSFUL, (orderData) => { + console.log(orderData) + window.alert('Payment Success') + transak.close() + }) +} + +const StepTwo = () => { + return ( + <div className="w-11/12 mx-auto mt-20"> + <div className="flex mb-10 text-bold items-center justify-between"> + <p className="text-6xl">Step 2</p> + <p> + Get your digital + <br /> wallet + </p> + </div> + <div className="w-full px-4 place-items-center "> + {/* //card */} + <div className="text-white inline-flex items-center min-w-full justify-between block max-w-sm px-20 py-10 bg-steps border border-gray-100 rounded-3xl shadow"> + <div className="grid grid-cols-1 gap-4"> + <div className="font-extrabold text-5xl">DEPOSIT USDC</div> + <div className="">BALANCE:</div> + <div className="underline inline-flex items-center w-full justify-between"> + <div>USDC </div> + <div>1</div> + </div> + </div> + <div className="grid grid-cols-1 gap-4"> + <button onClick={openTransak} className="style5 text-start"> + FIAT + </button> + <button className="style4 text-start">ONCHAIN DEPOSIT</button> + <button className="style4 text-start">PAYPAL</button> + </div> + </div> + </div> + </div> + ) +} + +export default StepTwo diff --git a/pages/index.tsx b/pages/index.tsx index 3dde34f..2819821 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,13 +1,17 @@ -import { ConnectButton } from "@rainbow-me/rainbowkit"; -import type { NextPage } from "next"; -import Head from "next/head"; -import styles from "../styles/Home.module.css"; - +import { ConnectButton } from '@rainbow-me/rainbowkit' +import type { NextPage } from 'next' +import Head from 'next/head' +import Image from 'next/image' +import meme from '../public/meme.png' +import styles from '../styles/Home.module.css' +import CreditCard from './components/CreditCard' +import FrontPage from './components/FrontPage' //Components -import Navigation from "./components/Navigation"; -import FrontPage from "./components/FrontPage"; -import DigitalWallet from "./components/DigitalWallet"; -import CreditCard from "./components/CreditCard"; +import Navigation from './components/Navigation' +import StepFour from './components/steps/step-four' +import StepOne from './components/steps/step-one' +import StepThree from './components/steps/step-three' +import StepTwo from './components/steps/step-two' const Home: NextPage = () => { return ( @@ -15,10 +19,14 @@ const Home: NextPage = () => { <title> Buy Me a Crypto - + + + + + - ); -}; + ) +} -export default Home; +export default Home diff --git a/public/.DS_Store b/public/.DS_Store new file mode 100644 index 0000000..3bbe588 Binary files /dev/null and b/public/.DS_Store differ diff --git a/public/arb.png b/public/arb.png new file mode 100644 index 0000000..2447f1f Binary files /dev/null and b/public/arb.png differ diff --git a/public/lido.png b/public/lido.png new file mode 100644 index 0000000..ff91f79 Binary files /dev/null and b/public/lido.png differ diff --git a/public/link.png b/public/link.png new file mode 100644 index 0000000..44b09e7 Binary files /dev/null and b/public/link.png differ diff --git a/public/meme.png b/public/meme.png new file mode 100644 index 0000000..2da573c Binary files /dev/null and b/public/meme.png differ diff --git a/public/op.png b/public/op.png new file mode 100644 index 0000000..d164395 Binary files /dev/null and b/public/op.png differ diff --git a/public/snx.png b/public/snx.png new file mode 100644 index 0000000..d16e969 Binary files /dev/null and b/public/snx.png differ diff --git a/public/usdc.png b/public/usdc.png new file mode 100644 index 0000000..b28e1b6 Binary files /dev/null and b/public/usdc.png differ diff --git a/public/wbtc.png b/public/wbtc.png new file mode 100644 index 0000000..987e9c8 Binary files /dev/null and b/public/wbtc.png differ diff --git a/public/weth.png b/public/weth.png new file mode 100644 index 0000000..61d3aa5 Binary files /dev/null and b/public/weth.png differ diff --git a/public/wld.png b/public/wld.png new file mode 100644 index 0000000..ba482bb Binary files /dev/null and b/public/wld.png differ diff --git a/public/wmatic.png b/public/wmatic.png new file mode 100644 index 0000000..e760748 Binary files /dev/null and b/public/wmatic.png differ diff --git a/styles/globals.css b/styles/globals.css index 3a36c2c..87454a7 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -1,16 +1,19 @@ @tailwind base; @tailwind components; @tailwind utilities; +@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap'); html, body { padding: 0; margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + font-family: 'Bebas Neue', sans-serif; background: #ededed; + overflow-x: hidden; +} +button { + cursor: pointer; } - a { color: inherit; text-decoration: none; @@ -392,7 +395,7 @@ a { .star::before, .star::after { position: absolute; - content: ""; + content: ''; top: 0; left: calc(var(--star-width) / -2); width: var(--star-width); @@ -445,7 +448,7 @@ a { } .style4:after, .style5:after { - content: ""; + content: ''; position: absolute; border-bottom: 2px solid #00f900; top: 100%; diff --git a/tailwind.config.js b/tailwind.config.js index f96c785..e0afa3d 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -9,7 +9,11 @@ module.exports = { "./src/**/*.{js,ts,jsx,tsx,mdx}", ], theme: { - extend: {}, + extend: { + backgroundColor: { + steps: 'rgba(60, 58, 54, 1)' + } + }, }, plugins: [], }; diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..6e97780 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5522 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adraffy/ens-normalize@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz" + integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz" + integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== + dependencies: + "@babel/highlight" "^7.22.10" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.9": + version "7.22.9" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" + integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== + +"@babel/core@7.13.10", "@babel/core@^7.12.16": + version "7.13.10" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz" + integrity sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.9" + "@babel/helper-compilation-targets" "^7.13.10" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.10" + "@babel/parser" "^7.13.10" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/eslint-parser@^7.12.16": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz" + integrity sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + +"@babel/generator@7.13.9", "@babel/generator@^7.13.0", "@babel/generator@^7.13.9": + version "7.13.9" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz" + integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw== + dependencies: + "@babel/types" "^7.13.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz" + integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== + dependencies: + "@babel/types" "^7.22.10" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.13.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz" + integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.5" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + +"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz" + integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-transforms@^7.13.0": + version "7.22.9" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz" + integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.12.13", "@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" + integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== + +"@babel/helpers@^7.13.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz" + integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz" + integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@7.14.6", "@babel/parser@^7.13.0", "@babel/parser@^7.13.10": + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz" + integrity sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ== + +"@babel/parser@^7.22.10", "@babel/parser@^7.22.5": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz" + integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.6": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz" + integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.12.13", "@babel/template@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" + integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/traverse@7.13.0", "@babel/traverse@^7.13.0": + version "7.13.0" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz" + integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.0" + "@babel/types" "^7.13.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/traverse@^7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz" + integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== + dependencies: + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.22.10" + "@babel/types" "^7.22.10" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@7.13.0", "@babel/types@^7.13.0": + version "7.13.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz" + integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@babel/types@^7.22.10", "@babel/types@^7.22.5": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz" + integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + to-fast-properties "^2.0.0" + +"@coinbase/wallet-sdk@^3.6.6": + version "3.7.1" + resolved "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz" + integrity sha512-LjyoDCB+7p0waQXfK+fUgcAs3Ezk6S6e+LYaoFjpJ6c9VTop3NyZF40Pi7df4z7QJohCwzuIDjz0Rhtig6Y7Pg== + dependencies: + "@metamask/safe-event-emitter" "2.0.0" + "@solana/web3.js" "^1.70.1" + bind-decorator "^1.0.11" + bn.js "^5.1.1" + buffer "^6.0.3" + clsx "^1.1.0" + eth-block-tracker "6.1.0" + eth-json-rpc-filters "5.1.0" + eth-rpc-errors "4.0.2" + json-rpc-engine "6.1.0" + keccak "^3.0.1" + preact "^10.5.9" + qs "^6.10.3" + rxjs "^6.6.3" + sha.js "^2.4.11" + stream-browserify "^3.0.0" + util "^0.12.4" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@eslint-kit/eslint-config-base@^5.0.2": + version "5.0.2" + resolved "https://registry.npmjs.org/@eslint-kit/eslint-config-base/-/eslint-config-base-5.0.2.tgz" + integrity sha512-Ar8yMXKhWUoo6dJYsbIBgLyzClkhfFqhmh3h5WtM3VqoDpX/Lt5RxtEq46RmowP33+NFwyzBYjixXiT9/ggROA== + dependencies: + eslint-plugin-import "2.23.2" + eslint-plugin-sonarjs "0.7.0" + eslint-plugin-unicorn "32.0.1" + +"@eslint-kit/eslint-config-node@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@eslint-kit/eslint-config-node/-/eslint-config-node-2.0.0.tgz" + integrity sha512-NijY2BJkQGDvch7EHTmfOpKhvuYaItiBV+a56kwTB9uPh969Nqp5AumVcGcP9ZKrT8DJh7FOTw9B1CuGY3SyGA== + +"@eslint-kit/eslint-config-patch@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@eslint-kit/eslint-config-patch/-/eslint-config-patch-1.0.0.tgz" + integrity sha512-b3pODxIVCfXz/q5n/C6NeB5rOjNwS+IKtMAIbi9qk4Pz9wrYgTgjaiOCxj5aEfT0gE49t7/bjvZv2tWlSe171Q== + dependencies: + "@rushstack/eslint-patch" "1.0.6" + +"@eslint-kit/eslint-config-prettier@^5.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/@eslint-kit/eslint-config-prettier/-/eslint-config-prettier-5.0.0.tgz" + integrity sha512-MTmAUZFfSjnVs6ZGPsHmLwr3kYOPip4YuRPR6obcHfq7aob5wBmbUQwWyHa561rBABCySnA884hLLcfXztsGkw== + dependencies: + "@trivago/prettier-plugin-sort-imports" "3.2.0" + eslint-plugin-prettier "4.0.0" + +"@eslint-kit/eslint-config-react@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@eslint-kit/eslint-config-react/-/eslint-config-react-3.0.0.tgz" + integrity sha512-DBV0TXA+OaJSqIBX9LNF/u4fkvqiWUo6NmRKt5vJYfwczzHRqONF2+UUAahAouWuF6XNFmf/cHkXLIxZDBIfRQ== + dependencies: + eslint-plugin-react "7.23.2" + eslint-plugin-react-hooks "4.2.0" + +"@eslint-kit/eslint-config-typescript@^5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/@eslint-kit/eslint-config-typescript/-/eslint-config-typescript-5.2.0.tgz" + integrity sha512-0PzXd7E9ureX2BPnjcFDlRJjwWU0N68L9fJJ+KQrHB82f5mKdeVJ38cHWpqrQaufIj54nLRODt9LCjkvVQM7DA== + dependencies: + "@typescript-eslint/eslint-plugin" "5.19.0" + "@typescript-eslint/parser" "5.19.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@ledgerhq/connect-kit-loader@^1.1.0": + version "1.1.2" + resolved "https://registry.npmjs.org/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.2.tgz" + integrity sha512-mscwGroSJQrCTjtNGBu+18FQbZYA4+q6Tyx6K7CXHl6AwgZKbWfZYdgP2F+fyZcRUdGRsMX8QtvU61VcGGtO1A== + +"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": + version "1.1.1" + resolved "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz" + integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ== + +"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": + version "1.6.3" + resolved "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz" + integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.0.0" + +"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== + +"@metamask/utils@^3.0.1": + version "3.6.0" + resolved "https://registry.npmjs.org/@metamask/utils/-/utils-3.6.0.tgz" + integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== + dependencies: + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.3.8" + superstruct "^1.0.3" + +"@motionone/animation@^10.15.1": + version "10.15.1" + resolved "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz" + integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== + dependencies: + "@motionone/easing" "^10.15.1" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/dom@^10.16.2": + version "10.16.2" + resolved "https://registry.npmjs.org/@motionone/dom/-/dom-10.16.2.tgz" + integrity sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/generators" "^10.15.1" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.15.1": + version "10.15.1" + resolved "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz" + integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== + dependencies: + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/generators@^10.15.1": + version "10.15.1" + resolved "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz" + integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== + dependencies: + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/svelte@^10.16.2": + version "10.16.2" + resolved "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.2.tgz" + integrity sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q== + dependencies: + "@motionone/dom" "^10.16.2" + tslib "^2.3.1" + +"@motionone/types@^10.15.1": + version "10.15.1" + resolved "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz" + integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== + +"@motionone/utils@^10.15.1": + version "10.15.1" + resolved "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz" + integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== + dependencies: + "@motionone/types" "^10.15.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/vue@^10.16.2": + version "10.16.2" + resolved "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.2.tgz" + integrity sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw== + dependencies: + "@motionone/dom" "^10.16.2" + tslib "^2.3.1" + +"@next/env@13.4.13": + version "13.4.13" + resolved "https://registry.npmjs.org/@next/env/-/env-13.4.13.tgz" + integrity sha512-fwz2QgVg08v7ZL7KmbQBLF2PubR/6zQdKBgmHEl3BCyWTEDsAQEijjw2gbFhI1tcKfLdOOJUXntz5vZ4S0Polg== + +"@next/eslint-plugin-next@13.4.13": + version "13.4.13" + resolved "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.13.tgz" + integrity sha512-RpZeXlPxQ9FLeYN84XHDqRN20XxmVNclYCraLYdifRsmibtcWUWdwE/ANp2C8kgesFRsvwfsw6eOkYNl9sLJ3A== + dependencies: + glob "7.1.7" + +"@next/swc-darwin-arm64@13.4.13": + version "13.4.13" + resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.13.tgz" + integrity sha512-ZptVhHjzUuivnXMNCJ6lER33HN7lC+rZ01z+PM10Ows21NHFYMvGhi5iXkGtBDk6VmtzsbqnAjnx4Oz5um0FjA== + +"@next/swc-darwin-x64@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.13.tgz#762d422cb31b27807c9bf4eac766986742a051fe" + integrity sha512-t9nTiWCLApw8W4G1kqJyYP7y6/7lyal3PftmRturIxAIBlZss9wrtVN8nci50StDHmIlIDxfguYIEGVr9DbFTg== + +"@next/swc-linux-arm64-gnu@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.13.tgz#d567943a0111dcf26de6e5e034874b405057facc" + integrity sha512-xEHUqC8eqR5DHe8SOmMnDU1K3ggrJ28uIKltrQAwqFSSSmzjnN/XMocZkcVhuncuxYrpbri0iMQstRyRVdQVWg== + +"@next/swc-linux-arm64-musl@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.13.tgz#775f246123b8f1f3726dc14d80c7f7b67bc50cb4" + integrity sha512-sNf3MnLAm8rquSSAoeD9nVcdaDeRYOeey4stOWOyWIgbBDtP+C93amSgH/LPTDoUV7gNiU6f+ghepTjTjRgIUQ== + +"@next/swc-linux-x64-gnu@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.13.tgz#d5fc6441c181bfa09f3cb0285bf3cbb5b111e53b" + integrity sha512-WhcRaJJSHyx9OWmKjjz+OWHumiPZWRqmM/09Bt7Up4UqUJFFhGExeztR4trtv3rflvULatu9IH/nTV8fUUgaMA== + +"@next/swc-linux-x64-musl@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.13.tgz#6286557e7cc7a0acb3cf0c69e279b3ae2b9a9259" + integrity sha512-+Y4LLhOWWZQIDKVwr2R17lq2KSN0F1c30QVgGIWfnjjHpH8nrIWHEndhqYU+iFuW8It78CiJjQKTw4f51HD7jA== + +"@next/swc-win32-arm64-msvc@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.13.tgz#6a50b4b8ee55eb5564c2bd33eefedb9306986b0a" + integrity sha512-rWurdOR20uxjfqd1X9vDAgv0Jb26KjyL8akF9CBeFqX8rVaBAnW/Wf6A2gYEwyYY4Bai3T7p1kro6DFrsvBAAw== + +"@next/swc-win32-ia32-msvc@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.13.tgz#02e98e1d4cd7a81de58a78044c5f2a5d7fdf4c83" + integrity sha512-E8bSPwRuY5ibJ3CzLQmJEt8qaWrPYuUTwnrwygPUEWoLzD5YRx9SD37oXRdU81TgGwDzCxpl7z5Nqlfk50xAog== + +"@next/swc-win32-x64-msvc@13.4.13": + version "13.4.13" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.13.tgz#db150b7d84e6218e53e748a6f0ab2159afc2cd6a" + integrity sha512-4KlyC6jWRubPnppgfYsNTPeWfGCxtWLh5vaOAW/kdzAk9widqho8Qb5S4K2vHmal1tsURi7Onk2MMCV1phvyqA== + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@noble/curves@1.0.0", "@noble/curves@^1.0.0", "@noble/curves@~1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.0.0.tgz" + integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== + dependencies: + "@noble/hashes" "1.3.0" + +"@noble/hashes@1.3.0", "@noble/hashes@~1.3.0": + version "1.3.0" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + +"@noble/hashes@^1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@rainbow-me/rainbowkit@^1.0.8": + version "1.0.8" + resolved "https://registry.npmjs.org/@rainbow-me/rainbowkit/-/rainbowkit-1.0.8.tgz" + integrity sha512-m1B9/X3p8MLmj4fDfs2NpJlFRmKz7vOR0jmcdBw2SMFzXqP1FQFQc4pjvtLEeyfEUGSNNceGrecFZRVS0Qk//A== + dependencies: + "@vanilla-extract/css" "1.9.1" + "@vanilla-extract/dynamic" "2.0.2" + "@vanilla-extract/sprinkles" "1.5.0" + clsx "1.1.1" + qrcode "1.5.0" + react-remove-scroll "2.5.4" + +"@rushstack/eslint-patch@1.0.6": + version "1.0.6" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.0.6.tgz" + integrity sha512-Myxw//kzromB9yWgS8qYGuGVf91oBUUJpNvy5eM50sqvmKLbKjwLxohJnkWGTeeI9v9IBMtPLxz5Gc60FIfvCA== + +"@rushstack/eslint-patch@^1.1.3": + version "1.3.3" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz" + integrity sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw== + +"@safe-global/safe-apps-provider@^0.17.1": + version "0.17.1" + resolved "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.17.1.tgz" + integrity sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ== + dependencies: + "@safe-global/safe-apps-sdk" "8.0.0" + events "^3.3.0" + +"@safe-global/safe-apps-sdk@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz" + integrity sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" + +"@safe-global/safe-apps-sdk@^8.0.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz" + integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" + +"@safe-global/safe-gateway-typescript-sdk@^3.5.3": + version "3.8.1" + resolved "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.8.1.tgz" + integrity sha512-MynG0sOHItKYf51jls1fr4NcyCWLXcXA2pZ+Hj0Ea2LMYY3sAthHjoHYGFTt6uSePS094ZFR38wH5ReVIpFSdw== + dependencies: + cross-fetch "^3.1.5" + +"@scure/base@~1.1.0": + version "1.1.1" + resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== + +"@scure/bip32@1.3.0": + version "1.3.0" + resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.0.tgz" + integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== + dependencies: + "@noble/curves" "~1.0.0" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.0.tgz" + integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@solana/buffer-layout@^4.0.0": + version "4.0.1" + resolved "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + +"@solana/web3.js@^1.70.1": + version "1.78.4" + resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.78.4.tgz" + integrity sha512-up5VG1dK+GPhykmuMIozJZBbVqpm77vbOG6/r5dS7NBGZonwHfTLdBbsYc3rjmaQ4DpCXUa3tUc4RZHRORvZrw== + dependencies: + "@babel/runtime" "^7.22.6" + "@noble/curves" "^1.0.0" + "@noble/hashes" "^1.3.1" + "@solana/buffer-layout" "^4.0.0" + agentkeepalive "^4.3.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.0" + node-fetch "^2.6.12" + rpc-websockets "^7.5.1" + superstruct "^0.14.2" + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== + dependencies: + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + +"@swc/helpers@0.5.1": + version "0.5.1" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz" + integrity sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg== + dependencies: + tslib "^2.4.0" + +"@tanstack/query-core@4.32.6": + version "4.32.6" + resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.32.6.tgz" + integrity sha512-YVB+mVWENQwPyv+40qO7flMgKZ0uI41Ph7qXC2Zf1ft5AIGfnXnMZyifB2ghhZ27u+5wm5mlzO4Y6lwwadzxCA== + +"@tanstack/query-persist-client-core@4.32.6": + version "4.32.6" + resolved "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-4.32.6.tgz" + integrity sha512-MJJ7CldvT5HOel50h/3wOZZwVlIcroFD5Vxn8vPsfo2C0qQ208ilmN/81JWutm/lWy4n2BjnCrrWv6HvVI7S0w== + dependencies: + "@tanstack/query-core" "4.32.6" + +"@tanstack/query-sync-storage-persister@^4.27.1": + version "4.32.6" + resolved "https://registry.npmjs.org/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.32.6.tgz" + integrity sha512-hTwNo5O5EvydbfdVvwnwY0nIrNg1BxKEV4WAA8A+0NP9yc/9xoWy8RxbIkcz1p4JN2JhagaTKek8Fa5h5KitsA== + dependencies: + "@tanstack/query-persist-client-core" "4.32.6" + +"@tanstack/react-query-persist-client@^4.28.0": + version "4.32.6" + resolved "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-4.32.6.tgz" + integrity sha512-EmNnYpvFYpxS4j5WFeNmfVVBxqq4RDnEFDBZwNKRfb4pzukcx/hcWtwqFk7Qj0EI4Dk8QGl239MEYwJbAc83tQ== + dependencies: + "@tanstack/query-persist-client-core" "4.32.6" + +"@tanstack/react-query@^4.28.0": + version "4.32.6" + resolved "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.32.6.tgz" + integrity sha512-AITu/IKJJJXsHHeXNBy5bclu12t08usMCY0vFC2dh9SP/w6JAk5U9GwfjOIPj3p+ATADZvxQPe8UiCtMLNeQbg== + dependencies: + "@tanstack/query-core" "4.32.6" + use-sync-external-store "^1.2.0" + +"@transak/transak-sdk@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@transak/transak-sdk/-/transak-sdk-1.3.0.tgz#f353b24c4da7075617991314679b9d7b7458aced" + integrity sha512-XTKnM1OhB6r/TFkMIPczukACUUq41E5hF4cnQ6+Jn6iIjHqLgC7a4yrNlHMI2swv6yNPT0yCd2dGVUfNCjMGIQ== + dependencies: + events "^3.1.0" + query-string "^6.12.1" + request "^2.88.2" + +"@trivago/prettier-plugin-sort-imports@3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-3.2.0.tgz" + integrity sha512-DnwLe+z8t/dZX5xBbYZV1+C5STkyK/P6SSq3Nk6NXlJZsgvDZX2eN4ND7bMFgGV/NL/YChWzcNf6ziGba1ktQQ== + dependencies: + "@babel/core" "7.13.10" + "@babel/generator" "7.13.9" + "@babel/parser" "7.14.6" + "@babel/traverse" "7.13.0" + "@babel/types" "7.13.0" + javascript-natural-sort "0.7.1" + lodash "4.17.21" + +"@types/connect@^3.4.33": + version "3.4.35" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/debug@^4.1.7": + version "4.1.8" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz" + integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== + dependencies: + "@types/ms" "*" + +"@types/json-schema@^7.0.9": + version "7.0.12" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/ms@*": + version "0.7.31" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + +"@types/node@*", "@types/node@^18.16.12": + version "18.17.5" + resolved "https://registry.npmjs.org/@types/node/-/node-18.17.5.tgz" + integrity sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA== + +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-scroll@^1.8.7": + version "1.8.7" + resolved "https://registry.npmjs.org/@types/react-scroll/-/react-scroll-1.8.7.tgz" + integrity sha512-BB8g+hQL7OtBPWg/NcES6p5u6vduZonGl1BxrsGUwcefE53pfI0pFDd1lRFndgEUE6whYdFfhD+j0sZZT/6brQ== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.2.6": + version "18.2.20" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz" + integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + +"@types/trusted-types@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz" + integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== + +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz" + integrity sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg== + dependencies: + "@typescript-eslint/scope-manager" "5.19.0" + "@typescript-eslint/type-utils" "5.19.0" + "@typescript-eslint/utils" "5.19.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/parser@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.19.0.tgz" + integrity sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ== + dependencies: + "@typescript-eslint/scope-manager" "5.19.0" + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/typescript-estree" "5.19.0" + debug "^4.3.2" + +"@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^6.3.0": + version "6.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.3.0.tgz" + integrity sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg== + dependencies: + "@typescript-eslint/scope-manager" "6.3.0" + "@typescript-eslint/types" "6.3.0" + "@typescript-eslint/typescript-estree" "6.3.0" + "@typescript-eslint/visitor-keys" "6.3.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz" + integrity sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g== + dependencies: + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/visitor-keys" "5.19.0" + +"@typescript-eslint/scope-manager@6.3.0": + version "6.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.3.0.tgz" + integrity sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ== + dependencies: + "@typescript-eslint/types" "6.3.0" + "@typescript-eslint/visitor-keys" "6.3.0" + +"@typescript-eslint/type-utils@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz" + integrity sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q== + dependencies: + "@typescript-eslint/utils" "5.19.0" + debug "^4.3.2" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz" + integrity sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w== + +"@typescript-eslint/types@6.3.0": + version "6.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.3.0.tgz" + integrity sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg== + +"@typescript-eslint/typescript-estree@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz" + integrity sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw== + dependencies: + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/visitor-keys" "5.19.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@6.3.0": + version "6.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.3.0.tgz" + integrity sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg== + dependencies: + "@typescript-eslint/types" "6.3.0" + "@typescript-eslint/visitor-keys" "6.3.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz" + integrity sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.19.0" + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/typescript-estree" "5.19.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz" + integrity sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ== + dependencies: + "@typescript-eslint/types" "5.19.0" + eslint-visitor-keys "^3.0.0" + +"@typescript-eslint/visitor-keys@6.3.0": + version "6.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz" + integrity sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw== + dependencies: + "@typescript-eslint/types" "6.3.0" + eslint-visitor-keys "^3.4.1" + +"@vanilla-extract/css@1.9.1": + version "1.9.1" + resolved "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.9.1.tgz" + integrity sha512-pu2SFiff5jRhPwvGoj8cM5l/qIyLvigOmy22ss5DGjwV5pJYezRjDLxWumi2luIwioMWvh9EozCjyfH8nq+7fQ== + dependencies: + "@emotion/hash" "^0.8.0" + "@vanilla-extract/private" "^1.0.3" + ahocorasick "1.0.2" + chalk "^4.1.1" + css-what "^5.0.1" + cssesc "^3.0.0" + csstype "^3.0.7" + deep-object-diff "^1.1.0" + deepmerge "^4.2.2" + media-query-parser "^2.0.2" + outdent "^0.8.0" + +"@vanilla-extract/dynamic@2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/@vanilla-extract/dynamic/-/dynamic-2.0.2.tgz" + integrity sha512-U4nKaEQ8Kuz+exXEr51DUpyaOuzo24/S/k1YbDPQR06cYcNjQqvwFRnwWtZ+9ImocqM1wTKtzrdUgSTtLGIwAg== + dependencies: + "@vanilla-extract/private" "^1.0.3" + +"@vanilla-extract/private@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.3.tgz" + integrity sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ== + +"@vanilla-extract/sprinkles@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz" + integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== + +"@wagmi/chains@1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@wagmi/chains/-/chains-1.2.0.tgz" + integrity sha512-dmDRipsE54JfyudOBkuhEexqQWcrZqxn/qiujG8SBzMh/az/AH5xlJSA+j1CPWTx9+QofSMF3B7A4gb6XRmSaQ== + +"@wagmi/chains@1.7.0": + version "1.7.0" + resolved "https://registry.npmjs.org/@wagmi/chains/-/chains-1.7.0.tgz" + integrity sha512-TKVeHv0GqP5sV1yQ8BDGYToAFezPnCexbbBpeH14x7ywi5a1dDStPffpt9x+ytE6LJWkZ6pAMs/HNWXBQ5Nqmw== + +"@wagmi/connectors@2.7.0": + version "2.7.0" + resolved "https://registry.npmjs.org/@wagmi/connectors/-/connectors-2.7.0.tgz" + integrity sha512-1KOL0HTJl5kzSC/YdKwFwiokr6poUQn1V/tcT0TpG3iH2x0lSM7FTkvCjVVY/6lKzTXrLlo9y2aE7AsOPnkvqg== + dependencies: + "@coinbase/wallet-sdk" "^3.6.6" + "@ledgerhq/connect-kit-loader" "^1.1.0" + "@safe-global/safe-apps-provider" "^0.17.1" + "@safe-global/safe-apps-sdk" "^8.0.0" + "@walletconnect/ethereum-provider" "2.9.2" + "@walletconnect/legacy-provider" "^2.0.0" + "@walletconnect/modal" "2.6.1" + "@walletconnect/utils" "2.9.2" + abitype "0.8.7" + eventemitter3 "^4.0.7" + +"@wagmi/core@1.3.9": + version "1.3.9" + resolved "https://registry.npmjs.org/@wagmi/core/-/core-1.3.9.tgz" + integrity sha512-SrnABCrsDvhiMCLLLyzyHnZbEumsFT/XWlJJQZeyEDcixL95R7XQwOaaoRI4MpNilCtMtu3jzN57tA5Z2iA+kw== + dependencies: + "@wagmi/chains" "1.7.0" + "@wagmi/connectors" "2.7.0" + abitype "0.8.7" + eventemitter3 "^4.0.7" + zustand "^4.3.1" + +"@walletconnect/core@2.9.2": + version "2.9.2" + resolved "https://registry.npmjs.org/@walletconnect/core/-/core-2.9.2.tgz" + integrity sha512-VARMPAx8sIgodeyngDHbealP3B621PQqjqKsByFUTOep8ZI1/R/20zU+cmq6j9RCrL+kLKZcrZqeVzs8Z7OlqQ== + dependencies: + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.13" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/relay-auth" "^1.0.4" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + lodash.isequal "4.5.0" + uint8arrays "^3.1.0" + +"@walletconnect/crypto@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz" + integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== + dependencies: + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/environment" "^1.0.1" + "@walletconnect/randombytes" "^1.0.3" + aes-js "^3.1.2" + hash.js "^1.1.7" + tslib "1.14.1" + +"@walletconnect/encoding@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz" + integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== + dependencies: + is-typedarray "1.0.0" + tslib "1.14.1" + typedarray-to-buffer "3.1.5" + +"@walletconnect/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz" + integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== + dependencies: + tslib "1.14.1" + +"@walletconnect/ethereum-provider@2.9.2": + version "2.9.2" + resolved "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.2.tgz" + integrity sha512-eO1dkhZffV1g7vpG19XUJTw09M/bwGUwwhy1mJ3AOPbOSbMPvwiCuRz2Kbtm1g9B0Jv15Dl+TvJ9vTgYF8zoZg== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "^1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.3" + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/sign-client" "2.9.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/universal-provider" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + +"@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz" + integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/jsonrpc-http-connection@^1.0.4", "@walletconnect/jsonrpc-http-connection@^1.0.7": + version "1.0.7" + resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz" + integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.1" + cross-fetch "^3.1.4" + tslib "1.14.1" + +"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6": + version "1.0.13" + resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz" + integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz" + integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== + dependencies: + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" + tslib "1.14.1" + +"@walletconnect/jsonrpc-ws-connection@1.0.13": + version "1.0.13" + resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz" + integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + tslib "1.14.1" + ws "^7.5.1" + +"@walletconnect/keyvaluestorage@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz" + integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== + dependencies: + safe-json-utils "^1.1.1" + tslib "1.14.1" + +"@walletconnect/legacy-client@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz" + integrity sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA== + dependencies: + "@walletconnect/crypto" "^1.0.3" + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/legacy-utils" "^2.0.0" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "^5.3.0" + query-string "^6.13.5" + +"@walletconnect/legacy-modal@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz" + integrity sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q== + dependencies: + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/legacy-utils" "^2.0.0" + copy-to-clipboard "^3.3.3" + preact "^10.12.0" + qrcode "^1.5.1" + +"@walletconnect/legacy-provider@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz" + integrity sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.4" + "@walletconnect/jsonrpc-provider" "^1.0.6" + "@walletconnect/legacy-client" "^2.0.0" + "@walletconnect/legacy-modal" "^2.0.0" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/legacy-utils" "^2.0.0" + +"@walletconnect/legacy-types@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz" + integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + +"@walletconnect/legacy-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz" + integrity sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ== + dependencies: + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "^5.3.0" + query-string "^6.13.5" + +"@walletconnect/logger@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz" + integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== + dependencies: + pino "7.11.0" + tslib "1.14.1" + +"@walletconnect/modal-core@2.6.1": + version "2.6.1" + resolved "https://registry.npmjs.org/@walletconnect/modal-core/-/modal-core-2.6.1.tgz" + integrity sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ== + dependencies: + valtio "1.11.0" + +"@walletconnect/modal-ui@2.6.1": + version "2.6.1" + resolved "https://registry.npmjs.org/@walletconnect/modal-ui/-/modal-ui-2.6.1.tgz" + integrity sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA== + dependencies: + "@walletconnect/modal-core" "2.6.1" + lit "2.7.6" + motion "10.16.2" + qrcode "1.5.3" + +"@walletconnect/modal@2.6.1": + version "2.6.1" + resolved "https://registry.npmjs.org/@walletconnect/modal/-/modal-2.6.1.tgz" + integrity sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw== + dependencies: + "@walletconnect/modal-core" "2.6.1" + "@walletconnect/modal-ui" "2.6.1" + +"@walletconnect/randombytes@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz" + integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== + dependencies: + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/environment" "^1.0.1" + randombytes "^2.1.0" + tslib "1.14.1" + +"@walletconnect/relay-api@^1.0.9": + version "1.0.9" + resolved "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz" + integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/relay-auth@^1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + dependencies: + "@stablelib/ed25519" "^1.0.2" + "@stablelib/random" "^1.0.1" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + uint8arrays "^3.0.0" + +"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz" + integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== + dependencies: + tslib "1.14.1" + +"@walletconnect/sign-client@2.9.2": + version "2.9.2" + resolved "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.9.2.tgz" + integrity sha512-anRwnXKlR08lYllFMEarS01hp1gr6Q9XUgvacr749hoaC/AwGVlxYFdM8+MyYr3ozlA+2i599kjbK/mAebqdXg== + dependencies: + "@walletconnect/core" "2.9.2" + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + +"@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.9.2": + version "2.9.2" + resolved "https://registry.npmjs.org/@walletconnect/types/-/types-2.9.2.tgz" + integrity sha512-7Rdn30amnJEEal4hk83cdwHUuxI1SWQ+K7fFFHBMqkuHLGi3tpMY6kpyfDxnUScYEZXqgRps4Jo5qQgnRqVM7A== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + events "^3.3.0" + +"@walletconnect/universal-provider@2.9.2": + version "2.9.2" + resolved "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.9.2.tgz" + integrity sha512-JmaolkO8D31UdRaQCHwlr8uIFUI5BYhBzqYFt54Mc6gbIa1tijGOmdyr6YhhFO70LPmS6gHIjljwOuEllmlrxw== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/sign-client" "2.9.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + +"@walletconnect/utils@2.9.2": + version "2.9.2" + resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.9.2.tgz" + integrity sha512-D44hwXET/8JhhIjqljY6qxSu7xXnlPrf63UN/Qfl98vDjWlYVcDl2+JIQRxD9GPastw0S8XZXdRq59XDXLuZBg== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "^1.0.3" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "^3.1.0" + +"@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + dependencies: + tslib "1.14.1" + +"@walletconnect/window-metadata@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abitype@0.8.7: + version "0.8.7" + resolved "https://registry.npmjs.org/abitype/-/abitype-0.8.7.tgz" + integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +aes-js@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz" + integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== + +agentkeepalive@^4.3.0: + version "4.5.0" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +ahocorasick@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/ahocorasick/-/ahocorasick-1.0.2.tgz" + integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA== + +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^5.1.3: + version "5.3.0" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.3, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlastindex@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz" + integrity sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + +array.prototype.flat@^1.2.4, array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.2.4, array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + +arraybuffer.prototype.slice@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz" + integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-mutex@^0.2.6: + version "0.2.6" + resolved "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== + dependencies: + tslib "^2.0.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +autoprefixer@^10.4.14: + version "10.4.14" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== + dependencies: + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axe-core@^4.6.2: + version "4.7.2" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz" + integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g== + +axios@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" + integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axobject-query@^3.1.1: + version "3.2.1" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== + dependencies: + dequal "^2.0.3" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2: + version "3.0.9" + resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bind-decorator@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz" + integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== + +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.5, browserslist@^4.21.9: + version "4.21.10" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz" + integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== + dependencies: + caniuse-lite "^1.0.30001517" + electron-to-chromium "^1.4.477" + node-releases "^2.0.13" + update-browserslist-db "^1.0.11" + +bs58@^4.0.0, bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@^4.0.1: + version "4.0.7" + resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz" + integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== + dependencies: + node-gyp-build "^4.3.0" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +busboy@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001517: + version "1.0.30001519" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz" + integrity sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^3.1.1: + version "3.8.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clsx@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + +clsx@^1.1.0: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +contains-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/contains-path/-/contains-path-1.0.0.tgz" + integrity sha512-nsTUCGt1AyU3dHIfoE/vgbaU6GMV/FVZgVGpg4x4DnWggpelA9qGqaR9z7SbTM0O17F09F1Oo1bsEmCu+bl0fg== + dependencies: + normalize-path "^2.1.1" + path-starts-with "^1.0.0" + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +copy-to-clipboard@^3.3.3: + version "3.3.3" + resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +cross-fetch@^3.1.4, cross-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-what@^5.0.1: + version "5.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.0.2, csstype@^3.0.7: + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deep-object-diff@^1.1.0: + version "1.1.9" + resolved "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz" + integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +detect-browser@5.3.0, detect-browser@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +duplexify@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.4.477: + version "1.4.490" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.490.tgz" + integrity sha512-6s7NVJz+sATdYnIwhdshx/N/9O6rvMxmhVoDSDFdj6iA45gHR8EQje70+RYsF4GeB+k0IeNSBnP7yG9ZXJFr7A== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.12.0: + version "5.15.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.5: + version "2.4.1" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: + version "1.22.1" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz" + integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.1" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.1" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.0" + safe-array-concat "^1.0.0" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.10" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-next@^13.4.3: + version "13.4.13" + resolved "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.13.tgz" + integrity sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw== + dependencies: + "@next/eslint-plugin-next" "13.4.13" + "@rushstack/eslint-patch" "^1.1.3" + "@typescript-eslint/parser" "^5.4.2 || ^6.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^3.5.2" + eslint-plugin-import "^2.26.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.31.7" + eslint-plugin-react-hooks "5.0.0-canary-7118f5dd7-20230705" + +eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: + version "0.3.9" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-import-resolver-typescript@^3.5.2: + version "3.6.0" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz" + integrity sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg== + dependencies: + debug "^4.3.4" + enhanced-resolve "^5.12.0" + eslint-module-utils "^2.7.4" + fast-glob "^3.3.1" + get-tsconfig "^4.5.0" + is-core-module "^2.11.0" + is-glob "^4.0.3" + +eslint-module-utils@^2.6.1, eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@2.23.2: + version "2.23.2" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz" + integrity sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + contains-path "^1.0.0" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.4.0" + minimatch "^3.0.4" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-import@^2.26.0: + version "2.28.0" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz" + integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q== + dependencies: + array-includes "^3.1.6" + array.prototype.findlastindex "^1.2.2" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.8.0" + has "^1.0.3" + is-core-module "^2.12.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.6" + object.groupby "^1.0.0" + object.values "^1.1.6" + resolve "^1.22.3" + semver "^6.3.1" + tsconfig-paths "^3.14.2" + +eslint-plugin-jsx-a11y@^6.5.1: + version "6.7.1" + resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz" + integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== + dependencies: + "@babel/runtime" "^7.20.7" + aria-query "^5.1.3" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + ast-types-flow "^0.0.7" + axe-core "^4.6.2" + axobject-query "^3.1.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.3.3" + language-tags "=1.0.5" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + semver "^6.3.0" + +eslint-plugin-prettier@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz" + integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== + +eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705: + version "5.0.0-canary-7118f5dd7-20230705" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz" + integrity sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw== + +eslint-plugin-react@7.23.2: + version "7.23.2" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz" + integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw== + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" + +eslint-plugin-react@^7.31.7: + version "7.33.1" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz" + integrity sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.1" + string.prototype.matchall "^4.0.8" + +eslint-plugin-sonarjs@0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.7.0.tgz" + integrity sha512-vi6zGkd5Eznc32AQlleWUOMrMeDiUih9wR7nPPfrDCyVRmwYNHIBRPZGv1EgXwELwaPghCSvoAoHoR7uSbBF/Q== + +eslint-plugin-unicorn@32.0.1: + version "32.0.1" + resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-32.0.1.tgz" + integrity sha512-LaZ9utnXtOJjnoDkpm+nQsONUUmyRR0WD6PGROSdQRRW3LRmgK/ZP8wxjW+Ai+2uolKTtuJzLx2mvbIeIoLqpg== + dependencies: + ci-info "^3.1.1" + clean-regexp "^1.0.0" + eslint-template-visitor "^2.3.2" + eslint-utils "^2.1.0" + import-modules "^2.1.0" + is-builtin-module "^3.1.0" + lodash "^4.17.21" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.23" + reserved-words "^0.1.2" + safe-regex "^2.1.1" + semver "^7.3.5" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-template-visitor@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" + integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== + dependencies: + "@babel/core" "^7.12.16" + "@babel/eslint-parser" "^7.12.16" + eslint-visitor-keys "^2.0.0" + esquery "^1.3.1" + multimap "^1.1.0" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.4.1: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@7.32.0: + version "7.32.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.3.1, esquery@^1.4.0: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eth-block-tracker@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz" + integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + "@metamask/utils" "^3.0.1" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + +eth-json-rpc-filters@5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz" + integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + async-mutex "^0.2.6" + eth-query "^2.1.2" + json-rpc-engine "^6.1.0" + pify "^5.0.0" + +eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@4.0.2, eth-rpc-errors@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz" + integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== + dependencies: + fast-safe-stringify "^2.0.6" + +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.1.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.12, fast-glob@^3.2.9, fast-glob@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-redact@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz" + integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== + +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-tsconfig@^4.5.0: + version "4.7.0" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.0.tgz" + integrity sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw== + dependencies: + resolve-pkg-maps "^1.0.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@7.1.7, glob@^7.1.3: + version "7.1.7" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.21.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz" + integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.8, ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-modules@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz" + integrity sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-builtin-module@^3.1.0: + version "3.2.1" + resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.11.0, is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.4.0, is-core-module@^2.9.0: + version "2.13.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isomorphic-ws@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +javascript-natural-sort@0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz" + integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== + +jayson@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz" + integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.4.5" + +jiti@^1.18.2: + version "1.19.1" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz" + integrity sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + eth-rpc-errors "^4.0.2" + +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: + version "3.3.5" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keccak@^3.0.1: + version "3.0.3" + resolved "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz" + integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== + +language-subtag-registry@~0.3.2: + version "0.3.22" + resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@=1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" + integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== + dependencies: + language-subtag-registry "~0.3.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.0.5, lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lit-element@^3.3.0: + version "3.3.3" + resolved "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz" + integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.1.0" + "@lit/reactive-element" "^1.3.0" + lit-html "^2.8.0" + +lit-html@^2.7.0, lit-html@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz" + integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@2.7.6: + version "2.7.6" + resolved "https://registry.npmjs.org/lit/-/lit-2.7.6.tgz" + integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg== + dependencies: + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.7.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@4.17.21, lodash@^4.17.19, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +media-query-parser@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz" + integrity sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w== + dependencies: + "@babel/runtime" "^7.12.5" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +motion@10.16.2: + version "10.16.2" + resolved "https://registry.npmjs.org/motion/-/motion-10.16.2.tgz" + integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/dom" "^10.16.2" + "@motionone/svelte" "^10.16.2" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + "@motionone/vue" "^10.16.2" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2, ms@^2.0.0, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +multimap@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" + integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.4, nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +next@^13.4.3: + version "13.4.13" + resolved "https://registry.npmjs.org/next/-/next-13.4.13.tgz" + integrity sha512-A3YVbVDNeXLhWsZ8Nf6IkxmNlmTNz0yVg186NJ97tGZqPDdPzTrHotJ+A1cuJm2XfuWPrKOUZILl5iBQkIf8Jw== + dependencies: + "@next/env" "13.4.13" + "@swc/helpers" "0.5.1" + busboy "1.6.0" + caniuse-lite "^1.0.30001406" + postcss "8.4.14" + styled-jsx "5.1.1" + watchpack "2.4.0" + zod "3.21.4" + optionalDependencies: + "@next/swc-darwin-arm64" "13.4.13" + "@next/swc-darwin-x64" "13.4.13" + "@next/swc-linux-arm64-gnu" "13.4.13" + "@next/swc-linux-arm64-musl" "13.4.13" + "@next/swc-linux-x64-gnu" "13.4.13" + "@next/swc-linux-x64-musl" "13.4.13" + "@next/swc-win32-arm64-msvc" "13.4.13" + "@next/swc-win32-ia32-msvc" "13.4.13" + "@next/swc-win32-x64-msvc" "13.4.13" + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-fetch@^2.6.12: + version "2.6.12" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + dependencies: + whatwg-url "^5.0.0" + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.3, object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.4, object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.groupby@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz" + integrity sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.21.2" + get-intrinsic "^1.2.1" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.3, object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +outdent@^0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz" + integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-starts-with@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/path-starts-with/-/path-starts-with-1.0.0.tgz" + integrity sha512-CQVfSVN+llYh2D0HWG0jUGJ1ua9VbQyANgIo7cBis37FcpKiN13qh7UxttQqXtgcMZgzjpk/9RktoN6up/XLBQ== + dependencies: + normalize-path "^2.1.1" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz" + integrity sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg== + dependencies: + find-up "^2.1.0" + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz" + integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== + dependencies: + lilconfig "^2.0.5" + yaml "^2.1.1" + +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== + dependencies: + postcss-selector-parser "^6.0.11" + +postcss-selector-parser@^6.0.11: + version "6.0.13" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.23, postcss@^8.4.27: + version "8.4.27" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz" + integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +preact@^10.12.0, preact@^10.5.9: + version "10.16.0" + resolved "https://registry.npmjs.org/preact/-/preact-10.16.0.tgz" + integrity sha512-XTSj3dJ4roKIC93pald6rWuB2qQJO9gO2iLLyTe87MrjQN+HklueLsmskbywEWqCHlclgz3/M4YLL2iBr9UmMA== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz" + integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== + +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-compare@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz" + integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +psl@^1.1.28: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +qrcode@1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz" + integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qrcode@1.5.3, qrcode@^1.5.1: + version "1.5.3" + resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@^6.10.3: + version "6.11.2" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +query-string@^6.12.1, query-string@^6.13.5: + version "6.14.1" + resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-remove-scroll-bar@^2.3.3: + version "2.3.4" + resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz" + integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== + dependencies: + react-style-singleton "^2.2.1" + tslib "^2.0.0" + +react-remove-scroll@2.5.4: + version "2.5.4" + resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz" + integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== + dependencies: + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-scroll@^1.8.9: + version "1.8.9" + resolved "https://registry.npmjs.org/react-scroll/-/react-scroll-1.8.9.tgz" + integrity sha512-9m7ztraiX/l6L7erzYAD3fhnveNckei6/NkWfqwN2e0FRdoE2W6Pk4oi2Nah7mWpPCPAeIgegfaqZACTimPOwg== + dependencies: + lodash.throttle "^4.1.1" + prop-types "^15.7.2" + +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + +react@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regexp-tree@^0.1.23, regexp-tree@~0.1.1: + version "0.1.27" + resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + +regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + +regexpp@^3.1.0, regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +reserved-words@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz" + integrity sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.3, resolve@^1.22.4: + version "1.22.4" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" + integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.3, resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rpc-websockets@^7.5.1: + version "7.5.1" + resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.5.1.tgz" + integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w== + dependencies: + "@babel/runtime" "^7.17.2" + eventemitter3 "^4.0.7" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-array-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz" + integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-json-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz" + integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +safe-regex@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" + integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== + dependencies: + regexp-tree "~0.1.1" + +safe-stable-stringify@^2.1.0: + version "2.4.3" + resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" + integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== + +safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.2.1, semver@^7.3.5, semver@^7.3.8, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.4, string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" + +sucrase@^3.32.0: + version "3.34.0" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz" + integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +superstruct@^0.14.2: + version "0.14.2" + resolved "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz" + integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== + +superstruct@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz" + integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tailwindcss@^3.3.3: + version "3.3.3" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz" + integrity sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.12" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.18.2" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-api-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz" + integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A== + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +tsconfig-paths@^3.14.2, tsconfig-paths@^3.9.0: + version "3.14.2" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: + version "2.6.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz" + integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray-to-buffer@3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^5.0.4: + version "5.1.6" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== + +uint8arrays@^3.0.0, uint8arrays@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +use-callback-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz" + integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== + dependencies: + tslib "^2.0.0" + +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + +use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.4: + version "0.12.5" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +valtio@1.11.0: + version "1.11.0" + resolved "https://registry.npmjs.org/valtio/-/valtio-1.11.0.tgz" + integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg== + dependencies: + proxy-compare "2.5.1" + use-sync-external-store "1.2.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +viem@^1.0.0, viem@~1.1.8: + version "1.1.8" + resolved "https://registry.npmjs.org/viem/-/viem-1.1.8.tgz" + integrity sha512-sMIbBu/rKI4paCWvCxpDNAT7vO9nCtu9SKXdVk5lwMVRL/HmMFCiIBtvRO0IiqlrvZTFCWnPEMn7ndNRyb+NCQ== + dependencies: + "@adraffy/ens-normalize" "1.9.0" + "@noble/curves" "1.0.0" + "@noble/hashes" "1.3.0" + "@scure/bip32" "1.3.0" + "@scure/bip39" "1.2.0" + "@wagmi/chains" "1.2.0" + abitype "0.8.7" + isomorphic-ws "5.0.0" + ws "8.12.0" + +wagmi@~1.3.2: + version "1.3.10" + resolved "https://registry.npmjs.org/wagmi/-/wagmi-1.3.10.tgz" + integrity sha512-MMGJcnxOmeUZWDmzUxgRGcB1cqxbJoSFSa+pNY4vBCWMz0n4ptpE5F8FKISLCx+BGoDwsaz2ldcMALcdJZ+29w== + dependencies: + "@tanstack/query-sync-storage-persister" "^4.27.1" + "@tanstack/react-query" "^4.28.0" + "@tanstack/react-query-persist-client" "^4.28.0" + "@wagmi/core" "1.3.9" + abitype "0.8.7" + use-sync-external-store "^1.2.0" + +watchpack@2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.10, which-typed-array@^1.1.11, which-typed-array@^1.1.2: + version "1.1.11" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.12.0, ws@^8.5.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== + +ws@^7.4.5, ws@^7.5.1: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^2.1.1: + version "2.3.1" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +zod@3.21.4: + version "3.21.4" + resolved "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz" + integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== + +zustand@^4.3.1: + version "4.4.1" + resolved "https://registry.npmjs.org/zustand/-/zustand-4.4.1.tgz" + integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== + dependencies: + use-sync-external-store "1.2.0"